From 448e8a92fcfa053b48f7b6507bae2c94508969f4 Mon Sep 17 00:00:00 2001 From: sasha-astiadi Date: Mon, 16 Sep 2024 17:27:49 +0200 Subject: [PATCH] ok --- .next/app-build-manifest.json | 29 +- .next/build-manifest.json | 20 +- .../webpack/client-development/0.pack.gz | Bin 4033 -> 34960 bytes .../webpack/client-development/index.pack.gz | Bin 241798 -> 2299 bytes .../client-development/index.pack.gz.old | Bin 240791 -> 241798 bytes .next/fallback-build-manifest.json | 27 - .next/server/_error.js | 76 - .next/server/app-paths-manifest.json | 5 +- .next/server/app/(main)/page.js | 981 ----- .../(main)/page_client-reference-manifest.js | 1 - .next/server/app/events/versefest/page.js | 938 ----- .../page_client-reference-manifest.js | 1 - .next/server/app/favicon.ico/route.js | 66 - .next/server/middleware-build-manifest.js | 19 +- .next/server/next-font-manifest.js | 2 +- .next/server/next-font-manifest.json | 2 +- .next/server/pages-manifest.json | 6 +- .next/server/pages/_app.js | 46 - .next/server/pages/_document.js | 66 - .next/server/pages/_error.js | 76 - .next/server/server-reference-manifest.js | 2 +- .next/server/server-reference-manifest.json | 2 +- .next/server/vendor-chunks/@headlessui.js | 337 -- .next/server/vendor-chunks/@heroicons.js | 235 -- .next/server/vendor-chunks/@react-aria.js | 135 - .next/server/vendor-chunks/@swc.js | 95 - .next/server/vendor-chunks/clsx.js | 35 - .next/server/vendor-chunks/next.js | 3281 ----------------- .next/server/webpack-runtime.js | 215 -- .next/static/chunks/_error.js | 28 - .next/static/chunks/app-pages-internals.js | 138 - .next/static/chunks/app/(main)/layout.js | 347 -- .next/static/chunks/app/(main)/page.js | 1203 ------ .../chunks/app/events/versefest/page.js | 1357 ------- .next/static/chunks/app/layout.js | 69 - .next/static/chunks/app/not-found.js | 510 --- .next/static/chunks/fallback/amp.js | 841 ----- .next/static/chunks/fallback/main.js | 1946 ---------- .next/static/chunks/fallback/pages/_app.js | 28 - .next/static/chunks/fallback/pages/_error.js | 28 - .next/static/chunks/fallback/react-refresh.js | 62 - .next/static/chunks/fallback/webpack.js | 1218 ------ .next/static/chunks/main-app.js | 1989 ---------- .next/static/chunks/main.js | 1946 ---------- .next/static/chunks/pages/_app.js | 28 - .next/static/chunks/pages/_error.js | 28 - .next/static/chunks/react-refresh.js | 62 - .next/static/chunks/webpack.js | 1410 ------- .next/static/css/app/layout.css | 2214 ----------- .next/static/development/_buildManifest.js | 2 +- .next/static/media/26a46d62cd723877-s.woff2 | Bin 18820 -> 0 bytes .next/static/media/55c55f0601d81cf3-s.woff2 | Bin 25908 -> 0 bytes .next/static/media/56d4c7a1c09c3371-s.woff2 | Bin 18076 -> 0 bytes .next/static/media/581909926a08bbc8-s.woff2 | Bin 19072 -> 0 bytes .next/static/media/6d93bde91c0c2823-s.woff2 | Bin 74316 -> 0 bytes .next/static/media/7e6a2e30184bb114-s.p.woff2 | Bin 36772 -> 0 bytes .next/static/media/97e0cb1ae144a2a9-s.woff2 | Bin 11220 -> 0 bytes .next/static/media/a34f9d1faa5f3315-s.p.woff2 | Bin 48556 -> 0 bytes .../static/media/adnan_fatayerji.2fcd49a9.jpg | Bin 86815 -> 0 bytes .next/static/media/andrew-greene.b3513453.jpg | Bin 368639 -> 0 bytes .../media/background-newsletter.488a0204.jpg | Bin 120411 -> 0 bytes .next/static/media/background.6c3571e0.jpg | Bin 145537 -> 0 bytes .../media/cathlene-burrage.1651afc0.jpg | Bin 422606 -> 0 bytes .../static/media/damaris-kimura.5df6b6b2.jpg | Bin 485025 -> 0 bytes .next/static/media/df0a9ae256c0569c-s.woff2 | Bin 10280 -> 0 bytes .../media/dianne-guilianelli.b4c5891f.jpg | Bin 402053 -> 0 bytes .../static/media/erhart-cockrin.3697fef6.jpg | Bin 561720 -> 0 bytes .../media/florian_fournier.a44a2086.jpeg | Bin 109856 -> 0 bytes .../media/giordano-sagucio.2d66325a.jpg | Bin 500677 -> 0 bytes .../media/gordon-sanderson.88b5e762.jpg | Bin 540324 -> 0 bytes .next/static/media/heather-terry.3aaa9642.jpg | Bin 1156617 -> 0 bytes .../static/media/ibrahim-frasch.56350f5a.jpg | Bin 367832 -> 0 bytes .next/static/media/jaquelin-isch.880e5248.jpg | Bin 342228 -> 0 bytes .../media/kimberly-parsons.0e123ad0.jpg | Bin 428875 -> 0 bytes .../media/kristof_de_spiegeleer.f8a3f975.jpeg | Bin 108005 -> 0 bytes .../media/matthew_schutte.b0043b24.jpeg | Bin 149996 -> 0 bytes .next/static/media/mirage.b4872b78.svg | 1 - .../static/media/omrei_abumadi.c2ce865b.jpeg | Bin 63800 -> 0 bytes .../static/media/parker-johnson.3f6d7276.jpg | Bin 663493 -> 0 bytes .next/static/media/piers-wilkins.c197a055.jpg | Bin 379442 -> 0 bytes .../static/media/richard-astley.599fe903.jpg | Bin 591814 -> 0 bytes .../static/media/rinaldo-beynon.c48f36b7.jpg | Bin 458142 -> 0 bytes .../static/media/ronni-cantadore.0d04b7fe.jpg | Bin 536540 -> 0 bytes .../static/media/sasha_astiadi.ecd50daf.jpeg | Bin 52534 -> 0 bytes .next/static/media/statickit.f39ab0e3.svg | 1 - .next/static/media/steven-mchail.4e94472e.jpg | Bin 427887 -> 0 bytes .next/static/media/transistor.20c106ae.svg | 1 - .next/static/media/tuple.7c6d6466.svg | 1 - .../media/victor_muhagachi.46938b4a.jpeg | Bin 93925 -> 0 bytes .next/static/media/waylon-hyden.4c037cf5.jpg | Bin 329126 -> 0 bytes .../00d6a2162f81ace9.webpack.hot-update.json | 1 - .../0aafa31d5b32ce19.webpack.hot-update.json | 1 - .../13f8832333be1c5c.webpack.hot-update.json | 1 - .../1ce1b586ebe4ba58.webpack.hot-update.json | 1 - .../375fbe0afa497dcd.webpack.hot-update.json | 1 - .../4a615bd53cdc6281.webpack.hot-update.json | 1 - .../4bf6f61ea892f6db.webpack.hot-update.json | 1 - .../562f614aeb73eca8.webpack.hot-update.json | 1 - .../5a63a943dbca9613.webpack.hot-update.json | 1 - .../5a897722e76d5839.webpack.hot-update.json | 1 - .../62356f7b7b61cd07.webpack.hot-update.json | 1 - .../633457081244afec._.hot-update.json | 1 - .../6349ee7a488d1a94.webpack.hot-update.json | 1 - .../6b7062144bb75fe3.webpack.hot-update.json | 1 - .../73571cd725d920c0.webpack.hot-update.json | 1 - .../74fde7bae5463489.webpack.hot-update.json | 1 - .../7bc6f6a4b87f5145.webpack.hot-update.json | 1 - .../7bd74036bd69b400.webpack.hot-update.json | 1 - .../86c226b773728459.webpack.hot-update.json | 1 - .../989caf06ac2ac5dd.webpack.hot-update.json | 1 - .../a1290a840e77f88c.webpack.hot-update.json | 1 - .../a54ef714109fc599.webpack.hot-update.json | 1 - .../a916fb8624ae19e3.webpack.hot-update.json | 1 - .../ab4ccf8759f4ff09.webpack.hot-update.json | 1 - .../ad57e2303a562e41.webpack.hot-update.json | 1 - .../page.00d6a2162f81ace9.hot-update.js | 22 - .../page.13f8832333be1c5c.hot-update.js | 22 - .../page.6349ee7a488d1a94.hot-update.js | 22 - .../page.7bc6f6a4b87f5145.hot-update.js | 22 - .../page.ca8e7f53136db4f9.hot-update.js | 22 - .../page.00d6a2162f81ace9.hot-update.js | 22 - .../page.13f8832333be1c5c.hot-update.js | 22 - .../page.6349ee7a488d1a94.hot-update.js | 22 - .../page.73571cd725d920c0.hot-update.js | 22 - .../page.989caf06ac2ac5dd.hot-update.js | 109 - .../page.ca8e7f53136db4f9.hot-update.js | 22 - .../page.e427392d1c1f9097.hot-update.js | 22 - .../page.e88fc6fa46dd79a3.hot-update.js | 22 - .../page.e8b0269410ae9914.hot-update.js | 21 - .../app/layout.00d6a2162f81ace9.hot-update.js | 22 - .../app/layout.0aafa31d5b32ce19.hot-update.js | 22 - .../app/layout.13f8832333be1c5c.hot-update.js | 22 - .../app/layout.1ce1b586ebe4ba58.hot-update.js | 22 - .../app/layout.375fbe0afa497dcd.hot-update.js | 22 - .../app/layout.4a615bd53cdc6281.hot-update.js | 22 - .../app/layout.4bf6f61ea892f6db.hot-update.js | 22 - .../app/layout.562f614aeb73eca8.hot-update.js | 22 - .../app/layout.5a63a943dbca9613.hot-update.js | 22 - .../app/layout.5a897722e76d5839.hot-update.js | 22 - .../app/layout.6349ee7a488d1a94.hot-update.js | 22 - .../app/layout.6b7062144bb75fe3.hot-update.js | 22 - .../app/layout.73571cd725d920c0.hot-update.js | 22 - .../app/layout.7bc6f6a4b87f5145.hot-update.js | 22 - .../app/layout.7bd74036bd69b400.hot-update.js | 22 - .../app/layout.86c226b773728459.hot-update.js | 22 - .../app/layout.989caf06ac2ac5dd.hot-update.js | 22 - .../app/layout.a1290a840e77f88c.hot-update.js | 22 - .../app/layout.a54ef714109fc599.hot-update.js | 22 - .../app/layout.a916fb8624ae19e3.hot-update.js | 22 - .../app/layout.ab4ccf8759f4ff09.hot-update.js | 22 - .../app/layout.ad57e2303a562e41.hot-update.js | 22 - .../app/layout.b97518375796d425.hot-update.js | 22 - .../app/layout.ca8e7f53136db4f9.hot-update.js | 22 - .../app/layout.cb538f1c87f0fe88.hot-update.js | 22 - .../app/layout.d42101fc54b8398d.hot-update.js | 22 - .../app/layout.e427392d1c1f9097.hot-update.js | 22 - .../app/layout.e88fc6fa46dd79a3.hot-update.js | 22 - .../app/layout.e8b0269410ae9914.hot-update.js | 22 - .../app/layout.fd4c4f821cbf2ac0.hot-update.js | 22 - .../b97518375796d425.webpack.hot-update.json | 1 - .../ca8e7f53136db4f9.webpack.hot-update.json | 1 - .../cb538f1c87f0fe88.webpack.hot-update.json | 1 - .../d42101fc54b8398d.webpack.hot-update.json | 1 - .../e427392d1c1f9097.webpack.hot-update.json | 1 - .../e88fc6fa46dd79a3.webpack.hot-update.json | 1 - .../e8b0269410ae9914.webpack.hot-update.json | 1 - .../fd4c4f821cbf2ac0.webpack.hot-update.json | 1 - .../webpack.00d6a2162f81ace9.hot-update.js | 18 - .../webpack.0aafa31d5b32ce19.hot-update.js | 18 - .../webpack.13f8832333be1c5c.hot-update.js | 18 - .../webpack.1ce1b586ebe4ba58.hot-update.js | 18 - .../webpack.375fbe0afa497dcd.hot-update.js | 18 - .../webpack.4a615bd53cdc6281.hot-update.js | 18 - .../webpack.4bf6f61ea892f6db.hot-update.js | 18 - .../webpack.562f614aeb73eca8.hot-update.js | 18 - .../webpack.5a63a943dbca9613.hot-update.js | 18 - .../webpack.5a897722e76d5839.hot-update.js | 18 - .../webpack.62356f7b7b61cd07.hot-update.js | 18 - .../webpack.6349ee7a488d1a94.hot-update.js | 18 - .../webpack.6b7062144bb75fe3.hot-update.js | 18 - .../webpack.73571cd725d920c0.hot-update.js | 18 - .../webpack.74fde7bae5463489.hot-update.js | 18 - .../webpack.7bc6f6a4b87f5145.hot-update.js | 18 - .../webpack.7bd74036bd69b400.hot-update.js | 18 - .../webpack.86c226b773728459.hot-update.js | 18 - .../webpack.989caf06ac2ac5dd.hot-update.js | 18 - .../webpack.a1290a840e77f88c.hot-update.js | 18 - .../webpack.a54ef714109fc599.hot-update.js | 18 - .../webpack.a916fb8624ae19e3.hot-update.js | 18 - .../webpack.ab4ccf8759f4ff09.hot-update.js | 18 - .../webpack.ad57e2303a562e41.hot-update.js | 18 - .../webpack.b97518375796d425.hot-update.js | 18 - .../webpack.ca8e7f53136db4f9.hot-update.js | 18 - .../webpack.cb538f1c87f0fe88.hot-update.js | 18 - .../webpack.d42101fc54b8398d.hot-update.js | 18 - .../webpack.e427392d1c1f9097.hot-update.js | 18 - .../webpack.e88fc6fa46dd79a3.hot-update.js | 18 - .../webpack.e8b0269410ae9914.hot-update.js | 18 - .../webpack.fd4c4f821cbf2ac0.hot-update.js | 18 - .next/trace | 67 +- .next/types/app/(main)/layout.ts | 79 - .next/types/app/(main)/page.ts | 79 - .next/types/app/events/versefest/page.ts | 79 - .next/types/app/layout.ts | 79 - 204 files changed, 31 insertions(+), 24171 deletions(-) delete mode 100644 .next/fallback-build-manifest.json delete mode 100644 .next/server/_error.js delete mode 100644 .next/server/app/(main)/page.js delete mode 100644 .next/server/app/(main)/page_client-reference-manifest.js delete mode 100644 .next/server/app/events/versefest/page.js delete mode 100644 .next/server/app/events/versefest/page_client-reference-manifest.js delete mode 100644 .next/server/app/favicon.ico/route.js delete mode 100644 .next/server/pages/_app.js delete mode 100644 .next/server/pages/_document.js delete mode 100644 .next/server/pages/_error.js delete mode 100644 .next/server/vendor-chunks/@headlessui.js delete mode 100644 .next/server/vendor-chunks/@heroicons.js delete mode 100644 .next/server/vendor-chunks/@react-aria.js delete mode 100644 .next/server/vendor-chunks/@swc.js delete mode 100644 .next/server/vendor-chunks/clsx.js delete mode 100644 .next/server/vendor-chunks/next.js delete mode 100644 .next/server/webpack-runtime.js delete mode 100644 .next/static/chunks/_error.js delete mode 100644 .next/static/chunks/app-pages-internals.js delete mode 100644 .next/static/chunks/app/(main)/layout.js delete mode 100644 .next/static/chunks/app/(main)/page.js delete mode 100644 .next/static/chunks/app/events/versefest/page.js delete mode 100644 .next/static/chunks/app/layout.js delete mode 100644 .next/static/chunks/app/not-found.js delete mode 100644 .next/static/chunks/fallback/amp.js delete mode 100644 .next/static/chunks/fallback/main.js delete mode 100644 .next/static/chunks/fallback/pages/_app.js delete mode 100644 .next/static/chunks/fallback/pages/_error.js delete mode 100644 .next/static/chunks/fallback/react-refresh.js delete mode 100644 .next/static/chunks/fallback/webpack.js delete mode 100644 .next/static/chunks/main-app.js delete mode 100644 .next/static/chunks/main.js delete mode 100644 .next/static/chunks/pages/_app.js delete mode 100644 .next/static/chunks/pages/_error.js delete mode 100644 .next/static/chunks/react-refresh.js delete mode 100644 .next/static/chunks/webpack.js delete mode 100644 .next/static/css/app/layout.css delete mode 100644 .next/static/media/26a46d62cd723877-s.woff2 delete mode 100644 .next/static/media/55c55f0601d81cf3-s.woff2 delete mode 100644 .next/static/media/56d4c7a1c09c3371-s.woff2 delete mode 100644 .next/static/media/581909926a08bbc8-s.woff2 delete mode 100644 .next/static/media/6d93bde91c0c2823-s.woff2 delete mode 100644 .next/static/media/7e6a2e30184bb114-s.p.woff2 delete mode 100644 .next/static/media/97e0cb1ae144a2a9-s.woff2 delete mode 100644 .next/static/media/a34f9d1faa5f3315-s.p.woff2 delete mode 100644 .next/static/media/adnan_fatayerji.2fcd49a9.jpg delete mode 100644 .next/static/media/andrew-greene.b3513453.jpg delete mode 100644 .next/static/media/background-newsletter.488a0204.jpg delete mode 100644 .next/static/media/background.6c3571e0.jpg delete mode 100644 .next/static/media/cathlene-burrage.1651afc0.jpg delete mode 100644 .next/static/media/damaris-kimura.5df6b6b2.jpg delete mode 100644 .next/static/media/df0a9ae256c0569c-s.woff2 delete mode 100644 .next/static/media/dianne-guilianelli.b4c5891f.jpg delete mode 100644 .next/static/media/erhart-cockrin.3697fef6.jpg delete mode 100644 .next/static/media/florian_fournier.a44a2086.jpeg delete mode 100644 .next/static/media/giordano-sagucio.2d66325a.jpg delete mode 100644 .next/static/media/gordon-sanderson.88b5e762.jpg delete mode 100644 .next/static/media/heather-terry.3aaa9642.jpg delete mode 100644 .next/static/media/ibrahim-frasch.56350f5a.jpg delete mode 100644 .next/static/media/jaquelin-isch.880e5248.jpg delete mode 100644 .next/static/media/kimberly-parsons.0e123ad0.jpg delete mode 100644 .next/static/media/kristof_de_spiegeleer.f8a3f975.jpeg delete mode 100644 .next/static/media/matthew_schutte.b0043b24.jpeg delete mode 100644 .next/static/media/mirage.b4872b78.svg delete mode 100644 .next/static/media/omrei_abumadi.c2ce865b.jpeg delete mode 100644 .next/static/media/parker-johnson.3f6d7276.jpg delete mode 100644 .next/static/media/piers-wilkins.c197a055.jpg delete mode 100644 .next/static/media/richard-astley.599fe903.jpg delete mode 100644 .next/static/media/rinaldo-beynon.c48f36b7.jpg delete mode 100644 .next/static/media/ronni-cantadore.0d04b7fe.jpg delete mode 100644 .next/static/media/sasha_astiadi.ecd50daf.jpeg delete mode 100644 .next/static/media/statickit.f39ab0e3.svg delete mode 100644 .next/static/media/steven-mchail.4e94472e.jpg delete mode 100644 .next/static/media/transistor.20c106ae.svg delete mode 100644 .next/static/media/tuple.7c6d6466.svg delete mode 100644 .next/static/media/victor_muhagachi.46938b4a.jpeg delete mode 100644 .next/static/media/waylon-hyden.4c037cf5.jpg delete mode 100644 .next/static/webpack/00d6a2162f81ace9.webpack.hot-update.json delete mode 100644 .next/static/webpack/0aafa31d5b32ce19.webpack.hot-update.json delete mode 100644 .next/static/webpack/13f8832333be1c5c.webpack.hot-update.json delete mode 100644 .next/static/webpack/1ce1b586ebe4ba58.webpack.hot-update.json delete mode 100644 .next/static/webpack/375fbe0afa497dcd.webpack.hot-update.json delete mode 100644 .next/static/webpack/4a615bd53cdc6281.webpack.hot-update.json delete mode 100644 .next/static/webpack/4bf6f61ea892f6db.webpack.hot-update.json delete mode 100644 .next/static/webpack/562f614aeb73eca8.webpack.hot-update.json delete mode 100644 .next/static/webpack/5a63a943dbca9613.webpack.hot-update.json delete mode 100644 .next/static/webpack/5a897722e76d5839.webpack.hot-update.json delete mode 100644 .next/static/webpack/62356f7b7b61cd07.webpack.hot-update.json delete mode 100644 .next/static/webpack/633457081244afec._.hot-update.json delete mode 100644 .next/static/webpack/6349ee7a488d1a94.webpack.hot-update.json delete mode 100644 .next/static/webpack/6b7062144bb75fe3.webpack.hot-update.json delete mode 100644 .next/static/webpack/73571cd725d920c0.webpack.hot-update.json delete mode 100644 .next/static/webpack/74fde7bae5463489.webpack.hot-update.json delete mode 100644 .next/static/webpack/7bc6f6a4b87f5145.webpack.hot-update.json delete mode 100644 .next/static/webpack/7bd74036bd69b400.webpack.hot-update.json delete mode 100644 .next/static/webpack/86c226b773728459.webpack.hot-update.json delete mode 100644 .next/static/webpack/989caf06ac2ac5dd.webpack.hot-update.json delete mode 100644 .next/static/webpack/a1290a840e77f88c.webpack.hot-update.json delete mode 100644 .next/static/webpack/a54ef714109fc599.webpack.hot-update.json delete mode 100644 .next/static/webpack/a916fb8624ae19e3.webpack.hot-update.json delete mode 100644 .next/static/webpack/ab4ccf8759f4ff09.webpack.hot-update.json delete mode 100644 .next/static/webpack/ad57e2303a562e41.webpack.hot-update.json delete mode 100644 .next/static/webpack/app/(main)/page.00d6a2162f81ace9.hot-update.js delete mode 100644 .next/static/webpack/app/(main)/page.13f8832333be1c5c.hot-update.js delete mode 100644 .next/static/webpack/app/(main)/page.6349ee7a488d1a94.hot-update.js delete mode 100644 .next/static/webpack/app/(main)/page.7bc6f6a4b87f5145.hot-update.js delete mode 100644 .next/static/webpack/app/(main)/page.ca8e7f53136db4f9.hot-update.js delete mode 100644 .next/static/webpack/app/events/versefest/page.00d6a2162f81ace9.hot-update.js delete mode 100644 .next/static/webpack/app/events/versefest/page.13f8832333be1c5c.hot-update.js delete mode 100644 .next/static/webpack/app/events/versefest/page.6349ee7a488d1a94.hot-update.js delete mode 100644 .next/static/webpack/app/events/versefest/page.73571cd725d920c0.hot-update.js delete mode 100644 .next/static/webpack/app/events/versefest/page.989caf06ac2ac5dd.hot-update.js delete mode 100644 .next/static/webpack/app/events/versefest/page.ca8e7f53136db4f9.hot-update.js delete mode 100644 .next/static/webpack/app/events/versefest/page.e427392d1c1f9097.hot-update.js delete mode 100644 .next/static/webpack/app/events/versefest/page.e88fc6fa46dd79a3.hot-update.js delete mode 100644 .next/static/webpack/app/events/versefest/page.e8b0269410ae9914.hot-update.js delete mode 100644 .next/static/webpack/app/layout.00d6a2162f81ace9.hot-update.js delete mode 100644 .next/static/webpack/app/layout.0aafa31d5b32ce19.hot-update.js delete mode 100644 .next/static/webpack/app/layout.13f8832333be1c5c.hot-update.js delete mode 100644 .next/static/webpack/app/layout.1ce1b586ebe4ba58.hot-update.js delete mode 100644 .next/static/webpack/app/layout.375fbe0afa497dcd.hot-update.js delete mode 100644 .next/static/webpack/app/layout.4a615bd53cdc6281.hot-update.js delete mode 100644 .next/static/webpack/app/layout.4bf6f61ea892f6db.hot-update.js delete mode 100644 .next/static/webpack/app/layout.562f614aeb73eca8.hot-update.js delete mode 100644 .next/static/webpack/app/layout.5a63a943dbca9613.hot-update.js delete mode 100644 .next/static/webpack/app/layout.5a897722e76d5839.hot-update.js delete mode 100644 .next/static/webpack/app/layout.6349ee7a488d1a94.hot-update.js delete mode 100644 .next/static/webpack/app/layout.6b7062144bb75fe3.hot-update.js delete mode 100644 .next/static/webpack/app/layout.73571cd725d920c0.hot-update.js delete mode 100644 .next/static/webpack/app/layout.7bc6f6a4b87f5145.hot-update.js delete mode 100644 .next/static/webpack/app/layout.7bd74036bd69b400.hot-update.js delete mode 100644 .next/static/webpack/app/layout.86c226b773728459.hot-update.js delete mode 100644 .next/static/webpack/app/layout.989caf06ac2ac5dd.hot-update.js delete mode 100644 .next/static/webpack/app/layout.a1290a840e77f88c.hot-update.js delete mode 100644 .next/static/webpack/app/layout.a54ef714109fc599.hot-update.js delete mode 100644 .next/static/webpack/app/layout.a916fb8624ae19e3.hot-update.js delete mode 100644 .next/static/webpack/app/layout.ab4ccf8759f4ff09.hot-update.js delete mode 100644 .next/static/webpack/app/layout.ad57e2303a562e41.hot-update.js delete mode 100644 .next/static/webpack/app/layout.b97518375796d425.hot-update.js delete mode 100644 .next/static/webpack/app/layout.ca8e7f53136db4f9.hot-update.js delete mode 100644 .next/static/webpack/app/layout.cb538f1c87f0fe88.hot-update.js delete mode 100644 .next/static/webpack/app/layout.d42101fc54b8398d.hot-update.js delete mode 100644 .next/static/webpack/app/layout.e427392d1c1f9097.hot-update.js delete mode 100644 .next/static/webpack/app/layout.e88fc6fa46dd79a3.hot-update.js delete mode 100644 .next/static/webpack/app/layout.e8b0269410ae9914.hot-update.js delete mode 100644 .next/static/webpack/app/layout.fd4c4f821cbf2ac0.hot-update.js delete mode 100644 .next/static/webpack/b97518375796d425.webpack.hot-update.json delete mode 100644 .next/static/webpack/ca8e7f53136db4f9.webpack.hot-update.json delete mode 100644 .next/static/webpack/cb538f1c87f0fe88.webpack.hot-update.json delete mode 100644 .next/static/webpack/d42101fc54b8398d.webpack.hot-update.json delete mode 100644 .next/static/webpack/e427392d1c1f9097.webpack.hot-update.json delete mode 100644 .next/static/webpack/e88fc6fa46dd79a3.webpack.hot-update.json delete mode 100644 .next/static/webpack/e8b0269410ae9914.webpack.hot-update.json delete mode 100644 .next/static/webpack/fd4c4f821cbf2ac0.webpack.hot-update.json delete mode 100644 .next/static/webpack/webpack.00d6a2162f81ace9.hot-update.js delete mode 100644 .next/static/webpack/webpack.0aafa31d5b32ce19.hot-update.js delete mode 100644 .next/static/webpack/webpack.13f8832333be1c5c.hot-update.js delete mode 100644 .next/static/webpack/webpack.1ce1b586ebe4ba58.hot-update.js delete mode 100644 .next/static/webpack/webpack.375fbe0afa497dcd.hot-update.js delete mode 100644 .next/static/webpack/webpack.4a615bd53cdc6281.hot-update.js delete mode 100644 .next/static/webpack/webpack.4bf6f61ea892f6db.hot-update.js delete mode 100644 .next/static/webpack/webpack.562f614aeb73eca8.hot-update.js delete mode 100644 .next/static/webpack/webpack.5a63a943dbca9613.hot-update.js delete mode 100644 .next/static/webpack/webpack.5a897722e76d5839.hot-update.js delete mode 100644 .next/static/webpack/webpack.62356f7b7b61cd07.hot-update.js delete mode 100644 .next/static/webpack/webpack.6349ee7a488d1a94.hot-update.js delete mode 100644 .next/static/webpack/webpack.6b7062144bb75fe3.hot-update.js delete mode 100644 .next/static/webpack/webpack.73571cd725d920c0.hot-update.js delete mode 100644 .next/static/webpack/webpack.74fde7bae5463489.hot-update.js delete mode 100644 .next/static/webpack/webpack.7bc6f6a4b87f5145.hot-update.js delete mode 100644 .next/static/webpack/webpack.7bd74036bd69b400.hot-update.js delete mode 100644 .next/static/webpack/webpack.86c226b773728459.hot-update.js delete mode 100644 .next/static/webpack/webpack.989caf06ac2ac5dd.hot-update.js delete mode 100644 .next/static/webpack/webpack.a1290a840e77f88c.hot-update.js delete mode 100644 .next/static/webpack/webpack.a54ef714109fc599.hot-update.js delete mode 100644 .next/static/webpack/webpack.a916fb8624ae19e3.hot-update.js delete mode 100644 .next/static/webpack/webpack.ab4ccf8759f4ff09.hot-update.js delete mode 100644 .next/static/webpack/webpack.ad57e2303a562e41.hot-update.js delete mode 100644 .next/static/webpack/webpack.b97518375796d425.hot-update.js delete mode 100644 .next/static/webpack/webpack.ca8e7f53136db4f9.hot-update.js delete mode 100644 .next/static/webpack/webpack.cb538f1c87f0fe88.hot-update.js delete mode 100644 .next/static/webpack/webpack.d42101fc54b8398d.hot-update.js delete mode 100644 .next/static/webpack/webpack.e427392d1c1f9097.hot-update.js delete mode 100644 .next/static/webpack/webpack.e88fc6fa46dd79a3.hot-update.js delete mode 100644 .next/static/webpack/webpack.e8b0269410ae9914.hot-update.js delete mode 100644 .next/static/webpack/webpack.fd4c4f821cbf2ac0.hot-update.js delete mode 100644 .next/types/app/(main)/layout.ts delete mode 100644 .next/types/app/(main)/page.ts delete mode 100644 .next/types/app/events/versefest/page.ts delete mode 100644 .next/types/app/layout.ts diff --git a/.next/app-build-manifest.json b/.next/app-build-manifest.json index 859bd64..1b3b57d 100644 --- a/.next/app-build-manifest.json +++ b/.next/app-build-manifest.json @@ -1,30 +1,3 @@ { - "pages": { - "/(main)/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/(main)/page.js" - ], - "/(main)/layout": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/(main)/layout.js" - ], - "/layout": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/css/app/layout.css", - "static/chunks/app/layout.js" - ], - "/not-found": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/not-found.js" - ], - "/events/versefest/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/events/versefest/page.js" - ] - } + "pages": {} } \ No newline at end of file diff --git a/.next/build-manifest.json b/.next/build-manifest.json index b4e9156..b8b66ce 100644 --- a/.next/build-manifest.json +++ b/.next/build-manifest.json @@ -2,29 +2,15 @@ "polyfillFiles": [ "static/chunks/polyfills.js" ], - "devFiles": [ - "static/chunks/react-refresh.js" - ], + "devFiles": [], "ampDevFiles": [], "lowPriorityFiles": [ "static/development/_buildManifest.js", "static/development/_ssgManifest.js" ], - "rootMainFiles": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js" - ], + "rootMainFiles": [], "pages": { - "/_app": [ - "static/chunks/webpack.js", - "static/chunks/main.js", - "static/chunks/pages/_app.js" - ], - "/_error": [ - "static/chunks/webpack.js", - "static/chunks/main.js", - "static/chunks/pages/_error.js" - ] + "/_app": [] }, "ampFirstPages": [] } \ No newline at end of file diff --git a/.next/cache/webpack/client-development/0.pack.gz b/.next/cache/webpack/client-development/0.pack.gz index ae1ed23c47dc1d56c4fa5232de69e81508cca616..420444716a2bda63d7aee060c51a65e18152d407 100644 GIT binary patch literal 34960 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 literal 4033 zcmV;y4?gf8iwFP!000046YX7TkRwNx)=V4BF#)p#uLXZP^kaV_Rric-3_(XsV8UQ_ zH^Sk8fWUY(*;OeiyX%_FEOiSM&@=Ao?t#IK$KY#hu3hgKbKf@%mu+qvFqp$E%N+#x z4?hS4M!T=7B$ZmJ?is0siinJksFo@--+Psnm0!NEo?b5d=B{12T<%E^BPgnwU#hGMiq3-wsMnB&{}1;n^!ZS5jAAC8;C!>|MR+;+c!5bGd7% z@a#I}Vg0M^pvv5)>v4zJO^a4YV9O@484>f>HU;H%%8QCzQxSWHO6^c
}OOB`k@6cOJq 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%0A1u9r=1To#*0yi7PteBC zhvK3`*wcPPPXM{cnZfXnSLAa$V-teJY3iGGq#ONj-m`xNrk*jc>$(4JH*>1ViS~Xd z_V6;h_7tTrP6G1zWV|*2N9~z@>}lc{`Z7l>u8sx06Ss*S408x|bc4X(CXtuw0Rk6A zo$&OtH-bilts)XSFndrOMAAL1B#<;H=L}CPn;c4ZJD2B zZ)TY<_nz^Gn(3X4q^iZh1Dq5a2!+F>qjAKdp5FK&Fw#w!1e8l+6c-qjOLiehn{C5^ zD7Gw79L4TbQcm6C8@4TumC|^7zKcl6!=5F5Mx>*H$57H;{GV_sTWPNL|UrOP3zQU^U%EJgyG(F7Jd-_dFV_TiZNG} z#bT?iXc;h;RZPBC^+Ajpho}bQGe(U1MB_u;4tE_jQ2$DBL?-lX^g=iU#YvOrn_Z)D zkWG^cQWz>(DAadUvhHT`?@wn~1-M$_Jsd$iip~7-{o`&b8JY z=_+;&V@JkDnl)D9L&v%zzE$*@YgHf>%G&GSqXuF8o+TIp-)Gpjbq~?+SnpV4k$xQ9 zOTW5(r=2rN9;;u{A`mXcjbUhg-K>#@fPs*v`8LG+rrkS@qAXMEBS|1hj*u{+8~sQe znP>>&y`1gz#XEc{^DSS(E_v=H)%V_s_vflJUHV-LgQu!$A4&ZDAMer%#6@KFi_LE~ zeD((;r;Y?Fm+8{qybG>6yDOGS5x2Iy8|-kOB3`LyfEyjDqo_=9wcTex?0bl&GV*OQa08y9JoiV zUhjseemQ*}nP$$KLxX$QoP{>m3y+?hRz!Di1E z54MS?M%__?tCipI0=qhED%tnOj=0Mq$I;#L&%2k+aEFL1s^_MeN7orinCiQOM?^3; zmx^hx<>{S_3)ydEtA5fbseXkozuW-{9Wm=g#P(hCImzJ&#^jv+^5y@R)gQ)}pb+!i?A}#3~T)kqN!0f+>I)2zeL` z0jTOdkJw*1Jx=T83rLE}U)wN|#t)6f@%<3`?K$gz6Bz72ZdvNjkFm)&+rvi;D*wFk z<;Pm(efWS)3^_b%Cp63#F!v56xgR>-^$GVSlCyB(wcD;Ijh+&q2J@bZslq<@xKa~= zTdLgt5$-q4Bsp62nw%$zaMW{~i#La(m{Zgdwy)NVM>hx0aV}FccD3l)u!avh6rCrj zC$DgxGa?C{TgYD&j<9OWAq)P?#Ogt>OZ9UcRfA);189QcR0Nu!;OoyP)vN&J)Gl?e zo4|}#upCzBs@mqTygLawm9gRR1$8GuN5z)e)9QEH`PtcEQ=C5&W_7?cTs7LilCWt; z1W(`+Rg%5XI|e)%ATOAbLquQ(Hrj})Oz3jp#ha-v^!{lIKFt1?F+<%C$?_b;AFld3 zKOK|cH6pCOcYoe<=E|w}98O=l(`j#Q$os5hcai<%^VWDzc(b=GZ;bYBBQ%9gMNX>f zM9$d5DLjGoq9#hpev>E|I*HW78O&$2hBIWS{v)`rq~u8C&UM4Q;_G*l)&HcS$_1^N~+2%YVQ~{g9#=0}ch0L7bDC>~nGE=(c$3L7SpuE@{ArOaR0P zZ=;#{jGez%DG78IvI)IRKQ*oXih_&2z{uG>Ti*@Ii^yvuX%u-7_x&QshX<5m?Yq4~ zr9tssz3SsTooOQ>MT1zl*cu6U@&v+P(Xeo=2P`kBd66a(*EcZvvH<<76p4&Wdd}NW zll1BOog|p?;kq-X_84(Ny<-`Hxjv#p#P~_nL&PcFL8RR=DGOY|MZ@W0DGQH#J{Xsl zOQb_*Vok;HCv;;YA0+eNuioPVxO1Vihv4wuE6iVjiS_^XY{-%e?;dVZy$o_A zgfgwFN8$OKP_=~5)TJu_hq1Q+ilhIwMR5clj>r|y?clne?pI5PxW@%2br{gJwENxz3o)LF`EZxj*A8un z6ExUm@>*pOE+c^qeHGdNt7>@roU)m!Qs?Wl+1-aKsw9!RLzmH( zgPn(TO;BMd#u7FS=n1(Kmr>}kflJEPeD%-yh2v%*$9;0u7oy_aGxgrhU_Z3GWHFo4 z+PKaBfN|*}hcYX2GA$C*xd_f}v+059sz+Z!XFoKDl0Ta=DNnTihnezMx-iMp;ULUc z*nd=D|7_tjR6E@vR?!Ir18xI;^(_KR^?HNBt&4gS>DU>2x@@b1>Sz5i9L+QyRmZod z=!Zh9*$sc&b29~6hlX{ADVKG%wLzZK{GzOw`G8;T7L*P0Ga%5NhdCWl{}Yi=()e!C zGbdZ^IGil*r;7NeCsGuH{{@?P0ib|+Zff_8+Z5|Hb=Nzc5uMMC=>8}SJ6lhzg^IH3^cBELR)}HJT#yM zsK2smBhNwSuNsi)X=|{hz2AG<%Zg=yCL$ohwFd|7$yKDd0zWUikBO;Y2LZrR5tP~0^cv;U3_Uy%jTquZv!xy#~z*i_l# z!N&bM9314r&WR{t@PoB%gV}Cp$fc1K;ho(&pWMVo?S9pP^ALQ9y-L-)RLor8p4WR< zG=n5NlRR_+27CeceeHFhlKiZ9e)!`+yR4dsklxmCiiFLT%xJn6sj6gTJdd`rdXYBL zt4bL}m{%YF)aF$T;;pKL#i16%b3bXg`)8bNSS)` zAc11k257bS5u?jQgpuISEfdnP(;pK?Vm;vD?Ib5@$le#d45R=yv|X z*?9xs2XsFQVo*A)c2?J}Q1Tm;Me5Vx%=nw@+VMpiR&J~$7Wx~VWjvpm>5vN?M3QUu z;)h3enx!*yWHiTj$eY{C8D>6#JP_BW(~)3Vnt1q9ygrR^x%0f#exO=?`IENUnh|`u zs;v~_aEGDm5Z=vU^6mGj6B+uDf%ahHNA(Mkd>qT;isfFdoitB_FS?CAPE)(i`?ivs z3o-C!E#tgR)JWKU=D(=Hi4G<(j|`hSnMfj8s&q{%ZcHE{Htr&yT~mQ- zMrtmrbpF`@VY*f{peCN$mVeF98jaq>mx&AL#5#=fpHoMnMqo<-^AxjJ`g1 zbJ(l)1lVLK8VjR8yuTPd@4H;?)!_d=v&x6auNgFX)gRB5@4$}C^! ziv%nAMornTe2tnND-b7Gwhd-P&wvcb>9mN|3taxPr&v29NG z-##9c;lV9|X>B{aWOlMtaoqI+NbJ>B&h+Ns2}l4uX1|)cP7tZGmI832|0peH%@9F2V~>0HM-t|hnZZ!H#h%4I`KDpt(jZ#N@?=JP$GFx#zOZJY z^vUv*10dt<%N=T^-pWInalxFhmx@cL@2&v>>O4?}S{S8RjaN(AWuJQS3r2>^1FzYD zS97ZIu*|(1p>w+y??>>@BL$Wo@6&NJI99nZ<-$m$xXLFblS=-%z)k2oeTIVbW8`u)C?9 zU)`-B2*%y1 zp8tQVC4@)%Wtw=>JKw9F_(R@BFe=@`Y}t%u5tyAs-rdQYfgf>Ql@HRXHrP$GyQj;e#2kI^u+r zC4D8=6%tPO?csr;W7zw;geB{%2Fw%irHWdl46#PE6n%g;GH@tylssSSCvzf!8v3@dFpb_(G5$_!2TW zpyZHk2iN&=FTUW;FdT_PJ``oeftqEVh#Pj;hIMG zg52@>Rs07f5TOVtlJ?&i&UtfYD?em7J?~ZS*%d<>#+^W#*e!^rYCT z6Z_h@m0U7qY4(Am`GF|LK%4zhW6!x13K7mS^y;kRb1lO_psW6$TCaqfR<{cC6`m~S{*{a zB^(>Dt_{5zgGP5~Kx+PEx1oQo6vGOH!Jq8 z`%6s$Ka-kg-?!krSlVA@Bl%FJ@L6cdrLyZ(;BukA8BU8bnr3m`8&_&+K^?zq@rc%` zCS%QY*ZG9A-m}>^Xz-W?ZS3$O)vt)1C8XG9y(OMN>M8sYf)$CCw^!J@aT08@s+!6Q z#R}49&%jEsTYtsFC&)KQVmT<$q%Y1<>OAo7>`%`3S~K_wpoGT4p6H*t@Dz%M)aTz{7SlPtb9|2$pT=&9mU-@Q z8mpxuo> zU(X|6XD@A@P!DwA=4nu+6E*$rJU`Y&RAEPHKXxy^IZsaxwh-60IY-QbbH#S#;_2)j zj7L?lXXLaO%~RWW;pH$6t!+1f{*Y}Lqw`}XiiG{XQ!Ikv03){5&-{iY=vGIcP+l(8 zOh)No`3FbEmmtY5WK&MTj*oonpLxc3*GIY+vUE3<4S7#i8p^dsEjPPJ!?<`2x`D^E0{Bb8~-Y^AJX}@|- zv=Y>ht1at9J~V=_zxbKv;~^Me7)(NM@F)5?FmbgGbWPy3FLB48pOj2a6~>!-nOjL+ zBX5@O&Dj%jycq4T7sfhOWCmAs~W6#^!p;n%bBFf z_x9%(dwDyT?e!~2-ftB%5byGbAoJVEo9$cc)_dQO{HN=Ktrr~wef~gG?*393b@TnB zV6R}WVt+O=Y;;T~Jsk)HMV-Yw&V+nG8V%ofU^+Oe9||dhr?%OF2AjnBlll{seD-F; z@FGE0xqvqN!`8!CNNg>p3_)^3U0qG8#WT_mJkSnQ!l{r3p4RVKf)b{HUc0^?27twKAc9+;$L65lwY#{IW?p&J%c|}8f0(KPYK!s2M$bQ_@M+)6@M;;JC;3`yYM=(Q9Se|&C@5PtWxt> z$L^@d=A9o07HWHF`dH)-B*Q<-Q_%KFo&^eY+Xim@xwhSLq-x=tf%>LkcS$H;%drTh zfpZ}5?MDzu;OG^-S%P2L2V3NQciQH9iAfcEEa_z}iqSq$@{Zw;@IZ#KqqK#JadThL zLr>z&Ku|Li6-zs^(>@XtHw6?HFX%_N=ZQZbd7`9FRIf}GeCMA|;%2I5NW5G`*N~G6 zg1N67NC>7vM~uyxl$H{hRDePd`RJIz+n?t{KZ~^CJZ5Kw*${`re0mjr;BirCc#(c^ zms3KTc^I?h#Cv@n>U;j<xQz7~he|iK_>z-Drr~(vKA|`4KDLJyqV@?fjC~~9Jz&fu<~=Gr zl-ST;%OXyZ5m`%mZ%6_{FXm*l!3C3bnTK6~!~aP&_EGk=4-6r_NMlsr(Opy@ED(KE z3{{=|sK~YlF<(7)V)V^$w)Rl0$(mVX2sHtOl_>Zl<^`56BHuXjuYH1jgEutauRSDj z5ng5DWbe^ue}|rhWx=m^Kc_XVpl+&e;?nvB>&ig8I_z3=_rA9b#-(wsj-bQ_Wz(Vc z^qr7za3RBrZ?L8ZBCjmACOtd&(_;Ca4NaVTJ~;zBki$LPVqme?sz<#0Lh;5Z_Y(KzTmgBJd}}w0%!DSSXO&zhx-5*i z^1|lQKX#qPUw91IFA709jKZx1IXZ-G>(q-Uii2s#U*Z(-&O{y&PrQ!0klSG{vcB*wEQ*CB} z6c%kby1ZE*V%#~Q3a`xT-5C;}h>eI%`tnjU|NV7R{^kL;uz6CXHwEG3#>57N6KDP{ zPVwEP6YW#;{ptD3jc#sxPJ7^ijrV|(z4!xLnB3&x#9)_0&3NKN7zR%NJgV@kZqARK zAD@oQo;L*%a(+Y{e^T?$pfTR&PqUh--l58Y&4qA;^hdjFd9Q0 za|Cm;6-RZlm>#$6wmz;}StQY+O=BEcwvt?aVh>>ia0Z%l7;%O&_k$yRExDO+&N~Nq zyb)AUkZ1}yx7U|(x)0n27(2Qq+Bs=!c|UnLYMqN~6Q#vY1ZQHyK5audCnk@&DP<0s zR9@76EpYutvIKJWRPK`+Gn?23b+Ccc>m;*dt!xJN&gVb~0YZF;{6FQ=W`v6LQLVkunZCK$Ys=#|R{M&K$9yu*~xKq&`_d%0)L{FiQY$v53g zEfLqsju9_e*zVTg+%*dXD0~rj4zBm-L1C z8UM>)>5^#7(0Hwu0Ab$mJ&>`9A%k@|>m7HUSX5p#V5j1}8^JIL^+v`8i z2oAsPIAMysl|0uOi|@r12ssQ3jt_vp+-)LlI7N?P1aKA@lp}l}CgLpE8-grT&|qI} zqgbzNWvYlkh6I4O8SL%XM)?LLW^oEHs(tY4arjTD>z2FWGFnS3tyYu2A9`q|G@+PR zl9(haKg8N{5AOpQv6aYXa3mvK;2pkpmO<&!GxcgvZS`&q7&5mb-vqe5hQy`;ALZ*# zEr?w-#$=zSfY5Cd#xltCKGtqqAE1<|{EJ(h(I>ey%=GIrgjSMW!6v<-W-ctYgm(j-ah{|xvEfIR6&sT}W8KcD^bm|HIfky_AjrRnhN`f+ zP0%31Z+JDEXvBaoo?sd};`oWNuxbm7nOu*hn1fAaO;2_Txb+^&usb!4pR{JVS6b6Q z*si5}m?7|Py*o3Q7XR*lZ7azGl_CSki(c@3uNf1S@|4IPZEncv4n?<{KJG63E8_qLC^|!Cvfn{>X+cHUq}#c z4as)TZg6@8MgGtY#DfJh{)rBdrwnX^^<_c3`9{S{V3VWnH{K*PtGLHb(bETfBn7xy zMw1Vd?8$w+xkEM2bL8Y6qg2`-Sm4DXYyUgca$Hi^7m(kdKq^_XI0%4kldXN+*%X4$ zHvEe%Rv2z9Dyi(Pm@4#rP9qBle3q3E^^-qW&m#TgOJ9tldU}+Kq!kiSWn8O6mHK9| z@?2~$I_YIe<&E51Byf~q?}hEY4hoaLLx;xHSa1xNmxU=!+ABlVplc08qj6n+;s?e% z&paD{($=V2Bw`L4xbtFU3mO2C7=}a;13#v0M+Gsh^SWM0VV+@rFnPc8otEJ37(;;D z$`NW_qvXND09$0;X@r}Y0arv=WQF+!@;&2kGA*j@)iCS5Kfj22iF$L^G-3>5HsAC6 ztyoN$p)RJ-1hSNTspdhnCRt?rjmgmt`-zFQcLGC15ecvq=EzkTqD~Yf(ET(W&m$l@q@X_0GHqHlGSnOS>RRhrVdL=-*xU~NKLRA${i)d=jb_%1i?%c+7( zGD)5*;r9Q|27l?TV+n(MTI`Av?usI@{r+e7bJ`vm?AR8CSJ?v3w3~otzT2s{EBExd z^rdA5H!yVWUf{BUI1m3Ryj|{fGYX?6@zbC~&9T|}sUMdAf1!VOK!`eS2uk>!6EfK3 z3CeMWc2T!4$z(bDg+&jN#*+f(vC(jdQ?Qw{0xy-hnQU;(h9Iii)1L^nNQb61G{#r9 z^j=BDyN@xbwX^VV+SeVkU0c|9yS;S4N7R`<1VMura~kRKn4S>dseSm)yg~vFHcU4R zvRAp;KuQ{MVK@vt3{&uY26fJ~%3gFJjF={< z3{+z<5cbu0#B-_9x377VaregdG%(kU!SvbM6vE2L?vz$mYV2r_3Ankc#8posw1l3s zC&$Jc;xcHfVaj3e3#uH!R!aw>){oYe)aN&Z-xD`vmVWlxJl6Vz2#Emt(&JrWQpJwb zH|4KvCpioS`VwII$!GIDJVqsXv5q{_E4k@2cg-$n{wL4nRqaR6E_t$@0&v5XAZAg2D_i z(F(h~4VYs-co~|_^?=t3jO-Ww%j1~hI$?fY{f+vFnTC7kWw@xF|51k}pHxajZJoRdO8k5l7-2J1lSH5+FH_T&p zSAd*)t7z&?7ozbJqX{vzKCTOcV zt$oixsQzmHg|P;c<~6gFJ0zT#J`3n-cL92P*|Dj^jK?5t_(l+bl)T(WKXKnaJ!fdA zUc&H3wSN<+q}(a8^odXt_)9A>X@)~FS}JUwu%AY}TfGztIEqW@-f)~qoV<>0uyp5F z(P$Zz>%2Ld{o`{8mMwMIvYsn2Ww?`W4FG{IOv}?#V-fw8BnjVO!BwZT+j?Ug(JMkg z4WrP(W}!Ar;sdg6V^R5{Gd%$^on5!hp1DqkK7fsPbBOYTl*G06WYi)bk;4sIzgxKY zC4n?HY1W2r7hV0*43mF`_e2@>-7qn*4*D6}ksyq^2u&IGhr7tAe_fshDyfo+IwrEy zql91tkN~2sdyWy4E{y^zt7{?@(mxH72=EhAFId`Y<)p5ona!oYER&)$hj!WDbKiZ?bUY2Ue2YN;7F&lmRm)R% z2fLssTXM50)()qZzt&nHIH*4}olG-0#BI~_UfB!xfEfqJ!akr#@Po{h?DABW%qmw%PEFk6aYyM9yNP4EhRDqJInOeG?5!CaXHfyq=|GE z-+-gW+?p94lV0Qbr#Czy>)j0mCky}rZ68RyxfYKKaCkufdS^LX4IAZc?Ks3C0L}#i zfZ*BI7tbHBos*81owQ8Z(vQg&)?i(AazGS6+;5xH*-?!tvgaR}z;4e;%}F$OOS)HnS7wrf}3l*ne63Xr2wZuSZvt3ik;Th0Y{=o<#9G%i zQ9qI)KQA7!E#23m*XcY`;qu6P7ij@2+W(2>rx&gh{rZPXPB8x8RsHq^^sBoq;?qX} z#l|bz-#JMw+K+-S;(#=Hj>>VRGJ^-iU5f9}e%7!Ytc&)eAPKej890E{$dPAB_#osQJU~5KOHq$UNqojqQYmp=`B<-nQ);l`x1IUL9qvY_Z337t8 zH5kp{B6xdu=>JDps_?HyNY4nsc4PXoGkv>Z)eYMnpRu}a$b(xD^jSqnkmw!tygR7J zjeE0H`o>dST&)(?|1Z7p_MPh(=or98Yq!3EgZ_5tsAuW7C(QPRsJq3lAI43GH;0uU zvST2U%AK+d4{ZfUS3_@G&tj0+A`k)xVLO`NV3p@O!GY=WWb2WlIqTyoxu>R`)U6z^ z3_8Vhx&Wjs41l0aXuS(A-)MbPyL)c`#GQdG2pSog?@<$_S?&Z)aHv;Vj=UKVkQBI@ zBLf}QKN1hpAW^SmXN)_xBNTHC=hbPi0xg}D%jd}4C$;`VFdL?wuvAFZ9Py(I zPmU%N4G|3~2A5c`3J6Cv|J1_`iJ=t9@(|$s4eNT*YmOH1n`Q)Kc1pZa3oo3)Wg-FM zVw;KEBC)5xUQj%SUW+~|*P7I_V(nOx0!YX&SqjKZsbhc5#FnMqHg)#YGi?FoC(6Sh zA?6n5-<`IY2)VzUZk$aDsWG{>#Pq1=GMTFL8^~Gx20NLxsPhs zrqgMrAyX2C@$b|@QFHGf?KHmK-^lZb`i2qVIs^re1ya;_U$Qfd?ec}L@K{27yBhym zm+EW3fH}i;y%)RHa)g|bKQxTeaHJ?U7D(qKJjXeAkp}xV%EnE$T)hm~#5Ut2dQfC3 zR;vB?+3_PkwI5BcA6tD|50H0=d(JvG)wNn>5@WIIDA#)=Phf3M5 zrSE9GlDnX2VJKtC@@uuWJoBLXa*RQe89jpICG6g$zO5eHC^`%tkdN5sX}r~Ob#PQz zt_?~%df%4`r@cP}`A`1VX{HGu@}%92go~h(G(JPgyPo z&J9p0b0;FO$+iT_T#{a@6NFbi0DD7xSn+AGK>TgsLXf-D*Ukw_s2)WVKCph^9|>IE zLF;O4o5s2cVIViK{?9A?T~pvudm2W}`I3KtxJE(Mf|N|eFv z>O%cf<8v?$g`PX!h$0vTW{^YLXJ~aMqh8jZ(RgUfi5PNW5o|7RLak?T{BWne58&WY zBEDNeIHl>YP!k{kF0!xbCvTC0DA>pl^S9#8FPt-db37uQ3!t$++Q~?v>RL`dgZ_10 z7*oS6*0Wnl_s#`Q8~lisvbnMtWNC}?!p`a&yv`CxhB*HN%I`Bkx_-JKuWhL8`440M zzK&_84;w**XApd*FC@|V8Om;eKARneH7gen=Y~SiP;e_$Vlo&X!Q8MYQY3X{G0WIc zB%KtZFf&qOwokinTufS5GD*?0vgMxgKQ=%>2HDqzSigm9a%3yM?*68QJTnBa)%TiZ zy6sBVUDqhl8cClPVK~vHzYb1aXSb<29NL#zdYc9#K;gvdkcmxZ7og8GfaLWCkNGOg z5L6T#8+z0aZ)Su$I~QMC(SBh1yH4Nq`+7kKUS)^n^DTk=x|cAU`iH*(gK3XK9G%RI zgx=tPuqUb;;0ujJtEUGJiD(x4RT<#og0Sv^xK&KUSjoG&?9R3BlHM>#sl)L^qG<86HN8^ECV`LWl8} zVrr|*qh^GhCJ4lI)KQzQ+D}kC_2e5hS2){w|*zORG2O% zy?@-Q>hBiQVefBSHv*?bt2!mgxR`## zLF#JI3r4_?{n}-HXz;v>-bfCx>WH7ea?(-3gjI}>HQ$Pw}GgE2& zm51%?bFi;Jh|jzw>nmj5c?I-zYE~gx9L9Tila~cQ33~cb2t_=Q&Y9j8OJ5i}`jPI` zVv$bdAxOg~O82qugn)zR31S@+wlIGOor3N-y_jfYc3nSHnWhr78Ftqf*{^cR+NJIY5^;PnU>|FbMmPA9mv5MhGE5CtCj1_1=KCu}lI?B2OFW2G1c zT`UW`OG>?g|AsA31p@lnR!Fd|VIoq4VS(!=&pvz5Nb`MpEi2DdP$XwcmQ398ygA3J zx|hn@bn14Lk>YfAhjMQ%tJgQ8c;k%XMy7$FvlOFg7^@{UMcP;O&SRhn)IC|nhCB^i zbY^rW*M#0X^4+ezs?wBFV|`Wd7KC|aE!QH4B6C;~HJNEJp0(Bl2%NGKQ`Zk+cN(zxFA{-lQZkzuRISun`E$MmLV7q z$>Hp>hb6{*U(nw7r&}+6@;u{2JyOfa+ws$1(h-}4uU?VG>9)cpzSgUOH1!MCZ9RIz zwk$v;aL3(@Mn-Z4BGOck8gJ`yd(f((xPfK-g87VG(k^oL>$j-^y~}D+^tvlt7WQ(k zrw@N5n#fpzSAG7YgyOe8#M<)0Yp;rAiNjW1Qk(I>ly>(DZdfaX45SP^7|OZ0wsOgX z{LI2f;%ytRw@DoTE9SG8A(@RSQ%>mOBtlA{qaoq1n#yh%B^+6&ZEs7ZgNi`bedkx# z7#|rwp3U@jeMy8vSXNkU%2v?i2X+BFflP#}uwb8-2Kvi79b#d-^R#K(s>GVH$E;@m zM3f0qo`p>G@p~5MTal?zwxg0;PMB3DqNhW!F0d}eJ(tYy%aW|Mz_*N%g^K#qw>;`} zz(0zyaa=Kjc8z)@o~7^|bR-cSMauxM#E+2Z!i>OnP{g7FQH;R|y@=#B%C>Usca2?wD2NE9UzYrwUleVp;1Wz_^ z>T-sg)g~Rx+DKk!-&$*RPt^H_7?=iP0_Xdp>%hsQF*XdL4GfuMYF;;g=Wd8mnM#Fwk%R0!*Urv9I>+^9+Om)rdE573|)XIybysQT>xO=^$a*A zJA@#R(QIRU{Gs>`v3=9ZbFM;kVLSrX=nu8>l*O+LhZogwe>-2N{Y$Q=QHd!8XWcbe z@ck9vK!-p#*(<{WFURXx&8XB5j@|%ru5hlWBLoH|yrD6Z8w|ZL<7=A5yytg(GI7TL z$q`(D*j|zaJT7->6iAk0pEAfbAH-CwT;#EZcWFx%HEOA+9k;q0ewD8@3t=pHEx(Sn zbS#F={AOn0&ggCFFs9OB(EJq+G@YjB)CzNUmRSp_@QnZEpek9!5IHH(_C;fn$C^w( z>KD)Ea|f#kccE>m9f9EGHnfrj+h)G&^^6x{ZEnX znEtb{ldS9!J&~akcU1e^8MWTO7&S8TCO7HNSRey1lps>1d?)ykKw8FNOZd}UHS?A# z_135!ov>SDbHkgRz4UQGxa%D)svZk?I{b%E;%o?h7A-nCVRj>em$0vyUp!lWokOD>UspSrgM zB1c_Ifnf4%dpC?>TU+2)q48(B|$ePdp`KxZ}!o=*$xbZ(LomEuFGQ@Ft0NeUn5Z z{6Pdj^F3f>jO&S2D~ZR?80weGwSjoE_!tj%e1J-0evN&dttNjFLlMKBsu+uI-mdQ?o^71l6w7Xb6!9tSH6rP zR!)&!)SaJVQpt|h^I(njEr%WhlcDAL=ZJL++7?}Uf`pIeG&`B$jY1!hj7GK&!pz_T zcUH~S_S_WP%Ztk2^6&ONeGcK>5-ef;A6V?}GAIZlACYowbuJ>N?o_SgKa4btvrGi-HTh@yzYxL_=B;y~daV=wJfQz>q2==c`m=?4eIBA%y)%$R zwDtt*_&;&y7y%bh?|%ab{Bw>`7OjCgrCAKP-ZI2WQ^yxgexM));D}mJRi0)_cb5ws z6b-hO?1TwOT=UCVc{Xpd33iP8SXZ7%V+>=qisOY|K^wz@ZU9HHr4-PRZZM1ZV+&A) z&LK3a@JcXpvr`PWp+iJO{rK&8|8uP_aSs`zg?(DTR4?5t61_V4()K({&qWXU+oHq* zpgC{>;lt`SvHX*jPzKX2WrhpCkx+nc+y_tQ(s+w6R44Zh+q;d2wu4aj08i459 zJnyzCLC^C&a2n`pK4>43@Asq-iU)B3G~Z`&-09A*-I=Hql`iG5uzW##OzAcF{6Z1+) z_7?mNOFAkx*|Gxu*&!s-ROCpM70%MN=2DS_IkeZ1W!egF%AuMMmpIo~on9K~8|fQq z$d+h~Bvkm@-MegEOnMxK_k$L{ssKT@%N?#kF@s>3u0|BZxkV|fVXRJucW%IS`P5AA91$wjH6Z5GAYkw#U z1Ad5g)*;C9x$AN||0e8)bWk1GxRL;Pl%VqZV+eHj4H1I0lHUj{8U#5$85y9k3Y5Xe-=zOB1U8V!A$kMEnzh~% zM0^EtVF_V*c0OwV`b*rRJVz`^M55Yj7EAhSN!YEO-i1dcm<$>!QI{y7S~+H|JV9~d zydlm=GLBd(i0r=>T>o*q7`K|FlKgX!t1*_EWWSET*M73E-s6s_8SOhz$wiyTH$&MxQj|Kp%+Ds!^%68 z($|n$SxYZ*T5{J*98Tu{##`l1AAFqR9jDrnRV}#pmMfOM*49#$n5w5~{-BDG*=SX_bB~yPDUbc9aOCK!Q+G3qTBpZ{ZMLAEp^sYh&%bcHBt4Ggl=C=q7M?z>C z9Bc}`GxucsgY`E6n+FZp*E7*Sc(oRYu(rQfks(3ISI-$8IIH=a3o9t4ZA&V%6RYtZ zwCQoliBmKCf0uculKu=4rDTHcH@g+&mmEF##I1%8y>$NRGM4b({Y~4DstVK*PVK2W z&HYHZ@CG*|ktM!y#&ySP{p;p9UaWp`P~VHdzSeFv`PZ9SpS596h4t^LZ;JGl1wBQF z3BStQ>e@lJVZ&Nzmbvt>WBjIu#p@;w&=Sx5YUj<^!Ve+?4R-VACh;G)C!&H@>_$NL z6N%?=3De~T_egvcTt&Ez{a?#}7K9(WHTw6If$aHbE}Z{Rv(^k4l9yv%HjC^R-M%Wd$r2E}ceu zv^v3Ki$v{&*!Pj6>0}7hKV!?0h|XRS?-_^~|Kf~mO@6?e_%-ke`$G5M1xm^}38Um; zcJMpJg|1VAU$}_JO@EX$02{7iZ&laA1Ts>mCOgj@i`6hJ6tZK2Gu-qt&z91*Nqh;{ zjphFKM2UL^EN>Y(!HcOq?&E^an)D?t`|DiCJk0diwJ8LITrX?47b4tKwV+;|aoiN= zR%!Cpt&I=_(gTm9+Bq8zgEllkS;L;`zcBXNq3pf~$i*w{{|(8TQq@O--kRJz*lZTV zu+PxX$~mK`g5Ep7teS`SK41%a3t&B1c-ry7+tP-Tb4!244#gjgI5t#CVwgO8h1UNo z@(<`lfe`^AIm0!Ibl^jrpx6fc@IWmSquikC6BZ7@1#$D(qxvTrcn;pZ9>_GGmpJRhIg@kxZr0X7yTf z0yaShLIU>x1*!v=&teRAkLztOW-?Sf=A`E|w z$)f?mQfa=u8>slrk&3HDR3Q6l1A;04dL6>UNi`12%-!a)0XEZg1<*#W9wA9T``HyF6EkkkPNclg$&$pz&o|<*o zz+&~RBmz1gxA~vCY6i|K8+3D-SL!G*+7y3rXE(l>5SL@fP^M8>Vi{s)atC%+b zr)v^W^!@>O4aLPKRoc~E=9>40IsFtmyHh58vwyuZs+FZkD4@S^8Pc*F&?34HoWWMm zZAD4+Xf`s;N#6j2fP~PUv*(8@J}pCOyabD)<8g=g^+r_b_yQq^ugyKd1L5AxDyUaW z_ybTuGObi=k3_L%e}en%=F_1_apTkB(@_NxglQ|2B+*DtRCPa=TAmse?*8$1ezil= z(2Wb+H+&AkssKX@e~Hk<#^9|Ew8tH0E^|tX?-<|GM14ekCb#lekS#wGx}2;r;spEY z!0TE&gA%vIsv-;(&iXAv^Uhf9%L1>nS4MzC`U~Fr8$xUB&QqaJ&YGobMEJx6lRZGJ2qQGHMfHS!xP zTs8C=^$z)g@i{PBRT-3|T1zR8g^v_K*Y}|6fL&U)u*+d8z(Gb)ES{Ah1Amjy;ltp~ zZHxVRDV~=kxWzUXciI#jEB+bH>sIYApAGs9-sYEG9-)@V6V$z6)zM|E zC_+|-`oK(8z*|9&1e4KM6{B|Q&WV5+YEfV;f(8z=oV(C8udc}tI+HY{ zXji->2zN?6gJy#}{c4btqYdShLase_M|l`jK@DdN4V6qa9WO z$$z7m5{(--1l89h8Ac(Z(Z0{FS&yepKP{X@E!u~dbME6Kjs?=cP{jC87`q{(tajQivfB)uq1@AUVAvLr$_C<`B4S!i}CCO5xgb&s3vOUww zr_b}@(Y!JG@xGO1@%P*dgC;S7vKCd?|7;T?KFxKZ^a{&6t2`Lj@50FW6t_AQFIRUD z7AY{`9R+(2&Nm?9fAktrcn8iWmSooUqbMOS0{(vBENt)K<0&lDFB94LsmUl~%t(Rp zSNzjG*efq-fGd>$S@IK0Ebn&5xBsDiy}Io-x-Q(Y4NEGYL@aO@+IZ{q;57jDVO3zl zt2*~a3{6Ud@Git4^5Vr?w57p*cse2Myy2p~Tl0RkJyG1GY%}A)i01|66`Ei(_yWb1 zL@Y1W4bMBy`^lmmifkzm%XQAuZV@sp?swb_drfBLg5dp&{89fWjMjIih>wbky?{wG z4=9!d#fmLyMctAi9i6^nFScoJ7H31gM=jeFaSd^TPN?;>8dzY9sG=ic za1eV#)4A=t(%|i9!{+q=@bwl@QMO-#z&J;(g!s{oQMg!@zJ)F!yz?efHkRVgaGGw0TO4i~b*{6RNO`DNfTfwD;qe zkM!fBsU|D~Xj^pjLn;JfKY@7C;Et&q>bvLLwL~s$b=|juMtw1E5z0hblfL0R1An5X zi~4_r>@o%nQ%+IzS=y^%!qb(aGK7RLBJ>sO8R=Z6#n=k2u*vyyQY4L{q&WNjWccRV zz7Eg9P2$*Tf3TH3{B6)DtfpX?%2Af~yU(V$r1?D)muFw<;*asGC6r1I8RJ*dx zb6rC!YI~;r2Er8Qlf`|zU`(*w4t9??#aU5P)sH56wQj~~-B*BrBBjz~z<)<;RFQHC z0&;}k8wEvEB+VS=PtJYBqn90RyRdW)5$g%SXB)FPM;x@w#a0y!(bW(P%UArmo^}lK z{p#A?ExW(XHGDowl!^l8;-L|2vh_rF2HU27XalEPz_H@N0>F}M$oyR*zZt)Hn?i)M zhN=q69{;a&o%*8}d-(3);BxlkTPOsR9LEaF%4RCGG~slFb}w?q4j>hxZSG1HN$;z2 z%R+<%H%Wo@-v$TP4`NL}KeoPY~ZOo5bl+|5Wom#o7Qn7GB*-)|A6VD=& z?beD_3bkMz;sf+v^ zHj5Nvo#83bVMIh{{2VYp?%~CQbEoDUO8$u#&oac3h2-?Nr&l!PoZ8X+>}+N6R>5V0 zKAL(xU^vFH!?_ule%Z1F&j0yg)Bv65QO#sjSr1+Sn(sC@(bFMegQE0{sxC4L@oh`y zN3QNr%U&zB%0r66CdKk)zEjC^B&z6okicu{YK&kn^ceZjCcEi}_hypo`91heD>R2i zpZ@FNz!{NyDdj6B>6OTM! zryfc2LCPZ8($8HYM95|*miO@Ut9tNn)kVDkcLgH{gb#F(st(c^%R-$4@5^7wiQm3& z-ivdDTMy+s?!l6gwWJ56kEpnhxXWR9@hh_v=X@0NOwPrJ#J>ae@LU3laXJxnVSwd* z+A33xMZvlJ6C@`|o$R4iEm~<6Xdg(Dtd$WB*82$N7Kci`;r{|Jj4EKkAqYM*r0K~% z>&4QH4&M_y%--e=20zyvn6x*iYT)q1T-WM9Krfl#i_88g%Nt-9X55Kp_+FWIk#ZFm zvNoVD0K$Oc!*6b*i2cJv9HZ0H z#Pd#)1%TxjgDhR<^>28}l0YA3?YAEsstv}8&fBt|2t4FoFhJhs?1x5GPK*!>7FEiA zU&dO#pWm8tvfA3+v4EQS-|)l0foVra5G8MSGT`~|74+V z4@VIF*Oi^W*DVS5q)U7vq$L(KrtPbLg3e)c8I=bX?jj8iV>m7s43d#LUj6wLJ0$ks zluVIbNi`1mz0~`2mp>qn0T2G&SY=#%KCiWTtJUJaq_Xo3Iw+Vd5%U5(=d8D z!SKW$k+7HI@VlWam1cL=E%DdwhC~uwzYtBh-Og42pRL8q`u_+>5(r8&>R(kAsBkz@!Usx1rXnAm*AK*P(s9N#bXP@DIN+~~zT#AmMb=W>9aI&v!jPsmwn^XU zZ`wlW09ZTsDI`I}p#LNGz1+U6ezH&K6gN zwKa>nVHMwvQ?}*Eu(`>VqA(WG<{JbLq1rBPeP_+86J*CY!2IIA_|nP?qa^N(v8%nC zO+B{DaFzbfPGYxQy;r)Bo=HMuo(m*xIKUgP5g~uJG!L14@ot2@n>O1T5gV>Yboo95 zjvHGgB0lQ{9uTM%9kwTf?HoxAuums1`q>-@C&CC}^UdT!T%niwJ7At6&ZEE)a~Zj7 zv93lHD$v&S_wK&4aD%`_{tvtn@IU;xxWb0w^D%Gp`ugXAaNi476peWD7|jW^>zNMk zM|u-LSW*<|N~sXI;2sw;su1X-^zExE{)bj_${#=wL3NuK7$Z>1$1*^n3B;>SwG)Hd zcqaOAvGE}{cGVY{ygaOo%sJa|pi0m!edQH%sf!pT7IoFszxb|WXib~&glS-BQ`X|$ zMXZMEpD>@ZIjNxKvVj9<@Ka;F2t)RT?&pHE!jz1kglgUQrVN$qXez`mG=6RJ;3OCf z3{(AegrwZ1*{r34NL!r~kFxg+<0BxV^gUJ2>&#%)2PfS1-Q9l?(hKXA2jYgAl6 zz{5&$MntsqN;vW8tghQ>7RLRe1bsdKTd>j^k}zFW>nK!eb(ii?zOd(CEPdYF-gWg3 z7xr93acK`&!%y*N_E`u!niPa5ny|t7M*!+-$|Y@`gW30yM5^#G4B%2iVjL0&dT)() zg?pjy2e!vW5MY9cf-upv5d?9S=w%?<>Qwe>E@IrSwTRPNV-w|3Sdkh%(_v9bK^V>G z)yn(B9Hb&h#JHT^Q0^Dl+`*Gu{rR?b8mf7LaqMj5 zHFWr~<~yx&`?fWO#)k7c`C83YF!v6X4~W>7ttwS1z^g~1cL1C`Y^EZgk*wN}=Tcut z7Gw`?ov~oNur?=6v>)0(949WpOuFY)ckI!xz$~_!GOCeWWhi*(_i0UOP3^TK5QiLA zy@@Ig8PO6pB-?hC;WOo1Le4FC`~J4k2KS{OrEd}x>x*U>6_pY@p8q4mJDl!ZFfe;1 z^Ebzjou}e&=t6dt4I}~!Fl_i=V5^epj`3Q_y%I!8RKB0PxIl;ei1UfF2O4^r;E7{~ zdQTJ`@>Yqp`WW@L-=9ba#MZ*9up~ruIp1*Jq#;t>1IGMJ!4q!ocbz# z*R2bC=|Li`E9EzF6?e0tcMj4eD^w~#LSIM)N^>pGFk}1%izpDyPNI3!_|ZxC&|eI& zfRAes^RUO0Xhq?m$t}4&Z_9>x$^Dao-)EL!FEpoxdD&Ge&AbqPK(FbI+mf|wCsM;w zuzoy33{~~JU$RXg&M2xI%;{AzH512Rlm(+370AL_(}+TfJAYQkajx7=2#T%(TcVJK z7=d!icbk10l>hJEreZqHPVzq5Wr2q-e$`EX^?vx`_a-t|W0cpag=A<5eApc`5czAO zFmF+Xg2;^Bq1|;l6HK(;B7}}4K|xVy-x3_rv7(0F0UpJz6fk0Ek(~jza4e>A8}u(ed1|65S+8 zP>-u%2F-MblCx)fSwx-jU6B=j^=qsUly6jW0n-F4rqw}kBy)*B4{(CuFEfw#IVTmz zXYM9a`{^@FrB<4ozQ(y1EYu3teGTw(Yi@o#UCL1Saeu|s+0<0|QTPo{&sHTix;`8g;gCVCTopr{Fmh zpw?fO1GhsGpK-&+Q?-+yncOVG#s%7Cs2NSjvaTPNALsjS_j)eq-4@R`+&+|9*qgpl z&%#tupf(mA*}Ad6)drzEtiXG2FSs~yKaa2w-+aRC@Jz;X?C?}4kq}QHQB0?o`Yg`K z5z|4h_nlWj!199rqG0BpfNElRJI$J!t{4+A19nQh`dEX_Z`Bln=oF|_J^qVUI^J-j zDI~o%y;gHFYE=p@ViCsD;@@@T>yLE`yS1fkaI7@gJ z*ks|*Ne?b|(DMm&B-MHQyLne0pHVXB)iViMu_}V?B4#57X9dicE_oTUyZf5D?l;Ij z%S^#hlMTo=Eb_VQ^P0#Hu;l5;CvxY-FHzy8uY(24IjS>_%Z^&<9qAp(Q)_;WnTcg} zl^QfLX+%HRe^k;f4ZamV?0!7u_~zN{*KDVv&D+Rw(wzQReygWFc09T@y47x5*Fv8E zo3?qHG1DvRu0kzHZ;4srTJ#!e=Fx3g=T}rpkFn%WQh!psk{(wkg*%aoBwcW})&9p`ngpyB@n9YwuUN zyy#p_=_p25MpvM&YH?GD?|YwC8(BCuhL;d*OL9mCIZrvXW?h<6K2uCO){oL`;8HrE zC?-@gXhO=$oa2#J;zZ{5Qz(f6X&FWk}tC(PQ%a2_LZ5HUaf=5PbNL> zyr!0jye;pBLpj0)UY@wVrM>?X>C+fdtToG2a&ye(fRY5i#>f2*_oMF~md)+!x$y<^ zSNvSF-!*}7!0}&dr13yJpdaeD@etRXf?+Wu(83$TLPccy3-MzfsQ#LxdIUwP>uD;B zlHnj04utQd?_0T(;Bz5MbQr*8f2bwYu9hV4A!@r$==X_F0(4yNjwHlQ-~u;nOUq#cZ0+}k z0@DQ(%AeoHDNx%2xnpJsL==Whqh2@c0fOE)?5a)qX{~9k!kIKb&fj;Yj@{P@IDl`M z85+bkP66kW(Wzv$m_Bz5jsqeM{}8@Z*3dJ#Z0zWzu`C2fr-z-mncu^we7XGUgWvnN8# zbg}BZGYpFVSj=mzy2=@Qsfj|zk_F5#^`D*>Mg;7*0vL2dUFGxO4v3#f6j)gkRD9SL zub}UYl`IPAY82CRCtlVbu&%~ruDI0|(ABs!$MS%6HQNHO&t0~HxmKsV$TumwJ~(!=M22;Ol9lH;V3lqntaCFm=G6dupl zo!E37+$`KDHdr^^o;07nAbmv8Qy6Ps)XNwb{iDm}d@(;ck${TGH_!?hgWi|voq-NL z@;b4u~`>p@=FJF=#i_7$b+wvP&th5eXs2cR*esp|%{Mm^u z)P}Br%JN8WDv>01SU)a+Q+m7O;Yp;xt9lLvT^natf@?ki4+jT_I&8==R5|;gO*LQ! z(_nL{2Lgds_f4Gul12rHrhZ>wF~zHD@7ls@nZ0Wy$?|Vl z4!C%F=ZCPyj+a~#@@IStA;VT`lZP!-gj%N3L?~D_B0Awp{fS z)hy}HS=2;UCl(Md-11+B8GN}@PIJZ&$ATv2#GXFKM}8#jZNQQ%LS{08@d>6O-cs6X zG47qVa)re)pF-2bY685I4j{}2$78UCqRrr-l_EHZA-wGHEe-r*I>{lT@7dznJH=ah zV|$6$K>^+rsN%c7ClVW>pF=bSW;|d9R>RuaZfMcXsd_nRZ!92Sq5l_{_m|tJ3zAd5 zfsH(d1V;2nvY{jbm!NiG6YmL3D^>iA9^2k+ke(Ad!Pti6_gT0OPHq$mkS`~|35y7N zapKQ|zIo@uO~N3e5<}q5uZjv_yhVIMD!HN0^h4-)O9_hs_rG8VvFNE9;BBM6GR3pe z^`DHf1^B%GNX54^{@X+(=wF8|U>W4WjSqf~hX`5gZp@Vns-omP4I`{G=m&P67k4~L zubV~!$H&hvl273pzpU$I%Ptl@n#S1)F&C$TTd@BSl9fVJyoK4IUzInERwvrlOVi431oDZaydtk$zWe@_vK0Kz5 zqz?r~^I#i^(5$=;bPA-8chUsDklk-FnXvU&KTj}zo{V%36Tm<70?!|KwO1=^G!D9X z47QT(@KUkUt9^>El z{+^j&k#duxxih5zzq>6kD+MVU%yP3-wT;4w5+!x7s7yLxNn{D^a}}kb_;IRf(J)Lo z9b1T;QDz&7HldUx?$sfz%ULR%oYa1>sY4B3_Cq77UY{?OTE-}Nqy z`p5xa#p{nJv_>cNqmvE(Zk6h8)m{2N8pLL{Na;rM4*&lLvtRmN16jjkB6FU+wBJrH zA{+h83dg2#D)$Jx(nOevzxBQQ#`1!)N(rwI+*t&lk8iNS?b4PGW5+`c=cKeYiEk&V zKa;0mpW$8zVK6EDe^JJdztlPp5E$sPVn0lwHv|(a5%y>QyRG(&9GZ#zN#I6^NH;lFs`~OTR+YV{`A5rF6XYXglH(wiK zw1j6VQ6WCbrhx#gA_?G}pfsP6%UGcBtye72z}d9>gzG%ZmOY zBJgiO!nEV166X$)nP_i1rVF*WZAc zhgxFjqi3D3Z;}KOeAnqs9sdly5h_XAv3979NKIl-} z^+aoUGypQc{xu0RzFv!*h402}`ZjZYCuVe5OmgAO(`y6Zt#f&-Ly3hX5O_9>L2m@h z0)AT?@DbC2Fd%~hj58-+)86cV2xPn;c>8%8Vyy+092tNMDTUU(ZK;Rv=x*kTt+G)bI6A@qyh1w_G2Z8T$ z&>wbXS&TRWa)4vUQDA~IvqUn5^x0d#{Ug-#%B&0nx<~q>mMNf=IcxLg%n{A}vvdJ@ka2UyDhE=L6y%;g}VA4BcGQuw+g_Jcdf-gAJh0%_+zOb*dh zs^eZsxV&?qpKMba=qfZ(?^Q;cNa63X>^KH*3f7cLag?p+>Y`1n^LtP=b%uNb&X=Ye zB-xh$psc(fHgMZpWCnm{G7{=R>sIP;?nu&q7t5QU&SNErW?UW$Pkb2SWFRsUN}ks9 zD=yOOlh93}Yf~c`S-iXG&rtuB=MPpmXUzK`-2*O%1jiFVezTPA@NfA|V$dJnNUFb< zQLym7PA%*$e~n&&I8~|Llk9bb5@wJQ>ZPpf2TN>V2Kt*9mto8+w7@7E? zNlolU*dXK5PBdfWqWtl$hB7<$QWvA}ZDdq;h*@P|fAA?KW+A-v#gHKPClX|0KC4f} z+}!vN(5NZa0dF@>5SpJ5(q@Ap%*$U**OF*D;uGt0Hqe7rq{a6gz1kCiH3q30-MG}< zm-RyiQ3|)NI;0)~L!@2ecujJLxfCo%0{gv}TU6hAqvW)`rjU`Y5`@E0a>n=E|wmC`SzNtQ%q^y!u z`0|=s?|MRQ_j1&sJOD2!F4`cfjM2vCIdKJ=`6{?;$!S0`nSxAUMJGKHA#4>aAaRFc zPGJjzWlkA)TJ75FGJ0waY76oWT0>q5&}&Bb|5=!P=85OdEZ)8fB%&_KNr6MxGP}$2 zS$>_>O@`N8)aW)4vqD*Iw6Lfq57SQph7Xn>G8H9`Yi}UAUXgbHfjiUb^`{_v1Fns7 zXAg!~7QAIMom(0jA8Rb1Wd`jDw1+MoA(@{}9IO(=8FFaZ?vuG%puveomk(+ZKEgqz zDYvsHJX9#(u)NCcMs-JZNoq0IBc7(;!0ub6b%DW`SwloT3E_=Pc2aTU)-mh}q%7HU zV^#fztha%L0q(M1I3pt({q`H{3r+!bH#GDiA%p6Dhv{#6uw5h@aEa}A^gwB?Z zF1EsFFmaCS77jH!BFP~G;H!THuc#Y`*)kjFTYz7%zJoBf8)s+OjcS(g%|)84#dh5D zbQDq^M^u>)(|SGa-jBTwf<^#@1gW^5QA2HCa!Ja~%3c1d*!s572!Y|B_?}%~?&q?z z6IeFZ4_Rl?W!p0T>E>UKcL*QXfOwxkwB;y=K%}nG4z;m2xgskM0{>WCS(!<__oVK> z*;4(P0w+f!82HQEF^-*jJB8{`b>{Ixy?q>DyfAg!NM8lFGx@)N7aW#2BOK9k!0Twh z|Fa%@hbFJ*xHJzli9Z=9%frM$&3=+GJKU8j6e1h~9xk-qV@J(@-tc{n6ratoaqQ~% zod|SC!nV#5y{+-2LP5#BimH9vTjfG?+mCS{-jhf*?8NEwDYhx&Vln91oM#gVjm0*e7;Z<|3`~!&??I_L;j@tDL1PgAznxLIyx=|1r-#(2>7$3Bmh%i@UOKsM~tNkzkmd zJ@jZV2h^v@PE}^I3;}qJxJNNfA@l%jh%tVw7I2`bAr8PvG+>PxR?FkXNrhyA`v)p6 z2+nE64Y-8mTG7XWR1nr zXCDSw4Z2n7^bt*0i0k#~8r-|}WOC=_;6>LoSzKtop;J3W>xk~R=>}fxB-gfFrB*?e zZ((=sI?W}Bj68mz6^w}@m5di}+RI;4g|<}7+vI$`7Bur0H7WUMUfOIN>v|4HMYA2f z__gUWhPy&D;m?}%n0qv`fSPB}U)XO}eP4>$xQZnVW{3|*O>P@)5=ElpL}Ky@MZ)WX zyD0L_%@ENF2)OX)54JA2&2Q&Sc-Wo*g>%Ueb)9e7N>5LIkad94igLi8tZ7>IX&zlN z>JdWPccIF;V_%cDIubJd9RqWxyBn0;%&l^iOG4+W{EHKB%0(+EOqzjRtK3B@|D)Zt zeL9n0{mtSI`ec_p-ayqz_yn(9Yp53)NBZ(=#8=nPms+Vst0=pOhO1+SRYY|Hhb5qL z58xR@9H90cZMSyaJskV2#i70ARe>|BxI@6-W4gG35S2%`M~NRUqweF_=o*TdO%HKm~fzQV3?0nGF;myn@O{z zmG7?^_nAwY+m&+)3cr6wEO-1W-;S3w9`wDT*w@%+um%)~PtD+8cK=9vyLvXy`ERQw>iN8;>P!BLs zXE!c>{`GNz^orw;LEBu`;n*0wogZX$bh6a5;xUF-WFof6Q>;oo@+9XEO!z;JV>yB$ zp4^Pe9D3dS5A0tq7+E7^r)J93X9?^nzs(Xjy9o;QWWP5X+mfwQ3;$zao6H2Ff42<# z&B&~%pmYIY>U8eBUbG>yJHggKW=vcEzO?T_e!u@QXy81G^k6Y5iSZ5iaO|#56^CQa zIX$|M$?TKRpDu%m#UbCLzT))^6|FIJ4->L|7|ztoeXoVktPxLZ;5Xz3Uxfb;xRVo` zoN(%h(^sqsf}ME#IWRj85pZ)k7)gIl9wFi)X?35l`NdjUSdV9zeym>DbVbz`F>HLJ zJn>YcnXp5lutIT}{Oda556&v63rm+qR~<&B$jiA8d$346-XSr4et=u7*pesPwgG}vrMpI%aWSacGukS5eQC@WB9KgmkC4 z18h*V0ub0HUksxXX*b?i%5_(^!0RIa7c{o7D(&HqM9+BNeBm@TBjwXY)ipJY z(fk%1Eb=8OuG|ii6^@mYk!xPnK;#Qw^dd4Rc42-3?znEXmESAH>J!!1)fANDWT=be z0kUt#e5&xrbxFpHAjj8Rx24IubE#Xth7bMN5oo0ns}HZsnIrSS^Zp+|+ulw-n{awF zDk>ZZB-Ebh`Ucx4`-?;WXv+8AMw;N7Kgm0eAYNinZ_263@!$j1h4NhnAYsV)z z4nIXDIBvfWZmr>_e&ug=%HHo#yDIX*>(Ls^N;E!H=FvhoXg4KMSzl3X=t*Fg^?#u} z8kxN9V|BdQ5 z*?aGEKc}(Y)c8lRKG50SD$-gz>7`V5o^Xi4D#{>We%4b@HzETk+5wq%0w!EM0}gDz zXoGRYqUxL4tbO-BoVEwU*zkIFVeqvO{nX`x4~nSd&}Qo}5Wvh|Az(~NhNH@s@Zxax z5);8~+(^y|hecCAdAZo;j3vqH5ss~fdimvl5ApYM=YrZ6u83Z)ykPY<;Z+Ko=;!ud zIAUDXo32&pE_D?(*3~=Z9H4|pCVaMk0j3w7T-1XPo$dlrV^+0Dsyd|*d;>D%S#inx zjkSE3X-$u->5U-S#h25sAM*bK%aU$?n%M zO{#NaDbAP@5cu_>KA78zvQlK*w!258KcfcY6>f}?sZ`i{g;&qz73lNB@pVwaaW1Dq zEwkD?U@Ysj)tMD-EtOi5xDp>G!mkbM9p`*ioUnIVE$p+=UYj?&K9y{A#kPmNmr{wE zZ6&DGJ>kTn*2sOV)IDqdmEpwDc>jUFdrSKvzIo5J!cWmG{SH3t1mqF60)AFq+3m_J zG8GeR-lHbb z5dV7#1~0?-za4S|O?ugNERdZyG_SgUlIIZGAl`40W)GHqqfp+L!&qIMWbu<_R)%rsZWZgf;X(9vVw#W{_CQi8-C?)yJJh%rix*t8 zoG_iVG*CmZoo)ESZ7zN1m{r`QDXs^(~{rIPksmQpdHz<1$p;|kAN7U?zCc>32_*>+q7Q(O%M z60Xmtt)V&P%^|e+m>YQn)|^HZ$cL|QM@($cgs*R?@}h{@flUE2M8gUu zNe<=~;8F)QVbxA(1*n+OiNXHR+K(X{I1?BnDEU5!9R{RRayS?xnORDK)>s5$@4Uy= zyn#v4{}X~k5>3%D&V&ZEA?fe@#<}rhrL&dCtNY)dY*==pJ>WlZYgj-D!U1R=HjYY1 z_QPr-6uiq`<$B}|ndYpVQOa7JB5fe6zF1}_OrhUpx91E+5<_C^D^MhCLCa>91k!YO z70n|ngK4OY+ry#Jcur(A22@QGB*klwsgj#+T+m&&?ZuW)+K_|Cgu7}T#Gs6ys}?G0dHiOgSgikXk@ zOJP8MxY$=gKDzZ(6U1X@B%lri~ec7@}iT|hJtl=@Z(tolZjE5GSTfx5y* zdee#W@ra3uA-2$*p3+Cgq1VS>#zDdN1m1 zP|dq-X+$>2`hT$ByL#yTZ`>%f#zKA9BiZ@X(DqU=%|zPObSQeBG70UEfY@bhiFRtg zKoLU&Xt+epyk?y2mP6y4qI!uKOXu{PzgfuSbfdBnt&4Ysu|xhpc)%uXpTL*HiRuRR zAT{K%XTzI>>}vSu>MESPODQm*0MaD!Gd513)B{30YU#j{kf~;FuiFDd-9;E*b9nc$ zj;|U2r;z>Ewcb#P*TF(PLOnaExFGAIBD>~9k8cKTik@dRZgIpNn`-`?>HgYc4l@VB ziBKfaBrUwVYKbA_{P);Sdb=SbkEj=TXj%?*-%RJr%(cs8zDmdVO-jl!gHP<(@uzZ0 zfVy_8wiXFhH5EWv|vzDD{BrDPKb?sP5zt42PT zKGb>a(VGW*WSP)U6GSZ$bgl(zhU{}yeW%-}E~KTB*ql9i0}Qh26mjWuG=JkaM#)6o zU3z;7X?ghXyvb{Q=1us3!_aZMA?kbxdfS}T%}+-^qcTq8#bD1@XXJ9Ct{#-VP2&NjG!_|RWW z9H97xt5&VCUun|gM<)Ek(%Y>{|N5}Cl7H zC7_M3Bu7A{RnN)Ng`X%@tl-L3)=+kWj&fOF%x6s;lW6H`(nd;wmlk*?0d6FeesYnO zE*sJzzeV!U{}1rhTYI6zaak%nB4CBs08~^um8c&pO~Q~90Jvp*dj%}S)TK~wuwf;E z>8o7Q%O({90%OduEqkgc+>^Xhyl~{V@4_Dxzr-=$SQ`icpV#b40Rd!&X9P8Z{|9(9 z;A*_$r}8E-UVg~&2ZX>4uB|xX)7vOk^CoNtJx)aoDUbnZYeJ*#9YKmgl(ix4w7!7J zvyStDaphIwWFk#k0;x!ZR)0i{ z+rF7l7^R&z_!7xhey`I*J3P&OA)nRcs*`{`v1tR3ByE@;;m-rqv&( z`~6j1BEL5577oH7Lm@*)9&r!Y{)AZOnQOD4`yC4f>m1iyb#guaqQW}wOLgHRb}>hM%)JnYW6TS+offaax!LKyxVn)MK0&_ zRgnHsOva;ST(9wr7q<)a0B)nf$7Xt@?v%VHn^9)p?w#G_`J3U>m--`7@)On$${&Gu zG+F?=!LVdv*wnCj^+&T#vEW+zsCb!>glvvU_OeV8j{8WZ>*`e!a3b4|W@k+ajP9T$ z7{=u^x;f3K@be+Y+~mYrR4M-rgb;zy?INBAdQ#knypEPIvS*5jO(cEq zo9^i{bV`92o8REnxN~M$>Y$i3L7(IcJ8T*<02lnDgB+>stIvV8!}^FH`>%%JW!c{K z0sGbb)nf<<0{~kjq1wGQ_Frn6MrN{L7H-%!4JR1kIKd!I{^AeM#urY;BM(JH){=!a zi$D9Dgb$i1jKP*coMGf>zqezZWORxKnsTf< zW#$HIzA%YIJzEWl^w<@9zOH8?{u)O0i3JUASQUFxIU#5vM8|c!MBKHRjBMME>W8axYwTZpgL}4SPzJ=i`Sb@xyZM~TbOn&qa|ty%jvP3Y zC)$&tj<79rS!~n`fW4Hkp$k(E!MJ5_Fa^7o#5j+9Cm&aq^&5a69HirV??$C~r&K<8 zH~g2uGjUDrWWe;bovRBiMfu7^*Tflx<3&)93*^eKf04{LzCvm>Xx*|&{o*m;F~Ih= z0n&1K+NBRU_BNo}yoEikj_IOzlu9%VnV;>VS09UXD&fGnzPtu`luFTj+Yt2nSketB z--fdpDHRKdb|cayNUIMeCv#ZFulo*p6*o9vJ*Zykt=DO5Z!t)}$r zkQVJDK7O)tZ)+cwqqNks5BlKuc~u8PK^TeO8fc4<-l}hnJL|f-5Py;Li~&O@Z1B7R zlvkVEBQ)@kmwzXo3%|tnW5CNr)nJB|FS?3z@I*gM+KJH~yjE_1uY_7)jW3UtejBZR zF#K)VMKHzE(CqUwvWd#w1@aPkO;@grWe&e=l?kJoCd6B=?NOnDgH9QEQCj#yq*P+a zw_g`#GL5S1uEaIU>OH1liH6|7%^^`V^3z zB{#+L%p+8JJvR|7Z@|PU_YOU{Nj-jx>d&;K@qvbZrerA&$5k&#$FV!+f|iNFLBj$K z7nacQTU@#hYD64C8V`emznb&5p{nnmFfcYa zPAEy&@$(~qBVg%WJ?)!-A7v5k;8X7x#Me(MgeP`mZ3jsHu8 zG}-j6$9VTXE9~yHrvUpRW^k*pu+LROZ#ivkKXY7`ve-}yz{}@W6#@N zH?nsei>N=Rhmz5Opz4CbLtX(x*wmFjbJ~Z;-;3U1hJ}@GosLaJ(vaPPcZLDmKi@A8 zJXvTAb}O!GI#^!dRenXdtzX`z&B*YjYzj1WGdm1d-$|W{(+knw3Tt71Vm#HlS+kfE zefBARmVG{aTHWQ1*J2ejHm%GHS5Of95<@?C=4<6I;1f2DF*VAn8$aDlBTinU z$XCIFI4kz6v$1up#a7M8 zp4hdqg~sH5sSwMR@MlFE(a_=P?2j|^A^XR&kmA!69Ojm5>mlsgu(DV|2Ldr$(aA_c z=I675mFrx_%KJnT<)vT8b5ebC&nMp!E@qZH{3^4b@}Ka26Eu@>bZb)G2dVp5E&r=cCK>lnjwFpM#FJ!UK1K3^v|+eYdq1fsC@x*_=_$Mx3yF z*Gc_-ykXDh0R=Jo%L5L>nIHDAe<{bWG}W$pStpj~xwAcHQhl$&nKPD8VQwOndp<{` zbEr5ixbv4tlKH%hkn#{5AFbMUQ0sO+!{fWiY5xIDd@dNlmo}C!tf6j0bb064-&y@A zylTx`w7~lSCuIV@N70UK&F$nD)tVc(d-|>8bw|V1(CJ0!?Seng7e;9cP75SyAa~FS zkfM$%O~v@)#YP*!u&UY5{|sq_Cd>^GS2b;->JD;%ez$ONpA58r{BrYlgF8kqrc$B5;L+dtiU=Ss(n zB7rON7y?ps>$lh&7A5n=ti)ry8x48$b>*A{F*AwnKa~Wt0@VY}7k_&l^QAzqgIK0e z;CJ4E@Kp38A1)VTUBmC9xaq7xC4zX3L!i7iB1*11RayfjBkymP?HA|(|Ld#Kbi8+L zI5zpHv-%C=st-vb$i8o^9r1f{4pndL!aj*t$8w6UKv)AuVG79Xs!vA}|3o!4wjA?> z3ttB6!C*e=fdKZ#S#G~?3!x`!0OU$^g7>B;Wv`h%8REgW&#I~W*;u8`+8|c9fxP2zwqI^^ktcCKGS#wlo(TDc(dF)c2A!U0Y^`tmDkis zFZ&hL9^WR3saJ41(AIpZJxlIiiT4ek>4Yk{EG^)4dt>Z164dkuc-=9el{#}ftav|) z_P^)3F@ZK!={5YsGKv)L;zDYd7ce2dY5cP+Q=^$U&a}ROKE^oW%LJ-sE*FyPK)1-BlgS(@uY=7 z^g;BE;);GGgr4oXz)&hoTD+IswSUT_c{~zIP#Wp03pB;hLx)?nCx7? zC)~&#+|j&QY`}WqQq}e#n$lu&LnRBBzWfCB|Cw$CwqRgBZ1rUp(DJ>K1xMPqAAi1H zL*vm<>jHI?`fTG+l>T7x=FfRkP-_<$+4X`f4O5mN6frjJK0X0Q%+_Ko`m9;T-{|j| zqGTjzcvAUSe&(|z;z3R07Eizyy&V=gZSA61bGCTKd{j6|bc+t5s#E00_Xw&RI@ig5 z%~smynAwx=ZCQ?UPHjIXQXXt52nmewg<~ew6!PYC*fS;z3&#U9UgcL>j7=b1RNU?_ z)X4h3y*HoK~!916C58}ZL{ zdxJ)F6TZ5>B2;7s(~J&8YV zFsJ2&+?r^t$4ad>_^?_y6sI&GaItw4M{pa@&ii5j4pp_z$dhz^MqpqM{N76ceX z;Gkb4g{3PCc>lK3y6mmVs$&5D&OuH zBW@1_;iUcrxgA4{0fk~IL z+;pWNtQZ^sQYyc)25x0#B>uDfw=?pQfNo$bIUy2<&yLrNu6x19skd5!k@d8gG;NI} zZ~ru%R18+k(2wRVB2e<4$knhbQx)0s`rEqhV-M~}FKW4-&z4U>HIyXsnp&=F^)*d- zQ^NOlzb8iYqV#?N8sD5>Sip25kGXrkW8Huk9zI^%5tJR?dteS6%%h)C7TmcY!A9NT zARIOUwqp+#dfioMZ}pDB<~`lpK|Gf_wp7bEn`bng3TK*88)MLhWYBbfAsXk>yU66z zhyDg_mp#0~;4Fr1p0P!!-yVKF-v36A3d9n9jJH%;gfE)io`FTtyAJD4CU z2RAOvE^|~|XfW$1q{~k|y4wR7f449wo^FKM-ZRSzOMq6o|&~uE`F7m%dk+`(1Y$F|3WhC5!N^KYw%& z`!Egowmv6Kbt-Wo1T%(`cmEtj+2F~)LGll9|Nj_!3!pfr)!{~_uk8Pe&XfP2Y`arE$X$c z8?rN&s{e3)7z*0bVvo<)n`_XBV;-Q26pM{5B%)3~0bDadDp~e@HFUC<$u7#}J4rW;Q`8FtkGu10%xjb*`7^Ksi2ON7X(BVghqQGB0c>jlLYXib za+PtFabb775n}e%4%aj@WFxeh7B41R5cPR;s%hBJFMV*>2p0+v(eiiY?j_Y0PgR2_ zEJZGiYMMfE7vmr2A2;sJ=knb>=*aaU0N9Xz+o{8!M3S%QNN;1Kg`hQOur~!TpsBQA3lD4v* z{&CYRwqI=**T6=5;O-uqQ6%CarQ)+&G`%1I>I@*y?nP16BGC1|yjHKOAvS4t&5{w7 z@MpeR9@)SVw;){fOXj0o;9J zg%0Ayd>{H2S8ChInWD#y8{q34CxYJ!4EmQ#`o+cw490lH>K!~#=*GR5_;btMQGq#J z)1-Q-GK8tK?i5EQQ&8Ip2Fwyb2>HnTcAqrot5eWY_r4`RlDZ~i4?3}&W-W@%et8t^ zQZ#!R8qG(He0Q;CgG~j6ajM>}#6Sd{`x~qtW{{-c8X3~7NpFd+<;JsF*ix;;`@O$V zU(W*l4>dYbrp-GRa0x!ZfQ1+mF9vpx?20XG|0r+JQ z7ME9sPy`a)`QkCp0L4tLQBwb{duc%*UrXjxK+=y9ACxAf{{XML^{T<5c_g%!`$2+M z*N(2e7llZ$9`j?oyd-&l9hHgUO;7GXhGR7eTT;jL>{XtjqdW~M+N&ss_f{dE zDeJv%szfsnhn&S~es82&S~%VfYTgr6x2=)4IlT$m6=uc%CfvkyJ@7QvGc!!?&)`;Psg6qX3xS$V*C^uBb+>*^#^)jX8ve9y`V9W3> z0=@>RhT!q5g)Xe?ZfSxHYYT!cW zJhI9EE7_&9Ve)@r$EIOnd5Gzh`Lw11#mhenjVG!`o}@ME4Lz)_t?_T+kPepkNG`Kt zq43cF#GEamp`f~ku#3|8nf|!(VpE#7H)wxQVG~o-*;UjRK4=kHRx$+*zoDP5&#;_&r2h+#mk&Orf1L8(!cc;Mk{$tn zjisaj85T<_6avS^I|)SzD2i`Lg@Yd1B4Tem-|;vduspWmUR z&_NFd)n87`GIdOPq+2|f&#JS>%59I^))T?JK66{})MqJ(|Hp1)84JP)`X#)}yF^;! zu&eHcs47~qzG~5$3el3?r*|x^*RrH293D7f*p!5kPe?y=aCK}D1^=aI-TiDcY6O8k z^%rvtzRG8p;kl?hZ5i&;&1~2ibR_gV#39Aj+|m7oyx@)DB#V`OvVULb-&lYBELT(^~|7dW>q9$(x8j%}?5lIq2CnWw#`@RLUsTDGU4KMaebQQjpT8V+%` z&FL=~Y8R_*>Aa0{ZeIxbS@p{JmGZBm8@D^V3cOTP&Jm}AN0bz`Y)4-p=P#PI$FK2S zhm#&tn&QWgq@Dw;I=lq}#E*EmNj~4tS=){B@0s>p&~dycsvrO3@hno&*unY&6SHJ? z`TeQvZt$s%HN9y0bX@OOI$xgEefGqz7<0W%*PXmQQ}$%vBYN|itJ-GPUFKRE8}GvT zRbb`fo-^e-l@!9+-UqVk9glzszM_LWr8EY&)hv>_lc`y4G-+rHo%5zSOim_$Ov>5B zhFG?oavkApDFl1!?BN0#sA=w>8e&@XJH9W5mA#=!Vj;7)&X)Z1SGHH63FoMsMW2uS z!;0@sbf$TNkkccD?`@WznN>%{Dqoh2#H3K1uIMVE4c^o6d~xEvD`JDkiAuX+_*9dt z)~o_4&N%sJC+RP^Ct?Jva4nr^hfR9<8R^&(lbA^L)|z~nZoJ_IX`G#RSUFTI4d2?PuWC= zET)9AexTSOS}sJ+)#Kf;l+r+aHRc_S@yR3+z=3 zsnzrcjc`^?rlbZO%gP<;<{E1Ab*@pU6g z?SWpRVQ+UL{1`xw>`Zx!GGk|~H-GnFl6u#1j$*HyofPc}Pd|6!^NYBdSJ%p4(Njee0A6KVz= zANd)XCcL=t#=$|OYxF0GQn*O%yeUK+y}pni+xFCxN4ip;Asm=$kp;x&p31Q%eZD zxO&{RVCjQTeH0DxY@jPBPuo^mpn16}#Mh9FRfbp?a=ql$5TTSm5 zjnb@&$*4d74u#@F-vi*|bsbj2PI}<11h_3!Kv{!E-vsDi>=exD^u)BEOYYJFqNOy*xlP6MYlS zm<`OE8=$bf#`ciaPr1rrvAn$4*{U|`_7e5GRUPPRnWR42%1T5o~OtvhJqpTtSQ<&ou5a$vCPW|(33vrz1ieaxw z2t>;5-==ao^0}q=C00MZ+j7nbYmla5AM~WYQcl4Du5p_={`8An3SX2K-&?>u&%L8f zZfNbDWyvvb&?j%=&1Y9Uike{Fj zq-~?|f`u_Nm&Y~4D=o9C-d(Md>UepX2X=b2pG4Pug1!+UplI6tB}{$hn!F!WRy61e z`0z?^+>a}sTQf*c%85!gw!ThY81ar%XP>(|T= zzY1YYuV-s=2}bEiwvg|uI^J)!-#Hd@opz$WM%KN8450~bdmD9PJi7g3wrY`M{dq*_ z1P@6M=((ZY!l-x@1|qpdk8o^`@awB17NoHo;oU#tnxCjm{`9!fuC8XWinup}bAvkw z+&J)XV>^WV4h=hoyh4hiKF3Co`-9NX;OUoAlQ7Ph+#?df^?UmbtZ}(M>gD@xf8p{i z!t2)reLDgtE-Xr!#smyB>{`D+y6DJ6%v@qd_6#+X3UaV7;wPNHNbW9*aneTz&j<_U zuGTh^Jp`8tU3X<_)fGC#bRw~PbyFfGcRPG24>qySYk|QCF|o%9f_;zlp1`#W<^76~ zmVg1b2h*~C4peXVTqFcL8Yy@=Q-%WM8${cp76b5L@L(4&IsDt?ZXO%5GVxxmx5`$b zRz!~{e*e@Yg31ybKW~bOtN`%_RiY~75F2}|cMVD%NO7mCZo2aOtya5Wyf^@EmA4ER zV6@EEi#K3_Hbi@pb}mpUq6UslFDnr*CxuR^4I_)o{eCG;LBM(9xiO#^eT$$ev#Gio z!pL_S%A&}3{StO05-6LsN*O=wo@;EJ+K~Z>TkCgI6S}x`y8%>H3^nZb zf0(=`TLYJki}Re~G3Tvv>$=u#s}-)`L{aH2m~PPu1de@K(;jcY zg`tqpsw$udeV&;(g+)A^&0QaNxlE|~ie^2u>7EWhHlZNUrl)dd0h?R8~-~PQ}B{^MZh39v3 z0QHODDKs2b>vY*iHcXb9JSwm-KnW<&1I^w!An^913@)sNy@WeF29VG24`|HY5HU>~ zDbM3!DV<=@>ZW!ZqB53ip0vru(iC@;m149CFp=1inW3gm&wF(S4MgvOY*+bh(+)J|E{Pof2b?ODh^Q{y ztIHU`HV{90n3#0Vn)bGSS6;CS6%#EUB&qmdHGuy^p~y5tpJaWl80+n=0S}_p-#0wD zl}kJ9tqZw&G|Ksyu`9LffhT|`oD{tMGx-_sfBKS?bk0};hA0pexho6`a?0L}OdRra zMv})Iu#%|oOJe>>c$gLPxPDlcg+_q^l%_;cZ@K%wIL7g8}1s3 z>>I8l;Xz!(Cn|lY&yoK#DKst9xkpo@Nq!sfVP(xbleu*1!(tqY3ACSuCQMQNT^2cI6XZ$ME!JdFyswFQ@5(9 z#(g{lkVM2w`t5vLtI;*8Nw_?wdzen=Bi?;03O-ERb;5G39(QlCXXJ#eF+~E=0?~*I zrl81SUa^+D+daUbi_hB6Bf#ifY&fU~{aR5;dz;Nf^O)_Z-fd z={NhExAUfGe!XLQh7qyq329IKoll#6*!czO2_8N1m`^f^(qGk@m2uHkq!3jRl)9~j zX1N~qO}uW&i)%j+O;Q465}j^n(ixX4JYxnYz$Td>ec1Bf#ffZcxD?gp-R`rp4PMQ6 z8@L=!Wnjf|kp8N#i8O7Piq%u+9xCc&6;9CDsZOm!euj)BK|-OLtmBG!6WaU-g2Q#H z12RN`gaU=yJ2;lp*h)y^@hU@>)>v_WVT|Ug_|Q^z?C=HhKA0Ehe51$TwFSf-qGgVT zlUZKFKrWr)^6AuB$+k%@Vp_-4vax#x=um#s1Hrgj7>lQ+daP{}d)5F8Q*|5h(lgf` z^EdWC;E4J~3Z89ni_~Lw+dY$C>!uhO+S@c;6~Bl0+OBoRlq;+3Dh{bmEve6xKhgS7S_{NJ<(H+iZAeRQQ&%31nyx)d8PlJ zb|o3rDZzIN_zC_OvecM*J4ts+-n@iZ%ZB+jhWnzYnJ_mFGpEAaDsDTzU!H|vZgd@W z*cuc+kf@M^H^rvKQRG5r z3X8Z}#f^GAH#9ouYC~$i9R4dF<$nJEAl@Q{62ei3GE+-S#8orSc&Q- zX-{5##J2dM%>BUijrrSob94Ap<>LSh*eaiZN&VVcZ|D=$;X9eu^oQb@kc?vlS5#6S z!kTH5YS>V>MTmUn2#_Af@)H@|him+Eb8-13VWy%%>G`4KLj4V7!Ela)zY|}Z-Jof^ zeo2;DiiVYem9)l1-@AW@8N{t!Z{AU_XqvaWRhHJdeqNZZ(z4Nc^ar+ut0WV(S zmVr|G+`J$!5U-6ebtZw;4Wi9v@oim+-IOFNTEYB&ewISL?yhAnOf6}StEF!uD07Jt z9pm0E6CP_}aV%Rjo|1Yv0e^j(d2MFsjZ%m)jz)vupsna(^Zo-Ai!)slX8J>r`RJTcTwT-^ zB7+P>e+ew1D9*8T6T*rXkF5AVb7%f_^H7)PnWByVHT3j9#O01Y?na-7bFnv)=RZN> z_wHk}0B$Bg%OQCLw4AoL#?25&1$hH6VGe zd0`!!_uz3wf62(m)y?n_aQyU3@TY-!Ttcg9$R=YoW8Gj{&2E3en~X+iO0RC}_A1kX zbjv-X1#;ntl^7?&=`71kL_=Pc;Q$=9;COfo!lvL=t>%BMm|q|atxY&+01w$g5Xhvh zTg2D|$8Q7cX}mzbE=@Vr%rzw{neaz8JhGLdKE_Vgum-ihh#m%Z zREx;$Ih|yggz-ng>)^p1V33$y*?x1_^*1a0#@`uGqJXpKEp@8qv%A$ZP z&!;#JJ<<-^`J?sH!!@0noPBcGX4xX;6Cl+4G4p-EG6NYG(P0#Dh3zf^VBeyfOu?>C zZt(5)7EM($!_*!{0V@-T!VF$`VZpk$ak}nEP%rcXi~^_4@~J4-5KvC8xr-3AUkoIX zq&MZ3KY4z;_L%U8adwY|wmcTlTW`(t^G#Kon7%&#a7eh6O%_RR`2lgz?;x|6r{&Xu z&>6-hdzMAe3dQ zR`+H%8$<<~ebnzLjMhY(Q``piBCBY2(zVp;K0!VV+3t?1a%1eK+hSZM=bi~fdk6Y{^ItHCrPS! z7w;x%fN2vue1lvqpFyx`s*7$rXmg&|pzI-Gp<-bdFU0FR+(XAYfzVO;k*#mFQfd{- zToHo;ffTO+5%?%0YtQ^0xJ3Kpr_(-|q1_JGgAIRE_2dxc{P%R|iZN%WswTsSCw@Sm z!M`w2w&6gNz?`=Nh3?#AiKE(M6L2lp&O>EtJ4)>ZAv>3JQw)172%$%jez3vzc2oth z@hu=@;z!Af@KEYo^Ks|!P1PYt| zkzY^m9lcl;UV~~+D9bO@uAuIq@u!iC`K!BYA1o$dG-RU6&*m{h#+VuhRsx^i2n!-X zSG#H&ybo){hXXxf!stD}ZR~r4>#7%16=%NcPA8fbPR#B#91_O!u#UG3M3Q8hMC+A+ zeN_2V?H`?FX_^vHQyD?P=#5(YrqbEw#Qt^}v)3Vyq9Mc+Sg4NnbzHt{t6J5}EiMxQlC^XnzNwVr;itDOVH%K*A!X-TFB%zN$C>dC!9wr+u6F3#Bx z(A1+Q&vT4|Toz9n9kH)6Yun3{+Hc?AzU0zuSw9$MUhoeRx7yD>T#8-x+qa)dE8>o) zg)Qs#du9n#3Rfa798gS~?n&RE5TX#$JBL0@xwf9cu4D_MLVv`#{G?7E!B!JWiyJ_+ ze~W8d7T1Tj=$Z^>WsF{{BT{dNxA{l&7kzD&)k3-M``1&??n-5=#IUT4#|deXihwkY z<(1Tg@Z{tWY4bJA35Ww&djFMy93TJ!_=?oiOT2SJ1Behj-v7?|nnVS6=#Mx&v2Sxp~}7U*HQnReD1$(Ygr}G(*I{qaNC*xn=m(_&qq0jYv1$Lw zBrQIiP_0vLNRDi&-ZW`V#`OV38v^-n5^s$U_0AA|c`xtjA#zdX%3Y|&mBNbu=<3O~ zvgTtL&Aj1u592v8BsnB`b}7g2PfU#GL)jwS3T;&%;D}mvfNUBGFC#N!&7Ydf$V(22 z(;Px1#*W#pK@gmk7PhaW^N0(*$4pud=J3#MIA)jQXAjtlgG8*QT*z%s!{W=TL%t}d zEjyTIB^9M*>zR~P%co^@Yt=7iPqj=cJOA$jnCrwn^}D$Jh~fRGh>{^4&Gwe>D~3Pz z10(K9v>*W{4;=WkkmNQy4Sqf~iy_!-`DRA&_s_h+5V2dliR|?#KMQ{-U66Luv-3K1j z&!uM8g#l&x)%vDvDxb7&%o!kr`0iSL!yf!%f$YPpM;=gf0X;VZ+MH;8&>0;*Z6ywZ zo2cnSckd>}3-628GgI5aH8j3gXIPGXE`dp<}jo*>tQtj=%s_7H43H){6uE8|U|}Rz&o2Sx(2}tvEG@ z;#1VfpxR$V?kUAFevdA))c77< z3bPMmYw*p;#N}|cCMXBfVWa<8)f6eO>xGlz5Q-ZJCXGU%f=EM*$HGnpb6IqH9Ym5R+Eg~@yX|O1w0|tRHUGHsCR~Thh+t^Rmf^(cG1hd&@vsxxlC;F zxozV!rn#4rRP3M#$G4JL@ zWXg-@PxAN>Qhx}KvmFi3EzuL_@go1X1|i@ZH~K0-bSKU!)C!sX&2?<$H)Jj;%zd?R zN>m%k8Tw0E^dQM!W8gb|b5|5U61Eo-?eO(~8paFV7OV7>3YG;@37$nkg27`h)xoJ+ z<_rbWHJX_3@Btt7U(o@M?mRv5sDEQXWm!W{M>$Q#z=Y`w3AQShEXTq8K+n(3Tlv_W zJFr`(+cT~}KLfjfBraki21-}_n@WKg2zgcS7mTl2ZmwWY%`cPjlH#Z zfFFt%<`p0loe{`QM`X^xeaJ1A10Ey3)AX?S29L6KTwf;##>sBA6Z_(XzPa5)?HCj$ z_beSZY55?&gJM%l2WnvWCwSOmE&@0iN6QfG_BVEb_)0nG~)gJIE4p~V7NxzBbJGC7$zN(#@rfWMGenQPkm!WWN}~F zGodHf|5h9jUm`*AnieM4@}j%T&}?y`f8-wnY!~9%50Unlo=#Ws^nu_|NtZ+o zhsrPn4J3e2*l&J6e=TEt!u@o2Xo69{Wtcfw7W;X0K7*~OE_ypXQ9q+;w}%V;SwUQQ z$CG|4sMtB#4;Y*OcVKIO!s9VTE+L@R8?f)DojR%)!%$+nZ1CaK?M>ip={bXl#i~F2f;oDT%uHKM}f-bP#PNm>lTxXINVy%wYZ>Q3%`W*Cf`h zr0~gpHyKiX_J_^W#>mD<_o|8hmz+WyrSB;@y3a1fDKT3krvp_rLH%r>b`6~rqRL(_ zu3JU@x_3|1dZ+G=)Ddvy8+6U$|CyfD+5URg`-dVq!=~kn25FVDLsPMMcX|KKr*0^U z#^xC)>ckZ$761}4;l8d%iBx9<_6`0MHU2Vlf`m1`#+-jCQDrJ$CE>{RR)juqcHKRd zuifCa&?hYscgOT^D(@c$d&=Q~+vB?sZ=5-Z8V_js1Z3Kz#pu9XWz*v>Q1Vi;&Gpqo zR`?pb1O!XjpH+nZM``ThpZivlR@KUypLLkq)$vW;Yl;@se}3e5))`n!v|%420Q^i% zN6a#;)p4z;%@64eG@T!szFIzbILmXe59oTnalC;hj$$sCOj~%W;+)`8mk}-9h^elU zmQ)JW{T1Wz{F^wanX*f1wbtf|WQ1g-dz~Nj#Y*wM>ak#O^=8EB=A$ZuUEWVUfkq@y zs%nBRkVg1lhyQWl$mz5O3e^rvNqY+>jgKr`sYqJpMQz?O0~7=Q!xjN;p{3rfQ5P}f zGtTM2?e3kCmn7)_arq+?kzy=^xcz?x5XL6%uTQ&{9TLUE{@dq(Ek%`oME2vS zQHRo*4g*xxIbegQ^w*iz`V;lFWRz4jL><>~r@C!m9c+1rfpXfEM``V-_K~ZL`5&B< zu8-SyOT?%qbwQIydESKQ%Pk&gDa2|fEE$NJaQN*E7r|2JT0vemL}6%bIFrYk0DU^i9A~CiuN8vkUaY4q;Bq$4(XepGXIrz zC8EdaRwM0!Ca=`)Z!eyJKfmiXOB>i*_7@bg4i>qU- z?|-lSbE*1gltQF`qnf$*=bI10 zWk~rEhwHX%b-@_!dlA@#SHVmf~b#NqCeEw z3rO-?z6-K7fQdirW(RWM@d|^nq{7iI3j^rJgCDSLmym{Tzp5~I=*3QH@7f`wCnn5g z?;zf#5)W(u*yD3TPqXTAG|H-?FKNT~srf-qX>qNRRtVtq*4}y z)S>AgV}hQZp^Ha0{SEwAHzL7Y7l|&#KTon+)9M?cxe=Jgl!_gFs-8Fdaqn}uA4X1( zTUG52P`iSffD0{&>8qOBY{0*aXt=U6_3Cfgv8t-!IJ@k&6R`HLHHLw!7z*;fUdt=lH&JPdi=CdqaVMl-~j4X_p6d%V_ z^Znry1e!>YkF|LOt+K467G+%K18@Uzv*&a=KhF)I;Jh?4=(f3&*9JsrV&HJV@XgX` zvAna3)UYsSOj@(|DdP+E;a(2sKy1iAu4dHo*_;3DQEAm)HhuD5^ZiumVEV23o&j0@ zEU*r^atrK$57F?{e$!~os0k|48ib!Eb1ToSd||!xo)Uk$HBv$FklsC?on3h@VbJq- zW=rAn?r3^^o^6|PzT2mmpXGMK;=_ijF*{-V}T4$V4mC&@A zB%OEp*Xw$Y-&QW6VtV*Esedq)68i(zdvUeSDK@EhLKvEc?H}uiRep>A7AF^TcZqL< z%+~nu7MhxnA&E9Z0zY|06tR!_!E&W({kWi}6k3eP_=Ss`gnJ{6kTLF`%p8@1Pky5E zS&WTu{$=@5Z1&ufLmOhn1oR~I_+h{i%Y^5BlpFh(v5+xWQ?pv_5?raaIO^H)1|7)h z7d*h#L$96v>iu@Let|a=qW4v-Opg=?XamR>YiVDZI+S7C{y!qQF2YcTu&*&T3lgOTs|_qAO~0ByomJ{C!50AO zH4Cj6Oi@~(SIu?wtY`S7eOrSx>GNG+O7>334Di(0Qo}Uav+c2ar&4$STukZdL0bCk zJVkBYGtE&4uA!Q3t#%X0%vGdq9*Rv26SqZb3(xp%@961XJv=9xxcb)SdH5DimPQ(R zuW##K4P|S0nl$r$*IP~SmTCtsI=t@r@|3dfdG~bx()sfI0PEVq8c`R;Hgz;r#uw39 zwwCRUfXiY$63ZmqkMutddbn}th6Wo#tv!EP3zHg!L~?z1FQ2~oaSy?43JL^#htn~8 zHjKuaQUj67Gzy$$3||AU`cerB++@B2tV5fE$DC86Dxpci*V=3dO2~gee9j&c!K|J5 zEBBBf)7xxq>38$B%U6!|h}IQ%r8Ln?phHKspj%``c>&|9J$IOkTJSh;4Sg)y(kqQS zwVkG(^`vaf_ICP2KaDP%ZZouhm98vA#$M187o7B{6wg+As;P9rS>R%%OjOA{OADQ$ zH5|g%EL_X`lPFzUL&Q6{R7L}JTM_KvKf{*p##&A=Mg}yt&;W?5&RESqSKO9`E_sz7 zd6H~)+PaGnmN{c?Qmx;l?hPL#zRe)E1Et=(M7i=qAqkj-K!tW9$?7*82<7FPo+bFb zAdktN!MlUJBqpYEb!$9VKz!C!;^ps+sx8|J#92`b?X;K1+SsFC^O z(TktgfLkyFp>4RuJ)UFf&g^W0;peEX6>IyI2-HikY+BtWo3)2jBQ)k_YgijSLHy-{K33l?pzh>;NHx1l!l;8IL-G)eBWdZaHXx z7>?q4I|5YqiJz{R-g&IJ{xd?DWIa2*mRz){WUc<_z$ALn09C_mn1XX4HfeN?=GG75 zIE46R1hbKRDKi@SxT-$?WljXj7K?js&&LXRz*ojfk;;|-@bsxro3>Dk^T_f?$&8)UzRY$9)}^s@9L8)Mp)($llAiVf-P= z<~uzPkDm2?m19k+CZu@XiF+)8PGs_O=0^3g6iqG>;Mw#7tFSVEy9FH$-;dPKyT}X)d@Lqp9F{hE$BezIQDr$Zrd^LPzK5dD zv(3JYrTaqN93qa6b6{xXD6Te|(qK&87&U1aCJi<&?pv7)fA>1rQ60H%%TYOskAMb3 zdR$ynYvRoR-^OHmL>{HgKE$*{?uzAz17i4^raf%!3w*(gLshjommGcReO0^BXL$Mo zE&YcIou3}pA(SD*ZOyqrUgcvd9rii#mJnYGqJ{U5%jDr(j;6@*9cHTV)EweP+8_J| zpJ^m)nhSlStnRfdioLr!CeMpz@B0SpkkK>$L=2ZyW5qWwM2;hS!g9_>{?tGfU4G35iyi8>2lhjH z!dh4M@$mQpwu;I2Ct1pzkQP<#GxO)Qtm@7NuD|W5F!zA7#sgzM9s1Q-Gb2eJ*W%rs zYv6LoHB4H?eVsYiv%j!~Eho^N*zjH5wAyq3CcUgb)b_DpSHPI2cK3Z}szJy*&+ykF z085h@tyQ#Kem`}&AnKj6a*C&>mXVGNh)C&_t8pAJGUE*DznYg^?^n3MYxD)05P5C; z?iQ$tl=IAncW7+L?m7aFAx`cu8nG4u?H^4PZqYi%#emXRNJAXlSY z>uADSx$t)LdJh!Pc&lcK{0?1oL($4YI4`x7LO%Cw!moJoKSp<!2CCzFm=K0d`l; z%jLh3m;nrG+T-=0fJX-Mdyw0wWE5G@$EJqp2F*H6=;jN@>}ee$*m*{gx8Y@RI{r2` z0FLAxIr5x$8%gTB{MjvDTEcKZH0vNoH+Ee`Vp+5nx4kBLOwQ$_pbzA@S-cKwuF*~2 zR|L`vjpWJ3}@)s5Teq__#H3(oz7Pueoe?`p;z*{0k9BPs=<#c0ekjiBbmiqso| z?h^DY^76X|>$z{;<*SS%{`2|!79s3K-v;6Y1KFrqX5Zkx?xNw|8D!+AWt>twUBh$o zhj1iolI5#~O|125Ug@aT(Xnz&Sc8vwAh3ltDs$B3K6rBwJLg9ungS&oq$P~qt}nbk zzy3`0?r7PdIglXFX^uV*(BTpU@^OT+``CE2iyTn>aw}7r`Wzco@cdjQ`}DLAney-u zNYdQ-5W0Mei=~+1GWMG_^iwpxjYxB&Y~Akmr~ zVd%-50I&UVV?PImc~p6cj|tPkrM|JM5r0H=4%Vn7b;3b-z#GQPc?8npNt4($l?OIc zC8!iu`{VJBf5Z_iOZ~Y2%DdN&&z_y@0|jS}cb7mw`dy+ir&6I_x9g#?9o%FTZX`2Sdk> zM`yrV)^v=p50=SBd=v+CshSJO)`fHV^XBTdg8tfRJ5g`Fzc=rU{Z*k>_73wXjE>uJ z+16`aO!;9)wp0ppL$dHcN?cdJgD3gzV4*@qZUpBp)Pv4V+vE4nxpererP#M};+B(d z_kG9GnDiuA0^R7E*?c~PKNE8vp0Qf|+8{3%7KQg@GX3Iq+<---l6261@RI|T(gU)_ zYK_Z9Fj4K)pgxkl`@mu0W;J@s`0El8y#MOgbt%{Dm}z>6*4%IIe5AMcTK2+SnDg>| zcEWdE^0!_Vja(yS-NA0|10*cRRLzN0+WZ|C{vA#^c{3Gd>ds+^@|Z|l{JGpfL7~KM z!=Lz8iDa>h#KYk}4_a(%$<_4sMLR-v7bd>+KmsC1cTkt^!>z^M5fvR{PWR%Mh(*R6 zhkIC3S}T2xp0`Ro;RPMvKR%4sM4Y<+dq_#B8m}ZbTYsA zhdkjZVf(K$jSJq&aU&Le_ANh2a2L%bDKOHi&8?K0+RaTLnE#@$saKo(CgUKHKtF!p zL(pWk&jt$;sl9(6&~2_9EoV9a@x`~E^fk6V?4@j zbh7P5i}cBF5oHJA>d|cl)0$A07k#B1ZrY***5zdHYsII$L*ie#QJ*rVcH|s8LH%m@ zhaN&#px84%wkO7^{$IE(S$e6bHdeXPFd`DsDk+{#c=wfnU5Uxh?n1i4BVM4Z=xuac zl{#gWBm}_n?{r`4V@Qu&1tds(q_<8x?S!R5dPU}XRIKJfK4IkK^@7{q8aYOTzerBi zoLKp$5W#sQQ7qi5|Dz#TtgBkwH700LSCY{nzdm!AyrUAPBYBm(c8+4HMd{UkMpkYj z0I8X3)I)&3yHHK*#;t&YM#TDK0#2B`%_QsgRMnyv9mqL?(sGrXZZlXi3qhZs4(H%1 z-#53?W9YF6&xb2YK`GUL_yYZdF-ihF2s|hTr|MP539`@>PZkp*K(hS73Q>q=-%a$B z+B2~cQK?|6A_@Er41fyR9;^30@*FWwwKs3I!h%?UqR}_-!W2kxj3PhYz{hYw&27Uj zz70hU%h7eCS!0WYh&!d(KuTl6_oaz%{LDxPnZ56U5;T8cUBY-^eaTRp?^+TI_G4tm zF!4VO-23ykcsW@Xy)RdreGv>2($!Q~A(S8P(}2d7O2=Yms**&kG7PHQKR{v8l69G= zD}(vhfs4B^-13_ei%^!aNzH*Tb5Y$+)>hUD8&v^Xb5BDCn`Y{y*<76_NvScn-?hdx zYs30)x&KbB)TzhS>8{R|@T>neBzv*_+Uv%Go7G0`+R>Lh z%}8^5c(WTvB-m+3%eLZGoW(LfBOMRET;7J*{JV@re9;xm>XQxP0bRazWoOX>8(>Hi z-?DLHJjQ36b0Hi>-ws0Cw|ng}QlzCvahxJMx(qA5NV^{pO8H!PNDa;x50^_8qkL zPa~QL@|ftGdyMU8wjpw6(}a|0@Z60zr|Xt2P&zXiRT?{v(knU=qV`TVEDFc4SOK z!a9mctcmE6S%jM-!W;27Sp0O}MGhE6Q9HgJul?{5+8GfUQY`N!3Lo6V4+ipPtNV=X z7kdtrwOKT`l$FvBA9|vnU_+f7T z;uw%|h04+B&tR5pUh>!V{S%n1Dtr_+tz)I{TC!!9bmX~6T#Ye~`YF}X@tRt1AlQ?_ z+-^QQl5IKErnddQt9}{Qf7#|S{l5m?8a?JW`2Bq!$EQE%x~OFDda@gIuiv_@=UL5H z5SXXHEy#6`cuF&$uvrnT<%J5-Y|Y*Tsf|~VowC=@0th0I^eOJ!+o5=lT zX3eB}*yW;^2!FGTEEfw90orrp2b6R8CXJaw>$X-lnxS1`r zHIy45j(zjz^<*jXXo+xd^1&3ofl2y-31WI`#VD`d0KP$mj6A( zReMd2u{0lpr=1>l-Z}w+jT(Fh!)?dLL%>M{R+G8E^svwzjW$KgcL>=1w32mBCwgp!&*4tdUm_aNm-OhvXMNa+dozALw8WQYH`1x9DN}lJ)=uEwPv+o zKgX5jb=Bjmxx@I)9#zZ=wOYs|?sO3aRZ(=jD}3g6*unSaTL(3^au{smxp(D-=V(kD zOm#wd-<9oJYu9uf>nLlQ=mxg{zPx(LrAYs*fF(A9zl^fZzDbJQTU+jk{)X}7d}ys; zCCo~QoZN^u--G+YT)4xE97LGUH37Nq(yb4P&Oa#8e?2fYO8IVUVbv|H%IA5)Giwc6 z*CU))P)NJa#FslAx0=U))O3ZpLTX%3CaVn|!2+E?3LMO>F>9FzMjccB)(rqXOtoli z_J@4;Hs=mA^|90=@x7oP42Vi=6vVO~nH0e~JZ(*xiN~f4)0WPZ{V_zL9V;Q3!N`K~ zJ<+(!M1X6|>m^3dDqexHWZy<^kRs3Dl#3YrPbrGjNGo65Agh@HUBn>z{7=L9%nX3+ zV=#ays;F!Ky}IGa2~$}tE9(srHOWUg!{hyO;u!#zRX_{rY8GM>;jfl2x58=i#+=abKNzy6Y zQi}JQ#lm$6xhjol+402nEv4{!vr4-^7qFk}%ho z7|fmki${1q>07j?az&Br3if7HNB|fZkuyx8pw2qA;+h^LHoQErOmb$p_meg?z z1O!K)_3r|AP?P!9pFs!w5W~b^j9~g;T^kpHl-*nwbF#2AS4X3yRgM?6|L{3wCbjxS;OeKIpZr7r&c6G8PU>5T{uou zq5Qnf4d;;~qz`U_P(MEaC|qn<L^DOl1H<#HzZ2I-J8syO`)0vZOvOPp(>P!JrN-R+2Fp5W7Of$e}U7s9Zh%S^sW z8a6HjFH~*)Fu|sKShWXKjD<0w*>Q7d?Ar$XpUA6?lyp^GoSM2|?-@Vof9nzewi^a# zg0uJchtQ+(Mx5-Gs8lS~bdUnQB8ktPFe4dLzE71oV^oS+kfz=2u!0R<+2*VMykVYE ztcsRa?cmDlW{ri&YJzvo);(GzfMh6h2N5P1$(6nVL5zUSDej*=JrdZ(5Az0xgi&C_ z`hmGJ$rwIH(_RKn=(1-IKeN%~lpPivLii0?&Bx41`-)e$4m5*ryXGFt&C3Bng&R^>mr&DE+K8# zkd^i2YQ{@Q;T%l75w{RH{v_6(n)3UThybm$HW4pe&I1W9H^Cf!2uL)iO{{dE{H3j3 z_13LF`}%eLG7G80)tZ7**8k)$2)#yw2J`0jlfVWpcJgI{8L{2(u1;hL##nulZh?Ru zQAECoHG3_zu$eZK!x=ADnN|V5vC*qFZ|Jw2nqj56BPzFzk8H6p$I}d>2F4`aNvTk= z89HYMVGWS4P;tpY3+aa|+?d z?l1>@FSmjG>;hH{6psVa{E@X?z)!NkN&CCT27%a>iLPBAI4Cp(3LFWh*cB_bKhaox zfZilcV9;6cKEFoi$39n4f`Js1nrExT@yyG&$Ds5Q3g*pSr(C92;#mnOy2I&UABpOM zxEN5+5ZW?GLHJI?lH;KFRS*sU1l=I(TLM1>qrB zpOm=1PX|v^R~b~(@4bdcjEaI8Y^?lobsq*OvcU=A1TcLVfVT5N0uBwbCyatD5I{cX z2)djvIk8BS3JB^<1hYddCim5-G8t;3Ob3~C7we=#=ED<+`F7Fx)uvJy>W%!EZ;u=_ zr=>Nj8k{yH&%rL!7dywqr#;2b19sxzbyO9R7NpI*ZO#KO+Wu}-O1G6|$#H9~8I-@} z^_5f->3u}rRdY0@3#N31 zsfi8@k_>g;Ij!Q;O+^MDyTxc|Nrb|4U?N1YBYQ`rAaV1Zj@}OLDLaq}EP*Hou1469 zETp?>56!Z)%I9DS!)bfg8R)O$ zA+kK_Kt~-cl$29#TT#{m#$;gFT4hb)wJ?Or9LY{ooy|5QgKyFh9~Kfo*Xyf=_>LK& z!{BE<^zI{VBh^McMe|EN4us|xZ+d<3_vYO6hm3$I+rkZ*Z_b|Y!kd@6S`V$PV^o6uWWemv z|AxXou^euhF@WZa40y|$Ku(Wp;^^Qk^9ULc&;y`xtWU-EffqvsJ?xD^Yw!!VxDIsjht9Rq2V5VvQalR`_mjC6++ z3J3B928qvCciwFS@|9WCYSz`BMlm1)0{I#{$m{|{qVZOemu@zpcRjh zKXGd0pqmZ7{&8vvTO8$LtpfhvPq)t5GTh{B8c$ptD_v|*s~*5hlUaVLIv^j=!m;UV z5a@`o9N|o(|U*V z>W6z3@5kxSslX3_r4SclG){WBpYB5s8HV%hFCyWAddruE4w7I{@XJM^p;yb{cL)&J5%%mMR9fsU(VtfQDOz=b%Vv2FlkFSChp7}QM zi!*R%*hB^d4UPg+)}~@W10IIn3s!=G+|=1%fvrAYJ*A0N@3P`Tqu9D>t@G#E`t?Ht zwIDQG!Fi`F?Y}k^GePI8@w2S?dR{}|YnPp#Zjq0K$`y>vWv}=_zs%B?A%pvB6e8Hb zx@qBK!}A4;Fp&5u#)elE#1SE9m>VPz5Bd1Hzs~r6!v%qX_-8&0IXVJ8K7PR9+`f#$ z>W5+bi0=HH}#R!a*2%FEp|4E-4_ooE!5#NhND}!3T z3!>#IQ}e@4qE#y_SAhzCEj6DviJay#L+jIAb+qs8F`t)IZdQfNQr*+b(W1WCG*NYS z5n}HB_eZzMRA?>&up<91v%LrRV95XFr zlp>%#QAdDGjdX_8qwJs-iM!=)ZNdmKK=lxU`6IyzU7cfrd~FZtKl_zZRB5S>{M)iv z7>?ozLEZL`FwlSY@h?#h0wW&{Y_1Lz_$LDlxVFFFuML(9QD1OSSO|1D8cY?2YMl^a zgW35USEobAfna>;!+Uumgzdkq87Gz@MYfz=T;<4eXaobSJLO#_A?6vvmAr$?wA?j# zDw5Y3PVJsOPman?UA!he&c%kn|2?KoPq&{hxG-gNVPi;=t82%nc4d;#Lmx?Q6$5Pw z&J>K1ydWpS|9prUY;?A|yM3wmoS;7JeMmJ63tWX}nSK*@vR)x_*c1i=;VxPJ#(uy0 zdhDG7u8RK3)irj=`T6h!L>!M=>SdN+bV>xl_Q*emME*6c+-<8O7b0m^uv}V%N`4IH z5qV0@z0MU10TU)!iWtcVN)t5p zf0&uG(|?;8h!yWCU8%7=eeGs3hpiz;yZI6$E^vGHP8KQz=OD=$e3&?z0!2Hu(R`3P6y$cw`XVAnE(9rDuip zB>Ty*FaJbbxS$pTL0f|W=O-c{u_v{cyW)Spc7M!@|E(wf!WfQz7dm{PQCT<(je445 zM1$(YI~JhQAx62wEPeeQ;{;pnkUL+r_*Cz3H?6Ya($S0@O>@y>4bMSajyt!xAn-wx zyX3v60k!o~&b@7LL4cGJ18p&OXNOF`5Mzefs$R?L2+KLysM+s7V3Z+d%MA{QL}l}* zd!CP(`P&uo;7Pars(+KTN=I{tegX(InWZoyRGUISOZtS^rMb-h<%Pe_V|`d%TNR`d zA`m5J!PY9I$*-aoCP(wq{cAZRjMrKN=gSv;SI%rwQ)g?$pHm!Vq30Ek=wdyD;QnYH zWXDXnRM)^L<1{VJ$NvlWrb*S}TRyukicU(|qqj!StqJ(a_nb)`gJE9%ifHQm4EF)v z3^kD*xQxGrI1ehU)GuL45;yk&el&Y|3ive!^a7e6iO;arMtEd`9&BX$&p`(?Ulli5 z2Xxbr*0R@8F+(L75Q<1oMuOlxNejB!Hxt1D!!21(Iw2m~ao=FgDTK~P!0PrYl!Zjt z{u#o+I!>%f8+-2TzF7GV!enj9q_|P~c(0<<-R-*6kJp!=7EH1 zV|3(6o}QuKEgN8R<>3oFXVR?4t56k9&9HTTPY#%V*4wt&LxCok+xkn`_k2|@hOKpW zcmU2b3MwqAD!tT&KsS7>k#Li?V=DOQZ}(OIjlE$n_+Gyf$VfZZdXpP&UTmdRLm_h6 z!e(7~aH?pQ>{_}zZTM0CVwj|g53jLMbnL#1?|&x~0-CG`&Pt|A?l>=Fv)NzIV2GnM z9oIfj^}DHWJ_sM6(*t5v8pPjnR4gGF78 zQdD5flsQ?$5SA?Dm{c z{VW^Ik(#)?ScfCjSlLy(u?k>EB)yLYmtD0V9|2H!aTD?f6orrm741&w`fsP8I z#-DL?7hAljiNy@Q0Gi95q-@15II*jkxT<(cn^#E06|0}NazL$-jKRcUXha|;pvkdJ zXhbIhh%sC0w?E4|zOD2NBKy@nA)xJzCUiq6F`5$g=<6j5_zmIyq7cFjBMt}!7<*yU z#8Y%gX#jd)a~q2)8AD}*BlMNFoK3oAcj*QV^x9XeVO4n6G>NinNTVU2*T7r1QEY9%hzF=Puv4-nT#!!o{ zJ=;fZb$2pjcv{1YT+0bmbzjxRT< zho(k~=9i1)0qI8f<(GgRL)K5frw@Ax+v>M8T?CC4RM!6%{}(b1ko; zhk*Ww&2IkxA0qlotTw?lpu*71OK$BSnZ1%WpoU4Zz0I4=X>%VVIG1$b#prx3Tf zC*2uOwy-&U_%+ID;Ou9S6n?ZA+ynxzgt-Pqd_3( zoDw-nG)0R`x0)bOzuZ4V0g=@Z))HX{EyM1?mWjZ39e|CXslDg3IdAF34J^+-KpuKy zZ@{+^##ofD5KO|?JZV8c-(k}mu~abZ?#3sj&x_%@Tv%POd}*1lq_Jq&fA~;tYVkZD z?OFXA|0`b8#hDTo*H5i4lGZ9!PNQsjfM0)T$P{jC#w}T2yaIuMfP=%tWVkXs+VQCq zaijw`!C1iq#TodT%_H~X2qt;1G zC(-oQVcBcndutq*aW$zo_CVmRv7kTr$)P^6@)Fl#xb@9~x}&e>S*3;vc5hw5xH`)H0shHyUWAv5>?^G~Q1c7pt~X zqJ@jQQwcDjdURI%Zsvo17=m~Y?yY(7zKu7_4>87NEixp}9F$zP=Q9h^4`=bYaN6>x z%|ULuasH0WnvmY~;v9j?1oRHJb(quT+XxandXuD*@PvagA4C+EsALZ8k&7JHakjLc zvr5hp8rqlsL3#W{DVn>?#!+(AnG;u5svFLl;0SGIt2mc`IZc`M&zc4Qfni(%c(dfO zl)O}|PHRG^$+O6|Eo{hX4F3!c{vzowb>52|Q3wp#BvsZ67&Y*S%L6d3DfD@kIRkWG zSmH=!2(NqULuGg1su?W%nZR~X-#Aw|H7M7zU+Rk16mPfA0iYHiw9m%|vuHer*0j(OJ7WJ-WemkJcrO4x^&YNT#<|Xoa*?lKl z=GeF-TX8Ori`U%Fs)pHZeX@SovApm#;0Et`hy%#mwz_9h(;9R>CC2>)bS3_V)pdgN zr8kkm2%O&y{=l(};0Q?Ac#30MIK)>-2=4yoPikz8W^%3^_M#?*m(HIa zd;#ccqG|}i-<~Cnb_zr zb1V30jei;`Thr9>U^kanXtgQ5UR*K`OWG^2e=!Qhf@2~oZ5IdYFpAIW?O0SJ?{_aP zR=Su7lM0`S{)HRt4(ilLwYPwmq26NPw7=IV#5I|pkVlLa(?RbA+;4i+)17&|Z_TV+ zHY^|#RIH1iCQAouOQ||sA32<>3!RtoV89p4YEP!Lcq&hlfr7#pPurY0?fhn~6f5mF z8w_O7Emag5(Pa4F*da= ziZt1`%ZX+M1qS<(t5*V0iAK(}bd2zC>Wrj;y9oUbtk_u~6t4BTf2ryU)CCy4b?OiM zDSnDFzOdfo3XHTlAAlvmQD6-mQT)sXlE5#kF7kT*pG$7FI%kJLE1rmHIHd#*d0?=GZQbO7M>==mTLuwYk6MKe zU}*3Uryp1h!{0jkoSev%KUSTzr)E)+!{Ep!pyf&VK74BjK>HnGIE+xbfOxXT-x2Z(fi3d4cGVN`7@#Ip`<5gLa;b9tv>K@;R)zT7v~u`NaWi49 zQz>Mmcx!U*gY@zS*`Rmd8L>V>vdzE+_!3w#O$~5DGVXzcRs}1%&x})!nG1UdZe{$>p5Z%xTks^{0hvtS(8+Re+^)+xfwE=-VXtL?<3R1rQOws!@0NMv=S9@FY|H26(`2q2=!1fUh&tXfD4-=kWht zeFFWBpeej$BU<7`IJ%uFj=u%F*{Rrk$}PU)Xy2JNMG+M-*a)HR;(Q784t*rEHf$yA zotIm;)!>-R5Bwgw-s%DT8zK)*1S^CI$&he#ukk`4;ZkL39nBO7(EBWBiY#*$6&~@G zXRwP5pN@I2ehZHO4P&QKu!-vt z-%tTXGWa^tk~0gZMnd32*wh3?Q@~IV1`RV9S81`dwhbZ(;RgriIyBM2Lw*0TKb03Chiq!uf4HxL-ON8 zA7~gT2AHr3nsLa)HyGW;VL`{)#}5vMi6lG{gWL(G>HfnmhQ?^-N3Pmz@e&-+GZ(@M ztG3!8IFOx(B{+x=?!q$+3=k8L0nl(HVZ$-;=%llWFUEzWW{QfOjJQpGw=itGrifrV zfrU{E)VjBZw0Y_oHQ+TmE+)QB_OR`22>vVum)=0QSR70?23x}#S`lPVK*UTT!-T}b zxX)y^wJ4!M3E%}Zy`?ztHhUE~zgZqL2#G;OA)?^E?kS)lG|Zh?hxJQ8rT*uhQN8bm zGk)LOxI$QTX0KkS0JRfR5GimBSUNXsE24y?{t0k$OkyKOV!fCJ28mz*S{YBK?I-Pq zt%jMh(0m?g9OOS2Gj$vIi~z-d-Mt_=8#GDM0D|2+Jtt1qN1vD2G$Q`tQ@AN>(EsbN_;Ds7NKwU8~6n!-&Rh9YiY6ap4?#T%Dg}HilcH z-HE=`{*`d8cEfV`gH)p^aZW6xXe`^*ZB+wQlq624vweGhJ$&sGng=tjFNQ68*WHGe zFsSSojJ7#jv{nh)&bL-SiX&Ios+;S*raWw{I&-Zb$W4~l3BOD~HT9}k_i6xvM>uhVxK%JH|gi}{pkn;yGbzw&WTU7oga=7mkW z&3`MwG+PYEz%;O$nf^0fP-TcpIE@xkF_6k}akm8d5nMfbCy{z)P0p^Xk4NvljgBE# zZAYV)INh3;@~P#xFBUq8rp}B7EVo4T){1Z7LuUFP&=!x&-YM81OGC!X$*xVH$lTS! ze}~AJ>z=4X_T-@p+BFCBrUO>>!8&eO?|Q<0c_cLrTU(5%CA}7XaM#nMC7n=UTsPOG zEzKkh=#AnQ@dC2@(U*C4wj5WlQ^ugHp*CoUq{0SoL^T?*YFftvFUM9~>UiS`{yG+k z`ylEC6}E7v2g$FzpkWXMk{Ad0HU!0i66fNKp1n*Ag>W8RC=4|OiD1epcEq3>^@0J8z;}$E|Z=A6sdWwY_v|xqvm=GT_kw15z9=%Xl!{<`};J$m` zC;BXYfglw^8BT|vS?Nh-uFb;#pUM2!tN;x&U9GIq+~z;+0>D8Mv#TTwZlpW^Fg<%8 z@&K`19PmGG5)R;`n0)qvLJasX)Z?v3!i8?IV^H8P@)w4vfMeD`(3}@({%&n``kn{p z0F(x3Y;cJi_5Wfue%ms-v9tVNhXQz8pg6@ds0UZZZrYUL%Ahu%bXYPE`WRd+W+K#@ zgo{sSZJhEx!uSaFAYZPKs3@e%mkRE=jKBuFgz@R%YZBA_1pN;f$CaO)6XvD*$0=PV zJCTNajSmT4ZZ6l&aM7rIc)Ia~7k#iU) z;v3FS>AQqsHQf1bMI%0|*@oy5Bg&XcP(vA7$@vzqLWJlQI1a~~o+WRPJy+gW^?{f& zsGl-8HJhU9=FOJ>$9&N@l?SD`RW9{BbA;dD`UbOevxho~#y6(P`&M}MvW!&zxRL2=z;8G2V2fY!0VFE%CPYUfr<|)x2rUGn*tTP_ zUNYtkOY1#*y3W$X_Y$Is|GElkv9;pRi+-G3k=G`099@;B^!8=Ub2dQK&(jT;6J4q?#ej&S220p~) z$=FT76FDAA_=C_Drf{=OACsC}EI~e1lKudtG~_Ft&$yB-(dlyihFX!dc5h)Oqx`<) z_t({Y3qZ9BiTx0-F-x{D$waclnwwvt?gm>={wqyEXG$4Zk@@#yYXy28z+7kw z=d>wUmE+M{F)7`af!Da$ZIHogm8nn6_pGPp&!^o4>`$bhdRLrEXMK9r7mG+>j}aIvk-)sI?iq@KOxzxmE&p;mpVv2NH~l+*ysQr1CiTT<{dXg;qfhtb`Hsa+TT zIaVC)GtZ^z;!Ob{E1h-7hb1cB{%rhB^rw4VS`&}RglJorvjFYX735EM>GC`pTcG&~ zB5K6Q2b!cJ+Gt(V6UU~NbyqELEhzf|s$dMH#0q@~~IuK;IB#WN1B($ebGqU?ulG1wv z`M6!A_QPO&IJ=^lvQVPjNCOHLUB(vijre;9laf6r!E^3BfttIBz(GZ1GLsUjD%rhm)o}JD`Jc?K_p%W@;+j62HU+0z{|3#_=6f}F z6$fQY!twxx@MdLW19B&IRNDk`Xd;F}Th|X{n6Ywfc%YC>7I(xN$1lebuEKi-tFhHk zO?G&2sxMeATy>pRpQhGr)rB|v<#%*_O*lReeTEVyMiL0_-ar2zA$k;gyukg$jx-~y z?E6dxn5?G}jWHwQEt1#dxrpJ5oN3K3cZ{4DXDr^F7sfztHC)+ult!>pZ9~$P8+b$Q zOt%f+jJ3y!i=7Ef#%O66lchpJ7?&kOJPjHJUKSdG9lfa;fsOz8Wq~^zyW-otonPG1 zo4CPdbL*kuuZts9XPusmbi&7(Nf>3CoG!2Wrcs~@1b;f6!~D2+m`}Ds1*lbG9NVd^)vV;;NRz!TjlLG1opg@Bx{h;@rSd;72()`QW{3 z3D4A?q^*kgEt9EPTH&~8i4OkhPwo2_#g-u8b?K)G^4tL+mI1<1_isK^6Ex8$Cd4aw zkjXzr2x7D$7uc6hzIoQrWS?dAO;j<)PKL)~Xt$O*f4kxqQx{HEaf9-E)=p4N7w z$e-4}()5Wo%m%J;vL6xu!ro)C?HWS~aS`G_%Vd-(dDXfQ_?$QJRxv$4KOx>R2&?lK zh5zbv=h2ApT1hf)968nh;j}=AN<#PfGgO(dCfAbxk4Rwx;ixO;Gs$u28!E=#CWO>U z?5-7vWn}*C3v~H-H7$w(-N7C`y6vJ} zdG~yRe=eGf`+u5CMnaRb1AkbPzrlT6t~;}CefoXEe$d}#FWC$m^l zq8fNOk+e{u!EGUE0z2Du`H&$PNc4nS0_}x*Ho4H?A?#W5?Cj6Ogc}c)^UP%Z2|qBR zr5Ew7)-l8pb?CY^d|H6)fe%2&?`eU652B#?LB{dyS%43m{901mV@~9v7IUh8$ovUc zs_Ahh{{eei>p1$(?{xVE{aQ%tG)Agbj28|qR9U(ahAx*DX@ueO?d4hYIRO&4u5)oI zNffGIVrt~kwsnH*-nL>@d~dB?4q{a}&9RlC@(5iY{6bdURx6_z>Yl^=mkUyry`Sm< zV5R!Q@Eoe+lW$?6EHasr?O7Vv0NDxe9z+aIwJzo5jGpy=?hFmWD1q#U&kZDoLYknl zP%e&U@C{_ere<7}SOD9cd}8epaSjEg6Z8Iq9@;+Q9t2IillA&iX-M@3Ud7A)-WtW% zZ~|69Ex=!m>3s7PLUy0E?!pzh_xWQ|h31DSp{ai{M<4N^2%g07{Q7>i8sWp%AJ~7%G~z2zQK5aRKFYyJAdQU zK0V@8A!>xT;%2Y%YrIF3Sc968c)3vVxS<_wVGMc6tW#Wl5zQxKoJpi2)8%I%33i+b zTR;#BOG0IGTy8f6I2(MLMC_vtugJSrj?B7;z0x^Twj5ULI3V{k-pW@5n%ofjce7cv zGSDF$M^G3VTOyFka2-ueF5p8sUjH~Z>}$Y$D>dpE5+&%}S}FV>jX{U~hXrXhFYSA^ zqogpa66r&o$8K7T)axyM0Ff7DRdSTXWhDvkAc^P9GedhH(^}Zs3X-lunvT0tpwx*{ zwx>ok@V@zg`gp-hp5GsLr;kp1gc>{1q9Iv`O18i_p+a`n$_o`VjS`U53JZK9)qL6j zG+#4wBZ#EdD#-~HMtQ;H2B6?KrE^m93}!$fA4bfIB}J4eO)t#MQlVh?i}Fm`q7>pK z$2UYu)BmRMa8bfIuXn&w#O=6N8mscwi_nH2vQz_BZCS&PZx_E>?sw8DlRyu%OGTo- zvZShK;RFvUvn9OXH-~UN`6NFhiv{oVRm96}oKhI7(+vK9jz;Y`u zn3sSG({7f>qkQ_{1?n}a3_B<_sidM;V^PGF=D{|gUyhryS8Ylnw?v3~Xb0aXRi{Oy zj*5670qO+`5QGc5;RD*vYe)8BxO>{=CX`eh1@^J23Ei;B62$mQRtmX{{+)vz0BUp4 z8l?f+=JsgJfi(x}ef7H+z<|(va=Kv$3XtRs;Uc7|Gmzkd^z}Y;B4l{#`m$*1e*2Z6 zBDpAx*fCIyj_&4U$XgpWo#}RxB`F(zG0DL{>ny&EVqgka|KDg0NRaX^jtrwZtYdgW zRo(j6m1kwdKYdQ~^gS>T)GGa`u-lGMRl+WKy{AZ8o4ykW6CqVaMgc{sWOaXbd(s<= z2YPDRXB^=}wS#YN|2EjdAPV-ksXw=5UaikIqf2Z+l8kQfW~Y1n8pHkIU!`;vUi<+$ z{kQ>7T4`OMduqq+1b4$Ve7Yp(l2@o`M`y#RR#_;uL0BbBQ@h=;al^ZUz9>^+8Y8f| zN*N^sQ)@7V2{G-c8aFArT^mB3dy3K!R=9|!tECyQVPF%}V_NIbLHF1hr!4!vu{i8E z*d^T%HXN~jjm`2={@6zKB9`(etGR4i&1Gyy;74yX`v)scTQWTajoC*40ExRQdGV{#Uh;xTRY z&@helUNH#?SM$yhXY7y970`BzWPVgpxSyT1QHu>1Illig1|4hwB-9ileJ^SW$!|M{ znw-=)whU@kjLN`43@og+s!QhWILKH=U`^EtVw?h3#Ach=Bb(f_A*x9*-eQI75DoLB zk(QQE#30TtKxAK!r+CqlzOI68v6{Md8wl@V#CsJ;@5`@mXVuAP2DJxD*t#W8IS9h#dC^%;R=|nNV zRQ+kAQafage0Rh|cqR~{AFn2;;Kui0pGq~Mx7MIAIV3wm`zbC-5?Aw>zAEZh;l_F_!P1+~x=ql23SGRX zA#o1h?Yu%ZrH!OArP^OHD?6=twVRy-*B^t$<-#2hn46!QjqyD|=}%D`y~y}gzQugs zlJ(~#;_Ar~Bno}G?O7-i$t|Q8v&Q7`54s4>DHXdnZwgM9Ok_ZLJTQDvudXzIB3?0U z>E2a{Y)af!yb)cfFIPT8xL{sgU4(0+lKRvSbowBp@#S1?)A@Sda)a||2&GbZU=~s{ zZ*9k_Tj2@^kDBlYBK}g|Zyq6wT;UO9fNgPqq<~z3 zZ*i+J<09@iT2fj8bv}Ob`*bvLv|%!n4va$n%-3~|DaW*=AX2qW{sR&B4G?39DV=FG z!2a09ep8F#KgFaxCOzhhn3(_moLJ(O>Zq~eI|lT?Rb4J&iIJ}|>dXpJwQNM1e6->a zL}6Ojpw+uBs3iRtkn8BZhM+qMk~EJwueiwQ>tAoG5^Ut&_(#POjdS+vf9bTAdcSm9 zQ^-{Wd}?j+3rDA%D@qXEHo8W?GSIsjnot`QFW?btbtv_xldBr z;9+jiwFO;anMMFfwwkI$-u+mKlt^@(LFmxBjzYvGC^%Q5`X;v8B&8zRxMvTb6lo(Kzx3nWgqHsG@Uss=530b6 z-PgXmho<0LPp8;9$%x{ZbF=KP)u~yf07%!UkM}xaGMDBCz7wG7kZj&#?`nuqaI+6j z`Y^L>VypR#c%>a#^41$ZcMT>@XE4@z-~*|Io}bFTYXl^A+SeVWB`eeHRzi=Ty)tWU zj~NjtlC#mO^*J&kY=?HViP9-5LoE8K)#eV7?fOaI(B5Wz)MT$NQS$x#ypv}@!3oej z93sn)>;FEVyZ#oS?&=5=FBPbxEs@ny>oV5LwvjhBpzdv-^9Oc7Jlc@XP;;SA zM|4%_Z)w6CW0akK)N0EI5r08SSl#5S%|ALr!zFWA=(#z{USc=Ef;<-uEB; z?g)|@Z*Tv}?t4uDJ4le3UTu!APVxH5W8*FRaEU#t3_eQ>cYcCt<4s9wmLDa_dd(+XABtZ zD!wfdAfMqQEw2A>@Vx5Mc$t!ns=TCU!{FX~*Bk&=zgc_)$i*>^nB0FTme#X^w|!>N zrb6Ni1C$Ebd-2{6zpS+MFKASDWzo^79$I!=N=Y?={M#27L=8zYnX; z#@{+@#34L$L6r09;N{=Z>n2E1{MATh*iM@;)l0HmxZ`G!-sf;Fy#jB-6TYX{|1+9f zn7!aZki=|X@RqIT< zSg2+U8=ewsubB?31D2LOD?!XEm($WXWHr{3l=G@#ole@$bdQ03EwIdiV5#B>kL+0O z{Tu@s=A6>tp8k|%kztNO!s3sO{z$$+&Yp}$CUW{-B)761G9)TJ;^BIeNBPY_-Ja@3 zrgAQkH7iMeXmvl@b-32evaJt9&7|D#FCW%TL(>|{5x?y@fQ-39u3{OK@zL%1f5k1x zJ{n&y@78UaLAT(iOC<`wt2xOa>dG;cq*IURlhW?iqV@n1kB@FM}AlRD(wbNbmU^LAuDu4jo{g4uLPtux66F{DmPbkHL_ z72z zGNYy=LzorZR$nY+_5YN3^i4-&qT6}8Jtg19RM}uKV4f=t^Qy60S z0yJ}YCW=1yW_8^|G`eZ&TYluJMtIb3pb;vT{T%Ueey)Sy#&H2#c=-_AW#DlI7*eZ* zax;Mkwfg-?;tM}5CKIDl6?}DXX?9BW$Gz~!NR!6!lEw(-W@i&KpA;N&n2)ht>V+w~ z5C_3`S4NvX^vLDx1`oMYmqZyDQ16s3lu<9&ZX z!zaM^rjE9DkpiADN>C1~--{sVOVE)}PeqZGQ#P8fvHie5gL0}*#A9`0rHS%SSpE@X zmS&sGZE^kE`%qx!sY-)YRrF+KPcyPtGA)R#aG11G9J|tBST9Mfm@C(mjBAllWV`|B zD#J527Vzoq^=pDg!v^5Ct&xO!6>v)XHl{gbX8q*fICTlfu(LfaYQq$l|pI3 zg0mJ?sDZ3RK3xBH=@hZwd{#kZ3{w9wZh>{ZDigPDk9O(AH?y53Yu?-O`_7iRr23~; z4Ky~bQ&XH`kw=XI4{}^Za2U&iRWB}71zcWjWU~IRL3g4TDGM4kj{I!wS!z9vQft}d zE5-}oktJNzJk}XIR;LyubTE+0U zLiOgTn|cS)`*#R+<0ix}`%&NFuBf*bE2PE^51ffwgb$D>$2hCZnW8TZ7h2Et%W^D$ ztih}u=8X8{?B{hEHvyLy?S#fn1RJ#@v9|AUxg(vW0R!IG(A&397bEw|6YzeNO#Ezj@l%tsc zlW`7X-5y2<=W5rfCEjT150j)|uSNZEp_F<%I1Ox)BkUNHgnF3&+6tE*tc8e=Vx`b8+ zT_Xye*nLU6Z%{>jm!II{r!$1$>8_3*O;IBKo4o<}+W~g@ej>*XJ^5O!sLk7b0kA7R z9TSHqB*PK#Nm2%QC&b=3+ULk#4QT*uv53`+9B!xP<&GI~cE#w`XhfPXFjxNFVI_A9 zhv?cIA=I8O*nl_#PzvcwWZF^?>RoCV8@$t&+HhBkO=;3$V2DXGCP}8kVb%EL3E_vBYhop4{hpl#%Sul6a=n3)7*u-I zYXU|@XbJ`9GAd`C7C&MC+qo!YV~hfzjG zcDA>EMbn4!JRL@Y!vsF^c&bI4%3XQz>-(dFh6q<~Beb*D{LGoDmhE*Mtmdu!%%w}) zwyoM-|3Fy2LDzQyT5gQ_E?}_ZYNFuuYipw;;bRlASkENYzFj&FXxu~nH#P5~0* zM~YV7LGgDL+O|%)@{%ErTu!JNWKyCR-a#x+WK+`qM|6=qeJx)gg57qng1z=jb8rxk zt-7>gBc8jliC4djNkRTMAI#(K;=6;QA`A5;{5!ux8wb?1TS0DgIUfX3_RLr^qhrtF z;%DIanj^3TS!R0&d-LPb&YW6}&UMiI&p{&TQ>DEPPRC&(U;>^M&iy!NDJs6d`I!oH z_qiY2?*Di6^-q!Q3jlxtXktqaFK3|Q&K~fAPD^>DGLi_e%fD%TFWw>#L$eCylX^FU z`FE;^YQC)%-_w*@Yw5UE{#sfVHFdN?+T7bpo%`j5my*bQ$x+iBB{h0b35MERu4rtBet0VF+>L+QJ8;=ZE%f1FOSa*VcOqK9a14B_%`y2D-^D9O%_n~zwBreWrHHWM0_sBR0MV91w6WGd zrN>rNn->m5RBk->C30~DwyrabiNmet z2zYuR-7=_nSUD(|?=*9Zq&)f~NtfZtw?KJI5%0dUkIk;KA%OHNuFv9yl z2e%Pr&CD*W(Fd6_LUTMQ8!O7Wx3!APt1Lo`jwFob|5l>D)^W@qiYtaY|CwVMi6utTSIT1fsJfLOhHt?Uy zrQ=dEtt78I1!M zjY|Ctq(TDuJT5+&g8FDPwrr|Qo?@$3vL!M|zRW?BDvGC_fm@k+wVR8^?_CZYfu&j= z`K2uYdR@a9*6DLQEw5%gP9^Y{(5gOZMSNc2Qy}+7jb8Tv?tJ?wO{$aG!Tatx?8wmK z}R#n!%;pU6OJjsV3$#(vAQ+fyo$rBL6vAEQ2JxGN?gG0WM6ns_W(_=BgW zPS!9gNayJ6Pi<3NWw|ywQc`r}+ z2XaakscB-*_EAr7209Ytl$q67q0$a}?r>#)o@n4&)TLu9awCZw=)yoTU8pb3b9&^RFT3lh8ZU&pO-=g|ljJLzmCvTJ8U3PyE@V#kXRA^7UV&m;I%SB|l?rzV?01Bpt zL%(Y^MDO(l4^UR!vuYRg(`mE_9lCdpB9B*0M{WS(e)|e0EXX*zNJ8^B-wzWp}<^#z|q8#%qu&(MD33 zFE43@rZKggsX0(p3qQo1J|VUHu-)||Ew4WbWNUbj9X>xIA|E%MAU>|5bs?6&u zhT{M#x<1G;?DxBFP)BF)0ITssD=CIP=D7y2 zs1M}V{WHy#nyF3w)LzP2!*@LPFb+jd7w+@Bzt~tE&Q(4LduWmeNUixx@Nw+pVH!)< z$KH_-;tCh>+YHjUSGF3M{k!2MV;(yx5IkQ)VG~9dX{%mUlQg;>R({a&bs)QTr1@;? zkiCrz8PliG6gT4b*%rUW;R4B}5B1u0Js+em9=x67bUi!Wr>~$z8wlH?q)cpfHhdcp zx9snHFW@b5XEoa6chFb%(}*#^!bsK_YzaTAxv=!Sr~jbvxKHZD=ALDAe$N*ndEGd8 zO>TdeHe0Q-2@5%HY?cj#;=DX^0#`G9R%!=za%I(O^Sti55X8RJB0*d$Dne!ET1qCb zNJJ-n>r33ATmbfiprG0Uon&G5%^{Y*U= z8s5cZwHQ{IPQNuRBi(spCN&4cK!%__qnTjh*x$OV-H>YLh~lnHWeHm2L4fKLX0U?I z3gO2&R{3UN4~%^?%NkHCZ{Iha=CExuoiX0;Y&{|0zApr{xCfm%>kW?*Q6oQQ&Ac2F zxO%1t3=q1qPqn#QzQ(c2<$HIy*}-%0fe(>S4F_A5?H3KRGMic^E07v=!rR{%5Lwre zjR&7o8%xtctXsJBVZY}LeS0UdfNZqK(yGhkA}<(n=>*^Py@IbRRs=q`(o?U7g~|Kyqndtc5#fQgJL*~=DojF-96@}dQ)_y zga;F_ZW?rg^4jYRs>FHy{|{Yn0ToBPbPJOZ+=B%R7F+`acL?t8?rwv_1b26LcXxNU zAi>?;eeUEv=ltJy&t3o8tXV_%Gu^|`(^a*rc9nQfexQ_v%)&@BBYl&DA|GU$uQbx1 zc+H!_akz)MocMQ^5_Y{tD2mXsnsJnx;m%Uk0uM&l>V<-tU7fZ?quc=#zlyUkK- zg0AH))oH4XdAf2B*U5vDoU zD@+tSVd?)yuW#f5<%FwBO=;B4Za?6|i3{_7Ml(&sey}A&l_E|)Ml7^RObyORHOHaELFzsxV$cgX)giW2*&|RPE}M#g5%QA? zdxt&6-fY-xXuQ%udU2qmNg-&Y{|2?y(Ri%`Sc~@#x+@D(2Z0jGKAivhpf>9DT^U5% z>1PZxHW}eQ`9Mu}kD?t0LE*RJC;EO>!Sf--=&cmD$+Lk#;M=(JhzPUlnRPn#j}Tz< z-KShgxiJ5wPP8@aJ548YI$7xZny$AWp>rxgvHwjufQzk}$}!BAf88`mY`*5eOm2XS zX>DQd)-<0NM={Z#^LHz|HkXFIUl82)&?(Nf+xO|K9_`w{J3VjbU~8kW#hzSvg8J>* zWI7$UZ^_kC1M!US;%w7hf851gr0>EXQ*5x8e5;r3bbNk`6C``v8zRrki9eo->(Xol-P`>&5T8VuMzC-mfZ#Lej$X~T<&zEjie@xG9 zvP5&(y5?cF0Xu7KHxq0d+)sleD^I|#xBWCtZ=QfokClg=AFCdGL_|pZxUDgPBx`w8 z@{-Gm%P^&sQWn$sSmRcfvWj|NySX`Y?$dD0RcYn(^ZX=juw^o5sL7zOry2B380!ee ztw?Fm8L5=X^T2cGr%d)9x_kBXxzv&ilPyE7I!c72+}?DOvBxc8Zbpsdukm4=1!e&` zC$hXgihkYRjMY^&GL|&?W$l*);U4%)L3Vm}dKt*&gMXM?5P#zSyrR(>n=hWu+ zM{X5x8U2lxkuD|#u0UEeU5fFtztmtVyZS%;4^hYeaCfuxx2_oD;<1x)h98(|aG(ZDJqL?j2udaluQU9>00(SiAp^oO96Ij1E{qTurATU@rOC zx3Atm-#wi(3f;4=SA8JSME}NqXDdH5gs@Pb@FRiAl;;kJ8tFr4Z7iu+P+pT-@YZ>R z_#%1A!1a*CwpsUYE|0WFpbwkmPj%@LwPwj4|9 zO&OTQTG1*o4+(>c`zN)_F#K@bKKN;l11CJ{4I$<~9v>iP2rBIwTz|0@dSvG+%{>0se)A}D$a?2Cq(fOBYldow9 zZ|uo{)kwvojB6RN0Y(aXZh5qxTZ$Dk1$o@z7t)>MQh{F5Y>Q+I+;x(+)Qk4~MUZk& zsdIIyMiVPT(M6NYn@Hg6w}rm*yUW6pR3>^Q6UegB^5!XS#6sL?iR0;QUdrTxM2S)w z)dH!y{Ee9GAWVGmCeo6b$xx_FKW6J}zOk)9Xj;|Xd+17E8kGz7` z{>xnc%j-c<0i%ZOJA$8ly;|U#3;I8?g4k-*?MBW>F47jdTyy8>w6vPS+HeAN>-ZMQ zDC#hT5y%g~Gc*|4OAI(AmC{>mnDJ(nWNXpenWkv)SlF8i_ua2_8n|@rUy#lv%d6G& zZM%9C?*|K3*l4wDMVX1k;Fkp&6{HSrr<(MuuO+mDaCLOmosix zQ*56qd!pI=D_wFVq)EA*HM~3C3-N<4A^V7Mxi3}4t{&ayN|5-_^%4I@=zYSExZe^I zUxlSKuxNOG2cjFBTHZRbj8h~%0CjfMFo0Fc%TH0;@cDD@aFu1u4pr$o+B1L888yCx)@n^VBzjt3^_(b9=S zi`VOEAy#vI{kp$+sUZgUA3{0MDTBB!tf1V3s_Y;tWI&+zTUuOa!ua{c&*8}E4rZe& z_0+hGHfe-r&>o{I#3eTFYk;~5vot0|7ECW%fm?yT4)b@2P9TEKC!78_VA)zM+{Rcr zpk3K<9$f>7UI;nYqR&ZK(t^vF4kQSK>}%0ymt~iX59bSqCYaLQ;AA3>EAN{Mmz2gc z!3xJ2Qy=dW8^D+ZHw&n=fQ_F$V-*H#e~Lo|hrey9e+@0Z9dEeaO`S9V%kmKUdw`IN zY4&JAN!BZei~Z&Jnah&&+rdZ8eDiQt`PK?GSycDT2!&M0P+5VUa-^HH(Tx}|2x-9~ z8#B;99qKk_-`5v({Eby2+60x@@7mlxG)^g-{SDT;5di(GOVijY(vuU5y7M0!I$j?C zr|R#FTy+85N%5~eGQQ67DeKX$zs8hc(>XlV%lAk992hKIhom zGPd?S5Blg#vs7UPS< znn>BVq27b8BLQt+BbDQUX1M;4t*fgA(2UG2YU-;K&Es|Hu)d|D$KW${ zR>p=QwuXP`^ghLxG0nE!E427b0VuWowQ8Xe=%o3iB@I2xn!bfz7jK5{#n|t^+ia72 z|MAk6q??<}DyInreUF3Bj%-%uz+G%u&2~SN-@RWfI=~fO8eST5J=WyL^)1{7h#?|d zvB6+DO2+_Iw|D zP+WEJxPZ=h>>nhbGU7$4QCu43H@0BiP_LZ=x#{`^!3~&{ljIW%4KOkCqmtDZE(E;^ z=y#*FgMm%S3OOop;&_)nzC9>gJexd$?Ln3o-T#+q(e;}#H#rlAQ&vQLR zd038zG|XnmB}~9Ys7)aIDm!tHyN^tl*BkdL)~ZU;%CRqCwe&C)1%@c&qOVy`D`OBa z=XR$=xbVAAhgPkeo=<+c)@QVeW{L3Bmi8s?ADR0U)nWUEhTUydIo2S|4&KV6LmQqN z022`G;Xj1PvRtSiB52H@q2Zo|#_kRvL;e@wptqif6m8y6T@UBN99a z?nYZ(|AGg-L>+0cP8Vvf9VDfvdelvur`wI@-QUvRRQQMA>CUAZo^Xs>>uw|CKUox? zU54C)yeH?fC+$miTi@j(^6>6sv;Fz7?U$$pHc~+UsrRQ7MgG!XNP$%%j4aak1> zQ5(=Z-QlX2>!I-i1C*PY*s709BBYUn922FGyZkm~!z!p*VP}n_*rh!yDgeF*t#k z6Qw_0y*7ksJ9%Ccgw_>yN4_eGKbD3b9sjn-4TPvpRW8sVTa~-~DIz3(!q)}R<9!!# z*EEBO2&;hWxNVa|LpQE7Xd-%aSS=O3x__aSGSw7qQ(XvZm7eaZdb+jU=CW4**oaN# zVT@i@Qh+J8G5)@6nf@m;`b)$VYsA!}itvkR@T>-}{8CI)UaAdrN^k+jE_|Cgs1n%$ ziZXY#B)FE!^strz91TH1C9Tqb6i@OQDO5p+>N^hXB1A?)u5esYcQm6)Ys)2TgB4Ge zQX~o;FnmPu}yus*xib67nbSu<<_zLjgbbC%aIwtf${84O2qu5Bk< zP%Ez?EwB0Mq`GU-xU5#L=g!!nEfu9^iA z=vvkmRP*Avx1@@nSl5ykF1;_kcU-$t-+0Qn4Y_~EUc)f*f7v{Qexy3`mn3hr_W{CU z!6M+VedMFCZjNQ3MgKOEjIt+XZ5RQXTi7M3?$yPiSp{cVdsSNk!AaKf+NbnwX3hRb zQ(w(lsdTu4K&3{IbTeLa+RWO7A?BRo#Ao=9TW3(^&4wRRFSKY=Pn4NS*3DDz^VtDR zzkx$)bLAU<7moot1cs3(M*eDmjiC<+nwx}s`|xYca-fZ&uUXee3ieL)SEcWUO@Cb9 zXTa&07H>K&M%6Za5$eK=*l!zwPF|CV4s`I4c}xUIp73fs)$ZZ-?(t%a=~nBdmmTv(ek3bq>rgj% zBd@Oc`EY~?#)o}oV#0fT{Su)G^^RoLR0xMVvhfpbnJ-JsF5dbH3&@@>MZe{+%JlT( zKAc_iLCpD^pU<*<@s+l}vm@*@6+LD~6ghO%75k2*umb|u;rfuUZ zY&@&53Ocf3IE4;er!hQiaB;dDJ=6p?Cja^B)^e8cvi|SpDNlEo%tFilfhkaigAQ0X z+*M!xIww-Pf15dF1W?cYRV(iTP-|3ic|MOP^Vb>;6N9wbcl#WN+0+`IoH7ei8Bz-B za466`M9%)iBh6U!r15s!x&+~LW-EhgU+^CNQ7+IYpKw2bb(d~I{8j16IPS-(p1cPR zyyBBDxB@l|z;M0e1SrJ@^$E)~FOCj#ne*=cT#tbd&pQ?5_l`D?O4Hr1xqc@#lNS%o z+IAd_9hYOG>>Y&cKSO;&-Z*ykql1pd`+gS(t$r%e(}K2emzm-3GcDHfdj}A-lmOx} z)AQFD&83Rdj?=a1Q#NbR{qB|*=al8r4NkKIC-Lc#=qu(58tl4L2a^gpDeHqAbTh{?B3ffoaz@UcNT>l9-jLYQwJ!YBKjdFT@6~;1|It!|c!^!aY(S4l} zm;L90yOpoF1^Pb;%zx5Z+g2(kVrk5_K&9%n!e3|6Cv+Y*4Uu^gdv39JR!9F)6|8o` zD|iDz6vE8m4c(H=m)3){4{)fw_0^qX9+(J<2VSG}W2%R1XlqH38zm*0-W!1x&_oeS z_W4US#{veu(s>7TPJKXNS5SDkdKA%23!1yx;&@0nod5O2FM!e=iRVE^ny-m%M>?hW zlt~fF&~H=%cL5jfWGeHqMcN?eG*wUb&~fwk&~wb*76nIv9AkGG=g&AdlMk}^A@93f z6e6O;l5^G6iyfR#gK)A61!p5JGQ9DLwh&5QeBC`?MSW zeE1^wyE}E*QmGZ=r?FbhmtfX2(-X{T%68gcJHKz(g0m`#tY0X6?58Yhdf7)dwqbrS z`}3N$JxrXP147sy5Rf(K$A4+z_)>n7Cxwzv<3*N$j@g{~nayPB%KhsDC<$hcnmkxp zAwbqLu~1-i-^jN_B`MIUfdmxO=Wd8H^I)6!{?g}WEF=@Q9s!W^XWwE4erQg;R3ddN zU3RY8B_sgU*m20^ zTe4;W-?jsh?K5_x&DS2LG94(&MBA~=NKe@h2l~y~>_)TE>*W1VRIuL0-@3NZx7>PX z&=>U{!cEZrYU`I0H}o`812`ixqwNr1T+J zeUjDTf|5u!GS)Zg%ikM*S1tGv!E6m~N?UwMnd4!7?ax~u0rU8&PBJW)iNSd}h{L`) zM*HsMoV$s-&c;L~YYzP`h!Ds@JAy?cM|2A@P6}HdU4AL4k7G2F=-&gYxfI)z=t}Fu zm>mFRIY1IkN>kQaH+ghZ*;@3n&R}40&Qa8Mt(u^oaObsg0WgasZ7OI~jh^*oQf41I zcw##SwO6P*?$JD1YPynL6)bLn>3hb;C2P+rIGMwl8(^f3GNoY^y1-24p5MtJMY9=X z7GRJT`%g@C34$oBR;AsfkN=%;@ABc}tXw{PY)mxT{PyHi+tUUY5F4)f%d==Ea+7-n zQqyshaUD=-QCk4Aflv8~O-?1cbNC=?-Ek%8+s0CRVL=YC=$zncT=6J(n_Pm)=hhuZokZic&IA)=cyIG!9`XW)i4SQ`uGz^)m6mbn=|%s?+rB z_Cv(O{AMQaVSV0$coqS#_5C7AN1>UO%?KY6(g*TGBj)-t8?_~nJ!^?ymWLtI)Z_Md ze{!-^FM`1d;gs(3nLJTmogqP5^6X93E^rkWsunpyyR5Hdl%Y!aozr>xOo$85dAjn% zpkv9}Xe$BgR(GKHqQCb*Fm%{_)5+?Gtd)|{o|G8t)Q>cpmy3lO=nMInD}Q=th_|`3 zKlQBET{I|*M=070zB@K&>z?MiV|&U9di|Q+!SBShN{#8Ew9Mtx)WnVgcYcI@`wi%6 zN#gsvz2gj+3y(Oo$B}fUe#B*Do!tBVb8UFHm48CjUq*RYOb^!HBAP5Jrz+%P$*2pe zD8yUe8>A;JA#FTS$18nfP~F`<)bJcdO3*Jdnt=OS+xD;Z-EI` z;%WEGl@2oWyVV(+@t+G?l*he1&NIGW<3xjm5}Y06YNtj>gu}kKop!^0WaW-V$8M^&!wi?M7?*x zqlTK=+J2npv+Nn0Tuj%{;j-B)QGfnbO`wW?PYmK`T7w@$l9hY3vX6_B0Y)f>X&0|&CPNh^` z$az_+*i6|vUuxJc*1M{X%*6-SJAj~bzbZ%Ypzce>!1@*sP|lXgWJ`^2(f0XU5OVKo z2gr`xs$9Y=-zjm>+5O>NNVyf!O(=?tV66kh7(UtM0oq!NYUiZLG%=Do3M?^hYkMGU z{W9eKoArAyh;Ag_L%`WP1V!4*#CEL%sGEN`h0=L`F1mIEJUjN2g`LBHF)^=*#p88N zk{n&#;Cl{fBYf!(%DNI}hhuI&*J%6uhK8TQbCng&QWjgK57M6y$L29?HR4SjJ4Glc zY;%?QdUon2r+_Jc|PeFn}81ah``Q`g9AcBLzB-YKb6Yy~aTo+35sR$KUu2WGTQByJ?9 z&RK=?TDbbs7c1fw6zC6YLv${$P9d9Qdh9&qUUtz;#aJ*XplsN~R&f=(2mnZ=TY- z-Fwadahj&)Wg#g0QL9HIte>n@8obKpQD!7(Yf5o?Em-}0(V;FL&ypy4qQkp|$thVj zb!X~BCok(#u{`o;3LrPHP#`g3MF*Tca&xCuu< z^8Cl+z!P=gQX0?0uUZvQCJKlz^9G=x9ihEsLX+Aw`TaUtvyltba zycJ_#ST1LAA@>+QCH{q~%;dE5YT6%8He2nS{I3~qr1YE?3Nl6cK}-jtx~jtJXTCx> zS~zB9@S#Tz9S?&t7?qzpXv=X=5szntZmc=>sg-5ia7U{NJASlh-n29f$gxJu_umYs z9OAMFsXG;_kddx!SDL6InJ5Afp*vYrm)wgH0ESIre_AGU<0Xr%kxZI#vKj(cS!dWk zdo;Sq><-Vx-p;Dg?UtM7m31&OqQ$sXcgDSH^ThwzPcgU2o1A?<@jAtKKC(-5ScE@$ zKgL?2h4F~jio|jRIXY{dLGvV2@wq?3wyZTZS|$n6RW^)GZ(BGzByq=2Os3Oc=Zw={ zN2uNlkdq6gXz`K8FxPntj*$5vIUhXEq=1UNiH18f4&vc$U{;)w)Mu9U$Qci1HnSy4 zh*Dyu5-%7Ka8>CEU!kkAO0V*?T=uj80l#XRW~&snMWHo9D=3O8;l7yBy}zF!{SlHp zvZl@{VDX;gybQ~@OsSnV92EqbuVMKMNVbfe3P_3{mAc^9V<=YSN1k-{$?^?rSC|p(sf_SekFaiqgI`${j|9PlKCZGL0@WhHRB?mlllbFohO4`+yl zW4FVb{9YJo0X5%&WTjXlh{W*>J=IQt(b;2dCIKd_4D#VY{X3K?mr zd}Se%x6g(rg7dx8JZFn@m330tMSD{Et5hnX%^a1EMgM;HU3NsloHbyo?UfnDV)Ax; zN_MI*)bz=c8#G)O^f07t`nWla5af~>Kr<=H+|E_&ZYaQ+6aGg*R;eeB0*#F0;bP*x z#*~UK6=nu=*1}Sg2;gOC>TjHtMaMTw-f_r0S5ehvqt-Y9_Ms z!_Zw4YOV)5is|B1%{5U^#WzJxXH7&wr>dh{wX;yznV-QnKurumC$!wQN-}%8!ey@m zV&SF(y%207;U*da?E!{*w$zzwHQB|}oxBH!C_>aGNC^%he+bT} zRXS04MIkO)qbGm%&cW~7%4Mo#-I4PU|9T)lg!$0UmcsMtQYWKBfLdme$t2G(BbH$* zZdxIM&9?HgT4TRslTmEIQrU$k%v$+*a#w(QAv%;8vq|jBJbte`WbwY;nc7`~RhR{` zbxc4GNz=-e{6tRGsJyl@io*AN1F?b1cn8%g#Pmy=$L#qS;-msU3*b82{sz4FM2(>R`a*T6H(OqIsB0W->It(!YZFEP!IlVW1TOCM$blrwaK|JPmeXr#x zcTEDb{^?-N)8^3AwS1kXW$R*p()1;$N!HAOli=pgXjiY@fU8dIfdn@CTSnK`kOzRM z4m)>m2p63deLo>`dBrzY-D7M_p#0TCYPMD0dO&E`a&@NRvfLGTBMf>;KzaipK>o^Q zp1d+>T1V;i%#k$>k=CrgL-mzFkQA#jX^PU9AJON_$E!V|JYrNKBAFw5Mf;IOIT6(F zzQIwXztijpn1p6(BB$@>X;?8G)kd^XgV9$K`(Obo3_F>0HPB496t_?P{WfxTexy@h zd86H`*gfrb1NwxB0{PPualnn&PC`=vkdex@ILFf2>-~3KUMWL#_Ij#1GwhxVc#tA+?X8ST&L1NK1`T zHD*hczqE!VztZt3^vZ;+11(=Zr#Xa7MC`j@D4IfhOW0!Isp;R7Y?2HbvK9$EU2&6vrKE2-A-=BvW;mpbU&n4Ds4*LBN;?vtQ#@@! ztS}2pO>a@TP|ZSCx7WNJU5?>-?)B0EM^4Z8?$5aMq`y`p3>LpJmMEdM*xs9{?0W7? zMER?Rc{?XL5zvuM{jAl$ca;~G{=T!WGWtye!`bgUNWj)vD4yF)Iqn5@T^kV2yY=y;_p&$_fn*9zKF+rL@6~v0A z=>m)DT&?e;n0Z=P1z$05>vk57Z04~Z>NL#iDsouIS97% zr}h#d65=SzolTYj0APh7Ws(WyO0mLfmt+ZZQJ80OflvbY@V2nj&MsN{aSkfj6z|l- zebGV0C_-NYxe?u(=YJ8SD6YKGA4<8%pdOBRyO_+*b8Xv zexsXGdzjXfNvmy)pDbq1o^rF+>;`*w=q$sQvp%cxkt|OVD3w!s%&Ucp?Z1O3d`<-L zB#T~V0F%xM(jlqns_984J=6Wj(x<4RtEP8iztfXZ3I;J&C;RkViNQDYs&KGFLqUlA zFNek=uM<~zidEiGu#G!te%3i*Ig`Qzim+9M2<4%LIG5c%tFFa4N0`vapw?T?lOs6i zE9&obwFe$E3-tWnX4Ea_y{&YxNc32WpHLGvn=+LhG!l4i`7ob0(=l z#;XMpua1^pw|IO;=ts+mYy3DJPqGdo0=1jiW3bu8Q(96q{2eg?HkM1M6`iPK6=K`c z+b5x0<@w9frVC$jGxfdx6irJe(>Z zDypTHw>&bxO6YYy_@DRxs1TLGARocmzbK3q%g`UrHo+vD*sTLx()<9~Bp&Om{+S}; zN7k(g93WUe=*!=SW+aJqqClNfa`v0-I!qP5L-UMRgAZ)%*QZ-=IRCcSLI3__^bh;` z>RBxN0>Q;<cv=W{uqioXZRlPAEPulTvtS`ti5bDe&SJ2W2c)%G^fqR`kZpW%@l zvGZ$LM8(lu7=4!Q8S<}z6`~GQLM-|6FB=*i+Bfbesa(ZRx6Q1icVNv=TSIIeG)pyI zid=F0&w~S?un7vhc)Mq`(P>);O)^}~z}<6F#b2X;b-_!nQJLCXa4ck-6QCU2^?8&r zUZ1j0E-(jC2q%yU(fG^X4XGI1ZnK*tN-4<)t(?UU^t(a=>K219^JP1wIUMsH_Io38 z0H7AIJvIy#NKRbbOma{UL#QB5+SW2lh(6L}z7=N; z7)?}+F%JBplHOB9c2rQKG5kjk8#g(4m|N{a0X67F=TI527#ST>y`|I6k--tb?)g*y z_d|$7=)y7iPq=Ns9RiuS#*VivxF5jT>~m(K(P=aMfIcyud1mwWXOmk}!sQi@vcO*e zNUDWTfvQ2CJ<_>9^>I?#n*wD30_QfJCWXf~3gdJ(EED}!Hl(_B4A&IsPqyGdcTeYp zCBqSSpHf}Z>kXi7avOa5-r=|OW_Ewk;fzWnej)Y1=Z=~bcz;1~Yj0x;3%c_a&-~t0 zj)AE`=g&Z*eU%#w&zqk#8KD!$hXwjNU5qcY=5IVl`nXH^?Bau!l{pZ zZyeCSQXR+_{$n-f$Euu%d7ryMkTpv`-MapP1kd+!mfscm4f;QT6zRKmv3=sm6deE0 zla><9k%m@yil>Hwjq*Vn@eUBKD3BZsKaAOARfnQNM%ld3fZyI9Nb+LeUL zgcz6XWCw?Hki7MRlNvPTmcPwwP2eb6I(49{8pfPq&dbZuJAyQ1*+)E(-+bd%`{IS>zVe=ff7Op#6qO|qQO|N_dgp>9sBW*h$T zmJimdY0cmr^JlNDK@kkJFkzdfvC zs!eU^s3~eaFu)Ve2B+D0GtoyA+9u`XhUG^XiZoc9B*^&VgsyHSS|@s4uMaq#M)0pS zv*{Bj;;SM> zLbv8&HQlRzKT-yKozmOXzBbY_HmrQ~(WTZ?d@?sh9n#r%Hxnwl`nuRKh|{?vQB7k_eJ$D3|M1~R?3ZTY)E|FM zle87xMHVBci?I9quO^=NaMWUj-{STtq7Vuy+}LPL1p^08T+Nk%%R)uBn|OfrBnpw# z!qjo@Yu=D$iucp9g$}!cn{b(9iD>DqKGBi%StiF4{2{zmSkP1uz1L#)?iO7Vw^R3) z6319}Z9(5_ktN}~t=d-Qms>5R!)N>Ql1c`)gd*imIYV1VXH!fE#7ZYV3EuJ=~ zqm3br^Cb!~UBRs}`GiMvO1kE0x_ca*ZgLfcEp8y*8@ZMKlKd|*I9S)R^xD;G^hQ{N>oDsTl5x>AY@% zme0ga|NnehxjR+6x<=V06}TRwZ`hqw<@Z4OeHj-oQ9SsOmbIy0^)*Of!L3 zICE7-(D;+*Z_fkuEVH-6WH6a0<9cmWs7y5{HXAcCtlh${M-sY2D_5jer!gn<0NuVq6Kpph6@)jG zn(2b!*%faIq5Z+hL%YWPf%k@e_c?2)s|u_KikjxO+Gf=&xQYdAlnV}p@kr-7O}g`_ z?X9(hpofnrGZx~&kCLsLlI~QZGZt=F{paJ(o<3b>4f&Hzc+T%oDDcmywu^YqNKsRj zv0!2zh*L?$7Fb>q>qeDznX4y#m9$*LL}r+BLcsl;({Y|L-OSkdd(O#6jO96qqH_QA zr4_Wa>Bt&#vu28|rPS8E0bJkaO&k?bEK+?jew!Ujm?%aU8G1?J3lJNzYT<}udi;pa zRIoEzM4IU+b{ViA4X6rFh{p0XuiM&0Fpc`0zBc%2Ve`f$x|2yeo%C9Gy^U{&k+nr; z(P`t9?n?(2NOlRp@piZ2Q5Q>TPMfsQV$tgcNCe01CemfK_ciHEdwhozGOh94*du|K z4gv!cMIGwQAy@%xdgI_*Nyea$yFIp2=YB%7-MTa1tCEO{KQ^Oc-q<_XFJFJ$HUBF_~KaVAcQTHAwStm&`@bCpOyQ+7#Soz zexGnBk%?OCuB~S^Gye~;`_iMalauPEY2;aq*Gxb-KmM|PU2M`BYn&db z^)TdU3khCX{PJafyyd7aaDW75qohIQ0Ba@zhtL8JZ}?lGq!P2Pa)B#QeY)8}->9;7 z7EsiQx8G=^`xKb;jJShf)53Zh;(V1oH$=t58jy`+ybGBqy75|dan>OU4(4ZVuZ(1* za}Z0MChMpRs2G?v1>ifk3}LC7**K6D7`p^i!2{O7!BmOP>nrcsr)BlXik+&Q6E35u$Q|N5W90c|ETk7p=?&Ox!^Ug zUC1YdO%XfW8}w~m++2R1VPOB^`Jhy$+WcJsq-ESIoraL!w&Punyv&at2WL1`foS_) z!KLtr%lG_sWryqGT-p3Y7IpVDQzC~zb;GrbckVLozV)-=;5=I=?naa@K-7W^zw-Xg zCl!)UqlN!ba83!o?J?H2{lVfj=5hUvdSv{{!p>#+ye_K0YLM{iivN5uYLWDXWT|9y z5qO;04asHz*d(`Bu5W8e-wX>+^ZkrBpHO)`_b%qyMY2P2j>q>Ec-!zezyClf??7!L z|IiLEy%73L{k0!u`$hRBsJK|tPt>Pjx!dwel!p1B)o$!VX&88;&<=%BJX`5r(ec2nPWZs$9jaqH@{n0h{K8_USZH z7Bn1r>;VXRn2K=!)M;CajB*zbvB74uX!CJXZVt&4oQ&hcb{qb6 z;R6QOS|0;^(gk#2_9K4il=jrXs*~ash`q_-(B$i>a_hw7ItNl-h{A%}MA!_&$9>3s z80KHNb8~yRc15G}1cVk@mw8R+VGYW|k8E^Vxl&wZlT`kf^Xr~i>*5i;B$Z7nNEGGB z65fan^8ABA;V3v=A#bI5a-P?>qf=1H3}VZ2gKS1)B&iH@t#W?hkC7z4;w21b{)c3|c$V{0R@6)4&4Ii;%cLR)|=J>&8V(2H{STW~w5A0-5&@foN+$)a?rs8QWgD^EYml1Exebxp=93jCTNqk5;T3)D`+ z;UQ@QUJyC+rM`Jo5%f#Ua?QQz(`01E@NSi=g6zwuS<9ze*)OxYeXaU@@n`xQZUIrl zS%aZgeW6a0JmBn1m|C*6S~9aP$R^?)y?myka%P0lvRrhIsjs1^nMZixSRs$^f%aLe z{Nu`G)Tlm%ko_v;YZUP^OzhnthNke2ojJ^$YK&`Gzvj1f9mx`TH)19UoLqa<290fkz#O;2^J%}LI>;tta2}%P51be!E;!)0_#?waX4aj z*q)Xv6#%tuV@T%{#jl4C%|HFYHSb__%q||HsoQaFsJ#~jZ2WrYw~3dytpC<=>y=5u zgtG9NnB){qzp4sb-6t8pe^={bvLzrnotbo8ruQZJiQJzGGeu+noAtNZnJS1=$Ws_* zh-#F702E0QzO6YE;d9~|M+Og9QkfoVly!x#-Z-!#F$mIhsQj(}yrhGB%B=cHa)h!V zeT;>~yn$#gvF8=)*E__u;1o1j8xHBtrn zwx~YXB7vN9n>8iw>)QtZ3;#QoBJ^!!u4xHY+(OJ5hYSc7dR;F z@A~-}q?7S;x&h#8VN_J!bA4<*5KDF9YqJc6)8~g@ncmnIn^I0l$ca5LJzsr! zKE2=#R5lI&BjBFng#VQ?F~lIH1A9y>q2J{TsEBAn_uE9?8RoJMQtf=+*}R+$Tz!Y2 zfMfZABl{T64_bMsXX`qz!mf58Rg zK(P`FL%KPqc+)wO=@EANVjSWZ?|w<>|NQ?OuiD*D;^bn>b-y}QpYeKtw^KfkknIS@gu(v}P>aB80cMK6tmLeuVMBD? z40cz2)5BMs1Uj*p-fyam+q@I*p*tlc@B7os8>SP!df@%KI! zKhn@KoO0zlsZB;FrokMq&c}HJVt4!}uT-*`7|7H*;pHSda3{=>lLI=z~s_ z{NeJK-I$c}WB|Se=~Z5n$DR9Bx~3+g@tm48cT{>vWlzt&ndxXf_8&Lmk{+wl$e#VZ z-F1{oq!BsAlfiY@jGt6VArdei#0@)j_d(AR4HCn*JbiHrMpQKau1LEClc)UJxE6ts z=x8Z0CwNO6^Fk@snJGU8kG}j9Ni=o3cca6WGcs&7h*&PwoqFV;Ctz=W*!*Dk@w5}2 z2zw!tH_9vvVjmj$LsyC_>T5xbCx2yT@gRS2j0!LuB_dWiHz`0_s6*uKFz0FcY*!~6 z;u*QSI;FaX`fjGd$qwQT3y1=MY}$c5tdqr=4NURYR)Kh~U_X-p9`>*Y5b~@BXN+&( z>w}9wc(@nng~H0f-S)5LScxAWUi}3x`Pe!)7EkR9JPQr5=4#03+*qGE^niLGJ!qn9 zq1_8?jt?(QOP-XJGm$8#D5o1-S4W#ldLX6hv@zlgj-S<26BHOrAnwx(8#ce{cZAr_ z+1EmQgz!1U>88agKiOsHKP}&K_rV?<1&XRNQc`!$*+yD|1yFj|N5q{yn3fe{)0BPt; z!=BiNi6909p)Fj*!gNDE3s-J_@R}rdg=pH{oP(->r z1xe}d|Hk7v?{VJW_kI6b*IEyowRDEr^XxmW`?~KZdLn$@nDt=Y*LlM*`zpIln|V@i z^Fe9YMX1Q-rU6iZoLq#cIr1fKH@&>UA`b+&i7+FPNB$^yPuF3Rd0ry=##-^kx7d=M zR#trrnjBwdSfwBo0YODK4IVMO@|%~7%rs}&L~Coc+7(+fIvn4ewM|yxB4>1Nng}(C z;ujyl?y2Vz{MmFEmY_YIliP7F{4wqg31_*iTQt>>G*4v9FK|57(fMCRMbGI!XQZ4x z!8%Jyc>c}wR#R7kMC4&lL>+G2s0=IVsQ|+K-+=mS4wx#yLX01O&3Qe3^f9v!%!|Q# zZD*7X`$w^l&9QIyYv~jVkuW3-T@dg^!Sl{Lo_1sV%Zocu_H@TycY@SSQC2ss>oig5 z#26?De#eMQr!NUo!5~39V)zNc1^YriY9WJ3L;ubjv%&YjaQ-gnY;PfhRmt`(5x%lD zNjAoE1Yca7i`udkQL#+)X&?=-kA(t1!eYNhOY;#DwFu>;XnG%<+i<{t765QiF+xu| z6W~3Ra`DK!j%tRL>`=D>y#YOd1|UPl2t7M-5wblRdB+sVCnR<(nGA(chnNAbs6cou zHMm`YCfsavOu0>bQ|3B!1|1dE%{T>1%vLpMCXhln(r=dHzx{wGAq{+72ieKVeLJDN z`o6qAH+|RB+cSioB&8Tv0eU**5h|()c7!RE$6IriK-*WEg{GS36$CgsmBV`^p6rcl&Uiq5{jk9i=_SzD!%J3^xu!O zzaJ+m(i=qg4A)_C{przH;#TNm>POd!TbZH{WHnyJ2Whq~3{kSjTe+Fv4tH{or6Ky< zuKg8ZCN3ouJH8(xu=0=7u)f~hd6*}xWss0DJy-|?k*l=vbCWxGPEdK%>A z7a$;CYGyeOIwM$H9?WO%Qp}h5(!fM=1_xWzHovH#_ZU2MiEnph%gyfR-07oXY(v>1IL|Tf<9}RKEnU| zg1)D1E^Js{SQY{4lG*~L3lG3(3*n8pjJCGq$m6*VUenmf?WR?nYJ~ zJMz(>4m+CY8wxvm)FF|YADAniU+}YpQSg{D=)S#NSnLNwo-A-ij%BgXc#)8@VmxUX zW9L~(`;iSZ%{jOFY;(Kk2>@d9z7o3Q+lF8%lQ%uL!NXw3CZ2mQo#&SS)oUuF?n53p z`|=mA!m2|e1J6_oV&2_i@8!y!eh{rwv4CSc6rNdAlpZNZeZe^ezDQjT%i%=)DSN;n z@n@$~TvLA{B>Ho;?nO zfkWsu;^n#N-25Z1W{-Z%8l~QCd876Yf6?G1_kMo93C}dvTo`*@+H-?)SW}7pSqaWE zlxj4wq-jsg21=)7o52EuX^2=Kw%_l}H&MGFKJFZp^!KB+Ehn%YT5|xcSvS$tYKQLW zo$S^DfveUmvjN9`7EaY}dx+Am-ZQ*PXvH$2#HeStJ*gkP%0~hfS6<3}x+j@lpS|8( z2;OfnFlx|Dl}V$o3|%e7#={Tzj#lwtE+xo7owgk-ulPL}_!)GJ?K$h6@kpV54 z)FJqRvzHdSpgT#c{`q8q!uHJEn|6dMk_bqbRuC6-H9obm9`j> zUdMTgp<}*aG-Pu!`Ov;z@$2#-x{*)4n~dX|Y-w61a^kmO4iSXLOirAF#Kw^4V3dWB z;D)KggV5GxIc6+mWA2C?JT+Um*wHx9Q>gc&bMOZkn|Xj|sMtK!K;Ph{_MxdkPX-$C zk!Yy+NsKWhNvB*v$wc$rr$h?02kVR7_*+`f=$|8lO9tR7^mD$n%Ic%Jk{)-x8-f+v1{QwZsl}D zoH}Z|sgBe)wiOuEK8gvXD;#Q^Fp|AWQ7u?g=!*F2vd#ti()g5)WAKH(#tE8FceyBI zR0ze~lhgTlPF<61B#Tu6UdkHXZOlQE6S6cVsXoN}C@xwd4%k8rFCK$KX}Nz%3vE9kIig zfK(03wC+GC5(=gj9`LM0By_^t4-?BOC+Z{qhoiq2Mx<9xvb^;3=lBs zt%8oVbcEy6D+(uG-YC0h5bOzp*f*S;1gR$jN0=$H#&g-p7jhRc+)|kfn9akK3*AV8 z=^cEzi;WO%*Nj6@f|$|hkq^Ik@8XaL)+BCTIljzC_g^rPTZzm03;nQ>c`;~cF5AWY z>X9JK2f_>VAQ6}|Xh^(d69@$_QYRIL%T_+ui~&%=H_o3&8Ae`DHqN?bd4~kk)#W{| zApmkdhJ-D8yvWYY3lrcRYlg}gXz&AZVH=#vj0flefm=l85d4@#JU*ZX7*>%S=?t1V z<`G_G=Mqx;vb7{VF%D{|?i|hjN(^=3v`g0gpULQ~<81_7KBz3C2ZNd1d7$MZT8638 z7)rZ>3F|{bs~1L;<`a6Sx4OSyyYsj&A+f6UZml?xkj2gVR&vu);soKCw^1W`DGw=& z^};$=_`Iz zb>%dRJ2hdySuhrx)CAB_jS!81Rs$i8f(wV{bHfawV|=(T@F-;s)j~n%H+WmAMBl&A zJjgV?am)i6;4=g!0EUi#!UJ#Vy&m6S?CtOF40;qa-^Jo?VGK)%q?tgV*qeOmzSjX1 zAQyum1MkS0)da;Dd>E2p$)NE@`l8_62Y7s84W{uSKvBwF#>XP54PziTEI$g@VW`o69@UVVJh8RnmNCaNd%X4c zr;!@^@-{MJb1FKUG;xGHn@SB}+HehI9H{9H)}lJJ)m&4vbsn3mNZtc$^YWrJ&6Yve z{O?4o!ntWNp<|4ZKcG@uPi^pn3??o$p7%(9O}7{jfok^q=JYLGT}G?D`mVV za`15UKvoTG}#iPe*?~&ZHaNOAukAr{w5MXyEa@< z#u5b+j&DIOMlE|v*n;wr|#cO3sv?fGr3Y*>@GUcY<8J+YWQ9zon*#= zN$=G?3DA|EoAIp)BQ`|8HeI#ait^x&@RiO2vf$UD$!N)FXK0-2{**aH!PmyNWH8_u zUW+pHBe-1Axb7})>4KTqj8#WL0l0?ma6hZwR?**%0O^jzAPpz`r58WGz3RoTVT6Bi zB0*AJ!mynx0Gml3n?O;Om`OOIIXC4OL5NRH~e5bbAEpJUeJ-i-~=uk3s{!9-I`77gF!8e zd_F4=$o&a;{MJtV!y2YaE5-d+QM5IBR9dt?Y?YA8OL7Mj6@0`ZP6@v6JT}#L5<8X% zTV;UA*_(hUDm?vL8wd6TN_$Dvniw!2?p~yf^52%d4rRnaMKzo>V4($MEL?l$@*GMQ z<5LC+qFB^!>E9PfGl6asIq^+E;peF6#@R0HkHCw4q(UN+HVv#}trI;2Dq$$N5N$kj z;q8xLe#LFE_(JJpTS;#>^bBi+Do45p6&DUE7ybTHw+!2Fe+vRbzC5Bl&>$f|${&S@dk${*0wg;#uM0m`5iB7Q39&mnl-JDP&N>e;__)!MYX2kEP43R5vJXth zhFdphW=uW(n@kXfLPpnwjSqGP6gr824^5pg<%+CmkTdoV;x?w3W`A^YS2hLRKI5`t z&6p|{<`({Nvmq-jPCaG2n4CmBn#bDayBME|kQiXRL-{9=hyF%kuu3$%o|s&WvQ1d9 ztSaC;iw>M(p}=o_rk;;PYFG$#xZkCF{J>n`0u|L!=i@E#f(Pm`E+FmoTncXlhBOX4 zN1mag8|NoDPTysf)Yt#W$meA`Z;UJ_sDk(hL{qprWZl1uG9uWQrK7K$Y+P)T4A?C0 z`9GtBJjyqk=ZgN|HCUv)-{Aj6ztuR-wIa1WzW!MZKq1-GP-_?ga5xW`c9JX z`yW3#j~v(tKf5`ec7e9{w!DNv^HsnDVXC<3(pK|{0R?D17G8NQ-a^s`t1dMyt9aal zF=`*O*DE@2agY{+;HOJuQU3Vh4IX>lN7S3>X#5xg zUlU!-Fz#ZwJf}#&q07~P8L1=&b@VRU6}%^Dy;8yH;%Pr;ZY_AVkcO4Nv2-*J0{4ac zdfq6+U;vIFM^EzaR58CYGKI8GU%ibn57vw!N1xm}UpkDJKE~Y^EZnP5QmseJknZ_J z(t`~KUzd1}R74kIerlZzXrl|I`Y08mHD)7QN)h!RXy~5<$1lL?i~wBvPjFHFH2)FM zpDc|XDZdp64=bI$lS@H?D<;Fa~pk+h1n%0FZV{x|KW)@ zW@y{`$&hZCv1hjPW@}_(#f+@RW5vm2EkkC(rm&LvnvOz9<(-9ljl$il9(@&v&T@-R z`7X=(DP>K5m+A=-GwX5->xkQ&smn2>t2zq?#RB6c0)K~5MSApF4%J4kJ;@?(>OQ1% zTeS*peOBb;VJ>5Qx5dVN7=fPBL`q<#NCLgL5O~DP6N?s@9JVKY?S&eC4!F z)QLq&R`ADkw(gO{l7Np7+(?RUm2wX@D9m6ij1y`YE@YgtmTpWYkq&P~4?)IctCn zrasSQI_O951G&NoZ-_o@gfyVQ{XI173G9s>!8yoy^854IUGM%_zY5_A+B4|re%Nk_^*U<@c zVsKw_eltHhFG+qBngo4QZt~Ia0WN5q%CmIAHMhZ`7N9>=lzBWV$dQ-JZUE(Iii1ajPD;29|6TbPQ}j zQLy24@?3bT@WfX>qf4>|D5dB|7nwWbB5pLH(dCtVn?d!lVcY2E-`V1!7*0Y9L7i*hy@3Au`B9kGzXm51 ze2@^FKYtI}a`PIKM`pLjQ%0>HCVmhLYGdDSS|-)1zQhtj1dI zzn^Vjl)WHhGj>q$K6#_5YGS1d{ciNer=cLz!FqYoif@T4SW7Ci$v6Qo(6H{zaR&q{ zg1o<7)TQ9#ez*7D*TWtTJvJ}B`@%7I!7^XG$=;}Z_>Tk;0onRsuw0=o;v_D0%(JWC zXg+8`&GVW*SRwq!lvj1i2 zI=MOg8EbtHlW<%$%|{Z)Y{W?5yom}xLq*XmbmWn_?G{8q$K?f%Xt-)ir}yp;>~qKr zm~C9j1^z%iUxP{8RSo)YIWz83TGUxYN4-LW<_rE%BwMJxg!;|{x^1$|kIAYOqDreJ z)^(2^9XEJlshD#$<@5?xRyPi0thSpq^{wYVuoZ0u7BeU z?W6V-ULSe%hwJcoS-4tPlp0s%4Xs;OBaH*zppAee55n(HcybPqs7|Hso(g^o8M>B>5ALef6IyBXY%|ruE{_d~O92QNuIy8}xrtpK&qo`JaLI z1Vt`^weQzeRNod%e}<{JdkxKR4wKWg^9(XgO$U6nHDD-I`k=+2rtr|`WVb#jWAt^# zvV^=~N$-OFMz`6Qa_28WPuX({WDo7{r{o(lUELL%*?e#2Q|{~|dwYFoIWy&(+$(T5 z#Y+f1w%YEQzx*|nok)!#{`8K`cE?KJePx#FYpoGdSTQh!q5Kr^1B!wTv^JBgLzqY9 z1s9aoG`|>rHTHS$%HNxt155f$FM0hi7L4rRBn zKp*rcrZJZM;-sz@ocQCk0w?K1%JtdGan7}18A%Et1|K^(Ix5`#vGe5oXkl>dLltfT z!DBYy3|IhPx(5~07|9zH7r^A#pXB?N44ZzG;8O+eS`-=T|6 znVsL74lKzr(9?;{w61l&mtxHoWn?kPr--Qtzcce3A_+yoIKLMqX)&Q(`0DBE&4+4L zEr|(MO_7VvGms`E7MLJ0pknjN765L>mr5BfNl%GdJ)|8x8wyzrx#5kQSjhi^1WW?? zE)0Vfa@Y(Z?)o1DDK2QIcn*s%@XoiCfV6s~d8C2bkX2Lh&^mSQr`DiE1@^gz46t|; zZvQ`;h8OZq@yJ zr%`r#m9d7mRgQubLu&`KBi;4zzr!~>TB-150q2Krqd7l)o_j{gnok2NG{C$xQB-b! zO(IjvNkxuE*j&LjFc@|h8J<-M0Y7j z{COgimo1*r@qB8%e$~ebg*Ei}i#23R`-?TCiW+wg9nl^Ck*ED}uiaj<_O~wa+sFT% zF7cnHZV^WWGxH8YviWx<$4+10ulBj7^J*@Z1cb>lpJGUOWntaRME|Jvj~b)1*l#;$gLsj*3+`_ed8L{?x(kt~@kX?|i` zYXYo6)_!w|&(*2gp<~^mB08I(crZ;Cej;V*qUOgmE-g3eYxM9S-StAS;Q&$<>`LTK z9SYqG3`m;SvBV-8VSL&HJzdZ|#kZbvNqepfi@>(Z8k zOj`3NG%!8zXc+-ezVr*`-tyBd#|*s((BLmDvYD3B!{H1m{pq_^MPh75@zC5}pO`*o z4ZJ=Ylca%zdcX&Ee5vm}{}Z~doOwQou<6GkTjFnkb33!cb7{0wq6R+KzuEZz{Jb#A zsvB##khN|veT91w`ae`R`A+pRE=TooC*e4>oM;kvSu`x}XqKpXvsqucjnp1#FZ{yGRYn@(Jm;@nM&IN)}`w-(ph{cyQ0 z4Vlo0nnDGz!iZ2%FGqY))5E}?4r)7F7GfyUJL7Ra^W$CM^+9ffT8A{{cRd&4=Cv0b z+M+wu)3GNPx{b;+p4bn8JaiPyV<6Z%?k7n+{Sdz>bgXfe!x1n^q52&1NOp(_-(aY+oIP7|io=Y%w-&8zM#@y~TlYSTUe@F{ zD;c1e^c6Cp-Yh!cCoOW2wndM#^{ODrch9v?*r#;Q7bLWAZ4B|NrA=cw1J1-9zyyX9 zRf7@W0r}TOcX;)Te7y6UE4SN&Sv#ecQ(t#15g{qi-%|5Ji_lOIK=q8GX8E{fcmT0W z`WEsQBybU!sNe$xue-;+c;M(PmsSWcVb5GQ#9%~61s@@klSS0Ze9$dn8R|1*P>dId zz-%Bug)yT8qT`8q>-jOfOno?#2o!@i$=49S(8*xarP#asb8U^lVI=&*PJc{8(|~&@ z6LD1w9NQz!G}pB>+{?&|z}!qg()puc4NU}>R;u!J1ys8;xP~I?s1gqw{77lI6#W+D zx{=Q+o$v1PZYy?%Us4pmdeWWCzTv9`7hltqV50|>c~A0lMIPa>{0w6U>mNdj_%4~G zacQjjdjHG03+}(?Enu# z>vf$syq@Umat6osMp|H<5+8h%`fLLw-qkfD}0mM%ISmZlNa<2>AzjW zizj=PK~X6mh9YaX#KJXr>DjMzI0;JG5)A$>Chf;D{_b<7n0h97c-ffaSqN4_7y>>V_*zPirypNWBF?uM2e3G@tQt)T*?BORLb)UdYs zV;aapW`Mb}fL>kwH7i3lFigI(K<|pvQOKzq&hA*;GrxQ8DD$kfJUuMhc7TpXdnKLM zX{Vw{sG>?pO?KkbQ{7)9pvrFEA663n*_)WTvSgIO(``sOy*OWxL(! z-}7vf^mb=-Jc)6@CTY+c#v1fTKf<_g86L%@2!-UeUP?DU=H&nO%buU* z=j7|gZNBRtwF_9NfwZ-U<(fJoW2is~QzeGfzA?0V<5I+048mR5ZcR2lPQ(ZUsR>qsuKkopt}H{$zVb z5f%f@K#|q*{IoZXL};$~6_7(zG~%@oEwpR7aK}V=3zS4_3LihxD#ua*UD!1U3LZSs zlbsyDp{!l!j+J*VbgTq6^9;$JV-=xd+8DtHcDsO;CvTZPwZn6;$<+UnxU9oM!8E;h zH!iqmZ#15oV0I9}dCk2WP;olxe`M-#ya+#qpMw0;78C^=Xx|U) zYwxqOtLFB-th;h}QOhw#1~+Lv11?Ze4V?Q7_|}?nD)rG0&Hwlv%Lst;cfJX_mk``P z({=|ZS{o^IJJX)=Mx#XsfSCs_Dw4!CqO)o?2Og}6WIb(MVvF_%aGT`-0aR>$kA~=; zxa^9y@$%5hJPXV)xH47d>JeCSpdP)&GcrrG`0(Yct3;}ytV#-gTE)(XYRi3E#jyfv;Q zBpp8bSR;XI{V`c(BSmFn2uFtCa-(DNi5?I&D+Wjcl1m<|n37iaPSlr*>0!H|;OZtu zp5-RQtEX+EK%$Bv;^|?pT*%sInp=K(MudBt_p9-F3O+h`e3KhRmjq>47?MuA2&1Z9 z0mmU9aL!K z23|}D?84wCxBqLq0~g?iPni13$B#zf^3;D|$-U?!W71zZ33+P}7YOSde~ zVT;&%)IJ<82=J_&KT+KPbR^m;>#?)zS^_Xx_v_x5a#jc`exgCGyaAmZ`PR`vJwTt9 zg@7>;QUss?X@r2-f@hiJe0=b#qj?W?mr-ng?0Am_#TYp80QI%6!?F)UORt$e90@%g>r=L2YvP@Go1u(rAfuAbZBR*_xj)2ay_$ z4s~qq3*?dL4pJ#un68hCdu$i*FGz^di9x}`3@0)ZND8p!XL2Qji}*KE<5uC|r;nu> zE?t%tH-eAz#2u3RN6Ou4ZO5J&N#-o!W$}?STHGXSp!f^K+Cf>&@)QK0@6M>gZT)?< zgR8i=e)L|vXzdGHb=@6DULY?nD-h5>z>lwDv$nGa*fDNS82^Rf#VBr8Wqsax?Re%w4YIm3xhGE?vulWHDrA*j=X!Zz zdfl0dcC}0R4AQ7zd(5DW)-{Tj64k93S8prh^|FrDOBrUAmB!}0lG*3$9$YU(l~ZE} zhfRhp6rZ=QPm705K7V*IWs6n(a<}WEd+Ma+cHi28(G&iA(bq`EC#XYN*PhI-mzjO4 zI=={)@M4&*_3(i$D<7*cM~Xb?4F9-hve`Q%>5u${%j4kZ6w+Yg%^!>I7MsTF@NG zAkqe2CTBH}UzoYKx|FIvytr%XP5i~@>vbwK+kT%(UM?BFkVWTnB|UQ=f=@I=lT**j z#!m*{w#^nzuDt#+#V{DaAY!NLe(tfbVKh;k^Q>Yl@aD?HJsvy}C-bxC^XiJpw7=crExya81VOL9>E<1oV;8kjJ_Q zyc;V&K5p(=^uNsznLR)f;jd9op>IMC!Cfr{z>q`@STmqBQ@jNWc2AJk)q07I(VG$p zz^{YEI{*h50b&3fKnDqX2-0Z-cyMdBe71+z(@5#$o}S7va(HkC3xXM}}#&(6vh6z0XcI1QY#5v%w_ zme6;9=#%#Y;mOBFJg@eK)$yoCOhHKy#t51nq#Q6n@-$E)@QQwT7F*;mIO2XUcRZ_2 z(*JTzvt)Iv>i+P>WdChN)59DNJrPf)VKbt0-Q@6;%H}yVS4b6Lgye-&CFAvAETOrI z8oQ2i9EyC@nPBX6vLXsCPk*uglmBoHyELHBu>*+ln?CM8o4E;0W$KRUC~3_(~mIRQwF1~dd{#P0*wKp74m5@Q_=&owet zWdA(U7BLyU`BGptRXr~z&_u>yqq={{0MBW(VndmpXL9_6PcFtoBSzQYx{aPMY{D7- z$P5$t9sVf!rur2QLUOEU&@cYqJ+Quv)7w6^Z;ydh6|GpL#kf(m&^uN5AM#plM6}@u z_x-bxtv1gP7;>5+D z^+TOuQ3-=j?Azprqw=@JBYbI`YhO7}uD{7)J2Gl`JX6CD1y>0thMPo*SY6OX|DA@T zlYkvD`nwKAKDUw!wAA>E@3VzBZeUPSEA!WQquhsvfRg}>)vyMO%IUhG%}@s`q-z)N z+j%wqdpEvqG3m6OY`+}OMaaK2JNYQN=;b`t^R+)UMN>vJ;kELK;Q2KPO^>gFZW(xm zucy1^eBbAsMg$~*lE<{*y*c8cVr*Nz2iht>{E%8w+S#t0;Glt7-DeaO!cQs~2AByE zNr8{MKvrh)@`7+d^skF`V#QGU_1_}nNh=@ATAk- z_dY@iJ>L@ldRmWyvPFT0bg`DXJC}dtz4cL~nnc3PKn%hF>q$&^TeHAo)L%u8M~9j9f_2-GAMv9c3I2ySABM}xFFBn!|2)sSULx^Rr-fHSr1@a1pKyealK z0Io!ScI`&_2lby`<7nNSw{vi!l?pN2VreLE0U zhp9{aVGW6R-%h0?n7>PU#hdOepo-`Kz}0EwD%o2^Mrk0<)b$<+iMm)9u0y08?f2QC z%MVaV;}9wSeaI>fu_@|=Ou=BO!MOqu0$7YSIGh8wQxtLC?tbcQ4Z7)c3IqRaPBK&7 z{0z04emBcTO9&1U-3$`|S2!9YBpSF4umYs&m}gV5GK+f*(VKo!Ho3^_+5@qY1>;IL zKie!}2fbIR_7Ns`m9dbd(Hx`{xu~8#pJ@zbUEL0dzZLPmSEOw@D{Db}GD1(({PM*06~71F=?ew!`P#Za><)Azh_1cDc4t+ggLws}QD@dKjtRN+ zKl@f=BfP$p6!xz?);7@z^uqcbK=KAtt|2k^vpx1 zp)W&r(bKP9DQ_Fgb@hB@qw^96TkeU+^}ZQ#04u}>e;AknoPe9audfUVZGiNVt~=@n zEW;0ra;=YJKV&B~N)vDZLXN>4^NA0w?& z>AWOa-TL%JAUJ|pPo-L}xO8Y8g=>s1ICHP@DzNpuxQox?Je2ua4_L!Nmjmaen z?~OZlZfx_~)iw=?Z@lZh&={D+^`17Sv?R1y6Oqmv1KYpC3;>>HL^}H9e`SJLEXSdquH3#7)7Z`+ZAy zh^ErrNy|{liZT)nX##f2T=U`rHNitD(bNYgUd~cp+%L-3j>d%DKW0wguacF_FfZ30 zRx47Wr`LsoQkd}9C?J$)WpT_#pEpJguh{ynmF0fBL8eiDdZ#(XXel6LKdtK8sC*w* zO#$Ww`TfS8nAyi@|Mq*AZg8SHCia~|!O#)cy9(>g$r&^!e|{*qLMj16fES=b;x%B* z1U&hQVGC<|J>GEJ!X&lP144lR1!Vn`Aw7TF7Qn?zEn<}R^T)a z=MUzH1y^6EZl#+)!@T|TRY(c`U5P($E1J_R!}q2!-RgdRb7bHo z8-&pGCIuV^j8Xsd`TqL2>r8Avp9zi?HG)Awp$~56zV$s$o0V_Ya zSt58ld@?y68aYPXb&*%@N#G@Ux?m#A0wW1-+!z`8*G09*jdF|I>n&M2y?7SkOd`kRm1e3nW)O0|^{`$FMLURTk&G{+bTq7$XdY`DdgOl!_dSR@ z#ow5sxHi%-V^2aE;CzE;aAw+bbEYxPOM+AR!?UWAuWsT-lKBZC)VexM_P)GpgD^Q6 zDy^Yc{MyP-;%D2(WIb(ovx--865V=4{`byJY+32qWbfMg@TOsx_`;IyO=5yDOnGQ3 zq!(!g7m}3h&&=VlKa-R0=4d;a09_&Tyg?jyla~#w#SbwfB<#u|PW+!n9FWahS)0UEV-z z91|)TlnZ#BSD$Jh+;~_kJhQ!=aj+qEV>$NbUa^PqqPc#jCy&Zb0D2;2d#PRQN4|CN67er%bF@pZp8 z!J+6Px9mxNI*JJ{bZuo1E-TDwoUrR!RyXMY5+pVpoe_-~5(dZv%mB#&4fCaCe7F#x zRr+#%MjQEcfD52N;=(aD$SFR)y?%Hlxk3HuEY}~F?9#AJSaKZRvoXJ? zdzYL$o0(HOYuhVy5rGW`L!hz!6%zd`Lh^jW^ngkpzYebz!O^kF{f~|P+vKhb3V44) zSV#&;;!KKL);%K04#kXolcu*`)q$?f<@i0Kt@kkf)aJ zGcMsnh91aL!&?Zrg40^W0D2@L94i^x(^!2Q%Y=3TYH`wF{%`97SC7RX}$D`HgtDoM+x`~@e?v16@kkH6*bWo^_BtEza(u4JFsWtp^PI_%or*WKMa zwLZ1G8M`~+<38dtXCb3)Sz5@Q6JyvFm5i5Lm;Aw8usVxen1Xvvkn5_KzGBtYayB;= zJ8s7(rUs*VPu%oGx-aP$?&#IY7u+ZPQR+1JVomyx(^zqtE%tzgtPuhRxtK%Y;GU!+a&*;tayxd zp{6RYayWDDnNZo_KX|dbmP)!S`5&%yhYuAgRcQ%35)TyyqjDembmnUax_sW_$>94`$X~Irn_6+Q zZ(6g{CdC<^SI9kXxAU6eVX5r0?9MHdX7^ha)h25JjC+lqs;P*a3VYp`TsmeWebnmj z8%jSV<7fwPNu5~TNO>h%_;s#oWtnD|E7^k{`-U6Z)SEZnY5}0fQVHFg|CsVTQ$a5C zm+f!Bx&hFEkJyd3&+@bO0&@#H3&f9YY^Uvt^?TQCJ2G(7Lq`~jDtPEeiux8#UM{a3 zHiQJy1`Wpx7C}ZByQyF0AX1Bjna0v&30AFLj`UL?4I#~yc0=6cBb&JADI$#_?WyF6 z!ls+LGon?mlG2`M(NK-4RC=ZO-137q)u=S(k#lp|{3ObZE&u3~VZG9FPO`Sfwk2Qv z1XeL+%rp8v$Xr_c+pkBw48y)d5u*ZECYEbEl>k9~st~rQNzu*yMVq=CoRMERc|MT) za|0gXp%Gz{X6SQ2qDxCxv#i~}$fGXz%jqid&O7p*f^u4Ss?iT$j^8j2iE|D)kWICc z+;$EPAdd{St~eT-W};ZYU7}^!txZl%SC4?Z9<-_=DOt@al2^ts3c0PN zxonkSn^m$i%R28U=5ryxBQ37Zi-D?JTab)H-geIaNvb zpS8St$w})C!Le1WqO62W01ki%lCFVZ2Ga>z38CQHa0za^vEU-DPJL;nKnwq8$PbXO z3v*msy<%6~q?eypl9lwTh`biQRb8HVUKNJxjq`_f1dU~o2Oh~jPdt4?8G?GK@%Ov@ z`%UG{gvRxBJKZ5*!U$%9;Ch*Z{F9O#&|a}&A7p1-zTwy$PwPuPfLQ8q5<$|!36e3@ zp;?dtzy=UT(yj{%PiPpqIX>HjlO$t<78qRB(K*n_ABr}}kAdb1}wSD2Nw=($s}?%O$8&cF!Qc7 ziSoHtgtRWfoVnV4mh9qjk83;mOww3Rs3FkPWl%StkGRAR0v zC%aWWO2XVqQ$KO;*$FW}s;tN{#PEvrhbrJNyroSSh!jBA%|1 zmzDL{=;7@~d<3Q$W&^lhhrWe$01p8{BuxYUK{U-@xz|aW?YpId5VhKgxy=(9qL6j` z=g=j{F5m@7A{pRB$yhzmrCF)|<~04Dxsb?Zw|7L({Xqg0bgh5Up#Nb-4`^V<#hyRg zB}s79o7B^1pQ1$OfbxW8%;7PHFk3=x0qlDyK!m*f*1)v^Is?vt^8_S7l_SvsF~jSp z{rjQ)$`oeD%KZa{?-b4`e);{A|Dsnf{eD-fZ1PY+zU=0{f1L2{=TzZRa0wkaL!96T!8bt_k-IO-Inqno<8f?47Poh> z);_%W|KL0_tN7Y&-AY-OnsTZE;lDh`cf-Q zP5`=00HaJa<85MA&-Y53`id&;r2CiDu2I7nm}Y}aGI*2z=9B-Xmp2#~@z0Mdq&+v8 zzE#yEFObYx?nXL`apgSL7BSQ5!uVmQpCihR$9^}di=gzF>dr#GN~YWNrk8~E0r4Ev z{T_}N|Hi}>9i!ONNfUmlqSLmhIoe-zhGoU#sC2?&e@UWb95LT^z~^rgmKm&Pr5)6M zzT2){>FJ8^c0c;NURwWV7txJ@{kjn7zn}7+enF$JwIj!&zDXt#Ctj~jBJ%UH`PhVm zkJL}nua(q=Ohi~NKM?b|W5Q;%gz4-yHu+h%RJ_`fdDmZgzIW5Ws7#kN4X@U7Fe4DThgcgAtbevtPz{^h%PJt(w(;b} zsz-l3W${=Ud~j@J&W$T)@vp|n%&Qz?J<`=EW`Mn}F(yRVV6BRTE|wH5)WoT2`9x<9 z@S5Fu;_7lZq?P_Y;W7|kv7G^9aDS1pZ*dy0>RMuQm~NEs{$HHEWpG?u)+B0M%w&PZ zOcpcCVrFJ$W|nL*Sj=oOQ;C_GnVD5$21|P7dvEvj*Dq#bV*czZDJss7+I3du%FMM7 z@+#PUA;NLa-U)G|a%W2;Be3FQvgI#~qwcy)yocC-qqm4%>E_Af{fUTIfy}rBzGrYN z^u2`6#C0xB0q?QsG?*_>fhoC)l5$>$t*#MtM1E)UkJi?fDuZMzQz5kfz0kN4*dY?q zGN(MdD!)EGPL}Vc=i?(e{+y;&V0sV=tkBbQ(=)OirwY}o!t+utHsH0P(;HoSvPEsY zg7+NX%lrd)=wGY0o>hNsxcP&e6;R(wVU|WO0BzUd6@aW7?xhDic=AXX7;tb?nP`mM zGvWs>h#d5KphXNVfX{Xg7I^7-{K}5pvz7f39rR?q-;f}x+HK%wE#EC^1%=+0@_QC5tD{?Z>n zU0t%v&2KPWwM){^lwQUYAN2pz5(2dx+xR^_?uu&4R2F{1fAw`S{;%i?#Vt>o3cLi~ z^gJ+^e;SUSUZZD$|CXa=OX%;K=dplZvg$DZkGImK z`19a7?giV)N|xTU)sB9EyXrI^F!bC47-zFPHemajKen{UIA` zecP0)?wmuCVRcJ4zJcqO3SmjEZf&t4yH^PINV$mj{74R`;&P;)w}l!Quwk`U@&iee zbsw)=q+=3+!C+uGvS1ttpxXJ5Ol$l`e1nvD1JWKFccJ`}n#ks*+rRMGWaa38 zk$Cw4(CM^T*vz>9O*4xzoU_XyDoUf)_H@j@Ldp~a!bfr&EWTvGhl;PHef%%x`k|K> zJXnWnzN!m;6N~~Z10F<+L0t8JP}g%J=5nE^g?={#!|Fvl#J7Y0D-slmoJkKd*Nox6 z5FAOCjJ2Y^{6BG@JC(tF?w0k}nPKM4=Z!`C|Iu!Ms$RfuP=HBUsi*agQ?tSa89#~7 z%=jj-q;|>kyGsp7jct~StWsSDF7A#xU#-%2=@@fJ!5eD#P=!|i@sCt8LH?1dh`!51 z)PGt?aQ>}%>Ah9Jo4m)fbTv=mt5p?;l@8mj`74Fr_tnEWWe0+kz7ac(l)he?(*-^O zIp#Wo@FG>`g41R7tw)}+BZy}3Wu&a;uHMNhlazwhu5UJL-_3_hS}=})HgIcDa)dlT zF2Q@y+yneWk}_6xOd4B_?ji11^L~*X5{=&EE?p6sp{=Dfu znSKEIlz*#K(AdILg#M5yEbeUr0m0md^OAT~I>L>)J$Frj?gxJ?c%Ls55XfMmANxKS zeqj8L^$ng761lfk3|=ighX))~mqEX{|E$h`iglaOPyHrp)i5`mgJGoapW%7GY=Hka z=zS6wFq4#_Q5`l!{^Lx5I?liSiT`C+Y%prO>*+drsX#o;@zGL?$nbL79PL_6PaOk* z!-U`*SeDGc;s2{|1pV2I!J&;&uvLx{unFn-ffIx@p!GZMH$+0H7_gy_dmkK|-1e$( zDXdS58qU5z`C%d~An;=Gf&b$|{#$bE$`RN9J8JVs0w#P_Tkx4+=X#ZI)NEXQ2Svnw z0kVFUD7J*Gd@%K+d>MfMwj2ULG9eh@OYot5k-yJ565Cg8!jDkVE3ifXh-a{#ns7ESDy_xf?I1VbZ*I2B z3UhcAkG%6O6$;6d3oPJJb>3*xZqq7t%#zYhJWE4KC1D05NZD0`Sz!E9+jrxwFkf`# znlN00jaJe?Pm#^w_md;C1yHGGkF0Sauj4_Nnf4f_r0Bdh$CoO*WxCctXL|8J151&e z_4UB_J~@KIN}v@9kbFI_>RUJ`tf`@-Cus@m z)}&m-U{SJ&);9Yb^j#7su^i$hg5o~JMp(prkVUlC#%zG zJGLo4KRV#CDk#8H`xo8*YU5S;f7Z$TspnTSXaBS}^>F@wI|U^h4LW~01yV-ed_GMc z_>(Kcls=y3EeFaT3?4yg^>mY4+78w_D>5Z6j=NvJeuEHF2hGEGU~t!?Kna zjqh7|O#FZiVLYo+qmQNNo}n^Ik_P+xw2O3q$^LT^eCip!8W zdiU|F%tg;$D#Ki1{i#y~FHQ?sF)JQw4COEKymRN>YWlp`V@^iaT>2iV|(@ zJ2(?JY)BbVEwf<{c5Qg1E_E|M{4ien-awG$EN@M56iIlux^jO?r1(XE2cze(>tj)M zag>dMOLX-D73mqXYFHc%XQh>ksl>)yfh#(~8}HCr@xH3K)EG4zT~pFR=k*pXb$I6S z8iun$_WX!tFzh>C0S#BLBt+AhPSq8-C(vjTOR9XuDMX^9XCgaat|h69R4lW0qb6!hEA*@0bA3i`X6 zF&kHJ@O@6!JIhS1M}zTE>}vI7VXVK$(yD_awXj}}@&YrJduGDZ=AMF z?`REKHR9e~2QN?ZyVqpYlZm<*Z$s;xg1V=3?&WmFQP{ozu~rX;^89#8Vn4-mP(}dUIAlfbQVu$HtBz^(M&8KPzRqQ*X+vDxUwOU^c6KFAN1tUiDMW4vrU{hY zVLeArPw!eHeS1`i^6DRLQ6S}-6vbJ(j&C$yI6U>2*!YZQ5|2wj-23d~F??py>Fy)_ zQa2u1MNx#{!$XVBg`QAru?$!t;Ov=grIGB`m^BS}7n{0^mRa09id6=Ax2h7-)*=z_ zQjKfMP{l?@!mt@tqXKigWvlxH=kLCOZN?(cY$MO8z3aI-4z@*B| zCYr7d(e-o};izqvMb<4Ot@T$#4$Q z^ZW{GgtE&{KQMV8@!D$f@!aC4C+2`Ia2LjZi?2u3csJ#xEtd{wNt&tZ{50ideQ!78 zcius@qJfX#6D24w0`D5YcUjkP?Pk%O>NL-^U z*LjJNIO2mI;?h4@PyyFCTf_E2i@jJ~0dS9KRPT3E=Chn_qcUf%4XrR!fM}*&v{~-< zJ^RN{lmsj7oW`N?6duH);B$bTL;8kJhl>w&%QvK?M@HJK765pp1{qDMvQo@i&B(it z_*tlG^G1qGB+#`)BN>>#d`CRXs#`r2Wf8l7r;JIVEpgPik>tEGpfb}^*z^v59%H0F zB~@t{Py029j_RtxHpZvqWSw;|4ZSv!jOY7-*Jl)HDRm1QUtqd({Uo9YB4TTE z;K{QG#OS;N4Xuzfw%>UF-G!k8-u{lJs}ZvZgx+WkZD9pXS9HQ#GJ&b=7A8BM-lU3~11&>esghpkl!{tZm=LY z+fPVTXN0P$Ww!bm1z%^d(EfB0G}=G#=2TuoGRwPU41hmc5xVJm=5DxiQ(c@?`>5gt zjeI_0gtis8l%kI&5=poIeH`FaOJMNvnYOJXC;dXx`}=ni9V?xeq>920tDM(It)Ira zA)+=a1a)r45A+*58tV%V?z}239qjJMN{0m|M-d&VC*jofm6C#(Nv@1Z)~0TSus6%s zn1pRc@_i2|x|qEl5~<}+PBZiI3sRR=g5hpb;aa?F+}r8bznx+Z*W(UdP~K!hFDpYY zEr~BAZ%#frmdkc-jySyt*(o3awF%-|GWJC@B)#q|mzieP*yQncD8-GQ7#1UWBP@-9 zo2v#DEhVrl2S(E=YL1rXitMFlh+Z2N;jJS+7`x@X%tMyqdJ_oa`u*WSVokSl~;8H9RMfUs3fcRvic%M{ElrbT(y za?0_QbE~Ig-!Az(eixPZLJGarKH(ywN}SYkvJh;3u^Jn?3gs3GCyF*j+vz4IFq$QLW zmveD<=F+~cX~7#X2ud6Wxi*%XT>95(j;5utY495SZe}H?S~drE!wHQmtf@$8dt10$ zVCJOAG~Qo#!qad<(k$!w5}@v$fEu@1>Tbw|?q;rw z>!|e$+yJsF*oV$u$M)J$m)VNqiV_sWy-(>P^3rb+UkL(Pc$fKRm_u zTE%%@rqx3r$XKzEf_l?J24iw>Yt|0 zQ8jVmTs(5%^z_(*awB1I?o;!o?%;=AKFyv%SG4SC$$b*O$4jr4ydNGz1u-c&TeEUX zphY@u*S@MPvLp>b&{ontqCj{PK$v&IbP70q6zarBZb6&ZQ5gZlcfE_MRAi9BnvgCX z4xNw}6PKfJ?V-!vxc=yg!>(M+Y1vE*W4vOWSQ0oDrD?8n+Z^T0;5zhPwi&wL;2YyZ zr>DMX1@+q7$WW(Rdn$XyMCbWE5^tt1*6v{8k-n{;GQ%W7m5r*h2td?ww{)IeUJk5D z#4K2;#PgqN9V9QI9heErOXL%3w^Os0Uc_x2`ps+kknhVllEH^!_90Jg>k2@&X9N~N8gi(} zawWz`bUzT=qOm(NgS>P~Mge%7=!3KTCg#I`EU9OsxOivnH^;>TJ4_qthZE2@p2+HZ zMQaPGsq|G6_1^W^%eSLccSC+7hDQsh4njv>LvBFX#zxFs($Hl!i6kx@?m{ z2|p+W{!Xi?nLRO)^{yaaG$}|q$#C4fwS&j=3O{{K+>vdXF^j~Lk&$+!6JDPSQeTtL zZgH5i>@by~#liVFPKW#(Zw0uOX(6fK$2cBH3GDR!h6+$BpeJVW{R#v3bg{j`ehqhh zqMX@_Mnf+B?ECpU_UIE<(hVQZO}+FeTkXt$-9B?7Cc5%%dv99~<)!&!7;Wgss+x?eE;-B9>Sr3l3eP2^PSB z_&O8hz`ZCLM=jI*dZ4oGO&bG(B$)9dZu?%PSt)VkPH|Af7()k~%<`*ct?vPn>3Ek0-7d8I& zU+IEkn>H^1NIwLx3C2^-D&u9{AVpOd-kQ&m6fI{NVS9e3`wvT;t@?57{ld$ngCWJL zcO7keKxnx?`TM)_xp<{@mqPO+W%-H1eOJoGtIT~91=tB}1KESl$Lra;&XQgW>*2jG zMvCatpFxL2F8`fM&|ojXDqX8A8i!zwll|IK=K|9_>p)w$BI_!mg0=Ar|97K$she#H zwrsIj{jUc7U+c?rV_u*nL7kgM-9Jf!xnwxig}f?Mw7FB{8@-T}3qVS;%ZwZJz1_EJ zH;w8)BPrCX=P@*GIAYyyRrv&%EddR$#pPr^UBD6VsW*D{VmJGoN@8%n4AoLBB^(m{ zDwVQI+z!@Q7W8_T!U3)MT3<+1e#kH!QC5k(G7VloNI@E!R-_L~~I zY5fSnQrGcD4ddhl4a^|Jf;x8k@yIv1tthTwZb`eDimrUi@UVVr4edsOH>>td0i78G ztvcIGd&-k5nWUub^VdMvwV8EJjG2wcpRgXYUvjrc*OjE$W23Y@$5`Wk+vx+j!Yj&X zicj!4ZT40x`zl@Dx-`Ee-j7Jy%T!jst@X3E{`5+?UlF&LseVVpIMvauZmnos%>S7b z>Sp&uM=Ri>0T^~MLI$*)X9-6_*&JFoN1=%`H_aNp7Mm*SB%j#r5P2mN0Qe;%X--bU z49QeT_n}mD^)RnDgJUiLF_V@ii6VE}YTz?$tyWxftEVD%DOp&4mFd$!%acfJ-kTPP z_NRrIY`Y+ro*b{DY@)A_o72mtIrK=hGMMjrxi-L%>rWrHn= zq0ztdCWfstFh9-3h$_@zW0(o*D(d$=g}Hv3KYS~%pc?lM?oo0nDrlJvb@e%W^D&on zlULH@PIHs=SWG_{5uF;!)LoX+Q+*gs_Wp%HhQ}VTf z`pql!VI#Cr>X?Pyl*j&}cfec6;|+~I`qdYw9_=$uqn|^9d!$>F`<{tD)KKz-5b2I zY2;Tbtlz6b1?R^X!!5r8KKuxEQ)uCSjfqy*u+4}mbd7$jYNgz(hjCG|I@W|HCiQwC z^#W170^UU9`NaNFfBwdklDMFyQctMi4S`|0R>4Lm{5tP2Htf79 zyKW~_{;Cs|>hPp^vW9h~Sl;_6J^LN*FTidTi=XN-^sQBN!J8GKHMt-rmioJkQqT{- z*VzO^WXGj?{d#u#$lB*!Qz8R$GAhnPGf;G2ZNgxA{<+BZ zIf3o<_o>YL=}K@GV0iD)_6hn}HPG+25NWyS>>aA}wUvP9F~(R&SNy#_r!sA9G$x5yb9+_&#?Dkg|+vu)|^9~&ofdThTi&5iFkvoe05&>yI|}D z{T!{llW+2HZ$DEi30qlD>J2~HT-1tPTLV! z{|wjpOi~!$FtIU@V|X(e5LuKA&)Rz4vG0e-rpUX(=yrFcKX}1bjA!Kh&auRidoXL# zU0-&s@e0&8stL1|aCX6BOC4K1+&({RdsTb*sKfkDMlkb!&S#GE%A$J>abq-q>Ed)= z_?6s!H90ccR(AS4>l^)(t=8|(mxQZ&SwN$Y4b{7Bz?4W?zG3NBqxX0&CYmKI?Qug~ z$y+$5v)50eFqHOzA1fC+{F;AFCoOVrU6&m&YWeIwe=%*L&!@Wqsg=#^mJ~X}&b))F z>>5cObQMWo;ur927pcx&`t~u|p>(41p>#6G&Okt~rVyn&A(DFrA}~Zy*8FTeq*6AktH1p?1OY*n$)1OsGPqZgh&(wc25j@ zyVSN&+*F#suW?)O=SO#qFd6-R8lG)lc*k*ZtX_9+Juq-{Zha}R8?{b5oV#V!cDqF= zsZ4C`fYe6Pr!8t7GP{2s-)=51>hZ_A6Jo|Mfk;Zgr^hXf>Ux+fYs;1i-?`)rAY(}QIZ?Q{x#;!MEsoJm zyDoZBi;p%o%6NEv_Ii=~J5pRVANALC+0^b4*P4u-kc$|5BW(Li!)~dDUeBNDsV3dJ ze;Irr!Pbd!!^0#yL1bYuCY{yrZ-cLRhHE9K+-6l$@z1w1PY3tBOsw2>e0 zV0hBu(&WjCcWR?e(YR89g<5vkkFf}w%AJctH&+SyT&bO#sn7Z2bSZ|Bb=mAe$}Yat zN6NCW*a{L{kJf^DKU~N-e3m0DZTlJlC8bDT3vAA*feUd)R=WlB*i;qg6?g5||25Sy zFv<7s=@yk$@0#FqU{*QqTk+~sZx6X`hR@@!4VX?|ocTQxA+b)`T$gKfu)=LMIQBY~ z=q1BX8+iWYLo89y@Gsf@;kIOE4_Fi!O?WLe4b4Ne@GcG$+x+I6KZtWLi z;7Gvkfs83qRJxia|H_7g{aR?Gl7WRv$APqaszB@AY#klcjg|dcmqYEbCitMtY9~Sz z4u|c=FCEvHwv~owXWJa~QoCl1ttO9t+db|=%&7E4{sQ{i{gX%gwYDq=IVgk-I-8UV zfh)<*ZydH;O|fRDGR2NBVPJ!iJf|eMQ8+6c^6hs@bY8$L`A@S~%kyj7S*-SF8A^Gszd%W#+4 zC@t<<{)z;v`CUw;q0eaygtvHVC)`G|4^_{S&Z{t&lszTx`leF3UOVg7FlLUSe;pak zMV;;Ol&vjQWmzn2&8?I@n3%%jx{*-Qu4^VZGjTO5p7n&#afY0lglS1>ob27-JOef> zOCMfax;-AQEZzX7W*0hg^d_<^uKi6kj($g&e8hVS$S$+IYxd`R5TeL-T9Vr!Y=a#ZFL$jKc()H8CxKJ9A+r z?+Z?+FB)qi;^}UH5~S=G4ino*bLxBx=A)As8~6#}HNlOI8%zdM6*gxB>tu1sZJ}w} z8T^MiWlu~?YJ@W@l|xOrLP;+65`jcPCuIXJ>KxELCH~1k5hhH}ABYQ|A4$(dR*Mop9 z@3{pro7VvHu{>cZEs+9x5)8?@a>?Rb*50z+JmFCwM5*p%-bO=Fjxd~L9qw&d04goi zy=|^=ghDPEJ+N>}MDxT#3B3&PTs+slzY_2Ti&ayc4i1phe`2*Dz3i;8ZeY6h`$j)l zbk1BL5@R57nfs1xfa%64bGyQ4F!ZYZY;-^@If+|Gx|MmpeXrHLrlmwZ3Y*r3dFia9 zoB>QvzLu3p-z21HAHQsFIN=KvhJ7Y=o#5@!zZ|DLv&izO;QSEQ~f%1k%;+M z%OAEjZRs%{b?Q3o`=BF#RR^U@m|J)fe_NM2_hYSV-@R0^w0Tpcmz}f3=-D}PKJrN? z)w!*UavzKcAg##6{`RqBz=>~2t>d+;dmPF2PS(0V_sFhjy%SAob%DBmwQancBZ`1L zpJhkXR5u$ry-ccjcVjU7QcBeh^OBb~lRk!DN|lp_T1qwCFwFGl?F{u95-pvivJ$bf z64$SwHm_6%#MCZ|tJ-1a6XazqE)b)% zbhV79u{2mPgU&e}xU#ZpK=H~^*}={`?&)K!%&1Ld(@c}uK{uG zpXMW%WWMe$d~D4MFT?$;iXn~tg=;iT@cB0=iTb?lnz^GZrtRzCG=)=!X_I+&ujAuH z_O_q8;Xbu+`KBqxCUeh?xY>RO66ZQRZkFl!17!!H=((b4u#Km2r*7ey8OFL8zjGVcAc~@&mRelc6VVpOTl_075nY+7tWkyvc&Q%Q}pcm1kN2Pv8a2GRt zMvVr|RptERgFR8R*1p7ZwP8zD&n>HUuKr-Q^xXg~7{Ps2v!Q0Aee9C##Nk0;w&^8~ zK81j}!#qK(<1d-HwI27gBnKr*lrQ(#^^TkEB8&+|Q%xoa6V5 zcv<8Dee;7`X3EvL77`K;gLPMx`mHIRPBm;8?e%h@7#en2hXcl@t1*FfSM|qUNccY= zss8v7vs4Ru0EKt3q-3@#S%In%hfbl8n@a+|Zb|-??1DmzEzYI_7BqShw#5ZJ`6i=A zQ-x|ttk$T_pmfg0oJ}(GT$f~8U>CmrV*QGze-D16Vzs;H``t{jMG? zI%6S{-1>QsdJE^S}}WxO&jx@*>2IgGGPK}++(_g&}Pu;xh1nvtfujO zZkgGU`~@4wWL)*Fw0B)z%gK}RT*?{Kh?%b%MD`?}q0lHw|&Kf<`(SXs_Q)2vR$*bXzW|U;J5-$=rFC{U^y@ z(R-3YeKPV^w`ih^k;iP}LJko@JwI0dcc{(V&cl@gX_ub&wk?=1D^3}S_af)L_qpid zF+C3ZkD&vp4>EdyFWWf}?x0v|`*1eM2m)y!{nVw`IS)&9Q$YUXAkQP-g^?6KaSizb zy}AhoDT>KC^gm(V)oudNbp`9HUI~1$e2)zt_d~9dJKb>)+pJjuFT%VRP`CUW6Hg<- zji?|>owT54LA8a+o~ic`CU-}geaVbEtC(EXa>b&S{p2j?EO^SvdR;)#@_THRZ+as7 z_mo!#dK zAru;9-L%20vrTA9=sd!rKveeaW&Bzom;aSAGQ`+nH$Kz5HE51Az%J~&N%Q4!1lsu_ zQS0j*Kpi{>t%k>dada0X6+e1p#h@8yO$ujh@&)hq#R3a_dv;l_e)HN6W?Zw3fC*#~ zcr@c|a1EI8zksdMttHi z)l?-8$Bd0P^_Wo4%BL9z*UMj%@#h%X{l4#U0tiBbLH#I~OX$?bB7*^gNh90Nakrb` z9Zes)BhRoo8IS;_(1)=$2_B??U66$%k55N@V5}?bkrJDIsZH~nMc(i($a6Cd164AWwmV(j2_k4)1c zsY6D=Sfn}zT`u8lEw0%YC;znwOdgVLca5FqW?)FAdJ~FV8w(1JBN%?j6Y-QAp9xXK z4Izd@lfC~~r1rseU&I;*G^T@K4+UK)w?RVxlVIlsBoDMB23gG{hDB07Vn3f$ApIJt zMt(vw-P77Q$$%gV4eE8Sd_GZx|J-<>`ei~tG03|4bROgj5O0R=or-RY;nqlLj-VMz z5s#Z17o1r=^!JDoM`e%DNPCj#!h|_=I4SatX~_Z>dT$F$b6BJ(b;W;wdh_pZP8Qb4 zfSDW)=+cX!&*i`*4$VzzN~fiiK&3b&Mvgta`cBV7Z$L+p{G^M|Ori0}gGeH2NO4Jp z@}tq-f9mdc;7ykV)%cFc4%0T2#c5yP@ZqrFQ9EChaE~^Hv~V?aEz59VHitC0FJ*>E zpODWWhXyW`EQUyga-T(-@!Fv#e20292b>cM^CEf)w0ny^4?S$aH&TZIM+#?*8vR&I zF?=Uxelm6~4uQ0NhXL>Gevc%mh%R*EaVmH;{yR=7jOMHf9+w#gaunlZ;@fuNe7YxH zY=`Wgpya_HyTTH5xhyELwc@)O#3Omi!i+Z}ZQ{Ee4q?Bi!f?-D47V-2tEcV&;+yM+ zC|(ISgoe5)9<~WBaB`0l*!{kHHb^3zYc?A8$&f0Q%Qq(;3lY!zICuR;!L&8Hk zq5?@KzM=+o$O0*0Ympjh92Tc9a1^^Vn4E6Cq>*jkXmH!7@+ik}LpW=2K;L41sMXUI zi+)xIt&W&+n3%&v-q`cLQ^efG=kljY_ZEgsZ)JC|C{j@c3QGkt7u+(B$@+ zeP*DauN~+yMrj#C;H4kd;fE7BqVwkf)td3ylnBa*CE|h%D0X<*f{$o(m(Xtl!wcqT(V!qALA z)9|2hRsvzNucsn?Gy^rT4ynjcqSx0Vb|IQAuv>esD8pXI4kP*;0->3bj1x#vA~2f8 zGna{E$6U!64J z%LN1tHXX*`6!y3XvCCnGNu^#u)m${MIpO-Dyi^{F(p*wHUau91U=+!YQM%*`@BJ9O z&5Jd`#~hoynY!|afXf@gv^b4J%Xf&O*;$I_h!x{Q%ZYD_7#aq{*bBqq$VwO6AeM$` zE(vu^j<MCssr2@mHwteUPy~fDdPL5HI?@L;&O-#c+N`%*P@V)bLa0WEUGjod z$K&U&0tucS;`-q5A7w{$=%E#3!{)U595Bdzk01m&3?_a<+z4aGBnL?(iDh_2LYVNFs{Z>07j-TPP#m$A4;0AB>>+MdO;GJ*g(^+i@9MGZdD~lf!{Q zqifIWm%-uWlf9qSdO6E;do3R5n}7y)Cwf6{dq6&xlj1d|5hGQZp5HM^ya=}v&_d(< z`dy@h0NkKuNCep(WzuM(oo3H)8=THeVGoK3E_dw?bIm|^C#VK<5K+#(Lp)>3=_Uit zup~S1tGeH|D8G@#1|jRfcuL9p2tY{4Y@cjVxGJOV?_3jzC(%KD0i=9k0AWTdtMe=8*0T$g5hui;62xw@Yvb= zq59Kfq?fk?#pFl4{Hc2?POCxNAUhK+?}QV@uzJja*BIR_I1c$|zY=j$|4J2ZPVx1YpR|$bYFMrOu!K@?Gj%4?m>}HR&mSy~}BPKsE z#loa?cWQs0IW&e4J32;R5gK@4^u1_{#k~0LK-pps>NZSvq&p7y$a?%jz!In)OoV%V zG(vnpOAZle7(7RVqd*f#aT?s!Xp06N@etyRc-d93H2J_$Hf9o=UBj^d1uoAyx=0{K z*doE*VyJ%NaYc3Qm3opP1sVsVsqjCodj zQ*bzCbGO6mU`X?L2cQ9K+c~P)MhA>5Msm_l*E%EZgpG4 zZZBC_q}uMnvbbbD4gtKCBxWV?Ts5Q3la6NDtV4LwJAGlijy&Nzy!XNs_8JqJEKwq9 z0G|vzs(zG7&i*ku;_io~l3kiZ6tbVSq_Bo=(an;mllvZ`IfIl2FHLlDEYccD;Jz_W z88y5MV#s}|y@DZOG&dPO_c{mWM(XDda(jCmUggD8G9>(4zPKW`C;46(D$=q;RG~c4 z0EWm*K%L)%L=%a^0R-a)s9^ED02ybj_ z4-9VfS}l6i>s)rcJT*UTE*9Z;dAE z#%?lhILPfl+lg+GVQEAh!IV_Zy8z`uB{&~9}L{9kE+eNL#&9z$ScDypDcnO_wb||Tlq9-AJ48>#0AyL za-;4m9Vu3g%|@ayBd)kVjyO$ki!=7kW7aEuW5t)Ymp$qbtC{YT}`IEI+QqO=GR8# z7C0MGdzUDCLxcjhD<{1ep$lxx>JVD?DUfXk>^CuK zen#U)JDciH;x;}ug4ewDsS_PcGBZ;Cj&U)AB#W5W>HRX%UpeaY zvq4SvG3l$>W-6fFz;Yt=N$kcUZ=>!b@aUl#1uwB!*hxZp!A zB%QO}G~#>Yb6#8BUF>V#L{gi35qLXrMD(!CwpaQa ztUziL>FP7u3O|4KajxQ&b6vw41dv%J78OTC%%CTf-K|SAqJrn z>4F=lLNRzm6|g@62+WeipH9!<20hlN-0`q^A$Th>jMfgyBfBa$)En!}a5VELwDRta zf>uuPHPgFJleB^SAYRIb7``$aRG$#jqG_%Fr0yzg9)wDqIJ2&Tvb z%fV!AhfRu^u)%6;2x|2cqsmQM@+EnK%fFlB=6)%NloFPo3iT=&O3sLgZ*qUBw|pw4 zH_i_ys4wP0|8Y1u|0|qL0AYQLn|CRgIbclk3z6Vl=82J1J3Q!+*bVf0qeL9+bKQ76 zuA)E;A;d@Y>reH!Ba(LBz4Z;d)JN8s8CPWa!A6Y_M4Iy=y6Xrv`<@#?9dOEia(D!(*c0%X zvZdl^Epv&=(n1>O>B~Q6!jU~~a3<^nk}PACi7r?#rVcj=xJZwc^ggi`+)Y&njVf-aHBAwd*5F#XbH^h?%62vp7M}oRi9Kz_s&=ITH(IeU zwVu`Do2|Cln(d`=9Yv9$C=A;+^Ax{PFEha;-Q{kH3(bwGbYvg=xUb#dBrm~bX~?ghp}b&0dxUi@|8em8Bvp_^`@6bqq1N z=9OEf5$X(Y3fO&$G|z{E=|XkO_+Ymyte?oG?^Mi0*d)Rdw4&nlWqv^j$uj}x93M2T zC)yh{AKE7^%pXM*B-kkuIg89IaH3qRLOP^=xan%H1P6OdIok<2b}$#tYL*2%<>si? z(+eQ@NS72iqmTRL))5ucI9W8w!7CzGx^-JrRG=cLv6huo(~2Cog?H@3sWJwGHhWid z>6$gbl`~UW6{L(>l)RvD(Z1*|=lVa)uxd}%=ILG`8&~;{)6$YYVUUSbMWj^>alJo{ zyyPmf%^=1NP6jjgGLV+d5kg$78;#<9FA@-^)0pANNeC|ckyIJ)hy@UzXv~x<&+Gn) z#}rwsnH3m6Bmz_7F5Ni6z9&hlB>dBmK`3s96}L5@R^w`&^SZEnpGLA)lGU8vn?SJ! z!46@LF#cz*l%qXe{oJpw#3?yQ0SmdL3fT7^r?rvPig`p@i`Pj?5mPvpRs}rJhd5d4 zTm*o7F7hv}9aiQZt)%%=MW?l>%TIIH^Kk>;bbjG+)R##2+R2Y}U~Sjpwq3Q5sp%X$ z(J@}0S%uQtsROWENX^HMy)8UjYU?JFs3Fj3s^$;gGau4g4q5C_6ya$*oiHO^EbT{b z`2v$Rn@4rQ&5WoToEr+xL*f@a6LaY@53SaIug12+QH4_0VJBFXFmLnLm*h?=VxM?U zc19_-of=o+%Gg?uvRc|_A{+*f!6yQw8ZtowaZGD)-j@pyNYYcu<{w zD=)B3IBTJ-m!@+ban3Q|mIgFKBO+_oG|mBmty?2dp9(o7I7F-A5fwxq%8f$0t0bR`Ih@ zP}IwcVoO#g?GhvK11>cMy1~;W!bV2RVp{4Os)@1*jadLc zBz=poeQsdNehf~fg5lhI0CP^!YCzJ%+zNuA;#2I(Udz7bDkkgF23BV4#(t7r4@*eW z>#wGuuN?&gNn>2_x~0=0xid4Gs<1hLsTIH%nY-;ew0<$}CT(lXmZys$3>(MAnSuzm zpmBXCcMfZh|F5nu4~Oc1-?tBD?Aez|h3xx2sD$j5EMY9!$~tA6>97sTixwRgZX)g$Gj$9$kvIhq_3a zEP3Lh773nxOOLKs@u=JX{E;u4A=vX=Lh85QU?Bs2?638)xIWO8v#Fl23;NzBViAOE z`+^BlgeMxDP_M>Nr>yj~IICWNE%g<}46xJahUM?N_k~|aPw>e<8si&{e-^cqvf4@h zs~DrbcjDTO4(tAFUEnSua*X;cU+|-0g;P=R>`U3O!MgB39r6WZiI960>oK21T`z9F z_!;ncR3%7N4bE#kZEtK@aCLkymzSm>WhN4CFfBQ1JFt>a`cRv%_wh9@s|fzi{ND+3 z4;CJ%-FYxE9oH)cUwD1y)TmM?UJxE*+^@DPQ?{`05VB8kU9+Emh9C?gzwOC9;vE|C zJ@a@ySPv`+V!||>Cr}>UmWFLoTA~jCZMZ`1tS10*&HEdtH z30JJ;u9a&qBY ze{0g;3;lZ|^-mo%_DB9v)zE-fc0V^)t&~=I-;NtkzGMr5H@~hXo^e7=e*Ihh&QeI- zP#h(A17R26e_P43WHal6uM=5HJ~^~L1$NR=+X^h+Dwh2A#w&#?Dd*(nH4ikI^2Yo^?Ua@e75IOpGZso zMBr{*)nW&joG^Ry{z|~r);q7A1cDYsp{)s)Ym$~D#NUw%&)>aSqn)tj6}U#0s1~`B z@aC?aYuxCB!`C$1iTM4x>|5f(`{+RkGh^`h4Kfr{DyH5Qy*Or7!r6H#GJBqU#-;LK zF4+(V=)$0t#EMO9Q1CPDnkxQ=Tc~xXPl3f5V>%4Kw*KVDLZk6j2H(2A^oyFhbk=QN zOw!DbhF{Pnc%58?_0^p9yb-cnPEO5qjBymtgvWrUJ2~AHqK-}G)V%)3NqKr|YvPgB zH(j^WbJxY2UM=6>2<m7;-<=|^27Lyp?C)iOJ{ox zFCiKwaQ4Y4oRFj0A6RcPKk#(1@YU)3Wv$IFy{>3ajg7$L9f8xglkZqMpdLSjH|>sr z3$PP}$Ho5y3FH2)iyc#0EI!|6;hV5>Pr&ZCLcNQXa%F>h{U7x*oAdV04#dvDwq|wB z$c*#U;2}b@h)X=?uABi&w664y!w+K3}N1Iri81PMv4ub?bf9<(sy}qtRnbukxSA z(Rva8(b$DVfBX~Vk07xB{yzUReJmHYOgw{QF9-1Xd=ka+d%hLN4aVwad_ zg5~|RLT7a=8=(lw%ypU0LTBr1h^|ZZ&K=LswkApab^BF^acBZNwPC$o&Z;CNwKl54 zXE%iZ-L5jXuSYDRKVQCU^Hs(~HlQgZ1~=!LRF?S>tDaeup`%S_O6wa1toeE~3%&Ws(`5esJEgB8I>sGRBwUX_ zD0T?|`kS%Ni9Q{O!V`jFX}xK^_wxa_fQZRBck(6Ws>cr&A+CnrRm=wwA<;vGU8lF- zwJ{A@Et^7i6>{nVdv}M{VaaaR>Lo+wHJjBjmz1>6kG|8pa*^EUXaAhtrpc=WY#NoI zTwo~AZ{GG@_iYIOUy|FQU8|aOd6)d##!p!%bVTjLZQ3p-^ zEt4lD2boUQgzSq+Qe6Jht1KL|rh5-8eFKLosU0ds-WyLdDI3rjk}7cjjeSM?C6$mX z_92GWVF>}zz1z7`8-I#i7yfD0X%}3WY_7f*@bPX6b0N}jzQ$d*xX7{WAH`rBm&ZHN zqRGvAtT(IItU`AJ|BZ6}=$An&9MqG!+q?O-S|+H_O!nkZ#mh$pwQtjTx|YN3TbvYH zY8P7`%9d3b{IpYms=0umqe&$57)4AI!-b3BzwQTv`Y`+*e8*Sg1^JkQM`nEIa zXQ8R2O$duqp+@JGlD8ylQvMzrlGYUibMzds| z-yF3q=qy~d_=jG`O^)qVj_~wJ*lWCpm3yk{)8twH_GFaov#M|6{sH#-R+AlS@Yfyf zr*;eT9E>H0#W(dXMC=uQB!8^aFv-WrBY*F=GM^>g%`ll$LD#4c<62BcYE#5Em9!2` z1_d*8D(`r|iB{iU8NFf37!fermub^Gs1C6-Z#1s9jPf*r>e!wa0zKI|_U*H1nT(x; z2`)v)I{}P9B{sV%j^v{(~x9+3s7)ND?l>NXcaG`Nr2%^URSp zy`{~R7y7dTLWgM*3WM2Y+x#NaAkp5PxO0kmvm6wU$rDU;p`La@-BuI(a!{ zt>s2XOAI-8w@zh-a%=V$?(!z+RE8M)mo6{z8UCUEN_T}1@B6GjnEs|wfAHL=FsBLS(`=1yiCgV9rJ?BA@;V_g?@{7 zdh8E}K(ngQj}JiK#zxV?qvL$3AAUB>t=xXyb4rLYdHTv>1agm>v)E$SznL)drg}PE z`{AyU_Kwb}FJt;Ub>JH&Ki4?S3=B(?lYAX`w8tt#nmkpm|B{ys%J}{4V`shbPyBqL zPNw`oV8p;0Hjg=QI*6+vLH&tJqLKovtt>~{Ve+!Jx#~Rop)ewAu~T zcE!8mP&_DOm3R29MsTH9$t+(|_UkUKln2kE`IZ)*OJiHL>BEXima_L1tUZ*2gy0`^ z>I#)Km%5}Jo{_xNT?gK~&sKXktYo?N|5fL!cFb1cL(3ttj_O~&-y06rGR{3vxOk(U zp~}EqGk#&dK6^Qk)Kuu1ZD*x_sww=&?OzT~FH6-$|Gu(UkHRkKsF@PBKRt*U5Kb?z zGIi8_Z1kwc>~yjw=b_BUdwS0cb=%(LYVf0F7{Ox*4I%7uzhYvQJw&}=%jCu4?E)9! zn86A9oXyX(aqwdwLtYped=Gkl-d*JKU*ourSEfxe42H+`CXd}hrKVhK!5REv;4J{A zp?-_gG1lYX2kzF?WW#?u*5;@fD_!-JlIZjC3<(#qlsWH$a#O;(J~WV3`13XHK(}<* z)^zEZtZQwJlU6ouHr2}PQC(NWZByU|kh5FLAJYq;@_o9;^^gmP-t*Ht^u2Yka=OaN z09zdgzo_mi?^3BSar}yeYfTi=RN~y7{(DcWpTF-$S0!^-{z*c~oEL`M*LEsMR7YQl zd0cWX5^1MzHH}pT(^bX`2?H!%0Eq2V5X)(K!X9n zAo&Kpew@4~0bi`Xexv-WwC=yhT`znN=T;ACPyf^S$W1ir)eU6sk5qNV#emtM`2c&2 zOR>2tx-zdz@O$AWU$^AfWz~Jkk*>a1XQk}L+CWds56T4S#kzPLu zY;|*~CG-95h){%}q>3o0B2XvrNIzrOY(-VBM=oqI19Cq|lRI*}Xz+R*H zLjnJ?JGz}lv<9i&#=MyG7A`TT-)_2XePEUkiPG ziewJ)pNxD&({!vsYjticZhrCQZ2?Yrll7N-gVZ?w#`wPyQ*Fpqk)~cOTO%H1(Lw!G_^3D4XMRZTMzrkj=xVP%XSuui z>pk;10$Yb`h=kDTocT{0T3apC2p!twCpjILSS$UL`VBNMQV(rQ9hO=;DmCaFn91&-TbqMyfk@^-jlx;Z?zHor6OYHbuL?K8naZ zvsT2~J?jvv)I>}eGkaagumht=%jdkDR|>pSq>J6=)G8(fxufo8l!ggRtlwLzw6HO9 z>2rSWl{X?aQ4zjxJ0$9KY=p^qQP*?$FR-dGkG@IBmz+rim9wRLYrMC6PHJMV$gsi2 ziBGAhY3DIyNk~`D!c53nVwlV_o+oTOKXt0pooI=a^%dAJLGUeYN=@v9 zV$oY8Ge3ya(S&4CC$WD6v2s_p&@Wf%s=>on<1PbF9(JA`ASM)+L;4I&^!GiV>U+Os zB5@__{j(cClcIZ;`0M@Q!!YXR=bsRL_N@zb>$gek=)nR)Vonq1TkL@2pf9++d?pN; zx8^k!h?ypYo;0>Qw`}ADpemo zLUuI_iB7CME;ZLqNeI1#?)b4)dXdzF`D8x#CHic#mvo>$hl3Cuab7%Ug|XjM<2!Pf=mWnf9kj#Kro%Lfa7}jVL>s{qoQkyAr2oLTew22=$2vaXYqwA(G#aKgLDhTG)Y%9~Gs~Ir z#QOrpb9_q=wIzX+&Y}q@`|K9_A50*hn*jxqCpr z{wgsyPWcgNX671Fm)JgZaXW@DUUrRoc=V$Qz85xjT~UuE#Xora&*`C~ z{OwF{T~7%0XgZ;9E;&(g%WN#v!#P*qg7$J`W{qR1%)N{Gxfutl3t0)0Y#N>vc{j2p z*l05pOXKq(H>X^Iljl6=p@;w0)Ow0DW`l4Eaou?ve=6Krwnx#EvWJJ_XVmW=dXWx0 zfE$7BL!wF#-jfn^$^y*BU7{Tr-9gOMRMurf^7z)!YPTmvzpH~d=a9Msej3{oi<^La z*-;`*%&pBOjl1NlmgdY3WESlyeeNWi%qBl-dY_k8LJvejUtRA2|D0_l@8qTRvlXlQ z=z7-zwYkKY<6B$Vi0!yd1ipAXIGl`%WnX)_sW@K0IBP>qj_3GpBU!Rty6FoaKA%o* zVNneBcsswgl09$Nl-nd=xNWfCKNs5hCyO?>dcfnL81pr#B|dc9pkZ=9@jWv&wqvPx zrzt)|-v`WG?W3;e#G*^qPY##93WC#W%k-t2c$O3XhBNVpRQiYY-Ffh^^l*GnH+tM9 z_WaC)&UBag!AMFMpLoSy6Q>&uII8KjUw^uHL|lWnO%n`Y^vBcm>|{;o{R&8JZujlC zZ+G7v=$D$@JXTRIC7=cl>D2|;FeIe3MAh4Tic9muFzI`V;HcQ{!9r@FiW*Lr6x<9O+8rB)D z-i@V&rGy&!02O#!q(l`+ayVfF{VFl0F=lBa+OdhI^y~c|cb)EM%Y-+6zc(kE8|(DL z9piC3zdUDu-r6=|6Dx-$ayv&dym^N7aT*rI`M@$HpjFa>9$o zIz_Dxzx$Irp&s*1Jd-=C5gq_A!=e*g6N~yjB+m!>T>!&hhesZfu*OA^I{&iQz4N?F zyo#ibUlmbFj@>w3f0obQ3=yq$+w0b6}8;azZr?r6KusFrrw;4Zn|61 z8;EUu_bXLrR^O-S33qL+qP5z+C~cpc@UwhNOnp*xRxGagrpYURcw;aY9m`&nHBh|z zCgvcvqa!b^^H~ts$$K^|eb8|B&D>#Zk4xK`-&~W;V$9FVw7qQO!j}WiXnkK`u}wB# z|7DK5=%awRe!o_lE;Ru#!+>MsQ>O~mhDArTJ}RH4M2k(1We+n4?$Wr*>YQ6)bgj1b zH?Lwy`2FFw%Ge~wRGo(LZ7K1X`;*O)*Y8ixEpdHj1Oj4eoRZ6!;neDb4DepZEyh}g z8o3BiZ+i62x>Eyp2c#_!2EIUI5fUzZ5pJL+N&D1J#)NtpwgN)DeZ9!V_b`W>s zj&PgZ5XYZqbID)d(b1aR+*2v*7;B;}CG=8(Gtu^+Mt@n?KMK;J3pLOjkih#pCAdDc zlSX?f&(ITc;O-%5eFseGHbqU|PaXe*rfI-Jvp#vk8&gI*uWi3N7~Ib2N4%*(c`6`f zN)kWwzvP)f=%hzQ1EsBi~Et`CclK-Q6c>6uRos88dpho$G+t zkjO_LHZ9bEr_TJTu}+;y0J~j{VZO32(l8N7;qjWm#w*CWNSO;rwd>q|eqN8!D}ErPM!3K|f14?ua!4LV2`@sm zZPtZ}{>|E_+@QxG`ImWz)7%NV)M-D$*^DCMz;V)mKU9LEK%o}U&5=^oqlC8e@B9|N zK(3;3#E~#cTQeBT&!0Yt3cxk##K^)pQv~)%(v)Ki(COg6bl^!|n0WkIIvY|63+Cq_ z3=Rh@sMF6)$(Dc0G?Pd$gh9!?nr!`_-LxD0Cjah!Sojh2!zXL=kQvRG2J7 zC>r$}9nO$Tf;wf0Py>+ySaG>?Jjs~K77B(QV8lL@2_-mFLg+3=&=mfP3}=!Om74)! ziXQNYM{+QA1L zllXm)xemw-hau4zq3zAqoo101{A>P9nzY3BarD85k;@+G3v7=wMEw=ov+G}KwW=_) z7WO4OODZi$=bq(de(~c&0z)3ch`;G)JU|m!pZwK5q}|Y4enJfb--sj%mF~gdf*pIC z`N}^8DHASWidQ{CP)=Zv@X|kEii0;C)JHh!r#dC>!>fs!#8>&9L>gmx4YHK*_I{Q~ zb(oL=N{OV=EKx)4XjX!Wmb3Acv%V*^P!{Phq&$qrhh-Q8VP9sq_j6|`!bJX}qX?@A z*fOhThB(P*#4^(zPe2G_S$#lFn0=}`-2kbJ6(#epp|^?hbZewYDT@V$onl5eHxe^v z!4N?JWE@Zc6C0`)5`+~YbFN|X2voW)1Cqq+lsQYRrCu-sz^yj_@+gX#Hprq1%?z;B8ANtQ$bur z$a(XI5GCmXMo^7RFhv{)KSvQs0U^ocO5y27`x4eD+XzmkXk%6wMWtQpfGZWmykj z_`~q*{*E5pVT7+h34@miCp@4AX?*@Crz8y09sPBuWZtHM2q>yN{UTBVCi6Da2Jc3{ zFeN3&nTPJf8;qp0@bKzMG*j@FX%W=d&9X55x0o9q5L0|^vj|MCoW(h_jA}~{oZ>8J zbIz(Ij8i3>Rbe7=s1QO6)tK&$l!HNiSTr+d`~{Fg%RHLsuBRAo9v#Rr{U(DWN!XmT0)3LAOTTI)oSQLBn5Tm2Rt#Yo zzCL^rRh90_kV=xx&5FX`Z05l6%x2K291Mdb5Dq+xS|i;>2$w=?@%0EPCQAypMFy1Q zOsPefl(L2puObXe+2@JFlzD_)slb2A&KpvM*Q8u-hXCMZ3{WTO(hPNP)^6G&1Ha!S zYqs)nORS-F;YxX?Vf#b&H8H!qKB}eL>O=bZskz=G0^j~Py6h6%#hJL$weSu$;KSODQl)OwK@1K1GL~7i`iGGe!<*s6{{#n? zQ!ju)-N6CL>!q_g1CfQ~9sk&}|15xNWF+c@YVqSq62Wm+O>!t{ZALKolf-eLS&Rtv zl#!%UdIeqppqP^kZRRm2j4s8&2sD&cK^XSm4E~XX)<^?WPqcHSuoe-6v=UJ3s%Q<2 zFX@|d+dJY}x)U&|G=00df_&~FmM@Za`iN}`ii7$_51!*wdgSR%HUrO8i`TZb64p0D z&J_F*;#pcz#NBO@TGc6 z?8B_Pb5!pf@DBxcb!UOEUK8n!;C(^>Q;$UCv|0v;Wa$^+0gc0q@&sC<4Kmazc1HJN zy;&0llhwjOO+bCgfySHpu4^?*s2MGsNyE4k`J0WIa%?aj>)P6TQ}|lpxxv^ly6^^~tGNUD%WQrl9Y8eijUAtW+Z!MeU($APtwniNsld zO`!1Do6-eH>>g{C5Ltd`);0-5)nc#=;u9%?48aD%8zt>c6^2BTj5$vQ+L_RU5b|ab zC)!Y=!@td5m@7l@d`n!sK2W@Ss(0q!k%i4$(w6T4W56DXQU3K!GWSGR^(n2M5mm_q ze#_yk@~gR-D}L-#Vm_?z@h<*QhFVg24`3_W5VGG{4l|zsVFnyUA4$Y7=Bh*&>j6hS zGrjacXejvi8inQAJn1%2^|~@VHiQuQvuHV92m+GCb->YQnfVSV+?RBHhKUS#HjPG! zZsy2MYre!x^nou2|*Pd?{_ykc28lOF5; zWi;V`+0>P;U?k;~HBJ$iN$?F^a7P$pA8pEkRf$f`8h=)7C6l;ugY7+nlu^0_ArHbG8i0B`{yGNa>OwiKHs!q zKsD^?Tw?FbE4xXCcW`pKs4c3N@V;;oAMDSJZO3=ck~&r%UNso++w@mY*;!5TB!7D( z2SBhHX25Y7=g@IkA;fRgS9Aj-!2=e7bPN&Y7sfC#-WRmgOfMqUQV>QEa~^2gNy-TT=!%__LL`dbt5?^bQtBDu+hWHe2RCw6pnp1YmKl?{f032=IYJ_2!tV83MwKh z0Aj}?gtR$rxtw1L;(?&ZM2JV&%^gAVQM(%vqtB0Kb@fdwhj6cQ#i8 zzt=z_Sfoh_^h?3Uh4sE!P@PEi-m-y_bLa{5=$|ikgKv05+=9N_fA|?D5f2&FB#jsE zo<}OeB;!zU%2oOmBri-LE~Af>Pno96Af=We!)f!x#%A_q?jph;D(8`%{F??bJAXlo z9h$+)E5o*i+Qw4>4Lb$YAnQ@+Y!PfppcIx_OcbdfaiWx~mZ(g(XXrC|H8AffhIFrX zc7BvI$%e8IOkz2n1Tp8W$k--U(uI*iScnfqGs}!R*DT&Z%H5T;JQA?ZoIM^(i>wyF za)MSfzft0j%;8?kR4ARrLv|t!L@c4ZevnaUq9JeVjrQR~bG+_dnLsPyuT53#m=At- zp{O9$vHU*&G0H4RU>Y?U5|tiLB4{P#CTm(^@Ou=P+h%k-%TU@Ms>4yIlA57Pm#OKn7k?6sM&Brqifi%_be)LXjEY z{FTGcT-F5Ig9Z492}oD@4`6dLy+GpK3AO)qE;PyxP*P$r_M<$HZ069AAN9poBP7E~ znMW!6l#s>=l4A=8=Vh%>ZZ?}akgiR!#$}dK*6AF`6Uz|i48U9hgsK7qMp!yyJ}I}U z`$aw5!>dvXnl+a}O&RVapiuxWo|`QTM5VD)?$Z?k2gyn1jY6?gSLpmk++?1$3?Kk> zIi#ixTVj6yKBef0X|e@!`_M*bojJ%t|Zs2=-LN zQ?cy*QG+9j4~n(U2ng|>nqv3iNF*$L`nU?r`ZZ7h8l*&q5zU+%aHf7-2gJ|HI-9o7 zDl-1-XM~2*^8p+=ozPJH!u_F0>}bcsg_9DyCoQ{CsYFMF>UXYq!m&TQ+D}AgqCoBEF*_jaYGfv+2IX7tfQxmWHIz^X};&yszZ8VY^&p zS}LBsxKmLrv&}EU17xik>>Pj#5$b}fDRgRB{y%JF$_2LJ;Oh!Vy#|OE9(ZohakL!d zhy#3A}Aq|P#%b9yatoU({eFUIl@VeA1Tom%7baij@oalG2uQUu=X z4CqpC)02>_Skb>35cXq8o*eS0?wraZ5}6)Kj&9_%5#E=P;RGN(tF!eQu%r4kANHm! zP5c44pqbZ?I}UUKaAIe?%X$FWSh} z(|(`g^vqOyGZ;-~TRXLT9H|B4kmD6VVMtZLPJk#3fKuJxOVAIW0peqofl0}+e>($O zBGRZlfTNWR{_vFmiQtkZ{%Yn4hdd#M`GJul_Dsq0vzy95&mdaP^&YQFU2K*H#w+s; zr_U3?|3&Zo5m}na6Yf=F#0fqZDR8>9&ZhiS`a&+SjVi3>Py7ve#VU}wMOA1v1dI;Q z`eCmA7)Nkmvv2MZaCA8aM8q6?ME=r`5iI|0zTe?}AJ3^6i56I}E?gg5M`0$^YLDqiSa`c76S2!-x3BW^zW?TklO9oYsBwP&jF1 z!DV7Wb>dtkkBz2z>Zg$w|4rVQ&4=@b=i@WW{5Ih~iyfYGG$KPcmvqg3H@^AroQqk_^V6)9vn=QNQe-di{PbB_il^b#eP_56 zi`Cb`yH9K7xPMf_Og{0aZrsQ|V1==n<#x%rb&?k{%XJ~Lg>+Nhm~(B)V(R9ZZp@i5 zR=ljld8TwBUaoY}l)`38T)3=|)@8Fsmc?JY^Z4}c^xj|ll3TiVvXT!3K;;YZo~qWy z*<0`UtGCJ~mxW+P@Z8;c%dLVt!RE@|ddsa+7u+tHfPa4*UKRY-TW)dX3U~?MW;3mw zb%xjQ!BXo}_~tQJjupbnh00{E@kz%^!HZH@+sLd16urmhrRFaF#Ay6e|5kSQc4l=c z0r2rsj6QpO=V!WcrBnj`@=V%`41T~1XGEn<2hv=e;M%K3W)*kBNM6F%;5DvVUYuEb186Bmn;n0{0)H9B-*Dq~xcT^R-1v<%JI4LFy!Ai4 z53V-SOS}2ET<`c2paW&++ElmRvFR(> zmwZVjs+llf`lYwNwB`S|Mt|p}!r-f4`j%U=;tSyy2BHqo_N8zB)>sz8+xJ)2iGS)n zYOcTLzT&lAYIl6&=*EpVf9MO|@cl&M@54Yg$6oL~_T~?L;TOO8$B3Tn1#7OWT9%^t z*Hlj(2=H24ms|TU2p(?TsuTq~u^0b};AuHmvay1d(usdb@VtfLxtKR4o7b0SAOB|rPo6b)rhiuyC_J|3dA1Z~EsXs^f|dC_3w1_u9(gH+a!jj| zWUtm4!7D4c$(NrX*sDeH!YW>~6O!9e%UtKW)W%W}iQ-Dj;s*#e>TD@zWYm`HMmb>~ zJ9@)^a`dL-8*jLAvc1vxDP1)7#T~w{PFR^W@zpJ{Dc< zW3WE%-1&~pmoxC_SN#P$zB7Gtdi!JX9XY-|ePa5=YaN+~Klo@ws>ipdx2JbL7E{~t zo#~zF?Qa+m46g9*YyFwy8-KT7^~ZL6Z+dU~)(<1*kMB;OoZj`z2*^9WJ-su%_t;}c zZ~9M<-gxs7g~`_g@D)pLm;dE|e)NW;&*IO|;LlIv&rjjcKgOSb zgg-wCKi~YJH@@j>ET4;)WF@{9v~lZrRUiHSV}Ies3*Y-c{@R~gz4OMg|NYwh_S@h7 z_E~Xn_INIyoXzh(c7OE7qtE<>8=v_9Cg1+&|Kw}`*#CY_y#4KOEpE^AdvBY+t+?~} z?Z+N_?C1+UC;fsi{xe7a=;-^7{@?9Q#=R->@Pjqof~ZJSXPS+m&HmsJCn5?=y^X)3nEq_DRiqsIFUP8c}}4VAy!$g z)tNAkLRIh&w9ZJi_#pyRT3OYlVD?--cu)!oTgI{_)6L(h4N=bbtVjj zMsM?_07ov#!+*TsD|AJ%vJ=akJ{8JR&|9gs6-=lzIVUkTc;j@9?iyhz);IGmEn7ev}C8^LOBtS}Vpd2Tp*GN&h&;&H7qlUqySBRYq;axjg{Y0lxg!xL?Y2)W#roQ(DPf%`{wcxbDatd7(~UxGSwuw?d+x7y z&E1kh!pymKY*FeN1!v58CCZ#z!E#H&8KuRwQ7~ECQm`yQJ6wIC z+>a8FFMmW_E#sfifB_1wR|&HacPZ9Y z$=v9QyL|bp1V_@{u3^4Fbnqk$=fucjAZy_ z+OdPDwtJ>Vrx8|{XM#0GQc%}imZjIs9?>N>;D1BM5f;4T6&&@DyF#J>IL(Y$hzq~q zNAzlLU$AiA9HbyqX_;yug!&@{m-ZOe40%LzJ3Z&+DfKh0rm5$;(od6lT&Zjc5czUhlZ2IbmLwI?rBdWPZv@(@-b~dUgVK2Y6&D zxPMO}izjgY=^zqj^-wyo!z3J`OI)DF6*!@R3AItIM)7#VAAB){2$9JZWPj7!b z_H-QIxjlV+dgsY+h}{){ue;N`-@eJ^fX{gH?pr?&Y^C!X_-#KvjQHLA#$Lfk`yGQ| zcfYkYbz&17kLdPCBP;s&aR{h=G%`7k@4-^PYpX4L3|qPTo$cdC=IHU05aoN~Rex_% z9^V7(e0*pXwh=y`KEX~b;_%ML+b4S4%s=RBi}DQ5?A~{5v5@eHZ-2bU0T?+R?ngRJ z3d4qXzhPi%cw~NEuoiF)_r5+T{P6uJrnf%~O8fDh>D@ci+aHbeFI?N*Z(h@#;j7cf zzipHHi-&UO-fO)Idwdt7v#)wB6o1eA&TG9QiR*dW04PLr?|w%tzaza3$@tz!I@Rm= z?)2XD&Z}N~LUi2w?)Xm!3Xs18w+GLTl$hgtu+rChJ>>YU@W%JV&l{-{em_rqe5ei_ zKLNz?ZG*pSB|4t+-H&ua`S`6sI^Q&wtBB&a4c-RPh==*ax5VEL(hbr4#DA+Opa8~` z)7xJcgbWhm;~$IV1U~-uH;!06zI*SRjz`@3_zB>IAB`BUr@PmBo{4{X*N2bZc;m*= zn~uNdO*d}*A%P&rAT_2Bw^>eEC6xpt8jK|Hld-yN7E)y;CZSDF?BpwNq)1)Py4*1Y zYa%RQ4m4Ey`DF!e*a`P%6&8UO=$wNV%abrZ;1OD`(0JliDwg*1> zsw+EnpX=T)<#2e=$_22QRE2;{h|e7A5HP`V4E?jD(7QYDGj66xK zS_sF&b;iXospfimVt<7cHdqy+@C7+qS;v*LkDjbE@FVmB(<2iyJln(iH>8{J&tGy? zlmcY2Fp8J34O(0cXaaH!d|nT&XpIh}(uFXJ#U>1M+$;oSCH)ow2IGXnEI+Z?%jiYc z^~*-Q(nup-E_@}xG=D#_zefSkXZnpYk+Cw1L6Tc+nNES2Xcf1?0cKuVvsoeLQentF z=x@^#`wIk{?dc!fRE0iQz$|f}C-&FL0o33QXHw&$9; zVt&d2aTz<<4CjD{W1Kimjjf_H0rVrg$g#|?5_Ra_NN@EVLJT0r3(&c!UVTop5Y z(E*}G7rM7F3sn^4{J)ntxop+oe^1IeBCShWR+n5V=G{!w6HBYCc4t4As$fms9SFTj zpoA#EIaLcIp_G%CzLY&3J-3dj@S9wWj(M1uUWEjWM}MP4Npx6&@VdhyCO^;n<7=90 z<$V1?q8-(&l$CUc+fiUZ>4|UFfFbzA^u$u6*Z1^WJ+Z$=DkD3VHRCf;VizbjhigG@#deT*u8qp@ z=k&zV>V6#%yA)-~UTL%w9sj*Pl-!Z=2TV!sQtWV0aK|By6RLq`&3qmi#uS;p8}5!L zB7d(krc+Io(2U!a$}{{)ZWnb349ZN<8*MMiY5fWvywWt@h1iiSt<$Ol6h}ciScz!D z=caW~XroBojtVhr79Eh^O~WI-OBebcC}A?+gy=kf1vNwU>)X zMY$Z(2Zh1DY||4eTu>kOQbbpaI zdNP9J?Kl@-fTL%6Vri3fHn8Qn@Zo64*=5)?5WrH@r}WYQsJ519r&HYT{=w0H+E^TI zD&x9iqAi^8t}oUmUQp+-0LmZ+3z-2>G{_1Gu`^<&ZOx~rv}1GKD2NTwI%T8CjTH;@ z)X~V4o*Mk!g)7Q1tG3osK{WGcNPpEQ52Yoyt6_oYcI}zbdVZ6X2HBD^`kEGG`K-dLu!R8-G40 zz;@EiLVND%iKWd5y%gha$$zY!fe-8@Lu^iTNTY7rzArH^awi1+{ z#cly<(Ph&s9>iqRXIWyU?;Mq^r7qyYCAs5XJID=Y5%6;4EuXxaNPnNjI0M5W01E-3 zIVW?r5K8!=06rSge$GIo)(P@JVe_FN(TKS)Lgk?D(N-r#tYGuC>E2BxI5(d$*x1Zs zTYrD*^a?{y%~Fj?%zI!kLvDIvY2yolB?3P(0`pf}MccoW3R37Pyw<%L-UUtqX^V#u-b@9~~5Dh3rX+hHjV_*BuV6+s7wPw>lDSu4kZQ^jra*`82RyRdakUt8jRl|Qx3vnh&T?fA(Z9o&bx@DqRh<~VYJguu@oss%}n?4aQ zl}-}zZJ~0r^1hzdETDJNpK}Q;Aek!XFHv0jlT5=HsK+oU?abTh%v;JSEz|*Mbd4^# z?cq{{j(VZd@(wx6Ja+LX#0qGussfx)jz;cPkJg?pYw1|mLiI%|yq2A?pbd8T-53F3 z?G6O3qj6oZ27iV$Fes*Nl{L8J$)mOFYXI^P)(x$e!6Nv-h;{8|D^4h)^!;5N z9J|x(#A5adt$IBM($Vwu#9jr7F^PqoXfIwFi47KU^&}QAhc*<{nIS-RL5mK~{e|di z9|{2m5Us0y{hs+-g}P(wprBWTws@Z~mAO?|X$w6fH-E)Ik_RQCokQ7qx@oU>B+s$% z5Pc${KLBwsVGC-7&3PS^C1~AQN#|>OXz6JynxUi!M%Cs^baW9rM7C@iPuh2ACHLrq zeNr3Y+=|Us4imR%Lk0jqX~keRDa`n!cO&&!>wI*Wp3=Pnx9lShzS`1^1~!GBIdLH^ z=0ee?Mt?{27bqV4^Fj=X_C|Ls8-~-=j4Ru#owT+<2gw%*%D!nuq8)+nhT$aWPRpe| zq;5xx2eM{XKIls>Xi*o~F2)*QsEg4m_$rdPED=tv%N6#HM9Us}M$uZs9r8MI==?EE z+N3U-p|!}s=SNA+m3 zWyD5+r9!me;pw$HF2!h`;Yf(?{3vkY7Y%9n-D4@d14CSRif-!@DO@ViWyi~p)i;QH3bVyuVHwGAp!rbBEc?tEEHuEouN~(t^3bQ1f_7hOs=m@Pr4|L-bl^W}G z)#v|`+$_&%y1qf!dVxr>8 z8%ED|dRlL%TXwn!1qt?mf=?NLA(_iOiPQC5x+SY&!a0oI<@pkXSE8+`f`8R~1^kq# z8_F8GfL~WSKgCAkzPmGpHzR`6#|ANI%OFnfFn$a|njCi>y;-69Ol;Z!7if54+J^UB z&&tLydj`q!w8@d(Za{Zevf@tko1$pB5*<`ugkZ!OFJ-||ji=3l>NbQUcRE%;At^R) zML3?Ygu$QwAnr(;SKOfsntwfLBcb~hi#eV<;L@V0V$6-vg z9g_mX&GKcVPNDYQzezr0LR?@XcN>PKwH5ugawE7CEHF#McqzH>@iqB6>Wt~li1bz+ zFIg>wVTGunUQp#L)($-FkV`9)2CE6vx|nHTCw8;jgq8hpDY%-)CW@TlLF0 z1R5ZN2obaa4YYQjKL&K4o!D+L9mR;aHQg8oIAL1U+~{i95Q{cndIxQx>pC1}ryJ4E zB?w*t*lwQ*w!Y;=Mh-~1C%T={i&rQdQvyOn+^l-0EHNNJOMjaIk=};y`YhAJ@TB7J zT3`B0o7TQBIeJ?mNnE9sm_UX^fy4fO`~5+KJ5L4l;wrMD1_cl!mV(V9+aN;{`yS@( zKv_R|8*Y!ozF$iY)dsvQ`)CHOKPd#;+PDU)d06Cq$mz?z#K9*>b}Wn57l_Wr(5Dp> z3fnZIupwO3AwYZP3p2j)Bjc>b?cy@GaydwQ> z&^l=?tUyRG&(wRxfRX1~pGxr38;i;7hiOCTV{X3534g73yK^)8jdcu;BE@kmeA`J> z?J?Fy&t*AqK+sllY`-eT3K$5>ojeoFiOj8evvG^ABpv4`eN(#ab9$GhdDx zdM%dCLPDe|k=wO^a7iPw@O#=+5U!(@Ccv8J97aF3b5iMxsfXgSrQUfd7faV76gwyP z_IFBoJ%3ujx)0(IcQ@Dd3cGCgd#0^(9U|Qu{n@P4`Kirv+n4A~{`z4YF6W{wPnAAb zp3q>5D%_rqVbUrX!`-(h?p^huuR*zLkNL@KSBrzd*!@t!XTrQ>EW=52O}{~&SU+&bZh^-w0HY=6Ztd_X?rrc*h#U^Men)yTqgTXzTb zfkb&0ym8uhND>BVGk#-wV##73TQ}o%3OR>zE;8%%QfLyDV2T{Z7-5LPP)J9SzB_m} z3`2pw0&{tR?m!BCWB>qJQ{v}GlX)l#QrgFrFioW`Hl#S!TIL$74=hYF3I8NY;ax-e zl7EA80B=KiI8kxH05yRhlA|2$JEC0g!Gc?*n8L*(N|8IG6=X{1OGxxB84%g{4UCynWEHFtRO>uS!Xhl<6DuG{yr%1z3so|r$b>rc zsRa~}*3jhd-CUM1(;7`aA~SCdQY&IpNq=o!7A!g!iX@oL3Twi1fYh{-uh_y!Ft-l? zX-s?#|DL!TqOdH1xUX|2Sw@2+DQg3QHl#@ zYXLdv*4oE4Qm^rc02A6vd`U{;mfpJnl8gifBd;k5<6O~X8 zE|zbaK&DNvqaW;Lq6s4F4}YbR`6+|(NmH7svFjizUe^$g4vGiGK!KNn~K86guTPf@a)`Cm&~Lx(E z0=zB>!AMA9RTitbDRP0f(0}d1@B+#zi5jABfr6cI3z6$Ew#}Z(nn?v+Pbu^rczLYw}7m&)ZmOhw?J-9rQj-2SQNW6-MjjgxmxQrF89>LZk~h9EGL4btmV%1lg4Iy0%`#gai%D z89HQ#b_Qt)dL-l10)LBcPhLuJ+$BUK0K=?WANx!T%q#fu{80*j&DvFp!Zf}$mc(I9 z31Kniwc`Kw6?n|mtD#1#NDmP|Oc*u~yTbdNHb8%Fqyv9e<-U+=?V8!mpm76k6=Fuy<)f@@T#N*gXDH@Fe03A zHwb27^!WjHGk-5rgYgaeydIgRbYoMUBjo^H==oud@f-|A0W7r6()C(d*Y5aJ=oe|Jc zY9`%WiV|EaDaaS^%SCS&22Vz9mKEnxQ!B)Dt53FTI*||sM;KpIPSy~#S86pI0`v8h67hA z=lN2+M+NoH#{`q@DNu#3D(t(J0uJmcw3-tyHYKK(Qq05{;||YA+WXLaJ9p4qqFjBD zm$G=l=vsdm2QM0+dy0ILos`&KhJG3wg?+mdWZdb8q5yXza+O$cCt5V75b}72P6x*d zMH=G9jqtiISMRBy_-?3lQSkZQ=hO~JrAVaO38^Q-MZ--2x&=id&Ym!#rLi*&)VKoV z170~C$V=3VY9sN$^c|S<3;Q~Z2yG=>a%kuzYxjRfA>VdVOXQNHNF~|{tG^A6l2Ch! zorfsW{&#{!egZkoo0U#QRNYdp{g|dwi@5e-WqA2y{Ko`P+v`yqdMr@+r=AHWD zK1Ll|VRS$OQoIsS^arX0Mc2NKOs37#rf@s#JhuK~I1UEl0p*f!e@K)Lv*#w;?GhC^ z>$vqQ*(9w?S9Cl`7>ygu4YQ5m);+2*>MNyQ!ZT0JE3Mh=|=g5}N`Icu;| zJH3q3#yw?op$bpC6!V^dZ?ZzvM&#THY(jsM(r5ss0ex>oovSt~4c=YZhL|W)EjEIY z_66uE(W#ac&W(+LP}TEb?nAL2NVgPThg=)s-Fg5aMW7p{bQ`dJ79u_+`l%q-IT<`7 zDt#uND(fZ3@Y2jP#Ow*-}zO)oo=aNd{zQm(*`f2Fj-&%hg z$teC@y5-=&QsQu4a_5A?oxQ+I;gFjrJ2Je@Pbpb(=oi(ZGFiN1*2uDW4odz1yG9rY z;w9Ue4-5d`m2TC=2MEVL!d$Y}2}C$qi-9^Qitf=rOkg<_6sO90Yg!3uku}JWSs8xShgoNPh@8?ZXWQRu2_stdL+z(%+;Hk$;!HZH@ z+sG^y9dUjch3kDA93)78fpVHD1@SJr+yOlBzg%i4l%}|*oj}DF5ZyJUP=Dv#I<_eF zEYpo6eR9q#QRXn29+JRYu0`RLkk+rbeI`XvVJF4(R68xi*)*rgn6XW6xD|h%OSXIY zQ35`BBApxzwn?U@VB5ztG01|ZV4gsbkU=0+Pm?Ls)sW>8w$YanP$(mV<3;6hA>2#% zeY8;&t(T5sRLVLipG@`=OrZt!JDCZ%5bmk6^yi-x(16m2d}ZrsTL|aR=a~zL3E!_p zj^ghM7bpU(+vxxz)%SBF>k&0j|h&Pw zNrtc~oHN_^{@(k4We9&R6#;wdifM~N2_I~1?W#cU+%M7wvaZtuI~A*Q?bFF9w9CQH zT5b8g_y5WZhA%1}^e=Ki0fh)JUvdLYyFpx0M6w1u+Im(m83FktsdnZJ#|HZ*gQ?*O zRaivf`BJ(rC5BuK1swX|md#G=MRu`t6{wl%(FglWVRj6J!+U>)b??^Fj?|b`JgPT4 zY^W`!2tf_#ez3h~OMO1%z7)v-+u=QP|2c2X9TMo%?+qsY5NI0pWg#2}lLLPwXIpry z?NT>o@k}WT@h)#Qcl51^RU;TrPvhORt)*eD<&?AX?*ZNiu2MsbcMMkZ*qqZ$9`iJG mpPm~TL{Hk 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�xzx*#?RPvWk3PFeK>~h1M9?$XYmJq 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ν~Xi6%R%{XYo`^Hj)U@%Iz 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

QyA{?gEca&=$#`@H+6Yti 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%0AF$py7Cg>@roAh0 z{~qM;{FXr={=4bp=MsSo-GMBrYua=E&Ihg&QuobAaFDPGMgfNI19!@d{)>vG8YnEG z42@Tejw4ibduBp@)0`tV?#l@A9qL~e6BwP(Z_6pbB@GK2c|+#owZT35XILUglsErj zdfg?XlOZ+@u(<5a5hy^6FVX4h7lgLT zIT;3(hv6ug?tfZBATF{&(ADKCucAn81_=J)d{Ms7m~w^959)F}gq{rCaOc0N&wmJ# ze?GnuImp&FjPi$f&){W<{x7$q#0X&sT;P;Z0MDxDs4jIwj;=5#fY3+eM`Zyi+i%bB zUl-)>^|3`Z(;ES2yOu3H+MCP}uRa{yH2RULaicgOFutzBclF<;3m%@b*t-wzS;xQi zi!W|pE{9W!v*YT=DNd`6eN#Z9U@J(pPv!mT2bj_?)KUd_i7ohF><#hfmdW(~zf=d= zw6PSOI;+3o92tv@2PnDZ6(48IPb-#M66y}g&<&|B2&+GyYYL>fD5jNsO3@lq`>%lX{|vVv8ISGMBy_XI>`W{@*AIFeg*hq=-~y_nStG?x;ND`x(8pDA99#YKvAKGL z)#gBt^+O!JBd+fM%~*i{m9qS0EVDHUC#-HsDyhPC%Ju(PYg7Ls5f)(gEfD9etC(5< zd9F6Zx(xTc)jh8Xw&Z1g5>@KS(yegKdAhunOh^5b-v^MU4sN*`qI%cV)8va|}W z{Kq2ddj4Dx1lOQiAv=EXp~qP>Yl;;fG90=dP3Om-P1mYeapM@22(Mkd`WaHY_zRBs z()v0piffrbmxPmO*VjZKl$z6?Va6J!ug{9bQUL%7mbKuQ&5}{^M}ZI!c+wE;NT7=O zFR9k>h2#o5xq}BBJ`LIy7k{?&oQBxy>4$Irfzjgrf8lspKhRuM99(An{|Pe-u^cl? zpvsCPmbbM`KR`wY z{cqUyl$g2nOT=ui3zB~2oXy*p-TxH={eytQQPLSePMRU&JAiOsylA)u?dks)^0`s! z&*f@fd7d0#PJdjTv-JVFAAgF?ze=6oR)C*TNwK@-l|z%<895)R*W}3BQBlpjyN^>9 zNTh9&0KzMj7mnt(h8!=J7&^5K*(DJ5HM^*TD}TF5O6edsNm)qO=`P|w{Uik6mYme? zileKX`;$}^cfpG#CA-CT>-CunxnH-H16d`z0#x2%n+;Un9_kZ$UVd4oS^|hd6{i9d zC3P+P?$U#AO%O}SSWKNg6O({3DuGJp7pr9-(}AL9toS)`0C_&v#^U~1>N%3%4?QfY)j2~1V4G=-HrMwji%Yf8(*0?7K4 zcQA=}k`M&sf3h>b)n1}!m07P*HqK|+2K9!yS5WZldv(UQBKhW^MX*FpDbUF5f0fvU+^y_4BlNG!3s{P zr4X_WWWNK`Q=Jyr14HjAI$n}tkli^U{PvV*4AyMcERu)Kscb|u)D)EBCb0q(oz(zl z{*iM{@70(5T;at_qEIzfI&nQ6c~-q&5B4Z#M+#NjRt5Ec;s{^_H#vYV20S_u);^y!UfU|`g%HC^4zX(Xhwm;UBVf{H1aA+EsKF5))%&d)Ycx0~9-=MY0D80X70|?wd)%p7WHs_8|30W z?a{xQmwMuF&8rsBYCW(jJl)^rw#dtSuksIA{$S-%{=bV}zBDsS=~KVyNgaakUjv|M zwO;Fw0U%-U+3U^Nt}lfmT=D&J&Vs-6ZvQ@vM%NDtbL;*ZM|r0Bxe?d%=g&}I37NY|{QX(T*LX~D>jh1=*?_#noU3Kc5ZtnbBB21nw|$t!MZkXouYlPcrN3uUSc zj}M8Ni!hjtabIH6r1oFEJb?0S%*^=`?8UMR7=l(Qo0;9_laV11Dk|$k>XLB zR&6cEXp`+eWa5GkDj}|6*6+ft2@Th#Y2rg1c%Qlr^aYqt@l+K?kcR$H zRqRa)7d`WHV{{*IzAvaOjIfe(imaTaCOctP4vC@VD7SDj7F(UpbH+q^;rV$|xT7p8 zF-*fs-@}XfUkNahPn3-ARS$VK ziJF&_uoN8Bmyf9i7OCP}i~5yY!jF1i>0r+a1K9M!$=altlr*DQtQKL8GXtk1)XkB? zj}WRAyF;rBg%fC#xu=Fs`25!+)NN1Ry7lF=5LX+ZC(}Zz#qITIbiT$$ zjaP{Uhf^|aJZAcLM#$-IsYk6|ydd^CSZ*#bwe0uDMzE;>b>tx|zlKvP1H(0No(^Q- zb`Ju~aa3lRK8%`Ef00TpoqbT8P0BUQxjlU}Xl#i%Ii36pJ=tz3Wi*3nljm=8IPq?z z;nwFC*uHYioEje_DwqvcjBwZSj2;ost8Yg%e0)TyJPnGMA?4G zt?z+G7nb4-Fp?DCOZgbS)1q!Z9~3EV9+0YdE39cWqP7rn@hbCj54dYDxU(j>opbgI zt6R!jmNvbzI+hqrl~q@l_bY416?;gN;%@9?UC%nGdq^xYPe0lB_8DR-X&;s0c$aS_ zq)96pu)!f)?`&aZyd^S1Qj=$#fqL`Hj(aHLM6JFKki(iBJe+-bL5P~Jk|I?6ho_>{A#FJW(pW9ZQZ=esXes z;C|N+baW<6M4n_c%7w2Ar0|#A;53;Nb8#poQaP^XWsvQZhpe#W0;-5C#6KjsThAKuXR@`WIrBAZ~RQt8G7%ZjSbVus-8;UmkF&?w_uL~b$7#)*S z2(v;{>WiO=Z%5wyw&v0FR39ajr#I4et_rWDItfN>e41lfN7h(*eyf;a;{?Tzo$vnw z+-kH&YcmOH`6%FhA`Pc`rj2#tP`XB9&9>QBo_a(haF29C_!_io&~`T%w7R9hn(Qg} zYFGVh>*|Q>9B9R!6OmG2OZ{N^x~!Q4aa2;Vh< z4t2xLxQC`pDuOv#y0YWLxQFGf%_IPvwo@;v;bsis?VUun_PS~CA=xYluC1&TF=Hlq zOv&)`icB{cK1i}bWPbe_A;v;Ct+r=4{vK*h;L*>pswTH;ae!VSq3i+1JD2(##& z8%1nNO|kuk)da`IKBdX#{Ki)R@-)gobzGucKbG!806q0Zy>*mV(cub9e+p(zI61e^ zt_KDxtc0qWmG@DqW8K(WZvu$}oZF`Os6w+E+z+cWK52CvJr;V;`2J3UUFIvYSRjn4 zeqqIbpefA#Jwm8Mv#-EdvV4fOG;w-NKwhLa*O7cQU4Ih%NmaJL`uia;XdZm@R-X35 z0Vg-H=4R5T4tnv$>ETy}(tLyY>+<-wElvK1k8V&yGjgpazpzzxMd~{x5r{JMv^ECl>vqWb$1|ImY`D7<%C2VB z14juUtl!7_Cr~rHJMHuWrlJfWH*IP}Z&qNcmx#F508L%PWC;V6K&wCB_IM6-7{Bku zp|py0if7)i8gYN|%T?ziSN)BP^4ypTxRM7f%ITm1`g+WKk}kSXIQ@#xNVP)^p&s}n zU2A(*>Y2Kyj}NJqh1OF-S$?}k*7Lo_H$&|pVJjuVS{K7RhSg0#ZDrQZl}D+$oz3+? zVK2{UKde3ZFqEdQTwDMWftHd3o@;Imwy$)!`faQt6JhL5HU=Hgd>EnuM{< zX*)t{;vP5V3rv&1GOO(SO)61?hmUjNJYnXBM{7%ZWz9wKpLPuUMDNr{>QizA_;)S~WqdS0_z3*O&FyL*DHXHyU82of;1SxnwgeG=r(`t*2Nm-Z4MU zy(~SpXE%>HgV+>7J#f4_WJ%o>z(P1r!d_>ZlVvHT8d*HGcsTIxl)d3|QhLp&)LH5g zEFdn&OD-i3!sQdGvZ60jY^H<}Gs4U!3#+LHX~WjIn9;NV#wHV1%HQVLkmduxb8SZR zOw0qW)grV6h$Q{>owdt-b>r_vXJzQ(ve{XwlZp58bJw}~SjDXLl4s$PIW3-PdvLvt zrBu87G-grB;t1+sxpM55Eax;`VQKhSi!dis;z|okIk`Hr>0XvK5cNI^h#dqtHxwJ4 z`_`%trKGT`@#y_(Vxgd3Fg^N#@MT19SxExW^fYrd!_G>QYPh}ZK&0h>rd`nSCPdph z1ktb?deiykjn@x9FUx;ks>^Cvyalq$Rb5c>T}_gsLOBk@8aQl`& zw6R){XV!T9XktIuftSLJE~mXb41nXk+(J_*&`V>9OO*_TjmwFO$Rj&(PXSm1Y#C%t~EeP)*!?Gk=;{T6$C!kDa$z{@!=8rJtgRu5U6V zC!Y69n~jR4hU-VVKa1seyap}L3;aByq2eZU2m#x%9 zDJ$EM*FE>6%twQogJlI^JV)ApSIG9$UDL9xI@3K2r&<#FXMy=*l$Y?1KdxEBkMJ~# z;&Catql0)ayoDDLFTMkD9V_{{8%toClN)}3E*!w~>luk>@xGw5hE`YjAdYtHeBj~T zUaY+;yBfuXjn#n;Y?Z~Q4n4hzpp}lwFBrF*}Wk!<<89FBVx|8&U*z#Ja{>0t- ztZ$0Su1jB`xz5s;+}zq?_7d}jsMWJlEUs0Erno2-ij2v{o+Ko#d4!?|yzlCl@~BuY zYey(DYqMFf_bc?juFgO`f^vFd)*4_NK3t(f<~XFYfL*6>oY|3IY^@QB|8|6wy@qja z-I1d7RqID2aR|eE{I>0KlVXza&BB2C;g9Xas#&iuhgzYteH~U57AxyZFG8mB{olpj zMXsJ8c`}(9=+sNTwRI%Cp(i>L?x)lYV}63M`4KclA*Mal{-na!_B~ZVWX04fX@v;*Xoop`D+!YP|i(n7X@waHZ zm>%{3B?f9;)M|Bd{sac56A_eWb1Kl#r;kytbb^x3s*@6(CS71}Z9Z4Js8#+xX+ooX z8b#ZRC-TFkB9{=m*{}Y&u$0`Z^Jvg>{Dnca(8V^ZoCK0LO}Q9H0gqI-LJ24-$8Tqe z{)AcQl;5W@Q{xSd#s?jOC(I(2Q=-NLKnrj(5nH82{0q1qACLXoYP+hUpU@2xD0Uuc zP%})7Q^O9>&#Pr)7zuxoS&!fha35xg{bi$j#2H#vLR)x9z+tt$ zRNhnW^wO#RF8+2<+*Yc*@@2V~rRAGP-0h;MtyJYJI@Yn4c4bRh!(8sSgkTq&2YNbw zC$;JUCj*q~=F<$pa2TsS%ccl)QRc=e{pUhsd9B1ln@wVmL_(mNPduFV@GwN5T#0N4 zMoC)-`*JNX>a03y%-kqm=tffoa+0;hf^&N5SjZ+R0|zKioj5W-47cRDYKCfin2pM` z32^Gl@+in8{s6r;v4Ee&>LOEJ;?pmuAVVqPqN9<+uf9-PGHVOU1xY>eA?CWs3{a)mxM58~i(4 zqTeC~_svvJiVtE(NE8yymH3XRnhNFH>nS>d-Op!bQ`{X}Ho70J7Ike+uEWWe@!6ICGSvca2J_oEmbp(;V)0=6%_9beyjpK(J2%c zN-RDV!2&ZQbD`!Rs=>YnyT~ZB0x6?mRX z!q*!3RFPWM=B~F)=_ivn4x4B{U#DBg#t>ffxMfVNM?p@_v1bBG>#L0FEzCR?SU<+G zKL0wFdOcnY%%~pN-m`vyJy7-suJe%>3Qk^OI-Xkyx$mP4wX|igf`JR>M`4clm@}!G^^!A982 z-oi8XB8%|yEvcNSh2^kL|Bcm!_Vd7(=`}0LDx8{V<=|nvh1|-eJ7m_-^0Iu@yxNe< zL(!wx_m;KgU{4W1Rx^NaiO*Ov-?+{Ntsfgw_v`G3@KGqk8BXa_|Bt?jCRHxs2^&Jo zZ=qTkr1_!sqpLG``d4Fq;RT6^EG?()JHT63d7ec^mz#av{xjCX_Xduy?DOo|yHiF# z>Pjxvo{w}5szR*A9G!4jlZTh~Hcn4kpH=R_wU}SY2`68HQ(jZN=TF*~P*(@`_jU11i%%k4 znN2OBogOGlco#eS-g=Ju)Tw6&n+--QA{Rz0efR{__;u7X4#HnMc#%^I7uC&ISlWN3 zvJtjFtsdd8-tU$L%|V^&IBOiUKkaPXur>bW?!JmuL8S*GkwU$bbs zTq6~g$G5aYYa;8?6}0>`xqTejXeuq?urWqgx^sp;nHbraOQSdUlDTHFb-AADOy%HH zFb5{*l70)O2_UKQ^TJ%PJ5^J&DBbeS@oZbTnhlca@j)}Ast)!d>w9MF%^N4_{256$ zm;P0DK`%ck0%-6Z=|?lCgRWGvGJ{a&Sfc^FHRzC4e)JG^;^YiI$ghy zMm1{J{^RL^#9ar*RX3x|IHB3Os8kmHzn)&tR+9@j?gFRhu3DZ z1t>as)9fos!{f?{ao$@B((s4gl-{*Y&NN^>+DV_>nBH-k%Ec3O7R zcKJUJbM%ezzPh_aWYjswdF`5%k9e0od)3)OZ86!ues+jXFuG-ly2Zt-@nJKmJO1dWVx7Mw=W<71}?AK=g-mACuxo;4QLKBo(SUr7-szPp4t04;f#y zptN`BQLBDEnUgynb}cT^Yd(7Y0bk0j^IHTm(@_EFP}(ctDMII(Us2j^{wmoiPW=0N>(*6Yc0XFiWKbk zuDrOZu)8<%YD{YVJ<@biZzi4m>WpC}=Da2< z+|6QZ;}ZP&Rw}cb=0AyG72s?%1#?=hFSOZRGwwQ^?Pui_*^Cl%QOQI6mUl9>^QEJ9 z6=V7^=7+(dY_zE^cj=m9K>5>LeoJ<_^zP{Rd(JB{1hY=B_AH&z%(6>gBenfsVMgHZAN(>)%x{`}dGEeZ zW;(1$J&N$VFW=R{m6A~x2w~efGrcla@F-mIl^kt?CQ|mNWwAM418k|yB|J;QXmlMo zqaX;Fo7L)?#XROc>=gK8{ARZ`j$syNuAuA{8!=sP{37#(*(|bkG-a)|&g)G(uYT&F zebp$SsvU8`pE>|%XH@s~`NRz7i;Z-3Y9paUpx!6P1VE#;{8Hc0DswKEI4|^;=2sTq z^==7UshCE|PbOgt046waL(`==)zt3E+atz(z_)IG@hN^>>9dPD@9;Xj(OKf(9&h<6Kuf=4H?j^lrO7n|nD-B(tPn?!E(x!!T;S4} zDsVaKS;h*BuJeskP7uMS72UDTX^>7Vl;WM6RG?pRjyrcVR{P%6dx6Pj8@xIw|#SJ(++J1_0ZXInm0humhnx6UwFW}C*&R}JCF%~ z&lc2xM|=w~eAx9{_ne*;v3mBS7|s!t&=AUFAjJ}|Efp`kX6Y{3$`Kqof-2S?%UP{2 z$Pz>luf@L(@k677xwXy~43o*T)q7|$ zE4kn(x1wjf{Od|LP;(@#-4HufC%ypjpEE-S)ZyMz45i&D|Qylg(=#nva+^4Qeg4`zENYTTZ>WtO$v z2q(2T!CXFDH{47Uhe4lCvAtDSH5oiUPbhnJ`DpU4n7R$_DJNwzb(o--Ix7XOn0lao zfa&+kNtzR6I(l(M1rkLC&hH;;EOJ_lN$LRViR>%s$HB(WEaZv`0>2k`u@8M#YZuCW zA}VKv6>V@cak5foXKy1kv^5MTaMV6w2b^-)ab{#xfr6Do()}GbToVU4=@Dxm-`QFn z2E4nkYq`lzLJOtNN}A;4uCR)&5tC~oXX_OWG|P`y#?iTiGMxBWzW9xxJMAgv0WhD! zb!MSpwFEfBOxyt*%SC90F ziumb@ek9BS+SG_-A0$^1{YSJ&&`GPT@4WDbDwdk(@13n!lU1`zY8)%UOy+&`AOewG zm(=U4R@;Wp$q()B_@^45Vi=MLncGd{M4Er!W^4t);^JC9=kyRq^{O_&Cz@_($wlst zX@PPV3$OR2Wpbf_Tg55+uSwC8@Lh(cJD2pNixCZEWW0}-ofWFr#_zQ%;X~*y7xG2W zaZB3mu-2Rn2`xJ-!MmXmfB#7(_+8X|4d~$yo`K@xnabpO$_DIO`CnX|;s~^haxbK3 z<(jSW*5q(tF$-|b&JY2LHAc0@GUcLZjUlUk$*k3Bt0s6ZiV=afBB{2bHfM(6B)e2C z;O%K+zig(3L)b~vNky0>luB)=OH=&vj!s=E&*< z1e#XXIA*AHqT!ko{1-LmI2O=CiaZ*;^O<)El<@NKuRVsP0QO1VT1P;CBtg?=obSBf z9SLFsy}UT@W3%Dm)_;dGG%rQVfrI4-2s+IZ0WUF9B zkthyy@?)Zi$g1Dsu{pg#q^jX{dV$%V;t3beXhiv?xO+ub!@-^LRKgM4fSI=vloA+c z8=^FdzG2x0jKhf%Hl{+2bhGtm%tkR%FY7)`qB$IVshu;@#>!zfa-x6=qnQ~l{hMy{v~hE$ zMBZZHxo!>Q&4^J%<~hrH?S3q{yHAb51(`sACA2Qc9Xfj2$hva{MN-=aGC}SUNG9o} zDZb3Qo39-|;yVa%-{+YfOyU()lg-nq9sMXlIW~>?JIlNDgAnw_0<{&-gx)yb2YUBA zK^KV~uK0VcmMqmzf;?w1*LDeKF|`I`;wB|LnVJvYx*oag zM=0=&UVS){D^rx%s>CMZoiQcWRMEr5{3tdm zE|$5LC1QCXQ=uv*=3(VQ8EkpR)iEY15N@1mvZ0B&TkF z-CBM@T0_o`s+mU;qDNb6d&bk=tc;`NhBru1AhCXhc45YHBe@pZh2oa7eicrDPJ@x7 z^(C{z2O=4LX@?*fLf@_zc^WgrGm{ND)2{R+gKo|IpXxa zP(* z!L&8rz^$I>qdf1ftxp%fc&z)=E zGA*FX$eW5J@=2~;H=>_v*Bgsm4nNQ{y6Te=t)t+2bth7!usQ%84h>u;o5-Q{lN1&lHm!6U`^{FIXCy=LrtHVHF~2w%xgMNN5qOhz%yg~&(uPjpE&?vdH0KT(=44(m!b9 z+GTbHB=&#Z5)`A){)8G`Bf6DFGMJ+%$ap2xD!RpP7xHU71po9&f5ZGo<@imtD6qDo zkLnS3MWnBtFy=3+c4%VP_*3ww zmN0*Uk+-m3Eed~9$a1(^3cK0y69VNHEjEWsH(7Y=XIlKW@f@mQ{2-1hJkY4ywb5U+s)lAQHnJ&@!$S~NumdC4Ke9hwRMQS)Cm*>-XXcR%heX?ANp4$b z1P_aKkzH;Y5^qw$qq9k(o!)1h(I;t#s^RymoiZ|nVUvtfT~WKd@865b?0)qTWu4evOfa(wD77p6uy+ybef@l z++)FRA?St}wA`p1i%jtd(`Bpkt@q#TTo4AxGh~5R3Xp9dtp6x{;*65 zhH+%5VOUL~>GK0^L>IB#gUbO44k+vqr1H^F+V#5aTS85w%l?hss?EV#XllEZ1W?O4 zWUBYvdT?W&lr8`_-_S~cZ4KFabRtESuC*vaG}9dFHfNgs8bVt@W+gj3x6b{$s^I~w zt{rNj$BV;80vW%6{>Hs1y!QniiFzq>&{pE6=5LSWo zFqKob;P%)4>zrsK0_@?jtMLn8D1@A!*k;Eu=(%=Lw41Y)LroB-vK*y#&@!biK99t47W=|L?9So!FXX^kE`EDG;^C;@i8(O*zkg1AwM z0b&UvX&zy@Ja1fTK3(u6P$2NVHIO+=AP(E?nX>@sXG=(S2p*bJ`@?9z(>kYVj;Tm{ zx1R@B{S3+G&SJ-+)wbmU(%2omGIugs&ZoGqFGc;mw zbKA#A<`5SBnrR)MeT3QxA@!Pn3Zb~7jv0)$(QfN+K+>DYZNm^FWG~-fFY9S<22^49 zzm)-8+eOpH9j?+4^ouh6UmARSaz2_wODu<^1zXSfcf^xN5Vd{#!gr%u9pp^_qsR45 zk4T{HyA5HtlMs<-SrSDRwyOu2R7QUlirRk9qqa=-Qa`A&kEJCwsnK7KBU`@)?mbnJ zX3vNDr@HGSlSwfpKsF^dlMK`>uR!c%OF{w}cnZQCLXc2K}Pb`8OZ;u(2^8ogTTTFw?m^quFlB)A3$ zwqPN}vOBEiIn^3<+uZ)D{LO8!o2MPs=xeO(v1>A3i(YF#8xtMRr~~DIYSgaBF#QxH z9tDPBZf3g2x9BH&)V+)&k2u2(0Uq)>iF)$hgt5l$*RCIH zPqpv!l6L!!gu`FiACK^SZ}9dGJu!&CzW)>*ffAiR$)SHstu+!fh9SuN?RjS&Fh6$3 zUNUSHomus9=N&?hV`Kq;l%QFhtJ%-G(ZjQga56Y1sTS^AmgJL*ZzO!@Z{X2`dg1Qo zPwFdeb}(e)`qM~8nc#0#3BO`Q2Jr0Hm`wLTlm3a(Mb+tCu&jlrs%>85a#?Bpoib2HS|n zNJRWSM8{oP#|@IlNY{{>8iF9H2S`sjwGVgT_BXmX-1KHC1gA~ z>GI)KL$R=^L zu^l(ztbQuJr$+jiPm*d0kls-bX;nP4A}Bq{-2y=&v{z|fw_3ZV2CAoaGTYni9;Joj zQlxzA-uOb+hq)eUN|Mq)sexeb$m);5cS$9xf^ve4LfkH*;{+Dt;nklmSJGg(5g}}l z;hGn@j{?Bm^fG$%Bj3}XzaQj@Zs~%9NBITmUtPC=Y%#C~4s$lowuiE(rngoO$w0eXFw;uY%F!*j(!< z1r+nGD}qJ&^W?|fjUEbTL z(Mm(W-_F0Qrm`m$Q2;lH?!Sv_I^Xi?ZOY8eC7kxq6ge&+874UikjSYA z4L*PT?v+9K^%jv#Z9SJ39sK0tlc<17Np{3-xjp5Qfy_6EA4$${o4y_iJ$aJ;tR0y$ z=`vA^VfPr0KTjH~y-$Qr; zSZKMl=JuTQE&a%JVi|4*3QEcZimcc(JDr2~KakbF1MD1YTkYahXkTpuur2zZc)8Nh zqn!5~7>2X}2IVX6{*gE3@13f~CV7Gb9=I=@rX*PbjnV8~RHPqCoRa?HO4y>x_9eOA*@l~o$E`8W|&8eUnn zgJ=>bs!5w^nJnyleJ_b4^pM+m356%P{=_} z|N2=8K+Lvi9Qv4pO`GkY4L4H~=+QXu7A-LAMe{{6Yol?{d*AD{rt(Ljw`n73P4=1p zb>BYm-2&@&@g05fc5IZ8`pjiqacfMMa8V$dRy0zF1IzW7M8}Znsez`A`5DEQP)_%p zx^X%Yj{^Za@xame7^|UVe$0xnBgbJz z{myT^3%PAT{;}L*eoqZ&C?nq<#led#T!(p0%Gz0aHDbbwcCSBNt{wpKeg|gc18pT7WYZw8;bWW@x&V-t(U1c2P(j$Y)%5W%7Z8%GEog)&3dc1QV%g zT%bqll-ln#%?7T=htS!;xMfyk2Yce2=ntiTgH_zRlGDg4ykvUSYLt{SMs3kP!0{YH z&s7rO&`w{%cQRe@Q#M8a#^^jQosi&C0cg)p!>E+*`<=>n+wBaYl-7EgT<^Es|I(lr zoI6^*OGo3(U$&hyu^LNt%Zz2~AfwM1o|D(zg&u-n!Q)pAH|WvW%osH#(%) zs3BXFBe3wRDQ5b+oKP`Q>G79tIeqa-A<;FicXj3u#SDhIp@emX+?ZeY#%8{UvI6`_ zE9+c5^MTBM!{YCV1*X#v4J6tSLBm^DG3yNC@o-PIW8ZTY_+x#cN{>d$``}6%Epk(? zcq-n#&`(7uVIpEP=x^RsOx>;({`P^mB%i^q3s-xPeF`cu*7Rq*IAbBPiHc=y7u&L$ za52u^gme0Swp9_aVe6UZng?U9U>R`p5E(Omm&d*Xk-40T+lRPt`KIoAP~66|yRLqV zX8-@x_1)oYzVF-ACU))Bg&MKMjJ>>JV|G*M^;FWxW4_qC5(98#R?xE>r`NUD zhZbgK49+b%dY#ZN-5#n>>1+SpB}>wEpWQ^6-0=jAg^So^4a+6cXI$T|N9el#!tfra zz|5&+b~}2tS>V({{`;GVe7dtRtarH9gI`}%!LR)O+gBZtPKsTBT3y`C{o7ED_G{sb zx6Zfgm}|u&Z&?2DaHwl{?23U}JaQpUSNx`6N8eK?`(X~|pVEaxv3Fhpy$=E|WqD2! zEP-`5^3ZF(ct72idL=3*%zzlOY-TGas8(;3W_6eo((6h>flUft9D`&Iq z6kx7n`RIjv`aj;bZ&=K(X)KS0@3@5ww0{8HcG?F6@6gS!Tk6Wc)GxnNBat3mhsIea z#dx}XMWN!XBg4$XahheLZdIs=;v(l})r;KmHkGB3Lj6E-)9DK3h`<(mhyzb;3?ZY2gW~x@9%B1$)C7ND@%lnUZh{*&JUSgOmGlO3_!1*et>> zS>Jrm78Oo#lgDH|&?`h2R~S`9zEIHeC@I!de>HHgPh@Iyyj9g<2UEg%M+}9d#(3ua ziGRaVW)mOUI;yLX>S?{&4p2!qNR3GHD37L&pL?SSQHNLSSRQcu)y zex7YUvjA z)8$#gAFswS3(fF_Pi#ZOwEStF3QISx5zJ@c(jOJ|73WKb+{prcz{?lcBdlc{#SNC- zaA8XXx9;T^cS<;*)<3>yN+t7kz7-Y!<=vM>N1gn08*t+y;AV7H+rvQkF5%Vz zU#vLcwF--jdu@{mrw*4N=P+^1iRa1X~6hwUb;VaR{v zBGvcK+zM>H(sQewtDT=537zG>{bEq|To~-}^~Xki6(N2ah z;rnV>(O*d!#;FfXS?im_gtO3>(wn*^SeBl%wMt6 z&laC4KYTVm72PEaTYP`v+^{?b&j*Xt?@|6MnZI~o6L3IrTDM*(h7xYwmv)xN&ekLtD39o;^7lWAK*_OvMm1k3CsvWXWmZ%%M)s#sPz z_W8qy-87Yl3kJ{*zrr_5o3M|IY>RD26pj7n-K4eeo`gBW9-Hx9{GdgPzSQk$aCULJ zrz!5w)th)A2!-2}Wma)y=s?nuOy&1lGuwh}*}nG>CE5i7Xg* z4tzR2QiXbcW{0fseoaov&bB|YY{9AOd#StPfT~-@=!{Mb6lO4&`s?po*lg$ZZo$UP zalgOOB}=VbQU14!)yqnFs>6{RcKv=i$s-zc@8+KPSNy{dCb!35 zm``gupP#=YQdhI`bTg>yrDw~fIwu87e^Q?s^TlzTie?ZF@DYU zP}PaCQ^p4!9I=-jTdC2PxJx0Ye~twIoegTaAzSX>_fF5GwK`Wa;pw8#ge6P+Q>bV#&RcKl%?V+(PeMIY2txv&zVP4JM)=`@T zQKwVSavXiZ&SwNO-mL+VeNE8Kt2C_ic-sp&``(?1b|GI^D0%g43F4&dQL_K+Za~BU z;ji6?Z|dmk)W$7-t3qig@7|+<4WoGHE705lld`SS$m{azmxn)U-MB{X_O^b@WKrjy z%ViiAtMF3yG>=L1H_cZSCCd-g-^B;)m5F$f^)Grg>F`Dobuf>V8`bexXFwYw9Ju~z28z`c-DrS3ZzDc2M%0!Zszymhc zg)P?=18!Ic=w1nq^^NG-Nf+Pzo$a*vPm@Lq-{M4l=`G*Sj}rD5LvdU0YvECH=FErOpl%R=s#x{vnB@ zeI>-Y(N4Cpe5vudRDOxh4=Y(2W!T`)DITzMaf;O8(UJ3s9LJOvxm$I%glIk0iXC={ zx|Ca+>1Ga19;lo*%X-r`{Knz^$fla%Q8asI%6PoprTdB=109#uEV&zY-VI%hu&zx5 zeh;%x-M1(G$TAeO2wbdoBi2+%&Le7`l ztd$P;pi-(Msd3x{LZsO+@{9&I7Eoabg-Pfj5*R^X>9X^xk zSwY;xsgiH+4O_m%WUZP0L(69;M|COO1>8Ji_iCSDrQaxd*0~jYI2$HaTrw@<<7=&L zKGCWSd*9k}?r&CxjlS5R$d=aCyL(xm$)77!3^LKD5x)+a_KV{lB^%5uqROCyxJHAa z@&w^6d9@>hKE7m)qK6(05zw90;Xp(B5U=rpWV6;`X@HqYt$wLln45u&hUH~`HsJN{ z$>}knd`T-&16-KM*&DsT^`%tg=45T(KM@!I!`6QK{!$aWEZ3J!JAIVO2-h7BSXS-4 z%k48`H@>d70- zzuo+LZef3@S!;PKA<{*maruS`%Q-j2%kXD}C0Ra#GrVsEGmGZkSH~{O7{rX@3 znKn4(jBT252v~0nY;BArr~j=`oS}rzhT|Nz*v=&jGks}yCtu(h=qYlM{d77z>!`T# zGG}n<`6~vazt=DSoRvBK5`TnaFI{iGbH6y_U5ZLjAa=cttg}C`^kddyiM}A2aA()# zWy%0k^V(vM=|?T5=L2lBN;02;XKd3W!zh8_QEuSVkLvl=`|mr?@zW>H-#EI9*rTQ` zHCpv-#SS%;P9>>7|Es6It8wnji1uy;SD?X%d^tIvxd0C_8{4@!h2?uo(C18Q+h_BKQ zr>AZ7e(TH?nNnwD^9_%}BN6}PHO|2gDz}T=b7#5Z9=~r_OL$fs!M(irRs!3kP8*bq zGn0BMd&O13pC9%~qasUQb-7*KrkLaob?R+%nJx9GUQKoC`2*!HwSBC}jgm%SZJ}Sj zJsG^Mrk{Q&do8e%u0%)Q(g)s|Y|J|Nk?OMC9$T4fpQ{TAy#Le2t||{I^ryxe8irle zP&Op&^goO26-X*5F|^furT3!D_gCt7c_G@BdJRd`U6^xGqF6@KhWkKBV2 zYY6n^w!yol`!5{@BKyW^^Ac6r-Lm8qG8vdPNyAFLgk=?k$I z3q`-{O1Sn_d3~#O2s-hBw8~NPo+xao^iE*GR|(C3PdQy33t@)_04+(sYhO4Eh1CQi z(!T>xxh3CO{{>%bv}2Bm6RIeqo$p&#zn63T`~1>wg-{7htq;dtR_(t5u8*ac+{7`K z@&>vz<}-h9gp=OC_G@x>EGP63nv5p?#D^#GU@Ax_Ut`*yc(NVJ<_(e5w6yqMFWE+G zfR`P<9u_b6z;~|}5P8n)lmAc?qc>MA{w41wln8qTFt*^d3k0_9^w1-yz&B@x%uus+gYZugc`atY!A7Th5EDs*surH zb74R_Fhc5AM5%kXz4W8Zjn0KM-tD7xcx=#A+CsmI+IHgG4!B^~9=49_ z-sA&zG!BmpPRLpP@svYk7&pP!pIix`ijPMI??2w)*KI}1&1JGUWaNR*WNTt~Sk!U| z{w~Nz$$7!N;~P(wi%c!_9J}q`x@QcDj~9jUAOxR0xa`uN}C#M>y!NA!daq_zc}R=j_SIW4@iCn z%?!bMnkqx$cG8yGvr(~6C*Vd2vG3Ad$#4y1Z`=Nl{YUSceQT}4{DIlE&JQGfkhU5v!+1}4Pomd3!jo*LEJUkqmbaLaUqS^C>pV8{NA zU4`a&W2lrD??En{dwENId^ZS-+8&zuPMnG$#0%L8|Lcd9zPXL6TB9l59yA|y?0x+l zbFr5gn^gem)-}*RaC@We@nIi<%iZXi-TV<3(Yef1=>r=yqHc}-fM_#qU#-}n-phEie_NPi}N7aRLm4bHh$fIR=>^r*(*_)cKB!hU3Je!sQQy15D z`5@Q9&E`Zou8{8^4VqVe=p@i9S@iT1HXHO@61wKraYD6R<1BJ>QE~r4aN{`lz?U^V zxo(9cbLZyJO|eQI6NdJBV5*tTj6QhEn={Y7{9GLn0~0%Sj#oaDS3%p%plk3s1o%re^mYjvtc1p9Hv| zmZ85I%;LX4s~HV;jp?hMGd6N@mHGNJ*F-(ry;4~+xd z?<}m^!(NGreDd&_(aiLTUwj7wAwItK%bwP>5gX)McShSpY`iescqGWxK3&^%u4-sz zoq0LmrG0;_9>-P@u<9>XH#i~qacG;b)?y%Pj@y-7pKt?4o_AZ2Ir_J(+)ac&>yL|# z?#S5uUFgEFGmM&$Iyw@$0DW}iP6Ccv!Lz^C0bzNEZKPO@d|%^H#|RsGhyOkRFs|s5 zN4E#oI@~DQ?XARl8(^2~O;l$TZXEJuSDrLJzdj!~>X@mNmp0p*lD#KCh9Miw#=od* z%Sg8JA{mkVp^}- zk{hjDnzf+D$1s1h5X;@k+wy`9UQQx6GRWO_{jjjU`gp;rF1?OdcSq--XFdq?J9Tb; z?U2JpF7m5?V@%MFPW8mWgSLGjs&%<*w=O1G+mma5t(&@$7KO^)I6IhE;}4rF&)1fy z<5-FP6S9v#qS8KX`~?=c1||g0;Q2UBEJZPqCWCnG4gkUb3}* zlVReiH3k)xs%_$e_+dF`7J`j?I;afS<1ZSelJHC|s^p&eoygWLV-Hv1!dNAHAifzbnY`%t#6K$?chTJIMBTV4=r+ta44T!YBWI*8=AK+vWU4Gcwk3Rv8S#8hk*X-rxa#xg}gsFSp zgI(la-q$8Yq(gh4;r4=Jp=zXI1suqqM!i)z(>j{da%VQ5y+H_S>zzB=K>OA$o0V-vD-n zO4UoYC~aisocvr=d=yi#33vqKCZm0Nq28_X@?V^C0U=KZn~S32Yypkx(H(J-$fpza zp?986%rCQ!(fvSe)lW#L&#NbJ8ymJT0_aqs#YfFaVZ*VWTg%&Kuh+MFJ6M78>agh>apAZ}DP_@80b8cZd58A> zbmPsLe4Phxl>_vQoAbE#3w4eFPex_w^`%zgZuBv9vzsFL%O?QG%#B?QwTZ1g#r)Qh zy1C`pE-Lt2)P1HwqZamca_ZLE-I19#nXRSX3Z57IqcBFddR6u=bMrH zHP+cG2D}Lz?laiPrD9XO`=f-_@lxvv)8%h3Eq*`Q7FNbZrB+s&yJ#+nw+PoJv&~-F zguvK<)DFTd_0R^!pexWWBpts8?y?^ehHT-QfCsNG{x00`+ld&WLkrhhV#jlGY&}mk zr(?Z9HDm|rM4{HROLMxDNEH5h?)y`Zi=b5X%Nah4>-8$4UGX_Z7K91!_(=vGG}PN{ zk{!p$oA||t8*!?dU4oQb&!>~r@9pTyCC#0YWI_B|f1;X|SI&&rXYpdaMC2Q934}1f zj*z^HP`<wwd&1=Pzm9E;$tz%Q2@z6%i{&9mi3xOLVr>ZD1o#{1kVcRV4@2_ zlRD*1xR{(x>^(*5^^p;!$Wo{;X(kBq(qTgL<&WNrUm!P8IO0$+rMaF9%fpj2f%L`I zX+%mHu_W;Bkt8T5>1^k3|Dov=17YYG{6*Rcgglmuhndhf=(`A|U7D0C=ua^gjny@h zA#mixhpT&> z=twk8y!~_GLLwj`x^oJ3_-V+&HEHq0t7IV`*_OwZRccL&`>BfuVwl__Q_`j4jFd0l z+z4=zLoo3d?Sd=Ycxt~7)K$V6we8Jc%{xsbQK&RmI;+vi4=FW10SL(uUPHXnF^JN< zdxR<<-$`c95Vmf@S#PCD5l>E4#h7NICv3uiCbEI3G0T9k02Wj= z1RGY6%(9NoAW&(RbVwYhUCJ!6oO)Fc1h^16NV*Oeh!e3xWsu}458%RaG6N`IN-vz# zgQJ`{3|HBQ3?$Xz18Gcj#eKd6X0OCBk_gq1CQBFJ7fm?fg)Ss6!KFPo1BhZYUOgF= z6fTMghyZgoNfs`)&k7`PbfCNl>y#Zh%f3);YA{8yMf{KzKy{G3D7-Wax}XQ!1c@7d zc3&_w`88D-L>W0v3Jq2%;c$fOVUdo8)13J(ZVu(+#7c`PCV6acgr&`kdCRqwj*r%2gMyX=; zN=Aaw$N)kkRiEa8kT#O>WKd0+@!>`AuW+cM+TWnrIW!>GD6%vMgcw%x4=SD_M6;R{ z`GW*p2vt;Vnj1n2EByzpi)TCr3oAxG5tjOqkVK0{ut_qnr^FE2sNTl~!jrT^*rPJR z&&ToIrkK%u=Nf=9cLAgE}eW)z90) z)lG{x3Q}}io-?frTV-@p&75ZgwUBOMgybppHkrRe!=n96+W^ba4=lU=?baIVbK2#} z`L1I!-}yYe;&{8A<-uzE;zy%iPsR?U5_N~hMpv=UXP8AnKMf`5-U}iACp<=JmAq)= zLmZgF?iy<|5GhE;sn3lE#lBQMJs~?}qc=yKAdaPEf>~Z|>n@!qP6Wp`ix#Aw(-X5x zD#Y^wAlICwtM8w*Lu*oO^wMVMTm2%d1)M7U_15k%2 zTnJy_I}cs~eC<57=wXSR;WjbPUS$ji5Q=iw{@`v z)7YKv9!BsC?)$l26|%71r~Y~S%%;Its;b{&IqiDGq0i4ffwad9y^?(vA@94-8+VYC zJ0H{dq800{zHnmVQ)YdhNFqQTVKPHr;rbyaTZ{qw05L4X$ zmo!yeIZK}EJuC)Po*2s%u$9b?o;2g~Hg*+}W?aUXP}J*%jKsmLHzN1zzs;swoArb9D!S+RA5&ctFNw)@y$B-3Ba^yAVxy|j8T#-KD13CjY68$8ufC;77mbrN;V4Ae6FTAi z9t9@C`b9OfE8$q+Lr+%z4!(LM`~L8k1g$qBE- z)avsDCZD^mTx)Dq_$cLQ0Og$e(g(10WtJdbq3OBuj-vzcj+7qIWr$y%^{>jex=Q9{} z_(@4_uf#!6Lab@5!fgdb9VFd{IO%lcHdRgFKp>9W==Y3e>o=C%3Pui2Wh2fHNi}bn z7!C0xA8Q0N$hFDF;DzazP|>LY#A#{`O-GOKkbyS|O+z3vPtC>xE{oW zLniSoK>0#bM40Z2n{a<5;%HU~b>$)tldhq&KDr3V+=nC{=BwB0PsgEl(?z)n0iY&w zny{@)Nx|V~;-0V4S)WL;SyNuqpnB4Fs9?%10lnu%nG}x}aU9cZ>N;VEIt@4RVC_f& ziG(hc$Cgc$1*MNC06$2rQ^QOhF`AhINyk`qgCjjSsONRJWVN#!L%;- z)3x_GRnTn|U7C9f6A#j!WI;Iqr>>legP3p@Chri7XaWd+EW{I{nrcj)uNSE%rT-N( zJ61DH+8&3QX=)?rL)q3+rYX_KhH(#QoD8BdxJr#DvJrD>PM;)Y>*f&mwT8R#L22$! zZj7Vk@wX-mcTM`n94U$jD3-_bKmM5kaTd!#hJ+=>kO*qA>G7&&X#5_<$ayQGg<&A^ zH`V62g#nV4sH}8j53UJ<7bS=;zt4Zj03ekp>$HFt{(k8b+0#Q?cfhhp7v1)x!|A*_6>`$PvemGg74rqX3|U1k7tzs*UQXNcEQRLHex!? z_RxA}mD9ss_)@r72r1<_Z{H9SS=gjcgm7h~u2SyR8{3d>O)^HO&=<4gMQVU^^iEGps{6HT$ub{hr>URlnG+VVuzB!FFqXz#SXVVUpy=N_pDh55+K^b zmA(Lo!n*8NaE#pVQcBZuyA#nV#FAB6C-b!7@ z0$}A5azOr0;8`H(*no1#%<_LRfigcHm5z2!s#Z<|K1CiOlo4#9{O`jZS{I*H&&BlmZt6=jpi04<0dQOjZ> za3Cqk0>XMxWBWa5Qnlwind(wi@rShgh_fq9$KX5BIO%7w0>_=`HqC_23i?tsFW!&} zgP+Gr@Sr}D3@OHN$v8eww)NEE>2D;_zoL>ng^BjWZmJ`k9gDo%_OhsNh#{ENOPPm@ zIfkJdDO!4Lz#+RSx{y#v(b0R@d8|yw)yOuEG_Pme&yuZ8oDhhY!b;&fTfB%HAm_@Y zC#jOMDOEHfP=ylzOPzvx90?5B`1>H$g34_USI^^`O#wNBW~j&F$=*hirk$A-^n|z& zr{IcdCJ@O_!Z3?18MugYs)C#{kSOGB?#dy}wu5%^5&wYfq=mNRFemT=iN`s_^o@Oj z1f}WH4L!J&GVxN7nw}wT$bnETYiG+-ie0gx`qpg}`NaCUzo!stM$FQjyht>u1l%bQ zG6KZYhAxgirx%8(x#TR4)OJT;?83S|D=$7s1QNylH%z@T3SWLh!ssfzc#1woXqb zEvADzt^&$F#9xpaM&6Wds%*V3Xnnx85PkFeD4ZGl_}(4?N0X*Q1WmY(g+SsJoB{03 z0kAp$i1&Imuc#+{ELy8M2JfWybx?oMsWjuV!~fc1Itw=Y=KtAxcyGP@brur;|7|@= zcKf0>Hma&W#njf5liNRdY+2yco|*)~NJEQ`|hc7ib%(&q4|%>FwCJka8vJZs62+7Zf6|JZ;WA+%(v^n>v&;4u`rhOyFH9=K{{2aANo$z5}pI delta 207672 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 zⅅ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 diff --git a/.next/fallback-build-manifest.json b/.next/fallback-build-manifest.json deleted file mode 100644 index 1c1bc8a..0000000 --- a/.next/fallback-build-manifest.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "polyfillFiles": [ - "static/chunks/polyfills.js" - ], - "devFiles": [ - "static/chunks/fallback/react-refresh.js" - ], - "ampDevFiles": [ - "static/chunks/fallback/webpack.js", - "static/chunks/fallback/amp.js" - ], - "lowPriorityFiles": [], - "rootMainFiles": [], - "pages": { - "/_app": [ - "static/chunks/fallback/webpack.js", - "static/chunks/fallback/main.js", - "static/chunks/fallback/pages/_app.js" - ], - "/_error": [ - "static/chunks/fallback/webpack.js", - "static/chunks/fallback/main.js", - "static/chunks/fallback/pages/_error.js" - ] - }, - "ampFirstPages": [] -} \ No newline at end of file diff --git a/.next/server/_error.js b/.next/server/_error.js deleted file mode 100644 index 6de593c..0000000 --- a/.next/server/_error.js +++ /dev/null @@ -1,76 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "/_error"; -exports.ids = ["/_error"]; -exports.modules = { - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!": -/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D! ***! - \*******************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: () => (/* binding */ config),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getServerSideProps: () => (/* binding */ getServerSideProps),\n/* harmony export */ getStaticPaths: () => (/* binding */ getStaticPaths),\n/* harmony export */ getStaticProps: () => (/* binding */ getStaticProps),\n/* harmony export */ reportWebVitals: () => (/* binding */ reportWebVitals),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ unstable_getServerProps: () => (/* binding */ unstable_getServerProps),\n/* harmony export */ unstable_getServerSideProps: () => (/* binding */ unstable_getServerSideProps),\n/* harmony export */ unstable_getStaticParams: () => (/* binding */ unstable_getStaticParams),\n/* harmony export */ unstable_getStaticPaths: () => (/* binding */ unstable_getStaticPaths),\n/* harmony export */ unstable_getStaticProps: () => (/* binding */ unstable_getStaticProps)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_pages_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/pages/module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\");\n/* harmony import */ var next_dist_server_future_route_modules_pages_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_pages_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/build/templates/helpers */ \"./node_modules/next/dist/build/templates/helpers.js\");\n/* harmony import */ var next_dist_pages_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/pages/_document */ \"./node_modules/next/dist/pages/_document.js\");\n/* harmony import */ var next_dist_pages_document__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_pages_document__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var next_dist_pages_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/dist/pages/_app */ \"./node_modules/next/dist/pages/_app.js\");\n/* harmony import */ var next_dist_pages_app__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_dist_pages_app__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/next/dist/pages/_error.js */ \"./node_modules/next/dist/pages/_error.js\");\n/* harmony import */ var _node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n// Import the app and document modules.\n\n\n// Import the userland code.\n\n// Re-export the component (should be the default export).\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"default\"));\n// Re-export methods.\nconst getStaticProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"getStaticProps\");\nconst getStaticPaths = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"getStaticPaths\");\nconst getServerSideProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"getServerSideProps\");\nconst config = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"config\");\nconst reportWebVitals = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"reportWebVitals\");\n// Re-export legacy methods.\nconst unstable_getStaticProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticProps\");\nconst unstable_getStaticPaths = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticPaths\");\nconst unstable_getStaticParams = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticParams\");\nconst unstable_getServerProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerProps\");\nconst unstable_getServerSideProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerSideProps\");\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_pages_module_compiled__WEBPACK_IMPORTED_MODULE_0__.PagesRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.PAGES,\n page: \"/_error\",\n pathname: \"/_error\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\"\n },\n components: {\n App: (next_dist_pages_app__WEBPACK_IMPORTED_MODULE_4___default()),\n Document: (next_dist_pages_document__WEBPACK_IMPORTED_MODULE_3___default())\n },\n userland: _node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__\n});\n\n//# sourceMappingURL=pages.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9pbmRleC5qcz9raW5kPVBBR0VTJnBhZ2U9JTJGX2Vycm9yJnByZWZlcnJlZFJlZ2lvbj0mYWJzb2x1dGVQYWdlUGF0aD0uJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZwYWdlcyUyRl9lcnJvci5qcyZhYnNvbHV0ZUFwcFBhdGg9bmV4dCUyRmRpc3QlMkZwYWdlcyUyRl9hcHAmYWJzb2x1dGVEb2N1bWVudFBhdGg9bmV4dCUyRmRpc3QlMkZwYWdlcyUyRl9kb2N1bWVudCZtaWRkbGV3YXJlQ29uZmlnQmFzZTY0PWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUErRjtBQUNoQztBQUNMO0FBQzFEO0FBQ2lEO0FBQ1Y7QUFDdkM7QUFDcUU7QUFDckU7QUFDQSxpRUFBZSx3RUFBSyxDQUFDLG1FQUFRLFlBQVksRUFBQztBQUMxQztBQUNPLHVCQUF1Qix3RUFBSyxDQUFDLG1FQUFRO0FBQ3JDLHVCQUF1Qix3RUFBSyxDQUFDLG1FQUFRO0FBQ3JDLDJCQUEyQix3RUFBSyxDQUFDLG1FQUFRO0FBQ3pDLGVBQWUsd0VBQUssQ0FBQyxtRUFBUTtBQUM3Qix3QkFBd0Isd0VBQUssQ0FBQyxtRUFBUTtBQUM3QztBQUNPLGdDQUFnQyx3RUFBSyxDQUFDLG1FQUFRO0FBQzlDLGdDQUFnQyx3RUFBSyxDQUFDLG1FQUFRO0FBQzlDLGlDQUFpQyx3RUFBSyxDQUFDLG1FQUFRO0FBQy9DLGdDQUFnQyx3RUFBSyxDQUFDLG1FQUFRO0FBQzlDLG9DQUFvQyx3RUFBSyxDQUFDLG1FQUFRO0FBQ3pEO0FBQ08sd0JBQXdCLHlHQUFnQjtBQUMvQztBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsS0FBSztBQUNMLFlBQVk7QUFDWixDQUFDOztBQUVEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLz9kMjNmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2VzUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuY29tcGlsZWRcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XG5pbXBvcnQgeyBob2lzdCB9IGZyb20gXCJuZXh0L2Rpc3QvYnVpbGQvdGVtcGxhdGVzL2hlbHBlcnNcIjtcbi8vIEltcG9ydCB0aGUgYXBwIGFuZCBkb2N1bWVudCBtb2R1bGVzLlxuaW1wb3J0IERvY3VtZW50IGZyb20gXCJuZXh0L2Rpc3QvcGFnZXMvX2RvY3VtZW50XCI7XG5pbXBvcnQgQXBwIGZyb20gXCJuZXh0L2Rpc3QvcGFnZXMvX2FwcFwiO1xuLy8gSW1wb3J0IHRoZSB1c2VybGFuZCBjb2RlLlxuaW1wb3J0ICogYXMgdXNlcmxhbmQgZnJvbSBcIi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9wYWdlcy9fZXJyb3IuanNcIjtcbi8vIFJlLWV4cG9ydCB0aGUgY29tcG9uZW50IChzaG91bGQgYmUgdGhlIGRlZmF1bHQgZXhwb3J0KS5cbmV4cG9ydCBkZWZhdWx0IGhvaXN0KHVzZXJsYW5kLCBcImRlZmF1bHRcIik7XG4vLyBSZS1leHBvcnQgbWV0aG9kcy5cbmV4cG9ydCBjb25zdCBnZXRTdGF0aWNQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcImdldFN0YXRpY1Byb3BzXCIpO1xuZXhwb3J0IGNvbnN0IGdldFN0YXRpY1BhdGhzID0gaG9pc3QodXNlcmxhbmQsIFwiZ2V0U3RhdGljUGF0aHNcIik7XG5leHBvcnQgY29uc3QgZ2V0U2VydmVyU2lkZVByb3BzID0gaG9pc3QodXNlcmxhbmQsIFwiZ2V0U2VydmVyU2lkZVByb3BzXCIpO1xuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IGhvaXN0KHVzZXJsYW5kLCBcImNvbmZpZ1wiKTtcbmV4cG9ydCBjb25zdCByZXBvcnRXZWJWaXRhbHMgPSBob2lzdCh1c2VybGFuZCwgXCJyZXBvcnRXZWJWaXRhbHNcIik7XG4vLyBSZS1leHBvcnQgbGVnYWN5IG1ldGhvZHMuXG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U3RhdGljUHJvcHMgPSBob2lzdCh1c2VybGFuZCwgXCJ1bnN0YWJsZV9nZXRTdGF0aWNQcm9wc1wiKTtcbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTdGF0aWNQYXRocyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFN0YXRpY1BhdGhzXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFN0YXRpY1BhcmFtcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFN0YXRpY1BhcmFtc1wiKTtcbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTZXJ2ZXJQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFNlcnZlclByb3BzXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFNlcnZlclNpZGVQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFNlcnZlclNpZGVQcm9wc1wiKTtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IFBhZ2VzUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLlBBR0VTLFxuICAgICAgICBwYWdlOiBcIi9fZXJyb3JcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL19lcnJvclwiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiXG4gICAgfSxcbiAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIEFwcCxcbiAgICAgICAgRG9jdW1lbnRcbiAgICB9LFxuICAgIHVzZXJsYW5kXG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFnZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!\n"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/pages.runtime.dev.js": -/*!**********************************************************************!*\ - !*** external "next/dist/compiled/next-server/pages.runtime.dev.js" ***! - \**********************************************************************/ -/***/ ((module) => { - -module.exports = require("next/dist/compiled/next-server/pages.runtime.dev.js"); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "react" ***! - \************************/ -/***/ ((module) => { - -module.exports = require("react"); - -/***/ }), - -/***/ "react/jsx-runtime": -/*!************************************!*\ - !*** external "react/jsx-runtime" ***! - \************************************/ -/***/ ((module) => { - -module.exports = require("react/jsx-runtime"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -module.exports = require("path"); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app-paths-manifest.json b/.next/server/app-paths-manifest.json index 110abd4..9e26dfe 100644 --- a/.next/server/app-paths-manifest.json +++ b/.next/server/app-paths-manifest.json @@ -1,4 +1 @@ -{ - "/events/versefest/page": "app/events/versefest/page.js", - "/(main)/page": "app/(main)/page.js" -} \ No newline at end of file +{} \ No newline at end of file diff --git a/.next/server/app/(main)/page.js b/.next/server/app/(main)/page.js deleted file mode 100644 index ddfebd9..0000000 --- a/.next/server/app/(main)/page.js +++ /dev/null @@ -1,981 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/(main)/page"; -exports.ids = ["app/(main)/page"]; -exports.modules = { - -/***/ "./action-async-storage.external": -/*!****************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external" ***! - \****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external.js"); - -/***/ }), - -/***/ "./request-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/request-async-storage.external": -/*!********************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external.js" ***! - \********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external.js"); - -/***/ }), - -/***/ "./static-generation-async-storage.external": -/*!***************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external" ***! - \***************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/static-generation-async-storage.external": -/*!******************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external.js" ***! - \******************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n '(main)',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/(main)/page.jsx */ \"(rsc)/./src/app/(main)/page.jsx\")), \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\"],\n \n }]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/(main)/layout.jsx */ \"(rsc)/./src/app/(main)/layout.jsx\")), \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/layout.jsx\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: undefined\n }\n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.jsx */ \"(rsc)/./src/app/layout.jsx\")), \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/not-found.jsx */ \"(rsc)/./src/app/not-found.jsx\")), \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: undefined\n }\n }\n ]\n }.children;\nconst pages = [\"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/(main)/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/(main)/page\",\n pathname: \"/\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkYobWFpbiklMkZwYWdlJnBhZ2U9JTJGKG1haW4pJTJGcGFnZSZhcHBQYXRocz0lMkYobWFpbiklMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGKG1haW4pJTJGcGFnZS5qc3gmYXBwRGlyPSUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmFwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9JTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsYUFBYSxzQkFBc0I7QUFDaUU7QUFDckM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDLHVCQUF1Qiw4SkFBa0g7QUFDekk7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EseUJBQXlCLGtLQUFvSDtBQUM3STtBQUNBLG9DQUFvQyxzZkFBcVE7QUFDelM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsb0pBQTZHO0FBQ3RJLG9CQUFvQiwwSkFBZ0g7QUFDcEk7QUFDQSxvQ0FBb0Msc2ZBQXFRO0FBQ3pTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNBO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ08sd0JBQXdCLDhHQUFrQjtBQUNqRDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvPzk0YmMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJUVVJCT1BBQ0sgeyB0cmFuc2l0aW9uOiBuZXh0LXNzciB9XCI7XG5pbXBvcnQgeyBBcHBQYWdlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XG4vLyBXZSBpbmplY3QgdGhlIHRyZWUgYW5kIHBhZ2VzIGhlcmUgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gaW4gdGhlIHJvdXRlXG4vLyBtb2R1bGUuXG5jb25zdCB0cmVlID0ge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnKG1haW4pJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogWydfX1BBR0VfXycsIHt9LCB7XG4gICAgICAgICAgcGFnZTogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2FwcC8obWFpbikvcGFnZS5qc3hcIiksIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2FwcC8obWFpbikvcGFnZS5qc3hcIl0sXG4gICAgICAgICAgXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvYXBwLyhtYWluKS9sYXlvdXQuanN4XCIpLCBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9hcHAvKG1haW4pL2xheW91dC5qc3hcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgaWNvbjogWyhhc3luYyAocHJvcHMpID0+IChhd2FpdCBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQtbWV0YWRhdGEtaW1hZ2UtbG9hZGVyP3R5cGU9ZmF2aWNvbiZzZWdtZW50PSZiYXNlUGF0aD0mcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyEvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvYXBwL2Zhdmljb24uaWNvP19fbmV4dF9tZXRhZGF0YV9fXCIpKS5kZWZhdWx0KHByb3BzKSldLFxuICAgIGFwcGxlOiBbXSxcbiAgICBvcGVuR3JhcGg6IFtdLFxuICAgIHR3aXR0ZXI6IFtdLFxuICAgIG1hbmlmZXN0OiB1bmRlZmluZWRcbiAgfVxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2FwcC9sYXlvdXQuanN4XCIpLCBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9hcHAvbGF5b3V0LmpzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvYXBwL25vdC1mb3VuZC5qc3hcIiksIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2FwcC9ub3QtZm91bmQuanN4XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgIGljb246IFsoYXN5bmMgKHByb3BzKSA9PiAoYXdhaXQgaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlcj90eXBlPWZhdmljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMhL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2FwcC9mYXZpY29uLmljbz9fX25leHRfbWV0YWRhdGFfX1wiKSkuZGVmYXVsdChwcm9wcykpXSxcbiAgICBhcHBsZTogW10sXG4gICAgb3BlbkdyYXBoOiBbXSxcbiAgICB0d2l0dGVyOiBbXSxcbiAgICBtYW5pZmVzdDogdW5kZWZpbmVkXG4gIH1cbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9hcHAvKG1haW4pL3BhZ2UuanN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvKG1haW4pL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvKG1haW4pL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL1wiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmFwcC1yb3V0ZXIuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY2xpZW50LXBhZ2UuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbGF5b3V0LXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZub3QtZm91bmQtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWlKO0FBQ2pKO0FBQ0Esb09BQWtKO0FBQ2xKO0FBQ0EsME9BQXFKO0FBQ3JKO0FBQ0Esd09BQW9KO0FBQ3BKO0FBQ0Esa1BBQXlKO0FBQ3pKO0FBQ0Esc1FBQW1LIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLz9hM2RjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!": -/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true! ***! - \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(ssr)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(ssr)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(ssr)/./src/components/Header.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background.jpg */ \"(ssr)/./src/images/background.jpg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGaW1hZ2UtY29tcG9uZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGbGluay5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGY29tcG9uZW50cyUyRkhlYWRlci5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJIZWFkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGYmFja2dyb3VuZC5qcGclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxzTkFBMkk7QUFDM0k7QUFDQSxnTUFBZ0k7QUFDaEk7QUFDQSxrS0FBZ0o7QUFDaEo7QUFDQSxrS0FBb0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvPzI1M2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbWFnZS1jb21wb25lbnQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9jb21wb25lbnRzL0hlYWRlci5qc3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGdcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(ssr)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(ssr)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Product.jsx */ \"(ssr)/./src/components/Product.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Speakers.jsx */ \"(ssr)/./src/components/Speakers.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-newsletter.jpg */ \"(ssr)/./src/images/background-newsletter.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background.jpg */ \"(ssr)/./src/images/background.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/mirage.svg */ \"(ssr)/./src/images/logos/mirage.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/statickit.svg */ \"(ssr)/./src/images/logos/statickit.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/transistor.svg */ \"(ssr)/./src/images/logos/transistor.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/tuple.svg */ \"(ssr)/./src/images/logos/tuple.svg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGaW1hZ2UtY29tcG9uZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGbGluay5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGY29tcG9uZW50cyUyRlByb2R1Y3QuanN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyUHJvZHVjdCUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZjb21wb25lbnRzJTJGU3BlYWtlcnMuanN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmJhY2tncm91bmQtbmV3c2xldHRlci5qcGclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmJhY2tncm91bmQuanBnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRm1pcmFnZS5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGc3RhdGlja2l0LnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZ0cmFuc2lzdG9yLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZ0dXBsZS5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxzTkFBMkk7QUFDM0k7QUFDQSxnTUFBZ0k7QUFDaEk7QUFDQSxvS0FBa0o7QUFDbEo7QUFDQSxzS0FBc0g7QUFDdEg7QUFDQSx3TEFBK0g7QUFDL0g7QUFDQSxrS0FBb0g7QUFDcEg7QUFDQSxzS0FBc0g7QUFDdEg7QUFDQSw0S0FBeUg7QUFDekg7QUFDQSw4S0FBMEg7QUFDMUg7QUFDQSxvS0FBcUgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvPzcwMGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbWFnZS1jb21wb25lbnQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIlByb2R1Y3RcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvY29tcG9uZW50cy9Qcm9kdWN0LmpzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2NvbXBvbmVudHMvU3BlYWtlcnMuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2JhY2tncm91bmQtbmV3c2xldHRlci5qcGdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvbG9nb3MvbWlyYWdlLnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9sb2dvcy9zdGF0aWNraXQuc3ZnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2xvZ29zL3RyYW5zaXN0b3Iuc3ZnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Z1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!***************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \***************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(ssr)/./src/components/Header.jsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmNvbXBvbmVudHMlMkZIZWFkZXIuanN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxrS0FBZ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvP2Q0N2MiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJIZWFkZXJcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/BackgroundImage.jsx": -/*!********************************************!*\ - !*** ./src/components/BackgroundImage.jsx ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundImage: () => (/* binding */ BackgroundImage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(ssr)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/images/background.jpg */ \"(ssr)/./src/images/background.jpg\");\n\n\n\n\nfunction BackgroundImage({ className, position = \"left\" }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute inset-0 overflow-hidden bg-indigo-50\", className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute top-0\", position === \"left\" && \"left-0 translate-x-[-55%] translate-y-[-10%] -scale-x-100 sm:left-1/2 sm:translate-x-[-98%] sm:translate-y-[-6%] lg:translate-x-[-106%] xl:translate-x-[-122%]\", position === \"right\" && \"left-full -translate-x-1/2 sm:left-1/2 sm:translate-x-[-20%] sm:translate-y-[-15%] md:translate-x-0 lg:translate-x-[5%] lg:translate-y-[4%] xl:translate-x-[27%] xl:translate-y-[-8%]\"),\n src: _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n alt: \"\",\n width: 918,\n height: 1495,\n priority: true,\n unoptimized: true\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 top-0 h-20 bg-gradient-to-b from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 29,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9CYWNrZ3JvdW5kSW1hZ2UuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBOEI7QUFDUDtBQUU4QjtBQUU5QyxTQUFTRyxnQkFBZ0IsRUFBRUMsU0FBUyxFQUFFQyxXQUFXLE1BQU0sRUFBRTtJQUM5RCxxQkFDRSw4REFBQ0M7UUFDQ0YsV0FBV0gsZ0RBQUlBLENBQ2IsaURBQ0FHOzswQkFHRiw4REFBQ0osa0RBQUtBO2dCQUNKSSxXQUFXSCxnREFBSUEsQ0FDYixrQkFDQUksYUFBYSxVQUNYLGtLQUNGQSxhQUFhLFdBQ1g7Z0JBRUpFLEtBQUtMLDhEQUFlQTtnQkFDcEJNLEtBQUk7Z0JBQ0pDLE9BQU87Z0JBQ1BDLFFBQVE7Z0JBQ1JDLFFBQVE7Z0JBQ1JDLFdBQVc7Ozs7OzswQkFFYiw4REFBQ047Z0JBQUlGLFdBQVU7Ozs7OzswQkFDZiw4REFBQ0U7Z0JBQUlGLFdBQVU7Ozs7Ozs7Ozs7OztBQUdyQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZS5qc3g/YzM0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5cbmltcG9ydCBiYWNrZ3JvdW5kSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYmFja2dyb3VuZC5qcGcnXG5cbmV4cG9ydCBmdW5jdGlvbiBCYWNrZ3JvdW5kSW1hZ2UoeyBjbGFzc05hbWUsIHBvc2l0aW9uID0gJ2xlZnQnIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICdhYnNvbHV0ZSBpbnNldC0wIG92ZXJmbG93LWhpZGRlbiBiZy1pbmRpZ28tNTAnLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApfVxuICAgID5cbiAgICAgIDxJbWFnZVxuICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgJ2Fic29sdXRlIHRvcC0wJyxcbiAgICAgICAgICBwb3NpdGlvbiA9PT0gJ2xlZnQnICYmXG4gICAgICAgICAgICAnbGVmdC0wIHRyYW5zbGF0ZS14LVstNTUlXSB0cmFuc2xhdGUteS1bLTEwJV0gLXNjYWxlLXgtMTAwIHNtOmxlZnQtMS8yIHNtOnRyYW5zbGF0ZS14LVstOTglXSBzbTp0cmFuc2xhdGUteS1bLTYlXSBsZzp0cmFuc2xhdGUteC1bLTEwNiVdIHhsOnRyYW5zbGF0ZS14LVstMTIyJV0nLFxuICAgICAgICAgIHBvc2l0aW9uID09PSAncmlnaHQnICYmXG4gICAgICAgICAgICAnbGVmdC1mdWxsIC10cmFuc2xhdGUteC0xLzIgc206bGVmdC0xLzIgc206dHJhbnNsYXRlLXgtWy0yMCVdIHNtOnRyYW5zbGF0ZS15LVstMTUlXSBtZDp0cmFuc2xhdGUteC0wIGxnOnRyYW5zbGF0ZS14LVs1JV0gbGc6dHJhbnNsYXRlLXktWzQlXSB4bDp0cmFuc2xhdGUteC1bMjclXSB4bDp0cmFuc2xhdGUteS1bLTglXScsXG4gICAgICAgICl9XG4gICAgICAgIHNyYz17YmFja2dyb3VuZEltYWdlfVxuICAgICAgICBhbHQ9XCJcIlxuICAgICAgICB3aWR0aD17OTE4fVxuICAgICAgICBoZWlnaHQ9ezE0OTV9XG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIHVub3B0aW1pemVkXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgdG9wLTAgaC0yMCBiZy1ncmFkaWVudC10by1iIGZyb20td2hpdGVcIiAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgYm90dG9tLTAgaC0yMCBiZy1ncmFkaWVudC10by10IGZyb20td2hpdGVcIiAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiSW1hZ2UiLCJjbHN4IiwiYmFja2dyb3VuZEltYWdlIiwiQmFja2dyb3VuZEltYWdlIiwiY2xhc3NOYW1lIiwicG9zaXRpb24iLCJkaXYiLCJzcmMiLCJhbHQiLCJ3aWR0aCIsImhlaWdodCIsInByaW9yaXR5IiwidW5vcHRpbWl6ZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/BackgroundImage.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Button.jsx": -/*!***********************************!*\ - !*** ./src/components/Button.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n\n\n\nfunction Button({ className, ...props }) {\n className = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"inline-flex justify-center rounded-2xl bg-blue-700 py-2 px-4 text-sm font-semibold text-white hover:bg-blue-500 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:text-white/70\", className);\n return typeof props.href === \"undefined\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9CdXR0b24uanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUE0QjtBQUNMO0FBRWhCLFNBQVNFLE9BQU8sRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU87SUFDNUNELFlBQVlGLGdEQUFJQSxDQUNkLGlQQUNBRTtJQUdGLE9BQU8sT0FBT0MsTUFBTUMsSUFBSSxLQUFLLDRCQUMzQiw4REFBQ0M7UUFBT0gsV0FBV0E7UUFBWSxHQUFHQyxLQUFLOzs7Ozs2QkFFdkMsOERBQUNKLGlEQUFJQTtRQUFDRyxXQUFXQTtRQUFZLEdBQUdDLEtBQUs7Ozs7OztBQUV6QyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3g/NGUxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9KSB7XG4gIGNsYXNzTmFtZSA9IGNsc3goXG4gICAgJ2lubGluZS1mbGV4IGp1c3RpZnktY2VudGVyIHJvdW5kZWQtMnhsIGJnLWJsdWUtNzAwIHB5LTIgcHgtNCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBob3ZlcjpiZy1ibHVlLTUwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1ibHVlLTUwMCBhY3RpdmU6dGV4dC13aGl0ZS83MCcsXG4gICAgY2xhc3NOYW1lLFxuICApXG5cbiAgcmV0dXJuIHR5cGVvZiBwcm9wcy5ocmVmID09PSAndW5kZWZpbmVkJyA/IChcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4ucHJvcHN9IC8+XG4gICkgOiAoXG4gICAgPExpbmsgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5wcm9wc30gLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJjbHN4IiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJocmVmIiwiYnV0dG9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Button.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Container.jsx": -/*!**************************************!*\ - !*** ./src/components/Container.jsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container({ className, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXVCO0FBRWhCLFNBQVNDLFVBQVUsRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU87SUFDL0MscUJBQ0UsOERBQUNDO1FBQ0NGLFdBQVdGLGdEQUFJQSxDQUFDLDBDQUEwQ0U7UUFDekQsR0FBR0MsS0FBSzs7Ozs7O0FBR2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Container.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/DiamondIcon.jsx": -/*!****************************************!*\ - !*** ./src/components/DiamondIcon.jsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DiamondIcon: () => (/* binding */ DiamondIcon)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction DiamondIcon(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 6 6\",\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M3 0L6 3L3 6L0 3Z\",\n strokeWidth: 2,\n strokeLinejoin: \"round\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/DiamondIcon.jsx\",\n lineNumber: 4,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/DiamondIcon.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9EaWFtb25kSWNvbi5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFPLFNBQVNBLFlBQVlDLEtBQUs7SUFDL0IscUJBQ0UsOERBQUNDO1FBQUlDLGVBQVk7UUFBT0MsU0FBUTtRQUFXLEdBQUdILEtBQUs7a0JBQ2pELDRFQUFDSTtZQUFLQyxHQUFFO1lBQW9CQyxhQUFhO1lBQUdDLGdCQUFlOzs7Ozs7Ozs7OztBQUdqRSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0RpYW1vbmRJY29uLmpzeD84OGJmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBEaWFtb25kSWNvbihwcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmlld0JveD1cIjAgMCA2IDZcIiB7Li4ucHJvcHN9PlxuICAgICAgPHBhdGggZD1cIk0zIDBMNiAzTDMgNkwwIDNaXCIgc3Ryb2tlV2lkdGg9ezJ9IHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgIDwvc3ZnPlxuICApXG59XG4iXSwibmFtZXMiOlsiRGlhbW9uZEljb24iLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwidmlld0JveCIsInBhdGgiLCJkIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/DiamondIcon.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Header.jsx": -/*!***********************************!*\ - !*** ./src/components/Header.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(ssr)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(ssr)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Logo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Logo */ \"(ssr)/./src/components/Logo.jsx\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(ssr)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(ssr)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n// Example navigation items\nconst navigationItems = [\n {\n name: \"Home\",\n href: \"/\"\n },\n {\n name: \"Features\",\n href: \"#\"\n },\n {\n name: \"Usecases\",\n href: \"#\"\n },\n {\n name: \"Events\",\n href: \"#\"\n }\n];\nfunction Header() {\n const [mobileMenuOpen, setMobileMenuOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"relative z-50 flex-none lg:py-4 bg-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"flex flex-wrap items-center justify-between lg:justify-center lg:flex-nowrap\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"my-5 lg:my-0 lg:grow lg:basis-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:flex lg:items-center lg:gap-8 lg:grow lg:basis-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-8 mx-auto\",\n children: navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-700 font-semibold hover:text-blue-900\",\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 29,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 27,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 34,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 26,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:hidden flex items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(true),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Open menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 42,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 43,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 37,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this),\n mobileMenuOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-10 bg-white shadow-lg lg:hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 52,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(false),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Close menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 58,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 59,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 53,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col p-6 space-y-4\",\n children: [\n navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-500 hover:text-blue-800 text-lg font-semibold\",\n onClick: ()=>setMobileMenuOpen(false),\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 64,\n columnNumber: 15\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n className: \"mt-4\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 73,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRWlDO0FBQ1k7QUFDTTtBQUNWO0FBQzBCO0FBRW5FLDJCQUEyQjtBQUMzQixNQUFNTSxrQkFBa0I7SUFDdEI7UUFBRUMsTUFBTTtRQUFRQyxNQUFNO0lBQUk7SUFDMUI7UUFBRUQsTUFBTTtRQUFZQyxNQUFNO0lBQUk7SUFDOUI7UUFBRUQsTUFBTTtRQUFZQyxNQUFNO0lBQUk7SUFDOUI7UUFBRUQsTUFBTTtRQUFVQyxNQUFNO0lBQUk7Q0FDN0I7QUFFTSxTQUFTQztJQUNkLE1BQU0sQ0FBQ0MsZ0JBQWdCQyxrQkFBa0IsR0FBR1gsK0NBQVFBLENBQUM7SUFFckQscUJBQ0UsOERBQUNZO1FBQU9DLFdBQVU7OzBCQUNoQiw4REFBQ1gsNERBQVNBO2dCQUFDVyxXQUFVOztrQ0FDbkIsOERBQUNDO3dCQUFJRCxXQUFVO2tDQUNiLDRFQUFDVixrREFBSUE7NEJBQUNVLFdBQVU7Ozs7Ozs7Ozs7O2tDQUVsQiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDQztnQ0FBSUQsV0FBVTswQ0FDWlAsZ0JBQWdCUyxHQUFHLENBQUMsQ0FBQ0MscUJBQ3BCLDhEQUFDQzt3Q0FBa0JULE1BQU1RLEtBQUtSLElBQUk7d0NBQUVLLFdBQVU7a0RBQzNDRyxLQUFLVCxJQUFJO3VDQURKUyxLQUFLVCxJQUFJOzs7Ozs7Ozs7OzBDQUtyQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLOzBDQUFJOzs7Ozs7Ozs7Ozs7a0NBRW5CLDhEQUFDTTt3QkFBSUQsV0FBVTtrQ0FDYiw0RUFBQ0s7NEJBQ0NDLE1BQUs7NEJBQ0xDLFNBQVMsSUFBTVQsa0JBQWtCOzRCQUNqQ0UsV0FBVTs7OENBRVYsOERBQUNRO29DQUFLUixXQUFVOzhDQUFVOzs7Ozs7OENBQzFCLDhEQUFDVCw2R0FBU0E7b0NBQUNrQixlQUFZO29DQUFPVCxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQU03Q0gsZ0NBQ0MsOERBQUNJO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDVixrREFBSUE7Z0NBQUNVLFdBQVU7Ozs7OzswQ0FDaEIsOERBQUNLO2dDQUNDQyxNQUFLO2dDQUNMQyxTQUFTLElBQU1ULGtCQUFrQjtnQ0FDakNFLFdBQVU7O2tEQUVWLDhEQUFDUTt3Q0FBS1IsV0FBVTtrREFBVTs7Ozs7O2tEQUMxQiw4REFBQ1IsNkdBQVNBO3dDQUFDaUIsZUFBWTt3Q0FBT1QsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUc1Qyw4REFBQ0M7d0JBQUlELFdBQVU7OzRCQUNaUCxnQkFBZ0JTLEdBQUcsQ0FBQyxDQUFDQyxxQkFDcEIsOERBQUNDO29DQUVDVCxNQUFNUSxLQUFLUixJQUFJO29DQUNmSyxXQUFVO29DQUNWTyxTQUFTLElBQU1ULGtCQUFrQjs4Q0FFaENLLEtBQUtULElBQUk7bUNBTExTLEtBQUtULElBQUk7Ozs7OzBDQVFsQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLO2dDQUFJSyxXQUFVOzBDQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFROUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4PzNjYjYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnOyAvLyBFbnN1cmUgdGhpcyBmaWxlIGlzIHRyZWF0ZWQgYXMgYSBDbGllbnQgQ29tcG9uZW50XG5cbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJztcbmltcG9ydCB7IExvZ28gfSBmcm9tICdAL2NvbXBvbmVudHMvTG9nbyc7XG5pbXBvcnQgeyBCYXJzM0ljb24sIFhNYXJrSWNvbiB9IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSc7XG5cbi8vIEV4YW1wbGUgbmF2aWdhdGlvbiBpdGVtc1xuY29uc3QgbmF2aWdhdGlvbkl0ZW1zID0gW1xuICB7IG5hbWU6ICdIb21lJywgaHJlZjogJy8nIH0sXG4gIHsgbmFtZTogJ0ZlYXR1cmVzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ1VzZWNhc2VzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ0V2ZW50cycsIGhyZWY6ICcjJyB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIEhlYWRlcigpIHtcbiAgY29uc3QgW21vYmlsZU1lbnVPcGVuLCBzZXRNb2JpbGVNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotNTAgZmxleC1ub25lIGxnOnB5LTQgYmctd2hpdGVcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBsZzpqdXN0aWZ5LWNlbnRlciBsZzpmbGV4LW5vd3JhcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LTUgbGc6bXktMCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhpZGRlbiBsZzpmbGV4IGxnOml0ZW1zLWNlbnRlciBsZzpnYXAtOCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTggbXgtYXV0b1wiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGEga2V5PXtpdGVtLm5hbWV9IGhyZWY9e2l0ZW0uaHJlZn0gY2xhc3NOYW1lPVwidGV4dC1ibHVlLTcwMCBmb250LXNlbWlib2xkIGhvdmVyOnRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAgICB7aXRlbS5uYW1lfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCI+Sm9pbiBPdXJWZXJzZTwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzpoaWRkZW4gZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE1vYmlsZU1lbnVPcGVuKHRydWUpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiLW0tMi41IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIHAtMi41IHRleHQtZ3JheS03MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5PcGVuIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICA8QmFyczNJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzTmFtZT1cImgtNiB3LTZcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuXG4gICAgICB7LyogTW9iaWxlIG1lbnUgKi99XG4gICAgICB7bW9iaWxlTWVudU9wZW4gJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei0xMCBiZy13aGl0ZSBzaGFkb3ctbGcgbGc6aGlkZGVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC02XCI+XG4gICAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVNZW51T3BlbihmYWxzZSl9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cIi1tLTIuNSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBwLTIuNSB0ZXh0LWdyYXktNzAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICAgIDxYTWFya0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3NOYW1lPVwiaC02IHctNlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgcC02IHNwYWNlLXktNFwiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1ibHVlLTUwMCBob3Zlcjp0ZXh0LWJsdWUtODAwIHRleHQtbGcgZm9udC1zZW1pYm9sZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTWVudU9wZW4oZmFsc2UpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCIgY2xhc3NOYW1lPVwibXQtNFwiPlxuICAgICAgICAgICAgICBKb2luIE91clZlcnNlXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvaGVhZGVyPlxuICApO1xufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwiQnV0dG9uIiwiQ29udGFpbmVyIiwiTG9nbyIsIkJhcnMzSWNvbiIsIlhNYXJrSWNvbiIsIm5hdmlnYXRpb25JdGVtcyIsIm5hbWUiLCJocmVmIiwiSGVhZGVyIiwibW9iaWxlTWVudU9wZW4iLCJzZXRNb2JpbGVNZW51T3BlbiIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsIm1hcCIsIml0ZW0iLCJhIiwiYnV0dG9uIiwidHlwZSIsIm9uQ2xpY2siLCJzcGFuIiwiYXJpYS1oaWRkZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Header.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Logo.jsx": -/*!*********************************!*\ - !*** ./src/components/Logo.jsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: () => (/* binding */ Logo)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction Logo(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: \"130\",\n height: \"43.33\",\n version: \"1\",\n viewBox: \"0 0 90 30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"filter\", {\n id: \"bdef170c39\",\n width: \"100%\",\n height: \"100%\",\n x: \"0%\",\n y: \"0%\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n colorInterpolationFilters: \"sRGB\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"ae85f5a47d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9479493a42\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.07 23.469a2.665 2.665 0 01-2.383-1.504L4.657 9.25a2.62 2.62 0 011.257-3.492A2.621 2.621 0 019.41 7.016l6.027 12.714a2.618 2.618 0 01-2.367 3.739zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"90a54febec\",\n x1: \"117.677\",\n x2: \"-10.526\",\n y1: \"202.569\",\n y2: \"6.809\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 34,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 37,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#1E3A8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 40,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 43,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#203E91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#204092\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 47,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#214295\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 51,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#224498\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 52,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 54,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 55,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 56,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#24479E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 59,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 60,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.299\",\n stopColor: \"#2549A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#254AA1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#254BA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 65,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 66,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#274FAA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 72,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2751AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 78,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 80,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2A56B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 81,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 85,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 86,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2B5AB9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2C5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 88,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 91,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 92,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 93,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 94,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 95,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 96,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 97,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 98,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#2E61C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 99,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 100,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 101,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#2F63C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 102,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 103,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3065CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 105,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 106,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#3167CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 107,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 108,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 109,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 111,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 112,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.701\",\n stopColor: \"#326BD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 114,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 115,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 116,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 117,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#346FD8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 120,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3570DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 123,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 124,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 125,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 127,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 128,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3674E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 130,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 131,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 132,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 133,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 134,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#3878E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 135,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 136,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#387AE8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 138,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 139,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#397CEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 140,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 142,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 143,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 145,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 146,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 147,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 148,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.977\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 149,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.984\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 150,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 24,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"71699c0992\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 154,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 153,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"39c4965344\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.469c-.375 0-.77-.078-1.13-.266-1.312-.617-1.878-2.195-1.257-3.492l6.031-12.715c.617-1.312 2.196-1.879 3.492-1.258 1.317.621 1.88 2.2 1.258 3.492l-6.027 12.715c-.434.977-1.371 1.524-2.367 1.524zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 157,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 156,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"5c493e8459\",\n x1: \"188.996\",\n x2: \"130.793\",\n y1: \"-0.323\",\n y2: \"214.691\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 168,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.008\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 169,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.016\",\n stopColor: \"#1E3B8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 170,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.023\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 171,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.031\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 172,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.039\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 173,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.047\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 174,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.055\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 175,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 176,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.07\",\n stopColor: \"#203F91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 177,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.078\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 178,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.086\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 179,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.102\",\n stopColor: \"#214195\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 181,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#214296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 182,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 183,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#224398\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 186,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 187,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.15\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 188,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 189,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 190,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 191,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 192,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#24489E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 193,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 194,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 195,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#2449A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 196,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 198,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 199,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#254CA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 201,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 202,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 203,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 204,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#274EA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 205,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 206,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2750AA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 207,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 208,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#2851AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 209,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 210,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 212,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 213,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 214,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 215,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 216,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#2955B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 217,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 218,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 219,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 220,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 221,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 222,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 223,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2B59B9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 224,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2B5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 225,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 226,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 227,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 228,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 229,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 230,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 232,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 233,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2E5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 234,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 235,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 236,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2F62C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 238,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 240,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 241,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2F64C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 242,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 243,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 244,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 245,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#3066CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 246,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 247,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 248,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 249,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 251,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 252,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#326AD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 253,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 254,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#336BD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 255,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 256,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 257,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 258,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 259,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#346ED8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 260,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 261,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 262,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 263,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#3571DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 264,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 265,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 266,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 267,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 268,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 269,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 270,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3675E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 272,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 273,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 274,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 275,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 276,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 277,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.85\",\n stopColor: \"#3879E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 278,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 279,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 281,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 282,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#397BEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 284,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#3A7CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 286,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 287,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 288,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 289,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 290,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 291,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 292,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 293,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 294,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 295,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 159,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8d0c53bb2c\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8007d6ee0b\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.074 23.621c-.98 0-1.941-.566-2.394-1.512L4.62 9.336a2.628 2.628 0 011.262-3.508A2.632 2.632 0 019.395 7.09l6.058 12.773a2.639 2.639 0 01-1.265 3.512c-.36.168-.735.246-1.114.246zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 301,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 300,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 303,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"c882ea39a8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 313,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9791d5a09d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 321,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 320,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"e6e7ec391e\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9791d5a09d)\",\n mask: \"url(#c882ea39a8)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 335,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 334,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 323,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"b6080a64a5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 342,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 341,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"2ec3ecbd14\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.621c-.375 0-.774-.078-1.133-.266-1.32-.62-1.887-2.207-1.262-3.507L16.72 7.074c.62-1.324 2.207-1.89 3.508-1.265 1.32.62 1.886 2.207 1.265 3.507L15.434 22.09c-.434.98-1.38 1.531-2.38 1.531zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 345,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 344,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 347,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"d7dda1a063\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 357,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 356,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 355,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"c87c18b6c8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 365,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 364,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"f8c42d9774\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#c87c18b6c8)\",\n mask: \"url(#d7dda1a063)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 379,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 378,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 367,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#ae85f5a47d)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9479493a42)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#90a54febec)\",\n d: \"M4.355 5.473v17.996H16.06V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 388,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 387,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 386,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#71699c0992)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#39c4965344)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#5c493e8459)\",\n d: \"M10.047 5.473v17.996h11.726V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 396,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 395,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 394,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M5.766.172c-1.024 0-1.914-.219-2.672-.656a4.783 4.783 0 01-1.797-1.86c-.43-.789-.64-1.707-.64-2.75 0-1.031.21-1.941.64-2.734a4.837 4.837 0 011.797-1.86c.758-.445 1.648-.671 2.672-.671 1 0 1.882.226 2.656.671.77.45 1.367 1.07 1.797 1.86.426.793.64 1.703.64 2.734 0 1.043-.214 1.961-.64 2.75a4.677 4.677 0 01-1.797 1.86c-.774.437-1.656.656-2.656.656zm0-1.672c.968 0 1.738-.316 2.312-.953.582-.645.875-1.524.875-2.64 0-1.114-.293-1.989-.875-2.626-.574-.644-1.344-.968-2.312-.968-.97 0-1.746.324-2.329.968-.585.637-.874 1.512-.874 2.625 0 1.117.289 1.996.874 2.64.583.638 1.36.954 2.329.954zm0 0\",\n transform: \"translate(24.636 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 402,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.656.172c-.906 0-1.605-.281-2.094-.844C1.07-1.234.829-2.055.829-3.14v-4.078h1.844v3.907c0 .617.125 1.09.375 1.421.258.336.66.5 1.203.5.508 0 .93-.18 1.266-.546.332-.375.5-.891.5-1.547V-7.22H7.89V0H6.234l-.14-1.219a2.45 2.45 0 01-.969 1.016c-.418.25-.906.375-1.469.375zm0 0\",\n transform: \"translate(35.114 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 407,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(42.932 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 412,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.938 0L.217-10.188h2l2.876 8.282 2.89-8.281h1.97L6.218 0zm0 0\",\n transform: \"translate(47.67 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 417,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(56.811 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 422,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(64.484 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 427,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.922.172c-.637 0-1.2-.106-1.688-.313-.48-.207-.867-.492-1.156-.859a2.58 2.58 0 01-.531-1.281h1.875c.062.281.219.523.469.719.257.199.597.296 1.015.296.406 0 .703-.082.89-.25.188-.164.282-.351.282-.562 0-.313-.137-.52-.406-.625a7.994 7.994 0 00-1.14-.344 11.28 11.28 0 01-.954-.234 5.044 5.044 0 01-.875-.375 2.081 2.081 0 01-.64-.578c-.168-.239-.25-.536-.25-.891 0-.633.253-1.172.765-1.61.508-.437 1.223-.656 2.14-.656.852 0 1.536.2 2.048.594.507.399.812.945.906 1.64h-1.75c-.117-.53-.524-.796-1.219-.796-.344 0-.61.07-.797.203-.187.137-.281.309-.281.516 0 .21.14.382.422.515.281.125.648.242 1.11.344.507.117.972.246 1.39.39.426.137.766.344 1.016.626.25.273.375.664.375 1.171.007.45-.11.856-.36 1.22-.242.355-.59.636-1.047.843-.449.195-.984.297-1.61.297zm0 0\",\n transform: \"translate(69.222 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 432,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(75.834 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 437,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8d0c53bb2c)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8007d6ee0b)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#e6e7ec391e)\",\n d: \"M4.355 5.473h11.72v18.144H4.354zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 444,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 443,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 442,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#b6080a64a5)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#2ec3ecbd14)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#f8c42d9774)\",\n d: \"M10.035 5.473h11.738v18.144H10.035zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 452,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 451,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 450,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Mb2dvLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU8sU0FBU0EsS0FBS0MsS0FBSztJQUN4QixxQkFDRSw4REFBQ0M7UUFDREMsT0FBTTtRQUNOQyxZQUFXO1FBQ1hDLE9BQU07UUFDTkMsUUFBTztRQUNQQyxTQUFRO1FBQ1JDLFNBQVE7OzBCQUVSLDhEQUFDQzs7a0NBQ0MsOERBQUNDO3dCQUFPQyxJQUFHO3dCQUFhTixPQUFNO3dCQUFPQyxRQUFPO3dCQUFPTSxHQUFFO3dCQUFLQyxHQUFFO2tDQUMxRCw0RUFBQ0M7NEJBQ0NDLDJCQUEwQjs0QkFDMUJDLFFBQU87Ozs7Ozs7Ozs7O2tDQUdYLDhEQUFDQzt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDRjt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDQzt3QkFDQ1QsSUFBRzt3QkFDSFUsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsbUJBQWtCO3dCQUNsQkMsZUFBYzs7MENBRWQsOERBQUNDO2dDQUFLQyxRQUFPO2dDQUFJQyxXQUFVOzs7Ozs7MENBQzNCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFNQyxXQUFVOzs7Ozs7MENBQzdCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7Ozs7Ozs7O2tDQUU3Qiw4REFBQ1o7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0M7d0JBQ0NULElBQUc7d0JBQ0hVLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLG1CQUFrQjt3QkFDbEJDLGVBQWM7OzBDQUVkLDhEQUFDQztnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7OzBDQUMzQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFNQyxXQUFVOzs7Ozs7MENBQzdCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtn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Q29CLE1BQUs7d0JBQ0xuQixHQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTVoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9Mb2dvLmpzeD8yMDQxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBMb2dvKHByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHhtbG5zWGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICB3aWR0aD1cIjEzMFwiXG4gICAgaGVpZ2h0PVwiNDMuMzNcIlxuICAgIHZlcnNpb249XCIxXCJcbiAgICB2aWV3Qm94PVwiMCAwIDkwIDMwXCJcbiAgPlxuICAgIDxkZWZzPlxuICAgICAgPGZpbHRlciBpZD1cImJkZWYxNzBjMzlcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeD1cIjAlXCIgeT1cIjAlXCI+XG4gICAgICAgIDxmZUNvbG9yTWF0cml4XG4gICAgICAgICAgY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycz1cInNSR0JcIlxuICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDEgMFwiXG4gICAgICAgID48L2ZlQ29sb3JNYXRyaXg+XG4gICAgICA8L2ZpbHRlcj5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImFlODVmNWE0N2RcIj5cbiAgICAgICAgPHBhdGggZD1cIk00LjM1NSA1LjQ3M0gxNnYxOC4xNDRINC4zNTV6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI5NDc5NDkzYTQyXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDcgMjMuNDY5YTIuNjY1IDIuNjY1IDAgMDEtMi4zODMtMS41MDRMNC42NTcgOS4yNWEyLjYyIDIuNjIgMCAwMTEuMjU3LTMuNDkyQTIuNjIxIDIuNjIxIDAgMDE5LjQxIDcuMDE2bDYuMDI3IDEyLjcxNGEyLjYxOCAyLjYxOCAwIDAxLTIuMzY3IDMuNzM5em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGxpbmVhckdyYWRpZW50XG4gICAgICAgIGlkPVwiOTBhNTRmZWJlY1wiXG4gICAgICAgIHgxPVwiMTE3LjY3N1wiXG4gICAgICAgIHgyPVwiLTEwLjUyNlwiXG4gICAgICAgIHkxPVwiMjAyLjU2OVwiXG4gICAgICAgIHkyPVwiNi44MDlcIlxuICAgICAgICBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0LjM1NSA1LjQ3OSkgc2NhbGUoLjA5MTc0KVwiXG4gICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICA+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjBcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA2M1wiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDk0XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMDlcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjExN1wiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTI1XCIgc3RvcENvbG9yPVwiIzFFM0E4QlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMzNcIiBzdG9wQ29sb3I9XCIjMUYzQjhDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE0MVwiIHN0b3BDb2xvcj1cIiMxRjNDOERcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQ4XCIgc3RvcENvbG9yPVwiIzFGM0M4RVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNTZcIiBzdG9wQ29sb3I9XCIjMUYzRDhGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE2NFwiIHN0b3BDb2xvcj1cIiMyMDNFOTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTcyXCIgc3RvcENvbG9yPVwiIzIwM0U5MVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOFwiIHN0b3BDb2xvcj1cIiMyMDNGOTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTg4XCIgc3RvcENvbG9yPVwiIzIwNDA5MlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOTVcIiBzdG9wQ29sb3I9XCIjMjE0MDkzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIwM1wiIHN0b3BDb2xvcj1cIiMyMTQxOTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjExXCIgc3RvcENvbG9yPVwiIzIxNDI5NVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wQ29sb3I9XCIjMjI0Mjk2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIyN1wiIHN0b3BDb2xvcj1cIiMyMjQzOTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjM0XCIgc3RvcENvbG9yPVwiIzIyNDQ5OFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNDJcIiBzdG9wQ29sb3I9XCIjMjQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1XCIgc3RvcENvbG9yPVwiIzIzNDU5QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNThcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI2NlwiIHN0b3BDb2xvcj1cIiMyMzQ2OUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjczXCIgc3RvcENvbG9yPVwiIzIzNDc5RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yODFcIiBzdG9wQ29sb3I9XCIjMjQ0NzlFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4OVwiIHN0b3BDb2xvcj1cIiMyNDQ4OUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjk3XCIgc3RvcENvbG9yPVwiIzI0NDlBMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTlcIiBzdG9wQ29sb3I9XCIjMjU0OUExXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMwNVwiIHN0b3BDb2xvcj1cIiMyNTRBQTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzEzXCIgc3RvcENvbG9yPVwiIzI1NEFBMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMlwiIHN0b3BDb2xvcj1cIiMyNTRCQTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzI4XCIgc3RvcENvbG9yPVwiIzI1NEJBNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMzZcIiBzdG9wQ29sb3I9XCIjMjY0Q0E1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM0NFwiIHN0b3BDb2xvcj1cIiMyNjREQTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzUyXCIgc3RvcENvbG9yPVwiIzI2NERBN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTlcIiBzdG9wQ29sb3I9XCIjMjY0RUE4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM2N1wiIHN0b3BDb2xvcj1cIiMyNzRGQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzc1XCIgc3RvcENvbG9yPVwiIzI3NEZBQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zODNcIiBzdG9wQ29sb3I9XCIjMjc1MEFCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5MVwiIHN0b3BDb2xvcj1cIiMyNzUxQUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzk4XCIgc3RvcENvbG9yPVwiIzI4NTFBRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MDZcIiBzdG9wQ29sb3I9XCIjMjg1MkFFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQxNFwiIHN0b3BDb2xvcj1cIiMyODUzQUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDIyXCIgc3RvcENvbG9yPVwiIzI5NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40M1wiIHN0b3BDb2xvcj1cIiMyOTU0QjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDM4XCIgc3RvcENvbG9yPVwiIzI5NTRCMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NDVcIiBzdG9wQ29sb3I9XCIjMjk1NUIyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ1M1wiIHN0b3BDb2xvcj1cIiMyQTU2QjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDYxXCIgc3RvcENvbG9yPVwiIzJBNTZCNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjlcIiBzdG9wQ29sb3I9XCIjMkE1N0I1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ3N1wiIHN0b3BDb2xvcj1cIiMyQTU4QjZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDg0XCIgc3RvcENvbG9yPVwiIzJCNThCN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40OTJcIiBzdG9wQ29sb3I9XCIjMkI1OUI4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wQ29sb3I9XCIjMkI1QUI5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUwOFwiIHN0b3BDb2xvcj1cIiMyQzVBQkFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTE2XCIgc3RvcENvbG9yPVwiIzJDNUJCQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MjNcIiBzdG9wQ29sb3I9XCIjMkM1Q0JDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzMVwiIHN0b3BDb2xvcj1cIiMyQzVDQkRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTM5XCIgc3RvcENvbG9yPVwiIzJENURCRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NDdcIiBzdG9wQ29sb3I9XCIjMkQ1RUJGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU1NVwiIHN0b3BDb2xvcj1cIiMyRDVFQzBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTYzXCIgc3RvcENvbG9yPVwiIzJENUZDMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41N1wiIHN0b3BDb2xvcj1cIiMyRTYwQzJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTc4XCIgc3RvcENvbG9yPVwiIzJFNjBDM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41ODZcIiBzdG9wQ29sb3I9XCIjMkU2MUM0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU5NFwiIHN0b3BDb2xvcj1cIiMyRTYxQzVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjAyXCIgc3RvcENvbG9yPVwiIzJGNjJDNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDlcIiBzdG9wQ29sb3I9XCIjMkY2M0M3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYxN1wiIHN0b3BDb2xvcj1cIiMyRjYzQzhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjI1XCIgc3RvcENvbG9yPVwiIzMwNjRDOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MzNcIiBzdG9wQ29sb3I9XCIjMzA2NUNBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0MVwiIHN0b3BDb2xvcj1cIiMzMDY1Q0JcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQ4XCIgc3RvcENvbG9yPVwiIzMwNjZDQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NTZcIiBzdG9wQ29sb3I9XCIjMzE2N0NDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY2NFwiIHN0b3BDb2xvcj1cIiMzMTY3Q0RcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjcyXCIgc3RvcENvbG9yPVwiIzMxNjhDRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OFwiIHN0b3BDb2xvcj1cIiMzMTY5Q0ZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjg4XCIgc3RvcENvbG9yPVwiIzMyNjlEMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OTVcIiBzdG9wQ29sb3I9XCIjMzI2QUQxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcwMVwiIHN0b3BDb2xvcj1cIiMzMjZCRDJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzAzXCIgc3RvcENvbG9yPVwiIzMyNkJEM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MTFcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxOVwiIHN0b3BDb2xvcj1cIiMzMzZDRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzI3XCIgc3RvcENvbG9yPVwiIzMzNkRENVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MzRcIiBzdG9wQ29sb3I9XCIjMzM2REQ2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc0MlwiIHN0b3BDb2xvcj1cIiMzNDZFRDdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzVcIiBzdG9wQ29sb3I9XCIjMzQ2RkQ4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc1OFwiIHN0b3BDb2xvcj1cIiMzNDZGRDlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzY2XCIgc3RvcENvbG9yPVwiIzM0NzBEQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NzNcIiBzdG9wQ29sb3I9XCIjMzU3MERCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc4MVwiIHN0b3BDb2xvcj1cIiMzNTcxRENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzg5XCIgc3RvcENvbG9yPVwiIzM1NzJERFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43OTdcIiBzdG9wQ29sb3I9XCIjMzU3MkRFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgwNVwiIHN0b3BDb2xvcj1cIiMzNjczREZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODEzXCIgc3RvcENvbG9yPVwiIzM2NzRFMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MlwiIHN0b3BDb2xvcj1cIiMzNjc0RTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODI4XCIgc3RvcENvbG9yPVwiIzM3NzVFMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MzZcIiBzdG9wQ29sb3I9XCIjMzc3NkUzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg0NFwiIHN0b3BDb2xvcj1cIiMzNzc2RTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODUyXCIgc3RvcENvbG9yPVwiIzM3NzdFNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTlcIiBzdG9wQ29sb3I9XCIjMzg3OEU2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg2N1wiIHN0b3BDb2xvcj1cIiMzODc4RTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODc1XCIgc3RvcENvbG9yPVwiIzM4NzlFOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44ODNcIiBzdG9wQ29sb3I9XCIjMzg3QUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg5MVwiIHN0b3BDb2xvcj1cIiMzOTdBRTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODk4XCIgc3RvcENvbG9yPVwiIzM5N0JFQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MDZcIiBzdG9wQ29sb3I9XCIjMzk3Q0VCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkxNFwiIHN0b3BDb2xvcj1cIiMzOTdDRUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTIyXCIgc3RvcENvbG9yPVwiIzNBN0RFRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45M1wiIHN0b3BDb2xvcj1cIiMzQTdERUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTM4XCIgc3RvcENvbG9yPVwiIzNBN0VFRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NDVcIiBzdG9wQ29sb3I9XCIjM0I3RkYwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk1M1wiIHN0b3BDb2xvcj1cIiMzQjdGRjFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTYxXCIgc3RvcENvbG9yPVwiIzNCODBGMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjlcIiBzdG9wQ29sb3I9XCIjM0I4MUYzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk3N1wiIHN0b3BDb2xvcj1cIiMzQzgxRjRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTg0XCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3BDb2xvcj1cIiMzQzgyRjVcIj48L3N0b3A+XG4gICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgPGNsaXBQYXRoIGlkPVwiNzE2OTljMDk5MlwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEwIDUuNDczaDExLjc3M3YxOC4xNDRIMTB6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCIzOWM0OTY1MzQ0XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDU1IDIzLjQ2OWMtLjM3NSAwLS43Ny0uMDc4LTEuMTMtLjI2Ni0xLjMxMi0uNjE3LTEuODc4LTIuMTk1LTEuMjU3LTMuNDkybDYuMDMxLTEyLjcxNWMuNjE3LTEuMzEyIDIuMTk2LTEuODc5IDMuNDkyLTEuMjU4IDEuMzE3LjYyMSAxLjg4IDIuMiAxLjI1OCAzLjQ5MmwtNi4wMjcgMTIuNzE1Yy0uNDM0Ljk3Ny0xLjM3MSAxLjUyNC0yLjM2NyAxLjUyNHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgICBpZD1cIjVjNDkzZTg0NTlcIlxuICAgICAgICB4MT1cIjE4OC45OTZcIlxuICAgICAgICB4Mj1cIjEzMC43OTNcIlxuICAgICAgICB5MT1cIi0wLjMyM1wiXG4gICAgICAgIHkyPVwiMjE0LjY5MVwiXG4gICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuMzU1IDUuNDc5KSBzY2FsZSguMDkxNzQpXCJcbiAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDA4XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMTZcIiBzdG9wQ29sb3I9XCIjMUUzQjhCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAyM1wiIHN0b3BDb2xvcj1cIiMxRjNCOENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDMxXCIgc3RvcENvbG9yPVwiIzFGM0M4RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMzlcIiBzdG9wQ29sb3I9XCIjMUYzQzhFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA0N1wiIHN0b3BDb2xvcj1cIiMxRjNEOEZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDU1XCIgc3RvcENvbG9yPVwiIzIwM0U5MFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNjNcIiBzdG9wQ29sb3I9XCIjMjAzRTkwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA3XCIgc3RvcENvbG9yPVwiIzIwM0Y5MVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNzhcIiBzdG9wQ29sb3I9XCIjMjAzRjkyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA4NlwiIHN0b3BDb2xvcj1cIiMyMTQwOTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDk0XCIgc3RvcENvbG9yPVwiIzIxNDE5NFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMDJcIiBzdG9wQ29sb3I9XCIjMjE0MTk1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwOVwiIHN0b3BDb2xvcj1cIiMyMTQyOTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTE3XCIgc3RvcENvbG9yPVwiIzIyNDI5NlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMjVcIiBzdG9wQ29sb3I9XCIjMjI0Mzk3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEzM1wiIHN0b3BDb2xvcj1cIiMyMjQzOThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQxXCIgc3RvcENvbG9yPVwiIzI0OVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDhcIiBzdG9wQ29sb3I9XCIjMjM0NTlBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1XCIgc3RvcENvbG9yPVwiIzIzNDU5QlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNTZcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE2NFwiIHN0b3BDb2xvcj1cIiMyMzQ2OUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTcyXCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOFwiIHN0b3BDb2xvcj1cIiMyMzQ3OURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTg4XCIgc3RvcENvbG9yPVwiIzI0NDg5RVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOTVcIiBzdG9wQ29sb3I9XCIjMjQ0ODlGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIwM1wiIHN0b3BDb2xvcj1cIiMyNDQ5QTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjExXCIgc3RvcENvbG9yPVwiIzI0NDlBMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wQ29sb3I9XCIjMjU0QUEyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIyN1wiIHN0b3BDb2xvcj1cIiMyNTRBQTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjM0XCIgc3RvcENvbG9yPVwiIzI1NEJBM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNDJcIiBzdG9wQ29sb3I9XCIjMjU0Q0E0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1XCIgc3RvcENvbG9yPVwiIzI2NENBNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNThcIiBzdG9wQ29sb3I9XCIjMjY0REE2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI2NlwiIHN0b3BDb2xvcj1cIiMyNjREQTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjczXCIgc3RvcENvbG9yPVwiIzI2NEVBOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yODFcIiBzdG9wQ29sb3I9XCIjMjc0RUE5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4OVwiIHN0b3BDb2xvcj1cIiMyNzRGQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjk3XCIgc3RvcENvbG9yPVwiIzI3NTBBQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMDVcIiBzdG9wQ29sb3I9XCIjMjc1MEFCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMxM1wiIHN0b3BDb2xvcj1cIiMyODUxQUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzJcIiBzdG9wQ29sb3I9XCIjMjg1MUFEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMyOFwiIHN0b3BDb2xvcj1cIiMyODUyQUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzM2XCIgc3RvcENvbG9yPVwiIzI4NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNDRcIiBzdG9wQ29sb3I9XCIjMjk1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM1MlwiIHN0b3BDb2xvcj1cIiMyOTU0QjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzU5XCIgc3RvcENvbG9yPVwiIzI5NTRCMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNjdcIiBzdG9wQ29sb3I9XCIjMjk1NUIyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM3NVwiIHN0b3BDb2xvcj1cIiMyOTU1QjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzgzXCIgc3RvcENvbG9yPVwiIzJBNTZCNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zOTFcIiBzdG9wQ29sb3I9XCIjMkE1N0I1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5OFwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDA2XCIgc3RvcENvbG9yPVwiIzJBNThCNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MTRcIiBzdG9wQ29sb3I9XCIjMkI1OEI3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQyMlwiIHN0b3BDb2xvcj1cIiMyQjU5QjhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDNcIiBzdG9wQ29sb3I9XCIjMkI1OUI5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQzOFwiIHN0b3BDb2xvcj1cIiMyQjVBQkFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDQ1XCIgc3RvcENvbG9yPVwiIzJDNUJCQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NTNcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ2MVwiIHN0b3BDb2xvcj1cIiMyQzVDQkNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDY5XCIgc3RvcENvbG9yPVwiIzJDNUNCRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NzdcIiBzdG9wQ29sb3I9XCIjMkQ1REJFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ4NFwiIHN0b3BDb2xvcj1cIiMyRDVFQkZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDkyXCIgc3RvcENvbG9yPVwiIzJENUVDMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcENvbG9yPVwiIzJENUZDMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MDhcIiBzdG9wQ29sb3I9XCIjMkU1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUxNlwiIHN0b3BDb2xvcj1cIiMyRTYwQzJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTIzXCIgc3RvcENvbG9yPVwiIzJFNjBDM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MzFcIiBzdG9wQ29sb3I9XCIjMkU2MUM0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzOVwiIHN0b3BDb2xvcj1cIiMyRjYyQzVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTQ3XCIgc3RvcENvbG9yPVwiIzJGNjJDNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NTVcIiBzdG9wQ29sb3I9XCIjMkY2M0M3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU2M1wiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTdcIiBzdG9wQ29sb3I9XCIjMkY2NEM4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU3OFwiIHN0b3BDb2xvcj1cIiMzMDY0QzlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTg2XCIgc3RvcENvbG9yPVwiIzMwNjVDQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41OTRcIiBzdG9wQ29sb3I9XCIjMzA2NkNCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYwMlwiIHN0b3BDb2xvcj1cIiMzMDY2Q0NcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjA5XCIgc3RvcENvbG9yPVwiIzMxNjdDRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MTdcIiBzdG9wQ29sb3I9XCIjMzE2N0NEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYyNVwiIHN0b3BDb2xvcj1cIiMzMTY4Q0VcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjMzXCIgc3RvcENvbG9yPVwiIzMxNjlDRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NDFcIiBzdG9wQ29sb3I9XCIjMzI2OUQwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0OFwiIHN0b3BDb2xvcj1cIiMzMjZBRDFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjU2XCIgc3RvcENvbG9yPVwiIzMyNkFEMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NjRcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY3MlwiIHN0b3BDb2xvcj1cIiMzMzZCRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjhcIiBzdG9wQ29sb3I9XCIjMzM2Q0Q0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY4OFwiIHN0b3BDb2xvcj1cIiMzMzZERDVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjk1XCIgc3RvcENvbG9yPVwiIzMzNkRENlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MDNcIiBzdG9wQ29sb3I9XCIjMzQ2RUQ3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxMVwiIHN0b3BDb2xvcj1cIiMzNDZFRDhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzE5XCIgc3RvcENvbG9yPVwiIzM0NkZEOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MjdcIiBzdG9wQ29sb3I9XCIjMzQ3MERBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjczNFwiIHN0b3BDb2xvcj1cIiMzNDcwREFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzQyXCIgc3RvcENvbG9yPVwiIzM1NzFEQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NVwiIHN0b3BDb2xvcj1cIiMzNTcxRENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzU4XCIgc3RvcENvbG9yPVwiIzM1NzJERFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NjZcIiBzdG9wQ29sb3I9XCIjMzU3MkRFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc3M1wiIHN0b3BDb2xvcj1cIiMzNjczREZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzgxXCIgc3RvcENvbG9yPVwiIzM2NzRFMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODlcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc5N1wiIHN0b3BDb2xvcj1cIiMzNjc1RTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODA1XCIgc3RvcENvbG9yPVwiIzM3NzVFMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MTNcIiBzdG9wQ29sb3I9XCIjMzc3NkUzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyXCIgc3RvcENvbG9yPVwiIzM3NzZFNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MjhcIiBzdG9wQ29sb3I9XCIjMzc3N0U1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgzNlwiIHN0b3BDb2xvcj1cIiMzODc4RTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODQ0XCIgc3RvcENvbG9yPVwiIzM4NzhFNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NVwiIHN0b3BDb2xvcj1cIiMzODc5RTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODUyXCIgc3RvcENvbG9yPVwiIzM4NzlFOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTlcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg2N1wiIHN0b3BDb2xvcj1cIiMzOTdBRTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODc1XCIgc3RvcENvbG9yPVwiIzM5N0JFQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44ODNcIiBzdG9wQ29sb3I9XCIjMzk3QkVCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg5MVwiIHN0b3BDb2xvcj1cIiMzOTdDRUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODk4XCIgc3RvcENvbG9yPVwiIzNBN0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MDZcIiBzdG9wQ29sb3I9XCIjM0E3REVEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkxNFwiIHN0b3BDb2xvcj1cIiMzQTdERUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTIyXCIgc3RvcENvbG9yPVwiIzNBN0VFRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45M1wiIHN0b3BDb2xvcj1cIiMzQTdGRjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTM4XCIgc3RvcENvbG9yPVwiIzNCN0ZGMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NDVcIiBzdG9wQ29sb3I9XCIjM0I4MEYyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk1M1wiIHN0b3BDb2xvcj1cIiMzQjgwRjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTYxXCIgc3RvcENvbG9yPVwiIzNCODFGM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjlcIiBzdG9wQ29sb3I9XCIjM0M4MUY0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI4ZDBjNTNiYjJjXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNNC4zNTUgNS40NzNIMTZ2MTguMTQ0SDQuMzU1em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiODAwN2Q2ZWUwYlwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjA3NCAyMy42MjFjLS45OCAwLTEuOTQxLS41NjYtMi4zOTQtMS41MTJMNC42MiA5LjMzNmEyLjYyOCAyLjYyOCAwIDAxMS4yNjItMy41MDhBMi42MzIgMi42MzIgMCAwMTkuMzk1IDcuMDlsNi4wNTggMTIuNzczYTIuNjM5IDIuNjM5IDAgMDEtMS4yNjUgMy41MTJjLS4zNi4xNjgtLjczNS4yNDYtMS4xMTQuMjQ2em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGltYWdlXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFsVWxFUVZRNGphMlR3UXFFTUF3RlIxM3QvN04vcXV6ZGk0R2F0Y2tMS0JSOGd0Tk0ya3pBRnppQXZWdVdmNGpQRERSZ3UxWnorVk1CUFFINlhLNm9jUWZZKzFJQlJYcE5CVVVBeTNPMUlxL1hmNU1xR3YzY2J4QldsUjIvejVLYW9qZGxhcXJlc0ZmcThhZDZ2dGtLOExHcVViT3oyNTVXcE9yOXdhSlpLdzF6MU94TWIvT2dWL1RzMmxjQmxsY1BXa1NkNFRDZjQ4d05EMnF2RWx3QUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgPjwvaW1hZ2U+XG4gICAgICA8bWFzayBpZD1cImM4ODJlYTM5YThcIj5cbiAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNiZGVmMTcwYzM5KVwiPlxuICAgICAgICAgIDxpbWFnZVxuICAgICAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJJQUFBQVVDQVlBQUFDQWwyMUtBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBbFVsRVFWUTRqYTJUd1FxRU1Bd0ZSMTN0LzdOL3F1emRpNEdhdGNrTEtCUjhndE5NMmt6QUZ6aUF2VnVXZjRqUEREUmd1MVp6K1ZNQlBRSDZYSzZvY1FmWSsxSUJSWHBOQlVVQXkzTzFJcS9YZjVNcUd2M2NieEJXbFIyL3o1S2FvamRsYXFyZXNGZnE4YWQ2dnRrSzhMR3FVYk96MjU1V3BPcjl3YUpaS3cxejFPeE1iL09nVi9UczJsY0JsbGNQV2tTZDRUQ2Y0OHdORDJxdkVsd0FBQUFBU1VWT1JLNUNZSUk9XCJcbiAgICAgICAgICA+PC9pbWFnZT5cbiAgICAgICAgPC9nPlxuICAgICAgPC9tYXNrPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiOTc5MWQ1YTA5ZFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTAgMEgxOFYyMEgwelwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8cGF0dGVyblxuICAgICAgICBpZD1cImU2ZTdlYzM5MWVcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgcGF0dGVyblRyYW5zZm9ybT1cIm1hdHJpeCguOTY3NzQgMCAwIC0uOTY3NzQgNC4zNTUgMjQuMTE2KVwiXG4gICAgICAgIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDIwXCJcbiAgICAgID5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzk3OTFkNWEwOWQpXCIgbWFzaz1cInVybCgjYzg4MmVhMzlhOClcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIiMzYzgyZjVcIlxuICAgICAgICAgICAgZD1cIk0tMjQuOTYgLTEyLjlIMTA4Ljk1OTk5OTk5OTk5OTk4VjMxLjc0MDAwMDAwMDAwMDAwMkgtMjQuOTZ6XCJcbiAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L3BhdHRlcm4+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJiNjA4MGE2NGE1XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTAgNS40NzNoMTEuNzczdjE4LjE0NEgxMHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjJlYzNlY2JkMTRcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNTUgMjMuNjIxYy0uMzc1IDAtLjc3NC0uMDc4LTEuMTMzLS4yNjYtMS4zMi0uNjItMS44ODctMi4yMDctMS4yNjItMy41MDdMMTYuNzIgNy4wNzRjLjYyLTEuMzI0IDIuMjA3LTEuODkgMy41MDgtMS4yNjUgMS4zMi42MiAxLjg4NiAyLjIwNyAxLjI2NSAzLjUwN0wxNS40MzQgMjIuMDljLS40MzQuOTgtMS4zOCAxLjUzMS0yLjM4IDEuNTMxem0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGltYWdlXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFka2xFUVZRNGpiM1MwUXJBSUFnRlVBZjcvOC9kQnJYYVM0RVRLNitPWFloRTZCVFNSa1NWNXNsdEpiRy9ldnNFa0FjaHFLS0FoSW9YNE5BVkFUaDBSSUN2b2F4QkVOQnJEcmtBRHAwUlFMN29OMmg1eVFveXoyMEVRWDlJZzJDZzF4SEkvTE9SdWQwSXBQVUt0WGlnUkVvc0VLK0hlUUQyQ1VOYXUrQUQwUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICA+PC9pbWFnZT5cbiAgICAgIDxtYXNrIGlkPVwiZDdkZGExYTA2M1wiPlxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2JkZWYxNzBjMzkpXCI+XG4gICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFka2xFUVZRNGpiM1MwUXJBSUFnRlVBZjcvOC9kQnJYYVM0RVRLNitPWFloRTZCVFNSa1NWNXNsdEpiRy9ldnNFa0FjaHFLS0FoSW9YNE5BVkFUaDBSSUN2b2F4QkVOQnJEcmtBRHAwUlFMN29OMmg1eVFveXoyMEVRWDlJZzJDZzF4SEkvTE9SdWQwSXBQVUt0WGlnUkVvc0VLK0hlUUQyQ1VOYXUrQUQwUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICAgICAgPjwvaW1hZ2U+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImM4N2MxOGI2YzhcIj5cbiAgICAgICAgPHBhdGggZD1cIk0wIDBIMThWMjBIMHpcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPHBhdHRlcm5cbiAgICAgICAgaWQ9XCJmOGM0MmQ5Nzc0XCJcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHBhdHRlcm5UcmFuc2Zvcm09XCJtYXRyaXgoLjk2Nzc0IDAgMCAtLjk2Nzc0IDQuMzU1IDI0LjExNilcIlxuICAgICAgICBwYXR0ZXJuVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxOCAyMFwiXG4gICAgICA+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjODdjMThiNmM4KVwiIG1hc2s9XCJ1cmwoI2Q3ZGRhMWEwNjMpXCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGw9XCIjM2M4MmY1XCJcbiAgICAgICAgICAgIGQ9XCJNLTI0Ljk2IC0xMi45SDEwOC45NTk5OTk5OTk5OTk5OFYzMS43NDAwMDAwMDAwMDAwMDJILTI0Ljk2elwiXG4gICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgPC9nPlxuICAgICAgPC9wYXR0ZXJuPlxuICAgIDwvZGVmcz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjYWU4NWY1YTQ3ZClcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCM5NDc5NDkzYTQyKVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoIzkwYTU0ZmViZWMpXCJcbiAgICAgICAgICBkPVwiTTQuMzU1IDUuNDczdjE3Ljk5NkgxNi4wNlY1LjQ3M3ptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzcxNjk5YzA5OTIpXCI+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjMzljNDk2NTM0NClcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwidXJsKCM1YzQ5M2U4NDU5KVwiXG4gICAgICAgICAgZD1cIk0xMC4wNDcgNS40NzN2MTcuOTk2aDExLjcyNlY1LjQ3M3ptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNNS43NjYuMTcyYy0xLjAyNCAwLTEuOTE0LS4yMTktMi42NzItLjY1NmE0Ljc4MyA0Ljc4MyAwIDAxLTEuNzk3LTEuODZjLS40My0uNzg5LS42NC0xLjcwNy0uNjQtMi43NSAwLTEuMDMxLjIxLTEuOTQxLjY0LTIuNzM0YTQuODM3IDQuODM3IDAgMDExLjc5Ny0xLjg2Yy43NTgtLjQ0NSAxLjY0OC0uNjcxIDIuNjcyLS42NzEgMSAwIDEuODgyLjIyNiAyLjY1Ni42NzEuNzcuNDUgMS4zNjcgMS4wNyAxLjc5NyAxLjg2LjQyNi43OTMuNjQgMS43MDMuNjQgMi43MzQgMCAxLjA0My0uMjE0IDEuOTYxLS42NCAyLjc1YTQuNjc3IDQuNjc3IDAgMDEtMS43OTcgMS44NmMtLjc3NC40MzctMS42NTYuNjU2LTIuNjU2LjY1NnptMC0xLjY3MmMuOTY4IDAgMS43MzgtLjMxNiAyLjMxMi0uOTUzLjU4Mi0uNjQ1Ljg3NS0xLjUyNC44NzUtMi42NCAwLTEuMTE0LS4yOTMtMS45ODktLjg3NS0yLjYyNi0uNTc0LS42NDQtMS4zNDQtLjk2OC0yLjMxMi0uOTY4LS45NyAwLTEuNzQ2LjMyNC0yLjMyOS45NjgtLjU4NS42MzctLjg3NCAxLjUxMi0uODc0IDIuNjI1IDAgMS4xMTcuMjg5IDEuOTk2Ljg3NCAyLjY0LjU4My42MzggMS4zNi45NTQgMi4zMjkuOTU0em0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDI0LjYzNiAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNMy42NTYuMTcyYy0uOTA2IDAtMS42MDUtLjI4MS0yLjA5NC0uODQ0QzEuMDctMS4yMzQuODI5LTIuMDU1LjgyOS0zLjE0di00LjA3OGgxLjg0NHYzLjkwN2MwIC42MTcuMTI1IDEuMDkuMzc1IDEuNDIxLjI1OC4zMzYuNjYuNSAxLjIwMy41LjUwOCAwIC45My0uMTggMS4yNjYtLjU0Ni4zMzItLjM3NS41LS44OTEuNS0xLjU0N1YtNy4yMkg3Ljg5VjBINi4yMzRsLS4xNC0xLjIxOWEyLjQ1IDIuNDUgMCAwMS0uOTY5IDEuMDE2Yy0uNDE4LjI1LS45MDYuMzc1LTEuNDY5LjM3NXptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzNS4xMTQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTS45NTMgMHYtNy4yMTlIMi42MWwuMTcyIDEuMzZhMi45MjkgMi45MjkgMCAwMTEuMDYzLTEuMTFjLjQ1Ny0uMjgxLjk4OC0uNDIyIDEuNTk0LS40MjJ2MS45N2gtLjUxNmEzIDMgMCAwMC0xLjA5NC4xODcgMS40MyAxLjQzIDAgMDAtLjc1LjY1NmMtLjE4LjMxMi0uMjY1Ljc0Ni0uMjY1IDEuMjk3VjB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDIuOTMyIDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjkzOCAwTC4yMTctMTAuMTg4aDJsMi44NzYgOC4yODIgMi44OS04LjI4MWgxLjk3TDYuMjE4IDB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDcuNjcgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTQuNDUzLjE3MmMtLjczIDAtMS4zNzUtLjE1Mi0xLjkzNy0uNDUzYTMuNDA0IDMuNDA0IDAgMDEtMS4zMjktMS4zMTNDLjg3NS0yLjE1Ni43Mi0yLjgwNC43Mi0zLjU0N2MwLS43NS4xNTYtMS40MTQuNDY5LTJhMy4zOTcgMy4zOTcgMCAwMTEuMjk2LTEuMzZjLjU2My0uMzIgMS4yMjMtLjQ4NCAxLjk4NS0uNDg0LjcwNyAwIDEuMzMyLjE1NyAxLjg3NS40Ny41MzkuMzEyLjk2Ljc0MSAxLjI2NSAxLjI4LjMxMy41MzIuNDcgMS4xMjUuNDcgMS43ODIgMCAuMTE3LS4wMDkuMjMtLjAxNy4zNDMgMCAuMTE4LS4wMDcuMjM1LS4wMTUuMzZIMi41NjJjLjA0LjU2Mi4yMzkgMS4wMDguNTk0IDEuMzI4LjM1Mi4zMTIuNzgxLjQ2OSAxLjI4MS40NjkuMzc1IDAgLjY5Mi0uMDgyLjk1NC0uMjUuMjU3LS4xNjQuNDUzLS4zODMuNTc4LS42NTdoMS44OUEzLjQ0NyAzLjQ0NyAwIDAxNi4wMTUtLjE0YTMuNzcgMy43NyAwIDAxLTEuNTYyLjMxM3ptLjAxNi02LjA0N2MtLjQ2MSAwLS44NjcuMTMzLTEuMjE5LjM5LS4zNDQuMjUtLjU2My42MzctLjY1NiAxLjE1N2gzLjU5NGMtLjAzMi0uNDY5LS4yMTEtLjg0NC0uNTMyLTEuMTI1LS4zMjQtLjI4MS0uNzE4LS40MjItMS4xODctLjQyMnptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1Ni44MTEgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTS45NTMgMHYtNy4yMTlIMi42MWwuMTcyIDEuMzZhMi45MjkgMi45MjkgMCAwMTEuMDYzLTEuMTFjLjQ1Ny0uMjgxLjk4OC0uNDIyIDEuNTk0LS40MjJ2MS45N2gtLjUxNmEzIDMgMCAwMC0xLjA5NC4xODcgMS40MyAxLjQzIDAgMDAtLjc1LjY1NmMtLjE4LjMxMi0uMjY1Ljc0Ni0uMjY1IDEuMjk3VjB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjQuNDg0IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjkyMi4xNzJjLS42MzcgMC0xLjItLjEwNi0xLjY4OC0uMzEzLS40OC0uMjA3LS44NjctLjQ5Mi0xLjE1Ni0uODU5YTIuNTggMi41OCAwIDAxLS41MzEtMS4yODFoMS44NzVjLjA2Mi4yODEuMjE5LjUyMy40NjkuNzE5LjI1Ny4xOTkuNTk3LjI5NiAxLjAxNS4yOTYuNDA2IDAgLjcwMy0uMDgyLjg5LS4yNS4xODgtLjE2NC4yODItLjM1MS4yODItLjU2MiAwLS4zMTMtLjEzNy0uNTItLjQwNi0uNjI1YTcuOTk0IDcuOTk0IDAgMDAtMS4xNC0uMzQ0IDExLjI4IDExLjI4IDAgMDEtLjk1NC0uMjM0IDUuMDQ0IDUuMDQ0IDAgMDEtLjg3NS0uMzc1IDIuMDgxIDIuMDgxIDAgMDEtLjY0LS41NzhjLS4xNjgtLjIzOS0uMjUtLjUzNi0uMjUtLjg5MSAwLS42MzMuMjUzLTEuMTcyLjc2NS0xLjYxLjUwOC0uNDM3IDEuMjIzLS42NTYgMi4xNC0uNjU2Ljg1MiAwIDEuNTM2LjIgMi4wNDguNTk0LjUwNy4zOTkuODEyLjk0NS45MDYgMS42NGgtMS43NWMtLjExNy0uNTMtLjUyNC0uNzk2LTEuMjE5LS43OTYtLjM0NCAwLS42MS4wNy0uNzk3LjIwMy0uMTg3LjEzNy0uMjgxLjMwOS0uMjgxLjUxNiAwIC4yMS4xNC4zODIuNDIyLjUxNS4yODEuMTI1LjY0OC4yNDIgMS4xMS4zNDQuNTA3LjExNy45NzIuMjQ2IDEuMzkuMzkuNDI2LjEzNy43NjYuMzQ0IDEuMDE2LjYyNi4yNS4yNzMuMzc1LjY2NC4zNzUgMS4xNzEuMDA3LjQ1LS4xMS44NTYtLjM2IDEuMjItLjI0Mi4zNTUtLjU5LjYzNi0xLjA0Ny44NDMtLjQ0OS4xOTUtLjk4NC4yOTctMS42MS4yOTd6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjkuMjIyIDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk00LjQ1My4xNzJjLS43MyAwLTEuMzc1LS4xNTItMS45MzctLjQ1M2EzLjQwNCAzLjQwNCAwIDAxLTEuMzI5LTEuMzEzQy44NzUtMi4xNTYuNzItMi44MDQuNzItMy41NDdjMC0uNzUuMTU2LTEuNDE0LjQ2OS0yYTMuMzk3IDMuMzk3IDAgMDExLjI5Ni0xLjM2Yy41NjMtLjMyIDEuMjIzLS40ODQgMS45ODUtLjQ4NC43MDcgMCAxLjMzMi4xNTcgMS44NzUuNDcuNTM5LjMxMi45Ni43NDEgMS4yNjUgMS4yOC4zMTMuNTMyLjQ3IDEuMTI1LjQ3IDEuNzgyIDAgLjExNy0uMDA5LjIzLS4wMTcuMzQzIDAgLjExOC0uMDA3LjIzNS0uMDE1LjM2SDIuNTYyYy4wNC41NjIuMjM5IDEuMDA4LjU5NCAxLjMyOC4zNTIuMzEyLjc4MS40NjkgMS4yODEuNDY5LjM3NSAwIC42OTItLjA4Mi45NTQtLjI1LjI1Ny0uMTY0LjQ1My0uMzgzLjU3OC0uNjU3aDEuODlBMy40NDcgMy40NDcgMCAwMTYuMDE1LS4xNGEzLjc3IDMuNzcgMCAwMS0xLjU2Mi4zMTN6bS4wMTYtNi4wNDdjLS40NjEgMC0uODY3LjEzMy0xLjIxOS4zOS0uMzQ0LjI1LS41NjMuNjM3LS42NTYgMS4xNTdoMy41OTRjLS4wMzItLjQ2OS0uMjExLS44NDQtLjUzMi0xLjEyNS0uMzI0LS4yODEtLjcxOC0uNDIyLTEuMTg3LS40MjJ6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzUuODM0IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjOGQwYzUzYmIyYylcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCM4MDA3ZDZlZTBiKVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoI2U2ZTdlYzM5MWUpXCJcbiAgICAgICAgICBkPVwiTTQuMzU1IDUuNDczaDExLjcydjE4LjE0NEg0LjM1NHptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2I2MDgwYTY0YTUpXCI+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjMmVjM2VjYmQxNClcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwidXJsKCNmOGM0MmQ5Nzc0KVwiXG4gICAgICAgICAgZD1cIk0xMC4wMzUgNS40NzNoMTEuNzM4djE4LjE0NEgxMC4wMzV6bTAgMFwiXG4gICAgICAgID48L3BhdGg+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxvZ28iLCJwcm9wcyIsInN2ZyIsInhtbG5zIiwieG1sbnNYbGluayIsIndpZHRoIiwiaGVpZ2h0IiwidmVyc2lvbiIsInZpZXdCb3giLCJkZWZzIiwiZmlsdGVyIiwiaWQiLCJ4IiwieSIsImZlQ29sb3JNYXRyaXgiLCJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwidmFsdWVzIiwiY2xpcFBhdGgiLCJwYXRoIiwiZCIsImxpbmVhckdyYWRpZW50IiwieDEiLCJ4MiIsInkxIiwieTIiLCJncmFkaWVudFRyYW5zZm9ybSIsImdyYWRpZW50VW5pdHMiLCJzdG9wIiwib2Zmc2V0Iiwic3RvcENvbG9yIiwiaW1hZ2UiLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieGxpbmtIcmVmIiwibWFzayIsImciLCJwYXR0ZXJuIiwicGF0dGVyblRyYW5zZm9ybSIsInBhdHRlcm5Vbml0cyIsImZpbGwiLCJ0cmFuc2Zvcm0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Logo.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Product.jsx": -/*!************************************!*\ - !*** ./src/components/Product.jsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Product: () => (/* binding */ Product)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(ssr)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(ssr)/./src/components/Container.jsx\");\n/* __next_internal_client_entry_do_not_use__ Product auto */ \n\n\n\n\n\nconst products = [\n {\n id: 1,\n name: \"Enhancing Education\",\n color: \"Transform traditional education with immersive distance learning opportunities\",\n href: \"#\",\n imageSrc: \"/images/education.jpg\",\n imageAlt: \"classroom\"\n },\n {\n id: 2,\n name: \"Environmental Awareness\",\n color: \"Advocate for environmental conservation through virtual eco-tours & initiatives.\",\n href: \"#\",\n imageSrc: \"/images/environment.jpg\",\n imageAlt: \"environment\"\n },\n {\n id: 3,\n name: \"Supporting Healthcare\",\n color: \"Innovate healthcare delivery by integrating virtual consultations & tools.\",\n href: \"#\",\n imageSrc: \"/images/healthcare.jpg\",\n imageAlt: \"clinic\"\n },\n {\n id: 4,\n name: \"Empowering Africa\",\n color: \"Foster cultural and economic growth across Africa through virtual solutions.\",\n href: \"#\",\n imageSrc: \"/images/africa.jpg\",\n imageAlt: \"africa\"\n }\n];\nfunction Product() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"schedule\",\n \"aria-label\": \"Schedule\",\n className: \"py-8 lg:py-24 mb-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative z-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0 lg:max-w-4xl lg:pr-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-base font-medium font-mono leading-7 text-blue-700\",\n children: \"Usecases\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 50,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"mt-2 font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Transforming Possibilities Across Industries Digitally\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Explore diverse scenarios where our platform empowers users to create, collaborate, and innovate in immersive virtual environments, unlocking new potentials across industries and communities.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 54,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 48,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:mt-14 mt-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__.BackgroundImage, {\n position: \"right\",\n className: \"-bottom-32 -top-40\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 grid grid-cols-1 gap-y-12 sm:grid-cols-2 sm:gap-x-6 lg:grid-cols-4 xl:gap-x-8\",\n children: products.map((product)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative h-full w-full overflow-hidden rounded-sm\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n alt: product.imageAlt,\n src: product.imageSrc,\n className: \"h-full w-full object-cover object-center\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 68,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 67,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"lg:text-base text-lg font-medium text-blue-700\",\n children: product.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 75,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 mb-2 lg:text-sm text-base text-blue-900\",\n children: product.color\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 76,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: product.href,\n className: \"lg:text-xs text-sm font-mono text-blue-700 hover:text-blue-900\",\n children: [\n \"Read Usecase \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n \"aria-hidden\": \"true\",\n children: \"→\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 78,\n columnNumber: 34\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 77,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 74,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 66,\n columnNumber: 15\n }, this)\n }, product.id, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 65,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 60,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 47,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Qcm9kdWN0LmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFFMkM7QUFDb0M7QUFDeEQ7QUFFdUM7QUFDWjtBQUVsRCxNQUFNVSxXQUFXO0lBQ2Y7UUFDRUMsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLE9BQU87UUFDUEMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7SUFDWjtJQUNBO1FBQ0VMLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO0lBQ1o7SUFDQTtRQUNFTCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFVBQVU7UUFDVkMsVUFBVTtJQUNaO0lBQ0E7UUFDRUwsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLE9BQU87UUFDUEMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7SUFDWjtDQUNEO0FBRU0sU0FBU0M7SUFDZCxxQkFDRSw4REFBQ0M7UUFBUVAsSUFBRztRQUFXUSxjQUFXO1FBQVdDLFdBQVU7OzBCQUNyRCw4REFBQ1gsNERBQVNBO2dCQUFDVyxXQUFVOzBCQUNuQiw0RUFBQ0M7b0JBQUlELFdBQVU7O3NDQUNiLDhEQUFDRTs0QkFBR0YsV0FBVTtzQ0FBMEQ7Ozs7OztzQ0FDeEUsOERBQUNFOzRCQUFHRixXQUFVO3NDQUFvRjs7Ozs7O3NDQUdsRyw4REFBQ0c7NEJBQUVILFdBQVU7c0NBQTBEOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFNM0UsOERBQUNDO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ1osd0VBQWVBO3dCQUFDZ0IsVUFBUzt3QkFBUUosV0FBVTs7Ozs7O2tDQUM1Qyw4REFBQ1gsNERBQVNBO3dCQUFDVyxXQUFVO2tDQUNyQiw0RUFBQ0M7NEJBQUlELFdBQVU7c0NBQ1pWLFNBQVNlLEdBQUcsQ0FBQyxDQUFDQyx3QkFDYiw4REFBQ0w7OENBQ0MsNEVBQUNBO3dDQUFJRCxXQUFVOzswREFDYiw4REFBQ0M7Z0RBQUlELFdBQVU7MERBQ2IsNEVBQUNPO29EQUNDQyxLQUFLRixRQUFRVixRQUFRO29EQUNyQmEsS0FBS0gsUUFBUVgsUUFBUTtvREFDckJLLFdBQVU7Ozs7Ozs7Ozs7OzBEQUdkLDhEQUFDQztnREFBSUQsV0FBVTs7a0VBQ2IsOERBQUNVO3dEQUFHVixXQUFVO2tFQUFrRE0sUUFBUWQsSUFBSTs7Ozs7O2tFQUM1RSw4REFBQ1c7d0RBQUVILFdBQVU7a0VBQWdETSxRQUFRYixLQUFLOzs7Ozs7a0VBQzFFLDhEQUFDa0I7d0RBQUVqQixNQUFNWSxRQUFRWixJQUFJO3dEQUFFTSxXQUFVOzs0REFBa0U7MEVBQ3BGLDhEQUFDWTtnRUFBS0MsZUFBWTswRUFBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21DQWJwQ1AsUUFBUWYsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0JoQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL1Byb2R1Y3QuanN4PzRhYzUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRhYiwgVGFiR3JvdXAsIFRhYkxpc3QsIFRhYlBhbmVsLCBUYWJQYW5lbHMgfSBmcm9tICdAaGVhZGxlc3N1aS9yZWFjdCdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5cbmltcG9ydCB7IEJhY2tncm91bmRJbWFnZSB9IGZyb20gJ0AvY29tcG9uZW50cy9CYWNrZ3JvdW5kSW1hZ2UnXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuXG5jb25zdCBwcm9kdWN0cyA9IFtcbiAge1xuICAgIGlkOiAxLFxuICAgIG5hbWU6ICdFbmhhbmNpbmcgRWR1Y2F0aW9uJyxcbiAgICBjb2xvcjogJ1RyYW5zZm9ybSB0cmFkaXRpb25hbCBlZHVjYXRpb24gd2l0aCBpbW1lcnNpdmUgZGlzdGFuY2UgbGVhcm5pbmcgb3Bwb3J0dW5pdGllcycsXG4gICAgaHJlZjogJyMnLFxuICAgIGltYWdlU3JjOiAnL2ltYWdlcy9lZHVjYXRpb24uanBnJyxcbiAgICBpbWFnZUFsdDogJ2NsYXNzcm9vbScsXG4gIH0sXG4gIHtcbiAgICBpZDogMixcbiAgICBuYW1lOiAnRW52aXJvbm1lbnRhbCBBd2FyZW5lc3MnLFxuICAgIGNvbG9yOiAnQWR2b2NhdGUgZm9yIGVudmlyb25tZW50YWwgY29uc2VydmF0aW9uIHRocm91Z2ggdmlydHVhbCBlY28tdG91cnMgJiBpbml0aWF0aXZlcy4nLFxuICAgIGhyZWY6ICcjJyxcbiAgICBpbWFnZVNyYzogJy9pbWFnZXMvZW52aXJvbm1lbnQuanBnJyxcbiAgICBpbWFnZUFsdDogJ2Vudmlyb25tZW50JyxcbiAgfSxcbiAge1xuICAgIGlkOiAzLFxuICAgIG5hbWU6ICdTdXBwb3J0aW5nIEhlYWx0aGNhcmUnLFxuICAgIGNvbG9yOiAnSW5ub3ZhdGUgaGVhbHRoY2FyZSBkZWxpdmVyeSBieSBpbnRlZ3JhdGluZyB2aXJ0dWFsIGNvbnN1bHRhdGlvbnMgJiB0b29scy4nLFxuICAgIGhyZWY6ICcjJyxcbiAgICBpbWFnZVNyYzogJy9pbWFnZXMvaGVhbHRoY2FyZS5qcGcnLFxuICAgIGltYWdlQWx0OiAnY2xpbmljJyxcbiAgfSxcbiAge1xuICAgIGlkOiA0LFxuICAgIG5hbWU6ICdFbXBvd2VyaW5nIEFmcmljYScsXG4gICAgY29sb3I6ICdGb3N0ZXIgY3VsdHVyYWwgYW5kIGVjb25vbWljIGdyb3d0aCBhY3Jvc3MgQWZyaWNhIHRocm91Z2ggdmlydHVhbCBzb2x1dGlvbnMuJyxcbiAgICBocmVmOiAnIycsXG4gICAgaW1hZ2VTcmM6ICcvaW1hZ2VzL2FmcmljYS5qcGcnLFxuICAgIGltYWdlQWx0OiAnYWZyaWNhJyxcbiAgfSxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2R1Y3QoKSB7XG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gaWQ9XCJzY2hlZHVsZVwiIGFyaWEtbGFiZWw9XCJTY2hlZHVsZVwiIGNsYXNzTmFtZT1cInB5LTggbGc6cHktMjQgbWItMTJcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTAgbGc6bWF4LXctNHhsIGxnOnByLTI0XCI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtYmFzZSBmb250LW1lZGl1bSBmb250LW1vbm8gbGVhZGluZy03IHRleHQtYmx1ZS03MDBcIj5Vc2VjYXNlczwvaDI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cIm10LTIgZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTYwMCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgIFRyYW5zZm9ybWluZyBQb3NzaWJpbGl0aWVzIEFjcm9zcyBJbmR1c3RyaWVzIERpZ2l0YWxseVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNCBmb250LWRpc3BsYXkgdGV4dC0yeGwgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgIEV4cGxvcmUgZGl2ZXJzZSBzY2VuYXJpb3Mgd2hlcmUgb3VyIHBsYXRmb3JtIGVtcG93ZXJzIHVzZXJzIHRvIGNyZWF0ZSwgY29sbGFib3JhdGUsIFxuICAgICAgICAgIGFuZCBpbm5vdmF0ZSBpbiBpbW1lcnNpdmUgdmlydHVhbCBlbnZpcm9ubWVudHMsIHVubG9ja2luZyBuZXcgcG90ZW50aWFscyBhY3Jvc3MgaW5kdXN0cmllcyBhbmQgY29tbXVuaXRpZXMuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBsZzptdC0xNCBtdC0xNlwiPlxuICAgICAgICA8QmFja2dyb3VuZEltYWdlIHBvc2l0aW9uPVwicmlnaHRcIiBjbGFzc05hbWU9XCItYm90dG9tLTMyIC10b3AtNDBcIiAvPlxuICAgICAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cInJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtNCBncmlkIGdyaWQtY29scy0xIGdhcC15LTEyIHNtOmdyaWQtY29scy0yIHNtOmdhcC14LTYgbGc6Z3JpZC1jb2xzLTQgeGw6Z2FwLXgtOFwiPlxuICAgICAgICAgIHtwcm9kdWN0cy5tYXAoKHByb2R1Y3QpID0+IChcbiAgICAgICAgICAgIDxkaXYga2V5PXtwcm9kdWN0LmlkfT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgaC1mdWxsIHctZnVsbCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1zbVwiPlxuICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICBhbHQ9e3Byb2R1Y3QuaW1hZ2VBbHR9XG4gICAgICAgICAgICAgICAgICAgIHNyYz17cHJvZHVjdC5pbWFnZVNyY31cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgb2JqZWN0LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgbXQtNFwiPlxuICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cImxnOnRleHQtYmFzZSB0ZXh0LWxnIGZvbnQtbWVkaXVtIHRleHQtYmx1ZS03MDBcIj57cHJvZHVjdC5uYW1lfTwvaDM+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIG1iLTIgbGc6dGV4dC1zbSB0ZXh0LWJhc2UgdGV4dC1ibHVlLTkwMFwiPntwcm9kdWN0LmNvbG9yfTwvcD5cbiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9e3Byb2R1Y3QuaHJlZn0gY2xhc3NOYW1lPVwibGc6dGV4dC14cyB0ZXh0LXNtIGZvbnQtbW9ubyB0ZXh0LWJsdWUtNzAwICBob3Zlcjp0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIFJlYWQgVXNlY2FzZSA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj7ihpI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiLCJjbHN4IiwiQmFja2dyb3VuZEltYWdlIiwiQ29udGFpbmVyIiwicHJvZHVjdHMiLCJpZCIsIm5hbWUiLCJjb2xvciIsImhyZWYiLCJpbWFnZVNyYyIsImltYWdlQWx0IiwiUHJvZHVjdCIsInNlY3Rpb24iLCJhcmlhLWxhYmVsIiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJwIiwicG9zaXRpb24iLCJtYXAiLCJwcm9kdWN0IiwiaW1nIiwiYWx0Iiwic3JjIiwiaDMiLCJhIiwic3BhbiIsImFyaWEtaGlkZGVuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Product.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: () => (/* binding */ Speakers)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(ssr)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(ssr)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(ssr)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(ssr)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(ssr)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(ssr)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(ssr)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(ssr)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(ssr)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(ssr)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(ssr)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(ssr)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(ssr)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(ssr)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(ssr)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(ssr)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(ssr)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(ssr)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(ssr)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(ssr)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(ssr)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(ssr)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(ssr)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(ssr)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(ssr)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(ssr)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(ssr)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(ssr)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(ssr)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, PO at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths({ id, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\nfunction Speakers() {\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange({ matches }) {\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: ({ selectedIndex })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWtEO0FBQ3BCO0FBQ2lEO0FBQ3hEO0FBRTJCO0FBQ0k7QUFDWTtBQUNNO0FBQ0o7QUFDUTtBQUNSO0FBQ0k7QUFDQTtBQUNOO0FBQ0U7QUFDRjtBQUNNO0FBQ0o7QUFDRjtBQUNIO0FBQ0s7QUFDRTtBQUNKO0FBQ0Y7QUFDa0I7QUFDWjtBQUNHO0FBQ0Y7QUFDSjtBQUNNO0FBQ047QUFFbkUsTUFBTXFDLE9BQU87SUFDWDtRQUNFQyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9iLG1GQUF3QkE7WUFDakM7WUFDQTtnQkFDRVEsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1osNEVBQW1CQTtZQUM1QjtZQUNBO2dCQUNFTyxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPViw2RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VLLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9YLDhFQUFvQkE7WUFDN0I7WUFDQTtnQkFDRU0sTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1QsMkVBQWlCQTtZQUMxQjtZQUNBO2dCQUNFSSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPUCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VFLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9SLDhFQUFvQkE7WUFDN0I7U0FDRDtJQUNIO0lBQ0E7UUFDRUcsTUFBTTtRQUNOQyxNQUFNO1FBQ05DLFVBQVU7UUFDVkMsVUFBVTtZQUNSO2dCQUNFSCxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPN0IsMEVBQWtCQTtZQUMzQjtZQUNBO2dCQUNFd0IsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT3ZCLDJFQUFrQkE7WUFDM0I7WUFDQTtnQkFDRWtCLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU85Qiw0RUFBb0JBO1lBQzdCO1lBQ0E7Z0JBQ0V5QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPakIsMkVBQWtCQTtZQUMzQjtZQUNBO2dCQUNFWSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPZCx5RUFBZ0JBO1lBQ3pCO1lBQ0E7Z0JBQ0VTLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU8xQiw2RUFBb0JBO1lBQzdCO1NBQ0Q7SUFDSDtJQUNBO1FBQ0VxQixNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU8vQix5RUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0UwQixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPeEIsMEVBQWlCQTtZQUMxQjtZQUNBO2dCQUNFbUIsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT25CLDBFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRWMsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT3pCLDZFQUFvQkE7WUFDN0I7WUFDQTtnQkFDRW9CLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9yQiw2RUFBb0JBO1lBQzdCO1lBQ0E7Z0JBQ0VnQixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPbEIsMkVBQWFBO1lBQ3RCO1NBQ0Q7SUFDSDtDQUNEO0FBRUQsU0FBU21CLGVBQWUsRUFBRUMsRUFBRSxFQUFFLEdBQUdDLE9BQU87SUFDdEMscUJBQ0UsOERBQUNDO1FBQUlDLGVBQVk7UUFBT0MsT0FBTztRQUFHQyxRQUFRO1FBQUksR0FBR0osS0FBSztrQkFDcEQsNEVBQUNLOzs4QkFDQyw4REFBQ0M7b0JBQVNQLElBQUksQ0FBQyxFQUFFQSxHQUFHLEVBQUUsQ0FBQztvQkFBRVEsZUFBYzs4QkFDckMsNEVBQUNDO3dCQUFLQyxHQUFFOzs7Ozs7Ozs7Ozs4QkFFViw4REFBQ0g7b0JBQVNQLElBQUksQ0FBQyxFQUFFQSxHQUFHLEVBQUUsQ0FBQztvQkFBRVEsZUFBYzs4QkFDckMsNEVBQUNDO3dCQUFLQyxHQUFFOzs7Ozs7Ozs7Ozs4QkFFViw4REFBQ0g7b0JBQVNQLElBQUksQ0FBQyxFQUFFQSxHQUFHLEVBQUUsQ0FBQztvQkFBRVEsZUFBYzs4QkFDckMsNEVBQUNDO3dCQUFLQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS2xCO0FBRU8sU0FBU0M7SUFDZCxJQUFJWCxLQUFLNUMsNENBQUtBO0lBQ2QsSUFBSSxDQUFDd0QsZ0JBQWdCQyxrQkFBa0IsR0FBR3hELCtDQUFRQSxDQUFDO0lBRW5ERixnREFBU0EsQ0FBQztRQUNSLElBQUkyRCxlQUFlQyxPQUFPQyxVQUFVLENBQUM7UUFFckMsU0FBU0MsbUJBQW1CLEVBQUVDLE9BQU8sRUFBRTtZQUNyQ0wsa0JBQWtCSyxVQUFVLGFBQWE7UUFDM0M7UUFFQUQsbUJBQW1CSDtRQUNuQkEsYUFBYUssZ0JBQWdCLENBQUMsVUFBVUY7UUFFeEMsT0FBTztZQUNMSCxhQUFhTSxtQkFBbUIsQ0FBQyxVQUFVSDtRQUM3QztJQUNGLEdBQUcsRUFBRTtJQUVMLHFCQUNFLDhEQUFDSTtRQUNDckIsSUFBRztRQUNIc0IsbUJBQWdCO1FBQ2hCQyxXQUFVOzswQkFFViw4REFBQ3hCO2dCQUFlQyxJQUFJQTs7Ozs7OzBCQUNwQiw4REFBQ25DLDREQUFTQTs7a0NBQ1IsOERBQUMyRDt3QkFBSUQsV0FBVTs7MENBQ2IsOERBQUNFO2dDQUNDekIsSUFBRztnQ0FDSHVCLFdBQVU7MENBQ1g7Ozs7OzswQ0FHRCw4REFBQ0c7Z0NBQUVILFdBQVU7MENBQTBEOzs7Ozs7Ozs7Ozs7a0NBSXpFLDhEQUFDL0Qsc0hBQVFBO3dCQUNQK0QsV0FBVTt3QkFDVkksVUFBVWYsbUJBQW1COzswQ0FFN0IsOERBQUNZO2dDQUFJRCxXQUFVOztrREFDYiw4REFBQ0M7d0NBQUlELFdBQVU7Ozs7OztrREFDZiw4REFBQzlELHFIQUFPQTt3Q0FBQzhELFdBQVU7a0RBQ2hCLENBQUMsRUFBRUssYUFBYSxFQUFFLGlCQUNqQjswREFDR3BDLEtBQUtxQyxHQUFHLENBQUMsQ0FBQ0MsS0FBS0MseUJBQ2QsOERBQUNQO3dEQUF1QkQsV0FBVTs7MEVBQ2hDLDhEQUFDekQsZ0VBQVdBO2dFQUNWeUQsV0FBVzNELGdEQUFJQSxDQUNiLHVGQUNBbUUsYUFBYUgsZ0JBQ1Qsa0NBQ0E7Ozs7OzswRUFHUiw4REFBQ0o7Z0VBQUlELFdBQVU7O2tGQUNiLDhEQUFDQzt3RUFDQ0QsV0FBVzNELGdEQUFJQSxDQUNiLHFCQUNBbUUsYUFBYUgsZ0JBQ1Qsa0JBQ0E7a0ZBR04sNEVBQUNyRSxpSEFBR0E7NEVBQUNnRSxXQUFVOzs4RkFDYiw4REFBQ1M7b0ZBQUtULFdBQVU7Ozs7OztnRkFDZk8sSUFBSXJDLElBQUk7Ozs7Ozs7Ozs7OztrRkFHYiw4REFBQ3dDO3dFQUNDdEMsVUFBVW1DLElBQUluQyxRQUFRO3dFQUN0QjRCLFdBQVU7a0ZBRVRPLElBQUlwQyxJQUFJOzs7Ozs7Ozs7Ozs7O3VEQTNCTG9DLElBQUluQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7OzswQ0FvQ2hDLDhEQUFDaEMsdUhBQVNBO2dDQUFDNEQsV0FBVTswQ0FDbEIvQixLQUFLcUMsR0FBRyxDQUFDLENBQUNDLG9CQUNULDhEQUFDcEUsc0hBQVFBO3dDQUVQNkQsV0FBVTt3Q0FDVlcsU0FBUztrREFFUkosSUFBSWxDLFFBQVEsQ0FBQ2lDLEdBQUcsQ0FBQyxDQUFDTSxTQUFTQyw2QkFDMUIsOERBQUNaOztrRUFDQyw4REFBQ0E7d0RBQUlELFdBQVU7OzBFQUNiLDhEQUFDQztnRUFDQ0QsV0FBVzNELGdEQUFJQSxDQUNiLHFIQUNBO29FQUNFO29FQUNBO29FQUNBO2lFQUNELENBQUN3RSxlQUFlLEVBQUU7Ozs7OzswRUFHdkIsOERBQUNaO2dFQUNDRCxXQUFVO2dFQUNWYyxPQUFPO29FQUFFOUIsVUFBVSxDQUFDLEtBQUssRUFBRVAsR0FBRyxDQUFDLEVBQUVvQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO2dFQUFDOzBFQUVyRCw0RUFBQzlFLGtEQUFLQTtvRUFDSmlFLFdBQVU7b0VBQ1ZlLEtBQUtILFFBQVFyQyxLQUFLO29FQUNsQnlDLEtBQUk7b0VBQ0pDLFFBQVE7b0VBQ1JDLE9BQU07Ozs7Ozs7Ozs7Ozs7Ozs7O2tFQUlaLDhEQUFDQzt3REFBR25CLFdBQVU7a0VBQ1hZLFFBQVExQyxJQUFJOzs7Ozs7a0VBRWYsOERBQUNpQzt3REFBRUgsV0FBVTtrRUFDVlksUUFBUXRDLElBQUk7Ozs7Ozs7K0NBN0JQdUM7Ozs7O3VDQUxQTixJQUFJbkMsUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZDakMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IG1hdHRoZXdzY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFBPIGF0IE91clZlcnNlJyxcbiAgICAgICAgaW1hZ2U6IHNhc2hhYXN0aWFkaUltYWdlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnVmljdG9yIE11aGFnYWNoaScsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IER1bmlhIFlldHUnLFxuICAgICAgICBpbWFnZTogdmljdG9ybXVoYWdhY2hpSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnU3BlYWtlcnMgJiBXb3Jrc2hvcHMnLFxuICAgIGRhdGU6ICdPY3QgMjUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0RhbWFyaXMgS2ltdXJhJyxcbiAgICAgICAgcm9sZTogJ1NlbmlvciBFbmdpbmVlciBhdCBPQ1AnLFxuICAgICAgICBpbWFnZTogZGFtYXJpc0tpbXVyYUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgcm9sZTogJ1Byb2dyYW1tZXIgYXQgVW1icmVsbGEgQ29ycCcsXG4gICAgICAgIGltYWdlOiBpYnJhaGltRnJhc2NoSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnQ2F0aGxlbmUgQnVycmFnZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgQnV5IG4gTGFyZ2UnLFxuICAgICAgICBpbWFnZTogY2F0aGxlbmVCdXJyYWdlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmluYWxkbyBCZXlub24nLFxuICAgICAgICByb2xlOiAnRGF0YSBTY2llbnRpc3QgYXQgUmVrYWxsJyxcbiAgICAgICAgaW1hZ2U6IHJpbmFsZG9CZXlub25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICByb2xlOiAnRGV2T3BzIGF0IFJEQSBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiB3YXlsb25IeWRlbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICByb2xlOiAnR2FtZSBEZXZlbG9wZXIgYXQgU295bGVudCBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGdpb3JkYW5vU2FndWNpb0ltYWdlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0ludGVydmlld3MnLFxuICAgIGRhdGU6ICdPY3QgMjYnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNicsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0FuZHJldyBHcmVlbmUnLFxuICAgICAgICByb2xlOiAnRnJvbnRlbmQgRGV2ZWxvcGVyIGF0IFVsdHJhdGVjaCcsXG4gICAgICAgIGltYWdlOiBhbmRyZXdHcmVlbmVJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdIZWF0aGVyIFRlcnJ5JyxcbiAgICAgICAgcm9sZTogJ0JhY2tlbmQgRGV2ZWxvcGVyIGF0IFhhbmF0b3MgRW50ZXJwcmlzZXMnLFxuICAgICAgICBpbWFnZTogaGVhdGhlclRlcnJ5SW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUGllcnMgV2lsa2lucycsXG4gICAgICAgIHJvbGU6ICdGdWxsIHN0YWNrIERldmVsb3BlciBhdCBCaWZmQ28nLFxuICAgICAgICBpbWFnZTogcGllcnNXaWxraW5zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR29yZG9uIFNhbmRlcnNvbicsXG4gICAgICAgIHJvbGU6ICdNb2JpbGUgRGV2ZWxvcGVyIGF0IENvYnJhIEluZHVzdHJpZXMnLFxuICAgICAgICBpbWFnZTogZ29yZG9uU2FuZGVyc29uSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnS2ltYmVybHkgUGFyc29ucycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBUeXJlbGwgQ29ycG9yYXRpb24nLFxuICAgICAgICBpbWFnZToga2ltYmVybHlQYXJzb25zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IFJvbGwgT3V0JyxcbiAgICAgICAgaW1hZ2U6IHJpY2hhcmRBc3RsZXksXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIEltYWdlQ2xpcFBhdGhzKHsgaWQsIC4uLnByb3BzIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHdpZHRoPXswfSBoZWlnaHQ9ezB9IHsuLi5wcm9wc30+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMGB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMCwwIGgwLjcyOSB2MC4xMjkgaDAuMTIxIGwtMC4wMTYsMC4wMzIgQzAuODE1LDAuMTk4LDAuODQzLDAuMjQzLDAuODg1LDAuMjQzIEgxIHYwLjc1NyBIMC4yNzEgdi0wLjA4NiBsLTAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLC0wLjAyNiwtMC4wNTcsLTAuMDU3LC0wLjA1NyBIMCBWMFwiIC8+XG4gICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgIDxjbGlwUGF0aCBpZD17YCR7aWR9LTFgfSBjbGlwUGF0aFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTEsMSBIMC4yNzEgdi0wLjEyOSBIMC4xNSBsMC4wMTYsLTAuMDMyIEMwLjE4NSwwLjgwMiwwLjE1NywwLjc1NywwLjExNSwwLjc1NyBIMCBWMCBoMC43MjkgdjAuMDg2IGwwLjEyMSwtMC4wNTcgdjAuMjE0IGMwLDAuMDMyLDAuMDI2LDAuMDU3LDAuMDU3LDAuMDU3IGgwLjA5MyB2MC43XCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMmB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwwIEgwLjI3MSB2MC4xMjkgSDAuMTUgbDAuMDE2LDAuMDMyIEMwLjE4NSwwLjE5OCwwLjE1NywwLjI0MywwLjExNSwwLjI0MyBIMCB2MC43NTcgaDAuNzI5IHYtMC4wODYgbDAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLDAuMDI2LC0wLjA1NywwLjA1NywtMC4wNTcgaDAuMDkzIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3BlYWtlcnMoKSB7XG4gIGxldCBpZCA9IHVzZUlkKClcbiAgbGV0IFt0YWJPcmllbnRhdGlvbiwgc2V0VGFiT3JpZW50YXRpb25dID0gdXNlU3RhdGUoJ2hvcml6b250YWwnKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGxnTWVkaWFRdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcobWluLXdpZHRoOiAxMDI0cHgpJylcblxuICAgIGZ1bmN0aW9uIG9uTWVkaWFRdWVyeUNoYW5nZSh7IG1hdGNoZXMgfSkge1xuICAgICAgc2V0VGFiT3JpZW50YXRpb24obWF0Y2hlcyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcpXG4gICAgfVxuXG4gICAgb25NZWRpYVF1ZXJ5Q2hhbmdlKGxnTWVkaWFRdWVyeSlcbiAgICBsZ01lZGlhUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGxnTWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uXG4gICAgICBpZD1cInNwZWFrZXJzXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgIGNsYXNzTmFtZT1cInB5LTIwIGxnOnB5LTEyXCJcbiAgICA+XG4gICAgICA8SW1hZ2VDbGlwUGF0aHMgaWQ9e2lkfSAvPlxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBsZzpteC0wXCI+XG4gICAgICAgICAgPGgyXG4gICAgICAgICAgICBpZD1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgc206dGV4dC01eGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNwZWFrZXJzXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgR2V0IHJlYWR5IHRvIGJlIGluc3BpcmVkIGJ5IHNvbWUgb2YgdGhlIGluZHVzdHJ5IGxlYWRlcnMgYW5kIGlubm92YXRvcnMgd2hvIGFyZSBzaGFwaW5nIHRoZSBmdXR1cmUgb2YgdGhlIG1ldGF2ZXJzZSwgV2ViMywgQUksIGFuZCBtb3JlLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxUYWJHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTE0IGdyaWQgZ3JpZC1jb2xzLTEgaXRlbXMtc3RhcnQgZ2FwLXgtOCBnYXAteS04IHNtOm10LTE2IHNtOmdhcC15LTE2IGxnOm10LTI0IGxnOmdyaWQtY29scy00XCJcbiAgICAgICAgICB2ZXJ0aWNhbD17dGFiT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCd9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIC1teC00IGZsZXggb3ZlcmZsb3cteC1hdXRvIHBiLTQgc206bXgtMCBzbTpibG9jayBzbTpvdmVyZmxvdy12aXNpYmxlIHNtOnBiLTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wLjUgdG9wLTIgaGlkZGVuIHctcHggYmctc2xhdGUtMjAwIGxnOmJsb2NrXCIgLz5cbiAgICAgICAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cImdyaWQgYXV0by1jb2xzLWF1dG8gZ3JpZC1mbG93LWNvbCBqdXN0aWZ5LXN0YXJ0IGdhcC14LTggZ2FwLXktMTAgd2hpdGVzcGFjZS1ub3dyYXAgcHgtNCBzbTpteC1hdXRvIHNtOm1heC13LTJ4bCBzbTpncmlkLWNvbHMtMyBzbTpweC0wIHNtOnRleHQtY2VudGVyIGxnOmdyaWQtZmxvdy1yb3cgbGc6Z3JpZC1jb2xzLTEgbGc6dGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIHsoeyBzZWxlY3RlZEluZGV4IH0pID0+IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAge2RheXMubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtkYXkuZGF0ZVRpbWV9IGNsYXNzTmFtZT1cInJlbGF0aXZlIGxnOnBsLThcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8RGlhbW9uZEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGxlZnQtWy0wLjVweF0gdG9wLVswLjU2MjVyZW1dIGhpZGRlbiBoLTEuNSB3LTEuNSBvdmVyZmxvdy12aXNpYmxlIGxnOmJsb2NrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdmaWxsLWJsdWUtNTAwIHN0cm9rZS1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdmaWxsLXRyYW5zcGFyZW50IHN0cm9rZS1zbGF0ZS00MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LW1vbm8gdGV4dC1zbScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3RleHQtYmx1ZS01MDAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0ZXh0LXNsYXRlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVRpbWU9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtMS41IGJsb2NrIHRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGltZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVGFiTGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8VGFiUGFuZWxzIGNsYXNzTmFtZT1cImxnOmNvbC1zcGFuLTNcIj5cbiAgICAgICAgICAgIHtkYXlzLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAgICAgIGtleT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLXgtOCBnYXAteS0xMCB1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgc206Z3JpZC1jb2xzLTIgc206Z2FwLXktMTYgbWQ6Z3JpZC1jb2xzLTNcIlxuICAgICAgICAgICAgICAgIHVubW91bnQ9e2ZhbHNlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2RheS5zcGVha2Vycy5tYXAoKHNwZWFrZXIsIHNwZWFrZXJJbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e3NwZWFrZXJJbmRleH0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgaC1bMTcuNXJlbV0gdHJhbnNmb3JtIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLTR4bFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGJvdHRvbS02IGxlZnQtMCByaWdodC00IHRvcC0wIHJvdW5kZWQtNHhsIGJvcmRlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS05NSB4bDpyaWdodC02JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItYmx1ZS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItaW5kaWdvLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1za3ktMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVtzcGVha2VySW5kZXggJSAzXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWluZGlnby01MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjbGlwUGF0aDogYHVybCgjJHtpZH0tJHtzcGVha2VySW5kZXggJSAzfSlgIH19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtzcGVha2VyLmltYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz1cIihtaW4td2lkdGg6IDEyODBweCkgMTcuNXJlbSwgKG1pbi13aWR0aDogMTAyNHB4KSAyNXZ3LCAobWluLXdpZHRoOiA3NjhweCkgMzN2dywgKG1pbi13aWR0aDogNjQwcHgpIDUwdncsIDEwMHZ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwibXQtOCBmb250LWRpc3BsYXkgdGV4dC14bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1zbGF0ZS05MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7c3BlYWtlci5uYW1lfVxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLnJvbGV9XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1RhYlBhbmVsPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9UYWJQYW5lbHM+XG4gICAgICAgIDwvVGFiR3JvdXA+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZVN0YXRlIiwiSW1hZ2UiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsImNsc3giLCJDb250YWluZXIiLCJEaWFtb25kSWNvbiIsImFuZHJld0dyZWVuZUltYWdlIiwiY2F0aGxlbmVCdXJyYWdlSW1hZ2UiLCJkYW1hcmlzS2ltdXJhSW1hZ2UiLCJkaWFubmVHdWlsaWFuZWxsaUltYWdlIiwiZXJoYXJ0Q29ja3JpbkltYWdlIiwiZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UiLCJnb3Jkb25TYW5kZXJzb25JbWFnZSIsImhlYXRoZXJUZXJyeUltYWdlIiwiaWJyYWhpbUZyYXNjaEltYWdlIiwiamFxdWVsaW5Jc2NoSW1hZ2UiLCJraW1iZXJseVBhcnNvbnNJbWFnZSIsInBhcmtlckpvaG5zb25JbWFnZSIsInBpZXJzV2lsa2luc0ltYWdlIiwicmljaGFyZEFzdGxleSIsInJpbmFsZG9CZXlub25JbWFnZSIsInJvbm5pQ2FudGFkb3JlSW1hZ2UiLCJzdGV2ZW5NY2hhaWxJbWFnZSIsIndheWxvbkh5ZGVuSW1hZ2UiLCJrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UiLCJhZG5hbmZhdGF5ZXJqaUltYWdlIiwiZmxvcmlhbmZvdXJuaWVySW1hZ2UiLCJtYXR0aGV3c2NodXR0ZUltYWdlIiwib21yZWlhYnVtYWRpSW1hZ2UiLCJ2aWN0b3JtdWhhZ2FjaGlJbWFnZSIsInNhc2hhYXN0aWFkaUltYWdlIiwiZGF5cyIsIm5hbWUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzcGVha2VycyIsInJvbGUiLCJpbWFnZSIsIkltYWdlQ2xpcFBhdGhzIiwiaWQiLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwid2lkdGgiLCJoZWlnaHQiLCJkZWZzIiwiY2xpcFBhdGgiLCJjbGlwUGF0aFVuaXRzIiwicGF0aCIsImQiLCJTcGVha2VycyIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJsZ01lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VjdGlvbiIsImFyaWEtbGFiZWxsZWRieSIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInZlcnRpY2FsIiwic2VsZWN0ZWRJbmRleCIsIm1hcCIsImRheSIsImRheUluZGV4Iiwic3BhbiIsInRpbWUiLCJ1bm1vdW50Iiwic3BlYWtlciIsInNwZWFrZXJJbmRleCIsInN0eWxlIiwic3JjIiwiYWx0IiwicHJpb3JpdHkiLCJzaXplcyIsImgzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Speakers.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"ee6e64964dfa\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsY0FBYztBQUM3QixJQUFJLEtBQVUsRUFBRSxFQUF1QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzPzlhZTgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJlZTZlNjQ5NjRkZmFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/styles/tailwind.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/(main)/layout.jsx": -/*!***********************************!*\ - !*** ./src/app/(main)/layout.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MainLayout)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/Layout */ \"(rsc)/./src/components/Layout.jsx\");\n\n\nfunction MainLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Layout__WEBPACK_IMPORTED_MODULE_1__.Layout, {\n children: children\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/layout.jsx\",\n lineNumber: 4,\n columnNumber: 10\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwLyhtYWluKS9sYXlvdXQuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQTRDO0FBRTdCLFNBQVNDLFdBQVcsRUFBRUMsUUFBUSxFQUFFO0lBQzdDLHFCQUFPLDhEQUFDRixzREFBTUE7a0JBQUVFOzs7Ozs7QUFDbEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvYXBwLyhtYWluKS9sYXlvdXQuanN4P2U2OTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGF5b3V0IH0gZnJvbSAnQC9jb21wb25lbnRzL0xheW91dCdcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFpbkxheW91dCh7IGNoaWxkcmVuIH0pIHtcbiAgcmV0dXJuIDxMYXlvdXQ+e2NoaWxkcmVufTwvTGF5b3V0PlxufVxuIl0sIm5hbWVzIjpbIkxheW91dCIsIk1haW5MYXlvdXQiLCJjaGlsZHJlbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/(main)/layout.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/(main)/page.jsx": -/*!*********************************!*\ - !*** ./src/app/(main)/page.jsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Home)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Homepage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/Homepage */ \"(rsc)/./src/components/Homepage.jsx\");\n/* harmony import */ var _components_Hero__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Hero */ \"(rsc)/./src/components/Hero.jsx\");\n/* harmony import */ var _components_Communicate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Communicate */ \"(rsc)/./src/components/Communicate.jsx\");\n/* harmony import */ var _components_Collaborate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Collaborate */ \"(rsc)/./src/components/Collaborate.jsx\");\n/* harmony import */ var _components_Build__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/Build */ \"(rsc)/./src/components/Build.jsx\");\n/* harmony import */ var _components_Newsletter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/Newsletter */ \"(rsc)/./src/components/Newsletter.jsx\");\n/* harmony import */ var _components_Product__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/Product */ \"(rsc)/./src/components/Product.jsx\");\n/* harmony import */ var _components_Speakers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/Speakers */ \"(rsc)/./src/components/Speakers.jsx\");\n/* harmony import */ var _components_Sponsors__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/Sponsors */ \"(rsc)/./src/components/Sponsors.jsx\");\n\n\n\n\n\n\n\n\n\n\nfunction Home() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Homepage__WEBPACK_IMPORTED_MODULE_1__.Homepage, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Sponsors__WEBPACK_IMPORTED_MODULE_9__.Sponsors, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\",\n lineNumber: 15,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Hero__WEBPACK_IMPORTED_MODULE_2__.Hero, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\",\n lineNumber: 16,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Communicate__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Collaborate__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Build__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\",\n lineNumber: 19,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Product__WEBPACK_IMPORTED_MODULE_7__.Product, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\",\n lineNumber: 20,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Newsletter__WEBPACK_IMPORTED_MODULE_6__.Newsletter, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwLyhtYWluKS9wYWdlLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQWdEO0FBQ1I7QUFDWTtBQUNGO0FBQ1o7QUFDYztBQUNOO0FBQ0U7QUFDQTtBQUVqQyxTQUFTUztJQUN0QixxQkFDRTs7MEJBQ0UsOERBQUNULDBEQUFRQTs7Ozs7MEJBQ1QsOERBQUNRLDBEQUFRQTs7Ozs7MEJBQ1QsOERBQUNQLGtEQUFJQTs7Ozs7MEJBQ0wsOERBQUNDLCtEQUFXQTs7Ozs7MEJBQ1osOERBQUNDLCtEQUFXQTs7Ozs7MEJBQ1osOERBQUNDLHlEQUFLQTs7Ozs7MEJBQ04sOERBQUNFLHdEQUFPQTs7Ozs7MEJBQ1IsOERBQUNELDhEQUFVQTs7Ozs7OztBQUdqQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9hcHAvKG1haW4pL3BhZ2UuanN4PzE0MTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9tZXBhZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvSG9tZXBhZ2UnXG5pbXBvcnQgeyBIZXJvIH0gZnJvbSAnQC9jb21wb25lbnRzL0hlcm8nXG5pbXBvcnQgIENvbW11bmljYXRlICBmcm9tICdAL2NvbXBvbmVudHMvQ29tbXVuaWNhdGUnXG5pbXBvcnQgQ29sbGFib3JhdGUgZnJvbSAnQC9jb21wb25lbnRzL0NvbGxhYm9yYXRlJ1xuaW1wb3J0IEJ1aWxkIGZyb20gJ0AvY29tcG9uZW50cy9CdWlsZCdcbmltcG9ydCB7IE5ld3NsZXR0ZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvTmV3c2xldHRlcidcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICdAL2NvbXBvbmVudHMvUHJvZHVjdCdcbmltcG9ydCB7IFNwZWFrZXJzIH0gZnJvbSAnQC9jb21wb25lbnRzL1NwZWFrZXJzJ1xuaW1wb3J0IHsgU3BvbnNvcnMgfSBmcm9tICdAL2NvbXBvbmVudHMvU3BvbnNvcnMnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEhvbWUoKSB7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxIb21lcGFnZSAvPlxuICAgICAgPFNwb25zb3JzIC8+XG4gICAgICA8SGVybyAvPlxuICAgICAgPENvbW11bmljYXRlIC8+XG4gICAgICA8Q29sbGFib3JhdGUgLz5cbiAgICAgIDxCdWlsZCAvPlxuICAgICAgPFByb2R1Y3QgLz5cbiAgICAgIDxOZXdzbGV0dGVyIC8+XG4gICAgPC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJIb21lcGFnZSIsIkhlcm8iLCJDb21tdW5pY2F0ZSIsIkNvbGxhYm9yYXRlIiwiQnVpbGQiLCJOZXdzbGV0dGVyIiwiUHJvZHVjdCIsIlNwZWFrZXJzIiwiU3BvbnNvcnMiLCJIb21lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/(main)/page.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/layout.jsx": -/*!****************************!*\ - !*** ./src/app/layout.jsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_jsx_import_Inter_arguments_subsets_latin_display_swap_variable_font_inter_variableName_inter___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src/app/layout.jsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"],\\\"display\\\":\\\"swap\\\",\\\"variable\\\":\\\"--font-inter\\\"}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_jsx_import_Inter_arguments_subsets_latin_display_swap_variable_font_inter_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_jsx_import_Inter_arguments_subsets_latin_display_swap_variable_font_inter_variableName_inter___WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_jsx_import_DM_Sans_arguments_subsets_latin_weight_400_500_700_display_swap_variable_font_dm_sans_variableName_dmSans___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src/app/layout.jsx\\\",\\\"import\\\":\\\"DM_Sans\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"],\\\"weight\\\":[\\\"400\\\",\\\"500\\\",\\\"700\\\"],\\\"display\\\":\\\"swap\\\",\\\"variable\\\":\\\"--font-dm-sans\\\"}],\\\"variableName\\\":\\\"dmSans\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_jsx_import_DM_Sans_arguments_subsets_latin_weight_400_500_700_display_swap_variable_font_dm_sans_variableName_dmSans___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_jsx_import_DM_Sans_arguments_subsets_latin_weight_400_500_700_display_swap_variable_font_dm_sans_variableName_dmSans___WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(rsc)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _styles_tailwind_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/styles/tailwind.css */ \"(rsc)/./src/styles/tailwind.css\");\n\n\n\n\n\nconst metadata = {\n title: {\n template: \"%s - OurVerse\",\n default: \"OurVerse - A community-driven Metaverse Platform\"\n },\n description: \"A New, Vibrant Virtual World.\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"h-full bg-white antialiased\", (next_font_google_target_css_path_src_app_layout_jsx_import_Inter_arguments_subsets_latin_display_swap_variable_font_inter_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default().variable), (next_font_google_target_css_path_src_app_layout_jsx_import_DM_Sans_arguments_subsets_latin_weight_400_500_700_display_swap_variable_font_dm_sans_variableName_dmSans___WEBPACK_IMPORTED_MODULE_4___default().variable)),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: \"flex min-h-full\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex w-full flex-col\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx\",\n lineNumber: 38,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx\",\n lineNumber: 30,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFLTUE7QUFNQUM7QUFWaUI7QUFFTztBQWV2QixNQUFNRSxXQUFXO0lBQ3RCQyxPQUFPO1FBQ0xDLFVBQVU7UUFDVkMsU0FBUztJQUNYO0lBQ0FDLGFBQ0U7QUFDSixFQUFDO0FBRWMsU0FBU0MsV0FBVyxFQUFFQyxRQUFRLEVBQUU7SUFDN0MscUJBQ0UsOERBQUNDO1FBQ0NDLE1BQUs7UUFDTEMsV0FBV1YsZ0RBQUlBLENBQ2IsK0JBQ0FGLCtMQUFjLEVBQ2RDLHVOQUFlO2tCQUdqQiw0RUFBQ2E7WUFBS0YsV0FBVTtzQkFDZCw0RUFBQ0c7Z0JBQUlILFdBQVU7MEJBQXdCSDs7Ozs7Ozs7Ozs7Ozs7OztBQUkvQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9hcHAvbGF5b3V0LmpzeD9jYmUxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERNX1NhbnMsIEludGVyIH0gZnJvbSAnbmV4dC9mb250L2dvb2dsZSdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5cbmltcG9ydCAnQC9zdHlsZXMvdGFpbHdpbmQuY3NzJ1xuXG5jb25zdCBpbnRlciA9IEludGVyKHtcbiAgc3Vic2V0czogWydsYXRpbiddLFxuICBkaXNwbGF5OiAnc3dhcCcsXG4gIHZhcmlhYmxlOiAnLS1mb250LWludGVyJyxcbn0pXG5cbmNvbnN0IGRtU2FucyA9IERNX1NhbnMoe1xuICBzdWJzZXRzOiBbJ2xhdGluJ10sXG4gIHdlaWdodDogWyc0MDAnLCAnNTAwJywgJzcwMCddLFxuICBkaXNwbGF5OiAnc3dhcCcsXG4gIHZhcmlhYmxlOiAnLS1mb250LWRtLXNhbnMnLFxufSlcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZToge1xuICAgIHRlbXBsYXRlOiAnJXMgLSBPdXJWZXJzZScsXG4gICAgZGVmYXVsdDogJ091clZlcnNlIC0gQSBjb21tdW5pdHktZHJpdmVuIE1ldGF2ZXJzZSBQbGF0Zm9ybScsXG4gIH0sXG4gIGRlc2NyaXB0aW9uOlxuICAgICdBIE5ldywgVmlicmFudCBWaXJ0dWFsIFdvcmxkLicsXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoeyBjaGlsZHJlbiB9KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWxcbiAgICAgIGxhbmc9XCJlblwiXG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICdoLWZ1bGwgYmctd2hpdGUgYW50aWFsaWFzZWQnLFxuICAgICAgICBpbnRlci52YXJpYWJsZSxcbiAgICAgICAgZG1TYW5zLnZhcmlhYmxlLFxuICAgICAgKX1cbiAgICA+XG4gICAgICA8Ym9keSBjbGFzc05hbWU9XCJmbGV4IG1pbi1oLWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IHctZnVsbCBmbGV4LWNvbFwiPntjaGlsZHJlbn08L2Rpdj5cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJpbnRlciIsImRtU2FucyIsImNsc3giLCJtZXRhZGF0YSIsInRpdGxlIiwidGVtcGxhdGUiLCJkZWZhdWx0IiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImNsYXNzTmFtZSIsInZhcmlhYmxlIiwiYm9keSIsImRpdiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/not-found.jsx": -/*!*******************************!*\ - !*** ./src/app/not-found.jsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ NotFound)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(rsc)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(rsc)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Layout */ \"(rsc)/./src/components/Layout.jsx\");\n\n\n\n\n\nfunction NotFound() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Layout__WEBPACK_IMPORTED_MODULE_4__.Layout, {\n showFooter: false,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex h-full items-center py-20 sm:py-36\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_1__.BackgroundImage, {\n className: \"-top-36 bottom-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 10,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"relative flex w-full flex-col items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-display text-2xl tracking-tight text-blue-900\",\n children: \"404\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 12,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"mt-4 font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Page not found\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 15,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-lg tracking-tight text-blue-900\",\n children: \"Sorry, we couldn’t find the page you’re looking for.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 18,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"/\",\n className: \"mt-8\",\n children: \"Go back home\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 21,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 11,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 9,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL25vdC1mb3VuZC5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBOEQ7QUFDbEI7QUFDTTtBQUNOO0FBRTdCLFNBQVNJO0lBQ3RCLHFCQUNFLDhEQUFDRCxzREFBTUE7UUFBQ0UsWUFBWTtrQkFDbEIsNEVBQUNDO1lBQUlDLFdBQVU7OzhCQUNiLDhEQUFDUCx3RUFBZUE7b0JBQUNPLFdBQVU7Ozs7Ozs4QkFDM0IsOERBQUNMLDREQUFTQTtvQkFBQ0ssV0FBVTs7c0NBQ25CLDhEQUFDQzs0QkFBRUQsV0FBVTtzQ0FBcUQ7Ozs7OztzQ0FHbEUsOERBQUNFOzRCQUFHRixXQUFVO3NDQUFvRjs7Ozs7O3NDQUdsRyw4REFBQ0M7NEJBQUVELFdBQVU7c0NBQTRDOzs7Ozs7c0NBR3pELDhEQUFDTixzREFBTUE7NEJBQUNTLE1BQUs7NEJBQUlILFdBQVU7c0NBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2FwcC9ub3QtZm91bmQuanN4P2EzNDciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFja2dyb3VuZEltYWdlIH0gZnJvbSAnQC9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZSdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9CdXR0b24nXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuaW1wb3J0IHsgTGF5b3V0IH0gZnJvbSAnQC9jb21wb25lbnRzL0xheW91dCdcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTm90Rm91bmQoKSB7XG4gIHJldHVybiAoXG4gICAgPExheW91dCBzaG93Rm9vdGVyPXtmYWxzZX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGZsZXggaC1mdWxsIGl0ZW1zLWNlbnRlciBweS0yMCBzbTpweS0zNlwiPlxuICAgICAgICA8QmFja2dyb3VuZEltYWdlIGNsYXNzTmFtZT1cIi10b3AtMzYgYm90dG9tLTBcIiAvPlxuICAgICAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cInJlbGF0aXZlIGZsZXggdy1mdWxsIGZsZXgtY29sIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICA0MDRcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGgxIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTYwMCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgICAgUGFnZSBub3QgZm91bmRcbiAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgdGV4dC1sZyB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICBTb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoZSBwYWdlIHlvdeKAmXJlIGxvb2tpbmcgZm9yLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwibXQtOFwiPlxuICAgICAgICAgICAgR28gYmFjayBob21lXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9MYXlvdXQ+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJCYWNrZ3JvdW5kSW1hZ2UiLCJCdXR0b24iLCJDb250YWluZXIiLCJMYXlvdXQiLCJOb3RGb3VuZCIsInNob3dGb290ZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJwIiwiaDEiLCJocmVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/not-found.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/BackgroundImage.jsx": -/*!********************************************!*\ - !*** ./src/components/BackgroundImage.jsx ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundImage: () => (/* binding */ BackgroundImage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(rsc)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(rsc)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/images/background.jpg */ \"(rsc)/./src/images/background.jpg\");\n\n\n\n\nfunction BackgroundImage({ className, position = \"left\" }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute inset-0 overflow-hidden bg-indigo-50\", className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute top-0\", position === \"left\" && \"left-0 translate-x-[-55%] translate-y-[-10%] -scale-x-100 sm:left-1/2 sm:translate-x-[-98%] sm:translate-y-[-6%] lg:translate-x-[-106%] xl:translate-x-[-122%]\", position === \"right\" && \"left-full -translate-x-1/2 sm:left-1/2 sm:translate-x-[-20%] sm:translate-y-[-15%] md:translate-x-0 lg:translate-x-[5%] lg:translate-y-[4%] xl:translate-x-[27%] xl:translate-y-[-8%]\"),\n src: _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n alt: \"\",\n width: 918,\n height: 1495,\n priority: true,\n unoptimized: true\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 top-0 h-20 bg-gradient-to-b from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 29,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9CYWNrZ3JvdW5kSW1hZ2UuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBOEI7QUFDUDtBQUU4QjtBQUU5QyxTQUFTRyxnQkFBZ0IsRUFBRUMsU0FBUyxFQUFFQyxXQUFXLE1BQU0sRUFBRTtJQUM5RCxxQkFDRSw4REFBQ0M7UUFDQ0YsV0FBV0gsZ0RBQUlBLENBQ2IsaURBQ0FHOzswQkFHRiw4REFBQ0osa0RBQUtBO2dCQUNKSSxXQUFXSCxnREFBSUEsQ0FDYixrQkFDQUksYUFBYSxVQUNYLGtLQUNGQSxhQUFhLFdBQ1g7Z0JBRUpFLEtBQUtMLDhEQUFlQTtnQkFDcEJNLEtBQUk7Z0JBQ0pDLE9BQU87Z0JBQ1BDLFFBQVE7Z0JBQ1JDLFFBQVE7Z0JBQ1JDLFdBQVc7Ozs7OzswQkFFYiw4REFBQ047Z0JBQUlGLFdBQVU7Ozs7OzswQkFDZiw4REFBQ0U7Z0JBQUlGLFdBQVU7Ozs7Ozs7Ozs7OztBQUdyQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZS5qc3g/YzM0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5cbmltcG9ydCBiYWNrZ3JvdW5kSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYmFja2dyb3VuZC5qcGcnXG5cbmV4cG9ydCBmdW5jdGlvbiBCYWNrZ3JvdW5kSW1hZ2UoeyBjbGFzc05hbWUsIHBvc2l0aW9uID0gJ2xlZnQnIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICdhYnNvbHV0ZSBpbnNldC0wIG92ZXJmbG93LWhpZGRlbiBiZy1pbmRpZ28tNTAnLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApfVxuICAgID5cbiAgICAgIDxJbWFnZVxuICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgJ2Fic29sdXRlIHRvcC0wJyxcbiAgICAgICAgICBwb3NpdGlvbiA9PT0gJ2xlZnQnICYmXG4gICAgICAgICAgICAnbGVmdC0wIHRyYW5zbGF0ZS14LVstNTUlXSB0cmFuc2xhdGUteS1bLTEwJV0gLXNjYWxlLXgtMTAwIHNtOmxlZnQtMS8yIHNtOnRyYW5zbGF0ZS14LVstOTglXSBzbTp0cmFuc2xhdGUteS1bLTYlXSBsZzp0cmFuc2xhdGUteC1bLTEwNiVdIHhsOnRyYW5zbGF0ZS14LVstMTIyJV0nLFxuICAgICAgICAgIHBvc2l0aW9uID09PSAncmlnaHQnICYmXG4gICAgICAgICAgICAnbGVmdC1mdWxsIC10cmFuc2xhdGUteC0xLzIgc206bGVmdC0xLzIgc206dHJhbnNsYXRlLXgtWy0yMCVdIHNtOnRyYW5zbGF0ZS15LVstMTUlXSBtZDp0cmFuc2xhdGUteC0wIGxnOnRyYW5zbGF0ZS14LVs1JV0gbGc6dHJhbnNsYXRlLXktWzQlXSB4bDp0cmFuc2xhdGUteC1bMjclXSB4bDp0cmFuc2xhdGUteS1bLTglXScsXG4gICAgICAgICl9XG4gICAgICAgIHNyYz17YmFja2dyb3VuZEltYWdlfVxuICAgICAgICBhbHQ9XCJcIlxuICAgICAgICB3aWR0aD17OTE4fVxuICAgICAgICBoZWlnaHQ9ezE0OTV9XG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIHVub3B0aW1pemVkXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgdG9wLTAgaC0yMCBiZy1ncmFkaWVudC10by1iIGZyb20td2hpdGVcIiAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgYm90dG9tLTAgaC0yMCBiZy1ncmFkaWVudC10by10IGZyb20td2hpdGVcIiAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiSW1hZ2UiLCJjbHN4IiwiYmFja2dyb3VuZEltYWdlIiwiQmFja2dyb3VuZEltYWdlIiwiY2xhc3NOYW1lIiwicG9zaXRpb24iLCJkaXYiLCJzcmMiLCJhbHQiLCJ3aWR0aCIsImhlaWdodCIsInByaW9yaXR5IiwidW5vcHRpbWl6ZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/components/BackgroundImage.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Build.jsx": -/*!**********************************!*\ - !*** ./src/components/Build.jsx ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Build)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowPathIcon,CloudArrowUpIcon,Cog6ToothIcon,CpuChipIcon,CubeIcon,DocumentMagnifyingGlassIcon,FilmIcon,FingerPrintIcon,GlobeAltIcon,LockClosedIcon,RocketLaunchIcon,ServerIcon,ShieldCheckIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/CubeIcon.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowPathIcon,CloudArrowUpIcon,Cog6ToothIcon,CpuChipIcon,CubeIcon,DocumentMagnifyingGlassIcon,FilmIcon,FingerPrintIcon,GlobeAltIcon,LockClosedIcon,RocketLaunchIcon,ServerIcon,ShieldCheckIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/DocumentMagnifyingGlassIcon.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowPathIcon,CloudArrowUpIcon,Cog6ToothIcon,CpuChipIcon,CubeIcon,DocumentMagnifyingGlassIcon,FilmIcon,FingerPrintIcon,GlobeAltIcon,LockClosedIcon,RocketLaunchIcon,ServerIcon,ShieldCheckIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/CpuChipIcon.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowPathIcon,CloudArrowUpIcon,Cog6ToothIcon,CpuChipIcon,CubeIcon,DocumentMagnifyingGlassIcon,FilmIcon,FingerPrintIcon,GlobeAltIcon,LockClosedIcon,RocketLaunchIcon,ServerIcon,ShieldCheckIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/ShieldCheckIcon.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowPathIcon,CloudArrowUpIcon,Cog6ToothIcon,CpuChipIcon,CubeIcon,DocumentMagnifyingGlassIcon,FilmIcon,FingerPrintIcon,GlobeAltIcon,LockClosedIcon,RocketLaunchIcon,ServerIcon,ShieldCheckIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/FilmIcon.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowPathIcon,CloudArrowUpIcon,Cog6ToothIcon,CpuChipIcon,CubeIcon,DocumentMagnifyingGlassIcon,FilmIcon,FingerPrintIcon,GlobeAltIcon,LockClosedIcon,RocketLaunchIcon,ServerIcon,ShieldCheckIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/GlobeAltIcon.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowPathIcon,CloudArrowUpIcon,Cog6ToothIcon,CpuChipIcon,CubeIcon,DocumentMagnifyingGlassIcon,FilmIcon,FingerPrintIcon,GlobeAltIcon,LockClosedIcon,RocketLaunchIcon,ServerIcon,ShieldCheckIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/RocketLaunchIcon.js\");\n\n\nconst features = [\n {\n name: \"3D Models Library\",\n description: \"Access a vast library of 3D models to enrich your virtual environment with diverse objects and elements.\",\n icon: _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n {\n name: \"3D Templates Library.\",\n description: \"Kickstart your creation process with ready-made 3D templates designed for various virtual experiences.\",\n icon: _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n {\n name: \"AI Metaverse Builder.\",\n description: \"Leverage AI-powered tools to effortlessly design and construct your unique metaverse.\",\n icon: _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n {\n name: \"Advanced security.\",\n description: \"Leverage AI-powered tools to effortlessly design and construct your unique metaverse.\",\n icon: _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n {\n name: \"Behaviors and Animations\",\n description: \"Add life to your creations with customizable behaviors and animations that enhance interactivity.\",\n icon: _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n {\n name: \"Virtual Portal.\",\n description: \"Seamlessly connect different parts of your virtual world with dynamic, interactive portals. \",\n icon: _barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n }\n];\nfunction Build() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white lg:py-20 py-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-7xl px-6 lg:px-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-4xl sm:text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-base font-medium font-mono leading-7 text-blue-500\",\n children: \"Get Started\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 55,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Build Your Own Verse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 56,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Create and customize your virtual world with powerful tools and resources that make building and managing your digital space easy and intuitive.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 57,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 54,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative overflow-hidden pt-16\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-6xl px-6 lg:px-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"video\", {\n autoPlay: true,\n loop: true,\n muted: true,\n playsInline: true,\n className: \"relative w-full h-full overflow-hidden rounded-lg shadow-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"source\", {\n src: \"/videos/ourverse3.mp4\",\n type: \"video/mp4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 72,\n columnNumber: 11\n }, this),\n \"Your browser does not support the video tag.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 65,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n \"aria-hidden\": \"true\",\n className: \"relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute -inset-x-20 bottom-0 bg-gradient-to-t from-white pt-[7%]\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 76,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 75,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 63,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto lg:mt-16 max-w-7xl px-6 mt-20 md:mt-24 lg:px-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dl\", {\n className: \"mx-auto grid max-w-2xl grid-cols-1 gap-x-6 gap-y-10 text-base leading-7 text-blue-900 sm:grid-cols-2 lg:mx-0 lg:max-w-none lg:grid-cols-3 lg:gap-x-8 lg:gap-y-10\",\n children: features.map((feature)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative pl-9\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dt\", {\n className: \"inline font-semibold text-blue-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(feature.icon, {\n \"aria-hidden\": \"true\",\n className: \"absolute left-1 top-1 h-5 w-5 text-blue-700\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 85,\n columnNumber: 19\n }, this),\n feature.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 84,\n columnNumber: 17\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dd\", {\n className: \"inline\",\n children: feature.description\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 88,\n columnNumber: 17\n }, this)\n ]\n }, feature.name, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 83,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 81,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-16 flex items-center justify-center gap-x-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n className: \"rounded-xl bg-blue-700 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-blue-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500\",\n children: [\n \"Build Your Own Verse Now \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowPathIcon_CloudArrowUpIcon_Cog6ToothIcon_CpuChipIcon_CubeIcon_DocumentMagnifyingGlassIcon_FilmIcon_FingerPrintIcon_GlobeAltIcon_LockClosedIcon_RocketLaunchIcon_ServerIcon_ShieldCheckIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"h-4 w-4 inline-block -mt-0.5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 97,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 93,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 92,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 80,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9CdWlsZC5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFjb0M7QUFFbEMsTUFBTWEsV0FBVztJQUNmO1FBQ0VDLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxNQUFNVixzUkFBUUE7SUFDaEI7SUFDQTtRQUNFUSxNQUFNO1FBQ05DLGFBQWE7UUFDYkMsTUFBTVQsc1JBQTJCQTtJQUNuQztJQUNBO1FBQ0VPLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxNQUFNUixzUkFBV0E7SUFDbkI7SUFDQTtRQUNFTSxNQUFNO1FBQ05DLGFBQWE7UUFDYkMsTUFBTVAsc1JBQWVBO0lBQ3ZCO0lBQ0E7UUFDRUssTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE1BQU1OLHNSQUFRQTtJQUNoQjtJQUNBO1FBQ0VJLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxNQUFNTCxzUkFBWUE7SUFDcEI7Q0FDRDtBQUVjLFNBQVNNO0lBQ3RCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVOzswQkFDYiw4REFBQ0Q7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOztzQ0FDYiw4REFBQ0M7NEJBQUdELFdBQVU7c0NBQTBEOzs7Ozs7c0NBQ3hFLDhEQUFDRTs0QkFBRUYsV0FBVTtzQ0FBb0Y7Ozs7OztzQ0FDakcsOERBQUNFOzRCQUFFRixXQUFVO3NDQUEwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBSzNFLDhEQUFDRDtnQkFBSUMsV0FBVTswQkFDYiw0RUFBQ0Q7b0JBQUlDLFdBQVU7O3NDQUViLDhEQUFDRzs0QkFDSEMsUUFBUTs0QkFDUkMsSUFBSTs0QkFDSkMsS0FBSzs0QkFDTEMsV0FBVzs0QkFDWFAsV0FBVTs7OENBRVYsOERBQUNRO29DQUFPQyxLQUFJO29DQUF3QkMsTUFBSzs7Ozs7O2dDQUFjOzs7Ozs7O3NDQUdyRCw4REFBQ1g7NEJBQUlZLGVBQVk7NEJBQU9YLFdBQVU7c0NBQ2hDLDRFQUFDRDtnQ0FBSUMsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFJckIsOERBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ1k7d0JBQUdaLFdBQVU7a0NBQ1hOLFNBQVNtQixHQUFHLENBQUMsQ0FBQ0Msd0JBQ2IsOERBQUNmO2dDQUF1QkMsV0FBVTs7a0RBQ2hDLDhEQUFDZTt3Q0FBR2YsV0FBVTs7MERBQ1osOERBQUNjLFFBQVFqQixJQUFJO2dEQUFDYyxlQUFZO2dEQUFPWCxXQUFVOzs7Ozs7NENBQzFDYyxRQUFRbkIsSUFBSTs7Ozs7OztvQ0FDVDtrREFDTiw4REFBQ3FCO3dDQUFHaEIsV0FBVTtrREFBVWMsUUFBUWxCLFdBQVc7Ozs7Ozs7K0JBTG5Da0IsUUFBUW5CLElBQUk7Ozs7Ozs7Ozs7a0NBUzFCLDhEQUFDSTt3QkFBSUMsV0FBVTtrQ0FDYiw0RUFBQ2lCOzRCQUNDQyxNQUFLOzRCQUNMbEIsV0FBVTs7Z0NBQ1g7OENBQzJCLDhEQUFDUCxzUkFBZ0JBO29DQUFDTyxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1sRSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0J1aWxkLmpzeD83OTU0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXJyb3dQYXRoSWNvbixcbiAgICBDbG91ZEFycm93VXBJY29uLFxuICAgIENvZzZUb290aEljb24sXG4gICAgRmluZ2VyUHJpbnRJY29uLFxuICAgIExvY2tDbG9zZWRJY29uLFxuICAgIFNlcnZlckljb24sXG4gICAgQ3ViZUljb24sXG4gICAgRG9jdW1lbnRNYWduaWZ5aW5nR2xhc3NJY29uLFxuICAgIENwdUNoaXBJY29uLFxuICAgIFNoaWVsZENoZWNrSWNvbixcbiAgICBGaWxtSWNvbixcbiAgICBHbG9iZUFsdEljb24sXG4gICAgUm9ja2V0TGF1bmNoSWNvbixcbiAgfSBmcm9tICdAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkJ1xuICBcbiAgY29uc3QgZmVhdHVyZXMgPSBbXG4gICAge1xuICAgICAgbmFtZTogJzNEIE1vZGVscyBMaWJyYXJ5JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQWNjZXNzIGEgdmFzdCBsaWJyYXJ5IG9mIDNEIG1vZGVscyB0byBlbnJpY2ggeW91ciB2aXJ0dWFsIGVudmlyb25tZW50IHdpdGggZGl2ZXJzZSBvYmplY3RzIGFuZCBlbGVtZW50cy4nLFxuICAgICAgaWNvbjogQ3ViZUljb24sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnM0QgVGVtcGxhdGVzIExpYnJhcnkuJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnS2lja3N0YXJ0IHlvdXIgY3JlYXRpb24gcHJvY2VzcyB3aXRoIHJlYWR5LW1hZGUgM0QgdGVtcGxhdGVzIGRlc2lnbmVkIGZvciB2YXJpb3VzIHZpcnR1YWwgZXhwZXJpZW5jZXMuJyxcbiAgICAgIGljb246IERvY3VtZW50TWFnbmlmeWluZ0dsYXNzSWNvbixcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdBSSBNZXRhdmVyc2UgQnVpbGRlci4nLFxuICAgICAgZGVzY3JpcHRpb246ICdMZXZlcmFnZSBBSS1wb3dlcmVkIHRvb2xzIHRvIGVmZm9ydGxlc3NseSBkZXNpZ24gYW5kIGNvbnN0cnVjdCB5b3VyIHVuaXF1ZSBtZXRhdmVyc2UuJyxcbiAgICAgIGljb246IENwdUNoaXBJY29uLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0FkdmFuY2VkIHNlY3VyaXR5LicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0xldmVyYWdlIEFJLXBvd2VyZWQgdG9vbHMgdG8gZWZmb3J0bGVzc2x5IGRlc2lnbiBhbmQgY29uc3RydWN0IHlvdXIgdW5pcXVlIG1ldGF2ZXJzZS4nLFxuICAgICAgaWNvbjogU2hpZWxkQ2hlY2tJY29uLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0JlaGF2aW9ycyBhbmQgQW5pbWF0aW9ucycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0FkZCBsaWZlIHRvIHlvdXIgY3JlYXRpb25zIHdpdGggY3VzdG9taXphYmxlIGJlaGF2aW9ycyBhbmQgYW5pbWF0aW9ucyB0aGF0IGVuaGFuY2UgaW50ZXJhY3Rpdml0eS4nLFxuICAgICAgaWNvbjogRmlsbUljb24sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnVmlydHVhbCBQb3J0YWwuJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2VhbWxlc3NseSBjb25uZWN0IGRpZmZlcmVudCBwYXJ0cyBvZiB5b3VyIHZpcnR1YWwgd29ybGQgd2l0aCBkeW5hbWljLCBpbnRlcmFjdGl2ZSBwb3J0YWxzLiAnLFxuICAgICAgaWNvbjogR2xvYmVBbHRJY29uLFxuICAgIH0sXG4gIF1cbiAgXG4gIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEJ1aWxkKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLXdoaXRlIGxnOnB5LTIwIHB5LTI0XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy03eGwgcHgtNiBsZzpweC04XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTR4bCBzbTp0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtYmFzZSBmb250LW1lZGl1bSBmb250LW1vbm8gbGVhZGluZy03IHRleHQtYmx1ZS01MDBcIj5HZXQgU3RhcnRlZDwvaDI+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0yIGZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgc206dGV4dC01eGxcIj5CdWlsZCBZb3VyIE93biBWZXJzZTwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTYgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgIENyZWF0ZSBhbmQgY3VzdG9taXplIHlvdXIgdmlydHVhbCB3b3JsZCB3aXRoIHBvd2VyZnVsIHRvb2xzIGFuZCByZXNvdXJjZXMgdGhhdCBtYWtlIGJ1aWxkaW5nIGFuZCBtYW5hZ2luZyB5b3VyIGRpZ2l0YWwgc3BhY2UgZWFzeSBhbmQgaW50dWl0aXZlLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gcHQtMTZcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctNnhsIHB4LTYgbGc6cHgtOFwiPlxuICAgICAgICAgICAgey8qIGVtYmVkIFZpZGVvICovfVxuICAgICAgICAgICAgPHZpZGVvXG4gICAgICAgICAgYXV0b1BsYXlcbiAgICAgICAgICBsb29wXG4gICAgICAgICAgbXV0ZWRcbiAgICAgICAgICBwbGF5c0lubGluZVxuICAgICAgICAgIGNsYXNzTmFtZT1cInJlbGF0aXZlIHctZnVsbCBoLWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbGcgc2hhZG93LWxnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8c291cmNlIHNyYz1cIi92aWRlb3Mvb3VydmVyc2UzLm1wNFwiIHR5cGU9XCJ2aWRlby9tcDRcIiAvPlxuICAgICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSB2aWRlbyB0YWcuXG4gICAgICAgICA8L3ZpZGVvPlxuICAgICAgICAgICAgPGRpdiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIC1pbnNldC14LTIwIGJvdHRvbS0wIGJnLWdyYWRpZW50LXRvLXQgZnJvbS13aGl0ZSBwdC1bNyVdXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGxnOm10LTE2IG1heC13LTd4bCBweC02IG10LTIwIG1kOm10LTI0IGxnOnB4LThcIj5cbiAgICAgICAgICA8ZGwgY2xhc3NOYW1lPVwibXgtYXV0byBncmlkIG1heC13LTJ4bCBncmlkLWNvbHMtMSBnYXAteC02IGdhcC15LTEwIHRleHQtYmFzZSBsZWFkaW5nLTcgdGV4dC1ibHVlLTkwMCBzbTpncmlkLWNvbHMtMiBsZzpteC0wIGxnOm1heC13LW5vbmUgbGc6Z3JpZC1jb2xzLTMgbGc6Z2FwLXgtOCBsZzpnYXAteS0xMFwiPlxuICAgICAgICAgICAge2ZlYXR1cmVzLm1hcCgoZmVhdHVyZSkgPT4gKFxuICAgICAgICAgICAgICA8ZGl2IGtleT17ZmVhdHVyZS5uYW1lfSBjbGFzc05hbWU9XCJyZWxhdGl2ZSBwbC05XCI+XG4gICAgICAgICAgICAgICAgPGR0IGNsYXNzTmFtZT1cImlubGluZSBmb250LXNlbWlib2xkIHRleHQtYmx1ZS03MDBcIj5cbiAgICAgICAgICAgICAgICAgIDxmZWF0dXJlLmljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0xIHRvcC0xIGgtNSB3LTUgdGV4dC1ibHVlLTcwMFwiIC8+XG4gICAgICAgICAgICAgICAgICB7ZmVhdHVyZS5uYW1lfVxuICAgICAgICAgICAgICAgIDwvZHQ+eycgJ31cbiAgICAgICAgICAgICAgICA8ZGQgY2xhc3NOYW1lPVwiaW5saW5lXCI+e2ZlYXR1cmUuZGVzY3JpcHRpb259PC9kZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2RsPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMTYgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLXgtNlwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLXhsIGJnLWJsdWUtNzAwIHB4LTMuNSBweS0yLjUgdGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUgc2hhZG93LXNtIGhvdmVyOmJnLWJsdWUtNTAwIGZvY3VzLXZpc2libGU6b3V0bGluZSBmb2N1cy12aXNpYmxlOm91dGxpbmUtMiBmb2N1cy12aXNpYmxlOm91dGxpbmUtb2Zmc2V0LTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLWJsdWUtNTAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQnVpbGQgWW91ciBPd24gVmVyc2UgTm93ICA8Um9ja2V0TGF1bmNoSWNvbiBjbGFzc05hbWU9XCJoLTQgdy00IGlubGluZS1ibG9jayAtbXQtMC41XCIgLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cbiAgIl0sIm5hbWVzIjpbIkFycm93UGF0aEljb24iLCJDbG91ZEFycm93VXBJY29uIiwiQ29nNlRvb3RoSWNvbiIsIkZpbmdlclByaW50SWNvbiIsIkxvY2tDbG9zZWRJY29uIiwiU2VydmVySWNvbiIsIkN1YmVJY29uIiwiRG9jdW1lbnRNYWduaWZ5aW5nR2xhc3NJY29uIiwiQ3B1Q2hpcEljb24iLCJTaGllbGRDaGVja0ljb24iLCJGaWxtSWNvbiIsIkdsb2JlQWx0SWNvbiIsIlJvY2tldExhdW5jaEljb24iLCJmZWF0dXJlcyIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImljb24iLCJCdWlsZCIsImRpdiIsImNsYXNzTmFtZSIsImgyIiwicCIsInZpZGVvIiwiYXV0b1BsYXkiLCJsb29wIiwibXV0ZWQiLCJwbGF5c0lubGluZSIsInNvdXJjZSIsInNyYyIsInR5cGUiLCJhcmlhLWhpZGRlbiIsImRsIiwibWFwIiwiZmVhdHVyZSIsImR0IiwiZGQiLCJhIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Build.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Button.jsx": -/*!***********************************!*\ - !*** ./src/components/Button.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(rsc)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(rsc)/./node_modules/clsx/dist/clsx.mjs\");\n\n\n\nfunction Button({ className, ...props }) {\n className = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"inline-flex justify-center rounded-2xl bg-blue-700 py-2 px-4 text-sm font-semibold text-white hover:bg-blue-500 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:text-white/70\", className);\n return typeof props.href === \"undefined\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9CdXR0b24uanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUE0QjtBQUNMO0FBRWhCLFNBQVNFLE9BQU8sRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU87SUFDNUNELFlBQVlGLGdEQUFJQSxDQUNkLGlQQUNBRTtJQUdGLE9BQU8sT0FBT0MsTUFBTUMsSUFBSSxLQUFLLDRCQUMzQiw4REFBQ0M7UUFBT0gsV0FBV0E7UUFBWSxHQUFHQyxLQUFLOzs7Ozs2QkFFdkMsOERBQUNKLGlEQUFJQTtRQUFDRyxXQUFXQTtRQUFZLEdBQUdDLEtBQUs7Ozs7OztBQUV6QyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3g/NGUxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9KSB7XG4gIGNsYXNzTmFtZSA9IGNsc3goXG4gICAgJ2lubGluZS1mbGV4IGp1c3RpZnktY2VudGVyIHJvdW5kZWQtMnhsIGJnLWJsdWUtNzAwIHB5LTIgcHgtNCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBob3ZlcjpiZy1ibHVlLTUwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1ibHVlLTUwMCBhY3RpdmU6dGV4dC13aGl0ZS83MCcsXG4gICAgY2xhc3NOYW1lLFxuICApXG5cbiAgcmV0dXJuIHR5cGVvZiBwcm9wcy5ocmVmID09PSAndW5kZWZpbmVkJyA/IChcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4ucHJvcHN9IC8+XG4gICkgOiAoXG4gICAgPExpbmsgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5wcm9wc30gLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJjbHN4IiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJocmVmIiwiYnV0dG9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Button.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Collaborate.jsx": -/*!****************************************!*\ - !*** ./src/components/Collaborate.jsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Collaborate)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _barrel_optimize_names_CloudArrowUpIcon_LockClosedIcon_ServerIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! __barrel_optimize__?names=CloudArrowUpIcon,LockClosedIcon,ServerIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/CloudArrowUpIcon.js\");\n/* harmony import */ var _barrel_optimize_names_CloudArrowUpIcon_LockClosedIcon_ServerIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=CloudArrowUpIcon,LockClosedIcon,ServerIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/LockClosedIcon.js\");\n/* harmony import */ var _barrel_optimize_names_CloudArrowUpIcon_LockClosedIcon_ServerIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=CloudArrowUpIcon,LockClosedIcon,ServerIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/ServerIcon.js\");\n\n\nconst features = [\n {\n name: \"Real-Time Collaboration.\",\n description: \"Work together seamlessly in real-time worldwide, bringing ideas to life instantly.\",\n icon: _barrel_optimize_names_CloudArrowUpIcon_LockClosedIcon_ServerIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n {\n name: \"Interactive 3D Whiteboards.\",\n description: \"Use advanced 3D whiteboards to brainstorm, visualize concepts, and plan projects interactively.\",\n icon: _barrel_optimize_names_CloudArrowUpIcon_LockClosedIcon_ServerIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n {\n name: \"3D Creation Tools.\",\n description: \"Design and build complex 3D models with intuitive tools that make creation as natural as drawing.\",\n icon: _barrel_optimize_names_CloudArrowUpIcon_LockClosedIcon_ServerIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n {\n name: \"Dynamic Interactions.\",\n description: \"Engage with your team in a virtual space that responds and adapts to your creative workflow.\",\n icon: _barrel_optimize_names_CloudArrowUpIcon_LockClosedIcon_ServerIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n }\n];\nfunction Collaborate() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-hidden bg-white lg:pt-16 lg:pb-16 py-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-7xl px-6 lg:px-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto grid max-w-2xl grid-cols-1 gap-x-8 gap-y-16 sm:gap-y-20 lg:mx-0 lg:max-w-none lg:grid-cols-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:ml-auto lg:pl-4 lg:pt-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:max-w-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-base font-medium font-mono leading-7 text-blue-500\",\n children: \"Features\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 34,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-3xl font-medium tracking-tight text-blue-700 sm:text-4xl\",\n children: \"Creative Collaboration\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 35,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 text-lg leading-8 text-blue-900\",\n children: \"Empower your team to create and innovate together in an immersive virtual environment.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 36,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dl\", {\n className: \"mt-10 max-w-xl space-y-8 text-base leading-7 text-blue-900 lg:max-w-none\",\n children: features.map((feature)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative pl-9\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dt\", {\n className: \"inline font-semibold text-blue-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(feature.icon, {\n \"aria-hidden\": \"true\",\n className: \"absolute left-1 top-1 h-5 w-5 text-blue-700\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 43,\n columnNumber: 23\n }, this),\n feature.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 42,\n columnNumber: 21\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dd\", {\n className: \"inline\",\n children: feature.description\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 46,\n columnNumber: 21\n }, this)\n ]\n }, feature.name, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 41,\n columnNumber: 19\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 39,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 33,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 32,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start justify-end lg:order-first\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n alt: \"Product screenshot\",\n src: \"/images/collaborate.jpg\",\n width: 2432,\n height: 1442,\n className: \"w-[48rem] max-w-none rounded-xl shadow-xl ring-1 ring-gray-400/10 sm:w-[57rem]\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 53,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 52,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 31,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9Db2xsYWJvcmF0ZS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUF3RjtBQUV4RixNQUFNRyxXQUFXO0lBQ2Y7UUFDRUMsTUFBTTtRQUNOQyxhQUNFO1FBQ0ZDLE1BQU1OLGtJQUFnQkE7SUFDeEI7SUFDQTtRQUNFSSxNQUFNO1FBQ05DLGFBQWE7UUFDYkMsTUFBTUwsa0lBQWNBO0lBQ3RCO0lBQ0E7UUFDRUcsTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE1BQU1KLGtJQUFVQTtJQUNsQjtJQUNBO1FBQ0VFLE1BQU07UUFDTkMsYUFBYTtRQUNiQyxNQUFNSixrSUFBVUE7SUFDbEI7Q0FDRDtBQUVjLFNBQVNLO0lBQ3RCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUNiLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDRDs0QkFBSUMsV0FBVTs7OENBQ2IsOERBQUNDO29DQUFHRCxXQUFVOzhDQUEwRDs7Ozs7OzhDQUN4RSw4REFBQ0U7b0NBQUVGLFdBQVU7OENBQXFFOzs7Ozs7OENBQ2xGLDhEQUFDRTtvQ0FBRUYsV0FBVTs4Q0FBdUM7Ozs7Ozs4Q0FHcEQsOERBQUNHO29DQUFHSCxXQUFVOzhDQUNYTixTQUFTVSxHQUFHLENBQUMsQ0FBQ0Msd0JBQ2IsOERBQUNOOzRDQUF1QkMsV0FBVTs7OERBQ2hDLDhEQUFDTTtvREFBR04sV0FBVTs7c0VBQ1osOERBQUNLLFFBQVFSLElBQUk7NERBQUNVLGVBQVk7NERBQU9QLFdBQVU7Ozs7Ozt3REFDMUNLLFFBQVFWLElBQUk7Ozs7Ozs7Z0RBQ1Q7OERBQ04sOERBQUNhO29EQUFHUixXQUFVOzhEQUFVSyxRQUFRVCxXQUFXOzs7Ozs7OzJDQUxuQ1MsUUFBUVYsSUFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQVc5Qiw4REFBQ0k7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNTOzRCQUNDQyxLQUFJOzRCQUNKQyxLQUFJOzRCQUNKQyxPQUFPOzRCQUNQQyxRQUFROzRCQUNSYixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9Db2xsYWJvcmF0ZS5qc3g/OGM0NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZEFycm93VXBJY29uLCBMb2NrQ2xvc2VkSWNvbiwgU2VydmVySWNvbiB9IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQnXG5cbmNvbnN0IGZlYXR1cmVzID0gW1xuICB7XG4gICAgbmFtZTogJ1JlYWwtVGltZSBDb2xsYWJvcmF0aW9uLicsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnV29yayB0b2dldGhlciBzZWFtbGVzc2x5IGluIHJlYWwtdGltZSB3b3JsZHdpZGUsIGJyaW5naW5nIGlkZWFzIHRvIGxpZmUgaW5zdGFudGx5LicsXG4gICAgaWNvbjogQ2xvdWRBcnJvd1VwSWNvbixcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdJbnRlcmFjdGl2ZSAzRCBXaGl0ZWJvYXJkcy4nLFxuICAgIGRlc2NyaXB0aW9uOiAnVXNlIGFkdmFuY2VkIDNEIHdoaXRlYm9hcmRzIHRvIGJyYWluc3Rvcm0sIHZpc3VhbGl6ZSBjb25jZXB0cywgYW5kIHBsYW4gcHJvamVjdHMgaW50ZXJhY3RpdmVseS4nLFxuICAgIGljb246IExvY2tDbG9zZWRJY29uLFxuICB9LFxuICB7XG4gICAgbmFtZTogJzNEIENyZWF0aW9uIFRvb2xzLicsXG4gICAgZGVzY3JpcHRpb246ICdEZXNpZ24gYW5kIGJ1aWxkIGNvbXBsZXggM0QgbW9kZWxzIHdpdGggaW50dWl0aXZlIHRvb2xzIHRoYXQgbWFrZSBjcmVhdGlvbiBhcyBuYXR1cmFsIGFzIGRyYXdpbmcuJyxcbiAgICBpY29uOiBTZXJ2ZXJJY29uLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0R5bmFtaWMgSW50ZXJhY3Rpb25zLicsXG4gICAgZGVzY3JpcHRpb246ICdFbmdhZ2Ugd2l0aCB5b3VyIHRlYW0gaW4gYSB2aXJ0dWFsIHNwYWNlIHRoYXQgcmVzcG9uZHMgYW5kIGFkYXB0cyB0byB5b3VyIGNyZWF0aXZlIHdvcmtmbG93LicsXG4gICAgaWNvbjogU2VydmVySWNvbixcbiAgfSxcbl1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ29sbGFib3JhdGUoKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJvdmVyZmxvdy1oaWRkZW4gYmctd2hpdGUgbGc6cHQtMTYgbGc6cGItMTYgcHktOFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTd4bCBweC02IGxnOnB4LThcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGdyaWQgbWF4LXctMnhsIGdyaWQtY29scy0xIGdhcC14LTggZ2FwLXktMTYgc206Z2FwLXktMjAgbGc6bXgtMCBsZzptYXgtdy1ub25lIGxnOmdyaWQtY29scy0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzptbC1hdXRvIGxnOnBsLTQgbGc6cHQtNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzptYXgtdy1sZ1wiPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC1iYXNlIGZvbnQtbWVkaXVtIGZvbnQtbW9ubyBsZWFkaW5nLTcgdGV4dC1ibHVlLTUwMFwiPkZlYXR1cmVzPC9oMj5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMiB0ZXh0LTN4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtNzAwIHNtOnRleHQtNHhsXCI+Q3JlYXRpdmUgQ29sbGFib3JhdGlvbjwvcD5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNiB0ZXh0LWxnIGxlYWRpbmctOCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICAgIEVtcG93ZXIgeW91ciB0ZWFtIHRvIGNyZWF0ZSBhbmQgaW5ub3ZhdGUgdG9nZXRoZXIgaW4gYW4gaW1tZXJzaXZlIHZpcnR1YWwgZW52aXJvbm1lbnQuXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPGRsIGNsYXNzTmFtZT1cIm10LTEwIG1heC13LXhsIHNwYWNlLXktOCB0ZXh0LWJhc2UgbGVhZGluZy03IHRleHQtYmx1ZS05MDAgbGc6bWF4LXctbm9uZVwiPlxuICAgICAgICAgICAgICAgIHtmZWF0dXJlcy5tYXAoKGZlYXR1cmUpID0+IChcbiAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtmZWF0dXJlLm5hbWV9IGNsYXNzTmFtZT1cInJlbGF0aXZlIHBsLTlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzTmFtZT1cImlubGluZSBmb250LXNlbWlib2xkIHRleHQtYmx1ZS03MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZmVhdHVyZS5pY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMSB0b3AtMSBoLTUgdy01IHRleHQtYmx1ZS03MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIHtmZWF0dXJlLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIDwvZHQ+eycgJ31cbiAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzTmFtZT1cImlubGluZVwiPntmZWF0dXJlLmRlc2NyaXB0aW9ufTwvZGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9kbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1zdGFydCBqdXN0aWZ5LWVuZCBsZzpvcmRlci1maXJzdFwiPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBhbHQ9XCJQcm9kdWN0IHNjcmVlbnNob3RcIlxuICAgICAgICAgICAgICBzcmM9XCIvaW1hZ2VzL2NvbGxhYm9yYXRlLmpwZ1wiXG4gICAgICAgICAgICAgIHdpZHRoPXsyNDMyfVxuICAgICAgICAgICAgICBoZWlnaHQ9ezE0NDJ9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctWzQ4cmVtXSBtYXgtdy1ub25lIHJvdW5kZWQteGwgc2hhZG93LXhsIHJpbmctMSByaW5nLWdyYXktNDAwLzEwIHNtOnctWzU3cmVtXVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiQ2xvdWRBcnJvd1VwSWNvbiIsIkxvY2tDbG9zZWRJY29uIiwiU2VydmVySWNvbiIsImZlYXR1cmVzIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiaWNvbiIsIkNvbGxhYm9yYXRlIiwiZGl2IiwiY2xhc3NOYW1lIiwiaDIiLCJwIiwiZGwiLCJtYXAiLCJmZWF0dXJlIiwiZHQiLCJhcmlhLWhpZGRlbiIsImRkIiwiaW1nIiwiYWx0Iiwic3JjIiwid2lkdGgiLCJoZWlnaHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Collaborate.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Communicate.jsx": -/*!****************************************!*\ - !*** ./src/components/Communicate.jsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Communicate)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _barrel_optimize_names_CloudArrowUpIcon_ComputerDesktopIcon_LockClosedIcon_MicrophoneIcon_ServerIcon_UserGroupIcon_VideoCameraIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! __barrel_optimize__?names=CloudArrowUpIcon,ComputerDesktopIcon,LockClosedIcon,MicrophoneIcon,ServerIcon,UserGroupIcon,VideoCameraIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/VideoCameraIcon.js\");\n/* harmony import */ var _barrel_optimize_names_CloudArrowUpIcon_ComputerDesktopIcon_LockClosedIcon_MicrophoneIcon_ServerIcon_UserGroupIcon_VideoCameraIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=CloudArrowUpIcon,ComputerDesktopIcon,LockClosedIcon,MicrophoneIcon,ServerIcon,UserGroupIcon,VideoCameraIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/MicrophoneIcon.js\");\n/* harmony import */ var _barrel_optimize_names_CloudArrowUpIcon_ComputerDesktopIcon_LockClosedIcon_MicrophoneIcon_ServerIcon_UserGroupIcon_VideoCameraIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=CloudArrowUpIcon,ComputerDesktopIcon,LockClosedIcon,MicrophoneIcon,ServerIcon,UserGroupIcon,VideoCameraIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/ComputerDesktopIcon.js\");\n/* harmony import */ var _barrel_optimize_names_CloudArrowUpIcon_ComputerDesktopIcon_LockClosedIcon_MicrophoneIcon_ServerIcon_UserGroupIcon_VideoCameraIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=CloudArrowUpIcon,ComputerDesktopIcon,LockClosedIcon,MicrophoneIcon,ServerIcon,UserGroupIcon,VideoCameraIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/UserGroupIcon.js\");\n\n\nconst features = [\n {\n name: \"HoloMeet.\",\n description: \"Immersive, lifelike meetings with our state-of-the-art holographic conferencing technology.\",\n icon: _barrel_optimize_names_CloudArrowUpIcon_ComputerDesktopIcon_LockClosedIcon_MicrophoneIcon_ServerIcon_UserGroupIcon_VideoCameraIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n {\n name: \"Voice & Video Chat.\",\n description: \"High-quality voice and video chat, ensuring clear and reliable communication.\",\n icon: _barrel_optimize_names_CloudArrowUpIcon_ComputerDesktopIcon_LockClosedIcon_MicrophoneIcon_ServerIcon_UserGroupIcon_VideoCameraIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n {\n name: \"Screen Sharing Tools.\",\n description: \"Effortlessly share files, screens, and presentations with integrated tools.\",\n icon: _barrel_optimize_names_CloudArrowUpIcon_ComputerDesktopIcon_LockClosedIcon_MicrophoneIcon_ServerIcon_UserGroupIcon_VideoCameraIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n {\n name: \"Hosting Tools.\",\n description: \"Powerful host tools that allow you to manage participants, set agendas, and facilitate smooth sessions.\",\n icon: _barrel_optimize_names_CloudArrowUpIcon_ComputerDesktopIcon_LockClosedIcon_MicrophoneIcon_ServerIcon_UserGroupIcon_VideoCameraIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n }\n];\nfunction Communicate() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-hidden bg-white lg:pt-24 lg:pb-16 py-20 lg:mt-12 mt-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-7xl px-6 lg:px-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto grid max-w-2xl grid-cols-1 gap-x-8 gap-y-16 sm:gap-y-20 lg:mx-0 lg:max-w-none lg:grid-cols-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:pr-8 lg:pt-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:max-w-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-base font-medium font-mono leading-7 text-blue-500\",\n children: \"Features\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 34,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-3xl font-medium tracking-tight text-blue-700 sm:text-4xl\",\n children: \"Advanced Communication\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 35,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 text-lg leading-8 text-blue-900\",\n children: \"Elevate your virtual interactions with cutting-edge communication features designed to keep you connected and engaged.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 36,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dl\", {\n className: \"mt-10 max-w-xl space-y-8 text-base leading-7 text-blue-900 lg:max-w-none\",\n children: features.map((feature)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative pl-9\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(feature.icon, {\n \"aria-hidden\": \"true\",\n className: \"absolute left-1 top-1 h-5 w-5 text-blue-700\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 43,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dt\", {\n className: \"inline font-semibold text-blue-700\",\n children: feature.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 44,\n columnNumber: 21\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dd\", {\n className: \"inline\",\n children: feature.description\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 47,\n columnNumber: 21\n }, this)\n ]\n }, feature.name, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 42,\n columnNumber: 19\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 33,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 32,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n alt: \"Product screenshot\",\n src: \"/images/communicate.jpg\",\n width: 2432,\n height: 1442,\n className: \"w-[48rem] max-w-none rounded-xl shadow-xl ring-1 ring-gray-400/10 sm:w-[57rem] md:-ml-4 lg:-ml-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 53,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 31,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9Db21tdW5pY2F0ZS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBOEo7QUFFOUosTUFBTU8sV0FBVztJQUNmO1FBQ0VDLE1BQU07UUFDTkMsYUFDRTtRQUNGQyxNQUFNUCxtTUFBZUE7SUFDdkI7SUFDQTtRQUNFSyxNQUFNO1FBQ05DLGFBQWE7UUFDYkMsTUFBTU4sbU1BQWNBO0lBQ3RCO0lBQ0E7UUFDRUksTUFBTTtRQUNOQyxhQUFhO1FBQ2JDLE1BQU1KLG1NQUFtQkE7SUFDM0I7SUFDQTtRQUNFRSxNQUFNO1FBQ05DLGFBQWE7UUFDYkMsTUFBTUwsbU1BQWFBO0lBQ3JCO0NBQ0Q7QUFFYyxTQUFTTTtJQUN0QixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTtzQkFDYiw0RUFBQ0Q7Z0JBQUlDLFdBQVU7O2tDQUNiLDhEQUFDRDt3QkFBSUMsV0FBVTtrQ0FDYiw0RUFBQ0Q7NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDQztvQ0FBR0QsV0FBVTs4Q0FBMEQ7Ozs7Ozs4Q0FDeEUsOERBQUNFO29DQUFFRixXQUFVOzhDQUFxRTs7Ozs7OzhDQUNsRiw4REFBQ0U7b0NBQUVGLFdBQVU7OENBQXVDOzs7Ozs7OENBSXBELDhEQUFDRztvQ0FBR0gsV0FBVTs4Q0FDWE4sU0FBU1UsR0FBRyxDQUFDLENBQUNDLHdCQUNiLDhEQUFDTjs0Q0FBdUJDLFdBQVU7OzhEQUNoQyw4REFBQ0ssUUFBUVIsSUFBSTtvREFBQ1MsZUFBWTtvREFBT04sV0FBVTs7Ozs7OzhEQUMzQyw4REFBQ087b0RBQUdQLFdBQVU7OERBQ1hLLFFBQVFWLElBQUk7Ozs7OztnREFDVDs4REFDTiw4REFBQ2E7b0RBQUdSLFdBQVU7OERBQVVLLFFBQVFULFdBQVc7Ozs7Ozs7MkNBTG5DUyxRQUFRVixJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBVzlCLDhEQUFDYzt3QkFDQ0MsS0FBSTt3QkFDSkMsS0FBSTt3QkFDSkMsT0FBTzt3QkFDUEMsUUFBUTt3QkFDUmIsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU10QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0NvbW11bmljYXRlLmpzeD9mZmE2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsb3VkQXJyb3dVcEljb24sIExvY2tDbG9zZWRJY29uLCBTZXJ2ZXJJY29uLCBWaWRlb0NhbWVyYUljb24sIE1pY3JvcGhvbmVJY29uLCBVc2VyR3JvdXBJY29uLCBDb21wdXRlckRlc2t0b3BJY29uLCB9IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQnXG5cbmNvbnN0IGZlYXR1cmVzID0gW1xuICB7XG4gICAgbmFtZTogJ0hvbG9NZWV0LicsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnSW1tZXJzaXZlLCBsaWZlbGlrZSBtZWV0aW5ncyB3aXRoIG91ciBzdGF0ZS1vZi10aGUtYXJ0IGhvbG9ncmFwaGljIGNvbmZlcmVuY2luZyB0ZWNobm9sb2d5LicsXG4gICAgaWNvbjogVmlkZW9DYW1lcmFJY29uLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ1ZvaWNlICYgVmlkZW8gQ2hhdC4nLFxuICAgIGRlc2NyaXB0aW9uOiAnSGlnaC1xdWFsaXR5IHZvaWNlIGFuZCB2aWRlbyBjaGF0LCBlbnN1cmluZyBjbGVhciBhbmQgcmVsaWFibGUgY29tbXVuaWNhdGlvbi4nLFxuICAgIGljb246IE1pY3JvcGhvbmVJY29uLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ1NjcmVlbiBTaGFyaW5nIFRvb2xzLicsXG4gICAgZGVzY3JpcHRpb246ICdFZmZvcnRsZXNzbHkgc2hhcmUgZmlsZXMsIHNjcmVlbnMsIGFuZCBwcmVzZW50YXRpb25zIHdpdGggaW50ZWdyYXRlZCB0b29scy4nLFxuICAgIGljb246IENvbXB1dGVyRGVza3RvcEljb24sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnSG9zdGluZyBUb29scy4nLFxuICAgIGRlc2NyaXB0aW9uOiAnUG93ZXJmdWwgaG9zdCB0b29scyB0aGF0IGFsbG93IHlvdSB0byBtYW5hZ2UgcGFydGljaXBhbnRzLCBzZXQgYWdlbmRhcywgYW5kIGZhY2lsaXRhdGUgc21vb3RoIHNlc3Npb25zLicsXG4gICAgaWNvbjogVXNlckdyb3VwSWNvbixcbiAgfSxcbl1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ29tbXVuaWNhdGUoKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJvdmVyZmxvdy1oaWRkZW4gYmctd2hpdGUgbGc6cHQtMjQgbGc6cGItMTYgcHktMjAgbGc6bXQtMTIgbXQtOFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTd4bCBweC02IGxnOnB4LThcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGdyaWQgbWF4LXctMnhsIGdyaWQtY29scy0xIGdhcC14LTggZ2FwLXktMTYgc206Z2FwLXktMjAgbGc6bXgtMCBsZzptYXgtdy1ub25lIGxnOmdyaWQtY29scy0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzpwci04IGxnOnB0LTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGc6bWF4LXctbGdcIj5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtYmFzZSBmb250LW1lZGl1bSBmb250LW1vbm8gbGVhZGluZy03IHRleHQtYmx1ZS01MDBcIj5GZWF0dXJlczwvaDI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTIgdGV4dC0zeGwgZm9udC1tZWRpdW0gdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTcwMCBzbTp0ZXh0LTR4bFwiPkFkdmFuY2VkIENvbW11bmljYXRpb248L3A+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTYgdGV4dC1sZyBsZWFkaW5nLTggdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICBFbGV2YXRlIHlvdXIgdmlydHVhbCBpbnRlcmFjdGlvbnMgd2l0aCBjdXR0aW5nLWVkZ2UgY29tbXVuaWNhdGlvbiBmZWF0dXJlcyBcbiAgICAgICAgICAgICAgZGVzaWduZWQgdG8ga2VlcCB5b3UgY29ubmVjdGVkIGFuZCBlbmdhZ2VkLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxkbCBjbGFzc05hbWU9XCJtdC0xMCBtYXgtdy14bCBzcGFjZS15LTggdGV4dC1iYXNlIGxlYWRpbmctNyB0ZXh0LWJsdWUtOTAwIGxnOm1heC13LW5vbmVcIj5cbiAgICAgICAgICAgICAgICB7ZmVhdHVyZXMubWFwKChmZWF0dXJlKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGtleT17ZmVhdHVyZS5uYW1lfSBjbGFzc05hbWU9XCJyZWxhdGl2ZSBwbC05XCI+XG4gICAgICAgICAgICAgICAgICAgIDxmZWF0dXJlLmljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0xIHRvcC0xIGgtNSB3LTUgdGV4dC1ibHVlLTcwMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzc05hbWU9XCJpbmxpbmUgZm9udC1zZW1pYm9sZCB0ZXh0LWJsdWUtNzAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2ZlYXR1cmUubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgPC9kdD57JyAnfVxuICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3NOYW1lPVwiaW5saW5lXCI+e2ZlYXR1cmUuZGVzY3JpcHRpb259PC9kZD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L2RsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgYWx0PVwiUHJvZHVjdCBzY3JlZW5zaG90XCJcbiAgICAgICAgICAgIHNyYz1cIi9pbWFnZXMvY29tbXVuaWNhdGUuanBnXCJcbiAgICAgICAgICAgIHdpZHRoPXsyNDMyfVxuICAgICAgICAgICAgaGVpZ2h0PXsxNDQyfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1bNDhyZW1dIG1heC13LW5vbmUgcm91bmRlZC14bCBzaGFkb3cteGwgcmluZy0xIHJpbmctZ3JheS00MDAvMTAgc206dy1bNTdyZW1dIG1kOi1tbC00IGxnOi1tbC0wXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiQ2xvdWRBcnJvd1VwSWNvbiIsIkxvY2tDbG9zZWRJY29uIiwiU2VydmVySWNvbiIsIlZpZGVvQ2FtZXJhSWNvbiIsIk1pY3JvcGhvbmVJY29uIiwiVXNlckdyb3VwSWNvbiIsIkNvbXB1dGVyRGVza3RvcEljb24iLCJmZWF0dXJlcyIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImljb24iLCJDb21tdW5pY2F0ZSIsImRpdiIsImNsYXNzTmFtZSIsImgyIiwicCIsImRsIiwibWFwIiwiZmVhdHVyZSIsImFyaWEtaGlkZGVuIiwiZHQiLCJkZCIsImltZyIsImFsdCIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Communicate.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Container.jsx": -/*!**************************************!*\ - !*** ./src/components/Container.jsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(rsc)/./node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container({ className, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXVCO0FBRWhCLFNBQVNDLFVBQVUsRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU87SUFDL0MscUJBQ0UsOERBQUNDO1FBQ0NGLFdBQVdGLGdEQUFJQSxDQUFDLDBDQUEwQ0U7UUFDekQsR0FBR0MsS0FBSzs7Ozs7O0FBR2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Container.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Footer.jsx": -/*!***********************************!*\ - !*** ./src/components/Footer.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Footer: () => (/* binding */ Footer)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Logo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Logo */ \"(rsc)/./src/components/Logo.jsx\");\n\n\n\nfunction Footer() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"flex-none py-16\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_1__.Container, {\n className: \"flex flex-col items-center justify-between md:flex-row\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_2__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Footer.jsx\",\n lineNumber: 8,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 text-base text-slate-500 md:mt-0\",\n children: [\n \"Copyright \\xa9 \",\n new Date().getFullYear(),\n \" OurVerse, LLC. All rights reserved.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Footer.jsx\",\n lineNumber: 9,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Footer.jsx\",\n lineNumber: 7,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Footer.jsx\",\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9Gb290ZXIuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFrRDtBQUNWO0FBRWpDLFNBQVNFO0lBQ2QscUJBQ0UsOERBQUNDO1FBQU9DLFdBQVU7a0JBQ2hCLDRFQUFDSiw0REFBU0E7WUFBQ0ksV0FBVTs7OEJBQ25CLDhEQUFDSCxrREFBSUE7b0JBQUNHLFdBQVU7Ozs7Ozs4QkFDaEIsOERBQUNDO29CQUFFRCxXQUFVOzt3QkFBd0M7d0JBQ2pDLElBQUlFLE9BQU9DLFdBQVc7d0JBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0Zvb3Rlci5qc3g/MTUzOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuaW1wb3J0IHsgTG9nbyB9IGZyb20gJ0AvY29tcG9uZW50cy9Mb2dvJ1xuXG5leHBvcnQgZnVuY3Rpb24gRm9vdGVyKCkge1xuICByZXR1cm4gKFxuICAgIDxmb290ZXIgY2xhc3NOYW1lPVwiZmxleC1ub25lIHB5LTE2XCI+XG4gICAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtZDpmbGV4LXJvd1wiPlxuICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTYgdGV4dC1iYXNlIHRleHQtc2xhdGUtNTAwIG1kOm10LTBcIj5cbiAgICAgICAgICBDb3B5cmlnaHQgJmNvcHk7IHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCl9IE91clZlcnNlLCBMTEMuIEFsbFxuICAgICAgICAgIHJpZ2h0cyByZXNlcnZlZC5cbiAgICAgICAgPC9wPlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9mb290ZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJMb2dvIiwiRm9vdGVyIiwiZm9vdGVyIiwiY2xhc3NOYW1lIiwicCIsIkRhdGUiLCJnZXRGdWxsWWVhciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Footer.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Gradient.jsx": -/*!*************************************!*\ - !*** ./src/components/Gradient.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Gradient: () => (/* binding */ Gradient)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n// src/components/Gradient.jsx\n\n\nfunction Gradient({ children, className = \"\" }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `relative ${className}`,\n style: {\n background: \"linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(253,253,253,0) 80%)\"\n },\n children: children\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Gradient.jsx\",\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9HcmFkaWVudC5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSw4QkFBOEI7O0FBQ0o7QUFFbkIsU0FBU0MsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLFlBQVksRUFBRSxFQUFFO0lBQ25ELHFCQUNFLDhEQUFDQztRQUNDRCxXQUFXLENBQUMsU0FBUyxFQUFFQSxVQUFVLENBQUM7UUFDbENFLE9BQU87WUFDTEMsWUFBWTtRQUNkO2tCQUVDSjs7Ozs7O0FBR1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9HcmFkaWVudC5qc3g/M2UyNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzcmMvY29tcG9uZW50cy9HcmFkaWVudC5qc3hcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBHcmFkaWVudCh7IGNoaWxkcmVuLCBjbGFzc05hbWUgPSAnJyB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgcmVsYXRpdmUgJHtjbGFzc05hbWV9YH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGJhY2tncm91bmQ6ICdsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMjUzLDI1MywyNTMsMCkgODAlKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkdyYWRpZW50IiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJkaXYiLCJzdHlsZSIsImJhY2tncm91bmQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Gradient.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Header.jsx": -/*!***********************************!*\ - !*** ./src/components/Header.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ e0) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx#Header`); - - -/***/ }), - -/***/ "(rsc)/./src/components/Hero.jsx": -/*!*********************************!*\ - !*** ./src/components/Hero.jsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Hero: () => (/* binding */ Hero)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(rsc)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(rsc)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n\n\n\n\nfunction Hero() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:py-12 mt-20 pb-12 pt-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_1__.BackgroundImage, {\n className: \"-bottom-14 -top-20\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 8,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:max-w-4xl lg:px-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"font-display text-3xl font-medium tracking-tighter text-blue-700 sm:text-6xl\",\n children: \"OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 11,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 space-y-6 font-display lg:text-xl text-lg tracking-tight leading-tight text-blue-900\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"OurVerse empowers users to build, manage, and monetize their unique virtual experiences by blending the latest advancements in blockchain technology with immersive virtual reality.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 15,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"Our mission is to make the metaverse accessible to all, fostering a vibrant community where creativity, commerce, and collaboration thrive in a borderless, equitable digital space. Whether you're an individual, business, or community, OurVerse offers the tools and support to shape your digital future.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 19,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 14,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dl\", {\n className: \"mt-10 grid grid-cols-2 gap-x-10 gap-y-4 gap-x-16 gap-y-10 text-center lg:auto-cols-auto lg:grid-flow-col lg:grid-cols-none lg:justify-start lg:text-left\",\n children: [\n [\n \"3D Assets\",\n \"100000+\"\n ],\n [\n \"Users\",\n \"5000+\"\n ],\n [\n \"Verses\",\n \"2000+\"\n ],\n [\n \"Countries\",\n \"15\"\n ]\n ].map(([name, value])=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dt\", {\n className: \"font-mono text-sm text-blue-500\",\n children: name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 33,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dd\", {\n className: \"mt-0.5 text-2xl font-semibold tracking-tight text-blue-900\",\n children: value\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, name, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 32,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 25,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 10,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 9,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx\",\n lineNumber: 7,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9IZXJvLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQThEO0FBQ2xCO0FBQ007QUFFM0MsU0FBU0c7SUFDZCxxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTs7MEJBQ2IsOERBQUNMLHdFQUFlQTtnQkFBQ0ssV0FBVTs7Ozs7OzBCQUMzQiw4REFBQ0gsNERBQVNBO2dCQUFDRyxXQUFVOzBCQUNuQiw0RUFBQ0Q7b0JBQUlDLFdBQVU7O3NDQUNiLDhEQUFDQzs0QkFBR0QsV0FBVTtzQ0FBK0U7Ozs7OztzQ0FHN0YsOERBQUNEOzRCQUFJQyxXQUFVOzs4Q0FDYiw4REFBQ0U7OENBQUU7Ozs7Ozs4Q0FJSCw4REFBQ0E7OENBQUU7Ozs7Ozs7Ozs7OztzQ0FNTCw4REFBQ0M7NEJBQUdILFdBQVU7c0NBQ1g7Z0NBQ0M7b0NBQUM7b0NBQWE7aUNBQVU7Z0NBQ3hCO29DQUFDO29DQUFTO2lDQUFRO2dDQUNsQjtvQ0FBQztvQ0FBVTtpQ0FBUTtnQ0FDbkI7b0NBQUM7b0NBQWE7aUNBQUs7NkJBQ3BCLENBQUNJLEdBQUcsQ0FBQyxDQUFDLENBQUNDLE1BQU1DLE1BQU0saUJBQ2xCLDhEQUFDUDs7c0RBQ0MsOERBQUNROzRDQUFHUCxXQUFVO3NEQUFtQ0s7Ozs7OztzREFDakQsOERBQUNHOzRDQUFHUixXQUFVO3NEQUNYTTs7Ozs7OzttQ0FIS0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVl4QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0hlcm8uanN4P2IwZDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFja2dyb3VuZEltYWdlIH0gZnJvbSAnQC9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZSdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9CdXR0b24nXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuXG5leHBvcnQgZnVuY3Rpb24gSGVybygpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGxnOnB5LTEyIG10LTIwIHBiLTEyIHB0LTEyXCI+XG4gICAgICA8QmFja2dyb3VuZEltYWdlIGNsYXNzTmFtZT1cIi1ib3R0b20tMTQgLXRvcC0yMFwiIC8+XG4gICAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cInJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0yeGwgbGc6bWF4LXctNHhsIGxnOnB4LTEyXCI+XG4gICAgICAgICAgPGgxIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTN4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgc206dGV4dC02eGxcIj5cbiAgICAgICAgICAgIE91clZlcnNlXG4gICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTQgc3BhY2UteS02IGZvbnQtZGlzcGxheSBsZzp0ZXh0LXhsIHRleHQtbGcgdHJhY2tpbmctdGlnaHQgbGVhZGluZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIE91clZlcnNlIGVtcG93ZXJzIHVzZXJzIHRvIGJ1aWxkLCBtYW5hZ2UsIGFuZCBtb25ldGl6ZSB0aGVpciB1bmlxdWUgdmlydHVhbCBleHBlcmllbmNlcyBcbiAgICAgICAgICAgIGJ5IGJsZW5kaW5nIHRoZSBsYXRlc3QgYWR2YW5jZW1lbnRzIGluIGJsb2NrY2hhaW4gdGVjaG5vbG9neSB3aXRoIGltbWVyc2l2ZSB2aXJ0dWFsIHJlYWxpdHkuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIE91ciBtaXNzaW9uIGlzIHRvIG1ha2UgdGhlIG1ldGF2ZXJzZSBhY2Nlc3NpYmxlIHRvIGFsbCwgZm9zdGVyaW5nIGEgdmlicmFudCBjb21tdW5pdHkgXG4gICAgICAgICAgICB3aGVyZSBjcmVhdGl2aXR5LCBjb21tZXJjZSwgYW5kIGNvbGxhYm9yYXRpb24gdGhyaXZlIGluIGEgYm9yZGVybGVzcywgZXF1aXRhYmxlIGRpZ2l0YWwgc3BhY2UuIFxuICAgICAgICAgICAgV2hldGhlciB5b3UncmUgYW4gaW5kaXZpZHVhbCwgYnVzaW5lc3MsIG9yIGNvbW11bml0eSwgT3VyVmVyc2Ugb2ZmZXJzIHRoZSB0b29scyBhbmQgc3VwcG9ydCB0byBzaGFwZSB5b3VyIGRpZ2l0YWwgZnV0dXJlLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkbCBjbGFzc05hbWU9XCJtdC0xMCBncmlkIGdyaWQtY29scy0yIGdhcC14LTEwIGdhcC15LTQgZ2FwLXgtMTYgZ2FwLXktMTAgdGV4dC1jZW50ZXIgbGc6YXV0by1jb2xzLWF1dG8gbGc6Z3JpZC1mbG93LWNvbCBsZzpncmlkLWNvbHMtbm9uZSBsZzpqdXN0aWZ5LXN0YXJ0IGxnOnRleHQtbGVmdFwiPlxuICAgICAgICAgICAge1tcbiAgICAgICAgICAgICAgWyczRCBBc3NldHMnLCAnMTAwMDAwKyddLFxuICAgICAgICAgICAgICBbJ1VzZXJzJywgJzUwMDArJ10sXG4gICAgICAgICAgICAgIFsnVmVyc2VzJywgJzIwMDArJ10sXG4gICAgICAgICAgICAgIFsnQ291bnRyaWVzJywgJzE1J10sXG4gICAgICAgICAgICBdLm1hcCgoW25hbWUsIHZhbHVlXSkgPT4gKFxuICAgICAgICAgICAgICA8ZGl2IGtleT17bmFtZX0+XG4gICAgICAgICAgICAgICAgPGR0IGNsYXNzTmFtZT1cImZvbnQtbW9ubyB0ZXh0LXNtIHRleHQtYmx1ZS01MDBcIj57bmFtZX08L2R0PlxuICAgICAgICAgICAgICAgIDxkZCBjbGFzc05hbWU9XCJtdC0wLjUgdGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICAgICAgICB7dmFsdWV9XG4gICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2RsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiQmFja2dyb3VuZEltYWdlIiwiQnV0dG9uIiwiQ29udGFpbmVyIiwiSGVybyIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwicCIsImRsIiwibWFwIiwibmFtZSIsInZhbHVlIiwiZHQiLCJkZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Hero.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Homepage.jsx": -/*!*************************************!*\ - !*** ./src/components/Homepage.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Homepage: () => (/* binding */ Homepage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/Button */ \"(rsc)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Gradient__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Gradient */ \"(rsc)/./src/components/Gradient.jsx\");\n/* harmony import */ var _barrel_optimize_names_ChevronRightIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronRightIcon!=!@heroicons/react/20/solid */ \"(rsc)/./node_modules/@heroicons/react/20/solid/esm/ChevronRightIcon.js\");\n\n\n\n\n\nfunction Homepage() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Gradient__WEBPACK_IMPORTED_MODULE_3__.Gradient, {\n className: \"pt-24 pb-12\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_2__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"video\", {\n autoPlay: true,\n loop: true,\n muted: true,\n playsInline: true,\n className: \"absolute inset-0 w-full h-full object-cover -z-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"source\", {\n src: \"/videos/ourverse1.mp4\",\n type: \"video/mp4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 18,\n columnNumber: 11\n }, this),\n \"Your browser does not support the video tag.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 11,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-xl lg:max-w-6xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-12 mb-6 lg:mt-16\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex space-x-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"rounded-full bg-blue-700/10 px-3 py-1 text-sm font-semibold leading-6 text-blue-700 ring-1 ring-inset ring-indigo-600/10\",\n children: \"What's new\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 25,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"/events/versefest\",\n className: \"inline-flex items-center space-x-2 text-sm font-medium leading-6 text-blue-500 hover:text-blue-900\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"Announcing: VerseFest 2024\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 29,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronRightIcon_heroicons_react_20_solid__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-5 w-5 text-blue-700\",\n \"aria-hidden\": \"true\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 30,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 28,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 24,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 23,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"font-display lg:max-w-2xl font-bold tracking-tighter text-blue-700 lg:text-7xl text-5xl\",\n children: \"A New, Vibrant Virtual World.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 34,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:max-w-3xl max-w-2xl my-6 space-y-6 font-display font-medium lg:text-2xl text-xl tracking-tight text-blue-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: [\n \"Discover \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-blue-700 font-semibold\",\n children: \"OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 38,\n columnNumber: 25\n }, this),\n \", a new virtual space designed for everyone, where you can express yourself freely, build meaningful relationships, and explore endless possibilities in an environment that celebrates diversity and authenticity.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 38,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 37,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-10 pb-8 flex items-center gap-x-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n className: \"rounded-xl bg-blue-700 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-blue-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 43,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n className: \"text-sm font-semibold leading-6 text-blue-900 hover:text-blue-700\",\n children: [\n \"Learn more \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n \"aria-hidden\": \"true\",\n children: \"→\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 50,\n columnNumber: 26\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 49,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 42,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 9,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx\",\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9Ib21lcGFnZS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBNkM7QUFDTTtBQUNGO0FBQ1c7QUFFckQsU0FBU0k7SUFDZCxxQkFDRSw4REFBQ0YsMERBQVFBO1FBQUNHLFdBQVU7a0JBQ2xCLDRFQUFDSiw0REFBU0E7OzhCQUVSLDhEQUFDSztvQkFDQ0MsUUFBUTtvQkFDUkMsSUFBSTtvQkFDSkMsS0FBSztvQkFDTEMsV0FBVztvQkFDWEwsV0FBVTs7c0NBRVYsOERBQUNNOzRCQUFPQyxLQUFJOzRCQUF3QkMsTUFBSzs7Ozs7O3dCQUFjOzs7Ozs7OzhCQUl6RCw4REFBQ0M7b0JBQUlULFdBQVU7O3NDQUNiLDhEQUFDUzs0QkFBSVQsV0FBVTtzQ0FDUCw0RUFBQ1M7Z0NBQUlULFdBQVU7O2tEQUNiLDhEQUFDVTt3Q0FBS1YsV0FBVTtrREFBMkg7Ozs7OztrREFHM0ksOERBQUNXO3dDQUFFQyxNQUFLO3dDQUFvQlosV0FBVTs7MERBQ3RDLDhEQUFDVTtnREFBS1YsV0FBVTswREFBWTs7Ozs7OzBEQUM1Qiw4REFBQ0Ysd0dBQWdCQTtnREFBQ0UsV0FBVTtnREFBd0JhLGVBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQUkxRSw4REFBQ0M7NEJBQUdkLFdBQVU7c0NBQTBGOzs7Ozs7c0NBR3hHLDhEQUFDUzs0QkFBSVQsV0FBVTtzQ0FDYiw0RUFBQ2U7O29DQUFFO2tEQUFTLDhEQUFDTDt3Q0FBS1YsV0FBVTtrREFBOEI7Ozs7OztvQ0FBZTs7Ozs7Ozs7Ozs7O3NDQUkzRSw4REFBQ1M7NEJBQUlULFdBQVU7OzhDQUNiLDhEQUFDVztvQ0FDQ0MsTUFBSztvQ0FDTFosV0FBVTs4Q0FDWDs7Ozs7OzhDQUdELDhEQUFDVztvQ0FBRUMsTUFBSztvQ0FBSVosV0FBVTs7d0NBQW9FO3NEQUM3RSw4REFBQ1U7NENBQUtHLGVBQVk7c0RBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT2xEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2NvbXBvbmVudHMvSG9tZXBhZ2UuanN4PzljNzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJztcbmltcG9ydCB7IEdyYWRpZW50IH0gZnJvbSAnQC9jb21wb25lbnRzL0dyYWRpZW50JztcbmltcG9ydCB7IENoZXZyb25SaWdodEljb24gfSBmcm9tICdAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkJ1xuXG5leHBvcnQgZnVuY3Rpb24gSG9tZXBhZ2UoKSB7XG4gIHJldHVybiAoXG4gICAgPEdyYWRpZW50IGNsYXNzTmFtZT1cInB0LTI0IHBiLTEyXCI+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICB7LyogQmFja2dyb3VuZCBWaWRlbyAqL31cbiAgICAgICAgPHZpZGVvXG4gICAgICAgICAgYXV0b1BsYXlcbiAgICAgICAgICBsb29wXG4gICAgICAgICAgbXV0ZWRcbiAgICAgICAgICBwbGF5c0lubGluZVxuICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgdy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXIgLXotMTBcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNvdXJjZSBzcmM9XCIvdmlkZW9zL291cnZlcnNlMS5tcDRcIiB0eXBlPVwidmlkZW8vbXA0XCIgLz5cbiAgICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgdmlkZW8gdGFnLlxuICAgICAgICA8L3ZpZGVvPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy14bCBsZzptYXgtdy02eGxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTEyIG1iLTYgbGc6bXQtMTZcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggc3BhY2UteC02XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInJvdW5kZWQtZnVsbCBiZy1ibHVlLTcwMC8xMCBweC0zIHB5LTEgdGV4dC1zbSBmb250LXNlbWlib2xkIGxlYWRpbmctNiB0ZXh0LWJsdWUtNzAwIHJpbmctMSByaW5nLWluc2V0IHJpbmctaW5kaWdvLTYwMC8xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIFdoYXQncyBuZXdcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiL2V2ZW50cy92ZXJzZWZlc3RcIiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy02IHRleHQtYmx1ZS01MDAgaG92ZXI6dGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ1bmRlcmxpbmVcIj5Bbm5vdW5jaW5nOiBWZXJzZUZlc3QgMjAyNDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPENoZXZyb25SaWdodEljb24gY2xhc3NOYW1lPVwiaC01IHctNSB0ZXh0LWJsdWUtNzAwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJmb250LWRpc3BsYXkgbGc6bWF4LXctMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgbGc6dGV4dC03eGwgdGV4dC01eGxcIj5cbiAgICAgICAgICAgIEEgTmV3LCBWaWJyYW50IFZpcnR1YWwgV29ybGQuXG4gICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxnOm1heC13LTN4bCBtYXgtdy0yeGwgbXktNiBzcGFjZS15LTYgZm9udC1kaXNwbGF5IGZvbnQtbWVkaXVtIGxnOnRleHQtMnhsIHRleHQteGwgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgPHA+RGlzY292ZXIgPHNwYW4gY2xhc3NOYW1lPSd0ZXh0LWJsdWUtNzAwIGZvbnQtc2VtaWJvbGQnPk91clZlcnNlPC9zcGFuPiwgYSBuZXcgdmlydHVhbCBzcGFjZSBkZXNpZ25lZCBmb3IgZXZlcnlvbmUsIFxuICAgICAgICAgICAgICB3aGVyZSB5b3UgY2FuIGV4cHJlc3MgeW91cnNlbGYgZnJlZWx5LCBidWlsZCBtZWFuaW5nZnVsIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgIGFuZCBleHBsb3JlIGVuZGxlc3MgcG9zc2liaWxpdGllcyBpbiBhbiBlbnZpcm9ubWVudCB0aGF0IGNlbGVicmF0ZXMgZGl2ZXJzaXR5IGFuZCBhdXRoZW50aWNpdHkuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMTAgcGItOCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC02XCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQteGwgYmctYmx1ZS03MDAgcHgtMy41IHB5LTIuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBzaGFkb3ctc20gaG92ZXI6YmctYmx1ZS01MDAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOm91dGxpbmUtYmx1ZS01MDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBKb2luIE91clZlcnNlXG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1zZW1pYm9sZCBsZWFkaW5nLTYgdGV4dC1ibHVlLTkwMCBob3Zlcjp0ZXh0LWJsdWUtNzAwXCI+XG4gICAgICAgICAgICAgIExlYXJuIG1vcmUgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4oaSPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Db250YWluZXI+XG4gICAgPC9HcmFkaWVudD5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJCdXR0b24iLCJDb250YWluZXIiLCJHcmFkaWVudCIsIkNoZXZyb25SaWdodEljb24iLCJIb21lcGFnZSIsImNsYXNzTmFtZSIsInZpZGVvIiwiYXV0b1BsYXkiLCJsb29wIiwibXV0ZWQiLCJwbGF5c0lubGluZSIsInNvdXJjZSIsInNyYyIsInR5cGUiLCJkaXYiLCJzcGFuIiwiYSIsImhyZWYiLCJhcmlhLWhpZGRlbiIsImgxIiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Homepage.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Layout.jsx": -/*!***********************************!*\ - !*** ./src/components/Layout.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Layout: () => (/* binding */ Layout)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Footer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/Footer */ \"(rsc)/./src/components/Footer.jsx\");\n/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Header */ \"(rsc)/./src/components/Header.jsx\");\n\n\n\nfunction Layout({ children, showFooter = true }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Header__WEBPACK_IMPORTED_MODULE_2__.Header, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Layout.jsx\",\n lineNumber: 7,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-auto\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Layout.jsx\",\n lineNumber: 8,\n columnNumber: 7\n }, this),\n showFooter && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Footer__WEBPACK_IMPORTED_MODULE_1__.Footer, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Layout.jsx\",\n lineNumber: 9,\n columnNumber: 22\n }, this)\n ]\n }, void 0, true);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9MYXlvdXQuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUE0QztBQUNBO0FBRXJDLFNBQVNFLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxhQUFhLElBQUksRUFBRTtJQUNwRCxxQkFDRTs7MEJBQ0UsOERBQUNILHNEQUFNQTs7Ozs7MEJBQ1AsOERBQUNJO2dCQUFLQyxXQUFVOzBCQUFhSDs7Ozs7O1lBQzVCQyw0QkFBYyw4REFBQ0osc0RBQU1BOzs7Ozs7O0FBRzVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2NvbXBvbmVudHMvTGF5b3V0LmpzeD80MWQxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvb3RlciB9IGZyb20gJ0AvY29tcG9uZW50cy9Gb290ZXInXG5pbXBvcnQgeyBIZWFkZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvSGVhZGVyJ1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5b3V0KHsgY2hpbGRyZW4sIHNob3dGb290ZXIgPSB0cnVlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEhlYWRlciAvPlxuICAgICAgPG1haW4gY2xhc3NOYW1lPVwiZmxleC1hdXRvXCI+e2NoaWxkcmVufTwvbWFpbj5cbiAgICAgIHtzaG93Rm9vdGVyICYmIDxGb290ZXIgLz59XG4gICAgPC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJGb290ZXIiLCJIZWFkZXIiLCJMYXlvdXQiLCJjaGlsZHJlbiIsInNob3dGb290ZXIiLCJtYWluIiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Layout.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Logo.jsx": -/*!*********************************!*\ - !*** ./src/components/Logo.jsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: () => (/* binding */ Logo)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction Logo(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: \"130\",\n height: \"43.33\",\n version: \"1\",\n viewBox: \"0 0 90 30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"filter\", {\n id: \"bdef170c39\",\n width: \"100%\",\n height: \"100%\",\n x: \"0%\",\n y: \"0%\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n colorInterpolationFilters: \"sRGB\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"ae85f5a47d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9479493a42\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.07 23.469a2.665 2.665 0 01-2.383-1.504L4.657 9.25a2.62 2.62 0 011.257-3.492A2.621 2.621 0 019.41 7.016l6.027 12.714a2.618 2.618 0 01-2.367 3.739zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"90a54febec\",\n x1: \"117.677\",\n x2: \"-10.526\",\n y1: \"202.569\",\n y2: \"6.809\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 34,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 37,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#1E3A8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 40,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 43,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#203E91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#204092\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 47,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#214295\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 51,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#224498\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 52,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 54,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 55,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 56,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#24479E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 59,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 60,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.299\",\n stopColor: \"#2549A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#254AA1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#254BA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 65,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 66,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#274FAA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 72,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2751AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 78,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 80,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2A56B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 81,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 85,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 86,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2B5AB9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2C5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 88,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 91,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 92,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 93,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 94,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 95,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 96,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 97,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 98,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#2E61C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 99,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 100,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 101,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#2F63C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 102,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 103,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3065CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 105,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 106,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#3167CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 107,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 108,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 109,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 111,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 112,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.701\",\n stopColor: \"#326BD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 114,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 115,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 116,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 117,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#346FD8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 120,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3570DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 123,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 124,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 125,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 127,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 128,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3674E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 130,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 131,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 132,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 133,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 134,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#3878E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 135,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 136,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#387AE8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 138,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 139,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#397CEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 140,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 142,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 143,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 145,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 146,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 147,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 148,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.977\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 149,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.984\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 150,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 24,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"71699c0992\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 154,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 153,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"39c4965344\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.469c-.375 0-.77-.078-1.13-.266-1.312-.617-1.878-2.195-1.257-3.492l6.031-12.715c.617-1.312 2.196-1.879 3.492-1.258 1.317.621 1.88 2.2 1.258 3.492l-6.027 12.715c-.434.977-1.371 1.524-2.367 1.524zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 157,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 156,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"5c493e8459\",\n x1: \"188.996\",\n x2: \"130.793\",\n y1: \"-0.323\",\n y2: \"214.691\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 168,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.008\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 169,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.016\",\n stopColor: \"#1E3B8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 170,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.023\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 171,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.031\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 172,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.039\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 173,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.047\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 174,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.055\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 175,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 176,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.07\",\n stopColor: \"#203F91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 177,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.078\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 178,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.086\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 179,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.102\",\n stopColor: \"#214195\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 181,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#214296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 182,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 183,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#224398\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 186,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 187,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.15\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 188,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 189,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 190,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 191,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 192,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#24489E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 193,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 194,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 195,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#2449A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 196,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 198,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 199,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#254CA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 201,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 202,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 203,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 204,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#274EA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 205,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 206,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2750AA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 207,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 208,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#2851AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 209,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 210,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 212,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 213,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 214,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 215,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 216,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#2955B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 217,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 218,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 219,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 220,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 221,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 222,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 223,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2B59B9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 224,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2B5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 225,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 226,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 227,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 228,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 229,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 230,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 232,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 233,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2E5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 234,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 235,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 236,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2F62C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 238,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 240,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 241,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2F64C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 242,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 243,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 244,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 245,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#3066CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 246,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 247,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 248,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 249,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 251,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 252,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#326AD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 253,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 254,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#336BD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 255,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 256,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 257,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 258,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 259,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#346ED8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 260,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 261,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 262,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 263,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#3571DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 264,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 265,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 266,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 267,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 268,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 269,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 270,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3675E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 272,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 273,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 274,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 275,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 276,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 277,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.85\",\n stopColor: \"#3879E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 278,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 279,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 281,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 282,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#397BEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 284,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#3A7CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 286,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 287,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 288,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 289,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 290,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 291,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 292,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 293,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 294,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 295,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 159,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8d0c53bb2c\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8007d6ee0b\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.074 23.621c-.98 0-1.941-.566-2.394-1.512L4.62 9.336a2.628 2.628 0 011.262-3.508A2.632 2.632 0 019.395 7.09l6.058 12.773a2.639 2.639 0 01-1.265 3.512c-.36.168-.735.246-1.114.246zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 301,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 300,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 303,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"c882ea39a8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 313,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9791d5a09d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 321,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 320,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"e6e7ec391e\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9791d5a09d)\",\n mask: \"url(#c882ea39a8)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 335,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 334,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 323,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"b6080a64a5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 342,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 341,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"2ec3ecbd14\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.621c-.375 0-.774-.078-1.133-.266-1.32-.62-1.887-2.207-1.262-3.507L16.72 7.074c.62-1.324 2.207-1.89 3.508-1.265 1.32.62 1.886 2.207 1.265 3.507L15.434 22.09c-.434.98-1.38 1.531-2.38 1.531zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 345,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 344,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 347,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"d7dda1a063\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 357,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 356,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 355,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"c87c18b6c8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 365,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 364,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"f8c42d9774\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#c87c18b6c8)\",\n mask: \"url(#d7dda1a063)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 379,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 378,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 367,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#ae85f5a47d)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9479493a42)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#90a54febec)\",\n d: \"M4.355 5.473v17.996H16.06V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 388,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 387,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 386,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#71699c0992)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#39c4965344)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#5c493e8459)\",\n d: \"M10.047 5.473v17.996h11.726V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 396,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 395,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 394,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M5.766.172c-1.024 0-1.914-.219-2.672-.656a4.783 4.783 0 01-1.797-1.86c-.43-.789-.64-1.707-.64-2.75 0-1.031.21-1.941.64-2.734a4.837 4.837 0 011.797-1.86c.758-.445 1.648-.671 2.672-.671 1 0 1.882.226 2.656.671.77.45 1.367 1.07 1.797 1.86.426.793.64 1.703.64 2.734 0 1.043-.214 1.961-.64 2.75a4.677 4.677 0 01-1.797 1.86c-.774.437-1.656.656-2.656.656zm0-1.672c.968 0 1.738-.316 2.312-.953.582-.645.875-1.524.875-2.64 0-1.114-.293-1.989-.875-2.626-.574-.644-1.344-.968-2.312-.968-.97 0-1.746.324-2.329.968-.585.637-.874 1.512-.874 2.625 0 1.117.289 1.996.874 2.64.583.638 1.36.954 2.329.954zm0 0\",\n transform: \"translate(24.636 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 402,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.656.172c-.906 0-1.605-.281-2.094-.844C1.07-1.234.829-2.055.829-3.14v-4.078h1.844v3.907c0 .617.125 1.09.375 1.421.258.336.66.5 1.203.5.508 0 .93-.18 1.266-.546.332-.375.5-.891.5-1.547V-7.22H7.89V0H6.234l-.14-1.219a2.45 2.45 0 01-.969 1.016c-.418.25-.906.375-1.469.375zm0 0\",\n transform: \"translate(35.114 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 407,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(42.932 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 412,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.938 0L.217-10.188h2l2.876 8.282 2.89-8.281h1.97L6.218 0zm0 0\",\n transform: \"translate(47.67 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 417,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(56.811 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 422,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(64.484 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 427,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.922.172c-.637 0-1.2-.106-1.688-.313-.48-.207-.867-.492-1.156-.859a2.58 2.58 0 01-.531-1.281h1.875c.062.281.219.523.469.719.257.199.597.296 1.015.296.406 0 .703-.082.89-.25.188-.164.282-.351.282-.562 0-.313-.137-.52-.406-.625a7.994 7.994 0 00-1.14-.344 11.28 11.28 0 01-.954-.234 5.044 5.044 0 01-.875-.375 2.081 2.081 0 01-.64-.578c-.168-.239-.25-.536-.25-.891 0-.633.253-1.172.765-1.61.508-.437 1.223-.656 2.14-.656.852 0 1.536.2 2.048.594.507.399.812.945.906 1.64h-1.75c-.117-.53-.524-.796-1.219-.796-.344 0-.61.07-.797.203-.187.137-.281.309-.281.516 0 .21.14.382.422.515.281.125.648.242 1.11.344.507.117.972.246 1.39.39.426.137.766.344 1.016.626.25.273.375.664.375 1.171.007.45-.11.856-.36 1.22-.242.355-.59.636-1.047.843-.449.195-.984.297-1.61.297zm0 0\",\n transform: \"translate(69.222 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 432,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(75.834 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 437,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8d0c53bb2c)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8007d6ee0b)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#e6e7ec391e)\",\n d: \"M4.355 5.473h11.72v18.144H4.354zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 444,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 443,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 442,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#b6080a64a5)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#2ec3ecbd14)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#f8c42d9774)\",\n d: \"M10.035 5.473h11.738v18.144H10.035zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 452,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 451,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 450,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9Mb2dvLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU8sU0FBU0EsS0FBS0MsS0FBSztJQUN4QixxQkFDRSw4REFBQ0M7UUFDREMsT0FBTTtRQUNOQyxZQUFXO1FBQ1hDLE9BQU07UUFDTkMsUUFBTztRQUNQQyxTQUFRO1FBQ1JDLFNBQVE7OzBCQUVSLDhEQUFDQzs7a0NBQ0MsOERBQUNDO3dCQUFPQyxJQUFHO3dCQUFhTixPQUFNO3dCQUFPQyxRQUFPO3dCQUFPTSxHQUFFO3dCQUFLQyxHQUFFO2tDQUMxRCw0RUFBQ0M7NEJBQ0NDLDJCQUEwQjs0QkFDMUJDLFFBQU87Ozs7Ozs7Ozs7O2tDQUdYLDhEQUFDQzt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDRjt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDQzt3QkFDQ1QsSUFBRzt3QkFDSFUsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsbUJBQWtCO3dCQUNsQkMsZUFBYzs7MENBRWQsOERBQUNDO2dDQUFLQyxRQUFPO2dDQUFJQyxXQUFVOzs7Ozs7MENBQzNCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFNQyxXQUFVOzs7Ozs7MENBQzdCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7Ozs7Ozs7O2tDQUU3Qiw4REFBQ1o7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0M7d0JBQ0NULElBQUc7d0JBQ0hVLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLG1CQUFrQjt3QkFDbEJDLGVBQWM7OzBDQUVkLDhEQUFDQztnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7OzBDQUMzQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFNQyxXQUFVOzs7Ozs7MENBQzdCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtn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Q29CLE1BQUs7d0JBQ0xuQixHQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTVoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9Mb2dvLmpzeD8yMDQxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBMb2dvKHByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHhtbG5zWGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICB3aWR0aD1cIjEzMFwiXG4gICAgaGVpZ2h0PVwiNDMuMzNcIlxuICAgIHZlcnNpb249XCIxXCJcbiAgICB2aWV3Qm94PVwiMCAwIDkwIDMwXCJcbiAgPlxuICAgIDxkZWZzPlxuICAgICAgPGZpbHRlciBpZD1cImJkZWYxNzBjMzlcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeD1cIjAlXCIgeT1cIjAlXCI+XG4gICAgICAgIDxmZUNvbG9yTWF0cml4XG4gICAgICAgICAgY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycz1cInNSR0JcIlxuICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDEgMFwiXG4gICAgICAgID48L2ZlQ29sb3JNYXRyaXg+XG4gICAgICA8L2ZpbHRlcj5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImFlODVmNWE0N2RcIj5cbiAgICAgICAgPHBhdGggZD1cIk00LjM1NSA1LjQ3M0gxNnYxOC4xNDRINC4zNTV6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI5NDc5NDkzYTQyXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDcgMjMuNDY5YTIuNjY1IDIuNjY1IDAgMDEtMi4zODMtMS41MDRMNC42NTcgOS4yNWEyLjYyIDIuNjIgMCAwMTEuMjU3LTMuNDkyQTIuNjIxIDIuNjIxIDAgMDE5LjQxIDcuMDE2bDYuMDI3IDEyLjcxNGEyLjYxOCAyLjYxOCAwIDAxLTIuMzY3IDMuNzM5em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGxpbmVhckdyYWRpZW50XG4gICAgICAgIGlkPVwiOTBhNTRmZWJlY1wiXG4gICAgICAgIHgxPVwiMTE3LjY3N1wiXG4gICAgICAgIHgyPVwiLTEwLjUyNlwiXG4gICAgICAgIHkxPVwiMjAyLjU2OVwiXG4gICAgICAgIHkyPVwiNi44MDlcIlxuICAgICAgICBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0LjM1NSA1LjQ3OSkgc2NhbGUoLjA5MTc0KVwiXG4gICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICA+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjBcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA2M1wiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDk0XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMDlcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjExN1wiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTI1XCIgc3RvcENvbG9yPVwiIzFFM0E4QlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMzNcIiBzdG9wQ29sb3I9XCIjMUYzQjhDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE0MVwiIHN0b3BDb2xvcj1cIiMxRjNDOERcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQ4XCIgc3RvcENvbG9yPVwiIzFGM0M4RVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNTZcIiBzdG9wQ29sb3I9XCIjMUYzRDhGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE2NFwiIHN0b3BDb2xvcj1cIiMyMDNFOTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTcyXCIgc3RvcENvbG9yPVwiIzIwM0U5MVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOFwiIHN0b3BDb2xvcj1cIiMyMDNGOTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTg4XCIgc3RvcENvbG9yPVwiIzIwNDA5MlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOTVcIiBzdG9wQ29sb3I9XCIjMjE0MDkzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIwM1wiIHN0b3BDb2xvcj1cIiMyMTQxOTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjExXCIgc3RvcENvbG9yPVwiIzIxNDI5NVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wQ29sb3I9XCIjMjI0Mjk2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIyN1wiIHN0b3BDb2xvcj1cIiMyMjQzOTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjM0XCIgc3RvcENvbG9yPVwiIzIyNDQ5OFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNDJcIiBzdG9wQ29sb3I9XCIjMjQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1XCIgc3RvcENvbG9yPVwiIzIzNDU5QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNThcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI2NlwiIHN0b3BDb2xvcj1cIiMyMzQ2OUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjczXCIgc3RvcENvbG9yPVwiIzIzNDc5RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yODFcIiBzdG9wQ29sb3I9XCIjMjQ0NzlFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4OVwiIHN0b3BDb2xvcj1cIiMyNDQ4OUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjk3XCIgc3RvcENvbG9yPVwiIzI0NDlBMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTlcIiBzdG9wQ29sb3I9XCIjMjU0OUExXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMwNVwiIHN0b3BDb2xvcj1cIiMyNTRBQTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzEzXCIgc3RvcENvbG9yPVwiIzI1NEFBMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMlwiIHN0b3BDb2xvcj1cIiMyNTRCQTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzI4XCIgc3RvcENvbG9yPVwiIzI1NEJBNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMzZcIiBzdG9wQ29sb3I9XCIjMjY0Q0E1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM0NFwiIHN0b3BDb2xvcj1cIiMyNjREQTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzUyXCIgc3RvcENvbG9yPVwiIzI2NERBN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTlcIiBzdG9wQ29sb3I9XCIjMjY0RUE4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM2N1wiIHN0b3BDb2xvcj1cIiMyNzRGQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzc1XCIgc3RvcENvbG9yPVwiIzI3NEZBQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zODNcIiBzdG9wQ29sb3I9XCIjMjc1MEFCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5MVwiIHN0b3BDb2xvcj1cIiMyNzUxQUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzk4XCIgc3RvcENvbG9yPVwiIzI4NTFBRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MDZcIiBzdG9wQ29sb3I9XCIjMjg1MkFFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQxNFwiIHN0b3BDb2xvcj1cIiMyODUzQUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDIyXCIgc3RvcENvbG9yPVwiIzI5NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40M1wiIHN0b3BDb2xvcj1cIiMyOTU0QjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDM4XCIgc3RvcENvbG9yPVwiIzI5NTRCMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NDVcIiBzdG9wQ29sb3I9XCIjMjk1NUIyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ1M1wiIHN0b3BDb2xvcj1cIiMyQTU2QjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDYxXCIgc3RvcENvbG9yPVwiIzJBNTZCNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjlcIiBzdG9wQ29sb3I9XCIjMkE1N0I1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ3N1wiIHN0b3BDb2xvcj1cIiMyQTU4QjZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDg0XCIgc3RvcENvbG9yPVwiIzJCNThCN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40OTJcIiBzdG9wQ29sb3I9XCIjMkI1OUI4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wQ29sb3I9XCIjMkI1QUI5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUwOFwiIHN0b3BDb2xvcj1cIiMyQzVBQkFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTE2XCIgc3RvcENvbG9yPVwiIzJDNUJCQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MjNcIiBzdG9wQ29sb3I9XCIjMkM1Q0JDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzMVwiIHN0b3BDb2xvcj1cIiMyQzVDQkRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTM5XCIgc3RvcENvbG9yPVwiIzJENURCRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NDdcIiBzdG9wQ29sb3I9XCIjMkQ1RUJGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU1NVwiIHN0b3BDb2xvcj1cIiMyRDVFQzBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTYzXCIgc3RvcENvbG9yPVwiIzJENUZDMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41N1wiIHN0b3BDb2xvcj1cIiMyRTYwQzJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTc4XCIgc3RvcENvbG9yPVwiIzJFNjBDM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41ODZcIiBzdG9wQ29sb3I9XCIjMkU2MUM0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU5NFwiIHN0b3BDb2xvcj1cIiMyRTYxQzVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjAyXCIgc3RvcENvbG9yPVwiIzJGNjJDNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDlcIiBzdG9wQ29sb3I9XCIjMkY2M0M3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYxN1wiIHN0b3BDb2xvcj1cIiMyRjYzQzhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjI1XCIgc3RvcENvbG9yPVwiIzMwNjRDOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MzNcIiBzdG9wQ29sb3I9XCIjMzA2NUNBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0MVwiIHN0b3BDb2xvcj1cIiMzMDY1Q0JcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQ4XCIgc3RvcENvbG9yPVwiIzMwNjZDQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NTZcIiBzdG9wQ29sb3I9XCIjMzE2N0NDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY2NFwiIHN0b3BDb2xvcj1cIiMzMTY3Q0RcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjcyXCIgc3RvcENvbG9yPVwiIzMxNjhDRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OFwiIHN0b3BDb2xvcj1cIiMzMTY5Q0ZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjg4XCIgc3RvcENvbG9yPVwiIzMyNjlEMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OTVcIiBzdG9wQ29sb3I9XCIjMzI2QUQxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcwMVwiIHN0b3BDb2xvcj1cIiMzMjZCRDJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzAzXCIgc3RvcENvbG9yPVwiIzMyNkJEM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MTFcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxOVwiIHN0b3BDb2xvcj1cIiMzMzZDRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzI3XCIgc3RvcENvbG9yPVwiIzMzNkRENVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MzRcIiBzdG9wQ29sb3I9XCIjMzM2REQ2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc0MlwiIHN0b3BDb2xvcj1cIiMzNDZFRDdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzVcIiBzdG9wQ29sb3I9XCIjMzQ2RkQ4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc1OFwiIHN0b3BDb2xvcj1cIiMzNDZGRDlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzY2XCIgc3RvcENvbG9yPVwiIzM0NzBEQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NzNcIiBzdG9wQ29sb3I9XCIjMzU3MERCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc4MVwiIHN0b3BDb2xvcj1cIiMzNTcxRENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzg5XCIgc3RvcENvbG9yPVwiIzM1NzJERFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43OTdcIiBzdG9wQ29sb3I9XCIjMzU3MkRFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgwNVwiIHN0b3BDb2xvcj1cIiMzNjczREZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODEzXCIgc3RvcENvbG9yPVwiIzM2NzRFMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MlwiIHN0b3BDb2xvcj1cIiMzNjc0RTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODI4XCIgc3RvcENvbG9yPVwiIzM3NzVFMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MzZcIiBzdG9wQ29sb3I9XCIjMzc3NkUzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg0NFwiIHN0b3BDb2xvcj1cIiMzNzc2RTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODUyXCIgc3RvcENvbG9yPVwiIzM3NzdFNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTlcIiBzdG9wQ29sb3I9XCIjMzg3OEU2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg2N1wiIHN0b3BDb2xvcj1cIiMzODc4RTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODc1XCIgc3RvcENvbG9yPVwiIzM4NzlFOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44ODNcIiBzdG9wQ29sb3I9XCIjMzg3QUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg5MVwiIHN0b3BDb2xvcj1cIiMzOTdBRTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODk4XCIgc3RvcENvbG9yPVwiIzM5N0JFQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MDZcIiBzdG9wQ29sb3I9XCIjMzk3Q0VCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkxNFwiIHN0b3BDb2xvcj1cIiMzOTdDRUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTIyXCIgc3RvcENvbG9yPVwiIzNBN0RFRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45M1wiIHN0b3BDb2xvcj1cIiMzQTdERUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTM4XCIgc3RvcENvbG9yPVwiIzNBN0VFRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NDVcIiBzdG9wQ29sb3I9XCIjM0I3RkYwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk1M1wiIHN0b3BDb2xvcj1cIiMzQjdGRjFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTYxXCIgc3RvcENvbG9yPVwiIzNCODBGMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjlcIiBzdG9wQ29sb3I9XCIjM0I4MUYzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk3N1wiIHN0b3BDb2xvcj1cIiMzQzgxRjRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTg0XCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3BDb2xvcj1cIiMzQzgyRjVcIj48L3N0b3A+XG4gICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgPGNsaXBQYXRoIGlkPVwiNzE2OTljMDk5MlwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEwIDUuNDczaDExLjc3M3YxOC4xNDRIMTB6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCIzOWM0OTY1MzQ0XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDU1IDIzLjQ2OWMtLjM3NSAwLS43Ny0uMDc4LTEuMTMtLjI2Ni0xLjMxMi0uNjE3LTEuODc4LTIuMTk1LTEuMjU3LTMuNDkybDYuMDMxLTEyLjcxNWMuNjE3LTEuMzEyIDIuMTk2LTEuODc5IDMuNDkyLTEuMjU4IDEuMzE3LjYyMSAxLjg4IDIuMiAxLjI1OCAzLjQ5MmwtNi4wMjcgMTIuNzE1Yy0uNDM0Ljk3Ny0xLjM3MSAxLjUyNC0yLjM2NyAxLjUyNHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgICBpZD1cIjVjNDkzZTg0NTlcIlxuICAgICAgICB4MT1cIjE4OC45OTZcIlxuICAgICAgICB4Mj1cIjEzMC43OTNcIlxuICAgICAgICB5MT1cIi0wLjMyM1wiXG4gICAgICAgIHkyPVwiMjE0LjY5MVwiXG4gICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuMzU1IDUuNDc5KSBzY2FsZSguMDkxNzQpXCJcbiAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDA4XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMTZcIiBzdG9wQ29sb3I9XCIjMUUzQjhCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAyM1wiIHN0b3BDb2xvcj1cIiMxRjNCOENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDMxXCIgc3RvcENvbG9yPVwiIzFGM0M4RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMzlcIiBzdG9wQ29sb3I9XCIjMUYzQzhFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA0N1wiIHN0b3BDb2xvcj1cIiMxRjNEOEZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDU1XCIgc3RvcENvbG9yPVwiIzIwM0U5MFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNjNcIiBzdG9wQ29sb3I9XCIjMjAzRTkwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA3XCIgc3RvcENvbG9yPVwiIzIwM0Y5MVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNzhcIiBzdG9wQ29sb3I9XCIjMjAzRjkyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA4NlwiIHN0b3BDb2xvcj1cIiMyMTQwOTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDk0XCIgc3RvcENvbG9yPVwiIzIxNDE5NFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMDJcIiBzdG9wQ29sb3I9XCIjMjE0MTk1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwOVwiIHN0b3BDb2xvcj1cIiMyMTQyOTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTE3XCIgc3RvcENvbG9yPVwiIzIyNDI5NlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMjVcIiBzdG9wQ29sb3I9XCIjMjI0Mzk3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEzM1wiIHN0b3BDb2xvcj1cIiMyMjQzOThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQxXCIgc3RvcENvbG9yPVwiIzI0OVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDhcIiBzdG9wQ29sb3I9XCIjMjM0NTlBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1XCIgc3RvcENvbG9yPVwiIzIzNDU5QlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNTZcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE2NFwiIHN0b3BDb2xvcj1cIiMyMzQ2OUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTcyXCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOFwiIHN0b3BDb2xvcj1cIiMyMzQ3OURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTg4XCIgc3RvcENvbG9yPVwiIzI0NDg5RVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOTVcIiBzdG9wQ29sb3I9XCIjMjQ0ODlGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIwM1wiIHN0b3BDb2xvcj1cIiMyNDQ5QTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjExXCIgc3RvcENvbG9yPVwiIzI0NDlBMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wQ29sb3I9XCIjMjU0QUEyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIyN1wiIHN0b3BDb2xvcj1cIiMyNTRBQTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjM0XCIgc3RvcENvbG9yPVwiIzI1NEJBM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNDJcIiBzdG9wQ29sb3I9XCIjMjU0Q0E0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1XCIgc3RvcENvbG9yPVwiIzI2NENBNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNThcIiBzdG9wQ29sb3I9XCIjMjY0REE2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI2NlwiIHN0b3BDb2xvcj1cIiMyNjREQTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjczXCIgc3RvcENvbG9yPVwiIzI2NEVBOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yODFcIiBzdG9wQ29sb3I9XCIjMjc0RUE5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4OVwiIHN0b3BDb2xvcj1cIiMyNzRGQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjk3XCIgc3RvcENvbG9yPVwiIzI3NTBBQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMDVcIiBzdG9wQ29sb3I9XCIjMjc1MEFCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMxM1wiIHN0b3BDb2xvcj1cIiMyODUxQUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzJcIiBzdG9wQ29sb3I9XCIjMjg1MUFEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMyOFwiIHN0b3BDb2xvcj1cIiMyODUyQUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzM2XCIgc3RvcENvbG9yPVwiIzI4NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNDRcIiBzdG9wQ29sb3I9XCIjMjk1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM1MlwiIHN0b3BDb2xvcj1cIiMyOTU0QjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzU5XCIgc3RvcENvbG9yPVwiIzI5NTRCMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNjdcIiBzdG9wQ29sb3I9XCIjMjk1NUIyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM3NVwiIHN0b3BDb2xvcj1cIiMyOTU1QjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzgzXCIgc3RvcENvbG9yPVwiIzJBNTZCNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zOTFcIiBzdG9wQ29sb3I9XCIjMkE1N0I1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5OFwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDA2XCIgc3RvcENvbG9yPVwiIzJBNThCNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MTRcIiBzdG9wQ29sb3I9XCIjMkI1OEI3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQyMlwiIHN0b3BDb2xvcj1cIiMyQjU5QjhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDNcIiBzdG9wQ29sb3I9XCIjMkI1OUI5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQzOFwiIHN0b3BDb2xvcj1cIiMyQjVBQkFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDQ1XCIgc3RvcENvbG9yPVwiIzJDNUJCQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NTNcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ2MVwiIHN0b3BDb2xvcj1cIiMyQzVDQkNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDY5XCIgc3RvcENvbG9yPVwiIzJDNUNCRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NzdcIiBzdG9wQ29sb3I9XCIjMkQ1REJFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ4NFwiIHN0b3BDb2xvcj1cIiMyRDVFQkZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDkyXCIgc3RvcENvbG9yPVwiIzJENUVDMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcENvbG9yPVwiIzJENUZDMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MDhcIiBzdG9wQ29sb3I9XCIjMkU1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUxNlwiIHN0b3BDb2xvcj1cIiMyRTYwQzJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTIzXCIgc3RvcENvbG9yPVwiIzJFNjBDM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MzFcIiBzdG9wQ29sb3I9XCIjMkU2MUM0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzOVwiIHN0b3BDb2xvcj1cIiMyRjYyQzVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTQ3XCIgc3RvcENvbG9yPVwiIzJGNjJDNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NTVcIiBzdG9wQ29sb3I9XCIjMkY2M0M3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU2M1wiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTdcIiBzdG9wQ29sb3I9XCIjMkY2NEM4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU3OFwiIHN0b3BDb2xvcj1cIiMzMDY0QzlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTg2XCIgc3RvcENvbG9yPVwiIzMwNjVDQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41OTRcIiBzdG9wQ29sb3I9XCIjMzA2NkNCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYwMlwiIHN0b3BDb2xvcj1cIiMzMDY2Q0NcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjA5XCIgc3RvcENvbG9yPVwiIzMxNjdDRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MTdcIiBzdG9wQ29sb3I9XCIjMzE2N0NEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYyNVwiIHN0b3BDb2xvcj1cIiMzMTY4Q0VcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjMzXCIgc3RvcENvbG9yPVwiIzMxNjlDRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NDFcIiBzdG9wQ29sb3I9XCIjMzI2OUQwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0OFwiIHN0b3BDb2xvcj1cIiMzMjZBRDFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjU2XCIgc3RvcENvbG9yPVwiIzMyNkFEMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NjRcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY3MlwiIHN0b3BDb2xvcj1cIiMzMzZCRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjhcIiBzdG9wQ29sb3I9XCIjMzM2Q0Q0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY4OFwiIHN0b3BDb2xvcj1cIiMzMzZERDVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjk1XCIgc3RvcENvbG9yPVwiIzMzNkRENlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MDNcIiBzdG9wQ29sb3I9XCIjMzQ2RUQ3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxMVwiIHN0b3BDb2xvcj1cIiMzNDZFRDhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzE5XCIgc3RvcENvbG9yPVwiIzM0NkZEOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MjdcIiBzdG9wQ29sb3I9XCIjMzQ3MERBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjczNFwiIHN0b3BDb2xvcj1cIiMzNDcwREFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzQyXCIgc3RvcENvbG9yPVwiIzM1NzFEQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NVwiIHN0b3BDb2xvcj1cIiMzNTcxRENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzU4XCIgc3RvcENvbG9yPVwiIzM1NzJERFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NjZcIiBzdG9wQ29sb3I9XCIjMzU3MkRFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc3M1wiIHN0b3BDb2xvcj1cIiMzNjczREZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzgxXCIgc3RvcENvbG9yPVwiIzM2NzRFMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODlcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc5N1wiIHN0b3BDb2xvcj1cIiMzNjc1RTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODA1XCIgc3RvcENvbG9yPVwiIzM3NzVFMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MTNcIiBzdG9wQ29sb3I9XCIjMzc3NkUzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyXCIgc3RvcENvbG9yPVwiIzM3NzZFNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MjhcIiBzdG9wQ29sb3I9XCIjMzc3N0U1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgzNlwiIHN0b3BDb2xvcj1cIiMzODc4RTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODQ0XCIgc3RvcENvbG9yPVwiIzM4NzhFNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NVwiIHN0b3BDb2xvcj1cIiMzODc5RTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODUyXCIgc3RvcENvbG9yPVwiIzM4NzlFOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTlcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg2N1wiIHN0b3BDb2xvcj1cIiMzOTdBRTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODc1XCIgc3RvcENvbG9yPVwiIzM5N0JFQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44ODNcIiBzdG9wQ29sb3I9XCIjMzk3QkVCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg5MVwiIHN0b3BDb2xvcj1cIiMzOTdDRUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODk4XCIgc3RvcENvbG9yPVwiIzNBN0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MDZcIiBzdG9wQ29sb3I9XCIjM0E3REVEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkxNFwiIHN0b3BDb2xvcj1cIiMzQTdERUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTIyXCIgc3RvcENvbG9yPVwiIzNBN0VFRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45M1wiIHN0b3BDb2xvcj1cIiMzQTdGRjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTM4XCIgc3RvcENvbG9yPVwiIzNCN0ZGMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NDVcIiBzdG9wQ29sb3I9XCIjM0I4MEYyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk1M1wiIHN0b3BDb2xvcj1cIiMzQjgwRjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTYxXCIgc3RvcENvbG9yPVwiIzNCODFGM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjlcIiBzdG9wQ29sb3I9XCIjM0M4MUY0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI4ZDBjNTNiYjJjXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNNC4zNTUgNS40NzNIMTZ2MTguMTQ0SDQuMzU1em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiODAwN2Q2ZWUwYlwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjA3NCAyMy42MjFjLS45OCAwLTEuOTQxLS41NjYtMi4zOTQtMS41MTJMNC42MiA5LjMzNmEyLjYyOCAyLjYyOCAwIDAxMS4yNjItMy41MDhBMi42MzIgMi42MzIgMCAwMTkuMzk1IDcuMDlsNi4wNTggMTIuNzczYTIuNjM5IDIuNjM5IDAgMDEtMS4yNjUgMy41MTJjLS4zNi4xNjgtLjczNS4yNDYtMS4xMTQuMjQ2em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGltYWdlXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFsVWxFUVZRNGphMlR3UXFFTUF3RlIxM3QvN04vcXV6ZGk0R2F0Y2tMS0JSOGd0Tk0ya3pBRnppQXZWdVdmNGpQRERSZ3UxWnorVk1CUFFINlhLNm9jUWZZKzFJQlJYcE5CVVVBeTNPMUlxL1hmNU1xR3YzY2J4QldsUjIvejVLYW9qZGxhcXJlc0ZmcThhZDZ2dGtLOExHcVViT3oyNTVXcE9yOXdhSlpLdzF6MU94TWIvT2dWL1RzMmxjQmxsY1BXa1NkNFRDZjQ4d05EMnF2RWx3QUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgPjwvaW1hZ2U+XG4gICAgICA8bWFzayBpZD1cImM4ODJlYTM5YThcIj5cbiAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNiZGVmMTcwYzM5KVwiPlxuICAgICAgICAgIDxpbWFnZVxuICAgICAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJJQUFBQVVDQVlBQUFDQWwyMUtBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBbFVsRVFWUTRqYTJUd1FxRU1Bd0ZSMTN0LzdOL3F1emRpNEdhdGNrTEtCUjhndE5NMmt6QUZ6aUF2VnVXZjRqUEREUmd1MVp6K1ZNQlBRSDZYSzZvY1FmWSsxSUJSWHBOQlVVQXkzTzFJcS9YZjVNcUd2M2NieEJXbFIyL3o1S2FvamRsYXFyZXNGZnE4YWQ2dnRrSzhMR3FVYk96MjU1V3BPcjl3YUpaS3cxejFPeE1iL09nVi9UczJsY0JsbGNQV2tTZDRUQ2Y0OHdORDJxdkVsd0FBQUFBU1VWT1JLNUNZSUk9XCJcbiAgICAgICAgICA+PC9pbWFnZT5cbiAgICAgICAgPC9nPlxuICAgICAgPC9tYXNrPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiOTc5MWQ1YTA5ZFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTAgMEgxOFYyMEgwelwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8cGF0dGVyblxuICAgICAgICBpZD1cImU2ZTdlYzM5MWVcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgcGF0dGVyblRyYW5zZm9ybT1cIm1hdHJpeCguOTY3NzQgMCAwIC0uOTY3NzQgNC4zNTUgMjQuMTE2KVwiXG4gICAgICAgIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDIwXCJcbiAgICAgID5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzk3OTFkNWEwOWQpXCIgbWFzaz1cInVybCgjYzg4MmVhMzlhOClcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIiMzYzgyZjVcIlxuICAgICAgICAgICAgZD1cIk0tMjQuOTYgLTEyLjlIMTA4Ljk1OTk5OTk5OTk5OTk4VjMxLjc0MDAwMDAwMDAwMDAwMkgtMjQuOTZ6XCJcbiAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L3BhdHRlcm4+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJiNjA4MGE2NGE1XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTAgNS40NzNoMTEuNzczdjE4LjE0NEgxMHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjJlYzNlY2JkMTRcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNTUgMjMuNjIxYy0uMzc1IDAtLjc3NC0uMDc4LTEuMTMzLS4yNjYtMS4zMi0uNjItMS44ODctMi4yMDctMS4yNjItMy41MDdMMTYuNzIgNy4wNzRjLjYyLTEuMzI0IDIuMjA3LTEuODkgMy41MDgtMS4yNjUgMS4zMi42MiAxLjg4NiAyLjIwNyAxLjI2NSAzLjUwN0wxNS40MzQgMjIuMDljLS40MzQuOTgtMS4zOCAxLjUzMS0yLjM4IDEuNTMxem0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGltYWdlXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFka2xFUVZRNGpiM1MwUXJBSUFnRlVBZjcvOC9kQnJYYVM0RVRLNitPWFloRTZCVFNSa1NWNXNsdEpiRy9ldnNFa0FjaHFLS0FoSW9YNE5BVkFUaDBSSUN2b2F4QkVOQnJEcmtBRHAwUlFMN29OMmg1eVFveXoyMEVRWDlJZzJDZzF4SEkvTE9SdWQwSXBQVUt0WGlnUkVvc0VLK0hlUUQyQ1VOYXUrQUQwUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICA+PC9pbWFnZT5cbiAgICAgIDxtYXNrIGlkPVwiZDdkZGExYTA2M1wiPlxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2JkZWYxNzBjMzkpXCI+XG4gICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFka2xFUVZRNGpiM1MwUXJBSUFnRlVBZjcvOC9kQnJYYVM0RVRLNitPWFloRTZCVFNSa1NWNXNsdEpiRy9ldnNFa0FjaHFLS0FoSW9YNE5BVkFUaDBSSUN2b2F4QkVOQnJEcmtBRHAwUlFMN29OMmg1eVFveXoyMEVRWDlJZzJDZzF4SEkvTE9SdWQwSXBQVUt0WGlnUkVvc0VLK0hlUUQyQ1VOYXUrQUQwUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICAgICAgPjwvaW1hZ2U+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImM4N2MxOGI2YzhcIj5cbiAgICAgICAgPHBhdGggZD1cIk0wIDBIMThWMjBIMHpcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPHBhdHRlcm5cbiAgICAgICAgaWQ9XCJmOGM0MmQ5Nzc0XCJcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHBhdHRlcm5UcmFuc2Zvcm09XCJtYXRyaXgoLjk2Nzc0IDAgMCAtLjk2Nzc0IDQuMzU1IDI0LjExNilcIlxuICAgICAgICBwYXR0ZXJuVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxOCAyMFwiXG4gICAgICA+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjODdjMThiNmM4KVwiIG1hc2s9XCJ1cmwoI2Q3ZGRhMWEwNjMpXCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGw9XCIjM2M4MmY1XCJcbiAgICAgICAgICAgIGQ9XCJNLTI0Ljk2IC0xMi45SDEwOC45NTk5OTk5OTk5OTk5OFYzMS43NDAwMDAwMDAwMDAwMDJILTI0Ljk2elwiXG4gICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgPC9nPlxuICAgICAgPC9wYXR0ZXJuPlxuICAgIDwvZGVmcz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjYWU4NWY1YTQ3ZClcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCM5NDc5NDkzYTQyKVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoIzkwYTU0ZmViZWMpXCJcbiAgICAgICAgICBkPVwiTTQuMzU1IDUuNDczdjE3Ljk5NkgxNi4wNlY1LjQ3M3ptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzcxNjk5YzA5OTIpXCI+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjMzljNDk2NTM0NClcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwidXJsKCM1YzQ5M2U4NDU5KVwiXG4gICAgICAgICAgZD1cIk0xMC4wNDcgNS40NzN2MTcuOTk2aDExLjcyNlY1LjQ3M3ptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNNS43NjYuMTcyYy0xLjAyNCAwLTEuOTE0LS4yMTktMi42NzItLjY1NmE0Ljc4MyA0Ljc4MyAwIDAxLTEuNzk3LTEuODZjLS40My0uNzg5LS42NC0xLjcwNy0uNjQtMi43NSAwLTEuMDMxLjIxLTEuOTQxLjY0LTIuNzM0YTQuODM3IDQuODM3IDAgMDExLjc5Ny0xLjg2Yy43NTgtLjQ0NSAxLjY0OC0uNjcxIDIuNjcyLS42NzEgMSAwIDEuODgyLjIyNiAyLjY1Ni42NzEuNzcuNDUgMS4zNjcgMS4wNyAxLjc5NyAxLjg2LjQyNi43OTMuNjQgMS43MDMuNjQgMi43MzQgMCAxLjA0My0uMjE0IDEuOTYxLS42NCAyLjc1YTQuNjc3IDQuNjc3IDAgMDEtMS43OTcgMS44NmMtLjc3NC40MzctMS42NTYuNjU2LTIuNjU2LjY1NnptMC0xLjY3MmMuOTY4IDAgMS43MzgtLjMxNiAyLjMxMi0uOTUzLjU4Mi0uNjQ1Ljg3NS0xLjUyNC44NzUtMi42NCAwLTEuMTE0LS4yOTMtMS45ODktLjg3NS0yLjYyNi0uNTc0LS42NDQtMS4zNDQtLjk2OC0yLjMxMi0uOTY4LS45NyAwLTEuNzQ2LjMyNC0yLjMyOS45NjgtLjU4NS42MzctLjg3NCAxLjUxMi0uODc0IDIuNjI1IDAgMS4xMTcuMjg5IDEuOTk2Ljg3NCAyLjY0LjU4My42MzggMS4zNi45NTQgMi4zMjkuOTU0em0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDI0LjYzNiAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNMy42NTYuMTcyYy0uOTA2IDAtMS42MDUtLjI4MS0yLjA5NC0uODQ0QzEuMDctMS4yMzQuODI5LTIuMDU1LjgyOS0zLjE0di00LjA3OGgxLjg0NHYzLjkwN2MwIC42MTcuMTI1IDEuMDkuMzc1IDEuNDIxLjI1OC4zMzYuNjYuNSAxLjIwMy41LjUwOCAwIC45My0uMTggMS4yNjYtLjU0Ni4zMzItLjM3NS41LS44OTEuNS0xLjU0N1YtNy4yMkg3Ljg5VjBINi4yMzRsLS4xNC0xLjIxOWEyLjQ1IDIuNDUgMCAwMS0uOTY5IDEuMDE2Yy0uNDE4LjI1LS45MDYuMzc1LTEuNDY5LjM3NXptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzNS4xMTQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTS45NTMgMHYtNy4yMTlIMi42MWwuMTcyIDEuMzZhMi45MjkgMi45MjkgMCAwMTEuMDYzLTEuMTFjLjQ1Ny0uMjgxLjk4OC0uNDIyIDEuNTk0LS40MjJ2MS45N2gtLjUxNmEzIDMgMCAwMC0xLjA5NC4xODcgMS40MyAxLjQzIDAgMDAtLjc1LjY1NmMtLjE4LjMxMi0uMjY1Ljc0Ni0uMjY1IDEuMjk3VjB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDIuOTMyIDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjkzOCAwTC4yMTctMTAuMTg4aDJsMi44NzYgOC4yODIgMi44OS04LjI4MWgxLjk3TDYuMjE4IDB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDcuNjcgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTQuNDUzLjE3MmMtLjczIDAtMS4zNzUtLjE1Mi0xLjkzNy0uNDUzYTMuNDA0IDMuNDA0IDAgMDEtMS4zMjktMS4zMTNDLjg3NS0yLjE1Ni43Mi0yLjgwNC43Mi0zLjU0N2MwLS43NS4xNTYtMS40MTQuNDY5LTJhMy4zOTcgMy4zOTcgMCAwMTEuMjk2LTEuMzZjLjU2My0uMzIgMS4yMjMtLjQ4NCAxLjk4NS0uNDg0LjcwNyAwIDEuMzMyLjE1NyAxLjg3NS40Ny41MzkuMzEyLjk2Ljc0MSAxLjI2NSAxLjI4LjMxMy41MzIuNDcgMS4xMjUuNDcgMS43ODIgMCAuMTE3LS4wMDkuMjMtLjAxNy4zNDMgMCAuMTE4LS4wMDcuMjM1LS4wMTUuMzZIMi41NjJjLjA0LjU2Mi4yMzkgMS4wMDguNTk0IDEuMzI4LjM1Mi4zMTIuNzgxLjQ2OSAxLjI4MS40NjkuMzc1IDAgLjY5Mi0uMDgyLjk1NC0uMjUuMjU3LS4xNjQuNDUzLS4zODMuNTc4LS42NTdoMS44OUEzLjQ0NyAzLjQ0NyAwIDAxNi4wMTUtLjE0YTMuNzcgMy43NyAwIDAxLTEuNTYyLjMxM3ptLjAxNi02LjA0N2MtLjQ2MSAwLS44NjcuMTMzLTEuMjE5LjM5LS4zNDQuMjUtLjU2My42MzctLjY1NiAxLjE1N2gzLjU5NGMtLjAzMi0uNDY5LS4yMTEtLjg0NC0uNTMyLTEuMTI1LS4zMjQtLjI4MS0uNzE4LS40MjItMS4xODctLjQyMnptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1Ni44MTEgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTS45NTMgMHYtNy4yMTlIMi42MWwuMTcyIDEuMzZhMi45MjkgMi45MjkgMCAwMTEuMDYzLTEuMTFjLjQ1Ny0uMjgxLjk4OC0uNDIyIDEuNTk0LS40MjJ2MS45N2gtLjUxNmEzIDMgMCAwMC0xLjA5NC4xODcgMS40MyAxLjQzIDAgMDAtLjc1LjY1NmMtLjE4LjMxMi0uMjY1Ljc0Ni0uMjY1IDEuMjk3VjB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjQuNDg0IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjkyMi4xNzJjLS42MzcgMC0xLjItLjEwNi0xLjY4OC0uMzEzLS40OC0uMjA3LS44NjctLjQ5Mi0xLjE1Ni0uODU5YTIuNTggMi41OCAwIDAxLS41MzEtMS4yODFoMS44NzVjLjA2Mi4yODEuMjE5LjUyMy40NjkuNzE5LjI1Ny4xOTkuNTk3LjI5NiAxLjAxNS4yOTYuNDA2IDAgLjcwMy0uMDgyLjg5LS4yNS4xODgtLjE2NC4yODItLjM1MS4yODItLjU2MiAwLS4zMTMtLjEzNy0uNTItLjQwNi0uNjI1YTcuOTk0IDcuOTk0IDAgMDAtMS4xNC0uMzQ0IDExLjI4IDExLjI4IDAgMDEtLjk1NC0uMjM0IDUuMDQ0IDUuMDQ0IDAgMDEtLjg3NS0uMzc1IDIuMDgxIDIuMDgxIDAgMDEtLjY0LS41NzhjLS4xNjgtLjIzOS0uMjUtLjUzNi0uMjUtLjg5MSAwLS42MzMuMjUzLTEuMTcyLjc2NS0xLjYxLjUwOC0uNDM3IDEuMjIzLS42NTYgMi4xNC0uNjU2Ljg1MiAwIDEuNTM2LjIgMi4wNDguNTk0LjUwNy4zOTkuODEyLjk0NS45MDYgMS42NGgtMS43NWMtLjExNy0uNTMtLjUyNC0uNzk2LTEuMjE5LS43OTYtLjM0NCAwLS42MS4wNy0uNzk3LjIwMy0uMTg3LjEzNy0uMjgxLjMwOS0uMjgxLjUxNiAwIC4yMS4xNC4zODIuNDIyLjUxNS4yODEuMTI1LjY0OC4yNDIgMS4xMS4zNDQuNTA3LjExNy45NzIuMjQ2IDEuMzkuMzkuNDI2LjEzNy43NjYuMzQ0IDEuMDE2LjYyNi4yNS4yNzMuMzc1LjY2NC4zNzUgMS4xNzEuMDA3LjQ1LS4xMS44NTYtLjM2IDEuMjItLjI0Mi4zNTUtLjU5LjYzNi0xLjA0Ny44NDMtLjQ0OS4xOTUtLjk4NC4yOTctMS42MS4yOTd6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjkuMjIyIDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk00LjQ1My4xNzJjLS43MyAwLTEuMzc1LS4xNTItMS45MzctLjQ1M2EzLjQwNCAzLjQwNCAwIDAxLTEuMzI5LTEuMzEzQy44NzUtMi4xNTYuNzItMi44MDQuNzItMy41NDdjMC0uNzUuMTU2LTEuNDE0LjQ2OS0yYTMuMzk3IDMuMzk3IDAgMDExLjI5Ni0xLjM2Yy41NjMtLjMyIDEuMjIzLS40ODQgMS45ODUtLjQ4NC43MDcgMCAxLjMzMi4xNTcgMS44NzUuNDcuNTM5LjMxMi45Ni43NDEgMS4yNjUgMS4yOC4zMTMuNTMyLjQ3IDEuMTI1LjQ3IDEuNzgyIDAgLjExNy0uMDA5LjIzLS4wMTcuMzQzIDAgLjExOC0uMDA3LjIzNS0uMDE1LjM2SDIuNTYyYy4wNC41NjIuMjM5IDEuMDA4LjU5NCAxLjMyOC4zNTIuMzEyLjc4MS40NjkgMS4yODEuNDY5LjM3NSAwIC42OTItLjA4Mi45NTQtLjI1LjI1Ny0uMTY0LjQ1My0uMzgzLjU3OC0uNjU3aDEuODlBMy40NDcgMy40NDcgMCAwMTYuMDE1LS4xNGEzLjc3IDMuNzcgMCAwMS0xLjU2Mi4zMTN6bS4wMTYtNi4wNDdjLS40NjEgMC0uODY3LjEzMy0xLjIxOS4zOS0uMzQ0LjI1LS41NjMuNjM3LS42NTYgMS4xNTdoMy41OTRjLS4wMzItLjQ2OS0uMjExLS44NDQtLjUzMi0xLjEyNS0uMzI0LS4yODEtLjcxOC0uNDIyLTEuMTg3LS40MjJ6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzUuODM0IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjOGQwYzUzYmIyYylcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCM4MDA3ZDZlZTBiKVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoI2U2ZTdlYzM5MWUpXCJcbiAgICAgICAgICBkPVwiTTQuMzU1IDUuNDczaDExLjcydjE4LjE0NEg0LjM1NHptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2I2MDgwYTY0YTUpXCI+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjMmVjM2VjYmQxNClcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwidXJsKCNmOGM0MmQ5Nzc0KVwiXG4gICAgICAgICAgZD1cIk0xMC4wMzUgNS40NzNoMTEuNzM4djE4LjE0NEgxMC4wMzV6bTAgMFwiXG4gICAgICAgID48L3BhdGg+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxvZ28iLCJwcm9wcyIsInN2ZyIsInhtbG5zIiwieG1sbnNYbGluayIsIndpZHRoIiwiaGVpZ2h0IiwidmVyc2lvbiIsInZpZXdCb3giLCJkZWZzIiwiZmlsdGVyIiwiaWQiLCJ4IiwieSIsImZlQ29sb3JNYXRyaXgiLCJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwidmFsdWVzIiwiY2xpcFBhdGgiLCJwYXRoIiwiZCIsImxpbmVhckdyYWRpZW50IiwieDEiLCJ4MiIsInkxIiwieTIiLCJncmFkaWVudFRyYW5zZm9ybSIsImdyYWRpZW50VW5pdHMiLCJzdG9wIiwib2Zmc2V0Iiwic3RvcENvbG9yIiwiaW1hZ2UiLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieGxpbmtIcmVmIiwibWFzayIsImciLCJwYXR0ZXJuIiwicGF0dGVyblRyYW5zZm9ybSIsInBhdHRlcm5Vbml0cyIsImZpbGwiLCJ0cmFuc2Zvcm0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Logo.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Newsletter.jsx": -/*!***************************************!*\ - !*** ./src/components/Newsletter.jsx ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Newsletter: () => (/* binding */ Newsletter)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(rsc)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(rsc)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _images_background_newsletter_jpg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/images/background-newsletter.jpg */ \"(rsc)/./src/images/background-newsletter.jpg\");\n\n\n\n\n\nfunction ArrowRightIcon(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 24 24\",\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"m14 7 5 5-5 5M19 12H5\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 10,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 9,\n columnNumber: 5\n }, this);\n}\nfunction Newsletter() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"newsletter\",\n \"aria-label\": \"Newsletter\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 overflow-hidden bg-indigo-50 px-4 py-20 sm:-mx-6 sm:px-6 md:mx-0 md:rounded-5xl md:px-16 xl:px-24 xl:py-36\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: \"absolute left-1/2 top-0 translate-x-[-10%] translate-y-[-45%] lg:translate-x-[-32%]\",\n src: _images_background_newsletter_jpg__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n alt: \"\",\n width: 919,\n height: 1351,\n unoptimized: true\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 27,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mx-auto grid max-w-2xl grid-cols-1 gap-x-32 gap-y-14 xl:max-w-none xl:grid-cols-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-900 sm:text-5xl\",\n children: \"Stay up to date\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 37,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-lg tracking-tight text-blue-900\",\n children: \"Get updates on all of our events and be the first to get notified when tickets go on sale.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 36,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold tracking-tight text-blue-900\",\n children: [\n \"Sign up to our newsletter \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n \"aria-hidden\": \"true\",\n children: \"↓\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 47,\n columnNumber: 43\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 46,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-5 flex rounded-3xl bg-white py-2.5 pr-2.5 shadow-xl shadow-blue-900/5 focus-within:ring-2 focus-within:ring-blue-900\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"email\",\n required: true,\n placeholder: \"Email address\",\n \"aria-label\": \"Email address\",\n className: \"-my-2.5 flex-auto bg-transparent pl-6 pr-2.5 text-base text-slate-900 placeholder:text-slate-400 focus:outline-none\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 50,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n type: \"submit\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only sm:not-sr-only\",\n children: \"Sign up today\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 58,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ArrowRightIcon, {\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 60,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 59,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 57,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 49,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 35,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 26,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 25,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 24,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9OZXdzbGV0dGVyLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUE4QjtBQUVjO0FBQ007QUFDYztBQUVoRSxTQUFTSSxlQUFlQyxLQUFLO0lBQzNCLHFCQUNFLDhEQUFDQztRQUFJQyxlQUFZO1FBQU9DLFNBQVE7UUFBYSxHQUFHSCxLQUFLO2tCQUNuRCw0RUFBQ0k7WUFDQ0MsR0FBRTtZQUNGQyxNQUFLO1lBQ0xDLFFBQU87WUFDUEMsYUFBWTtZQUNaQyxlQUFjO1lBQ2RDLGdCQUFlOzs7Ozs7Ozs7OztBQUl2QjtBQUVPLFNBQVNDO0lBQ2QscUJBQ0UsOERBQUNDO1FBQVFDLElBQUc7UUFBYUMsY0FBVztrQkFDbEMsNEVBQUNqQiw0REFBU0E7c0JBQ1IsNEVBQUNrQjtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNyQixrREFBS0E7d0JBQ0pxQixXQUFVO3dCQUNWQyxLQUFLbkIseUVBQWVBO3dCQUNwQm9CLEtBQUk7d0JBQ0pDLE9BQU87d0JBQ1BDLFFBQVE7d0JBQ1JDLFdBQVc7Ozs7OztrQ0FFYiw4REFBQ047d0JBQUlDLFdBQVU7OzBDQUNiLDhEQUFDRDs7a0RBQ0MsOERBQUNPO3dDQUFFTixXQUFVO2tEQUErRTs7Ozs7O2tEQUc1Riw4REFBQ007d0NBQUVOLFdBQVU7a0RBQTRDOzs7Ozs7Ozs7Ozs7MENBSzNELDhEQUFDTzs7a0RBQ0MsOERBQUNDO3dDQUFHUixXQUFVOzs0Q0FBcUQ7MERBQ3ZDLDhEQUFDUztnREFBS3ZCLGVBQVk7MERBQU87Ozs7Ozs7Ozs7OztrREFFckQsOERBQUNhO3dDQUFJQyxXQUFVOzswREFDYiw4REFBQ1U7Z0RBQ0NDLE1BQUs7Z0RBQ0xDLFFBQVE7Z0RBQ1JDLGFBQVk7Z0RBQ1pmLGNBQVc7Z0RBQ1hFLFdBQVU7Ozs7OzswREFFWiw4REFBQ3BCLHNEQUFNQTtnREFBQytCLE1BQUs7O2tFQUNYLDhEQUFDRjt3REFBS1QsV0FBVTtrRUFBeUI7Ozs7OztrRUFDekMsOERBQUNTO3dEQUFLVCxXQUFVO2tFQUNkLDRFQUFDakI7NERBQWVpQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVOUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9OZXdzbGV0dGVyLmpzeD83OTk5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvQnV0dG9uJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCBiYWNrZ3JvdW5kSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYmFja2dyb3VuZC1uZXdzbGV0dGVyLmpwZydcblxuZnVuY3Rpb24gQXJyb3dSaWdodEljb24ocHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB7Li4ucHJvcHN9PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIm0xNCA3IDUgNS01IDVNMTkgMTJINVwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBOZXdzbGV0dGVyKCkge1xuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwibmV3c2xldHRlclwiIGFyaWEtbGFiZWw9XCJOZXdzbGV0dGVyXCI+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIC1teC00IG92ZXJmbG93LWhpZGRlbiBiZy1pbmRpZ28tNTAgcHgtNCBweS0yMCBzbTotbXgtNiBzbTpweC02IG1kOm14LTAgbWQ6cm91bmRlZC01eGwgbWQ6cHgtMTYgeGw6cHgtMjQgeGw6cHktMzZcIj5cbiAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMS8yIHRvcC0wIHRyYW5zbGF0ZS14LVstMTAlXSB0cmFuc2xhdGUteS1bLTQ1JV0gbGc6dHJhbnNsYXRlLXgtWy0zMiVdXCJcbiAgICAgICAgICAgIHNyYz17YmFja2dyb3VuZEltYWdlfVxuICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgIHdpZHRoPXs5MTl9XG4gICAgICAgICAgICBoZWlnaHQ9ezEzNTF9XG4gICAgICAgICAgICB1bm9wdGltaXplZFxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBteC1hdXRvIGdyaWQgbWF4LXctMnhsIGdyaWQtY29scy0xIGdhcC14LTMyIGdhcC15LTE0IHhsOm1heC13LW5vbmUgeGw6Z3JpZC1jb2xzLTJcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS05MDAgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgICBTdGF5IHVwIHRvIGRhdGVcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICAgIEdldCB1cGRhdGVzIG9uIGFsbCBvZiBvdXIgZXZlbnRzIGFuZCBiZSB0aGUgZmlyc3QgdG8gZ2V0XG4gICAgICAgICAgICAgICAgbm90aWZpZWQgd2hlbiB0aWNrZXRzIGdvIG9uIHNhbGUuXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZvcm0+XG4gICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICAgIFNpZ24gdXAgdG8gb3VyIG5ld3NsZXR0ZXIgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JmRhcnI7PC9zcGFuPlxuICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTUgZmxleCByb3VuZGVkLTN4bCBiZy13aGl0ZSBweS0yLjUgcHItMi41IHNoYWRvdy14bCBzaGFkb3ctYmx1ZS05MDAvNSBmb2N1cy13aXRoaW46cmluZy0yIGZvY3VzLXdpdGhpbjpyaW5nLWJsdWUtOTAwXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW1haWwgYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRW1haWwgYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCItbXktMi41IGZsZXgtYXV0byBiZy10cmFuc3BhcmVudCBwbC02IHByLTIuNSB0ZXh0LWJhc2UgdGV4dC1zbGF0ZS05MDAgcGxhY2Vob2xkZXI6dGV4dC1zbGF0ZS00MDAgZm9jdXM6b3V0bGluZS1ub25lXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seSBzbTpub3Qtc3Itb25seVwiPlNpZ24gdXAgdG9kYXk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzbTpoaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPEFycm93UmlnaHRJY29uIGNsYXNzTmFtZT1cImgtNiB3LTZcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJJbWFnZSIsIkJ1dHRvbiIsIkNvbnRhaW5lciIsImJhY2tncm91bmRJbWFnZSIsIkFycm93UmlnaHRJY29uIiwicHJvcHMiLCJzdmciLCJhcmlhLWhpZGRlbiIsInZpZXdCb3giLCJwYXRoIiwiZCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsIk5ld3NsZXR0ZXIiLCJzZWN0aW9uIiwiaWQiLCJhcmlhLWxhYmVsIiwiZGl2IiwiY2xhc3NOYW1lIiwic3JjIiwiYWx0Iiwid2lkdGgiLCJoZWlnaHQiLCJ1bm9wdGltaXplZCIsInAiLCJmb3JtIiwiaDMiLCJzcGFuIiwiaW5wdXQiLCJ0eXBlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Newsletter.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Product.jsx": -/*!************************************!*\ - !*** ./src/components/Product.jsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Product: () => (/* binding */ e0) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx#Product`); - - -/***/ }), - -/***/ "(rsc)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Speakers: () => (/* binding */ e0) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx#Speakers`); - - -/***/ }), - -/***/ "(rsc)/./src/components/Sponsors.jsx": -/*!*************************************!*\ - !*** ./src/components/Sponsors.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Sponsors: () => (/* binding */ Sponsors)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(rsc)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _images_logos_mirage_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/images/logos/mirage.svg */ \"(rsc)/./src/images/logos/mirage.svg\");\n/* harmony import */ var _images_logos_statickit_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/images/logos/statickit.svg */ \"(rsc)/./src/images/logos/statickit.svg\");\n/* harmony import */ var _images_logos_transistor_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/images/logos/transistor.svg */ \"(rsc)/./src/images/logos/transistor.svg\");\n/* harmony import */ var _images_logos_tuple_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/logos/tuple.svg */ \"(rsc)/./src/images/logos/tuple.svg\");\n\n\n\n\n\n\n\nconst sponsors = [\n {\n name: \"Transistor\",\n logo: _images_logos_transistor_svg__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n {\n name: \"Tuple\",\n logo: _images_logos_tuple_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"StaticKit\",\n logo: _images_logos_statickit_svg__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n {\n name: \"Mirage\",\n logo: _images_logos_mirage_svg__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n {\n name: \"Transistor\",\n logo: _images_logos_transistor_svg__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n {\n name: \"Tuple\",\n logo: _images_logos_tuple_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"StaticKit\",\n logo: _images_logos_statickit_svg__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n }\n];\nfunction Sponsors() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"sponsors\",\n \"aria-label\": \"Sponsors\",\n className: \"mb-4 overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_2__.Container, {\n className: \"mt-2 pt-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-slide flex space-x-8 items-center lg:h-40 h-25\",\n children: sponsors.concat(sponsors).map((sponsor, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center lg:h-40 lg:w-40 h-25 w-25\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n src: sponsor.logo,\n alt: sponsor.name,\n layout: \"intrinsic\",\n width: 150,\n height: 150\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 26,\n columnNumber: 15\n }, this)\n }, index, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 25,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9TcG9uc29ycy5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUE4QjtBQUNvQjtBQUNBO0FBQ007QUFDRTtBQUNWO0FBRWhELE1BQU1NLFdBQVc7SUFDZjtRQUFFQyxNQUFNO1FBQWNDLE1BQU1KLG9FQUFjQTtJQUFDO0lBQzNDO1FBQUVHLE1BQU07UUFBU0MsTUFBTUgsK0RBQVNBO0lBQUM7SUFDakM7UUFBRUUsTUFBTTtRQUFhQyxNQUFNTCxtRUFBYUE7SUFBQztJQUN6QztRQUFFSSxNQUFNO1FBQVVDLE1BQU1OLGdFQUFVQTtJQUFDO0lBQ25DO1FBQUVLLE1BQU07UUFBY0MsTUFBTUosb0VBQWNBO0lBQUM7SUFDM0M7UUFBRUcsTUFBTTtRQUFTQyxNQUFNSCwrREFBU0E7SUFBQztJQUNqQztRQUFFRSxNQUFNO1FBQWFDLE1BQU1MLG1FQUFhQTtJQUFDO0NBRTFDO0FBRU0sU0FBU007SUFDZCxxQkFDRSw4REFBQ0M7UUFBUUMsSUFBRztRQUFXQyxjQUFXO1FBQVdDLFdBQVU7a0JBQ3JELDRFQUFDWiw0REFBU0E7WUFBQ1ksV0FBVTtzQkFDbkIsNEVBQUNDO2dCQUFJRCxXQUFVOzBCQUNaUCxTQUFTUyxNQUFNLENBQUNULFVBQVVVLEdBQUcsQ0FBQyxDQUFDQyxTQUFTQyxzQkFDdkMsOERBQUNKO3dCQUFnQkQsV0FBVTtrQ0FDekIsNEVBQUNiLGtEQUFLQTs0QkFDSm1CLEtBQUtGLFFBQVFULElBQUk7NEJBQ2pCWSxLQUFLSCxRQUFRVixJQUFJOzRCQUNqQmMsUUFBTzs0QkFDUEMsT0FBTzs0QkFDUEMsUUFBUTs7Ozs7O3VCQU5GTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9TcG9uc29ycy5qc3g/MzhhMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJ0AvY29tcG9uZW50cy9Db250YWluZXInXG5pbXBvcnQgbG9nb01pcmFnZSBmcm9tICdAL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnJ1xuaW1wb3J0IGxvZ29TdGF0aWNLaXQgZnJvbSAnQC9pbWFnZXMvbG9nb3Mvc3RhdGlja2l0LnN2ZydcbmltcG9ydCBsb2dvVHJhbnNpc3RvciBmcm9tICdAL2ltYWdlcy9sb2dvcy90cmFuc2lzdG9yLnN2ZydcbmltcG9ydCBsb2dvVHVwbGUgZnJvbSAnQC9pbWFnZXMvbG9nb3MvdHVwbGUuc3ZnJ1xuXG5jb25zdCBzcG9uc29ycyA9IFtcbiAgeyBuYW1lOiAnVHJhbnNpc3RvcicsIGxvZ286IGxvZ29UcmFuc2lzdG9yIH0sXG4gIHsgbmFtZTogJ1R1cGxlJywgbG9nbzogbG9nb1R1cGxlIH0sXG4gIHsgbmFtZTogJ1N0YXRpY0tpdCcsIGxvZ286IGxvZ29TdGF0aWNLaXQgfSxcbiAgeyBuYW1lOiAnTWlyYWdlJywgbG9nbzogbG9nb01pcmFnZSB9LFxuICB7IG5hbWU6ICdUcmFuc2lzdG9yJywgbG9nbzogbG9nb1RyYW5zaXN0b3IgfSxcbiAgeyBuYW1lOiAnVHVwbGUnLCBsb2dvOiBsb2dvVHVwbGUgfSxcbiAgeyBuYW1lOiAnU3RhdGljS2l0JywgbG9nbzogbG9nb1N0YXRpY0tpdCB9LFxuICAvLyBBZGQgbW9yZSBzcG9uc29ycyBpZiBuZWVkZWRcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIFNwb25zb3JzKCkge1xuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwic3BvbnNvcnNcIiBhcmlhLWxhYmVsPVwiU3BvbnNvcnNcIiBjbGFzc05hbWU9XCJtYi00IG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJtdC0yIHB0LTJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhbmltYXRlLXNsaWRlIGZsZXggc3BhY2UteC04IGl0ZW1zLWNlbnRlciBsZzpoLTQwIGgtMjVcIj5cbiAgICAgICAgICB7c3BvbnNvcnMuY29uY2F0KHNwb25zb3JzKS5tYXAoKHNwb25zb3IsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGxnOmgtNDAgbGc6dy00MCBoLTI1IHctMjVcIj5cbiAgICAgICAgICAgICAgPEltYWdlIFxuICAgICAgICAgICAgICAgIHNyYz17c3BvbnNvci5sb2dvfSBcbiAgICAgICAgICAgICAgICBhbHQ9e3Nwb25zb3IubmFtZX0gXG4gICAgICAgICAgICAgICAgbGF5b3V0PVwiaW50cmluc2ljXCIgXG4gICAgICAgICAgICAgICAgd2lkdGg9ezE1MH0gXG4gICAgICAgICAgICAgICAgaGVpZ2h0PXsxNTB9IFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuICApXG59XG4iXSwibmFtZXMiOlsiSW1hZ2UiLCJDb250YWluZXIiLCJsb2dvTWlyYWdlIiwibG9nb1N0YXRpY0tpdCIsImxvZ29UcmFuc2lzdG9yIiwibG9nb1R1cGxlIiwic3BvbnNvcnMiLCJuYW1lIiwibG9nbyIsIlNwb25zb3JzIiwic2VjdGlvbiIsImlkIiwiYXJpYS1sYWJlbCIsImNsYXNzTmFtZSIsImRpdiIsImNvbmNhdCIsIm1hcCIsInNwb25zb3IiLCJpbmRleCIsInNyYyIsImFsdCIsImxheW91dCIsIndpZHRoIiwiaGVpZ2h0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Sponsors.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/adnan_fatayerji.jpg": -/*!************************************************!*\ - !*** ./src/images/avatars/adnan_fatayerji.jpg ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/adnan_fatayerji.2fcd49a9.jpg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fadnan_fatayerji.2fcd49a9.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyxrTkFBa04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZz8xNjQzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9hZG5hbl9mYXRheWVyamkuMmZjZDQ5YTkuanBnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZhZG5hbl9mYXRheWVyamkuMmZjZDQ5YTkuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjh9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/adnan_fatayerji.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/andrew-greene.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/andrew-greene.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/andrew-greene.b3513453.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fandrew-greene.b3513453.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2FuZHJldy1ncmVlbmUuanBnPzMzMmQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2FuZHJldy1ncmVlbmUuYjM1MTM0NTMuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYW5kcmV3LWdyZWVuZS5iMzUxMzQ1My5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/andrew-greene.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/cathlene-burrage.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/cathlene-burrage.jpg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/cathlene-burrage.1651afc0.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fcathlene-burrage.1651afc0.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvY2F0aGxlbmUtYnVycmFnZS5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscU5BQXFOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2NhdGhsZW5lLWJ1cnJhZ2UuanBnP2VkOTkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2NhdGhsZW5lLWJ1cnJhZ2UuMTY1MWFmYzAuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGY2F0aGxlbmUtYnVycmFnZS4xNjUxYWZjMC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/cathlene-burrage.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/damaris-kimura.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/damaris-kimura.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/damaris-kimura.5df6b6b2.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fdamaris-kimura.5df6b6b2.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZGFtYXJpcy1raW11cmEuanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGc/YTgyYyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZGFtYXJpcy1raW11cmEuNWRmNmI2YjIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZGFtYXJpcy1raW11cmEuNWRmNmI2YjIuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/damaris-kimura.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/dianne-guilianelli.jpg": -/*!***************************************************!*\ - !*** ./src/images/avatars/dianne-guilianelli.jpg ***! - \***************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/dianne-guilianelli.b4c5891f.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fdianne-guilianelli.b4c5891f.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZGlhbm5lLWd1aWxpYW5lbGxpLmpwZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyx5TkFBeU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZGlhbm5lLWd1aWxpYW5lbGxpLmpwZz9lYTBiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9kaWFubmUtZ3VpbGlhbmVsbGkuYjRjNTg5MWYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZGlhbm5lLWd1aWxpYW5lbGxpLmI0YzU4OTFmLmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/dianne-guilianelli.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/erhart-cockrin.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/erhart-cockrin.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/erhart-cockrin.3697fef6.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Ferhart-cockrin.3697fef6.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9lcmhhcnQtY29ja3Jpbi5qcGc/ZDE2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZXJoYXJ0LWNvY2tyaW4uMzY5N2ZlZjYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZXJoYXJ0LWNvY2tyaW4uMzY5N2ZlZjYuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/erhart-cockrin.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/florian_fournier.jpeg": -/*!**************************************************!*\ - !*** ./src/images/avatars/florian_fournier.jpeg ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/florian_fournier.a44a2086.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fflorian_fournier.a44a2086.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZmxvcmlhbl9mb3Vybmllci5qcGVnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLHNOQUFzTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9mbG9yaWFuX2ZvdXJuaWVyLmpwZWc/MzJkNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZmxvcmlhbl9mb3Vybmllci5hNDRhMjA4Ni5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZmbG9yaWFuX2ZvdXJuaWVyLmE0NGEyMDg2LmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/florian_fournier.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/giordano-sagucio.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/giordano-sagucio.jpg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/giordano-sagucio.2d66325a.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fgiordano-sagucio.2d66325a.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscU5BQXFOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2dpb3JkYW5vLXNhZ3VjaW8uanBnP2FiZjMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2dpb3JkYW5vLXNhZ3VjaW8uMmQ2NjMyNWEuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZ2lvcmRhbm8tc2FndWNpby4yZDY2MzI1YS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/giordano-sagucio.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/gordon-sanderson.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/gordon-sanderson.jpg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/gordon-sanderson.88b5e762.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fgordon-sanderson.88b5e762.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZ29yZG9uLXNhbmRlcnNvbi5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscU5BQXFOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2dvcmRvbi1zYW5kZXJzb24uanBnP2Y3MjgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2dvcmRvbi1zYW5kZXJzb24uODhiNWU3NjIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZ29yZG9uLXNhbmRlcnNvbi44OGI1ZTc2Mi5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/gordon-sanderson.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/heather-terry.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/heather-terry.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/heather-terry.3aaa9642.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fheather-terry.3aaa9642.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvaGVhdGhlci10ZXJyeS5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnP2FkMjkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2hlYXRoZXItdGVycnkuM2FhYTk2NDIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGaGVhdGhlci10ZXJyeS4zYWFhOTY0Mi5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/heather-terry.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/ibrahim-frasch.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/ibrahim-frasch.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/ibrahim-frasch.56350f5a.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fibrahim-frasch.56350f5a.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvaWJyYWhpbS1mcmFzY2guanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9pYnJhaGltLWZyYXNjaC5qcGc/MjJiMSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvaWJyYWhpbS1mcmFzY2guNTYzNTBmNWEuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGaWJyYWhpbS1mcmFzY2guNTYzNTBmNWEuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/ibrahim-frasch.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/jaquelin-isch.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/jaquelin-isch.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/jaquelin-isch.880e5248.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fjaquelin-isch.880e5248.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvamFxdWVsaW4taXNjaC5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnP2RhNDIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2phcXVlbGluLWlzY2guODgwZTUyNDguanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGamFxdWVsaW4taXNjaC44ODBlNTI0OC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/jaquelin-isch.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/kimberly-parsons.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/kimberly-parsons.jpg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/kimberly-parsons.0e123ad0.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fkimberly-parsons.0e123ad0.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscU5BQXFOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2tpbWJlcmx5LXBhcnNvbnMuanBnP2EwMzQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2tpbWJlcmx5LXBhcnNvbnMuMGUxMjNhZDAuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGa2ltYmVybHktcGFyc29ucy4wZTEyM2FkMC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/kimberly-parsons.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/kristof_de_spiegeleer.jpeg": -/*!*******************************************************!*\ - !*** ./src/images/avatars/kristof_de_spiegeleer.jpeg ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/kristof_de_spiegeleer.f8a3f975.jpeg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fkristof_de_spiegeleer.f8a3f975.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMva3Jpc3RvZl9kZV9zcGllZ2VsZWVyLmpwZWciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsZ09BQWdPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2tyaXN0b2ZfZGVfc3BpZWdlbGVlci5qcGVnP2E5YTAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2tyaXN0b2ZfZGVfc3BpZWdlbGVlci5mOGEzZjk3NS5qcGVnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZrcmlzdG9mX2RlX3NwaWVnZWxlZXIuZjhhM2Y5NzUuanBlZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/kristof_de_spiegeleer.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/matthew_schutte.jpeg": -/*!*************************************************!*\ - !*** ./src/images/avatars/matthew_schutte.jpeg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/matthew_schutte.b0043b24.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmatthew_schutte.b0043b24.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsb05BQW9OIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL21hdHRoZXdfc2NodXR0ZS5qcGVnP2ZhNjciXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21hdHRoZXdfc2NodXR0ZS5iMDA0M2IyNC5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZtYXR0aGV3X3NjaHV0dGUuYjAwNDNiMjQuanBlZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/matthew_schutte.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/omrei_abumadi.jpeg": -/*!***********************************************!*\ - !*** ./src/images/avatars/omrei_abumadi.jpeg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/omrei_abumadi.c2ce865b.jpeg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fomrei_abumadi.c2ce865b.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvb21yZWlfYWJ1bWFkaS5qcGVnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGdOQUFnTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWc/ZDMxNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvb21yZWlfYWJ1bWFkaS5jMmNlODY1Yi5qcGVnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZvbXJlaV9hYnVtYWRpLmMyY2U4NjViLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/omrei_abumadi.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/parker-johnson.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/parker-johnson.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/parker-johnson.3f6d7276.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fparker-johnson.3f6d7276.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9wYXJrZXItam9obnNvbi5qcGc/NjhmOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcGFya2VyLWpvaG5zb24uM2Y2ZDcyNzYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcGFya2VyLWpvaG5zb24uM2Y2ZDcyNzYuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/parker-johnson.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/piers-wilkins.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/piers-wilkins.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/piers-wilkins.c197a055.jpg\",\"height\":616,\"width\":1232,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fpiers-wilkins.c197a055.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL3BpZXJzLXdpbGtpbnMuanBnPzY3YWIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3BpZXJzLXdpbGtpbnMuYzE5N2EwNTUuanBnXCIsXCJoZWlnaHRcIjo2MTYsXCJ3aWR0aFwiOjEyMzIsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcGllcnMtd2lsa2lucy5jMTk3YTA1NS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/piers-wilkins.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/richard-astley.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/richard-astley.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/richard-astley.599fe903.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Frichard-astley.599fe903.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcmljaGFyZC1hc3RsZXkuanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaWNoYXJkLWFzdGxleS5qcGc/YTkzMyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcmljaGFyZC1hc3RsZXkuNTk5ZmU5MDMuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcmljaGFyZC1hc3RsZXkuNTk5ZmU5MDMuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/richard-astley.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/rinaldo-beynon.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/rinaldo-beynon.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/rinaldo-beynon.c48f36b7.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Frinaldo-beynon.c48f36b7.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcmluYWxkby1iZXlub24uanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGc/NjAyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcmluYWxkby1iZXlub24uYzQ4ZjM2YjcuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcmluYWxkby1iZXlub24uYzQ4ZjM2YjcuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/rinaldo-beynon.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/ronni-cantadore.jpg": -/*!************************************************!*\ - !*** ./src/images/avatars/ronni-cantadore.jpg ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/ronni-cantadore.0d04b7fe.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fronni-cantadore.0d04b7fe.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcm9ubmktY2FudGFkb3JlLmpwZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyxtTkFBbU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcm9ubmktY2FudGFkb3JlLmpwZz85YjBjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9yb25uaS1jYW50YWRvcmUuMGQwNGI3ZmUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcm9ubmktY2FudGFkb3JlLjBkMDRiN2ZlLmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/ronni-cantadore.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/sasha_astiadi.jpeg": -/*!***********************************************!*\ - !*** ./src/images/avatars/sasha_astiadi.jpeg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/sasha_astiadi.ecd50daf.jpeg\",\"height\":598,\"width\":598,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsasha_astiadi.ecd50daf.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvc2FzaGFfYXN0aWFkaS5qcGVnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGdOQUFnTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWc/ZmJmOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvc2FzaGFfYXN0aWFkaS5lY2Q1MGRhZi5qcGVnXCIsXCJoZWlnaHRcIjo1OTgsXCJ3aWR0aFwiOjU5OCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZzYXNoYV9hc3RpYWRpLmVjZDUwZGFmLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/sasha_astiadi.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/steven-mchail.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/steven-mchail.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/steven-mchail.4e94472e.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsteven-mchail.4e94472e.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvc3RldmVuLW1jaGFpbC5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL3N0ZXZlbi1tY2hhaWwuanBnP2I2NWQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0ZXZlbi1tY2hhaWwuNGU5NDQ3MmUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGc3RldmVuLW1jaGFpbC40ZTk0NDcyZS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/steven-mchail.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/victor_muhagachi.jpeg": -/*!**************************************************!*\ - !*** ./src/images/avatars/victor_muhagachi.jpeg ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/victor_muhagachi.46938b4a.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fvictor_muhagachi.46938b4a.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvdmljdG9yX211aGFnYWNoaS5qcGVnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLHNOQUFzTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWc/M2IwNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdmljdG9yX211aGFnYWNoaS40NjkzOGI0YS5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZ2aWN0b3JfbXVoYWdhY2hpLjQ2OTM4YjRhLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/victor_muhagachi.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/waylon-hyden.jpg": -/*!*********************************************!*\ - !*** ./src/images/avatars/waylon-hyden.jpg ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/waylon-hyden.4c037cf5.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwaylon-hyden.4c037cf5.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyw2TUFBNk0iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZz9mN2EzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS93YXlsb24taHlkZW4uNGMwMzdjZjUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGd2F5bG9uLWh5ZGVuLjRjMDM3Y2Y1LmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/waylon-hyden.jpg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/background-newsletter.jpg": -/*!**********************************************!*\ - !*** ./src/images/background-newsletter.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/background-newsletter.488a0204.jpg\",\"height\":2702,\"width\":1838,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-newsletter.488a0204.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQtbmV3c2xldHRlci5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsZ09BQWdPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnPzQ5MmYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2JhY2tncm91bmQtbmV3c2xldHRlci40ODhhMDIwNC5qcGdcIixcImhlaWdodFwiOjI3MDIsXCJ3aWR0aFwiOjE4MzgsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC1uZXdzbGV0dGVyLjQ4OGEwMjA0LmpwZyZ3PTUmcT03MFwiLFwiYmx1cldpZHRoXCI6NSxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/images/background-newsletter.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/background-newsletter.jpg": -/*!**********************************************!*\ - !*** ./src/images/background-newsletter.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/background-newsletter.488a0204.jpg\",\"height\":2702,\"width\":1838,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-newsletter.488a0204.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQtbmV3c2xldHRlci5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsZ09BQWdPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnPzQxN2MiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2JhY2tncm91bmQtbmV3c2xldHRlci40ODhhMDIwNC5qcGdcIixcImhlaWdodFwiOjI3MDIsXCJ3aWR0aFwiOjE4MzgsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC1uZXdzbGV0dGVyLjQ4OGEwMjA0LmpwZyZ3PTUmcT03MFwiLFwiYmx1cldpZHRoXCI6NSxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/background-newsletter.jpg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/background.jpg": -/*!***********************************!*\ - !*** ./src/images/background.jpg ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/background.6c3571e0.jpg\",\"height\":2990,\"width\":1836,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.6c3571e0.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQuanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLDBNQUEwTSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGc/NTdjMiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYmFja2dyb3VuZC42YzM1NzFlMC5qcGdcIixcImhlaWdodFwiOjI5OTAsXCJ3aWR0aFwiOjE4MzYsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC42YzM1NzFlMC5qcGcmdz01JnE9NzBcIixcImJsdXJXaWR0aFwiOjUsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/images/background.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/background.jpg": -/*!***********************************!*\ - !*** ./src/images/background.jpg ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/background.6c3571e0.jpg\",\"height\":2990,\"width\":1836,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.6c3571e0.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQuanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLDBNQUEwTSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGc/OGMzOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYmFja2dyb3VuZC42YzM1NzFlMC5qcGdcIixcImhlaWdodFwiOjI5OTAsXCJ3aWR0aFwiOjE4MzYsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC42YzM1NzFlMC5qcGcmdz01JnE9NzBcIixcImJsdXJXaWR0aFwiOjUsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/background.jpg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/logos/mirage.svg": -/*!*************************************!*\ - !*** ./src/images/logos/mirage.svg ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/mirage.b4872b78.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2xvZ29zL21pcmFnZS5zdmciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscUdBQXFHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnP2IzYjEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21pcmFnZS5iNDg3MmI3OC5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/images/logos/mirage.svg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/logos/mirage.svg": -/*!*************************************!*\ - !*** ./src/images/logos/mirage.svg ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/mirage.b4872b78.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2xvZ29zL21pcmFnZS5zdmciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscUdBQXFHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnP2I5NDAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21pcmFnZS5iNDg3MmI3OC5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/logos/mirage.svg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/logos/statickit.svg": -/*!****************************************!*\ - !*** ./src/images/logos/statickit.svg ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/statickit.f39ab0e3.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2xvZ29zL3N0YXRpY2tpdC5zdmciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsd0dBQXdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9sb2dvcy9zdGF0aWNraXQuc3ZnPzU1OWQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0YXRpY2tpdC5mMzlhYjBlMy5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/images/logos/statickit.svg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/logos/statickit.svg": -/*!****************************************!*\ - !*** ./src/images/logos/statickit.svg ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/statickit.f39ab0e3.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2xvZ29zL3N0YXRpY2tpdC5zdmciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsd0dBQXdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9sb2dvcy9zdGF0aWNraXQuc3ZnPzA2NjIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0YXRpY2tpdC5mMzlhYjBlMy5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/logos/statickit.svg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/logos/transistor.svg": -/*!*****************************************!*\ - !*** ./src/images/logos/transistor.svg ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/transistor.20c106ae.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2xvZ29zL3RyYW5zaXN0b3Iuc3ZnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLHlHQUF5RyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmc/MzYzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdHJhbnNpc3Rvci4yMGMxMDZhZS5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/images/logos/transistor.svg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/logos/transistor.svg": -/*!*****************************************!*\ - !*** ./src/images/logos/transistor.svg ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/transistor.20c106ae.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2xvZ29zL3RyYW5zaXN0b3Iuc3ZnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLHlHQUF5RyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmc/ZmJlZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdHJhbnNpc3Rvci4yMGMxMDZhZS5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/logos/transistor.svg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/logos/tuple.svg": -/*!************************************!*\ - !*** ./src/images/logos/tuple.svg ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/tuple.7c6d6466.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2ZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyxvR0FBb0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Zz8wZWMzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS90dXBsZS43YzZkNjQ2Ni5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/images/logos/tuple.svg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/logos/tuple.svg": -/*!************************************!*\ - !*** ./src/images/logos/tuple.svg ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/tuple.7c6d6466.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2ZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyxvR0FBb0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Zz9mNzA3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS90dXBsZS43YzZkNjQ2Ni5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/logos/tuple.svg\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__": -/*!**************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__ ***! - \**************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/lib/metadata/get-metadata-route */ \"(rsc)/./node_modules/next/dist/lib/metadata/get-metadata-route.js\");\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__);\n \n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((props) => {\n const imageData = {\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}\n const imageUrl = (0,next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__.fillMetadataSegment)(\".\", props.params, \"favicon.ico\")\n\n return [{\n ...imageData,\n url: imageUrl + \"\",\n }]\n });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlci5qcz90eXBlPWZhdmljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMhLi9zcmMvYXBwL2Zhdmljb24uaWNvP19fbmV4dF9tZXRhZGF0YV9fIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLEVBQWlGOztBQUVqRixFQUFFLGlFQUFlO0FBQ2pCLHVCQUF1QjtBQUN2QixxQkFBcUIsOEZBQW1COztBQUV4QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvYXBwL2Zhdmljb24uaWNvP2JmY2EiXSwic291cmNlc0NvbnRlbnQiOlsiICBpbXBvcnQgeyBmaWxsTWV0YWRhdGFTZWdtZW50IH0gZnJvbSAnbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9nZXQtbWV0YWRhdGEtcm91dGUnXG5cbiAgZXhwb3J0IGRlZmF1bHQgKHByb3BzKSA9PiB7XG4gICAgY29uc3QgaW1hZ2VEYXRhID0ge1widHlwZVwiOlwiaW1hZ2UveC1pY29uXCIsXCJzaXplc1wiOlwiMTZ4MTZcIn1cbiAgICBjb25zdCBpbWFnZVVybCA9IGZpbGxNZXRhZGF0YVNlZ21lbnQoXCIuXCIsIHByb3BzLnBhcmFtcywgXCJmYXZpY29uLmljb1wiKVxuXG4gICAgcmV0dXJuIFt7XG4gICAgICAuLi5pbWFnZURhdGEsXG4gICAgICB1cmw6IGltYWdlVXJsICsgXCJcIixcbiAgICB9XVxuICB9Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__\n"); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc","vendor-chunks/@react-aria","vendor-chunks/@headlessui","vendor-chunks/@heroicons","vendor-chunks/clsx"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/(main)/page_client-reference-manifest.js b/.next/server/app/(main)/page_client-reference-manifest.js deleted file mode 100644 index 4624542..0000000 --- a/.next/server/app/(main)/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/(main)/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/image-component.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/image-component.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/Product.jsx":{"*":{"id":"(ssr)/./src/components/Product.jsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/Speakers.jsx":{"*":{"id":"(ssr)/./src/components/Speakers.jsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/background-newsletter.jpg":{"*":{"id":"(ssr)/./src/images/background-newsletter.jpg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/background.jpg":{"*":{"id":"(ssr)/./src/images/background.jpg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/logos/mirage.svg":{"*":{"id":"(ssr)/./src/images/logos/mirage.svg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/logos/statickit.svg":{"*":{"id":"(ssr)/./src/images/logos/statickit.svg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/logos/transistor.svg":{"*":{"id":"(ssr)/./src/images/logos/transistor.svg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/logos/tuple.svg":{"*":{"id":"(ssr)/./src/images/logos/tuple.svg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/Header.jsx":{"*":{"id":"(ssr)/./src/components/Header.jsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js":{"*":{"id":"(ssr)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/Schedule.jsx":{"*":{"id":"(ssr)/./src/components/Schedule.jsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/image-component.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/image-component.js","name":"*","chunks":["app/not-found","static/chunks/app/not-found.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/image-component.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/image-component.js","name":"*","chunks":["app/not-found","static/chunks/app/not-found.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/not-found","static/chunks/app/not-found.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/not-found","static/chunks/app/not-found.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx":{"id":"(app-pages-browser)/./src/components/Product.jsx","name":"*","chunks":["app/(main)/page","static/chunks/app/(main)/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx":{"id":"(app-pages-browser)/./src/components/Speakers.jsx","name":"*","chunks":["app/(main)/page","static/chunks/app/(main)/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/background-newsletter.jpg":{"id":"(app-pages-browser)/./src/images/background-newsletter.jpg","name":"*","chunks":["app/(main)/page","static/chunks/app/(main)/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/background.jpg":{"id":"(app-pages-browser)/./src/images/background.jpg","name":"*","chunks":["app/not-found","static/chunks/app/not-found.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/mirage.svg":{"id":"(app-pages-browser)/./src/images/logos/mirage.svg","name":"*","chunks":["app/(main)/page","static/chunks/app/(main)/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/statickit.svg":{"id":"(app-pages-browser)/./src/images/logos/statickit.svg","name":"*","chunks":["app/(main)/page","static/chunks/app/(main)/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/transistor.svg":{"id":"(app-pages-browser)/./src/images/logos/transistor.svg","name":"*","chunks":["app/(main)/page","static/chunks/app/(main)/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/tuple.svg":{"id":"(app-pages-browser)/./src/images/logos/tuple.svg","name":"*","chunks":["app/(main)/page","static/chunks/app/(main)/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx":{"id":"(app-pages-browser)/./src/components/Header.jsx","name":"*","chunks":["app/not-found","static/chunks/app/not-found.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css":{"id":"(app-pages-browser)/./src/styles/tailwind.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js":{"id":"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","name":"*","chunks":[],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx":{"id":"(app-pages-browser)/./src/components/Schedule.jsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/":[],"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page":[],"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/layout":[],"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout":["static/css/app/layout.css"],"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found":[]}} \ No newline at end of file diff --git a/.next/server/app/events/versefest/page.js b/.next/server/app/events/versefest/page.js deleted file mode 100644 index 1f5838c..0000000 --- a/.next/server/app/events/versefest/page.js +++ /dev/null @@ -1,938 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/events/versefest/page"; -exports.ids = ["app/events/versefest/page"]; -exports.modules = { - -/***/ "./action-async-storage.external": -/*!****************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external" ***! - \****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external.js"); - -/***/ }), - -/***/ "./request-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/request-async-storage.external": -/*!********************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external.js" ***! - \********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external.js"); - -/***/ }), - -/***/ "./static-generation-async-storage.external": -/*!***************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external" ***! - \***************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/static-generation-async-storage.external": -/*!******************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external.js" ***! - \******************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'events',\n {\n children: [\n 'versefest',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/events/versefest/page.jsx */ \"(rsc)/./src/app/events/versefest/page.jsx\")), \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n \n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: undefined\n }\n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.jsx */ \"(rsc)/./src/app/layout.jsx\")), \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/not-found.jsx */ \"(rsc)/./src/app/not-found.jsx\")), \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: undefined\n }\n }\n ]\n }.children;\nconst pages = [\"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/events/versefest/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/events/versefest/page\",\n pathname: \"/events/versefest\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZldmVudHMlMkZ2ZXJzZWZlc3QlMkZwYWdlJnBhZ2U9JTJGZXZlbnRzJTJGdmVyc2VmZXN0JTJGcGFnZSZhcHBQYXRocz0lMkZldmVudHMlMkZ2ZXJzZWZlc3QlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGZXZlbnRzJTJGdmVyc2VmZXN0JTJGcGFnZS5qc3gmYXBwRGlyPSUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmFwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9JTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsYUFBYSxzQkFBc0I7QUFDaUU7QUFDckM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDLHVCQUF1QixrTEFBNEg7QUFDbko7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLHNmQUFxUTtBQUN6UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5QixvSkFBNkc7QUFDdEksb0JBQW9CLDBKQUFnSDtBQUNwSTtBQUNBLG9DQUFvQyxzZkFBcVE7QUFDelM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8/NDE1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcIlRVUkJPUEFDSyB7IHRyYW5zaXRpb246IG5leHQtc3NyIH1cIjtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdldmVudHMnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICd2ZXJzZWZlc3QnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvYXBwL2V2ZW50cy92ZXJzZWZlc3QvcGFnZS5qc3hcIiksIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2FwcC9ldmVudHMvdmVyc2VmZXN0L3BhZ2UuanN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBtZXRhZGF0YToge1xuICAgIGljb246IFsoYXN5bmMgKHByb3BzKSA9PiAoYXdhaXQgaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlcj90eXBlPWZhdmljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMhL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2FwcC9mYXZpY29uLmljbz9fX25leHRfbWV0YWRhdGFfX1wiKSkuZGVmYXVsdChwcm9wcykpXSxcbiAgICBhcHBsZTogW10sXG4gICAgb3BlbkdyYXBoOiBbXSxcbiAgICB0d2l0dGVyOiBbXSxcbiAgICBtYW5pZmVzdDogdW5kZWZpbmVkXG4gIH1cbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9hcHAvbGF5b3V0LmpzeFwiKSwgXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvYXBwL2xheW91dC5qc3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2FwcC9ub3QtZm91bmQuanN4XCIpLCBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9hcHAvbm90LWZvdW5kLmpzeFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICBpY29uOiBbKGFzeW5jIChwcm9wcykgPT4gKGF3YWl0IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC1tZXRhZGF0YS1pbWFnZS1sb2FkZXI/dHlwZT1mYXZpY29uJnNlZ21lbnQ9JmJhc2VQYXRoPSZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzIS9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9hcHAvZmF2aWNvbi5pY28/X19uZXh0X21ldGFkYXRhX19cIikpLmRlZmF1bHQocHJvcHMpKV0sXG4gICAgYXBwbGU6IFtdLFxuICAgIG9wZW5HcmFwaDogW10sXG4gICAgdHdpdHRlcjogW10sXG4gICAgbWFuaWZlc3Q6IHVuZGVmaW5lZFxuICB9XG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvYXBwL2V2ZW50cy92ZXJzZWZlc3QvcGFnZS5qc3hcIl07XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IG9yaWdpbmFsUGF0aG5hbWUgPSBcIi9ldmVudHMvdmVyc2VmZXN0L3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvZXZlbnRzL3ZlcnNlZmVzdC9wYWdlXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9ldmVudHMvdmVyc2VmZXN0XCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogXCJcIixcbiAgICAgICAgZmlsZW5hbWU6IFwiXCIsXG4gICAgICAgIGFwcFBhdGhzOiBbXVxuICAgIH0sXG4gICAgdXNlcmxhbmQ6IHtcbiAgICAgICAgbG9hZGVyVHJlZTogdHJlZVxuICAgIH1cbn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!": -/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true! ***! - \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js */ \"(ssr)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(ssr)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(ssr)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(ssr)/./src/components/Header.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Schedule.jsx */ \"(ssr)/./src/components/Schedule.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Speakers.jsx */ \"(ssr)/./src/components/Speakers.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-newsletter.jpg */ \"(ssr)/./src/images/background-newsletter.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background.jpg */ \"(ssr)/./src/images/background.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/mirage.svg */ \"(ssr)/./src/images/logos/mirage.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/statickit.svg */ \"(ssr)/./src/images/logos/statickit.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/transistor.svg */ \"(ssr)/./src/images/logos/transistor.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/tuple.svg */ \"(ssr)/./src/images/logos/tuple.svg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRiU0MGhlYWRsZXNzdWklMkZyZWFjdCUyRmRpc3QlMkZjb21wb25lbnRzJTJGZGlzY2xvc3VyZSUyRmRpc2Nsb3N1cmUuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTJDJTIyRGlzY2xvc3VyZUJ1dHRvbiUyMiUyQyUyMkRpc2Nsb3N1cmVQYW5lbCUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmltYWdlLWNvbXBvbmVudC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmxpbmsuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmNvbXBvbmVudHMlMkZIZWFkZXIuanN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmNvbXBvbmVudHMlMkZTY2hlZHVsZS5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJTY2hlZHVsZSUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZjb21wb25lbnRzJTJGU3BlYWtlcnMuanN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyU3BlYWtlcnMlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGYmFja2dyb3VuZC1uZXdzbGV0dGVyLmpwZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGYmFja2dyb3VuZC5qcGclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGbWlyYWdlLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZzdGF0aWNraXQuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRnRyYW5zaXN0b3Iuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRnR1cGxlLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLDhQQUFrSztBQUNsSztBQUNBLHNOQUEySTtBQUMzSTtBQUNBLGdNQUFnSTtBQUNoSTtBQUNBLGtLQUFnSjtBQUNoSjtBQUNBLHNLQUFvSjtBQUNwSjtBQUNBLHNLQUFvSjtBQUNwSjtBQUNBLHdMQUErSDtBQUMvSDtBQUNBLGtLQUFvSDtBQUNwSDtBQUNBLHNLQUFzSDtBQUN0SDtBQUNBLDRLQUF5SDtBQUN6SDtBQUNBLDhLQUEwSDtBQUMxSDtBQUNBLG9LQUFxSCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8/M2M1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvZGlzY2xvc3VyZS9kaXNjbG9zdXJlLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbWFnZS1jb21wb25lbnQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9jb21wb25lbnRzL0hlYWRlci5qc3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIlNjaGVkdWxlXCJdICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2NvbXBvbmVudHMvU2NoZWR1bGUuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJTcGVha2Vyc1wiXSAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2JhY2tncm91bmQuanBnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2xvZ29zL21pcmFnZS5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvbG9nb3Mvc3RhdGlja2l0LnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9sb2dvcy90cmFuc2lzdG9yLnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9sb2dvcy90dXBsZS5zdmdcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmFwcC1yb3V0ZXIuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY2xpZW50LXBhZ2UuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbGF5b3V0LXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZub3QtZm91bmQtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWlKO0FBQ2pKO0FBQ0Esb09BQWtKO0FBQ2xKO0FBQ0EsME9BQXFKO0FBQ3JKO0FBQ0Esd09BQW9KO0FBQ3BKO0FBQ0Esa1BBQXlKO0FBQ3pKO0FBQ0Esc1FBQW1LIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLz9hM2RjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!": -/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true! ***! - \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(ssr)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(ssr)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(ssr)/./src/components/Header.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background.jpg */ \"(ssr)/./src/images/background.jpg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGaW1hZ2UtY29tcG9uZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGbGluay5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGY29tcG9uZW50cyUyRkhlYWRlci5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJIZWFkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGYmFja2dyb3VuZC5qcGclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxzTkFBMkk7QUFDM0k7QUFDQSxnTUFBZ0k7QUFDaEk7QUFDQSxrS0FBZ0o7QUFDaEo7QUFDQSxrS0FBb0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvPzI1M2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbWFnZS1jb21wb25lbnQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9jb21wb25lbnRzL0hlYWRlci5qc3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGdcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "(ssr)/./src/components/BackgroundImage.jsx": -/*!********************************************!*\ - !*** ./src/components/BackgroundImage.jsx ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundImage: () => (/* binding */ BackgroundImage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(ssr)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/images/background.jpg */ \"(ssr)/./src/images/background.jpg\");\n\n\n\n\nfunction BackgroundImage({ className, position = \"left\" }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute inset-0 overflow-hidden bg-indigo-50\", className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute top-0\", position === \"left\" && \"left-0 translate-x-[-55%] translate-y-[-10%] -scale-x-100 sm:left-1/2 sm:translate-x-[-98%] sm:translate-y-[-6%] lg:translate-x-[-106%] xl:translate-x-[-122%]\", position === \"right\" && \"left-full -translate-x-1/2 sm:left-1/2 sm:translate-x-[-20%] sm:translate-y-[-15%] md:translate-x-0 lg:translate-x-[5%] lg:translate-y-[4%] xl:translate-x-[27%] xl:translate-y-[-8%]\"),\n src: _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n alt: \"\",\n width: 918,\n height: 1495,\n priority: true,\n unoptimized: true\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 top-0 h-20 bg-gradient-to-b from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 29,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9CYWNrZ3JvdW5kSW1hZ2UuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBOEI7QUFDUDtBQUU4QjtBQUU5QyxTQUFTRyxnQkFBZ0IsRUFBRUMsU0FBUyxFQUFFQyxXQUFXLE1BQU0sRUFBRTtJQUM5RCxxQkFDRSw4REFBQ0M7UUFDQ0YsV0FBV0gsZ0RBQUlBLENBQ2IsaURBQ0FHOzswQkFHRiw4REFBQ0osa0RBQUtBO2dCQUNKSSxXQUFXSCxnREFBSUEsQ0FDYixrQkFDQUksYUFBYSxVQUNYLGtLQUNGQSxhQUFhLFdBQ1g7Z0JBRUpFLEtBQUtMLDhEQUFlQTtnQkFDcEJNLEtBQUk7Z0JBQ0pDLE9BQU87Z0JBQ1BDLFFBQVE7Z0JBQ1JDLFFBQVE7Z0JBQ1JDLFdBQVc7Ozs7OzswQkFFYiw4REFBQ047Z0JBQUlGLFdBQVU7Ozs7OzswQkFDZiw4REFBQ0U7Z0JBQUlGLFdBQVU7Ozs7Ozs7Ozs7OztBQUdyQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZS5qc3g/YzM0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5cbmltcG9ydCBiYWNrZ3JvdW5kSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYmFja2dyb3VuZC5qcGcnXG5cbmV4cG9ydCBmdW5jdGlvbiBCYWNrZ3JvdW5kSW1hZ2UoeyBjbGFzc05hbWUsIHBvc2l0aW9uID0gJ2xlZnQnIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICdhYnNvbHV0ZSBpbnNldC0wIG92ZXJmbG93LWhpZGRlbiBiZy1pbmRpZ28tNTAnLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApfVxuICAgID5cbiAgICAgIDxJbWFnZVxuICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgJ2Fic29sdXRlIHRvcC0wJyxcbiAgICAgICAgICBwb3NpdGlvbiA9PT0gJ2xlZnQnICYmXG4gICAgICAgICAgICAnbGVmdC0wIHRyYW5zbGF0ZS14LVstNTUlXSB0cmFuc2xhdGUteS1bLTEwJV0gLXNjYWxlLXgtMTAwIHNtOmxlZnQtMS8yIHNtOnRyYW5zbGF0ZS14LVstOTglXSBzbTp0cmFuc2xhdGUteS1bLTYlXSBsZzp0cmFuc2xhdGUteC1bLTEwNiVdIHhsOnRyYW5zbGF0ZS14LVstMTIyJV0nLFxuICAgICAgICAgIHBvc2l0aW9uID09PSAncmlnaHQnICYmXG4gICAgICAgICAgICAnbGVmdC1mdWxsIC10cmFuc2xhdGUteC0xLzIgc206bGVmdC0xLzIgc206dHJhbnNsYXRlLXgtWy0yMCVdIHNtOnRyYW5zbGF0ZS15LVstMTUlXSBtZDp0cmFuc2xhdGUteC0wIGxnOnRyYW5zbGF0ZS14LVs1JV0gbGc6dHJhbnNsYXRlLXktWzQlXSB4bDp0cmFuc2xhdGUteC1bMjclXSB4bDp0cmFuc2xhdGUteS1bLTglXScsXG4gICAgICAgICl9XG4gICAgICAgIHNyYz17YmFja2dyb3VuZEltYWdlfVxuICAgICAgICBhbHQ9XCJcIlxuICAgICAgICB3aWR0aD17OTE4fVxuICAgICAgICBoZWlnaHQ9ezE0OTV9XG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIHVub3B0aW1pemVkXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgdG9wLTAgaC0yMCBiZy1ncmFkaWVudC10by1iIGZyb20td2hpdGVcIiAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgYm90dG9tLTAgaC0yMCBiZy1ncmFkaWVudC10by10IGZyb20td2hpdGVcIiAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiSW1hZ2UiLCJjbHN4IiwiYmFja2dyb3VuZEltYWdlIiwiQmFja2dyb3VuZEltYWdlIiwiY2xhc3NOYW1lIiwicG9zaXRpb24iLCJkaXYiLCJzcmMiLCJhbHQiLCJ3aWR0aCIsImhlaWdodCIsInByaW9yaXR5IiwidW5vcHRpbWl6ZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/BackgroundImage.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Button.jsx": -/*!***********************************!*\ - !*** ./src/components/Button.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n\n\n\nfunction Button({ className, ...props }) {\n className = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"inline-flex justify-center rounded-2xl bg-blue-700 py-2 px-4 text-sm font-semibold text-white hover:bg-blue-500 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:text-white/70\", className);\n return typeof props.href === \"undefined\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9CdXR0b24uanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUE0QjtBQUNMO0FBRWhCLFNBQVNFLE9BQU8sRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU87SUFDNUNELFlBQVlGLGdEQUFJQSxDQUNkLGlQQUNBRTtJQUdGLE9BQU8sT0FBT0MsTUFBTUMsSUFBSSxLQUFLLDRCQUMzQiw4REFBQ0M7UUFBT0gsV0FBV0E7UUFBWSxHQUFHQyxLQUFLOzs7Ozs2QkFFdkMsOERBQUNKLGlEQUFJQTtRQUFDRyxXQUFXQTtRQUFZLEdBQUdDLEtBQUs7Ozs7OztBQUV6QyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3g/NGUxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9KSB7XG4gIGNsYXNzTmFtZSA9IGNsc3goXG4gICAgJ2lubGluZS1mbGV4IGp1c3RpZnktY2VudGVyIHJvdW5kZWQtMnhsIGJnLWJsdWUtNzAwIHB5LTIgcHgtNCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBob3ZlcjpiZy1ibHVlLTUwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1ibHVlLTUwMCBhY3RpdmU6dGV4dC13aGl0ZS83MCcsXG4gICAgY2xhc3NOYW1lLFxuICApXG5cbiAgcmV0dXJuIHR5cGVvZiBwcm9wcy5ocmVmID09PSAndW5kZWZpbmVkJyA/IChcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4ucHJvcHN9IC8+XG4gICkgOiAoXG4gICAgPExpbmsgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5wcm9wc30gLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJjbHN4IiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJocmVmIiwiYnV0dG9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Button.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Container.jsx": -/*!**************************************!*\ - !*** ./src/components/Container.jsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container({ className, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXVCO0FBRWhCLFNBQVNDLFVBQVUsRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU87SUFDL0MscUJBQ0UsOERBQUNDO1FBQ0NGLFdBQVdGLGdEQUFJQSxDQUFDLDBDQUEwQ0U7UUFDekQsR0FBR0MsS0FBSzs7Ozs7O0FBR2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Container.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/DiamondIcon.jsx": -/*!****************************************!*\ - !*** ./src/components/DiamondIcon.jsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DiamondIcon: () => (/* binding */ DiamondIcon)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction DiamondIcon(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 6 6\",\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M3 0L6 3L3 6L0 3Z\",\n strokeWidth: 2,\n strokeLinejoin: \"round\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/DiamondIcon.jsx\",\n lineNumber: 4,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/DiamondIcon.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9EaWFtb25kSWNvbi5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFPLFNBQVNBLFlBQVlDLEtBQUs7SUFDL0IscUJBQ0UsOERBQUNDO1FBQUlDLGVBQVk7UUFBT0MsU0FBUTtRQUFXLEdBQUdILEtBQUs7a0JBQ2pELDRFQUFDSTtZQUFLQyxHQUFFO1lBQW9CQyxhQUFhO1lBQUdDLGdCQUFlOzs7Ozs7Ozs7OztBQUdqRSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0RpYW1vbmRJY29uLmpzeD84OGJmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBEaWFtb25kSWNvbihwcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmlld0JveD1cIjAgMCA2IDZcIiB7Li4ucHJvcHN9PlxuICAgICAgPHBhdGggZD1cIk0zIDBMNiAzTDMgNkwwIDNaXCIgc3Ryb2tlV2lkdGg9ezJ9IHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgIDwvc3ZnPlxuICApXG59XG4iXSwibmFtZXMiOlsiRGlhbW9uZEljb24iLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwidmlld0JveCIsInBhdGgiLCJkIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/DiamondIcon.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Header.jsx": -/*!***********************************!*\ - !*** ./src/components/Header.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(ssr)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(ssr)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Logo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Logo */ \"(ssr)/./src/components/Logo.jsx\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(ssr)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(ssr)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n// Example navigation items\nconst navigationItems = [\n {\n name: \"Home\",\n href: \"/\"\n },\n {\n name: \"Features\",\n href: \"#\"\n },\n {\n name: \"Usecases\",\n href: \"#\"\n },\n {\n name: \"Events\",\n href: \"#\"\n }\n];\nfunction Header() {\n const [mobileMenuOpen, setMobileMenuOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"relative z-50 flex-none lg:py-4 bg-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"flex flex-wrap items-center justify-between lg:justify-center lg:flex-nowrap\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"my-5 lg:my-0 lg:grow lg:basis-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:flex lg:items-center lg:gap-8 lg:grow lg:basis-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-8 mx-auto\",\n children: navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-700 font-semibold hover:text-blue-900\",\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 29,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 27,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 34,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 26,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:hidden flex items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(true),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Open menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 42,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 43,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 37,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this),\n mobileMenuOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-10 bg-white shadow-lg lg:hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 52,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(false),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Close menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 58,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 59,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 53,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col p-6 space-y-4\",\n children: [\n navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-500 hover:text-blue-800 text-lg font-semibold\",\n onClick: ()=>setMobileMenuOpen(false),\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 64,\n columnNumber: 15\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n className: \"mt-4\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 73,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRWlDO0FBQ1k7QUFDTTtBQUNWO0FBQzBCO0FBRW5FLDJCQUEyQjtBQUMzQixNQUFNTSxrQkFBa0I7SUFDdEI7UUFBRUMsTUFBTTtRQUFRQyxNQUFNO0lBQUk7SUFDMUI7UUFBRUQsTUFBTTtRQUFZQyxNQUFNO0lBQUk7SUFDOUI7UUFBRUQsTUFBTTtRQUFZQyxNQUFNO0lBQUk7SUFDOUI7UUFBRUQsTUFBTTtRQUFVQyxNQUFNO0lBQUk7Q0FDN0I7QUFFTSxTQUFTQztJQUNkLE1BQU0sQ0FBQ0MsZ0JBQWdCQyxrQkFBa0IsR0FBR1gsK0NBQVFBLENBQUM7SUFFckQscUJBQ0UsOERBQUNZO1FBQU9DLFdBQVU7OzBCQUNoQiw4REFBQ1gsNERBQVNBO2dCQUFDVyxXQUFVOztrQ0FDbkIsOERBQUNDO3dCQUFJRCxXQUFVO2tDQUNiLDRFQUFDVixrREFBSUE7NEJBQUNVLFdBQVU7Ozs7Ozs7Ozs7O2tDQUVsQiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDQztnQ0FBSUQsV0FBVTswQ0FDWlAsZ0JBQWdCUyxHQUFHLENBQUMsQ0FBQ0MscUJBQ3BCLDhEQUFDQzt3Q0FBa0JULE1BQU1RLEtBQUtSLElBQUk7d0NBQUVLLFdBQVU7a0RBQzNDRyxLQUFLVCxJQUFJO3VDQURKUyxLQUFLVCxJQUFJOzs7Ozs7Ozs7OzBDQUtyQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLOzBDQUFJOzs7Ozs7Ozs7Ozs7a0NBRW5CLDhEQUFDTTt3QkFBSUQsV0FBVTtrQ0FDYiw0RUFBQ0s7NEJBQ0NDLE1BQUs7NEJBQ0xDLFNBQVMsSUFBTVQsa0JBQWtCOzRCQUNqQ0UsV0FBVTs7OENBRVYsOERBQUNRO29DQUFLUixXQUFVOzhDQUFVOzs7Ozs7OENBQzFCLDhEQUFDVCw2R0FBU0E7b0NBQUNrQixlQUFZO29DQUFPVCxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQU03Q0gsZ0NBQ0MsOERBQUNJO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDVixrREFBSUE7Z0NBQUNVLFdBQVU7Ozs7OzswQ0FDaEIsOERBQUNLO2dDQUNDQyxNQUFLO2dDQUNMQyxTQUFTLElBQU1ULGtCQUFrQjtnQ0FDakNFLFdBQVU7O2tEQUVWLDhEQUFDUTt3Q0FBS1IsV0FBVTtrREFBVTs7Ozs7O2tEQUMxQiw4REFBQ1IsNkdBQVNBO3dDQUFDaUIsZUFBWTt3Q0FBT1QsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUc1Qyw4REFBQ0M7d0JBQUlELFdBQVU7OzRCQUNaUCxnQkFBZ0JTLEdBQUcsQ0FBQyxDQUFDQyxxQkFDcEIsOERBQUNDO29DQUVDVCxNQUFNUSxLQUFLUixJQUFJO29DQUNmSyxXQUFVO29DQUNWTyxTQUFTLElBQU1ULGtCQUFrQjs4Q0FFaENLLEtBQUtULElBQUk7bUNBTExTLEtBQUtULElBQUk7Ozs7OzBDQVFsQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLO2dDQUFJSyxXQUFVOzBDQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFROUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4PzNjYjYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnOyAvLyBFbnN1cmUgdGhpcyBmaWxlIGlzIHRyZWF0ZWQgYXMgYSBDbGllbnQgQ29tcG9uZW50XG5cbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJztcbmltcG9ydCB7IExvZ28gfSBmcm9tICdAL2NvbXBvbmVudHMvTG9nbyc7XG5pbXBvcnQgeyBCYXJzM0ljb24sIFhNYXJrSWNvbiB9IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSc7XG5cbi8vIEV4YW1wbGUgbmF2aWdhdGlvbiBpdGVtc1xuY29uc3QgbmF2aWdhdGlvbkl0ZW1zID0gW1xuICB7IG5hbWU6ICdIb21lJywgaHJlZjogJy8nIH0sXG4gIHsgbmFtZTogJ0ZlYXR1cmVzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ1VzZWNhc2VzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ0V2ZW50cycsIGhyZWY6ICcjJyB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIEhlYWRlcigpIHtcbiAgY29uc3QgW21vYmlsZU1lbnVPcGVuLCBzZXRNb2JpbGVNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotNTAgZmxleC1ub25lIGxnOnB5LTQgYmctd2hpdGVcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBsZzpqdXN0aWZ5LWNlbnRlciBsZzpmbGV4LW5vd3JhcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LTUgbGc6bXktMCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhpZGRlbiBsZzpmbGV4IGxnOml0ZW1zLWNlbnRlciBsZzpnYXAtOCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTggbXgtYXV0b1wiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGEga2V5PXtpdGVtLm5hbWV9IGhyZWY9e2l0ZW0uaHJlZn0gY2xhc3NOYW1lPVwidGV4dC1ibHVlLTcwMCBmb250LXNlbWlib2xkIGhvdmVyOnRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAgICB7aXRlbS5uYW1lfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCI+Sm9pbiBPdXJWZXJzZTwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzpoaWRkZW4gZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE1vYmlsZU1lbnVPcGVuKHRydWUpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiLW0tMi41IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIHAtMi41IHRleHQtZ3JheS03MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5PcGVuIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICA8QmFyczNJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzTmFtZT1cImgtNiB3LTZcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuXG4gICAgICB7LyogTW9iaWxlIG1lbnUgKi99XG4gICAgICB7bW9iaWxlTWVudU9wZW4gJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei0xMCBiZy13aGl0ZSBzaGFkb3ctbGcgbGc6aGlkZGVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC02XCI+XG4gICAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVNZW51T3BlbihmYWxzZSl9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cIi1tLTIuNSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBwLTIuNSB0ZXh0LWdyYXktNzAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICAgIDxYTWFya0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3NOYW1lPVwiaC02IHctNlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgcC02IHNwYWNlLXktNFwiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1ibHVlLTUwMCBob3Zlcjp0ZXh0LWJsdWUtODAwIHRleHQtbGcgZm9udC1zZW1pYm9sZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTWVudU9wZW4oZmFsc2UpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCIgY2xhc3NOYW1lPVwibXQtNFwiPlxuICAgICAgICAgICAgICBKb2luIE91clZlcnNlXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvaGVhZGVyPlxuICApO1xufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwiQnV0dG9uIiwiQ29udGFpbmVyIiwiTG9nbyIsIkJhcnMzSWNvbiIsIlhNYXJrSWNvbiIsIm5hdmlnYXRpb25JdGVtcyIsIm5hbWUiLCJocmVmIiwiSGVhZGVyIiwibW9iaWxlTWVudU9wZW4iLCJzZXRNb2JpbGVNZW51T3BlbiIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsIm1hcCIsIml0ZW0iLCJhIiwiYnV0dG9uIiwidHlwZSIsIm9uQ2xpY2siLCJzcGFuIiwiYXJpYS1oaWRkZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Header.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Logo.jsx": -/*!*********************************!*\ - !*** ./src/components/Logo.jsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: () => (/* binding */ Logo)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction Logo(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: \"130\",\n height: \"43.33\",\n version: \"1\",\n viewBox: \"0 0 90 30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"filter\", {\n id: \"bdef170c39\",\n width: \"100%\",\n height: \"100%\",\n x: \"0%\",\n y: \"0%\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n colorInterpolationFilters: \"sRGB\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"ae85f5a47d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9479493a42\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.07 23.469a2.665 2.665 0 01-2.383-1.504L4.657 9.25a2.62 2.62 0 011.257-3.492A2.621 2.621 0 019.41 7.016l6.027 12.714a2.618 2.618 0 01-2.367 3.739zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"90a54febec\",\n x1: \"117.677\",\n x2: \"-10.526\",\n y1: \"202.569\",\n y2: \"6.809\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 34,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 37,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#1E3A8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 40,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 43,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#203E91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#204092\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 47,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#214295\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 51,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#224498\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 52,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 54,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 55,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 56,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#24479E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 59,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 60,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.299\",\n stopColor: \"#2549A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#254AA1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#254BA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 65,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 66,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#274FAA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 72,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2751AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 78,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 80,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2A56B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 81,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 85,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 86,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2B5AB9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2C5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 88,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 91,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 92,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 93,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 94,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 95,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 96,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 97,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 98,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#2E61C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 99,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 100,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 101,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#2F63C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 102,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 103,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3065CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 105,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 106,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#3167CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 107,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 108,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 109,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 111,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 112,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.701\",\n stopColor: \"#326BD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 114,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 115,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 116,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 117,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#346FD8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 120,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3570DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 123,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 124,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 125,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 127,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 128,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3674E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 130,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 131,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 132,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 133,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 134,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#3878E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 135,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 136,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#387AE8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 138,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 139,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#397CEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 140,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 142,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 143,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 145,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 146,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 147,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 148,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.977\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 149,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.984\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 150,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 24,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"71699c0992\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 154,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 153,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"39c4965344\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.469c-.375 0-.77-.078-1.13-.266-1.312-.617-1.878-2.195-1.257-3.492l6.031-12.715c.617-1.312 2.196-1.879 3.492-1.258 1.317.621 1.88 2.2 1.258 3.492l-6.027 12.715c-.434.977-1.371 1.524-2.367 1.524zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 157,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 156,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"5c493e8459\",\n x1: \"188.996\",\n x2: \"130.793\",\n y1: \"-0.323\",\n y2: \"214.691\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 168,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.008\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 169,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.016\",\n stopColor: \"#1E3B8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 170,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.023\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 171,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.031\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 172,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.039\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 173,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.047\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 174,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.055\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 175,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 176,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.07\",\n stopColor: \"#203F91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 177,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.078\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 178,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.086\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 179,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.102\",\n stopColor: \"#214195\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 181,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#214296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 182,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 183,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#224398\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 186,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 187,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.15\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 188,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 189,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 190,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 191,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 192,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#24489E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 193,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 194,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 195,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#2449A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 196,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 198,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 199,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#254CA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 201,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 202,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 203,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 204,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#274EA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 205,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 206,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2750AA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 207,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 208,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#2851AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 209,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 210,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 212,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 213,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 214,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 215,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 216,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#2955B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 217,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 218,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 219,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 220,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 221,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 222,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 223,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2B59B9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 224,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2B5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 225,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 226,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 227,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 228,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 229,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 230,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 232,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 233,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2E5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 234,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 235,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 236,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2F62C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 238,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 240,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 241,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2F64C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 242,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 243,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 244,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 245,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#3066CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 246,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 247,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 248,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 249,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 251,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 252,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#326AD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 253,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 254,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#336BD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 255,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 256,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 257,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 258,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 259,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#346ED8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 260,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 261,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 262,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 263,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#3571DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 264,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 265,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 266,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 267,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 268,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 269,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 270,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3675E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 272,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 273,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 274,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 275,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 276,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 277,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.85\",\n stopColor: \"#3879E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 278,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 279,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 281,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 282,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#397BEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 284,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#3A7CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 286,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 287,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 288,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 289,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 290,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 291,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 292,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 293,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 294,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 295,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 159,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8d0c53bb2c\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8007d6ee0b\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.074 23.621c-.98 0-1.941-.566-2.394-1.512L4.62 9.336a2.628 2.628 0 011.262-3.508A2.632 2.632 0 019.395 7.09l6.058 12.773a2.639 2.639 0 01-1.265 3.512c-.36.168-.735.246-1.114.246zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 301,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 300,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 303,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"c882ea39a8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 313,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9791d5a09d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 321,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 320,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"e6e7ec391e\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9791d5a09d)\",\n mask: \"url(#c882ea39a8)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 335,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 334,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 323,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"b6080a64a5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 342,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 341,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"2ec3ecbd14\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.621c-.375 0-.774-.078-1.133-.266-1.32-.62-1.887-2.207-1.262-3.507L16.72 7.074c.62-1.324 2.207-1.89 3.508-1.265 1.32.62 1.886 2.207 1.265 3.507L15.434 22.09c-.434.98-1.38 1.531-2.38 1.531zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 345,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 344,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 347,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"d7dda1a063\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 357,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 356,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 355,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"c87c18b6c8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 365,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 364,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"f8c42d9774\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#c87c18b6c8)\",\n mask: \"url(#d7dda1a063)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 379,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 378,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 367,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#ae85f5a47d)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9479493a42)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#90a54febec)\",\n d: \"M4.355 5.473v17.996H16.06V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 388,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 387,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 386,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#71699c0992)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#39c4965344)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#5c493e8459)\",\n d: \"M10.047 5.473v17.996h11.726V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 396,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 395,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 394,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M5.766.172c-1.024 0-1.914-.219-2.672-.656a4.783 4.783 0 01-1.797-1.86c-.43-.789-.64-1.707-.64-2.75 0-1.031.21-1.941.64-2.734a4.837 4.837 0 011.797-1.86c.758-.445 1.648-.671 2.672-.671 1 0 1.882.226 2.656.671.77.45 1.367 1.07 1.797 1.86.426.793.64 1.703.64 2.734 0 1.043-.214 1.961-.64 2.75a4.677 4.677 0 01-1.797 1.86c-.774.437-1.656.656-2.656.656zm0-1.672c.968 0 1.738-.316 2.312-.953.582-.645.875-1.524.875-2.64 0-1.114-.293-1.989-.875-2.626-.574-.644-1.344-.968-2.312-.968-.97 0-1.746.324-2.329.968-.585.637-.874 1.512-.874 2.625 0 1.117.289 1.996.874 2.64.583.638 1.36.954 2.329.954zm0 0\",\n transform: \"translate(24.636 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 402,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.656.172c-.906 0-1.605-.281-2.094-.844C1.07-1.234.829-2.055.829-3.14v-4.078h1.844v3.907c0 .617.125 1.09.375 1.421.258.336.66.5 1.203.5.508 0 .93-.18 1.266-.546.332-.375.5-.891.5-1.547V-7.22H7.89V0H6.234l-.14-1.219a2.45 2.45 0 01-.969 1.016c-.418.25-.906.375-1.469.375zm0 0\",\n transform: \"translate(35.114 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 407,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(42.932 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 412,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.938 0L.217-10.188h2l2.876 8.282 2.89-8.281h1.97L6.218 0zm0 0\",\n transform: \"translate(47.67 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 417,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(56.811 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 422,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(64.484 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 427,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.922.172c-.637 0-1.2-.106-1.688-.313-.48-.207-.867-.492-1.156-.859a2.58 2.58 0 01-.531-1.281h1.875c.062.281.219.523.469.719.257.199.597.296 1.015.296.406 0 .703-.082.89-.25.188-.164.282-.351.282-.562 0-.313-.137-.52-.406-.625a7.994 7.994 0 00-1.14-.344 11.28 11.28 0 01-.954-.234 5.044 5.044 0 01-.875-.375 2.081 2.081 0 01-.64-.578c-.168-.239-.25-.536-.25-.891 0-.633.253-1.172.765-1.61.508-.437 1.223-.656 2.14-.656.852 0 1.536.2 2.048.594.507.399.812.945.906 1.64h-1.75c-.117-.53-.524-.796-1.219-.796-.344 0-.61.07-.797.203-.187.137-.281.309-.281.516 0 .21.14.382.422.515.281.125.648.242 1.11.344.507.117.972.246 1.39.39.426.137.766.344 1.016.626.25.273.375.664.375 1.171.007.45-.11.856-.36 1.22-.242.355-.59.636-1.047.843-.449.195-.984.297-1.61.297zm0 0\",\n transform: \"translate(69.222 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 432,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(75.834 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 437,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8d0c53bb2c)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8007d6ee0b)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#e6e7ec391e)\",\n d: \"M4.355 5.473h11.72v18.144H4.354zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 444,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 443,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 442,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#b6080a64a5)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#2ec3ecbd14)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#f8c42d9774)\",\n d: \"M10.035 5.473h11.738v18.144H10.035zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 452,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 451,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 450,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Mb2dvLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU8sU0FBU0EsS0FBS0MsS0FBSztJQUN4QixxQkFDRSw4REFBQ0M7UUFDREMsT0FBTTtRQUNOQyxZQUFXO1FBQ1hDLE9BQU07UUFDTkMsUUFBTztRQUNQQyxTQUFRO1FBQ1JDLFNBQVE7OzBCQUVSLDhEQUFDQzs7a0NBQ0MsOERBQUNDO3dCQUFPQyxJQUFHO3dCQUFhTixPQUFNO3dCQUFPQyxRQUFPO3dCQUFPTSxHQUFFO3dCQUFLQyxHQUFFO2tDQUMxRCw0RUFBQ0M7NEJBQ0NDLDJCQUEwQjs0QkFDMUJDLFFBQU87Ozs7Ozs7Ozs7O2tDQUdYLDhEQUFDQzt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDRjt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDQzt3QkFDQ1QsSUFBRzt3QkFDSFUsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsbUJBQWtCO3dCQUNsQkMsZUFBYzs7MENBRWQsOERBQUNDO2dDQUFLQyxRQUFPO2dDQUFJQyxXQUFVOzs7Ozs7MENBQzNCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFNQyxXQUFVOzs7Ozs7MENBQzdCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7Ozs7Ozs7O2tDQUU3Qiw4REFBQ1o7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0M7d0JBQ0NULElBQUc7d0JBQ0hVLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLG1CQUFrQjt3QkFDbEJDLGVBQWM7OzBDQUVkLDhEQUFDQztnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7OzBDQUMzQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFNQyxXQUFVOzs7Ozs7MENBQzdCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQUlDLFdBQVU7Ozs7Ozs7Ozs7OztrQ0FFN0IsOERBQUNaO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNGO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNXO3dCQUNDekIsT0FBTTt3QkFDTkMsUUFBTzt3QkFDUE0sR0FBRTt3QkFDRkMsR0FBRTt3QkFDRmtCLHFCQUFvQjt3QkFDcEJDLFdBQVU7Ozs7OztrQ0FFWiw4REFBQ0M7d0JBQUt0QixJQUFHO2tDQUNQLDRFQUFDdUI7NEJBQUV4QixRQUFPO3NDQUNSLDRFQUFDb0I7Z0NBQ0N6QixPQUFNO2dDQUNOQyxRQUFPO2dDQUNQMEIsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztrQ0FJaEIsOERBQUNmO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNnQjt3QkFDQ3hCLElBQUc7d0JBQ0hOLE9BQU07d0JBQ05DLFFBQU87d0JBQ1BNLEdBQUU7d0JBQ0ZDLEdBQUU7d0JBQ0Z1QixrQkFBaUI7d0JBQ2pCQyxjQUFhO3dCQUNiTixxQkFBb0I7d0JBQ3BCdkIsU0FBUTtrQ0FFUiw0RUFBQzBCOzRCQUFFakIsVUFBUzs0QkFBbUJnQixNQUFLO3NDQUNsQyw0RUFBQ2Y7Z0NBQ0NvQixNQUFLO2dDQUNMbkIsR0FBRTs7Ozs7Ozs7Ozs7Ozs7OztrQ0FJUiw4REFBQ0Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ1c7d0JBQ0N6QixPQUFNO3dCQUNOQyxRQUFPO3dCQUNQTSxHQUFFO3dCQUNGQyxHQUFFO3dCQUNGa0IscUJBQW9CO3dCQUNwQkMsV0FBVTs7Ozs7O2tDQUVaLDhEQUFDQzt3QkFBS3RCLElBQUc7a0NBQ1AsNEVBQUN1Qjs0QkFBRXhCLFFBQU87c0NBQ1IsNEVBQUNvQjtnQ0FDQ3pCLE9BQU07Z0NBQ05DLFFBQU87Z0NBQ1AwQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O2tDQUloQiw4REFBQ2Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ2dCO3dCQUNDeEIsSUFBRzt3QkFDSE4sT0FBTTt3QkFDTkMsUUFBTzt3QkFDUE0sR0FBRTt3QkFDRkMsR0FBRTt3QkFDRnVCLGtCQUFpQjt3QkFDakJDLGNBQWE7d0JBQ2JOLHFCQUFvQjt3QkFDcEJ2QixTQUFRO2tDQUVSLDRFQUFDMEI7NEJBQUVqQixVQUFTOzRCQUFtQmdCLE1BQUs7c0NBQ2xDLDRFQUFDZjtnQ0FDQ29CLE1BQUs7Z0NBQ0xuQixHQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUtWLDhEQUFDZTtnQkFBRWpCLFVBQVM7MEJBQ1YsNEVBQUNpQjtvQkFBRWpCLFVBQVM7OEJBQ1YsNEVBQUNDO3dCQUNDb0IsTUFBSzt3QkFDTG5CLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBSVIsOERBQUNlO2dCQUFFakIsVUFBUzswQkFDViw0RUFBQ2lCO29CQUFFakIsVUFBUzs4QkFDViw0RUFBQ0M7d0JBQ0NvQixNQUFLO3dCQUNMbkIsR0FBRTs7Ozs7Ozs7Ozs7Ozs7OzswQkFJUiw4REFBQ0Q7Z0JBQ0NvQixNQUFLO2dCQUNMbkIsR0FBRTtnQkFDRm9CLFdBQVU7Ozs7OzswQkFFWiw4REFBQ3JCO2dCQUNDb0IsTUFBSztnQkFDTG5CLEdBQUU7Z0JBQ0ZvQixXQUFVOzs7Ozs7MEJBRVosOERBQUNyQjtnQkFDQ29CLE1BQUs7Z0JBQ0xuQixHQUFFO2dCQUNGb0IsV0FBVTs7Ozs7OzBCQUVaLDhEQUFDckI7Z0JBQ0NvQixNQUFLO2dCQUNMbkIsR0FBRTtnQkFDRm9CLFdBQVU7Ozs7OzswQkFFWiw4REFBQ3JCO2dCQUNDb0IsTUFBSztnQkFDTG5CLEdBQUU7Z0JBQ0ZvQixXQUFVOzs7Ozs7MEJBRVosOERBQUNyQjtnQkFDQ29CLE1BQUs7Z0JBQ0xuQixHQUFFO2dCQUNGb0IsV0FBVTs7Ozs7OzBCQUVaLDhEQUFDckI7Z0JBQ0NvQixNQUFLO2dCQUNMbkIsR0FBRTtnQkFDRm9CLFdBQVU7Ozs7OzswQkFFWiw4REFBQ3JCO2dCQUNDb0IsTUFBSztnQkFDTG5CLEdBQUU7Z0JBQ0ZvQixXQUFVOzs7Ozs7MEJBRVosOERBQUNMO2dCQUFFakIsVUFBUzswQkFDViw0RUFBQ2lCO29CQUFFakIsVUFBUzs4QkFDViw0RUFBQ0M7d0JBQ0NvQixNQUFLO3dCQUNMbkIsR0FBRTs7Ozs7Ozs7Ozs7Ozs7OzswQkFJUiw4REFBQ2U7Z0JBQUVqQixVQUFTOzBCQUNWLDRFQUFDaUI7b0JBQUVqQixVQUFTOzhCQUNWLDRFQUFDQzt3QkFDQ29CLE1BQUs7d0JBQ0xuQixHQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTVoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9Mb2dvLmpzeD8yMDQxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBMb2dvKHByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHhtbG5zWGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICB3aWR0aD1cIjEzMFwiXG4gICAgaGVpZ2h0PVwiNDMuMzNcIlxuICAgIHZlcnNpb249XCIxXCJcbiAgICB2aWV3Qm94PVwiMCAwIDkwIDMwXCJcbiAgPlxuICAgIDxkZWZzPlxuICAgICAgPGZpbHRlciBpZD1cImJkZWYxNzBjMzlcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeD1cIjAlXCIgeT1cIjAlXCI+XG4gICAgICAgIDxmZUNvbG9yTWF0cml4XG4gICAgICAgICAgY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycz1cInNSR0JcIlxuICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDEgMFwiXG4gICAgICAgID48L2ZlQ29sb3JNYXRyaXg+XG4gICAgICA8L2ZpbHRlcj5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImFlODVmNWE0N2RcIj5cbiAgICAgICAgPHBhdGggZD1cIk00LjM1NSA1LjQ3M0gxNnYxOC4xNDRINC4zNTV6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI5NDc5NDkzYTQyXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDcgMjMuNDY5YTIuNjY1IDIuNjY1IDAgMDEtMi4zODMtMS41MDRMNC42NTcgOS4yNWEyLjYyIDIuNjIgMCAwMTEuMjU3LTMuNDkyQTIuNjIxIDIuNjIxIDAgMDE5LjQxIDcuMDE2bDYuMDI3IDEyLjcxNGEyLjYxOCAyLjYxOCAwIDAxLTIuMzY3IDMuNzM5em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGxpbmVhckdyYWRpZW50XG4gICAgICAgIGlkPVwiOTBhNTRmZWJlY1wiXG4gICAgICAgIHgxPVwiMTE3LjY3N1wiXG4gICAgICAgIHgyPVwiLTEwLjUyNlwiXG4gICAgICAgIHkxPVwiMjAyLjU2OVwiXG4gICAgICAgIHkyPVwiNi44MDlcIlxuICAgICAgICBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0LjM1NSA1LjQ3OSkgc2NhbGUoLjA5MTc0KVwiXG4gICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICA+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjBcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA2M1wiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDk0XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMDlcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjExN1wiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTI1XCIgc3RvcENvbG9yPVwiIzFFM0E4QlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMzNcIiBzdG9wQ29sb3I9XCIjMUYzQjhDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE0MVwiIHN0b3BDb2xvcj1cIiMxRjNDOERcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQ4XCIgc3RvcENvbG9yPVwiIzFGM0M4RVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNTZcIiBzdG9wQ29sb3I9XCIjMUYzRDhGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE2NFwiIHN0b3BDb2xvcj1cIiMyMDNFOTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTcyXCIgc3RvcENvbG9yPVwiIzIwM0U5MVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOFwiIHN0b3BDb2xvcj1cIiMyMDNGOTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTg4XCIgc3RvcENvbG9yPVwiIzIwNDA5MlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOTVcIiBzdG9wQ29sb3I9XCIjMjE0MDkzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIwM1wiIHN0b3BDb2xvcj1cIiMyMTQxOTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjExXCIgc3RvcENvbG9yPVwiIzIxNDI5NVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wQ29sb3I9XCIjMjI0Mjk2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIyN1wiIHN0b3BDb2xvcj1cIiMyMjQzOTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjM0XCIgc3RvcENvbG9yPVwiIzIyNDQ5OFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNDJcIiBzdG9wQ29sb3I9XCIjMjQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1XCIgc3RvcENvbG9yPVwiIzIzNDU5QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNThcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI2NlwiIHN0b3BDb2xvcj1cIiMyMzQ2OUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjczXCIgc3RvcENvbG9yPVwiIzIzNDc5RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yODFcIiBzdG9wQ29sb3I9XCIjMjQ0NzlFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4OVwiIHN0b3BDb2xvcj1cIiMyNDQ4OUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjk3XCIgc3RvcENvbG9yPVwiIzI0NDlBMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTlcIiBzdG9wQ29sb3I9XCIjMjU0OUExXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMwNVwiIHN0b3BDb2xvcj1cIiMyNTRBQTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzEzXCIgc3RvcENvbG9yPVwiIzI1NEFBMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMlwiIHN0b3BDb2xvcj1cIiMyNTRCQTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzI4XCIgc3RvcENvbG9yPVwiIzI1NEJBNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMzZcIiBzdG9wQ29sb3I9XCIjMjY0Q0E1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM0NFwiIHN0b3BDb2xvcj1cIiMyNjREQTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzUyXCIgc3RvcENvbG9yPVwiIzI2NERBN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTlcIiBzdG9wQ29sb3I9XCIjMjY0RUE4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM2N1wiIHN0b3BDb2xvcj1cIiMyNzRGQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzc1XCIgc3RvcENvbG9yPVwiIzI3NEZBQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zODNcIiBzdG9wQ29sb3I9XCIjMjc1MEFCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5MVwiIHN0b3BDb2xvcj1cIiMyNzUxQUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzk4XCIgc3RvcENvbG9yPVwiIzI4NTFBRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MDZcIiBzdG9wQ29sb3I9XCIjMjg1MkFFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQxNFwiIHN0b3BDb2xvcj1cIiMyODUzQUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDIyXCIgc3RvcENvbG9yPVwiIzI5NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40M1wiIHN0b3BDb2xvcj1cIiMyOTU0QjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDM4XCIgc3RvcENvbG9yPVwiIzI5NTRCMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NDVcIiBzdG9wQ29sb3I9XCIjMjk1NUIyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ1M1wiIHN0b3BDb2xvcj1cIiMyQTU2QjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDYxXCIgc3RvcENvbG9yPVwiIzJBNTZCNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjlcIiBzdG9wQ29sb3I9XCIjMkE1N0I1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ3N1wiIHN0b3BDb2xvcj1cIiMyQTU4QjZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDg0XCIgc3RvcENvbG9yPVwiIzJCNThCN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40OTJcIiBzdG9wQ29sb3I9XCIjMkI1OUI4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wQ29sb3I9XCIjMkI1QUI5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUwOFwiIHN0b3BDb2xvcj1cIiMyQzVBQkFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTE2XCIgc3RvcENvbG9yPVwiIzJDNUJCQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MjNcIiBzdG9wQ29sb3I9XCIjMkM1Q0JDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzMVwiIHN0b3BDb2xvcj1cIiMyQzVDQkRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTM5XCIgc3RvcENvbG9yPVwiIzJENURCRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NDdcIiBzdG9wQ29sb3I9XCIjMkQ1RUJGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU1NVwiIHN0b3BDb2xvcj1cIiMyRDVFQzBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTYzXCIgc3RvcENvbG9yPVwiIzJENUZDMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41N1wiIHN0b3BDb2xvcj1cIiMyRTYwQzJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTc4XCIgc3RvcENvbG9yPVwiIzJFNjBDM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41ODZcIiBzdG9wQ29sb3I9XCIjMkU2MUM0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU5NFwiIHN0b3BDb2xvcj1cIiMyRTYxQzVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjAyXCIgc3RvcENvbG9yPVwiIzJGNjJDNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDlcIiBzdG9wQ29sb3I9XCIjMkY2M0M3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYxN1wiIHN0b3BDb2xvcj1cIiMyRjYzQzhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjI1XCIgc3RvcENvbG9yPVwiIzMwNjRDOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MzNcIiBzdG9wQ29sb3I9XCIjMzA2NUNBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0MVwiIHN0b3BDb2xvcj1cIiMzMDY1Q0JcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQ4XCIgc3RvcENvbG9yPVwiIzMwNjZDQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NTZcIiBzdG9wQ29sb3I9XCIjMzE2N0NDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY2NFwiIHN0b3BDb2xvcj1cIiMzMTY3Q0RcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjcyXCIgc3RvcENvbG9yPVwiIzMxNjhDRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OFwiIHN0b3BDb2xvcj1cIiMzMTY5Q0ZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjg4XCIgc3RvcENvbG9yPVwiIzMyNjlEMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OTVcIiBzdG9wQ29sb3I9XCIjMzI2QUQxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcwMVwiIHN0b3BDb2xvcj1cIiMzMjZCRDJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzAzXCIgc3RvcENvbG9yPVwiIzMyNkJEM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MTFcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxOVwiIHN0b3BDb2xvcj1cIiMzMzZDRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzI3XCIgc3RvcENvbG9yPVwiIzMzNkRENVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MzRcIiBzdG9wQ29sb3I9XCIjMzM2REQ2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc0MlwiIHN0b3BDb2xvcj1cIiMzNDZFRDdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzVcIiBzdG9wQ29sb3I9XCIjMzQ2RkQ4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc1OFwiIHN0b3BDb2xvcj1cIiMzNDZGRDlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzY2XCIgc3RvcENvbG9yPVwiIzM0NzBEQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NzNcIiBzdG9wQ29sb3I9XCIjMzU3MERCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc4MVwiIHN0b3BDb2xvcj1cIiMzNTcxRENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzg5XCIgc3RvcENvbG9yPVwiIzM1NzJERFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43OTdcIiBzdG9wQ29sb3I9XCIjMzU3MkRFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgwNVwiIHN0b3BDb2xvcj1cIiMzNjczREZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODEzXCIgc3RvcENvbG9yPVwiIzM2NzRFMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MlwiIHN0b3BDb2xvcj1cIiMzNjc0RTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODI4XCIgc3RvcENvbG9yPVwiIzM3NzVFMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MzZcIiBzdG9wQ29sb3I9XCIjMzc3NkUzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg0NFwiIHN0b3BDb2xvcj1cIiMzNzc2RTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODUyXCIgc3RvcENvbG9yPVwiIzM3NzdFNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTlcIiBzdG9wQ29sb3I9XCIjMzg3OEU2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg2N1wiIHN0b3BDb2xvcj1cIiMzODc4RTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODc1XCIgc3RvcENvbG9yPVwiIzM4NzlFOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44ODNcIiBzdG9wQ29sb3I9XCIjMzg3QUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg5MVwiIHN0b3BDb2xvcj1cIiMzOTdBRTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODk4XCIgc3RvcENvbG9yPVwiIzM5N0JFQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MDZcIiBzdG9wQ29sb3I9XCIjMzk3Q0VCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkxNFwiIHN0b3BDb2xvcj1cIiMzOTdDRUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTIyXCIgc3RvcENvbG9yPVwiIzNBN0RFRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45M1wiIHN0b3BDb2xvcj1cIiMzQTdERUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTM4XCIgc3RvcENvbG9yPVwiIzNBN0VFRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NDVcIiBzdG9wQ29sb3I9XCIjM0I3RkYwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk1M1wiIHN0b3BDb2xvcj1cIiMzQjdGRjFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTYxXCIgc3RvcENvbG9yPVwiIzNCODBGMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjlcIiBzdG9wQ29sb3I9XCIjM0I4MUYzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk3N1wiIHN0b3BDb2xvcj1cIiMzQzgxRjRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTg0XCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3BDb2xvcj1cIiMzQzgyRjVcIj48L3N0b3A+XG4gICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgPGNsaXBQYXRoIGlkPVwiNzE2OTljMDk5MlwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEwIDUuNDczaDExLjc3M3YxOC4xNDRIMTB6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCIzOWM0OTY1MzQ0XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDU1IDIzLjQ2OWMtLjM3NSAwLS43Ny0uMDc4LTEuMTMtLjI2Ni0xLjMxMi0uNjE3LTEuODc4LTIuMTk1LTEuMjU3LTMuNDkybDYuMDMxLTEyLjcxNWMuNjE3LTEuMzEyIDIuMTk2LTEuODc5IDMuNDkyLTEuMjU4IDEuMzE3LjYyMSAxLjg4IDIuMiAxLjI1OCAzLjQ5MmwtNi4wMjcgMTIuNzE1Yy0uNDM0Ljk3Ny0xLjM3MSAxLjUyNC0yLjM2NyAxLjUyNHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgICBpZD1cIjVjNDkzZTg0NTlcIlxuICAgICAgICB4MT1cIjE4OC45OTZcIlxuICAgICAgICB4Mj1cIjEzMC43OTNcIlxuICAgICAgICB5MT1cIi0wLjMyM1wiXG4gICAgICAgIHkyPVwiMjE0LjY5MVwiXG4gICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuMzU1IDUuNDc5KSBzY2FsZSguMDkxNzQpXCJcbiAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDA4XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMTZcIiBzdG9wQ29sb3I9XCIjMUUzQjhCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAyM1wiIHN0b3BDb2xvcj1cIiMxRjNCOENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDMxXCIgc3RvcENvbG9yPVwiIzFGM0M4RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMzlcIiBzdG9wQ29sb3I9XCIjMUYzQzhFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA0N1wiIHN0b3BDb2xvcj1cIiMxRjNEOEZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDU1XCIgc3RvcENvbG9yPVwiIzIwM0U5MFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNjNcIiBzdG9wQ29sb3I9XCIjMjAzRTkwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA3XCIgc3RvcENvbG9yPVwiIzIwM0Y5MVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNzhcIiBzdG9wQ29sb3I9XCIjMjAzRjkyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA4NlwiIHN0b3BDb2xvcj1cIiMyMTQwOTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDk0XCIgc3RvcENvbG9yPVwiIzIxNDE5NFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMDJcIiBzdG9wQ29sb3I9XCIjMjE0MTk1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwOVwiIHN0b3BDb2xvcj1cIiMyMTQyOTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTE3XCIgc3RvcENvbG9yPVwiIzIyNDI5NlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMjVcIiBzdG9wQ29sb3I9XCIjMjI0Mzk3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEzM1wiIHN0b3BDb2xvcj1cIiMyMjQzOThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQxXCIgc3RvcENvbG9yPVwiIzI0OVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDhcIiBzdG9wQ29sb3I9XCIjMjM0NTlBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1XCIgc3RvcENvbG9yPVwiIzIzNDU5QlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNTZcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE2NFwiIHN0b3BDb2xvcj1cIiMyMzQ2OUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTcyXCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOFwiIHN0b3BDb2xvcj1cIiMyMzQ3OURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTg4XCIgc3RvcENvbG9yPVwiIzI0NDg5RVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOTVcIiBzdG9wQ29sb3I9XCIjMjQ0ODlGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIwM1wiIHN0b3BDb2xvcj1cIiMyNDQ5QTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjExXCIgc3RvcENvbG9yPVwiIzI0NDlBMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wQ29sb3I9XCIjMjU0QUEyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIyN1wiIHN0b3BDb2xvcj1cIiMyNTRBQTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjM0XCIgc3RvcENvbG9yPVwiIzI1NEJBM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNDJcIiBzdG9wQ29sb3I9XCIjMjU0Q0E0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1XCIgc3RvcENvbG9yPVwiIzI2NENBNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNThcIiBzdG9wQ29sb3I9XCIjMjY0REE2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI2NlwiIHN0b3BDb2xvcj1cIiMyNjREQTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjczXCIgc3RvcENvbG9yPVwiIzI2NEVBOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yODFcIiBzdG9wQ29sb3I9XCIjMjc0RUE5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4OVwiIHN0b3BDb2xvcj1cIiMyNzRGQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjk3XCIgc3RvcENvbG9yPVwiIzI3NTBBQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMDVcIiBzdG9wQ29sb3I9XCIjMjc1MEFCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMxM1wiIHN0b3BDb2xvcj1cIiMyODUxQUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzJcIiBzdG9wQ29sb3I9XCIjMjg1MUFEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMyOFwiIHN0b3BDb2xvcj1cIiMyODUyQUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzM2XCIgc3RvcENvbG9yPVwiIzI4NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNDRcIiBzdG9wQ29sb3I9XCIjMjk1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM1MlwiIHN0b3BDb2xvcj1cIiMyOTU0QjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzU5XCIgc3RvcENvbG9yPVwiIzI5NTRCMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNjdcIiBzdG9wQ29sb3I9XCIjMjk1NUIyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM3NVwiIHN0b3BDb2xvcj1cIiMyOTU1QjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzgzXCIgc3RvcENvbG9yPVwiIzJBNTZCNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zOTFcIiBzdG9wQ29sb3I9XCIjMkE1N0I1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5OFwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDA2XCIgc3RvcENvbG9yPVwiIzJBNThCNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MTRcIiBzdG9wQ29sb3I9XCIjMkI1OEI3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQyMlwiIHN0b3BDb2xvcj1cIiMyQjU5QjhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDNcIiBzdG9wQ29sb3I9XCIjMkI1OUI5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQzOFwiIHN0b3BDb2xvcj1cIiMyQjVBQkFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDQ1XCIgc3RvcENvbG9yPVwiIzJDNUJCQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NTNcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ2MVwiIHN0b3BDb2xvcj1cIiMyQzVDQkNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDY5XCIgc3RvcENvbG9yPVwiIzJDNUNCRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NzdcIiBzdG9wQ29sb3I9XCIjMkQ1REJFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ4NFwiIHN0b3BDb2xvcj1cIiMyRDVFQkZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDkyXCIgc3RvcENvbG9yPVwiIzJENUVDMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcENvbG9yPVwiIzJENUZDMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MDhcIiBzdG9wQ29sb3I9XCIjMkU1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUxNlwiIHN0b3BDb2xvcj1cIiMyRTYwQzJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTIzXCIgc3RvcENvbG9yPVwiIzJFNjBDM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MzFcIiBzdG9wQ29sb3I9XCIjMkU2MUM0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzOVwiIHN0b3BDb2xvcj1cIiMyRjYyQzVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTQ3XCIgc3RvcENvbG9yPVwiIzJGNjJDNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NTVcIiBzdG9wQ29sb3I9XCIjMkY2M0M3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU2M1wiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTdcIiBzdG9wQ29sb3I9XCIjMkY2NEM4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU3OFwiIHN0b3BDb2xvcj1cIiMzMDY0QzlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTg2XCIgc3RvcENvbG9yPVwiIzMwNjVDQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41OTRcIiBzdG9wQ29sb3I9XCIjMzA2NkNCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYwMlwiIHN0b3BDb2xvcj1cIiMzMDY2Q0NcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjA5XCIgc3RvcENvbG9yPVwiIzMxNjdDRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MTdcIiBzdG9wQ29sb3I9XCIjMzE2N0NEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYyNVwiIHN0b3BDb2xvcj1cIiMzMTY4Q0VcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjMzXCIgc3RvcENvbG9yPVwiIzMxNjlDRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NDFcIiBzdG9wQ29sb3I9XCIjMzI2OUQwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0OFwiIHN0b3BDb2xvcj1cIiMzMjZBRDFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjU2XCIgc3RvcENvbG9yPVwiIzMyNkFEMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NjRcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY3MlwiIHN0b3BDb2xvcj1cIiMzMzZCRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjhcIiBzdG9wQ29sb3I9XCIjMzM2Q0Q0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY4OFwiIHN0b3BDb2xvcj1cIiMzMzZERDVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjk1XCIgc3RvcENvbG9yPVwiIzMzNkRENlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MDNcIiBzdG9wQ29sb3I9XCIjMzQ2RUQ3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxMVwiIHN0b3BDb2xvcj1cIiMzNDZFRDhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzE5XCIgc3RvcENvbG9yPVwiIzM0NkZEOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MjdcIiBzdG9wQ29sb3I9XCIjMzQ3MERBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjczNFwiIHN0b3BDb2xvcj1cIiMzNDcwREFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzQyXCIgc3RvcENvbG9yPVwiIzM1NzFEQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NVwiIHN0b3BDb2xvcj1cIiMzNTcxRENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzU4XCIgc3RvcENvbG9yPVwiIzM1NzJERFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NjZcIiBzdG9wQ29sb3I9XCIjMzU3MkRFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc3M1wiIHN0b3BDb2xvcj1cIiMzNjczREZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzgxXCIgc3RvcENvbG9yPVwiIzM2NzRFMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODlcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc5N1wiIHN0b3BDb2xvcj1cIiMzNjc1RTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODA1XCIgc3RvcENvbG9yPVwiIzM3NzVFMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MTNcIiBzdG9wQ29sb3I9XCIjMzc3NkUzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyXCIgc3RvcENvbG9yPVwiIzM3NzZFNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MjhcIiBzdG9wQ29sb3I9XCIjMzc3N0U1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgzNlwiIHN0b3BDb2xvcj1cIiMzODc4RTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODQ0XCIgc3RvcENvbG9yPVwiIzM4NzhFNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NVwiIHN0b3BDb2xvcj1cIiMzODc5RTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODUyXCIgc3RvcENvbG9yPVwiIzM4NzlFOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTlcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg2N1wiIHN0b3BDb2xvcj1cIiMzOTdBRTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODc1XCIgc3RvcENvbG9yPVwiIzM5N0JFQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44ODNcIiBzdG9wQ29sb3I9XCIjMzk3QkVCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg5MVwiIHN0b3BDb2xvcj1cIiMzOTdDRUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODk4XCIgc3RvcENvbG9yPVwiIzNBN0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MDZcIiBzdG9wQ29sb3I9XCIjM0E3REVEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkxNFwiIHN0b3BDb2xvcj1cIiMzQTdERUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTIyXCIgc3RvcENvbG9yPVwiIzNBN0VFRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45M1wiIHN0b3BDb2xvcj1cIiMzQTdGRjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTM4XCIgc3RvcENvbG9yPVwiIzNCN0ZGMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NDVcIiBzdG9wQ29sb3I9XCIjM0I4MEYyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk1M1wiIHN0b3BDb2xvcj1cIiMzQjgwRjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTYxXCIgc3RvcENvbG9yPVwiIzNCODFGM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjlcIiBzdG9wQ29sb3I9XCIjM0M4MUY0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI4ZDBjNTNiYjJjXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNNC4zNTUgNS40NzNIMTZ2MTguMTQ0SDQuMzU1em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiODAwN2Q2ZWUwYlwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjA3NCAyMy42MjFjLS45OCAwLTEuOTQxLS41NjYtMi4zOTQtMS41MTJMNC42MiA5LjMzNmEyLjYyOCAyLjYyOCAwIDAxMS4yNjItMy41MDhBMi42MzIgMi42MzIgMCAwMTkuMzk1IDcuMDlsNi4wNTggMTIuNzczYTIuNjM5IDIuNjM5IDAgMDEtMS4yNjUgMy41MTJjLS4zNi4xNjgtLjczNS4yNDYtMS4xMTQuMjQ2em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGltYWdlXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFsVWxFUVZRNGphMlR3UXFFTUF3RlIxM3QvN04vcXV6ZGk0R2F0Y2tMS0JSOGd0Tk0ya3pBRnppQXZWdVdmNGpQRERSZ3UxWnorVk1CUFFINlhLNm9jUWZZKzFJQlJYcE5CVVVBeTNPMUlxL1hmNU1xR3YzY2J4QldsUjIvejVLYW9qZGxhcXJlc0ZmcThhZDZ2dGtLOExHcVViT3oyNTVXcE9yOXdhSlpLdzF6MU94TWIvT2dWL1RzMmxjQmxsY1BXa1NkNFRDZjQ4d05EMnF2RWx3QUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgPjwvaW1hZ2U+XG4gICAgICA8bWFzayBpZD1cImM4ODJlYTM5YThcIj5cbiAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNiZGVmMTcwYzM5KVwiPlxuICAgICAgICAgIDxpbWFnZVxuICAgICAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJJQUFBQVVDQVlBQUFDQWwyMUtBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBbFVsRVFWUTRqYTJUd1FxRU1Bd0ZSMTN0LzdOL3F1emRpNEdhdGNrTEtCUjhndE5NMmt6QUZ6aUF2VnVXZjRqUEREUmd1MVp6K1ZNQlBRSDZYSzZvY1FmWSsxSUJSWHBOQlVVQXkzTzFJcS9YZjVNcUd2M2NieEJXbFIyL3o1S2FvamRsYXFyZXNGZnE4YWQ2dnRrSzhMR3FVYk96MjU1V3BPcjl3YUpaS3cxejFPeE1iL09nVi9UczJsY0JsbGNQV2tTZDRUQ2Y0OHdORDJxdkVsd0FBQUFBU1VWT1JLNUNZSUk9XCJcbiAgICAgICAgICA+PC9pbWFnZT5cbiAgICAgICAgPC9nPlxuICAgICAgPC9tYXNrPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiOTc5MWQ1YTA5ZFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTAgMEgxOFYyMEgwelwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8cGF0dGVyblxuICAgICAgICBpZD1cImU2ZTdlYzM5MWVcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgcGF0dGVyblRyYW5zZm9ybT1cIm1hdHJpeCguOTY3NzQgMCAwIC0uOTY3NzQgNC4zNTUgMjQuMTE2KVwiXG4gICAgICAgIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDIwXCJcbiAgICAgID5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzk3OTFkNWEwOWQpXCIgbWFzaz1cInVybCgjYzg4MmVhMzlhOClcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIiMzYzgyZjVcIlxuICAgICAgICAgICAgZD1cIk0tMjQuOTYgLTEyLjlIMTA4Ljk1OTk5OTk5OTk5OTk4VjMxLjc0MDAwMDAwMDAwMDAwMkgtMjQuOTZ6XCJcbiAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L3BhdHRlcm4+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJiNjA4MGE2NGE1XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTAgNS40NzNoMTEuNzczdjE4LjE0NEgxMHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjJlYzNlY2JkMTRcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNTUgMjMuNjIxYy0uMzc1IDAtLjc3NC0uMDc4LTEuMTMzLS4yNjYtMS4zMi0uNjItMS44ODctMi4yMDctMS4yNjItMy41MDdMMTYuNzIgNy4wNzRjLjYyLTEuMzI0IDIuMjA3LTEuODkgMy41MDgtMS4yNjUgMS4zMi42MiAxLjg4NiAyLjIwNyAxLjI2NSAzLjUwN0wxNS40MzQgMjIuMDljLS40MzQuOTgtMS4zOCAxLjUzMS0yLjM4IDEuNTMxem0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGltYWdlXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFka2xFUVZRNGpiM1MwUXJBSUFnRlVBZjcvOC9kQnJYYVM0RVRLNitPWFloRTZCVFNSa1NWNXNsdEpiRy9ldnNFa0FjaHFLS0FoSW9YNE5BVkFUaDBSSUN2b2F4QkVOQnJEcmtBRHAwUlFMN29OMmg1eVFveXoyMEVRWDlJZzJDZzF4SEkvTE9SdWQwSXBQVUt0WGlnUkVvc0VLK0hlUUQyQ1VOYXUrQUQwUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICA+PC9pbWFnZT5cbiAgICAgIDxtYXNrIGlkPVwiZDdkZGExYTA2M1wiPlxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2JkZWYxNzBjMzkpXCI+XG4gICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFka2xFUVZRNGpiM1MwUXJBSUFnRlVBZjcvOC9kQnJYYVM0RVRLNitPWFloRTZCVFNSa1NWNXNsdEpiRy9ldnNFa0FjaHFLS0FoSW9YNE5BVkFUaDBSSUN2b2F4QkVOQnJEcmtBRHAwUlFMN29OMmg1eVFveXoyMEVRWDlJZzJDZzF4SEkvTE9SdWQwSXBQVUt0WGlnUkVvc0VLK0hlUUQyQ1VOYXUrQUQwUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICAgICAgPjwvaW1hZ2U+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImM4N2MxOGI2YzhcIj5cbiAgICAgICAgPHBhdGggZD1cIk0wIDBIMThWMjBIMHpcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPHBhdHRlcm5cbiAgICAgICAgaWQ9XCJmOGM0MmQ5Nzc0XCJcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHBhdHRlcm5UcmFuc2Zvcm09XCJtYXRyaXgoLjk2Nzc0IDAgMCAtLjk2Nzc0IDQuMzU1IDI0LjExNilcIlxuICAgICAgICBwYXR0ZXJuVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxOCAyMFwiXG4gICAgICA+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjODdjMThiNmM4KVwiIG1hc2s9XCJ1cmwoI2Q3ZGRhMWEwNjMpXCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGw9XCIjM2M4MmY1XCJcbiAgICAgICAgICAgIGQ9XCJNLTI0Ljk2IC0xMi45SDEwOC45NTk5OTk5OTk5OTk5OFYzMS43NDAwMDAwMDAwMDAwMDJILTI0Ljk2elwiXG4gICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgPC9nPlxuICAgICAgPC9wYXR0ZXJuPlxuICAgIDwvZGVmcz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjYWU4NWY1YTQ3ZClcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCM5NDc5NDkzYTQyKVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoIzkwYTU0ZmViZWMpXCJcbiAgICAgICAgICBkPVwiTTQuMzU1IDUuNDczdjE3Ljk5NkgxNi4wNlY1LjQ3M3ptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzcxNjk5YzA5OTIpXCI+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjMzljNDk2NTM0NClcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwidXJsKCM1YzQ5M2U4NDU5KVwiXG4gICAgICAgICAgZD1cIk0xMC4wNDcgNS40NzN2MTcuOTk2aDExLjcyNlY1LjQ3M3ptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNNS43NjYuMTcyYy0xLjAyNCAwLTEuOTE0LS4yMTktMi42NzItLjY1NmE0Ljc4MyA0Ljc4MyAwIDAxLTEuNzk3LTEuODZjLS40My0uNzg5LS42NC0xLjcwNy0uNjQtMi43NSAwLTEuMDMxLjIxLTEuOTQxLjY0LTIuNzM0YTQuODM3IDQuODM3IDAgMDExLjc5Ny0xLjg2Yy43NTgtLjQ0NSAxLjY0OC0uNjcxIDIuNjcyLS42NzEgMSAwIDEuODgyLjIyNiAyLjY1Ni42NzEuNzcuNDUgMS4zNjcgMS4wNyAxLjc5NyAxLjg2LjQyNi43OTMuNjQgMS43MDMuNjQgMi43MzQgMCAxLjA0My0uMjE0IDEuOTYxLS42NCAyLjc1YTQuNjc3IDQuNjc3IDAgMDEtMS43OTcgMS44NmMtLjc3NC40MzctMS42NTYuNjU2LTIuNjU2LjY1NnptMC0xLjY3MmMuOTY4IDAgMS43MzgtLjMxNiAyLjMxMi0uOTUzLjU4Mi0uNjQ1Ljg3NS0xLjUyNC44NzUtMi42NCAwLTEuMTE0LS4yOTMtMS45ODktLjg3NS0yLjYyNi0uNTc0LS42NDQtMS4zNDQtLjk2OC0yLjMxMi0uOTY4LS45NyAwLTEuNzQ2LjMyNC0yLjMyOS45NjgtLjU4NS42MzctLjg3NCAxLjUxMi0uODc0IDIuNjI1IDAgMS4xMTcuMjg5IDEuOTk2Ljg3NCAyLjY0LjU4My42MzggMS4zNi45NTQgMi4zMjkuOTU0em0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDI0LjYzNiAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNMy42NTYuMTcyYy0uOTA2IDAtMS42MDUtLjI4MS0yLjA5NC0uODQ0QzEuMDctMS4yMzQuODI5LTIuMDU1LjgyOS0zLjE0di00LjA3OGgxLjg0NHYzLjkwN2MwIC42MTcuMTI1IDEuMDkuMzc1IDEuNDIxLjI1OC4zMzYuNjYuNSAxLjIwMy41LjUwOCAwIC45My0uMTggMS4yNjYtLjU0Ni4zMzItLjM3NS41LS44OTEuNS0xLjU0N1YtNy4yMkg3Ljg5VjBINi4yMzRsLS4xNC0xLjIxOWEyLjQ1IDIuNDUgMCAwMS0uOTY5IDEuMDE2Yy0uNDE4LjI1LS45MDYuMzc1LTEuNDY5LjM3NXptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzNS4xMTQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTS45NTMgMHYtNy4yMTlIMi42MWwuMTcyIDEuMzZhMi45MjkgMi45MjkgMCAwMTEuMDYzLTEuMTFjLjQ1Ny0uMjgxLjk4OC0uNDIyIDEuNTk0LS40MjJ2MS45N2gtLjUxNmEzIDMgMCAwMC0xLjA5NC4xODcgMS40MyAxLjQzIDAgMDAtLjc1LjY1NmMtLjE4LjMxMi0uMjY1Ljc0Ni0uMjY1IDEuMjk3VjB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDIuOTMyIDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjkzOCAwTC4yMTctMTAuMTg4aDJsMi44NzYgOC4yODIgMi44OS04LjI4MWgxLjk3TDYuMjE4IDB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDcuNjcgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTQuNDUzLjE3MmMtLjczIDAtMS4zNzUtLjE1Mi0xLjkzNy0uNDUzYTMuNDA0IDMuNDA0IDAgMDEtMS4zMjktMS4zMTNDLjg3NS0yLjE1Ni43Mi0yLjgwNC43Mi0zLjU0N2MwLS43NS4xNTYtMS40MTQuNDY5LTJhMy4zOTcgMy4zOTcgMCAwMTEuMjk2LTEuMzZjLjU2My0uMzIgMS4yMjMtLjQ4NCAxLjk4NS0uNDg0LjcwNyAwIDEuMzMyLjE1NyAxLjg3NS40Ny41MzkuMzEyLjk2Ljc0MSAxLjI2NSAxLjI4LjMxMy41MzIuNDcgMS4xMjUuNDcgMS43ODIgMCAuMTE3LS4wMDkuMjMtLjAxNy4zNDMgMCAuMTE4LS4wMDcuMjM1LS4wMTUuMzZIMi41NjJjLjA0LjU2Mi4yMzkgMS4wMDguNTk0IDEuMzI4LjM1Mi4zMTIuNzgxLjQ2OSAxLjI4MS40NjkuMzc1IDAgLjY5Mi0uMDgyLjk1NC0uMjUuMjU3LS4xNjQuNDUzLS4zODMuNTc4LS42NTdoMS44OUEzLjQ0NyAzLjQ0NyAwIDAxNi4wMTUtLjE0YTMuNzcgMy43NyAwIDAxLTEuNTYyLjMxM3ptLjAxNi02LjA0N2MtLjQ2MSAwLS44NjcuMTMzLTEuMjE5LjM5LS4zNDQuMjUtLjU2My42MzctLjY1NiAxLjE1N2gzLjU5NGMtLjAzMi0uNDY5LS4yMTEtLjg0NC0uNTMyLTEuMTI1LS4zMjQtLjI4MS0uNzE4LS40MjItMS4xODctLjQyMnptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1Ni44MTEgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTS45NTMgMHYtNy4yMTlIMi42MWwuMTcyIDEuMzZhMi45MjkgMi45MjkgMCAwMTEuMDYzLTEuMTFjLjQ1Ny0uMjgxLjk4OC0uNDIyIDEuNTk0LS40MjJ2MS45N2gtLjUxNmEzIDMgMCAwMC0xLjA5NC4xODcgMS40MyAxLjQzIDAgMDAtLjc1LjY1NmMtLjE4LjMxMi0uMjY1Ljc0Ni0uMjY1IDEuMjk3VjB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjQuNDg0IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjkyMi4xNzJjLS42MzcgMC0xLjItLjEwNi0xLjY4OC0uMzEzLS40OC0uMjA3LS44NjctLjQ5Mi0xLjE1Ni0uODU5YTIuNTggMi41OCAwIDAxLS41MzEtMS4yODFoMS44NzVjLjA2Mi4yODEuMjE5LjUyMy40NjkuNzE5LjI1Ny4xOTkuNTk3LjI5NiAxLjAxNS4yOTYuNDA2IDAgLjcwMy0uMDgyLjg5LS4yNS4xODgtLjE2NC4yODItLjM1MS4yODItLjU2MiAwLS4zMTMtLjEzNy0uNTItLjQwNi0uNjI1YTcuOTk0IDcuOTk0IDAgMDAtMS4xNC0uMzQ0IDExLjI4IDExLjI4IDAgMDEtLjk1NC0uMjM0IDUuMDQ0IDUuMDQ0IDAgMDEtLjg3NS0uMzc1IDIuMDgxIDIuMDgxIDAgMDEtLjY0LS41NzhjLS4xNjgtLjIzOS0uMjUtLjUzNi0uMjUtLjg5MSAwLS42MzMuMjUzLTEuMTcyLjc2NS0xLjYxLjUwOC0uNDM3IDEuMjIzLS42NTYgMi4xNC0uNjU2Ljg1MiAwIDEuNTM2LjIgMi4wNDguNTk0LjUwNy4zOTkuODEyLjk0NS45MDYgMS42NGgtMS43NWMtLjExNy0uNTMtLjUyNC0uNzk2LTEuMjE5LS43OTYtLjM0NCAwLS42MS4wNy0uNzk3LjIwMy0uMTg3LjEzNy0uMjgxLjMwOS0uMjgxLjUxNiAwIC4yMS4xNC4zODIuNDIyLjUxNS4yODEuMTI1LjY0OC4yNDIgMS4xMS4zNDQuNTA3LjExNy45NzIuMjQ2IDEuMzkuMzkuNDI2LjEzNy43NjYuMzQ0IDEuMDE2LjYyNi4yNS4yNzMuMzc1LjY2NC4zNzUgMS4xNzEuMDA3LjQ1LS4xMS44NTYtLjM2IDEuMjItLjI0Mi4zNTUtLjU5LjYzNi0xLjA0Ny44NDMtLjQ0OS4xOTUtLjk4NC4yOTctMS42MS4yOTd6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjkuMjIyIDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk00LjQ1My4xNzJjLS43MyAwLTEuMzc1LS4xNTItMS45MzctLjQ1M2EzLjQwNCAzLjQwNCAwIDAxLTEuMzI5LTEuMzEzQy44NzUtMi4xNTYuNzItMi44MDQuNzItMy41NDdjMC0uNzUuMTU2LTEuNDE0LjQ2OS0yYTMuMzk3IDMuMzk3IDAgMDExLjI5Ni0xLjM2Yy41NjMtLjMyIDEuMjIzLS40ODQgMS45ODUtLjQ4NC43MDcgMCAxLjMzMi4xNTcgMS44NzUuNDcuNTM5LjMxMi45Ni43NDEgMS4yNjUgMS4yOC4zMTMuNTMyLjQ3IDEuMTI1LjQ3IDEuNzgyIDAgLjExNy0uMDA5LjIzLS4wMTcuMzQzIDAgLjExOC0uMDA3LjIzNS0uMDE1LjM2SDIuNTYyYy4wNC41NjIuMjM5IDEuMDA4LjU5NCAxLjMyOC4zNTIuMzEyLjc4MS40NjkgMS4yODEuNDY5LjM3NSAwIC42OTItLjA4Mi45NTQtLjI1LjI1Ny0uMTY0LjQ1My0uMzgzLjU3OC0uNjU3aDEuODlBMy40NDcgMy40NDcgMCAwMTYuMDE1LS4xNGEzLjc3IDMuNzcgMCAwMS0xLjU2Mi4zMTN6bS4wMTYtNi4wNDdjLS40NjEgMC0uODY3LjEzMy0xLjIxOS4zOS0uMzQ0LjI1LS41NjMuNjM3LS42NTYgMS4xNTdoMy41OTRjLS4wMzItLjQ2OS0uMjExLS44NDQtLjUzMi0xLjEyNS0uMzI0LS4yODEtLjcxOC0uNDIyLTEuMTg3LS40MjJ6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzUuODM0IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjOGQwYzUzYmIyYylcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCM4MDA3ZDZlZTBiKVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoI2U2ZTdlYzM5MWUpXCJcbiAgICAgICAgICBkPVwiTTQuMzU1IDUuNDczaDExLjcydjE4LjE0NEg0LjM1NHptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2I2MDgwYTY0YTUpXCI+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjMmVjM2VjYmQxNClcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwidXJsKCNmOGM0MmQ5Nzc0KVwiXG4gICAgICAgICAgZD1cIk0xMC4wMzUgNS40NzNoMTEuNzM4djE4LjE0NEgxMC4wMzV6bTAgMFwiXG4gICAgICAgID48L3BhdGg+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxvZ28iLCJwcm9wcyIsInN2ZyIsInhtbG5zIiwieG1sbnNYbGluayIsIndpZHRoIiwiaGVpZ2h0IiwidmVyc2lvbiIsInZpZXdCb3giLCJkZWZzIiwiZmlsdGVyIiwiaWQiLCJ4IiwieSIsImZlQ29sb3JNYXRyaXgiLCJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwidmFsdWVzIiwiY2xpcFBhdGgiLCJwYXRoIiwiZCIsImxpbmVhckdyYWRpZW50IiwieDEiLCJ4MiIsInkxIiwieTIiLCJncmFkaWVudFRyYW5zZm9ybSIsImdyYWRpZW50VW5pdHMiLCJzdG9wIiwib2Zmc2V0Iiwic3RvcENvbG9yIiwiaW1hZ2UiLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieGxpbmtIcmVmIiwibWFzayIsImciLCJwYXR0ZXJuIiwicGF0dGVyblRyYW5zZm9ybSIsInBhdHRlcm5Vbml0cyIsImZpbGwiLCJ0cmFuc2Zvcm0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Logo.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Schedule.jsx": -/*!*************************************!*\ - !*** ./src/components/Schedule.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Schedule: () => (/* binding */ Schedule)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(ssr)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(ssr)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(ssr)/./src/components/Container.jsx\");\n/* __next_internal_client_entry_do_not_use__ Schedule auto */ \n\n\n\n\n\nconst schedule = [\n {\n date: \"April 4\",\n dateTime: \"2022-04-04\",\n summary: \"The first day of the conference is focused on dark patterns for ecommerce.\",\n timeSlots: [\n {\n name: \"Steven McHail\",\n description: \"Not so one-time payments\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Jaquelin Isch\",\n description: \"The finer print\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Dianne Guilianelli\",\n description: \"Post-purchase blackmail\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Ronni Cantadore\",\n description: \"Buy or die\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Erhart Cockrin\",\n description: \"In-person cancellation\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Parker Johnson\",\n description: \"The pay/cancel switcheroo\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 5\",\n dateTime: \"2022-04-05\",\n summary: \"Next we spend the day talking about deceiving people with technology.\",\n timeSlots: [\n {\n name: \"Damaris Kimura\",\n description: \"The invisible card reader\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Ibrahim Frasch\",\n description: \"Stealing fingerprints\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Cathlene Burrage\",\n description: \"Voting machines\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Rinaldo Beynon\",\n description: \"Blackhat SEO that works\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Waylon Hyden\",\n description: \"Turning your audience into a botnet\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Giordano Sagucio\",\n description: \"Fly phishing\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 6\",\n dateTime: \"2022-04-06\",\n summary: \"We close out the event previewing new techniques that are still in development.\",\n timeSlots: [\n {\n name: \"Andrew Greene\",\n description: \"Neuralink dark patterns\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Heather Terry\",\n description: \"DALL-E for passports\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Piers Wilkins\",\n description: \"Quantum password cracking\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Gordon Sanderson\",\n description: \"SkyNet is coming\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Kimberly Parsons\",\n description: \"Dark patterns for the metaverse\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Richard Astley\",\n description: \"Knowing the game and playing it\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n }\n];\nfunction ScheduleTabbed() {\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let smMediaQuery = window.matchMedia(\"(min-width: 640px)\");\n function onMediaQueryChange({ matches }) {\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(smMediaQuery);\n smMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n smMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabGroup, {\n className: \"mx-auto grid max-w-2xl grid-cols-1 gap-y-6 sm:grid-cols-2 lg:hidden\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabList, {\n className: \"-mx-4 flex gap-x-4 gap-y-10 overflow-x-auto pb-4 pl-4 sm:mx-0 sm:flex-col sm:pb-0 sm:pl-0 sm:pr-8\",\n children: ({ selectedIndex })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: schedule.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"relative w-3/4 flex-none pr-4 sm:w-auto sm:pr-0\", dayIndex !== selectedIndex && \"opacity-70\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: {\n ...day,\n date: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 202,\n columnNumber: 25\n }, void 0),\n day.date\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 201,\n columnNumber: 23\n }, void 0)\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 197,\n columnNumber: 17\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 190,\n columnNumber: 15\n }, this))\n }, void 0, false)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 186,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanels, {\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanel, {\n className: \"ui-not-focus-visible:outline-none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 219,\n columnNumber: 13\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 213,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 182,\n columnNumber: 5\n }, this);\n}\nfunction DaySummary({ day }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-semibold tracking-tight text-blue-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 230,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1.5 text-base tracking-tight text-blue-900\",\n children: day.summary\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 233,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\nfunction TimeSlots({ day, className }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ol\", {\n role: \"list\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(className, \"space-y-8 bg-white/60 px-10 py-14 text-center shadow-xl shadow-blue-900/5 backdrop-blur\"),\n children: day.timeSlots.map((timeSlot, timeSlotIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n \"aria-label\": `${timeSlot.name} talking about ${timeSlot.description} at ${timeSlot.start} - ${timeSlot.end} PST`,\n children: [\n timeSlotIndex > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto mb-8 h-px w-48 bg-indigo-500/10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 255,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-lg font-semibold tracking-tight text-blue-900\",\n children: timeSlot.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this),\n timeSlot.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 tracking-tight text-blue-900\",\n children: timeSlot.description\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 261,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 font-mono text-sm text-slate-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.start}-08:00`,\n children: timeSlot.start\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 266,\n columnNumber: 13\n }, this),\n \" \",\n \"-\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.end}-08:00`,\n children: timeSlot.end\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 270,\n columnNumber: 13\n }, this),\n \" \",\n \"PST\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 265,\n columnNumber: 11\n }, this)\n ]\n }, timeSlot.start, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 242,\n columnNumber: 5\n }, this);\n}\nfunction ScheduleStatic() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:grid lg:grid-cols-3 lg:gap-x-8\",\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 286,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day,\n className: \"mt-10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 287,\n columnNumber: 11\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 283,\n columnNumber: 5\n }, this);\n}\nfunction Schedule() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"schedule\",\n \"aria-label\": \"Schedule\",\n className: \"py-12 mb-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative z-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0 lg:max-w-4xl lg:pr-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Our three-day schedule is jam-packed with insightful sessions from industry leaders.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 299,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Each day is designed to immerse you in the latest trends, innovations, and opportunities in the metaverse, Web3, AI, and beyond.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 302,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"From hands-on workshops to panel discussions and networking events, VerseFest 2024 offers something for everyone.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 306,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mt-14 sm:mt-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__.BackgroundImage, {\n position: \"right\",\n className: \"-bottom-32 -top-40\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleTabbed, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 314,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleStatic, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 315,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 313,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 296,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFTdUM7SUFDZCxxQkFDRSw4REFBQ0Q7UUFBUUUsSUFBRztRQUFXTCxjQUFXO1FBQVdsQixXQUFVOzswQkFDckQsOERBQUNwQiw0REFBU0E7Z0JBQUNvQixXQUFVOzBCQUNuQiw0RUFBQ007b0JBQUlOLFdBQVU7O3NDQUNiLDhEQUFDd0I7NEJBQUd4QixXQUFVO3NDQUErRTs7Ozs7O3NDQUc3Riw4REFBQ1k7NEJBQUVaLFdBQVU7c0NBQTBEOzs7Ozs7c0NBSXZFLDhEQUFDWTs0QkFBRVosV0FBVTtzQ0FBMEQ7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUszRSw4REFBQ007Z0JBQUlOLFdBQVU7O2tDQUNiLDhEQUFDckIsd0VBQWVBO3dCQUFDOEMsVUFBUzt3QkFBUXpCLFdBQVU7Ozs7OztrQ0FDNUMsOERBQUNwQiw0REFBU0E7d0JBQUNvQixXQUFVOzswQ0FDbkIsOERBQUNWOzs7OzswQ0FDRCw4REFBQzhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtYIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2NvbXBvbmVudHMvU2NoZWR1bGUuanN4PzYxYjMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRhYiwgVGFiR3JvdXAsIFRhYkxpc3QsIFRhYlBhbmVsLCBUYWJQYW5lbHMgfSBmcm9tICdAaGVhZGxlc3N1aS9yZWFjdCdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5cbmltcG9ydCB7IEJhY2tncm91bmRJbWFnZSB9IGZyb20gJ0AvY29tcG9uZW50cy9CYWNrZ3JvdW5kSW1hZ2UnXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuXG5jb25zdCBzY2hlZHVsZSA9IFtcbiAge1xuICAgIGRhdGU6ICdBcHJpbCA0JyxcbiAgICBkYXRlVGltZTogJzIwMjItMDQtMDQnLFxuICAgIHN1bW1hcnk6XG4gICAgICAnVGhlIGZpcnN0IGRheSBvZiB0aGUgY29uZmVyZW5jZSBpcyBmb2N1c2VkIG9uIGRhcmsgcGF0dGVybnMgZm9yIGVjb21tZXJjZS4nLFxuICAgIHRpbWVTbG90czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnU3RldmVuIE1jSGFpbCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTm90IHNvIG9uZS10aW1lIHBheW1lbnRzJyxcbiAgICAgICAgc3RhcnQ6ICc5OjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMDowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdKYXF1ZWxpbiBJc2NoJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgZmluZXIgcHJpbnQnLFxuICAgICAgICBzdGFydDogJzEwOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMTowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdEaWFubmUgR3VpbGlhbmVsbGknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1Bvc3QtcHVyY2hhc2UgYmxhY2ttYWlsJyxcbiAgICAgICAgc3RhcnQ6ICcxMTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTI6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnTHVuY2gnLFxuICAgICAgICBkZXNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgc3RhcnQ6ICcxMjowMFBNJyxcbiAgICAgICAgZW5kOiAnMTowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSb25uaSBDYW50YWRvcmUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0J1eSBvciBkaWUnLFxuICAgICAgICBzdGFydDogJzE6MDBQTScsXG4gICAgICAgIGVuZDogJzI6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRXJoYXJ0IENvY2tyaW4nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0luLXBlcnNvbiBjYW5jZWxsYXRpb24nLFxuICAgICAgICBzdGFydDogJzI6MDBQTScsXG4gICAgICAgIGVuZDogJzM6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUGFya2VyIEpvaG5zb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBwYXkvY2FuY2VsIHN3aXRjaGVyb28nLFxuICAgICAgICBzdGFydDogJzM6MDBQTScsXG4gICAgICAgIGVuZDogJzQ6MDBQTScsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBkYXRlOiAnQXByaWwgNScsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA1JyxcbiAgICBzdW1tYXJ5OlxuICAgICAgJ05leHQgd2Ugc3BlbmQgdGhlIGRheSB0YWxraW5nIGFib3V0IGRlY2VpdmluZyBwZW9wbGUgd2l0aCB0ZWNobm9sb2d5LicsXG4gICAgdGltZVNsb3RzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdEYW1hcmlzIEtpbXVyYScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGludmlzaWJsZSBjYXJkIHJlYWRlcicsXG4gICAgICAgIHN0YXJ0OiAnOTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTA6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSWJyYWhpbSBGcmFzY2gnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1N0ZWFsaW5nIGZpbmdlcnByaW50cycsXG4gICAgICAgIHN0YXJ0OiAnMTA6MDBBTScsXG4gICAgICAgIGVuZDogJzExOjAwQU0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0NhdGhsZW5lIEJ1cnJhZ2UnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1ZvdGluZyBtYWNoaW5lcycsXG4gICAgICAgIHN0YXJ0OiAnMTE6MDBBTScsXG4gICAgICAgIGVuZDogJzEyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0x1bmNoJyxcbiAgICAgICAgZGVzY3JpcHRpb246IG51bGwsXG4gICAgICAgIHN0YXJ0OiAnMTI6MDBQTScsXG4gICAgICAgIGVuZDogJzE6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmluYWxkbyBCZXlub24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0JsYWNraGF0IFNFTyB0aGF0IHdvcmtzJyxcbiAgICAgICAgc3RhcnQ6ICcxOjAwUE0nLFxuICAgICAgICBlbmQ6ICcyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1dheWxvbiBIeWRlbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVHVybmluZyB5b3VyIGF1ZGllbmNlIGludG8gYSBib3RuZXQnLFxuICAgICAgICBzdGFydDogJzI6MDBQTScsXG4gICAgICAgIGVuZDogJzM6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR2lvcmRhbm8gU2FndWNpbycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmx5IHBoaXNoaW5nJyxcbiAgICAgICAgc3RhcnQ6ICczOjAwUE0nLFxuICAgICAgICBlbmQ6ICc0OjAwUE0nLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgZGF0ZTogJ0FwcmlsIDYnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNicsXG4gICAgc3VtbWFyeTpcbiAgICAgICdXZSBjbG9zZSBvdXQgdGhlIGV2ZW50IHByZXZpZXdpbmcgbmV3IHRlY2huaXF1ZXMgdGhhdCBhcmUgc3RpbGwgaW4gZGV2ZWxvcG1lbnQuJyxcbiAgICB0aW1lU2xvdHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0FuZHJldyBHcmVlbmUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05ldXJhbGluayBkYXJrIHBhdHRlcm5zJyxcbiAgICAgICAgc3RhcnQ6ICc5OjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMDowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdIZWF0aGVyIFRlcnJ5JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEQUxMLUUgZm9yIHBhc3Nwb3J0cycsXG4gICAgICAgIHN0YXJ0OiAnMTA6MDBBTScsXG4gICAgICAgIGVuZDogJzExOjAwQU0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1BpZXJzIFdpbGtpbnMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1F1YW50dW0gcGFzc3dvcmQgY3JhY2tpbmcnLFxuICAgICAgICBzdGFydDogJzExOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMjowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdMdW5jaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgICBzdGFydDogJzEyOjAwUE0nLFxuICAgICAgICBlbmQ6ICcxOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dvcmRvbiBTYW5kZXJzb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1NreU5ldCBpcyBjb21pbmcnLFxuICAgICAgICBzdGFydDogJzE6MDBQTScsXG4gICAgICAgIGVuZDogJzI6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnS2ltYmVybHkgUGFyc29ucycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGFyayBwYXR0ZXJucyBmb3IgdGhlIG1ldGF2ZXJzZScsXG4gICAgICAgIHN0YXJ0OiAnMjowMFBNJyxcbiAgICAgICAgZW5kOiAnMzowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaWNoYXJkIEFzdGxleScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnS25vd2luZyB0aGUgZ2FtZSBhbmQgcGxheWluZyBpdCcsXG4gICAgICAgIHN0YXJ0OiAnMzowMFBNJyxcbiAgICAgICAgZW5kOiAnNDowMFBNJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl1cblxuZnVuY3Rpb24gU2NoZWR1bGVUYWJiZWQoKSB7XG4gIGxldCBbdGFiT3JpZW50YXRpb24sIHNldFRhYk9yaWVudGF0aW9uXSA9IHVzZVN0YXRlKCdob3Jpem9udGFsJylcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBzbU1lZGlhUXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKG1pbi13aWR0aDogNjQwcHgpJylcblxuICAgIGZ1bmN0aW9uIG9uTWVkaWFRdWVyeUNoYW5nZSh7IG1hdGNoZXMgfSkge1xuICAgICAgc2V0VGFiT3JpZW50YXRpb24obWF0Y2hlcyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcpXG4gICAgfVxuXG4gICAgb25NZWRpYVF1ZXJ5Q2hhbmdlKHNtTWVkaWFRdWVyeSlcbiAgICBzbU1lZGlhUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHNtTWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxUYWJHcm91cFxuICAgICAgY2xhc3NOYW1lPVwibXgtYXV0byBncmlkIG1heC13LTJ4bCBncmlkLWNvbHMtMSBnYXAteS02IHNtOmdyaWQtY29scy0yIGxnOmhpZGRlblwiXG4gICAgICB2ZXJ0aWNhbD17dGFiT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCd9XG4gICAgPlxuICAgICAgPFRhYkxpc3QgY2xhc3NOYW1lPVwiLW14LTQgZmxleCBnYXAteC00IGdhcC15LTEwIG92ZXJmbG93LXgtYXV0byBwYi00IHBsLTQgc206bXgtMCBzbTpmbGV4LWNvbCBzbTpwYi0wIHNtOnBsLTAgc206cHItOFwiPlxuICAgICAgICB7KHsgc2VsZWN0ZWRJbmRleCB9KSA9PiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHtzY2hlZHVsZS5tYXAoKGRheSwgZGF5SW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGtleT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICdyZWxhdGl2ZSB3LTMvNCBmbGV4LW5vbmUgcHItNCBzbTp3LWF1dG8gc206cHItMCcsXG4gICAgICAgICAgICAgICAgICBkYXlJbmRleCAhPT0gc2VsZWN0ZWRJbmRleCAmJiAnb3BhY2l0eS03MCcsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxEYXlTdW1tYXJ5XG4gICAgICAgICAgICAgICAgICBkYXk9e3tcbiAgICAgICAgICAgICAgICAgICAgLi4uZGF5LFxuICAgICAgICAgICAgICAgICAgICBkYXRlOiAoXG4gICAgICAgICAgICAgICAgICAgICAgPFRhYiBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTBcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAge2RheS5kYXRlfVxuICAgICAgICAgICAgICAgICAgICAgIDwvVGFiPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9UYWJMaXN0PlxuICAgICAgPFRhYlBhbmVscz5cbiAgICAgICAge3NjaGVkdWxlLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgICAgPFRhYlBhbmVsXG4gICAgICAgICAgICBrZXk9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInVpLW5vdC1mb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRpbWVTbG90cyBkYXk9e2RheX0gLz5cbiAgICAgICAgICA8L1RhYlBhbmVsPlxuICAgICAgICApKX1cbiAgICAgIDwvVGFiUGFuZWxzPlxuICAgIDwvVGFiR3JvdXA+XG4gIClcbn1cblxuZnVuY3Rpb24gRGF5U3VtbWFyeSh7IGRheSB9KSB7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LXNlbWlib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgPHRpbWUgZGF0ZVRpbWU9e2RheS5kYXRlVGltZX0+e2RheS5kYXRlfTwvdGltZT5cbiAgICAgIDwvaDM+XG4gICAgICA8cCBjbGFzc05hbWU9XCJtdC0xLjUgdGV4dC1iYXNlIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAge2RheS5zdW1tYXJ5fVxuICAgICAgPC9wPlxuICAgIDwvPlxuICApXG59XG5cbmZ1bmN0aW9uIFRpbWVTbG90cyh7IGRheSwgY2xhc3NOYW1lIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8b2xcbiAgICAgIHJvbGU9XCJsaXN0XCJcbiAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAnc3BhY2UteS04IGJnLXdoaXRlLzYwIHB4LTEwIHB5LTE0IHRleHQtY2VudGVyIHNoYWRvdy14bCBzaGFkb3ctYmx1ZS05MDAvNSBiYWNrZHJvcC1ibHVyJyxcbiAgICAgICl9XG4gICAgPlxuICAgICAge2RheS50aW1lU2xvdHMubWFwKCh0aW1lU2xvdCwgdGltZVNsb3RJbmRleCkgPT4gKFxuICAgICAgICA8bGlcbiAgICAgICAgICBrZXk9e3RpbWVTbG90LnN0YXJ0fVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2Ake3RpbWVTbG90Lm5hbWV9IHRhbGtpbmcgYWJvdXQgJHt0aW1lU2xvdC5kZXNjcmlwdGlvbn0gYXQgJHt0aW1lU2xvdC5zdGFydH0gLSAke3RpbWVTbG90LmVuZH0gUFNUYH1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aW1lU2xvdEluZGV4ID4gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWItOCBoLXB4IHctNDggYmctaW5kaWdvLTUwMC8xMFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwidGV4dC1sZyBmb250LXNlbWlib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgIHt0aW1lU2xvdC5uYW1lfVxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAge3RpbWVTbG90LmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTEgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICB7dGltZVNsb3QuZGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIGZvbnQtbW9ubyB0ZXh0LXNtIHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICA8dGltZSBkYXRlVGltZT17YCR7ZGF5LmRhdGVUaW1lfVQke3RpbWVTbG90LnN0YXJ0fS0wODowMGB9PlxuICAgICAgICAgICAgICB7dGltZVNsb3Quc3RhcnR9XG4gICAgICAgICAgICA8L3RpbWU+eycgJ31cbiAgICAgICAgICAgIC17JyAnfVxuICAgICAgICAgICAgPHRpbWUgZGF0ZVRpbWU9e2Ake2RheS5kYXRlVGltZX1UJHt0aW1lU2xvdC5lbmR9LTA4OjAwYH0+XG4gICAgICAgICAgICAgIHt0aW1lU2xvdC5lbmR9XG4gICAgICAgICAgICA8L3RpbWU+eycgJ31cbiAgICAgICAgICAgIFBTVFxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9saT5cbiAgICAgICkpfVxuICAgIDwvb2w+XG4gIClcbn1cblxuZnVuY3Rpb24gU2NoZWR1bGVTdGF0aWMoKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJoaWRkZW4gbGc6Z3JpZCBsZzpncmlkLWNvbHMtMyBsZzpnYXAteC04XCI+XG4gICAgICB7c2NoZWR1bGUubWFwKChkYXkpID0+IChcbiAgICAgICAgPHNlY3Rpb24ga2V5PXtkYXkuZGF0ZVRpbWV9PlxuICAgICAgICAgIDxEYXlTdW1tYXJ5IGRheT17ZGF5fSAvPlxuICAgICAgICAgIDxUaW1lU2xvdHMgZGF5PXtkYXl9IGNsYXNzTmFtZT1cIm10LTEwXCIgLz5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgKSl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNjaGVkdWxlKCkge1xuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwic2NoZWR1bGVcIiBhcmlhLWxhYmVsPVwiU2NoZWR1bGVcIiBjbGFzc05hbWU9XCJweS0xMiBtYi0yNFwiPlxuICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJyZWxhdGl2ZSB6LTEwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0yeGwgbGc6bXgtMCBsZzptYXgtdy00eGwgbGc6cHItMjRcIj5cbiAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwiZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTYwMCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgIE91ciB0aHJlZS1kYXkgc2NoZWR1bGUgaXMgamFtLXBhY2tlZCB3aXRoIGluc2lnaHRmdWwgc2Vzc2lvbnMgZnJvbSBpbmR1c3RyeSBsZWFkZXJzLiBcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICBFYWNoIGRheSBpcyBkZXNpZ25lZCB0byBpbW1lcnNlIHlvdSBpbiB0aGUgbGF0ZXN0IHRyZW5kcywgXG4gICAgICAgICAgaW5ub3ZhdGlvbnMsIGFuZCBvcHBvcnR1bml0aWVzIGluIHRoZSBtZXRhdmVyc2UsIFdlYjMsIEFJLCBhbmQgYmV5b25kLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgRnJvbSBoYW5kcy1vbiB3b3Jrc2hvcHMgdG8gcGFuZWwgZGlzY3Vzc2lvbnMgYW5kIG5ldHdvcmtpbmcgZXZlbnRzLCBWZXJzZUZlc3QgMjAyNCBvZmZlcnMgc29tZXRoaW5nIGZvciBldmVyeW9uZS4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBtdC0xNCBzbTptdC0yNFwiPlxuICAgICAgICA8QmFja2dyb3VuZEltYWdlIHBvc2l0aW9uPVwicmlnaHRcIiBjbGFzc05hbWU9XCItYm90dG9tLTMyIC10b3AtNDBcIiAvPlxuICAgICAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cInJlbGF0aXZlXCI+XG4gICAgICAgICAgPFNjaGVkdWxlVGFiYmVkIC8+XG4gICAgICAgICAgPFNjaGVkdWxlU3RhdGljIC8+XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsImNsc3giLCJCYWNrZ3JvdW5kSW1hZ2UiLCJDb250YWluZXIiLCJzY2hlZHVsZSIsImRhdGUiLCJkYXRlVGltZSIsInN1bW1hcnkiLCJ0aW1lU2xvdHMiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJzdGFydCIsImVuZCIsIlNjaGVkdWxlVGFiYmVkIiwidGFiT3JpZW50YXRpb24iLCJzZXRUYWJPcmllbnRhdGlvbiIsInNtTWVkaWFRdWVyeSIsIndpbmRvdyIsIm1hdGNoTWVkaWEiLCJvbk1lZGlhUXVlcnlDaGFuZ2UiLCJtYXRjaGVzIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjbGFzc05hbWUiLCJ2ZXJ0aWNhbCIsInNlbGVjdGVkSW5kZXgiLCJtYXAiLCJkYXkiLCJkYXlJbmRleCIsImRpdiIsIkRheVN1bW1hcnkiLCJzcGFuIiwiVGltZVNsb3RzIiwiaDMiLCJ0aW1lIiwicCIsIm9sIiwicm9sZSIsInRpbWVTbG90IiwidGltZVNsb3RJbmRleCIsImxpIiwiYXJpYS1sYWJlbCIsImg0IiwiU2NoZWR1bGVTdGF0aWMiLCJzZWN0aW9uIiwiU2NoZWR1bGUiLCJpZCIsImgyIiwicG9zaXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Schedule.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: () => (/* binding */ Speakers)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(ssr)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(ssr)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(ssr)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(ssr)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(ssr)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(ssr)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(ssr)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(ssr)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(ssr)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(ssr)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(ssr)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(ssr)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(ssr)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(ssr)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(ssr)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(ssr)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(ssr)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(ssr)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(ssr)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(ssr)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(ssr)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(ssr)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(ssr)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(ssr)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(ssr)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(ssr)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(ssr)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(ssr)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(ssr)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, PO at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths({ id, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\nfunction Speakers() {\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange({ matches }) {\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: ({ selectedIndex })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFDSmlFLFdBQVU7b0VBQ1ZlLEtBQUtILFFBQVFyQyxLQUFLO29FQUNsQnlDLEtBQUk7b0VBQ0pDLFFBQVE7b0VBQ1JDLE9BQU07Ozs7Ozs7Ozs7Ozs7Ozs7O2tFQUlaLDhEQUFDQzt3REFBR25CLFdBQVU7a0VBQ1hZLFFBQVExQyxJQUFJOzs7Ozs7a0VBRWYsOERBQUNpQzt3REFBRUgsV0FBVTtrRUFDVlksUUFBUXRDLElBQUk7Ozs7Ozs7K0NBN0JQdUM7Ozs7O3VDQUxQTixJQUFJbkMsUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZDakMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IG1hdHRoZXdzY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFBPIGF0IE91clZlcnNlJyxcbiAgICAgICAgaW1hZ2U6IHNhc2hhYXN0aWFkaUltYWdlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnVmljdG9yIE11aGFnYWNoaScsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IER1bmlhIFlldHUnLFxuICAgICAgICBpbWFnZTogdmljdG9ybXVoYWdhY2hpSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnU3BlYWtlcnMgJiBXb3Jrc2hvcHMnLFxuICAgIGRhdGU6ICdPY3QgMjUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0RhbWFyaXMgS2ltdXJhJyxcbiAgICAgICAgcm9sZTogJ1NlbmlvciBFbmdpbmVlciBhdCBPQ1AnLFxuICAgICAgICBpbWFnZTogZGFtYXJpc0tpbXVyYUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgcm9sZTogJ1Byb2dyYW1tZXIgYXQgVW1icmVsbGEgQ29ycCcsXG4gICAgICAgIGltYWdlOiBpYnJhaGltRnJhc2NoSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnQ2F0aGxlbmUgQnVycmFnZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgQnV5IG4gTGFyZ2UnLFxuICAgICAgICBpbWFnZTogY2F0aGxlbmVCdXJyYWdlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmluYWxkbyBCZXlub24nLFxuICAgICAgICByb2xlOiAnRGF0YSBTY2llbnRpc3QgYXQgUmVrYWxsJyxcbiAgICAgICAgaW1hZ2U6IHJpbmFsZG9CZXlub25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICByb2xlOiAnRGV2T3BzIGF0IFJEQSBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiB3YXlsb25IeWRlbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICByb2xlOiAnR2FtZSBEZXZlbG9wZXIgYXQgU295bGVudCBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGdpb3JkYW5vU2FndWNpb0ltYWdlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0ludGVydmlld3MnLFxuICAgIGRhdGU6ICdPY3QgMjYnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNicsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0FuZHJldyBHcmVlbmUnLFxuICAgICAgICByb2xlOiAnRnJvbnRlbmQgRGV2ZWxvcGVyIGF0IFVsdHJhdGVjaCcsXG4gICAgICAgIGltYWdlOiBhbmRyZXdHcmVlbmVJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdIZWF0aGVyIFRlcnJ5JyxcbiAgICAgICAgcm9sZTogJ0JhY2tlbmQgRGV2ZWxvcGVyIGF0IFhhbmF0b3MgRW50ZXJwcmlzZXMnLFxuICAgICAgICBpbWFnZTogaGVhdGhlclRlcnJ5SW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUGllcnMgV2lsa2lucycsXG4gICAgICAgIHJvbGU6ICdGdWxsIHN0YWNrIERldmVsb3BlciBhdCBCaWZmQ28nLFxuICAgICAgICBpbWFnZTogcGllcnNXaWxraW5zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR29yZG9uIFNhbmRlcnNvbicsXG4gICAgICAgIHJvbGU6ICdNb2JpbGUgRGV2ZWxvcGVyIGF0IENvYnJhIEluZHVzdHJpZXMnLFxuICAgICAgICBpbWFnZTogZ29yZG9uU2FuZGVyc29uSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnS2ltYmVybHkgUGFyc29ucycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBUeXJlbGwgQ29ycG9yYXRpb24nLFxuICAgICAgICBpbWFnZToga2ltYmVybHlQYXJzb25zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IFJvbGwgT3V0JyxcbiAgICAgICAgaW1hZ2U6IHJpY2hhcmRBc3RsZXksXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIEltYWdlQ2xpcFBhdGhzKHsgaWQsIC4uLnByb3BzIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHdpZHRoPXswfSBoZWlnaHQ9ezB9IHsuLi5wcm9wc30+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMGB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMCwwIGgwLjcyOSB2MC4xMjkgaDAuMTIxIGwtMC4wMTYsMC4wMzIgQzAuODE1LDAuMTk4LDAuODQzLDAuMjQzLDAuODg1LDAuMjQzIEgxIHYwLjc1NyBIMC4yNzEgdi0wLjA4NiBsLTAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLC0wLjAyNiwtMC4wNTcsLTAuMDU3LC0wLjA1NyBIMCBWMFwiIC8+XG4gICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgIDxjbGlwUGF0aCBpZD17YCR7aWR9LTFgfSBjbGlwUGF0aFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTEsMSBIMC4yNzEgdi0wLjEyOSBIMC4xNSBsMC4wMTYsLTAuMDMyIEMwLjE4NSwwLjgwMiwwLjE1NywwLjc1NywwLjExNSwwLjc1NyBIMCBWMCBoMC43MjkgdjAuMDg2IGwwLjEyMSwtMC4wNTcgdjAuMjE0IGMwLDAuMDMyLDAuMDI2LDAuMDU3LDAuMDU3LDAuMDU3IGgwLjA5MyB2MC43XCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMmB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwwIEgwLjI3MSB2MC4xMjkgSDAuMTUgbDAuMDE2LDAuMDMyIEMwLjE4NSwwLjE5OCwwLjE1NywwLjI0MywwLjExNSwwLjI0MyBIMCB2MC43NTcgaDAuNzI5IHYtMC4wODYgbDAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLDAuMDI2LC0wLjA1NywwLjA1NywtMC4wNTcgaDAuMDkzIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3BlYWtlcnMoKSB7XG4gIGxldCBpZCA9IHVzZUlkKClcbiAgbGV0IFt0YWJPcmllbnRhdGlvbiwgc2V0VGFiT3JpZW50YXRpb25dID0gdXNlU3RhdGUoJ2hvcml6b250YWwnKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGxnTWVkaWFRdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcobWluLXdpZHRoOiAxMDI0cHgpJylcblxuICAgIGZ1bmN0aW9uIG9uTWVkaWFRdWVyeUNoYW5nZSh7IG1hdGNoZXMgfSkge1xuICAgICAgc2V0VGFiT3JpZW50YXRpb24obWF0Y2hlcyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcpXG4gICAgfVxuXG4gICAgb25NZWRpYVF1ZXJ5Q2hhbmdlKGxnTWVkaWFRdWVyeSlcbiAgICBsZ01lZGlhUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGxnTWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uXG4gICAgICBpZD1cInNwZWFrZXJzXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgIGNsYXNzTmFtZT1cInB5LTIwIGxnOnB5LTEyXCJcbiAgICA+XG4gICAgICA8SW1hZ2VDbGlwUGF0aHMgaWQ9e2lkfSAvPlxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBsZzpteC0wXCI+XG4gICAgICAgICAgPGgyXG4gICAgICAgICAgICBpZD1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgc206dGV4dC01eGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNwZWFrZXJzXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgR2V0IHJlYWR5IHRvIGJlIGluc3BpcmVkIGJ5IHNvbWUgb2YgdGhlIGluZHVzdHJ5IGxlYWRlcnMgYW5kIGlubm92YXRvcnMgd2hvIGFyZSBzaGFwaW5nIHRoZSBmdXR1cmUgb2YgdGhlIG1ldGF2ZXJzZSwgV2ViMywgQUksIGFuZCBtb3JlLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxUYWJHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTE0IGdyaWQgZ3JpZC1jb2xzLTEgaXRlbXMtc3RhcnQgZ2FwLXgtOCBnYXAteS04IHNtOm10LTE2IHNtOmdhcC15LTE2IGxnOm10LTI0IGxnOmdyaWQtY29scy00XCJcbiAgICAgICAgICB2ZXJ0aWNhbD17dGFiT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCd9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIC1teC00IGZsZXggb3ZlcmZsb3cteC1hdXRvIHBiLTQgc206bXgtMCBzbTpibG9jayBzbTpvdmVyZmxvdy12aXNpYmxlIHNtOnBiLTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wLjUgdG9wLTIgaGlkZGVuIHctcHggYmctc2xhdGUtMjAwIGxnOmJsb2NrXCIgLz5cbiAgICAgICAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cImdyaWQgYXV0by1jb2xzLWF1dG8gZ3JpZC1mbG93LWNvbCBqdXN0aWZ5LXN0YXJ0IGdhcC14LTggZ2FwLXktMTAgd2hpdGVzcGFjZS1ub3dyYXAgcHgtNCBzbTpteC1hdXRvIHNtOm1heC13LTJ4bCBzbTpncmlkLWNvbHMtMyBzbTpweC0wIHNtOnRleHQtY2VudGVyIGxnOmdyaWQtZmxvdy1yb3cgbGc6Z3JpZC1jb2xzLTEgbGc6dGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIHsoeyBzZWxlY3RlZEluZGV4IH0pID0+IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAge2RheXMubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtkYXkuZGF0ZVRpbWV9IGNsYXNzTmFtZT1cInJlbGF0aXZlIGxnOnBsLThcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8RGlhbW9uZEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGxlZnQtWy0wLjVweF0gdG9wLVswLjU2MjVyZW1dIGhpZGRlbiBoLTEuNSB3LTEuNSBvdmVyZmxvdy12aXNpYmxlIGxnOmJsb2NrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdmaWxsLWJsdWUtNTAwIHN0cm9rZS1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdmaWxsLXRyYW5zcGFyZW50IHN0cm9rZS1zbGF0ZS00MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LW1vbm8gdGV4dC1zbScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3RleHQtYmx1ZS01MDAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0ZXh0LXNsYXRlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVRpbWU9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtMS41IGJsb2NrIHRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGltZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVGFiTGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8VGFiUGFuZWxzIGNsYXNzTmFtZT1cImxnOmNvbC1zcGFuLTNcIj5cbiAgICAgICAgICAgIHtkYXlzLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAgICAgIGtleT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLXgtOCBnYXAteS0xMCB1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgc206Z3JpZC1jb2xzLTIgc206Z2FwLXktMTYgbWQ6Z3JpZC1jb2xzLTNcIlxuICAgICAgICAgICAgICAgIHVubW91bnQ9e2ZhbHNlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2RheS5zcGVha2Vycy5tYXAoKHNwZWFrZXIsIHNwZWFrZXJJbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e3NwZWFrZXJJbmRleH0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgaC1bMTcuNXJlbV0gdHJhbnNmb3JtIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLTR4bFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGJvdHRvbS02IGxlZnQtMCByaWdodC00IHRvcC0wIHJvdW5kZWQtNHhsIGJvcmRlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS05NSB4bDpyaWdodC02JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItYmx1ZS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItaW5kaWdvLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1za3ktMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVtzcGVha2VySW5kZXggJSAzXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWluZGlnby01MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjbGlwUGF0aDogYHVybCgjJHtpZH0tJHtzcGVha2VySW5kZXggJSAzfSlgIH19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtzcGVha2VyLmltYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz1cIihtaW4td2lkdGg6IDEyODBweCkgMTcuNXJlbSwgKG1pbi13aWR0aDogMTAyNHB4KSAyNXZ3LCAobWluLXdpZHRoOiA3NjhweCkgMzN2dywgKG1pbi13aWR0aDogNjQwcHgpIDUwdncsIDEwMHZ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwibXQtOCBmb250LWRpc3BsYXkgdGV4dC14bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1zbGF0ZS05MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7c3BlYWtlci5uYW1lfVxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLnJvbGV9XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1RhYlBhbmVsPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9UYWJQYW5lbHM+XG4gICAgICAgIDwvVGFiR3JvdXA+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZVN0YXRlIiwiSW1hZ2UiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsImNsc3giLCJDb250YWluZXIiLCJEaWFtb25kSWNvbiIsImFuZHJld0dyZWVuZUltYWdlIiwiY2F0aGxlbmVCdXJyYWdlSW1hZ2UiLCJkYW1hcmlzS2ltdXJhSW1hZ2UiLCJkaWFubmVHdWlsaWFuZWxsaUltYWdlIiwiZXJoYXJ0Q29ja3JpbkltYWdlIiwiZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UiLCJnb3Jkb25TYW5kZXJzb25JbWFnZSIsImhlYXRoZXJUZXJyeUltYWdlIiwiaWJyYWhpbUZyYXNjaEltYWdlIiwiamFxdWVsaW5Jc2NoSW1hZ2UiLCJraW1iZXJseVBhcnNvbnNJbWFnZSIsInBhcmtlckpvaG5zb25JbWFnZSIsInBpZXJzV2lsa2luc0ltYWdlIiwicmljaGFyZEFzdGxleSIsInJpbmFsZG9CZXlub25JbWFnZSIsInJvbm5pQ2FudGFkb3JlSW1hZ2UiLCJzdGV2ZW5NY2hhaWxJbWFnZSIsIndheWxvbkh5ZGVuSW1hZ2UiLCJrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UiLCJhZG5hbmZhdGF5ZXJqaUltYWdlIiwiZmxvcmlhbmZvdXJuaWVySW1hZ2UiLCJtYXR0aGV3c2NodXR0ZUltYWdlIiwib21yZWlhYnVtYWRpSW1hZ2UiLCJ2aWN0b3JtdWhhZ2FjaGlJbWFnZSIsInNhc2hhYXN0aWFkaUltYWdlIiwiZGF5cyIsIm5hbWUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzcGVha2VycyIsInJvbGUiLCJpbWFnZSIsIkltYWdlQ2xpcFBhdGhzIiwiaWQiLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwid2lkdGgiLCJoZWlnaHQiLCJkZWZzIiwiY2xpcFBhdGgiLCJjbGlwUGF0aFVuaXRzIiwicGF0aCIsImQiLCJTcGVha2VycyIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJsZ01lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VjdGlvbiIsImFyaWEtbGFiZWxsZWRieSIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInZlcnRpY2FsIiwic2VsZWN0ZWRJbmRleCIsIm1hcCIsImRheSIsImRheUluZGV4Iiwic3BhbiIsInRpbWUiLCJ1bm1vdW50Iiwic3BlYWtlciIsInNwZWFrZXJJbmRleCIsInN0eWxlIiwic3JjIiwiYWx0IiwicHJpb3JpdHkiLCJzaXplcyIsImgzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Speakers.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"ee6e64964dfa\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsY0FBYztBQUM3QixJQUFJLEtBQVUsRUFBRSxFQUF1QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzPzlhZTgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJlZTZlNjQ5NjRkZmFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/styles/tailwind.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/events/versefest/page.jsx": -/*!*******************************************!*\ - !*** ./src/app/events/versefest/page.jsx ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ versefest)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Event1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/Event1 */ \"(rsc)/./src/components/Event1.jsx\");\n/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Header */ \"(rsc)/./src/components/Header.jsx\");\n/* harmony import */ var _components_Newsletter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Newsletter */ \"(rsc)/./src/components/Newsletter.jsx\");\n/* harmony import */ var _components_Schedule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Schedule */ \"(rsc)/./src/components/Schedule.jsx\");\n/* harmony import */ var _components_Speakers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/Speakers */ \"(rsc)/./src/components/Speakers.jsx\");\n/* harmony import */ var _components_Venue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/Venue */ \"(rsc)/./src/components/Venue.jsx\");\n/* harmony import */ var _components_Sponsors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/Sponsors */ \"(rsc)/./src/components/Sponsors.jsx\");\n/* harmony import */ var _components_Experiences__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/Experiences */ \"(rsc)/./src/components/Experiences.jsx\");\n/* harmony import */ var _components_FAQ__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/FAQ */ \"(rsc)/./src/components/FAQ.jsx\");\n\n\n\n\n\n\n\n\n\n\nfunction versefest() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Header__WEBPACK_IMPORTED_MODULE_2__.Header, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Event1__WEBPACK_IMPORTED_MODULE_1__.Event1, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\",\n lineNumber: 15,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Sponsors__WEBPACK_IMPORTED_MODULE_7__.Sponsors, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\",\n lineNumber: 16,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Venue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Experiences__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Speakers__WEBPACK_IMPORTED_MODULE_5__.Speakers, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\",\n lineNumber: 19,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Schedule__WEBPACK_IMPORTED_MODULE_4__.Schedule, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\",\n lineNumber: 20,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_FAQ__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Newsletter__WEBPACK_IMPORTED_MODULE_3__.Newsletter, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2V2ZW50cy92ZXJzZWZlc3QvcGFnZS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUE0QztBQUNBO0FBQ1E7QUFDSjtBQUNBO0FBQ1Y7QUFDVTtBQUNFO0FBQ2hCO0FBRW5CLFNBQVNTO0lBQ3RCLHFCQUNFOzswQkFDRSw4REFBQ1Isc0RBQU1BOzs7OzswQkFDUCw4REFBQ0Qsc0RBQU1BOzs7OzswQkFDUCw4REFBQ00sMERBQVFBOzs7OzswQkFDVCw4REFBQ0QseURBQUtBOzs7OzswQkFDTiw4REFBQ0UsK0RBQVdBOzs7OzswQkFDWiw4REFBQ0gsMERBQVFBOzs7OzswQkFDVCw4REFBQ0QsMERBQVFBOzs7OzswQkFDVCw4REFBQ0ssdURBQUdBOzs7OzswQkFDSiw4REFBQ04sOERBQVVBOzs7Ozs7O0FBR2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2FwcC9ldmVudHMvdmVyc2VmZXN0L3BhZ2UuanN4PzkyY2YiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnQxIH0gZnJvbSAnQC9jb21wb25lbnRzL0V2ZW50MSdcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gJ0AvY29tcG9uZW50cy9IZWFkZXInXG5pbXBvcnQgeyBOZXdzbGV0dGVyIH0gZnJvbSAnQC9jb21wb25lbnRzL05ld3NsZXR0ZXInXG5pbXBvcnQgeyBTY2hlZHVsZSB9IGZyb20gJ0AvY29tcG9uZW50cy9TY2hlZHVsZSdcbmltcG9ydCB7IFNwZWFrZXJzIH0gZnJvbSAnQC9jb21wb25lbnRzL1NwZWFrZXJzJ1xuaW1wb3J0IFZlbnVlIGZyb20gJ0AvY29tcG9uZW50cy9WZW51ZSdcbmltcG9ydCB7IFNwb25zb3JzIH0gZnJvbSAnQC9jb21wb25lbnRzL1Nwb25zb3JzJ1xuaW1wb3J0IEV4cGVyaWVuY2VzIGZyb20gJ0AvY29tcG9uZW50cy9FeHBlcmllbmNlcydcbmltcG9ydCBGQVEgZnJvbSAnQC9jb21wb25lbnRzL0ZBUSdcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyc2VmZXN0KCkge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8SGVhZGVyIC8+XG4gICAgICA8RXZlbnQxIC8+XG4gICAgICA8U3BvbnNvcnMgLz5cbiAgICAgIDxWZW51ZSAvPiBcbiAgICAgIDxFeHBlcmllbmNlcyAvPlxuICAgICAgPFNwZWFrZXJzIC8+XG4gICAgICA8U2NoZWR1bGUgLz5cbiAgICAgIDxGQVEgLz5cbiAgICAgIDxOZXdzbGV0dGVyIC8+XG4gICAgPC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJFdmVudDEiLCJIZWFkZXIiLCJOZXdzbGV0dGVyIiwiU2NoZWR1bGUiLCJTcGVha2VycyIsIlZlbnVlIiwiU3BvbnNvcnMiLCJFeHBlcmllbmNlcyIsIkZBUSIsInZlcnNlZmVzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/events/versefest/page.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/layout.jsx": -/*!****************************!*\ - !*** ./src/app/layout.jsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_jsx_import_Inter_arguments_subsets_latin_display_swap_variable_font_inter_variableName_inter___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src/app/layout.jsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"],\\\"display\\\":\\\"swap\\\",\\\"variable\\\":\\\"--font-inter\\\"}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_jsx_import_Inter_arguments_subsets_latin_display_swap_variable_font_inter_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_jsx_import_Inter_arguments_subsets_latin_display_swap_variable_font_inter_variableName_inter___WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_jsx_import_DM_Sans_arguments_subsets_latin_weight_400_500_700_display_swap_variable_font_dm_sans_variableName_dmSans___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src/app/layout.jsx\\\",\\\"import\\\":\\\"DM_Sans\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"],\\\"weight\\\":[\\\"400\\\",\\\"500\\\",\\\"700\\\"],\\\"display\\\":\\\"swap\\\",\\\"variable\\\":\\\"--font-dm-sans\\\"}],\\\"variableName\\\":\\\"dmSans\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_jsx_import_DM_Sans_arguments_subsets_latin_weight_400_500_700_display_swap_variable_font_dm_sans_variableName_dmSans___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_jsx_import_DM_Sans_arguments_subsets_latin_weight_400_500_700_display_swap_variable_font_dm_sans_variableName_dmSans___WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(rsc)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _styles_tailwind_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/styles/tailwind.css */ \"(rsc)/./src/styles/tailwind.css\");\n\n\n\n\n\nconst metadata = {\n title: {\n template: \"%s - OurVerse\",\n default: \"OurVerse - A community-driven Metaverse Platform\"\n },\n description: \"A New, Vibrant Virtual World.\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"h-full bg-white antialiased\", (next_font_google_target_css_path_src_app_layout_jsx_import_Inter_arguments_subsets_latin_display_swap_variable_font_inter_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default().variable), (next_font_google_target_css_path_src_app_layout_jsx_import_DM_Sans_arguments_subsets_latin_weight_400_500_700_display_swap_variable_font_dm_sans_variableName_dmSans___WEBPACK_IMPORTED_MODULE_4___default().variable)),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: \"flex min-h-full\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex w-full flex-col\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx\",\n lineNumber: 38,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx\",\n lineNumber: 30,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFLTUE7QUFNQUM7QUFWaUI7QUFFTztBQWV2QixNQUFNRSxXQUFXO0lBQ3RCQyxPQUFPO1FBQ0xDLFVBQVU7UUFDVkMsU0FBUztJQUNYO0lBQ0FDLGFBQ0U7QUFDSixFQUFDO0FBRWMsU0FBU0MsV0FBVyxFQUFFQyxRQUFRLEVBQUU7SUFDN0MscUJBQ0UsOERBQUNDO1FBQ0NDLE1BQUs7UUFDTEMsV0FBV1YsZ0RBQUlBLENBQ2IsK0JBQ0FGLCtMQUFjLEVBQ2RDLHVOQUFlO2tCQUdqQiw0RUFBQ2E7WUFBS0YsV0FBVTtzQkFDZCw0RUFBQ0c7Z0JBQUlILFdBQVU7MEJBQXdCSDs7Ozs7Ozs7Ozs7Ozs7OztBQUkvQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9hcHAvbGF5b3V0LmpzeD9jYmUxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERNX1NhbnMsIEludGVyIH0gZnJvbSAnbmV4dC9mb250L2dvb2dsZSdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5cbmltcG9ydCAnQC9zdHlsZXMvdGFpbHdpbmQuY3NzJ1xuXG5jb25zdCBpbnRlciA9IEludGVyKHtcbiAgc3Vic2V0czogWydsYXRpbiddLFxuICBkaXNwbGF5OiAnc3dhcCcsXG4gIHZhcmlhYmxlOiAnLS1mb250LWludGVyJyxcbn0pXG5cbmNvbnN0IGRtU2FucyA9IERNX1NhbnMoe1xuICBzdWJzZXRzOiBbJ2xhdGluJ10sXG4gIHdlaWdodDogWyc0MDAnLCAnNTAwJywgJzcwMCddLFxuICBkaXNwbGF5OiAnc3dhcCcsXG4gIHZhcmlhYmxlOiAnLS1mb250LWRtLXNhbnMnLFxufSlcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZToge1xuICAgIHRlbXBsYXRlOiAnJXMgLSBPdXJWZXJzZScsXG4gICAgZGVmYXVsdDogJ091clZlcnNlIC0gQSBjb21tdW5pdHktZHJpdmVuIE1ldGF2ZXJzZSBQbGF0Zm9ybScsXG4gIH0sXG4gIGRlc2NyaXB0aW9uOlxuICAgICdBIE5ldywgVmlicmFudCBWaXJ0dWFsIFdvcmxkLicsXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoeyBjaGlsZHJlbiB9KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWxcbiAgICAgIGxhbmc9XCJlblwiXG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICdoLWZ1bGwgYmctd2hpdGUgYW50aWFsaWFzZWQnLFxuICAgICAgICBpbnRlci52YXJpYWJsZSxcbiAgICAgICAgZG1TYW5zLnZhcmlhYmxlLFxuICAgICAgKX1cbiAgICA+XG4gICAgICA8Ym9keSBjbGFzc05hbWU9XCJmbGV4IG1pbi1oLWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IHctZnVsbCBmbGV4LWNvbFwiPntjaGlsZHJlbn08L2Rpdj5cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJpbnRlciIsImRtU2FucyIsImNsc3giLCJtZXRhZGF0YSIsInRpdGxlIiwidGVtcGxhdGUiLCJkZWZhdWx0IiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImNsYXNzTmFtZSIsInZhcmlhYmxlIiwiYm9keSIsImRpdiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/not-found.jsx": -/*!*******************************!*\ - !*** ./src/app/not-found.jsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ NotFound)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(rsc)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(rsc)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Layout */ \"(rsc)/./src/components/Layout.jsx\");\n\n\n\n\n\nfunction NotFound() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Layout__WEBPACK_IMPORTED_MODULE_4__.Layout, {\n showFooter: false,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex h-full items-center py-20 sm:py-36\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_1__.BackgroundImage, {\n className: \"-top-36 bottom-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 10,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"relative flex w-full flex-col items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-display text-2xl tracking-tight text-blue-900\",\n children: \"404\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 12,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"mt-4 font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Page not found\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 15,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-lg tracking-tight text-blue-900\",\n children: \"Sorry, we couldn’t find the page you’re looking for.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 18,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"/\",\n className: \"mt-8\",\n children: \"Go back home\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 21,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 11,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 9,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx\",\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL25vdC1mb3VuZC5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBOEQ7QUFDbEI7QUFDTTtBQUNOO0FBRTdCLFNBQVNJO0lBQ3RCLHFCQUNFLDhEQUFDRCxzREFBTUE7UUFBQ0UsWUFBWTtrQkFDbEIsNEVBQUNDO1lBQUlDLFdBQVU7OzhCQUNiLDhEQUFDUCx3RUFBZUE7b0JBQUNPLFdBQVU7Ozs7Ozs4QkFDM0IsOERBQUNMLDREQUFTQTtvQkFBQ0ssV0FBVTs7c0NBQ25CLDhEQUFDQzs0QkFBRUQsV0FBVTtzQ0FBcUQ7Ozs7OztzQ0FHbEUsOERBQUNFOzRCQUFHRixXQUFVO3NDQUFvRjs7Ozs7O3NDQUdsRyw4REFBQ0M7NEJBQUVELFdBQVU7c0NBQTRDOzs7Ozs7c0NBR3pELDhEQUFDTixzREFBTUE7NEJBQUNTLE1BQUs7NEJBQUlILFdBQVU7c0NBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2FwcC9ub3QtZm91bmQuanN4P2EzNDciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFja2dyb3VuZEltYWdlIH0gZnJvbSAnQC9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZSdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9CdXR0b24nXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuaW1wb3J0IHsgTGF5b3V0IH0gZnJvbSAnQC9jb21wb25lbnRzL0xheW91dCdcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTm90Rm91bmQoKSB7XG4gIHJldHVybiAoXG4gICAgPExheW91dCBzaG93Rm9vdGVyPXtmYWxzZX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGZsZXggaC1mdWxsIGl0ZW1zLWNlbnRlciBweS0yMCBzbTpweS0zNlwiPlxuICAgICAgICA8QmFja2dyb3VuZEltYWdlIGNsYXNzTmFtZT1cIi10b3AtMzYgYm90dG9tLTBcIiAvPlxuICAgICAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cInJlbGF0aXZlIGZsZXggdy1mdWxsIGZsZXgtY29sIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICA0MDRcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGgxIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTYwMCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgICAgUGFnZSBub3QgZm91bmRcbiAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgdGV4dC1sZyB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICBTb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoZSBwYWdlIHlvdeKAmXJlIGxvb2tpbmcgZm9yLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwibXQtOFwiPlxuICAgICAgICAgICAgR28gYmFjayBob21lXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9MYXlvdXQ+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJCYWNrZ3JvdW5kSW1hZ2UiLCJCdXR0b24iLCJDb250YWluZXIiLCJMYXlvdXQiLCJOb3RGb3VuZCIsInNob3dGb290ZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJwIiwiaDEiLCJocmVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/not-found.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/BackgroundImage.jsx": -/*!********************************************!*\ - !*** ./src/components/BackgroundImage.jsx ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundImage: () => (/* binding */ BackgroundImage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(rsc)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(rsc)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/images/background.jpg */ \"(rsc)/./src/images/background.jpg\");\n\n\n\n\nfunction BackgroundImage({ className, position = \"left\" }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute inset-0 overflow-hidden bg-indigo-50\", className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute top-0\", position === \"left\" && \"left-0 translate-x-[-55%] translate-y-[-10%] -scale-x-100 sm:left-1/2 sm:translate-x-[-98%] sm:translate-y-[-6%] lg:translate-x-[-106%] xl:translate-x-[-122%]\", position === \"right\" && \"left-full -translate-x-1/2 sm:left-1/2 sm:translate-x-[-20%] sm:translate-y-[-15%] md:translate-x-0 lg:translate-x-[5%] lg:translate-y-[4%] xl:translate-x-[27%] xl:translate-y-[-8%]\"),\n src: _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n alt: \"\",\n width: 918,\n height: 1495,\n priority: true,\n unoptimized: true\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 top-0 h-20 bg-gradient-to-b from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 29,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9CYWNrZ3JvdW5kSW1hZ2UuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBOEI7QUFDUDtBQUU4QjtBQUU5QyxTQUFTRyxnQkFBZ0IsRUFBRUMsU0FBUyxFQUFFQyxXQUFXLE1BQU0sRUFBRTtJQUM5RCxxQkFDRSw4REFBQ0M7UUFDQ0YsV0FBV0gsZ0RBQUlBLENBQ2IsaURBQ0FHOzswQkFHRiw4REFBQ0osa0RBQUtBO2dCQUNKSSxXQUFXSCxnREFBSUEsQ0FDYixrQkFDQUksYUFBYSxVQUNYLGtLQUNGQSxhQUFhLFdBQ1g7Z0JBRUpFLEtBQUtMLDhEQUFlQTtnQkFDcEJNLEtBQUk7Z0JBQ0pDLE9BQU87Z0JBQ1BDLFFBQVE7Z0JBQ1JDLFFBQVE7Z0JBQ1JDLFdBQVc7Ozs7OzswQkFFYiw4REFBQ047Z0JBQUlGLFdBQVU7Ozs7OzswQkFDZiw4REFBQ0U7Z0JBQUlGLFdBQVU7Ozs7Ozs7Ozs7OztBQUdyQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZS5qc3g/YzM0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5cbmltcG9ydCBiYWNrZ3JvdW5kSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYmFja2dyb3VuZC5qcGcnXG5cbmV4cG9ydCBmdW5jdGlvbiBCYWNrZ3JvdW5kSW1hZ2UoeyBjbGFzc05hbWUsIHBvc2l0aW9uID0gJ2xlZnQnIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICdhYnNvbHV0ZSBpbnNldC0wIG92ZXJmbG93LWhpZGRlbiBiZy1pbmRpZ28tNTAnLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApfVxuICAgID5cbiAgICAgIDxJbWFnZVxuICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgJ2Fic29sdXRlIHRvcC0wJyxcbiAgICAgICAgICBwb3NpdGlvbiA9PT0gJ2xlZnQnICYmXG4gICAgICAgICAgICAnbGVmdC0wIHRyYW5zbGF0ZS14LVstNTUlXSB0cmFuc2xhdGUteS1bLTEwJV0gLXNjYWxlLXgtMTAwIHNtOmxlZnQtMS8yIHNtOnRyYW5zbGF0ZS14LVstOTglXSBzbTp0cmFuc2xhdGUteS1bLTYlXSBsZzp0cmFuc2xhdGUteC1bLTEwNiVdIHhsOnRyYW5zbGF0ZS14LVstMTIyJV0nLFxuICAgICAgICAgIHBvc2l0aW9uID09PSAncmlnaHQnICYmXG4gICAgICAgICAgICAnbGVmdC1mdWxsIC10cmFuc2xhdGUteC0xLzIgc206bGVmdC0xLzIgc206dHJhbnNsYXRlLXgtWy0yMCVdIHNtOnRyYW5zbGF0ZS15LVstMTUlXSBtZDp0cmFuc2xhdGUteC0wIGxnOnRyYW5zbGF0ZS14LVs1JV0gbGc6dHJhbnNsYXRlLXktWzQlXSB4bDp0cmFuc2xhdGUteC1bMjclXSB4bDp0cmFuc2xhdGUteS1bLTglXScsXG4gICAgICAgICl9XG4gICAgICAgIHNyYz17YmFja2dyb3VuZEltYWdlfVxuICAgICAgICBhbHQ9XCJcIlxuICAgICAgICB3aWR0aD17OTE4fVxuICAgICAgICBoZWlnaHQ9ezE0OTV9XG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIHVub3B0aW1pemVkXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgdG9wLTAgaC0yMCBiZy1ncmFkaWVudC10by1iIGZyb20td2hpdGVcIiAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgYm90dG9tLTAgaC0yMCBiZy1ncmFkaWVudC10by10IGZyb20td2hpdGVcIiAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiSW1hZ2UiLCJjbHN4IiwiYmFja2dyb3VuZEltYWdlIiwiQmFja2dyb3VuZEltYWdlIiwiY2xhc3NOYW1lIiwicG9zaXRpb24iLCJkaXYiLCJzcmMiLCJhbHQiLCJ3aWR0aCIsImhlaWdodCIsInByaW9yaXR5IiwidW5vcHRpbWl6ZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/components/BackgroundImage.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Button.jsx": -/*!***********************************!*\ - !*** ./src/components/Button.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(rsc)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(rsc)/./node_modules/clsx/dist/clsx.mjs\");\n\n\n\nfunction Button({ className, ...props }) {\n className = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"inline-flex justify-center rounded-2xl bg-blue-700 py-2 px-4 text-sm font-semibold text-white hover:bg-blue-500 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:text-white/70\", className);\n return typeof props.href === \"undefined\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9CdXR0b24uanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUE0QjtBQUNMO0FBRWhCLFNBQVNFLE9BQU8sRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU87SUFDNUNELFlBQVlGLGdEQUFJQSxDQUNkLGlQQUNBRTtJQUdGLE9BQU8sT0FBT0MsTUFBTUMsSUFBSSxLQUFLLDRCQUMzQiw4REFBQ0M7UUFBT0gsV0FBV0E7UUFBWSxHQUFHQyxLQUFLOzs7Ozs2QkFFdkMsOERBQUNKLGlEQUFJQTtRQUFDRyxXQUFXQTtRQUFZLEdBQUdDLEtBQUs7Ozs7OztBQUV6QyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3g/NGUxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9KSB7XG4gIGNsYXNzTmFtZSA9IGNsc3goXG4gICAgJ2lubGluZS1mbGV4IGp1c3RpZnktY2VudGVyIHJvdW5kZWQtMnhsIGJnLWJsdWUtNzAwIHB5LTIgcHgtNCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBob3ZlcjpiZy1ibHVlLTUwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1ibHVlLTUwMCBhY3RpdmU6dGV4dC13aGl0ZS83MCcsXG4gICAgY2xhc3NOYW1lLFxuICApXG5cbiAgcmV0dXJuIHR5cGVvZiBwcm9wcy5ocmVmID09PSAndW5kZWZpbmVkJyA/IChcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4ucHJvcHN9IC8+XG4gICkgOiAoXG4gICAgPExpbmsgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5wcm9wc30gLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJjbHN4IiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJocmVmIiwiYnV0dG9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Button.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Container.jsx": -/*!**************************************!*\ - !*** ./src/components/Container.jsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(rsc)/./node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container({ className, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXVCO0FBRWhCLFNBQVNDLFVBQVUsRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU87SUFDL0MscUJBQ0UsOERBQUNDO1FBQ0NGLFdBQVdGLGdEQUFJQSxDQUFDLDBDQUEwQ0U7UUFDekQsR0FBR0MsS0FBSzs7Ozs7O0FBR2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Container.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Event1.jsx": -/*!***********************************!*\ - !*** ./src/components/Event1.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Event1: () => (/* binding */ Event1)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(rsc)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(rsc)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _barrel_optimize_names_CalendarIcon_MapPinIcon_TicketIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=CalendarIcon,MapPinIcon,TicketIcon!=!@heroicons/react/24/outline */ \"(rsc)/./node_modules/@heroicons/react/24/outline/esm/CalendarIcon.js\");\n/* harmony import */ var _barrel_optimize_names_CalendarIcon_MapPinIcon_TicketIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=CalendarIcon,MapPinIcon,TicketIcon!=!@heroicons/react/24/outline */ \"(rsc)/./node_modules/@heroicons/react/24/outline/esm/MapPinIcon.js\");\n/* harmony import */ var _barrel_optimize_names_CalendarIcon_MapPinIcon_TicketIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=CalendarIcon,MapPinIcon,TicketIcon!=!@heroicons/react/24/outline */ \"(rsc)/./node_modules/@heroicons/react/24/outline/esm/TicketIcon.js\");\n\n\n\n\n\n\nfunction Event1() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:py-12 mt-20 pb-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_1__.BackgroundImage, {\n className: \"-bottom-14 -top-20\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 10,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:max-w-4xl lg:px-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"font-display text-3xl font-semibold tracking-tighter text-blue-700 sm:text-7xl\",\n children: \"VerseFest 2024\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 13,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"lg:mt-4 mt-2 font-display lg:text-2xl font-normal tracking-tight text-blue-500 text-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarIcon_MapPinIcon_TicketIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-8 w-8 mx-0.2 inline-block -mt-0.5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 17,\n columnNumber: 11\n }, this),\n \" OCT 24-26 • 12 PM - 6 PM UTC\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 16,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"lg:mt-0 mt-0 font-display lg:text-2xl font-normal tracking-tight text-blue-500 text-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarIcon_MapPinIcon_TicketIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-8 w-8 mx-0.2 inline-block -mt-0.5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 20,\n columnNumber: 11\n }, this),\n \" OURWORLD METAVERSE\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-6 space-y-6 font-normal lg:max-w-3xl lg:text-xl text-base -tracking-normal leading-tight text-blue-900\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: [\n \"Get ready to step into the future with \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-blue-700\",\n children: \"VerseFest 2024 by OurVerse!\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 24,\n columnNumber: 52\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 23,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"This groundbreaking free virtual event is designed to unite freelancers, entrepreneurs, startups, investors, gamers, and Web3 enthusiasts from every corner of the globe.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 26,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"Over three exciting days, you’ll immerse yourself in an innovative metaverse, discover the latest trends in technology, and connect with like-minded pioneers.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 30,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"From engaging talks and hands-on demos to networking opportunities in stunning virtual environments, VerseFest 2024 is where the world comes together to explore the next frontier.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 34,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 22,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-10 pb-8 flex items-center gap-x-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n className: \"rounded-xl bg-blue-700 px-6 py-3.5 lg:max-w-4xl max-w-2xl text-base tracking-tight font-semibold text-white shadow-sm hover:bg-blue-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500\",\n children: [\n \"Get Your FREE Ticket \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CalendarIcon_MapPinIcon_TicketIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-5 w-5 mx-0.3 inline-block -mt-0.5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 43,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 38,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 12,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 11,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx\",\n lineNumber: 9,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9FdmVudDEuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEQ7QUFDbEI7QUFDTTtBQUNXO0FBQ29CO0FBRTFFLFNBQVNPO0lBQ2QscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7OzBCQUNiLDhEQUFDVCx3RUFBZUE7Z0JBQUNTLFdBQVU7Ozs7OzswQkFDM0IsOERBQUNQLDREQUFTQTtnQkFBQ08sV0FBVTswQkFDbkIsNEVBQUNEO29CQUFJQyxXQUFVOztzQ0FDYiw4REFBQ0M7NEJBQUdELFdBQVU7c0NBQWlGOzs7Ozs7c0NBRy9GLDhEQUFDRTs0QkFBR0YsV0FBVTs7OENBQ2QsOERBQUNMLDRIQUFZQTtvQ0FBQ0ssV0FBVTs7Ozs7O2dDQUF3Qzs7Ozs7OztzQ0FFaEUsOERBQUNFOzRCQUFHRixXQUFVOzs4Q0FDZCw4REFBQ0osNEhBQVVBO29DQUFDSSxXQUFVOzs7Ozs7Z0NBQXdDOzs7Ozs7O3NDQUU5RCw4REFBQ0Q7NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDRzs7d0NBQUU7c0RBQ29DLDhEQUFDQzs0Q0FBS0osV0FBVTtzREFBOEI7Ozs7Ozs7Ozs7Ozs4Q0FFckYsOERBQUNHOzhDQUFFOzs7Ozs7OENBSUgsOERBQUNBOzhDQUFFOzs7Ozs7OENBSUgsOERBQUNBOzhDQUFFOzs7Ozs7Ozs7Ozs7c0NBSUwsOERBQUNKOzRCQUFJQyxXQUFVO3NDQUNiLDRFQUFDSztnQ0FDQ0MsTUFBSztnQ0FDTE4sV0FBVTs7b0NBQ1g7a0RBQ3VCLDhEQUFDSCw0SEFBVUE7d0NBQUNHLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPMUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9FdmVudDEuanN4PzI1ODciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFja2dyb3VuZEltYWdlIH0gZnJvbSAnQC9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZSdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9CdXR0b24nXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuaW1wb3J0IHsgUm9ja2V0TGF1bmNoSWNvbiwgfSBmcm9tICdAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkJ1xuaW1wb3J0IHsgQ2FsZW5kYXJJY29uLCBNYXBQaW5JY29uLCBUaWNrZXRJY29ufSBmcm9tICdAaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUnXG5cbmV4cG9ydCBmdW5jdGlvbiBFdmVudDEoKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBsZzpweS0xMiBtdC0yMCBwYi0xMlwiPlxuICAgICAgPEJhY2tncm91bmRJbWFnZSBjbGFzc05hbWU9XCItYm90dG9tLTE0IC10b3AtMjBcIiAvPlxuICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm1heC13LTR4bCBsZzpweC0xMlwiPlxuICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJmb250LWRpc3BsYXkgdGV4dC0zeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgc206dGV4dC03eGxcIj5cbiAgICAgICAgICAgIFZlcnNlRmVzdCAyMDI0XG4gICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwibGc6bXQtNCBtdC0yIGZvbnQtZGlzcGxheSBsZzp0ZXh0LTJ4bCBmb250LW5vcm1hbCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtNTAwIHRleHQteGxcIj5cbiAgICAgICAgICA8Q2FsZW5kYXJJY29uIGNsYXNzTmFtZT1cImgtOCB3LTggbXgtMC4yIGlubGluZS1ibG9jayAtbXQtMC41XCIgLz4gT0NUIDI0LTI2IOKAoiAxMiBQTSAtIDYgUE0gVVRDIFxuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cImxnOm10LTAgbXQtMCBmb250LWRpc3BsYXkgbGc6dGV4dC0yeGwgZm9udC1ub3JtYWwgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTUwMCB0ZXh0LXhsXCI+XG4gICAgICAgICAgPE1hcFBpbkljb24gY2xhc3NOYW1lPVwiaC04IHctOCBteC0wLjIgaW5saW5lLWJsb2NrIC1tdC0wLjVcIiAvPiBPVVJXT1JMRCBNRVRBVkVSU0VcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtNiBzcGFjZS15LTYgZm9udC1ub3JtYWwgbGc6bWF4LXctM3hsIGxnOnRleHQteGwgdGV4dC1iYXNlIC10cmFja2luZy1ub3JtYWwgbGVhZGluZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIEdldCByZWFkeSB0byBzdGVwIGludG8gdGhlIGZ1dHVyZSB3aXRoIDxzcGFuIGNsYXNzTmFtZT0nZm9udC1zZW1pYm9sZCB0ZXh0LWJsdWUtNzAwJz5WZXJzZUZlc3QgMjAyNCBieSBPdXJWZXJzZSE8L3NwYW4+ICBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgVGhpcyBncm91bmRicmVha2luZyBmcmVlIHZpcnR1YWwgZXZlbnQgaXMgZGVzaWduZWQgdG8gdW5pdGUgZnJlZWxhbmNlcnMsIFxuICAgICAgICAgICAgZW50cmVwcmVuZXVycywgc3RhcnR1cHMsIGludmVzdG9ycywgZ2FtZXJzLCBhbmQgV2ViMyBlbnRodXNpYXN0cyBmcm9tIGV2ZXJ5IGNvcm5lciBvZiB0aGUgZ2xvYmUuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIE92ZXIgdGhyZWUgZXhjaXRpbmcgZGF5cywgeW914oCZbGwgaW1tZXJzZSB5b3Vyc2VsZiBpbiBhbiBpbm5vdmF0aXZlIG1ldGF2ZXJzZSwgZGlzY292ZXIgdGhlIGxhdGVzdCB0cmVuZHMgaW4gdGVjaG5vbG9neSwgXG4gICAgICAgICAgICBhbmQgY29ubmVjdCB3aXRoIGxpa2UtbWluZGVkIHBpb25lZXJzLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICBGcm9tIGVuZ2FnaW5nIHRhbGtzIGFuZCBoYW5kcy1vbiBkZW1vcyB0byBuZXR3b3JraW5nIG9wcG9ydHVuaXRpZXMgaW4gc3R1bm5pbmcgdmlydHVhbCBlbnZpcm9ubWVudHMsIFZlcnNlRmVzdCAyMDI0IGlzIHdoZXJlIHRoZSB3b3JsZCBjb21lcyB0b2dldGhlciB0byBleHBsb3JlIHRoZSBuZXh0IGZyb250aWVyLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMTAgcGItOCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC02XCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQteGwgYmctYmx1ZS03MDAgcHgtNiBweS0zLjUgbGc6bWF4LXctNHhsIG1heC13LTJ4bCB0ZXh0LWJhc2UgdHJhY2tpbmctdGlnaHQgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIHNoYWRvdy1zbSBob3ZlcjpiZy1ibHVlLTUwMCBmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1ibHVlLTUwMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEdldCBZb3VyIEZSRUUgVGlja2V0ICA8VGlja2V0SWNvbiBjbGFzc05hbWU9XCJoLTUgdy01IG14LTAuMyBpbmxpbmUtYmxvY2sgLW10LTAuNVwiIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJCYWNrZ3JvdW5kSW1hZ2UiLCJCdXR0b24iLCJDb250YWluZXIiLCJSb2NrZXRMYXVuY2hJY29uIiwiQ2FsZW5kYXJJY29uIiwiTWFwUGluSWNvbiIsIlRpY2tldEljb24iLCJFdmVudDEiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsImgyIiwicCIsInNwYW4iLCJhIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Event1.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Experiences.jsx": -/*!****************************************!*\ - !*** ./src/components/Experiences.jsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Experiences)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst products = [\n {\n id: 1,\n name: \"Verse LaunchPad\",\n href: \"#\",\n imageSrc: \"/images/healthcare.jpg\",\n imageAlt: \"A dynamic space where innovative startups take the stage, pitching their groundbreaking ideas to potential investors.\"\n },\n {\n id: 2,\n name: \"Verse Lounge\",\n href: \"#\",\n imageSrc: \"/images/healthcare.jpg\",\n imageAlt: \"A sleek digital media space designed for press, influencers, and content creators.\"\n },\n {\n id: 3,\n name: \"VerseBeats Club\",\n href: \"#\",\n imageSrc: \"/images/healthcare.jpg\",\n imageAlt: \"Holographic technology meets the pulse of AI-driven beats.\"\n },\n {\n id: 4,\n name: \"Mindscape Academy\",\n href: \"#\",\n imageSrc: \"/images/healthcare.jpg\",\n imageAlt: \"your gateway to the future of learning, offering a series of free educational experiences and immersive workshops focused on AI, Web3, and essential future skills.\"\n },\n {\n id: 5,\n name: \"AI Colloseum\",\n href: \"#\",\n imageSrc: \"/images/healthcare.jpg\",\n imageAlt: \"A grand conference room where thought leaders, innovators, and enthusiasts gather to explore the vast possibilities of artificial intelligence.\"\n },\n {\n id: 6,\n name: \"Freelance Oasis\",\n href: \"#\",\n imageSrc: \"/images/healthcare.jpg\",\n imageAlt: \"A a dedicated space for freelancers to connect, collaborate, and grow.\"\n }\n];\nfunction Experiences() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white lg:py-20 py-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-7xl px-6 lg:px-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-4xl sm:text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Verse Spaces\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 75,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-normal text-2xl tracking-tight text-blue-900\",\n children: \"VerseFest 2024 is packed with dynamic experiences that cater to every interest and level of expertise in 6 different virtual spaces within OurWorld Verse.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 76,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 74,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto lg:mt-12 max-w-7xl px-6 mt-8 mb-12 lg:px-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-2 grid grid-cols-1 gap-x-8 gap-y-8 grid-cols-2 gap-y-10 lg:grid-cols-3\",\n children: products.map((product)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"aspect-h-2 aspect-w-3 overflow-hidden rounded-lg bg-gray-100\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n alt: product.imageAlt,\n src: product.imageSrc,\n className: \"object-cover object-center\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 87,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n \"aria-hidden\": \"true\",\n className: \"flex items-end p-4 opacity-100 group-hover:opacity-100\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full rounded-md bg-white bg-opacity-75 px-4 py-2 text-center text-sm font-medium text-blue-700 backdrop-blur backdrop-filter\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 91,\n columnNumber: 21\n }, this),\n product.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 90,\n columnNumber: 20\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 89,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 88,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 86,\n columnNumber: 15\n }, this)\n }, product.id, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 85,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx\",\n lineNumber: 72,\n columnNumber: 7\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9FeHBlcmllbmNlcy5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQWNvQztBQUVsQyxNQUFNYSxXQUFXO0lBQ2Y7UUFDRUMsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUNFO0lBQ0o7SUFDQTtRQUNFSixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQ0U7SUFDSjtJQUNBO1FBQ0VKLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxNQUFNO1FBQ05DLFVBQVU7UUFDVkMsVUFDRTtJQUNKO0lBQ0E7UUFDRUosSUFBSTtRQUNKQyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUNFO0lBQ0o7SUFDQTtRQUNFSixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQ0U7SUFDSjtJQUNBO1FBQ0VKLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxNQUFNO1FBQ05DLFVBQVU7UUFDVkMsVUFDRTtJQUNKO0NBR0Q7QUFFYyxTQUFTQztJQUN0QixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTs7MEJBQ2IsOERBQUNEO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDRDtvQkFBSUMsV0FBVTs7c0NBQ2IsOERBQUNDOzRCQUFFRCxXQUFVO3NDQUFvRjs7Ozs7O3NDQUNqRyw4REFBQ0M7NEJBQUVELFdBQVU7c0NBQXlEOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFNMUUsOERBQUNEO2dCQUFJQyxXQUFVOzBCQUNmLDRFQUFDRDtvQkFBSUMsV0FBVTs4QkFDWlIsU0FBU1UsR0FBRyxDQUFDLENBQUNDLHdCQUNiLDhEQUFDSjs0QkFBcUJDLFdBQVU7c0NBQzlCLDRFQUFDRDtnQ0FBSUMsV0FBVTs7a0RBQ2IsOERBQUNJO3dDQUFJQyxLQUFLRixRQUFRTixRQUFRO3dDQUFFUyxLQUFLSCxRQUFRUCxRQUFRO3dDQUFFSSxXQUFVOzs7Ozs7a0RBQzdELDhEQUFDRDt3Q0FBSVEsZUFBWTt3Q0FBT1AsV0FBVTtrREFDaEMsNEVBQUNEOzRDQUFJQyxXQUFVO3NEQUNkLDRFQUFDUTtnREFBRWIsTUFBSzs7a0VBQ1AsOERBQUNjO3dEQUFLRixlQUFZO3dEQUFPUCxXQUFVOzs7Ozs7b0RBQ2xDRyxRQUFRVCxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsyQkFQWFMsUUFBUVYsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0I5QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0V4cGVyaWVuY2VzLmpzeD9hOTg2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXJyb3dQYXRoSWNvbixcbiAgICBDbG91ZEFycm93VXBJY29uLFxuICAgIENvZzZUb290aEljb24sXG4gICAgRmluZ2VyUHJpbnRJY29uLFxuICAgIExvY2tDbG9zZWRJY29uLFxuICAgIFNlcnZlckljb24sXG4gICAgQ3ViZUljb24sXG4gICAgRG9jdW1lbnRNYWduaWZ5aW5nR2xhc3NJY29uLFxuICAgIENwdUNoaXBJY29uLFxuICAgIFNoaWVsZENoZWNrSWNvbixcbiAgICBGaWxtSWNvbixcbiAgICBHbG9iZUFsdEljb24sXG4gICAgUm9ja2V0TGF1bmNoSWNvbixcbiAgfSBmcm9tICdAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkJ1xuICBcbiAgY29uc3QgcHJvZHVjdHMgPSBbXG4gICAge1xuICAgICAgaWQ6IDEsXG4gICAgICBuYW1lOiAnVmVyc2UgTGF1bmNoUGFkJyxcbiAgICAgIGhyZWY6ICcjJyxcbiAgICAgIGltYWdlU3JjOiAnL2ltYWdlcy9oZWFsdGhjYXJlLmpwZycsXG4gICAgICBpbWFnZUFsdDpcbiAgICAgICAgJ0EgZHluYW1pYyBzcGFjZSB3aGVyZSBpbm5vdmF0aXZlIHN0YXJ0dXBzIHRha2UgdGhlIHN0YWdlLCBwaXRjaGluZyB0aGVpciBncm91bmRicmVha2luZyBpZGVhcyB0byBwb3RlbnRpYWwgaW52ZXN0b3JzLicsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMixcbiAgICAgIG5hbWU6ICdWZXJzZSBMb3VuZ2UnLFxuICAgICAgaHJlZjogJyMnLFxuICAgICAgaW1hZ2VTcmM6ICcvaW1hZ2VzL2hlYWx0aGNhcmUuanBnJyxcbiAgICAgIGltYWdlQWx0OlxuICAgICAgICAnQSBzbGVlayBkaWdpdGFsIG1lZGlhIHNwYWNlIGRlc2lnbmVkIGZvciBwcmVzcywgaW5mbHVlbmNlcnMsIGFuZCBjb250ZW50IGNyZWF0b3JzLicsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMyxcbiAgICAgIG5hbWU6ICdWZXJzZUJlYXRzIENsdWInLFxuICAgICAgaHJlZjogJyMnLFxuICAgICAgaW1hZ2VTcmM6ICcvaW1hZ2VzL2hlYWx0aGNhcmUuanBnJyxcbiAgICAgIGltYWdlQWx0OlxuICAgICAgICAnSG9sb2dyYXBoaWMgdGVjaG5vbG9neSBtZWV0cyB0aGUgcHVsc2Ugb2YgQUktZHJpdmVuIGJlYXRzLicsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogNCxcbiAgICAgIG5hbWU6ICdNaW5kc2NhcGUgQWNhZGVteScsXG4gICAgICBocmVmOiAnIycsXG4gICAgICBpbWFnZVNyYzogJy9pbWFnZXMvaGVhbHRoY2FyZS5qcGcnLFxuICAgICAgaW1hZ2VBbHQ6XG4gICAgICAgICd5b3VyIGdhdGV3YXkgdG8gdGhlIGZ1dHVyZSBvZiBsZWFybmluZywgb2ZmZXJpbmcgYSBzZXJpZXMgb2YgZnJlZSBlZHVjYXRpb25hbCBleHBlcmllbmNlcyBhbmQgaW1tZXJzaXZlIHdvcmtzaG9wcyBmb2N1c2VkIG9uIEFJLCBXZWIzLCBhbmQgZXNzZW50aWFsIGZ1dHVyZSBza2lsbHMuJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiA1LFxuICAgICAgbmFtZTogJ0FJIENvbGxvc2V1bScsXG4gICAgICBocmVmOiAnIycsXG4gICAgICBpbWFnZVNyYzogJy9pbWFnZXMvaGVhbHRoY2FyZS5qcGcnLFxuICAgICAgaW1hZ2VBbHQ6XG4gICAgICAgICdBIGdyYW5kIGNvbmZlcmVuY2Ugcm9vbSB3aGVyZSB0aG91Z2h0IGxlYWRlcnMsIGlubm92YXRvcnMsIGFuZCBlbnRodXNpYXN0cyBnYXRoZXIgdG8gZXhwbG9yZSB0aGUgdmFzdCBwb3NzaWJpbGl0aWVzIG9mIGFydGlmaWNpYWwgaW50ZWxsaWdlbmNlLicsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogNixcbiAgICAgIG5hbWU6ICdGcmVlbGFuY2UgT2FzaXMnLFxuICAgICAgaHJlZjogJyMnLFxuICAgICAgaW1hZ2VTcmM6ICcvaW1hZ2VzL2hlYWx0aGNhcmUuanBnJyxcbiAgICAgIGltYWdlQWx0OlxuICAgICAgICAnQSAgYSBkZWRpY2F0ZWQgc3BhY2UgZm9yIGZyZWVsYW5jZXJzIHRvIGNvbm5lY3QsIGNvbGxhYm9yYXRlLCBhbmQgZ3Jvdy4nLFxuICAgIH0sXG5cbiAgICAvLyBNb3JlIHByb2R1Y3RzLi4uXG4gIF1cbiAgXG4gIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEV4cGVyaWVuY2VzKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLXdoaXRlIGxnOnB5LTIwIHB5LTI0XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy03eGwgcHgtNiBsZzpweC04XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTR4bCBzbTp0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMiBmb250LWRpc3BsYXkgdGV4dC00eGwgZm9udC1tZWRpdW0gdHJhY2tpbmctdGlnaHRlciB0ZXh0LWJsdWUtNzAwIHNtOnRleHQtNXhsXCI+VmVyc2UgU3BhY2VzPC9wPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNCBmb250LW5vcm1hbCB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICBWZXJzZUZlc3QgMjAyNCBpcyBwYWNrZWQgd2l0aCBkeW5hbWljIGV4cGVyaWVuY2VzIHRoYXQgY2F0ZXIgdG8gZXZlcnkgaW50ZXJlc3QgXG4gICAgICAgICAgICBhbmQgbGV2ZWwgb2YgZXhwZXJ0aXNlIGluIDYgZGlmZmVyZW50IHZpcnR1YWwgc3BhY2VzIHdpdGhpbiBPdXJXb3JsZCBWZXJzZS5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBsZzptdC0xMiBtYXgtdy03eGwgcHgtNiBtdC04IG1iLTEyIGxnOnB4LThcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC0yIGdyaWQgZ3JpZC1jb2xzLTEgZ2FwLXgtOCBnYXAteS04IGdyaWQtY29scy0yIGdhcC15LTEwIGxnOmdyaWQtY29scy0zXCI+XG4gICAgICAgICAge3Byb2R1Y3RzLm1hcCgocHJvZHVjdCkgPT4gKFxuICAgICAgICAgICAgPGRpdiBrZXk9e3Byb2R1Y3QuaWR9IGNsYXNzTmFtZT1cImdyb3VwIHJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYXNwZWN0LWgtMiBhc3BlY3Qtdy0zIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLWxnIGJnLWdyYXktMTAwXCI+XG4gICAgICAgICAgICAgICAgPGltZyBhbHQ9e3Byb2R1Y3QuaW1hZ2VBbHR9IHNyYz17cHJvZHVjdC5pbWFnZVNyY30gY2xhc3NOYW1lPVwib2JqZWN0LWNvdmVyIG9iamVjdC1jZW50ZXJcIiAvPlxuICAgICAgICAgICAgICAgIDxkaXYgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1lbmQgcC00IG9wYWNpdHktMTAwIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctZnVsbCByb3VuZGVkLW1kIGJnLXdoaXRlIGJnLW9wYWNpdHktNzUgcHgtNCBweS0yIHRleHQtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibHVlLTcwMCBiYWNrZHJvcC1ibHVyIGJhY2tkcm9wLWZpbHRlclwiPlxuICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTBcIiAvPlxuICAgICAgICAgICAgICAgICAgICB7cHJvZHVjdC5uYW1lfVxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuICAiXSwibmFtZXMiOlsiQXJyb3dQYXRoSWNvbiIsIkNsb3VkQXJyb3dVcEljb24iLCJDb2c2VG9vdGhJY29uIiwiRmluZ2VyUHJpbnRJY29uIiwiTG9ja0Nsb3NlZEljb24iLCJTZXJ2ZXJJY29uIiwiQ3ViZUljb24iLCJEb2N1bWVudE1hZ25pZnlpbmdHbGFzc0ljb24iLCJDcHVDaGlwSWNvbiIsIlNoaWVsZENoZWNrSWNvbiIsIkZpbG1JY29uIiwiR2xvYmVBbHRJY29uIiwiUm9ja2V0TGF1bmNoSWNvbiIsInByb2R1Y3RzIiwiaWQiLCJuYW1lIiwiaHJlZiIsImltYWdlU3JjIiwiaW1hZ2VBbHQiLCJFeHBlcmllbmNlcyIsImRpdiIsImNsYXNzTmFtZSIsInAiLCJtYXAiLCJwcm9kdWN0IiwiaW1nIiwiYWx0Iiwic3JjIiwiYXJpYS1oaWRkZW4iLCJhIiwic3BhbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Experiences.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/FAQ.jsx": -/*!********************************!*\ - !*** ./src/components/FAQ.jsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ FAQ)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _barrel_optimize_names_Disclosure_DisclosureButton_DisclosurePanel_headlessui_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! __barrel_optimize__?names=Disclosure,DisclosureButton,DisclosurePanel!=!@headlessui/react */ \"(rsc)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\");\n/* harmony import */ var _barrel_optimize_names_MinusSmallIcon_PlusSmallIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=MinusSmallIcon,PlusSmallIcon!=!@heroicons/react/24/outline */ \"(rsc)/./node_modules/@heroicons/react/24/outline/esm/PlusSmallIcon.js\");\n/* harmony import */ var _barrel_optimize_names_MinusSmallIcon_PlusSmallIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=MinusSmallIcon,PlusSmallIcon!=!@heroicons/react/24/outline */ \"(rsc)/./node_modules/@heroicons/react/24/outline/esm/MinusSmallIcon.js\");\n\n\n\nconst faqs = [\n {\n question: \"What is VerseFest 2024?\",\n answer: \"VerseFest 2024 is a global virtual festival hosted on the OurVerse metaverse platform. It’s designed to bring together innovators, creators, and enthusiasts from around the world for three days of immersive experiences, cutting-edge presentations, and dynamic networking opportunities. From insightful talks by industry leaders to interactive demos and futuristic entertainment, VerseFest 2024 is where the digital world meets real-world possibilities.\"\n },\n {\n question: \"How can I participate in VerseFest 2024?\",\n answer: \"Participation in VerseFest 2024 is easy and free! Simply sign up on our website, and you’ll receive access to the OurVerse platform, where all events will take place. Whether you’re attending as a viewer, a participant in workshops, or even as a startup looking to pitch in our LaunchPad Arena, there’s something for everyone. Don’t miss the chance to be part of this groundbreaking virtual event.\"\n },\n {\n question: \"What can I expect from the event schedule?\",\n answer: \"VerseFest 2024 offers a jam-packed schedule across three days, filled with a variety of events to suit different interests. Expect a mix of inspiring keynote presentations, hands-on workshops, startup showcases in the LaunchPad Arena, interactive demos, and futuristic entertainment in venues like the HoloBeats Club. The event is designed to be flexible, so you can join the sessions that interest you most at your own pace.\"\n },\n {\n question: \"What technology do I need to join VerseFest 2024?\",\n answer: \"All you need is a stable internet connection and a device such as a computer, tablet, or smartphone. OurVerse is compatible with most modern web browsers, and no additional software or hardware is required to participate in most events. However, for an optimal experience in our more immersive environments like the HoloLounge or HoloBeats Club, we recommend using a computer with a good graphics card.\"\n },\n {\n question: \"Can I network with other attendees during VerseFest 2024?\",\n answer: \"Absolutely! VerseFest 2024 is designed to be an interactive experience, allowing you to connect with other attendees through various networking features. Join virtual meetups, participate in live Q&A sessions, or visit the Freelance Oasis to connect with like-minded professionals. There are also plenty of social spaces like the HoloLounge and the AI Colosseum where you can meet others and discuss the latest trends and ideas.\"\n },\n {\n question: \"Will the sessions be recorded and available after the event?\",\n answer: \"Yes, most sessions will be recorded and made available to registered participants after the event. This way, if you miss a session or want to revisit a particular talk or workshop, you can do so at your convenience. Keep an eye on your email and the OurVerse platform for updates on when and where you can access the recordings.\"\n }\n];\nfunction FAQ() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-7xl px-6 lg:px-8 lg:py-4 pt-12 pb-20 mb-20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-4xl divide-y divide-blue-900/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"lg:text-4xl text-3xl font-medium leading-10 tracking-tight text-blue-700\",\n children: \"Frequently Asked Questions\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 43,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dl\", {\n className: \"mt-10 space-y-6 divide-y divide-blue-900/10\",\n children: faqs.map((faq)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Disclosure_DisclosureButton_DisclosurePanel_headlessui_react__WEBPACK_IMPORTED_MODULE_1__.Disclosure, {\n as: \"div\",\n className: \"pt-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"dt\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Disclosure_DisclosureButton_DisclosurePanel_headlessui_react__WEBPACK_IMPORTED_MODULE_1__.DisclosureButton, {\n className: \"group flex w-full items-start justify-between text-left\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg text-blue-700 font-semibold leading-7\",\n children: faq.question\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 49,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-6 flex h-7 items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_MinusSmallIcon_PlusSmallIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6 group-data-[open]:hidden\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 51,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_MinusSmallIcon_PlusSmallIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6 [.group:not([data-open])_&]:hidden\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 52,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 50,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 48,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 47,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Disclosure_DisclosureButton_DisclosurePanel_headlessui_react__WEBPACK_IMPORTED_MODULE_1__.DisclosurePanel, {\n as: \"dd\",\n className: \"mt-2 pr-12\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-base leading-7 text-blue-900\",\n children: faq.answer\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 57,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 56,\n columnNumber: 17\n }, this)\n ]\n }, faq.question, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 46,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 44,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 41,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx\",\n lineNumber: 40,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9GQVEuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBaUY7QUFDTjtBQUUzRSxNQUFNSyxPQUFPO0lBQ1g7UUFDRUMsVUFBVTtRQUNWQyxRQUNFO0lBQ0o7SUFDQTtRQUNFRCxVQUFVO1FBQ1ZDLFFBQ0U7SUFDSjtJQUNBO1FBQ0VELFVBQVU7UUFDVkMsUUFDRTtJQUNKO0lBQ0E7UUFDRUQsVUFBVTtRQUNWQyxRQUNFO0lBQ0o7SUFDQTtRQUNFRCxVQUFVO1FBQ1ZDLFFBQ0U7SUFDSjtJQUNBO1FBQ0VELFVBQVU7UUFDVkMsUUFDRTtJQUNKO0NBRUQ7QUFFYyxTQUFTQztJQUN0QixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTtzQkFDYiw0RUFBQ0Q7Z0JBQUlDLFdBQVU7O2tDQUNiLDhEQUFDQzt3QkFBR0QsV0FBVTtrQ0FBMkU7Ozs7OztrQ0FDekYsOERBQUNFO3dCQUFHRixXQUFVO2tDQUNYTCxLQUFLUSxHQUFHLENBQUMsQ0FBQ0Msb0JBQ1QsOERBQUNkLDJIQUFVQTtnQ0FBb0JlLElBQUc7Z0NBQU1MLFdBQVU7O2tEQUNoRCw4REFBQ007a0RBQ0MsNEVBQUNmLGlJQUFnQkE7NENBQUNTLFdBQVU7OzhEQUMxQiw4REFBQ087b0RBQUtQLFdBQVU7OERBQWlESSxJQUFJUixRQUFROzs7Ozs7OERBQzdFLDhEQUFDVztvREFBS1AsV0FBVTs7c0VBQ2QsOERBQUNOLHNIQUFhQTs0REFBQ2MsZUFBWTs0REFBT1IsV0FBVTs7Ozs7O3NFQUM1Qyw4REFBQ1Asc0hBQWNBOzREQUFDZSxlQUFZOzREQUFPUixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrREFJbkQsOERBQUNSLGdJQUFlQTt3Q0FBQ2EsSUFBRzt3Q0FBS0wsV0FBVTtrREFDakMsNEVBQUNTOzRDQUFFVCxXQUFVO3NEQUFxQ0ksSUFBSVAsTUFBTTs7Ozs7Ozs7Ozs7OytCQVgvQ08sSUFBSVIsUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQjNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2NvbXBvbmVudHMvRkFRLmpzeD8wNDc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpc2Nsb3N1cmUsIERpc2Nsb3N1cmVCdXR0b24sIERpc2Nsb3N1cmVQYW5lbCB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IHsgTWludXNTbWFsbEljb24sIFBsdXNTbWFsbEljb24gfSBmcm9tICdAaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUnXG5cbmNvbnN0IGZhcXMgPSBbXG4gIHtcbiAgICBxdWVzdGlvbjogXCJXaGF0IGlzIFZlcnNlRmVzdCAyMDI0P1wiLFxuICAgIGFuc3dlcjpcbiAgICAgIFwiVmVyc2VGZXN0IDIwMjQgaXMgYSBnbG9iYWwgdmlydHVhbCBmZXN0aXZhbCBob3N0ZWQgb24gdGhlIE91clZlcnNlIG1ldGF2ZXJzZSBwbGF0Zm9ybS4gSXTigJlzIGRlc2lnbmVkIHRvIGJyaW5nIHRvZ2V0aGVyIGlubm92YXRvcnMsIGNyZWF0b3JzLCBhbmQgZW50aHVzaWFzdHMgZnJvbSBhcm91bmQgdGhlIHdvcmxkIGZvciB0aHJlZSBkYXlzIG9mIGltbWVyc2l2ZSBleHBlcmllbmNlcywgY3V0dGluZy1lZGdlIHByZXNlbnRhdGlvbnMsIGFuZCBkeW5hbWljIG5ldHdvcmtpbmcgb3Bwb3J0dW5pdGllcy4gRnJvbSBpbnNpZ2h0ZnVsIHRhbGtzIGJ5IGluZHVzdHJ5IGxlYWRlcnMgdG8gaW50ZXJhY3RpdmUgZGVtb3MgYW5kIGZ1dHVyaXN0aWMgZW50ZXJ0YWlubWVudCwgVmVyc2VGZXN0IDIwMjQgaXMgd2hlcmUgdGhlIGRpZ2l0YWwgd29ybGQgbWVldHMgcmVhbC13b3JsZCBwb3NzaWJpbGl0aWVzLlwiLFxuICB9LFxuICB7XG4gICAgcXVlc3Rpb246IFwiSG93IGNhbiBJIHBhcnRpY2lwYXRlIGluIFZlcnNlRmVzdCAyMDI0P1wiLFxuICAgIGFuc3dlcjpcbiAgICAgIFwiUGFydGljaXBhdGlvbiBpbiBWZXJzZUZlc3QgMjAyNCBpcyBlYXN5IGFuZCBmcmVlISBTaW1wbHkgc2lnbiB1cCBvbiBvdXIgd2Vic2l0ZSwgYW5kIHlvdeKAmWxsIHJlY2VpdmUgYWNjZXNzIHRvIHRoZSBPdXJWZXJzZSBwbGF0Zm9ybSwgd2hlcmUgYWxsIGV2ZW50cyB3aWxsIHRha2UgcGxhY2UuIFdoZXRoZXIgeW914oCZcmUgYXR0ZW5kaW5nIGFzIGEgdmlld2VyLCBhIHBhcnRpY2lwYW50IGluIHdvcmtzaG9wcywgb3IgZXZlbiBhcyBhIHN0YXJ0dXAgbG9va2luZyB0byBwaXRjaCBpbiBvdXIgTGF1bmNoUGFkIEFyZW5hLCB0aGVyZeKAmXMgc29tZXRoaW5nIGZvciBldmVyeW9uZS4gRG9u4oCZdCBtaXNzIHRoZSBjaGFuY2UgdG8gYmUgcGFydCBvZiB0aGlzIGdyb3VuZGJyZWFraW5nIHZpcnR1YWwgZXZlbnQuXCIsXG4gIH0sXG4gIHtcbiAgICBxdWVzdGlvbjogXCJXaGF0IGNhbiBJIGV4cGVjdCBmcm9tIHRoZSBldmVudCBzY2hlZHVsZT9cIixcbiAgICBhbnN3ZXI6XG4gICAgICBcIlZlcnNlRmVzdCAyMDI0IG9mZmVycyBhIGphbS1wYWNrZWQgc2NoZWR1bGUgYWNyb3NzIHRocmVlIGRheXMsIGZpbGxlZCB3aXRoIGEgdmFyaWV0eSBvZiBldmVudHMgdG8gc3VpdCBkaWZmZXJlbnQgaW50ZXJlc3RzLiBFeHBlY3QgYSBtaXggb2YgaW5zcGlyaW5nIGtleW5vdGUgcHJlc2VudGF0aW9ucywgaGFuZHMtb24gd29ya3Nob3BzLCBzdGFydHVwIHNob3djYXNlcyBpbiB0aGUgTGF1bmNoUGFkIEFyZW5hLCBpbnRlcmFjdGl2ZSBkZW1vcywgYW5kIGZ1dHVyaXN0aWMgZW50ZXJ0YWlubWVudCBpbiB2ZW51ZXMgbGlrZSB0aGUgSG9sb0JlYXRzIENsdWIuIFRoZSBldmVudCBpcyBkZXNpZ25lZCB0byBiZSBmbGV4aWJsZSwgc28geW91IGNhbiBqb2luIHRoZSBzZXNzaW9ucyB0aGF0IGludGVyZXN0IHlvdSBtb3N0IGF0IHlvdXIgb3duIHBhY2UuXCIsXG4gIH0sXG4gIHtcbiAgICBxdWVzdGlvbjogXCJXaGF0IHRlY2hub2xvZ3kgZG8gSSBuZWVkIHRvIGpvaW4gVmVyc2VGZXN0IDIwMjQ/XCIsXG4gICAgYW5zd2VyOlxuICAgICAgXCJBbGwgeW91IG5lZWQgaXMgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbiBhbmQgYSBkZXZpY2Ugc3VjaCBhcyBhIGNvbXB1dGVyLCB0YWJsZXQsIG9yIHNtYXJ0cGhvbmUuIE91clZlcnNlIGlzIGNvbXBhdGlibGUgd2l0aCBtb3N0IG1vZGVybiB3ZWIgYnJvd3NlcnMsIGFuZCBubyBhZGRpdGlvbmFsIHNvZnR3YXJlIG9yIGhhcmR3YXJlIGlzIHJlcXVpcmVkIHRvIHBhcnRpY2lwYXRlIGluIG1vc3QgZXZlbnRzLiBIb3dldmVyLCBmb3IgYW4gb3B0aW1hbCBleHBlcmllbmNlIGluIG91ciBtb3JlIGltbWVyc2l2ZSBlbnZpcm9ubWVudHMgbGlrZSB0aGUgSG9sb0xvdW5nZSBvciBIb2xvQmVhdHMgQ2x1Yiwgd2UgcmVjb21tZW5kIHVzaW5nIGEgY29tcHV0ZXIgd2l0aCBhIGdvb2QgZ3JhcGhpY3MgY2FyZC5cIixcbiAgfSxcbiAge1xuICAgIHF1ZXN0aW9uOiBcIkNhbiBJIG5ldHdvcmsgd2l0aCBvdGhlciBhdHRlbmRlZXMgZHVyaW5nIFZlcnNlRmVzdCAyMDI0P1wiLFxuICAgIGFuc3dlcjpcbiAgICAgIFwiQWJzb2x1dGVseSEgVmVyc2VGZXN0IDIwMjQgaXMgZGVzaWduZWQgdG8gYmUgYW4gaW50ZXJhY3RpdmUgZXhwZXJpZW5jZSwgYWxsb3dpbmcgeW91IHRvIGNvbm5lY3Qgd2l0aCBvdGhlciBhdHRlbmRlZXMgdGhyb3VnaCB2YXJpb3VzIG5ldHdvcmtpbmcgZmVhdHVyZXMuIEpvaW4gdmlydHVhbCBtZWV0dXBzLCBwYXJ0aWNpcGF0ZSBpbiBsaXZlIFEmQSBzZXNzaW9ucywgb3IgdmlzaXQgdGhlIEZyZWVsYW5jZSBPYXNpcyB0byBjb25uZWN0IHdpdGggbGlrZS1taW5kZWQgcHJvZmVzc2lvbmFscy4gVGhlcmUgYXJlIGFsc28gcGxlbnR5IG9mIHNvY2lhbCBzcGFjZXMgbGlrZSB0aGUgSG9sb0xvdW5nZSBhbmQgdGhlIEFJIENvbG9zc2V1bSB3aGVyZSB5b3UgY2FuIG1lZXQgb3RoZXJzIGFuZCBkaXNjdXNzIHRoZSBsYXRlc3QgdHJlbmRzIGFuZCBpZGVhcy5cIixcbiAgfSxcbiAge1xuICAgIHF1ZXN0aW9uOiBcIldpbGwgdGhlIHNlc3Npb25zIGJlIHJlY29yZGVkIGFuZCBhdmFpbGFibGUgYWZ0ZXIgdGhlIGV2ZW50P1wiLFxuICAgIGFuc3dlcjpcbiAgICAgIFwiWWVzLCBtb3N0IHNlc3Npb25zIHdpbGwgYmUgcmVjb3JkZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHRvIHJlZ2lzdGVyZWQgcGFydGljaXBhbnRzIGFmdGVyIHRoZSBldmVudC4gVGhpcyB3YXksIGlmIHlvdSBtaXNzIGEgc2Vzc2lvbiBvciB3YW50IHRvIHJldmlzaXQgYSBwYXJ0aWN1bGFyIHRhbGsgb3Igd29ya3Nob3AsIHlvdSBjYW4gZG8gc28gYXQgeW91ciBjb252ZW5pZW5jZS4gS2VlcCBhbiBleWUgb24geW91ciBlbWFpbCBhbmQgdGhlIE91clZlcnNlIHBsYXRmb3JtIGZvciB1cGRhdGVzIG9uIHdoZW4gYW5kIHdoZXJlIHlvdSBjYW4gYWNjZXNzIHRoZSByZWNvcmRpbmdzLlwiLFxuICB9LFxuICAvLyBNb3JlIHF1ZXN0aW9ucy4uLlxuXVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBGQVEoKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiZy13aGl0ZVwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTd4bCBweC02IGxnOnB4LTggbGc6cHktNCBwdC0xMiBwYi0yMCBtYi0yMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctNHhsIGRpdmlkZS15IGRpdmlkZS1ibHVlLTkwMC8xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJsZzp0ZXh0LTR4bCB0ZXh0LTN4bCBmb250LW1lZGl1bSBsZWFkaW5nLTEwIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS03MDBcIj5GcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9uczwvaDI+XG4gICAgICAgICAgPGRsIGNsYXNzTmFtZT1cIm10LTEwIHNwYWNlLXktNiBkaXZpZGUteSBkaXZpZGUtYmx1ZS05MDAvMTBcIj5cbiAgICAgICAgICAgIHtmYXFzLm1hcCgoZmFxKSA9PiAoXG4gICAgICAgICAgICAgIDxEaXNjbG9zdXJlIGtleT17ZmFxLnF1ZXN0aW9ufSBhcz1cImRpdlwiIGNsYXNzTmFtZT1cInB0LTZcIj5cbiAgICAgICAgICAgICAgICA8ZHQ+XG4gICAgICAgICAgICAgICAgICA8RGlzY2xvc3VyZUJ1dHRvbiBjbGFzc05hbWU9XCJncm91cCBmbGV4IHctZnVsbCBpdGVtcy1zdGFydCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbGcgdGV4dC1ibHVlLTcwMCBmb250LXNlbWlib2xkIGxlYWRpbmctN1wiPntmYXEucXVlc3Rpb259PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtbC02IGZsZXggaC03IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzU21hbGxJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzTmFtZT1cImgtNiB3LTYgZ3JvdXAtZGF0YS1bb3Blbl06aGlkZGVuXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8TWludXNTbWFsbEljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3NOYW1lPVwiaC02IHctNiBbLmdyb3VwOm5vdChbZGF0YS1vcGVuXSlfJl06aGlkZGVuXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9EaXNjbG9zdXJlQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgPERpc2Nsb3N1cmVQYW5lbCBhcz1cImRkXCIgY2xhc3NOYW1lPVwibXQtMiBwci0xMlwiPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1iYXNlIGxlYWRpbmctNyB0ZXh0LWJsdWUtOTAwXCI+e2ZhcS5hbnN3ZXJ9PC9wPlxuICAgICAgICAgICAgICAgIDwvRGlzY2xvc3VyZVBhbmVsPlxuICAgICAgICAgICAgICA8L0Rpc2Nsb3N1cmU+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2RsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiRGlzY2xvc3VyZSIsIkRpc2Nsb3N1cmVCdXR0b24iLCJEaXNjbG9zdXJlUGFuZWwiLCJNaW51c1NtYWxsSWNvbiIsIlBsdXNTbWFsbEljb24iLCJmYXFzIiwicXVlc3Rpb24iLCJhbnN3ZXIiLCJGQVEiLCJkaXYiLCJjbGFzc05hbWUiLCJoMiIsImRsIiwibWFwIiwiZmFxIiwiYXMiLCJkdCIsInNwYW4iLCJhcmlhLWhpZGRlbiIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/components/FAQ.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Footer.jsx": -/*!***********************************!*\ - !*** ./src/components/Footer.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Footer: () => (/* binding */ Footer)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Logo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Logo */ \"(rsc)/./src/components/Logo.jsx\");\n\n\n\nfunction Footer() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"flex-none py-16\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_1__.Container, {\n className: \"flex flex-col items-center justify-between md:flex-row\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_2__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Footer.jsx\",\n lineNumber: 8,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 text-base text-slate-500 md:mt-0\",\n children: [\n \"Copyright \\xa9 \",\n new Date().getFullYear(),\n \" OurVerse, LLC. All rights reserved.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Footer.jsx\",\n lineNumber: 9,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Footer.jsx\",\n lineNumber: 7,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Footer.jsx\",\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9Gb290ZXIuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFrRDtBQUNWO0FBRWpDLFNBQVNFO0lBQ2QscUJBQ0UsOERBQUNDO1FBQU9DLFdBQVU7a0JBQ2hCLDRFQUFDSiw0REFBU0E7WUFBQ0ksV0FBVTs7OEJBQ25CLDhEQUFDSCxrREFBSUE7b0JBQUNHLFdBQVU7Ozs7Ozs4QkFDaEIsOERBQUNDO29CQUFFRCxXQUFVOzt3QkFBd0M7d0JBQ2pDLElBQUlFLE9BQU9DLFdBQVc7d0JBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9jb21wb25lbnRzL0Zvb3Rlci5qc3g/MTUzOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuaW1wb3J0IHsgTG9nbyB9IGZyb20gJ0AvY29tcG9uZW50cy9Mb2dvJ1xuXG5leHBvcnQgZnVuY3Rpb24gRm9vdGVyKCkge1xuICByZXR1cm4gKFxuICAgIDxmb290ZXIgY2xhc3NOYW1lPVwiZmxleC1ub25lIHB5LTE2XCI+XG4gICAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtZDpmbGV4LXJvd1wiPlxuICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTYgdGV4dC1iYXNlIHRleHQtc2xhdGUtNTAwIG1kOm10LTBcIj5cbiAgICAgICAgICBDb3B5cmlnaHQgJmNvcHk7IHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCl9IE91clZlcnNlLCBMTEMuIEFsbFxuICAgICAgICAgIHJpZ2h0cyByZXNlcnZlZC5cbiAgICAgICAgPC9wPlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9mb290ZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJMb2dvIiwiRm9vdGVyIiwiZm9vdGVyIiwiY2xhc3NOYW1lIiwicCIsIkRhdGUiLCJnZXRGdWxsWWVhciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Footer.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Header.jsx": -/*!***********************************!*\ - !*** ./src/components/Header.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ e0) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx#Header`); - - -/***/ }), - -/***/ "(rsc)/./src/components/Layout.jsx": -/*!***********************************!*\ - !*** ./src/components/Layout.jsx ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Layout: () => (/* binding */ Layout)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Footer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/Footer */ \"(rsc)/./src/components/Footer.jsx\");\n/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Header */ \"(rsc)/./src/components/Header.jsx\");\n\n\n\nfunction Layout({ children, showFooter = true }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Header__WEBPACK_IMPORTED_MODULE_2__.Header, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Layout.jsx\",\n lineNumber: 7,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-auto\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Layout.jsx\",\n lineNumber: 8,\n columnNumber: 7\n }, this),\n showFooter && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Footer__WEBPACK_IMPORTED_MODULE_1__.Footer, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Layout.jsx\",\n lineNumber: 9,\n columnNumber: 22\n }, this)\n ]\n }, void 0, true);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9MYXlvdXQuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUE0QztBQUNBO0FBRXJDLFNBQVNFLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxhQUFhLElBQUksRUFBRTtJQUNwRCxxQkFDRTs7MEJBQ0UsOERBQUNILHNEQUFNQTs7Ozs7MEJBQ1AsOERBQUNJO2dCQUFLQyxXQUFVOzBCQUFhSDs7Ozs7O1lBQzVCQyw0QkFBYyw4REFBQ0osc0RBQU1BOzs7Ozs7O0FBRzVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2NvbXBvbmVudHMvTGF5b3V0LmpzeD80MWQxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvb3RlciB9IGZyb20gJ0AvY29tcG9uZW50cy9Gb290ZXInXG5pbXBvcnQgeyBIZWFkZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvSGVhZGVyJ1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5b3V0KHsgY2hpbGRyZW4sIHNob3dGb290ZXIgPSB0cnVlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEhlYWRlciAvPlxuICAgICAgPG1haW4gY2xhc3NOYW1lPVwiZmxleC1hdXRvXCI+e2NoaWxkcmVufTwvbWFpbj5cbiAgICAgIHtzaG93Rm9vdGVyICYmIDxGb290ZXIgLz59XG4gICAgPC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJGb290ZXIiLCJIZWFkZXIiLCJMYXlvdXQiLCJjaGlsZHJlbiIsInNob3dGb290ZXIiLCJtYWluIiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Layout.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Logo.jsx": -/*!*********************************!*\ - !*** ./src/components/Logo.jsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: () => (/* binding */ Logo)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction Logo(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: \"130\",\n height: \"43.33\",\n version: \"1\",\n viewBox: \"0 0 90 30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"filter\", {\n id: \"bdef170c39\",\n width: \"100%\",\n height: \"100%\",\n x: \"0%\",\n y: \"0%\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n colorInterpolationFilters: \"sRGB\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"ae85f5a47d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9479493a42\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.07 23.469a2.665 2.665 0 01-2.383-1.504L4.657 9.25a2.62 2.62 0 011.257-3.492A2.621 2.621 0 019.41 7.016l6.027 12.714a2.618 2.618 0 01-2.367 3.739zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"90a54febec\",\n x1: \"117.677\",\n x2: \"-10.526\",\n y1: \"202.569\",\n y2: \"6.809\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 34,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 37,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#1E3A8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 40,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 43,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#203E91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#204092\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 47,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#214295\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 51,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#224498\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 52,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 54,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 55,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 56,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#24479E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 59,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 60,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.299\",\n stopColor: \"#2549A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#254AA1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#254BA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 65,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 66,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#274FAA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 72,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2751AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 78,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 80,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2A56B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 81,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 85,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 86,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2B5AB9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2C5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 88,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 91,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 92,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 93,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 94,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 95,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 96,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 97,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 98,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#2E61C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 99,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 100,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 101,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#2F63C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 102,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 103,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3065CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 105,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 106,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#3167CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 107,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 108,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 109,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 111,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 112,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.701\",\n stopColor: \"#326BD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 114,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 115,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 116,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 117,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#346FD8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 120,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3570DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 123,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 124,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 125,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 127,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 128,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3674E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 130,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 131,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 132,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 133,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 134,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#3878E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 135,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 136,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#387AE8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 138,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 139,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#397CEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 140,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 142,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 143,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 145,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 146,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 147,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 148,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.977\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 149,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.984\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 150,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 24,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"71699c0992\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 154,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 153,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"39c4965344\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.469c-.375 0-.77-.078-1.13-.266-1.312-.617-1.878-2.195-1.257-3.492l6.031-12.715c.617-1.312 2.196-1.879 3.492-1.258 1.317.621 1.88 2.2 1.258 3.492l-6.027 12.715c-.434.977-1.371 1.524-2.367 1.524zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 157,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 156,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"5c493e8459\",\n x1: \"188.996\",\n x2: \"130.793\",\n y1: \"-0.323\",\n y2: \"214.691\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 168,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.008\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 169,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.016\",\n stopColor: \"#1E3B8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 170,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.023\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 171,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.031\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 172,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.039\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 173,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.047\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 174,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.055\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 175,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 176,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.07\",\n stopColor: \"#203F91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 177,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.078\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 178,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.086\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 179,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.102\",\n stopColor: \"#214195\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 181,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#214296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 182,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 183,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#224398\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 186,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 187,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.15\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 188,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 189,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 190,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 191,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 192,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#24489E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 193,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 194,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 195,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#2449A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 196,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 198,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 199,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#254CA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 201,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 202,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 203,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 204,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#274EA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 205,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 206,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2750AA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 207,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 208,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#2851AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 209,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 210,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 212,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 213,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 214,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 215,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 216,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#2955B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 217,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 218,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 219,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 220,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 221,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 222,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 223,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2B59B9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 224,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2B5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 225,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 226,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 227,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 228,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 229,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 230,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 232,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 233,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2E5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 234,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 235,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 236,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2F62C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 238,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 240,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 241,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2F64C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 242,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 243,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 244,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 245,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#3066CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 246,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 247,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 248,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 249,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 251,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 252,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#326AD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 253,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 254,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#336BD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 255,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 256,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 257,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 258,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 259,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#346ED8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 260,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 261,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 262,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 263,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#3571DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 264,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 265,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 266,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 267,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 268,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 269,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 270,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3675E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 272,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 273,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 274,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 275,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 276,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 277,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.85\",\n stopColor: \"#3879E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 278,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 279,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 281,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 282,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#397BEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 284,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#3A7CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 286,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 287,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 288,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 289,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 290,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 291,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 292,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 293,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 294,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 295,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 159,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8d0c53bb2c\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8007d6ee0b\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.074 23.621c-.98 0-1.941-.566-2.394-1.512L4.62 9.336a2.628 2.628 0 011.262-3.508A2.632 2.632 0 019.395 7.09l6.058 12.773a2.639 2.639 0 01-1.265 3.512c-.36.168-.735.246-1.114.246zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 301,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 300,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 303,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"c882ea39a8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 313,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9791d5a09d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 321,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 320,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"e6e7ec391e\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9791d5a09d)\",\n mask: \"url(#c882ea39a8)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 335,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 334,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 323,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"b6080a64a5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 342,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 341,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"2ec3ecbd14\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.621c-.375 0-.774-.078-1.133-.266-1.32-.62-1.887-2.207-1.262-3.507L16.72 7.074c.62-1.324 2.207-1.89 3.508-1.265 1.32.62 1.886 2.207 1.265 3.507L15.434 22.09c-.434.98-1.38 1.531-2.38 1.531zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 345,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 344,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 347,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"d7dda1a063\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 357,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 356,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 355,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"c87c18b6c8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 365,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 364,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"f8c42d9774\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#c87c18b6c8)\",\n mask: \"url(#d7dda1a063)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 379,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 378,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 367,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#ae85f5a47d)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9479493a42)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#90a54febec)\",\n d: \"M4.355 5.473v17.996H16.06V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 388,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 387,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 386,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#71699c0992)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#39c4965344)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#5c493e8459)\",\n d: \"M10.047 5.473v17.996h11.726V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 396,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 395,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 394,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M5.766.172c-1.024 0-1.914-.219-2.672-.656a4.783 4.783 0 01-1.797-1.86c-.43-.789-.64-1.707-.64-2.75 0-1.031.21-1.941.64-2.734a4.837 4.837 0 011.797-1.86c.758-.445 1.648-.671 2.672-.671 1 0 1.882.226 2.656.671.77.45 1.367 1.07 1.797 1.86.426.793.64 1.703.64 2.734 0 1.043-.214 1.961-.64 2.75a4.677 4.677 0 01-1.797 1.86c-.774.437-1.656.656-2.656.656zm0-1.672c.968 0 1.738-.316 2.312-.953.582-.645.875-1.524.875-2.64 0-1.114-.293-1.989-.875-2.626-.574-.644-1.344-.968-2.312-.968-.97 0-1.746.324-2.329.968-.585.637-.874 1.512-.874 2.625 0 1.117.289 1.996.874 2.64.583.638 1.36.954 2.329.954zm0 0\",\n transform: \"translate(24.636 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 402,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.656.172c-.906 0-1.605-.281-2.094-.844C1.07-1.234.829-2.055.829-3.14v-4.078h1.844v3.907c0 .617.125 1.09.375 1.421.258.336.66.5 1.203.5.508 0 .93-.18 1.266-.546.332-.375.5-.891.5-1.547V-7.22H7.89V0H6.234l-.14-1.219a2.45 2.45 0 01-.969 1.016c-.418.25-.906.375-1.469.375zm0 0\",\n transform: \"translate(35.114 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 407,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(42.932 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 412,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.938 0L.217-10.188h2l2.876 8.282 2.89-8.281h1.97L6.218 0zm0 0\",\n transform: \"translate(47.67 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 417,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(56.811 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 422,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(64.484 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 427,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.922.172c-.637 0-1.2-.106-1.688-.313-.48-.207-.867-.492-1.156-.859a2.58 2.58 0 01-.531-1.281h1.875c.062.281.219.523.469.719.257.199.597.296 1.015.296.406 0 .703-.082.89-.25.188-.164.282-.351.282-.562 0-.313-.137-.52-.406-.625a7.994 7.994 0 00-1.14-.344 11.28 11.28 0 01-.954-.234 5.044 5.044 0 01-.875-.375 2.081 2.081 0 01-.64-.578c-.168-.239-.25-.536-.25-.891 0-.633.253-1.172.765-1.61.508-.437 1.223-.656 2.14-.656.852 0 1.536.2 2.048.594.507.399.812.945.906 1.64h-1.75c-.117-.53-.524-.796-1.219-.796-.344 0-.61.07-.797.203-.187.137-.281.309-.281.516 0 .21.14.382.422.515.281.125.648.242 1.11.344.507.117.972.246 1.39.39.426.137.766.344 1.016.626.25.273.375.664.375 1.171.007.45-.11.856-.36 1.22-.242.355-.59.636-1.047.843-.449.195-.984.297-1.61.297zm0 0\",\n transform: \"translate(69.222 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 432,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(75.834 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 437,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8d0c53bb2c)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8007d6ee0b)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#e6e7ec391e)\",\n d: \"M4.355 5.473h11.72v18.144H4.354zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 444,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 443,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 442,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#b6080a64a5)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#2ec3ecbd14)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#f8c42d9774)\",\n d: \"M10.035 5.473h11.738v18.144H10.035zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 452,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 451,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 450,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9Mb2dvLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU8sU0FBU0EsS0FBS0MsS0FBSztJQUN4QixxQkFDRSw4REFBQ0M7UUFDREMsT0FBTTtRQUNOQyxZQUFXO1FBQ1hDLE9BQU07UUFDTkMsUUFBTztRQUNQQyxTQUFRO1FBQ1JDLFNBQVE7OzBCQUVSLDhEQUFDQzs7a0NBQ0MsOERBQUNDO3dCQUFPQyxJQUFHO3dCQUFhTixPQUFNO3dCQUFPQyxRQUFPO3dCQUFPTSxHQUFFO3dCQUFLQyxHQUFFO2tDQUMxRCw0RUFBQ0M7NEJBQ0NDLDJCQUEwQjs0QkFDMUJDLFFBQU87Ozs7Ozs7Ozs7O2tDQUdYLDhEQUFDQzt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDRjt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDQzt3QkFDQ1QsSUFBRzt3QkFDSFUsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsbUJBQWtCO3dCQUNsQkMsZUFBYzs7MENBRWQsOERBQUNDO2dDQUFLQyxRQUFPO2dDQUFJQyxXQUFVOzs7Ozs7MENBQzNCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFNQyxXQUFVOzs7Ozs7MENBQzdCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7Ozs7Ozs7O2tDQUU3Qiw4REFBQ1o7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0M7d0JBQ0NULElBQUc7d0JBQ0hVLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLG1CQUFrQjt3QkFDbEJDLGVBQWM7OzBDQUVkLDhEQUFDQztnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7OzBDQUMzQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFNQyxXQUFVOzs7Ozs7MENBQzdCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtn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Q29CLE1BQUs7d0JBQ0xuQixHQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTVoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9Mb2dvLmpzeD8yMDQxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBMb2dvKHByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHhtbG5zWGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICB3aWR0aD1cIjEzMFwiXG4gICAgaGVpZ2h0PVwiNDMuMzNcIlxuICAgIHZlcnNpb249XCIxXCJcbiAgICB2aWV3Qm94PVwiMCAwIDkwIDMwXCJcbiAgPlxuICAgIDxkZWZzPlxuICAgICAgPGZpbHRlciBpZD1cImJkZWYxNzBjMzlcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeD1cIjAlXCIgeT1cIjAlXCI+XG4gICAgICAgIDxmZUNvbG9yTWF0cml4XG4gICAgICAgICAgY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycz1cInNSR0JcIlxuICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDEgMFwiXG4gICAgICAgID48L2ZlQ29sb3JNYXRyaXg+XG4gICAgICA8L2ZpbHRlcj5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImFlODVmNWE0N2RcIj5cbiAgICAgICAgPHBhdGggZD1cIk00LjM1NSA1LjQ3M0gxNnYxOC4xNDRINC4zNTV6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI5NDc5NDkzYTQyXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDcgMjMuNDY5YTIuNjY1IDIuNjY1IDAgMDEtMi4zODMtMS41MDRMNC42NTcgOS4yNWEyLjYyIDIuNjIgMCAwMTEuMjU3LTMuNDkyQTIuNjIxIDIuNjIxIDAgMDE5LjQxIDcuMDE2bDYuMDI3IDEyLjcxNGEyLjYxOCAyLjYxOCAwIDAxLTIuMzY3IDMuNzM5em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGxpbmVhckdyYWRpZW50XG4gICAgICAgIGlkPVwiOTBhNTRmZWJlY1wiXG4gICAgICAgIHgxPVwiMTE3LjY3N1wiXG4gICAgICAgIHgyPVwiLTEwLjUyNlwiXG4gICAgICAgIHkxPVwiMjAyLjU2OVwiXG4gICAgICAgIHkyPVwiNi44MDlcIlxuICAgICAgICBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0LjM1NSA1LjQ3OSkgc2NhbGUoLjA5MTc0KVwiXG4gICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICA+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjBcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA2M1wiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDk0XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMDlcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjExN1wiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTI1XCIgc3RvcENvbG9yPVwiIzFFM0E4QlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMzNcIiBzdG9wQ29sb3I9XCIjMUYzQjhDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE0MVwiIHN0b3BDb2xvcj1cIiMxRjNDOERcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQ4XCIgc3RvcENvbG9yPVwiIzFGM0M4RVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNTZcIiBzdG9wQ29sb3I9XCIjMUYzRDhGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE2NFwiIHN0b3BDb2xvcj1cIiMyMDNFOTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTcyXCIgc3RvcENvbG9yPVwiIzIwM0U5MVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOFwiIHN0b3BDb2xvcj1cIiMyMDNGOTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTg4XCIgc3RvcENvbG9yPVwiIzIwNDA5MlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOTVcIiBzdG9wQ29sb3I9XCIjMjE0MDkzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIwM1wiIHN0b3BDb2xvcj1cIiMyMTQxOTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjExXCIgc3RvcENvbG9yPVwiIzIxNDI5NVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wQ29sb3I9XCIjMjI0Mjk2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIyN1wiIHN0b3BDb2xvcj1cIiMyMjQzOTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjM0XCIgc3RvcENvbG9yPVwiIzIyNDQ5OFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNDJcIiBzdG9wQ29sb3I9XCIjMjQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1XCIgc3RvcENvbG9yPVwiIzIzNDU5QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNThcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI2NlwiIHN0b3BDb2xvcj1cIiMyMzQ2OUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjczXCIgc3RvcENvbG9yPVwiIzIzNDc5RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yODFcIiBzdG9wQ29sb3I9XCIjMjQ0NzlFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4OVwiIHN0b3BDb2xvcj1cIiMyNDQ4OUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjk3XCIgc3RvcENvbG9yPVwiIzI0NDlBMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTlcIiBzdG9wQ29sb3I9XCIjMjU0OUExXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMwNVwiIHN0b3BDb2xvcj1cIiMyNTRBQTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzEzXCIgc3RvcENvbG9yPVwiIzI1NEFBMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMlwiIHN0b3BDb2xvcj1cIiMyNTRCQTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzI4XCIgc3RvcENvbG9yPVwiIzI1NEJBNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMzZcIiBzdG9wQ29sb3I9XCIjMjY0Q0E1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM0NFwiIHN0b3BDb2xvcj1cIiMyNjREQTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzUyXCIgc3RvcENvbG9yPVwiIzI2NERBN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTlcIiBzdG9wQ29sb3I9XCIjMjY0RUE4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM2N1wiIHN0b3BDb2xvcj1cIiMyNzRGQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzc1XCIgc3RvcENvbG9yPVwiIzI3NEZBQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zODNcIiBzdG9wQ29sb3I9XCIjMjc1MEFCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5MVwiIHN0b3BDb2xvcj1cIiMyNzUxQUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzk4XCIgc3RvcENvbG9yPVwiIzI4NTFBRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MDZcIiBzdG9wQ29sb3I9XCIjMjg1MkFFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQxNFwiIHN0b3BDb2xvcj1cIiMyODUzQUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDIyXCIgc3RvcENvbG9yPVwiIzI5NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40M1wiIHN0b3BDb2xvcj1cIiMyOTU0QjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDM4XCIgc3RvcENvbG9yPVwiIzI5NTRCMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NDVcIiBzdG9wQ29sb3I9XCIjMjk1NUIyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ1M1wiIHN0b3BDb2xvcj1cIiMyQTU2QjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDYxXCIgc3RvcENvbG9yPVwiIzJBNTZCNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjlcIiBzdG9wQ29sb3I9XCIjMkE1N0I1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ3N1wiIHN0b3BDb2xvcj1cIiMyQTU4QjZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDg0XCIgc3RvcENvbG9yPVwiIzJCNThCN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40OTJcIiBzdG9wQ29sb3I9XCIjMkI1OUI4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wQ29sb3I9XCIjMkI1QUI5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUwOFwiIHN0b3BDb2xvcj1cIiMyQzVBQkFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTE2XCIgc3RvcENvbG9yPVwiIzJDNUJCQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MjNcIiBzdG9wQ29sb3I9XCIjMkM1Q0JDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzMVwiIHN0b3BDb2xvcj1cIiMyQzVDQkRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTM5XCIgc3RvcENvbG9yPVwiIzJENURCRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NDdcIiBzdG9wQ29sb3I9XCIjMkQ1RUJGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU1NVwiIHN0b3BDb2xvcj1cIiMyRDVFQzBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTYzXCIgc3RvcENvbG9yPVwiIzJENUZDMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41N1wiIHN0b3BDb2xvcj1cIiMyRTYwQzJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTc4XCIgc3RvcENvbG9yPVwiIzJFNjBDM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41ODZcIiBzdG9wQ29sb3I9XCIjMkU2MUM0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU5NFwiIHN0b3BDb2xvcj1cIiMyRTYxQzVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjAyXCIgc3RvcENvbG9yPVwiIzJGNjJDNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDlcIiBzdG9wQ29sb3I9XCIjMkY2M0M3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYxN1wiIHN0b3BDb2xvcj1cIiMyRjYzQzhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjI1XCIgc3RvcENvbG9yPVwiIzMwNjRDOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MzNcIiBzdG9wQ29sb3I9XCIjMzA2NUNBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0MVwiIHN0b3BDb2xvcj1cIiMzMDY1Q0JcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQ4XCIgc3RvcENvbG9yPVwiIzMwNjZDQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NTZcIiBzdG9wQ29sb3I9XCIjMzE2N0NDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY2NFwiIHN0b3BDb2xvcj1cIiMzMTY3Q0RcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjcyXCIgc3RvcENvbG9yPVwiIzMxNjhDRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OFwiIHN0b3BDb2xvcj1cIiMzMTY5Q0ZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjg4XCIgc3RvcENvbG9yPVwiIzMyNjlEMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OTVcIiBzdG9wQ29sb3I9XCIjMzI2QUQxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcwMVwiIHN0b3BDb2xvcj1cIiMzMjZCRDJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzAzXCIgc3RvcENvbG9yPVwiIzMyNkJEM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MTFcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxOVwiIHN0b3BDb2xvcj1cIiMzMzZDRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzI3XCIgc3RvcENvbG9yPVwiIzMzNkRENVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MzRcIiBzdG9wQ29sb3I9XCIjMzM2REQ2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc0MlwiIHN0b3BDb2xvcj1cIiMzNDZFRDdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzVcIiBzdG9wQ29sb3I9XCIjMzQ2RkQ4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc1OFwiIHN0b3BDb2xvcj1cIiMzNDZGRDlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzY2XCIgc3RvcENvbG9yPVwiIzM0NzBEQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NzNcIiBzdG9wQ29sb3I9XCIjMzU3MERCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc4MVwiIHN0b3BDb2xvcj1cIiMzNTcxRENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzg5XCIgc3RvcENvbG9yPVwiIzM1NzJERFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43OTdcIiBzdG9wQ29sb3I9XCIjMzU3MkRFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgwNVwiIHN0b3BDb2xvcj1cIiMzNjczREZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODEzXCIgc3RvcENvbG9yPVwiIzM2NzRFMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MlwiIHN0b3BDb2xvcj1cIiMzNjc0RTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODI4XCIgc3RvcENvbG9yPVwiIzM3NzVFMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MzZcIiBzdG9wQ29sb3I9XCIjMzc3NkUzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg0NFwiIHN0b3BDb2xvcj1cIiMzNzc2RTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODUyXCIgc3RvcENvbG9yPVwiIzM3NzdFNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTlcIiBzdG9wQ29sb3I9XCIjMzg3OEU2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg2N1wiIHN0b3BDb2xvcj1cIiMzODc4RTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODc1XCIgc3RvcENvbG9yPVwiIzM4NzlFOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44ODNcIiBzdG9wQ29sb3I9XCIjMzg3QUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg5MVwiIHN0b3BDb2xvcj1cIiMzOTdBRTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODk4XCIgc3RvcENvbG9yPVwiIzM5N0JFQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MDZcIiBzdG9wQ29sb3I9XCIjMzk3Q0VCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkxNFwiIHN0b3BDb2xvcj1cIiMzOTdDRUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTIyXCIgc3RvcENvbG9yPVwiIzNBN0RFRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45M1wiIHN0b3BDb2xvcj1cIiMzQTdERUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTM4XCIgc3RvcENvbG9yPVwiIzNBN0VFRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NDVcIiBzdG9wQ29sb3I9XCIjM0I3RkYwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk1M1wiIHN0b3BDb2xvcj1cIiMzQjdGRjFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTYxXCIgc3RvcENvbG9yPVwiIzNCODBGMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjlcIiBzdG9wQ29sb3I9XCIjM0I4MUYzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk3N1wiIHN0b3BDb2xvcj1cIiMzQzgxRjRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTg0XCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3BDb2xvcj1cIiMzQzgyRjVcIj48L3N0b3A+XG4gICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgPGNsaXBQYXRoIGlkPVwiNzE2OTljMDk5MlwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEwIDUuNDczaDExLjc3M3YxOC4xNDRIMTB6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCIzOWM0OTY1MzQ0XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDU1IDIzLjQ2OWMtLjM3NSAwLS43Ny0uMDc4LTEuMTMtLjI2Ni0xLjMxMi0uNjE3LTEuODc4LTIuMTk1LTEuMjU3LTMuNDkybDYuMDMxLTEyLjcxNWMuNjE3LTEuMzEyIDIuMTk2LTEuODc5IDMuNDkyLTEuMjU4IDEuMzE3LjYyMSAxLjg4IDIuMiAxLjI1OCAzLjQ5MmwtNi4wMjcgMTIuNzE1Yy0uNDM0Ljk3Ny0xLjM3MSAxLjUyNC0yLjM2NyAxLjUyNHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgICBpZD1cIjVjNDkzZTg0NTlcIlxuICAgICAgICB4MT1cIjE4OC45OTZcIlxuICAgICAgICB4Mj1cIjEzMC43OTNcIlxuICAgICAgICB5MT1cIi0wLjMyM1wiXG4gICAgICAgIHkyPVwiMjE0LjY5MVwiXG4gICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuMzU1IDUuNDc5KSBzY2FsZSguMDkxNzQpXCJcbiAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDA4XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMTZcIiBzdG9wQ29sb3I9XCIjMUUzQjhCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAyM1wiIHN0b3BDb2xvcj1cIiMxRjNCOENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDMxXCIgc3RvcENvbG9yPVwiIzFGM0M4RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMzlcIiBzdG9wQ29sb3I9XCIjMUYzQzhFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA0N1wiIHN0b3BDb2xvcj1cIiMxRjNEOEZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDU1XCIgc3RvcENvbG9yPVwiIzIwM0U5MFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNjNcIiBzdG9wQ29sb3I9XCIjMjAzRTkwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA3XCIgc3RvcENvbG9yPVwiIzIwM0Y5MVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNzhcIiBzdG9wQ29sb3I9XCIjMjAzRjkyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA4NlwiIHN0b3BDb2xvcj1cIiMyMTQwOTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDk0XCIgc3RvcENvbG9yPVwiIzIxNDE5NFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMDJcIiBzdG9wQ29sb3I9XCIjMjE0MTk1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwOVwiIHN0b3BDb2xvcj1cIiMyMTQyOTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTE3XCIgc3RvcENvbG9yPVwiIzIyNDI5NlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMjVcIiBzdG9wQ29sb3I9XCIjMjI0Mzk3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEzM1wiIHN0b3BDb2xvcj1cIiMyMjQzOThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQxXCIgc3RvcENvbG9yPVwiIzI0OVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDhcIiBzdG9wQ29sb3I9XCIjMjM0NTlBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1XCIgc3RvcENvbG9yPVwiIzIzNDU5QlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNTZcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE2NFwiIHN0b3BDb2xvcj1cIiMyMzQ2OUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTcyXCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOFwiIHN0b3BDb2xvcj1cIiMyMzQ3OURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTg4XCIgc3RvcENvbG9yPVwiIzI0NDg5RVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xOTVcIiBzdG9wQ29sb3I9XCIjMjQ0ODlGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIwM1wiIHN0b3BDb2xvcj1cIiMyNDQ5QTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjExXCIgc3RvcENvbG9yPVwiIzI0NDlBMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wQ29sb3I9XCIjMjU0QUEyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIyN1wiIHN0b3BDb2xvcj1cIiMyNTRBQTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjM0XCIgc3RvcENvbG9yPVwiIzI1NEJBM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNDJcIiBzdG9wQ29sb3I9XCIjMjU0Q0E0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1XCIgc3RvcENvbG9yPVwiIzI2NENBNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNThcIiBzdG9wQ29sb3I9XCIjMjY0REE2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI2NlwiIHN0b3BDb2xvcj1cIiMyNjREQTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjczXCIgc3RvcENvbG9yPVwiIzI2NEVBOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yODFcIiBzdG9wQ29sb3I9XCIjMjc0RUE5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4OVwiIHN0b3BDb2xvcj1cIiMyNzRGQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjk3XCIgc3RvcENvbG9yPVwiIzI3NTBBQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMDVcIiBzdG9wQ29sb3I9XCIjMjc1MEFCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMxM1wiIHN0b3BDb2xvcj1cIiMyODUxQUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzJcIiBzdG9wQ29sb3I9XCIjMjg1MUFEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMyOFwiIHN0b3BDb2xvcj1cIiMyODUyQUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzM2XCIgc3RvcENvbG9yPVwiIzI4NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNDRcIiBzdG9wQ29sb3I9XCIjMjk1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM1MlwiIHN0b3BDb2xvcj1cIiMyOTU0QjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzU5XCIgc3RvcENvbG9yPVwiIzI5NTRCMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNjdcIiBzdG9wQ29sb3I9XCIjMjk1NUIyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM3NVwiIHN0b3BDb2xvcj1cIiMyOTU1QjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzgzXCIgc3RvcENvbG9yPVwiIzJBNTZCNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zOTFcIiBzdG9wQ29sb3I9XCIjMkE1N0I1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5OFwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDA2XCIgc3RvcENvbG9yPVwiIzJBNThCNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MTRcIiBzdG9wQ29sb3I9XCIjMkI1OEI3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQyMlwiIHN0b3BDb2xvcj1cIiMyQjU5QjhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDNcIiBzdG9wQ29sb3I9XCIjMkI1OUI5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQzOFwiIHN0b3BDb2xvcj1cIiMyQjVBQkFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDQ1XCIgc3RvcENvbG9yPVwiIzJDNUJCQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NTNcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ2MVwiIHN0b3BDb2xvcj1cIiMyQzVDQkNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDY5XCIgc3RvcENvbG9yPVwiIzJDNUNCRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NzdcIiBzdG9wQ29sb3I9XCIjMkQ1REJFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ4NFwiIHN0b3BDb2xvcj1cIiMyRDVFQkZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDkyXCIgc3RvcENvbG9yPVwiIzJENUVDMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcENvbG9yPVwiIzJENUZDMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MDhcIiBzdG9wQ29sb3I9XCIjMkU1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUxNlwiIHN0b3BDb2xvcj1cIiMyRTYwQzJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTIzXCIgc3RvcENvbG9yPVwiIzJFNjBDM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MzFcIiBzdG9wQ29sb3I9XCIjMkU2MUM0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzOVwiIHN0b3BDb2xvcj1cIiMyRjYyQzVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTQ3XCIgc3RvcENvbG9yPVwiIzJGNjJDNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NTVcIiBzdG9wQ29sb3I9XCIjMkY2M0M3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU2M1wiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTdcIiBzdG9wQ29sb3I9XCIjMkY2NEM4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU3OFwiIHN0b3BDb2xvcj1cIiMzMDY0QzlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTg2XCIgc3RvcENvbG9yPVwiIzMwNjVDQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41OTRcIiBzdG9wQ29sb3I9XCIjMzA2NkNCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYwMlwiIHN0b3BDb2xvcj1cIiMzMDY2Q0NcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjA5XCIgc3RvcENvbG9yPVwiIzMxNjdDRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MTdcIiBzdG9wQ29sb3I9XCIjMzE2N0NEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYyNVwiIHN0b3BDb2xvcj1cIiMzMTY4Q0VcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjMzXCIgc3RvcENvbG9yPVwiIzMxNjlDRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NDFcIiBzdG9wQ29sb3I9XCIjMzI2OUQwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0OFwiIHN0b3BDb2xvcj1cIiMzMjZBRDFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjU2XCIgc3RvcENvbG9yPVwiIzMyNkFEMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NjRcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY3MlwiIHN0b3BDb2xvcj1cIiMzMzZCRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjhcIiBzdG9wQ29sb3I9XCIjMzM2Q0Q0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY4OFwiIHN0b3BDb2xvcj1cIiMzMzZERDVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjk1XCIgc3RvcENvbG9yPVwiIzMzNkRENlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MDNcIiBzdG9wQ29sb3I9XCIjMzQ2RUQ3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxMVwiIHN0b3BDb2xvcj1cIiMzNDZFRDhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzE5XCIgc3RvcENvbG9yPVwiIzM0NkZEOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MjdcIiBzdG9wQ29sb3I9XCIjMzQ3MERBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjczNFwiIHN0b3BDb2xvcj1cIiMzNDcwREFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzQyXCIgc3RvcENvbG9yPVwiIzM1NzFEQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NVwiIHN0b3BDb2xvcj1cIiMzNTcxRENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzU4XCIgc3RvcENvbG9yPVwiIzM1NzJERFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NjZcIiBzdG9wQ29sb3I9XCIjMzU3MkRFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc3M1wiIHN0b3BDb2xvcj1cIiMzNjczREZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzgxXCIgc3RvcENvbG9yPVwiIzM2NzRFMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODlcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc5N1wiIHN0b3BDb2xvcj1cIiMzNjc1RTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODA1XCIgc3RvcENvbG9yPVwiIzM3NzVFMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MTNcIiBzdG9wQ29sb3I9XCIjMzc3NkUzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyXCIgc3RvcENvbG9yPVwiIzM3NzZFNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MjhcIiBzdG9wQ29sb3I9XCIjMzc3N0U1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgzNlwiIHN0b3BDb2xvcj1cIiMzODc4RTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODQ0XCIgc3RvcENvbG9yPVwiIzM4NzhFNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NVwiIHN0b3BDb2xvcj1cIiMzODc5RTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODUyXCIgc3RvcENvbG9yPVwiIzM4NzlFOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTlcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg2N1wiIHN0b3BDb2xvcj1cIiMzOTdBRTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODc1XCIgc3RvcENvbG9yPVwiIzM5N0JFQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44ODNcIiBzdG9wQ29sb3I9XCIjMzk3QkVCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg5MVwiIHN0b3BDb2xvcj1cIiMzOTdDRUNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODk4XCIgc3RvcENvbG9yPVwiIzNBN0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MDZcIiBzdG9wQ29sb3I9XCIjM0E3REVEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkxNFwiIHN0b3BDb2xvcj1cIiMzQTdERUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTIyXCIgc3RvcENvbG9yPVwiIzNBN0VFRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45M1wiIHN0b3BDb2xvcj1cIiMzQTdGRjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTM4XCIgc3RvcENvbG9yPVwiIzNCN0ZGMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NDVcIiBzdG9wQ29sb3I9XCIjM0I4MEYyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk1M1wiIHN0b3BDb2xvcj1cIiMzQjgwRjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTYxXCIgc3RvcENvbG9yPVwiIzNCODFGM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjlcIiBzdG9wQ29sb3I9XCIjM0M4MUY0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI4ZDBjNTNiYjJjXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNNC4zNTUgNS40NzNIMTZ2MTguMTQ0SDQuMzU1em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiODAwN2Q2ZWUwYlwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjA3NCAyMy42MjFjLS45OCAwLTEuOTQxLS41NjYtMi4zOTQtMS41MTJMNC42MiA5LjMzNmEyLjYyOCAyLjYyOCAwIDAxMS4yNjItMy41MDhBMi42MzIgMi42MzIgMCAwMTkuMzk1IDcuMDlsNi4wNTggMTIuNzczYTIuNjM5IDIuNjM5IDAgMDEtMS4yNjUgMy41MTJjLS4zNi4xNjgtLjczNS4yNDYtMS4xMTQuMjQ2em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGltYWdlXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFsVWxFUVZRNGphMlR3UXFFTUF3RlIxM3QvN04vcXV6ZGk0R2F0Y2tMS0JSOGd0Tk0ya3pBRnppQXZWdVdmNGpQRERSZ3UxWnorVk1CUFFINlhLNm9jUWZZKzFJQlJYcE5CVVVBeTNPMUlxL1hmNU1xR3YzY2J4QldsUjIvejVLYW9qZGxhcXJlc0ZmcThhZDZ2dGtLOExHcVViT3oyNTVXcE9yOXdhSlpLdzF6MU94TWIvT2dWL1RzMmxjQmxsY1BXa1NkNFRDZjQ4d05EMnF2RWx3QUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgPjwvaW1hZ2U+XG4gICAgICA8bWFzayBpZD1cImM4ODJlYTM5YThcIj5cbiAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNiZGVmMTcwYzM5KVwiPlxuICAgICAgICAgIDxpbWFnZVxuICAgICAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJJQUFBQVVDQVlBQUFDQWwyMUtBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBbFVsRVFWUTRqYTJUd1FxRU1Bd0ZSMTN0LzdOL3F1emRpNEdhdGNrTEtCUjhndE5NMmt6QUZ6aUF2VnVXZjRqUEREUmd1MVp6K1ZNQlBRSDZYSzZvY1FmWSsxSUJSWHBOQlVVQXkzTzFJcS9YZjVNcUd2M2NieEJXbFIyL3o1S2FvamRsYXFyZXNGZnE4YWQ2dnRrSzhMR3FVYk96MjU1V3BPcjl3YUpaS3cxejFPeE1iL09nVi9UczJsY0JsbGNQV2tTZDRUQ2Y0OHdORDJxdkVsd0FBQUFBU1VWT1JLNUNZSUk9XCJcbiAgICAgICAgICA+PC9pbWFnZT5cbiAgICAgICAgPC9nPlxuICAgICAgPC9tYXNrPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiOTc5MWQ1YTA5ZFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTAgMEgxOFYyMEgwelwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8cGF0dGVyblxuICAgICAgICBpZD1cImU2ZTdlYzM5MWVcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgcGF0dGVyblRyYW5zZm9ybT1cIm1hdHJpeCguOTY3NzQgMCAwIC0uOTY3NzQgNC4zNTUgMjQuMTE2KVwiXG4gICAgICAgIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDIwXCJcbiAgICAgID5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzk3OTFkNWEwOWQpXCIgbWFzaz1cInVybCgjYzg4MmVhMzlhOClcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIiMzYzgyZjVcIlxuICAgICAgICAgICAgZD1cIk0tMjQuOTYgLTEyLjlIMTA4Ljk1OTk5OTk5OTk5OTk4VjMxLjc0MDAwMDAwMDAwMDAwMkgtMjQuOTZ6XCJcbiAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L3BhdHRlcm4+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJiNjA4MGE2NGE1XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTAgNS40NzNoMTEuNzczdjE4LjE0NEgxMHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjJlYzNlY2JkMTRcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNTUgMjMuNjIxYy0uMzc1IDAtLjc3NC0uMDc4LTEuMTMzLS4yNjYtMS4zMi0uNjItMS44ODctMi4yMDctMS4yNjItMy41MDdMMTYuNzIgNy4wNzRjLjYyLTEuMzI0IDIuMjA3LTEuODkgMy41MDgtMS4yNjUgMS4zMi42MiAxLjg4NiAyLjIwNyAxLjI2NSAzLjUwN0wxNS40MzQgMjIuMDljLS40MzQuOTgtMS4zOCAxLjUzMS0yLjM4IDEuNTMxem0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGltYWdlXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFka2xFUVZRNGpiM1MwUXJBSUFnRlVBZjcvOC9kQnJYYVM0RVRLNitPWFloRTZCVFNSa1NWNXNsdEpiRy9ldnNFa0FjaHFLS0FoSW9YNE5BVkFUaDBSSUN2b2F4QkVOQnJEcmtBRHAwUlFMN29OMmg1eVFveXoyMEVRWDlJZzJDZzF4SEkvTE9SdWQwSXBQVUt0WGlnUkVvc0VLK0hlUUQyQ1VOYXUrQUQwUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICA+PC9pbWFnZT5cbiAgICAgIDxtYXNrIGlkPVwiZDdkZGExYTA2M1wiPlxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2JkZWYxNzBjMzkpXCI+XG4gICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFka2xFUVZRNGpiM1MwUXJBSUFnRlVBZjcvOC9kQnJYYVM0RVRLNitPWFloRTZCVFNSa1NWNXNsdEpiRy9ldnNFa0FjaHFLS0FoSW9YNE5BVkFUaDBSSUN2b2F4QkVOQnJEcmtBRHAwUlFMN29OMmg1eVFveXoyMEVRWDlJZzJDZzF4SEkvTE9SdWQwSXBQVUt0WGlnUkVvc0VLK0hlUUQyQ1VOYXUrQUQwUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICAgICAgPjwvaW1hZ2U+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImM4N2MxOGI2YzhcIj5cbiAgICAgICAgPHBhdGggZD1cIk0wIDBIMThWMjBIMHpcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPHBhdHRlcm5cbiAgICAgICAgaWQ9XCJmOGM0MmQ5Nzc0XCJcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHBhdHRlcm5UcmFuc2Zvcm09XCJtYXRyaXgoLjk2Nzc0IDAgMCAtLjk2Nzc0IDQuMzU1IDI0LjExNilcIlxuICAgICAgICBwYXR0ZXJuVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxOCAyMFwiXG4gICAgICA+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjODdjMThiNmM4KVwiIG1hc2s9XCJ1cmwoI2Q3ZGRhMWEwNjMpXCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGw9XCIjM2M4MmY1XCJcbiAgICAgICAgICAgIGQ9XCJNLTI0Ljk2IC0xMi45SDEwOC45NTk5OTk5OTk5OTk5OFYzMS43NDAwMDAwMDAwMDAwMDJILTI0Ljk2elwiXG4gICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgPC9nPlxuICAgICAgPC9wYXR0ZXJuPlxuICAgIDwvZGVmcz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjYWU4NWY1YTQ3ZClcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCM5NDc5NDkzYTQyKVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoIzkwYTU0ZmViZWMpXCJcbiAgICAgICAgICBkPVwiTTQuMzU1IDUuNDczdjE3Ljk5NkgxNi4wNlY1LjQ3M3ptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzcxNjk5YzA5OTIpXCI+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjMzljNDk2NTM0NClcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwidXJsKCM1YzQ5M2U4NDU5KVwiXG4gICAgICAgICAgZD1cIk0xMC4wNDcgNS40NzN2MTcuOTk2aDExLjcyNlY1LjQ3M3ptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNNS43NjYuMTcyYy0xLjAyNCAwLTEuOTE0LS4yMTktMi42NzItLjY1NmE0Ljc4MyA0Ljc4MyAwIDAxLTEuNzk3LTEuODZjLS40My0uNzg5LS42NC0xLjcwNy0uNjQtMi43NSAwLTEuMDMxLjIxLTEuOTQxLjY0LTIuNzM0YTQuODM3IDQuODM3IDAgMDExLjc5Ny0xLjg2Yy43NTgtLjQ0NSAxLjY0OC0uNjcxIDIuNjcyLS42NzEgMSAwIDEuODgyLjIyNiAyLjY1Ni42NzEuNzcuNDUgMS4zNjcgMS4wNyAxLjc5NyAxLjg2LjQyNi43OTMuNjQgMS43MDMuNjQgMi43MzQgMCAxLjA0My0uMjE0IDEuOTYxLS42NCAyLjc1YTQuNjc3IDQuNjc3IDAgMDEtMS43OTcgMS44NmMtLjc3NC40MzctMS42NTYuNjU2LTIuNjU2LjY1NnptMC0xLjY3MmMuOTY4IDAgMS43MzgtLjMxNiAyLjMxMi0uOTUzLjU4Mi0uNjQ1Ljg3NS0xLjUyNC44NzUtMi42NCAwLTEuMTE0LS4yOTMtMS45ODktLjg3NS0yLjYyNi0uNTc0LS42NDQtMS4zNDQtLjk2OC0yLjMxMi0uOTY4LS45NyAwLTEuNzQ2LjMyNC0yLjMyOS45NjgtLjU4NS42MzctLjg3NCAxLjUxMi0uODc0IDIuNjI1IDAgMS4xMTcuMjg5IDEuOTk2Ljg3NCAyLjY0LjU4My42MzggMS4zNi45NTQgMi4zMjkuOTU0em0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDI0LjYzNiAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNMy42NTYuMTcyYy0uOTA2IDAtMS42MDUtLjI4MS0yLjA5NC0uODQ0QzEuMDctMS4yMzQuODI5LTIuMDU1LjgyOS0zLjE0di00LjA3OGgxLjg0NHYzLjkwN2MwIC42MTcuMTI1IDEuMDkuMzc1IDEuNDIxLjI1OC4zMzYuNjYuNSAxLjIwMy41LjUwOCAwIC45My0uMTggMS4yNjYtLjU0Ni4zMzItLjM3NS41LS44OTEuNS0xLjU0N1YtNy4yMkg3Ljg5VjBINi4yMzRsLS4xNC0xLjIxOWEyLjQ1IDIuNDUgMCAwMS0uOTY5IDEuMDE2Yy0uNDE4LjI1LS45MDYuMzc1LTEuNDY5LjM3NXptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzNS4xMTQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTS45NTMgMHYtNy4yMTlIMi42MWwuMTcyIDEuMzZhMi45MjkgMi45MjkgMCAwMTEuMDYzLTEuMTFjLjQ1Ny0uMjgxLjk4OC0uNDIyIDEuNTk0LS40MjJ2MS45N2gtLjUxNmEzIDMgMCAwMC0xLjA5NC4xODcgMS40MyAxLjQzIDAgMDAtLjc1LjY1NmMtLjE4LjMxMi0uMjY1Ljc0Ni0uMjY1IDEuMjk3VjB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDIuOTMyIDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjkzOCAwTC4yMTctMTAuMTg4aDJsMi44NzYgOC4yODIgMi44OS04LjI4MWgxLjk3TDYuMjE4IDB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDcuNjcgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTQuNDUzLjE3MmMtLjczIDAtMS4zNzUtLjE1Mi0xLjkzNy0uNDUzYTMuNDA0IDMuNDA0IDAgMDEtMS4zMjktMS4zMTNDLjg3NS0yLjE1Ni43Mi0yLjgwNC43Mi0zLjU0N2MwLS43NS4xNTYtMS40MTQuNDY5LTJhMy4zOTcgMy4zOTcgMCAwMTEuMjk2LTEuMzZjLjU2My0uMzIgMS4yMjMtLjQ4NCAxLjk4NS0uNDg0LjcwNyAwIDEuMzMyLjE1NyAxLjg3NS40Ny41MzkuMzEyLjk2Ljc0MSAxLjI2NSAxLjI4LjMxMy41MzIuNDcgMS4xMjUuNDcgMS43ODIgMCAuMTE3LS4wMDkuMjMtLjAxNy4zNDMgMCAuMTE4LS4wMDcuMjM1LS4wMTUuMzZIMi41NjJjLjA0LjU2Mi4yMzkgMS4wMDguNTk0IDEuMzI4LjM1Mi4zMTIuNzgxLjQ2OSAxLjI4MS40NjkuMzc1IDAgLjY5Mi0uMDgyLjk1NC0uMjUuMjU3LS4xNjQuNDUzLS4zODMuNTc4LS42NTdoMS44OUEzLjQ0NyAzLjQ0NyAwIDAxNi4wMTUtLjE0YTMuNzcgMy43NyAwIDAxLTEuNTYyLjMxM3ptLjAxNi02LjA0N2MtLjQ2MSAwLS44NjcuMTMzLTEuMjE5LjM5LS4zNDQuMjUtLjU2My42MzctLjY1NiAxLjE1N2gzLjU5NGMtLjAzMi0uNDY5LS4yMTEtLjg0NC0uNTMyLTEuMTI1LS4zMjQtLjI4MS0uNzE4LS40MjItMS4xODctLjQyMnptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1Ni44MTEgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTS45NTMgMHYtNy4yMTlIMi42MWwuMTcyIDEuMzZhMi45MjkgMi45MjkgMCAwMTEuMDYzLTEuMTFjLjQ1Ny0uMjgxLjk4OC0uNDIyIDEuNTk0LS40MjJ2MS45N2gtLjUxNmEzIDMgMCAwMC0xLjA5NC4xODcgMS40MyAxLjQzIDAgMDAtLjc1LjY1NmMtLjE4LjMxMi0uMjY1Ljc0Ni0uMjY1IDEuMjk3VjB6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjQuNDg0IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjkyMi4xNzJjLS42MzcgMC0xLjItLjEwNi0xLjY4OC0uMzEzLS40OC0uMjA3LS44NjctLjQ5Mi0xLjE1Ni0uODU5YTIuNTggMi41OCAwIDAxLS41MzEtMS4yODFoMS44NzVjLjA2Mi4yODEuMjE5LjUyMy40NjkuNzE5LjI1Ny4xOTkuNTk3LjI5NiAxLjAxNS4yOTYuNDA2IDAgLjcwMy0uMDgyLjg5LS4yNS4xODgtLjE2NC4yODItLjM1MS4yODItLjU2MiAwLS4zMTMtLjEzNy0uNTItLjQwNi0uNjI1YTcuOTk0IDcuOTk0IDAgMDAtMS4xNC0uMzQ0IDExLjI4IDExLjI4IDAgMDEtLjk1NC0uMjM0IDUuMDQ0IDUuMDQ0IDAgMDEtLjg3NS0uMzc1IDIuMDgxIDIuMDgxIDAgMDEtLjY0LS41NzhjLS4xNjgtLjIzOS0uMjUtLjUzNi0uMjUtLjg5MSAwLS42MzMuMjUzLTEuMTcyLjc2NS0xLjYxLjUwOC0uNDM3IDEuMjIzLS42NTYgMi4xNC0uNjU2Ljg1MiAwIDEuNTM2LjIgMi4wNDguNTk0LjUwNy4zOTkuODEyLjk0NS45MDYgMS42NGgtMS43NWMtLjExNy0uNTMtLjUyNC0uNzk2LTEuMjE5LS43OTYtLjM0NCAwLS42MS4wNy0uNzk3LjIwMy0uMTg3LjEzNy0uMjgxLjMwOS0uMjgxLjUxNiAwIC4yMS4xNC4zODIuNDIyLjUxNS4yODEuMTI1LjY0OC4yNDIgMS4xMS4zNDQuNTA3LjExNy45NzIuMjQ2IDEuMzkuMzkuNDI2LjEzNy43NjYuMzQ0IDEuMDE2LjYyNi4yNS4yNzMuMzc1LjY2NC4zNzUgMS4xNzEuMDA3LjQ1LS4xMS44NTYtLjM2IDEuMjItLjI0Mi4zNTUtLjU5LjYzNi0xLjA0Ny44NDMtLjQ0OS4xOTUtLjk4NC4yOTctMS42MS4yOTd6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjkuMjIyIDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk00LjQ1My4xNzJjLS43MyAwLTEuMzc1LS4xNTItMS45MzctLjQ1M2EzLjQwNCAzLjQwNCAwIDAxLTEuMzI5LTEuMzEzQy44NzUtMi4xNTYuNzItMi44MDQuNzItMy41NDdjMC0uNzUuMTU2LTEuNDE0LjQ2OS0yYTMuMzk3IDMuMzk3IDAgMDExLjI5Ni0xLjM2Yy41NjMtLjMyIDEuMjIzLS40ODQgMS45ODUtLjQ4NC43MDcgMCAxLjMzMi4xNTcgMS44NzUuNDcuNTM5LjMxMi45Ni43NDEgMS4yNjUgMS4yOC4zMTMuNTMyLjQ3IDEuMTI1LjQ3IDEuNzgyIDAgLjExNy0uMDA5LjIzLS4wMTcuMzQzIDAgLjExOC0uMDA3LjIzNS0uMDE1LjM2SDIuNTYyYy4wNC41NjIuMjM5IDEuMDA4LjU5NCAxLjMyOC4zNTIuMzEyLjc4MS40NjkgMS4yODEuNDY5LjM3NSAwIC42OTItLjA4Mi45NTQtLjI1LjI1Ny0uMTY0LjQ1My0uMzgzLjU3OC0uNjU3aDEuODlBMy40NDcgMy40NDcgMCAwMTYuMDE1LS4xNGEzLjc3IDMuNzcgMCAwMS0xLjU2Mi4zMTN6bS4wMTYtNi4wNDdjLS40NjEgMC0uODY3LjEzMy0xLjIxOS4zOS0uMzQ0LjI1LS41NjMuNjM3LS42NTYgMS4xNTdoMy41OTRjLS4wMzItLjQ2OS0uMjExLS44NDQtLjUzMi0xLjEyNS0uMzI0LS4yODEtLjcxOC0uNDIyLTEuMTg3LS40MjJ6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzUuODM0IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjOGQwYzUzYmIyYylcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCM4MDA3ZDZlZTBiKVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoI2U2ZTdlYzM5MWUpXCJcbiAgICAgICAgICBkPVwiTTQuMzU1IDUuNDczaDExLjcydjE4LjE0NEg0LjM1NHptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2I2MDgwYTY0YTUpXCI+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjMmVjM2VjYmQxNClcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwidXJsKCNmOGM0MmQ5Nzc0KVwiXG4gICAgICAgICAgZD1cIk0xMC4wMzUgNS40NzNoMTEuNzM4djE4LjE0NEgxMC4wMzV6bTAgMFwiXG4gICAgICAgID48L3BhdGg+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxvZ28iLCJwcm9wcyIsInN2ZyIsInhtbG5zIiwieG1sbnNYbGluayIsIndpZHRoIiwiaGVpZ2h0IiwidmVyc2lvbiIsInZpZXdCb3giLCJkZWZzIiwiZmlsdGVyIiwiaWQiLCJ4IiwieSIsImZlQ29sb3JNYXRyaXgiLCJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwidmFsdWVzIiwiY2xpcFBhdGgiLCJwYXRoIiwiZCIsImxpbmVhckdyYWRpZW50IiwieDEiLCJ4MiIsInkxIiwieTIiLCJncmFkaWVudFRyYW5zZm9ybSIsImdyYWRpZW50VW5pdHMiLCJzdG9wIiwib2Zmc2V0Iiwic3RvcENvbG9yIiwiaW1hZ2UiLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieGxpbmtIcmVmIiwibWFzayIsImciLCJwYXR0ZXJuIiwicGF0dGVyblRyYW5zZm9ybSIsInBhdHRlcm5Vbml0cyIsImZpbGwiLCJ0cmFuc2Zvcm0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Logo.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Newsletter.jsx": -/*!***************************************!*\ - !*** ./src/components/Newsletter.jsx ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Newsletter: () => (/* binding */ Newsletter)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(rsc)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(rsc)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _images_background_newsletter_jpg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/images/background-newsletter.jpg */ \"(rsc)/./src/images/background-newsletter.jpg\");\n\n\n\n\n\nfunction ArrowRightIcon(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 24 24\",\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"m14 7 5 5-5 5M19 12H5\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 10,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 9,\n columnNumber: 5\n }, this);\n}\nfunction Newsletter() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"newsletter\",\n \"aria-label\": \"Newsletter\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 overflow-hidden bg-indigo-50 px-4 py-20 sm:-mx-6 sm:px-6 md:mx-0 md:rounded-5xl md:px-16 xl:px-24 xl:py-36\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: \"absolute left-1/2 top-0 translate-x-[-10%] translate-y-[-45%] lg:translate-x-[-32%]\",\n src: _images_background_newsletter_jpg__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n alt: \"\",\n width: 919,\n height: 1351,\n unoptimized: true\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 27,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mx-auto grid max-w-2xl grid-cols-1 gap-x-32 gap-y-14 xl:max-w-none xl:grid-cols-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-900 sm:text-5xl\",\n children: \"Stay up to date\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 37,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-lg tracking-tight text-blue-900\",\n children: \"Get updates on all of our events and be the first to get notified when tickets go on sale.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 36,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold tracking-tight text-blue-900\",\n children: [\n \"Sign up to our newsletter \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n \"aria-hidden\": \"true\",\n children: \"↓\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 47,\n columnNumber: 43\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 46,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-5 flex rounded-3xl bg-white py-2.5 pr-2.5 shadow-xl shadow-blue-900/5 focus-within:ring-2 focus-within:ring-blue-900\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"email\",\n required: true,\n placeholder: \"Email address\",\n \"aria-label\": \"Email address\",\n className: \"-my-2.5 flex-auto bg-transparent pl-6 pr-2.5 text-base text-slate-900 placeholder:text-slate-400 focus:outline-none\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 50,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n type: \"submit\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only sm:not-sr-only\",\n children: \"Sign up today\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 58,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ArrowRightIcon, {\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 60,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 59,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 57,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 49,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 35,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 26,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 25,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx\",\n lineNumber: 24,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9OZXdzbGV0dGVyLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUE4QjtBQUVjO0FBQ007QUFDYztBQUVoRSxTQUFTSSxlQUFlQyxLQUFLO0lBQzNCLHFCQUNFLDhEQUFDQztRQUFJQyxlQUFZO1FBQU9DLFNBQVE7UUFBYSxHQUFHSCxLQUFLO2tCQUNuRCw0RUFBQ0k7WUFDQ0MsR0FBRTtZQUNGQyxNQUFLO1lBQ0xDLFFBQU87WUFDUEMsYUFBWTtZQUNaQyxlQUFjO1lBQ2RDLGdCQUFlOzs7Ozs7Ozs7OztBQUl2QjtBQUVPLFNBQVNDO0lBQ2QscUJBQ0UsOERBQUNDO1FBQVFDLElBQUc7UUFBYUMsY0FBVztrQkFDbEMsNEVBQUNqQiw0REFBU0E7c0JBQ1IsNEVBQUNrQjtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNyQixrREFBS0E7d0JBQ0pxQixXQUFVO3dCQUNWQyxLQUFLbkIseUVBQWVBO3dCQUNwQm9CLEtBQUk7d0JBQ0pDLE9BQU87d0JBQ1BDLFFBQVE7d0JBQ1JDLFdBQVc7Ozs7OztrQ0FFYiw4REFBQ047d0JBQUlDLFdBQVU7OzBDQUNiLDhEQUFDRDs7a0RBQ0MsOERBQUNPO3dDQUFFTixXQUFVO2tEQUErRTs7Ozs7O2tEQUc1Riw4REFBQ007d0NBQUVOLFdBQVU7a0RBQTRDOzs7Ozs7Ozs7Ozs7MENBSzNELDhEQUFDTzs7a0RBQ0MsOERBQUNDO3dDQUFHUixXQUFVOzs0Q0FBcUQ7MERBQ3ZDLDhEQUFDUztnREFBS3ZCLGVBQVk7MERBQU87Ozs7Ozs7Ozs7OztrREFFckQsOERBQUNhO3dDQUFJQyxXQUFVOzswREFDYiw4REFBQ1U7Z0RBQ0NDLE1BQUs7Z0RBQ0xDLFFBQVE7Z0RBQ1JDLGFBQVk7Z0RBQ1pmLGNBQVc7Z0RBQ1hFLFdBQVU7Ozs7OzswREFFWiw4REFBQ3BCLHNEQUFNQTtnREFBQytCLE1BQUs7O2tFQUNYLDhEQUFDRjt3REFBS1QsV0FBVTtrRUFBeUI7Ozs7OztrRUFDekMsOERBQUNTO3dEQUFLVCxXQUFVO2tFQUNkLDRFQUFDakI7NERBQWVpQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVOUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9OZXdzbGV0dGVyLmpzeD83OTk5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvQnV0dG9uJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCBiYWNrZ3JvdW5kSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYmFja2dyb3VuZC1uZXdzbGV0dGVyLmpwZydcblxuZnVuY3Rpb24gQXJyb3dSaWdodEljb24ocHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB7Li4ucHJvcHN9PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIm0xNCA3IDUgNS01IDVNMTkgMTJINVwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBOZXdzbGV0dGVyKCkge1xuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwibmV3c2xldHRlclwiIGFyaWEtbGFiZWw9XCJOZXdzbGV0dGVyXCI+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIC1teC00IG92ZXJmbG93LWhpZGRlbiBiZy1pbmRpZ28tNTAgcHgtNCBweS0yMCBzbTotbXgtNiBzbTpweC02IG1kOm14LTAgbWQ6cm91bmRlZC01eGwgbWQ6cHgtMTYgeGw6cHgtMjQgeGw6cHktMzZcIj5cbiAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMS8yIHRvcC0wIHRyYW5zbGF0ZS14LVstMTAlXSB0cmFuc2xhdGUteS1bLTQ1JV0gbGc6dHJhbnNsYXRlLXgtWy0zMiVdXCJcbiAgICAgICAgICAgIHNyYz17YmFja2dyb3VuZEltYWdlfVxuICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgIHdpZHRoPXs5MTl9XG4gICAgICAgICAgICBoZWlnaHQ9ezEzNTF9XG4gICAgICAgICAgICB1bm9wdGltaXplZFxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBteC1hdXRvIGdyaWQgbWF4LXctMnhsIGdyaWQtY29scy0xIGdhcC14LTMyIGdhcC15LTE0IHhsOm1heC13LW5vbmUgeGw6Z3JpZC1jb2xzLTJcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS05MDAgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgICBTdGF5IHVwIHRvIGRhdGVcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICAgIEdldCB1cGRhdGVzIG9uIGFsbCBvZiBvdXIgZXZlbnRzIGFuZCBiZSB0aGUgZmlyc3QgdG8gZ2V0XG4gICAgICAgICAgICAgICAgbm90aWZpZWQgd2hlbiB0aWNrZXRzIGdvIG9uIHNhbGUuXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZvcm0+XG4gICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICAgIFNpZ24gdXAgdG8gb3VyIG5ld3NsZXR0ZXIgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JmRhcnI7PC9zcGFuPlxuICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTUgZmxleCByb3VuZGVkLTN4bCBiZy13aGl0ZSBweS0yLjUgcHItMi41IHNoYWRvdy14bCBzaGFkb3ctYmx1ZS05MDAvNSBmb2N1cy13aXRoaW46cmluZy0yIGZvY3VzLXdpdGhpbjpyaW5nLWJsdWUtOTAwXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW1haWwgYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRW1haWwgYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCItbXktMi41IGZsZXgtYXV0byBiZy10cmFuc3BhcmVudCBwbC02IHByLTIuNSB0ZXh0LWJhc2UgdGV4dC1zbGF0ZS05MDAgcGxhY2Vob2xkZXI6dGV4dC1zbGF0ZS00MDAgZm9jdXM6b3V0bGluZS1ub25lXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seSBzbTpub3Qtc3Itb25seVwiPlNpZ24gdXAgdG9kYXk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzbTpoaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPEFycm93UmlnaHRJY29uIGNsYXNzTmFtZT1cImgtNiB3LTZcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJJbWFnZSIsIkJ1dHRvbiIsIkNvbnRhaW5lciIsImJhY2tncm91bmRJbWFnZSIsIkFycm93UmlnaHRJY29uIiwicHJvcHMiLCJzdmciLCJhcmlhLWhpZGRlbiIsInZpZXdCb3giLCJwYXRoIiwiZCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsIk5ld3NsZXR0ZXIiLCJzZWN0aW9uIiwiaWQiLCJhcmlhLWxhYmVsIiwiZGl2IiwiY2xhc3NOYW1lIiwic3JjIiwiYWx0Iiwid2lkdGgiLCJoZWlnaHQiLCJ1bm9wdGltaXplZCIsInAiLCJmb3JtIiwiaDMiLCJzcGFuIiwiaW5wdXQiLCJ0eXBlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Newsletter.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Schedule.jsx": -/*!*************************************!*\ - !*** ./src/components/Schedule.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Schedule: () => (/* binding */ e0) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx#Schedule`); - - -/***/ }), - -/***/ "(rsc)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Speakers: () => (/* binding */ e0) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx#Speakers`); - - -/***/ }), - -/***/ "(rsc)/./src/components/Sponsors.jsx": -/*!*************************************!*\ - !*** ./src/components/Sponsors.jsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Sponsors: () => (/* binding */ Sponsors)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(rsc)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Container */ \"(rsc)/./src/components/Container.jsx\");\n/* harmony import */ var _images_logos_mirage_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/images/logos/mirage.svg */ \"(rsc)/./src/images/logos/mirage.svg\");\n/* harmony import */ var _images_logos_statickit_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/images/logos/statickit.svg */ \"(rsc)/./src/images/logos/statickit.svg\");\n/* harmony import */ var _images_logos_transistor_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/images/logos/transistor.svg */ \"(rsc)/./src/images/logos/transistor.svg\");\n/* harmony import */ var _images_logos_tuple_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/logos/tuple.svg */ \"(rsc)/./src/images/logos/tuple.svg\");\n\n\n\n\n\n\n\nconst sponsors = [\n {\n name: \"Transistor\",\n logo: _images_logos_transistor_svg__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n {\n name: \"Tuple\",\n logo: _images_logos_tuple_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"StaticKit\",\n logo: _images_logos_statickit_svg__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n {\n name: \"Mirage\",\n logo: _images_logos_mirage_svg__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n {\n name: \"Transistor\",\n logo: _images_logos_transistor_svg__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n {\n name: \"Tuple\",\n logo: _images_logos_tuple_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"StaticKit\",\n logo: _images_logos_statickit_svg__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n }\n];\nfunction Sponsors() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"sponsors\",\n \"aria-label\": \"Sponsors\",\n className: \"mb-4 overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_2__.Container, {\n className: \"mt-2 pt-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-slide flex space-x-8 items-center lg:h-40 h-25\",\n children: sponsors.concat(sponsors).map((sponsor, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center lg:h-40 lg:w-40 h-25 w-25\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n src: sponsor.logo,\n alt: sponsor.name,\n layout: \"intrinsic\",\n width: 150,\n height: 150\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 26,\n columnNumber: 15\n }, this)\n }, index, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 25,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9TcG9uc29ycy5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUE4QjtBQUNvQjtBQUNBO0FBQ007QUFDRTtBQUNWO0FBRWhELE1BQU1NLFdBQVc7SUFDZjtRQUFFQyxNQUFNO1FBQWNDLE1BQU1KLG9FQUFjQTtJQUFDO0lBQzNDO1FBQUVHLE1BQU07UUFBU0MsTUFBTUgsK0RBQVNBO0lBQUM7SUFDakM7UUFBRUUsTUFBTTtRQUFhQyxNQUFNTCxtRUFBYUE7SUFBQztJQUN6QztRQUFFSSxNQUFNO1FBQVVDLE1BQU1OLGdFQUFVQTtJQUFDO0lBQ25DO1FBQUVLLE1BQU07UUFBY0MsTUFBTUosb0VBQWNBO0lBQUM7SUFDM0M7UUFBRUcsTUFBTTtRQUFTQyxNQUFNSCwrREFBU0E7SUFBQztJQUNqQztRQUFFRSxNQUFNO1FBQWFDLE1BQU1MLG1FQUFhQTtJQUFDO0NBRTFDO0FBRU0sU0FBU007SUFDZCxxQkFDRSw4REFBQ0M7UUFBUUMsSUFBRztRQUFXQyxjQUFXO1FBQVdDLFdBQVU7a0JBQ3JELDRFQUFDWiw0REFBU0E7WUFBQ1ksV0FBVTtzQkFDbkIsNEVBQUNDO2dCQUFJRCxXQUFVOzBCQUNaUCxTQUFTUyxNQUFNLENBQUNULFVBQVVVLEdBQUcsQ0FBQyxDQUFDQyxTQUFTQyxzQkFDdkMsOERBQUNKO3dCQUFnQkQsV0FBVTtrQ0FDekIsNEVBQUNiLGtEQUFLQTs0QkFDSm1CLEtBQUtGLFFBQVFULElBQUk7NEJBQ2pCWSxLQUFLSCxRQUFRVixJQUFJOzRCQUNqQmMsUUFBTzs0QkFDUEMsT0FBTzs0QkFDUEMsUUFBUTs7Ozs7O3VCQU5GTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9TcG9uc29ycy5qc3g/MzhhMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJ0AvY29tcG9uZW50cy9Db250YWluZXInXG5pbXBvcnQgbG9nb01pcmFnZSBmcm9tICdAL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnJ1xuaW1wb3J0IGxvZ29TdGF0aWNLaXQgZnJvbSAnQC9pbWFnZXMvbG9nb3Mvc3RhdGlja2l0LnN2ZydcbmltcG9ydCBsb2dvVHJhbnNpc3RvciBmcm9tICdAL2ltYWdlcy9sb2dvcy90cmFuc2lzdG9yLnN2ZydcbmltcG9ydCBsb2dvVHVwbGUgZnJvbSAnQC9pbWFnZXMvbG9nb3MvdHVwbGUuc3ZnJ1xuXG5jb25zdCBzcG9uc29ycyA9IFtcbiAgeyBuYW1lOiAnVHJhbnNpc3RvcicsIGxvZ286IGxvZ29UcmFuc2lzdG9yIH0sXG4gIHsgbmFtZTogJ1R1cGxlJywgbG9nbzogbG9nb1R1cGxlIH0sXG4gIHsgbmFtZTogJ1N0YXRpY0tpdCcsIGxvZ286IGxvZ29TdGF0aWNLaXQgfSxcbiAgeyBuYW1lOiAnTWlyYWdlJywgbG9nbzogbG9nb01pcmFnZSB9LFxuICB7IG5hbWU6ICdUcmFuc2lzdG9yJywgbG9nbzogbG9nb1RyYW5zaXN0b3IgfSxcbiAgeyBuYW1lOiAnVHVwbGUnLCBsb2dvOiBsb2dvVHVwbGUgfSxcbiAgeyBuYW1lOiAnU3RhdGljS2l0JywgbG9nbzogbG9nb1N0YXRpY0tpdCB9LFxuICAvLyBBZGQgbW9yZSBzcG9uc29ycyBpZiBuZWVkZWRcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIFNwb25zb3JzKCkge1xuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwic3BvbnNvcnNcIiBhcmlhLWxhYmVsPVwiU3BvbnNvcnNcIiBjbGFzc05hbWU9XCJtYi00IG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJtdC0yIHB0LTJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhbmltYXRlLXNsaWRlIGZsZXggc3BhY2UteC04IGl0ZW1zLWNlbnRlciBsZzpoLTQwIGgtMjVcIj5cbiAgICAgICAgICB7c3BvbnNvcnMuY29uY2F0KHNwb25zb3JzKS5tYXAoKHNwb25zb3IsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGxnOmgtNDAgbGc6dy00MCBoLTI1IHctMjVcIj5cbiAgICAgICAgICAgICAgPEltYWdlIFxuICAgICAgICAgICAgICAgIHNyYz17c3BvbnNvci5sb2dvfSBcbiAgICAgICAgICAgICAgICBhbHQ9e3Nwb25zb3IubmFtZX0gXG4gICAgICAgICAgICAgICAgbGF5b3V0PVwiaW50cmluc2ljXCIgXG4gICAgICAgICAgICAgICAgd2lkdGg9ezE1MH0gXG4gICAgICAgICAgICAgICAgaGVpZ2h0PXsxNTB9IFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuICApXG59XG4iXSwibmFtZXMiOlsiSW1hZ2UiLCJDb250YWluZXIiLCJsb2dvTWlyYWdlIiwibG9nb1N0YXRpY0tpdCIsImxvZ29UcmFuc2lzdG9yIiwibG9nb1R1cGxlIiwic3BvbnNvcnMiLCJuYW1lIiwibG9nbyIsIlNwb25zb3JzIiwic2VjdGlvbiIsImlkIiwiYXJpYS1sYWJlbCIsImNsYXNzTmFtZSIsImRpdiIsImNvbmNhdCIsIm1hcCIsInNwb25zb3IiLCJpbmRleCIsInNyYyIsImFsdCIsImxheW91dCIsIndpZHRoIiwiaGVpZ2h0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Sponsors.jsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/Venue.jsx": -/*!**********************************!*\ - !*** ./src/components/Venue.jsx ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Venue)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction Venue() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-hidden bg-white py-24 lg:py-24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-7xl px-6 lg:px-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto grid max-w-2xl grid-cols-1 gap-x-8 gap-y-16 sm:gap-y-20 lg:mx-0 lg:max-w-none lg:grid-cols-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:pr-8 lg:pt-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:max-w-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-3xl font-medium tracking-tight text-blue-700 lg:text-5xl\",\n children: \"OurWorld Verse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 11,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 text-lg leading-8 text-blue-900\",\n children: \"Hosted within the dynamic environment of OurVerse, 'OurWorld Verse' is more than just a virtual venue— it's a fully immersive experience.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 12,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 text-lg leading-8 text-blue-900\",\n children: \"Designed to showcase the endless possibilities of the metaverse, this digital space allows you to explore, connect, and interact in ways that go far beyond traditional event venues.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 16,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 text-lg leading-8 text-blue-900\",\n children: \"Navigate through stunning virtual landscapes, engage with other participants in real-time, and discover the cutting-edge features of our metaverse platform.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 20,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 10,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 9,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"video\", {\n autoPlay: true,\n loop: true,\n muted: true,\n playsInline: true,\n width: 2432,\n height: 1442,\n className: \"w-[48rem] max-w-none rounded-xl shadow-xl ring-1 ring-gray-400/10 sm:w-[57rem] md:-ml-4 lg:-ml-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"source\", {\n src: \"/videos/ourverse3.mp4\",\n type: \"video/mp4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 35,\n columnNumber: 11\n }, this),\n \"Your browser does not support the video tag.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 26,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 8,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 7,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx\",\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy9WZW51ZS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF3RjtBQUd6RSxTQUFTRztJQUN0QixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTtzQkFDYiw0RUFBQ0Q7Z0JBQUlDLFdBQVU7O2tDQUNiLDhEQUFDRDt3QkFBSUMsV0FBVTtrQ0FDYiw0RUFBQ0Q7NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDQztvQ0FBRUQsV0FBVTs4Q0FBcUU7Ozs7Ozs4Q0FDbEYsOERBQUNDO29DQUFFRCxXQUFVOzhDQUF1Qzs7Ozs7OzhDQUlwRCw4REFBQ0M7b0NBQUVELFdBQVU7OENBQXVDOzs7Ozs7OENBSXBELDhEQUFDQztvQ0FBRUQsV0FBVTs4Q0FBdUM7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQU14RCw4REFBQ0U7d0JBQ0RDLFFBQVE7d0JBQ1JDLElBQUk7d0JBQ0pDLEtBQUs7d0JBQ0xDLFdBQVc7d0JBQ1hDLE9BQU87d0JBQ1BDLFFBQVE7d0JBQ1JSLFdBQVU7OzBDQUVWLDhEQUFDUztnQ0FBT0MsS0FBSTtnQ0FBd0JDLE1BQUs7Ozs7Ozs0QkFBYzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPakUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvY29tcG9uZW50cy9WZW51ZS5qc3g/ZGEzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZEFycm93VXBJY29uLCBMb2NrQ2xvc2VkSWNvbiwgU2VydmVySWNvbiB9IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQnXG5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gVmVudWUoKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJvdmVyZmxvdy1oaWRkZW4gYmctd2hpdGUgcHktMjQgbGc6cHktMjRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy03eGwgcHgtNiBsZzpweC04XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBncmlkIG1heC13LTJ4bCBncmlkLWNvbHMtMSBnYXAteC04IGdhcC15LTE2IHNtOmdhcC15LTIwIGxnOm14LTAgbGc6bWF4LXctbm9uZSBsZzpncmlkLWNvbHMtMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGc6cHItOCBsZzpwdC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxnOm1heC13LWxnXCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTIgdGV4dC0zeGwgZm9udC1tZWRpdW0gdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTcwMCBsZzp0ZXh0LTV4bFwiPk91cldvcmxkIFZlcnNlPC9wPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC02IHRleHQtbGcgbGVhZGluZy04IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAgSG9zdGVkIHdpdGhpbiB0aGUgZHluYW1pYyBlbnZpcm9ubWVudCBvZiBPdXJWZXJzZSwgJ091cldvcmxkIFZlcnNlJyBpcyBtb3JlIHRoYW4ganVzdCBhIHZpcnR1YWwgdmVudWXigJRcbiAgICAgICAgICAgICAgaXQncyBhIGZ1bGx5IGltbWVyc2l2ZSBleHBlcmllbmNlLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTYgdGV4dC1sZyBsZWFkaW5nLTggdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICBEZXNpZ25lZCB0byBzaG93Y2FzZSB0aGUgZW5kbGVzcyBwb3NzaWJpbGl0aWVzIG9mIHRoZSBtZXRhdmVyc2UsIFxuICAgICAgICAgICAgICB0aGlzIGRpZ2l0YWwgc3BhY2UgYWxsb3dzIHlvdSB0byBleHBsb3JlLCBjb25uZWN0LCBhbmQgaW50ZXJhY3QgaW4gd2F5cyB0aGF0IGdvIGZhciBiZXlvbmQgdHJhZGl0aW9uYWwgZXZlbnQgdmVudWVzLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTYgdGV4dC1sZyBsZWFkaW5nLTggdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICBOYXZpZ2F0ZSB0aHJvdWdoIHN0dW5uaW5nIHZpcnR1YWwgbGFuZHNjYXBlcywgZW5nYWdlIHdpdGggb3RoZXIgcGFydGljaXBhbnRzIGluIHJlYWwtdGltZSwgXG4gICAgICAgICAgICAgIGFuZCBkaXNjb3ZlciB0aGUgY3V0dGluZy1lZGdlIGZlYXR1cmVzIG9mIG91ciBtZXRhdmVyc2UgcGxhdGZvcm0uXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx2aWRlb1xuICAgICAgICAgIGF1dG9QbGF5XG4gICAgICAgICAgbG9vcFxuICAgICAgICAgIG11dGVkXG4gICAgICAgICAgcGxheXNJbmxpbmVcbiAgICAgICAgICB3aWR0aD17MjQzMn1cbiAgICAgICAgICBoZWlnaHQ9ezE0NDJ9XG4gICAgICAgICAgY2xhc3NOYW1lPVwidy1bNDhyZW1dIG1heC13LW5vbmUgcm91bmRlZC14bCBzaGFkb3cteGwgcmluZy0xIHJpbmctZ3JheS00MDAvMTAgc206dy1bNTdyZW1dIG1kOi1tbC00IGxnOi1tbC0wXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8c291cmNlIHNyYz1cIi92aWRlb3Mvb3VydmVyc2UzLm1wNFwiIHR5cGU9XCJ2aWRlby9tcDRcIiAvPlxuICAgICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSB2aWRlbyB0YWcuXG4gICAgICAgICA8L3ZpZGVvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiQ2xvdWRBcnJvd1VwSWNvbiIsIkxvY2tDbG9zZWRJY29uIiwiU2VydmVySWNvbiIsIlZlbnVlIiwiZGl2IiwiY2xhc3NOYW1lIiwicCIsInZpZGVvIiwiYXV0b1BsYXkiLCJsb29wIiwibXV0ZWQiLCJwbGF5c0lubGluZSIsIndpZHRoIiwiaGVpZ2h0Iiwic291cmNlIiwic3JjIiwidHlwZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/Venue.jsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/adnan_fatayerji.jpg": -/*!************************************************!*\ - !*** ./src/images/avatars/adnan_fatayerji.jpg ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/adnan_fatayerji.2fcd49a9.jpg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fadnan_fatayerji.2fcd49a9.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyxrTkFBa04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZz8xNjQzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9hZG5hbl9mYXRheWVyamkuMmZjZDQ5YTkuanBnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZhZG5hbl9mYXRheWVyamkuMmZjZDQ5YTkuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjh9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/adnan_fatayerji.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/andrew-greene.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/andrew-greene.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/andrew-greene.b3513453.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fandrew-greene.b3513453.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2FuZHJldy1ncmVlbmUuanBnPzMzMmQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2FuZHJldy1ncmVlbmUuYjM1MTM0NTMuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYW5kcmV3LWdyZWVuZS5iMzUxMzQ1My5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/andrew-greene.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/cathlene-burrage.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/cathlene-burrage.jpg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/cathlene-burrage.1651afc0.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fcathlene-burrage.1651afc0.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvY2F0aGxlbmUtYnVycmFnZS5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscU5BQXFOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2NhdGhsZW5lLWJ1cnJhZ2UuanBnP2VkOTkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2NhdGhsZW5lLWJ1cnJhZ2UuMTY1MWFmYzAuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGY2F0aGxlbmUtYnVycmFnZS4xNjUxYWZjMC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/cathlene-burrage.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/damaris-kimura.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/damaris-kimura.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/damaris-kimura.5df6b6b2.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fdamaris-kimura.5df6b6b2.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZGFtYXJpcy1raW11cmEuanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGc/YTgyYyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZGFtYXJpcy1raW11cmEuNWRmNmI2YjIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZGFtYXJpcy1raW11cmEuNWRmNmI2YjIuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/damaris-kimura.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/dianne-guilianelli.jpg": -/*!***************************************************!*\ - !*** ./src/images/avatars/dianne-guilianelli.jpg ***! - \***************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/dianne-guilianelli.b4c5891f.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fdianne-guilianelli.b4c5891f.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZGlhbm5lLWd1aWxpYW5lbGxpLmpwZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyx5TkFBeU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZGlhbm5lLWd1aWxpYW5lbGxpLmpwZz9lYTBiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9kaWFubmUtZ3VpbGlhbmVsbGkuYjRjNTg5MWYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZGlhbm5lLWd1aWxpYW5lbGxpLmI0YzU4OTFmLmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/dianne-guilianelli.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/erhart-cockrin.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/erhart-cockrin.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/erhart-cockrin.3697fef6.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Ferhart-cockrin.3697fef6.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9lcmhhcnQtY29ja3Jpbi5qcGc/ZDE2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZXJoYXJ0LWNvY2tyaW4uMzY5N2ZlZjYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZXJoYXJ0LWNvY2tyaW4uMzY5N2ZlZjYuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/erhart-cockrin.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/florian_fournier.jpeg": -/*!**************************************************!*\ - !*** ./src/images/avatars/florian_fournier.jpeg ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/florian_fournier.a44a2086.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fflorian_fournier.a44a2086.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZmxvcmlhbl9mb3Vybmllci5qcGVnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLHNOQUFzTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9mbG9yaWFuX2ZvdXJuaWVyLmpwZWc/MzJkNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZmxvcmlhbl9mb3Vybmllci5hNDRhMjA4Ni5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZmbG9yaWFuX2ZvdXJuaWVyLmE0NGEyMDg2LmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/florian_fournier.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/giordano-sagucio.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/giordano-sagucio.jpg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/giordano-sagucio.2d66325a.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fgiordano-sagucio.2d66325a.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscU5BQXFOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2dpb3JkYW5vLXNhZ3VjaW8uanBnP2FiZjMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2dpb3JkYW5vLXNhZ3VjaW8uMmQ2NjMyNWEuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZ2lvcmRhbm8tc2FndWNpby4yZDY2MzI1YS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/giordano-sagucio.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/gordon-sanderson.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/gordon-sanderson.jpg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/gordon-sanderson.88b5e762.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fgordon-sanderson.88b5e762.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZ29yZG9uLXNhbmRlcnNvbi5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscU5BQXFOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2dvcmRvbi1zYW5kZXJzb24uanBnP2Y3MjgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2dvcmRvbi1zYW5kZXJzb24uODhiNWU3NjIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZ29yZG9uLXNhbmRlcnNvbi44OGI1ZTc2Mi5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/gordon-sanderson.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/heather-terry.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/heather-terry.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/heather-terry.3aaa9642.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fheather-terry.3aaa9642.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvaGVhdGhlci10ZXJyeS5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnP2FkMjkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2hlYXRoZXItdGVycnkuM2FhYTk2NDIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGaGVhdGhlci10ZXJyeS4zYWFhOTY0Mi5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/heather-terry.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/ibrahim-frasch.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/ibrahim-frasch.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/ibrahim-frasch.56350f5a.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fibrahim-frasch.56350f5a.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvaWJyYWhpbS1mcmFzY2guanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9pYnJhaGltLWZyYXNjaC5qcGc/MjJiMSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvaWJyYWhpbS1mcmFzY2guNTYzNTBmNWEuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGaWJyYWhpbS1mcmFzY2guNTYzNTBmNWEuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/ibrahim-frasch.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/jaquelin-isch.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/jaquelin-isch.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/jaquelin-isch.880e5248.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fjaquelin-isch.880e5248.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvamFxdWVsaW4taXNjaC5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnP2RhNDIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2phcXVlbGluLWlzY2guODgwZTUyNDguanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGamFxdWVsaW4taXNjaC44ODBlNTI0OC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/jaquelin-isch.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/kimberly-parsons.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/kimberly-parsons.jpg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/kimberly-parsons.0e123ad0.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fkimberly-parsons.0e123ad0.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscU5BQXFOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2tpbWJlcmx5LXBhcnNvbnMuanBnP2EwMzQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2tpbWJlcmx5LXBhcnNvbnMuMGUxMjNhZDAuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGa2ltYmVybHktcGFyc29ucy4wZTEyM2FkMC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/kimberly-parsons.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/kristof_de_spiegeleer.jpeg": -/*!*******************************************************!*\ - !*** ./src/images/avatars/kristof_de_spiegeleer.jpeg ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/kristof_de_spiegeleer.f8a3f975.jpeg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fkristof_de_spiegeleer.f8a3f975.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMva3Jpc3RvZl9kZV9zcGllZ2VsZWVyLmpwZWciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsZ09BQWdPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2tyaXN0b2ZfZGVfc3BpZWdlbGVlci5qcGVnP2E5YTAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2tyaXN0b2ZfZGVfc3BpZWdlbGVlci5mOGEzZjk3NS5qcGVnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZrcmlzdG9mX2RlX3NwaWVnZWxlZXIuZjhhM2Y5NzUuanBlZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/kristof_de_spiegeleer.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/matthew_schutte.jpeg": -/*!*************************************************!*\ - !*** ./src/images/avatars/matthew_schutte.jpeg ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/matthew_schutte.b0043b24.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmatthew_schutte.b0043b24.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsb05BQW9OIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL21hdHRoZXdfc2NodXR0ZS5qcGVnP2ZhNjciXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21hdHRoZXdfc2NodXR0ZS5iMDA0M2IyNC5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZtYXR0aGV3X3NjaHV0dGUuYjAwNDNiMjQuanBlZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/matthew_schutte.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/omrei_abumadi.jpeg": -/*!***********************************************!*\ - !*** ./src/images/avatars/omrei_abumadi.jpeg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/omrei_abumadi.c2ce865b.jpeg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fomrei_abumadi.c2ce865b.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvb21yZWlfYWJ1bWFkaS5qcGVnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGdOQUFnTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWc/ZDMxNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvb21yZWlfYWJ1bWFkaS5jMmNlODY1Yi5qcGVnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZvbXJlaV9hYnVtYWRpLmMyY2U4NjViLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/omrei_abumadi.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/parker-johnson.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/parker-johnson.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/parker-johnson.3f6d7276.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fparker-johnson.3f6d7276.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9wYXJrZXItam9obnNvbi5qcGc/NjhmOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcGFya2VyLWpvaG5zb24uM2Y2ZDcyNzYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcGFya2VyLWpvaG5zb24uM2Y2ZDcyNzYuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/parker-johnson.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/piers-wilkins.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/piers-wilkins.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/piers-wilkins.c197a055.jpg\",\"height\":616,\"width\":1232,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fpiers-wilkins.c197a055.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL3BpZXJzLXdpbGtpbnMuanBnPzY3YWIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3BpZXJzLXdpbGtpbnMuYzE5N2EwNTUuanBnXCIsXCJoZWlnaHRcIjo2MTYsXCJ3aWR0aFwiOjEyMzIsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcGllcnMtd2lsa2lucy5jMTk3YTA1NS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/piers-wilkins.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/richard-astley.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/richard-astley.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/richard-astley.599fe903.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Frichard-astley.599fe903.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcmljaGFyZC1hc3RsZXkuanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaWNoYXJkLWFzdGxleS5qcGc/YTkzMyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcmljaGFyZC1hc3RsZXkuNTk5ZmU5MDMuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcmljaGFyZC1hc3RsZXkuNTk5ZmU5MDMuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/richard-astley.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/rinaldo-beynon.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/rinaldo-beynon.jpg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/rinaldo-beynon.c48f36b7.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Frinaldo-beynon.c48f36b7.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcmluYWxkby1iZXlub24uanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGlOQUFpTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGc/NjAyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcmluYWxkby1iZXlub24uYzQ4ZjM2YjcuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcmluYWxkby1iZXlub24uYzQ4ZjM2YjcuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/rinaldo-beynon.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/ronni-cantadore.jpg": -/*!************************************************!*\ - !*** ./src/images/avatars/ronni-cantadore.jpg ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/ronni-cantadore.0d04b7fe.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fronni-cantadore.0d04b7fe.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcm9ubmktY2FudGFkb3JlLmpwZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyxtTkFBbU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcm9ubmktY2FudGFkb3JlLmpwZz85YjBjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9yb25uaS1jYW50YWRvcmUuMGQwNGI3ZmUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcm9ubmktY2FudGFkb3JlLjBkMDRiN2ZlLmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/ronni-cantadore.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/sasha_astiadi.jpeg": -/*!***********************************************!*\ - !*** ./src/images/avatars/sasha_astiadi.jpeg ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/sasha_astiadi.ecd50daf.jpeg\",\"height\":598,\"width\":598,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsasha_astiadi.ecd50daf.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvc2FzaGFfYXN0aWFkaS5qcGVnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLGdOQUFnTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWc/ZmJmOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvc2FzaGFfYXN0aWFkaS5lY2Q1MGRhZi5qcGVnXCIsXCJoZWlnaHRcIjo1OTgsXCJ3aWR0aFwiOjU5OCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZzYXNoYV9hc3RpYWRpLmVjZDUwZGFmLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/sasha_astiadi.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/steven-mchail.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/steven-mchail.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/steven-mchail.4e94472e.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsteven-mchail.4e94472e.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvc3RldmVuLW1jaGFpbC5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsK01BQStNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9hdmF0YXJzL3N0ZXZlbi1tY2hhaWwuanBnP2I2NWQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0ZXZlbi1tY2hhaWwuNGU5NDQ3MmUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGc3RldmVuLW1jaGFpbC40ZTk0NDcyZS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/steven-mchail.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/victor_muhagachi.jpeg": -/*!**************************************************!*\ - !*** ./src/images/avatars/victor_muhagachi.jpeg ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/victor_muhagachi.46938b4a.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fvictor_muhagachi.46938b4a.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvdmljdG9yX211aGFnYWNoaS5qcGVnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLHNOQUFzTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWc/M2IwNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdmljdG9yX211aGFnYWNoaS40NjkzOGI0YS5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZ2aWN0b3JfbXVoYWdhY2hpLjQ2OTM4YjRhLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/victor_muhagachi.jpeg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/avatars/waylon-hyden.jpg": -/*!*********************************************!*\ - !*** ./src/images/avatars/waylon-hyden.jpg ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/waylon-hyden.4c037cf5.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwaylon-hyden.4c037cf5.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyw2TUFBNk0iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZz9mN2EzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS93YXlsb24taHlkZW4uNGMwMzdjZjUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGd2F5bG9uLWh5ZGVuLjRjMDM3Y2Y1LmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/avatars/waylon-hyden.jpg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/background-newsletter.jpg": -/*!**********************************************!*\ - !*** ./src/images/background-newsletter.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/background-newsletter.488a0204.jpg\",\"height\":2702,\"width\":1838,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-newsletter.488a0204.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQtbmV3c2xldHRlci5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsZ09BQWdPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnPzQ5MmYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2JhY2tncm91bmQtbmV3c2xldHRlci40ODhhMDIwNC5qcGdcIixcImhlaWdodFwiOjI3MDIsXCJ3aWR0aFwiOjE4MzgsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC1uZXdzbGV0dGVyLjQ4OGEwMjA0LmpwZyZ3PTUmcT03MFwiLFwiYmx1cldpZHRoXCI6NSxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/images/background-newsletter.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/background-newsletter.jpg": -/*!**********************************************!*\ - !*** ./src/images/background-newsletter.jpg ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/background-newsletter.488a0204.jpg\",\"height\":2702,\"width\":1838,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-newsletter.488a0204.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQtbmV3c2xldHRlci5qcGciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsZ09BQWdPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnPzQxN2MiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2JhY2tncm91bmQtbmV3c2xldHRlci40ODhhMDIwNC5qcGdcIixcImhlaWdodFwiOjI3MDIsXCJ3aWR0aFwiOjE4MzgsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC1uZXdzbGV0dGVyLjQ4OGEwMjA0LmpwZyZ3PTUmcT03MFwiLFwiYmx1cldpZHRoXCI6NSxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/images/background-newsletter.jpg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/background.jpg": -/*!***********************************!*\ - !*** ./src/images/background.jpg ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/background.6c3571e0.jpg\",\"height\":2990,\"width\":1836,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.6c3571e0.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQuanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLDBNQUEwTSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGc/NTdjMiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYmFja2dyb3VuZC42YzM1NzFlMC5qcGdcIixcImhlaWdodFwiOjI5OTAsXCJ3aWR0aFwiOjE4MzYsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC42YzM1NzFlMC5qcGcmdz01JnE9NzBcIixcImJsdXJXaWR0aFwiOjUsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/images/background.jpg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/background.jpg": -/*!***********************************!*\ - !*** ./src/images/background.jpg ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/background.6c3571e0.jpg\",\"height\":2990,\"width\":1836,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.6c3571e0.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQuanBnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLDBNQUEwTSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGc/OGMzOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYmFja2dyb3VuZC42YzM1NzFlMC5qcGdcIixcImhlaWdodFwiOjI5OTAsXCJ3aWR0aFwiOjE4MzYsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC42YzM1NzFlMC5qcGcmdz01JnE9NzBcIixcImJsdXJXaWR0aFwiOjUsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/images/background.jpg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/logos/mirage.svg": -/*!*************************************!*\ - !*** ./src/images/logos/mirage.svg ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/mirage.b4872b78.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2xvZ29zL21pcmFnZS5zdmciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscUdBQXFHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnP2IzYjEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21pcmFnZS5iNDg3MmI3OC5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/images/logos/mirage.svg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/logos/mirage.svg": -/*!*************************************!*\ - !*** ./src/images/logos/mirage.svg ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/mirage.b4872b78.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2xvZ29zL21pcmFnZS5zdmciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMscUdBQXFHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnP2I5NDAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21pcmFnZS5iNDg3MmI3OC5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/logos/mirage.svg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/logos/statickit.svg": -/*!****************************************!*\ - !*** ./src/images/logos/statickit.svg ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/statickit.f39ab0e3.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2xvZ29zL3N0YXRpY2tpdC5zdmciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsd0dBQXdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9sb2dvcy9zdGF0aWNraXQuc3ZnPzU1OWQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0YXRpY2tpdC5mMzlhYjBlMy5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/images/logos/statickit.svg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/logos/statickit.svg": -/*!****************************************!*\ - !*** ./src/images/logos/statickit.svg ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/statickit.f39ab0e3.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2xvZ29zL3N0YXRpY2tpdC5zdmciLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLENBQUMsd0dBQXdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vc3JjL2ltYWdlcy9sb2dvcy9zdGF0aWNraXQuc3ZnPzA2NjIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0YXRpY2tpdC5mMzlhYjBlMy5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/logos/statickit.svg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/logos/transistor.svg": -/*!*****************************************!*\ - !*** ./src/images/logos/transistor.svg ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/transistor.20c106ae.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2xvZ29zL3RyYW5zaXN0b3Iuc3ZnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLHlHQUF5RyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmc/MzYzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdHJhbnNpc3Rvci4yMGMxMDZhZS5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/images/logos/transistor.svg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/logos/transistor.svg": -/*!*****************************************!*\ - !*** ./src/images/logos/transistor.svg ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/transistor.20c106ae.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2xvZ29zL3RyYW5zaXN0b3Iuc3ZnIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxDQUFDLHlHQUF5RyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmc/ZmJlZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdHJhbnNpc3Rvci4yMGMxMDZhZS5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/logos/transistor.svg\n"); - -/***/ }), - -/***/ "(rsc)/./src/images/logos/tuple.svg": -/*!************************************!*\ - !*** ./src/images/logos/tuple.svg ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/tuple.7c6d6466.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2ZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyxvR0FBb0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Zz8wZWMzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS90dXBsZS43YzZkNjQ2Ni5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/images/logos/tuple.svg\n"); - -/***/ }), - -/***/ "(ssr)/./src/images/logos/tuple.svg": -/*!************************************!*\ - !*** ./src/images/logos/tuple.svg ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\"src\":\"/_next/static/media/tuple.7c6d6466.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2ZyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsQ0FBQyxvR0FBb0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Zz9mNzA3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS90dXBsZS43YzZkNjQ2Ni5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/images/logos/tuple.svg\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__": -/*!**************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__ ***! - \**************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/lib/metadata/get-metadata-route */ \"(rsc)/./node_modules/next/dist/lib/metadata/get-metadata-route.js\");\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__);\n \n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((props) => {\n const imageData = {\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}\n const imageUrl = (0,next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__.fillMetadataSegment)(\".\", props.params, \"favicon.ico\")\n\n return [{\n ...imageData,\n url: imageUrl + \"\",\n }]\n });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlci5qcz90eXBlPWZhdmljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMhLi9zcmMvYXBwL2Zhdmljb24uaWNvP19fbmV4dF9tZXRhZGF0YV9fIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLEVBQWlGOztBQUVqRixFQUFFLGlFQUFlO0FBQ2pCLHVCQUF1QjtBQUN2QixxQkFBcUIsOEZBQW1COztBQUV4QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9zcmMvYXBwL2Zhdmljb24uaWNvP2JmY2EiXSwic291cmNlc0NvbnRlbnQiOlsiICBpbXBvcnQgeyBmaWxsTWV0YWRhdGFTZWdtZW50IH0gZnJvbSAnbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9nZXQtbWV0YWRhdGEtcm91dGUnXG5cbiAgZXhwb3J0IGRlZmF1bHQgKHByb3BzKSA9PiB7XG4gICAgY29uc3QgaW1hZ2VEYXRhID0ge1widHlwZVwiOlwiaW1hZ2UveC1pY29uXCIsXCJzaXplc1wiOlwiMTZ4MTZcIn1cbiAgICBjb25zdCBpbWFnZVVybCA9IGZpbGxNZXRhZGF0YVNlZ21lbnQoXCIuXCIsIHByb3BzLnBhcmFtcywgXCJmYXZpY29uLmljb1wiKVxuXG4gICAgcmV0dXJuIFt7XG4gICAgICAuLi5pbWFnZURhdGEsXG4gICAgICB1cmw6IGltYWdlVXJsICsgXCJcIixcbiAgICB9XVxuICB9Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/favicon.ico?__next_metadata__\n"); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc","vendor-chunks/@react-aria","vendor-chunks/@headlessui","vendor-chunks/@heroicons","vendor-chunks/clsx"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/events/versefest/page_client-reference-manifest.js b/.next/server/app/events/versefest/page_client-reference-manifest.js deleted file mode 100644 index d828053..0000000 --- a/.next/server/app/events/versefest/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/events/versefest/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/image-component.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/image-component.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/Product.jsx":{"*":{"id":"(ssr)/./src/components/Product.jsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/Speakers.jsx":{"*":{"id":"(ssr)/./src/components/Speakers.jsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/background-newsletter.jpg":{"*":{"id":"(ssr)/./src/images/background-newsletter.jpg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/background.jpg":{"*":{"id":"(ssr)/./src/images/background.jpg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/logos/mirage.svg":{"*":{"id":"(ssr)/./src/images/logos/mirage.svg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/logos/statickit.svg":{"*":{"id":"(ssr)/./src/images/logos/statickit.svg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/logos/transistor.svg":{"*":{"id":"(ssr)/./src/images/logos/transistor.svg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/images/logos/tuple.svg":{"*":{"id":"(ssr)/./src/images/logos/tuple.svg","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/Header.jsx":{"*":{"id":"(ssr)/./src/components/Header.jsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js":{"*":{"id":"(ssr)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/Schedule.jsx":{"*":{"id":"(ssr)/./src/components/Schedule.jsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/image-component.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/image-component.js","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/image-component.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/image-component.js","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx":{"id":"(app-pages-browser)/./src/components/Product.jsx","name":"*","chunks":["app/(main)/page","static/chunks/app/(main)/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx":{"id":"(app-pages-browser)/./src/components/Speakers.jsx","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/background-newsletter.jpg":{"id":"(app-pages-browser)/./src/images/background-newsletter.jpg","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/background.jpg":{"id":"(app-pages-browser)/./src/images/background.jpg","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/mirage.svg":{"id":"(app-pages-browser)/./src/images/logos/mirage.svg","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/statickit.svg":{"id":"(app-pages-browser)/./src/images/logos/statickit.svg","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/transistor.svg":{"id":"(app-pages-browser)/./src/images/logos/transistor.svg","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/tuple.svg":{"id":"(app-pages-browser)/./src/images/logos/tuple.svg","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx":{"id":"(app-pages-browser)/./src/components/Header.jsx","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css":{"id":"(app-pages-browser)/./src/styles/tailwind.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js":{"id":"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false},"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx":{"id":"(app-pages-browser)/./src/components/Schedule.jsx","name":"*","chunks":["app/events/versefest/page","static/chunks/app/events/versefest/page.js"],"async":false}},"entryCSSFiles":{"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/":[],"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page":[],"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/layout":[],"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout":["static/css/app/layout.css"],"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found":[],"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page":[]}} \ No newline at end of file diff --git a/.next/server/app/favicon.ico/route.js b/.next/server/app/favicon.ico/route.js deleted file mode 100644 index 91f1791..0000000 --- a/.next/server/app/favicon.ico/route.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/favicon.ico/route"; -exports.ids = ["app/favicon.ico/route"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-route.runtime.dev.js": -/*!**************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-route.runtime.dev.js" ***! - \**************************************************************************/ -/***/ ((module) => { - -module.exports = require("next/dist/compiled/next-server/app-route.runtime.dev.js"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ patchFetch: () => (/* binding */ patchFetch),\n/* harmony export */ requestAsyncStorage: () => (/* binding */ requestAsyncStorage),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ serverHooks: () => (/* binding */ serverHooks),\n/* harmony export */ staticGenerationAsyncStorage: () => (/* binding */ staticGenerationAsyncStorage)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-route/module.compiled */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js\");\n/* harmony import */ var next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/server/lib/patch-fetch */ \"(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js\");\n/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_metadata_route_loader_page_2Ffavicon_ico_2Froute_filePath_2FUsers_2Fsashaastiadi_2Fcode_2Fgit_ourworld_tf_2Fourverse_new_2Fsrc_2Fapp_2Ffavicon_ico_isDynamic_0_next_metadata_route___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next-metadata-route-loader?page=%2Ffavicon.ico%2Froute&filePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp%2Ffavicon.ico&isDynamic=0!?__next_metadata_route__ */ \"(app-metadata-route)/./node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js?page=%2Ffavicon.ico%2Froute&filePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp%2Ffavicon.ico&isDynamic=0!?__next_metadata_route__\");\n\n\n\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppRouteRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_ROUTE,\n page: \"/favicon.ico/route\",\n pathname: \"/favicon.ico\",\n filename: \"favicon\",\n bundlePath: \"app/favicon.ico/route\"\n },\n resolvedPagePath: \"next-metadata-route-loader?page=%2Ffavicon.ico%2Froute&filePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp%2Ffavicon.ico&isDynamic=0!?__next_metadata_route__\",\n nextConfigOutput,\n userland: next_metadata_route_loader_page_2Ffavicon_ico_2Froute_filePath_2FUsers_2Fsashaastiadi_2Fcode_2Fgit_ourworld_tf_2Fourverse_new_2Fsrc_2Fapp_2Ffavicon_ico_isDynamic_0_next_metadata_route___WEBPACK_IMPORTED_MODULE_3__\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { requestAsyncStorage, staticGenerationAsyncStorage, serverHooks } = routeModule;\nconst originalPathname = \"/favicon.ico/route\";\nfunction patchFetch() {\n return (0,next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__.patchFetch)({\n serverHooks,\n staticGenerationAsyncStorage\n });\n}\n\n\n//# sourceMappingURL=app-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZmYXZpY29uLmljbyUyRnJvdXRlJnBhZ2U9JTJGZmF2aWNvbi5pY28lMkZyb3V0ZSZhcHBQYXRocz0mcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZmYXZpY29uLmljbyZhcHBEaXI9JTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj0lMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXcmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFzRztBQUN2QztBQUNjO0FBQzhJO0FBQzNOO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnSEFBbUI7QUFDM0M7QUFDQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxZQUFZO0FBQ1osQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLFFBQVEsaUVBQWlFO0FBQ3pFO0FBQ0E7QUFDQSxXQUFXLDRFQUFXO0FBQ3RCO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDdUg7O0FBRXZIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLz8wMDE0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcFJvdXRlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcm91dGUvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuaW1wb3J0IHsgcGF0Y2hGZXRjaCBhcyBfcGF0Y2hGZXRjaCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi9wYXRjaC1mZXRjaFwiO1xuaW1wb3J0ICogYXMgdXNlcmxhbmQgZnJvbSBcIm5leHQtbWV0YWRhdGEtcm91dGUtbG9hZGVyP3BhZ2U9JTJGZmF2aWNvbi5pY28lMkZyb3V0ZSZmaWxlUGF0aD0lMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZhcHAlMkZmYXZpY29uLmljbyZpc0R5bmFtaWM9MCE/X19uZXh0X21ldGFkYXRhX3JvdXRlX19cIjtcbi8vIFdlIGluamVjdCB0aGUgbmV4dENvbmZpZ091dHB1dCBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgbmV4dENvbmZpZ091dHB1dCA9IFwiXCJcbmNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFJvdXRlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9ST1VURSxcbiAgICAgICAgcGFnZTogXCIvZmF2aWNvbi5pY28vcm91dGVcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2Zhdmljb24uaWNvXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcImZhdmljb25cIixcbiAgICAgICAgYnVuZGxlUGF0aDogXCJhcHAvZmF2aWNvbi5pY28vcm91dGVcIlxuICAgIH0sXG4gICAgcmVzb2x2ZWRQYWdlUGF0aDogXCJuZXh0LW1ldGFkYXRhLXJvdXRlLWxvYWRlcj9wYWdlPSUyRmZhdmljb24uaWNvJTJGcm91dGUmZmlsZVBhdGg9JTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGYXBwJTJGZmF2aWNvbi5pY28maXNEeW5hbWljPTAhP19fbmV4dF9tZXRhZGF0YV9yb3V0ZV9fXCIsXG4gICAgbmV4dENvbmZpZ091dHB1dCxcbiAgICB1c2VybGFuZFxufSk7XG4vLyBQdWxsIG91dCB0aGUgZXhwb3J0cyB0aGF0IHdlIG5lZWQgdG8gZXhwb3NlIGZyb20gdGhlIG1vZHVsZS4gVGhpcyBzaG91bGRcbi8vIGJlIGVsaW1pbmF0ZWQgd2hlbiB3ZSd2ZSBtb3ZlZCB0aGUgb3RoZXIgcm91dGVzIHRvIHRoZSBuZXcgZm9ybWF0LiBUaGVzZVxuLy8gYXJlIHVzZWQgdG8gaG9vayBpbnRvIHRoZSByb3V0ZS5cbmNvbnN0IHsgcmVxdWVzdEFzeW5jU3RvcmFnZSwgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSwgc2VydmVySG9va3MgfSA9IHJvdXRlTW9kdWxlO1xuY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL2Zhdmljb24uaWNvL3JvdXRlXCI7XG5mdW5jdGlvbiBwYXRjaEZldGNoKCkge1xuICAgIHJldHVybiBfcGF0Y2hGZXRjaCh7XG4gICAgICAgIHNlcnZlckhvb2tzLFxuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlXG4gICAgfSk7XG59XG5leHBvcnQgeyByb3V0ZU1vZHVsZSwgcmVxdWVzdEFzeW5jU3RvcmFnZSwgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSwgc2VydmVySG9va3MsIG9yaWdpbmFsUGF0aG5hbWUsIHBhdGNoRmV0Y2gsICB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(app-metadata-route)/./node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js?page=%2Ffavicon.ico%2Froute&filePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp%2Ffavicon.ico&isDynamic=0!?__next_metadata_route__": -/*!********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js?page=%2Ffavicon.ico%2Froute&filePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp%2Ffavicon.ico&isDynamic=0!?__next_metadata_route__ ***! - \********************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GET: () => (/* binding */ GET),\n/* harmony export */ dynamic: () => (/* binding */ dynamic)\n/* harmony export */ });\n/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/server */ \"(app-metadata-route)/./node_modules/next/dist/api/server.js\");\n/* static asset route */\n\n\nconst contentType = \"image/x-icon\"\nconst buffer = Buffer.from(\"AAABAAMAEBAAAAEAIABoBAAANgAAACAgAAABACAAKBEAAJ4EAAAwMAAAAQAgAGgmAADGFQAAKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+PRI/fLqm/3s4Z/95def/N/Nn/zZxJ/80rqf/M2wn/rHp5/6wJ2f+rqUn/m0ip/3roCd+al6VgAAAAD///tC/vfz/v7x6f/96+D//eTW//zezP/82MP/+9K5//vMsP/6xqb/+r+c//m5k//5s4n/+K2A//inef/5o3Bb//37jv738//+8en//evg//3k1v/83sz//NfC//mxhv/4rYD/+sWl//q/nP/5uZP/+bOJ//itgP/4p3n/+KNylv/9/JL+9/P//vHp//3r4P/95Nb//N7M//eyif/0gTz/9IE8//eoef/6v5z/+bmT//mzif/4rYD/+Kd5//ijcpb//fyS/vfz//7x6f/96+D//eTW//vcyf/efUb/84A8//GAO//xiEj/+r6b//m5k//5s4n/+K2A//inef/4o3KW//38kv738//+8en//evg//3k1v/rspL/yGUw/+5+Ov/vfjv/6306//SmeP/5uZP/+bOJ//itgP/4p3n/+KNylv/9/JL+9/P//vHp//3r4P/949X/3YBM/81oMf/bcTX/6Xs5/+Z5Of/og0n/+bmS//mzif/4rYD/+Kd5//ijcpb//fyS/vfz//7x6f/96+D/9MCh/91zNv/VbjT/0W44/+J5O//fdDf/3HM2//Cjd//5s4n/+K2A//inef/4o3KW//38kv738//+8en//evg/+2OV//jdjf/3HI1/+WZb//mlmn/1280/9RtM//bfUj/+bOJ//itgP/4p3n/+KNylv/9/JL+9/P//vHp//nMsP/tfTr/6Ho5/+J4O//4yKv/9cCg/85qM//KZjH/x2Qw/+2gc//4rYD/+Kd5//ijcpb//fyS/vfz//7x6f/1mWL/8H87/+x9Ov/vnm7/+9K5//vMsP/Whlv/wF8u/7tcLP/LdEb/+K2A//inef/4o3KW//38kv738//+8en/9YVC//OAPP/vgD3/+cuv//vSuf/7zLD/77SS/7NYK/+vVCn/slkw//itgP/4p3n/+KNylv/9/JL+9/P//vHp//m/m//1kFP/97OJ//zYw//70rn/+8yw//rGpv/RiGP/sV02/9eKYf/4rYD/+Kd5//ijcpb//fuO/vfz//7x6f/96+D//eTW//zezP/82MP/+9K5//vMsP/6xqb/+r+c//m5k//5s4n/+K2A//inef/4o3KW//v7Qv749P3+8en//evg//3k1v/83sz//NjD//vSuf/7zLD/+sam//q/nP/5uZP/+bOJ//itgP/4p3n/9qRxWgAAAAD/9PFH/fLpmv3s4Z/95def/N/Nn/zZxJ/80rqf/M2wn/rHp5/6wJ2f+rqUn/m0ip/3roCd+at7VQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAABAAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wL/9O4u//PrP/vr40D759tA++PXQPvj00D7389A+9vLQPvXw0D7179A+9O7QPvPt0D7y7NA+8urQPvHp0D3w6NA97+fQPe7m0D3u5NA97ePQPezi0D3r4dA96+DQPWtfTX/tm0HAAAAAAAAAAAAAAAAAAAAAAAAAAD/+/hE//fy2/7z7P/+8Of//e3j//3q3v/95tn//ePU//zgz//83cr//NrG//zXwf/81Lz/+9G3//vOsv/7y67/+8ip//rEpP/6wZ//+r6a//q7lf/5uJH/+bWM//myh//5r4L/+Kx///ipe+v4qHVmAAAAAAAAAAAAAAAA//v7Pv759vr+9vH//vPs//7w5//97eP//ere//3m2f/949T//ODP//zdyv/82sb//NfB//zUvP/70bf/+86y//vLrv/7yKn/+sSk//rBn//6vpr/+ruV//m4kf/5tYz/+bKH//mvgv/4rH//+Kl7//imdv/6pXFsAAAAAAAAAAD//PvL/vn2//728f/+8+z//vDn//3t4//96t7//ebZ//3j1P/84M///N3K//zaxv/818H//NS8//vRt//7zrL/+8uu//vIqf/6xKT/+sGf//q+mv/6u5X/+biR//m1jP/5sof/+a+C//isf//4qXv/+KZ2//micfLumWYP////Fv/9+/7++fb//vbx//7z7P/+8Of//e3j//3q3v/95tn//ePU//zgz//83cr//NrG//zXwf/81Lz/+8+0//vMr//7y67/+8ip//rEpP/6wZ//+r6a//q7lf/5uJH/+bWM//myh//5r4L/+Kx///ipe//4pnb/+KJx//mkcS3///8l//z7//759v/+9vH//vPs//7w5//97eP//ere//3m2f/949T//ODP//zdyv/82sb/+9K6//efav/1gz//9YM///ecZv/7xaT/+sSk//rBn//6vpr/+ruV//m4kf/5tYz/+bKH//mvgv/4rH//+Kl7//imdv/4onH/+aRxLf//+Cb//Pv//vn2//728f/+8+z//vDn//3t4//96t7//ebZ//3j1P/84M///N3K//zaxv/3oGv/9YI8//WCPP/0gjz/9IE8//edaP/6xKT/+sGf//q+mv/6u5X/+biR//m1jP/5sof/+a+C//isf//4qXv/+KZ2//iicf/5pHEt///4Jv/8+//++fb//vbx//7z7P/+8Of//e3j//3q3v/95tn//ePU//zgz//83cr/9820//SDPv/0gTz/9IE8//SBPP/zgTz/84I///m9mf/6wZ//+r6a//q7lf/5uJH/+bWM//myh//5r4L/+Kx///ipe//4pnb/+KJx//mkcS3///gm//z7//759v/+9vH//vPs//7w5//97eP//ere//3m2f/949T//ODP//zdyv/blXD/84E8//SBPP/zgTz/8oA8//KAO//ygDv/9Z9r//rBn//6vpr/+ruV//m4kf/5tYz/+bKH//mvgv/4rH//+Kl7//imdv/4onH/+aRxLf//+Cb//Pv//vn2//728f/+8+z//vDn//3t4//96t7//ebZ//3j1P/84M//+NO9/8VlNP/kdzj/84A8//KAO//xgDv/8YA7//B/O//vgkD/+b2Y//q+mv/6u5X/+biR//m1jP/5sof/+a+C//isf//4qXv/+KZ2//iicf/5pHEt///4Jv/8+//++fb//vbx//7z7P/+8Of//e3j//3q3v/95tn//ePU//zgz//joHr/xmMv/81oMf/xgDv/8YA7//B/O//vfzv/7X46/+x9Ov/0oG7/+r6a//q7lf/5uJH/+bWM//myh//5r4L/+Kx///ipe//4pnb/+KJx//mkcS3///gm//z7//759v/+9vH//vPs//7w5//97eP//ere//3m2f/949T/+9nF/9NxO//KZjD/xWIv/+Z4OP/wfzv/7346/+19Ov/rfDn/6ns5/+uAQv/5vJb/+ruV//m4kf/5tYz/+bKH//mvgv/4rH//+Kl7//imdv/4onH/+aRxLf//+Cb//Pv//vn2//728f/+8+z//vDn//3t4//96t7//ebZ//3j1P/sqoX/02wz/85pMv/JZTD/0Woy/+5+Ov/tfTr/6Xs5/+h6Of/neTn/5nk4//KgcP/6u5X/+biR//m1jP/5sof/+a+C//isf//4qXv/+KZ2//iicf/5pHEt///4Jv/8+//++fb//vbx//7z7P/+8Of//e3j//3q3v/95tn//N7N/957Qv/XbjT/0msy/81oMf/IZTD/5Xg4/+p7Of/meTj/5Xg4/+R3OP/jdjf/5X9E//q6k//5uJH/+bWM//myh//5r4L/+Kx///ipe//4pnb/+KJx//mkcS3///gm//z7//759v/+9vH//vPs//7w5//97eP//ere//3m2f/xs4//3nM2/9pwNf/WbjT/0Wsy/8xnMf/UbDP/5Xg4/+N3OP/idjf/4HU3/990N//edDb/8KFz//m4kf/5tYz/+bKH//mvgv/4rH//+Kl7//imdv/4onH/+aRxLf//+Cb//Pv//vn2//728f/+8+z//vDn//3t4//96t7//OPU/+eDSf/hdTf/3XI2/9lwNf/VbTP/0Goy/9R6Sf/jgEb/33Q2/950Nv/dcjb/23E1/9pxNf/ffUb/+biQ//m1jP/5sof/+a+C//isf//4qXv/+KZ2//iicf/5pHEt///4Jv/8+//++fb//vbx//7z7P/+8Of//e3j//3q3v/2vJn/53k4/+R3N//gdDb/3HI2/9lvNP/UbDP/662J/+2nf//bcjX/2nE1/9hwNP/XbzT/1m40/9RtM//vonX/+bWM//myh//5r4L/+Kx///ipe//4pnb/+KJx//mkcS3///gm//z7//759v/+9vH//vPs//7w5//97eP//ejb/++LUP/pejn/5ng4/+N2N//fdDb/3HI1/9x9SP/6z7b/+cqu/9l3QP/WbjT/1G0z/9JsM//RazL/z2oy/9l8R//5tYz/+bKH//mvgv/4rH//+Kl7//imdv/4onH/+aRxLf//+Cb//Pv//vn2//728f/+8+z//vDn//3t4//4xKT/7n06/+t8Of/oejn/5Xg4/+J2N//fdDb/7qyG//vRt//7zrL/5p51/9FrMv/QajL/zmky/8xnMf/KZzH/yWUw/+6idv/5sof/+a+C//isf//4qXv/+KZ2//iicf/5pHEt///4Jv/8+//++fb//vbx//7z7P/+8Of//ezi//OSV//vfjr/7X06/+t7Of/oejn/5Xg4/+R/Rf/70bj/+9G3//vOsv/4xaf/zm04/8tnMf/JZTD/x2Qw/8VjL//DYS7/03lJ//myh//5r4L/+Kx///ipe//4pnb/+KJx//mkcS3///gm//z7//759v/+9vH//vPs//7w5//7y6//8oA7//F/O//vfjr/7X06/+p7Of/oeTj/8KuD//zUvP/70bf/+86y//vLrv/ek2r/xWMv/8RiL//BYC7/wF8t/71eLf+7XS3/7qJ2//mvgv/4rH//+Kl7//imdv/4onH/+aRxLf//+Cb//Pv//vn2//728f/+8+z//vDn//aaYv/zgTz/8oA7//B/O//ufjr/7Hw6/+qBQ//60rr//NS8//vRt//7zrL/+8uu//W/n//CYzL/vl4t/7xcLP+6Wyz/t1kr/7VYKv/OeEz/+a+C//isf//4qXv/+KZ2//iicf/5pHEt///4Jv/8+//++fb//vbx//7z7P/+7+b/9YQ///SBPP/zgTz/8YA7//B/O//ufjr/86uA//zXwf/81Lz/+9G3//vOsv/7y67/+8ip/9SIYP+4Wiv/tVgr/7NXKv+xVSn/r1Qp/7ZdM//5r4L/+Kx///ipe//4pnb/+KJx//mkcS3///gm//z7//759v/+9vH//vPs//7w5//2j1D/9II8//SBPP/zgDv/8YA7/++DQv/607v//NfB//zUvP/70bf/+86y//vLrv/7yKn/8beW/7JYLP+vVCn/rVIp/6tRKP+qUCf/umQ7//mvgv/4rH//+Kl7//imdv/4onH/+aRxLf//+Cb//Pv//vn2//728f/+8+z//vDn//rEo//1gjz/9II8//OBPP/ygDv/9rGH//zaxv/818H//NS8//vRt//7zrL/+8uu//vIqf/6xKT/zYNe/6lQJ/+oTyf/p04n/6ZOJ//ekWj/+a+C//isf//4qXv/+KZ2//iicf/5pHEt///4Jv/8+//++fb//vbx//7z7P/+8Of//e3j//rKrP/3oGz/9p1o//i9mf/83cr//NrG//zXwf/81Lz/+9G3//vOsv/7y67/+8ip//rEpP/5wJ7/1Y5q/7lpQ/+8bEb/35Zu//myh//5r4L/+Kx///ipe//4pnb/+KJx//mkcS3///8l//z7//759v/+9vH//vPs//7w5//97eP//ere//3m2f/949T//ODP//zdyv/82sb//NfB//zUvP/70bf/+86y//vLrv/7yKn/+sSk//rBn//6vpr/+ruV//m4kf/5tYz/+bKH//mvgv/4rH//+Kl7//imdv/4onH/+aRxLf///xf//fv+/vn2//728f/+8+z//vDn//3t4//96t7//ebZ//3j1P/84M///N3K//zaxv/818H//NS8//vRt//7zrL/+8uu//vIqf/6xKT/+sGf//q+mv/6u5X/+biR//m1jP/5sof/+a+C//isf//4qXv/+KZ2//iicf/5pHEtAAAAAP/8+8v++fb//vbx//7z7P/+8Of//e3j//3q3v/95tn//ePU//zgz//83cr//NrG//zXwf/81Lz/+9G3//vOsv/7y67/+8ip//rEpP/6wZ//+r6a//q7lf/5uJH/+bWM//myh//5r4L/+Kx///ipe//4pnb/+KNx8f+xdg0AAAAA//v7PP/59vj+9vH//vPs//7w5//97eP//ere//3m2f/949T//ODP//zdyv/82sb//NfB//zUvP/70bf/+86y//vLrv/7yKn/+sSk//rBn//6vpr/+ruV//m4kf/5tYz/+bKH//mvgv/4rH//+Kl7//imdv/4pXJpAAAAAAAAAAAAAAAA//fzQf728dj+8+z//vDn//3t4//96t7//ebZ//3j1P/84M///N3K//zaxv/818H//NS8//vRt//7zrL/+8uu//vIqf/6xKT/+sGf//q+mv/6u5X/+biR//m1jP/5sof/+a+C//isf//3qXvq+qh4ZAAAAAAAAAAAAAAAAAAAAAAAAAAA////Av/z7Sv/8+s/++vjQPvn20D749dA++PTQPvfz0D728tA+9fDQPvXv0D707tA+8+3QPvLs0D7y6tA+8enQPfDo0D3v59A97ubQPe7k0D3t49A97OLQPevh0D3r4NA9a19Nf+2bQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAAAABgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Af/r6w3/8vIU//PnFf/z5xX/8+cV//PnFf/n2xX/59sV/+fbFf/nzhX/584V/9vOFf/bzhX/28IV/9vCFf/bwhX/28IV/9u2Ff/OthX/zrYV/862Ff/OqhX/zqoV/8KqFf/CnhX/wp4V/8KeFf/CnhX/wpIV/7aSFf+2khX/tpIV/7aGFf+2hhXzqoYV/6+AEP+/gAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wH/+PEk//bxcf307qb+8em8/u/nv/7u5L/86+C//Orev/zn2r/85Ne//OPTv/zg0L/8386/+9zKv/vbx7/72MO/+9fAv/vUvL/70rq/+9C3v/vPtL/7zLC/+8uuv/vIqr/6xqe/+sSjv/rCoL/6wJ6/+r6av/q8l7/6upO/+LiQv/i2jr/4s4q/+LKHv/ivhL/4roK9+Kx/r/mrfIL6qHs4/7+ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPv39z3++PTR/vbx+f707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqe/z3p3jl+KZ0cv8AAAEAAAAAAAAAAAAAAAAAAAAA//r6N//6+PD+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//mjcnf/mWYFAAAAAAAAAAD///8a//v6yP/69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ikcun7pHJDAAAAAAAAAAD//Pxe//z69P/69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcf72oW+T/59gCP///wX//f2O//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+8+1//vOsv/7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D////wv//f2h//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//vOsv/5tIv/+Kd2//ildP/4sIX/+sWl//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP/+8qs//aSVv/1hUH/9YI8//WCPP/1hUH/9pJV//rAnf/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//70bf/9pNW//WCPP/1gjz/9YI8//WCPP/0gjz/9IE8//aSV//6wqD/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zaxv/5to7/9YVB//SCPP/0gjz/9IE8//SBPP/0gTz/9IE8//SFQv/4rYH/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//nUvv/wmmb/9IE8//SBPP/0gTz/9IE8//SBPP/zgTz/84E8//OBPP/1mGH/+sCe//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//DApf/feD3/9IE8//SBPP/0gTz/84E8//OBPP/zgTv/84A7//KAO//yhEL/+LaO//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//NzI/9aIYP/UbDP/8oA8//OBPP/zgTv/8oA7//KAO//ygDv/8oA7//GAO//wfzv/9Jhh//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383/8cGl/8VkMv/IZDD/7X06//OAPP/ygDv/8oA7//GAO//xgDv/8H87//B/O//vfjr/74A+//i1jf/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/73Mj/2ope/8ZjL//DYC7/3HE1//KAO//ygDv/8YA7//F/O//wfzv/8H87/+5+O//tfTr/7X06//KUXv/6v5v/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/xwKT/0XE9/8llMP/GYy//x2Qv/+x9Ov/xfzv/8H87/+9/O//vfjv/7n46/+x9Ov/rfDr/63w5/+yCQ//3sYf/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//zdy//lnHP/0Goz/8xnMf/JZTD/xWIv/9lwNP/wfzv/7346/+9+Ov/ufjr/7Hw5/+p8Of/qezn/6Xo5/+l7Ov/xm2f/+r2X//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//fPuP/bekX/0msy/89pMv/LZjH/yGQv/8pmMP/pejn/7n46/+5+Ov/sfDr/6ns5/+l7Of/oejn/6Ho5/+d5OP/qhEn/+LWN//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT/+ylfP/XbzT/1Gwz/9FqMv/OaDH/ymYw/8hkMP/ccjX/7X06/+x8Ov/qezn/6Ho5/+d5OP/meTj/5ng4/+R4OP/keDj/8Z9u//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df/+tXA/994Pv/acDT/1m40/9NsM//RajL/zWgx/8plMP/QajL/6Xo5/+t8Of/neTj/5Xg4/+V3OP/kdzj/43c3/+J2N//idTf/5H1B//m4kf/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95NX/7aN4/99zNv/ccTX/2W80/9ZuM//TbDP/0Goy/81nMf/KZjD/4HQ2/+h5Of/kdzj/5Hc4/+J3N//idjf/4XU3/+B1N//fdDb/3nQ2/+6bav/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/50bn/5oNJ/+B0Nv/eczb/23E1/9lvNP/VbTT/0msy/89pMv/MZzH/0m85/+N4Ov/idjf/4XY3/+B1N//fdDb/33Q2/95zNv/cczb/3HI2/+F+Rf/2sYj/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3l1//ysIj/5Xk6/+J2N//gdDb/3XI2/9pxNf/YbzT/1W0z/9JrM//PaTL/35Rr/+eQXv/gdDb/3nQ2/95zNv/dczX/3HI1/9txNf/acDX/2XA0/9pyOP/tm2z/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//vax//sjlb/5ng4/+R3N//hdjf/33Q2/91yNv/acDX/2G40/9VsM//Ucz//88Ch//O5mP/ddjv/3HI1/9tyNf/acTX/2XA0/9hwNP/XbzT/1m40/9VuNP/ggk7/97KJ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//a7mP/qfDv/6Hk5/+V4OP/jdzf/4XU3/99zNv/ccjX/2XA1/9dvNf/ik2j/+cyx//nJrP/jjV3/2XA1/9hvNP/XbzT/1m80/9VtM//UbTP/02wz/9JrM//Tbzf/76J1//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//OTW/++JTf/rezn/6Xo5/+d5OP/ldzj/43Y3/+B1Nv/eczb/3HE1/9t3Pv/vtJP/+9C2//vOs//sqYP/2HM6/9VtM//VbTP/020z/9JrMv/RazL/0Goy/89pMv/OaTL/2n1K//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D/97iT/+59Ov/sfTr/6ns5/+l6Of/neTj/5Hc3/+N2N//gdTf/3nM2/+KJV//6z7b/+9C2//vPs//3xab/2X5K/9JsM//SazL/0Wsy/89qMv/OaDH/zWgx/8toMf/KZjH/yWYx/+2gdP/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/73s3/8pBW/+9+Ov/tfTr/7Hw6/+p7Of/oejn/5nk4/+R3OP/idjf/4HU4//K4l//70rr/+9C2//vPs//7zLD/6KR+/89pMv/OaTH/zWgx/8xnMf/LZjH/yWUx/8hlMP/HZDD/xmMv/9R5SP/3sIX/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7t4//4v53/8YNA//B/O//ufjr/7X06/+x8Of/qezn/6Hk4/+Z5OP/kdzf/549d//vTu//70rr/+9C2//vPs//7zLD/+cep/9J3Rv/LZzD/ymYw/8hlMP/HZDD/xmMv/8RiL//DYS7/wmAu/8VmNP/qm2//+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//3l1v/2nWj/8oA7//F/O//wfzv/7n06/+19Ov/rfDr/6Xo5/+h5OP/mezz/9L2d//zVvf/70rr/+9C2//vPs//7zLD/+8qt/+ekf//IZTL/xmQv/8VjL//EYS//wmEu/8FgLv/AXy3/vl4t/71dLf/Vf1H/966D//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//vMsP/0hUL/84A7//GAO//wfzv/7387/+59Ov/sfTr/63w5/+l6Of/slGD/+s+2//zVvf/70rr/+9C2//vPs//7zLD/+8qt//W+nv/Od0n/w2Ev/8FgLv/AXy7/vl4t/71dLf+8XC3/ulss/7haK/+/ZDX/7qJ2//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//eeaf/0gTz/84E8//KAO//xgDv/8H87/+9+O//tfTr/7Hw6/+t/P//0s4z//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//rIqP/elm//wGAw/71dLP+8XCz/ulws/7laLP+3WSv/tlgr/7RXKv+zVir/1oNX//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/l//WGQ//0gjz/9IE8//OBPP/ygDv/8X87//B/O//vfjr/7X06/+6MUv/5z7b//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/vtZP/wmk8/7lbLP+4WSv/tlkr/7RYK/+zVir/slUp/7BVKf+uUyn/vmc8//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u7l//WHRP/1gjz/9IE8//OBPP/zgDv/8oA7//F/O//wfzv/7n46//Sxif/82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xab/04hh/7VYK/+zVyr/slYq/7BVKf+vVCn/rlMp/6xSKP+rUSf/u2Q6//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//ega//1gjz/9II8//SBPP/zgTz/84A7//KAO//wfzv/8IpO//vXwP/82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/87qZ/7RbMP+vVCn/rlMo/6xRKP+rUCj/qlAn/6lPJ/+oTyf/y3hP//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//vSuf/1iUf/9YI8//SCPP/0gTz/84E8//KAO//yg0D/97qV//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj/9KLZv+tUyv/qlAn/6hPJ/+oTyf/qE8n/6dPJ/+uVzD/6Z51//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7q3v/5vpv/9Y1N//WCPP/0gTz/9IE8//OHRv/2roP/+9nC//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//S6mP/Ifln/qlMs/6ZOJ/+lTSb/pU0m/61YMv/Yi2P/96+E//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96dz//NnF//m6lP/3q33/97OK//vOtP/728f//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/1upf/5KJ+/8p/W//DdlH/0YZh/+ymfv/3sYf/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D///6w3//fyl//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D////wz//fyi//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3D////wX//fuP//z6///69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv/5o3Gs/6p3DwAAAAD//Pxd//378//69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ijcv34o3CQ/7ZtBwAAAAD/9fUa//z6xv/69//+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KV1//ikcuj3pXJBAAAAAAAAAAAAAAAA//r6NP/79+z+9/P//vXw//707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqfP/4p3j/+KZ1/vajcnL/mWYFAAAAAAAAAAAAAAAAAAAAAP/29jj/+fTN/vbx+P707f/+8er//u/m//7u5P/96+D//end//3n2v/95df//ePT//3h0P/8383//N3J//zbx//82cP//NbA//zVvf/70rr/+9C2//vPs//7zLD/+8qt//vJqv/6xqb/+sSj//rCoP/6wJ3/+r6Z//q8lv/5upP/+biQ//m2jf/5s4n/+bGG//mwg//4rYD/+Kt+//iqe/z3qHjk+qh1bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wH/9/ch/fbxbf/07qL+8eu7/u/nv/7u5L/86+C//Orev/zn2r/85Ne//OPTv/zg0L/8386/+9zKv/vbx7/72MO/+9fAv/vUvL/70rq/+9C3v/vPtL/7zLC/+8uuv/vIqr/6xqe/+sSjv/rCoL/6wJ6/+r6av/q8l7/6upO/+LiQv/i2jr/4s4q/+LKHv/ivhL/4roK9+Kx/r/mrfIL2p3k3/4CABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Af/q6gz/8uYU//PnFf/z5xX/8+cV//PnFf/n2xX/59sV/+fbFf/nzhX/584V/9vOFf/bzhX/28IV/9vCFf/bwhX/28IV/9u2Ff/OthX/zrYV/862Ff/OqhX/zqoV/8KqFf/CnhX/wp4V/8KeFf/CnhX/wpIV/7aSFf+2khX/tpIV/7aGFf+2hhXzqoYV/6+AEP+/gAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\", 'base64'\n )\n\nfunction GET() {\n return new next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse(buffer, {\n headers: {\n 'Content-Type': contentType,\n 'Cache-Control': \"public, max-age=0, must-revalidate\",\n },\n })\n}\n\nconst dynamic = 'force-static'\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LW1ldGFkYXRhLXJvdXRlLWxvYWRlci5qcz9wYWdlPSUyRmZhdmljb24uaWNvJTJGcm91dGUmZmlsZVBhdGg9JTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGYXBwJTJGZmF2aWNvbi5pY28maXNEeW5hbWljPTAhP19fbmV4dF9tZXRhZGF0YV9yb3V0ZV9fIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQzBDOztBQUUxQztBQUNBO0FBQ0E7O0FBRU87QUFDUCxhQUFhLHFEQUFZO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRU8iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvPzE4NzAiXSwic291cmNlc0NvbnRlbnQiOlsiLyogc3RhdGljIGFzc2V0IHJvdXRlICovXG5pbXBvcnQgeyBOZXh0UmVzcG9uc2UgfSBmcm9tICduZXh0L3NlcnZlcidcblxuY29uc3QgY29udGVudFR5cGUgPSBcImltYWdlL3gtaWNvblwiXG5jb25zdCBidWZmZXIgPSBCdWZmZXIuZnJvbShcIkFBQUJBQU1BRUJBQUFBRUFJQUJvQkFBQU5nQUFBQ0FnQUFBQkFDQUFLQkVBQUo0RUFBQXdNQUFBQVFBZ0FHZ21BQURHRlFBQUtBQUFBQkFBQUFBZ0FBQUFBUUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELytQUkkvZkxxbS8zczRaLzk1ZGVmL04vTm4velp4Si84MHJxZi9NMnduL3JIcDUvNndKMmYrcnFVbi9tMGlwLzNyb0NkK2FsNlZnQUFBQUQvLy90Qy92Znovdjd4NmYvOTYrRC8vZVRXLy96ZXpQLzgyTVAvKzlLNS8vdk1zUC82eHFiLytyK2MvL201ay8vNXM0bi8rSzJBLy9pbmVmLzVvM0JiLy8zN2p2NzM4Ly8rOGVuLy9ldmcvLzNrMXYvODNzei8vTmZDLy9teGh2LzRyWUQvK3NXbC8vcS9uUC81dVpQLytiT0ovL2l0Z1AvNHAzbi8rS055bHYvOS9KTCs5L1AvL3ZIcC8vM3I0UC85NU5iLy9ON00vL2V5aWYvMGdUei85SUU4Ly9lb2VmLzZ2NXovK2JtVC8vbXppZi80cllELytLZDUvL2lqY3BiLy9meVMvdmZ6Ly83eDZmLzk2K0QvL2VUVy8vdmN5Zi9lZlViLzg0QTgvL0dBTy8veGlFai8rcjZiLy9tNWsvLzVzNG4vK0syQS8vaW5lZi80bzNLVy8vMzhrdjczOC8vKzhlbi8vZXZnLy8zazF2L3JzcEwveUdVdy8rNStPdi92Zmp2LzYzMDYvL1NtZVAvNXVaUC8rYk9KLy9pdGdQLzRwM24vK0tOeWx2LzkvSkwrOS9QLy92SHAvLzNyNFAvOTQ5WC8zWUJNLzgxb01mL2JjVFgvNlhzNS8rWjVPZi9vZzBuLytibVMvL216aWYvNHJZRC8rS2Q1Ly9pamNwYi8vZnlTL3Zmei8vN3g2Zi85NitELzlNQ2gvOTF6TnYvVmJqVC8wVzQ0LytKNU8vL2ZkRGYvM0hNMi8vQ2pkLy81czRuLytLMkEvL2luZWYvNG8zS1cvLzM4a3Y3MzgvLys4ZW4vL2V2Zy8rMk9WLy9qZGpmLzNISTEvK1daYi8vbWxtbi8xMjgwLzlSdE0vL2JmVWovK2JPSi8vaXRnUC80cDNuLytLTnlsdi85L0pMKzkvUC8vdkhwLy9uTXNQL3RmVHIvNkhvNS8rSjRPLy80eUt2LzljQ2cvODVxTS8vS1pqSC94MlF3LysyZ2MvLzRyWUQvK0tkNS8vaWpjcGIvL2Z5Uy92ZnovLzd4NmYvMW1XTC84SDg3Lyt4OU92L3ZubTcvKzlLNS8vdk1zUC9XaGx2L3dGOHUvN3RjTFAvTGRFYi8rSzJBLy9pbmVmLzRvM0tXLy8zOGt2NzM4Ly8rOGVuLzlZVkMvL09BUFAvdmdEMy8rY3V2Ly92U3VmLzd6TEQvNzdTUy83TllLLyt2VkNuL3Nsa3cvL2l0Z1AvNHAzbi8rS055bHYvOS9KTCs5L1AvL3ZIcC8vbS9tLy8xa0ZQLzk3T0ovL3pZdy8vNzBybi8rOHl3Ly9yR3B2L1JpR1Avc1YwMi85ZUtZZi80cllELytLZDUvL2lqY3BiLy9mdU8vdmZ6Ly83eDZmLzk2K0QvL2VUVy8vemV6UC84Mk1QLys5SzUvL3ZNc1AvNnhxYi8rcitjLy9tNWsvLzVzNG4vK0syQS8vaW5lZi80bzNLVy8vdjdRdjc0OVAzKzhlbi8vZXZnLy8zazF2Lzgzc3ovL05qRC8vdlN1Zi83ekxELytzYW0vL3EvblAvNXVaUC8rYk9KLy9pdGdQLzRwM24vOXFSeFdnQUFBQUQvOVBGSC9mTHBtdjNzNFovOTVkZWYvTi9Obi96WnhKLzgwcnFmL00yd24vckhwNS82d0oyZitycVVuL20waXAvM3JvQ2QrYXQ3VlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQUFBQUNBQUFBQkFBQUFBQVFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vd0wvOU80dS8vUHJQL3ZyNDBENzU5dEErK1BYUVB2ajAwRDczODlBKzl2TFFQdlh3MEQ3MTc5QSs5TzdRUHZQdDBEN3k3TkErOHVyUVB2SHAwRDN3Nk5BOTcrZlFQZTdtMEQzdTVOQTk3ZVBRUGV6aTBEM3I0ZEE5NitEUVBXdGZUWC90bTBIQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELysvaEUvL2Z5Mi83ejdQLys4T2YvL2Uzai8vM3Ezdi85NXRuLy9lUFUvL3pnei8vODNjci8vTnJHLy96WHdmLzgxTHovKzlHMy8vdk9zdi83eTY3Lys4aXAvL3JFcFAvNndaLy8rcjZhLy9xN2xmLzV1SkgvK2JXTS8vbXloLy81cjRMLytLeC8vL2lwZSt2NHFIVm1BQUFBQUFBQUFBQUFBQUFBLy92N1B2NzU5dnIrOXZILy92UHMvLzd3NS8vOTdlUC8vZXJlLy8zbTJmLzk0OVQvL09EUC8vemR5di84MnNiLy9OZkIvL3pVdlAvNzBiZi8rODZ5Ly92THJ2Lzd5S24vK3NTay8vckJuLy82dnByLytydVYvL200a2YvNXRZei8rYktILy9tdmd2LzRySC8vK0tsNy8vaW1kdi82cFhGc0FBQUFBQUFBQUFELy9Qdkwvdm4yLy83MjhmLys4K3ovL3ZEbi8vM3Q0Ly85NnQ3Ly9lYlovLzNqMVAvODRNLy8vTjNLLy96YXh2LzgxOEgvL05TOC8vdlJ0Ly83enJMLys4dXUvL3ZJcWYvNnhLVC8rc0dmLy9xK212LzZ1NVgvK2JpUi8vbTFqUC81c29mLythK0MvL2lzZi8vNHFYdi8rS1oyLy9taWNmTHVtV1lQLy8vL0Z2LzkrLzcrK2ZiLy92YngvLzd6N1AvKzhPZi8vZTNqLy8zcTN2Lzk1dG4vL2VQVS8vemd6Ly84M2NyLy9OckcvL3pYd2YvODFMei8rOCswLy92TXIvLzd5NjcvKzhpcC8vckVwUC82d1ovLytyNmEvL3E3bGYvNXVKSC8rYldNLy9teWgvLzVyNEwvK0t4Ly8vaXBlLy80cG5iLytLSngvL21rY1MzLy8vOGwvL3o3Ly83NTl2Lys5dkgvL3ZQcy8vN3c1Ly85N2VQLy9lcmUvLzNtMmYvOTQ5VC8vT0RQLy96ZHl2Lzgyc2IvKzlLNi8vZWZhdi8xZ3ovLzlZTS8vL2VjWnYvN3hhVC8rc1NrLy9yQm4vLzZ2cHIvK3J1Vi8vbTRrZi81dFl6LytiS0gvL212Z3YvNHJILy8rS2w3Ly9pbWR2LzRvbkgvK2FSeExmLy8rQ2IvL1B2Ly92bjIvLzcyOGYvKzgrei8vdkRuLy8zdDQvLzk2dDcvL2ViWi8vM2oxUC84NE0vLy9OM0svL3pheHYvM29Hdi85WUk4Ly9XQ1BQLzBnanovOUlFOC8vZWRhUC82eEtULytzR2YvL3ErbXYvNnU1WC8rYmlSLy9tMWpQLzVzb2YvK2ErQy8vaXNmLy80cVh2LytLWjIvL2lpY2YvNXBIRXQvLy80SnYvOCsvLysrZmIvL3ZieC8vN3o3UC8rOE9mLy9lM2ovLzNxM3YvOTV0bi8vZVBVLy96Z3ovLzgzY3IvOTgyMC8vU0RQdi8wZ1R6LzlJRTgvL1NCUFAvemdUei84NEkvLy9tOW1mLzZ3Wi8vK3I2YS8vcTdsZi81dUpILytiV00vL215aC8vNXI0TC8rS3gvLy9pcGUvLzRwbmIvK0tKeC8vbWtjUzMvLy9nbS8vejcvLzc1OXYvKzl2SC8vdlBzLy83dzUvLzk3ZVAvL2VyZS8vM20yZi85NDlULy9PRFAvL3pkeXYvYmxYRC84NEU4Ly9TQlBQL3pnVHovOG9BOC8vS0FPLy95Z0R2LzlaOXIvL3JCbi8vNnZwci8rcnVWLy9tNGtmLzV0WXovK2JLSC8vbXZndi80ckgvLytLbDcvL2ltZHYvNG9uSC8rYVJ4TGYvLytDYi8vUHYvL3ZuMi8vNzI4Zi8rOCt6Ly92RG4vLzN0NC8vOTZ0Ny8vZWJaLy8zajFQLzg0TS8vK05POS84VmxOUC9rZHpqLzg0QTgvL0tBTy8veGdEdi84WUE3Ly9CL08vL3Zna0QvK2IyWS8vcSttdi82dTVYLytiaVIvL20xalAvNXNvZi8rYStDLy9pc2YvLzRxWHYvK0taMi8vaWljZi81cEhFdC8vLzRKdi84Ky8vKytmYi8vdmJ4Ly83ejdQLys4T2YvL2Uzai8vM3Ezdi85NXRuLy9lUFUvL3pnei8vam9Ici94bU12Lzgxb01mL3hnRHYvOFlBNy8vQi9PLy92Znp2LzdYNDYvK3g5T3YvMG9HNy8rcjZhLy9xN2xmLzV1SkgvK2JXTS8vbXloLy81cjRMLytLeC8vL2lwZS8vNHBuYi8rS0p4Ly9ta2NTMy8vL2dtLy96Ny8vNzU5di8rOXZILy92UHMvLzd3NS8vOTdlUC8vZXJlLy8zbTJmLzk0OVQvKzluRi85TnhPLy9LWmpEL3hXSXYvK1o0T1Avd2Z6di83MzQ2LysxOU92L3JmRG4vNm5zNS8rdUFRdi81dkpiLytydVYvL200a2YvNXRZei8rYktILy9tdmd2LzRySC8vK0tsNy8vaW1kdi80b25ILythUnhMZi8vK0NiLy9Qdi8vdm4yLy83MjhmLys4K3ovL3ZEbi8vM3Q0Ly85NnQ3Ly9lYlovLzNqMVAvc3FvWC8wMnd6Lzg1cE12L0paVEQvMFdveS8rNStPdi90ZlRyLzZYczUvK2g2T2YvbmVUbi81bms0Ly9LZ2NQLzZ1NVgvK2JpUi8vbTFqUC81c29mLythK0MvL2lzZi8vNHFYdi8rS1oyLy9paWNmLzVwSEV0Ly8vNEp2LzgrLy8rK2ZiLy92YngvLzd6N1AvKzhPZi8vZTNqLy8zcTN2Lzk1dG4vL043Ti85NTdRdi9YYmpULzBtc3kvODFvTWYvSVpURC81WGc0LytwN09mL21lVGovNVhnNC8rUjNPUC9qZGpmLzVYOUUvL3E2ay8vNXVKSC8rYldNLy9teWgvLzVyNEwvK0t4Ly8vaXBlLy80cG5iLytLSngvL21rY1MzLy8vZ20vL3o3Ly83NTl2Lys5dkgvL3ZQcy8vN3c1Ly85N2VQLy9lcmUvLzNtMmYveHM0Ly8zbk0yLzlwd05mL1dialQvMFdzeS84eG5NZi9VYkRQLzVYZzQvK04zT1AvaWRqZi80SFUzLzk5ME4vL2VkRGIvOEtGei8vbTRrZi81dFl6LytiS0gvL212Z3YvNHJILy8rS2w3Ly9pbWR2LzRvbkgvK2FSeExmLy8rQ2IvL1B2Ly92bjIvLzcyOGYvKzgrei8vdkRuLy8zdDQvLzk2dDcvL09QVS8rZURTZi9oZFRmLzNYSTIvOWx3TmYvVmJUUC8wR295LzlSNlNmL2pnRWIvMzNRMi85NTBOdi9kY2piLzIzRTEvOXB4TmYvZmZVYi8rYmlRLy9tMWpQLzVzb2YvK2ErQy8vaXNmLy80cVh2LytLWjIvL2lpY2YvNXBIRXQvLy80SnYvOCsvLysrZmIvL3ZieC8vN3o3UC8rOE9mLy9lM2ovLzNxM3YvMnZKbi81M2s0LytSM04vL2dkRGIvM0hJMi85bHZOUC9VYkRQLzY2MkovKzJuZi8vYmNqWC8ybkUxLzlod05QL1hielQvMW00MC85UnRNLy92b25YLytiV00vL215aC8vNXI0TC8rS3gvLy9pcGUvLzRwbmIvK0tKeC8vbWtjUzMvLy9nbS8vejcvLzc1OXYvKzl2SC8vdlBzLy83dzUvLzk3ZVAvL2VqYi8rK0xVUC9wZWpuLzVuZzQvK04yTi8vZmREYi8zSEkxLzl4OVNQLzZ6N2IvK2NxdS85bDNRUC9XYmpULzFHMHovOUpzTS8vUmF6TC96Mm95LzlsOFIvLzV0WXovK2JLSC8vbXZndi80ckgvLytLbDcvL2ltZHYvNG9uSC8rYVJ4TGYvLytDYi8vUHYvL3ZuMi8vNzI4Zi8rOCt6Ly92RG4vLzN0NC8vNHhLVC83bjA2Lyt0OE9mL29lam4vNVhnNC8rSjJOLy9mZERiLzdxeUcvL3ZSdC8vN3pyTC81cDUxLzlGck12L1Fhakwvem1reS84eG5NZi9LWnpIL3lXVXcvKzZpZHYvNXNvZi8rYStDLy9pc2YvLzRxWHYvK0taMi8vaWljZi81cEhFdC8vLzRKdi84Ky8vKytmYi8vdmJ4Ly83ejdQLys4T2YvL2V6aS8vT1NWLy92ZmpyLzdYMDYvK3Q3T2Yvb2Vqbi81WGc0LytSL1JmLzcwYmovKzlHMy8vdk9zdi80eGFmL3ptMDQvOHRuTWYvSlpURC94MlF3LzhWakwvL0RZUzcvMDNsSi8vbXloLy81cjRMLytLeC8vL2lwZS8vNHBuYi8rS0p4Ly9ta2NTMy8vL2dtLy96Ny8vNzU5di8rOXZILy92UHMvLzd3NS8vN3k2Ly84b0E3Ly9GL08vL3ZmanIvN1gwNi8rcDdPZi9vZVRqLzhLdUQvL3pVdlAvNzBiZi8rODZ5Ly92THJ2L2VrMnIveFdNdi84UmlMLy9CWUM3L3dGOHQvNzFlTGYrN1hTMy83cUoyLy9tdmd2LzRySC8vK0tsNy8vaW1kdi80b25ILythUnhMZi8vK0NiLy9Qdi8vdm4yLy83MjhmLys4K3ovL3ZEbi8vYWFZdi96Z1R6LzhvQTcvL0IvTy8vdWZqci83SHc2LytxQlEvLzYwcnIvL05TOC8vdlJ0Ly83enJMLys4dXUvL1cvbi8vQ1l6TC92bDR0Lzd4Y0xQKzZXeXovdDFrci83VllLdi9PZUV6LythK0MvL2lzZi8vNHFYdi8rS1oyLy9paWNmLzVwSEV0Ly8vNEp2LzgrLy8rK2ZiLy92YngvLzd6N1AvKzcrYi85WVEvLy9TQlBQL3pnVHovOFlBNy8vQi9PLy91ZmpyLzg2dUEvL3pYd2YvODFMei8rOUczLy92T3N2Lzd5NjcvKzhpcC85U0lZUCs0V2l2L3RWZ3IvN05YS3YreFZTbi9yMVFwLzdaZE0vLzVyNEwvK0t4Ly8vaXBlLy80cG5iLytLSngvL21rY1MzLy8vZ20vL3o3Ly83NTl2Lys5dkgvL3ZQcy8vN3c1Ly8yajFELzlJSTgvL1NCUFAvemdEdi84WUE3LysrRFF2LzYwN3YvL05mQi8velV2UC83MGJmLys4NnkvL3ZMcnYvN3lLbi84YmVXLzdKWUxQK3ZWQ24vclZJcC82dFJLUCtxVUNmL3VtUTcvL212Z3YvNHJILy8rS2w3Ly9pbWR2LzRvbkgvK2FSeExmLy8rQ2IvL1B2Ly92bjIvLzcyOGYvKzgrei8vdkRuLy9yRW8vLzFnanovOUlJOC8vT0JQUC95Z0R2LzlyR0gvL3pheHYvODE4SC8vTlM4Ly92UnQvLzd6ckwvKzh1dS8vdklxZi82eEtUL3pZTmUvNmxRSi8rb1R5Zi9wMDRuLzZaT0ovL2VrV2ovK2ErQy8vaXNmLy80cVh2LytLWjIvL2lpY2YvNXBIRXQvLy80SnYvOCsvLysrZmIvL3ZieC8vN3o3UC8rOE9mLy9lM2ovL3JLclAvM29Hei85cDFvLy9pOW1mLzgzY3IvL05yRy8velh3Zi84MUx6Lys5RzMvL3ZPc3YvN3k2Ny8rOGlwLy9yRXBQLzV3SjcvMVk1cS83bHBRLys4YkViLzM1WnUvL215aC8vNXI0TC8rS3gvLy9pcGUvLzRwbmIvK0tKeC8vbWtjUzMvLy84bC8vejcvLzc1OXYvKzl2SC8vdlBzLy83dzUvLzk3ZVAvL2VyZS8vM20yZi85NDlULy9PRFAvL3pkeXYvODJzYi8vTmZCLy96VXZQLzcwYmYvKzg2eS8vdkxydi83eUtuLytzU2svL3JCbi8vNnZwci8rcnVWLy9tNGtmLzV0WXovK2JLSC8vbXZndi80ckgvLytLbDcvL2ltZHYvNG9uSC8rYVJ4TGYvLy94Zi8vZnYrL3ZuMi8vNzI4Zi8rOCt6Ly92RG4vLzN0NC8vOTZ0Ny8vZWJaLy8zajFQLzg0TS8vL04zSy8vemF4di84MThILy9OUzgvL3ZSdC8vN3pyTC8rOHV1Ly92SXFmLzZ4S1QvK3NHZi8vcSttdi82dTVYLytiaVIvL20xalAvNXNvZi8rYStDLy9pc2YvLzRxWHYvK0taMi8vaWljZi81cEhFdEFBQUFBUC84Kzh2KytmYi8vdmJ4Ly83ejdQLys4T2YvL2Uzai8vM3Ezdi85NXRuLy9lUFUvL3pnei8vODNjci8vTnJHLy96WHdmLzgxTHovKzlHMy8vdk9zdi83eTY3Lys4aXAvL3JFcFAvNndaLy8rcjZhLy9xN2xmLzV1SkgvK2JXTS8vbXloLy81cjRMLytLeC8vL2lwZS8vNHBuYi8rS054OGYreGRnMEFBQUFBLy92N1BQLzU5dmorOXZILy92UHMvLzd3NS8vOTdlUC8vZXJlLy8zbTJmLzk0OVQvL09EUC8vemR5di84MnNiLy9OZkIvL3pVdlAvNzBiZi8rODZ5Ly92THJ2Lzd5S24vK3NTay8vckJuLy82dnByLytydVYvL200a2YvNXRZei8rYktILy9tdmd2LzRySC8vK0tsNy8vaW1kdi80cFhKcEFBQUFBQUFBQUFBQUFBQUEvL2Z6UWY3Mjhkais4K3ovL3ZEbi8vM3Q0Ly85NnQ3Ly9lYlovLzNqMVAvODRNLy8vTjNLLy96YXh2LzgxOEgvL05TOC8vdlJ0Ly83enJMLys4dXUvL3ZJcWYvNnhLVC8rc0dmLy9xK212LzZ1NVgvK2JpUi8vbTFqUC81c29mLythK0MvL2lzZi8vM3FYdnErcWg0WkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy9Bdi96N1N2Lzgrcy8rK3ZqUVB2bjIwRDc0OWRBKytQVFFQdmZ6MEQ3Mjh0QSs5ZkRRUHZYdjBENzA3dEErOCszUVB2THMwRDd5NnRBKzhlblFQZkRvMEQzdjU5QTk3dWJRUGU3azBEM3Q0OUE5N09MUVBldmgwRDNyNE5BOWExOU5mKzJiUWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQUFBQURBQUFBQmdBQUFBQVFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy9BZi9yNnczLzh2SVUvL1BuRmYvejV4WC84K2NWLy9QbkZmL24yeFgvNTlzVi8rZmJGZi9uemhYLzU4NFYvOXZPRmYvYnpoWC8yOElWLzl2Q0ZmL2J3aFgvMjhJVi85dTJGZi9PdGhYL3pyWVYvODYyRmYvT3FoWC96cW9WLzhLcUZmL0NuaFgvd3A0Vi84S2VGZi9DbmhYL3dwSVYvN2FTRmYrMmtoWC90cElWLzdhR0ZmKzJoaFh6cW9ZVi82K0FFUCsvZ0FRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vL3dILytQRWsvL2J4Y2YzMDdxYis4ZW04L3UvbnYvN3U1TC84NitDLy9PcmV2L3puMnIvODVOZS8vT1BUdi96ZzBMLzgzODYvKzl6S3YvdmJ4Ny83Mk1PLys5ZkF2L3ZVdkwvNzBycS8rOUMzdi92UHRMLzd6TEMvKzh1dXYvdklxci82eHFlLytzU2p2L3JDb0wvNndKNi8rcjZhdi9xOGw3LzZ1cE8vK0xpUXYvaTJqci80czRxLytMS0h2L2l2aEwvNHJvSzkrS3gvci9tcmZJTDZxSHM0LzcrQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVB2Mzl6MysrUFRSL3ZieCtmNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbjJ2Lzk1ZGYvL2VQVC8vM2gwUC84MzgzLy9OM0ovL3pieC8vODJjUC8vTmJBLy96VnZmLzcwcnIvKzlDMi8vdlBzLy83ekxELys4cXQvL3ZKcXYvNnhxYi8rc1NqLy9yQ29QLzZ3SjMvK3I2Wi8vcThsdi81dXBQLytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFlL3ozcDNqbCtLWjBjdjhBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy9yNk4vLzYrUEQrOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NWRmLy9lUFQvLzNoMFAvODM4My8vTjNKLy96YngvLzgyY1AvL05iQS8velZ2Zi83MHJyLys5QzIvL3ZQcy8vN3pMRC8rOHF0Ly92SnF2LzZ4cWIvK3NTai8vckNvUC82d0ozLytyNlovL3E4bHYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9tamNuZi9tV1lGQUFBQUFBQUFBQUQvLy84YS8vdjZ5UC82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvLzNuMnYvOTVkZi8vZVBULy8zaDBQLzgzODMvL04zSi8vemJ4Ly84MmNQLy9OYkEvL3pWdmYvNzByci8rOUMyLy92UHMvLzd6TEQvKzhxdC8vdkpxdi82eHFiLytzU2ovL3JDb1AvNndKMy8rcjZaLy9xOGx2LzV1cFAvK2JpUS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWtjdW43cEhKREFBQUFBQUFBQUFELy9QeGUvL3o2OVAvNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbjJ2Lzk1ZGYvL2VQVC8vM2gwUC84MzgzLy9OM0ovL3pieC8vODJjUC8vTmJBLy96VnZmLzcwcnIvKzlDMi8vdlBzLy83ekxELys4cXQvL3ZKcXYvNnhxYi8rc1NqLy9yQ29QLzZ3SjMvK3I2Wi8vcThsdi81dXBQLytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY2Y3Mm9XK1QvNTlnQ1AvLy93WC8vZjJPLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NWRmLy9lUFQvLzNoMFAvODM4My8vTjNKLy96YngvLzgyY1AvL05iQS8velZ2Zi83MHJyLys4KzEvL3ZPc3YvN3pMRC8rOHF0Ly92SnF2LzZ4cWIvK3NTai8vckNvUC82d0ozLytyNlovL3E4bHYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy8vd3YvL2YyaC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvLzNuMnYvOTVkZi8vZVBULy8zaDBQLzgzODMvL04zSi8vemJ4Ly84MmNQLy9OYkEvL3ZPc3YvNXRJdi8rS2QyLy9pbGRQLzRzSVgvK3NXbC8vdkpxdi82eHFiLytzU2ovL3JDb1AvNndKMy8rcjZaLy9xOGx2LzV1cFAvK2JpUS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbjJ2Lzk1ZGYvL2VQVC8vM2gwUC84MzgzLy9OM0ovL3pieC8vODJjUC8rOHFzLy9hU1Z2LzFoVUgvOVlJOC8vV0NQUC8xaFVILzlwSlYvL3JBbmYvNnhxYi8rc1NqLy9yQ29QLzZ3SjMvK3I2Wi8vcThsdi81dXBQLytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NWRmLy9lUFQvLzNoMFAvODM4My8vTjNKLy96YngvLzcwYmYvOXBOVy8vV0NQUC8xZ2p6LzlZSTgvL1dDUFAvMGdqei85SUU4Ly9hU1YvLzZ3cUQvK3NTai8vckNvUC82d0ozLytyNlovL3E4bHYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvLzNuMnYvOTVkZi8vZVBULy8zaDBQLzgzODMvL04zSi8vemF4di81dG83LzlZVkIvL1NDUFAvMGdqei85SUU4Ly9TQlBQLzBnVHovOUlFOC8vU0ZRdi80cllILytzU2ovL3JDb1AvNndKMy8rcjZaLy9xOGx2LzV1cFAvK2JpUS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbjJ2Lzk1ZGYvL2VQVC8vM2gwUC84MzgzLy9OM0ovL25VdnYvd21tYi85SUU4Ly9TQlBQLzBnVHovOUlFOC8vU0JQUC96Z1R6Lzg0RTgvL09CUFAvMW1HSC8rc0NlLy9yQ29QLzZ3SjMvK3I2Wi8vcThsdi81dXBQLytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NWRmLy9lUFQvLzNoMFAvODM4My8vTjNKLy9EQXBmL2ZlRDMvOUlFOC8vU0JQUC8wZ1R6Lzg0RTgvL09CUFAvemdUdi84NEE3Ly9LQU8vL3loRUwvK0xhTy8vckNvUC82d0ozLytyNlovL3E4bHYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvLzNuMnYvOTVkZi8vZVBULy8zaDBQLzgzODMvL056SS85YUlZUC9VYkRQLzhvQTgvL09CUFAvemdUdi84b0E3Ly9LQU8vL3lnRHYvOG9BNy8vR0FPLy93Znp2LzlKaGgvL3JDb1AvNndKMy8rcjZaLy9xOGx2LzV1cFAvK2JpUS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbjJ2Lzk1ZGYvL2VQVC8vM2gwUC84MzgzLzhjR2wvOFZrTXYvSVpERC83WDA2Ly9PQVBQL3lnRHYvOG9BNy8vR0FPLy94Z0R2LzhIODcvL0IvTy8vdmZqci83NEErLy9pMWpmLzZ3SjMvK3I2Wi8vcThsdi81dXBQLytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NWRmLy9lUFQvLzNoMFAvNzNNai8yb3BlLzhaakwvL0RZQzcvM0hFMS8vS0FPLy95Z0R2LzhZQTcvL0YvTy8vd2Z6di84SDg3Lys1K08vL3RmVHIvN1gwNi8vS1VYdi82djV2LytyNlovL3E4bHYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvLzNuMnYvOTVkZi8vZVBULy8zaDBQL3h3S1QvMFhFOS84bGxNUC9HWXkvL3gyUXYvK3g5T3YveGZ6di84SDg3Lys5L08vL3ZmanYvN240Ni8reDlPdi9yZkRyLzYzdzUvK3lDUS8vM3NZZi8rcjZaLy9xOGx2LzV1cFAvK2JpUS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbjJ2Lzk1ZGYvL2VQVC8vemR5Ly9sbkhQLzBHb3ovOHhuTWYvSlpURC94V0l2Lzlsd05QL3dmenYvNzM0Ni8rOStPdi91ZmpyLzdIdzUvK3A4T2YvcWV6bi82WG81LytsN092L3htMmYvK3IyWC8vcThsdi81dXBQLytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NWRmLy9lUFQvL2ZQdVAvYmVrWC8wbXN5Lzg5cE12L0xaakgveUdRdi84cG1NUC9wZWpuLzduNDYvKzUrT3Yvc2ZEci82bnM1LytsN09mL29lam4vNkhvNS8rZDVPUC9xaEVuLytMV04vL3E4bHYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvLzNuMnYvOTVkZi8vZVBULyt5bGZQL1hielQvMUd3ei85RnFNdi9PYURIL3ltWXcvOGhrTVAvY2NqWC83WDA2Lyt4OE92L3Flem4vNkhvNS8rZDVPUC9tZVRqLzVuZzQvK1I0T1Ava2VEai84Wjl1Ly9xOGx2LzV1cFAvK2JpUS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbjJ2Lzk1ZGYvK3RYQS85OTRQdi9hY0RULzFtNDAvOU5zTS8vUmFqTC96V2d4LzhwbE1QL1FhakwvNlhvNS8rdDhPZi9uZVRqLzVYZzQvK1YzT1Ava2R6ai80M2MzLytKMk4vL2lkVGYvNUgxQi8vbTRrZi81dXBQLytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NU5YLzdhTjQvOTl6TnYvY2NUWC8yVzgwLzladU0vL1RiRFAvMEdveS84MW5NZi9LWmpELzRIUTIvK2g1T2Yva2R6ai81SGM0LytKM04vL2lkamYvNFhVMy8rQjFOLy9mZERiLzNuUTIvKzZiYXYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvLzNuMnYvNTBibi81b05KLytCME52L2VjemIvMjNFMS85bHZOUC9WYlRULzBtc3kvODlwTXYvTVp6SC8wbTg1LytONE92L2lkamYvNFhZMy8rQjFOLy9mZERiLzMzUTIvOTV6TnYvY2N6Yi8zSEkyLytGK1JmLzJzWWovK2JpUS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbDEvL3lzSWovNVhrNi8rSjJOLy9nZERiLzNYSTIvOXB4TmYvWWJ6VC8xVzB6LzlKck0vL1BhVEwvMzVSci8rZVFYdi9nZERiLzNuUTIvOTV6TnYvZGN6WC8zSEkxLzl0eE5mL2FjRFgvMlhBMC85cHlPUC90bTJ6LytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vdmF4Ly9zamxiLzVuZzQvK1IzTi8vaGRqZi8zM1EyLzkxeU52L2FjRFgvMkc0MC85VnNNLy9VY3ovLzg4Q2gvL081bVAvZGRqdi8zSEkxLzl0eU5mL2FjVFgvMlhBMC85aHdOUC9YYnpULzFtNDAvOVZ1TlAvZ2drNy85N0tKLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvL2E3bVAvcWZEdi82SGs1LytWNE9QL2pkemYvNFhVMy85OXpOdi9jY2pYLzJYQTEvOWR2TmYvaWsyai8rY3l4Ly9uSnJQL2pqVjMvMlhBMS85aHZOUC9YYnpULzFtODAvOVZ0TS8vVWJUUC8wMnd6LzlKck0vL1RiemYvNzZKMS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vT1RXLysrSlRmL3Jlem4vNlhvNS8rZDVPUC9sZHpqLzQzWTMvK0IxTnYvZWN6Yi8zSEUxLzl0M1B2L3Z0SlAvKzlDMi8vdk9zLy9zcVlQLzJITTYvOVZ0TS8vVmJUUC8wMjB6LzlKck12L1JhekwvMEdveS84OXBNdi9PYVRMLzJuMUsvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvOTdpVC8rNTlPdi9zZlRyLzZuczUvK2w2T2YvbmVUai81SGMzLytOMk4vL2dkVGYvM25NMi8rS0pWLy82ejdiLys5QzIvL3ZQcy8vM3hhYi8yWDVLLzlKc00vL1NhekwvMFdzeS84OXFNdi9PYURIL3pXZ3gvOHRvTWYvS1pqSC95V1l4LysyZ2RQLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC83M3MzLzhwQlcvKzkrT3YvdGZUci83SHc2LytwN09mL29lam4vNW5rNC8rUjNPUC9pZGpmLzRIVTQvL0s0bC8vNzByci8rOUMyLy92UHMvLzd6TEQvNktSKy84OXBNdi9PYVRIL3pXZ3gvOHhuTWYvTFpqSC95V1V4LzhobE1QL0haREQveG1Ndi85UjVTUC8zc0lYLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd0NC8vNHY1My84WU5BLy9CL08vL3VmanIvN1gwNi8reDhPZi9xZXpuLzZIazQvK1o1T1Ava2R6Zi81NDlkLy92VHUvLzcwcnIvKzlDMi8vdlBzLy83ekxELytjZXAvOUozUnYvTFp6RC95bVl3LzhobE1QL0haREQveG1Ndi84UmlMLy9EWVM3L3dtQXUvOFZtTlAvcW0yLy8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy8zbDF2LzJuV2ovOG9BNy8vRi9PLy93Znp2LzduMDYvKzE5T3YvcmZEci82WG81LytoNU9QL21lenovOUwyZC8velZ2Zi83MHJyLys5QzIvL3ZQcy8vN3pMRC8rOHF0Lytla2YvL0laVEwveG1Rdi84VmpMLy9FWVMvL3dtRXUvOEZnTHYvQVh5My92bDR0LzcxZExmL1ZmMUgvOTY2RC8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vdk1zUC8waFVMLzg0QTcvL0dBTy8vd2Z6di83Mzg3Lys1OU92L3NmVHIvNjN3NS8rbDZPZi9zbEdELytzKzIvL3pWdmYvNzByci8rOUMyLy92UHMvLzd6TEQvKzhxdC8vVytudi9PZDBuL3cyRXYvOEZnTHYvQVh5Ny92bDR0LzcxZExmKzhYQzMvdWxzcy83aGFLLysvWkRYLzdxSjIvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vL2VlYWYvMGdUei84NEU4Ly9LQU8vL3hnRHYvOEg4Ny8rOStPLy90ZlRyLzdIdzYvK3QvUC8vMHM0ei8vTmJBLy96VnZmLzcwcnIvKzlDMi8vdlBzLy83ekxELys4cXQvL3JJcVAvZWxtLy93R0F3LzcxZExQKzhYQ3ovdWx3cy83bGFMUCszV1N2L3RsZ3IvN1JYS3YrelZpci8xb05YLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9sLy9XR1EvLzBnanovOUlFOC8vT0JQUC95Z0R2LzhYODcvL0IvTy8vdmZqci83WDA2Lys2TVV2LzV6N2IvL05iQS8velZ2Zi83MHJyLys5QzIvL3ZQcy8vN3pMRC8rOHF0Ly92SnF2L3Z0WlAvd21rOC83bGJMUCs0V1N2L3Rsa3IvN1JZSy8relZpci9zbFVwLzdCVktmK3VVeW4vdm1jOC8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3U3bC8vV0hSUC8xZ2p6LzlJRTgvL09CUFAvemdEdi84b0E3Ly9GL08vL3dmenYvN240Ni8vU3hpZi84MmNQLy9OYkEvL3pWdmYvNzByci8rOUMyLy92UHMvLzd6TEQvKzhxdC8vdkpxdi82eGFiLzA0aGgvN1ZZSy8relZ5ci9zbFlxLzdCVktmK3ZWQ24vcmxNcC82eFNLUCtyVVNmL3UyUTYvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vL2VnYS8vMWdqei85SUk4Ly9TQlBQL3pnVHovODRBNy8vS0FPLy93Znp2LzhJcE8vL3ZYd1AvODJjUC8vTmJBLy96VnZmLzcwcnIvKzlDMi8vdlBzLy83ekxELys4cXQvL3ZKcXYvNnhxYi84N3FaLzdSYk1QK3ZWQ24vcmxNby82eFJLUCtyVUNqL3FsQW4vNmxQSi8rb1R5Zi95M2hQLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy92U3VmLzFpVWYvOVlJOC8vU0NQUC8wZ1R6Lzg0RTgvL0tBTy8veWcwRC85N3FWLy96YngvLzgyY1AvL05iQS8velZ2Zi83MHJyLys5QzIvL3ZQcy8vN3pMRC8rOHF0Ly92SnF2LzZ4cWIvK3NTai85S0xadit0VXl2L3FsQW4vNmhQSi8rb1R5Zi9xRThuLzZkUEovK3VWekQvNlo1MS8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy82dzMvL2Z5bC8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3Ezdi81dnB2LzlZMU4vL1dDUFAvMGdUei85SUU4Ly9PSFJ2LzJyb1AvKzluQy8vemJ4Ly84MmNQLy9OYkEvL3pWdmYvNzByci8rOUMyLy92UHMvLzd6TEQvKzhxdC8vdkpxdi82eHFiLytzU2ovL1M2bVAvSWZsbi9xbE1zLzZaT0ovK2xUU2IvcFUwbS82MVlNdi9ZaTJQLzk2K0UvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vNnczLy9meWwvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTZkei8vTm5GLy9tNmxQLzNxMzMvOTdPSy8vdk90UC83MjhmLy9OM0ovL3pieC8vODJjUC8vTmJBLy96VnZmLzcwcnIvKzlDMi8vdlBzLy83ekxELys4cXQvL3ZKcXYvNnhxYi8rc1NqLy9yQ29QLzF1cGYvNUtKKy84cC9XLy9EZGxILzBZWmgvK3ltZnYvM3NZZi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRC8vLzZ3My8vZnlsLy96Ni8vLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NWRmLy9lUFQvLzNoMFAvODM4My8vTjNKLy96YngvLzgyY1AvL05iQS8velZ2Zi83MHJyLys5QzIvL3ZQcy8vN3pMRC8rOHF0Ly92SnF2LzZ4cWIvK3NTai8vckNvUC82d0ozLytyNlovL3E4bHYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2LzVvM0dzLzZwM0QvLy8vd3ovL2Z5aS8vejYvLy82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvLzNuMnYvOTVkZi8vZVBULy8zaDBQLzgzODMvL04zSi8vemJ4Ly84MmNQLy9OYkEvL3pWdmYvNzByci8rOUMyLy92UHMvLzd6TEQvKzhxdC8vdkpxdi82eHFiLytzU2ovL3JDb1AvNndKMy8rcjZaLy9xOGx2LzV1cFAvK2JpUS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWpjdi81bzNHcy82cDNELy8vL3dYLy9mdVAvL3o2Ly8vNjkvLys5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbjJ2Lzk1ZGYvL2VQVC8vM2gwUC84MzgzLy9OM0ovL3pieC8vODJjUC8vTmJBLy96VnZmLzcwcnIvKzlDMi8vdlBzLy83ekxELys4cXQvL3ZKcXYvNnhxYi8rc1NqLy9yQ29QLzZ3SjMvK3I2Wi8vcThsdi81dXBQLytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLVjEvL2lqY3YvNW8zR3MvNnAzRHdBQUFBRC8vUHhkLy8zNzgvLzY5Ly8rOS9QLy92WHcvLzcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NWRmLy9lUFQvLzNoMFAvODM4My8vTjNKLy96YngvLzgyY1AvL05iQS8velZ2Zi83MHJyLys5QzIvL3ZQcy8vN3pMRC8rOHF0Ly92SnF2LzZ4cWIvK3NTai8vckNvUC82d0ozLytyNlovL3E4bHYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZlAvNHAzai8rS1YxLy9pamN2MzRvM0NRLzdadEJ3QUFBQUQvOWZVYS8vejZ4di82OS8vKzkvUC8vdlh3Ly83MDdmLys4ZXIvL3UvbS8vN3U1UC85NitELy9lbmQvLzNuMnYvOTVkZi8vZVBULy8zaDBQLzgzODMvL04zSi8vemJ4Ly84MmNQLy9OYkEvL3pWdmYvNzByci8rOUMyLy92UHMvLzd6TEQvKzhxdC8vdkpxdi82eHFiLytzU2ovL3JDb1AvNndKMy8rcjZaLy9xOGx2LzV1cFAvK2JpUS8vbTJqZi81czRuLytiR0cvL213Zy8vNHJZRC8rS3QrLy9pcWZQLzRwM2ovK0tWMS8vaWtjdWozcFhKQkFBQUFBQUFBQUFBQUFBQUEvL3I2TlAvNzkreis5L1AvL3ZYdy8vNzA3Zi8rOGVyLy91L20vLzd1NVAvOTYrRC8vZW5kLy8zbjJ2Lzk1ZGYvL2VQVC8vM2gwUC84MzgzLy9OM0ovL3pieC8vODJjUC8vTmJBLy96VnZmLzcwcnIvKzlDMi8vdlBzLy83ekxELys4cXQvL3ZKcXYvNnhxYi8rc1NqLy9yQ29QLzZ3SjMvK3I2Wi8vcThsdi81dXBQLytiaVEvL20yamYvNXM0bi8rYkdHLy9td2cvLzRyWUQvK0t0Ky8vaXFmUC80cDNqLytLWjEvdmFqY25ML21XWUZBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLzI5amovK2ZUTi92YngrUDcwN2YvKzhlci8vdS9tLy83dTVQLzk2K0QvL2VuZC8vM24ydi85NWRmLy9lUFQvLzNoMFAvODM4My8vTjNKLy96YngvLzgyY1AvL05iQS8velZ2Zi83MHJyLys5QzIvL3ZQcy8vN3pMRC8rOHF0Ly92SnF2LzZ4cWIvK3NTai8vckNvUC82d0ozLytyNlovL3E4bHYvNXVwUC8rYmlRLy9tMmpmLzVzNG4vK2JHRy8vbXdnLy80cllELytLdCsvL2lxZS96M3FIamsrcWgxYndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vL3dILzkvY2gvZmJ4YmYvMDdxTCs4ZXU3L3UvbnYvN3U1TC84NitDLy9PcmV2L3puMnIvODVOZS8vT1BUdi96ZzBMLzgzODYvKzl6S3YvdmJ4Ny83Mk1PLys5ZkF2L3ZVdkwvNzBycS8rOUMzdi92UHRMLzd6TEMvKzh1dXYvdklxci82eHFlLytzU2p2L3JDb0wvNndKNi8rcjZhdi9xOGw3LzZ1cE8vK0xpUXYvaTJqci80czRxLytMS0h2L2l2aEwvNHJvSzkrS3gvci9tcmZJTDJwM2szLzRDQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vL0FmL3E2Z3ovOHVZVS8vUG5GZi96NXhYLzgrY1YvL1BuRmYvbjJ4WC81OXNWLytmYkZmL256aFgvNTg0Vi85dk9GZi9iemhYLzI4SVYvOXZDRmYvYndoWC8yOElWLzl1MkZmL090aFgvenJZVi84NjJGZi9PcWhYL3pxb1YvOEtxRmYvQ25oWC93cDRWLzhLZUZmL0NuaFgvd3BJVi83YVNGZisya2hYL3RwSVYvN2FHRmYrMmhoWHpxb1lWLzYrQUVQKy9nQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PVwiLCAnYmFzZTY0J1xuICApXG5cbmV4cG9ydCBmdW5jdGlvbiBHRVQoKSB7XG4gIHJldHVybiBuZXcgTmV4dFJlc3BvbnNlKGJ1ZmZlciwge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiBjb250ZW50VHlwZSxcbiAgICAgICdDYWNoZS1Db250cm9sJzogXCJwdWJsaWMsIG1heC1hZ2U9MCwgbXVzdC1yZXZhbGlkYXRlXCIsXG4gICAgfSxcbiAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IGR5bmFtaWMgPSAnZm9yY2Utc3RhdGljJ1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js?page=%2Ffavicon.ico%2Froute&filePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp%2Ffavicon.ico&isDynamic=0!?__next_metadata_route__\n"); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/middleware-build-manifest.js b/.next/server/middleware-build-manifest.js index c0e86ad..0229456 100644 --- a/.next/server/middleware-build-manifest.js +++ b/.next/server/middleware-build-manifest.js @@ -1 +1,18 @@ -self.__BUILD_MANIFEST={"polyfillFiles":["static/chunks/polyfills.js"],"devFiles":["static/chunks/react-refresh.js"],"ampDevFiles":[],"lowPriorityFiles":["static/development/_buildManifest.js","static/development/_ssgManifest.js"],"rootMainFiles":["static/chunks/webpack.js","static/chunks/main-app.js"],"pages":{"/_app":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_app.js"],"/_error":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_error.js"]},"ampFirstPages":[]} \ No newline at end of file +self.__BUILD_MANIFEST = { + "polyfillFiles": [ + "static/chunks/polyfills.js" + ], + "devFiles": [], + "ampDevFiles": [], + "lowPriorityFiles": [], + "rootMainFiles": [], + "pages": { + "/_app": [] + }, + "ampFirstPages": [] +}; +self.__BUILD_MANIFEST.lowPriorityFiles = [ +"/static/" + process.env.__NEXT_BUILD_ID + "/_buildManifest.js", +,"/static/" + process.env.__NEXT_BUILD_ID + "/_ssgManifest.js", + +]; \ No newline at end of file diff --git a/.next/server/next-font-manifest.js b/.next/server/next-font-manifest.js index 000515f..5cc97eb 100644 --- a/.next/server/next-font-manifest.js +++ b/.next/server/next-font-manifest.js @@ -1 +1 @@ -self.__NEXT_FONT_MANIFEST="{\"pages\":{},\"app\":{\"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout\":[\"static/media/7e6a2e30184bb114-s.p.woff2\",\"static/media/a34f9d1faa5f3315-s.p.woff2\"]},\"appUsingSizeAdjust\":true,\"pagesUsingSizeAdjust\":false}" \ No newline at end of file +self.__NEXT_FONT_MANIFEST="{\"pages\":{},\"app\":{},\"appUsingSizeAdjust\":false,\"pagesUsingSizeAdjust\":false}" \ No newline at end of file diff --git a/.next/server/next-font-manifest.json b/.next/server/next-font-manifest.json index 1ab17ad..25f78e7 100644 --- a/.next/server/next-font-manifest.json +++ b/.next/server/next-font-manifest.json @@ -1 +1 @@ -{"pages":{},"app":{"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout":["static/media/7e6a2e30184bb114-s.p.woff2","static/media/a34f9d1faa5f3315-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false} \ No newline at end of file +{"pages":{},"app":{},"appUsingSizeAdjust":false,"pagesUsingSizeAdjust":false} \ No newline at end of file diff --git a/.next/server/pages-manifest.json b/.next/server/pages-manifest.json index a679766..9e26dfe 100644 --- a/.next/server/pages-manifest.json +++ b/.next/server/pages-manifest.json @@ -1,5 +1 @@ -{ - "/_app": "pages/_app.js", - "/_error": "pages/_error.js", - "/_document": "pages/_document.js" -} \ No newline at end of file +{} \ No newline at end of file diff --git a/.next/server/pages/_app.js b/.next/server/pages/_app.js deleted file mode 100644 index bdff337..0000000 --- a/.next/server/pages/_app.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "pages/_app"; -exports.ids = ["pages/_app"]; -exports.modules = { - -/***/ "react": -/*!************************!*\ - !*** external "react" ***! - \************************/ -/***/ ((module) => { - -module.exports = require("react"); - -/***/ }), - -/***/ "react/jsx-runtime": -/*!************************************!*\ - !*** external "react/jsx-runtime" ***! - \************************************/ -/***/ ((module) => { - -module.exports = require("react/jsx-runtime"); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("./node_modules/next/dist/pages/_app.js"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/pages/_document.js b/.next/server/pages/_document.js deleted file mode 100644 index a0748c0..0000000 --- a/.next/server/pages/_document.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "pages/_document"; -exports.ids = ["pages/_document"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/pages.runtime.dev.js": -/*!**********************************************************************!*\ - !*** external "next/dist/compiled/next-server/pages.runtime.dev.js" ***! - \**********************************************************************/ -/***/ ((module) => { - -module.exports = require("next/dist/compiled/next-server/pages.runtime.dev.js"); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "react" ***! - \************************/ -/***/ ((module) => { - -module.exports = require("react"); - -/***/ }), - -/***/ "react/jsx-runtime": -/*!************************************!*\ - !*** external "react/jsx-runtime" ***! - \************************************/ -/***/ ((module) => { - -module.exports = require("react/jsx-runtime"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -module.exports = require("path"); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("./node_modules/next/dist/pages/_document.js"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/pages/_error.js b/.next/server/pages/_error.js deleted file mode 100644 index 5a13bbb..0000000 --- a/.next/server/pages/_error.js +++ /dev/null @@ -1,76 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "pages/_error"; -exports.ids = ["pages/_error"]; -exports.modules = { - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: () => (/* binding */ config),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getServerSideProps: () => (/* binding */ getServerSideProps),\n/* harmony export */ getStaticPaths: () => (/* binding */ getStaticPaths),\n/* harmony export */ getStaticProps: () => (/* binding */ getStaticProps),\n/* harmony export */ reportWebVitals: () => (/* binding */ reportWebVitals),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ unstable_getServerProps: () => (/* binding */ unstable_getServerProps),\n/* harmony export */ unstable_getServerSideProps: () => (/* binding */ unstable_getServerSideProps),\n/* harmony export */ unstable_getStaticParams: () => (/* binding */ unstable_getStaticParams),\n/* harmony export */ unstable_getStaticPaths: () => (/* binding */ unstable_getStaticPaths),\n/* harmony export */ unstable_getStaticProps: () => (/* binding */ unstable_getStaticProps)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_pages_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/pages/module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\");\n/* harmony import */ var next_dist_server_future_route_modules_pages_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_pages_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/build/templates/helpers */ \"./node_modules/next/dist/build/templates/helpers.js\");\n/* harmony import */ var next_dist_pages_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/pages/_document */ \"./node_modules/next/dist/pages/_document.js\");\n/* harmony import */ var next_dist_pages_document__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_pages_document__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var next_dist_pages_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/dist/pages/_app */ \"./node_modules/next/dist/pages/_app.js\");\n/* harmony import */ var next_dist_pages_app__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_dist_pages_app__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! next/dist/pages/_error */ \"./node_modules/next/dist/pages/_error.js\");\n/* harmony import */ var next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n// Import the app and document modules.\n\n\n// Import the userland code.\n\n// Re-export the component (should be the default export).\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"default\"));\n// Re-export methods.\nconst getStaticProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"getStaticProps\");\nconst getStaticPaths = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"getStaticPaths\");\nconst getServerSideProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"getServerSideProps\");\nconst config = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"config\");\nconst reportWebVitals = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"reportWebVitals\");\n// Re-export legacy methods.\nconst unstable_getStaticProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticProps\");\nconst unstable_getStaticPaths = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticPaths\");\nconst unstable_getStaticParams = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticParams\");\nconst unstable_getServerProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerProps\");\nconst unstable_getServerSideProps = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerSideProps\");\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_pages_module_compiled__WEBPACK_IMPORTED_MODULE_0__.PagesRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.PAGES,\n page: \"/_error\",\n pathname: \"/_error\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\"\n },\n components: {\n App: (next_dist_pages_app__WEBPACK_IMPORTED_MODULE_4___default()),\n Document: (next_dist_pages_document__WEBPACK_IMPORTED_MODULE_3___default())\n },\n userland: next_dist_pages_error__WEBPACK_IMPORTED_MODULE_5__\n});\n\n//# sourceMappingURL=pages.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9pbmRleC5qcz9raW5kPVBBR0VTJnBhZ2U9JTJGX2Vycm9yJnByZWZlcnJlZFJlZ2lvbj0mYWJzb2x1dGVQYWdlUGF0aD1uZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2Vycm9yJmFic29sdXRlQXBwUGF0aD1uZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2FwcCZhYnNvbHV0ZURvY3VtZW50UGF0aD1uZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2RvY3VtZW50Jm1pZGRsZXdhcmVDb25maWdCYXNlNjQ9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQStGO0FBQ2hDO0FBQ0w7QUFDMUQ7QUFDaUQ7QUFDVjtBQUN2QztBQUNtRDtBQUNuRDtBQUNBLGlFQUFlLHdFQUFLLENBQUMsa0RBQVEsWUFBWSxFQUFDO0FBQzFDO0FBQ08sdUJBQXVCLHdFQUFLLENBQUMsa0RBQVE7QUFDckMsdUJBQXVCLHdFQUFLLENBQUMsa0RBQVE7QUFDckMsMkJBQTJCLHdFQUFLLENBQUMsa0RBQVE7QUFDekMsZUFBZSx3RUFBSyxDQUFDLGtEQUFRO0FBQzdCLHdCQUF3Qix3RUFBSyxDQUFDLGtEQUFRO0FBQzdDO0FBQ08sZ0NBQWdDLHdFQUFLLENBQUMsa0RBQVE7QUFDOUMsZ0NBQWdDLHdFQUFLLENBQUMsa0RBQVE7QUFDOUMsaUNBQWlDLHdFQUFLLENBQUMsa0RBQVE7QUFDL0MsZ0NBQWdDLHdFQUFLLENBQUMsa0RBQVE7QUFDOUMsb0NBQW9DLHdFQUFLLENBQUMsa0RBQVE7QUFDekQ7QUFDTyx3QkFBd0IseUdBQWdCO0FBQy9DO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixLQUFLO0FBQ0wsWUFBWTtBQUNaLENBQUM7O0FBRUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvPzBkOTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZXNSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL3BhZ2VzL21vZHVsZS5jb21waWxlZFwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbmltcG9ydCB7IGhvaXN0IH0gZnJvbSBcIm5leHQvZGlzdC9idWlsZC90ZW1wbGF0ZXMvaGVscGVyc1wiO1xuLy8gSW1wb3J0IHRoZSBhcHAgYW5kIGRvY3VtZW50IG1vZHVsZXMuXG5pbXBvcnQgRG9jdW1lbnQgZnJvbSBcIm5leHQvZGlzdC9wYWdlcy9fZG9jdW1lbnRcIjtcbmltcG9ydCBBcHAgZnJvbSBcIm5leHQvZGlzdC9wYWdlcy9fYXBwXCI7XG4vLyBJbXBvcnQgdGhlIHVzZXJsYW5kIGNvZGUuXG5pbXBvcnQgKiBhcyB1c2VybGFuZCBmcm9tIFwibmV4dC9kaXN0L3BhZ2VzL19lcnJvclwiO1xuLy8gUmUtZXhwb3J0IHRoZSBjb21wb25lbnQgKHNob3VsZCBiZSB0aGUgZGVmYXVsdCBleHBvcnQpLlxuZXhwb3J0IGRlZmF1bHQgaG9pc3QodXNlcmxhbmQsIFwiZGVmYXVsdFwiKTtcbi8vIFJlLWV4cG9ydCBtZXRob2RzLlxuZXhwb3J0IGNvbnN0IGdldFN0YXRpY1Byb3BzID0gaG9pc3QodXNlcmxhbmQsIFwiZ2V0U3RhdGljUHJvcHNcIik7XG5leHBvcnQgY29uc3QgZ2V0U3RhdGljUGF0aHMgPSBob2lzdCh1c2VybGFuZCwgXCJnZXRTdGF0aWNQYXRoc1wiKTtcbmV4cG9ydCBjb25zdCBnZXRTZXJ2ZXJTaWRlUHJvcHMgPSBob2lzdCh1c2VybGFuZCwgXCJnZXRTZXJ2ZXJTaWRlUHJvcHNcIik7XG5leHBvcnQgY29uc3QgY29uZmlnID0gaG9pc3QodXNlcmxhbmQsIFwiY29uZmlnXCIpO1xuZXhwb3J0IGNvbnN0IHJlcG9ydFdlYlZpdGFscyA9IGhvaXN0KHVzZXJsYW5kLCBcInJlcG9ydFdlYlZpdGFsc1wiKTtcbi8vIFJlLWV4cG9ydCBsZWdhY3kgbWV0aG9kcy5cbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTdGF0aWNQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFN0YXRpY1Byb3BzXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFN0YXRpY1BhdGhzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U3RhdGljUGF0aHNcIik7XG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U3RhdGljUGFyYW1zID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U3RhdGljUGFyYW1zXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFNlcnZlclByb3BzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U2VydmVyUHJvcHNcIik7XG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U2VydmVyU2lkZVByb3BzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U2VydmVyU2lkZVByb3BzXCIpO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgUGFnZXNSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuUEFHRVMsXG4gICAgICAgIHBhZ2U6IFwiL19lcnJvclwiLFxuICAgICAgICBwYXRobmFtZTogXCIvX2Vycm9yXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogXCJcIixcbiAgICAgICAgZmlsZW5hbWU6IFwiXCJcbiAgICB9LFxuICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgQXBwLFxuICAgICAgICBEb2N1bWVudFxuICAgIH0sXG4gICAgdXNlcmxhbmRcbn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYWdlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!\n"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/pages.runtime.dev.js": -/*!**********************************************************************!*\ - !*** external "next/dist/compiled/next-server/pages.runtime.dev.js" ***! - \**********************************************************************/ -/***/ ((module) => { - -module.exports = require("next/dist/compiled/next-server/pages.runtime.dev.js"); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "react" ***! - \************************/ -/***/ ((module) => { - -module.exports = require("react"); - -/***/ }), - -/***/ "react/jsx-runtime": -/*!************************************!*\ - !*** external "react/jsx-runtime" ***! - \************************************/ -/***/ ((module) => { - -module.exports = require("react/jsx-runtime"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -module.exports = require("path"); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/server-reference-manifest.js b/.next/server/server-reference-manifest.js index f6f3bc0..cc0af96 100644 --- a/.next/server/server-reference-manifest.js +++ b/.next/server/server-reference-manifest.js @@ -1 +1 @@ -self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"mWin15Qqvza6UC9Zecm+MgTq5SciNvjJYeso2p07aMU=\"\n}" \ No newline at end of file +self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"\n}" \ No newline at end of file diff --git a/.next/server/server-reference-manifest.json b/.next/server/server-reference-manifest.json index eadbb15..2bd0803 100644 --- a/.next/server/server-reference-manifest.json +++ b/.next/server/server-reference-manifest.json @@ -1,5 +1,5 @@ { "node": {}, "edge": {}, - "encryptionKey": "mWin15Qqvza6UC9Zecm+MgTq5SciNvjJYeso2p07aMU=" + "encryptionKey": "lE7QTLDf5fzLqbLGmgTOiqlIKcsglz1Ry3jOsTUIE/4=" } \ No newline at end of file diff --git a/.next/server/vendor-chunks/@headlessui.js b/.next/server/vendor-chunks/@headlessui.js deleted file mode 100644 index 5cfd710..0000000 --- a/.next/server/vendor-chunks/@headlessui.js +++ /dev/null @@ -1,337 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/@headlessui"; -exports.ids = ["vendor-chunks/@headlessui"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js ***! - \*********************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Disclosure: () => (/* binding */ We),\n/* harmony export */ DisclosureButton: () => (/* binding */ Ce),\n/* harmony export */ DisclosurePanel: () => (/* binding */ Ie)\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @react-aria/focus */ \"(ssr)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @react-aria/interactions */ \"(ssr)/./node_modules/@react-aria/interactions/dist/useHover.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../hooks/use-id.js */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../hooks/use-transition.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-transition.js\");\n/* harmony import */ var _internal_close_provider_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../internal/close-provider.js */ \"(ssr)/./node_modules/@headlessui/react/dist/internal/close-provider.js\");\n/* harmony import */ var _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../internal/open-closed.js */ \"(ssr)/./node_modules/@headlessui/react/dist/internal/open-closed.js\");\n/* harmony import */ var _utils_bugs_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/bugs.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/bugs.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/match.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/owner.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/render.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _utils_start_transition_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/start-transition.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/start-transition.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../keyboard.js */ \"(ssr)/./node_modules/@headlessui/react/dist/components/keyboard.js\");\n/* __next_internal_client_entry_do_not_use__ Disclosure,DisclosureButton,DisclosurePanel auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar de = ((r)=>(r[r.Open = 0] = \"Open\", r[r.Closed = 1] = \"Closed\", r))(de || {}), fe = ((t)=>(t[t.ToggleDisclosure = 0] = \"ToggleDisclosure\", t[t.CloseDisclosure = 1] = \"CloseDisclosure\", t[t.SetButtonId = 2] = \"SetButtonId\", t[t.SetPanelId = 3] = \"SetPanelId\", t[t.LinkPanel = 4] = \"LinkPanel\", t[t.UnlinkPanel = 5] = \"UnlinkPanel\", t))(fe || {});\nlet Te = {\n [0]: (e)=>({\n ...e,\n disclosureState: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(e.disclosureState, {\n [0]: 1,\n [1]: 0\n })\n }),\n [1]: (e)=>e.disclosureState === 1 ? e : {\n ...e,\n disclosureState: 1\n },\n [4] (e) {\n return e.linkedPanel === !0 ? e : {\n ...e,\n linkedPanel: !0\n };\n },\n [5] (e) {\n return e.linkedPanel === !1 ? e : {\n ...e,\n linkedPanel: !1\n };\n },\n [2] (e, n) {\n return e.buttonId === n.buttonId ? e : {\n ...e,\n buttonId: n.buttonId\n };\n },\n [3] (e, n) {\n return e.panelId === n.panelId ? e : {\n ...e,\n panelId: n.panelId\n };\n }\n}, M = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nM.displayName = \"DisclosureContext\";\nfunction F(e) {\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(M);\n if (n === null) {\n let r = new Error(`<${e} /> is missing a parent component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(r, F), r;\n }\n return n;\n}\nlet k = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nk.displayName = \"DisclosureAPIContext\";\nfunction V(e) {\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(k);\n if (n === null) {\n let r = new Error(`<${e} /> is missing a parent component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(r, V), r;\n }\n return n;\n}\nlet H = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nH.displayName = \"DisclosurePanelContext\";\nfunction De() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(H);\n}\nfunction Pe(e, n) {\n return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(n.type, Te, e, n);\n}\nlet ye = react__WEBPACK_IMPORTED_MODULE_0__.Fragment;\nfunction me(e, n) {\n let { defaultOpen: r = !1, ...c } = e, s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), d = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(n, (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.optionalRef)((u)=>{\n s.current = u;\n }, e.as === void 0 || e.as === react__WEBPACK_IMPORTED_MODULE_0__.Fragment)), t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(Pe, {\n disclosureState: r ? 0 : 1,\n linkedPanel: !1,\n buttonRef: o,\n panelRef: t,\n buttonId: null,\n panelId: null\n }), [{ disclosureState: f, buttonId: i }, T] = l, p = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((u)=>{\n T({\n type: 1\n });\n let P = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_4__.getOwnerDocument)(s);\n if (!P || !i) return;\n let y = (()=>u ? u instanceof HTMLElement ? u : u.current instanceof HTMLElement ? u.current : P.getElementById(i) : P.getElementById(i))();\n y == null || y.focus();\n }), E = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n close: p\n }), [\n p\n ]), D = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: f === 0,\n close: p\n }), [\n f,\n p\n ]), g = {\n ref: d\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(M.Provider, {\n value: l\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(k.Provider, {\n value: E\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_close_provider_js__WEBPACK_IMPORTED_MODULE_5__.CloseProvider, {\n value: p\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.OpenClosedProvider, {\n value: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(f, {\n [0]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Open,\n [1]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Closed\n })\n }, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.render)({\n ourProps: g,\n theirProps: c,\n slot: D,\n defaultTag: ye,\n name: \"Disclosure\"\n })))));\n}\nlet Ee = \"button\";\nfunction ge(e, n) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: c = `headlessui-disclosure-button-${r}`, disabled: s = !1, autoFocus: d = !1, ...t } = e, [o, l] = F(\"Disclosure.Button\"), f = De(), i = f === null ? !1 : f === o.panelId, T = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), p = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(T, n, i ? null : o.buttonRef), E = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useMergeRefsFn)();\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n if (!i) return l({\n type: 2,\n buttonId: c\n }), ()=>{\n l({\n type: 2,\n buttonId: null\n });\n };\n }, [\n c,\n l,\n i\n ]);\n let D = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((a)=>{\n var S;\n if (i) {\n if (o.disclosureState === 1) return;\n switch(a.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Space:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Enter:\n a.preventDefault(), a.stopPropagation(), l({\n type: 0\n }), (S = o.buttonRef.current) == null || S.focus();\n break;\n }\n } else switch(a.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Space:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Enter:\n a.preventDefault(), a.stopPropagation(), l({\n type: 0\n });\n break;\n }\n }), g = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((a)=>{\n switch(a.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Space:\n a.preventDefault();\n break;\n }\n }), u = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((a)=>{\n var S;\n (0,_utils_bugs_js__WEBPACK_IMPORTED_MODULE_9__.isDisabledReactIssue7711)(a.currentTarget) || s || (i ? (l({\n type: 0\n }), (S = o.buttonRef.current) == null || S.focus()) : l({\n type: 0\n }));\n }), { isFocusVisible: P, focusProps: y } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_10__.useFocusRing)({\n autoFocus: d\n }), { isHovered: U, hoverProps: h } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_11__.useHover)({\n isDisabled: s\n }), { pressed: N, pressProps: w } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_12__.useActivePress)({\n disabled: s\n }), q = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: o.disclosureState === 0,\n hover: U,\n active: N,\n disabled: s,\n focus: P,\n autofocus: d\n }), [\n o,\n U,\n N,\n P,\n s,\n d\n ]), G = (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_13__.useResolveButtonType)(e, T), z = i ? (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.mergeProps)({\n ref: p,\n type: G,\n disabled: s || void 0,\n autoFocus: d,\n onKeyDown: D,\n onClick: u\n }, y, h, w) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.mergeProps)({\n ref: p,\n id: c,\n type: G,\n \"aria-expanded\": o.disclosureState === 0,\n \"aria-controls\": o.linkedPanel ? o.panelId : void 0,\n disabled: s || void 0,\n autoFocus: d,\n onKeyDown: D,\n onKeyUp: g,\n onClick: u\n }, y, h, w);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.render)({\n mergeRefs: E,\n ourProps: z,\n theirProps: t,\n slot: q,\n defaultTag: Ee,\n name: \"Disclosure.Button\"\n });\n}\nlet Se = \"div\", be = _utils_render_js__WEBPACK_IMPORTED_MODULE_7__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_7__.RenderFeatures.Static;\nfunction Re(e, n) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: c = `headlessui-disclosure-panel-${r}`, transition: s = !1, ...d } = e, [t, o] = F(\"Disclosure.Panel\"), { close: l } = V(\"Disclosure.Panel\"), f = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useMergeRefsFn)(), i = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(n, t.panelRef, (u)=>{\n (0,_utils_start_transition_js__WEBPACK_IMPORTED_MODULE_14__.startTransition)(()=>o({\n type: u ? 4 : 5\n }));\n });\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>(o({\n type: 3,\n panelId: c\n }), ()=>{\n o({\n type: 3,\n panelId: null\n });\n }), [\n c,\n o\n ]);\n let T = (0,_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.useOpenClosed)(), [p, E] = (0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_15__.useTransition)(s, t.panelRef, T !== null ? (T & _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Open) === _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Open : t.disclosureState === 0), D = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: t.disclosureState === 0,\n close: l\n }), [\n t.disclosureState,\n l\n ]), g = {\n ref: i,\n id: c,\n ...(0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_15__.transitionDataAttributes)(E)\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.ResetOpenClosedProvider, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(H.Provider, {\n value: t.panelId\n }, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.render)({\n mergeRefs: f,\n ourProps: g,\n theirProps: d,\n slot: D,\n defaultTag: Se,\n features: be,\n visible: p,\n name: \"Disclosure.Panel\"\n })));\n}\nlet Ae = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(me), Ce = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(ge), Ie = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(Re), We = Object.assign(Ae, {\n Button: Ce,\n Panel: Ie\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2Rpc2Nsb3N1cmUvZGlzY2xvc3VyZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lHQUE4RDtBQUFvRDtBQUErSDtBQUFrRTtBQUFvRDtBQUE4QztBQUErRTtBQUE2RTtBQUE4RjtBQUFrRTtBQUFpSTtBQUFnRTtBQUE2QztBQUF5RDtBQUE2SDtBQUFtRTtBQUFzQztBQUFBLElBQUlpRSxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUMsSUFBR0ksS0FBRyxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLGdCQUFnQixHQUFDLEVBQUUsR0FBQyxvQkFBbUJELENBQUMsQ0FBQ0EsRUFBRUUsZUFBZSxHQUFDLEVBQUUsR0FBQyxtQkFBa0JGLENBQUMsQ0FBQ0EsRUFBRUcsV0FBVyxHQUFDLEVBQUUsR0FBQyxlQUFjSCxDQUFDLENBQUNBLEVBQUVJLFVBQVUsR0FBQyxFQUFFLEdBQUMsY0FBYUosQ0FBQyxDQUFDQSxFQUFFSyxTQUFTLEdBQUMsRUFBRSxHQUFDLGFBQVlMLENBQUMsQ0FBQ0EsRUFBRU0sV0FBVyxHQUFDLEVBQUUsR0FBQyxlQUFjTixDQUFBQSxDQUFDLEVBQUdELE1BQUksQ0FBQztBQUFHLElBQUlRLEtBQUc7SUFBQyxDQUFDLEVBQUUsRUFBQ0MsQ0FBQUEsSUFBSTtZQUFDLEdBQUdBLENBQUM7WUFBQ0MsaUJBQWdCL0Isc0RBQUNBLENBQUM4QixFQUFFQyxlQUFlLEVBQUM7Z0JBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQUUsQ0FBQyxFQUFFLEVBQUM7WUFBQztRQUFFO0lBQUcsQ0FBQyxFQUFFLEVBQUNE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M0I7UUFBRTRCLE1BQUtUO1FBQUVVLFlBQVdvQztRQUFHTSxVQUFTTDtRQUFHTSxTQUFRN0Q7UUFBRW1CLE1BQUs7SUFBa0I7QUFBSTtBQUFDLElBQUkyQyxLQUFHdkgsa0VBQUNBLENBQUMwQyxLQUFJOEUsS0FBR3hILGtFQUFDQSxDQUFDOEUsS0FBSTJDLEtBQUd6SCxrRUFBQ0EsQ0FBQ21ILEtBQUlPLEtBQUdDLE9BQU9DLE1BQU0sQ0FBQ0wsSUFBRztJQUFDTSxRQUFPTDtJQUFHTSxPQUFNTDtBQUFFO0FBQXlFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvY29tcG9uZW50cy9kaXNjbG9zdXJlL2Rpc2Nsb3N1cmUuanM/MTdkZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtpbXBvcnR7dXNlRm9jdXNSaW5nIGFzIFF9ZnJvbVwiQHJlYWN0LWFyaWEvZm9jdXNcIjtpbXBvcnR7dXNlSG92ZXIgYXMgWX1mcm9tXCJAcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnNcIjtpbXBvcnQgbSx7RnJhZ21lbnQgYXMgSyxjcmVhdGVDb250ZXh0IGFzIHgsdXNlQ29udGV4dCBhcyBMLHVzZUVmZmVjdCBhcyBqLHVzZU1lbW8gYXMgUix1c2VSZWR1Y2VyIGFzIFosdXNlUmVmIGFzIEF9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlQWN0aXZlUHJlc3MgYXMgZWV9ZnJvbScuLi8uLi9ob29rcy91c2UtYWN0aXZlLXByZXNzLmpzJztpbXBvcnR7dXNlRXZlbnQgYXMgQ31mcm9tJy4uLy4uL2hvb2tzL3VzZS1ldmVudC5qcyc7aW1wb3J0e3VzZUlkIGFzIFd9ZnJvbScuLi8uLi9ob29rcy91c2UtaWQuanMnO2ltcG9ydHt1c2VSZXNvbHZlQnV0dG9uVHlwZSBhcyB0ZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzJztpbXBvcnR7b3B0aW9uYWxSZWYgYXMgbmUsdXNlU3luY1JlZnMgYXMgdn1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHt0cmFuc2l0aW9uRGF0YUF0dHJpYnV0ZXMgYXMgb2UsdXNlVHJhbnNpdGlvbiBhcyByZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS10cmFuc2l0aW9uLmpzJztpbXBvcnR7Q2xvc2VQcm92aWRlciBhcyBsZX1mcm9tJy4uLy4uL2ludGVybmFsL2Nsb3NlLXByb3ZpZGVyLmpzJztpbXBvcnR7T3BlbkNsb3NlZFByb3ZpZGVyIGFzIHNlLFJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyIGFzIGllLFN0YXRlIGFzIEksdXNlT3BlbkNsb3NlZCBhcyB1ZX1mcm9tJy4uLy4uL2ludGVybmFsL29wZW4tY2xvc2VkLmpzJztpbXBvcnR7aXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIGFzIGFlfWZyb20nLi4vLi4vdXRpbHMvYnVncy5qcyc7aW1wb3J0e21hdGNoIGFzIE99ZnJvbScuLi8uLi91dGlscy9tYXRjaC5qcyc7aW1wb3J0e2dldE93bmVyRG9jdW1lbnQgYXMgcGV9ZnJvbScuLi8uLi91dGlscy9vd25lci5qcyc7aW1wb3J0e1JlbmRlckZlYXR1cmVzIGFzICQsZm9yd2FyZFJlZldpdGhBcyBhcyBfLG1lcmdlUHJvcHMgYXMgSixyZW5kZXIgYXMgQix1c2VNZXJnZVJlZnNGbiBhcyBYfWZyb20nLi4vLi4vdXRpbHMvcmVuZGVyLmpzJztpbXBvcnR7c3RhcnRUcmFuc2l0aW9uIGFzIGNlfWZyb20nLi4vLi4vdXRpbHMvc3RhcnQtdHJhbnNpdGlvbi5qcyc7aW1wb3J0e0tleXMgYXMgYn1mcm9tJy4uL2tleWJvYXJkLmpzJzt2YXIgZGU9KHI9PihyW3IuT3Blbj0wXT1cIk9wZW5cIixyW3IuQ2xvc2VkPTFdPVwiQ2xvc2VkXCIscikpKGRlfHx7fSksZmU9KHQ9Pih0W3QuVG9nZ2xlRGlzY2xvc3VyZT0wXT1cIlRvZ2dsZURpc2Nsb3N1cmVcIix0W3QuQ2xvc2VEaXNjbG9zdXJlPTFdPVwiQ2xvc2VEaXNjbG9zdXJlXCIsdFt0LlNldEJ1dHRvbklkPTJdPVwiU2V0QnV0dG9uSWRcIix0W3QuU2V0UGFuZWxJZD0zXT1cIlNldFBhbmVsSWRcIix0W3QuTGlua1BhbmVsPTRdPVwiTGlua1BhbmVsXCIsdFt0LlVubGlua1BhbmVsPTVdPVwiVW5saW5rUGFuZWxcIix0KSkoZmV8fHt9KTtsZXQgVGU9e1swXTplPT4oey4uLmUsZGlzY2xvc3VyZVN0YXRlOk8oZS5kaXNjbG9zdXJlU3RhdGUse1swXToxLFsxXTowfSl9KSxbMV06ZT0+ZS5kaXNjbG9zdXJlU3RhdGU9PT0xP2U6ey4uLmUsZGlzY2xvc3VyZVN0YXRlOjF9LFs0XShlKXtyZXR1cm4gZS5saW5rZWRQYW5lbD09PSEwP2U6ey4uLmUsbGlua2VkUGFuZWw6ITB9fSxbNV0oZSl7cmV0dXJuIGUubGlua2VkUGFuZWw9PT0hMT9lOnsuLi5lLGxpbmtlZFBhbmVsOiExfX0sWzJdKGUsbil7cmV0dXJuIGUuYnV0dG9uSWQ9PT1uLmJ1dHRvbklkP2U6ey4uLmUsYnV0dG9uSWQ6bi5idXR0b25JZH19LFszXShlLG4pe3JldHVybiBlLnBhbmVsSWQ9PT1uLnBhbmVsSWQ/ZTp7Li4uZSxwYW5lbElkOm4ucGFuZWxJZH19fSxNPXgobnVsbCk7TS5kaXNwbGF5TmFtZT1cIkRpc2Nsb3N1cmVDb250ZXh0XCI7ZnVuY3Rpb24gRihlKXtsZXQgbj1MKE0pO2lmKG49PT1udWxsKXtsZXQgcj1uZXcgRXJyb3IoYDwke2V9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPERpc2Nsb3N1cmUgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShyLEYpLHJ9cmV0dXJuIG59bGV0IGs9eChudWxsKTtrLmRpc3BsYXlOYW1lPVwiRGlzY2xvc3VyZUFQSUNvbnRleHRcIjtmdW5jdGlvbiBWKGUpe2xldCBuPUwoayk7aWYobj09PW51bGwpe2xldCByPW5ldyBFcnJvcihgPCR7ZX0gLz4gaXMgbWlzc2luZyBhIHBhcmVudCA8RGlzY2xvc3VyZSAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHIsVikscn1yZXR1cm4gbn1sZXQgSD14KG51bGwpO0guZGlzcGxheU5hbWU9XCJEaXNjbG9zdXJlUGFuZWxDb250ZXh0XCI7ZnVuY3Rpb24gRGUoKXtyZXR1cm4gTChIKX1mdW5jdGlvbiBQZShlLG4pe3JldHVybiBPKG4udHlwZSxUZSxlLG4pfWxldCB5ZT1LO2Z1bmN0aW9uIG1lKGUsbil7bGV0e2RlZmF1bHRPcGVuOnI9ITEsLi4uY309ZSxzPUEobnVsbCksZD12KG4sbmUodT0+e3MuY3VycmVudD11fSxlLmFzPT09dm9pZCAwfHxlLmFzPT09SykpLHQ9QShudWxsKSxvPUEobnVsbCksbD1aKFBlLHtkaXNjbG9zdXJlU3RhdGU6cj8wOjEsbGlua2VkUGFuZWw6ITEsYnV0dG9uUmVmOm8scGFuZWxSZWY6dCxidXR0b25JZDpudWxsLHBhbmVsSWQ6bnVsbH0pLFt7ZGlzY2xvc3VyZVN0YXRlOmYsYnV0dG9uSWQ6aX0sVF09bCxwPUModT0+e1Qoe3R5cGU6MX0pO2xldCBQPXBlKHMpO2lmKCFQfHwhaSlyZXR1cm47bGV0IHk9KCgpPT51P3UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD91OnUuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P3UuY3VycmVudDpQLmdldEVsZW1lbnRCeUlkKGkpOlAuZ2V0RWxlbWVudEJ5SWQoaSkpKCk7eT09bnVsbHx8eS5mb2N1cygpfSksRT1SKCgpPT4oe2Nsb3NlOnB9KSxbcF0pLEQ9UigoKT0+KHtvcGVuOmY9PT0wLGNsb3NlOnB9KSxbZixwXSksZz17cmVmOmR9O3JldHVybiBtLmNyZWF0ZUVsZW1lbnQoTS5Qcm92aWRlcix7dmFsdWU6bH0sbS5jcmVhdGVFbGVtZW50KGsuUHJvdmlkZXIse3ZhbHVlOkV9LG0uY3JlYXRlRWxlbWVudChsZSx7dmFsdWU6cH0sbS5jcmVhdGVFbGVtZW50KHNlLHt2YWx1ZTpPKGYse1swXTpJLk9wZW4sWzFdOkkuQ2xvc2VkfSl9LEIoe291clByb3BzOmcsdGhlaXJQcm9wczpjLHNsb3Q6RCxkZWZhdWx0VGFnOnllLG5hbWU6XCJEaXNjbG9zdXJlXCJ9KSkpKSl9bGV0IEVlPVwiYnV0dG9uXCI7ZnVuY3Rpb24gZ2UoZSxuKXtsZXQgcj1XKCkse2lkOmM9YGhlYWRsZXNzdWktZGlzY2xvc3VyZS1idXR0b24tJHtyfWAsZGlzYWJsZWQ6cz0hMSxhdXRvRm9jdXM6ZD0hMSwuLi50fT1lLFtvLGxdPUYoXCJEaXNjbG9zdXJlLkJ1dHRvblwiKSxmPURlKCksaT1mPT09bnVsbD8hMTpmPT09by5wYW5lbElkLFQ9QShudWxsKSxwPXYoVCxuLGk/bnVsbDpvLmJ1dHRvblJlZiksRT1YKCk7aigoKT0+e2lmKCFpKXJldHVybiBsKHt0eXBlOjIsYnV0dG9uSWQ6Y30pLCgpPT57bCh7dHlwZToyLGJ1dHRvbklkOm51bGx9KX19LFtjLGwsaV0pO2xldCBEPUMoYT0+e3ZhciBTO2lmKGkpe2lmKG8uZGlzY2xvc3VyZVN0YXRlPT09MSlyZXR1cm47c3dpdGNoKGEua2V5KXtjYXNlIGIuU3BhY2U6Y2FzZSBiLkVudGVyOmEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpLGwoe3R5cGU6MH0pLChTPW8uYnV0dG9uUmVmLmN1cnJlbnQpPT1udWxsfHxTLmZvY3VzKCk7YnJlYWt9fWVsc2Ugc3dpdGNoKGEua2V5KXtjYXNlIGIuU3BhY2U6Y2FzZSBiLkVudGVyOmEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpLGwoe3R5cGU6MH0pO2JyZWFrfX0pLGc9QyhhPT57c3dpdGNoKGEua2V5KXtjYXNlIGIuU3BhY2U6YS5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrfX0pLHU9QyhhPT57dmFyIFM7YWUoYS5jdXJyZW50VGFyZ2V0KXx8c3x8KGk/KGwoe3R5cGU6MH0pLChTPW8uYnV0dG9uUmVmLmN1cnJlbnQpPT1udWxsfHxTLmZvY3VzKCkpOmwoe3R5cGU6MH0pKX0pLHtpc0ZvY3VzVmlzaWJsZTpQLGZvY3VzUHJvcHM6eX09USh7YXV0b0ZvY3VzOmR9KSx7aXNIb3ZlcmVkOlUsaG92ZXJQcm9wczpofT1ZKHtpc0Rpc2FibGVkOnN9KSx7cHJlc3NlZDpOLHByZXNzUHJvcHM6d309ZWUoe2Rpc2FibGVkOnN9KSxxPVIoKCk9Pih7b3BlbjpvLmRpc2Nsb3N1cmVTdGF0ZT09PTAsaG92ZXI6VSxhY3RpdmU6TixkaXNhYmxlZDpzLGZvY3VzOlAsYXV0b2ZvY3VzOmR9KSxbbyxVLE4sUCxzLGRdKSxHPXRlKGUsVCksej1pP0ooe3JlZjpwLHR5cGU6RyxkaXNhYmxlZDpzfHx2b2lkIDAsYXV0b0ZvY3VzOmQsb25LZXlEb3duOkQsb25DbGljazp1fSx5LGgsdyk6Sih7cmVmOnAsaWQ6Yyx0eXBlOkcsXCJhcmlhLWV4cGFuZGVkXCI6by5kaXNjbG9zdXJlU3RhdGU9PT0wLFwiYXJpYS1jb250cm9sc1wiOm8ubGlua2VkUGFuZWw/by5wYW5lbElkOnZvaWQgMCxkaXNhYmxlZDpzfHx2b2lkIDAsYXV0b0ZvY3VzOmQsb25LZXlEb3duOkQsb25LZXlVcDpnLG9uQ2xpY2s6dX0seSxoLHcpO3JldHVybiBCKHttZXJnZVJlZnM6RSxvdXJQcm9wczp6LHRoZWlyUHJvcHM6dCxzbG90OnEsZGVmYXVsdFRhZzpFZSxuYW1lOlwiRGlzY2xvc3VyZS5CdXR0b25cIn0pfWxldCBTZT1cImRpdlwiLGJlPSQuUmVuZGVyU3RyYXRlZ3l8JC5TdGF0aWM7ZnVuY3Rpb24gUmUoZSxuKXtsZXQgcj1XKCkse2lkOmM9YGhlYWRsZXNzdWktZGlzY2xvc3VyZS1wYW5lbC0ke3J9YCx0cmFuc2l0aW9uOnM9ITEsLi4uZH09ZSxbdCxvXT1GKFwiRGlzY2xvc3VyZS5QYW5lbFwiKSx7Y2xvc2U6bH09VihcIkRpc2Nsb3N1cmUuUGFuZWxcIiksZj1YKCksaT12KG4sdC5wYW5lbFJlZix1PT57Y2UoKCk9Pm8oe3R5cGU6dT80OjV9KSl9KTtqKCgpPT4obyh7dHlwZTozLHBhbmVsSWQ6Y30pLCgpPT57byh7dHlwZTozLHBhbmVsSWQ6bnVsbH0pfSksW2Msb10pO2xldCBUPXVlKCksW3AsRV09cmUocyx0LnBhbmVsUmVmLFQhPT1udWxsPyhUJkkuT3Blbik9PT1JLk9wZW46dC5kaXNjbG9zdXJlU3RhdGU9PT0wKSxEPVIoKCk9Pih7b3Blbjp0LmRpc2Nsb3N1cmVTdGF0ZT09PTAsY2xvc2U6bH0pLFt0LmRpc2Nsb3N1cmVTdGF0ZSxsXSksZz17cmVmOmksaWQ6YywuLi5vZShFKX07cmV0dXJuIG0uY3JlYXRlRWxlbWVudChpZSxudWxsLG0uY3JlYXRlRWxlbWVudChILlByb3ZpZGVyLHt2YWx1ZTp0LnBhbmVsSWR9LEIoe21lcmdlUmVmczpmLG91clByb3BzOmcsdGhlaXJQcm9wczpkLHNsb3Q6RCxkZWZhdWx0VGFnOlNlLGZlYXR1cmVzOmJlLHZpc2libGU6cCxuYW1lOlwiRGlzY2xvc3VyZS5QYW5lbFwifSkpKX1sZXQgQWU9XyhtZSksQ2U9XyhnZSksSWU9XyhSZSksV2U9T2JqZWN0LmFzc2lnbihBZSx7QnV0dG9uOkNlLFBhbmVsOkllfSk7ZXhwb3J0e1dlIGFzIERpc2Nsb3N1cmUsQ2UgYXMgRGlzY2xvc3VyZUJ1dHRvbixJZSBhcyBEaXNjbG9zdXJlUGFuZWx9O1xuIl0sIm5hbWVzIjpbInVzZUZvY3VzUmluZyIsIlEiLCJ1c2VIb3ZlciIsIlkiLCJtIiwiRnJhZ21lbnQiLCJLIiwiY3JlYXRlQ29udGV4dCIsIngiLCJ1c2VDb250ZXh0IiwiTCIsInVzZUVmZmVjdCIsImoiLCJ1c2VNZW1vIiwiUiIsInVzZVJlZHVjZXIiLCJaIiwidXNlUmVmIiwiQSIsInVzZUFjdGl2ZVByZXNzIiwiZWUiLCJ1c2VFdmVudCIsIkMiLCJ1c2VJZCIsIlciLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSIsInRlIiwib3B0aW9uYWxSZWYiLCJuZSIsInVzZVN5bmNSZWZzIiwidiIsInRyYW5zaXRpb25EYXRhQXR0cmlidXRlcyIsIm9lIiwidXNlVHJhbnNpdGlvbiIsInJlIiwiQ2xvc2VQcm92aWRlciIsImxlIiwiT3BlbkNsb3NlZFByb3ZpZGVyIiwic2UiLCJSZXNldE9wZW5DbG9zZWRQcm92aWRlciIsImllIiwiU3RhdGUiLCJJIiwidXNlT3BlbkNsb3NlZCIsInVlIiwiaXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIiwiYWUiLCJtYXRjaCIsIk8iLCJnZXRPd25lckRvY3VtZW50IiwicGUiLCJSZW5kZXJGZWF0dXJlcyIsIiQiLCJmb3J3YXJkUmVmV2l0aEFzIiwiXyIsIm1lcmdlUHJvcHMiLCJKIiwicmVuZGVyIiwiQiIsInVzZU1lcmdlUmVmc0ZuIiwiWCIsInN0YXJ0VHJhbnNpdGlvbiIsImNlIiwiS2V5cyIsImIiLCJkZSIsInIiLCJPcGVuIiwiQ2xvc2VkIiwiZmUiLCJ0IiwiVG9nZ2xlRGlzY2xvc3VyZSIsIkNsb3NlRGlzY2xvc3VyZSIsIlNldEJ1dHRvbklkIiwiU2V0UGFuZWxJZCIsIkxpbmtQYW5lbCIsIlVubGlua1BhbmVsIiwiVGUiLCJlIiwiZGlzY2xvc3VyZVN0YXRlIiwibGlua2VkUGFuZWwiLCJuIiwiYnV0dG9uSWQiLCJwYW5lbElkIiwiTSIsImRpc3BsYXlOYW1lIiwiRiIsIkVycm9yIiwiY2FwdHVyZVN0YWNrVHJhY2UiLCJrIiwiViIsIkgiLCJEZSIsIlBlIiwidHlwZSIsInllIiwibWUiLCJkZWZhdWx0T3BlbiIsImMiLCJzIiwiZCIsInUiLCJjdXJyZW50IiwiYXMiLCJvIiwibCIsImJ1dHRvblJlZiIsInBhbmVsUmVmIiwiZiIsImkiLCJUIiwicCIsIlAiLCJ5IiwiSFRNTEVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImZvY3VzIiwiRSIsImNsb3NlIiwiRCIsIm9wZW4iLCJnIiwicmVmIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJvdXJQcm9wcyIsInRoZWlyUHJvcHMiLCJzbG90IiwiZGVmYXVsdFRhZyIsIm5hbWUiLCJFZSIsImdlIiwiaWQiLCJkaXNhYmxlZCIsImF1dG9Gb2N1cyIsImEiLCJTIiwia2V5IiwiU3BhY2UiLCJFbnRlciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudFRhcmdldCIsImlzRm9jdXNWaXNpYmxlIiwiZm9jdXNQcm9wcyIsImlzSG92ZXJlZCIsIlUiLCJob3ZlclByb3BzIiwiaCIsImlzRGlzYWJsZWQiLCJwcmVzc2VkIiwiTiIsInByZXNzUHJvcHMiLCJ3IiwicSIsImhvdmVyIiwiYWN0aXZlIiwiYXV0b2ZvY3VzIiwiRyIsInoiLCJvbktleURvd24iLCJvbkNsaWNrIiwib25LZXlVcCIsIm1lcmdlUmVmcyIsIlNlIiwiYmUiLCJSZW5kZXJTdHJhdGVneSIsIlN0YXRpYyIsIlJlIiwidHJhbnNpdGlvbiIsImZlYXR1cmVzIiwidmlzaWJsZSIsIkFlIiwiQ2UiLCJJZSIsIldlIiwiT2JqZWN0IiwiYXNzaWduIiwiQnV0dG9uIiwiUGFuZWwiLCJEaXNjbG9zdXJlIiwiRGlzY2xvc3VyZUJ1dHRvbiIsIkRpc2Nsb3N1cmVQYW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/components/keyboard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/keyboard.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Keys: () => (/* binding */ o)\n/* harmony export */ });\nvar o = ((r)=>(r.Space = \" \", r.Enter = \"Enter\", r.Escape = \"Escape\", r.Backspace = \"Backspace\", r.Delete = \"Delete\", r.ArrowLeft = \"ArrowLeft\", r.ArrowUp = \"ArrowUp\", r.ArrowRight = \"ArrowRight\", r.ArrowDown = \"ArrowDown\", r.Home = \"Home\", r.End = \"End\", r.PageUp = \"PageUp\", r.PageDown = \"PageDown\", r.Tab = \"Tab\", r))(o || {});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2tleWJvYXJkLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxJQUFJQSxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLEVBQUVDLEtBQUssR0FBQyxLQUFJRCxFQUFFRSxLQUFLLEdBQUMsU0FBUUYsRUFBRUcsTUFBTSxHQUFDLFVBQVNILEVBQUVJLFNBQVMsR0FBQyxhQUFZSixFQUFFSyxNQUFNLEdBQUMsVUFBU0wsRUFBRU0sU0FBUyxHQUFDLGFBQVlOLEVBQUVPLE9BQU8sR0FBQyxXQUFVUCxFQUFFUSxVQUFVLEdBQUMsY0FBYVIsRUFBRVMsU0FBUyxHQUFDLGFBQVlULEVBQUVVLElBQUksR0FBQyxRQUFPVixFQUFFVyxHQUFHLEdBQUMsT0FBTVgsRUFBRVksTUFBTSxHQUFDLFVBQVNaLEVBQUVhLFFBQVEsR0FBQyxZQUFXYixFQUFFYyxHQUFHLEdBQUMsT0FBTWQsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBcUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2tleWJvYXJkLmpzPzZlNTQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIG89KHI9PihyLlNwYWNlPVwiIFwiLHIuRW50ZXI9XCJFbnRlclwiLHIuRXNjYXBlPVwiRXNjYXBlXCIsci5CYWNrc3BhY2U9XCJCYWNrc3BhY2VcIixyLkRlbGV0ZT1cIkRlbGV0ZVwiLHIuQXJyb3dMZWZ0PVwiQXJyb3dMZWZ0XCIsci5BcnJvd1VwPVwiQXJyb3dVcFwiLHIuQXJyb3dSaWdodD1cIkFycm93UmlnaHRcIixyLkFycm93RG93bj1cIkFycm93RG93blwiLHIuSG9tZT1cIkhvbWVcIixyLkVuZD1cIkVuZFwiLHIuUGFnZVVwPVwiUGFnZVVwXCIsci5QYWdlRG93bj1cIlBhZ2VEb3duXCIsci5UYWI9XCJUYWJcIixyKSkob3x8e30pO2V4cG9ydHtvIGFzIEtleXN9O1xuIl0sIm5hbWVzIjpbIm8iLCJyIiwiU3BhY2UiLCJFbnRlciIsIkVzY2FwZSIsIkJhY2tzcGFjZSIsIkRlbGV0ZSIsIkFycm93TGVmdCIsIkFycm93VXAiLCJBcnJvd1JpZ2h0IiwiQXJyb3dEb3duIiwiSG9tZSIsIkVuZCIsIlBhZ2VVcCIsIlBhZ2VEb3duIiwiVGFiIiwiS2V5cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/components/keyboard.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/tabs/tabs.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Tab: () => (/* binding */ st),\n/* harmony export */ TabGroup: () => (/* binding */ Oe),\n/* harmony export */ TabList: () => (/* binding */ Ne),\n/* harmony export */ TabPanel: () => (/* binding */ Be),\n/* harmony export */ TabPanels: () => (/* binding */ ke)\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @react-aria/focus */ \"(ssr)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @react-aria/interactions */ \"(ssr)/./node_modules/@react-aria/interactions/dist/useHover.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../hooks/use-id.js */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/use-iso-morphic-effect.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* harmony import */ var _hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-latest-value.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../internal/focus-sentinel.js */ \"(ssr)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js\");\n/* harmony import */ var _internal_hidden_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../internal/hidden.js */ \"(ssr)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n/* harmony import */ var _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/focus-management.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/focus-management.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/match.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_micro_task_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/micro-task.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/micro-task.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/owner.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/render.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/stable-collection.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/stable-collection.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../keyboard.js */ \"(ssr)/./node_modules/@headlessui/react/dist/components/keyboard.js\");\n/* __next_internal_client_entry_do_not_use__ Tab,TabGroup,TabList,TabPanel,TabPanels auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Ae = ((t)=>(t[t.Forwards = 0] = \"Forwards\", t[t.Backwards = 1] = \"Backwards\", t))(Ae || {}), Ee = ((o)=>(o[o.Less = -1] = \"Less\", o[o.Equal = 0] = \"Equal\", o[o.Greater = 1] = \"Greater\", o))(Ee || {}), Re = ((n)=>(n[n.SetSelectedIndex = 0] = \"SetSelectedIndex\", n[n.RegisterTab = 1] = \"RegisterTab\", n[n.UnregisterTab = 2] = \"UnregisterTab\", n[n.RegisterPanel = 3] = \"RegisterPanel\", n[n.UnregisterPanel = 4] = \"UnregisterPanel\", n))(Re || {});\nlet Le = {\n [0] (e, r) {\n var c;\n let t = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.tabs, (T)=>T.current), o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.panels, (T)=>T.current), a = t.filter((T)=>{\n var d;\n return !((d = T.current) != null && d.hasAttribute(\"disabled\"));\n }), n = {\n ...e,\n tabs: t,\n panels: o\n };\n if (r.index < 0 || r.index > t.length - 1) {\n let T = (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(Math.sign(r.index - e.selectedIndex), {\n [-1]: ()=>1,\n [0]: ()=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(Math.sign(r.index), {\n [-1]: ()=>0,\n [0]: ()=>0,\n [1]: ()=>1\n }),\n [1]: ()=>0\n });\n if (a.length === 0) return n;\n let d = (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(T, {\n [0]: ()=>t.indexOf(a[0]),\n [1]: ()=>t.indexOf(a[a.length - 1])\n });\n return {\n ...n,\n selectedIndex: d === -1 ? e.selectedIndex : d\n };\n }\n let u = t.slice(0, r.index), x = [\n ...t.slice(r.index),\n ...u\n ].find((T)=>a.includes(T));\n if (!x) return n;\n let f = (c = t.indexOf(x)) != null ? c : e.selectedIndex;\n return f === -1 && (f = e.selectedIndex), {\n ...n,\n selectedIndex: f\n };\n },\n [1] (e, r) {\n if (e.tabs.includes(r.tab)) return e;\n let t = e.tabs[e.selectedIndex], o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)([\n ...e.tabs,\n r.tab\n ], (n)=>n.current), a = e.selectedIndex;\n return e.info.current.isControlled || (a = o.indexOf(t), a === -1 && (a = e.selectedIndex)), {\n ...e,\n tabs: o,\n selectedIndex: a\n };\n },\n [2] (e, r) {\n return {\n ...e,\n tabs: e.tabs.filter((t)=>t !== r.tab)\n };\n },\n [3] (e, r) {\n return e.panels.includes(r.panel) ? e : {\n ...e,\n panels: (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)([\n ...e.panels,\n r.panel\n ], (t)=>t.current)\n };\n },\n [4] (e, r) {\n return {\n ...e,\n panels: e.panels.filter((t)=>t !== r.panel)\n };\n }\n}, z = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nz.displayName = \"TabsDataContext\";\nfunction C(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(z);\n if (r === null) {\n let t = new Error(`<${e} /> is missing a parent component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, C), t;\n }\n return r;\n}\nlet V = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nV.displayName = \"TabsActionsContext\";\nfunction Q(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(V);\n if (r === null) {\n let t = new Error(`<${e} /> is missing a parent component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, Q), t;\n }\n return r;\n}\nfunction _e(e, r) {\n return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(r.type, Le, e, r);\n}\nlet De = \"div\";\nfunction Se(e, r) {\n let { defaultIndex: t = 0, vertical: o = !1, manual: a = !1, onChange: n, selectedIndex: u = null, ..._ } = e;\n const x = o ? \"vertical\" : \"horizontal\", f = a ? \"manual\" : \"auto\";\n let c = u !== null, T = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)({\n isControlled: c\n }), d = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), [i, s] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(_e, {\n info: T,\n selectedIndex: u != null ? u : t,\n tabs: [],\n panels: []\n }), F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: i.selectedIndex\n }), [\n i.selectedIndex\n ]), M = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(n || (()=>{})), b = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(i.tabs), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n orientation: x,\n activation: f,\n ...i\n }), [\n x,\n f,\n i\n ]), E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>(s({\n type: 1,\n tab: p\n }), ()=>s({\n type: 2,\n tab: p\n }))), I = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>(s({\n type: 3,\n panel: p\n }), ()=>s({\n type: 4,\n panel: p\n }))), g = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>{\n R.current !== p && M.current(p), c || s({\n type: 0,\n index: p\n });\n }), R = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(c ? e.selectedIndex : i.selectedIndex), J = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n registerTab: E,\n registerPanel: I,\n change: g\n }), []);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n s({\n type: 0,\n index: u != null ? u : t\n });\n }, [\n u\n ]), (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n if (R.current === void 0 || i.tabs.length <= 0) return;\n let p = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(i.tabs, (L)=>L.current);\n p.some((L, B)=>i.tabs[B] !== L) && g(p.indexOf(i.tabs[R.current]));\n });\n let k = {\n ref: d\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.StableCollection, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(V.Provider, {\n value: J\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(z.Provider, {\n value: m\n }, m.tabs.length <= 0 && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_8__.FocusSentinel, {\n onFocus: ()=>{\n var p, h;\n for (let L of b.current)if (((p = L.current) == null ? void 0 : p.tabIndex) === 0) return (h = L.current) == null || h.focus(), !0;\n return !1;\n }\n }), (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: k,\n theirProps: _,\n slot: F,\n defaultTag: De,\n name: \"Tabs\"\n }))));\n}\nlet Fe = \"div\";\nfunction Ie(e, r) {\n let { orientation: t, selectedIndex: o } = C(\"Tab.List\"), a = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: o\n }), [\n o\n ]);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: {\n ref: a,\n role: \"tablist\",\n \"aria-orientation\": t\n },\n theirProps: e,\n slot: n,\n defaultTag: Fe,\n name: \"Tabs.List\"\n });\n}\nlet he = \"button\";\nfunction ve(e, r) {\n var Y, Z;\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: o = `headlessui-tabs-tab-${t}`, disabled: a = !1, autoFocus: n = !1, ...u } = e, { orientation: _, activation: x, selectedIndex: f, tabs: c, panels: T } = C(\"Tab\"), d = Q(\"Tab\"), i = C(\"Tab\"), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), F = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(s, r);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>d.registerTab(s), [\n d,\n s\n ]);\n let M = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.useStableCollectionIndex)(\"tabs\"), b = c.indexOf(s);\n b === -1 && (b = M);\n let m = b === f, E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n var X;\n let A = l();\n if (A === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Success && x === \"auto\") {\n let $ = (X = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_10__.getOwnerDocument)(s)) == null ? void 0 : X.activeElement, ee = i.tabs.findIndex((Te)=>Te.current === $);\n ee !== -1 && d.change(ee);\n }\n return A;\n }), I = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n let A = c.map(($)=>$.current).filter(Boolean);\n if (l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Space || l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Enter) {\n l.preventDefault(), l.stopPropagation(), d.change(b);\n return;\n }\n switch(l.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Home:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.PageUp:\n return l.preventDefault(), l.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.First));\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.End:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.PageDown:\n return l.preventDefault(), l.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Last));\n }\n if (E(()=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(_, {\n vertical () {\n return l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowUp ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowDown ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Next | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Error;\n },\n horizontal () {\n return l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowLeft ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowRight ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Next | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Error;\n }\n })) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Success) return l.preventDefault();\n }), g = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), R = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)(()=>{\n var l;\n g.current || (g.current = !0, (l = s.current) == null || l.focus({\n preventScroll: !0\n }), d.change(b), (0,_utils_micro_task_js__WEBPACK_IMPORTED_MODULE_12__.microTask)(()=>{\n g.current = !1;\n }));\n }), J = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n l.preventDefault();\n }), { isFocusVisible: k, focusProps: p } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)({\n autoFocus: n\n }), { isHovered: h, hoverProps: L } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_14__.useHover)({\n isDisabled: a\n }), { pressed: B, pressProps: ie } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_15__.useActivePress)({\n disabled: a\n }), pe = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selected: m,\n hover: h,\n active: B,\n focus: k,\n autofocus: n,\n disabled: a\n }), [\n m,\n h,\n k,\n B,\n n,\n a\n ]), ue = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.mergeProps)({\n ref: F,\n onKeyDown: I,\n onMouseDown: J,\n onClick: R,\n id: o,\n role: \"tab\",\n type: (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_16__.useResolveButtonType)(e, s),\n \"aria-controls\": (Z = (Y = T[b]) == null ? void 0 : Y.current) == null ? void 0 : Z.id,\n \"aria-selected\": m,\n tabIndex: m ? 0 : -1,\n disabled: a || void 0,\n autoFocus: n\n }, p, L, ie);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: ue,\n theirProps: u,\n slot: pe,\n defaultTag: he,\n name: \"Tabs.Tab\"\n });\n}\nlet Ce = \"div\";\nfunction Me(e, r) {\n let { selectedIndex: t } = C(\"Tab.Panels\"), o = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: t\n }), [\n t\n ]);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: {\n ref: o\n },\n theirProps: e,\n slot: a,\n defaultTag: Ce,\n name: \"Tabs.Panels\"\n });\n}\nlet Ge = \"div\", Ue = _utils_render_js__WEBPACK_IMPORTED_MODULE_9__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_9__.RenderFeatures.Static;\nfunction He(e, r) {\n var E, I, g, R;\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: o = `headlessui-tabs-panel-${t}`, tabIndex: a = 0, ...n } = e, { selectedIndex: u, tabs: _, panels: x } = C(\"Tab.Panel\"), f = Q(\"Tab.Panel\"), c = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), T = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(c, r);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>f.registerPanel(c), [\n f,\n c\n ]);\n let d = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.useStableCollectionIndex)(\"panels\"), i = x.indexOf(c);\n i === -1 && (i = d);\n let s = i === u, { isFocusVisible: F, focusProps: M } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)(), b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selected: s,\n focus: F\n }), [\n s,\n F\n ]), m = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.mergeProps)({\n ref: T,\n id: o,\n role: \"tabpanel\",\n \"aria-labelledby\": (I = (E = _[i]) == null ? void 0 : E.current) == null ? void 0 : I.id,\n tabIndex: s ? a : -1\n }, M);\n return !s && ((g = n.unmount) == null || g) && !((R = n.static) != null && R) ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_17__.Hidden, {\n as: \"span\",\n \"aria-hidden\": \"true\",\n ...m\n }) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: m,\n theirProps: n,\n slot: b,\n defaultTag: Ge,\n features: Ue,\n visible: s,\n name: \"Tabs.Panel\"\n });\n}\nlet we = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(ve), Oe = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Se), Ne = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Ie), ke = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Me), Be = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(He), st = Object.assign(we, {\n Group: Oe,\n List: Ne,\n Panels: ke,\n Panel: Be\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL3RhYnMvdGFicy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs2RkFBK0Q7QUFBcUQ7QUFBcUc7QUFBa0U7QUFBb0Q7QUFBK0M7QUFBNEU7QUFBaUU7QUFBK0U7QUFBMkQ7QUFBa0U7QUFBbUQ7QUFBeUc7QUFBNkM7QUFBdUQ7QUFBeUQ7QUFBMkc7QUFBb0c7QUFBc0M7QUFBQSxJQUFJNkQsS0FBRyxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLFFBQVEsR0FBQyxFQUFFLEdBQUMsWUFBV0QsQ0FBQyxDQUFDQSxFQUFFRSxTQUFTLEdBQUMsRUFBRSxHQUFDLGFBQVlGLENBQUFBLENBQUMsRUFBR0QsTUFBSSxDQUFDLElBQUdJLEtBQUcsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxJQUFJLEdBQUMsQ0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxLQUFLLEdBQUMsRUFBRSxHQUFDLFNBQVFGLENBQUMsQ0FBQ0EsRUFBRUcsT0FBTyxHQUFDLEVBQUUsR0FBQyxXQUFVSCxDQUFBQSxDQUFDLEVBQUdELE1BQUksQ0FBQyxJQUFHSyxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsZ0JBQWdCLEdBQUMsRUFBRSxHQUFDLG9CQUFtQkQsQ0FBQyxDQUFDQSxFQUFFRSxXQUFXLEdBQUMsRUFBRSxHQUFDLGVBQWNGLENBQUMsQ0FBQ0EsRUFBRUcsYUFBYSxHQUFDLEVBQUUsR0FBQyxpQkFBZ0JILENBQUMsQ0FBQ0EsRUFBRUksYUFBYSxHQUFDLEVBQUUsR0FBQyxpQkFBZ0JKLENBQUMsQ0FBQ0EsRUFBRUssZUFBZSxHQUFDLEVBQUUsR0FBQyxtQkFBa0JMLENBQUFBLENBQUMsRUFBR0QsTUFBSSxDQUFDO0FBQUcsSUFBSU8sS0FBRztJQUFD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QUFFZ0MsTUFBSztJQUFZO0FBQUU7QUFBQyxJQUFJdUUsS0FBRy9LLGtFQUFDQSxDQUFDNkcsS0FBSW1FLEtBQUdoTCxrRUFBQ0EsQ0FBQ2lFLEtBQUlnSCxLQUFHakwsa0VBQUNBLENBQUMwRyxLQUFJd0UsS0FBR2xMLGtFQUFDQSxDQUFDb0ssS0FBSWUsS0FBR25MLGtFQUFDQSxDQUFDeUssS0FBSVcsS0FBR0MsT0FBT0MsTUFBTSxDQUFDUCxJQUFHO0lBQUNRLE9BQU1QO0lBQUdRLE1BQUtQO0lBQUdRLFFBQU9QO0lBQUdRLE9BQU1QO0FBQUU7QUFBaUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL3RhYnMvdGFicy5qcz83MzUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO2ltcG9ydHt1c2VGb2N1c1JpbmcgYXMgdGV9ZnJvbVwiQHJlYWN0LWFyaWEvZm9jdXNcIjtpbXBvcnR7dXNlSG92ZXIgYXMgZGV9ZnJvbVwiQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zXCI7aW1wb3J0IEcse2NyZWF0ZUNvbnRleHQgYXMgcmUsdXNlQ29udGV4dCBhcyBuZSx1c2VNZW1vIGFzIEQsdXNlUmVkdWNlciBhcyBjZSx1c2VSZWYgYXMgcX1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VBY3RpdmVQcmVzcyBhcyBmZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMnO2ltcG9ydHt1c2VFdmVudCBhcyBTfWZyb20nLi4vLi4vaG9va3MvdXNlLWV2ZW50LmpzJztpbXBvcnR7dXNlSWQgYXMgYWV9ZnJvbScuLi8uLi9ob29rcy91c2UtaWQuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIFd9ZnJvbScuLi8uLi9ob29rcy91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgan1mcm9tJy4uLy4uL2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMnO2ltcG9ydHt1c2VSZXNvbHZlQnV0dG9uVHlwZSBhcyBiZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzJztpbXBvcnR7dXNlU3luY1JlZnMgYXMgVX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHtGb2N1c1NlbnRpbmVsIGFzIG1lfWZyb20nLi4vLi4vaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanMnO2ltcG9ydHtIaWRkZW4gYXMgUGV9ZnJvbScuLi8uLi9pbnRlcm5hbC9oaWRkZW4uanMnO2ltcG9ydHtGb2N1cyBhcyBQLEZvY3VzUmVzdWx0IGFzIEssZm9jdXNJbiBhcyB2LHNvcnRCeURvbU5vZGUgYXMgSH1mcm9tJy4uLy4uL3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMnO2ltcG9ydHttYXRjaCBhcyB3fWZyb20nLi4vLi4vdXRpbHMvbWF0Y2guanMnO2ltcG9ydHttaWNyb1Rhc2sgYXMgeWV9ZnJvbScuLi8uLi91dGlscy9taWNyby10YXNrLmpzJztpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyB4ZX1mcm9tJy4uLy4uL3V0aWxzL293bmVyLmpzJztpbXBvcnR7UmVuZGVyRmVhdHVyZXMgYXMgb2UsZm9yd2FyZFJlZldpdGhBcyBhcyBPLG1lcmdlUHJvcHMgYXMgbGUscmVuZGVyIGFzIE59ZnJvbScuLi8uLi91dGlscy9yZW5kZXIuanMnO2ltcG9ydHtTdGFibGVDb2xsZWN0aW9uIGFzIGdlLHVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCBhcyBzZX1mcm9tJy4uLy4uL3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzJztpbXBvcnR7S2V5cyBhcyB5fWZyb20nLi4va2V5Ym9hcmQuanMnO3ZhciBBZT0odD0+KHRbdC5Gb3J3YXJkcz0wXT1cIkZvcndhcmRzXCIsdFt0LkJhY2t3YXJkcz0xXT1cIkJhY2t3YXJkc1wiLHQpKShBZXx8e30pLEVlPShvPT4ob1tvLkxlc3M9LTFdPVwiTGVzc1wiLG9bby5FcXVhbD0wXT1cIkVxdWFsXCIsb1tvLkdyZWF0ZXI9MV09XCJHcmVhdGVyXCIsbykpKEVlfHx7fSksUmU9KG49PihuW24uU2V0U2VsZWN0ZWRJbmRleD0wXT1cIlNldFNlbGVjdGVkSW5kZXhcIixuW24uUmVnaXN0ZXJUYWI9MV09XCJSZWdpc3RlclRhYlwiLG5bbi5VbnJlZ2lzdGVyVGFiPTJdPVwiVW5yZWdpc3RlclRhYlwiLG5bbi5SZWdpc3RlclBhbmVsPTNdPVwiUmVnaXN0ZXJQYW5lbFwiLG5bbi5VbnJlZ2lzdGVyUGFuZWw9NF09XCJVbnJlZ2lzdGVyUGFuZWxcIixuKSkoUmV8fHt9KTtsZXQgTGU9e1swXShlLHIpe3ZhciBjO2xldCB0PUgoZS50YWJzLFQ9PlQuY3VycmVudCksbz1IKGUucGFuZWxzLFQ9PlQuY3VycmVudCksYT10LmZpbHRlcihUPT57dmFyIGQ7cmV0dXJuISgoZD1ULmN1cnJlbnQpIT1udWxsJiZkLmhhc0F0dHJpYnV0ZShcImRpc2FibGVkXCIpKX0pLG49ey4uLmUsdGFiczp0LHBhbmVsczpvfTtpZihyLmluZGV4PDB8fHIuaW5kZXg+dC5sZW5ndGgtMSl7bGV0IFQ9dyhNYXRoLnNpZ24oci5pbmRleC1lLnNlbGVjdGVkSW5kZXgpLHtbLTFdOigpPT4xLFswXTooKT0+dyhNYXRoLnNpZ24oci5pbmRleCkse1stMV06KCk9PjAsWzBdOigpPT4wLFsxXTooKT0+MX0pLFsxXTooKT0+MH0pO2lmKGEubGVuZ3RoPT09MClyZXR1cm4gbjtsZXQgZD13KFQse1swXTooKT0+dC5pbmRleE9mKGFbMF0pLFsxXTooKT0+dC5pbmRleE9mKGFbYS5sZW5ndGgtMV0pfSk7cmV0dXJuey4uLm4sc2VsZWN0ZWRJbmRleDpkPT09LTE/ZS5zZWxlY3RlZEluZGV4OmR9fWxldCB1PXQuc2xpY2UoMCxyLmluZGV4KSx4PVsuLi50LnNsaWNlKHIuaW5kZXgpLC4uLnVdLmZpbmQoVD0+YS5pbmNsdWRlcyhUKSk7aWYoIXgpcmV0dXJuIG47bGV0IGY9KGM9dC5pbmRleE9mKHgpKSE9bnVsbD9jOmUuc2VsZWN0ZWRJbmRleDtyZXR1cm4gZj09PS0xJiYoZj1lLnNlbGVjdGVkSW5kZXgpLHsuLi5uLHNlbGVjdGVkSW5kZXg6Zn19LFsxXShlLHIpe2lmKGUudGFicy5pbmNsdWRlcyhyLnRhYikpcmV0dXJuIGU7bGV0IHQ9ZS50YWJzW2Uuc2VsZWN0ZWRJbmRleF0sbz1IKFsuLi5lLnRhYnMsci50YWJdLG49Pm4uY3VycmVudCksYT1lLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGUuaW5mby5jdXJyZW50LmlzQ29udHJvbGxlZHx8KGE9by5pbmRleE9mKHQpLGE9PT0tMSYmKGE9ZS5zZWxlY3RlZEluZGV4KSksey4uLmUsdGFiczpvLHNlbGVjdGVkSW5kZXg6YX19LFsyXShlLHIpe3JldHVybnsuLi5lLHRhYnM6ZS50YWJzLmZpbHRlcih0PT50IT09ci50YWIpfX0sWzNdKGUscil7cmV0dXJuIGUucGFuZWxzLmluY2x1ZGVzKHIucGFuZWwpP2U6ey4uLmUscGFuZWxzOkgoWy4uLmUucGFuZWxzLHIucGFuZWxdLHQ9PnQuY3VycmVudCl9fSxbNF0oZSxyKXtyZXR1cm57Li4uZSxwYW5lbHM6ZS5wYW5lbHMuZmlsdGVyKHQ9PnQhPT1yLnBhbmVsKX19fSx6PXJlKG51bGwpO3ouZGlzcGxheU5hbWU9XCJUYWJzRGF0YUNvbnRleHRcIjtmdW5jdGlvbiBDKGUpe2xldCByPW5lKHopO2lmKHI9PT1udWxsKXtsZXQgdD1uZXcgRXJyb3IoYDwke2V9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPFRhYi5Hcm91cCAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHQsQyksdH1yZXR1cm4gcn1sZXQgVj1yZShudWxsKTtWLmRpc3BsYXlOYW1lPVwiVGFic0FjdGlvbnNDb250ZXh0XCI7ZnVuY3Rpb24gUShlKXtsZXQgcj1uZShWKTtpZihyPT09bnVsbCl7bGV0IHQ9bmV3IEVycm9yKGA8JHtlfSAvPiBpcyBtaXNzaW5nIGEgcGFyZW50IDxUYWIuR3JvdXAgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0LFEpLHR9cmV0dXJuIHJ9ZnVuY3Rpb24gX2UoZSxyKXtyZXR1cm4gdyhyLnR5cGUsTGUsZSxyKX1sZXQgRGU9XCJkaXZcIjtmdW5jdGlvbiBTZShlLHIpe2xldHtkZWZhdWx0SW5kZXg6dD0wLHZlcnRpY2FsOm89ITEsbWFudWFsOmE9ITEsb25DaGFuZ2U6bixzZWxlY3RlZEluZGV4OnU9bnVsbCwuLi5ffT1lO2NvbnN0IHg9bz9cInZlcnRpY2FsXCI6XCJob3Jpem9udGFsXCIsZj1hP1wibWFudWFsXCI6XCJhdXRvXCI7bGV0IGM9dSE9PW51bGwsVD1qKHtpc0NvbnRyb2xsZWQ6Y30pLGQ9VShyKSxbaSxzXT1jZShfZSx7aW5mbzpULHNlbGVjdGVkSW5kZXg6dSE9bnVsbD91OnQsdGFiczpbXSxwYW5lbHM6W119KSxGPUQoKCk9Pih7c2VsZWN0ZWRJbmRleDppLnNlbGVjdGVkSW5kZXh9KSxbaS5zZWxlY3RlZEluZGV4XSksTT1qKG58fCgoKT0+e30pKSxiPWooaS50YWJzKSxtPUQoKCk9Pih7b3JpZW50YXRpb246eCxhY3RpdmF0aW9uOmYsLi4uaX0pLFt4LGYsaV0pLEU9UyhwPT4ocyh7dHlwZToxLHRhYjpwfSksKCk9PnMoe3R5cGU6Mix0YWI6cH0pKSksST1TKHA9PihzKHt0eXBlOjMscGFuZWw6cH0pLCgpPT5zKHt0eXBlOjQscGFuZWw6cH0pKSksZz1TKHA9PntSLmN1cnJlbnQhPT1wJiZNLmN1cnJlbnQocCksY3x8cyh7dHlwZTowLGluZGV4OnB9KX0pLFI9aihjP2Uuc2VsZWN0ZWRJbmRleDppLnNlbGVjdGVkSW5kZXgpLEo9RCgoKT0+KHtyZWdpc3RlclRhYjpFLHJlZ2lzdGVyUGFuZWw6SSxjaGFuZ2U6Z30pLFtdKTtXKCgpPT57cyh7dHlwZTowLGluZGV4OnUhPW51bGw/dTp0fSl9LFt1XSksVygoKT0+e2lmKFIuY3VycmVudD09PXZvaWQgMHx8aS50YWJzLmxlbmd0aDw9MClyZXR1cm47bGV0IHA9SChpLnRhYnMsTD0+TC5jdXJyZW50KTtwLnNvbWUoKEwsQik9PmkudGFic1tCXSE9PUwpJiZnKHAuaW5kZXhPZihpLnRhYnNbUi5jdXJyZW50XSkpfSk7bGV0IGs9e3JlZjpkfTtyZXR1cm4gRy5jcmVhdGVFbGVtZW50KGdlLG51bGwsRy5jcmVhdGVFbGVtZW50KFYuUHJvdmlkZXIse3ZhbHVlOkp9LEcuY3JlYXRlRWxlbWVudCh6LlByb3ZpZGVyLHt2YWx1ZTptfSxtLnRhYnMubGVuZ3RoPD0wJiZHLmNyZWF0ZUVsZW1lbnQobWUse29uRm9jdXM6KCk9Pnt2YXIgcCxoO2ZvcihsZXQgTCBvZiBiLmN1cnJlbnQpaWYoKChwPUwuY3VycmVudCk9PW51bGw/dm9pZCAwOnAudGFiSW5kZXgpPT09MClyZXR1cm4oaD1MLmN1cnJlbnQpPT1udWxsfHxoLmZvY3VzKCksITA7cmV0dXJuITF9fSksTih7b3VyUHJvcHM6ayx0aGVpclByb3BzOl8sc2xvdDpGLGRlZmF1bHRUYWc6RGUsbmFtZTpcIlRhYnNcIn0pKSkpfWxldCBGZT1cImRpdlwiO2Z1bmN0aW9uIEllKGUscil7bGV0e29yaWVudGF0aW9uOnQsc2VsZWN0ZWRJbmRleDpvfT1DKFwiVGFiLkxpc3RcIiksYT1VKHIpLG49RCgoKT0+KHtzZWxlY3RlZEluZGV4Om99KSxbb10pO3JldHVybiBOKHtvdXJQcm9wczp7cmVmOmEscm9sZTpcInRhYmxpc3RcIixcImFyaWEtb3JpZW50YXRpb25cIjp0fSx0aGVpclByb3BzOmUsc2xvdDpuLGRlZmF1bHRUYWc6RmUsbmFtZTpcIlRhYnMuTGlzdFwifSl9bGV0IGhlPVwiYnV0dG9uXCI7ZnVuY3Rpb24gdmUoZSxyKXt2YXIgWSxaO2xldCB0PWFlKCkse2lkOm89YGhlYWRsZXNzdWktdGFicy10YWItJHt0fWAsZGlzYWJsZWQ6YT0hMSxhdXRvRm9jdXM6bj0hMSwuLi51fT1lLHtvcmllbnRhdGlvbjpfLGFjdGl2YXRpb246eCxzZWxlY3RlZEluZGV4OmYsdGFiczpjLHBhbmVsczpUfT1DKFwiVGFiXCIpLGQ9UShcIlRhYlwiKSxpPUMoXCJUYWJcIikscz1xKG51bGwpLEY9VShzLHIpO1coKCk9PmQucmVnaXN0ZXJUYWIocyksW2Qsc10pO2xldCBNPXNlKFwidGFic1wiKSxiPWMuaW5kZXhPZihzKTtiPT09LTEmJihiPU0pO2xldCBtPWI9PT1mLEU9UyhsPT57dmFyIFg7bGV0IEE9bCgpO2lmKEE9PT1LLlN1Y2Nlc3MmJng9PT1cImF1dG9cIil7bGV0ICQ9KFg9eGUocykpPT1udWxsP3ZvaWQgMDpYLmFjdGl2ZUVsZW1lbnQsZWU9aS50YWJzLmZpbmRJbmRleChUZT0+VGUuY3VycmVudD09PSQpO2VlIT09LTEmJmQuY2hhbmdlKGVlKX1yZXR1cm4gQX0pLEk9UyhsPT57bGV0IEE9Yy5tYXAoJD0+JC5jdXJyZW50KS5maWx0ZXIoQm9vbGVhbik7aWYobC5rZXk9PT15LlNwYWNlfHxsLmtleT09PXkuRW50ZXIpe2wucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLGQuY2hhbmdlKGIpO3JldHVybn1zd2l0Y2gobC5rZXkpe2Nhc2UgeS5Ib21lOmNhc2UgeS5QYWdlVXA6cmV0dXJuIGwucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLEUoKCk9PnYoQSxQLkZpcnN0KSk7Y2FzZSB5LkVuZDpjYXNlIHkuUGFnZURvd246cmV0dXJuIGwucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLEUoKCk9PnYoQSxQLkxhc3QpKX1pZihFKCgpPT53KF8se3ZlcnRpY2FsKCl7cmV0dXJuIGwua2V5PT09eS5BcnJvd1VwP3YoQSxQLlByZXZpb3VzfFAuV3JhcEFyb3VuZCk6bC5rZXk9PT15LkFycm93RG93bj92KEEsUC5OZXh0fFAuV3JhcEFyb3VuZCk6Sy5FcnJvcn0saG9yaXpvbnRhbCgpe3JldHVybiBsLmtleT09PXkuQXJyb3dMZWZ0P3YoQSxQLlByZXZpb3VzfFAuV3JhcEFyb3VuZCk6bC5rZXk9PT15LkFycm93UmlnaHQ/dihBLFAuTmV4dHxQLldyYXBBcm91bmQpOksuRXJyb3J9fSkpPT09Sy5TdWNjZXNzKXJldHVybiBsLnByZXZlbnREZWZhdWx0KCl9KSxnPXEoITEpLFI9UygoKT0+e3ZhciBsO2cuY3VycmVudHx8KGcuY3VycmVudD0hMCwobD1zLmN1cnJlbnQpPT1udWxsfHxsLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksZC5jaGFuZ2UoYikseWUoKCk9PntnLmN1cnJlbnQ9ITF9KSl9KSxKPVMobD0+e2wucHJldmVudERlZmF1bHQoKX0pLHtpc0ZvY3VzVmlzaWJsZTprLGZvY3VzUHJvcHM6cH09dGUoe2F1dG9Gb2N1czpufSkse2lzSG92ZXJlZDpoLGhvdmVyUHJvcHM6TH09ZGUoe2lzRGlzYWJsZWQ6YX0pLHtwcmVzc2VkOkIscHJlc3NQcm9wczppZX09ZmUoe2Rpc2FibGVkOmF9KSxwZT1EKCgpPT4oe3NlbGVjdGVkOm0saG92ZXI6aCxhY3RpdmU6Qixmb2N1czprLGF1dG9mb2N1czpuLGRpc2FibGVkOmF9KSxbbSxoLGssQixuLGFdKSx1ZT1sZSh7cmVmOkYsb25LZXlEb3duOkksb25Nb3VzZURvd246SixvbkNsaWNrOlIsaWQ6byxyb2xlOlwidGFiXCIsdHlwZTpiZShlLHMpLFwiYXJpYS1jb250cm9sc1wiOihaPShZPVRbYl0pPT1udWxsP3ZvaWQgMDpZLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpaLmlkLFwiYXJpYS1zZWxlY3RlZFwiOm0sdGFiSW5kZXg6bT8wOi0xLGRpc2FibGVkOmF8fHZvaWQgMCxhdXRvRm9jdXM6bn0scCxMLGllKTtyZXR1cm4gTih7b3VyUHJvcHM6dWUsdGhlaXJQcm9wczp1LHNsb3Q6cGUsZGVmYXVsdFRhZzpoZSxuYW1lOlwiVGFicy5UYWJcIn0pfWxldCBDZT1cImRpdlwiO2Z1bmN0aW9uIE1lKGUscil7bGV0e3NlbGVjdGVkSW5kZXg6dH09QyhcIlRhYi5QYW5lbHNcIiksbz1VKHIpLGE9RCgoKT0+KHtzZWxlY3RlZEluZGV4OnR9KSxbdF0pO3JldHVybiBOKHtvdXJQcm9wczp7cmVmOm99LHRoZWlyUHJvcHM6ZSxzbG90OmEsZGVmYXVsdFRhZzpDZSxuYW1lOlwiVGFicy5QYW5lbHNcIn0pfWxldCBHZT1cImRpdlwiLFVlPW9lLlJlbmRlclN0cmF0ZWd5fG9lLlN0YXRpYztmdW5jdGlvbiBIZShlLHIpe3ZhciBFLEksZyxSO2xldCB0PWFlKCkse2lkOm89YGhlYWRsZXNzdWktdGFicy1wYW5lbC0ke3R9YCx0YWJJbmRleDphPTAsLi4ubn09ZSx7c2VsZWN0ZWRJbmRleDp1LHRhYnM6XyxwYW5lbHM6eH09QyhcIlRhYi5QYW5lbFwiKSxmPVEoXCJUYWIuUGFuZWxcIiksYz1xKG51bGwpLFQ9VShjLHIpO1coKCk9PmYucmVnaXN0ZXJQYW5lbChjKSxbZixjXSk7bGV0IGQ9c2UoXCJwYW5lbHNcIiksaT14LmluZGV4T2YoYyk7aT09PS0xJiYoaT1kKTtsZXQgcz1pPT09dSx7aXNGb2N1c1Zpc2libGU6Rixmb2N1c1Byb3BzOk19PXRlKCksYj1EKCgpPT4oe3NlbGVjdGVkOnMsZm9jdXM6Rn0pLFtzLEZdKSxtPWxlKHtyZWY6VCxpZDpvLHJvbGU6XCJ0YWJwYW5lbFwiLFwiYXJpYS1sYWJlbGxlZGJ5XCI6KEk9KEU9X1tpXSk9PW51bGw/dm9pZCAwOkUuY3VycmVudCk9PW51bGw/dm9pZCAwOkkuaWQsdGFiSW5kZXg6cz9hOi0xfSxNKTtyZXR1cm4hcyYmKChnPW4udW5tb3VudCk9PW51bGx8fGcpJiYhKChSPW4uc3RhdGljKSE9bnVsbCYmUik/Ry5jcmVhdGVFbGVtZW50KFBlLHthczpcInNwYW5cIixcImFyaWEtaGlkZGVuXCI6XCJ0cnVlXCIsLi4ubX0pOk4oe291clByb3BzOm0sdGhlaXJQcm9wczpuLHNsb3Q6YixkZWZhdWx0VGFnOkdlLGZlYXR1cmVzOlVlLHZpc2libGU6cyxuYW1lOlwiVGFicy5QYW5lbFwifSl9bGV0IHdlPU8odmUpLE9lPU8oU2UpLE5lPU8oSWUpLGtlPU8oTWUpLEJlPU8oSGUpLHN0PU9iamVjdC5hc3NpZ24od2Use0dyb3VwOk9lLExpc3Q6TmUsUGFuZWxzOmtlLFBhbmVsOkJlfSk7ZXhwb3J0e3N0IGFzIFRhYixPZSBhcyBUYWJHcm91cCxOZSBhcyBUYWJMaXN0LEJlIGFzIFRhYlBhbmVsLGtlIGFzIFRhYlBhbmVsc307XG4iXSwibmFtZXMiOlsidXNlRm9jdXNSaW5nIiwidGUiLCJ1c2VIb3ZlciIsImRlIiwiRyIsImNyZWF0ZUNvbnRleHQiLCJyZSIsInVzZUNvbnRleHQiLCJuZSIsInVzZU1lbW8iLCJEIiwidXNlUmVkdWNlciIsImNlIiwidXNlUmVmIiwicSIsInVzZUFjdGl2ZVByZXNzIiwiZmUiLCJ1c2VFdmVudCIsIlMiLCJ1c2VJZCIsImFlIiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsIlciLCJ1c2VMYXRlc3RWYWx1ZSIsImoiLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSIsImJlIiwidXNlU3luY1JlZnMiLCJVIiwiRm9jdXNTZW50aW5lbCIsIm1lIiwiSGlkZGVuIiwiUGUiLCJGb2N1cyIsIlAiLCJGb2N1c1Jlc3VsdCIsIksiLCJmb2N1c0luIiwidiIsInNvcnRCeURvbU5vZGUiLCJIIiwibWF0Y2giLCJ3IiwibWljcm9UYXNrIiwieWUiLCJnZXRPd25lckRvY3VtZW50IiwieGUiLCJSZW5kZXJGZWF0dXJlcyIsIm9lIiwiZm9yd2FyZFJlZldpdGhBcyIsIk8iLCJtZXJnZVByb3BzIiwibGUiLCJyZW5kZXIiLCJOIiwiU3RhYmxlQ29sbGVjdGlvbiIsImdlIiwidXNlU3RhYmxlQ29sbGVjdGlvbkluZGV4Iiwic2UiLCJLZXlzIiwieSIsIkFlIiwidCIsIkZvcndhcmRzIiwiQmFja3dhcmRzIiwiRWUiLCJvIiwiTGVzcyIsIkVxdWFsIiwiR3JlYXRlciIsIlJlIiwibiIsIlNldFNlbGVjdGVkSW5kZXgiLCJSZWdpc3RlclRhYiIsIlVucmVnaXN0ZXJUYWIiLCJSZWdpc3RlclBhbmVsIiwiVW5yZWdpc3RlclBhbmVsIiwiTGUiLCJlIiwiciIsImMiLCJ0YWJzIiwiVCIsImN1cnJlbnQiLCJwYW5lbHMiLCJhIiwiZmlsdGVyIiwiZCIsImhhc0F0dHJpYnV0ZSIsImluZGV4IiwibGVuZ3RoIiwiTWF0aCIsInNpZ24iLCJzZWxlY3RlZEluZGV4IiwiaW5kZXhPZiIsInUiLCJzbGljZSIsIngiLCJmaW5kIiwiaW5jbHVkZXMiLCJmIiwidGFiIiwiaW5mbyIsImlzQ29udHJvbGxlZCIsInBhbmVsIiwieiIsImRpc3BsYXlOYW1lIiwiQyIsIkVycm9yIiwiY2FwdHVyZVN0YWNrVHJhY2UiLCJWIiwiUSIsIl9lIiwidHlwZSIsIkRlIiwiU2UiLCJkZWZhdWx0SW5kZXgiLCJ2ZXJ0aWNhbCIsIm1hbnVhbCIsIm9uQ2hhbmdlIiwiXyIsImkiLCJzIiwiRiIsIk0iLCJiIiwibSIsIm9yaWVudGF0aW9uIiwiYWN0aXZhdGlvbiIsIkUiLCJwIiwiSSIsImciLCJSIiwiSiIsInJlZ2lzdGVyVGFiIiwicmVnaXN0ZXJQYW5lbCIsImNoYW5nZSIsIkwiLCJzb21lIiwiQiIsImsiLCJyZWYiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIm9uRm9jdXMiLCJoIiwidGFiSW5kZXgiLCJmb2N1cyIsIm91clByb3BzIiwidGhlaXJQcm9wcyIsInNsb3QiLCJkZWZhdWx0VGFnIiwibmFtZSIsIkZlIiwiSWUiLCJyb2xlIiwiaGUiLCJ2ZSIsIlkiLCJaIiwiaWQiLCJkaXNhYmxlZCIsImF1dG9Gb2N1cyIsImwiLCJYIiwiQSIsIlN1Y2Nlc3MiLCIkIiwiYWN0aXZlRWxlbWVudCIsImVlIiwiZmluZEluZGV4IiwiVGUiLCJtYXAiLCJCb29sZWFuIiwia2V5IiwiU3BhY2UiLCJFbnRlciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiSG9tZSIsIlBhZ2VVcCIsIkZpcnN0IiwiRW5kIiwiUGFnZURvd24iLCJMYXN0IiwiQXJyb3dVcCIsIlByZXZpb3VzIiwiV3JhcEFyb3VuZCIsIkFycm93RG93biIsIk5leHQiLCJob3Jpem9udGFsIiwiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsInByZXZlbnRTY3JvbGwiLCJpc0ZvY3VzVmlzaWJsZSIsImZvY3VzUHJvcHMiLCJpc0hvdmVyZWQiLCJob3ZlclByb3BzIiwiaXNEaXNhYmxlZCIsInByZXNzZWQiLCJwcmVzc1Byb3BzIiwiaWUiLCJwZSIsInNlbGVjdGVkIiwiaG92ZXIiLCJhY3RpdmUiLCJhdXRvZm9jdXMiLCJ1ZSIsIm9uS2V5RG93biIsIm9uTW91c2VEb3duIiwib25DbGljayIsIkNlIiwiTWUiLCJHZSIsIlVlIiwiUmVuZGVyU3RyYXRlZ3kiLCJTdGF0aWMiLCJIZSIsInVubW91bnQiLCJzdGF0aWMiLCJhcyIsImZlYXR1cmVzIiwidmlzaWJsZSIsIndlIiwiT2UiLCJOZSIsImtlIiwiQmUiLCJzdCIsIk9iamVjdCIsImFzc2lnbiIsIkdyb3VwIiwiTGlzdCIsIlBhbmVscyIsIlBhbmVsIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-active-press.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useActivePress: () => (/* binding */ w)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/owner.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _use_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-disposables.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-event.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\n\n\nfunction E(e) {\n let t = e.width / 2, n = e.height / 2;\n return {\n top: e.clientY - n,\n right: e.clientX + t,\n bottom: e.clientY + n,\n left: e.clientX - t\n };\n}\nfunction P(e, t) {\n return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);\n}\nfunction w({ disabled: e = !1 } = {}) {\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), [n, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1), r = (0,_use_disposables_js__WEBPACK_IMPORTED_MODULE_1__.useDisposables)(), o = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)(()=>{\n t.current = null, l(!1), r.dispose();\n }), f = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)((s)=>{\n if (r.dispose(), t.current === null) {\n t.current = s.currentTarget, l(!0);\n {\n let i = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(s.currentTarget);\n r.addEventListener(i, \"pointerup\", o, !1), r.addEventListener(i, \"pointermove\", (c)=>{\n if (t.current) {\n let p = E(c);\n l(P(p, t.current.getBoundingClientRect()));\n }\n }, !1), r.addEventListener(i, \"pointercancel\", o, !1);\n }\n }\n });\n return {\n pressed: n,\n pressProps: e ? {} : {\n onPointerDown: f,\n onPointerUp: o,\n onClick: o\n }\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtYWN0aXZlLXByZXNzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQTZDO0FBQXFEO0FBQXNEO0FBQTBDO0FBQUEsU0FBU1UsRUFBRUMsQ0FBQztJQUFFLElBQUlDLElBQUVELEVBQUVFLEtBQUssR0FBQyxHQUFFQyxJQUFFSCxFQUFFSSxNQUFNLEdBQUM7SUFBRSxPQUFNO1FBQUNDLEtBQUlMLEVBQUVNLE9BQU8sR0FBQ0g7UUFBRUksT0FBTVAsRUFBRVEsT0FBTyxHQUFDUDtRQUFFUSxRQUFPVCxFQUFFTSxPQUFPLEdBQUNIO1FBQUVPLE1BQUtWLEVBQUVRLE9BQU8sR0FBQ1A7SUFBQztBQUFDO0FBQUMsU0FBU1UsRUFBRVgsQ0FBQyxFQUFDQyxDQUFDO0lBQUUsT0FBTSxDQUFFLEVBQUNELEtBQUcsQ0FBQ0MsS0FBR0QsRUFBRU8sS0FBSyxHQUFDTixFQUFFUyxJQUFJLElBQUVWLEVBQUVVLElBQUksR0FBQ1QsRUFBRU0sS0FBSyxJQUFFUCxFQUFFUyxNQUFNLEdBQUNSLEVBQUVJLEdBQUcsSUFBRUwsRUFBRUssR0FBRyxHQUFDSixFQUFFUSxNQUFNO0FBQUM7QUFBQyxTQUFTRyxFQUFFLEVBQUNDLFVBQVNiLElBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBQyxDQUFDLENBQUM7SUFBRSxJQUFJQyxJQUFFWCw2Q0FBQ0EsQ0FBQyxPQUFNLENBQUNhLEdBQUVXLEVBQUUsR0FBQ3RCLCtDQUFDQSxDQUFDLENBQUMsSUFBR3VCLElBQUVuQixtRUFBQ0EsSUFBR29CLElBQUVsQix1REFBQ0EsQ0FBQztRQUFLRyxFQUFFZ0IsT0FBTyxHQUFDLE1BQUtILEVBQUUsQ0FBQyxJQUFHQyxFQUFFRyxPQUFPO0lBQUUsSUFBR0MsSUFBRXJCLHVEQUFDQSxDQUFDc0IsQ0FBQUE7UUFBSSxJQUFHTCxFQUFFRyxPQUFPLElBQUdqQixFQUFFZ0IsT0FBTyxLQUFHLE1BQUs7WUFBQ2hCLEVBQUVnQixPQUFPLEdBQUNHLEVBQUVDLGFBQWEsRUFBQ1AsRUFBRSxDQUFDO1lBQUc7Z0JBQUMsSUFBSVEsSUFBRTVCLGlFQUFDQSxDQUFDMEIsRUFBRUMsYUFBYTtnQkFBRU4sRUFBRVEsZ0JBQWdCLENBQUNELEdBQUUsYUFBWU4sR0FBRSxDQUFDLElBQUdELEVBQUVRLGdCQUFnQixDQUFDRCxHQUFFLGVBQWNFLENBQUFBO29CQUFJLElBQUd2QixFQUFFZ0IsT0FBTyxFQUFDO3dCQUFDLElBQUlRLElBQUUxQixFQUFFeUI7d0JBQUdWLEVBQUVILEVBQUVjLEdBQUV4QixFQUFFZ0IsT0FBTyxDQUFDUyxxQkFBcUI7b0JBQUk7Z0JBQUMsR0FBRSxDQUFDLElBQUdYLEVBQUVRLGdCQUFnQixDQUFDRCxHQUFFLGlCQUFnQk4sR0FBRSxDQUFDO1lBQUU7UUFBQztJQUFDO0lBQUcsT0FBTTtRQUFDVyxTQUFReEI7UUFBRXlCLFlBQVc1QixJQUFFLENBQUMsSUFBRTtZQUFDNkIsZUFBY1Y7WUFBRVcsYUFBWWQ7WUFBRWUsU0FBUWY7UUFBQztJQUFDO0FBQUM7QUFBNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtYWN0aXZlLXByZXNzLmpzP2VlZGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyBhLHVzZVN0YXRlIGFzIG19ZnJvbVwicmVhY3RcIjtpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBkfWZyb20nLi4vdXRpbHMvb3duZXIuanMnO2ltcG9ydHt1c2VEaXNwb3NhYmxlcyBhcyBnfWZyb20nLi91c2UtZGlzcG9zYWJsZXMuanMnO2ltcG9ydHt1c2VFdmVudCBhcyB1fWZyb20nLi91c2UtZXZlbnQuanMnO2Z1bmN0aW9uIEUoZSl7bGV0IHQ9ZS53aWR0aC8yLG49ZS5oZWlnaHQvMjtyZXR1cm57dG9wOmUuY2xpZW50WS1uLHJpZ2h0OmUuY2xpZW50WCt0LGJvdHRvbTplLmNsaWVudFkrbixsZWZ0OmUuY2xpZW50WC10fX1mdW5jdGlvbiBQKGUsdCl7cmV0dXJuISghZXx8IXR8fGUucmlnaHQ8dC5sZWZ0fHxlLmxlZnQ+dC5yaWdodHx8ZS5ib3R0b208dC50b3B8fGUudG9wPnQuYm90dG9tKX1mdW5jdGlvbiB3KHtkaXNhYmxlZDplPSExfT17fSl7bGV0IHQ9YShudWxsKSxbbixsXT1tKCExKSxyPWcoKSxvPXUoKCk9Pnt0LmN1cnJlbnQ9bnVsbCxsKCExKSxyLmRpc3Bvc2UoKX0pLGY9dShzPT57aWYoci5kaXNwb3NlKCksdC5jdXJyZW50PT09bnVsbCl7dC5jdXJyZW50PXMuY3VycmVudFRhcmdldCxsKCEwKTt7bGV0IGk9ZChzLmN1cnJlbnRUYXJnZXQpO3IuYWRkRXZlbnRMaXN0ZW5lcihpLFwicG9pbnRlcnVwXCIsbywhMSksci5hZGRFdmVudExpc3RlbmVyKGksXCJwb2ludGVybW92ZVwiLGM9PntpZih0LmN1cnJlbnQpe2xldCBwPUUoYyk7bChQKHAsdC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSl9fSwhMSksci5hZGRFdmVudExpc3RlbmVyKGksXCJwb2ludGVyY2FuY2VsXCIsbywhMSl9fX0pO3JldHVybntwcmVzc2VkOm4scHJlc3NQcm9wczplP3t9OntvblBvaW50ZXJEb3duOmYsb25Qb2ludGVyVXA6byxvbkNsaWNrOm99fX1leHBvcnR7dyBhcyB1c2VBY3RpdmVQcmVzc307XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiYSIsInVzZVN0YXRlIiwibSIsImdldE93bmVyRG9jdW1lbnQiLCJkIiwidXNlRGlzcG9zYWJsZXMiLCJnIiwidXNlRXZlbnQiLCJ1IiwiRSIsImUiLCJ0Iiwid2lkdGgiLCJuIiwiaGVpZ2h0IiwidG9wIiwiY2xpZW50WSIsInJpZ2h0IiwiY2xpZW50WCIsImJvdHRvbSIsImxlZnQiLCJQIiwidyIsImRpc2FibGVkIiwibCIsInIiLCJvIiwiY3VycmVudCIsImRpc3Bvc2UiLCJmIiwicyIsImN1cnJlbnRUYXJnZXQiLCJpIiwiYWRkRXZlbnRMaXN0ZW5lciIsImMiLCJwIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicHJlc3NlZCIsInByZXNzUHJvcHMiLCJvblBvaW50ZXJEb3duIiwib25Qb2ludGVyVXAiLCJvbkNsaWNrIiwidXNlQWN0aXZlUHJlc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-disposables.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useDisposables: () => (/* binding */ p)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/disposables.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n\n\nfunction p() {\n let [e] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__.disposables);\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>()=>e.dispose(), [\n e\n ]), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZGlzcG9zYWJsZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWdEO0FBQXNEO0FBQUEsU0FBU007SUFBSSxJQUFHLENBQUNDLEVBQUUsR0FBQ0osK0NBQUNBLENBQUNFLDhEQUFDQTtJQUFFLE9BQU9KLGdEQUFDQSxDQUFDLElBQUksSUFBSU0sRUFBRUMsT0FBTyxJQUFHO1FBQUNEO0tBQUUsR0FBRUE7QUFBQztBQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcz82YzZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgcyx1c2VTdGF0ZSBhcyBvfWZyb21cInJlYWN0XCI7aW1wb3J0e2Rpc3Bvc2FibGVzIGFzIHR9ZnJvbScuLi91dGlscy9kaXNwb3NhYmxlcy5qcyc7ZnVuY3Rpb24gcCgpe2xldFtlXT1vKHQpO3JldHVybiBzKCgpPT4oKT0+ZS5kaXNwb3NlKCksW2VdKSxlfWV4cG9ydHtwIGFzIHVzZURpc3Bvc2FibGVzfTtcbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJzIiwidXNlU3RhdGUiLCJvIiwiZGlzcG9zYWJsZXMiLCJ0IiwicCIsImUiLCJkaXNwb3NlIiwidXNlRGlzcG9zYWJsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-event.js": -/*!****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-event.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEvent: () => (/* binding */ o)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n\n\nlet o = function(t) {\n let e = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__.useLatestValue)(t);\n return react__WEBPACK_IMPORTED_MODULE_0__.useCallback((...r)=>e.current(...r), [\n e\n ]);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZXZlbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXFCO0FBQXVEO0FBQUEsSUFBSUcsSUFBRSxTQUFTQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUgsb0VBQUNBLENBQUNFO0lBQUcsT0FBT0osOENBQWEsQ0FBQyxDQUFDLEdBQUdPLElBQUlGLEVBQUVHLE9BQU8sSUFBSUQsSUFBRztRQUFDRjtLQUFFO0FBQUM7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZXZlbnQuanM/NGFmYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYSBmcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VMYXRlc3RWYWx1ZSBhcyBufWZyb20nLi91c2UtbGF0ZXN0LXZhbHVlLmpzJztsZXQgbz1mdW5jdGlvbih0KXtsZXQgZT1uKHQpO3JldHVybiBhLnVzZUNhbGxiYWNrKCguLi5yKT0+ZS5jdXJyZW50KC4uLnIpLFtlXSl9O2V4cG9ydHtvIGFzIHVzZUV2ZW50fTtcbiJdLCJuYW1lcyI6WyJhIiwidXNlTGF0ZXN0VmFsdWUiLCJuIiwibyIsInQiLCJlIiwidXNlQ2FsbGJhY2siLCJyIiwiY3VycmVudCIsInVzZUV2ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-event.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-flags.js": -/*!****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-flags.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFlags: () => (/* binding */ c)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\nfunction c(u = 0) {\n let [t, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(u), g = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l(e), [\n t\n ]), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a | e), [\n t\n ]), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>(t & e) === e, [\n t\n ]), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a & ~e), [\n l\n ]), F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a ^ e), [\n l\n ]);\n return {\n flags: t,\n setFlag: g,\n addFlag: s,\n hasFlag: m,\n removeFlag: n,\n toggleFlag: F\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZmxhZ3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBa0Q7QUFBQSxTQUFTSSxFQUFFQyxJQUFFLENBQUM7SUFBRSxJQUFHLENBQUNDLEdBQUVDLEVBQUUsR0FBQ0osK0NBQUNBLENBQUNFLElBQUdHLElBQUVQLGtEQUFDQSxDQUFDUSxDQUFBQSxJQUFHRixFQUFFRSxJQUFHO1FBQUNIO0tBQUUsR0FBRUksSUFBRVQsa0RBQUNBLENBQUNRLENBQUFBLElBQUdGLEVBQUVJLENBQUFBLElBQUdBLElBQUVGLElBQUc7UUFBQ0g7S0FBRSxHQUFFTSxJQUFFWCxrREFBQ0EsQ0FBQ1EsQ0FBQUEsSUFBRyxDQUFDSCxJQUFFRyxDQUFBQSxNQUFLQSxHQUFFO1FBQUNIO0tBQUUsR0FBRU8sSUFBRVosa0RBQUNBLENBQUNRLENBQUFBLElBQUdGLEVBQUVJLENBQUFBLElBQUdBLElBQUUsQ0FBQ0YsSUFBRztRQUFDRjtLQUFFLEdBQUVPLElBQUViLGtEQUFDQSxDQUFDUSxDQUFBQSxJQUFHRixFQUFFSSxDQUFBQSxJQUFHQSxJQUFFRixJQUFHO1FBQUNGO0tBQUU7SUFBRSxPQUFNO1FBQUNRLE9BQU1UO1FBQUVVLFNBQVFSO1FBQUVTLFNBQVFQO1FBQUVRLFNBQVFOO1FBQUVPLFlBQVdOO1FBQUVPLFlBQVdOO0lBQUM7QUFBQztBQUF1QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1mbGFncy5qcz84MGZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VDYWxsYmFjayBhcyByLHVzZVN0YXRlIGFzIGJ9ZnJvbVwicmVhY3RcIjtmdW5jdGlvbiBjKHU9MCl7bGV0W3QsbF09Yih1KSxnPXIoZT0+bChlKSxbdF0pLHM9cihlPT5sKGE9PmF8ZSksW3RdKSxtPXIoZT0+KHQmZSk9PT1lLFt0XSksbj1yKGU9PmwoYT0+YSZ+ZSksW2xdKSxGPXIoZT0+bChhPT5hXmUpLFtsXSk7cmV0dXJue2ZsYWdzOnQsc2V0RmxhZzpnLGFkZEZsYWc6cyxoYXNGbGFnOm0scmVtb3ZlRmxhZzpuLHRvZ2dsZUZsYWc6Rn19ZXhwb3J0e2MgYXMgdXNlRmxhZ3N9O1xuIl0sIm5hbWVzIjpbInVzZUNhbGxiYWNrIiwiciIsInVzZVN0YXRlIiwiYiIsImMiLCJ1IiwidCIsImwiLCJnIiwiZSIsInMiLCJhIiwibSIsIm4iLCJGIiwiZmxhZ3MiLCJzZXRGbGFnIiwiYWRkRmxhZyIsImhhc0ZsYWciLCJyZW1vdmVGbGFnIiwidG9nZ2xlRmxhZyIsInVzZUZsYWdzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-flags.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsMounted: () => (/* binding */ f)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction f() {\n let e = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1);\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>(e.current = !0, ()=>{\n e.current = !1;\n }), []), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtaXMtbW91bnRlZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBK0I7QUFBa0U7QUFBQSxTQUFTSTtJQUFJLElBQUlDLElBQUVKLDZDQUFDQSxDQUFDLENBQUM7SUFBRyxPQUFPRSwrRUFBQ0EsQ0FBQyxJQUFLRSxDQUFBQSxFQUFFQyxPQUFPLEdBQUMsQ0FBQyxHQUFFO1lBQUtELEVBQUVDLE9BQU8sR0FBQyxDQUFDO1FBQUMsSUFBRyxFQUFFLEdBQUVEO0FBQUM7QUFBMkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtaXMtbW91bnRlZC5qcz8wZmY5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VSZWYgYXMgcn1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIHR9ZnJvbScuL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2Z1bmN0aW9uIGYoKXtsZXQgZT1yKCExKTtyZXR1cm4gdCgoKT0+KGUuY3VycmVudD0hMCwoKT0+e2UuY3VycmVudD0hMX0pLFtdKSxlfWV4cG9ydHtmIGFzIHVzZUlzTW91bnRlZH07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiciIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJ0IiwiZiIsImUiLCJjdXJyZW50IiwidXNlSXNNb3VudGVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsoMorphicEffect: () => (/* binding */ n)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _utils_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/env.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/env.js\");\n\n\nlet n = (e, t)=>{\n _utils_env_js__WEBPACK_IMPORTED_MODULE_1__.env.isServer ? (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(e, t) : (0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(e, t);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF1RDtBQUFzQztBQUFBLElBQUlNLElBQUUsQ0FBQ0MsR0FBRUM7SUFBS0gsOENBQUNBLENBQUNJLFFBQVEsR0FBQ1IsZ0RBQUNBLENBQUNNLEdBQUVDLEtBQUdMLHNEQUFDQSxDQUFDSSxHQUFFQztBQUFFO0FBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcz9mNWFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgZix1c2VMYXlvdXRFZmZlY3QgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHtlbnYgYXMgaX1mcm9tJy4uL3V0aWxzL2Vudi5qcyc7bGV0IG49KGUsdCk9PntpLmlzU2VydmVyP2YoZSx0KTpjKGUsdCl9O2V4cG9ydHtuIGFzIHVzZUlzb01vcnBoaWNFZmZlY3R9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImYiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjIiwiZW52IiwiaSIsIm4iLCJlIiwidCIsImlzU2VydmVyIiwidXNlSXNvTW9ycGhpY0VmZmVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-latest-value.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLatestValue: () => (/* binding */ s)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction s(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(e);\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n r.current = e;\n }, [\n e\n ]), r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtbGF0ZXN0LXZhbHVlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUErQjtBQUFrRTtBQUFBLFNBQVNJLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFTCw2Q0FBQ0EsQ0FBQ0k7SUFBRyxPQUFPRiwrRUFBQ0EsQ0FBQztRQUFLRyxFQUFFQyxPQUFPLEdBQUNGO0lBQUMsR0FBRTtRQUFDQTtLQUFFLEdBQUVDO0FBQUM7QUFBNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtbGF0ZXN0LXZhbHVlLmpzPzdiOGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyB0fWZyb21cInJlYWN0XCI7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgb31mcm9tJy4vdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7ZnVuY3Rpb24gcyhlKXtsZXQgcj10KGUpO3JldHVybiBvKCgpPT57ci5jdXJyZW50PWV9LFtlXSkscn1leHBvcnR7cyBhcyB1c2VMYXRlc3RWYWx1ZX07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwidCIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJvIiwicyIsImUiLCJyIiwiY3VycmVudCIsInVzZUxhdGVzdFZhbHVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useResolveButtonType: () => (/* binding */ T)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction i(t) {\n var n;\n if (t.type) return t.type;\n let e = (n = t.as) != null ? n : \"button\";\n if (typeof e == \"string\" && e.toLowerCase() === \"button\") return \"button\";\n}\nfunction T(t, e) {\n let [n, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>i(t));\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n u(i(t));\n }, [\n t.type,\n t.as\n ]), (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n n || e.current && e.current instanceof HTMLButtonElement && !e.current.hasAttribute(\"type\") && u(\"button\");\n }, [\n n,\n e\n ]), n;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtcmVzb2x2ZS1idXR0b24tdHlwZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBaUM7QUFBa0U7QUFBQSxTQUFTSSxFQUFFQyxDQUFDO0lBQUUsSUFBSUM7SUFBRSxJQUFHRCxFQUFFRSxJQUFJLEVBQUMsT0FBT0YsRUFBRUUsSUFBSTtJQUFDLElBQUlDLElBQUUsQ0FBQ0YsSUFBRUQsRUFBRUksRUFBRSxLQUFHLE9BQUtILElBQUU7SUFBUyxJQUFHLE9BQU9FLEtBQUcsWUFBVUEsRUFBRUUsV0FBVyxPQUFLLFVBQVMsT0FBTTtBQUFRO0FBQUMsU0FBU0MsRUFBRU4sQ0FBQyxFQUFDRyxDQUFDO0lBQUUsSUFBRyxDQUFDRixHQUFFTSxFQUFFLEdBQUNYLCtDQUFDQSxDQUFDLElBQUlHLEVBQUVDO0lBQUksT0FBT0YsK0VBQUNBLENBQUM7UUFBS1MsRUFBRVIsRUFBRUM7SUFBRyxHQUFFO1FBQUNBLEVBQUVFLElBQUk7UUFBQ0YsRUFBRUksRUFBRTtLQUFDLEdBQUVOLCtFQUFDQSxDQUFDO1FBQUtHLEtBQUdFLEVBQUVLLE9BQU8sSUFBRUwsRUFBRUssT0FBTyxZQUFZQyxxQkFBbUIsQ0FBQ04sRUFBRUssT0FBTyxDQUFDRSxZQUFZLENBQUMsV0FBU0gsRUFBRTtJQUFTLEdBQUU7UUFBQ047UUFBRUU7S0FBRSxHQUFFRjtBQUFDO0FBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXJlc29sdmUtYnV0dG9uLXR5cGUuanM/YTQ1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlU3RhdGUgYXMgb31mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIHJ9ZnJvbScuL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2Z1bmN0aW9uIGkodCl7dmFyIG47aWYodC50eXBlKXJldHVybiB0LnR5cGU7bGV0IGU9KG49dC5hcykhPW51bGw/bjpcImJ1dHRvblwiO2lmKHR5cGVvZiBlPT1cInN0cmluZ1wiJiZlLnRvTG93ZXJDYXNlKCk9PT1cImJ1dHRvblwiKXJldHVyblwiYnV0dG9uXCJ9ZnVuY3Rpb24gVCh0LGUpe2xldFtuLHVdPW8oKCk9PmkodCkpO3JldHVybiByKCgpPT57dShpKHQpKX0sW3QudHlwZSx0LmFzXSkscigoKT0+e258fGUuY3VycmVudCYmZS5jdXJyZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQmJiFlLmN1cnJlbnQuaGFzQXR0cmlidXRlKFwidHlwZVwiKSYmdShcImJ1dHRvblwiKX0sW24sZV0pLG59ZXhwb3J0e1QgYXMgdXNlUmVzb2x2ZUJ1dHRvblR5cGV9O1xuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwibyIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJyIiwiaSIsInQiLCJuIiwidHlwZSIsImUiLCJhcyIsInRvTG93ZXJDYXNlIiwiVCIsInUiLCJjdXJyZW50IiwiSFRNTEJ1dHRvbkVsZW1lbnQiLCJoYXNBdHRyaWJ1dGUiLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js": -/*!********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ optionalRef: () => (/* binding */ T),\n/* harmony export */ useSyncRefs: () => (/* binding */ y)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-event.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\nlet u = Symbol();\nfunction T(t, n = !0) {\n return Object.assign(t, {\n [u]: n\n });\n}\nfunction y(...t) {\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(t);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n n.current = t;\n }, [\n t\n ]);\n let c = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_1__.useEvent)((e)=>{\n for (let o of n.current)o != null && (typeof o == \"function\" ? o(e) : o.current = e);\n });\n return t.every((e)=>e == null || (e == null ? void 0 : e[u])) ? void 0 : c;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2Utc3luYy1yZWZzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBOEM7QUFBMEM7QUFBQSxJQUFJTSxJQUFFQztBQUFTLFNBQVNDLEVBQUVDLENBQUMsRUFBQ0MsSUFBRSxDQUFDLENBQUM7SUFBRSxPQUFPQyxPQUFPQyxNQUFNLENBQUNILEdBQUU7UUFBQyxDQUFDSCxFQUFFLEVBQUNJO0lBQUM7QUFBRTtBQUFDLFNBQVNHLEVBQUUsR0FBR0osQ0FBQztJQUFFLElBQUlDLElBQUVQLDZDQUFDQSxDQUFDTTtJQUFHUixnREFBQ0EsQ0FBQztRQUFLUyxFQUFFSSxPQUFPLEdBQUNMO0lBQUMsR0FBRTtRQUFDQTtLQUFFO0lBQUUsSUFBSU0sSUFBRVYsdURBQUNBLENBQUNXLENBQUFBO1FBQUksS0FBSSxJQUFJQyxLQUFLUCxFQUFFSSxPQUFPLENBQUNHLEtBQUcsUUFBTyxRQUFPQSxLQUFHLGFBQVdBLEVBQUVELEtBQUdDLEVBQUVILE9BQU8sR0FBQ0UsQ0FBQUE7SUFBRTtJQUFHLE9BQU9QLEVBQUVTLEtBQUssQ0FBQ0YsQ0FBQUEsSUFBR0EsS0FBRyxRQUFPQSxDQUFBQSxLQUFHLE9BQUssS0FBSyxJQUFFQSxDQUFDLENBQUNWLEVBQUUsS0FBRyxLQUFLLElBQUVTO0FBQUM7QUFBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2Utc3luYy1yZWZzLmpzP2VmNTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZUVmZmVjdCBhcyBsLHVzZVJlZiBhcyBpfWZyb21cInJlYWN0XCI7aW1wb3J0e3VzZUV2ZW50IGFzIHJ9ZnJvbScuL3VzZS1ldmVudC5qcyc7bGV0IHU9U3ltYm9sKCk7ZnVuY3Rpb24gVCh0LG49ITApe3JldHVybiBPYmplY3QuYXNzaWduKHQse1t1XTpufSl9ZnVuY3Rpb24geSguLi50KXtsZXQgbj1pKHQpO2woKCk9PntuLmN1cnJlbnQ9dH0sW3RdKTtsZXQgYz1yKGU9Pntmb3IobGV0IG8gb2Ygbi5jdXJyZW50KW8hPW51bGwmJih0eXBlb2Ygbz09XCJmdW5jdGlvblwiP28oZSk6by5jdXJyZW50PWUpfSk7cmV0dXJuIHQuZXZlcnkoZT0+ZT09bnVsbHx8KGU9PW51bGw/dm9pZCAwOmVbdV0pKT92b2lkIDA6Y31leHBvcnR7VCBhcyBvcHRpb25hbFJlZix5IGFzIHVzZVN5bmNSZWZzfTtcbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJsIiwidXNlUmVmIiwiaSIsInVzZUV2ZW50IiwiciIsInUiLCJTeW1ib2wiLCJUIiwidCIsIm4iLCJPYmplY3QiLCJhc3NpZ24iLCJ5IiwiY3VycmVudCIsImMiLCJlIiwibyIsImV2ZXJ5Iiwib3B0aW9uYWxSZWYiLCJ1c2VTeW5jUmVmcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/hooks/use-transition.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-transition.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ transitionDataAttributes: () => (/* binding */ A),\n/* harmony export */ useTransition: () => (/* binding */ V)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/disposables.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _utils_once_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/once.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/once.js\");\n/* harmony import */ var _use_disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-disposables.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _use_flags_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-flags.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-flags.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\n\n\n\n\nvar D = ((i)=>(i[i.None = 0] = \"None\", i[i.Closed = 1] = \"Closed\", i[i.Enter = 2] = \"Enter\", i[i.Leave = 4] = \"Leave\", i))(D || {});\nfunction A(e) {\n let a = {};\n for(let t in e)e[t] === !0 && (a[`data-${t}`] = \"\");\n return a;\n}\nfunction V(e, a, t, r) {\n let [i, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(t), { hasFlag: d, addFlag: f, removeFlag: s } = (0,_use_flags_js__WEBPACK_IMPORTED_MODULE_1__.useFlags)(e && i ? 3 : 0), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), o = (0,_use_disposables_js__WEBPACK_IMPORTED_MODULE_2__.useDisposables)();\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__.useIsoMorphicEffect)(function p() {\n var T;\n if (!e) return;\n t && u(!0);\n let c = a.current;\n return c ? ((T = r == null ? void 0 : r.start) == null || T.call(r, t), M(c, {\n inFlight: l,\n prepare () {\n n.current ? n.current = !1 : n.current = l.current, l.current = !0, !n.current && (t ? (f(3), s(4)) : (f(4), s(2)));\n },\n run () {\n n.current ? t ? (s(3), f(4)) : (s(4), f(3)) : t ? s(1) : f(1);\n },\n done () {\n var m;\n n.current && typeof c.getAnimations == \"function\" && c.getAnimations().length > 0 || (l.current = !1, s(7), t || u(!1), (m = r == null ? void 0 : r.end) == null || m.call(r, t));\n }\n })) : t ? (f(3), o.nextFrame(()=>p())) : void 0;\n }, [\n e,\n t,\n a,\n o\n ]), e ? [\n i,\n {\n closed: d(1),\n enter: d(2),\n leave: d(4),\n transition: d(2) || d(4)\n }\n ] : [\n t,\n {\n closed: void 0,\n enter: void 0,\n leave: void 0,\n transition: void 0\n }\n ];\n}\nfunction M(e, { prepare: a, run: t, done: r, inFlight: i }) {\n let u = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n return R(e, {\n prepare: a,\n inFlight: i\n }), u.nextFrame(()=>{\n u.add(F(e, r)), t();\n }), u.dispose;\n}\nfunction F(e, a) {\n let t = (0,_utils_once_js__WEBPACK_IMPORTED_MODULE_5__.once)(a), r = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n if (!e) return r.dispose;\n let { transitionDuration: i, transitionDelay: u } = getComputedStyle(e), [d, f] = [\n i,\n u\n ].map((l)=>{\n let [n = 0] = l.split(\",\").filter(Boolean).map((o)=>o.includes(\"ms\") ? parseFloat(o) : parseFloat(o) * 1e3).sort((o, p)=>p - o);\n return n;\n }), s = d + f;\n if (s !== 0) {\n let l = r.group((n)=>{\n let o = n.setTimeout(()=>{\n t(), n.dispose();\n }, s);\n n.addEventListener(e, \"transitionrun\", (p)=>{\n p.target === p.currentTarget && (o(), n.addEventListener(e, \"transitioncancel\", (c)=>{\n c.target === c.currentTarget && (t(), l());\n }));\n });\n });\n r.addEventListener(e, \"transitionend\", (n)=>{\n n.target === n.currentTarget && (t(), r.dispose());\n });\n } else t();\n return r.dispose;\n}\nfunction R(e, { inFlight: a, prepare: t }) {\n if (a != null && a.current) {\n t();\n return;\n }\n let r = e.style.transition;\n e.style.transition = \"none\", t(), e.offsetHeight, e.style.transition = r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtdHJhbnNpdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUE2QztBQUFzRDtBQUF3QztBQUFzRDtBQUEwQztBQUFrRTtBQUFBLElBQUljLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9ELENBQUMsQ0FBQ0EsRUFBRUUsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTRixDQUFDLENBQUNBLEVBQUVHLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUgsQ0FBQyxDQUFDQSxFQUFFSSxLQUFLLEdBQUMsRUFBRSxHQUFDLFNBQVFKLENBQUFBLENBQUMsRUFBR0QsS0FBRyxDQUFDO0FBQUcsU0FBU00sRUFBRUMsQ0FBQztJQUFFLElBQUlDLElBQUUsQ0FBQztJQUFFLElBQUksSUFBSUMsS0FBS0YsRUFBRUEsQ0FBQyxDQUFDRSxFQUFFLEtBQUcsQ0FBQyxLQUFJRCxDQUFBQSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUVDLEVBQUUsQ0FBQyxDQUFDLEdBQUMsRUFBQztJQUFHLE9BQU9EO0FBQUM7QUFBQyxTQUFTRSxFQUFFSCxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDRSxDQUFDO0lBQUUsSUFBRyxDQUFDVixHQUFFVyxFQUFFLEdBQUN2QiwrQ0FBQ0EsQ0FBQ29CLElBQUcsRUFBQ0ksU0FBUUMsQ0FBQyxFQUFDQyxTQUFRQyxDQUFDLEVBQUNDLFlBQVdDLENBQUMsRUFBQyxHQUFDckIsdURBQUNBLENBQUNVLEtBQUdOLElBQUUsSUFBRSxJQUFHa0IsSUFBRWhDLDZDQUFDQSxDQUFDLENBQUMsSUFBR2lDLElBQUVqQyw2Q0FBQ0EsQ0FBQyxDQUFDLElBQUdrQyxJQUFFMUIsbUVBQUNBO0lBQUcsT0FBT0ksK0VBQUNBLENBQUMsU0FBU3VCO1FBQUksSUFBSUM7UUFBRSxJQUFHLENB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OUI7QUFBQztBQUEwRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS10cmFuc2l0aW9uLmpzPzZhNzYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyBiLHVzZVN0YXRlIGFzIFN9ZnJvbVwicmVhY3RcIjtpbXBvcnR7ZGlzcG9zYWJsZXMgYXMgRX1mcm9tJy4uL3V0aWxzL2Rpc3Bvc2FibGVzLmpzJztpbXBvcnR7b25jZSBhcyBnfWZyb20nLi4vdXRpbHMvb25jZS5qcyc7aW1wb3J0e3VzZURpc3Bvc2FibGVzIGFzIEx9ZnJvbScuL3VzZS1kaXNwb3NhYmxlcy5qcyc7aW1wb3J0e3VzZUZsYWdzIGFzIHl9ZnJvbScuL3VzZS1mbGFncy5qcyc7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgQ31mcm9tJy4vdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7dmFyIEQ9KGk9PihpW2kuTm9uZT0wXT1cIk5vbmVcIixpW2kuQ2xvc2VkPTFdPVwiQ2xvc2VkXCIsaVtpLkVudGVyPTJdPVwiRW50ZXJcIixpW2kuTGVhdmU9NF09XCJMZWF2ZVwiLGkpKShEfHx7fSk7ZnVuY3Rpb24gQShlKXtsZXQgYT17fTtmb3IobGV0IHQgaW4gZSllW3RdPT09ITAmJihhW2BkYXRhLSR7dH1gXT1cIlwiKTtyZXR1cm4gYX1mdW5jdGlvbiBWKGUsYSx0LHIpe2xldFtpLHVdPVModCkse2hhc0ZsYWc6ZCxhZGRGbGFnOmYscmVtb3ZlRmxhZzpzfT15KGUmJmk/MzowKSxsPWIoITEpLG49YighMSksbz1MKCk7cmV0dXJuIEMoZnVuY3Rpb24gcCgpe3ZhciBUO2lmKCFlKXJldHVybjt0JiZ1KCEwKTtsZXQgYz1hLmN1cnJlbnQ7cmV0dXJuIGM/KChUPXI9PW51bGw/dm9pZCAwOnIuc3RhcnQpPT1udWxsfHxULmNhbGwocix0KSxNKGMse2luRmxpZ2h0OmwscHJlcGFyZSgpe24uY3VycmVudD9uLmN1cnJlbnQ9ITE6bi5jdXJyZW50PWwuY3VycmVudCxsLmN1cnJlbnQ9ITAsIW4uY3VycmVudCYmKHQ/KGYoMykscyg0KSk6KGYoNCkscygyKSkpfSxydW4oKXtuLmN1cnJlbnQ/dD8ocygzKSxmKDQpKToocyg0KSxmKDMpKTp0P3MoMSk6ZigxKX0sZG9uZSgpe3ZhciBtO24uY3VycmVudCYmdHlwZW9mIGMuZ2V0QW5pbWF0aW9ucz09XCJmdW5jdGlvblwiJiZjLmdldEFuaW1hdGlvbnMoKS5sZW5ndGg+MHx8KGwuY3VycmVudD0hMSxzKDcpLHR8fHUoITEpLChtPXI9PW51bGw/dm9pZCAwOnIuZW5kKT09bnVsbHx8bS5jYWxsKHIsdCkpfX0pKTp0PyhmKDMpLG8ubmV4dEZyYW1lKCgpPT5wKCkpKTp2b2lkIDB9LFtlLHQsYSxvXSksZT9baSx7Y2xvc2VkOmQoMSksZW50ZXI6ZCgyKSxsZWF2ZTpkKDQpLHRyYW5zaXRpb246ZCgyKXx8ZCg0KX1dOlt0LHtjbG9zZWQ6dm9pZCAwLGVudGVyOnZvaWQgMCxsZWF2ZTp2b2lkIDAsdHJhbnNpdGlvbjp2b2lkIDB9XX1mdW5jdGlvbiBNKGUse3ByZXBhcmU6YSxydW46dCxkb25lOnIsaW5GbGlnaHQ6aX0pe2xldCB1PUUoKTtyZXR1cm4gUihlLHtwcmVwYXJlOmEsaW5GbGlnaHQ6aX0pLHUubmV4dEZyYW1lKCgpPT57dS5hZGQoRihlLHIpKSx0KCl9KSx1LmRpc3Bvc2V9ZnVuY3Rpb24gRihlLGEpe2xldCB0PWcoYSkscj1FKCk7aWYoIWUpcmV0dXJuIHIuZGlzcG9zZTtsZXR7dHJhbnNpdGlvbkR1cmF0aW9uOmksdHJhbnNpdGlvbkRlbGF5OnV9PWdldENvbXB1dGVkU3R5bGUoZSksW2QsZl09W2ksdV0ubWFwKGw9PntsZXRbbj0wXT1sLnNwbGl0KFwiLFwiKS5maWx0ZXIoQm9vbGVhbikubWFwKG89Pm8uaW5jbHVkZXMoXCJtc1wiKT9wYXJzZUZsb2F0KG8pOnBhcnNlRmxvYXQobykqMWUzKS5zb3J0KChvLHApPT5wLW8pO3JldHVybiBufSkscz1kK2Y7aWYocyE9PTApe2xldCBsPXIuZ3JvdXAobj0+e2xldCBvPW4uc2V0VGltZW91dCgoKT0+e3QoKSxuLmRpc3Bvc2UoKX0scyk7bi5hZGRFdmVudExpc3RlbmVyKGUsXCJ0cmFuc2l0aW9ucnVuXCIscD0+e3AudGFyZ2V0PT09cC5jdXJyZW50VGFyZ2V0JiYobygpLG4uYWRkRXZlbnRMaXN0ZW5lcihlLFwidHJhbnNpdGlvbmNhbmNlbFwiLGM9PntjLnRhcmdldD09PWMuY3VycmVudFRhcmdldCYmKHQoKSxsKCkpfSkpfSl9KTtyLmFkZEV2ZW50TGlzdGVuZXIoZSxcInRyYW5zaXRpb25lbmRcIixuPT57bi50YXJnZXQ9PT1uLmN1cnJlbnRUYXJnZXQmJih0KCksci5kaXNwb3NlKCkpfSl9ZWxzZSB0KCk7cmV0dXJuIHIuZGlzcG9zZX1mdW5jdGlvbiBSKGUse2luRmxpZ2h0OmEscHJlcGFyZTp0fSl7aWYoYSE9bnVsbCYmYS5jdXJyZW50KXt0KCk7cmV0dXJufWxldCByPWUuc3R5bGUudHJhbnNpdGlvbjtlLnN0eWxlLnRyYW5zaXRpb249XCJub25lXCIsdCgpLGUub2Zmc2V0SGVpZ2h0LGUuc3R5bGUudHJhbnNpdGlvbj1yfWV4cG9ydHtBIGFzIHRyYW5zaXRpb25EYXRhQXR0cmlidXRlcyxWIGFzIHVzZVRyYW5zaXRpb259O1xuIl0sIm5hbWVzIjpbInVzZVJlZiIsImIiLCJ1c2VTdGF0ZSIsIlMiLCJkaXNwb3NhYmxlcyIsIkUiLCJvbmNlIiwiZyIsInVzZURpc3Bvc2FibGVzIiwiTCIsInVzZUZsYWdzIiwieSIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJDIiwiRCIsImkiLCJOb25lIiwiQ2xvc2VkIiwiRW50ZXIiLCJMZWF2ZSIsIkEiLCJlIiwiYSIsInQiLCJWIiwiciIsInUiLCJoYXNGbGFnIiwiZCIsImFkZEZsYWciLCJmIiwicmVtb3ZlRmxhZyIsInMiLCJsIiwibiIsIm8iLCJwIiwiVCIsImMiLCJjdXJyZW50Iiwic3RhcnQiLCJjYWxsIiwiTSIsImluRmxpZ2h0IiwicHJlcGFyZSIsInJ1biIsImRvbmUiLCJtIiwiZ2V0QW5pbWF0aW9ucyIsImxlbmd0aCIsImVuZCIsIm5leHRGcmFtZSIsImNsb3NlZCIsImVudGVyIiwibGVhdmUiLCJ0cmFuc2l0aW9uIiwiUiIsImFkZCIsIkYiLCJkaXNwb3NlIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwidHJhbnNpdGlvbkRlbGF5IiwiZ2V0Q29tcHV0ZWRTdHlsZSIsIm1hcCIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImluY2x1ZGVzIiwicGFyc2VGbG9hdCIsInNvcnQiLCJncm91cCIsInNldFRpbWVvdXQiLCJhZGRFdmVudExpc3RlbmVyIiwidGFyZ2V0IiwiY3VycmVudFRhcmdldCIsInN0eWxlIiwib2Zmc2V0SGVpZ2h0IiwidHJhbnNpdGlvbkRhdGFBdHRyaWJ1dGVzIiwidXNlVHJhbnNpdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/hooks/use-transition.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/internal/close-provider.js": -/*!************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/close-provider.js ***! - \************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CloseProvider: () => (/* binding */ u),\n/* harmony export */ useClose: () => (/* binding */ l)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\nlet e = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(()=>{});\nfunction l() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(e);\n}\nfunction u({ value: o, children: t }) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(e.Provider, {\n value: o\n }, t);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9jbG9zZS1wcm92aWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBeUQ7QUFBQSxJQUFJSyxrQkFBRUgsb0RBQUNBLENBQUMsS0FBSztBQUFHLFNBQVNJO0lBQUksT0FBT0YsaURBQUNBLENBQUNDO0FBQUU7QUFBQyxTQUFTRSxFQUFFLEVBQUNDLE9BQU1DLENBQUMsRUFBQ0MsVUFBU0MsQ0FBQyxFQUFDO0lBQUUscUJBQU9YLGdEQUFlLENBQUNLLEVBQUVRLFFBQVEsRUFBQztRQUFDTCxPQUFNQztJQUFDLEdBQUVFO0FBQUU7QUFBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9jbG9zZS1wcm92aWRlci5qcz83YThkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCByLHtjcmVhdGVDb250ZXh0IGFzIG4sdXNlQ29udGV4dCBhcyBpfWZyb21cInJlYWN0XCI7bGV0IGU9bigoKT0+e30pO2Z1bmN0aW9uIGwoKXtyZXR1cm4gaShlKX1mdW5jdGlvbiB1KHt2YWx1ZTpvLGNoaWxkcmVuOnR9KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGUuUHJvdmlkZXIse3ZhbHVlOm99LHQpfWV4cG9ydHt1IGFzIENsb3NlUHJvdmlkZXIsbCBhcyB1c2VDbG9zZX07XG4iXSwibmFtZXMiOlsiciIsImNyZWF0ZUNvbnRleHQiLCJuIiwidXNlQ29udGV4dCIsImkiLCJlIiwibCIsInUiLCJ2YWx1ZSIsIm8iLCJjaGlsZHJlbiIsInQiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJDbG9zZVByb3ZpZGVyIiwidXNlQ2xvc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/internal/close-provider.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js": -/*!************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/focus-sentinel.js ***! - \************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FocusSentinel: () => (/* binding */ b)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _hooks_use_is_mounted_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks/use-is-mounted.js */ \"(ssr)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js\");\n/* harmony import */ var _hidden_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hidden.js */ \"(ssr)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n\n\n\nfunction b({ onFocus: n }) {\n let [r, o] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!0), u = (0,_hooks_use_is_mounted_js__WEBPACK_IMPORTED_MODULE_1__.useIsMounted)();\n return r ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_hidden_js__WEBPACK_IMPORTED_MODULE_2__.Hidden, {\n as: \"button\",\n type: \"button\",\n features: _hidden_js__WEBPACK_IMPORTED_MODULE_2__.HiddenFeatures.Focusable,\n onFocus: (a)=>{\n a.preventDefault();\n let e, i = 50;\n function t() {\n if (i-- <= 0) {\n e && cancelAnimationFrame(e);\n return;\n }\n if (n()) {\n if (cancelAnimationFrame(e), !u.current) return;\n o(!1);\n return;\n }\n e = requestAnimationFrame(t);\n }\n e = requestAnimationFrame(t);\n }\n }) : null;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9mb2N1cy1zZW50aW5lbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQW9DO0FBQTBEO0FBQXlEO0FBQUEsU0FBU1MsRUFBRSxFQUFDQyxTQUFRQyxDQUFDLEVBQUM7SUFBRSxJQUFHLENBQUNDLEdBQUVDLEVBQUUsR0FBQ1gsK0NBQUNBLENBQUMsQ0FBQyxJQUFHWSxJQUFFVixzRUFBQ0E7SUFBRyxPQUFPUSxrQkFBRVosZ0RBQWUsQ0FBQ00sOENBQUNBLEVBQUM7UUFBQ1UsSUFBRztRQUFTQyxNQUFLO1FBQVNDLFVBQVNWLHNEQUFDQSxDQUFDVyxTQUFTO1FBQUNULFNBQVFVLENBQUFBO1lBQUlBLEVBQUVDLGNBQWM7WUFBRyxJQUFJQyxHQUFFQyxJQUFFO1lBQUcsU0FBU0M7Z0JBQUksSUFBR0QsT0FBSyxHQUFFO29CQUFDRCxLQUFHRyxxQkFBcUJIO29CQUFHO2dCQUFNO2dCQUFDLElBQUdYLEtBQUk7b0JBQUMsSUFBR2MscUJBQXFCSCxJQUFHLENBQUNSLEVBQUVZLE9BQU8sRUFBQztvQkFBT2IsRUFBRSxDQUFDO29CQUFHO2dCQUFNO2dCQUFDUyxJQUFFSyxzQkFBc0JIO1lBQUU7WUFBQ0YsSUFBRUssc0JBQXNCSDtRQUFFO0lBQUMsS0FBRztBQUFJO0FBQTRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanM/YzEzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcyx7dXNlU3RhdGUgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc01vdW50ZWQgYXMgbX1mcm9tJy4uL2hvb2tzL3VzZS1pcy1tb3VudGVkLmpzJztpbXBvcnR7SGlkZGVuIGFzIGYsSGlkZGVuRmVhdHVyZXMgYXMgbH1mcm9tJy4vaGlkZGVuLmpzJztmdW5jdGlvbiBiKHtvbkZvY3VzOm59KXtsZXRbcixvXT1jKCEwKSx1PW0oKTtyZXR1cm4gcj9zLmNyZWF0ZUVsZW1lbnQoZix7YXM6XCJidXR0b25cIix0eXBlOlwiYnV0dG9uXCIsZmVhdHVyZXM6bC5Gb2N1c2FibGUsb25Gb2N1czphPT57YS5wcmV2ZW50RGVmYXVsdCgpO2xldCBlLGk9NTA7ZnVuY3Rpb24gdCgpe2lmKGktLTw9MCl7ZSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSk7cmV0dXJufWlmKG4oKSl7aWYoY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSksIXUuY3VycmVudClyZXR1cm47byghMSk7cmV0dXJufWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfX0pOm51bGx9ZXhwb3J0e2IgYXMgRm9jdXNTZW50aW5lbH07XG4iXSwibmFtZXMiOlsicyIsInVzZVN0YXRlIiwiYyIsInVzZUlzTW91bnRlZCIsIm0iLCJIaWRkZW4iLCJmIiwiSGlkZGVuRmVhdHVyZXMiLCJsIiwiYiIsIm9uRm9jdXMiLCJuIiwiciIsIm8iLCJ1IiwiY3JlYXRlRWxlbWVudCIsImFzIiwidHlwZSIsImZlYXR1cmVzIiwiRm9jdXNhYmxlIiwiYSIsInByZXZlbnREZWZhdWx0IiwiZSIsImkiLCJ0IiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJjdXJyZW50IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiRm9jdXNTZW50aW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/internal/hidden.js": -/*!****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/hidden.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Hidden: () => (/* binding */ T),\n/* harmony export */ HiddenFeatures: () => (/* binding */ s)\n/* harmony export */ });\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/render.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/render.js\");\n\nlet a = \"div\";\nvar s = ((e)=>(e[e.None = 1] = \"None\", e[e.Focusable = 2] = \"Focusable\", e[e.Hidden = 4] = \"Hidden\", e))(s || {});\nfunction l(t, r) {\n var n;\n let { features: d = 1, ...e } = t, o = {\n ref: r,\n \"aria-hidden\": (d & 2) === 2 ? !0 : (n = e[\"aria-hidden\"]) != null ? n : void 0,\n hidden: (d & 4) === 4 ? !0 : void 0,\n style: {\n position: \"fixed\",\n top: 1,\n left: 1,\n width: 1,\n height: 0,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n borderWidth: \"0\",\n ...(d & 4) === 4 && (d & 2) !== 2 && {\n display: \"none\"\n }\n }\n };\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_0__.render)({\n ourProps: o,\n theirProps: e,\n slot: {},\n defaultTag: a,\n name: \"Hidden\"\n });\n}\nlet T = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_0__.forwardRefWithAs)(l);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9oaWRkZW4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWtFO0FBQUEsSUFBSUksSUFBRTtBQUFNLElBQUlDLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9ELENBQUMsQ0FBQ0EsRUFBRUUsU0FBUyxHQUFDLEVBQUUsR0FBQyxhQUFZRixDQUFDLENBQUNBLEVBQUVHLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0gsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTSyxFQUFFQyxDQUFDLEVBQUNDLENBQUM7SUFBRSxJQUFJQztJQUFFLElBQUcsRUFBQ0MsVUFBU0MsSUFBRSxDQUFDLEVBQUMsR0FBR1QsR0FBRSxHQUFDSyxHQUFFSyxJQUFFO1FBQUNDLEtBQUlMO1FBQUUsZUFBYyxDQUFDRyxJQUFFLE9BQUssSUFBRSxDQUFDLElBQUUsQ0FBQ0YsSUFBRVAsQ0FBQyxDQUFDLGNBQWMsS0FBRyxPQUFLTyxJQUFFLEtBQUs7UUFBRUssUUFBTyxDQUFDSCxJQUFFLE9BQUssSUFBRSxDQUFDLElBQUUsS0FBSztRQUFFSSxPQUFNO1lBQUNDLFVBQVM7WUFBUUMsS0FBSTtZQUFFQyxNQUFLO1lBQUVDLE9BQU07WUFBRUMsUUFBTztZQUFFQyxTQUFRO1lBQUVDLFFBQU8sQ0FBQztZQUFFQyxVQUFTO1lBQVNDLE1BQUs7WUFBbUJDLFlBQVc7WUFBU0MsYUFBWTtZQUFJLEdBQUcsQ0FBQ2YsSUFBRSxPQUFLLEtBQUcsQ0FBQ0EsSUFBRSxPQUFLLEtBQUc7Z0JBQUNnQixTQUFRO1lBQU0sQ0FBQztRQUFBO0lBQUM7SUFBRSxPQUFPNUIsd0RBQUNBLENBQUM7UUFBQzZCLFVBQVNoQjtRQUFFaUIsWUFBVzNCO1FBQUU0QixNQUFLLENBQUM7UUFBRUMsWUFBVy9CO1FBQUVnQyxNQUFLO0lBQVE7QUFBRTtBQUFDLElBQUlDLElBQUVwQyxrRUFBQ0EsQ0FBQ1M7QUFBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9oaWRkZW4uanM/MzBlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7Zm9yd2FyZFJlZldpdGhBcyBhcyBpLHJlbmRlciBhcyBwfWZyb20nLi4vdXRpbHMvcmVuZGVyLmpzJztsZXQgYT1cImRpdlwiO3ZhciBzPShlPT4oZVtlLk5vbmU9MV09XCJOb25lXCIsZVtlLkZvY3VzYWJsZT0yXT1cIkZvY3VzYWJsZVwiLGVbZS5IaWRkZW49NF09XCJIaWRkZW5cIixlKSkoc3x8e30pO2Z1bmN0aW9uIGwodCxyKXt2YXIgbjtsZXR7ZmVhdHVyZXM6ZD0xLC4uLmV9PXQsbz17cmVmOnIsXCJhcmlhLWhpZGRlblwiOihkJjIpPT09Mj8hMDoobj1lW1wiYXJpYS1oaWRkZW5cIl0pIT1udWxsP246dm9pZCAwLGhpZGRlbjooZCY0KT09PTQ/ITA6dm9pZCAwLHN0eWxlOntwb3NpdGlvbjpcImZpeGVkXCIsdG9wOjEsbGVmdDoxLHdpZHRoOjEsaGVpZ2h0OjAscGFkZGluZzowLG1hcmdpbjotMSxvdmVyZmxvdzpcImhpZGRlblwiLGNsaXA6XCJyZWN0KDAsIDAsIDAsIDApXCIsd2hpdGVTcGFjZTpcIm5vd3JhcFwiLGJvcmRlcldpZHRoOlwiMFwiLC4uLihkJjQpPT09NCYmKGQmMikhPT0yJiZ7ZGlzcGxheTpcIm5vbmVcIn19fTtyZXR1cm4gcCh7b3VyUHJvcHM6byx0aGVpclByb3BzOmUsc2xvdDp7fSxkZWZhdWx0VGFnOmEsbmFtZTpcIkhpZGRlblwifSl9bGV0IFQ9aShsKTtleHBvcnR7VCBhcyBIaWRkZW4scyBhcyBIaWRkZW5GZWF0dXJlc307XG4iXSwibmFtZXMiOlsiZm9yd2FyZFJlZldpdGhBcyIsImkiLCJyZW5kZXIiLCJwIiwiYSIsInMiLCJlIiwiTm9uZSIsIkZvY3VzYWJsZSIsIkhpZGRlbiIsImwiLCJ0IiwiciIsIm4iLCJmZWF0dXJlcyIsImQiLCJvIiwicmVmIiwiaGlkZGVuIiwic3R5bGUiLCJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJ3aWR0aCIsImhlaWdodCIsInBhZGRpbmciLCJtYXJnaW4iLCJvdmVyZmxvdyIsImNsaXAiLCJ3aGl0ZVNwYWNlIiwiYm9yZGVyV2lkdGgiLCJkaXNwbGF5Iiwib3VyUHJvcHMiLCJ0aGVpclByb3BzIiwic2xvdCIsImRlZmF1bHRUYWciLCJuYW1lIiwiVCIsIkhpZGRlbkZlYXR1cmVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/internal/hidden.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/internal/open-closed.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/open-closed.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpenClosedProvider: () => (/* binding */ c),\n/* harmony export */ ResetOpenClosedProvider: () => (/* binding */ s),\n/* harmony export */ State: () => (/* binding */ i),\n/* harmony export */ useOpenClosed: () => (/* binding */ u)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\nlet n = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nn.displayName = \"OpenClosedContext\";\nvar i = ((e)=>(e[e.Open = 1] = \"Open\", e[e.Closed = 2] = \"Closed\", e[e.Closing = 4] = \"Closing\", e[e.Opening = 8] = \"Opening\", e))(i || {});\nfunction u() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(n);\n}\nfunction c({ value: o, children: t }) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(n.Provider, {\n value: o\n }, t);\n}\nfunction s({ children: o }) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(n.Provider, {\n value: null\n }, o);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9vcGVuLWNsb3NlZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUF5RDtBQUFBLElBQUlLLGtCQUFFSCxvREFBQ0EsQ0FBQztBQUFNRyxFQUFFQyxXQUFXLEdBQUM7QUFBb0IsSUFBSUMsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxNQUFNLEdBQUMsRUFBRSxHQUFDLFVBQVNGLENBQUMsQ0FBQ0EsRUFBRUcsT0FBTyxHQUFDLEVBQUUsR0FBQyxXQUFVSCxDQUFDLENBQUNBLEVBQUVJLE9BQU8sR0FBQyxFQUFFLEdBQUMsV0FBVUosQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTTTtJQUFJLE9BQU9ULGlEQUFDQSxDQUFDQztBQUFFO0FBQUMsU0FBU1MsRUFBRSxFQUFDQyxPQUFNQyxDQUFDLEVBQUNDLFVBQVNDLENBQUMsRUFBQztJQUFFLHFCQUFPbEIsZ0RBQWUsQ0FBQ0ssRUFBRWUsUUFBUSxFQUFDO1FBQUNMLE9BQU1DO0lBQUMsR0FBRUU7QUFBRTtBQUFDLFNBQVNHLEVBQUUsRUFBQ0osVUFBU0QsQ0FBQyxFQUFDO0lBQUUscUJBQU9oQixnREFBZSxDQUFDSyxFQUFFZSxRQUFRLEVBQUM7UUFBQ0wsT0FBTTtJQUFJLEdBQUVDO0FBQUU7QUFBNEYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9vcGVuLWNsb3NlZC5qcz9kYTkxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCByLHtjcmVhdGVDb250ZXh0IGFzIGwsdXNlQ29udGV4dCBhcyBkfWZyb21cInJlYWN0XCI7bGV0IG49bChudWxsKTtuLmRpc3BsYXlOYW1lPVwiT3BlbkNsb3NlZENvbnRleHRcIjt2YXIgaT0oZT0+KGVbZS5PcGVuPTFdPVwiT3BlblwiLGVbZS5DbG9zZWQ9Ml09XCJDbG9zZWRcIixlW2UuQ2xvc2luZz00XT1cIkNsb3NpbmdcIixlW2UuT3BlbmluZz04XT1cIk9wZW5pbmdcIixlKSkoaXx8e30pO2Z1bmN0aW9uIHUoKXtyZXR1cm4gZChuKX1mdW5jdGlvbiBjKHt2YWx1ZTpvLGNoaWxkcmVuOnR9KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KG4uUHJvdmlkZXIse3ZhbHVlOm99LHQpfWZ1bmN0aW9uIHMoe2NoaWxkcmVuOm99KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KG4uUHJvdmlkZXIse3ZhbHVlOm51bGx9LG8pfWV4cG9ydHtjIGFzIE9wZW5DbG9zZWRQcm92aWRlcixzIGFzIFJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyLGkgYXMgU3RhdGUsdSBhcyB1c2VPcGVuQ2xvc2VkfTtcbiJdLCJuYW1lcyI6WyJyIiwiY3JlYXRlQ29udGV4dCIsImwiLCJ1c2VDb250ZXh0IiwiZCIsIm4iLCJkaXNwbGF5TmFtZSIsImkiLCJlIiwiT3BlbiIsIkNsb3NlZCIsIkNsb3NpbmciLCJPcGVuaW5nIiwidSIsImMiLCJ2YWx1ZSIsIm8iLCJjaGlsZHJlbiIsInQiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJzIiwiT3BlbkNsb3NlZFByb3ZpZGVyIiwiUmVzZXRPcGVuQ2xvc2VkUHJvdmlkZXIiLCJTdGF0ZSIsInVzZU9wZW5DbG9zZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/internal/open-closed.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/bugs.js": -/*!***********************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/bugs.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isDisabledReactIssue7711: () => (/* binding */ r)\n/* harmony export */ });\nfunction r(n) {\n let e = n.parentElement, l = null;\n for(; e && !(e instanceof HTMLFieldSetElement);)e instanceof HTMLLegendElement && (l = e), e = e.parentElement;\n let t = (e == null ? void 0 : e.getAttribute(\"disabled\")) === \"\";\n return t && i(l) ? !1 : t;\n}\nfunction i(n) {\n if (!n) return !1;\n let e = n.previousElementSibling;\n for(; e !== null;){\n if (e instanceof HTMLLegendElement) return !1;\n e = e.previousElementSibling;\n }\n return !0;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9idWdzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRUUsYUFBYSxFQUFDQyxJQUFFO0lBQUssTUFBS0YsS0FBRyxDQUFFQSxDQUFBQSxhQUFhRyxtQkFBa0IsR0FBSUgsYUFBYUkscUJBQW9CRixDQUFBQSxJQUFFRixDQUFBQSxHQUFHQSxJQUFFQSxFQUFFQyxhQUFhO0lBQUMsSUFBSUksSUFBRSxDQUFDTCxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFTSxZQUFZLENBQUMsV0FBVSxNQUFLO0lBQUcsT0FBT0QsS0FBR0UsRUFBRUwsS0FBRyxDQUFDLElBQUVHO0FBQUM7QUFBQyxTQUFTRSxFQUFFUixDQUFDO0lBQUUsSUFBRyxDQUFDQSxHQUFFLE9BQU0sQ0FBQztJQUFFLElBQUlDLElBQUVELEVBQUVTLHNCQUFzQjtJQUFDLE1BQUtSLE1BQUksTUFBTTtRQUFDLElBQUdBLGFBQWFJLG1CQUFrQixPQUFNLENBQUM7UUFBRUosSUFBRUEsRUFBRVEsc0JBQXNCO0lBQUE7SUFBQyxPQUFNLENBQUM7QUFBQztBQUF1QyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2J1Z3MuanM/NzE1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiByKG4pe2xldCBlPW4ucGFyZW50RWxlbWVudCxsPW51bGw7Zm9yKDtlJiYhKGUgaW5zdGFuY2VvZiBIVE1MRmllbGRTZXRFbGVtZW50KTspZSBpbnN0YW5jZW9mIEhUTUxMZWdlbmRFbGVtZW50JiYobD1lKSxlPWUucGFyZW50RWxlbWVudDtsZXQgdD0oZT09bnVsbD92b2lkIDA6ZS5nZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKSk9PT1cIlwiO3JldHVybiB0JiZpKGwpPyExOnR9ZnVuY3Rpb24gaShuKXtpZighbilyZXR1cm4hMTtsZXQgZT1uLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7Zm9yKDtlIT09bnVsbDspe2lmKGUgaW5zdGFuY2VvZiBIVE1MTGVnZW5kRWxlbWVudClyZXR1cm4hMTtlPWUucHJldmlvdXNFbGVtZW50U2libGluZ31yZXR1cm4hMH1leHBvcnR7ciBhcyBpc0Rpc2FibGVkUmVhY3RJc3N1ZTc3MTF9O1xuIl0sIm5hbWVzIjpbInIiLCJuIiwiZSIsInBhcmVudEVsZW1lbnQiLCJsIiwiSFRNTEZpZWxkU2V0RWxlbWVudCIsIkhUTUxMZWdlbmRFbGVtZW50IiwidCIsImdldEF0dHJpYnV0ZSIsImkiLCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwiaXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/bugs.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/class-names.js": -/*!******************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/class-names.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ classNames: () => (/* binding */ t)\n/* harmony export */ });\nfunction t(...r) {\n return Array.from(new Set(r.flatMap((n)=>typeof n == \"string\" ? n.split(\" \") : []))).filter(Boolean).join(\" \");\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9jbGFzcy1uYW1lcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsU0FBU0EsRUFBRSxHQUFHQyxDQUFDO0lBQUUsT0FBT0MsTUFBTUMsSUFBSSxDQUFDLElBQUlDLElBQUlILEVBQUVJLE9BQU8sQ0FBQ0MsQ0FBQUEsSUFBRyxPQUFPQSxLQUFHLFdBQVNBLEVBQUVDLEtBQUssQ0FBQyxPQUFLLEVBQUUsSUFBSUMsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7QUFBSTtBQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2NsYXNzLW5hbWVzLmpzP2MyZDUiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdCguLi5yKXtyZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KHIuZmxhdE1hcChuPT50eXBlb2Ygbj09XCJzdHJpbmdcIj9uLnNwbGl0KFwiIFwiKTpbXSkpKS5maWx0ZXIoQm9vbGVhbikuam9pbihcIiBcIil9ZXhwb3J0e3QgYXMgY2xhc3NOYW1lc307XG4iXSwibmFtZXMiOlsidCIsInIiLCJBcnJheSIsImZyb20iLCJTZXQiLCJmbGF0TWFwIiwibiIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJjbGFzc05hbWVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/class-names.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/disposables.js": -/*!******************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/disposables.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ disposables: () => (/* binding */ o)\n/* harmony export */ });\n/* harmony import */ var _micro_task_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./micro-task.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/micro-task.js\");\n\nfunction o() {\n let n = [], r = {\n addEventListener (e, t, s, a) {\n return e.addEventListener(t, s, a), r.add(()=>e.removeEventListener(t, s, a));\n },\n requestAnimationFrame (...e) {\n let t = requestAnimationFrame(...e);\n return r.add(()=>cancelAnimationFrame(t));\n },\n nextFrame (...e) {\n return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e));\n },\n setTimeout (...e) {\n let t = setTimeout(...e);\n return r.add(()=>clearTimeout(t));\n },\n microTask (...e) {\n let t = {\n current: !0\n };\n return (0,_micro_task_js__WEBPACK_IMPORTED_MODULE_0__.microTask)(()=>{\n t.current && e[0]();\n }), r.add(()=>{\n t.current = !1;\n });\n },\n style (e, t, s) {\n let a = e.style.getPropertyValue(t);\n return Object.assign(e.style, {\n [t]: s\n }), this.add(()=>{\n Object.assign(e.style, {\n [t]: a\n });\n });\n },\n group (e) {\n let t = o();\n return e(t), this.add(()=>t.dispose());\n },\n add (e) {\n return n.includes(e) || n.push(e), ()=>{\n let t = n.indexOf(e);\n if (t >= 0) for (let s of n.splice(t, 1))s();\n };\n },\n dispose () {\n for (let e of n.splice(0))e();\n }\n };\n return r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9kaXNwb3NhYmxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE0QztBQUFBLFNBQVNFO0lBQUksSUFBSUMsSUFBRSxFQUFFLEVBQUNDLElBQUU7UUFBQ0Msa0JBQWlCQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO1lBQUUsT0FBT0gsRUFBRUQsZ0JBQWdCLENBQUNFLEdBQUVDLEdBQUVDLElBQUdMLEVBQUVNLEdBQUcsQ0FBQyxJQUFJSixFQUFFSyxtQkFBbUIsQ0FBQ0osR0FBRUMsR0FBRUM7UUFBRztRQUFFRyx1QkFBc0IsR0FBR04sQ0FBQztZQUFFLElBQUlDLElBQUVLLHlCQUF5Qk47WUFBRyxPQUFPRixFQUFFTSxHQUFHLENBQUMsSUFBSUcscUJBQXFCTjtRQUFHO1FBQUVPLFdBQVUsR0FBR1IsQ0FBQztZQUFFLE9BQU9GLEVBQUVRLHFCQUFxQixDQUFDLElBQUlSLEVBQUVRLHFCQUFxQixJQUFJTjtRQUFHO1FBQUVTLFlBQVcsR0FBR1QsQ0FBQztZQUFFLElBQUlDLElBQUVRLGNBQWNUO1lBQUcsT0FBT0YsRUFBRU0sR0FBRyxDQUFDLElBQUlNLGFBQWFUO1FBQUc7UUFBRVAsV0FBVSxHQUFHTSxDQUFDO1lBQUUsSUFBSUMsSUFBRTtnQkFBQ1UsU0FBUSxDQUFDO1lBQUM7WUFBRSxPQUFPaEIseURBQUNBLENBQUM7Z0JBQUtNLEVBQUVVLE9BQU8sSUFBRVgsQ0FBQyxDQUFDLEVBQUU7WUFBRSxJQUFHRixFQUFFTSxHQUFHLENBQUM7Z0JBQUtILEVBQUVVLE9BQU8sR0FBQyxDQUFDO1lBQUM7UUFBRTtRQUFFQyxPQUFNWixDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQztZQUFFLElBQUlDLElBQUVILEVBQUVZLEtBQUssQ0FBQ0MsZ0JBQWdCLENBQUNaO1lBQUcsT0FBT2EsT0FBT0MsTUFBTSxDQUFDZixFQUFFWSxLQUFLLEVBQUM7Z0JBQUMsQ0FBQ1gsRUFBRSxFQUFDQztZQUFDLElBQUcsSUFBSSxDQUFDRSxHQUFHLENBQUM7Z0JBQUtVLE9BQU9DLE1BQU0sQ0FBQ2YsRUFBRVksS0FBSyxFQUFDO29CQUFDLENBQUNYLEVBQUUsRUFBQ0U7Z0JBQUM7WUFBRTtRQUFFO1FBQUVhLE9BQU1oQixDQUFDO1lBQUUsSUFBSUMsSUFBRUw7WUFBSSxPQUFPSSxFQUFFQyxJQUFHLElBQUksQ0FBQ0csR0FBRyxDQUFDLElBQUlILEVBQUVnQixPQUFPO1FBQUc7UUFBRWIsS0FBSUosQ0FBQztZQUFFLE9BQU9ILEVBQUVxQixRQUFRLENBQUNsQixNQUFJSCxFQUFFc0IsSUFBSSxDQUFDbkIsSUFBRztnQkFBSyxJQUFJQyxJQUFFSixFQUFFdUIsT0FBTyxDQUFDcEI7Z0JBQUcsSUFBR0MsS0FBRyxHQUFFLEtBQUksSUFBSUMsS0FBS0wsRUFBRXdCLE1BQU0sQ0FBQ3BCLEdBQUUsR0FBR0M7WUFBRztRQUFDO1FBQUVlO1lBQVUsS0FBSSxJQUFJakIsS0FBS0gsRUFBRXdCLE1BQU0sQ0FBQyxHQUFHckI7UUFBRztJQUFDO0lBQUUsT0FBT0Y7QUFBQztBQUEwQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Rpc3Bvc2FibGVzLmpzPzJhOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e21pY3JvVGFzayBhcyBpfWZyb20nLi9taWNyby10YXNrLmpzJztmdW5jdGlvbiBvKCl7bGV0IG49W10scj17YWRkRXZlbnRMaXN0ZW5lcihlLHQscyxhKXtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKHQscyxhKSxyLmFkZCgoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKHQscyxhKSl9LHJlcXVlc3RBbmltYXRpb25GcmFtZSguLi5lKXtsZXQgdD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoLi4uZSk7cmV0dXJuIHIuYWRkKCgpPT5jYW5jZWxBbmltYXRpb25GcmFtZSh0KSl9LG5leHRGcmFtZSguLi5lKXtyZXR1cm4gci5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnIucmVxdWVzdEFuaW1hdGlvbkZyYW1lKC4uLmUpKX0sc2V0VGltZW91dCguLi5lKXtsZXQgdD1zZXRUaW1lb3V0KC4uLmUpO3JldHVybiByLmFkZCgoKT0+Y2xlYXJUaW1lb3V0KHQpKX0sbWljcm9UYXNrKC4uLmUpe2xldCB0PXtjdXJyZW50OiEwfTtyZXR1cm4gaSgoKT0+e3QuY3VycmVudCYmZVswXSgpfSksci5hZGQoKCk9Pnt0LmN1cnJlbnQ9ITF9KX0sc3R5bGUoZSx0LHMpe2xldCBhPWUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSh0KTtyZXR1cm4gT2JqZWN0LmFzc2lnbihlLnN0eWxlLHtbdF06c30pLHRoaXMuYWRkKCgpPT57T2JqZWN0LmFzc2lnbihlLnN0eWxlLHtbdF06YX0pfSl9LGdyb3VwKGUpe2xldCB0PW8oKTtyZXR1cm4gZSh0KSx0aGlzLmFkZCgoKT0+dC5kaXNwb3NlKCkpfSxhZGQoZSl7cmV0dXJuIG4uaW5jbHVkZXMoZSl8fG4ucHVzaChlKSwoKT0+e2xldCB0PW4uaW5kZXhPZihlKTtpZih0Pj0wKWZvcihsZXQgcyBvZiBuLnNwbGljZSh0LDEpKXMoKX19LGRpc3Bvc2UoKXtmb3IobGV0IGUgb2Ygbi5zcGxpY2UoMCkpZSgpfX07cmV0dXJuIHJ9ZXhwb3J0e28gYXMgZGlzcG9zYWJsZXN9O1xuIl0sIm5hbWVzIjpbIm1pY3JvVGFzayIsImkiLCJvIiwibiIsInIiLCJhZGRFdmVudExpc3RlbmVyIiwiZSIsInQiLCJzIiwiYSIsImFkZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsIm5leHRGcmFtZSIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJjdXJyZW50Iiwic3R5bGUiLCJnZXRQcm9wZXJ0eVZhbHVlIiwiT2JqZWN0IiwiYXNzaWduIiwiZ3JvdXAiLCJkaXNwb3NlIiwiaW5jbHVkZXMiLCJwdXNoIiwiaW5kZXhPZiIsInNwbGljZSIsImRpc3Bvc2FibGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/disposables.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/env.js": -/*!**********************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/env.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ env: () => (/* binding */ s)\n/* harmony export */ });\nvar i = Object.defineProperty;\nvar d = (t, e, n)=>e in t ? i(t, e, {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: n\n }) : t[e] = n;\nvar r = (t, e, n)=>(d(t, typeof e != \"symbol\" ? e + \"\" : e, n), n);\nclass o {\n constructor(){\n r(this, \"current\", this.detect());\n r(this, \"handoffState\", \"pending\");\n r(this, \"currentId\", 0);\n }\n set(e) {\n this.current !== e && (this.handoffState = \"pending\", this.currentId = 0, this.current = e);\n }\n reset() {\n this.set(this.detect());\n }\n nextId() {\n return ++this.currentId;\n }\n get isServer() {\n return this.current === \"server\";\n }\n get isClient() {\n return this.current === \"client\";\n }\n detect() {\n return true ? \"server\" : 0;\n }\n handoff() {\n this.handoffState === \"pending\" && (this.handoffState = \"complete\");\n }\n get isHandoffComplete() {\n return this.handoffState === \"complete\";\n }\n}\nlet s = new o;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9lbnYuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUlBLElBQUVDLE9BQU9DLGNBQWM7QUFBQyxJQUFJQyxJQUFFLENBQUNDLEdBQUVDLEdBQUVDLElBQUlELEtBQUtELElBQUVKLEVBQUVJLEdBQUVDLEdBQUU7UUFBQ0UsWUFBVyxDQUFDO1FBQUVDLGNBQWEsQ0FBQztRQUFFQyxVQUFTLENBQUM7UUFBRUMsT0FBTUo7SUFBQyxLQUFHRixDQUFDLENBQUNDLEVBQUUsR0FBQ0M7QUFBRSxJQUFJSyxJQUFFLENBQUNQLEdBQUVDLEdBQUVDLElBQUtILENBQUFBLEVBQUVDLEdBQUUsT0FBT0MsS0FBRyxXQUFTQSxJQUFFLEtBQUdBLEdBQUVDLElBQUdBLENBQUFBO0FBQUcsTUFBTU07SUFBRUMsYUFBYTtRQUFDRixFQUFFLElBQUksRUFBQyxXQUFVLElBQUksQ0FBQ0csTUFBTTtRQUFJSCxFQUFFLElBQUksRUFBQyxnQkFBZTtRQUFXQSxFQUFFLElBQUksRUFBQyxhQUFZO0lBQUU7SUFBQ0ksSUFBSVYsQ0FBQyxFQUFDO1FBQUMsSUFBSSxDQUFDVyxPQUFPLEtBQUdYLEtBQUksS0FBSSxDQUFDWSxZQUFZLEdBQUMsV0FBVSxJQUFJLENBQUNDLFNBQVMsR0FBQyxHQUFFLElBQUksQ0FBQ0YsT0FBTyxHQUFDWCxDQUFBQTtJQUFFO0lBQUNjLFFBQU87UUFBQyxJQUFJLENBQUNKLEdBQUcsQ0FBQyxJQUFJLENBQUNELE1BQU07SUFBRztJQUFDTSxTQUFRO1FBQUMsT0FBTSxFQUFFLElBQUksQ0FBQ0YsU0FBUztJQUFBO0lBQUMsSUFBSUcsV0FBVTtRQUFDLE9BQU8sSUFBSSxDQUFDTCxPQUFPLEtBQUc7SUFBUTtJQUFDLElBQUlNLFdBQVU7UUFBQyxPQUFPLElBQUksQ0FBQ04sT0FBTyxLQUFHO0lBQVE7SUFBQ0YsU0FBUTtRQUFDLE9BQU8sS0FBd0QsR0FBQyxXQUFTLENBQVE7SUFBQTtJQUFDVSxVQUFTO1FBQUMsSUFBSSxDQUFDUCxZQUFZLEtBQUcsYUFBWSxLQUFJLENBQUNBLFlBQVksR0FBQyxVQUFTO0lBQUU7SUFBQyxJQUFJUSxvQkFBbUI7UUFBQyxPQUFPLElBQUksQ0FBQ1IsWUFBWSxLQUFHO0lBQVU7QUFBQztBQUFDLElBQUlTLElBQUUsSUFBSWQ7QUFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9lbnYuanM/Mzg1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaT1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIGQ9KHQsZSxuKT0+ZSBpbiB0P2kodCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSk6dFtlXT1uO3ZhciByPSh0LGUsbik9PihkKHQsdHlwZW9mIGUhPVwic3ltYm9sXCI/ZStcIlwiOmUsbiksbik7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcigpe3IodGhpcyxcImN1cnJlbnRcIix0aGlzLmRldGVjdCgpKTtyKHRoaXMsXCJoYW5kb2ZmU3RhdGVcIixcInBlbmRpbmdcIik7cih0aGlzLFwiY3VycmVudElkXCIsMCl9c2V0KGUpe3RoaXMuY3VycmVudCE9PWUmJih0aGlzLmhhbmRvZmZTdGF0ZT1cInBlbmRpbmdcIix0aGlzLmN1cnJlbnRJZD0wLHRoaXMuY3VycmVudD1lKX1yZXNldCgpe3RoaXMuc2V0KHRoaXMuZGV0ZWN0KCkpfW5leHRJZCgpe3JldHVybisrdGhpcy5jdXJyZW50SWR9Z2V0IGlzU2VydmVyKCl7cmV0dXJuIHRoaXMuY3VycmVudD09PVwic2VydmVyXCJ9Z2V0IGlzQ2xpZW50KCl7cmV0dXJuIHRoaXMuY3VycmVudD09PVwiY2xpZW50XCJ9ZGV0ZWN0KCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c9PVwidW5kZWZpbmVkXCJ8fHR5cGVvZiBkb2N1bWVudD09XCJ1bmRlZmluZWRcIj9cInNlcnZlclwiOlwiY2xpZW50XCJ9aGFuZG9mZigpe3RoaXMuaGFuZG9mZlN0YXRlPT09XCJwZW5kaW5nXCImJih0aGlzLmhhbmRvZmZTdGF0ZT1cImNvbXBsZXRlXCIpfWdldCBpc0hhbmRvZmZDb21wbGV0ZSgpe3JldHVybiB0aGlzLmhhbmRvZmZTdGF0ZT09PVwiY29tcGxldGVcIn19bGV0IHM9bmV3IG87ZXhwb3J0e3MgYXMgZW52fTtcbiJdLCJuYW1lcyI6WyJpIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJkIiwidCIsImUiLCJuIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwidmFsdWUiLCJyIiwibyIsImNvbnN0cnVjdG9yIiwiZGV0ZWN0Iiwic2V0IiwiY3VycmVudCIsImhhbmRvZmZTdGF0ZSIsImN1cnJlbnRJZCIsInJlc2V0IiwibmV4dElkIiwiaXNTZXJ2ZXIiLCJpc0NsaWVudCIsImRvY3VtZW50IiwiaGFuZG9mZiIsImlzSGFuZG9mZkNvbXBsZXRlIiwicyIsImVudiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/env.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/focus-management.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/focus-management.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Focus: () => (/* binding */ F),\n/* harmony export */ FocusResult: () => (/* binding */ T),\n/* harmony export */ FocusableMode: () => (/* binding */ h),\n/* harmony export */ focusElement: () => (/* binding */ I),\n/* harmony export */ focusFrom: () => (/* binding */ j),\n/* harmony export */ focusIn: () => (/* binding */ P),\n/* harmony export */ getAutoFocusableElements: () => (/* binding */ S),\n/* harmony export */ getFocusableElements: () => (/* binding */ b),\n/* harmony export */ isFocusableElement: () => (/* binding */ A),\n/* harmony export */ restoreFocusIfNecessary: () => (/* binding */ G),\n/* harmony export */ sortByDomNode: () => (/* binding */ _)\n/* harmony export */ });\n/* harmony import */ var _disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./disposables.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./match.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _owner_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./owner.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n\n\n\nlet f = [\n \"[contentEditable=true]\",\n \"[tabindex]\",\n \"a[href]\",\n \"area[href]\",\n \"button:not([disabled])\",\n \"iframe\",\n \"input:not([disabled])\",\n \"select:not([disabled])\",\n \"textarea:not([disabled])\"\n].map((e)=>`${e}:not([tabindex='-1'])`).join(\",\"), p = [\n \"[data-autofocus]\"\n].map((e)=>`${e}:not([tabindex='-1'])`).join(\",\");\nvar F = ((n)=>(n[n.First = 1] = \"First\", n[n.Previous = 2] = \"Previous\", n[n.Next = 4] = \"Next\", n[n.Last = 8] = \"Last\", n[n.WrapAround = 16] = \"WrapAround\", n[n.NoScroll = 32] = \"NoScroll\", n[n.AutoFocus = 64] = \"AutoFocus\", n))(F || {}), T = ((o)=>(o[o.Error = 0] = \"Error\", o[o.Overflow = 1] = \"Overflow\", o[o.Success = 2] = \"Success\", o[o.Underflow = 3] = \"Underflow\", o))(T || {}), y = ((t)=>(t[t.Previous = -1] = \"Previous\", t[t.Next = 1] = \"Next\", t))(y || {});\nfunction b(e = document.body) {\n return e == null ? [] : Array.from(e.querySelectorAll(f)).sort((r, t)=>Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));\n}\nfunction S(e = document.body) {\n return e == null ? [] : Array.from(e.querySelectorAll(p)).sort((r, t)=>Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));\n}\nvar h = ((t)=>(t[t.Strict = 0] = \"Strict\", t[t.Loose = 1] = \"Loose\", t))(h || {});\nfunction A(e, r = 0) {\n var t;\n return e === ((t = (0,_owner_js__WEBPACK_IMPORTED_MODULE_0__.getOwnerDocument)(e)) == null ? void 0 : t.body) ? !1 : (0,_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(r, {\n [0] () {\n return e.matches(f);\n },\n [1] () {\n let u = e;\n for(; u !== null;){\n if (u.matches(f)) return !0;\n u = u.parentElement;\n }\n return !1;\n }\n });\n}\nfunction G(e) {\n let r = (0,_owner_js__WEBPACK_IMPORTED_MODULE_0__.getOwnerDocument)(e);\n (0,_disposables_js__WEBPACK_IMPORTED_MODULE_2__.disposables)().nextFrame(()=>{\n r && !A(r.activeElement, 0) && I(e);\n });\n}\nvar H = ((t)=>(t[t.Keyboard = 0] = \"Keyboard\", t[t.Mouse = 1] = \"Mouse\", t))(H || {});\n false && (0);\nfunction I(e) {\n e == null || e.focus({\n preventScroll: !0\n });\n}\nlet w = [\n \"textarea\",\n \"input\"\n].join(\",\");\nfunction O(e) {\n var r, t;\n return (t = (r = e == null ? void 0 : e.matches) == null ? void 0 : r.call(e, w)) != null ? t : !1;\n}\nfunction _(e, r = (t)=>t) {\n return e.slice().sort((t, u)=>{\n let o = r(t), c = r(u);\n if (o === null || c === null) return 0;\n let l = o.compareDocumentPosition(c);\n return l & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : l & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;\n });\n}\nfunction j(e, r) {\n return P(b(), r, {\n relativeTo: e\n });\n}\nfunction P(e, r, { sorted: t = !0, relativeTo: u = null, skipElements: o = [] } = {}) {\n let c = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, l = Array.isArray(e) ? t ? _(e) : e : r & 64 ? S(e) : b(e);\n o.length > 0 && l.length > 1 && (l = l.filter((s)=>!o.some((a)=>a != null && \"current\" in a ? (a == null ? void 0 : a.current) === s : a === s))), u = u != null ? u : c.activeElement;\n let n = (()=>{\n if (r & 5) return 1;\n if (r & 10) return -1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), x = (()=>{\n if (r & 1) return 0;\n if (r & 2) return Math.max(0, l.indexOf(u)) - 1;\n if (r & 4) return Math.max(0, l.indexOf(u)) + 1;\n if (r & 8) return l.length - 1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), M = r & 32 ? {\n preventScroll: !0\n } : {}, m = 0, d = l.length, i;\n do {\n if (m >= d || m + d <= 0) return 0;\n let s = x + m;\n if (r & 16) s = (s + d) % d;\n else {\n if (s < 0) return 3;\n if (s >= d) return 1;\n }\n i = l[s], i == null || i.focus(M), m += n;\n }while (i !== c.activeElement);\n return r & 6 && O(i) && i.select(), 2;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9mb2N1cy1tYW5hZ2VtZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQStDO0FBQW1DO0FBQThDO0FBQUEsSUFBSU0sSUFBRTtJQUFDO0lBQXlCO0lBQWE7SUFBVTtJQUFhO0lBQXlCO0lBQVM7SUFBd0I7SUFBeUI7Q0FBMkIsQ0FBQ0MsR0FBRyxDQUFDQyxDQUFBQSxJQUFHLENBQUMsRUFBRUEsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFQyxJQUFJLENBQUMsTUFBS0MsSUFBRTtJQUFDO0NBQW1CLENBQUNILEdBQUcsQ0FBQ0MsQ0FBQUEsSUFBRyxDQUFDLEVBQUVBLEVBQUUscUJBQXFCLENBQUMsRUFBRUMsSUFBSSxDQUFDO0FBQUssSUFBSUUsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUQsQ0FBQyxDQUFDQSxFQUFFRSxRQUFRLEdBQUMsRUFBRSxHQUFDLFlBQVdGLENBQUMsQ0FBQ0EsRUFBRUcsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPSCxDQUFDLENBQUNBLEVBQUVJLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0osQ0FBQyxDQUFDQSxFQUFFSyxVQUFVLEdBQUMsR0FBRyxHQUFDLGNBQWFMLENBQUMsQ0FBQ0EsRUFBRU0sUUFBUSxHQUFDLEdBQUcsR0FBQyxZQUFXTixDQUFDLENBQUNBLEVBQUVPLFNBQVMsR0FBQyxHQUFHLEdBQUMsYUFBWVAsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUMsSUFBR1MsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUQsQ0FBQyxDQUFDQSxFQUFFRSxRQUFRLEdBQUMsRUFBRSxHQUFDLFlBQVdGLENBQUMsQ0FBQ0EsRUFBRUcsT0FBTyxHQUFDLEVBQUUsR0FB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eEIsQ0FBQyxDQUFDYyxFQUFFLEVBQUNVLEtBQUcsUUFBTUEsRUFBRWhDLEtBQUssQ0FBQzZCLElBQUdDLEtBQUdsRjtJQUFDLFFBQU9vRixNQUFJekIsRUFBRXBCLGFBQWEsRUFBRTtJQUFBLE9BQU9oQixJQUFFLEtBQUdnQyxFQUFFNkIsTUFBSUEsRUFBRUMsTUFBTSxJQUFHO0FBQUM7QUFBc08iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9mb2N1cy1tYW5hZ2VtZW50LmpzP2MwOTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e2Rpc3Bvc2FibGVzIGFzIE59ZnJvbScuL2Rpc3Bvc2FibGVzLmpzJztpbXBvcnR7bWF0Y2ggYXMgTH1mcm9tJy4vbWF0Y2guanMnO2ltcG9ydHtnZXRPd25lckRvY3VtZW50IGFzIEV9ZnJvbScuL293bmVyLmpzJztsZXQgZj1bXCJbY29udGVudEVkaXRhYmxlPXRydWVdXCIsXCJbdGFiaW5kZXhdXCIsXCJhW2hyZWZdXCIsXCJhcmVhW2hyZWZdXCIsXCJidXR0b246bm90KFtkaXNhYmxlZF0pXCIsXCJpZnJhbWVcIixcImlucHV0Om5vdChbZGlzYWJsZWRdKVwiLFwic2VsZWN0Om5vdChbZGlzYWJsZWRdKVwiLFwidGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pXCJdLm1hcChlPT5gJHtlfTpub3QoW3RhYmluZGV4PSctMSddKWApLmpvaW4oXCIsXCIpLHA9W1wiW2RhdGEtYXV0b2ZvY3VzXVwiXS5tYXAoZT0+YCR7ZX06bm90KFt0YWJpbmRleD0nLTEnXSlgKS5qb2luKFwiLFwiKTt2YXIgRj0obj0+KG5bbi5GaXJzdD0xXT1cIkZpcnN0XCIsbltuLlByZXZpb3VzPTJdPVwiUHJldmlvdXNcIixuW24uTmV4dD00XT1cIk5leHRcIixuW24uTGFzdD04XT1cIkxhc3RcIixuW24uV3JhcEFyb3VuZD0xNl09XCJXcmFwQXJvdW5kXCIsbltuLk5vU2Nyb2xsPTMyXT1cIk5vU2Nyb2xsXCIsbltuLkF1dG9Gb2N1cz02NF09XCJBdXRvRm9jdXNcIixuKSkoRnx8e30pLFQ9KG89PihvW28uRXJyb3I9MF09XCJFcnJvclwiLG9bby5PdmVyZmxvdz0xXT1cIk92ZXJmbG93XCIsb1tvLlN1Y2Nlc3M9Ml09XCJTdWNjZXNzXCIsb1tvLlVuZGVyZmxvdz0zXT1cIlVuZGVyZmxvd1wiLG8pKShUfHx7fSkseT0odD0+KHRbdC5QcmV2aW91cz0tMV09XCJQcmV2aW91c1wiLHRbdC5OZXh0PTFdPVwiTmV4dFwiLHQpKSh5fHx7fSk7ZnVuY3Rpb24gYihlPWRvY3VtZW50LmJvZHkpe3JldHVybiBlPT1udWxsP1tdOkFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKGYpKS5zb3J0KChyLHQpPT5NYXRoLnNpZ24oKHIudGFiSW5kZXh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKS0odC50YWJJbmRleHx8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpKSl9ZnVuY3Rpb24gUyhlPWRvY3VtZW50LmJvZHkpe3JldHVybiBlPT1udWxsP1tdOkFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKHApKS5zb3J0KChyLHQpPT5NYXRoLnNpZ24oKHIudGFiSW5kZXh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKS0odC50YWJJbmRleHx8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpKSl9dmFyIGg9KHQ9Pih0W3QuU3RyaWN0PTBdPVwiU3RyaWN0XCIsdFt0Lkxvb3NlPTFdPVwiTG9vc2VcIix0KSkoaHx8e30pO2Z1bmN0aW9uIEEoZSxyPTApe3ZhciB0O3JldHVybiBlPT09KCh0PUUoZSkpPT1udWxsP3ZvaWQgMDp0LmJvZHkpPyExOkwocix7WzBdKCl7cmV0dXJuIGUubWF0Y2hlcyhmKX0sWzFdKCl7bGV0IHU9ZTtmb3IoO3UhPT1udWxsOyl7aWYodS5tYXRjaGVzKGYpKXJldHVybiEwO3U9dS5wYXJlbnRFbGVtZW50fXJldHVybiExfX0pfWZ1bmN0aW9uIEcoZSl7bGV0IHI9RShlKTtOKCkubmV4dEZyYW1lKCgpPT57ciYmIUEoci5hY3RpdmVFbGVtZW50LDApJiZJKGUpfSl9dmFyIEg9KHQ9Pih0W3QuS2V5Ym9hcmQ9MF09XCJLZXlib2FyZFwiLHRbdC5Nb3VzZT0xXT1cIk1vdXNlXCIsdCkpKEh8fHt9KTt0eXBlb2Ygd2luZG93IT1cInVuZGVmaW5lZFwiJiZ0eXBlb2YgZG9jdW1lbnQhPVwidW5kZWZpbmVkXCImJihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLGU9PntlLm1ldGFLZXl8fGUuYWx0S2V5fHxlLmN0cmxLZXl8fChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5oZWFkbGVzc3VpRm9jdXNWaXNpYmxlPVwiXCIpfSwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsZT0+e2UuZGV0YWlsPT09MT9kZWxldGUgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQuaGVhZGxlc3N1aUZvY3VzVmlzaWJsZTplLmRldGFpbD09PTAmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5oZWFkbGVzc3VpRm9jdXNWaXNpYmxlPVwiXCIpfSwhMCkpO2Z1bmN0aW9uIEkoZSl7ZT09bnVsbHx8ZS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pfWxldCB3PVtcInRleHRhcmVhXCIsXCJpbnB1dFwiXS5qb2luKFwiLFwiKTtmdW5jdGlvbiBPKGUpe3ZhciByLHQ7cmV0dXJuKHQ9KHI9ZT09bnVsbD92b2lkIDA6ZS5tYXRjaGVzKT09bnVsbD92b2lkIDA6ci5jYWxsKGUsdykpIT1udWxsP3Q6ITF9ZnVuY3Rpb24gXyhlLHI9dD0+dCl7cmV0dXJuIGUuc2xpY2UoKS5zb3J0KCh0LHUpPT57bGV0IG89cih0KSxjPXIodSk7aWYobz09PW51bGx8fGM9PT1udWxsKXJldHVybiAwO2xldCBsPW8uY29tcGFyZURvY3VtZW50UG9zaXRpb24oYyk7cmV0dXJuIGwmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/LTE6bCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORz8xOjB9KX1mdW5jdGlvbiBqKGUscil7cmV0dXJuIFAoYigpLHIse3JlbGF0aXZlVG86ZX0pfWZ1bmN0aW9uIFAoZSxyLHtzb3J0ZWQ6dD0hMCxyZWxhdGl2ZVRvOnU9bnVsbCxza2lwRWxlbWVudHM6bz1bXX09e30pe2xldCBjPUFycmF5LmlzQXJyYXkoZSk/ZS5sZW5ndGg+MD9lWzBdLm93bmVyRG9jdW1lbnQ6ZG9jdW1lbnQ6ZS5vd25lckRvY3VtZW50LGw9QXJyYXkuaXNBcnJheShlKT90P18oZSk6ZTpyJjY0P1MoZSk6YihlKTtvLmxlbmd0aD4wJiZsLmxlbmd0aD4xJiYobD1sLmZpbHRlcihzPT4hby5zb21lKGE9PmEhPW51bGwmJlwiY3VycmVudFwiaW4gYT8oYT09bnVsbD92b2lkIDA6YS5jdXJyZW50KT09PXM6YT09PXMpKSksdT11IT1udWxsP3U6Yy5hY3RpdmVFbGVtZW50O2xldCBuPSgoKT0+e2lmKHImNSlyZXR1cm4gMTtpZihyJjEwKXJldHVybi0xO3Rocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRm9jdXMuRmlyc3QsIEZvY3VzLlByZXZpb3VzLCBGb2N1cy5OZXh0IG9yIEZvY3VzLkxhc3RcIil9KSgpLHg9KCgpPT57aWYociYxKXJldHVybiAwO2lmKHImMilyZXR1cm4gTWF0aC5tYXgoMCxsLmluZGV4T2YodSkpLTE7aWYociY0KXJldHVybiBNYXRoLm1heCgwLGwuaW5kZXhPZih1KSkrMTtpZihyJjgpcmV0dXJuIGwubGVuZ3RoLTE7dGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBGb2N1cy5GaXJzdCwgRm9jdXMuUHJldmlvdXMsIEZvY3VzLk5leHQgb3IgRm9jdXMuTGFzdFwiKX0pKCksTT1yJjMyP3twcmV2ZW50U2Nyb2xsOiEwfTp7fSxtPTAsZD1sLmxlbmd0aCxpO2Rve2lmKG0+PWR8fG0rZDw9MClyZXR1cm4gMDtsZXQgcz14K207aWYociYxNilzPShzK2QpJWQ7ZWxzZXtpZihzPDApcmV0dXJuIDM7aWYocz49ZClyZXR1cm4gMX1pPWxbc10saT09bnVsbHx8aS5mb2N1cyhNKSxtKz1ufXdoaWxlKGkhPT1jLmFjdGl2ZUVsZW1lbnQpO3JldHVybiByJjYmJk8oaSkmJmkuc2VsZWN0KCksMn1leHBvcnR7RiBhcyBGb2N1cyxUIGFzIEZvY3VzUmVzdWx0LGggYXMgRm9jdXNhYmxlTW9kZSxJIGFzIGZvY3VzRWxlbWVudCxqIGFzIGZvY3VzRnJvbSxQIGFzIGZvY3VzSW4sUyBhcyBnZXRBdXRvRm9jdXNhYmxlRWxlbWVudHMsYiBhcyBnZXRGb2N1c2FibGVFbGVtZW50cyxBIGFzIGlzRm9jdXNhYmxlRWxlbWVudCxHIGFzIHJlc3RvcmVGb2N1c0lmTmVjZXNzYXJ5LF8gYXMgc29ydEJ5RG9tTm9kZX07XG4iXSwibmFtZXMiOlsiZGlzcG9zYWJsZXMiLCJOIiwibWF0Y2giLCJMIiwiZ2V0T3duZXJEb2N1bWVudCIsIkUiLCJmIiwibWFwIiwiZSIsImpvaW4iLCJwIiwiRiIsIm4iLCJGaXJzdCIsIlByZXZpb3VzIiwiTmV4dCIsIkxhc3QiLCJXcmFwQXJvdW5kIiwiTm9TY3JvbGwiLCJBdXRvRm9jdXMiLCJUIiwibyIsIkVycm9yIiwiT3ZlcmZsb3ciLCJTdWNjZXNzIiwiVW5kZXJmbG93IiwieSIsInQiLCJiIiwiZG9jdW1lbnQiLCJib2R5IiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsInNvcnQiLCJyIiwiTWF0aCIsInNpZ24iLCJ0YWJJbmRleCIsIk51bWJlciIsIk1BWF9TQUZFX0lOVEVHRVIiLCJTIiwiaCIsIlN0cmljdCIsIkxvb3NlIiwiQSIsIm1hdGNoZXMiLCJ1IiwicGFyZW50RWxlbWVudCIsIkciLCJuZXh0RnJhbWUiLCJhY3RpdmVFbGVtZW50IiwiSSIsIkgiLCJLZXlib2FyZCIsIk1vdXNlIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm1ldGFLZXkiLCJhbHRLZXkiLCJjdHJsS2V5IiwiZG9jdW1lbnRFbGVtZW50IiwiZGF0YXNldCIsImhlYWRsZXNzdWlGb2N1c1Zpc2libGUiLCJkZXRhaWwiLCJmb2N1cyIsInByZXZlbnRTY3JvbGwiLCJ3IiwiTyIsImNhbGwiLCJfIiwic2xpY2UiLCJjIiwibCIsImNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIiwiTm9kZSIsIkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyIsIkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyIsImoiLCJQIiwicmVsYXRpdmVUbyIsInNvcnRlZCIsInNraXBFbGVtZW50cyIsImlzQXJyYXkiLCJsZW5ndGgiLCJvd25lckRvY3VtZW50IiwiZmlsdGVyIiwicyIsInNvbWUiLCJhIiwiY3VycmVudCIsIngiLCJtYXgiLCJpbmRleE9mIiwiTSIsIm0iLCJkIiwiaSIsInNlbGVjdCIsIkZvY3VzIiwiRm9jdXNSZXN1bHQiLCJGb2N1c2FibGVNb2RlIiwiZm9jdXNFbGVtZW50IiwiZm9jdXNGcm9tIiwiZm9jdXNJbiIsImdldEF1dG9Gb2N1c2FibGVFbGVtZW50cyIsImdldEZvY3VzYWJsZUVsZW1lbnRzIiwiaXNGb2N1c2FibGVFbGVtZW50IiwicmVzdG9yZUZvY3VzSWZOZWNlc3NhcnkiLCJzb3J0QnlEb21Ob2RlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/focus-management.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/match.js": -/*!************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/match.js ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ match: () => (/* binding */ u)\n/* harmony export */ });\nfunction u(r, n, ...a) {\n if (r in n) {\n let e = n[r];\n return typeof e == \"function\" ? e(...a) : e;\n }\n let t = new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map((e)=>`\"${e}\"`).join(\", \")}.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, u), t;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9tYXRjaC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsU0FBU0EsRUFBRUMsQ0FBQyxFQUFDQyxDQUFDLEVBQUMsR0FBR0MsQ0FBQztJQUFFLElBQUdGLEtBQUtDLEdBQUU7UUFBQyxJQUFJRSxJQUFFRixDQUFDLENBQUNELEVBQUU7UUFBQyxPQUFPLE9BQU9HLEtBQUcsYUFBV0EsS0FBS0QsS0FBR0M7SUFBQztJQUFDLElBQUlDLElBQUUsSUFBSUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFTCxFQUFFLDhEQUE4RCxFQUFFTSxPQUFPQyxJQUFJLENBQUNOLEdBQUdPLEdBQUcsQ0FBQ0wsQ0FBQUEsSUFBRyxDQUFDLENBQUMsRUFBRUEsRUFBRSxDQUFDLENBQUMsRUFBRU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQUUsTUFBTUosTUFBTUssaUJBQWlCLElBQUVMLE1BQU1LLGlCQUFpQixDQUFDTixHQUFFTCxJQUFHSztBQUFDO0FBQW9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvbWF0Y2guanM/NWZlNCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiB1KHIsbiwuLi5hKXtpZihyIGluIG4pe2xldCBlPW5bcl07cmV0dXJuIHR5cGVvZiBlPT1cImZ1bmN0aW9uXCI/ZSguLi5hKTplfWxldCB0PW5ldyBFcnJvcihgVHJpZWQgdG8gaGFuZGxlIFwiJHtyfVwiIGJ1dCB0aGVyZSBpcyBubyBoYW5kbGVyIGRlZmluZWQuIE9ubHkgZGVmaW5lZCBoYW5kbGVycyBhcmU6ICR7T2JqZWN0LmtleXMobikubWFwKGU9PmBcIiR7ZX1cImApLmpvaW4oXCIsIFwiKX0uYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHQsdSksdH1leHBvcnR7dSBhcyBtYXRjaH07XG4iXSwibmFtZXMiOlsidSIsInIiLCJuIiwiYSIsImUiLCJ0IiwiRXJyb3IiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwiam9pbiIsImNhcHR1cmVTdGFja1RyYWNlIiwibWF0Y2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/match.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/micro-task.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/micro-task.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ microTask: () => (/* binding */ t)\n/* harmony export */ });\nfunction t(e) {\n typeof queueMicrotask == \"function\" ? queueMicrotask(e) : Promise.resolve().then(e).catch((o)=>setTimeout(()=>{\n throw o;\n }));\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9taWNyby10YXNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDO0lBQUUsT0FBT0Msa0JBQWdCLGFBQVdBLGVBQWVELEtBQUdFLFFBQVFDLE9BQU8sR0FBR0MsSUFBSSxDQUFDSixHQUFHSyxLQUFLLENBQUNDLENBQUFBLElBQUdDLFdBQVc7WUFBSyxNQUFNRDtRQUFDO0FBQUc7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9taWNyby10YXNrLmpzP2U3YjgiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdChlKXt0eXBlb2YgcXVldWVNaWNyb3Rhc2s9PVwiZnVuY3Rpb25cIj9xdWV1ZU1pY3JvdGFzayhlKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKGUpLmNhdGNoKG89PnNldFRpbWVvdXQoKCk9Pnt0aHJvdyBvfSkpfWV4cG9ydHt0IGFzIG1pY3JvVGFza307XG4iXSwibmFtZXMiOlsidCIsImUiLCJxdWV1ZU1pY3JvdGFzayIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsImNhdGNoIiwibyIsInNldFRpbWVvdXQiLCJtaWNyb1Rhc2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/micro-task.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/once.js": -/*!***********************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/once.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ once: () => (/* binding */ l)\n/* harmony export */ });\nfunction l(r) {\n let e = {\n called: !1\n };\n return (...t)=>{\n if (!e.called) return e.called = !0, r(...t);\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9vbmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRTtRQUFDQyxRQUFPLENBQUM7SUFBQztJQUFFLE9BQU0sQ0FBQyxHQUFHQztRQUFLLElBQUcsQ0FBQ0YsRUFBRUMsTUFBTSxFQUFDLE9BQU9ELEVBQUVDLE1BQU0sR0FBQyxDQUFDLEdBQUVGLEtBQUtHO0lBQUU7QUFBQztBQUFtQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL29uY2UuanM/NTY2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBsKHIpe2xldCBlPXtjYWxsZWQ6ITF9O3JldHVybiguLi50KT0+e2lmKCFlLmNhbGxlZClyZXR1cm4gZS5jYWxsZWQ9ITAsciguLi50KX19ZXhwb3J0e2wgYXMgb25jZX07XG4iXSwibmFtZXMiOlsibCIsInIiLCJlIiwiY2FsbGVkIiwidCIsIm9uY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/once.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/owner.js": -/*!************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/owner.js ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getOwnerDocument: () => (/* binding */ u)\n/* harmony export */ });\n/* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/env.js\");\n\nfunction u(r) {\n return _env_js__WEBPACK_IMPORTED_MODULE_0__.env.isServer ? null : r instanceof Node ? r.ownerDocument : r != null && r.hasOwnProperty(\"current\") && r.current instanceof Node ? r.current.ownerDocument : document;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9vd25lci5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQjtBQUFBLFNBQVNFLEVBQUVDLENBQUM7SUFBRSxPQUFPRix3Q0FBQ0EsQ0FBQ0csUUFBUSxHQUFDLE9BQUtELGFBQWFFLE9BQUtGLEVBQUVHLGFBQWEsR0FBQ0gsS0FBRyxRQUFNQSxFQUFFSSxjQUFjLENBQUMsY0FBWUosRUFBRUssT0FBTyxZQUFZSCxPQUFLRixFQUFFSyxPQUFPLENBQUNGLGFBQWEsR0FBQ0c7QUFBUTtBQUErQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL293bmVyLmpzP2ZhNWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e2VudiBhcyBufWZyb20nLi9lbnYuanMnO2Z1bmN0aW9uIHUocil7cmV0dXJuIG4uaXNTZXJ2ZXI/bnVsbDpyIGluc3RhbmNlb2YgTm9kZT9yLm93bmVyRG9jdW1lbnQ6ciE9bnVsbCYmci5oYXNPd25Qcm9wZXJ0eShcImN1cnJlbnRcIikmJnIuY3VycmVudCBpbnN0YW5jZW9mIE5vZGU/ci5jdXJyZW50Lm93bmVyRG9jdW1lbnQ6ZG9jdW1lbnR9ZXhwb3J0e3UgYXMgZ2V0T3duZXJEb2N1bWVudH07XG4iXSwibmFtZXMiOlsiZW52IiwibiIsInUiLCJyIiwiaXNTZXJ2ZXIiLCJOb2RlIiwib3duZXJEb2N1bWVudCIsImhhc093blByb3BlcnR5IiwiY3VycmVudCIsImRvY3VtZW50IiwiZ2V0T3duZXJEb2N1bWVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/owner.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/render.js": -/*!*************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/render.js ***! - \*************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RenderFeatures: () => (/* binding */ O),\n/* harmony export */ RenderStrategy: () => (/* binding */ M),\n/* harmony export */ compact: () => (/* binding */ m),\n/* harmony export */ forwardRefWithAs: () => (/* binding */ I),\n/* harmony export */ mergeProps: () => (/* binding */ D),\n/* harmony export */ render: () => (/* binding */ H),\n/* harmony export */ useMergeRefsFn: () => (/* binding */ U)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _class_names_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./class-names.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/class-names.js\");\n/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./match.js */ \"(ssr)/./node_modules/@headlessui/react/dist/utils/match.js\");\n\n\n\nvar O = ((a)=>(a[a.None = 0] = \"None\", a[a.RenderStrategy = 1] = \"RenderStrategy\", a[a.Static = 2] = \"Static\", a))(O || {}), M = ((e)=>(e[e.Unmount = 0] = \"Unmount\", e[e.Hidden = 1] = \"Hidden\", e))(M || {});\nfunction H({ ourProps: r, theirProps: n, slot: e, defaultTag: a, features: s, visible: t = !0, name: l, mergeRefs: i }) {\n i = i != null ? i : A;\n let o = N(n, r);\n if (t) return b(o, e, a, l, i);\n let y = s != null ? s : 0;\n if (y & 2) {\n let { static: f = !1, ...u } = o;\n if (f) return b(u, e, a, l, i);\n }\n if (y & 1) {\n let { unmount: f = !0, ...u } = o;\n return (0,_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(f ? 0 : 1, {\n [0] () {\n return null;\n },\n [1] () {\n return b({\n ...u,\n hidden: !0,\n style: {\n display: \"none\"\n }\n }, e, a, l, i);\n }\n });\n }\n return b(o, e, a, l, i);\n}\nfunction b(r, n = {}, e, a, s) {\n let { as: t = e, children: l, refName: i = \"ref\", ...o } = h(r, [\n \"unmount\",\n \"static\"\n ]), y = r.ref !== void 0 ? {\n [i]: r.ref\n } : {}, f = typeof l == \"function\" ? l(n) : l;\n \"className\" in o && o.className && typeof o.className == \"function\" && (o.className = o.className(n)), o[\"aria-labelledby\"] && o[\"aria-labelledby\"] === o.id && (o[\"aria-labelledby\"] = void 0);\n let u = {};\n if (n) {\n let d = !1, p = [];\n for (let [c, T] of Object.entries(n))typeof T == \"boolean\" && (d = !0), T === !0 && p.push(c.replace(/([A-Z])/g, (g)=>`-${g.toLowerCase()}`));\n if (d) {\n u[\"data-headlessui-state\"] = p.join(\" \");\n for (let c of p)u[`data-${c}`] = \"\";\n }\n }\n if (t === react__WEBPACK_IMPORTED_MODULE_0__.Fragment && (Object.keys(m(o)).length > 0 || Object.keys(m(u)).length > 0)) if (!/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(f) || Array.isArray(f) && f.length > 1) {\n if (Object.keys(m(o)).length > 0) throw new Error([\n 'Passing props on \"Fragment\"!',\n \"\",\n `The current component <${a} /> is rendering a \"Fragment\".`,\n \"However we need to passthrough the following props:\",\n Object.keys(m(o)).concat(Object.keys(m(u))).map((d)=>` - ${d}`).join(`\n`),\n \"\",\n \"You can apply a few solutions:\",\n [\n 'Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\n \"Render a single element as the child so that we can forward the props onto that element.\"\n ].map((d)=>` - ${d}`).join(`\n`)\n ].join(`\n`));\n } else {\n let d = f.props, p = d == null ? void 0 : d.className, c = typeof p == \"function\" ? (...F)=>(0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p(...F), o.className) : (0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p, o.className), T = c ? {\n className: c\n } : {}, g = N(f.props, m(h(o, [\n \"ref\"\n ])));\n for(let F in u)F in g && delete u[F];\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(f, Object.assign({}, g, u, y, {\n ref: s(f.ref, y.ref)\n }, T));\n }\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(t, Object.assign({}, h(o, [\n \"ref\"\n ]), t !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment && y, t !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment && u), f);\n}\nfunction U() {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n for (let a of r.current)a != null && (typeof a == \"function\" ? a(e) : a.current = e);\n }, []);\n return (...e)=>{\n if (!e.every((a)=>a == null)) return r.current = e, n;\n };\n}\nfunction A(...r) {\n return r.every((n)=>n == null) ? void 0 : (n)=>{\n for (let e of r)e != null && (typeof e == \"function\" ? e(n) : e.current = n);\n };\n}\nfunction N(...r) {\n var a;\n if (r.length === 0) return {};\n if (r.length === 1) return r[0];\n let n = {}, e = {};\n for (let s of r)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : n[t] = s[t];\n if (n.disabled || n[\"aria-disabled\"]) for(let s in e)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(s) && (e[s] = [\n (t)=>{\n var l;\n return (l = t == null ? void 0 : t.preventDefault) == null ? void 0 : l.call(t);\n }\n ]);\n for(let s in e)Object.assign(n, {\n [s] (t, ...l) {\n let i = e[s];\n for (let o of i){\n if ((t instanceof Event || (t == null ? void 0 : t.nativeEvent) instanceof Event) && t.defaultPrevented) return;\n o(t, ...l);\n }\n }\n });\n return n;\n}\nfunction D(...r) {\n var a;\n if (r.length === 0) return {};\n if (r.length === 1) return r[0];\n let n = {}, e = {};\n for (let s of r)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : n[t] = s[t];\n for(let s in e)Object.assign(n, {\n [s] (...t) {\n let l = e[s];\n for (let i of l)i == null || i(...t);\n }\n });\n return n;\n}\nfunction I(r) {\n var n;\n return Object.assign(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(r), {\n displayName: (n = r.displayName) != null ? n : r.name\n });\n}\nfunction m(r) {\n let n = Object.assign({}, r);\n for(let e in n)n[e] === void 0 && delete n[e];\n return n;\n}\nfunction h(r, n = []) {\n let e = Object.assign({}, r);\n for (let a of n)a in e && delete e[a];\n return e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9yZW5kZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUF1STtBQUE4QztBQUFtQztBQUFBLElBQUlrQixJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLGNBQWMsR0FBQyxFQUFFLEdBQUMsa0JBQWlCRixDQUFDLENBQUNBLEVBQUVHLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0gsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUMsSUFBR0ssSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLE9BQU8sR0FBQyxFQUFFLEdBQUMsV0FBVUQsQ0FBQyxDQUFDQSxFQUFFRSxNQUFNLEdBQUMsRUFBRSxHQUFDLFVBQVNGLENBQUFBLENBQUMsRUFBR0QsS0FBRyxDQUFDO0FBQUcsU0FBU0ksRUFBRSxFQUFDQyxVQUFTQyxDQUFDLEVBQUNDLFlBQVdDLENBQUMsRUFBQ0MsTUFBS1IsQ0FBQyxFQUFDUyxZQUFXZCxDQUFDLEVBQUNlLFVBQVNDLENBQUMsRUFBQ0MsU0FBUUMsSUFBRSxDQUFDLENBQUMsRUFBQ0MsTUFBS0MsQ0FBQyxFQUFDQyxXQUFVQyxDQUFDLEVBQUM7SUFBRUEsSUFBRUEsS0FBRyxPQUFLQSxJQUFFQztJQUFFLElBQUlDLElBQUVDLEVBQUViLEdBQUVGO0lBQUcsSUFBR1EsR0FBRSxPQUFPUSxFQUFFRixHQUFFbkIsR0FBRUwsR0FBRW9CLEdBQUVFO0lBQUcsSUFBSUssSUFBRVgsS0FBRyxPQUFLQSxJQUFFO0lBQUUsSUFBR1csSUFBRSxHQUFFO1FBQUMsSUFBRyxFQUFDQyxRQUFPQyxJQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUdDLEdBQUUsR0FBQ047UUFBRSxJQUFHSyxHQUFFLE9BQU9ILEVBQUVJLEdBQUV6QixHQUFFTCxHQUFFb0IsR0FBRUU7SUFBRTtJQUFDLElBQUdLLElBQUUsR0FBRTtRQUFDLElBQUcsRUFBQ0ksU0FBUUYsSUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHQyxHQUFFLEdBQUNOO1FBQUUsT0FBTzFCLGdEQUFDQSxDQUFDK0IsSUFBRSxJQUFFLEdBQUU7WUFBQyxDQUFDLEVBQUU7Z0JBQUcsT0FBTztZQUFJO1lBQUUsQ0FBQyxFQUFFO2dCQUFHLE9BQU9ILEVBQUU7b0JBQUMsR0FBR0ksQ0FBQztvQkFBQ0UsUUFBTyxDQUFDO29CQUFFQyxPQUFNO3dCQUFDQyxTQUFRO29CQUFNO2dCQUFDLEdBQUU3QixHQUFFTCxHQUFFb0IsR0FBRUU7WUFBRTtRQUFDO0lBQUU7SUFBQyxPQUFPSSxFQUFFRixHQUFFbkIsR0FBRUwsR0FBRW9CLEdBQUVFO0FBQUU7QUFBQyxTQUFTSSxFQUFFaEIsQ0FBQyxFQUFDRSxJQUFFLENBQUMsQ0FBQyxFQUFDUCxDQUFDLEVBQUNMLENBQUMsRUFBQ2dCLENBQUM7SUFBRSxJQUFHLEVBQUNtQixJQUFHakIsSUFBRWIsQ0FBQyxFQUFDK0IsVUFBU2hCLENBQUMsRUFBQ2lCLFNBQVFmLElBQUUsS0FBSyxFQUFDLEdBQUdFLEdBQUUsR0FBQ2MsRUFBRTVCLEdBQUU7UUFBQztRQUFVO0tBQVMsR0FBRWlCLElBQUVqQixFQUFFNkIsR0FBRyxLQUFHLEtBQUssSUFBRTtRQUFDLENBQUNqQixFQUFFLEVBQUNaLEVBQUU2QixHQUFHO0lBQUEsSUFBRSxDQUFDLEdBQUVWLElBQUUsT0FBT1QsS0FBRyxhQUFXQSxFQUFFUixLQUFHUTtJQUFFLGVBQWNJLEtBQUdBLEVBQUVnQixTQUFTLElBQUUsT0FBT2hCLEVBQUVnQixTQUFTLElBQUUsY0FBYWhCLENBQUFBLEVBQUVnQixTQUFTLEdBQUNoQixFQUFFZ0IsU0FBUyxDQUFDNUIsRUFBQyxHQUFHWSxDQUFDLENBQUMsa0JBQWtCLElBQUVBLENBQUMsQ0FBQyxrQkFBa0IsS0FBR0EsRUFBRWlCLEVBQUUsSUFBR2pCLENBQUFBLENBQUMsQ0FBQyxrQkFBa0IsR0FBQyxLQUFLO0lBQUcsSUFBSU0sSUFBRSxDQUFDO0lBQUUsSUFBR2xCLEdBQUU7UUFBQyxJQUFJOEIsSUFBRSxDQUFDLEdBQUVDLElBQUUsRUFBRTtRQUFDLEtBQUksSUFBRyxDQUFDQyxHQUFFQyxFQUFFLElBQUdDLE9BQU9DLE9BQU8sQ0FBQ25DLEdBQUcsT0FBT2lDLEtBQUcsYUFBWUgsQ0FBQUEsSUFBRSxDQUFDLElBQUdHLE1BQUksQ0FBQyxLQUFHRixFQUFFSyxJQUFJLENBQUNKLEVBQUVLLE9BQU8sQ0FBQyxZQUFXQyxDQUFBQSxJQUFHLENBQUMsQ0FBQyxFQUFFQSxFQUFFQyxXQUFXLEdBQUcsQ0FBQztRQUFHLElBQUdULEdBQUU7WUFBQ1osQ0FBQyxDQUFDLHdCQUF3QixHQUFDYSxFQUFFUyxJQUFJLENBQUM7WUFBSyxLQUFJLElBQUlSLEtBQUtELEVBQUViLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRWMsRUFBRSxDQUFDLENBQUMsR0FBQztRQUFFO0lBQUM7SUFBQyxJQUFHMUIsTUFBSXBDLDJDQUFDQSxJQUFHZ0UsQ0FBQUEsT0FBT08sSUFBSSxDQUFDQyxFQUFFOUIsSUFBSStCLE1BQU0sR0FBQyxLQUFHVCxPQUFPTyxJQUFJLENBQUNDLEVBQUV4QixJQUFJeUIsTUFBTSxHQUFDLElBQUcsSUFBRyxlQUFDakUscURBQUNBLENBQUN1QyxNQUFJMkIsTUFBTUMsT0FBTyxDQUFDNUIsTUFBSUEsRUFBRTBCLE1BQU0sR0FBQyxHQUFFO1FBQUMsSUFBR1QsT0FBT08sSUFBSSxDQUFDQyxFQUFFOUIsSUFBSStCLE1BQU0sR0FBQyxHQUFFLE1BQU0sSUFBSUcsTUFBTTtZQUFDO1lBQStCO1lBQUcsQ0FBQyx1QkFBdUIsRUFBRTFELEVBQUUsOEJBQThCLENBQUM7WUFBQztZQUFzRDhDLE9BQU9PLElBQUksQ0FBQ0MsRUFBRTlCLElBQUltQyxNQUFNLENBQUNiLE9BQU9PLElBQUksQ0FBQ0MsRUFBRXhCLEtBQUs4QixHQUFHLENBQUNsQixDQUFBQSxJQUFHLENBQUMsSUFBSSxFQUFFQSxFQUFFLENBQUMsRUFBRVUsSUFBSSxDQUFDLENBQUM7QUFDcHFELENBQUM7WUFBRTtZQUFHO1lBQWlDO2dCQUFDO2dCQUE4RjthQUEyRixDQUFDUSxHQUFHLENBQUNsQixDQUFBQSxJQUFHLENBQUMsSUFBSSxFQUFFQSxFQUFFLENBQUMsRUFBRVUsSUFBSSxDQUFDLENBQUM7QUFDM1AsQ0FBQztTQUFFLENBQUNBLElBQUksQ0FBQyxDQUFDO0FBQ1YsQ0FBQztJQUFFLE9BQUs7UUFBQyxJQUFJVixJQUFFYixFQUFFZ0MsS0FBSyxFQUFDbEIsSUFBRUQsS0FBRyxPQUFLLEtBQUssSUFBRUEsRUFBRUYsU0FBUyxFQUFDSSxJQUFFLE9BQU9ELEtBQUcsYUFBVyxDQUFDLEdBQUdtQixJQUFJbEUsMkRBQUNBLENBQUMrQyxLQUFLbUIsSUFBR3RDLEVBQUVnQixTQUFTLElBQUU1QywyREFBQ0EsQ0FBQytDLEdBQUVuQixFQUFFZ0IsU0FBUyxHQUFFSyxJQUFFRCxJQUFFO1lBQUNKLFdBQVVJO1FBQUMsSUFBRSxDQUFDLEdBQUVNLElBQUV6QixFQUFFSSxFQUFFZ0MsS0FBSyxFQUFDUCxFQUFFaEIsRUFBRWQsR0FBRTtZQUFDO1NBQU07UUFBSSxJQUFJLElBQUlzQyxLQUFLaEMsRUFBRWdDLEtBQUtaLEtBQUcsT0FBT3BCLENBQUMsQ0FBQ2dDLEVBQUU7UUFBQyxxQkFBTzlFLG1EQUFDQSxDQUFDNkMsR0FBRWlCLE9BQU9pQixNQUFNLENBQUMsQ0FBQyxHQUFFYixHQUFFcEIsR0FBRUgsR0FBRTtZQUFDWSxLQUFJdkIsRUFBRWEsRUFBRVUsR0FBRyxFQUFDWixFQUFFWSxHQUFHO1FBQUMsR0FBRU07SUFBRztJQUFDLHFCQUFPM0Qsb0RBQUNBLENBQUNnQyxHQUFFNEIsT0FBT2lCLE1BQU0sQ0FBQyxDQUFDLEdBQUV6QixFQUFFZCxHQUFFO1FBQUM7S0FBTSxHQUFFTixNQUFJcEMsMkNBQUNBLElBQUU2QyxHQUFFVCxNQUFJcEMsMkNBQUNBLElBQUVnRCxJQUFHRDtBQUFFO0FBQUMsU0FBU21DO0lBQUksSUFBSXRELElBQUVoQiw2Q0FBQ0EsQ0FBQyxFQUFFLEdBQUVrQixJQUFFcEIsa0RBQUNBLENBQUNhLENBQUFBO1FBQUksS0FBSSxJQUFJTCxLQUFLVSxFQUFFdUQsT0FBTyxDQUFDakUsS0FBRyxRQUFPLFFBQU9BLEtBQUcsYUFBV0EsRUFBRUssS0FBR0wsRUFBRWlFLE9BQU8sR0FBQzVELENBQUFBO0lBQUUsR0FBRSxFQUFFO0lBQUUsT0FBTSxDQUFDLEdBQUdBO1FBQUssSUFBRyxDQUFDQSxFQUFFNkQsS0FBSyxDQUFDbEUsQ0FBQUEsSUFBR0EsS0FBRyxPQUFNLE9BQU9VLEVBQUV1RCxPQUFPLEdBQUM1RCxHQUFFTztJQUFDO0FBQUM7QUFBQyxTQUFTVyxFQUFFLEdBQUdiLENBQUM7SUFBRSxPQUFPQSxFQUFFd0QsS0FBSyxDQUFDdEQsQ0FBQUEsSUFBR0EsS0FBRyxRQUFNLEtBQUssSUFBRUEsQ0FBQUE7UUFBSSxLQUFJLElBQUlQLEtBQUtLLEVBQUVMLEtBQUcsUUFBTyxRQUFPQSxLQUFHLGFBQVdBLEVBQUVPLEtBQUdQLEVBQUU0RCxPQUFPLEdBQUNyRCxDQUFBQTtJQUFFO0FBQUM7QUFBQyxTQUFTYSxFQUFFLEdBQUdmLENBQUM7SUFBRSxJQUFJVjtJQUFFLElBQUdVLEVBQUU2QyxNQUFNLEtBQUcsR0FBRSxPQUFNLENBQUM7SUFBRSxJQUFHN0MsRUFBRTZDLE1BQU0sS0FBRyxHQUFFLE9BQU83QyxDQUFDLENBQUMsRUFBRTtJQUFDLElBQUlFLElBQUUsQ0FBQyxHQUFFUCxJQUFFLENBQUM7SUFBRSxLQUFJLElBQUlXLEtBQUtOLEVBQUUsSUFBSSxJQUFJUSxLQUFLRixFQUFFRSxFQUFFaUQsVUFBVSxDQUFDLFNBQU8sT0FBT25ELENBQUMsQ0FBQ0UsRUFBRSxJQUFFLGFBQVksRUFBQ2xCLElBQUVLLENBQUMsQ0FBQ2EsRUFBRSxLQUFHLFFBQU9iLENBQUFBLENBQUMsQ0FBQ2EsRUFBRSxHQUFDLEVBQUUsR0FBRWIsQ0FBQyxDQUFDYSxFQUFFLENBQUM4QixJQUFJLENBQUNoQyxDQUFDLENBQUNFLEVBQUUsS0FBR04sQ0FBQyxDQUFDTSxFQUFFLEdBQUNGLENBQUMsQ0FBQ0UsRUFBRTtJQUFDLElBQUdOLEVBQUV3RCxRQUFRLElBQUV4RCxDQUFDLENBQUMsZ0JBQWdCLEVBQUMsSUFBSSxJQUFJSSxLQUFLWCxFQUFFLHNEQUFzRGdFLElBQUksQ0FBQ3JELE1BQUtYLENBQUFBLENBQUMsQ0FBQ1csRUFBRSxHQUFDO1FBQUNFLENBQUFBO1lBQUksSUFBSUU7WUFBRSxPQUFNLENBQUNBLElBQUVGLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVvRCxjQUFjLEtBQUcsT0FBSyxLQUFLLElBQUVsRCxFQUFFbUQsSUFBSSxDQUFDckQ7UUFBRTtLQUFFO0lBQUUsSUFBSSxJQUFJRixLQUFLWCxFQUFFeUMsT0FBT2lCLE1BQU0sQ0FBQ25ELEdBQUU7UUFBQyxDQUFDSSxFQUFFLEVBQUNFLENBQUMsRUFBQyxHQUFHRSxDQUFDO1lBQUUsSUFBSUUsSUFBRWpCLENBQUMsQ0FBQ1csRUFBRTtZQUFDLEtBQUksSUFBSVEsS0FBS0YsRUFBRTtnQkFBQyxJQUFHLENBQUNKLGFBQWFzRCxTQUFPLENBQUN0RCxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFdUQsV0FBVyxhQUFZRCxLQUFJLEtBQUl0RCxFQUFFd0QsZ0JBQWdCLEVBQUM7Z0JBQU9sRCxFQUFFTixNQUFLRTtZQUFFO1FBQUM7SUFBQztJQUFHLE9BQU9SO0FBQUM7QUFBQyxTQUFTK0QsRUFBRSxHQUFHakUsQ0FBQztJQUFFLElBQUlWO0lBQUUsSUFBR1UsRUFBRTZDLE1BQU0sS0FBRyxHQUFFLE9BQU0sQ0FBQztJQUFFLElBQUc3QyxFQUFFNkMsTUFBTSxLQUFHLEdBQUUsT0FBTzdDLENBQUMsQ0FBQyxFQUFFO0lBQUMsSUFBSUUsSUFBRSxDQUFDLEdBQUVQLElBQUUsQ0FBQztJQUFFLEtBQUksSUFBSVcsS0FBS04sRUFBRSxJQUFJLElBQUlRLEtBQUtGLEVBQUVFLEVBQUVpRCxVQUFVLENBQUMsU0FBTyxPQUFPbkQsQ0FBQyxDQUFDRSxFQUFFLElBQUUsYUFBWSxFQUFDbEIsSUFBRUssQ0FBQyxDQUFDYSxFQUFFLEtBQUcsUUFBT2IsQ0FBQUEsQ0FBQyxDQUFDYSxFQUFFLEdBQUMsRUFBRSxHQUFFYixDQUFDLENBQUNhLEVBQUUsQ0FBQzhCLElBQUksQ0FBQ2hDLENBQUMsQ0FBQ0UsRUFBRSxLQUFHTixDQUFDLENBQUNNLEVBQUUsR0FBQ0YsQ0FBQyxDQUFDRSxFQUFFO0lBQUMsSUFBSSxJQUFJRixLQUFLWCxFQUFFeUMsT0FBT2lCLE1BQU0sQ0FBQ25ELEdBQUU7UUFBQyxDQUFDSSxFQUFFLEVBQUMsR0FBR0UsQ0FBQztZQUFFLElBQUlFLElBQUVmLENBQUMsQ0FBQ1csRUFBRTtZQUFDLEtBQUksSUFBSU0sS0FBS0YsRUFBRUUsS0FBRyxRQUFNQSxLQUFLSjtRQUFFO0lBQUM7SUFBRyxPQUFPTjtBQUFDO0FBQUMsU0FBU2dFLEVBQUVsRSxDQUFDO0lBQUUsSUFBSUU7SUFBRSxPQUFPa0MsT0FBT2lCLE1BQU0sZUFBQzNFLGlEQUFDQSxDQUFDc0IsSUFBRztRQUFDbUUsYUFBWSxDQUFDakUsSUFBRUYsRUFBRW1FLFdBQVcsS0FBRyxPQUFLakUsSUFBRUYsRUFBRVMsSUFBSTtJQUFBO0FBQUU7QUFBQyxTQUFTbUMsRUFBRTVDLENBQUM7SUFBRSxJQUFJRSxJQUFFa0MsT0FBT2lCLE1BQU0sQ0FBQyxDQUFDLEdBQUVyRDtJQUFHLElBQUksSUFBSUwsS0FBS08sRUFBRUEsQ0FBQyxDQUFDUCxFQUFFLEtBQUcsS0FBSyxLQUFHLE9BQU9PLENBQUMsQ0FBQ1AsRUFBRTtJQUFDLE9BQU9PO0FBQUM7QUFBQyxTQUFTMEIsRUFBRTVCLENBQUMsRUFBQ0UsSUFBRSxFQUFFO0lBQUUsSUFBSVAsSUFBRXlDLE9BQU9pQixNQUFNLENBQUMsQ0FBQyxHQUFFckQ7SUFBRyxLQUFJLElBQUlWLEtBQUtZLEVBQUVaLEtBQUtLLEtBQUcsT0FBT0EsQ0FBQyxDQUFDTCxFQUFFO0lBQUMsT0FBT0s7QUFBQztBQUFvSSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3JlbmRlci5qcz9kZjM2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtGcmFnbWVudCBhcyBSLGNsb25lRWxlbWVudCBhcyB4LGNyZWF0ZUVsZW1lbnQgYXMgRSxmb3J3YXJkUmVmIGFzIGosaXNWYWxpZEVsZW1lbnQgYXMgUyx1c2VDYWxsYmFjayBhcyB2LHVzZVJlZiBhcyB3fWZyb21cInJlYWN0XCI7aW1wb3J0e2NsYXNzTmFtZXMgYXMgUH1mcm9tJy4vY2xhc3MtbmFtZXMuanMnO2ltcG9ydHttYXRjaCBhcyBrfWZyb20nLi9tYXRjaC5qcyc7dmFyIE89KGE9PihhW2EuTm9uZT0wXT1cIk5vbmVcIixhW2EuUmVuZGVyU3RyYXRlZ3k9MV09XCJSZW5kZXJTdHJhdGVneVwiLGFbYS5TdGF0aWM9Ml09XCJTdGF0aWNcIixhKSkoT3x8e30pLE09KGU9PihlW2UuVW5tb3VudD0wXT1cIlVubW91bnRcIixlW2UuSGlkZGVuPTFdPVwiSGlkZGVuXCIsZSkpKE18fHt9KTtmdW5jdGlvbiBIKHtvdXJQcm9wczpyLHRoZWlyUHJvcHM6bixzbG90OmUsZGVmYXVsdFRhZzphLGZlYXR1cmVzOnMsdmlzaWJsZTp0PSEwLG5hbWU6bCxtZXJnZVJlZnM6aX0pe2k9aSE9bnVsbD9pOkE7bGV0IG89TihuLHIpO2lmKHQpcmV0dXJuIGIobyxlLGEsbCxpKTtsZXQgeT1zIT1udWxsP3M6MDtpZih5JjIpe2xldHtzdGF0aWM6Zj0hMSwuLi51fT1vO2lmKGYpcmV0dXJuIGIodSxlLGEsbCxpKX1pZih5JjEpe2xldHt1bm1vdW50OmY9ITAsLi4udX09bztyZXR1cm4gayhmPzA6MSx7WzBdKCl7cmV0dXJuIG51bGx9LFsxXSgpe3JldHVybiBiKHsuLi51LGhpZGRlbjohMCxzdHlsZTp7ZGlzcGxheTpcIm5vbmVcIn19LGUsYSxsLGkpfX0pfXJldHVybiBiKG8sZSxhLGwsaSl9ZnVuY3Rpb24gYihyLG49e30sZSxhLHMpe2xldHthczp0PWUsY2hpbGRyZW46bCxyZWZOYW1lOmk9XCJyZWZcIiwuLi5vfT1oKHIsW1widW5tb3VudFwiLFwic3RhdGljXCJdKSx5PXIucmVmIT09dm9pZCAwP3tbaV06ci5yZWZ9Ont9LGY9dHlwZW9mIGw9PVwiZnVuY3Rpb25cIj9sKG4pOmw7XCJjbGFzc05hbWVcImluIG8mJm8uY2xhc3NOYW1lJiZ0eXBlb2Ygby5jbGFzc05hbWU9PVwiZnVuY3Rpb25cIiYmKG8uY2xhc3NOYW1lPW8uY2xhc3NOYW1lKG4pKSxvW1wiYXJpYS1sYWJlbGxlZGJ5XCJdJiZvW1wiYXJpYS1sYWJlbGxlZGJ5XCJdPT09by5pZCYmKG9bXCJhcmlhLWxhYmVsbGVkYnlcIl09dm9pZCAwKTtsZXQgdT17fTtpZihuKXtsZXQgZD0hMSxwPVtdO2ZvcihsZXRbYyxUXW9mIE9iamVjdC5lbnRyaWVzKG4pKXR5cGVvZiBUPT1cImJvb2xlYW5cIiYmKGQ9ITApLFQ9PT0hMCYmcC5wdXNoKGMucmVwbGFjZSgvKFtBLVpdKS9nLGc9PmAtJHtnLnRvTG93ZXJDYXNlKCl9YCkpO2lmKGQpe3VbXCJkYXRhLWhlYWRsZXNzdWktc3RhdGVcIl09cC5qb2luKFwiIFwiKTtmb3IobGV0IGMgb2YgcCl1W2BkYXRhLSR7Y31gXT1cIlwifX1pZih0PT09UiYmKE9iamVjdC5rZXlzKG0obykpLmxlbmd0aD4wfHxPYmplY3Qua2V5cyhtKHUpKS5sZW5ndGg+MCkpaWYoIVMoZil8fEFycmF5LmlzQXJyYXkoZikmJmYubGVuZ3RoPjEpe2lmKE9iamVjdC5rZXlzKG0obykpLmxlbmd0aD4wKXRocm93IG5ldyBFcnJvcihbJ1Bhc3NpbmcgcHJvcHMgb24gXCJGcmFnbWVudFwiIScsXCJcIixgVGhlIGN1cnJlbnQgY29tcG9uZW50IDwke2F9IC8+IGlzIHJlbmRlcmluZyBhIFwiRnJhZ21lbnRcIi5gLFwiSG93ZXZlciB3ZSBuZWVkIHRvIHBhc3N0aHJvdWdoIHRoZSBmb2xsb3dpbmcgcHJvcHM6XCIsT2JqZWN0LmtleXMobShvKSkuY29uY2F0KE9iamVjdC5rZXlzKG0odSkpKS5tYXAoZD0+YCAgLSAke2R9YCkuam9pbihgXG5gKSxcIlwiLFwiWW91IGNhbiBhcHBseSBhIGZldyBzb2x1dGlvbnM6XCIsWydBZGQgYW4gYGFzPVwiLi4uXCJgIHByb3AsIHRvIGVuc3VyZSB0aGF0IHdlIHJlbmRlciBhbiBhY3R1YWwgZWxlbWVudCBpbnN0ZWFkIG9mIGEgXCJGcmFnbWVudFwiLicsXCJSZW5kZXIgYSBzaW5nbGUgZWxlbWVudCBhcyB0aGUgY2hpbGQgc28gdGhhdCB3ZSBjYW4gZm9yd2FyZCB0aGUgcHJvcHMgb250byB0aGF0IGVsZW1lbnQuXCJdLm1hcChkPT5gICAtICR7ZH1gKS5qb2luKGBcbmApXS5qb2luKGBcbmApKX1lbHNle2xldCBkPWYucHJvcHMscD1kPT1udWxsP3ZvaWQgMDpkLmNsYXNzTmFtZSxjPXR5cGVvZiBwPT1cImZ1bmN0aW9uXCI/KC4uLkYpPT5QKHAoLi4uRiksby5jbGFzc05hbWUpOlAocCxvLmNsYXNzTmFtZSksVD1jP3tjbGFzc05hbWU6Y306e30sZz1OKGYucHJvcHMsbShoKG8sW1wicmVmXCJdKSkpO2ZvcihsZXQgRiBpbiB1KUYgaW4gZyYmZGVsZXRlIHVbRl07cmV0dXJuIHgoZixPYmplY3QuYXNzaWduKHt9LGcsdSx5LHtyZWY6cyhmLnJlZix5LnJlZil9LFQpKX1yZXR1cm4gRSh0LE9iamVjdC5hc3NpZ24oe30saChvLFtcInJlZlwiXSksdCE9PVImJnksdCE9PVImJnUpLGYpfWZ1bmN0aW9uIFUoKXtsZXQgcj13KFtdKSxuPXYoZT0+e2ZvcihsZXQgYSBvZiByLmN1cnJlbnQpYSE9bnVsbCYmKHR5cGVvZiBhPT1cImZ1bmN0aW9uXCI/YShlKTphLmN1cnJlbnQ9ZSl9LFtdKTtyZXR1cm4oLi4uZSk9PntpZighZS5ldmVyeShhPT5hPT1udWxsKSlyZXR1cm4gci5jdXJyZW50PWUsbn19ZnVuY3Rpb24gQSguLi5yKXtyZXR1cm4gci5ldmVyeShuPT5uPT1udWxsKT92b2lkIDA6bj0+e2ZvcihsZXQgZSBvZiByKWUhPW51bGwmJih0eXBlb2YgZT09XCJmdW5jdGlvblwiP2Uobik6ZS5jdXJyZW50PW4pfX1mdW5jdGlvbiBOKC4uLnIpe3ZhciBhO2lmKHIubGVuZ3RoPT09MClyZXR1cm57fTtpZihyLmxlbmd0aD09PTEpcmV0dXJuIHJbMF07bGV0IG49e30sZT17fTtmb3IobGV0IHMgb2Ygcilmb3IobGV0IHQgaW4gcyl0LnN0YXJ0c1dpdGgoXCJvblwiKSYmdHlwZW9mIHNbdF09PVwiZnVuY3Rpb25cIj8oKGE9ZVt0XSkhPW51bGx8fChlW3RdPVtdKSxlW3RdLnB1c2goc1t0XSkpOm5bdF09c1t0XTtpZihuLmRpc2FibGVkfHxuW1wiYXJpYS1kaXNhYmxlZFwiXSlmb3IobGV0IHMgaW4gZSkvXihvbig/OkNsaWNrfFBvaW50ZXJ8TW91c2V8S2V5KSg/OkRvd258VXB8UHJlc3MpPykkLy50ZXN0KHMpJiYoZVtzXT1bdD0+e3ZhciBsO3JldHVybihsPXQ9PW51bGw/dm9pZCAwOnQucHJldmVudERlZmF1bHQpPT1udWxsP3ZvaWQgMDpsLmNhbGwodCl9XSk7Zm9yKGxldCBzIGluIGUpT2JqZWN0LmFzc2lnbihuLHtbc10odCwuLi5sKXtsZXQgaT1lW3NdO2ZvcihsZXQgbyBvZiBpKXtpZigodCBpbnN0YW5jZW9mIEV2ZW50fHwodD09bnVsbD92b2lkIDA6dC5uYXRpdmVFdmVudClpbnN0YW5jZW9mIEV2ZW50KSYmdC5kZWZhdWx0UHJldmVudGVkKXJldHVybjtvKHQsLi4ubCl9fX0pO3JldHVybiBufWZ1bmN0aW9uIEQoLi4ucil7dmFyIGE7aWYoci5sZW5ndGg9PT0wKXJldHVybnt9O2lmKHIubGVuZ3RoPT09MSlyZXR1cm4gclswXTtsZXQgbj17fSxlPXt9O2ZvcihsZXQgcyBvZiByKWZvcihsZXQgdCBpbiBzKXQuc3RhcnRzV2l0aChcIm9uXCIpJiZ0eXBlb2Ygc1t0XT09XCJmdW5jdGlvblwiPygoYT1lW3RdKSE9bnVsbHx8KGVbdF09W10pLGVbdF0ucHVzaChzW3RdKSk6blt0XT1zW3RdO2ZvcihsZXQgcyBpbiBlKU9iamVjdC5hc3NpZ24obix7W3NdKC4uLnQpe2xldCBsPWVbc107Zm9yKGxldCBpIG9mIGwpaT09bnVsbHx8aSguLi50KX19KTtyZXR1cm4gbn1mdW5jdGlvbiBJKHIpe3ZhciBuO3JldHVybiBPYmplY3QuYXNzaWduKGoocikse2Rpc3BsYXlOYW1lOihuPXIuZGlzcGxheU5hbWUpIT1udWxsP246ci5uYW1lfSl9ZnVuY3Rpb24gbShyKXtsZXQgbj1PYmplY3QuYXNzaWduKHt9LHIpO2ZvcihsZXQgZSBpbiBuKW5bZV09PT12b2lkIDAmJmRlbGV0ZSBuW2VdO3JldHVybiBufWZ1bmN0aW9uIGgocixuPVtdKXtsZXQgZT1PYmplY3QuYXNzaWduKHt9LHIpO2ZvcihsZXQgYSBvZiBuKWEgaW4gZSYmZGVsZXRlIGVbYV07cmV0dXJuIGV9ZXhwb3J0e08gYXMgUmVuZGVyRmVhdHVyZXMsTSBhcyBSZW5kZXJTdHJhdGVneSxtIGFzIGNvbXBhY3QsSSBhcyBmb3J3YXJkUmVmV2l0aEFzLEQgYXMgbWVyZ2VQcm9wcyxIIGFzIHJlbmRlcixVIGFzIHVzZU1lcmdlUmVmc0ZufTtcbiJdLCJuYW1lcyI6WyJGcmFnbWVudCIsIlIiLCJjbG9uZUVsZW1lbnQiLCJ4IiwiY3JlYXRlRWxlbWVudCIsIkUiLCJmb3J3YXJkUmVmIiwiaiIsImlzVmFsaWRFbGVtZW50IiwiUyIsInVzZUNhbGxiYWNrIiwidiIsInVzZVJlZiIsInciLCJjbGFzc05hbWVzIiwiUCIsIm1hdGNoIiwiayIsIk8iLCJhIiwiTm9uZSIsIlJlbmRlclN0cmF0ZWd5IiwiU3RhdGljIiwiTSIsImUiLCJVbm1vdW50IiwiSGlkZGVuIiwiSCIsIm91clByb3BzIiwiciIsInRoZWlyUHJvcHMiLCJuIiwic2xvdCIsImRlZmF1bHRUYWciLCJmZWF0dXJlcyIsInMiLCJ2aXNpYmxlIiwidCIsIm5hbWUiLCJsIiwibWVyZ2VSZWZzIiwiaSIsIkEiLCJvIiwiTiIsImIiLCJ5Iiwic3RhdGljIiwiZiIsInUiLCJ1bm1vdW50IiwiaGlkZGVuIiwic3R5bGUiLCJkaXNwbGF5IiwiYXMiLCJjaGlsZHJlbiIsInJlZk5hbWUiLCJoIiwicmVmIiwiY2xhc3NOYW1lIiwiaWQiLCJkIiwicCIsImMiLCJUIiwiT2JqZWN0IiwiZW50cmllcyIsInB1c2giLCJyZXBsYWNlIiwiZyIsInRvTG93ZXJDYXNlIiwiam9pbiIsImtleXMiLCJtIiwibGVuZ3RoIiwiQXJyYXkiLCJpc0FycmF5IiwiRXJyb3IiLCJjb25jYXQiLCJtYXAiLCJwcm9wcyIsIkYiLCJhc3NpZ24iLCJVIiwiY3VycmVudCIsImV2ZXJ5Iiwic3RhcnRzV2l0aCIsImRpc2FibGVkIiwidGVzdCIsInByZXZlbnREZWZhdWx0IiwiY2FsbCIsIkV2ZW50IiwibmF0aXZlRXZlbnQiLCJkZWZhdWx0UHJldmVudGVkIiwiRCIsIkkiLCJkaXNwbGF5TmFtZSIsIlJlbmRlckZlYXR1cmVzIiwiY29tcGFjdCIsImZvcndhcmRSZWZXaXRoQXMiLCJtZXJnZVByb3BzIiwicmVuZGVyIiwidXNlTWVyZ2VSZWZzRm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/render.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/stable-collection.js": -/*!************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/stable-collection.js ***! - \************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StableCollection: () => (/* binding */ f),\n/* harmony export */ useStableCollectionIndex: () => (/* binding */ C)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\nconst s = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nfunction a() {\n return {\n groups: new Map,\n get (o, e) {\n var i;\n let t = this.groups.get(o);\n t || (t = new Map, this.groups.set(o, t));\n let n = (i = t.get(e)) != null ? i : 0;\n t.set(e, n + 1);\n let r = Array.from(t.keys()).indexOf(e);\n function u() {\n let c = t.get(e);\n c > 1 ? t.set(e, c - 1) : t.delete(e);\n }\n return [\n r,\n u\n ];\n }\n };\n}\nfunction f({ children: o }) {\n let e = react__WEBPACK_IMPORTED_MODULE_0__.useRef(a());\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(s.Provider, {\n value: e\n }, o);\n}\nfunction C(o) {\n let e = react__WEBPACK_IMPORTED_MODULE_0__.useContext(s);\n if (!e) throw new Error(\"You must wrap your component in a \");\n let t = react__WEBPACK_IMPORTED_MODULE_0__.useId(), [n, r] = e.current.get(o, t);\n return react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>r, []), n;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9zdGFibGUtY29sbGVjdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBd0I7QUFBQSxNQUFNQyxrQkFBRUQsZ0RBQWUsQ0FBQztBQUFNLFNBQVNHO0lBQUksT0FBTTtRQUFDQyxRQUFPLElBQUlDO1FBQUlDLEtBQUlDLENBQUMsRUFBQ0MsQ0FBQztZQUFFLElBQUlDO1lBQUUsSUFBSUMsSUFBRSxJQUFJLENBQUNOLE1BQU0sQ0FBQ0UsR0FBRyxDQUFDQztZQUFHRyxLQUFJQSxDQUFBQSxJQUFFLElBQUlMLEtBQUksSUFBSSxDQUFDRCxNQUFNLENBQUNPLEdBQUcsQ0FBQ0osR0FBRUcsRUFBQztZQUFHLElBQUlFLElBQUUsQ0FBQ0gsSUFBRUMsRUFBRUosR0FBRyxDQUFDRSxFQUFDLEtBQUksT0FBS0MsSUFBRTtZQUFFQyxFQUFFQyxHQUFHLENBQUNILEdBQUVJLElBQUU7WUFBRyxJQUFJQyxJQUFFQyxNQUFNQyxJQUFJLENBQUNMLEVBQUVNLElBQUksSUFBSUMsT0FBTyxDQUFDVDtZQUFHLFNBQVNVO2dCQUFJLElBQUlDLElBQUVULEVBQUVKLEdBQUcsQ0FBQ0U7Z0JBQUdXLElBQUUsSUFBRVQsRUFBRUMsR0FBRyxDQUFDSCxHQUFFVyxJQUFFLEtBQUdULEVBQUVVLE1BQU0sQ0FBQ1o7WUFBRTtZQUFDLE9BQU07Z0JBQUNLO2dCQUFFSzthQUFFO1FBQUE7SUFBQztBQUFDO0FBQUMsU0FBU0csRUFBRSxFQUFDQyxVQUFTZixDQUFDLEVBQUM7SUFBRSxJQUFJQyxJQUFFUix5Q0FBUSxDQUFDRztJQUFLLHFCQUFPSCxnREFBZSxDQUFDQyxFQUFFd0IsUUFBUSxFQUFDO1FBQUNDLE9BQU1sQjtJQUFDLEdBQUVEO0FBQUU7QUFBQyxTQUFTb0IsRUFBRXBCLENBQUM7SUFBRSxJQUFJQyxJQUFFUiw2Q0FBWSxDQUFDQztJQUFHLElBQUcsQ0FBQ08sR0FBRSxNQUFNLElBQUlxQixNQUFNO0lBQXdELElBQUluQixJQUFFVix3Q0FBTyxJQUFHLENBQUNZLEdBQUVDLEVBQUUsR0FBQ0wsRUFBRXVCLE9BQU8sQ0FBQ3pCLEdBQUcsQ0FBQ0MsR0FBRUc7SUFBRyxPQUFPViw0Q0FBVyxDQUFDLElBQUlhLEdBQUUsRUFBRSxHQUFFRDtBQUFDO0FBQTZEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvc3RhYmxlLWNvbGxlY3Rpb24uanM/NTA3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQqYXMgbCBmcm9tXCJyZWFjdFwiO2NvbnN0IHM9bC5jcmVhdGVDb250ZXh0KG51bGwpO2Z1bmN0aW9uIGEoKXtyZXR1cm57Z3JvdXBzOm5ldyBNYXAsZ2V0KG8sZSl7dmFyIGk7bGV0IHQ9dGhpcy5ncm91cHMuZ2V0KG8pO3R8fCh0PW5ldyBNYXAsdGhpcy5ncm91cHMuc2V0KG8sdCkpO2xldCBuPShpPXQuZ2V0KGUpKSE9bnVsbD9pOjA7dC5zZXQoZSxuKzEpO2xldCByPUFycmF5LmZyb20odC5rZXlzKCkpLmluZGV4T2YoZSk7ZnVuY3Rpb24gdSgpe2xldCBjPXQuZ2V0KGUpO2M+MT90LnNldChlLGMtMSk6dC5kZWxldGUoZSl9cmV0dXJuW3IsdV19fX1mdW5jdGlvbiBmKHtjaGlsZHJlbjpvfSl7bGV0IGU9bC51c2VSZWYoYSgpKTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KHMuUHJvdmlkZXIse3ZhbHVlOmV9LG8pfWZ1bmN0aW9uIEMobyl7bGV0IGU9bC51c2VDb250ZXh0KHMpO2lmKCFlKXRocm93IG5ldyBFcnJvcihcIllvdSBtdXN0IHdyYXAgeW91ciBjb21wb25lbnQgaW4gYSA8U3RhYmxlQ29sbGVjdGlvbj5cIik7bGV0IHQ9bC51c2VJZCgpLFtuLHJdPWUuY3VycmVudC5nZXQobyx0KTtyZXR1cm4gbC51c2VFZmZlY3QoKCk9PnIsW10pLG59ZXhwb3J0e2YgYXMgU3RhYmxlQ29sbGVjdGlvbixDIGFzIHVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleH07XG4iXSwibmFtZXMiOlsibCIsInMiLCJjcmVhdGVDb250ZXh0IiwiYSIsImdyb3VwcyIsIk1hcCIsImdldCIsIm8iLCJlIiwiaSIsInQiLCJzZXQiLCJuIiwiciIsIkFycmF5IiwiZnJvbSIsImtleXMiLCJpbmRleE9mIiwidSIsImMiLCJkZWxldGUiLCJmIiwiY2hpbGRyZW4iLCJ1c2VSZWYiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIkMiLCJ1c2VDb250ZXh0IiwiRXJyb3IiLCJ1c2VJZCIsImN1cnJlbnQiLCJ1c2VFZmZlY3QiLCJTdGFibGVDb2xsZWN0aW9uIiwidXNlU3RhYmxlQ29sbGVjdGlvbkluZGV4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/stable-collection.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@headlessui/react/dist/utils/start-transition.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/start-transition.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ startTransition: () => (/* binding */ a)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nvar t;\n\nlet a = (t = react__WEBPACK_IMPORTED_MODULE_0__.startTransition) != null ? t : function(i) {\n i();\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9zdGFydC10cmFuc2l0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBSUE7QUFBdUI7QUFBQSxJQUFJRSxJQUFFLENBQUNGLElBQUVDLGtEQUFpQixLQUFHLE9BQUtELElBQUUsU0FBU0ksQ0FBQztJQUFFQTtBQUFHO0FBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvc3RhcnQtdHJhbnNpdGlvbi5qcz83NDUzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB0O2ltcG9ydCByIGZyb21cInJlYWN0XCI7bGV0IGE9KHQ9ci5zdGFydFRyYW5zaXRpb24pIT1udWxsP3Q6ZnVuY3Rpb24oaSl7aSgpfTtleHBvcnR7YSBhcyBzdGFydFRyYW5zaXRpb259O1xuIl0sIm5hbWVzIjpbInQiLCJyIiwiYSIsInN0YXJ0VHJhbnNpdGlvbiIsImkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@headlessui/react/dist/utils/start-transition.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js ***! - \*********************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Disclosure: () => (/* binding */ e0), -/* harmony export */ DisclosureButton: () => (/* binding */ e1), -/* harmony export */ DisclosurePanel: () => (/* binding */ e2) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js#Disclosure`); - -const e1 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js#DisclosureButton`); - -const e2 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js#DisclosurePanel`); - - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/@heroicons.js b/.next/server/vendor-chunks/@heroicons.js deleted file mode 100644 index 285e358..0000000 --- a/.next/server/vendor-chunks/@heroicons.js +++ /dev/null @@ -1,235 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/@heroicons"; -exports.ids = ["vendor-chunks/@heroicons"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\nfunction Bars3Icon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(Bars3Icon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9CYXJzM0ljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0I7QUFDL0IsU0FBU0MsVUFBVSxFQUNqQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFNBQVM7UUFDVEMsYUFBYTtRQUNiQyxRQUFRO1FBQ1IsZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1Q7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEZSxJQUFJWjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRnQixlQUFlO1FBQ2ZDLGdCQUFnQjtRQUNoQkMsR0FBRztJQUNMO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQztBQUNsRCxpRUFBZWtCLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9CYXJzM0ljb24uanM/MjY0MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIEJhcnMzSWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIGZpbGw6IFwibm9uZVwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgc3Ryb2tlV2lkdGg6IDEuNSxcbiAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbiAgICBcImRhdGEtc2xvdFwiOiBcImljb25cIixcbiAgICByZWY6IHN2Z1JlZixcbiAgICBcImFyaWEtbGFiZWxsZWRieVwiOiB0aXRsZUlkXG4gIH0sIHByb3BzKSwgdGl0bGUgPyAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInRpdGxlXCIsIHtcbiAgICBpZDogdGl0bGVJZFxuICB9LCB0aXRsZSkgOiBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgIGQ6IFwiTTMuNzUgNi43NWgxNi41TTMuNzUgMTJoMTYuNW0tMTYuNSA1LjI1aDE2LjVcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKEJhcnMzSWNvbik7XG5leHBvcnQgZGVmYXVsdCBGb3J3YXJkUmVmOyJdLCJuYW1lcyI6WyJSZWFjdCIsIkJhcnMzSWNvbiIsInRpdGxlIiwidGl0bGVJZCIsInByb3BzIiwic3ZnUmVmIiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInJlZiIsImlkIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsIkZvcndhcmRSZWYiLCJmb3J3YXJkUmVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\nfunction XMarkIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M6 18 18 6M6 6l12 12\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(XMarkIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9YTWFya0ljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0I7QUFDL0IsU0FBU0MsVUFBVSxFQUNqQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFNBQVM7UUFDVEMsYUFBYTtRQUNiQyxRQUFRO1FBQ1IsZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1Q7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEZSxJQUFJWjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRnQixlQUFlO1FBQ2ZDLGdCQUFnQjtRQUNoQkMsR0FBRztJQUNMO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQztBQUNsRCxpRUFBZWtCLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9YTWFya0ljb24uanM/MGM5YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIFhNYXJrSWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIGZpbGw6IFwibm9uZVwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgc3Ryb2tlV2lkdGg6IDEuNSxcbiAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbiAgICBcImRhdGEtc2xvdFwiOiBcImljb25cIixcbiAgICByZWY6IHN2Z1JlZixcbiAgICBcImFyaWEtbGFiZWxsZWRieVwiOiB0aXRsZUlkXG4gIH0sIHByb3BzKSwgdGl0bGUgPyAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInRpdGxlXCIsIHtcbiAgICBpZDogdGl0bGVJZFxuICB9LCB0aXRsZSkgOiBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgIGQ6IFwiTTYgMTggMTggNk02IDZsMTIgMTJcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKFhNYXJrSWNvbik7XG5leHBvcnQgZGVmYXVsdCBGb3J3YXJkUmVmOyJdLCJuYW1lcyI6WyJSZWFjdCIsIlhNYXJrSWNvbiIsInRpdGxlIiwidGl0bGVJZCIsInByb3BzIiwic3ZnUmVmIiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInJlZiIsImlkIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsIkZvcndhcmRSZWYiLCJmb3J3YXJkUmVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/ChevronRightIcon.js": -/*!************************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/ChevronRightIcon.js ***! - \************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction ChevronRightIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(ChevronRightIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vQ2hldnJvblJpZ2h0SWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQjtBQUMvQixTQUFTQyxpQkFBaUIsRUFDeEJDLEtBQUssRUFDTEMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osRUFBRUMsTUFBTTtJQUNQLE9BQU8sV0FBVyxHQUFFTCxnREFBbUIsQ0FBQyxPQUFPTyxPQUFPQyxNQUFNLENBQUM7UUFDM0RDLE9BQU87UUFDUEMsU0FBUztRQUNUQyxNQUFNO1FBQ04sZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1A7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEYSxJQUFJVjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRjLFVBQVU7UUFDVkMsR0FBRztRQUNIQyxVQUFVO0lBQ1o7QUFDRjtBQUNBLE1BQU1DLGFBQWEsV0FBVyxHQUFHakIsNkNBQWdCLENBQUNDO0FBQ2xELGlFQUFlZ0IsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkL2VzbS9DaGV2cm9uUmlnaHRJY29uLmpzPzMyZDciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBDaGV2cm9uUmlnaHRJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjAgMjBcIixcbiAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgZDogXCJNOC4yMiA1LjIyYS43NS43NSAwIDAgMSAxLjA2IDBsNC4yNSA0LjI1YS43NS43NSAwIDAgMSAwIDEuMDZsLTQuMjUgNC4yNWEuNzUuNzUgMCAwIDEtMS4wNi0xLjA2TDExLjk0IDEwIDguMjIgNi4yOGEuNzUuNzUgMCAwIDEgMC0xLjA2WlwiLFxuICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKENoZXZyb25SaWdodEljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJDaGV2cm9uUmlnaHRJY29uIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJzdmdSZWYiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInJlZiIsImlkIiwiZmlsbFJ1bGUiLCJkIiwiY2xpcFJ1bGUiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/ChevronRightIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/CloudArrowUpIcon.js": -/*!************************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/CloudArrowUpIcon.js ***! - \************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction CloudArrowUpIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M5.5 17a4.5 4.5 0 0 1-1.44-8.765 4.5 4.5 0 0 1 8.302-3.046 3.5 3.5 0 0 1 4.504 4.272A4 4 0 0 1 15 17H5.5Zm3.75-2.75a.75.75 0 0 0 1.5 0V9.66l1.95 2.1a.75.75 0 1 0 1.1-1.02l-3.25-3.5a.75.75 0 0 0-1.1 0l-3.25 3.5a.75.75 0 1 0 1.1 1.02l1.95-2.1v4.59Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(CloudArrowUpIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vQ2xvdWRBcnJvd1VwSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQjtBQUMvQixTQUFTQyxpQkFBaUIsRUFDeEJDLEtBQUssRUFDTEMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osRUFBRUMsTUFBTTtJQUNQLE9BQU8sV0FBVyxHQUFFTCxnREFBbUIsQ0FBQyxPQUFPTyxPQUFPQyxNQUFNLENBQUM7UUFDM0RDLE9BQU87UUFDUEMsU0FBUztRQUNUQyxNQUFNO1FBQ04sZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1A7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEYSxJQUFJVjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRjLFVBQVU7UUFDVkMsR0FBRztRQUNIQyxVQUFVO0lBQ1o7QUFDRjtBQUNBLE1BQU1DLGFBQWEsV0FBVyxHQUFHakIsNkNBQWdCLENBQUNDO0FBQ2xELGlFQUFlZ0IsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkL2VzbS9DbG91ZEFycm93VXBJY29uLmpzP2Q0YmEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBDbG91ZEFycm93VXBJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjAgMjBcIixcbiAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgZDogXCJNNS41IDE3YTQuNSA0LjUgMCAwIDEtMS40NC04Ljc2NSA0LjUgNC41IDAgMCAxIDguMzAyLTMuMDQ2IDMuNSAzLjUgMCAwIDEgNC41MDQgNC4yNzJBNCA0IDAgMCAxIDE1IDE3SDUuNVptMy43NS0yLjc1YS43NS43NSAwIDAgMCAxLjUgMFY5LjY2bDEuOTUgMi4xYS43NS43NSAwIDEgMCAxLjEtMS4wMmwtMy4yNS0zLjVhLjc1Ljc1IDAgMCAwLTEuMSAwbC0zLjI1IDMuNWEuNzUuNzUgMCAxIDAgMS4xIDEuMDJsMS45NS0yLjF2NC41OVpcIixcbiAgICBjbGlwUnVsZTogXCJldmVub2RkXCJcbiAgfSkpO1xufVxuY29uc3QgRm9yd2FyZFJlZiA9IC8qI19fUFVSRV9fKi8gUmVhY3QuZm9yd2FyZFJlZihDbG91ZEFycm93VXBJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ2xvdWRBcnJvd1VwSWNvbiIsInRpdGxlIiwidGl0bGVJZCIsInByb3BzIiwic3ZnUmVmIiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJyZWYiLCJpZCIsImZpbGxSdWxlIiwiZCIsImNsaXBSdWxlIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/CloudArrowUpIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/ComputerDesktopIcon.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/ComputerDesktopIcon.js ***! - \***************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction ComputerDesktopIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M2 4.25A2.25 2.25 0 0 1 4.25 2h11.5A2.25 2.25 0 0 1 18 4.25v8.5A2.25 2.25 0 0 1 15.75 15h-3.105a3.501 3.501 0 0 0 1.1 1.677A.75.75 0 0 1 13.26 18H6.74a.75.75 0 0 1-.484-1.323A3.501 3.501 0 0 0 7.355 15H4.25A2.25 2.25 0 0 1 2 12.75v-8.5Zm1.5 0a.75.75 0 0 1 .75-.75h11.5a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-.75.75H4.25a.75.75 0 0 1-.75-.75v-7.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(ComputerDesktopIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vQ29tcHV0ZXJEZXNrdG9wSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQjtBQUMvQixTQUFTQyxvQkFBb0IsRUFDM0JDLEtBQUssRUFDTEMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osRUFBRUMsTUFBTTtJQUNQLE9BQU8sV0FBVyxHQUFFTCxnREFBbUIsQ0FBQyxPQUFPTyxPQUFPQyxNQUFNLENBQUM7UUFDM0RDLE9BQU87UUFDUEMsU0FBUztRQUNUQyxNQUFNO1FBQ04sZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1A7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEYSxJQUFJVjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRjLFVBQVU7UUFDVkMsR0FBRztRQUNIQyxVQUFVO0lBQ1o7QUFDRjtBQUNBLE1BQU1DLGFBQWEsV0FBVyxHQUFHakIsNkNBQWdCLENBQUNDO0FBQ2xELGlFQUFlZ0IsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkL2VzbS9Db21wdXRlckRlc2t0b3BJY29uLmpzPzA3NzQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBDb21wdXRlckRlc2t0b3BJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjAgMjBcIixcbiAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgZDogXCJNMiA0LjI1QTIuMjUgMi4yNSAwIDAgMSA0LjI1IDJoMTEuNUEyLjI1IDIuMjUgMCAwIDEgMTggNC4yNXY4LjVBMi4yNSAyLjI1IDAgMCAxIDE1Ljc1IDE1aC0zLjEwNWEzLjUwMSAzLjUwMSAwIDAgMCAxLjEgMS42NzdBLjc1Ljc1IDAgMCAxIDEzLjI2IDE4SDYuNzRhLjc1Ljc1IDAgMCAxLS40ODQtMS4zMjNBMy41MDEgMy41MDEgMCAwIDAgNy4zNTUgMTVINC4yNUEyLjI1IDIuMjUgMCAwIDEgMiAxMi43NXYtOC41Wm0xLjUgMGEuNzUuNzUgMCAwIDEgLjc1LS43NWgxMS41YS43NS43NSAwIDAgMSAuNzUuNzV2Ny41YS43NS43NSAwIDAgMS0uNzUuNzVINC4yNWEuNzUuNzUgMCAwIDEtLjc1LS43NXYtNy41WlwiLFxuICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKENvbXB1dGVyRGVza3RvcEljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wdXRlckRlc2t0b3BJY29uIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJzdmdSZWYiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInJlZiIsImlkIiwiZmlsbFJ1bGUiLCJkIiwiY2xpcFJ1bGUiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/ComputerDesktopIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/CpuChipIcon.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/CpuChipIcon.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction CpuChipIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M14 6H6v8h8V6Z\"\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9.25 3V1.75a.75.75 0 0 1 1.5 0V3h1.5V1.75a.75.75 0 0 1 1.5 0V3h.5A2.75 2.75 0 0 1 17 5.75v.5h1.25a.75.75 0 0 1 0 1.5H17v1.5h1.25a.75.75 0 0 1 0 1.5H17v1.5h1.25a.75.75 0 0 1 0 1.5H17v.5A2.75 2.75 0 0 1 14.25 17h-.5v1.25a.75.75 0 0 1-1.5 0V17h-1.5v1.25a.75.75 0 0 1-1.5 0V17h-1.5v1.25a.75.75 0 0 1-1.5 0V17h-.5A2.75 2.75 0 0 1 3 14.25v-.5H1.75a.75.75 0 0 1 0-1.5H3v-1.5H1.75a.75.75 0 0 1 0-1.5H3v-1.5H1.75a.75.75 0 0 1 0-1.5H3v-.5A2.75 2.75 0 0 1 5.75 3h.5V1.75a.75.75 0 0 1 1.5 0V3h1.5ZM4.5 5.75c0-.69.56-1.25 1.25-1.25h8.5c.69 0 1.25.56 1.25 1.25v8.5c0 .69-.56 1.25-1.25 1.25h-8.5c-.69 0-1.25-.56-1.25-1.25v-8.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(CpuChipIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vQ3B1Q2hpcEljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0I7QUFDL0IsU0FBU0MsWUFBWSxFQUNuQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLE1BQU07UUFDTixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLUDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RhLElBQUlWO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGMsR0FBRztJQUNMLElBQUksV0FBVyxHQUFFZCxnREFBbUIsQ0FBQyxRQUFRO1FBQzNDZSxVQUFVO1FBQ1ZELEdBQUc7UUFDSEUsVUFBVTtJQUNaO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR2pCLDZDQUFnQixDQUFDQztBQUNsRCxpRUFBZWdCLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vQ3B1Q2hpcEljb24uanM/NTMwOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIENwdUNoaXBJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjAgMjBcIixcbiAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBkOiBcIk0xNCA2SDZ2OGg4VjZaXCJcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgIGQ6IFwiTTkuMjUgM1YxLjc1YS43NS43NSAwIDAgMSAxLjUgMFYzaDEuNVYxLjc1YS43NS43NSAwIDAgMSAxLjUgMFYzaC41QTIuNzUgMi43NSAwIDAgMSAxNyA1Ljc1di41aDEuMjVhLjc1Ljc1IDAgMCAxIDAgMS41SDE3djEuNWgxLjI1YS43NS43NSAwIDAgMSAwIDEuNUgxN3YxLjVoMS4yNWEuNzUuNzUgMCAwIDEgMCAxLjVIMTd2LjVBMi43NSAyLjc1IDAgMCAxIDE0LjI1IDE3aC0uNXYxLjI1YS43NS43NSAwIDAgMS0xLjUgMFYxN2gtMS41djEuMjVhLjc1Ljc1IDAgMCAxLTEuNSAwVjE3aC0xLjV2MS4yNWEuNzUuNzUgMCAwIDEtMS41IDBWMTdoLS41QTIuNzUgMi43NSAwIDAgMSAzIDE0LjI1di0uNUgxLjc1YS43NS43NSAwIDAgMSAwLTEuNUgzdi0xLjVIMS43NWEuNzUuNzUgMCAwIDEgMC0xLjVIM3YtMS41SDEuNzVhLjc1Ljc1IDAgMCAxIDAtMS41SDN2LS41QTIuNzUgMi43NSAwIDAgMSA1Ljc1IDNoLjVWMS43NWEuNzUuNzUgMCAwIDEgMS41IDBWM2gxLjVaTTQuNSA1Ljc1YzAtLjY5LjU2LTEuMjUgMS4yNS0xLjI1aDguNWMuNjkgMCAxLjI1LjU2IDEuMjUgMS4yNXY4LjVjMCAuNjktLjU2IDEuMjUtMS4yNSAxLjI1aC04LjVjLS42OSAwLTEuMjUtLjU2LTEuMjUtMS4yNXYtOC41WlwiLFxuICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKENwdUNoaXBJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ3B1Q2hpcEljb24iLCJ0aXRsZSIsInRpdGxlSWQiLCJwcm9wcyIsInN2Z1JlZiIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwicmVmIiwiaWQiLCJkIiwiZmlsbFJ1bGUiLCJjbGlwUnVsZSIsIkZvcndhcmRSZWYiLCJmb3J3YXJkUmVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/CpuChipIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/CubeIcon.js": -/*!****************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/CubeIcon.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction CubeIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M10.362 1.093a.75.75 0 0 0-.724 0L2.523 5.018 10 9.143l7.477-4.125-7.115-3.925ZM18 6.443l-7.25 4v8.25l6.862-3.786A.75.75 0 0 0 18 14.25V6.443ZM9.25 18.693v-8.25l-7.25-4v7.807a.75.75 0 0 0 .388.657l6.862 3.786Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(CubeIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vQ3ViZUljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0I7QUFDL0IsU0FBU0MsU0FBUyxFQUNoQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLE1BQU07UUFDTixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLUDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RhLElBQUlWO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGMsR0FBRztJQUNMO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR2YsNkNBQWdCLENBQUNDO0FBQ2xELGlFQUFlYyxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQvZXNtL0N1YmVJY29uLmpzPzNlNmMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBDdWJlSWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDIwIDIwXCIsXG4gICAgZmlsbDogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgZDogXCJNMTAuMzYyIDEuMDkzYS43NS43NSAwIDAgMC0uNzI0IDBMMi41MjMgNS4wMTggMTAgOS4xNDNsNy40NzctNC4xMjUtNy4xMTUtMy45MjVaTTE4IDYuNDQzbC03LjI1IDR2OC4yNWw2Ljg2Mi0zLjc4NkEuNzUuNzUgMCAwIDAgMTggMTQuMjVWNi40NDNaTTkuMjUgMTguNjkzdi04LjI1bC03LjI1LTR2Ny44MDdhLjc1Ljc1IDAgMCAwIC4zODguNjU3bDYuODYyIDMuNzg2WlwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoQ3ViZUljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJDdWJlSWNvbiIsInRpdGxlIiwidGl0bGVJZCIsInByb3BzIiwic3ZnUmVmIiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJyZWYiLCJpZCIsImQiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/CubeIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/DocumentMagnifyingGlassIcon.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/DocumentMagnifyingGlassIcon.js ***! - \***********************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction DocumentMagnifyingGlassIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M8 10a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\"\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4.5 2A1.5 1.5 0 0 0 3 3.5v13A1.5 1.5 0 0 0 4.5 18h11a1.5 1.5 0 0 0 1.5-1.5V7.621a1.5 1.5 0 0 0-.44-1.06l-4.12-4.122A1.5 1.5 0 0 0 11.378 2H4.5Zm5 5a3 3 0 1 0 1.524 5.585l1.196 1.195a.75.75 0 1 0 1.06-1.06l-1.195-1.196A3 3 0 0 0 9.5 7Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(DocumentMagnifyingGlassIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vRG9jdW1lbnRNYWduaWZ5aW5nR2xhc3NJY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQy9CLFNBQVNDLDRCQUE0QixFQUNuQ0MsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLE1BQU07UUFDTixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLUDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RhLElBQUlWO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGMsR0FBRztJQUNMLElBQUksV0FBVyxHQUFFZCxnREFBbUIsQ0FBQyxRQUFRO1FBQzNDZSxVQUFVO1FBQ1ZELEdBQUc7UUFDSEUsVUFBVTtJQUNaO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR2pCLDZDQUFnQixDQUFDQztBQUNsRCxpRUFBZWdCLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vRG9jdW1lbnRNYWduaWZ5aW5nR2xhc3NJY29uLmpzPzAxNDQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBEb2N1bWVudE1hZ25pZnlpbmdHbGFzc0ljb24oe1xuICB0aXRsZSxcbiAgdGl0bGVJZCxcbiAgLi4ucHJvcHNcbn0sIHN2Z1JlZikge1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwgT2JqZWN0LmFzc2lnbih7XG4gICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICB2aWV3Qm94OiBcIjAgMCAyMCAyMFwiLFxuICAgIGZpbGw6IFwiY3VycmVudENvbG9yXCIsXG4gICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbiAgICBcImRhdGEtc2xvdFwiOiBcImljb25cIixcbiAgICByZWY6IHN2Z1JlZixcbiAgICBcImFyaWEtbGFiZWxsZWRieVwiOiB0aXRsZUlkXG4gIH0sIHByb3BzKSwgdGl0bGUgPyAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInRpdGxlXCIsIHtcbiAgICBpZDogdGl0bGVJZFxuICB9LCB0aXRsZSkgOiBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIGQ6IFwiTTggMTBhMS41IDEuNSAwIDEgMSAzIDAgMS41IDEuNSAwIDAgMS0zIDBaXCJcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgIGQ6IFwiTTQuNSAyQTEuNSAxLjUgMCAwIDAgMyAzLjV2MTNBMS41IDEuNSAwIDAgMCA0LjUgMThoMTFhMS41IDEuNSAwIDAgMCAxLjUtMS41VjcuNjIxYTEuNSAxLjUgMCAwIDAtLjQ0LTEuMDZsLTQuMTItNC4xMjJBMS41IDEuNSAwIDAgMCAxMS4zNzggMkg0LjVabTUgNWEzIDMgMCAxIDAgMS41MjQgNS41ODVsMS4xOTYgMS4xOTVhLjc1Ljc1IDAgMSAwIDEuMDYtMS4wNmwtMS4xOTUtMS4xOTZBMyAzIDAgMCAwIDkuNSA3WlwiLFxuICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKERvY3VtZW50TWFnbmlmeWluZ0dsYXNzSWNvbik7XG5leHBvcnQgZGVmYXVsdCBGb3J3YXJkUmVmOyJdLCJuYW1lcyI6WyJSZWFjdCIsIkRvY3VtZW50TWFnbmlmeWluZ0dsYXNzSWNvbiIsInRpdGxlIiwidGl0bGVJZCIsInByb3BzIiwic3ZnUmVmIiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJyZWYiLCJpZCIsImQiLCJmaWxsUnVsZSIsImNsaXBSdWxlIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/DocumentMagnifyingGlassIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/FilmIcon.js": -/*!****************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/FilmIcon.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction FilmIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M1 4.75C1 3.784 1.784 3 2.75 3h14.5c.966 0 1.75.784 1.75 1.75v10.515a1.75 1.75 0 0 1-1.75 1.75h-1.5c-.078 0-.155-.005-.23-.015H4.48c-.075.01-.152.015-.23.015h-1.5A1.75 1.75 0 0 1 1 15.265V4.75Zm16.5 7.385V11.01a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25v1.125c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25Zm0 2.005a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25v1.125c0 .108.069.2.165.235h1.585a.25.25 0 0 0 .25-.25v-1.11Zm-15 1.11v-1.11a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v1.125a.25.25 0 0 1-.164.235H2.75a.25.25 0 0 1-.25-.25Zm2-4.24v1.125a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25V11.01a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25Zm13-2.005V7.88a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25v1.125c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25ZM4.25 7.63a.25.25 0 0 1 .25.25v1.125a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25V7.88a.25.25 0 0 1 .25-.25h1.5Zm0-3.13a.25.25 0 0 1 .25.25v1.125a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25V4.75a.25.25 0 0 1 .25-.25h1.5Zm11.5 1.625a.25.25 0 0 1-.25-.25V4.75a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v1.125a.25.25 0 0 1-.25.25h-1.5Zm-9 3.125a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(FilmIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vRmlsbUljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0I7QUFDL0IsU0FBU0MsU0FBUyxFQUNoQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLE1BQU07UUFDTixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLUDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RhLElBQUlWO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGMsVUFBVTtRQUNWQyxHQUFHO1FBQ0hDLFVBQVU7SUFDWjtBQUNGO0FBQ0EsTUFBTUMsYUFBYSxXQUFXLEdBQUdqQiw2Q0FBZ0IsQ0FBQ0M7QUFDbEQsaUVBQWVnQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQvZXNtL0ZpbG1JY29uLmpzPzQ1NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBGaWxtSWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDIwIDIwXCIsXG4gICAgZmlsbDogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgIGQ6IFwiTTEgNC43NUMxIDMuNzg0IDEuNzg0IDMgMi43NSAzaDE0LjVjLjk2NiAwIDEuNzUuNzg0IDEuNzUgMS43NXYxMC41MTVhMS43NSAxLjc1IDAgMCAxLTEuNzUgMS43NWgtMS41Yy0uMDc4IDAtLjE1NS0uMDA1LS4yMy0uMDE1SDQuNDhjLS4wNzUuMDEtLjE1Mi4wMTUtLjIzLjAxNWgtMS41QTEuNzUgMS43NSAwIDAgMSAxIDE1LjI2NVY0Ljc1Wm0xNi41IDcuMzg1VjExLjAxYS4yNS4yNSAwIDAgMC0uMjUtLjI1aC0xLjVhLjI1LjI1IDAgMCAwLS4yNS4yNXYxLjEyNWMwIC4xMzguMTEyLjI1LjI1LjI1aDEuNWEuMjUuMjUgMCAwIDAgLjI1LS4yNVptMCAyLjAwNWEuMjUuMjUgMCAwIDAtLjI1LS4yNWgtMS41YS4yNS4yNSAwIDAgMC0uMjUuMjV2MS4xMjVjMCAuMTA4LjA2OS4yLjE2NS4yMzVoMS41ODVhLjI1LjI1IDAgMCAwIC4yNS0uMjV2LTEuMTFabS0xNSAxLjExdi0xLjExYS4yNS4yNSAwIDAgMSAuMjUtLjI1aDEuNWEuMjUuMjUgMCAwIDEgLjI1LjI1djEuMTI1YS4yNS4yNSAwIDAgMS0uMTY0LjIzNUgyLjc1YS4yNS4yNSAwIDAgMS0uMjUtLjI1Wm0yLTQuMjR2MS4xMjVhLjI1LjI1IDAgMCAxLS4yNS4yNWgtMS41YS4yNS4yNSAwIDAgMS0uMjUtLjI1VjExLjAxYS4yNS4yNSAwIDAgMSAuMjUtLjI1aDEuNWEuMjUuMjUgMCAwIDEgLjI1LjI1Wm0xMy0yLjAwNVY3Ljg4YS4yNS4yNSAwIDAgMC0uMjUtLjI1aC0xLjVhLjI1LjI1IDAgMCAwLS4yNS4yNXYxLjEyNWMwIC4xMzguMTEyLjI1LjI1LjI1aDEuNWEuMjUuMjUgMCAwIDAgLjI1LS4yNVpNNC4yNSA3LjYzYS4yNS4yNSAwIDAgMSAuMjUuMjV2MS4xMjVhLjI1LjI1IDAgMCAxLS4yNS4yNWgtMS41YS4yNS4yNSAwIDAgMS0uMjUtLjI1VjcuODhhLjI1LjI1IDAgMCAxIC4yNS0uMjVoMS41Wm0wLTMuMTNhLjI1LjI1IDAgMCAxIC4yNS4yNXYxLjEyNWEuMjUuMjUgMCAwIDEtLjI1LjI1aC0xLjVhLjI1LjI1IDAgMCAxLS4yNS0uMjVWNC43NWEuMjUuMjUgMCAwIDEgLjI1LS4yNWgxLjVabTExLjUgMS42MjVhLjI1LjI1IDAgMCAxLS4yNS0uMjVWNC43NWEuMjUuMjUgMCAwIDEgLjI1LS4yNWgxLjVhLjI1LjI1IDAgMCAxIC4yNS4yNXYxLjEyNWEuMjUuMjUgMCAwIDEtLjI1LjI1aC0xLjVabS05IDMuMTI1YS43NS43NSAwIDAgMCAwIDEuNWg2LjVhLjc1Ljc1IDAgMCAwIDAtMS41aC02LjVaXCIsXG4gICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoRmlsbUljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJGaWxtSWNvbiIsInRpdGxlIiwidGl0bGVJZCIsInByb3BzIiwic3ZnUmVmIiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJyZWYiLCJpZCIsImZpbGxSdWxlIiwiZCIsImNsaXBSdWxlIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/FilmIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/GlobeAltIcon.js": -/*!********************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/GlobeAltIcon.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction GlobeAltIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M16.555 5.412a8.028 8.028 0 0 0-3.503-2.81 14.899 14.899 0 0 1 1.663 4.472 8.547 8.547 0 0 0 1.84-1.662ZM13.326 7.825a13.43 13.43 0 0 0-2.413-5.773 8.087 8.087 0 0 0-1.826 0 13.43 13.43 0 0 0-2.413 5.773A8.473 8.473 0 0 0 10 8.5c1.18 0 2.304-.24 3.326-.675ZM6.514 9.376A9.98 9.98 0 0 0 10 10c1.226 0 2.4-.22 3.486-.624a13.54 13.54 0 0 1-.351 3.759A13.54 13.54 0 0 1 10 13.5c-1.079 0-2.128-.127-3.134-.366a13.538 13.538 0 0 1-.352-3.758ZM5.285 7.074a14.9 14.9 0 0 1 1.663-4.471 8.028 8.028 0 0 0-3.503 2.81c.529.638 1.149 1.199 1.84 1.66ZM17.334 6.798a7.973 7.973 0 0 1 .614 4.115 13.47 13.47 0 0 1-3.178 1.72 15.093 15.093 0 0 0 .174-3.939 10.043 10.043 0 0 0 2.39-1.896ZM2.666 6.798a10.042 10.042 0 0 0 2.39 1.896 15.196 15.196 0 0 0 .174 3.94 13.472 13.472 0 0 1-3.178-1.72 7.973 7.973 0 0 1 .615-4.115ZM10 15c.898 0 1.778-.079 2.633-.23a13.473 13.473 0 0 1-1.72 3.178 8.099 8.099 0 0 1-1.826 0 13.47 13.47 0 0 1-1.72-3.178c.855.151 1.735.23 2.633.23ZM14.357 14.357a14.912 14.912 0 0 1-1.305 3.04 8.027 8.027 0 0 0 4.345-4.345c-.953.542-1.971.981-3.04 1.305ZM6.948 17.397a8.027 8.027 0 0 1-4.345-4.345c.953.542 1.971.981 3.04 1.305a14.912 14.912 0 0 0 1.305 3.04Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(GlobeAltIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vR2xvYmVBbHRJY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQy9CLFNBQVNDLGFBQWEsRUFDcEJDLEtBQUssRUFDTEMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osRUFBRUMsTUFBTTtJQUNQLE9BQU8sV0FBVyxHQUFFTCxnREFBbUIsQ0FBQyxPQUFPTyxPQUFPQyxNQUFNLENBQUM7UUFDM0RDLE9BQU87UUFDUEMsU0FBUztRQUNUQyxNQUFNO1FBQ04sZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1A7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEYSxJQUFJVjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRjLEdBQUc7SUFDTDtBQUNGO0FBQ0EsTUFBTUMsYUFBYSxXQUFXLEdBQUdmLDZDQUFnQixDQUFDQztBQUNsRCxpRUFBZWMsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkL2VzbS9HbG9iZUFsdEljb24uanM/MWRhNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIEdsb2JlQWx0SWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDIwIDIwXCIsXG4gICAgZmlsbDogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgZDogXCJNMTYuNTU1IDUuNDEyYTguMDI4IDguMDI4IDAgMCAwLTMuNTAzLTIuODEgMTQuODk5IDE0Ljg5OSAwIDAgMSAxLjY2MyA0LjQ3MiA4LjU0NyA4LjU0NyAwIDAgMCAxLjg0LTEuNjYyWk0xMy4zMjYgNy44MjVhMTMuNDMgMTMuNDMgMCAwIDAtMi40MTMtNS43NzMgOC4wODcgOC4wODcgMCAwIDAtMS44MjYgMCAxMy40MyAxMy40MyAwIDAgMC0yLjQxMyA1Ljc3M0E4LjQ3MyA4LjQ3MyAwIDAgMCAxMCA4LjVjMS4xOCAwIDIuMzA0LS4yNCAzLjMyNi0uNjc1Wk02LjUxNCA5LjM3NkE5Ljk4IDkuOTggMCAwIDAgMTAgMTBjMS4yMjYgMCAyLjQtLjIyIDMuNDg2LS42MjRhMTMuNTQgMTMuNTQgMCAwIDEtLjM1MSAzLjc1OUExMy41NCAxMy41NCAwIDAgMSAxMCAxMy41Yy0xLjA3OSAwLTIuMTI4LS4xMjctMy4xMzQtLjM2NmExMy41MzggMTMuNTM4IDAgMCAxLS4zNTItMy43NThaTTUuMjg1IDcuMDc0YTE0LjkgMTQuOSAwIDAgMSAxLjY2My00LjQ3MSA4LjAyOCA4LjAyOCAwIDAgMC0zLjUwMyAyLjgxYy41MjkuNjM4IDEuMTQ5IDEuMTk5IDEuODQgMS42NlpNMTcuMzM0IDYuNzk4YTcuOTczIDcuOTczIDAgMCAxIC42MTQgNC4xMTUgMTMuNDcgMTMuNDcgMCAwIDEtMy4xNzggMS43MiAxNS4wOTMgMTUuMDkzIDAgMCAwIC4xNzQtMy45MzkgMTAuMDQzIDEwLjA0MyAwIDAgMCAyLjM5LTEuODk2Wk0yLjY2NiA2Ljc5OGExMC4wNDIgMTAuMDQyIDAgMCAwIDIuMzkgMS44OTYgMTUuMTk2IDE1LjE5NiAwIDAgMCAuMTc0IDMuOTQgMTMuNDcyIDEzLjQ3MiAwIDAgMS0zLjE3OC0xLjcyIDcuOTczIDcuOTczIDAgMCAxIC42MTUtNC4xMTVaTTEwIDE1Yy44OTggMCAxLjc3OC0uMDc5IDIuNjMzLS4yM2ExMy40NzMgMTMuNDczIDAgMCAxLTEuNzIgMy4xNzggOC4wOTkgOC4wOTkgMCAwIDEtMS44MjYgMCAxMy40NyAxMy40NyAwIDAgMS0xLjcyLTMuMTc4Yy44NTUuMTUxIDEuNzM1LjIzIDIuNjMzLjIzWk0xNC4zNTcgMTQuMzU3YTE0LjkxMiAxNC45MTIgMCAwIDEtMS4zMDUgMy4wNCA4LjAyNyA4LjAyNyAwIDAgMCA0LjM0NS00LjM0NWMtLjk1My41NDItMS45NzEuOTgxLTMuMDQgMS4zMDVaTTYuOTQ4IDE3LjM5N2E4LjAyNyA4LjAyNyAwIDAgMS00LjM0NS00LjM0NWMuOTUzLjU0MiAxLjk3MS45ODEgMy4wNCAxLjMwNWExNC45MTIgMTQuOTEyIDAgMCAwIDEuMzA1IDMuMDRaXCJcbiAgfSkpO1xufVxuY29uc3QgRm9yd2FyZFJlZiA9IC8qI19fUFVSRV9fKi8gUmVhY3QuZm9yd2FyZFJlZihHbG9iZUFsdEljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJHbG9iZUFsdEljb24iLCJ0aXRsZSIsInRpdGxlSWQiLCJwcm9wcyIsInN2Z1JlZiIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwicmVmIiwiaWQiLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/GlobeAltIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/LockClosedIcon.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/LockClosedIcon.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction LockClosedIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M10 1a4.5 4.5 0 0 0-4.5 4.5V9H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2h-.5V5.5A4.5 4.5 0 0 0 10 1Zm3 8V5.5a3 3 0 1 0-6 0V9h6Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(LockClosedIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vTG9ja0Nsb3NlZEljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0I7QUFDL0IsU0FBU0MsZUFBZSxFQUN0QkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLE1BQU07UUFDTixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLUDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RhLElBQUlWO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGMsVUFBVTtRQUNWQyxHQUFHO1FBQ0hDLFVBQVU7SUFDWjtBQUNGO0FBQ0EsTUFBTUMsYUFBYSxXQUFXLEdBQUdqQiw2Q0FBZ0IsQ0FBQ0M7QUFDbEQsaUVBQWVnQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQvZXNtL0xvY2tDbG9zZWRJY29uLmpzPzVhNjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBMb2NrQ2xvc2VkSWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDIwIDIwXCIsXG4gICAgZmlsbDogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgIGQ6IFwiTTEwIDFhNC41IDQuNSAwIDAgMC00LjUgNC41VjlINWEyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMmgxMGEyIDIgMCAwIDAgMi0ydi02YTIgMiAwIDAgMC0yLTJoLS41VjUuNUE0LjUgNC41IDAgMCAwIDEwIDFabTMgOFY1LjVhMyAzIDAgMSAwLTYgMFY5aDZaXCIsXG4gICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoTG9ja0Nsb3NlZEljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJMb2NrQ2xvc2VkSWNvbiIsInRpdGxlIiwidGl0bGVJZCIsInByb3BzIiwic3ZnUmVmIiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJyZWYiLCJpZCIsImZpbGxSdWxlIiwiZCIsImNsaXBSdWxlIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/LockClosedIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/MicrophoneIcon.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/MicrophoneIcon.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction MicrophoneIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M7 4a3 3 0 0 1 6 0v6a3 3 0 1 1-6 0V4Z\"\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M5.5 9.643a.75.75 0 0 0-1.5 0V10c0 3.06 2.29 5.585 5.25 5.954V17.5h-1.5a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-1.5v-1.546A6.001 6.001 0 0 0 16 10v-.357a.75.75 0 0 0-1.5 0V10a4.5 4.5 0 0 1-9 0v-.357Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(MicrophoneIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vTWljcm9waG9uZUljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0I7QUFDL0IsU0FBU0MsZUFBZSxFQUN0QkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLE1BQU07UUFDTixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLUDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RhLElBQUlWO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGMsR0FBRztJQUNMLElBQUksV0FBVyxHQUFFZCxnREFBbUIsQ0FBQyxRQUFRO1FBQzNDYyxHQUFHO0lBQ0w7QUFDRjtBQUNBLE1BQU1DLGFBQWEsV0FBVyxHQUFHZiw2Q0FBZ0IsQ0FBQ0M7QUFDbEQsaUVBQWVjLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vTWljcm9waG9uZUljb24uanM/NjNkYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIE1pY3JvcGhvbmVJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjAgMjBcIixcbiAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBkOiBcIk03IDRhMyAzIDAgMCAxIDYgMHY2YTMgMyAwIDEgMS02IDBWNFpcIlxuICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBkOiBcIk01LjUgOS42NDNhLjc1Ljc1IDAgMCAwLTEuNSAwVjEwYzAgMy4wNiAyLjI5IDUuNTg1IDUuMjUgNS45NTRWMTcuNWgtMS41YS43NS43NSAwIDAgMCAwIDEuNWg0LjVhLjc1Ljc1IDAgMCAwIDAtMS41aC0xLjV2LTEuNTQ2QTYuMDAxIDYuMDAxIDAgMCAwIDE2IDEwdi0uMzU3YS43NS43NSAwIDAgMC0xLjUgMFYxMGE0LjUgNC41IDAgMCAxLTkgMHYtLjM1N1pcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKE1pY3JvcGhvbmVJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiTWljcm9waG9uZUljb24iLCJ0aXRsZSIsInRpdGxlSWQiLCJwcm9wcyIsInN2Z1JlZiIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwicmVmIiwiaWQiLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/MicrophoneIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/RocketLaunchIcon.js": -/*!************************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/RocketLaunchIcon.js ***! - \************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction RocketLaunchIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4.606 12.97a.75.75 0 0 1-.134 1.051 2.494 2.494 0 0 0-.93 2.437 2.494 2.494 0 0 0 2.437-.93.75.75 0 1 1 1.186.918 3.995 3.995 0 0 1-4.482 1.332.75.75 0 0 1-.461-.461 3.994 3.994 0 0 1 1.332-4.482.75.75 0 0 1 1.052.134Z\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M5.752 12A13.07 13.07 0 0 0 8 14.248v4.002c0 .414.336.75.75.75a5 5 0 0 0 4.797-6.414 12.984 12.984 0 0 0 5.45-10.848.75.75 0 0 0-.735-.735 12.984 12.984 0 0 0-10.849 5.45A5 5 0 0 0 1 11.25c.001.414.337.75.751.75h4.002ZM13 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(RocketLaunchIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vUm9ja2V0TGF1bmNoSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQjtBQUMvQixTQUFTQyxpQkFBaUIsRUFDeEJDLEtBQUssRUFDTEMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osRUFBRUMsTUFBTTtJQUNQLE9BQU8sV0FBVyxHQUFFTCxnREFBbUIsQ0FBQyxPQUFPTyxPQUFPQyxNQUFNLENBQUM7UUFDM0RDLE9BQU87UUFDUEMsU0FBUztRQUNUQyxNQUFNO1FBQ04sZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1A7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEYSxJQUFJVjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRjLFVBQVU7UUFDVkMsR0FBRztRQUNIQyxVQUFVO0lBQ1osSUFBSSxXQUFXLEdBQUVoQixnREFBbUIsQ0FBQyxRQUFRO1FBQzNDYyxVQUFVO1FBQ1ZDLEdBQUc7UUFDSEMsVUFBVTtJQUNaO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR2pCLDZDQUFnQixDQUFDQztBQUNsRCxpRUFBZWdCLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vUm9ja2V0TGF1bmNoSWNvbi5qcz9lOGQyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gUm9ja2V0TGF1bmNoSWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDIwIDIwXCIsXG4gICAgZmlsbDogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgIGQ6IFwiTTQuNjA2IDEyLjk3YS43NS43NSAwIDAgMS0uMTM0IDEuMDUxIDIuNDk0IDIuNDk0IDAgMCAwLS45MyAyLjQzNyAyLjQ5NCAyLjQ5NCAwIDAgMCAyLjQzNy0uOTMuNzUuNzUgMCAxIDEgMS4xODYuOTE4IDMuOTk1IDMuOTk1IDAgMCAxLTQuNDgyIDEuMzMyLjc1Ljc1IDAgMCAxLS40NjEtLjQ2MSAzLjk5NCAzLjk5NCAwIDAgMSAxLjMzMi00LjQ4Mi43NS43NSAwIDAgMSAxLjA1Mi4xMzRaXCIsXG4gICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiXG4gIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICBkOiBcIk01Ljc1MiAxMkExMy4wNyAxMy4wNyAwIDAgMCA4IDE0LjI0OHY0LjAwMmMwIC40MTQuMzM2Ljc1Ljc1Ljc1YTUgNSAwIDAgMCA0Ljc5Ny02LjQxNCAxMi45ODQgMTIuOTg0IDAgMCAwIDUuNDUtMTAuODQ4Ljc1Ljc1IDAgMCAwLS43MzUtLjczNSAxMi45ODQgMTIuOTg0IDAgMCAwLTEwLjg0OSA1LjQ1QTUgNSAwIDAgMCAxIDExLjI1Yy4wMDEuNDE0LjMzNy43NS43NTEuNzVoNC4wMDJaTTEzIDlhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0WlwiLFxuICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKFJvY2tldExhdW5jaEljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJSb2NrZXRMYXVuY2hJY29uIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJzdmdSZWYiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInJlZiIsImlkIiwiZmlsbFJ1bGUiLCJkIiwiY2xpcFJ1bGUiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/RocketLaunchIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/ServerIcon.js": -/*!******************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/ServerIcon.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction ServerIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M4.632 3.533A2 2 0 0 1 6.577 2h6.846a2 2 0 0 1 1.945 1.533l1.976 8.234A3.489 3.489 0 0 0 16 11.5H4c-.476 0-.93.095-1.344.267l1.976-8.234Z\"\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4 13a2 2 0 1 0 0 4h12a2 2 0 1 0 0-4H4Zm11.24 2a.75.75 0 0 1 .75-.75H16a.75.75 0 0 1 .75.75v.01a.75.75 0 0 1-.75.75h-.01a.75.75 0 0 1-.75-.75V15Zm-2.25-.75a.75.75 0 0 0-.75.75v.01c0 .414.336.75.75.75H13a.75.75 0 0 0 .75-.75V15a.75.75 0 0 0-.75-.75h-.01Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(ServerIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vU2VydmVySWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQjtBQUMvQixTQUFTQyxXQUFXLEVBQ2xCQyxLQUFLLEVBQ0xDLE9BQU8sRUFDUCxHQUFHQyxPQUNKLEVBQUVDLE1BQU07SUFDUCxPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLFNBQVM7UUFDVEMsTUFBTTtRQUNOLGVBQWU7UUFDZixhQUFhO1FBQ2JDLEtBQUtQO1FBQ0wsbUJBQW1CRjtJQUNyQixHQUFHQyxRQUFRRixRQUFRLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsU0FBUztRQUMzRGEsSUFBSVY7SUFDTixHQUFHRCxTQUFTLE1BQU0sV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxRQUFRO1FBQ3pEYyxHQUFHO0lBQ0wsSUFBSSxXQUFXLEdBQUVkLGdEQUFtQixDQUFDLFFBQVE7UUFDM0NlLFVBQVU7UUFDVkQsR0FBRztRQUNIRSxVQUFVO0lBQ1o7QUFDRjtBQUNBLE1BQU1DLGFBQWEsV0FBVyxHQUFHakIsNkNBQWdCLENBQUNDO0FBQ2xELGlFQUFlZ0IsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkL2VzbS9TZXJ2ZXJJY29uLmpzPzcwMDkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBTZXJ2ZXJJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjAgMjBcIixcbiAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBkOiBcIk00LjYzMiAzLjUzM0EyIDIgMCAwIDEgNi41NzcgMmg2Ljg0NmEyIDIgMCAwIDEgMS45NDUgMS41MzNsMS45NzYgOC4yMzRBMy40ODkgMy40ODkgMCAwIDAgMTYgMTEuNUg0Yy0uNDc2IDAtLjkzLjA5NS0xLjM0NC4yNjdsMS45NzYtOC4yMzRaXCJcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgIGQ6IFwiTTQgMTNhMiAyIDAgMSAwIDAgNGgxMmEyIDIgMCAxIDAgMC00SDRabTExLjI0IDJhLjc1Ljc1IDAgMCAxIC43NS0uNzVIMTZhLjc1Ljc1IDAgMCAxIC43NS43NXYuMDFhLjc1Ljc1IDAgMCAxLS43NS43NWgtLjAxYS43NS43NSAwIDAgMS0uNzUtLjc1VjE1Wm0tMi4yNS0uNzVhLjc1Ljc1IDAgMCAwLS43NS43NXYuMDFjMCAuNDE0LjMzNi43NS43NS43NUgxM2EuNzUuNzUgMCAwIDAgLjc1LS43NVYxNWEuNzUuNzUgMCAwIDAtLjc1LS43NWgtLjAxWlwiLFxuICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKFNlcnZlckljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJTZXJ2ZXJJY29uIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJzdmdSZWYiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInJlZiIsImlkIiwiZCIsImZpbGxSdWxlIiwiY2xpcFJ1bGUiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/ServerIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/ShieldCheckIcon.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/ShieldCheckIcon.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction ShieldCheckIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9.661 2.237a.531.531 0 0 1 .678 0 11.947 11.947 0 0 0 7.078 2.749.5.5 0 0 1 .479.425c.069.52.104 1.05.104 1.59 0 5.162-3.26 9.563-7.834 11.256a.48.48 0 0 1-.332 0C5.26 16.564 2 12.163 2 7c0-.538.035-1.069.104-1.589a.5.5 0 0 1 .48-.425 11.947 11.947 0 0 0 7.077-2.75Zm4.196 5.954a.75.75 0 0 0-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 1 0-1.06 1.061l2.5 2.5a.75.75 0 0 0 1.137-.089l4-5.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(ShieldCheckIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vU2hpZWxkQ2hlY2tJY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQy9CLFNBQVNDLGdCQUFnQixFQUN2QkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLE1BQU07UUFDTixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLUDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RhLElBQUlWO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGMsVUFBVTtRQUNWQyxHQUFHO1FBQ0hDLFVBQVU7SUFDWjtBQUNGO0FBQ0EsTUFBTUMsYUFBYSxXQUFXLEdBQUdqQiw2Q0FBZ0IsQ0FBQ0M7QUFDbEQsaUVBQWVnQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQvZXNtL1NoaWVsZENoZWNrSWNvbi5qcz8zZDFjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gU2hpZWxkQ2hlY2tJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjAgMjBcIixcbiAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgZDogXCJNOS42NjEgMi4yMzdhLjUzMS41MzEgMCAwIDEgLjY3OCAwIDExLjk0NyAxMS45NDcgMCAwIDAgNy4wNzggMi43NDkuNS41IDAgMCAxIC40NzkuNDI1Yy4wNjkuNTIuMTA0IDEuMDUuMTA0IDEuNTkgMCA1LjE2Mi0zLjI2IDkuNTYzLTcuODM0IDExLjI1NmEuNDguNDggMCAwIDEtLjMzMiAwQzUuMjYgMTYuNTY0IDIgMTIuMTYzIDIgN2MwLS41MzguMDM1LTEuMDY5LjEwNC0xLjU4OWEuNS41IDAgMCAxIC40OC0uNDI1IDExLjk0NyAxMS45NDcgMCAwIDAgNy4wNzctMi43NVptNC4xOTYgNS45NTRhLjc1Ljc1IDAgMCAwLTEuMjE0LS44ODJsLTMuNDgzIDQuNzktMS44OC0xLjg4YS43NS43NSAwIDEgMC0xLjA2IDEuMDYxbDIuNSAyLjVhLjc1Ljc1IDAgMCAwIDEuMTM3LS4wODlsNC01LjVaXCIsXG4gICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoU2hpZWxkQ2hlY2tJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiU2hpZWxkQ2hlY2tJY29uIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJzdmdSZWYiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInJlZiIsImlkIiwiZmlsbFJ1bGUiLCJkIiwiY2xpcFJ1bGUiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/ShieldCheckIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/UserGroupIcon.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/UserGroupIcon.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction UserGroupIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M10 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM6 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM1.49 15.326a.78.78 0 0 1-.358-.442 3 3 0 0 1 4.308-3.516 6.484 6.484 0 0 0-1.905 3.959c-.023.222-.014.442.025.654a4.97 4.97 0 0 1-2.07-.655ZM16.44 15.98a4.97 4.97 0 0 0 2.07-.654.78.78 0 0 0 .357-.442 3 3 0 0 0-4.308-3.517 6.484 6.484 0 0 1 1.907 3.96 2.32 2.32 0 0 1-.026.654ZM18 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM5.304 16.19a.844.844 0 0 1-.277-.71 5 5 0 0 1 9.947 0 .843.843 0 0 1-.277.71A6.975 6.975 0 0 1 10 18a6.974 6.974 0 0 1-4.696-1.81Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(UserGroupIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vVXNlckdyb3VwSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQjtBQUMvQixTQUFTQyxjQUFjLEVBQ3JCQyxLQUFLLEVBQ0xDLE9BQU8sRUFDUCxHQUFHQyxPQUNKLEVBQUVDLE1BQU07SUFDUCxPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLFNBQVM7UUFDVEMsTUFBTTtRQUNOLGVBQWU7UUFDZixhQUFhO1FBQ2JDLEtBQUtQO1FBQ0wsbUJBQW1CRjtJQUNyQixHQUFHQyxRQUFRRixRQUFRLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsU0FBUztRQUMzRGEsSUFBSVY7SUFDTixHQUFHRCxTQUFTLE1BQU0sV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxRQUFRO1FBQ3pEYyxHQUFHO0lBQ0w7QUFDRjtBQUNBLE1BQU1DLGFBQWEsV0FBVyxHQUFHZiw2Q0FBZ0IsQ0FBQ0M7QUFDbEQsaUVBQWVjLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vVXNlckdyb3VwSWNvbi5qcz9mZGZhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gVXNlckdyb3VwSWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDIwIDIwXCIsXG4gICAgZmlsbDogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgZDogXCJNMTAgOWEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZaTTYgOGEyIDIgMCAxIDEtNCAwIDIgMiAwIDAgMSA0IDBaTTEuNDkgMTUuMzI2YS43OC43OCAwIDAgMS0uMzU4LS40NDIgMyAzIDAgMCAxIDQuMzA4LTMuNTE2IDYuNDg0IDYuNDg0IDAgMCAwLTEuOTA1IDMuOTU5Yy0uMDIzLjIyMi0uMDE0LjQ0Mi4wMjUuNjU0YTQuOTcgNC45NyAwIDAgMS0yLjA3LS42NTVaTTE2LjQ0IDE1Ljk4YTQuOTcgNC45NyAwIDAgMCAyLjA3LS42NTQuNzguNzggMCAwIDAgLjM1Ny0uNDQyIDMgMyAwIDAgMC00LjMwOC0zLjUxNyA2LjQ4NCA2LjQ4NCAwIDAgMSAxLjkwNyAzLjk2IDIuMzIgMi4zMiAwIDAgMS0uMDI2LjY1NFpNMTggOGEyIDIgMCAxIDEtNCAwIDIgMiAwIDAgMSA0IDBaTTUuMzA0IDE2LjE5YS44NDQuODQ0IDAgMCAxLS4yNzctLjcxIDUgNSAwIDAgMSA5Ljk0NyAwIC44NDMuODQzIDAgMCAxLS4yNzcuNzFBNi45NzUgNi45NzUgMCAwIDEgMTAgMThhNi45NzQgNi45NzQgMCAwIDEtNC42OTYtMS44MVpcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKFVzZXJHcm91cEljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJVc2VyR3JvdXBJY29uIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJzdmdSZWYiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInJlZiIsImlkIiwiZCIsIkZvcndhcmRSZWYiLCJmb3J3YXJkUmVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/UserGroupIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/20/solid/esm/VideoCameraIcon.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@heroicons/react/20/solid/esm/VideoCameraIcon.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction VideoCameraIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M3.25 4A2.25 2.25 0 0 0 1 6.25v7.5A2.25 2.25 0 0 0 3.25 16h7.5A2.25 2.25 0 0 0 13 13.75v-7.5A2.25 2.25 0 0 0 10.75 4h-7.5ZM19 4.75a.75.75 0 0 0-1.28-.53l-3 3a.75.75 0 0 0-.22.53v4.5c0 .199.079.39.22.53l3 3a.75.75 0 0 0 1.28-.53V4.75Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(VideoCameraIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZC9lc20vVmlkZW9DYW1lcmFJY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQy9CLFNBQVNDLGdCQUFnQixFQUN2QkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLE1BQU07UUFDTixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLUDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RhLElBQUlWO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGMsR0FBRztJQUNMO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR2YsNkNBQWdCLENBQUNDO0FBQ2xELGlFQUFlYyxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQvZXNtL1ZpZGVvQ2FtZXJhSWNvbi5qcz9hYzMyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gVmlkZW9DYW1lcmFJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjAgMjBcIixcbiAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBkOiBcIk0zLjI1IDRBMi4yNSAyLjI1IDAgMCAwIDEgNi4yNXY3LjVBMi4yNSAyLjI1IDAgMCAwIDMuMjUgMTZoNy41QTIuMjUgMi4yNSAwIDAgMCAxMyAxMy43NXYtNy41QTIuMjUgMi4yNSAwIDAgMCAxMC43NSA0aC03LjVaTTE5IDQuNzVhLjc1Ljc1IDAgMCAwLTEuMjgtLjUzbC0zIDNhLjc1Ljc1IDAgMCAwLS4yMi41M3Y0LjVjMCAuMTk5LjA3OS4zOS4yMi41M2wzIDNhLjc1Ljc1IDAgMCAwIDEuMjgtLjUzVjQuNzVaXCJcbiAgfSkpO1xufVxuY29uc3QgRm9yd2FyZFJlZiA9IC8qI19fUFVSRV9fKi8gUmVhY3QuZm9yd2FyZFJlZihWaWRlb0NhbWVyYUljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJWaWRlb0NhbWVyYUljb24iLCJ0aXRsZSIsInRpdGxlSWQiLCJwcm9wcyIsInN2Z1JlZiIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwicmVmIiwiaWQiLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/20/solid/esm/VideoCameraIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/24/outline/esm/CalendarIcon.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/CalendarIcon.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction CalendarIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(CalendarIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9DYWxlbmRhckljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0I7QUFDL0IsU0FBU0MsYUFBYSxFQUNwQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFNBQVM7UUFDVEMsYUFBYTtRQUNiQyxRQUFRO1FBQ1IsZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1Q7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEZSxJQUFJWjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRnQixlQUFlO1FBQ2ZDLGdCQUFnQjtRQUNoQkMsR0FBRztJQUNMO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQztBQUNsRCxpRUFBZWtCLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9DYWxlbmRhckljb24uanM/N2NlNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIENhbGVuZGFySWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIGZpbGw6IFwibm9uZVwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgc3Ryb2tlV2lkdGg6IDEuNSxcbiAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbiAgICBcImRhdGEtc2xvdFwiOiBcImljb25cIixcbiAgICByZWY6IHN2Z1JlZixcbiAgICBcImFyaWEtbGFiZWxsZWRieVwiOiB0aXRsZUlkXG4gIH0sIHByb3BzKSwgdGl0bGUgPyAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInRpdGxlXCIsIHtcbiAgICBpZDogdGl0bGVJZFxuICB9LCB0aXRsZSkgOiBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgIGQ6IFwiTTYuNzUgM3YyLjI1TTE3LjI1IDN2Mi4yNU0zIDE4Ljc1VjcuNWEyLjI1IDIuMjUgMCAwIDEgMi4yNS0yLjI1aDEzLjVBMi4yNSAyLjI1IDAgMCAxIDIxIDcuNXYxMS4yNW0tMTggMEEyLjI1IDIuMjUgMCAwIDAgNS4yNSAyMWgxMy41QTIuMjUgMi4yNSAwIDAgMCAyMSAxOC43NW0tMTggMHYtNy41QTIuMjUgMi4yNSAwIDAgMSA1LjI1IDloMTMuNUEyLjI1IDIuMjUgMCAwIDEgMjEgMTEuMjV2Ny41XCJcbiAgfSkpO1xufVxuY29uc3QgRm9yd2FyZFJlZiA9IC8qI19fUFVSRV9fKi8gUmVhY3QuZm9yd2FyZFJlZihDYWxlbmRhckljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJDYWxlbmRhckljb24iLCJ0aXRsZSIsInRpdGxlSWQiLCJwcm9wcyIsInN2Z1JlZiIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJyZWYiLCJpZCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/24/outline/esm/CalendarIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/24/outline/esm/MapPinIcon.js": -/*!********************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/MapPinIcon.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction MapPinIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(MapPinIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9NYXBQaW5JY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQy9CLFNBQVNDLFdBQVcsRUFDbEJDLEtBQUssRUFDTEMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osRUFBRUMsTUFBTTtJQUNQLE9BQU8sV0FBVyxHQUFFTCxnREFBbUIsQ0FBQyxPQUFPTyxPQUFPQyxNQUFNLENBQUM7UUFDM0RDLE9BQU87UUFDUEMsTUFBTTtRQUNOQyxTQUFTO1FBQ1RDLGFBQWE7UUFDYkMsUUFBUTtRQUNSLGVBQWU7UUFDZixhQUFhO1FBQ2JDLEtBQUtUO1FBQ0wsbUJBQW1CRjtJQUNyQixHQUFHQyxRQUFRRixRQUFRLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsU0FBUztRQUMzRGUsSUFBSVo7SUFDTixHQUFHRCxTQUFTLE1BQU0sV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxRQUFRO1FBQ3pEZ0IsZUFBZTtRQUNmQyxnQkFBZ0I7UUFDaEJDLEdBQUc7SUFDTCxJQUFJLFdBQVcsR0FBRWxCLGdEQUFtQixDQUFDLFFBQVE7UUFDM0NnQixlQUFlO1FBQ2ZDLGdCQUFnQjtRQUNoQkMsR0FBRztJQUNMO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQztBQUNsRCxpRUFBZWtCLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9NYXBQaW5JY29uLmpzPzgyOGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBNYXBQaW5JY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgZmlsbDogXCJub25lXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICBzdHJva2VXaWR0aDogMS41LFxuICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgZDogXCJNMTUgMTAuNWEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDBaXCJcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgZDogXCJNMTkuNSAxMC41YzAgNy4xNDItNy41IDExLjI1LTcuNSAxMS4yNVM0LjUgMTcuNjQyIDQuNSAxMC41YTcuNSA3LjUgMCAxIDEgMTUgMFpcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKE1hcFBpbkljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJNYXBQaW5JY29uIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJzdmdSZWYiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicmVmIiwiaWQiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/24/outline/esm/MapPinIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/24/outline/esm/MinusSmallIcon.js": -/*!************************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/MinusSmallIcon.js ***! - \************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\n/** @deprecated */ function MinusSmallIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M18 12H6\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(MinusSmallIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9NaW51c1NtYWxsSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQjtBQUMvQixnQkFBZ0IsR0FDaEIsU0FBU0MsZUFBZSxFQUN0QkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFNBQVM7UUFDVEMsYUFBYTtRQUNiQyxRQUFRO1FBQ1IsZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1Q7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEZSxJQUFJWjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRnQixlQUFlO1FBQ2ZDLGdCQUFnQjtRQUNoQkMsR0FBRztJQUNMO0FBQ0Y7QUFDQSxNQUFNQyxhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQztBQUNsRCxpRUFBZWtCLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9NaW51c1NtYWxsSWNvbi5qcz8yMTAxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuLyoqIEBkZXByZWNhdGVkICovXG5mdW5jdGlvbiBNaW51c1NtYWxsSWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIGZpbGw6IFwibm9uZVwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgc3Ryb2tlV2lkdGg6IDEuNSxcbiAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbiAgICBcImRhdGEtc2xvdFwiOiBcImljb25cIixcbiAgICByZWY6IHN2Z1JlZixcbiAgICBcImFyaWEtbGFiZWxsZWRieVwiOiB0aXRsZUlkXG4gIH0sIHByb3BzKSwgdGl0bGUgPyAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInRpdGxlXCIsIHtcbiAgICBpZDogdGl0bGVJZFxuICB9LCB0aXRsZSkgOiBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgIGQ6IFwiTTE4IDEySDZcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKE1pbnVzU21hbGxJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiTWludXNTbWFsbEljb24iLCJ0aXRsZSIsInRpdGxlSWQiLCJwcm9wcyIsInN2Z1JlZiIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJyZWYiLCJpZCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/24/outline/esm/MinusSmallIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/24/outline/esm/PlusSmallIcon.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/PlusSmallIcon.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\n/** @deprecated */ function PlusSmallIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 6v12m6-6H6\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(PlusSmallIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9QbHVzU21hbGxJY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQy9CLGdCQUFnQixHQUNoQixTQUFTQyxjQUFjLEVBQ3JCQyxLQUFLLEVBQ0xDLE9BQU8sRUFDUCxHQUFHQyxPQUNKLEVBQUVDLE1BQU07SUFDUCxPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxhQUFhO1FBQ2JDLFFBQVE7UUFDUixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLVDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RlLElBQUlaO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGdCLGVBQWU7UUFDZkMsZ0JBQWdCO1FBQ2hCQyxHQUFHO0lBQ0w7QUFDRjtBQUNBLE1BQU1DLGFBQWEsV0FBVyxHQUFHbkIsNkNBQWdCLENBQUNDO0FBQ2xELGlFQUFla0IsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL1BsdXNTbWFsbEljb24uanM/NmM0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZnVuY3Rpb24gUGx1c1NtYWxsSWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIGZpbGw6IFwibm9uZVwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgc3Ryb2tlV2lkdGg6IDEuNSxcbiAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbiAgICBcImRhdGEtc2xvdFwiOiBcImljb25cIixcbiAgICByZWY6IHN2Z1JlZixcbiAgICBcImFyaWEtbGFiZWxsZWRieVwiOiB0aXRsZUlkXG4gIH0sIHByb3BzKSwgdGl0bGUgPyAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInRpdGxlXCIsIHtcbiAgICBpZDogdGl0bGVJZFxuICB9LCB0aXRsZSkgOiBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgIGQ6IFwiTTEyIDZ2MTJtNi02SDZcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKFBsdXNTbWFsbEljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJQbHVzU21hbGxJY29uIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJzdmdSZWYiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicmVmIiwiaWQiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/24/outline/esm/PlusSmallIcon.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@heroicons/react/24/outline/esm/TicketIcon.js": -/*!********************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/TicketIcon.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction TicketIcon({ title, titleId, ...props }, svgRef) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M16.5 6v.75m0 3v.75m0 3v.75m0 3V18m-9-5.25h5.25M7.5 15h3M3.375 5.25c-.621 0-1.125.504-1.125 1.125v3.026a2.999 2.999 0 0 1 0 5.198v3.026c0 .621.504 1.125 1.125 1.125h17.25c.621 0 1.125-.504 1.125-1.125v-3.026a2.999 2.999 0 0 1 0-5.198V6.375c0-.621-.504-1.125-1.125-1.125H3.375Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(TicketIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9UaWNrZXRJY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQy9CLFNBQVNDLFdBQVcsRUFDbEJDLEtBQUssRUFDTEMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osRUFBRUMsTUFBTTtJQUNQLE9BQU8sV0FBVyxHQUFFTCxnREFBbUIsQ0FBQyxPQUFPTyxPQUFPQyxNQUFNLENBQUM7UUFDM0RDLE9BQU87UUFDUEMsTUFBTTtRQUNOQyxTQUFTO1FBQ1RDLGFBQWE7UUFDYkMsUUFBUTtRQUNSLGVBQWU7UUFDZixhQUFhO1FBQ2JDLEtBQUtUO1FBQ0wsbUJBQW1CRjtJQUNyQixHQUFHQyxRQUFRRixRQUFRLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsU0FBUztRQUMzRGUsSUFBSVo7SUFDTixHQUFHRCxTQUFTLE1BQU0sV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxRQUFRO1FBQ3pEZ0IsZUFBZTtRQUNmQyxnQkFBZ0I7UUFDaEJDLEdBQUc7SUFDTDtBQUNGO0FBQ0EsTUFBTUMsYUFBYSxXQUFXLEdBQUduQiw2Q0FBZ0IsQ0FBQ0M7QUFDbEQsaUVBQWVrQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0BoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZS9lc20vVGlja2V0SWNvbi5qcz82YjI5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gVGlja2V0SWNvbih7XG4gIHRpdGxlLFxuICB0aXRsZUlkLFxuICAuLi5wcm9wc1xufSwgc3ZnUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBPYmplY3QuYXNzaWduKHtcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgIGZpbGw6IFwibm9uZVwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgc3Ryb2tlV2lkdGg6IDEuNSxcbiAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbiAgICBcImRhdGEtc2xvdFwiOiBcImljb25cIixcbiAgICByZWY6IHN2Z1JlZixcbiAgICBcImFyaWEtbGFiZWxsZWRieVwiOiB0aXRsZUlkXG4gIH0sIHByb3BzKSwgdGl0bGUgPyAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInRpdGxlXCIsIHtcbiAgICBpZDogdGl0bGVJZFxuICB9LCB0aXRsZSkgOiBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgIGQ6IFwiTTE2LjUgNnYuNzVtMCAzdi43NW0wIDN2Ljc1bTAgM1YxOG0tOS01LjI1aDUuMjVNNy41IDE1aDNNMy4zNzUgNS4yNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYzLjAyNmEyLjk5OSAyLjk5OSAwIDAgMSAwIDUuMTk4djMuMDI2YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoMTcuMjVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjV2LTMuMDI2YTIuOTk5IDIuOTk5IDAgMCAxIDAtNS4xOThWNi4zNzVjMC0uNjIxLS41MDQtMS4xMjUtMS4xMjUtMS4xMjVIMy4zNzVaXCJcbiAgfSkpO1xufVxuY29uc3QgRm9yd2FyZFJlZiA9IC8qI19fUFVSRV9fKi8gUmVhY3QuZm9yd2FyZFJlZihUaWNrZXRJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiVGlja2V0SWNvbiIsInRpdGxlIiwidGl0bGVJZCIsInByb3BzIiwic3ZnUmVmIiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInJlZiIsImlkIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsIkZvcndhcmRSZWYiLCJmb3J3YXJkUmVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/24/outline/esm/TicketIcon.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/@react-aria.js b/.next/server/vendor-chunks/@react-aria.js deleted file mode 100644 index 8c39040..0000000 --- a/.next/server/vendor-chunks/@react-aria.js +++ /dev/null @@ -1,135 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/@react-aria"; -exports.ids = ["vendor-chunks/@react-aria"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs": -/*!**************************************************************!*\ - !*** ./node_modules/@react-aria/focus/dist/useFocusRing.mjs ***! - \**************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocusRing: () => (/* binding */ $f7dceffc5ad7768b$export$4e328f61c538687f)\n/* harmony export */ });\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/interactions */ \"(ssr)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/interactions */ \"(ssr)/./node_modules/@react-aria/interactions/dist/useFocus.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/interactions */ \"(ssr)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\n\n\n\n\nfunction $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__.isFocusVisible)()\n });\n let [isFocused, setFocused] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__.useFocusVisibleListener)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [], {\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_2__.useFocus)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_3__.useFocusWithin)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\n\n//# sourceMappingURL=useFocusRing.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvZm9jdXMvZGlzdC91c2VGb2N1c1JpbmcubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWtOO0FBQ3BHOzs7O0FBSTlHLDZEQUE2RDtBQUM3RCxVQUFVLHlFQUF5RTtBQUNuRixvQkFBb0IseUNBQWE7QUFDakM7QUFDQSx5Q0FBeUMsb0VBQXFCO0FBQzlELEtBQUs7QUFDTCxzQ0FBc0MsMkNBQWU7QUFDckQscURBQXFELDJDQUFlO0FBQ3BFLDBCQUEwQiw4Q0FBa0I7QUFDNUMsNEJBQTRCLDhDQUFrQjtBQUM5QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLFFBQVEsNkVBQThCO0FBQ3RDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0wsVUFBVSx5QkFBeUIsTUFBTSw4REFBZTtBQUN4RDtBQUNBO0FBQ0EsS0FBSztBQUNMLFVBQVUscUNBQXFDLE1BQU0sb0VBQXFCO0FBQzFFO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHbUU7QUFDbkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvZm9jdXMvZGlzdC91c2VGb2N1c1JpbmcubWpzPzNiNTEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0ZvY3VzVmlzaWJsZSBhcyAkaXNXRTUkaXNGb2N1c1Zpc2libGUsIHVzZUZvY3VzVmlzaWJsZUxpc3RlbmVyIGFzICRpc1dFNSR1c2VGb2N1c1Zpc2libGVMaXN0ZW5lciwgdXNlRm9jdXMgYXMgJGlzV0U1JHVzZUZvY3VzLCB1c2VGb2N1c1dpdGhpbiBhcyAkaXNXRTUkdXNlRm9jdXNXaXRoaW59IGZyb20gXCJAcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnNcIjtcbmltcG9ydCB7dXNlUmVmIGFzICRpc1dFNSR1c2VSZWYsIHVzZVN0YXRlIGFzICRpc1dFNSR1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgYXMgJGlzV0U1JHVzZUNhbGxiYWNrfSBmcm9tIFwicmVhY3RcIjtcblxuXG5cbmZ1bmN0aW9uICRmN2RjZWZmYzVhZDc3NjhiJGV4cG9ydCQ0ZTMyOGY2MWM1Mzg2ODdmKHByb3BzID0ge30pIHtcbiAgICBsZXQgeyBhdXRvRm9jdXM6IGF1dG9Gb2N1cyA9IGZhbHNlLCBpc1RleHRJbnB1dDogaXNUZXh0SW5wdXQsIHdpdGhpbjogd2l0aGluIH0gPSBwcm9wcztcbiAgICBsZXQgc3RhdGUgPSAoMCwgJGlzV0U1JHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzZWQ6IGZhbHNlLFxuICAgICAgICBpc0ZvY3VzVmlzaWJsZTogYXV0b0ZvY3VzIHx8ICgwLCAkaXNXRTUkaXNGb2N1c1Zpc2libGUpKClcbiAgICB9KTtcbiAgICBsZXQgW2lzRm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSAoMCwgJGlzV0U1JHVzZVN0YXRlKShmYWxzZSk7XG4gICAgbGV0IFtpc0ZvY3VzVmlzaWJsZVN0YXRlLCBzZXRGb2N1c1Zpc2libGVdID0gKDAsICRpc1dFNSR1c2VTdGF0ZSkoKCk9PnN0YXRlLmN1cnJlbnQuaXNGb2N1c2VkICYmIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1Zpc2libGUpO1xuICAgIGxldCB1cGRhdGVTdGF0ZSA9ICgwLCAkaXNXRTUkdXNlQ2FsbGJhY2spKCgpPT5zZXRGb2N1c1Zpc2libGUoc3RhdGUuY3VycmVudC5pc0ZvY3VzZWQgJiYgc3RhdGUuY3VycmVudC5pc0ZvY3VzVmlzaWJsZSksIFtdKTtcbiAgICBsZXQgb25Gb2N1c0NoYW5nZSA9ICgwLCAkaXNXRTUkdXNlQ2FsbGJhY2spKChpc0ZvY3VzZWQpPT57XG4gICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgICAgICBzZXRGb2N1c2VkKGlzRm9jdXNlZCk7XG4gICAgICAgIHVwZGF0ZVN0YXRlKCk7XG4gICAgfSwgW1xuICAgICAgICB1cGRhdGVTdGF0ZVxuICAgIF0pO1xuICAgICgwLCAkaXNXRTUkdXNlRm9jdXNWaXNpYmxlTGlzdGVuZXIpKChpc0ZvY3VzVmlzaWJsZSk9PntcbiAgICAgICAgc3RhdGUuY3VycmVudC5pc0ZvY3VzVmlzaWJsZSA9IGlzRm9jdXNWaXNpYmxlO1xuICAgICAgICB1cGRhdGVTdGF0ZSgpO1xuICAgIH0sIFtdLCB7XG4gICAgICAgIGlzVGV4dElucHV0OiBpc1RleHRJbnB1dFxuICAgIH0pO1xuICAgIGxldCB7IGZvY3VzUHJvcHM6IGZvY3VzUHJvcHMgfSA9ICgwLCAkaXNXRTUkdXNlRm9jdXMpKHtcbiAgICAgICAgaXNEaXNhYmxlZDogd2l0aGluLFxuICAgICAgICBvbkZvY3VzQ2hhbmdlOiBvbkZvY3VzQ2hhbmdlXG4gICAgfSk7XG4gICAgbGV0IHsgZm9jdXNXaXRoaW5Qcm9wczogZm9jdXNXaXRoaW5Qcm9wcyB9ID0gKDAsICRpc1dFNSR1c2VGb2N1c1dpdGhpbikoe1xuICAgICAgICBpc0Rpc2FibGVkOiAhd2l0aGluLFxuICAgICAgICBvbkZvY3VzV2l0aGluQ2hhbmdlOiBvbkZvY3VzQ2hhbmdlXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgIGlzRm9jdXNWaXNpYmxlOiBpc0ZvY3VzVmlzaWJsZVN0YXRlLFxuICAgICAgICBmb2N1c1Byb3BzOiB3aXRoaW4gPyBmb2N1c1dpdGhpblByb3BzIDogZm9jdXNQcm9wc1xuICAgIH07XG59XG5cblxuZXhwb3J0IHskZjdkY2VmZmM1YWQ3NzY4YiRleHBvcnQkNGUzMjhmNjFjNTM4Njg3ZiBhcyB1c2VGb2N1c1Jpbmd9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXNSaW5nLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/interactions/dist/useFocus.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useFocus.mjs ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocus: () => (/* binding */ $a1ea59d68270f0dd$export$f8168d8dd8fd66e6)\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"(ssr)/./node_modules/@react-aria/interactions/dist/utils.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(ssr)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_1__.useSyntheticBlurEvent)(onBlur);\n const onFocus = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n const ownerDocument = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.getOwnerDocument)(e.target);\n if (e.target === e.currentTarget && ownerDocument.activeElement === e.target) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\n\n//# sourceMappingURL=useFocus.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXMubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBK0Y7QUFDdkM7QUFDc0I7O0FBRTlFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBLFVBQVUsaUdBQWlHO0FBQzNHLHVCQUF1Qiw4Q0FBa0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsNkRBQXlDO0FBQzFFLHdCQUF3Qiw4Q0FBa0I7QUFDMUM7QUFDQTtBQUNBLGtDQUFrQywrREFBdUI7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHK0Q7QUFDL0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXMubWpzPzJiNWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VTeW50aGV0aWNCbHVyRXZlbnQgYXMgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2N9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHt1c2VDYWxsYmFjayBhcyAkaGYwbGokdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtnZXRPd25lckRvY3VtZW50IGFzICRoZjBsaiRnZXRPd25lckRvY3VtZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIC8vIFBvcnRpb25zIG9mIHRoZSBjb2RlIGluIHRoaXMgZmlsZSBhcmUgYmFzZWQgb24gY29kZSBmcm9tIHJlYWN0LlxuLy8gT3JpZ2luYWwgbGljZW5zaW5nIGZvciB0aGUgZm9sbG93aW5nIGNhbiBiZSBmb3VuZCBpbiB0aGVcbi8vIE5PVElDRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL2NjN2MxYWVjZTQ2YTZiNjliNDE5NThkNzMxZTBmZDI3Yzk0YmZjNmMvcGFja2FnZXMvcmVhY3QtaW50ZXJhY3Rpb25zXG5cblxuXG5mdW5jdGlvbiAkYTFlYTU5ZDY4MjcwZjBkZCRleHBvcnQkZjgxNjhkOGRkOGZkNjZlNihwcm9wcykge1xuICAgIGxldCB7IGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsIG9uRm9jdXM6IG9uRm9jdXNQcm9wLCBvbkJsdXI6IG9uQmx1clByb3AsIG9uRm9jdXNDaGFuZ2U6IG9uRm9jdXNDaGFuZ2UgfSA9IHByb3BzO1xuICAgIGNvbnN0IG9uQmx1ciA9ICgwLCAkaGYwbGokdXNlQ2FsbGJhY2spKChlKT0+e1xuICAgICAgICBpZiAoZS50YXJnZXQgPT09IGUuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uQmx1clByb3ApIG9uQmx1clByb3AoZSk7XG4gICAgICAgICAgICBpZiAob25Gb2N1c0NoYW5nZSkgb25Gb2N1c0NoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25CbHVyUHJvcCxcbiAgICAgICAgb25Gb2N1c0NoYW5nZVxuICAgIF0pO1xuICAgIGNvbnN0IG9uU3ludGhldGljRm9jdXMgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MpKG9uQmx1cik7XG4gICAgY29uc3Qgb25Gb2N1cyA9ICgwLCAkaGYwbGokdXNlQ2FsbGJhY2spKChlKT0+e1xuICAgICAgICAvLyBEb3VibGUgY2hlY2sgdGhhdCBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFjdHVhbGx5IG1hdGNoZXMgZS50YXJnZXQgaW4gY2FzZSBhIHByZXZpb3VzbHkgY2hhaW5lZFxuICAgICAgICAvLyBmb2N1cyBoYW5kbGVyIGFscmVhZHkgbW92ZWQgZm9jdXMgc29tZXdoZXJlIGVsc2UuXG4gICAgICAgIGNvbnN0IG93bmVyRG9jdW1lbnQgPSAoMCwgJGhmMGxqJGdldE93bmVyRG9jdW1lbnQpKGUudGFyZ2V0KTtcbiAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBlLmN1cnJlbnRUYXJnZXQgJiYgb3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNQcm9wKSBvbkZvY3VzUHJvcChlKTtcbiAgICAgICAgICAgIGlmIChvbkZvY3VzQ2hhbmdlKSBvbkZvY3VzQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgb25TeW50aGV0aWNGb2N1cyhlKTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25Gb2N1c0NoYW5nZSxcbiAgICAgICAgb25Gb2N1c1Byb3AsXG4gICAgICAgIG9uU3ludGhldGljRm9jdXNcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmb2N1c1Byb3BzOiB7XG4gICAgICAgICAgICBvbkZvY3VzOiAhaXNEaXNhYmxlZCAmJiAob25Gb2N1c1Byb3AgfHwgb25Gb2N1c0NoYW5nZSB8fCBvbkJsdXJQcm9wKSA/IG9uRm9jdXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBvbkJsdXI6ICFpc0Rpc2FibGVkICYmIChvbkJsdXJQcm9wIHx8IG9uRm9jdXNDaGFuZ2UpID8gb25CbHVyIDogdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7JGExZWE1OWQ2ODI3MGYwZGQkZXhwb3J0JGY4MTY4ZDhkZDhmZDY2ZTYgYXMgdXNlRm9jdXN9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXMubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/interactions/dist/useFocus.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs": -/*!************************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs ***! - \************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addWindowFocusTracking: () => (/* binding */ $507fabe10e71c6fb$export$2f1888112f558a7d),\n/* harmony export */ getInteractionModality: () => (/* binding */ $507fabe10e71c6fb$export$630ff653c5ada6a9),\n/* harmony export */ hasSetupGlobalListeners: () => (/* binding */ $507fabe10e71c6fb$export$d90243b58daecda7),\n/* harmony export */ isFocusVisible: () => (/* binding */ $507fabe10e71c6fb$export$b9b3dfddab17db27),\n/* harmony export */ setInteractionModality: () => (/* binding */ $507fabe10e71c6fb$export$8397ddfc504fdb9a),\n/* harmony export */ useFocusVisible: () => (/* binding */ $507fabe10e71c6fb$export$ffd9e5021c1fb2d6),\n/* harmony export */ useFocusVisibleListener: () => (/* binding */ $507fabe10e71c6fb$export$ec71b4b83ac08ec3),\n/* harmony export */ useInteractionModality: () => (/* binding */ $507fabe10e71c6fb$export$98e20ec92f614cfe)\n/* harmony export */ });\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(ssr)/./node_modules/@react-aria/utils/dist/platform.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(ssr)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/utils */ \"(ssr)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _react_aria_ssr__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-aria/ssr */ \"(ssr)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs\");\n\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nlet $507fabe10e71c6fb$var$currentModality = null;\nlet $507fabe10e71c6fb$var$changeHandlers = new Set();\nlet $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\nlet $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {\n for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */ function $507fabe10e71c6fb$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.isMac)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $507fabe10e71c6fb$var$handleKeyboardEvent(e) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n if ($507fabe10e71c6fb$var$isValidKey(e)) {\n $507fabe10e71c6fb$var$currentModality = 'keyboard';\n $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n $507fabe10e71c6fb$var$currentModality = 'pointer';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handleClickEvent(e) {\n if ((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.isVirtualClick)(e)) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n }\n}\nfunction $507fabe10e71c6fb$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n if (e.target === window || e.target === document) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n $507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);\n }\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n}\nfunction $507fabe10e71c6fb$var$handleWindowBlur() {\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {\n if (typeof window === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element))) return;\n const windowObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element);\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function() {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n // Add unmount handler\n windowObject.addEventListener('beforeunload', ()=>{\n $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);\n }, {\n once: true\n });\n $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {\n focus: focus\n });\n}\nconst $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n const windowObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element);\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;\n windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;\n documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $507fabe10e71c6fb$export$2f1888112f558a7d(element) {\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n let loadListener;\n if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n else {\n loadListener = ()=>{\n $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n };\n documentObject.addEventListener('DOMContentLoaded', loadListener);\n }\n return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();\nfunction $507fabe10e71c6fb$export$b9b3dfddab17db27() {\n return $507fabe10e71c6fb$var$currentModality !== 'pointer';\n}\nfunction $507fabe10e71c6fb$export$630ff653c5ada6a9() {\n return $507fabe10e71c6fb$var$currentModality;\n}\nfunction $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {\n $507fabe10e71c6fb$var$currentModality = modality;\n $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);\n}\nfunction $507fabe10e71c6fb$export$98e20ec92f614cfe() {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)($507fabe10e71c6fb$var$currentModality);\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let handler = ()=>{\n setModality($507fabe10e71c6fb$var$currentModality);\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n }, []);\n return (0, _react_aria_ssr__WEBPACK_IMPORTED_MODULE_4__.useIsSSR)() ? null : modality;\n}\nconst $507fabe10e71c6fb$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n var _e_target;\n const IHTMLInputElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;\n const IHTMLTextAreaElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;\n const IHTMLElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;\n const IKeyboardEvent = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;\n isTextInput = isTextInput || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.type) || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLTextAreaElement || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLElement && (e === null || e === void 0 ? void 0 : e.target.isContentEditable);\n return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $507fabe10e71c6fb$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(autoFocus || $507fabe10e71c6fb$export$b9b3dfddab17db27());\n $507fabe10e71c6fb$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let handler = (modality, e)=>{\n if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;\n fn($507fabe10e71c6fb$export$b9b3dfddab17db27());\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\n\n//# sourceMappingURL=useFocusVisible.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXNWaXNpYmxlLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQXVMO0FBQ3RHO0FBQ3JCOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLG9EQUFZO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2REFBcUI7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkZBQTJGLDZEQUFxQjtBQUNoSCw2QkFBNkIsNkRBQXFCO0FBQ2xELCtCQUErQiwrREFBdUI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSw2QkFBNkIsNkRBQXFCO0FBQ2xELCtCQUErQiwrREFBdUI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLCtEQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQywyQ0FBZTtBQUNyRCxRQUFRLDRDQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxlQUFlLHFEQUFlO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrRUFBa0UsNkRBQXFCO0FBQ3ZGLHFFQUFxRSw2REFBcUI7QUFDMUYsNkRBQTZELDZEQUFxQjtBQUNsRiwrREFBK0QsNkRBQXFCO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RDtBQUM3RCxVQUFVLGlEQUFpRDtBQUMzRCxxREFBcUQsMkNBQWU7QUFDcEU7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSw0Q0FBZ0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOzs7QUFHbWlCO0FBQ25pQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1Zpc2libGUubWpzP2E4YzIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc01hYyBhcyAkMjhBblIkaXNNYWMsIGlzVmlydHVhbENsaWNrIGFzICQyOEFuUiRpc1ZpcnR1YWxDbGljaywgZ2V0T3duZXJXaW5kb3cgYXMgJDI4QW5SJGdldE93bmVyV2luZG93LCBnZXRPd25lckRvY3VtZW50IGFzICQyOEFuUiRnZXRPd25lckRvY3VtZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcbmltcG9ydCB7dXNlU3RhdGUgYXMgJDI4QW5SJHVzZVN0YXRlLCB1c2VFZmZlY3QgYXMgJDI4QW5SJHVzZUVmZmVjdH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZUlzU1NSIGFzICQyOEFuUiR1c2VJc1NTUn0gZnJvbSBcIkByZWFjdC1hcmlhL3NzclwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG5cbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gbnVsbDtcbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMgPSBuZXcgU2V0KCk7XG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcgPSBuZXcgTWFwKCk7IC8vIFdlIHVzZSBhIG1hcCBoZXJlIHRvIHN1cHBvcnQgc2V0dGluZyBldmVudCBsaXN0ZW5lcnMgYWNyb3NzIG11bHRpcGxlIGRvY3VtZW50IG9iamVjdHMuXG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSBmYWxzZTtcbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzQmx1cnJlZFdpbmRvd1JlY2VudGx5ID0gZmFsc2U7XG4vLyBPbmx5IFRhYiBvciBFc2Mga2V5cyB3aWxsIG1ha2UgZm9jdXMgdmlzaWJsZSBvbiB0ZXh0IGlucHV0IGVsZW1lbnRzXG5jb25zdCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkRk9DVVNfVklTSUJMRV9JTlBVVF9LRVlTID0ge1xuICAgIFRhYjogdHJ1ZSxcbiAgICBFc2NhcGU6IHRydWVcbn07XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKG1vZGFsaXR5LCBlKSB7XG4gICAgZm9yIChsZXQgaGFuZGxlciBvZiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMpaGFuZGxlcihtb2RhbGl0eSwgZSk7XG59XG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYSBLZXlib2FyZEV2ZW50IGlzIHVubW9kaWZpZWQgYW5kIGNvdWxkIG1ha2Uga2V5Ym9hcmQgZm9jdXMgc3R5bGVzIHZpc2libGUuXG4gKi8gZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGlzVmFsaWRLZXkoZSkge1xuICAgIC8vIENvbnRyb2wgYW5kIFNoaWZ0IGtleXMgdHJpZ2dlciB3aGVuIG5hdmlnYXRpbmcgYmFjayB0byB0aGUgdGFiIHdpdGgga2V5Ym9hcmQuXG4gICAgcmV0dXJuICEoZS5tZXRhS2V5IHx8ICEoMCwgJDI4QW5SJGlzTWFjKSgpICYmIGUuYWx0S2V5IHx8IGUuY3RybEtleSB8fCBlLmtleSA9PT0gJ0NvbnRyb2wnIHx8IGUua2V5ID09PSAnU2hpZnQnIHx8IGUua2V5ID09PSAnTWV0YScpO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUtleWJvYXJkRXZlbnQoZSkge1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gdHJ1ZTtcbiAgICBpZiAoJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGlzVmFsaWRLZXkoZSkpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9ICdrZXlib2FyZCc7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0cmlnZ2VyQ2hhbmdlSGFuZGxlcnMoJ2tleWJvYXJkJywgZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudChlKSB7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9ICdwb2ludGVyJztcbiAgICBpZiAoZS50eXBlID09PSAnbW91c2Vkb3duJyB8fCBlLnR5cGUgPT09ICdwb2ludGVyZG93bicpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKCdwb2ludGVyJywgZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUNsaWNrRXZlbnQoZSkge1xuICAgIGlmICgoMCwgJDI4QW5SJGlzVmlydHVhbENsaWNrKShlKSkge1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IHRydWU7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgPSAndmlydHVhbCc7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUZvY3VzRXZlbnQoZSkge1xuICAgIC8vIEZpcmVmb3ggZmlyZXMgdHdvIGV4dHJhIGZvY3VzIGV2ZW50cyB3aGVuIHRoZSB1c2VyIGZpcnN0IGNsaWNrcyBpbnRvIGFuIGlmcmFtZTpcbiAgICAvLyBmaXJzdCBvbiB0aGUgd2luZG93LCB0aGVuIG9uIHRoZSBkb2N1bWVudC4gV2UgaWdub3JlIHRoZXNlIGV2ZW50cyBzbyB0aGV5IGRvbid0XG4gICAgLy8gY2F1c2Uga2V5Ym9hcmQgZm9jdXMgcmluZ3MgdG8gYXBwZWFyLlxuICAgIGlmIChlLnRhcmdldCA9PT0gd2luZG93IHx8IGUudGFyZ2V0ID09PSBkb2N1bWVudCkgcmV0dXJuO1xuICAgIC8vIElmIGEgZm9jdXMgZXZlbnQgb2NjdXJzIHdpdGhvdXQgYSBwcmVjZWRpbmcga2V5Ym9hcmQgb3IgcG9pbnRlciBldmVudCwgc3dpdGNoIHRvIHZpcnR1YWwgbW9kYWxpdHkuXG4gICAgLy8gVGhpcyBvY2N1cnMsIGZvciBleGFtcGxlLCB3aGVuIG5hdmlnYXRpbmcgYSBmb3JtIHdpdGggdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBvbiBpT1MuXG4gICAgaWYgKCEkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0JsdXJyZWRXaW5kb3dSZWNlbnRseSkge1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gJ3ZpcnR1YWwnO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKCd2aXJ0dWFsJywgZSk7XG4gICAgfVxuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gZmFsc2U7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0JsdXJyZWRXaW5kb3dSZWNlbnRseSA9IGZhbHNlO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVdpbmRvd0JsdXIoKSB7XG4gICAgLy8gV2hlbiB0aGUgd2luZG93IGlzIGJsdXJyZWQsIHJlc2V0IHN0YXRlLiBUaGlzIGlzIG5lY2Vzc2FyeSB3aGVuIHRhYmJpbmcgb3V0IG9mIHRoZSB3aW5kb3csXG4gICAgLy8gZm9yIGV4YW1wbGUsIHNpbmNlIGEgc3Vic2VxdWVudCBmb2N1cyBldmVudCB3b24ndCBiZSBmaXJlZC5cbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IGZhbHNlO1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNCbHVycmVkV2luZG93UmVjZW50bHkgPSB0cnVlO1xufVxuLyoqXG4gKiBTZXR1cCBnbG9iYWwgZXZlbnQgbGlzdGVuZXJzIHRvIGNvbnRyb2wgd2hlbiBrZXlib2FyZCBmb2N1cyBzdHlsZSBzaG91bGQgYmUgdmlzaWJsZS5cbiAqLyBmdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cyhlbGVtZW50KSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmdldCgoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KSkpIHJldHVybjtcbiAgICBjb25zdCB3aW5kb3dPYmplY3QgPSAoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KTtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgLy8gUHJvZ3JhbW1hdGljIGZvY3VzKCkgY2FsbHMgc2hvdWxkbid0IGFmZmVjdCB0aGUgY3VycmVudCBpbnB1dCBtb2RhbGl0eS5cbiAgICAvLyBIb3dldmVyLCB3ZSBuZWVkIHRvIGRldGVjdCBvdGhlciBjYXNlcyB3aGVuIGEgZm9jdXMgZXZlbnQgb2NjdXJzIHdpdGhvdXRcbiAgICAvLyBhIHByZWNlZGluZyB1c2VyIGV2ZW50IChlLmcuIHNjcmVlbiByZWFkZXIgZm9jdXMpLiBPdmVycmlkaW5nIHRoZSBmb2N1c1xuICAgIC8vIG1ldGhvZCBvbiBIVE1MRWxlbWVudC5wcm90b3R5cGUgaXMgYSBiaXQgaGFja3ksIGJ1dCB3b3Jrcy5cbiAgICBsZXQgZm9jdXMgPSB3aW5kb3dPYmplY3QuSFRNTEVsZW1lbnQucHJvdG90eXBlLmZvY3VzO1xuICAgIHdpbmRvd09iamVjdC5IVE1MRWxlbWVudC5wcm90b3R5cGUuZm9jdXMgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICBmb2N1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVDbGlja0V2ZW50LCB0cnVlKTtcbiAgICAvLyBSZWdpc3RlciBmb2N1cyBldmVudHMgb24gdGhlIHdpbmRvdyBzbyB0aGV5IGFyZSBzdXJlIHRvIGhhcHBlblxuICAgIC8vIGJlZm9yZSBSZWFjdCdzIGV2ZW50IGxpc3RlbmVycyAocmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnQpLlxuICAgIHdpbmRvd09iamVjdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVGb2N1c0V2ZW50LCB0cnVlKTtcbiAgICB3aW5kb3dPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVXaW5kb3dCbHVyLCBmYWxzZSk7XG4gICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgICAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH1cbiAgICAvLyBBZGQgdW5tb3VudCBoYW5kbGVyXG4gICAgd2luZG93T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsICgpPT57XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0ZWFyRG93bldpbmRvd0ZvY3VzVHJhY2tpbmcoZWxlbWVudCk7XG4gICAgfSwge1xuICAgICAgICBvbmNlOiB0cnVlXG4gICAgfSk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcuc2V0KHdpbmRvd09iamVjdCwge1xuICAgICAgICBmb2N1czogZm9jdXNcbiAgICB9KTtcbn1cbmNvbnN0ICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0ZWFyRG93bldpbmRvd0ZvY3VzVHJhY2tpbmcgPSAoZWxlbWVudCwgbG9hZExpc3RlbmVyKT0+e1xuICAgIGNvbnN0IHdpbmRvd09iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJXaW5kb3cpKGVsZW1lbnQpO1xuICAgIGNvbnN0IGRvY3VtZW50T2JqZWN0ID0gKDAsICQyOEFuUiRnZXRPd25lckRvY3VtZW50KShlbGVtZW50KTtcbiAgICBpZiAobG9hZExpc3RlbmVyKSBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbG9hZExpc3RlbmVyKTtcbiAgICBpZiAoISQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3Lmhhcyh3aW5kb3dPYmplY3QpKSByZXR1cm47XG4gICAgd2luZG93T2JqZWN0LkhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cyA9ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmdldCh3aW5kb3dPYmplY3QpLmZvY3VzO1xuICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlS2V5Ym9hcmRFdmVudCwgdHJ1ZSk7XG4gICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlS2V5Ym9hcmRFdmVudCwgdHJ1ZSk7XG4gICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlQ2xpY2tFdmVudCwgdHJ1ZSk7XG4gICAgd2luZG93T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUZvY3VzRXZlbnQsIHRydWUpO1xuICAgIHdpbmRvd09iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVdpbmRvd0JsdXIsIGZhbHNlKTtcbiAgICBpZiAodHlwZW9mIFBvaW50ZXJFdmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcm1vdmUnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgICAgICBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgfVxuICAgICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmRlbGV0ZSh3aW5kb3dPYmplY3QpO1xufTtcbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQyZjE4ODgxMTJmNTU4YTdkKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgbGV0IGxvYWRMaXN0ZW5lcjtcbiAgICBpZiAoZG9jdW1lbnRPYmplY3QucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnKSAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cyhlbGVtZW50KTtcbiAgICBlbHNlIHtcbiAgICAgICAgbG9hZExpc3RlbmVyID0gKCk9PntcbiAgICAgICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRzZXR1cEdsb2JhbEZvY3VzRXZlbnRzKGVsZW1lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbG9hZExpc3RlbmVyKTtcbiAgICB9XG4gICAgcmV0dXJuICgpPT4kNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdGVhckRvd25XaW5kb3dGb2N1c1RyYWNraW5nKGVsZW1lbnQsIGxvYWRMaXN0ZW5lcik7XG59XG4vLyBTZXJ2ZXItc2lkZSByZW5kZXJpbmcgZG9lcyBub3QgaGF2ZSB0aGUgZG9jdW1lbnQgb2JqZWN0IGRlZmluZWRcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHNcbmlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkMmYxODg4MTEyZjU1OGE3ZCgpO1xuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcoKSB7XG4gICAgcmV0dXJuICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgIT09ICdwb2ludGVyJztcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQ2MzBmZjY1M2M1YWRhNmE5KCkge1xuICAgIHJldHVybiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5O1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JDgzOTdkZGZjNTA0ZmRiOWEobW9kYWxpdHkpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gbW9kYWxpdHk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHRyaWdnZXJDaGFuZ2VIYW5kbGVycyhtb2RhbGl0eSwgbnVsbCk7XG59XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkOThlMjBlYzkyZjYxNGNmZSgpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cygpO1xuICAgIGxldCBbbW9kYWxpdHksIHNldE1vZGFsaXR5XSA9ICgwLCAkMjhBblIkdXNlU3RhdGUpKCQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkpO1xuICAgICgwLCAkMjhBblIkdXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBsZXQgaGFuZGxlciA9ICgpPT57XG4gICAgICAgICAgICBzZXRNb2RhbGl0eSgkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5KTtcbiAgICAgICAgfTtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGNoYW5nZUhhbmRsZXJzLmFkZChoYW5kbGVyKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMuZGVsZXRlKGhhbmRsZXIpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gKDAsICQyOEFuUiR1c2VJc1NTUikoKSA/IG51bGwgOiBtb2RhbGl0eTtcbn1cbmNvbnN0ICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRub25UZXh0SW5wdXRUeXBlcyA9IG5ldyBTZXQoW1xuICAgICdjaGVja2JveCcsXG4gICAgJ3JhZGlvJyxcbiAgICAncmFuZ2UnLFxuICAgICdjb2xvcicsXG4gICAgJ2ZpbGUnLFxuICAgICdpbWFnZScsXG4gICAgJ2J1dHRvbicsXG4gICAgJ3N1Ym1pdCcsXG4gICAgJ3Jlc2V0J1xuXSk7XG4vKipcbiAqIElmIHRoaXMgaXMgYXR0YWNoZWQgdG8gdGV4dCBpbnB1dCBjb21wb25lbnQsIHJldHVybiBpZiB0aGUgZXZlbnQgaXMgYSBmb2N1cyBldmVudCAoVGFiL0VzY2FwZSBrZXlzIHByZXNzZWQpIHNvIHRoYXRcbiAqIGZvY3VzIHZpc2libGUgc3R5bGUgY2FuIGJlIHByb3Blcmx5IHNldC5cbiAqLyBmdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaXNLZXlib2FyZEZvY3VzRXZlbnQoaXNUZXh0SW5wdXQsIG1vZGFsaXR5LCBlKSB7XG4gICAgdmFyIF9lX3RhcmdldDtcbiAgICBjb25zdCBJSFRNTElucHV0RWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTElucHV0RWxlbWVudCA6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgSUhUTUxUZXh0QXJlYUVsZW1lbnQgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/ICgwLCAkMjhBblIkZ2V0T3duZXJXaW5kb3cpKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpLkhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICAgIGNvbnN0IElIVE1MRWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTEVsZW1lbnQgOiBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBJS2V5Ym9hcmRFdmVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuS2V5Ym9hcmRFdmVudCA6IEtleWJvYXJkRXZlbnQ7XG4gICAgaXNUZXh0SW5wdXQgPSBpc1RleHRJbnB1dCB8fCAoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkgaW5zdGFuY2VvZiBJSFRNTElucHV0RWxlbWVudCAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJG5vblRleHRJbnB1dFR5cGVzLmhhcyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfZV90YXJnZXQgPSBlLnRhcmdldCkgPT09IG51bGwgfHwgX2VfdGFyZ2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZV90YXJnZXQudHlwZSkgfHwgKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpIGluc3RhbmNlb2YgSUhUTUxUZXh0QXJlYUVsZW1lbnQgfHwgKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpIGluc3RhbmNlb2YgSUhUTUxFbGVtZW50ICYmIChlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGFyZ2V0LmlzQ29udGVudEVkaXRhYmxlKTtcbiAgICByZXR1cm4gIShpc1RleHRJbnB1dCAmJiBtb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyAmJiBlIGluc3RhbmNlb2YgSUtleWJvYXJkRXZlbnQgJiYgISQ1MDdmYWJlMTBlNzFjNmZiJHZhciRGT0NVU19WSVNJQkxFX0lOUFVUX0tFWVNbZS5rZXldKTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRmZmQ5ZTUwMjFjMWZiMmQ2KHByb3BzID0ge30pIHtcbiAgICBsZXQgeyBpc1RleHRJbnB1dDogaXNUZXh0SW5wdXQsIGF1dG9Gb2N1czogYXV0b0ZvY3VzIH0gPSBwcm9wcztcbiAgICBsZXQgW2lzRm9jdXNWaXNpYmxlU3RhdGUsIHNldEZvY3VzVmlzaWJsZV0gPSAoMCwgJDI4QW5SJHVzZVN0YXRlKShhdXRvRm9jdXMgfHwgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcoKSk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGVjNzFiNGI4M2FjMDhlYzMoKGlzRm9jdXNWaXNpYmxlKT0+e1xuICAgICAgICBzZXRGb2N1c1Zpc2libGUoaXNGb2N1c1Zpc2libGUpO1xuICAgIH0sIFtcbiAgICAgICAgaXNUZXh0SW5wdXRcbiAgICBdLCB7XG4gICAgICAgIGlzVGV4dElucHV0OiBpc1RleHRJbnB1dFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlzRm9jdXNWaXNpYmxlOiBpc0ZvY3VzVmlzaWJsZVN0YXRlXG4gICAgfTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRlYzcxYjRiODNhYzA4ZWMzKGZuLCBkZXBzLCBvcHRzKSB7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHNldHVwR2xvYmFsRm9jdXNFdmVudHMoKTtcbiAgICAoMCwgJDI4QW5SJHVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgbGV0IGhhbmRsZXIgPSAobW9kYWxpdHksIGUpPT57XG4gICAgICAgICAgICBpZiAoISQ1MDdmYWJlMTBlNzFjNmZiJHZhciRpc0tleWJvYXJkRm9jdXNFdmVudCghIShvcHRzID09PSBudWxsIHx8IG9wdHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdHMuaXNUZXh0SW5wdXQpLCBtb2RhbGl0eSwgZSkpIHJldHVybjtcbiAgICAgICAgICAgIGZuKCQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRiOWIzZGZkZGFiMTdkYjI3KCkpO1xuICAgICAgICB9O1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMuYWRkKGhhbmRsZXIpO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjaGFuZ2VIYW5kbGVycy5kZWxldGUoaGFuZGxlcik7XG4gICAgICAgIH07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIGRlcHMpO1xufVxuXG5cbmV4cG9ydCB7JDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcgYXMgaGFzU2V0dXBHbG9iYWxMaXN0ZW5lcnMsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQyZjE4ODgxMTJmNTU4YTdkIGFzIGFkZFdpbmRvd0ZvY3VzVHJhY2tpbmcsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRiOWIzZGZkZGFiMTdkYjI3IGFzIGlzRm9jdXNWaXNpYmxlLCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkNjMwZmY2NTNjNWFkYTZhOSBhcyBnZXRJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkODM5N2RkZmM1MDRmZGI5YSBhcyBzZXRJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkOThlMjBlYzkyZjYxNGNmZSBhcyB1c2VJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkZmZkOWU1MDIxYzFmYjJkNiBhcyB1c2VGb2N1c1Zpc2libGUsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRlYzcxYjRiODNhYzA4ZWMzIGFzIHVzZUZvY3VzVmlzaWJsZUxpc3RlbmVyfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUZvY3VzVmlzaWJsZS5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs": -/*!***********************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs ***! - \***********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocusWithin: () => (/* binding */ $9ab94262bd0047c7$export$420e68273165f4ec)\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"(ssr)/./node_modules/@react-aria/interactions/dist/utils.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $9ab94262bd0047c7$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocusWithin: false\n });\n let onBlur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {\n state.current.isFocusWithin = false;\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state\n ]);\n let onSyntheticFocus = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_1__.useSyntheticBlurEvent)(onBlur);\n let onFocus = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n if (!state.current.isFocusWithin && document.activeElement === e.target) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n // These should not have been null, that would conflict in mergeProps\n onFocus: undefined,\n onBlur: undefined\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\n\n//# sourceMappingURL=useFocusWithin.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXNXaXRoaW4ubWpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUErRjtBQUNkOztBQUVqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLFVBQVUsNkhBQTZIO0FBQ3ZJLG9CQUFvQix5Q0FBYTtBQUNqQztBQUNBLEtBQUs7QUFDTCxxQkFBcUIsOENBQWtCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsNkRBQXlDO0FBQ3hFLHNCQUFzQiw4Q0FBa0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdxRTtBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1dpdGhpbi5tanM/OGQ2NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZVN5bnRoZXRpY0JsdXJFdmVudCBhcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkNzE1YzY4MmQwOWQ2MzljY30gZnJvbSBcIi4vdXRpbHMubWpzXCI7XG5pbXBvcnQge3VzZVJlZiBhcyAkM2I5UTAkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkM2I5UTAkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG5mdW5jdGlvbiAkOWFiOTQyNjJiZDAwNDdjNyRleHBvcnQkNDIwZTY4MjczMTY1ZjRlYyhwcm9wcykge1xuICAgIGxldCB7IGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsIG9uQmx1cldpdGhpbjogb25CbHVyV2l0aGluLCBvbkZvY3VzV2l0aGluOiBvbkZvY3VzV2l0aGluLCBvbkZvY3VzV2l0aGluQ2hhbmdlOiBvbkZvY3VzV2l0aGluQ2hhbmdlIH0gPSBwcm9wcztcbiAgICBsZXQgc3RhdGUgPSAoMCwgJDNiOVEwJHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzV2l0aGluOiBmYWxzZVxuICAgIH0pO1xuICAgIGxldCBvbkJsdXIgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyIG9uQmx1cldpdGhpbiBhbmQgdGhlbiBpbW1lZGlhdGVseSBvbkZvY3VzV2l0aGluIGFnYWluXG4gICAgICAgIC8vIHdoZW4gbW92aW5nIGZvY3VzIGluc2lkZSB0aGUgZWxlbWVudC4gT25seSB0cmlnZ2VyIGlmIHRoZSBjdXJyZW50VGFyZ2V0IGRvZXNuJ3RcbiAgICAgICAgLy8gaW5jbHVkZSB0aGUgcmVsYXRlZFRhcmdldCAod2hlcmUgZm9jdXMgaXMgbW92aW5nKS5cbiAgICAgICAgaWYgKHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiAmJiAhZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKG9uQmx1cldpdGhpbikgb25CbHVyV2l0aGluKGUpO1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNXaXRoaW5DaGFuZ2UpIG9uRm9jdXNXaXRoaW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkJsdXJXaXRoaW4sXG4gICAgICAgIG9uRm9jdXNXaXRoaW5DaGFuZ2UsXG4gICAgICAgIHN0YXRlXG4gICAgXSk7XG4gICAgbGV0IG9uU3ludGhldGljRm9jdXMgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MpKG9uQmx1cik7XG4gICAgbGV0IG9uRm9jdXMgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gRG91YmxlIGNoZWNrIHRoYXQgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhY3R1YWxseSBtYXRjaGVzIGUudGFyZ2V0IGluIGNhc2UgYSBwcmV2aW91c2x5IGNoYWluZWRcbiAgICAgICAgLy8gZm9jdXMgaGFuZGxlciBhbHJlYWR5IG1vdmVkIGZvY3VzIHNvbWV3aGVyZSBlbHNlLlxuICAgICAgICBpZiAoIXN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNXaXRoaW4pIG9uRm9jdXNXaXRoaW4oZSk7XG4gICAgICAgICAgICBpZiAob25Gb2N1c1dpdGhpbkNoYW5nZSkgb25Gb2N1c1dpdGhpbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiA9IHRydWU7XG4gICAgICAgICAgICBvblN5bnRoZXRpY0ZvY3VzKGUpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkZvY3VzV2l0aGluLFxuICAgICAgICBvbkZvY3VzV2l0aGluQ2hhbmdlLFxuICAgICAgICBvblN5bnRoZXRpY0ZvY3VzXG4gICAgXSk7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHJldHVybiB7XG4gICAgICAgIGZvY3VzV2l0aGluUHJvcHM6IHtcbiAgICAgICAgICAgIC8vIFRoZXNlIHNob3VsZCBub3QgaGF2ZSBiZWVuIG51bGwsIHRoYXQgd291bGQgY29uZmxpY3QgaW4gbWVyZ2VQcm9wc1xuICAgICAgICAgICAgb25Gb2N1czogdW5kZWZpbmVkLFxuICAgICAgICAgICAgb25CbHVyOiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZm9jdXNXaXRoaW5Qcm9wczoge1xuICAgICAgICAgICAgb25Gb2N1czogb25Gb2N1cyxcbiAgICAgICAgICAgIG9uQmx1cjogb25CbHVyXG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7JDlhYjk0MjYyYmQwMDQ3YzckZXhwb3J0JDQyMGU2ODI3MzE2NWY0ZWMgYXMgdXNlRm9jdXNXaXRoaW59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXNXaXRoaW4ubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/interactions/dist/useHover.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useHover.mjs ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useHover: () => (/* binding */ $6179b936705e76d3$export$ae780daf29e6d456)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered) return;\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state\n ]);\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\n\n//# sourceMappingURL=useHover.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlSG92ZXIubWpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXFJOztBQUVySTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLDJHQUEyRztBQUNySCxzQ0FBc0MsMkNBQWU7QUFDckQsb0JBQW9CLHlDQUFhO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLFFBQVEsNENBQWdCO0FBQ3hCLFVBQVUsMkRBQTJELE1BQU0sMENBQWM7QUFDekY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRDQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBRytEO0FBQy9EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3VzZUhvdmVyLm1qcz8xOGZlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlU3RhdGUgYXMgJEFXeG5UJHVzZVN0YXRlLCB1c2VSZWYgYXMgJEFXeG5UJHVzZVJlZiwgdXNlRWZmZWN0IGFzICRBV3huVCR1c2VFZmZlY3QsIHVzZU1lbW8gYXMgJEFXeG5UJHVzZU1lbW99IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuLy8gaU9TIGZpcmVzIG9uUG9pbnRlckVudGVyIHR3aWNlOiBvbmNlIHdpdGggcG9pbnRlclR5cGU9XCJ0b3VjaFwiIGFuZCBhZ2FpbiB3aXRoIHBvaW50ZXJUeXBlPVwibW91c2VcIi5cbi8vIFdlIHdhbnQgdG8gaWdub3JlIHRoZXNlIGVtdWxhdGVkIGV2ZW50cyBzbyB0aGV5IGRvIG5vdCB0cmlnZ2VyIGhvdmVyIGJlaGF2aW9yLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2MDkuXG5sZXQgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSBmYWxzZTtcbmxldCAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudCA9IDA7XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cygpIHtcbiAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgLy8gQ2xlYXIgZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyBhZnRlciBhIHNob3J0IHRpbWVvdXQuIGlPUyBmaXJlcyBvblBvaW50ZXJFbnRlclxuICAgIC8vIHdpdGggcG9pbnRlclR5cGU9XCJtb3VzZVwiIGltbWVkaWF0ZWx5IGFmdGVyIG9uUG9pbnRlclVwIGFuZCBiZWZvcmUgb25Gb2N1cy4gT24gb3RoZXJcbiAgICAvLyBkZXZpY2VzIHRoYXQgZG9uJ3QgaGF2ZSB0aGlzIHF1aXJrLCB3ZSBkb24ndCB3YW50IHRvIGlnbm9yZSBhIG1vdXNlIGhvdmVyIHNvbWV0aW1lIGluXG4gICAgLy8gdGhlIGRpc3RhbnQgZnV0dXJlIGJlY2F1c2UgYSB1c2VyIHByZXZpb3VzbHkgdG91Y2hlZCB0aGUgZWxlbWVudC5cbiAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gICAgfSwgNTApO1xufVxuZnVuY3Rpb24gJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudChlKSB7XG4gICAgaWYgKGUucG9pbnRlclR5cGUgPT09ICd0b3VjaCcpICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKCk7XG59XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0dXBHbG9iYWxUb3VjaEV2ZW50cygpIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKTtcbiAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudCsrO1xuICAgIHJldHVybiAoKT0+e1xuICAgICAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudC0tO1xuICAgICAgICBpZiAoJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhvdmVyQ291bnQgPiAwKSByZXR1cm47XG4gICAgICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgICAgIGVsc2UgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uICQ2MTc5YjkzNjcwNWU3NmQzJGV4cG9ydCRhZTc4MGRhZjI5ZTZkNDU2KHByb3BzKSB7XG4gICAgbGV0IHsgb25Ib3ZlclN0YXJ0OiBvbkhvdmVyU3RhcnQsIG9uSG92ZXJDaGFuZ2U6IG9uSG92ZXJDaGFuZ2UsIG9uSG92ZXJFbmQ6IG9uSG92ZXJFbmQsIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQgfSA9IHByb3BzO1xuICAgIGxldCBbaXNIb3ZlcmVkLCBzZXRIb3ZlcmVkXSA9ICgwLCAkQVd4blQkdXNlU3RhdGUpKGZhbHNlKTtcbiAgICBsZXQgc3RhdGUgPSAoMCwgJEFXeG5UJHVzZVJlZikoe1xuICAgICAgICBpc0hvdmVyZWQ6IGZhbHNlLFxuICAgICAgICBpZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzOiBmYWxzZSxcbiAgICAgICAgcG9pbnRlclR5cGU6ICcnLFxuICAgICAgICB0YXJnZXQ6IG51bGxcbiAgICB9KS5jdXJyZW50O1xuICAgICgwLCAkQVd4blQkdXNlRWZmZWN0KSgkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0dXBHbG9iYWxUb3VjaEV2ZW50cywgW10pO1xuICAgIGxldCB7IGhvdmVyUHJvcHM6IGhvdmVyUHJvcHMsIHRyaWdnZXJIb3ZlckVuZDogdHJpZ2dlckhvdmVyRW5kIH0gPSAoMCwgJEFXeG5UJHVzZU1lbW8pKCgpPT57XG4gICAgICAgIGxldCB0cmlnZ2VySG92ZXJTdGFydCA9IChldmVudCwgcG9pbnRlclR5cGUpPT57XG4gICAgICAgICAgICBzdGF0ZS5wb2ludGVyVHlwZSA9IHBvaW50ZXJUeXBlO1xuICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQgfHwgcG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHwgc3RhdGUuaXNIb3ZlcmVkIHx8ICFldmVudC5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHJldHVybjtcbiAgICAgICAgICAgIHN0YXRlLmlzSG92ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIHN0YXRlLnRhcmdldCA9IHRhcmdldDtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyU3RhcnQpIG9uSG92ZXJTdGFydCh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2hvdmVyc3RhcnQnLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlOiBwb2ludGVyVHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob25Ib3ZlckNoYW5nZSkgb25Ib3ZlckNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIHNldEhvdmVyZWQodHJ1ZSk7XG4gICAgICAgIH07XG4gICAgICAgIGxldCB0cmlnZ2VySG92ZXJFbmQgPSAoZXZlbnQsIHBvaW50ZXJUeXBlKT0+e1xuICAgICAgICAgICAgc3RhdGUucG9pbnRlclR5cGUgPSAnJztcbiAgICAgICAgICAgIHN0YXRlLnRhcmdldCA9IG51bGw7XG4gICAgICAgICAgICBpZiAocG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHwgIXN0YXRlLmlzSG92ZXJlZCkgcmV0dXJuO1xuICAgICAgICAgICAgc3RhdGUuaXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyRW5kKSBvbkhvdmVyRW5kKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaG92ZXJlbmQnLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlOiBwb2ludGVyVHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob25Ib3ZlckNoYW5nZSkgb25Ib3ZlckNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGhvdmVyUHJvcHMgPSB7fTtcbiAgICAgICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uUG9pbnRlckVudGVyID0gKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKCQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzICYmIGUucG9pbnRlclR5cGUgPT09ICdtb3VzZScpIHJldHVybjtcbiAgICAgICAgICAgICAgICB0cmlnZ2VySG92ZXJTdGFydChlLCBlLnBvaW50ZXJUeXBlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uUG9pbnRlckxlYXZlID0gKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKCFpc0Rpc2FibGVkICYmIGUuY3VycmVudFRhcmdldC5jb250YWlucyhlLnRhcmdldCkpIHRyaWdnZXJIb3ZlckVuZChlLCBlLnBvaW50ZXJUeXBlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uVG91Y2hTdGFydCA9ICgpPT57XG4gICAgICAgICAgICAgICAgc3RhdGUuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlRW50ZXIgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXN0YXRlLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgJiYgISQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKSB0cmlnZ2VySG92ZXJTdGFydChlLCAnbW91c2UnKTtcbiAgICAgICAgICAgICAgICBzdGF0ZS5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlTGVhdmUgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIWlzRGlzYWJsZWQgJiYgZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSkgdHJpZ2dlckhvdmVyRW5kKGUsICdtb3VzZScpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaG92ZXJQcm9wczogaG92ZXJQcm9wcyxcbiAgICAgICAgICAgIHRyaWdnZXJIb3ZlckVuZDogdHJpZ2dlckhvdmVyRW5kXG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBvbkhvdmVyU3RhcnQsXG4gICAgICAgIG9uSG92ZXJDaGFuZ2UsXG4gICAgICAgIG9uSG92ZXJFbmQsXG4gICAgICAgIGlzRGlzYWJsZWQsXG4gICAgICAgIHN0YXRlXG4gICAgXSk7XG4gICAgKDAsICRBV3huVCR1c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIC8vIENhbGwgdGhlIHRyaWdnZXJIb3ZlckVuZCBhcyBzb29uIGFzIGlzRGlzYWJsZWQgY2hhbmdlcyB0byB0cnVlXG4gICAgICAgIC8vIFNhZmUgdG8gY2FsbCB0cmlnZ2VySG92ZXJFbmQsIGl0IHdpbGwgZWFybHkgcmV0dXJuIGlmIHdlIGFyZW4ndCBjdXJyZW50bHkgaG92ZXJpbmdcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHRyaWdnZXJIb3ZlckVuZCh7XG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0OiBzdGF0ZS50YXJnZXRcbiAgICAgICAgfSwgc3RhdGUucG9pbnRlclR5cGUpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbXG4gICAgICAgIGlzRGlzYWJsZWRcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBob3ZlclByb3BzOiBob3ZlclByb3BzLFxuICAgICAgICBpc0hvdmVyZWQ6IGlzSG92ZXJlZFxuICAgIH07XG59XG5cblxuZXhwb3J0IHskNjE3OWI5MzY3MDVlNzZkMyRleHBvcnQkYWU3ODBkYWYyOWU2ZDQ1NiBhcyB1c2VIb3Zlcn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VIb3Zlci5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/interactions/dist/useHover.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/interactions/dist/utils.mjs": -/*!**************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/utils.mjs ***! - \**************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SyntheticFocusEvent: () => (/* binding */ $8a9cb279dc87e130$export$905e7fc544a71f36),\n/* harmony export */ useSyntheticBlurEvent: () => (/* binding */ $8a9cb279dc87e130$export$715c682d09d639cc)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(ssr)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(ssr)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs\");\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $8a9cb279dc87e130$export$905e7fc544a71f36 {\n isDefaultPrevented() {\n return this.nativeEvent.defaultPrevented;\n }\n preventDefault() {\n this.defaultPrevented = true;\n this.nativeEvent.preventDefault();\n }\n stopPropagation() {\n this.nativeEvent.stopPropagation();\n this.isPropagationStopped = ()=>true;\n }\n isPropagationStopped() {\n return false;\n }\n persist() {}\n constructor(type, nativeEvent){\n this.nativeEvent = nativeEvent;\n this.target = nativeEvent.target;\n this.currentTarget = nativeEvent.currentTarget;\n this.relatedTarget = nativeEvent.relatedTarget;\n this.bubbles = nativeEvent.bubbles;\n this.cancelable = nativeEvent.cancelable;\n this.defaultPrevented = nativeEvent.defaultPrevented;\n this.eventPhase = nativeEvent.eventPhase;\n this.isTrusted = nativeEvent.isTrusted;\n this.timeStamp = nativeEvent.timeStamp;\n this.type = type;\n }\n}\nfunction $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocused: false,\n observer: null\n });\n // Clean up MutationObserver on unmount. See below.\n // eslint-disable-next-line arrow-body-style\n (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n let dispatchBlur = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.useEffectEvent)((e)=>{\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n });\n // This function is called during a React onFocus event.\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = e.target;\n let onBlurHandler = (e)=>{\n stateRef.current.isFocused = false;\n if (target.disabled) // For backward compatibility, dispatch a (fake) React synthetic event.\n dispatchBlur(new $8a9cb279dc87e130$export$905e7fc544a71f36('blur', e));\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener('focusout', onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n var _stateRef_current_observer;\n (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();\n let relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: relatedTargetEl\n }));\n target.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: relatedTargetEl\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n 'disabled'\n ]\n });\n }\n }, [\n dispatchBlur\n ]);\n}\n\n\n\n//# sourceMappingURL=utils.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXRpbHMubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWlGO0FBQ29DOztBQUVySDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHlDQUFhO0FBQ3BDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLFFBQVEsOERBQXNCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLDJCQUEyQiw2REFBcUI7QUFDaEQ7QUFDQSxLQUFLO0FBQ0w7QUFDQSxlQUFlLDhDQUFrQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7OztBQUc4STtBQUM5SSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91dGlscy5tanM/NWMyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZVJlZiBhcyAkNmRmSWUkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkNmRmSWUkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHt1c2VMYXlvdXRFZmZlY3QgYXMgJDZkZkllJHVzZUxheW91dEVmZmVjdCwgdXNlRWZmZWN0RXZlbnQgYXMgJDZkZkllJHVzZUVmZmVjdEV2ZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuXG5jbGFzcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkOTA1ZTdmYzU0NGE3MWYzNiB7XG4gICAgaXNEZWZhdWx0UHJldmVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkO1xuICAgIH1cbiAgICBwcmV2ZW50RGVmYXVsdCgpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgICBzdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQgPSAoKT0+dHJ1ZTtcbiAgICB9XG4gICAgaXNQcm9wYWdhdGlvblN0b3BwZWQoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcGVyc2lzdCgpIHt9XG4gICAgY29uc3RydWN0b3IodHlwZSwgbmF0aXZlRXZlbnQpe1xuICAgICAgICB0aGlzLm5hdGl2ZUV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnQudGFyZ2V0O1xuICAgICAgICB0aGlzLmN1cnJlbnRUYXJnZXQgPSBuYXRpdmVFdmVudC5jdXJyZW50VGFyZ2V0O1xuICAgICAgICB0aGlzLnJlbGF0ZWRUYXJnZXQgPSBuYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0O1xuICAgICAgICB0aGlzLmJ1YmJsZXMgPSBuYXRpdmVFdmVudC5idWJibGVzO1xuICAgICAgICB0aGlzLmNhbmNlbGFibGUgPSBuYXRpdmVFdmVudC5jYW5jZWxhYmxlO1xuICAgICAgICB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSBuYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkO1xuICAgICAgICB0aGlzLmV2ZW50UGhhc2UgPSBuYXRpdmVFdmVudC5ldmVudFBoYXNlO1xuICAgICAgICB0aGlzLmlzVHJ1c3RlZCA9IG5hdGl2ZUV2ZW50LmlzVHJ1c3RlZDtcbiAgICAgICAgdGhpcy50aW1lU3RhbXAgPSBuYXRpdmVFdmVudC50aW1lU3RhbXA7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgfVxufVxuZnVuY3Rpb24gJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2Mob25CbHVyKSB7XG4gICAgbGV0IHN0YXRlUmVmID0gKDAsICQ2ZGZJZSR1c2VSZWYpKHtcbiAgICAgICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgICAgICAgb2JzZXJ2ZXI6IG51bGxcbiAgICB9KTtcbiAgICAvLyBDbGVhbiB1cCBNdXRhdGlvbk9ic2VydmVyIG9uIHVubW91bnQuIFNlZSBiZWxvdy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXJyb3ctYm9keS1zdHlsZVxuICAgICgwLCAkNmRmSWUkdXNlTGF5b3V0RWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHN0YXRlUmVmLmN1cnJlbnQ7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgaWYgKHN0YXRlLm9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgIHN0YXRlLm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgbGV0IGRpc3BhdGNoQmx1ciA9ICgwLCAkNmRmSWUkdXNlRWZmZWN0RXZlbnQpKChlKT0+e1xuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZSk7XG4gICAgfSk7XG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZHVyaW5nIGEgUmVhY3Qgb25Gb2N1cyBldmVudC5cbiAgICByZXR1cm4gKDAsICQ2ZGZJZSR1c2VDYWxsYmFjaykoKGUpPT57XG4gICAgICAgIC8vIFJlYWN0IGRvZXMgbm90IGZpcmUgb25CbHVyIHdoZW4gYW4gZWxlbWVudCBpcyBkaXNhYmxlZC4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy85MTQyXG4gICAgICAgIC8vIE1vc3QgYnJvd3NlcnMgZmlyZSBhIG5hdGl2ZSBmb2N1c291dCBldmVudCBpbiB0aGlzIGNhc2UsIGV4Y2VwdCBmb3IgRmlyZWZveC4gSW4gdGhhdCBjYXNlLCB3ZSB1c2UgYVxuICAgICAgICAvLyBNdXRhdGlvbk9ic2VydmVyIHRvIHdhdGNoIGZvciB0aGUgZGlzYWJsZWQgYXR0cmlidXRlLCBhbmQgZGlzcGF0Y2ggdGhlc2UgZXZlbnRzIG91cnNlbHZlcy5cbiAgICAgICAgLy8gRm9yIGJyb3dzZXJzIHRoYXQgZG8sIGZvY3Vzb3V0IGZpcmVzIGJlZm9yZSB0aGUgTXV0YXRpb25PYnNlcnZlciwgc28gb25CbHVyIHNob3VsZCBub3QgZmlyZSB0d2ljZS5cbiAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQgfHwgZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCB8fCBlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50LmlzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZS50YXJnZXQ7XG4gICAgICAgICAgICBsZXQgb25CbHVySGFuZGxlciA9IChlKT0+e1xuICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldC5kaXNhYmxlZCkgLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGRpc3BhdGNoIGEgKGZha2UpIFJlYWN0IHN5bnRoZXRpYyBldmVudC5cbiAgICAgICAgICAgICAgICBkaXNwYXRjaEJsdXIobmV3ICQ4YTljYjI3OWRjODdlMTMwJGV4cG9ydCQ5MDVlN2ZjNTQ0YTcxZjM2KCdibHVyJywgZSkpO1xuICAgICAgICAgICAgICAgIC8vIFdlIG5vIGxvbmdlciBuZWVkIHRoZSBNdXRhdGlvbk9ic2VydmVyIG9uY2UgdGhlIHRhcmdldCBpcyBibHVycmVkLlxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0Jywgb25CbHVySGFuZGxlciwge1xuICAgICAgICAgICAgICAgIG9uY2U6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc3RhdGVSZWYuY3VycmVudC5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpPT57XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlUmVmLmN1cnJlbnQuaXNGb2N1c2VkICYmIHRhcmdldC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3N0YXRlUmVmX2N1cnJlbnRfb2JzZXJ2ZXI7XG4gICAgICAgICAgICAgICAgICAgIChfc3RhdGVSZWZfY3VycmVudF9vYnNlcnZlciA9IHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIpID09PSBudWxsIHx8IF9zdGF0ZVJlZl9jdXJyZW50X29ic2VydmVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfc3RhdGVSZWZfY3VycmVudF9vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZWxhdGVkVGFyZ2V0RWwgPSB0YXJnZXQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBudWxsIDogZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEZvY3VzRXZlbnQoJ2JsdXInLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiByZWxhdGVkVGFyZ2V0RWxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRm9jdXNFdmVudCgnZm9jdXNvdXQnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldEVsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQsIHtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogW1xuICAgICAgICAgICAgICAgICAgICAnZGlzYWJsZWQnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoQmx1clxuICAgIF0pO1xufVxuXG5cbmV4cG9ydCB7JDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDkwNWU3ZmM1NDRhNzFmMzYgYXMgU3ludGhldGljRm9jdXNFdmVudCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MgYXMgdXNlU3ludGhldGljQmx1ckV2ZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/interactions/dist/utils.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs": -/*!***********************************************************!*\ - !*** ./node_modules/@react-aria/ssr/dist/SSRProvider.mjs ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SSRProvider: () => (/* binding */ $b5e257d569688ac6$export$9f8ac96af4b1b2ae),\n/* harmony export */ useIsSSR: () => (/* binding */ $b5e257d569688ac6$export$535bd6ca7f90a273),\n/* harmony export */ useSSRSafeId: () => (/* binding */ $b5e257d569688ac6$export$619500959fc48b26)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $b5e257d569688ac6$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $b5e257d569688ac6$var$SSRContext = /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createContext($b5e257d569688ac6$var$defaultContext);\nconst $b5e257d569688ac6$var$IsSSRContext = /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createContext(false);\n// This is only used in React < 18.\nfunction $b5e257d569688ac6$var$LegacySSRProvider(props) {\n let cur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n let counter = $b5e257d569688ac6$var$useCounter(cur === $b5e257d569688ac6$var$defaultContext);\n let [isSSR, setIsSSR] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n let value = (0, react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $b5e257d569688ac6$var$defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [\n cur,\n counter\n ]);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$SSRContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$IsSSRContext.Provider, {\n value: isSSR\n }, props.children));\n}\nlet $b5e257d569688ac6$var$warnedAboutSSRProvider = false;\nfunction $b5e257d569688ac6$export$9f8ac96af4b1b2ae(props) {\n if (typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useId'] === 'function') {\n if ( true && !$b5e257d569688ac6$var$warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n $b5e257d569688ac6$var$warnedAboutSSRProvider = true;\n }\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement((0, react__WEBPACK_IMPORTED_MODULE_0__).Fragment, null, props.children);\n }\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$LegacySSRProvider, props);\n}\nlet $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $b5e257d569688ac6$var$componentIds = new WeakMap();\nfunction $b5e257d569688ac6$var$useCounter(isDisabled = false) {\n let ctx = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n let ref = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n // eslint-disable-next-line rulesdir/pure-render\n if (ref.current === null && !isDisabled) {\n var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n // @ts-ignore\n let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = (0, react__WEBPACK_IMPORTED_MODULE_0__).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;\n if (currentOwner) {\n let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);\n if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.\n $b5e257d569688ac6$var$componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n $b5e257d569688ac6$var$componentIds.delete(currentOwner);\n }\n }\n // eslint-disable-next-line rulesdir/pure-render\n ref.current = ++ctx.current;\n }\n // eslint-disable-next-line rulesdir/pure-render\n return ref.current;\n}\nfunction $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {\n let ctx = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM) console.warn('When server rendering, you must wrap your application in an to ensure consistent ids are generated between the client and server.');\n let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);\n let prefix = ctx === $b5e257d569688ac6$var$defaultContext && \"development\" === 'test' ? 0 : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\nfunction $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {\n // @ts-ignore\n let id = (0, react__WEBPACK_IMPORTED_MODULE_0__).useId();\n let [didSSR] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)($b5e257d569688ac6$export$535bd6ca7f90a273());\n let prefix = didSSR || \"development\" === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\nconst $b5e257d569688ac6$export$619500959fc48b26 = typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useId'] === 'function' ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;\nfunction $b5e257d569688ac6$var$getSnapshot() {\n return false;\n}\nfunction $b5e257d569688ac6$var$getServerSnapshot() {\n return true;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction $b5e257d569688ac6$var$subscribe(onStoreChange) {\n // noop\n return ()=>{};\n}\nfunction $b5e257d569688ac6$export$535bd6ca7f90a273() {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n if (typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useSyncExternalStore'] === 'function') return (0, react__WEBPACK_IMPORTED_MODULE_0__)['useSyncExternalStore']($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$IsSSRContext);\n}\n\n\n\n//# sourceMappingURL=SSRProvider.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvc3NyL2Rpc3QvU1NSUHJvdmlkZXIubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBZ007O0FBRWhNO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRCxrQ0FBWTtBQUN2RSw2REFBNkQsa0NBQVk7QUFDekU7QUFDQTtBQUNBLGtCQUFrQiw2Q0FBaUI7QUFDbkM7QUFDQSxnQ0FBZ0MsMkNBQWU7QUFDL0Msb0JBQW9CLDBDQUFjO0FBQ2xDO0FBQ0E7QUFDQSwyRUFBMkUsV0FBVyxHQUFHLFFBQVE7QUFDakc7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsa0RBQXNCO0FBQzlCO0FBQ0EsS0FBSztBQUNMLDZCQUE2QixrQ0FBWTtBQUN6QztBQUNBLEtBQUssb0JBQW9CLGtDQUFZO0FBQ3JDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixrQ0FBWTtBQUMvQixZQUFZLEtBQStCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxrQ0FBWSxvQkFBb0Isa0NBQVk7QUFDN0U7QUFDQSw2QkFBNkIsa0NBQVk7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsNkNBQWlCO0FBQ25DLGtCQUFrQix5Q0FBYTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRGQUE0RixrQ0FBWTtBQUN4RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLDZDQUFpQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlFQUFpRSxhQUFvQixjQUFjLENBQVksZ0JBQWdCLFdBQVc7QUFDMUksMkJBQTJCLE9BQU8sR0FBRyxRQUFRO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixrQ0FBWTtBQUM3Qix1QkFBdUIsMkNBQWU7QUFDdEMsMkJBQTJCLGFBQW9CLDBDQUEwQyw0Q0FBNEM7QUFDckksMkJBQTJCLE9BQU8sR0FBRyxHQUFHO0FBQ3hDO0FBQ0EsNkRBQTZELGtDQUFZO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGtDQUFZLHFEQUFxRCxrQ0FBWTtBQUNoRztBQUNBLGVBQWUsNkNBQWlCO0FBQ2hDOzs7QUFHb0w7QUFDcEwiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvc3NyL2Rpc3QvU1NSUHJvdmlkZXIubWpzPzEzMzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQ2NzBnQiRyZWFjdCwge3VzZUNvbnRleHQgYXMgJDY3MGdCJHVzZUNvbnRleHQsIHVzZVN0YXRlIGFzICQ2NzBnQiR1c2VTdGF0ZSwgdXNlTWVtbyBhcyAkNjcwZ0IkdXNlTWVtbywgdXNlTGF5b3V0RWZmZWN0IGFzICQ2NzBnQiR1c2VMYXlvdXRFZmZlY3QsIHVzZVJlZiBhcyAkNjcwZ0IkdXNlUmVmfSBmcm9tIFwicmVhY3RcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIC8vIFdlIG11c3QgYXZvaWQgYSBjaXJjdWxhciBkZXBlbmRlbmN5IHdpdGggQHJlYWN0LWFyaWEvdXRpbHMsIGFuZCB0aGlzIHVzZUxheW91dEVmZmVjdCBpc1xuLy8gZ3VhcmRlZCBieSBhIGNoZWNrIHRoYXQgaXQgb25seSBydW5zIG9uIHRoZSBjbGllbnQgc2lkZS5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBydWxlc2Rpci91c2VMYXlvdXRFZmZlY3RSdWxlXG5cbi8vIERlZmF1bHQgY29udGV4dCB2YWx1ZSB0byB1c2UgaW4gY2FzZSB0aGVyZSBpcyBubyBTU1JQcm92aWRlci4gVGhpcyBpcyBmaW5lIGZvclxuLy8gY2xpZW50LW9ubHkgYXBwcy4gSW4gb3JkZXIgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb3BpZXMgb2YgUmVhY3QgQXJpYSBwb3RlbnRpYWxseVxuLy8gYmVpbmcgb24gdGhlIHBhZ2UgYXQgb25jZSwgdGhlIHByZWZpeCBpcyBzZXQgdG8gYSByYW5kb20gbnVtYmVyLiBTU1JQcm92aWRlclxuLy8gd2lsbCByZXNldCB0aGlzIHRvIHplcm8gZm9yIGNvbnNpc3RlbmN5IGJldHdlZW4gc2VydmVyIGFuZCBjbGllbnQsIHNvIGluIHRoZVxuLy8gU1NSIGNhc2UgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IEFyaWEgaXMgbm90IHN1cHBvcnRlZC5cbmNvbnN0ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCA9IHtcbiAgICBwcmVmaXg6IFN0cmluZyhNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwMCkpLFxuICAgIGN1cnJlbnQ6IDBcbn07XG5jb25zdCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkU1NSQ29udGV4dCA9IC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlQ29udGV4dCgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZGVmYXVsdENvbnRleHQpO1xuY29uc3QgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJElzU1NSQ29udGV4dCA9IC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlQ29udGV4dChmYWxzZSk7XG4vLyBUaGlzIGlzIG9ubHkgdXNlZCBpbiBSZWFjdCA8IDE4LlxuZnVuY3Rpb24gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJExlZ2FjeVNTUlByb3ZpZGVyKHByb3BzKSB7XG4gICAgbGV0IGN1ciA9ICgwLCAkNjcwZ0IkdXNlQ29udGV4dCkoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJFNTUkNvbnRleHQpO1xuICAgIGxldCBjb3VudGVyID0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHVzZUNvdW50ZXIoY3VyID09PSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZGVmYXVsdENvbnRleHQpO1xuICAgIGxldCBbaXNTU1IsIHNldElzU1NSXSA9ICgwLCAkNjcwZ0IkdXNlU3RhdGUpKHRydWUpO1xuICAgIGxldCB2YWx1ZSA9ICgwLCAkNjcwZ0IkdXNlTWVtbykoKCk9Pih7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBmaXJzdCBTU1JQcm92aWRlciwgc3RhcnQgd2l0aCBhbiBlbXB0eSBzdHJpbmcgcHJlZml4LCBvdGhlcndpc2VcbiAgICAgICAgICAgIC8vIGFwcGVuZCBhbmQgaW5jcmVtZW50IHRoZSBjb3VudGVyLlxuICAgICAgICAgICAgcHJlZml4OiBjdXIgPT09ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCA/ICcnIDogYCR7Y3VyLnByZWZpeH0tJHtjb3VudGVyfWAsXG4gICAgICAgICAgICBjdXJyZW50OiAwXG4gICAgICAgIH0pLCBbXG4gICAgICAgIGN1cixcbiAgICAgICAgY291bnRlclxuICAgIF0pO1xuICAgIC8vIElmIG9uIHRoZSBjbGllbnQsIGFuZCB0aGUgY29tcG9uZW50IHdhcyBpbml0aWFsbHkgc2VydmVyIHJlbmRlcmVkLFxuICAgIC8vIHRoZW4gc2NoZWR1bGUgYSBsYXlvdXQgZWZmZWN0IHRvIHVwZGF0ZSB0aGUgY29tcG9uZW50IGFmdGVyIGh5ZHJhdGlvbi5cbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgLy8gVGhpcyBpZiBzdGF0ZW1lbnQgdGVjaG5pY2FsbHkgYnJlYWtzIHRoZSBydWxlcyBvZiBob29rcywgYnV0IGlzIHNhZmVcbiAgICAvLyBiZWNhdXNlIHRoZSBjb25kaXRpb24gbmV2ZXIgY2hhbmdlcyBhZnRlciBtb3VudGluZy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAoMCwgJDY3MGdCJHVzZUxheW91dEVmZmVjdCkoKCk9PntcbiAgICAgICAgc2V0SXNTU1IoZmFsc2UpO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgIH0sIC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlRWxlbWVudCgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkSXNTU1JDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiBpc1NTUlxuICAgIH0sIHByb3BzLmNoaWxkcmVuKSk7XG59XG5sZXQgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHdhcm5lZEFib3V0U1NSUHJvdmlkZXIgPSBmYWxzZTtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ5ZjhhYzk2YWY0YjFiMmFlKHByb3BzKSB7XG4gICAgaWYgKHR5cGVvZiAoMCwgJDY3MGdCJHJlYWN0KVsndXNlSWQnXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICd0ZXN0JyAmJiAhJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHdhcm5lZEFib3V0U1NSUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignSW4gUmVhY3QgMTgsIFNTUlByb3ZpZGVyIGlzIG5vdCBuZWNlc3NhcnkgYW5kIGlzIGEgbm9vcC4gWW91IGNhbiByZW1vdmUgaXQgZnJvbSB5b3VyIGFwcC4nKTtcbiAgICAgICAgICAgICRiNWUyNTdkNTY5Njg4YWM2JHZhciR3YXJuZWRBYm91dFNTUlByb3ZpZGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCgwLCAkNjcwZ0IkcmVhY3QpLkZyYWdtZW50LCBudWxsLCBwcm9wcy5jaGlsZHJlbik7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCAkNjcwZ0IkcmVhY3QpLmNyZWF0ZUVsZW1lbnQoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJExlZ2FjeVNTUlByb3ZpZGVyLCBwcm9wcyk7XG59XG5sZXQgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNhblVzZURPTSA9IEJvb2xlYW4odHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbmxldCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzID0gbmV3IFdlYWtNYXAoKTtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VDb3VudGVyKGlzRGlzYWJsZWQgPSBmYWxzZSkge1xuICAgIGxldCBjdHggPSAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0KTtcbiAgICBsZXQgcmVmID0gKDAsICQ2NzBnQiR1c2VSZWYpKG51bGwpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBydWxlc2Rpci9wdXJlLXJlbmRlclxuICAgIGlmIChyZWYuY3VycmVudCA9PT0gbnVsbCAmJiAhaXNEaXNhYmxlZCkge1xuICAgICAgICB2YXIgX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEX1JlYWN0Q3VycmVudE93bmVyLCBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ7XG4gICAgICAgIC8vIEluIHN0cmljdCBtb2RlLCBSZWFjdCByZW5kZXJzIGNvbXBvbmVudHMgdHdpY2UsIGFuZCB0aGUgcmVmIHdpbGwgYmUgcmVzZXQgdG8gbnVsbCBvbiB0aGUgc2Vjb25kIHJlbmRlci5cbiAgICAgICAgLy8gVGhpcyBtZWFucyBvdXIgaWQgY291bnRlciB3aWxsIGJlIGluY3JlbWVudGVkIHR3aWNlIGluc3RlYWQgb2Ygb25jZS4gVGhpcyBpcyBhIHByb2JsZW0gYmVjYXVzZSBvbiB0aGVcbiAgICAgICAgLy8gc2VydmVyLCBjb21wb25lbnRzIGFyZSBvbmx5IHJlbmRlcmVkIG9uY2UgYW5kIHNvIGlkcyBnZW5lcmF0ZWQgb24gdGhlIHNlcnZlciB3b24ndCBtYXRjaCB0aGUgY2xpZW50LlxuICAgICAgICAvLyBJbiBSZWFjdCAxOCwgdXNlSWQgd2FzIGludHJvZHVjZWQgdG8gc29sdmUgdGhpcywgYnV0IGl0IGlzIG5vdCBhdmFpbGFibGUgaW4gb2xkZXIgdmVyc2lvbnMuIFNvIHRvIHNvbHZlIHRoaXNcbiAgICAgICAgLy8gd2UgbmVlZCB0byB1c2Ugc29tZSBSZWFjdCBpbnRlcm5hbHMgdG8gYWNjZXNzIHRoZSB1bmRlcmx5aW5nIEZpYmVyIGluc3RhbmNlLCB3aGljaCBpcyBzdGFibGUgYmV0d2VlbiByZW5kZXJzLlxuICAgICAgICAvLyBUaGlzIGlzIGV4cG9zZWQgYXMgUmVhY3RDdXJyZW50T3duZXIgaW4gZGV2ZWxvcG1lbnQsIHdoaWNoIGlzIGFsbCB3ZSBuZWVkIHNpbmNlIFN0cmljdE1vZGUgb25seSBydW5zIGluIGRldmVsb3BtZW50LlxuICAgICAgICAvLyBUbyBlbnN1cmUgdGhhdCB3ZSBvbmx5IGluY3JlbWVudCB0aGUgZ2xvYmFsIGNvdW50ZXIgb25jZSwgd2Ugc3RvcmUgdGhlIHN0YXJ0aW5nIGlkIGZvciB0aGlzIGNvbXBvbmVudCBpblxuICAgICAgICAvLyBhIHdlYWsgbWFwIGFzc29jaWF0ZWQgd2l0aCB0aGUgRmliZXIuIE9uIHRoZSBzZWNvbmQgcmVuZGVyLCB3ZSByZXNldCB0aGUgZ2xvYmFsIGNvdW50ZXIgdG8gdGhpcyB2YWx1ZS5cbiAgICAgICAgLy8gU2luY2UgUmVhY3QgcnVucyB0aGUgc2Vjb25kIHJlbmRlciBpbW1lZGlhdGVseSBhZnRlciB0aGUgZmlyc3QsIHRoaXMgaXMgc2FmZS5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgY3VycmVudE93bmVyID0gKF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9ICgwLCAkNjcwZ0IkcmVhY3QpLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEKSA9PT0gbnVsbCB8fCBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURfUmVhY3RDdXJyZW50T3duZXIgPSBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQuUmVhY3RDdXJyZW50T3duZXIpID09PSBudWxsIHx8IF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRF9SZWFjdEN1cnJlbnRPd25lciA9PT0gdm9pZCAwID8gdm9pZCAwIDogX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEX1JlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQ7XG4gICAgICAgIGlmIChjdXJyZW50T3duZXIpIHtcbiAgICAgICAgICAgIGxldCBwcmV2Q29tcG9uZW50VmFsdWUgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzLmdldChjdXJyZW50T3duZXIpO1xuICAgICAgICAgICAgaWYgKHByZXZDb21wb25lbnRWYWx1ZSA9PSBudWxsKSAvLyBPbiB0aGUgZmlyc3QgcmVuZGVyLCBhbmQgZmlyc3QgY2FsbCB0byB1c2VJZCwgc3RvcmUgdGhlIGlkIGFuZCBzdGF0ZSBpbiBvdXIgd2VhayBtYXAuXG4gICAgICAgICAgICAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzLnNldChjdXJyZW50T3duZXIsIHtcbiAgICAgICAgICAgICAgICBpZDogY3R4LmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgc3RhdGU6IGN1cnJlbnRPd25lci5tZW1vaXplZFN0YXRlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJlbnRPd25lci5tZW1vaXplZFN0YXRlICE9PSBwcmV2Q29tcG9uZW50VmFsdWUuc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBPbiB0aGUgc2Vjb25kIHJlbmRlciwgdGhlIG1lbW9pemVkU3RhdGUgZ2V0cyByZXNldCBieSBSZWFjdC5cbiAgICAgICAgICAgICAgICAvLyBSZXNldCB0aGUgY291bnRlciwgYW5kIHJlbW92ZSBmcm9tIHRoZSB3ZWFrIG1hcCBzbyB3ZSBkb24ndFxuICAgICAgICAgICAgICAgIC8vIGRvIHRoaXMgZm9yIHN1YnNlcXVlbnQgdXNlSWQgY2FsbHMuXG4gICAgICAgICAgICAgICAgY3R4LmN1cnJlbnQgPSBwcmV2Q29tcG9uZW50VmFsdWUuaWQ7XG4gICAgICAgICAgICAgICAgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNvbXBvbmVudElkcy5kZWxldGUoY3VycmVudE93bmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnVsZXNkaXIvcHVyZS1yZW5kZXJcbiAgICAgICAgcmVmLmN1cnJlbnQgPSArK2N0eC5jdXJyZW50O1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnVsZXNkaXIvcHVyZS1yZW5kZXJcbiAgICByZXR1cm4gcmVmLmN1cnJlbnQ7XG59XG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlTGVnYWN5U1NSU2FmZUlkKGRlZmF1bHRJZCkge1xuICAgIGxldCBjdHggPSAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0KTtcbiAgICAvLyBJZiB3ZSBhcmUgcmVuZGVyaW5nIGluIGEgbm9uLURPTSBlbnZpcm9ubWVudCwgYW5kIHRoZXJlJ3Mgbm8gU1NSUHJvdmlkZXIsXG4gICAgLy8gcHJvdmlkZSBhIHdhcm5pbmcgdG8gaGludCB0byB0aGUgZGV2ZWxvcGVyIHRvIGFkZCBvbmUuXG4gICAgaWYgKGN0eCA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ICYmICEkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY2FuVXNlRE9NKSBjb25zb2xlLndhcm4oJ1doZW4gc2VydmVyIHJlbmRlcmluZywgeW91IG11c3Qgd3JhcCB5b3VyIGFwcGxpY2F0aW9uIGluIGFuIDxTU1JQcm92aWRlcj4gdG8gZW5zdXJlIGNvbnNpc3RlbnQgaWRzIGFyZSBnZW5lcmF0ZWQgYmV0d2VlbiB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIuJyk7XG4gICAgbGV0IGNvdW50ZXIgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlQ291bnRlcighIWRlZmF1bHRJZCk7XG4gICAgbGV0IHByZWZpeCA9IGN0eCA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcgPyAncmVhY3QtYXJpYScgOiBgcmVhY3QtYXJpYSR7Y3R4LnByZWZpeH1gO1xuICAgIHJldHVybiBkZWZhdWx0SWQgfHwgYCR7cHJlZml4fS0ke2NvdW50ZXJ9YDtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VNb2Rlcm5TU1JTYWZlSWQoZGVmYXVsdElkKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxldCBpZCA9ICgwLCAkNjcwZ0IkcmVhY3QpLnVzZUlkKCk7XG4gICAgbGV0IFtkaWRTU1JdID0gKDAsICQ2NzBnQiR1c2VTdGF0ZSkoJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDUzNWJkNmNhN2Y5MGEyNzMoKSk7XG4gICAgbGV0IHByZWZpeCA9IGRpZFNTUiB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnID8gJ3JlYWN0LWFyaWEnIDogYHJlYWN0LWFyaWEkeyRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dC5wcmVmaXh9YDtcbiAgICByZXR1cm4gZGVmYXVsdElkIHx8IGAke3ByZWZpeH0tJHtpZH1gO1xufVxuY29uc3QgJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDYxOTUwMDk1OWZjNDhiMjYgPSB0eXBlb2YgKDAsICQ2NzBnQiRyZWFjdClbJ3VzZUlkJ10gPT09ICdmdW5jdGlvbicgPyAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlTW9kZXJuU1NSU2FmZUlkIDogJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHVzZUxlZ2FjeVNTUlNhZmVJZDtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciRnZXRTbmFwc2hvdCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZ2V0U2VydmVyU25hcHNob3QoKSB7XG4gICAgcmV0dXJuIHRydWU7XG59XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkc3Vic2NyaWJlKG9uU3RvcmVDaGFuZ2UpIHtcbiAgICAvLyBub29wXG4gICAgcmV0dXJuICgpPT57fTtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ1MzViZDZjYTdmOTBhMjczKCkge1xuICAgIC8vIEluIFJlYWN0IDE4LCB3ZSBjYW4gdXNlIHVzZVN5bmNFeHRlcm5hbFN0b3JlIHRvIGRldGVjdCBpZiB3ZSdyZSBzZXJ2ZXIgcmVuZGVyaW5nIG9yIGh5ZHJhdGluZy5cbiAgICBpZiAodHlwZW9mICgwLCAkNjcwZ0IkcmVhY3QpWyd1c2VTeW5jRXh0ZXJuYWxTdG9yZSddID09PSAnZnVuY3Rpb24nKSByZXR1cm4gKDAsICQ2NzBnQiRyZWFjdClbJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJ10oJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHN1YnNjcmliZSwgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGdldFNuYXBzaG90LCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHJldHVybiAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRJc1NTUkNvbnRleHQpO1xufVxuXG5cbmV4cG9ydCB7JGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDlmOGFjOTZhZjRiMWIyYWUgYXMgU1NSUHJvdmlkZXIsICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ1MzViZDZjYTdmOTBhMjczIGFzIHVzZUlzU1NSLCAkYjVlMjU3ZDU2OTY4OGFjNiRleHBvcnQkNjE5NTAwOTU5ZmM0OGIyNiBhcyB1c2VTU1JTYWZlSWR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U1NSUHJvdmlkZXIubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/utils/dist/domHelpers.mjs": -/*!************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/domHelpers.mjs ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getOwnerDocument: () => (/* binding */ $431fbd86ca7dc216$export$b204af158042fbac),\n/* harmony export */ getOwnerWindow: () => (/* binding */ $431fbd86ca7dc216$export$f21a1ffae260145a)\n/* harmony export */ });\nconst $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n var _el_ownerDocument;\n return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n\n\n\n//# sourceMappingURL=domHelpers.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9kb21IZWxwZXJzLm1qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR29JO0FBQ3BJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvZG9tSGVscGVycy5tanM/ZTMyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYjIwNGFmMTU4MDQyZmJhYyA9IChlbCk9PntcbiAgICB2YXIgX2VsX293bmVyRG9jdW1lbnQ7XG4gICAgcmV0dXJuIChfZWxfb3duZXJEb2N1bWVudCA9IGVsID09PSBudWxsIHx8IGVsID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlbC5vd25lckRvY3VtZW50KSAhPT0gbnVsbCAmJiBfZWxfb3duZXJEb2N1bWVudCAhPT0gdm9pZCAwID8gX2VsX293bmVyRG9jdW1lbnQgOiBkb2N1bWVudDtcbn07XG5jb25zdCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkZjIxYTFmZmFlMjYwMTQ1YSA9IChlbCk9PntcbiAgICBpZiAoZWwgJiYgJ3dpbmRvdycgaW4gZWwgJiYgZWwud2luZG93ID09PSBlbCkgcmV0dXJuIGVsO1xuICAgIGNvbnN0IGRvYyA9ICQ0MzFmYmQ4NmNhN2RjMjE2JGV4cG9ydCRiMjA0YWYxNTgwNDJmYmFjKGVsKTtcbiAgICByZXR1cm4gZG9jLmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbn07XG5cblxuZXhwb3J0IHskNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYjIwNGFmMTU4MDQyZmJhYyBhcyBnZXRPd25lckRvY3VtZW50LCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkZjIxYTFmZmFlMjYwMTQ1YSBhcyBnZXRPd25lcldpbmRvd307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kb21IZWxwZXJzLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs": -/*!****************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isVirtualClick: () => (/* binding */ $6a7db85432448f7f$export$60278871457622de),\n/* harmony export */ isVirtualPointerEvent: () => (/* binding */ $6a7db85432448f7f$export$29bf1b5f2c56cf63)\n/* harmony export */ });\n/* harmony import */ var _platform_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.mjs */ \"(ssr)/./node_modules/@react-aria/utils/dist/platform.mjs\");\n\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, _platform_mjs__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return !(0, _platform_mjs__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\n\n//# sourceMappingURL=isVirtualEvent.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9pc1ZpcnR1YWxFdmVudC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXNGOztBQUV0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxvREFBeUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG9EQUF5QztBQUN6RDs7O0FBR3lJO0FBQ3pJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvaXNWaXJ0dWFsRXZlbnQubWpzPzFjYTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0FuZHJvaWQgYXMgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzh9IGZyb20gXCIuL3BsYXRmb3JtLm1qc1wiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjIgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gXG5mdW5jdGlvbiAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkNjAyNzg4NzE0NTc2MjJkZShldmVudCkge1xuICAgIC8vIEpBV1MvTlZEQSB3aXRoIEZpcmVmb3guXG4gICAgaWYgKGV2ZW50Lm1veklucHV0U291cmNlID09PSAwICYmIGV2ZW50LmlzVHJ1c3RlZCkgcmV0dXJuIHRydWU7XG4gICAgLy8gQW5kcm9pZCBUYWxrQmFjaydzIGRldGFpbCB2YWx1ZSB2YXJpZXMgZGVwZW5kaW5nIG9uIHRoZSBldmVudCBsaXN0ZW5lciBwcm92aWRpbmcgdGhlIGV2ZW50IHNvIHdlIGhhdmUgc3BlY2lmaWMgbG9naWMgaGVyZSBpbnN0ZWFkXG4gICAgLy8gSWYgcG9pbnRlclR5cGUgaXMgZGVmaW5lZCwgZXZlbnQgaXMgZnJvbSBhIGNsaWNrIGxpc3RlbmVyLiBGb3IgZXZlbnRzIGZyb20gbW91c2Vkb3duIGxpc3RlbmVyLCBkZXRhaWwgPT09IDAgaXMgYSBzdWZmaWNpZW50IGNoZWNrXG4gICAgLy8gdG8gZGV0ZWN0IFRhbGtCYWNrIHZpcnR1YWwgY2xpY2tzLlxuICAgIGlmICgoMCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzgpKCkgJiYgZXZlbnQucG9pbnRlclR5cGUpIHJldHVybiBldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmJ1dHRvbnMgPT09IDE7XG4gICAgcmV0dXJuIGV2ZW50LmRldGFpbCA9PT0gMCAmJiAhZXZlbnQucG9pbnRlclR5cGU7XG59XG5mdW5jdGlvbiAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkMjliZjFiNWYyYzU2Y2Y2MyhldmVudCkge1xuICAgIC8vIElmIHRoZSBwb2ludGVyIHNpemUgaXMgemVybywgdGhlbiB3ZSBhc3N1bWUgaXQncyBmcm9tIGEgc2NyZWVuIHJlYWRlci5cbiAgICAvLyBBbmRyb2lkIFRhbGtCYWNrIGRvdWJsZSB0YXAgd2lsbCBzb21ldGltZXMgcmV0dXJuIGEgZXZlbnQgd2l0aCB3aWR0aCBhbmQgaGVpZ2h0IG9mIDFcbiAgICAvLyBhbmQgcG9pbnRlclR5cGUgPT09ICdtb3VzZScgc28gd2UgbmVlZCB0byBjaGVjayBmb3IgYSBzcGVjaWZpYyBjb21iaW5hdGlvbiBvZiBldmVudCBhdHRyaWJ1dGVzLlxuICAgIC8vIENhbm5vdCB1c2UgXCJldmVudC5wcmVzc3VyZSA9PT0gMFwiIGFzIHRoZSBzb2xlIGNoZWNrIGR1ZSB0byBTYWZhcmkgcG9pbnRlciBldmVudHMgYWx3YXlzIHJldHVybmluZyBwcmVzc3VyZSA9PT0gMFxuICAgIC8vIGluc3RlYWQgb2YgLjUsIHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjE2LiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyBpcyB0byBkaXN0aW5ndXNoXG4gICAgLy8gVGFsa2JhY2sgZG91YmxlIHRhcCBmcm9tIFdpbmRvd3MgRmlyZWZveCB0b3VjaCBzY3JlZW4gcHJlc3NcbiAgICByZXR1cm4gISgwLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYTExYjAwNTk5MDBjZWVjOCkoKSAmJiBldmVudC53aWR0aCA9PT0gMCAmJiBldmVudC5oZWlnaHQgPT09IDAgfHwgZXZlbnQud2lkdGggPT09IDEgJiYgZXZlbnQuaGVpZ2h0ID09PSAxICYmIGV2ZW50LnByZXNzdXJlID09PSAwICYmIGV2ZW50LmRldGFpbCA9PT0gMCAmJiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJztcbn1cblxuXG5leHBvcnQgeyQ2YTdkYjg1NDMyNDQ4ZjdmJGV4cG9ydCQ2MDI3ODg3MTQ1NzYyMmRlIGFzIGlzVmlydHVhbENsaWNrLCAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkMjliZjFiNWYyYzU2Y2Y2MyBhcyBpc1ZpcnR1YWxQb2ludGVyRXZlbnR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNWaXJ0dWFsRXZlbnQubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/utils/dist/platform.mjs": -/*!**********************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/platform.mjs ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isAndroid: () => (/* binding */ $c87311424ea30a05$export$a11b0059900ceec8),\n/* harmony export */ isAppleDevice: () => (/* binding */ $c87311424ea30a05$export$e1865c3bedcd822b),\n/* harmony export */ isChrome: () => (/* binding */ $c87311424ea30a05$export$6446a186d09e379e),\n/* harmony export */ isFirefox: () => (/* binding */ $c87311424ea30a05$export$b7d78993b74f766d),\n/* harmony export */ isIOS: () => (/* binding */ $c87311424ea30a05$export$fedb369cb70207f1),\n/* harmony export */ isIPad: () => (/* binding */ $c87311424ea30a05$export$7bef049ce92e4224),\n/* harmony export */ isIPhone: () => (/* binding */ $c87311424ea30a05$export$186c6964ca17d99),\n/* harmony export */ isMac: () => (/* binding */ $c87311424ea30a05$export$9ac100e40613ea10),\n/* harmony export */ isWebKit: () => (/* binding */ $c87311424ea30a05$export$78551043582a6a98)\n/* harmony export */ });\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n var _window_navigator_userAgentData;\n if (typeof window === 'undefined' || window.navigator == null) return false;\n return ((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand)=>re.test(brand.brand))) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n var _window_navigator_userAgentData;\n return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$export$9ac100e40613ea10() {\n return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n}\nfunction $c87311424ea30a05$export$186c6964ca17d99() {\n return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n}\nfunction $c87311424ea30a05$export$7bef049ce92e4224() {\n return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n}\nfunction $c87311424ea30a05$export$fedb369cb70207f1() {\n return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n}\nfunction $c87311424ea30a05$export$e1865c3bedcd822b() {\n return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n}\nfunction $c87311424ea30a05$export$78551043582a6a98() {\n return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n}\nfunction $c87311424ea30a05$export$6446a186d09e379e() {\n return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n}\nfunction $c87311424ea30a05$export$a11b0059900ceec8() {\n return $c87311424ea30a05$var$testUserAgent(/Android/i);\n}\nfunction $c87311424ea30a05$export$b7d78993b74f766d() {\n return $c87311424ea30a05$var$testUserAgent(/Firefox/i);\n}\n\n\n\n//# sourceMappingURL=platform.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9wbGF0Zm9ybS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR3FmO0FBQ3JmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvcGxhdGZvcm0ubWpzPzQ4NmYiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIGZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KHJlKSB7XG4gICAgdmFyIF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGE7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IHdpbmRvdy5uYXZpZ2F0b3IgPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiAoKF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPSB3aW5kb3cubmF2aWdhdG9yWyd1c2VyQWdlbnREYXRhJ10pID09PSBudWxsIHx8IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEuYnJhbmRzLnNvbWUoKGJyYW5kKT0+cmUudGVzdChicmFuZC5icmFuZCkpKSB8fCByZS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0UGxhdGZvcm0ocmUpIHtcbiAgICB2YXIgX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YTtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lm5hdmlnYXRvciAhPSBudWxsID8gcmUudGVzdCgoKF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPSB3aW5kb3cubmF2aWdhdG9yWyd1c2VyQWdlbnREYXRhJ10pID09PSBudWxsIHx8IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEucGxhdGZvcm0pIHx8IHdpbmRvdy5uYXZpZ2F0b3IucGxhdGZvcm0pIDogZmFsc2U7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkOWFjMTAwZTQwNjEzZWExMCgpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RQbGF0Zm9ybSgvXk1hYy9pKTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQxODZjNjk2NGNhMTdkOTkoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0UGxhdGZvcm0oL15pUGhvbmUvaSk7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkN2JlZjA0OWNlOTJlNDIyNCgpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RQbGF0Zm9ybSgvXmlQYWQvaSkgfHwgLy8gaVBhZE9TIDEzIGxpZXMgYW5kIHNheXMgaXQncyBhIE1hYywgYnV0IHdlIGNhbiBkaXN0aW5ndWlzaCBieSBkZXRlY3RpbmcgdG91Y2ggc3VwcG9ydC5cbiAgICAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkOWFjMTAwZTQwNjEzZWExMCgpICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDE7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZmVkYjM2OWNiNzAyMDdmMSgpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDE4NmM2OTY0Y2ExN2Q5OSgpIHx8ICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3YmVmMDQ5Y2U5MmU0MjI0KCk7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZTE4NjVjM2JlZGNkODIyYigpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDlhYzEwMGU0MDYxM2VhMTAoKSB8fCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZmVkYjM2OWNiNzAyMDdmMSgpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDc4NTUxMDQzNTgyYTZhOTgoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9BcHBsZVdlYktpdC9pKSAmJiAhJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDY0NDZhMTg2ZDA5ZTM3OWUoKTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ2NDQ2YTE4NmQwOWUzNzllKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFVzZXJBZ2VudCgvQ2hyb21lL2kpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzgoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9BbmRyb2lkL2kpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGI3ZDc4OTkzYjc0Zjc2NmQoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9GaXJlZm94L2kpO1xufVxuXG5cbmV4cG9ydCB7JGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDlhYzEwMGU0MDYxM2VhMTAgYXMgaXNNYWMsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQxODZjNjk2NGNhMTdkOTkgYXMgaXNJUGhvbmUsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3YmVmMDQ5Y2U5MmU0MjI0IGFzIGlzSVBhZCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGZlZGIzNjljYjcwMjA3ZjEgYXMgaXNJT1MsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRlMTg2NWMzYmVkY2Q4MjJiIGFzIGlzQXBwbGVEZXZpY2UsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3ODU1MTA0MzU4MmE2YTk4IGFzIGlzV2ViS2l0LCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkNjQ0NmExODZkMDllMzc5ZSBhcyBpc0Nocm9tZSwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzggYXMgaXNBbmRyb2lkLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYjdkNzg5OTNiNzRmNzY2ZCBhcyBpc0ZpcmVmb3h9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGxhdGZvcm0ubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/utils/dist/platform.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs": -/*!****************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/useEffectEvent.mjs ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEffectEvent: () => (/* binding */ $8ae05eaa5c114e9c$export$7f54fc3180508a52)\n/* harmony export */ });\n/* harmony import */ var _useLayoutEffect_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useLayoutEffect.mjs */ \"(ssr)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\n\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n const ref = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0, _useLayoutEffect_mjs__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((...args)=>{\n const f = ref.current;\n return f === null || f === void 0 ? void 0 : f(...args);\n }, []);\n}\n\n\n\n//# sourceMappingURL=useEffectEvent.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VFZmZlY3RFdmVudC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW1HO0FBQ2xCOztBQUVqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLHlDQUFhO0FBQ2pDLFFBQVEsaUVBQXlDO0FBQ2pEO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGVBQWUsOENBQWtCO0FBQ2pDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdxRTtBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUVmZmVjdEV2ZW50Lm1qcz8yMTM2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlTGF5b3V0RWZmZWN0IGFzICRmMGEwNGNjZDhkYmRkODNiJGV4cG9ydCRlNWM1YTVmOTE3YTU4NzFjfSBmcm9tIFwiLi91c2VMYXlvdXRFZmZlY3QubWpzXCI7XG5pbXBvcnQge3VzZVJlZiBhcyAkbG1hWXIkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkbG1hWXIkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjMgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gXG5cbmZ1bmN0aW9uICQ4YWUwNWVhYTVjMTE0ZTljJGV4cG9ydCQ3ZjU0ZmMzMTgwNTA4YTUyKGZuKSB7XG4gICAgY29uc3QgcmVmID0gKDAsICRsbWFZciR1c2VSZWYpKG51bGwpO1xuICAgICgwLCAkZjBhMDRjY2Q4ZGJkZDgzYiRleHBvcnQkZTVjNWE1ZjkxN2E1ODcxYykoKCk9PntcbiAgICAgICAgcmVmLmN1cnJlbnQgPSBmbjtcbiAgICB9LCBbXG4gICAgICAgIGZuXG4gICAgXSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiAoMCwgJGxtYVlyJHVzZUNhbGxiYWNrKSgoLi4uYXJncyk9PntcbiAgICAgICAgY29uc3QgZiA9IHJlZi5jdXJyZW50O1xuICAgICAgICByZXR1cm4gZiA9PT0gbnVsbCB8fCBmID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmKC4uLmFyZ3MpO1xuICAgIH0sIFtdKTtcbn1cblxuXG5leHBvcnQgeyQ4YWUwNWVhYTVjMTE0ZTljJGV4cG9ydCQ3ZjU0ZmMzMTgwNTA4YTUyIGFzIHVzZUVmZmVjdEV2ZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUVmZmVjdEV2ZW50Lm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLayoutEffect: () => (/* binding */ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, react__WEBPACK_IMPORTED_MODULE_0__).useLayoutEffect : ()=>{};\n\n\n\n//# sourceMappingURL=useLayoutEffect.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VMYXlvdXRFZmZlY3QubWpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWlDOztBQUVqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0ZBQXdGLGtDQUFZOzs7QUFHOUI7QUFDdEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VMYXlvdXRFZmZlY3QubWpzPzNjMDkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICRIZ0FOZCRyZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuY29uc3QgJGYwYTA0Y2NkOGRiZGQ4M2IkZXhwb3J0JGU1YzVhNWY5MTdhNTg3MWMgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gKDAsICRIZ0FOZCRyZWFjdCkudXNlTGF5b3V0RWZmZWN0IDogKCk9Pnt9O1xuXG5cbmV4cG9ydCB7JGYwYTA0Y2NkOGRiZGQ4M2IkZXhwb3J0JGU1YzVhNWY5MTdhNTg3MWMgYXMgdXNlTGF5b3V0RWZmZWN0fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUxheW91dEVmZmVjdC5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/@swc.js b/.next/server/vendor-chunks/@swc.js deleted file mode 100644 index a9932b0..0000000 --- a/.next/server/vendor-chunks/@swc.js +++ /dev/null @@ -1,95 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/@swc"; -exports.ids = ["vendor-chunks/@swc"]; -exports.modules = { - -/***/ "./node_modules/@swc/helpers/cjs/_interop_require_default.cjs": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/cjs/_interop_require_default.cjs ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -eval("\n\nexports._ = exports._interop_require_default = _interop_require_default;\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuY2pzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLFNBQVMsR0FBRyxnQ0FBZ0M7QUFDNUM7QUFDQSwyQ0FBMkM7QUFDM0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuY2pzPzRlZjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuXyA9IGV4cG9ydHMuX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0O1xuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9O1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\n"); - -/***/ }), - -/***/ "./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs": -/*!*********************************************************************!*\ - !*** ./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -eval("\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nexports._ = exports._interop_require_wildcard = _interop_require_wildcard;\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmNqcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFNBQVMsR0FBRyxpQ0FBaUM7QUFDN0M7QUFDQTtBQUNBLHVGQUF1Rjs7QUFFdkY7O0FBRUE7O0FBRUEsbUJBQW1CO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmNqcz84MmVkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApIHtcbiAgICBpZiAodHlwZW9mIFdlYWtNYXAgIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIG51bGw7XG5cbiAgICB2YXIgY2FjaGVCYWJlbEludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcblxuICAgIHJldHVybiAoX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlID0gZnVuY3Rpb24obm9kZUludGVyb3ApIHtcbiAgICAgICAgcmV0dXJuIG5vZGVJbnRlcm9wID8gY2FjaGVOb2RlSW50ZXJvcCA6IGNhY2hlQmFiZWxJbnRlcm9wO1xuICAgIH0pKG5vZGVJbnRlcm9wKTtcbn1cbmV4cG9ydHMuXyA9IGV4cG9ydHMuX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQ7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKG9iaiwgbm9kZUludGVyb3ApIHtcbiAgICBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkgcmV0dXJuIG9iajtcbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG9iaiAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4geyBkZWZhdWx0OiBvYmogfTtcblxuICAgIHZhciBjYWNoZSA9IF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCk7XG5cbiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHJldHVybiBjYWNoZS5nZXQob2JqKTtcblxuICAgIHZhciBuZXdPYmogPSB7IF9fcHJvdG9fXzogbnVsbCB9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgZWxzZSBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV3T2JqLmRlZmF1bHQgPSBvYmo7XG5cbiAgICBpZiAoY2FjaGUpIGNhY2hlLnNldChvYmosIG5ld09iaik7XG5cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _class_private_field_loose_base),\n/* harmony export */ _class_private_field_loose_base: () => (/* binding */ _class_private_field_loose_base)\n/* harmony export */ });\nfunction _class_private_field_loose_base(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n\n return receiver;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNnRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuanM/NDU1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZShyZWNlaXZlciwgcHJpdmF0ZUtleSkge1xuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHJlY2VpdmVyLCBwcml2YXRlS2V5KSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHVzZSBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVjZWl2ZXI7XG59XG5leHBvcnQgeyBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlIGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _class_private_field_loose_key),\n/* harmony export */ _class_private_field_loose_key: () => (/* binding */ _class_private_field_loose_key)\n/* harmony export */ });\nvar id = 0;\n\nfunction _class_private_field_loose_key(name) {\n return \"__private_\" + id++ + \"_\" + name;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFFTztBQUNQO0FBQ0E7QUFDK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkuanM/YjE3MyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaWQgPSAwO1xuXG5leHBvcnQgZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5KG5hbWUpIHtcbiAgICByZXR1cm4gXCJfX3ByaXZhdGVfXCIgKyBpZCsrICsgXCJfXCIgKyBuYW1lO1xufVxuZXhwb3J0IHsgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5IGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _interop_require_default),\n/* harmony export */ _interop_require_default: () => (/* binding */ _interop_require_default)\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5qcz8zYTY0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07XG59XG5leHBvcnQgeyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_wildcard.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _interop_require_wildcard),\n/* harmony export */ _interop_require_wildcard: () => (/* binding */ _interop_require_wildcard)\n/* harmony export */ });\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0EsdUZBQXVGOztBQUV2Rjs7QUFFQTs7QUFFQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUMwQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuanM/NDNkYiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApIHtcbiAgICBpZiAodHlwZW9mIFdlYWtNYXAgIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIG51bGw7XG5cbiAgICB2YXIgY2FjaGVCYWJlbEludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcblxuICAgIHJldHVybiAoX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlID0gZnVuY3Rpb24obm9kZUludGVyb3ApIHtcbiAgICAgICAgcmV0dXJuIG5vZGVJbnRlcm9wID8gY2FjaGVOb2RlSW50ZXJvcCA6IGNhY2hlQmFiZWxJbnRlcm9wO1xuICAgIH0pKG5vZGVJbnRlcm9wKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKG9iaiwgbm9kZUludGVyb3ApIHtcbiAgICBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkgcmV0dXJuIG9iajtcbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG9iaiAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4geyBkZWZhdWx0OiBvYmogfTtcblxuICAgIHZhciBjYWNoZSA9IF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCk7XG5cbiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHJldHVybiBjYWNoZS5nZXQob2JqKTtcblxuICAgIHZhciBuZXdPYmogPSB7IF9fcHJvdG9fXzogbnVsbCB9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgZWxzZSBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV3T2JqLmRlZmF1bHQgPSBvYmo7XG5cbiAgICBpZiAoY2FjaGUpIGNhY2hlLnNldChvYmosIG5ld09iaik7XG5cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuZXhwb3J0IHsgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _tagged_template_literal_loose),\n/* harmony export */ _tagged_template_literal_loose: () => (/* binding */ _tagged_template_literal_loose)\n/* harmony export */ });\nfunction _tagged_template_literal_loose(strings, raw) {\n if (!raw) raw = strings.slice(0);\n\n strings.raw = raw;\n\n return strings;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7QUFDK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuanM/MjQ1YyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlKHN0cmluZ3MsIHJhdykge1xuICAgIGlmICghcmF3KSByYXcgPSBzdHJpbmdzLnNsaWNlKDApO1xuXG4gICAgc3RyaW5ncy5yYXcgPSByYXc7XG5cbiAgICByZXR1cm4gc3RyaW5ncztcbn1cbmV4cG9ydCB7IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _interop_require_default),\n/* harmony export */ _interop_require_default: () => (/* binding */ _interop_require_default)\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5qcz83MjcxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07XG59XG5leHBvcnQgeyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/clsx.js b/.next/server/vendor-chunks/clsx.js deleted file mode 100644 index d144d1d..0000000 --- a/.next/server/vendor-chunks/clsx.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/clsx"; -exports.ids = ["vendor-chunks/clsx"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/clsx/dist/clsx.mjs": -/*!*****************************************!*\ - !*** ./node_modules/clsx/dist/clsx.mjs ***! - \*****************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clsx: () => (/* binding */ clsx),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clsx: () => (/* binding */ clsx),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t { - -"use strict"; -eval("/**\n * Hoists a name from a module or promised module.\n *\n * @param module the module to hoist the name from\n * @param name the name to hoist\n * @returns the value on the module (or promised module)\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hoist\", ({\n enumerable: true,\n get: function() {\n return hoist;\n }\n}));\nfunction hoist(module, name) {\n // If the name is available in the module, return it.\n if (name in module) {\n return module[name];\n }\n // If a property called `then` exists, assume it's a promise and\n // return a promise that resolves to the name.\n if (\"then\" in module && typeof module.then === \"function\") {\n return module.then((mod)=>hoist(mod, name));\n }\n // If we're trying to hoise the default export, and the module is a function,\n // return the module itself.\n if (typeof module === \"function\" && name === \"default\") {\n return module;\n }\n // Otherwise, return undefined.\n return undefined;\n}\n\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3RlbXBsYXRlcy9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQWlCO0FBQ2pCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHlDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvdGVtcGxhdGVzL2hlbHBlcnMuanM/YjI4NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvaXN0cyBhIG5hbWUgZnJvbSBhIG1vZHVsZSBvciBwcm9taXNlZCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIG1vZHVsZSB0aGUgbW9kdWxlIHRvIGhvaXN0IHRoZSBuYW1lIGZyb21cbiAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIHRvIGhvaXN0XG4gKiBAcmV0dXJucyB0aGUgdmFsdWUgb24gdGhlIG1vZHVsZSAob3IgcHJvbWlzZWQgbW9kdWxlKVxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaG9pc3RcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhvaXN0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaG9pc3QobW9kdWxlLCBuYW1lKSB7XG4gICAgLy8gSWYgdGhlIG5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBtb2R1bGUsIHJldHVybiBpdC5cbiAgICBpZiAobmFtZSBpbiBtb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZVtuYW1lXTtcbiAgICB9XG4gICAgLy8gSWYgYSBwcm9wZXJ0eSBjYWxsZWQgYHRoZW5gIGV4aXN0cywgYXNzdW1lIGl0J3MgYSBwcm9taXNlIGFuZFxuICAgIC8vIHJldHVybiBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgbmFtZS5cbiAgICBpZiAoXCJ0aGVuXCIgaW4gbW9kdWxlICYmIHR5cGVvZiBtb2R1bGUudGhlbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGUudGhlbigobW9kKT0+aG9pc3QobW9kLCBuYW1lKSk7XG4gICAgfVxuICAgIC8vIElmIHdlJ3JlIHRyeWluZyB0byBob2lzZSB0aGUgZGVmYXVsdCBleHBvcnQsIGFuZCB0aGUgbW9kdWxlIGlzIGEgZnVuY3Rpb24sXG4gICAgLy8gcmV0dXJuIHRoZSBtb2R1bGUgaXRzZWxmLlxuICAgIGlmICh0eXBlb2YgbW9kdWxlID09PSBcImZ1bmN0aW9uXCIgJiYgbmFtZSA9PT0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdW5kZWZpbmVkLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/templates/helpers.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_app.js": -/*!**********************************************!*\ - !*** ./node_modules/next/dist/pages/_app.js ***! - \**********************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return App;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"react\"));\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */ async function appGetInitialProps(param) {\n let { Component, ctx } = param;\n const pageProps = await (0, _utils.loadGetInitialProps)(Component, ctx);\n return {\n pageProps\n };\n}\nclass App extends _react.default.Component {\n render() {\n const { Component, pageProps } = this.props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...pageProps\n });\n }\n}\nApp.origGetInitialProps = appGetInitialProps;\nApp.getInitialProps = appGetInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_app.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19hcHAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztlQWlDcUJBOzs7Ozs0RUFqQ0g7bUNBV2tCO0FBVXBDOzs7Q0FHQyxHQUNELGVBQWVDLG1CQUFtQkMsS0FHckI7SUFIcUIsTUFDaENDLFNBQVMsRUFDVEMsR0FBRyxFQUNRLEdBSHFCRjtJQUloQyxNQUFNRyxZQUFZLE1BQU1DLENBQUFBLEdBQUFBLE9BQUFBLG1CQUFtQixFQUFDSCxXQUFXQztJQUN2RCxPQUFPO1FBQUVDO0lBQVU7QUFDckI7QUFFZSxNQUFNTCxZQUFzQ08sT0FBQUEsT0FBSyxDQUFDSixTQUFTO0lBT3hFSyxTQUFTO1FBQ1AsTUFBTSxFQUFFTCxTQUFTLEVBQUVFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQ0ksS0FBSztRQUUzQyxPQUFPLFdBQVAsR0FBTyxJQUFBQyxZQUFBQyxHQUFBLEVBQUNSLFdBQUFBO1lBQVcsR0FBR0UsU0FBUzs7SUFDakM7QUFDRjtBQVpxQkwsSUFJWlksbUJBQUFBLEdBQXNCWDtBQUpWRCxJQUtaYSxlQUFBQSxHQUFrQloiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vc3JjL3BhZ2VzL19hcHAudHN4PzdjNmEiXSwibmFtZXMiOlsiQXBwIiwiYXBwR2V0SW5pdGlhbFByb3BzIiwicGFyYW0iLCJDb21wb25lbnQiLCJjdHgiLCJwYWdlUHJvcHMiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwiUmVhY3QiLCJyZW5kZXIiLCJwcm9wcyIsIl9qc3hydW50aW1lIiwianN4Iiwib3JpZ0dldEluaXRpYWxQcm9wcyIsImdldEluaXRpYWxQcm9wcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_app.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_document.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/pages/_document.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Head: function() {\n return Head;\n },\n Html: function() {\n return Html;\n },\n Main: function() {\n return Main;\n },\n NextScript: function() {\n return NextScript;\n },\n /**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */ default: function() {\n return Document;\n }\n});\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! react */ \"react\"));\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"./node_modules/next/dist/shared/lib/constants.js\");\nconst _getpagefiles = __webpack_require__(/*! ../server/get-page-files */ \"./node_modules/next/dist/server/get-page-files.js\");\nconst _htmlescape = __webpack_require__(/*! ../server/htmlescape */ \"./node_modules/next/dist/server/htmlescape.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _htmlcontextsharedruntime = __webpack_require__(/*! ../shared/lib/html-context.shared-runtime */ \"./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js\");\nconst _encodeuripath = __webpack_require__(/*! ../shared/lib/encode-uri-path */ \"./node_modules/next/dist/shared/lib/encode-uri-path.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {\n __proto__: null\n };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n/** Set of pages that have triggered a large data warning on production mode. */ const largePageDataWarnings = new Set();\nfunction getDocumentFiles(buildManifest, pathname, inAmpMode) {\n const sharedFiles = (0, _getpagefiles.getPageFiles)(buildManifest, \"/_app\");\n const pageFiles = true && inAmpMode ? [] : (0, _getpagefiles.getPageFiles)(buildManifest, pathname);\n return {\n sharedFiles,\n pageFiles,\n allFiles: [\n ...new Set([\n ...sharedFiles,\n ...pageFiles\n ])\n ]\n };\n}\nfunction getPolyfillScripts(context, props) {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const { assetPrefix, buildManifest, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(\".js\") && !polyfill.endsWith(\".module.js\")).map((polyfill)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n defer: !disableOptimizedLoading,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin,\n noModule: true,\n src: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(polyfill)}${assetQueryString}`\n }, polyfill));\n}\nfunction hasComponentProps(child) {\n return !!child && !!child.props;\n}\nfunction AmpStyles({ styles }) {\n if (!styles) return null;\n // try to parse styles from fragment for backwards compat\n const curStyles = Array.isArray(styles) ? styles : [];\n if (styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)) {\n const hasStyles = (el)=>{\n var _el_props_dangerouslySetInnerHTML, _el_props;\n return el == null ? void 0 : (_el_props = el.props) == null ? void 0 : (_el_props_dangerouslySetInnerHTML = _el_props.dangerouslySetInnerHTML) == null ? void 0 : _el_props_dangerouslySetInnerHTML.__html;\n };\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props.children.forEach((child)=>{\n if (Array.isArray(child)) {\n child.forEach((el)=>hasStyles(el) && curStyles.push(el));\n } else if (hasStyles(child)) {\n curStyles.push(child);\n }\n });\n }\n /* Add custom styles before AMP styles to prevent accidental overrides */ return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"amp-custom\": \"\",\n dangerouslySetInnerHTML: {\n __html: curStyles.map((style)=>style.props.dangerouslySetInnerHTML.__html).join(\"\").replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, \"\").replace(/\\/\\*@ sourceURL=.*?\\*\\//g, \"\")\n }\n });\n}\nfunction getDynamicChunks(context, props, files) {\n const { dynamicImports, assetPrefix, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\") || files.allFiles.includes(file)) return null;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n src: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(file)}${assetQueryString}`,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin\n }, file);\n });\n}\nfunction getScripts(context, props, files) {\n var _buildManifest_lowPriorityFiles;\n const { assetPrefix, buildManifest, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n const normalScripts = files.allFiles.filter((file)=>file.endsWith(\".js\"));\n const lowPriorityScripts = (_buildManifest_lowPriorityFiles = buildManifest.lowPriorityFiles) == null ? void 0 : _buildManifest_lowPriorityFiles.filter((file)=>file.endsWith(\".js\"));\n return [\n ...normalScripts,\n ...lowPriorityScripts\n ].map((file)=>{\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n src: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(file)}${assetQueryString}`,\n nonce: props.nonce,\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n crossOrigin: props.crossOrigin || crossOrigin\n }, file);\n });\n}\nfunction getPreNextWorkerScripts(context, props) {\n const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context;\n // disable `nextScriptWorkers` in edge runtime\n if (!nextScriptWorkers || \"nodejs\" === \"edge\") return null;\n try {\n let { partytownSnippet } = require(\"@builder.io/partytown/integration\");\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n // Check to see if the user has defined their own Partytown configuration\n const userDefinedConfig = children.find((child)=>{\n var _child_props_dangerouslySetInnerHTML, _child_props;\n return hasComponentProps(child) && (child == null ? void 0 : (_child_props = child.props) == null ? void 0 : (_child_props_dangerouslySetInnerHTML = _child_props.dangerouslySetInnerHTML) == null ? void 0 : _child_props_dangerouslySetInnerHTML.__html.length) && \"data-partytown-config\" in child.props;\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n !userDefinedConfig && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n \"data-partytown-config\": \"\",\n dangerouslySetInnerHTML: {\n __html: `\n partytown = {\n lib: \"${assetPrefix}/_next/static/~partytown/\"\n };\n `\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n \"data-partytown\": \"\",\n dangerouslySetInnerHTML: {\n __html: partytownSnippet()\n }\n }),\n (scriptLoader.worker || []).map((file, index)=>{\n const { strategy, src, children: scriptChildren, dangerouslySetInnerHTML, ...scriptProps } = file;\n let srcProps = {};\n if (src) {\n // Use external src if provided\n srcProps.src = src;\n } else if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n // Embed inline script if provided with dangerouslySetInnerHTML\n srcProps.dangerouslySetInnerHTML = {\n __html: dangerouslySetInnerHTML.__html\n };\n } else if (scriptChildren) {\n // Embed inline script if provided with children\n srcProps.dangerouslySetInnerHTML = {\n __html: typeof scriptChildren === \"string\" ? scriptChildren : Array.isArray(scriptChildren) ? scriptChildren.join(\"\") : \"\"\n };\n } else {\n throw new Error(\"Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script\");\n }\n return /*#__PURE__*/ (0, _react.createElement)(\"script\", {\n ...srcProps,\n ...scriptProps,\n type: \"text/partytown\",\n key: src || index,\n nonce: props.nonce,\n \"data-nscript\": \"worker\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n })\n ]\n });\n } catch (err) {\n if ((0, _iserror.default)(err) && err.code !== \"MODULE_NOT_FOUND\") {\n console.warn(`Warning: ${err.message}`);\n }\n return null;\n }\n}\nfunction getPreNextScripts(context, props) {\n const { scriptLoader, disableOptimizedLoading, crossOrigin } = context;\n const webWorkerScripts = getPreNextWorkerScripts(context, props);\n const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{\n const { strategy, ...scriptProps } = file;\n return /*#__PURE__*/ (0, _react.createElement)(\"script\", {\n ...scriptProps,\n key: scriptProps.src || index,\n defer: scriptProps.defer ?? !disableOptimizedLoading,\n nonce: props.nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n webWorkerScripts,\n beforeInteractiveScripts\n ]\n });\n}\nfunction getHeadHTMLProps(props) {\n const { crossOrigin, nonce, ...restProps } = props;\n // This assignment is necessary for additional type checking to avoid unsupported attributes in \n const headProps = restProps;\n return headProps;\n}\nfunction getAmpPath(ampPath, asPath) {\n return ampPath || `${asPath}${asPath.includes(\"?\") ? \"&\" : \"?\"}amp=1`;\n}\nfunction getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix = \"\") {\n if (!nextFontManifest) {\n return {\n preconnect: null,\n preload: null\n };\n }\n const appFontsEntry = nextFontManifest.pages[\"/_app\"];\n const pageFontsEntry = nextFontManifest.pages[dangerousAsPath];\n const preloadedFontFiles = Array.from(new Set([\n ...appFontsEntry ?? [],\n ...pageFontsEntry ?? []\n ]));\n // If no font files should preload but there's an entry for the path, add a preconnect tag.\n const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry));\n return {\n preconnect: preconnectToSelf ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n \"data-next-font\": nextFontManifest.pagesUsingSizeAdjust ? \"size-adjust\" : \"\",\n rel: \"preconnect\",\n href: \"/\",\n crossOrigin: \"anonymous\"\n }) : null,\n preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{\n const ext = /\\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1];\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n href: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(fontFile)}`,\n as: \"font\",\n type: `font/${ext}`,\n crossOrigin: \"anonymous\",\n \"data-next-font\": fontFile.includes(\"-s\") ? \"size-adjust\" : \"\"\n }, fontFile);\n }) : null\n };\n}\nclass Head extends _react.default.Component {\n static #_ = this.contextType = _htmlcontextsharedruntime.HtmlContext;\n getCssLinks(files) {\n const { assetPrefix, assetQueryString, dynamicImports, crossOrigin, optimizeCss, optimizeFonts } = this.context;\n const cssFiles = files.allFiles.filter((f)=>f.endsWith(\".css\"));\n const sharedFiles = new Set(files.sharedFiles);\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmangedFiles = new Set([]);\n let dynamicCssFiles = Array.from(new Set(dynamicImports.filter((file)=>file.endsWith(\".css\"))));\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles);\n dynamicCssFiles = dynamicCssFiles.filter((f)=>!(existing.has(f) || sharedFiles.has(f)));\n unmangedFiles = new Set(dynamicCssFiles);\n cssFiles.push(...dynamicCssFiles);\n }\n let cssLinkElements = [];\n cssFiles.forEach((file)=>{\n const isSharedFile = sharedFiles.has(file);\n if (!optimizeCss) {\n cssLinkElements.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(file)}${assetQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, `${file}-preload`));\n }\n const isUnmanagedFile = unmangedFiles.has(file);\n cssLinkElements.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(file)}${assetQueryString}`,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-n-g\": isUnmanagedFile ? undefined : isSharedFile ? \"\" : undefined,\n \"data-n-p\": isUnmanagedFile ? undefined : isSharedFile ? undefined : \"\"\n }, file));\n });\n if (false) {}\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n getPreloadDynamicChunks() {\n const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } = this.context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\")) {\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n href: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(file)}${assetQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file);\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n getPreloadMainLinks(files) {\n const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } = this.context;\n const preloadFiles = files.allFiles.filter((file)=>{\n return file.endsWith(\".js\");\n });\n return [\n ...(scriptLoader.beforeInteractive || []).map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"preload\",\n href: file.src,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file.src)),\n ...preloadFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(file)}${assetQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file))\n ];\n }\n getBeforeInteractiveInlineScripts() {\n const { scriptLoader } = this.context;\n const { nonce, crossOrigin } = this.props;\n return (scriptLoader.beforeInteractive || []).filter((script)=>!script.src && (script.dangerouslySetInnerHTML || script.children)).map((file, index)=>{\n const { strategy, children, dangerouslySetInnerHTML, src, ...scriptProps } = file;\n let html = \"\";\n if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n html = dangerouslySetInnerHTML.__html;\n } else if (children) {\n html = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return /*#__PURE__*/ (0, _react.createElement)(\"script\", {\n ...scriptProps,\n dangerouslySetInnerHTML: {\n __html: html\n },\n key: scriptProps.id || index,\n nonce: nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: crossOrigin || undefined\n });\n });\n }\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n makeStylesheetInert(node) {\n return _react.default.Children.map(node, (c)=>{\n var _c_props, _c_props1;\n if ((c == null ? void 0 : c.type) === \"link\" && (c == null ? void 0 : (_c_props = c.props) == null ? void 0 : _c_props.href) && _constants.OPTIMIZED_FONT_PROVIDERS.some(({ url })=>{\n var _c_props_href, _c_props;\n return c == null ? void 0 : (_c_props = c.props) == null ? void 0 : (_c_props_href = _c_props.href) == null ? void 0 : _c_props_href.startsWith(url);\n })) {\n const newProps = {\n ...c.props || {},\n \"data-href\": c.props.href,\n href: undefined\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n } else if (c == null ? void 0 : (_c_props1 = c.props) == null ? void 0 : _c_props1.children) {\n const newProps = {\n ...c.props || {},\n children: this.makeStylesheetInert(c.props.children)\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n }\n return c;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n }).filter(Boolean);\n }\n render() {\n const { styles, ampPath, inAmpMode, hybridAmp, canonicalBase, __NEXT_DATA__, dangerousAsPath, headTags, unstable_runtimeJS, unstable_JsPreload, disableOptimizedLoading, optimizeCss, optimizeFonts, assetPrefix, nextFontManifest } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading;\n this.context.docComponentsRendered.Head = true;\n let { head } = this.context;\n let cssPreloads = [];\n let otherHeadElements = [];\n if (head) {\n head.forEach((c)=>{\n let metaTag;\n if (this.context.strictNextHead) {\n metaTag = /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head\",\n content: \"1\"\n });\n }\n if (c && c.type === \"link\" && c.props[\"rel\"] === \"preload\" && c.props[\"as\"] === \"style\") {\n metaTag && cssPreloads.push(metaTag);\n cssPreloads.push(c);\n } else {\n if (c) {\n if (metaTag && (c.type !== \"meta\" || !c.props[\"charSet\"])) {\n otherHeadElements.push(metaTag);\n }\n otherHeadElements.push(c);\n }\n }\n });\n head = cssPreloads.concat(otherHeadElements);\n }\n let children = _react.default.Children.toArray(this.props.children).filter(Boolean);\n // show a warning if Head contains (only in development)\n if (true) {\n children = _react.default.Children.map(children, (child)=>{\n var _child_props;\n const isReactHelmet = child == null ? void 0 : (_child_props = child.props) == null ? void 0 : _child_props[\"data-react-helmet\"];\n if (!isReactHelmet) {\n var _child_props1;\n if ((child == null ? void 0 : child.type) === \"title\") {\n console.warn(\"Warning: <title> should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-title\");\n } else if ((child == null ? void 0 : child.type) === \"meta\" && (child == null ? void 0 : (_child_props1 = child.props) == null ? void 0 : _child_props1.name) === \"viewport\") {\n console.warn(\"Warning: viewport meta tags should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-viewport-meta\");\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n if (this.props.crossOrigin) console.warn(\"Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n if (false) {}\n let hasAmphtmlRel = false;\n let hasCanonicalRel = false;\n // show warning and remove conflicting amp head tags\n head = _react.default.Children.map(head || [], (child)=>{\n if (!child) return child;\n const { type, props } = child;\n if ( true && inAmpMode) {\n let badProp = \"\";\n if (type === \"meta\" && props.name === \"viewport\") {\n badProp = 'name=\"viewport\"';\n } else if (type === \"link\" && props.rel === \"canonical\") {\n hasCanonicalRel = true;\n } else if (type === \"script\") {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (props.src && props.src.indexOf(\"ampproject\") < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === \"text/javascript\")) {\n badProp = \"<script\";\n Object.keys(props).forEach((prop)=>{\n badProp += ` ${prop}=\"${props[prop]}\"`;\n });\n badProp += \"/>\";\n }\n }\n if (badProp) {\n console.warn(`Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`);\n return null;\n }\n } else {\n // non-amp mode\n if (type === \"link\" && props.rel === \"amphtml\") {\n hasAmphtmlRel = true;\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n const nextFontLinkTags = getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"head\", {\n ...getHeadHTMLProps(this.props),\n children: [\n this.context.isDevelopment && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n dangerouslySetInnerHTML: {\n __html: `body{display:none}`\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `body{display:block}`\n }\n })\n })\n ]\n }),\n head,\n this.context.strictNextHead ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-head-count\",\n content: _react.default.Children.count(head || []).toString()\n }),\n children,\n optimizeFonts && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-font-preconnect\"\n }),\n nextFontLinkTags.preconnect,\n nextFontLinkTags.preload,\n true && inAmpMode && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width,minimum-scale=1,initial-scale=1\"\n }),\n !hasCanonicalRel && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"canonical\",\n href: canonicalBase + (__webpack_require__(/*! ../server/utils */ \"./node_modules/next/dist/server/utils.js\").cleanAmpPath)(dangerousAsPath)\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n as: \"script\",\n href: \"https://cdn.ampproject.org/v0.js\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(AmpStyles, {\n styles: styles\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`\n }\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n async: true,\n src: \"https://cdn.ampproject.org/v0.js\"\n })\n ]\n }),\n !( true && inAmpMode) && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n !hasAmphtmlRel && hybridAmp && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"amphtml\",\n href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)\n }),\n this.getBeforeInteractiveInlineScripts(),\n !optimizeCss && this.getCssLinks(files),\n !optimizeCss && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }),\n !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(),\n !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files),\n !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(),\n !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(),\n !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files),\n !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files),\n optimizeCss && this.getCssLinks(files),\n optimizeCss && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }),\n this.context.isDevelopment && // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n id: \"__next_css__DO_NOT_USE__\"\n }),\n styles || null\n ]\n }),\n /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {}, ...headTags || [])\n ]\n });\n }\n}\nfunction handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {\n var _children_find_props, _children_find, _children_find_props1, _children_find1;\n if (!props.children) return;\n const scriptLoaderItems = [];\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n const headChildren = (_children_find = children.find((child)=>child.type === Head)) == null ? void 0 : (_children_find_props = _children_find.props) == null ? void 0 : _children_find_props.children;\n const bodyChildren = (_children_find1 = children.find((child)=>child.type === \"body\")) == null ? void 0 : (_children_find_props1 = _children_find1.props) == null ? void 0 : _children_find_props1.children;\n // Scripts with beforeInteractive can be placed inside Head or <body> so children of both needs to be traversed\n const combinedChildren = [\n ...Array.isArray(headChildren) ? headChildren : [\n headChildren\n ],\n ...Array.isArray(bodyChildren) ? bodyChildren : [\n bodyChildren\n ]\n ];\n _react.default.Children.forEach(combinedChildren, (child)=>{\n var _child_type;\n if (!child) return;\n // When using the `next/script` component, register it in script loader.\n if ((_child_type = child.type) == null ? void 0 : _child_type.__nextScript) {\n if (child.props.strategy === \"beforeInteractive\") {\n scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([\n {\n ...child.props\n }\n ]);\n return;\n } else if ([\n \"lazyOnload\",\n \"afterInteractive\",\n \"worker\"\n ].includes(child.props.strategy)) {\n scriptLoaderItems.push(child.props);\n return;\n }\n }\n });\n __NEXT_DATA__.scriptLoader = scriptLoaderItems;\n}\nclass NextScript extends _react.default.Component {\n static #_ = this.contextType = _htmlcontextsharedruntime.HtmlContext;\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n static getInlineScriptSource(context) {\n const { __NEXT_DATA__, largePageDataBytes } = context;\n try {\n const data = JSON.stringify(__NEXT_DATA__);\n if (largePageDataWarnings.has(__NEXT_DATA__.page)) {\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n }\n const bytes = false ? 0 : Buffer.from(data).byteLength;\n const prettyBytes = (__webpack_require__(/*! ../lib/pretty-bytes */ \"./node_modules/next/dist/lib/pretty-bytes.js\")[\"default\"]);\n if (largePageDataBytes && bytes > largePageDataBytes) {\n if (false) {}\n console.warn(`Warning: data for page \"${__NEXT_DATA__.page}\"${__NEXT_DATA__.page === context.dangerousAsPath ? \"\" : ` (path \"${context.dangerousAsPath}\")`} is ${prettyBytes(bytes)} which exceeds the threshold of ${prettyBytes(largePageDataBytes)}, this amount of data can reduce performance.\\nSee more info here: https://nextjs.org/docs/messages/large-page-data`);\n }\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.message.indexOf(\"circular structure\") !== -1) {\n throw new Error(`Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://nextjs.org/docs/messages/circular-structure`);\n }\n throw err;\n }\n }\n render() {\n const { assetPrefix, inAmpMode, buildManifest, unstable_runtimeJS, docComponentsRendered, assetQueryString, disableOptimizedLoading, crossOrigin } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n docComponentsRendered.NextScript = true;\n if ( true && inAmpMode) {\n if (false) {}\n const ampDevFiles = [\n ...buildManifest.devFiles,\n ...buildManifest.polyfillFiles,\n ...buildManifest.ampDevFiles\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n disableRuntimeJS ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n },\n \"data-ampdevmode\": true\n }),\n ampDevFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n src: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(file)}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-ampdevmode\": true\n }, file))\n ]\n });\n }\n if (true) {\n if (this.props.crossOrigin) console.warn(\"Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n src: `${assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(file)}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file)) : null,\n disableRuntimeJS ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n }\n }),\n disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(),\n disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(),\n disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files),\n disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files)\n ]\n });\n }\n}\nfunction Html(props) {\n const { inAmpMode, docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } = (0, _htmlcontextsharedruntime.useHtmlContext)();\n docComponentsRendered.Html = true;\n handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"html\", {\n ...props,\n lang: props.lang || locale || undefined,\n amp: true && inAmpMode ? \"\" : undefined,\n \"data-ampdevmode\": true && inAmpMode && \"development\" !== \"production\" ? \"\" : undefined\n });\n}\nfunction Main() {\n const { docComponentsRendered } = (0, _htmlcontextsharedruntime.useHtmlContext)();\n docComponentsRendered.Main = true;\n // @ts-ignore\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"next-js-internal-body-render-target\", {});\n}\nclass Document extends _react.default.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */ static getInitialProps(ctx) {\n return ctx.defaultGetInitialProps(ctx);\n }\n render() {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(Html, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Main, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(NextScript, {})\n ]\n })\n ]\n });\n }\n}\n// Add a special property to the built-in `Document` component so later we can\n// identify if a user customized `Document` is used or not.\nconst InternalFunctionDocument = function InternalFunctionDocument() {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(Html, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Main, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(NextScript, {})\n ]\n })\n ]\n });\n};\nDocument[_constants.NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument; //# sourceMappingURL=_document.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFzYWFBLE1BQUk7ZUFBSkE7O0lBNHVCR0MsTUFBSTtlQUFKQTs7SUFpQ0FDLE1BQUk7ZUFBSkE7O0lBN01IQyxZQUFVO2VBQVZBOztJQW9OYjs7O0NBR0MsR0FDREMsU0FzQkM7ZUF0Qm9CQzs7OzsyRUE5ckNIO3VDQUtYOzBDQVdzQjt3Q0FFUTs0RUFDakI7c0RBS2I7MkNBRXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVCOUIsOEVBQThFLEdBQzlFLE1BQU1DLHdCQUF3QixJQUFJQztBQUVsQyxTQUFTQyxpQkFDUEMsYUFBNEIsRUFDNUJDLFFBQWdCLEVBQ2hCQyxTQUFrQjtJQUVsQixNQUFNQyxjQUFpQ0MsQ0FBQUEsR0FBQUEsY0FBQUEsWUFBWSxFQUFDSixlQUFlO0lBQ25FLE1BQU1LLFlBQ0pDLEtBQTZCLElBQVVKLFlBQ25DLEVBQUUsR0FDRkUsQ0FBQUEsR0FBQUEsY0FBQUEsWUFBWSxFQUFDSixlQUFlQztJQUVsQyxPQUFPO1FBQ0xFO1FBQ0FFO1FBQ0FJLFVBQVU7ZUFBSSxJQUFJWCxJQUFJO21CQUFJSzttQkFBZ0JFO2FBQVU7U0FBRTtJQUN4RDtBQUNGO0FBRUEsU0FBU0ssbUJBQW1CQyxPQUFrQixFQUFFQyxLQUFrQjtJQUNoRSw0REFBNEQ7SUFDNUQsNkNBQTZDO0lBQzdDLE1BQU0sRUFDSkMsV0FBVyxFQUNYYixhQUFhLEVBQ2JjLGdCQUFnQixFQUNoQkMsdUJBQXVCLEVBQ3ZCQyxXQUFXLEVBQ1osR0FBR0w7SUFFSixPQUFPWCxjQUFjaUIsYUFBYSxDQUMvQkMsTUFBTSxDQUNMLENBQUNDLFdBQWFBLFNBQVNDLFFBQVEsQ0FBQyxVQUFVLENBQUNELFNBQVNDLFFBQVEsQ0FBQyxlQUU5REMsR0FBRyxDQUFDLENBQUNGLFdBQ0osV0FESUEsR0FDSixJQUFBRyxZQUFBQyxH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QUFNZSxNQUFNak8saUJBQXlCMkgsT0FBQUEsT0FBSyxDQUFDQyxTQUFTO0lBRzNEOzs7R0FHQyxHQUNELE9BQU9zRyxnQkFBZ0JDLEdBQW9CLEVBQWlDO1FBQzFFLE9BQU9BLElBQUlDLHNCQUFzQixDQUFDRDtJQUNwQztJQUVBbkUsU0FBUztRQUNQLE9BQ0UsV0FERixHQUNFLElBQUF0SSxZQUFBNkMsSUFBQSxFQUFDM0UsTUFBQUE7OzhCQUNDLElBQUE4QixZQUFBQyxHQUFBLEVBQUNoQyxNQUFBQSxDQUFBQTs4QkFDRCxJQUFBK0IsWUFBQTZDLElBQUEsRUFBQzhKLFFBQUFBOztzQ0FDQyxJQUFBM00sWUFBQUMsR0FBQSxFQUFDOUIsTUFBQUEsQ0FBQUE7c0NBQ0QsSUFBQTZCLFlBQUFDLEdBQUEsRUFBQzdCLFlBQUFBLENBQUFBOzs7OztJQUlUO0FBQ0Y7QUFFQSw4RUFBOEU7QUFDOUUsMkRBQTJEO0FBQzNELE1BQU13TywyQkFDSixTQUFTQTtJQUNQLE9BQ0UsV0FERixHQUNFLElBQUE1TSxZQUFBNkMsSUFBQSxFQUFDM0UsTUFBQUE7OzBCQUNDLElBQUE4QixZQUFBQyxHQUFBLEVBQUNoQyxNQUFBQSxDQUFBQTswQkFDRCxJQUFBK0IsWUFBQTZDLElBQUEsRUFBQzhKLFFBQUFBOztrQ0FDQyxJQUFBM00sWUFBQUMsR0FBQSxFQUFDOUIsTUFBQUEsQ0FBQUE7a0NBQ0QsSUFBQTZCLFlBQUFDLEdBQUEsRUFBQzdCLFlBQUFBLENBQUFBOzs7OztBQUlUO0FBQ0FFLFFBQWdCLENBQUN1TyxXQUFBQSxxQkFBcUIsQ0FBQyxHQUFHRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi9zcmMvcGFnZXMvX2RvY3VtZW50LnRzeD9jNDY4Il0sIm5hbWVzIjpbIkhlYWQiLCJIdG1sIiwiTWFpbiIsIk5leHRTY3JpcHQiLCJkZWZhdWx0IiwiRG9jdW1lbnQiLCJsYXJnZVBhZ2VEYXRhV2FybmluZ3MiLCJTZXQiLCJnZXREb2N1bWVudEZpbGVzIiwiYnVpbGRNYW5pZmVzdCIsInBhdGhuYW1lIiwiaW5BbXBNb2RlIiwic2hhcmVkRmlsZXMiLCJnZXRQYWdlRmlsZXMiLCJwYWdlRmlsZXMiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiYWxsRmlsZXMiLCJnZXRQb2x5ZmlsbFNjcmlwdHMiLCJjb250ZXh0IiwicHJvcHMiLCJhc3NldFByZWZpeCIsImFzc2V0UXVlcnlTdHJpbmciLCJkaXNhYmxlT3B0aW1pemVkTG9hZGluZyIsImNyb3NzT3JpZ2luIiwicG9seWZpbGxGaWxlcyIsImZpbHRlciIsInBvbHlmaWxsIiwiZW5kc1dpdGgiLCJtYXAiLCJfanN4cnVudGltZSIsImpzeCIsInNjcmlwdCIsImRlZmVyIiwibm9uY2UiLCJub01vZHVsZSIsInNyYyIsImVuY29kZVVSSVBhdGgiLCJoYXNDb21wb25lbnRQcm9wcyIsImNoaWxkIiwiQW1wU3R5bGVzIiwic3R5bGVzIiwiY3VyU3R5bGVzIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGRyZW4iLCJoYXNTdHlsZXMiLCJlbCIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwiZm9yRWFjaCIsInB1c2giLCJzdHlsZSIsImFtcC1jdXN0b20iLCJqb2luIiwicmVwbGFjZSIsImdldER5bmFtaWNDaHVua3MiLCJmaWxlcyIsImR5bmFtaWNJbXBvcnRzIiwiaXNEZXZlbG9wbWVudCIsImZpbGUiLCJpbmNsdWRlcyIsImFzeW5jIiwiZ2V0U2NyaXB0cyIsIm5vcm1hbFNjcmlwdHMiLCJsb3dQcmlvcml0eVNjcmlwdHMiLCJsb3dQcmlvcml0eUZpbGVzIiwiZ2V0UHJlTmV4dFdvcmtlclNjcmlwdHMiLCJzY3JpcHRMb2FkZXIiLCJuZXh0U2NyaXB0V29ya2VycyIsInBhcnR5dG93blNuaXBwZXQiLCJfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyIsInVzZXJEZWZpbmVkQ29uZmlnIiwiZmluZCIsImxlbmd0aCIsImpzeHMiLCJGcmFnbWVudCIsImRhdGEtcGFydHl0b3duLWNvbmZpZyIsImRhdGEtcGFydHl0b3duIiwid29ya2VyIiwiaW5kZXgiLCJzdHJhdGVneSIsInNjcmlwdENoaWxkcmVuIiwic2NyaXB0UHJvcHMiLCJzcmNQcm9wcyIsIkVycm9yIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJrZXkiLCJkYXRhLW5zY3JpcHQiLCJlcnIiLCJpc0Vycm9yIiwiY29kZSIsImNvbnNvbGUiLCJ3YXJuIiwibWVzc2FnZSIsImdldFByZU5leHRTY3JpcHRzIiwid2ViV29ya2VyU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlIiwiZ2V0SGVhZEhUTUxQcm9wcyIsInJlc3RQcm9wcyIsImhlYWRQcm9wcyIsImdldEFtcFBhdGgiLCJhbXBQYXRoIiwiYXNQYXRoIiwiZ2V0TmV4dEZvbnRMaW5rVGFncyIsIm5leHRGb250TWFuaWZlc3QiLCJkYW5nZXJvdXNBc1BhdGgiLCJwcmVjb25uZWN0IiwicHJlbG9hZCIsImFwcEZvbnRzRW50cnkiLCJwYWdlcyIsInBhZ2VGb250c0VudHJ5IiwicHJlbG9hZGVkRm9udEZpbGVzIiwiZnJvbSIsInByZWNvbm5lY3RUb1NlbGYiLCJsaW5rIiwiZGF0YS1uZXh0LWZvbnQiLCJwYWdlc1VzaW5nU2l6ZUFkanVzdCIsInJlbCIsImhyZWYiLCJmb250RmlsZSIsImV4dCIsImV4ZWMiLCJhcyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29udGV4dFR5cGUiLCJIdG1sQ29udGV4dCIsImdldENzc0xpbmtzIiwib3B0aW1pemVDc3MiLCJvcHRpbWl6ZUZvbnRzIiwiY3NzRmlsZXMiLCJmIiwidW5tYW5nZWRGaWxlcyIsImR5bmFtaWNDc3NGaWxlcyIsImV4aXN0aW5nIiwiaGFzIiwiY3NzTGlua0VsZW1lbnRzIiwiaXNTaGFyZWRGaWxlIiwiaXNVbm1hbmFnZWRGaWxlIiwiZGF0YS1uLWciLCJ1bmRlZmluZWQiLCJkYXRhLW4tcCIsIm1ha2VTdHlsZXNoZWV0SW5lcnQiLCJnZXRQcmVsb2FkRHluYW1pY0NodW5rcyIsIkJvb2xlYW4iLCJnZXRQcmVsb2FkTWFpbkxpbmtzIiwicHJlbG9hZEZpbGVzIiwiZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzIiwiaHRtbCIsImlkIiwiX19ORVhUX0NST1NTX09SSUdJTiIsIm5vZGUiLCJDaGlsZHJlbiIsImMiLCJPUFRJTUlaRURfRk9OVF9QUk9WSURFUlMiLCJzb21lIiwidXJsIiwic3RhcnRzV2l0aCIsIm5ld1Byb3BzIiwiY2xvbmVFbGVtZW50IiwicmVuZGVyIiwiaHlicmlkQW1wIiwiY2Fub25pY2FsQmFzZSIsIl9fTkVYVF9EQVRBX18iLCJoZWFkVGFncyIsInVuc3RhYmxlX3J1bnRpbWVKUyIsInVuc3RhYmxlX0pzUHJlbG9hZCIsImRpc2FibGVSdW50aW1lSlMiLCJkaXNhYmxlSnNQcmVsb2FkIiwiZG9jQ29tcG9uZW50c1JlbmRlcmVkIiwiaGVhZCIsImNzc1ByZWxvYWRzIiwib3RoZXJIZWFkRWxlbWVudHMiLCJtZXRhVGFnIiwic3RyaWN0TmV4dEhlYWQiLCJuYW1lIiwiY29udGVudCIsImNvbmNhdCIsInRvQXJyYXkiLCJpc1JlYWN0SGVsbWV0IiwiaGFzQW1waHRtbFJlbCIsImhhc0Nhbm9uaWNhbFJlbCIsImJhZFByb3AiLCJpbmRleE9mIiwiT2JqZWN0Iiwia2V5cyIsInByb3AiLCJwYWdlIiwibmV4dEZvbnRMaW5rVGFncyIsImRhdGEtbmV4dC1oaWRlLWZvdWMiLCJkYXRhLWFtcGRldm1vZGUiLCJub3NjcmlwdCIsIm1ldGEiLCJjb3VudCIsInRvU3RyaW5nIiwicmVxdWlyZSIsImNsZWFuQW1wUGF0aCIsImFtcC1ib2lsZXJwbGF0ZSIsImRhdGEtbi1jc3MiLCJoYW5kbGVEb2N1bWVudFNjcmlwdExvYWRlckl0ZW1zIiwic2NyaXB0TG9hZGVySXRlbXMiLCJoZWFkQ2hpbGRyZW4iLCJib2R5Q2hpbGRyZW4iLCJjb21iaW5lZENoaWxkcmVuIiwiX19uZXh0U2NyaXB0IiwiZ2V0SW5saW5lU2NyaXB0U291cmNlIiwibGFyZ2VQYWdlRGF0YUJ5dGVzIiwiZGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJodG1sRXNjYXBlSnNvblN0cmluZyIsImJ5dGVzIiwiVGV4dEVuY29kZXIiLCJlbmNvZGUiLCJidWZmZXIiLCJieXRlTGVuZ3RoIiwiQnVmZmVyIiwicHJldHR5Qnl0ZXMiLCJhZGQiLCJhbXBEZXZGaWxlcyIsImRldkZpbGVzIiwibG9jYWxlIiwidXNlSHRtbENvbnRleHQiLCJsYW5nIiwiYW1wIiwibmV4dC1qcy1pbnRlcm5hbC1ib2R5LXJlbmRlci10YXJnZXQiLCJnZXRJbml0aWFsUHJvcHMiLCJjdHgiLCJkZWZhdWx0R2V0SW5pdGlhbFByb3BzIiwiYm9keSIsIkludGVybmFsRnVuY3Rpb25Eb2N1bWVudCIsIk5FWFRfQlVJTFRJTl9ET0NVTUVOVCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_document.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/pages/_error.js ***! - \************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return Error;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"react\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"./node_modules/next/dist/shared/lib/head.js\"));\nconst statusCodes = {\n 400: \"Bad Request\",\n 404: \"This page could not be found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\"\n};\nfunction _getInitialProps(param) {\n let { res, err } = param;\n const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;\n return {\n statusCode\n };\n}\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n lineHeight: \"48px\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"28px\"\n },\n wrap: {\n display: \"inline-block\"\n }\n};\nclass Error extends _react.default.Component {\n render() {\n const { statusCode, withDarkMode = true } = this.props;\n const title = this.props.title || statusCodes[statusCode] || \"An unexpected error has occurred\";\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.error,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: statusCode ? statusCode + \": \" + title : \"Application error: a client-side exception has occurred\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.desc,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n /* CSS minified from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n ${\n withDarkMode\n ? `@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }`\n : ''\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\" + (withDarkMode ? \"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\" : \"\")\n }\n }),\n statusCode ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1,\n children: statusCode\n }) : null,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.wrap,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"h2\", {\n style: styles.h2,\n children: [\n this.props.title || statusCode ? title : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: \"Application error: a client-side exception has occurred (see the browser console for more information)\"\n }),\n \".\"\n ]\n })\n })\n ]\n })\n ]\n });\n }\n}\nError.displayName = \"ErrorPage\";\nError.getInitialProps = _getInitialProps;\nError.origGetInitialProps = _getInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O2VBOERxQkE7Ozs7OzRFQTlESDsyRUFDRDtBQUdqQixNQUFNQyxjQUEwQztJQUM5QyxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBQ1A7QUFRQSxTQUFTQyxpQkFBaUJDLEtBR1I7SUFIUSxNQUN4QkMsR0FBRyxFQUNIQyxHQUFHLEVBQ2EsR0FIUUY7SUFJeEIsTUFBTUcsYUFDSkYsT0FBT0EsSUFBSUUsVUFBVSxHQUFHRixJQUFJRSxVQUFVLEdBQUdELE1BQU1BLElBQUlDLFVBQVUsR0FBSTtJQUNuRSxPQUFPO1FBQUVBO0lBQVc7QUFDdEI7QUFFQSxNQUFNQyxTQUE4QztJQUNsREMsT0FBTztRQUNMLDBGQUEwRjtRQUMxRkMsWUFDRTtRQUNGQyxRQUFRO1FBQ1JDLFdBQVc7UUFDWEMsU0FBUztRQUNUQyxlQUFlO1FBQ2ZDLFlBQVk7UUFDWkMsZ0JBQWdCO0lBQ2xCO0lBQ0FDLE1BQU07UUFDSkMsWUFBWTtJQUNkO0lBQ0FDLElBQUk7UUFDRk4sU0FBUztRQUNUTyxRQUFRO1FBQ1JDLGNBQWM7UUFDZEMsVUFBVTtRQUNWQyxZQUFZO1FBQ1pDLGVBQWU7SUFDakI7SUFDQUMsSUFBSTtRQUNGSCxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkwsWUFBWTtJQUNkO0lBQ0FRLE1BQU07UUFDSmIsU0FBUztJQUNYO0FBQ0Y7QUFLZSxNQUFNWixjQUFzQjBCLE9BQUFBLE9BQUssQ0FBQ0MsU0FBUztJQU14REMsU0FBUztRQUNQLE1BQU0sRUFBRXRCLFVBQVUsRUFBRXVCLGVBQWUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDQyxLQUFLO1FBQ3RELE1BQU1DLFFBQ0osSUFBSSxDQUFDRCxLQUFLLENBQUNDLEtBQUssSUFDaEI5QixXQUFXLENBQUNLLFdBQVcsSUFDdkI7UUFFRixPQUNFLFdBREYsR0FDRSxJQUFBMEIsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtZQUFJQyxPQUFPNUIsT0FBT0MsS0FBSzs7OEJBQ3RCLElBQUF3QixZQUFBSSxHQUFBLEVBQUNDLE1BQUFBLE9BQUk7OEJBQ0gsa0JBQUFMLFlBQUFJLEdBQUEsRUFBQ0wsU0FBQUE7a0NBQ0V6QixhQUNHQSxhQUFjLE9BQUl5QixRQUNsQjs7OzhCQUdSLElBQUFDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7b0JBQUlDLE9BQU81QixPQUFPUyxJQUFJOztzQ0FDckIsSUFBQWdCLFlBQUFJLEdBQUEsRUFBQ0QsU0FBQUE7NEJBQ0NHLHlCQUF5QjtnQ0FDdkI7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFnQkMsR0FDREMsUUFBUSxtR0FDTlYsQ0FBQUEsZUFDSSxvSUFDQTs0QkFFUjs7d0JBR0R2QixhQUNDLFdBRERBLEdBQ0MsSUFBQTBCLFlBQUFJLEdBQUEsRUFBQ2xCLE1BQUFBOzRCQUFHc0IsV0FBVTs0QkFBZ0JMLE9BQU81QixPQUFPVyxFQUFFO3NDQUMzQ1o7NkJBRUQ7c0NBQ0osSUFBQTBCLFlBQUFJLEdBQUEsRUFBQ0YsT0FBQUE7NEJBQUlDLE9BQU81QixPQUFPa0IsSUFBSTtzQ0FDckIsa0JBQUFPLFlBQUFDLElBQUEsRUFBQ1QsTUFBQUE7Z0NBQUdXLE9BQU81QixPQUFPaUIsRUFBRTs7b0NBQ2pCLElBQUksQ0FBQ00sS0FBSyxDQUFDQyxLQUFLLElBQUl6QixhQUNuQnlCLFFBRUEsV0FGQUEsR0FFQSxJQUFBQyxZQUFBSSxHQUFBLEVBQUFKLFlBQUFTLFFBQUE7a0RBQUU7O29DQUlGOzs7Ozs7OztJQU9kO0FBQ0Y7QUF4RXFCekMsTUFDWjBDLFdBQUFBLEdBQWM7QUFERjFDLE1BR1oyQyxlQUFBQSxHQUFrQnpDO0FBSE5GLE1BSVo0QyxtQkFBQUEsR0FBc0IxQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi9zcmMvcGFnZXMvX2Vycm9yLnRzeD80ODdlIl0sIm5hbWVzIjpbIkVycm9yIiwic3RhdHVzQ29kZXMiLCJfZ2V0SW5pdGlhbFByb3BzIiwicGFyYW0iLCJyZXMiLCJlcnIiLCJzdGF0dXNDb2RlIiwic3R5bGVzIiwiZXJyb3IiLCJmb250RmFtaWx5IiwiaGVpZ2h0IiwidGV4dEFsaWduIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJkZXNjIiwibGluZUhlaWdodCIsImgxIiwibWFyZ2luIiwicGFkZGluZ1JpZ2h0IiwiZm9udFNpemUiLCJmb250V2VpZ2h0IiwidmVydGljYWxBbGlnbiIsImgyIiwid3JhcCIsIlJlYWN0IiwiQ29tcG9uZW50IiwicmVuZGVyIiwid2l0aERhcmtNb2RlIiwicHJvcHMiLCJ0aXRsZSIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsInN0eWxlIiwianN4IiwiSGVhZCIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwiY2xhc3NOYW1lIiwiRnJhZ21lbnQiLCJkaXNwbGF5TmFtZSIsImdldEluaXRpYWxQcm9wcyIsIm9yaWdHZXRJbml0aWFsUHJvcHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_error.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/amp-mode.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLW1vZGUuanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0FBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLFlBQVlDLEtBQUE7SUFBQSxNQUMxQkMsV0FBVyxLQUFLLEVBQ2hCQyxTQUFTLEtBQUssRUFDZEMsV0FBVyxLQUFLLEVBQ2pCLEdBSjJCSCxVQUFBLFNBSXhCLENBQUMsSUFKdUJBO0lBSzFCLE9BQU9DLFlBQWFDLFVBQVVDO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2FtcC1tb2RlLnRzP2NlMDQiXSwibmFtZXMiOlsiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/amp-mode.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/constants.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/constants.js ***! - \********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n APP_BUILD_MANIFEST: function() {\n return APP_BUILD_MANIFEST;\n },\n APP_CLIENT_INTERNALS: function() {\n return APP_CLIENT_INTERNALS;\n },\n APP_PATHS_MANIFEST: function() {\n return APP_PATHS_MANIFEST;\n },\n APP_PATH_ROUTES_MANIFEST: function() {\n return APP_PATH_ROUTES_MANIFEST;\n },\n AUTOMATIC_FONT_OPTIMIZATION_MANIFEST: function() {\n return AUTOMATIC_FONT_OPTIMIZATION_MANIFEST;\n },\n BARREL_OPTIMIZATION_PREFIX: function() {\n return BARREL_OPTIMIZATION_PREFIX;\n },\n BLOCKED_PAGES: function() {\n return BLOCKED_PAGES;\n },\n BUILD_ID_FILE: function() {\n return BUILD_ID_FILE;\n },\n BUILD_MANIFEST: function() {\n return BUILD_MANIFEST;\n },\n CLIENT_PUBLIC_FILES_PATH: function() {\n return CLIENT_PUBLIC_FILES_PATH;\n },\n CLIENT_REFERENCE_MANIFEST: function() {\n return CLIENT_REFERENCE_MANIFEST;\n },\n CLIENT_STATIC_FILES_PATH: function() {\n return CLIENT_STATIC_FILES_PATH;\n },\n CLIENT_STATIC_FILES_RUNTIME_AMP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_AMP;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN_APP;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL;\n },\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH: function() {\n return CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH;\n },\n CLIENT_STATIC_FILES_RUNTIME_WEBPACK: function() {\n return CLIENT_STATIC_FILES_RUNTIME_WEBPACK;\n },\n COMPILER_INDEXES: function() {\n return COMPILER_INDEXES;\n },\n COMPILER_NAMES: function() {\n return COMPILER_NAMES;\n },\n CONFIG_FILES: function() {\n return CONFIG_FILES;\n },\n DEFAULT_RUNTIME_WEBPACK: function() {\n return DEFAULT_RUNTIME_WEBPACK;\n },\n DEFAULT_SANS_SERIF_FONT: function() {\n return DEFAULT_SANS_SERIF_FONT;\n },\n DEFAULT_SERIF_FONT: function() {\n return DEFAULT_SERIF_FONT;\n },\n DEV_CLIENT_PAGES_MANIFEST: function() {\n return DEV_CLIENT_PAGES_MANIFEST;\n },\n DEV_MIDDLEWARE_MANIFEST: function() {\n return DEV_MIDDLEWARE_MANIFEST;\n },\n EDGE_RUNTIME_WEBPACK: function() {\n return EDGE_RUNTIME_WEBPACK;\n },\n EDGE_UNSUPPORTED_NODE_APIS: function() {\n return EDGE_UNSUPPORTED_NODE_APIS;\n },\n EXPORT_DETAIL: function() {\n return EXPORT_DETAIL;\n },\n EXPORT_MARKER: function() {\n return EXPORT_MARKER;\n },\n FUNCTIONS_CONFIG_MANIFEST: function() {\n return FUNCTIONS_CONFIG_MANIFEST;\n },\n GOOGLE_FONT_PROVIDER: function() {\n return GOOGLE_FONT_PROVIDER;\n },\n IMAGES_MANIFEST: function() {\n return IMAGES_MANIFEST;\n },\n INTERCEPTION_ROUTE_REWRITE_MANIFEST: function() {\n return INTERCEPTION_ROUTE_REWRITE_MANIFEST;\n },\n INTERNAL_HEADERS: function() {\n return INTERNAL_HEADERS;\n },\n MIDDLEWARE_BUILD_MANIFEST: function() {\n return MIDDLEWARE_BUILD_MANIFEST;\n },\n MIDDLEWARE_MANIFEST: function() {\n return MIDDLEWARE_MANIFEST;\n },\n MIDDLEWARE_REACT_LOADABLE_MANIFEST: function() {\n return MIDDLEWARE_REACT_LOADABLE_MANIFEST;\n },\n MODERN_BROWSERSLIST_TARGET: function() {\n return _modernbrowserslisttarget.default;\n },\n NEXT_BUILTIN_DOCUMENT: function() {\n return NEXT_BUILTIN_DOCUMENT;\n },\n NEXT_FONT_MANIFEST: function() {\n return NEXT_FONT_MANIFEST;\n },\n OPTIMIZED_FONT_PROVIDERS: function() {\n return OPTIMIZED_FONT_PROVIDERS;\n },\n PAGES_MANIFEST: function() {\n return PAGES_MANIFEST;\n },\n PHASE_DEVELOPMENT_SERVER: function() {\n return PHASE_DEVELOPMENT_SERVER;\n },\n PHASE_EXPORT: function() {\n return PHASE_EXPORT;\n },\n PHASE_INFO: function() {\n return PHASE_INFO;\n },\n PHASE_PRODUCTION_BUILD: function() {\n return PHASE_PRODUCTION_BUILD;\n },\n PHASE_PRODUCTION_SERVER: function() {\n return PHASE_PRODUCTION_SERVER;\n },\n PHASE_TEST: function() {\n return PHASE_TEST;\n },\n PRERENDER_MANIFEST: function() {\n return PRERENDER_MANIFEST;\n },\n REACT_LOADABLE_MANIFEST: function() {\n return REACT_LOADABLE_MANIFEST;\n },\n ROUTES_MANIFEST: function() {\n return ROUTES_MANIFEST;\n },\n RSC_MODULE_TYPES: function() {\n return RSC_MODULE_TYPES;\n },\n SERVER_DIRECTORY: function() {\n return SERVER_DIRECTORY;\n },\n SERVER_FILES_MANIFEST: function() {\n return SERVER_FILES_MANIFEST;\n },\n SERVER_PROPS_ID: function() {\n return SERVER_PROPS_ID;\n },\n SERVER_REFERENCE_MANIFEST: function() {\n return SERVER_REFERENCE_MANIFEST;\n },\n STATIC_PROPS_ID: function() {\n return STATIC_PROPS_ID;\n },\n STATIC_STATUS_PAGES: function() {\n return STATIC_STATUS_PAGES;\n },\n STRING_LITERAL_DROP_BUNDLE: function() {\n return STRING_LITERAL_DROP_BUNDLE;\n },\n SUBRESOURCE_INTEGRITY_MANIFEST: function() {\n return SUBRESOURCE_INTEGRITY_MANIFEST;\n },\n SYSTEM_ENTRYPOINTS: function() {\n return SYSTEM_ENTRYPOINTS;\n },\n TRACE_OUTPUT_VERSION: function() {\n return TRACE_OUTPUT_VERSION;\n },\n TURBO_TRACE_DEFAULT_MEMORY_LIMIT: function() {\n return TURBO_TRACE_DEFAULT_MEMORY_LIMIT;\n },\n UNDERSCORE_NOT_FOUND_ROUTE: function() {\n return UNDERSCORE_NOT_FOUND_ROUTE;\n },\n UNDERSCORE_NOT_FOUND_ROUTE_ENTRY: function() {\n return UNDERSCORE_NOT_FOUND_ROUTE_ENTRY;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _modernbrowserslisttarget = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./modern-browserslist-target */ \"./node_modules/next/dist/shared/lib/modern-browserslist-target.js\"));\nconst COMPILER_NAMES = {\n client: \"client\",\n server: \"server\",\n edgeServer: \"edge-server\"\n};\nconst INTERNAL_HEADERS = [\n \"x-invoke-error\",\n \"x-invoke-output\",\n \"x-invoke-path\",\n \"x-invoke-query\",\n \"x-invoke-status\",\n \"x-middleware-invoke\"\n];\nconst COMPILER_INDEXES = {\n [COMPILER_NAMES.client]: 0,\n [COMPILER_NAMES.server]: 1,\n [COMPILER_NAMES.edgeServer]: 2\n};\nconst UNDERSCORE_NOT_FOUND_ROUTE = \"/_not-found\";\nconst UNDERSCORE_NOT_FOUND_ROUTE_ENTRY = \"\" + UNDERSCORE_NOT_FOUND_ROUTE + \"/page\";\nconst PHASE_EXPORT = \"phase-export\";\nconst PHASE_PRODUCTION_BUILD = \"phase-production-build\";\nconst PHASE_PRODUCTION_SERVER = \"phase-production-server\";\nconst PHASE_DEVELOPMENT_SERVER = \"phase-development-server\";\nconst PHASE_TEST = \"phase-test\";\nconst PHASE_INFO = \"phase-info\";\nconst PAGES_MANIFEST = \"pages-manifest.json\";\nconst APP_PATHS_MANIFEST = \"app-paths-manifest.json\";\nconst APP_PATH_ROUTES_MANIFEST = \"app-path-routes-manifest.json\";\nconst BUILD_MANIFEST = \"build-manifest.json\";\nconst APP_BUILD_MANIFEST = \"app-build-manifest.json\";\nconst FUNCTIONS_CONFIG_MANIFEST = \"functions-config-manifest.json\";\nconst SUBRESOURCE_INTEGRITY_MANIFEST = \"subresource-integrity-manifest\";\nconst NEXT_FONT_MANIFEST = \"next-font-manifest\";\nconst EXPORT_MARKER = \"export-marker.json\";\nconst EXPORT_DETAIL = \"export-detail.json\";\nconst PRERENDER_MANIFEST = \"prerender-manifest.json\";\nconst ROUTES_MANIFEST = \"routes-manifest.json\";\nconst IMAGES_MANIFEST = \"images-manifest.json\";\nconst SERVER_FILES_MANIFEST = \"required-server-files.json\";\nconst DEV_CLIENT_PAGES_MANIFEST = \"_devPagesManifest.json\";\nconst MIDDLEWARE_MANIFEST = \"middleware-manifest.json\";\nconst DEV_MIDDLEWARE_MANIFEST = \"_devMiddlewareManifest.json\";\nconst REACT_LOADABLE_MANIFEST = \"react-loadable-manifest.json\";\nconst AUTOMATIC_FONT_OPTIMIZATION_MANIFEST = \"font-manifest.json\";\nconst SERVER_DIRECTORY = \"server\";\nconst CONFIG_FILES = [\n \"next.config.js\",\n \"next.config.mjs\"\n];\nconst BUILD_ID_FILE = \"BUILD_ID\";\nconst BLOCKED_PAGES = [\n \"/_document\",\n \"/_app\",\n \"/_error\"\n];\nconst CLIENT_PUBLIC_FILES_PATH = \"public\";\nconst CLIENT_STATIC_FILES_PATH = \"static\";\nconst STRING_LITERAL_DROP_BUNDLE = \"__NEXT_DROP_CLIENT_FILE__\";\nconst NEXT_BUILTIN_DOCUMENT = \"__NEXT_BUILTIN_DOCUMENT__\";\nconst BARREL_OPTIMIZATION_PREFIX = \"__barrel_optimize__\";\nconst CLIENT_REFERENCE_MANIFEST = \"client-reference-manifest\";\nconst SERVER_REFERENCE_MANIFEST = \"server-reference-manifest\";\nconst MIDDLEWARE_BUILD_MANIFEST = \"middleware-build-manifest\";\nconst MIDDLEWARE_REACT_LOADABLE_MANIFEST = \"middleware-react-loadable-manifest\";\nconst INTERCEPTION_ROUTE_REWRITE_MANIFEST = \"interception-route-rewrite-manifest\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN = \"main\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN_APP = \"\" + CLIENT_STATIC_FILES_RUNTIME_MAIN + \"-app\";\nconst APP_CLIENT_INTERNALS = \"app-pages-internals\";\nconst CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH = \"react-refresh\";\nconst CLIENT_STATIC_FILES_RUNTIME_AMP = \"amp\";\nconst CLIENT_STATIC_FILES_RUNTIME_WEBPACK = \"webpack\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS = \"polyfills\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL = Symbol(CLIENT_STATIC_FILES_RUNTIME_POLYFILLS);\nconst DEFAULT_RUNTIME_WEBPACK = \"webpack-runtime\";\nconst EDGE_RUNTIME_WEBPACK = \"edge-runtime-webpack\";\nconst STATIC_PROPS_ID = \"__N_SSG\";\nconst SERVER_PROPS_ID = \"__N_SSP\";\nconst GOOGLE_FONT_PROVIDER = \"https://fonts.googleapis.com/\";\nconst OPTIMIZED_FONT_PROVIDERS = [\n {\n url: GOOGLE_FONT_PROVIDER,\n preconnect: \"https://fonts.gstatic.com\"\n },\n {\n url: \"https://use.typekit.net\",\n preconnect: \"https://use.typekit.net\"\n }\n];\nconst DEFAULT_SERIF_FONT = {\n name: \"Times New Roman\",\n xAvgCharWidth: 821,\n azAvgWidth: 854.3953488372093,\n unitsPerEm: 2048\n};\nconst DEFAULT_SANS_SERIF_FONT = {\n name: \"Arial\",\n xAvgCharWidth: 904,\n azAvgWidth: 934.5116279069767,\n unitsPerEm: 2048\n};\nconst STATIC_STATUS_PAGES = [\n \"/500\"\n];\nconst TRACE_OUTPUT_VERSION = 1;\nconst TURBO_TRACE_DEFAULT_MEMORY_LIMIT = 6000;\nconst RSC_MODULE_TYPES = {\n client: \"client\",\n server: \"server\"\n};\nconst EDGE_UNSUPPORTED_NODE_APIS = [\n \"clearImmediate\",\n \"setImmediate\",\n \"BroadcastChannel\",\n \"ByteLengthQueuingStrategy\",\n \"CompressionStream\",\n \"CountQueuingStrategy\",\n \"DecompressionStream\",\n \"DomException\",\n \"MessageChannel\",\n \"MessageEvent\",\n \"MessagePort\",\n \"ReadableByteStreamController\",\n \"ReadableStreamBYOBRequest\",\n \"ReadableStreamDefaultController\",\n \"TransformStreamDefaultController\",\n \"WritableStreamDefaultController\"\n];\nconst SYSTEM_ENTRYPOINTS = new Set([\n CLIENT_STATIC_FILES_RUNTIME_MAIN,\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH,\n CLIENT_STATIC_FILES_RUNTIME_AMP,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP\n]);\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQStDYUEsb0JBQWtCO2VBQWxCQTs7SUEwQ0FDLHNCQUFvQjtlQUFwQkE7O0lBN0NBQyxvQkFBa0I7ZUFBbEJBOztJQUNBQywwQkFBd0I7ZUFBeEJBOztJQWdCQUMsc0NBQW9DO2VBQXBDQTs7SUFTQUMsNEJBQTBCO2VBQTFCQTs7SUFMQUMsZUFBYTtlQUFiQTs7SUFEQUMsZUFBYTtlQUFiQTs7SUFsQkFDLGdCQUFjO2VBQWRBOztJQW9CQUMsMEJBQXdCO2VBQXhCQTs7SUFPQUMsMkJBQXlCO2VBQXpCQTs7SUFOQUMsMEJBQXdCO2VBQXhCQTs7SUEwQkFDLGlDQUErQjtlQUEvQkE7O0lBUEFDLGtDQUFnQztlQUFoQ0E7O0lBQ0FDLHNDQUFvQztlQUFwQ0E7O0lBVUFDLHVDQUFxQztlQUFyQ0E7O0lBQ0FDLDhDQUE0QztlQUE1Q0E7O0lBUEFDLDJDQUF5QztlQUF6Q0E7O0lBSUFDLHFDQUFtQztlQUFuQ0E7O0lBcEVBQyxrQkFBZ0I7ZUFBaEJBOztJQXJCQUMsZ0JBQWM7ZUFBZEE7O0lBeURBQyxjQUFZO2VBQVpBOztJQXNDQUMseUJBQXVCO2VBQXZCQTs7SUFlQUMseUJBQXVCO2VBQXZCQTs7SUFOQUMsb0JBQWtCO2VBQWxCQTs7SUFyREFDLDJCQUF5QjtlQUF6QkE7O0lBRUFDLHlCQUF1QjtlQUF2QkE7O0lBMkNBQyxzQkFBb0I7ZUFBcEJBOztJQWtDQUMsNEJBQTBCO2VBQTFCQTs7SUFwRkFDLGVBQWE7ZUFBYkE7O0lBREFDLGVBQWE7ZUFBYkE7O0lBSEFDLDJCQUF5QjtlQUF6QkE7O0lBeURBQyxzQkFBb0I7ZUFBcEJBOztJQWxEQUMsaUJBQWU7ZUFBZkE7O0lBMkJBQyxxQ0FBbUM7ZUFBbkNBOztJQWxFQUMsa0JBQWdCO2VBQWhCQTs7SUE2REFDLDJCQUF5QjtlQUF6QkE7O0lBbkJBQyxxQkFBbUI7ZUFBbkJBOztJQXFCQUMs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QUFNTCxrQ0FBbUM7QUFFekMsTUFBTU0sc0NBQXVDO0FBRTdDLE1BQU1ILHdDQUF3QztBQUM5QyxNQUFNQywrQ0FBK0NzRCxPQUMxRHZEO0FBRUssTUFBTU8sMEJBQTBCO0FBQ2hDLE1BQU1LLHVCQUF1QjtBQUM3QixNQUFNK0Isa0JBQWtCO0FBQ3hCLE1BQU1GLGtCQUFrQjtBQUN4QixNQUFNeEIsdUJBQXVCO0FBQzdCLE1BQU1VLDJCQUEyQjtJQUN0QztRQUFFNkIsS0FBS3ZDO1FBQXNCd0MsWUFBWTtJQUE0QjtJQUNyRTtRQUFFRCxLQUFLO1FBQTJCQyxZQUFZO0lBQTBCO0NBQ3pFO0FBQ00sTUFBTWhELHFCQUFxQjtJQUNoQ2lELE1BQU07SUFDTkMsZUFBZTtJQUNmQyxZQUFZO0lBQ1pDLFlBQVk7QUFDZDtBQUNPLE1BQU1yRCwwQkFBMEI7SUFDckNrRCxNQUFNO0lBQ05DLGVBQWU7SUFDZkMsWUFBWTtJQUNaQyxZQUFZO0FBQ2Q7QUFDTyxNQUFNakIsc0JBQXNCO0lBQUM7Q0FBTztBQUNwQyxNQUFNSSx1QkFBdUI7QUFFN0IsTUFBTUMsbUNBQW1DO0FBRXpDLE1BQU1YLG1CQUFtQjtJQUM5QmMsUUFBUTtJQUNSQyxRQUFRO0FBQ1Y7QUFNTyxNQUFNeEMsNkJBQTZCO0lBQ3hDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFFTSxNQUFNa0MscUJBQXFCLElBQUllLElBQVk7SUFDaERoRTtJQUNBSTtJQUNBTDtJQUNBRTtDQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2NvbnN0YW50cy50cz80MDlhIl0sIm5hbWVzIjpbIkFQUF9CVUlMRF9NQU5JRkVTVCIsIkFQUF9DTElFTlRfSU5URVJOQUxTIiwiQVBQX1BBVEhTX01BTklGRVNUIiwiQVBQX1BBVEhfUk9VVEVTX01BTklGRVNUIiwiQVVUT01BVElDX0ZPTlRfT1BUSU1JWkFUSU9OX01BTklGRVNUIiwiQkFSUkVMX09QVElNSVpBVElPTl9QUkVGSVgiLCJCTE9DS0VEX1BBR0VTIiwiQlVJTERfSURfRklMRSIsIkJVSUxEX01BTklGRVNUIiwiQ0xJRU5UX1BVQkxJQ19GSUxFU19QQVRIIiwiQ0xJRU5UX1JFRkVSRU5DRV9NQU5JRkVTVCIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUEFUSCIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9BTVAiLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfTUFJTiIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOX0FQUCIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFMiLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUE9MWUZJTExTX1NZTUJPTCIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9SRUFDVF9SRUZSRVNIIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1dFQlBBQ0siLCJDT01QSUxFUl9JTkRFWEVTIiwiQ09NUElMRVJfTkFNRVMiLCJDT05GSUdfRklMRVMiLCJERUZBVUxUX1JVTlRJTUVfV0VCUEFDSyIsIkRFRkFVTFRfU0FOU19TRVJJRl9GT05UIiwiREVGQVVMVF9TRVJJRl9GT05UIiwiREVWX0NMSUVOVF9QQUdFU19NQU5JRkVTVCIsIkRFVl9NSURETEVXQVJFX01BTklGRVNUIiwiRURHRV9SVU5USU1FX1dFQlBBQ0siLCJFREdFX1VOU1VQUE9SVEVEX05PREVfQVBJUyIsIkVYUE9SVF9ERVRBSUwiLCJFWFBPUlRfTUFSS0VSIiwiRlVOQ1RJT05TX0NPTkZJR19NQU5JRkVTVCIsIkdPT0dMRV9GT05UX1BST1ZJREVSIiwiSU1BR0VTX01BTklGRVNUIiwiSU5URVJDRVBUSU9OX1JPVVRFX1JFV1JJVEVfTUFOSUZFU1QiLCJJTlRFUk5BTF9IRUFERVJTIiwiTUlERExFV0FSRV9CVUlMRF9NQU5JRkVTVCIsIk1JRERMRVdBUkVfTUFOSUZFU1QiLCJNSURETEVXQVJFX1JFQUNUX0xPQURBQkxFX01BTklGRVNUIiwiTU9ERVJOX0JST1dTRVJTTElTVF9UQVJHRVQiLCJORVhUX0JVSUxUSU5fRE9DVU1FTlQiLCJORVhUX0ZPTlRfTUFOSUZFU1QiLCJPUFRJTUlaRURfRk9OVF9QUk9WSURFUlMiLCJQQUdFU19NQU5JRkVTVCIsIlBIQVNFX0RFVkVMT1BNRU5UX1NFUlZFUiIsIlBIQVNFX0VYUE9SVCIsIlBIQVNFX0lORk8iLCJQSEFTRV9QUk9EVUNUSU9OX0JVSUxEIiwiUEhBU0VfUFJPRFVDVElPTl9TRVJWRVIiLCJQSEFTRV9URVNUIiwiUFJFUkVOREVSX01BTklGRVNUIiwiUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1QiLCJST1VURVNfTUFOSUZFU1QiLCJSU0NfTU9EVUxFX1RZUEVTIiwiU0VSVkVSX0RJUkVDVE9SWSIsIlNFUlZFUl9GSUxFU19NQU5JRkVTVCIsIlNFUlZFUl9QUk9QU19JRCIsIlNFUlZFUl9SRUZFUkVOQ0VfTUFOSUZFU1QiLCJTVEFUSUNfUFJPUFNfSUQiLCJTVEFUSUNfU1RBVFVTX1BBR0VTIiwiU1RSSU5HX0xJVEVSQUxfRFJPUF9CVU5ETEUiLCJTVUJSRVNPVVJDRV9JTlRFR1JJVFlfTUFOSUZFU1QiLCJTWVNURU1fRU5UUllQT0lOVFMiLCJUUkFDRV9PVVRQVVRfVkVSU0lPTiIsIlRVUkJPX1RSQUNFX0RFRkFVTFRfTUVNT1JZX0xJTUlUIiwiVU5ERVJTQ09SRV9OT1RfRk9VTkRfUk9VVEUiLCJVTkRFUlNDT1JFX05PVF9GT1VORF9ST1VURV9FTlRSWSIsImNsaWVudCIsInNlcnZlciIsImVkZ2VTZXJ2ZXIiLCJTeW1ib2wiLCJ1cmwiLCJwcmVjb25uZWN0IiwibmFtZSIsInhBdmdDaGFyV2lkdGgiLCJhekF2Z1dpZHRoIiwidW5pdHNQZXJFbSIsIlNldCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/constants.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/encode-uri-path.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/encode-uri-path.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"encodeURIPath\", ({\n enumerable: true,\n get: function() {\n return encodeURIPath;\n }\n}));\nfunction encodeURIPath(file) {\n return file.split(\"/\").map((p)=>encodeURIComponent(p)).join(\"/\");\n} //# sourceMappingURL=encode-uri-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZW5jb2RlLXVyaS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxjQUFjQyxJQUFZO0lBQ3hDLE9BQU9BLEtBQ0pDLEtBQUssQ0FBQyxLQUNOQyxHQUFHLENBQUMsQ0FBQ0MsSUFBTUMsbUJBQW1CRCxJQUM5QkUsSUFBSSxDQUFDO0FBQ1YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZW5jb2RlLXVyaS1wYXRoLnRzPzYwZGEiXSwibmFtZXMiOlsiZW5jb2RlVVJJUGF0aCIsImZpbGUiLCJzcGxpdCIsIm1hcCIsInAiLCJlbmNvZGVVUklDb21wb25lbnQiLCJqb2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/encode-uri-path.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"react\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQXFNQUEsU0FBbUI7OztJQXhMSEM7aUJBQUFBOzs7Ozs7OzsyREFUZ0JDLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7O3lDQUVKQSxtQkFBQUEsQ0FBQTs7QUFPckIsTUFBQUMsWUFBU0gsbUJBQUFBLENBQVlJLGlGQUFBQTtTQUFBQSxZQUFBQSxTQUFBQTtJQUMxQixJQUFBQSxjQUFhLFFBQUFBLFlBQUE7O21CQUFPQyxHQUFRLElBQUFDLFlBQUFDLEdBQUE7O1FBQVc7S0FDdkM7UUFDRUMsQ0FBQUEsV0FBUzthQUFPQyxJQUFBQSxDQUFLLGtCQUFBSCxZQUFBQyxHQUFBO1lBQVdHLE1BQUFBOztRQUNsQztJQUNBO0lBQ0YsT0FBQUY7QUFFQTtTQUlFRyxpQkFBQUMsSUFBQSxFQUFBQyxLQUFBO0lBQ0EsOEZBQTREO1FBQzFELE9BQU9ELFVBQUFBLFlBQUFBLE9BQUFBLFVBQUFBLFVBQUFBO1FBQ1QsT0FBQUE7SUFDQTtJQUNBLGtDQUF5QkU7UUFDdkJELE1BQUFFLElBQU9ILEtBQUtJLE9BQ1ZDLE9BQUEsQ0FBQUgsUUFBQTtRQUNBSSxPQUFBQSxLQUFBQSxNQUFNQyxDQUVKQyxPQUNFQyxPQUFBQSxDQUNBQyxRQUFBQSxDQUFBQSxPQUFBQSxDQUFBQSxNQUFBQSxLQUFBQSxDQUFBQSxRQUFBQSxFQUFBQSxNQUFBQSxnQkFHU0E7Z0JBR1AsT0FBT0Qsa0JBQUFBLFlBQUFBLE9BQUFBLGtCQUFBQSxVQUFBQTtnQkFDVCxPQUFBQTtZQUNBO1lBRUYsT0FBRUEsYUFBQUwsTUFBQSxDQUFBTTtRQUdSO0lBQ0E7SUFDRixPQUFBVixLQUFBSSxNQUFBLENBQUFIO0FBRUE7TUFBbUJVLFlBQUE7SUFBUTtJQUFhO0lBQVc7SUFBVztDQUU5RDs7Ozs7WUFNUUM7SUFDTixNQUFNQyxPQUFPLElBQUlDO0lBQ2pCLE1BQU1DLE9BQUFBLElBQUFBO0lBQ04s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LFVBQUEsRUFBQ0csaUNBQU1ELGtCQUFBO1dBQ0xFLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQXlCQyxHQUFBQSxFQUFBQSxZQUFBQSxPQUFBQSxFQUFBQTtRQUN6QkoseUJBQWFBO1FBQ2J6RCxhQUFXOEQ7bUJBRVZULENBQUFBLEdBQUFBLFNBQUFBLFdBQUFBLEVBQUFBOztJQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2hlYWQudHN4PzM2NzAiXSwibmFtZXMiOlsiZXhwb3J0cyIsImRlZmF1bHRIZWFkIiwiXyIsInJlcXVpcmUiLCJfd2Fybm9uY2UiLCJpbkFtcE1vZGUiLCJjaGFyU2V0IiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJoZWFkIiwibmFtZSIsImNvbnRlbnQiLCJvbmx5UmVhY3RFbGVtZW50IiwibGlzdCIsImNoaWxkIiwiRnJhZ21lbnQiLCJ0eXBlIiwiY29uY2F0IiwiZGVmYXVsdCIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJfcmVhY3QiLCJmcmFnbWVudExpc3QiLCJmcmFnbWVudENoaWxkIiwiTUVUQVRZUEVTIiwia2V5cyIsInRhZ3MiLCJTZXQiLCJtZXRhVHlwZXMiLCJtZXRhQ2F0ZWdvcmllcyIsImgiLCJpc1VuaXF1ZSIsImhhc0tleSIsImtleSIsImluZGV4T2YiLCJhZGQiLCJpIiwibWV0YXR5cGUiLCJsZW4iLCJoYXNPd25Qcm9wZXJ0eSIsImNhdGVnb3JpZXMiLCJoYXMiLCJjYXRlZ29yeSIsInByb3BzIiwiaGVhZENoaWxkcmVuRWxlbWVudHMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjIiwiX19ORVhUX09QVElNSVpFX0ZPTlRTIiwic29tZSIsInVybCIsIm5ld1Byb3BzIiwic3RhcnRzV2l0aCIsInVuZGVmaW5lZCIsImNsb25lRWxlbWVudCIsInNyY01lc3NhZ2UiLCJ3YXJuT25jZSIsImNoaWxkcmVuIiwicGFyYW0iLCJhbXBTdGF0ZSIsInVzZUNvbnRleHQiLCJoZWFkTWFuYWdlciIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsIkVmZmVjdCIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwicmVkdWNlQ29tcG9uZW50cyIsImlzSW5BbXBNb2RlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/is-plain-object.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/is-plain-object.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getObjectClassLabel: function() {\n return getObjectClassLabel;\n },\n isPlainObject: function() {\n return isPlainObject;\n }\n});\nfunction getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nfunction isPlainObject(value) {\n if (getObjectClassLabel(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty(\"isPrototypeOf\");\n} //# sourceMappingURL=is-plain-object.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFnQkEscUJBQW1CO2VBQW5CQTs7SUFJQUMsZUFBYTtlQUFiQTs7O0FBSlQsU0FBU0Qsb0JBQW9CRSxLQUFVO0lBQzVDLE9BQU9DLE9BQU9DLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUNKO0FBQ3hDO0FBRU8sU0FBU0QsY0FBY0MsS0FBVTtJQUN0QyxJQUFJRixvQkFBb0JFLFdBQVcsbUJBQW1CO1FBQ3BELE9BQU87SUFDVDtJQUVBLE1BQU1FLFlBQVlELE9BQU9JLGNBQWMsQ0FBQ0w7SUFFeEM7Ozs7Ozs7O0dBUUMsR0FDRCxPQUFPRSxjQUFjLFFBQVFBLFVBQVVJLGNBQWMsQ0FBQztBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pcy1wbGFpbi1vYmplY3QudHM/MmZiMiJdLCJuYW1lcyI6WyJnZXRPYmplY3RDbGFzc0xhYmVsIiwiaXNQbGFpbk9iamVjdCIsInZhbHVlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJjYWxsIiwiZ2V0UHJvdG90eXBlT2YiLCJoYXNPd25Qcm9wZXJ0eSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/is-plain-object.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/modern-browserslist-target.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/modern-browserslist-target.js ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("// Note: This file is JS because it's used by the taskfile-swc.js file, which is JS.\n// Keep file changes in sync with the corresponding `.d.ts` files.\n/**\n * These are the browser versions that support all of the following:\n * static import: https://caniuse.com/es6-module\n * dynamic import: https://caniuse.com/es6-module-dynamic-import\n * import.meta: https://caniuse.com/mdn-javascript_operators_import_meta\n */ \nconst MODERN_BROWSERSLIST_TARGET = [\n \"chrome 64\",\n \"edge 79\",\n \"firefox 67\",\n \"opera 51\",\n \"safari 12\"\n];\nmodule.exports = MODERN_BROWSERSLIST_TARGET; //# sourceMappingURL=modern-browserslist-target.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbW9kZXJuLWJyb3dzZXJzbGlzdC10YXJnZXQuanMiLCJtYXBwaW5ncyI6IkFBQUEsb0ZBQW9GO0FBQ3BGLGtFQUFrRTtBQUNsRTs7Ozs7Q0FLQztBQUNELE1BQU1BLDZCQUE2QjtJQUNqQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFFREMsT0FBT0MsT0FBTyxHQUFHRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tb2Rlcm4tYnJvd3NlcnNsaXN0LXRhcmdldC5qcz9kNTFlIl0sIm5hbWVzIjpbIk1PREVSTl9CUk9XU0VSU0xJU1RfVEFSR0VUIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/modern-browserslist-target.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"denormalizePagePath\", ({\n enumerable: true,\n get: function() {\n return denormalizePagePath;\n }\n}));\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _normalizepathsep = __webpack_require__(/*! ./normalize-path-sep */ \"./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nfunction denormalizePagePath(page) {\n let _page = (0, _normalizepathsep.normalizePathSep)(page);\n return _page.startsWith(\"/index/\") && !(0, _utils.isDynamicRoute)(_page) ? _page.slice(6) : _page !== \"/index\" ? _page : \"/\";\n} //# sourceMappingURL=denormalize-page-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcyIsIm1hcHBpbmdzIjoiOzs7O3VEQVdnQkE7OztlQUFBQTs7O21DQVhlOzhDQUNFO0FBVTFCLFNBQVNBLG9CQUFvQkMsSUFBWTtJQUM5QyxJQUFJQyxRQUFRQyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQWdCLEVBQUNGO0lBQzdCLE9BQU9DLE1BQU1FLFVBQVUsQ0FBQyxjQUFjLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGNBQWMsRUFBQ0gsU0FDbERBLE1BQU1JLEtBQUssQ0FBQyxLQUNaSixVQUFVLFdBQ1ZBLFFBQ0E7QUFDTiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9wYWdlLXBhdGgvZGVub3JtYWxpemUtcGFnZS1wYXRoLnRzPzg0NDAiXSwibmFtZXMiOlsiZGVub3JtYWxpemVQYWdlUGF0aCIsInBhZ2UiLCJfcGFnZSIsIm5vcm1hbGl6ZVBhdGhTZXAiLCJzdGFydHNXaXRoIiwiaXNEeW5hbWljUm91dGUiLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQW1CQyxJQUFZO0lBQzdDLE9BQU9BLEtBQUtDLFVBQVUsQ0FBQyxPQUFPRCxPQUFPLE1BQUlBO0FBQzNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3BhZ2UtcGF0aC9lbnN1cmUtbGVhZGluZy1zbGFzaC50cz8xOGYyIl0sIm5hbWVzIjpbImVuc3VyZUxlYWRpbmdTbGFzaCIsInBhdGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePagePath\", ({\n enumerable: true,\n get: function() {\n return normalizePagePath;\n }\n}));\nconst _ensureleadingslash = __webpack_require__(/*! ./ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _utils1 = __webpack_require__(/*! ../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nfunction normalizePagePath(page) {\n const normalized = /^\\/index(\\/|$)/.test(page) && !(0, _utils.isDynamicRoute)(page) ? \"/index\" + page : page === \"/\" ? \"/index\" : (0, _ensureleadingslash.ensureLeadingSlash)(page);\n if (true) {\n const { posix } = __webpack_require__(/*! path */ \"path\");\n const resolvedPage = posix.normalize(normalized);\n if (resolvedPage !== normalized) {\n throw new _utils1.NormalizeError(\"Requested and resolved page mismatch: \" + normalized + \" \" + resolvedPage);\n }\n }\n return normalized;\n} //# sourceMappingURL=normalize-page-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYWdlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7OztxREFhZ0JBOzs7ZUFBQUE7OztnREFibUI7bUNBQ0o7b0NBQ0E7QUFXeEIsU0FBU0Esa0JBQWtCQyxJQUFZO0lBQzVDLE1BQU1DLGFBQ0osaUJBQWlCQyxJQUFJLENBQUNGLFNBQVMsQ0FBQ0csQ0FBQUEsR0FBQUEsT0FBQUEsY0FBYyxFQUFDSCxRQUMzQyxXQUFTQSxPQUNUQSxTQUFTLE1BQ1QsV0FDQUksQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFrQixFQUFDSjtJQUV6QixJQUFJSyxJQUE2QixFQUFRO1FBQ3ZDLE1BQU0sRUFBRUcsS0FBSyxFQUFFLEdBQUdDLG1CQUFBQSxDQUFRO1FBQzFCLE1BQU1DLGVBQWVGLE1BQU1HLFNBQVMsQ0FBQ1Y7UUFDckMsSUFBSVMsaUJBQWlCVCxZQUFZO1lBQy9CLE1BQU0sSUFBSVcsUUFBQUEsY0FBYyxDQUN0QiwyQ0FBeUNYLGFBQVcsTUFBR1M7UUFFM0Q7SUFDRjtJQUVBLE9BQU9UO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYWdlLXBhdGgudHM/OGU1NCJdLCJuYW1lcyI6WyJub3JtYWxpemVQYWdlUGF0aCIsInBhZ2UiLCJub3JtYWxpemVkIiwidGVzdCIsImlzRHluYW1pY1JvdXRlIiwiZW5zdXJlTGVhZGluZ1NsYXNoIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsInBvc2l4IiwicmVxdWlyZSIsInJlc29sdmVkUGFnZSIsIm5vcm1hbGl6ZSIsIk5vcm1hbGl6ZUVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js ***! - \***************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * For a given page path, this function ensures that there is no backslash\n * escaping slashes in the path. Example:\n * - `foo\\/bar\\/baz` -> `foo/bar/baz`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathSep\", ({\n enumerable: true,\n get: function() {\n return normalizePathSep;\n }\n}));\nfunction normalizePathSep(path) {\n return path.replace(/\\\\/g, \"/\");\n} //# sourceMappingURL=normalize-path-sep.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDOzs7O29EQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxpQkFBaUJDLElBQVk7SUFDM0MsT0FBT0EsS0FBS0MsT0FBTyxDQUFDLE9BQU87QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC50cz81Y2YwIl0sIm5hbWVzIjpbIm5vcm1hbGl6ZVBhdGhTZXAiLCJwYXRoIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/app-paths.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFzQmdCQSxrQkFBZ0I7ZUFBaEJBOztJQW1DQUMsaUJBQWU7ZUFBZkE7OztnREF6RG1CO3FDQUNKO0FBcUJ4QixTQUFTRCxpQkFBaUJFLEtBQWE7SUFDNUMsT0FBT0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFrQixFQUN2QkQsTUFBTUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQyxDQUFDQyxVQUFVQyxTQUFTQyxPQUFPQztRQUNqRCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDRixTQUFTO1lBQ1osT0FBT0Q7UUFDVDtRQUVBLHNCQUFzQjtRQUN0QixJQUFJSSxDQUFBQSxHQUFBQSxTQUFBQSxjQUFjLEVBQUNILFVBQVU7WUFDM0IsT0FBT0Q7UUFDVDtRQUVBLGlDQUFpQztRQUNqQyxJQUFJQyxPQUFPLENBQUMsRUFBRSxLQUFLLEtBQUs7WUFDdEIsT0FBT0Q7UUFDVDtRQUVBLHVEQUF1RDtRQUN2RCxJQUNFLENBQUNDLFlBQVksVUFBVUEsWUFBWSxZQUNuQ0MsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQzVCO1lBQ0EsT0FBT0w7UUFDVDtRQUVBLE9BQU9BLFdBQVksTUFBR0M7SUFDeEIsR0FBRztBQUVQO0FBTU8sU0FBU04sZ0JBQWdCVyxHQUFXO0lBQ3pDLE9BQU9BLElBQUlDLE9BQU8sQ0FDaEIsZUFFQTtBQUVKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHMudHM/ZDQ2ZCJdLCJuYW1lcyI6WyJub3JtYWxpemVBcHBQYXRoIiwibm9ybWFsaXplUnNjVVJMIiwicm91dGUiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJzcGxpdCIsInJlZHVjZSIsInBhdGhuYW1lIiwic2VnbWVudCIsImluZGV4Iiwic2VnbWVudHMiLCJpc0dyb3VwU2VnbWVudCIsImxlbmd0aCIsInVybCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxpQkFBZTtlQUFmQSxjQUFBQSxlQUFlOztJQUNmQyxnQkFBYztlQUFkQSxXQUFBQSxjQUFjOzs7MENBRFM7dUNBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LnRzPzcyZDUiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/index.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFRZ0JBOzs7ZUFBQUE7OztnREFMVDtBQUVQLHFDQUFxQztBQUNyQyxNQUFNQyxhQUFhO0FBRVosU0FBU0QsZUFBZUUsS0FBYTtJQUMxQyxJQUFJQyxDQUFBQSxHQUFBQSxvQkFBQUEsMEJBQTBCLEVBQUNELFFBQVE7UUFDckNBLFFBQVFFLENBQUFBLEdBQUFBLG9CQUFBQSxtQ0FBbUMsRUFBQ0YsT0FBT0csZ0JBQWdCO0lBQ3JFO0lBRUEsT0FBT0osV0FBV0ssSUFBSSxDQUFDSjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy50cz84MmRjIl0sIm5hbWVzIjpbImlzRHluYW1pY1JvdXRlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFxTWdCQTs7O2VBQUFBOzs7QUFyTWhCLE1BQU1DO0lBT0pDLE9BQU9DLE9BQWUsRUFBUTtRQUM1QixJQUFJLENBQUNDLE9BQU8sQ0FBQ0QsUUFBUUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQ0MsVUFBVSxFQUFFLEVBQUU7SUFDdkQ7SUFFQUMsU0FBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDckI7SUFFUUEsUUFBUUMsTUFBb0IsRUFBWTtRQUFoQ0EsSUFBQUEsV0FBQUEsS0FBQUEsR0FBQUEsU0FBaUI7UUFDL0IsTUFBTUMsZ0JBQWdCO2VBQUksSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FBRyxDQUFDQyxJQUFJO1FBQ3BELElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUMxQkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUNwRDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM5QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN2RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3RDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQ3pEO1FBRUEsTUFBTUcsU0FBU1QsY0FDWlUsR0FBRyxDQUFDLENBQUNDLElBQU0sSUFBSSxDQUFDVixRQUFRLENBQUNXLEdBQUcsQ0FBQ0QsR0FBSWIsT0FBTyxDQUFDLEtBQUdDLFNBQVNZLElBQUUsTUFDdkRFLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxPQUFTO21CQUFJRDttQkFBU0M7YUFBSyxFQUFFLEVBQUU7UUFFaEQsSUFBSSxJQUFJLENBQUNYLFFBQVEsS0FBSyxNQUFNO1lBQzFCSyxPQUFPTyxJ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QUFHLENBQUNiLGFBQWEsSUFBSXBDO1FBQ3JDO1FBRUEsSUFBSSxDQUFDVyxRQUFRLENBQ1ZXLEdBQUcsQ0FBQ2MsYUFDSmpDLE9BQU8sQ0FBQzZCLFNBQVNILEtBQUssQ0FBQyxJQUFJSSxXQUFXQztJQUMzQzs7YUFqTUFQLFdBQUFBLEdBQXVCO2FBQ3ZCaEIsUUFBQUEsR0FBaUMsSUFBSXVDO2FBQ3JDcEMsUUFBQUEsR0FBMEI7YUFDMUJHLFlBQUFBLEdBQThCO2FBQzlCQyxvQkFBQUEsR0FBc0M7O0FBOEx4QztBQUVPLFNBQVNuQixnQkFDZG9ELGVBQXNDO0lBRXRDLGtGQUFrRjtJQUNsRiw0RUFBNEU7SUFDNUUsMkNBQTJDO0lBRTNDLHlFQUF5RTtJQUN6RSwyQkFBMkI7SUFDM0Isb0NBQW9DO0lBQ3BDLDhFQUE4RTtJQUM5RSx3RUFBd0U7SUFDeEUsZ0hBQWdIO0lBQ2hILDRFQUE0RTtJQUM1RSxNQUFNQyxPQUFPLElBQUlwRDtJQUVqQiw2RkFBNkY7SUFDN0ZtRCxnQkFBZ0JOLE9BQU8sQ0FBQyxDQUFDUSxXQUFhRCxLQUFLbkQsTUFBTSxDQUFDb0Q7SUFDbEQsNEdBQTRHO0lBQzVHLE9BQU9ELEtBQUs3QyxNQUFNO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLnRzP2Q1M2IiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiVXJsTm9kZSIsImluc2VydCIsInVybFBhdGgiLCJfaW5zZXJ0Iiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic21vb3NoIiwiX3Ntb29zaCIsInByZWZpeCIsImNoaWxkcmVuUGF0aHMiLCJjaGlsZHJlbiIsImtleXMiLCJzb3J0Iiwic2x1Z05hbWUiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVzdFNsdWdOYW1lIiwib3B0aW9uYWxSZXN0U2x1Z05hbWUiLCJyb3V0ZXMiLCJtYXAiLCJjIiwiZ2V0IiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJwdXNoIiwicGxhY2Vob2xkZXIiLCJyIiwic2xpY2UiLCJFcnJvciIsInVuc2hpZnQiLCJ1cmxQYXRocyIsInNsdWdOYW1lcyIsImlzQ2F0Y2hBbGwiLCJsZW5ndGgiLCJuZXh0U2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlZ21lbnROYW1lIiwiaXNPcHRpb25hbCIsInN1YnN0cmluZyIsImhhbmRsZVNsdWciLCJwcmV2aW91c1NsdWciLCJuZXh0U2x1ZyIsImZvckVhY2giLCJzbHVnIiwicmVwbGFjZSIsImhhcyIsInNldCIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/segment.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/segment.js ***! - \******************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n isGroupSegment: function() {\n return isGroupSegment;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFNYUEscUJBQW1CO2VBQW5CQTs7SUFEQUMsa0JBQWdCO2VBQWhCQTs7SUFMR0MsZ0JBQWM7ZUFBZEE7OztBQUFULFNBQVNBLGVBQWVDLE9BQWU7SUFDNUMsc0NBQXNDO0lBQ3RDLE9BQU9BLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBT0EsUUFBUUMsUUFBUSxDQUFDO0FBQ2hEO0FBRU8sTUFBTUgsbUJBQW1CO0FBQ3pCLE1BQU1ELHNCQUFzQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9zZWdtZW50LnRzP2FkMjUiXSwibmFtZXMiOlsiREVGQVVMVF9TRUdNRU5UX0tFWSIsIlBBR0VfU0VHTUVOVF9LRVkiLCJpc0dyb3VwU2VnbWVudCIsInNlZ21lbnQiLCJlbmRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/segment.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/side-effect.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"react\");\nconst isServer = \"undefined\" === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2lkZS1lZmZlY3QuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FvQkE7OztlQUF3QkE7OzttQ0FuQjZCO0FBZXJELE1BQU1DLFdBQVcsZ0JBQWtCO0FBQ25DLE1BQU1DLDRCQUE0QkQsV0FBVyxLQUFPLElBQUlFLE9BQUFBLGVBQWU7QUFDdkUsTUFBTUMsc0JBQXNCSCxXQUFXLEtBQU8sSUFBSUksT0FBQUEsU0FBUztBQUU1QyxTQUFTTCxXQUFXTSxLQUFzQjtJQUN2RCxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsdUJBQXVCLEVBQUUsR0FBR0Y7SUFFakQsU0FBU0c7UUFDUCxJQUFJRixlQUFlQSxZQUFZRyxnQkFBZ0IsRUFBRTtZQUMvQyxNQUFNQyxlQUFlQyxPQUFBQSxRQUFRLENBQUNDLE9BQU8sQ0FDbkNDLE1BQU1DLElBQUksQ0FBQ1IsWUFBWUcsZ0JBQWdCLEVBQTBCTSxNQUFNLENBQ3JFQztZQUdKVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDL0Q7SUFDRjtJQUVBLElBQUlMLFVBQVU7WUFDWk07UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pEWDtJQUNGO0lBRUFQLDBCQUEwQjtZQUN4Qks7UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pELE9BQU87Z0JBQ0xiO1lBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGdDQUFBQSxZQUFhRyxnQkFBZ0IscUJBQTdCSCw4QkFBK0JjLE1BQU0sQ0FBQ2YsTUFBTWMsUUFBUTtRQUN0RDtJQUNGO0lBRUEsa0ZBQWtGO0lBQ2xGLG9GQUFvRjtJQUNwRixnRUFBZ0U7SUFDaEUscUZBQXFGO0lBQ3JGLG1GQUFtRjtJQUNuRmxCLDBCQUEwQjtRQUN4QixJQUFJSyxhQUFhO1lBQ2ZBLFlBQVllLGNBQWMsR0FBR2I7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSUYsYUFBYTtnQkFDZkEsWUFBWWUsY0FBYyxHQUFHYjtZQUMvQjtRQUNGO0lBQ0Y7SUFFQUwsb0JBQW9CO1FBQ2xCLElBQUlHLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtZQUM3Q2YsWUFBWWUsY0FBYztZQUMxQmYsWUFBWWUsY0FBYyxHQUFHO1FBQy9CO1FBQ0EsT0FBTztZQUNMLElBQUlmLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtnQkFDN0NmLFlBQVllLGNBQWM7Z0JBQzFCZixZQUFZZSxjQUFjLEdBQUc7WUFDL0I7UUFDRjtJQUNGO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3NpZGUtZWZmZWN0LnRzeD9lOGRkIl0sIm5hbWVzIjpbIlNpZGVFZmZlY3QiLCJpc1NlcnZlciIsInVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VDbGllbnRPbmx5RWZmZWN0IiwidXNlRWZmZWN0IiwicHJvcHMiLCJoZWFkTWFuYWdlciIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwiZW1pdENoYW5nZSIsIm1vdW50ZWRJbnN0YW5jZXMiLCJoZWFkRWxlbWVudHMiLCJDaGlsZHJlbiIsInRvQXJyYXkiLCJBcnJheSIsImZyb20iLCJmaWx0ZXIiLCJCb29sZWFuIiwidXBkYXRlSGVhZCIsImFkZCIsImNoaWxkcmVuIiwiZGVsZXRlIiwiX3BlbmRpbmdVcGRhdGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/side-effect.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBb2FhQSxhQUFXO2VBQVhBOztJQW9CQUMseUJBQXVCO2VBQXZCQTs7SUFQQUMsbUJBQWlCO2VBQWpCQTs7SUFaQUMsZ0JBQWM7ZUFBZEE7O0lBQ0FDLG1CQUFpQjtlQUFqQkE7O0lBVEFDLElBQUU7ZUFBRkE7O0lBQ0FDLElBQUU7ZUFBRkE7O0lBbFhBQyxZQUFVO2VBQVZBOztJQXNRR0MsVUFBUTtlQUFSQTs7SUErQkFDLGdCQUFjO2VBQWRBOztJQVhBQyxtQkFBaUI7ZUFBakJBOztJQUtBQyxRQUFNO2VBQU5BOztJQVBIQyxlQUFhO2VBQWJBOztJQW1CR0MsV0FBUztlQUFUQTs7SUFrQk1DLHFCQUFtQjtlQUFuQkE7O0lBZE5DLDBCQUF3QjtlQUF4QkE7O0lBK0dBQyxnQkFBYztlQUFkQTs7O0FBOVpULE1BQU1ULGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQXNROUQsU0FBU0MsU0FDZFMsRUFBSztJQUVMLElBQUlDLE9BQU87SUFDWCxJQUFJQztJQUVKLE9BQVE7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUNWLElBQUksQ0FBQ0YsTUFBTTtZQUNUQSxPQUFPO1lBQ1BDLFNBQVNGLE1BQU1HO1FBQ2pCO1FBQ0EsT0FBT0Q7SUFDVDtBQUNGO0FBRUEsMERBQTBEO0FBQzFELGdFQUFnRTtBQUNoRSxNQUFNRSxxQkFBcUI7QUFDcEIsTUFBTVQsZ0JBQWdCLENBQUNVLE1BQWdCRCxtQkFBbUJFLElBQUksQ0FBQ0Q7QUFFL0QsU0FBU1o7SUFDZCxNQUFNLEVBQUVjLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsT0FBT0MsUUFBUTtJ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QUFFWixPQUFlLENBQUU7UUFDekMsS0FBSztRQUNMLElBQUksQ0FBQ0EsT0FBTyxHQUFHLDBDQUF3Q1ksT0FBSyxNQUFHWjtJQUNqRTtBQUNGO0FBRU8sTUFBTWpELGdDQUFnQ2tEO0lBRTNDVSxhQUFjO1FBQ1osS0FBSztRQUNMLElBQUksQ0FBQ0UsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDYixPQUFPLEdBQUk7SUFDbEI7QUFDRjtBQVdPLFNBQVNsQyxlQUFlZ0QsS0FBWTtJQUN6QyxPQUFPQyxLQUFLQyxTQUFTLENBQUM7UUFBRWhCLFNBQVNjLE1BQU1kLE9BQU87UUFBRWlCLE9BQU9ILE1BQU1HLEtBQUs7SUFBQztBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cz8xYmQ1Il0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/utils/warn-once.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NENBV1NBOzs7ZUFBQUE7OztBQVhULElBQUlBLFdBQVcsQ0FBQ0MsS0FBZTtBQUMvQixJQUFJQyxJQUF5QixFQUFjO0lBQ3pDLE1BQU1DLFdBQVcsSUFBSUM7SUFDckJKLFdBQVcsQ0FBQ0s7UUFDVixJQUFJLENBQUNGLFNBQVNHLEdBQUcsQ0FBQ0QsTUFBTTtZQUN0QkUsUUFBUUMsSUFBSSxDQUFDSDtRQUNmO1FBQ0FGLFNBQVNNLEdBQUcsQ0FBQ0o7SUFDZjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZS50cz9kMDQxIl0sIm5hbWVzIjpbIndhcm5PbmNlIiwiXyIsInByb2Nlc3MiLCJ3YXJuaW5ncyIsIlNldCIsIm1zZyIsImhhcyIsImNvbnNvbGUiLCJ3YXJuIiwiYWRkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils/warn-once.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"./node_modules/next/dist/shared/lib/is-plain-object.js\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyw2RkFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcz8xNzhlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBnZXRQcm9wZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3I7XG4gICAgfSxcbiAgICBnZXRQcm9wZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pc3BsYWlub2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc3BsYWlub2JqZWN0LmlzUGxhaW5PYmplY3QpKGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/pretty-bytes.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/pretty-bytes.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return prettyBytes;\n }\n}));\nconst UNITS = [\n \"B\",\n \"kB\",\n \"MB\",\n \"GB\",\n \"TB\",\n \"PB\",\n \"EB\",\n \"ZB\",\n \"YB\"\n];\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/ const toLocaleString = (number, locale)=>{\n let result = number;\n if (typeof locale === \"string\") {\n result = number.toLocaleString(locale);\n } else if (locale === true) {\n result = number.toLocaleString();\n }\n return result;\n};\nfunction prettyBytes(number, options) {\n if (!Number.isFinite(number)) {\n throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n }\n options = Object.assign({}, options);\n if (options.signed && number === 0) {\n return \" 0 B\";\n }\n const isNegative = number < 0;\n const prefix = isNegative ? \"-\" : options.signed ? \"+\" : \"\";\n if (isNegative) {\n number = -number;\n }\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale);\n return prefix + numberString + \" B\";\n }\n const exponent = Math.min(Math.floor(Math.log10(number) / 3), UNITS.length - 1);\n number = Number((number / Math.pow(1000, exponent)).toPrecision(3));\n const numberString = toLocaleString(number, options.locale);\n const unit = UNITS[exponent];\n return prefix + numberString + \" \" + unit;\n}\n\n//# sourceMappingURL=pretty-bytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9wcmV0dHktYnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLEdBQWdCO0FBQ2hCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDJDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWMsSUFBSSxPQUFPO0FBQ3RGO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3ByZXR0eS1ieXRlcy5qcz9mZjMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5NSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIFNpbmRyZSBTb3JodXMgPHNpbmRyZXNvcmh1c0BnbWFpbC5jb20+IChzaW5kcmVzb3JodXMuY29tKVxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZXR0eUJ5dGVzO1xuICAgIH1cbn0pO1xuY29uc3QgVU5JVFMgPSBbXG4gICAgXCJCXCIsXG4gICAgXCJrQlwiLFxuICAgIFwiTUJcIixcbiAgICBcIkdCXCIsXG4gICAgXCJUQlwiLFxuICAgIFwiUEJcIixcbiAgICBcIkVCXCIsXG4gICAgXCJaQlwiLFxuICAgIFwiWUJcIlxuXTtcbi8qXG5Gb3JtYXRzIHRoZSBnaXZlbiBudW1iZXIgdXNpbmcgYE51bWJlciN0b0xvY2FsZVN0cmluZ2AuXG4tIElmIGxvY2FsZSBpcyBhIHN0cmluZywgdGhlIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIGEgbG9jYWxlLWtleSAoZm9yIGV4YW1wbGU6IGBkZWApLlxuLSBJZiBsb2NhbGUgaXMgdHJ1ZSwgdGhlIHN5c3RlbSBkZWZhdWx0IGxvY2FsZSBpcyB1c2VkIGZvciB0cmFuc2xhdGlvbi5cbi0gSWYgbm8gdmFsdWUgZm9yIGxvY2FsZSBpcyBzcGVjaWZpZWQsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQgdW5tb2RpZmllZC5cbiovIGNvbnN0IHRvTG9jYWxlU3RyaW5nID0gKG51bWJlciwgbG9jYWxlKT0+e1xuICAgIGxldCByZXN1bHQgPSBudW1iZXI7XG4gICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSk7XG4gICAgfSBlbHNlIGlmIChsb2NhbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuZnVuY3Rpb24gcHJldHR5Qnl0ZXMobnVtYmVyLCBvcHRpb25zKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobnVtYmVyKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIsIGdvdCAke3R5cGVvZiBudW1iZXJ9OiAke251bWJlcn1gKTtcbiAgICB9XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLnNpZ25lZCAmJiBudW1iZXIgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFwiIDAgQlwiO1xuICAgIH1cbiAgICBjb25zdCBpc05lZ2F0aXZlID0gbnVtYmVyIDwgMDtcbiAgICBjb25zdCBwcmVmaXggPSBpc05lZ2F0aXZlID8gXCItXCIgOiBvcHRpb25zLnNpZ25lZCA/IFwiK1wiIDogXCJcIjtcbiAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICBudW1iZXIgPSAtbnVtYmVyO1xuICAgIH1cbiAgICBpZiAobnVtYmVyIDwgMSkge1xuICAgICAgICBjb25zdCBudW1iZXJTdHJpbmcgPSB0b0xvY2FsZVN0cmluZyhudW1iZXIsIG9wdGlvbnMubG9jYWxlKTtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIEJcIjtcbiAgICB9XG4gICAgY29uc3QgZXhwb25lbnQgPSBNYXRoLm1pbihNYXRoLmZsb29yKE1hdGgubG9nMTAobnVtYmVyKSAvIDMpLCBVTklUUy5sZW5ndGggLSAxKTtcbiAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciAvIE1hdGgucG93KDEwMDAsIGV4cG9uZW50KSkudG9QcmVjaXNpb24oMykpO1xuICAgIGNvbnN0IG51bWJlclN0cmluZyA9IHRvTG9jYWxlU3RyaW5nKG51bWJlciwgb3B0aW9ucy5sb2NhbGUpO1xuICAgIGNvbnN0IHVuaXQgPSBVTklUU1tleHBvbmVudF07XG4gICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIFwiICsgdW5pdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJldHR5LWJ5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/pretty-bytes.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/helpers/interception-routes.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWtCLG1CQUFPLENBQUMsaUhBQTRDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsS0FBSztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUI7QUFDeEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsS0FBSztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlcy5qcz8zNWNjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IG51bGwsXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IG51bGwsXG4gICAgaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM7XG4gICAgfSxcbiAgICBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjtcbiAgICB9LFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX2FwcHBhdGhzID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRoc1wiKTtcbmNvbnN0IElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTID0gW1xuICAgIFwiKC4uKSguLilcIixcbiAgICBcIiguKVwiLFxuICAgIFwiKC4uKVwiLFxuICAgIFwiKC4uLilcIlxuXTtcbmZ1bmN0aW9uIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoKHBhdGgpIHtcbiAgICAvLyBUT0RPLUFQUDogYWRkIG1vcmUgc2VyaW91cyB2YWxpZGF0aW9uXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLmZpbmQoKHNlZ21lbnQpPT5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKSkgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uKHBhdGgpIHtcbiAgICBsZXQgaW50ZXJjZXB0aW5nUm91dGUsIG1hcmtlciwgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2YgcGF0aC5zcGxpdChcIi9cIikpe1xuICAgICAgICBtYXJrZXIgPSBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKTtcbiAgICAgICAgaWYgKG1hcmtlcikge1xuICAgICAgICAgICAgW2ludGVyY2VwdGluZ1JvdXRlLCBpbnRlcmNlcHRlZFJvdXRlXSA9IHBhdGguc3BsaXQobWFya2VyLCAyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghaW50ZXJjZXB0aW5nUm91dGUgfHwgIW1hcmtlciB8fCAhaW50ZXJjZXB0ZWRSb3V0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBNdXN0IGJlIGluIHRoZSBmb3JtYXQgLzxpbnRlcmNlcHRpbmcgcm91dGU+LyguLnwuLi58Li4pKC4uKS88aW50ZXJjZXB0ZWQgcm91dGU+YCk7XG4gICAgfVxuICAgIGludGVyY2VwdGluZ1JvdXRlID0gKDAsIF9hcHBwYXRocy5ub3JtYWxpemVBcHBQYXRoKShpbnRlcmNlcHRpbmdSb3V0ZSkgLy8gbm9ybWFsaXplIHRoZSBwYXRoLCBlLmcuIC8oYmxvZykvZmVlZCAtPiAvZmVlZFxuICAgIDtcbiAgICBzd2l0Y2gobWFya2VyKXtcbiAgICAgICAgY2FzZSBcIiguKVwiOlxuICAgICAgICAgICAgLy8gKC4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCB3aXRoIHNpYmxpbmcgcm91dGVzLCBzbyB3ZSBqdXN0IG5lZWQgdG8gYXBwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZSB0byB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGAvJHtpbnRlcmNlcHRlZFJvdXRlfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZSArIFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggYXQgb25lIGxldmVsIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCBzZWdtZW50IG9mIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGlmIChpbnRlcmNlcHRpbmdSb3V0ZSA9PT0gXCIvXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsLCB1c2UgKC4pIGluc3RlYWQuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5jb25jYXQoaW50ZXJjZXB0ZWRSb3V0ZSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4uKSB3aWxsIG1hdGNoIHRoZSByb3V0ZSBzZWdtZW50IGluIHRoZSByb290IGRpcmVjdG9yeSwgc28gd2UgbmVlZCB0byB1c2UgdGhlIHJvb3QgZGlyZWN0b3J5IHRvIHByZXBlbmQgdGhlIGludGVyY2VwdGVkIHJvdXRlXG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gXCIvXCIgKyBpbnRlcmNlcHRlZFJvdXRlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4pKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IHR3byBsZXZlbHMgdXAsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBsYXN0IHR3byBzZWdtZW50cyBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBjb25zdCBzcGxpdEludGVyY2VwdGluZ1JvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpO1xuICAgICAgICAgICAgaWYgKHNwbGl0SW50ZXJjZXB0aW5nUm91dGUubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCBvciBvbmUgbGV2ZWwgdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZS5zbGljZSgwLCAtMikuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IHVuZXhwZWN0ZWQgbWFya2VyXCIpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBpbnRlcmNlcHRpbmdSb3V0ZSxcbiAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVyY2VwdGlvbi1yb3V0ZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/helpers/interception-routes.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-kind.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-kind.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n /**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ RouteKind[\"PAGES\"] = \"PAGES\";\n /**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ RouteKind[\"PAGES_API\"] = \"PAGES_API\";\n /**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ RouteKind[\"APP_PAGE\"] = \"APP_PAGE\";\n /**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ RouteKind[\"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {}));\n\n//# sourceMappingURL=route-kind.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDZDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksRUFBRSxHQUFHO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLEVBQUUsR0FBRztBQUNsQztBQUNBLENBQUMsOEJBQThCOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kLmpzPzM5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZUtpbmRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlS2luZDtcbiAgICB9XG59KTtcbnZhciBSb3V0ZUtpbmQ7XG4oZnVuY3Rpb24oUm91dGVLaW5kKSB7XG4gICAgLyoqXG4gICAqIGBQQUdFU2AgcmVwcmVzZW50cyBhbGwgdGhlIFJlYWN0IHBhZ2VzIHRoYXQgYXJlIHVuZGVyIGBwYWdlcy9gLlxuICAgKi8gUm91dGVLaW5kW1wiUEFHRVNcIl0gPSBcIlBBR0VTXCI7XG4gICAgLyoqXG4gICAqIGBQQUdFU19BUElgIHJlcHJlc2VudHMgYWxsIHRoZSBBUEkgcm91dGVzIHVuZGVyIGBwYWdlcy9hcGkvYC5cbiAgICovIFJvdXRlS2luZFtcIlBBR0VTX0FQSVwiXSA9IFwiUEFHRVNfQVBJXCI7XG4gICAgLyoqXG4gICAqIGBBUFBfUEFHRWAgcmVwcmVzZW50cyBhbGwgdGhlIFJlYWN0IHBhZ2VzIHRoYXQgYXJlIHVuZGVyIGBhcHAvYCB3aXRoIHRoZVxuICAgKiBmaWxlbmFtZSBvZiBgcGFnZS57aix0fXN7LHh9YC5cbiAgICovIFJvdXRlS2luZFtcIkFQUF9QQUdFXCJdID0gXCJBUFBfUEFHRVwiO1xuICAgIC8qKlxuICAgKiBgQVBQX1JPVVRFYCByZXByZXNlbnRzIGFsbCB0aGUgQVBJIHJvdXRlcyBhbmQgbWV0YWRhdGEgcm91dGVzIHRoYXQgYXJlIHVuZGVyIGBhcHAvYCB3aXRoIHRoZVxuICAgKiBmaWxlbmFtZSBvZiBgcm91dGUue2osdH1zeyx4fWAuXG4gICAqLyBSb3V0ZUtpbmRbXCJBUFBfUk9VVEVcIl0gPSBcIkFQUF9ST1VURVwiO1xufSkoUm91dGVLaW5kIHx8IChSb3V0ZUtpbmQgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1raW5kLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-kind.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js ***! - \*************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nif (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/pages.runtime.dev.js */ \"next/dist/compiled/next-server/pages.runtime.dev.js\");\n } else {}\n}\n\n//# sourceMappingURL=module.compiled.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuY29tcGlsZWQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixJQUFJLEtBQW1DLEVBQUUsRUFFeEMsQ0FBQztBQUNGLFFBQVEsSUFBc0M7QUFDOUMsUUFBUSxzSkFBK0U7QUFDdkYsTUFBTSxLQUFLLEVBSU47QUFDTDs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL3BhZ2VzL21vZHVsZS5jb21waWxlZC5qcz9iYTRmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL3BhZ2VzL21vZHVsZS5qc1wiKTtcbn0gZWxzZSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL3BhZ2VzLnJ1bnRpbWUuZGV2LmpzXCIpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9wYWdlcy10dXJiby5ydW50aW1lLnByb2QuanNcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL3BhZ2VzLnJ1bnRpbWUucHJvZC5qc1wiKTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5jb21waWxlZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js ***! - \***************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\").vendored.contexts.AmpContext;\n\n//# sourceMappingURL=amp-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9hbXAtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLCtLQUFpRjs7QUFFakYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9hbXAtY29udGV4dC5qcz9hMDU1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uQW1wQ29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YW1wLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js": -/*!************************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js ***! - \************************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\").vendored.contexts.HeadManagerContext;\n\n//# sourceMappingURL=head-manager-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9oZWFkLW1hbmFnZXItY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLHVMQUF5Rjs7QUFFekYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9oZWFkLW1hbmFnZXItY29udGV4dC5qcz9hZGM5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uSGVhZE1hbmFnZXJDb250ZXh0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkLW1hbmFnZXItY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js ***! - \****************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\").vendored.contexts.HtmlContext;\n\n//# sourceMappingURL=html-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9odG1sLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixnTEFBa0Y7O0FBRWxGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvdmVuZG9yZWQvY29udGV4dHMvaHRtbC1jb250ZXh0LmpzPzRlODUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJjb250ZXh0c1wiXS5IdG1sQ29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aHRtbC1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/get-page-files.js": -/*!*********************************************************!*\ - !*** ./node_modules/next/dist/server/get-page-files.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getPageFiles\", ({\n enumerable: true,\n get: function() {\n return getPageFiles;\n }\n}));\nconst _denormalizepagepath = __webpack_require__(/*! ../shared/lib/page-path/denormalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\");\nconst _normalizepagepath = __webpack_require__(/*! ../shared/lib/page-path/normalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js\");\nfunction getPageFiles(buildManifest, page) {\n const normalizedPage = (0, _denormalizepagepath.denormalizePagePath)((0, _normalizepagepath.normalizePagePath)(page));\n let files = buildManifest.pages[normalizedPage];\n if (!files) {\n console.warn(`Could not find files for ${normalizedPage} in .next/build-manifest.json`);\n return [];\n }\n return files;\n}\n\n//# sourceMappingURL=get-page-files.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9nZXQtcGFnZS1maWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLGdEQUErQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGLDZCQUE2QixtQkFBTyxDQUFDLDZIQUErQztBQUNwRiwyQkFBMkIsbUJBQU8sQ0FBQyx5SEFBNkM7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsZ0JBQWdCO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZ2V0LXBhZ2UtZmlsZXMuanM/Yzg2YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldFBhZ2VGaWxlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UGFnZUZpbGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX2Rlbm9ybWFsaXplcGFnZXBhdGggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9wYWdlLXBhdGgvZGVub3JtYWxpemUtcGFnZS1wYXRoXCIpO1xuY29uc3QgX25vcm1hbGl6ZXBhZ2VwYXRoID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYWdlLXBhdGhcIik7XG5mdW5jdGlvbiBnZXRQYWdlRmlsZXMoYnVpbGRNYW5pZmVzdCwgcGFnZSkge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRQYWdlID0gKDAsIF9kZW5vcm1hbGl6ZXBhZ2VwYXRoLmRlbm9ybWFsaXplUGFnZVBhdGgpKCgwLCBfbm9ybWFsaXplcGFnZXBhdGgubm9ybWFsaXplUGFnZVBhdGgpKHBhZ2UpKTtcbiAgICBsZXQgZmlsZXMgPSBidWlsZE1hbmlmZXN0LnBhZ2VzW25vcm1hbGl6ZWRQYWdlXTtcbiAgICBpZiAoIWZpbGVzKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgQ291bGQgbm90IGZpbmQgZmlsZXMgZm9yICR7bm9ybWFsaXplZFBhZ2V9IGluIC5uZXh0L2J1aWxkLW1hbmlmZXN0Lmpzb25gKTtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gZmlsZXM7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1wYWdlLWZpbGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/get-page-files.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/htmlescape.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/server/htmlescape.js ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("// This utility is based on https://github.com/zertosh/htmlescape\n// License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ESCAPE_REGEX: function() {\n return ESCAPE_REGEX;\n },\n htmlEscapeJsonString: function() {\n return htmlEscapeJsonString;\n }\n});\nconst ESCAPE_LOOKUP = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nconst ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\nfunction htmlEscapeJsonString(str) {\n return str.replace(ESCAPE_REGEX, (match)=>ESCAPE_LOOKUP[match]);\n}\n\n//# sourceMappingURL=htmlescape.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9odG1sZXNjYXBlLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvaHRtbGVzY2FwZS5qcz9kMjE2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgdXRpbGl0eSBpcyBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vemVydG9zaC9odG1sZXNjYXBlXG4vLyBMaWNlbnNlOiBodHRwczovL2dpdGh1Yi5jb20vemVydG9zaC9odG1sZXNjYXBlL2Jsb2IvMDUyN2NhNzE1NmE1MjRkMjU2MTAxYmIzMTBhOWY5NzBmNjMwNzhhZC9MSUNFTlNFXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIEVTQ0FQRV9SRUdFWDogbnVsbCxcbiAgICBodG1sRXNjYXBlSnNvblN0cmluZzogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBFU0NBUEVfUkVHRVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRVNDQVBFX1JFR0VYO1xuICAgIH0sXG4gICAgaHRtbEVzY2FwZUpzb25TdHJpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaHRtbEVzY2FwZUpzb25TdHJpbmc7XG4gICAgfVxufSk7XG5jb25zdCBFU0NBUEVfTE9PS1VQID0ge1xuICAgIFwiJlwiOiBcIlxcXFx1MDAyNlwiLFxuICAgIFwiPlwiOiBcIlxcXFx1MDAzZVwiLFxuICAgIFwiPFwiOiBcIlxcXFx1MDAzY1wiLFxuICAgIFwiXFx1MjAyOFwiOiBcIlxcXFx1MjAyOFwiLFxuICAgIFwiXFx1MjAyOVwiOiBcIlxcXFx1MjAyOVwiXG59O1xuY29uc3QgRVNDQVBFX1JFR0VYID0gL1smPjxcXHUyMDI4XFx1MjAyOV0vZztcbmZ1bmN0aW9uIGh0bWxFc2NhcGVKc29uU3RyaW5nKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZShFU0NBUEVfUkVHRVgsIChtYXRjaCk9PkVTQ0FQRV9MT09LVVBbbWF0Y2hdKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aHRtbGVzY2FwZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/htmlescape.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/utils.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/server/utils.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cleanAmpPath: function() {\n return cleanAmpPath;\n },\n debounce: function() {\n return debounce;\n },\n isBlockedPage: function() {\n return isBlockedPage;\n }\n});\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"./node_modules/next/dist/shared/lib/constants.js\");\nfunction isBlockedPage(page) {\n return _constants.BLOCKED_PAGES.includes(page);\n}\nfunction cleanAmpPath(pathname) {\n if (pathname.match(/\\?amp=(y|yes|true|1)/)) {\n pathname = pathname.replace(/\\?amp=(y|yes|true|1)&?/, \"?\");\n }\n if (pathname.match(/&=(y|yes|true|1)/)) {\n pathname = pathname.replace(/&=(y|yes|true|1)/, \"\");\n }\n pathname = pathname.replace(/\\?$/, \"\");\n return pathname;\n}\nfunction debounce(fn, ms, maxWait = Infinity) {\n let timeoutId;\n // The time the debouncing function was first called during this debounce queue.\n let startTime = 0;\n // The time the debouncing function was last called.\n let lastCall = 0;\n // The arguments and this context of the last call to the debouncing function.\n let args, context;\n // A helper used to that either invokes the debounced function, or\n // reschedules the timer if a more recent call was made.\n function run() {\n const now = Date.now();\n const diff = lastCall + ms - now;\n // If the diff is non-positive, then we've waited at least `ms`\n // milliseconds since the last call. Or if we've waited for longer than the\n // max wait time, we must call the debounced function.\n if (diff <= 0 || startTime + maxWait >= now) {\n // It's important to clear the timeout id before invoking the debounced\n // function, in case the function calls the debouncing function again.\n timeoutId = undefined;\n fn.apply(context, args);\n } else {\n // Else, a new call was made after the original timer was scheduled. We\n // didn't clear the timeout (doing so is very slow), so now we need to\n // reschedule the timer for the time difference.\n timeoutId = setTimeout(run, diff);\n }\n }\n return function(...passedArgs) {\n // The arguments and this context of the most recent call are saved so the\n // debounced function can be invoked with them later.\n args = passedArgs;\n context = this;\n // Instead of constantly clearing and scheduling a timer, we record the\n // time of the last call. If a second call comes in before the timer fires,\n // then we'll reschedule in the run function. Doing this is considerably\n // faster.\n lastCall = Date.now();\n // Only schedule a new timer if we're not currently waiting.\n if (timeoutId === undefined) {\n startTime = lastCall;\n timeoutId = setTimeout(run, ms);\n }\n };\n}\n\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FJTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELG1CQUFtQixtQkFBTyxDQUFDLGlGQUF5QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvdXRpbHMuanM/MWM1OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGNsZWFuQW1wUGF0aDogbnVsbCxcbiAgICBkZWJvdW5jZTogbnVsbCxcbiAgICBpc0Jsb2NrZWRQYWdlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGNsZWFuQW1wUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjbGVhbkFtcFBhdGg7XG4gICAgfSxcbiAgICBkZWJvdW5jZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkZWJvdW5jZTtcbiAgICB9LFxuICAgIGlzQmxvY2tlZFBhZ2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNCbG9ja2VkUGFnZTtcbiAgICB9XG59KTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9jb25zdGFudHNcIik7XG5mdW5jdGlvbiBpc0Jsb2NrZWRQYWdlKHBhZ2UpIHtcbiAgICByZXR1cm4gX2NvbnN0YW50cy5CTE9DS0VEX1BBR0VTLmluY2x1ZGVzKHBhZ2UpO1xufVxuZnVuY3Rpb24gY2xlYW5BbXBQYXRoKHBhdGhuYW1lKSB7XG4gICAgaWYgKHBhdGhuYW1lLm1hdGNoKC9cXD9hbXA9KHl8eWVzfHRydWV8MSkvKSkge1xuICAgICAgICBwYXRobmFtZSA9IHBhdGhuYW1lLnJlcGxhY2UoL1xcP2FtcD0oeXx5ZXN8dHJ1ZXwxKSY/LywgXCI/XCIpO1xuICAgIH1cbiAgICBpZiAocGF0aG5hbWUubWF0Y2goLyZhbXA9KHl8eWVzfHRydWV8MSkvKSkge1xuICAgICAgICBwYXRobmFtZSA9IHBhdGhuYW1lLnJlcGxhY2UoLyZhbXA9KHl8eWVzfHRydWV8MSkvLCBcIlwiKTtcbiAgICB9XG4gICAgcGF0aG5hbWUgPSBwYXRobmFtZS5yZXBsYWNlKC9cXD8kLywgXCJcIik7XG4gICAgcmV0dXJuIHBhdGhuYW1lO1xufVxuZnVuY3Rpb24gZGVib3VuY2UoZm4sIG1zLCBtYXhXYWl0ID0gSW5maW5pdHkpIHtcbiAgICBsZXQgdGltZW91dElkO1xuICAgIC8vIFRoZSB0aW1lIHRoZSBkZWJvdW5jaW5nIGZ1bmN0aW9uIHdhcyBmaXJzdCBjYWxsZWQgZHVyaW5nIHRoaXMgZGVib3VuY2UgcXVldWUuXG4gICAgbGV0IHN0YXJ0VGltZSA9IDA7XG4gICAgLy8gVGhlIHRpbWUgdGhlIGRlYm91bmNpbmcgZnVuY3Rpb24gd2FzIGxhc3QgY2FsbGVkLlxuICAgIGxldCBsYXN0Q2FsbCA9IDA7XG4gICAgLy8gVGhlIGFyZ3VtZW50cyBhbmQgdGhpcyBjb250ZXh0IG9mIHRoZSBsYXN0IGNhbGwgdG8gdGhlIGRlYm91bmNpbmcgZnVuY3Rpb24uXG4gICAgbGV0IGFyZ3MsIGNvbnRleHQ7XG4gICAgLy8gQSBoZWxwZXIgdXNlZCB0byB0aGF0IGVpdGhlciBpbnZva2VzIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24sIG9yXG4gICAgLy8gcmVzY2hlZHVsZXMgdGhlIHRpbWVyIGlmIGEgbW9yZSByZWNlbnQgY2FsbCB3YXMgbWFkZS5cbiAgICBmdW5jdGlvbiBydW4oKSB7XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBsYXN0Q2FsbCArIG1zIC0gbm93O1xuICAgICAgICAvLyBJZiB0aGUgZGlmZiBpcyBub24tcG9zaXRpdmUsIHRoZW4gd2UndmUgd2FpdGVkIGF0IGxlYXN0IGBtc2BcbiAgICAgICAgLy8gbWlsbGlzZWNvbmRzIHNpbmNlIHRoZSBsYXN0IGNhbGwuIE9yIGlmIHdlJ3ZlIHdhaXRlZCBmb3IgbG9uZ2VyIHRoYW4gdGhlXG4gICAgICAgIC8vIG1heCB3YWl0IHRpbWUsIHdlIG11c3QgY2FsbCB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoZGlmZiA8PSAwIHx8IHN0YXJ0VGltZSArIG1heFdhaXQgPj0gbm93KSB7XG4gICAgICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byBjbGVhciB0aGUgdGltZW91dCBpZCBiZWZvcmUgaW52b2tpbmcgdGhlIGRlYm91bmNlZFxuICAgICAgICAgICAgLy8gZnVuY3Rpb24sIGluIGNhc2UgdGhlIGZ1bmN0aW9uIGNhbGxzIHRoZSBkZWJvdW5jaW5nIGZ1bmN0aW9uIGFnYWluLlxuICAgICAgICAgICAgdGltZW91dElkID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgZm4uYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBFbHNlLCBhIG5ldyBjYWxsIHdhcyBtYWRlIGFmdGVyIHRoZSBvcmlnaW5hbCB0aW1lciB3YXMgc2NoZWR1bGVkLiBXZVxuICAgICAgICAgICAgLy8gZGlkbid0IGNsZWFyIHRoZSB0aW1lb3V0IChkb2luZyBzbyBpcyB2ZXJ5IHNsb3cpLCBzbyBub3cgd2UgbmVlZCB0b1xuICAgICAgICAgICAgLy8gcmVzY2hlZHVsZSB0aGUgdGltZXIgZm9yIHRoZSB0aW1lIGRpZmZlcmVuY2UuXG4gICAgICAgICAgICB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KHJ1biwgZGlmZik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uKC4uLnBhc3NlZEFyZ3MpIHtcbiAgICAgICAgLy8gVGhlIGFyZ3VtZW50cyBhbmQgdGhpcyBjb250ZXh0IG9mIHRoZSBtb3N0IHJlY2VudCBjYWxsIGFyZSBzYXZlZCBzbyB0aGVcbiAgICAgICAgLy8gZGVib3VuY2VkIGZ1bmN0aW9uIGNhbiBiZSBpbnZva2VkIHdpdGggdGhlbSBsYXRlci5cbiAgICAgICAgYXJncyA9IHBhc3NlZEFyZ3M7XG4gICAgICAgIGNvbnRleHQgPSB0aGlzO1xuICAgICAgICAvLyBJbnN0ZWFkIG9mIGNvbnN0YW50bHkgY2xlYXJpbmcgYW5kIHNjaGVkdWxpbmcgYSB0aW1lciwgd2UgcmVjb3JkIHRoZVxuICAgICAgICAvLyB0aW1lIG9mIHRoZSBsYXN0IGNhbGwuIElmIGEgc2Vjb25kIGNhbGwgY29tZXMgaW4gYmVmb3JlIHRoZSB0aW1lciBmaXJlcyxcbiAgICAgICAgLy8gdGhlbiB3ZSdsbCByZXNjaGVkdWxlIGluIHRoZSBydW4gZnVuY3Rpb24uIERvaW5nIHRoaXMgaXMgY29uc2lkZXJhYmx5XG4gICAgICAgIC8vIGZhc3Rlci5cbiAgICAgICAgbGFzdENhbGwgPSBEYXRlLm5vdygpO1xuICAgICAgICAvLyBPbmx5IHNjaGVkdWxlIGEgbmV3IHRpbWVyIGlmIHdlJ3JlIG5vdCBjdXJyZW50bHkgd2FpdGluZy5cbiAgICAgICAgaWYgKHRpbWVvdXRJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzdGFydFRpbWUgPSBsYXN0Q2FsbDtcbiAgICAgICAgICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQocnVuLCBtcyk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/utils.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"}": -/*!*****************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/font/google/target.css?{"path":"src/app/layout.jsx","import":"DM_Sans","arguments":[{"subsets":["latin"],"weight":["400","500","700"],"display":"swap","variable":"--font-dm-sans"}],"variableName":"dmSans"} ***! - \*****************************************************************************************************************************************************************************************************************************************/ -/***/ ((module) => { - -eval("// Exports\nmodule.exports = {\n\t\"style\": {\"fontFamily\":\"'__DM_Sans_8a1573', '__DM_Sans_Fallback_8a1573'\",\"fontStyle\":\"normal\"},\n\t\"className\": \"__className_8a1573\",\n\t\"variable\": \"__variable_8a1573\"\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9mb250L2dvb2dsZS90YXJnZXQuY3NzP3tcInBhdGhcIjpcInNyYy9hcHAvbGF5b3V0LmpzeFwiLFwiaW1wb3J0XCI6XCJETV9TYW5zXCIsXCJhcmd1bWVudHNcIjpbe1wic3Vic2V0c1wiOltcImxhdGluXCJdLFwid2VpZ2h0XCI6W1wiNDAwXCIsXCI1MDBcIixcIjcwMFwiXSxcImRpc3BsYXlcIjpcInN3YXBcIixcInZhcmlhYmxlXCI6XCItLWZvbnQtZG0tc2Fuc1wifV0sXCJ2YXJpYWJsZU5hbWVcIjpcImRtU2Fuc1wifSIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsV0FBVyxvRkFBb0Y7QUFDL0Y7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZm9udC9nb29nbGUvdGFyZ2V0LmNzcz9hN2RkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEV4cG9ydHNcbm1vZHVsZS5leHBvcnRzID0ge1xuXHRcInN0eWxlXCI6IHtcImZvbnRGYW1pbHlcIjpcIidfX0RNX1NhbnNfOGExNTczJywgJ19fRE1fU2Fuc19GYWxsYmFja184YTE1NzMnXCIsXCJmb250U3R5bGVcIjpcIm5vcm1hbFwifSxcblx0XCJjbGFzc05hbWVcIjogXCJfX2NsYXNzTmFtZV84YTE1NzNcIixcblx0XCJ2YXJpYWJsZVwiOiBcIl9fdmFyaWFibGVfOGExNTczXCJcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"}\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}": -/*!*******************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/font/google/target.css?{"path":"src/app/layout.jsx","import":"Inter","arguments":[{"subsets":["latin"],"display":"swap","variable":"--font-inter"}],"variableName":"inter"} ***! - \*******************************************************************************************************************************************************************************************************/ -/***/ ((module) => { - -eval("// Exports\nmodule.exports = {\n\t\"style\": {\"fontFamily\":\"'__Inter_36bd41', '__Inter_Fallback_36bd41'\",\"fontStyle\":\"normal\"},\n\t\"className\": \"__className_36bd41\",\n\t\"variable\": \"__variable_36bd41\"\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9mb250L2dvb2dsZS90YXJnZXQuY3NzP3tcInBhdGhcIjpcInNyYy9hcHAvbGF5b3V0LmpzeFwiLFwiaW1wb3J0XCI6XCJJbnRlclwiLFwiYXJndW1lbnRzXCI6W3tcInN1YnNldHNcIjpbXCJsYXRpblwiXSxcImRpc3BsYXlcIjpcInN3YXBcIixcInZhcmlhYmxlXCI6XCItLWZvbnQtaW50ZXJcIn1dLFwidmFyaWFibGVOYW1lXCI6XCJpbnRlclwifSIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsV0FBVyxnRkFBZ0Y7QUFDM0Y7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZm9udC9nb29nbGUvdGFyZ2V0LmNzcz82NWI1Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEV4cG9ydHNcbm1vZHVsZS5leHBvcnRzID0ge1xuXHRcInN0eWxlXCI6IHtcImZvbnRGYW1pbHlcIjpcIidfX0ludGVyXzM2YmQ0MScsICdfX0ludGVyX0ZhbGxiYWNrXzM2YmQ0MSdcIixcImZvbnRTdHlsZVwiOlwibm9ybWFsXCJ9LFxuXHRcImNsYXNzTmFtZVwiOiBcIl9fY2xhc3NOYW1lXzM2YmQ0MVwiLFxuXHRcInZhcmlhYmxlXCI6IFwiX192YXJpYWJsZV8zNmJkNDFcIlxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/api/image.js": -/*!*********************************************!*\ - !*** ./node_modules/next/dist/api/image.js ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/image-external */ \"(ssr)/./node_modules/next/dist/shared/lib/image-external.js\");\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=image.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBdUQ7QUFDVjs7QUFFN0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcz8xZjVmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tIFwiLi4vc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4uL3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWxcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/image.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/api/link.js": -/*!********************************************!*\ - !*** ./node_modules/next/dist/api/link.js ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(ssr)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_link__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=link.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5QztBQUNWOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanM/ZjJlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/link.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/add-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/add-base-path.js ***! - \********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBS2dCQTs7O2VBQUFBOzs7MkNBTGM7b0RBQ2E7QUFFM0MsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZLEVBQUVDLFFBQWtCO0lBQzFELE9BQU9DLENBQUFBLEdBQUFBLHdCQUFBQSwwQkFBMEIsRUFDL0JMLE1BQStDSSxHQUMzQ0QsQ0FBQUEsR0FDQUksQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDSixNQUFNSjtBQUU1QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi9zcmMvY2xpZW50L2FkZC1iYXNlLXBhdGgudHM/NTE3MSJdLCJuYW1lcyI6WyJhZGRCYXNlUGF0aCIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwicmVxdWlyZWQiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsIl9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCIsImFkZFBhdGhQcmVmaXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-base-path.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/add-locale.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/client/add-locale.js ***! - \*****************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBR2FBOzs7ZUFBQUE7OztvREFGOEI7QUFFcEMsTUFBTUEsWUFBdUIsU0FBQ0MsSUFBQUE7cUNBQVNDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLElBQUFBLE9BQUFBLElBQUFBLElBQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1FBQUFBLElBQUFBLENBQUFBLE9BQUFBLEVBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztJQUM1QyxJQUFJQyxLQUErQixFQUFFLEVBSXJDO0lBQ0EsT0FBT0Y7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi9zcmMvY2xpZW50L2FkZC1sb2NhbGUudHM/ZmFhZSJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwiYXJncyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-locale.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/app-call-server.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/app-call-server.js ***! - \**********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"callServer\", ({\n enumerable: true,\n get: function() {\n return callServer;\n }\n}));\nconst _approuter = __webpack_require__(/*! ./components/app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nasync function callServer(actionId, actionArgs) {\n const actionDispatcher = (0, _approuter.getServerActionDispatcher)();\n if (!actionDispatcher) {\n throw new Error(\"Invariant: missing action dispatcher.\");\n }\n return new Promise((resolve, reject)=>{\n actionDispatcher({\n actionId,\n actionArgs,\n resolve,\n reject\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-call-server.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hcHAtY2FsbC1zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FFc0JBOzs7ZUFBQUE7Ozt1Q0FGb0I7QUFFbkMsZUFBZUEsV0FBV0MsUUFBZ0IsRUFBRUMsVUFBaUI7SUFDbEUsTUFBTUMsbUJBQW1CQyxDQUFBQSxHQUFBQSxXQUFBQSx5QkFBeUI7SUFFbEQsSUFBSSxDQUFDRCxrQkFBa0I7UUFDckIsTUFBTSxJQUFJRSxNQUFNO0lBQ2xCO0lBRUEsT0FBTyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1FBQzNCTCxpQkFBaUI7WUFDZkY7WUFDQUM7WUFDQUs7WUFDQUM7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vc3JjL2NsaWVudC9hcHAtY2FsbC1zZXJ2ZXIudHM/NDk0YSJdLCJuYW1lcyI6WyJjYWxsU2VydmVyIiwiYWN0aW9uSWQiLCJhY3Rpb25BcmdzIiwiYWN0aW9uRGlzcGF0Y2hlciIsImdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJFcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/app-call-server.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/app-router-announcer.js ***! - \**************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AppRouterAnnouncer\", ({\n enumerable: true,\n get: function() {\n return AppRouterAnnouncer;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\nconst ANNOUNCER_TYPE = \"next-route-announcer\";\nconst ANNOUNCER_ID = \"__next-route-announcer__\";\nfunction getAnnouncerNode() {\n var _existingAnnouncer_shadowRoot;\n const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0];\n if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) {\n return existingAnnouncer.shadowRoot.childNodes[0];\n } else {\n const container = document.createElement(ANNOUNCER_TYPE);\n container.style.cssText = \"position:absolute\";\n const announcer = document.createElement(\"div\");\n announcer.ariaLive = \"assertive\";\n announcer.id = ANNOUNCER_ID;\n announcer.role = \"alert\";\n announcer.style.cssText = \"position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal\";\n // Use shadow DOM here to avoid any potential CSS bleed\n const shadow = container.attachShadow({\n mode: \"open\"\n });\n shadow.appendChild(announcer);\n document.body.appendChild(container);\n return announcer;\n }\n}\nfunction AppRouterAnnouncer(param) {\n let { tree } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const announcer = getAnnouncerNode();\n setPortalNode(announcer);\n return ()=>{\n const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0];\n if (container == null ? void 0 : container.isConnected) {\n document.body.removeChild(container);\n }\n };\n }, []);\n const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(\"\");\n const previousTitle = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n let currentTitle = \"\";\n if (document.title) {\n currentTitle = document.title;\n } else {\n const pageHeader = document.querySelector(\"h1\");\n if (pageHeader) {\n currentTitle = pageHeader.innerText || pageHeader.textContent || \"\";\n }\n }\n // Only announce the title change, but not for the first load because screen\n // readers do that automatically.\n if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) {\n setRouteAnnouncement(currentTitle);\n }\n previousTitle.current = currentTitle;\n }, [\n tree\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-announcer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItYW5ub3VuY2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBNkJnQkE7OztlQUFBQTs7O21DQTdCNEI7c0NBQ2Y7QUFHN0IsTUFBTUMsaUJBQWlCO0FBQ3ZCLE1BQU1DLGVBQWU7QUFFckIsU0FBU0M7UUFFSEM7SUFESixNQUFNQSxvQkFBb0JDLFNBQVNDLGlCQUFpQixDQUFDTCxlQUFlLENBQUMsRUFBRTtJQUN2RSxJQUFJRyxxQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLGtCQUFtQkcsVUFBVSxxQkFBN0JILDhCQUErQkksVUFBVSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxPQUFPSixrQkFBa0JHLFVBQVUsQ0FBQ0MsVUFBVSxDQUFDLEVBQUU7SUFDbkQsT0FBTztRQUNMLE1BQU1DLFlBQVlKLFNBQVNLLGFBQWEsQ0FBQ1Q7UUFDekNRLFVBQVVFLEtBQUssQ0FBQ0MsT0FBTyxHQUFHO1FBQzFCLE1BQU1DLFlBQVlSLFNBQVNLLGFBQWEsQ0FBQztRQUN6Q0csVUFBVUMsUUFBUSxHQUFHO1FBQ3JCRCxVQUFVRSxFQUFFLEdBQUdiO1FBQ2ZXLFVBQVVHLElBQUksR0FBRztRQUNqQkgsVUFBVUYsS0FBSyxDQUFDQyxPQUFPLEdBQ3JCO1FBRUYsdURBQXVEO1FBQ3ZELE1BQU1LLFNBQVNSLFVBQVVTLFlBQVksQ0FBQztZQUFFQyxNQUFNO1FBQU87UUFDckRGLE9BQU9HLFdBQVcsQ0FBQ1A7UUFDbkJSLFNBQVNnQixJQUFJLENBQUNELFdBQVcsQ0FBQ1g7UUFDMUIsT0FBT0k7SUFDVDtBQUNGO0FBRU8sU0FBU2IsbUJBQW1Cc0IsS0FBcUM7SUFBckMsTUFBRUMsSUFBSSxFQUErQixHQUFyQ0Q7SUFDakMsTUFBTSxDQUFDRSxZQUFZQyxjQUFjLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBcUI7SUFFakVDLENBQUFBLEdBQUFBLE9BQUFBLFNBQVMsRUFBQztRQUNSLE1BQU1kLFlBQVlWO1FBQ2xCc0IsY0FBY1o7UUFDZCxPQUFPO1lBQ0wsTUFBTUosWUFBWUosU0FBU3VCLG9CQUFvQixDQUFDM0IsZUFBZSxDQUFDLEVBQUU7WUFDbEUsSUFBSVEsYUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsVUFBV29CLFdBQVcsRUFBRTtnQkFDMUJ4QixTQUFTZ0IsSUFBSSxDQUFDUyxXQUFXLENBQUNyQjtZQUM1QjtRQUNGO0lBQ0YsR0FBRyxFQUFFO0lBRUwsTUFBTSxDQUFDc0IsbUJBQW1CQyxxQkFBcUIsR0FBR04sQ0FBQUEsR0FBQUEsT0FBQUEsUUFBUSxFQUFDO0lBQzNELE1BQU1PLGdCQUFnQkMsQ0FBQUEsR0FBQUEsT0FBQUEsTUFBTTtJQUU1QlAsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBUyxFQUFDO1FBQ1IsSUFBSVEsZUFBZTtRQUNuQixJQUFJOUIsU0FBUytCLEtBQUssRUFBRTtZQUNsQkQsZUFBZTlCLFNBQVMrQixLQUFLO1FBQy9CLE9BQU87WUFDTCxNQUFNQyxhQUFhaEMsU0FBU2lDLGFBQWEsQ0FBQztZQUMxQyxJQUFJRCxZQUFZO2dCQUNkRixlQUFlRSxXQUFXRSxTQUFTLElBQUlGLFdBQVdHLFdBQVcsSUFBSTtZQUNuRTtRQUNGO1FBRUEsNEVBQTRFO1FBQzVFLGlDQUFpQztRQUNqQyxJQUNFUCxjQUFjUSxPQUFPLEtBQUtDLGFBQzFCVCxjQUFjUSxPQUFPLEtBQUtOLGNBQzFCO1lBQ0FILHFCQUFxQkc7UUFDdkI7UUFDQUYsY0FBY1EsT0FBTyxHQUFHTjtJQUMxQixHQUFHO1FBQUNaO0tBQUs7SUFFVCxPQUFPQyxhQUFhbUIsV0FBYm5CLEdBQWFtQixDQUFBQSxHQUFBQSxVQUFBQSxZQUFZLEVBQUNaLG1CQUFtQlAsY0FBYztBQUNwRSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1hbm5vdW5jZXIudHN4P2FkZTMiXSwibmFtZXMiOlsiQXBwUm91dGVyQW5ub3VuY2VyIiwiQU5OT1VOQ0VSX1RZUEUiLCJBTk5PVU5DRVJfSUQiLCJnZXRBbm5vdW5jZXJOb2RlIiwiZXhpc3RpbmdBbm5vdW5jZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRzQnlOYW1lIiwic2hhZG93Um9vdCIsImNoaWxkTm9kZXMiLCJjb250YWluZXIiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJjc3NUZXh0IiwiYW5ub3VuY2VyIiwiYXJpYUxpdmUiLCJpZCIsInJvbGUiLCJzaGFkb3ciLCJhdHRhY2hTaGFkb3ciLCJtb2RlIiwiYXBwZW5kQ2hpbGQiLCJib2R5IiwicGFyYW0iLCJ0cmVlIiwicG9ydGFsTm9kZSIsInNldFBvcnRhbE5vZGUiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaXNDb25uZWN0ZWQiLCJyZW1vdmVDaGlsZCIsInJvdXRlQW5ub3VuY2VtZW50Iiwic2V0Um91dGVBbm5vdW5jZW1lbnQiLCJwcmV2aW91c1RpdGxlIiwidXNlUmVmIiwiY3VycmVudFRpdGxlIiwidGl0bGUiLCJwYWdlSGVhZGVyIiwicXVlcnlTZWxlY3RvciIsImlubmVyVGV4dCIsInRleHRDb250ZW50IiwiY3VycmVudCIsInVuZGVmaW5lZCIsImNyZWF0ZVBvcnRhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/app-router-headers.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/app-router-headers.js ***! - \************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION: function() {\n return ACTION;\n },\n FLIGHT_PARAMETERS: function() {\n return FLIGHT_PARAMETERS;\n },\n NEXT_DID_POSTPONE_HEADER: function() {\n return NEXT_DID_POSTPONE_HEADER;\n },\n NEXT_ROUTER_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_PREFETCH_HEADER;\n },\n NEXT_ROUTER_STATE_TREE: function() {\n return NEXT_ROUTER_STATE_TREE;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\n },\n NEXT_URL: function() {\n return NEXT_URL;\n },\n RSC_CONTENT_TYPE_HEADER: function() {\n return RSC_CONTENT_TYPE_HEADER;\n },\n RSC_HEADER: function() {\n return RSC_HEADER;\n }\n});\nconst RSC_HEADER = \"RSC\";\nconst ACTION = \"Next-Action\";\nconst NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nconst NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nconst NEXT_URL = \"Next-Url\";\nconst RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nconst FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nconst NEXT_RSC_UNION_QUERY = \"_rsc\";\nconst NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFDYUEsUUFBTTtlQUFOQTs7SUFPQUMsbUJBQWlCO2VBQWpCQTs7SUFRQUMsMEJBQXdCO2VBQXhCQTs7SUFaQUMsNkJBQTJCO2VBQTNCQTs7SUFEQUMsd0JBQXNCO2VBQXRCQTs7SUFXQUMsc0JBQW9CO2VBQXBCQTs7SUFUQUMsVUFBUTtlQUFSQTs7SUFDQUMseUJBQXVCO2VBQXZCQTs7SUFOQUMsWUFBVTtlQUFWQTs7O0FBQU4sTUFBTUEsYUFBYTtBQUNuQixNQUFNUixTQUFTO0FBRWYsTUFBTUkseUJBQXlCO0FBQy9CLE1BQU1ELDhCQUE4QjtBQUNwQyxNQUFNRyxXQUFXO0FBQ2pCLE1BQU1DLDBCQUEwQjtBQUVoQyxNQUFNTixvQkFBb0I7SUFDL0I7UUFBQ087S0FBVztJQUNaO1FBQUNKO0tBQXVCO0lBQ3hCO1FBQUNEO0tBQTRCO0NBQzlCO0FBRU0sTUFBTUUsdUJBQXVCO0FBRTdCLE1BQU1ILDJCQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1oZWFkZXJzLnRzP2Y5NGUiXSwibmFtZXMiOlsiQUNUSU9OIiwiRkxJR0hUX1BBUkFNRVRFUlMiLCJORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIiLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJORVhUX1JPVVRFUl9TVEFURV9UUkVFIiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJORVhUX1VSTCIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiUlNDX0hFQURFUiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/app-router.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/components/app-router.js ***! - \****************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createEmptyCacheNode: function() {\n return createEmptyCacheNode;\n },\n default: function() {\n return AppRouter;\n },\n getServerActionDispatcher: function() {\n return getServerActionDispatcher;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./router-reducer/create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _usereducerwithdevtools = __webpack_require__(/*! ./use-reducer-with-devtools */ \"(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _createinitialrouterstate = __webpack_require__(/*! ./router-reducer/create-initial-router-state */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\");\nconst _isbot = __webpack_require__(/*! ../../shared/lib/router/utils/is-bot */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _approuterannouncer = __webpack_require__(/*! ./app-router-announcer */ \"(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _findheadincache = __webpack_require__(/*! ./router-reducer/reducers/find-head-in-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.js\");\nconst _approuterheaders = __webpack_require__(/*! ./app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _removebasepath = __webpack_require__(/*! ../remove-base-path */ \"(ssr)/./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst isServer = \"undefined\" === \"undefined\";\n// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.\nlet initialParallelRoutes = isServer ? null : new Map();\nlet globalServerActionDispatcher = null;\nfunction getServerActionDispatcher() {\n return globalServerActionDispatcher;\n}\nconst globalMutable = {};\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\n// this function performs a depth-first search of the tree to find the selected\n// params\nfunction getSelectedParams(currentTree, params) {\n if (params === void 0) params = {};\n const parallelRoutes = currentTree[1];\n for (const parallelRoute of Object.values(parallelRoutes)){\n const segment = parallelRoute[0];\n const isDynamicParameter = Array.isArray(segment);\n const segmentValue = isDynamicParameter ? segment[1] : segment;\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) continue;\n // Ensure catchAll and optional catchall are turned into an array\n const isCatchAll = isDynamicParameter && (segment[2] === \"c\" || segment[2] === \"oc\");\n if (isCatchAll) {\n params[segment[0]] = segment[1].split(\"/\");\n } else if (isDynamicParameter) {\n params[segment[0]] = segment[1];\n }\n params = getSelectedParams(parallelRoute, params);\n }\n return params;\n}\nfunction isExternalURL(url) {\n return url.origin !== window.location.origin;\n}\nfunction HistoryUpdater(param) {\n let { appRouterState, sync } = param;\n (0, _react.useInsertionEffect)(()=>{\n const { tree, pushRef, canonicalUrl } = appRouterState;\n const historyState = {\n ...pushRef.preserveCustomHistoryState ? window.history.state : {},\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: tree\n };\n if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false;\n window.history.pushState(historyState, \"\", canonicalUrl);\n } else {\n window.history.replaceState(historyState, \"\", canonicalUrl);\n }\n sync(appRouterState);\n }, [\n appRouterState,\n sync\n ]);\n return null;\n}\nfunction createEmptyCacheNode() {\n return {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n}\nfunction useServerActionDispatcher(dispatch) {\n const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n ...actionPayload,\n type: _routerreducertypes.ACTION_SERVER_ACTION\n });\n });\n }, [\n dispatch\n ]);\n globalServerActionDispatcher = serverActionDispatcher;\n}\n/**\n * Server response that only patches the cache and tree.\n */ function useChangeByServerResponse(dispatch) {\n return (0, _react.useCallback)((param)=>{\n let { previousTree, serverResponse } = param;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_SERVER_PATCH,\n previousTree,\n serverResponse\n });\n });\n }, [\n dispatch\n ]);\n}\nfunction useNavigate(dispatch) {\n return (0, _react.useCallback)((href, navigateType, shouldScroll)=>{\n const url = new URL((0, _addbasepath.addBasePath)(href), location.href);\n return dispatch({\n type: _routerreducertypes.ACTION_NAVIGATE,\n url,\n isExternalUrl: isExternalURL(url),\n locationSearch: location.search,\n shouldScroll: shouldScroll != null ? shouldScroll : true,\n navigateType\n });\n }, [\n dispatch\n ]);\n}\nfunction copyNextJsInternalHistoryState(data) {\n if (data == null) data = {};\n const currentState = window.history.state;\n const __NA = currentState == null ? void 0 : currentState.__NA;\n if (__NA) {\n data.__NA = __NA;\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE;\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE;\n }\n return data;\n}\nfunction Head(param) {\n let { headCacheNode } = param;\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null;\n const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null;\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `head`.\n return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc);\n}\n/**\n * The global router that wraps the application components.\n */ function Router(param) {\n let { buildId, initialHead, initialTree, initialCanonicalUrl, initialSeedData, couldBeIntercepted, assetPrefix, missingSlots } = param;\n const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialParallelRoutes,\n location: !isServer ? window.location : null,\n initialHead,\n couldBeIntercepted\n }), [\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialHead,\n couldBeIntercepted\n ]);\n const [reducerState, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(initialState);\n (0, _react.useEffect)(()=>{\n // Ensure initialParallelRoutes is cleaned up from memory once it's used.\n initialParallelRoutes = null;\n }, []);\n const { canonicalUrl } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = (0, _react.useMemo)(()=>{\n const url = new URL(canonicalUrl, true ? \"http://n\" : 0);\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname\n };\n }, [\n canonicalUrl\n ]);\n const changeByServerResponse = useChangeByServerResponse(dispatch);\n const navigate = useNavigate(dispatch);\n useServerActionDispatcher(dispatch);\n /**\n * The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.\n */ const appRouter = (0, _react.useMemo)(()=>{\n const routerInstance = {\n back: ()=>window.history.back(),\n forward: ()=>window.history.forward(),\n prefetch: (href, options)=>{\n // Don't prefetch for bots as they don't navigate.\n // Don't prefetch during development (improves compilation performance)\n if ((0, _isbot.isBot)(window.navigator.userAgent) || \"development\" === \"development\") {\n return;\n }\n const url = new URL((0, _addbasepath.addBasePath)(href), window.location.href);\n // External urls can't be prefetched in the same way.\n if (isExternalURL(url)) {\n return;\n }\n (0, _react.startTransition)(()=>{\n var _options_kind;\n dispatch({\n type: _routerreducertypes.ACTION_PREFETCH,\n url,\n kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL\n });\n });\n },\n replace: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"replace\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n push: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"push\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n refresh: ()=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n });\n });\n },\n fastRefresh: ()=>{\n if (false) {} else {\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_FAST_REFRESH,\n origin: window.location.origin\n });\n });\n }\n }\n };\n return routerInstance;\n }, [\n dispatch,\n navigate\n ]);\n (0, _react.useEffect)(()=>{\n // Exists for debugging purposes. Don't use in application code.\n if (window.next) {\n window.next.router = appRouter;\n }\n }, [\n appRouter\n ]);\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { cache, prefetchCache, tree } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: appRouter,\n cache,\n prefetchCache,\n tree\n };\n }, [\n appRouter,\n cache,\n prefetchCache,\n tree\n ]);\n }\n (0, _react.useEffect)(()=>{\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event) {\n var _window_history_state;\n if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) {\n return;\n }\n // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered.\n // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value\n // of the last MPA navigation.\n globalMutable.pendingMpaPath = undefined;\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n }\n window.addEventListener(\"pageshow\", handlePageShow);\n return ()=>{\n window.removeEventListener(\"pageshow\", handlePageShow);\n };\n }, [\n dispatch\n ]);\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location1 = window.location;\n if (pushRef.pendingPush) {\n location1.assign(canonicalUrl);\n } else {\n location1.replace(canonicalUrl);\n }\n globalMutable.pendingMpaPath = canonicalUrl;\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n (0, _react.useEffect)(()=>{\n const originalPushState = window.history.pushState.bind(window.history);\n const originalReplaceState = window.history.replaceState.bind(window.history);\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (url)=>{\n var _window_history_state;\n const href = window.location.href;\n const tree = (_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(url != null ? url : href, href),\n tree\n });\n });\n };\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.pushState = function pushState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalPushState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalPushState(data, _unused, url);\n };\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.replaceState = function replaceState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalReplaceState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalReplaceState(data, _unused, url);\n };\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */ const onPopState = (param)=>{\n let { state } = param;\n if (!state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return;\n }\n // This case happens when the history entry was pushed by the `pages` router.\n if (!state.__NA) {\n window.location.reload();\n return;\n }\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n });\n };\n // Register popstate event to call onPopstate.\n window.addEventListener(\"popstate\", onPopState);\n return ()=>{\n window.history.pushState = originalPushState;\n window.history.replaceState = originalReplaceState;\n window.removeEventListener(\"popstate\", onPopState);\n };\n }, [\n dispatch\n ]);\n const { cache, tree, nextUrl, focusAndScrollRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n const matchingHead = (0, _react.useMemo)(()=>{\n return (0, _findheadincache.findHeadInCache)(cache, tree[1]);\n }, [\n cache,\n tree\n ]);\n // Add memoized pathParams for useParams.\n const pathParams = (0, _react.useMemo)(()=>{\n return getSelectedParams(tree);\n }, [\n tree\n ]);\n let head;\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey] = matchingHead;\n head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {\n headCacheNode: headCacheNode\n }, headKey);\n } else {\n head = null;\n }\n let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {\n children: [\n head,\n cache.rsc,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, {\n tree: tree\n })\n ]\n });\n if (true) {\n if (false) {}\n const HotReloader = (__webpack_require__(/*! ./react-dev-overlay/app/hot-reloader-client */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\")[\"default\"]);\n content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, {\n assetPrefix: assetPrefix,\n children: content\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, {\n appRouterState: (0, _usereducerwithdevtools.useUnwrapState)(reducerState),\n sync: sync\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, {\n value: pathParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: pathname,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: searchParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {\n value: {\n buildId,\n changeByServerResponse,\n tree,\n focusAndScrollRef,\n nextUrl\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: appRouter,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n childNodes: cache.parallelRoutes,\n tree,\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl,\n loading: cache.loading\n },\n children: content\n })\n })\n })\n })\n })\n })\n ]\n });\n}\nfunction AppRouter(props) {\n const { globalErrorComponent, ...rest } = props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: globalErrorComponent,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, {\n ...rest\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFtTGdCQSxTQUFBQTswQkFBQUE7O0lBeWdCaEI7OztJQWpuQmdCQzsrQkFBQUE7O0lBUUFDO2lDQUFBQTs7Ozs7O3VEQWxFVEMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt1Q0FlQUEsbUJBQUFBLENBQUE7Z0RBUTJCOzt5Q0FVM0JBLG1CQUFBQSxDQUFBO2dDQUN1QkEsbUJBQUFBLENBQUE7O2tDQUdSQSxtQkFBQUEsQ0FBQTs7O2dEQUdXOzhDQUNEOztnREFFSzs4Q0FDTjs0Q0FDSDt5Q0FDSztBQUdqQyxNQUFNQyxXQUFXRCxtQkFBQUEsQ0FBT0Usc0ZBQUFBO0FBRXhCLE1BQUFELFdBQUE7QUFDQSxpSEFFUUU7QUFFUixJQUFJQyx3QkFBQUEsV0FBK0IsV0FBQUQ7QUFFNUIsSUFBQUMsK0JBQVNQO1NBQ2RBO0lBQ0YsT0FBQU87QUFFQTtBQUlPLE1BQUFDLGdCQUFTUCxDQUFBQTtTQUNkQSw0QkFBTVEsR0FBNkI7SUFDbkNBLE1BQUFBLDZCQUEyQkMsSUFBWUMsSUFBQ0MsS0FBT0MsU0FBQUEsTUFBQUE7SUFDL0NKLDJCQUF3QkMsWUFBSyxDQUFBRSxNQUFjLENBQUFFLGtCQUFBRCxvQkFBQTtRQUN6Q0UsS0FDY0MsRUFBb0IsRUFTcEM7SUFDRixPQUFBUDtBQUVBO0FBQ0EsK0VBQVM7QUFDVCxTQUFTWTtTQUVQQyxrQkFBQUEsV0FBa0IsRUFBQUEsTUFBQTtJQUVsQixJQUFBQSxXQUFNQyxLQUFBQSxHQUFpQkMsU0FBQUEsQ0FBQUE7SUFFdkIsTUFBS0QsaUJBQU1FLFdBQWlCQyxDQUFPQyxFQUFBQTtTQUNqQyxNQUFNQyxpQkFBVUgsT0FBY0UsTUFBRSxDQUFBSixnQkFBQTtRQUNoQyxNQUFNTSxVQUFBQSxhQUFxQkMsQ0FBQUEsRUFBQUE7UUFDM0IsTUFBTUMscUJBQWVGLE1BQUFBLE9BQUFBLENB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QSxFQUFBQSxlQUFBQSxhQUFBQSxFQUFBQTt3QkFDN0JBO2tCQUFnQixrQkFBQWQsWUFBQUMsR0FBQSxFQUFBaUIsUUFBQTs7O0lBR3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLnRzeD8zNzgxIl0sIm5hbWVzIjpbImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwiZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsInVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlciIsIl8iLCJyZXF1aXJlIiwiaXNTZXJ2ZXIiLCJ3aW5kb3ciLCJNYXAiLCJnbG9iYWxTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwiZ2xvYmFsTXV0YWJsZSIsInVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzIiwic2VhcmNoUGFyYW1zIiwiVVJMIiwiZGVsZXRlIiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJfYXBwcm91dGVyaGVhZGVycyIsInByb2Nlc3MiLCJfX05FWFRfQ09ORklHX09VVFBVVCIsInBhdGhuYW1lIiwibGVuZ3RoIiwiZW5kc1dpdGgiLCJzbGljZSIsImdldFNlbGVjdGVkUGFyYW1zIiwicGFyYW1zIiwicGFyYWxsZWxSb3V0ZXMiLCJjdXJyZW50VHJlZSIsInBhcmFsbGVsUm91dGUiLCJPYmplY3QiLCJ2YWx1ZXMiLCJzZWdtZW50IiwiaXNEeW5hbWljUGFyYW1ldGVyIiwiQXJyYXkiLCJzZWdtZW50VmFsdWUiLCJzdGFydHNXaXRoIiwiUEFHRV9TRUdNRU5UX0tFWSIsIl9zZWdtZW50IiwiaXNDYXRjaEFsbCIsInNwbGl0IiwiaXNFeHRlcm5hbFVSTCIsInVybCIsIm9yaWdpbiIsImxvY2F0aW9uIiwiSGlzdG9yeVVwZGF0ZXIiLCJwYXJhbSIsInN5bmMiLCJ1c2VJbnNlcnRpb25FZmZlY3QiLCJfcmVhY3QiLCJjYW5vbmljYWxVcmwiLCJoaXN0b3J5U3RhdGUiLCJhcHBSb3V0ZXJTdGF0ZSIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwicHVzaFJlZiIsImhpc3RvcnkiLCJzdGF0ZSIsIl9fTkEiLCJfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFIiwidHJlZSIsInBlbmRpbmdQdXNoIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJfY3JlYXRlaHJlZmZyb211cmwiLCJocmVmIiwicHVzaFN0YXRlIiwicmVwbGFjZVN0YXRlIiwibGF6eURhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsImhlYWQiLCJwcmVmZXRjaEhlYWQiLCJsYXp5RGF0YVJlc29sdmVkIiwibG9hZGluZyIsInVzZVNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJ1c2VDYWxsYmFjayIsInN0YXJ0VHJhbnNpdGlvbiIsImFjdGlvblBheWxvYWQiLCJkaXNwYXRjaCIsInR5cGUiLCJBQ1RJT05fU0VSVkVSX0FDVElPTiIsIl9yb3V0ZXJyZWR1Y2VydHlwZXMiLCJzZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwicHJldmlvdXNUcmVlIiwic2VydmVyUmVzcG9uc2UiLCJ1c2VOYXZpZ2F0ZSIsImFkZEJhc2VQYXRoIiwic2hvdWxkU2Nyb2xsIiwiX2FkZGJhc2VwYXRoIiwiQUNUSU9OX05BVklHQVRFIiwiaXNFeHRlcm5hbFVybCIsImxvY2F0aW9uU2VhcmNoIiwic2VhcmNoIiwibmF2aWdhdGVUeXBlIiwiZGF0YSIsImN1cnJlbnRTdGF0ZSIsIkhlYWQiLCJoZWFkQ2FjaGVOb2RlIiwicmVzb2x2ZWRQcmVmZXRjaFJzYyIsInVzZURlZmVycmVkVmFsdWUiLCJidWlsZElkIiwiaW5pdGlhbEhlYWQiLCJpbml0aWFsU3RhdGUiLCJ1c2VNZW1vIiwiaW5pdGlhbENhbm9uaWNhbFVybCIsImNyZWF0ZUluaXRpYWxSb3V0ZXJTdGF0ZSIsImFzc2V0UHJlZml4IiwibWlzc2luZ1Nsb3RzIiwiaW5pdGlhbFNlZWREYXRhIiwiaW5pdGlhbFRyZWUiLCJpbml0aWFsUGFyYWxsZWxSb3V0ZXMiLCJjb3VsZEJlSW50ZXJjZXB0ZWQiLCJ1c2VFZmZlY3QiLCJfdXNlcmVkdWNlcndpdGhkZXZ0b29scyIsInVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29scyIsInVzZVVud3JhcFN0YXRlIiwicmVkdWNlclN0YXRlIiwiaGFzQmFzZVBhdGgiLCJfaGFzYmFzZXBhdGgiLCJfcmVtb3ZlYmFzZXBhdGgiLCJyZW1vdmVCYXNlUGF0aCIsIm5hdmlnYXRlIiwiYXBwUm91dGVyIiwicm91dGVySW5zdGFuY2UiLCJiYWNrIiwiZm9yd2FyZCIsInByZWZldGNoIiwib3B0aW9ucyIsIk5PREVfRU5WIiwiX2lzYm90IiwiaXNCb3QiLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJraW5kIiwiX29wdGlvbnNfa2luZCIsIlByZWZldGNoS2luZCIsIkZVTEwiLCJyZXBsYWNlIiwiX29wdGlvbnNfc2Nyb2xsIiwic2Nyb2xsIiwicHVzaCIsInJlZnJlc2giLCJmYXN0UmVmcmVzaCIsIkVycm9yIiwibmV4dCIsInJvdXRlciIsImNhY2hlIiwicHJlZmV0Y2hDYWNoZSIsIl93aW5kb3dfaGlzdG9yeV9zdGF0ZSIsImV2ZW50IiwicGVyc2lzdGVkIiwicGVuZGluZ01wYVBhdGgiLCJ1bmRlZmluZWQiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlUGFnZVNob3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibXBhTmF2aWdhdGlvbiIsImxvY2F0aW9uMSIsImFzc2lnbiIsInVzZSIsInVucmVzb2x2ZWRUaGVuYWJsZSIsIl91bnJlc29sdmVkdGhlbmFibGUiLCJvcmlnaW5hbFB1c2hTdGF0ZSIsIm9yaWdpbmFsUmVwbGFjZVN0YXRlIiwiYmluZCIsIl91bnVzZWQiLCJhcHBseVVybEZyb21IaXN0b3J5UHVzaFJlcGxhY2UiLCJyZWxvYWQiLCJvblBvcFN0YXRlIiwibWF0Y2hpbmdIZWFkIiwiZmluZEhlYWRJbkNhY2hlIiwiX2ZpbmRoZWFkaW5jYWNoZSIsInBhdGhQYXJhbXMiLCJoZWFkS2V5IiwiRGV2Um9vdE5vdEZvdW5kQm91bmRhcnkiLCJjb250ZW50IiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJNaXNzaW5nU2xvdENvbnRleHQiLCJ2YWx1ZSIsIkhvdFJlbG9hZGVyIiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsIlByb3ZpZGVyIiwiY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSIsImZvY3VzQW5kU2Nyb2xsUmVmIiwibmV4dFVybCIsIkxheW91dFJvdXRlckNvbnRleHQiLCJjaGlsZE5vZGVzIiwiQXBwUm91dGVyIiwiZ2xvYmFsRXJyb3JDb21wb25lbnQiLCJyZXN0IiwiRXJyb3JCb3VuZGFyeSIsImVycm9yQ29tcG9uZW50IiwiUm91dGVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/bailout-to-client-rendering.js ***! - \*********************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"bailoutToClientRendering\", ({\n enumerable: true,\n get: function() {\n return bailoutToClientRendering;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nfunction bailoutToClientRendering(reason) {\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) return;\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) throw new _bailouttocsr.BailoutToCSRError(reason);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bailout-to-client-rendering.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2JhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZy5qcyIsIm1hcHBpbmdzIjoiOzs7OzREQUdnQkE7OztlQUFBQTs7OzBDQUhrQjtrRUFDVztBQUV0QyxTQUFTQSx5QkFBeUJDLE1BQWM7SUFDckQsTUFBTUMsd0JBQXdCQyxzQ0FBQUEsNEJBQTRCLENBQUNDLFFBQVE7SUFFbkUsSUFBSUYseUJBQUFBLE9BQUFBLEtBQUFBLElBQUFBLHNCQUF1QkcsV0FBVyxFQUFFO0lBRXhDLElBQUlILHlCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxzQkFBdUJJLGtCQUFrQixFQUMzQyxNQUFNLElBQUlDLGNBQUFBLGlCQUFpQixDQUFDTjtBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvYmFpbG91dC10by1jbGllbnQtcmVuZGVyaW5nLnRzP2JiZDgiXSwibmFtZXMiOlsiYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIiwicmVhc29uIiwic3RhdGljR2VuZXJhdGlvblN0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImdldFN0b3JlIiwiZm9yY2VTdGF0aWMiLCJpc1N0YXRpY0dlbmVyYXRpb24iLCJCYWlsb3V0VG9DU1JFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/client-page.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/client/components/client-page.js ***! - \*****************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ClientPageRoot\", ({\n enumerable: true,\n get: function() {\n return ClientPageRoot;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _searchparams = __webpack_require__(/*! ./search-params */ \"(ssr)/./node_modules/next/dist/client/components/search-params.js\");\nfunction ClientPageRoot(param) {\n let { Component, props } = param;\n // We expect to be passed searchParams but even if we aren't we can construct one from\n // an empty object. We only do this if we are in a static generation as a performance\n // optimization. Ideally we'd unconditionally construct the tracked params but since\n // this creates a proxy which is slow and this would happen even for client navigations\n // that are done entirely dynamically and we know there the dynamic tracking is a noop\n // in this dynamic case we can safely elide it.\n props.searchParams = (0, _searchparams.createDynamicallyTrackedSearchParams)(props.searchParams || {});\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...props\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=client-page.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR08sTUFBQUEsZ0JBQVNDLG1CQUFBQSxDQU1mO1NBTjhCQSxlQUU3QkMsS0FJRDtJQUNDLE1BQUFDLFNBQUEsRUFBQUQsS0FBQSxLQUFBRTtJQUNBLHNGQUFxRjtJQUNyRixxRkFBb0Y7SUFDcEY7SUFDQSx1RkFBc0Y7SUFDdEYsc0ZBQStDO0lBQy9DRiwrQ0FBcUJHO0lBR3JCSCxNQUFBSSxZQUFBLEdBQU8sSUFBQU4sY0FBQUssb0NBQUNGLEVBQUFBLE1BQUFBLFlBQUFBLElBQUFBLENBQUFBO1dBQW1CLGtCQUFBSSxZQUFBQyxHQUFBLEVBQUFMLFdBQUE7O0lBQzdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS50c3g/ODRjNSJdLCJuYW1lcyI6WyJfc2VhcmNocGFyYW1zIiwiQ2xpZW50UGFnZVJvb3QiLCJwcm9wcyIsIkNvbXBvbmVudCIsInBhcmFtIiwiY3JlYXRlRHluYW1pY2FsbHlUcmFja2VkU2VhcmNoUGFyYW1zIiwic2VhcmNoUGFyYW1zIiwiX2pzeHJ1bnRpbWUiLCJqc3giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/client-page.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/error-boundary.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/client/components/error-boundary.js ***! - \********************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ErrorBoundary: function() {\n return ErrorBoundary;\n },\n ErrorBoundaryHandler: function() {\n return ErrorBoundaryHandler;\n },\n GlobalError: function() {\n return GlobalError;\n },\n // Exported so that the import signature in the loaders can be identical to user\n // supplied custom global error signatures.\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _isnextroutererror = __webpack_require__(/*! ./is-next-router-error */ \"(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n text: {\n fontSize: \"14px\",\n fontWeight: 400,\n lineHeight: \"28px\",\n margin: \"0 8px\"\n }\n};\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nfunction HandleISRError(param) {\n let { error } = param;\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) {\n console.error(error);\n throw error;\n }\n return null;\n}\nclass ErrorBoundaryHandler extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _isnextroutererror.isNextRouterError)(error)) {\n // Re-throw if an expected internal Next.js router error occurs\n // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment)\n throw error;\n }\n return {\n error\n };\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.error) {\n return {\n error: null,\n previousPathname: props.pathname\n };\n }\n return {\n error: state.error,\n previousPathname: props.pathname\n };\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific the the `@types/react` version.\n render() {\n if (this.state.error) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: this.state.error\n }),\n this.props.errorStyles,\n this.props.errorScripts,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, {\n error: this.state.error,\n reset: this.reset\n })\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.reset = ()=>{\n this.setState({\n error: null\n });\n };\n this.state = {\n error: null,\n previousPathname: this.props.pathname\n };\n }\n}\nfunction GlobalError(param) {\n let { error } = param;\n const digest = error == null ? void 0 : error.digest;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n id: \"__next_error__\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: error\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.error,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n style: styles.text,\n children: \"Application error: a \" + (digest ? \"server\" : \"client\") + \"-side exception has occurred (see the \" + (digest ? \"server logs\" : \"browser console\") + \" for more information).\"\n }),\n digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n style: styles.text,\n children: \"Digest: \" + digest\n }) : null\n ]\n })\n })\n ]\n })\n ]\n });\n}\nconst _default = GlobalError;\nfunction ErrorBoundary(param) {\n let { errorComponent, errorStyles, errorScripts, children } = param;\n const pathname = (0, _navigation.usePathname)();\n if (errorComponent) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, {\n pathname: pathname,\n errorComponent: errorComponent,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBb0tnQkEsU0FBYTttQkFBYkE7O0lBdEdIQzswQkFBQUE7O0lBaUVHQztpQkFBQUE7O0lBd0JoQjtJQUNBLGdGQUEyQztJQUMzQywyQ0FBMEI7Ozs7Ozs7NkJBdEpFQyx5QkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTs7O0FBSTVCLE1BQU1DLHdDQUFTRCxtQkFBQUEsQ0FBQTtNQUNiRSxTQUFPO1dBQ0w7UUFDQUMsMEZBQ0U7UUFDRkMsWUFBUTtRQUNSQyxRQUFBQTtRQUNBQyxXQUFTO1FBQ1RDLFNBQUFBO1FBQ0FDLGVBQVk7UUFDWkMsWUFBQUE7UUFDRkEsZ0JBQUE7SUFDQUM7VUFDRUM7UUFDQUMsVUFBQUE7UUFDQUMsWUFBWTtRQUNaQyxZQUFRO1FBQ1ZBLFFBQUE7SUFDRjtBQXdCQTtBQUNBLDhEQUF5RDtBQUN6RCx5REFBb0M7QUFDcEMsb0NBQWlEO1NBQXpCQyxlQUFBQyxLQUFBO0lBQ3RCLE1BQU1DLEtBQUFBLEVBQUFBLEdBQVFDO0lBQ2QsTUFBSUQsUUFBQUEsc0NBQW1CQyw0QkFBSUQsQ0FBQUEsUUFBT0U7UUFDaENDLENBQUFBLFNBQVFsQixPQUFNQSxLQUFBQSxJQUFBQSxNQUFBQSxZQUFBQSxLQUFBQSxDQUFBQSxTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxNQUFBQSxrQkFBQUEsR0FBQUE7UUFDZGtCLFFBQU1sQixLQUFBQSxDQUFBQTtRQUNSLE1BQUFBO0lBRUE7SUFDRjtBQUVPO01BU0xOLDZCQUFPeUIsT0FBcUNDLE9BQUUsQ0FBQUMsU0FBQTtXQUM1Q0YseUJBQUlHLEtBQUFBLEVBQUFBO1lBQ0YsSUFBQUMsbUJBQUFELGlCQUFBLEVBQUF0QixRQUFBO1lBQ0E7WUFDQSw0R0FBTUE7WUFDUixNQUFBQTtRQUVBO2VBQVNBO1lBQU1BO1FBQ2pCO0lBRUE7V0FJRXdCLHlCQUFBQyxLQUFBLEVBQUFDLEtBQUE7Ozs7OztZQU9FRCxNQUFBRSxRQUFPLEtBQUFELE1BQUFFLGdCQUFBLElBQUFGLE1BQUExQixLQUFBO21CQUNMQTtnQkFDQTRCLE9BQUFBO2dCQUNGQSxrQkFBQUgsTUFBQUUsUUFBQTtZQUNGO1FBQ0E7ZUFDRTNCO1lBQ0E0QixPQUFBQSxNQUFBQSxLQUFrQkg7WUFDcEJHLGtCQUFBSCxNQUFBRSxRQUFBO1FBQ0Y7SUFNQTtJQUNBRSwwSUFBMEI7YUFDcEI7WUFDRixLQUFBSCxLQUFBLENBQUExQixLQUFBOzs7K0JBRTJCLEdBQUksSUFBQzBCLFlBQVdJLEdBQUEsRUFBQWpCLGdCQUFBOztvQkFDdEM7b0JBQ0EsSUFBSSxDQUFDWSxLQUFLLENBQUNNLFdBQUFBOzJDQUNaOytCQUNTLEdBQUksSUFBQ0wsWUFBV0ksR0FBQSxPQUFBTCxLQUFBLENBQUFPLGNBQUE7d0JBQ3ZCQyxPQUFPLElBQUksQ0FBQ0EsS0FBSyxDQUFBakMsS0FBQTs7OztZQUl6QjtRQUVBO1FBQ0YsWUFBQXlCLEtBQUEsQ0FBQVMsUUFBQTtJQTFEQUM7Z0JBQ1FWLEtBQUFBLENBQUFBO2FBb0NSUSxDQUFBQTtZQUNFLENBQUFBLEtBQUtHLEdBQUFBO2dCQUFXcEMsQ0FBQUEsUUFBTztnQkFBS0EsT0FBQTtZQUM5QjtRQXJDRTtZQUFlQSxDQUFBQSxLQUFBQSxHQUFPO1lBQU00QixPQUFBQTtZQUFzQ0Esa0JBQUEsS0FBQUgsS0FBQSxDQUFBRSxRQUFBO1FBQ3BFO0lBd0RGO0FBRU87U0FBcUJoQyxZQUFBbUIsS0FBQTtJQUMxQixNQUFNdUIsS0FBQUEsRUFBQUEsR0FBNkJyQztJQUNuQyxNQUFBcUMsU0FBQXJDLFNBQ0UsZ0JBQUFBLE1BQUNzQyxNQUFBQTtXQUFRLGtCQUFBRSxZQUFBQyxJQUFBOzs7MEJBRVAsSUFBQUQsWUFBQVYsR0FBQSxVQUFDWSxDQUFBQTs7OytCQUN3QjFDLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLGdCQUFBQTs7OytCQUNYRCxHQUFBQSxDQUFBQSxHQUFPQyxZQUFLOEIsR0FBQTtzQ0FDdEI5QixLQUFBOzs7MkNBQ2FELEdBQUFBLENBQUFBLEdBQU9TLFlBQUlzQixHQUFBO2tEQUNsQnRCLElBQUE7O2dDQU1INkI7eUNBQThCLFdBQUo3QixHQUFJLElBQUFnQyxZQUFBVixHQUFBO2tEQUFJdEIsSUFBQTs4Q0FBMEIsYUFBQTZCOzs7Ozs7OztJQU16RTs7QUFlTyxNQUFBTyxXQUFTbkQ7U0FBY0EsY0FDNUJ1QyxLQUNBYTtJQUlBLE1BQU1sQixjQUFXbUIsRUFBQUEsV0FBQUEsRUFBQUEsWUFBVyxFQUFBWixRQUFBLEtBQUFwQjtJQUM1QixNQUFJa0IsV0FBQUEsQ0FBQUEsR0FBZ0JlLFlBQUFELFdBQUE7UUFDbEJkLGdCQUFBO2VBRWNMLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLHNCQUFBQTtZQUNWSyxVQUFBQTtZQUNBYSxnQkFBYUE7WUFDYmQsYUFBQUE7MEJBRUNHOztRQUdQO0lBRUE7V0FBVUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsWUFBQUEsUUFBQUEsRUFBQUE7O0lBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LnRzeD82NjU5Il0sIm5hbWVzIjpbIkVycm9yQm91bmRhcnkiLCJFcnJvckJvdW5kYXJ5SGFuZGxlciIsIkdsb2JhbEVycm9yIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwiXyIsInJlcXVpcmUiLCJzdHlsZXMiLCJlcnJvciIsImZvbnRGYW1pbHkiLCJoZWlnaHQiLCJ0ZXh0QWxpZ24iLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInRleHQiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0IiwibWFyZ2luIiwiSGFuZGxlSVNSRXJyb3IiLCJwYXJhbSIsInN0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImlzU3RhdGljR2VuZXJhdGlvbiIsImNvbnNvbGUiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJkZWZhdWx0IiwiQ29tcG9uZW50IiwiaXNOZXh0Um91dGVyRXJyb3IiLCJfaXNuZXh0cm91dGVyZXJyb3IiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJwcm9wcyIsInN0YXRlIiwicGF0aG5hbWUiLCJwcmV2aW91c1BhdGhuYW1lIiwicmVuZGVyIiwianN4IiwiZXJyb3JTY3JpcHRzIiwiZXJyb3JDb21wb25lbnQiLCJyZXNldCIsImNoaWxkcmVuIiwiY29uc3RydWN0b3IiLCJzZXRTdGF0ZSIsImRpZ2VzdCIsImh0bWwiLCJpZCIsIl9qc3hydW50aW1lIiwianN4cyIsImJvZHkiLCJzdHlsZSIsIl9kZWZhdWx0IiwiZXJyb3JTdHlsZXMiLCJ1c2VQYXRobmFtZSIsIl9uYXZpZ2F0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/error-boundary.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! - \**************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUVhQSxvQkFBa0I7ZUFBbEJBOztJQVFHQyxzQkFBb0I7ZUFBcEJBOzs7QUFWaEIsTUFBTUMscUJBQXFCO0FBRXBCLE1BQU1GLDJCQUEyQkc7SUFHdENDLFlBQVlDLFdBQW1DLENBQUU7UUFDL0MsS0FBSyxDQUFDLDJCQUF5QkE7YUFETEEsV0FBQUEsR0FBQUE7YUFGNUJDLE1BQUFBLEdBQW9DSjtJQUlwQztBQUNGO0FBRU8sU0FBU0QscUJBQXFCTSxHQUFZO0lBQy9DLElBQ0UsT0FBT0EsUUFBUSxZQUNmQSxRQUFRLFFBQ1IsQ0FBRSxhQUFZQSxHQUFBQSxLQUNkLE9BQU9BLElBQUlELE1BQU0sS0FBSyxVQUN0QjtRQUNBLE9BQU87SUFDVDtJQUVBLE9BQU9DLElBQUlELE1BQU0sS0FBS0o7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LnRzPzgyMzgiXSwibmFtZXMiOlsiRHluYW1pY1NlcnZlckVycm9yIiwiaXNEeW5hbWljU2VydmVyRXJyb3IiLCJEWU5BTUlDX0VSUk9SX0NPREUiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiZGVzY3JpcHRpb24iLCJkaWdlc3QiLCJlcnIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/is-hydration-error.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/is-hydration-error.js ***! - \************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isHydrationError\", ({\n enumerable: true,\n get: function() {\n return isHydrationError;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../lib/is-error */ \"(ssr)/./node_modules/next/dist/lib/is-error.js\"));\nconst hydrationErrorRegex = /hydration failed|while hydrating|content does not match|did not match/i;\nfunction isHydrationError(error) {\n return (0, _iserror.default)(error) && hydrationErrorRegex.test(error.message);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-hydration-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLWh5ZHJhdGlvbi1lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQUtnQkE7OztlQUFBQTs7Ozs4RUFMSTtBQUVwQixNQUFNQyxzQkFDSjtBQUVLLFNBQVNELGlCQUFpQkUsS0FBYztJQUM3QyxPQUFPQyxDQUFBQSxHQUFBQSxTQUFBQSxPQUFPLEVBQUNELFVBQVVELG9CQUFvQkcsSUFBSSxDQUFDRixNQUFNRyxPQUFPO0FBQ2pFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9pcy1oeWRyYXRpb24tZXJyb3IudHM/NmZiYSJdLCJuYW1lcyI6WyJpc0h5ZHJhdGlvbkVycm9yIiwiaHlkcmF0aW9uRXJyb3JSZWdleCIsImVycm9yIiwiaXNFcnJvciIsInRlc3QiLCJtZXNzYWdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/is-hydration-error.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/is-next-router-error.js ***! - \**************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNextRouterError\", ({\n enumerable: true,\n get: function() {\n return isNextRouterError;\n }\n}));\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nfunction isNextRouterError(error) {\n return error && error.digest && ((0, _redirect.isRedirectError)(error) || (0, _notfound.isNotFoundError)(error));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-next-router-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLW5leHQtcm91dGVyLWVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7cURBR2dCQTs7O2VBQUFBOzs7c0NBSGdCO3NDQUNBO0FBRXpCLFNBQVNBLGtCQUFrQkMsS0FBVTtJQUMxQyxPQUNFQSxTQUFTQSxNQUFNQyxNQUFNLElBQUtDLENBQUFBLENBQUFBLEdBQUFBLFVBQUFBLGVBQWUsRUFBQ0YsVUFBVUcsQ0FBQUEsR0FBQUEsVUFBQUEsZUFBZSxFQUFDSCxNQUFBQTtBQUV4RSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvaXMtbmV4dC1yb3V0ZXItZXJyb3IudHM/ZTUwNSJdLCJuYW1lcyI6WyJpc05leHRSb3V0ZXJFcnJvciIsImVycm9yIiwiZGlnZXN0IiwiaXNSZWRpcmVjdEVycm9yIiwiaXNOb3RGb3VuZEVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/layout-router.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/layout-router.js ***! - \*******************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return OuterLayoutRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./router-reducer/fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _matchsegments = __webpack_require__(/*! ./match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../../shared/lib/router/utils/handle-smooth-scroll */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _notfoundboundary = __webpack_require__(/*! ./not-found-boundary */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./router-reducer/create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./router-reducer/reducers/has-interception-route-in-current-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\n/**\n * Add refetch marker to router state at the point of the current layout segment.\n * This ensures the response returned is not further down than the current layout segment.\n */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk;\n const isLast = segmentPathToWalk.length === 2;\n if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n \"refetch\"\n ]\n }\n ];\n }\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])\n }\n ];\n }\n }\n }\n return treeToRecreate;\n}\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\n */ function findDOMNode(instance) {\n // Tree-shake for server bundle\n if (true) return null;\n // Only apply strict mode warning when not in production\n if (true) {\n const originalConsoleError = console.error;\n try {\n console.error = function() {\n for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){\n messages[_key] = arguments[_key];\n }\n // Ignore strict mode warning for the findDomNode call below\n if (!messages[0].includes(\"Warning: %s is deprecated in StrictMode.\")) {\n originalConsoleError(...messages);\n }\n };\n return _reactdom.default.findDOMNode(instance);\n } finally{\n console.error = originalConsoleError;\n }\n }\n return _reactdom.default.findDOMNode(instance);\n}\nconst rectProperties = [\n \"bottom\",\n \"height\",\n \"left\",\n \"right\",\n \"top\",\n \"width\",\n \"x\",\n \"y\"\n];\n/**\n * Check if a HTMLElement is hidden or fixed/sticky position\n */ function shouldSkipElement(element) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if ([\n \"sticky\",\n \"fixed\"\n ].includes(getComputedStyle(element).position)) {\n if (true) {\n console.warn(\"Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:\", element);\n }\n return true;\n }\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect();\n return rectProperties.every((item)=>rect[item] === 0);\n}\n/**\n * Check if the top corner of the HTMLElement is in the viewport.\n */ function topOfElementInViewport(element, viewportHeight) {\n const rect = element.getBoundingClientRect();\n return rect.top >= 0 && rect.top <= viewportHeight;\n}\n/**\n * Find the DOM node for a hash fragment.\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\n * If the hash fragment is an id, the page has to scroll to the element with that id.\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\n */ function getHashFragmentDomNode(hashFragment) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === \"top\") {\n return document.body;\n }\n var _document_getElementById;\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];\n}\nclass InnerScrollAndFocusHandler extends _react.default.Component {\n componentDidMount() {\n this.handlePotentialScroll();\n }\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll();\n }\n }\n render() {\n return this.props.children;\n }\n constructor(...args){\n super(...args);\n this.handlePotentialScroll = ()=>{\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props;\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {\n return;\n }\n let domNode = null;\n const hashFragment = focusAndScrollRef.hashFragment;\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment);\n }\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a <link/> in head.\n if (!domNode) {\n domNode = findDOMNode(this);\n }\n // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.\n if (!(domNode instanceof Element)) {\n return;\n }\n // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.\n // If the element is skipped, try to select the next sibling and try again.\n while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){\n // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.\n if (domNode.nextElementSibling === null) {\n return;\n }\n domNode = domNode.nextElementSibling;\n }\n // State is mutated to ensure that the focus and scroll is applied only once.\n focusAndScrollRef.apply = false;\n focusAndScrollRef.hashFragment = null;\n focusAndScrollRef.segmentPaths = [];\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // In case of hash scroll, we only need to scroll the element into view\n if (hashFragment) {\n domNode.scrollIntoView();\n return;\n }\n // Store the current viewport height because reading `clientHeight` causes a reflow,\n // and it won't change during this function.\n const htmlElement = document.documentElement;\n const viewportHeight = htmlElement.clientHeight;\n // If the element's top edge is already in the viewport, exit early.\n if (topOfElementInViewport(domNode, viewportHeight)) {\n return;\n }\n // Otherwise, try scrolling go the top of the document to be backward compatible with pages\n // scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)\n // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left\n // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically\n htmlElement.scrollTop = 0;\n // Scroll to domNode if domNode is not in viewport when scrolled to top of document\n if (!topOfElementInViewport(domNode, viewportHeight)) {\n domNode.scrollIntoView();\n }\n }, {\n // We will force layout by querying domNode position\n dontForceLayout: true,\n onlyHashChange: focusAndScrollRef.onlyHashChange\n });\n // Mutate after scrolling so that it can be read by `handleSmoothScroll`\n focusAndScrollRef.onlyHashChange = false;\n // Set focus on the element\n domNode.focus();\n }\n };\n }\n}\nfunction ScrollAndFocusHandler(param) {\n let { segmentPath, children } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {\n segmentPath: segmentPath,\n focusAndScrollRef: context.focusAndScrollRef,\n children: children\n });\n}\n/**\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\n */ function InnerLayoutRouter(param) {\n let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,\n cacheKey } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n const { buildId, changeByServerResponse, tree: fullTree } = context;\n // Read segment path from the parallel router cache node.\n let childNode = childNodes.get(cacheKey);\n // When data is not available during rendering client-side we need to fetch\n // it from the server.\n if (childNode === undefined) {\n const newLazyCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n /**\n * Flight data fetch kicked off during render and put into the cache.\n */ childNode = newLazyCacheNode;\n childNodes.set(cacheKey, newLazyCacheNode);\n }\n // `rsc` represents the renderable node for this segment.\n // If this segment has a `prefetchRsc`, it's the statically prefetched data.\n // We should use that on initial render instead of `rsc`. Then we'll switch\n // to `rsc` when the dynamic response streams in.\n //\n // If no prefetch data is available, then we go straight to rendering `rsc`.\n const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `rsc`.\n const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);\n // `rsc` is either a React node or a promise for a React node, except we\n // special case `null` to represent that this segment's data is missing. If\n // it's a promise, we need to unwrap it so we can determine whether or not the\n // data is missing.\n const resolvedRsc = typeof rsc === \"object\" && rsc !== null && typeof rsc.then === \"function\" ? (0, _react.use)(rsc) : rsc;\n if (!resolvedRsc) {\n // The data for this segment is not available, and there's no pending\n // navigation that will be able to fulfill it. We need to fetch more from\n // the server and patch the cache.\n // Check if there's already a pending request.\n let lazyData = childNode.lazyData;\n if (lazyData === null) {\n /**\n * Router state with refetch marker added\n */ // TODO-APP: remove ''\n const refetchTree = walkAddRefetch([\n \"\",\n ...segmentPath\n ], fullTree);\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree);\n childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, includeNextUrl ? context.nextUrl : null, buildId);\n childNode.lazyDataResolved = false;\n }\n /**\n * Flight response data\n */ // When the data has not resolved yet `use` will suspend here.\n const serverResponse = (0, _react.use)(lazyData);\n if (!childNode.lazyDataResolved) {\n // setTimeout is used to start a new transition during render, this is an intentional hack around React.\n setTimeout(()=>{\n (0, _react.startTransition)(()=>{\n changeByServerResponse({\n previousTree: fullTree,\n serverResponse\n });\n });\n });\n // It's important that we mark this as resolved, in case this branch is replayed, we don't want to continously re-apply\n // the patch to the tree.\n childNode.lazyDataResolved = true;\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n }\n // If we get to this point, then we know we have something we can render.\n const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n tree: tree[1][parallelRouterKey],\n childNodes: childNode.parallelRoutes,\n // TODO-APP: overriding of url for parallel routes\n url: url,\n loading: childNode.loading\n },\n children: resolvedRsc\n });\n // Ensure root layout is not wrapped in a div as the root layout renders `<html>`\n return subtree;\n}\n/**\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\n * If no loading property is provided it renders the children without a suspense boundary.\n */ function LoadingBoundary(param) {\n let { children, hasLoading, loading, loadingStyles, loadingScripts } = param;\n // We have an explicit prop for checking if `loading` is provided, to disambiguate between a loading\n // component that returns `null` / `undefined`, vs not having a loading component at all.\n if (hasLoading) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {\n fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n loadingStyles,\n loadingScripts,\n loading\n ]\n }),\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nfunction OuterLayoutRouter(param) {\n let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, notFoundStyles, styles } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant expected layout router to be mounted\");\n }\n const { childNodes, tree, url, loading } = context;\n // Get the current parallelRouter cache node\n let childNodesForParallelRouter = childNodes.get(parallelRouterKey);\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!childNodesForParallelRouter) {\n childNodesForParallelRouter = new Map();\n childNodes.set(parallelRouterKey, childNodesForParallelRouter);\n }\n // Get the active segment in the tree\n // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.\n const treeSegment = tree[1][parallelRouterKey][0];\n // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.\n const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);\n /**\n * Decides which segments to keep rendering, all segments that are not active will be wrapped in `<Offscreen>`.\n */ // TODO-APP: Add handling of `<Offscreen>` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n styles,\n preservedSegments.map((preservedSegment)=>{\n const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);\n return(/*\n - Error boundary\n - Only renders error boundary if error component is provided.\n - Rendered for each segment to ensure they have their own error state.\n - Loading boundary\n - Only renders suspense boundary if loading components is provided.\n - Rendered for each segment to ensure they have their own loading state.\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\n */ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {\n value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {\n segmentPath: segmentPath,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: error,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {\n hasLoading: Boolean(loading),\n loading: loading == null ? void 0 : loading[0],\n loadingStyles: loading == null ? void 0 : loading[1],\n loadingScripts: loading == null ? void 0 : loading[2],\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_notfoundboundary.NotFoundBoundary, {\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {\n parallelRouterKey: parallelRouterKey,\n url: url,\n tree: tree,\n childNodes: childNodesForParallelRouter,\n segmentPath: segmentPath,\n cacheKey: cacheKey,\n isActive: currentChildSegmentValue === preservedSegmentValue\n })\n })\n })\n })\n })\n }),\n children: [\n templateStyles,\n templateScripts,\n template\n ]\n }, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7eURBMEJPQSxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO3VDQUM2QkEsbUJBQUFBLENBQUE7aURBQ0Q7Z0RBQ0w7MkNBQ0Q7O2dEQUVJOzhDQUNBOzhDQUNEOzs7QUFJaEMsTUFBQUMscUNBQUFELG1CQUFBQSxDQUFBOzs7O0lBUUUsU0FBSUUsZUFBbUJBLGlCQUFBLEVBQUFDLGNBQUE7UUFDckJELG1CQUFnQkU7UUFDaEIsTUFBTUMsQ0FBQUEsU0FBU0gsaUJBQWtCSSxHQUFBQTtRQUVqQyxNQUFJQyxTQUFBQSxrQkFBQUEsTUFBYUosS0FBQUE7WUFDZixJQUFJQSxlQUFlSSxZQUFHQyxFQUFBQSxjQUFlSixDQUFBQSxFQUFBQSxFQUFBQSxVQUFtQjtnQkFDdERELGNBQVksSUFBQUssY0FBQSxDQUFBSixtQkFBQTtvQkFDVkMsUUFBTUk7b0JBSU4sTUFBQUEsVUFBT0MsZUFBQUMsV0FBQVIsY0FBQSxJQUFBQyxpQkFBQTsyQkFDTEQ7d0JBQ0FBLGNBQUE7OzRCQUVFLEdBQUNDLGNBQUFBLENBQWlCLEVBQUU7OENBQ1I7Z0NBQ1ZLLE9BQU8sQ0FBQyxFQUFFO2dDQUNWQSxPQUFPLENBQUMsRUFBRTtnQ0FDVkEsT0FBQTtnQ0FDRDs2QkFDSDt3QkFDRDtxQkFDSDtnQkFFQTt1QkFDRU47b0JBQ0FBLGNBQUE7O3dCQUVFLEdBQUNDLGNBQUFBLENBQWlCLEVBQUVNO3dCQUl0QixDQUFBTixpQkFBQSxFQUFBTSxlQUFBUixrQkFBQVUsS0FBQSxLQUFBVCxjQUFBLElBQUFDLGlCQUFBO29CQUNEO2lCQUNIO1lBQ0Y7UUFDRjtJQUVBO0lBQ0YsT0FBQUQ7QUFFQTtBQUNBOzs7SUFNRSxTQUFBVSxZQUFBQyxRQUFBO0lBQ0EsK0JBQXNCO0lBQ3RCO0lBQ0Esd0RBQTJDO1FBQ3pDQyxJQUFNQyxFQUErQkM7UUFD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QSxtQkFBQUE7NENBQ25CQyxtQkFBS0E7NENBQ0xFLEtBQUFBOzRDQUNBRCxNQUFBQTs0Q0FDQTlCLFlBQUFBOzRDQUNBZ0MsYUFBVUE7NENBQ1ZxRSxVQUNFakI7Ozs7Ozs7OzhCQVVma0I7d0JBQ0FDO3dCQUNBekI7O3FCQXZDSVc7Z0JBMENYLE9BQUFFLHNCQUFBRixvQkFBQSxFQUFBQyxrQkFBQTs7O0lBR04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIudHN4P2M2OWQiXSwibmFtZXMiOlsiXyIsInJlcXVpcmUiLCJfaGFzaW50ZXJjZXB0aW9ucm91dGVpbmN1cnJlbnR0cmVlIiwic2VnbWVudFBhdGhUb1dhbGsiLCJ0cmVlVG9SZWNyZWF0ZSIsInBhcmFsbGVsUm91dGVLZXkiLCJpc0xhc3QiLCJsZW5ndGgiLCJtYXRjaFNlZ21lbnQiLCJoYXNPd25Qcm9wZXJ0eSIsInN1YlRyZWUiLCJ3YWxrQWRkUmVmZXRjaCIsInVuZGVmaW5lZCIsInNsaWNlIiwiZmluZERPTU5vZGUiLCJpbnN0YW5jZSIsInByb2Nlc3MiLCJvcmlnaW5hbENvbnNvbGVFcnJvciIsImVycm9yIiwiY29uc29sZSIsIm1lc3NhZ2VzIiwiX3JlYWN0ZG9tIiwiZGVmYXVsdCIsInJlY3RQcm9wZXJ0aWVzIiwic2hvdWxkU2tpcEVsZW1lbnQiLCJlbGVtZW50IiwiaW5jbHVkZXMiLCJwb3NpdGlvbiIsIndhcm4iLCJyZWN0IiwiaXRlbSIsImV2ZXJ5IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwidG9wIiwidmlld3BvcnRIZWlnaHQiLCJnZXRIYXNoRnJhZ21lbnREb21Ob2RlIiwiaGFzaEZyYWdtZW50IiwiYm9keSIsImRvY3VtZW50IiwiX2RvY3VtZW50X2dldEVsZW1lbnRCeUlkIiwiZ2V0RWxlbWVudEJ5SWQiLCJnZXRFbGVtZW50c0J5TmFtZSIsImNvbXBvbmVudERpZE1vdW50IiwiX3JlYWN0IiwiQ29tcG9uZW50IiwiaGFuZGxlUG90ZW50aWFsU2Nyb2xsIiwiY29tcG9uZW50RGlkVXBkYXRlIiwiYXBwbHkiLCJyZW5kZXIiLCJwcm9wcyIsImNoaWxkcmVuIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJzZWdtZW50UGF0aCIsInNlZ21lbnRQYXRocyIsInNvbWUiLCJzY3JvbGxSZWZTZWdtZW50UGF0aCIsInNlZ21lbnQiLCJpbmRleCIsIl9tYXRjaHNlZ21lbnRzIiwiZG9tTm9kZSIsIkVsZW1lbnQiLCJIVE1MRWxlbWVudCIsIm5leHRFbGVtZW50U2libGluZyIsImhhbmRsZVNtb290aFNjcm9sbCIsIl9oYW5kbGVzbW9vdGhzY3JvbGwiLCJzY3JvbGxJbnRvVmlldyIsImh0bWxFbGVtZW50IiwiY2xpZW50SGVpZ2h0IiwidG9wT2ZFbGVtZW50SW5WaWV3cG9ydCIsInNjcm9sbFRvcCIsImRvbnRGb3JjZUxheW91dCIsIm9ubHlIYXNoQ2hhbmdlIiwiZm9jdXMiLCJTY3JvbGxBbmRGb2N1c0hhbmRsZXIiLCJwYXJhbSIsImNvbnRleHQiLCJ1c2VDb250ZXh0IiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsIkVycm9yIiwicGFyYWxsZWxSb3V0ZXJLZXkiLCJ1cmwiLCJjaGlsZE5vZGVzIiwidHJlZSIsImNhY2hlS2V5IiwiYnVpbGRJZCIsImNoYW5nZUJ5U2VydmVyUmVzcG9uc2UiLCJmdWxsVHJlZSIsImNoaWxkTm9kZSIsImdldCIsIm5ld0xhenlDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsInBhcmFsbGVsUm91dGVzIiwibGF6eURhdGFSZXNvbHZlZCIsIk1hcCIsImxvYWRpbmciLCJzZXQiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsInJlc29sdmVkUnNjIiwidGhlbiIsInVzZSIsInJlZmV0Y2hUcmVlIiwiZmV0Y2hTZXJ2ZXJSZXNwb25zZSIsImxvY2F0aW9uIiwiX2ZldGNoc2VydmVycmVzcG9uc2UiLCJVUkwiLCJvcmlnaW4iLCJpbmNsdWRlTmV4dFVybCIsIm5leHRVcmwiLCJzZXRUaW1lb3V0Iiwic3RhcnRUcmFuc2l0aW9uIiwic2VydmVyUmVzcG9uc2UiLCJfdW5yZXNvbHZlZHRoZW5hYmxlIiwidW5yZXNvbHZlZFRoZW5hYmxlIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJMYXlvdXRSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJzdWJ0cmVlIiwiaGFzTG9hZGluZyIsImxvYWRpbmdTdHlsZXMiLCJsb2FkaW5nU2NyaXB0cyIsImZhbGxiYWNrIiwiU3VzcGVuc2UiLCJPdXRlckxheW91dFJvdXRlciIsInRlbXBsYXRlIiwibm90Rm91bmQiLCJub3RGb3VuZFN0eWxlcyIsInN0eWxlcyIsImNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciIsInRyZWVTZWdtZW50IiwiY3VycmVudENoaWxkU2VnbWVudFZhbHVlIiwiX2dldHNlZ21lbnR2YWx1ZSIsImdldFNlZ21lbnRWYWx1ZSIsInByZXNlcnZlZFNlZ21lbnRzIiwicHJlc2VydmVkU2VnbWVudFZhbHVlIiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJwcmVzZXJ2ZWRTZWdtZW50IiwiX2NyZWF0ZXJvdXRlcmNhY2hla2V5IiwidmFsdWUiLCJqc3hzIiwiZXJyb3JDb21wb25lbnQiLCJlcnJvclN0eWxlcyIsImVycm9yU2NyaXB0cyIsIkJvb2xlYW4iLCJOb3RGb3VuZEJvdW5kYXJ5IiwiX3JlZGlyZWN0Ym91bmRhcnkiLCJJbm5lckxheW91dFJvdXRlciIsImlzQWN0aXZlIiwidGVtcGxhdGVTdHlsZXMiLCJ0ZW1wbGF0ZVNjcmlwdHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/layout-router.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/match-segments.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/client/components/match-segments.js ***! - \********************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n canSegmentBeOverridden: function() {\n return canSegmentBeOverridden;\n },\n matchSegment: function() {\n return matchSegment;\n }\n});\nconst _getsegmentparam = __webpack_require__(/*! ../../server/app-render/get-segment-param */ \"(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js\");\nconst matchSegment = (existingSegment, segment)=>{\n // segment is either Array or string\n if (typeof existingSegment === \"string\") {\n if (typeof segment === \"string\") {\n // Common case: segment is just a string\n return existingSegment === segment;\n }\n return false;\n }\n if (typeof segment === \"string\") {\n return false;\n }\n return existingSegment[0] === segment[0] && existingSegment[1] === segment[1];\n};\nconst canSegmentBeOverridden = (existingSegment, segment)=>{\n var _getSegmentParam;\n if (Array.isArray(existingSegment) || !Array.isArray(segment)) {\n return false;\n }\n return ((_getSegmentParam = (0, _getsegmentparam.getSegmentParam)(existingSegment)) == null ? void 0 : _getSegmentParam.param) === segment[0];\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=match-segments.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21hdGNoLXNlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXlCYUEsd0JBQXNCO2VBQXRCQTs7SUF0QkFDLGNBQVk7ZUFBWkE7Ozs2Q0FIbUI7QUFHekIsTUFBTUEsZUFBZSxDQUMxQkMsaUJBQ0FDO0lBRUEsb0NBQW9DO0lBQ3BDLElBQUksT0FBT0Qsb0JBQW9CLFVBQVU7UUFDdkMsSUFBSSxPQUFPQyxZQUFZLFVBQVU7WUFDL0Isd0NBQXdDO1lBQ3hDLE9BQU9ELG9CQUFvQkM7UUFDN0I7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxJQUFJLE9BQU9BLFlBQVksVUFBVTtRQUMvQixPQUFPO0lBQ1Q7SUFDQSxPQUFPRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRSxJQUFJRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRTtBQUMvRTtBQUtPLE1BQU1ILHlCQUF5QixDQUNwQ0UsaUJBQ0FDO1FBTU9DO0lBSlAsSUFBSUMsTUFBTUMsT0FBTyxDQUFDSixvQkFBb0IsQ0FBQ0csTUFBTUMsT0FBTyxDQUFDSCxVQUFVO1FBQzdELE9BQU87SUFDVDtJQUVBLE9BQU9DLENBQUFBLENBQUFBLG1CQUFBQSxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDRixnQkFBQUEsS0FBQUEsT0FBQUEsS0FBQUEsSUFBaEJFLGlCQUFrQ0csS0FBSyxNQUFLSixPQUFPLENBQUMsRUFBRTtBQUMvRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbWF0Y2gtc2VnbWVudHMudHM/ZjY3MCJdLCJuYW1lcyI6WyJjYW5TZWdtZW50QmVPdmVycmlkZGVuIiwibWF0Y2hTZWdtZW50IiwiZXhpc3RpbmdTZWdtZW50Iiwic2VnbWVudCIsImdldFNlZ21lbnRQYXJhbSIsIkFycmF5IiwiaXNBcnJheSIsInBhcmFtIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/match-segments.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/navigation.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/components/navigation.js ***! - \****************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return _navigationreactserver.ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _navigationreactserver.RedirectType;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n notFound: function() {\n return _navigationreactserver.notFound;\n },\n permanentRedirect: function() {\n return _navigationreactserver.permanentRedirect;\n },\n redirect: function() {\n return _navigationreactserver.redirect;\n },\n useParams: function() {\n return useParams;\n },\n usePathname: function() {\n return usePathname;\n },\n useRouter: function() {\n return useRouter;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _navigationreactserver = __webpack_require__(/*! ./navigation.react-server */ \"(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js\");\nconst _serverinsertedhtmlsharedruntime = __webpack_require__(/*! ../../shared/lib/server-inserted-html.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\");\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you *read* the current URL's search parameters.\n *\n * Learn more about [`URLSearchParams` on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useSearchParams } from 'next/navigation'\n *\n * export default function Page() {\n * const searchParams = useSearchParams()\n * searchParams.get('foo') // returns 'bar' when ?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSearchParams`](https://nextjs.org/docs/app/api-reference/functions/use-search-params)\n */ function useSearchParams() {\n const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);\n // In the case where this is `null`, the compat types added in\n // `next-env.d.ts` will add a new overload that changes the return type to\n // include `null`.\n const readonlySearchParams = (0, _react.useMemo)(()=>{\n if (!searchParams) {\n // When the router is not ready in pages, we won't have the search params\n // available.\n return null;\n }\n return new _navigationreactserver.ReadonlyURLSearchParams(searchParams);\n }, [\n searchParams\n ]);\n if (true) {\n // AsyncLocalStorage should not be included in the client bundle.\n const { bailoutToClientRendering } = __webpack_require__(/*! ./bailout-to-client-rendering */ \"(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\");\n // TODO-APP: handle dynamic = 'force-static' here and on the client\n bailoutToClientRendering(\"useSearchParams()\");\n }\n return readonlySearchParams;\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the current URL's pathname.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { usePathname } from 'next/navigation'\n *\n * export default function Page() {\n * const pathname = usePathname() // returns \"/dashboard\" on /dashboard?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `usePathname`](https://nextjs.org/docs/app/api-reference/functions/use-pathname)\n */ function usePathname() {\n // In the case where this is `null`, the compat types added in `next-env.d.ts`\n // will add a new overload that changes the return type to include `null`.\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\n}\n/**\n *\n * This hook allows you to programmatically change routes inside [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components).\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useRouter } from 'next/navigation'\n *\n * export default function Page() {\n * const router = useRouter()\n * // ...\n * router.push('/dashboard') // Navigate to /dashboard\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useRouter`](https://nextjs.org/docs/app/api-reference/functions/use-router)\n */ function useRouter() {\n const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);\n if (router === null) {\n throw new Error(\"invariant expected app router to be mounted\");\n }\n return router;\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read a route's dynamic params filled in by the current URL.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useParams } from 'next/navigation'\n *\n * export default function Page() {\n * // on /dashboard/[team] where pathname is /dashboard/nextjs\n * const { team } = useParams() // team === \"nextjs\"\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useParams`](https://nextjs.org/docs/app/api-reference/functions/use-params)\n */ function useParams() {\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n}\n/** Get the canonical parameters from the current level to the leaf node. */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {\n if (first === void 0) first = true;\n if (segmentPath === void 0) segmentPath = [];\n let node;\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey];\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1];\n var _parallelRoutes_children;\n node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];\n }\n if (!node) return segmentPath;\n const segment = node[0];\n const segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return segmentPath;\n }\n segmentPath.push(segmentValue);\n return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segments **below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n *\n * import { useSelectedLayoutSegments } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segments = useSelectedLayoutSegments()\n *\n * return (\n * <ul>\n * {segments.map((segment, index) => (\n * <li key={index}>{segment}</li>\n * ))}\n * </ul>\n * )\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegments`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments)\n */ function useSelectedLayoutSegments(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts\n if (!context) return null;\n return getSelectedLayoutSegmentPath(context.tree, parallelRouteKey);\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segment **one level below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n * import { useSelectedLayoutSegment } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segment = useSelectedLayoutSegment()\n *\n * return <p>Active segment: {segment}</p>\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegment`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment)\n */ function useSelectedLayoutSegment(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) {\n return null;\n }\n const selectedLayoutSegment = parallelRouteKey === \"children\" ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1];\n // if the default slot is showing, we return null since it's not technically \"selected\" (it's a fallback)\n // and returning an internal value like `__DEFAULT__` would be confusing.\n return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBOFFFQSx5QkFBdUI7ZUFBdkJBLHVCQUFBQSx1QkFBdUI7O0lBRHZCQyxjQUFZO2VBQVpBLHVCQUFBQSxZQUFZOztJQVJaQywyQkFBeUI7ZUFBekJBLGlDQUFBQSx5QkFBeUI7O0lBS3pCQyxVQUFRO2VBQVJBLHVCQUFBQSxRQUFROztJQUVSQyxtQkFBaUI7ZUFBakJBLHVCQUFBQSxpQkFBaUI7O0lBRGpCQyxVQUFRO2VBQVJBLHVCQUFBQSxRQUFROztJQVRSQyxXQUFTO2VBQVRBOztJQUhBQyxhQUFXO2VBQVhBOztJQUlBQyxXQUFTO2VBQVRBOztJQUxBQyxpQkFBZTtlQUFmQTs7SUFFQUMsMEJBQXdCO2VBQXhCQTs7SUFDQUMsMkJBQXlCO2VBQXpCQTs7SUFHQUMsdUJBQXFCO2VBQXJCQSxpQ0FBQUEscUJBQXFCOzs7bUNBcFFhOzJEQU03Qjs2REFLQTs2Q0FDeUI7cUNBQ3NCO21EQUNkOzZEQTJFakM7QUF6RVA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FtQkMsR0FDRCxTQUFTSDtJQUNQLE1BQU1JLGVBQWVDLENBQUFBLEdBQUFBLE9BQUFBLFVBQVUsRUFBQ0MsaUNBQUFBLG1CQUFtQjtJQUVuRCw4REFBOEQ7SUFDOUQsMEVBQTBFO0lBQzFFLGtCQUFrQjtJQUNsQixNQUFNQyx1QkFBdUJDLENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBQztRQUNuQyxJQUFJLENBQUNKLGNBQWM7WUFDakIseUVBQXlFO1lBQ3pFLGFBQWE7WUFDYixPQUFPO1FBQ1Q7UUFFQSxPQUFPLElBQUliLHVCQUFBQSx1QkFBdUIsQ0FBQ2E7SUFDckMsR0FBRztRQUFDQTtLQUFhO0lBRWpCLElBQUksSUFBa0IsRUFBYTtRQUNqQyxpRUFBaUU7UUFDakUsTUFBTSxFQUFFSyx3QkFBd0IsRUFBRSxHQUNoQ0MsbUJBQUFBLENBQVE7UUFDVixtRUFBbUU7UUFDbkVELHlCQUF5QjtJQUMzQjtJQUVBLE9BQU9GO0FBQ1Q7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCQyxHQUNELFNBQVNUO0lBQ1AsOEVBQThFO0lBQzlFLDBFQUEwRTtJQUMxRSxPQUFPTyxDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNNLGlDQUFBQSxlQUFlO0FBQ25DO0FBT0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUJDLEdBQ0QsU0FBU1o7SUFDUCxNQUFNYSxTQUFTUCxDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNRLCtCQUFBQSxnQkFBZ0I7SUFDMUMsSUFBSUQsV0FBVyxNQUFNO1FBQ25CLE1BQU0sSUFBSUUsTUFBTTtJQUNsQjtJQUVBLE9BQU9GO0FBQ1Q7QUFNQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCQyxHQUNELFNBQVNmO0lBQ1AsT0FBT1EsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBVSxFQUFDVSxpQ0FBQUEsaUJBQWlCO0FBQ3JDO0FBRUEsMEVBQTBFLEdBQzFFLFNBQVNDLDZCQUNQQyxJQUF1QixFQUN2QkMsZ0JBQXdCLEVBQ3hCQyxLQUFZLEVBQ1pDLFdBQTBCO0lBRDFCRCxJQUFBQSxVQUFBQSxLQUFBQSxHQUFBQSxRQUFRO0lBQ1JDLElBQUFBLGdCQUFBQSxLQUFBQSxHQUFBQSxjQUF3QixFQUFFO0lBRTFCLElBQUlDO0lBQ0osSUFBSUYsT0FBTztRQUNULGtFQUFrRTtRQUNsRUUsT0FBT0osSUFBSSxDQUFDLEVBQUUsQ0FBQ0MsaUJBQWlCO0lBQ2xDLE9BQU87UUFDTCxvR0FBb0c7UUFDcEcsTUFBTUksaUJBQWlCTCxJQUFJLENBQUMsRUFBRTtZQUN2Qks7UUFBUEQsT0FBT0MsQ0FBQUEsMkJBQUFBLGVBQWVDLFFBQVEsWUFBdkJELDJCQUEyQkUsT0FBT0MsTUFBTSxDQUFDSCxlQUFlLENBQUMsRUFBRTtJQUNwRTtJQUVBLElBQUksQ0FBQ0QsTUFBTSxPQUFPRDtJQUNsQixNQUFNTSxVQUFVTCxJQUFJLENBQUMsRUFBRTtJQUV2QixNQUFNTSxlQUFlQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDRjtJQUNyQyxJQUFJLENBQUNDLGdCQUFnQkEsYUFBYUUsVUFBVSxDQUFDQyxTQUFBQSxnQkFBZ0IsR0FBRztRQUM5RCxPQUFPVjtJQUNUO0lBRUFBLFlBQVlXLElBQUksQ0FBQ0o7SUFFakIsT0FBT1gsNkJBQ0xLLE1BQ0FILGtCQUNBLE9BQ0FFO0FBRUo7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0JDLEdBQ0QsU0FBU2xCLDBCQUNQZ0IsZ0JBQXFDO0lBQXJDQSxJQUFBQSxxQkFBQUEsS0FBQUEsR0FBQUEsbUJBQTJCO0lBRTNCLE1BQU1jLFVBQVUzQixDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUM0QiwrQkFBQUEsbUJBQW1CO0lBQzlDLHdGQUF3RjtJQUN4RixJQUFJLENBQUNELFNBQVMsT0FBTztJQUVyQixPQUFPaEIsNkJBQTZCZ0IsUUFBUWYsSUFBSSxFQUFFQztBQUNwRDtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7OztDQWlCQyxHQUNELFNBQVNqQix5QkFDUGlCLGdCQUFxQztJQUFyQ0EsSUFBQUEscUJBQUFBLEtBQUFBLEdBQUFBLG1CQUEyQjtJQUUzQixNQUFNZ0IseUJBQXlCaEMsMEJBQTBCZ0I7SUFFekQsSUFBSSxDQUFDZ0IsMEJBQTBCQSx1QkFBdUJDLE1BQU0sS0FBSyxHQUFHO1FBQ2xFLE9BQU87SUFDVDtJQUVBLE1BQU1DLHdCQUNKbEIscUJBQXFCLGFBQ2pCZ0Isc0JBQXNCLENBQUMsRUFBRSxHQUN6QkEsc0JBQXNCLENBQUNBLHVCQUF1QkMsTUFBTSxHQUFHLEVBQUU7SUFFL0QseUdBQXlHO0lBQ3pHLHlFQUF5RTtJQUN6RSxPQUFPQywwQkFBMEJDLFNBQUFBLG1CQUFtQixHQUNoRCxPQUNBRDtBQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9uYXZpZ2F0aW9uLnRzP2Y2MjQiXSwibmFtZXMiOlsiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMiLCJSZWRpcmVjdFR5cGUiLCJTZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0Iiwibm90Rm91bmQiLCJwZXJtYW5lbnRSZWRpcmVjdCIsInJlZGlyZWN0IiwidXNlUGFyYW1zIiwidXNlUGF0aG5hbWUiLCJ1c2VSb3V0ZXIiLCJ1c2VTZWFyY2hQYXJhbXMiLCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnQiLCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzIiwidXNlU2VydmVySW5zZXJ0ZWRIVE1MIiwic2VhcmNoUGFyYW1zIiwidXNlQ29udGV4dCIsIlNlYXJjaFBhcmFtc0NvbnRleHQiLCJyZWFkb25seVNlYXJjaFBhcmFtcyIsInVzZU1lbW8iLCJiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmciLCJyZXF1aXJlIiwiUGF0aG5hbWVDb250ZXh0Iiwicm91dGVyIiwiQXBwUm91dGVyQ29udGV4dCIsIkVycm9yIiwiUGF0aFBhcmFtc0NvbnRleHQiLCJnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoIiwidHJlZSIsInBhcmFsbGVsUm91dGVLZXkiLCJmaXJzdCIsInNlZ21lbnRQYXRoIiwibm9kZSIsInBhcmFsbGVsUm91dGVzIiwiY2hpbGRyZW4iLCJPYmplY3QiLCJ2YWx1ZXMiLCJzZWdtZW50Iiwic2VnbWVudFZhbHVlIiwiZ2V0U2VnbWVudFZhbHVlIiwic3RhcnRzV2l0aCIsIlBBR0VfU0VHTUVOVF9LRVkiLCJwdXNoIiwiY29udGV4dCIsIkxheW91dFJvdXRlckNvbnRleHQiLCJzZWxlY3RlZExheW91dFNlZ21lbnRzIiwibGVuZ3RoIiwic2VsZWN0ZWRMYXlvdXRTZWdtZW50IiwiREVGQVVMVF9TRUdNRU5UX0tFWSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/navigation.react-server.js ***! - \*****************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/** @internal */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _redirect.RedirectType;\n },\n notFound: function() {\n return _notfound.notFound;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n redirect: function() {\n return _redirect.redirect;\n }\n});\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nclass ReadonlyURLSearchParamsError extends Error {\n constructor(){\n super(\"Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams\");\n }\n}\nclass ReadonlyURLSearchParams extends URLSearchParams {\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ append() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ delete() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ set() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ sort() {\n throw new ReadonlyURLSearchParamsError();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.react-server.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24ucmVhY3Qtc2VydmVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWM7Ozs7Ozs7Ozs7OztJQThCTEEseUJBQXVCO2VBQXZCQTs7SUFGNkJDLGNBQVk7ZUFBWkEsVUFBQUEsWUFBWTs7SUFDekNDLFVBQVE7ZUFBUkEsVUFBQUEsUUFBUTs7SUFERUMsbUJBQWlCO2VBQWpCQSxVQUFBQSxpQkFBaUI7O0lBQTNCQyxVQUFRO2VBQVJBLFVBQUFBLFFBQVE7OztzQ0FBeUM7c0NBQ2pDO0FBNUJ6QixNQUFNQyxxQ0FBcUNDO0lBQ3pDQyxhQUFjO1FBQ1osS0FBSyxDQUNIO0lBRUo7QUFDRjtBQUVBLE1BQU1QLGdDQUFnQ1E7SUFDcEMsd0tBQXdLLEdBQ3hLQyxTQUFTO1FBQ1AsTUFBTSxJQUFJSjtJQUNaO0lBQ0Esd0tBQXdLLEdBQ3hLSyxTQUFTO1FBQ1AsTUFBTSxJQUFJTDtJQUNaO0lBQ0Esd0tBQXdLLEdBQ3hLTSxNQUFNO1FBQ0osTUFBTSxJQUFJTjtJQUNaO0lBQ0Esd0tBQXdLLEdBQ3hLTyxPQUFPO1FBQ0wsTUFBTSxJQUFJUDtJQUNaO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24ucmVhY3Qtc2VydmVyLnRzP2RiYzAiXSwibmFtZXMiOlsiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMiLCJSZWRpcmVjdFR5cGUiLCJub3RGb3VuZCIsInBlcm1hbmVudFJlZGlyZWN0IiwicmVkaXJlY3QiLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsIlVSTFNlYXJjaFBhcmFtcyIsImFwcGVuZCIsImRlbGV0ZSIsInNldCIsInNvcnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! - \************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NotFoundBoundary\", ({\n enumerable: true,\n get: function() {\n return NotFoundBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _warnonce = __webpack_require__(/*! ../../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nclass NotFoundErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has(\"children\")) {\n let warningMessage = \"No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n\" + \"Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n\";\n if (this.props.missingSlots.size > 0) {\n const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>\"@\" + slot).join(\", \");\n warningMessage += \"Missing slots: \" + formattedSlots;\n }\n (0, _warnonce.warnOnce)(warningMessage);\n }\n }\n static getDerivedStateFromError(error) {\n if ((0, _notfound.isNotFoundError)(error)) {\n return {\n notFoundTriggered: true\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.notFoundTriggered) {\n return {\n notFoundTriggered: false,\n previousPathname: props.pathname\n };\n }\n return {\n notFoundTriggered: state.notFoundTriggered,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.notFoundTriggered) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }),\n true && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-error\",\n content: \"not-found\"\n }),\n this.props.notFoundStyles,\n this.props.notFound\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n notFoundTriggered: !!props.asNotFound,\n previousPathname: props.pathname\n };\n }\n}\nfunction NotFoundBoundary(param) {\n let { notFound, notFoundStyles, asNotFound, children } = param;\n const pathname = (0, _navigation.usePathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n return notFound ? /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n asNotFound: asNotFound,\n missingSlots: missingSlots,\n children: children\n }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7NkJBRzRCQSwwQkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt3Q0FDSTtzQ0FDUDs7QUFvQnpCLE1BQU1DLGlDQUE4QkMsbUJBQUFBLENBQUFBLHVLQUFBQTtNQVlsQ0MsOEJBQTBCQyxPQUFBQyxPQUFBLENBQUFDLFNBQUE7d0JBRVZDO1FBRVosSUFBQ0MsS0FBNEIsSUFDN0I7YUFDQSxDQUFBQyxLQUFJQyxDQUFBQSxZQUFBQSxDQUNGQyxHQUFBO1lBR0YsSUFBSUQsaUJBQVdFLDRIQUF1QjtnQkFDcEMsS0FBQUgsS0FBTUksQ0FBQUEsWUFBaUJDLENBQUFBLElBQUFBLEdBQU1DLEdBQUs7Z0JBS2xDTCxNQUFBQSxpQkFBa0JJLE1BQUFDLElBQUEsS0FBb0JGLENBQUFBLEtBQUFBLENBQUFBLFlBQUFBLEVBQUFBLElBQUFBLENBQUFBLENBQUFBLEdBQUFBLElBQUFBLEVBQUFBLGFBQUFBLENBQUFBLElBQUFBLEdBQUFBLENBQUFBLENBQUFBLE9BQUFBLE1BQUFBLE1BQUFBLElBQUFBLENBQUFBO2dCQUN4Q0gsa0JBQUEsb0JBQUFHO1lBRUFHO1lBQ0YsSUFBQUMsVUFBQUQsUUFBQSxFQUFBTjtRQUNGO0lBRUE7V0FDRVEseUJBQUlDLEtBQWUsRUFBQ0M7WUFDbEIsSUFBQUMsVUFBT0YsZUFBQSxFQUFBQyxRQUFBO21CQUNMRTtnQkFDRkEsbUJBQUE7WUFDRjtRQUNBO1FBQ0EsbUNBQU1GO1FBQ1IsTUFBQUE7SUFFQTtXQUlFRyx5QkFBQWQsS0FBQSxFQUFBZSxLQUFBOzs7Ozs7WUFPRWYsTUFBQWdCLFFBQU8sS0FBQUQsTUFBQUUsZ0JBQUEsSUFBQUYsTUFBQUYsaUJBQUE7bUJBQ0xBO2dCQUNBSSxtQkFBa0JqQjtnQkFDcEJpQixrQkFBQWpCLE1BQUFnQixRQUFBO1lBQ0Y7UUFDQTtlQUNFSDtZQUNBSSxtQkFBa0JqQixNQUFNZ0IsaUJBQVE7WUFDbENDLGtCQUFBakIsTUFBQWdCLFFBQUE7UUFDRjtJQUVBRTthQUNNO1lBQ0YsS0FBQUgsS0FBQSxDQUFBRixpQkFDRTs7OytCQUNhLE9BQUFNLFlBQUFDLEdBQUE7d0JBQVNDLE1BQUFBOztvQkFDbkJ0QjtvQkFqR1gsS0FrR3VCLHNCQUFBb0IsWUFBQUMsR0FBQTt3QkFBYUMsTUFBQUE7O29CQUV6QjtvQkFDQSxJQUFJLENBQUNyQixLQUFLLENBQUNzQixjQUFROzs7WUFHMUI7UUFFQTtRQUNGLFlBQUF0QixLQUFBLENBQUF1QixRQUFBO0lBOUVBQztnQkFDUXhCLEtBQUFBLENBQUFBO1FBQ04sS0FBS2UsQ0FBQUE7WUFDSEYsQ0FBQUEsS0FBQUEsR0FBQUE7WUFDQUksbUJBQWtCakIsQ0FBQUEsQ0FBQUEsTUFBTWdCLFVBQVE7WUFDbENDLGtCQUFBakIsTUFBQWdCLFFBQUE7UUFDRjtJQXlFRjtBQUVPO1NBQTBCUyxpQkFFL0JDLEtBQUFBO0lBSUEsTUFBTVYsUUFBQUEsRUFBQUEsY0FBV1csRUFBQUEsVUFBQUEsRUFBV0osUUFBQSxLQUFBSztJQUM1QixNQUFNekIsV0FBQUEsQ0FBQUEsR0FBZTBCLFlBQUFBLFdBQVdDO0lBQ2hDLE1BQUEzQixlQUFPbUIsQ0FBQUEsR0FBQUEsT0FDTE8sVUFBQSxFQUFBRSwrQkFBQ3ZDLGtCQUFBQTtXQUNDd0IsV0FBVUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsdUJBQUFBO1FBQ1ZNLFVBQVVBO1FBQ1ZJLFVBQUFBO1FBQ0FNLGdCQUFZQTtRQUNaN0IsWUFBQUE7c0JBRUNvQjs7U0FHQUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsWUFBQUEsUUFBQUEsRUFBQUE7O0lBRVAiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS50c3g/MTcyNCJdLCJuYW1lcyI6WyJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiXyIsInJlcXVpcmUiLCJOb3RGb3VuZEVycm9yQm91bmRhcnkiLCJSZWFjdCIsImNvbXBvbmVudERpZENhdGNoIiwiX3JlYWN0IiwiZGVmYXVsdCIsIkNvbXBvbmVudCIsIk5PREVfRU5WIiwicHJvY2VzcyIsInByb3BzIiwid2FybmluZ01lc3NhZ2UiLCJoYXMiLCJtaXNzaW5nU2xvdHMiLCJmb3JtYXR0ZWRTbG90cyIsIkFycmF5IiwiZnJvbSIsIndhcm5PbmNlIiwiX3dhcm5vbmNlIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiaXNOb3RGb3VuZEVycm9yIiwiZXJyb3IiLCJfbm90Zm91bmQiLCJub3RGb3VuZFRyaWdnZXJlZCIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsInN0YXRlIiwicGF0aG5hbWUiLCJwcmV2aW91c1BhdGhuYW1lIiwicmVuZGVyIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJjb250ZW50Iiwibm90Rm91bmQiLCJjaGlsZHJlbiIsImNvbnN0cnVjdG9yIiwiTm90Rm91bmRCb3VuZGFyeSIsIm5vdEZvdW5kU3R5bGVzIiwidXNlUGF0aG5hbWUiLCJwYXJhbSIsInVzZUNvbnRleHQiLCJNaXNzaW5nU2xvdENvbnRleHQiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJhc05vdEZvdW5kIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/not-found.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/components/not-found.js ***! - \***************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isNotFoundError: function() {\n return isNotFoundError;\n },\n notFound: function() {\n return notFound;\n }\n});\nconst NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\nfunction notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\nfunction isNotFoundError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error)) {\n return false;\n }\n return error.digest === NOT_FOUND_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQ2dCQSxpQkFBZTtlQUFmQTs7SUFkQUMsVUFBUTtlQUFSQTs7O0FBbEJoQixNQUFNQyx1QkFBdUI7QUFrQnRCLFNBQVNEO0lBQ2QsNENBQTRDO0lBQzVDLE1BQU1FLFFBQVEsSUFBSUMsTUFBTUY7SUFDdEJDLE1BQXdCRSxNQUFNLEdBQUdIO0lBQ25DLE1BQU1DO0FBQ1I7QUFTTyxTQUFTSCxnQkFBZ0JHLEtBQWM7SUFDNUMsSUFBSSxPQUFPQSxVQUFVLFlBQVlBLFVBQVUsUUFBUSxDQUFFLGFBQVlBLEtBQUFBLEdBQVE7UUFDdkUsT0FBTztJQUNUO0lBRUEsT0FBT0EsTUFBTUUsTUFBTSxLQUFLSDtBQUMxQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLnRzPzA3ZmIiXSwibmFtZXMiOlsiaXNOb3RGb3VuZEVycm9yIiwibm90Rm91bmQiLCJOT1RfRk9VTkRfRVJST1JfQ09ERSIsImVycm9yIiwiRXJyb3IiLCJkaWdlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/promise-queue.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/promise-queue.js ***! - \*******************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/*\n This is a simple promise queue that allows you to limit the number of concurrent promises\n that are running at any given time. It's used to limit the number of concurrent\n prefetch requests that are being made to the server but could be used for other\n things as well.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PromiseQueue\", ({\n enumerable: true,\n get: function() {\n return PromiseQueue;\n }\n}));\nconst _class_private_field_loose_base = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_base */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\");\nconst _class_private_field_loose_key = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_key */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\");\nvar _maxConcurrency = /*#__PURE__*/ _class_private_field_loose_key._(\"_maxConcurrency\"), _runningCount = /*#__PURE__*/ _class_private_field_loose_key._(\"_runningCount\"), _queue = /*#__PURE__*/ _class_private_field_loose_key._(\"_queue\"), _processNext = /*#__PURE__*/ _class_private_field_loose_key._(\"_processNext\");\nclass PromiseQueue {\n enqueue(promiseFn) {\n let taskResolve;\n let taskReject;\n const taskPromise = new Promise((resolve, reject)=>{\n taskResolve = resolve;\n taskReject = reject;\n });\n const task = async ()=>{\n try {\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]++;\n const result = await promiseFn();\n taskResolve(result);\n } catch (error) {\n taskReject(error);\n } finally{\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]--;\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n }\n };\n const enqueueResult = {\n promiseFn: taskPromise,\n task\n };\n // wonder if we should take a LIFO approach here\n _class_private_field_loose_base._(this, _queue)[_queue].push(enqueueResult);\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n return taskPromise;\n }\n bump(promiseFn) {\n const index = _class_private_field_loose_base._(this, _queue)[_queue].findIndex((item)=>item.promiseFn === promiseFn);\n if (index > -1) {\n const bumpedItem = _class_private_field_loose_base._(this, _queue)[_queue].splice(index, 1)[0];\n _class_private_field_loose_base._(this, _queue)[_queue].unshift(bumpedItem);\n _class_private_field_loose_base._(this, _processNext)[_processNext](true);\n }\n }\n constructor(maxConcurrency = 5){\n Object.defineProperty(this, _processNext, {\n value: processNext\n });\n Object.defineProperty(this, _maxConcurrency, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _runningCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queue, {\n writable: true,\n value: void 0\n });\n _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] = maxConcurrency;\n _class_private_field_loose_base._(this, _runningCount)[_runningCount] = 0;\n _class_private_field_loose_base._(this, _queue)[_queue] = [];\n }\n}\nfunction processNext(forced) {\n if (forced === void 0) forced = false;\n if ((_class_private_field_loose_base._(this, _runningCount)[_runningCount] < _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] || forced) && _class_private_field_loose_base._(this, _queue)[_queue].length > 0) {\n var _class_private_field_loose_base__queue_shift;\n (_class_private_field_loose_base__queue_shift = _class_private_field_loose_base._(this, _queue)[_queue].shift()) == null ? void 0 : _class_private_field_loose_base__queue_shift.task();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=promise-queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3Byb21pc2UtcXVldWUuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBS0E7Ozs7Z0RBQ2FBOzs7ZUFBQUE7Ozs7O0lBQ1hDLGtCQUFBLGNBQUFDLCtCQUFBQyxDQUFBLHFCQUNBQyxnQkFBQSxjQUFBRiwrQkFBQUMsQ0FBQSxtQkFDQUUsU0FBQSxjQUFBSCwrQkFBQUMsQ0FBQSxZQW1EQUcsZUFBQSxjQUFBSiwrQkFBQUMsQ0FBQTtBQXRESyxNQUFNSDtJQWNYTyxRQUFXQyxTQUEyQixFQUFjO1FBQ2xELElBQUlDO1FBQ0osSUFBSUM7UUFFSixNQUFNQyxjQUFjLElBQUlDLFFBQVEsQ0FBQ0MsU0FBU0M7WUFDeENMLGNBQWNJO1lBQ2RILGFBQWFJO1FBQ2Y7UUFFQSxNQUFNQyxPQUFPO1lBQ1gsSUFBSTtnQkFDRkMsZ0NBQUFiLENBQUEsS0FBSSxFQUFFYyxjQUFBQSxDQUFBQSxjQUFBQTtnQkFDTixNQUFNQyxTQUFTLE1BQU1WO2dCQUNyQkMsWUFBWVM7WUFDZCxFQUFFLE9BQU9DLE9BQU87Z0JBQ2RULFdBQVdTO1lBQ2IsU0FBVTtnQkFDUkgsZ0NBQUFiLENBQUEsS0FBSSxFQUFFYyxjQUFBQSxDQUFBQSxjQUFBQTtnQkFDTkQsZ0NBQUFiLENBQUEsS0FBSSxFQUFFaUIsYUFBQUEsQ0FBQUEsYUFBQUE7WUFDUjtRQUNGO1FBRUEsTUFBTUMsZ0JBQWdCO1lBQUViLFdBQVdHO1lBQWFJO1FBQUs7UUFDckQsZ0RBQWdEO1FBQ2hEQyxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVtQixPQUFBQSxDQUFBQSxPQUFBQSxDQUFNQyxJQUFJLENBQUNGO1FBQ2pCTCxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVpQixhQUFBQSxDQUFBQSxhQUFBQTtRQUVOLE9BQU9UO0lBQ1Q7SUFFQWEsS0FBS2hCLFNBQXVCLEVBQUU7UUFDNUIsTUFBTWlCLFFBQVFULGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLENBQU1JLFNBQVMsQ0FBQyxDQUFDQyxPQUFTQSxLQUFLbkIsU0FBUyxLQUFLQTtRQUVqRSxJQUFJaUIsUUFBUSxDQUFDLEdBQUc7WUFDZCxNQUFNRyxhQUFhWixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVtQixPQUFBQSxDQUFBQSxPQUFBQSxDQUFNTyxNQUFNLENBQUNKLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDbERULGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLENBQU1RLE9BQU8sQ0FBQ0Y7WUFDcEJaLGdDQUFBYixDQUFBLEtBQUksRUFBRWlCLGFBQUFBLENBQUFBLGFBQUFBLENBQVk7UUFDcEI7SUFDRjtJQTVDQVcsWUFBWUMsaUJBQWlCLENBQUMsQ0FBRTtRQThDaENDLE9BQUFDLGNBQUEsT0FBQTVCLGNBQUE7bUJBQUFjOztRQXJEQWEsT0FBQUMsY0FBQSxPQUFBakMsaUJBQUE7O21CQUFBOztRQUNBZ0MsT0FBQUMsY0FBQSxPQUFBOUIsZUFBQTs7bUJBQUE7O1FBQ0E2QixPQUFBQyxjQUFBLE9BQUE3QixRQUFBOzttQkFBQTs7UUFNRVcsZ0NBQUFiLENBQUEsS0FBSSxFQUFFNkIsZ0JBQUFBLENBQUFBLGdCQUFBQSxHQUFpQkE7UUFDdkJoQixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVjLGNBQUFBLENBQUFBLGNBQUFBLEdBQWU7UUFDckJELGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLEdBQVEsRUFBRTtJQUNsQjtBQWtERjtBQVJFLFNBQUFGLFlBQWFlLE1BQWM7SUFBZEEsSUFBQUEsV0FBQUEsS0FBQUEsR0FBQUEsU0FBUztJQUNwQixJQUNFLENBQUNuQixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVjLGNBQUFBLENBQUFBLGNBQUFBLEdBQWVELGdDQUFBYixDQUFBLEtBQUksRUFBRTZCLGdCQUFBQSxDQUFBQSxnQkFBQUEsSUFBa0JHLE1BQUFBLEtBQzlDbkIsZ0NBQUFiLENBQUEsS0FBSSxFQUFFbUIsT0FBQUEsQ0FBQUEsT0FBQUEsQ0FBTWMsTUFBTSxHQUFHLEdBQ3JCO1lBQ0FDO1FBQUFBLENBQUFBLCtDQUFBckIsZ0NBQUFiLENBQUEsS0FBSSxFQUFFbUIsT0FBQUEsQ0FBQUEsT0FBQUEsQ0FBTWdCLEtBQUssdUJBQWpCRCw2Q0FBcUJ0QixJQUFJO0lBQzNCO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3Byb21pc2UtcXVldWUudHM/ZTczNCJdLCJuYW1lcyI6WyJQcm9taXNlUXVldWUiLCJfbWF4Q29uY3VycmVuY3kiLCJfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkiLCJfIiwiX3J1bm5pbmdDb3VudCIsIl9xdWV1ZSIsIl9wcm9jZXNzTmV4dCIsImVucXVldWUiLCJwcm9taXNlRm4iLCJ0YXNrUmVzb2x2ZSIsInRhc2tSZWplY3QiLCJ0YXNrUHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwidGFzayIsIl9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UiLCJydW5uaW5nQ291bnQiLCJyZXN1bHQiLCJlcnJvciIsInByb2Nlc3NOZXh0IiwiZW5xdWV1ZVJlc3VsdCIsInF1ZXVlIiwicHVzaCIsImJ1bXAiLCJpbmRleCIsImZpbmRJbmRleCIsIml0ZW0iLCJidW1wZWRJdGVtIiwic3BsaWNlIiwidW5zaGlmdCIsImNvbnN0cnVjdG9yIiwibWF4Q29uY3VycmVuY3kiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImZvcmNlZCIsImxlbmd0aCIsIl9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VfX3F1ZXVlX3NoaWZ0Iiwic2hpZnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/promise-queue.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js ***! - \*******************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return ReactDevOverlay;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _shared = __webpack_require__(/*! ../shared */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _ShadowPortal = __webpack_require__(/*! ../internal/components/ShadowPortal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ../internal/container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../internal/container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _parseStack = __webpack_require__(/*! ../internal/helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _Base = __webpack_require__(/*! ../internal/styles/Base */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ../internal/styles/ComponentStyles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ../internal/styles/CssReset */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nconst _rootlayoutmissingtagserror = __webpack_require__(/*! ../internal/container/root-layout-missing-tags-error */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js\");\nclass ReactDevOverlay extends _react.PureComponent {\n static getDerivedStateFromError(error) {\n if (!error.stack) return {\n reactError: null\n };\n return {\n reactError: {\n id: 0,\n event: {\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack)\n }\n }\n };\n }\n componentDidCatch(componentErr) {\n this.props.onReactError(componentErr);\n }\n render() {\n var _state_rootLayoutMissingTags, _state_rootLayoutMissingTags1;\n const { state, children } = this.props;\n const { reactError } = this.state;\n const hasBuildError = state.buildError != null;\n const hasRuntimeErrors = Boolean(state.errors.length);\n const hasMissingTags = Boolean((_state_rootLayoutMissingTags = state.rootLayoutMissingTags) == null ? void 0 : _state_rootLayoutMissingTags.length);\n const isMounted = hasBuildError || hasRuntimeErrors || reactError || hasMissingTags;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n reactError ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {})\n ]\n }) : children,\n isMounted ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ShadowPortal.ShadowPortal, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CssReset.CssReset, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Base.Base, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStyles.ComponentStyles, {}),\n ((_state_rootLayoutMissingTags1 = state.rootLayoutMissingTags) == null ? void 0 : _state_rootLayoutMissingTags1.length) ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_rootlayoutmissingtagserror.RootLayoutMissingTagsError, {\n missingTags: state.rootLayoutMissingTags\n }) : hasBuildError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : reactError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: true,\n versionInfo: state.versionInfo,\n initialDisplayState: \"fullscreen\",\n errors: [\n reactError\n ]\n }) : hasRuntimeErrors ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: true,\n initialDisplayState: \"minimized\",\n errors: state.errors,\n versionInfo: state.versionInfo\n }) : undefined\n ]\n }) : undefined\n ]\n });\n }\n constructor(...args){\n super(...args);\n this.state = {\n reactError: null\n };\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ReactDevOverlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9SZWFjdERldk92ZXJsYXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztlQWdCcUJBOzs7Ozs2RUFoQkU7b0NBQ21DOzBDQUU3Qjt3Q0FDRjtvQ0FDSjt3Q0FFSTtrQ0FDTjs2Q0FDVztzQ0FDUDt3REFDa0I7QUFLNUIsTUFBTUEsd0JBQXdCQyxPQUFNQyxhQUFhO0lBVTlELE9BQU9DLHlCQUF5QkMsS0FBWSxFQUF3QjtRQUNsRSxJQUFJLENBQUNBLE1BQU1DLEtBQUssRUFBRSxPQUFPO1lBQUVDLFlBQVk7UUFBSztRQUM1QyxPQUFPO1lBQ0xBLFlBQVk7Z0JBQ1ZDLElBQUk7Z0JBQ0pDLE9BQU87b0JBQ0xDLE1BQU1DLFFBQUFBLHNCQUFzQjtvQkFDNUJDLFFBQVFQO29CQUNSUSxRQUFRQyxDQUFBQSxHQUFBQSxZQUFBQSxVQUFVLEVBQUNULE1BQU1DLEtBQUs7Z0JBQ2hDO1lBQ0Y7UUFDRjtJQUNGO0lBRUFTLGtCQUFrQkMsWUFBbUIsRUFBRTtRQUNyQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxDQUFDRjtJQUMxQjtJQUVBRyxTQUFTO1lBTXdCQyw4QkFtQnRCQTtRQXhCVCxNQUFNLEVBQUVBLEtBQUssRUFBRUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDSixLQUFLO1FBQ3RDLE1BQU0sRUFBRVYsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDYSxLQUFLO1FBRWpDLE1BQU1FLGdCQUFnQkYsTUFBTUcsVUFBVSxJQUFJO1FBQzFDLE1BQU1DLG1CQUFtQkMsUUFBUUwsTUFBTU0sTUFBTSxDQUFDQyxNQUFNO1FBQ3BELE1BQU1DLGlCQUFpQkgsUUFBQUEsQ0FBUUwsK0JBQUFBLE1BQU1TLHFCQUFxQixxQkFBM0JULDZCQUE2Qk8sTUFBTTtRQUNsRSxNQUFNRyxZQUNKUixpQkFBaUJFLG9CQUFvQmpCLGNBQWNxQjtRQUVyRCxPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxJQUFBLEVBQUFELFlBQUFFLFFBQUE7O2dCQUNHMUIsYUFDQyxXQUREQSxHQUNDLElBQUF3QixZQUFBQyxJQUFBLEVBQUNFLFFBQUFBOztzQ0FDQyxJQUFBSCxZQUFBSSxHQUFBLEVBQUNDLFFBQUFBLENBQUFBO3NDQUNELElBQUFMLFlBQUFJLEdBQUEsRUFBQ0UsUUFBQUEsQ0FBQUE7O3FCQUdIaEI7Z0JBRURTLFlBQ0MsV0FEREEsR0FDQyxJQUFBQyxZQUFBQyxJQUFBLEVBQUNNLGNBQUFBLFlBQVk7O3NDQUNYLElBQUFQLFlBQUFJLEdBQUEsRUFBQ0ksVUFBQUEsUUFBUTtzQ0FDVCxJQUFBUixZQUFBSSxHQUFBLEVBQUNLLE1BQUFBLElBQUk7c0NBQ0wsSUFBQVQsWUFBQUksR0FBQSxFQUFDTSxpQkFBQUEsZUFBZTt3QkFDZnJCLENBQUFBLENBQUFBLGdDQUFBQSxNQUFNUyxxQkFBcUIscUJBQTNCVCw4QkFBNkJPLE1BQU0sSUFDbEMsV0FEa0MsR0FDbEMsSUFBQUksWUFBQUksR0FBQSxFQUFDTyw0QkFBQUEsMEJBQTBCOzRCQUN6QkMsYUFBYXZCLE1BQU1TLHFCQUFxQjs2QkFFeENQLGdCQUNGLFdBREVBLEdBQ0YsSUFBQVMsWUFBQUksR0FBQSxFQUFDUyxZQUFBQSxVQUFVOzRCQUNUQyxTQUFTekIsTUFBTUcsVUFBVTs0QkFDekJ1QixhQUFhMUIsTUFBTTBCLFdBQVc7NkJBRTlCdkMsYUFDRixXQURFQSxHQUNGLElBQUF3QixZQUFBSSxHQUFBLEVBQUNZLFFBQUFBLE1BQU07NEJBQ0xDLFVBQVU7NEJBQ1ZGLGFBQWExQixNQUFNMEIsV0FBVzs0QkFDOUJHLHFCQUFvQjs0QkFDcEJ2QixRQUFRO2dDQUFDbkI7NkJBQVc7NkJBRXBCaUIsbUJBQ0YsV0FERUEsR0FDRixJQUFBTyxZQUFBSSxHQUFBLEVBQUNZLFFBQUFBLE1BQU07NEJBQ0xDLFVBQVU7NEJBQ1ZDLHFCQUFvQjs0QkFDcEJ2QixRQUFRTixNQUFNTSxNQUFNOzRCQUNwQm9CLGFBQWExQixNQUFNMEIsV0FBVzs2QkFFOUJJOztxQkFFSkE7OztJQUdWOzs7YUF6RUE5QixLQUFBQSxHQUFRO1lBQUViLFlBQVk7UUFBSzs7QUEwRTdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9hcHAvUmVhY3REZXZPdmVybGF5LnRzeD9mMWJmIl0sIm5hbWVzIjpbIlJlYWN0RGV2T3ZlcmxheSIsIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImVycm9yIiwic3RhY2siLCJyZWFjdEVycm9yIiwiaWQiLCJldmVudCIsInR5cGUiLCJBQ1RJT05fVU5IQU5ETEVEX0VSUk9SIiwicmVhc29uIiwiZnJhbWVzIiwicGFyc2VTdGFjayIsImNvbXBvbmVudERpZENhdGNoIiwiY29tcG9uZW50RXJyIiwicHJvcHMiLCJvblJlYWN0RXJyb3IiLCJyZW5kZXIiLCJzdGF0ZSIsImNoaWxkcmVuIiwiaGFzQnVpbGRFcnJvciIsImJ1aWxkRXJyb3IiLCJoYXNSdW50aW1lRXJyb3JzIiwiQm9vbGVhbiIsImVycm9ycyIsImxlbmd0aCIsImhhc01pc3NpbmdUYWdzIiwicm9vdExheW91dE1pc3NpbmdUYWdzIiwiaXNNb3VudGVkIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiRnJhZ21lbnQiLCJodG1sIiwianN4IiwiaGVhZCIsImJvZHkiLCJTaGFkb3dQb3J0YWwiLCJDc3NSZXNldCIsIkJhc2UiLCJDb21wb25lbnRTdHlsZXMiLCJSb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvciIsIm1pc3NpbmdUYWdzIiwiQnVpbGRFcnJvciIsIm1lc3NhZ2UiLCJ2ZXJzaW9uSW5mbyIsIkVycm9ycyIsImlzQXBwRGlyIiwiaW5pdGlhbERpc3BsYXlTdGF0ZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js ***! - \***********************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return HotReload;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../internal/helpers/format-webpack-messages */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\"));\nconst _navigation = __webpack_require__(/*! ../../navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _parseStack = __webpack_require__(/*! ../internal/helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _ReactDevOverlay = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./ReactDevOverlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js\"));\nconst _useerrorhandler = __webpack_require__(/*! ../internal/helpers/use-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\");\nconst _runtimeerrorhandler = __webpack_require__(/*! ../internal/helpers/runtime-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\");\nconst _usewebsocket = __webpack_require__(/*! ../internal/helpers/use-websocket */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\");\nconst _parsecomponentstack = __webpack_require__(/*! ../internal/helpers/parse-component-stack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../../../../server/dev/hot-reloader-types */ \"(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _extractmodulesfromturbopackmessage = __webpack_require__(/*! ../../../../server/dev/extract-modules-from-turbopack-message */ \"(ssr)/./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\");\nlet mostRecentCompilationHash = null;\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet reloading = false;\nlet startLatency = null;\nfunction onBeforeFastRefresh(dispatcher, hasUpdates) {\n if (hasUpdates) {\n dispatcher.onBeforeRefresh();\n }\n}\nfunction onFastRefresh(dispatcher, sendMessage, updatedModules) {\n dispatcher.onBuildOk();\n reportHmrLatency(sendMessage, updatedModules);\n dispatcher.onRefresh();\n}\nfunction reportHmrLatency(sendMessage, updatedModules) {\n if (!startLatency) return;\n let endLatency = Date.now();\n const latency = endLatency - startLatency;\n console.log(\"[Fast Refresh] done in \" + latency + \"ms\");\n sendMessage(JSON.stringify({\n event: \"client-hmr-latency\",\n id: window.__nextDevClientId,\n startTime: startLatency,\n endTime: endLatency,\n page: window.location.pathname,\n updatedModules,\n // Whether the page (tab) was hidden at the time the event occurred.\n // This can impact the accuracy of the event's timing.\n isPageHidden: document.visibilityState === \"hidden\"\n }));\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n/**\n * Is there a newer version of this code available?\n * For webpack: Check if the hash changed compared to __webpack_hash__\n * For Turbopack: Always true because it doesn't have __webpack_hash__\n */ function isUpdateAvailable() {\n if (false) {}\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error module.hot exists\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error module.hot exists\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error module.hot exists\n module.hot.addStatusHandler(handler);\n }\n}\nfunction performFullReload(err, sendMessage) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n sendMessage(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError,\n dependencyChain: err ? err.dependencyChain : undefined\n }));\n if (reloading) return;\n reloading = true;\n window.location.reload();\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeUpdate, onHotUpdateSuccess, sendMessage, dispatcher) {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n dispatcher.onBuildOk();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\"[Fast Refresh] performing full reload\\n\\n\" + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + \"You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n\" + \"Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n\" + \"It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n\" + \"Fast Refresh requires at least one parent function component in your React tree.\");\n } else if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n }\n performFullReload(err, sendMessage);\n return;\n }\n const hasUpdates = Boolean(updatedModules.length);\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(updatedModules);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates(hasUpdates ? ()=>{} : onBeforeUpdate, hasUpdates ? ()=>dispatcher.onBuildOk() : onHotUpdateSuccess, sendMessage, dispatcher);\n } else {\n dispatcher.onBuildOk();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error module.hot exists\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeUpdate === \"function\") {\n const hasUpdates = Boolean(updatedModules.length);\n onBeforeUpdate(hasUpdates);\n }\n // https://webpack.js.org/api/hot-module-replacement/#apply\n // @ts-expect-error module.hot exists\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\n/** Handles messages from the sevrer for the App Router. */ function processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher) {\n if (!(\"action\" in obj)) {\n return;\n }\n function handleErrors(errors) {\n // \"Massage\" webpack messages.\n const formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n dispatcher.onBuildError(formatted.errors[0]);\n // Also log them to the console.\n for(let i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n }\n function handleHotUpdate() {\n if (false) {} else {\n tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {\n onBeforeFastRefresh(dispatcher, hasUpdates);\n }, function onSuccessfulHotUpdate(webpackUpdatedModules) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(dispatcher, sendMessage, webpackUpdatedModules);\n }, sendMessage, dispatcher);\n }\n }\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n startLatency = Date.now();\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n {\n if (obj.hash) {\n handleAvailableHash(obj.hash);\n }\n const { errors, warnings } = obj;\n // Is undefined when it's a 'built' event\n if (\"versionInfo\" in obj) dispatcher.onVersionInfo(obj.versionInfo);\n const hasErrors = Boolean(errors && errors.length);\n // Compilation with errors (e.g. syntax error or missing modules).\n if (hasErrors) {\n sendMessage(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: __nextDevClientId\n }));\n handleErrors(errors);\n return;\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n sendMessage(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: __nextDevClientId\n }));\n // Print warnings to the console.\n const formattedMessages = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n for(let i = 0; i < formattedMessages.warnings.length; i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formattedMessages.warnings[i]));\n }\n // No early return here as we need to apply modules in the same way between warnings only and compiles without warnings\n }\n sendMessage(JSON.stringify({\n event: \"client-success\",\n clientId: __nextDevClientId\n }));\n if (obj.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT) {\n // Handle hot updates\n handleHotUpdate();\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED:\n {\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED\n });\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE:\n {\n const updatedModules = (0, _extractmodulesfromturbopackmessage.extractModulesFromTurbopackMessage)(obj.data);\n dispatcher.onBeforeRefresh();\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n data: obj.data\n });\n dispatcher.onRefresh();\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n performFullReload(null, sendMessage);\n }\n reportHmrLatency(sendMessage, updatedModules);\n break;\n }\n // TODO-APP: make server component change more granular\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:\n {\n sendMessage(JSON.stringify({\n event: \"server-component-reload-page\",\n clientId: __nextDevClientId\n }));\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n (0, _react.startTransition)(()=>{\n router.fastRefresh();\n dispatcher.onRefresh();\n });\n if (false) {}\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n sendMessage(JSON.stringify({\n event: \"client-reload-page\",\n clientId: __nextDevClientId\n }));\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was added/removed.\n return router.fastRefresh();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n return;\n }\n default:\n {}\n }\n}\nfunction HotReload(param) {\n let { assetPrefix, children } = param;\n const [state, dispatch] = (0, _shared.useErrorOverlayReducer)();\n const dispatcher = (0, _react.useMemo)(()=>{\n return {\n onBuildOk () {\n dispatch({\n type: _shared.ACTION_BUILD_OK\n });\n },\n onBuildError (message) {\n dispatch({\n type: _shared.ACTION_BUILD_ERROR,\n message\n });\n },\n onBeforeRefresh () {\n dispatch({\n type: _shared.ACTION_BEFORE_REFRESH\n });\n },\n onRefresh () {\n dispatch({\n type: _shared.ACTION_REFRESH\n });\n },\n onVersionInfo (versionInfo) {\n dispatch({\n type: _shared.ACTION_VERSION_INFO,\n versionInfo\n });\n }\n };\n }, [\n dispatch\n ]);\n const handleOnUnhandledError = (0, _react.useCallback)((error)=>{\n const errorDetails = error.details;\n // Component stack is added to the error in use-error-handler in case there was a hydration errror\n const componentStack = errorDetails == null ? void 0 : errorDetails.componentStack;\n const warning = errorDetails == null ? void 0 : errorDetails.warning;\n dispatch({\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack),\n componentStackFrames: componentStack ? (0, _parsecomponentstack.parseComponentStack)(componentStack) : undefined,\n warning\n });\n }, [\n dispatch\n ]);\n const handleOnUnhandledRejection = (0, _react.useCallback)((reason)=>{\n dispatch({\n type: _shared.ACTION_UNHANDLED_REJECTION,\n reason: reason,\n frames: (0, _parseStack.parseStack)(reason.stack)\n });\n }, [\n dispatch\n ]);\n const handleOnReactError = (0, _react.useCallback)(()=>{\n _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError = true;\n }, []);\n (0, _useerrorhandler.useErrorHandler)(handleOnUnhandledError, handleOnUnhandledRejection);\n const webSocketRef = (0, _usewebsocket.useWebsocket)(assetPrefix);\n (0, _usewebsocket.useWebsocketPing)(webSocketRef);\n const sendMessage = (0, _usewebsocket.useSendMessage)(webSocketRef);\n const processTurbopackMessage = (0, _usewebsocket.useTurbopack)(sendMessage, (err)=>performFullReload(err, sendMessage));\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n const websocket = webSocketRef.current;\n if (!websocket) return;\n const handler = (event)=>{\n try {\n const obj = JSON.parse(event.data);\n processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher);\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + event.data + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n };\n websocket.addEventListener(\"message\", handler);\n return ()=>websocket.removeEventListener(\"message\", handler);\n }, [\n sendMessage,\n router,\n webSocketRef,\n dispatcher,\n processTurbopackMessage\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ReactDevOverlay.default, {\n onReactError: handleOnReactError,\n state: state,\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-reloader-client.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9ob3QtcmVsb2FkZXItY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7OzJDQWtjQTs7O2VBQXdCQTs7Ozs7bUNBamN5QztnRkFDM0M7NEZBQ1k7d0NBQ1I7b0NBVW5CO3dDQUNvQjtzRkFDQzs2Q0FDSTtpREFDSTswQ0FNN0I7aURBQzZCOzhDQUVRO2dFQUtPO0FBV25ELElBQUlDLDRCQUFpQztBQUNyQyxJQUFJQyxvQkFBb0JDLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsTUFBTSxLQUFLLE1BQU1DLEtBQUtDLEdBQUc7QUFDakUsSUFBSUMsWUFBWTtBQUNoQixJQUFJQyxlQUE4QjtBQUVsQyxTQUFTQyxvQkFBb0JDLFVBQXNCLEVBQUVDLFVBQW1CO0lBQ3RFLElBQUlBLFlBQVk7UUFDZEQsV0FBV0UsZUFBZTtJQUM1QjtBQUNGO0FBRUEsU0FBU0MsY0FDUEgsVUFBc0IsRUFDdEJJLFdBQXNDLEVBQ3RDQyxjQUFxQztJQUVyQ0wsV0FBV00sU0FBUztJQUVwQkMsaUJBQWlCSCxhQUFhQztJQUU5QkwsV0FBV1EsU0FBUztBQUN0QjtBQUVBLFNBQVNELGlCQUNQSCxXQUFzQyxFQUN0Q0MsY0FBcUM7SUFFckMsSUFBSSxDQUFDUCxjQUFjO0lBQ25CLElBQUlXLGFBQWFkLEtBQUtDLEdBQUc7SUFDekIsTUFBTWMsVUFBVUQsYUFBYVg7SUFDN0JhLFFBQVFDLEdBQUcsQ0FBQyw0QkFBMEJGLFVBQVE7SUFDOUNOLFlBQ0VTLEtBQUtDLFNBQVMsQ0FBQztRQUNiQyxPQUFPO1FBQ1BDLElBQUlDLE9BQU8xQixpQkFBaUI7UUFDNUIyQixXQUFXcEI7UUFDWHFCLFNBQVNWO1FBQ1RXLE1BQU1ILE9BQU9JLFFBQVEsQ0FBQ0MsUUFBUTtRQUM5QmpCO1FBQ0Esb0VBQW9FO1FBQ3BFLHNEQUFzRDtRQUN0RGtCLGNBQWNDLFNBQVNDLGVBQWUsS0FBSztJQUM3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L0csVUFBVSxDQUFDeEI7WUFDZixJQUFJO2dCQUNGLE1BQU11RCxNQUFNekQsS0FBS21HLEtBQUssQ0FBQ2pHLE1BQU13RixJQUFJO2dCQUNqQ2xDLGVBQ0VDLEtBQ0FsRSxhQUNBbUUseUJBQ0FDLFFBQ0F4RTtZQUVKLEVBQUUsT0FBTzJDLEtBQVU7b0JBRWtDQTtnQkFEbkRoQyxRQUFRZ0QsSUFBSSxDQUNWLDRCQUE0QjVDLE1BQU13RixJQUFJLEdBQUcsT0FBUTVELENBQUFBLENBQUFBLGFBQUFBLE9BQUFBLE9BQUFBLEtBQUFBLElBQUFBLElBQUtFLEtBQUssWUFBVkYsYUFBYztZQUVuRTtRQUNGO1FBRUEyRyxVQUFVRSxnQkFBZ0IsQ0FBQyxXQUFXakg7UUFDdEMsT0FBTyxJQUFNK0csVUFBVUcsbUJBQW1CLENBQUMsV0FBV2xIO0lBQ3hELEdBQUc7UUFBQ25DO1FBQWFvRTtRQUFRdUU7UUFBYy9JO1FBQVl1RTtLQUF3QjtJQUUzRSxPQUNFLFdBREYsR0FDRSxJQUFBbUYsWUFBQUMsR0FBQSxFQUFDQyxpQkFBQUEsT0FBZTtRQUFDQyxjQUFjaEI7UUFBb0J2QixPQUFPQTtrQkFDdkREOztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9hcHAvaG90LXJlbG9hZGVyLWNsaWVudC50c3g/MGRiYSJdLCJuYW1lcyI6WyJIb3RSZWxvYWQiLCJtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoIiwiX19uZXh0RGV2Q2xpZW50SWQiLCJNYXRoIiwicm91bmQiLCJyYW5kb20iLCJEYXRlIiwibm93IiwicmVsb2FkaW5nIiwic3RhcnRMYXRlbmN5Iiwib25CZWZvcmVGYXN0UmVmcmVzaCIsImRpc3BhdGNoZXIiLCJoYXNVcGRhdGVzIiwib25CZWZvcmVSZWZyZXNoIiwib25GYXN0UmVmcmVzaCIsInNlbmRNZXNzYWdlIiwidXBkYXRlZE1vZHVsZXMiLCJvbkJ1aWxkT2siLCJyZXBvcnRIbXJMYXRlbmN5Iiwib25SZWZyZXNoIiwiZW5kTGF0ZW5jeSIsImxhdGVuY3kiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiaWQiLCJ3aW5kb3ciLCJzdGFydFRpbWUiLCJlbmRUaW1lIiwicGFnZSIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJpc1BhZ2VIaWRkZW4iLCJkb2N1bWVudCIsInZpc2liaWxpdHlTdGF0ZSIsImhhbmRsZUF2YWlsYWJsZUhhc2giLCJoYXNoIiwiaXNVcGRhdGVBdmFpbGFibGUiLCJwcm9jZXNzIiwiZW52IiwiVFVSQk9QQUNLIiwiX193ZWJwYWNrX2hhc2hfXyIsImNhbkFwcGx5VXBkYXRlcyIsIm1vZHVsZSIsImhvdCIsInN0YXR1cyIsImFmdGVyQXBwbHlVcGRhdGVzIiwiZm4iLCJoYW5kbGVyIiwicmVtb3ZlU3RhdHVzSGFuZGxlciIsImFkZFN0YXR1c0hhbmRsZXIiLCJwZXJmb3JtRnVsbFJlbG9hZCIsImVyciIsInN0YWNrVHJhY2UiLCJzdGFjayIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwibWVzc2FnZSIsImhhZFJ1bnRpbWVFcnJvciIsIlJ1bnRpbWVFcnJvckhhbmRsZXIiLCJkZXBlbmRlbmN5Q2hhaW4iLCJ1bmRlZmluZWQiLCJyZWxvYWQiLCJ0cnlBcHBseVVwZGF0ZXMiLCJvbkJlZm9yZVVwZGF0ZSIsIm9uSG90VXBkYXRlU3VjY2VzcyIsImhhbmRsZUFwcGx5VXBkYXRlcyIsIndhcm4iLCJSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IiLCJCb29sZWFuIiwibGVuZ3RoIiwiX19ORVhUX1RFU1RfTU9ERSIsInNlbGYiLCJfX05FWFRfSE1SX0NCIiwiY2hlY2siLCJ0aGVuIiwiYXBwbHkiLCJwcm9jZXNzTWVzc2FnZSIsIm9iaiIsInByb2Nlc3NUdXJib3BhY2tNZXNzYWdlIiwicm91dGVyIiwiaGFuZGxlRXJyb3JzIiwiZXJyb3JzIiwiZm9ybWF0dGVkIiwiZm9ybWF0V2VicGFja01lc3NhZ2VzIiwid2FybmluZ3MiLCJvbkJ1aWxkRXJyb3IiLCJpIiwiZXJyb3IiLCJzdHJpcEFuc2kiLCJoYW5kbGVIb3RVcGRhdGUiLCJvbkJlZm9yZUhvdFVwZGF0ZSIsIm9uU3VjY2Vzc2Z1bEhvdFVwZGF0ZSIsIndlYnBhY2tVcGRhdGVkTW9kdWxlcyIsImFjdGlvbiIsIkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiIsIkJVSUxESU5HIiwiQlVJTFQiLCJTWU5DIiwib25WZXJzaW9uSW5mbyIsInZlcnNpb25JbmZvIiwiaGFzRXJyb3JzIiwiZXJyb3JDb3VudCIsImNsaWVudElkIiwiaGFzV2FybmluZ3MiLCJ3YXJuaW5nQ291bnQiLCJmb3JtYXR0ZWRNZXNzYWdlcyIsIlRVUkJPUEFDS19DT05ORUNURUQiLCJ0eXBlIiwiVFVSQk9QQUNLX01FU1NBR0UiLCJleHRyYWN0TW9kdWxlc0Zyb21UdXJib3BhY2tNZXNzYWdlIiwiZGF0YSIsIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFUyIsInN0YXJ0VHJhbnNpdGlvbiIsImZhc3RSZWZyZXNoIiwiUkVMT0FEX1BBR0UiLCJBRERFRF9QQUdFIiwiUkVNT1ZFRF9QQUdFIiwiU0VSVkVSX0VSUk9SIiwiZXJyb3JKU09OIiwicGFyc2UiLCJFcnJvciIsIkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEUiLCJwYXJhbSIsImFzc2V0UHJlZml4IiwiY2hpbGRyZW4iLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRXJyb3JPdmVybGF5UmVkdWNlciIsInVzZU1lbW8iLCJBQ1RJT05fQlVJTERfT0siLCJBQ1RJT05fQlVJTERfRVJST1IiLCJBQ1RJT05fQkVGT1JFX1JFRlJFU0giLCJBQ1RJT05fUkVGUkVTSCIsIkFDVElPTl9WRVJTSU9OX0lORk8iLCJoYW5kbGVPblVuaGFuZGxlZEVycm9yIiwidXNlQ2FsbGJhY2siLCJlcnJvckRldGFpbHMiLCJkZXRhaWxzIiwiY29tcG9uZW50U3RhY2siLCJ3YXJuaW5nIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsInJlYXNvbiIsImZyYW1lcyIsInBhcnNlU3RhY2siLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsInBhcnNlQ29tcG9uZW50U3RhY2siLCJoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwiaGFuZGxlT25SZWFjdEVycm9yIiwidXNlRXJyb3JIYW5kbGVyIiwid2ViU29ja2V0UmVmIiwidXNlV2Vic29ja2V0IiwidXNlV2Vic29ja2V0UGluZyIsInVzZVNlbmRNZXNzYWdlIiwidXNlVHVyYm9wYWNrIiwidXNlUm91dGVyIiwidXNlRWZmZWN0Iiwid2Vic29ja2V0IiwiY3VycmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJSZWFjdERldk92ZXJsYXkiLCJvblJlYWN0RXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js ***! - \***************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return CodeFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(ssr)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst CodeFrame = function CodeFrame(param) {\n let { stackFrame, codeFrame } = param;\n // Strip leading spaces out of the code frame:\n const formattedFrame = _react.useMemo(()=>{\n const lines = codeFrame.split(/\\r?\\n/g);\n // Find the minimum length of leading spaces after `|` in the code frame\n const miniLeadingSpacesLength = lines.map((line)=>/^>? +\\d+ +\\| [ ]+/.exec((0, _stripansi.default)(line)) === null ? null : /^>? +\\d+ +\\| ( *)/.exec((0, _stripansi.default)(line))).filter(Boolean).map((v)=>v.pop()).reduce((c, n)=>isNaN(c) ? n.length : Math.min(c, n.length), NaN);\n // When the minimum length of leading spaces is greater than 1, remove them\n // from the code frame to help the indentation looks better when there's a lot leading spaces.\n if (miniLeadingSpacesLength > 1) {\n return lines.map((line, a)=>~(a = line.indexOf(\"|\")) ? line.substring(0, a) + line.substring(a).replace(\"^\\\\ {\" + miniLeadingSpacesLength + \"}\", \"\") : line).join(\"\\n\");\n }\n return lines.join(\"\\n\");\n }, [\n codeFrame\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n formattedFrame\n ]);\n const open = (0, _useopenineditor.useOpenInEditor)({\n file: stackFrame.file,\n lineNumber: stackFrame.lineNumber,\n column: stackFrame.column\n });\n // TODO: make the caret absolute\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-codeframe\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n role: \"link\",\n onClick: open,\n tabIndex: 1,\n title: \"Click to open in your editor\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n (0, _stackframe.getFrameSource)(stackFrame),\n \" @\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: stackFrame.methodName\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n children: decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: entry.content\n }, \"frame-\" + index))\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CodeFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcyIsIm1hcHBpbmdzIjoiOzs7OzZDQVVhQTs7O2VBQUFBOzs7Ozs7NEVBVks7NkVBQ0s7Z0ZBRUQ7d0NBQ1M7NkNBQ0M7MkNBQ0Y7QUFJdkIsTUFBTUEsWUFBc0MsU0FBU0EsVUFBVUMsS0FHckU7SUFIcUUsTUFDcEVDLFVBQVUsRUFDVkMsU0FBUyxFQUNWLEdBSHFFRjtJQUlwRSw4Q0FBOEM7SUFDOUMsTUFBTUcsaUJBQWlCQyxPQUFNQyxPQUFPLENBQVM7UUFDM0MsTUFBTUMsUUFBUUosVUFBVUssS0FBSyxDQUFDO1FBRTlCLHdFQUF3RTtRQUN4RSxNQUFNQywwQkFBMEJGLE1BQzdCRyxHQUFHLENBQUMsQ0FBQ0MsT0FDSixvQkFBb0JDLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRixXQUFXLE9BQzFDLE9BQ0Esb0JBQW9CQyxJQUFJLENBQUNDLENBQUFBLEdBQUFBLFdBQUFBLE9BQVMsRUFBQ0YsUUFFeENHLE1BQU0sQ0FBQ0MsU0FDUEwsR0FBRyxDQUFDLENBQUNNLElBQU1BLEVBQUdDLEdBQUcsSUFDakJDLE1BQU0sQ0FBQyxDQUFDQyxHQUFHQyxJQUFPQyxNQUFNRixLQUFLQyxFQUFFRSxNQUFNLEdBQUdDLEtBQUtDLEdBQUcsQ0FBQ0wsR0FBR0MsRUFBRUUsTUFBTSxHQUFJRztRQUVuRSwyRUFBMkU7UUFDM0UsOEZBQThGO1FBQzlGLElBQUloQiwwQkFBMEIsR0FBRztZQUMvQixPQUFPRixNQUNKRyxHQUFHLENBQUMsQ0FBQ0MsTUFBTWUsSUFDVixDQUFFQSxDQUFBQSxJQUFJZixLQUFLZ0IsT0FBTyxDQUFDLFFBQ2ZoQixLQUFLaUIsU0FBUyxDQUFDLEdBQUdGLEtBQ2xCZixLQUFLaUIsU0FBUyxDQUFDRixHQUFHRyxPQUFPLENBQUMsVUFBUXBCLDBCQUF3QixLQUFJLE1BQzlERSxNQUVMbUIsSUFBSSxDQUFDO1FBQ1Y7UUFDQSxPQUFPdkIsTUFBTXVCLElBQUksQ0FBQztJQUNwQixHQUFHO1FBQUMzQjtLQUFVO0lBRWQsTUFBTTRCLFVBQVUxQixPQUFNQyxPQUFPLENBQUM7UUFDNUIsT0FBTzBCLE9BQUFBLE9BQUssQ0FBQ0MsVUFBVSxDQUFDN0IsZ0JBQWdCO1lBQ3RDOEIsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLGNBQWM7UUFDaEI7SUFDRixHQUFHO1FBQUNoQztLQUFlO0lBRW5CLE1BQU1pQyxPQUFPQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDO1FBQzNCQyxNQUFNckMsV0FBV3FDLElBQUk7UUFDckJDLFlBQVl0QyxXQUFXc0MsVUFBVTtRQUNqQ0MsUUFBUXZDLFdBQVd1QyxNQUFNO0lBQzNCO0lBRUEsZ0NBQWdDO0lBQ2hDLE9BQ0UsV0FERixHQUNFLElBQUFDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFBSUMseUJBQXFCOzswQkFDeEIsSUFBQUgsWUFBQUksR0FBQSxFQUFDRixPQUFBQTswQkFDQyxrQkFBQUYsWUFBQUMsSUFBQSxFQUFDSSxLQUFBQTtvQkFDQ0MsTUFBSztvQkFDTEMsU0FBU1o7b0JBQ1RhLFVBQVU7b0JBQ1ZDLE9BQU07O3NDQUVOLElBQUFULFlBQUFDLElBQUEsRUFBQ1MsUUFBQUE7O2dDQUNFQyxDQUFBQSxHQUFBQSxZQUFBQSxjQUFjLEVBQUNuRDtnQ0FBWTtnQ0FBRzs4Q0FDL0IsSUFBQXdDLFlBQUFJLEdBQUEsRUFBQ1EsZUFBQUEsYUFBYTtvQ0FBQ0MsTUFBTXJELFdBQVdzRCxVQUFVOzs7O3NDQUU1QyxJQUFBZCxZQUFBQyxJQUFBLEVBQUNjLE9BQUFBOzRCQUNDQyxPQUFNOzRCQUNOQyxTQUFROzRCQUNSQyxNQUFLOzRCQUNMQyxRQUFPOzRCQUNQQyxhQUFZOzRCQUNaQyxlQUFjOzRCQUNkQyxnQkFBZTs7OENBRWYsSUFBQXRCLFlBQUFJLEdBQUEsRUFBQ21CLFFBQUFBO29DQUFLQyxHQUFFOzs4Q0FDUixJQUFBeEIsWUFBQUksR0FBQSxFQUFDcUIsWUFBQUE7b0NBQVNDLFFBQU87OzhDQUNqQixJQUFBMUIsWUFBQUksR0FBQSxFQUFDbkMsUUFBQUE7b0NBQUswRCxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHOzs7Ozs7OzBCQUl2QyxJQUFBOUIsWUFBQUksR0FBQSxFQUFDMkIsT0FBQUE7MEJBQ0UxQyxRQUFRckIsR0FBRyxDQUFDLENBQUNnRSxPQUFPQyxRQUNuQixXQURtQkEsR0FDbkIsSUFBQWpDLFlBQUFJLEdBQUEsRUFBQ00sUUFBQUE7d0JBRUN3QixPQUFPOzRCQUNMQyxPQUFPSCxNQUFNSSxFQUFFLEdBQUcsaUJBQWVKLE1BQU1JLEVBQUUsR0FBQyxNQUFLQzs0QkFDL0MsR0FBSUwsTUFBTU0sVUFBVSxLQUFLLFNBQ3JCO2dDQUFFQyxZQUFZOzRCQUFJLElBQ2xCUCxNQUFNTSxVQUFVLEtBQUssV0FDckI7Z0NBQUVFLFdBQVc7NEJBQVMsSUFDdEJILFNBQVM7d0JBQ2Y7a0NBRUNMLE1BQU1TLE9BQU87dUJBVlQsV0FBU1I7Ozs7QUFnQjFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9Db2RlRnJhbWUudHN4P2I3OGIiXSwibmFtZXMiOlsiQ29kZUZyYW1lIiwicGFyYW0iLCJzdGFja0ZyYW1lIiwiY29kZUZyYW1lIiwiZm9ybWF0dGVkRnJhbWUiLCJSZWFjdCIsInVzZU1lbW8iLCJsaW5lcyIsInNwbGl0IiwibWluaUxlYWRpbmdTcGFjZXNMZW5ndGgiLCJtYXAiLCJsaW5lIiwiZXhlYyIsInN0cmlwQW5zaSIsImZpbHRlciIsIkJvb2xlYW4iLCJ2IiwicG9wIiwicmVkdWNlIiwiYyIsIm4iLCJpc05hTiIsImxlbmd0aCIsIk1hdGgiLCJtaW4iLCJOYU4iLCJhIiwiaW5kZXhPZiIsInN1YnN0cmluZyIsInJlcGxhY2UiLCJqb2luIiwiZGVjb2RlZCIsIkFuc2VyIiwiYW5zaVRvSnNvbiIsImpzb24iLCJ1c2VfY2xhc3NlcyIsInJlbW92ZV9lbXB0eSIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWNvZGVmcmFtZSIsImpzeCIsInAiLCJyb2xlIiwib25DbGljayIsInRhYkluZGV4IiwidGl0bGUiLCJzcGFuIiwiZ2V0RnJhbWVTb3VyY2UiLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsIm1ldGhvZE5hbWUiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJwYXRoIiwiZCIsInBvbHlsaW5lIiwicG9pbnRzIiwieDEiLCJ5MSIsIngyIiwieTIiLCJwcmUiLCJlbnRyeSIsImluZGV4Iiwic3R5bGUiLCJjb2xvciIsImZnIiwidW5kZWZpbmVkIiwiZGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJmb250U3R5bGUiLCJjb250ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js ***! - \***********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return _CodeFrame.CodeFrame;\n }\n}));\nconst _CodeFrame = __webpack_require__(/*! ./CodeFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBQVNBOzs7ZUFBQUEsV0FBQUEsU0FBUzs7O3VDQUFRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9pbmRleC50c3g/NGU3ZCJdLCJuYW1lcyI6WyJDb2RlRnJhbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js": -/*!************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js ***! - \************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-codeframe] {\\n overflow: auto;\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-codeframe]::selection,\\n [data-nextjs-codeframe] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-codeframe] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n\\n [data-nextjs-codeframe] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n [data-nextjs-codeframe] > div {\\n display: inline-block;\\n width: auto;\\n min-width: 100%;\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n }\\n [data-nextjs-codeframe] > div > p {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n cursor: pointer;\\n margin: 0;\\n }\\n [data-nextjs-codeframe] > div > p:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-codeframe] div > p > svg {\\n width: auto;\\n height: 1em;\\n margin-left: 8px;\\n }\\n [data-nextjs-codeframe] div > pre {\\n overflow: hidden;\\n display: inline-block;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW1EU0E7OztlQUFBQTs7OzswQ0FuRG1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy50c3g/ZDI3MSJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js ***! - \*********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Dialog\", ({\n enumerable: true,\n get: function() {\n return Dialog;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useonclickoutside = __webpack_require__(/*! ../../hooks/use-on-click-outside */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\");\nconst Dialog = function Dialog(param) {\n let { children, type, onClose, ...props } = param;\n const [dialog, setDialog] = _react.useState(null);\n const [role, setRole] = _react.useState(typeof document !== \"undefined\" && document.hasFocus() ? \"dialog\" : undefined);\n const onDialog = _react.useCallback((node)=>{\n setDialog(node);\n }, []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, (e)=>{\n e.preventDefault();\n return onClose == null ? void 0 : onClose();\n });\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect(()=>{\n if (dialog == null) {\n return;\n }\n const root = dialog.getRootNode();\n // Always true, but we do this for TypeScript:\n if (!(root instanceof ShadowRoot)) {\n return;\n }\n const shadowRoot = root;\n function handler(e) {\n const el = shadowRoot.activeElement;\n if (e.key === \"Enter\" && el instanceof HTMLElement && el.getAttribute(\"role\") === \"link\") {\n e.preventDefault();\n e.stopPropagation();\n el.click();\n }\n }\n function handleFocus() {\n // safari will force itself as the active application when a background page triggers any sort of autofocus\n // this is a workaround to only set the dialog role if the document has focus\n setRole(document.hasFocus() ? \"dialog\" : undefined);\n }\n shadowRoot.addEventListener(\"keydown\", handler);\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleFocus);\n return ()=>{\n shadowRoot.removeEventListener(\"keydown\", handler);\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleFocus);\n };\n }, [\n dialog\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n ref: onDialog,\n \"data-nextjs-dialog\": true,\n tabIndex: -1,\n role: role,\n \"aria-labelledby\": props[\"aria-labelledby\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-modal\": \"true\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-banner\": true,\n className: \"banner-\" + type\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Dialog.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7Ozs7NkVBMUZjOytDQUNXO0FBVWxDLE1BQU1BLFNBQWdDLFNBQVNBLE9BQU9DLEtBS3JEO0lBTHFELE1BQ3BEQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osR0FMcURKO0lBTXBELE1BQU0sQ0FBQ0ssUUFBUUMsVUFBVSxHQUFHQyxPQUFNQyxRQUFRLENBQXdCO0lBQ2xFLE1BQU0sQ0FBQ0MsTUFBTUMsUUFBUSxHQUFHSCxPQUFNQyxRQUFRLENBQ3BDLE9BQU9HLGFBQWEsZUFBZUEsU0FBU0MsUUFBUSxLQUNoRCxXQUNBQztJQUVOLE1BQU1DLFdBQVdQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNsQ1YsVUFBVVU7SUFDWixHQUFHLEVBQUU7SUFDTEMsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDWixRQUFRLENBQUNhO1FBQ3pCQSxFQUFFQyxjQUFjO1FBQ2hCLE9BQU9oQixXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQTtJQUNUO0lBRUEsdUVBQXVFO0lBQ3ZFLDBCQUEwQjtJQUMxQkksT0FBTWEsU0FBUyxDQUFDO1FBQ2QsSUFBSWYsVUFBVSxNQUFNO1lBQ2xCO1FBQ0Y7UUFFQSxNQUFNZ0IsT0FBT2hCLE9BQU9pQixXQUFXO1FBQy9CLDhDQUE4QztRQUM5QyxJQUFJLENBQUVELENBQUFBLGdCQUFnQkUsVUFBQUEsR0FBYTtZQUNqQztRQUNGO1FBQ0EsTUFBTUMsYUFBYUg7UUFDbkIsU0FBU0ksUUFBUVAsQ0FBZ0I7WUFDL0IsTUFBTVEsS0FBS0YsV0FBV0csYUFBYTtZQUNuQyxJQUNFVCxFQUFFVSxHQUFHLEtBQUssV0FDVkYsY0FBY0csZUFDZEgsR0FBR0ksWUFBWSxDQUFDLFlBQVksUUFDNUI7Z0JBQ0FaLEVBQUVDLGNBQWM7Z0JBQ2hCRCxFQUFFYSxlQUFlO2dCQUVqQkwsR0FBR00sS0FBSztZQUNWO1FBQ0Y7UUFFQSxTQUFTQztZQUNQLDJHQUEyRztZQUMzRyw2RUFBNkU7WUFDN0V2QixRQUFRQyxTQUFTQyxRQUFRLEtBQUssV0FBV0M7UUFDM0M7UUFFQVcsV0FBV1UsZ0JBQWdCLENBQUMsV0FBV1Q7UUFDdkNVLE9BQU9ELGdCQUFnQixDQUFDLFNBQVNEO1FBQ2pDRSxPQUFPRCxnQkFBZ0IsQ0FBQyxRQUFRRDtRQUNoQyxPQUFPO1lBQ0xULFdBQVdZLG1CQUFtQixDQUFDLFdBQVdYO1lBQzFDVSxPQUFPQyxtQkFBbUIsQ0FBQyxTQUFTSDtZQUNwQ0UsT0FBT0MsbUJBQW1CLENBQUMsUUFBUUg7UUFDckM7SUFDRixHQUFHO1FBQUM1QjtLQUFPO0lBRVgsT0FDRSxXQURGLEdBQ0UsSUFBQWdDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsS0FBSzFCO1FBQ0wyQixzQkFBa0I7UUFDbEJDLFVBQVUsQ0FBQztRQUNYakMsTUFBTUE7UUFDTmtDLG1CQUFpQnZDLEtBQUssQ0FBQyxrQkFBa0I7UUFDekN3QyxvQkFBa0J4QyxLQUFLLENBQUMsbUJBQW1CO1FBQzNDeUMsY0FBVzs7MEJBRVgsSUFBQVIsWUFBQVMsR0FBQSxFQUFDUCxPQUFBQTtnQkFBSVEsNkJBQXlCO2dCQUFDQyxXQUFXLFlBQVU5Qzs7WUFDbkREOzs7QUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nLnRzeD9lNDdkIl0sIm5hbWVzIjpbIkRpYWxvZyIsInBhcmFtIiwiY2hpbGRyZW4iLCJ0eXBlIiwib25DbG9zZSIsInByb3BzIiwiZGlhbG9nIiwic2V0RGlhbG9nIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsInJvbGUiLCJzZXRSb2xlIiwiZG9jdW1lbnQiLCJoYXNGb2N1cyIsInVuZGVmaW5lZCIsIm9uRGlhbG9nIiwidXNlQ2FsbGJhY2siLCJub2RlIiwidXNlT25DbGlja091dHNpZGUiLCJlIiwicHJldmVudERlZmF1bHQiLCJ1c2VFZmZlY3QiLCJyb290IiwiZ2V0Um9vdE5vZGUiLCJTaGFkb3dSb290Iiwic2hhZG93Um9vdCIsImhhbmRsZXIiLCJlbCIsImFjdGl2ZUVsZW1lbnQiLCJrZXkiLCJIVE1MRWxlbWVudCIsImdldEF0dHJpYnV0ZSIsInN0b3BQcm9wYWdhdGlvbiIsImNsaWNrIiwiaGFuZGxlRm9jdXMiLCJhZGRFdmVudExpc3RlbmVyIiwid2luZG93IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsInJlZiIsImRhdGEtbmV4dGpzLWRpYWxvZyIsInRhYkluZGV4IiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsImFyaWEtbW9kYWwiLCJqc3giLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyIiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js ***! - \*************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogBody\", ({\n enumerable: true,\n get: function() {\n return DialogBody;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogBody = function DialogBody(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-body\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogBody.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxhQUF3QyxTQUFTQSxXQUFXQyxLQUdqRTtJQUhpRSxNQUNoRUMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FIaUVGO0lBSWhFLE9BQ0UsV0FERixHQUNFLElBQUFHLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFBSUMsMkJBQXVCO1FBQUNKLFdBQVdBO2tCQUNyQ0Q7O0FBR1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkudHN4PzJhMmQiXSwibmFtZXMiOlsiRGlhbG9nQm9keSIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJfanN4cnVudGltZSIsImpzeCIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1ib2R5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js": -/*!****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js ***! - \****************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogContent\", ({\n enumerable: true,\n get: function() {\n return DialogContent;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogContent = function DialogContent(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-content\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogContent.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxnQkFBOEMsU0FBU0EsY0FBY0MsS0FHMUU7SUFIMEUsTUFDekVDLFFBQVEsRUFDUkMsU0FBUyxFQUNWLEdBSDBFRjtJQUl6RSxPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxHQUFBLEVBQUNDLE9BQUFBO1FBQUlDLDhCQUEwQjtRQUFDSixXQUFXQTtrQkFDeENEOztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2dDb250ZW50LnRzeD9kZDdjIl0sIm5hbWVzIjpbIkRpYWxvZ0NvbnRlbnQiLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJkaXYiLCJkYXRhLW5leHRqcy1kaWFsb2ctY29udGVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js ***! - \***************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogHeader\", ({\n enumerable: true,\n get: function() {\n return DialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogHeader = function DialogHeader(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-header\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQWtCU0E7OztlQUFBQTs7Ozs7NkVBbEJjO0FBT3ZCLE1BQU1BLGVBQTRDLFNBQVNBLGFBQWFDLEtBR3ZFO0lBSHVFLE1BQ3RFQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVixHQUh1RUY7SUFJdEUsT0FDRSxXQURGLEdBQ0UsSUFBQUcsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtRQUFJQyw2QkFBeUI7UUFBQ0osV0FBV0E7a0JBQ3ZDRDs7QUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nSGVhZGVyLnRzeD80NmY4Il0sIm5hbWVzIjpbIkRpYWxvZ0hlYWRlciIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJfanN4cnVudGltZSIsImpzeCIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1oZWFkZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js ***! - \********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Dialog: function() {\n return _Dialog.Dialog;\n },\n DialogBody: function() {\n return _DialogBody.DialogBody;\n },\n DialogContent: function() {\n return _DialogContent.DialogContent;\n },\n DialogHeader: function() {\n return _DialogHeader.DialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _Dialog = __webpack_require__(/*! ./Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\");\nconst _DialogBody = __webpack_require__(/*! ./DialogBody */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\");\nconst _DialogContent = __webpack_require__(/*! ./DialogContent */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\");\nconst _DialogHeader = __webpack_require__(/*! ./DialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxRQUFNO2VBQU5BLFFBQUFBLE1BQU07O0lBQ05DLFlBQVU7ZUFBVkEsWUFBQUEsVUFBVTs7SUFDVkMsZUFBYTtlQUFiQSxlQUFBQSxhQUFhOztJQUNiQyxjQUFZO2VBQVpBLGNBQUFBLFlBQVk7O0lBQ1pDLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7O29DQUpRO3dDQUNJOzJDQUNHOzBDQUNEO29DQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9pbmRleC50cz85ZjM3Il0sIm5hbWVzIjpbIkRpYWxvZyIsIkRpYWxvZ0JvZHkiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwic3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js ***! - \*********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog] {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n outline: none;\\n background: var(--color-background);\\n border-radius: var(--size-gap);\\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\\n rgba(0, 0, 0, 0.25);\\n max-height: calc(100% - 56px);\\n overflow-y: hidden;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n max-height: calc(100% - 15px);\\n }\\n }\\n\\n @media (min-width: 576px) {\\n [data-nextjs-dialog] {\\n max-width: 540px;\\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\\n }\\n }\\n\\n @media (min-width: 768px) {\\n [data-nextjs-dialog] {\\n max-width: 720px;\\n }\\n }\\n\\n @media (min-width: 992px) {\\n [data-nextjs-dialog] {\\n max-width: 960px;\\n }\\n }\\n\\n [data-nextjs-dialog-banner] {\\n position: relative;\\n }\\n [data-nextjs-dialog-banner].banner-warning {\\n border-color: var(--color-ansi-yellow);\\n }\\n [data-nextjs-dialog-banner].banner-error {\\n border-color: var(--color-ansi-red);\\n }\\n\\n [data-nextjs-dialog-banner]::after {\\n z-index: 2;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 100%;\\n /* banner width: */\\n border-top-width: var(--size-gap-half);\\n border-bottom-width: 0;\\n border-top-style: solid;\\n border-bottom-style: solid;\\n border-top-color: inherit;\\n border-bottom-color: transparent;\\n }\\n\\n [data-nextjs-dialog-content] {\\n overflow-y: auto;\\n border: none;\\n margin: 0;\\n /* calc(padding + banner width offset) */\\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\\n var(--size-gap-double);\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\\n flex-shrink: 0;\\n margin-bottom: var(--size-gap-double);\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\\n position: relative;\\n flex: 1 1 auto;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7OzswQ0ExRm1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy50cz8wOTAyIl0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": -/*!***************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! - \***************************************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"LeftRightDialogHeader\", ({\n enumerable: true,\n get: function() {\n return LeftRightDialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _CloseIcon = __webpack_require__(/*! ../../icons/CloseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst LeftRightDialogHeader = function LeftRightDialogHeader(param) {\n let { children, className, previous, next, close } = param;\n const buttonLeft = _react.useRef(null);\n const buttonRight = _react.useRef(null);\n const buttonClose = _react.useRef(null);\n const [nav, setNav] = _react.useState(null);\n const onNav = _react.useCallback((el)=>{\n setNav(el);\n }, []);\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n const d = self.document;\n function handler(e) {\n if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (a && a !== buttonClose.current && a instanceof HTMLElement) {\n a.blur();\n return;\n }\n }\n close == null ? void 0 : close();\n }\n }\n root.addEventListener(\"keydown\", handler);\n if (root !== d) {\n d.addEventListener(\"keydown\", handler);\n }\n return function() {\n root.removeEventListener(\"keydown\", handler);\n if (root !== d) {\n d.removeEventListener(\"keydown\", handler);\n }\n };\n }, [\n close,\n nav,\n next,\n previous\n ]);\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (previous == null) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur();\n }\n } else if (next == null) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur();\n }\n }\n }\n }, [\n nav,\n next,\n previous\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-left-right\": true,\n className: className,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"nav\", {\n ref: onNav,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonLeft,\n type: \"button\",\n disabled: previous == null ? true : undefined,\n \"aria-disabled\": previous == null ? true : undefined,\n onClick: previous != null ? previous : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"previous\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonRight,\n type: \"button\",\n disabled: next == null ? true : undefined,\n \"aria-disabled\": next == null ? true : undefined,\n onClick: next != null ? next : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"next\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n children\n ]\n }),\n close ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-errors-dialog-left-right-close-button\": true,\n ref: buttonClose,\n type: \"button\",\n onClick: close,\n \"aria-label\": \"Close\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"aria-hidden\": \"true\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n }) : null\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=LeftRightDialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O3lEQXdLU0E7OztlQUFBQTs7Ozs7NkVBeEtjO3VDQUNHO0FBVTFCLE1BQU1BLHdCQUNKLFNBQVNBLHNCQUFzQkMsS0FNOUI7SUFOOEIsTUFDN0JDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsS0FBSyxFQUNOLEdBTjhCTDtJQU83QixNQUFNTSxhQUFhQyxPQUFNQyxNQUFNLENBQTJCO0lBQzFELE1BQU1DLGNBQWNGLE9BQU1DLE1BQU0sQ0FBMkI7SUFDM0QsTUFBTUUsY0FBY0gsT0FBTUMsTUFBTSxDQUEyQjtJQUUzRCxNQUFNLENBQUNHLEtBQUtDLE9BQU8sR0FBR0wsT0FBTU0sUUFBUSxDQUFxQjtJQUN6RCxNQUFNQyxRQUFRUCxPQUFNUSxXQUFXLENBQUMsQ0FBQ0M7UUFDL0JKLE9BQU9JO0lBQ1QsR0FBRyxFQUFFO0lBRUxULE9BQU1VLFNBQVMsQ0FBQztRQUNkLElBQUlOLE9BQU8sTUFBTTtZQUNmO1FBQ0Y7UUFFQSxNQUFNTyxPQUFPUCxJQUFJUSxXQUFXO1FBQzVCLE1BQU1DLElBQUlDLEtBQUtDLFFBQVE7UUFFdkIsU0FBU0MsUUFBUUMsQ0FBZ0I7WUFDL0IsSUFBSUEsRUFBRUMsR0FBRyxLQUFLLGFBQWE7Z0JBQ3pCRCxFQUFFRSxjQUFjO2dCQUNoQkYsRUFBRUcsZUFBZTtnQkFDakIsSUFBSXJCLFdBQVdzQixPQUFPLEVBQUU7b0JBQ3RCdEIsV0FBV3NCLE9BQU8sQ0FBQ0MsS0FBSztnQkFDMUI7Z0JBQ0ExQixZQUFZQTtZQUNkLE9BQU8sSUFBSXFCLEVBQUVDLEdBQUcsS0FBSyxjQUFjO2dCQUNqQ0QsRUFBRUUsY0FBYztnQkFDaEJGLEVBQUVH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QUVOLElBQUFmLFlBQUFLLEdBQUEsRUFBQ1csU0FBQUE7OENBQU07OzhDQUNQLElBQUFoQixZQUFBSyxHQUFBLEVBQUNZLFFBQUFBO29DQUNDbEMsR0FBRTtvQ0FDRm1DLFFBQU87b0NBQ1BDLGFBQVk7b0NBQ1pDLGVBQWM7b0NBQ2RDLGdCQUFlOzs7OztvQkFJcEJ6RDs7O1lBRUZJLFFBQ0MsV0FEREEsR0FDQyxJQUFBZ0MsWUFBQUssR0FBQSxFQUFDQyxVQUFBQTtnQkFDQ2dCLHFEQUFpRDtnQkFDakRsQixLQUFLL0I7Z0JBQ0xrQyxNQUFLO2dCQUNMSSxTQUFTM0M7Z0JBQ1R1RCxjQUFXOzBCQUVYLGtCQUFBdkIsWUFBQUssR0FBQSxFQUFDbUIsUUFBQUE7b0JBQUtDLGVBQVk7OEJBQ2hCLGtCQUFBekIsWUFBQUssR0FBQSxFQUFDcUIsV0FBQUEsU0FBUzs7aUJBR1o7OztBQUdWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9MZWZ0UmlnaHREaWFsb2dIZWFkZXIudHN4PzQxMjEiXSwibmFtZXMiOlsiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsInByZXZpb3VzIiwibmV4dCIsImNsb3NlIiwiYnV0dG9uTGVmdCIsIlJlYWN0IiwidXNlUmVmIiwiYnV0dG9uUmlnaHQiLCJidXR0b25DbG9zZSIsIm5hdiIsInNldE5hdiIsInVzZVN0YXRlIiwib25OYXYiLCJ1c2VDYWxsYmFjayIsImVsIiwidXNlRWZmZWN0Iiwicm9vdCIsImdldFJvb3ROb2RlIiwiZCIsInNlbGYiLCJkb2N1bWVudCIsImhhbmRsZXIiLCJlIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJjdXJyZW50IiwiZm9jdXMiLCJTaGFkb3dSb290IiwiYSIsImFjdGl2ZUVsZW1lbnQiLCJIVE1MRWxlbWVudCIsImJsdXIiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0IiwicmVmIiwianN4IiwiYnV0dG9uIiwidHlwZSIsImRpc2FibGVkIiwidW5kZWZpbmVkIiwiYXJpYS1kaXNhYmxlZCIsIm9uQ2xpY2siLCJzdmciLCJ2aWV3Qm94IiwiZmlsbCIsInhtbG5zIiwidGl0bGUiLCJwYXRoIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkYXRhLW5leHRqcy1lcnJvcnMtZGlhbG9nLWxlZnQtcmlnaHQtY2xvc2UtYnV0dG9uIiwiYXJpYS1sYWJlbCIsInNwYW4iLCJhcmlhLWhpZGRlbiIsIkNsb3NlSWNvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js ***! - \***********************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n LeftRightDialogHeader: function() {\n return _LeftRightDialogHeader.LeftRightDialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _LeftRightDialogHeader = __webpack_require__(/*! ./LeftRightDialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSx1QkFBcUI7ZUFBckJBLHVCQUFBQSxxQkFBcUI7O0lBQ3JCQyxRQUFNO2VBQU5BLFFBQUFBLE1BQU07OzttREFEdUI7b0NBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LnRzPzYxMzMiXSwibmFtZXMiOlsiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwic3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js": -/*!************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js ***! - \************************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-left-right] {\\n display: flex;\\n flex-direction: row;\\n align-content: center;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-nextjs-dialog-left-right] > nav {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-dialog-left-right] > nav > button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n width: calc(var(--size-gap-double) + var(--size-gap));\\n height: calc(var(--size-gap-double) + var(--size-gap));\\n font-size: 0;\\n border: none;\\n background-color: rgba(255, 85, 85, 0.1);\\n color: var(--color-ansi-red);\\n cursor: pointer;\\n transition: background-color 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > nav > button > svg {\\n width: auto;\\n height: calc(var(--size-gap) + var(--size-gap-half));\\n }\\n [data-nextjs-dialog-left-right] > nav > button:hover {\\n background-color: rgba(255, 85, 85, 0.2);\\n }\\n [data-nextjs-dialog-left-right] > nav > button:disabled {\\n background-color: rgba(255, 85, 85, 0.1);\\n color: rgba(255, 85, 85, 0.4);\\n cursor: not-allowed;\\n }\\n\\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\\n margin-right: 1px;\\n }\\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\\n }\\n\\n [data-nextjs-dialog-left-right] > button:last-of-type {\\n border: 0;\\n padding: 0;\\n\\n background-color: transparent;\\n appearance: none;\\n\\n opacity: 0.4;\\n transition: opacity 0.25s ease;\\n\\n color: var(--color-font);\\n }\\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\\n opacity: 0.7;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW9FU0E7OztlQUFBQTs7OzswQ0FwRW1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy50cz82ZDg0Il0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js ***! - \***********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return Overlay;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _maintaintabfocus = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./maintain--tab-focus */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _bodylocker = __webpack_require__(/*! ./body-locker */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\");\nconst Overlay = function Overlay(param) {\n let { className, children, fixed } = param;\n _react.useEffect(()=>{\n (0, _bodylocker.lock)();\n return ()=>{\n (0, _bodylocker.unlock)();\n };\n }, []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback((el)=>{\n setOverlay(el);\n }, []);\n _react.useEffect(()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ()=>{\n handle2.disengage();\n };\n }, [\n overlay\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-overlay\": true,\n className: className,\n ref: onOverlay,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-backdrop\": true,\n \"data-nextjs-dialog-backdrop-fixed\": fixed ? true : undefined\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Overlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBaURTQTs7O2VBQUFBOzs7Ozs7dUZBakRZOzZFQUNFO3dDQUNNO0FBUTdCLE1BQU1BLFVBQWtDLFNBQVNBLFFBQVFDLEtBSXhEO0lBSndELE1BQ3ZEQyxTQUFTLEVBQ1RDLFFBQVEsRUFDUkMsS0FBSyxFQUNOLEdBSndESDtJQUt2REksT0FBTUMsU0FBUyxDQUFDO1FBQ2RDLENBQUFBLEdBQUFBLFlBQUFBLElBQUk7UUFDSixPQUFPO1lBQ0xDLENBQUFBLEdBQUFBLFlBQUFBLE1BQU07UUFDUjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHTCxPQUFNTSxRQUFRLENBQXdCO0lBQ3BFLE1BQU1DLFlBQVlQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNuQ0osV0FBV0k7SUFDYixHQUFHLEVBQUU7SUFFTFQsT0FBTUMsU0FBUyxDQUFDO1FBQ2QsSUFBSUcsV0FBVyxNQUFNO1lBQ25CO1FBQ0Y7UUFFQSxNQUFNTSxVQUFVQyxDQUFBQSxHQUFBQSxrQkFBQUEsT0FBUSxFQUFDO1lBQUVDLFNBQVNSO1FBQVE7UUFDNUMsT0FBTztZQUNMTSxRQUFRRyxTQUFTO1FBQ25CO0lBQ0YsR0FBRztRQUFDVDtLQUFRO0lBRVosT0FDRSxXQURGLEdBQ0UsSUFBQVUsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUFJQyw4QkFBMEI7UUFBQ3BCLFdBQVdBO1FBQVdxQixLQUFLWDs7MEJBQ3pELElBQUFPLFlBQUFLLEdBQUEsRUFBQ0gsT0FBQUE7Z0JBQ0NJLCtCQUEyQjtnQkFDM0JDLHFDQUFtQ3RCLFFBQVEsT0FBT3VCOztZQUVuRHhCOzs7QUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L092ZXJsYXkudHN4PzViYTQiXSwibmFtZXMiOlsiT3ZlcmxheSIsInBhcmFtIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJmaXhlZCIsIlJlYWN0IiwidXNlRWZmZWN0IiwibG9jayIsInVubG9jayIsIm92ZXJsYXkiLCJzZXRPdmVybGF5IiwidXNlU3RhdGUiLCJvbk92ZXJsYXkiLCJ1c2VDYWxsYmFjayIsImVsIiwiaGFuZGxlMiIsImFsbHlUcmFwIiwiY29udGV4dCIsImRpc2VuZ2FnZSIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1vdmVybGF5IiwicmVmIiwianN4IiwiZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wIiwiZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wLWZpeGVkIiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js ***! - \***************************************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n lock: function() {\n return lock;\n },\n unlock: function() {\n return unlock;\n }\n});\nlet previousBodyPaddingRight;\nlet previousBodyOverflowSetting;\nlet activeLocks = 0;\nfunction lock() {\n setTimeout(()=>{\n if (activeLocks++ > 0) {\n return;\n }\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = \"\" + scrollBarGap + \"px\";\n }\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n });\n}\nfunction unlock() {\n setTimeout(()=>{\n if (activeLocks === 0 || --activeLocks !== 0) {\n return;\n }\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n previousBodyPaddingRight = undefined;\n }\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n previousBodyOverflowSetting = undefined;\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=body-locker.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFLZ0JBLE1BQUk7ZUFBSkE7O0lBbUJBQyxRQUFNO2VBQU5BOzs7QUF4QmhCLElBQUlDO0FBQ0osSUFBSUM7QUFFSixJQUFJQyxjQUFjO0FBRVgsU0FBU0o7SUFDZEssV0FBVztRQUNULElBQUlELGdCQUFnQixHQUFHO1lBQ3JCO1FBQ0Y7UUFFQSxNQUFNRSxlQUNKQyxPQUFPQyxVQUFVLEdBQUdDLFNBQVNDLGVBQWUsQ0FBQ0MsV0FBVztRQUUxRCxJQUFJTCxlQUFlLEdBQUc7WUFDcEJKLDJCQUEyQk8sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVk7WUFDM0RMLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZLEdBQUcsS0FBR1IsZUFBYTtRQUNyRDtRQUVBSCw4QkFBOEJNLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRO1FBQzFETixTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUSxHQUFHO0lBQ2pDO0FBQ0Y7QUFFTyxTQUFTZDtJQUNkSSxXQUFXO1FBQ1QsSUFBSUQsZ0JBQWdCLEtBQUssRUFBRUEsZ0JBQWdCLEdBQUc7WUFDNUM7UUFDRjtRQUVBLElBQUlGLDZCQUE2QmMsV0FBVztZQUMxQ1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksR0FBR1o7WUFDbkNBLDJCQUEyQmM7UUFDN0I7UUFFQSxJQUFJYixnQ0FBZ0NhLFdBQVc7WUFDN0NQLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRLEdBQUdaO1lBQy9CQSw4QkFBOEJhO1FBQ2hDO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L2JvZHktbG9ja2VyLnRzP2EwMjIiXSwibmFtZXMiOlsibG9jayIsInVubG9jayIsInByZXZpb3VzQm9keVBhZGRpbmdSaWdodCIsInByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZyIsImFjdGl2ZUxvY2tzIiwic2V0VGltZW91dCIsInNjcm9sbEJhckdhcCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsaWVudFdpZHRoIiwiYm9keSIsInN0eWxlIiwicGFkZGluZ1JpZ2h0Iiwib3ZlcmZsb3ciLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js ***! - \*********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return _Overlay.Overlay;\n }\n}));\nconst _Overlay = __webpack_require__(/*! ./Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQUFTQTs7O2VBQUFBLFNBQUFBLE9BQU87OztxQ0FBUSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L2luZGV4LnRzeD83NzVhIl0sIm5hbWVzIjpbIk92ZXJsYXkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js ***! - \***********************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* eslint-disable */ // @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _platform = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/platform */ \"(ssr)/./node_modules/next/dist/compiled/platform/platform.js\"));\nconst _cssescape = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/css.escape */ \"(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js\"));\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [\n input\n ];\n }\n if (typeof input === \"string\") {\n input = document.querySelectorAll(input);\n }\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n throw new TypeError(\"unexpected input \" + String(input));\n}\nfunction contextToElement(_ref) {\n var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? \"context-to-element\" : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument;\n var element = nodeArray(context)[0];\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement;\n }\n if (!element && defaultToDocument) {\n return document.documentElement;\n }\n if (!element) {\n throw new TypeError(label + \" requires valid options.context\");\n }\n if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n throw new TypeError(label + \" requires options.context to be an Element\");\n }\n return element;\n}\nfunction getShadowHost() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var element = contextToElement({\n label: \"get/shadow-host\",\n context: context\n });\n // walk up to the root\n var container = null;\n while(element){\n container = element;\n element = element.parentNode;\n }\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) {\n // the root is attached to a fragment node that has a host\n return container.host;\n }\n return null;\n}\nfunction getDocument(node) {\n if (!node) {\n return document;\n }\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node;\n }\n return node.ownerDocument || document;\n}\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: \"is/active-element\",\n resolveDocument: true,\n context: context\n });\n var _document = getDocument(element);\n if (_document.activeElement === element) {\n return true;\n }\n var shadowHost = getShadowHost({\n context: element\n });\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true;\n }\n return false;\n}\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var list = [];\n var element = contextToElement({\n label: \"get/parents\",\n context: context\n });\n while(element){\n list.push(element);\n // IE does know support parentElement on SVGElement\n element = element.parentNode;\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null;\n }\n }\n return list;\n}\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\nvar names = [\n \"matches\",\n \"webkitMatchesSelector\",\n \"mozMatchesSelector\",\n \"msMatchesSelector\"\n];\nvar name = null;\nfunction findMethodName(element) {\n names.some(function(_name) {\n if (!element[_name]) {\n return false;\n }\n name = _name;\n return true;\n });\n}\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element);\n }\n return element[name](selector);\n}\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform.default));\n// operating system\nvar os = platform.os.family || \"\";\nvar ANDROID = os === \"Android\";\nvar WINDOWS = os.slice(0, 7) === \"Windows\";\nvar OSX = os === \"OS X\";\nvar IOS = os === \"iOS\";\n// layout\nvar BLINK = platform.layout === \"Blink\";\nvar GECKO = platform.layout === \"Gecko\";\nvar TRIDENT = platform.layout === \"Trident\";\nvar EDGE = platform.layout === \"EdgeHTML\";\nvar WEBKIT = platform.layout === \"WebKit\";\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version);\nvar majorVersion = Math.floor(version);\nplatform.majorVersion = majorVersion;\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK,\n GECKO: GECKO,\n TRIDENT: TRIDENT,\n EDGE: EDGE,\n WEBKIT: WEBKIT,\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11\n};\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft\n };\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"style\", \"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");\n iframe.setAttribute(\"aria-live\", \"off\");\n iframe.setAttribute(\"aria-busy\", \"true\");\n iframe.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(iframe);\n var _window = iframe.contentWindow;\n var _document = _window.document;\n _document.open();\n _document.close();\n var wrapper = _document.createElement(\"div\");\n _document.body.appendChild(wrapper);\n data.iframe = iframe;\n data.wrapper = wrapper;\n data.window = _window;\n data.document = _document;\n return data;\n}\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = \"\";\n // create dummy element to test focusability of\n var element = typeof options.element === \"string\" ? data.document.createElement(options.element) : options.element(data.wrapper, data.document);\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus = options.mutate && options.mutate(element, data.wrapper, data.document);\n if (!focus && focus !== false) {\n focus = element;\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element);\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus();\n // validate test's result\n return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus;\n}\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement && document.activeElement.blur && document.activeElement.blur();\n if (platform.is.IE10) {\n // IE10 does not redirect focus to <body> when the activeElement is removed\n document.body.focus();\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus();\n }\n document.body.removeChild(data.iframe);\n // restore scroll position\n window.scrollTop = data.windowScrollTop;\n window.scrollLeft = data.windowScrollLeft;\n document.body.scrollTop = data.bodyScrollTop;\n document.body.scrollLeft = data.bodyScrollLeft;\n}\nfunction detectFocus(tests) {\n var data = before();\n var results = {};\n Object.keys(tests).map(function(key) {\n results[key] = test(data, tests[key]);\n });\n after(data);\n return results;\n}\n// this file is overwritten by `npm run build:pre`\nvar version$1 = \"1.4.1\";\n/*\n Facility to cache test results in localStorage.\n\n USAGE:\n cache.get('key');\n cache.set('key', 'value');\n */ function readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0;\n try {\n data = window.localStorage && window.localStorage.getItem(key);\n data = data ? JSON.parse(data) : {};\n } catch (e) {\n data = {};\n }\n return data;\n}\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key);\n } catch (e) {\n // ignore\n }\n return;\n }\n try {\n window.localStorage && window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n // ignore\n }\n}\nvar userAgent = false || \"\";\nvar cacheKey = \"ally-supports-cache\";\nvar cache = readLocalStorage(cacheKey);\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {};\n}\ncache.userAgent = userAgent;\ncache.version = version$1;\nvar cache$1 = {\n get: function get() {\n return cache;\n },\n set: function set(values) {\n Object.keys(values).forEach(function(key) {\n cache[key] = values[key];\n });\n cache.time = new Date().toISOString();\n writeLocalStorage(cacheKey, cache);\n }\n};\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0;\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector(\"html >>> :first-child\");\n combinator = \">>>\";\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector(\"html /deep/ :first-child\");\n combinator = \"/deep/\";\n } catch (noDeep) {\n combinator = \"\";\n }\n }\n return combinator;\n}\nvar gif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area href=\"#void\" tabindex=\"-1\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" alt=\"\" src=\"' + gif + '\">';\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n var focus = element.querySelector(\"area\");\n focus.focus();\n return _document.activeElement === focus;\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaWithoutHref = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-area-href-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-area-href-test\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n return _document.activeElement === focusTarget;\n }\n};\nvar focusAudioWithoutControls = {\n name: \"can-focus-audio-without-controls\",\n element: \"audio\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\nvar invalidGif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\";\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusBrokenImageMap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"broken-image-map-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#broken-image-map-test\" alt=\"\" src=\"' + invalidGif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// Children of focusable elements with display:flex are focusable in IE10-11\nvar focusChildrenOfFocusableFlexbox = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n return element.querySelector(\"span\");\n }\n};\n// fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree\n// @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\n// @browser-issue Chromium https://crbug.com/453847\n// @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086\nvar focusFieldsetDisabled = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\nvar focusFieldset = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = \"<legend>legend</legend><p>content</p>\";\n }\n};\n// elements with display:flex are focusable in IE10-11\nvar focusFlexboxContainer = {\n element: \"span\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n }\n};\n// form[tabindex=0][disabled] should be focusable as the\n// specification doesn't know the disabled attribute on the form element\n// @specification https://www.w3.org/TR/html5/forms.html#the-form-element\nvar focusFormDisabled = {\n element: \"form\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// fixes https://github.com/medialize/ally.js/issues/20\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-ismap\nvar focusImgIsmap = {\n element: \"a\",\n mutate: function mutate(element) {\n element.href = \"#void\";\n element.innerHTML = '<img ismap src=\"' + gif + '\" alt=\"\">';\n return element.querySelector(\"img\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusImgUsemapTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" ' + 'src=\"' + gif + '\">';\n return element.querySelector(\"img\");\n }\n};\nvar focusInHiddenIframe = {\n element: function element(wrapper, _document) {\n var iframe = _document.createElement(\"iframe\");\n // iframe must be part of the DOM before accessing the contentWindow is possible\n wrapper.appendChild(iframe);\n // create the iframe's default document (<html><head></head><body></body></html>)\n var iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.close();\n return iframe;\n },\n mutate: function mutate(iframe) {\n iframe.style.visibility = \"hidden\";\n var iframeDocument = iframe.contentWindow.document;\n var input = iframeDocument.createElement(\"input\");\n iframeDocument.body.appendChild(input);\n return input;\n },\n validate: function validate(iframe) {\n var iframeDocument = iframe.contentWindow.document;\n var focus = iframeDocument.querySelector(\"input\");\n return iframeDocument.activeElement === focus;\n }\n};\nvar result = !platform.is.WEBKIT;\nfunction focusInZeroDimensionObject() {\n return result;\n}\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusInvalidTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"invalid-value\");\n }\n};\nvar focusLabelTabindex = {\n element: \"label\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n },\n validate: function validate(element, focusTarget, _document) {\n // force layout in Chrome 49, otherwise the element won't be focusable\n /* eslint-disable no-unused-vars */ var variableToPreventDeadCodeElimination = element.offsetHeight;\n /* eslint-enable no-unused-vars */ element.focus();\n return _document.activeElement === element;\n }\n};\nvar svg = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb\" + \"G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ\" + \"zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==\";\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvgHidden = {\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n element.style.visibility = \"hidden\";\n }\n};\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvg = {\n name: \"can-focus-object-svg\",\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result.\n // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string\n return true;\n }\n return _document.activeElement === element;\n }\n};\n// Every Environment except IE9 considers SWF objects focusable\nvar result$1 = !platform.is.IE9;\nfunction focusObjectSwf() {\n return result$1;\n}\nvar focusRedirectImgUsemap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"focus-redirect-img-usemap\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#focus-redirect-img-usemap\" alt=\"\" ' + 'src=\"' + gif + '\">';\n // focus the <img>, not the <div>\n return element.querySelector(\"img\");\n },\n validate: function validate(element, focusTarget, _document) {\n var target = element.querySelector(\"area\");\n return _document.activeElement === target;\n }\n};\n// see https://jsbin.com/nenirisage/edit?html,js,console,output\nvar focusRedirectLegend = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = '<legend>legend</legend><input tabindex=\"-1\"><input tabindex=\"0\">';\n // take care of focus in validate();\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n var focusable = element.querySelector('input[tabindex=\"-1\"]');\n var tabbable = element.querySelector('input[tabindex=\"0\"]');\n // Firefox requires this test to focus the <fieldset> first, while this is not necessary in\n // https://jsbin.com/nenirisage/edit?html,js,console,output\n element.focus();\n element.querySelector(\"legend\").focus();\n return _document.activeElement === focusable && \"focusable\" || _document.activeElement === tabbable && \"tabbable\" || \"\";\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollBody = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n return element.querySelector(\"div\");\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainerWithoutOverflow = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainer = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\nvar focusSummary = {\n element: \"details\",\n mutate: function mutate(element) {\n element.innerHTML = \"<summary>foo</summary><p>content</p>\";\n return element.firstElementChild;\n }\n};\nfunction makeFocusableForeignObject() {\n // Constructs <foreignObject width=\"30\" height=\"30\"><input type=\"text\"/></foreignObject>\n // without raising a Trusted Types violation\n var foreignObject = document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\");\n foreignObject.width.baseVal.value = 30;\n foreignObject.height.baseVal.value = 30;\n foreignObject.appendChild(document.createElement(\"input\"));\n foreignObject.lastChild.type = \"text\";\n return foreignObject;\n}\nfunction focusSvgForeignObjectHack(element) {\n // Edge13, Edge14: foreignObject focus hack\n // https://jsbin.com/kunehinugi/edit?html,js,output\n // https://jsbin.com/fajagi/3/edit?html,js,output\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (!isSvgElement) {\n return false;\n }\n // inject and focus an <input> element into the SVG element to receive focus\n var foreignObject = makeFocusableForeignObject();\n element.appendChild(foreignObject);\n var input = foreignObject.querySelector(\"input\");\n input.focus();\n // upon disabling the activeElement, IE and Edge\n // will not shift focus to <body> like all the other\n // browsers, but instead find the first focusable\n // ancestor and shift focus to that\n input.disabled = true;\n // clean up\n element.removeChild(foreignObject);\n return true;\n}\nfunction generate(element) {\n return '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">' + element + \"</svg>\";\n}\nfunction focus(element) {\n if (element.focus) {\n return;\n }\n try {\n HTMLElement.prototype.focus.call(element);\n } catch (e) {\n focusSvgForeignObjectHack(element);\n }\n}\nfunction validate(element, focusTarget, _document) {\n focus(focusTarget);\n return _document.activeElement === focusTarget;\n}\nvar focusSvgFocusableAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text focusable=\"true\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"0\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgNegativeTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"-1\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgUseTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate([\n '<g id=\"ally-test-target\"><a xlink:href=\"#void\"><text>link</text></a></g>',\n '<use xlink:href=\"#ally-test-target\" x=\"0\" y=\"0\" tabindex=\"-1\" />'\n ].join(\"\"));\n return element.querySelector(\"use\");\n },\n validate: validate\n};\nvar focusSvgForeignobjectTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<foreignObject tabindex=\"-1\"><input type=\"text\" /></foreignObject>');\n // Safari 8's querySelector() can't identify foreignObject, but getElementsByTagName() can\n return element.querySelector(\"foreignObject\") || element.getElementsByTagName(\"foreignObject\")[0];\n },\n validate: validate\n};\n// Firefox seems to be handling the SVG-document-in-iframe creation asynchronously\n// and thereby produces a false negative test result. Thus the test is pointless\n// and we resort to UA sniffing once again.\n// see http://jsbin.com/vunadohoko/1/edit?js,console,output\nvar result$2 = Boolean(platform.is.GECKO && typeof SVGElement !== \"undefined\" && SVGElement.prototype.focus);\nfunction focusSvgInIframe() {\n return result$2;\n}\nvar focusSvg = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate(\"\");\n return element.firstChild;\n },\n validate: validate\n};\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusTabindexTrailingCharacters = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"3x\");\n }\n};\nvar focusTable = {\n element: \"table\",\n mutate: function mutate(element, wrapper, _document) {\n // IE9 has a problem replacing TBODY contents with innerHTML.\n // https://stackoverflow.com/a/8097055/515124\n // element.innerHTML = '<tr><td>cell</td></tr>';\n var fragment = _document.createDocumentFragment();\n fragment.innerHTML = \"<tr><td>cell</td></tr>\";\n element.appendChild(fragment);\n }\n};\nvar focusVideoWithoutControls = {\n element: \"video\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\n// https://jsbin.com/vafaba/3/edit?html,js,console,output\nvar result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE;\nfunction tabsequenceAreaAtImgPosition() {\n return result$3;\n}\nvar testCallbacks = {\n cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator,\n focusInZeroDimensionObject: focusInZeroDimensionObject,\n focusObjectSwf: focusObjectSwf,\n focusSvgInIframe: focusSvgInIframe,\n tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition\n};\nvar testDescriptions = {\n focusAreaImgTabindex: focusAreaImgTabindex,\n focusAreaTabindex: focusAreaTabindex,\n focusAreaWithoutHref: focusAreaWithoutHref,\n focusAudioWithoutControls: focusAudioWithoutControls,\n focusBrokenImageMap: focusBrokenImageMap,\n focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox,\n focusFieldsetDisabled: focusFieldsetDisabled,\n focusFieldset: focusFieldset,\n focusFlexboxContainer: focusFlexboxContainer,\n focusFormDisabled: focusFormDisabled,\n focusImgIsmap: focusImgIsmap,\n focusImgUsemapTabindex: focusImgUsemapTabindex,\n focusInHiddenIframe: focusInHiddenIframe,\n focusInvalidTabindex: focusInvalidTabindex,\n focusLabelTabindex: focusLabelTabindex,\n focusObjectSvg: focusObjectSvg,\n focusObjectSvgHidden: focusObjectSvgHidden,\n focusRedirectImgUsemap: focusRedirectImgUsemap,\n focusRedirectLegend: focusRedirectLegend,\n focusScrollBody: focusScrollBody,\n focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow,\n focusScrollContainer: focusScrollContainer,\n focusSummary: focusSummary,\n focusSvgFocusableAttribute: focusSvgFocusableAttribute,\n focusSvgTabindexAttribute: focusSvgTabindexAttribute,\n focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute,\n focusSvgUseTabindex: focusSvgUseTabindex,\n focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex,\n focusSvg: focusSvg,\n focusTabindexTrailingCharacters: focusTabindexTrailingCharacters,\n focusTable: focusTable,\n focusVideoWithoutControls: focusVideoWithoutControls\n};\nfunction executeTests() {\n var results = detectFocus(testDescriptions);\n Object.keys(testCallbacks).forEach(function(key) {\n results[key] = testCallbacks[key]();\n });\n return results;\n}\nvar supportsCache = null;\nfunction _supports() {\n if (supportsCache) {\n return supportsCache;\n }\n supportsCache = cache$1.get();\n if (!supportsCache.time) {\n cache$1.set(executeTests());\n supportsCache = cache$1.get();\n }\n return supportsCache;\n}\nvar supports = void 0;\n// https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers\n// NOTE: all browsers agree to allow trailing spaces as well\nvar validIntegerPatternNoTrailing = /^\\s*(-|\\+)?[0-9]+\\s*$/;\nvar validIntegerPatternWithTrailing = /^\\s*(-|\\+)?[0-9]+.*$/;\nfunction isValidTabindex(context) {\n if (!supports) {\n supports = _supports();\n }\n var validIntegerPattern = supports.focusTabindexTrailingCharacters ? validIntegerPatternWithTrailing : validIntegerPatternNoTrailing;\n var element = contextToElement({\n label: \"is/valid-tabindex\",\n resolveDocument: true,\n context: context\n });\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var hasTabIndex = element.hasAttribute(\"tabIndex\");\n if (!hasTabindex && !hasTabIndex) {\n return false;\n }\n // older Firefox and Internet Explorer don't support tabindex on SVG elements\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (isSvgElement && !supports.focusSvgTabindexAttribute) {\n return false;\n }\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n if (supports.focusInvalidTabindex) {\n return true;\n }\n // an element matches the tabindex selector even if its value is invalid\n var tabindex = element.getAttribute(hasTabindex ? \"tabindex\" : \"tabIndex\");\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965\n if (tabindex === \"-32768\") {\n return false;\n }\n return Boolean(tabindex && validIntegerPattern.test(tabindex));\n}\nfunction tabindexValue(element) {\n if (!isValidTabindex(element)) {\n return null;\n }\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var attributeName = hasTabindex ? \"tabindex\" : \"tabIndex\";\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n var tabindex = parseInt(element.getAttribute(attributeName), 10);\n return isNaN(tabindex) ? -1 : tabindex;\n}\n// this is a shared utility file for focus-relevant.js and tabbable.js\n// separate testing of this file's functions is not necessary,\n// as they're implicitly tested by way of the consumers\nfunction isUserModifyWritable(style) {\n // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify\n // https://github.com/medialize/ally.js/issues/17\n var userModify = style.webkitUserModify || \"\";\n return Boolean(userModify && userModify.indexOf(\"write\") !== -1);\n}\nfunction hasCssOverflowScroll(style) {\n return [\n style.getPropertyValue(\"overflow\"),\n style.getPropertyValue(\"overflow-x\"),\n style.getPropertyValue(\"overflow-y\")\n ].some(function(overflow) {\n return overflow === \"auto\" || overflow === \"scroll\";\n });\n}\nfunction hasCssDisplayFlex(style) {\n return style.display.indexOf(\"flex\") > -1;\n}\nfunction isScrollableContainer(element, nodeName, parentNodeName, parentStyle) {\n if (nodeName !== \"div\" && nodeName !== \"span\") {\n // Internet Explorer advances scrollable containers and bodies to focusable\n // only if the scrollable container is <div> or <span> - this does *not*\n // happen for <section>, <article>, …\n return false;\n }\n if (parentNodeName && parentNodeName !== \"div\" && parentNodeName !== \"span\" && !hasCssOverflowScroll(parentStyle)) {\n return false;\n }\n return element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth;\n}\nvar supports$1 = void 0;\nfunction isFocusRelevantRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false\n } : _ref$except;\n if (!supports$1) {\n supports$1 = _supports();\n }\n var element = contextToElement({\n label: \"is/focus-relevant\",\n resolveDocument: true,\n context: context\n });\n if (!except.shadow && element.shadowRoot) {\n // a ShadowDOM host receives focus when the focus moves to its content\n return true;\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"input\" && element.type === \"hidden\") {\n // input[type=\"hidden\"] supports.cannot be focused\n return false;\n }\n if (nodeName === \"input\" || nodeName === \"select\" || nodeName === \"button\" || nodeName === \"textarea\") {\n return true;\n }\n if (nodeName === \"legend\" && supports$1.focusRedirectLegend) {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"label\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"area\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"a\" && element.hasAttribute(\"href\")) {\n return true;\n }\n if (nodeName === \"object\" && element.hasAttribute(\"usemap\")) {\n // object[usemap] is not focusable in any browser\n return false;\n }\n if (nodeName === \"object\") {\n var svgType = element.getAttribute(\"type\");\n if (!supports$1.focusObjectSvg && svgType === \"image/svg+xml\") {\n // object[type=\"image/svg+xml\"] is not focusable in Internet Explorer\n return false;\n } else if (!supports$1.focusObjectSwf && svgType === \"application/x-shockwave-flash\") {\n // object[type=\"application/x-shockwave-flash\"] is not focusable in Internet Explorer 9\n return false;\n }\n }\n if (nodeName === \"iframe\" || nodeName === \"object\") {\n // browsing context containers\n return true;\n }\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n if (element.hasAttribute(\"contenteditable\")) {\n // also see CSS property user-modify below\n return true;\n }\n if (nodeName === \"audio\" && (supports$1.focusAudioWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (nodeName === \"video\" && (supports$1.focusVideoWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (supports$1.focusSummary && nodeName === \"summary\") {\n return true;\n }\n var validTabindex = isValidTabindex(element);\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return validTabindex && supports$1.focusImgUsemapTabindex || supports$1.focusRedirectImgUsemap;\n }\n if (supports$1.focusTable && (nodeName === \"table\" || nodeName === \"td\")) {\n // IE10-11 supports.can focus <table> and <td>\n return true;\n }\n if (supports$1.focusFieldset && nodeName === \"fieldset\") {\n // IE10-11 supports.can focus <fieldset>\n return true;\n }\n var isSvgElement = nodeName === \"svg\";\n var isSvgContent = element.ownerSVGElement;\n var focusableAttribute = element.getAttribute(\"focusable\");\n var tabindex = tabindexValue(element);\n if (nodeName === \"use\" && tabindex !== null && !supports$1.focusSvgUseTabindex) {\n // <use> cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit\n return false;\n }\n if (nodeName === \"foreignobject\") {\n // <use> can only be made focusable in Blink and WebKit\n return tabindex !== null && supports$1.focusSvgForeignobjectTabindex;\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n return true;\n }\n if ((isSvgElement || isSvgContent) && element.focus && !supports$1.focusSvgNegativeTabindexAttribute && tabindex < 0) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return false;\n }\n if (isSvgElement) {\n return validTabindex || supports$1.focusSvg || supports$1.focusSvgInIframe || // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n Boolean(supports$1.focusSvgFocusableAttribute && focusableAttribute && focusableAttribute === \"true\");\n }\n if (isSvgContent) {\n if (supports$1.focusSvgTabindexAttribute && validTabindex) {\n return true;\n }\n if (supports$1.focusSvgFocusableAttribute) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n return focusableAttribute === \"true\";\n }\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n if (validTabindex) {\n return true;\n }\n var style = window.getComputedStyle(element, null);\n if (isUserModifyWritable(style)) {\n return true;\n }\n if (supports$1.focusImgIsmap && nodeName === \"img\" && element.hasAttribute(\"ismap\")) {\n // IE10-11 considers the <img> in <a href><img ismap> focusable\n // https://github.com/medialize/ally.js/issues/20\n var hasLinkParent = getParents({\n context: element\n }).some(function(parent) {\n return parent.nodeName.toLowerCase() === \"a\" && parent.hasAttribute(\"href\");\n });\n if (hasLinkParent) {\n return true;\n }\n }\n // https://github.com/medialize/ally.js/issues/21\n if (!except.scrollable && supports$1.focusScrollContainer) {\n if (supports$1.focusScrollContainerWithoutOverflow) {\n // Internet Explorer does will consider the scrollable area focusable\n // if the element is a <div> or a <span> and it is in fact scrollable,\n // regardless of the CSS overflow property\n if (isScrollableContainer(element, nodeName)) {\n return true;\n }\n } else if (hasCssOverflowScroll(style)) {\n // Firefox requires proper overflow setting, IE does not necessarily\n // https://developer.mozilla.org/docs/Web/CSS/overflow\n return true;\n }\n }\n if (!except.flexbox && supports$1.focusFlexboxContainer && hasCssDisplayFlex(style)) {\n // elements with display:flex are focusable in IE10-11\n return true;\n }\n var parent = element.parentElement;\n if (!except.scrollable && parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n if (supports$1.focusScrollBody && isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n // scrollable bodies are focusable Internet Explorer\n // https://github.com/medialize/ally.js/issues/21\n return true;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11\n if (supports$1.focusChildrenOfFocusableFlexbox) {\n if (hasCssDisplayFlex(parentStyle)) {\n return true;\n }\n }\n }\n // NOTE: elements marked as inert are not focusable,\n // but that property is not exposed to the DOM\n // https://www.w3.org/TR/html5/editing.html#inert\n return false;\n}\n// bind exceptions to an iterator callback\nisFocusRelevantRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusRelevant = function isFocusRelevant(context) {\n return isFocusRelevantRules({\n context: context,\n except: except\n });\n };\n isFocusRelevant.rules = isFocusRelevantRules;\n return isFocusRelevant;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusRelevant = isFocusRelevantRules.except({});\nfunction findIndex(array, callback) {\n // attempt to use native or polyfilled Array#findIndex first\n if (array.findIndex) {\n return array.findIndex(callback);\n }\n var length = array.length;\n // shortcut if the array is empty\n if (length === 0) {\n return -1;\n }\n // otherwise loop over array\n for(var i = 0; i < length; i++){\n if (callback(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\nfunction getContentDocument(node) {\n try {\n // works on <object> and <iframe>\n return node.contentDocument || // works on <object> and <iframe>\n node.contentWindow && node.contentWindow.document || // works on <object> and <iframe> that contain SVG\n node.getSVGDocument && node.getSVGDocument() || null;\n } catch (e) {\n // SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement'\n // also IE may throw member not found exception e.g. on <object type=\"image/png\">\n return null;\n }\n}\nfunction getWindow(node) {\n var _document = getDocument(node);\n return _document.defaultView || window;\n}\nvar shadowPrefix = void 0;\nfunction selectInShadows(selector) {\n if (typeof shadowPrefix !== \"string\") {\n var operator = cssShadowPiercingDeepCombinator();\n if (operator) {\n shadowPrefix = \", html \" + operator + \" \";\n }\n }\n if (!shadowPrefix) {\n return selector;\n }\n return selector + shadowPrefix + selector.replace(/\\s*,\\s*/g, \",\").split(\",\").join(shadowPrefix);\n}\nvar selector = void 0;\nfunction findDocumentHostElement(_window) {\n if (!selector) {\n selector = selectInShadows(\"object, iframe\");\n }\n if (_window._frameElement !== undefined) {\n return _window._frameElement;\n }\n _window._frameElement = null;\n var potentialHosts = _window.parent.document.querySelectorAll(selector);\n [].some.call(potentialHosts, function(element) {\n var _document = getContentDocument(element);\n if (_document !== _window.document) {\n return false;\n }\n _window._frameElement = element;\n return true;\n });\n return _window._frameElement;\n}\nfunction getFrameElement(element) {\n var _window = getWindow(element);\n if (!_window.parent || _window.parent === _window) {\n // if there is no parent browsing context,\n // we're not going to get a frameElement either way\n return null;\n }\n try {\n // see https://developer.mozilla.org/docs/Web/API/Window/frameElement\n // does not work within <embed> anywhere, and not within in <object> in IE\n return _window.frameElement || findDocumentHostElement(_window);\n } catch (e) {\n return null;\n }\n}\n// https://www.w3.org/TR/html5/rendering.html#being-rendered\n// <area> is not rendered, but we *consider* it visible to simplfiy this function's usage\nvar notRenderedElementsPattern = /^(area)$/;\nfunction computedStyle(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property);\n}\nfunction notDisplayed(_path) {\n return _path.some(function(element) {\n // display:none is not visible (optimized away at layout)\n return computedStyle(element, \"display\") === \"none\";\n });\n}\nfunction notVisible(_path) {\n // https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L109-L114\n // NOTE: a nested element can reverse visibility:hidden|collapse by explicitly setting visibility:visible\n // NOTE: visibility can be [\"\", \"visible\", \"hidden\", \"collapse\"]\n var hidden = findIndex(_path, function(element) {\n var visibility = computedStyle(element, \"visibility\");\n return visibility === \"hidden\" || visibility === \"collapse\";\n });\n if (hidden === -1) {\n // there is no hidden element\n return false;\n }\n var visible = findIndex(_path, function(element) {\n return computedStyle(element, \"visibility\") === \"visible\";\n });\n if (visible === -1) {\n // there is no visible element (but a hidden element)\n return true;\n }\n if (hidden < visible) {\n // there is a hidden element and it's closer than the first visible element\n return true;\n }\n // there may be a hidden element, but the closest element is visible\n return false;\n}\nfunction collapsedParent(_path) {\n var offset = 1;\n if (_path[0].nodeName.toLowerCase() === \"summary\") {\n offset = 2;\n }\n return _path.slice(offset).some(function(element) {\n // \"content children\" of a closed details element are not visible\n return element.nodeName.toLowerCase() === \"details\" && element.open === false;\n });\n}\nfunction isVisibleRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n notRendered: false,\n cssDisplay: false,\n cssVisibility: false,\n detailsElement: false,\n browsingContext: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/visible\",\n resolveDocument: true,\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (!except.notRendered && notRenderedElementsPattern.test(nodeName)) {\n return true;\n }\n var _path = getParents({\n context: element\n });\n // in Internet Explorer <audio> has a default display: none, where others have display: inline\n // but IE allows focusing <audio style=\"display:none\">, but not <div display:none><audio>\n // this is irrelevant to other browsers, as the controls attribute is required to make <audio> focusable\n var isAudioWithoutControls = nodeName === \"audio\" && !element.hasAttribute(\"controls\");\n if (!except.cssDisplay && notDisplayed(isAudioWithoutControls ? _path.slice(1) : _path)) {\n return false;\n }\n if (!except.cssVisibility && notVisible(_path)) {\n return false;\n }\n if (!except.detailsElement && collapsedParent(_path)) {\n return false;\n }\n if (!except.browsingContext) {\n // elements within a browsing context are affected by the\n // browsing context host element's visibility and tabindex\n var frameElement = getFrameElement(element);\n var _isVisible = isVisibleRules.except(except);\n if (frameElement && !_isVisible(frameElement)) {\n return false;\n }\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisVisibleRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isVisible = function isVisible(context) {\n return isVisibleRules({\n context: context,\n except: except\n });\n };\n isVisible.rules = isVisibleRules;\n return isVisible;\n};\n// provide isVisible(context) as default iterator callback\nvar isVisible = isVisibleRules.except({});\nfunction getMapByName(name, _document) {\n // apparently getElementsByName() also considers id attribute in IE & opera\n // https://developer.mozilla.org/docs/Web/API/Document/getElementsByName\n var map = _document.querySelector('map[name=\"' + (0, _cssescape.default)(name) + '\"]');\n return map || null;\n}\nfunction getImageOfArea(element) {\n var map = element.parentElement;\n if (!map.name || map.nodeName.toLowerCase() !== \"map\") {\n return null;\n }\n // NOTE: image maps can also be applied to <object> with image content,\n // but no browser supports this at the moment\n // HTML5 specifies HTMLMapElement.images to be an HTMLCollection of all\n // <img> and <object> referencing the <map> element, but no browser implements this\n // https://www.w3.org/TR/html5/embedded-content-0.html#the-map-element\n // https://developer.mozilla.org/docs/Web/API/HTMLMapElement\n // the image must be valid and loaded for the map to take effect\n var _document = getDocument(element);\n return _document.querySelector('img[usemap=\"#' + (0, _cssescape.default)(map.name) + '\"]') || null;\n}\nvar supports$2 = void 0;\n// https://developer.mozilla.org/docs/Web/HTML/Element/map\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n// https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L88-L107\nfunction isValidArea(context) {\n if (!supports$2) {\n supports$2 = _supports();\n }\n var element = contextToElement({\n label: \"is/valid-area\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return false;\n }\n var hasTabindex = element.hasAttribute(\"tabindex\");\n if (!supports$2.focusAreaTabindex && hasTabindex) {\n // Blink and WebKit do not consider <area tabindex=\"-1\" href=\"#void\"> focusable\n return false;\n }\n var img = getImageOfArea(element);\n if (!img || !isVisible(img)) {\n return false;\n }\n // Firefox only allows fully loaded images to reference image maps\n // https://stereochro.me/ideas/detecting-broken-images-js\n if (!supports$2.focusBrokenImageMap && (!img.complete || !img.naturalHeight || img.offsetWidth <= 0 || img.offsetHeight <= 0)) {\n return false;\n }\n // Firefox supports.can focus area elements even if they don't have an href attribute\n if (!supports$2.focusAreaWithoutHref && !element.href) {\n // Internet explorer supports.can focus area elements without href if either\n // the area element or the image element has a tabindex attribute\n return supports$2.focusAreaTabindex && hasTabindex || supports$2.focusAreaImgTabindex && img.hasAttribute(\"tabindex\");\n }\n // https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n var childOfInteractive = getParents({\n context: img\n }).slice(1).some(function(_element) {\n var name = _element.nodeName.toLowerCase();\n return name === \"button\" || name === \"a\";\n });\n if (childOfInteractive) {\n return false;\n }\n return true;\n}\nvar supports$3 = void 0;\n// https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\nvar disabledElementsPattern = void 0;\nvar disabledElements = {\n input: true,\n select: true,\n textarea: true,\n button: true,\n fieldset: true,\n form: true\n};\nfunction isNativeDisabledSupported(context) {\n if (!supports$3) {\n supports$3 = _supports();\n if (supports$3.focusFieldsetDisabled) {\n delete disabledElements.fieldset;\n }\n if (supports$3.focusFormDisabled) {\n delete disabledElements.form;\n }\n disabledElementsPattern = new RegExp(\"^(\" + Object.keys(disabledElements).join(\"|\") + \")$\");\n }\n var element = contextToElement({\n label: \"is/native-disabled-supported\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n return Boolean(disabledElementsPattern.test(nodeName));\n}\nvar supports$4 = void 0;\nfunction isDisabledFieldset(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"fieldset\" && element.disabled;\n}\nfunction isDisabledForm(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"form\" && element.disabled;\n}\nfunction isDisabled(context) {\n if (!supports$4) {\n supports$4 = _supports();\n }\n var element = contextToElement({\n label: \"is/disabled\",\n context: context\n });\n if (element.hasAttribute(\"data-ally-disabled\")) {\n // treat ally's element/disabled like the DOM native element.disabled\n return true;\n }\n if (!isNativeDisabledSupported(element)) {\n // non-form elements do not support the disabled attribute\n return false;\n }\n if (element.disabled) {\n // the element itself is disabled\n return true;\n }\n var parents = getParents({\n context: element\n });\n if (parents.some(isDisabledFieldset)) {\n // a parental <fieldset> is disabld and inherits the state onto this element\n return true;\n }\n if (!supports$4.focusFormDisabled && parents.some(isDisabledForm)) {\n // a parental <form> is disabld and inherits the state onto this element\n return true;\n }\n return false;\n}\nfunction isOnlyTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n onlyFocusableBrowsingContext: false,\n visible: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/only-tabbable\",\n resolveDocument: true,\n context: context\n });\n if (!except.visible && !isVisible(element)) {\n return false;\n }\n if (!except.onlyFocusableBrowsingContext && (platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE)) {\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (tabindexValue(frameElement) < 0) {\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var tabindex = tabindexValue(element);\n if (nodeName === \"label\" && platform.is.GECKO) {\n // Firefox cannot focus, but tab to: label[tabindex=0]\n return tabindex !== null && tabindex >= 0;\n }\n // SVG Elements were keyboard focusable but not script focusable before Firefox 51.\n // Firefox 51 added the focus management DOM API (.focus and .blur) to SVGElement,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=778654\n if (platform.is.GECKO && element.ownerSVGElement && !element.focus) {\n if (nodeName === \"a\" && element.hasAttribute(\"xlink:href\")) {\n // any focusable child of <svg> cannot be focused, but tabbed to\n if (platform.is.GECKO) {\n return true;\n }\n }\n }\n return false;\n}\n// bind exceptions to an iterator callback\nisOnlyTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isOnlyTabbable = function isOnlyTabbable(context) {\n return isOnlyTabbableRules({\n context: context,\n except: except\n });\n };\n isOnlyTabbable.rules = isOnlyTabbableRules;\n return isOnlyTabbable;\n};\n// provide isOnlyTabbable(context) as default iterator callback\nvar isOnlyTabbable = isOnlyTabbableRules.except({});\nvar supports$5 = void 0;\nfunction isOnlyFocusRelevant(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n var _tabindex = tabindexValue(element);\n if (element.shadowRoot && _tabindex === null) {\n // ShadowDOM host elements *may* receive focus\n // even though they are not considered focuable\n return true;\n }\n if (nodeName === \"label\") {\n // <label tabindex=\"0\"> is only tabbable in Firefox, not script-focusable\n // there's no way to make an element focusable other than by adding a tabindex,\n // and focus behavior of the label element seems hard-wired to ignore tabindex\n // in some browsers (like Gecko, Blink and WebKit)\n return !supports$5.focusLabelTabindex || _tabindex === null;\n }\n if (nodeName === \"legend\") {\n return _tabindex === null;\n }\n if (supports$5.focusSvgFocusableAttribute && (element.ownerSVGElement || nodeName === \"svg\")) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n var focusableAttribute = element.getAttribute(\"focusable\");\n return focusableAttribute && focusableAttribute === \"false\";\n }\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return _tabindex === null || !supports$5.focusImgUsemapTabindex;\n }\n if (nodeName === \"area\") {\n // all <area>s are considered relevant,\n // but only the valid <area>s are focusable\n return !isValidArea(element);\n }\n return false;\n}\nfunction isFocusableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n disabled: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$5) {\n supports$5 = _supports();\n }\n var _isOnlyTabbable = isOnlyTabbable.rules.except({\n onlyFocusableBrowsingContext: true,\n visible: except.visible\n });\n var element = contextToElement({\n label: \"is/focusable\",\n resolveDocument: true,\n context: context\n });\n var focusRelevant = isFocusRelevant.rules({\n context: element,\n except: except\n });\n if (!focusRelevant || isOnlyFocusRelevant(element)) {\n return false;\n }\n if (!except.disabled && isDisabled(element)) {\n return false;\n }\n if (!except.onlyTabbable && _isOnlyTabbable(element)) {\n // some elements may be keyboard focusable, but not script focusable\n return false;\n }\n // elements that are not rendered, cannot be focused\n if (!except.visible) {\n var visibilityOptions = {\n context: element,\n except: {}\n };\n if (supports$5.focusInHiddenIframe) {\n // WebKit and Blink can focus content in hidden <iframe> and <object>\n visibilityOptions.except.browsingContext = true;\n }\n if (supports$5.focusObjectSvgHidden) {\n // Blink allows focusing the object element, even if it has visibility: hidden;\n // @browser-issue Blink https://code.google.com/p/chromium/issues/detail?id=586191\n var _nodeName2 = element.nodeName.toLowerCase();\n if (_nodeName2 === \"object\") {\n visibilityOptions.except.cssVisibility = true;\n }\n }\n if (!isVisible.rules(visibilityOptions)) {\n return false;\n }\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n var _nodeName = frameElement.nodeName.toLowerCase();\n if (_nodeName === \"object\" && !supports$5.focusInZeroDimensionObject) {\n if (!frameElement.offsetWidth || !frameElement.offsetHeight) {\n // WebKit can not focus content in <object> if it doesn't have dimensions\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"svg\" && supports$5.focusSvgInIframe && !frameElement && element.getAttribute(\"tabindex\") === null) {\n return false;\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisFocusableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusable = function isFocusable(context) {\n return isFocusableRules({\n context: context,\n except: except\n });\n };\n isFocusable.rules = isFocusableRules;\n return isFocusable;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusable = isFocusableRules.except({});\nfunction createFilter(condition) {\n // see https://developer.mozilla.org/docs/Web/API/NodeFilter\n var filter = function filter(node) {\n if (node.shadowRoot) {\n // return ShadowRoot elements regardless of them being focusable,\n // so they can be walked recursively later\n return NodeFilter.FILTER_ACCEPT;\n }\n if (condition(node)) {\n // finds elements that could have been found by document.querySelectorAll()\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_SKIP;\n };\n // IE requires a function, Browsers require {acceptNode: function}\n // see http://www.bennadel.com/blog/2607-finding-html-comment-nodes-in-the-dom-using-treewalker.htm\n filter.acceptNode = filter;\n return filter;\n}\nvar PossiblyFocusableFilter = createFilter(isFocusRelevant);\nfunction queryFocusableStrict() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!context) {\n context = document.documentElement;\n }\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var _document = getDocument(context);\n // see https://developer.mozilla.org/docs/Web/API/Document/createTreeWalker\n var walker = _document.createTreeWalker(context, NodeFilter.SHOW_ELEMENT, strategy === \"all\" ? PossiblyFocusableFilter : createFilter(_isFocusable), false);\n var list = [];\n while(walker.nextNode()){\n if (walker.currentNode.shadowRoot) {\n if (_isFocusable(walker.currentNode)) {\n list.push(walker.currentNode);\n }\n list = list.concat(queryFocusableStrict({\n context: walker.currentNode.shadowRoot,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }));\n } else {\n list.push(walker.currentNode);\n }\n }\n // add context if requested and focusable\n if (includeContext) {\n if (strategy === \"all\") {\n if (isFocusRelevant(context)) {\n list.unshift(context);\n }\n } else if (_isFocusable(context)) {\n list.unshift(context);\n }\n }\n return list;\n}\n// NOTE: this selector MUST *never* be used directly,\nvar supports$6 = void 0;\nvar selector$1 = void 0;\nfunction selector$2() {\n if (!supports$6) {\n supports$6 = _supports();\n }\n if (typeof selector$1 === \"string\") {\n return selector$1;\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n selector$1 = \"\" + // IE11 supports.can focus <table> and <td>\n (supports$6.focusTable ? \"table, td,\" : \"\") + // IE11 supports.can focus <fieldset>\n (supports$6.focusFieldset ? \"fieldset,\" : \"\") + // Namespace problems of [xlink:href] explained in https://stackoverflow.com/a/23047888/515124\n // svg a[*|href] does not match in IE9, but since we're filtering\n // through is/focusable we can include all <a> from SVG\n \"svg a,\" + // may behave as 'svg, svg *,' in chrome as *every* svg element with a focus event listener is focusable\n // navigational elements\n \"a[href],\" + // validity determined by is/valid-area.js\n \"area[href],\" + // validity determined by is/disabled.js\n \"input, select, textarea, button,\" + // browsing context containers\n \"iframe, object, embed,\" + // interactive content\n \"keygen,\" + (supports$6.focusAudioWithoutControls ? \"audio,\" : \"audio[controls],\") + (supports$6.focusVideoWithoutControls ? \"video,\" : \"video[controls],\") + (supports$6.focusSummary ? \"summary,\" : \"\") + // validity determined by is/valid-tabindex.js\n \"[tabindex],\" + // editing hosts\n \"[contenteditable]\";\n // where ShadowDOM is supported, we also want the shadowed focusable elements (via \">>>\" or \"/deep/\")\n selector$1 = selectInShadows(selector$1);\n return selector$1;\n}\nfunction queryFocusableQuick() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable;\n var _selector = selector$2();\n var elements = context.querySelectorAll(_selector);\n // the selector potentially matches more than really is focusable\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var result = [].filter.call(elements, _isFocusable);\n // add context if requested and focusable\n if (includeContext && _isFocusable(context)) {\n result.unshift(context);\n }\n return result;\n}\nfunction queryFocusable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, _ref$strategy = _ref.strategy, strategy = _ref$strategy === undefined ? \"quick\" : _ref$strategy;\n var element = contextToElement({\n label: \"query/focusable\",\n resolveDocument: true,\n defaultToDocument: true,\n context: context\n });\n var options = {\n context: element,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n };\n if (strategy === \"quick\") {\n return queryFocusableQuick(options);\n } else if (strategy === \"strict\" || strategy === \"all\") {\n return queryFocusableStrict(options);\n }\n throw new TypeError('query/focusable requires option.strategy to be one of [\"quick\", \"strict\", \"all\"]');\n}\nvar supports$7 = void 0;\n// Internet Explorer 11 considers fieldset, table, td focusable, but not tabbable\n// Internet Explorer 11 considers body to have [tabindex=0], but does not allow tabbing to it\nvar focusableElementsPattern = /^(fieldset|table|td|body)$/;\nfunction isTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$7) {\n supports$7 = _supports();\n }\n var element = contextToElement({\n label: \"is/tabbable\",\n resolveDocument: true,\n context: context\n });\n if (platform.is.BLINK && platform.is.ANDROID && platform.majorVersion > 42) {\n // External keyboard support worked fine in CHrome 42, but stopped working in Chrome 45.\n // The on-screen keyboard does not provide a way to focus the next input element (like iOS does).\n // That leaves us with no option to advance focus by keyboard, ergo nothing is tabbable (keyboard focusable).\n return false;\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only does not consider anything from another browsing context keyboard focusable\n return false;\n }\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n if (tabindexValue(frameElement) < 0) {\n return false;\n }\n if (!except.visible && (platform.is.BLINK || platform.is.WEBKIT) && !isVisible(frameElement)) {\n // Blink and WebKit consider elements in hidden browsing contexts focusable, but not tabbable\n return false;\n }\n // Webkit and Blink don't consider anything in <object> tabbable\n // Blink fixed that fixed in Chrome 54, Opera 41\n var frameNodeName = frameElement.nodeName.toLowerCase();\n if (frameNodeName === \"object\") {\n var isFixedBlink = platform.name === \"Chrome\" && platform.majorVersion >= 54 || platform.name === \"Opera\" && platform.majorVersion >= 41;\n if (platform.is.WEBKIT || platform.is.BLINK && !isFixedBlink) {\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var _tabindex = tabindexValue(element);\n var tabindex = _tabindex === null ? null : _tabindex >= 0;\n if (platform.is.EDGE && platform.majorVersion >= 14 && frameElement && element.ownerSVGElement && _tabindex < 0) {\n // Edge 14+ considers <a xlink:href=\"…\" tabindex=\"-1\"> keyboard focusable\n // if the element is in a nested browsing context\n return true;\n }\n var hasTabbableTabindexOrNone = tabindex !== false;\n var hasTabbableTabindex = _tabindex !== null && _tabindex >= 0;\n // NOTE: Firefox 31 considers [contenteditable] to have [tabindex=-1], but allows tabbing to it\n // fixed in Firefox 40 the latest - https://bugzilla.mozilla.org/show_bug.cgi?id=1185657\n if (element.hasAttribute(\"contenteditable\")) {\n // tabbing can still be disabled by explicitly providing [tabindex=\"-1\"]\n return hasTabbableTabindexOrNone;\n }\n if (focusableElementsPattern.test(nodeName) && tabindex !== true) {\n return false;\n }\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only considers a hand full of elements tabbable (keyboard focusable)\n // this holds true even with external keyboards\n var potentiallyTabbable = nodeName === \"input\" && element.type === \"text\" || element.type === \"password\" || nodeName === \"select\" || nodeName === \"textarea\" || element.hasAttribute(\"contenteditable\");\n if (!potentiallyTabbable) {\n var style = window.getComputedStyle(element, null);\n potentiallyTabbable = isUserModifyWritable(style);\n }\n if (!potentiallyTabbable) {\n return false;\n }\n }\n if (nodeName === \"use\" && _tabindex !== null) {\n if (platform.is.BLINK || platform.is.WEBKIT && platform.majorVersion === 9) {\n // In Chrome and Safari 9 the <use> element is keyboard focusable even for tabindex=\"-1\"\n return true;\n }\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n if (hasTabbableTabindexOrNone) {\n // in Trident and Gecko SVGElement does not handle the tabIndex property properly\n return true;\n }\n if (element.focus && !supports$7.focusSvgNegativeTabindexAttribute) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return true;\n }\n }\n if (nodeName === \"svg\" && supports$7.focusSvgInIframe && hasTabbableTabindexOrNone) {\n return true;\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n if (nodeName === \"svg\") {\n if (supports$7.focusSvg) {\n // older Internet Explorers consider <svg> keyboard focusable\n // unless they have focsable=\"false\", but then they wouldn't\n // be focusable and thus not even reach this filter\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\") || hasTabbableTabindex;\n }\n if (element.ownerSVGElement) {\n if (supports$7.focusSvgTabindexAttribute && hasTabbableTabindex) {\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\");\n }\n }\n if (element.tabIndex === undefined) {\n return Boolean(except.onlyTabbable);\n }\n if (nodeName === \"audio\") {\n if (!element.hasAttribute(\"controls\")) {\n // In Internet Explorer the <audio> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n } else if (platform.is.BLINK) {\n // In Chrome <audio controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"video\") {\n if (!element.hasAttribute(\"controls\")) {\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // In Internet Explorer and Edge the <video> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n }\n } else if (platform.is.BLINK || platform.is.GECKO) {\n // In Chrome and Firefox <video controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"object\") {\n if (platform.is.BLINK || platform.is.WEBKIT) {\n // In all Blink and WebKit based browsers <embed> and <object> are never keyboard focusable, even with tabindex=\"0\" set\n return false;\n }\n }\n if (nodeName === \"iframe\") {\n // In Internet Explorer all iframes are only focusable\n // In WebKit, Blink and Gecko iframes may be tabbable depending on content.\n // Since we can't reliably investigate iframe documents because of the\n // SameOriginPolicy, we're declaring everything only focusable.\n return false;\n }\n if (!except.scrollable && platform.is.GECKO) {\n // Firefox considers scrollable containers keyboard focusable,\n // even though their tabIndex property is -1\n var _style = window.getComputedStyle(element, null);\n if (hasCssOverflowScroll(_style)) {\n return hasTabbableTabindexOrNone;\n }\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // IE and Edge degrade <area> to script focusable, if the image\n // using the <map> has been given tabindex=\"-1\"\n if (nodeName === \"area\") {\n var img = getImageOfArea(element);\n if (img && tabindexValue(img) < 0) {\n return false;\n }\n }\n var _style2 = window.getComputedStyle(element, null);\n if (isUserModifyWritable(_style2)) {\n // prevent being swallowed by the overzealous isScrollableContainer() below\n return element.tabIndex >= 0;\n }\n if (!except.flexbox && hasCssDisplayFlex(_style2)) {\n if (_tabindex !== null) {\n return hasTabbableTabindex;\n }\n return isFocusRelevantWithoutFlexbox(element) && isTabbableWithoutFlexbox(element);\n }\n // IE considers scrollable containers script focusable only,\n // even though their tabIndex property is 0\n if (isScrollableContainer(element, nodeName)) {\n return false;\n }\n var parent = element.parentElement;\n if (parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n // IE considers scrollable bodies script focusable only,\n if (isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n return false;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11,\n // even though their tabIndex property suggests otherwise\n if (hasCssDisplayFlex(parentStyle)) {\n // value of tabindex takes precedence\n return hasTabbableTabindex;\n }\n }\n }\n // https://www.w3.org/WAI/PF/aria-practices/#focus_tabindex\n return element.tabIndex >= 0;\n}\n// bind exceptions to an iterator callback\nisTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isTabbable = function isTabbable(context) {\n return isTabbableRules({\n context: context,\n except: except\n });\n };\n isTabbable.rules = isTabbableRules;\n return isTabbable;\n};\nvar isFocusRelevantWithoutFlexbox = isFocusRelevant.rules.except({\n flexbox: true\n});\nvar isTabbableWithoutFlexbox = isTabbableRules.except({\n flexbox: true\n});\n// provide isTabbable(context) as default iterator callback\nvar isTabbable = isTabbableRules.except({});\nfunction queryTabbable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n var _isTabbable = isTabbable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n return queryFocusable({\n context: context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }).filter(_isTabbable);\n}\n// sorts a list of elements according to their order in the DOM\nfunction compareDomPosition(a, b) {\n return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n}\nfunction sortDomOrder(elements) {\n return elements.sort(compareDomPosition);\n}\nfunction getFirstSuccessorOffset(list, target) {\n // find the first element that comes AFTER the target element\n return findIndex(list, function(element) {\n return target.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_FOLLOWING;\n });\n}\nfunction findInsertionOffsets(list, elements, resolveElement) {\n // instead of mutating the elements list directly, remember position and map\n // to inject later, when we can do this more efficiently\n var insertions = [];\n elements.forEach(function(element) {\n var replace = true;\n var offset = list.indexOf(element);\n if (offset === -1) {\n // element is not in target list\n offset = getFirstSuccessorOffset(list, element);\n replace = false;\n }\n if (offset === -1) {\n // there is no successor in the tabsequence,\n // meaning the image must be the last element\n offset = list.length;\n }\n // allow the consumer to replace the injected element\n var injections = nodeArray(resolveElement ? resolveElement(element) : element);\n if (!injections.length) {\n // we can't inject zero elements\n return;\n }\n insertions.push({\n offset: offset,\n replace: replace,\n elements: injections\n });\n });\n return insertions;\n}\nfunction insertElementsAtOffsets(list, insertions) {\n // remember the number of elements we have already injected\n // so we account for the caused index offset\n var inserted = 0;\n // make sure that we insert the elements in sequence,\n // otherwise the offset compensation won't work\n insertions.sort(function(a, b) {\n return a.offset - b.offset;\n });\n insertions.forEach(function(insertion) {\n // array.splice has an annoying function signature :(\n var remove = insertion.replace ? 1 : 0;\n var args = [\n insertion.offset + inserted,\n remove\n ].concat(insertion.elements);\n list.splice.apply(list, args);\n inserted += insertion.elements.length - remove;\n });\n}\nfunction mergeInDomOrder() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, list = _ref.list, elements = _ref.elements, resolveElement = _ref.resolveElement;\n // operate on a copy so we don't mutate the original array\n var _list = list.slice(0);\n // make sure the elements we're injecting are provided in DOM order\n var _elements = nodeArray(elements).slice(0);\n sortDomOrder(_elements);\n // find the offsets within the target array (list) at which to inject\n // each individual element (from elements)\n var insertions = findInsertionOffsets(_list, _elements, resolveElement);\n // actually inject the elements into the target array at the identified positions\n insertElementsAtOffsets(_list, insertions);\n return _list;\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 return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Maps = function() {\n function Maps(context) {\n _classCallCheck(this, Maps);\n this._document = getDocument(context);\n this.maps = {};\n }\n _createClass(Maps, [\n {\n key: \"getAreasFor\",\n value: function getAreasFor(name) {\n if (!this.maps[name]) {\n // the map is not defined within the context, so we\n // have to go find it elsewhere in the document\n this.addMapByName(name);\n }\n return this.maps[name];\n }\n },\n {\n key: \"addMapByName\",\n value: function addMapByName(name) {\n var map = getMapByName(name, this._document);\n if (!map) {\n // if there is no map, the img[usemap] wasn't doing anything anyway\n return;\n }\n this.maps[map.name] = queryTabbable({\n context: map\n });\n }\n },\n {\n key: \"extractAreasFromList\",\n value: function extractAreasFromList(elements) {\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n return elements.filter(function(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return true;\n }\n var map = element.parentNode;\n if (!this.maps[map.name]) {\n this.maps[map.name] = [];\n }\n this.maps[map.name].push(element);\n return false;\n }, this);\n }\n }\n ]);\n return Maps;\n}();\nfunction sortArea(elements, context) {\n // images - unless they are focusable themselves, likely not\n // part of the elements list, so we'll have to find them and\n // sort them into the elements list manually\n var usemaps = context.querySelectorAll(\"img[usemap]\");\n var maps = new Maps(context);\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n var _elements = maps.extractAreasFromList(elements);\n if (!usemaps.length) {\n // the context does not contain any <area>s so no need\n // to replace anything, just remove any maps\n return _elements;\n }\n return mergeInDomOrder({\n list: _elements,\n elements: usemaps,\n resolveElement: function resolveElement(image) {\n var name = image.getAttribute(\"usemap\").slice(1);\n return maps.getAreasFor(name);\n }\n });\n}\nvar _createClass$1 = 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 return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Shadows = function() {\n function Shadows(context, sortElements) {\n _classCallCheck$1(this, Shadows);\n // document context we're working with\n this.context = context;\n // callback that sorts an array of elements\n this.sortElements = sortElements;\n // reference to create unique IDs for each ShadowHost\n this.hostCounter = 1;\n // reference map for child-ShadowHosts of a ShadowHost\n this.inHost = {};\n // reference map for child-ShadowHost of the document\n this.inDocument = [];\n // reference map for ShadowHosts\n this.hosts = {};\n // reference map for tabbable elements of a ShadowHost\n this.elements = {};\n }\n // remember which hosts we have to sort within later\n _createClass$1(Shadows, [\n {\n key: \"_registerHost\",\n value: function _registerHost(host) {\n if (host._sortingId) {\n return;\n }\n // make the ShadowHost identifiable (see cleanup() for undo)\n host._sortingId = \"shadow-\" + this.hostCounter++;\n this.hosts[host._sortingId] = host;\n // hosts may contain other hosts\n var parentHost = getShadowHost({\n context: host\n });\n if (parentHost) {\n this._registerHost(parentHost);\n this._registerHostParent(host, parentHost);\n } else {\n this.inDocument.push(host);\n }\n }\n },\n {\n key: \"_registerHostParent\",\n value: function _registerHostParent(host, parent) {\n if (!this.inHost[parent._sortingId]) {\n this.inHost[parent._sortingId] = [];\n }\n this.inHost[parent._sortingId].push(host);\n }\n },\n {\n key: \"_registerElement\",\n value: function _registerElement(element, host) {\n if (!this.elements[host._sortingId]) {\n this.elements[host._sortingId] = [];\n }\n this.elements[host._sortingId].push(element);\n }\n },\n {\n key: \"extractElements\",\n value: function extractElements(elements) {\n return elements.filter(function(element) {\n var host = getShadowHost({\n context: element\n });\n if (!host) {\n return true;\n }\n this._registerHost(host);\n this._registerElement(element, host);\n return false;\n }, this);\n }\n },\n {\n key: \"sort\",\n value: function sort(elements) {\n var _elements = this._injectHosts(elements);\n _elements = this._replaceHosts(_elements);\n this._cleanup();\n return _elements;\n }\n },\n {\n key: \"_injectHosts\",\n value: function _injectHosts(elements) {\n Object.keys(this.hosts).forEach(function(_sortingId) {\n var _list = this.elements[_sortingId];\n var _elements = this.inHost[_sortingId];\n var _context = this.hosts[_sortingId].shadowRoot;\n this.elements[_sortingId] = this._merge(_list, _elements, _context);\n }, this);\n return this._merge(elements, this.inDocument, this.context);\n }\n },\n {\n key: \"_merge\",\n value: function _merge(list, elements, context) {\n var merged = mergeInDomOrder({\n list: list,\n elements: elements\n });\n return this.sortElements(merged, context);\n }\n },\n {\n key: \"_replaceHosts\",\n value: function _replaceHosts(elements) {\n return mergeInDomOrder({\n list: elements,\n elements: this.inDocument,\n resolveElement: this._resolveHostElement.bind(this)\n });\n }\n },\n {\n key: \"_resolveHostElement\",\n value: function _resolveHostElement(host) {\n var merged = mergeInDomOrder({\n list: this.elements[host._sortingId],\n elements: this.inHost[host._sortingId],\n resolveElement: this._resolveHostElement.bind(this)\n });\n var _tabindex = tabindexValue(host);\n if (_tabindex !== null && _tabindex > -1) {\n return [\n host\n ].concat(merged);\n }\n return merged;\n }\n },\n {\n key: \"_cleanup\",\n value: function _cleanup() {\n // remove those identifers we put on the ShadowHost to avoid using Map()\n Object.keys(this.hosts).forEach(function(key) {\n delete this.hosts[key]._sortingId;\n }, this);\n }\n }\n ]);\n return Shadows;\n}();\nfunction sortShadowed(elements, context, sortElements) {\n var shadows = new Shadows(context, sortElements);\n var _elements = shadows.extractElements(elements);\n if (_elements.length === elements.length) {\n // no shadowed content found, no need to continue\n return sortElements(elements);\n }\n return shadows.sort(_elements);\n}\nfunction sortTabindex(elements) {\n // https://developer.mozilla.org/docs/Web/API/HTMLElement.tabIndex\n // elements with tabIndex \"0\" (including tabbableElements without tabIndex) should be navigated in the order they appear.\n // elements with a positive tabIndex:\n // Elements that have identical tabIndexes should be navigated in the order they appear.\n // Navigation proceeds from the lowest tabIndex to the highest tabIndex.\n // NOTE: sort implementation may be unstable and thus mess up DOM order,\n // that's why we build a map that's being sorted instead. If we were able to rely\n // on a stable sorting algorithm, sortTabindex() could be as simple as\n // elements.sort(function(a, b) { return a.tabIndex - b.tabIndex; });\n // at this time Chrome does not use a stable sorting algorithm\n // see http://blog.rodneyrehm.de/archives/14-Sorting-Were-Doing-It-Wrong.html#stability\n // NOTE: compareDocumentPosition seemed like more overhead than just sorting this with buckets\n // https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n var map = {};\n var indexes = [];\n var normal = elements.filter(function(element) {\n // in Trident and Gecko SVGElement does not know about the tabIndex property\n var tabIndex = element.tabIndex;\n if (tabIndex === undefined) {\n tabIndex = tabindexValue(element);\n }\n // extract elements that don't need sorting\n if (tabIndex <= 0 || tabIndex === null || tabIndex === undefined) {\n return true;\n }\n if (!map[tabIndex]) {\n // create sortable bucket for dom-order-preservation of elements with the same tabIndex\n map[tabIndex] = [];\n // maintain a list of unique tabIndexes\n indexes.push(tabIndex);\n }\n // sort element into the proper bucket\n map[tabIndex].push(element);\n // element moved to sorting map, so not \"normal\" anymore\n return false;\n });\n // sort the tabindex ascending,\n // then resolve them to their appropriate buckets,\n // then flatten the array of arrays to an array\n var _elements = indexes.sort().map(function(tabIndex) {\n return map[tabIndex];\n }).reduceRight(function(previous, current) {\n return current.concat(previous);\n }, normal);\n return _elements;\n}\nvar supports$8 = void 0;\nfunction moveContextToBeginning(elements, context) {\n var pos = elements.indexOf(context);\n if (pos > 0) {\n var tmp = elements.splice(pos, 1);\n return tmp.concat(elements);\n }\n return elements;\n}\nfunction sortElements(elements, _context) {\n if (supports$8.tabsequenceAreaAtImgPosition) {\n // Some browsers sort <area> in DOM order, some place the <area>s\n // where the <img> referecing them would've been in DOM order.\n // https://github.com/medialize/ally.js/issues/5\n elements = sortArea(elements, _context);\n }\n elements = sortTabindex(elements);\n return elements;\n}\nfunction queryTabsequence() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!supports$8) {\n supports$8 = _supports();\n }\n var _context = nodeArray(context)[0] || document.documentElement;\n var elements = queryTabbable({\n context: _context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n });\n if (document.body.createShadowRoot && platform.is.BLINK) {\n // sort tabindex localized to shadow dom\n // see https://github.com/medialize/ally.js/issues/6\n elements = sortShadowed(elements, _context, sortElements);\n } else {\n elements = sortElements(elements, _context);\n }\n if (includeContext) {\n // if we include the context itself, it has to be the first\n // element of the sequence\n elements = moveContextToBeginning(elements, _context);\n }\n return elements;\n}\n// codes mostly cloned from https://github.com/keithamus/jwerty/blob/master/jwerty.js\n// deliberately not exposing characters like <,.-#* because they vary *wildly*\n// across keyboard layouts and may cause various problems\n// (e.g. \"*\" is \"Shift +\" on a German Mac keyboard)\n// (e.g. \"@\" is \"Alt L\" on a German Mac keyboard)\nvar keycode = {\n // Element Focus\n tab: 9,\n // Navigation\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n pageUp: 33,\n \"page-up\": 33,\n pageDown: 34,\n \"page-down\": 34,\n end: 35,\n home: 36,\n // Action\n enter: 13,\n escape: 27,\n space: 32,\n // Modifier\n shift: 16,\n capsLock: 20,\n \"caps-lock\": 20,\n ctrl: 17,\n alt: 18,\n meta: 91,\n // in firefox: 224\n // on mac (chrome): meta-left=91, meta-right=93\n // on win (IE11): meta-left=91, meta-right=92\n pause: 19,\n // Content Manipulation\n insert: 45,\n delete: 46,\n backspace: 8,\n // the same logical key may be identified through different keyCodes\n _alias: {\n 91: [\n 92,\n 93,\n 224\n ]\n }\n};\n// Function keys (112 - 137)\n// NOTE: not every keyboard knows F13+\nfor(var n = 1; n < 26; n++){\n keycode[\"f\" + n] = n + 111;\n}\n// Number keys (48-57, numpad 96-105)\n// NOTE: not every keyboard knows num-0+\nfor(var _n = 0; _n < 10; _n++){\n var code = _n + 48;\n var numCode = _n + 96;\n keycode[_n] = code;\n keycode[\"num-\" + _n] = numCode;\n keycode._alias[code] = [\n numCode\n ];\n}\n// Latin characters (65 - 90)\nfor(var _n2 = 0; _n2 < 26; _n2++){\n var _code = _n2 + 65;\n var name$1 = String.fromCharCode(_code).toLowerCase();\n keycode[name$1] = _code;\n}\nvar modifier = {\n alt: \"altKey\",\n ctrl: \"ctrlKey\",\n meta: \"metaKey\",\n shift: \"shiftKey\"\n};\nvar modifierSequence = Object.keys(modifier).map(function(name) {\n return modifier[name];\n});\nfunction createExpectedModifiers(ignoreModifiers) {\n var value = ignoreModifiers ? null : false;\n return {\n altKey: value,\n ctrlKey: value,\n metaKey: value,\n shiftKey: value\n };\n}\nfunction resolveModifiers(modifiers) {\n var ignoreModifiers = modifiers.indexOf(\"*\") !== -1;\n var expected = createExpectedModifiers(ignoreModifiers);\n modifiers.forEach(function(token) {\n if (token === \"*\") {\n // we've already covered the all-in operator\n return;\n }\n // we want the modifier pressed\n var value = true;\n var operator = token.slice(0, 1);\n if (operator === \"?\") {\n // we don't care if the modifier is pressed\n value = null;\n } else if (operator === \"!\") {\n // we do not want the modifier pressed\n value = false;\n }\n if (value !== true) {\n // compensate for the modifier's operator\n token = token.slice(1);\n }\n var propertyName = modifier[token];\n if (!propertyName) {\n throw new TypeError('Unknown modifier \"' + token + '\"');\n }\n expected[propertyName] = value;\n });\n return expected;\n}\nfunction resolveKey(key) {\n var code = keycode[key] || parseInt(key, 10);\n if (!code || typeof code !== \"number\" || isNaN(code)) {\n throw new TypeError('Unknown key \"' + key + '\"');\n }\n return [\n code\n ].concat(keycode._alias[code] || []);\n}\nfunction matchModifiers(expected, event) {\n // returns true on match\n return !modifierSequence.some(function(prop) {\n // returns true on mismatch\n return typeof expected[prop] === \"boolean\" && Boolean(event[prop]) !== expected[prop];\n });\n}\nfunction keyBinding(text) {\n return text.split(/\\s+/).map(function(_text) {\n var tokens = _text.split(\"+\");\n var _modifiers = resolveModifiers(tokens.slice(0, -1));\n var _keyCodes = resolveKey(tokens.slice(-1));\n return {\n keyCodes: _keyCodes,\n modifiers: _modifiers,\n matchModifiers: matchModifiers.bind(null, _modifiers)\n };\n });\n}\n// Node.compareDocumentPosition is available since IE9\n// see https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n// callback returns true when element is contained by parent or is the parent suited for use with Array.some()\n/*\n USAGE:\n var isChildOf = getParentComparator({parent: someNode});\n listOfElements.some(isChildOf)\n*/ function getParentComparator() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, parent = _ref.parent, element = _ref.element, includeSelf = _ref.includeSelf;\n if (parent) {\n return function isChildOf(node) {\n return Boolean(includeSelf && node === parent || parent.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n } else if (element) {\n return function isParentOf(node) {\n return Boolean(includeSelf && element === node || node.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n }\n throw new TypeError(\"util/compare-position#getParentComparator required either options.parent or options.element\");\n}\n// Bug 286933 - Key events in the autocomplete popup should be hidden from page scripts\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=286933\nfunction whenKey() {\n var map = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var bindings = {};\n var context = nodeArray(map.context)[0] || document.documentElement;\n delete map.context;\n var filter = nodeArray(map.filter);\n delete map.filter;\n var mapKeys = Object.keys(map);\n if (!mapKeys.length) {\n throw new TypeError(\"when/key requires at least one option key\");\n }\n var registerBinding = function registerBinding(event) {\n event.keyCodes.forEach(function(code) {\n if (!bindings[code]) {\n bindings[code] = [];\n }\n bindings[code].push(event);\n });\n };\n mapKeys.forEach(function(text) {\n if (typeof map[text] !== \"function\") {\n throw new TypeError('when/key requires option[\"' + text + '\"] to be a function');\n }\n var addCallback = function addCallback(event) {\n event.callback = map[text];\n return event;\n };\n keyBinding(text).map(addCallback).forEach(registerBinding);\n });\n var handleKeyDown = function handleKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (filter.length) {\n // ignore elements within the exempted sub-trees\n var isParentOfElement = getParentComparator({\n element: event.target,\n includeSelf: true\n });\n if (filter.some(isParentOfElement)) {\n return;\n }\n }\n var key = event.keyCode || event.which;\n if (!bindings[key]) {\n return;\n }\n bindings[key].forEach(function(_event) {\n if (!_event.matchModifiers(event)) {\n return;\n }\n _event.callback.call(context, event, disengage);\n });\n };\n context.addEventListener(\"keydown\", handleKeyDown, false);\n var disengage = function disengage() {\n context.removeEventListener(\"keydown\", handleKeyDown, false);\n };\n return {\n disengage: disengage\n };\n}\nfunction _default(param) {\n let { context } = param === void 0 ? {} : param;\n if (!context) {\n context = document.documentElement;\n }\n // Make sure the supports tests are run before intercepting the Tab key,\n // or IE10 and IE11 will fail to process the first Tab key event. Not\n // limiting this warm-up to IE because it may be a problem elsewhere, too.\n queryTabsequence();\n return whenKey({\n // Safari on OSX may require ALT+TAB to reach links,\n // see https://github.com/medialize/ally.js/issues/146\n \"?alt+?shift+tab\": function altShiftTab(event) {\n // we're completely taking over the Tab key handling\n event.preventDefault();\n var sequence = queryTabsequence({\n context: context\n });\n var backward = event.shiftKey;\n var first = sequence[0];\n var last = sequence[sequence.length - 1];\n // wrap around first to last, last to first\n var source = backward ? first : last;\n var target = backward ? last : first;\n if (isActiveElement(source)) {\n target.focus();\n return;\n }\n // find current position in tabsequence\n var currentIndex = void 0;\n var found = sequence.some(function(element, index) {\n if (!isActiveElement(element)) {\n return false;\n }\n currentIndex = index;\n return true;\n });\n if (!found) {\n // redirect to first as we're not in our tabsequence\n first.focus();\n return;\n }\n // shift focus to previous/next element in the sequence\n var offset = backward ? -1 : 1;\n sequence[currentIndex + offset].focus();\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=maintain--tab-focus.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9tYWludGFpbi0tdGFiLWZvY3VzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQixHQUNsQixjQUFjO0FBQ2QsbURBQW1EO0FBQ25ELGVBQWU7QUFDZixpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHlDQUF5Qzs7Ozs7MkNBbTdHekM7OztlQUFBQTs7OzsrRUFqN0dzQjtnRkFDQTtBQUV0Qix5RkFBeUY7QUFDekYsNkVBQTZFO0FBQzdFLFNBQVNDLFVBQVVDLEtBQUs7SUFDdEIsSUFBSSxDQUFDQSxPQUFPO1FBQ1YsT0FBTyxFQUFFO0lBQ1g7SUFFQSxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLFFBQVE7UUFDeEIsT0FBT0E7SUFDVDtJQUVBLCtDQUErQztJQUMvQyxJQUFJQSxNQUFNRyxRQUFRLEtBQUtDLFdBQVc7UUFDaEMsT0FBTztZQUFDSjtTQUFNO0lBQ2hCO0lBRUEsSUFBSSxPQUFPQSxVQUFVLFVBQVU7UUFDN0JBLFFBQVFLLFNBQVNDLGdCQUFnQixDQUFDTjtJQUNwQztJQUVBLElBQUlBLE1BQU1PLE1BQU0sS0FBS0gsV0FBVztRQUM5QixPQUFPLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDQyxJQUFJLENBQUNULE9BQU87SUFDOUI7SUFFQSxNQUFNLElBQUlVLFVBQVUsc0JBQXNCQyxPQUFPWDtBQUNuRDtBQUVBLFNBQVNZLGlCQUFpQkMsSUFBSTtJQUM1QixJQUFJQyxVQUFVRCxLQUFLQyxPQUFPLEVBQ3hCQyxhQUFhRixLQUFLRyxLQUFLLEVBQ3ZCQSxRQUFRRCxlQUFlWCxZQUFZLHVCQUF1QlcsWUFDMURFLGtCQUFrQkosS0FBS0ksZUFBZSxFQUN0Q0Msb0JBQW9CTCxLQUFLSyxpQkFBaUI7SUFFNUMsSUFBSUMsVUFBVXBCLFVBQVVlLFFBQVEsQ0FBQyxFQUFFO0lBRW5DLElBQUlHLG1CQUFt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QVFOLFNBQVNsZixJQUFJLENBQUMsU0FBVXpCLE9BQU8sRUFBRWtoQixLQUFLO2dCQUNoRCxJQUFJLENBQUNwZ0IsZ0JBQWdCZCxVQUFVO29CQUM3QixPQUFPO2dCQUNUO2dCQUVBZ2hCLGVBQWVFO2dCQUNmLE9BQU87WUFDVDtZQUVBLElBQUksQ0FBQ0QsT0FBTztnQkFDVixvREFBb0Q7Z0JBQ3BESixNQUFNaGMsS0FBSztnQkFDWDtZQUNGO1lBRUEsdURBQXVEO1lBQ3ZELElBQUlxTSxTQUFTMFAsV0FBVyxDQUFDLElBQUk7WUFDN0JELFFBQVEsQ0FBQ0ssZUFBZTlQLE9BQU8sQ0FBQ3JNLEtBQUs7UUFDdkM7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvbWFpbnRhaW4tLXRhYi1mb2N1cy50cz8yNWY2Il0sIm5hbWVzIjpbIl9kZWZhdWx0Iiwibm9kZUFycmF5IiwiaW5wdXQiLCJBcnJheSIsImlzQXJyYXkiLCJub2RlVHlwZSIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImxlbmd0aCIsInNsaWNlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsImNvbnRleHRUb0VsZW1lbnQiLCJfcmVmIiwiY29udGV4dCIsIl9yZWYkbGFiZWwiLCJsYWJlbCIsInJlc29sdmVEb2N1bWVudCIsImRlZmF1bHRUb0RvY3VtZW50IiwiZWxlbWVudCIsIk5vZGUiLCJET0NVTUVOVF9OT0RFIiwiZG9jdW1lbnRFbGVtZW50IiwiRUxFTUVOVF9OT0RFIiwiRE9DVU1FTlRfRlJBR01FTlRfTk9ERSIsImdldFNoYWRvd0hvc3QiLCJhcmd1bWVudHMiLCJjb250YWluZXIiLCJwYXJlbnROb2RlIiwiaG9zdCIsImdldERvY3VtZW50Iiwibm9kZSIsIm93bmVyRG9jdW1lbnQiLCJpc0FjdGl2ZUVsZW1lbnQiLCJfZG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50Iiwic2hhZG93SG9zdCIsInNoYWRvd1Jvb3QiLCJnZXRQYXJlbnRzIiwibGlzdCIsInB1c2giLCJuYW1lcyIsIm5hbWUiLCJmaW5kTWV0aG9kTmFtZSIsInNvbWUiLCJfbmFtZSIsImVsZW1lbnRNYXRjaGVzIiwic2VsZWN0b3IiLCJwbGF0Zm9ybSIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsIl9wbGF0Zm9ybSIsIm9zIiwiZmFtaWx5IiwiQU5EUk9JRCIsIldJTkRPV1MiLCJPU1giLCJJT1MiLCJCTElOSyIsImxheW91dCIsIkdFQ0tPIiwiVFJJREVOVCIsIkVER0UiLCJXRUJLSVQiLCJ2ZXJzaW9uIiwicGFyc2VGbG9hdCIsIm1ham9yVmVyc2lvbiIsIk1hdGgiLCJmbG9vciIsImlzIiwiSUU5IiwiSUUxMCIsIklFMTEiLCJiZWZvcmUiLCJkYXRhIiwid2luZG93U2Nyb2xsVG9wIiwid2luZG93Iiwic2Nyb2xsVG9wIiwid2luZG93U2Nyb2xsTGVmdCIsInNjcm9sbExlZnQiLCJib2R5U2Nyb2xsVG9wIiwiYm9keSIsImJvZHlTY3JvbGxMZWZ0IiwiaWZyYW1lIiwiY3JlYXRlRWxlbWVudCIsInNldEF0dHJpYnV0ZSIsImFwcGVuZENoaWxkIiwiX3dpbmRvdyIsImNvbnRlbnRXaW5kb3ciLCJvcGVuIiwiY2xvc2UiLCJ3cmFwcGVyIiwidGVzdCIsIm9wdGlvbnMiLCJpbm5lckhUTUwiLCJmb2N1cyIsIm11dGF0ZSIsInZhbGlkYXRlIiwiYWZ0ZXIiLCJibHVyIiwicmVtb3ZlQ2hpbGQiLCJkZXRlY3RGb2N1cyIsInRlc3RzIiwicmVzdWx0cyIsIk9iamVjdCIsImtleXMiLCJtYXAiLCJrZXkiLCJ2ZXJzaW9uJDEiLCJyZWFkTG9jYWxTdG9yYWdlIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsImUiLCJ3cml0ZUxvY2FsU3RvcmFnZSIsInZhbHVlIiwiaGFzRm9jdXMiLCJyZW1vdmVJdGVtIiwic2V0SXRlbSIsInVzZXJBZ2VudCIsIm5hdmlnYXRvciIsImNhY2hlS2V5IiwiY2FjaGUiLCJjYWNoZSQxIiwiZ2V0Iiwic2V0IiwidmFsdWVzIiwiZm9yRWFjaCIsInRpbWUiLCJEYXRlIiwidG9JU09TdHJpbmciLCJjc3NTaGFkb3dQaWVyY2luZ0RlZXBDb21iaW5hdG9yIiwiY29tYmluYXRvciIsInF1ZXJ5U2VsZWN0b3IiLCJub0Fycm93QXJyb3dBcnJvdyIsIm5vRGVlcCIsImdpZiIsImZvY3VzQXJlYUltZ1RhYmluZGV4IiwiZm9jdXNBcmVhVGFiaW5kZXgiLCJmb2N1c1RhcmdldCIsImZvY3VzQXJlYVdpdGhvdXRIcmVmIiwiZm9jdXNBdWRpb1dpdGhvdXRDb250cm9scyIsImludmFsaWRHaWYiLCJmb2N1c0Jyb2tlbkltYWdlTWFwIiwiZm9jdXNDaGlsZHJlbk9mRm9jdXNhYmxlRmxleGJveCIsImZvY3VzRmllbGRzZXREaXNhYmxlZCIsImZvY3VzRmllbGRzZXQiLCJmb2N1c0ZsZXhib3hDb250YWluZXIiLCJmb2N1c0Zvcm1EaXNhYmxlZCIsImZvY3VzSW1nSXNtYXAiLCJocmVmIiwiZm9jdXNJbWdVc2VtYXBUYWJpbmRleCIsImZvY3VzSW5IaWRkZW5JZnJhbWUiLCJpZnJhbWVEb2N1bWVudCIsInN0eWxlIiwidmlzaWJpbGl0eSIsInJlc3VsdCIsImZvY3VzSW5aZXJvRGltZW5zaW9uT2JqZWN0IiwiZm9jdXNJbnZhbGlkVGFiaW5kZXgiLCJmb2N1c0xhYmVsVGFiaW5kZXgiLCJ2YXJpYWJsZVRvUHJldmVudERlYWRDb2RlRWxpbWluYXRpb24iLCJvZmZzZXRIZWlnaHQiLCJzdmciLCJmb2N1c09iamVjdFN2Z0hpZGRlbiIsImZvY3VzT2JqZWN0U3ZnIiwicmVzdWx0JDEiLCJmb2N1c09iamVjdFN3ZiIsImZvY3VzUmVkaXJlY3RJbWdVc2VtYXAiLCJ0YXJnZXQiLCJmb2N1c1JlZGlyZWN0TGVnZW5kIiwiZm9jdXNhYmxlIiwidGFiYmFibGUiLCJmb2N1c1Njcm9sbEJvZHkiLCJmb2N1c1Njcm9sbENvbnRhaW5lcldpdGhvdXRPdmVyZmxvdyIsImZvY3VzU2Nyb2xsQ29udGFpbmVyIiwiZm9jdXNTdW1tYXJ5IiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJtYWtlRm9jdXNhYmxlRm9yZWlnbk9iamVjdCIsImZvcmVpZ25PYmplY3QiLCJjcmVhdGVFbGVtZW50TlMiLCJ3aWR0aCIsImJhc2VWYWwiLCJoZWlnaHQiLCJsYXN0Q2hpbGQiLCJ0eXBlIiwiZm9jdXNTdmdGb3JlaWduT2JqZWN0SGFjayIsImlzU3ZnRWxlbWVudCIsIm93bmVyU1ZHRWxlbWVudCIsIm5vZGVOYW1lIiwidG9Mb3dlckNhc2UiLCJkaXNhYmxlZCIsImdlbmVyYXRlIiwiSFRNTEVsZW1lbnQiLCJwcm90b3R5cGUiLCJmb2N1c1N2Z0ZvY3VzYWJsZUF0dHJpYnV0ZSIsImZvY3VzU3ZnVGFiaW5kZXhBdHRyaWJ1dGUiLCJmb2N1c1N2Z05lZ2F0aXZlVGFiaW5kZXhBdHRyaWJ1dGUiLCJmb2N1c1N2Z1VzZVRhYmluZGV4Iiwiam9pbiIsImZvY3VzU3ZnRm9yZWlnbm9iamVjdFRhYmluZGV4IiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJyZXN1bHQkMiIsIkJvb2xlYW4iLCJTVkdFbGVtZW50IiwiZm9jdXNTdmdJbklmcmFtZSIsImZvY3VzU3ZnIiwiZmlyc3RDaGlsZCIsImZvY3VzVGFiaW5kZXhUcmFpbGluZ0NoYXJhY3RlcnMiLCJmb2N1c1RhYmxlIiwiZnJhZ21lbnQiLCJjcmVhdGVEb2N1bWVudEZyYWdtZW50IiwiZm9jdXNWaWRlb1dpdGhvdXRDb250cm9scyIsInJlc3VsdCQzIiwidGFic2VxdWVuY2VBcmVhQXRJbWdQb3NpdGlvbiIsInRlc3RDYWxsYmFja3MiLCJ0ZXN0RGVzY3JpcHRpb25zIiwiZXhlY3V0ZVRlc3RzIiwic3VwcG9ydHNDYWNoZSIsIl9zdXBwb3J0cyIsInN1cHBvcnRzIiwidmFsaWRJbnRlZ2VyUGF0dGVybk5vVHJhaWxpbmciLCJ2YWxpZEludGVnZXJQYXR0ZXJuV2l0aFRyYWlsaW5nIiwiaXNWYWxpZFRhYmluZGV4IiwidmFsaWRJbnRlZ2VyUGF0dGVybiIsImhhc1RhYmluZGV4IiwiaGFzQXR0cmlidXRlIiwiaGFzVGFiSW5kZXgiLCJ0YWJpbmRleCIsImdldEF0dHJpYnV0ZSIsInRhYmluZGV4VmFsdWUiLCJhdHRyaWJ1dGVOYW1lIiwicGFyc2VJbnQiLCJpc05hTiIsImlzVXNlck1vZGlmeVdyaXRhYmxlIiwidXNlck1vZGlmeSIsIndlYmtpdFVzZXJNb2RpZnkiLCJpbmRleE9mIiwiaGFzQ3NzT3ZlcmZsb3dTY3JvbGwiLCJnZXRQcm9wZXJ0eVZhbHVlIiwib3ZlcmZsb3ciLCJoYXNDc3NEaXNwbGF5RmxleCIsImRpc3BsYXkiLCJpc1Njcm9sbGFibGVDb250YWluZXIiLCJwYXJlbnROb2RlTmFtZSIsInBhcmVudFN0eWxlIiwic2Nyb2xsSGVpZ2h0Iiwib2Zmc2V0V2lkdGgiLCJzY3JvbGxXaWR0aCIsInN1cHBvcnRzJDEiLCJpc0ZvY3VzUmVsZXZhbnRSdWxlcyIsIl9yZWYkZXhjZXB0IiwiZXhjZXB0IiwiZmxleGJveCIsInNjcm9sbGFibGUiLCJzaGFkb3ciLCJzdmdUeXBlIiwidmFsaWRUYWJpbmRleCIsImlzU3ZnQ29udGVudCIsImZvY3VzYWJsZUF0dHJpYnV0ZSIsImdldENvbXB1dGVkU3R5bGUiLCJoYXNMaW5rUGFyZW50IiwicGFyZW50IiwicGFyZW50RWxlbWVudCIsImlzRm9jdXNSZWxldmFudCIsInJ1bGVzIiwiZmluZEluZGV4IiwiYXJyYXkiLCJjYWxsYmFjayIsImkiLCJnZXRDb250ZW50RG9jdW1lbnQiLCJjb250ZW50RG9jdW1lbnQiLCJnZXRTVkdEb2N1bWVudCIsImdldFdpbmRvdyIsImRlZmF1bHRWaWV3Iiwic2hhZG93UHJlZml4Iiwic2VsZWN0SW5TaGFkb3dzIiwib3BlcmF0b3IiLCJyZXBsYWNlIiwic3BsaXQiLCJmaW5kRG9jdW1lbnRIb3N0RWxlbWVudCIsIl9mcmFtZUVsZW1lbnQiLCJwb3RlbnRpYWxIb3N0cyIsImdldEZyYW1lRWxlbWVudCIsImZyYW1lRWxlbWVudCIsIm5vdFJlbmRlcmVkRWxlbWVudHNQYXR0ZXJuIiwiY29tcHV0ZWRTdHlsZSIsInByb3BlcnR5Iiwibm90RGlzcGxheWVkIiwiX3BhdGgiLCJub3RWaXNpYmxlIiwiaGlkZGVuIiwidmlzaWJsZSIsImNvbGxhcHNlZFBhcmVudCIsIm9mZnNldCIsImlzVmlzaWJsZVJ1bGVzIiwibm90UmVuZGVyZWQiLCJjc3NEaXNwbGF5IiwiY3NzVmlzaWJpbGl0eSIsImRldGFpbHNFbGVtZW50IiwiYnJvd3NpbmdDb250ZXh0IiwiaXNBdWRpb1dpdGhvdXRDb250cm9scyIsIl9pc1Zpc2libGUiLCJpc1Zpc2libGUiLCJnZXRNYXBCeU5hbWUiLCJjc3NFc2NhcGUiLCJnZXRJbWFnZU9mQXJlYSIsInN1cHBvcnRzJDIiLCJpc1ZhbGlkQXJlYSIsImltZyIsImNvbXBsZXRlIiwibmF0dXJhbEhlaWdodCIsImNoaWxkT2ZJbnRlcmFjdGl2ZSIsIl9lbGVtZW50Iiwic3VwcG9ydHMkMyIsImRpc2FibGVkRWxlbWVudHNQYXR0ZXJuIiwiZGlzYWJsZWRFbGVtZW50cyIsInNlbGVjdCIsInRleHRhcmVhIiwiYnV0dG9uIiwiZmllbGRzZXQiLCJmb3JtIiwiaXNOYXRpdmVEaXNhYmxlZFN1cHBvcnRlZCIsIlJlZ0V4cCIsInN1cHBvcnRzJDQiLCJpc0Rpc2FibGVkRmllbGRzZXQiLCJpc0Rpc2FibGVkRm9ybSIsImlzRGlzYWJsZWQiLCJwYXJlbnRzIiwiaXNPbmx5VGFiYmFibGVSdWxlcyIsIm9ubHlGb2N1c2FibGVCcm93c2luZ0NvbnRleHQiLCJpc09ubHlUYWJiYWJsZSIsInN1cHBvcnRzJDUiLCJpc09ubHlGb2N1c1JlbGV2YW50IiwiX3RhYmluZGV4IiwiaXNGb2N1c2FibGVSdWxlcyIsIm9ubHlUYWJiYWJsZSIsIl9pc09ubHlUYWJiYWJsZSIsImZvY3VzUmVsZXZhbnQiLCJ2aXNpYmlsaXR5T3B0aW9ucyIsIl9ub2RlTmFtZTIiLCJfbm9kZU5hbWUiLCJpc0ZvY3VzYWJsZSIsImNyZWF0ZUZpbHRlciIsImNvbmRpdGlvbiIsImZpbHRlciIsIk5vZGVGaWx0ZXIiLCJGSUxURVJfQUNDRVBUIiwiRklMVEVSX1NLSVAiLCJhY2NlcHROb2RlIiwiUG9zc2libHlGb2N1c2FibGVGaWx0ZXIiLCJxdWVyeUZvY3VzYWJsZVN0cmljdCIsImluY2x1ZGVDb250ZXh0IiwiaW5jbHVkZU9ubHlUYWJiYWJsZSIsInN0cmF0ZWd5IiwiX2lzRm9jdXNhYmxlIiwid2Fsa2VyIiwiY3JlYXRlVHJlZVdhbGtlciIsIlNIT1dfRUxFTUVOVCIsIm5leHROb2RlIiwiY3VycmVudE5vZGUiLCJjb25jYXQiLCJ1bnNoaWZ0Iiwic3VwcG9ydHMkNiIsInNlbGVjdG9yJDEiLCJzZWxlY3RvciQyIiwicXVlcnlGb2N1c2FibGVRdWljayIsIl9zZWxlY3RvciIsImVsZW1lbnRzIiwicXVlcnlGb2N1c2FibGUiLCJfcmVmJHN0cmF0ZWd5Iiwic3VwcG9ydHMkNyIsImZvY3VzYWJsZUVsZW1lbnRzUGF0dGVybiIsImlzVGFiYmFibGVSdWxlcyIsImZyYW1lTm9kZU5hbWUiLCJpc0ZpeGVkQmxpbmsiLCJoYXNUYWJiYWJsZVRhYmluZGV4T3JOb25lIiwiaGFzVGFiYmFibGVUYWJpbmRleCIsInBvdGVudGlhbGx5VGFiYmFibGUiLCJ0YWJJbmRleCIsIl9zdHlsZSIsIl9zdHlsZTIiLCJpc0ZvY3VzUmVsZXZhbnRXaXRob3V0RmxleGJveCIsImlzVGFiYmFibGVXaXRob3V0RmxleGJveCIsImlzVGFiYmFibGUiLCJxdWVyeVRhYmJhYmxlIiwiX2lzVGFiYmFibGUiLCJjb21wYXJlRG9tUG9zaXRpb24iLCJhIiwiYiIsImNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIiwiRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIiwic29ydERvbU9yZGVyIiwic29ydCIsImdldEZpcnN0U3VjY2Vzc29yT2Zmc2V0IiwiZmluZEluc2VydGlvbk9mZnNldHMiLCJyZXNvbHZlRWxlbWVudCIsImluc2VydGlvbnMiLCJpbmplY3Rpb25zIiwiaW5zZXJ0RWxlbWVudHNBdE9mZnNldHMiLCJpbnNlcnRlZCIsImluc2VydGlvbiIsInJlbW92ZSIsImFyZ3MiLCJzcGxpY2UiLCJhcHBseSIsIm1lcmdlSW5Eb21PcmRlciIsIl9saXN0IiwiX2VsZW1lbnRzIiwiX2NyZWF0ZUNsYXNzIiwiZGVmaW5lUHJvcGVydGllcyIsInByb3BzIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImRlZmluZVByb3BlcnR5IiwiQ29uc3RydWN0b3IiLCJwcm90b1Byb3BzIiwic3RhdGljUHJvcHMiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIk1hcHMiLCJtYXBzIiwiZ2V0QXJlYXNGb3IiLCJhZGRNYXBCeU5hbWUiLCJleHRyYWN0QXJlYXNGcm9tTGlzdCIsInNvcnRBcmVhIiwidXNlbWFwcyIsImltYWdlIiwiX2NyZWF0ZUNsYXNzJDEiLCJfY2xhc3NDYWxsQ2hlY2skMSIsIlNoYWRvd3MiLCJzb3J0RWxlbWVudHMiLCJob3N0Q291bnRlciIsImluSG9zdCIsImluRG9jdW1lbnQiLCJob3N0cyIsIl9yZWdpc3Rlckhvc3QiLCJfc29ydGluZ0lkIiwicGFyZW50SG9zdCIsIl9yZWdpc3Rlckhvc3RQYXJlbnQiLCJfcmVnaXN0ZXJFbGVtZW50IiwiZXh0cmFjdEVsZW1lbnRzIiwiX2luamVjdEhvc3RzIiwiX3JlcGxhY2VIb3N0cyIsIl9jbGVhbnVwIiwiX2NvbnRleHQiLCJfbWVyZ2UiLCJtZXJnZWQiLCJfcmVzb2x2ZUhvc3RFbGVtZW50IiwiYmluZCIsInNvcnRTaGFkb3dlZCIsInNoYWRvd3MiLCJzb3J0VGFiaW5kZXgiLCJpbmRleGVzIiwibm9ybWFsIiwicmVkdWNlUmlnaHQiLCJwcmV2aW91cyIsImN1cnJlbnQiLCJzdXBwb3J0cyQ4IiwibW92ZUNvbnRleHRUb0JlZ2lubmluZyIsInBvcyIsInRtcCIsInF1ZXJ5VGFic2VxdWVuY2UiLCJjcmVhdGVTaGFkb3dSb290Iiwia2V5Y29kZSIsInRhYiIsImxlZnQiLCJ1cCIsInJpZ2h0IiwiZG93biIsInBhZ2VVcCIsInBhZ2VEb3duIiwiZW5kIiwiaG9tZSIsImVudGVyIiwiZXNjYXBlIiwic3BhY2UiLCJzaGlmdCIsImNhcHNMb2NrIiwiY3RybCIsImFsdCIsIm1ldGEiLCJwYXVzZSIsImluc2VydCIsImRlbGV0ZSIsImJhY2tzcGFjZSIsIl9hbGlhcyIsIm4iLCJfbiIsImNvZGUiLCJudW1Db2RlIiwiX24yIiwiX2NvZGUiLCJuYW1lJDEiLCJmcm9tQ2hhckNvZGUiLCJtb2RpZmllciIsIm1vZGlmaWVyU2VxdWVuY2UiLCJjcmVhdGVFeHBlY3RlZE1vZGlmaWVycyIsImlnbm9yZU1vZGlmaWVycyIsImFsdEtleSIsImN0cmxLZXkiLCJtZXRhS2V5Iiwic2hpZnRLZXkiLCJyZXNvbHZlTW9kaWZpZXJzIiwibW9kaWZpZXJzIiwiZXhwZWN0ZWQiLCJ0b2tlbiIsInByb3BlcnR5TmFtZSIsInJlc29sdmVLZXkiLCJtYXRjaE1vZGlmaWVycyIsImV2ZW50IiwicHJvcCIsImtleUJpbmRpbmciLCJ0ZXh0IiwiX3RleHQiLCJ0b2tlbnMiLCJfbW9kaWZpZXJzIiwiX2tleUNvZGVzIiwia2V5Q29kZXMiLCJnZXRQYXJlbnRDb21wYXJhdG9yIiwiaW5jbHVkZVNlbGYiLCJpc0NoaWxkT2YiLCJET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkiLCJpc1BhcmVudE9mIiwid2hlbktleSIsImJpbmRpbmdzIiwibWFwS2V5cyIsInJlZ2lzdGVyQmluZGluZyIsImFkZENhbGxiYWNrIiwiaGFuZGxlS2V5RG93biIsImRlZmF1bHRQcmV2ZW50ZWQiLCJpc1BhcmVudE9mRWxlbWVudCIsImtleUNvZGUiLCJ3aGljaCIsIl9ldmVudCIsImRpc2VuZ2FnZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicGFyYW0iLCJhbHRTaGlmdFRhYiIsInByZXZlbnREZWZhdWx0Iiwic2VxdWVuY2UiLCJiYWNrd2FyZCIsImZpcnN0IiwibGFzdCIsInNvdXJjZSIsImN1cnJlbnRJbmRleCIsImZvdW5kIiwiaW5kZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js ***! - \**********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-overlay] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n overflow: auto;\\n z-index: 9000;\\n\\n display: flex;\\n align-content: center;\\n align-items: center;\\n flex-direction: column;\\n padding: 10vh 15px 0;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n padding: 15px 15px 0;\\n }\\n }\\n\\n [data-nextjs-dialog-backdrop] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n background-color: var(--color-backdrop);\\n pointer-events: all;\\n z-index: -1;\\n }\\n\\n [data-nextjs-dialog-backdrop-fixed] {\\n cursor: not-allowed;\\n -webkit-backdrop-filter: blur(8px);\\n backdrop-filter: blur(8px);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9zdHlsZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzswQ0EyQ1NBOzs7ZUFBQUE7Ozs7MENBM0NtQjs7Ozs7Ozs7OztBQUU1QixNQUFNQSxTQUFBQSxDQUFBQSxHQUFTQyxjQUFBQSxJQUFHLEVBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvc3R5bGVzLnRzeD8zNGQ0Il0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js ***! - \********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ShadowPortal\", ({\n enumerable: true,\n get: function() {\n return ShadowPortal;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\nfunction ShadowPortal(param) {\n let { children } = param;\n let portalNode = _react.useRef(null);\n let shadowNode = _react.useRef(null);\n let [, forceUpdate] = _react.useState();\n _react.useLayoutEffect(()=>{\n const ownerDocument = document;\n portalNode.current = ownerDocument.createElement(\"nextjs-portal\");\n shadowNode.current = portalNode.current.attachShadow({\n mode: \"open\"\n });\n ownerDocument.body.appendChild(portalNode.current);\n forceUpdate({});\n return ()=>{\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current);\n }\n };\n }, []);\n return shadowNode.current ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, shadowNode.current) : null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ShadowPortal.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvU2hhZG93UG9ydGFsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0RBR2dCQTs7O2VBQUFBOzs7OzZFQUhPO3NDQUNNO0FBRXRCLFNBQVNBLGFBQWFDLEtBQTJDO0lBQTNDLE1BQUVDLFFBQVEsRUFBaUMsR0FBM0NEO0lBQzNCLElBQUlFLGFBQWFDLE9BQU1DLE1BQU0sQ0FBcUI7SUFDbEQsSUFBSUMsYUFBYUYsT0FBTUMsTUFBTSxDQUFvQjtJQUNqRCxJQUFJLEdBQUdFLFlBQVksR0FBR0gsT0FBTUksUUFBUTtJQUVwQ0osT0FBTUssZUFBZSxDQUFDO1FBQ3BCLE1BQU1DLGdCQUFnQkM7UUFDdEJSLFdBQVdTLE9BQU8sR0FBR0YsY0FBY0csYUFBYSxDQUFDO1FBQ2pEUCxXQUFXTSxPQUFPLEdBQUdULFdBQVdTLE9BQU8sQ0FBQ0UsWUFBWSxDQUFDO1lBQUVDLE1BQU07UUFBTztRQUNwRUwsY0FBY00sSUFBSSxDQUFDQyxXQUFXLENBQUNkLFdBQVdTLE9BQU87UUFDakRMLFlBQVksQ0FBQztRQUNiLE9BQU87WUFDTCxJQUFJSixXQUFXUyxPQUFPLElBQUlULFdBQVdTLE9BQU8sQ0FBQ0YsYUFBYSxFQUFFO2dCQUMxRFAsV0FBV1MsT0FBTyxDQUFDRixhQUFhLENBQUNNLElBQUksQ0FBQ0UsV0FBVyxDQUFDZixXQUFXUyxPQUFPO1lBQ3RFO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCxPQUFPTixXQUFXTSxPQUFPLEdBQ3JCTyxXQURxQixHQUNyQkEsQ0FBQUEsR0FBQUEsVUFBQUEsWUFBWSxFQUFDakIsVUFBVUksV0FBV00sT0FBTyxJQUN6QztBQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1NoYWRvd1BvcnRhbC50c3g/YjQ1ZSJdLCJuYW1lcyI6WyJTaGFkb3dQb3J0YWwiLCJwYXJhbSIsImNoaWxkcmVuIiwicG9ydGFsTm9kZSIsIlJlYWN0IiwidXNlUmVmIiwic2hhZG93Tm9kZSIsImZvcmNlVXBkYXRlIiwidXNlU3RhdGUiLCJ1c2VMYXlvdXRFZmZlY3QiLCJvd25lckRvY3VtZW50IiwiZG9jdW1lbnQiLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVDaGlsZCIsImNyZWF0ZVBvcnRhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js ***! - \***************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"EditorLink\", ({\n enumerable: true,\n get: function() {\n return EditorLink;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nfunction EditorLink(param) {\n let { file, isSourceFile, location } = param;\n var _location_line, _location_column;\n const open = (0, _useopenineditor.useOpenInEditor)({\n file,\n lineNumber: (_location_line = location == null ? void 0 : location.line) != null ? _location_line : 1,\n column: (_location_column = location == null ? void 0 : location.column) != null ? _location_column : 0\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-with-open-in-editor-link\": true,\n \"data-with-open-in-editor-link-source-file\": isSourceFile ? true : undefined,\n \"data-with-open-in-editor-link-import-trace\": isSourceFile ? undefined : true,\n tabIndex: 10,\n role: \"link\",\n onClick: open,\n title: \"Click to open in your editor\",\n children: [\n file,\n location ? \":\" + location.line + \":\" + location.column : null,\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=EditorLink.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvRWRpdG9yTGluay5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQVdnQkE7OztlQUFBQTs7Ozs7NEVBWEU7NkNBQ2M7QUFVekIsU0FBU0EsV0FBV0MsS0FBaUQ7SUFBakQsTUFBRUMsSUFBSSxFQUFFQyxZQUFZLEVBQUVDLFFBQVEsRUFBbUIsR0FBakRIO1FBR1hHLGdCQUNKQTtJQUhWLE1BQU1DLE9BQU9DLENBQUFBLEdBQUFBLGlCQUFBQSxlQUFlLEVBQUM7UUFDM0JKO1FBQ0FLLFlBQVlILENBQUFBLGlCQUFBQSxZQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxTQUFVSSxJQUFJLFlBQWRKLGlCQUFrQjtRQUM5QkssUUFBUUwsQ0FBQUEsbUJBQUFBLFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVVLLE1BQU0sWUFBaEJMLG1CQUFvQjtJQUM5QjtJQUVBLE9BQ0UsV0FERixHQUNFLElBQUFNLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsaUNBQTZCO1FBQzdCQyw2Q0FDRVgsZUFBZSxPQUFPWTtRQUV4QkMsOENBQ0ViLGVBQWVZLFlBQVk7UUFFN0JFLFVBQVU7UUFDVkMsTUFBTTtRQUNOQyxTQUFTZDtRQUNUZSxPQUFPOztZQUVObEI7WUFDQUUsV0FBVyxNQUFJQSxTQUFTSSxJQUFJLEdBQUMsTUFBR0osU0FBU0ssTUFBTSxHQUFLOzBCQUNyRCxJQUFBQyxZQUFBQyxJQUFBLEVBQUNVLE9BQUFBO2dCQUNDQyxPQUFNO2dCQUNOQyxTQUFRO2dCQUNSQyxNQUFLO2dCQUNMQyxRQUFPO2dCQUNQQyxhQUFZO2dCQUNaQyxlQUFjO2dCQUNkQyxnQkFBZTs7a0NBRWYsSUFBQWxCLFlBQUFtQixHQUFBLEVBQUNDLFFBQUFBO3dCQUFLQyxHQUFFOztrQ0FDUixJQUFBckIsWUFBQW1CLEdBQUEsRUFBQ0csWUFBQUE7d0JBQVNDLFFBQU87O2tDQUNqQixJQUFBdkIsWUFBQW1CLEdBQUEsRUFBQ3JCLFFBQUFBO3dCQUFLMEIsSUFBRzt3QkFBS0MsSUFBRzt3QkFBS0MsSUFBRzt3QkFBS0MsSUFBRzs7Ozs7O0FBSXpDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL0VkaXRvckxpbmsudHN4PzQ1YTYiXSwibmFtZXMiOlsiRWRpdG9yTGluayIsInBhcmFtIiwiZmlsZSIsImlzU291cmNlRmlsZSIsImxvY2F0aW9uIiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImxpbmVOdW1iZXIiLCJsaW5lIiwiY29sdW1uIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS13aXRoLW9wZW4taW4tZWRpdG9yLWxpbmsiLCJkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGluay1zb3VyY2UtZmlsZSIsInVuZGVmaW5lZCIsImRhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rLWltcG9ydC10cmFjZSIsInRhYkluZGV4Iiwicm9sZSIsIm9uQ2xpY2siLCJ0aXRsZSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImpzeCIsInBhdGgiLCJkIiwicG9seWxpbmUiLCJwb2ludHMiLCJ4MSIsInkxIiwieDIiLCJ5MiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js ***! - \*************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return Terminal;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(ssr)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _EditorLink = __webpack_require__(/*! ./EditorLink */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\");\nfunction getFile(lines) {\n const contentFileName = lines.shift();\n if (!contentFileName) return null;\n const [fileName, line, column] = contentFileName.split(\":\", 3);\n const parsedLine = Number(line);\n const parsedColumn = Number(column);\n const hasLocation = !Number.isNaN(parsedLine) && !Number.isNaN(parsedColumn);\n return {\n fileName: hasLocation ? fileName : contentFileName,\n location: hasLocation ? {\n line: parsedLine,\n column: parsedColumn\n } : undefined\n };\n}\nfunction getImportTraceFiles(lines) {\n if (lines.some((line)=>/ReactServerComponentsError:/.test(line)) || lines.some((line)=>/Import trace for requested module:/.test(line))) {\n // Grab the lines at the end containing the files\n const files = [];\n while(/.+\\..+/.test(lines[lines.length - 1]) && !lines[lines.length - 1].includes(\":\")){\n const file = lines.pop().trim();\n files.unshift(file);\n }\n return files;\n }\n return [];\n}\nfunction getEditorLinks(content) {\n const lines = content.split(\"\\n\");\n const file = getFile(lines);\n const importTraceFiles = getImportTraceFiles(lines);\n return {\n file,\n source: lines.join(\"\\n\"),\n importTraceFiles\n };\n}\nconst Terminal = function Terminal(param) {\n let { content } = param;\n const { file, source, importTraceFiles } = _react.useMemo(()=>getEditorLinks(content), [\n content\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(source, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n source\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-terminal\": true,\n children: [\n file && /*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: true,\n file: file.fileName,\n location: file.location\n }, file.fileName),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"pre\", {\n children: [\n decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: entry.content\n })\n }, \"terminal-entry-\" + index)),\n importTraceFiles.map((importTraceFile)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: false,\n file: importTraceFile\n }, importTraceFile))\n ]\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Terminal.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvVGVybWluYWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs0Q0F3RGFBOzs7ZUFBQUE7Ozs7Ozs0RUF4REs7NkVBQ0s7MkNBQ087d0NBQ0g7QUFJM0IsU0FBU0MsUUFBUUMsS0FBZTtJQUM5QixNQUFNQyxrQkFBa0JELE1BQU1FLEtBQUs7SUFDbkMsSUFBSSxDQUFDRCxpQkFBaUIsT0FBTztJQUM3QixNQUFNLENBQUNFLFVBQVVDLE1BQU1DLE9BQU8sR0FBR0osZ0JBQWdCSyxLQUFLLENBQUMsS0FBSztJQUU1RCxNQUFNQyxhQUFhQyxPQUFPSjtJQUMxQixNQUFNSyxlQUFlRCxPQUFPSDtJQUM1QixNQUFNSyxjQUFjLENBQUNGLE9BQU9HLEtBQUssQ0FBQ0osZUFBZSxDQUFDQyxPQUFPRyxLQUFLLENBQUNGO0lBRS9ELE9BQU87UUFDTE4sVUFBVU8sY0FBY1AsV0FBV0Y7UUFDbkNXLFVBQVVGLGNBQ047WUFDRU4sTUFBTUc7WUFDTkYsUUFBUUk7UUFDVixJQUNBSTtJQUNOO0FBQ0Y7QUFFQSxTQUFTQyxvQkFBb0JkLEtBQWU7SUFDMUMsSUFDRUEsTUFBTWUsSUFBSSxDQUFDLENBQUNYLE9BQVMsOEJBQThCWSxJQUFJLENBQUNaLFVBQ3hESixNQUFNZSxJQUFJLENBQUMsQ0FBQ1gsT0FBUyxxQ0FBcUNZLElBQUksQ0FBQ1osUUFDL0Q7UUFDQSxpREFBaUQ7UUFDakQsTUFBTWEsUUFBUSxFQUFFO1FBQ2hCLE1BQ0UsU0FBU0QsSUFBSSxDQUFDaEIsS0FBSyxDQUFDQSxNQUFNa0IsTUFBTSxHQUFHLEVBQUUsS0FDckMsQ0FBQ2xCLEtBQUssQ0FBQ0EsTUFBTWtCLE1BQU0sR0FBRyxFQUFFLENBQUNDLFFBQVEsQ0FBQyxLQUNsQztZQUNBLE1BQU1DLE9BQU9wQixNQUFNcUIsR0FBRyxHQUFJQyxJQUFJO1lBQzlCTCxNQUFNTSxPQUFPLENBQUNIO1FBQ2hCO1FBRUEsT0FBT0g7SUFDVDtJQUVBLE9BQU8sRUFBRTtBQUNYO0FBRUEsU0FBU08sZUFBZUMsT0FBZTtJQUNyQyxNQUFNekIsUUFBUXlCLFFBQVFuQixLQUFLLENBQUM7SUFDNUIsTUFBTWMsT0FBT3JCLFFBQVFDO0lBQ3JCLE1BQU0wQixtQkFBbUJaLG9CQUFvQmQ7SUFFN0MsT0FBTztRQUFFb0I7UUFBTU8sUUFBUTNCLE1BQU00QixJQUFJLENBQUM7UUFBT0Y7SUFBaUI7QUFDNUQ7QUFFTyxNQUFNNUIsV0FBb0MsU0FBU0EsU0FBUytCLEtBRWxFO0lBRmtFLE1BQ2pFSixPQUFPLEVBQ1IsR0FGa0VJO0lBR2pFLE1BQU0sRUFBRVQsSUFBSSxFQUFFTyxNQUFNLEVBQUVELGdCQUFnQixFQUFFLEdBQUdJLE9BQU1DLE9BQU8sQ0FDdEQsSUFBTVAsZUFBZUMsVUFDckI7UUFBQ0E7S0FBUTtJQUdYLE1BQU1PLFVBQVVGLE9BQU1DLE9BQU8sQ0FBQztRQUM1QixPQUFPRSxPQUFBQSxPQUFLLENBQUNDLFVBQVUsQ0FBQ1AsUUFBUTtZQUM5QlEsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLGNBQWM7UUFDaEI7SUFDRixHQUFHO1FBQUNWO0tBQU87SUFFWCxPQUNFLFdBREYsR0FDRSxJQUFBVyxZQUFBQyxJQUFBLEVBQUNDLE9BQUFBO1FBQUlDLHdCQUFvQjs7WUFDdEJyQixRQUNDLFdBRERBLEdBQ0MsSUFBQWtCLFlBQUFJLEdBQUEsRUFBQ0MsWUFBQUEsVUFBVTtnQkFDVEMsY0FBWTtnQkFFWnhCLE1BQU1BLEtBQUtqQixRQUFRO2dCQUNuQlMsVUFBVVEsS0FBS1IsUUFBUTtlQUZsQlEsS0FBS2pCLFFBQVE7MEJBS3RCLElBQUFtQyxZQUFBQyxJQUFBLEVBQUNNLE9BQUFBOztvQkFDRWIsUUFBUWMsR0FBRyxDQUFDLENBQUNDLE9BQU9DLFFBQ25CLFdBRG1CQSxHQUNuQixJQUFBVixZQUFBSSxHQUFBLEVBQUNPLFFBQUFBOzRCQUVDQyxPQUFPO2dDQUNMQyxPQUFPSixNQUFNSyxFQUFFLEdBQUcsaUJBQWVMLE1BQU1LLEVBQUUsR0FBQyxNQUFLdkM7Z0NBQy9DLEdBQUlrQyxNQUFNTSxVQUFVLEtBQUssU0FDckI7b0NBQUVDLFlBQVk7Z0NBQUksSUFDbEJQLE1BQU1NLFVBQVUsS0FBSyxXQUNyQjtvQ0FBRUUsV0FBVztnQ0FBUyxJQUN0QjFDLFNBQVM7NEJBQ2Y7c0NBRUEsa0JBQUF5QixZQUFBSSxHQUFBLEVBQUNjLGVBQUFBLGFBQWE7Z0NBQUNDLE1BQU1WLE1BQU10QixPQUFPOzsyQkFWN0Isb0JBQWtCdUI7b0JBYTFCdEIsaUJBQWlCb0IsR0FBRyxDQUFDLENBQUNZLGtCQUNyQixXQURxQkEsR0FDckIsSUFBQXBCLFlBQUFJLEdBQUEsRUFBQ0MsWUFBQUEsVUFBVTs0QkFDVEMsY0FBYzs0QkFFZHhCLE1BQU1zQzsyQkFEREE7Ozs7O0FBT2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL1Rlcm1pbmFsLnRzeD84NWFhIl0sIm5hbWVzIjpbIlRlcm1pbmFsIiwiZ2V0RmlsZSIsImxpbmVzIiwiY29udGVudEZpbGVOYW1lIiwic2hpZnQiLCJmaWxlTmFtZSIsImxpbmUiLCJjb2x1bW4iLCJzcGxpdCIsInBhcnNlZExpbmUiLCJOdW1iZXIiLCJwYXJzZWRDb2x1bW4iLCJoYXNMb2NhdGlvbiIsImlzTmFOIiwibG9jYXRpb24iLCJ1bmRlZmluZWQiLCJnZXRJbXBvcnRUcmFjZUZpbGVzIiwic29tZSIsInRlc3QiLCJmaWxlcyIsImxlbmd0aCIsImluY2x1ZGVzIiwiZmlsZSIsInBvcCIsInRyaW0iLCJ1bnNoaWZ0IiwiZ2V0RWRpdG9yTGlua3MiLCJjb250ZW50IiwiaW1wb3J0VHJhY2VGaWxlcyIsInNvdXJjZSIsImpvaW4iLCJwYXJhbSIsIlJlYWN0IiwidXNlTWVtbyIsImRlY29kZWQiLCJBbnNlciIsImFuc2lUb0pzb24iLCJqc29uIiwidXNlX2NsYXNzZXMiLCJyZW1vdmVfZW1wdHkiLCJfanN4cnVudGltZSIsImpzeHMiLCJkaXYiLCJkYXRhLW5leHRqcy10ZXJtaW5hbCIsImpzeCIsIkVkaXRvckxpbmsiLCJpc1NvdXJjZUZpbGUiLCJwcmUiLCJtYXAiLCJlbnRyeSIsImluZGV4Iiwic3BhbiIsInN0eWxlIiwiY29sb3IiLCJmZyIsImRlY29yYXRpb24iLCJmb250V2VpZ2h0IiwiZm9udFN0eWxlIiwiSG90bGlua2VkVGV4dCIsInRleHQiLCJpbXBvcnRUcmFjZUZpbGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js ***! - \**********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return _Terminal.Terminal;\n }\n}));\nconst _Terminal = __webpack_require__(/*! ./Terminal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs0Q0FBU0E7OztlQUFBQSxVQUFBQSxRQUFROzs7c0NBQVEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvaW5kZXgudHN4P2I0ZDQiXSwibmFtZXMiOlsiVGVybWluYWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js ***! - \***********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-terminal] {\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-terminal]::selection,\\n [data-nextjs-terminal] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-terminal] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n [data-nextjs-terminal] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n\\n [data-nextjs-terminal] pre {\\n white-space: pre-wrap;\\n word-break: break-word;\\n }\\n\\n [data-with-open-in-editor-link] svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n }\\n [data-with-open-in-editor-link] {\\n cursor: pointer;\\n }\\n [data-with-open-in-editor-link]:hover {\\n text-decoration: underline dotted;\\n }\\n [data-with-open-in-editor-link-source-file] {\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-with-open-in-editor-link-import-trace] {\\n margin-left: var(--size-gap-double);\\n }\\n [data-nextjs-terminal] a {\\n color: inherit;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBcURTQTs7O2VBQUFBOzs7OzBDQXJEbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9UZXJtaW5hbC9zdHlsZXMudHN4PzVkYTgiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js ***! - \*******************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Toast\", ({\n enumerable: true,\n get: function() {\n return Toast;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst Toast = function Toast(param) {\n let { onClick, children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast\": true,\n onClick: (e)=>{\n e.preventDefault();\n return onClick == null ? void 0 : onClick();\n },\n className: className,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast-wrapper\": true,\n children: children\n })\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Toast.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozt5Q0FRYUE7OztlQUFBQTs7Ozs7NkVBUlU7QUFRaEIsTUFBTUEsUUFBOEIsU0FBU0EsTUFBTUMsS0FJekQ7SUFKeUQsTUFDeERDLE9BQU8sRUFDUEMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FKeURIO0lBS3hELE9BQ0UsV0FERixHQUNFLElBQUFJLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MscUJBQWlCO1FBQ2pCTixTQUFTLENBQUNPO1lBQ1JBLEVBQUVDLGNBQWM7WUFDaEIsT0FBT1IsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUE7UUFDVDtRQUNBRSxXQUFXQTtrQkFFWCxrQkFBQUMsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtZQUFJSSw2QkFBeUI7c0JBQUVSOzs7QUFHdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QudHN4P2U2ODYiXSwibmFtZXMiOlsiVG9hc3QiLCJwYXJhbSIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIl9qc3hydW50aW1lIiwianN4IiwiZGl2IiwiZGF0YS1uZXh0anMtdG9hc3QiLCJlIiwicHJldmVudERlZmF1bHQiLCJkYXRhLW5leHRqcy10b2FzdC13cmFwcGVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js ***! - \*******************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Toast: function() {\n return _Toast.Toast;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\");\nconst _Toast = __webpack_require__(/*! ./Toast */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQ1NBLE9BQUs7ZUFBTEEsT0FBQUEsS0FBSzs7SUFETEMsUUFBTTtlQUFOQSxRQUFBQSxNQUFNOzs7b0NBQVE7bUNBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvaW5kZXgudHN4PzlhMDAiXSwibmFtZXMiOlsiVG9hc3QiLCJzdHlsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js ***! - \********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-toast] {\\n position: fixed;\\n bottom: var(--size-gap-double);\\n left: var(--size-gap-double);\\n max-width: 420px;\\n z-index: 9000;\\n }\\n\\n @media (max-width: 440px) {\\n [data-nextjs-toast] {\\n max-width: 90vw;\\n left: 5vw;\\n }\\n }\\n\\n [data-nextjs-toast-wrapper] {\\n padding: 16px;\\n border-radius: var(--size-gap-half);\\n font-weight: 500;\\n color: var(--color-ansi-bright-white);\\n background-color: var(--color-ansi-red);\\n box-shadow: 0px var(--size-gap-double) var(--size-gap-quad)\\n rgba(0, 0, 0, 0.25);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3Qvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBNkJTQTs7O2VBQUFBOzs7OzBDQTdCbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Ub2FzdC9zdHlsZXMudHM/Yzg0OCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js": -/*!*************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js ***! - \*************************************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VersionStalenessInfo: function() {\n return VersionStalenessInfo;\n },\n getStaleness: function() {\n return getStaleness;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction VersionStalenessInfo(props) {\n if (!props) return null;\n const { staleness } = props;\n let { text, indicatorClass, title } = getStaleness(props);\n if (!text) return null;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n className: \"nextjs-container-build-error-version-status\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n className: indicatorClass\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n \"data-nextjs-version-checker\": true,\n title: title,\n children: text\n }),\n \" \",\n staleness === \"fresh\" || staleness === \"newer-than-npm\" || staleness === \"unknown\" ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://nextjs.org/docs/messages/version-staleness\",\n children: \"(learn more)\"\n }),\n false ? 0 : \"\"\n ]\n });\n}\nfunction getStaleness(param) {\n let { installed, staleness, expected } = param;\n let text = \"\";\n let title = \"\";\n let indicatorClass = \"\";\n const versionLabel = \"Next.js (\" + installed + \")\";\n switch(staleness){\n case \"newer-than-npm\":\n case \"fresh\":\n text = versionLabel;\n title = \"Latest available version is detected (\" + installed + \").\";\n indicatorClass = \"fresh\";\n break;\n case \"stale-patch\":\n case \"stale-minor\":\n text = \"\" + versionLabel + \" out of date\";\n title = \"There is a newer version (\" + expected + \") available, upgrade recommended! \";\n indicatorClass = \"stale\";\n break;\n case \"stale-major\":\n {\n text = \"\" + versionLabel + \" is outdated\";\n title = \"An outdated version detected (latest is \" + expected + \"), upgrade is highly recommended!\";\n indicatorClass = \"outdated\";\n break;\n }\n case \"stale-prerelease\":\n {\n text = \"\" + versionLabel + \" is outdated\";\n title = \"There is a newer canary version (\" + expected + \") available, please upgrade! \";\n indicatorClass = \"stale\";\n break;\n }\n case \"unknown\":\n break;\n default:\n break;\n }\n return {\n text,\n indicatorClass,\n title\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=VersionStalenessInfo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vVmVyc2lvblN0YWxlbmVzc0luZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBR2dCQSxzQkFBb0I7ZUFBcEJBOztJQTZCQUMsY0FBWTtlQUFaQTs7Ozs7NEVBaENFO0FBR1gsU0FBU0QscUJBQXFCRSxLQUFrQjtJQUNyRCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUNuQixNQUFNLEVBQUVDLFNBQVMsRUFBRSxHQUFHRDtJQUN0QixJQUFJLEVBQUVFLElBQUksRUFBRUMsY0FBYyxFQUFFQyxLQUFLLEVBQUUsR0FBR0wsYUFBYUM7SUFFbkQsSUFBSSxDQUFDRSxNQUFNLE9BQU87SUFFbEIsT0FDRSxXQURGLEdBQ0UsSUFBQUcsWUFBQUMsSUFBQSxFQUFDQyxTQUFBQTtRQUFNQyxXQUFVOzswQkFDZixJQUFBSCxZQUFBSSxHQUFBLEVBQUNDLFFBQUFBO2dCQUFLRixXQUFXTDs7MEJBQ2pCLElBQUFFLFlBQUFJLEdBQUEsRUFBQ0YsU0FBQUE7Z0JBQU1JLCtCQUEyQjtnQkFBQ1AsT0FBT0E7MEJBQ3ZDRjs7WUFDTTtZQUNSRCxjQUFjLFdBQ2ZBLGNBQWMsb0JBQ2RBLGNBQWMsWUFBWSxPQUN4QixXQUR3QixHQUN4QixJQUFBSSxZQUFBSSxHQUFBLEVBQUNHLEtBQUFBO2dCQUNDQyxRQUFPO2dCQUNQQyxLQUFJO2dCQUNKQyxNQUFLOzBCQUNOOztZQUlGQyxNQUFxQixHQUFHLElBQWE7OztBQUc1QztBQUVPLFNBQVNqQixhQUFhb0IsS0FBK0M7SUFBL0MsTUFBRUMsU0FBUyxFQUFFbkIsU0FBUyxFQUFFb0IsUUFBUSxFQUFlLEdBQS9DRjtJQUMzQixJQUFJakIsT0FBTztJQUNYLElBQUlFLFFBQVE7SUFDWixJQUFJRCxpQkFBaUI7SUFDckIsTUFBTW1CLGVBQWUsY0FBWUYsWUFBVTtJQUMzQyxPQUFRbkI7UUFDTixLQUFLO1FBQ0wsS0FBSztZQUNIQyxPQUFPb0I7WUFDUGxCLFFBQVEsMkNBQXlDZ0IsWUFBVTtZQUMzRGpCLGlCQUFpQjtZQUNqQjtRQUNGLEtBQUs7UUFDTCxLQUFLO1lBQ0hELE9BQU8sS0FBR29CLGVBQWE7WUFDdkJsQixRQUFRLCtCQUE2QmlCLFdBQVM7WUFDOUNsQixpQkFBaUI7WUFDakI7UUFDRixLQUFLO1lBQWU7Z0JBQ2xCRCxPQUFPLEtBQUdvQixlQUFhO2dCQUN2QmxCLFFBQVEsNkNBQTJDaUIsV0FBUztnQkFDNURsQixpQkFBaUI7Z0JBQ2pCO1lBQ0Y7UUFDQSxLQUFLO1lBQW9CO2dCQUN2QkQsT0FBTyxLQUFHb0IsZUFBYTtnQkFDdkJsQixRQUFRLHNDQUFvQ2lCLFdBQVM7Z0JBQ3JEbEIsaUJBQWlCO2dCQUNqQjtZQUNGO1FBQ0EsS0FBSztZQUNIO1FBQ0Y7WUFDRTtJQUNKO0lBQ0EsT0FBTztRQUFFRDtRQUFNQztRQUFnQkM7SUFBTTtBQUN2QyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9WZXJzaW9uU3RhbGVuZXNzSW5mby50c3g/MmExOCJdLCJuYW1lcyI6WyJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsImdldFN0YWxlbmVzcyIsInByb3BzIiwic3RhbGVuZXNzIiwidGV4dCIsImluZGljYXRvckNsYXNzIiwidGl0bGUiLCJfanN4cnVudGltZSIsImpzeHMiLCJzbWFsbCIsImNsYXNzTmFtZSIsImpzeCIsInNwYW4iLCJkYXRhLW5leHRqcy12ZXJzaW9uLWNoZWNrZXIiLCJhIiwidGFyZ2V0IiwicmVsIiwiaHJlZiIsInByb2Nlc3MiLCJlbnYiLCJUVVJCT1BBQ0siLCJwYXJhbSIsImluc3RhbGxlZCIsImV4cGVjdGVkIiwidmVyc2lvbkxhYmVsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js": -/*!**********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js ***! - \**********************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VersionStalenessInfo: function() {\n return _VersionStalenessInfo.VersionStalenessInfo;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ./VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQ1NBLHNCQUFvQjtlQUFwQkEsc0JBQUFBLG9CQUFvQjs7SUFEcEJDLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7O29DQUFRO2tEQUNjIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1ZlcnNpb25TdGFsZW5lc3NJbmZvL2luZGV4LnRzeD8xN2RmIl0sIm5hbWVzIjpbIlZlcnNpb25TdGFsZW5lc3NJbmZvIiwic3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js ***! - \***********************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-build-error-version-status {\\n flex: 1;\\n text-align: right;\\n }\\n .nextjs-container-build-error-version-status small {\\n margin-left: var(--size-gap);\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status a {\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status span {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n border-radius: 5px;\\n background: var(--color-ansi-bright-black);\\n }\\n .nextjs-container-build-error-version-status span.fresh {\\n background: var(--color-ansi-green);\\n }\\n .nextjs-container-build-error-version-status span.stale {\\n background: var(--color-ansi-yellow);\\n }\\n .nextjs-container-build-error-version-status span.outdated {\\n background: var(--color-ansi-red);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBZ0NTQTs7O2VBQUFBOzs7OzBDQWhDbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9zdHlsZXMudHM/OTIxNCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js": -/*!*****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js ***! - \*****************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HotlinkedText\", ({\n enumerable: true,\n get: function() {\n return HotlinkedText;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _magicidentifier = __webpack_require__(/*! ../../../../../../shared/lib/magic-identifier */ \"(ssr)/./node_modules/next/dist/shared/lib/magic-identifier.js\");\nconst linkRegex = /https?:\\/\\/[^\\s/$.?#].[^\\s)'\"]*/i;\nconst splitRegexp = new RegExp(\"(\" + _magicidentifier.MAGIC_IDENTIFIER_REGEX.source + \"|\\\\s+)\");\nconst HotlinkedText = function HotlinkedText(props) {\n const { text, matcher } = props;\n const wordsAndWhitespaces = text.split(splitRegexp);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: wordsAndWhitespaces.map((word, index)=>{\n if (linkRegex.test(word)) {\n const link = linkRegex.exec(word);\n const href = link[0];\n // If link matcher is present but the link doesn't match, don't turn it into a link\n if (typeof matcher === \"function\" && !matcher(href)) {\n return word;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n href: href,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n children: word\n })\n }, \"link-\" + index);\n }\n try {\n const decodedWord = (0, _magicidentifier.decodeMagicIdentifier)(word);\n if (decodedWord !== word) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"i\", {\n children: [\n \"{\",\n decodedWord,\n \"}\"\n ]\n }, \"ident-\" + index);\n }\n } catch (e) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"i\", {\n children: [\n \"{\",\n word,\n \" (decoding failed: \",\n \"\" + e,\n \")\",\n \"}\"\n ]\n }, \"ident-\" + index);\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: word\n }, \"text-\" + index);\n })\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvaG90LWxpbmtlZC10ZXh0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBVWFBOzs7ZUFBQUE7Ozs7OzRFQVZLOzZDQUlYO0FBRVAsTUFBTUMsWUFBWTtBQUVsQixNQUFNQyxjQUFjLElBQUlDLE9BQU8sTUFBSUMsaUJBQUFBLHNCQUFzQixDQUFDQyxNQUFNLEdBQUM7QUFFMUQsTUFBTUwsZ0JBR1IsU0FBU0EsY0FBY00sS0FBSztJQUMvQixNQUFNLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFLEdBQUdGO0lBRTFCLE1BQU1HLHNCQUFzQkYsS0FBS0csS0FBSyxDQUFDUjtJQUV2QyxPQUNFLFdBREYsR0FDRSxJQUFBUyxZQUFBQyxHQUFBLEVBQUFELFlBQUFFLFFBQUE7a0JBQ0dKLG9CQUFvQkssR0FBRyxDQUFDLENBQUNDLE1BQU1DO1lBQzlCLElBQUlmLFVBQVVnQixJQUFJLENBQUNGLE9BQU87Z0JBQ3hCLE1BQU1HLE9BQU9qQixVQUFVa0IsSUFBSSxDQUFDSjtnQkFDNUIsTUFBTUssT0FBT0YsSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLG1GQUFtRjtnQkFDbkYsSUFBSSxPQUFPVixZQUFZLGNBQWMsQ0FBQ0EsUUFBUVksT0FBTztvQkFDbkQsT0FBT0w7Z0JBQ1Q7Z0JBQ0EsT0FDRSxXQURGLEdBQ0UsSUFBQUosWUFBQUMsR0FBQSxFQUFDUyxPQUFBQSxPQUFLLENBQUNSLFFBQVE7OEJBQ2Isa0JBQUFGLFlBQUFDLEdBQUEsRUFBQ1UsS0FBQUE7d0JBQUVGLE1BQU1BO3dCQUFNRyxRQUFPO3dCQUFTQyxLQUFJO2tDQUNoQ1Q7O21CQUZnQixVQUFRQztZQU1qQztZQUNBLElBQUk7Z0JBQ0YsTUFBTVMsY0FBY0MsQ0FBQUEsR0FBQUEsaUJBQUFBLHFCQUFxQixFQUFDWDtnQkFDMUMsSUFBSVUsZ0JBQWdCVixNQUFNO29CQUN4QixPQUNFLFdBREYsR0FDRSxJQUFBSixZQUFBZ0IsSUFBQSxFQUFDQyxLQUFBQTs7NEJBQ0U7NEJBQ0FIOzRCQUNBOzt1QkFISyxXQUFTVDtnQkFNckI7WUFDRixFQUFFLE9BQU9hLEdBQUc7Z0JBQ1YsT0FDRSxXQURGLEdBQ0UsSUFBQWxCLFlBQUFnQixJQUFBLEVBQUNDLEtBQUFBOzt3QkFDRTt3QkFDQWI7d0JBQUs7d0JBQW9CLEtBQUtjO3dCQUFFO3dCQUFFOzttQkFGN0IsV0FBU2I7WUFLckI7WUFDQSxPQUFPLFdBQVAsR0FBTyxJQUFBTCxZQUFBQyxHQUFBLEVBQUNTLE9BQUFBLE9BQUssQ0FBQ1IsUUFBUTswQkFBd0JFO2VBQWxCLFVBQVFDO1FBQ3RDOztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL2hvdC1saW5rZWQtdGV4dC9pbmRleC50c3g/ZWNhZiJdLCJuYW1lcyI6WyJIb3RsaW5rZWRUZXh0IiwibGlua1JlZ2V4Iiwic3BsaXRSZWdleHAiLCJSZWdFeHAiLCJNQUdJQ19JREVOVElGSUVSX1JFR0VYIiwic291cmNlIiwicHJvcHMiLCJ0ZXh0IiwibWF0Y2hlciIsIndvcmRzQW5kV2hpdGVzcGFjZXMiLCJzcGxpdCIsIl9qc3hydW50aW1lIiwianN4IiwiRnJhZ21lbnQiLCJtYXAiLCJ3b3JkIiwiaW5kZXgiLCJ0ZXN0IiwibGluayIsImV4ZWMiLCJocmVmIiwiUmVhY3QiLCJhIiwidGFyZ2V0IiwicmVsIiwiZGVjb2RlZFdvcmQiLCJkZWNvZGVNYWdpY0lkZW50aWZpZXIiLCJqc3hzIiwiaSIsImUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js ***! - \*****************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BuildError: function() {\n return BuildError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Terminal = __webpack_require__(/*! ../components/Terminal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: var(--size-gap-double) 0;\\n }\\n .nextjs-container-errors-header p {\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n white-space: pre-wrap;\\n }\\n .nextjs-container-errors-body footer {\\n margin-top: var(--size-gap);\\n }\\n .nextjs-container-errors-body footer p {\\n margin: 0;\\n }\\n\\n .nextjs-container-errors-body small {\\n color: var(--color-font);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst BuildError = function BuildError(param) {\n let { message, versionInfo } = param;\n const noop = _react.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n fixed: true,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_error_label\",\n \"aria-describedby\": \"nextjs__container_error_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: \"Build Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: \"Failed to compile\"\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Terminal.Terminal, {\n content: message\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"footer\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_build_error_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error occurred during the build process and can only be dismissed by fixing the error.\"\n })\n })\n })\n ]\n })\n ]\n })\n })\n });\n};\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=BuildError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9CdWlsZEVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWVhQSxZQUFVO2VBQVZBOztJQXlDQUMsUUFBTTtlQUFOQTs7Ozs7OzZFQXhEVTtvQ0FPaEI7cUNBQ2lCO3NDQUNDO2tEQUNZOzBDQUNUOzs7Ozs7Ozs7O0FBSXJCLE1BQU1ELGFBQXdDLFNBQVNBLFdBQVdFLEtBR3hFO0lBSHdFLE1BQ3ZFQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWixHQUh3RUY7SUFJdkUsTUFBTUcsT0FBT0MsT0FBTUMsV0FBVyxDQUFDLEtBQU8sR0FBRyxFQUFFO0lBQzNDLE9BQ0UsV0FERixHQUNFLElBQUFDLFlBQUFDLEdBQUEsRUFBQ0MsU0FBQUEsT0FBTztRQUFDQyxPQUFLO2tCQUNaLGtCQUFBSCxZQUFBQyxHQUFBLEVBQUNHLFFBQUFBLE1BQU07WUFDTEMsTUFBSztZQUNMQyxtQkFBZ0I7WUFDaEJDLG9CQUFpQjtZQUNqQkMsU0FBU1g7c0JBRVQsa0JBQUFHLFlBQUFTLElBQUEsRUFBQ0MsUUFBQUEsYUFBYTs7a0NBQ1osSUFBQVYsWUFBQVMsSUFBQSxFQUFDRSxRQUFBQSxZQUFZO3dCQUFDQyxXQUFVOzswQ0FDdEIsSUFBQVosWUFBQUMsR0FBQSxFQUFDWSxNQUFBQTtnQ0FBR0MsSUFBRzswQ0FBa0M7OzBDQUN6QyxJQUFBZCxZQUFBQyxHQUFBLEVBQUNjLEtBQUFBO2dDQUNDRCxJQUFHO2dDQUNIRixXQUFVOzBDQUNYOzs0QkFHQWhCLGNBQWMsV0FBZEEsR0FBYyxJQUFBSSxZQUFBQyxHQUFBLEVBQUNlLHNCQUFBQSxvQkFBb0I7Z0NBQUUsR0FBR3BCLFdBQVc7aUNBQU87OztrQ0FFN0QsSUFBQUksWUFBQVMsSUFBQSxFQUFDUSxRQUFBQSxVQUFVO3dCQUFDTCxXQUFVOzswQ0FDcEIsSUFBQVosWUFBQUMsR0FBQSxFQUFDaUIsVUFBQUEsUUFBUTtnQ0FBQ0MsU0FBU3hCOzswQ0FDbkIsSUFBQUssWUFBQUMsR0FBQSxFQUFDbUIsVUFBQUE7MENBQ0Msa0JBQUFwQixZQUFBQyxHQUFBLEVBQUNjLEtBQUFBO29DQUFFRCxJQUFHOzhDQUNKLGtCQUFBZCxZQUFBQyxHQUFBLEVBQUNvQixTQUFBQTtrREFBTTs7Ozs7Ozs7OztBQVd2QjtBQUVPLE1BQU01QixTQUFBQSxDQUFBQSxHQUFTNkIsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL0J1aWxkRXJyb3IudHN4PzhlNjUiXSwibmFtZXMiOlsiQnVpbGRFcnJvciIsInN0eWxlcyIsInBhcmFtIiwibWVzc2FnZSIsInZlcnNpb25JbmZvIiwibm9vcCIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJfanN4cnVudGltZSIsImpzeCIsIk92ZXJsYXkiLCJmaXhlZCIsIkRpYWxvZyIsInR5cGUiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5Iiwib25DbG9zZSIsImpzeHMiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwiY2xhc3NOYW1lIiwiaDEiLCJpZCIsInAiLCJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsIkRpYWxvZ0JvZHkiLCJUZXJtaW5hbCIsImNvbnRlbnQiLCJmb290ZXIiLCJzbWFsbCIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js": -/*!*************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js ***! - \*************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Errors: function() {\n return Errors;\n },\n styles: function() {\n return styles;\n }\n});\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _shared = __webpack_require__(/*! ../../shared */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _LeftRightDialogHeader = __webpack_require__(/*! ../components/LeftRightDialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _getErrorByType = __webpack_require__(/*! ../helpers/getErrorByType */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _CloseIcon = __webpack_require__(/*! ../icons/CloseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst _RuntimeError = __webpack_require__(/*! ./RuntimeError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"(ssr)/./node_modules/next/dist/shared/lib/error-source.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../components/hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _componentstackpseudohtml = __webpack_require__(/*! ./RuntimeError/component-stack-pseudo-html */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ../helpers/hydration-error-info */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: calc(var(--size-gap-double) * 1.5) 0;\\n color: var(--color-title-h1);\\n }\\n .nextjs-container-errors-header small {\\n font-size: var(--size-font-small);\\n color: var(--color-accents-1);\\n margin-left: var(--size-gap-double);\\n }\\n .nextjs-container-errors-header small > span {\\n font-family: var(--font-stack-monospace);\\n }\\n .nextjs-container-errors-header p {\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n white-space: pre-wrap;\\n }\\n .nextjs__container_errors_desc {\\n font-family: var(--font-stack-monospace);\\n padding: var(--size-gap) var(--size-gap-double);\\n border-left: 2px solid var(--color-text-color-red-1);\\n margin-top: var(--size-gap);\\n font-weight: bold;\\n color: var(--color-text-color-red-1);\\n background-color: var(--color-text-background-red-1);\\n }\\n p.nextjs__container_errors__notes {\\n margin: var(--size-gap-double) auto;\\n color: var(--color-stack-notes);\\n font-weight: 600;\\n font-size: 15px;\\n }\\n .nextjs-container-errors-header > div > small {\\n margin: 0;\\n margin-top: var(--size-gap-half);\\n }\\n .nextjs-container-errors-header > p > a {\\n color: inherit;\\n font-weight: bold;\\n }\\n .nextjs-container-errors-body > h2:not(:first-child) {\\n margin-top: calc(var(--size-gap-double) + var(--size-gap));\\n }\\n .nextjs-container-errors-body > h2 {\\n color: var(--color-title-color);\\n margin-bottom: var(--size-gap);\\n font-size: var(--size-font-big);\\n }\\n .nextjs__container_errors__component-stack {\\n padding: 12px 32px;\\n color: var(--color-ansi-fg);\\n background: var(--color-ansi-bg);\\n }\\n .nextjs-toast-errors-parent {\\n cursor: pointer;\\n transition: transform 0.2s ease;\\n }\\n .nextjs-toast-errors-parent:hover {\\n transform: scale(1.1);\\n }\\n .nextjs-toast-errors {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n }\\n .nextjs-toast-errors > svg {\\n margin-right: var(--size-gap);\\n }\\n .nextjs-toast-errors-hide-button {\\n margin-left: var(--size-gap-triple);\\n border: none;\\n background: none;\\n color: var(--color-ansi-bright-white);\\n padding: 0;\\n transition: opacity 0.25s ease;\\n opacity: 0.7;\\n }\\n .nextjs-toast-errors-hide-button:hover {\\n opacity: 1;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction isNextjsLink(text) {\n return text.startsWith(\"https://nextjs.org\");\n}\nfunction getErrorSignature(ev) {\n const { event } = ev;\n switch(event.type){\n case _shared.ACTION_UNHANDLED_ERROR:\n case _shared.ACTION_UNHANDLED_REJECTION:\n {\n return event.reason.name + \"::\" + event.reason.message + \"::\" + event.reason.stack;\n }\n default:\n {}\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n return \"\";\n}\nfunction Errors(param) {\n let { isAppDir, errors, initialDisplayState, versionInfo } = param;\n var _activeError_componentStackFrames;\n const [lookups, setLookups] = (0, _react.useState)({});\n const [readyErrors, nextError] = (0, _react.useMemo)(()=>{\n let ready = [];\n let next = null;\n // Ensure errors are displayed in the order they occurred in:\n for(let idx = 0; idx < errors.length; ++idx){\n const e = errors[idx];\n const { id } = e;\n if (id in lookups) {\n ready.push(lookups[id]);\n continue;\n }\n // Check for duplicate errors\n if (idx > 0) {\n const prev = errors[idx - 1];\n if (getErrorSignature(prev) === getErrorSignature(e)) {\n continue;\n }\n }\n next = e;\n break;\n }\n return [\n ready,\n next\n ];\n }, [\n errors,\n lookups\n ]);\n const isLoading = (0, _react.useMemo)(()=>{\n return readyErrors.length < 1 && Boolean(errors.length);\n }, [\n errors.length,\n readyErrors.length\n ]);\n (0, _react.useEffect)(()=>{\n if (nextError == null) {\n return;\n }\n let mounted = true;\n (0, _getErrorByType.getErrorByType)(nextError, isAppDir).then((resolved)=>{\n // We don't care if the desired error changed while we were resolving,\n // thus we're not tracking it using a ref. Once the work has been done,\n // we'll store it.\n if (mounted) {\n setLookups((m)=>({\n ...m,\n [resolved.id]: resolved\n }));\n }\n }, ()=>{\n // TODO: handle this, though an edge case\n });\n return ()=>{\n mounted = false;\n };\n }, [\n nextError,\n isAppDir\n ]);\n const [displayState, setDisplayState] = (0, _react.useState)(initialDisplayState);\n const [activeIdx, setActiveIndex] = (0, _react.useState)(0);\n const previous = (0, _react.useCallback)(()=>setActiveIndex((v)=>Math.max(0, v - 1)), []);\n const next = (0, _react.useCallback)(()=>setActiveIndex((v)=>Math.max(0, Math.min(readyErrors.length - 1, v + 1))), [\n readyErrors.length\n ]);\n const activeError = (0, _react.useMemo)(()=>{\n var _readyErrors_activeIdx;\n return (_readyErrors_activeIdx = readyErrors[activeIdx]) != null ? _readyErrors_activeIdx : null;\n }, [\n activeIdx,\n readyErrors\n ]);\n // Reset component state when there are no errors to be displayed.\n // This should never happen, but lets handle it.\n (0, _react.useEffect)(()=>{\n if (errors.length < 1) {\n setLookups({});\n setDisplayState(\"hidden\");\n setActiveIndex(0);\n }\n }, [\n errors.length\n ]);\n const minimize = (0, _react.useCallback)(()=>setDisplayState(\"minimized\"), []);\n const hide = (0, _react.useCallback)(()=>setDisplayState(\"hidden\"), []);\n const fullscreen = (0, _react.useCallback)(()=>setDisplayState(\"fullscreen\"), []);\n // This component shouldn't be rendered with no errors, but if it is, let's\n // handle it gracefully by rendering nothing.\n if (errors.length < 1 || activeError == null) {\n return null;\n }\n if (isLoading) {\n // TODO: better loading state\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {});\n }\n if (displayState === \"hidden\") {\n return null;\n }\n if (displayState === \"minimized\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Toast.Toast, {\n className: \"nextjs-toast-errors-parent\",\n onClick: fullscreen,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n className: \"nextjs-toast-errors\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n readyErrors.length,\n \" error\",\n readyErrors.length > 1 ? \"s\" : \"\"\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-toast-errors-hide-button\": true,\n className: \"nextjs-toast-errors-hide-button\",\n type: \"button\",\n onClick: (e)=>{\n e.stopPropagation();\n hide();\n },\n \"aria-label\": \"Hide Errors\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n ]\n })\n });\n }\n const error = activeError.error;\n const isServerError = [\n \"server\",\n \"edge-server\"\n ].includes((0, _errorsource.getErrorSource)(error) || \"\");\n const errorDetails = error.details || {};\n const [warningTemplate, serverContent, clientContent] = errorDetails.warning || [\n null,\n \"\",\n \"\"\n ];\n const hydrationErrorType = (0, _hydrationerrorinfo.getHydrationWarningType)(warningTemplate);\n const hydrationWarning = warningTemplate ? warningTemplate.replace(\"%s\", serverContent).replace(\"%s\", clientContent).replace(\"%s\", \"\") // remove the %s for stack\n .replace(/%s$/, \"\") // If there's still a %s at the end, remove it\n .replace(/^Warning: /, \"\") : null;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_errors_label\",\n \"aria-describedby\": \"nextjs__container_errors_desc\",\n onClose: isServerError ? undefined : minimize,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_LeftRightDialogHeader.LeftRightDialogHeader, {\n previous: activeIdx > 0 ? previous : null,\n next: activeIdx < readyErrors.length - 1 ? next : null,\n close: isServerError ? undefined : minimize,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: activeIdx + 1\n }),\n \" of\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-dialog-header-total-count\": true,\n children: readyErrors.length\n }),\n \" error\",\n readyErrors.length < 2 ? \"\" : \"s\"\n ]\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: isServerError ? \"Server Error\" : \"Unhandled Runtime Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: [\n error.name,\n \":\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: error.message,\n matcher: isNextjsLink\n })\n ]\n }),\n hydrationWarning && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors__notes\",\n className: \"nextjs__container_errors__notes\",\n children: hydrationWarning\n }),\n ((_activeError_componentStackFrames = activeError.componentStackFrames) == null ? void 0 : _activeError_componentStackFrames.length) ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_componentstackpseudohtml.PseudoHtmlDiff, {\n className: \"nextjs__container_errors__component-stack\",\n hydrationMismatchType: hydrationErrorType,\n componentStackFrames: activeError.componentStackFrames,\n firstContent: serverContent,\n secondContent: clientContent\n }) : null\n ]\n }),\n isServerError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error happened while generating the page. Any console logs will be displayed in the terminal window.\"\n })\n }) : undefined\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_RuntimeError.RuntimeError, {\n error: activeError\n }, activeError.id.toString())\n })\n ]\n })\n })\n });\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Errors.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9FcnJvcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBa0VnQkEsUUFBTTtlQUFOQTs7SUF3UEhDLFFBQU07ZUFBTkE7Ozs7O21DQTFUNkM7b0NBTW5EO29DQU1BO21EQUMrQjtxQ0FDZDttQ0FDRjs0Q0FDUzswQ0FFSDt1Q0FDRjswQ0FDRztrREFDUTt5Q0FFTjsyQ0FDRDtzREFDQztnREFJeEI7Ozs7Ozs7Ozs7QUFpQlAsU0FBU0MsYUFBYUMsSUFBWTtJQUNoQyxPQUFPQSxLQUFLQyxVQUFVLENBQUM7QUFDekI7QUFFQSxTQUFTQyxrQkFBa0JDLEVBQXVCO0lBQ2hELE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdEO0lBQ2xCLE9BQVFDLE1BQU1DLElBQUk7UUFDaEIsS0FBS0MsUUFBQUEsc0JBQXNCO1FBQzNCLEtBQUtDLFFBQUFBLDBCQUEwQjtZQUFFO2dCQUMvQixPQUFPSCxNQUFTSSxNQUFNLENBQUNDLElBQUksR0FBQyxPQUFJTCxNQUFNSSxNQUFNLENBQUNFLE9BQU8sR0FBQyxPQUFJTixNQUFNSSxNQUFNLENBQUNHLEtBQUs7WUFDN0U7UUFDQTtZQUFTLENBQ1Q7SUFDRjtJQUVBLDZEQUE2RDtJQUM3RCxNQUFNQyxJQUFXUjtJQUNqQixPQUFPO0FBQ1Q7QUFFTyxTQUFTUCxPQUFPZ0IsS0FLVDtJQUxTLE1BQ3JCQyxRQUFRLEVBQ1JDLE1BQU0sRUFDTkMsbUJBQW1CLEVBQ25CQyxXQUFXLEVBQ0MsR0FMU0o7UUEyTk5LO0lBck5mLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHQyxDQUFBQSxHQUFBQSxPQUFBQSxRQUFRLEVBQ3BDLENBQUM7SUFHSCxNQUFNLENBQUNDLGFBQWFDLFVBQVUsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsT0FBTyxFQUV0QztRQUNBLElBQUlDLFFBQTJCLEVBQUU7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d0NBQ0NwRixJQUFHO3dDQUNINEIsV0FBVTtrREFFVHlDOztvQ0FFRmpGLENBQUFBLENBQUFBLG9DQUFBQSxZQUFZb0csb0JBQW9CLHFCQUFoQ3BHLGtDQUFrQ1UsTUFBTSxJQUN2QyxXQUR1QyxHQUN2QyxJQUFBMEIsWUFBQUMsR0FBQSxFQUFDZ0UsMEJBQUFBLGNBQWM7d0NBQ2I3RCxXQUFVO3dDQUNWOEQsdUJBQXVCdkI7d0NBQ3ZCcUIsc0JBQXNCcEcsWUFBWW9HLG9CQUFvQjt3Q0FDdERHLGNBQWMzQjt3Q0FDZDRCLGVBQWUzQjt5Q0FFZjs7OzRCQUdQUCxnQkFDQyxXQUREQSxHQUNDLElBQUFsQyxZQUFBQyxHQUFBLEVBQUNNLE9BQUFBOzBDQUNDLGtCQUFBUCxZQUFBQyxHQUFBLEVBQUN1RCxTQUFBQTs4Q0FBTTs7aUNBS1BMOzs7a0NBRU4sSUFBQW5ELFlBQUFDLEdBQUEsRUFBQ29FLFFBQUFBLFVBQVU7d0JBQUNqRSxXQUFVO2tDQUNwQixrQkFBQUosWUFBQUMsR0FBQSxFQUFDcUUsY0FBQUEsWUFBWTs0QkFBaUNyQyxPQUFPckU7MkJBQWxDQSxZQUFZWSxFQUFFLENBQUMrRixRQUFROzs7Ozs7QUFNdEQ7QUFFTyxNQUFNL0gsU0FBQUEsQ0FBQUEsR0FBU2dJLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9FcnJvcnMudHN4PzhhMzQiXSwibmFtZXMiOlsiRXJyb3JzIiwic3R5bGVzIiwiaXNOZXh0anNMaW5rIiwidGV4dCIsInN0YXJ0c1dpdGgiLCJnZXRFcnJvclNpZ25hdHVyZSIsImV2IiwiZXZlbnQiLCJ0eXBlIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwicmVhc29uIiwibmFtZSIsIm1lc3NhZ2UiLCJzdGFjayIsIl8iLCJwYXJhbSIsImlzQXBwRGlyIiwiZXJyb3JzIiwiaW5pdGlhbERpc3BsYXlTdGF0ZSIsInZlcnNpb25JbmZvIiwiYWN0aXZlRXJyb3IiLCJsb29rdXBzIiwic2V0TG9va3VwcyIsInVzZVN0YXRlIiwicmVhZHlFcnJvcnMiLCJuZXh0RXJyb3IiLCJ1c2VNZW1vIiwicmVhZHkiLCJuZXh0IiwiaWR4IiwibGVuZ3RoIiwiZSIsImlkIiwicHVzaCIsInByZXYiLCJpc0xvYWRpbmciLCJCb29sZWFuIiwidXNlRWZmZWN0IiwibW91bnRlZCIsImdldEVycm9yQnlUeXBlIiwidGhlbiIsInJlc29sdmVkIiwibSIsImRpc3BsYXlTdGF0ZSIsInNldERpc3BsYXlTdGF0ZSIsImFjdGl2ZUlkeCIsInNldEFjdGl2ZUluZGV4IiwicHJldmlvdXMiLCJ1c2VDYWxsYmFjayIsInYiLCJNYXRoIiwibWF4IiwibWluIiwibWluaW1pemUiLCJoaWRlIiwiZnVsbHNjcmVlbiIsIl9qc3hydW50aW1lIiwianN4IiwiT3ZlcmxheSIsIlRvYXN0IiwiY2xhc3NOYW1lIiwib25DbGljayIsImpzeHMiLCJkaXYiLCJzdmciLCJ4bWxucyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImNpcmNsZSIsImN4IiwiY3kiLCJyIiwibGluZSIsIngxIiwieTEiLCJ4MiIsInkyIiwic3BhbiIsImJ1dHRvbiIsImRhdGEtbmV4dGpzLXRvYXN0LWVycm9ycy1oaWRlLWJ1dHRvbiIsInN0b3BQcm9wYWdhdGlvbiIsImFyaWEtbGFiZWwiLCJDbG9zZUljb24iLCJlcnJvciIsImlzU2VydmVyRXJyb3IiLCJpbmNsdWRlcyIsImdldEVycm9yU291cmNlIiwiZXJyb3JEZXRhaWxzIiwiZGV0YWlscyIsIndhcm5pbmdUZW1wbGF0ZSIsInNlcnZlckNvbnRlbnQiLCJjbGllbnRDb250ZW50Iiwid2FybmluZyIsImh5ZHJhdGlvbkVycm9yVHlwZSIsImdldEh5ZHJhdGlvbldhcm5pbmdUeXBlIiwiaHlkcmF0aW9uV2FybmluZyIsInJlcGxhY2UiLCJEaWFsb2ciLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5Iiwib25DbG9zZSIsInVuZGVmaW5lZCIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dIZWFkZXIiLCJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJjbG9zZSIsInNtYWxsIiwiZGF0YS1uZXh0anMtZGlhbG9nLWhlYWRlci10b3RhbC1jb3VudCIsIlZlcnNpb25TdGFsZW5lc3NJbmZvIiwiaDEiLCJwIiwiSG90bGlua2VkVGV4dCIsIm1hdGNoZXIiLCJGcmFnbWVudCIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwiUHNldWRvSHRtbERpZmYiLCJoeWRyYXRpb25NaXNtYXRjaFR5cGUiLCJmaXJzdENvbnRlbnQiLCJzZWNvbmRDb250ZW50IiwiRGlhbG9nQm9keSIsIlJ1bnRpbWVFcnJvciIsInRvU3RyaW5nIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js": -/*!**********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js ***! - \**********************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CallStackFrame\", ({\n enumerable: true,\n get: function() {\n return CallStackFrame;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../../components/hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst CallStackFrame = function CallStackFrame(param) {\n let { frame } = param;\n var _frame_originalStackFrame;\n // TODO: ability to expand resolved frames\n // TODO: render error or external indicator\n const f = (_frame_originalStackFrame = frame.originalStackFrame) != null ? _frame_originalStackFrame : frame.sourceStackFrame;\n const hasSource = Boolean(frame.originalCodeFrame);\n const open = (0, _useopenineditor.useOpenInEditor)(hasSource ? {\n file: f.file,\n lineNumber: f.lineNumber,\n column: f.column\n } : undefined);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-call-stack-frame\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n \"data-nextjs-frame-expanded\": Boolean(frame.expanded),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: f.methodName\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-has-source\": hasSource ? \"true\" : undefined,\n tabIndex: hasSource ? 10 : undefined,\n role: hasSource ? \"link\" : undefined,\n onClick: open,\n title: hasSource ? \"Click to open in your editor\" : undefined,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: (0, _stackframe.getFrameSource)(f)\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CallStackFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvQ2FsbFN0YWNrRnJhbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFRYUE7OztlQUFBQTs7Ozt3Q0FKTjs2Q0FDeUI7MkNBQ0Y7QUFFdkIsTUFBTUEsaUJBRVIsU0FBU0EsZUFBZUMsS0FBUztJQUFULE1BQUVDLEtBQUssRUFBRSxHQUFURDtRQUlMQztJQUh0QiwwQ0FBMEM7SUFDMUMsMkNBQTJDO0lBRTNDLE1BQU1DLElBQWdCRCxDQUFBQSw0QkFBQUEsTUFBTUUsa0JBQWtCLFlBQXhCRiw0QkFBNEJBLE1BQU1HLGdCQUFnQjtJQUN4RSxNQUFNQyxZQUFZQyxRQUFRTCxNQUFNTSxpQkFBaUI7SUFDakQsTUFBTUMsT0FBT0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFDMUJKLFlBQ0k7UUFDRUssTUFBTVIsRUFBRVEsSUFBSTtRQUNaQyxZQUFZVCxFQUFFUyxVQUFVO1FBQ3hCQyxRQUFRVixFQUFFVSxNQUFNO0lBQ2xCLElBQ0FDO0lBR04sT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUFJQyxnQ0FBNEI7OzBCQUMvQixJQUFBSCxZQUFBSSxHQUFBLEVBQUNDLE1BQUFBO2dCQUFHQyw4QkFBNEJkLFFBQVFMLE1BQU1vQixRQUFROzBCQUNwRCxrQkFBQVAsWUFBQUksR0FBQSxFQUFDSSxlQUFBQSxhQUFhO29CQUFDQyxNQUFNckIsRUFBRXNCLFVBQVU7OzswQkFFbkMsSUFBQVYsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtnQkFDQ1MsbUJBQWlCcEIsWUFBWSxTQUFTUTtnQkFDdENhLFVBQVVyQixZQUFZLEtBQUtRO2dCQUMzQmMsTUFBTXRCLFlBQVksU0FBU1E7Z0JBQzNCZSxTQUFTcEI7Z0JBQ1RxQixPQUFPeEIsWUFBWSxpQ0FBaUNROztrQ0FFcEQsSUFBQUMsWUFBQUksR0FBQSxFQUFDWSxRQUFBQTtrQ0FBTUMsQ0FBQUEsR0FBQUEsWUFBQUEsY0FBYyxFQUFDN0I7O2tDQUN0QixJQUFBWSxZQUFBQyxJQUFBLEVBQUNpQixPQUFBQTt3QkFDQ0MsT0FBTTt3QkFDTkMsU0FBUTt3QkFDUkMsTUFBSzt3QkFDTEMsUUFBTzt3QkFDUEMsYUFBWTt3QkFDWkMsZUFBYzt3QkFDZEMsZ0JBQWU7OzBDQUVmLElBQUF6QixZQUFBSSxHQUFBLEVBQUNzQixRQUFBQTtnQ0FBS0MsR0FBRTs7MENBQ1IsSUFBQTNCLFlBQUFJLEdBQUEsRUFBQ3dCLFlBQUFBO2dDQUFTQyxRQUFPOzswQ0FDakIsSUFBQTdCLFlBQUFJLEdBQUEsRUFBQzBCLFFBQUFBO2dDQUFLQyxJQUFHO2dDQUFLQyxJQUFHO2dDQUFLQyxJQUFHO2dDQUFLQyxJQUFHOzs7Ozs7OztBQUszQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9DYWxsU3RhY2tGcmFtZS50c3g/YjZjMyJdLCJuYW1lcyI6WyJDYWxsU3RhY2tGcmFtZSIsInBhcmFtIiwiZnJhbWUiLCJmIiwib3JpZ2luYWxTdGFja0ZyYW1lIiwic291cmNlU3RhY2tGcmFtZSIsImhhc1NvdXJjZSIsIkJvb2xlYW4iLCJvcmlnaW5hbENvZGVGcmFtZSIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsInVuZGVmaW5lZCIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWUiLCJqc3giLCJoMyIsImRhdGEtbmV4dGpzLWZyYW1lLWV4cGFuZGVkIiwiZXhwYW5kZWQiLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsIm1ldGhvZE5hbWUiLCJkYXRhLWhhcy1zb3VyY2UiLCJ0YWJJbmRleCIsInJvbGUiLCJvbkNsaWNrIiwidGl0bGUiLCJzcGFuIiwiZ2V0RnJhbWVTb3VyY2UiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJwYXRoIiwiZCIsInBvbHlsaW5lIiwicG9pbnRzIiwibGluZSIsIngxIiwieTEiLCJ4MiIsInkyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js": -/*!**************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js ***! - \**************************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"GroupedStackFrames\", ({\n enumerable: true,\n get: function() {\n return GroupedStackFrames;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _CallStackFrame = __webpack_require__(/*! ./CallStackFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\");\nconst _CollapseIcon = __webpack_require__(/*! ../../icons/CollapseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\");\nconst _FrameworkIcon = __webpack_require__(/*! ../../icons/FrameworkIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js\");\nfunction FrameworkGroup(param) {\n let { framework, stackFrames } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"details\", {\n \"data-nextjs-collapsed-call-stack-details\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"summary\", {\n tabIndex: 10,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CollapseIcon.CollapseIcon, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_FrameworkIcon.FrameworkIcon, {\n framework: framework\n }),\n framework === \"react\" ? \"React\" : \"Next.js\"\n ]\n }),\n stackFrames.map((frame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + index))\n ]\n });\n}\nfunction GroupedStackFrames(param) {\n let { groupedStackFrames, show } = param;\n if (!show) return;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: groupedStackFrames.map((stackFramesGroup, groupIndex)=>{\n // Collapse React and Next.js frames\n if (stackFramesGroup.framework) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(FrameworkGroup, {\n framework: stackFramesGroup.framework,\n stackFrames: stackFramesGroup.stackFrames\n }, \"call-stack-framework-group-\" + groupIndex);\n }\n return stackFramesGroup.stackFrames.map((frame, frameIndex)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + groupIndex + \"-\" + frameIndex));\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=GroupedStackFrames.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvR3JvdXBlZFN0YWNrRnJhbWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBMkJnQkE7OztlQUFBQTs7Ozs0Q0ExQmU7MENBQ0Y7MkNBQ0M7QUFFOUIsU0FBU0MsZUFBZUMsS0FNdkI7SUFOdUIsTUFDdEJDLFNBQVMsRUFDVEMsV0FBVyxFQUlaLEdBTnVCRjtJQU90QixPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxJQUFBLEVBQUNDLFdBQUFBO1FBQVFDLDRDQUF3Qzs7MEJBRS9DLElBQUFILFlBQUFDLElBQUEsRUFBQ0csV0FBQUE7Z0JBQVFDLFVBQVU7O2tDQUNqQixJQUFBTCxZQUFBTSxHQUFBLEVBQUNDLGNBQUFBLFlBQVk7a0NBQ2IsSUFBQVAsWUFBQU0sR0FBQSxFQUFDRSxlQUFBQSxhQUFhO3dCQUFDVixXQUFXQTs7b0JBQ3pCQSxjQUFjLFVBQVUsVUFBVTs7O1lBRXBDQyxZQUFZVSxHQUFHLENBQUMsQ0FBQ0MsT0FBT0MsUUFDdkIsV0FEdUJBLEdBQ3ZCLElBQUFYLFlBQUFNLEdBQUEsRUFBQ00sZ0JBQUFBLGNBQWM7b0JBQTZCRixPQUFPQTttQkFBOUIsZ0JBQWNDOzs7QUFJM0M7QUFFTyxTQUFTaEIsbUJBQW1CRSxLQU1sQztJQU5rQyxNQUNqQ2dCLGtCQUFrQixFQUNsQkMsSUFBSSxFQUlMLEdBTmtDakI7SUFPakMsSUFBSSxDQUFDaUIsTUFBTTtJQUNYLE9BQ0UsV0FERixHQUNFLElBQUFkLFlBQUFNLEdBQUEsRUFBQU4sWUFBQWUsUUFBQTtrQkFDR0YsbUJBQW1CSixHQUFHLENBQUMsQ0FBQ08sa0JBQWtCQztZQUN6QyxvQ0FBb0M7WUFDcEMsSUFBSUQsaUJBQWlCbEIsU0FBUyxFQUFFO2dCQUM5QixPQUNFLFdBREYsR0FDRSxJQUFBRSxZQUFBTSxHQUFBLEVBQUNWLGdCQUFBQTtvQkFFQ0UsV0FBV2tCLGlCQUFpQmxCLFNBQVM7b0JBQ3JDQyxhQUFhaUIsaUJBQWlCakIsV0FBVzttQkFGcEMsZ0NBQThCa0I7WUFLekM7WUFFQSxPQUVFRCxpQkFBaUJqQixXQUFXLENBQUNVLEdBQUcsQ0FBQyxDQUFDQyxPQUFPUSxhQUN2QyxXQUR1Q0EsR0FDdkMsSUFBQWxCLFlBQUFNLEdBQUEsRUFBQ00sZ0JBQUFBLGNBQWM7b0JBRWJGLE9BQU9BO21CQURGLGdCQUFjTyxhQUFXLE1BQUdDO1FBS3pDOztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvUnVudGltZUVycm9yL0dyb3VwZWRTdGFja0ZyYW1lcy50c3g/NjA5MiJdLCJuYW1lcyI6WyJHcm91cGVkU3RhY2tGcmFtZXMiLCJGcmFtZXdvcmtHcm91cCIsInBhcmFtIiwiZnJhbWV3b3JrIiwic3RhY2tGcmFtZXMiLCJfanN4cnVudGltZSIsImpzeHMiLCJkZXRhaWxzIiwiZGF0YS1uZXh0anMtY29sbGFwc2VkLWNhbGwtc3RhY2stZGV0YWlscyIsInN1bW1hcnkiLCJ0YWJJbmRleCIsImpzeCIsIkNvbGxhcHNlSWNvbiIsIkZyYW1ld29ya0ljb24iLCJtYXAiLCJmcmFtZSIsImluZGV4IiwiQ2FsbFN0YWNrRnJhbWUiLCJncm91cGVkU3RhY2tGcmFtZXMiLCJzaG93IiwiRnJhZ21lbnQiLCJzdGFja0ZyYW1lc0dyb3VwIiwiZ3JvdXBJbmRleCIsImZyYW1lSW5kZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js": -/*!***********************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js ***! - \***********************************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PseudoHtmlDiff\", ({\n enumerable: true,\n get: function() {\n return PseudoHtmlDiff;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _CollapseIcon = __webpack_require__(/*! ../../icons/CollapseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\");\nfunction getAdjacentProps(isAdj) {\n return {\n \"data-nextjs-container-errors-pseudo-html--tag-adjacent\": isAdj\n };\n}\nfunction PseudoHtmlDiff(param) {\n let { componentStackFrames, firstContent, secondContent, hydrationMismatchType, ...props } = param;\n const isHtmlTagsWarning = hydrationMismatchType === \"tag\";\n // For text mismatch, mismatched text will take 2 rows, so we display 4 rows of component stack\n const MAX_NON_COLLAPSED_FRAMES = isHtmlTagsWarning ? 6 : 4;\n const shouldCollapse = componentStackFrames.length > MAX_NON_COLLAPSED_FRAMES;\n const [isHtmlCollapsed, toggleCollapseHtml] = (0, _react.useState)(shouldCollapse);\n const htmlComponents = (0, _react.useMemo)(()=>{\n const tagNames = isHtmlTagsWarning ? [\n firstContent.replace(/<|>/g, \"\"),\n secondContent.replace(/<|>/g, \"\")\n ] : [];\n const nestedHtmlStack = [];\n let lastText = \"\";\n const componentStack = componentStackFrames.map((frame)=>frame.component).reverse();\n // [child index, parent index]\n const matchedIndex = [\n -1,\n -1\n ];\n if (isHtmlTagsWarning) {\n // Reverse search for the child tag\n for(let i = componentStack.length - 1; i >= 0; i--){\n if (componentStack[i] === tagNames[0]) {\n matchedIndex[0] = i;\n break;\n }\n }\n // Start searching parent tag from child tag above\n for(let i = matchedIndex[0] - 1; i >= 0; i--){\n if (componentStack[i] === tagNames[1]) {\n matchedIndex[1] = i;\n break;\n }\n }\n }\n componentStack.forEach((component, index, componentList)=>{\n const spaces = \" \".repeat(nestedHtmlStack.length * 2);\n // const prevComponent = componentList[index - 1]\n // const nextComponent = componentList[index + 1]\n // When component is the server or client tag name, highlight it\n const isHighlightedTag = isHtmlTagsWarning ? index === matchedIndex[0] || index === matchedIndex[1] : tagNames.includes(component);\n const isAdjacentTag = isHighlightedTag || Math.abs(index - matchedIndex[0]) <= 1 || Math.abs(index - matchedIndex[1]) <= 1;\n const isLastFewFrames = !isHtmlTagsWarning && index >= componentList.length - 6;\n const adjProps = getAdjacentProps(isAdjacentTag);\n if (isHtmlTagsWarning && isAdjacentTag || isLastFewFrames) {\n const codeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n spaces,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n ...adjProps,\n ...isHighlightedTag ? {\n \"data-nextjs-container-errors-pseudo-html--tag-error\": true\n } : undefined,\n children: \"<\" + component + \">\\n\"\n })\n ]\n });\n lastText = component;\n const wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n codeLine,\n isHighlightedTag && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--hint\": true,\n children: spaces + \"^\".repeat(component.length + 2) + \"\\n\"\n })\n ]\n }, nestedHtmlStack.length);\n nestedHtmlStack.push(wrappedCodeLine);\n } else {\n if (nestedHtmlStack.length >= MAX_NON_COLLAPSED_FRAMES && isHtmlCollapsed) {\n return;\n }\n if (!isHtmlCollapsed || isLastFewFrames) {\n nestedHtmlStack.push(/*#__PURE__*/ (0, _react.createElement)(\"span\", {\n ...adjProps,\n key: nestedHtmlStack.length,\n children: [\n spaces,\n \"<\" + component + \">\\n\"\n ]\n }));\n } else if (isHtmlCollapsed && lastText !== \"...\") {\n lastText = \"...\";\n nestedHtmlStack.push(/*#__PURE__*/ (0, _react.createElement)(\"span\", {\n ...adjProps,\n key: nestedHtmlStack.length,\n children: [\n spaces,\n \"...\\n\"\n ]\n }));\n }\n }\n });\n // Hydration mismatch: text or text-tag\n if (!isHtmlTagsWarning) {\n const spaces = \" \".repeat(nestedHtmlStack.length * 2);\n let wrappedCodeLine;\n if (hydrationMismatchType === \"text\") {\n // hydration type is \"text\", represent [server content, client content]\n wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-remove\": true,\n children: spaces + ('\"' + firstContent + '\"\\n')\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-add\": true,\n children: spaces + ('\"' + secondContent + '\"\\n')\n })\n ]\n }, nestedHtmlStack.length);\n } else {\n // hydration type is \"text-in-tag\", represent [parent tag, mismatch content]\n wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--tag-adjacent\": true,\n children: spaces + (\"<\" + secondContent + \">\\n\")\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-remove\": true,\n children: spaces + (' \"' + firstContent + '\"\\n')\n })\n ]\n }, nestedHtmlStack.length);\n }\n nestedHtmlStack.push(wrappedCodeLine);\n }\n return nestedHtmlStack;\n }, [\n componentStackFrames,\n isHtmlCollapsed,\n firstContent,\n secondContent,\n isHtmlTagsWarning,\n hydrationMismatchType,\n MAX_NON_COLLAPSED_FRAMES\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-container-errors-pseudo-html\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-container-errors-pseudo-html-collapse\": true,\n onClick: ()=>toggleCollapseHtml(!isHtmlCollapsed),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CollapseIcon.CollapseIcon, {\n collapsed: isHtmlCollapsed\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n ...props,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"code\", {\n children: htmlComponents\n })\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=component-stack-pseudo-html.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvY29tcG9uZW50LXN0YWNrLXBzZXVkby1odG1sLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBd0RnQkE7OztlQUFBQTs7OzttQ0F4RDRCOzBDQUVmO0FBRTdCLFNBQVNDLGlCQUFpQkMsS0FBYztJQUN0QyxPQUFPO1FBQUUsMERBQTBEQTtJQUFNO0FBQzNFO0FBa0RPLFNBQVNGLGVBQWVHLEtBV1M7SUFYVCxNQUM3QkMsb0JBQW9CLEVBQ3BCQyxZQUFZLEVBQ1pDLGFBQWEsRUFDYkMscUJBQXFCLEVBQ3JCLEdBQUdDLE9BTW1DLEdBWFRMO0lBWTdCLE1BQU1NLG9CQUFvQkYsMEJBQTBCO0lBQ3BELCtGQUErRjtJQUMvRixNQUFNRywyQkFBMkJELG9CQUFvQixJQUFJO0lBQ3pELE1BQU1FLGlCQUFpQlAscUJBQXFCUSxNQUFNLEdBQUdGO0lBQ3JELE1BQU0sQ0FBQ0csaUJBQWlCQyxtQkFBbUIsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsUUFBUSxFQUFDSjtJQUV2RCxNQUFNSyxpQkFBaUJDLENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBQztRQUM3QixNQUFNQyxXQUFXVCxvQkFFYjtZQUFDSixhQUFhYyxPQUFPLENBQUMsUUFBUTtZQUFLYixjQUFjYSxPQUFPLENBQUMsUUFBUTtTQUFJLEdBQ3JFLEVBQUU7UUFDTixNQUFNQyxrQkFBcUMsRUFBRTtRQUM3QyxJQUFJQyxXQUFXO1FBRWYsTUFBTUMsaUJBQWlCbEIscUJBQ3BCbUIsR0FBRyxDQUFDLENBQUNDLFFBQVVBLE1BQU1DLFNBQVMsRUFDOUJDLE9BQU87UUFFViw4QkFBOEI7UUFDOUIsTUFBTUMsZUFBZTtZQUFDLENBQUM7WUFBRyxDQUFDO1NBQUU7UUFDN0IsSUFBSWxCLG1CQUFtQjtZQUNyQixtQ0FBbUM7WUFDbkMsSUFBSyxJQUFJ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Z0JBQUssR0FBR3pELEtBQUs7MEJBQ1osa0JBQUFrQyxZQUFBRyxHQUFBLEVBQUNxQixRQUFBQTs4QkFBTWxEOzs7OztBQUlmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvUnVudGltZUVycm9yL2NvbXBvbmVudC1zdGFjay1wc2V1ZG8taHRtbC50c3g/NjMxNiJdLCJuYW1lcyI6WyJQc2V1ZG9IdG1sRGlmZiIsImdldEFkamFjZW50UHJvcHMiLCJpc0FkaiIsInBhcmFtIiwiY29tcG9uZW50U3RhY2tGcmFtZXMiLCJmaXJzdENvbnRlbnQiLCJzZWNvbmRDb250ZW50IiwiaHlkcmF0aW9uTWlzbWF0Y2hUeXBlIiwicHJvcHMiLCJpc0h0bWxUYWdzV2FybmluZyIsIk1BWF9OT05fQ09MTEFQU0VEX0ZSQU1FUyIsInNob3VsZENvbGxhcHNlIiwibGVuZ3RoIiwiaXNIdG1sQ29sbGFwc2VkIiwidG9nZ2xlQ29sbGFwc2VIdG1sIiwidXNlU3RhdGUiLCJodG1sQ29tcG9uZW50cyIsInVzZU1lbW8iLCJ0YWdOYW1lcyIsInJlcGxhY2UiLCJuZXN0ZWRIdG1sU3RhY2siLCJsYXN0VGV4dCIsImNvbXBvbmVudFN0YWNrIiwibWFwIiwiZnJhbWUiLCJjb21wb25lbnQiLCJyZXZlcnNlIiwibWF0Y2hlZEluZGV4IiwiaSIsImZvckVhY2giLCJpbmRleCIsImNvbXBvbmVudExpc3QiLCJzcGFjZXMiLCJyZXBlYXQiLCJpc0hpZ2hsaWdodGVkVGFnIiwiaW5jbHVkZXMiLCJpc0FkamFjZW50VGFnIiwiTWF0aCIsImFicyIsImlzTGFzdEZld0ZyYW1lcyIsImFkalByb3BzIiwiY29kZUxpbmUiLCJfanN4cnVudGltZSIsImpzeHMiLCJzcGFuIiwianN4IiwidW5kZWZpbmVkIiwid3JhcHBlZENvZGVMaW5lIiwiRnJhZ21lbnQiLCJkYXRhLW5leHRqcy1jb250YWluZXItZXJyb3JzLXBzZXVkby1odG1sLS1oaW50IiwicHVzaCIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJkYXRhLW5leHRqcy1jb250YWluZXItZXJyb3JzLXBzZXVkby1odG1sLS1kaWZmLXJlbW92ZSIsImRhdGEtbmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtcHNldWRvLWh0bWwtLWRpZmYtYWRkIiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbC0tdGFnLWFkamFjZW50IiwiZGl2IiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbCIsImJ1dHRvbiIsInRhYkluZGV4IiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbC1jb2xsYXBzZSIsIm9uQ2xpY2siLCJDb2xsYXBzZUljb24iLCJjb2xsYXBzZWQiLCJwcmUiLCJjb2RlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js ***! - \*************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RuntimeError: function() {\n return RuntimeError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _CodeFrame = __webpack_require__(/*! ../../components/CodeFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _groupstackframesbyframework = __webpack_require__(/*! ../../helpers/group-stack-frames-by-framework */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\");\nconst _GroupedStackFrames = __webpack_require__(/*! ./GroupedStackFrames */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n button[data-nextjs-data-runtime-error-collapsed-action] {\\n background: none;\\n border: none;\\n padding: 0;\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-bigger);\\n color: var(--color-accents-3);\\n }\\n\\n [data-nextjs-call-stack-frame]:not(:last-child),\\n [data-nextjs-component-stack-frame]:not(:last-child) {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-call-stack-frame] > h3,\\n [data-nextjs-component-stack-frame] > h3 {\\n margin-top: 0;\\n margin-bottom: var(--size-gap);\\n font-family: var(--font-stack-monospace);\\n font-size: var(--size-font);\\n color: #222;\\n }\\n [data-nextjs-call-stack-frame] > h3[data-nextjs-frame-expanded='false'] {\\n color: #666;\\n }\\n [data-nextjs-call-stack-frame] > div,\\n [data-nextjs-component-stack-frame] > div {\\n display: flex;\\n align-items: center;\\n padding-left: calc(var(--size-gap) + var(--size-gap-half));\\n font-size: var(--size-font-small);\\n color: #999;\\n }\\n [data-nextjs-call-stack-frame] > div > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n flex-shrink: 0;\\n\\n display: none;\\n }\\n\\n [data-nextjs-call-stack-frame] > div[data-has-source],\\n [data-nextjs-component-stack-frame] > [role='link'] {\\n cursor: pointer;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source]:hover,\\n [data-nextjs-component-stack-frame] > [role='link']:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source] > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n display: unset;\\n }\\n\\n [data-nextjs-call-stack-framework-icon] {\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-call-stack-framework-icon='next'] > mask {\\n mask-type: alpha;\\n }\\n [data-nextjs-call-stack-framework-icon='react'] {\\n color: rgb(20, 158, 202);\\n }\\n [data-nextjs-collapsed-call-stack-details][open]\\n [data-nextjs-call-stack-chevron-icon] {\\n transform: rotate(90deg);\\n }\\n [data-nextjs-collapsed-call-stack-details] summary {\\n display: flex;\\n align-items: center;\\n margin-bottom: var(--size-gap);\\n list-style: none;\\n }\\n [data-nextjs-collapsed-call-stack-details] summary::-webkit-details-marker {\\n display: none;\\n }\\n\\n [data-nextjs-collapsed-call-stack-details] h3 {\\n color: #666;\\n }\\n [data-nextjs-collapsed-call-stack-details] [data-nextjs-call-stack-frame] {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-container-errors-pseudo-html] {\\n position: relative;\\n }\\n [data-nextjs-container-errors-pseudo-html-collapse] {\\n position: absolute;\\n left: 10px;\\n top: 10px;\\n color: inherit;\\n background: none;\\n border: none;\\n padding: 0;\\n }\\n [data-nextjs-container-errors-pseudo-html--diff-add] {\\n color: var(--color-ansi-green);\\n }\\n [data-nextjs-container-errors-pseudo-html--diff-remove] {\\n color: var(--color-ansi-red);\\n }\\n [data-nextjs-container-errors-pseudo-html--tag-error] {\\n color: var(--color-ansi-red);\\n font-weight: bold;\\n }\\n /* hide but text are still accessible in DOM */\\n [data-nextjs-container-errors-pseudo-html--hint] {\\n display: inline-block;\\n font-size: 0;\\n }\\n [data-nextjs-container-errors-pseudo-html--tag-adjacent='false'] {\\n color: var(--color-accents-1);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction RuntimeError(param) {\n let { error } = param;\n const { firstFrame, allLeadingFrames, allCallStackFrames } = _react.useMemo(()=>{\n const filteredFrames = error.frames.filter((f)=>{\n var _f_sourceStackFrame_file;\n return !(f.sourceStackFrame.file === \"<anonymous>\" && [\n \"stringify\",\n \"<unknown>\"\n ].includes(f.sourceStackFrame.methodName)) && !((_f_sourceStackFrame_file = f.sourceStackFrame.file) == null ? void 0 : _f_sourceStackFrame_file.startsWith(\"node:internal\"));\n });\n const firstFirstPartyFrameIndex = filteredFrames.findIndex((entry)=>entry.expanded && Boolean(entry.originalCodeFrame) && Boolean(entry.originalStackFrame));\n var _filteredFrames_firstFirstPartyFrameIndex;\n return {\n firstFrame: (_filteredFrames_firstFirstPartyFrameIndex = filteredFrames[firstFirstPartyFrameIndex]) != null ? _filteredFrames_firstFirstPartyFrameIndex : null,\n allLeadingFrames: firstFirstPartyFrameIndex < 0 ? [] : filteredFrames.slice(0, firstFirstPartyFrameIndex),\n allCallStackFrames: filteredFrames.slice(firstFirstPartyFrameIndex + 1)\n };\n }, [\n error.frames\n ]);\n const [all, setAll] = _react.useState(firstFrame == null);\n const { canShowMore, leadingFramesGroupedByFramework, stackFramesGroupedByFramework } = _react.useMemo(()=>{\n const leadingFrames = allLeadingFrames.filter((f)=>f.expanded || all);\n const visibleCallStackFrames = allCallStackFrames.filter((f)=>f.expanded || all);\n return {\n canShowMore: allCallStackFrames.length !== visibleCallStackFrames.length || all && firstFrame != null,\n stackFramesGroupedByFramework: (0, _groupstackframesbyframework.groupStackFramesByFramework)(allCallStackFrames),\n leadingFramesGroupedByFramework: (0, _groupstackframesbyframework.groupStackFramesByFramework)(leadingFrames)\n };\n }, [\n all,\n allCallStackFrames,\n allLeadingFrames,\n firstFrame\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n firstFrame ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Source\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: leadingFramesGroupedByFramework,\n show: all\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CodeFrame.CodeFrame, {\n stackFrame: firstFrame.originalStackFrame,\n codeFrame: firstFrame.originalCodeFrame\n })\n ]\n }) : undefined,\n stackFramesGroupedByFramework.length ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Call Stack\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: stackFramesGroupedByFramework,\n show: all\n })\n ]\n }) : undefined,\n canShowMore ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-data-runtime-error-collapsed-action\": true,\n type: \"button\",\n onClick: ()=>setAll(!all),\n children: [\n all ? \"Hide\" : \"Show\",\n \" collapsed frames\"\n ]\n })\n }) : undefined\n ]\n });\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBU2dCQSxjQUFZO2VBQVpBOztJQThGSEMsUUFBTTtlQUFOQTs7Ozs7OzZFQXZHVTt1Q0FDRzswQ0FFRTt5REFDZ0I7Z0RBQ1Q7Ozs7Ozs7Ozs7QUFJNUIsU0FBU0QsYUFBYUUsS0FBNEI7SUFBNUIsTUFBRUMsS0FBSyxFQUFxQixHQUE1QkQ7SUFDM0IsTUFBTSxFQUFFRSxVQUFVLEVBQUVDLGdCQUFnQixFQUFFQyxrQkFBa0IsRUFBRSxHQUN4REMsT0FBTUMsT0FBTyxDQUFDO1FBQ1osTUFBTUMsaUJBQWlCTixNQUFNTyxNQUFNLENBQUNDLE1BQU0sQ0FDeEMsQ0FBQ0M7Z0JBSU9BO21CQUhOLENBQ0VBLENBQUFBLEVBQUVDLGdCQUFnQixDQUFDQyxJQUFJLEtBQUssaUJBQzVCO2dCQUFDO2dCQUFhO2FBQVksQ0FBQ0MsUUFBUSxDQUFDSCxFQUFFQyxnQkFBZ0IsQ0FBQ0csVUFBVSxNQUM5RCxHQUFDSiwyQkFBQUEsRUFBRUMsZ0JBQWdCLENBQUNDLElBQUkscUJBQXZCRix5QkFBeUJLLFVBQVUsQ0FBQzs7UUFHOUMsTUFBTUMsNEJBQTRCVCxlQUFlVSxTQUFTLENBQ3hELENBQUNDLFFBQ0NBLE1BQU1DLFFBQVEsSUFDZEMsUUFBUUYsTUFBTUcsaUJBQWlCLEtBQy9CRCxRQUFRRixNQUFNSSxrQkFBa0I7WUFJdEJmO1FBRGQsT0FBTztZQUNMTCxZQUFZSyxDQUFBQSw0Q0FBQUEsY0FBYyxDQUFDUywwQkFBMEIsWUFBekNULDRDQUE2QztZQUN6REosa0JBQ0VhLDRCQUE0QixJQUN4QixFQUFFLEdBQ0ZULGVBQWVnQixLQUFLLENBQUMsR0FBR1A7WUFDOUJaLG9CQUFvQkcsZUFBZWdCLEtBQUssQ0FBQ1AsNEJBQTRCO1FBQ3ZFO0lBQ0YsR0FBRztRQUFDZixNQUFNTyxNQUFNO0tBQUM7SUFFbkIsTUFBTSxDQUFDZ0IsS0FBS0MsT0FBTyxHQUFHcEIsT0FBTXFCLFFBQVEsQ0FBQ3hCLGNBQWM7SUFFbkQsTUFBTSxFQUNKeUIsV0FBVyxFQUNYQywrQkFBK0IsRUFDL0JDLDZCQUE2QixFQUM5QixHQUFHeEIsT0FBTUMsT0FBTyxDQUFDO1FBQ2hCLE1BQU13QixnQkFBZ0IzQixpQkFBaUJNLE1BQU0sQ0FBQyxDQUFDQyxJQUFNQSxFQUFFUyxRQUFRLElBQUlLO1FBQ25FLE1BQU1PLHlCQUF5QjNCLG1CQUFtQkssTUFBTSxDQUN0RCxDQUFDQyxJQUFNQSxFQUFFUyxRQUFRLElBQUlLO1FBR3ZCLE9BQU87WUFDTEcsYUFDRXZCLG1CQUFtQjRCLE1BQU0sS0FBS0QsdUJBQXVCQyxNQUFNLElBQzFEUixPQUFPdEIsY0FBYztZQUV4QjJCLCtCQUNFSSxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQUM3QjtZQUU5QndCLGlDQUNFSyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQUNIO1FBQ2hDO0lBQ0YsR0FBRztRQUFDTjtRQUFLcEI7UUFBb0JEO1FBQWtCRDtLQUFXO0lBRTFELE9BQ0UsV0FERixHQUNFLElBQUFnQyxZQUFBQyxJQUFBLEVBQUM5QixPQUFNK0IsUUFBUTs7WUFDWmxDLGFBQ0MsV0FEREEsR0FDQyxJQUFBZ0MsWUFBQUMsSUFBQSxFQUFDOUIsT0FBTStCLFFBQVE7O2tDQUNiLElBQUFGLFlBQUFHLEdBQUEsRUFBQ0MsTUFBQUE7a0NBQUc7O2tDQUNKLElBQUFKLFlBQUFHLEdBQUEsRUFBQ0Usb0JBQUFBLGtCQUFrQjt3QkFDakJDLG9CQUFvQlo7d0JBQ3BCYSxNQUFNakI7O2tDQUVSLElBQUFVLFlBQUFHLEdBQUEsRUFBQ0ssV0FBQUEsU0FBUzt3QkFDUkMsWUFBWXpDLFdBQVdvQixrQkFBa0I7d0JBQ3pDc0IsV0FBVzFDLFdBQVdtQixpQkFBaUI7OztpQkFHekN3QjtZQUVIaEIsOEJBQThCRyxNQUFNLEdBQ25DLFdBRG1DLEdBQ25DLElBQUFFLFlBQUFDLElBQUEsRUFBQzlCLE9BQU0rQixRQUFROztrQ0FDYixJQUFBRixZQUFBRyxHQUFBLEVBQUNDLE1BQUFBO2tDQUFHOztrQ0FDSixJQUFBSixZQUFBRyxHQUFBLEVBQUNFLG9CQUFBQSxrQkFBa0I7d0JBQ2pCQyxvQkFBb0JYO3dCQUNwQlksTUFBTWpCOzs7aUJBR1JxQjtZQUNIbEIsY0FDQyxXQUREQSxHQUNDLElBQUFPLFlBQUFHLEdBQUEsRUFBQ2hDLE9BQU0rQixRQUFROzBCQUNiLGtCQUFBRixZQUFBQyxJQUFBLEVBQUNXLFVBQUFBO29CQUNDQyxVQUFVO29CQUNWQyxtREFBK0M7b0JBQy9DQyxNQUFLO29CQUNMQyxTQUFTLElBQU16QixPQUFPLENBQUNEOzt3QkFFdEJBLE1BQU0sU0FBUzt3QkFBTzs7O2lCQUd6QnFCOzs7QUFHVjtBQUVPLE1BQU05QyxTQUFBQSxDQUFBQSxHQUFTb0QsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9pbmRleC50c3g/MGYxNCJdLCJuYW1lcyI6WyJSdW50aW1lRXJyb3IiLCJzdHlsZXMiLCJwYXJhbSIsImVycm9yIiwiZmlyc3RGcmFtZSIsImFsbExlYWRpbmdGcmFtZXMiLCJhbGxDYWxsU3RhY2tGcmFtZXMiLCJSZWFjdCIsInVzZU1lbW8iLCJmaWx0ZXJlZEZyYW1lcyIsImZyYW1lcyIsImZpbHRlciIsImYiLCJzb3VyY2VTdGFja0ZyYW1lIiwiZmlsZSIsImluY2x1ZGVzIiwibWV0aG9kTmFtZSIsInN0YXJ0c1dpdGgiLCJmaXJzdEZpcnN0UGFydHlGcmFtZUluZGV4IiwiZmluZEluZGV4IiwiZW50cnkiLCJleHBhbmRlZCIsIkJvb2xlYW4iLCJvcmlnaW5hbENvZGVGcmFtZSIsIm9yaWdpbmFsU3RhY2tGcmFtZSIsInNsaWNlIiwiYWxsIiwic2V0QWxsIiwidXNlU3RhdGUiLCJjYW5TaG93TW9yZSIsImxlYWRpbmdGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsiLCJzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yayIsImxlYWRpbmdGcmFtZXMiLCJ2aXNpYmxlQ2FsbFN0YWNrRnJhbWVzIiwibGVuZ3RoIiwiZ3JvdXBTdGFja0ZyYW1lc0J5RnJhbWV3b3JrIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiRnJhZ21lbnQiLCJqc3giLCJoMiIsIkdyb3VwZWRTdGFja0ZyYW1lcyIsImdyb3VwZWRTdGFja0ZyYW1lcyIsInNob3ciLCJDb2RlRnJhbWUiLCJzdGFja0ZyYW1lIiwiY29kZUZyYW1lIiwidW5kZWZpbmVkIiwiYnV0dG9uIiwidGFiSW5kZXgiLCJkYXRhLW5leHRqcy1kYXRhLXJ1bnRpbWUtZXJyb3ItY29sbGFwc2VkLWFjdGlvbiIsInR5cGUiLCJvbkNsaWNrIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js": -/*!*************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js ***! - \*************************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RootLayoutMissingTagsError\", ({\n enumerable: true,\n get: function() {\n return RootLayoutMissingTagsError;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../components/hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst RootLayoutMissingTagsError = function RootLayoutMissingTagsError(param) {\n let { missingTags, versionInfo } = param;\n const noop = _react.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_errors_label\",\n \"aria-describedby\": \"nextjs__container_errors_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogContent, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n id: \"nextjs__container_errors_label\",\n children: \"Missing required html tags\"\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: \"The following tags are missing in the Root Layout: \" + missingTags.map((tagName)=>\"<\" + tagName + \">\").join(\", \") + \".\\nRead more at https://nextjs.org/docs/messages/missing-root-layout-tags\"\n })\n })\n ]\n })\n })\n })\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=root-layout-missing-tags-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9yb290LWxheW91dC1taXNzaW5nLXRhZ3MtZXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4REFZYUE7OztlQUFBQTs7Ozs7NkVBWlU7b0NBRTZCO3FDQUM1QjtrREFDYTsyQ0FDUDtBQU92QixNQUFNQSw2QkFDWCxTQUFTQSwyQkFBMkJDLEtBQTRCO0lBQTVCLE1BQUVDLFdBQVcsRUFBRUMsV0FBVyxFQUFFLEdBQTVCRjtJQUNsQyxNQUFNRyxPQUFPQyxPQUFNQyxXQUFXLENBQUMsS0FBTyxHQUFHLEVBQUU7SUFDM0MsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsR0FBQSxFQUFDQyxTQUFBQSxPQUFPO2tCQUNOLGtCQUFBRixZQUFBQyxHQUFBLEVBQUNFLFFBQUFBLE1BQU07WUFDTEMsTUFBSztZQUNMQyxtQkFBZ0I7WUFDaEJDLG9CQUFpQjtZQUNqQkMsU0FBU1Y7c0JBRVQsa0JBQUFHLFlBQUFDLEdBQUEsRUFBQ08sUUFBQUEsYUFBYTswQkFDWixrQkFBQVIsWUFBQVMsSUFBQSxFQUFDQyxRQUFBQSxZQUFZO29CQUFDQyxXQUFVOztzQ0FDdEIsSUFBQVgsWUFBQUMsR0FBQSxFQUFDVyxNQUFBQTs0QkFBR0MsSUFBRztzQ0FBaUM7O3dCQUd2Q2pCLGNBQWMsV0FBZEEsR0FBYyxJQUFBSSxZQUFBQyxHQUFBLEVBQUNhLHNCQUFBQSxvQkFBb0I7NEJBQUUsR0FBR2xCLFdBQVc7NkJBQU87c0NBQzNELElBQUFJLFlBQUFDLEdBQUEsRUFBQ2MsS0FBQUE7NEJBQ0NGLElBQUc7NEJBQ0hGLFdBQVU7c0NBRVYsa0JBQUFYLFlBQUFDLEdBQUEsRUFBQ2UsZUFBQUEsYUFBYTtnQ0FDWkMsTUFBTSx3REFBc0R0QixZQUN6RHVCLEdBQUcsQ0FBQyxDQUFDQyxVQUFZLE1BQUlBLFVBQVEsS0FDN0JDLElBQUksQ0FDSCxRQUNBOzs7Ozs7OztBQVFwQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL3Jvb3QtbGF5b3V0LW1pc3NpbmctdGFncy1lcnJvci50c3g/ZmQ3YiJdLCJuYW1lcyI6WyJSb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvciIsInBhcmFtIiwibWlzc2luZ1RhZ3MiLCJ2ZXJzaW9uSW5mbyIsIm5vb3AiLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJPdmVybGF5IiwiRGlhbG9nIiwidHlwZSIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJvbkNsb3NlIiwiRGlhbG9nQ29udGVudCIsImpzeHMiLCJEaWFsb2dIZWFkZXIiLCJjbGFzc05hbWUiLCJoMyIsImlkIiwiVmVyc2lvblN0YWxlbmVzc0luZm8iLCJwIiwiSG90bGlua2VkVGV4dCIsInRleHQiLCJtYXAiLCJ0YWdOYW1lIiwiam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js": -/*!****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js ***! - \****************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/**\nMIT License\n\nCopyright (c) 2015-present, Facebook, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return formatWebpackMessages;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\n// This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js\n// It's been edited to remove chalk and CRA-specific logic\nconst friendlySyntaxErrorLabel = \"Syntax error:\";\nconst WEBPACK_BREAKING_CHANGE_POLYFILLS = \"\\n\\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\";\nfunction isLikelyASyntaxError(message) {\n return (0, _stripansi.default)(message).includes(friendlySyntaxErrorLabel);\n}\nlet hadMissingSassError = false;\n// Cleans up webpack error messages.\nfunction formatMessage(message, verbose, importTraceNote) {\n // TODO: Replace this once webpack 5 is stable\n if (typeof message === \"object\" && message.message) {\n const filteredModuleTrace = message.moduleTrace && message.moduleTrace.filter((trace)=>!/next-(middleware|client-pages|route|edge-function)-loader\\.js/.test(trace.originName));\n let body = message.message;\n const breakingChangeIndex = body.indexOf(WEBPACK_BREAKING_CHANGE_POLYFILLS);\n if (breakingChangeIndex >= 0) {\n body = body.slice(0, breakingChangeIndex);\n }\n message = (message.moduleName ? (0, _stripansi.default)(message.moduleName) + \"\\n\" : \"\") + (message.file ? (0, _stripansi.default)(message.file) + \"\\n\" : \"\") + body + (message.details && verbose ? \"\\n\" + message.details : \"\") + (filteredModuleTrace && filteredModuleTrace.length ? (importTraceNote || \"\\n\\nImport trace for requested module:\") + filteredModuleTrace.map((trace)=>\"\\n\" + trace.moduleName).join(\"\") : \"\") + (message.stack && verbose ? \"\\n\" + message.stack : \"\");\n }\n let lines = message.split(\"\\n\");\n // Strip Webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line)=>!/Module [A-z ]+\\(from/.test(line));\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line)=>{\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return friendlySyntaxErrorLabel + \" \" + errorMessage + \" (\" + errorLine + \":\" + errorColumn + \")\";\n });\n message = lines.join(\"\\n\");\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(/SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g, \"\" + friendlySyntaxErrorLabel + \" $3 ($1:$2)\\n\");\n // Clean up export errors\n message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$2'.\");\n message = message.replace(/^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$2' does not contain a default export (imported as '$1').\");\n message = message.replace(/^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$3' (imported as '$2').\");\n lines = message.split(\"\\n\");\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === \"\") {\n lines.splice(1, 1);\n }\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf(\"Module not found: \") === 0) {\n lines = [\n lines[0],\n lines[1].replace(\"Error: \", \"\").replace(\"Module not found: Cannot find file:\", \"Cannot find file:\"),\n ...lines.slice(2)\n ];\n }\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {\n // ./file.module.scss (<<loader info>>) => ./file.module.scss\n const firstLine = lines[0].split(\"!\");\n lines[0] = firstLine[firstLine.length - 1];\n lines[1] = \"To use Next.js' built-in Sass support, you first need to install `sass`.\\n\";\n lines[1] += \"Run `npm i sass` or `yarn add sass` inside your workspace.\\n\";\n lines[1] += \"\\nLearn more: https://nextjs.org/docs/messages/install-sass\";\n // dispose of unhelpful stack trace\n lines = lines.slice(0, 2);\n hadMissingSassError = true;\n } else if (hadMissingSassError && message.match(/(sass-loader|resolve-url-loader: CSS error)/)) {\n // dispose of unhelpful stack trace following missing sass module\n lines = [];\n }\n if (!verbose) {\n message = lines.join(\"\\n\");\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by Webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, \"\") // at ... ...:x:y\n ;\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, \"\") // at <anonymous>\n ;\n message = message.replace(/File was processed with these loaders:\\n(.+[\\\\/](next[\\\\/]dist[\\\\/].+|@next[\\\\/]react-refresh-utils[\\\\/]loader)\\.js\\n)*You may need an additional loader to handle the result of these loaders.\\n/g, \"\");\n lines = message.split(\"\\n\");\n }\n // Remove duplicated newlines\n lines = lines.filter((line, index, arr)=>index === 0 || line.trim() !== \"\" || line.trim() !== arr[index - 1].trim());\n // Reassemble the message\n message = lines.join(\"\\n\");\n return message.trim();\n}\nfunction formatWebpackMessages(json, verbose) {\n const formattedErrors = json.errors.map((message)=>{\n const isUnknownNextFontError = message.message.includes(\"An error occurred in `next/font`.\");\n return formatMessage(message, isUnknownNextFontError || verbose);\n });\n const formattedWarnings = json.warnings.map((message)=>{\n return formatMessage(message, verbose);\n });\n // Reorder errors to put the most relevant ones first.\n let reactServerComponentsError = -1;\n for(let i = 0; i < formattedErrors.length; i++){\n const error = formattedErrors[i];\n if (error.includes(\"ReactServerComponentsError\")) {\n reactServerComponentsError = i;\n break;\n }\n }\n // Move the reactServerComponentsError to the top if it exists\n if (reactServerComponentsError !== -1) {\n const error = formattedErrors.splice(reactServerComponentsError, 1);\n formattedErrors.unshift(error[0]);\n }\n const result = {\n ...json,\n errors: formattedErrors,\n warnings: formattedWarnings\n };\n if (!verbose && result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n result.warnings = [];\n }\n return result;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=format-webpack-messages.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZm9ybWF0LXdlYnBhY2stbWVzc2FnZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQkE7Ozs7MkNBaUtBOzs7ZUFBd0JBOzs7O2dGQWhLRjtBQUN0QixxS0FBcUs7QUFDckssMERBQTBEO0FBRTFELE1BQU1DLDJCQUEyQjtBQUVqQyxNQUFNQyxvQ0FDSjtBQUVGLFNBQVNDLHFCQUFxQkMsT0FBZTtJQUMzQyxPQUFPQyxDQUFBQSxHQUFBQSxXQUFBQSxPQUFTLEVBQUNELFNBQVNFLFFBQVEsQ0FBQ0w7QUFDckM7QUFFQSxJQUFJTSxzQkFBc0I7QUFFMUIsb0NBQW9DO0FBQ3BDLFNBQVNDLGNBQ1BKLE9BQVksRUFDWkssT0FBaUIsRUFDakJDLGVBQXlCO0lBRXpCLDhDQUE4QztJQUM5QyxJQUFJLE9BQU9OLFlBQVksWUFBWUEsUUFBUUEsT0FBTyxFQUFFO1FBQ2xELE1BQU1PLHNCQUNKUCxRQUFRUSxXQUFXLElBQ25CUixRQUFRUSxXQUFXLENBQUNDLE1BQU0sQ0FDeEIsQ0FBQ0MsUUFDQyxDQUFDLGdFQUFnRUMsSUFBSSxDQUNuRUQsTUFBTUUsVUFBVTtRQUl4QixJQUFJQyxPQUFPYixRQUFRQSxPQUFPO1FBQzFCLE1BQU1jLHNCQUFzQkQsS0FBS0UsT0FBTyxDQUFDakI7UUFDekMsSUFBSWdCLHVCQUF1QixHQUFHO1lBQzVCRCxPQUFPQSxLQUFLRyxLQUFLLENBQUMsR0FBR0Y7UUFDdkI7UUFFQWQsVUFDRSxDQUFDQSxRQUFRaUIsVUFBVSxHQUFHaEIsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRCxRQUFRaUIsVUFBVSxJQUFJLE9BQU8sTUFDNURqQixDQUFBQSxRQUFRa0IsSUFBSSxHQUFHakIsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRCxRQUFRa0IsSUFBSSxJ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UUFDakVMLGdCQUFnQlEsT0FBTyxDQUFDRCxLQUFLLENBQUMsRUFBRTtJQUNsQztJQUVBLE1BQU1FLFNBQVM7UUFDYixHQUFHVixJQUFJO1FBQ1BFLFFBQVFEO1FBQ1JJLFVBQVVEO0lBQ1o7SUFDQSxJQUFJLENBQUN0QyxXQUFXNEMsT0FBT1IsTUFBTSxDQUFDUyxJQUFJLENBQUNuRCx1QkFBdUI7UUFDeEQsa0RBQWtEO1FBQ2xEa0QsT0FBT1IsTUFBTSxHQUFHUSxPQUFPUixNQUFNLENBQUNoQyxNQUFNLENBQUNWO1FBQ3JDa0QsT0FBT0wsUUFBUSxHQUFHLEVBQUU7SUFDdEI7SUFDQSxPQUFPSztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL2Zvcm1hdC13ZWJwYWNrLW1lc3NhZ2VzLnRzPzg1MWQiXSwibmFtZXMiOlsiZm9ybWF0V2VicGFja01lc3NhZ2VzIiwiZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsIiwiV0VCUEFDS19CUkVBS0lOR19DSEFOR0VfUE9MWUZJTExTIiwiaXNMaWtlbHlBU3ludGF4RXJyb3IiLCJtZXNzYWdlIiwic3RyaXBBbnNpIiwiaW5jbHVkZXMiLCJoYWRNaXNzaW5nU2Fzc0Vycm9yIiwiZm9ybWF0TWVzc2FnZSIsInZlcmJvc2UiLCJpbXBvcnRUcmFjZU5vdGUiLCJmaWx0ZXJlZE1vZHVsZVRyYWNlIiwibW9kdWxlVHJhY2UiLCJmaWx0ZXIiLCJ0cmFjZSIsInRlc3QiLCJvcmlnaW5OYW1lIiwiYm9keSIsImJyZWFraW5nQ2hhbmdlSW5kZXgiLCJpbmRleE9mIiwic2xpY2UiLCJtb2R1bGVOYW1lIiwiZmlsZSIsImRldGFpbHMiLCJsZW5ndGgiLCJtYXAiLCJqb2luIiwic3RhY2siLCJsaW5lcyIsInNwbGl0IiwibGluZSIsInBhcnNpbmdFcnJvciIsImV4ZWMiLCJlcnJvckxpbmUiLCJlcnJvckNvbHVtbiIsImVycm9yTWVzc2FnZSIsInJlcGxhY2UiLCJ0cmltIiwic3BsaWNlIiwibWF0Y2giLCJmaXJzdExpbmUiLCJpbmRleCIsImFyciIsImpzb24iLCJmb3JtYXR0ZWRFcnJvcnMiLCJlcnJvcnMiLCJpc1Vua25vd25OZXh0Rm9udEVycm9yIiwiZm9ybWF0dGVkV2FybmluZ3MiLCJ3YXJuaW5ncyIsInJlYWN0U2VydmVyQ29tcG9uZW50c0Vycm9yIiwiaSIsImVycm9yIiwidW5zaGlmdCIsInJlc3VsdCIsInNvbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js ***! - \*******************************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSocketUrl\", ({\n enumerable: true,\n get: function() {\n return getSocketUrl;\n }\n}));\nfunction getSocketProtocol(assetPrefix) {\n let protocol = window.location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (e) {}\n return protocol === \"http:\" ? \"ws\" : \"wss\";\n}\nfunction getSocketUrl(assetPrefix) {\n const { hostname, port } = window.location;\n const protocol = getSocketProtocol(assetPrefix);\n const normalizedAssetPrefix = assetPrefix.replace(/^\\/+/, \"\");\n let url = protocol + \"://\" + hostname + \":\" + port + (normalizedAssetPrefix ? \"/\" + normalizedAssetPrefix : \"\");\n if (normalizedAssetPrefix.startsWith(\"http\")) {\n url = protocol + \"://\" + normalizedAssetPrefix.split(\"://\", 2)[1];\n }\n return url;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-socket-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0LXNvY2tldC11cmwuanMiLCJtYXBwaW5ncyI6Ijs7OztnREFXZ0JBOzs7ZUFBQUE7OztBQVhoQixTQUFTQyxrQkFBa0JDLFdBQW1CO0lBQzVDLElBQUlDLFdBQVdDLE9BQU9DLFFBQVEsQ0FBQ0YsUUFBUTtJQUV2QyxJQUFJO1FBQ0YsdUJBQXVCO1FBQ3ZCQSxXQUFXLElBQUlHLElBQUlKLGFBQWFDLFFBQVE7SUFDMUMsRUFBRSxPQUFBSSxHQUFNLENBQUM7SUFFVCxPQUFPSixhQUFhLFVBQVUsT0FBTztBQUN2QztBQUVPLFNBQVNILGFBQWFFLFdBQW1CO0lBQzlDLE1BQU0sRUFBRU0sUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0wsT0FBT0MsUUFBUTtJQUMxQyxNQUFNRixXQUFXRixrQkFBa0JDO0lBQ25DLE1BQU1RLHdCQUF3QlIsWUFBWVMsT0FBTyxDQUFDLFFBQVE7SUFFMUQsSUFBSUMsTUFBTVQsV0FBWSxRQUFLSyxXQUFTLE1BQUdDLE9BQ3JDQyxDQUFBQSx3QkFBd0IsTUFBSUEsd0JBQTBCO0lBR3hELElBQUlBLHNCQUFzQkcsVUFBVSxDQUFDLFNBQVM7UUFDNUNELE1BQU1ULFdBQVksUUFBS08sc0JBQXNCSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTtJQUNqRTtJQUVBLE9BQU9GO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0LXNvY2tldC11cmwudHM/ZDcyZiJdLCJuYW1lcyI6WyJnZXRTb2NrZXRVcmwiLCJnZXRTb2NrZXRQcm90b2NvbCIsImFzc2V0UHJlZml4IiwicHJvdG9jb2wiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsIlVSTCIsImUiLCJob3N0bmFtZSIsInBvcnQiLCJub3JtYWxpemVkQXNzZXRQcmVmaXgiLCJyZXBsYWNlIiwidXJsIiwic3RhcnRzV2l0aCIsInNwbGl0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js ***! - \*******************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getErrorByType\", ({\n enumerable: true,\n get: function() {\n return getErrorByType;\n }\n}));\nconst _shared = __webpack_require__(/*! ../../shared */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _stackframe = __webpack_require__(/*! ./stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"(ssr)/./node_modules/next/dist/shared/lib/error-source.js\");\nasync function getErrorByType(ev, isAppDir) {\n const { id, event } = ev;\n switch(event.type){\n case _shared.ACTION_UNHANDLED_ERROR:\n case _shared.ACTION_UNHANDLED_REJECTION:\n {\n const readyRuntimeError = {\n id,\n runtime: true,\n error: event.reason,\n frames: await (0, _stackframe.getOriginalStackFrames)(event.frames, (0, _errorsource.getErrorSource)(event.reason), isAppDir, event.reason.toString())\n };\n if (event.type === _shared.ACTION_UNHANDLED_ERROR) {\n readyRuntimeError.componentStackFrames = event.componentStackFrames;\n }\n return readyRuntimeError;\n }\n default:\n {\n break;\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n throw new Error(\"type system invariant violation\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=getErrorByType.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0RXJyb3JCeVR5cGUuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFrQnNCQTs7O2VBQUFBOzs7b0NBZmY7d0NBRWdDO3lDQUdSO0FBVXhCLGVBQWVBLGVBQ3BCQyxFQUF1QixFQUN2QkMsUUFBaUI7SUFFakIsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLEtBQUssRUFBRSxHQUFHSDtJQUN0QixPQUFRRyxNQUFNQyxJQUFJO1FBQ2hCLEtBQUtDLFFBQUFBLHNCQUFzQjtRQUMzQixLQUFLQyxRQUFBQSwwQkFBMEI7WUFBRTtnQkFDL0IsTUFBTUMsb0JBQXVDO29CQUMzQ0w7b0JBQ0FNLFNBQVM7b0JBQ1RDLE9BQU9OLE1BQU1PLE1BQU07b0JBQ25CQyxRQUFRLE1BQU1DLENBQUFBLEdBQUFBLFlBQUFBLHNCQUFzQixFQUNsQ1QsTUFBTVEsTUFBTSxFQUNaRSxDQUFBQSxHQUFBQSxhQUFBQSxjQUFjLEVBQUNWLE1BQU1PLE1BQU0sR0FDM0JULFVBQ0FFLE1BQU1PLE1BQU0sQ0FBQ0ksUUFBUTtnQkFFekI7Z0JBQ0EsSUFBSVgsTUFBTUMsSUFBSSxLQUFLQyxRQUFBQSxzQkFBc0IsRUFBRTtvQkFDekNFLGtCQUFrQlEsb0JBQW9CLEdBQUdaLE1BQU1ZLG9CQUFvQjtnQkFDckU7Z0JBQ0EsT0FBT1I7WUFDVDtRQUNBO1lBQVM7Z0JBQ1A7WUFDRjtJQUNGO0lBQ0EsNkRBQTZEO0lBQzdELE1BQU1TLElBQVdiO0lBQ2pCLE1BQU0sSUFBSWMsTUFBTTtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9nZXRFcnJvckJ5VHlwZS50cz9iMTFmIl0sIm5hbWVzIjpbImdldEVycm9yQnlUeXBlIiwiZXYiLCJpc0FwcERpciIsImlkIiwiZXZlbnQiLCJ0eXBlIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwicmVhZHlSdW50aW1lRXJyb3IiLCJydW50aW1lIiwiZXJyb3IiLCJyZWFzb24iLCJmcmFtZXMiLCJnZXRPcmlnaW5hbFN0YWNrRnJhbWVzIiwiZ2V0RXJyb3JTb3VyY2UiLCJ0b1N0cmluZyIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwiXyIsIkVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js": -/*!************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js ***! - \************************************************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"groupStackFramesByFramework\", ({\n enumerable: true,\n get: function() {\n return groupStackFramesByFramework;\n }\n}));\nfunction groupStackFramesByFramework(stackFrames) {\n const stackFramesGroupedByFramework = [];\n for (const stackFrame of stackFrames){\n const currentGroup = stackFramesGroupedByFramework[stackFramesGroupedByFramework.length - 1];\n const framework = stackFrame.sourcePackage;\n if (currentGroup && currentGroup.framework === framework) {\n currentGroup.stackFrames.push(stackFrame);\n } else {\n stackFramesGroupedByFramework.push({\n framework: framework,\n stackFrames: [\n stackFrame\n ]\n });\n }\n }\n return stackFramesGroupedByFramework;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=group-stack-frames-by-framework.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29yay5qcyIsIm1hcHBpbmdzIjoiOzs7OytEQTZCZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLDRCQUNkQyxXQUFpQztJQUVqQyxNQUFNQyxnQ0FBb0QsRUFBRTtJQUU1RCxLQUFLLE1BQU1DLGNBQWNGLFlBQWE7UUFDcEMsTUFBTUcsZUFDSkYsNkJBQTZCLENBQUNBLDhCQUE4QkcsTUFBTSxHQUFHLEVBQUU7UUFDekUsTUFBTUMsWUFBWUgsV0FBV0ksYUFBYTtRQUUxQyxJQUFJSCxnQkFBZ0JBLGFBQWFFLFNBQVMsS0FBS0EsV0FBVztZQUN4REYsYUFBYUgsV0FBVyxDQUFDTyxJQUFJLENBQUNMO1FBQ2hDLE9BQU87WUFDTEQsOEJBQThCTSxJQUFJLENBQUM7Z0JBQ2pDRixXQUFXQTtnQkFDWEwsYUFBYTtvQkFBQ0U7aUJBQVc7WUFDM0I7UUFDRjtJQUNGO0lBRUEsT0FBT0Q7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ncm91cC1zdGFjay1mcmFtZXMtYnktZnJhbWV3b3JrLnRzP2MyNGMiXSwibmFtZXMiOlsiZ3JvdXBTdGFja0ZyYW1lc0J5RnJhbWV3b3JrIiwic3RhY2tGcmFtZXMiLCJzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yayIsInN0YWNrRnJhbWUiLCJjdXJyZW50R3JvdXAiLCJsZW5ndGgiLCJmcmFtZXdvcmsiLCJzb3VyY2VQYWNrYWdlIiwicHVzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js ***! - \*************************************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getHydrationWarningType: function() {\n return getHydrationWarningType;\n },\n hydrationErrorState: function() {\n return hydrationErrorState;\n },\n patchConsoleError: function() {\n return patchConsoleError;\n }\n});\nconst getHydrationWarningType = (msg)=>{\n if (isHtmlTagsWarning(msg)) return \"tag\";\n if (isTextInTagsMismatchWarning(msg)) return \"text-in-tag\";\n return \"text\";\n};\nconst isHtmlTagsWarning = (msg)=>Boolean(msg && htmlTagsWarnings.has(msg));\nconst isTextMismatchWarning = (msg)=>textMismatchWarning === msg;\nconst isTextInTagsMismatchWarning = (msg)=>Boolean(msg && textAndTagsMismatchWarnings.has(msg));\nconst isKnownHydrationWarning = (msg)=>isHtmlTagsWarning(msg) || isTextInTagsMismatchWarning(msg) || isTextMismatchWarning(msg);\nconst hydrationErrorState = {};\n// https://github.com/facebook/react/blob/main/packages/react-dom/src/__tests__/ReactDOMHydrationDiff-test.js used as a reference\nconst htmlTagsWarnings = new Set([\n 'Warning: Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async=\"\" or moving it into the root <head> tag.%s',\n \"Warning: In HTML, %s cannot be a child of <%s>.%s\\nThis will cause a hydration error.%s\",\n \"Warning: In HTML, %s cannot be a descendant of <%s>.\\nThis will cause a hydration error.%s\",\n \"Warning: In HTML, text nodes cannot be a child of <%s>.\\nThis will cause a hydration error.\",\n \"Warning: In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\\nThis will cause a hydration error.\",\n \"Warning: Expected server HTML to contain a matching <%s> in <%s>.%s\",\n \"Warning: Did not expect server HTML to contain a <%s> in <%s>.%s\"\n]);\nconst textAndTagsMismatchWarnings = new Set([\n 'Warning: Expected server HTML to contain a matching text node for \"%s\" in <%s>.%s',\n 'Warning: Did not expect server HTML to contain the text node \"%s\" in <%s>.%s'\n]);\nconst textMismatchWarning = 'Warning: Text content did not match. Server: \"%s\" Client: \"%s\"%s';\nfunction patchConsoleError() {\n const prev = console.error;\n console.error = function(msg, serverContent, clientContent, componentStack) {\n if (isKnownHydrationWarning(msg)) {\n hydrationErrorState.warning = [\n // remove the last %s from the message\n msg,\n serverContent,\n clientContent\n ];\n hydrationErrorState.componentStack = componentStack;\n hydrationErrorState.serverContent = serverContent;\n hydrationErrorState.clientContent = clientContent;\n }\n // @ts-expect-error argument is defined\n prev.apply(console, arguments);\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hydration-error-info.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvaHlkcmF0aW9uLWVycm9yLWluZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBVWFBLHlCQUF1QjtlQUF2QkE7O0lBb0JBQyxxQkFBbUI7ZUFBbkJBOztJQXlCR0MsbUJBQWlCO2VBQWpCQTs7O0FBN0NULE1BQU1GLDBCQUEwQixDQUNyQ0c7SUFFQSxJQUFJQyxrQkFBa0JELE1BQU0sT0FBTztJQUNuQyxJQUFJRSw0QkFBNEJGLE1BQU0sT0FBTztJQUM3QyxPQUFPO0FBQ1Q7QUFFQSxNQUFNQyxvQkFBb0IsQ0FBQ0QsTUFDekJHLFFBQVFILE9BQU9JLGlCQUFpQkMsR0FBRyxDQUFDTDtBQUV0QyxNQUFNTSx3QkFBd0IsQ0FBQ04sTUFBc0JPLHdCQUF3QlA7QUFDN0UsTUFBTUUsOEJBQThCLENBQUNGLE1BQ25DRyxRQUFRSCxPQUFPUSw0QkFBNEJILEdBQUcsQ0FBQ0w7QUFFakQsTUFBTVMsMEJBQTBCLENBQUNULE1BQy9CQyxrQkFBa0JELFFBQ2xCRSw0QkFBNEJGLFFBQzVCTSxzQkFBc0JOO0FBRWpCLE1BQU1GLHNCQUEyQyxDQUFDO0FBRXpELGlJQUFpSTtBQUNqSSxNQUFNTSxtQkFBbUIsSUFBSU0sSUFBSTtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBQ0QsTUFBTUYsOEJBQThCLElBQUlFLElBQUk7SUFDMUM7SUFDQTtDQUNEO0FBQ0QsTUFBTUgsc0JBQ0o7QUFRSyxTQUFTUjtJQUNkLE1BQU1ZLE9BQU9DLFFBQVFDLEtBQUs7SUFDMUJELFFBQVFDLEtBQUssR0FBRyxTQUFVYixHQUFHLEVBQUVjLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxjQUFjO1FBQ3pFLElBQUlQLHdCQUF3QlQsTUFBTTtZQUNoQ0Ysb0JBQW9CbUIsT0FBTyxHQUFHO2dCQUM1QixzQ0FBc0M7Z0JBQ3RDakI7Z0JBQ0FjO2dCQUNBQzthQUNEO1lBQ0RqQixvQkFBb0JrQixjQUFjLEdBQUdBO1lBQ3JDbEIsb0JBQW9CZ0IsYUFBYSxHQUFHQTtZQUNwQ2hCLG9CQUFvQmlCLGFBQWEsR0FBR0E7UUFDdEM7UUFFQSx1Q0FBdUM7UUFDdkNKLEtBQUtPLEtBQUssQ0FBQ04sU0FBU087SUFDdEI7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9oeWRyYXRpb24tZXJyb3ItaW5mby50cz84NDI3Il0sIm5hbWVzIjpbImdldEh5ZHJhdGlvbldhcm5pbmdUeXBlIiwiaHlkcmF0aW9uRXJyb3JTdGF0ZSIsInBhdGNoQ29uc29sZUVycm9yIiwibXNnIiwiaXNIdG1sVGFnc1dhcm5pbmciLCJpc1RleHRJblRhZ3NNaXNtYXRjaFdhcm5pbmciLCJCb29sZWFuIiwiaHRtbFRhZ3NXYXJuaW5ncyIsImhhcyIsImlzVGV4dE1pc21hdGNoV2FybmluZyIsInRleHRNaXNtYXRjaFdhcm5pbmciLCJ0ZXh0QW5kVGFnc01pc21hdGNoV2FybmluZ3MiLCJpc0tub3duSHlkcmF0aW9uV2FybmluZyIsIlNldCIsInByZXYiLCJjb25zb2xlIiwiZXJyb3IiLCJzZXJ2ZXJDb250ZW50IiwiY2xpZW50Q29udGVudCIsImNvbXBvbmVudFN0YWNrIiwid2FybmluZyIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js": -/*!******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js ***! - \******************************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"noop\", ({\n enumerable: true,\n get: function() {\n return noop;\n }\n}));\nfunction noop(strings) {\n for(var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n keys[_key - 1] = arguments[_key];\n }\n const lastIndex = strings.length - 1;\n return strings.slice(0, lastIndex).reduce((p, s, i)=>p + s + keys[i], \"\") + strings[lastIndex];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-template.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3dDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsS0FDZEMsT0FBNkI7SUFDN0IsUUFBQUMsT0FBQUMsVUFBQUMsTUFBQSxFQUFBQyxPQUFBLElBQUFDLE1BQUFKLE9BQUEsSUFBQUEsT0FBQSxRQUFBSyxPQUFBLEdBQUFBLE9BQUFMLE1BQUFLLE9BQUE7UUFBR0YsSUFBQUEsQ0FBSEUsT0FBQSxLQUFBSixTQUFBLENBQUFJLEtBQTBCOztJQUUxQixNQUFNQyxZQUFZUCxRQUFRRyxNQUFNLEdBQUc7SUFDbkMsT0FDRUgsUUFBUVEsS0FBSyxDQUFDLEdBQUdELFdBQVdFLE1BQU0sQ0FBQyxDQUFDQyxHQUFHQyxHQUFHQyxJQUFNRixJQUFJQyxJQUFJUCxJQUFJLENBQUNRLEVBQUUsRUFBRSxNQUNqRVosT0FBTyxDQUFDTyxVQUFVO0FBRXRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL25vb3AtdGVtcGxhdGUudHM/ZWE2OCJdLCJuYW1lcyI6WyJub29wIiwic3RyaW5ncyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJrZXlzIiwiQXJyYXkiLCJfa2V5IiwibGFzdEluZGV4Iiwic2xpY2UiLCJyZWR1Y2UiLCJwIiwicyIsImkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js ***! - \**************************************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseComponentStack\", ({\n enumerable: true,\n get: function() {\n return parseComponentStack;\n }\n}));\nvar LocationType;\n(function(LocationType) {\n LocationType[\"FILE\"] = \"file\";\n LocationType[\"WEBPACK_INTERNAL\"] = \"webpack-internal\";\n LocationType[\"HTTP\"] = \"http\";\n LocationType[\"PROTOCOL_RELATIVE\"] = \"protocol-relative\";\n LocationType[\"UNKNOWN\"] = \"unknown\";\n})(LocationType || (LocationType = {}));\n/**\n * Get the type of frame line based on the location\n */ function getLocationType(location) {\n if (location.startsWith(\"file://\")) {\n return \"file\";\n }\n if (location.startsWith(\"webpack-internal://\")) {\n return \"webpack-internal\";\n }\n if (location.startsWith(\"http://\") || location.startsWith(\"https://\")) {\n return \"http\";\n }\n if (location.startsWith(\"//\")) {\n return \"protocol-relative\";\n }\n return \"unknown\";\n}\nfunction parseStackFrameLocation(location) {\n const locationType = getLocationType(location);\n const modulePath = location == null ? void 0 : location.replace(/^(webpack-internal:\\/\\/\\/|file:\\/\\/)(\\(.*\\)\\/)?/, \"\");\n var _modulePath_match;\n const [, file, lineNumber, column] = (_modulePath_match = modulePath == null ? void 0 : modulePath.match(/^(.+):(\\d+):(\\d+)/)) != null ? _modulePath_match : [];\n switch(locationType){\n case \"file\":\n case \"webpack-internal\":\n return {\n canOpenInEditor: true,\n file,\n lineNumber: lineNumber ? Number(lineNumber) : undefined,\n column: column ? Number(column) : undefined\n };\n // When the location is a URL we only show the file\n // TODO: Resolve http(s) URLs through sourcemaps\n case \"http\":\n case \"protocol-relative\":\n case \"unknown\":\n default:\n {\n return {\n canOpenInEditor: false\n };\n }\n }\n}\nfunction parseComponentStack(componentStack) {\n const componentStackFrames = [];\n for (const line of componentStack.trim().split(\"\\n\")){\n // Get component and file from the component stack line\n const match = /at ([^ ]+)( \\((.*)\\))?/.exec(line);\n if (match == null ? void 0 : match[1]) {\n const component = match[1];\n const location = match[3];\n if (!location) {\n componentStackFrames.push({\n canOpenInEditor: false,\n component\n });\n continue;\n }\n // Stop parsing the component stack if we reach a Next.js component\n if (location == null ? void 0 : location.includes(\"next/dist\")) {\n break;\n }\n const frameLocation = parseStackFrameLocation(location);\n componentStackFrames.push({\n component,\n ...frameLocation\n });\n }\n }\n return componentStackFrames;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parse-component-stack.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2UtY29tcG9uZW50LXN0YWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBcUVnQkE7OztlQUFBQTs7OztVQTdEWEMsWUFBQUE7Ozs7OztHQUFBQSxnQkFBQUEsQ0FBQUEsZUFBQUEsQ0FBQUEsQ0FBQUE7QUFRTDs7Q0FFQyxHQUNELFNBQVNDLGdCQUFnQkMsUUFBZ0I7SUFDdkMsSUFBSUEsU0FBU0MsVUFBVSxDQUFDLFlBQVk7UUFDbEM7SUFDRjtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyx3QkFBd0I7UUFDOUM7SUFDRjtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyxjQUFjRCxTQUFTQyxVQUFVLENBQUMsYUFBYTtRQUNyRTtJQUNGO0lBQ0EsSUFBSUQsU0FBU0MsVUFBVSxDQUFDLE9BQU87UUFDN0I7SUFDRjtJQUNBO0FBQ0Y7QUFFQSxTQUFTQyx3QkFDUEYsUUFBZ0I7SUFFaEIsTUFBTUcsZUFBZUosZ0JBQWdCQztJQUVyQyxNQUFNSSxhQUFhSixZQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxTQUFVSyxPQUFPLENBQ2xDLG1EQUNBO1FBR0FEO0lBREYsTUFBTSxHQUFHRSxNQUFNQyxZQUFZQyxPQUFPLEdBQ2hDSixDQUFBQSxvQkFBQUEsY0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsV0FBWUssS0FBSyxDQUFDLGdDQUFsQkwsb0JBQTBDLEVBQUU7SUFFOUMsT0FBUUQ7UUFDTjtRQUNBO1lBQ0UsT0FBTztnQkFDTE8saUJBQWlCO2dCQUNqQko7Z0JBQ0FDLFlBQVlBLGFBQWFJLE9BQU9KLGNBQWNLO2dCQUM5Q0osUUFBUUEsU0FBU0csT0FBT0gsVUFBVUk7WUFDcEM7UUFDRixtREFBbUQ7UUFDbkQsZ0RBQWdEO1FBQ2hEO1FBQ0E7UUFDQTtRQUNBO1lBQVM7Z0JBQ1AsT0FBTztvQkFDTEYsaUJBQWlCO2dCQUNuQjtZQUNGO0lBQ0Y7QUFDRjtBQUVPLFNBQVNiLG9CQUNkZ0IsY0FBc0I7SUFFdEIsTUFBTUMsdUJBQThDLEVBQUU7SUFDdEQsS0FBSyxNQUFNQyxRQUFRRixlQUFlRyxJQUFJLEdBQUdDLEtBQUssQ0FBQyxNQUFPO1FBQ3BELHVEQUF1RDtRQUN2RCxNQUFNUixRQUFRLHlCQUF5QlMsSUFBSSxDQUFDSDtRQUM1QyxJQUFJTixTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxLQUFPLENBQUMsRUFBRSxFQUFFO1lBQ2QsTUFBTVUsWUFBWVYsS0FBSyxDQUFDLEVBQUU7WUFDMUIsTUFBTVQsV0FBV1MsS0FBSyxDQUFDLEVBQUU7WUFFekIsSUFBSSxDQUFDVCxVQUFVO2dCQUNiYyxxQkFBcUJNLElBQUksQ0FBQztvQkFDeEJWLGlCQUFpQjtvQkFDakJTO2dCQUNGO2dCQUNBO1lBQ0Y7WUFFQSxtRUFBbUU7WUFDbkUsSUFBSW5CLFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVVxQixRQUFRLENBQUMsY0FBYztnQkFDbkM7WUFDRjtZQUVBLE1BQU1DLGdCQUFnQnBCLHdCQUF3QkY7WUFDOUNjLHFCQUFxQk0sSUFBSSxDQUFDO2dCQUN4QkQ7Z0JBQ0EsR0FBR0csYUFBYTtZQUNsQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPUjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlLWNvbXBvbmVudC1zdGFjay50cz9jMGE0Il0sIm5hbWVzIjpbInBhcnNlQ29tcG9uZW50U3RhY2siLCJMb2NhdGlvblR5cGUiLCJnZXRMb2NhdGlvblR5cGUiLCJsb2NhdGlvbiIsInN0YXJ0c1dpdGgiLCJwYXJzZVN0YWNrRnJhbWVMb2NhdGlvbiIsImxvY2F0aW9uVHlwZSIsIm1vZHVsZVBhdGgiLCJyZXBsYWNlIiwiZmlsZSIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJtYXRjaCIsImNhbk9wZW5JbkVkaXRvciIsIk51bWJlciIsInVuZGVmaW5lZCIsImNvbXBvbmVudFN0YWNrIiwiY29tcG9uZW50U3RhY2tGcmFtZXMiLCJsaW5lIiwidHJpbSIsInNwbGl0IiwiZXhlYyIsImNvbXBvbmVudCIsInB1c2giLCJpbmNsdWRlcyIsImZyYW1lTG9jYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js ***! - \***************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseStack\", ({\n enumerable: true,\n get: function() {\n return parseStack;\n }\n}));\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nconst regexNextStatic = /\\/_next(\\/static\\/.+)/;\nfunction parseStack(stack) {\n const frames = (0, _stacktraceparser.parse)(stack);\n return frames.map((frame)=>{\n try {\n const url = new URL(frame.file);\n const res = regexNextStatic.exec(url.pathname);\n if (res) {\n var _process_env___NEXT_DIST_DIR_replace, _process_env___NEXT_DIST_DIR;\n const distDir = (_process_env___NEXT_DIST_DIR = process.env.__NEXT_DIST_DIR) == null ? void 0 : (_process_env___NEXT_DIST_DIR_replace = _process_env___NEXT_DIST_DIR.replace(/\\\\/g, \"/\")) == null ? void 0 : _process_env___NEXT_DIST_DIR_replace.replace(/\\/$/, \"\");\n if (distDir) {\n frame.file = \"file://\" + distDir.concat(res.pop()) + url.search;\n }\n }\n } catch (e) {}\n return frame;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parseStack.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2VTdGFjay5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQUtnQkE7OztlQUFBQTs7OzhDQUxNO0FBR3RCLE1BQU1DLGtCQUFrQjtBQUVqQixTQUFTRCxXQUFXRSxLQUFhO0lBQ3RDLE1BQU1DLFNBQVNDLENBQUFBLEdBQUFBLGtCQUFBQSxLQUFLLEVBQUNGO0lBQ3JCLE9BQU9DLE9BQU9FLEdBQUcsQ0FBQyxDQUFDQztRQUNqQixJQUFJO1lBQ0YsTUFBTUMsTUFBTSxJQUFJQyxJQUFJRixNQUFNRyxJQUFJO1lBQzlCLE1BQU1DLE1BQU1ULGdCQUFnQlUsSUFBSSxDQUFDSixJQUFJSyxRQUFRO1lBQzdDLElBQUlGLEtBQUs7b0JBQ1NHLHNDQUFBQTtnQkFBaEIsTUFBTUMsVUFBQUEsQ0FBVUQsK0JBQUFBLFFBQVFFLEdBQUcsQ0FBQ0MsZUFBZSxzQkFBM0JILHVDQUFBQSw2QkFDWkksT0FBTyxDQUFDLE9BQU8seUJBREhKLHFDQUVaSSxPQUFPLENBQUMsT0FBTztnQkFDbkIsSUFBSUgsU0FBUztvQkFDWFIsTUFBTUcsSUFBSSxHQUFHLFlBQVlLLFFBQVFJLE1BQU0sQ0FBQ1IsSUFBSVMsR0FBRyxNQUFPWixJQUFJYSxNQUFNO2dCQUNsRTtZQUNGO1FBQ0YsRUFBRSxPQUFBQyxHQUFNLENBQUM7UUFDVCxPQUFPZjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2VTdGFjay50cz9hZDAzIl0sIm5hbWVzIjpbInBhcnNlU3RhY2siLCJyZWdleE5leHRTdGF0aWMiLCJzdGFjayIsImZyYW1lcyIsInBhcnNlIiwibWFwIiwiZnJhbWUiLCJ1cmwiLCJVUkwiLCJmaWxlIiwicmVzIiwiZXhlYyIsInBhdGhuYW1lIiwicHJvY2VzcyIsImRpc3REaXIiLCJlbnYiLCJfX05FWFRfRElTVF9ESVIiLCJyZXBsYWNlIiwiY29uY2F0IiwicG9wIiwic2VhcmNoIiwiZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js ***! - \**************************************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RuntimeErrorHandler\", ({\n enumerable: true,\n get: function() {\n return RuntimeErrorHandler;\n }\n}));\nconst RuntimeErrorHandler = {\n hadRuntimeError: false\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=runtime-error-handler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcnVudGltZS1lcnJvci1oYW5kbGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBQWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHNCQUFzQjtJQUNqQ0MsaUJBQWlCO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3J1bnRpbWUtZXJyb3ItaGFuZGxlci50cz84OTUxIl0sIm5hbWVzIjpbIlJ1bnRpbWVFcnJvckhhbmRsZXIiLCJoYWRSdW50aW1lRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js ***! - \****************************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getFrameSource: function() {\n return getFrameSource;\n },\n getOriginalStackFrames: function() {\n return getOriginalStackFrames;\n }\n});\nfunction getOriginalStackFrame(source, type, isAppDir, errorMessage) {\n var _source_file, _source_file1;\n async function _getOriginalStackFrame() {\n var /* collapsed */ _source_file, _body_originalStackFrame_file, _body_originalStackFrame, _body_originalStackFrame_file1, _body_originalStackFrame1;\n const params = new URLSearchParams();\n params.append(\"isServer\", String(type === \"server\"));\n params.append(\"isEdgeServer\", String(type === \"edge-server\"));\n params.append(\"isAppDirectory\", String(isAppDir));\n params.append(\"errorMessage\", errorMessage);\n for(const key in source){\n var _source_key;\n params.append(key, ((_source_key = source[key]) != null ? _source_key : \"\").toString());\n }\n const controller = new AbortController();\n const tm = setTimeout(()=>controller.abort(), 3000);\n const res = await self.fetch(( false || \"\") + \"/__nextjs_original-stack-frame?\" + params.toString(), {\n signal: controller.signal\n }).finally(()=>{\n clearTimeout(tm);\n });\n if (!res.ok || res.status === 204) {\n return Promise.reject(new Error(await res.text()));\n }\n const body = await res.json();\n var _ref;\n return {\n error: false,\n reason: null,\n external: false,\n expanded: !Boolean((_ref = ((_source_file = source.file) == null ? void 0 : _source_file.includes(\"node_modules\")) || ((_body_originalStackFrame = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file = _body_originalStackFrame.file) == null ? void 0 : _body_originalStackFrame_file.includes(\"node_modules\")) || ((_body_originalStackFrame1 = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file1 = _body_originalStackFrame1.file) == null ? void 0 : _body_originalStackFrame_file1.startsWith(\"[turbopack]/\"))) != null ? _ref : true),\n sourceStackFrame: source,\n originalStackFrame: body.originalStackFrame,\n originalCodeFrame: body.originalCodeFrame || null,\n sourcePackage: body.sourcePackage\n };\n }\n if (source.file === \"<anonymous>\" || ((_source_file = source.file) == null ? void 0 : _source_file.match(/^node:/)) || ((_source_file1 = source.file) == null ? void 0 : _source_file1.match(/https?:\\/\\//))) {\n return Promise.resolve({\n error: false,\n reason: null,\n external: true,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null,\n sourcePackage: null\n });\n }\n return _getOriginalStackFrame().catch((err)=>{\n var _err_message, _ref;\n return {\n error: true,\n reason: (_ref = (_err_message = err == null ? void 0 : err.message) != null ? _err_message : err == null ? void 0 : err.toString()) != null ? _ref : \"Unknown Error\",\n external: false,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null,\n sourcePackage: null\n };\n });\n}\nfunction getOriginalStackFrames(frames, type, isAppDir, errorMessage) {\n return Promise.all(frames.map((frame)=>getOriginalStackFrame(frame, type, isAppDir, errorMessage)));\n}\nconst webpackRegExes = [\n /^webpack-internal:\\/\\/\\/(\\.)?(\\((\\w+)\\))?/,\n /^(webpack:\\/\\/\\/(\\.)?|webpack:\\/\\/(_N_E\\/)?)(\\((\\w+)\\))?/\n];\nfunction isWebpackBundled(file) {\n return webpackRegExes.some((regEx)=>regEx.test(file));\n}\n/**\n * Format the webpack internal id to original file path\n * webpack-internal:///./src/hello.tsx => ./src/hello.tsx\n * webpack://_N_E/./src/hello.tsx => ./src/hello.tsx\n * webpack://./src/hello.tsx => ./src/hello.tsx\n * webpack:///./src/hello.tsx => ./src/hello.tsx\n */ function formatFrameSourceFile(file) {\n for (const regex of webpackRegExes)file = file.replace(regex, \"\");\n return file;\n}\nfunction getFrameSource(frame) {\n if (!frame.file) return \"\";\n let str = \"\";\n try {\n var _globalThis_location;\n const u = new URL(frame.file);\n // Strip the origin for same-origin scripts.\n if (((_globalThis_location = globalThis.location) == null ? void 0 : _globalThis_location.origin) !== u.origin) {\n // URLs can be valid without an `origin`, so long as they have a\n // `protocol`. However, `origin` is preferred.\n if (u.origin === \"null\") {\n str += u.protocol;\n } else {\n str += u.origin;\n }\n }\n // Strip query string information as it's typically too verbose to be\n // meaningful.\n str += u.pathname;\n str += \" \";\n str = formatFrameSourceFile(str);\n } catch (e) {\n str += formatFrameSourceFile(frame.file || \"(unknown)\") + \" \";\n }\n if (!isWebpackBundled(frame.file) && frame.lineNumber != null) {\n if (frame.column != null) {\n str += \"(\" + frame.lineNumber + \":\" + frame.column + \") \";\n } else {\n str += \"(\" + frame.lineNumber + \") \";\n }\n }\n return str.slice(0, -1);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=stack-frame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvc3RhY2stZnJhbWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNkhnQkEsZ0JBQWM7ZUFBZEE7O0lBbENBQyx3QkFBc0I7ZUFBdEJBOzs7QUFoRmhCLFNBQVNDLHNCQUNQQyxNQUFrQixFQUNsQkMsSUFBcUMsRUFDckNDLFFBQWlCLEVBQ2pCQyxZQUFvQjtRQWlEbEJILGNBQ0FBO0lBaERGLGVBQWVJO1lBZ0NULGFBQWEsR0FDWkosY0FDQ0ssK0JBQUFBLDBCQUNBQSxnQ0FBQUE7UUFsQ04sTUFBTUMsU0FBUyxJQUFJQztRQUNuQkQsT0FBT0UsTUFBTSxDQUFDLFlBQVlDLE9BQU9SLFNBQVM7UUFDMUNLLE9BQU9FLE1BQU0sQ0FBQyxnQkFBZ0JDLE9BQU9SLFNBQVM7UUFDOUNLLE9BQU9FLE1BQU0sQ0FBQyxrQkFBa0JDLE9BQU9QO1FBQ3ZDSSxPQUFPRSxNQUFNLENBQUMsZ0JBQWdCTDtRQUM5QixJQUFLLE1BQU1PLE9BQU9WLE9BQVE7Z0JBQ0pXO1lBQXBCTCxPQUFPRSxNQUFNLENBQUNFLEtBQUssQ0FBQyxDQUFBQyxjQUFBWCxNQUFlLENBQUNVLElBQUksWUFBcEJDLGNBQXdCLElBQUlDLFFBQVE7UUFDMUQ7UUFFQSxNQUFNQyxhQUFhLElBQUlDO1FBQ3ZCLE1BQU1DLEtBQUtDLFdBQVcsSUFBTUgsV0FBV0ksS0FBSyxJQUFJO1FBQ2hELE1BQU1DLE1BQU0sTUFBTUMsS0FDZkMsS0FBSyxDQUNKLENBQ0VDLE1BQWtDLElBQUksTUFDdkMsb0NBQWlDZixPQUFPTSxRQUFRLElBQ2pEO1lBQUVZLFFBQVFYLFdBQVdXLE1BQU07UUFBQyxHQUU3QkMsT0FBTyxDQUFDO1lBQ1BDLGFBQWFYO1FBQ2Y7UUFDRixJQUFJLENBQUNHLElBQUlTLEVBQUUsSUFBSVQsSUFBSVUsTUFBTSxLQUFLLEtBQUs7WUFDakMs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RUFBRUcsTUFBTSxLQUFLLFFBQVE7Z0JBQ3ZCTCxPQUFPRSxFQUFFSSxRQUFRO1lBQ25CLE9BQU87Z0JBQ0xOLE9BQU9FLEVBQUVHLE1BQU07WUFDakI7UUFDRjtRQUVBLHFFQUFxRTtRQUNyRSxjQUFjO1FBQ2RMLE9BQU9FLEVBQUVLLFFBQVE7UUFDakJQLE9BQU87UUFDUEEsTUFBTUgsc0JBQXNCRztJQUM5QixFQUFFLE9BQUFRLEdBQU07UUFDTlIsT0FBT0gsc0JBQXNCTixNQUFNZixJQUFJLElBQUksZUFBZTtJQUM1RDtJQUVBLElBQUksQ0FBQ2lCLGlCQUFpQkYsTUFBTWYsSUFBSSxLQUFLZSxNQUFNa0IsVUFBVSxJQUFJLE1BQU07UUFDN0QsSUFBSWxCLE1BQU1tQixNQUFNLElBQUksTUFBTTtZQUN4QlYsT0FBTyxNQUFJVCxNQUFNa0IsVUFBVSxHQUFDLE1BQUdsQixNQUFNbUIsTUFBTSxHQUFDO1FBQzlDLE9BQU87WUFDTFYsT0FBTyxNQUFJVCxNQUFNa0IsVUFBVSxHQUFDO1FBQzlCO0lBQ0Y7SUFDQSxPQUFPVCxJQUFJVyxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3N0YWNrLWZyYW1lLnRzPzI4YjgiXSwibmFtZXMiOlsiZ2V0RnJhbWVTb3VyY2UiLCJnZXRPcmlnaW5hbFN0YWNrRnJhbWVzIiwiZ2V0T3JpZ2luYWxTdGFja0ZyYW1lIiwic291cmNlIiwidHlwZSIsImlzQXBwRGlyIiwiZXJyb3JNZXNzYWdlIiwiX2dldE9yaWdpbmFsU3RhY2tGcmFtZSIsImJvZHkiLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJhcHBlbmQiLCJTdHJpbmciLCJrZXkiLCJfc291cmNlX2tleSIsInRvU3RyaW5nIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsInRtIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwic2VsZiIsImZldGNoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJzaWduYWwiLCJmaW5hbGx5IiwiY2xlYXJUaW1lb3V0Iiwib2siLCJzdGF0dXMiLCJQcm9taXNlIiwicmVqZWN0IiwiRXJyb3IiLCJ0ZXh0IiwianNvbiIsImVycm9yIiwicmVhc29uIiwiZXh0ZXJuYWwiLCJleHBhbmRlZCIsIkJvb2xlYW4iLCJmaWxlIiwiaW5jbHVkZXMiLCJvcmlnaW5hbFN0YWNrRnJhbWUiLCJzdGFydHNXaXRoIiwic291cmNlU3RhY2tGcmFtZSIsIm9yaWdpbmFsQ29kZUZyYW1lIiwic291cmNlUGFja2FnZSIsIm1hdGNoIiwicmVzb2x2ZSIsImNhdGNoIiwiZXJyIiwibWVzc2FnZSIsImZyYW1lcyIsImFsbCIsIm1hcCIsImZyYW1lIiwid2VicGFja1JlZ0V4ZXMiLCJpc1dlYnBhY2tCdW5kbGVkIiwic29tZSIsInJlZ0V4IiwidGVzdCIsImZvcm1hdEZyYW1lU291cmNlRmlsZSIsInJlZ2V4IiwicmVwbGFjZSIsInN0ciIsImdsb2JhbFRoaXMiLCJ1IiwiVVJMIiwibG9jYXRpb24iLCJvcmlnaW4iLCJwcm90b2NvbCIsInBhdGhuYW1lIiwiZSIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js ***! - \**********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useErrorHandler\", ({\n enumerable: true,\n get: function() {\n return useErrorHandler;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ./hydration-error-info */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nconst _isnextroutererror = __webpack_require__(/*! ../../../is-next-router-error */ \"(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst _ishydrationerror = __webpack_require__(/*! ../../../is-hydration-error */ \"(ssr)/./node_modules/next/dist/client/components/is-hydration-error.js\");\nif (false) {}\nlet hasHydrationError = false;\nconst errorQueue = [];\nconst rejectionQueue = [];\nconst errorHandlers = [];\nconst rejectionHandlers = [];\nif (false) {}\nfunction useErrorHandler(handleOnUnhandledError, handleOnUnhandledRejection) {\n (0, _react.useEffect)(()=>{\n // Handle queued errors.\n errorQueue.forEach(handleOnUnhandledError);\n rejectionQueue.forEach(handleOnUnhandledRejection);\n // Listen to new errors.\n errorHandlers.push(handleOnUnhandledError);\n rejectionHandlers.push(handleOnUnhandledRejection);\n return ()=>{\n // Remove listeners.\n errorHandlers.splice(errorHandlers.indexOf(handleOnUnhandledError), 1);\n rejectionHandlers.splice(rejectionHandlers.indexOf(handleOnUnhandledRejection), 1);\n };\n }, [\n handleOnUnhandledError,\n handleOnUnhandledRejection\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-error-handler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLWVycm9yLWhhbmRsZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFnR2dCQTs7O2VBQUFBOzs7bUNBaEdVO2dEQUNVOytDQUNGOzhDQUNEO0FBSWpDLElBQUksS0FBa0IsRUFBYSxFQUtuQztBQUVBLElBQUlJLG9CQUFvQjtBQUN4QixNQUFNQyxhQUEyQixFQUFFO0FBQ25DLE1BQU1DLGlCQUErQixFQUFFO0FBQ3ZDLE1BQU1DLGdCQUFxQyxFQUFFO0FBQzdDLE1BQU1DLG9CQUF5QyxFQUFFO0FBRWpELElBQUksS0FBa0IsRUFBYSxFQTBFbkM7QUFFTyxTQUFTUixnQkFDZDBCLHNCQUFvQyxFQUNwQ0MsMEJBQXdDO0lBRXhDQyxDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUix3QkFBd0I7UUFDeEJ2QixXQUFXd0IsT0FBTyxDQUFDSDtRQUNuQnBCLGVBQWV1QixPQUFPLENBQUNGO1FBRXZCLHdCQUF3QjtRQUN4QnBCLGNBQWNnQixJQUFJLENBQUNHO1FBQ25CbEIsa0JBQWtCZSxJQUFJLENBQUNJO1FBRXZCLE9BQU87WUFDTCxvQkFBb0I7WUFDcEJwQixjQUFjdUIsTUFBTSxDQUFDdkIsY0FBY3dCLE9BQU8sQ0FBQ0wseUJBQXlCO1lBQ3BFbEIsa0JBQWtCc0IsTUFBTSxDQUN0QnRCLGtCQUFrQnVCLE9BQU8sQ0FBQ0osNkJBQzFCO1FBRUo7SUFDRixHQUFHO1FBQUNEO1FBQXdCQztLQUEyQjtBQUN6RCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy91c2UtZXJyb3ItaGFuZGxlci50cz80NWZlIl0sIm5hbWVzIjpbInVzZUVycm9ySGFuZGxlciIsIkVycm9yIiwic3RhY2tUcmFjZUxpbWl0IiwiZSIsImhhc0h5ZHJhdGlvbkVycm9yIiwiZXJyb3JRdWV1ZSIsInJlamVjdGlvblF1ZXVlIiwiZXJyb3JIYW5kbGVycyIsInJlamVjdGlvbkhhbmRsZXJzIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2IiwiaXNOZXh0Um91dGVyRXJyb3IiLCJlcnJvciIsInByZXZlbnREZWZhdWx0Iiwic3RhY2siLCJpc0NhdXNlZEJ5SHlkcmF0aW9uRmFpbHVyZSIsImlzSHlkcmF0aW9uRXJyb3IiLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJoeWRyYXRpb25FcnJvclN0YXRlIiwid2FybmluZyIsImRldGFpbHMiLCJwdXNoIiwiaGFuZGxlciIsInJlYXNvbiIsImhhbmRsZU9uVW5oYW5kbGVkRXJyb3IiLCJoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiIsInVzZUVmZmVjdCIsImZvckVhY2giLCJzcGxpY2UiLCJpbmRleE9mIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js ***! - \***********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOpenInEditor\", ({\n enumerable: true,\n get: function() {\n return useOpenInEditor;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nfunction useOpenInEditor(param) {\n let { file, lineNumber, column } = param === void 0 ? {} : param;\n const openInEditor = (0, _react.useCallback)(()=>{\n if (file == null || lineNumber == null || column == null) return;\n const params = new URLSearchParams();\n params.append(\"file\", file);\n params.append(\"lineNumber\", String(lineNumber));\n params.append(\"column\", String(column));\n self.fetch(( false || \"\") + \"/__nextjs_launch-editor?\" + params.toString()).then(()=>{}, ()=>{\n console.error(\"There was an issue opening this code in your editor.\");\n });\n }, [\n file,\n lineNumber,\n column\n ]);\n return openInEditor;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-open-in-editor.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBRWdCQTs7O2VBQUFBOzs7bUNBRlk7QUFFckIsU0FBU0EsZ0JBQWdCQyxLQUFBO0lBQUEsTUFDOUJDLElBQUksRUFDSkMsVUFBVSxFQUNWQyxNQUFNLEVBS1AsR0FSK0JILFVBQUEsU0FRNUIsQ0FBQyxJQVIyQkE7SUFTOUIsTUFBTUksZUFBZUMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQy9CLElBQUlKLFFBQVEsUUFBUUMsY0FBYyxRQUFRQyxVQUFVLE1BQU07UUFFMUQsTUFBTUcsU0FBUyxJQUFJQztRQUNuQkQsT0FBT0UsTUFBTSxDQUFDLFFBQVFQO1FBQ3RCSyxPQUFPRSxNQUFNLENBQUMsY0FBY0MsT0FBT1A7UUFDbkNJLE9BQU9FLE1BQU0sQ0FBQyxVQUFVQyxPQUFPTjtRQUUvQk8sS0FDR0MsS0FBSyxDQUNKLENBQ0VDLE1BQWtDLElBQUksTUFDdkMsNkJBQTBCTixPQUFPUyxRQUFRLElBRTNDQyxJQUFJLENBQ0gsS0FBTyxHQUNQO1lBQ0VDLFFBQVFDLEtBQUssQ0FBQztRQUNoQjtJQUVOLEdBQUc7UUFBQ2pCO1FBQU1DO1FBQVlDO0tBQU87SUFFN0IsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy91c2Utb3Blbi1pbi1lZGl0b3IudHM/M2Q3NiJdLCJuYW1lcyI6WyJ1c2VPcGVuSW5FZGl0b3IiLCJwYXJhbSIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwib3BlbkluRWRpdG9yIiwidXNlQ2FsbGJhY2siLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJhcHBlbmQiLCJTdHJpbmciLCJzZWxmIiwiZmV0Y2giLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInRvU3RyaW5nIiwidGhlbiIsImNvbnNvbGUiLCJlcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js": -/*!******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js ***! - \******************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n useSendMessage: function() {\n return useSendMessage;\n },\n useTurbopack: function() {\n return useTurbopack;\n },\n useWebsocket: function() {\n return useWebsocket;\n },\n useWebsocketPing: function() {\n return useWebsocketPing;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../../../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _getsocketurl = __webpack_require__(/*! ./get-socket-url */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js\");\nfunction useWebsocket(assetPrefix) {\n const webSocketRef = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n if (webSocketRef.current) {\n return;\n }\n const url = (0, _getsocketurl.getSocketUrl)(assetPrefix);\n webSocketRef.current = new window.WebSocket(\"\" + url + \"/_next/webpack-hmr\");\n }, [\n assetPrefix\n ]);\n return webSocketRef;\n}\nfunction useSendMessage(webSocketRef) {\n const sendMessage = (0, _react.useCallback)((data)=>{\n const socket = webSocketRef.current;\n if (!socket || socket.readyState !== socket.OPEN) {\n return;\n }\n return socket.send(data);\n }, [\n webSocketRef\n ]);\n return sendMessage;\n}\nfunction useTurbopack(sendMessage, onUpdateError) {\n const turbopackState = (0, _react.useRef)({\n init: false,\n // Until the dynamic import resolves, queue any turbopack messages which will be replayed.\n queue: [],\n callback: undefined\n });\n const processTurbopackMessage = (0, _react.useCallback)((msg)=>{\n const { callback, queue } = turbopackState.current;\n if (callback) {\n callback(msg);\n } else {\n queue.push(msg);\n }\n }, []);\n (0, _react.useEffect)(()=>{\n const { current: initCurrent } = turbopackState;\n // TODO(WEB-1589): only install if `process.turbopack` set.\n if (initCurrent.init) {\n return;\n }\n initCurrent.init = true;\n Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! @vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts */ \"(ssr)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\"))).then((param)=>{\n let { connect } = param;\n const { current } = turbopackState;\n connect({\n addMessageListener (cb) {\n current.callback = cb;\n // Replay all Turbopack messages before we were able to establish the HMR client.\n for (const msg of current.queue){\n cb(msg);\n }\n current.queue = undefined;\n },\n sendMessage,\n onUpdateError\n });\n });\n }, [\n sendMessage,\n onUpdateError\n ]);\n return processTurbopackMessage;\n}\nfunction useWebsocketPing(websocketRef) {\n const sendMessage = useSendMessage(websocketRef);\n const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n (0, _react.useEffect)(()=>{\n // Taken from on-demand-entries-client.js\n const interval = setInterval(()=>{\n sendMessage(JSON.stringify({\n event: \"ping\",\n tree,\n appDirRoute: true\n }));\n }, 2500);\n return ()=>clearInterval(interval);\n }, [\n tree,\n sendMessage\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-websocket.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLXdlYnNvY2tldC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0lBcUJnQkEsZ0JBQWM7ZUFBZEE7O0lBY0FDLGNBQVk7ZUFBWkE7O0lBOUJBQyxjQUFZO2VBQVpBOztJQXNGQUMsa0JBQWdCO2VBQWhCQTs7O21DQTNGMkM7MkRBQ2pCOzBDQUNiO0FBR3RCLFNBQVNELGFBQWFFLFdBQW1CO0lBQzlDLE1BQU1DLGVBQWVDLENBQUFBLEdBQUFBLE9BQUFBLE1BQU07SUFFM0JDLENBQUFBLEdBQUFBLE9BQUFBLFNBQVMsRUFBQztRQUNSLElBQUlGLGFBQWFHLE9BQU8sRUFBRTtZQUN4QjtRQUNGO1FBRUEsTUFBTUMsTUFBTUMsQ0FBQUEsR0FBQUEsY0FBQUEsWUFBWSxFQUFDTjtRQUV6QkMsYUFBYUcsT0FBTyxHQUFHLElBQUlHLE9BQU9DLFNBQVMsQ0FBQyxLQUFHSCxNQUFJO0lBQ3JELEdBQUc7UUFBQ0w7S0FBWTtJQUVoQixPQUFPQztBQUNUO0FBRU8sU0FBU0wsZUFBZUssWUFBNkM7SUFDMUUsTUFBTVEsY0FBY0MsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUM3QixDQUFDQztRQUNDLE1BQU1DLFNBQVNYLGFBQWFHLE9BQU87UUFDbkMsSUFBSSxDQUFDUSxVQUFVQSxPQUFPQyxVQUFVLEtBQUtELE9BQU9FLElBQUksRUFBRTtZQUNoRDtRQUNGO1FBQ0EsT0FBT0YsT0FBT0csSUFBSSxDQUFDSjtJQUNyQixHQUNBO1FBQUNWO0tBQWE7SUFFaEIsT0FBT1E7QUFDVDtBQUVPLFNBQVNaLGFBQ2RZLFdBQThDLEVBQzlDTyxhQUFxQztJQUVyQyxNQUFNQyxpQkFBaUJmLENBQUFBLEdBQUFBLE9BQUFBLE1BQU0sRUFJMUI7UUFDRGdCLE1BQU07UUFDTiwwRkFBMEY7UUFDMUZDLE9BQU8sRUFBRTtRQUNUQyxVQUFVQztJQUNaO0lBRUEsTUFBTUMsMEJBQTBCWixDQUFBQSxHQUFBQSxPQUFBQSxXQUFXLEVBQUMsQ0FBQ2E7UUFDM0MsTUFBTSxFQUFFSCxRQUFRLEVBQUVELEtBQUssRUFBRSxHQUFHRixlQUFlYixPQUFPO1FBQ2xELElBQUlnQixVQUFVO1lBQ1pBLFNBQVNHO1FBQ1gsT0FBTztZQUNMSixNQUFPSyxJQUFJLENBQUNEO1FBQ2Q7SUFDRixHQUFHLEVBQUU7SUFFTHBCLENBQUFBLEdBQUFBLE9BQUFBLFNBQVMsRUFBQztRQUNSLE1BQU0sRUFBRUMsU0FBU3FCLFdBQVcsRUFBRSxHQUFHUjtRQUNqQywyREFBMkQ7UUFDM0QsSUFBSVEsWUFBWVAsSUFBSSxFQUFFO1lBQ3BCO1FBQ0Y7UUFDQU8sWUFBWVAsSUFBSSxHQUFHO1FBRW5CLHlGQUVFLDBJQUNBUSxJQUFJLENBQUMsQ0FBQUM7Z0JBQUMsRUFBRUMsT0FBTyxFQUFFLEdBQUFEO1lBQ2pCLE1BQU0sRUFBRXZCLE9BQU8sRUFBRSxHQUFHYTtZQUNwQlcsUUFBUTtnQkFDTkMsb0JBQW1CQyxFQUF3QztvQkFDekQxQixRQUFRZ0IsUUFBUSxHQUFHVTtvQkFFbkIsaUZBQWlGO29CQUNqRixLQUFLLE1BQU1QLE9BQU9uQixRQUFRZSxLQUFLLENBQUc7d0JBQ2hDVyxHQUFHUDtvQkFDTDtvQkFDQW5CLFFBQVFlLEtBQUssR0FBR0U7Z0JBQ2xCO2dCQUNBWjtnQkFDQU87WUFDRjtRQUNGO0lBQ0YsR0FBRztRQUFDUDtRQUFhTztLQUFjO0lBRS9CLE9BQU9NO0FBQ1Q7QUFFTyxTQUFTdkIsaUJBQ2RnQyxZQUE2QztJQUU3QyxNQUFNdEIsY0FBY2IsZUFBZW1DO0lBQ25DLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFVBQVUsRUFBQ0MsK0JBQUFBLHlCQUF5QjtJQUVyRC9CLENBQUFBLEdBQUFBLE9BQUFBLFNBQVMsRUFBQztRQUNSLHlDQUF5QztRQUN6QyxNQUFNZ0MsV0FBV0MsWUFBWTtZQUMzQjNCLFlBQ0U0QixLQUFLQyxTQUFTLENBQUM7Z0JBQ2JDLE9BQU87Z0JBQ1BQO2dCQUNBUSxhQUFhO1lBQ2Y7UUFFSixHQUFHO1FBQ0gsT0FBTyxJQUFNQyxjQUFjTjtJQUM3QixHQUFHO1FBQUNIO1FBQU12QjtLQUFZO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3VzZS13ZWJzb2NrZXQudHM/YzYxMSJdLCJuYW1lcyI6WyJ1c2VTZW5kTWVzc2FnZSIsInVzZVR1cmJvcGFjayIsInVzZVdlYnNvY2tldCIsInVzZVdlYnNvY2tldFBpbmciLCJhc3NldFByZWZpeCIsIndlYlNvY2tldFJlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJ1cmwiLCJnZXRTb2NrZXRVcmwiLCJ3aW5kb3ciLCJXZWJTb2NrZXQiLCJzZW5kTWVzc2FnZSIsInVzZUNhbGxiYWNrIiwiZGF0YSIsInNvY2tldCIsInJlYWR5U3RhdGUiLCJPUEVOIiwic2VuZCIsIm9uVXBkYXRlRXJyb3IiLCJ0dXJib3BhY2tTdGF0ZSIsImluaXQiLCJxdWV1ZSIsImNhbGxiYWNrIiwidW5kZWZpbmVkIiwicHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UiLCJtc2ciLCJwdXNoIiwiaW5pdEN1cnJlbnQiLCJ0aGVuIiwicGFyYW0iLCJjb25uZWN0IiwiYWRkTWVzc2FnZUxpc3RlbmVyIiwiY2IiLCJ3ZWJzb2NrZXRSZWYiLCJ0cmVlIiwidXNlQ29udGV4dCIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJpbnRlcnZhbCIsInNldEludGVydmFsIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiYXBwRGlyUm91dGUiLCJjbGVhckludGVydmFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js ***! - \***********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOnClickOutside\", ({\n enumerable: true,\n get: function() {\n return useOnClickOutside;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction useOnClickOutside(el, handler) {\n _react.useEffect(()=>{\n if (el == null || handler == null) {\n return;\n }\n const listener = (e)=>{\n // Do nothing if clicking ref's element or descendent elements\n if (!el || el.contains(e.target)) {\n return;\n }\n handler(e);\n };\n const root = el.getRootNode();\n root.addEventListener(\"mousedown\", listener);\n root.addEventListener(\"touchstart\", listener);\n return function() {\n root.removeEventListener(\"mousedown\", listener);\n root.removeEventListener(\"touchstart\", listener);\n };\n }, [\n handler,\n el\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-on-click-outside.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hvb2tzL3VzZS1vbi1jbGljay1vdXRzaWRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7cURBRWdCQTs7O2VBQUFBOzs7OzZFQUZPO0FBRWhCLFNBQVNBLGtCQUNkQyxFQUFlLEVBQ2ZDLE9BQTJEO0lBRTNEQyxPQUFNQyxTQUFTLENBQUM7UUFDZCxJQUFJSCxNQUFNLFFBQVFDLFdBQVcsTUFBTTtZQUNqQztRQUNGO1FBRUEsTUFBTUcsV0FBVyxDQUFDQztZQUNoQiw4REFBOEQ7WUFDOUQsSUFBSSxDQUFDTCxNQUFNQSxHQUFHTSxRQUFRLENBQUNELEVBQUVFLE1BQU0sR0FBYztnQkFDM0M7WUFDRjtZQUVBTixRQUFRSTtRQUNWO1FBRUEsTUFBTUcsT0FBT1IsR0FBR1MsV0FBVztRQUMzQkQsS0FBS0UsZ0JBQWdCLENBQUMsYUFBYU47UUFDbkNJLEtBQUtFLGdCQUFnQixDQUFDLGNBQWNOO1FBQ3BDLE9BQU87WUFDTEksS0FBS0csbUJBQW1CLENBQUMsYUFBYVA7WUFDdENJLEtBQUtHLG1CQUFtQixDQUFDLGNBQWNQO1FBQ3pDO0lBQ0YsR0FBRztRQUFDSDtRQUFTRDtLQUFHO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9ob29rcy91c2Utb24tY2xpY2stb3V0c2lkZS50cz84ZWU1Il0sIm5hbWVzIjpbInVzZU9uQ2xpY2tPdXRzaWRlIiwiZWwiLCJoYW5kbGVyIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJsaXN0ZW5lciIsImUiLCJjb250YWlucyIsInRhcmdldCIsInJvb3QiLCJnZXRSb290Tm9kZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js ***! - \************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CloseIcon\", ({\n enumerable: true,\n get: function() {\n return CloseIcon;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst CloseIcon = ()=>{\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 6L6 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6 6L18 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CloseIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0Nsb3NlSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OzZDQTZCU0E7OztlQUFBQTs7Ozs7NkVBN0JjO0FBRXZCLE1BQU1BLFlBQVk7SUFDaEIsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUNDQyxPQUFNO1FBQ05DLFFBQU87UUFDUEMsU0FBUTtRQUNSQyxNQUFLO1FBQ0xDLE9BQU07OzBCQUVOLElBQUFQLFlBQUFRLEdBQUEsRUFBQ0MsUUFBQUE7Z0JBQ0NDLEdBQUU7Z0JBQ0ZDLFFBQU87Z0JBQ1BDLGFBQVk7Z0JBQ1pDLGVBQWM7Z0JBQ2RDLGdCQUFlOzswQkFFakIsSUFBQWQsWUFBQVEsR0FBQSxFQUFDQyxRQUFBQTtnQkFDQ0MsR0FBRTtnQkFDRkMsUUFBTztnQkFDUEMsYUFBWTtnQkFDWkMsZUFBYztnQkFDZEMsZ0JBQWU7Ozs7QUFJdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0Nsb3NlSWNvbi50c3g/MTk3ZCJdLCJuYW1lcyI6WyJDbG9zZUljb24iLCJfanN4cnVudGltZSIsImpzeHMiLCJzdmciLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwieG1sbnMiLCJqc3giLCJwYXRoIiwiZCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js ***! - \***************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CollapseIcon\", ({\n enumerable: true,\n get: function() {\n return CollapseIcon;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nfunction CollapseIcon(param) {\n let { collapsed } = param === void 0 ? {} : param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"svg\", {\n \"data-nextjs-call-stack-chevron-icon\": true,\n \"data-collapsed\": collapsed,\n fill: \"none\",\n height: \"20\",\n width: \"20\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"2\",\n viewBox: \"0 0 24 24\",\n ...typeof collapsed === \"boolean\" ? {\n style: {\n transform: collapsed ? undefined : \"rotate(90deg)\"\n }\n } : {},\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M9 18l6-6-6-6\"\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CollapseIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0NvbGxhcHNlSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQUFnQkE7OztlQUFBQTs7OztBQUFULFNBQVNBLGFBQWFDLEtBQUE7SUFBQSxNQUFFQyxTQUFTLEVBQTJCLEdBQXRDRCxVQUFBLFNBQXlDLENBQUMsSUFBMUNBO0lBQzNCLE9BQ0UsV0FERixHQUNFLElBQUFFLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsdUNBQW1DO1FBQ25DQyxrQkFBZ0JMO1FBQ2hCTSxNQUFLO1FBQ0xDLFFBQU87UUFDUEMsT0FBTTtRQUNOQyxnQkFBZTtRQUNmQyxRQUFPO1FBQ1BDLGVBQWM7UUFDZEMsZ0JBQWU7UUFDZkMsYUFBWTtRQUNaQyxTQUFRO1FBR1AsR0FBSSxPQUFPZCxjQUFjLFlBQ3RCO1lBQUVlLE9BQU87Z0JBQUVDLFdBQVdoQixZQUFZaUIsWUFBWTtZQUFnQjtRQUFFLElBQ2hFLENBQUMsQ0FBQztrQkFFTixrQkFBQWhCLFlBQUFDLEdBQUEsRUFBQ2dCLFFBQUFBO1lBQUtDLEdBQUU7OztBQUdkIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9pY29ucy9Db2xsYXBzZUljb24udHN4PzI2ZGUiXSwibmFtZXMiOlsiQ29sbGFwc2VJY29uIiwicGFyYW0iLCJjb2xsYXBzZWQiLCJfanN4cnVudGltZSIsImpzeCIsInN2ZyIsImRhdGEtbmV4dGpzLWNhbGwtc3RhY2stY2hldnJvbi1pY29uIiwiZGF0YS1jb2xsYXBzZWQiLCJmaWxsIiwiaGVpZ2h0Iiwid2lkdGgiLCJzaGFwZVJlbmRlcmluZyIsInN0cm9rZSIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInN0cm9rZVdpZHRoIiwidmlld0JveCIsInN0eWxlIiwidHJhbnNmb3JtIiwidW5kZWZpbmVkIiwicGF0aCIsImQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js ***! - \****************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"FrameworkIcon\", ({\n enumerable: true,\n get: function() {\n return FrameworkIcon;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nfunction FrameworkIcon(param) {\n let { framework } = param;\n if (framework === \"react\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"react\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 410 369\",\n fill: \"none\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"5\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M204.995 224.552C226.56 224.552 244.042 207.07 244.042 185.506C244.042 163.941 226.56 146.459 204.995 146.459C183.43 146.459 165.948 163.941 165.948 185.506C165.948 207.07 183.43 224.552 204.995 224.552Z\",\n fill: \"currentColor\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M409.99 184.505C409.99 153.707 381.437 126.667 335.996 108.925C343.342 60.6535 334.19 22.3878 307.492 6.98883C283.649 -6.77511 250.631 -0.0395641 214.512 25.9753C211.316 28.2692 208.143 30.7097 204.97 33.2477C201.822 30.7097 198.65 28.2692 195.477 25.9753C159.359 -0.0395641 126.34 -6.79951 102.497 6.98883C75.8237 22.3878 66.6721 60.6291 74.0422 108.852C28.5529 126.618 0 153.682 0 184.505C0 215.303 28.5528 242.342 73.9934 260.084C66.6477 308.356 75.7993 346.621 102.497 362.02C110.575 366.682 119.727 369 129.684 369C149.085 369 171.61 360.215 195.477 343.034C198.674 340.74 201.847 338.3 205.019 335.762C208.167 338.3 211.34 340.74 214.512 343.034C238.38 360.239 260.905 369 280.306 369C290.263 369 299.415 366.682 307.492 362.02C331.335 348.256 342 316.287 337.534 271.993C337.143 268.089 336.631 264.135 335.996 260.109C381.461 242.367 409.99 215.327 409.99 184.505ZM225.934 41.8136C246.238 27.1955 265.127 19.5814 280.306 19.5814C286.871 19.5814 292.728 20.9968 297.731 23.8765C315.204 33.9798 322.672 62.9475 317.327 102.433C299.756 97.0401 280.306 92.9158 259.392 90.2802C246.872 73.8074 233.597 58.9453 220.003 46.2551C221.98 44.7421 223.957 43.229 225.934 41.8136ZM112.259 23.8765C117.262 20.9968 123.119 19.5814 129.684 19.5814C144.863 19.5814 163.752 27.1711 184.056 41.8136C186.033 43.229 188.01 44.7176 189.986 46.2551C176.393 58.9453 163.142 73.783 150.622 90.2558C129.732 92.8914 110.258 97.0401 92.687 102.409C87.3424 62.9475 94.7857 33.9798 112.259 23.8765ZM19.5233 184.505C19.5233 164.322 40.9014 143.359 77.776 128.253C81.9003 146.141 88.0502 165.054 96.1768 184.456C88.0014 203.881 81.8515 222.819 77.7272 240.732C40.9014 225.626 19.5233 204.687 19.5233 184.505ZM184.056 327.196C154.966 348.134 128.805 354.675 112.259 345.133C94.7857 335.029 87.3181 306.062 92.6626 266.576C110.234 271.969 129.684 276.093 150.598 278.729C163.117 295.202 176.393 310.064 189.986 322.754C188.01 324.292 186.033 325.78 184.056 327.196ZM204.995 310.04C180.591 287.685 157.138 257.815 137.347 223.551C132.051 214.4 121.344 191.396 117 182.489C113.535 190.786 110.112 198.398 107.427 206.5C109.623 210.575 118.092 229.213 120.434 233.288C125.071 241.317 129.928 249.127 134.931 256.692C120.898 254.227 107.915 251.055 96.1035 247.321C102.815 217.011 116.213 182.064 137.347 145.458C142.545 136.453 153.838 116.346 159.5 108C150.568 109.147 143.395 108.767 135 110.5C132.56 114.453 122.777 131.645 120.434 135.721C115.749 143.823 111.454 151.925 107.427 159.978C102.546 146.581 98.8124 133.744 96.1524 121.64C125.755 112.293 162.727 106.411 204.995 106.411C215.562 106.411 237.63 106.197 247.49 106.905C242.048 99.7544 237.38 93.2819 231.694 86.888C227.082 86.7416 209.705 86.888 204.995 86.888C195.672 86.888 186.545 87.2053 177.589 87.7422C186.472 77.1752 195.672 67.5111 204.995 58.9697C229.375 81.3239 252.851 111.195 272.643 145.458C277.841 154.463 289.073 175.426 293.49 184.505C296.98 176.207 300.281 168.64 302.99 160.489C300.793 156.389 291.898 139.747 289.555 135.696C284.918 127.667 280.062 119.858 275.059 112.317C289.092 114.782 302.075 117.954 313.886 121.688C307.175 151.998 293.777 186.945 272.643 223.551C267.445 232.556 252.651 253.178 246.99 261.524C255.922 260.377 265.595 258.663 273.99 256.93C276.43 252.976 287.212 237.364 289.555 233.288C294.216 225.235 298.512 217.182 302.489 209.153C307.224 222.185 310.982 234.997 313.715 247.394C284.138 256.741 247.214 262.598 204.995 262.598C194.428 262.598 169.859 261.208 160 260.5C165.442 267.65 171.304 275.095 176.99 281.489C181.602 281.635 200.285 282.121 204.995 282.121C214.317 282.121 223.444 281.804 232.401 281.267C223.493 291.834 214.317 301.498 204.995 310.04ZM297.731 345.133C281.185 354.699 254.999 348.159 225.934 327.196C223.957 325.78 221.98 324.292 220.003 322.754C233.597 310.064 246.848 295.226 259.367 278.753C280.233 276.118 299.659 271.993 317.205 266.625C317.547 269.089 317.888 271.554 318.132 273.97C321.72 309.649 314.277 335.566 297.731 345.133ZM332.262 240.756C328.065 222.599 321.842 203.686 313.813 184.578C321.988 165.152 328.138 146.215 332.262 128.302C369.088 143.408 390.466 164.322 390.466 184.505C390.466 204.687 369.113 225.626 332.262 240.756Z\",\n fill: \"currentColor\"\n })\n ]\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"next\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 180 180\",\n fill: \"none\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"mask\", {\n id: \"mask0_408_139\",\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"180\",\n height: \"180\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"90\",\n fill: \"black\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"g\", {\n mask: \"url(#mask0_408_139)\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"87\",\n fill: \"black\",\n stroke: \"white\",\n strokeWidth: \"6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z\",\n fill: \"url(#paint0_linear_408_139)\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"rect\", {\n x: \"115\",\n y: \"54\",\n width: \"12\",\n height: \"72\",\n fill: \"url(#paint1_linear_408_139)\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"defs\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint0_linear_408_139\",\n x1: \"109\",\n y1: \"116.5\",\n x2: \"144.5\",\n y2: \"160.5\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint1_linear_408_139\",\n x1: \"121\",\n y1: \"54\",\n x2: \"120.799\",\n y2: \"106.875\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n })\n ]\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=FrameworkIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0ZyYW1ld29ya0ljb24uanMiLCJtYXBwaW5ncyI6Ijs7OztpREFFZ0JBOzs7ZUFBQUE7Ozs7QUFBVCxTQUFTQSxjQUFjQyxLQUk3QjtJQUo2QixNQUM1QkMsU0FBUyxFQUdWLEdBSjZCRDtJQUs1QixJQUFJQyxjQUFjLFNBQVM7UUFDekIsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtZQUNDQyx5Q0FBc0M7WUFDdENDLE9BQU07WUFDTkMsT0FBTTtZQUNOQyxRQUFPO1lBQ1BDLFNBQVE7WUFDUkMsTUFBSztZQUNMQyxnQkFBZTtZQUNmQyxRQUFPO1lBQ1BDLGVBQWM7WUFDZEMsZ0JBQWU7WUFDZkMsYUFBWTs7OEJBRVosSUFBQWIsWUFBQWMsR0FBQSxFQUFDQyxRQUFBQTtvQkFDQ0MsR0FBRTtvQkFDRlIsTUFBSzs7OEJBRVAsSUFBQVIsWUFBQWMsR0FBQSxFQUFDQyxRQUFBQTtvQkFDQ0MsR0FBRTtvQkFDRlIsTUFBSzs7OztJQUliO0lBRUEsT0FDRSxXQURGLEdBQ0UsSUFBQVIsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUNDQyx5Q0FBc0M7UUFDdENDLE9BQU07UUFDTkMsT0FBTTtRQUNOQyxRQUFPO1FBQ1BDLFNBQVE7UUFDUkMsTUFBSzs7MEJBRUwsSUFBQVIsWUFBQWMsR0FBQSxFQUFDRyxRQUFBQTtnQkFDQ0MsSUFBRztnQkFDSEMsV0FBVTtnQkFDVkMsR0FBRTtnQkFDRkMsR0FBRTtnQkFDRmhCLE9BQU07Z0JBQ05DLFFBQU87MEJBRVAsa0JBQUFOLFlBQUFjLEdBQUEsRUFBQ1EsVUFBQUE7b0JBQU9DLElBQUc7b0JBQUtDLElBQUc7b0JBQUtDLEdBQUU7b0JBQUtqQixNQUFLOzs7MEJBRXRDLElBQUFSLFlBQUFDLElBQUEsRUFBQ3lCLEtBQUFBO2dCQUFFVCxNQUFLOztrQ0FDTixJQUFBakIsWUFBQWMsR0FBQSxFQUFDUSxVQUFBQTt3QkFDQ0MsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsR0FBRTt3QkFDRmpCLE1BQUs7d0JBQ0xFLFFBQU87d0JBQ1BHLGFBQVk7O2tDQUVkLElBQUFiLFlBQUFjLEdBQUEsRUFBQ0MsUUFBQUE7d0JBQ0NDLEdBQUU7d0JBQ0ZSLE1BQUs7O2tDQUVQLElBQUFSLFlBQUFjLEdBQUEsRUFBQ2EsUUFBQUE7d0JBQ0NQLEdBQUU7d0JBQ0ZDLEdBQUU7d0JBQ0ZoQixPQUFNO3dCQUNOQyxRQUFPO3dCQUNQRSxNQUFLOzs7OzBCQUdULElBQUFSLFlBQUFDLElBQUEsRUFBQzJCLFFBQUFBOztrQ0FDQyxJQUFBNUIsWUFBQUMsSUFBQSxFQUFDNEIsa0JBQUFBO3dCQUNDWCxJQUFHO3dCQUNIWSxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxlQUFjOzswQ0FFZCxJQUFBbEMsWUFBQWMsR0FBQSxFQUFDcUIsUUFBQUE7Z0NBQUtDLFdBQVU7OzBDQUNoQixJQUFBcEMsWUFBQWMsR0FBQSxFQUFDcUIsUUFBQUE7Z0NBQUtFLFFBQU87Z0NBQUlELFdBQVU7Z0NBQVFFLGFBQVk7Ozs7a0NBRWpELElBQUF0QyxZQUFBQyxJQUFBLEVBQUM0QixrQkFBQUE7d0JBQ0NYLElBQUc7d0JBQ0hZLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLGVBQWM7OzBDQUVkLElBQUFsQyxZQUFBYyxHQUFBLEVBQUNxQixRQUFBQTtnQ0FBS0MsV0FBVTs7MENBQ2hCLElBQUFwQyxZQUFBYyxHQUFBLEVBQUNxQixRQUFBQTtnQ0FBS0UsUUFBTztnQ0FBSUQsV0FBVTtnQ0FBUUUsYUFBWTs7Ozs7Ozs7QUFLekQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0ZyYW1ld29ya0ljb24udHN4P2M5MDAiXSwibmFtZXMiOlsiRnJhbWV3b3JrSWNvbiIsInBhcmFtIiwiZnJhbWV3b3JrIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwic3ZnIiwiZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZXdvcmstaWNvbiIsInhtbG5zIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsInNoYXBlUmVuZGVyaW5nIiwic3Ryb2tlIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJqc3giLCJwYXRoIiwiZCIsIm1hc2siLCJpZCIsIm1hc2tVbml0cyIsIngiLCJ5IiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJnIiwicmVjdCIsImRlZnMiLCJsaW5lYXJHcmFkaWVudCIsIngxIiwieTEiLCJ4MiIsInkyIiwiZ3JhZGllbnRVbml0cyIsInN0b3AiLCJzdG9wQ29sb3IiLCJvZmZzZXQiLCJzdG9wT3BhY2l0eSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js ***! - \********************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Base\", ({\n enumerable: true,\n get: function() {\n return Base;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n --size-gap-half: 4px;\\n --size-gap: 8px;\\n --size-gap-double: 16px;\\n --size-gap-triple: 24px;\\n --size-gap-quad: 32px;\\n\\n --size-font-small: 14px;\\n --size-font: 16px;\\n --size-font-big: 20px;\\n --size-font-bigger: 24px;\\n\\n --color-background: white;\\n --color-font: #757575;\\n --color-backdrop: rgba(17, 17, 17, 0.2);\\n\\n --color-title-color: #1f1f1f;\\n --color-stack-h6: #222;\\n --color-stack-headline: #666;\\n --color-stack-subline: #999;\\n --color-stack-notes: #777;\\n\\n --color-accents-1: #808080;\\n --color-accents-2: #222222;\\n --color-accents-3: #404040;\\n\\n --color-text-color-red-1: #ff5555;\\n --color-text-background-red-1: #fff9f9;\\n\\n --font-stack-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono',\\n Menlo, Courier, monospace;\\n --font-stack-sans: -apple-system, 'Source Sans Pro', sans-serif;\\n\\n --color-ansi-selection: rgba(95, 126, 151, 0.48);\\n --color-ansi-bg: #111111;\\n --color-ansi-fg: #cccccc;\\n\\n --color-ansi-white: #777777;\\n --color-ansi-black: #141414;\\n --color-ansi-blue: #00aaff;\\n --color-ansi-cyan: #88ddff;\\n --color-ansi-green: #98ec65;\\n --color-ansi-magenta: #aa88ff;\\n --color-ansi-red: #ff5555;\\n --color-ansi-yellow: #ffcc33;\\n --color-ansi-bright-white: #ffffff;\\n --color-ansi-bright-black: #777777;\\n --color-ansi-bright-blue: #33bbff;\\n --color-ansi-bright-cyan: #bbecff;\\n --color-ansi-bright-green: #b6f292;\\n --color-ansi-bright-magenta: #cebbff;\\n --color-ansi-bright-red: #ff8888;\\n --color-ansi-bright-yellow: #ffd966;\\n }\\n\\n @media (prefers-color-scheme: dark) {\\n :host {\\n --color-background: rgb(28, 28, 30);\\n --color-font: white;\\n --color-backdrop: rgb(44, 44, 46);\\n\\n --color-title-color: #fafafa;\\n --color-stack-h6: rgb(200, 200, 204);\\n --color-stack-headline: rgb(99, 99, 102);\\n --color-stack-notes: #a9a9a9;\\n --color-stack-subline: rgb(121, 121, 121);\\n\\n --color-accents-3: rgb(118, 118, 118);\\n\\n --color-text-background-red-1: #2a1e1e;\\n }\\n }\\n\\n .mono {\\n font-family: var(--font-stack-monospace);\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-bottom: var(--size-gap);\\n font-weight: 500;\\n line-height: 1.5;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction Base() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Base.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9CYXNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7d0NBR2dCQTs7O2VBQUFBOzs7Ozs7NkVBSE87MENBQ0s7Ozs7Ozs7Ozs7QUFFckIsU0FBU0E7SUFDZCxPQUNFLFdBREYsR0FDRSxJQUFBQyxZQUFBQyxHQUFBLEVBQUNDLFNBQUFBO3NCQUNFQyxjQUFBQSxJQUFHLEVBQUFDOztBQTJGViIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvc3R5bGVzL0Jhc2UudHN4PzgwM2EiXSwibmFtZXMiOlsiQmFzZSIsIl9qc3hydW50aW1lIiwianN4Iiwic3R5bGUiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js ***! - \*******************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ComponentStyles\", ({\n enumerable: true,\n get: function() {\n return ComponentStyles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _styles = __webpack_require__(/*! ../components/CodeFrame/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _styles1 = __webpack_require__(/*! ../components/LeftRightDialogHeader/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nconst _styles2 = __webpack_require__(/*! ../components/Overlay/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\");\nconst _styles3 = __webpack_require__(/*! ../components/Terminal/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _BuildError = __webpack_require__(/*! ../container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _RuntimeError = __webpack_require__(/*! ../container/RuntimeError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction ComponentStyles() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject(), _styles2.styles, _Toast.styles, _Dialog.styles, _styles1.styles, _styles.styles, _styles3.styles, _BuildError.styles, _Errors.styles, _RuntimeError.styles, _VersionStalenessInfo.styles)\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ComponentStyles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Db21wb25lbnRTdHlsZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFZZ0JBOzs7ZUFBQUE7Ozs7O29DQVpvQjtvQ0FDSDtxQ0FDZTtxQ0FDZDtxQ0FDQzttQ0FDSDtrREFDVzt3Q0FDQTtvQ0FDSTswQ0FDTzswQ0FDMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLFNBQVNBO0lBQ2QsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsR0FBQSxFQUFDQyxTQUFBQTtzQkFDRUMsY0FBQUEsSUFBRyxFQUFBQyxtQkFDQUMsU0FBQUEsTUFBTyxFQUNQQyxPQUFBQSxNQUFLLEVBQ0xDLFFBQUFBLE1BQU0sRUFDTkMsU0FBQUEsTUFBcUIsRUFDckJDLFFBQUFBLE1BQVMsRUFDVEMsU0FBQUEsTUFBUSxFQUNSQyxZQUFBQSxNQUFnQixFQUNoQkMsUUFBQUEsTUFBb0IsRUFDcEJDLGNBQUFBLE1BQTJCLEVBQzNCQyxzQkFBQUEsTUFBZ0I7O0FBSTFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9zdHlsZXMvQ29tcG9uZW50U3R5bGVzLnRzeD84ZGJhIl0sIm5hbWVzIjpbIkNvbXBvbmVudFN0eWxlcyIsIl9qc3hydW50aW1lIiwianN4Iiwic3R5bGUiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiLCJvdmVybGF5IiwidG9hc3QiLCJkaWFsb2ciLCJsZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJjb2RlRnJhbWUiLCJ0ZXJtaW5hbCIsImJ1aWxkRXJyb3JTdHlsZXMiLCJjb250YWluZXJFcnJvclN0eWxlcyIsImNvbnRhaW5lclJ1bnRpbWVFcnJvclN0eWxlcyIsInZlcnNpb25TdGFsZW5lc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js ***! - \************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CssReset\", ({\n enumerable: true,\n get: function() {\n return CssReset;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n all: initial;\\n\\n /* the direction property is not reset by 'all' */\\n direction: ltr;\\n }\\n\\n /*!\\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\\n * Copyright 2011-2019 The Bootstrap Authors\\n * Copyright 2011-2019 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\\n */\\n *,\\n *::before,\\n *::after {\\n box-sizing: border-box;\\n }\\n\\n :host {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n }\\n\\n article,\\n aside,\\n figcaption,\\n figure,\\n footer,\\n header,\\n hgroup,\\n main,\\n nav,\\n section {\\n display: block;\\n }\\n\\n :host {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,\\n 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\\n 'Noto Color Emoji';\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 1.5;\\n color: var(--color-font);\\n text-align: left;\\n background-color: #fff;\\n }\\n\\n [tabindex='-1']:focus:not(:focus-visible) {\\n outline: 0 !important;\\n }\\n\\n hr {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible;\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-top: 0;\\n margin-bottom: 8px;\\n }\\n\\n p {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n abbr[title],\\n abbr[data-original-title] {\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none;\\n }\\n\\n address {\\n margin-bottom: 16px;\\n font-style: normal;\\n line-height: inherit;\\n }\\n\\n ol,\\n ul,\\n dl {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n ol ol,\\n ul ul,\\n ol ul,\\n ul ol {\\n margin-bottom: 0;\\n }\\n\\n dt {\\n font-weight: 700;\\n }\\n\\n dd {\\n margin-bottom: 8px;\\n margin-left: 0;\\n }\\n\\n blockquote {\\n margin: 0 0 16px;\\n }\\n\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n\\n small {\\n font-size: 80%;\\n }\\n\\n sub,\\n sup {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline;\\n }\\n\\n sub {\\n bottom: -0.25em;\\n }\\n\\n sup {\\n top: -0.5em;\\n }\\n\\n a {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n }\\n\\n a:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n }\\n\\n a:not([href]) {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n a:not([href]):hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n pre,\\n code,\\n kbd,\\n samp {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas,\\n 'Liberation Mono', 'Courier New', monospace;\\n font-size: 1em;\\n }\\n\\n pre {\\n margin-top: 0;\\n margin-bottom: 16px;\\n overflow: auto;\\n }\\n\\n figure {\\n margin: 0 0 16px;\\n }\\n\\n img {\\n vertical-align: middle;\\n border-style: none;\\n }\\n\\n svg {\\n overflow: hidden;\\n vertical-align: middle;\\n }\\n\\n table {\\n border-collapse: collapse;\\n }\\n\\n caption {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom;\\n }\\n\\n th {\\n text-align: inherit;\\n }\\n\\n label {\\n display: inline-block;\\n margin-bottom: 8px;\\n }\\n\\n button {\\n border-radius: 0;\\n }\\n\\n button:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n }\\n\\n input,\\n button,\\n select,\\n optgroup,\\n textarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n }\\n\\n button,\\n input {\\n overflow: visible;\\n }\\n\\n button,\\n select {\\n text-transform: none;\\n }\\n\\n select {\\n word-wrap: normal;\\n }\\n\\n button,\\n [type='button'],\\n [type='reset'],\\n [type='submit'] {\\n -webkit-appearance: button;\\n }\\n\\n button:not(:disabled),\\n [type='button']:not(:disabled),\\n [type='reset']:not(:disabled),\\n [type='submit']:not(:disabled) {\\n cursor: pointer;\\n }\\n\\n button::-moz-focus-inner,\\n [type='button']::-moz-focus-inner,\\n [type='reset']::-moz-focus-inner,\\n [type='submit']::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n }\\n\\n input[type='radio'],\\n input[type='checkbox'] {\\n box-sizing: border-box;\\n padding: 0;\\n }\\n\\n input[type='date'],\\n input[type='time'],\\n input[type='datetime-local'],\\n input[type='month'] {\\n -webkit-appearance: listbox;\\n }\\n\\n textarea {\\n overflow: auto;\\n resize: vertical;\\n }\\n\\n fieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n }\\n\\n legend {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: 8px;\\n font-size: 24px;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal;\\n }\\n\\n progress {\\n vertical-align: baseline;\\n }\\n\\n [type='number']::-webkit-inner-spin-button,\\n [type='number']::-webkit-outer-spin-button {\\n height: auto;\\n }\\n\\n [type='search'] {\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n }\\n\\n [type='search']::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n\\n ::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button;\\n }\\n\\n output {\\n display: inline-block;\\n }\\n\\n summary {\\n display: list-item;\\n cursor: pointer;\\n }\\n\\n template {\\n display: none;\\n }\\n\\n [hidden] {\\n display: none !important;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction CssReset() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CssReset.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Dc3NSZXNldC5qcyIsIm1hcHBpbmdzIjoiOzs7OzRDQUdnQkE7OztlQUFBQTs7Ozs7OzZFQUhPOzBDQUNLOzs7Ozs7Ozs7O0FBRXJCLFNBQVNBO0lBQ2QsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsR0FBQSxFQUFDQyxTQUFBQTtzQkFDRUMsY0FBQUEsSUFBRyxFQUFBQzs7QUFtV1YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Dc3NSZXNldC50c3g/NjkwMiJdLCJuYW1lcyI6WyJDc3NSZXNldCIsIl9qc3hydW50aW1lIiwianN4Iiwic3R5bGUiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/shared.js ***! - \******************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_BEFORE_REFRESH: function() {\n return ACTION_BEFORE_REFRESH;\n },\n ACTION_BUILD_ERROR: function() {\n return ACTION_BUILD_ERROR;\n },\n ACTION_BUILD_OK: function() {\n return ACTION_BUILD_OK;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_UNHANDLED_ERROR: function() {\n return ACTION_UNHANDLED_ERROR;\n },\n ACTION_UNHANDLED_REJECTION: function() {\n return ACTION_UNHANDLED_REJECTION;\n },\n ACTION_VERSION_INFO: function() {\n return ACTION_VERSION_INFO;\n },\n INITIAL_OVERLAY_STATE: function() {\n return INITIAL_OVERLAY_STATE;\n },\n REACT_REFRESH_FULL_RELOAD_FROM_ERROR: function() {\n return REACT_REFRESH_FULL_RELOAD_FROM_ERROR;\n },\n useErrorOverlayReducer: function() {\n return useErrorOverlayReducer;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst ACTION_BUILD_OK = \"build-ok\";\nconst ACTION_BUILD_ERROR = \"build-error\";\nconst ACTION_BEFORE_REFRESH = \"before-fast-refresh\";\nconst ACTION_REFRESH = \"fast-refresh\";\nconst ACTION_VERSION_INFO = \"version-info\";\nconst ACTION_UNHANDLED_ERROR = \"unhandled-error\";\nconst ACTION_UNHANDLED_REJECTION = \"unhandled-rejection\";\nfunction pushErrorFilterDuplicates(errors, err) {\n return [\n ...errors.filter((e)=>{\n // Filter out duplicate errors\n return e.event.reason !== err.event.reason;\n }),\n err\n ];\n}\nconst INITIAL_OVERLAY_STATE = {\n nextId: 1,\n buildError: null,\n errors: [],\n notFound: false,\n refreshState: {\n type: \"idle\"\n },\n rootLayoutMissingTags: [],\n versionInfo: {\n installed: \"0.0.0\",\n staleness: \"unknown\"\n }\n};\nfunction useErrorOverlayReducer() {\n return (0, _react.useReducer)((_state, action)=>{\n switch(action.type){\n case ACTION_BUILD_OK:\n {\n return {\n ..._state,\n buildError: null\n };\n }\n case ACTION_BUILD_ERROR:\n {\n return {\n ..._state,\n buildError: action.message\n };\n }\n case ACTION_BEFORE_REFRESH:\n {\n return {\n ..._state,\n refreshState: {\n type: \"pending\",\n errors: []\n }\n };\n }\n case ACTION_REFRESH:\n {\n return {\n ..._state,\n buildError: null,\n errors: // and UNHANDLED_REJECTION events might be dispatched between the\n // BEFORE_REFRESH and the REFRESH event. We want to keep those errors\n // around until the next refresh. Otherwise we run into a race\n // condition where those errors would be cleared on refresh completion\n // before they can be displayed.\n _state.refreshState.type === \"pending\" ? _state.refreshState.errors : [],\n refreshState: {\n type: \"idle\"\n }\n };\n }\n case ACTION_UNHANDLED_ERROR:\n case ACTION_UNHANDLED_REJECTION:\n {\n switch(_state.refreshState.type){\n case \"idle\":\n {\n return {\n ..._state,\n nextId: _state.nextId + 1,\n errors: pushErrorFilterDuplicates(_state.errors, {\n id: _state.nextId,\n event: action\n })\n };\n }\n case \"pending\":\n {\n return {\n ..._state,\n nextId: _state.nextId + 1,\n refreshState: {\n ..._state.refreshState,\n errors: pushErrorFilterDuplicates(_state.refreshState.errors, {\n id: _state.nextId,\n event: action\n })\n }\n };\n }\n default:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = _state.refreshState;\n return _state;\n }\n }\n case ACTION_VERSION_INFO:\n {\n return {\n ..._state,\n versionInfo: action.versionInfo\n };\n }\n default:\n {\n return _state;\n }\n }\n }, INITIAL_OVERLAY_STATE);\n}\nconst REACT_REFRESH_FULL_RELOAD_FROM_ERROR = \"[Fast Refresh] performing full reload because your application had an unrecoverable error\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=shared.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3NoYXJlZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUF5QmFBLHVCQUFxQjtlQUFyQkE7O0lBREFDLG9CQUFrQjtlQUFsQkE7O0lBREFDLGlCQUFlO2VBQWZBOztJQUdBQyxnQkFBYztlQUFkQTs7SUFFQUMsd0JBQXNCO2VBQXRCQTs7SUFDQUMsNEJBQTBCO2VBQTFCQTs7SUFGQUMscUJBQW1CO2VBQW5CQTs7SUEwREFDLHVCQUFxQjtlQUFyQkE7O0lBaUZBQyxzQ0FBb0M7ZUFBcENBOztJQXZFR0Msd0JBQXNCO2VBQXRCQTs7O21DQS9GVztBQXVCcEIsTUFBTVAsa0JBQWtCO0FBQ3hCLE1BQU1ELHFCQUFxQjtBQUMzQixNQUFNRCx3QkFBd0I7QUFDOUIsTUFBTUcsaUJBQWlCO0FBQ3ZCLE1BQU1HLHNCQUFzQjtBQUM1QixNQUFNRix5QkFBeUI7QUFDL0IsTUFBTUMsNkJBQTZCO0FBMkMxQyxTQUFTSywwQkFDUEMsTUFBNkIsRUFDN0JDLEdBQXdCO0lBRXhCLE9BQU87V0FDRkQsT0FBT0UsTUFBTSxDQUFDLENBQUNDO1lBQ2hCLDhCQUE4QjtZQUM5QixPQUFPQSxFQUFFQyxLQUFLLENBQUNDLE1BQU0sS0FBS0osSUFBSUcsS0FBSyxDQUFDQyxNQUFNO1FBQzVDO1FBQ0FKO0tBQ0Q7QUFDSDtBQUVPLE1BQU1MLHdCQUFzQztJQUNqRFUsUUFBUTtJQUNSQyxZQUFZO0lBQ1pQLFFBQVEsRUFBRTtJQUNWUSxVQUFVO0lBQ1ZDLGNBQWM7UUFBRUMsTUFBTTtJQUFPO0lBQzdCQyx1QkFBdUIsRUFBRTtJQUN6QkMsYUFBYTtRQUFFQyxXQUFXO1FBQVNDLFdBQVc7SUFBVTtBQUMxRDtBQUVPLFNBQVNoQjtJQUNkLE9BQU9pQixDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQXdDLENBQUNDLFFBQVFDO1FBQ2hFLE9BQVFBLE9BQU9QLElBQUk7WUFDakIsS0FBS25CO2dCQUFpQjtvQkFDcEIsT0FBTzt3QkFBRSxHQUFHeUIsTUFBTTt3QkFBRVQsWUFBWTtvQkFBSztnQkFDdkM7WUFDQSxLQUFLakI7Z0JBQW9CO29CQUN2QixPQUFPO3dCQUFFLEdBQUcwQixNQUFNO3dCQUFFVCxZQUFZVSxPQUFPQyxPQUFPO29CQUFDO2dCQUNqRDtZQUNBLEtBQUs3QjtnQkFBdUI7b0JBQzFCLE9BQU87d0JBQUUsR0FBRzJCLE1BQU07d0JBQUVQLGNBQWM7NEJBQUVDLE1BQU07NEJBQVdWLFFBQVEsRUFBRTt3QkFBQztvQkFBRTtnQkFDcEU7WUFDQSxLQUFLUjtnQkFBZ0I7b0JBQ25CLE9BQU87d0JBQ0wsR0FBR3dCLE1BQU07d0JBQ1RULFlBQVk7d0JBQ1pQLFFBRUUsaUVBQWlFO3dCQUNqRSxxRUFBcUU7d0JBQ3JFLDhEQUE4RDt3QkFDOUQsc0VBQXNFO3dCQUN0RSxnQ0FBZ0M7d0JBQ2hDZ0IsT0FBT1AsWUFBWSxDQUFDQyxJQUFJLEtBQUssWUFDekJNLE9BQU9QLFlBQVksQ0FBQ1QsTUFBTSxHQUMxQixFQUFFO3dCQUNSUyxjQUFjOzRCQUFFQyxNQUFNO3dCQUFPO29CQUMvQjtnQkFDRjtZQUNBLEtBQUtqQjtZQUNMLEtBQUtDO2dCQUE0QjtvQkFDL0IsT0FBUXNCLE9BQU9QLFlBQVksQ0FBQ0MsSUFBSTt3QkFDOUIsS0FBSzs0QkFBUTtnQ0FDWCxPQUFPO29DQUNMLEdBQUdNLE1BQU07b0NBQ1RWLFFBQVFVLE9BQU9WLE1BQU0sR0FBRztvQ0FDeEJOLFFBQVFELDBCQUEwQmlCLE9BQU9oQixNQUFNLEVBQUU7d0NBQy9DbUIsSUFBSUgsT0FBT1YsTUFBTTt3Q0FDakJGLE9BQU9hO29DQUNUO2dDQUNGOzRCQUNGO3dCQUNBLEtBQUs7NEJBQVc7Z0NBQ2QsT0FBTztvQ0FDTCxHQUFHRCxNQUFNO29DQUNUVixRQUFRVSxPQUFPVixNQUFNLEdBQUc7b0NBQ3hCRyxjQUFjO3dDQUNaLEdBQUdPLE9BQU9QLFlBQVk7d0NBQ3RCVCxRQUFRRCwwQkFBMEJpQixPQUFPUCxZQUFZLENBQUNULE1BQU0sRUFBRTs0Q0FDNURtQixJQUFJSCxPQUFPVixNQUFNOzRDQUNqQkYsT0FBT2E7d0NBQ1Q7b0NBQ0Y7Z0NBQ0Y7NEJBQ0Y7d0JBQ0E7NEJBQ0UsNkRBQTZEOzRCQUM3RCxNQUFNRyxJQUFXSixPQUFPUCxZQUFZOzRCQUNwQyxPQUFPTztvQkFDWDtnQkFDRjtZQUNBLEtBQUtyQjtnQkFBcUI7b0JBQ3hCLE9BQU87d0JBQUUsR0FBR3FCLE1BQU07d0JBQUVKLGFBQWFLLE9BQU9MLFdBQVc7b0JBQUM7Z0JBQ3REO1lBQ0E7Z0JBQVM7b0JBQ1AsT0FBT0k7Z0JBQ1Q7UUFDRjtJQUNGLEdBQUdwQjtBQUNMO0FBRU8sTUFBTUMsdUNBQ1giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3NoYXJlZC50cz9jNDRmIl0sIm5hbWVzIjpbIkFDVElPTl9CRUZPUkVfUkVGUkVTSCIsIkFDVElPTl9CVUlMRF9FUlJPUiIsIkFDVElPTl9CVUlMRF9PSyIsIkFDVElPTl9SRUZSRVNIIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwiQUNUSU9OX1ZFUlNJT05fSU5GTyIsIklOSVRJQUxfT1ZFUkxBWV9TVEFURSIsIlJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQURfRlJPTV9FUlJPUiIsInVzZUVycm9yT3ZlcmxheVJlZHVjZXIiLCJwdXNoRXJyb3JGaWx0ZXJEdXBsaWNhdGVzIiwiZXJyb3JzIiwiZXJyIiwiZmlsdGVyIiwiZSIsImV2ZW50IiwicmVhc29uIiwibmV4dElkIiwiYnVpbGRFcnJvciIsIm5vdEZvdW5kIiwicmVmcmVzaFN0YXRlIiwidHlwZSIsInJvb3RMYXlvdXRNaXNzaW5nVGFncyIsInZlcnNpb25JbmZvIiwiaW5zdGFsbGVkIiwic3RhbGVuZXNzIiwidXNlUmVkdWNlciIsIl9zdGF0ZSIsImFjdGlvbiIsIm1lc3NhZ2UiLCJpZCIsIl8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/client/components/redirect-boundary.js ***! - \***********************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RedirectBoundary: function() {\n return RedirectBoundary;\n },\n RedirectErrorBoundary: function() {\n return RedirectErrorBoundary;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nfunction HandleRedirect(param) {\n let { redirect, reset, redirectType } = param;\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n _react.default.startTransition(()=>{\n if (redirectType === _redirect.RedirectType.push) {\n router.push(redirect, {});\n } else {\n router.replace(redirect, {});\n }\n reset();\n });\n }, [\n redirect,\n redirectType,\n reset,\n router\n ]);\n return null;\n}\nclass RedirectErrorBoundary extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _redirect.isRedirectError)(error)) {\n const url = (0, _redirect.getURLFromRedirectError)(error);\n const redirectType = (0, _redirect.getRedirectTypeFromError)(error);\n return {\n redirect: url,\n redirectType\n };\n }\n // Re-throw if error is not for redirect\n throw error;\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific the the `@types/react` version.\n render() {\n const { redirect, redirectType } = this.state;\n if (redirect !== null && redirectType !== null) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleRedirect, {\n redirect: redirect,\n redirectType: redirectType,\n reset: ()=>this.setState({\n redirect: null\n })\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n redirect: null,\n redirectType: null\n };\n }\n}\nfunction RedirectBoundary(param) {\n let { children } = param;\n const router = (0, _navigation.useRouter)();\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(RedirectErrorBoundary, {\n router: router,\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBNkVnQkEsU0FBQUE7c0JBQUFBOztJQXBDSEM7MkJBQUFBOzs7Ozs7NkJBdENhQywwQkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt3Q0FNbkI7QUFPUCxNQUFBQyxZQUFTQyxtQkFBQUEsQ0FBZTtTQUFBQSxlQUV0QkMsS0FDQUM7SUFNQSxNQUFNQyxRQUFBQSxFQUFTQyxLQUFBQSxFQUFBQSxZQUFBQSxFQUFBQSxHQUFTQztJQUV4QkMsTUFBQUEsU0FBQUEsQ0FBQUEsR0FBQUEsWUFBVUYsU0FBQTtRQUNSRyxPQUFBQSxTQUFNQyxFQUFBQTtlQUNKQyxPQUFJUCxDQUFBQSxlQUFpQlEsQ0FBQUE7Z0JBQ25CUCxpQkFBWVEsVUFBV0QsWUFBQSxDQUFBRSxJQUFBO2dCQUN6QlQsT0FBT1MsSUFBQSxDQUFBRCxVQUFBO21CQUNMUjtnQkFDRkEsT0FBQVUsT0FBQSxDQUFBRixVQUFBO1lBQ0FWO1lBQ0ZBO1FBQ0M7O1FBQVdDO1FBQWNEO1FBQU9FO1FBQU9BO0tBRTFDO0lBQ0Y7QUFFTztNQVNMUiw4QkFBZ0NtQixPQUFZTCxPQUFBLENBQUFNLFNBQUE7V0FDMUNDLHlCQUFJQyxLQUFlLEVBQUNIO1lBQ2xCLElBQUFmLFVBQVltQixlQUFBQSxFQUFBQSxRQUFBQTtZQUNaLE1BQU1oQixNQUFBQSxDQUFBQSxHQUFBQSxVQUFlaUIsdUJBQUFBLEVBQUFBO1lBQ3JCLE1BQUFqQixlQUFPLElBQUFILFVBQUFvQix3QkFBQSxFQUFBTDttQkFBRUg7Z0JBQWVULFVBQUFBO2dCQUFhQTtZQUN2QztRQUNBO1FBQ0Esd0NBQU1ZO1FBQ1IsTUFBQUE7SUFFQTtJQUNBTSwwSUFBMEI7YUFDeEI7UUFDQSxNQUFJVCxFQUFBQSxRQUFBQSxFQUFhVCxZQUFRQSxFQUFBQSxHQUFBQSxJQUFBQSxDQUFBQSxLQUFpQjtZQUN4Q1MsYUFBQSxRQUNFVCxpQkFBQSxNQUFDRjttQkFDV1csV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsZ0JBQUFBO2dCQUNWVCxVQUFBQTtnQkFDQUQsY0FBYUM7MkJBQWdCUyxJQUFBQSxDQUFBQSxRQUFVO3dCQUFLQSxVQUFBOztZQUdsRDtRQUVBO1FBQ0YsWUFBQVUsS0FBQSxDQUFBQyxRQUFBO0lBN0JBQztnQkFDUUYsS0FBQUEsQ0FBQUE7UUFDTixLQUFLRyxDQUFBQTtZQUFVYixDQUFBQSxLQUFBQSxHQUFBQTtZQUFnQlQsVUFBQUE7WUFBbUJBLGNBQUE7UUFDcEQ7SUEyQkY7QUFFTztTQUEwQlIsaUJBQUFXLEtBQUE7SUFDL0IsTUFBTUYsUUFBQUEsRUFBU0MsR0FBQUE7SUFDZixNQUFBRCxTQUFBLElBQUFzQixZQUNFckIsU0FBQTtXQUErQkQsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsdUJBQUFBOzs7SUFFbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LWJvdW5kYXJ5LnRzeD81Nzg5Il0sIm5hbWVzIjpbIlJlZGlyZWN0Qm91bmRhcnkiLCJSZWRpcmVjdEVycm9yQm91bmRhcnkiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiXyIsInJlcXVpcmUiLCJfcmVkaXJlY3QiLCJIYW5kbGVSZWRpcmVjdCIsInJlc2V0IiwicmVkaXJlY3RUeXBlIiwicm91dGVyIiwidXNlUm91dGVyIiwicGFyYW0iLCJ1c2VFZmZlY3QiLCJSZWFjdCIsInN0YXJ0VHJhbnNpdGlvbiIsImRlZmF1bHQiLCJSZWRpcmVjdFR5cGUiLCJyZWRpcmVjdCIsInB1c2giLCJyZXBsYWNlIiwiZXJyb3IiLCJDb21wb25lbnQiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJpc1JlZGlyZWN0RXJyb3IiLCJnZXRVUkxGcm9tUmVkaXJlY3RFcnJvciIsImdldFJlZGlyZWN0VHlwZUZyb21FcnJvciIsInJlbmRlciIsInByb3BzIiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsInN0YXRlIiwiX25hdmlnYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/redirect-status-code.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/redirect-status-code.js ***! - \**************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RedirectStatusCode\", ({\n enumerable: true,\n get: function() {\n return RedirectStatusCode;\n }\n}));\nvar RedirectStatusCode;\n(function(RedirectStatusCode) {\n RedirectStatusCode[RedirectStatusCode[\"SeeOther\"] = 303] = \"SeeOther\";\n RedirectStatusCode[RedirectStatusCode[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n RedirectStatusCode[RedirectStatusCode[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n})(RedirectStatusCode || (RedirectStatusCode = {}));\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect-status-code.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LXN0YXR1cy1jb2RlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1VBQVlBLGtCQUFBQTs7OztHQUFBQSxzQkFBQUEsQ0FBQUEscUJBQUFBLENBQUFBLENBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWRpcmVjdC1zdGF0dXMtY29kZS50cz80MjgxIl0sIm5hbWVzIjpbIlJlZGlyZWN0U3RhdHVzQ29kZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/redirect-status-code.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/redirect.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/client/components/redirect.js ***! - \**************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RedirectType: function() {\n return RedirectType;\n },\n getRedirectError: function() {\n return getRedirectError;\n },\n getRedirectStatusCodeFromError: function() {\n return getRedirectStatusCodeFromError;\n },\n getRedirectTypeFromError: function() {\n return getRedirectTypeFromError;\n },\n getURLFromRedirectError: function() {\n return getURLFromRedirectError;\n },\n isRedirectError: function() {\n return isRedirectError;\n },\n permanentRedirect: function() {\n return permanentRedirect;\n },\n redirect: function() {\n return redirect;\n }\n});\nconst _requestasyncstorageexternal = __webpack_require__(/*! ./request-async-storage.external */ \"./request-async-storage.external\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ./action-async-storage.external */ \"./action-async-storage.external\");\nconst _redirectstatuscode = __webpack_require__(/*! ./redirect-status-code */ \"(ssr)/./node_modules/next/dist/client/components/redirect-status-code.js\");\nconst REDIRECT_ERROR_CODE = \"NEXT_REDIRECT\";\nvar RedirectType;\n(function(RedirectType) {\n RedirectType[\"push\"] = \"push\";\n RedirectType[\"replace\"] = \"replace\";\n})(RedirectType || (RedirectType = {}));\nfunction getRedirectError(url, type, statusCode) {\n if (statusCode === void 0) statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect;\n const error = new Error(REDIRECT_ERROR_CODE);\n error.digest = REDIRECT_ERROR_CODE + \";\" + type + \";\" + url + \";\" + statusCode + \";\";\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (requestStore) {\n error.mutableCookies = requestStore.mutableCookies;\n }\n return error;\n}\nfunction redirect(/** The URL to redirect to */ url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.TemporaryRedirect);\n}\nfunction permanentRedirect(/** The URL to redirect to */ url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.PermanentRedirect);\n}\nfunction isRedirectError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error) || typeof error.digest !== \"string\") {\n return false;\n }\n const [errorCode, type, destination, status] = error.digest.split(\";\", 4);\n const statusCode = Number(status);\n return errorCode === REDIRECT_ERROR_CODE && (type === \"replace\" || type === \"push\") && typeof destination === \"string\" && !isNaN(statusCode) && statusCode in _redirectstatuscode.RedirectStatusCode;\n}\nfunction getURLFromRedirectError(error) {\n if (!isRedirectError(error)) return null;\n // Slices off the beginning of the digest that contains the code and the\n // separating ';'.\n return error.digest.split(\";\", 3)[2];\n}\nfunction getRedirectTypeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return error.digest.split(\";\", 2)[1];\n}\nfunction getRedirectStatusCodeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return Number(error.digest.split(\";\", 4)[3]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztJQWlCZ0JBLGtCQUFnQjtlQUFoQkE7O0lBb0lBQyxnQ0FBOEI7ZUFBOUJBOztJQVZBQywwQkFBd0I7ZUFBeEJBOztJQVJBQyx5QkFBdUI7ZUFBdkJBOztJQW5DQUMsaUJBQWU7ZUFBZkE7O0lBekJBQyxtQkFBaUI7ZUFBakJBOztJQTdCQUMsVUFBUTtlQUFSQTs7O3lEQTFDb0I7d0RBRUQ7Z0RBQ0E7QUFFbkMsTUFBTUMsc0JBQXNCOztVQUVoQkMsWUFBQUE7OztHQUFBQSxnQkFBQUEsQ0FBQUEsZUFBQUEsQ0FBQUEsQ0FBQUE7QUFVTCxTQUFTUixpQkFDZFMsR0FBVyxFQUNYQyxJQUFrQixFQUNsQkMsVUFBcUU7SUFBckVBLElBQUFBLGVBQUFBLEtBQUFBLEdBQUFBLGFBQWlDQyxvQkFBQUEsa0JBQWtCLENBQUNDLGlCQUFpQjtJQUVyRSxNQUFNQyxRQUFRLElBQUlDLE1BQU1SO0lBQ3hCTyxNQUFNRSxNQUFNLEdBQUdULHNCQUF1QixNQUFHRyxPQUFLLE1BQUdELE1BQUksTUFBR0UsYUFBVztJQUNuRSxNQUFNTSxlQUFlQyw2QkFBQUEsbUJBQW1CLENBQUNDLFFBQVE7SUFDakQsSUFBSUYsY0FBYztRQUNoQkgsTUFBTU0sY0FBYyxHQUFHSCxhQUFhRyxjQUFjO0lBQ3BEO0lBQ0EsT0FBT047QUFDVDtBQWFPLFNBQVNSLFNBQ2QsMkJBQTJCLEdBQzNCRyxHQUFXLEVBQ1hDLElBQXlDO0lBQXpDQSxJQUFBQSxTQUFBQSxLQUFBQSxHQUFBQSxPQUFBQTtJQUVBLE1BQU1XLGNBQWNDLDRCQUFBQSxrQkFBa0IsQ0FBQ0gsUUFBUTtJQUMvQyxNQUFNbkIsaUJBQ0pTLEtBQ0FDLE1BSUFXLDREQUY0RDtJQUM1RCxrREFBa0Q7SUFDbERBLENBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFlBQWFFLFFBQVEsSUFDakJYLG9CQUFBQSxrQkFBa0IsQ0FBQ1ksUUFBUSxHQUMzQlosb0JBQUFBLGtCQUFrQixDQUFDQyxpQkFBaUI7QUFFNUM7QUFhTyxTQUFTUixrQkFDZCwyQkFBMkIsR0FDM0JJLEdBQVcsRUFDWEMsSUFBeUM7SUFBekNBLElBQUFBLFNBQUFBLEtBQUFBLEdBQUFBLE9BQUFBO0lBRUEsTUFBTVcsY0FBY0MsNEJBQUFBLGtCQUFrQixDQUFDSCxRQUFRO0lBQy9DLE1BQU1uQixpQkFDSlMsS0FDQUMsTUFJQVcsNERBRjREO0lBQzVELGtEQUFrRDtJQUNsREEsQ0FBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsWUFBYUUsUUFBUSxJQUNqQlgsb0JBQUFBLGtCQUFrQixDQUFDWSxRQUFRLEdBQzNCWixvQkFBQUEsa0JBQWtCLENBQUNhLGlCQUFpQjtBQUU1QztBQVNPLFNBQVNyQixnQkFDZFUsS0FBYztJQUVkLElBQ0UsT0FBT0EsVUFBVSxZQUNqQkEsVUFBVSxRQUNWLENBQUUsYUFBWUEsS0FBQUEsS0FDZCxPQUFPQSxNQUFNRSxNQUFNLEtBQUssVUFDeEI7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxNQUFNLENBQUNVLFdBQVdoQixNQUFNaUIsYUFBYUMsT0FBTyxHQUFHZCxNQUFNRSxNQUFNLENBQUNhLEtBQUssQ0FBQyxLQUFLO0lBRXZFLE1BQU1sQixhQUFhbUIsT0FBT0Y7SUFFMUIsT0FDRUYsY0FBY25CLHVCQUNiRyxDQUFBQSxTQUFTLGFBQWFBLFNBQVMsV0FDaEMsT0FBT2lCLGdCQUFnQixZQUN2QixDQUFDSSxNQUFNcEIsZUFDUEEsY0FBY0Msb0JBQUFBLGtCQUFrQjtBQUVwQztBQVlPLFNBQVNULHdCQUF3QlcsS0FBYztJQUNwRCxJQUFJLENBQUNWLGdCQUFnQlUsUUFBUSxPQUFPO0lBRXBDLHdFQUF3RTtJQUN4RSxrQkFBa0I7SUFDbEIsT0FBT0EsTUFBTUUsTUFBTSxDQUFDYSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRTtBQUN0QztBQUVPLFNBQVMzQix5QkFDZFksS0FBdUI7SUFFdkIsSUFBSSxDQUFDVixnQkFBZ0JVLFFBQVE7UUFDM0IsTUFBTSxJQUFJQyxNQUFNO0lBQ2xCO0lBRUEsT0FBT0QsTUFBTUUsTUFBTSxDQUFDYSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRTtBQUN0QztBQUVPLFNBQVM1QiwrQkFDZGEsS0FBdUI7SUFFdkIsSUFBSSxDQUFDVixnQkFBZ0JVLFFBQVE7UUFDM0IsTUFBTSxJQUFJQyxNQUFNO0lBQ2xCO0lBRUEsT0FBT2UsT0FBT2hCLE1BQU1FLE1BQU0sQ0FBQ2EsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7QUFDN0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LnRzP2RjMjciXSwibmFtZXMiOlsiZ2V0UmVkaXJlY3RFcnJvciIsImdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvciIsImdldFJlZGlyZWN0VHlwZUZyb21FcnJvciIsImdldFVSTEZyb21SZWRpcmVjdEVycm9yIiwiaXNSZWRpcmVjdEVycm9yIiwicGVybWFuZW50UmVkaXJlY3QiLCJyZWRpcmVjdCIsIlJFRElSRUNUX0VSUk9SX0NPREUiLCJSZWRpcmVjdFR5cGUiLCJ1cmwiLCJ0eXBlIiwic3RhdHVzQ29kZSIsIlJlZGlyZWN0U3RhdHVzQ29kZSIsIlRlbXBvcmFyeVJlZGlyZWN0IiwiZXJyb3IiLCJFcnJvciIsImRpZ2VzdCIsInJlcXVlc3RTdG9yZSIsInJlcXVlc3RBc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsIm11dGFibGVDb29raWVzIiwiYWN0aW9uU3RvcmUiLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLCJpc0FjdGlvbiIsIlNlZU90aGVyIiwiUGVybWFuZW50UmVkaXJlY3QiLCJlcnJvckNvZGUiLCJkZXN0aW5hdGlvbiIsInN0YXR1cyIsInNwbGl0IiwiTnVtYmVyIiwiaXNOYU4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/redirect.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/render-from-template-context.js ***! - \**********************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return RenderFromTemplateContext;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nfunction RenderFromTemplateContext() {\n const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=render-from-template-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O3VEQUdnQ0EsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTtBQUVqQixNQUFBQyxpQ0FBU0MsbUJBQUFBLENBQUFBLHVLQUFBQTtTQUN0QkE7SUFDQSxNQUFBQyxXQUFBLElBQU9DLE9BQUFDLFVBQUEsRUFBQUosK0JBQUFLLGVBQUE7V0FBR0gsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsWUFBQUEsUUFBQUEsRUFBQUE7O0lBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQudHN4PzlhYzIiXSwibmFtZXMiOlsiXyIsInJlcXVpcmUiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJSZW5kZXJGcm9tVGVtcGxhdGVDb250ZXh0IiwiY2hpbGRyZW4iLCJfcmVhY3QiLCJ1c2VDb250ZXh0IiwiVGVtcGxhdGVDb250ZXh0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js ***! - \**************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"applyFlightData\", ({\n enumerable: true,\n get: function() {\n return applyFlightData;\n }\n}));\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _fillcachewithnewsubtreedata = __webpack_require__(/*! ./fill-cache-with-new-subtree-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\");\nfunction applyFlightData(existingCache, cache, flightDataPath, prefetchEntry) {\n // The one before last item is the router state tree patch\n const [treePatch, cacheNodeSeedData, head] = flightDataPath.slice(-3);\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (cacheNodeSeedData === null) {\n return false;\n }\n if (flightDataPath.length === 3) {\n const rsc = cacheNodeSeedData[2];\n const loading = cacheNodeSeedData[3];\n cache.loading = loading;\n cache.rsc = rsc;\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, existingCache, treePatch, cacheNodeSeedData, head, prefetchEntry);\n } else {\n // Copy rsc for the root node of the cache.\n cache.rsc = existingCache.rsc;\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n cache.prefetchRsc = existingCache.prefetchRsc;\n cache.parallelRoutes = new Map(existingCache.parallelRoutes);\n cache.loading = existingCache.loading;\n // Create a copy of the existing cache with the rsc applied.\n (0, _fillcachewithnewsubtreedata.fillCacheWithNewSubTreeData)(cache, existingCache, flightDataPath, prefetchEntry);\n }\n return true;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=apply-flight-data.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2FwcGx5LWZsaWdodC1kYXRhLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBTWdCQTs7O2VBQUFBOzs7MkRBSjhCO3lEQUNGO0FBR3JDLFNBQVNBLGdCQUNkQyxhQUF3QixFQUN4QkMsS0FBZ0IsRUFDaEJDLGNBQThCLEVBQzlCQyxhQUFrQztJQUVsQywwREFBMEQ7SUFDMUQsTUFBTSxDQUFDQyxXQUFXQyxtQkFBbUJDLEtBQUssR0FBR0osZUFBZUssS0FBSyxDQUFDLENBQUM7SUFFbkUsOEZBQThGO0lBQzlGLElBQUlGLHNCQUFzQixNQUFNO1FBQzlCLE9BQU87SUFDVDtJQUVBLElBQUlILGVBQWVNLE1BQU0sS0FBSyxHQUFHO1FBQy9CLE1BQU1DLE1BQU1KLGlCQUFpQixDQUFDLEVBQUU7UUFDaEMsTUFBTUssVUFBVUwsaUJBQWlCLENBQUMsRUFBRTtRQUNwQ0osTUFBTVMsT0FBTyxHQUFHQTtRQUNoQlQsTUFBTVEsR0FBRyxHQUFHQTtRQUNaLGtFQUFrRTtRQUNsRSxvRUFBb0U7UUFDcEUsMkRBQTJEO1FBQzNELGtFQUFrRTtRQUNsRSwrQkFBK0I7UUFDL0JSLE1BQU1VLFdBQVcsR0FBRztRQUNwQkMsQ0FBQUEsR0FBQUEsK0JBQUFBLDZCQUE2QixFQUMzQlgsT0FDQUQsZUFDQUksV0FDQUMsbUJBQ0FDLE1BQ0FIO0lBRUosT0FBTztRQUNMLDJDQUEyQztRQUMzQ0YsTUFBTVEsR0FBRyxHQUFHVCxjQUFjUyxHQUFHO1FBQzdCLG9FQUFvRTtRQUNwRSxrRUFBa0U7UUFDbEUsMkJBQTJCO1FBQzNCUixNQUFNVSxXQUFXLEdBQUdYLGNBQWNXLFdBQVc7UUFDN0NWLE1BQU1ZLGNBQWMsR0FBRyxJQUFJQyxJQUFJZCxjQUFjYSxjQUFjO1FBQzNEWixNQUFNUyxPQUFPLEdBQUdWLGNBQWNVLE9BQU87UUFDckMsNERBQTREO1FBQzVESyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQ3pCZCxPQUNBRCxlQUNBRSxnQkFDQUM7SUFFSjtJQUVBLE9BQU87QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktZmxpZ2h0LWRhdGEudHM/MjhiYyJdLCJuYW1lcyI6WyJhcHBseUZsaWdodERhdGEiLCJleGlzdGluZ0NhY2hlIiwiY2FjaGUiLCJmbGlnaHREYXRhUGF0aCIsInByZWZldGNoRW50cnkiLCJ0cmVlUGF0Y2giLCJjYWNoZU5vZGVTZWVkRGF0YSIsImhlYWQiLCJzbGljZSIsImxlbmd0aCIsInJzYyIsImxvYWRpbmciLCJwcmVmZXRjaFJzYyIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwicGFyYWxsZWxSb3V0ZXMiLCJNYXAiLCJmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js ***! - \*****************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"applyRouterStatePatchToTree\", ({\n enumerable: true,\n get: function() {\n return applyRouterStatePatchToTree;\n }\n}));\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ./refetch-inactive-parallel-segments */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\n/**\n * Deep merge of the two router states. Parallel route keys are preserved if the patch doesn't have them.\n */ function applyPatch(initialTree, patchTree, flightSegmentPath) {\n const [initialSegment, initialParallelRoutes] = initialTree;\n const [patchSegment, patchParallelRoutes] = patchTree;\n // if the applied patch segment is __DEFAULT__ then it can be ignored in favor of the initial tree\n // this is because the __DEFAULT__ segment is used as a placeholder on navigation\n if (patchSegment === _segment.DEFAULT_SEGMENT_KEY && initialSegment !== _segment.DEFAULT_SEGMENT_KEY) {\n return initialTree;\n }\n if ((0, _matchsegments.matchSegment)(initialSegment, patchSegment)) {\n const newParallelRoutes = {};\n for(const key in initialParallelRoutes){\n const isInPatchTreeParallelRoutes = typeof patchParallelRoutes[key] !== \"undefined\";\n if (isInPatchTreeParallelRoutes) {\n newParallelRoutes[key] = applyPatch(initialParallelRoutes[key], patchParallelRoutes[key], flightSegmentPath);\n } else {\n newParallelRoutes[key] = initialParallelRoutes[key];\n }\n }\n for(const key in patchParallelRoutes){\n if (newParallelRoutes[key]) {\n continue;\n }\n newParallelRoutes[key] = patchParallelRoutes[key];\n }\n const tree = [\n initialSegment,\n newParallelRoutes\n ];\n // Copy over the existing tree\n if (initialTree[2]) {\n tree[2] = initialTree[2];\n }\n if (initialTree[3]) {\n tree[3] = initialTree[3];\n }\n if (initialTree[4]) {\n tree[4] = initialTree[4];\n }\n return tree;\n }\n return patchTree;\n}\nfunction applyRouterStatePatchToTree(flightSegmentPath, flightRouterState, treePatch, path) {\n const [segment, parallelRoutes, url, refetch, isRootLayout] = flightRouterState;\n // Root refresh\n if (flightSegmentPath.length === 1) {\n const tree = applyPatch(flightRouterState, treePatch, flightSegmentPath);\n (0, _refetchinactiveparallelsegments.addRefreshMarkerToActiveParallelSegments)(tree, path);\n return tree;\n }\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Tree path returned from the server should always match up with the current tree in the browser\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n return null;\n }\n const lastSegment = flightSegmentPath.length === 2;\n let parallelRoutePatch;\n if (lastSegment) {\n parallelRoutePatch = applyPatch(parallelRoutes[parallelRouteKey], treePatch, flightSegmentPath);\n } else {\n parallelRoutePatch = applyRouterStatePatchToTree(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey], treePatch, path);\n if (parallelRoutePatch === null) {\n return null;\n }\n }\n const tree = [\n flightSegmentPath[0],\n {\n ...parallelRoutes,\n [parallelRouteKey]: parallelRoutePatch\n },\n url,\n refetch\n ];\n // Current segment is the root layout\n if (isRootLayout) {\n tree[4] = true;\n }\n (0, _refetchinactiveparallelsegments.addRefreshMarkerToActiveParallelSegments)(tree, path);\n return tree;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=apply-router-state-patch-to-tree.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2FwcGx5LXJvdXRlci1zdGF0ZS1wYXRjaC10by10cmVlLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0RBOEVnQkE7OztlQUFBQTs7O3FDQTFFb0I7MkNBQ1A7NkRBQzRCO0FBRXpEOztDQUVDLEdBQ0QsU0FBU0MsV0FDUEMsV0FBOEIsRUFDOUJDLFNBQTRCLEVBQzVCQyxpQkFBb0M7SUFFcEMsTUFBTSxDQUFDQyxnQkFBZ0JDLHNCQUFzQixHQUFHSjtJQUNoRCxNQUFNLENBQUNLLGNBQWNDLG9CQUFvQixHQUFHTDtJQUU1QyxrR0FBa0c7SUFDbEcsaUZBQWlGO0lBQ2pGLElBQ0VJLGlCQUFpQkUsU0FBQUEsbUJBQW1CLElBQ3BDSixtQkFBbUJJLFNBQUFBLG1CQUFtQixFQUN0QztRQUNBLE9BQU9QO0lBQ1Q7SUFFQSxJQUFJUSxDQUFBQSxHQUFBQSxlQUFBQSxZQUFZLEVBQUNMLGdCQUFnQkUsZUFBZTtRQUM5QyxNQUFNSSxvQkFBMEMsQ0FBQztRQUNqRCxJQUFLLE1BQU1DLE9BQU9OLHNCQUF1QjtZQUN2QyxNQUFNTyw4QkFDSixPQUFPTCxtQkFBbUIsQ0FBQ0ksSUFBSSxLQUFLO1lBQ3RDLElBQUlDLDZCQUE2QjtnQkFDL0JGLGlCQUFpQixDQUFDQyxJQUFJLEdBQUdYLFdBQ3ZCSyxxQkFBcUIsQ0FBQ00sSUFBSSxFQUMxQkosbUJBQW1CLENBQUNJLElBQUksRUFDeEJSO1lBRUosT0FBTztnQkFDTE8saUJBQWlCLENBQUNDLElBQUksR0FBR04scUJBQXFCLENBQUNNLElBQUk7WUFDckQ7UUFDRjtRQUVBLElBQUssTUFBTUEsT0FBT0osb0JBQXFCO1lBQ3JDLElBQUlHLGlCQUFpQixDQUFDQyxJQUFJLEVBQUU7Z0JBQzFCO1lBQ0Y7WUFFQUQsaUJBQWlCLENBQUNDLElBQUksR0FBR0osbUJBQW1CLENBQUNJLElBQUk7UUFDbkQ7UUFFQSxNQUFNRSxPQUEwQjtZQUFDVDtZQUFnQk07U0FBa0I7UUFFbkUsOEJBQThCO1FBQzlCLElBQUlULFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDbEJZLElBQUksQ0FBQyxFQUFFLEdBQUdaLFdBQVcsQ0FBQyxFQUFFO1FBQzFCO1FBRUEsSUFBSUEsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUNsQlksSUFBSSxDQUFDLEVBQUUsR0FBR1osV0FBVyxDQUFDLEVBQUU7UUFDMUI7UUFFQSxJQUFJQSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQ2xCWSxJQUFJLENBQUMsRUFBRSxHQUFHWixXQUFXLENBQUMsRUFBRTtRQUMxQjtRQUVBLE9BQU9ZO0lBQ1Q7SUFFQSxPQUFPWDtBQUNUO0FBT08sU0FBU0gsNEJBQ2RJLGlCQUFvQyxFQUNwQ1csaUJBQW9DLEVBQ3BDQyxTQUE0QixFQUM1QkMsSUFBWTtJQUVaLE1BQU0sQ0FBQ0MsU0FBU0MsZ0JBQWdCQyxLQUFLQyxTQUFTQyxhQUFhLEdBQ3pEUDtJQUVGLGVBQWU7SUFDZixJQUFJWCxrQkFBa0JtQixNQUFNLEtBQUssR0FBRztRQUNsQyxNQUFNVCxPQUEwQmIsV0FDOUJjLG1CQUNBQyxXQUNBWjtRQUdGb0IsQ0FBQUEsR0FBQUEsaUNBQUFBLHdDQUF3QyxFQUFDVixNQUFNRztRQUUvQyxPQUFPSDtJQUNUO0lBRUEsTUFBTSxDQUFDVyxnQkFBZ0JDLGlCQUFpQixHQUFHdEI7SUFFM0MsaUdBQWlHO0lBQ2pHLElBQUksQ0FBQ00sQ0FBQUEsR0FBQUEsZUFBQUEsWUFBWSxFQUFDZSxnQkFBZ0JQLFVBQVU7UUFDMUMsT0FBTztJQUNUO0lBRUEsTUFBTVMsY0FBY3ZCLGtCQUFrQm1CLE1BQU0sS0FBSztJQUVqRCxJQUFJSztJQUNKLElBQUlELGFBQWE7UUFDZkMscUJBQXFCM0IsV0FDbkJrQixjQUFjLENBQUNPLGlCQUFpQixFQUNoQ1YsV0FDQVo7SUFFSixPQUFPO1FBQ0x3QixxQkFBcUI1Qiw0QkFDbkJJLGtCQUFrQnlCLEtBQUssQ0FBQyxJQUN4QlYsY0FBYyxDQUFDTyxpQkFBaUIsRUFDaENWLFdBQ0FDO1FBR0YsSUFBSVcsdUJBQXVCLE1BQU07WUFDL0IsT0FBTztRQUNUO0lBQ0Y7SUFFQSxNQUFNZCxPQUEwQjtRQUM5QlYsaUJBQWlCLENBQUMsRUFBRTtRQUNwQjtZQUNFLEdBQUdlLGNBQWM7WUFDakIsQ0FBQ08saUJBQWlCLEVBQUVFO1FBQ3RCO1FBQ0FSO1FBQ0FDO0tBQ0Q7SUFFRCxxQ0FBcUM7SUFDckMsSUFBSUMsY0FBYztRQUNoQlIsSUFBSSxDQUFDLEVBQUUsR0FBRztJQUNaO0lBRUFVLENBQUFBLEdBQUFBLGlDQUFBQSx3Q0FBd0MsRUFBQ1YsTUFBTUc7SUFFL0MsT0FBT0g7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWUudHM/NGQxMiJdLCJuYW1lcyI6WyJhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWUiLCJhcHBseVBhdGNoIiwiaW5pdGlhbFRyZWUiLCJwYXRjaFRyZWUiLCJmbGlnaHRTZWdtZW50UGF0aCIsImluaXRpYWxTZWdtZW50IiwiaW5pdGlhbFBhcmFsbGVsUm91dGVzIiwicGF0Y2hTZWdtZW50IiwicGF0Y2hQYXJhbGxlbFJvdXRlcyIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJtYXRjaFNlZ21lbnQiLCJuZXdQYXJhbGxlbFJvdXRlcyIsImtleSIsImlzSW5QYXRjaFRyZWVQYXJhbGxlbFJvdXRlcyIsInRyZWUiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsInRyZWVQYXRjaCIsInBhdGgiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZXMiLCJ1cmwiLCJyZWZldGNoIiwiaXNSb290TGF5b3V0IiwibGVuZ3RoIiwiYWRkUmVmcmVzaE1hcmtlclRvQWN0aXZlUGFyYWxsZWxTZWdtZW50cyIsImN1cnJlbnRTZWdtZW50IiwicGFyYWxsZWxSb3V0ZUtleSIsImxhc3RTZWdtZW50IiwicGFyYWxsZWxSb3V0ZVBhdGNoIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js ***! - \***********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"clearCacheNodeDataForSegmentPath\", ({\n enumerable: true,\n get: function() {\n return clearCacheNodeDataForSegmentPath;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction clearCacheNodeDataForSegmentPath(newCache, existingCache, flightSegmentPath) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap == null ? void 0 : existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n // In case of last segment start off the fetch at this level and don't copy further down.\n if (isLastEntry) {\n if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n });\n }\n return;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n // Start fetch in the place where the existing cache doesn't have the data yet.\n if (!childCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n });\n }\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n head: childCacheNode.head,\n prefetchHead: childCacheNode.prefetchHead,\n parallelRoutes: new Map(childCacheNode.parallelRoutes),\n lazyDataResolved: childCacheNode.lazyDataResolved,\n loading: childCacheNode.loading\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n return clearCacheNodeDataForSegmentPath(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=clear-cache-node-data-for-segment-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NsZWFyLWNhY2hlLW5vZGUtZGF0YS1mb3Itc2VnbWVudC1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7b0VBT2dCQTs7O2VBQUFBOzs7a0RBTHFCO0FBSzlCLFNBQVNBLGlDQUNkQyxRQUFtQixFQUNuQkMsYUFBd0IsRUFDeEJDLGlCQUFvQztJQUVwQyxNQUFNQyxjQUFjRCxrQkFBa0JFLE1BQU0sSUFBSTtJQUVoRCxNQUFNLENBQUNDLGtCQUFrQkMsUUFBUSxHQUFHSjtJQUNwQyxNQUFNSyxXQUFXQyxDQUFBQSxHQUFBQSxzQkFBQUEsb0JBQW9CLEVBQUNGO0lBRXRDLE1BQU1HLDBCQUNKUixjQUFjUyxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFFbkMsSUFBSU8sa0JBQWtCWixTQUFTVSxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFFbEQsSUFBSSxDQUFDTyxtQkFBbUJBLG9CQUFvQkgseUJBQXlCO1FBQ25FRyxrQkFBa0IsSUFBSUMsSUFBSUo7UUFDMUJULFNBQVNVLGNBQWMsQ0FBQ0ksR0FBRyxDQUFDVCxrQkFBa0JPO0lBQ2hEO0lBRUEsTUFBTUcseUJBQXlCTiwyQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsd0JBQXlCRSxHQUFHLENBQUNKO0lBQzVELElBQUlTLGlCQUFpQkosZ0JBQWdCRCxHQUFHLENBQUNKO0lBRXpDLHlGQUF5RjtJQUN6RixJQUFJSixhQUFhO1FBQ2YsSUFDRSxDQUFDYSxrQkFDRCxDQUFDQSxlQUFlQyxRQUFRLElBQ3hCRCxtQkFBbUJELHdCQUNuQjtZQUNBSCxnQkFBZ0JFLEdBQUcsQ0FBQ1AsVUFBVTtnQkFDNUJVLFVBQVU7Z0JBQ1ZDLEtBQUs7Z0JBQ0xDLGFBQWE7Z0JBQ2JDLE1BQU07Z0JBQ05DLGNBQWM7Z0JBQ2RYLGdCQUFnQixJQUFJRztnQkFDcEJTLGtCQUFrQjtnQkFDbEJDLFNBQVM7WUFDWDtRQUNGO1FBQ0E7SUFDRjtJQUVBLElBQUksQ0FBQ1Asa0JBQWtCLENBQUNELHdCQUF3QjtRQUM5QywrRUFBK0U7UUFDL0UsSUFBSSxDQUFDQyxnQkFBZ0I7WUFDbkJKLGdCQUFnQkUsR0FBRyxDQUFDUCxVQUFVO2dCQUM1QlUsVUFBVTtnQkFDVkMsS0FBSztnQkFDTEMsYUFBYTtnQkFDYkMsTUFBTTtnQkFDTkMsY0FBYztnQkFDZFgsZ0JBQWdCLElBQUlHO2dCQUNwQlMsa0JBQWtCO2dCQUNsQkMsU0FBUztZQUNYO1FBQ0Y7UUFDQTtJQUNGO0lBRUEsSUFBSVAsbUJBQW1CRCx3QkFBd0I7UUFDN0NDLGlCQUFpQjtZQUNmQyxVQUFVRCxlQUFlQyxRQUFRO1lBQ2pDQyxLQUFLRixlQUFlRSxHQUFHO1lBQ3ZCQyxhQUFhSCxlQUFlRyxXQUFXO1lBQ3ZDQyxNQUFNSixlQUFlSSxJQUFJO1lBQ3pCQyxjQUFjTCxlQUFlSyxZQUFZO1lBQ3pDWCxnQkFBZ0IsSUFBSUcsSUFBSUcsZUFBZU4sY0FBYztZQUNyRFksa0JBQWtCTixlQUFlTSxnQkFBZ0I7WUFDakRDLFNBQVNQLGVBQWVPLE9BQU87UUFDakM7UUFDQVgsZ0JBQWdCRSxHQUFHLENBQUNQLFVBQVVTO0lBQ2hDO0lBRUEsT0FBT2pCLGlDQUNMaUIsZ0JBQ0FELHdCQUNBYixrQkFBa0JzQixLQUFLLENBQUM7QUFFNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NsZWFyLWNhY2hlLW5vZGUtZGF0YS1mb3Itc2VnbWVudC1wYXRoLnRzP2FhOGQiXSwibmFtZXMiOlsiY2xlYXJDYWNoZU5vZGVEYXRhRm9yU2VnbWVudFBhdGgiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJmbGlnaHRTZWdtZW50UGF0aCIsImlzTGFzdEVudHJ5IiwibGVuZ3RoIiwicGFyYWxsZWxSb3V0ZUtleSIsInNlZ21lbnQiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXAiLCJwYXJhbGxlbFJvdXRlcyIsImdldCIsImNoaWxkU2VnbWVudE1hcCIsIk1hcCIsInNldCIsImV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUiLCJjaGlsZENhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwicHJlZmV0Y2hIZWFkIiwibGF6eURhdGFSZXNvbHZlZCIsImxvYWRpbmciLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js ***! - \*****************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n computeChangedPath: function() {\n return computeChangedPath;\n },\n extractPathFromFlightRouterState: function() {\n return extractPathFromFlightRouterState;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst removeLeadingSlash = (segment)=>{\n return segment[0] === \"/\" ? segment.slice(1) : segment;\n};\nconst segmentToPathname = (segment)=>{\n if (typeof segment === \"string\") {\n // 'children' is not a valid path -- it's technically a parallel route that corresponds with the current segment's page\n // if we don't skip it, then the computed pathname might be something like `/children` which doesn't make sense.\n if (segment === \"children\") return \"\";\n return segment;\n }\n return segment[1];\n};\nfunction normalizeSegments(segments) {\n return segments.reduce((acc, segment)=>{\n segment = removeLeadingSlash(segment);\n if (segment === \"\" || (0, _segment.isGroupSegment)(segment)) {\n return acc;\n }\n return acc + \"/\" + segment;\n }, \"\") || \"/\";\n}\nfunction extractPathFromFlightRouterState(flightRouterState) {\n const segment = Array.isArray(flightRouterState[0]) ? flightRouterState[0][1] : flightRouterState[0];\n if (segment === _segment.DEFAULT_SEGMENT_KEY || _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m))) return undefined;\n if (segment.startsWith(_segment.PAGE_SEGMENT_KEY)) return \"\";\n const segments = [\n segmentToPathname(segment)\n ];\n var _flightRouterState_;\n const parallelRoutes = (_flightRouterState_ = flightRouterState[1]) != null ? _flightRouterState_ : {};\n const childrenPath = parallelRoutes.children ? extractPathFromFlightRouterState(parallelRoutes.children) : undefined;\n if (childrenPath !== undefined) {\n segments.push(childrenPath);\n } else {\n for (const [key, value] of Object.entries(parallelRoutes)){\n if (key === \"children\") continue;\n const childPath = extractPathFromFlightRouterState(value);\n if (childPath !== undefined) {\n segments.push(childPath);\n }\n }\n }\n return normalizeSegments(segments);\n}\nfunction computeChangedPathImpl(treeA, treeB) {\n const [segmentA, parallelRoutesA] = treeA;\n const [segmentB, parallelRoutesB] = treeB;\n const normalizedSegmentA = segmentToPathname(segmentA);\n const normalizedSegmentB = segmentToPathname(segmentB);\n if (_interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>normalizedSegmentA.startsWith(m) || normalizedSegmentB.startsWith(m))) {\n return \"\";\n }\n if (!(0, _matchsegments.matchSegment)(segmentA, segmentB)) {\n var _extractPathFromFlightRouterState;\n // once we find where the tree changed, we compute the rest of the path by traversing the tree\n return (_extractPathFromFlightRouterState = extractPathFromFlightRouterState(treeB)) != null ? _extractPathFromFlightRouterState : \"\";\n }\n for(const parallelRouterKey in parallelRoutesA){\n if (parallelRoutesB[parallelRouterKey]) {\n const changedPath = computeChangedPathImpl(parallelRoutesA[parallelRouterKey], parallelRoutesB[parallelRouterKey]);\n if (changedPath !== null) {\n return segmentToPathname(segmentB) + \"/\" + changedPath;\n }\n }\n }\n return null;\n}\nfunction computeChangedPath(treeA, treeB) {\n const changedPath = computeChangedPathImpl(treeA, treeB);\n if (changedPath == null || changedPath === \"/\") {\n return changedPath;\n }\n // lightweight normalization to remove route groups\n return normalizeSegments(changedPath.split(\"/\"));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=compute-changed-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NvbXB1dGUtY2hhbmdlZC1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXVIZ0JBLG9CQUFrQjtlQUFsQkE7O0lBOUVBQyxrQ0FBZ0M7ZUFBaENBOzs7Z0RBckMyQjtxQ0FLcEM7MkNBQ3NCO0FBRTdCLE1BQU1DLHFCQUFxQixDQUFDQztJQUMxQixPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE1BQU1BLFFBQVFDLEtBQUssQ0FBQyxLQUFLRDtBQUNqRDtBQUVBLE1BQU1FLG9CQUFvQixDQUFDRjtJQUN6QixJQUFJLE9BQU9BLFlBQVksVUFBVTtRQUMvQix1SEFBdUg7UUFDdkgsZ0hBQWdIO1FBQ2hILElBQUlBLFlBQVksWUFBWSxPQUFPO1FBRW5DLE9BQU9BO0lBQ1Q7SUFFQSxPQUFPQSxPQUFPLENBQUMsRUFBRTtBQUNuQjtBQUVBLFNBQVNHLGtCQUFrQkMsUUFBa0I7SUFDM0MsT0FDRUEsU0FBU0MsTUFBTSxDQUFDLENBQUNDLEtBQUtOO1FBQ3BCQSxVQUFVRCxtQkFBbUJDO1FBQzdCLElBQUlBLFlBQVksTUFBTU8sQ0FBQUEsR0FBQUEsU0FBQUEsY0FBYyxFQUFDUCxVQUFVO1lBQzdDLE9BQU9NO1FBQ1Q7UUFFQSxPQUFPQSxNQUFPLE1BQUdOO0lBQ25CLEdBQUcsT0FBTztBQUVkO0FBRU8sU0FBU0YsaUNBQ2RVLGlCQUFvQztJQUVwQyxNQUFNUixVQUFVUyxNQUFNQyxPQUFPLENBQUNGLGlCQUFpQixDQUFDLEVBQUUsSUFDOUNBLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQ3ZCQSxpQkFBaUIsQ0FBQyxFQUFFO0lBRXhCLElBQ0VSLFlBQVlXLFNBQUFBLG1CQUFtQixJQUMvQkMsb0JBQUFBLDBCQUEwQixDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsSUFBTWQsUUFBUWUsVUFBVSxDQUFDRCxLQUUxRCxPQUFPRTtJQUVULElBQUloQixRQUFRZSxVQUFVLENBQUNFLFNBQUFBLGdCQUFnQixHQUFHLE9BQU87SUFFakQsTUFBTWIsV0FBVztRQUFDRixrQkFBa0JGO0tBQVM7UUFDdEJRO0lBQXZCLE1BQU1VLGlCQUFpQlYsQ0FBQUEsc0JBQUFBLGlCQUFpQixDQUFDLEVBQUUsWUFBcEJBLHNCQUF3QixDQUFDO0lBRWhELE1BQU1XLGVBQWVELGVBQWVFLFFBQVEsR0FDeEN0QixpQ0FBaUNvQixlQUFlRSxRQUFRLElBQ3hESjtJQUVKLElBQUlHLGlCQUFpQkgsV0FBVztRQUM5QlosU0FBU2lCLElBQUksQ0FBQ0Y7SUFDaEIsT0FBTztRQUNMLEtBQUssTUFBTSxDQUFDRyxLQUFLQyxNQUFNLElBQUlDLE9BQU9DLE9BQU8sQ0FBQ1AsZ0JBQWlCO1lBQ3pELElBQUlJLFFBQVEsWUFBWTtZQUV4QixNQUFNSSxZQUFZNUIsaUNBQWlDeUI7WUFFbkQsSUFBSUcsY0FBY1YsV0FBVztnQkFDM0JaLFNBQVNpQixJQUFJLENBQUNLO1lBQ2hCO1FBQ0Y7SUFDRjtJQUVBLE9BQU92QixrQkFBa0JDO0FBQzNCO0FBRUEsU0FBU3VCLHVCQUNQQyxLQUF3QixFQUN4QkMsS0FBd0I7SUFFeEIsTUFBTSxDQUFDQyxVQUFVQyxnQkFBZ0IsR0FBR0g7SUFDcEMsTUFBTSxDQUFDSSxVQUFVQyxnQkFBZ0IsR0FBR0o7SUFFcEMsTUFBTUsscUJBQXFCaEMsa0JBQWtCNEI7SUFDN0MsTUFBTUsscUJBQXFCakMsa0JBQWtCOEI7SUFFN0MsSUFDRXBCLG9CQUFBQSwwQkFBMEIsQ0FBQ0MsSUFBSSxDQUM3QixDQUFDQyxJQUNDb0IsbUJBQW1CbkIsVUFBVSxDQUFDRCxNQUFNcUIsbUJBQW1CcEIsVUFBVSxDQUFDRCxLQUV0RTtRQUNBLE9BQU87SUFDVDtJQUVBLElBQUksQ0FBQ3NCLENBQUFBLEdBQUFBLGVBQUFBLFlBQVksRUFBQ04sVUFBVUUsV0FBVztZQUU5QmxDO1FBRFAsOEZBQThGO1FBQzlGLE9BQU9BLENBQUFBLG9DQUFBQSxpQ0FBaUMrQixNQUFBQSxLQUFBQSxPQUFqQy9CLG9DQUEyQztJQUNwRDtJQUVBLElBQUssTUFBTXVDLHFCQUFxQk4sZ0JBQWlCO1FBQy9DLElBQUlFLGVBQWUsQ0FBQ0ksa0JBQWtCLEVBQUU7WUFDdEMsTUFBTUMsY0FBY1gsdUJBQ2xCSSxlQUFlLENBQUNNLGtCQUFrQixFQUNsQ0osZUFBZSxDQUFDSSxrQkFBa0I7WUFFcEMsSUFBSUMsZ0JBQWdCLE1BQU07Z0JBQ3hCLE9BQU9wQyxrQkFBcUI4QixZQUFVLE1BQUdNO1lBQzNDO1FBQ0Y7SUFDRjtJQUVBLE9BQU87QUFDVDtBQUVPLFNBQVN6QyxtQkFDZCtCLEtBQXdCLEVBQ3hCQyxLQUF3QjtJQUV4QixNQUFNUyxjQUFjWCx1QkFBdUJDLE9BQU9DO0lBRWxELElBQUlTLGVBQWUsUUFBUUEsZ0JBQWdCLEtBQUs7UUFDOUMsT0FBT0E7SUFDVDtJQUVBLG1EQUFtRDtJQUNuRCxPQUFPbkMsa0JBQWtCbUMsWUFBWUMsS0FBSyxDQUFDO0FBQzdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9jb21wdXRlLWNoYW5nZWQtcGF0aC50cz9jMWMzIl0sIm5hbWVzIjpbImNvbXB1dGVDaGFuZ2VkUGF0aCIsImV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlIiwicmVtb3ZlTGVhZGluZ1NsYXNoIiwic2VnbWVudCIsInNsaWNlIiwic2VnbWVudFRvUGF0aG5hbWUiLCJub3JtYWxpemVTZWdtZW50cyIsInNlZ21lbnRzIiwicmVkdWNlIiwiYWNjIiwiaXNHcm91cFNlZ21lbnQiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsIkFycmF5IiwiaXNBcnJheSIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyIsInNvbWUiLCJtIiwic3RhcnRzV2l0aCIsInVuZGVmaW5lZCIsIlBBR0VfU0VHTUVOVF9LRVkiLCJwYXJhbGxlbFJvdXRlcyIsImNoaWxkcmVuUGF0aCIsImNoaWxkcmVuIiwicHVzaCIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsImNoaWxkUGF0aCIsImNvbXB1dGVDaGFuZ2VkUGF0aEltcGwiLCJ0cmVlQSIsInRyZWVCIiwic2VnbWVudEEiLCJwYXJhbGxlbFJvdXRlc0EiLCJzZWdtZW50QiIsInBhcmFsbGVsUm91dGVzQiIsIm5vcm1hbGl6ZWRTZWdtZW50QSIsIm5vcm1hbGl6ZWRTZWdtZW50QiIsIm1hdGNoU2VnbWVudCIsInBhcmFsbGVsUm91dGVyS2V5IiwiY2hhbmdlZFBhdGgiLCJzcGxpdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js ***! - \*****************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createHrefFromUrl\", ({\n enumerable: true,\n get: function() {\n return createHrefFromUrl;\n }\n}));\nfunction createHrefFromUrl(url, includeHash) {\n if (includeHash === void 0) includeHash = true;\n return url.pathname + url.search + (includeHash ? url.hash : \"\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-href-from-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1ocmVmLWZyb20tdXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7cURBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxrQkFDZEMsR0FBOEMsRUFDOUNDLFdBQTJCO0lBQTNCQSxJQUFBQSxnQkFBQUEsS0FBQUEsR0FBQUEsY0FBdUI7SUFFdkIsT0FBT0QsSUFBSUUsUUFBUSxHQUFHRixJQUFJRyxNQUFNLEdBQUlGLENBQUFBLGNBQWNELElBQUlJLElBQUksR0FBRztBQUMvRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLWhyZWYtZnJvbS11cmwudHM/ZTBlYiJdLCJuYW1lcyI6WyJjcmVhdGVIcmVmRnJvbVVybCIsInVybCIsImluY2x1ZGVIYXNoIiwicGF0aG5hbWUiLCJzZWFyY2giLCJoYXNoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js ***! - \************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createInitialRouterState\", ({\n enumerable: true,\n get: function() {\n return createInitialRouterState;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ./create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ./prefetch-cache-utils */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ./refetch-inactive-parallel-segments */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\nfunction createInitialRouterState(param) {\n let { buildId, initialTree, initialSeedData, initialCanonicalUrl, initialParallelRoutes, location, initialHead, couldBeIntercepted } = param;\n const isServer = !location;\n const rsc = initialSeedData[2];\n const cache = {\n lazyData: null,\n rsc: rsc,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n // The cache gets seeded during the first render. `initialParallelRoutes` ensures the cache from the first render is there during the second render.\n parallelRoutes: isServer ? new Map() : initialParallelRoutes,\n lazyDataResolved: false,\n loading: initialSeedData[3]\n };\n const canonicalUrl = // This is safe to do as canonicalUrl can't be rendered, it's only used to control the history updates in the useEffect further down in this file.\n location ? (0, _createhreffromurl.createHrefFromUrl)(location) : initialCanonicalUrl;\n (0, _refetchinactiveparallelsegments.addRefreshMarkerToActiveParallelSegments)(initialTree, canonicalUrl);\n const prefetchCache = new Map();\n // When the cache hasn't been seeded yet we fill the cache with the head.\n if (initialParallelRoutes === null || initialParallelRoutes.size === 0) {\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, initialTree, initialSeedData, initialHead);\n }\n var _ref;\n const initialState = {\n buildId,\n tree: initialTree,\n cache,\n prefetchCache,\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // First render needs to preserve the previous window.history.state\n // to avoid it being overwritten on navigation back/forward with MPA Navigation.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: {\n apply: false,\n onlyHashChange: false,\n hashFragment: null,\n segmentPaths: []\n },\n canonicalUrl,\n nextUrl: (_ref = (0, _computechangedpath.extractPathFromFlightRouterState)(initialTree) || (location == null ? void 0 : location.pathname)) != null ? _ref : null\n };\n if (location) {\n // Seed the prefetch cache with this page's data.\n // This is to prevent needlessly re-prefetching a page that is already reusable,\n // and will avoid triggering a loading state/data fetch stall when navigating back to the page.\n const url = new URL(location.pathname, location.origin);\n const initialFlightData = [\n [\n \"\",\n initialTree,\n null,\n null\n ]\n ];\n (0, _prefetchcacheutils.createPrefetchCacheEntryForInitialLoad)({\n url,\n kind: _routerreducertypes.PrefetchKind.AUTO,\n data: [\n initialFlightData,\n undefined,\n false,\n couldBeIntercepted\n ],\n tree: initialState.tree,\n prefetchCache: initialState.prefetchCache,\n nextUrl: initialState.nextUrl\n });\n }\n return initialState;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-initial-router-state.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1pbml0aWFsLXJvdXRlci1zdGF0ZS5qcyIsIm1hcHBpbmdzIjoiOzs7OzREQTBCZ0JBOzs7ZUFBQUE7OzsrQ0FsQmtCOzJEQUNZO2dEQUNHO2dEQUNNO2dEQUNEOzZEQUNHO0FBYWxELFNBQVNBLHlCQUF5QkMsS0FTVjtJQVRVLE1BQ3ZDQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWEMsZUFBZSxFQUNmQyxtQkFBbUIsRUFDbkJDLHFCQUFxQixFQUNyQkMsUUFBUSxFQUNSQyxXQUFXLEVBQ1hDLGtCQUFrQixFQUNXLEdBVFVSO0lBVXZDLE1BQU1TLFdBQVcsQ0FBQ0g7SUFDbEIsTUFBTUksTUFBTVAsZUFBZSxDQUFDLEVBQUU7SUFFOUIsTUFBTVEsUUFBbUI7UUFDdkJDLFVBQVU7UUFDVkYsS0FBS0E7UUFDTEcsYUFBYTtRQUNiQyxNQUFNO1FBQ05DLGNBQWM7UUFDZCxvSkFBb0o7UUFDcEpDLGdCQUFnQlAsV0FBVyxJQUFJUSxRQUFRWjtRQUN2Q2Esa0JBQWtCO1FBQ2xCQyxTQUFTaEIsZUFBZSxDQUFDLEVBQUU7SUFDN0I7SUFFQSxNQUFNaUIsZUFFSixrSkFBa0o7SUFDbEpkLFdBRUllLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBaUIsRUFBQ2YsWUFDbEJGO0lBRU5rQixDQUFBQSxHQUFBQSxpQ0FBQUEsd0NBQXdDLEVBQUNwQixhQUFha0I7SUFFdEQsTUFBTUcsZ0JBQWdCLElBQUlOO0lBRTFCLHlFQUF5RTtJQUN6RSxJQUFJWiwwQkFBMEIsUUFBUUEsc0JBQXNCbUIsSUFBSSxLQUFLLEdBQUc7UUFDdEVDLENBQUFBLEdBQUFBLCtCQUFBQSw2QkFBNkIsRUFDM0JkLE9BQ0FlLFdBQ0F4QixhQUNBQyxpQkFDQUk7SUFFSjtRQXVCS29CO0lBckJMLE1BQU1DLGVBQWU7UUFDbkIzQjtRQUNBNEIsTUFBTTNCO1FBQ05TO1FBQ0FZO1FBQ0FPLFNBQVM7WUFDUEMsYUFBYTtZQUNiQyxlQUFlO1lBQ2YsbUVBQW1FO1lBQ25FLGdGQUFnRjtZQUNoRkMsNEJBQTRCO1FBQzlCO1FBQ0FDLG1CQUFtQjtZQUNqQkMsT0FBTztZQUNQQyxnQkFBZ0I7WUFDaEJDLGNBQWM7WUFDZEMsY0FBYyxFQUFFO1FBQ2xCO1FBQ0FsQjtRQUNBbUIsU0FFRSxDQUFDWixPQUFBQSxDQUFBQSxHQUFBQSxvQkFBQUEsZ0NBQWdDLEVBQUN6QixnQkFBZ0JJLENBQUFBLFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVVrQyxRQUFRLGFBQW5FYixPQUNEO0lBQ0o7SUFFQSxJQUFJckIsVUFBVTtRQUNaLGlEQUFpRDtRQUNqRCxnRkFBZ0Y7UUFDaEYsK0ZBQStGO1FBQy9GLE1BQU1tQyxNQUFNLElBQUlDLElBQUlwQyxTQUFTa0MsUUFBUSxFQUFFbEMsU0FBU3FDLE1BQU07UUFFdEQsTUFBTUMsb0JBQWdDO1lBQUM7Z0JBQUM7Z0JBQUkxQztnQkFBYTtnQkFBTTthQUFLO1NBQUM7UUFDckUyQyxDQUFBQSxHQUFBQSxvQkFBQUEsc0NBQXNDLEVBQUM7WUFDckNKO1lBQ0FLLE1BQU1DLG9CQUFBQSxZQUFZLENBQUNDLElBQUk7WUFDdkJDLE1BQU07Z0JBQUNMO2dCQUFtQmxCO2dCQUFXO2dCQUFPbEI7YUFBbUI7WUFDL0RxQixNQUFNRCxhQUFhQyxJQUFJO1lBQ3ZCTixlQUFlSyxhQUFhTCxhQUFhO1lBQ3pDZ0IsU0FBU1gsYUFBYVcsT0FBTztRQUMvQjtJQUNGO0lBRUEsT0FBT1g7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLWluaXRpYWwtcm91dGVyLXN0YXRlLnRzP2Q1MDAiXSwibmFtZXMiOlsiY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlIiwicGFyYW0iLCJidWlsZElkIiwiaW5pdGlhbFRyZWUiLCJpbml0aWFsU2VlZERhdGEiLCJpbml0aWFsQ2Fub25pY2FsVXJsIiwiaW5pdGlhbFBhcmFsbGVsUm91dGVzIiwibG9jYXRpb24iLCJpbml0aWFsSGVhZCIsImNvdWxkQmVJbnRlcmNlcHRlZCIsImlzU2VydmVyIiwicnNjIiwiY2FjaGUiLCJsYXp5RGF0YSIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsInBhcmFsbGVsUm91dGVzIiwiTWFwIiwibGF6eURhdGFSZXNvbHZlZCIsImxvYWRpbmciLCJjYW5vbmljYWxVcmwiLCJjcmVhdGVIcmVmRnJvbVVybCIsImFkZFJlZnJlc2hNYXJrZXJUb0FjdGl2ZVBhcmFsbGVsU2VnbWVudHMiLCJwcmVmZXRjaENhY2hlIiwic2l6ZSIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwidW5kZWZpbmVkIiwiZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUiLCJpbml0aWFsU3RhdGUiLCJ0cmVlIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsIm9ubHlIYXNoQ2hhbmdlIiwiaGFzaEZyYWdtZW50Iiwic2VnbWVudFBhdGhzIiwibmV4dFVybCIsInBhdGhuYW1lIiwidXJsIiwiVVJMIiwib3JpZ2luIiwiaW5pdGlhbEZsaWdodERhdGEiLCJjcmVhdGVQcmVmZXRjaENhY2hlRW50cnlGb3JJbml0aWFsTG9hZCIsImtpbmQiLCJQcmVmZXRjaEtpbmQiLCJBVVRPIiwiZGF0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js ***! - \********************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createRouterCacheKey\", ({\n enumerable: true,\n get: function() {\n return createRouterCacheKey;\n }\n}));\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction createRouterCacheKey(segment, withoutSearchParameters) {\n if (withoutSearchParameters === void 0) withoutSearchParameters = false;\n // if the segment is an array, it means it's a dynamic segment\n // for example, ['lang', 'en', 'd']. We need to convert it to a string to store it as a cache node key.\n if (Array.isArray(segment)) {\n return segment[0] + \"|\" + segment[1] + \"|\" + segment[2];\n }\n // Page segments might have search parameters, ie __PAGE__?foo=bar\n // When `withoutSearchParameters` is true, we only want to return the page segment\n if (withoutSearchParameters && segment.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return _segment.PAGE_SEGMENT_KEY;\n }\n return segment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-router-cache-key.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5LmpzIiwibWFwcGluZ3MiOiI7Ozs7d0RBR2dCQTs7O2VBQUFBOzs7cUNBRmlCO0FBRTFCLFNBQVNBLHFCQUNkQyxPQUFnQixFQUNoQkMsdUJBQXdDO0lBQXhDQSxJQUFBQSw0QkFBQUEsS0FBQUEsR0FBQUEsMEJBQW1DO0lBRW5DLDhEQUE4RDtJQUM5RCx1R0FBdUc7SUFDdkcsSUFBSUMsTUFBTUMsT0FBTyxDQUFDSCxVQUFVO1FBQzFCLE9BQU9BLE9BQVUsQ0FBQyxFQUFFLEdBQUMsTUFBR0EsT0FBTyxDQUFDLEVBQUUsR0FBQyxNQUFHQSxPQUFPLENBQUMsRUFBRTtJQUNsRDtJQUVBLGtFQUFrRTtJQUNsRSxrRkFBa0Y7SUFDbEYsSUFBSUMsMkJBQTJCRCxRQUFRSSxVQUFVLENBQUNDLFNBQUFBLGdCQUFnQixHQUFHO1FBQ25FLE9BQU9BLFNBQUFBLGdCQUFnQjtJQUN6QjtJQUVBLE9BQU9MO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5LnRzP2M1N2UiXSwibmFtZXMiOlsiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJzZWdtZW50Iiwid2l0aG91dFNlYXJjaFBhcmFtZXRlcnMiLCJBcnJheSIsImlzQXJyYXkiLCJzdGFydHNXaXRoIiwiUEFHRV9TRUdNRU5UX0tFWSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js ***! - \******************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fetchServerResponse\", ({\n enumerable: true,\n get: function() {\n return fetchServerResponse;\n }\n}));\nconst _approuterheaders = __webpack_require__(/*! ../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _approuter = __webpack_require__(/*! ../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _appcallserver = __webpack_require__(/*! ../../app-call-server */ \"(ssr)/./node_modules/next/dist/client/app-call-server.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _hash = __webpack_require__(/*! ../../../shared/lib/hash */ \"(ssr)/./node_modules/next/dist/shared/lib/hash.js\");\n// @ts-ignore\n// eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromFetch } from 'react-server-dom-webpack/client'\nconst { createFromFetch } = true ? __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\") : 0;\nfunction doMpaNavigation(url) {\n return [\n (0, _approuter.urlToUrlWithoutFlightMarker)(url).toString(),\n undefined,\n false,\n false\n ];\n}\nasync function fetchServerResponse(url, flightRouterState, nextUrl, currentBuildId, prefetchKind) {\n const headers = {\n // Enable flight response\n [_approuterheaders.RSC_HEADER]: \"1\",\n // Provide the current router state\n [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(flightRouterState))\n };\n /**\n * Three cases:\n * - `prefetchKind` is `undefined`, it means it's a normal navigation, so we want to prefetch the page data fully\n * - `prefetchKind` is `full` - we want to prefetch the whole page so same as above\n * - `prefetchKind` is `auto` - if the page is dynamic, prefetch the page data partially, if static prefetch the page data fully\n */ if (prefetchKind === _routerreducertypes.PrefetchKind.AUTO) {\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = \"1\";\n }\n if (nextUrl) {\n headers[_approuterheaders.NEXT_URL] = nextUrl;\n }\n const uniqueCacheQuery = (0, _hash.hexHash)([\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] || \"0\",\n headers[_approuterheaders.NEXT_ROUTER_STATE_TREE],\n headers[_approuterheaders.NEXT_URL]\n ].join(\",\"));\n try {\n var _res_headers_get;\n let fetchUrl = new URL(url);\n if (false) {}\n // Add unique cache query to avoid caching conflicts on CDN which don't respect to Vary header\n fetchUrl.searchParams.set(_approuterheaders.NEXT_RSC_UNION_QUERY, uniqueCacheQuery);\n const res = await fetch(fetchUrl, {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: \"same-origin\",\n headers\n });\n const responseUrl = (0, _approuter.urlToUrlWithoutFlightMarker)(res.url);\n const canonicalUrl = res.redirected ? responseUrl : undefined;\n const contentType = res.headers.get(\"content-type\") || \"\";\n const postponed = !!res.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER);\n const interception = !!((_res_headers_get = res.headers.get(\"vary\")) == null ? void 0 : _res_headers_get.includes(_approuterheaders.NEXT_URL));\n let isFlightResponse = contentType === _approuterheaders.RSC_CONTENT_TYPE_HEADER;\n if (false) {}\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash;\n }\n return doMpaNavigation(responseUrl.toString());\n }\n // Handle the `fetch` readable stream that can be unwrapped by `React.use`.\n const [buildId, flightData] = await createFromFetch(Promise.resolve(res), {\n callServer: _appcallserver.callServer\n });\n if (currentBuildId !== buildId) {\n return doMpaNavigation(res.url);\n }\n return [\n flightData,\n canonicalUrl,\n postponed,\n interception\n ];\n } catch (err) {\n console.error(\"Failed to fetch RSC payload for \" + url + \". Falling back to browser navigation.\", err);\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return [\n url.toString(),\n undefined,\n false,\n false\n ];\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fetch-server-response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OzhDQTJCNEM7Ozs0QkFHcEJBLG1CQUFBQSxDQUFBO0FBNUJ4QixNQUFBQyxRQUFhRCxtQkFBQUEsQ0FBQTtBQUNiO0FBQ0E7QUFDQSxvRUFHYztBQStCZCxRQUFBRSxlQUFTQyxFQUFnQkMsR0FBVyxRQUFBSixtQkFBQUEsQ0FBQSwwS0FBQUEsQ0FBQTtTQUNsQ0csZ0JBQU9DLEdBQUE7V0FBQ0k7UUFBNkNDLENBQUFBLEdBQUFBLFdBQUFBLDJCQUFBQSxFQUFBQSxLQUFBQSxRQUFBQTtRQUFXQTtRQUFPO1FBQU07S0FDL0U7QUFLTztlQU9DQyxvQkFLRk4sR0FBQSxFQUFBTyxpQkFBQSxFQUFBQyxPQUFBLEVBQUFDLGNBQUEsRUFBQUMsWUFBQTtVQUNGSixVQUFBO1FBQ0EseUJBQUNLO1FBQ0QsQ0FBQUMsa0JBQUFELFVBQUE7UUFDQSxtQ0FBQ0U7UUFHSCxDQUFBRCxrQkFBQUMsc0JBQUEsR0FBQUMsbUJBQUFDLEtBQUFDLFNBQUEsQ0FBQVQ7SUFFQTs7Ozs7O1VBT0VELGlCQUFRVyxvQkFBQUEsWUFBQUEsQ0FBQUEsSUFBNEIsRUFBRztRQUN6Q1gsT0FBQSxDQUFBTSxrQkFBQUssMkJBQUE7SUFFQTtRQUNFWCxTQUFRWTtRQUNWWixPQUFBLENBQUFNLGtCQUFBTSxRQUFBLElBQUFWO0lBRUE7VUFFSUYsbUJBQVFXLENBQUFBLEdBQUFBLE1BQUFBLE9BQUFBLEVBQUFBO1FBQ1JYLE9BQU8sQ0FBQ08sa0JBQUFBLDJCQUF1QjtRQUMvQlAsT0FBTyxDQUFDWSxrQkFBQUEsc0JBQVM7UUFDakJDLE9BQUssQ0FBQVAsa0JBQUFNLFFBQUE7S0FHVCxDQUFBQyxJQUFJOztRQUNGLElBQUlDO1FBQ0osSUFBSW5CLFdBQVcsSUFBQ29CLElBQUFBO1lBQ2RwQixLQUFnQnFCLEVBQW9CLEVBU3RDO1FBQ0FGLDhGQUFnREs7UUFFaERMLFNBQU1NLFlBQVlDLENBQUFBLEdBQU1QLENBQUFBLGtCQUFVUSxvQkFBQSxFQUFBSDtjQUNoQ0MsTUFBQSxNQUFBQyxNQUFBUCxVQUFBO1lBQ0FTLHdGQUFhO1lBQ2J2QixhQUFBQTtZQUNGQTtRQUVBO1FBQ0EsTUFBTXdCLGNBQUFBLENBQWVKLEdBQUFBLFdBQWN0QiwyQkFBaUJDLEVBQUFBLElBQUFBLEdBQUFBO1FBRXBELE1BQU0wQixlQUFjTCxJQUFJcEIsVUFBVyxHQUFDMEIsY0FBQTNCO1FBQ3BDLE1BQU00QixjQUFjUCxJQUFJcEIsT0FBTyxDQUFDNEIsR0FBRyxDQUFDQyxtQkFBQUE7UUFDcEMsTUFBTUMsWUFBQUEsQ0FBQUEsQ0FBQUEsSUFBZ0I5QixPQUFDb0IsQ0FBQUEsR0FBQUEsQ0FBQUEsa0JBQUlwQix3QkFBWTtRQUN2QyxNQUFJK0IsZUFBQUEsQ0FBQUEsQ0FBbUJOLENBQUFBLENBQUFBLG1CQUFnQk8sSUFBQUEsT0FBQUEsQ0FBQUEsR0FBQUEsQ0FBQUEsT0FBQUEsS0FBQUEsT0FBQUEsS0FBdUIsSUFBQUMsaUJBQUFDLFFBQUEsQ0FBQTVCLGtCQUFBTSxRQUFBO1FBRTlELElBQUlqQixtQkFBWW9CLGdCQUFhVCxrQkFBYzBCLHVCQUFBO1lBQ3pDckMsS0FBZ0JxQixFQUFvQixFQU90QztRQUNBLDRGQUFvRTtRQUNwRSxvRUFBa0M7WUFDaEMsQ0FBQWUsb0JBQUEsQ0FBQVgsSUFBQWdCLEVBQUE7WUFDQSwyRkFBYztnQkFDWlYsSUFBQUEsSUFBQUEsRUFBQUE7Z0JBQ0ZBLFlBQUFXLElBQUEsR0FBQTNDLElBQUEyQyxJQUFBO1lBRUE7WUFDRixPQUFBNUMsZ0JBQUFpQyxZQUFBWSxRQUFBO1FBRUE7UUFDQSwyRUFFRTtjQUNFQyxDQUFBQSxTQUFBQSxXQUFBQSxHQUFBQSxNQUFBQSxnQkFBVUMsUUFBQUMsT0FBQSxDQUFBckIsTUFBQTtZQUNabUIsWUFBQUcsZUFBQUgsVUFBQTtRQUdGO1lBQ0VwQyxtQkFBT1YsU0FBb0JDO1lBQzdCLE9BQUFELGdCQUFBMkIsSUFBQTFCLEdBQUE7UUFFQTtlQUFRaUQ7WUFBWW5CO1lBQWNHO1lBQVdHO1lBQWFBO1NBQzFEO2FBQ0FjLEtBQVFDO1FBSVJELFFBQUFDLEtBQUEsc0NBQWlEbkQsTUFBQSx5Q0FBQW9EO1FBQ2pEO1FBQ0EscUhBQWlHO1FBQ2pHLGlHQUFPO2VBQUNwRDtZQUFnQkssSUFBQUEsUUFBQUE7WUFBV0E7WUFBTztZQUFNO1NBQ2xEO0lBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZS50cz9kZTZkIl0sIm5hbWVzIjpbInJlcXVpcmUiLCJfaGFzaCIsImNyZWF0ZUZyb21GZXRjaCIsImRvTXBhTmF2aWdhdGlvbiIsInVybCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJ1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXIiLCJ1bmRlZmluZWQiLCJoZWFkZXJzIiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJuZXh0VXJsIiwiY3VycmVudEJ1aWxkSWQiLCJwcmVmZXRjaEtpbmQiLCJSU0NfSEVBREVSIiwiX2FwcHJvdXRlcmhlYWRlcnMiLCJORVhUX1JPVVRFUl9TVEFURV9UUkVFIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsIk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiIsIk5FWFRfVVJMIiwiam9pbiIsImZldGNoVXJsIiwiTk9ERV9FTlYiLCJfX05FWFRfQ09ORklHX09VVFBVVCIsInBhdGhuYW1lIiwiZW5kc1dpdGgiLCJ1bmlxdWVDYWNoZVF1ZXJ5IiwicmVzIiwiZmV0Y2giLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsImNyZWRlbnRpYWxzIiwiY2Fub25pY2FsVXJsIiwiY29udGVudFR5cGUiLCJyZXNwb25zZVVybCIsInBvc3Rwb25lZCIsImdldCIsIk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiIsImludGVyY2VwdGlvbiIsImlzRmxpZ2h0UmVzcG9uc2UiLCJSU0NfQ09OVEVOVF9UWVBFX0hFQURFUiIsIl9yZXNfaGVhZGVyc19nZXQiLCJpbmNsdWRlcyIsInN0YXJ0c1dpdGgiLCJvayIsImhhc2giLCJ0b1N0cmluZyIsImNhbGxTZXJ2ZXIiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl9hcHBjYWxsc2VydmVyIiwiZmxpZ2h0RGF0YSIsImNvbnNvbGUiLCJlcnJvciIsImVyciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js ***! - \*****************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillCacheWithNewSubTreeData\", ({\n enumerable: true,\n get: function() {\n return fillCacheWithNewSubTreeData;\n }\n}));\nconst _invalidatecachebyrouterstate = __webpack_require__(/*! ./invalidate-cache-by-router-state */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction fillCacheWithNewSubTreeData(newCache, existingCache, flightDataPath, prefetchEntry) {\n const isLastEntry = flightDataPath.length <= 5;\n const [parallelRouteKey, segment] = flightDataPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (isLastEntry) {\n if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) {\n const seedData = flightDataPath[3];\n const rsc = seedData[2];\n const loading = seedData[3];\n childCacheNode = {\n lazyData: null,\n rsc,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n loading,\n // Ensure segments other than the one we got data for are preserved.\n parallelRoutes: existingChildCacheNode ? new Map(existingChildCacheNode.parallelRoutes) : new Map(),\n lazyDataResolved: false\n };\n if (existingChildCacheNode) {\n (0, _invalidatecachebyrouterstate.invalidateCacheByRouterState)(childCacheNode, existingChildCacheNode, flightDataPath[2]);\n }\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(childCacheNode, existingChildCacheNode, flightDataPath[2], seedData, flightDataPath[4], prefetchEntry);\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n return;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n head: childCacheNode.head,\n prefetchHead: childCacheNode.prefetchHead,\n parallelRoutes: new Map(childCacheNode.parallelRoutes),\n lazyDataResolved: false,\n loading: childCacheNode.loading\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n fillCacheWithNewSubTreeData(childCacheNode, existingChildCacheNode, flightDataPath.slice(2), prefetchEntry);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-cache-with-new-subtree-data.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtY2FjaGUtd2l0aC1uZXctc3VidHJlZS1kYXRhLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0RBYWdCQTs7O2VBQUFBOzs7MERBUjZCOzJEQUNDO2tEQUNUO0FBTTlCLFNBQVNBLDRCQUNkQyxRQUFtQixFQUNuQkMsYUFBd0IsRUFDeEJDLGNBQThCLEVBQzlCQyxhQUFrQztJQUVsQyxNQUFNQyxjQUFjRixlQUFlRyxNQUFNLElBQUk7SUFDN0MsTUFBTSxDQUFDQyxrQkFBa0JDLFFBQVEsR0FBR0w7SUFFcEMsTUFBTU0sV0FBV0MsQ0FBQUEsR0FBQUEsc0JBQUFBLG9CQUFvQixFQUFDRjtJQUV0QyxNQUFNRywwQkFDSlQsY0FBY1UsY0FBYyxDQUFDQyxHQUFHLENBQUNOO0lBRW5DLElBQUksQ0FBQ0kseUJBQXlCO1FBQzVCLDZFQUE2RTtRQUM3RSxzRUFBc0U7UUFDdEU7SUFDRjtJQUVBLElBQUlHLGtCQUFrQmIsU0FBU1csY0FBYyxDQUFDQyxHQUFHLENBQUNOO0lBQ2xELElBQUksQ0FBQ08sbUJBQW1CQSxvQkFBb0JILHlCQUF5QjtRQUNuRUcsa0JBQWtCLElBQUlDLElBQUlKO1FBQzFCVixTQUFTVyxjQUFjLENBQUNJLEdBQUcsQ0FBQ1Qsa0JBQWtCTztJQUNoRDtJQUVBLE1BQU1HLHlCQUF5Qk4sd0JBQXdCRSxHQUFHLENBQUNKO0lBQzNELElBQUlTLGlCQUFpQkosZ0JBQWdCRCxHQUFHLENBQUNKO0lBRXpDLElBQUlKLGFBQWE7UUFDZixJQUNFLENBQUNhLGtCQUNELENBQUNBLGVBQWVDLFFBQVEsSUFDeEJELG1CQUFtQkQsd0JBQ25CO1lBQ0EsTUFBTUcsV0FBOEJqQixjQUFjLENBQUMsRUFBRTtZQUNyRCxNQUFNa0IsTUFBTUQsUUFBUSxDQUFDLEVBQUU7WUFDdkIsTUFBTUUsVUFBVUYsUUFBUSxDQUFDLEVBQUU7WUFDM0JGLGlCQUFpQjtnQkFDZkMsVUFBVTtnQkFDVkU7Z0JBQ0FFLGFBQWE7Z0JBQ2JDLE1BQU07Z0JBQ05DLGNBQWM7Z0JBQ2RIO2dCQUNBLG9FQUFvRTtnQkFDcEVWLGdCQUFnQksseUJBQ1osSUFBSUYsSUFBSUUsdUJBQXVCTCxjQUFjLElBQzdDLElBQUlHO2dCQUNSVyxrQkFBa0I7WUFDcEI7WUFFQSxJQUFJVCx3QkFBd0I7Z0JBQzFCVSxDQUFBQSxHQUFBQSw4QkFBQUEsNEJBQTRCLEVBQzFCVCxnQkFDQUQsd0JBQ0FkLGNBQWMsQ0FBQyxFQUFFO1lBRXJCO1lBRUF5QixDQUFBQSxHQUFBQSwrQkFBQUEsNkJBQTZCLEVBQzNCVixnQkFDQUQsd0JBQ0FkLGNBQWMsQ0FBQyxFQUFFLEVBQ2pCaUIsVUFDQWpCLGNBQWMsQ0FBQyxFQUFFLEVBQ2pCQztZQUdGVSxnQkFBZ0JFLEdBQUcsQ0FBQ1AsVUFBVVM7UUFDaEM7UUFDQTtJQUNGO0lBRUEsSUFBSSxDQUFDQSxrQkFBa0IsQ0FBQ0Qsd0JBQXdCO1FBQzlDLDZFQUE2RTtRQUM3RSxzRUFBc0U7UUFDdEU7SUFDRjtJQUVBLElBQUlDLG1CQUFtQkQsd0JBQXdCO1FBQzdDQyxpQkFBaUI7WUFDZkMsVUFBVUQsZUFBZUMsUUFBUTtZQUNqQ0UsS0FBS0gsZUFBZUcsR0FBRztZQUN2QkUsYUFBYUwsZUFBZUssV0FBVztZQUN2Q0MsTUFBTU4sZUFBZU0sSUFBSTtZQUN6QkMsY0FBY1AsZUFBZU8sWUFBWTtZQUN6Q2IsZ0JBQWdCLElBQUlHLElBQUlHLGVBQWVOLGNBQWM7WUFDckRjLGtCQUFrQjtZQUNsQkosU0FBU0osZUFBZUksT0FBTztRQUNqQztRQUNBUixnQkFBZ0JFLEdBQUcsQ0FBQ1AsVUFBVVM7SUFDaEM7SUFFQWxCLDRCQUNFa0IsZ0JBQ0FELHdCQUNBZCxlQUFlMEIsS0FBSyxDQUFDLElBQ3JCekI7QUFFSiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1jYWNoZS13aXRoLW5ldy1zdWJ0cmVlLWRhdGEudHM/NDQzMiJdLCJuYW1lcyI6WyJmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGEiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJmbGlnaHREYXRhUGF0aCIsInByZWZldGNoRW50cnkiLCJpc0xhc3RFbnRyeSIsImxlbmd0aCIsInBhcmFsbGVsUm91dGVLZXkiLCJzZWdtZW50IiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwIiwicGFyYWxsZWxSb3V0ZXMiLCJnZXQiLCJjaGlsZFNlZ21lbnRNYXAiLCJNYXAiLCJzZXQiLCJleGlzdGluZ0NoaWxkQ2FjaGVOb2RlIiwiY2hpbGRDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInNlZWREYXRhIiwicnNjIiwibG9hZGluZyIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsImxhenlEYXRhUmVzb2x2ZWQiLCJpbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlIiwiZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQiLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js ***! - \********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillLazyItemsTillLeafWithHead\", ({\n enumerable: true,\n get: function() {\n return fillLazyItemsTillLeafWithHead;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nfunction fillLazyItemsTillLeafWithHead(newCache, existingCache, routerState, cacheNodeSeedData, head, prefetchEntry) {\n const isLastSegment = Object.keys(routerState[1]).length === 0;\n if (isLastSegment) {\n newCache.head = head;\n return;\n }\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const parallelRouteState = routerState[1][key];\n const segmentForParallelRoute = parallelRouteState[0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n // TODO: We should traverse the cacheNodeSeedData tree instead of the router\n // state tree. Ideally, they would always be the same shape, but because of\n // the loading.js pattern, cacheNodeSeedData sometimes only represents a\n // partial tree. That's why this node is sometimes null. Once PPR lands,\n // loading.js will no longer have special behavior and we can traverse the\n // data tree instead.\n //\n // We should also consider merging the router state tree and the data tree\n // in the response format, so that we don't have to send the keys twice.\n // Then the client can convert them into separate representations.\n const parallelSeedData = cacheNodeSeedData !== null && cacheNodeSeedData[1][key] !== undefined ? cacheNodeSeedData[1][key] : null;\n if (existingCache) {\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n const hasReusablePrefetch = (prefetchEntry == null ? void 0 : prefetchEntry.kind) === \"auto\" && prefetchEntry.status === _routerreducertypes.PrefetchCacheEntryStatus.reusable;\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n const existingCacheNode = parallelRouteCacheNode.get(cacheKey);\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[2];\n const loading = parallelSeedData[3];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n loading,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes),\n lazyDataResolved: false\n };\n } else if (hasReusablePrefetch && existingCacheNode) {\n // No new data was sent from the server, but the existing cache node\n // was prefetched, so we should reuse that.\n newCacheNode = {\n lazyData: existingCacheNode.lazyData,\n rsc: existingCacheNode.rsc,\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n prefetchRsc: existingCacheNode.prefetchRsc,\n head: existingCacheNode.head,\n prefetchHead: existingCacheNode.prefetchHead,\n parallelRoutes: new Map(existingCacheNode.parallelRoutes),\n lazyDataResolved: existingCacheNode.lazyDataResolved,\n loading: existingCacheNode.loading\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes),\n lazyDataResolved: false,\n loading: null\n };\n }\n // Overrides the cache key with the new cache node.\n parallelRouteCacheNode.set(cacheKey, newCacheNode);\n // Traverse deeper to apply the head / fill lazy items till the head.\n fillLazyItemsTillLeafWithHead(newCacheNode, existingCacheNode, parallelRouteState, parallelSeedData ? parallelSeedData : null, head, prefetchEntry);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\n continue;\n }\n }\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[2];\n const loading = parallelSeedData[3];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n }\n const existingParallelRoutes = newCache.parallelRoutes.get(key);\n if (existingParallelRoutes) {\n existingParallelRoutes.set(cacheKey, newCacheNode);\n } else {\n newCache.parallelRoutes.set(key, new Map([\n [\n cacheKey,\n newCacheNode\n ]\n ]));\n }\n fillLazyItemsTillLeafWithHead(newCacheNode, undefined, parallelRouteState, parallelSeedData, head, prefetchEntry);\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-lazy-items-till-leaf-with-head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkLmpzIiwibWFwcGluZ3MiOiI7Ozs7aUVBV2dCQTs7O2VBQUFBOzs7a0RBTnFCO2dEQUk5QjtBQUVBLFNBQVNBLDhCQUNkQyxRQUFtQixFQUNuQkMsYUFBb0MsRUFDcENDLFdBQThCLEVBQzlCQyxpQkFBMkMsRUFDM0NDLElBQXFCLEVBQ3JCQyxhQUFrQztJQUVsQyxNQUFNQyxnQkFBZ0JDLE9BQU9DLElBQUksQ0FBQ04sV0FBVyxDQUFDLEVBQUUsRUFBRU8sTUFBTSxLQUFLO0lBQzdELElBQUlILGVBQWU7UUFDakJOLFNBQVNJLElBQUksR0FBR0E7UUFDaEI7SUFDRjtJQUNBLHVGQUF1RjtJQUN2RixJQUFLLE1BQU1NLE9BQU9SLFdBQVcsQ0FBQyxFQUFFLENBQUU7UUFDaEMsTUFBTVMscUJBQXFCVCxXQUFXLENBQUMsRUFBRSxDQUFDUSxJQUFJO1FBQzlDLE1BQU1FLDBCQUEwQkQsa0JBQWtCLENBQUMsRUFBRTtRQUNyRCxNQUFNRSxXQUFXQyxDQUFBQSxHQUFBQSxzQkFBQUEsb0JBQW9CLEVBQUNGO1FBRXRDLDRFQUE0RTtRQUM1RSwyRUFBMkU7UUFDM0Usd0VBQXdFO1FBQ3hFLHdFQUF3RTtRQUN4RSwwRUFBMEU7UUFDMUUscUJBQXFCO1FBQ3JCLEVBQUU7UUFDRiwwRUFBMEU7UUFDMUUsd0VBQXdFO1FBQ3hFLGtFQUFrRTtRQUNsRSxNQUFNRyxtQkFDSlosc0JBQXNCLFFBQVFBLGlCQUFpQixDQUFDLEVBQUUsQ0FBQ08sSUFBSSxLQUFLTSxZQUN4RGIsaUJBQWlCLENBQUMsRUFBRSxDQUFDTyxJQUFJLEdBQ3pCO1FBQ04sSUFBSVQsZUFBZTtZQUNqQixNQUFNZ0Isa0NBQ0poQixjQUFjaUIsY0FBYyxDQUFDQyxHQUFHLENBQUNUO1lBQ25DLElBQUlPLGlDQUFpQztnQkFDbkMsTUFB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dUJELEdBQUcsQ0FBQ3ZCLFVBQVVlO1FBQ3ZDLE9BQU87WUFDTDVCLFNBQVNrQixjQUFjLENBQUNrQixHQUFHLENBQUMxQixLQUFLLElBQUlnQixJQUFJO2dCQUFDO29CQUFDYjtvQkFBVWU7aUJBQWE7YUFBQztRQUNyRTtRQUVBN0IsOEJBQ0U2QixjQUNBWixXQUNBTCxvQkFDQUksa0JBQ0FYLE1BQ0FDO0lBRUo7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWQudHM/M2Y4NSJdLCJuYW1lcyI6WyJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsInJvdXRlclN0YXRlIiwiY2FjaGVOb2RlU2VlZERhdGEiLCJoZWFkIiwicHJlZmV0Y2hFbnRyeSIsImlzTGFzdFNlZ21lbnQiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwia2V5IiwicGFyYWxsZWxSb3V0ZVN0YXRlIiwic2VnbWVudEZvclBhcmFsbGVsUm91dGUiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwicGFyYWxsZWxTZWVkRGF0YSIsInVuZGVmaW5lZCIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUiLCJwYXJhbGxlbFJvdXRlcyIsImdldCIsImhhc1JldXNhYmxlUHJlZmV0Y2giLCJraW5kIiwic3RhdHVzIiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwicmV1c2FibGUiLCJwYXJhbGxlbFJvdXRlQ2FjaGVOb2RlIiwiTWFwIiwiZXhpc3RpbmdDYWNoZU5vZGUiLCJuZXdDYWNoZU5vZGUiLCJzZWVkTm9kZSIsImxvYWRpbmciLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwicHJlZmV0Y2hIZWFkIiwibGF6eURhdGFSZXNvbHZlZCIsInNldCIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/handle-mutable.js ***! - \***********************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleMutable\", ({\n enumerable: true,\n get: function() {\n return handleMutable;\n }\n}));\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nfunction isNotUndefined(value) {\n return typeof value !== \"undefined\";\n}\nfunction handleMutable(state, mutable) {\n var _mutable_canonicalUrl;\n var _mutable_shouldScroll;\n // shouldScroll is true by default, can override to false.\n const shouldScroll = (_mutable_shouldScroll = mutable.shouldScroll) != null ? _mutable_shouldScroll : true;\n let nextUrl = state.nextUrl;\n if (isNotUndefined(mutable.patchedTree)) {\n // If we received a patched tree, we need to compute the changed path.\n const changedPath = (0, _computechangedpath.computeChangedPath)(state.tree, mutable.patchedTree);\n if (changedPath) {\n // If the tree changed, we need to update the nextUrl\n nextUrl = changedPath;\n } else if (!nextUrl) {\n // if the tree ends up being the same (ie, no changed path), and we don't have a nextUrl, then we should use the canonicalUrl\n nextUrl = state.canonicalUrl;\n }\n // otherwise this will be a no-op and continue to use the existing nextUrl\n }\n var _mutable_scrollableSegments;\n return {\n buildId: state.buildId,\n // Set href.\n canonicalUrl: isNotUndefined(mutable.canonicalUrl) ? mutable.canonicalUrl === state.canonicalUrl ? state.canonicalUrl : mutable.canonicalUrl : state.canonicalUrl,\n pushRef: {\n pendingPush: isNotUndefined(mutable.pendingPush) ? mutable.pendingPush : state.pushRef.pendingPush,\n mpaNavigation: isNotUndefined(mutable.mpaNavigation) ? mutable.mpaNavigation : state.pushRef.mpaNavigation,\n preserveCustomHistoryState: isNotUndefined(mutable.preserveCustomHistoryState) ? mutable.preserveCustomHistoryState : state.pushRef.preserveCustomHistoryState\n },\n // All navigation requires scroll and focus management to trigger.\n focusAndScrollRef: {\n apply: shouldScroll ? isNotUndefined(mutable == null ? void 0 : mutable.scrollableSegments) ? true : state.focusAndScrollRef.apply : false,\n onlyHashChange: !!mutable.hashFragment && state.canonicalUrl.split(\"#\", 1)[0] === ((_mutable_canonicalUrl = mutable.canonicalUrl) == null ? void 0 : _mutable_canonicalUrl.split(\"#\", 1)[0]),\n hashFragment: shouldScroll ? mutable.hashFragment && mutable.hashFragment !== \"\" ? decodeURIComponent(mutable.hashFragment.slice(1)) : state.focusAndScrollRef.hashFragment : null,\n segmentPaths: shouldScroll ? (_mutable_scrollableSegments = mutable == null ? void 0 : mutable.scrollableSegments) != null ? _mutable_scrollableSegments : state.focusAndScrollRef.segmentPaths : []\n },\n // Apply cache.\n cache: mutable.cache ? mutable.cache : state.cache,\n prefetchCache: mutable.prefetchCache ? mutable.prefetchCache : state.prefetchCache,\n // Apply patched router state.\n tree: isNotUndefined(mutable.patchedTree) ? mutable.patchedTree : state.tree,\n nextUrl\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=handle-mutable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1tdXRhYmxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBV2dCQTs7O2VBQUFBOzs7Z0RBWG1CO0FBT25DLFNBQVNDLGVBQWtCQyxLQUFRO0lBQ2pDLE9BQU8sT0FBT0EsVUFBVTtBQUMxQjtBQUVPLFNBQVNGLGNBQ2RHLEtBQTJCLEVBQzNCQyxPQUFnQjtRQW9EUkE7UUFqRGFBO0lBRHJCLDBEQUEwRDtJQUMxRCxNQUFNQyxlQUFlRCxDQUFBQSx3QkFBQUEsUUFBUUMsWUFBWSxZQUFwQkQsd0JBQXdCO0lBRTdDLElBQUlFLFVBQVVILE1BQU1HLE9BQU87SUFFM0IsSUFBSUwsZUFBZUcsUUFBUUcsV0FBVyxHQUFHO1FBQ3ZDLHNFQUFzRTtRQUN0RSxNQUFNQyxjQUFjQyxDQUFBQSxHQUFBQSxvQkFBQUEsa0JBQWtCLEVBQUNOLE1BQU1PLElBQUksRUFBRU4sUUFBUUcsV0FBVztRQUN0RSxJQUFJQyxhQUFhO1lBQ2YscURBQXFEO1lBQ3JERixVQUFVRTtRQUNaLE9BQU8sSUFBSSxDQUFDRixTQUFTO1lBQ25CLDZIQUE2SDtZQUM3SEEsVUFBVUgsTUFBTVEsWUFBWTtRQUM5QjtJQUNBLDBFQUEwRTtJQUM1RTtRQTZDUVA7SUEzQ1IsT0FBTztRQUNMUSxTQUFTVCxNQUFNUyxPQUFPO1FBQ3RCLFlBQVk7UUFDWkQsY0FBY1YsZUFBZUcsUUFBUU8sWUFBWSxJQUM3Q1AsUUFBUU8sWUFBWSxLQUFLUixNQUFNUSxZQUFZLEdBQ3pDUixNQUFNUSxZQUFZLEdBQ2xCUCxRQUFRTyxZQUFZLEdBQ3RCUixNQUFNUSxZQUFZO1FBQ3RCRSxTQUFTO1lBQ1BDLGFBQWFiLGVBQWVHLFFBQVFVLFdBQVcsSUFDM0NWLFFBQVFVLFdBQVcsR0FDbkJYLE1BQU1VLE9BQU8sQ0FBQ0MsV0FBVztZQUM3QkMsZUFBZWQsZUFBZUcsUUFBUVcsYUFBYSxJQUMvQ1gsUUFBUVcsYUFBYSxHQUNyQlosTUFBTVUsT0FBTyxDQUFDRSxhQUFhO1lBQy9CQyw0QkFBNEJmLGVBQzFCRyxRQUFRWSwwQkFBMEIsSUFFaENaLFFBQVFZLDBCQUEwQixHQUNsQ2IsTUFBTVUsT0FBTyxDQUFDRywwQkFBMEI7UUFDOUM7UUFDQSxrRUFBa0U7UUFDbEVDLG1CQUFtQjtZQUNqQkMsT0FBT2IsZUFDSEosZUFBZUcsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU2Usa0JBQWtCLElBQ3hDLE9BQ0FoQixNQUFNYyxpQkFBaUIsQ0FBQ0MsS0FBSyxHQUUvQjtZQUNKRSxnQkFDRSxDQUFDLENBQUNoQixRQUFRaUIsWUFBWSxJQUN0QmxCLE1BQU1RLFlBQVksQ0FBQ1csS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FDakNsQix3QkFBQUEsUUFBUU8sWUFBWSxxQkFBcEJQLHNCQUFzQmtCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzFDRCxjQUFjaEIsZUFHVkQsUUFBUWlCLFlBQVksSUFBSWpCLFFBQVFpQixZQUFZLEtBQUssS0FFL0NFLG1CQUFtQm5CLFFBQVFpQixZQUFZLENBQUNHLEtBQUssQ0FBQyxNQUM5Q3JCLE1BQU1jLGlCQUFpQixDQUFDSSxZQUFZLEdBRXRDO1lBQ0pJLGNBQWNwQixlQUNWRCxDQUFBQSw4QkFBQUEsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU2Usa0JBQWtCLFlBQTNCZiw4QkFBK0JELE1BQU1jLGlCQUFpQixDQUFDUSxZQUFZLEdBRW5FLEVBQUU7UUFDUjtRQUNBLGVBQWU7UUFDZkMsT0FBT3RCLFFBQVFzQixLQUFLLEdBQUd0QixRQUFRc0IsS0FBSyxHQUFHdkIsTUFBTXVCLEtBQUs7UUFDbERDLGVBQWV2QixRQUFRdUIsYUFBYSxHQUNoQ3ZCLFFBQVF1QixhQUFhLEdBQ3JCeEIsTUFBTXdCLGFBQWE7UUFDdkIsOEJBQThCO1FBQzlCakIsTUFBTVQsZUFBZUcsUUFBUUcsV0FBVyxJQUNwQ0gsUUFBUUcsV0FBVyxHQUNuQkosTUFBTU8sSUFBSTtRQUNkSjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1tdXRhYmxlLnRzP2ZmZjgiXSwibmFtZXMiOlsiaGFuZGxlTXV0YWJsZSIsImlzTm90VW5kZWZpbmVkIiwidmFsdWUiLCJzdGF0ZSIsIm11dGFibGUiLCJzaG91bGRTY3JvbGwiLCJuZXh0VXJsIiwicGF0Y2hlZFRyZWUiLCJjaGFuZ2VkUGF0aCIsImNvbXB1dGVDaGFuZ2VkUGF0aCIsInRyZWUiLCJjYW5vbmljYWxVcmwiLCJidWlsZElkIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsInNjcm9sbGFibGVTZWdtZW50cyIsIm9ubHlIYXNoQ2hhbmdlIiwiaGFzaEZyYWdtZW50Iiwic3BsaXQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJzbGljZSIsInNlZ21lbnRQYXRocyIsImNhY2hlIiwicHJlZmV0Y2hDYWNoZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js ***! - \********************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSegmentMismatch\", ({\n enumerable: true,\n get: function() {\n return handleSegmentMismatch;\n }\n}));\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nfunction handleSegmentMismatch(state, action, treePatch) {\n if (true) {\n console.warn(\"Performing hard navigation because your application experienced an unrecoverable error. If this keeps occurring, please file a Next.js issue.\\n\\n\" + \"Reason: Segment mismatch\\n\" + (\"Last Action: \" + action.type + \"\\n\\n\") + (\"Current Tree: \" + JSON.stringify(state.tree) + \"\\n\\n\") + (\"Tree Patch Payload: \" + JSON.stringify(treePatch)));\n }\n return (0, _navigatereducer.handleExternalUrl)(state, {}, state.canonicalUrl, true);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=handle-segment-mismatch.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1zZWdtZW50LW1pc21hdGNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7eURBV2dCQTs7O2VBQUFBOzs7NkNBVmtCO0FBVTNCLFNBQVNBLHNCQUNkQyxLQUEyQixFQUMzQkMsTUFBc0IsRUFDdEJDLFNBQTRCO0lBRTVCLElBQUlDLElBQXlCLEVBQWU7UUFDMUNDLFFBQVFDLElBQUksQ0FDVixzSkFDRSwrQkFDQSxtQkFBZ0JKLE9BQU9LLElBQUksR0FBQyxVQUM1QixvQkFBaUJDLEtBQUtDLFNBQVMsQ0FBQ1IsTUFBTVMsSUFBSSxJQUFFLFVBQzVDLDBCQUF1QkYsS0FBS0MsU0FBUyxDQUFDTixVQUFBQTtJQUU1QztJQUVBLE9BQU9RLENBQUFBLEdBQUFBLGlCQUFBQSxpQkFBaUIsRUFBQ1YsT0FBTyxDQUFDLEdBQUdBLE1BQU1XLFlBQVksRUFBRTtBQUMxRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaGFuZGxlLXNlZ21lbnQtbWlzbWF0Y2gudHM/YjgwMyJdLCJuYW1lcyI6WyJoYW5kbGVTZWdtZW50TWlzbWF0Y2giLCJzdGF0ZSIsImFjdGlvbiIsInRyZWVQYXRjaCIsInByb2Nlc3MiLCJjb25zb2xlIiwid2FybiIsInR5cGUiLCJKU09OIiwic3RyaW5naWZ5IiwidHJlZSIsImhhbmRsZUV4dGVybmFsVXJsIiwiY2Fub25pY2FsVXJsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js ***! - \**************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheBelowFlightSegmentPath\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheBelowFlightSegmentPath;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction invalidateCacheBelowFlightSegmentPath(newCache, existingCache, flightSegmentPath) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n // In case of last entry don't copy further down.\n if (isLastEntry) {\n childSegmentMap.delete(cacheKey);\n return;\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (!childCacheNode || !existingChildCacheNode) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n head: childCacheNode.head,\n prefetchHead: childCacheNode.prefetchHead,\n parallelRoutes: new Map(childCacheNode.parallelRoutes),\n lazyDataResolved: childCacheNode.lazyDataResolved\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n invalidateCacheBelowFlightSegmentPath(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=invalidate-cache-below-flight-segmentpath.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ludmFsaWRhdGUtY2FjaGUtYmVsb3ctZmxpZ2h0LXNlZ21lbnRwYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7eUVBT2dCQTs7O2VBQUFBOzs7a0RBTHFCO0FBSzlCLFNBQVNBLHNDQUNkQyxRQUFtQixFQUNuQkMsYUFBd0IsRUFDeEJDLGlCQUFvQztJQUVwQyxNQUFNQyxjQUFjRCxrQkFBa0JFLE1BQU0sSUFBSTtJQUNoRCxNQUFNLENBQUNDLGtCQUFrQkMsUUFBUSxHQUFHSjtJQUVwQyxNQUFNSyxXQUFXQyxDQUFBQSxHQUFBQSxzQkFBQUEsb0JBQW9CLEVBQUNGO0lBRXRDLE1BQU1HLDBCQUNKUixjQUFjUyxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFFbkMsSUFBSSxDQUFDSSx5QkFBeUI7UUFDNUIsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNGO0lBRUEsSUFBSUcsa0JBQWtCWixTQUFTVSxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFDbEQsSUFBSSxDQUFDTyxtQkFBbUJBLG9CQUFvQkgseUJBQXlCO1FBQ25FRyxrQkFBa0IsSUFBSUMsSUFBSUo7UUFDMUJULFNBQVNVLGNBQWMsQ0FBQ0ksR0FBRyxDQUFDVCxrQkFBa0JPO0lBQ2hEO0lBRUEsaURBQWlEO0lBQ2pELElBQUlULGFBQWE7UUFDZlMsZ0JBQWdCRyxNQUFNLENBQUNSO1FBQ3ZCO0lBQ0Y7SUFFQSxNQUFNUyx5QkFBeUJQLHdCQUF3QkUsR0FBRyxDQUFDSjtJQUMzRCxJQUFJVSxpQkFBaUJMLGdCQUFnQkQsR0FBRyxDQUFDSjtJQUV6QyxJQUFJLENBQUNVLGtCQUFrQixDQUFDRCx3QkFBd0I7UUFDOUMsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNGO0lBRUEsSUFBSUMsbUJBQW1CRCx3QkFBd0I7UUFDN0NDLGlCQUFpQjtZQUNmQyxVQUFVRCxlQUFlQyxRQUFRO1lBQ2pDQyxLQUFLRixlQUFlRSxHQUFHO1lBQ3ZCQyxhQUFhSCxlQUFlRyxXQUFXO1lBQ3ZDQyxNQUFNSixlQUFlSSxJQUFJO1lBQ3pCQyxjQUFjTCxlQUFlSyxZQUFZO1lBQ3pDWixnQkFBZ0IsSUFBSUcsSUFBSUksZUFBZVAsY0FBYztZQUNyRGEsa0JBQWtCTixlQUFlTSxnQkFBZ0I7UUFDbkQ7UUFDQVgsZ0JBQWdCRSxHQUFHLENBQUNQLFVBQVVVO0lBQ2hDO0lBRUFsQixzQ0FDRWtCLGdCQUNBRCx3QkFDQWQsa0JBQWtCc0IsS0FBSyxDQUFDO0FBRTVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9pbnZhbGlkYXRlLWNhY2hlLWJlbG93LWZsaWdodC1zZWdtZW50cGF0aC50cz9iZTgzIl0sIm5hbWVzIjpbImludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGgiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJmbGlnaHRTZWdtZW50UGF0aCIsImlzTGFzdEVudHJ5IiwibGVuZ3RoIiwicGFyYWxsZWxSb3V0ZUtleSIsInNlZ21lbnQiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXAiLCJwYXJhbGxlbFJvdXRlcyIsImdldCIsImNoaWxkU2VnbWVudE1hcCIsIk1hcCIsInNldCIsImRlbGV0ZSIsImV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUiLCJjaGlsZENhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwicHJlZmV0Y2hIZWFkIiwibGF6eURhdGFSZXNvbHZlZCIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js ***! - \*****************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheByRouterState\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheByRouterState;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction invalidateCacheByRouterState(newCache, existingCache, routerState) {\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const segmentForParallelRoute = routerState[1][key][0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n parallelRouteCacheNode.delete(cacheKey);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=invalidate-cache-by-router-state.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ludmFsaWRhdGUtY2FjaGUtYnktcm91dGVyLXN0YXRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0VBT2dCQTs7O2VBQUFBOzs7a0RBTHFCO0FBSzlCLFNBQVNBLDZCQUNkQyxRQUFtQixFQUNuQkMsYUFBd0IsRUFDeEJDLFdBQThCO0lBRTlCLHVGQUF1RjtJQUN2RixJQUFLLE1BQU1DLE9BQU9ELFdBQVcsQ0FBQyxFQUFFLENBQUU7UUFDaEMsTUFBTUUsMEJBQTBCRixXQUFXLENBQUMsRUFBRSxDQUFDQyxJQUFJLENBQUMsRUFBRTtRQUN0RCxNQUFNRSxXQUFXQyxDQUFBQSxHQUFBQSxzQkFBQUEsb0JBQW9CLEVBQUNGO1FBQ3RDLE1BQU1HLGtDQUNKTixjQUFjTyxjQUFjLENBQUNDLEdBQUcsQ0FBQ047UUFDbkMsSUFBSUksaUNBQWlDO1lBQ25DLElBQUlHLHlCQUF5QixJQUFJQyxJQUFJSjtZQUNyQ0csdUJBQXVCRSxNQUFNLENBQUNQO1lBQzlCTCxTQUFTUSxjQUFjLENBQUNLLEdBQUcsQ0FBQ1YsS0FBS087UUFDbkM7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9pbnZhbGlkYXRlLWNhY2hlLWJ5LXJvdXRlci1zdGF0ZS50cz9mNWIxIl0sIm5hbWVzIjpbImludmFsaWRhdGVDYWNoZUJ5Um91dGVyU3RhdGUiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJyb3V0ZXJTdGF0ZSIsImtleSIsInNlZ21lbnRGb3JQYXJhbGxlbFJvdXRlIiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUiLCJwYXJhbGxlbFJvdXRlcyIsImdldCIsInBhcmFsbGVsUm91dGVDYWNoZU5vZGUiLCJNYXAiLCJkZWxldGUiLCJzZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js ***! - \*****************************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNavigatingToNewRootLayout\", ({\n enumerable: true,\n get: function() {\n return isNavigatingToNewRootLayout;\n }\n}));\nfunction isNavigatingToNewRootLayout(currentTree, nextTree) {\n // Compare segments\n const currentTreeSegment = currentTree[0];\n const nextTreeSegment = nextTree[0];\n // If any segment is different before we find the root layout, the root layout has changed.\n // E.g. /same/(group1)/layout.js -> /same/(group2)/layout.js\n // First segment is 'same' for both, keep looking. (group1) changed to (group2) before the root layout was found, it must have changed.\n if (Array.isArray(currentTreeSegment) && Array.isArray(nextTreeSegment)) {\n // Compare dynamic param name and type but ignore the value, different values would not affect the current root layout\n // /[name] - /slug1 and /slug2, both values (slug1 & slug2) still has the same layout /[name]/layout.js\n if (currentTreeSegment[0] !== nextTreeSegment[0] || currentTreeSegment[2] !== nextTreeSegment[2]) {\n return true;\n }\n } else if (currentTreeSegment !== nextTreeSegment) {\n return true;\n }\n // Current tree root layout found\n if (currentTree[4]) {\n // If the next tree doesn't have the root layout flag, it must have changed.\n return !nextTree[4];\n }\n // Current tree didn't have its root layout here, must have changed.\n if (nextTree[4]) {\n return true;\n }\n // We can't assume it's `parallelRoutes.children` here in case the root layout is `app/@something/layout.js`\n // But it's not possible to be more than one parallelRoutes before the root layout is found\n // TODO-APP: change to traverse all parallel routes\n const currentTreeChild = Object.values(currentTree[1])[0];\n const nextTreeChild = Object.values(nextTree[1])[0];\n if (!currentTreeChild || !nextTreeChild) return true;\n return isNavigatingToNewRootLayout(currentTreeChild, nextTreeChild);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-navigating-to-new-root-layout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0LmpzIiwibWFwcGluZ3MiOiI7Ozs7K0RBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSw0QkFDZEMsV0FBOEIsRUFDOUJDLFFBQTJCO0lBRTNCLG1CQUFtQjtJQUNuQixNQUFNQyxxQkFBcUJGLFdBQVcsQ0FBQyxFQUFFO0lBQ3pDLE1BQU1HLGtCQUFrQkYsUUFBUSxDQUFDLEVBQUU7SUFFbkMsMkZBQTJGO0lBQzNGLDREQUE0RDtJQUM1RCx1SUFBdUk7SUFDdkksSUFBSUcsTUFBTUMsT0FBTyxDQUFDSCx1QkFBdUJFLE1BQU1DLE9BQU8sQ0FBQ0Ysa0JBQWtCO1FBQ3ZFLHNIQUFzSDtRQUN0SCx1R0FBdUc7UUFDdkcsSUFDRUQsa0JBQWtCLENBQUMsRUFBRSxLQUFLQyxlQUFlLENBQUMsRUFBRSxJQUM1Q0Qsa0JBQWtCLENBQUMsRUFBRSxLQUFLQyxlQUFlLENBQUMsRUFBRSxFQUM1QztZQUNBLE9BQU87UUFDVDtJQUNGLE9BQU8sSUFBSUQsdUJBQXVCQyxpQkFBaUI7UUFDakQsT0FBTztJQUNUO0lBRUEsaUNBQWlDO0lBQ2pDLElBQUlILFdBQVcsQ0FBQyxFQUFFLEVBQUU7UUFDbEIsNEVBQTRFO1FBQzVFLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLEVBQUU7SUFDckI7SUFDQSxxRUFBcUU7SUFDckUsSUFBSUEsUUFBUSxDQUFDLEVBQUUsRUFBRTtRQUNmLE9BQU87SUFDVDtJQUNBLDRHQUE0RztJQUM1RywyRkFBMkY7SUFDM0YsbURBQW1EO0lBQ25ELE1BQU1LLG1CQUFtQkMsT0FBT0MsTUFBTSxDQUFDUixXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUN6RCxNQUFNUyxnQkFBZ0JGLE9BQU9DLE1BQU0sQ0FBQ1AsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDbkQsSUFBSSxDQUFDSyxvQkFBb0IsQ0FBQ0csZUFBZSxPQUFPO0lBQ2hELE9BQU9WLDRCQUE0Qk8sa0JBQWtCRztBQUN2RCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXQudHM/NDVjYyJdLCJuYW1lcyI6WyJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLCJjdXJyZW50VHJlZSIsIm5leHRUcmVlIiwiY3VycmVudFRyZWVTZWdtZW50IiwibmV4dFRyZWVTZWdtZW50IiwiQXJyYXkiLCJpc0FycmF5IiwiY3VycmVudFRyZWVDaGlsZCIsIk9iamVjdCIsInZhbHVlcyIsIm5leHRUcmVlQ2hpbGQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js ***! - \************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n abortTask: function() {\n return abortTask;\n },\n listenForDynamicRequest: function() {\n return listenForDynamicRequest;\n },\n updateCacheNodeOnNavigation: function() {\n return updateCacheNodeOnNavigation;\n },\n updateCacheNodeOnPopstateRestoration: function() {\n return updateCacheNodeOnPopstateRestoration;\n }\n});\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction updateCacheNodeOnNavigation(oldCacheNode, oldRouterState, newRouterState, prefetchData, prefetchHead) {\n // Diff the old and new trees to reuse the shared layouts.\n const oldRouterStateChildren = oldRouterState[1];\n const newRouterStateChildren = newRouterState[1];\n const prefetchDataChildren = prefetchData[1];\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n // Clone the current set of segment children, even if they aren't active in\n // the new tree.\n // TODO: We currently retain all the inactive segments indefinitely, until\n // there's an explicit refresh, or a parent layout is lazily refreshed. We\n // rely on this for popstate navigations, which update the Router State Tree\n // but do not eagerly perform a data fetch, because they expect the segment\n // data to already be in the Cache Node tree. For highly static sites that\n // are mostly read-only, this may happen only rarely, causing memory to\n // leak. We should figure out a better model for the lifetime of inactive\n // segments, so we can maintain instant back/forward navigations without\n // leaking memory indefinitely.\n const prefetchParallelRoutes = new Map(oldParallelRoutes);\n // As we diff the trees, we may sometimes modify (copy-on-write, not mutate)\n // the Route Tree that was returned by the server — for example, in the case\n // of default parallel routes, we preserve the currently active segment. To\n // avoid mutating the original tree, we clone the router state children along\n // the return path.\n let patchedRouterStateChildren = {};\n let taskChildren = null;\n for(let parallelRouteKey in newRouterStateChildren){\n const newRouterStateChild = newRouterStateChildren[parallelRouteKey];\n const oldRouterStateChild = oldRouterStateChildren[parallelRouteKey];\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n const prefetchDataChild = prefetchDataChildren[parallelRouteKey];\n const newSegmentChild = newRouterStateChild[0];\n const newSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(newSegmentChild);\n const oldSegmentChild = oldRouterStateChild !== undefined ? oldRouterStateChild[0] : undefined;\n const oldCacheNodeChild = oldSegmentMapChild !== undefined ? oldSegmentMapChild.get(newSegmentKeyChild) : undefined;\n let taskChild;\n if (newSegmentChild === _segment.PAGE_SEGMENT_KEY) {\n // This is a leaf segment — a page, not a shared layout. We always apply\n // its data.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead);\n } else if (newSegmentChild === _segment.DEFAULT_SEGMENT_KEY) {\n // This is another kind of leaf segment — a default route.\n //\n // Default routes have special behavior. When there's no matching segment\n // for a parallel route, Next.js preserves the currently active segment\n // during a client navigation — but not for initial render. The server\n // leaves it to the client to account for this. So we need to handle\n // it here.\n if (oldRouterStateChild !== undefined) {\n // Reuse the existing Router State for this segment. We spawn a \"task\"\n // just to keep track of the updated router state; unlike most, it's\n // already fulfilled and won't be affected by the dynamic response.\n taskChild = spawnReusedTask(oldRouterStateChild);\n } else {\n // There's no currently active segment. Switch to the \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead);\n }\n } else if (oldSegmentChild !== undefined && (0, _matchsegments.matchSegment)(newSegmentChild, oldSegmentChild)) {\n if (oldCacheNodeChild !== undefined && oldRouterStateChild !== undefined) {\n // This segment exists in both the old and new trees.\n if (prefetchDataChild !== undefined && prefetchDataChild !== null) {\n // Recursively update the children.\n taskChild = updateCacheNodeOnNavigation(oldCacheNodeChild, oldRouterStateChild, newRouterStateChild, prefetchDataChild, prefetchHead);\n } else {\n // The server didn't send any prefetch data for this segment. This\n // shouldn't happen because the Route Tree and the Seed Data tree\n // should always be the same shape, but until we unify those types\n // it's still possible. For now we're going to deopt and trigger a\n // lazy fetch during render.\n taskChild = spawnTaskForMissingData(newRouterStateChild);\n }\n } else {\n // Either there's no existing Cache Node for this segment, or this\n // segment doesn't exist in the old Router State tree. Switch to the\n // \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead);\n }\n } else {\n // This is a new tree. Switch to the \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead);\n }\n if (taskChild !== null) {\n // Something changed in the child tree. Keep track of the child task.\n if (taskChildren === null) {\n taskChildren = new Map();\n }\n taskChildren.set(parallelRouteKey, taskChild);\n const newCacheNodeChild = taskChild.node;\n if (newCacheNodeChild !== null) {\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(newSegmentKeyChild, newCacheNodeChild);\n prefetchParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The child tree's route state may be different from the prefetched\n // route sent by the server. We need to clone it as we traverse back up\n // the tree.\n patchedRouterStateChildren[parallelRouteKey] = taskChild.route;\n } else {\n // The child didn't change. We can use the prefetched router state.\n patchedRouterStateChildren[parallelRouteKey] = newRouterStateChild;\n }\n }\n if (taskChildren === null) {\n // No new tasks were spawned.\n return null;\n }\n const newCacheNode = {\n lazyData: null,\n rsc: oldCacheNode.rsc,\n // We intentionally aren't updating the prefetchRsc field, since this node\n // is already part of the current tree, because it would be weird for\n // prefetch data to be newer than the final data. It probably won't ever be\n // observable anyway, but it could happen if the segment is unmounted then\n // mounted again, because LayoutRouter will momentarily switch to rendering\n // prefetchRsc, via useDeferredValue.\n prefetchRsc: oldCacheNode.prefetchRsc,\n head: oldCacheNode.head,\n prefetchHead: oldCacheNode.prefetchHead,\n loading: oldCacheNode.loading,\n // Everything is cloned except for the children, which we computed above.\n parallelRoutes: prefetchParallelRoutes,\n lazyDataResolved: false\n };\n return {\n // Return a cloned copy of the router state with updated children.\n route: patchRouterStateWithNewChildren(newRouterState, patchedRouterStateChildren),\n node: newCacheNode,\n children: taskChildren\n };\n}\nfunction patchRouterStateWithNewChildren(baseRouterState, newChildren) {\n const clone = [\n baseRouterState[0],\n newChildren\n ];\n // Based on equivalent logic in apply-router-state-patch-to-tree, but should\n // confirm whether we need to copy all of these fields. Not sure the server\n // ever sends, e.g. the refetch marker.\n if (2 in baseRouterState) {\n clone[2] = baseRouterState[2];\n }\n if (3 in baseRouterState) {\n clone[3] = baseRouterState[3];\n }\n if (4 in baseRouterState) {\n clone[4] = baseRouterState[4];\n }\n return clone;\n}\nfunction spawnPendingTask(routerState, prefetchData, prefetchHead) {\n // Create a task that will later be fulfilled by data from the server.\n const pendingCacheNode = createPendingCacheNode(routerState, prefetchData, prefetchHead);\n return {\n route: routerState,\n node: pendingCacheNode,\n children: null\n };\n}\nfunction spawnReusedTask(reusedRouterState) {\n // Create a task that reuses an existing segment, e.g. when reusing\n // the current active segment in place of a default route.\n return {\n route: reusedRouterState,\n node: null,\n children: null\n };\n}\nfunction spawnTaskForMissingData(routerState) {\n // Create a task for a new subtree that wasn't prefetched by the server.\n // This shouldn't really ever happen but it's here just in case the Seed Data\n // Tree and the Router State Tree disagree unexpectedly.\n const pendingCacheNode = createPendingCacheNode(routerState, null, null);\n return {\n route: routerState,\n node: pendingCacheNode,\n children: null\n };\n}\nfunction listenForDynamicRequest(task, responsePromise) {\n responsePromise.then((response)=>{\n const flightData = response[0];\n for (const flightDataPath of flightData){\n const segmentPath = flightDataPath.slice(0, -3);\n const serverRouterState = flightDataPath[flightDataPath.length - 3];\n const dynamicData = flightDataPath[flightDataPath.length - 2];\n const dynamicHead = flightDataPath[flightDataPath.length - 1];\n if (typeof segmentPath === \"string\") {\n continue;\n }\n writeDynamicDataIntoPendingTask(task, segmentPath, serverRouterState, dynamicData, dynamicHead);\n }\n // Now that we've exhausted all the data we received from the server, if\n // there are any remaining pending tasks in the tree, abort them now.\n // If there's any missing data, it will trigger a lazy fetch.\n abortTask(task, null);\n }, (error)=>{\n // This will trigger an error during render\n abortTask(task, error);\n });\n}\nfunction writeDynamicDataIntoPendingTask(rootTask, segmentPath, serverRouterState, dynamicData, dynamicHead) {\n // The data sent by the server represents only a subtree of the app. We need\n // to find the part of the task tree that matches the server response, and\n // fulfill it using the dynamic data.\n //\n // segmentPath represents the parent path of subtree. It's a repeating pattern\n // of parallel route key and segment:\n //\n // [string, Segment, string, Segment, string, Segment, ...]\n //\n // Iterate through the path and finish any tasks that match this payload.\n let task = rootTask;\n for(let i = 0; i < segmentPath.length; i += 2){\n const parallelRouteKey = segmentPath[i];\n const segment = segmentPath[i + 1];\n const taskChildren = task.children;\n if (taskChildren !== null) {\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(segment, taskSegment)) {\n // Found a match for this task. Keep traversing down the task tree.\n task = taskChild;\n continue;\n }\n }\n }\n // We didn't find a child task that matches the server data. Exit. We won't\n // abort the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n return;\n }\n finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead);\n}\nfunction finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead) {\n // dynamicData may represent a larger subtree than the task. Before we can\n // finish the task, we need to line them up.\n const taskChildren = task.children;\n const taskNode = task.node;\n if (taskChildren === null) {\n // We've reached the leaf node of the pending task. The server data tree\n // lines up the pending Cache Node tree. We can now switch to the\n // normal algorithm.\n if (taskNode !== null) {\n finishPendingCacheNode(taskNode, task.route, serverRouterState, dynamicData, dynamicHead);\n // Null this out to indicate that the task is complete.\n task.node = null;\n }\n return;\n }\n // The server returned more data than we need to finish the task. Skip over\n // the extra segments until we reach the leaf task node.\n const serverChildren = serverRouterState[1];\n const dynamicDataChildren = dynamicData[1];\n for(const parallelRouteKey in serverRouterState){\n const serverRouterStateChild = serverChildren[parallelRouteKey];\n const dynamicDataChild = dynamicDataChildren[parallelRouteKey];\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(serverRouterStateChild[0], taskSegment) && dynamicDataChild !== null && dynamicDataChild !== undefined) {\n // Found a match for this task. Keep traversing down the task tree.\n return finishTaskUsingDynamicDataPayload(taskChild, serverRouterStateChild, dynamicDataChild, dynamicHead);\n }\n }\n // We didn't find a child task that matches the server data. We won't abort\n // the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n }\n}\nfunction createPendingCacheNode(routerState, prefetchData, prefetchHead) {\n const routerStateChildren = routerState[1];\n const prefetchDataChildren = prefetchData !== null ? prefetchData[1] : null;\n const parallelRoutes = new Map();\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const prefetchDataChild = prefetchDataChildren !== null ? prefetchDataChildren[parallelRouteKey] : null;\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const newCacheNodeChild = createPendingCacheNode(routerStateChild, prefetchDataChild === undefined ? null : prefetchDataChild, prefetchHead);\n const newSegmentMapChild = new Map();\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n parallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The head is assigned to every leaf segment delivered by the server. Based\n // on corresponding logic in fill-lazy-items-till-leaf-with-head.ts\n const isLeafSegment = parallelRoutes.size === 0;\n const maybePrefetchRsc = prefetchData !== null ? prefetchData[2] : null;\n const maybePrefetchLoading = prefetchData !== null ? prefetchData[3] : null;\n return {\n lazyData: null,\n parallelRoutes: parallelRoutes,\n prefetchRsc: maybePrefetchRsc !== undefined ? maybePrefetchRsc : null,\n prefetchHead: isLeafSegment ? prefetchHead : null,\n loading: maybePrefetchLoading !== undefined ? maybePrefetchLoading : null,\n // Create a deferred promise. This will be fulfilled once the dynamic\n // response is received from the server.\n rsc: createDeferredRsc(),\n head: isLeafSegment ? createDeferredRsc() : null,\n lazyDataResolved: false\n };\n}\nfunction finishPendingCacheNode(cacheNode, taskState, serverState, dynamicData, dynamicHead) {\n // Writes a dynamic response into an existing Cache Node tree. This does _not_\n // create a new tree, it updates the existing tree in-place. So it must follow\n // the Suspense rules of cache safety — it can resolve pending promises, but\n // it cannot overwrite existing data. It can add segments to the tree (because\n // a missing segment will cause the layout router to suspend).\n // but it cannot delete them.\n //\n // We must resolve every promise in the tree, or else it will suspend\n // indefinitely. If we did not receive data for a segment, we will resolve its\n // data promise to `null` to trigger a lazy fetch during render.\n const taskStateChildren = taskState[1];\n const serverStateChildren = serverState[1];\n const dataChildren = dynamicData[1];\n // The router state that we traverse the tree with (taskState) is the same one\n // that we used to construct the pending Cache Node tree. That way we're sure\n // to resolve all the pending promises.\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in taskStateChildren){\n const taskStateChild = taskStateChildren[parallelRouteKey];\n const serverStateChild = serverStateChildren[parallelRouteKey];\n const dataChild = dataChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n const taskSegmentChild = taskStateChild[0];\n const taskSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(taskSegmentChild);\n const cacheNodeChild = segmentMapChild !== undefined ? segmentMapChild.get(taskSegmentKeyChild) : undefined;\n if (cacheNodeChild !== undefined) {\n if (serverStateChild !== undefined && (0, _matchsegments.matchSegment)(taskSegmentChild, serverStateChild[0])) {\n if (dataChild !== undefined && dataChild !== null) {\n // This is the happy path. Recursively update all the children.\n finishPendingCacheNode(cacheNodeChild, taskStateChild, serverStateChild, dataChild, dynamicHead);\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render. This shouldn't happen because the Route Tree\n // and the Seed Data tree sent by the server should always be the same\n // shape when part of the same server response.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server response matches what was expected to receive, but there's\n // no matching Cache Node in the task tree. This is a bug in the\n // implementation because we should have created a node for every\n // segment in the tree that's associated with this task.\n }\n }\n // Use the dynamic data from the server to fulfill the deferred RSC promise\n // on the Cache Node.\n const rsc = cacheNode.rsc;\n const dynamicSegmentData = dynamicData[2];\n if (rsc === null) {\n // This is a lazy cache node. We can overwrite it. This is only safe\n // because we know that the LayoutRouter suspends if `rsc` is `null`.\n cacheNode.rsc = dynamicSegmentData;\n } else if (isDeferredRsc(rsc)) {\n // This is a deferred RSC promise. We can fulfill it with the data we just\n // received from the server. If it was already resolved by a different\n // navigation, then this does nothing because we can't overwrite data.\n rsc.resolve(dynamicSegmentData);\n } else {\n // This is not a deferred RSC promise, nor is it empty, so it must have\n // been populated by a different navigation. We must not overwrite it.\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved with the dynamic head from\n // the server.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(dynamicHead);\n }\n}\nfunction abortTask(task, error) {\n const cacheNode = task.node;\n if (cacheNode === null) {\n // This indicates the task is already complete.\n return;\n }\n const taskChildren = task.children;\n if (taskChildren === null) {\n // Reached the leaf task node. This is the root of a pending cache\n // node tree.\n abortPendingCacheNode(task.route, cacheNode, error);\n } else {\n // This is an intermediate task node. Keep traversing until we reach a\n // task node with no children. That will be the root of the cache node tree\n // that needs to be resolved.\n for (const taskChild of taskChildren.values()){\n abortTask(taskChild, error);\n }\n }\n // Null this out to indicate that the task is complete.\n task.node = null;\n}\nfunction abortPendingCacheNode(routerState, cacheNode, error) {\n // For every pending segment in the tree, resolve its `rsc` promise to `null`\n // to trigger a lazy fetch during render.\n //\n // Or, if an error object is provided, it will error instead.\n const routerStateChildren = routerState[1];\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n if (segmentMapChild === undefined) {\n continue;\n }\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const cacheNodeChild = segmentMapChild.get(segmentKeyChild);\n if (cacheNodeChild !== undefined) {\n abortPendingCacheNode(routerStateChild, cacheNodeChild, error);\n } else {\n // This shouldn't happen because we're traversing the same tree that was\n // used to construct the cache nodes in the first place.\n }\n }\n const rsc = cacheNode.rsc;\n if (isDeferredRsc(rsc)) {\n if (error === null) {\n // This will trigger a lazy fetch during render.\n rsc.resolve(null);\n } else {\n // This will trigger an error during rendering.\n rsc.reject(error);\n }\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved. If an error was provided, we\n // will not resolve it with an error, since this is rendered at the root of\n // the app. We want the segment to error, not the entire app.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(null);\n }\n}\nfunction updateCacheNodeOnPopstateRestoration(oldCacheNode, routerState) {\n // A popstate navigation reads data from the local cache. It does not issue\n // new network requests (unless the cache entries have been evicted). So, we\n // update the cache to drop the prefetch data for any segment whose dynamic\n // data was already received. This prevents an unnecessary flash back to PPR\n // state during a back/forward navigation.\n //\n // This function clones the entire cache node tree and sets the `prefetchRsc`\n // field to `null` to prevent it from being rendered. We can't mutate the node\n // in place because this is a concurrent data structure.\n const routerStateChildren = routerState[1];\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n const newParallelRoutes = new Map(oldParallelRoutes);\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n if (oldSegmentMapChild !== undefined) {\n const oldCacheNodeChild = oldSegmentMapChild.get(segmentKeyChild);\n if (oldCacheNodeChild !== undefined) {\n const newCacheNodeChild = updateCacheNodeOnPopstateRestoration(oldCacheNodeChild, routerStateChild);\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n newParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n }\n }\n // Only show prefetched data if the dynamic data is still pending.\n //\n // Tehnically, what we're actually checking is whether the dynamic network\n // response was received. But since it's a streaming response, this does not\n // mean that all the dynamic data has fully streamed in. It just means that\n // _some_ of the dynamic data was received. But as a heuristic, we assume that\n // the rest dynamic data will stream in quickly, so it's still better to skip\n // the prefetch state.\n const rsc = oldCacheNode.rsc;\n const shouldUsePrefetch = isDeferredRsc(rsc) && rsc.status === \"pending\";\n return {\n lazyData: null,\n rsc,\n head: oldCacheNode.head,\n prefetchHead: shouldUsePrefetch ? oldCacheNode.prefetchHead : null,\n prefetchRsc: shouldUsePrefetch ? oldCacheNode.prefetchRsc : null,\n loading: shouldUsePrefetch ? oldCacheNode.loading : null,\n // These are the cloned children we computed above\n parallelRoutes: newParallelRoutes,\n lazyDataResolved: false\n };\n}\nconst DEFERRED = Symbol();\n// This type exists to distinguish a DeferredRsc from a Flight promise. It's a\n// compromise to avoid adding an extra field on every Cache Node, which would be\n// awkward because the pre-PPR parts of codebase would need to account for it,\n// too. We can remove it once type Cache Node type is more settled.\nfunction isDeferredRsc(value) {\n return value && value.tag === DEFERRED;\n}\nfunction createDeferredRsc() {\n let resolve;\n let reject;\n const pendingRsc = new Promise((res, rej)=>{\n resolve = res;\n reject = rej;\n });\n pendingRsc.status = \"pending\";\n pendingRsc.resolve = (value)=>{\n if (pendingRsc.status === \"pending\") {\n const fulfilledRsc = pendingRsc;\n fulfilledRsc.status = \"fulfilled\";\n fulfilledRsc.value = value;\n resolve(value);\n }\n };\n pendingRsc.reject = (error)=>{\n if (pendingRsc.status === \"pending\") {\n const rejectedRsc = pendingRsc;\n rejectedRsc.status = \"rejected\";\n rejectedRsc.reason = error;\n reject(error);\n }\n };\n pendingRsc.tag = DEFERRED;\n return pendingRsc;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ppr-navigations.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3Bwci1uYXZpZ2F0aW9ucy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUEybkJnQkEsV0FBUztlQUFUQTs7SUFuVEFDLHlCQUF1QjtlQUF2QkE7O0lBeFFBQyw2QkFBMkI7ZUFBM0JBOztJQXVvQkFDLHNDQUFvQztlQUFwQ0E7OztxQ0F6ckJUOzJDQUNzQjtrREFDUTtBQWdEOUIsU0FBU0QsNEJBQ2RFLFlBQXVCLEVBQ3ZCQyxjQUFpQyxFQUNqQ0MsY0FBaUMsRUFDakNDLFlBQStCLEVBQy9CQyxZQUE2QjtJQUU3QiwwREFBMEQ7SUFDMUQsTUFBTUMseUJBQXlCSixjQUFjLENBQUMsRUFBRTtJQUNoRCxNQUFNSyx5QkFBeUJKLGNBQWMsQ0FBQyxFQUFFO0lBQ2hELE1BQU1LLHVCQUF1QkosWUFBWSxDQUFDLEVBQUU7SUFFNUMsTUFBTUssb0JBQW9CUixhQUFhUyxjQUFjO0lBRXJELDJFQUEyRTtJQUMzRSxnQkFBZ0I7SUFDaEIsMEVBQTBFO0lBQzFFLDBFQUEwRTtJQUMxRSw0RUFBNEU7SUFDNUUsMkVBQTJFO0lBQzNFLDBFQUEwRTtJQUMxRSx1RUFBdUU7SUFDdkUseUVBQXlFO0lBQ3pFLHdFQUF3RTtJQUN4RSwrQkFBK0I7SUFDL0IsTUFBTUMseUJBQXlCLElBQUlDLElBQUlIO0lBRXZDLDRFQUE0RTtJQUM1RSw0RUFBNEU7SUFDNUUsMkVBQTJFO0lBQzNFLDZFQUE2RTtJQUM3RSxtQkFBbUI7SUFDbkIsSUFBSUksNkJBRUEsQ0FBQztJQUNMLElBQUlDLGVBQWU7SUFDbkIsSUFBSyxJQUFJQyxvQkFBb0JSLHVCQUF3QjtRQUNuRCxNQUFNUyxzQkFDSlQsc0JBQXNCLENBQUNRLGlCQUFpQjtRQUMxQyxNQUFNRSxzQkFDSlgsc0JBQXNCLENBQUNTLGlCQUFpQjtRQUMxQyxNQUFNRyxxQkFBcUJULGtCQUFrQlUsR0FBRyxDQUFDSjtRQUNqRCxN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LFNBQVNpRSxvQkFBb0I1RyxhQUFhMkMsT0FBTyxHQUFHO1FBRXBELGtEQUFrRDtRQUNsRGxDLGdCQUFnQmtHO1FBQ2hCL0Qsa0JBQWtCO0lBQ3BCO0FBQ0Y7QUFFQSxNQUFNa0UsV0FBV0M7QUE4QmpCLDhFQUE4RTtBQUM5RSxnRkFBZ0Y7QUFDaEYsOEVBQThFO0FBQzlFLG1FQUFtRTtBQUNuRSxTQUFTUixjQUFjUyxLQUFVO0lBQy9CLE9BQU9BLFNBQVNBLE1BQU1DLEdBQUcsS0FBS0g7QUFDaEM7QUFFQSxTQUFTdkI7SUFDUCxJQUFJaUI7SUFDSixJQUFJRTtJQUNKLE1BQU1RLGFBQWEsSUFBSUMsUUFBeUIsQ0FBQ0MsS0FBS0M7UUFDcERiLFVBQVVZO1FBQ1ZWLFNBQVNXO0lBQ1g7SUFDQUgsV0FBV0wsTUFBTSxHQUFHO0lBQ3BCSyxXQUFXVixPQUFPLEdBQUcsQ0FBQ1E7UUFDcEIsSUFBSUUsV0FBV0wsTUFBTSxLQUFLLFdBQVc7WUFDbkMsTUFBTVMsZUFBcUNKO1lBQzNDSSxhQUFhVCxNQUFNLEdBQUc7WUFDdEJTLGFBQWFOLEtBQUssR0FBR0E7WUFDckJSLFFBQVFRO1FBQ1Y7SUFDRjtJQUNBRSxXQUFXUixNQUFNLEdBQUcsQ0FBQ3ZDO1FBQ25CLElBQUkrQyxXQUFXTCxNQUFNLEtBQUssV0FBVztZQUNuQyxNQUFNVSxjQUFtQ0w7WUFDekNLLFlBQVlWLE1BQU0sR0FBRztZQUNyQlUsWUFBWUMsTUFBTSxHQUFHckQ7WUFDckJ1QyxPQUFPdkM7UUFDVDtJQUNGO0lBQ0ErQyxXQUFXRCxHQUFHLEdBQUdIO0lBQ2pCLE9BQU9JO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3Bwci1uYXZpZ2F0aW9ucy50cz82YTU2Il0sIm5hbWVzIjpbImFib3J0VGFzayIsImxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0IiwidXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uIiwidXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uIiwib2xkQ2FjaGVOb2RlIiwib2xkUm91dGVyU3RhdGUiLCJuZXdSb3V0ZXJTdGF0ZSIsInByZWZldGNoRGF0YSIsInByZWZldGNoSGVhZCIsIm9sZFJvdXRlclN0YXRlQ2hpbGRyZW4iLCJuZXdSb3V0ZXJTdGF0ZUNoaWxkcmVuIiwicHJlZmV0Y2hEYXRhQ2hpbGRyZW4iLCJvbGRQYXJhbGxlbFJvdXRlcyIsInBhcmFsbGVsUm91dGVzIiwicHJlZmV0Y2hQYXJhbGxlbFJvdXRlcyIsIk1hcCIsInBhdGNoZWRSb3V0ZXJTdGF0ZUNoaWxkcmVuIiwidGFza0NoaWxkcmVuIiwicGFyYWxsZWxSb3V0ZUtleSIsIm5ld1JvdXRlclN0YXRlQ2hpbGQiLCJvbGRSb3V0ZXJTdGF0ZUNoaWxkIiwib2xkU2VnbWVudE1hcENoaWxkIiwiZ2V0IiwicHJlZmV0Y2hEYXRhQ2hpbGQiLCJuZXdTZWdtZW50Q2hpbGQiLCJuZXdTZWdtZW50S2V5Q2hpbGQiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsIm9sZFNlZ21lbnRDaGlsZCIsInVuZGVmaW5lZCIsIm9sZENhY2hlTm9kZUNoaWxkIiwidGFza0NoaWxkIiwiUEFHRV9TRUdNRU5UX0tFWSIsInNwYXduUGVuZGluZ1Rhc2siLCJERUZBVUxUX1NFR01FTlRfS0VZIiwic3Bhd25SZXVzZWRUYXNrIiwibWF0Y2hTZWdtZW50Iiwic3Bhd25UYXNrRm9yTWlzc2luZ0RhdGEiLCJzZXQiLCJuZXdDYWNoZU5vZGVDaGlsZCIsIm5vZGUiLCJuZXdTZWdtZW50TWFwQ2hpbGQiLCJyb3V0ZSIsIm5ld0NhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwibG9hZGluZyIsImxhenlEYXRhUmVzb2x2ZWQiLCJwYXRjaFJvdXRlclN0YXRlV2l0aE5ld0NoaWxkcmVuIiwiY2hpbGRyZW4iLCJiYXNlUm91dGVyU3RhdGUiLCJuZXdDaGlsZHJlbiIsImNsb25lIiwicm91dGVyU3RhdGUiLCJwZW5kaW5nQ2FjaGVOb2RlIiwiY3JlYXRlUGVuZGluZ0NhY2hlTm9kZSIsInJldXNlZFJvdXRlclN0YXRlIiwidGFzayIsInJlc3BvbnNlUHJvbWlzZSIsInRoZW4iLCJyZXNwb25zZSIsImZsaWdodERhdGEiLCJmbGlnaHREYXRhUGF0aCIsInNlZ21lbnRQYXRoIiwic2xpY2UiLCJzZXJ2ZXJSb3V0ZXJTdGF0ZSIsImxlbmd0aCIsImR5bmFtaWNEYXRhIiwiZHluYW1pY0hlYWQiLCJ3cml0ZUR5bmFtaWNEYXRhSW50b1BlbmRpbmdUYXNrIiwiZXJyb3IiLCJyb290VGFzayIsImkiLCJzZWdtZW50IiwidGFza1NlZ21lbnQiLCJmaW5pc2hUYXNrVXNpbmdEeW5hbWljRGF0YVBheWxvYWQiLCJ0YXNrTm9kZSIsImZpbmlzaFBlbmRpbmdDYWNoZU5vZGUiLCJzZXJ2ZXJDaGlsZHJlbiIsImR5bmFtaWNEYXRhQ2hpbGRyZW4iLCJzZXJ2ZXJSb3V0ZXJTdGF0ZUNoaWxkIiwiZHluYW1pY0RhdGFDaGlsZCIsInJvdXRlclN0YXRlQ2hpbGRyZW4iLCJyb3V0ZXJTdGF0ZUNoaWxkIiwic2VnbWVudENoaWxkIiwic2VnbWVudEtleUNoaWxkIiwiaXNMZWFmU2VnbWVudCIsInNpemUiLCJtYXliZVByZWZldGNoUnNjIiwibWF5YmVQcmVmZXRjaExvYWRpbmciLCJjcmVhdGVEZWZlcnJlZFJzYyIsImNhY2hlTm9kZSIsInRhc2tTdGF0ZSIsInNlcnZlclN0YXRlIiwidGFza1N0YXRlQ2hpbGRyZW4iLCJzZXJ2ZXJTdGF0ZUNoaWxkcmVuIiwiZGF0YUNoaWxkcmVuIiwidGFza1N0YXRlQ2hpbGQiLCJzZXJ2ZXJTdGF0ZUNoaWxkIiwiZGF0YUNoaWxkIiwic2VnbWVudE1hcENoaWxkIiwidGFza1NlZ21lbnRDaGlsZCIsInRhc2tTZWdtZW50S2V5Q2hpbGQiLCJjYWNoZU5vZGVDaGlsZCIsImFib3J0UGVuZGluZ0NhY2hlTm9kZSIsImR5bmFtaWNTZWdtZW50RGF0YSIsImlzRGVmZXJyZWRSc2MiLCJyZXNvbHZlIiwidmFsdWVzIiwicmVqZWN0IiwibmV3UGFyYWxsZWxSb3V0ZXMiLCJzaG91bGRVc2VQcmVmZXRjaCIsInN0YXR1cyIsIkRFRkVSUkVEIiwiU3ltYm9sIiwidmFsdWUiLCJ0YWciLCJwZW5kaW5nUnNjIiwiUHJvbWlzZSIsInJlcyIsInJlaiIsImZ1bGZpbGxlZFJzYyIsInJlamVjdGVkUnNjIiwicmVhc29uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js ***! - \*****************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createPrefetchCacheEntryForInitialLoad: function() {\n return createPrefetchCacheEntryForInitialLoad;\n },\n getOrCreatePrefetchCacheEntry: function() {\n return getOrCreatePrefetchCacheEntry;\n },\n prunePrefetchCache: function() {\n return prunePrefetchCache;\n }\n});\nconst _createhreffromurl = __webpack_require__(/*! ./create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./reducers/prefetch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\n/**\n * Creates a cache key for the router prefetch cache\n *\n * @param url - The URL being navigated to\n * @param nextUrl - an internal URL, primarily used for handling rewrites. Defaults to '/'.\n * @return The generated prefetch cache key.\n */ function createPrefetchCacheKey(url, nextUrl) {\n const pathnameFromUrl = (0, _createhreffromurl.createHrefFromUrl)(url, false);\n // nextUrl is used as a cache key delimiter since entries can vary based on the Next-URL header\n if (nextUrl) {\n return nextUrl + \"%\" + pathnameFromUrl;\n }\n return pathnameFromUrl;\n}\nfunction getOrCreatePrefetchCacheEntry(param) {\n let { url, nextUrl, tree, buildId, prefetchCache, kind } = param;\n let existingCacheEntry = undefined;\n // We first check if there's a more specific interception route prefetch entry\n // This is because when we detect a prefetch that corresponds with an interception route, we prefix it with nextUrl (see `createPrefetchCacheKey`)\n // to avoid conflicts with other pages that may have the same URL but render different things depending on the `Next-URL` header.\n const interceptionCacheKey = createPrefetchCacheKey(url, nextUrl);\n const interceptionData = prefetchCache.get(interceptionCacheKey);\n if (interceptionData) {\n existingCacheEntry = interceptionData;\n } else {\n // If we dont find a more specific interception route prefetch entry, we check for a regular prefetch entry\n const prefetchCacheKey = createPrefetchCacheKey(url);\n const prefetchData = prefetchCache.get(prefetchCacheKey);\n if (prefetchData) {\n existingCacheEntry = prefetchData;\n }\n }\n if (existingCacheEntry) {\n // Grab the latest status of the cache entry and update it\n existingCacheEntry.status = getPrefetchEntryCacheStatus(existingCacheEntry);\n // when `kind` is provided, an explicit prefetch was requested.\n // if the requested prefetch is \"full\" and the current cache entry wasn't, we want to re-prefetch with the new intent\n const switchedToFullPrefetch = existingCacheEntry.kind !== _routerreducertypes.PrefetchKind.FULL && kind === _routerreducertypes.PrefetchKind.FULL;\n if (switchedToFullPrefetch) {\n return createLazyPrefetchEntry({\n tree,\n url,\n buildId,\n nextUrl,\n prefetchCache,\n // If we didn't get an explicit prefetch kind, we want to set a temporary kind\n // rather than assuming the same intent as the previous entry, to be consistent with how we\n // lazily create prefetch entries when intent is left unspecified.\n kind: kind != null ? kind : _routerreducertypes.PrefetchKind.TEMPORARY\n });\n }\n // If the existing cache entry was marked as temporary, it means it was lazily created when attempting to get an entry,\n // where we didn't have the prefetch intent. Now that we have the intent (in `kind`), we want to update the entry to the more accurate kind.\n if (kind && existingCacheEntry.kind === _routerreducertypes.PrefetchKind.TEMPORARY) {\n existingCacheEntry.kind = kind;\n }\n // We've determined that the existing entry we found is still valid, so we return it.\n return existingCacheEntry;\n }\n // If we didn't return an entry, create a new one.\n return createLazyPrefetchEntry({\n tree,\n url,\n buildId,\n nextUrl,\n prefetchCache,\n kind: kind || // in dev, there's never gonna be a prefetch entry so we want to prefetch here\n ( true ? _routerreducertypes.PrefetchKind.AUTO : 0)\n });\n}\n/*\n * Used to take an existing cache entry and prefix it with the nextUrl, if it exists.\n * This ensures that we don't have conflicting cache entries for the same URL (as is the case with route interception).\n */ function prefixExistingPrefetchCacheEntry(param) {\n let { url, nextUrl, prefetchCache } = param;\n const existingCacheKey = createPrefetchCacheKey(url);\n const existingCacheEntry = prefetchCache.get(existingCacheKey);\n if (!existingCacheEntry) {\n // no-op -- there wasn't an entry to move\n return;\n }\n const newCacheKey = createPrefetchCacheKey(url, nextUrl);\n prefetchCache.set(newCacheKey, existingCacheEntry);\n prefetchCache.delete(existingCacheKey);\n}\nfunction createPrefetchCacheEntryForInitialLoad(param) {\n let { nextUrl, tree, prefetchCache, url, kind, data } = param;\n const [, , , intercept] = data;\n // if the prefetch corresponds with an interception route, we use the nextUrl to prefix the cache key\n const prefetchCacheKey = intercept ? createPrefetchCacheKey(url, nextUrl) : createPrefetchCacheKey(url);\n const prefetchEntry = {\n treeAtTimeOfPrefetch: tree,\n data: Promise.resolve(data),\n kind,\n prefetchTime: Date.now(),\n lastUsedTime: Date.now(),\n key: prefetchCacheKey,\n status: _routerreducertypes.PrefetchCacheEntryStatus.fresh\n };\n prefetchCache.set(prefetchCacheKey, prefetchEntry);\n return prefetchEntry;\n}\n/**\n * Creates a prefetch entry entry and enqueues a fetch request to retrieve the data.\n */ function createLazyPrefetchEntry(param) {\n let { url, kind, tree, nextUrl, buildId, prefetchCache } = param;\n const prefetchCacheKey = createPrefetchCacheKey(url);\n // initiates the fetch request for the prefetch and attaches a listener\n // to the promise to update the prefetch cache entry when the promise resolves (if necessary)\n const data = _prefetchreducer.prefetchQueue.enqueue(()=>(0, _fetchserverresponse.fetchServerResponse)(url, tree, nextUrl, buildId, kind).then((prefetchResponse)=>{\n // TODO: `fetchServerResponse` should be more tighly coupled to these prefetch cache operations\n // to avoid drift between this cache key prefixing logic\n // (which is currently directly influenced by the server response)\n const [, , , intercepted] = prefetchResponse;\n if (intercepted) {\n prefixExistingPrefetchCacheEntry({\n url,\n nextUrl,\n prefetchCache\n });\n }\n return prefetchResponse;\n }));\n const prefetchEntry = {\n treeAtTimeOfPrefetch: tree,\n data,\n kind,\n prefetchTime: Date.now(),\n lastUsedTime: null,\n key: prefetchCacheKey,\n status: _routerreducertypes.PrefetchCacheEntryStatus.fresh\n };\n prefetchCache.set(prefetchCacheKey, prefetchEntry);\n return prefetchEntry;\n}\nfunction prunePrefetchCache(prefetchCache) {\n for (const [href, prefetchCacheEntry] of prefetchCache){\n if (getPrefetchEntryCacheStatus(prefetchCacheEntry) === _routerreducertypes.PrefetchCacheEntryStatus.expired) {\n prefetchCache.delete(href);\n }\n }\n}\n// These values are set by `define-env-plugin` (based on `nextConfig.experimental.staleTimes`)\n// and default to 5 minutes (static) / 30 seconds (dynamic)\nconst DYNAMIC_STALETIME_MS = Number(\"30\") * 1000;\nconst STATIC_STALETIME_MS = Number(\"300\") * 1000;\nfunction getPrefetchEntryCacheStatus(param) {\n let { kind, prefetchTime, lastUsedTime } = param;\n // We will re-use the cache entry data for up to the `dynamic` staletime window.\n if (Date.now() < (lastUsedTime != null ? lastUsedTime : prefetchTime) + DYNAMIC_STALETIME_MS) {\n return lastUsedTime ? _routerreducertypes.PrefetchCacheEntryStatus.reusable : _routerreducertypes.PrefetchCacheEntryStatus.fresh;\n }\n // For \"auto\" prefetching, we'll re-use only the loading boundary for up to `static` staletime window.\n // A stale entry will only re-use the `loading` boundary, not the full data.\n // This will trigger a \"lazy fetch\" for the full data.\n if (kind === \"auto\") {\n if (Date.now() < prefetchTime + STATIC_STALETIME_MS) {\n return _routerreducertypes.PrefetchCacheEntryStatus.stale;\n }\n }\n // for \"full\" prefetching, we'll re-use the cache entry data for up to `static` staletime window.\n if (kind === \"full\") {\n if (Date.now() < prefetchTime + STATIC_STALETIME_MS) {\n return _routerreducertypes.PrefetchCacheEntryStatus.reusable;\n }\n }\n return _routerreducertypes.PrefetchCacheEntryStatus.expired;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=prefetch-cache-utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3ByZWZldGNoLWNhY2hlLXV0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQW1KZ0JBLHdDQUFzQztlQUF0Q0E7O0lBNUdBQywrQkFBNkI7ZUFBN0JBOztJQWlNQUMsb0JBQWtCO2VBQWxCQTs7OytDQXhPa0I7aURBSTNCO2dEQU1BOzZDQUN1QjtBQUU5Qjs7Ozs7O0NBTUMsR0FDRCxTQUFTQyx1QkFBdUJDLEdBQVEsRUFBRUMsT0FBdUI7SUFDL0QsTUFBTUMsa0JBQWtCQyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQ3ZDSCxLQUVBO0lBR0YsK0ZBQStGO0lBQy9GLElBQUlDLFNBQVM7UUFDWCxPQUFPQSxVQUFXLE1BQUdDO0lBQ3ZCO0lBRUEsT0FBT0E7QUFDVDtBQU1PLFNBQVNMLDhCQUE4Qk8sS0FhN0M7SUFiNkMsTUFDNUNKLEdBQUcsRUFDSEMsT0FBTyxFQUNQSSxJQUFJLEVBQ0pDLE9BQU8sRUFDUEMsYUFBYSxFQUNiQyxJQUFJLEVBT0wsR0FiNkNKO0lBYzVDLElBQUlLLHFCQUFxREM7SUFDekQsOEVBQThFO0lBQzlFLGtKQUFrSjtJQUNsSixpSUFBaUk7SUFDakksTUFBTUMsdUJBQXVCWix1QkFBdUJDLEtBQUtDO0lBQ3pELE1BQU1XLG1CQUFtQkwsY0FBY00sR0FBRyxDQUFDRjtJQUUzQyxJQUFJQyxrQkFBa0I7UUFDcEJILHFCQUFxQkc7SUFDdkIsT0FBTztRQUNMLDJHQUEyRztRQUMzRyxNQUFNRSxtQkFBbUJmLHVCQUF1QkM7UUFDaEQsTUFBTWUsZUFBZVIsY0FBY00sR0FBRyxDQUFDQztRQUN2QyxJQUFJQyxjQUFjO1lBQ2hCTixxQkFBcUJNO1FBQ3ZCO0lBQ0Y7SUFFQSxJQUFJTixvQkFBb0I7UUFDdEIsMERBQTBEO1FBQzFEQSxtQkFBbUJPLE1BQU0sR0FBR0MsNEJBQTRCUjtRQUV4RCwrREFBK0Q7UUFDL0Qs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SW5ELFNBQVMsUUFBUTtRQUNuQixJQUFJNkIsS0FBS0MsR0FBRyxLQUFLRixlQUFlb0IscUJBQXFCO1lBQ25ELE9BQU9mLG9CQUFBQSx3QkFBd0IsQ0FBQ2lCLFFBQVE7UUFDMUM7SUFDRjtJQUVBLE9BQU9qQixvQkFBQUEsd0JBQXdCLENBQUNVLE9BQU87QUFDekMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3ByZWZldGNoLWNhY2hlLXV0aWxzLnRzP2I2MjEiXSwibmFtZXMiOlsiY3JlYXRlUHJlZmV0Y2hDYWNoZUVudHJ5Rm9ySW5pdGlhbExvYWQiLCJnZXRPckNyZWF0ZVByZWZldGNoQ2FjaGVFbnRyeSIsInBydW5lUHJlZmV0Y2hDYWNoZSIsImNyZWF0ZVByZWZldGNoQ2FjaGVLZXkiLCJ1cmwiLCJuZXh0VXJsIiwicGF0aG5hbWVGcm9tVXJsIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJwYXJhbSIsInRyZWUiLCJidWlsZElkIiwicHJlZmV0Y2hDYWNoZSIsImtpbmQiLCJleGlzdGluZ0NhY2hlRW50cnkiLCJ1bmRlZmluZWQiLCJpbnRlcmNlcHRpb25DYWNoZUtleSIsImludGVyY2VwdGlvbkRhdGEiLCJnZXQiLCJwcmVmZXRjaENhY2hlS2V5IiwicHJlZmV0Y2hEYXRhIiwic3RhdHVzIiwiZ2V0UHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzIiwic3dpdGNoZWRUb0Z1bGxQcmVmZXRjaCIsIlByZWZldGNoS2luZCIsIkZVTEwiLCJjcmVhdGVMYXp5UHJlZmV0Y2hFbnRyeSIsIlRFTVBPUkFSWSIsInByb2Nlc3MiLCJBVVRPIiwicHJlZml4RXhpc3RpbmdQcmVmZXRjaENhY2hlRW50cnkiLCJleGlzdGluZ0NhY2hlS2V5IiwibmV3Q2FjaGVLZXkiLCJzZXQiLCJkZWxldGUiLCJkYXRhIiwiaW50ZXJjZXB0IiwicHJlZmV0Y2hFbnRyeSIsInRyZWVBdFRpbWVPZlByZWZldGNoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcmVmZXRjaFRpbWUiLCJEYXRlIiwibm93IiwibGFzdFVzZWRUaW1lIiwia2V5IiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwiZnJlc2giLCJwcmVmZXRjaFF1ZXVlIiwiZW5xdWV1ZSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJ0aGVuIiwicHJlZmV0Y2hSZXNwb25zZSIsImludGVyY2VwdGVkIiwiaHJlZiIsInByZWZldGNoQ2FjaGVFbnRyeSIsImV4cGlyZWQiLCJEWU5BTUlDX1NUQUxFVElNRV9NUyIsIk51bWJlciIsImVudiIsIl9fTkVYVF9DTElFTlRfUk9VVEVSX0RZTkFNSUNfU1RBTEVUSU1FIiwiU1RBVElDX1NUQUxFVElNRV9NUyIsIl9fTkVYVF9DTElFTlRfUk9VVEVSX1NUQVRJQ19TVEFMRVRJTUUiLCJyZXVzYWJsZSIsInN0YWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js": -/*!**************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js ***! - \**************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fastRefreshReducer\", ({\n enumerable: true,\n get: function() {\n return fastRefreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./has-interception-route-in-current-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\n// A version of refresh reducer that keeps the cache around instead of wiping all of it.\nfunction fastRefreshReducerImpl(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // If the current tree was intercepted, the nextUrl should be included in the request.\n // This is to ensure that the refresh request doesn't get intercepted, accidentally triggering the interception route.\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(state.tree);\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [\n state.tree[0],\n state.tree[1],\n state.tree[2],\n \"refetch\"\n ], includeNextUrl ? state.nextUrl : null, state.buildId);\n return cache.lazyData.then((param)=>{\n let [flightData, canonicalUrlOverride] = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"REFRESH FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n \"\"\n ], currentTree, treePatch, state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath);\n if (applied) {\n mutable.cache = cache;\n currentCache = cache;\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nfunction fastRefreshReducerNoop(state, _action) {\n return state;\n}\nconst fastRefreshReducer = false ? 0 : fastRefreshReducerImpl;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fast-refresh-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2Zhc3QtcmVmcmVzaC1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBNEhhQTs7O2VBQUFBOzs7aURBNUh1QjsrQ0FDRjt5REFDVTt5REFDQTs2Q0FPVjsyQ0FDSjs2Q0FDRTt1Q0FFSzttREFDQzsrREFDWTtBQUVsRCx3RkFBd0Y7QUFDeEYsU0FBU0MsdUJBQ1BDLEtBQTJCLEVBQzNCQyxNQUF5QjtJQUV6QixNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHRDtJQUNuQixNQUFNRSxVQUFtQixDQUFDO0lBQzFCLE1BQU1DLE9BQU9KLE1BQU1LLFlBQVk7SUFFL0JGLFFBQVFHLDBCQUEwQixHQUFHO0lBRXJDLE1BQU1DLFFBQW1CQyxDQUFBQSxHQUFBQSxXQUFBQSxvQkFBb0I7SUFDN0Msc0ZBQXNGO0lBQ3RGLHNIQUFzSDtJQUN0SCxNQUFNQyxpQkFBaUJDLENBQUFBLEdBQUFBLG1DQUFBQSxpQ0FBaUMsRUFBQ1YsTUFBTVcsSUFBSTtJQUVuRSx1REFBdUQ7SUFDdkQsd0NBQXdDO0lBQ3hDSixNQUFNSyxRQUFRLEdBQUdDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFDbEMsSUFBSUMsSUFBSVYsTUFBTUYsU0FDZDtRQUFDRixNQUFNVyxJQUFJLENBQUMsRUFBRTtRQUFFWCxNQUFNVyxJQUFJLENBQUMsRUFBRTtRQUFFWCxNQUFNVyxJQUFJLENBQUMsRUFBRTtRQUFFO0tBQVUsRUFDeERGLGlCQUFpQlQsTUFBTWUsT0FBTyxHQUFHLE1BQ2pDZixNQUFNZ0IsT0FBTztJQUdmLE9BQU9ULE1BQU1LLFFBQVEsQ0FBQ0ssSUFBSSxDQUN4QixDQUFBQztZQUFDLENBQUNDLFlBQVlDLHFCQUFxQixHQUFBRjtRQUNqQyw0REFBNEQ7UUFDNUQsSUFBSSxPQUFPQyxlQUFlLFVBQVU7WUFDbEMsT0FBT0UsQ0FBQUEsR0FBQUEsaUJBQUFBLGlCQUFpQixFQUN0QnJCLE9BQ0FHLFNBQ0FnQixZQUNBbkIsTUFBTXNCLE9BQU8sQ0FBQ0MsV0FBVztRQUU3QjtRQUVBLCtEQUErRDtRQUMvRGhCLE1BQU1LLFFBQVEsR0FBRztRQUVqQixJQUFJWSxjQUFjeEIsTUFBTVcsSUFBSTtRQUM1QixJQUFJYyxlQUFlekIsTUFBTU8sS0FBSztRQUU5QixLQUFLLE1BQU1tQixrQkFBa0JQLFdBQVk7WUFDdkMsb0ZBQW9GO1lBQ3BGLElBQUlPLGVBQWVDLE1BQU0sS0FBSyxHQUFHO2dCQUMvQixvQ0FBb0M7Z0JBQ3BDQyxRQUFRQyxHQUFHLENBQUM7Z0JBQ1osT0FBTzdCO1lBQ1Q7WUFFQSxtR0FBbUc7WUFDbkcsTUFBTSxDQUFDOEIsVUFBVSxHQUFHSjtZQUNwQixNQUFNSyxVQUFVQyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBRXpDO2dCQUFDO2FBQUcsRUFDSlIsYUFDQU0sV0FDQTlCLE1BQU1LLFlBQVk7WUFHcEIsSUFBSTBCLFlBQVksTUFBTTtnQkFDcEIsT0FBT0UsQ0FBQUEsR0FBQUEsdUJBQUFBLHFCQUFxQixFQUFDakMsT0FBT0MsUUFBUTZCO1lBQzlDO1lBRUEsSUFBSUksQ0FBQUEsR0FBQUEsNkJBQUFBLDJCQUEyQixFQUFDVixhQUFhTyxVQUFVO2dCQUNyRCxPQUFPVixDQUFBQSxHQUFBQSxpQkFBQUEsaUJBQWlCLEVBQ3RCckIsT0FDQUcsU0FDQUMsTUFDQUosTUFBTXNCLE9BQU8sQ0FBQ0MsV0FBVztZQUU3QjtZQUVBLE1BQU1ZLDJCQUEyQmYsdUJBQzdCZ0IsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDaEIsd0JBQ2xCaUI7WUFFSixJQUFJakIsc0JBQXNCO2dCQUN4QmpCLFFBQVFFLFlBQVksR0FBRzhCO1lBQ3pCO1lBQ0EsTUFBTUcsVUFBVUMsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFBQ2QsY0FBY2xCLE9BQU9tQjtZQUVyRCxJQUFJWSxTQUFTO2dCQUNYbkMsUUFBUUksS0FBSyxHQUFHQTtnQkFDaEJrQixlQUFlbEI7WUFDakI7WUFFQUosUUFBUXFDLFdBQVcsR0FBR1Q7WUFDdEI1QixRQUFRRSxZQUFZLEdBQUdEO1lBRXZCb0IsY0FBY087UUFDaEI7UUFDQSxPQUFPVSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUN6QyxPQUFPRztJQUM5QixHQUNBLElBQU1IO0FBRVY7QUFFQSxTQUFTMEMsdUJBQ1AxQyxLQUEyQixFQUMzQjJDLE9BQTBCO0lBRTFCLE9BQU8zQztBQUNUO0FBRU8sTUFBTUYscUJBQ1g4QyxNQUF5QixHQUNyQkYsQ0FBQUEsR0FDQTNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9mYXN0LXJlZnJlc2gtcmVkdWNlci50cz9lNWJiIl0sIm5hbWVzIjpbImZhc3RSZWZyZXNoUmVkdWNlciIsImZhc3RSZWZyZXNoUmVkdWNlckltcGwiLCJzdGF0ZSIsImFjdGlvbiIsIm9yaWdpbiIsIm11dGFibGUiLCJocmVmIiwiY2Fub25pY2FsVXJsIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJjYWNoZSIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwiaW5jbHVkZU5leHRVcmwiLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLCJ0cmVlIiwibGF6eURhdGEiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwiVVJMIiwibmV4dFVybCIsImJ1aWxkSWQiLCJ0aGVuIiwicGFyYW0iLCJmbGlnaHREYXRhIiwiY2Fub25pY2FsVXJsT3ZlcnJpZGUiLCJoYW5kbGVFeHRlcm5hbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsImN1cnJlbnRUcmVlIiwiY3VycmVudENhY2hlIiwiZmxpZ2h0RGF0YVBhdGgiLCJsZW5ndGgiLCJjb25zb2xlIiwibG9nIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSIsImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidW5kZWZpbmVkIiwiYXBwbGllZCIsImFwcGx5RmxpZ2h0RGF0YSIsInBhdGNoZWRUcmVlIiwiaGFuZGxlTXV0YWJsZSIsImZhc3RSZWZyZXNoUmVkdWNlck5vb3AiLCJfYWN0aW9uIiwicHJvY2VzcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js ***! - \************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"findHeadInCache\", ({\n enumerable: true,\n get: function() {\n return findHeadInCache;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ../create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction findHeadInCache(cache, parallelRoutes) {\n return findHeadInCacheImpl(cache, parallelRoutes, \"\");\n}\nfunction findHeadInCacheImpl(cache, parallelRoutes, keyPrefix) {\n const isLastItem = Object.keys(parallelRoutes).length === 0;\n if (isLastItem) {\n // Returns the entire Cache Node of the segment whose head we will render.\n return [\n cache,\n keyPrefix\n ];\n }\n for(const key in parallelRoutes){\n const [segment, childParallelRoutes] = parallelRoutes[key];\n const childSegmentMap = cache.parallelRoutes.get(key);\n if (!childSegmentMap) {\n continue;\n }\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const cacheNode = childSegmentMap.get(cacheKey);\n if (!cacheNode) {\n continue;\n }\n const item = findHeadInCacheImpl(cacheNode, childParallelRoutes, keyPrefix + \"/\" + cacheKey);\n if (item) {\n return item;\n }\n }\n return null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=find-head-in-cache.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2ZpbmQtaGVhZC1pbi1jYWNoZS5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQUlnQkE7OztlQUFBQTs7O2tEQUZxQjtBQUU5QixTQUFTQSxnQkFDZEMsS0FBZ0IsRUFDaEJDLGNBQW9DO0lBRXBDLE9BQU9DLG9CQUFvQkYsT0FBT0MsZ0JBQWdCO0FBQ3BEO0FBRUEsU0FBU0Msb0JBQ1BGLEtBQWdCLEVBQ2hCQyxjQUFvQyxFQUNwQ0UsU0FBaUI7SUFFakIsTUFBTUMsYUFBYUMsT0FBT0MsSUFBSSxDQUFDTCxnQkFBZ0JNLE1BQU0sS0FBSztJQUMxRCxJQUFJSCxZQUFZO1FBQ2QsMEVBQTBFO1FBQzFFLE9BQU87WUFBQ0o7WUFBT0c7U0FBVTtJQUMzQjtJQUNBLElBQUssTUFBTUssT0FBT1AsZUFBZ0I7UUFDaEMsTUFBTSxDQUFDUSxTQUFTQyxvQkFBb0IsR0FBR1QsY0FBYyxDQUFDTyxJQUFJO1FBQzFELE1BQU1HLGtCQUFrQlgsTUFBTUMsY0FBYyxDQUFDVyxHQUFHLENBQUNKO1FBQ2pELElBQUksQ0FBQ0csaUJBQWlCO1lBQ3BCO1FBQ0Y7UUFFQSxNQUFNRSxXQUFXQyxDQUFBQSxHQUFBQSxzQkFBQUEsb0JBQW9CLEVBQUNMO1FBRXRDLE1BQU1NLFlBQVlKLGdCQUFnQkMsR0FBRyxDQUFDQztRQUN0QyxJQUFJLENBQUNFLFdBQVc7WUFDZDtRQUNGO1FBRUEsTUFBTUMsT0FBT2Qsb0JBQ1hhLFdBQ0FMLHFCQUNBUCxZQUFZLE1BQU1VO1FBRXBCLElBQUlHLE1BQU07WUFDUixPQUFPQTtRQUNUO0lBQ0Y7SUFFQSxPQUFPO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2ZpbmQtaGVhZC1pbi1jYWNoZS50cz84YmNkIl0sIm5hbWVzIjpbImZpbmRIZWFkSW5DYWNoZSIsImNhY2hlIiwicGFyYWxsZWxSb3V0ZXMiLCJmaW5kSGVhZEluQ2FjaGVJbXBsIiwia2V5UHJlZml4IiwiaXNMYXN0SXRlbSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJrZXkiLCJzZWdtZW50IiwiY2hpbGRQYXJhbGxlbFJvdXRlcyIsImNoaWxkU2VnbWVudE1hcCIsImdldCIsImNhY2hlS2V5IiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJjYWNoZU5vZGUiLCJpdGVtIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js ***! - \***********************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentValue\", ({\n enumerable: true,\n get: function() {\n return getSegmentValue;\n }\n}));\nfunction getSegmentValue(segment) {\n return Array.isArray(segment) ? segment[1] : segment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-segment-value.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxnQkFBZ0JDLE9BQWdCO0lBQzlDLE9BQU9DLE1BQU1DLE9BQU8sQ0FBQ0YsV0FBV0EsT0FBTyxDQUFDLEVBQUUsR0FBR0E7QUFDL0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlLnRzP2FiOGEiXSwibmFtZXMiOlsiZ2V0U2VnbWVudFZhbHVlIiwic2VnbWVudCIsIkFycmF5IiwiaXNBcnJheSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js": -/*!********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js ***! - \********************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasInterceptionRouteInCurrentTree\", ({\n enumerable: true,\n get: function() {\n return hasInterceptionRouteInCurrentTree;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nfunction hasInterceptionRouteInCurrentTree(param) {\n let [segment, parallelRoutes] = param;\n // If we have a dynamic segment, it's marked as an interception route by the presence of the `i` suffix.\n if (Array.isArray(segment) && (segment[2] === \"di\" || segment[2] === \"ci\")) {\n return true;\n }\n // If segment is not an array, apply the existing string-based check\n if (typeof segment === \"string\" && (0, _interceptionroutes.isInterceptionRouteAppPath)(segment)) {\n return true;\n }\n // Iterate through parallelRoutes if they exist\n if (parallelRoutes) {\n for(const key in parallelRoutes){\n if (hasInterceptionRouteInCurrentTree(parallelRoutes[key])) {\n return true;\n }\n }\n }\n return false;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-interception-route-in-current-tree.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2hhcy1pbnRlcmNlcHRpb24tcm91dGUtaW4tY3VycmVudC10cmVlLmpzIiwibWFwcGluZ3MiOiI7Ozs7cUVBR2dCQTs7O2VBQUFBOzs7Z0RBRjJCO0FBRXBDLFNBQVNBLGtDQUFrQ0MsS0FHOUI7SUFIOEIsS0FDaERDLFNBQ0FDLGVBQ2tCLEdBSDhCRjtJQUloRCx3R0FBd0c7SUFDeEcsSUFBSUcsTUFBTUMsT0FBTyxDQUFDSCxZQUFhQSxDQUFBQSxPQUFPLENBQUMsRUFBRSxLQUFLLFFBQVFBLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBTztRQUMxRSxPQUFPO0lBQ1Q7SUFFQSxvRUFBb0U7SUFDcEUsSUFBSSxPQUFPQSxZQUFZLFlBQVlJLENBQUFBLEdBQUFBLG9CQUFBQSwwQkFBMEIsRUFBQ0osVUFBVTtRQUN0RSxPQUFPO0lBQ1Q7SUFFQSwrQ0FBK0M7SUFDL0MsSUFBSUMsZ0JBQWdCO1FBQ2xCLElBQUssTUFBTUksT0FBT0osZUFBZ0I7WUFDaEMsSUFBSUgsa0NBQWtDRyxjQUFjLENBQUNJLElBQUksR0FBRztnQkFDMUQsT0FBTztZQUNUO1FBQ0Y7SUFDRjtJQUVBLE9BQU87QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvaGFzLWludGVyY2VwdGlvbi1yb3V0ZS1pbi1jdXJyZW50LXRyZWUudHM/ZGZjNiJdLCJuYW1lcyI6WyJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLCJwYXJhbSIsInNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlcyIsIkFycmF5IiwiaXNBcnJheSIsImlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIiwia2V5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js ***! - \**********************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n handleExternalUrl: function() {\n return handleExternalUrl;\n },\n navigateReducer: function() {\n return navigateReducer;\n }\n});\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _invalidatecachebelowflightsegmentpath = __webpack_require__(/*! ../invalidate-cache-below-flight-segmentpath */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _shouldhardnavigate = __webpack_require__(/*! ../should-hard-navigate */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./prefetch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _segment = __webpack_require__(/*! ../../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ../prefetch-cache-utils */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst _clearcachenodedataforsegmentpath = __webpack_require__(/*! ../clear-cache-node-data-for-segment-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js\");\nfunction handleExternalUrl(state, mutable, url, pendingPush) {\n mutable.mpaNavigation = true;\n mutable.canonicalUrl = url;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = undefined;\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nfunction generateSegmentsFromPatch(flightRouterPatch) {\n const segments = [];\n const [segment, parallelRoutes] = flightRouterPatch;\n if (Object.keys(parallelRoutes).length === 0) {\n return [\n [\n segment\n ]\n ];\n }\n for (const [parallelRouteKey, parallelRoute] of Object.entries(parallelRoutes)){\n for (const childSegment of generateSegmentsFromPatch(parallelRoute)){\n // If the segment is empty, it means we are at the root of the tree\n if (segment === \"\") {\n segments.push([\n parallelRouteKey,\n ...childSegment\n ]);\n } else {\n segments.push([\n segment,\n parallelRouteKey,\n ...childSegment\n ]);\n }\n }\n }\n return segments;\n}\nfunction triggerLazyFetchForLeafSegments(newCache, currentCache, flightSegmentPath, treePatch) {\n let appliedPatch = false;\n newCache.rsc = currentCache.rsc;\n newCache.prefetchRsc = currentCache.prefetchRsc;\n newCache.loading = currentCache.loading;\n newCache.parallelRoutes = new Map(currentCache.parallelRoutes);\n const segmentPathsToFill = generateSegmentsFromPatch(treePatch).map((segment)=>[\n ...flightSegmentPath,\n ...segment\n ]);\n for (const segmentPaths of segmentPathsToFill){\n (0, _clearcachenodedataforsegmentpath.clearCacheNodeDataForSegmentPath)(newCache, currentCache, segmentPaths);\n appliedPatch = true;\n }\n return appliedPatch;\n}\nconst navigateReducer = false ? 0 : navigateReducer_noPPR;\n// This is the implementation when PPR is disabled. We can assume its behavior\n// is relatively stable because it's been running in production for a while.\nfunction navigateReducer_noPPR(state, action) {\n const { url, isExternalUrl, navigateType, shouldScroll } = action;\n const mutable = {};\n const { hash } = url;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const pendingPush = navigateType === \"push\";\n // we want to prune the prefetch cache on every navigation to avoid it growing too large\n (0, _prefetchcacheutils.prunePrefetchCache)(state.prefetchCache);\n mutable.preserveCustomHistoryState = false;\n if (isExternalUrl) {\n return handleExternalUrl(state, mutable, url.toString(), pendingPush);\n }\n const prefetchValues = (0, _prefetchcacheutils.getOrCreatePrefetchCacheEntry)({\n url,\n nextUrl: state.nextUrl,\n tree: state.tree,\n buildId: state.buildId,\n prefetchCache: state.prefetchCache\n });\n const { treeAtTimeOfPrefetch, data } = prefetchValues;\n _prefetchreducer.prefetchQueue.bump(data);\n return data.then((param)=>{\n let [flightData, canonicalUrlOverride] = param;\n let isFirstRead = false;\n // we only want to mark this once\n if (!prefetchValues.lastUsedTime) {\n // important: we should only mark the cache node as dirty after we unsuspend from the call above\n prefetchValues.lastUsedTime = Date.now();\n isFirstRead = true;\n }\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return handleExternalUrl(state, mutable, flightData, pendingPush);\n }\n // Handles case where `<meta http-equiv=\"refresh\">` tag is present,\n // which will trigger an MPA navigation.\n if (document.getElementById(\"__next-page-redirect\")) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n let currentTree = state.tree;\n const currentCache = state.cache;\n let scrollableSegments = [];\n for (const flightDataPath of flightData){\n const flightSegmentPath = flightDataPath.slice(0, -4);\n // The one before last item is the router state tree patch\n const treePatch = flightDataPath.slice(-3)[0];\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n \"\",\n ...flightSegmentPath\n ];\n // Create new tree based on the flightSegmentPath and router state patch\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch, href);\n // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch\n // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch.\n if (newTree === null) {\n newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch, href);\n }\n if (newTree !== null) {\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n let applied = false;\n if (prefetchValues.status === _routerreducertypes.PrefetchCacheEntryStatus.stale && !isFirstRead) {\n // When we have a stale prefetch entry, we only want to re-use the loading state of the route we're navigating to, to support instant loading navigations\n // this will trigger a lazy fetch for the actual page data by nulling the `rsc` and `prefetchRsc` values for page data,\n // while copying over the `loading` for the segment that contains the page data.\n // We only do this on subsequent reads, as otherwise there'd be no loading data to re-use.\n applied = triggerLazyFetchForLeafSegments(cache, currentCache, flightSegmentPath, treePatch);\n // since we re-used the stale cache's loading state & refreshed the data,\n // update the `lastUsedTime` so that it can continue to be re-used for the next 30s\n prefetchValues.lastUsedTime = Date.now();\n } else {\n applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, prefetchValues);\n }\n const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree);\n if (hardNavigate) {\n // Copy rsc for the root node of the cache.\n cache.rsc = currentCache.rsc;\n cache.prefetchRsc = currentCache.prefetchRsc;\n (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath);\n // Ensure the existing cache value is used when the cache was not invalidated.\n mutable.cache = cache;\n } else if (applied) {\n mutable.cache = cache;\n }\n currentTree = newTree;\n for (const subSegment of generateSegmentsFromPatch(treePatch)){\n const scrollableSegmentPath = [\n ...flightSegmentPath,\n ...subSegment\n ];\n // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case.\n if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) {\n scrollableSegments.push(scrollableSegmentPath);\n }\n }\n }\n }\n mutable.patchedTree = currentTree;\n mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = scrollableSegments;\n mutable.hashFragment = hash;\n mutable.shouldScroll = shouldScroll;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\n// This is the experimental PPR implementation. It's closer to the behavior we\n// want, but is likelier to include accidental regressions because it rewrites\n// existing functionality.\nfunction navigateReducer_PPR(state, action) {\n const { url, isExternalUrl, navigateType, shouldScroll } = action;\n const mutable = {};\n const { hash } = url;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const pendingPush = navigateType === \"push\";\n // we want to prune the prefetch cache on every navigation to avoid it growing too large\n (0, _prefetchcacheutils.prunePrefetchCache)(state.prefetchCache);\n mutable.preserveCustomHistoryState = false;\n if (isExternalUrl) {\n return handleExternalUrl(state, mutable, url.toString(), pendingPush);\n }\n const prefetchValues = (0, _prefetchcacheutils.getOrCreatePrefetchCacheEntry)({\n url,\n nextUrl: state.nextUrl,\n tree: state.tree,\n buildId: state.buildId,\n prefetchCache: state.prefetchCache\n });\n const { treeAtTimeOfPrefetch, data } = prefetchValues;\n _prefetchreducer.prefetchQueue.bump(data);\n return data.then((param)=>{\n let [flightData, canonicalUrlOverride, _postponed] = param;\n let isFirstRead = false;\n // we only want to mark this once\n if (!prefetchValues.lastUsedTime) {\n // important: we should only mark the cache node as dirty after we unsuspend from the call above\n prefetchValues.lastUsedTime = Date.now();\n isFirstRead = true;\n }\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return handleExternalUrl(state, mutable, flightData, pendingPush);\n }\n // Handles case where `<meta http-equiv=\"refresh\">` tag is present,\n // which will trigger an MPA navigation.\n if (document.getElementById(\"__next-page-redirect\")) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n let currentTree = state.tree;\n const currentCache = state.cache;\n let scrollableSegments = [];\n // TODO: In practice, this is always a single item array. We probably\n // aren't going to every send multiple segments, at least not in this\n // format. So we could remove the extra wrapper for now until\n // that settles.\n for (const flightDataPath of flightData){\n const flightSegmentPath = flightDataPath.slice(0, -4);\n // The one before last item is the router state tree patch\n const treePatch = flightDataPath.slice(-3)[0];\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n \"\",\n ...flightSegmentPath\n ];\n // Create new tree based on the flightSegmentPath and router state patch\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch, href);\n // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch\n // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch.\n if (newTree === null) {\n newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch, href);\n }\n if (newTree !== null) {\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n if (// will always send back a static response that's rendered from\n // the root. If for some reason it doesn't, we fall back to the\n // non-PPR implementation.\n // TODO: We should get rid of the else branch and do all navigations\n // via updateCacheNodeOnNavigation. The current structure is just\n // an incremental step.\n flightDataPath.length === 3) {\n const prefetchedTree = flightDataPath[0];\n const seedData = flightDataPath[1];\n const head = flightDataPath[2];\n const task = (0, _pprnavigations.updateCacheNodeOnNavigation)(currentCache, currentTree, prefetchedTree, seedData, head);\n if (task !== null && task.node !== null) {\n // We've created a new Cache Node tree that contains a prefetched\n // version of the next page. This can be rendered instantly.\n // Use the tree computed by updateCacheNodeOnNavigation instead\n // of the one computed by applyRouterStatePatchToTree.\n // TODO: We should remove applyRouterStatePatchToTree\n // from the PPR path entirely.\n const patchedRouterState = task.route;\n newTree = patchedRouterState;\n const newCache = task.node;\n // The prefetched tree has dynamic holes in it. We initiate a\n // dynamic request to fill them in.\n //\n // Do not block on the result. We'll immediately render the Cache\n // Node tree and suspend on the dynamic parts. When the request\n // comes in, we'll fill in missing data and ping React to\n // re-render. Unlike the lazy fetching model in the non-PPR\n // implementation, this is modeled as a single React update +\n // streaming, rather than multiple top-level updates. (However,\n // even in the new model, we'll still need to sometimes update the\n // root multiple times per navigation, like if the server sends us\n // a different response than we expected. For now, we revert back\n // to the lazy fetching mechanism in that case.)\n (0, _pprnavigations.listenForDynamicRequest)(task, (0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId));\n mutable.cache = newCache;\n } else {\n // Nothing changed, so reuse the old cache.\n // TODO: What if the head changed but not any of the segment data?\n // Is that possible? If so, we should clone the whole tree and\n // update the head.\n newTree = prefetchedTree;\n }\n } else {\n // The static response does not include any dynamic holes, so\n // there's no need to do a second request.\n // TODO: As an incremental step this just reverts back to the\n // non-PPR implementation. We can simplify this branch further,\n // given that PPR prefetches are always static and return the whole\n // tree. Or in the meantime we could factor it out into a\n // separate function.\n const cache = (0, _approuter.createEmptyCacheNode)();\n let applied = false;\n if (prefetchValues.status === _routerreducertypes.PrefetchCacheEntryStatus.stale && !isFirstRead) {\n // When we have a stale prefetch entry, we only want to re-use the loading state of the route we're navigating to, to support instant loading navigations\n // this will trigger a lazy fetch for the actual page data by nulling the `rsc` and `prefetchRsc` values for page data,\n // while copying over the `loading` for the segment that contains the page data.\n // We only do this on subsequent reads, as otherwise there'd be no loading data to re-use.\n applied = triggerLazyFetchForLeafSegments(cache, currentCache, flightSegmentPath, treePatch);\n // since we re-used the stale cache's loading state & refreshed the data,\n // update the `lastUsedTime` so that it can continue to be re-used for the next 30s\n prefetchValues.lastUsedTime = Date.now();\n } else {\n applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, prefetchValues);\n }\n const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree);\n if (hardNavigate) {\n // Copy rsc for the root node of the cache.\n cache.rsc = currentCache.rsc;\n cache.prefetchRsc = currentCache.prefetchRsc;\n (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath);\n // Ensure the existing cache value is used when the cache was not invalidated.\n mutable.cache = cache;\n } else if (applied) {\n mutable.cache = cache;\n }\n }\n currentTree = newTree;\n for (const subSegment of generateSegmentsFromPatch(treePatch)){\n const scrollableSegmentPath = [\n ...flightSegmentPath,\n ...subSegment\n ];\n // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case.\n if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) {\n scrollableSegments.push(scrollableSegmentPath);\n }\n }\n }\n }\n mutable.patchedTree = currentTree;\n mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = scrollableSegments;\n mutable.hashFragment = hash;\n mutable.shouldScroll = shouldScroll;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigate-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL25hdmlnYXRlLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBaUNnQkEsbUJBQWlCO2VBQWpCQTs7SUFxRUhDLGlCQUFlO2VBQWZBOzs7aURBakd1QjsrQ0FDRjttRUFDb0I7eURBQ1Y7Z0RBQ1Q7eURBQ1M7Z0RBT3JDOzJDQUN1Qjs2Q0FDRTs2Q0FDRjt1Q0FDTztxQ0FDRDs0Q0FJN0I7Z0RBSUE7OERBQzBDO0FBRTFDLFNBQVNELGtCQUNkRSxLQUEyQixFQUMzQkMsT0FBZ0IsRUFDaEJDLEdBQVcsRUFDWEMsV0FBb0I7SUFFcEJGLFFBQVFHLGFBQWEsR0FBRztJQUN4QkgsUUFBUUksWUFBWSxHQUFHSDtJQUN2QkQsUUFBUUUsV0FBVyxHQUFHQTtJQUN0QkYsUUFBUUssa0JBQWtCLEdBQUdDO0lBRTdCLE9BQU9DLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ1IsT0FBT0M7QUFDOUI7QUFFQSxTQUFTUSwwQkFDUEMsaUJBQW9DO0lBRXBDLE1BQU1DLFdBQWdDLEVBQUU7SUFDeEMsTUFBTSxDQUFDQyxTQUFTQyxlQUFlLEdBQUdIO0lBRWxDLElBQUlJLE9BQU9DLElBQUksQ0FBQ0YsZ0JBQWdCRyxNQUFNLEtBQUssR0FBRztRQUM1QyxPQUFPO1lBQUM7Z0JBQUNKO2FBQVE7U0FBQztJQUNwQjtJQUVBLEtBQUssTUFBTSxDQUFDSyxrQkFBa0JDLGNBQWMsSUFBSUosT0FBT0ssT0FBTyxDQUM1RE4sZ0JBQ0M7UUFDRCxLQUFLLE1BQU1PLGdCQUFnQlgsMEJBQTBCUyxlQUFnQjtZQUNuRSxtRUFBbUU7WUFDbkUsSUFBSU4sWUFBWSxJQUFJO2dCQUNsQkQsU0FBU1UsSUFBSSxDQUFDO29CQUFDSjt1QkFBcUJHO2lCQUFhO1lBQ25ELE9BQU87Z0JBQ0xULFNBQVNVLElBQUksQ0FBQztvQkFBQ1Q7b0JBQVNLO3VCQUFx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MEYsV0FBVyxHQUFHcEI7UUFDdEJ0RSxRQUFRSSxZQUFZLEdBQUcyRCx1QkFDbkJqQixDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUNpQix3QkFDbEJsQjtRQUNKN0MsUUFBUUUsV0FBVyxHQUFHQTtRQUN0QkYsUUFBUUssa0JBQWtCLEdBQUdBO1FBQzdCTCxRQUFRMkYsWUFBWSxHQUFHL0M7UUFDdkI1QyxRQUFRMkMsWUFBWSxHQUFHQTtRQUV2QixPQUFPcEMsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDUixPQUFPQztJQUM5QixHQUNBLElBQU1EO0FBRVYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL25hdmlnYXRlLXJlZHVjZXIudHM/MWZlYiJdLCJuYW1lcyI6WyJoYW5kbGVFeHRlcm5hbFVybCIsIm5hdmlnYXRlUmVkdWNlciIsInN0YXRlIiwibXV0YWJsZSIsInVybCIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsImNhbm9uaWNhbFVybCIsInNjcm9sbGFibGVTZWdtZW50cyIsInVuZGVmaW5lZCIsImhhbmRsZU11dGFibGUiLCJnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoIiwiZmxpZ2h0Um91dGVyUGF0Y2giLCJzZWdtZW50cyIsInNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlcyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlS2V5IiwicGFyYWxsZWxSb3V0ZSIsImVudHJpZXMiLCJjaGlsZFNlZ21lbnQiLCJwdXNoIiwidHJpZ2dlckxhenlGZXRjaEZvckxlYWZTZWdtZW50cyIsIm5ld0NhY2hlIiwiY3VycmVudENhY2hlIiwiZmxpZ2h0U2VnbWVudFBhdGgiLCJ0cmVlUGF0Y2giLCJhcHBsaWVkUGF0Y2giLCJyc2MiLCJwcmVmZXRjaFJzYyIsImxvYWRpbmciLCJNYXAiLCJzZWdtZW50UGF0aHNUb0ZpbGwiLCJtYXAiLCJzZWdtZW50UGF0aHMiLCJjbGVhckNhY2hlTm9kZURhdGFGb3JTZWdtZW50UGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUFBSIiwibmF2aWdhdGVSZWR1Y2VyX1BQUiIsIm5hdmlnYXRlUmVkdWNlcl9ub1BQUiIsImFjdGlvbiIsImlzRXh0ZXJuYWxVcmwiLCJuYXZpZ2F0ZVR5cGUiLCJzaG91bGRTY3JvbGwiLCJoYXNoIiwiaHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwicHJ1bmVQcmVmZXRjaENhY2hlIiwicHJlZmV0Y2hDYWNoZSIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwidG9TdHJpbmciLCJwcmVmZXRjaFZhbHVlcyIsImdldE9yQ3JlYXRlUHJlZmV0Y2hDYWNoZUVudHJ5IiwibmV4dFVybCIsInRyZWUiLCJidWlsZElkIiwidHJlZUF0VGltZU9mUHJlZmV0Y2giLCJkYXRhIiwicHJlZmV0Y2hRdWV1ZSIsImJ1bXAiLCJ0aGVuIiwicGFyYW0iLCJmbGlnaHREYXRhIiwiY2Fub25pY2FsVXJsT3ZlcnJpZGUiLCJpc0ZpcnN0UmVhZCIsImxhc3RVc2VkVGltZSIsIkRhdGUiLCJub3ciLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY3VycmVudFRyZWUiLCJjYWNoZSIsImZsaWdodERhdGFQYXRoIiwic2xpY2UiLCJmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHkiLCJuZXdUcmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlIiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJhcHBsaWVkIiwic3RhdHVzIiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwic3RhbGUiLCJhcHBseUZsaWdodERhdGEiLCJoYXJkTmF2aWdhdGUiLCJzaG91bGRIYXJkTmF2aWdhdGUiLCJpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoIiwic3ViU2VnbWVudCIsInNjcm9sbGFibGVTZWdtZW50UGF0aCIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJwYXRjaGVkVHJlZSIsImhhc2hGcmFnbWVudCIsIl9wb3N0cG9uZWQiLCJwcmVmZXRjaGVkVHJlZSIsInNlZWREYXRhIiwiaGVhZCIsInRhc2siLCJ1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24iLCJub2RlIiwicGF0Y2hlZFJvdXRlclN0YXRlIiwicm91dGUiLCJsaXN0ZW5Gb3JEeW5hbWljUmVxdWVzdCIsImZldGNoU2VydmVyUmVzcG9uc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js ***! - \**********************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n prefetchQueue: function() {\n return prefetchQueue;\n },\n prefetchReducer: function() {\n return prefetchReducer;\n }\n});\nconst _approuterheaders = __webpack_require__(/*! ../../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _promisequeue = __webpack_require__(/*! ../../promise-queue */ \"(ssr)/./node_modules/next/dist/client/components/promise-queue.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ../prefetch-cache-utils */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst prefetchQueue = new _promisequeue.PromiseQueue(5);\nfunction prefetchReducer(state, action) {\n // let's prune the prefetch cache before we do anything else\n (0, _prefetchcacheutils.prunePrefetchCache)(state.prefetchCache);\n const { url } = action;\n url.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n (0, _prefetchcacheutils.getOrCreatePrefetchCacheEntry)({\n url,\n nextUrl: state.nextUrl,\n prefetchCache: state.prefetchCache,\n kind: action.kind,\n tree: state.tree,\n buildId: state.buildId\n });\n return state;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=prefetch-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3ByZWZldGNoLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBWWFBLGVBQWE7ZUFBYkE7O0lBRUdDLGlCQUFlO2VBQWZBOzs7OENBVHFCOzBDQUNSO2dEQUl0QjtBQUVBLE1BQU1ELGdCQUFnQixJQUFJRSxjQUFBQSxZQUFZLENBQUM7QUFFdkMsU0FBU0QsZ0JBQ2RFLEtBQTJCLEVBQzNCQyxNQUFzQjtJQUV0Qiw0REFBNEQ7SUFDNURDLENBQUFBLEdBQUFBLG9CQUFBQSxrQkFBa0IsRUFBQ0YsTUFBTUcsYUFBYTtJQUV0QyxNQUFNLEVBQUVDLEdBQUcsRUFBRSxHQUFHSDtJQUNoQkcsSUFBSUMsWUFBWSxDQUFDQyxNQUFNLENBQUNDLGtCQUFBQSxvQkFBb0I7SUFFNUNDLENBQUFBLEdBQUFBLG9CQUFBQSw2QkFBNkIsRUFBQztRQUM1Qko7UUFDQUssU0FBU1QsTUFBTVMsT0FBTztRQUN0Qk4sZUFBZUgsTUFBTUcsYUFBYTtRQUNsQ08sTUFBTVQsT0FBT1MsSUFBSTtRQUNqQkMsTUFBTVgsTUFBTVcsSUFBSTtRQUNoQkMsU0FBU1osTUFBTVksT0FBTztJQUN4QjtJQUVBLE9BQU9aO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3ByZWZldGNoLXJlZHVjZXIudHM/NDViZiJdLCJuYW1lcyI6WyJwcmVmZXRjaFF1ZXVlIiwicHJlZmV0Y2hSZWR1Y2VyIiwiUHJvbWlzZVF1ZXVlIiwic3RhdGUiLCJhY3Rpb24iLCJwcnVuZVByZWZldGNoQ2FjaGUiLCJwcmVmZXRjaENhY2hlIiwidXJsIiwic2VhcmNoUGFyYW1zIiwiZGVsZXRlIiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJnZXRPckNyZWF0ZVByZWZldGNoQ2FjaGVFbnRyeSIsIm5leHRVcmwiLCJraW5kIiwidHJlZSIsImJ1aWxkSWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js ***! - \*********************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"refreshReducer\", ({\n enumerable: true,\n get: function() {\n return refreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./has-interception-route-in-current-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ../refetch-inactive-parallel-segments */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\nfunction refreshReducer(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // If the current tree was intercepted, the nextUrl should be included in the request.\n // This is to ensure that the refresh request doesn't get intercepted, accidentally triggering the interception route.\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(state.tree);\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [\n currentTree[0],\n currentTree[1],\n currentTree[2],\n \"refetch\"\n ], includeNextUrl ? state.nextUrl : null, state.buildId);\n return cache.lazyData.then(async (param)=>{\n let [flightData, canonicalUrlOverride] = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"REFRESH FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n \"\"\n ], currentTree, treePatch, state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n // The one before last item is the router state tree patch\n const [cacheNodeSeedData, head] = flightDataPath.slice(-2);\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (cacheNodeSeedData !== null) {\n const rsc = cacheNodeSeedData[2];\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head);\n mutable.prefetchCache = new Map();\n }\n await (0, _refetchinactiveparallelsegments.refreshInactiveParallelSegments)({\n state,\n updatedTree: newTree,\n updatedCache: cache,\n includeNextUrl\n });\n mutable.cache = cache;\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=refresh-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3JlZnJlc2gtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQW1CZ0JBOzs7ZUFBQUE7OztpREFuQm9COytDQUNGO3lEQUNVO3lEQUNBOzZDQU9WOzJDQUNKOzJEQUVnQjt1Q0FDVDttREFDQzsrREFDWTs2REFDRjtBQUV6QyxTQUFTQSxlQUNkQyxLQUEyQixFQUMzQkMsTUFBcUI7SUFFckIsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0Q7SUFDbkIsTUFBTUUsVUFBbUIsQ0FBQztJQUMxQixNQUFNQyxPQUFPSixNQUFNSyxZQUFZO0lBRS9CLElBQUlDLGNBQWNOLE1BQU1PLElBQUk7SUFFNUJKLFFBQVFLLDBCQUEwQixHQUFHO0lBRXJDLE1BQU1DLFFBQW1CQyxDQUFBQSxHQUFBQSxXQUFBQSxvQkFBb0I7SUFFN0Msc0ZBQXNGO0lBQ3RGLHNIQUFzSDtJQUN0SCxNQUFNQyxpQkFBaUJDLENBQUFBLEdBQUFBLG1DQUFBQSxpQ0FBaUMsRUFBQ1osTUFBTU8sSUFBSTtJQUVuRSx1REFBdUQ7SUFDdkQsd0NBQXdDO0lBQ3hDRSxNQUFNSSxRQUFRLEdBQUdDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFDbEMsSUFBSUMsSUFBSVgsTUFBTUYsU0FDZDtRQUFDSSxXQUFXLENBQUMsRUFBRTtRQUFFQSxXQUFXLENBQUMsRUFBRTtRQUFFQSxXQUFXLENBQUMsRUFBRTtRQUFFO0tBQVUsRUFDM0RLLGlCQUFpQlgsTUFBTWdCLE9BQU8sR0FBRyxNQUNqQ2hCLE1BQU1pQixPQUFPO0lBR2YsT0FBT1IsTUFBTUksUUFBUSxDQUFDSyxJQUFJLENBQ3hCLE9BQUFDO1lBQU8sQ0FBQ0MsWUFBWUMscUJBQXFCLEdBQUFGO1FBQ3ZDLDREQUE0RDtRQUM1RCxJQUFJLE9BQU9DLGVBQWUsVUFBVTtZQUNsQyxPQUFPRSxDQUFBQSxHQUFBQSxpQkFBQUEsaUJBQWlCLEVBQ3RCdEIsT0FDQUcsU0FDQWlCLFlBQ0FwQixNQUFNdUIsT0FBTyxDQUFDQyxXQUFXO1FBRTdCO1FBRUEsK0RBQStEO1FBQy9EZixNQUFNSSxRQUFRLEdBQUc7UUFFakIsS0FBSyxNQUFNWSxrQkFBa0JMLFdBQVk7WUFDdkMsb0ZBQW9GO1lBQ3BGLElBQUlLLGVBQWVDLE1BQU0sS0FBSyxHQUFHO2dCQUMvQixvQ0FBb0M7Z0JBQ3BDQyxRQUFRQyxHQUFHLENBQUM7Z0JBQ1osT0FBTzVCO1lBQ1Q7WUFFQSxtR0FBbUc7WUFDbkcsTUFBTSxDQUFDNkIsVUFBVSxHQUFHSjtZQUNwQixNQUFNSyxVQUFVQyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBRXpDO2dCQUFDO2FBQUcsRUFDSnpCLGFBQ0F1QixXQUNBN0IsTUFBTUssWUFBWTtZQUdwQixJQUFJeUIsWUFBWSxNQUFNO2dCQUNwQixPQUFPRSxDQUFBQSxHQUFBQSx1QkFBQUEscUJBQXFCLEVBQUNoQyxPQUFPQyxRQUFRNEI7WUFDOUM7WUFFQSxJQUFJSSxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQUMzQixhQUFhd0IsVUFBVTtnQkFDckQsT0FBT1IsQ0FBQUEsR0FBQUEsaUJBQUFBLGlCQUFpQixFQUN0QnRCLE9BQ0FHLFNBQ0FDLE1BQ0FKLE1BQU11QixPQUFPLENBQUNDLFdBQVc7WUFFN0I7WUFFQSxNQUFNVSwyQkFBMkJiLHVCQUM3QmMsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDZCx3QkFDbEJlO1lBRUosSUFBSWYsc0JBQXNCO2dCQUN4QmxCLFFBQVFFLFlBQVksR0FBRzZCO1lBQ3pCO1lBRUEsMERBQTBEO1lBQzFELE1BQU0sQ0FBQ0csbUJBQW1CQyxLQUFLLEdBQUdiLGVBQWVjLEtBQUssQ0FBQyxDQUFDO1lBRXhELDhGQUE4RjtZQUM5RixJQUFJRixzQkFBc0IsTUFBTTtnQkFDOUIsTUFBTUcsTUFBTUgsaUJBQWlCLENBQUMsRUFBRTtnQkFDaEM1QixNQUFNK0IsR0FBRyxHQUFHQTtnQkFDWi9CLE1BQU1nQyxXQUFXLEdBQUc7Z0JBQ3BCQyxDQUFBQSxHQUFBQSwrQkFBQUEsNkJBQTZCLEVBQzNCakMsT0FFQTJCLFdBQ0FQLFdBQ0FRLG1CQUNBQztnQkFFRm5DLFFBQVF3QyxhQUFhLEdBQUcsSUFBSUM7WUFDOUI7WUFFQSxNQUFNQyxDQUFBQSxHQUFBQSxpQ0FBQUEsK0JBQStCLEVBQUM7Z0JBQ3BDN0M7Z0JBQ0E4QyxhQUFhaEI7Z0JBQ2JpQixjQUFjdEM7Z0JBQ2RFO1lBQ0Y7WUFFQVIsUUFBUU0sS0FBSyxHQUFHQTtZQUNoQk4sUUFBUTZDLFdBQVcsR0FBR2xCO1lBQ3RCM0IsUUFBUUUsWUFBWSxHQUFHRDtZQUV2QkUsY0FBY3dCO1FBQ2hCO1FBRUEsT0FBT21CLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ2pELE9BQU9HO0lBQzlCLEdBQ0EsSUFBTUg7QUFFViIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcmVmcmVzaC1yZWR1Y2VyLnRzP2I1ZTciXSwibmFtZXMiOlsicmVmcmVzaFJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsIm9yaWdpbiIsIm11dGFibGUiLCJocmVmIiwiY2Fub25pY2FsVXJsIiwiY3VycmVudFRyZWUiLCJ0cmVlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJjYWNoZSIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwiaW5jbHVkZU5leHRVcmwiLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLCJsYXp5RGF0YSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJVUkwiLCJuZXh0VXJsIiwiYnVpbGRJZCIsInRoZW4iLCJwYXJhbSIsImZsaWdodERhdGEiLCJjYW5vbmljYWxVcmxPdmVycmlkZSIsImhhbmRsZUV4dGVybmFsVXJsIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwiZmxpZ2h0RGF0YVBhdGgiLCJsZW5ndGgiLCJjb25zb2xlIiwibG9nIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSIsImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidW5kZWZpbmVkIiwiY2FjaGVOb2RlU2VlZERhdGEiLCJoZWFkIiwic2xpY2UiLCJyc2MiLCJwcmVmZXRjaFJzYyIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwicHJlZmV0Y2hDYWNoZSIsIk1hcCIsInJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHMiLCJ1cGRhdGVkVHJlZSIsInVwZGF0ZWRDYWNoZSIsInBhdGNoZWRUcmVlIiwiaGFuZGxlTXV0YWJsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js ***! - \*********************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"restoreReducer\", ({\n enumerable: true,\n get: function() {\n return restoreReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _computechangedpath = __webpack_require__(/*! ../compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nfunction restoreReducer(state, action) {\n const { url, tree } = action;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n // This action is used to restore the router state from the history state.\n // However, it's possible that the history state no longer contains the `FlightRouterState`.\n // We will copy over the internal state on pushState/replaceState events, but if a history entry\n // occurred before hydration, or if the user navigated to a hash using a regular anchor link,\n // the history state will not contain the `FlightRouterState`.\n // In this case, we'll continue to use the existing tree so the router doesn't get into an invalid state.\n const treeToRestore = tree || state.tree;\n const oldCache = state.cache;\n const newCache = false ? // prevents an unnecessary flash back to PPR state during a\n // back/forward navigation.\n 0 : oldCache;\n var _extractPathFromFlightRouterState;\n return {\n buildId: state.buildId,\n // Set canonical url\n canonicalUrl: href,\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // Ensures that the custom history state that was set is preserved when applying this update.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: state.focusAndScrollRef,\n cache: newCache,\n prefetchCache: state.prefetchCache,\n // Restore provided tree\n tree: treeToRestore,\n nextUrl: (_extractPathFromFlightRouterState = (0, _computechangedpath.extractPathFromFlightRouterState)(treeToRestore)) != null ? _extractPathFromFlightRouterState : url.pathname\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=restore-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3Jlc3RvcmUtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVNnQkE7OztlQUFBQTs7OytDQVRrQjtnREFNZTs0Q0FDSTtBQUU5QyxTQUFTQSxlQUNkQyxLQUEyQixFQUMzQkMsTUFBcUI7SUFFckIsTUFBTSxFQUFFQyxHQUFHLEVBQUVDLElBQUksRUFBRSxHQUFHRjtJQUN0QixNQUFNRyxPQUFPQyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUNIO0lBQy9CLDBFQUEwRTtJQUMxRSw0RkFBNEY7SUFDNUYsZ0dBQWdHO0lBQ2hHLDZGQUE2RjtJQUM3Riw4REFBOEQ7SUFDOUQseUdBQXlHO0lBQ3pHLE1BQU1JLGdCQUFnQkgsUUFBUUgsTUFBTUcsSUFBSTtJQUV4QyxNQUFNSSxXQUFXUCxNQUFNUSxLQUFLO0lBQzVCLE1BQU1DLFdBQVdDLE1BQXNCLEdBS25DRywyREFGMkQ7SUFDM0QsMkJBQTJCO0lBQzNCQSxDQUErQ1AsR0FDL0NDO1FBaUJPTztJQWZYLE9BQU87UUFDTEMsU0FBU2YsTUFBTWUsT0FBTztRQUN0QixvQkFBb0I7UUFDcEJDLGNBQWNaO1FBQ2RhLFNBQVM7WUFDUEMsYUFBYTtZQUNiQyxlQUFlO1lBQ2YsNkZBQTZGO1lBQzdGQyw0QkFBNEI7UUFDOUI7UUFDQUMsbUJBQW1CckIsTUFBTXFCLGlCQUFpQjtRQUMxQ2IsT0FBT0M7UUFDUGEsZUFBZXRCLE1BQU1zQixhQUFhO1FBQ2xDLHdCQUF3QjtRQUN4Qm5CLE1BQU1HO1FBQ05pQixTQUFTVCxDQUFBQSxvQ0FBQUEsQ0FBQUEsR0FBQUEsb0JBQUFBLGdDQUFnQyxFQUFDUixjQUFBQSxLQUFBQSxPQUFqQ1Esb0NBQW1EWixJQUFJc0IsUUFBUTtJQUMxRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9yZXN0b3JlLXJlZHVjZXIudHM/YWU1NiJdLCJuYW1lcyI6WyJyZXN0b3JlUmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwidXJsIiwidHJlZSIsImhyZWYiLCJjcmVhdGVIcmVmRnJvbVVybCIsInRyZWVUb1Jlc3RvcmUiLCJvbGRDYWNoZSIsImNhY2hlIiwibmV3Q2FjaGUiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1BQUiIsInVwZGF0ZUNhY2hlTm9kZU9uUG9wc3RhdGVSZXN0b3JhdGlvbiIsImV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlIiwiYnVpbGRJZCIsImNhbm9uaWNhbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsIm1wYU5hdmlnYXRpb24iLCJwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSIsImZvY3VzQW5kU2Nyb2xsUmVmIiwicHJlZmV0Y2hDYWNoZSIsIm5leHRVcmwiLCJwYXRobmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js ***! - \***************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverActionReducer\", ({\n enumerable: true,\n get: function() {\n return serverActionReducer;\n }\n}));\nconst _appcallserver = __webpack_require__(/*! ../../../app-call-server */ \"(ssr)/./node_modules/next/dist/client/app-call-server.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _addbasepath = __webpack_require__(/*! ../../../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./has-interception-route-in-current-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ../refetch-inactive-parallel-segments */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\n// // eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromFetch } from 'react-server-dom-webpack/client'\n// // eslint-disable-next-line import/no-extraneous-dependencies\n// import { encodeReply } from 'react-server-dom-webpack/client'\nconst { createFromFetch, encodeReply } = true ? __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\") : 0;\nasync function fetchServerAction(state, nextUrl, param) {\n let { actionId, actionArgs } = param;\n const body = await encodeReply(actionArgs);\n const res = await fetch(\"\", {\n method: \"POST\",\n headers: {\n Accept: _approuterheaders.RSC_CONTENT_TYPE_HEADER,\n [_approuterheaders.ACTION]: actionId,\n [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(state.tree)),\n ... false ? 0 : {},\n ...nextUrl ? {\n [_approuterheaders.NEXT_URL]: nextUrl\n } : {}\n },\n body\n });\n const location = res.headers.get(\"x-action-redirect\");\n let revalidatedParts;\n try {\n const revalidatedHeader = JSON.parse(res.headers.get(\"x-action-revalidated\") || \"[[],0,0]\");\n revalidatedParts = {\n paths: revalidatedHeader[0] || [],\n tag: !!revalidatedHeader[1],\n cookie: revalidatedHeader[2]\n };\n } catch (e) {\n revalidatedParts = {\n paths: [],\n tag: false,\n cookie: false\n };\n }\n const redirectLocation = location ? new URL((0, _addbasepath.addBasePath)(location), new URL(state.canonicalUrl, window.location.href)) : undefined;\n let isFlightResponse = res.headers.get(\"content-type\") === _approuterheaders.RSC_CONTENT_TYPE_HEADER;\n if (isFlightResponse) {\n const response = await createFromFetch(Promise.resolve(res), {\n callServer: _appcallserver.callServer\n });\n if (location) {\n // if it was a redirection, then result is just a regular RSC payload\n const [, actionFlightData] = response != null ? response : [];\n return {\n actionFlightData: actionFlightData,\n redirectLocation,\n revalidatedParts\n };\n }\n // otherwise it's a tuple of [actionResult, actionFlightData]\n const [actionResult, [, actionFlightData]] = response != null ? response : [];\n return {\n actionResult,\n actionFlightData,\n redirectLocation,\n revalidatedParts\n };\n }\n return {\n redirectLocation,\n revalidatedParts\n };\n}\nfunction serverActionReducer(state, action) {\n const { resolve, reject } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n // only pass along the `nextUrl` param (used for interception routes) if the current route was intercepted.\n // If the route has been intercepted, the action should be as well.\n // Otherwise the server action might be intercepted with the wrong action id\n // (ie, one that corresponds with the intercepted route)\n const nextUrl = state.nextUrl && (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(state.tree) ? state.nextUrl : null;\n mutable.inFlightServerAction = fetchServerAction(state, nextUrl, action);\n return mutable.inFlightServerAction.then(async (param)=>{\n let { actionResult, actionFlightData: flightData, redirectLocation } = param;\n // Make sure the redirection is a push instead of a replace.\n // Issue: https://github.com/vercel/next.js/issues/53911\n if (redirectLocation) {\n state.pushRef.pendingPush = true;\n mutable.pendingPush = true;\n }\n if (!flightData) {\n resolve(actionResult);\n // If there is a redirect but no flight data we need to do a mpaNavigation.\n if (redirectLocation) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, redirectLocation.href, state.pushRef.pendingPush);\n }\n return state;\n }\n if (typeof flightData === \"string\") {\n // Handle case when navigating to page in `pages` from `app`\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.data as it has been resolved at this point.\n mutable.inFlightServerAction = null;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"SERVER ACTION APPLY FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n \"\"\n ], currentTree, treePatch, redirectLocation ? (0, _createhreffromurl.createHrefFromUrl)(redirectLocation) : state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n // The one before last item is the router state tree patch\n const [cacheNodeSeedData, head] = flightDataPath.slice(-2);\n const rsc = cacheNodeSeedData !== null ? cacheNodeSeedData[2] : null;\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (rsc !== null) {\n const cache = (0, _approuter.createEmptyCacheNode)();\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head);\n await (0, _refetchinactiveparallelsegments.refreshInactiveParallelSegments)({\n state,\n updatedTree: newTree,\n updatedCache: cache,\n includeNextUrl: Boolean(nextUrl)\n });\n mutable.cache = cache;\n mutable.prefetchCache = new Map();\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n if (redirectLocation) {\n const newHref = (0, _createhreffromurl.createHrefFromUrl)(redirectLocation, false);\n mutable.canonicalUrl = newHref;\n }\n resolve(actionResult);\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, (e)=>{\n // When the server action is rejected we don't update the state and instead call the reject handler of the promise.\n reject(e);\n return state;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=server-action-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3NlcnZlci1hY3Rpb24tcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7O3VEQW9KZ0JBOzs7ZUFBQUE7OzsyQ0EvSVc7OENBTXBCO3lDQW1CcUI7K0NBQ007NkNBQ0E7eURBQ1U7eURBQ0E7MkNBRWQ7MkRBQ2dCO3VDQUNUOytEQUNhO21EQUNaOzZEQUNVO0FBN0JoRCxnRUFBZ0U7QUFDaEUsb0VBQW9FO0FBQ3BFLGdFQUFnRTtBQUNoRSxnRUFBZ0U7QUFDaEUsTUFBTSxFQUFFQyxlQUFlLEVBQUVDLFdBQVcsRUFBRSxHQUNwQyxLQUEwQixHQUV0QkksbUJBQUFBLENBQVEsMEtBRVJBLENBQVE7QUFpQ2QsZUFBZUMsa0JBQ2JDLEtBQTJCLEVBQzNCQyxPQUF3QyxFQUN4Q0MsS0FBNEM7SUFBNUMsTUFBRUMsUUFBUSxFQUFFQyxVQUFVLEVBQXNCLEdBQTVDRjtJQUVBLE1BQU1HLE9BQU8sTUFBTVgsWUFBWVU7SUFFL0IsTUFBTUUsTUFBTSxNQUFNQyxNQUFNLElBQUk7UUFDMUJDLFFBQVE7UUFDUkMsU0FBUztZQUNQQyxRQUFRQyxrQkFBQUEsdUJBQXVCO1lBQy9CLENBQUNDLGtCQUFBQSxNQUFNLENBQUMsRUFBRVQ7WUFDVixDQUFDVSxrQkFBQUEsc0JBQXNCLENBQUMsRUFBRUMsbUJBQW1CQyxLQUFLQyxTQUFTLENBQUNoQixNQUFNaUIsSUFBSTtZQUN0RSxHQUFJdEIsTUFBOEIsR0FDOUIsQ0FFQSxHQUNBLENBQUMsQ0FBQztZQUNOLEdBQUlNLFVBQ0E7Z0JBQ0UsQ0FBQ2tCLGtCQUFBQSxRQUFRLENBQUMsRUFBRWxCO1lBQ2QsSUFDQSxDQUFDLENBQUM7UUFDUjtRQUNBSTtJQUNGO0lBRUEsTUFBTWUsV0FBV2QsSUFBSUcsT0FBTyxDQUFDWSxHQUFHLENBQUM7SUFDakMsSUFBSUM7SUFDSixJQUFJO1FBQ0YsTUFBTUMsb0JBQW9C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LE9BRUFsQyxXQUNBd0IsV0FDQU0sbUJBQ0FDO2dCQUdGLE1BQU1PLENBQUFBLEdBQUFBLGlDQUFBQSwrQkFBK0IsRUFBQztvQkFDcEN6RTtvQkFDQTBFLGFBQWFkO29CQUNiZSxjQUFjTjtvQkFDZE8sZ0JBQWdCQyxRQUFRNUU7Z0JBQzFCO2dCQUVBNEMsUUFBUXdCLEtBQUssR0FBR0E7Z0JBQ2hCeEIsUUFBUWlDLGFBQWEsR0FBRyxJQUFJQztZQUM5QjtZQUVBbEMsUUFBUW1DLFdBQVcsR0FBR3BCO1lBQ3RCZixRQUFRYixZQUFZLEdBQUdFO1lBRXZCWSxjQUFjYztRQUNoQjtRQUVBLElBQUkvQixrQkFBa0I7WUFDcEIsTUFBTW9ELFVBQVVuQixDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUNqQyxrQkFBa0I7WUFDcERnQixRQUFRYixZQUFZLEdBQUdpRDtRQUN6QjtRQUVBMUMsUUFBUUc7UUFFUixPQUFPd0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDbEYsT0FBTzZDO0lBQzlCLEdBQ0EsQ0FBQ2pCO1FBQ0MsbUhBQW1IO1FBQ25IZ0IsT0FBT2hCO1FBRVAsT0FBTzVCO0lBQ1Q7QUFFSiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvc2VydmVyLWFjdGlvbi1yZWR1Y2VyLnRzP2NmMTIiXSwibmFtZXMiOlsic2VydmVyQWN0aW9uUmVkdWNlciIsImNyZWF0ZUZyb21GZXRjaCIsImVuY29kZVJlcGx5IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsInJlcXVpcmUiLCJmZXRjaFNlcnZlckFjdGlvbiIsInN0YXRlIiwibmV4dFVybCIsInBhcmFtIiwiYWN0aW9uSWQiLCJhY3Rpb25BcmdzIiwiYm9keSIsInJlcyIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsIkFjY2VwdCIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiQUNUSU9OIiwiTkVYVF9ST1VURVJfU1RBVEVfVFJFRSIsImVuY29kZVVSSUNvbXBvbmVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0cmVlIiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiTkVYVF9VUkwiLCJsb2NhdGlvbiIsImdldCIsInJldmFsaWRhdGVkUGFydHMiLCJyZXZhbGlkYXRlZEhlYWRlciIsInBhcnNlIiwicGF0aHMiLCJ0YWciLCJjb29raWUiLCJlIiwicmVkaXJlY3RMb2NhdGlvbiIsIlVSTCIsImFkZEJhc2VQYXRoIiwiY2Fub25pY2FsVXJsIiwid2luZG93IiwiaHJlZiIsInVuZGVmaW5lZCIsImlzRmxpZ2h0UmVzcG9uc2UiLCJyZXNwb25zZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiY2FsbFNlcnZlciIsImFjdGlvbkZsaWdodERhdGEiLCJhY3Rpb25SZXN1bHQiLCJhY3Rpb24iLCJyZWplY3QiLCJtdXRhYmxlIiwiY3VycmVudFRyZWUiLCJwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSIsImhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSIsImluRmxpZ2h0U2VydmVyQWN0aW9uIiwidGhlbiIsImZsaWdodERhdGEiLCJwdXNoUmVmIiwicGVuZGluZ1B1c2giLCJoYW5kbGVFeHRlcm5hbFVybCIsImZsaWdodERhdGFQYXRoIiwibGVuZ3RoIiwiY29uc29sZSIsImxvZyIsInRyZWVQYXRjaCIsIm5ld1RyZWUiLCJhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWUiLCJjcmVhdGVIcmVmRnJvbVVybCIsImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhY2hlTm9kZVNlZWREYXRhIiwiaGVhZCIsInNsaWNlIiwicnNjIiwiY2FjaGUiLCJjcmVhdGVFbXB0eUNhY2hlTm9kZSIsInByZWZldGNoUnNjIiwiZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQiLCJyZWZyZXNoSW5hY3RpdmVQYXJhbGxlbFNlZ21lbnRzIiwidXBkYXRlZFRyZWUiLCJ1cGRhdGVkQ2FjaGUiLCJpbmNsdWRlTmV4dFVybCIsIkJvb2xlYW4iLCJwcmVmZXRjaENhY2hlIiwiTWFwIiwicGF0Y2hlZFRyZWUiLCJuZXdIcmVmIiwiaGFuZGxlTXV0YWJsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js": -/*!**************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js ***! - \**************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverPatchReducer\", ({\n enumerable: true,\n get: function() {\n return serverPatchReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nfunction serverPatchReducer(state, action) {\n const { serverResponse } = action;\n const [flightData, overrideCanonicalUrl] = serverResponse;\n const mutable = {};\n mutable.preserveCustomHistoryState = false;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const flightDataPath of flightData){\n // Slices off the last segment (which is at -4) as it doesn't exist in the tree yet\n const flightSegmentPath = flightDataPath.slice(0, -4);\n const [treePatch] = flightDataPath.slice(-3, -2);\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n \"\",\n ...flightSegmentPath\n ], currentTree, treePatch, state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, state.canonicalUrl, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = overrideCanonicalUrl ? (0, _createhreffromurl.createHrefFromUrl)(overrideCanonicalUrl) : undefined;\n if (canonicalUrlOverrideHref) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath);\n mutable.patchedTree = newTree;\n mutable.cache = cache;\n currentCache = cache;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=server-patch-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3NlcnZlci1wYXRjaC1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBZ0JnQkE7OztlQUFBQTs7OytDQWhCa0I7eURBQ1U7eURBQ0E7NkNBT1Y7NkNBQ0Y7MkNBQ0Y7dUNBRU87bURBQ0M7QUFFL0IsU0FBU0EsbUJBQ2RDLEtBQTJCLEVBQzNCQyxNQUF5QjtJQUV6QixNQUFNLEVBQUVDLGNBQWMsRUFBRSxHQUFHRDtJQUMzQixNQUFNLENBQUNFLFlBQVlDLHFCQUFxQixHQUFHRjtJQUUzQyxNQUFNRyxVQUFtQixDQUFDO0lBRTFCQSxRQUFRQywwQkFBMEIsR0FBRztJQUVyQyw0REFBNEQ7SUFDNUQsSUFBSSxPQUFPSCxlQUFlLFVBQVU7UUFDbEMsT0FBT0ksQ0FBQUEsR0FBQUEsaUJBQUFBLGlCQUFpQixFQUN0QlAsT0FDQUssU0FDQUYsWUFDQUgsTUFBTVEsT0FBTyxDQUFDQyxXQUFXO0lBRTdCO0lBRUEsSUFBSUMsY0FBY1YsTUFBTVcsSUFBSTtJQUM1QixJQUFJQyxlQUFlWixNQUFNYSxLQUFLO0lBRTlCLEtBQUssTUFBTUMsa0JBQWtCWCxXQUFZO1FBQ3ZDLG1GQUFtRjtRQUNuRixNQUFNWSxvQkFBb0JELGVBQWVFLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFFbkQsTUFBTSxDQUFDQyxVQUFVLEdBQUdILGVBQWVFLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM5QyxNQUFNRSxVQUFVQyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBRXpDO1lBQUM7ZUFBT0o7U0FBa0IsRUFDMUJMLGFBQ0FPLFdBQ0FqQixNQUFNb0IsWUFBWTtRQUdwQixJQUFJRixZQUFZLE1BQU07WUFDcEIsT0FBT0csQ0FBQUEsR0FBQUEsdUJBQUFBLHFCQUFxQixFQUFDckIsT0FBT0MsUUFBUWdCO1FBQzlDO1FBRUEsSUFBSUssQ0FBQUEsR0FBQUEsNkJBQUFBLDJCQUEyQixFQUFDWixhQUFhUSxVQUFVO1lBQ3JELE9BQU9YLENBQUFBLEdBQUFBLGlCQUFBQSxpQkFBaUIsRUFDdEJQLE9BQ0FLLFNBQ0FMLE1BQU1vQixZQUFZLEVBQ2xCcEIsTUFBTVEsT0FBTyxDQUFDQyxXQUFXO1FBRTdCO1FBRUEsTUFBTWMsMkJBQTJCbkIsdUJBQzdCb0IsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDcEIsd0JBQ2xCcUI7UUFFSixJQUFJRiwwQkFBMEI7WUFDNUJsQixRQUFRZSxZQUFZLEdBQUdHO1FBQ3pCO1FBRUEsTUFBTVYsUUFBbUJhLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQjtRQUM3Q0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFBQ2YsY0FBY0MsT0FBT0M7UUFFckNULFFBQVF1QixXQUFXLEdBQUdWO1FBQ3RCYixRQUFRUSxLQUFLLEdBQUdBO1FBRWhCRCxlQUFlQztRQUNmSCxjQUFjUTtJQUNoQjtJQUVBLE9BQU9XLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQzdCLE9BQU9LO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9zZXJ2ZXItcGF0Y2gtcmVkdWNlci50cz85MTFlIl0sIm5hbWVzIjpbInNlcnZlclBhdGNoUmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwic2VydmVyUmVzcG9uc2UiLCJmbGlnaHREYXRhIiwib3ZlcnJpZGVDYW5vbmljYWxVcmwiLCJtdXRhYmxlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJoYW5kbGVFeHRlcm5hbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsImN1cnJlbnRUcmVlIiwidHJlZSIsImN1cnJlbnRDYWNoZSIsImNhY2hlIiwiZmxpZ2h0RGF0YVBhdGgiLCJmbGlnaHRTZWdtZW50UGF0aCIsInNsaWNlIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSIsImNhbm9uaWNhbFVybCIsImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidW5kZWZpbmVkIiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJhcHBseUZsaWdodERhdGEiLCJwYXRjaGVkVHJlZSIsImhhbmRsZU11dGFibGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js ***! - \*******************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n addRefreshMarkerToActiveParallelSegments: function() {\n return addRefreshMarkerToActiveParallelSegments;\n },\n refreshInactiveParallelSegments: function() {\n return refreshInactiveParallelSegments;\n }\n});\nconst _applyflightdata = __webpack_require__(/*! ./apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nasync function refreshInactiveParallelSegments(options) {\n const fetchedSegments = new Set();\n await refreshInactiveParallelSegmentsImpl({\n ...options,\n rootTree: options.updatedTree,\n fetchedSegments\n });\n}\nasync function refreshInactiveParallelSegmentsImpl(param) {\n let { state, updatedTree, updatedCache, includeNextUrl, fetchedSegments, rootTree = updatedTree } = param;\n const [, parallelRoutes, refetchPath, refetchMarker] = updatedTree;\n const fetchPromises = [];\n if (refetchPath && refetchPath !== location.pathname + location.search && refetchMarker === \"refresh\" && // it's possible for the tree to contain multiple segments that contain data at the same URL\n // we keep track of them so we can dedupe the requests\n !fetchedSegments.has(refetchPath)) {\n fetchedSegments.add(refetchPath) // Mark this URL as fetched\n ;\n // Eagerly kick off the fetch for the refetch path & the parallel routes. This should be fine to do as they each operate\n // independently on their own cache nodes, and `applyFlightData` will copy anything it doesn't care about from the existing cache.\n const fetchPromise = (0, _fetchserverresponse.fetchServerResponse)(new URL(refetchPath, location.origin), // and might not contain the data we need to patch in interception route data (such as dynamic params from a previous segment)\n [\n rootTree[0],\n rootTree[1],\n rootTree[2],\n \"refetch\"\n ], includeNextUrl ? state.nextUrl : null, state.buildId).then((fetchResponse)=>{\n const flightData = fetchResponse[0];\n if (typeof flightData !== \"string\") {\n for (const flightDataPath of flightData){\n // we only pass the new cache as this function is called after clearing the router cache\n // and filling in the new page data from the server. Meaning the existing cache is actually the cache that's\n // just been created & has been written to, but hasn't been \"committed\" yet.\n (0, _applyflightdata.applyFlightData)(updatedCache, updatedCache, flightDataPath);\n }\n } else {\n // When flightData is a string, it suggests that the server response should have triggered an MPA navigation\n // I'm not 100% sure of this decision, but it seems unlikely that we'd want to introduce a redirect side effect\n // when refreshing on-screen data, so handling this has been ommitted.\n }\n });\n fetchPromises.push(fetchPromise);\n }\n for(const key in parallelRoutes){\n const parallelFetchPromise = refreshInactiveParallelSegmentsImpl({\n state,\n updatedTree: parallelRoutes[key],\n updatedCache,\n includeNextUrl,\n fetchedSegments,\n rootTree\n });\n fetchPromises.push(parallelFetchPromise);\n }\n await Promise.all(fetchPromises);\n}\nfunction addRefreshMarkerToActiveParallelSegments(tree, path) {\n const [segment, parallelRoutes, , refetchMarker] = tree;\n // a page segment might also contain concatenated search params, so we do a partial match on the key\n if (segment.includes(_segment.PAGE_SEGMENT_KEY) && refetchMarker !== \"refresh\") {\n tree[2] = path;\n tree[3] = \"refresh\";\n }\n for(const key in parallelRoutes){\n addRefreshMarkerToActiveParallelSegments(parallelRoutes[key], path);\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=refetch-inactive-parallel-segments.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZmV0Y2gtaW5hY3RpdmUtcGFyYWxsZWwtc2VnbWVudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBOEdnQkEsMENBQXdDO2VBQXhDQTs7SUFyRk1DLGlDQUErQjtlQUEvQkE7Ozs2Q0F0QlU7aURBQ0k7cUNBQ0g7QUFvQjFCLGVBQWVBLGdDQUNwQkMsT0FBd0M7SUFFeEMsTUFBTUMsa0JBQWtCLElBQUlDO0lBQzVCLE1BQU1DLG9DQUFvQztRQUN4QyxHQUFHSCxPQUFPO1FBQ1ZJLFVBQVVKLFFBQVFLLFdBQVc7UUFDN0JKO0lBQ0Y7QUFDRjtBQUVBLGVBQWVFLG9DQUFvQ0csS0FVbEQ7SUFWa0QsTUFDakRDLEtBQUssRUFDTEYsV0FBVyxFQUNYRyxZQUFZLEVBQ1pDLGNBQWMsRUFDZFIsZUFBZSxFQUNmRyxXQUFXQyxXQUFXLEVBSXZCLEdBVmtEQztJQVdqRCxNQUFNLEdBQUdJLGdCQUFnQkMsYUFBYUMsY0FBYyxHQUFHUDtJQUN2RCxNQUFNUSxnQkFBZ0IsRUFBRTtJQUV4QixJQUNFRixlQUNBQSxnQkFBZ0JHLFNBQVNDLFFBQVEsR0FBR0QsU0FBU0UsTUFBTSxJQUNuREosa0JBQWtCLGFBQ2xCLDRGQUE0RjtJQUM1RixzREFBc0Q7SUFDdEQsQ0FBQ1gsZ0JBQWdCZ0IsR0FBRyxDQUFDTixjQUNyQjtRQUNBVixnQkFBZ0JpQixHQUFHLENBQUNQLGFBQWEsMkJBQTJCOztRQUU1RCx3SEFBd0g7UUFDeEgsa0lBQWtJO1FBQ2xJLE1BQU1RLGVBQWVDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFDdEMsSUFBSUMsSUFBSVYsYUFBYUcsU0FBU1EsTUFBTSxHQUVwQyw4SEFBOEg7UUFDOUg7WUFBQ2xCLFFBQVEsQ0FBQyxFQUFFO1lBQUVBLFFBQVEsQ0FBQyxFQUFFO1lBQUVBLFFBQVEsQ0FBQyxFQUFFO1lBQUU7U0FBVSxFQUNsREssaUJBQWlCRixNQUFNZ0IsT0FBTyxHQUFHLE1BQ2pDaEIsTUFBTWlCLE9BQU8sRUFDYkMsSUFBSSxDQUFDLENBQUNDO1lBQ04sTUFBTUMsYUFBYUQsYUFBYSxDQUFDLEVBQUU7WUFDbkMsSUFBSSxPQUFPQyxlQUFlLFVBQVU7Z0JBQ2xDLEtBQUssTUFBTUMsa0JBQWtCRCxXQUFZO29CQUN2Qyx3RkFBd0Y7b0JBQ3hGLDRHQUE0RztvQkFDNUcsNEVBQTRFO29CQUM1RUUsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFBQ3JCLGNBQWNBLGNBQWNvQjtnQkFDOUM7WUFDRixPQUFPO1lBQ0wsNEdBQTRHO1lBQzVHLCtHQUErRztZQUMvRyxzRUFBc0U7WUFDeEU7UUFDRjtRQUVBZixjQUFjaUIsSUFBSSxDQUFDWDtJQUNyQjtJQUVBLElBQUssTUFBTVksT0FBT3JCLGVBQWdCO1FBQ2hDLE1BQU1zQix1QkFBdUI3QixvQ0FBb0M7WUFDL0RJO1lBQ0FGLGFBQWFLLGNBQWMsQ0FBQ3FCLElBQUk7WUFDaEN2QjtZQUNBQztZQUNBUjtZQUNBRztRQUNGO1FBRUFTLGNBQWNpQixJQUFJLENBQUNFO0lBQ3JCO0lBRUEsTUFBTUMsUUFBUUMsR0FBRyxDQUFDckI7QUFDcEI7QUFRTyxTQUFTZix5Q0FDZHFDLElBQXVCLEVBQ3ZCQyxJQUFZO0lBRVosTUFBTSxDQUFDQyxTQUFTM0Isa0JBQWtCRSxjQUFjLEdBQUd1QjtJQUNuRCxvR0FBb0c7SUFDcEcsSUFBSUUsUUFBUUMsUUFBUSxDQUFDQyxTQUFBQSxnQkFBZ0IsS0FBSzNCLGtCQUFrQixXQUFXO1FBQ3JFdUIsSUFBSSxDQUFDLEVBQUUsR0FBR0M7UUFDVkQsSUFBSSxDQUFDLEVBQUUsR0FBRztJQUNaO0lBRUEsSUFBSyxNQUFNSixPQUFPckIsZUFBZ0I7UUFDaENaLHlDQUF5Q1ksY0FBYyxDQUFDcUIsSUFBSSxFQUFFSztJQUNoRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWZldGNoLWluYWN0aXZlLXBhcmFsbGVsLXNlZ21lbnRzLnRzPzc4ODgiXSwibmFtZXMiOlsiYWRkUmVmcmVzaE1hcmtlclRvQWN0aXZlUGFyYWxsZWxTZWdtZW50cyIsInJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHMiLCJvcHRpb25zIiwiZmV0Y2hlZFNlZ21lbnRzIiwiU2V0IiwicmVmcmVzaEluYWN0aXZlUGFyYWxsZWxTZWdtZW50c0ltcGwiLCJyb290VHJlZSIsInVwZGF0ZWRUcmVlIiwicGFyYW0iLCJzdGF0ZSIsInVwZGF0ZWRDYWNoZSIsImluY2x1ZGVOZXh0VXJsIiwicGFyYWxsZWxSb3V0ZXMiLCJyZWZldGNoUGF0aCIsInJlZmV0Y2hNYXJrZXIiLCJmZXRjaFByb21pc2VzIiwibG9jYXRpb24iLCJwYXRobmFtZSIsInNlYXJjaCIsImhhcyIsImFkZCIsImZldGNoUHJvbWlzZSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJVUkwiLCJvcmlnaW4iLCJuZXh0VXJsIiwiYnVpbGRJZCIsInRoZW4iLCJmZXRjaFJlc3BvbnNlIiwiZmxpZ2h0RGF0YSIsImZsaWdodERhdGFQYXRoIiwiYXBwbHlGbGlnaHREYXRhIiwicHVzaCIsImtleSIsInBhcmFsbGVsRmV0Y2hQcm9taXNlIiwiUHJvbWlzZSIsImFsbCIsInRyZWUiLCJwYXRoIiwic2VnbWVudCIsImluY2x1ZGVzIiwiUEFHRV9TRUdNRU5UX0tFWSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js ***! - \*****************************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_FAST_REFRESH: function() {\n return ACTION_FAST_REFRESH;\n },\n ACTION_NAVIGATE: function() {\n return ACTION_NAVIGATE;\n },\n ACTION_PREFETCH: function() {\n return ACTION_PREFETCH;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_RESTORE: function() {\n return ACTION_RESTORE;\n },\n ACTION_SERVER_ACTION: function() {\n return ACTION_SERVER_ACTION;\n },\n ACTION_SERVER_PATCH: function() {\n return ACTION_SERVER_PATCH;\n },\n PrefetchCacheEntryStatus: function() {\n return PrefetchCacheEntryStatus;\n },\n PrefetchKind: function() {\n return PrefetchKind;\n },\n isThenable: function() {\n return isThenable;\n }\n});\nconst ACTION_REFRESH = \"refresh\";\nconst ACTION_NAVIGATE = \"navigate\";\nconst ACTION_RESTORE = \"restore\";\nconst ACTION_SERVER_PATCH = \"server-patch\";\nconst ACTION_PREFETCH = \"prefetch\";\nconst ACTION_FAST_REFRESH = \"fast-refresh\";\nconst ACTION_SERVER_ACTION = \"server-action\";\nvar PrefetchKind;\n(function(PrefetchKind) {\n PrefetchKind[\"AUTO\"] = \"auto\";\n PrefetchKind[\"FULL\"] = \"full\";\n PrefetchKind[\"TEMPORARY\"] = \"temporary\";\n})(PrefetchKind || (PrefetchKind = {}));\nvar PrefetchCacheEntryStatus;\n(function(PrefetchCacheEntryStatus) {\n PrefetchCacheEntryStatus[\"fresh\"] = \"fresh\";\n PrefetchCacheEntryStatus[\"reusable\"] = \"reusable\";\n PrefetchCacheEntryStatus[\"expired\"] = \"expired\";\n PrefetchCacheEntryStatus[\"stale\"] = \"stale\";\n})(PrefetchCacheEntryStatus || (PrefetchCacheEntryStatus = {}));\nfunction isThenable(value) {\n // TODO: We don't gain anything from this abstraction. It's unsound, and only\n // makes sense in the specific places where we use it. So it's better to keep\n // the type coercion inline, instead of leaking this to other places in\n // the codebase.\n return value && (typeof value === \"object\" || typeof value === \"function\") && typeof value.then === \"function\";\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router-reducer-types.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLXR5cGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVlhQSxxQkFBbUI7ZUFBbkJBOztJQUpBQyxpQkFBZTtlQUFmQTs7SUFHQUMsaUJBQWU7ZUFBZkE7O0lBSkFDLGdCQUFjO2VBQWRBOztJQUVBQyxnQkFBYztlQUFkQTs7SUFJQUMsc0JBQW9CO2VBQXBCQTs7SUFIQUMscUJBQW1CO2VBQW5CQTs7Ozs7Ozs7SUF1UUdDLFlBQVU7ZUFBVkE7OztBQTFRVCxNQUFNSixpQkFBaUI7QUFDdkIsTUFBTUYsa0JBQWtCO0FBQ3hCLE1BQU1HLGlCQUFpQjtBQUN2QixNQUFNRSxzQkFBc0I7QUFDNUIsTUFBTUosa0JBQWtCO0FBQ3hCLE1BQU1GLHNCQUFzQjtBQUM1QixNQUFNSyx1QkFBdUI7O1VBdUl4QkcsWUFBQUE7Ozs7R0FBQUEsZ0JBQUFBLENBQUFBLGVBQUFBLENBQUFBLENBQUFBOztVQThEQUMsd0JBQUFBOzs7OztHQUFBQSw0QkFBQUEsQ0FBQUEsMkJBQUFBLENBQUFBLENBQUFBO0FBK0RMLFNBQVNGLFdBQVdHLEtBQVU7SUFDbkMsNkVBQTZFO0lBQzdFLDZFQUE2RTtJQUM3RSx1RUFBdUU7SUFDdkUsZ0JBQWdCO0lBQ2hCLE9BQ0VBLFNBQ0MsUUFBT0EsVUFBVSxZQUFZLE9BQU9BLFVBQVUsZUFDL0MsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBRTFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlcy50cz9lZjFjIl0sIm5hbWVzIjpbIkFDVElPTl9GQVNUX1JFRlJFU0giLCJBQ1RJT05fTkFWSUdBVEUiLCJBQ1RJT05fUFJFRkVUQ0giLCJBQ1RJT05fUkVGUkVTSCIsIkFDVElPTl9SRVNUT1JFIiwiQUNUSU9OX1NFUlZFUl9BQ1RJT04iLCJBQ1RJT05fU0VSVkVSX1BBVENIIiwiaXNUaGVuYWJsZSIsIlByZWZldGNoS2luZCIsIlByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cyIsInZhbHVlIiwidGhlbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer.js ***! - \***********************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"reducer\", ({\n enumerable: true,\n get: function() {\n return reducer;\n }\n}));\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _serverpatchreducer = __webpack_require__(/*! ./reducers/server-patch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\");\nconst _restorereducer = __webpack_require__(/*! ./reducers/restore-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\");\nconst _refreshreducer = __webpack_require__(/*! ./reducers/refresh-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./reducers/prefetch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _fastrefreshreducer = __webpack_require__(/*! ./reducers/fast-refresh-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js\");\nconst _serveractionreducer = __webpack_require__(/*! ./reducers/server-action-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\");\n/**\n * Reducer that handles the app-router state updates.\n */ function clientReducer(state, action) {\n switch(action.type){\n case _routerreducertypes.ACTION_NAVIGATE:\n {\n return (0, _navigatereducer.navigateReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_PATCH:\n {\n return (0, _serverpatchreducer.serverPatchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_RESTORE:\n {\n return (0, _restorereducer.restoreReducer)(state, action);\n }\n case _routerreducertypes.ACTION_REFRESH:\n {\n return (0, _refreshreducer.refreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_FAST_REFRESH:\n {\n return (0, _fastrefreshreducer.fastRefreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_PREFETCH:\n {\n return (0, _prefetchreducer.prefetchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_ACTION:\n {\n return (0, _serveractionreducer.serverActionReducer)(state, action);\n }\n // This case should never be hit as dispatch is strongly typed.\n default:\n throw new Error(\"Unknown action\");\n }\n}\nfunction serverReducer(state, _action) {\n return state;\n}\nconst reducer = true ? serverReducer : 0;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBaUVhQTs7O2VBQUFBOzs7Z0RBekROOzZDQU15QjtnREFDRzs0Q0FDSjs0Q0FDQTs2Q0FDQztnREFDRztpREFDQztBQUVwQzs7Q0FFQyxHQUNELFNBQVNDLGNBQ1BDLEtBQTJCLEVBQzNCQyxNQUFzQjtJQUV0QixPQUFRQSxPQUFPQyxJQUFJO1FBQ2pCLEtBQUtDLG9CQUFBQSxlQUFlO1lBQUU7Z0JBQ3BCLE9BQU9DLENBQUFBLEdBQUFBLGlCQUFBQSxlQUFlLEVBQUNKLE9BQU9DO1lBQ2hDO1FBQ0EsS0FBS0ksb0JBQUFBLG1CQUFtQjtZQUFFO2dCQUN4QixPQUFPQyxDQUFBQSxHQUFBQSxvQkFBQUEsa0JBQWtCLEVBQUNOLE9BQU9DO1lBQ25DO1FBQ0EsS0FBS00sb0JBQUFBLGNBQWM7WUFBRTtnQkFDbkIsT0FBT0MsQ0FBQUEsR0FBQUEsZ0JBQUFBLGNBQWMsRUFBQ1IsT0FBT0M7WUFDL0I7UUFDQSxLQUFLUSxvQkFBQUEsY0FBYztZQUFFO2dCQUNuQixPQUFPQyxDQUFBQSxHQUFBQSxnQkFBQUEsY0FBYyxFQUFDVixPQUFPQztZQUMvQjtRQUNBLEtBQUtVLG9CQUFBQSxtQkFBbUI7WUFBRTtnQkFDeEIsT0FBT0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFrQixFQUFDWixPQUFPQztZQUNuQztRQUNBLEtBQUtZLG9CQUFBQSxlQUFlO1lBQUU7Z0JBQ3BCLE9BQU9DLENBQUFBLEdBQUFBLGlCQUFBQSxlQUFlLEVBQUNkLE9BQU9DO1lBQ2hDO1FBQ0EsS0FBS2Msb0JBQUFBLG9CQUFvQjtZQUFFO2dCQUN6QixPQUFPQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNoQixPQUFPQztZQUNwQztRQUNBLCtEQUErRDtRQUMvRDtZQUNFLE1BQU0sSUFBSWdCLE1BQU07SUFDcEI7QUFDRjtBQUVBLFNBQVNDLGNBQ1BsQixLQUEyQixFQUMzQm1CLE9BQXVCO0lBRXZCLE9BQU9uQjtBQUNUO0FBR08sTUFBTUYsVUFDWCxLQUFrQixHQUFjb0IsZ0JBQWdCbkIsQ0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLnRzPzNjNjUiXSwibmFtZXMiOlsicmVkdWNlciIsImNsaWVudFJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsInR5cGUiLCJBQ1RJT05fTkFWSUdBVEUiLCJuYXZpZ2F0ZVJlZHVjZXIiLCJBQ1RJT05fU0VSVkVSX1BBVENIIiwic2VydmVyUGF0Y2hSZWR1Y2VyIiwiQUNUSU9OX1JFU1RPUkUiLCJyZXN0b3JlUmVkdWNlciIsIkFDVElPTl9SRUZSRVNIIiwicmVmcmVzaFJlZHVjZXIiLCJBQ1RJT05fRkFTVF9SRUZSRVNIIiwiZmFzdFJlZnJlc2hSZWR1Y2VyIiwiQUNUSU9OX1BSRUZFVENIIiwicHJlZmV0Y2hSZWR1Y2VyIiwiQUNUSU9OX1NFUlZFUl9BQ1RJT04iLCJzZXJ2ZXJBY3Rpb25SZWR1Y2VyIiwiRXJyb3IiLCJzZXJ2ZXJSZWR1Y2VyIiwiX2FjdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js ***! - \*****************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"shouldHardNavigate\", ({\n enumerable: true,\n get: function() {\n return shouldHardNavigate;\n }\n}));\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nfunction shouldHardNavigate(flightSegmentPath, flightRouterState) {\n const [segment, parallelRoutes] = flightRouterState;\n // TODO-APP: Check if `as` can be replaced.\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Check if current segment matches the existing segment.\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n // If dynamic parameter in tree doesn't match up with segment path a hard navigation is triggered.\n if (Array.isArray(currentSegment)) {\n return true;\n }\n // If the existing segment did not match soft navigation is triggered.\n return false;\n }\n const lastSegment = flightSegmentPath.length <= 2;\n if (lastSegment) {\n return false;\n }\n return shouldHardNavigate(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=should-hard-navigate.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3Nob3VsZC1oYXJkLW5hdmlnYXRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBUWdCQTs7O2VBQUFBOzs7MkNBSGE7QUFHdEIsU0FBU0EsbUJBQ2RDLGlCQUFpQyxFQUNqQ0MsaUJBQW9DO0lBRXBDLE1BQU0sQ0FBQ0MsU0FBU0MsZUFBZSxHQUFHRjtJQUNsQywyQ0FBMkM7SUFDM0MsTUFBTSxDQUFDRyxnQkFBZ0JDLGlCQUFpQixHQUFHTDtJQUszQyx5REFBeUQ7SUFDekQsSUFBSSxDQUFDTSxDQUFBQSxHQUFBQSxlQUFBQSxZQUFZLEVBQUNGLGdCQUFnQkYsVUFBVTtRQUMxQyxrR0FBa0c7UUFDbEcsSUFBSUssTUFBTUMsT0FBTyxDQUFDSixpQkFBaUI7WUFDakMsT0FBTztRQUNUO1FBRUEsc0VBQXNFO1FBQ3RFLE9BQU87SUFDVDtJQUNBLE1BQU1LLGNBQWNULGtCQUFrQlUsTUFBTSxJQUFJO0lBRWhELElBQUlELGFBQWE7UUFDZixPQUFPO0lBQ1Q7SUFFQSxPQUFPVixtQkFDTEMsa0JBQWtCVyxLQUFLLENBQUMsSUFDeEJSLGNBQWMsQ0FBQ0UsaUJBQWlCO0FBRXBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9zaG91bGQtaGFyZC1uYXZpZ2F0ZS50cz8yZTlmIl0sIm5hbWVzIjpbInNob3VsZEhhcmROYXZpZ2F0ZSIsImZsaWdodFNlZ21lbnRQYXRoIiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZXMiLCJjdXJyZW50U2VnbWVudCIsInBhcmFsbGVsUm91dGVLZXkiLCJtYXRjaFNlZ21lbnQiLCJBcnJheSIsImlzQXJyYXkiLCJsYXN0U2VnbWVudCIsImxlbmd0aCIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/search-params.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/search-params.js ***! - \*******************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createDynamicallyTrackedSearchParams: function() {\n return createDynamicallyTrackedSearchParams;\n },\n createUntrackedSearchParams: function() {\n return createUntrackedSearchParams;\n }\n});\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nconst _dynamicrendering = __webpack_require__(/*! ../../server/app-render/dynamic-rendering */ \"(ssr)/./node_modules/next/dist/server/app-render/dynamic-rendering.js\");\nconst _reflect = __webpack_require__(/*! ../../server/web/spec-extension/adapters/reflect */ \"(ssr)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\");\nfunction createUntrackedSearchParams(searchParams) {\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (store && store.forceStatic) {\n return {};\n } else {\n return searchParams;\n }\n}\nfunction createDynamicallyTrackedSearchParams(searchParams) {\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (!store) {\n // we assume we are in a route handler or page render. just return the searchParams\n return searchParams;\n } else if (store.forceStatic) {\n // If we forced static we omit searchParams entirely. This is true both during SSR\n // and browser render because we need there to be parity between these environments\n return {};\n } else if (!store.isStaticGeneration && !store.dynamicShouldError) {\n // during dynamic renders we don't actually have to track anything so we just return\n // the searchParams directly. However if dynamic data access should error then we\n // still want to track access. This covers the case in Dev where all renders are dynamic\n // but we still want to error if you use a dynamic data source because it will fail the build\n // or revalidate if you do.\n return searchParams;\n } else {\n // We need to track dynamic access with a Proxy. We implement get, has, and ownKeys because\n // these can all be used to exfiltrate information about searchParams.\n return new Proxy({}, {\n get (target, prop, receiver) {\n if (typeof prop === \"string\") {\n (0, _dynamicrendering.trackDynamicDataAccessed)(store, \"searchParams.\" + prop);\n }\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n },\n has (target, prop) {\n if (typeof prop === \"string\") {\n (0, _dynamicrendering.trackDynamicDataAccessed)(store, \"searchParams.\" + prop);\n }\n return Reflect.has(target, prop);\n },\n ownKeys (target) {\n (0, _dynamicrendering.trackDynamicDataAccessed)(store, \"searchParams\");\n return Reflect.ownKeys(target);\n }\n });\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=search-params.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3NlYXJjaC1wYXJhbXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZ0NnQkEsc0NBQW9DO2VBQXBDQTs7SUFuQkFDLDZCQUEyQjtlQUEzQkE7OztrRUFYNkI7OENBQ0o7cUNBQ1Y7QUFTeEIsU0FBU0EsNEJBQ2RDLFlBQTRCO0lBRTVCLE1BQU1DLFFBQVFDLHNDQUFBQSw0QkFBNEIsQ0FBQ0MsUUFBUTtJQUNuRCxJQUFJRixTQUFTQSxNQUFNRyxXQUFXLEVBQUU7UUFDOUIsT0FBTyxDQUFDO0lBQ1YsT0FBTztRQUNMLE9BQU9KO0lBQ1Q7QUFDRjtBQVVPLFNBQVNGLHFDQUNkRSxZQUE0QjtJQUU1QixNQUFNQyxRQUFRQyxzQ0FBQUEsNEJBQTRCLENBQUNDLFFBQVE7SUFDbkQsSUFBSSxDQUFDRixPQUFPO1FBQ1YsbUZBQW1GO1FBQ25GLE9BQU9EO0lBQ1QsT0FBTyxJQUFJQyxNQUFNRyxXQUFXLEVBQUU7UUFDNUIsa0ZBQWtGO1FBQ2xGLG1GQUFtRjtRQUNuRixPQUFPLENBQUM7SUFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTUksa0JBQWtCLElBQUksQ0FBQ0osTUFBTUssa0JBQWtCLEVBQUU7UUFDakUsb0ZBQW9GO1FBQ3BGLGlGQUFpRjtRQUNqRix3RkFBd0Y7UUFDeEYsNkZBQTZGO1FBQzdGLDJCQUEyQjtRQUMzQixPQUFPTjtJQUNULE9BQU87UUFDTCwyRkFBMkY7UUFDM0Ysc0VBQXNFO1FBQ3RFLE9BQU8sSUFBSU8sTUFBTSxDQUFDLEdBQXFCO1lBQ3JDQyxLQUFJQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsUUFBUTtnQkFDeEIsSUFBSSxPQUFPRCxTQUFTLFVBQVU7b0JBQzVCRSxDQUFBQSxHQUFBQSxrQkFBQUEsd0JBQXdCLEVBQUNYLE9BQU8sa0JBQWdCUztnQkFDbEQ7Z0JBQ0EsT0FBT0csU0FBQUEsY0FBYyxDQUFDTCxHQUFHLENBQUNDLFFBQVFDLE1BQU1DO1lBQzFDO1lBQ0FHLEtBQUlMLE1BQU0sRUFBRUMsSUFBSTtnQkFDZCxJQUFJLE9BQU9BLFNBQVMsVUFBVTtvQkFDNUJFLENBQUFBLEdBQUFBLGtCQUFBQSx3QkFBd0IsRUFBQ1gsT0FBTyxrQkFBZ0JTO2dCQUNsRDtnQkFDQSxPQUFPSyxRQUFRRCxHQUFHLENBQUNMLFFBQVFDO1lBQzdCO1lBQ0FNLFNBQVFQLE1BQU07Z0JBQ1pHLENBQUFBLEdBQUFBLGtCQUFBQSx3QkFBd0IsRUFBQ1gsT0FBTztnQkFDaEMsT0FBT2MsUUFBUUMsT0FBTyxDQUFDUDtZQUN6QjtRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvc2VhcmNoLXBhcmFtcy50cz8xNTkyIl0sIm5hbWVzIjpbImNyZWF0ZUR5bmFtaWNhbGx5VHJhY2tlZFNlYXJjaFBhcmFtcyIsImNyZWF0ZVVudHJhY2tlZFNlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInN0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImdldFN0b3JlIiwiZm9yY2VTdGF0aWMiLCJpc1N0YXRpY0dlbmVyYXRpb24iLCJkeW5hbWljU2hvdWxkRXJyb3IiLCJQcm94eSIsImdldCIsInRhcmdldCIsInByb3AiLCJyZWNlaXZlciIsInRyYWNrRHluYW1pY0RhdGFBY2Nlc3NlZCIsIlJlZmxlY3RBZGFwdGVyIiwiaGFzIiwiUmVmbGVjdCIsIm93bktleXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/search-params.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/static-generation-bailout.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/static-generation-bailout.js ***! - \*******************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n StaticGenBailoutError: function() {\n return StaticGenBailoutError;\n },\n isStaticGenBailoutError: function() {\n return isStaticGenBailoutError;\n }\n});\nconst NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nclass StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nfunction isStaticGenBailoutError(error) {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-bailout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBRWFBLHVCQUFxQjtlQUFyQkE7O0lBSUdDLHlCQUF1QjtlQUF2QkE7OztBQU5oQixNQUFNQywwQkFBMEI7QUFFekIsTUFBTUYsOEJBQThCRzs7O2FBQ3pCQyxJQUFBQSxHQUFPRjs7QUFDekI7QUFFTyxTQUFTRCx3QkFDZEksS0FBYztJQUVkLElBQUksT0FBT0EsVUFBVSxZQUFZQSxVQUFVLFFBQVEsQ0FBRSxXQUFVQSxLQUFBQSxHQUFRO1FBQ3JFLE9BQU87SUFDVDtJQUVBLE9BQU9BLE1BQU1ELElBQUksS0FBS0Y7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQudHM/NGMzMSJdLCJuYW1lcyI6WyJTdGF0aWNHZW5CYWlsb3V0RXJyb3IiLCJpc1N0YXRpY0dlbkJhaWxvdXRFcnJvciIsIk5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIiwiRXJyb3IiLCJjb2RlIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/static-generation-bailout.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/unresolved-thenable.js ***! - \*************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("/**\n * Create a \"Thenable\" that does not resolve. This is used to suspend indefinitely when data is not available yet.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"unresolvedThenable\", ({\n enumerable: true,\n get: function() {\n return unresolvedThenable;\n }\n}));\nconst unresolvedThenable = {\n then: ()=>{}\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=unresolved-thenable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VucmVzb2x2ZWQtdGhlbmFibGUuanMiLCJtYXBwaW5ncyI6IkFBQUE7O0NBRUM7Ozs7c0RBQ1lBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHFCQUFxQjtJQUNoQ0MsTUFBTSxLQUFPO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3VucmVzb2x2ZWQtdGhlbmFibGUudHM/NDAzNiJdLCJuYW1lcyI6WyJ1bnJlc29sdmVkVGhlbmFibGUiLCJ0aGVuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/use-reducer-with-devtools.js ***! - \*******************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n useReducerWithReduxDevtools: function() {\n return useReducerWithReduxDevtools;\n },\n useUnwrapState: function() {\n return useUnwrapState;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _actionqueue = __webpack_require__(/*! ../../shared/lib/router/action-queue */ \"(ssr)/./node_modules/next/dist/shared/lib/router/action-queue.js\");\nfunction normalizeRouterState(val) {\n if (val instanceof Map) {\n const obj = {};\n for (const [key, value] of val.entries()){\n if (typeof value === \"function\") {\n obj[key] = \"fn()\";\n continue;\n }\n if (typeof value === \"object\" && value !== null) {\n if (value.$$typeof) {\n obj[key] = value.$$typeof.toString();\n continue;\n }\n if (value._bundlerConfig) {\n obj[key] = \"FlightData\";\n continue;\n }\n }\n obj[key] = normalizeRouterState(value);\n }\n return obj;\n }\n if (typeof val === \"object\" && val !== null) {\n const obj = {};\n for(const key in val){\n const value = val[key];\n if (typeof value === \"function\") {\n obj[key] = \"fn()\";\n continue;\n }\n if (typeof value === \"object\" && value !== null) {\n if (value.$$typeof) {\n obj[key] = value.$$typeof.toString();\n continue;\n }\n if (value.hasOwnProperty(\"_bundlerConfig\")) {\n obj[key] = \"FlightData\";\n continue;\n }\n }\n obj[key] = normalizeRouterState(value);\n }\n return obj;\n }\n if (Array.isArray(val)) {\n return val.map(normalizeRouterState);\n }\n return val;\n}\nfunction useUnwrapState(state) {\n // reducer actions can be async, so sometimes we need to suspend until the state is resolved\n if ((0, _routerreducertypes.isThenable)(state)) {\n const result = (0, _react.use)(state);\n return result;\n }\n return state;\n}\nfunction useReducerWithReduxDevtoolsNoop(initialState) {\n return [\n initialState,\n ()=>{},\n ()=>{}\n ];\n}\nfunction useReducerWithReduxDevtoolsImpl(initialState) {\n const [state, setState] = _react.default.useState(initialState);\n const actionQueue = (0, _react.useContext)(_actionqueue.ActionQueueContext);\n if (!actionQueue) {\n throw new Error(\"Invariant: Missing ActionQueueContext\");\n }\n const devtoolsConnectionRef = (0, _react.useRef)();\n const enabledRef = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n if (devtoolsConnectionRef.current || enabledRef.current === false) {\n return;\n }\n if (enabledRef.current === undefined && typeof window.__REDUX_DEVTOOLS_EXTENSION__ === \"undefined\") {\n enabledRef.current = false;\n return;\n }\n devtoolsConnectionRef.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect({\n instanceId: 8000,\n name: \"next-router\"\n });\n if (devtoolsConnectionRef.current) {\n devtoolsConnectionRef.current.init(normalizeRouterState(initialState));\n if (actionQueue) {\n actionQueue.devToolsInstance = devtoolsConnectionRef.current;\n }\n }\n return ()=>{\n devtoolsConnectionRef.current = undefined;\n };\n }, [\n initialState,\n actionQueue\n ]);\n const dispatch = (0, _react.useCallback)((action)=>{\n if (!actionQueue.state) {\n // we lazy initialize the mutable action queue state since the data needed\n // to generate the state is not available when the actionQueue context is created\n actionQueue.state = initialState;\n }\n actionQueue.dispatch(action, setState);\n }, [\n actionQueue,\n initialState\n ]);\n // Sync is called after a state update in the HistoryUpdater,\n // for debugging purposes. Since the reducer state may be a Promise,\n // we let the app router use() it and sync on the resolved value if\n // something changed.\n // Using the `state` here would be referentially unstable and cause\n // undesirable re-renders and history updates.\n const sync = (0, _react.useCallback)((resolvedState)=>{\n if (devtoolsConnectionRef.current) {\n devtoolsConnectionRef.current.send({\n type: \"RENDER_SYNC\"\n }, normalizeRouterState(resolvedState));\n }\n }, []);\n return [\n state,\n dispatch,\n sync\n ];\n}\nconst useReducerWithReduxDevtools = false ? 0 : useReducerWithReduxDevtoolsNoop;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-reducer-with-devtools.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VzZS1yZWR1Y2VyLXdpdGgtZGV2dG9vbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBMkthQSw2QkFBMkI7ZUFBM0JBOztJQTdGR0MsZ0JBQWM7ZUFBZEE7Ozs7NkVBN0V1QjtnREFPaEM7eUNBQzRCO0FBSW5DLFNBQVNDLHFCQUFxQkMsR0FBUTtJQUNwQyxJQUFJQSxlQUFlQyxLQUFLO1FBQ3RCLE1BQU1DLE1BQThCLENBQUM7UUFDckMsS0FBSyxNQUFNLENBQUNDLEtBQUtDLE1BQU0sSUFBSUosSUFBSUssT0FBTyxHQUFJO1lBQ3hDLElBQUksT0FBT0QsVUFBVSxZQUFZO2dCQUMvQkYsR0FBRyxDQUFDQyxJQUFJLEdBQUc7Z0JBQ1g7WUFDRjtZQUNBLElBQUksT0FBT0MsVUFBVSxZQUFZQSxVQUFVLE1BQU07Z0JBQy9DLElBQUlBLE1BQU1FLFFBQVEsRUFBRTtvQkFDbEJKLEdBQUcsQ0FBQ0MsSUFBSSxHQUFHQyxNQUFNRSxRQUFRLENBQUNDLFFBQVE7b0JBQ2xDO2dCQUNGO2dCQUNBLElBQUlILE1BQU1JLGNBQWMsRUFBRTtvQkFDeEJOLEdBQUcsQ0FBQ0MsSUFBSSxHQUFHO29CQUNYO2dCQUNGO1lBQ0Y7WUFDQUQsR0FBRyxDQUFDQyxJQUFJLEdBQUdKLHFCQUFxQks7UUFDbEM7UUFDQSxPQUFPRjtJQUNUO0lBRUEsSUFBSSxPQUFPRixRQUFRLFlBQVlBLFFBQVEsTUFBTTtRQUMzQyxNQUFNRSxNQUE4QixDQUFDO1FBQ3JDLElBQUssTUFBTUMsT0FBT0gsSUFBSztZQUNyQixNQUFNSSxRQUFRSixHQUFHLENBQUNHLElBQUk7WUFDdEIsSUFBSSxPQUFPQyxVQUFVLFlBQVk7Z0JBQy9CRixHQUFHLENBQUNDLElBQUksR0FBRztnQkFDWDtZQUNGO1lBQ0EsSUFBSSxPQUFPQyxVQUFVLFlBQVlBLFVBQVUsTUFBTTtnQkFDL0MsSUFBSUEsTUFBTUUsUUFBUSxFQUFF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LDhCQUNYLE1BQWtCLEdBQ2RzQixDQUFBQSxHQUNBRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvdXNlLXJlZHVjZXItd2l0aC1kZXZ0b29scy50cz80ZTNiIl0sIm5hbWVzIjpbInVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29scyIsInVzZVVud3JhcFN0YXRlIiwibm9ybWFsaXplUm91dGVyU3RhdGUiLCJ2YWwiLCJNYXAiLCJvYmoiLCJrZXkiLCJ2YWx1ZSIsImVudHJpZXMiLCIkJHR5cGVvZiIsInRvU3RyaW5nIiwiX2J1bmRsZXJDb25maWciLCJoYXNPd25Qcm9wZXJ0eSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsInN0YXRlIiwiaXNUaGVuYWJsZSIsInJlc3VsdCIsInVzZSIsInVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29sc05vb3AiLCJpbml0aWFsU3RhdGUiLCJ1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHNJbXBsIiwic2V0U3RhdGUiLCJSZWFjdCIsInVzZVN0YXRlIiwiYWN0aW9uUXVldWUiLCJ1c2VDb250ZXh0IiwiQWN0aW9uUXVldWVDb250ZXh0IiwiRXJyb3IiLCJkZXZ0b29sc0Nvbm5lY3Rpb25SZWYiLCJ1c2VSZWYiLCJlbmFibGVkUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsInVuZGVmaW5lZCIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0IiwiaW5zdGFuY2VJZCIsIm5hbWUiLCJpbml0IiwiZGV2VG9vbHNJbnN0YW5jZSIsImRpc3BhdGNoIiwidXNlQ2FsbGJhY2siLCJhY3Rpb24iLCJzeW5jIiwicmVzb2x2ZWRTdGF0ZSIsInNlbmQiLCJ0eXBlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/noop-turbopack-hmr.js ***! - \*****************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("// The Turbopack HMR client can't be properly omitted at the moment (WEB-1589),\n// so instead we remap its import to this file in webpack builds.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"connect\", ({\n enumerable: true,\n get: function() {\n return connect;\n }\n}));\nfunction connect() {}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-turbopack-hmr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvbm9vcC10dXJib3BhY2staG1yLmpzIiwibWFwcGluZ3MiOiJBQUFBLCtFQUErRTtBQUMvRSxpRUFBaUU7Ozs7OzJDQUNqREE7OztlQUFBQTs7O0FBQVQsU0FBU0EsV0FBVyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2Rldi9ub29wLXR1cmJvcGFjay1obXIudHM/ZTMzYiJdLCJuYW1lcyI6WyJjb25uZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/get-domain-locale.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/client/get-domain-locale.js ***! - \************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDomainLocale\", ({\n enumerable: true,\n get: function() {\n return getDomainLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9nZXQtZG9tYWluLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQU9nQkE7OztlQUFBQTs7O29EQUoyQjtBQUUzQyxNQUFNQyxXQUFXQyxNQUFtQyxJQUFlO0FBRTVELFNBQVNGLGdCQUNkSyxJQUFZLEVBQ1pDLE1BQXVCLEVBQ3ZCQyxPQUFrQixFQUNsQkMsYUFBOEI7SUFFOUIsSUFBSU4sS0FBK0IsRUFBRSxFQWdCckMsTUFBTztRQUNMLE9BQU87SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uL3NyYy9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUudHM/MWQ0ZSJdLCJuYW1lcyI6WyJnZXREb21haW5Mb2NhbGUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsImxvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJyZXF1aXJlIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwidGFyZ2V0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJkb21haW4iLCJ1bmRlZmluZWQiLCJwcm90byIsImh0dHAiLCJmaW5hbExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/get-domain-locale.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/has-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/has-base-path.js ***! - \********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasBasePath\", ({\n enumerable: true,\n get: function() {\n return hasBasePath;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst basePath = false || \"\";\nfunction hasBasePath(path) {\n return (0, _pathhasprefix.pathHasPrefix)(path, basePath);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBSWdCQTs7O2VBQUFBOzs7MkNBSmM7QUFFOUIsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZO0lBQ3RDLE9BQU9DLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ0QsTUFBTUo7QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vc3JjL2NsaWVudC9oYXMtYmFzZS1wYXRoLnRzP2EzMTIiXSwibmFtZXMiOlsiaGFzQmFzZVBhdGgiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInBhdGhIYXNQcmVmaXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/has-base-path.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/image-component.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/image-component.js ***! - \**********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Image\", ({\n enumerable: true,\n get: function() {\n return Image;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"(ssr)/./node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(ssr)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(ssr)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js\");\nconst _warnonce = __webpack_require__(/*! ../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(ssr)/./node_modules/next/dist/shared/lib/image-loader.js\"));\n// This is replaced by webpack define plugin\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]};\nif (true) {\n globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput) {\n const src = img == null ? void 0 : img.src;\n if (!img || img[\"data-loaded-src\"] === src) {\n return;\n }\n img[\"data-loaded-src\"] = src;\n const p = \"decode\" in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder !== \"empty\") {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event(\"load\");\n Object.defineProperty(event, \"target\", {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n });\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (true) {\n const origSrc = new URL(src, \"http://n\").searchParams.get(\"url\") || src;\n if (img.getAttribute(\"data-nimg\") === \"fill\") {\n if (!unoptimized && (!sizesInput || sizesInput === \"100vw\")) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === \"100vw\") {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n } else {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n \"absolute\",\n \"fixed\",\n \"relative\"\n ];\n if (!valid.includes(position)) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and parent element with invalid \"position\". Provided \"' + position + '\" should be one of ' + valid.map(String).join(\",\") + \".\");\n }\n }\n if (img.height === 0) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.');\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute(\"height\");\n const widthModified = img.width.toString() !== img.getAttribute(\"width\");\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles \\'width: \"auto\"\\' or \\'height: \"auto\"\\' to maintain the aspect ratio.');\n }\n }\n });\n}\nfunction getDynamicProps(fetchPriority) {\n const [majorStr, minorStr] = _react.version.split(\".\", 2);\n const major = parseInt(majorStr, 10);\n const minor = parseInt(minorStr, 10);\n if (major > 18 || major === 18 && minor >= 3) {\n // In React 18.3.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return {\n fetchPriority\n };\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return {\n fetchpriority: fetchPriority\n };\n}\nconst ImageElement = /*#__PURE__*/ (0, _react.forwardRef)((param, forwardedRef)=>{\n let { src, srcSet, sizes, height, width, decoding, className, style, fetchPriority, placeholder, loading, unoptimized, fill, onLoadRef, onLoadingCompleteRef, setBlurComplete, setShowAltText, sizesInput, onLoad, onError, ...rest } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"img\", {\n ...rest,\n ...getDynamicProps(fetchPriority),\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading: loading,\n width: width,\n height: height,\n decoding: decoding,\n \"data-nimg\": fill ? \"fill\" : \"1\",\n className: className,\n style: style,\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes: sizes,\n srcSet: srcSet,\n src: src,\n ref: (0, _react.useCallback)((img)=>{\n if (forwardedRef) {\n if (typeof forwardedRef === \"function\") forwardedRef(img);\n else if (typeof forwardedRef === \"object\") {\n // @ts-ignore - .current is read only it's usually assigned by react internally\n forwardedRef.current = img;\n }\n }\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (true) {\n if (!src) {\n console.error('Image is missing required \"src\" property:', img);\n }\n if (img.getAttribute(\"alt\") === null) {\n console.error('Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.');\n }\n }\n if (img.complete) {\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n }\n }, [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n forwardedRef\n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder !== \"empty\") {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n });\n});\nfunction ImagePreload(param) {\n let { isAppRouter, imgAttributes } = param;\n const opts = {\n as: \"image\",\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority)\n };\n if (isAppRouter && _reactdom.default.preload) {\n // See https://github.com/facebook/react/pull/26940\n _reactdom.default.preload(imgAttributes.src, opts);\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href: imgAttributes.srcSet ? undefined : imgAttributes.src,\n ...opts\n }, \"__nimg-\" + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes)\n });\n}\nconst Image = /*#__PURE__*/ (0, _react.forwardRef)((props, forwardedRef)=>{\n const pagesRouter = (0, _react.useContext)(_routercontextsharedruntime.RouterContext);\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const configContext = (0, _react.useContext)(_imageconfigcontextsharedruntime.ImageConfigContext);\n const config = (0, _react.useMemo)(()=>{\n const c = configEnv || configContext || _imageconfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n return {\n ...c,\n allSizes,\n deviceSizes\n };\n }, [\n configContext\n ]);\n const { onLoad, onLoadingComplete } = props;\n const onLoadRef = (0, _react.useRef)(onLoad);\n (0, _react.useEffect)(()=>{\n onLoadRef.current = onLoad;\n }, [\n onLoad\n ]);\n const onLoadingCompleteRef = (0, _react.useRef)(onLoadingComplete);\n (0, _react.useEffect)(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n const [blurComplete, setBlurComplete] = (0, _react.useState)(false);\n const [showAltText, setShowAltText] = (0, _react.useState)(false);\n const { props: imgAttributes, meta: imgMeta } = (0, _getimgprops.getImgProps)(props, {\n defaultLoader: _imageloader.default,\n imgConf: config,\n blurComplete,\n showAltText\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(ImageElement, {\n ...imgAttributes,\n unoptimized: imgMeta.unoptimized,\n placeholder: imgMeta.placeholder,\n fill: imgMeta.fill,\n onLoadRef: onLoadRef,\n onLoadingCompleteRef: onLoadingCompleteRef,\n setBlurComplete: setBlurComplete,\n setShowAltText: setShowAltText,\n sizesInput: props.sizes,\n ref: forwardedRef\n }),\n imgMeta.priority ? /*#__PURE__*/ (0, _jsxruntime.jsx)(ImagePreload, {\n isAppRouter: isAppRouter,\n imgAttributes: imgAttributes\n }) : null\n ]\n });\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=image-component.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbWFnZS1jb21wb25lbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7K0VBYWlCO3FEQUNXQSxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO3lDQVlPOzt5Q0FFVkEsbUJBQUFBLENBQUE7OztBQU16QixNQUFBQyxlQUFBLGNBQUFDLHlCQUE0Q0gsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTtBQUM1Qyw0Q0FBOEJHO0FBRTlCLE1BQUlDLFlBQU9DLDBOQUF3QjtJQUMvQkUsSUFBbUJDLEVBQUFBO0lBQ3ZCRCxXQUFBQyxxQkFBQTtBQW1CQTtBQUNBLDBFQUFpRDtBQUNqRCxpREFHRUM7U0FNQUMsY0FBWUMsR0FBQUEsRUFBQUEsV0FBQUEsRUFBQUEsU0FBUSxFQUFBQyxvQkFBQSxFQUFBQyxlQUFBLEVBQUFDLFdBQUEsRUFBQUMsVUFBQTtJQUNwQixNQUFLSixNQUFPQSxPQUFJLGdCQUFrQkEsSUFBS0ssR0FBQUE7UUFDckMsQ0FBQUwsT0FBQUEsR0FBQSx3QkFBQUssS0FBQTtRQUNGO0lBQ0FMO0lBQ0FBLEdBQUEsbUJBQXNCQSxHQUFBQTtJQUN0Qk0sTUFBRUMsSUFBTSxZQUFlUCxNQUFBQSxJQUFBUSxNQUFBLEtBQUFDLFFBQUFDLE9BQUE7V0FDckIsQ0FBSSxLQUFLQyxHQUFBQSxJQUFBQSxDQUFBQTtZQUNQLENBQUFYLElBQUFXLGFBQUEsS0FBQVgsSUFBQVksV0FBQSxFQUF3QztZQUN4Qyx3Q0FBdUI7WUFDdkI7WUFDQSxzQ0FBc0I7WUFDdEI7WUFDQTtZQUNGO1FBQ0E7WUFDRVYsZ0JBQWdCO1lBQ2xCQSxnQkFBQTtRQUNBO1lBQ0VKLGFBQUEsZ0JBQUFBLFVBQUFlLE9BQUEsRUFBK0M7WUFDL0MsK0NBQTBDO1lBQzFDO1lBQ0EsMkNBQXdCO1lBQ3hCQyxNQUFBQSxRQUFPQyxJQUFBQSxNQUFlQzttQkFBbUJDLGNBQVUsQ0FBQUQsT0FBQTtnQkFBT0UsVUFBT2xCO2dCQUFJa0IsT0FB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O1FBQ2JDLGVBQVN2QixhQUFBQSxPQUFBQTtRQUNUd0IsU0FBQUE7UUFDQVQ7UUFDRkE7SUFFQTs7O3VCQUlZdkMsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBYWQsR0FBQSxFQUFBK0QsY0FBQTtnQkFDakJoSSxHQUFBQSxhQUFheUg7Z0JBQ2IvQyxhQUFhK0MsUUFBUS9DLFdBQVc7Z0JBQ2hDdUQsYUFBTVIsUUFBWS9DLFdBQUE7Z0JBQ2xCL0UsTUFBQUEsUUFBV0EsSUFBQUE7Z0JBQ1hHLFdBQUFBO2dCQUNBQyxzQkFBaUJBO2dCQUNqQjZFLGlCQUFnQkE7Z0JBQ2hCM0UsZ0JBQVk0SDtnQkFDWnpELFlBQUtFLE1BQUFBLEtBQUFBOztZQUdSbUQ7b0JBRUduQyxRQUFBQSxHQUFhQSxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxjQUFBQTtnQkFDYlAsYUFBQUE7K0JBRUFBOzs7SUFHViIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi9zcmMvY2xpZW50L2ltYWdlLWNvbXBvbmVudC50c3g/NTFlMSJdLCJuYW1lcyI6WyJfIiwicmVxdWlyZSIsIl9pbWFnZWxvYWRlciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl9fTkVYVF9JTUFHRV9PUFRTIiwiY29uZmlnRW52Iiwid2luZG93IiwiZW52IiwiZ2xvYmFsVGhpcyIsIl9fTkVYVF9JTUFHRV9JTVBPUlRFRCIsIm9uTG9hZFJlZiIsImhhbmRsZUxvYWRpbmciLCJpbWciLCJvbkxvYWRpbmdDb21wbGV0ZVJlZiIsInNldEJsdXJDb21wbGV0ZSIsInVub3B0aW1pemVkIiwic2l6ZXNJbnB1dCIsInNyYyIsInAiLCJjYXRjaCIsImRlY29kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicGFyZW50RWxlbWVudCIsImlzQ29ubmVjdGVkIiwiY3VycmVudCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXZlbnQiLCJ3cml0YWJsZSIsInZhbHVlIiwic3RvcHBlZCIsIm5hdGl2ZUV2ZW50IiwiY3VycmVudFRhcmdldCIsInRhcmdldCIsImlzRGVmYXVsdFByZXZlbnRlZCIsImlzUHJvcGFnYXRpb25TdG9wcGVkIiwicHJldmVudGVkIiwicGVyc2lzdCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJvY2VzcyIsImdldEF0dHJpYnV0ZSIsIlVSTCIsInNlYXJjaFBhcmFtcyIsImdldCIsIndpZHRoVmlld3BvcnRSYXRpbyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIndpZHRoIiwiaW5uZXJXaWR0aCIsIndhcm5PbmNlIiwiX3dhcm5vbmNlIiwib3JpZ1NyYyIsInZhbGlkIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInBvc2l0aW9uIiwibWFwIiwiU3RyaW5nIiwiam9pbiIsIndpZHRoTW9kaWZpZWQiLCJ0b1N0cmluZyIsImhlaWdodE1vZGlmaWVkIiwiZ2V0RHluYW1pY1Byb3BzIiwibWlub3JTdHIiLCJ2ZXJzaW9uIiwibWFqb3IiLCJwYXJzZUludCIsIm1ham9yU3RyIiwic3BsaXQiLCJtaW5vciIsImZldGNoUHJpb3JpdHkiLCJmZXRjaHByaW9yaXR5IiwiaGVpZ2h0IiwiZGVjb2RpbmciLCJjbGFzc05hbWUiLCJzdHlsZSIsInNyY1NldCIsInNpemVzIiwicmVzdCIsIl9qc3hydW50aW1lIiwianN4IiwibG9hZGluZyIsImRhdGEtbmltZyIsInJlZiIsInVzZUNhbGxiYWNrIiwiZm9yd2FyZGVkUmVmIiwib25FcnJvciIsImNvbnNvbGUiLCJlcnJvciIsInBsYWNlaG9sZGVyIiwib25Mb2FkIiwic2V0U2hvd0FsdFRleHQiLCJJbWFnZVByZWxvYWQiLCJwYXJhbSIsImltZ0F0dHJpYnV0ZXMiLCJvcHRzIiwiYXMiLCJpbWFnZVNyY1NldCIsImltYWdlU2l6ZXMiLCJjcm9zc09yaWdpbiIsInJlZmVycmVyUG9saWN5IiwiaXNBcHBSb3V0ZXIiLCJfcmVhY3Rkb20iLCJkZWZhdWx0IiwicHJlbG9hZCIsIlJlYWN0RE9NIiwiX2hlYWQiLCJsaW5rIiwicmVsIiwiaHJlZiIsInVuZGVmaW5lZCIsIkltYWdlIiwidXNlQ29udGV4dCIsInBhZ2VzUm91dGVyIiwiUm91dGVyQ29udGV4dCIsIl9yZWFjdCIsIl9yb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsImNvbmZpZ0NvbnRleHQiLCJjb25maWciLCJ1c2VNZW1vIiwiX2ltYWdlY29uZmlnY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJJbWFnZUNvbmZpZ0NvbnRleHQiLCJhbGxTaXplcyIsIl9pbWFnZWNvbmZpZyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImRldmljZVNpemVzIiwiYyIsImEiLCJiIiwic29ydCIsInVzZVJlZiIsInVzZUVmZmVjdCIsIm9uTG9hZGluZ0NvbXBsZXRlIiwic2hvd0FsdFRleHQiLCJ1c2VTdGF0ZSIsIm1ldGEiLCJpbWdNZXRhIiwiZ2V0SW1nUHJvcHMiLCJkZWZhdWx0TG9hZGVyIiwiX2dldGltZ3Byb3BzIiwicHJvcHMiLCJpbWdDb25mIiwiYmx1ckNvbXBsZXRlIiwiSW1hZ2VFbGVtZW50IiwiZmlsbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/image-component.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/link.js": -/*!***********************************************!*\ - !*** ./node_modules/next/dist/client/link.js ***! - \***********************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(ssr)/./node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(ssr)/./node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(ssr)/./node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(ssr)/./node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n if (true) {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n const prefetchPromise = isAppRouter ? router.prefetch(href, appOptions) : router.prefetch(href, as, options);\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(prefetchPromise).catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll: routerScroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n scroll: routerScroll\n });\n }\n };\n if (isAppRouter) {\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `<a>` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: `<Link>`](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(props, forwardedRef) {\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + ( false ? 0 : \"\"));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current && !isAppRouter) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + ( false ? 0 : \"\"));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n});\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs2QkFTNEJBLHlCQUFBQyxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO3lDQUNEO3dDQUNEO3VDQUNJOzs7O3VDQVFFQSxtQkFBQUEsQ0FBQTs2Q0FDQTs2Q0FDSjs7QUEyRjVCLE1BQU1DLHNCQUFpQkMsbUJBQUFBLENBQUFBLGlKQUFBQTtBQVV2QixNQUFBRCxhQUNFRSxJQUFBQTtTQU9JQyxTQUFPQyxNQUFBQSxFQUFXQyxJQUFBLEVBQUFDLEVBQUEsRUFBQUMsT0FBYSxFQUFBQyxVQUFBLEVBQUFDLFdBQUE7UUFDakM7UUFDRjtJQUVBO0lBQ0EsZ0pBQXVDO1FBQ3JDLENBQUFBLGVBQUEsS0FBQUMsWUFBQUMsVUFBQSxFQUFBTixPQUFBO1FBQ0Y7SUFFQTtJQUNBLDRFQUFZO0lBQ1osWUFBS0U7UUFDSCxDQUFBQSxRQUFNSyxxQkFDSjtRQUNBLE1BQUFBLFNBT0YsT0FBTUMsUUFBQUEsTUFBQUEsS0FBZ0JSLGNBQWtCRSxRQUFNSyxNQUFBQSxHQUFBQSxZQUFBQSxTQUFBQSxPQUFBQSxNQUFBQSxHQUFBQTtRQUU5QyxNQUFBQyxnQkFBQVIsT0FBQSxNQUFBQyxLQUFBLE1BQUFNO1FBQ0Esa0VBQW1DO1lBQ2pDWixXQUFBYyxHQUFBLENBQUFELGdCQUFBO1lBQ0Y7UUFFQTtRQUNBYiwrQkFBZWE7UUFDakJiLFdBQUFlLEdBQUEsQ0FBQUY7SUFFQTtJQUlBLE1BQUFHLGtCQUFBUCxjQUFBUCxPQUFBQyxRQUFBLENBQUFFLE1BQXVERyxjQUFBTixPQUFBQyxRQUFBLENBQUFFLE1BQUFDLElBQUFDO0lBQ3ZEO0lBQ0EsMERBQXNEO0lBQ3REO0lBQ0FVLHlEQUF3Q0M7WUFDbENDLE9BQUFBLENBQVFDLGlCQUFpQkMsS0FBQSxFQUFBSDtZQUMzQkMsSUFBQSxFQUFxQztZQUNyQyxxQ0FBTUQ7WUFDUixNQUFBQTtRQUNGO0lBQ0Y7QUFFQTtTQUNF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RTs7SUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi9zcmMvY2xpZW50L2xpbmsudHN4P2FjZjAiXSwibmFtZXMiOlsiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwiXyIsInJlcXVpcmUiLCJwcmVmZXRjaGVkIiwiU2V0Iiwicm91dGVyIiwicHJlZmV0Y2giLCJ3aW5kb3ciLCJocmVmIiwiYXMiLCJvcHRpb25zIiwiYXBwT3B0aW9ucyIsImlzQXBwUm91dGVyIiwiX2lzbG9jYWx1cmwiLCJpc0xvY2FsVVJMIiwibG9jYWxlIiwicHJlZmV0Y2hlZEtleSIsImhhcyIsImFkZCIsInByZWZldGNoUHJvbWlzZSIsIlByb21pc2UiLCJlcnIiLCJwcm9jZXNzIiwiZW52IiwiY2F0Y2giLCJpc01vZGlmaWVkRXZlbnQiLCJldmVudCIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJldmVudFRhcmdldCIsIm5hdGl2ZUV2ZW50Iiwid2hpY2giLCJtZXRhS2V5IiwiY3RybEtleSIsInNoaWZ0S2V5IiwiYWx0S2V5IiwibGlua0NsaWNrZWQiLCJlIiwicmVwbGFjZSIsInNoYWxsb3ciLCJzY3JvbGwiLCJub2RlTmFtZSIsImlzQW5jaG9yTm9kZU5hbWUiLCJwcmV2ZW50RGVmYXVsdCIsIm5hdmlnYXRlIiwicm91dGVyU2Nyb2xsIiwiUmVhY3QiLCJfcmVhY3QiLCJkZWZhdWx0Iiwic3RhcnRUcmFuc2l0aW9uIiwiZm9ybWF0U3RyaW5nT3JVcmwiLCJ1cmxPYmpPclN0cmluZyIsIl9mb3JtYXR1cmwiLCJmb3JtYXRVcmwiLCJjaGlsZHJlbiIsImNoaWxkcmVuUHJvcCIsImxlZ2FjeUJlaGF2aW9yIiwiYSIsImFwcFJvdXRlciIsInVzZUNvbnRleHQiLCJBcHBSb3V0ZXJDb250ZXh0IiwicGFnZXNSb3V0ZXIiLCJwcmVmZXRjaEVuYWJsZWQiLCJwcmVmZXRjaFByb3AiLCJfcm91dGVycmVkdWNlcnR5cGVzIiwiUHJlZmV0Y2hLaW5kIiwiQVVUTyIsIkZVTEwiLCJhcmdzIiwiY3JlYXRlUHJvcEVycm9yIiwiRXJyb3IiLCJrZXkiLCJleHBlY3RlZCIsImFjdHVhbCIsInJlcXVpcmVkUHJvcHMiLCJPYmplY3QiLCJwcm9wcyIsInBhc3NIcmVmIiwib25DbGljayIsIm9uTW91c2VFbnRlciIsIm9uVG91Y2hTdGFydCIsIm9wdGlvbmFsUHJvcHMiLCJ2YWxUeXBlIiwiaGFzV2FybmVkIiwiY3VycmVudCIsImNvbnNvbGUiLCJ3YXJuIiwiYXNQcm9wIiwiaHJlZlByb3AiLCJwYXRobmFtZSIsImhhc0R5bmFtaWNTZWdtZW50Iiwic3BsaXQiLCJzb21lIiwic2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInVzZU1lbW8iLCJyZXNvbHZlZEhyZWYiLCJyZXNvbHZlZEFzIiwiX3Jlc29sdmVocmVmIiwicmVzb2x2ZUhyZWYiLCJwcmV2aW91c0FzIiwidXNlUmVmIiwiY2hpbGQiLCJOT0RFX0VOViIsIkNoaWxkcmVuIiwib25seSIsInR5cGUiLCJjaGlsZFJlZiIsInNldEludGVyc2VjdGlvblJlZiIsImlzVmlzaWJsZSIsInJlc2V0VmlzaWJsZSIsInVzZUludGVyc2VjdGlvbiIsInJvb3RNYXJnaW4iLCJfdXNlaW50ZXJzZWN0aW9uIiwic2V0UmVmIiwidXNlQ2FsbGJhY2siLCJlbCIsInByZXZpb3VzSHJlZiIsInVzZUVmZmVjdCIsImFwcFByZWZldGNoS2luZCIsInJlZiIsImRlZmF1bHRQcmV2ZW50ZWQiLCJvbk1vdXNlRW50ZXJQcm9wIiwicHJpb3JpdHkiLCJieXBhc3NQcmVmZXRjaGVkQ2hlY2siLCJvblRvdWNoU3RhcnRQcm9wIiwidW5kZWZpbmVkIiwiY2hpbGRQcm9wcyIsImN1ckxvY2FsZSIsImlzTG9jYWxlRG9tYWluIiwibG9jYWxlRG9tYWluIiwiYWRkQmFzZVBhdGgiLCJhZGRMb2NhbGUiLCJfZ2V0ZG9tYWlubG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX2FkZGJhc2VwYXRoIiwiX2FkZGxvY2FsZSIsInJlc3RQcm9wcyIsImNsb25lRWxlbWVudCIsIl9qc3hydW50aW1lIiwianN4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/link.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! - \*******************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return normalizePathTrailingSlash;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst normalizePathTrailingSlash = (path)=>{\n if (!path.startsWith(\"/\") || undefined) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n if (false) {}\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=normalize-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanMiLCJtYXBwaW5ncyI6Ijs7Ozs4REFPYUE7OztlQUFBQTs7O2lEQVB1Qjt1Q0FDVjtBQU1uQixNQUFNQSw2QkFBNkIsQ0FBQ0M7SUFDekMsSUFBSSxDQUFDQSxLQUFLQyxVQUFVLENBQUMsUUFBUUMsU0FBd0MsRUFBRTtRQUNyRSxPQUFPRjtJQUNUO0lBRUEsTUFBTSxFQUFFSyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLFdBQUFBLFNBQVMsRUFBQ1I7SUFDNUMsSUFBSUUsS0FBaUMsRUFBRSxFQVF2QztJQUVBLE9BQU8sS0FBR1MsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDTixZQUFZQyxRQUFRQztBQUNwRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi9zcmMvY2xpZW50L25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaC50cz9iYTAxIl0sIm5hbWVzIjpbIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwicGF0aCIsInN0YXJ0c1dpdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX01BTlVBTF9UUkFJTElOR19TTEFTSCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIiwiX19ORVhUX1RSQUlMSU5HX1NMQVNIIiwidGVzdCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJlbmRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/remove-base-path.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-base-path.js ***! - \***********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeBasePath\", ({\n enumerable: true,\n get: function() {\n return removeBasePath;\n }\n}));\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || \"\";\nfunction removeBasePath(path) {\n if (false) {}\n // Can't trim the basePath if it has zero length!\n if (basePath.length === 0) return path;\n path = path.slice(basePath.length);\n if (!path.startsWith(\"/\")) path = \"/\" + path;\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBSWdCQTs7O2VBQUFBOzs7eUNBSlk7QUFFNUIsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixlQUFlSyxJQUFZO0lBQ3pDLElBQUlILEtBQTBDLEVBQUUsRUFJaEQ7SUFFQSxpREFBaUQ7SUFDakQsSUFBSUQsU0FBU08sTUFBTSxLQUFLLEdBQUcsT0FBT0g7SUFFbENBLE9BQU9BLEtBQUtJLEtBQUssQ0FBQ1IsU0FBU08sTUFBTTtJQUNqQyxJQUFJLENBQUNILEtBQUtLLFVBQVUsQ0FBQyxNQUFNTCxPQUFPLE1BQUlBO0lBQ3RDLE9BQU9BO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vc3JjL2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLnRzP2ZhNzIiXSwibmFtZXMiOlsicmVtb3ZlQmFzZVBhdGgiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsIl9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCIsImhhc0Jhc2VQYXRoIiwibGVuZ3RoIiwic2xpY2UiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/remove-base-path.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/request-idle-callback.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/request-idle-callback.js ***! - \****************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZ0JhQSxvQkFBa0I7ZUFBbEJBOztJQWhCQUMscUJBQW1CO2VBQW5CQTs7O0FBQU4sTUFBTUEsc0JBQ1gsT0FBUUMsU0FBUyxlQUNmQSxLQUFLRCxtQkFBbUIsSUFDeEJDLEtBQUtELG1CQUFtQixDQUFDRSxJQUFJLENBQUNDLFdBQ2hDLFNBQVVDLEVBQXVCO0lBQy9CLElBQUlDLFFBQVFDLEtBQUtDLEdBQUc7SUFDcEIsT0FBT04sS0FBS08sVUFBVSxDQUFDO1FBQ3JCSixHQUFHO1lBQ0RLLFlBQVk7WUFDWkMsZUFBZTtnQkFDYixPQUFPQyxLQUFLQyxHQUFHLENBQUMsR0FBRyxLQUFNTixDQUFBQSxLQUFLQyxHQUFHLEtBQUtGLEtBQUFBO1lBQ3hDO1FBQ0Y7SUFDRixHQUFHO0FBQ0w7QUFFSyxNQUFNTixxQkFDWCxPQUFRRSxTQUFTLGVBQ2ZBLEtBQUtGLGtCQUFrQixJQUN2QkUsS0FBS0Ysa0JBQWtCLENBQUNHLElBQUksQ0FBQ0MsV0FDL0IsU0FBVVUsRUFBVTtJQUNsQixPQUFPQyxhQUFhRDtBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi9zcmMvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay50cz8wNWY0Il0sIm5hbWVzIjpbImNhbmNlbElkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJzZWxmIiwiYmluZCIsIndpbmRvdyIsImNiIiwic3RhcnQiLCJEYXRlIiwibm93Iiwic2V0VGltZW91dCIsImRpZFRpbWVvdXQiLCJ0aW1lUmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImlkIiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/request-idle-callback.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/resolve-href.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/resolve-href.js ***! - \*******************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXNvbHZlLWhyZWYuanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0F5QmdCQTs7O2VBQUFBOzs7eUNBdkJ1Qjt1Q0FDRjtrQ0FDaEI7bUNBQ29CO29EQUNFO3dDQUNoQjtvQ0FDSTsyQ0FDRDtBQWdCdkIsU0FBU0EsWUFDZEMsTUFBa0IsRUFDbEJDLElBQVMsRUFDVEMsU0FBbUI7SUFFbkIsNENBQTRDO0lBQzVDLElBQUlDO0lBQ0osSUFBSUMsY0FBYyxPQUFPSCxTQUFTLFdBQVdBLE9BQU9JLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDSjtJQUV6RSw2REFBNkQ7SUFDN0QsbURBQW1EO0lBQ25ELE1BQU1LLGdCQUFnQkYsWUFBWUcsS0FBSyxDQUFDO0lBQ3hDLE1BQU1DLHFCQUFxQkYsZ0JBQ3ZCRixZQUFZSyxLQUFLLENBQUNILGFBQWEsQ0FBQyxFQUFFLENBQUNJLE1BQU0sSUFDekNOO0lBRUosTUFBTU8sV0FBV0gsbUJBQW1CSSxLQUFLLENBQUMsS0FBSztJQUUvQyxJQUFJLENBQUNELFFBQVEsQ0FBQyxFQUFFLElBQUksSUFBSUosS0FBSyxDQUFDLGNBQWM7UUFDMUNNLFFBQVFDLEtBQUssQ0FDWCxtQkFBaUJWLGNBQVksdUNBQW9DSixPQUFPZSxRQUFRLEdBQUM7UUFFbkYsTUFBTUMsZ0JBQWdCQyxDQUFBQSxHQUFBQSxPQUFBQSx3QkFBd0IsRUFBQ1Q7UUFDL0NKLGNBQWMsQ0FBQ0UsZ0JBQWdCQSxhQUFhLENBQUMsRUFBRSxHQUFHLE1BQU1VO0lBQzFEO0lBRUEsMkRBQTJEO0lBQzNELElBQUksQ0FBQ0UsQ0FBQUEsR0FBQUEsWUFBQUEsVUFBVSxFQUFDZCxjQUFjO1FBQzVCLE9BQVFGLFlBQVk7WUFBQ0U7U0FBWSxHQUFHQTtJQUN0QztJQUVBLElBQUk7UUFDRkQsT0FBTyxJQUFJZ0IsSUFDVGYsWUFBWWdCLFVBQVUsQ0FBQyxPQUFPcEIsT0FBT3FCLE1BQU0sR0FBR3JCLE9BQU9lLFFBQVEsRUFDN0Q7SUFFSixFQUFFLE9BQU9PLEdBQUc7UUFDVixrREFBa0Q7UUFDbERuQixPQUFPLElBQUlnQixJQUFJLEtBQUs7SUFDdEI7SUFFQSxJQUFJO1FBQ0YsTUFBTUksV0FBVyxJQUFJSixJQUFJZixhQUFhRDtRQUN0Q29CLFNBQVNSLFFBQVEsR0FBR1MsQ0FBQUEsR0FBQUEsd0JBQUFBLDBCQUEwQixFQUFDRCxTQUFTUixRQUFRO1FBQ2hFLElBQUlVLGlCQUFpQjtRQUVyQixJQUNFQyxDQUFBQSxHQUFBQSxRQUFBQSxjQUFjLEVBQUNILFNBQVNSLFFBQVEsS0FDaENRLFNBQVNJLFlBQVksSUFDckJ6QixXQUNBO1lBQ0EsTUFBTTBCLFFBQVFDLENBQUFBLEdBQUFBLGFBQUFBLHNCQUFzQixFQUFDTixTQUFTSSxZQUFZO1lBRTFELE1BQU0sRUFBRUcsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUN0Q1QsU0FBU1IsUUFBUSxFQUNqQlEsU0FBU1IsUUFBUSxFQUNqQmE7WUFHRixJQUFJRSxRQUFRO2dCQUNWTCxpQkFBaUJwQixDQUFBQSxHQUFBQSxXQUFBQSxvQkFBb0IsRUFBQztvQkFDcENVLFVBQVVlO29CQUNWRyxNQUFNVixTQUFTVSxJQUFJO29CQUNuQkwsT0FBT00sQ0FBQUEsR0FBQUEsTUFBQUEsSUFBSSxFQUFDTixPQUFPRztnQkFDckI7WUFDRjtRQUNGO1FBRUEsb0VBQW9FO1FBQ3BFLE1BQU1JLGVBQ0paLFNBQVNhLE1BQU0sS0FBS2pDLEtBQUtpQyxNQUFNLEdBQzNCYixTQUFTdEIsSUFBSSxDQUFDUSxLQUFLLENBQUNjLFNBQVNhLE1BQU0sQ0FBQzFCLE1BQU0sSUFDMUNhLFNBQVN0QixJQUFJO1FBRW5CLE9BQU9DLFlBQ0g7WUFBQ2lDO1lBQWNWLGtCQUFrQlU7U0FBYSxHQUM5Q0E7SUFDTixFQUFFLE9BQU9iLEdBQUc7UUFDVixPQUFPcEIsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3JDO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vc3JjL2NsaWVudC9yZXNvbHZlLWhyZWYudHM/ZTZkMiJdLCJuYW1lcyI6WyJyZXNvbHZlSHJlZiIsInJvdXRlciIsImhyZWYiLCJyZXNvbHZlQXMiLCJiYXNlIiwidXJsQXNTdHJpbmciLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwibGVuZ3RoIiwidXJsUGFydHMiLCJzcGxpdCIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhuYW1lIiwibm9ybWFsaXplZFVybCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImlzTG9jYWxVUkwiLCJVUkwiLCJzdGFydHNXaXRoIiwiYXNQYXRoIiwiXyIsImZpbmFsVXJsIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJpbnRlcnBvbGF0ZWRBcyIsImlzRHluYW1pY1JvdXRlIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwicmVzdWx0IiwicGFyYW1zIiwiaW50ZXJwb2xhdGVBcyIsImhhc2giLCJvbWl0IiwicmVzb2x2ZWRIcmVmIiwib3JpZ2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/resolve-href.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/use-intersection.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/use-intersection.js ***! - \***********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useIntersection\", ({\n enumerable: true,\n get: function() {\n return useIntersection;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(ssr)/./node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id, observer, elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef, rootMargin, disabled } = param;\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react.useState)(false);\n const elementRef = (0, _react.useRef)(null);\n const setElement = (0, _react.useCallback)((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react.useEffect)(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestidlecallback.requestIdleCallback)(()=>setVisible(true));\n return ()=>(0, _requestidlecallback.cancelIdleCallback)(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react.useCallback)(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC91c2UtaW50ZXJzZWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBK0ZnQkE7OztlQUFBQTs7O21DQS9GeUM7aURBSWxEO0FBcUJQLE1BQU1DLDBCQUEwQixPQUFPQyx5QkFBeUI7QUFFaEUsTUFBTUMsWUFBWSxJQUFJQztBQUN0QixNQUFNQyxTQUF1QixFQUFFO0FBRS9CLFNBQVNDLGVBQWVDLE9BQW9DO0lBQzFELE1BQU1DLEtBQUs7UUFDVEMsTUFBTUYsUUFBUUUsSUFBSSxJQUFJO1FBQ3RCQyxRQUFRSCxRQUFRSSxVQUFVLElBQUk7SUFDaEM7SUFDQSxNQUFNQyxXQUFXUCxPQUFPUSxJQUFJLENBQzFCLENBQUNDLE1BQVFBLElBQUlMLElBQUksS0FBS0QsR0FBR0MsSUFBSSxJQUFJSyxJQUFJSixNQUFNLEtBQUtGLEdBQUdFLE1BQU07SUFFM0QsSUFBSUs7SUFFSixJQUFJSCxVQUFVO1FBQ1pHLFdBQVdaLFVBQVVhLEdBQUcsQ0FBQ0o7UUFDekIsSUFBSUcsVUFBVTtZQUNaLE9BQU9BO1FBQ1Q7SUFDRjtJQUVBLE1BQU1FLFdBQVcsSUFBSWI7SUFDckIsTUFBTWMsV0FBVyxJQUFJaEIscUJBQXFCLENBQUNpQjtRQUN6Q0EsUUFBUUMsT0FBTyxDQUFDLENBQUNDO1lBQ2YsTUFBTUMsV0FBV0wsU0FBU0QsR0FBRyxDQUFDSyxNQUFNRSxNQUFNO1lBQzFDLE1BQU1DLFlBQVlILE1BQU1JLGNBQWMsSUFBSUosTUFBTUssaUJBQWlCLEdBQUc7WUFDcEUsSUFBSUosWUFBWUUsV0FBVztnQkFDekJGLFNBQVNFO1lBQ1g7UUFDRjtJQUNGLEdBQUdqQjtJQUNIUSxXQUFXO1FBQ1RQO1FBQ0FVO1FBQ0FEO0lBQ0Y7SUFFQVosT0FBT3NCLElBQUksQ0FBQ25CO0lBQ1pMLFVBQVV5QixHQUFHLENBQUNwQixJQUFJTztJQUNsQixPQUFPQTtBQUNUO0FBRUEsU0FBU2MsUUFDUEMsT0FBZ0IsRUFDaEJSLFFBQXlCLEVBQ3pCZixPQUFvQztJQUVwQyxNQUFNLEVBQUVDLEVBQUUsRUFBRVUsUUFBUSxFQUFFRCxRQUFRLEVBQUUsR0FBR1gsZUFBZUM7SUFDbERVLFNBQVNXLEdBQUcsQ0FBQ0UsU0FBU1I7SUFFdEJKLFNBQVNXLE9BQU8sQ0FBQ0M7SUFDakIsT0FBTyxTQUFTQztRQUNkZCxTQUFTZSxNQUFNLENBQUNGO1FBQ2hCWixTQUFTYSxTQUFTLENBQUNEO1FBRW5CLHVEQUF1RDtRQUN2RCxJQUFJYixTQUFTZ0IsSUFBSSxLQUFLLEdBQUc7WUFDdkJmLFNBQVNnQixVQUFVO1lBQ25CL0IsVUFBVTZCLE1BQU0sQ0FBQ3hCO1lBQ2pCLE1BQU0yQixRQUFROUIsT0FBTytCLFNBQVMsQ0FDNUIsQ0FBQ3RCLE1BQVFBLElBQUlMLElBQUksS0FBS0QsR0FBR0MsSUFBSSxJQUFJSyxJQUFJSixNQUFNLEtBQUtGLEdBQUdFLE1BQU07WUFFM0QsSUFBSXlCLFFBQVEsQ0FBQyxHQUFHO2dCQUNkOUIsT0FBT2dDLE1BQU0sQ0FBQ0YsT0FBTztZQUN2QjtRQUNGO0lBQ0Y7QUFDRjtBQUVPLFNBQVNuQyxnQkFBbUNzQyxLQUlqQztJQUppQyxNQUNqREMsT0FBTyxFQUNQNUIsVUFBVSxFQUNWNkIsUUFBUSxFQUNRLEdBSmlDRjtJQUtqRCxNQUFNRyxhQUFzQkQsWUFBWSxDQUFDdkM7SUFFekMsTUFBTSxDQUFDeUMsU0FBU0MsV0FBVyxHQUFHQyxDQUFBQSxHQUFBQSxPQUFBQSxRQUFRLEVBQUM7SUFDdkMsTUFBTUMsYUFBYUMsQ0FBQUEsR0FBQUEsT0FBQUEsTUFBTSxFQUFXO0lBQ3BDLE1BQU1DLGFBQWFDLENBQUFBLEdBQUFBLE9BQUFBLFdBQVcsRUFBQyxDQUFDbEI7UUFDOUJlLFdBQVdJLE9BQU8sR0FBR25CO0lBQ3ZCLEdBQUcsRUFBRTtJQUVMb0IsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBUyxFQUFDO1FBQ1IsSUFBSWpELHlCQUF5QjtZQUMzQixJQUFJd0MsY0FBY0MsU0FBUztZQUUzQixNQUFNWixVQUFVZSxXQUFXSSxPQUFPO1lBQ2xDLElBQUluQixXQUFXQSxRQUFRcUIsT0FBTyxFQUFFO2dCQUM5QixNQUFNcEIsWUFBWUYsUUFDaEJDLFNBQ0EsQ0FBQ04sWUFBY0EsYUFBYW1CLFdBQVduQixZQUN2QztvQkFBRWYsTUFBTThCLFdBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFFBQVNVLE9BQU87b0JBQUV0QztnQkFBVztnQkFHdkMsT0FBT29CO1lBQ1Q7UUFDRixPQUFPO1lBQ0wsSUFBSSxDQUFDVyxTQUFTO2dCQUNaLE1BQU1VLGVBQWVDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQyxJQUFNVixXQUFXO2dCQUMxRCxPQUFPLElBQU1XLENBQUFBLEdBQUFBLHFCQUFBQSxrQkFBa0IsRUFBQ0Y7WUFDbEM7UUFDRjtJQUNBLHVEQUF1RDtJQUN6RCxHQUFHO1FBQUNYO1FBQVk5QjtRQUFZNEI7UUFBU0c7UUFBU0csV0FBV0ksT0FBTztLQUFDO0lBRWpFLE1BQU1NLGVBQWVQLENBQUFBLEdBQUFBLE9BQUFBLFdBQVcsRUFBQztRQUMvQkwsV0FBVztJQUNiLEdBQUcsRUFBRTtJQUVMLE9BQU87UUFBQ0k7UUFBWUw7UUFBU2E7S0FBYTtBQUM1QyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi9zcmMvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24udHN4PzU3ZWUiXSwibmFtZXMiOlsidXNlSW50ZXJzZWN0aW9uIiwiaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIm9ic2VydmVycyIsIk1hcCIsImlkTGlzdCIsImNyZWF0ZU9ic2VydmVyIiwib3B0aW9ucyIsImlkIiwicm9vdCIsIm1hcmdpbiIsInJvb3RNYXJnaW4iLCJleGlzdGluZyIsImZpbmQiLCJvYmoiLCJpbnN0YW5jZSIsImdldCIsImVsZW1lbnRzIiwib2JzZXJ2ZXIiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImVudHJ5IiwiY2FsbGJhY2siLCJ0YXJnZXQiLCJpc1Zpc2libGUiLCJpc0ludGVyc2VjdGluZyIsImludGVyc2VjdGlvblJhdGlvIiwicHVzaCIsInNldCIsIm9ic2VydmUiLCJlbGVtZW50IiwidW5vYnNlcnZlIiwiZGVsZXRlIiwic2l6ZSIsImRpc2Nvbm5lY3QiLCJpbmRleCIsImZpbmRJbmRleCIsInNwbGljZSIsInBhcmFtIiwicm9vdFJlZiIsImRpc2FibGVkIiwiaXNEaXNhYmxlZCIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwidXNlU3RhdGUiLCJlbGVtZW50UmVmIiwidXNlUmVmIiwic2V0RWxlbWVudCIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsInVzZUVmZmVjdCIsInRhZ05hbWUiLCJpZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwicmVzZXRWaXNpYmxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/use-intersection.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/compiled/anser/index.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/compiled/anser/index.js ***! - \********************************************************/ -/***/ ((module) => { - -eval("(()=>{\"use strict\";var e={211:e=>{var r=function(){function defineProperties(e,r){for(var n=0;n<r.length;n++){var s=r[n];s.enumerable=s.enumerable||false;s.configurable=true;if(\"value\"in s)s.writable=true;Object.defineProperty(e,s.key,s)}}return function(e,r,n){if(r)defineProperties(e.prototype,r);if(n)defineProperties(e,n);return e}}();function _classCallCheck(e,r){if(!(e instanceof r)){throw new TypeError(\"Cannot call a class as a function\")}}var n=[[{color:\"0, 0, 0\",class:\"ansi-black\"},{color:\"187, 0, 0\",class:\"ansi-red\"},{color:\"0, 187, 0\",class:\"ansi-green\"},{color:\"187, 187, 0\",class:\"ansi-yellow\"},{color:\"0, 0, 187\",class:\"ansi-blue\"},{color:\"187, 0, 187\",class:\"ansi-magenta\"},{color:\"0, 187, 187\",class:\"ansi-cyan\"},{color:\"255,255,255\",class:\"ansi-white\"}],[{color:\"85, 85, 85\",class:\"ansi-bright-black\"},{color:\"255, 85, 85\",class:\"ansi-bright-red\"},{color:\"0, 255, 0\",class:\"ansi-bright-green\"},{color:\"255, 255, 85\",class:\"ansi-bright-yellow\"},{color:\"85, 85, 255\",class:\"ansi-bright-blue\"},{color:\"255, 85, 255\",class:\"ansi-bright-magenta\"},{color:\"85, 255, 255\",class:\"ansi-bright-cyan\"},{color:\"255, 255, 255\",class:\"ansi-bright-white\"}]];var s=function(){r(Anser,null,[{key:\"escapeForHtml\",value:function escapeForHtml(e){return(new Anser).escapeForHtml(e)}},{key:\"linkify\",value:function linkify(e){return(new Anser).linkify(e)}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return(new Anser).ansiToHtml(e,r)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){return(new Anser).ansiToJson(e,r)}},{key:\"ansiToText\",value:function ansiToText(e){return(new Anser).ansiToText(e)}}]);function Anser(){_classCallCheck(this,Anser);this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null;this.bright=0}r(Anser,[{key:\"setupPalette\",value:function setupPalette(){this.PALETTE_COLORS=[];for(var e=0;e<2;++e){for(var r=0;r<8;++r){this.PALETTE_COLORS.push(n[e][r].color)}}var s=[0,95,135,175,215,255];var i=function format(e,r,n){return s[e]+\", \"+s[r]+\", \"+s[n]};var t=void 0,o=void 0,a=void 0;for(var l=0;l<6;++l){for(var c=0;c<6;++c){for(var u=0;u<6;++u){this.PALETTE_COLORS.push(i(l,c,u))}}}var f=8;for(var h=0;h<24;++h,f+=10){this.PALETTE_COLORS.push(i(f,f,f))}}},{key:\"escapeForHtml\",value:function escapeForHtml(e){return e.replace(/[&<>]/gm,(function(e){return e==\"&\"?\"&\":e==\"<\"?\"<\":e==\">\"?\">\":\"\"}))}},{key:\"linkify\",value:function linkify(e){return e.replace(/(https?:\\/\\/[^\\s]+)/gm,(function(e){return'<a href=\"'+e+'\">'+e+\"</a>\"}))}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return this.process(e,r,true)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){r=r||{};r.json=true;r.clearLine=false;return this.process(e,r,true)}},{key:\"ansiToText\",value:function ansiToText(e){return this.process(e,{},false)}},{key:\"process\",value:function process(e,r,n){var s=this;var i=this;var t=e.split(/\\033\\[/);var o=t.shift();if(r===undefined||r===null){r={}}r.clearLine=/\\r/.test(e);var a=t.map((function(e){return s.processChunk(e,r,n)}));if(r&&r.json){var l=i.processChunkJson(\"\");l.content=o;l.clearLine=r.clearLine;a.unshift(l);if(r.remove_empty){a=a.filter((function(e){return!e.isEmpty()}))}return a}else{a.unshift(o)}return a.join(\"\")}},{key:\"processChunkJson\",value:function processChunkJson(e,r,s){r=typeof r==\"undefined\"?{}:r;var i=r.use_classes=typeof r.use_classes!=\"undefined\"&&r.use_classes;var t=r.key=i?\"class\":\"color\";var o={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:r.clearLine,decoration:null,was_processed:false,isEmpty:function isEmpty(){return!o.content}};var a=e.match(/^([!\\x3c-\\x3f]*)([\\d;]*)([\\x20-\\x2c]*[\\x40-\\x7e])([\\s\\S]*)/m);if(!a)return o;var l=o.content=a[4];var c=a[2].split(\";\");if(a[1]!==\"\"||a[3]!==\"m\"){return o}if(!s){return o}var u=this;u.decoration=null;while(c.length>0){var f=c.shift();var h=parseInt(f);if(isNaN(h)||h===0){u.fg=u.bg=u.decoration=null}else if(h===1){u.decoration=\"bold\"}else if(h===2){u.decoration=\"dim\"}else if(h==3){u.decoration=\"italic\"}else if(h==4){u.decoration=\"underline\"}else if(h==5){u.decoration=\"blink\"}else if(h===7){u.decoration=\"reverse\"}else if(h===8){u.decoration=\"hidden\"}else if(h===9){u.decoration=\"strikethrough\"}else if(h==39){u.fg=null}else if(h==49){u.bg=null}else if(h>=30&&h<38){u.fg=n[0][h%10][t]}else if(h>=90&&h<98){u.fg=n[1][h%10][t]}else if(h>=40&&h<48){u.bg=n[0][h%10][t]}else if(h>=100&&h<108){u.bg=n[1][h%10][t]}else if(h===38||h===48){var p=h===38;if(c.length>=1){var g=c.shift();if(g===\"5\"&&c.length>=1){var v=parseInt(c.shift());if(v>=0&&v<=255){if(!i){if(!this.PALETTE_COLORS){u.setupPalette()}if(p){u.fg=this.PALETTE_COLORS[v]}else{u.bg=this.PALETTE_COLORS[v]}}else{var d=v>=16?\"ansi-palette-\"+v:n[v>7?1:0][v%8][\"class\"];if(p){u.fg=d}else{u.bg=d}}}}else if(g===\"2\"&&c.length>=3){var _=parseInt(c.shift());var b=parseInt(c.shift());var y=parseInt(c.shift());if(_>=0&&_<=255&&b>=0&&b<=255&&y>=0&&y<=255){var k=_+\", \"+b+\", \"+y;if(!i){if(p){u.fg=k}else{u.bg=k}}else{if(p){u.fg=\"ansi-truecolor\";u.fg_truecolor=k}else{u.bg=\"ansi-truecolor\";u.bg_truecolor=k}}}}}}}if(u.fg===null&&u.bg===null&&u.decoration===null){return o}else{var T=[];var m=[];var w={};o.fg=u.fg;o.bg=u.bg;o.fg_truecolor=u.fg_truecolor;o.bg_truecolor=u.bg_truecolor;o.decoration=u.decoration;o.was_processed=true;return o}}},{key:\"processChunk\",value:function processChunk(e,r,n){var s=this;var i=this;r=r||{};var t=this.processChunkJson(e,r,n);if(r.json){return t}if(t.isEmpty()){return\"\"}if(!t.was_processed){return t.content}var o=r.use_classes;var a=[];var l=[];var c={};var u=function render_data(e){var r=[];var n=void 0;for(n in e){if(e.hasOwnProperty(n)){r.push(\"data-\"+n+'=\"'+s.escapeForHtml(e[n])+'\"')}}return r.length>0?\" \"+r.join(\" \"):\"\"};if(t.fg){if(o){l.push(t.fg+\"-fg\");if(t.fg_truecolor!==null){c[\"ansi-truecolor-fg\"]=t.fg_truecolor;t.fg_truecolor=null}}else{a.push(\"color:rgb(\"+t.fg+\")\")}}if(t.bg){if(o){l.push(t.bg+\"-bg\");if(t.bg_truecolor!==null){c[\"ansi-truecolor-bg\"]=t.bg_truecolor;t.bg_truecolor=null}}else{a.push(\"background-color:rgb(\"+t.bg+\")\")}}if(t.decoration){if(o){l.push(\"ansi-\"+t.decoration)}else if(t.decoration===\"bold\"){a.push(\"font-weight:bold\")}else if(t.decoration===\"dim\"){a.push(\"opacity:0.5\")}else if(t.decoration===\"italic\"){a.push(\"font-style:italic\")}else if(t.decoration===\"reverse\"){a.push(\"filter:invert(100%)\")}else if(t.decoration===\"hidden\"){a.push(\"visibility:hidden\")}else if(t.decoration===\"strikethrough\"){a.push(\"text-decoration:line-through\")}else{a.push(\"text-decoration:\"+t.decoration)}}if(o){return'<span class=\"'+l.join(\" \")+'\"'+u(c)+\">\"+t.content+\"</span>\"}else{return'<span style=\"'+a.join(\";\")+'\"'+u(c)+\">\"+t.content+\"</span>\"}}}]);return Anser}();e.exports=s}};var r={};function __nccwpck_require__(n){var s=r[n];if(s!==undefined){return s.exports}var i=r[n]={exports:{}};var t=true;try{e[n](i,i.exports,__nccwpck_require__);t=false}finally{if(t)delete r[n]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n=__nccwpck_require__(211);module.exports=n})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBLE1BQU0sYUFBYSxPQUFPLFFBQVEsaUJBQWlCLCtCQUErQixZQUFZLFdBQVcsS0FBSyxXQUFXLGlDQUFpQyxvQkFBb0IsK0JBQStCLGtDQUFrQyx1QkFBdUIscUNBQXFDLDJCQUEyQixVQUFVLEdBQUcsOEJBQThCLHNCQUFzQiwwREFBMEQsU0FBUyxtQ0FBbUMsRUFBRSxtQ0FBbUMsRUFBRSxxQ0FBcUMsRUFBRSx3Q0FBd0MsRUFBRSxvQ0FBb0MsRUFBRSx5Q0FBeUMsRUFBRSxzQ0FBc0MsRUFBRSx1Q0FBdUMsSUFBSSw2Q0FBNkMsRUFBRSw0Q0FBNEMsRUFBRSw0Q0FBNEMsRUFBRSxnREFBZ0QsRUFBRSw2Q0FBNkMsRUFBRSxpREFBaUQsRUFBRSw4Q0FBOEMsRUFBRSxnREFBZ0QsR0FBRyxpQkFBaUIsZUFBZSxvREFBb0Qsb0NBQW9DLEVBQUUsd0NBQXdDLDhCQUE4QixFQUFFLGdEQUFnRCxtQ0FBbUMsRUFBRSxnREFBZ0QsbUNBQW1DLEVBQUUsOENBQThDLGlDQUFpQyxHQUFHLGlCQUFpQiw0QkFBNEIseURBQXlELGNBQWMsVUFBVSxpREFBaUQsdUJBQXVCLFlBQVksSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLHlDQUF5Qyw2QkFBNkIsNkJBQTZCLGlDQUFpQywrQkFBK0IsWUFBWSxJQUFJLEtBQUssWUFBWSxJQUFJLEtBQUssWUFBWSxJQUFJLEtBQUsscUNBQXFDLFFBQVEsWUFBWSxLQUFLLFdBQVcscUNBQXFDLEVBQUUsb0RBQW9ELHdDQUF3QyxvQkFBb0IsY0FBYyxjQUFjLEtBQUssSUFBSSxFQUFFLHdDQUF3QyxzREFBc0Qsa0NBQWtDLElBQUksRUFBRSxnREFBZ0QsK0JBQStCLEVBQUUsZ0RBQWdELFFBQVEsWUFBWSxrQkFBa0IsK0JBQStCLEVBQUUsOENBQThDLHdCQUF3QixTQUFTLEVBQUUsNENBQTRDLFdBQVcsV0FBVyx3QkFBd0IsZ0JBQWdCLDRCQUE0QixLQUFLLHlCQUF5Qix5QkFBeUIsNkJBQTZCLEdBQUcsY0FBYyw2QkFBNkIsWUFBWSx3QkFBd0IsYUFBYSxtQkFBbUIsd0JBQXdCLG1CQUFtQixHQUFHLFNBQVMsS0FBSyxhQUFhLG1CQUFtQixFQUFFLDhEQUE4RCwwQkFBMEIsR0FBRyxxRUFBcUUsOEJBQThCLE9BQU8sbUpBQW1KLG1CQUFtQixvQ0FBb0MseUNBQXlDLGVBQWUscUJBQXFCLG1CQUFtQixHQUFHLDBCQUEwQixTQUFTLE9BQU8sU0FBUyxXQUFXLGtCQUFrQixrQkFBa0IsZ0JBQWdCLGtCQUFrQixvQkFBb0IsNEJBQTRCLGVBQWUsb0JBQW9CLGVBQWUsbUJBQW1CLGNBQWMsc0JBQXNCLGNBQWMseUJBQXlCLGNBQWMscUJBQXFCLGVBQWUsdUJBQXVCLGVBQWUsc0JBQXNCLGVBQWUsNkJBQTZCLGVBQWUsVUFBVSxlQUFlLFVBQVUscUJBQXFCLG1CQUFtQixxQkFBcUIsbUJBQW1CLHFCQUFxQixtQkFBbUIsdUJBQXVCLG1CQUFtQix3QkFBd0IsYUFBYSxnQkFBZ0IsZ0JBQWdCLHlCQUF5QiwwQkFBMEIsaUJBQWlCLE9BQU8seUJBQXlCLGlCQUFpQixNQUFNLDRCQUE0QixLQUFLLDZCQUE2QixLQUFLLHVEQUF1RCxNQUFNLE9BQU8sS0FBSyxVQUFVLDhCQUE4QiwwQkFBMEIsMEJBQTBCLDBCQUEwQiw2Q0FBNkMsc0JBQXNCLE9BQU8sTUFBTSxPQUFPLEtBQUssUUFBUSxLQUFLLE1BQU0sc0JBQXNCLGlCQUFpQixLQUFLLHNCQUFzQix1QkFBdUIsa0RBQWtELFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxVQUFVLFVBQVUsOEJBQThCLDhCQUE4QiwwQkFBMEIscUJBQXFCLFdBQVcsRUFBRSxzREFBc0QsV0FBVyxXQUFXLFFBQVEsbUNBQW1DLFdBQVcsU0FBUyxnQkFBZ0IsU0FBUyxxQkFBcUIsaUJBQWlCLG9CQUFvQixTQUFTLFNBQVMsU0FBUyw4QkFBOEIsU0FBUyxhQUFhLFlBQVksd0JBQXdCLGtEQUFrRCxzQ0FBc0MsU0FBUyxNQUFNLG1CQUFtQiwwQkFBMEIsc0NBQXNDLHFCQUFxQixLQUFLLCtCQUErQixTQUFTLE1BQU0sbUJBQW1CLDBCQUEwQixzQ0FBc0MscUJBQXFCLEtBQUssMENBQTBDLGlCQUFpQixNQUFNLDZCQUE2QiwrQkFBK0IsMkJBQTJCLDhCQUE4QixzQkFBc0IsaUNBQWlDLDRCQUE0QixrQ0FBa0MsOEJBQThCLGlDQUFpQyw0QkFBNEIsd0NBQXdDLHVDQUF1QyxLQUFLLHlDQUF5QyxNQUFNLG1FQUFtRSxLQUFLLCtCQUErQixzQ0FBc0MsR0FBRyxhQUFhLEdBQUcsY0FBYyxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxzQ0FBc0MsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsaUZBQWlGLCtCQUErQixpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzP2E0YWUiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezIxMTplPT57dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKGUscil7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBzPXJbbl07cy5lbnVtZXJhYmxlPXMuZW51bWVyYWJsZXx8ZmFsc2U7cy5jb25maWd1cmFibGU9dHJ1ZTtpZihcInZhbHVlXCJpbiBzKXMud3JpdGFibGU9dHJ1ZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxzLmtleSxzKX19cmV0dXJuIGZ1bmN0aW9uKGUscixuKXtpZihyKWRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUscik7aWYobilkZWZpbmVQcm9wZXJ0aWVzKGUsbik7cmV0dXJuIGV9fSgpO2Z1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhlLHIpe2lmKCEoZSBpbnN0YW5jZW9mIHIpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfX12YXIgbj1bW3tjb2xvcjpcIjAsIDAsIDBcIixjbGFzczpcImFuc2ktYmxhY2tcIn0se2NvbG9yOlwiMTg3LCAwLCAwXCIsY2xhc3M6XCJhbnNpLXJlZFwifSx7Y29sb3I6XCIwLCAxODcsIDBcIixjbGFzczpcImFuc2ktZ3JlZW5cIn0se2NvbG9yOlwiMTg3LCAxODcsIDBcIixjbGFzczpcImFuc2kteWVsbG93XCJ9LHtjb2xvcjpcIjAsIDAsIDE4N1wiLGNsYXNzOlwiYW5zaS1ibHVlXCJ9LHtjb2xvcjpcIjE4NywgMCwgMTg3XCIsY2xhc3M6XCJhbnNpLW1hZ2VudGFcIn0se2NvbG9yOlwiMCwgMTg3LCAxODdcIixjbGFzczpcImFuc2ktY3lhblwifSx7Y29sb3I6XCIyNTUsMjU1LDI1NVwiLGNsYXNzOlwiYW5zaS13aGl0ZVwifV0sW3tjb2xvcjpcIjg1LCA4NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LWJsYWNrXCJ9LHtjb2xvcjpcIjI1NSwgODUsIDg1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1yZWRcIn0se2NvbG9yOlwiMCwgMjU1LCAwXCIsY2xhc3M6XCJhbnNpLWJyaWdodC1ncmVlblwifSx7Y29sb3I6XCIyNTUsIDI1NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXllbGxvd1wifSx7Y29sb3I6XCI4NSwgODUsIDI1NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtYmx1ZVwifSx7Y29sb3I6XCIyNTUsIDg1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LW1hZ2VudGFcIn0se2NvbG9yOlwiODUsIDI1NSwgMjU1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1jeWFuXCJ9LHtjb2xvcjpcIjI1NSwgMjU1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXdoaXRlXCJ9XV07dmFyIHM9ZnVuY3Rpb24oKXtyKEFuc2VyLG51bGwsW3trZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4obmV3IEFuc2VyKS5lc2NhcGVGb3JIdG1sKGUpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybihuZXcgQW5zZXIpLmxpbmtpZnkoZSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9IdG1sKGUscil9fSx7a2V5OlwiYW5zaVRvSnNvblwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0pzb24oZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9Kc29uKGUscil9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuKG5ldyBBbnNlcikuYW5zaVRvVGV4dChlKX19XSk7ZnVuY3Rpb24gQW5zZXIoKXtfY2xhc3NDYWxsQ2hlY2sodGhpcyxBbnNlcik7dGhpcy5mZz10aGlzLmJnPXRoaXMuZmdfdHJ1ZWNvbG9yPXRoaXMuYmdfdHJ1ZWNvbG9yPW51bGw7dGhpcy5icmlnaHQ9MH1yKEFuc2VyLFt7a2V5Olwic2V0dXBQYWxldHRlXCIsdmFsdWU6ZnVuY3Rpb24gc2V0dXBQYWxldHRlKCl7dGhpcy5QQUxFVFRFX0NPTE9SUz1bXTtmb3IodmFyIGU9MDtlPDI7KytlKXtmb3IodmFyIHI9MDtyPDg7KytyKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2gobltlXVtyXS5jb2xvcil9fXZhciBzPVswLDk1LDEzNSwxNzUsMjE1LDI1NV07dmFyIGk9ZnVuY3Rpb24gZm9ybWF0KGUscixuKXtyZXR1cm4gc1tlXStcIiwgXCIrc1tyXStcIiwgXCIrc1tuXX07dmFyIHQ9dm9pZCAwLG89dm9pZCAwLGE9dm9pZCAwO2Zvcih2YXIgbD0wO2w8NjsrK2wpe2Zvcih2YXIgYz0wO2M8NjsrK2Mpe2Zvcih2YXIgdT0wO3U8NjsrK3Upe3RoaXMuUEFMRVRURV9DT0xPUlMucHVzaChpKGwsYyx1KSl9fX12YXIgZj04O2Zvcih2YXIgaD0wO2g8MjQ7KytoLGYrPTEwKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2goaShmLGYsZikpfX19LHtrZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4gZS5yZXBsYWNlKC9bJjw+XS9nbSwoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PVwiJlwiP1wiJmFtcDtcIjplPT1cIjxcIj9cIiZsdDtcIjplPT1cIj5cIj9cIiZndDtcIjpcIlwifSkpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybiBlLnJlcGxhY2UoLyhodHRwcz86XFwvXFwvW15cXHNdKykvZ20sKGZ1bmN0aW9uKGUpe3JldHVybic8YSBocmVmPVwiJytlKydcIj4nK2UrXCI8L2E+XCJ9KSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4gdGhpcy5wcm9jZXNzKGUscix0cnVlKX19LHtrZXk6XCJhbnNpVG9Kc29uXCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvSnNvbihlLHIpe3I9cnx8e307ci5qc29uPXRydWU7ci5jbGVhckxpbmU9ZmFsc2U7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHIsdHJ1ZSl9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHt9LGZhbHNlKX19LHtrZXk6XCJwcm9jZXNzXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2VzcyhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3ZhciB0PWUuc3BsaXQoL1xcMDMzXFxbLyk7dmFyIG89dC5zaGlmdCgpO2lmKHI9PT11bmRlZmluZWR8fHI9PT1udWxsKXtyPXt9fXIuY2xlYXJMaW5lPS9cXHIvLnRlc3QoZSk7dmFyIGE9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBzLnByb2Nlc3NDaHVuayhlLHIsbil9KSk7aWYociYmci5qc29uKXt2YXIgbD1pLnByb2Nlc3NDaHVua0pzb24oXCJcIik7bC5jb250ZW50PW87bC5jbGVhckxpbmU9ci5jbGVhckxpbmU7YS51bnNoaWZ0KGwpO2lmKHIucmVtb3ZlX2VtcHR5KXthPWEuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4hZS5pc0VtcHR5KCl9KSl9cmV0dXJuIGF9ZWxzZXthLnVuc2hpZnQobyl9cmV0dXJuIGEuam9pbihcIlwiKX19LHtrZXk6XCJwcm9jZXNzQ2h1bmtKc29uXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2Vzc0NodW5rSnNvbihlLHIscyl7cj10eXBlb2Ygcj09XCJ1bmRlZmluZWRcIj97fTpyO3ZhciBpPXIudXNlX2NsYXNzZXM9dHlwZW9mIHIudXNlX2NsYXNzZXMhPVwidW5kZWZpbmVkXCImJnIudXNlX2NsYXNzZXM7dmFyIHQ9ci5rZXk9aT9cImNsYXNzXCI6XCJjb2xvclwiO3ZhciBvPXtjb250ZW50OmUsZmc6bnVsbCxiZzpudWxsLGZnX3RydWVjb2xvcjpudWxsLGJnX3RydWVjb2xvcjpudWxsLGNsZWFyTGluZTpyLmNsZWFyTGluZSxkZWNvcmF0aW9uOm51bGwsd2FzX3Byb2Nlc3NlZDpmYWxzZSxpc0VtcHR5OmZ1bmN0aW9uIGlzRW1wdHkoKXtyZXR1cm4hby5jb250ZW50fX07dmFyIGE9ZS5tYXRjaCgvXihbIVxceDNjLVxceDNmXSopKFtcXGQ7XSopKFtcXHgyMC1cXHgyY10qW1xceDQwLVxceDdlXSkoW1xcc1xcU10qKS9tKTtpZighYSlyZXR1cm4gbzt2YXIgbD1vLmNvbnRlbnQ9YVs0XTt2YXIgYz1hWzJdLnNwbGl0KFwiO1wiKTtpZihhWzFdIT09XCJcInx8YVszXSE9PVwibVwiKXtyZXR1cm4gb31pZighcyl7cmV0dXJuIG99dmFyIHU9dGhpczt1LmRlY29yYXRpb249bnVsbDt3aGlsZShjLmxlbmd0aD4wKXt2YXIgZj1jLnNoaWZ0KCk7dmFyIGg9cGFyc2VJbnQoZik7aWYoaXNOYU4oaCl8fGg9PT0wKXt1LmZnPXUuYmc9dS5kZWNvcmF0aW9uPW51bGx9ZWxzZSBpZihoPT09MSl7dS5kZWNvcmF0aW9uPVwiYm9sZFwifWVsc2UgaWYoaD09PTIpe3UuZGVjb3JhdGlvbj1cImRpbVwifWVsc2UgaWYoaD09Myl7dS5kZWNvcmF0aW9uPVwiaXRhbGljXCJ9ZWxzZSBpZihoPT00KXt1LmRlY29yYXRpb249XCJ1bmRlcmxpbmVcIn1lbHNlIGlmKGg9PTUpe3UuZGVjb3JhdGlvbj1cImJsaW5rXCJ9ZWxzZSBpZihoPT09Nyl7dS5kZWNvcmF0aW9uPVwicmV2ZXJzZVwifWVsc2UgaWYoaD09PTgpe3UuZGVjb3JhdGlvbj1cImhpZGRlblwifWVsc2UgaWYoaD09PTkpe3UuZGVjb3JhdGlvbj1cInN0cmlrZXRocm91Z2hcIn1lbHNlIGlmKGg9PTM5KXt1LmZnPW51bGx9ZWxzZSBpZihoPT00OSl7dS5iZz1udWxsfWVsc2UgaWYoaD49MzAmJmg8Mzgpe3UuZmc9blswXVtoJTEwXVt0XX1lbHNlIGlmKGg+PTkwJiZoPDk4KXt1LmZnPW5bMV1baCUxMF1bdF19ZWxzZSBpZihoPj00MCYmaDw0OCl7dS5iZz1uWzBdW2glMTBdW3RdfWVsc2UgaWYoaD49MTAwJiZoPDEwOCl7dS5iZz1uWzFdW2glMTBdW3RdfWVsc2UgaWYoaD09PTM4fHxoPT09NDgpe3ZhciBwPWg9PT0zODtpZihjLmxlbmd0aD49MSl7dmFyIGc9Yy5zaGlmdCgpO2lmKGc9PT1cIjVcIiYmYy5sZW5ndGg+PTEpe3ZhciB2PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYodj49MCYmdjw9MjU1KXtpZighaSl7aWYoIXRoaXMuUEFMRVRURV9DT0xPUlMpe3Uuc2V0dXBQYWxldHRlKCl9aWYocCl7dS5mZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfWVsc2V7dS5iZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfX1lbHNle3ZhciBkPXY+PTE2P1wiYW5zaS1wYWxldHRlLVwiK3Y6blt2Pjc/MTowXVt2JThdW1wiY2xhc3NcIl07aWYocCl7dS5mZz1kfWVsc2V7dS5iZz1kfX19fWVsc2UgaWYoZz09PVwiMlwiJiZjLmxlbmd0aD49Myl7dmFyIF89cGFyc2VJbnQoYy5zaGlmdCgpKTt2YXIgYj1wYXJzZUludChjLnNoaWZ0KCkpO3ZhciB5PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYoXz49MCYmXzw9MjU1JiZiPj0wJiZiPD0yNTUmJnk+PTAmJnk8PTI1NSl7dmFyIGs9XytcIiwgXCIrYitcIiwgXCIreTtpZighaSl7aWYocCl7dS5mZz1rfWVsc2V7dS5iZz1rfX1lbHNle2lmKHApe3UuZmc9XCJhbnNpLXRydWVjb2xvclwiO3UuZmdfdHJ1ZWNvbG9yPWt9ZWxzZXt1LmJnPVwiYW5zaS10cnVlY29sb3JcIjt1LmJnX3RydWVjb2xvcj1rfX19fX19fWlmKHUuZmc9PT1udWxsJiZ1LmJnPT09bnVsbCYmdS5kZWNvcmF0aW9uPT09bnVsbCl7cmV0dXJuIG99ZWxzZXt2YXIgVD1bXTt2YXIgbT1bXTt2YXIgdz17fTtvLmZnPXUuZmc7by5iZz11LmJnO28uZmdfdHJ1ZWNvbG9yPXUuZmdfdHJ1ZWNvbG9yO28uYmdfdHJ1ZWNvbG9yPXUuYmdfdHJ1ZWNvbG9yO28uZGVjb3JhdGlvbj11LmRlY29yYXRpb247by53YXNfcHJvY2Vzc2VkPXRydWU7cmV0dXJuIG99fX0se2tleTpcInByb2Nlc3NDaHVua1wiLHZhbHVlOmZ1bmN0aW9uIHByb2Nlc3NDaHVuayhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3I9cnx8e307dmFyIHQ9dGhpcy5wcm9jZXNzQ2h1bmtKc29uKGUscixuKTtpZihyLmpzb24pe3JldHVybiB0fWlmKHQuaXNFbXB0eSgpKXtyZXR1cm5cIlwifWlmKCF0Lndhc19wcm9jZXNzZWQpe3JldHVybiB0LmNvbnRlbnR9dmFyIG89ci51c2VfY2xhc3Nlczt2YXIgYT1bXTt2YXIgbD1bXTt2YXIgYz17fTt2YXIgdT1mdW5jdGlvbiByZW5kZXJfZGF0YShlKXt2YXIgcj1bXTt2YXIgbj12b2lkIDA7Zm9yKG4gaW4gZSl7aWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7ci5wdXNoKFwiZGF0YS1cIituKyc9XCInK3MuZXNjYXBlRm9ySHRtbChlW25dKSsnXCInKX19cmV0dXJuIHIubGVuZ3RoPjA/XCIgXCIrci5qb2luKFwiIFwiKTpcIlwifTtpZih0LmZnKXtpZihvKXtsLnB1c2godC5mZytcIi1mZ1wiKTtpZih0LmZnX3RydWVjb2xvciE9PW51bGwpe2NbXCJhbnNpLXRydWVjb2xvci1mZ1wiXT10LmZnX3RydWVjb2xvcjt0LmZnX3RydWVjb2xvcj1udWxsfX1lbHNle2EucHVzaChcImNvbG9yOnJnYihcIit0LmZnK1wiKVwiKX19aWYodC5iZyl7aWYobyl7bC5wdXNoKHQuYmcrXCItYmdcIik7aWYodC5iZ190cnVlY29sb3IhPT1udWxsKXtjW1wiYW5zaS10cnVlY29sb3ItYmdcIl09dC5iZ190cnVlY29sb3I7dC5iZ190cnVlY29sb3I9bnVsbH19ZWxzZXthLnB1c2goXCJiYWNrZ3JvdW5kLWNvbG9yOnJnYihcIit0LmJnK1wiKVwiKX19aWYodC5kZWNvcmF0aW9uKXtpZihvKXtsLnB1c2goXCJhbnNpLVwiK3QuZGVjb3JhdGlvbil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cImJvbGRcIil7YS5wdXNoKFwiZm9udC13ZWlnaHQ6Ym9sZFwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiZGltXCIpe2EucHVzaChcIm9wYWNpdHk6MC41XCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJpdGFsaWNcIil7YS5wdXNoKFwiZm9udC1zdHlsZTppdGFsaWNcIil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cInJldmVyc2VcIil7YS5wdXNoKFwiZmlsdGVyOmludmVydCgxMDAlKVwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiaGlkZGVuXCIpe2EucHVzaChcInZpc2liaWxpdHk6aGlkZGVuXCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJzdHJpa2V0aHJvdWdoXCIpe2EucHVzaChcInRleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2hcIil9ZWxzZXthLnB1c2goXCJ0ZXh0LWRlY29yYXRpb246XCIrdC5kZWNvcmF0aW9uKX19aWYobyl7cmV0dXJuJzxzcGFuIGNsYXNzPVwiJytsLmpvaW4oXCIgXCIpKydcIicrdShjKStcIj5cIit0LmNvbnRlbnQrXCI8L3NwYW4+XCJ9ZWxzZXtyZXR1cm4nPHNwYW4gc3R5bGU9XCInK2Euam9pbihcIjtcIikrJ1wiJyt1KGMpK1wiPlwiK3QuY29udGVudCtcIjwvc3Bhbj5cIn19fV0pO3JldHVybiBBbnNlcn0oKTtlLmV4cG9ydHM9c319O3ZhciByPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18obil7dmFyIHM9cltuXTtpZihzIT09dW5kZWZpbmVkKXtyZXR1cm4gcy5leHBvcnRzfXZhciBpPXJbbl09e2V4cG9ydHM6e319O3ZhciB0PXRydWU7dHJ5e2Vbbl0oaSxpLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7dD1mYWxzZX1maW5hbGx5e2lmKHQpZGVsZXRlIHJbbl19cmV0dXJuIGkuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIG49X19uY2N3cGNrX3JlcXVpcmVfXygyMTEpO21vZHVsZS5leHBvcnRzPW59KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/anser/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/css.escape/css.escape.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("(()=>{var e={553:function(e){(function(r,t){if(true){e.exports=t(r)}else{}})(typeof global!=\"undefined\"?global:this,(function(e){if(e.CSS&&e.CSS.escape){return e.CSS.escape}var cssEscape=function(e){if(arguments.length==0){throw new TypeError(\"`CSS.escape` requires an argument.\")}var r=String(e);var t=r.length;var n=-1;var a;var i=\"\";var u=r.charCodeAt(0);while(++n<t){a=r.charCodeAt(n);if(a==0){i+=\"�\";continue}if(a>=1&&a<=31||a==127||n==0&&a>=48&&a<=57||n==1&&a>=48&&a<=57&&u==45){i+=\"\\\\\"+a.toString(16)+\" \";continue}if(n==0&&t==1&&a==45){i+=\"\\\\\"+r.charAt(n);continue}if(a>=128||a==45||a==95||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122){i+=r.charAt(n);continue}i+=\"\\\\\"+r.charAt(n)}return i};if(!e.CSS){e.CSS={}}e.CSS.escape=cssEscape;return cssEscape}))}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var a=r[t]={exports:{}};var i=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);i=false}finally{if(i)delete r[t]}return a.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(553);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Nzcy5lc2NhcGUvY3NzLmVzY2FwZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZ0JBQWdCLGVBQWUsR0FBRyxJQUFJLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQyxzREFBc0Qsd0JBQXdCLG9CQUFvQiwwQkFBMEIsd0JBQXdCLDBEQUEwRCxnQkFBZ0IsZUFBZSxTQUFTLE1BQU0sU0FBUyxzQkFBc0IsYUFBYSxrQkFBa0IsU0FBUyxPQUFPLFNBQVMsdUVBQXVFLDJCQUEyQixTQUFTLHNCQUFzQixvQkFBb0IsU0FBUyxvRUFBb0UsZUFBZSxTQUFTLG9CQUFvQixVQUFVLFdBQVcsU0FBUyx1QkFBdUIsaUJBQWlCLEtBQUssU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUkscURBQXFELFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLGlGQUFpRiwrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9jc3MuZXNjYXBlL2Nzcy5lc2NhcGUuanM/OWE4YiJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9Pnt2YXIgZT17NTUzOmZ1bmN0aW9uKGUpeyhmdW5jdGlvbihyLHQpe2lmKHRydWUpe2UuZXhwb3J0cz10KHIpfWVsc2V7fX0pKHR5cGVvZiBnbG9iYWwhPVwidW5kZWZpbmVkXCI/Z2xvYmFsOnRoaXMsKGZ1bmN0aW9uKGUpe2lmKGUuQ1NTJiZlLkNTUy5lc2NhcGUpe3JldHVybiBlLkNTUy5lc2NhcGV9dmFyIGNzc0VzY2FwZT1mdW5jdGlvbihlKXtpZihhcmd1bWVudHMubGVuZ3RoPT0wKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiYENTUy5lc2NhcGVgIHJlcXVpcmVzIGFuIGFyZ3VtZW50LlwiKX12YXIgcj1TdHJpbmcoZSk7dmFyIHQ9ci5sZW5ndGg7dmFyIG49LTE7dmFyIGE7dmFyIGk9XCJcIjt2YXIgdT1yLmNoYXJDb2RlQXQoMCk7d2hpbGUoKytuPHQpe2E9ci5jaGFyQ29kZUF0KG4pO2lmKGE9PTApe2krPVwi77+9XCI7Y29udGludWV9aWYoYT49MSYmYTw9MzF8fGE9PTEyN3x8bj09MCYmYT49NDgmJmE8PTU3fHxuPT0xJiZhPj00OCYmYTw9NTcmJnU9PTQ1KXtpKz1cIlxcXFxcIithLnRvU3RyaW5nKDE2KStcIiBcIjtjb250aW51ZX1pZihuPT0wJiZ0PT0xJiZhPT00NSl7aSs9XCJcXFxcXCIrci5jaGFyQXQobik7Y29udGludWV9aWYoYT49MTI4fHxhPT00NXx8YT09OTV8fGE+PTQ4JiZhPD01N3x8YT49NjUmJmE8PTkwfHxhPj05NyYmYTw9MTIyKXtpKz1yLmNoYXJBdChuKTtjb250aW51ZX1pKz1cIlxcXFxcIityLmNoYXJBdChuKX1yZXR1cm4gaX07aWYoIWUuQ1NTKXtlLkNTUz17fX1lLkNTUy5lc2NhcGU9Y3NzRXNjYXBlO3JldHVybiBjc3NFc2NhcGV9KSl9fTt2YXIgcj17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHQpe3ZhciBuPXJbdF07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgYT1yW3RdPXtleHBvcnRzOnt9fTt2YXIgaT10cnVlO3RyeXtlW3RdLmNhbGwoYS5leHBvcnRzLGEsYS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO2k9ZmFsc2V9ZmluYWxseXtpZihpKWRlbGV0ZSByW3RdfXJldHVybiBhLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB0PV9fbmNjd3Bja19yZXF1aXJlX18oNTUzKTttb2R1bGUuZXhwb3J0cz10fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/compiled/picomatch/index.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/picomatch/index.js ***! - \************************************************************/ -/***/ ((module) => { - -eval("(()=>{\"use strict\";var t={170:(t,e,u)=>{const n=u(510);const isWindows=()=>{if(typeof navigator!==\"undefined\"&&navigator.platform){const t=navigator.platform.toLowerCase();return t===\"win32\"||t===\"windows\"}if(typeof process!==\"undefined\"&&process.platform){return process.platform===\"win32\"}return false};function picomatch(t,e,u=false){if(e&&(e.windows===null||e.windows===undefined)){e={...e,windows:isWindows()}}return n(t,e,u)}Object.assign(picomatch,n);t.exports=picomatch},154:t=>{const e=\"\\\\\\\\/\";const u=`[^${e}]`;const n=\"\\\\.\";const o=\"\\\\+\";const s=\"\\\\?\";const r=\"\\\\/\";const a=\"(?=.)\";const i=\"[^/]\";const c=`(?:${r}|$)`;const p=`(?:^|${r})`;const l=`${n}{1,2}${c}`;const f=`(?!${n})`;const A=`(?!${p}${l})`;const _=`(?!${n}{0,1}${c})`;const R=`(?!${l})`;const E=`[^.${r}]`;const h=`${i}*?`;const g=\"/\";const b={DOT_LITERAL:n,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:r,ONE_CHAR:a,QMARK:i,END_ANCHOR:c,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:A,NO_DOT_SLASH:_,NO_DOTS_SLASH:R,QMARK_NO_DOT:E,STAR:h,START_ANCHOR:p,SEP:g};const C={...b,SLASH_LITERAL:`[${e}]`,QMARK:u,STAR:`${u}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`,SEP:\"\\\\\"};const y={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:y,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${t.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(t){return t===true?C:b}}},697:(t,e,u)=>{const n=u(154);const o=u(96);const{MAX_LENGTH:s,POSIX_REGEX_SOURCE:r,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:i,REPLACEMENTS:c}=n;const expandRange=(t,e)=>{if(typeof e.expandRange===\"function\"){return e.expandRange(...t,e)}t.sort();const u=`[${t.join(\"-\")}]`;try{new RegExp(u)}catch(e){return t.map((t=>o.escapeRegex(t))).join(\"..\")}return u};const syntaxError=(t,e)=>`Missing ${t}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`;const parse=(t,e)=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected a string\")}t=c[t]||t;const u={...e};const p=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;let l=t.length;if(l>p){throw new SyntaxError(`Input length: ${l}, exceeds maximum allowed length: ${p}`)}const f={type:\"bos\",value:\"\",output:u.prepend||\"\"};const A=[f];const _=u.capture?\"\":\"?:\";const R=n.globChars(u.windows);const E=n.extglobChars(R);const{DOT_LITERAL:h,PLUS_LITERAL:g,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:y,NO_DOT:$,NO_DOT_SLASH:x,NO_DOTS_SLASH:S,QMARK:H,QMARK_NO_DOT:v,STAR:d,START_ANCHOR:L}=R;const globstar=t=>`(${_}(?:(?!${L}${t.dot?y:h}).)*?)`;const T=u.dot?\"\":$;const O=u.dot?H:v;let k=u.bash===true?globstar(u):d;if(u.capture){k=`(${k})`}if(typeof u.noext===\"boolean\"){u.noextglob=u.noext}const m={input:t,index:-1,start:0,dot:u.dot===true,consumed:\"\",output:\"\",prefix:\"\",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:A};t=o.removePrefix(t,m);l=t.length;const w=[];const N=[];const I=[];let B=f;let G;const eos=()=>m.index===l-1;const D=m.peek=(e=1)=>t[m.index+e];const M=m.advance=()=>t[++m.index]||\"\";const remaining=()=>t.slice(m.index+1);const consume=(t=\"\",e=0)=>{m.consumed+=t;m.index+=e};const append=t=>{m.output+=t.output!=null?t.output:t.value;consume(t.value)};const negate=()=>{let t=1;while(D()===\"!\"&&(D(2)!==\"(\"||D(3)===\"?\")){M();m.start++;t++}if(t%2===0){return false}m.negated=true;m.start++;return true};const increment=t=>{m[t]++;I.push(t)};const decrement=t=>{m[t]--;I.pop()};const push=t=>{if(B.type===\"globstar\"){const e=m.braces>0&&(t.type===\"comma\"||t.type===\"brace\");const u=t.extglob===true||w.length&&(t.type===\"pipe\"||t.type===\"paren\");if(t.type!==\"slash\"&&t.type!==\"paren\"&&!e&&!u){m.output=m.output.slice(0,-B.output.length);B.type=\"star\";B.value=\"*\";B.output=k;m.output+=B.output}}if(w.length&&t.type!==\"paren\"){w[w.length-1].inner+=t.value}if(t.value||t.output)append(t);if(B&&B.type===\"text\"&&t.type===\"text\"){B.output=(B.output||B.value)+t.value;B.value+=t.value;return}t.prev=B;A.push(t);B=t};const extglobOpen=(t,e)=>{const n={...E[e],conditions:1,inner:\"\"};n.prev=B;n.parens=m.parens;n.output=m.output;const o=(u.capture?\"(\":\"\")+n.open;increment(\"parens\");push({type:t,value:e,output:m.output?\"\":C});push({type:\"paren\",extglob:true,value:M(),output:o});w.push(n)};const extglobClose=t=>{let n=t.close+(u.capture?\")\":\"\");let o;if(t.type===\"negate\"){let s=k;if(t.inner&&t.inner.length>1&&t.inner.includes(\"/\")){s=globstar(u)}if(s!==k||eos()||/^\\)+$/.test(remaining())){n=t.close=`)$))${s}`}if(t.inner.includes(\"*\")&&(o=remaining())&&/^\\.[^\\\\/.]+$/.test(o)){const u=parse(o,{...e,fastpaths:false}).output;n=t.close=`)${u})${s})`}if(t.prev.type===\"bos\"){m.negatedExtglob=true}}push({type:\"paren\",extglob:true,value:G,output:n});decrement(\"parens\")};if(u.fastpaths!==false&&!/(^[*!]|[/()[\\]{}\"])/.test(t)){let n=false;let s=t.replace(i,((t,e,u,o,s,r)=>{if(o===\"\\\\\"){n=true;return t}if(o===\"?\"){if(e){return e+o+(s?H.repeat(s.length):\"\")}if(r===0){return O+(s?H.repeat(s.length):\"\")}return H.repeat(u.length)}if(o===\".\"){return h.repeat(u.length)}if(o===\"*\"){if(e){return e+o+(s?k:\"\")}return k}return e?t:`\\\\${t}`}));if(n===true){if(u.unescape===true){s=s.replace(/\\\\/g,\"\")}else{s=s.replace(/\\\\+/g,(t=>t.length%2===0?\"\\\\\\\\\":t?\"\\\\\":\"\"))}}if(s===t&&u.contains===true){m.output=t;return m}m.output=o.wrapOutput(s,m,e);return m}while(!eos()){G=M();if(G===\"\\0\"){continue}if(G===\"\\\\\"){const t=D();if(t===\"/\"&&u.bash!==true){continue}if(t===\".\"||t===\";\"){continue}if(!t){G+=\"\\\\\";push({type:\"text\",value:G});continue}const e=/^\\\\+/.exec(remaining());let n=0;if(e&&e[0].length>2){n=e[0].length;m.index+=n;if(n%2!==0){G+=\"\\\\\"}}if(u.unescape===true){G=M()}else{G+=M()}if(m.brackets===0){push({type:\"text\",value:G});continue}}if(m.brackets>0&&(G!==\"]\"||B.value===\"[\"||B.value===\"[^\")){if(u.posix!==false&&G===\":\"){const t=B.value.slice(1);if(t.includes(\"[\")){B.posix=true;if(t.includes(\":\")){const t=B.value.lastIndexOf(\"[\");const e=B.value.slice(0,t);const u=B.value.slice(t+2);const n=r[u];if(n){B.value=e+n;m.backtrack=true;M();if(!f.output&&A.indexOf(B)===1){f.output=C}continue}}}}if(G===\"[\"&&D()!==\":\"||G===\"-\"&&D()===\"]\"){G=`\\\\${G}`}if(G===\"]\"&&(B.value===\"[\"||B.value===\"[^\")){G=`\\\\${G}`}if(u.posix===true&&G===\"!\"&&B.value===\"[\"){G=\"^\"}B.value+=G;append({value:G});continue}if(m.quotes===1&&G!=='\"'){G=o.escapeRegex(G);B.value+=G;append({value:G});continue}if(G==='\"'){m.quotes=m.quotes===1?0:1;if(u.keepQuotes===true){push({type:\"text\",value:G})}continue}if(G===\"(\"){increment(\"parens\");push({type:\"paren\",value:G});continue}if(G===\")\"){if(m.parens===0&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"(\"))}const t=w[w.length-1];if(t&&m.parens===t.parens+1){extglobClose(w.pop());continue}push({type:\"paren\",value:G,output:m.parens?\")\":\"\\\\)\"});decrement(\"parens\");continue}if(G===\"[\"){if(u.nobracket===true||!remaining().includes(\"]\")){if(u.nobracket!==true&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"closing\",\"]\"))}G=`\\\\${G}`}else{increment(\"brackets\")}push({type:\"bracket\",value:G});continue}if(G===\"]\"){if(u.nobracket===true||B&&B.type===\"bracket\"&&B.value.length===1){push({type:\"text\",value:G,output:`\\\\${G}`});continue}if(m.brackets===0){if(u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"[\"))}push({type:\"text\",value:G,output:`\\\\${G}`});continue}decrement(\"brackets\");const t=B.value.slice(1);if(B.posix!==true&&t[0]===\"^\"&&!t.includes(\"/\")){G=`/${G}`}B.value+=G;append({value:G});if(u.literalBrackets===false||o.hasRegexChars(t)){continue}const e=o.escapeRegex(B.value);m.output=m.output.slice(0,-B.value.length);if(u.literalBrackets===true){m.output+=e;B.value=e;continue}B.value=`(${_}${e}|${B.value})`;m.output+=B.value;continue}if(G===\"{\"&&u.nobrace!==true){increment(\"braces\");const t={type:\"brace\",value:G,output:\"(\",outputIndex:m.output.length,tokensIndex:m.tokens.length};N.push(t);push(t);continue}if(G===\"}\"){const t=N[N.length-1];if(u.nobrace===true||!t){push({type:\"text\",value:G,output:G});continue}let e=\")\";if(t.dots===true){const t=A.slice();const n=[];for(let e=t.length-1;e>=0;e--){A.pop();if(t[e].type===\"brace\"){break}if(t[e].type!==\"dots\"){n.unshift(t[e].value)}}e=expandRange(n,u);m.backtrack=true}if(t.comma!==true&&t.dots!==true){const u=m.output.slice(0,t.outputIndex);const n=m.tokens.slice(t.tokensIndex);t.value=t.output=\"\\\\{\";G=e=\"\\\\}\";m.output=u;for(const t of n){m.output+=t.output||t.value}}push({type:\"brace\",value:G,output:e});decrement(\"braces\");N.pop();continue}if(G===\"|\"){if(w.length>0){w[w.length-1].conditions++}push({type:\"text\",value:G});continue}if(G===\",\"){let t=G;const e=N[N.length-1];if(e&&I[I.length-1]===\"braces\"){e.comma=true;t=\"|\"}push({type:\"comma\",value:G,output:t});continue}if(G===\"/\"){if(B.type===\"dot\"&&m.index===m.start+1){m.start=m.index+1;m.consumed=\"\";m.output=\"\";A.pop();B=f;continue}push({type:\"slash\",value:G,output:b});continue}if(G===\".\"){if(m.braces>0&&B.type===\"dot\"){if(B.value===\".\")B.output=h;const t=N[N.length-1];B.type=\"dots\";B.output+=G;B.value+=G;t.dots=true;continue}if(m.braces+m.parens===0&&B.type!==\"bos\"&&B.type!==\"slash\"){push({type:\"text\",value:G,output:h});continue}push({type:\"dot\",value:G,output:h});continue}if(G===\"?\"){const t=B&&B.value===\"(\";if(!t&&u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"qmark\",G);continue}if(B&&B.type===\"paren\"){const t=D();let e=G;if(B.value===\"(\"&&!/[!=<:]/.test(t)||t===\"<\"&&!/<([!=]|\\w+>)/.test(remaining())){e=`\\\\${G}`}push({type:\"text\",value:G,output:e});continue}if(u.dot!==true&&(B.type===\"slash\"||B.type===\"bos\")){push({type:\"qmark\",value:G,output:v});continue}push({type:\"qmark\",value:G,output:H});continue}if(G===\"!\"){if(u.noextglob!==true&&D()===\"(\"){if(D(2)!==\"?\"||!/[!=<:]/.test(D(3))){extglobOpen(\"negate\",G);continue}}if(u.nonegate!==true&&m.index===0){negate();continue}}if(G===\"+\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"plus\",G);continue}if(B&&B.value===\"(\"||u.regex===false){push({type:\"plus\",value:G,output:g});continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\"||B.type===\"brace\")||m.parens>0){push({type:\"plus\",value:G});continue}push({type:\"plus\",value:g});continue}if(G===\"@\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){push({type:\"at\",extglob:true,value:G,output:\"\"});continue}push({type:\"text\",value:G});continue}if(G!==\"*\"){if(G===\"$\"||G===\"^\"){G=`\\\\${G}`}const t=a.exec(remaining());if(t){G+=t[0];m.index+=t[0].length}push({type:\"text\",value:G});continue}if(B&&(B.type===\"globstar\"||B.star===true)){B.type=\"star\";B.star=true;B.value+=G;B.output=k;m.backtrack=true;m.globstar=true;consume(G);continue}let e=remaining();if(u.noextglob!==true&&/^\\([^?]/.test(e)){extglobOpen(\"star\",G);continue}if(B.type===\"star\"){if(u.noglobstar===true){consume(G);continue}const n=B.prev;const o=n.prev;const s=n.type===\"slash\"||n.type===\"bos\";const r=o&&(o.type===\"star\"||o.type===\"globstar\");if(u.bash===true&&(!s||e[0]&&e[0]!==\"/\")){push({type:\"star\",value:G,output:\"\"});continue}const a=m.braces>0&&(n.type===\"comma\"||n.type===\"brace\");const i=w.length&&(n.type===\"pipe\"||n.type===\"paren\");if(!s&&n.type!==\"paren\"&&!a&&!i){push({type:\"star\",value:G,output:\"\"});continue}while(e.slice(0,3)===\"/**\"){const u=t[m.index+4];if(u&&u!==\"/\"){break}e=e.slice(3);consume(\"/**\",3)}if(n.type===\"bos\"&&eos()){B.type=\"globstar\";B.value+=G;B.output=globstar(u);m.output=B.output;m.globstar=true;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&!r&&eos()){m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=globstar(u)+(u.strictSlashes?\")\":\"|$)\");B.value+=G;m.globstar=true;m.output+=n.output+B.output;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&e[0]===\"/\"){const t=e[1]!==void 0?\"|$\":\"\";m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=`${globstar(u)}${b}|${b}${t})`;B.value+=G;m.output+=n.output+B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}if(n.type===\"bos\"&&e[0]===\"/\"){B.type=\"globstar\";B.value+=G;B.output=`(?:^|${b}|${globstar(u)}${b})`;m.output=B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}m.output=m.output.slice(0,-B.output.length);B.type=\"globstar\";B.output=globstar(u);B.value+=G;m.output+=B.output;m.globstar=true;consume(G);continue}const n={type:\"star\",value:G,output:k};if(u.bash===true){n.output=\".*?\";if(B.type===\"bos\"||B.type===\"slash\"){n.output=T+n.output}push(n);continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\")&&u.regex===true){n.output=G;push(n);continue}if(m.index===m.start||B.type===\"slash\"||B.type===\"dot\"){if(B.type===\"dot\"){m.output+=x;B.output+=x}else if(u.dot===true){m.output+=S;B.output+=S}else{m.output+=T;B.output+=T}if(D()!==\"*\"){m.output+=C;B.output+=C}}push(n)}while(m.brackets>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"]\"));m.output=o.escapeLast(m.output,\"[\");decrement(\"brackets\")}while(m.parens>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\")\"));m.output=o.escapeLast(m.output,\"(\");decrement(\"parens\")}while(m.braces>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"}\"));m.output=o.escapeLast(m.output,\"{\");decrement(\"braces\")}if(u.strictSlashes!==true&&(B.type===\"star\"||B.type===\"bracket\")){push({type:\"maybe_slash\",value:\"\",output:`${b}?`})}if(m.backtrack===true){m.output=\"\";for(const t of m.tokens){m.output+=t.output!=null?t.output:t.value;if(t.suffix){m.output+=t.suffix}}}return m};parse.fastpaths=(t,e)=>{const u={...e};const r=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;const a=t.length;if(a>r){throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${r}`)}t=c[t]||t;const{DOT_LITERAL:i,SLASH_LITERAL:p,ONE_CHAR:l,DOTS_SLASH:f,NO_DOT:A,NO_DOTS:_,NO_DOTS_SLASH:R,STAR:E,START_ANCHOR:h}=n.globChars(u.windows);const g=u.dot?_:A;const b=u.dot?R:A;const C=u.capture?\"\":\"?:\";const y={negated:false,prefix:\"\"};let $=u.bash===true?\".*?\":E;if(u.capture){$=`(${$})`}const globstar=t=>{if(t.noglobstar===true)return $;return`(${C}(?:(?!${h}${t.dot?f:i}).)*?)`};const create=t=>{switch(t){case\"*\":return`${g}${l}${$}`;case\".*\":return`${i}${l}${$}`;case\"*.*\":return`${g}${$}${i}${l}${$}`;case\"*/*\":return`${g}${$}${p}${l}${b}${$}`;case\"**\":return g+globstar(u);case\"**/*\":return`(?:${g}${globstar(u)}${p})?${b}${l}${$}`;case\"**/*.*\":return`(?:${g}${globstar(u)}${p})?${b}${$}${i}${l}${$}`;case\"**/.*\":return`(?:${g}${globstar(u)}${p})?${i}${l}${$}`;default:{const e=/^(.*?)\\.(\\w+)$/.exec(t);if(!e)return;const u=create(e[1]);if(!u)return;return u+i+e[2]}}};const x=o.removePrefix(t,y);let S=create(x);if(S&&u.strictSlashes!==true){S+=`${p}?`}return S};t.exports=parse},510:(t,e,u)=>{const n=u(716);const o=u(697);const s=u(96);const r=u(154);const isObject=t=>t&&typeof t===\"object\"&&!Array.isArray(t);const picomatch=(t,e,u=false)=>{if(Array.isArray(t)){const n=t.map((t=>picomatch(t,e,u)));const arrayMatcher=t=>{for(const e of n){const u=e(t);if(u)return u}return false};return arrayMatcher}const n=isObject(t)&&t.tokens&&t.input;if(t===\"\"||typeof t!==\"string\"&&!n){throw new TypeError(\"Expected pattern to be a non-empty string\")}const o=e||{};const s=o.windows;const r=n?picomatch.compileRe(t,e):picomatch.makeRe(t,e,false,true);const a=r.state;delete r.state;let isIgnored=()=>false;if(o.ignore){const t={...e,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(o.ignore,t,u)}const matcher=(u,n=false)=>{const{isMatch:i,match:c,output:p}=picomatch.test(u,r,e,{glob:t,posix:s});const l={glob:t,state:a,regex:r,posix:s,input:u,output:p,match:c,isMatch:i};if(typeof o.onResult===\"function\"){o.onResult(l)}if(i===false){l.isMatch=false;return n?l:false}if(isIgnored(u)){if(typeof o.onIgnore===\"function\"){o.onIgnore(l)}l.isMatch=false;return n?l:false}if(typeof o.onMatch===\"function\"){o.onMatch(l)}return n?l:true};if(u){matcher.state=a}return matcher};picomatch.test=(t,e,u,{glob:n,posix:o}={})=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected input to be a string\")}if(t===\"\"){return{isMatch:false,output:\"\"}}const r=u||{};const a=r.format||(o?s.toPosixSlashes:null);let i=t===n;let c=i&&a?a(t):t;if(i===false){c=a?a(t):t;i=c===n}if(i===false||r.capture===true){if(r.matchBase===true||r.basename===true){i=picomatch.matchBase(t,e,u,o)}else{i=e.exec(c)}}return{isMatch:Boolean(i),match:i,output:c}};picomatch.matchBase=(t,e,u)=>{const n=e instanceof RegExp?e:picomatch.makeRe(e,u);return n.test(s.basename(t))};picomatch.isMatch=(t,e,u)=>picomatch(e,u)(t);picomatch.parse=(t,e)=>{if(Array.isArray(t))return t.map((t=>picomatch.parse(t,e)));return o(t,{...e,fastpaths:false})};picomatch.scan=(t,e)=>n(t,e);picomatch.compileRe=(t,e,u=false,n=false)=>{if(u===true){return t.output}const o=e||{};const s=o.contains?\"\":\"^\";const r=o.contains?\"\":\"$\";let a=`${s}(?:${t.output})${r}`;if(t&&t.negated===true){a=`^(?!${a}).*$`}const i=picomatch.toRegex(a,e);if(n===true){i.state=t}return i};picomatch.makeRe=(t,e={},u=false,n=false)=>{if(!t||typeof t!==\"string\"){throw new TypeError(\"Expected a non-empty string\")}let s={negated:false,fastpaths:true};if(e.fastpaths!==false&&(t[0]===\".\"||t[0]===\"*\")){s.output=o.fastpaths(t,e)}if(!s.output){s=o(t,e)}return picomatch.compileRe(s,e,u,n)};picomatch.toRegex=(t,e)=>{try{const u=e||{};return new RegExp(t,u.flags||(u.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===true)throw t;return/$^/}};picomatch.constants=r;t.exports=picomatch},716:(t,e,u)=>{const n=u(96);const{CHAR_ASTERISK:o,CHAR_AT:s,CHAR_BACKWARD_SLASH:r,CHAR_COMMA:a,CHAR_DOT:i,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:f,CHAR_LEFT_SQUARE_BRACKET:A,CHAR_PLUS:_,CHAR_QUESTION_MARK:R,CHAR_RIGHT_CURLY_BRACE:E,CHAR_RIGHT_PARENTHESES:h,CHAR_RIGHT_SQUARE_BRACKET:g}=u(154);const isPathSeparator=t=>t===p||t===r;const depth=t=>{if(t.isPrefix!==true){t.depth=t.isGlobstar?Infinity:1}};const scan=(t,e)=>{const u=e||{};const b=t.length-1;const C=u.parts===true||u.scanToEnd===true;const y=[];const $=[];const x=[];let S=t;let H=-1;let v=0;let d=0;let L=false;let T=false;let O=false;let k=false;let m=false;let w=false;let N=false;let I=false;let B=false;let G=false;let D=0;let M;let P;let K={value:\"\",depth:0,isGlob:false};const eos=()=>H>=b;const peek=()=>S.charCodeAt(H+1);const advance=()=>{M=P;return S.charCodeAt(++H)};while(H<b){P=advance();let t;if(P===r){N=K.backslashes=true;P=advance();if(P===l){w=true}continue}if(w===true||P===l){D++;while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;advance();continue}if(P===l){D++;continue}if(w!==true&&P===i&&(P=advance())===i){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(w!==true&&P===a){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===E){D--;if(D===0){w=false;L=K.isBrace=true;G=true;break}}}if(C===true){continue}break}if(P===p){y.push(H);$.push(K);K={value:\"\",depth:0,isGlob:false};if(G===true)continue;if(M===i&&H===v+1){v+=2;continue}d=H+1;continue}if(u.noext!==true){const t=P===_||P===s||P===o||P===R||P===c;if(t===true&&peek()===f){O=K.isGlob=true;k=K.isExtglob=true;G=true;if(P===c&&H===v){B=true}if(C===true){while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;P=advance();continue}if(P===h){O=K.isGlob=true;G=true;break}}continue}break}}if(P===o){if(M===o)m=K.isGlobstar=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===R){O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===A){while(eos()!==true&&(t=advance())){if(t===r){N=K.backslashes=true;advance();continue}if(t===g){T=K.isBracket=true;O=K.isGlob=true;G=true;break}}if(C===true){continue}break}if(u.nonegate!==true&&P===c&&H===v){I=K.negated=true;v++;continue}if(u.noparen!==true&&P===f){O=K.isGlob=true;if(C===true){while(eos()!==true&&(P=advance())){if(P===f){N=K.backslashes=true;P=advance();continue}if(P===h){G=true;break}}continue}break}if(O===true){G=true;if(C===true){continue}break}}if(u.noext===true){k=false;O=false}let U=S;let X=\"\";let F=\"\";if(v>0){X=S.slice(0,v);S=S.slice(v);d-=v}if(U&&O===true&&d>0){U=S.slice(0,d);F=S.slice(d)}else if(O===true){U=\"\";F=S}else{U=S}if(U&&U!==\"\"&&U!==\"/\"&&U!==S){if(isPathSeparator(U.charCodeAt(U.length-1))){U=U.slice(0,-1)}}if(u.unescape===true){if(F)F=n.removeBackslashes(F);if(U&&N===true){U=n.removeBackslashes(U)}}const Q={prefix:X,input:t,start:v,base:U,glob:F,isBrace:L,isBracket:T,isGlob:O,isExtglob:k,isGlobstar:m,negated:I,negatedExtglob:B};if(u.tokens===true){Q.maxDepth=0;if(!isPathSeparator(P)){$.push(K)}Q.tokens=$}if(u.parts===true||u.tokens===true){let e;for(let n=0;n<y.length;n++){const o=e?e+1:v;const s=y[n];const r=t.slice(o,s);if(u.tokens){if(n===0&&v!==0){$[n].isPrefix=true;$[n].value=X}else{$[n].value=r}depth($[n]);Q.maxDepth+=$[n].depth}if(n!==0||r!==\"\"){x.push(r)}e=s}if(e&&e+1<t.length){const n=t.slice(e+1);x.push(n);if(u.tokens){$[$.length-1].value=n;depth($[$.length-1]);Q.maxDepth+=$[$.length-1].depth}}Q.slashes=y;Q.parts=x}return Q};t.exports=scan},96:(t,e,u)=>{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:r}=u(154);e.isObject=t=>t!==null&&typeof t===\"object\"&&!Array.isArray(t);e.hasRegexChars=t=>s.test(t);e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t);e.escapeRegex=t=>t.replace(r,\"\\\\$1\");e.toPosixSlashes=t=>t.replace(n,\"/\");e.removeBackslashes=t=>t.replace(o,(t=>t===\"\\\\\"?\"\":t));e.escapeLast=(t,u,n)=>{const o=t.lastIndexOf(u,n);if(o===-1)return t;if(t[o-1]===\"\\\\\")return e.escapeLast(t,u,o-1);return`${t.slice(0,o)}\\\\${t.slice(o)}`};e.removePrefix=(t,e={})=>{let u=t;if(u.startsWith(\"./\")){u=u.slice(2);e.prefix=\"./\"}return u};e.wrapOutput=(t,e={},u={})=>{const n=u.contains?\"\":\"^\";const o=u.contains?\"\":\"$\";let s=`${n}(?:${t})${o}`;if(e.negated===true){s=`(?:^(?!${s}).*$)`}return s};e.basename=(t,{windows:e}={})=>{const u=t.split(e?/[\\\\/]/:\"/\");const n=u[u.length-1];if(n===\"\"){return u[u.length-2]}return n}}};var e={};function __nccwpck_require__(u){var n=e[u];if(n!==undefined){return n.exports}var o=e[u]={exports:{}};var s=true;try{t[u](o,o.exports,__nccwpck_require__);s=false}finally{if(s)delete e[u]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var u=__nccwpck_require__(170);module.exports=u})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BpY29tYXRjaC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGFBQWEsT0FBTyxjQUFjLGVBQWUscUJBQXFCLHVEQUF1RCx5Q0FBeUMsa0NBQWtDLG1EQUFtRCxrQ0FBa0MsY0FBYyxnQ0FBZ0MsaURBQWlELEdBQUcsMEJBQTBCLGdCQUFnQiwyQkFBMkIsb0JBQW9CLFNBQVMsZ0JBQWdCLGFBQWEsRUFBRSxHQUFHLGNBQWMsY0FBYyxjQUFjLGNBQWMsZ0JBQWdCLGVBQWUsY0FBYyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsR0FBRyxXQUFXLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsR0FBRyxjQUFjLEVBQUUsRUFBRSxFQUFFLEdBQUcsY0FBYyxHQUFHLElBQUksRUFBRSxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsV0FBVyxFQUFFLElBQUksWUFBWSxTQUFTLHdNQUF3TSxTQUFTLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixHQUFHLElBQUksTUFBTSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRSwwQkFBMEIsR0FBRyxJQUFJLE1BQU0sRUFBRSwyQkFBMkIsR0FBRyxJQUFJLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsU0FBUyx5TEFBeUwsYUFBYSxFQUFFLDhFQUE4RSxXQUFXLHNFQUFzRSxxREFBcUQseUNBQXlDLGdHQUFnRyw0RUFBNEUsdUNBQXVDLG0zQkFBbTNCLE9BQU8sS0FBSywwQ0FBMEMsT0FBTyxHQUFHLE1BQU0sbUNBQW1DLE1BQU0sa0NBQWtDLE1BQU0sa0NBQWtDLE1BQU0saUNBQWlDLGNBQWMsc0JBQXNCLGVBQWUsZUFBZSxjQUFjLE1BQU0seUdBQXlHLEdBQUcsMEJBQTBCLHNDQUFzQyw2QkFBNkIsU0FB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U0FBUyxRQUFRLGVBQWUsYUFBYSxLQUFLLHFCQUFxQixlQUFlLGFBQWEsa0JBQWtCLEtBQUssSUFBSSxLQUFLLElBQUksOEJBQThCLDhDQUE4QyxpQkFBaUIsc0JBQXNCLDhCQUE4QixnQkFBZ0IsMEJBQTBCLFNBQVMsMkhBQTJILG9CQUFvQixhQUFhLHdCQUF3QixVQUFVLFdBQVcsb0NBQW9DLE1BQU0sWUFBWSxXQUFXLEtBQUssZ0JBQWdCLGFBQWEscUJBQXFCLGFBQWEsaUJBQWlCLG1CQUFtQixhQUFhLEtBQUssYUFBYSxZQUFZLHVCQUF1QixrQkFBa0IsVUFBVSxJQUFJLG9CQUFvQixxQkFBcUIsVUFBVSxhQUFhLHNCQUFzQixxQkFBcUIsaUNBQWlDLFlBQVksVUFBVSxVQUFVLGVBQWUsY0FBYyxNQUFNLDhGQUE4RixRQUFRLCtEQUErRCw2QkFBNkIsa0RBQWtELHFDQUFxQyxxQ0FBcUMsdURBQXVELHVCQUF1QiwyQkFBMkIsbUJBQW1CLDhDQUE4QyxTQUFTLGFBQWEsSUFBSSxXQUFXLEdBQUcsc0JBQXNCLElBQUksUUFBUSx1QkFBdUIsYUFBYSxjQUFjLFVBQVUsb0JBQW9CLEtBQUssSUFBSSwwQkFBMEIsMEJBQTBCLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUscUJBQXFCLFlBQVksRUFBRSxPQUFPLFVBQVUsZUFBZSxVQUFVLEdBQUcsSUFBSSwrQkFBK0Isc0JBQXNCLFdBQVcscUJBQXFCLFlBQVksU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLGlGQUFpRiwrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanM/MzdhMCJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgdD17MTcwOih0LGUsdSk9Pntjb25zdCBuPXUoNTEwKTtjb25zdCBpc1dpbmRvd3M9KCk9PntpZih0eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmbmF2aWdhdG9yLnBsYXRmb3JtKXtjb25zdCB0PW5hdmlnYXRvci5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09XCJ3aW4zMlwifHx0PT09XCJ3aW5kb3dzXCJ9aWYodHlwZW9mIHByb2Nlc3MhPT1cInVuZGVmaW5lZFwiJiZwcm9jZXNzLnBsYXRmb3JtKXtyZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybT09PVwid2luMzJcIn1yZXR1cm4gZmFsc2V9O2Z1bmN0aW9uIHBpY29tYXRjaCh0LGUsdT1mYWxzZSl7aWYoZSYmKGUud2luZG93cz09PW51bGx8fGUud2luZG93cz09PXVuZGVmaW5lZCkpe2U9ey4uLmUsd2luZG93czppc1dpbmRvd3MoKX19cmV0dXJuIG4odCxlLHUpfU9iamVjdC5hc3NpZ24ocGljb21hdGNoLG4pO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDE1NDp0PT57Y29uc3QgZT1cIlxcXFxcXFxcL1wiO2NvbnN0IHU9YFteJHtlfV1gO2NvbnN0IG49XCJcXFxcLlwiO2NvbnN0IG89XCJcXFxcK1wiO2NvbnN0IHM9XCJcXFxcP1wiO2NvbnN0IHI9XCJcXFxcL1wiO2NvbnN0IGE9XCIoPz0uKVwiO2NvbnN0IGk9XCJbXi9dXCI7Y29uc3QgYz1gKD86JHtyfXwkKWA7Y29uc3QgcD1gKD86Xnwke3J9KWA7Y29uc3QgbD1gJHtufXsxLDJ9JHtjfWA7Y29uc3QgZj1gKD8hJHtufSlgO2NvbnN0IEE9YCg/ISR7cH0ke2x9KWA7Y29uc3QgXz1gKD8hJHtufXswLDF9JHtjfSlgO2NvbnN0IFI9YCg/ISR7bH0pYDtjb25zdCBFPWBbXi4ke3J9XWA7Y29uc3QgaD1gJHtpfSo/YDtjb25zdCBnPVwiL1wiO2NvbnN0IGI9e0RPVF9MSVRFUkFMOm4sUExVU19MSVRFUkFMOm8sUU1BUktfTElURVJBTDpzLFNMQVNIX0xJVEVSQUw6cixPTkVfQ0hBUjphLFFNQVJLOmksRU5EX0FOQ0hPUjpjLERPVFNfU0xBU0g6bCxOT19ET1Q6ZixOT19ET1RTOkEsTk9fRE9UX1NMQVNIOl8sTk9fRE9UU19TTEFTSDpSLFFNQVJLX05PX0RPVDpFLFNUQVI6aCxTVEFSVF9BTkNIT1I6cCxTRVA6Z307Y29uc3QgQz17Li4uYixTTEFTSF9MSVRFUkFMOmBbJHtlfV1gLFFNQVJLOnUsU1RBUjpgJHt1fSo/YCxET1RTX1NMQVNIOmAke259ezEsMn0oPzpbJHtlfV18JClgLE5PX0RPVDpgKD8hJHtufSlgLE5PX0RPVFM6YCg/ISg/Ol58WyR7ZX1dKSR7bn17MSwyfSg/Olske2V9XXwkKSlgLE5PX0RPVF9TTEFTSDpgKD8hJHtufXswLDF9KD86WyR7ZX1dfCQpKWAsTk9fRE9UU19TTEFTSDpgKD8hJHtufXsxLDJ9KD86WyR7ZX1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2V9XWAsU1RBUlRfQU5DSE9SOmAoPzpefFske2V9XSlgLEVORF9BTkNIT1I6YCg/Olske2V9XXwkKWAsU0VQOlwiXFxcXFwifTtjb25zdCB5PXthbG51bTpcImEtekEtWjAtOVwiLGFscGhhOlwiYS16QS1aXCIsYXNjaWk6XCJcXFxceDAwLVxcXFx4N0ZcIixibGFuazpcIiBcXFxcdFwiLGNudHJsOlwiXFxcXHgwMC1cXFxceDFGXFxcXHg3RlwiLGRpZ2l0OlwiMC05XCIsZ3JhcGg6XCJcXFxceDIxLVxcXFx4N0VcIixsb3dlcjpcImEtelwiLHByaW50OlwiXFxcXHgyMC1cXFxceDdFIFwiLHB1bmN0OlwiXFxcXC0hXFxcIiMkJSYnKClcXFxcKissLi86Ozw9Pj9AW1xcXFxdXl9ge3x9flwiLHNwYWNlOlwiIFxcXFx0XFxcXHJcXFxcblxcXFx2XFxcXGZcIix1cHBlcjpcIkEtWlwiLHdvcmQ6XCJBLVphLXowLTlfXCIseGRpZ2l0OlwiQS1GYS1mMC05XCJ9O3QuZXhwb3J0cz17TUFYX0xFTkdUSDoxMDI0KjY0LFBPU0lYX1JFR0VYX1NPVVJDRTp5LFJFR0VYX0JBQ0tTTEFTSDovXFxcXCg/IVsqKz9eJHt9KHwpW1xcXV0pL2csUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6L15bXkAhW1xcXS4sJCorP157fSgpfFxcXFwvXSsvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6L1stKis/Ll4ke30ofClbXFxdXS8sUkVHRVhfU1BFQ0lBTF9DSEFSU19CQUNLUkVGOi8oXFxcXD8pKChcXFcpKFxcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXF1dKS9nLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6Lyg/OlxcWy4qP1teXFxcXF1cXF18XFxcXCg/PS4pKS9nLFJFUExBQ0VNRU5UUzp7XCIqKipcIjpcIipcIixcIioqLyoqXCI6XCIqKlwiLFwiKiovKiovKipcIjpcIioqXCJ9LENIQVJfMDo0OCxDSEFSXzk6NTcsQ0hBUl9VUFBFUkNBU0VfQTo2NSxDSEFSX0xPV0VSQ0FTRV9BOjk3LENIQVJfVVBQRVJDQVNFX1o6OTAsQ0hBUl9MT1dFUkNBU0VfWjoxMjIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOjQwLENIQVJfUklHSFRfUEFSRU5USEVTRVM6NDEsQ0hBUl9BU1RFUklTSzo0MixDSEFSX0FNUEVSU0FORDozOCxDSEFSX0FUOjY0LENIQVJfQkFDS1dBUkRfU0xBU0g6OTIsQ0hBUl9DQVJSSUFHRV9SRVRVUk46MTMsQ0hBUl9DSVJDVU1GTEVYX0FDQ0VOVDo5NCxDSEFSX0NPTE9OOjU4LENIQVJfQ09NTUE6NDQsQ0hBUl9ET1Q6NDYsQ0hBUl9ET1VCTEVfUVVPVEU6MzQsQ0hBUl9FUVVBTDo2MSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6MzMsQ0hBUl9GT1JNX0ZFRUQ6MTIsQ0hBUl9GT1JXQVJEX1NMQVNIOjQ3LENIQVJfR1JBVkVfQUNDRU5UOjk2LENIQVJfSEFTSDozNSxDSEFSX0hZUEhFTl9NSU5VUzo0NSxDSEFSX0xFRlRfQU5HTEVfQlJBQ0tFVDo2MCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6MTIzLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDo5MSxDSEFSX0xJTkVfRkVFRDoxMCxDSEFSX05PX0JSRUFLX1NQQUNFOjE2MCxDSEFSX1BFUkNFTlQ6MzcsQ0hBUl9QTFVTOjQzLENIQVJfUVVFU1RJT05fTUFSSzo2MyxDSEFSX1JJR0hUX0FOR0xFX0JSQUNLRVQ6NjIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToxMjUsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDo5MyxDSEFSX1NFTUlDT0xPTjo1OSxDSEFSX1NJTkdMRV9RVU9URTozOSxDSEFSX1NQQUNFOjMyLENIQVJfVEFCOjksQ0hBUl9VTkRFUlNDT1JFOjk1LENIQVJfVkVSVElDQUxfTElORToxMjQsQ0hBUl9aRVJPX1dJRFRIX05PQlJFQUtfU1BBQ0U6NjUyNzksZXh0Z2xvYkNoYXJzKHQpe3JldHVybntcIiFcIjp7dHlwZTpcIm5lZ2F0ZVwiLG9wZW46XCIoPzooPyEoPzpcIixjbG9zZTpgKSkke3QuU1RBUn0pYH0sXCI/XCI6e3R5cGU6XCJxbWFya1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIik/XCJ9LFwiK1wiOnt0eXBlOlwicGx1c1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIikrXCJ9LFwiKlwiOnt0eXBlOlwic3RhclwiLG9wZW46XCIoPzpcIixjbG9zZTpcIikqXCJ9LFwiQFwiOnt0eXBlOlwiYXRcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpXCJ9fX0sZ2xvYkNoYXJzKHQpe3JldHVybiB0PT09dHJ1ZT9DOmJ9fX0sNjk3Oih0LGUsdSk9Pntjb25zdCBuPXUoMTU0KTtjb25zdCBvPXUoOTYpO2NvbnN0e01BWF9MRU5HVEg6cyxQT1NJWF9SRUdFWF9TT1VSQ0U6cixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzphLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjppLFJFUExBQ0VNRU5UUzpjfT1uO2NvbnN0IGV4cGFuZFJhbmdlPSh0LGUpPT57aWYodHlwZW9mIGUuZXhwYW5kUmFuZ2U9PT1cImZ1bmN0aW9uXCIpe3JldHVybiBlLmV4cGFuZFJhbmdlKC4uLnQsZSl9dC5zb3J0KCk7Y29uc3QgdT1gWyR7dC5qb2luKFwiLVwiKX1dYDt0cnl7bmV3IFJlZ0V4cCh1KX1jYXRjaChlKXtyZXR1cm4gdC5tYXAoKHQ9Pm8uZXNjYXBlUmVnZXgodCkpKS5qb2luKFwiLi5cIil9cmV0dXJuIHV9O2NvbnN0IHN5bnRheEVycm9yPSh0LGUpPT5gTWlzc2luZyAke3R9OiBcIiR7ZX1cIiAtIHVzZSBcIlxcXFxcXFxcJHtlfVwiIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2A7Y29uc3QgcGFyc2U9KHQsZSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKX10PWNbdF18fHQ7Y29uc3QgdT17Li4uZX07Y29uc3QgcD10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7bGV0IGw9dC5sZW5ndGg7aWYobD5wKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtsfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3B9YCl9Y29uc3QgZj17dHlwZTpcImJvc1wiLHZhbHVlOlwiXCIsb3V0cHV0OnUucHJlcGVuZHx8XCJcIn07Y29uc3QgQT1bZl07Y29uc3QgXz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgUj1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IEU9bi5leHRnbG9iQ2hhcnMoUik7Y29uc3R7RE9UX0xJVEVSQUw6aCxQTFVTX0xJVEVSQUw6ZyxTTEFTSF9MSVRFUkFMOmIsT05FX0NIQVI6QyxET1RTX1NMQVNIOnksTk9fRE9UOiQsTk9fRE9UX1NMQVNIOngsTk9fRE9UU19TTEFTSDpTLFFNQVJLOkgsUU1BUktfTk9fRE9UOnYsU1RBUjpkLFNUQVJUX0FOQ0hPUjpMfT1SO2NvbnN0IGdsb2JzdGFyPXQ9PmAoJHtffSg/Oig/ISR7TH0ke3QuZG90P3k6aH0pLikqPylgO2NvbnN0IFQ9dS5kb3Q/XCJcIjokO2NvbnN0IE89dS5kb3Q/SDp2O2xldCBrPXUuYmFzaD09PXRydWU/Z2xvYnN0YXIodSk6ZDtpZih1LmNhcHR1cmUpe2s9YCgke2t9KWB9aWYodHlwZW9mIHUubm9leHQ9PT1cImJvb2xlYW5cIil7dS5ub2V4dGdsb2I9dS5ub2V4dH1jb25zdCBtPXtpbnB1dDp0LGluZGV4Oi0xLHN0YXJ0OjAsZG90OnUuZG90PT09dHJ1ZSxjb25zdW1lZDpcIlwiLG91dHB1dDpcIlwiLHByZWZpeDpcIlwiLGJhY2t0cmFjazpmYWxzZSxuZWdhdGVkOmZhbHNlLGJyYWNrZXRzOjAsYnJhY2VzOjAscGFyZW5zOjAscXVvdGVzOjAsZ2xvYnN0YXI6ZmFsc2UsdG9rZW5zOkF9O3Q9by5yZW1vdmVQcmVmaXgodCxtKTtsPXQubGVuZ3RoO2NvbnN0IHc9W107Y29uc3QgTj1bXTtjb25zdCBJPVtdO2xldCBCPWY7bGV0IEc7Y29uc3QgZW9zPSgpPT5tLmluZGV4PT09bC0xO2NvbnN0IEQ9bS5wZWVrPShlPTEpPT50W20uaW5kZXgrZV07Y29uc3QgTT1tLmFkdmFuY2U9KCk9PnRbKyttLmluZGV4XXx8XCJcIjtjb25zdCByZW1haW5pbmc9KCk9PnQuc2xpY2UobS5pbmRleCsxKTtjb25zdCBjb25zdW1lPSh0PVwiXCIsZT0wKT0+e20uY29uc3VtZWQrPXQ7bS5pbmRleCs9ZX07Y29uc3QgYXBwZW5kPXQ9PnttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtjb25zdW1lKHQudmFsdWUpfTtjb25zdCBuZWdhdGU9KCk9PntsZXQgdD0xO3doaWxlKEQoKT09PVwiIVwiJiYoRCgyKSE9PVwiKFwifHxEKDMpPT09XCI/XCIpKXtNKCk7bS5zdGFydCsrO3QrK31pZih0JTI9PT0wKXtyZXR1cm4gZmFsc2V9bS5uZWdhdGVkPXRydWU7bS5zdGFydCsrO3JldHVybiB0cnVlfTtjb25zdCBpbmNyZW1lbnQ9dD0+e21bdF0rKztJLnB1c2godCl9O2NvbnN0IGRlY3JlbWVudD10PT57bVt0XS0tO0kucG9wKCl9O2NvbnN0IHB1c2g9dD0+e2lmKEIudHlwZT09PVwiZ2xvYnN0YXJcIil7Y29uc3QgZT1tLmJyYWNlcz4wJiYodC50eXBlPT09XCJjb21tYVwifHx0LnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IHU9dC5leHRnbG9iPT09dHJ1ZXx8dy5sZW5ndGgmJih0LnR5cGU9PT1cInBpcGVcInx8dC50eXBlPT09XCJwYXJlblwiKTtpZih0LnR5cGUhPT1cInNsYXNoXCImJnQudHlwZSE9PVwicGFyZW5cIiYmIWUmJiF1KXttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cInN0YXJcIjtCLnZhbHVlPVwiKlwiO0Iub3V0cHV0PWs7bS5vdXRwdXQrPUIub3V0cHV0fX1pZih3Lmxlbmd0aCYmdC50eXBlIT09XCJwYXJlblwiKXt3W3cubGVuZ3RoLTFdLmlubmVyKz10LnZhbHVlfWlmKHQudmFsdWV8fHQub3V0cHV0KWFwcGVuZCh0KTtpZihCJiZCLnR5cGU9PT1cInRleHRcIiYmdC50eXBlPT09XCJ0ZXh0XCIpe0Iub3V0cHV0PShCLm91dHB1dHx8Qi52YWx1ZSkrdC52YWx1ZTtCLnZhbHVlKz10LnZhbHVlO3JldHVybn10LnByZXY9QjtBLnB1c2godCk7Qj10fTtjb25zdCBleHRnbG9iT3Blbj0odCxlKT0+e2NvbnN0IG49ey4uLkVbZV0sY29uZGl0aW9uczoxLGlubmVyOlwiXCJ9O24ucHJldj1CO24ucGFyZW5zPW0ucGFyZW5zO24ub3V0cHV0PW0ub3V0cHV0O2NvbnN0IG89KHUuY2FwdHVyZT9cIihcIjpcIlwiKStuLm9wZW47aW5jcmVtZW50KFwicGFyZW5zXCIpO3B1c2goe3R5cGU6dCx2YWx1ZTplLG91dHB1dDptLm91dHB1dD9cIlwiOkN9KTtwdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6TSgpLG91dHB1dDpvfSk7dy5wdXNoKG4pfTtjb25zdCBleHRnbG9iQ2xvc2U9dD0+e2xldCBuPXQuY2xvc2UrKHUuY2FwdHVyZT9cIilcIjpcIlwiKTtsZXQgbztpZih0LnR5cGU9PT1cIm5lZ2F0ZVwiKXtsZXQgcz1rO2lmKHQuaW5uZXImJnQuaW5uZXIubGVuZ3RoPjEmJnQuaW5uZXIuaW5jbHVkZXMoXCIvXCIpKXtzPWdsb2JzdGFyKHUpfWlmKHMhPT1rfHxlb3MoKXx8L15cXCkrJC8udGVzdChyZW1haW5pbmcoKSkpe249dC5jbG9zZT1gKSQpKSR7c31gfWlmKHQuaW5uZXIuaW5jbHVkZXMoXCIqXCIpJiYobz1yZW1haW5pbmcoKSkmJi9eXFwuW15cXFxcLy5dKyQvLnRlc3Qobykpe2NvbnN0IHU9cGFyc2Uobyx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KS5vdXRwdXQ7bj10LmNsb3NlPWApJHt1fSkke3N9KWB9aWYodC5wcmV2LnR5cGU9PT1cImJvc1wiKXttLm5lZ2F0ZWRFeHRnbG9iPXRydWV9fXB1c2goe3R5cGU6XCJwYXJlblwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpufSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpfTtpZih1LmZhc3RwYXRocyE9PWZhbHNlJiYhLyheWyohXXxbLygpW1xcXXt9XCJdKS8udGVzdCh0KSl7bGV0IG49ZmFsc2U7bGV0IHM9dC5yZXBsYWNlKGksKCh0LGUsdSxvLHMscik9PntpZihvPT09XCJcXFxcXCIpe249dHJ1ZTtyZXR1cm4gdH1pZihvPT09XCI/XCIpe2lmKGUpe3JldHVybiBlK28rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfWlmKHI9PT0wKXtyZXR1cm4gTysocz9ILnJlcGVhdChzLmxlbmd0aCk6XCJcIil9cmV0dXJuIEgucmVwZWF0KHUubGVuZ3RoKX1pZihvPT09XCIuXCIpe3JldHVybiBoLnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiKlwiKXtpZihlKXtyZXR1cm4gZStvKyhzP2s6XCJcIil9cmV0dXJuIGt9cmV0dXJuIGU/dDpgXFxcXCR7dH1gfSkpO2lmKG49PT10cnVlKXtpZih1LnVuZXNjYXBlPT09dHJ1ZSl7cz1zLnJlcGxhY2UoL1xcXFwvZyxcIlwiKX1lbHNle3M9cy5yZXBsYWNlKC9cXFxcKy9nLCh0PT50Lmxlbmd0aCUyPT09MD9cIlxcXFxcXFxcXCI6dD9cIlxcXFxcIjpcIlwiKSl9fWlmKHM9PT10JiZ1LmNvbnRhaW5zPT09dHJ1ZSl7bS5vdXRwdXQ9dDtyZXR1cm4gbX1tLm91dHB1dD1vLndyYXBPdXRwdXQocyxtLGUpO3JldHVybiBtfXdoaWxlKCFlb3MoKSl7Rz1NKCk7aWYoRz09PVwiXFwwXCIpe2NvbnRpbnVlfWlmKEc9PT1cIlxcXFxcIil7Y29uc3QgdD1EKCk7aWYodD09PVwiL1wiJiZ1LmJhc2ghPT10cnVlKXtjb250aW51ZX1pZih0PT09XCIuXCJ8fHQ9PT1cIjtcIil7Y29udGludWV9aWYoIXQpe0crPVwiXFxcXFwiO3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWNvbnN0IGU9L15cXFxcKy8uZXhlYyhyZW1haW5pbmcoKSk7bGV0IG49MDtpZihlJiZlWzBdLmxlbmd0aD4yKXtuPWVbMF0ubGVuZ3RoO20uaW5kZXgrPW47aWYobiUyIT09MCl7Rys9XCJcXFxcXCJ9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtHPU0oKX1lbHNle0crPU0oKX1pZihtLmJyYWNrZXRzPT09MCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9fWlmKG0uYnJhY2tldHM+MCYmKEchPT1cIl1cInx8Qi52YWx1ZT09PVwiW1wifHxCLnZhbHVlPT09XCJbXlwiKSl7aWYodS5wb3NpeCE9PWZhbHNlJiZHPT09XCI6XCIpe2NvbnN0IHQ9Qi52YWx1ZS5zbGljZSgxKTtpZih0LmluY2x1ZGVzKFwiW1wiKSl7Qi5wb3NpeD10cnVlO2lmKHQuaW5jbHVkZXMoXCI6XCIpKXtjb25zdCB0PUIudmFsdWUubGFzdEluZGV4T2YoXCJbXCIpO2NvbnN0IGU9Qi52YWx1ZS5zbGljZSgwLHQpO2NvbnN0IHU9Qi52YWx1ZS5zbGljZSh0KzIpO2NvbnN0IG49clt1XTtpZihuKXtCLnZhbHVlPWUrbjttLmJhY2t0cmFjaz10cnVlO00oKTtpZighZi5vdXRwdXQmJkEuaW5kZXhPZihCKT09PTEpe2Yub3V0cHV0PUN9Y29udGludWV9fX19aWYoRz09PVwiW1wiJiZEKCkhPT1cIjpcInx8Rz09PVwiLVwiJiZEKCk9PT1cIl1cIil7Rz1gXFxcXCR7R31gfWlmKEc9PT1cIl1cIiYmKEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe0c9YFxcXFwke0d9YH1pZih1LnBvc2l4PT09dHJ1ZSYmRz09PVwiIVwiJiZCLnZhbHVlPT09XCJbXCIpe0c9XCJeXCJ9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihtLnF1b3Rlcz09PTEmJkchPT0nXCInKXtHPW8uZXNjYXBlUmVnZXgoRyk7Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09J1wiJyl7bS5xdW90ZXM9bS5xdW90ZXM9PT0xPzA6MTtpZih1LmtlZXBRdW90ZXM9PT10cnVlKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KX1jb250aW51ZX1pZihHPT09XCIoXCIpe2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOlwicGFyZW5cIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiKVwiKXtpZihtLnBhcmVucz09PTAmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCIoXCIpKX1jb25zdCB0PXdbdy5sZW5ndGgtMV07aWYodCYmbS5wYXJlbnM9PT10LnBhcmVucysxKXtleHRnbG9iQ2xvc2Uody5wb3AoKSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6RyxvdXRwdXQ6bS5wYXJlbnM/XCIpXCI6XCJcXFxcKVwifSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpO2NvbnRpbnVlfWlmKEc9PT1cIltcIil7aWYodS5ub2JyYWNrZXQ9PT10cnVlfHwhcmVtYWluaW5nKCkuaW5jbHVkZXMoXCJdXCIpKXtpZih1Lm5vYnJhY2tldCE9PXRydWUmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKX1HPWBcXFxcJHtHfWB9ZWxzZXtpbmNyZW1lbnQoXCJicmFja2V0c1wiKX1wdXNoKHt0eXBlOlwiYnJhY2tldFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCJdXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8QiYmQi50eXBlPT09XCJicmFja2V0XCImJkIudmFsdWUubGVuZ3RoPT09MSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9aWYobS5icmFja2V0cz09PTApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCJbXCIpKX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmBcXFxcJHtHfWB9KTtjb250aW51ZX1kZWNyZW1lbnQoXCJicmFja2V0c1wiKTtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYoQi5wb3NpeCE9PXRydWUmJnRbMF09PT1cIl5cIiYmIXQuaW5jbHVkZXMoXCIvXCIpKXtHPWAvJHtHfWB9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtpZih1LmxpdGVyYWxCcmFja2V0cz09PWZhbHNlfHxvLmhhc1JlZ2V4Q2hhcnModCkpe2NvbnRpbnVlfWNvbnN0IGU9by5lc2NhcGVSZWdleChCLnZhbHVlKTttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLnZhbHVlLmxlbmd0aCk7aWYodS5saXRlcmFsQnJhY2tldHM9PT10cnVlKXttLm91dHB1dCs9ZTtCLnZhbHVlPWU7Y29udGludWV9Qi52YWx1ZT1gKCR7X30ke2V9fCR7Qi52YWx1ZX0pYDttLm91dHB1dCs9Qi52YWx1ZTtjb250aW51ZX1pZihHPT09XCJ7XCImJnUubm9icmFjZSE9PXRydWUpe2luY3JlbWVudChcImJyYWNlc1wiKTtjb25zdCB0PXt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDpcIihcIixvdXRwdXRJbmRleDptLm91dHB1dC5sZW5ndGgsdG9rZW5zSW5kZXg6bS50b2tlbnMubGVuZ3RofTtOLnB1c2godCk7cHVzaCh0KTtjb250aW51ZX1pZihHPT09XCJ9XCIpe2NvbnN0IHQ9TltOLmxlbmd0aC0xXTtpZih1Lm5vYnJhY2U9PT10cnVlfHwhdCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpHfSk7Y29udGludWV9bGV0IGU9XCIpXCI7aWYodC5kb3RzPT09dHJ1ZSl7Y29uc3QgdD1BLnNsaWNlKCk7Y29uc3Qgbj1bXTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7QS5wb3AoKTtpZih0W2VdLnR5cGU9PT1cImJyYWNlXCIpe2JyZWFrfWlmKHRbZV0udHlwZSE9PVwiZG90c1wiKXtuLnVuc2hpZnQodFtlXS52YWx1ZSl9fWU9ZXhwYW5kUmFuZ2Uobix1KTttLmJhY2t0cmFjaz10cnVlfWlmKHQuY29tbWEhPT10cnVlJiZ0LmRvdHMhPT10cnVlKXtjb25zdCB1PW0ub3V0cHV0LnNsaWNlKDAsdC5vdXRwdXRJbmRleCk7Y29uc3Qgbj1tLnRva2Vucy5zbGljZSh0LnRva2Vuc0luZGV4KTt0LnZhbHVlPXQub3V0cHV0PVwiXFxcXHtcIjtHPWU9XCJcXFxcfVwiO20ub3V0cHV0PXU7Zm9yKGNvbnN0IHQgb2Ygbil7bS5vdXRwdXQrPXQub3V0cHV0fHx0LnZhbHVlfX1wdXNoKHt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDplfSk7ZGVjcmVtZW50KFwiYnJhY2VzXCIpO04ucG9wKCk7Y29udGludWV9aWYoRz09PVwifFwiKXtpZih3Lmxlbmd0aD4wKXt3W3cubGVuZ3RoLTFdLmNvbmRpdGlvbnMrK31wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCIsXCIpe2xldCB0PUc7Y29uc3QgZT1OW04ubGVuZ3RoLTFdO2lmKGUmJklbSS5sZW5ndGgtMV09PT1cImJyYWNlc1wiKXtlLmNvbW1hPXRydWU7dD1cInxcIn1wdXNoKHt0eXBlOlwiY29tbWFcIix2YWx1ZTpHLG91dHB1dDp0fSk7Y29udGludWV9aWYoRz09PVwiL1wiKXtpZihCLnR5cGU9PT1cImRvdFwiJiZtLmluZGV4PT09bS5zdGFydCsxKXttLnN0YXJ0PW0uaW5kZXgrMTttLmNvbnN1bWVkPVwiXCI7bS5vdXRwdXQ9XCJcIjtBLnBvcCgpO0I9Zjtjb250aW51ZX1wdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpHLG91dHB1dDpifSk7Y29udGludWV9aWYoRz09PVwiLlwiKXtpZihtLmJyYWNlcz4wJiZCLnR5cGU9PT1cImRvdFwiKXtpZihCLnZhbHVlPT09XCIuXCIpQi5vdXRwdXQ9aDtjb25zdCB0PU5bTi5sZW5ndGgtMV07Qi50eXBlPVwiZG90c1wiO0Iub3V0cHV0Kz1HO0IudmFsdWUrPUc7dC5kb3RzPXRydWU7Y29udGludWV9aWYobS5icmFjZXMrbS5wYXJlbnM9PT0wJiZCLnR5cGUhPT1cImJvc1wiJiZCLnR5cGUhPT1cInNsYXNoXCIpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJkb3RcIix2YWx1ZTpHLG91dHB1dDpofSk7Y29udGludWV9aWYoRz09PVwiP1wiKXtjb25zdCB0PUImJkIudmFsdWU9PT1cIihcIjtpZighdCYmdS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIiYmRCgyKSE9PVwiP1wiKXtleHRnbG9iT3BlbihcInFtYXJrXCIsRyk7Y29udGludWV9aWYoQiYmQi50eXBlPT09XCJwYXJlblwiKXtjb25zdCB0PUQoKTtsZXQgZT1HO2lmKEIudmFsdWU9PT1cIihcIiYmIS9bIT08Ol0vLnRlc3QodCl8fHQ9PT1cIjxcIiYmIS88KFshPV18XFx3Kz4pLy50ZXN0KHJlbWFpbmluZygpKSl7ZT1gXFxcXCR7R31gfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2NvbnRpbnVlfWlmKHUuZG90IT09dHJ1ZSYmKEIudHlwZT09PVwic2xhc2hcInx8Qi50eXBlPT09XCJib3NcIikpe3B1c2goe3R5cGU6XCJxbWFya1wiLHZhbHVlOkcsb3V0cHV0OnZ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDpIfSk7Y29udGludWV9aWYoRz09PVwiIVwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiKXtpZihEKDIpIT09XCI/XCJ8fCEvWyE9PDpdLy50ZXN0KEQoMykpKXtleHRnbG9iT3BlbihcIm5lZ2F0ZVwiLEcpO2NvbnRpbnVlfX1pZih1Lm5vbmVnYXRlIT09dHJ1ZSYmbS5pbmRleD09PTApe25lZ2F0ZSgpO2NvbnRpbnVlfX1pZihHPT09XCIrXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJwbHVzXCIsRyk7Y29udGludWV9aWYoQiYmQi52YWx1ZT09PVwiKFwifHx1LnJlZ2V4PT09ZmFsc2Upe3B1c2goe3R5cGU6XCJwbHVzXCIsdmFsdWU6RyxvdXRwdXQ6Z30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwifHxCLnR5cGU9PT1cImJyYWNlXCIpfHxtLnBhcmVucz4wKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkd9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOmd9KTtjb250aW51ZX1pZihHPT09XCJAXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7cHVzaCh7dHlwZTpcImF0XCIsZXh0Z2xvYjp0cnVlLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHIT09XCIqXCIpe2lmKEc9PT1cIiRcInx8Rz09PVwiXlwiKXtHPWBcXFxcJHtHfWB9Y29uc3QgdD1hLmV4ZWMocmVtYWluaW5nKCkpO2lmKHQpe0crPXRbMF07bS5pbmRleCs9dFswXS5sZW5ndGh9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiZ2xvYnN0YXJcInx8Qi5zdGFyPT09dHJ1ZSkpe0IudHlwZT1cInN0YXJcIjtCLnN0YXI9dHJ1ZTtCLnZhbHVlKz1HO0Iub3V0cHV0PWs7bS5iYWNrdHJhY2s9dHJ1ZTttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1sZXQgZT1yZW1haW5pbmcoKTtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJi9eXFwoW14/XS8udGVzdChlKSl7ZXh0Z2xvYk9wZW4oXCJzdGFyXCIsRyk7Y29udGludWV9aWYoQi50eXBlPT09XCJzdGFyXCIpe2lmKHUubm9nbG9ic3Rhcj09PXRydWUpe2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj1CLnByZXY7Y29uc3Qgbz1uLnByZXY7Y29uc3Qgcz1uLnR5cGU9PT1cInNsYXNoXCJ8fG4udHlwZT09PVwiYm9zXCI7Y29uc3Qgcj1vJiYoby50eXBlPT09XCJzdGFyXCJ8fG8udHlwZT09PVwiZ2xvYnN0YXJcIik7aWYodS5iYXNoPT09dHJ1ZSYmKCFzfHxlWzBdJiZlWzBdIT09XCIvXCIpKXtwdXNoKHt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1jb25zdCBhPW0uYnJhY2VzPjAmJihuLnR5cGU9PT1cImNvbW1hXCJ8fG4udHlwZT09PVwiYnJhY2VcIik7Y29uc3QgaT13Lmxlbmd0aCYmKG4udHlwZT09PVwicGlwZVwifHxuLnR5cGU9PT1cInBhcmVuXCIpO2lmKCFzJiZuLnR5cGUhPT1cInBhcmVuXCImJiFhJiYhaSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9d2hpbGUoZS5zbGljZSgwLDMpPT09XCIvKipcIil7Y29uc3QgdT10W20uaW5kZXgrNF07aWYodSYmdSE9PVwiL1wiKXticmVha31lPWUuc2xpY2UoMyk7Y29uc3VtZShcIi8qKlwiLDMpfWlmKG4udHlwZT09PVwiYm9zXCImJmVvcygpKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7bS5vdXRwdXQ9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9aWYobi50eXBlPT09XCJzbGFzaFwiJiZuLnByZXYudHlwZSE9PVwiYm9zXCImJiFyJiZlb3MoKSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KSsodS5zdHJpY3RTbGFzaGVzP1wiKVwiOlwifCQpXCIpO0IudmFsdWUrPUc7bS5nbG9ic3Rhcj10cnVlO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe2NvbnN0IHQ9ZVsxXSE9PXZvaWQgMD9cInwkXCI6XCJcIjttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC0obi5vdXRwdXQrQi5vdXRwdXQpLmxlbmd0aCk7bi5vdXRwdXQ9YCg/OiR7bi5vdXRwdXR9YDtCLnR5cGU9XCJnbG9ic3RhclwiO0Iub3V0cHV0PWAke2dsb2JzdGFyKHUpfSR7Yn18JHtifSR7dH0pYDtCLnZhbHVlKz1HO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1pZihuLnR5cGU9PT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe0IudHlwZT1cImdsb2JzdGFyXCI7Qi52YWx1ZSs9RztCLm91dHB1dD1gKD86Xnwke2J9fCR7Z2xvYnN0YXIodSl9JHtifSlgO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcrTSgpKTtwdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpcIi9cIixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfW0ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLUIub3V0cHV0Lmxlbmd0aCk7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KTtCLnZhbHVlKz1HO20ub3V0cHV0Kz1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1jb25zdCBuPXt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0Omt9O2lmKHUuYmFzaD09PXRydWUpe24ub3V0cHV0PVwiLio/XCI7aWYoQi50eXBlPT09XCJib3NcInx8Qi50eXBlPT09XCJzbGFzaFwiKXtuLm91dHB1dD1UK24ub3V0cHV0fXB1c2gobik7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiYnJhY2tldFwifHxCLnR5cGU9PT1cInBhcmVuXCIpJiZ1LnJlZ2V4PT09dHJ1ZSl7bi5vdXRwdXQ9RztwdXNoKG4pO2NvbnRpbnVlfWlmKG0uaW5kZXg9PT1tLnN0YXJ0fHxCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiZG90XCIpe2lmKEIudHlwZT09PVwiZG90XCIpe20ub3V0cHV0Kz14O0Iub3V0cHV0Kz14fWVsc2UgaWYodS5kb3Q9PT10cnVlKXttLm91dHB1dCs9UztCLm91dHB1dCs9U31lbHNle20ub3V0cHV0Kz1UO0Iub3V0cHV0Kz1UfWlmKEQoKSE9PVwiKlwiKXttLm91dHB1dCs9QztCLm91dHB1dCs9Q319cHVzaChuKX13aGlsZShtLmJyYWNrZXRzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIl1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIltcIik7ZGVjcmVtZW50KFwiYnJhY2tldHNcIil9d2hpbGUobS5wYXJlbnM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiKVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwiKFwiKTtkZWNyZW1lbnQoXCJwYXJlbnNcIil9d2hpbGUobS5icmFjZXM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwifVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwie1wiKTtkZWNyZW1lbnQoXCJicmFjZXNcIil9aWYodS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSYmKEIudHlwZT09PVwic3RhclwifHxCLnR5cGU9PT1cImJyYWNrZXRcIikpe3B1c2goe3R5cGU6XCJtYXliZV9zbGFzaFwiLHZhbHVlOlwiXCIsb3V0cHV0OmAke2J9P2B9KX1pZihtLmJhY2t0cmFjaz09PXRydWUpe20ub3V0cHV0PVwiXCI7Zm9yKGNvbnN0IHQgb2YgbS50b2tlbnMpe20ub3V0cHV0Kz10Lm91dHB1dCE9bnVsbD90Lm91dHB1dDp0LnZhbHVlO2lmKHQuc3VmZml4KXttLm91dHB1dCs9dC5zdWZmaXh9fX1yZXR1cm4gbX07cGFyc2UuZmFzdHBhdGhzPSh0LGUpPT57Y29uc3QgdT17Li4uZX07Y29uc3Qgcj10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7Y29uc3QgYT10Lmxlbmd0aDtpZihhPnIpe3Rocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke2F9LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7cn1gKX10PWNbdF18fHQ7Y29uc3R7RE9UX0xJVEVSQUw6aSxTTEFTSF9MSVRFUkFMOnAsT05FX0NIQVI6bCxET1RTX1NMQVNIOmYsTk9fRE9UOkEsTk9fRE9UUzpfLE5PX0RPVFNfU0xBU0g6UixTVEFSOkUsU1RBUlRfQU5DSE9SOmh9PW4uZ2xvYkNoYXJzKHUud2luZG93cyk7Y29uc3QgZz11LmRvdD9fOkE7Y29uc3QgYj11LmRvdD9SOkE7Y29uc3QgQz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgeT17bmVnYXRlZDpmYWxzZSxwcmVmaXg6XCJcIn07bGV0ICQ9dS5iYXNoPT09dHJ1ZT9cIi4qP1wiOkU7aWYodS5jYXB0dXJlKXskPWAoJHskfSlgfWNvbnN0IGdsb2JzdGFyPXQ9PntpZih0Lm5vZ2xvYnN0YXI9PT10cnVlKXJldHVybiAkO3JldHVybmAoJHtDfSg/Oig/ISR7aH0ke3QuZG90P2Y6aX0pLikqPylgfTtjb25zdCBjcmVhdGU9dD0+e3N3aXRjaCh0KXtjYXNlXCIqXCI6cmV0dXJuYCR7Z30ke2x9JHskfWA7Y2FzZVwiLipcIjpyZXR1cm5gJHtpfSR7bH0keyR9YDtjYXNlXCIqLipcIjpyZXR1cm5gJHtnfSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIiovKlwiOnJldHVybmAke2d9JHskfSR7cH0ke2x9JHtifSR7JH1gO2Nhc2VcIioqXCI6cmV0dXJuIGcrZ2xvYnN0YXIodSk7Y2FzZVwiKiovKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHtsfSR7JH1gO2Nhc2VcIioqLyouKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHskfSR7aX0ke2x9JHskfWA7Y2FzZVwiKiovLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtpfSR7bH0keyR9YDtkZWZhdWx0Ontjb25zdCBlPS9eKC4qPylcXC4oXFx3KykkLy5leGVjKHQpO2lmKCFlKXJldHVybjtjb25zdCB1PWNyZWF0ZShlWzFdKTtpZighdSlyZXR1cm47cmV0dXJuIHUraStlWzJdfX19O2NvbnN0IHg9by5yZW1vdmVQcmVmaXgodCx5KTtsZXQgUz1jcmVhdGUoeCk7aWYoUyYmdS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSl7Uys9YCR7cH0/YH1yZXR1cm4gU307dC5leHBvcnRzPXBhcnNlfSw1MTA6KHQsZSx1KT0+e2NvbnN0IG49dSg3MTYpO2NvbnN0IG89dSg2OTcpO2NvbnN0IHM9dSg5Nik7Y29uc3Qgcj11KDE1NCk7Y29uc3QgaXNPYmplY3Q9dD0+dCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtjb25zdCBwaWNvbWF0Y2g9KHQsZSx1PWZhbHNlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG49dC5tYXAoKHQ9PnBpY29tYXRjaCh0LGUsdSkpKTtjb25zdCBhcnJheU1hdGNoZXI9dD0+e2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IHU9ZSh0KTtpZih1KXJldHVybiB1fXJldHVybiBmYWxzZX07cmV0dXJuIGFycmF5TWF0Y2hlcn1jb25zdCBuPWlzT2JqZWN0KHQpJiZ0LnRva2VucyYmdC5pbnB1dDtpZih0PT09XCJcInx8dHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhbil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIHBhdHRlcm4gdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nXCIpfWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLndpbmRvd3M7Y29uc3Qgcj1uP3BpY29tYXRjaC5jb21waWxlUmUodCxlKTpwaWNvbWF0Y2gubWFrZVJlKHQsZSxmYWxzZSx0cnVlKTtjb25zdCBhPXIuc3RhdGU7ZGVsZXRlIHIuc3RhdGU7bGV0IGlzSWdub3JlZD0oKT0+ZmFsc2U7aWYoby5pZ25vcmUpe2NvbnN0IHQ9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2lzSWdub3JlZD1waWNvbWF0Y2goby5pZ25vcmUsdCx1KX1jb25zdCBtYXRjaGVyPSh1LG49ZmFsc2UpPT57Y29uc3R7aXNNYXRjaDppLG1hdGNoOmMsb3V0cHV0OnB9PXBpY29tYXRjaC50ZXN0KHUscixlLHtnbG9iOnQscG9zaXg6c30pO2NvbnN0IGw9e2dsb2I6dCxzdGF0ZTphLHJlZ2V4OnIscG9zaXg6cyxpbnB1dDp1LG91dHB1dDpwLG1hdGNoOmMsaXNNYXRjaDppfTtpZih0eXBlb2Ygby5vblJlc3VsdD09PVwiZnVuY3Rpb25cIil7by5vblJlc3VsdChsKX1pZihpPT09ZmFsc2Upe2wuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKGlzSWdub3JlZCh1KSl7aWYodHlwZW9mIG8ub25JZ25vcmU9PT1cImZ1bmN0aW9uXCIpe28ub25JZ25vcmUobCl9bC5pc01hdGNoPWZhbHNlO3JldHVybiBuP2w6ZmFsc2V9aWYodHlwZW9mIG8ub25NYXRjaD09PVwiZnVuY3Rpb25cIil7by5vbk1hdGNoKGwpfXJldHVybiBuP2w6dHJ1ZX07aWYodSl7bWF0Y2hlci5zdGF0ZT1hfXJldHVybiBtYXRjaGVyfTtwaWNvbWF0Y2gudGVzdD0odCxlLHUse2dsb2I6bixwb3NpeDpvfT17fSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBpbnB1dCB0byBiZSBhIHN0cmluZ1wiKX1pZih0PT09XCJcIil7cmV0dXJue2lzTWF0Y2g6ZmFsc2Usb3V0cHV0OlwiXCJ9fWNvbnN0IHI9dXx8e307Y29uc3QgYT1yLmZvcm1hdHx8KG8/cy50b1Bvc2l4U2xhc2hlczpudWxsKTtsZXQgaT10PT09bjtsZXQgYz1pJiZhP2EodCk6dDtpZihpPT09ZmFsc2Upe2M9YT9hKHQpOnQ7aT1jPT09bn1pZihpPT09ZmFsc2V8fHIuY2FwdHVyZT09PXRydWUpe2lmKHIubWF0Y2hCYXNlPT09dHJ1ZXx8ci5iYXNlbmFtZT09PXRydWUpe2k9cGljb21hdGNoLm1hdGNoQmFzZSh0LGUsdSxvKX1lbHNle2k9ZS5leGVjKGMpfX1yZXR1cm57aXNNYXRjaDpCb29sZWFuKGkpLG1hdGNoOmksb3V0cHV0OmN9fTtwaWNvbWF0Y2gubWF0Y2hCYXNlPSh0LGUsdSk9Pntjb25zdCBuPWUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpwaWNvbWF0Y2gubWFrZVJlKGUsdSk7cmV0dXJuIG4udGVzdChzLmJhc2VuYW1lKHQpKX07cGljb21hdGNoLmlzTWF0Y2g9KHQsZSx1KT0+cGljb21hdGNoKGUsdSkodCk7cGljb21hdGNoLnBhcnNlPSh0LGUpPT57aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAoKHQ9PnBpY29tYXRjaC5wYXJzZSh0LGUpKSk7cmV0dXJuIG8odCx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KX07cGljb21hdGNoLnNjYW49KHQsZSk9Pm4odCxlKTtwaWNvbWF0Y2guY29tcGlsZVJlPSh0LGUsdT1mYWxzZSxuPWZhbHNlKT0+e2lmKHU9PT10cnVlKXtyZXR1cm4gdC5vdXRwdXR9Y29uc3Qgbz1lfHx7fTtjb25zdCBzPW8uY29udGFpbnM/XCJcIjpcIl5cIjtjb25zdCByPW8uY29udGFpbnM/XCJcIjpcIiRcIjtsZXQgYT1gJHtzfSg/OiR7dC5vdXRwdXR9KSR7cn1gO2lmKHQmJnQubmVnYXRlZD09PXRydWUpe2E9YF4oPyEke2F9KS4qJGB9Y29uc3QgaT1waWNvbWF0Y2gudG9SZWdleChhLGUpO2lmKG49PT10cnVlKXtpLnN0YXRlPXR9cmV0dXJuIGl9O3BpY29tYXRjaC5tYWtlUmU9KHQsZT17fSx1PWZhbHNlLG49ZmFsc2UpPT57aWYoIXR8fHR5cGVvZiB0IT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1sZXQgcz17bmVnYXRlZDpmYWxzZSxmYXN0cGF0aHM6dHJ1ZX07aWYoZS5mYXN0cGF0aHMhPT1mYWxzZSYmKHRbMF09PT1cIi5cInx8dFswXT09PVwiKlwiKSl7cy5vdXRwdXQ9by5mYXN0cGF0aHModCxlKX1pZighcy5vdXRwdXQpe3M9byh0LGUpfXJldHVybiBwaWNvbWF0Y2guY29tcGlsZVJlKHMsZSx1LG4pfTtwaWNvbWF0Y2gudG9SZWdleD0odCxlKT0+e3RyeXtjb25zdCB1PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHQsdS5mbGFnc3x8KHUubm9jYXNlP1wiaVwiOlwiXCIpKX1jYXRjaCh0KXtpZihlJiZlLmRlYnVnPT09dHJ1ZSl0aHJvdyB0O3JldHVybi8kXi99fTtwaWNvbWF0Y2guY29uc3RhbnRzPXI7dC5leHBvcnRzPXBpY29tYXRjaH0sNzE2Oih0LGUsdSk9Pntjb25zdCBuPXUoOTYpO2NvbnN0e0NIQVJfQVNURVJJU0s6byxDSEFSX0FUOnMsQ0hBUl9CQUNLV0FSRF9TTEFTSDpyLENIQVJfQ09NTUE6YSxDSEFSX0RPVDppLENIQVJfRVhDTEFNQVRJT05fTUFSSzpjLENIQVJfRk9SV0FSRF9TTEFTSDpwLENIQVJfTEVGVF9DVVJMWV9CUkFDRTpsLENIQVJfTEVGVF9QQVJFTlRIRVNFUzpmLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpBLENIQVJfUExVUzpfLENIQVJfUVVFU1RJT05fTUFSSzpSLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6RSxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOmgsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpnfT11KDE1NCk7Y29uc3QgaXNQYXRoU2VwYXJhdG9yPXQ9PnQ9PT1wfHx0PT09cjtjb25zdCBkZXB0aD10PT57aWYodC5pc1ByZWZpeCE9PXRydWUpe3QuZGVwdGg9dC5pc0dsb2JzdGFyP0luZmluaXR5OjF9fTtjb25zdCBzY2FuPSh0LGUpPT57Y29uc3QgdT1lfHx7fTtjb25zdCBiPXQubGVuZ3RoLTE7Y29uc3QgQz11LnBhcnRzPT09dHJ1ZXx8dS5zY2FuVG9FbmQ9PT10cnVlO2NvbnN0IHk9W107Y29uc3QgJD1bXTtjb25zdCB4PVtdO2xldCBTPXQ7bGV0IEg9LTE7bGV0IHY9MDtsZXQgZD0wO2xldCBMPWZhbHNlO2xldCBUPWZhbHNlO2xldCBPPWZhbHNlO2xldCBrPWZhbHNlO2xldCBtPWZhbHNlO2xldCB3PWZhbHNlO2xldCBOPWZhbHNlO2xldCBJPWZhbHNlO2xldCBCPWZhbHNlO2xldCBHPWZhbHNlO2xldCBEPTA7bGV0IE07bGV0IFA7bGV0IEs9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2NvbnN0IGVvcz0oKT0+SD49Yjtjb25zdCBwZWVrPSgpPT5TLmNoYXJDb2RlQXQoSCsxKTtjb25zdCBhZHZhbmNlPSgpPT57TT1QO3JldHVybiBTLmNoYXJDb2RlQXQoKytIKX07d2hpbGUoSDxiKXtQPWFkdmFuY2UoKTtsZXQgdDtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7aWYoUD09PWwpe3c9dHJ1ZX1jb250aW51ZX1pZih3PT09dHJ1ZXx8UD09PWwpe0QrKzt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWwpe0QrKztjb250aW51ZX1pZih3IT09dHJ1ZSYmUD09PWkmJihQPWFkdmFuY2UoKSk9PT1pKXtMPUsuaXNCcmFjZT10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHchPT10cnVlJiZQPT09YSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09RSl7RC0tO2lmKEQ9PT0wKXt3PWZhbHNlO0w9Sy5pc0JyYWNlPXRydWU7Rz10cnVlO2JyZWFrfX19aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1wKXt5LnB1c2goSCk7JC5wdXNoKEspO0s9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2lmKEc9PT10cnVlKWNvbnRpbnVlO2lmKE09PT1pJiZIPT09disxKXt2Kz0yO2NvbnRpbnVlfWQ9SCsxO2NvbnRpbnVlfWlmKHUubm9leHQhPT10cnVlKXtjb25zdCB0PVA9PT1ffHxQPT09c3x8UD09PW98fFA9PT1SfHxQPT09YztpZih0PT09dHJ1ZSYmcGVlaygpPT09Zil7Tz1LLmlzR2xvYj10cnVlO2s9Sy5pc0V4dGdsb2I9dHJ1ZTtHPXRydWU7aWYoUD09PWMmJkg9PT12KXtCPXRydWV9aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1jb250aW51ZX1icmVha319aWYoUD09PW8pe2lmKE09PT1vKW09Sy5pc0dsb2JzdGFyPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PVIpe089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1BKXt3aGlsZShlb3MoKSE9PXRydWUmJih0PWFkdmFuY2UoKSkpe2lmKHQ9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYodD09PWcpe1Q9Sy5pc0JyYWNrZXQ9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1pZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYodS5ub25lZ2F0ZSE9PXRydWUmJlA9PT1jJiZIPT09dil7ST1LLm5lZ2F0ZWQ9dHJ1ZTt2Kys7Y29udGludWV9aWYodS5ub3BhcmVuIT09dHJ1ZSYmUD09PWYpe089Sy5pc0dsb2I9dHJ1ZTtpZihDPT09dHJ1ZSl7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09Zil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWgpe0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9aWYoTz09PXRydWUpe0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9fWlmKHUubm9leHQ9PT10cnVlKXtrPWZhbHNlO089ZmFsc2V9bGV0IFU9UztsZXQgWD1cIlwiO2xldCBGPVwiXCI7aWYodj4wKXtYPVMuc2xpY2UoMCx2KTtTPVMuc2xpY2Uodik7ZC09dn1pZihVJiZPPT09dHJ1ZSYmZD4wKXtVPVMuc2xpY2UoMCxkKTtGPVMuc2xpY2UoZCl9ZWxzZSBpZihPPT09dHJ1ZSl7VT1cIlwiO0Y9U31lbHNle1U9U31pZihVJiZVIT09XCJcIiYmVSE9PVwiL1wiJiZVIT09Uyl7aWYoaXNQYXRoU2VwYXJhdG9yKFUuY2hhckNvZGVBdChVLmxlbmd0aC0xKSkpe1U9VS5zbGljZSgwLC0xKX19aWYodS51bmVzY2FwZT09PXRydWUpe2lmKEYpRj1uLnJlbW92ZUJhY2tzbGFzaGVzKEYpO2lmKFUmJk49PT10cnVlKXtVPW4ucmVtb3ZlQmFja3NsYXNoZXMoVSl9fWNvbnN0IFE9e3ByZWZpeDpYLGlucHV0OnQsc3RhcnQ6dixiYXNlOlUsZ2xvYjpGLGlzQnJhY2U6TCxpc0JyYWNrZXQ6VCxpc0dsb2I6Tyxpc0V4dGdsb2I6ayxpc0dsb2JzdGFyOm0sbmVnYXRlZDpJLG5lZ2F0ZWRFeHRnbG9iOkJ9O2lmKHUudG9rZW5zPT09dHJ1ZSl7US5tYXhEZXB0aD0wO2lmKCFpc1BhdGhTZXBhcmF0b3IoUCkpeyQucHVzaChLKX1RLnRva2Vucz0kfWlmKHUucGFydHM9PT10cnVlfHx1LnRva2Vucz09PXRydWUpe2xldCBlO2ZvcihsZXQgbj0wO248eS5sZW5ndGg7bisrKXtjb25zdCBvPWU/ZSsxOnY7Y29uc3Qgcz15W25dO2NvbnN0IHI9dC5zbGljZShvLHMpO2lmKHUudG9rZW5zKXtpZihuPT09MCYmdiE9PTApeyRbbl0uaXNQcmVmaXg9dHJ1ZTskW25dLnZhbHVlPVh9ZWxzZXskW25dLnZhbHVlPXJ9ZGVwdGgoJFtuXSk7US5tYXhEZXB0aCs9JFtuXS5kZXB0aH1pZihuIT09MHx8ciE9PVwiXCIpe3gucHVzaChyKX1lPXN9aWYoZSYmZSsxPHQubGVuZ3RoKXtjb25zdCBuPXQuc2xpY2UoZSsxKTt4LnB1c2gobik7aWYodS50b2tlbnMpeyRbJC5sZW5ndGgtMV0udmFsdWU9bjtkZXB0aCgkWyQubGVuZ3RoLTFdKTtRLm1heERlcHRoKz0kWyQubGVuZ3RoLTFdLmRlcHRofX1RLnNsYXNoZXM9eTtRLnBhcnRzPXh9cmV0dXJuIFF9O3QuZXhwb3J0cz1zY2FufSw5NjoodCxlLHUpPT57Y29uc3R7UkVHRVhfQkFDS1NMQVNIOm4sUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDpvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6cyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDpyfT11KDE1NCk7ZS5pc09iamVjdD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtlLmhhc1JlZ2V4Q2hhcnM9dD0+cy50ZXN0KHQpO2UuaXNSZWdleENoYXI9dD0+dC5sZW5ndGg9PT0xJiZlLmhhc1JlZ2V4Q2hhcnModCk7ZS5lc2NhcGVSZWdleD10PT50LnJlcGxhY2UocixcIlxcXFwkMVwiKTtlLnRvUG9zaXhTbGFzaGVzPXQ9PnQucmVwbGFjZShuLFwiL1wiKTtlLnJlbW92ZUJhY2tzbGFzaGVzPXQ9PnQucmVwbGFjZShvLCh0PT50PT09XCJcXFxcXCI/XCJcIjp0KSk7ZS5lc2NhcGVMYXN0PSh0LHUsbik9Pntjb25zdCBvPXQubGFzdEluZGV4T2YodSxuKTtpZihvPT09LTEpcmV0dXJuIHQ7aWYodFtvLTFdPT09XCJcXFxcXCIpcmV0dXJuIGUuZXNjYXBlTGFzdCh0LHUsby0xKTtyZXR1cm5gJHt0LnNsaWNlKDAsbyl9XFxcXCR7dC5zbGljZShvKX1gfTtlLnJlbW92ZVByZWZpeD0odCxlPXt9KT0+e2xldCB1PXQ7aWYodS5zdGFydHNXaXRoKFwiLi9cIikpe3U9dS5zbGljZSgyKTtlLnByZWZpeD1cIi4vXCJ9cmV0dXJuIHV9O2Uud3JhcE91dHB1dD0odCxlPXt9LHU9e30pPT57Y29uc3Qgbj11LmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgbz11LmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IHM9YCR7bn0oPzoke3R9KSR7b31gO2lmKGUubmVnYXRlZD09PXRydWUpe3M9YCg/Ol4oPyEke3N9KS4qJClgfXJldHVybiBzfTtlLmJhc2VuYW1lPSh0LHt3aW5kb3dzOmV9PXt9KT0+e2NvbnN0IHU9dC5zcGxpdChlPy9bXFxcXC9dLzpcIi9cIik7Y29uc3Qgbj11W3UubGVuZ3RoLTFdO2lmKG49PT1cIlwiKXtyZXR1cm4gdVt1Lmxlbmd0aC0yXX1yZXR1cm4gbn19fTt2YXIgZT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHUpe3ZhciBuPWVbdV07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgbz1lW3VdPXtleHBvcnRzOnt9fTt2YXIgcz10cnVlO3RyeXt0W3VdKG8sby5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3M9ZmFsc2V9ZmluYWxseXtpZihzKWRlbGV0ZSBlW3VdfXJldHVybiBvLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB1PV9fbmNjd3Bja19yZXF1aXJlX18oMTcwKTttb2R1bGUuZXhwb3J0cz11fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/picomatch/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/compiled/platform/platform.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/compiled/platform/platform.js ***! - \**************************************************************/ -/***/ ((module) => { - -eval("(()=>{var e={541:function(e,i,t){e=t.nmd(e);\n/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */(function(){\"use strict\";var t={function:true,object:true};var r=t[typeof window]&&window||this;var a=r;var n=t[typeof i]&&i;var o=t[\"object\"]&&e&&!e.nodeType&&e;var l=n&&o&&typeof global==\"object\"&&global;if(l&&(l.global===l||l.window===l||l.self===l)){r=l}var s=Math.pow(2,53)-1;var f=/\\bOpera/;var b=this;var c=Object.prototype;var p=c.hasOwnProperty;var u=c.toString;function capitalize(e){e=String(e);return e.charAt(0).toUpperCase()+e.slice(1)}function cleanupOS(e,i,t){var r={\"10.0\":\"10\",6.4:\"10 Technical Preview\",6.3:\"8.1\",6.2:\"8\",6.1:\"Server 2008 R2 / 7\",\"6.0\":\"Server 2008 / Vista\",5.2:\"Server 2003 / XP 64-bit\",5.1:\"XP\",5.01:\"2000 SP1\",\"5.0\":\"2000\",\"4.0\":\"NT\",\"4.90\":\"ME\"};if(i&&t&&/^Win/i.test(e)&&!/^Windows Phone /i.test(e)&&(r=r[/[\\d.]+$/.exec(e)])){e=\"Windows \"+r}e=String(e);if(i&&t){e=e.replace(RegExp(i,\"i\"),t)}e=format(e.replace(/ ce$/i,\" CE\").replace(/\\bhpw/i,\"web\").replace(/\\bMacintosh\\b/,\"Mac OS\").replace(/_PowerPC\\b/i,\" OS\").replace(/\\b(OS X) [^ \\d]+/i,\"$1\").replace(/\\bMac (OS X)\\b/,\"$1\").replace(/\\/(\\d)/,\" $1\").replace(/_/g,\".\").replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i,\"\").replace(/\\bx86\\.64\\b/gi,\"x86_64\").replace(/\\b(Windows Phone) OS\\b/,\"$1\").replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/,\"$1\").split(\" on \")[0]);return e}function each(e,i){var t=-1,r=e?e.length:0;if(typeof r==\"number\"&&r>-1&&r<=s){while(++t<r){i(e[t],t,e)}}else{forOwn(e,i)}}function format(e){e=trim(e);return/^(?:webOS|i(?:OS|P))/.test(e)?e:capitalize(e)}function forOwn(e,i){for(var t in e){if(p.call(e,t)){i(e[t],t,e)}}}function getClassOf(e){return e==null?capitalize(e):u.call(e).slice(8,-1)}function isHostType(e,i){var t=e!=null?typeof e[i]:\"number\";return!/^(?:boolean|number|string|undefined)$/.test(t)&&(t==\"object\"?!!e[i]:true)}function qualify(e){return String(e).replace(/([ -])(?!$)/g,\"$1?\")}function reduce(e,i){var t=null;each(e,(function(r,a){t=i(t,r,a,e)}));return t}function trim(e){return String(e).replace(/^ +| +$/g,\"\")}function parse(e){var i=r;var t=e&&typeof e==\"object\"&&getClassOf(e)!=\"String\";if(t){i=e;e=null}var n=i.navigator||{};var o=n.userAgent||\"\";e||(e=o);var l=t||b==a;var s=t?!!n.likeChrome:/\\bChrome\\b/.test(e)&&!/internal|\\n/i.test(u.toString());var c=\"Object\",p=t?c:\"ScriptBridgingProxyObject\",d=t?c:\"Environment\",S=t&&i.java?\"JavaPackage\":getClassOf(i.java),x=t?c:\"RuntimeObject\";var m=/\\bJava/.test(S)&&i.java;var g=m&&getClassOf(i.environment)==d;var h=m?\"a\":\"α\";var v=m?\"b\":\"β\";var O=i.document||{};var y=i.operamini||i.opera;var w=f.test(w=t&&y?y[\"[[Class]]\"]:getClassOf(y))?w:y=null;var M;var E=e;var P=[];var C=null;var k=e==o;var B=k&&y&&typeof y.version==\"function\"&&y.version();var W;var _=getLayout([{label:\"EdgeHTML\",pattern:\"Edge\"},\"Trident\",{label:\"WebKit\",pattern:\"AppleWebKit\"},\"iCab\",\"Presto\",\"NetFront\",\"Tasman\",\"KHTML\",\"Gecko\"]);var R=getName([\"Adobe AIR\",\"Arora\",\"Avant Browser\",\"Breach\",\"Camino\",\"Electron\",\"Epiphany\",\"Fennec\",\"Flock\",\"Galeon\",\"GreenBrowser\",\"iCab\",\"Iceweasel\",\"K-Meleon\",\"Konqueror\",\"Lunascape\",\"Maxthon\",{label:\"Microsoft Edge\",pattern:\"(?:Edge|Edg|EdgA|EdgiOS)\"},\"Midori\",\"Nook Browser\",\"PaleMoon\",\"PhantomJS\",\"Raven\",\"Rekonq\",\"RockMelt\",{label:\"Samsung Internet\",pattern:\"SamsungBrowser\"},\"SeaMonkey\",{label:\"Silk\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Sleipnir\",\"SlimBrowser\",{label:\"SRWare Iron\",pattern:\"Iron\"},\"Sunrise\",\"Swiftfox\",\"Vivaldi\",\"Waterfox\",\"WebPositive\",{label:\"Yandex Browser\",pattern:\"YaBrowser\"},{label:\"UC Browser\",pattern:\"UCBrowser\"},\"Opera Mini\",{label:\"Opera Mini\",pattern:\"OPiOS\"},\"Opera\",{label:\"Opera\",pattern:\"OPR\"},\"Chromium\",\"Chrome\",{label:\"Chrome\",pattern:\"(?:HeadlessChrome)\"},{label:\"Chrome Mobile\",pattern:\"(?:CriOS|CrMo)\"},{label:\"Firefox\",pattern:\"(?:Firefox|Minefield)\"},{label:\"Firefox for iOS\",pattern:\"FxiOS\"},{label:\"IE\",pattern:\"IEMobile\"},{label:\"IE\",pattern:\"MSIE\"},\"Safari\"]);var A=getProduct([{label:\"BlackBerry\",pattern:\"BB10\"},\"BlackBerry\",{label:\"Galaxy S\",pattern:\"GT-I9000\"},{label:\"Galaxy S2\",pattern:\"GT-I9100\"},{label:\"Galaxy S3\",pattern:\"GT-I9300\"},{label:\"Galaxy S4\",pattern:\"GT-I9500\"},{label:\"Galaxy S5\",pattern:\"SM-G900\"},{label:\"Galaxy S6\",pattern:\"SM-G920\"},{label:\"Galaxy S6 Edge\",pattern:\"SM-G925\"},{label:\"Galaxy S7\",pattern:\"SM-G930\"},{label:\"Galaxy S7 Edge\",pattern:\"SM-G935\"},\"Google TV\",\"Lumia\",\"iPad\",\"iPod\",\"iPhone\",\"Kindle\",{label:\"Kindle Fire\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Nexus\",\"Nook\",\"PlayBook\",\"PlayStation Vita\",\"PlayStation\",\"TouchPad\",\"Transformer\",{label:\"Wii U\",pattern:\"WiiU\"},\"Wii\",\"Xbox One\",{label:\"Xbox 360\",pattern:\"Xbox\"},\"Xoom\"]);var I=getManufacturer({Apple:{iPad:1,iPhone:1,iPod:1},Alcatel:{},Archos:{},Amazon:{Kindle:1,\"Kindle Fire\":1},Asus:{Transformer:1},\"Barnes & Noble\":{Nook:1},BlackBerry:{PlayBook:1},Google:{\"Google TV\":1,Nexus:1},HP:{TouchPad:1},HTC:{},Huawei:{},Lenovo:{},LG:{},Microsoft:{Xbox:1,\"Xbox One\":1},Motorola:{Xoom:1},Nintendo:{\"Wii U\":1,Wii:1},Nokia:{Lumia:1},Oppo:{},Samsung:{\"Galaxy S\":1,\"Galaxy S2\":1,\"Galaxy S3\":1,\"Galaxy S4\":1},Sony:{PlayStation:1,\"PlayStation Vita\":1},Xiaomi:{Mi:1,Redmi:1}});var T=getOS([\"Windows Phone\",\"KaiOS\",\"Android\",\"CentOS\",{label:\"Chrome OS\",pattern:\"CrOS\"},\"Debian\",{label:\"DragonFly BSD\",pattern:\"DragonFly\"},\"Fedora\",\"FreeBSD\",\"Gentoo\",\"Haiku\",\"Kubuntu\",\"Linux Mint\",\"OpenBSD\",\"Red Hat\",\"SuSE\",\"Ubuntu\",\"Xubuntu\",\"Cygwin\",\"Symbian OS\",\"hpwOS\",\"webOS \",\"webOS\",\"Tablet OS\",\"Tizen\",\"Linux\",\"Mac OS X\",\"Macintosh\",\"Mac\",\"Windows 98;\",\"Windows \"]);function getLayout(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getManufacturer(i){return reduce(i,(function(i,t,r){return i||(t[A]||t[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(A)]||RegExp(\"\\\\b\"+qualify(r)+\"(?:\\\\b|\\\\w*\\\\d)\",\"i\").exec(e))&&r}))}function getName(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getOS(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\"(?:/[\\\\d.]+|[ \\\\w.]*)\",\"i\").exec(e))){i=cleanupOS(i,r,t.label||t)}return i}))}function getProduct(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\" *\\\\d+[.\\\\w_]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\" *\\\\w+-[\\\\w]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\"(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)\",\"i\").exec(e))){if((i=String(t.label&&!RegExp(r,\"i\").test(t.label)?t.label:i).split(\"/\"))[1]&&!/[\\d.]+/.test(i[0])){i[0]+=\" \"+i[1]}t=t.label||t;i=format(i[0].replace(RegExp(r,\"i\"),t).replace(RegExp(\"; *(?:\"+t+\"[_-])?\",\"i\"),\" \").replace(RegExp(\"(\"+t+\")[-_.]?(\\\\w)\",\"i\"),\"$1 $2\"))}return i}))}function getVersion(i){return reduce(i,(function(i,t){return i||(RegExp(t+\"(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)\",\"i\").exec(e)||0)[1]||null}))}function toStringPlatform(){return this.description||\"\"}_&&(_=[_]);if(/\\bAndroid\\b/.test(T)&&!A&&(M=/\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(e))){A=trim(M[1]).replace(/^[a-z]{2}-[a-z]{2};\\s*/i,\"\")||null}if(I&&!A){A=getProduct([I])}else if(I&&A){A=A.replace(RegExp(\"^(\"+qualify(I)+\")[-_.\\\\s]\",\"i\"),I+\" \").replace(RegExp(\"^(\"+qualify(I)+\")[-_.]?(\\\\w)\",\"i\"),I+\" $2\")}if(M=/\\bGoogle TV\\b/.exec(A)){A=M[0]}if(/\\bSimulator\\b/i.test(e)){A=(A?A+\" \":\"\")+\"Simulator\"}if(R==\"Opera Mini\"&&/\\bOPiOS\\b/.test(e)){P.push(\"running in Turbo/Uncompressed mode\")}if(R==\"IE\"&&/\\blike iPhone OS\\b/.test(e)){M=parse(e.replace(/like iPhone OS/,\"\"));I=M.manufacturer;A=M.product}else if(/^iP/.test(A)){R||(R=\"Safari\");T=\"iOS\"+((M=/ OS ([\\d_]+)/i.exec(e))?\" \"+M[1].replace(/_/g,\".\"):\"\")}else if(R==\"Konqueror\"&&/^Linux\\b/i.test(T)){T=\"Kubuntu\"}else if(I&&I!=\"Google\"&&(/Chrome/.test(R)&&!/\\bMobile Safari\\b/i.test(e)||/\\bVita\\b/.test(A))||/\\bAndroid\\b/.test(T)&&/^Chrome/.test(R)&&/\\bVersion\\//i.test(e)){R=\"Android Browser\";T=/\\bAndroid\\b/.test(T)?T:\"Android\"}else if(R==\"Silk\"){if(!/\\bMobi/i.test(e)){T=\"Android\";P.unshift(\"desktop mode\")}if(/Accelerated *= *true/i.test(e)){P.unshift(\"accelerated\")}}else if(R==\"UC Browser\"&&/\\bUCWEB\\b/.test(e)){P.push(\"speed mode\")}else if(R==\"PaleMoon\"&&(M=/\\bFirefox\\/([\\d.]+)\\b/.exec(e))){P.push(\"identifying as Firefox \"+M[1])}else if(R==\"Firefox\"&&(M=/\\b(Mobile|Tablet|TV)\\b/i.exec(e))){T||(T=\"Firefox OS\");A||(A=M[1])}else if(!R||(M=!/\\bMinefield\\b/i.test(e)&&/\\b(?:Firefox|Safari)\\b/.exec(R))){if(R&&!A&&/[\\/,]|^[^(]+?\\)/.test(e.slice(e.indexOf(M+\"/\")+8))){R=null}if((M=A||I||T)&&(A||I||/\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(T))){R=/[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(T)?T:M)+\" Browser\"}}else if(R==\"Electron\"&&(M=(/\\bChrome\\/([\\d.]+)\\b/.exec(e)||0)[1])){P.push(\"Chromium \"+M)}if(!B){B=getVersion([\"(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)\",\"Version\",qualify(R),\"(?:Firefox|Minefield|NetFront)\"])}if(M=_==\"iCab\"&&parseFloat(B)>3&&\"WebKit\"||/\\bOpera\\b/.test(R)&&(/\\bOPR\\b/.test(e)?\"Blink\":\"Presto\")||/\\b(?:Midori|Nook|Safari)\\b/i.test(e)&&!/^(?:Trident|EdgeHTML)$/.test(_)&&\"WebKit\"||!_&&/\\bMSIE\\b/i.test(e)&&(T==\"Mac OS\"?\"Tasman\":\"Trident\")||_==\"WebKit\"&&/\\bPlayStation\\b(?! Vita\\b)/i.test(R)&&\"NetFront\"){_=[M]}if(R==\"IE\"&&(M=(/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(e)||0)[1])){R+=\" Mobile\";T=\"Windows Phone \"+(/\\+$/.test(M)?M:M+\".x\");P.unshift(\"desktop mode\")}else if(/\\bWPDesktop\\b/i.test(e)){R=\"IE Mobile\";T=\"Windows Phone 8.x\";P.unshift(\"desktop mode\");B||(B=(/\\brv:([\\d.]+)/.exec(e)||0)[1])}else if(R!=\"IE\"&&_==\"Trident\"&&(M=/\\brv:([\\d.]+)/.exec(e))){if(R){P.push(\"identifying as \"+R+(B?\" \"+B:\"\"))}R=\"IE\";B=M[1]}if(k){if(isHostType(i,\"global\")){if(m){M=m.lang.System;E=M.getProperty(\"os.arch\");T=T||M.getProperty(\"os.name\")+\" \"+M.getProperty(\"os.version\")}if(g){try{B=i.require(\"ringo/engine\").version.join(\".\");R=\"RingoJS\"}catch(e){if((M=i.system)&&M.global.system==i.system){R=\"Narwhal\";T||(T=M[0].os||null)}}if(!R){R=\"Rhino\"}}else if(typeof i.process==\"object\"&&!i.process.browser&&(M=i.process)){if(typeof M.versions==\"object\"){if(typeof M.versions.electron==\"string\"){P.push(\"Node \"+M.versions.node);R=\"Electron\";B=M.versions.electron}else if(typeof M.versions.nw==\"string\"){P.push(\"Chromium \"+B,\"Node \"+M.versions.node);R=\"NW.js\";B=M.versions.nw}}if(!R){R=\"Node.js\";E=M.arch;T=M.platform;B=/[\\d.]+/.exec(M.version);B=B?B[0]:null}}}else if(getClassOf(M=i.runtime)==p){R=\"Adobe AIR\";T=M.flash.system.Capabilities.os}else if(getClassOf(M=i.phantom)==x){R=\"PhantomJS\";B=(M=M.version||null)&&M.major+\".\"+M.minor+\".\"+M.patch}else if(typeof O.documentMode==\"number\"&&(M=/\\bTrident\\/(\\d+)/i.exec(e))){B=[B,O.documentMode];if((M=+M[1]+4)!=B[1]){P.push(\"IE \"+B[1]+\" mode\");_&&(_[1]=\"\");B[1]=M}B=R==\"IE\"?String(B[1].toFixed(1)):B[0]}else if(typeof O.documentMode==\"number\"&&/^(?:Chrome|Firefox)\\b/.test(R)){P.push(\"masking as \"+R+\" \"+B);R=\"IE\";B=\"11.0\";_=[\"Trident\"];T=\"Windows\"}T=T&&format(T)}if(B&&(M=/(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(B)||/(?:alpha|beta)(?: ?\\d)?/i.exec(e+\";\"+(k&&n.appMinorVersion))||/\\bMinefield\\b/i.test(e)&&\"a\")){C=/b/i.test(M)?\"beta\":\"alpha\";B=B.replace(RegExp(M+\"\\\\+?$\"),\"\")+(C==\"beta\"?v:h)+(/\\d+\\+?/.exec(M)||\"\")}if(R==\"Fennec\"||R==\"Firefox\"&&/\\b(?:Android|Firefox OS|KaiOS)\\b/.test(T)){R=\"Firefox Mobile\"}else if(R==\"Maxthon\"&&B){B=B.replace(/\\.[\\d.]+/,\".x\")}else if(/\\bXbox\\b/i.test(A)){if(A==\"Xbox 360\"){T=null}if(A==\"Xbox 360\"&&/\\bIEMobile\\b/.test(e)){P.unshift(\"mobile mode\")}}else if((/^(?:Chrome|IE|Opera)$/.test(R)||R&&!A&&!/Browser|Mobi/.test(R))&&(T==\"Windows CE\"||/Mobi/i.test(e))){R+=\" Mobile\"}else if(R==\"IE\"&&k){try{if(i.external===null){P.unshift(\"platform preview\")}}catch(e){P.unshift(\"embedded\")}}else if((/\\bBlackBerry\\b/.test(A)||/\\bBB10\\b/.test(e))&&(M=(RegExp(A.replace(/ +/g,\" *\")+\"/([.\\\\d]+)\",\"i\").exec(e)||0)[1]||B)){M=[M,/BB10/.test(e)];T=(M[1]?(A=null,I=\"BlackBerry\"):\"Device Software\")+\" \"+M[0];B=null}else if(this!=forOwn&&A!=\"Wii\"&&(k&&y||/Opera/.test(R)&&/\\b(?:MSIE|Firefox)\\b/i.test(e)||R==\"Firefox\"&&/\\bOS X (?:\\d+\\.){2,}/.test(T)||R==\"IE\"&&(T&&!/^Win/.test(T)&&B>5.5||/\\bWindows XP\\b/.test(T)&&B>8||B==8&&!/\\bTrident\\b/.test(e)))&&!f.test(M=parse.call(forOwn,e.replace(f,\"\")+\";\"))&&M.name){M=\"ing as \"+M.name+((M=M.version)?\" \"+M:\"\");if(f.test(R)){if(/\\bIE\\b/.test(M)&&T==\"Mac OS\"){T=null}M=\"identify\"+M}else{M=\"mask\"+M;if(w){R=format(w.replace(/([a-z])([A-Z])/g,\"$1 $2\"))}else{R=\"Opera\"}if(/\\bIE\\b/.test(M)){T=null}if(!k){B=null}}_=[\"Presto\"];P.push(M)}if(M=(/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(e)||0)[1]){M=[parseFloat(M.replace(/\\.(\\d)$/,\".0$1\")),M];if(R==\"Safari\"&&M[1].slice(-1)==\"+\"){R=\"WebKit Nightly\";C=\"alpha\";B=M[1].slice(0,-1)}else if(B==M[1]||B==(M[2]=(/\\bSafari\\/([\\d.]+\\+?)/i.exec(e)||0)[1])){B=null}M[1]=(/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(e)||0)[1];if(M[0]==537.36&&M[2]==537.36&&parseFloat(M[1])>=28&&_==\"WebKit\"){_=[\"Blink\"]}if(!k||!s&&!M[1]){_&&(_[1]=\"like Safari\");M=(M=M[0],M<400?1:M<500?2:M<526?3:M<533?4:M<534?\"4+\":M<535?5:M<537?6:M<538?7:M<601?8:M<602?9:M<604?10:M<606?11:M<608?12:\"12\")}else{_&&(_[1]=\"like Chrome\");M=M[1]||(M=M[0],M<530?1:M<532?2:M<532.05?3:M<533?4:M<534.03?5:M<534.07?6:M<534.1?7:M<534.13?8:M<534.16?9:M<534.24?10:M<534.3?11:M<535.01?12:M<535.02?\"13+\":M<535.07?15:M<535.11?16:M<535.19?17:M<536.05?18:M<536.1?19:M<537.01?20:M<537.11?\"21+\":M<537.13?23:M<537.18?24:M<537.24?25:M<537.36?26:_!=\"Blink\"?\"27\":\"28\")}_&&(_[1]+=\" \"+(M+=typeof M==\"number\"?\".x\":/[.+]/.test(M)?\"\":\"+\"));if(R==\"Safari\"&&(!B||parseInt(B)>45)){B=M}else if(R==\"Chrome\"&&/\\bHeadlessChrome/i.test(e)){P.unshift(\"headless\")}}if(R==\"Opera\"&&(M=/\\bzbov|zvav$/.exec(T))){R+=\" \";P.unshift(\"desktop mode\");if(M==\"zvav\"){R+=\"Mini\";B=null}else{R+=\"Mobile\"}T=T.replace(RegExp(\" *\"+M+\"$\"),\"\")}else if(R==\"Safari\"&&/\\bChrome\\b/.exec(_&&_[1])){P.unshift(\"desktop mode\");R=\"Chrome Mobile\";B=null;if(/\\bOS X\\b/.test(T)){I=\"Apple\";T=\"iOS 4.3+\"}else{T=null}}else if(/\\bSRWare Iron\\b/.test(R)&&!B){B=getVersion(\"Chrome\")}if(B&&B.indexOf(M=/[\\d.]+$/.exec(T))==0&&e.indexOf(\"/\"+M+\"-\")>-1){T=trim(T.replace(M,\"\"))}if(T&&T.indexOf(R)!=-1&&!RegExp(R+\" OS\").test(T)){T=T.replace(RegExp(\" *\"+qualify(R)+\" *\"),\"\")}if(_&&!/\\b(?:Avant|Nook)\\b/.test(R)&&(/Browser|Lunascape|Maxthon/.test(R)||R!=\"Safari\"&&/^iOS/.test(T)&&/\\bSafari\\b/.test(_[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(R)&&_[1])){(M=_[_.length-1])&&P.push(M)}if(P.length){P=[\"(\"+P.join(\"; \")+\")\"]}if(I&&A&&A.indexOf(I)<0){P.push(\"on \"+I)}if(A){P.push((/^on /.test(P[P.length-1])?\"\":\"on \")+A)}if(T){M=/ ([\\d.+]+)$/.exec(T);W=M&&T.charAt(T.length-M[0].length-1)==\"/\";T={architecture:32,family:M&&!W?T.replace(M[0],\"\"):T,version:M?M[1]:null,toString:function(){var e=this.version;return this.family+(e&&!W?\" \"+e:\"\")+(this.architecture==64?\" 64-bit\":\"\")}}}if((M=/\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(E))&&!/\\bi686\\b/i.test(E)){if(T){T.architecture=64;T.family=T.family.replace(RegExp(\" *\"+M),\"\")}if(R&&(/\\bWOW64\\b/i.test(e)||k&&/\\w(?:86|32)$/.test(n.cpuClass||n.platform)&&!/\\bWin64; x64\\b/i.test(e))){P.unshift(\"32-bit\")}}else if(T&&/^OS X/.test(T.family)&&R==\"Chrome\"&&parseFloat(B)>=39){T.architecture=64}e||(e=null);var F={};F.description=e;F.layout=_&&_[0];F.manufacturer=I;F.name=R;F.prerelease=C;F.product=A;F.ua=e;F.version=R&&B;F.os=T||{architecture:null,family:null,version:null,toString:function(){return\"null\"}};F.parse=parse;F.toString=toStringPlatform;if(F.version){P.unshift(B)}if(F.name){P.unshift(R)}if(T&&R&&!(T==String(T).split(\" \")[0]&&(T==R.split(\" \")[0]||A))){P.push(A?\"(\"+T+\")\":\"on \"+T)}if(P.length){F.description=P.join(\" \")}return F}var d=parse();if(n&&o){forOwn(d,(function(e,i){n[i]=e}))}else{r.platform=d}}).call(this)}};var i={};function __nccwpck_require__(t){var r=i[t];if(r!==undefined){return r.exports}var a=i[t]={id:t,loaded:false,exports:{}};var n=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);n=false}finally{if(n)delete i[t]}a.loaded=true;return a.exports}(()=>{__nccwpck_require__.nmd=e=>{e.paths=[];if(!e.children)e.children=[];return e}})();if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(541);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzIiwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxvQkFBb0I7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYSxPQUFPLDJCQUEyQixxQ0FBcUMsUUFBUSxxQkFBcUIscUNBQXFDLDRDQUE0QyxnREFBZ0QsSUFBSSx1QkFBdUIsZ0JBQWdCLFdBQVcsdUJBQXVCLHVCQUF1QixpQkFBaUIsdUJBQXVCLFlBQVksNENBQTRDLDBCQUEwQixPQUFPLDBNQUEwTSxpRkFBaUYsZUFBZSxZQUFZLFNBQVMsNkJBQTZCLG1aQUFtWixTQUFTLG1CQUFtQix3QkFBd0IsbUNBQW1DLGFBQWEsYUFBYSxLQUFLLGFBQWEsbUJBQW1CLFVBQVUscURBQXFELHFCQUFxQixnQkFBZ0IsZ0JBQWdCLGNBQWMsdUJBQXVCLG1EQUFtRCx5QkFBeUIsbUNBQW1DLGtGQUFrRixvQkFBb0IsK0NBQStDLHFCQUFxQixXQUFXLHNCQUFzQixhQUFhLEdBQUcsU0FBUyxpQkFBaUIsd0NBQXdDLGtCQUFrQixRQUFRLHFEQUFxRCxNQUFNLElBQUksT0FBTyxzQkFBc0Isc0JBQXNCLFNBQVMsY0FBYyxnRkFBZ0Ysd0lBQXdJLCtCQUErQixzQ0FBc0MsZ0JBQWdCLGdCQUFnQixxQkFBcUIsMkJBQTJCLDJEQUEyRCxNQUFNLFFBQVEsU0FBUyxXQUFXLFdBQVcsc0RBQXNELE1BQU0sa0JBQWtCLGdDQUFnQyxZQUFZLHFDQUFxQyx1REFBdUQscU1BQXFNLDBEQUEwRCw2RUFBNkUsa0RBQWtELGNBQWMsbURBQW1ELDJCQUEyQixtQ0FBbUMsMERBQTBELDJDQUEyQyxFQUFFLHVDQUF1QyxlQUFlLG1DQUFtQyxVQUFVLDRCQUE0QixzQkFBc0IsNENBQTRDLEVBQUUsK0NBQStDLEVBQUUsZ0RBQWdELEVBQUUsd0NBQXdDLEVBQUUsOEJBQThCLEVBQUUsMEJBQTBCLFlBQVksbUJBQW1CLGtD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QkFBd0IsdVRBQXVULGtFQUFrRSxzQ0FBc0MsSUFBSSxrREFBa0QsdUJBQXVCLDJDQUEyQyxPQUFPLDBCQUEwQixjQUFjLFVBQVUsT0FBTyxLQUFLLFlBQVksbUNBQW1DLGlEQUFpRCwwQkFBMEIsa0JBQWtCLE9BQU8sdUJBQXVCLFVBQVUsYUFBYSxLQUFLLFFBQVEsdUNBQXVDLHVCQUF1QixrRUFBa0Usd0JBQXdCLGtEQUFrRCw2Q0FBNkMsOFBBQThQLDZCQUE2QixhQUFhLGlCQUFpQixRQUFRLHlCQUF5QixnQkFBZ0IsTUFBTSxnREFBZ0QsTUFBTSx3QkFBd0IsMkNBQTJDLEdBQUcsMEZBQTBGLG1CQUFtQiwyRUFBMkUseUVBQXlFLE1BQU0sa0JBQWtCLDZDQUE2Qyx3RkFBd0Ysa0JBQWtCLHFCQUFxQixtRUFBbUUsa0JBQWtCLFlBQVksU0FBUyxnQkFBZ0IsaUJBQWlCLGlCQUFpQixTQUFTLGVBQWUsWUFBWSxPQUFPLGVBQWUsU0FBUywrREFBK0QsZUFBZSxjQUFjLDRCQUE0QixjQUFjLGFBQWEsV0FBVyxhQUFhLGlFQUFpRSw0QkFBNEIsYUFBYSwwQkFBMEIsU0FBUyxjQUFjLFNBQVMsd0JBQXdCLE9BQU8sR0FBRyxLQUFLLGNBQWMsZUFBZSxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSw4QkFBOEIsV0FBVyxJQUFJLHFEQUFxRCxRQUFRLFFBQVEsaUJBQWlCLGNBQWMsaUJBQWlCLE1BQU0sNEJBQTRCLFdBQVcsNkJBQTZCLFVBQVUsSUFBSSxpRkFBaUYsK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGxhdGZvcm0vcGxhdGZvcm0uanM/MTFlMSJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9Pnt2YXIgZT17NTQxOmZ1bmN0aW9uKGUsaSx0KXtlPXQubm1kKGUpO1xuLyohXG4gKiBQbGF0Zm9ybS5qcyB2MS4zLjZcbiAqIENvcHlyaWdodCAyMDE0LTIwMjAgQmVuamFtaW4gVGFuXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDEzIEpvaG4tRGF2aWQgRGFsdG9uXG4gKiBBdmFpbGFibGUgdW5kZXIgTUlUIGxpY2Vuc2VcbiAqLyhmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0PXtmdW5jdGlvbjp0cnVlLG9iamVjdDp0cnVlfTt2YXIgcj10W3R5cGVvZiB3aW5kb3ddJiZ3aW5kb3d8fHRoaXM7dmFyIGE9cjt2YXIgbj10W3R5cGVvZiBpXSYmaTt2YXIgbz10W1wib2JqZWN0XCJdJiZlJiYhZS5ub2RlVHlwZSYmZTt2YXIgbD1uJiZvJiZ0eXBlb2YgZ2xvYmFsPT1cIm9iamVjdFwiJiZnbG9iYWw7aWYobCYmKGwuZ2xvYmFsPT09bHx8bC53aW5kb3c9PT1sfHxsLnNlbGY9PT1sKSl7cj1sfXZhciBzPU1hdGgucG93KDIsNTMpLTE7dmFyIGY9L1xcYk9wZXJhLzt2YXIgYj10aGlzO3ZhciBjPU9iamVjdC5wcm90b3R5cGU7dmFyIHA9Yy5oYXNPd25Qcm9wZXJ0eTt2YXIgdT1jLnRvU3RyaW5nO2Z1bmN0aW9uIGNhcGl0YWxpemUoZSl7ZT1TdHJpbmcoZSk7cmV0dXJuIGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKX1mdW5jdGlvbiBjbGVhbnVwT1MoZSxpLHQpe3ZhciByPXtcIjEwLjBcIjpcIjEwXCIsNi40OlwiMTAgVGVjaG5pY2FsIFByZXZpZXdcIiw2LjM6XCI4LjFcIiw2LjI6XCI4XCIsNi4xOlwiU2VydmVyIDIwMDggUjIgLyA3XCIsXCI2LjBcIjpcIlNlcnZlciAyMDA4IC8gVmlzdGFcIiw1LjI6XCJTZXJ2ZXIgMjAwMyAvIFhQIDY0LWJpdFwiLDUuMTpcIlhQXCIsNS4wMTpcIjIwMDAgU1AxXCIsXCI1LjBcIjpcIjIwMDBcIixcIjQuMFwiOlwiTlRcIixcIjQuOTBcIjpcIk1FXCJ9O2lmKGkmJnQmJi9eV2luL2kudGVzdChlKSYmIS9eV2luZG93cyBQaG9uZSAvaS50ZXN0KGUpJiYocj1yWy9bXFxkLl0rJC8uZXhlYyhlKV0pKXtlPVwiV2luZG93cyBcIityfWU9U3RyaW5nKGUpO2lmKGkmJnQpe2U9ZS5yZXBsYWNlKFJlZ0V4cChpLFwiaVwiKSx0KX1lPWZvcm1hdChlLnJlcGxhY2UoLyBjZSQvaSxcIiBDRVwiKS5yZXBsYWNlKC9cXGJocHcvaSxcIndlYlwiKS5yZXBsYWNlKC9cXGJNYWNpbnRvc2hcXGIvLFwiTWFjIE9TXCIpLnJlcGxhY2UoL19Qb3dlclBDXFxiL2ksXCIgT1NcIikucmVwbGFjZSgvXFxiKE9TIFgpIFteIFxcZF0rL2ksXCIkMVwiKS5yZXBsYWNlKC9cXGJNYWMgKE9TIFgpXFxiLyxcIiQxXCIpLnJlcGxhY2UoL1xcLyhcXGQpLyxcIiAkMVwiKS5yZXBsYWNlKC9fL2csXCIuXCIpLnJlcGxhY2UoLyg/OiBCZVBDfFsgLl0qZmNbIFxcZC5dKykkL2ksXCJcIikucmVwbGFjZSgvXFxieDg2XFwuNjRcXGIvZ2ksXCJ4ODZfNjRcIikucmVwbGFjZSgvXFxiKFdpbmRvd3MgUGhvbmUpIE9TXFxiLyxcIiQxXCIpLnJlcGxhY2UoL1xcYihDaHJvbWUgT1MgXFx3KykgW1xcZC5dK1xcYi8sXCIkMVwiKS5zcGxpdChcIiBvbiBcIilbMF0pO3JldHVybiBlfWZ1bmN0aW9uIGVhY2goZSxpKXt2YXIgdD0tMSxyPWU/ZS5sZW5ndGg6MDtpZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj4tMSYmcjw9cyl7d2hpbGUoKyt0PHIpe2koZVt0XSx0LGUpfX1lbHNle2Zvck93bihlLGkpfX1mdW5jdGlvbiBmb3JtYXQoZSl7ZT10cmltKGUpO3JldHVybi9eKD86d2ViT1N8aSg/Ok9TfFApKS8udGVzdChlKT9lOmNhcGl0YWxpemUoZSl9ZnVuY3Rpb24gZm9yT3duKGUsaSl7Zm9yKHZhciB0IGluIGUpe2lmKHAuY2FsbChlLHQpKXtpKGVbdF0sdCxlKX19fWZ1bmN0aW9uIGdldENsYXNzT2YoZSl7cmV0dXJuIGU9PW51bGw/Y2FwaXRhbGl6ZShlKTp1LmNhbGwoZSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gaXNIb3N0VHlwZShlLGkpe3ZhciB0PWUhPW51bGw/dHlwZW9mIGVbaV06XCJudW1iZXJcIjtyZXR1cm4hL14oPzpib29sZWFufG51bWJlcnxzdHJpbmd8dW5kZWZpbmVkKSQvLnRlc3QodCkmJih0PT1cIm9iamVjdFwiPyEhZVtpXTp0cnVlKX1mdW5jdGlvbiBxdWFsaWZ5KGUpe3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSgvKFsgLV0pKD8hJCkvZyxcIiQxP1wiKX1mdW5jdGlvbiByZWR1Y2UoZSxpKXt2YXIgdD1udWxsO2VhY2goZSwoZnVuY3Rpb24ocixhKXt0PWkodCxyLGEsZSl9KSk7cmV0dXJuIHR9ZnVuY3Rpb24gdHJpbShlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoL14gK3wgKyQvZyxcIlwiKX1mdW5jdGlvbiBwYXJzZShlKXt2YXIgaT1yO3ZhciB0PWUmJnR5cGVvZiBlPT1cIm9iamVjdFwiJiZnZXRDbGFzc09mKGUpIT1cIlN0cmluZ1wiO2lmKHQpe2k9ZTtlPW51bGx9dmFyIG49aS5uYXZpZ2F0b3J8fHt9O3ZhciBvPW4udXNlckFnZW50fHxcIlwiO2V8fChlPW8pO3ZhciBsPXR8fGI9PWE7dmFyIHM9dD8hIW4ubGlrZUNocm9tZTovXFxiQ2hyb21lXFxiLy50ZXN0KGUpJiYhL2ludGVybmFsfFxcbi9pLnRlc3QodS50b1N0cmluZygpKTt2YXIgYz1cIk9iamVjdFwiLHA9dD9jOlwiU2NyaXB0QnJpZGdpbmdQcm94eU9iamVjdFwiLGQ9dD9jOlwiRW52aXJvbm1lbnRcIixTPXQmJmkuamF2YT9cIkphdmFQYWNrYWdlXCI6Z2V0Q2xhc3NPZihpLmphdmEpLHg9dD9jOlwiUnVudGltZU9iamVjdFwiO3ZhciBtPS9cXGJKYXZhLy50ZXN0KFMpJiZpLmphdmE7dmFyIGc9bSYmZ2V0Q2xhc3NPZihpLmVudmlyb25tZW50KT09ZDt2YXIgaD1tP1wiYVwiOlwizrFcIjt2YXIgdj1tP1wiYlwiOlwizrJcIjt2YXIgTz1pLmRvY3VtZW50fHx7fTt2YXIgeT1pLm9wZXJhbWluaXx8aS5vcGVyYTt2YXIgdz1mLnRlc3Qodz10JiZ5P3lbXCJbW0NsYXNzXV1cIl06Z2V0Q2xhc3NPZih5KSk/dzp5PW51bGw7dmFyIE07dmFyIEU9ZTt2YXIgUD1bXTt2YXIgQz1udWxsO3ZhciBrPWU9PW87dmFyIEI9ayYmeSYmdHlwZW9mIHkudmVyc2lvbj09XCJmdW5jdGlvblwiJiZ5LnZlcnNpb24oKTt2YXIgVzt2YXIgXz1nZXRMYXlvdXQoW3tsYWJlbDpcIkVkZ2VIVE1MXCIscGF0dGVybjpcIkVkZ2VcIn0sXCJUcmlkZW50XCIse2xhYmVsOlwiV2ViS2l0XCIscGF0dGVybjpcIkFwcGxlV2ViS2l0XCJ9LFwiaUNhYlwiLFwiUHJlc3RvXCIsXCJOZXRGcm9udFwiLFwiVGFzbWFuXCIsXCJLSFRNTFwiLFwiR2Vja29cIl0pO3ZhciBSPWdldE5hbWUoW1wiQWRvYmUgQUlSXCIsXCJBcm9yYVwiLFwiQXZhbnQgQnJvd3NlclwiLFwiQnJlYWNoXCIsXCJDYW1pbm9cIixcIkVsZWN0cm9uXCIsXCJFcGlwaGFueVwiLFwiRmVubmVjXCIsXCJGbG9ja1wiLFwiR2FsZW9uXCIsXCJHcmVlbkJyb3dzZXJcIixcImlDYWJcIixcIkljZXdlYXNlbFwiLFwiSy1NZWxlb25cIixcIktvbnF1ZXJvclwiLFwiTHVuYXNjYXBlXCIsXCJNYXh0aG9uXCIse2xhYmVsOlwiTWljcm9zb2Z0IEVkZ2VcIixwYXR0ZXJuOlwiKD86RWRnZXxFZGd8RWRnQXxFZGdpT1MpXCJ9LFwiTWlkb3JpXCIsXCJOb29rIEJyb3dzZXJcIixcIlBhbGVNb29uXCIsXCJQaGFudG9tSlNcIixcIlJhdmVuXCIsXCJSZWtvbnFcIixcIlJvY2tNZWx0XCIse2xhYmVsOlwiU2Ftc3VuZyBJbnRlcm5ldFwiLHBhdHRlcm46XCJTYW1zdW5nQnJvd3NlclwifSxcIlNlYU1vbmtleVwiLHtsYWJlbDpcIlNpbGtcIixwYXR0ZXJuOlwiKD86Q2xvdWQ5fFNpbGstQWNjZWxlcmF0ZWQpXCJ9LFwiU2xlaXBuaXJcIixcIlNsaW1Ccm93c2VyXCIse2xhYmVsOlwiU1JXYXJlIElyb25cIixwYXR0ZXJuOlwiSXJvblwifSxcIlN1bnJpc2VcIixcIlN3aWZ0Zm94XCIsXCJWaXZhbGRpXCIsXCJXYXRlcmZveFwiLFwiV2ViUG9zaXRpdmVcIix7bGFiZWw6XCJZYW5kZXggQnJvd3NlclwiLHBhdHRlcm46XCJZYUJyb3dzZXJcIn0se2xhYmVsOlwiVUMgQnJvd3NlclwiLHBhdHRlcm46XCJVQ0Jyb3dzZXJcIn0sXCJPcGVyYSBNaW5pXCIse2xhYmVsOlwiT3BlcmEgTWluaVwiLHBhdHRlcm46XCJPUGlPU1wifSxcIk9wZXJhXCIse2xhYmVsOlwiT3BlcmFcIixwYXR0ZXJuOlwiT1BSXCJ9LFwiQ2hyb21pdW1cIixcIkNocm9tZVwiLHtsYWJlbDpcIkNocm9tZVwiLHBhdHRlcm46XCIoPzpIZWFkbGVzc0Nocm9tZSlcIn0se2xhYmVsOlwiQ2hyb21lIE1vYmlsZVwiLHBhdHRlcm46XCIoPzpDcmlPU3xDck1vKVwifSx7bGFiZWw6XCJGaXJlZm94XCIscGF0dGVybjpcIig/OkZpcmVmb3h8TWluZWZpZWxkKVwifSx7bGFiZWw6XCJGaXJlZm94IGZvciBpT1NcIixwYXR0ZXJuOlwiRnhpT1NcIn0se2xhYmVsOlwiSUVcIixwYXR0ZXJuOlwiSUVNb2JpbGVcIn0se2xhYmVsOlwiSUVcIixwYXR0ZXJuOlwiTVNJRVwifSxcIlNhZmFyaVwiXSk7dmFyIEE9Z2V0UHJvZHVjdChbe2xhYmVsOlwiQmxhY2tCZXJyeVwiLHBhdHRlcm46XCJCQjEwXCJ9LFwiQmxhY2tCZXJyeVwiLHtsYWJlbDpcIkdhbGF4eSBTXCIscGF0dGVybjpcIkdULUk5MDAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTMlwiLHBhdHRlcm46XCJHVC1JOTEwMFwifSx7bGFiZWw6XCJHYWxheHkgUzNcIixwYXR0ZXJuOlwiR1QtSTkzMDBcIn0se2xhYmVsOlwiR2FsYXh5IFM0XCIscGF0dGVybjpcIkdULUk5NTAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNVwiLHBhdHRlcm46XCJTTS1HOTAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNlwiLHBhdHRlcm46XCJTTS1HOTIwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNiBFZGdlXCIscGF0dGVybjpcIlNNLUc5MjVcIn0se2xhYmVsOlwiR2FsYXh5IFM3XCIscGF0dGVybjpcIlNNLUc5MzBcIn0se2xhYmVsOlwiR2FsYXh5IFM3IEVkZ2VcIixwYXR0ZXJuOlwiU00tRzkzNVwifSxcIkdvb2dsZSBUVlwiLFwiTHVtaWFcIixcImlQYWRcIixcImlQb2RcIixcImlQaG9uZVwiLFwiS2luZGxlXCIse2xhYmVsOlwiS2luZGxlIEZpcmVcIixwYXR0ZXJuOlwiKD86Q2xvdWQ5fFNpbGstQWNjZWxlcmF0ZWQpXCJ9LFwiTmV4dXNcIixcIk5vb2tcIixcIlBsYXlCb29rXCIsXCJQbGF5U3RhdGlvbiBWaXRhXCIsXCJQbGF5U3RhdGlvblwiLFwiVG91Y2hQYWRcIixcIlRyYW5zZm9ybWVyXCIse2xhYmVsOlwiV2lpIFVcIixwYXR0ZXJuOlwiV2lpVVwifSxcIldpaVwiLFwiWGJveCBPbmVcIix7bGFiZWw6XCJYYm94IDM2MFwiLHBhdHRlcm46XCJYYm94XCJ9LFwiWG9vbVwiXSk7dmFyIEk9Z2V0TWFudWZhY3R1cmVyKHtBcHBsZTp7aVBhZDoxLGlQaG9uZToxLGlQb2Q6MX0sQWxjYXRlbDp7fSxBcmNob3M6e30sQW1hem9uOntLaW5kbGU6MSxcIktpbmRsZSBGaXJlXCI6MX0sQXN1czp7VHJhbnNmb3JtZXI6MX0sXCJCYXJuZXMgJiBOb2JsZVwiOntOb29rOjF9LEJsYWNrQmVycnk6e1BsYXlCb29rOjF9LEdvb2dsZTp7XCJHb29nbGUgVFZcIjoxLE5leHVzOjF9LEhQOntUb3VjaFBhZDoxfSxIVEM6e30sSHVhd2VpOnt9LExlbm92bzp7fSxMRzp7fSxNaWNyb3NvZnQ6e1hib3g6MSxcIlhib3ggT25lXCI6MX0sTW90b3JvbGE6e1hvb206MX0sTmludGVuZG86e1wiV2lpIFVcIjoxLFdpaToxfSxOb2tpYTp7THVtaWE6MX0sT3Bwbzp7fSxTYW1zdW5nOntcIkdhbGF4eSBTXCI6MSxcIkdhbGF4eSBTMlwiOjEsXCJHYWxheHkgUzNcIjoxLFwiR2FsYXh5IFM0XCI6MX0sU29ueTp7UGxheVN0YXRpb246MSxcIlBsYXlTdGF0aW9uIFZpdGFcIjoxfSxYaWFvbWk6e01pOjEsUmVkbWk6MX19KTt2YXIgVD1nZXRPUyhbXCJXaW5kb3dzIFBob25lXCIsXCJLYWlPU1wiLFwiQW5kcm9pZFwiLFwiQ2VudE9TXCIse2xhYmVsOlwiQ2hyb21lIE9TXCIscGF0dGVybjpcIkNyT1NcIn0sXCJEZWJpYW5cIix7bGFiZWw6XCJEcmFnb25GbHkgQlNEXCIscGF0dGVybjpcIkRyYWdvbkZseVwifSxcIkZlZG9yYVwiLFwiRnJlZUJTRFwiLFwiR2VudG9vXCIsXCJIYWlrdVwiLFwiS3VidW50dVwiLFwiTGludXggTWludFwiLFwiT3BlbkJTRFwiLFwiUmVkIEhhdFwiLFwiU3VTRVwiLFwiVWJ1bnR1XCIsXCJYdWJ1bnR1XCIsXCJDeWd3aW5cIixcIlN5bWJpYW4gT1NcIixcImhwd09TXCIsXCJ3ZWJPUyBcIixcIndlYk9TXCIsXCJUYWJsZXQgT1NcIixcIlRpemVuXCIsXCJMaW51eFwiLFwiTWFjIE9TIFhcIixcIk1hY2ludG9zaFwiLFwiTWFjXCIsXCJXaW5kb3dzIDk4O1wiLFwiV2luZG93cyBcIl0pO2Z1bmN0aW9uIGdldExheW91dChpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7cmV0dXJuIGl8fFJlZ0V4cChcIlxcXFxiXCIrKHQucGF0dGVybnx8cXVhbGlmeSh0KSkrXCJcXFxcYlwiLFwiaVwiKS5leGVjKGUpJiYodC5sYWJlbHx8dCl9KSl9ZnVuY3Rpb24gZ2V0TWFudWZhY3R1cmVyKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0LHIpe3JldHVybiBpfHwodFtBXXx8dFsvXlthLXpdKyg/OiArW2Etel0rXFxiKSovaS5leGVjKEEpXXx8UmVnRXhwKFwiXFxcXGJcIitxdWFsaWZ5KHIpK1wiKD86XFxcXGJ8XFxcXHcqXFxcXGQpXCIsXCJpXCIpLmV4ZWMoZSkpJiZyfSkpfWZ1bmN0aW9uIGdldE5hbWUoaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQpe3JldHVybiBpfHxSZWdFeHAoXCJcXFxcYlwiKyh0LnBhdHRlcm58fHF1YWxpZnkodCkpK1wiXFxcXGJcIixcImlcIikuZXhlYyhlKSYmKHQubGFiZWx8fHQpfSkpfWZ1bmN0aW9uIGdldE9TKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXt2YXIgcj10LnBhdHRlcm58fHF1YWxpZnkodCk7aWYoIWkmJihpPVJlZ0V4cChcIlxcXFxiXCIrcitcIig/Oi9bXFxcXGQuXSt8WyBcXFxcdy5dKilcIixcImlcIikuZXhlYyhlKSkpe2k9Y2xlYW51cE9TKGkscix0LmxhYmVsfHx0KX1yZXR1cm4gaX0pKX1mdW5jdGlvbiBnZXRQcm9kdWN0KGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXt2YXIgcj10LnBhdHRlcm58fHF1YWxpZnkodCk7aWYoIWkmJihpPVJlZ0V4cChcIlxcXFxiXCIrcitcIiAqXFxcXGQrWy5cXFxcd19dKlwiLFwiaVwiKS5leGVjKGUpfHxSZWdFeHAoXCJcXFxcYlwiK3IrXCIgKlxcXFx3Ky1bXFxcXHddKlwiLFwiaVwiKS5leGVjKGUpfHxSZWdFeHAoXCJcXFxcYlwiK3IrXCIoPzo7ICooPzpbYS16XStbXy1dKT9bYS16XStcXFxcZCt8W14gKCk7LV0qKVwiLFwiaVwiKS5leGVjKGUpKSl7aWYoKGk9U3RyaW5nKHQubGFiZWwmJiFSZWdFeHAocixcImlcIikudGVzdCh0LmxhYmVsKT90LmxhYmVsOmkpLnNwbGl0KFwiL1wiKSlbMV0mJiEvW1xcZC5dKy8udGVzdChpWzBdKSl7aVswXSs9XCIgXCIraVsxXX10PXQubGFiZWx8fHQ7aT1mb3JtYXQoaVswXS5yZXBsYWNlKFJlZ0V4cChyLFwiaVwiKSx0KS5yZXBsYWNlKFJlZ0V4cChcIjsgKig/OlwiK3QrXCJbXy1dKT9cIixcImlcIiksXCIgXCIpLnJlcGxhY2UoUmVnRXhwKFwiKFwiK3QrXCIpWy1fLl0/KFxcXFx3KVwiLFwiaVwiKSxcIiQxICQyXCIpKX1yZXR1cm4gaX0pKX1mdW5jdGlvbiBnZXRWZXJzaW9uKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXtyZXR1cm4gaXx8KFJlZ0V4cCh0K1wiKD86LVtcXFxcZC5dKy98KD86IGZvciBbXFxcXHctXSspP1sgLy1dKShbXFxcXGQuXStbXiAoKTsvXy1dKilcIixcImlcIikuZXhlYyhlKXx8MClbMV18fG51bGx9KSl9ZnVuY3Rpb24gdG9TdHJpbmdQbGF0Zm9ybSgpe3JldHVybiB0aGlzLmRlc2NyaXB0aW9ufHxcIlwifV8mJihfPVtfXSk7aWYoL1xcYkFuZHJvaWRcXGIvLnRlc3QoVCkmJiFBJiYoTT0vXFxiQW5kcm9pZFteO10qOyguKj8pKD86QnVpbGR8XFwpIEFwcGxlV2ViS2l0KVxcYi9pLmV4ZWMoZSkpKXtBPXRyaW0oTVsxXSkucmVwbGFjZSgvXlthLXpdezJ9LVthLXpdezJ9O1xccyovaSxcIlwiKXx8bnVsbH1pZihJJiYhQSl7QT1nZXRQcm9kdWN0KFtJXSl9ZWxzZSBpZihJJiZBKXtBPUEucmVwbGFjZShSZWdFeHAoXCJeKFwiK3F1YWxpZnkoSSkrXCIpWy1fLlxcXFxzXVwiLFwiaVwiKSxJK1wiIFwiKS5yZXBsYWNlKFJlZ0V4cChcIl4oXCIrcXVhbGlmeShJKStcIilbLV8uXT8oXFxcXHcpXCIsXCJpXCIpLEkrXCIgJDJcIil9aWYoTT0vXFxiR29vZ2xlIFRWXFxiLy5leGVjKEEpKXtBPU1bMF19aWYoL1xcYlNpbXVsYXRvclxcYi9pLnRlc3QoZSkpe0E9KEE/QStcIiBcIjpcIlwiKStcIlNpbXVsYXRvclwifWlmKFI9PVwiT3BlcmEgTWluaVwiJiYvXFxiT1BpT1NcXGIvLnRlc3QoZSkpe1AucHVzaChcInJ1bm5pbmcgaW4gVHVyYm8vVW5jb21wcmVzc2VkIG1vZGVcIil9aWYoUj09XCJJRVwiJiYvXFxibGlrZSBpUGhvbmUgT1NcXGIvLnRlc3QoZSkpe009cGFyc2UoZS5yZXBsYWNlKC9saWtlIGlQaG9uZSBPUy8sXCJcIikpO0k9TS5tYW51ZmFjdHVyZXI7QT1NLnByb2R1Y3R9ZWxzZSBpZigvXmlQLy50ZXN0KEEpKXtSfHwoUj1cIlNhZmFyaVwiKTtUPVwiaU9TXCIrKChNPS8gT1MgKFtcXGRfXSspL2kuZXhlYyhlKSk/XCIgXCIrTVsxXS5yZXBsYWNlKC9fL2csXCIuXCIpOlwiXCIpfWVsc2UgaWYoUj09XCJLb25xdWVyb3JcIiYmL15MaW51eFxcYi9pLnRlc3QoVCkpe1Q9XCJLdWJ1bnR1XCJ9ZWxzZSBpZihJJiZJIT1cIkdvb2dsZVwiJiYoL0Nocm9tZS8udGVzdChSKSYmIS9cXGJNb2JpbGUgU2FmYXJpXFxiL2kudGVzdChlKXx8L1xcYlZpdGFcXGIvLnRlc3QoQSkpfHwvXFxiQW5kcm9pZFxcYi8udGVzdChUKSYmL15DaHJvbWUvLnRlc3QoUikmJi9cXGJWZXJzaW9uXFwvL2kudGVzdChlKSl7Uj1cIkFuZHJvaWQgQnJvd3NlclwiO1Q9L1xcYkFuZHJvaWRcXGIvLnRlc3QoVCk/VDpcIkFuZHJvaWRcIn1lbHNlIGlmKFI9PVwiU2lsa1wiKXtpZighL1xcYk1vYmkvaS50ZXN0KGUpKXtUPVwiQW5kcm9pZFwiO1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKX1pZigvQWNjZWxlcmF0ZWQgKj0gKnRydWUvaS50ZXN0KGUpKXtQLnVuc2hpZnQoXCJhY2NlbGVyYXRlZFwiKX19ZWxzZSBpZihSPT1cIlVDIEJyb3dzZXJcIiYmL1xcYlVDV0VCXFxiLy50ZXN0KGUpKXtQLnB1c2goXCJzcGVlZCBtb2RlXCIpfWVsc2UgaWYoUj09XCJQYWxlTW9vblwiJiYoTT0vXFxiRmlyZWZveFxcLyhbXFxkLl0rKVxcYi8uZXhlYyhlKSkpe1AucHVzaChcImlkZW50aWZ5aW5nIGFzIEZpcmVmb3ggXCIrTVsxXSl9ZWxzZSBpZihSPT1cIkZpcmVmb3hcIiYmKE09L1xcYihNb2JpbGV8VGFibGV0fFRWKVxcYi9pLmV4ZWMoZSkpKXtUfHwoVD1cIkZpcmVmb3ggT1NcIik7QXx8KEE9TVsxXSl9ZWxzZSBpZighUnx8KE09IS9cXGJNaW5lZmllbGRcXGIvaS50ZXN0KGUpJiYvXFxiKD86RmlyZWZveHxTYWZhcmkpXFxiLy5leGVjKFIpKSl7aWYoUiYmIUEmJi9bXFwvLF18XlteKF0rP1xcKS8udGVzdChlLnNsaWNlKGUuaW5kZXhPZihNK1wiL1wiKSs4KSkpe1I9bnVsbH1pZigoTT1BfHxJfHxUKSYmKEF8fEl8fC9cXGIoPzpBbmRyb2lkfFN5bWJpYW4gT1N8VGFibGV0IE9TfHdlYk9TKVxcYi8udGVzdChUKSkpe1I9L1thLXpdKyg/OiBIYXQpPy9pLmV4ZWMoL1xcYkFuZHJvaWRcXGIvLnRlc3QoVCk/VDpNKStcIiBCcm93c2VyXCJ9fWVsc2UgaWYoUj09XCJFbGVjdHJvblwiJiYoTT0oL1xcYkNocm9tZVxcLyhbXFxkLl0rKVxcYi8uZXhlYyhlKXx8MClbMV0pKXtQLnB1c2goXCJDaHJvbWl1bSBcIitNKX1pZighQil7Qj1nZXRWZXJzaW9uKFtcIig/OkNsb3VkOXxDcmlPU3xDck1vfEVkZ2V8RWRnfEVkZ0F8RWRnaU9TfEZ4aU9TfEhlYWRsZXNzQ2hyb21lfElFTW9iaWxlfElyb258T3BlcmEgP01pbml8T1BpT1N8T1BSfFJhdmVufFNhbXN1bmdCcm93c2VyfFNpbGsoPyEvW1xcXFxkLl0rJCl8VUNCcm93c2VyfFlhQnJvd3NlcilcIixcIlZlcnNpb25cIixxdWFsaWZ5KFIpLFwiKD86RmlyZWZveHxNaW5lZmllbGR8TmV0RnJvbnQpXCJdKX1pZihNPV89PVwiaUNhYlwiJiZwYXJzZUZsb2F0KEIpPjMmJlwiV2ViS2l0XCJ8fC9cXGJPcGVyYVxcYi8udGVzdChSKSYmKC9cXGJPUFJcXGIvLnRlc3QoZSk/XCJCbGlua1wiOlwiUHJlc3RvXCIpfHwvXFxiKD86TWlkb3JpfE5vb2t8U2FmYXJpKVxcYi9pLnRlc3QoZSkmJiEvXig/OlRyaWRlbnR8RWRnZUhUTUwpJC8udGVzdChfKSYmXCJXZWJLaXRcInx8IV8mJi9cXGJNU0lFXFxiL2kudGVzdChlKSYmKFQ9PVwiTWFjIE9TXCI/XCJUYXNtYW5cIjpcIlRyaWRlbnRcIil8fF89PVwiV2ViS2l0XCImJi9cXGJQbGF5U3RhdGlvblxcYig/ISBWaXRhXFxiKS9pLnRlc3QoUikmJlwiTmV0RnJvbnRcIil7Xz1bTV19aWYoUj09XCJJRVwiJiYoTT0oLzsgKig/OlhCTFdQfFp1bmVXUCkoXFxkKykvaS5leGVjKGUpfHwwKVsxXSkpe1IrPVwiIE1vYmlsZVwiO1Q9XCJXaW5kb3dzIFBob25lIFwiKygvXFwrJC8udGVzdChNKT9NOk0rXCIueFwiKTtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIil9ZWxzZSBpZigvXFxiV1BEZXNrdG9wXFxiL2kudGVzdChlKSl7Uj1cIklFIE1vYmlsZVwiO1Q9XCJXaW5kb3dzIFBob25lIDgueFwiO1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKTtCfHwoQj0oL1xcYnJ2OihbXFxkLl0rKS8uZXhlYyhlKXx8MClbMV0pfWVsc2UgaWYoUiE9XCJJRVwiJiZfPT1cIlRyaWRlbnRcIiYmKE09L1xcYnJ2OihbXFxkLl0rKS8uZXhlYyhlKSkpe2lmKFIpe1AucHVzaChcImlkZW50aWZ5aW5nIGFzIFwiK1IrKEI/XCIgXCIrQjpcIlwiKSl9Uj1cIklFXCI7Qj1NWzFdfWlmKGspe2lmKGlzSG9zdFR5cGUoaSxcImdsb2JhbFwiKSl7aWYobSl7TT1tLmxhbmcuU3lzdGVtO0U9TS5nZXRQcm9wZXJ0eShcIm9zLmFyY2hcIik7VD1UfHxNLmdldFByb3BlcnR5KFwib3MubmFtZVwiKStcIiBcIitNLmdldFByb3BlcnR5KFwib3MudmVyc2lvblwiKX1pZihnKXt0cnl7Qj1pLnJlcXVpcmUoXCJyaW5nby9lbmdpbmVcIikudmVyc2lvbi5qb2luKFwiLlwiKTtSPVwiUmluZ29KU1wifWNhdGNoKGUpe2lmKChNPWkuc3lzdGVtKSYmTS5nbG9iYWwuc3lzdGVtPT1pLnN5c3RlbSl7Uj1cIk5hcndoYWxcIjtUfHwoVD1NWzBdLm9zfHxudWxsKX19aWYoIVIpe1I9XCJSaGlub1wifX1lbHNlIGlmKHR5cGVvZiBpLnByb2Nlc3M9PVwib2JqZWN0XCImJiFpLnByb2Nlc3MuYnJvd3NlciYmKE09aS5wcm9jZXNzKSl7aWYodHlwZW9mIE0udmVyc2lvbnM9PVwib2JqZWN0XCIpe2lmKHR5cGVvZiBNLnZlcnNpb25zLmVsZWN0cm9uPT1cInN0cmluZ1wiKXtQLnB1c2goXCJOb2RlIFwiK00udmVyc2lvbnMubm9kZSk7Uj1cIkVsZWN0cm9uXCI7Qj1NLnZlcnNpb25zLmVsZWN0cm9ufWVsc2UgaWYodHlwZW9mIE0udmVyc2lvbnMubnc9PVwic3RyaW5nXCIpe1AucHVzaChcIkNocm9taXVtIFwiK0IsXCJOb2RlIFwiK00udmVyc2lvbnMubm9kZSk7Uj1cIk5XLmpzXCI7Qj1NLnZlcnNpb25zLm53fX1pZighUil7Uj1cIk5vZGUuanNcIjtFPU0uYXJjaDtUPU0ucGxhdGZvcm07Qj0vW1xcZC5dKy8uZXhlYyhNLnZlcnNpb24pO0I9Qj9CWzBdOm51bGx9fX1lbHNlIGlmKGdldENsYXNzT2YoTT1pLnJ1bnRpbWUpPT1wKXtSPVwiQWRvYmUgQUlSXCI7VD1NLmZsYXNoLnN5c3RlbS5DYXBhYmlsaXRpZXMub3N9ZWxzZSBpZihnZXRDbGFzc09mKE09aS5waGFudG9tKT09eCl7Uj1cIlBoYW50b21KU1wiO0I9KE09TS52ZXJzaW9ufHxudWxsKSYmTS5tYWpvcitcIi5cIitNLm1pbm9yK1wiLlwiK00ucGF0Y2h9ZWxzZSBpZih0eXBlb2YgTy5kb2N1bWVudE1vZGU9PVwibnVtYmVyXCImJihNPS9cXGJUcmlkZW50XFwvKFxcZCspL2kuZXhlYyhlKSkpe0I9W0IsTy5kb2N1bWVudE1vZGVdO2lmKChNPStNWzFdKzQpIT1CWzFdKXtQLnB1c2goXCJJRSBcIitCWzFdK1wiIG1vZGVcIik7XyYmKF9bMV09XCJcIik7QlsxXT1NfUI9Uj09XCJJRVwiP1N0cmluZyhCWzFdLnRvRml4ZWQoMSkpOkJbMF19ZWxzZSBpZih0eXBlb2YgTy5kb2N1bWVudE1vZGU9PVwibnVtYmVyXCImJi9eKD86Q2hyb21lfEZpcmVmb3gpXFxiLy50ZXN0KFIpKXtQLnB1c2goXCJtYXNraW5nIGFzIFwiK1IrXCIgXCIrQik7Uj1cIklFXCI7Qj1cIjExLjBcIjtfPVtcIlRyaWRlbnRcIl07VD1cIldpbmRvd3NcIn1UPVQmJmZvcm1hdChUKX1pZihCJiYoTT0vKD86W2FiXXxkcHxwcmV8W2FiXVxcZCtwcmUpKD86XFxkK1xcKz8pPyQvaS5leGVjKEIpfHwvKD86YWxwaGF8YmV0YSkoPzogP1xcZCk/L2kuZXhlYyhlK1wiO1wiKyhrJiZuLmFwcE1pbm9yVmVyc2lvbikpfHwvXFxiTWluZWZpZWxkXFxiL2kudGVzdChlKSYmXCJhXCIpKXtDPS9iL2kudGVzdChNKT9cImJldGFcIjpcImFscGhhXCI7Qj1CLnJlcGxhY2UoUmVnRXhwKE0rXCJcXFxcKz8kXCIpLFwiXCIpKyhDPT1cImJldGFcIj92OmgpKygvXFxkK1xcKz8vLmV4ZWMoTSl8fFwiXCIpfWlmKFI9PVwiRmVubmVjXCJ8fFI9PVwiRmlyZWZveFwiJiYvXFxiKD86QW5kcm9pZHxGaXJlZm94IE9TfEthaU9TKVxcYi8udGVzdChUKSl7Uj1cIkZpcmVmb3ggTW9iaWxlXCJ9ZWxzZSBpZihSPT1cIk1heHRob25cIiYmQil7Qj1CLnJlcGxhY2UoL1xcLltcXGQuXSsvLFwiLnhcIil9ZWxzZSBpZigvXFxiWGJveFxcYi9pLnRlc3QoQSkpe2lmKEE9PVwiWGJveCAzNjBcIil7VD1udWxsfWlmKEE9PVwiWGJveCAzNjBcIiYmL1xcYklFTW9iaWxlXFxiLy50ZXN0KGUpKXtQLnVuc2hpZnQoXCJtb2JpbGUgbW9kZVwiKX19ZWxzZSBpZigoL14oPzpDaHJvbWV8SUV8T3BlcmEpJC8udGVzdChSKXx8UiYmIUEmJiEvQnJvd3NlcnxNb2JpLy50ZXN0KFIpKSYmKFQ9PVwiV2luZG93cyBDRVwifHwvTW9iaS9pLnRlc3QoZSkpKXtSKz1cIiBNb2JpbGVcIn1lbHNlIGlmKFI9PVwiSUVcIiYmayl7dHJ5e2lmKGkuZXh0ZXJuYWw9PT1udWxsKXtQLnVuc2hpZnQoXCJwbGF0Zm9ybSBwcmV2aWV3XCIpfX1jYXRjaChlKXtQLnVuc2hpZnQoXCJlbWJlZGRlZFwiKX19ZWxzZSBpZigoL1xcYkJsYWNrQmVycnlcXGIvLnRlc3QoQSl8fC9cXGJCQjEwXFxiLy50ZXN0KGUpKSYmKE09KFJlZ0V4cChBLnJlcGxhY2UoLyArL2csXCIgKlwiKStcIi8oWy5cXFxcZF0rKVwiLFwiaVwiKS5leGVjKGUpfHwwKVsxXXx8Qikpe009W00sL0JCMTAvLnRlc3QoZSldO1Q9KE1bMV0/KEE9bnVsbCxJPVwiQmxhY2tCZXJyeVwiKTpcIkRldmljZSBTb2Z0d2FyZVwiKStcIiBcIitNWzBdO0I9bnVsbH1lbHNlIGlmKHRoaXMhPWZvck93biYmQSE9XCJXaWlcIiYmKGsmJnl8fC9PcGVyYS8udGVzdChSKSYmL1xcYig/Ok1TSUV8RmlyZWZveClcXGIvaS50ZXN0KGUpfHxSPT1cIkZpcmVmb3hcIiYmL1xcYk9TIFggKD86XFxkK1xcLil7Mix9Ly50ZXN0KFQpfHxSPT1cIklFXCImJihUJiYhL15XaW4vLnRlc3QoVCkmJkI+NS41fHwvXFxiV2luZG93cyBYUFxcYi8udGVzdChUKSYmQj44fHxCPT04JiYhL1xcYlRyaWRlbnRcXGIvLnRlc3QoZSkpKSYmIWYudGVzdChNPXBhcnNlLmNhbGwoZm9yT3duLGUucmVwbGFjZShmLFwiXCIpK1wiO1wiKSkmJk0ubmFtZSl7TT1cImluZyBhcyBcIitNLm5hbWUrKChNPU0udmVyc2lvbik/XCIgXCIrTTpcIlwiKTtpZihmLnRlc3QoUikpe2lmKC9cXGJJRVxcYi8udGVzdChNKSYmVD09XCJNYWMgT1NcIil7VD1udWxsfU09XCJpZGVudGlmeVwiK019ZWxzZXtNPVwibWFza1wiK007aWYodyl7Uj1mb3JtYXQody5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLFwiJDEgJDJcIikpfWVsc2V7Uj1cIk9wZXJhXCJ9aWYoL1xcYklFXFxiLy50ZXN0KE0pKXtUPW51bGx9aWYoIWspe0I9bnVsbH19Xz1bXCJQcmVzdG9cIl07UC5wdXNoKE0pfWlmKE09KC9cXGJBcHBsZVdlYktpdFxcLyhbXFxkLl0rXFwrPykvaS5leGVjKGUpfHwwKVsxXSl7TT1bcGFyc2VGbG9hdChNLnJlcGxhY2UoL1xcLihcXGQpJC8sXCIuMCQxXCIpKSxNXTtpZihSPT1cIlNhZmFyaVwiJiZNWzFdLnNsaWNlKC0xKT09XCIrXCIpe1I9XCJXZWJLaXQgTmlnaHRseVwiO0M9XCJhbHBoYVwiO0I9TVsxXS5zbGljZSgwLC0xKX1lbHNlIGlmKEI9PU1bMV18fEI9PShNWzJdPSgvXFxiU2FmYXJpXFwvKFtcXGQuXStcXCs/KS9pLmV4ZWMoZSl8fDApWzFdKSl7Qj1udWxsfU1bMV09KC9cXGIoPzpIZWFkbGVzcyk/Q2hyb21lXFwvKFtcXGQuXSspL2kuZXhlYyhlKXx8MClbMV07aWYoTVswXT09NTM3LjM2JiZNWzJdPT01MzcuMzYmJnBhcnNlRmxvYXQoTVsxXSk+PTI4JiZfPT1cIldlYktpdFwiKXtfPVtcIkJsaW5rXCJdfWlmKCFrfHwhcyYmIU1bMV0pe18mJihfWzFdPVwibGlrZSBTYWZhcmlcIik7TT0oTT1NWzBdLE08NDAwPzE6TTw1MDA/MjpNPDUyNj8zOk08NTMzPzQ6TTw1MzQ/XCI0K1wiOk08NTM1PzU6TTw1Mzc/NjpNPDUzOD83Ok08NjAxPzg6TTw2MDI/OTpNPDYwND8xMDpNPDYwNj8xMTpNPDYwOD8xMjpcIjEyXCIpfWVsc2V7XyYmKF9bMV09XCJsaWtlIENocm9tZVwiKTtNPU1bMV18fChNPU1bMF0sTTw1MzA/MTpNPDUzMj8yOk08NTMyLjA1PzM6TTw1MzM/NDpNPDUzNC4wMz81Ok08NTM0LjA3PzY6TTw1MzQuMT83Ok08NTM0LjEzPzg6TTw1MzQuMTY/OTpNPDUzNC4yND8xMDpNPDUzNC4zPzExOk08NTM1LjAxPzEyOk08NTM1LjAyP1wiMTMrXCI6TTw1MzUuMDc/MTU6TTw1MzUuMTE/MTY6TTw1MzUuMTk/MTc6TTw1MzYuMDU/MTg6TTw1MzYuMT8xOTpNPDUzNy4wMT8yMDpNPDUzNy4xMT9cIjIxK1wiOk08NTM3LjEzPzIzOk08NTM3LjE4PzI0Ok08NTM3LjI0PzI1Ok08NTM3LjM2PzI2Ol8hPVwiQmxpbmtcIj9cIjI3XCI6XCIyOFwiKX1fJiYoX1sxXSs9XCIgXCIrKE0rPXR5cGVvZiBNPT1cIm51bWJlclwiP1wiLnhcIjovWy4rXS8udGVzdChNKT9cIlwiOlwiK1wiKSk7aWYoUj09XCJTYWZhcmlcIiYmKCFCfHxwYXJzZUludChCKT40NSkpe0I9TX1lbHNlIGlmKFI9PVwiQ2hyb21lXCImJi9cXGJIZWFkbGVzc0Nocm9tZS9pLnRlc3QoZSkpe1AudW5zaGlmdChcImhlYWRsZXNzXCIpfX1pZihSPT1cIk9wZXJhXCImJihNPS9cXGJ6Ym92fHp2YXYkLy5leGVjKFQpKSl7Uis9XCIgXCI7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpO2lmKE09PVwienZhdlwiKXtSKz1cIk1pbmlcIjtCPW51bGx9ZWxzZXtSKz1cIk1vYmlsZVwifVQ9VC5yZXBsYWNlKFJlZ0V4cChcIiAqXCIrTStcIiRcIiksXCJcIil9ZWxzZSBpZihSPT1cIlNhZmFyaVwiJiYvXFxiQ2hyb21lXFxiLy5leGVjKF8mJl9bMV0pKXtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIik7Uj1cIkNocm9tZSBNb2JpbGVcIjtCPW51bGw7aWYoL1xcYk9TIFhcXGIvLnRlc3QoVCkpe0k9XCJBcHBsZVwiO1Q9XCJpT1MgNC4zK1wifWVsc2V7VD1udWxsfX1lbHNlIGlmKC9cXGJTUldhcmUgSXJvblxcYi8udGVzdChSKSYmIUIpe0I9Z2V0VmVyc2lvbihcIkNocm9tZVwiKX1pZihCJiZCLmluZGV4T2YoTT0vW1xcZC5dKyQvLmV4ZWMoVCkpPT0wJiZlLmluZGV4T2YoXCIvXCIrTStcIi1cIik+LTEpe1Q9dHJpbShULnJlcGxhY2UoTSxcIlwiKSl9aWYoVCYmVC5pbmRleE9mKFIpIT0tMSYmIVJlZ0V4cChSK1wiIE9TXCIpLnRlc3QoVCkpe1Q9VC5yZXBsYWNlKFJlZ0V4cChcIiAqXCIrcXVhbGlmeShSKStcIiAqXCIpLFwiXCIpfWlmKF8mJiEvXFxiKD86QXZhbnR8Tm9vaylcXGIvLnRlc3QoUikmJigvQnJvd3NlcnxMdW5hc2NhcGV8TWF4dGhvbi8udGVzdChSKXx8UiE9XCJTYWZhcmlcIiYmL15pT1MvLnRlc3QoVCkmJi9cXGJTYWZhcmlcXGIvLnRlc3QoX1sxXSl8fC9eKD86QWRvYmV8QXJvcmF8QnJlYWNofE1pZG9yaXxPcGVyYXxQaGFudG9tfFJla29ucXxSb2NrfFNhbXN1bmcgSW50ZXJuZXR8U2xlaXBuaXJ8U1JXYXJlIElyb258Vml2YWxkaXxXZWIpLy50ZXN0KFIpJiZfWzFdKSl7KE09X1tfLmxlbmd0aC0xXSkmJlAucHVzaChNKX1pZihQLmxlbmd0aCl7UD1bXCIoXCIrUC5qb2luKFwiOyBcIikrXCIpXCJdfWlmKEkmJkEmJkEuaW5kZXhPZihJKTwwKXtQLnB1c2goXCJvbiBcIitJKX1pZihBKXtQLnB1c2goKC9eb24gLy50ZXN0KFBbUC5sZW5ndGgtMV0pP1wiXCI6XCJvbiBcIikrQSl9aWYoVCl7TT0vIChbXFxkLitdKykkLy5leGVjKFQpO1c9TSYmVC5jaGFyQXQoVC5sZW5ndGgtTVswXS5sZW5ndGgtMSk9PVwiL1wiO1Q9e2FyY2hpdGVjdHVyZTozMixmYW1pbHk6TSYmIVc/VC5yZXBsYWNlKE1bMF0sXCJcIik6VCx2ZXJzaW9uOk0/TVsxXTpudWxsLHRvU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy52ZXJzaW9uO3JldHVybiB0aGlzLmZhbWlseSsoZSYmIVc/XCIgXCIrZTpcIlwiKSsodGhpcy5hcmNoaXRlY3R1cmU9PTY0P1wiIDY0LWJpdFwiOlwiXCIpfX19aWYoKE09L1xcYig/OkFNRHxJQXxXaW58V09XfHg4Nl98eCk2NFxcYi9pLmV4ZWMoRSkpJiYhL1xcYmk2ODZcXGIvaS50ZXN0KEUpKXtpZihUKXtULmFyY2hpdGVjdHVyZT02NDtULmZhbWlseT1ULmZhbWlseS5yZXBsYWNlKFJlZ0V4cChcIiAqXCIrTSksXCJcIil9aWYoUiYmKC9cXGJXT1c2NFxcYi9pLnRlc3QoZSl8fGsmJi9cXHcoPzo4NnwzMikkLy50ZXN0KG4uY3B1Q2xhc3N8fG4ucGxhdGZvcm0pJiYhL1xcYldpbjY0OyB4NjRcXGIvaS50ZXN0KGUpKSl7UC51bnNoaWZ0KFwiMzItYml0XCIpfX1lbHNlIGlmKFQmJi9eT1MgWC8udGVzdChULmZhbWlseSkmJlI9PVwiQ2hyb21lXCImJnBhcnNlRmxvYXQoQik+PTM5KXtULmFyY2hpdGVjdHVyZT02NH1lfHwoZT1udWxsKTt2YXIgRj17fTtGLmRlc2NyaXB0aW9uPWU7Ri5sYXlvdXQ9XyYmX1swXTtGLm1hbnVmYWN0dXJlcj1JO0YubmFtZT1SO0YucHJlcmVsZWFzZT1DO0YucHJvZHVjdD1BO0YudWE9ZTtGLnZlcnNpb249UiYmQjtGLm9zPVR8fHthcmNoaXRlY3R1cmU6bnVsbCxmYW1pbHk6bnVsbCx2ZXJzaW9uOm51bGwsdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm5cIm51bGxcIn19O0YucGFyc2U9cGFyc2U7Ri50b1N0cmluZz10b1N0cmluZ1BsYXRmb3JtO2lmKEYudmVyc2lvbil7UC51bnNoaWZ0KEIpfWlmKEYubmFtZSl7UC51bnNoaWZ0KFIpfWlmKFQmJlImJiEoVD09U3RyaW5nKFQpLnNwbGl0KFwiIFwiKVswXSYmKFQ9PVIuc3BsaXQoXCIgXCIpWzBdfHxBKSkpe1AucHVzaChBP1wiKFwiK1QrXCIpXCI6XCJvbiBcIitUKX1pZihQLmxlbmd0aCl7Ri5kZXNjcmlwdGlvbj1QLmpvaW4oXCIgXCIpfXJldHVybiBGfXZhciBkPXBhcnNlKCk7aWYobiYmbyl7Zm9yT3duKGQsKGZ1bmN0aW9uKGUsaSl7bltpXT1lfSkpfWVsc2V7ci5wbGF0Zm9ybT1kfX0pLmNhbGwodGhpcyl9fTt2YXIgaT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHQpe3ZhciByPWlbdF07aWYociE9PXVuZGVmaW5lZCl7cmV0dXJuIHIuZXhwb3J0c312YXIgYT1pW3RdPXtpZDp0LGxvYWRlZDpmYWxzZSxleHBvcnRzOnt9fTt2YXIgbj10cnVlO3RyeXtlW3RdLmNhbGwoYS5leHBvcnRzLGEsYS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO249ZmFsc2V9ZmluYWxseXtpZihuKWRlbGV0ZSBpW3RdfWEubG9hZGVkPXRydWU7cmV0dXJuIGEuZXhwb3J0c30oKCk9PntfX25jY3dwY2tfcmVxdWlyZV9fLm5tZD1lPT57ZS5wYXRocz1bXTtpZighZS5jaGlsZHJlbillLmNoaWxkcmVuPVtdO3JldHVybiBlfX0pKCk7aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB0PV9fbmNjd3Bja19yZXF1aXJlX18oNTQxKTttb2R1bGUuZXhwb3J0cz10fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/platform/platform.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js ***! - \*************************************************************************************/ -/***/ ((module) => { - -eval("(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;Object.defineProperty(r,\"__esModule\",{value:true});var n=\"<unknown>\";function parse(e){var r=e.split(\"\\n\");return r.reduce((function(e,r){var n=parseChrome(r)||parseWinjs(r)||parseGecko(r)||parseNode(r)||parseJSC(r);if(n){e.push(n)}return e}),[])}var a=/^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;var l=/\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;function parseChrome(e){var r=a.exec(e);if(!r){return null}var u=r[2]&&r[2].indexOf(\"native\")===0;var t=r[2]&&r[2].indexOf(\"eval\")===0;var i=l.exec(r[2]);if(t&&i!=null){r[2]=i[1];r[3]=i[2];r[4]=i[3]}return{file:!u?r[2]:null,methodName:r[1]||n,arguments:u?[r[2]]:[],lineNumber:r[3]?+r[3]:null,column:r[4]?+r[4]:null}}var u=/^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseWinjs(e){var r=u.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}var t=/^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;var i=/(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;function parseGecko(e){var r=t.exec(e);if(!r){return null}var a=r[3]&&r[3].indexOf(\" > eval\")>-1;var l=i.exec(r[3]);if(a&&l!=null){r[3]=l[1];r[4]=l[2];r[5]=null}return{file:r[3],methodName:r[1]||n,arguments:r[2]?r[2].split(\",\"):[],lineNumber:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}var s=/^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;function parseJSC(e){var r=s.exec(e);if(!r){return null}return{file:r[3],methodName:r[1]||n,arguments:[],lineNumber:+r[4],column:r[5]?+r[5]:null}}var o=/^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseNode(e){var r=o.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}r.parse=parse})();module.exports=e})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0YWNrdHJhY2UtcGFyc2VyL3N0YWNrLXRyYWNlLXBhcnNlci5janMuanMiLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxhQUFhLGlGQUFpRixTQUFTLE1BQU0sUUFBUSxzQ0FBc0MsV0FBVyxFQUFFLGtCQUFrQixrQkFBa0Isb0JBQW9CLCtCQUErQiw4RUFBOEUsTUFBTSxVQUFVLFNBQVMsTUFBTSxrSkFBa0osc0NBQXNDLHdCQUF3QixnQkFBZ0IsT0FBTyxZQUFZLHVDQUF1QyxxQ0FBcUMsbUJBQW1CLGVBQWUsVUFBVSxVQUFVLFVBQVUsT0FBTyw4R0FBOEcsc0hBQXNILHVCQUF1QixnQkFBZ0IsT0FBTyxZQUFZLE9BQU8sbUZBQW1GLHdJQUF3SSxzREFBc0QsdUJBQXVCLGdCQUFnQixPQUFPLFlBQVksdUNBQXVDLG1CQUFtQixlQUFlLFVBQVUsVUFBVSxVQUFVLE9BQU8sa0hBQWtILHFFQUFxRSxxQkFBcUIsZ0JBQWdCLE9BQU8sWUFBWSxPQUFPLG1GQUFtRixzR0FBc0csc0JBQXNCLGdCQUFnQixPQUFPLFlBQVksT0FBTyxtRkFBbUYsY0FBYyxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RhY2t0cmFjZS1wYXJzZXIvc3RhY2stdHJhY2UtcGFyc2VyLmNqcy5qcz83ZjA4Il0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgZT17fTsoKCk9Pnt2YXIgcj1lO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dmFyIG49XCI8dW5rbm93bj5cIjtmdW5jdGlvbiBwYXJzZShlKXt2YXIgcj1lLnNwbGl0KFwiXFxuXCIpO3JldHVybiByLnJlZHVjZSgoZnVuY3Rpb24oZSxyKXt2YXIgbj1wYXJzZUNocm9tZShyKXx8cGFyc2VXaW5qcyhyKXx8cGFyc2VHZWNrbyhyKXx8cGFyc2VOb2RlKHIpfHxwYXJzZUpTQyhyKTtpZihuKXtlLnB1c2gobil9cmV0dXJuIGV9KSxbXSl9dmFyIGE9L15cXHMqYXQgKC4qPykgP1xcKCgoPzpmaWxlfGh0dHBzP3xibG9ifGNocm9tZS1leHRlbnNpb258bmF0aXZlfGV2YWx8d2VicGFja3w8YW5vbnltb3VzPnxcXC98W2Etel06XFxcXHxcXFxcXFxcXCkuKj8pKD86OihcXGQrKSk/KD86OihcXGQrKSk/XFwpP1xccyokL2k7dmFyIGw9L1xcKChcXFMqKSg/OjooXFxkKykpKD86OihcXGQrKSlcXCkvO2Z1bmN0aW9uIHBhcnNlQ2hyb21lKGUpe3ZhciByPWEuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9dmFyIHU9clsyXSYmclsyXS5pbmRleE9mKFwibmF0aXZlXCIpPT09MDt2YXIgdD1yWzJdJiZyWzJdLmluZGV4T2YoXCJldmFsXCIpPT09MDt2YXIgaT1sLmV4ZWMoclsyXSk7aWYodCYmaSE9bnVsbCl7clsyXT1pWzFdO3JbM109aVsyXTtyWzRdPWlbM119cmV0dXJue2ZpbGU6IXU/clsyXTpudWxsLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6dT9bclsyXV06W10sbGluZU51bWJlcjpyWzNdPytyWzNdOm51bGwsY29sdW1uOnJbNF0/K3JbNF06bnVsbH19dmFyIHU9L15cXHMqYXQgKD86KCg/OlxcW29iamVjdCBvYmplY3RcXF0pPy4rKSApP1xcKD8oKD86ZmlsZXxtcy1hcHB4fGh0dHBzP3x3ZWJwYWNrfGJsb2IpOi4qPyk6KFxcZCspKD86OihcXGQrKSk/XFwpP1xccyokL2k7ZnVuY3Rpb24gcGFyc2VXaW5qcyhlKXt2YXIgcj11LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbMl0sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzNdLGNvbHVtbjpyWzRdPytyWzRdOm51bGx9fXZhciB0PS9eXFxzKiguKj8pKD86XFwoKC4qPylcXCkpPyg/Ol58QCkoKD86ZmlsZXxodHRwcz98YmxvYnxjaHJvbWV8d2VicGFja3xyZXNvdXJjZXxcXFtuYXRpdmUpLio/fFteQF0qYnVuZGxlKSg/OjooXFxkKykpPyg/OjooXFxkKykpP1xccyokL2k7dmFyIGk9LyhcXFMrKSBsaW5lIChcXGQrKSg/OiA+IGV2YWwgbGluZSBcXGQrKSogPiBldmFsL2k7ZnVuY3Rpb24gcGFyc2VHZWNrbyhlKXt2YXIgcj10LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXZhciBhPXJbM10mJnJbM10uaW5kZXhPZihcIiA+IGV2YWxcIik+LTE7dmFyIGw9aS5leGVjKHJbM10pO2lmKGEmJmwhPW51bGwpe3JbM109bFsxXTtyWzRdPWxbMl07cls1XT1udWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpyWzJdP3JbMl0uc3BsaXQoXCIsXCIpOltdLGxpbmVOdW1iZXI6cls0XT8rcls0XTpudWxsLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBzPS9eXFxzKig/OihbXkBdKikoPzpcXCgoLio/KVxcKSk/QCk/KFxcUy4qPyk6KFxcZCspKD86OihcXGQrKSk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZUpTQyhlKXt2YXIgcj1zLmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzRdLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBvPS9eXFxzKmF0ICg/OigoPzpcXFtvYmplY3Qgb2JqZWN0XFxdKT9bXlxcXFwvXSsoPzogXFxbYXMgXFxTK1xcXSk/KSApP1xcKD8oLio/KTooXFxkKykoPzo6KFxcZCspKT9cXCk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZU5vZGUoZSl7dmFyIHI9by5leGVjKGUpO2lmKCFyKXtyZXR1cm4gbnVsbH1yZXR1cm57ZmlsZTpyWzJdLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6W10sbGluZU51bWJlcjorclszXSxjb2x1bW46cls0XT8rcls0XTpudWxsfX1yLnBhcnNlPXBhcnNlfSkoKTttb2R1bGUuZXhwb3J0cz1lfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/compiled/strip-ansi/index.js ***! - \*************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n(()=>{\n \"use strict\";\n var e = {\n 511: (e)=>{\n e.exports = ({ onlyFirst: e = false } = {})=>{\n const r = [\n \"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\n \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"\n ].join(\"|\");\n return new RegExp(r, e ? undefined : \"g\");\n };\n },\n 532: (e, r, _)=>{\n const t = _(511);\n e.exports = (e)=>typeof e === \"string\" ? e.replace(t(), \"\") : e;\n }\n };\n var r = {};\n function __nccwpck_require__(_) {\n var t = r[_];\n if (t !== undefined) {\n return t.exports;\n }\n var a = r[_] = {\n exports: {}\n };\n var n = true;\n try {\n e[_](a, a.exports, __nccwpck_require__);\n n = false;\n } finally{\n if (n) delete r[_];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var _ = __nccwpck_require__(532);\n module.exports = _;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2kvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFDO0lBQUs7SUFBYSxJQUFJQSxJQUFFO1FBQUMsS0FBSUEsQ0FBQUE7WUFBSUEsRUFBRUMsT0FBTyxHQUFDLENBQUMsRUFBQ0MsV0FBVUYsSUFBRSxLQUFLLEVBQUMsR0FBQyxDQUFDLENBQUM7Z0JBQUksTUFBTUcsSUFBRTtvQkFBQztvQkFBK0g7aUJBQTJELENBQUNDLElBQUksQ0FBQztnQkFBSyxPQUFPLElBQUlDLE9BQU9GLEdBQUVILElBQUVNLFlBQVU7WUFBSTtRQUFDO1FBQUUsS0FBSSxDQUFDTixHQUFFRyxHQUFFSTtZQUFLLE1BQU1DLElBQUVELEVBQUU7WUFBS1AsRUFBRUMsT0FBTyxHQUFDRCxDQUFBQSxJQUFHLE9BQU9BLE1BQUksV0FBU0EsRUFBRVMsT0FBTyxDQUFDRCxLQUFJLE1BQUlSO1FBQUM7SUFBQztJQUFFLElBQUlHLElBQUUsQ0FBQztJQUFFLFNBQVNPLG9CQUFvQkgsQ0FBQztRQUFFLElBQUlDLElBQUVMLENBQUMsQ0FBQ0ksRUFBRTtRQUFDLElBQUdDLE1BQUlGLFdBQVU7WUFBQyxPQUFPRSxFQUFFUCxPQUFPO1FBQUE7UUFBQyxJQUFJVSxJQUFFUixDQUFDLENBQUNJLEVBQUUsR0FBQztZQUFDTixTQUFRLENBQUM7UUFBQztRQUFFLElBQUlXLElBQUU7UUFBSyxJQUFHO1lBQUNaLENBQUMsQ0FBQ08sRUFBRSxDQUFDSSxHQUFFQSxFQUFFVixPQUFPLEVBQUNTO1lBQXFCRSxJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT1QsQ0FBQyxDQUFDSSxFQUFFO1FBQUE7UUFBQyxPQUFPSSxFQUFFVixPQUFPO0lBQUE7SUFBQyxJQUFHLE9BQU9TLHdCQUFzQixhQUFZQSxvQkFBb0JHLEVBQUUsR0FBQ0MsWUFBVTtJQUFJLElBQUlQLElBQUVHLG9CQUFvQjtJQUFLSyxPQUFPZCxPQUFPLEdBQUNNO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2kvaW5kZXguanM/MTFmYSJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgZT17NTExOmU9PntlLmV4cG9ydHM9KHtvbmx5Rmlyc3Q6ZT1mYWxzZX09e30pPT57Y29uc3Qgcj1bXCJbXFxcXHUwMDFCXFxcXHUwMDlCXVtbXFxcXF0oKSM7P10qKD86KD86KD86KD86O1stYS16QS1aXFxcXGRcXFxcLyMmLjo9PyVAfl9dKykqfFthLXpBLVpcXFxcZF0rKD86O1stYS16QS1aXFxcXGRcXFxcLyMmLjo9PyVAfl9dKikqKT9cXFxcdTAwMDcpXCIsXCIoPzooPzpcXFxcZHsxLDR9KD86O1xcXFxkezAsNH0pKik/W1xcXFxkQS1QUi1UWmNmLW50cXJ5PT48fl0pKVwiXS5qb2luKFwifFwiKTtyZXR1cm4gbmV3IFJlZ0V4cChyLGU/dW5kZWZpbmVkOlwiZ1wiKX19LDUzMjooZSxyLF8pPT57Y29uc3QgdD1fKDUxMSk7ZS5leHBvcnRzPWU9PnR5cGVvZiBlPT09XCJzdHJpbmdcIj9lLnJlcGxhY2UodCgpLFwiXCIpOmV9fTt2YXIgcj17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKF8pe3ZhciB0PXJbX107aWYodCE9PXVuZGVmaW5lZCl7cmV0dXJuIHQuZXhwb3J0c312YXIgYT1yW19dPXtleHBvcnRzOnt9fTt2YXIgbj10cnVlO3RyeXtlW19dKGEsYS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO249ZmFsc2V9ZmluYWxseXtpZihuKWRlbGV0ZSByW19dfXJldHVybiBhLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciBfPV9fbmNjd3Bja19yZXF1aXJlX18oNTMyKTttb2R1bGUuZXhwb3J0cz1ffSkoKTsiXSwibmFtZXMiOlsiZSIsImV4cG9ydHMiLCJvbmx5Rmlyc3QiLCJyIiwiam9pbiIsIlJlZ0V4cCIsInVuZGVmaW5lZCIsIl8iLCJ0IiwicmVwbGFjZSIsIl9fbmNjd3Bja19yZXF1aXJlX18iLCJhIiwibiIsImFiIiwiX19kaXJuYW1lIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"(ssr)/./node_modules/next/dist/shared/lib/is-plain-object.js\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyxtR0FBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcz8wMGNmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBnZXRQcm9wZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3I7XG4gICAgfSxcbiAgICBnZXRQcm9wZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pc3BsYWlub2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc3BsYWlub2JqZWN0LmlzUGxhaW5PYmplY3QpKGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/lib/is-error.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/lib/url.js": -/*!*******************************************!*\ - !*** ./node_modules/next/dist/lib/url.js ***! - \*******************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getPathname: function() {\n return getPathname;\n },\n isFullStringUrl: function() {\n return isFullStringUrl;\n }\n});\nconst DUMMY_ORIGIN = \"http://n\";\nfunction getUrlWithoutHost(url) {\n return new URL(url, DUMMY_ORIGIN);\n}\nfunction getPathname(url) {\n return getUrlWithoutHost(url).pathname;\n}\nfunction isFullStringUrl(url) {\n return /https?:\\/\\//.test(url);\n}\n\n//# sourceMappingURL=url.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi91cmwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi91cmwuanM/ZDUwNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldFBhdGhuYW1lOiBudWxsLFxuICAgIGlzRnVsbFN0cmluZ1VybDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRQYXRobmFtZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQYXRobmFtZTtcbiAgICB9LFxuICAgIGlzRnVsbFN0cmluZ1VybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Z1bGxTdHJpbmdVcmw7XG4gICAgfVxufSk7XG5jb25zdCBEVU1NWV9PUklHSU4gPSBcImh0dHA6Ly9uXCI7XG5mdW5jdGlvbiBnZXRVcmxXaXRob3V0SG9zdCh1cmwpIHtcbiAgICByZXR1cm4gbmV3IFVSTCh1cmwsIERVTU1ZX09SSUdJTik7XG59XG5mdW5jdGlvbiBnZXRQYXRobmFtZSh1cmwpIHtcbiAgICByZXR1cm4gZ2V0VXJsV2l0aG91dEhvc3QodXJsKS5wYXRobmFtZTtcbn1cbmZ1bmN0aW9uIGlzRnVsbFN0cmluZ1VybCh1cmwpIHtcbiAgICByZXR1cm4gL2h0dHBzPzpcXC9cXC8vLnRlc3QodXJsKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXJsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/lib/url.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/app-render/dynamic-rendering.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/server/app-render/dynamic-rendering.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * The functions provided by this module are used to communicate certain properties\n * about the currently running code so that Next.js can make decisions on how to handle\n * the current execution in different rendering modes such as pre-rendering, resuming, and SSR.\n *\n * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering.\n * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts\n * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of\n * Dynamic indications.\n *\n * The first is simply an intention to be dynamic. unstable_noStore is an example of this where\n * the currently executing code simply declares that the current scope is dynamic but if you use it\n * inside unstable_cache it can still be cached. This type of indication can be removed if we ever\n * make the default dynamic to begin with because the only way you would ever be static is inside\n * a cache scope which this indication does not affect.\n *\n * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic\n * because it means that it is inappropriate to cache this at all. using a dynamic data source inside\n * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should\n * read that data outside the cache and pass it in as an argument to the cached function.\n */ // Once postpone is in stable we should switch to importing the postpone export directly\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Postpone: function() {\n return Postpone;\n },\n createPostponedAbortSignal: function() {\n return createPostponedAbortSignal;\n },\n createPrerenderState: function() {\n return createPrerenderState;\n },\n formatDynamicAPIAccesses: function() {\n return formatDynamicAPIAccesses;\n },\n markCurrentScopeAsDynamic: function() {\n return markCurrentScopeAsDynamic;\n },\n trackDynamicDataAccessed: function() {\n return trackDynamicDataAccessed;\n },\n trackDynamicFetch: function() {\n return trackDynamicFetch;\n },\n usedDynamicAPIs: function() {\n return usedDynamicAPIs;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _hooksservercontext = __webpack_require__(/*! ../../client/components/hooks-server-context */ \"(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js\");\nconst _staticgenerationbailout = __webpack_require__(/*! ../../client/components/static-generation-bailout */ \"(ssr)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _url = __webpack_require__(/*! ../../lib/url */ \"(ssr)/./node_modules/next/dist/lib/url.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst hasPostpone = typeof _react.default.unstable_postpone === \"function\";\nfunction createPrerenderState(isDebugSkeleton) {\n return {\n isDebugSkeleton,\n dynamicAccesses: []\n };\n}\nfunction markCurrentScopeAsDynamic(store, expression) {\n const pathname = (0, _url.getPathname)(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n // inside cache scopes marking a scope as dynamic has no effect because the outer cache scope\n // creates a cache boundary. This is subtly different from reading a dynamic data source which is\n // forbidden inside a cache scope.\n return;\n } else if (store.dynamicShouldError) {\n throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new _hooksservercontext.DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\nfunction trackDynamicDataAccessed(store, expression) {\n const pathname = (0, _url.getPathname)(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n throw new Error(`Route ${pathname} used \"${expression}\" inside a function cached with \"unstable_cache(...)\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \"${expression}\" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);\n } else if (store.dynamicShouldError) {\n throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new _hooksservercontext.DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\nfunction Postpone({ reason, prerenderState, pathname }) {\n postponeWithTracking(prerenderState, reason, pathname);\n}\nfunction trackDynamicFetch(store, expression) {\n if (store.prerenderState) {\n postponeWithTracking(store.prerenderState, expression, store.urlPathname);\n }\n}\nfunction postponeWithTracking(prerenderState, expression, pathname) {\n assertPostpone();\n const reason = `Route ${pathname} needs to bail out of prerendering at this point because it used ${expression}. ` + `React throws this special object to indicate where. It should not be caught by ` + `your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;\n prerenderState.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: prerenderState.isDebugSkeleton ? new Error().stack : undefined,\n expression\n });\n _react.default.unstable_postpone(reason);\n}\nfunction usedDynamicAPIs(prerenderState) {\n return prerenderState.dynamicAccesses.length > 0;\n}\nfunction formatDynamicAPIAccesses(prerenderState) {\n return prerenderState.dynamicAccesses.filter((access)=>typeof access.stack === \"string\" && access.stack.length > 0).map(({ expression, stack })=>{\n stack = stack.split(\"\\n\")// Remove the \"Error: \" prefix from the first line of the stack trace as\n // well as the first 4 lines of the stack trace which is the distance\n // from the user code and the `new Error().stack` call.\n .slice(4).filter((line)=>{\n // Exclude Next.js internals from the stack trace.\n if (line.includes(\"node_modules/next/\")) {\n return false;\n }\n // Exclude anonymous functions from the stack trace.\n if (line.includes(\" (<anonymous>)\")) {\n return false;\n }\n // Exclude Node.js internals from the stack trace.\n if (line.includes(\" (node:\")) {\n return false;\n }\n return true;\n }).join(\"\\n\");\n return `Dynamic API Usage Debug - ${expression}:\\n${stack}`;\n });\n}\nfunction assertPostpone() {\n if (!hasPostpone) {\n throw new Error(`Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js`);\n }\n}\nfunction createPostponedAbortSignal(reason) {\n assertPostpone();\n const controller = new AbortController();\n // We get our hands on a postpone instance by calling postpone and catching the throw\n try {\n _react.default.unstable_postpone(reason);\n } catch (x) {\n controller.abort(x);\n }\n return controller.signal;\n}\n\n//# sourceMappingURL=dynamic-rendering.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2R5bmFtaWMtcmVuZGVyaW5nLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQVNMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELHNEQUFzRCxtQkFBTyxDQUFDLHdHQUFPO0FBQ3JFLDRCQUE0QixtQkFBTyxDQUFDLDhIQUE4QztBQUNsRixpQ0FBaUMsbUJBQU8sQ0FBQyx3SUFBbUQ7QUFDNUYsYUFBYSxtQkFBTyxDQUFDLGdFQUFlO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLDBFQUEwRSxVQUFVLCtFQUErRSxXQUFXO0FBQzlLLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLDRFQUE0RSxVQUFVLGtEQUFrRCxXQUFXO0FBQ25KO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxVQUFVLFFBQVEsV0FBVyxtTEFBbUwsV0FBVztBQUM1UCxNQUFNO0FBQ04sMEVBQTBFLFVBQVUsK0VBQStFLFdBQVc7QUFDOUssTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsNEVBQTRFLFVBQVUsa0RBQWtELFdBQVc7QUFDbko7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtDQUFrQztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsVUFBVSxrRUFBa0UsV0FBVztBQUNuSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtIQUErSCxtQkFBbUI7QUFDbEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCw0Q0FBNEMsV0FBVyxLQUFLLE1BQU07QUFDbEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZHluYW1pYy1yZW5kZXJpbmcuanM/OWU5ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBmdW5jdGlvbnMgcHJvdmlkZWQgYnkgdGhpcyBtb2R1bGUgYXJlIHVzZWQgdG8gY29tbXVuaWNhdGUgY2VydGFpbiBwcm9wZXJ0aWVzXG4gKiBhYm91dCB0aGUgY3VycmVudGx5IHJ1bm5pbmcgY29kZSBzbyB0aGF0IE5leHQuanMgY2FuIG1ha2UgZGVjaXNpb25zIG9uIGhvdyB0byBoYW5kbGVcbiAqIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBpbiBkaWZmZXJlbnQgcmVuZGVyaW5nIG1vZGVzIHN1Y2ggYXMgcHJlLXJlbmRlcmluZywgcmVzdW1pbmcsIGFuZCBTU1IuXG4gKlxuICogVG9kYXkgTmV4dC5qcyB0cmVhdHMgYWxsIGNvZGUgYXMgcG90ZW50aWFsbHkgc3RhdGljLiBDZXJ0YWluIEFQSXMgbWF5IG9ubHkgbWFrZSBzZW5zZSB3aGVuIGR5bmFtaWNhbGx5IHJlbmRlcmluZy5cbiAqIFRyYWRpdGlvbmFsbHkgdGhpcyBtZWFudCBkZW9wdGluZyB0aGUgZW50aXJlIHJlbmRlciB0byBkeW5hbWljIGhvd2V2ZXIgd2l0aCBQUFIgd2UgY2FuIG5vdyBkZW9wdCBwYXJ0c1xuICogb2YgYSBSZWFjdCB0cmVlIGFzIGR5bmFtaWMgd2hpbGUgc3RpbGwga2VlcGluZyBvdGhlciBwYXJ0cyBzdGF0aWMuIFRoZXJlIGFyZSByZWFsbHkgdHdvIGRpZmZlcmVudCBraW5kcyBvZlxuICogRHluYW1pYyBpbmRpY2F0aW9ucy5cbiAqXG4gKiBUaGUgZmlyc3QgaXMgc2ltcGx5IGFuIGludGVudGlvbiB0byBiZSBkeW5hbWljLiB1bnN0YWJsZV9ub1N0b3JlIGlzIGFuIGV4YW1wbGUgb2YgdGhpcyB3aGVyZVxuICogdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgY29kZSBzaW1wbHkgZGVjbGFyZXMgdGhhdCB0aGUgY3VycmVudCBzY29wZSBpcyBkeW5hbWljIGJ1dCBpZiB5b3UgdXNlIGl0XG4gKiBpbnNpZGUgdW5zdGFibGVfY2FjaGUgaXQgY2FuIHN0aWxsIGJlIGNhY2hlZC4gVGhpcyB0eXBlIG9mIGluZGljYXRpb24gY2FuIGJlIHJlbW92ZWQgaWYgd2UgZXZlclxuICogbWFrZSB0aGUgZGVmYXVsdCBkeW5hbWljIHRvIGJlZ2luIHdpdGggYmVjYXVzZSB0aGUgb25seSB3YXkgeW91IHdvdWxkIGV2ZXIgYmUgc3RhdGljIGlzIGluc2lkZVxuICogYSBjYWNoZSBzY29wZSB3aGljaCB0aGlzIGluZGljYXRpb24gZG9lcyBub3QgYWZmZWN0LlxuICpcbiAqIFRoZSBzZWNvbmQgaXMgYW4gaW5kaWNhdGlvbiB0aGF0IGEgZHluYW1pYyBkYXRhIHNvdXJjZSB3YXMgcmVhZC4gVGhpcyBpcyBhIHN0cm9uZ2VyIGZvcm0gb2YgZHluYW1pY1xuICogYmVjYXVzZSBpdCBtZWFucyB0aGF0IGl0IGlzIGluYXBwcm9wcmlhdGUgdG8gY2FjaGUgdGhpcyBhdCBhbGwuIHVzaW5nIGEgZHluYW1pYyBkYXRhIHNvdXJjZSBpbnNpZGVcbiAqIHVuc3RhYmxlX2NhY2hlIHNob3VsZCBlcnJvci4gSWYgeW91IHdhbnQgdG8gdXNlIHNvbWUgZHluYW1pYyBkYXRhIGluc2lkZSB1bnN0YWJsZV9jYWNoZSB5b3Ugc2hvdWxkXG4gKiByZWFkIHRoYXQgZGF0YSBvdXRzaWRlIHRoZSBjYWNoZSBhbmQgcGFzcyBpdCBpbiBhcyBhbiBhcmd1bWVudCB0byB0aGUgY2FjaGVkIGZ1bmN0aW9uLlxuICovIC8vIE9uY2UgcG9zdHBvbmUgaXMgaW4gc3RhYmxlIHdlIHNob3VsZCBzd2l0Y2ggdG8gaW1wb3J0aW5nIHRoZSBwb3N0cG9uZSBleHBvcnQgZGlyZWN0bHlcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUG9zdHBvbmU6IG51bGwsXG4gICAgY3JlYXRlUG9zdHBvbmVkQWJvcnRTaWduYWw6IG51bGwsXG4gICAgY3JlYXRlUHJlcmVuZGVyU3RhdGU6IG51bGwsXG4gICAgZm9ybWF0RHluYW1pY0FQSUFjY2Vzc2VzOiBudWxsLFxuICAgIG1hcmtDdXJyZW50U2NvcGVBc0R5bmFtaWM6IG51bGwsXG4gICAgdHJhY2tEeW5hbWljRGF0YUFjY2Vzc2VkOiBudWxsLFxuICAgIHRyYWNrRHluYW1pY0ZldGNoOiBudWxsLFxuICAgIHVzZWREeW5hbWljQVBJczogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBQb3N0cG9uZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQb3N0cG9uZTtcbiAgICB9LFxuICAgIGNyZWF0ZVBvc3Rwb25lZEFib3J0U2lnbmFsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVBvc3Rwb25lZEFib3J0U2lnbmFsO1xuICAgIH0sXG4gICAgY3JlYXRlUHJlcmVuZGVyU3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUHJlcmVuZGVyU3RhdGU7XG4gICAgfSxcbiAgICBmb3JtYXREeW5hbWljQVBJQWNjZXNzZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0RHluYW1pY0FQSUFjY2Vzc2VzO1xuICAgIH0sXG4gICAgbWFya0N1cnJlbnRTY29wZUFzRHluYW1pYzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYXJrQ3VycmVudFNjb3BlQXNEeW5hbWljO1xuICAgIH0sXG4gICAgdHJhY2tEeW5hbWljRGF0YUFjY2Vzc2VkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNrRHluYW1pY0RhdGFBY2Nlc3NlZDtcbiAgICB9LFxuICAgIHRyYWNrRHluYW1pY0ZldGNoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNrRHluYW1pY0ZldGNoO1xuICAgIH0sXG4gICAgdXNlZER5bmFtaWNBUElzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZWREeW5hbWljQVBJcztcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfaG9va3NzZXJ2ZXJjb250ZXh0ID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0XCIpO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0ID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXRcIik7XG5jb25zdCBfdXJsID0gcmVxdWlyZShcIi4uLy4uL2xpYi91cmxcIik7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbmNvbnN0IGhhc1Bvc3Rwb25lID0gdHlwZW9mIF9yZWFjdC5kZWZhdWx0LnVuc3RhYmxlX3Bvc3Rwb25lID09PSBcImZ1bmN0aW9uXCI7XG5mdW5jdGlvbiBjcmVhdGVQcmVyZW5kZXJTdGF0ZShpc0RlYnVnU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpc0RlYnVnU2tlbGV0b24sXG4gICAgICAgIGR5bmFtaWNBY2Nlc3NlczogW11cbiAgICB9O1xufVxuZnVuY3Rpb24gbWFya0N1cnJlbnRTY29wZUFzRHluYW1pYyhzdG9yZSwgZXhwcmVzc2lvbikge1xuICAgIGNvbnN0IHBhdGhuYW1lID0gKDAsIF91cmwuZ2V0UGF0aG5hbWUpKHN0b3JlLnVybFBhdGhuYW1lKTtcbiAgICBpZiAoc3RvcmUuaXNVbnN0YWJsZUNhY2hlQ2FsbGJhY2spIHtcbiAgICAgICAgLy8gaW5zaWRlIGNhY2hlIHNjb3BlcyBtYXJraW5nIGEgc2NvcGUgYXMgZHluYW1pYyBoYXMgbm8gZWZmZWN0IGJlY2F1c2UgdGhlIG91dGVyIGNhY2hlIHNjb3BlXG4gICAgICAgIC8vIGNyZWF0ZXMgYSBjYWNoZSBib3VuZGFyeS4gVGhpcyBpcyBzdWJ0bHkgZGlmZmVyZW50IGZyb20gcmVhZGluZyBhIGR5bmFtaWMgZGF0YSBzb3VyY2Ugd2hpY2ggaXNcbiAgICAgICAgLy8gZm9yYmlkZGVuIGluc2lkZSBhIGNhY2hlIHNjb3BlLlxuICAgICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChzdG9yZS5keW5hbWljU2hvdWxkRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dC5TdGF0aWNHZW5CYWlsb3V0RXJyb3IoYFJvdXRlICR7cGF0aG5hbWV9IHdpdGggXFxgZHluYW1pYyA9IFwiZXJyb3JcIlxcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBcXGAke2V4cHJlc3Npb259XFxgLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKTtcbiAgICB9IGVsc2UgaWYgKC8vIFdlIGFyZSBpbiBhIHByZXJlbmRlciAoUFBSIGVuYWJsZWQsIGR1cmluZyBidWlsZClcbiAgICBzdG9yZS5wcmVyZW5kZXJTdGF0ZSkge1xuICAgICAgICAvLyBXZSB0cmFjayB0aGF0IHdlIGhhZCBhIGR5bmFtaWMgc2NvcGUgdGhhdCBwb3N0cG9uZWQuXG4gICAgICAgIC8vIFRoaXMgd2lsbCBiZSB1c2VkIGJ5IHRoZSByZW5kZXJlciB0byBkZWNpZGUgd2hldGhlclxuICAgICAgICAvLyB0aGUgcHJlcmVuZGVyIHJlcXVpcmVzIGEgcmVzdW1lXG4gICAgICAgIHBvc3Rwb25lV2l0aFRyYWNraW5nKHN0b3JlLnByZXJlbmRlclN0YXRlLCBleHByZXNzaW9uLCBwYXRobmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgc3RvcmUucmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgIGlmIChzdG9yZS5pc1N0YXRpY0dlbmVyYXRpb24pIHtcbiAgICAgICAgICAgIC8vIFdlIGFyZW4ndCBwcmVyZW5kZXJpbmcgYnV0IHdlIGFyZSBnZW5lcmF0aW5nIGEgc3RhdGljIHBhZ2UuIFdlIG5lZWQgdG8gYmFpbCBvdXQgb2Ygc3RhdGljIGdlbmVyYXRpb25cbiAgICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBfaG9va3NzZXJ2ZXJjb250ZXh0LkR5bmFtaWNTZXJ2ZXJFcnJvcihgUm91dGUgJHtwYXRobmFtZX0gY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgJHtleHByZXNzaW9ufS4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9keW5hbWljLXNlcnZlci1lcnJvcmApO1xuICAgICAgICAgICAgc3RvcmUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb24gPSBleHByZXNzaW9uO1xuICAgICAgICAgICAgc3RvcmUuZHluYW1pY1VzYWdlU3RhY2sgPSBlcnIuc3RhY2s7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiB0cmFja0R5bmFtaWNEYXRhQWNjZXNzZWQoc3RvcmUsIGV4cHJlc3Npb24pIHtcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfdXJsLmdldFBhdGhuYW1lKShzdG9yZS51cmxQYXRobmFtZSk7XG4gICAgaWYgKHN0b3JlLmlzVW5zdGFibGVDYWNoZUNhbGxiYWNrKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUm91dGUgJHtwYXRobmFtZX0gdXNlZCBcIiR7ZXhwcmVzc2lvbn1cIiBpbnNpZGUgYSBmdW5jdGlvbiBjYWNoZWQgd2l0aCBcInVuc3RhYmxlX2NhY2hlKC4uLilcIi4gQWNjZXNzaW5nIER5bmFtaWMgZGF0YSBzb3VyY2VzIGluc2lkZSBhIGNhY2hlIHNjb3BlIGlzIG5vdCBzdXBwb3J0ZWQuIElmIHlvdSBuZWVkIHRoaXMgZGF0YSBpbnNpZGUgYSBjYWNoZWQgZnVuY3Rpb24gdXNlIFwiJHtleHByZXNzaW9ufVwiIG91dHNpZGUgb2YgdGhlIGNhY2hlZCBmdW5jdGlvbiBhbmQgcGFzcyB0aGUgcmVxdWlyZWQgZHluYW1pYyBkYXRhIGluIGFzIGFuIGFyZ3VtZW50LiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91bnN0YWJsZV9jYWNoZWApO1xuICAgIH0gZWxzZSBpZiAoc3RvcmUuZHluYW1pY1Nob3VsZEVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQuU3RhdGljR2VuQmFpbG91dEVycm9yKGBSb3V0ZSAke3BhdGhuYW1lfSB3aXRoIFxcYGR5bmFtaWMgPSBcImVycm9yXCJcXGAgY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgXFxgJHtleHByZXNzaW9ufVxcYC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nYCk7XG4gICAgfSBlbHNlIGlmICgvLyBXZSBhcmUgaW4gYSBwcmVyZW5kZXIgKFBQUiBlbmFibGVkLCBkdXJpbmcgYnVpbGQpXG4gICAgc3RvcmUucHJlcmVuZGVyU3RhdGUpIHtcbiAgICAgICAgLy8gV2UgdHJhY2sgdGhhdCB3ZSBoYWQgYSBkeW5hbWljIHNjb3BlIHRoYXQgcG9zdHBvbmVkLlxuICAgICAgICAvLyBUaGlzIHdpbGwgYmUgdXNlZCBieSB0aGUgcmVuZGVyZXIgdG8gZGVjaWRlIHdoZXRoZXJcbiAgICAgICAgLy8gdGhlIHByZXJlbmRlciByZXF1aXJlcyBhIHJlc3VtZVxuICAgICAgICBwb3N0cG9uZVdpdGhUcmFja2luZyhzdG9yZS5wcmVyZW5kZXJTdGF0ZSwgZXhwcmVzc2lvbiwgcGF0aG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHN0b3JlLnJldmFsaWRhdGUgPSAwO1xuICAgICAgICBpZiAoc3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSB7XG4gICAgICAgICAgICAvLyBXZSBhcmVuJ3QgcHJlcmVuZGVyaW5nIGJ1dCB3ZSBhcmUgZ2VuZXJhdGluZyBhIHN0YXRpYyBwYWdlLiBXZSBuZWVkIHRvIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uXG4gICAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgX2hvb2tzc2VydmVyY29udGV4dC5EeW5hbWljU2VydmVyRXJyb3IoYFJvdXRlICR7cGF0aG5hbWV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7ZXhwcmVzc2lvbn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKTtcbiAgICAgICAgICAgIHN0b3JlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uID0gZXhwcmVzc2lvbjtcbiAgICAgICAgICAgIHN0b3JlLmR5bmFtaWNVc2FnZVN0YWNrID0gZXJyLnN0YWNrO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gUG9zdHBvbmUoeyByZWFzb24sIHByZXJlbmRlclN0YXRlLCBwYXRobmFtZSB9KSB7XG4gICAgcG9zdHBvbmVXaXRoVHJhY2tpbmcocHJlcmVuZGVyU3RhdGUsIHJlYXNvbiwgcGF0aG5hbWUpO1xufVxuZnVuY3Rpb24gdHJhY2tEeW5hbWljRmV0Y2goc3RvcmUsIGV4cHJlc3Npb24pIHtcbiAgICBpZiAoc3RvcmUucHJlcmVuZGVyU3RhdGUpIHtcbiAgICAgICAgcG9zdHBvbmVXaXRoVHJhY2tpbmcoc3RvcmUucHJlcmVuZGVyU3RhdGUsIGV4cHJlc3Npb24sIHN0b3JlLnVybFBhdGhuYW1lKTtcbiAgICB9XG59XG5mdW5jdGlvbiBwb3N0cG9uZVdpdGhUcmFja2luZyhwcmVyZW5kZXJTdGF0ZSwgZXhwcmVzc2lvbiwgcGF0aG5hbWUpIHtcbiAgICBhc3NlcnRQb3N0cG9uZSgpO1xuICAgIGNvbnN0IHJlYXNvbiA9IGBSb3V0ZSAke3BhdGhuYW1lfSBuZWVkcyB0byBiYWlsIG91dCBvZiBwcmVyZW5kZXJpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IHVzZWQgJHtleHByZXNzaW9ufS4gYCArIGBSZWFjdCB0aHJvd3MgdGhpcyBzcGVjaWFsIG9iamVjdCB0byBpbmRpY2F0ZSB3aGVyZS4gSXQgc2hvdWxkIG5vdCBiZSBjYXVnaHQgYnkgYCArIGB5b3VyIG93biB0cnkvY2F0Y2guIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3Bwci1jYXVnaHQtZXJyb3JgO1xuICAgIHByZXJlbmRlclN0YXRlLmR5bmFtaWNBY2Nlc3Nlcy5wdXNoKHtcbiAgICAgICAgLy8gV2hlbiB3ZSBhcmVuJ3QgZGVidWdnaW5nLCB3ZSBkb24ndCBuZWVkIHRvIGNyZWF0ZSBhbm90aGVyIGVycm9yIGZvciB0aGVcbiAgICAgICAgLy8gc3RhY2sgdHJhY2UuXG4gICAgICAgIHN0YWNrOiBwcmVyZW5kZXJTdGF0ZS5pc0RlYnVnU2tlbGV0b24gPyBuZXcgRXJyb3IoKS5zdGFjayA6IHVuZGVmaW5lZCxcbiAgICAgICAgZXhwcmVzc2lvblxuICAgIH0pO1xuICAgIF9yZWFjdC5kZWZhdWx0LnVuc3RhYmxlX3Bvc3Rwb25lKHJlYXNvbik7XG59XG5mdW5jdGlvbiB1c2VkRHluYW1pY0FQSXMocHJlcmVuZGVyU3RhdGUpIHtcbiAgICByZXR1cm4gcHJlcmVuZGVyU3RhdGUuZHluYW1pY0FjY2Vzc2VzLmxlbmd0aCA+IDA7XG59XG5mdW5jdGlvbiBmb3JtYXREeW5hbWljQVBJQWNjZXNzZXMocHJlcmVuZGVyU3RhdGUpIHtcbiAgICByZXR1cm4gcHJlcmVuZGVyU3RhdGUuZHluYW1pY0FjY2Vzc2VzLmZpbHRlcigoYWNjZXNzKT0+dHlwZW9mIGFjY2Vzcy5zdGFjayA9PT0gXCJzdHJpbmdcIiAmJiBhY2Nlc3Muc3RhY2subGVuZ3RoID4gMCkubWFwKCh7IGV4cHJlc3Npb24sIHN0YWNrIH0pPT57XG4gICAgICAgIHN0YWNrID0gc3RhY2suc3BsaXQoXCJcXG5cIikvLyBSZW1vdmUgdGhlIFwiRXJyb3I6IFwiIHByZWZpeCBmcm9tIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzdGFjayB0cmFjZSBhc1xuICAgICAgICAvLyB3ZWxsIGFzIHRoZSBmaXJzdCA0IGxpbmVzIG9mIHRoZSBzdGFjayB0cmFjZSB3aGljaCBpcyB0aGUgZGlzdGFuY2VcbiAgICAgICAgLy8gZnJvbSB0aGUgdXNlciBjb2RlIGFuZCB0aGUgYG5ldyBFcnJvcigpLnN0YWNrYCBjYWxsLlxuICAgICAgICAuc2xpY2UoNCkuZmlsdGVyKChsaW5lKT0+e1xuICAgICAgICAgICAgLy8gRXhjbHVkZSBOZXh0LmpzIGludGVybmFscyBmcm9tIHRoZSBzdGFjayB0cmFjZS5cbiAgICAgICAgICAgIGlmIChsaW5lLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzL25leHQvXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRXhjbHVkZSBhbm9ueW1vdXMgZnVuY3Rpb25zIGZyb20gdGhlIHN0YWNrIHRyYWNlLlxuICAgICAgICAgICAgaWYgKGxpbmUuaW5jbHVkZXMoXCIgKDxhbm9ueW1vdXM+KVwiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEV4Y2x1ZGUgTm9kZS5qcyBpbnRlcm5hbHMgZnJvbSB0aGUgc3RhY2sgdHJhY2UuXG4gICAgICAgICAgICBpZiAobGluZS5pbmNsdWRlcyhcIiAobm9kZTpcIikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSkuam9pbihcIlxcblwiKTtcbiAgICAgICAgcmV0dXJuIGBEeW5hbWljIEFQSSBVc2FnZSBEZWJ1ZyAtICR7ZXhwcmVzc2lvbn06XFxuJHtzdGFja31gO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gYXNzZXJ0UG9zdHBvbmUoKSB7XG4gICAgaWYgKCFoYXNQb3N0cG9uZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFyaWFudDogUmVhY3QudW5zdGFibGVfcG9zdHBvbmUgaXMgbm90IGRlZmluZWQuIFRoaXMgc3VnZ2VzdHMgdGhlIHdyb25nIHZlcnNpb24gb2YgUmVhY3Qgd2FzIGxvYWRlZC4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzYCk7XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlUG9zdHBvbmVkQWJvcnRTaWduYWwocmVhc29uKSB7XG4gICAgYXNzZXJ0UG9zdHBvbmUoKTtcbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIC8vIFdlIGdldCBvdXIgaGFuZHMgb24gYSBwb3N0cG9uZSBpbnN0YW5jZSBieSBjYWxsaW5nIHBvc3Rwb25lIGFuZCBjYXRjaGluZyB0aGUgdGhyb3dcbiAgICB0cnkge1xuICAgICAgICBfcmVhY3QuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZShyZWFzb24pO1xuICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgY29udHJvbGxlci5hYm9ydCh4KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1keW5hbWljLXJlbmRlcmluZy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/app-render/dynamic-rendering.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/server/app-render/get-segment-param.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentParam\", ({\n enumerable: true,\n get: function() {\n return getSegmentParam;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nfunction getSegmentParam(segment) {\n const interceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((marker)=>segment.startsWith(marker));\n // if an interception marker is part of the path segment, we need to jump ahead\n // to the relevant portion for param parsing\n if (interceptionMarker) {\n segment = segment.slice(interceptionMarker.length);\n }\n if (segment.startsWith(\"[[...\") && segment.endsWith(\"]]\")) {\n return {\n // TODO-APP: Optional catchall does not currently work with parallel routes,\n // so for now aren't handling a potential interception marker.\n type: \"optional-catchall\",\n param: segment.slice(5, -2)\n };\n }\n if (segment.startsWith(\"[...\") && segment.endsWith(\"]\")) {\n return {\n type: interceptionMarker ? \"catchall-intercepted\" : \"catchall\",\n param: segment.slice(4, -1)\n };\n }\n if (segment.startsWith(\"[\") && segment.endsWith(\"]\")) {\n return {\n type: interceptionMarker ? \"dynamic-intercepted\" : \"dynamic\",\n param: segment.slice(1, -1)\n };\n }\n return null;\n}\n\n//# sourceMappingURL=get-segment-param.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2dldC1zZWdtZW50LXBhcmFtLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsbURBQWtEO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsNEJBQTRCLG1CQUFPLENBQUMsMEhBQXVDO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2dldC1zZWdtZW50LXBhcmFtLmpzPzA0MzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRTZWdtZW50UGFyYW1cIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNlZ21lbnRQYXJhbTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcmNlcHRpb25yb3V0ZXMgPSByZXF1aXJlKFwiLi4vZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlc1wiKTtcbmZ1bmN0aW9uIGdldFNlZ21lbnRQYXJhbShzZWdtZW50KSB7XG4gICAgY29uc3QgaW50ZXJjZXB0aW9uTWFya2VyID0gX2ludGVyY2VwdGlvbnJvdXRlcy5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtYXJrZXIpPT5zZWdtZW50LnN0YXJ0c1dpdGgobWFya2VyKSk7XG4gICAgLy8gaWYgYW4gaW50ZXJjZXB0aW9uIG1hcmtlciBpcyBwYXJ0IG9mIHRoZSBwYXRoIHNlZ21lbnQsIHdlIG5lZWQgdG8ganVtcCBhaGVhZFxuICAgIC8vIHRvIHRoZSByZWxldmFudCBwb3J0aW9uIGZvciBwYXJhbSBwYXJzaW5nXG4gICAgaWYgKGludGVyY2VwdGlvbk1hcmtlcikge1xuICAgICAgICBzZWdtZW50ID0gc2VnbWVudC5zbGljZShpbnRlcmNlcHRpb25NYXJrZXIubGVuZ3RoKTtcbiAgICB9XG4gICAgaWYgKHNlZ21lbnQuc3RhcnRzV2l0aChcIltbLi4uXCIpICYmIHNlZ21lbnQuZW5kc1dpdGgoXCJdXVwiKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLy8gVE9ETy1BUFA6IE9wdGlvbmFsIGNhdGNoYWxsIGRvZXMgbm90IGN1cnJlbnRseSB3b3JrIHdpdGggcGFyYWxsZWwgcm91dGVzLFxuICAgICAgICAgICAgLy8gc28gZm9yIG5vdyBhcmVuJ3QgaGFuZGxpbmcgYSBwb3RlbnRpYWwgaW50ZXJjZXB0aW9uIG1hcmtlci5cbiAgICAgICAgICAgIHR5cGU6IFwib3B0aW9uYWwtY2F0Y2hhbGxcIixcbiAgICAgICAgICAgIHBhcmFtOiBzZWdtZW50LnNsaWNlKDUsIC0yKVxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoc2VnbWVudC5zdGFydHNXaXRoKFwiWy4uLlwiKSAmJiBzZWdtZW50LmVuZHNXaXRoKFwiXVwiKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogaW50ZXJjZXB0aW9uTWFya2VyID8gXCJjYXRjaGFsbC1pbnRlcmNlcHRlZFwiIDogXCJjYXRjaGFsbFwiLFxuICAgICAgICAgICAgcGFyYW06IHNlZ21lbnQuc2xpY2UoNCwgLTEpXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChzZWdtZW50LnN0YXJ0c1dpdGgoXCJbXCIpICYmIHNlZ21lbnQuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBpbnRlcmNlcHRpb25NYXJrZXIgPyBcImR5bmFtaWMtaW50ZXJjZXB0ZWRcIiA6IFwiZHluYW1pY1wiLFxuICAgICAgICAgICAgcGFyYW06IHNlZ21lbnQuc2xpY2UoMSwgLTEpXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtc2VnbWVudC1wYXJhbS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"extractModulesFromTurbopackMessage\", ({\n enumerable: true,\n get: function() {\n return extractModulesFromTurbopackMessage;\n }\n}));\nfunction extractModulesFromTurbopackMessage(data) {\n const updatedModules = new Set();\n const updates = Array.isArray(data) ? data : [\n data\n ];\n for (const update of updates){\n // TODO this won't capture changes to CSS since they don't result in a \"merged\" update\n if (update.type !== \"partial\" || update.instruction.type !== \"ChunkListUpdate\" || update.instruction.merged === undefined) {\n continue;\n }\n for (const mergedUpdate of update.instruction.merged){\n for (const name of Object.keys(mergedUpdate.entries)){\n const res = /(.*)\\s+\\[.*/.exec(name);\n if (res === null) {\n console.error(\"[Turbopack HMR] Expected module to match pattern: \" + name);\n continue;\n }\n updatedModules.add(res[1]);\n }\n }\n }\n return [\n ...updatedModules\n ];\n}\n\n//# sourceMappingURL=extract-modules-from-turbopack-message.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvZXh0cmFjdC1tb2R1bGVzLWZyb20tdHVyYm9wYWNrLW1lc3NhZ2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixzRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Rldi9leHRyYWN0LW1vZHVsZXMtZnJvbS10dXJib3BhY2stbWVzc2FnZS5qcz82NjVkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZXh0cmFjdE1vZHVsZXNGcm9tVHVyYm9wYWNrTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdE1vZHVsZXNGcm9tVHVyYm9wYWNrTWVzc2FnZTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2UoZGF0YSkge1xuICAgIGNvbnN0IHVwZGF0ZWRNb2R1bGVzID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IHVwZGF0ZXMgPSBBcnJheS5pc0FycmF5KGRhdGEpID8gZGF0YSA6IFtcbiAgICAgICAgZGF0YVxuICAgIF07XG4gICAgZm9yIChjb25zdCB1cGRhdGUgb2YgdXBkYXRlcyl7XG4gICAgICAgIC8vIFRPRE8gdGhpcyB3b24ndCBjYXB0dXJlIGNoYW5nZXMgdG8gQ1NTIHNpbmNlIHRoZXkgZG9uJ3QgcmVzdWx0IGluIGEgXCJtZXJnZWRcIiB1cGRhdGVcbiAgICAgICAgaWYgKHVwZGF0ZS50eXBlICE9PSBcInBhcnRpYWxcIiB8fCB1cGRhdGUuaW5zdHJ1Y3Rpb24udHlwZSAhPT0gXCJDaHVua0xpc3RVcGRhdGVcIiB8fCB1cGRhdGUuaW5zdHJ1Y3Rpb24ubWVyZ2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgbWVyZ2VkVXBkYXRlIG9mIHVwZGF0ZS5pbnN0cnVjdGlvbi5tZXJnZWQpe1xuICAgICAgICAgICAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKG1lcmdlZFVwZGF0ZS5lbnRyaWVzKSl7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gLyguKilcXHMrXFxbLiovLmV4ZWMobmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlcyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW1R1cmJvcGFjayBITVJdIEV4cGVjdGVkIG1vZHVsZSB0byBtYXRjaCBwYXR0ZXJuOiBcIiArIG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdXBkYXRlZE1vZHVsZXMuYWRkKHJlc1sxXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgICAgLi4udXBkYXRlZE1vZHVsZXNcbiAgICBdO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1leHRyYWN0LW1vZHVsZXMtZnJvbS10dXJib3BhY2stbWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/server/dev/hot-reloader-types.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HMR_ACTIONS_SENT_TO_BROWSER\", ({\n enumerable: true,\n get: function() {\n return HMR_ACTIONS_SENT_TO_BROWSER;\n }\n}));\nvar HMR_ACTIONS_SENT_TO_BROWSER;\n(function(HMR_ACTIONS_SENT_TO_BROWSER) {\n HMR_ACTIONS_SENT_TO_BROWSER[\"ADDED_PAGE\"] = \"addedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"REMOVED_PAGE\"] = \"removedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"RELOAD_PAGE\"] = \"reloadPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_COMPONENT_CHANGES\"] = \"serverComponentChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"MIDDLEWARE_CHANGES\"] = \"middlewareChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"CLIENT_CHANGES\"] = \"clientChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ONLY_CHANGES\"] = \"serverOnlyChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SYNC\"] = \"sync\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILT\"] = \"built\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILDING\"] = \"building\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"DEV_PAGES_MANIFEST_UPDATE\"] = \"devPagesManifestUpdate\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_MESSAGE\"] = \"turbopack-message\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ERROR\"] = \"serverError\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_CONNECTED\"] = \"turbopack-connected\";\n})(HMR_ACTIONS_SENT_TO_BROWSER || (HMR_ACTIONS_SENT_TO_BROWSER = {}));\n\n//# sourceMappingURL=hot-reloader-types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsK0RBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLGtFQUFrRTs7QUFFbkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzLmpzPzNiMTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUjtcbiAgICB9XG59KTtcbnZhciBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVI7XG4oZnVuY3Rpb24oSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSKSB7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiQURERURfUEFHRVwiXSA9IFwiYWRkZWRQYWdlXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiUkVNT1ZFRF9QQUdFXCJdID0gXCJyZW1vdmVkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlJFTE9BRF9QQUdFXCJdID0gXCJyZWxvYWRQYWdlXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTXCJdID0gXCJzZXJ2ZXJDb21wb25lbnRDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiTUlERExFV0FSRV9DSEFOR0VTXCJdID0gXCJtaWRkbGV3YXJlQ2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkNMSUVOVF9DSEFOR0VTXCJdID0gXCJjbGllbnRDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU0VSVkVSX09OTFlfQ0hBTkdFU1wiXSA9IFwic2VydmVyT25seUNoYW5nZXNcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJTWU5DXCJdID0gXCJzeW5jXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiQlVJTFRcIl0gPSBcImJ1aWx0XCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiQlVJTERJTkdcIl0gPSBcImJ1aWxkaW5nXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiREVWX1BBR0VTX01BTklGRVNUX1VQREFURVwiXSA9IFwiZGV2UGFnZXNNYW5pZmVzdFVwZGF0ZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlRVUkJPUEFDS19NRVNTQUdFXCJdID0gXCJ0dXJib3BhY2stbWVzc2FnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9FUlJPUlwiXSA9IFwic2VydmVyRXJyb3JcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJUVVJCT1BBQ0tfQ09OTkVDVEVEXCJdID0gXCJ0dXJib3BhY2stY29ubmVjdGVkXCI7XG59KShITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIgfHwgKEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiA9IHt9KSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhvdC1yZWxvYWRlci10eXBlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWtCLG1CQUFPLENBQUMsdUhBQTRDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsS0FBSztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUI7QUFDeEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsS0FBSztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlcy5qcz9hMGQ1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IG51bGwsXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IG51bGwsXG4gICAgaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM7XG4gICAgfSxcbiAgICBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjtcbiAgICB9LFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX2FwcHBhdGhzID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRoc1wiKTtcbmNvbnN0IElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTID0gW1xuICAgIFwiKC4uKSguLilcIixcbiAgICBcIiguKVwiLFxuICAgIFwiKC4uKVwiLFxuICAgIFwiKC4uLilcIlxuXTtcbmZ1bmN0aW9uIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoKHBhdGgpIHtcbiAgICAvLyBUT0RPLUFQUDogYWRkIG1vcmUgc2VyaW91cyB2YWxpZGF0aW9uXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLmZpbmQoKHNlZ21lbnQpPT5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKSkgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uKHBhdGgpIHtcbiAgICBsZXQgaW50ZXJjZXB0aW5nUm91dGUsIG1hcmtlciwgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2YgcGF0aC5zcGxpdChcIi9cIikpe1xuICAgICAgICBtYXJrZXIgPSBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKTtcbiAgICAgICAgaWYgKG1hcmtlcikge1xuICAgICAgICAgICAgW2ludGVyY2VwdGluZ1JvdXRlLCBpbnRlcmNlcHRlZFJvdXRlXSA9IHBhdGguc3BsaXQobWFya2VyLCAyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghaW50ZXJjZXB0aW5nUm91dGUgfHwgIW1hcmtlciB8fCAhaW50ZXJjZXB0ZWRSb3V0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBNdXN0IGJlIGluIHRoZSBmb3JtYXQgLzxpbnRlcmNlcHRpbmcgcm91dGU+LyguLnwuLi58Li4pKC4uKS88aW50ZXJjZXB0ZWQgcm91dGU+YCk7XG4gICAgfVxuICAgIGludGVyY2VwdGluZ1JvdXRlID0gKDAsIF9hcHBwYXRocy5ub3JtYWxpemVBcHBQYXRoKShpbnRlcmNlcHRpbmdSb3V0ZSkgLy8gbm9ybWFsaXplIHRoZSBwYXRoLCBlLmcuIC8oYmxvZykvZmVlZCAtPiAvZmVlZFxuICAgIDtcbiAgICBzd2l0Y2gobWFya2VyKXtcbiAgICAgICAgY2FzZSBcIiguKVwiOlxuICAgICAgICAgICAgLy8gKC4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCB3aXRoIHNpYmxpbmcgcm91dGVzLCBzbyB3ZSBqdXN0IG5lZWQgdG8gYXBwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZSB0byB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGAvJHtpbnRlcmNlcHRlZFJvdXRlfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZSArIFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggYXQgb25lIGxldmVsIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCBzZWdtZW50IG9mIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGlmIChpbnRlcmNlcHRpbmdSb3V0ZSA9PT0gXCIvXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsLCB1c2UgKC4pIGluc3RlYWQuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5jb25jYXQoaW50ZXJjZXB0ZWRSb3V0ZSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4uKSB3aWxsIG1hdGNoIHRoZSByb3V0ZSBzZWdtZW50IGluIHRoZSByb290IGRpcmVjdG9yeSwgc28gd2UgbmVlZCB0byB1c2UgdGhlIHJvb3QgZGlyZWN0b3J5IHRvIHByZXBlbmQgdGhlIGludGVyY2VwdGVkIHJvdXRlXG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gXCIvXCIgKyBpbnRlcmNlcHRlZFJvdXRlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4pKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IHR3byBsZXZlbHMgdXAsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBsYXN0IHR3byBzZWdtZW50cyBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBjb25zdCBzcGxpdEludGVyY2VwdGluZ1JvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpO1xuICAgICAgICAgICAgaWYgKHNwbGl0SW50ZXJjZXB0aW5nUm91dGUubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCBvciBvbmUgbGV2ZWwgdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZS5zbGljZSgwLCAtMikuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IHVuZXhwZWN0ZWQgbWFya2VyXCIpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBpbnRlcmNlcHRpbmdSb3V0ZSxcbiAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVyY2VwdGlvbi1yb3V0ZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149": -/*!****************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js ***! - \****************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nif (false) {} else {\n if (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/app-page.runtime.dev.js */ \"next/dist/compiled/next-server/app-page.runtime.dev.js\");\n } else {}\n }\n}\n\n//# sourceMappingURL=module.compiled.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWQuanM/ZTE0OSIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLElBQUksS0FBbUMsRUFBRSxFQUV4QyxDQUFDO0FBQ0YsUUFBUSxLQUFxQyxFQUFFLEVBUTFDLENBQUM7QUFDTixZQUFZLElBQXNDO0FBQ2xELFlBQVksNEpBQWtGO0FBQzlGLFVBQVUsS0FBSyxFQUlOO0FBQ1Q7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZC5qcz9lY2FmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5qc1wiKTtcbn0gZWxzZSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9FWFBFUklNRU5UQUxfUkVBQ1QpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS1leHBlcmltZW50YWwucnVudGltZS5kZXYuanNcIik7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvYXBwLXBhZ2UtdHVyYm8tZXhwZXJpbWVudGFsLnJ1bnRpbWUucHJvZC5qc1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS1leHBlcmltZW50YWwucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS5ydW50aW1lLmRldi5qc1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS10dXJiby5ydW50aW1lLnByb2QuanNcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvYXBwLXBhZ2UucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1tb2R1bGUuY29tcGlsZWQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js": -/*!******************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js ***! - \******************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored.contexts.AmpContext;\n\n//# sourceMappingURL=amp-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9hbXAtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDZMQUFpRjs7QUFFakYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9hbXAtY29udGV4dC5qcz8xNzBkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uQW1wQ29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YW1wLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js ***! - \*************************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored.contexts.AppRouterContext;\n\n//# sourceMappingURL=app-router-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9hcHAtcm91dGVyLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixtTUFBdUY7O0FBRXZGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvY29udGV4dHMvYXBwLXJvdXRlci1jb250ZXh0LmpzP2ViZDYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJjb250ZXh0c1wiXS5BcHBSb3V0ZXJDb250ZXh0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGVyLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js ***! - \***************************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored.contexts.HeadManagerContext;\n\n//# sourceMappingURL=head-manager-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9oZWFkLW1hbmFnZXItY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLHFNQUF5Rjs7QUFFekYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9oZWFkLW1hbmFnZXItY29udGV4dC5qcz9iOThiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uSGVhZE1hbmFnZXJDb250ZXh0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkLW1hbmFnZXItY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js ***! - \***************************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored.contexts.HooksClientContext;\n\n//# sourceMappingURL=hooks-client-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9ob29rcy1jbGllbnQtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLHFNQUF5Rjs7QUFFekYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9ob29rcy1jbGllbnQtY29udGV4dC5qcz9hOTI4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uSG9va3NDbGllbnRDb250ZXh0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob29rcy1jbGllbnQtY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js ***! - \***************************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored.contexts.ImageConfigContext;\n\n//# sourceMappingURL=image-config-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9pbWFnZS1jb25maWctY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLHFNQUF5Rjs7QUFFekYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9pbWFnZS1jb25maWctY29udGV4dC5qcz82OTE0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uSW1hZ2VDb25maWdDb250ZXh0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1jb25maWctY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js ***! - \*********************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored.contexts.RouterContext;\n\n//# sourceMappingURL=router-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9yb3V0ZXItY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLGdNQUFvRjs7QUFFcEYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9yb3V0ZXItY29udGV4dC5qcz80NmZlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uUm91dGVyQ29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGVyLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js ***! - \***************************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored.contexts.ServerInsertedHtml;\n\n//# sourceMappingURL=server-inserted-html.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9zZXJ2ZXItaW5zZXJ0ZWQtaHRtbC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLHFNQUF5Rjs7QUFFekYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9zZXJ2ZXItaW5zZXJ0ZWQtaHRtbC5qcz80MGVjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uU2VydmVySW5zZXJ0ZWRIdG1sO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXJ2ZXItaW5zZXJ0ZWQtaHRtbC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js ***! - \***********************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored[\"react-ssr\"].ReactDOM;\n\n//# sourceMappingURL=react-dom.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtZG9tLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsK0xBQWdGOztBQUVoRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3Nzci9yZWFjdC1kb20uanM/MzRjNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXNzclwiXS5SZWFjdERPTTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3QtZG9tLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js ***! - \***********************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored[\"react-ssr\"].ReactJsxDevRuntime;\n\n//# sourceMappingURL=react-jsx-dev-runtime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IseU1BQTBGOztBQUUxRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3Nzci9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuanM/ODkzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXNzclwiXS5SZWFjdEpzeERldlJ1bnRpbWU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LWpzeC1kZXYtcnVudGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js ***! - \*******************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored[\"react-ssr\"].ReactJsxRuntime;\n\n//# sourceMappingURL=react-jsx-runtime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixzTUFBdUY7O0FBRXZGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvc3NyL3JlYWN0LWpzeC1ydW50aW1lLmpzPzljYjMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1zc3JcIl0uUmVhY3RKc3hSdW50aW1lO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC1qc3gtcnVudGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js": -/*!**************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js ***! - \**************************************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored[\"react-ssr\"].ReactServerDOMWebpackClientEdge;\n\n//# sourceMappingURL=react-server-dom-webpack-client-edge.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC1lZGdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2Isc05BQXVHOztBQUV2RyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3Nzci9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stY2xpZW50LWVkZ2UuanM/Zjk3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXNzclwiXS5SZWFjdFNlcnZlckRPTVdlYnBhY2tDbGllbnRFZGdlO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stY2xpZW50LWVkZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js ***! - \*******************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?e149\").vendored[\"react-ssr\"].React;\n\n//# sourceMappingURL=react.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw0TEFBNkU7O0FBRTdFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvc3NyL3JlYWN0LmpzPzBkYzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1zc3JcIl0uUmVhY3Q7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ReflectAdapter\", ({\n enumerable: true,\n get: function() {\n return ReflectAdapter;\n }\n}));\nclass ReflectAdapter {\n static get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return value.bind(target);\n }\n return value;\n }\n static set(target, prop, value, receiver) {\n return Reflect.set(target, prop, value, receiver);\n }\n static has(target, prop) {\n return Reflect.has(target, prop);\n }\n static deleteProperty(target, prop) {\n return Reflect.deleteProperty(target, prop);\n }\n}\n\n//# sourceMappingURL=reflect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vYWRhcHRlcnMvcmVmbGVjdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLGtEQUFpRDtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZWZsZWN0LmpzPzMxNzQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSZWZsZWN0QWRhcHRlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdEFkYXB0ZXI7XG4gICAgfVxufSk7XG5jbGFzcyBSZWZsZWN0QWRhcHRlciB7XG4gICAgc3RhdGljIGdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmJpbmQodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHN0YXRpYyBzZXQodGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3Quc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKTtcbiAgICB9XG4gICAgc3RhdGljIGhhcyh0YXJnZXQsIHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuaGFzKHRhcmdldCwgcHJvcCk7XG4gICAgfVxuICAgIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wKTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZmxlY3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/amp-mode.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLW1vZGUuanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0FBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLFlBQVlDLEtBQUE7SUFBQSxNQUMxQkMsV0FBVyxLQUFLLEVBQ2hCQyxTQUFTLEtBQUssRUFDZEMsV0FBVyxLQUFLLEVBQ2pCLEdBSjJCSCxVQUFBLFNBSXhCLENBQUMsSUFKdUJBO0lBSzFCLE9BQU9DLFlBQWFDLFVBQVVDO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2FtcC1tb2RlLnRzP2NlMDQiXSwibmFtZXMiOlsiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/amp-mode.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/error-source.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/error-source.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n decorateServerError: function() {\n return decorateServerError;\n },\n getErrorSource: function() {\n return getErrorSource;\n }\n});\nconst symbolError = Symbol.for(\"NextjsError\");\nfunction getErrorSource(error) {\n return error[symbolError] || null;\n}\nfunction decorateServerError(error, type) {\n Object.defineProperty(error, symbolError, {\n writable: false,\n enumerable: false,\n configurable: false,\n value: type\n });\n} //# sourceMappingURL=error-source.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXJyb3Itc291cmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVFnQkEscUJBQW1CO2VBQW5CQTs7SUFOQUMsZ0JBQWM7ZUFBZEE7OztBQUZoQixNQUFNQyxjQUFjQyxPQUFPQyxHQUFHLENBQUM7QUFFeEIsU0FBU0gsZUFBZUksS0FBWTtJQUN6QyxPQUFPQSxLQUFjLENBQUNILFlBQVksSUFBSTtBQUN4QztBQUlPLFNBQVNGLG9CQUFvQkssS0FBWSxFQUFFQyxJQUFxQjtJQUNyRUMsT0FBT0MsY0FBYyxDQUFDSCxPQUFPSCxhQUFhO1FBQ3hDTyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsY0FBYztRQUNkQyxPQUFPTjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZXJyb3Itc291cmNlLnRzPzQ0NjEiXSwibmFtZXMiOlsiZGVjb3JhdGVTZXJ2ZXJFcnJvciIsImdldEVycm9yU291cmNlIiwic3ltYm9sRXJyb3IiLCJTeW1ib2wiLCJmb3IiLCJlcnJvciIsInR5cGUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIndyaXRhYmxlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsInZhbHVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/error-source.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcyIsIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7Ozs7O3NEQUkxREE7OztlQUFBQTs7O0FBSGhCLE1BQU1DLGNBQWM7QUFDcEIsTUFBTUMsa0JBQWtCO0FBRWpCLFNBQVNGLG1CQUFtQkcsR0FBVztJQUM1QywrR0FBK0c7SUFDL0csSUFBSUYsWUFBWUcsSUFBSSxDQUFDRCxNQUFNO1FBQ3pCLE9BQU9BLElBQUlFLE9BQU8sQ0FBQ0gsaUJBQWlCO0lBQ3RDO0lBQ0EsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLnRzP2RjYjEiXSwibmFtZXMiOlsiZXNjYXBlU3RyaW5nUmVnZXhwIiwicmVIYXNSZWdFeHAiLCJyZVJlcGxhY2VSZWdFeHAiLCJzdHIiLCJ0ZXN0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/escape-regexp.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/get-img-props.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/get-img-props.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(ssr)/./node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(ssr)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n \"lazy\",\n \"eager\",\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === \"object\" && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: \"w\"\n };\n }\n return {\n widths: allSizes,\n kind: \"w\"\n };\n }\n if (typeof width !== \"number\") {\n return {\n widths: deviceSizes,\n kind: \"w\"\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: \"x\"\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === \"w\" ? w : i + 1) + kind).join(\", \"),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, overrideSrc, onLoad, onLoadingComplete, placeholder = \"empty\", blurDataURL, fetchPriority, layout, objectFit, objectPosition, lazyBoundary, lazyRoot, ...rest } = param;\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state;\n let config;\n let c = imgConf || _imageconfig.imageConfigDefault;\n if (\"allSizes\" in c) {\n config = c;\n } else {\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n config = {\n ...c,\n allSizes,\n deviceSizes\n };\n }\n if (typeof defaultLoader === \"undefined\") {\n throw new Error(\"images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config\");\n }\n let loader = rest.loader || defaultLoader;\n // Remove property so it's not spread on <img> element\n delete rest.loader;\n delete rest.srcSet;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = \"__next_img_default\" in loader;\n if (isDefaultLoader) {\n if (config.loader === \"custom\") {\n throw new Error('Image with src \"' + src + '\" is missing \"loader\" prop.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\");\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n loader = (obj)=>{\n const { config: _, ...opts } = obj;\n return customImageLoader(opts);\n };\n }\n if (layout) {\n if (layout === \"fill\") {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: \"100%\",\n height: \"auto\"\n },\n responsive: {\n width: \"100%\",\n height: \"auto\"\n }\n };\n const layoutToSizes = {\n responsive: \"100vw\",\n fill: \"100vw\"\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = {\n ...style,\n ...layoutStyle\n };\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = \"\";\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received \" + JSON.stringify(staticImageData));\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received \" + JSON.stringify(staticImageData));\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === \"string\" ? src : staticSrc;\n let isLazy = !priority && (loading === \"lazy\" || typeof loading === \"undefined\");\n if (!src || src.startsWith(\"data:\") || src.startsWith(\"blob:\")) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && src.endsWith(\".svg\") && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n if (priority) {\n fetchPriority = \"high\";\n }\n const qualityInt = getInt(quality);\n if (true) {\n if (config.output === \"export\" && isDefaultLoader && !unoptimized) {\n throw new Error(\"Image Optimization using the default loader is not compatible with `{ output: 'export' }`.\\n Possible solutions:\\n - Remove `{ output: 'export' }` and run \\\"next start\\\" to run server mode including the Image Optimization API.\\n - Configure `{ images: { unoptimized: true } }` in `next.config.js` to disable the Image Optimization API.\\n Read more: https://nextjs.org/docs/messages/export-image-api\");\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw new Error('Image with src \"' + src + '\" has both \"width\" and \"fill\" properties. Only one should be used.');\n }\n if (height) {\n throw new Error('Image with src \"' + src + '\" has both \"height\" and \"fill\" properties. Only one should be used.');\n }\n if ((style == null ? void 0 : style.position) && style.position !== \"absolute\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.width) && style.width !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.height) && style.height !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.');\n }\n } else {\n if (typeof widthInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"width\" property.');\n } else if (isNaN(widthInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"width\" property. Expected a numeric value in pixels but received \"' + width + '\".');\n }\n if (typeof heightInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"height\" property.');\n } else if (isNaN(heightInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"height\" property. Expected a numeric value in pixels but received \"' + height + '\".');\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"loading\" property. Provided \"' + loading + '\" should be one of ' + VALID_LOADING_VALUES.map(String).join(\",\") + \".\");\n }\n if (priority && loading === \"lazy\") {\n throw new Error('Image with src \"' + src + '\" has both \"priority\" and \"loading=\\'lazy\\'\" properties. Only one should be used.');\n }\n if (placeholder !== \"empty\" && placeholder !== \"blur\" && !placeholder.startsWith(\"data:image/\")) {\n throw new Error('Image with src \"' + src + '\" has invalid \"placeholder\" property \"' + placeholder + '\".');\n }\n if (placeholder !== \"empty\") {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.');\n }\n }\n if (placeholder === \"blur\" && !blurDataURL) {\n const VALID_BLUR_EXT = [\n \"jpeg\",\n \"png\",\n \"webp\",\n \"avif\"\n ] // should match next-image-loader\n ;\n throw new Error('Image with src \"' + src + '\" has \"placeholder=\\'blur\\'\" property but is missing the \"blurDataURL\" property.\\n Possible solutions:\\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\\n - Change the \"src\" property to a static import with one of the supported file types: ' + VALID_BLUR_EXT.join(\",\") + ' (animated images not supported)\\n - Remove the \"placeholder\" property, effectively no blur effect\\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url');\n }\n if (\"ref\" in rest) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.');\n }\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width\");\n }\n }\n if (onLoadingComplete) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.');\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has legacy prop \"' + legacyKey + '\". Did you forget to run the codemod?' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13\");\n }\n }\n if (false) {}\n }\n const imgStyle = Object.assign(fill ? {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: \"transparent\"\n }, style);\n const backgroundImage = !blurComplete && placeholder !== \"empty\" ? placeholder === \"blur\" ? 'url(\"data:image/svg+xml;charset=utf-8,' + (0, _imageblursvg.getImageBlurSvg)({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || \"\",\n objectFit: imgStyle.objectFit\n }) + '\")' : 'url(\"' + placeholder + '\")' // assume `data:image/`\n : null;\n let placeholderStyle = backgroundImage ? {\n backgroundSize: imgStyle.objectFit || \"cover\",\n backgroundPosition: imgStyle.objectPosition || \"50% 50%\",\n backgroundRepeat: \"no-repeat\",\n backgroundImage\n } : {};\n if (true) {\n if (placeholderStyle.backgroundImage && placeholder === \"blur\" && (blurDataURL == null ? void 0 : blurDataURL.startsWith(\"/\"))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = 'url(\"' + blurDataURL + '\")';\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n if (true) {\n if (false) {}\n }\n const props = {\n ...rest,\n loading: isLazy ? \"lazy\" : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding: \"async\",\n className,\n style: {\n ...imgStyle,\n ...placeholderStyle\n },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src\n };\n const meta = {\n unoptimized,\n priority,\n placeholder,\n fill\n };\n return {\n props,\n meta\n };\n} //# sourceMappingURL=get-img-props.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZ2V0LWltZy1wcm9wcy5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQTJPZ0JBOzs7ZUFBQUE7OztzQ0EzT1M7MENBQ087eUNBQ0c7QUE2RW5DLE1BQU1DLHVCQUF1QjtJQUFDO0lBQVE7SUFBU0M7Q0FBVTtBQWtCekQsU0FBU0MsZ0JBQ1BDLEdBQW9DO0lBRXBDLE9BQU9BLElBQXVCQyxPQUFPLEtBQUtIO0FBQzVDO0FBRUEsU0FBU0ksa0JBQ1BGLEdBQW9DO0lBRXBDLE9BQU9BLElBQXlCQSxHQUFHLEtBQUtGO0FBQzFDO0FBRUEsU0FBU0ssZUFBZUgsR0FBMEI7SUFDaEQsT0FDRSxPQUFPQSxRQUFRLFlBQ2RELENBQUFBLGdCQUFnQkMsUUFDZkUsa0JBQWtCRixJQUFBQTtBQUV4QjtBQUVBLE1BQU1JLFVBQVUsSUFBSUM7QUFJcEIsSUFBSUM7QUFFSixTQUFTQyxPQUFPQyxDQUFVO0lBQ3hCLElBQUksT0FBT0EsTUFBTSxhQUFhO1FBQzVCLE9BQU9BO0lBQ1Q7SUFDQSxJQUFJLE9BQU9BLE1BQU0sVUFBVTtRQUN6QixPQUFPQyxPQUFPQyxRQUFRLENBQUNGLEtBQUtBLElBQUlHO0lBQ2xDO0lBQ0EsSUFBSSxPQUFPSCxNQUFNLFlBQVksV0FBV0ksSUFBSSxDQUFDSixJQUFJO1FBQy9DLE9BQU9LLFNBQVNMLEdBQUc7SUFDckI7SUFDQSxPQUFPRztBQUNUO0FBRUEsU0FBU0csVUFDUEMsS0FBc0MsRUFDdENDLEtBQXlCLEVBQ3pCQyxLQUF5QjtJQUZ6QixNQUFFQyxXQUFXLEVBQUVDLFFBQVEsRUFBZSxHQUF0Q0o7SUFJQSxJQUFJRSxPQUFPO1FBQ1QseURBQXlEO1FBQ3pELE1BQU1HLGtCQUFrQjtRQUN4QixNQUFNQyxlQUFlLEVBQUU7UUFDdkIsSUFBSyxJQUFJQyxPQUFRQSxRQUFRRixnQkFBZ0JHLElBQUksQ0FBQ04sUUFBU0ssTUFBTztZQUM1REQsYUFBYUcsSUFBSSxDQUFDWCxTQUFT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eUMsaUJBQWlCRixlQUFlLElBQ2hDdEYsZ0JBQWdCLFVBQ2hCQyxDQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxZQUFhMEMsVUFBVSxDQUFDLE9BQ3hCO1lBQ0EsOEVBQThFO1lBQzlFLGdGQUFnRjtZQUNoRixxRkFBcUY7WUFDckY2QyxpQkFBaUJGLGVBQWUsR0FBRyxVQUFRckYsY0FBWTtRQUN6RDtJQUNGO0lBRUEsTUFBTTJGLGdCQUFnQi9HLGlCQUFpQjtRQUNyQ0M7UUFDQXZDO1FBQ0F3QztRQUNBeEIsT0FBTzBFO1FBQ1BqRCxTQUFTOEQ7UUFDVHRGO1FBQ0F5QjtJQUNGO0lBRUEsSUFBSThELElBQXlCLEVBQWM7UUFDekMsSUFBSSxLQUFrQixFQUFhLEVBUW5DO0lBQ0Y7SUFFQSxNQUFNbUQsUUFBa0I7UUFDdEIsR0FBRzFGLElBQUk7UUFDUGhCLFNBQVNrRCxTQUFTLFNBQVNsRDtRQUMzQlU7UUFDQTNDLE9BQU8wRTtRQUNQdkMsUUFBUXdDO1FBQ1JpRSxVQUFVO1FBQ1YxRztRQUNBRyxPQUFPO1lBQUUsR0FBR21GLFFBQVE7WUFBRSxHQUFHUyxnQkFBZ0I7UUFBQztRQUMxQ2hJLE9BQU9vSSxjQUFjcEksS0FBSztRQUMxQjBCLFFBQVEwRyxjQUFjMUcsTUFBTTtRQUM1QjNDLEtBQUtzRCxlQUFlK0YsY0FBY3JKLEdBQUc7SUFDdkM7SUFDQSxNQUFNNkosT0FBTztRQUFFckg7UUFBYVE7UUFBVVM7UUFBYUw7SUFBSztJQUN4RCxPQUFPO1FBQUV1RztRQUFPRTtJQUFLO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2dldC1pbWctcHJvcHMudHM/ZWM5MSJdLCJuYW1lcyI6WyJnZXRJbWdQcm9wcyIsIlZBTElEX0xPQURJTkdfVkFMVUVTIiwidW5kZWZpbmVkIiwiaXNTdGF0aWNSZXF1aXJlIiwic3JjIiwiZGVmYXVsdCIsImlzU3RhdGljSW1hZ2VEYXRhIiwiaXNTdGF0aWNJbXBvcnQiLCJhbGxJbWdzIiwiTWFwIiwicGVyZk9ic2VydmVyIiwiZ2V0SW50IiwieCIsIk51bWJlciIsImlzRmluaXRlIiwiTmFOIiwidGVzdCIsInBhcnNlSW50IiwiZ2V0V2lkdGhzIiwicGFyYW0iLCJ3aWR0aCIsInNpemVzIiwiZGV2aWNlU2l6ZXMiLCJhbGxTaXplcyIsInZpZXdwb3J0V2lkdGhSZSIsInBlcmNlbnRTaXplcyIsIm1hdGNoIiwiZXhlYyIsInB1c2giLCJsZW5ndGgiLCJzbWFsbGVzdFJhdGlvIiwiTWF0aCIsIm1pbiIsIndpZHRocyIsImZpbHRlciIsInMiLCJraW5kIiwiU2V0IiwibWFwIiwidyIsImZpbmQiLCJwIiwiZ2VuZXJhdGVJbWdBdHRycyIsImNvbmZpZyIsInVub3B0aW1pemVkIiwicXVhbGl0eSIsImxvYWRlciIsInNyY1NldCIsImxhc3QiLCJpIiwiam9pbiIsIl9zdGF0ZSIsInByaW9yaXR5IiwibG9hZGluZyIsImNsYXNzTmFtZSIsImhlaWdodCIsImZpbGwiLCJzdHlsZSIsIm92ZXJyaWRlU3JjIiwib25Mb2FkIiwib25Mb2FkaW5nQ29tcGxldGUiLCJwbGFjZWhvbGRlciIsImJsdXJEYXRhVVJMIiwiZmV0Y2hQcmlvcml0eSIsImxheW91dCIsIm9iamVjdEZpdCIsIm9iamVjdFBvc2l0aW9uIiwibGF6eUJvdW5kYXJ5IiwibGF6eVJvb3QiLCJyZXN0IiwiaW1nQ29uZiIsInNob3dBbHRUZXh0IiwiYmx1ckNvbXBsZXRlIiwiZGVmYXVsdExvYWRlciIsImMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJpbWFnZVNpemVzIiwic29ydCIsImEiLCJiIiwiRXJyb3IiLCJpc0RlZmF1bHRMb2FkZXIiLCJjdXN0b21JbWFnZUxvYWRlciIsIm9iaiIsIl8iLCJvcHRzIiwibGF5b3V0VG9TdHlsZSIsImludHJpbnNpYyIsIm1heFdpZHRoIiwicmVzcG9uc2l2ZSIsImxheW91dFRvU2l6ZXMiLCJsYXlvdXRTdHlsZSIsImxheW91dFNpemVzIiwic3RhdGljU3JjIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0Iiwic3RhdGljSW1hZ2VEYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsInJhdGlvIiwicm91bmQiLCJpc0xhenkiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJkYW5nZXJvdXNseUFsbG93U1ZHIiwicXVhbGl0eUludCIsInByb2Nlc3MiLCJvdXRwdXQiLCJwb3NpdGlvbiIsImlzTmFOIiwiaW5jbHVkZXMiLCJTdHJpbmciLCJ3YXJuT25jZSIsIlZBTElEX0JMVVJfRVhUIiwidXJsU3RyIiwidXJsIiwiVVJMIiwiZXJyIiwicGF0aG5hbWUiLCJzZWFyY2giLCJsZWdhY3lLZXkiLCJsZWdhY3lWYWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ3aW5kb3ciLCJQZXJmb3JtYW5jZU9ic2VydmVyIiwiZW50cnlMaXN0IiwiZW50cnkiLCJnZXRFbnRyaWVzIiwiaW1nU3JjIiwiZWxlbWVudCIsImxjcEltYWdlIiwiZ2V0Iiwib2JzZXJ2ZSIsInR5cGUiLCJidWZmZXJlZCIsImNvbnNvbGUiLCJlcnJvciIsImltZ1N0eWxlIiwiYXNzaWduIiwibGVmdCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwiY29sb3IiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJnZXRJbWFnZUJsdXJTdmciLCJwbGFjZWhvbGRlclN0eWxlIiwiYmFja2dyb3VuZFNpemUiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kUmVwZWF0IiwiaW1nQXR0cmlidXRlcyIsImZ1bGxVcmwiLCJlIiwibG9jYXRpb24iLCJocmVmIiwic2V0IiwicHJvcHMiLCJkZWNvZGluZyIsIm1ldGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/get-img-props.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/hash.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/hash.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("// http://www.cse.yorku.ca/~oz/hash.html\n// More specifically, 32-bit hash via djbxor\n// (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765)\n// This is due to number type differences between rust for turbopack to js number types,\n// where rust does not have easy way to repreesnt js's 53-bit float number type for the matching\n// overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation\n// as can gaurantee determinstic output from 32bit hash.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n djb2Hash: function() {\n return djb2Hash;\n },\n hexHash: function() {\n return hexHash;\n }\n});\nfunction djb2Hash(str) {\n let hash = 5381;\n for(let i = 0; i < str.length; i++){\n const char = str.charCodeAt(i);\n hash = (hash << 5) + hash + char & 0xffffffff;\n }\n return hash >>> 0;\n}\nfunction hexHash(str) {\n return djb2Hash(str).toString(36).slice(0, 5);\n} //# sourceMappingURL=hash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsNENBQTRDO0FBQzVDLGlIQUFpSDtBQUNqSCx3RkFBd0Y7QUFDeEYsZ0dBQWdHO0FBQ2hHLHdIQUF3SDtBQUN4SCx3REFBd0Q7Ozs7Ozs7Ozs7Ozs7SUFDeENBLFVBQVE7ZUFBUkE7O0lBU0FDLFNBQU87ZUFBUEE7OztBQVRULFNBQVNELFNBQVNFLEdBQVc7SUFDbEMsSUFBSUMsT0FBTztJQUNYLElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJRixJQUFJRyxNQUFNLEVBQUVELElBQUs7UUFDbkMsTUFBTUUsT0FBT0osSUFBSUssVUFBVSxDQUFDSDtRQUM1QkQsT0FBTyxDQUFFQSxRQUFRLEtBQUtBLE9BQU9HLE9BQVE7SUFDdkM7SUFDQSxPQUFPSCxTQUFTO0FBQ2xCO0FBRU8sU0FBU0YsUUFBUUMsR0FBVztJQUNqQyxPQUFPRixTQUFTRSxLQUFLTSxRQUFRLENBQUMsSUFBSUMsS0FBSyxDQUFDLEdBQUc7QUFDN0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaGFzaC50cz9kYjQ2Il0sIm5hbWVzIjpbImRqYjJIYXNoIiwiaGV4SGFzaCIsInN0ciIsImhhc2giLCJpIiwibGVuZ3RoIiwiY2hhciIsImNoYXJDb2RlQXQiLCJ0b1N0cmluZyIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/hash.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(ssr)/./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(ssr)/./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQXFNQUEsU0FBbUI7OztJQXhMSEM7aUJBQUFBOzs7Ozs7OzsyREFUZ0JDLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7O3lDQUVKQSxtQkFBQUEsQ0FBQTs7QUFPckIsTUFBQUMsWUFBU0gsbUJBQUFBLENBQVlJLHVGQUFBQTtTQUFBQSxZQUFBQSxTQUFBQTtJQUMxQixJQUFBQSxjQUFhLFFBQUFBLFlBQUE7O21CQUFPQyxHQUFRLElBQUFDLFlBQUFDLEdBQUE7O1FBQVc7S0FDdkM7UUFDRUMsQ0FBQUEsV0FBUzthQUFPQyxJQUFBQSxDQUFLLGtCQUFBSCxZQUFBQyxHQUFBO1lBQVdHLE1BQUFBOztRQUNsQztJQUNBO0lBQ0YsT0FBQUY7QUFFQTtTQUlFRyxpQkFBQUMsSUFBQSxFQUFBQyxLQUFBO0lBQ0EsOEZBQTREO1FBQzFELE9BQU9ELFVBQUFBLFlBQUFBLE9BQUFBLFVBQUFBLFVBQUFBO1FBQ1QsT0FBQUE7SUFDQTtJQUNBLGtDQUF5QkU7UUFDdkJELE1BQUFFLElBQU9ILEtBQUtJLE9BQ1ZDLE9BQUEsQ0FBQUgsUUFBQTtRQUNBSSxPQUFBQSxLQUFBQSxNQUFNQyxDQUVKQyxPQUNFQyxPQUFBQSxDQUNBQyxRQUFBQSxDQUFBQSxPQUFBQSxDQUFBQSxNQUFBQSxLQUFBQSxDQUFBQSxRQUFBQSxFQUFBQSxNQUFBQSxnQkFHU0E7Z0JBR1AsT0FBT0Qsa0JBQUFBLFlBQUFBLE9BQUFBLGtCQUFBQSxVQUFBQTtnQkFDVCxPQUFBQTtZQUNBO1lBRUYsT0FBRUEsYUFBQUwsTUFBQSxDQUFBTTtRQUdSO0lBQ0E7SUFDRixPQUFBVixLQUFBSSxNQUFBLENBQUFIO0FBRUE7TUFBbUJVLFlBQUE7SUFBUTtJQUFhO0lBQVc7SUFBVztDQUU5RDs7Ozs7WUFNUUM7SUFDTixNQUFNQyxPQUFPLElBQUlDO0lBQ2pCLE1BQU1DLE9BQUFBLElBQUFB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T0FBQXdDLFVBQUEsRUFBQ0csaUNBQU1ELGtCQUFBO1dBQ0xFLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQXlCQyxHQUFBQSxFQUFBQSxZQUFBQSxPQUFBQSxFQUFBQTtRQUN6QkoseUJBQWFBO1FBQ2J6RCxhQUFXOEQ7bUJBRVZULENBQUFBLEdBQUFBLFNBQUFBLFdBQUFBLEVBQUFBOztJQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2hlYWQudHN4PzM2NzAiXSwibmFtZXMiOlsiZXhwb3J0cyIsImRlZmF1bHRIZWFkIiwiXyIsInJlcXVpcmUiLCJfd2Fybm9uY2UiLCJpbkFtcE1vZGUiLCJjaGFyU2V0IiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJoZWFkIiwibmFtZSIsImNvbnRlbnQiLCJvbmx5UmVhY3RFbGVtZW50IiwibGlzdCIsImNoaWxkIiwiRnJhZ21lbnQiLCJ0eXBlIiwiY29uY2F0IiwiZGVmYXVsdCIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJfcmVhY3QiLCJmcmFnbWVudExpc3QiLCJmcmFnbWVudENoaWxkIiwiTUVUQVRZUEVTIiwia2V5cyIsInRhZ3MiLCJTZXQiLCJtZXRhVHlwZXMiLCJtZXRhQ2F0ZWdvcmllcyIsImgiLCJpc1VuaXF1ZSIsImhhc0tleSIsImtleSIsImluZGV4T2YiLCJhZGQiLCJpIiwibWV0YXR5cGUiLCJsZW4iLCJoYXNPd25Qcm9wZXJ0eSIsImNhdGVnb3JpZXMiLCJoYXMiLCJjYXRlZ29yeSIsInByb3BzIiwiaGVhZENoaWxkcmVuRWxlbWVudHMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjIiwiX19ORVhUX09QVElNSVpFX0ZPTlRTIiwic29tZSIsInVybCIsIm5ld1Byb3BzIiwic3RhcnRzV2l0aCIsInVuZGVmaW5lZCIsImNsb25lRWxlbWVudCIsInNyY01lc3NhZ2UiLCJ3YXJuT25jZSIsImNoaWxkcmVuIiwicGFyYW0iLCJhbXBTdGF0ZSIsInVzZUNvbnRleHQiLCJoZWFkTWFuYWdlciIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsIkVmZmVjdCIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwicmVkdWNlQ29tcG9uZW50cyIsImlzSW5BbXBNb2RlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/head.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/image-blur-svg.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-blur-svg.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImageBlurSvg\", ({\n enumerable: true,\n get: function() {\n return getImageBlurSvg;\n }\n}));\nfunction getImageBlurSvg(param) {\n let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL, objectFit } = param;\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n const viewBox = svgWidth && svgHeight ? \"viewBox='0 0 \" + svgWidth + \" \" + svgHeight + \"'\" : \"\";\n const preserveAspectRatio = viewBox ? \"none\" : objectFit === \"contain\" ? \"xMidYMid\" : objectFit === \"cover\" ? \"xMidYMid slice\" : \"none\";\n return \"%3Csvg xmlns='http://www.w3.org/2000/svg' \" + viewBox + \"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='\" + preserveAspectRatio + \"' style='filter: url(%23b);' href='\" + blurDataURL + \"'/%3E%3C/svg%3E\";\n} //# sourceMappingURL=image-blur-svg.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtYmx1ci1zdmcuanMiLCJtYXBwaW5ncyI6IkFBQUE7O0NBRUM7Ozs7bURBQ2VBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGdCQUFnQkMsS0FjL0I7SUFkK0IsTUFDOUJDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxTQUFTLEVBQ1RDLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyxTQUFTLEVBUVYsR0FkK0JOO0lBZTlCLE1BQU1PLE1BQU07SUFDWixNQUFNQyxXQUFXTCxZQUFZQSxZQUFZLEtBQUtGO0lBQzlDLE1BQU1RLFlBQVlMLGFBQWFBLGFBQWEsS0FBS0Y7SUFFakQsTUFBTVEsVUFDSkYsWUFBWUMsWUFBWSxrQkFBZ0JELFdBQVMsTUFBR0MsWUFBVSxNQUFLO0lBQ3JFLE1BQU1FLHNCQUFzQkQsVUFDeEIsU0FDQUosY0FBYyxZQUNkLGFBQ0FBLGNBQWMsVUFDZCxtQkFDQTtJQUVKLE9BQU8sK0NBQTZDSSxVQUFRLDhGQUEyRkgsTUFBSSxvUUFBaVFBLE1BQUksZ0dBQTZGSSxzQkFBb0Isd0NBQXFDTixjQUFZO0FBQ3BrQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy50cz9jNzljIl0sIm5hbWVzIjpbImdldEltYWdlQmx1clN2ZyIsInBhcmFtIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0IiwiYmx1ckRhdGFVUkwiLCJvYmplY3RGaXQiLCJzdGQiLCJzdmdXaWR0aCIsInN2Z0hlaWdodCIsInZpZXdCb3giLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/image-blur-svg.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/image-config.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFhQSxlQUFhO2VBQWJBOztJQXNHQUMsb0JBQWtCO2VBQWxCQTs7O0FBdEdOLE1BQU1ELGdCQUFnQjtJQUMzQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFnR00sTUFBTUMscUJBQTBDO0lBQ3JEQyxhQUFhO1FBQUM7UUFBSztRQUFLO1FBQUs7UUFBTTtRQUFNO1FBQU07UUFBTTtLQUFLO0lBQzFEQyxZQUFZO1FBQUM7UUFBSTtRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUs7UUFBSztLQUFJO0lBQy9DQyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsWUFBWTtJQUNaQyxTQUFTLEVBQUU7SUFDWEMscUJBQXFCO0lBQ3JCQyxpQkFBaUI7SUFDakJDLFNBQVM7UUFBQztLQUFhO0lBQ3ZCQyxxQkFBcUI7SUFDckJDLHVCQUF3QjtJQUN4QkMsd0JBQXdCO0lBQ3hCQyxnQkFBZ0IsRUFBRTtJQUNsQkMsYUFBYTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy50cz8xMzRhIl0sIm5hbWVzIjpbIlZBTElEX0xPQURFUlMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJkZXZpY2VTaXplcyIsImltYWdlU2l6ZXMiLCJwYXRoIiwibG9hZGVyIiwibG9hZGVyRmlsZSIsImRvbWFpbnMiLCJkaXNhYmxlU3RhdGljSW1hZ2VzIiwibWluaW11bUNhY2hlVFRMIiwiZm9ybWF0cyIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJjb250ZW50U2VjdXJpdHlQb2xpY3kiLCJjb250ZW50RGlzcG9zaXRpb25UeXBlIiwicmVtb3RlUGF0dGVybnMiLCJ1bm9wdGltaXplZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/image-config.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/image-external.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-external.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n getImageProps: function() {\n return getImageProps;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getimgprops = __webpack_require__(/*! ./get-img-props */ \"(ssr)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imagecomponent = __webpack_require__(/*! ../../client/image-component */ \"(ssr)/./node_modules/next/dist/client/image-component.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(ssr)/./node_modules/next/dist/shared/lib/image-loader.js\"));\nfunction getImageProps(imgProps) {\n const { props } = (0, _getimgprops.getImgProps)(imgProps, {\n defaultLoader: _imageloader.default,\n // This is replaced by webpack define plugin\n imgConf: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]}\n });\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)){\n if (value === undefined) {\n delete props[key];\n }\n }\n return {\n props\n };\n}\nconst _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBaUNBQSxTQUFvQjtlQUFwQkM7O0lBakJnQkMsZUFBYTtlQUFiQTs7Ozt5Q0FiWTs0Q0FDTjtrRkFHSTtBQVNuQixTQUFTQSxjQUFjQyxRQUFvQjtJQUNoRCxNQUFNLEVBQUVDLEtBQUssRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxhQUFBQSxXQUFXLEVBQUNGLFVBQVU7UUFDdENHLGVBQUFBLGFBQUFBLE9BQWE7UUFDYiw0Q0FBNEM7UUFDNUNDLFNBQVNDLDBOQUE2QjtJQUN4QztJQUNBLHVFQUF1RTtJQUN2RSx3RUFBd0U7SUFDeEUsd0RBQXdEO0lBQ3hELEtBQUssTUFBTSxDQUFDRyxLQUFLQyxNQUFNLElBQUlDLE9BQU9DLE9BQU8sQ0FBQ1YsT0FBUTtRQUNoRCxJQUFJUSxVQUFVRyxXQUFXO1lBQ3ZCLE9BQU9YLEtBQUssQ0FBQ08sSUFBMEI7UUFDekM7SUFDRjtJQUNBLE9BQU87UUFBRVA7SUFBTTtBQUNqQjtNQUVBSCxXQUFlZSxnQkFBQUEsS0FBSyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC50c3g/MzgyNiJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiX2RlZmF1bHQiLCJnZXRJbWFnZVByb3BzIiwiaW1nUHJvcHMiLCJwcm9wcyIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsImltZ0NvbmYiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0lNQUdFX09QVFMiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJJbWFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/image-external.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/image-loader.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-loader.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nfunction defaultLoader(param) {\n let { config, src, width, quality } = param;\n if (true) {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push(\"src\");\n if (!width) missingValues.push(\"width\");\n if (missingValues.length > 0) {\n throw new Error(\"Next Image Optimization requires \" + missingValues.join(\", \") + \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \" + JSON.stringify({\n src,\n width,\n quality\n }));\n }\n if (src.startsWith(\"//\")) {\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)');\n }\n if (!src.startsWith(\"/\") && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)');\n }\n if (true) {\n // We use dynamic require because this should only error in development\n const { hasMatch } = __webpack_require__(/*! ./match-remote-pattern */ \"(ssr)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\");\n if (!hasMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\"Invalid src prop (\" + src + ') on `next/image`, hostname \"' + parsedSrc.hostname + '\" is not configured under images in your `next.config.js`\\n' + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host\");\n }\n }\n }\n }\n return config.path + \"?url=\" + encodeURIComponent(src) + \"&w=\" + width + \"&q=\" + (quality || 75) + ( false ? 0 : \"\");\n}\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true;\nconst _default = defaultLoader; //# sourceMappingURL=image-loader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtbG9hZGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBd0VBOzs7ZUFBQUE7OztBQXRFQSxTQUFTQyxjQUFjQyxLQUtNO0lBTE4sTUFDckJDLE1BQU0sRUFDTkMsR0FBRyxFQUNIQyxLQUFLLEVBQ0xDLE9BQU8sRUFDb0IsR0FMTko7SUFNckIsSUFBSUssSUFBeUIsRUFBYztRQUN6QyxNQUFNQyxnQkFBZ0IsRUFBRTtRQUV4Qix5REFBeUQ7UUFDekQsSUFBSSxDQUFDSixLQUFLSSxjQUFjQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDSixPQUFPRyxjQUFjQyxJQUFJLENBQUM7UUFFL0IsSUFBSUQsY0FBY0UsTUFBTSxHQUFHLEdBQUc7WUFDNUIsTUFBTSxJQUFJQyxNQUNSLHNDQUFvQ0gsY0FBY0ksSUFBSSxDQUNwRCxRQUNBLGdHQUErRkMsS0FBS0MsU0FBUyxDQUM3RztnQkFBRVY7Z0JBQUtDO2dCQUFPQztZQUFRO1FBRzVCO1FBRUEsSUFBSUYsSUFBSVcsVUFBVSxDQUFDLE9BQU87WUFDeEIsTUFBTSxJQUFJSixNQUNSLDBCQUF3QlAsTUFBSTtRQUVoQztRQUVBLElBQUksQ0FBQ0EsSUFBSVcsVUFBVSxDQUFDLFFBQVNaLENBQUFBLE9BQU9hLE9BQU8sSUFBSWIsT0FBT2MsY0FBYyxHQUFHO1lBQ3JFLElBQUlDO1lBQ0osSUFBSTtnQkFDRkEsWUFBWSxJQUFJQyxJQUFJZjtZQUN0QixFQUFFLE9BQU9nQixLQUFLO2dCQUNaQyxRQUFRQyxLQUFLLENBQUNGO2dCQUNkLE1BQU0sSUFBSVQsTUFDUiwwQkFBd0JQLE1BQUk7WUFFaEM7WUFFQSxJQUNFRyxJQUU2QixFQUM3QjtnQkFDQSx1RUFBdUU7Z0JBQ3ZFLE1BQU0sRUFBRWtCLFFBQVEsRUFBRSxHQUFHQyxtQkFBQUEsQ0FBUTtnQkFDN0IsSUFBSSxDQUFDRCxTQUFTdEIsT0FBT2EsT0FBTyxFQUFFYixPQUFPYyxjQUFjLEVBQUVDLFlBQVk7b0JBQy9ELE1BQU0sSUFBSVAsTUFDUix1QkFBcUJQLE1BQUksa0NBQWlDYyxVQUFVUyxRQUFRLEdBQUMsZ0VBQzFFO2dCQUVQO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBT3hCLE9BQVV5QixJQUFJLEdBQUMsVUFBT0MsbUJBQW1CekIsT0FBSyxRQUFLQyxRQUFNLFFBQzlEQyxDQUFBQSxXQUFXLE1BRVhDLENBQUFBLE1BQThCLEdBQzFCLENBQXNDLEdBQ3RDO0FBRVI7QUFFQSwrREFBK0Q7QUFDL0QsMkRBQTJEO0FBQzNETixjQUFjOEIsa0JBQWtCLEdBQUc7TUFFbkMvQixXQUFlQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIudHM/ZDI4MCJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsImRlZmF1bHRMb2FkZXIiLCJwYXJhbSIsImNvbmZpZyIsInNyYyIsIndpZHRoIiwicXVhbGl0eSIsInByb2Nlc3MiLCJtaXNzaW5nVmFsdWVzIiwicHVzaCIsImxlbmd0aCIsIkVycm9yIiwiam9pbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydHNXaXRoIiwiZG9tYWlucyIsInJlbW90ZVBhdHRlcm5zIiwicGFyc2VkU3JjIiwiVVJMIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiaGFzTWF0Y2giLCJyZXF1aXJlIiwiaG9zdG5hbWUiLCJwYXRoIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiX19uZXh0X2ltZ19kZWZhdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/image-loader.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/is-plain-object.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/is-plain-object.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getObjectClassLabel: function() {\n return getObjectClassLabel;\n },\n isPlainObject: function() {\n return isPlainObject;\n }\n});\nfunction getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nfunction isPlainObject(value) {\n if (getObjectClassLabel(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty(\"isPrototypeOf\");\n} //# sourceMappingURL=is-plain-object.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFnQkEscUJBQW1CO2VBQW5CQTs7SUFJQUMsZUFBYTtlQUFiQTs7O0FBSlQsU0FBU0Qsb0JBQW9CRSxLQUFVO0lBQzVDLE9BQU9DLE9BQU9DLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUNKO0FBQ3hDO0FBRU8sU0FBU0QsY0FBY0MsS0FBVTtJQUN0QyxJQUFJRixvQkFBb0JFLFdBQVcsbUJBQW1CO1FBQ3BELE9BQU87SUFDVDtJQUVBLE1BQU1FLFlBQVlELE9BQU9JLGNBQWMsQ0FBQ0w7SUFFeEM7Ozs7Ozs7O0dBUUMsR0FDRCxPQUFPRSxjQUFjLFFBQVFBLFVBQVVJLGNBQWMsQ0FBQztBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pcy1wbGFpbi1vYmplY3QudHM/MmZiMiJdLCJuYW1lcyI6WyJnZXRPYmplY3RDbGFzc0xhYmVsIiwiaXNQbGFpbk9iamVjdCIsInZhbHVlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJjYWxsIiwiZ2V0UHJvdG90eXBlT2YiLCJoYXNPd25Qcm9wZXJ0eSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/is-plain-object.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("// This has to be a shared module which is shared between client component error boundary and dynamic component\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BailoutToCSRError: function() {\n return BailoutToCSRError;\n },\n isBailoutToCSRError: function() {\n return isBailoutToCSRError;\n }\n});\nconst BAILOUT_TO_CSR = \"BAILOUT_TO_CLIENT_SIDE_RENDERING\";\nclass BailoutToCSRError extends Error {\n constructor(reason){\n super(\"Bail out to client-side rendering: \" + reason);\n this.reason = reason;\n this.digest = BAILOUT_TO_CSR;\n }\n}\nfunction isBailoutToCSRError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err)) {\n return false;\n }\n return err.digest === BAILOUT_TO_CSR;\n} //# sourceMappingURL=bailout-to-csr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyLmpzIiwibWFwcGluZ3MiOiJBQUFBLCtHQUErRzs7Ozs7Ozs7Ozs7OztJQUlsR0EsbUJBQWlCO2VBQWpCQTs7SUFTR0MscUJBQW1CO2VBQW5CQTs7O0FBWmhCLE1BQU1DLGlCQUFpQjtBQUdoQixNQUFNRiwwQkFBMEJHO0lBR3JDQyxZQUFZQyxNQUE4QixDQUFFO1FBQzFDLEtBQUssQ0FBQyx3Q0FBc0NBO2FBRGxCQSxNQUFBQSxHQUFBQTthQUZaQyxNQUFBQSxHQUFTSjtJQUl6QjtBQUNGO0FBR08sU0FBU0Qsb0JBQW9CTSxHQUFZO0lBQzlDLElBQUksT0FBT0EsUUFBUSxZQUFZQSxRQUFRLFFBQVEsQ0FBRSxhQUFZQSxHQUFBQSxHQUFNO1FBQ2pFLE9BQU87SUFDVDtJQUVBLE9BQU9BLElBQUlELE1BQU0sS0FBS0o7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyLnRzPzc5MTciXSwibmFtZXMiOlsiQmFpbG91dFRvQ1NSRXJyb3IiLCJpc0JhaWxvdXRUb0NTUkVycm9yIiwiQkFJTE9VVF9UT19DU1IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwicmVhc29uIiwiZGlnZXN0IiwiZXJyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/magic-identifier.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/magic-identifier.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n MAGIC_IDENTIFIER_REGEX: function() {\n return MAGIC_IDENTIFIER_REGEX;\n },\n decodeMagicIdentifier: function() {\n return decodeMagicIdentifier;\n }\n});\nfunction decodeHex(hexStr) {\n if (hexStr.trim() === \"\") {\n throw new Error(\"can't decode empty hex\");\n }\n const num = parseInt(hexStr, 16);\n if (isNaN(num)) {\n throw new Error(\"invalid hex: `\" + hexStr + \"`\");\n }\n return String.fromCodePoint(num);\n}\nvar Mode;\nconst DECODE_REGEX = /^__TURBOPACK__([a-zA-Z0-9_$]+)__$/;\nfunction decodeMagicIdentifier(identifier) {\n const matches = identifier.match(DECODE_REGEX);\n if (!matches) {\n return identifier;\n }\n const inner = matches[1];\n let output = \"\";\n let mode = 0;\n let buffer = \"\";\n for(let i = 0; i < inner.length; i++){\n const char = inner[i];\n if (mode === 0) {\n if (char === \"_\") {\n mode = 1;\n } else if (char === \"$\") {\n mode = 2;\n } else {\n output += char;\n }\n } else if (mode === 1) {\n if (char === \"_\") {\n output += \" \";\n mode = 0;\n } else if (char === \"$\") {\n output += \"_\";\n mode = 2;\n } else {\n output += char;\n mode = 0;\n }\n } else if (mode === 2) {\n if (buffer.length === 2) {\n output += decodeHex(buffer);\n buffer = \"\";\n }\n if (char === \"_\") {\n if (buffer !== \"\") {\n throw new Error(\"invalid hex: `\" + buffer + \"`\");\n }\n mode = 3;\n } else if (char === \"$\") {\n if (buffer !== \"\") {\n throw new Error(\"invalid hex: `\" + buffer + \"`\");\n }\n mode = 0;\n } else {\n buffer += char;\n }\n } else if (mode === 3) {\n if (char === \"_\") {\n throw new Error(\"invalid hex: `\" + (buffer + char) + \"`\");\n } else if (char === \"$\") {\n output += decodeHex(buffer);\n buffer = \"\";\n mode = 0;\n } else {\n buffer += char;\n }\n }\n }\n return output;\n}\nconst MAGIC_IDENTIFIER_REGEX = /__TURBOPACK__[a-zA-Z0-9_$]+__/g; //# sourceMappingURL=magic-identifier.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWFnaWMtaWRlbnRpZmllci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE4RmFBLHdCQUFzQjtlQUF0QkE7O0lBeEVHQyx1QkFBcUI7ZUFBckJBOzs7QUF0QmhCLFNBQVNDLFVBQVVDLE1BQWM7SUFDL0IsSUFBSUEsT0FBT0MsSUFBSSxPQUFPLElBQUk7UUFDeEIsTUFBTSxJQUFJQyxNQUFNO0lBQ2xCO0lBRUEsTUFBTUMsTUFBTUMsU0FBU0osUUFBUTtJQUM3QixJQUFJSyxNQUFNRixNQUFNO1FBQ2QsTUFBTSxJQUFJRCxNQUFNLG1CQUFrQkYsU0FBTztJQUMzQztJQUVBLE9BQU9NLE9BQU9DLGFBQWEsQ0FBQ0o7QUFDOUI7O0FBU0EsTUFBTUssZUFBZTtBQUVkLFNBQVNWLHNCQUFzQlcsVUFBa0I7SUFDdEQsTUFBTUMsVUFBVUQsV0FBV0UsS0FBSyxDQUFDSDtJQUNqQyxJQUFJLENBQUNFLFNBQVM7UUFDWixPQUFPRDtJQUNUO0lBRUEsTUFBTUcsUUFBUUYsT0FBTyxDQUFDLEVBQUU7SUFFeEIsSUFBSUcsU0FBUztJQUViLElBQUlDLE9BQUFBO0lBQ0osSUFBSUMsU0FBUztJQUNiLElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJSixNQUFNSyxNQUFNLEVBQUVELElBQUs7UUFDckMsTUFBTUUsT0FBT04sS0FBSyxDQUFDSSxFQUFFO1FBRXJCLElBQUlGLFNBQUFBLEdBQW9CO1lBQ3RCLElBQUlJLFNBQVMsS0FBSztnQkFDaEJKLE9BQUFBO1lBQ0YsT0FBTyxJQUFJSSxTQUFTLEtBQUs7Z0JBQ3ZCSixPQUFBQTtZQUNGLE9BQU87Z0JBQ0xELFVBQVVLO1lBQ1o7UUFDRixPQUFPLElBQUlKLFNBQUFBLEdBQTBCO1lBQ25DLElBQUlJLFNBQVMsS0FBSztnQkFDaEJMLFVBQVU7Z0JBQ1ZDLE9BQUFBO1lBQ0YsT0FBTyxJQUFJSSxTQUFTLEtBQUs7Z0JBQ3ZCTCxVQUFVO2dCQUNWQyxPQUFBQTtZQUNGLE9BQU87Z0JBQ0xELFVBQVVLO2dCQUNWSixPQUFBQTtZQUNGO1FBQ0YsT0FBTyxJQUFJQSxTQUFBQSxHQUFtQjtZQUM1QixJQUFJQyxPQUFPRSxNQUFNLEtBQUssR0FBRztnQkFDdkJKLFVBQVVkLFVBQVVnQjtnQkFDcEJBLFNBQVM7WUFDWDtZQUVBLElBQUlHLFNBQVMsS0FBSztnQkFDaEIsSUFBSUgsV0FBVyxJQUFJO29CQUNqQixNQUFNLElBQUliLE1BQU0sbUJBQWtCYSxTQUFPO2dCQUMzQztnQkFFQUQsT0FBQUE7WUFDRixPQUFPLElBQUlJLFNBQVMsS0FBSztnQkFDdkIsSUFBSUgsV0FBVyxJQUFJO29CQUNqQixNQUFNLElBQUliLE1BQU0sbUJBQWtCYSxTQUFPO2dCQUMzQztnQkFFQUQsT0FBQUE7WUFDRixPQUFPO2dCQUNMQyxVQUFVRztZQUNaO1FBQ0YsT0FBTyxJQUFJSixTQUFBQSxHQUF1QjtZQUNoQyxJQUFJSSxTQUFTLEtBQUs7Z0JBQ2hCLE1BQU0sSUFBSWhCLE1BQU0sbUJBQWtCYSxDQUFBQSxTQUFTRyxJQUFBQSxJQUFLO1lBQ2xELE9BQU8sSUFBSUEsU0FBUyxLQUFLO2dCQUN2QkwsVUFBVWQsVUFBVWdCO2dCQUNwQkEsU0FBUztnQkFFVEQsT0FBQUE7WUFDRixPQUFPO2dCQUNMQyxVQUFVRztZQUNaO1FBQ0Y7SUFDRjtJQUVBLE9BQU9MO0FBQ1Q7QUFFTyxNQUFNaEIseUJBQXlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL21hZ2ljLWlkZW50aWZpZXIudHM/OTkxNCJdLCJuYW1lcyI6WyJNQUdJQ19JREVOVElGSUVSX1JFR0VYIiwiZGVjb2RlTWFnaWNJZGVudGlmaWVyIiwiZGVjb2RlSGV4IiwiaGV4U3RyIiwidHJpbSIsIkVycm9yIiwibnVtIiwicGFyc2VJbnQiLCJpc05hTiIsIlN0cmluZyIsImZyb21Db2RlUG9pbnQiLCJERUNPREVfUkVHRVgiLCJpZGVudGlmaWVyIiwibWF0Y2hlcyIsIm1hdGNoIiwiaW5uZXIiLCJvdXRwdXQiLCJtb2RlIiwiYnVmZmVyIiwiaSIsImxlbmd0aCIsImNoYXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/magic-identifier.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/match-remote-pattern.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/match-remote-pattern.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hasMatch: function() {\n return hasMatch;\n },\n matchRemotePattern: function() {\n return matchRemotePattern;\n }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(ssr)/./node_modules/next/dist/compiled/picomatch/index.js\");\nfunction matchRemotePattern(pattern, url) {\n if (pattern.protocol !== undefined) {\n const actualProto = url.protocol.slice(0, -1);\n if (pattern.protocol !== actualProto) {\n return false;\n }\n }\n if (pattern.port !== undefined) {\n if (pattern.port !== url.port) {\n return false;\n }\n }\n if (pattern.hostname === undefined) {\n throw new Error(\"Pattern should define hostname but found\\n\" + JSON.stringify(pattern));\n } else {\n if (!(0, _picomatch.makeRe)(pattern.hostname).test(url.hostname)) {\n return false;\n }\n }\n var _pattern_pathname;\n if (!(0, _picomatch.makeRe)((_pattern_pathname = pattern.pathname) != null ? _pattern_pathname : \"**\", {\n dot: true\n }).test(url.pathname)) {\n return false;\n }\n return true;\n}\nfunction hasMatch(domains, remotePatterns, url) {\n return domains.some((domain)=>url.hostname === domain) || remotePatterns.some((p)=>matchRemotePattern(p, url));\n} //# sourceMappingURL=match-remote-pattern.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWF0Y2gtcmVtb3RlLXBhdHRlcm4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBaUNnQkEsVUFBUTtlQUFSQTs7SUE5QkFDLG9CQUFrQjtlQUFsQkE7Ozt1Q0FGTztBQUVoQixTQUFTQSxtQkFBbUJDLE9BQXNCLEVBQUVDLEdBQVE7SUFDakUsSUFBSUQsUUFBUUUsUUFBUSxLQUFLQyxXQUFXO1FBQ2xDLE1BQU1DLGNBQWNILElBQUlDLFFBQVEsQ0FBQ0csS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxJQUFJTCxRQUFRRSxRQUFRLEtBQUtFLGFBQWE7WUFDcEMsT0FBTztRQUNUO0lBQ0Y7SUFDQSxJQUFJSixRQUFRTSxJQUFJLEtBQUtILFdBQVc7UUFDOUIsSUFBSUgsUUFBUU0sSUFBSSxLQUFLTCxJQUFJSyxJQUFJLEVBQUU7WUFDN0IsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJTixRQUFRTyxRQUFRLEtBQUtKLFdBQVc7UUFDbEMsTUFBTSxJQUFJSyxNQUNSLCtDQUE2Q0MsS0FBS0MsU0FBUyxDQUFDVjtJQUVoRSxPQUFPO1FBQ0wsSUFBSSxDQUFDVyxDQUFBQSxHQUFBQSxXQUFBQSxNQUFNLEVBQUNYLFFBQVFPLFFBQVEsRUFBRUssSUFBSSxDQUFDWCxJQUFJTSxRQUFRLEdBQUc7WUFDaEQsT0FBTztRQUNUO0lBQ0Y7UUFFWVA7SUFBWixJQUFJLENBQUNXLENBQUFBLEdBQUFBLFdBQUFBLE1BQU0sRUFBQ1gsQ0FBQUEsb0JBQUFBLFFBQVFhLFFBQVEsWUFBaEJiLG9CQUFvQixNQUFNO1FBQUVjLEtBQUs7SUFBSyxHQUFHRixJQUFJLENBQUNYLElBQUlZLFFBQVEsR0FBRztRQUN2RSxPQUFPO0lBQ1Q7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxTQUFTZixTQUNkaUIsT0FBaUIsRUFDakJDLGNBQStCLEVBQy9CZixHQUFRO0lBRVIsT0FDRWMsUUFBUUUsSUFBSSxDQUFDLENBQUNDLFNBQVdqQixJQUFJTSxRQUFRLEtBQUtXLFdBQzFDRixlQUFlQyxJQUFJLENBQUMsQ0FBQ0UsSUFBTXBCLG1CQUFtQm9CLEdBQUdsQjtBQUVyRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi50cz9kNjFkIl0sIm5hbWVzIjpbImhhc01hdGNoIiwibWF0Y2hSZW1vdGVQYXR0ZXJuIiwicGF0dGVybiIsInVybCIsInByb3RvY29sIiwidW5kZWZpbmVkIiwiYWN0dWFsUHJvdG8iLCJzbGljZSIsInBvcnQiLCJob3N0bmFtZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VSZSIsInRlc3QiLCJwYXRobmFtZSIsImRvdCIsImRvbWFpbnMiLCJyZW1vdGVQYXR0ZXJucyIsInNvbWUiLCJkb21haW4iLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQW1CQyxJQUFZO0lBQzdDLE9BQU9BLEtBQUtDLFVBQVUsQ0FBQyxPQUFPRCxPQUFPLE1BQUlBO0FBQzNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3BhZ2UtcGF0aC9lbnN1cmUtbGVhZGluZy1zbGFzaC50cz8xOGYyIl0sIm5hbWVzIjpbImVuc3VyZUxlYWRpbmdTbGFzaCIsInBhdGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/action-queue.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/action-queue.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ActionQueueContext: function() {\n return ActionQueueContext;\n },\n createMutableActionQueue: function() {\n return createMutableActionQueue;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../../../client/components/router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _routerreducer = __webpack_require__(/*! ../../../client/components/router-reducer/router-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst ActionQueueContext = _react.default.createContext(null);\nfunction runRemainingActions(actionQueue, setState) {\n if (actionQueue.pending !== null) {\n actionQueue.pending = actionQueue.pending.next;\n if (actionQueue.pending !== null) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n runAction({\n actionQueue,\n action: actionQueue.pending,\n setState\n });\n } else {\n // No more actions are pending, check if a refresh is needed\n if (actionQueue.needsRefresh) {\n actionQueue.needsRefresh = false;\n actionQueue.dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n }, setState);\n }\n }\n }\n}\nasync function runAction(param) {\n let { actionQueue, action, setState } = param;\n const prevState = actionQueue.state;\n if (!prevState) {\n // This shouldn't happen as the state is initialized in the dispatcher if it's not set\n throw new Error(\"Invariant: Router state not initialized\");\n }\n actionQueue.pending = action;\n const payload = action.payload;\n const actionResult = actionQueue.action(prevState, payload);\n function handleResult(nextState) {\n // if we discarded this action, the state should also be discarded\n if (action.discarded) {\n return;\n }\n actionQueue.state = nextState;\n if (actionQueue.devToolsInstance) {\n actionQueue.devToolsInstance.send(payload, nextState);\n }\n runRemainingActions(actionQueue, setState);\n action.resolve(nextState);\n }\n // if the action is a promise, set up a callback to resolve it\n if ((0, _routerreducertypes.isThenable)(actionResult)) {\n actionResult.then(handleResult, (err)=>{\n runRemainingActions(actionQueue, setState);\n action.reject(err);\n });\n } else {\n handleResult(actionResult);\n }\n}\nfunction dispatchAction(actionQueue, payload, setState) {\n let resolvers = {\n resolve: setState,\n reject: ()=>{}\n };\n // most of the action types are async with the exception of restore\n // it's important that restore is handled quickly since it's fired on the popstate event\n // and we don't want to add any delay on a back/forward nav\n // this only creates a promise for the async actions\n if (payload.type !== _routerreducertypes.ACTION_RESTORE) {\n // Create the promise and assign the resolvers to the object.\n const deferredPromise = new Promise((resolve, reject)=>{\n resolvers = {\n resolve,\n reject\n };\n });\n (0, _react.startTransition)(()=>{\n // we immediately notify React of the pending promise -- the resolver is attached to the action node\n // and will be called when the associated action promise resolves\n setState(deferredPromise);\n });\n }\n const newAction = {\n payload,\n next: null,\n resolve: resolvers.resolve,\n reject: resolvers.reject\n };\n // Check if the queue is empty\n if (actionQueue.pending === null) {\n // The queue is empty, so add the action and start it immediately\n // Mark this action as the last in the queue\n actionQueue.last = newAction;\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else if (payload.type === _routerreducertypes.ACTION_NAVIGATE || payload.type === _routerreducertypes.ACTION_RESTORE) {\n // Navigations (including back/forward) take priority over any pending actions.\n // Mark the pending action as discarded (so the state is never applied) and start the navigation action immediately.\n actionQueue.pending.discarded = true;\n // Mark this action as the last in the queue\n actionQueue.last = newAction;\n // if the pending action was a server action, mark the queue as needing a refresh once events are processed\n if (actionQueue.pending.payload.type === _routerreducertypes.ACTION_SERVER_ACTION) {\n actionQueue.needsRefresh = true;\n }\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else {\n // The queue is not empty, so add the action to the end of the queue\n // It will be started by runRemainingActions after the previous action finishes\n if (actionQueue.last !== null) {\n actionQueue.last.next = newAction;\n }\n actionQueue.last = newAction;\n }\n}\nfunction createMutableActionQueue() {\n const actionQueue = {\n state: null,\n dispatch: (payload, setState)=>dispatchAction(actionQueue, payload, setState),\n action: async (state, action)=>{\n if (state === null) {\n throw new Error(\"Invariant: Router state not initialized\");\n }\n const result = (0, _routerreducer.reducer)(state, action);\n return result;\n },\n pending: null,\n last: null\n };\n return actionQueue;\n} //# sourceMappingURL=action-queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL2FjdGlvbi1xdWV1ZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFrQ2FBLG9CQUFrQjtlQUFsQkE7O0lBMkpHQywwQkFBd0I7ZUFBeEJBOzs7O2dEQXBMVDsyQ0FFaUI7NkVBQ2U7QUFzQmhDLE1BQU1ELHFCQUNYRSxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBOEI7QUFFbkQsU0FBU0Msb0JBQ1BDLFdBQWlDLEVBQ2pDQyxRQUE4QjtJQUU5QixJQUFJRCxZQUFZRSxPQUFPLEtBQUssTUFBTTtRQUNoQ0YsWUFBWUUsT0FBTyxHQUFHRixZQUFZRSxPQUFPLENBQUNDLElBQUk7UUFDOUMsSUFBSUgsWUFBWUUsT0FBTyxLQUFLLE1BQU07WUFDaEMsbUVBQW1FO1lBQ25FRSxVQUFVO2dCQUNSSjtnQkFDQUssUUFBUUwsWUFBWUUsT0FBTztnQkFDM0JEO1lBQ0Y7UUFDRixPQUFPO1lBQ0wsNERBQTREO1lBQzVELElBQUlELFlBQVlNLFlBQVksRUFBRTtnQkFDNUJOLFlBQVlNLFlBQVksR0FBRztnQkFDM0JOLFlBQVlPLFFBQVEsQ0FDbEI7b0JBQ0VDLE1BQU1DLG9CQUFBQSxjQUFjO29CQUNwQkMsUUFBUUMsT0FBT0MsUUFBUSxDQUFDRixNQUFNO2dCQUNoQyxHQUNBVDtZQUVKO1FBQ0Y7SUFDRjtBQUNGO0FBRUEsZUFBZUcsVUFBVVMsS0FReEI7SUFSd0IsTUFDdkJiLFdBQVcsRUFDWEssTUFBTSxFQUNOSixRQUFRLEVBS1QsR0FSd0JZO0lBU3ZCLE1BQU1DLFlBQVlkLFlBQVllLEtBQUs7SUFDbkMsSUFBSSxDQUFDRCxXQUFXO1FBQ2Qsc0ZBQXNGO1FBQ3RGLE1BQU0sSUFBSUUsTUFBTTtJQUNsQjtJQUVBaEIsWUFBWUUsT0FBTyxHQUFHRztJQUV0QixNQUFNWSxVQUFVWixPQUFPWSxPQUFPO0lBQzlCLE1BQU1DLGVBQWVsQixZQUFZSyxNQUFNLENBQUNTLFdBQVdHO0lB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T0FBT3BDO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL2FjdGlvbi1xdWV1ZS50cz9iMDViIl0sIm5hbWVzIjpbIkFjdGlvblF1ZXVlQ29udGV4dCIsImNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInJ1blJlbWFpbmluZ0FjdGlvbnMiLCJhY3Rpb25RdWV1ZSIsInNldFN0YXRlIiwicGVuZGluZyIsIm5leHQiLCJydW5BY3Rpb24iLCJhY3Rpb24iLCJuZWVkc1JlZnJlc2giLCJkaXNwYXRjaCIsInR5cGUiLCJBQ1RJT05fUkVGUkVTSCIsIm9yaWdpbiIsIndpbmRvdyIsImxvY2F0aW9uIiwicGFyYW0iLCJwcmV2U3RhdGUiLCJzdGF0ZSIsIkVycm9yIiwicGF5bG9hZCIsImFjdGlvblJlc3VsdCIsImhhbmRsZVJlc3VsdCIsIm5leHRTdGF0ZSIsImRpc2NhcmRlZCIsImRldlRvb2xzSW5zdGFuY2UiLCJzZW5kIiwicmVzb2x2ZSIsImlzVGhlbmFibGUiLCJ0aGVuIiwiZXJyIiwicmVqZWN0IiwiZGlzcGF0Y2hBY3Rpb24iLCJyZXNvbHZlcnMiLCJBQ1RJT05fUkVTVE9SRSIsImRlZmVycmVkUHJvbWlzZSIsIlByb21pc2UiLCJzdGFydFRyYW5zaXRpb24iLCJuZXdBY3Rpb24iLCJsYXN0IiwiQUNUSU9OX05BVklHQVRFIiwiQUNUSU9OX1NFUlZFUl9BQ1RJT04iLCJyZXN1bHQiLCJyZWR1Y2VyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/action-queue.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! - \***************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQU1nQkE7OztlQUFBQTs7O3VDQU5VO0FBTW5CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBZTtJQUN6RCxJQUFJLENBQUNELEtBQUtFLFVBQVUsQ0FBQyxRQUFRLENBQUNELFFBQVE7UUFDcEMsT0FBT0Q7SUFDVDtJQUVBLE1BQU0sRUFBRUcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNOO0lBQzVDLE9BQU8sS0FBR0MsU0FBU0UsV0FBV0MsUUFBUUM7QUFDeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC50cz9iNDU1Il0sIm5hbWVzIjpbImFkZFBhdGhQcmVmaXgiLCJwYXRoIiwicHJlZml4Iiwic3RhcnRzV2l0aCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"(ssr)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFzQmdCQSxrQkFBZ0I7ZUFBaEJBOztJQW1DQUMsaUJBQWU7ZUFBZkE7OztnREF6RG1CO3FDQUNKO0FBcUJ4QixTQUFTRCxpQkFBaUJFLEtBQWE7SUFDNUMsT0FBT0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFrQixFQUN2QkQsTUFBTUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQyxDQUFDQyxVQUFVQyxTQUFTQyxPQUFPQztRQUNqRCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDRixTQUFTO1lBQ1osT0FBT0Q7UUFDVDtRQUVBLHNCQUFzQjtRQUN0QixJQUFJSSxDQUFBQSxHQUFBQSxTQUFBQSxjQUFjLEVBQUNILFVBQVU7WUFDM0IsT0FBT0Q7UUFDVDtRQUVBLGlDQUFpQztRQUNqQyxJQUFJQyxPQUFPLENBQUMsRUFBRSxLQUFLLEtBQUs7WUFDdEIsT0FBT0Q7UUFDVDtRQUVBLHVEQUF1RDtRQUN2RCxJQUNFLENBQUNDLFlBQVksVUFBVUEsWUFBWSxZQUNuQ0MsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQzVCO1lBQ0EsT0FBT0w7UUFDVDtRQUVBLE9BQU9BLFdBQVksTUFBR0M7SUFDeEIsR0FBRztBQUVQO0FBTU8sU0FBU04sZ0JBQWdCVyxHQUFXO0lBQ3pDLE9BQU9BLElBQUlDLE9BQU8sQ0FDaEIsZUFFQTtBQUVKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHMudHM/ZDQ2ZCJdLCJuYW1lcyI6WyJub3JtYWxpemVBcHBQYXRoIiwibm9ybWFsaXplUnNjVVJMIiwicm91dGUiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJzcGxpdCIsInJlZHVjZSIsInBhdGhuYW1lIiwic2VnbWVudCIsImluZGV4Iiwic2VnbWVudHMiLCJpc0dyb3VwU2VnbWVudCIsImxlbmd0aCIsInVybCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLHNEQUFzRDtBQUN0RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLGdFQUFnRTtBQUNoRSxzRUFBc0U7QUFDdEUsc0VBQXNFO0FBQ3RFLDRFQUE0RTtBQUM1RSxxRUFBcUU7QUFDckUsd0JBQXdCO0FBQ3hCLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsNkRBQTZEO0FBQzdELDRFQUE0RTtBQUM1RSwyRUFBMkU7QUFDM0Usd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUM1RSx5Q0FBeUM7Ozs7Ozs7Ozs7Ozs7SUFRekJBLFdBQVM7ZUFBVEE7O0lBNkRBQyxzQkFBb0I7ZUFBcEJBOztJQWZIQyxlQUFhO2VBQWJBOzs7O21GQWxEZ0I7QUFFN0IsTUFBTUMsbUJBQW1CO0FBRWxCLFNBQVNILFVBQVVJLE1BQWlCO0lBQ3pDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUUsR0FBR0Y7SUFDekIsSUFBSUcsV0FBV0gsT0FBT0csUUFBUSxJQUFJO0lBQ2xDLElBQUlDLFdBQVdKLE9BQU9JLFFBQVEsSUFBSTtJQUNsQyxJQUFJQyxPQUFPTCxPQUFPSyxJQUFJLElBQUk7SUFDMUIsSUFBSUMsUUFBUU4sT0FBT00sS0FBSyxJQUFJO0lBQzVCLElBQUlDLE9BQXVCO0lBRTNCTixPQUFPQSxPQUFPTyxtQkFBbUJQLE1BQU1RLE9BQU8sQ0FBQyxRQUFRLE9BQU8sTUFBTTtJQUVwRSxJQUFJVCxPQUFPTyxJQUFJLEVBQUU7UUFDZkEsT0FBT04sT0FBT0QsT0FBT08sSUFBSTtJQUMzQixPQUFPLElBQUlMLFVBQVU7UUFDbkJLLE9BQU9OLE9BQVEsRUFBQ0MsU0FBU1EsT0FBTyxDQUFDLE9BQU8sTUFBSVIsV0FBUyxNQUFLQSxRQUFBQTtRQUMxRCxJQUFJRixPQUFPVyxJQUFJLEVBQUU7WUFDZkosUUFBUSxNQUFNUCxPQUFPVyxJQUFJO1FBQzNCO0lBQ0Y7SUFFQSxJQUFJTCxTQUFTLE9BQU9BLFVBQVUsVUFBVTtRQUN0Q0EsUUFBUU0sT0FBT0MsYUFBWUMsc0JBQXNCLENBQUNSO0lBQ3BEO0lBRUEsSUFBSVMsU0FBU2YsT0FBT2UsTUFBTSxJQUFLVCxTQUFTLE1BQUlBLFNBQVk7SUFFeEQsSUFBSUgsWUFBWSxDQUFDQSxTQUFTYSxRQUFRLENBQUMsTUFBTWIsWUFBWTtJQUVyRCxJQUNFSCxPQUFPaUIsT0FBTyxJQUNiLENBQUMsQ0FBQ2QsWUFBWUosaUJBQWlCbUIsSUFBSSxDQUFDZixTQUFBQSxLQUFjSSxTQUFTLE9BQzVEO1FBQ0FBLE9BQU8sT0FBUUEsQ0FBQUEsUUFBUTtRQUN2QixJQUFJSCxZQUFZQSxRQUFRLENBQUMsRUFBRSxLQUFLLEtBQUtBLFdBQVcsTUFBTUE7SUFDeEQsT0FBTyxJQUFJLENBQUNHLE1BQU07UUFDaEJBLE9BQU87SUFDVDtJQUVBLElBQUlGLFFBQVFBLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBS0EsT0FBTyxNQUFNQTtJQUMxQyxJQUFJVSxVQUFVQSxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUtBLFNBQVMsTUFBTUE7SUFFaERYLFdBQVdBLFNBQVNLLE9BQU8sQ0FBQyxTQUFTRDtJQUNyQ08sU0FBU0EsT0FBT04sT0FBTyxDQUFDLEtBQUs7SUFFN0IsT0FBTyxLQUFHTixXQUFXSSxPQUFPSCxXQUFXVyxTQUFTVjtBQUNsRDtBQUVPLE1BQU1QLGdCQUFnQjtJQUMzQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQUVNLFNBQVNELHFCQUFxQnNCLEdBQWM7SUFDakQsSUFBSUMsSUFBeUIsRUFBZTtRQUMxQyxJQUFJRCxRQUFRLFFBQVEsT0FBT0EsUUFBUSxVQUFVO1lBQzNDRSxPQUFPQyxJQUFJLENBQUNILEtBQUtJLE9BQU8sQ0FBQyxDQUFDQztnQkFDeEIsSUFBSSxDQUFDMUIsY0FBYzJCLFFBQVEsQ0FBQ0QsTUFBTTtvQkFDaENFLFFBQVFDLElBQUksQ0FDVix1REFBcURIO2dCQUV6RDtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU81QixVQUFVdUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwudHM/MWI4NyJdLCJuYW1lcyI6WyJmb3JtYXRVcmwiLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybE9iamVjdEtleXMiLCJzbGFzaGVkUHJvdG9jb2xzIiwidXJsT2JqIiwiYXV0aCIsImhvc3RuYW1lIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsImhvc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwiaW5kZXhPZiIsInBvcnQiLCJTdHJpbmciLCJxdWVyeXN0cmluZyIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2giLCJlbmRzV2l0aCIsInNsYXNoZXMiLCJ0ZXN0IiwidXJsIiwicHJvY2VzcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaW5jbHVkZXMiLCJjb25zb2xlIiwid2FybiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js ***! - \********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Run function with `scroll-behavior: auto` applied to `<html/>`.\n * This css change will be reverted after the function finishes.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSmoothScroll\", ({\n enumerable: true,\n get: function() {\n return handleSmoothScroll;\n }\n}));\nfunction handleSmoothScroll(fn, options) {\n if (options === void 0) options = {};\n // if only the hash is changed, we don't need to disable smooth scrolling\n // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX\n if (options.onlyHashChange) {\n fn();\n return;\n }\n const htmlElement = document.documentElement;\n const existing = htmlElement.style.scrollBehavior;\n htmlElement.style.scrollBehavior = \"auto\";\n if (!options.dontForceLayout) {\n // In Chrome-based browsers we need to force reflow before calling `scrollTo`.\n // Otherwise it will not pickup the change in scrollBehavior\n // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042\n htmlElement.getClientRects();\n }\n fn();\n htmlElement.style.scrollBehavior = existing;\n} //# sourceMappingURL=handle-smooth-scroll.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQ2RDLEVBQWMsRUFDZEMsT0FBcUU7SUFBckVBLElBQUFBLFlBQUFBLEtBQUFBLEdBQUFBLFVBQW1FLENBQUM7SUFFcEUseUVBQXlFO0lBQ3pFLDZGQUE2RjtJQUM3RixJQUFJQSxRQUFRQyxjQUFjLEVBQUU7UUFDMUJGO1FBQ0E7SUFDRjtJQUNBLE1BQU1HLGNBQWNDLFNBQVNDLGVBQWU7SUFDNUMsTUFBTUMsV0FBV0gsWUFBWUksS0FBSyxDQUFDQyxjQUFjO0lBQ2pETCxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBRztJQUNuQyxJQUFJLENBQUNQLFFBQVFRLGVBQWUsRUFBRTtRQUM1Qiw4RUFBOEU7UUFDOUUsNERBQTREO1FBQzVELHlGQUF5RjtRQUN6Rk4sWUFBWU8sY0FBYztJQUM1QjtJQUNBVjtJQUNBRyxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBR0Y7QUFDckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLnRzP2MzZjQiXSwibmFtZXMiOlsiaGFuZGxlU21vb3RoU2Nyb2xsIiwiZm4iLCJvcHRpb25zIiwib25seUhhc2hDaGFuZ2UiLCJodG1sRWxlbWVudCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiZXhpc3RpbmciLCJzdHlsZSIsInNjcm9sbEJlaGF2aW9yIiwiZG9udEZvcmNlTGF5b3V0IiwiZ2V0Q2xpZW50UmVjdHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxpQkFBZTtlQUFmQSxjQUFBQSxlQUFlOztJQUNmQyxnQkFBYztlQUFkQSxXQUFBQSxjQUFjOzs7MENBRFM7dUNBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LnRzPzcyZDUiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBS2dCQTs7O2VBQUFBOzs7MENBSGdCO3dDQUNGO0FBRXZCLFNBQVNBLGNBQ2RDLEtBQWEsRUFDYkMsVUFBa0IsRUFDbEJDLEtBQXFCO0lBRXJCLElBQUlDLG9CQUFvQjtJQUV4QixNQUFNQyxlQUFlQyxDQUFBQSxHQUFBQSxZQUFBQSxhQUFhLEVBQUNMO0lBQ25DLE1BQU1NLGdCQUFnQkYsYUFBYUcsTUFBTTtJQUN6QyxNQUFNQyxpQkFFSFAsQ0FBQUEsZUFBZUQsUUFBUVMsQ0FBQUEsR0FBQUEsY0FBQUEsZUFBZSxFQUFDTCxjQUFjSCxjQUFjLE9BQ3BFLGdEQUFnRDtJQUNoRCxzRUFBc0U7SUFDdEVDO0lBRUZDLG9CQUFvQkg7SUFDcEIsTUFBTVUsU0FBU0MsT0FBT0MsSUFBSSxDQUFDTjtJQUUzQixJQUNFLENBQUNJLE9BQU9HLEtBQUssQ0FBQyxDQUFDQztRQUNiLElBQUlDLFFBQVFQLGNBQWMsQ0FBQ00sTUFBTSxJQUFJO1FBQ3JDLE1BQU0sRUFBRUUsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR1gsYUFBYSxDQUFDUSxNQUFNO1FBRWpELGlDQUFpQztRQUNqQywwREFBMEQ7UUFDMUQsSUFBSUksV0FBVyxNQUFJRixDQUFBQSxTQUFTLFFBQVEsTUFBS0YsUUFBTTtRQUMvQyxJQUFJRyxVQUFVO1lBQ1pDLFdBQVcsQ0FBRyxDQUFDSCxRQUFRLE1BQU0sTUFBRyxNQUFHRyxXQUFTO1FBQzlDO1FBQ0EsSUFBSUYsVUFBVSxDQUFDRyxNQUFNQyxPQUFPLENBQUNMLFFBQVFBLFFBQVE7WUFBQ0E7U0FBTTtRQUVwRCxPQUNFLENBQUNFLFlBQVlILFNBQVNOLGNBQUFBLEtBQ3RCLDZDQUE2QztRQUM1Q0wsQ0FBQUEsb0JBQ0NBLGtCQUFtQmtCLE9BQU8sQ0FDeEJILFVBQ0FGLFNBQ0lELE1BQ0dPLEdBQUcsQ0FFRix1REFBdUQ7UUFDdkQsa0RBQWtEO1FBQ2xELG9DQUFvQztRQUNwQyxDQUFDQyxVQUFZQyxtQkFBbUJELFVBRWpDRSxJQUFJLENBQUMsT0FDUkQsbUJBQW1CVCxXQUNwQjtJQUVYLElBQ0E7UUFDQVosb0JBQW9CLEdBQUcsbUNBQW1DOztJQUUxRCx1RUFBdUU7SUFDdkUsa0RBQWtEO0lBQ3BEO0lBQ0EsT0FBTztRQUNMTztRQUNBZ0IsUUFBUXZCO0lBQ1Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMudHM/OWUzMSJdLCJuYW1lcyI6WyJpbnRlcnBvbGF0ZUFzIiwicm91dGUiLCJhc1BhdGhuYW1lIiwicXVlcnkiLCJpbnRlcnBvbGF0ZWRSb3V0ZSIsImR5bmFtaWNSZWdleCIsImdldFJvdXRlUmVnZXgiLCJkeW5hbWljR3JvdXBzIiwiZ3JvdXBzIiwiZHluYW1pY01hdGNoZXMiLCJnZXRSb3V0ZU1hdGNoZXIiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZXZlcnkiLCJwYXJhbSIsInZhbHVlIiwicmVwZWF0Iiwib3B0aW9uYWwiLCJyZXBsYWNlZCIsIkFycmF5IiwiaXNBcnJheSIsInJlcGxhY2UiLCJtYXAiLCJzZWdtZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsInJlc3VsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-bot.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isBot\", ({\n enumerable: true,\n get: function() {\n return isBot;\n }\n}));\nfunction isBot(userAgent) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(userAgent);\n} //# sourceMappingURL=is-bot.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3lDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsTUFBTUMsU0FBaUI7SUFDckMsT0FBTyxvVkFBb1ZDLElBQUksQ0FDN1ZEO0FBRUoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC50cz84YTM3Il0sIm5hbWVzIjpbImlzQm90IiwidXNlckFnZW50IiwidGVzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFRZ0JBOzs7ZUFBQUE7OztnREFMVDtBQUVQLHFDQUFxQztBQUNyQyxNQUFNQyxhQUFhO0FBRVosU0FBU0QsZUFBZUUsS0FBYTtJQUMxQyxJQUFJQyxDQUFBQSxHQUFBQSxvQkFBQUEsMEJBQTBCLEVBQUNELFFBQVE7UUFDckNBLFFBQVFFLENBQUFBLEdBQUFBLG9CQUFBQSxtQ0FBbUMsRUFBQ0YsT0FBT0csZ0JBQWdCO0lBQ3JFO0lBRUEsT0FBT0osV0FBV0ssSUFBSSxDQUFDSjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy50cz84MmRjIl0sIm5hbWVzIjpbImlzRHluYW1pY1JvdXRlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! - \************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQU1nQkE7OztlQUFBQTs7O21DQU5pQzt5Q0FDckI7QUFLckIsU0FBU0EsV0FBV0MsR0FBVztJQUNwQyxnRUFBZ0U7SUFDaEUsSUFBSSxDQUFDQyxDQUFBQSxHQUFBQSxPQUFBQSxhQUFhLEVBQUNELE1BQU0sT0FBTztJQUNoQyxJQUFJO1FBQ0YsNERBQTREO1FBQzVELE1BQU1FLGlCQUFpQkMsQ0FBQUEsR0FBQUEsT0FBQUEsaUJBQWlCO1FBQ3hDLE1BQU1DLFdBQVcsSUFBSUMsSUFBSUwsS0FBS0U7UUFDOUIsT0FBT0UsU0FBU0UsTUFBTSxLQUFLSixrQkFBa0JLLENBQUFBLEdBQUFBLGFBQUFBLFdBQVcsRUFBQ0gsU0FBU0ksUUFBUTtJQUM1RSxFQUFFLE9BQU9DLEdBQUc7UUFDVixPQUFPO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLnRzPzA0ZTUiXSwibmFtZXMiOlsiaXNMb2NhbFVSTCIsInVybCIsImlzQWJzb2x1dGVVcmwiLCJsb2NhdGlvbk9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWQiLCJVUkwiLCJvcmlnaW4iLCJoYXNCYXNlUGF0aCIsInBhdGhuYW1lIiwiXyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/omit.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL29taXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozt3Q0FBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLEtBQ2RDLE1BQVMsRUFDVEMsSUFBUztJQUVULE1BQU1DLFVBQXNDLENBQUM7SUFDN0NDLE9BQU9GLElBQUksQ0FBQ0QsUUFBUUksT0FBTyxDQUFDLENBQUNDO1FBQzNCLElBQUksQ0FBQ0osS0FBS0ssUUFBUSxDQUFDRCxNQUFXO1lBQzVCSCxPQUFPLENBQUNHLElBQUksR0FBR0wsTUFBTSxDQUFDSyxJQUFJO1FBQzVCO0lBQ0Y7SUFDQSxPQUFPSDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9vbWl0LnRzP2I3YTgiXSwibmFtZXMiOlsib21pdCIsIm9iamVjdCIsImtleXMiLCJvbWl0dGVkIiwiT2JqZWN0IiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/omit.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Q0FJQzs7Ozs2Q0FDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsVUFBVUMsSUFBWTtJQUNwQyxNQUFNQyxZQUFZRCxLQUFLRSxPQUFPLENBQUM7SUFDL0IsTUFBTUMsYUFBYUgsS0FBS0UsT0FBTyxDQUFDO0lBQ2hDLE1BQU1FLFdBQVdELGFBQWEsQ0FBQyxLQUFNRixDQUFBQSxZQUFZLEtBQUtFLGFBQWFGLFNBQUFBO0lBRW5FLElBQUlHLFlBQVlILFlBQVksQ0FBQyxHQUFHO1FBQzlCLE9BQU87WUFDTEksVUFBVUwsS0FBS00sU0FBUyxDQUFDLEdBQUdGLFdBQVdELGFBQWFGO1lBQ3BETSxPQUFPSCxXQUNISixLQUFLTSxTQUFTLENBQUNILFlBQVlGLFlBQVksQ0FBQyxJQUFJQSxZQUFZTyxhQUN4RDtZQUNKQyxNQUFNUixZQUFZLENBQUMsSUFBSUQsS0FBS1UsS0FBSyxDQUFDVCxhQUFhO1FBQ2pEO0lBQ0Y7SUFFQSxPQUFPO1FBQUVJLFVBQVVMO1FBQU1PLE9BQU87UUFBSUUsTUFBTTtJQUFHO0FBQy9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS1wYXRoLnRzP2EzOWUiXSwibmFtZXMiOlsicGFyc2VQYXRoIiwicGF0aCIsImhhc2hJbmRleCIsImluZGV4T2YiLCJxdWVyeUluZGV4IiwiaGFzUXVlcnkiLCJwYXRobmFtZSIsInN1YnN0cmluZyIsInF1ZXJ5IiwidW5kZWZpbmVkIiwiaGFzaCIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! - \***************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQVNnQkE7OztlQUFBQTs7O3VDQVRVO0FBU25CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBYztJQUN4RCxJQUFJLE9BQU9ELFNBQVMsVUFBVTtRQUM1QixPQUFPO0lBQ1Q7SUFFQSxNQUFNLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNIO0lBQy9CLE9BQU9FLGFBQWFELFVBQVVDLFNBQVNFLFVBQVUsQ0FBQ0gsU0FBUztBQUM3RCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGF0aC1oYXMtcHJlZml4LnRzPzkwOWEiXSwibmFtZXMiOlsicGF0aEhhc1ByZWZpeCIsInBhdGgiLCJwcmVmaXgiLCJwYXRobmFtZSIsInBhcnNlUGF0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTRDZ0JBLFFBQU07ZUFBTkE7O0lBMUNBQyx3QkFBc0I7ZUFBdEJBOztJQTRCQUMsd0JBQXNCO2VBQXRCQTs7O0FBNUJULFNBQVNELHVCQUNkRSxZQUE2QjtJQUU3QixNQUFNQyxRQUF3QixDQUFDO0lBQy9CRCxhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0M7UUFDM0IsSUFBSSxPQUFPSCxLQUFLLENBQUNHLElBQUksS0FBSyxhQUFhO1lBQ3JDSCxLQUFLLENBQUNHLElBQUksR0FBR0Q7UUFDZixPQUFPLElBQUlFLE1BQU1DLE9BQU8sQ0FBQ0wsS0FBSyxDQUFDRyxJQUFJLEdBQUc7WUFDbENILEtBQUssQ0FBQ0csSUFBSSxDQUFjRyxJQUFJLENBQUNKO1FBQ2pDLE9BQU87WUFDTEYsS0FBSyxDQUFDRyxJQUFJLEdBQUc7Z0JBQUNILEtBQUssQ0FBQ0csSUFBSTtnQkFBWUQ7YUFBTTtRQUM1QztJQUNGO0lBQ0EsT0FBT0Y7QUFDVDtBQUVBLFNBQVNPLHVCQUF1QkMsS0FBYztJQUM1QyxJQUNFLE9BQU9BLFVBQVUsWUFDaEIsT0FBT0EsVUFBVSxZQUFZLENBQUNDLE1BQU1ELFVBQ3JDLE9BQU9BLFVBQVUsV0FDakI7UUFDQSxPQUFPRSxPQUFPRjtJQUNoQixPQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0Y7QUFFTyxTQUFTVix1QkFDZGEsUUFBd0I7SUFFeEIsTUFBTUMsU0FBUyxJQUFJQztJQUNuQkMsT0FBT0MsT0FBTyxDQUFDSixVQUFVVixPQUFPLENBQUMsQ0FBQU87WUFBQyxDQUFDTCxLQUFLRCxNQUFNLEdBQUFNO1FBQzVDLElBQUlKLE1BQU1DLE9BQU8sQ0FBQ0gsUUFBUTtZQUN4QkEsTUFBTUQsT0FBTyxDQUFDLENBQUNlLE9BQVNKLE9BQU9LLE1BQU0sQ0FBQ2QsS0FBS0ksdUJBQXVCUztRQUNwRSxPQUFPO1lBQ0xKLE9BQU9NLEdBQUcsQ0FBQ2YsS0FBS0ksdUJBQXVCTDtRQUN6QztJQUNGO0lBQ0EsT0FBT1U7QUFDVDtBQUVPLFNBQVNoQixPQUNkdUIsTUFBdUI7SUFDdkIsUUFBQUMsT0FBQUMsVUFBQUMsTUFBQSxFQUFBQyxtQkFBQSxJQUFBbkIsTUFBQWdCLE9BQUEsSUFBQUEsT0FBQSxRQUFBSSxPQUFBLEdBQUFBLE9BQUFKLE1BQUFJLE9BQUE7UUFBR0QsZ0JBQUFBLENBQUhDLE9BQUEsS0FBQUgsU0FBQSxDQUFBRyxLQUFzQzs7SUFFdENELGlCQUFpQnRCLE9BQU8sQ0FBQyxDQUFDRjtRQUN4QkssTUFBTXFCLElBQUksQ0FBQzFCLGFBQWEyQixJQUFJLElBQUl6QixPQUFPLENBQUMsQ0FBQ0UsTUFBUWdCLE9BQU9RLE1BQU0sQ0FBQ3hCO1FBQy9ESixhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0MsTUFBUWdCLE9BQU9GLE1BQU0sQ0FBQ2QsS0FBS0Q7SUFDMUQ7SUFDQSxPQUFPaUI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcudHM/ODJmYSJdLCJuYW1lcyI6WyJhc3NpZ24iLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsInZhbHVlIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwidXJsUXVlcnkiLCJyZXN1bHQiLCJVUkxTZWFyY2hQYXJhbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaXRlbSIsImFwcGVuZCIsInNldCIsInRhcmdldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZWFyY2hQYXJhbXNMaXN0IiwiX2tleSIsImZyb20iLCJrZXlzIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! - \*********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUM7Ozs7dURBQ2VBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG9CQUFvQkMsS0FBYTtJQUMvQyxPQUFPQSxNQUFNQyxPQUFPLENBQUMsT0FBTyxPQUFPO0FBQ3JDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yZW1vdmUtdHJhaWxpbmctc2xhc2gudHM/ZTk4MiJdLCJuYW1lcyI6WyJyZW1vdmVUcmFpbGluZ1NsYXNoIiwicm91dGUiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFXZ0JBOzs7ZUFBQUE7OzttQ0FWWTtBQVVyQixTQUFTQSxnQkFBZ0JDLEtBQTBCO0lBQTFCLE1BQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFjLEdBQTFCRjtJQUM5QixPQUFPLENBQUNHO1FBQ04sTUFBTUMsYUFBYUgsR0FBR0ksSUFBSSxDQUFDRjtRQUMzQixJQUFJLENBQUNDLFlBQVk7WUFDZixPQUFPO1FBQ1Q7UUFFQSxNQUFNRSxTQUFTLENBQUNOO1lBQ2QsSUFBSTtnQkFDRixPQUFPTyxtQkFBbUJQO1lBQzVCLEVBQUUsT0FBT1EsR0FBRztnQkFDVixNQUFNLElBQUlDLE9BQUFBLFdBQVcsQ0FBQztZQUN4QjtRQUNGO1FBQ0EsTUFBTUMsU0FBcUQsQ0FBQztRQUU1REMsT0FBT0MsSUFBSSxDQUFDVixRQUFRVyxPQUFPLENBQUMsQ0FBQ0M7WUFDM0IsTUFBTUMsSUFBSWIsTUFBTSxDQUFDWSxTQUFTO1lBQzFCLE1BQU1FLElBQUlaLFVBQVUsQ0FBQ1csRUFBRUUsR0FBRyxDQUFDO1lBQzNCLElBQUlELE1BQU1FLFdBQVc7Z0JBQ25CUixNQUFNLENBQUNJLFNBQVMsR0FBRyxDQUFDRSxFQUFFRyxPQUFPLENBQUMsT0FDMUJILEVBQUVJLEtBQUssQ0FBQyxLQUFLQyxHQUFHLENBQUMsQ0FBQ0MsUUFBVWhCLE9BQU9nQixVQUNuQ1AsRUFBRVEsTUFBTSxHQUNSO29CQUFDakIsT0FBT1U7aUJBQUcsR0FDWFYsT0FBT1U7WUFDYjtRQUNGO1FBQ0EsT0FBT047SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLnRzPzMxNzkiXSwibmFtZXMiOlsiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW0iLCJyZSIsImdyb3VwcyIsInBhdGhuYW1lIiwicm91dGVNYXRjaCIsImV4ZWMiLCJkZWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfIiwiRGVjb2RlRXJyb3IiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInNsdWdOYW1lIiwiZyIsIm0iLCJwb3MiLCJ1bmRlZmluZWQiLCJpbmRleE9mIiwic3BsaXQiLCJtYXAiLCJlbnRyeSIsInJlcGVhdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(ssr)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTJOZ0JBLHlCQUF1QjtlQUF2QkE7O0lBaEJBQyxvQkFBa0I7ZUFBbEJBOztJQW5JQUMsZUFBYTtlQUFiQTs7O2dEQXhFMkI7MENBQ1I7aURBQ0M7QUFFcEMsTUFBTUMsMEJBQTBCO0FBQ2hDLE1BQU1DLGtDQUFrQztBQWF4Qzs7Ozs7OztDQU9DLEdBQ0QsU0FBU0MsZUFBZUMsS0FBYTtJQUNuQyxNQUFNQyxXQUFXRCxNQUFNRSxVQUFVLENBQUMsUUFBUUYsTUFBTUcsUUFBUSxDQUFDO0lBQ3pELElBQUlGLFVBQVU7UUFDWkQsUUFBUUEsTUFBTUksS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxQjtJQUNBLE1BQU1DLFNBQVNMLE1BQU1FLFVBQVUsQ0FBQztJQUNoQyxJQUFJRyxRQUFRO1FBQ1ZMLFFBQVFBLE1BQU1JLEtBQUssQ0FBQztJQUN0QjtJQUNBLE9BQU87UUFBRUUsS0FBS047UUFBT0s7UUFBUUo7SUFBUztBQUN4QztBQUVBLFNBQVNNLHFCQUFxQkMsS0FBYTtJQUN6QyxNQUFNQyxXQUFXQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNGLE9BQU9KLEtBQUssQ0FBQyxHQUFHTyxLQUFLLENBQUM7SUFDM0QsTUFBTUMsU0FBeUMsQ0FBQztJQUNoRCxJQUFJQyxhQUFhO0lBQ2pCLE9BQU87UUFDTEMsb0JBQW9CTCxTQUNqQk0sR0FBRyxDQUFDLENBQUNDO1lBQ0osTUFBTUMsY0FBY0Msb0JBQUFBLDBCQUEwQixDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsSUFDbkRKLFFBQVFkLFVBQVUsQ0FBQ2tCO1lBRXJCLE1BQU1DLGVBQWVMLFFBQVFNLEtBQUssQ0FBQyx1QkFBdUIsdUJBQXVCOztZQUVqRixJQUFJTCxlQUFlSSxjQUFjO2dCQUMvQixNQUFNLEVBQUVmLEdBQUcsRUFBRUwsUUFB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QixFQUFFLEdBQUdQLHFCQUFxQm1CO0lBQ3BELE1BQU0sRUFBRWtDLFdBQVcsSUFBSSxFQUFFLEdBQUdEO0lBQzVCLElBQUk3Qyx1QkFBdUIsS0FBSztRQUM5QixJQUFJK0MsZ0JBQWdCRCxXQUFXLE9BQU87UUFDdEMsT0FBTztZQUNMRixZQUFZLE9BQUtHLGdCQUFjO1FBQ2pDO0lBQ0Y7SUFFQSxNQUFNLEVBQUVWLHVCQUF1QixFQUFFLEdBQUdGLDBCQUNsQ3ZCLGlCQUNBO0lBRUYsSUFBSW9DLHVCQUF1QkYsV0FBVyxlQUFlO0lBQ3JELE9BQU87UUFDTEYsWUFBWSxNQUFJUCwwQkFBMEJXLHVCQUFxQjtJQUNqRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC50cz8xNmExIl0sIm5hbWVzIjpbImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVSZWdleCIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsInVuZGVmaW5lZCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFxTWdCQTs7O2VBQUFBOzs7QUFyTWhCLE1BQU1DO0lBT0pDLE9BQU9DLE9BQWUsRUFBUTtRQUM1QixJQUFJLENBQUNDLE9BQU8sQ0FBQ0QsUUFBUUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQ0MsVUFBVSxFQUFFLEVBQUU7SUFDdkQ7SUFFQUMsU0FBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDckI7SUFFUUEsUUFBUUMsTUFBb0IsRUFBWTtRQUFoQ0EsSUFBQUEsV0FBQUEsS0FBQUEsR0FBQUEsU0FBaUI7UUFDL0IsTUFBTUMsZ0JBQWdCO2VBQUksSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FBRyxDQUFDQyxJQUFJO1FBQ3BELElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUMxQkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUNwRDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM5QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN2RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3RDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQ3pEO1FBRUEsTUFBTUcsU0FBU1QsY0FDWlUsR0FBRyxDQUFDLENBQUNDLElBQU0sSUFBSSxDQUFDVixRQUFRLENBQUNXLEdBQUcsQ0FBQ0QsR0FBSWIsT0FBTyxDQUFDLEtBQUdDLFNBQVNZLElBQUUsTUFDdkRFLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxPQUFTO21CQUFJRDttQkFBU0M7YUFBSyxFQUFFLEVBQUU7UUFFaEQsSUFBSSxJQUFJLENBQUNYLFFBQVEsS0FBSyxNQUFNO1lBQzFCSyxP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QUNzQyxHQUFHLENBQUNiLGFBQWEsSUFBSXBDO1FBQ3JDO1FBRUEsSUFBSSxDQUFDVyxRQUFRLENBQ1ZXLEdBQUcsQ0FBQ2MsYUFDSmpDLE9BQU8sQ0FBQzZCLFNBQVNILEtBQUssQ0FBQyxJQUFJSSxXQUFXQztJQUMzQzs7YUFqTUFQLFdBQUFBLEdBQXVCO2FBQ3ZCaEIsUUFBQUEsR0FBaUMsSUFBSXVDO2FBQ3JDcEMsUUFBQUEsR0FBMEI7YUFDMUJHLFlBQUFBLEdBQThCO2FBQzlCQyxvQkFBQUEsR0FBc0M7O0FBOEx4QztBQUVPLFNBQVNuQixnQkFDZG9ELGVBQXNDO0lBRXRDLGtGQUFrRjtJQUNsRiw0RUFBNEU7SUFDNUUsMkNBQTJDO0lBRTNDLHlFQUF5RTtJQUN6RSwyQkFBMkI7SUFDM0Isb0NBQW9DO0lBQ3BDLDhFQUE4RTtJQUM5RSx3RUFBd0U7SUFDeEUsZ0hBQWdIO0lBQ2hILDRFQUE0RTtJQUM1RSxNQUFNQyxPQUFPLElBQUlwRDtJQUVqQiw2RkFBNkY7SUFDN0ZtRCxnQkFBZ0JOLE9BQU8sQ0FBQyxDQUFDUSxXQUFhRCxLQUFLbkQsTUFBTSxDQUFDb0Q7SUFDbEQsNEdBQTRHO0lBQzVHLE9BQU9ELEtBQUs3QyxNQUFNO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLnRzP2Q1M2IiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiVXJsTm9kZSIsImluc2VydCIsInVybFBhdGgiLCJfaW5zZXJ0Iiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic21vb3NoIiwiX3Ntb29zaCIsInByZWZpeCIsImNoaWxkcmVuUGF0aHMiLCJjaGlsZHJlbiIsImtleXMiLCJzb3J0Iiwic2x1Z05hbWUiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVzdFNsdWdOYW1lIiwib3B0aW9uYWxSZXN0U2x1Z05hbWUiLCJyb3V0ZXMiLCJtYXAiLCJjIiwiZ2V0IiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJwdXNoIiwicGxhY2Vob2xkZXIiLCJyIiwic2xpY2UiLCJFcnJvciIsInVuc2hpZnQiLCJ1cmxQYXRocyIsInNsdWdOYW1lcyIsImlzQ2F0Y2hBbGwiLCJsZW5ndGgiLCJuZXh0U2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlZ21lbnROYW1lIiwiaXNPcHRpb25hbCIsInN1YnN0cmluZyIsImhhbmRsZVNsdWciLCJwcmV2aW91c1NsdWciLCJuZXh0U2x1ZyIsImZvckVhY2giLCJzbHVnIiwicmVwbGFjZSIsImhhcyIsInNldCIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/segment.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/segment.js ***! - \******************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n isGroupSegment: function() {\n return isGroupSegment;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFNYUEscUJBQW1CO2VBQW5CQTs7SUFEQUMsa0JBQWdCO2VBQWhCQTs7SUFMR0MsZ0JBQWM7ZUFBZEE7OztBQUFULFNBQVNBLGVBQWVDLE9BQWU7SUFDNUMsc0NBQXNDO0lBQ3RDLE9BQU9BLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBT0EsUUFBUUMsUUFBUSxDQUFDO0FBQ2hEO0FBRU8sTUFBTUgsbUJBQW1CO0FBQ3pCLE1BQU1ELHNCQUFzQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9zZWdtZW50LnRzP2FkMjUiXSwibmFtZXMiOlsiREVGQVVMVF9TRUdNRU5UX0tFWSIsIlBBR0VfU0VHTUVOVF9LRVkiLCJpc0dyb3VwU2VnbWVudCIsInNlZ21lbnQiLCJlbmRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/segment.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/side-effect.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst isServer = \"undefined\" === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2lkZS1lZmZlY3QuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FvQkE7OztlQUF3QkE7OzttQ0FuQjZCO0FBZXJELE1BQU1DLFdBQVcsZ0JBQWtCO0FBQ25DLE1BQU1DLDRCQUE0QkQsV0FBVyxLQUFPLElBQUlFLE9BQUFBLGVBQWU7QUFDdkUsTUFBTUMsc0JBQXNCSCxXQUFXLEtBQU8sSUFBSUksT0FBQUEsU0FBUztBQUU1QyxTQUFTTCxXQUFXTSxLQUFzQjtJQUN2RCxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsdUJBQXVCLEVBQUUsR0FBR0Y7SUFFakQsU0FBU0c7UUFDUCxJQUFJRixlQUFlQSxZQUFZRyxnQkFBZ0IsRUFBRTtZQUMvQyxNQUFNQyxlQUFlQyxPQUFBQSxRQUFRLENBQUNDLE9BQU8sQ0FDbkNDLE1BQU1DLElBQUksQ0FBQ1IsWUFBWUcsZ0JBQWdCLEVBQTBCTSxNQUFNLENBQ3JFQztZQUdKVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDL0Q7SUFDRjtJQUVBLElBQUlMLFVBQVU7WUFDWk07UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pEWDtJQUNGO0lBRUFQLDBCQUEwQjtZQUN4Qks7UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pELE9BQU87Z0JBQ0xiO1lBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGdDQUFBQSxZQUFhRyxnQkFBZ0IscUJBQTdCSCw4QkFBK0JjLE1BQU0sQ0FBQ2YsTUFBTWMsUUFBUTtRQUN0RDtJQUNGO0lBRUEsa0ZBQWtGO0lBQ2xGLG9GQUFvRjtJQUNwRixnRUFBZ0U7SUFDaEUscUZBQXFGO0lBQ3JGLG1GQUFtRjtJQUNuRmxCLDBCQUEwQjtRQUN4QixJQUFJSyxhQUFhO1lBQ2ZBLFlBQVllLGNBQWMsR0FBR2I7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSUYsYUFBYTtnQkFDZkEsWUFBWWUsY0FBYyxHQUFHYjtZQUMvQjtRQUNGO0lBQ0Y7SUFFQUwsb0JBQW9CO1FBQ2xCLElBQUlHLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtZQUM3Q2YsWUFBWWUsY0FBYztZQUMxQmYsWUFBWWUsY0FBYyxHQUFHO1FBQy9CO1FBQ0EsT0FBTztZQUNMLElBQUlmLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtnQkFDN0NmLFlBQVllLGNBQWM7Z0JBQzFCZixZQUFZZSxjQUFjLEdBQUc7WUFDL0I7UUFDRjtJQUNGO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3NpZGUtZWZmZWN0LnRzeD9lOGRkIl0sIm5hbWVzIjpbIlNpZGVFZmZlY3QiLCJpc1NlcnZlciIsInVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VDbGllbnRPbmx5RWZmZWN0IiwidXNlRWZmZWN0IiwicHJvcHMiLCJoZWFkTWFuYWdlciIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwiZW1pdENoYW5nZSIsIm1vdW50ZWRJbnN0YW5jZXMiLCJoZWFkRWxlbWVudHMiLCJDaGlsZHJlbiIsInRvQXJyYXkiLCJBcnJheSIsImZyb20iLCJmaWx0ZXIiLCJCb29sZWFuIiwidXBkYXRlSGVhZCIsImFkZCIsImNoaWxkcmVuIiwiZGVsZXRlIiwiX3BlbmRpbmdVcGRhdGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/side-effect.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBb2FhQSxhQUFXO2VBQVhBOztJQW9CQUMseUJBQXVCO2VBQXZCQTs7SUFQQUMsbUJBQWlCO2VBQWpCQTs7SUFaQUMsZ0JBQWM7ZUFBZEE7O0lBQ0FDLG1CQUFpQjtlQUFqQkE7O0lBVEFDLElBQUU7ZUFBRkE7O0lBQ0FDLElBQUU7ZUFBRkE7O0lBbFhBQyxZQUFVO2VBQVZBOztJQXNRR0MsVUFBUTtlQUFSQTs7SUErQkFDLGdCQUFjO2VBQWRBOztJQVhBQyxtQkFBaUI7ZUFBakJBOztJQUtBQyxRQUFNO2VBQU5BOztJQVBIQyxlQUFhO2VBQWJBOztJQW1CR0MsV0FBUztlQUFUQTs7SUFrQk1DLHFCQUFtQjtlQUFuQkE7O0lBZE5DLDBCQUF3QjtlQUF4QkE7O0lBK0dBQyxnQkFBYztlQUFkQTs7O0FBOVpULE1BQU1ULGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQXNROUQsU0FBU0MsU0FDZFMsRUFBSztJQUVMLElBQUlDLE9BQU87SUFDWCxJQUFJQztJQUVKLE9BQVE7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUNWLElBQUksQ0FBQ0YsTUFBTTtZQUNUQSxPQUFPO1lBQ1BDLFNBQVNGLE1BQU1HO1FBQ2pCO1FBQ0EsT0FBT0Q7SUFDVDtBQUNGO0FBRUEsMERBQTBEO0FBQzFELGdFQUFnRTtBQUNoRSxNQUFNRSxxQkFBcUI7QUFDcEIsTUFBTVQsZ0JBQWdCLENBQUNVLE1BQWdCRCxtQkFBbUJFLElBQUksQ0FBQ0Q7QUFFL0QsU0FBU1o7SUFDZCxNQUFNLEVBQUVjLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsT0FBT0Ms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SUFBWSxFQUFFWixPQUFlLENBQUU7UUFDekMsS0FBSztRQUNMLElBQUksQ0FBQ0EsT0FBTyxHQUFHLDBDQUF3Q1ksT0FBSyxNQUFHWjtJQUNqRTtBQUNGO0FBRU8sTUFBTWpELGdDQUFnQ2tEO0lBRTNDVSxhQUFjO1FBQ1osS0FBSztRQUNMLElBQUksQ0FBQ0UsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDYixPQUFPLEdBQUk7SUFDbEI7QUFDRjtBQVdPLFNBQVNsQyxlQUFlZ0QsS0FBWTtJQUN6QyxPQUFPQyxLQUFLQyxTQUFTLENBQUM7UUFBRWhCLFNBQVNjLE1BQU1kLE9BQU87UUFBRWlCLE9BQU9ILE1BQU1HLEtBQUs7SUFBQztBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cz8xYmQ1Il0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/utils.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NENBV1NBOzs7ZUFBQUE7OztBQVhULElBQUlBLFdBQVcsQ0FBQ0MsS0FBZTtBQUMvQixJQUFJQyxJQUF5QixFQUFjO0lBQ3pDLE1BQU1DLFdBQVcsSUFBSUM7SUFDckJKLFdBQVcsQ0FBQ0s7UUFDVixJQUFJLENBQUNGLFNBQVNHLEdBQUcsQ0FBQ0QsTUFBTTtZQUN0QkUsUUFBUUMsSUFBSSxDQUFDSDtRQUNmO1FBQ0FGLFNBQVNNLEdBQUcsQ0FBQ0o7SUFDZjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZS50cz9kMDQxIl0sIm5hbWVzIjpbIndhcm5PbmNlIiwiXyIsInByb2Nlc3MiLCJ3YXJuaW5ncyIsIlNldCIsIm1zZyIsImhhcyIsImNvbnNvbGUiLCJ3YXJuIiwiYWRkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/api/image.js": -/*!*********************************************!*\ - !*** ./node_modules/next/dist/api/image.js ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/image-external */ \"(rsc)/./node_modules/next/dist/shared/lib/image-external.js\");\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=image.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBdUQ7QUFDVjs7QUFFN0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcz9kMDAwIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tIFwiLi4vc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4uL3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWxcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/api/image.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/api/link.js": -/*!********************************************!*\ - !*** ./node_modules/next/dist/api/link.js ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(rsc)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_link__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=link.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5QztBQUNWOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanM/NDkyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/api/link.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/output/log.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/build/output/log.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n bootstrap: function() {\n return bootstrap;\n },\n error: function() {\n return error;\n },\n event: function() {\n return event;\n },\n info: function() {\n return info;\n },\n prefixes: function() {\n return prefixes;\n },\n ready: function() {\n return ready;\n },\n trace: function() {\n return trace;\n },\n wait: function() {\n return wait;\n },\n warn: function() {\n return warn;\n },\n warnOnce: function() {\n return warnOnce;\n }\n});\nconst _picocolors = __webpack_require__(/*! ../../lib/picocolors */ \"(rsc)/./node_modules/next/dist/lib/picocolors.js\");\nconst prefixes = {\n wait: (0, _picocolors.white)((0, _picocolors.bold)(\"○\")),\n error: (0, _picocolors.red)((0, _picocolors.bold)(\"⨯\")),\n warn: (0, _picocolors.yellow)((0, _picocolors.bold)(\"⚠\")),\n ready: \"▲\",\n info: (0, _picocolors.white)((0, _picocolors.bold)(\" \")),\n event: (0, _picocolors.green)((0, _picocolors.bold)(\"✓\")),\n trace: (0, _picocolors.magenta)((0, _picocolors.bold)(\"\\xbb\"))\n};\nconst LOGGING_METHOD = {\n log: \"log\",\n warn: \"warn\",\n error: \"error\"\n};\nfunction prefixedLog(prefixType, ...message) {\n if ((message[0] === \"\" || message[0] === undefined) && message.length === 1) {\n message.shift();\n }\n const consoleMethod = prefixType in LOGGING_METHOD ? LOGGING_METHOD[prefixType] : \"log\";\n const prefix = prefixes[prefixType];\n // If there's no message, don't print the prefix but a new line\n if (message.length === 0) {\n console[consoleMethod](\"\");\n } else {\n console[consoleMethod](\" \" + prefix, ...message);\n }\n}\nfunction bootstrap(...message) {\n console.log(\" \", ...message);\n}\nfunction wait(...message) {\n prefixedLog(\"wait\", ...message);\n}\nfunction error(...message) {\n prefixedLog(\"error\", ...message);\n}\nfunction warn(...message) {\n prefixedLog(\"warn\", ...message);\n}\nfunction ready(...message) {\n prefixedLog(\"ready\", ...message);\n}\nfunction info(...message) {\n prefixedLog(\"info\", ...message);\n}\nfunction event(...message) {\n prefixedLog(\"event\", ...message);\n}\nfunction trace(...message) {\n prefixedLog(\"trace\", ...message);\n}\nconst warnOnceMessages = new Set();\nfunction warnOnce(...message) {\n if (!warnOnceMessages.has(message[0])) {\n warnOnceMessages.add(message.join(\" \"));\n warn(...message);\n }\n}\n\n//# sourceMappingURL=log.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL291dHB1dC9sb2cuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBV0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELG9CQUFvQixtQkFBTyxDQUFDLDhFQUFzQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9vdXRwdXQvbG9nLmpzPzUzODYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBib290c3RyYXA6IG51bGwsXG4gICAgZXJyb3I6IG51bGwsXG4gICAgZXZlbnQ6IG51bGwsXG4gICAgaW5mbzogbnVsbCxcbiAgICBwcmVmaXhlczogbnVsbCxcbiAgICByZWFkeTogbnVsbCxcbiAgICB0cmFjZTogbnVsbCxcbiAgICB3YWl0OiBudWxsLFxuICAgIHdhcm46IG51bGwsXG4gICAgd2Fybk9uY2U6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgYm9vdHN0cmFwOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJvb3RzdHJhcDtcbiAgICB9LFxuICAgIGVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH0sXG4gICAgZXZlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgfSxcbiAgICBpbmZvOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGluZm87XG4gICAgfSxcbiAgICBwcmVmaXhlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwcmVmaXhlcztcbiAgICB9LFxuICAgIHJlYWR5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlYWR5O1xuICAgIH0sXG4gICAgdHJhY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdHJhY2U7XG4gICAgfSxcbiAgICB3YWl0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdhaXQ7XG4gICAgfSxcbiAgICB3YXJuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdhcm47XG4gICAgfSxcbiAgICB3YXJuT25jZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB3YXJuT25jZTtcbiAgICB9XG59KTtcbmNvbnN0IF9waWNvY29sb3JzID0gcmVxdWlyZShcIi4uLy4uL2xpYi9waWNvY29sb3JzXCIpO1xuY29uc3QgcHJlZml4ZXMgPSB7XG4gICAgd2FpdDogKDAsIF9waWNvY29sb3JzLndoaXRlKSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCLil4tcIikpLFxuICAgIGVycm9yOiAoMCwgX3BpY29jb2xvcnMucmVkKSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCLiqK9cIikpLFxuICAgIHdhcm46ICgwLCBfcGljb2NvbG9ycy55ZWxsb3cpKCgwLCBfcGljb2NvbG9ycy5ib2xkKShcIuKaoFwiKSksXG4gICAgcmVhZHk6IFwi4payXCIsXG4gICAgaW5mbzogKDAsIF9waWNvY29sb3JzLndoaXRlKSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCIgXCIpKSxcbiAgICBldmVudDogKDAsIF9waWNvY29sb3JzLmdyZWVuKSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCLinJNcIikpLFxuICAgIHRyYWNlOiAoMCwgX3BpY29jb2xvcnMubWFnZW50YSkoKDAsIF9waWNvY29sb3JzLmJvbGQpKFwiXFx4YmJcIikpXG59O1xuY29uc3QgTE9HR0lOR19NRVRIT0QgPSB7XG4gICAgbG9nOiBcImxvZ1wiLFxuICAgIHdhcm46IFwid2FyblwiLFxuICAgIGVycm9yOiBcImVycm9yXCJcbn07XG5mdW5jdGlvbiBwcmVmaXhlZExvZyhwcmVmaXhUeXBlLCAuLi5tZXNzYWdlKSB7XG4gICAgaWYgKChtZXNzYWdlWzBdID09PSBcIlwiIHx8IG1lc3NhZ2VbMF0gPT09IHVuZGVmaW5lZCkgJiYgbWVzc2FnZS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgbWVzc2FnZS5zaGlmdCgpO1xuICAgIH1cbiAgICBjb25zdCBjb25zb2xlTWV0aG9kID0gcHJlZml4VHlwZSBpbiBMT0dHSU5HX01FVEhPRCA/IExPR0dJTkdfTUVUSE9EW3ByZWZpeFR5cGVdIDogXCJsb2dcIjtcbiAgICBjb25zdCBwcmVmaXggPSBwcmVmaXhlc1twcmVmaXhUeXBlXTtcbiAgICAvLyBJZiB0aGVyZSdzIG5vIG1lc3NhZ2UsIGRvbid0IHByaW50IHRoZSBwcmVmaXggYnV0IGEgbmV3IGxpbmVcbiAgICBpZiAobWVzc2FnZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgY29uc29sZVtjb25zb2xlTWV0aG9kXShcIlwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlW2NvbnNvbGVNZXRob2RdKFwiIFwiICsgcHJlZml4LCAuLi5tZXNzYWdlKTtcbiAgICB9XG59XG5mdW5jdGlvbiBib290c3RyYXAoLi4ubWVzc2FnZSkge1xuICAgIGNvbnNvbGUubG9nKFwiIFwiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIHdhaXQoLi4ubWVzc2FnZSkge1xuICAgIHByZWZpeGVkTG9nKFwid2FpdFwiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIGVycm9yKC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcImVycm9yXCIsIC4uLm1lc3NhZ2UpO1xufVxuZnVuY3Rpb24gd2FybiguLi5tZXNzYWdlKSB7XG4gICAgcHJlZml4ZWRMb2coXCJ3YXJuXCIsIC4uLm1lc3NhZ2UpO1xufVxuZnVuY3Rpb24gcmVhZHkoLi4ubWVzc2FnZSkge1xuICAgIHByZWZpeGVkTG9nKFwicmVhZHlcIiwgLi4ubWVzc2FnZSk7XG59XG5mdW5jdGlvbiBpbmZvKC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcImluZm9cIiwgLi4ubWVzc2FnZSk7XG59XG5mdW5jdGlvbiBldmVudCguLi5tZXNzYWdlKSB7XG4gICAgcHJlZml4ZWRMb2coXCJldmVudFwiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIHRyYWNlKC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcInRyYWNlXCIsIC4uLm1lc3NhZ2UpO1xufVxuY29uc3Qgd2Fybk9uY2VNZXNzYWdlcyA9IG5ldyBTZXQoKTtcbmZ1bmN0aW9uIHdhcm5PbmNlKC4uLm1lc3NhZ2UpIHtcbiAgICBpZiAoIXdhcm5PbmNlTWVzc2FnZXMuaGFzKG1lc3NhZ2VbMF0pKSB7XG4gICAgICAgIHdhcm5PbmNlTWVzc2FnZXMuYWRkKG1lc3NhZ2Uuam9pbihcIiBcIikpO1xuICAgICAgICB3YXJuKC4uLm1lc3NhZ2UpO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9nLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/output/log.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/* eslint-disable import/no-extraneous-dependencies */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createProxy\", ({\n enumerable: true,\n get: function() {\n return createProxy;\n }\n}));\nconst _serveredge = __webpack_require__(/*! react-server-dom-webpack/server.edge */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\");\nconst createProxy = _serveredge.createClientModuleProxy;\n\n//# sourceMappingURL=module-proxy.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1sb2FkZXIvbW9kdWxlLXByb3h5LmpzIiwibWFwcGluZ3MiOiJBQUFBLHVEQUFvRTtBQUNwRSw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRiwrQ0FBOEM7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRixvQkFBb0IsbUJBQU8sQ0FBQyxzS0FBc0M7QUFDbEU7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1sb2FkZXIvbW9kdWxlLXByb3h5LmpzPzA5YzgiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY3JlYXRlUHJveHlcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVByb3h5O1xuICAgIH1cbn0pO1xuY29uc3QgX3NlcnZlcmVkZ2UgPSByZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL3NlcnZlci5lZGdlXCIpO1xuY29uc3QgY3JlYXRlUHJveHkgPSBfc2VydmVyZWRnZS5jcmVhdGVDbGllbnRNb2R1bGVQcm94eTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bW9kdWxlLXByb3h5LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/app-router-headers.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/app-router-headers.js ***! - \************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION: function() {\n return ACTION;\n },\n FLIGHT_PARAMETERS: function() {\n return FLIGHT_PARAMETERS;\n },\n NEXT_DID_POSTPONE_HEADER: function() {\n return NEXT_DID_POSTPONE_HEADER;\n },\n NEXT_ROUTER_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_PREFETCH_HEADER;\n },\n NEXT_ROUTER_STATE_TREE: function() {\n return NEXT_ROUTER_STATE_TREE;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\n },\n NEXT_URL: function() {\n return NEXT_URL;\n },\n RSC_CONTENT_TYPE_HEADER: function() {\n return RSC_CONTENT_TYPE_HEADER;\n },\n RSC_HEADER: function() {\n return RSC_HEADER;\n }\n});\nconst RSC_HEADER = \"RSC\";\nconst ACTION = \"Next-Action\";\nconst NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nconst NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nconst NEXT_URL = \"Next-Url\";\nconst RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nconst FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nconst NEXT_RSC_UNION_QUERY = \"_rsc\";\nconst NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFDYUEsUUFBTTtlQUFOQTs7SUFPQUMsbUJBQWlCO2VBQWpCQTs7SUFRQUMsMEJBQXdCO2VBQXhCQTs7SUFaQUMsNkJBQTJCO2VBQTNCQTs7SUFEQUMsd0JBQXNCO2VBQXRCQTs7SUFXQUMsc0JBQW9CO2VBQXBCQTs7SUFUQUMsVUFBUTtlQUFSQTs7SUFDQUMseUJBQXVCO2VBQXZCQTs7SUFOQUMsWUFBVTtlQUFWQTs7O0FBQU4sTUFBTUEsYUFBYTtBQUNuQixNQUFNUixTQUFTO0FBRWYsTUFBTUkseUJBQXlCO0FBQy9CLE1BQU1ELDhCQUE4QjtBQUNwQyxNQUFNRyxXQUFXO0FBQ2pCLE1BQU1DLDBCQUEwQjtBQUVoQyxNQUFNTixvQkFBb0I7SUFDL0I7UUFBQ087S0FBVztJQUNaO1FBQUNKO0tBQXVCO0lBQ3hCO1FBQUNEO0tBQTRCO0NBQzlCO0FBRU0sTUFBTUUsdUJBQXVCO0FBRTdCLE1BQU1ILDJCQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1oZWFkZXJzLnRzP2Y5NGUiXSwibmFtZXMiOlsiQUNUSU9OIiwiRkxJR0hUX1BBUkFNRVRFUlMiLCJORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIiLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJORVhUX1JPVVRFUl9TVEFURV9UUkVFIiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJORVhUX1VSTCIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiUlNDX0hFQURFUiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/app-router-headers.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/app-router.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/components/app-router.js ***! - \****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -/* __next_internal_client_entry_do_not_use__ cjs */ -const { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); -module.exports = createProxy("/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/app-router.js"); - //# sourceMappingURL=app-router.js.map - - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/client-page.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/client/components/client-page.js ***! - \*****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -/* __next_internal_client_entry_do_not_use__ cjs */ -const { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); -module.exports = createProxy("/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/client-page.js"); - //# sourceMappingURL=client-page.js.map - - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/error-boundary.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/client/components/error-boundary.js ***! - \********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -/* __next_internal_client_entry_do_not_use__ cjs */ -const { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); -module.exports = createProxy("/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/error-boundary.js"); - //# sourceMappingURL=error-boundary.js.map - - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! - \**************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUVhQSxvQkFBa0I7ZUFBbEJBOztJQVFHQyxzQkFBb0I7ZUFBcEJBOzs7QUFWaEIsTUFBTUMscUJBQXFCO0FBRXBCLE1BQU1GLDJCQUEyQkc7SUFHdENDLFlBQVlDLFdBQW1DLENBQUU7UUFDL0MsS0FBSyxDQUFDLDJCQUF5QkE7YUFETEEsV0FBQUEsR0FBQUE7YUFGNUJDLE1BQUFBLEdBQW9DSjtJQUlwQztBQUNGO0FBRU8sU0FBU0QscUJBQXFCTSxHQUFZO0lBQy9DLElBQ0UsT0FBT0EsUUFBUSxZQUNmQSxRQUFRLFFBQ1IsQ0FBRSxhQUFZQSxHQUFBQSxLQUNkLE9BQU9BLElBQUlELE1BQU0sS0FBSyxVQUN0QjtRQUNBLE9BQU87SUFDVDtJQUVBLE9BQU9DLElBQUlELE1BQU0sS0FBS0o7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LnRzPzgyMzgiXSwibmFtZXMiOlsiRHluYW1pY1NlcnZlckVycm9yIiwiaXNEeW5hbWljU2VydmVyRXJyb3IiLCJEWU5BTUlDX0VSUk9SX0NPREUiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiZGVzY3JpcHRpb24iLCJkaWdlc3QiLCJlcnIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/layout-router.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/layout-router.js ***! - \*******************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -/* __next_internal_client_entry_do_not_use__ cjs */ -const { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); -module.exports = createProxy("/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/layout-router.js"); - //# sourceMappingURL=layout-router.js.map - - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/not-found-boundary.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! - \************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -/* __next_internal_client_entry_do_not_use__ cjs */ -const { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); -module.exports = createProxy("/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/not-found-boundary.js"); - //# sourceMappingURL=not-found-boundary.js.map - - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/render-from-template-context.js ***! - \**********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -/* __next_internal_client_entry_do_not_use__ cjs */ -const { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); -module.exports = createProxy("/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/render-from-template-context.js"); - //# sourceMappingURL=render-from-template-context.js.map - - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/search-params.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/search-params.js ***! - \*******************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createDynamicallyTrackedSearchParams: function() {\n return createDynamicallyTrackedSearchParams;\n },\n createUntrackedSearchParams: function() {\n return createUntrackedSearchParams;\n }\n});\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst _dynamicrendering = __webpack_require__(/*! ../../server/app-render/dynamic-rendering */ \"(rsc)/./node_modules/next/dist/server/app-render/dynamic-rendering.js\");\nconst _reflect = __webpack_require__(/*! ../../server/web/spec-extension/adapters/reflect */ \"(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\");\nfunction createUntrackedSearchParams(searchParams) {\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (store && store.forceStatic) {\n return {};\n } else {\n return searchParams;\n }\n}\nfunction createDynamicallyTrackedSearchParams(searchParams) {\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (!store) {\n // we assume we are in a route handler or page render. just return the searchParams\n return searchParams;\n } else if (store.forceStatic) {\n // If we forced static we omit searchParams entirely. This is true both during SSR\n // and browser render because we need there to be parity between these environments\n return {};\n } else if (!store.isStaticGeneration && !store.dynamicShouldError) {\n // during dynamic renders we don't actually have to track anything so we just return\n // the searchParams directly. However if dynamic data access should error then we\n // still want to track access. This covers the case in Dev where all renders are dynamic\n // but we still want to error if you use a dynamic data source because it will fail the build\n // or revalidate if you do.\n return searchParams;\n } else {\n // We need to track dynamic access with a Proxy. We implement get, has, and ownKeys because\n // these can all be used to exfiltrate information about searchParams.\n return new Proxy({}, {\n get (target, prop, receiver) {\n if (typeof prop === \"string\") {\n (0, _dynamicrendering.trackDynamicDataAccessed)(store, \"searchParams.\" + prop);\n }\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n },\n has (target, prop) {\n if (typeof prop === \"string\") {\n (0, _dynamicrendering.trackDynamicDataAccessed)(store, \"searchParams.\" + prop);\n }\n return Reflect.has(target, prop);\n },\n ownKeys (target) {\n (0, _dynamicrendering.trackDynamicDataAccessed)(store, \"searchParams\");\n return Reflect.ownKeys(target);\n }\n });\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=search-params.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3NlYXJjaC1wYXJhbXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZ0NnQkEsc0NBQW9DO2VBQXBDQTs7SUFuQkFDLDZCQUEyQjtlQUEzQkE7OztrRUFYNkI7OENBQ0o7cUNBQ1Y7QUFTeEIsU0FBU0EsNEJBQ2RDLFlBQTRCO0lBRTVCLE1BQU1DLFFBQVFDLHNDQUFBQSw0QkFBNEIsQ0FBQ0MsUUFBUTtJQUNuRCxJQUFJRixTQUFTQSxNQUFNRyxXQUFXLEVBQUU7UUFDOUIsT0FBTyxDQUFDO0lBQ1YsT0FBTztRQUNMLE9BQU9KO0lBQ1Q7QUFDRjtBQVVPLFNBQVNGLHFDQUNkRSxZQUE0QjtJQUU1QixNQUFNQyxRQUFRQyxzQ0FBQUEsNEJBQTRCLENBQUNDLFFBQVE7SUFDbkQsSUFBSSxDQUFDRixPQUFPO1FBQ1YsbUZBQW1GO1FBQ25GLE9BQU9EO0lBQ1QsT0FBTyxJQUFJQyxNQUFNRyxXQUFXLEVBQUU7UUFDNUIsa0ZBQWtGO1FBQ2xGLG1GQUFtRjtRQUNuRixPQUFPLENBQUM7SUFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTUksa0JBQWtCLElBQUksQ0FBQ0osTUFBTUssa0JBQWtCLEVBQUU7UUFDakUsb0ZBQW9GO1FBQ3BGLGlGQUFpRjtRQUNqRix3RkFBd0Y7UUFDeEYsNkZBQTZGO1FBQzdGLDJCQUEyQjtRQUMzQixPQUFPTjtJQUNULE9BQU87UUFDTCwyRkFBMkY7UUFDM0Ysc0VBQXNFO1FBQ3RFLE9BQU8sSUFBSU8sTUFBTSxDQUFDLEdBQXFCO1lBQ3JDQyxLQUFJQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsUUFBUTtnQkFDeEIsSUFBSSxPQUFPRCxTQUFTLFVBQVU7b0JBQzVCRSxDQUFBQSxHQUFBQSxrQkFBQUEsd0JBQXdCLEVBQUNYLE9BQU8sa0JBQWdCUztnQkFDbEQ7Z0JBQ0EsT0FBT0csU0FBQUEsY0FBYyxDQUFDTCxHQUFHLENBQUNDLFFBQVFDLE1BQU1DO1lBQzFDO1lBQ0FHLEtBQUlMLE1BQU0sRUFBRUMsSUFBSTtnQkFDZCxJQUFJLE9BQU9BLFNBQVMsVUFBVTtvQkFDNUJFLENBQUFBLEdBQUFBLGtCQUFBQSx3QkFBd0IsRUFBQ1gsT0FBTyxrQkFBZ0JTO2dCQUNsRDtnQkFDQSxPQUFPSyxRQUFRRCxHQUFHLENBQUNMLFFBQVFDO1lBQzdCO1lBQ0FNLFNBQVFQLE1BQU07Z0JBQ1pHLENBQUFBLEdBQUFBLGtCQUFBQSx3QkFBd0IsRUFBQ1gsT0FBTztnQkFDaEMsT0FBT2MsUUFBUUMsT0FBTyxDQUFDUDtZQUN6QjtRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvc2VhcmNoLXBhcmFtcy50cz8xNTkyIl0sIm5hbWVzIjpbImNyZWF0ZUR5bmFtaWNhbGx5VHJhY2tlZFNlYXJjaFBhcmFtcyIsImNyZWF0ZVVudHJhY2tlZFNlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInN0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImdldFN0b3JlIiwiZm9yY2VTdGF0aWMiLCJpc1N0YXRpY0dlbmVyYXRpb24iLCJkeW5hbWljU2hvdWxkRXJyb3IiLCJQcm94eSIsImdldCIsInRhcmdldCIsInByb3AiLCJyZWNlaXZlciIsInRyYWNrRHluYW1pY0RhdGFBY2Nlc3NlZCIsIlJlZmxlY3RBZGFwdGVyIiwiaGFzIiwiUmVmbGVjdCIsIm93bktleXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/search-params.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/static-generation-bailout.js ***! - \*******************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n StaticGenBailoutError: function() {\n return StaticGenBailoutError;\n },\n isStaticGenBailoutError: function() {\n return isStaticGenBailoutError;\n }\n});\nconst NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nclass StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nfunction isStaticGenBailoutError(error) {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-bailout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBRWFBLHVCQUFxQjtlQUFyQkE7O0lBSUdDLHlCQUF1QjtlQUF2QkE7OztBQU5oQixNQUFNQywwQkFBMEI7QUFFekIsTUFBTUYsOEJBQThCRzs7O2FBQ3pCQyxJQUFBQSxHQUFPRjs7QUFDekI7QUFFTyxTQUFTRCx3QkFDZEksS0FBYztJQUVkLElBQUksT0FBT0EsVUFBVSxZQUFZQSxVQUFVLFFBQVEsQ0FBRSxXQUFVQSxLQUFBQSxHQUFRO1FBQ3JFLE9BQU87SUFDVDtJQUVBLE9BQU9BLE1BQU1ELElBQUksS0FBS0Y7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQudHM/NGMzMSJdLCJuYW1lcyI6WyJTdGF0aWNHZW5CYWlsb3V0RXJyb3IiLCJpc1N0YXRpY0dlbkJhaWxvdXRFcnJvciIsIk5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIiwiRXJyb3IiLCJjb2RlIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/image-component.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/image-component.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -/* __next_internal_client_entry_do_not_use__ cjs */ -const { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); -module.exports = createProxy("/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/image-component.js"); - //# sourceMappingURL=image-component.js.map - - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/client/link.js": -/*!***********************************************!*\ - !*** ./node_modules/next/dist/client/link.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -/* __next_internal_client_entry_do_not_use__ cjs */ -const { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); -module.exports = createProxy("/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/link.js"); - //# sourceMappingURL=link.js.map - - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@opentelemetry/api/index.js ***! - \*********************************************************************/ -/***/ ((module) => { - -eval("(()=>{\"use strict\";var e={491:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ContextAPI=void 0;const n=r(223);const a=r(172);const o=r(930);const i=\"context\";const c=new n.NoopContextManager;class ContextAPI{constructor(){}static getInstance(){if(!this._instance){this._instance=new ContextAPI}return this._instance}setGlobalContextManager(e){return(0,a.registerGlobal)(i,e,o.DiagAPI.instance())}active(){return this._getContextManager().active()}with(e,t,r,...n){return this._getContextManager().with(e,t,r,...n)}bind(e,t){return this._getContextManager().bind(e,t)}_getContextManager(){return(0,a.getGlobal)(i)||c}disable(){this._getContextManager().disable();(0,a.unregisterGlobal)(i,o.DiagAPI.instance())}}t.ContextAPI=ContextAPI},930:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagAPI=void 0;const n=r(56);const a=r(912);const o=r(957);const i=r(172);const c=\"diag\";class DiagAPI{constructor(){function _logProxy(e){return function(...t){const r=(0,i.getGlobal)(\"diag\");if(!r)return;return r[e](...t)}}const e=this;const setLogger=(t,r={logLevel:o.DiagLogLevel.INFO})=>{var n,c,s;if(t===e){const t=new Error(\"Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation\");e.error((n=t.stack)!==null&&n!==void 0?n:t.message);return false}if(typeof r===\"number\"){r={logLevel:r}}const u=(0,i.getGlobal)(\"diag\");const l=(0,a.createLogLevelDiagLogger)((c=r.logLevel)!==null&&c!==void 0?c:o.DiagLogLevel.INFO,t);if(u&&!r.suppressOverrideMessage){const e=(s=(new Error).stack)!==null&&s!==void 0?s:\"<failed to generate stacktrace>\";u.warn(`Current logger will be overwritten from ${e}`);l.warn(`Current logger will overwrite one already registered from ${e}`)}return(0,i.registerGlobal)(\"diag\",l,e,true)};e.setLogger=setLogger;e.disable=()=>{(0,i.unregisterGlobal)(c,e)};e.createComponentLogger=e=>new n.DiagComponentLogger(e);e.verbose=_logProxy(\"verbose\");e.debug=_logProxy(\"debug\");e.info=_logProxy(\"info\");e.warn=_logProxy(\"warn\");e.error=_logProxy(\"error\")}static instance(){if(!this._instance){this._instance=new DiagAPI}return this._instance}}t.DiagAPI=DiagAPI},653:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.MetricsAPI=void 0;const n=r(660);const a=r(172);const o=r(930);const i=\"metrics\";class MetricsAPI{constructor(){}static getInstance(){if(!this._instance){this._instance=new MetricsAPI}return this._instance}setGlobalMeterProvider(e){return(0,a.registerGlobal)(i,e,o.DiagAPI.instance())}getMeterProvider(){return(0,a.getGlobal)(i)||n.NOOP_METER_PROVIDER}getMeter(e,t,r){return this.getMeterProvider().getMeter(e,t,r)}disable(){(0,a.unregisterGlobal)(i,o.DiagAPI.instance())}}t.MetricsAPI=MetricsAPI},181:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.PropagationAPI=void 0;const n=r(172);const a=r(874);const o=r(194);const i=r(277);const c=r(369);const s=r(930);const u=\"propagation\";const l=new a.NoopTextMapPropagator;class PropagationAPI{constructor(){this.createBaggage=c.createBaggage;this.getBaggage=i.getBaggage;this.getActiveBaggage=i.getActiveBaggage;this.setBaggage=i.setBaggage;this.deleteBaggage=i.deleteBaggage}static getInstance(){if(!this._instance){this._instance=new PropagationAPI}return this._instance}setGlobalPropagator(e){return(0,n.registerGlobal)(u,e,s.DiagAPI.instance())}inject(e,t,r=o.defaultTextMapSetter){return this._getGlobalPropagator().inject(e,t,r)}extract(e,t,r=o.defaultTextMapGetter){return this._getGlobalPropagator().extract(e,t,r)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,n.unregisterGlobal)(u,s.DiagAPI.instance())}_getGlobalPropagator(){return(0,n.getGlobal)(u)||l}}t.PropagationAPI=PropagationAPI},997:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.TraceAPI=void 0;const n=r(172);const a=r(846);const o=r(139);const i=r(607);const c=r(930);const s=\"trace\";class TraceAPI{constructor(){this._proxyTracerProvider=new a.ProxyTracerProvider;this.wrapSpanContext=o.wrapSpanContext;this.isSpanContextValid=o.isSpanContextValid;this.deleteSpan=i.deleteSpan;this.getSpan=i.getSpan;this.getActiveSpan=i.getActiveSpan;this.getSpanContext=i.getSpanContext;this.setSpan=i.setSpan;this.setSpanContext=i.setSpanContext}static getInstance(){if(!this._instance){this._instance=new TraceAPI}return this._instance}setGlobalTracerProvider(e){const t=(0,n.registerGlobal)(s,this._proxyTracerProvider,c.DiagAPI.instance());if(t){this._proxyTracerProvider.setDelegate(e)}return t}getTracerProvider(){return(0,n.getGlobal)(s)||this._proxyTracerProvider}getTracer(e,t){return this.getTracerProvider().getTracer(e,t)}disable(){(0,n.unregisterGlobal)(s,c.DiagAPI.instance());this._proxyTracerProvider=new a.ProxyTracerProvider}}t.TraceAPI=TraceAPI},277:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.deleteBaggage=t.setBaggage=t.getActiveBaggage=t.getBaggage=void 0;const n=r(491);const a=r(780);const o=(0,a.createContextKey)(\"OpenTelemetry Baggage Key\");function getBaggage(e){return e.getValue(o)||undefined}t.getBaggage=getBaggage;function getActiveBaggage(){return getBaggage(n.ContextAPI.getInstance().active())}t.getActiveBaggage=getActiveBaggage;function setBaggage(e,t){return e.setValue(o,t)}t.setBaggage=setBaggage;function deleteBaggage(e){return e.deleteValue(o)}t.deleteBaggage=deleteBaggage},993:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.BaggageImpl=void 0;class BaggageImpl{constructor(e){this._entries=e?new Map(e):new Map}getEntry(e){const t=this._entries.get(e);if(!t){return undefined}return Object.assign({},t)}getAllEntries(){return Array.from(this._entries.entries()).map((([e,t])=>[e,t]))}setEntry(e,t){const r=new BaggageImpl(this._entries);r._entries.set(e,t);return r}removeEntry(e){const t=new BaggageImpl(this._entries);t._entries.delete(e);return t}removeEntries(...e){const t=new BaggageImpl(this._entries);for(const r of e){t._entries.delete(r)}return t}clear(){return new BaggageImpl}}t.BaggageImpl=BaggageImpl},830:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.baggageEntryMetadataSymbol=void 0;t.baggageEntryMetadataSymbol=Symbol(\"BaggageEntryMetadata\")},369:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.baggageEntryMetadataFromString=t.createBaggage=void 0;const n=r(930);const a=r(993);const o=r(830);const i=n.DiagAPI.instance();function createBaggage(e={}){return new a.BaggageImpl(new Map(Object.entries(e)))}t.createBaggage=createBaggage;function baggageEntryMetadataFromString(e){if(typeof e!==\"string\"){i.error(`Cannot create baggage metadata from unknown type: ${typeof e}`);e=\"\"}return{__TYPE__:o.baggageEntryMetadataSymbol,toString(){return e}}}t.baggageEntryMetadataFromString=baggageEntryMetadataFromString},67:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.context=void 0;const n=r(491);t.context=n.ContextAPI.getInstance()},223:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopContextManager=void 0;const n=r(780);class NoopContextManager{active(){return n.ROOT_CONTEXT}with(e,t,r,...n){return t.call(r,...n)}bind(e,t){return t}enable(){return this}disable(){return this}}t.NoopContextManager=NoopContextManager},780:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ROOT_CONTEXT=t.createContextKey=void 0;function createContextKey(e){return Symbol.for(e)}t.createContextKey=createContextKey;class BaseContext{constructor(e){const t=this;t._currentContext=e?new Map(e):new Map;t.getValue=e=>t._currentContext.get(e);t.setValue=(e,r)=>{const n=new BaseContext(t._currentContext);n._currentContext.set(e,r);return n};t.deleteValue=e=>{const r=new BaseContext(t._currentContext);r._currentContext.delete(e);return r}}}t.ROOT_CONTEXT=new BaseContext},506:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.diag=void 0;const n=r(930);t.diag=n.DiagAPI.instance()},56:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagComponentLogger=void 0;const n=r(172);class DiagComponentLogger{constructor(e){this._namespace=e.namespace||\"DiagComponentLogger\"}debug(...e){return logProxy(\"debug\",this._namespace,e)}error(...e){return logProxy(\"error\",this._namespace,e)}info(...e){return logProxy(\"info\",this._namespace,e)}warn(...e){return logProxy(\"warn\",this._namespace,e)}verbose(...e){return logProxy(\"verbose\",this._namespace,e)}}t.DiagComponentLogger=DiagComponentLogger;function logProxy(e,t,r){const a=(0,n.getGlobal)(\"diag\");if(!a){return}r.unshift(t);return a[e](...r)}},972:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagConsoleLogger=void 0;const r=[{n:\"error\",c:\"error\"},{n:\"warn\",c:\"warn\"},{n:\"info\",c:\"info\"},{n:\"debug\",c:\"debug\"},{n:\"verbose\",c:\"trace\"}];class DiagConsoleLogger{constructor(){function _consoleFunc(e){return function(...t){if(console){let r=console[e];if(typeof r!==\"function\"){r=console.log}if(typeof r===\"function\"){return r.apply(console,t)}}}}for(let e=0;e<r.length;e++){this[r[e].n]=_consoleFunc(r[e].c)}}}t.DiagConsoleLogger=DiagConsoleLogger},912:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.createLogLevelDiagLogger=void 0;const n=r(957);function createLogLevelDiagLogger(e,t){if(e<n.DiagLogLevel.NONE){e=n.DiagLogLevel.NONE}else if(e>n.DiagLogLevel.ALL){e=n.DiagLogLevel.ALL}t=t||{};function _filterFunc(r,n){const a=t[r];if(typeof a===\"function\"&&e>=n){return a.bind(t)}return function(){}}return{error:_filterFunc(\"error\",n.DiagLogLevel.ERROR),warn:_filterFunc(\"warn\",n.DiagLogLevel.WARN),info:_filterFunc(\"info\",n.DiagLogLevel.INFO),debug:_filterFunc(\"debug\",n.DiagLogLevel.DEBUG),verbose:_filterFunc(\"verbose\",n.DiagLogLevel.VERBOSE)}}t.createLogLevelDiagLogger=createLogLevelDiagLogger},957:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagLogLevel=void 0;var r;(function(e){e[e[\"NONE\"]=0]=\"NONE\";e[e[\"ERROR\"]=30]=\"ERROR\";e[e[\"WARN\"]=50]=\"WARN\";e[e[\"INFO\"]=60]=\"INFO\";e[e[\"DEBUG\"]=70]=\"DEBUG\";e[e[\"VERBOSE\"]=80]=\"VERBOSE\";e[e[\"ALL\"]=9999]=\"ALL\"})(r=t.DiagLogLevel||(t.DiagLogLevel={}))},172:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.unregisterGlobal=t.getGlobal=t.registerGlobal=void 0;const n=r(200);const a=r(521);const o=r(130);const i=a.VERSION.split(\".\")[0];const c=Symbol.for(`opentelemetry.js.api.${i}`);const s=n._globalThis;function registerGlobal(e,t,r,n=false){var o;const i=s[c]=(o=s[c])!==null&&o!==void 0?o:{version:a.VERSION};if(!n&&i[e]){const t=new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e}`);r.error(t.stack||t.message);return false}if(i.version!==a.VERSION){const t=new Error(`@opentelemetry/api: Registration of version v${i.version} for ${e} does not match previously registered API v${a.VERSION}`);r.error(t.stack||t.message);return false}i[e]=t;r.debug(`@opentelemetry/api: Registered a global for ${e} v${a.VERSION}.`);return true}t.registerGlobal=registerGlobal;function getGlobal(e){var t,r;const n=(t=s[c])===null||t===void 0?void 0:t.version;if(!n||!(0,o.isCompatible)(n)){return}return(r=s[c])===null||r===void 0?void 0:r[e]}t.getGlobal=getGlobal;function unregisterGlobal(e,t){t.debug(`@opentelemetry/api: Unregistering a global for ${e} v${a.VERSION}.`);const r=s[c];if(r){delete r[e]}}t.unregisterGlobal=unregisterGlobal},130:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.isCompatible=t._makeCompatibilityCheck=void 0;const n=r(521);const a=/^(\\d+)\\.(\\d+)\\.(\\d+)(-(.+))?$/;function _makeCompatibilityCheck(e){const t=new Set([e]);const r=new Set;const n=e.match(a);if(!n){return()=>false}const o={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(o.prerelease!=null){return function isExactmatch(t){return t===e}}function _reject(e){r.add(e);return false}function _accept(e){t.add(e);return true}return function isCompatible(e){if(t.has(e)){return true}if(r.has(e)){return false}const n=e.match(a);if(!n){return _reject(e)}const i={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(i.prerelease!=null){return _reject(e)}if(o.major!==i.major){return _reject(e)}if(o.major===0){if(o.minor===i.minor&&o.patch<=i.patch){return _accept(e)}return _reject(e)}if(o.minor<=i.minor){return _accept(e)}return _reject(e)}}t._makeCompatibilityCheck=_makeCompatibilityCheck;t.isCompatible=_makeCompatibilityCheck(n.VERSION)},886:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.metrics=void 0;const n=r(653);t.metrics=n.MetricsAPI.getInstance()},901:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ValueType=void 0;var r;(function(e){e[e[\"INT\"]=0]=\"INT\";e[e[\"DOUBLE\"]=1]=\"DOUBLE\"})(r=t.ValueType||(t.ValueType={}))},102:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.createNoopMeter=t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=t.NOOP_OBSERVABLE_GAUGE_METRIC=t.NOOP_OBSERVABLE_COUNTER_METRIC=t.NOOP_UP_DOWN_COUNTER_METRIC=t.NOOP_HISTOGRAM_METRIC=t.NOOP_COUNTER_METRIC=t.NOOP_METER=t.NoopObservableUpDownCounterMetric=t.NoopObservableGaugeMetric=t.NoopObservableCounterMetric=t.NoopObservableMetric=t.NoopHistogramMetric=t.NoopUpDownCounterMetric=t.NoopCounterMetric=t.NoopMetric=t.NoopMeter=void 0;class NoopMeter{constructor(){}createHistogram(e,r){return t.NOOP_HISTOGRAM_METRIC}createCounter(e,r){return t.NOOP_COUNTER_METRIC}createUpDownCounter(e,r){return t.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(e,r){return t.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(e,r){return t.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(e,r){return t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(e,t){}removeBatchObservableCallback(e){}}t.NoopMeter=NoopMeter;class NoopMetric{}t.NoopMetric=NoopMetric;class NoopCounterMetric extends NoopMetric{add(e,t){}}t.NoopCounterMetric=NoopCounterMetric;class NoopUpDownCounterMetric extends NoopMetric{add(e,t){}}t.NoopUpDownCounterMetric=NoopUpDownCounterMetric;class NoopHistogramMetric extends NoopMetric{record(e,t){}}t.NoopHistogramMetric=NoopHistogramMetric;class NoopObservableMetric{addCallback(e){}removeCallback(e){}}t.NoopObservableMetric=NoopObservableMetric;class NoopObservableCounterMetric extends NoopObservableMetric{}t.NoopObservableCounterMetric=NoopObservableCounterMetric;class NoopObservableGaugeMetric extends NoopObservableMetric{}t.NoopObservableGaugeMetric=NoopObservableGaugeMetric;class NoopObservableUpDownCounterMetric extends NoopObservableMetric{}t.NoopObservableUpDownCounterMetric=NoopObservableUpDownCounterMetric;t.NOOP_METER=new NoopMeter;t.NOOP_COUNTER_METRIC=new NoopCounterMetric;t.NOOP_HISTOGRAM_METRIC=new NoopHistogramMetric;t.NOOP_UP_DOWN_COUNTER_METRIC=new NoopUpDownCounterMetric;t.NOOP_OBSERVABLE_COUNTER_METRIC=new NoopObservableCounterMetric;t.NOOP_OBSERVABLE_GAUGE_METRIC=new NoopObservableGaugeMetric;t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new NoopObservableUpDownCounterMetric;function createNoopMeter(){return t.NOOP_METER}t.createNoopMeter=createNoopMeter},660:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NOOP_METER_PROVIDER=t.NoopMeterProvider=void 0;const n=r(102);class NoopMeterProvider{getMeter(e,t,r){return n.NOOP_METER}}t.NoopMeterProvider=NoopMeterProvider;t.NOOP_METER_PROVIDER=new NoopMeterProvider},200:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var a=this&&this.__exportStar||function(e,t){for(var r in e)if(r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r))n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:true});a(r(46),t)},651:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t._globalThis=void 0;t._globalThis=typeof globalThis===\"object\"?globalThis:global},46:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var a=this&&this.__exportStar||function(e,t){for(var r in e)if(r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r))n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:true});a(r(651),t)},939:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.propagation=void 0;const n=r(181);t.propagation=n.PropagationAPI.getInstance()},874:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopTextMapPropagator=void 0;class NoopTextMapPropagator{inject(e,t){}extract(e,t){return e}fields(){return[]}}t.NoopTextMapPropagator=NoopTextMapPropagator},194:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.defaultTextMapSetter=t.defaultTextMapGetter=void 0;t.defaultTextMapGetter={get(e,t){if(e==null){return undefined}return e[t]},keys(e){if(e==null){return[]}return Object.keys(e)}};t.defaultTextMapSetter={set(e,t,r){if(e==null){return}e[t]=r}}},845:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.trace=void 0;const n=r(997);t.trace=n.TraceAPI.getInstance()},403:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NonRecordingSpan=void 0;const n=r(476);class NonRecordingSpan{constructor(e=n.INVALID_SPAN_CONTEXT){this._spanContext=e}spanContext(){return this._spanContext}setAttribute(e,t){return this}setAttributes(e){return this}addEvent(e,t){return this}setStatus(e){return this}updateName(e){return this}end(e){}isRecording(){return false}recordException(e,t){}}t.NonRecordingSpan=NonRecordingSpan},614:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopTracer=void 0;const n=r(491);const a=r(607);const o=r(403);const i=r(139);const c=n.ContextAPI.getInstance();class NoopTracer{startSpan(e,t,r=c.active()){const n=Boolean(t===null||t===void 0?void 0:t.root);if(n){return new o.NonRecordingSpan}const s=r&&(0,a.getSpanContext)(r);if(isSpanContext(s)&&(0,i.isSpanContextValid)(s)){return new o.NonRecordingSpan(s)}else{return new o.NonRecordingSpan}}startActiveSpan(e,t,r,n){let o;let i;let s;if(arguments.length<2){return}else if(arguments.length===2){s=t}else if(arguments.length===3){o=t;s=r}else{o=t;i=r;s=n}const u=i!==null&&i!==void 0?i:c.active();const l=this.startSpan(e,o,u);const g=(0,a.setSpan)(u,l);return c.with(g,s,undefined,l)}}t.NoopTracer=NoopTracer;function isSpanContext(e){return typeof e===\"object\"&&typeof e[\"spanId\"]===\"string\"&&typeof e[\"traceId\"]===\"string\"&&typeof e[\"traceFlags\"]===\"number\"}},124:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopTracerProvider=void 0;const n=r(614);class NoopTracerProvider{getTracer(e,t,r){return new n.NoopTracer}}t.NoopTracerProvider=NoopTracerProvider},125:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ProxyTracer=void 0;const n=r(614);const a=new n.NoopTracer;class ProxyTracer{constructor(e,t,r,n){this._provider=e;this.name=t;this.version=r;this.options=n}startSpan(e,t,r){return this._getTracer().startSpan(e,t,r)}startActiveSpan(e,t,r,n){const a=this._getTracer();return Reflect.apply(a.startActiveSpan,a,arguments)}_getTracer(){if(this._delegate){return this._delegate}const e=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!e){return a}this._delegate=e;return this._delegate}}t.ProxyTracer=ProxyTracer},846:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ProxyTracerProvider=void 0;const n=r(125);const a=r(124);const o=new a.NoopTracerProvider;class ProxyTracerProvider{getTracer(e,t,r){var a;return(a=this.getDelegateTracer(e,t,r))!==null&&a!==void 0?a:new n.ProxyTracer(this,e,t,r)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:o}setDelegate(e){this._delegate=e}getDelegateTracer(e,t,r){var n;return(n=this._delegate)===null||n===void 0?void 0:n.getTracer(e,t,r)}}t.ProxyTracerProvider=ProxyTracerProvider},996:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.SamplingDecision=void 0;var r;(function(e){e[e[\"NOT_RECORD\"]=0]=\"NOT_RECORD\";e[e[\"RECORD\"]=1]=\"RECORD\";e[e[\"RECORD_AND_SAMPLED\"]=2]=\"RECORD_AND_SAMPLED\"})(r=t.SamplingDecision||(t.SamplingDecision={}))},607:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.getSpanContext=t.setSpanContext=t.deleteSpan=t.setSpan=t.getActiveSpan=t.getSpan=void 0;const n=r(780);const a=r(403);const o=r(491);const i=(0,n.createContextKey)(\"OpenTelemetry Context Key SPAN\");function getSpan(e){return e.getValue(i)||undefined}t.getSpan=getSpan;function getActiveSpan(){return getSpan(o.ContextAPI.getInstance().active())}t.getActiveSpan=getActiveSpan;function setSpan(e,t){return e.setValue(i,t)}t.setSpan=setSpan;function deleteSpan(e){return e.deleteValue(i)}t.deleteSpan=deleteSpan;function setSpanContext(e,t){return setSpan(e,new a.NonRecordingSpan(t))}t.setSpanContext=setSpanContext;function getSpanContext(e){var t;return(t=getSpan(e))===null||t===void 0?void 0:t.spanContext()}t.getSpanContext=getSpanContext},325:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.TraceStateImpl=void 0;const n=r(564);const a=32;const o=512;const i=\",\";const c=\"=\";class TraceStateImpl{constructor(e){this._internalState=new Map;if(e)this._parse(e)}set(e,t){const r=this._clone();if(r._internalState.has(e)){r._internalState.delete(e)}r._internalState.set(e,t);return r}unset(e){const t=this._clone();t._internalState.delete(e);return t}get(e){return this._internalState.get(e)}serialize(){return this._keys().reduce(((e,t)=>{e.push(t+c+this.get(t));return e}),[]).join(i)}_parse(e){if(e.length>o)return;this._internalState=e.split(i).reverse().reduce(((e,t)=>{const r=t.trim();const a=r.indexOf(c);if(a!==-1){const o=r.slice(0,a);const i=r.slice(a+1,t.length);if((0,n.validateKey)(o)&&(0,n.validateValue)(i)){e.set(o,i)}else{}}return e}),new Map);if(this._internalState.size>a){this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,a))}}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){const e=new TraceStateImpl;e._internalState=new Map(this._internalState);return e}}t.TraceStateImpl=TraceStateImpl},564:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.validateValue=t.validateKey=void 0;const r=\"[_0-9a-z-*/]\";const n=`[a-z]${r}{0,255}`;const a=`[a-z0-9]${r}{0,240}@[a-z]${r}{0,13}`;const o=new RegExp(`^(?:${n}|${a})$`);const i=/^[ -~]{0,255}[!-~]$/;const c=/,|=/;function validateKey(e){return o.test(e)}t.validateKey=validateKey;function validateValue(e){return i.test(e)&&!c.test(e)}t.validateValue=validateValue},98:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.createTraceState=void 0;const n=r(325);function createTraceState(e){return new n.TraceStateImpl(e)}t.createTraceState=createTraceState},476:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.INVALID_SPAN_CONTEXT=t.INVALID_TRACEID=t.INVALID_SPANID=void 0;const n=r(475);t.INVALID_SPANID=\"0000000000000000\";t.INVALID_TRACEID=\"00000000000000000000000000000000\";t.INVALID_SPAN_CONTEXT={traceId:t.INVALID_TRACEID,spanId:t.INVALID_SPANID,traceFlags:n.TraceFlags.NONE}},357:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.SpanKind=void 0;var r;(function(e){e[e[\"INTERNAL\"]=0]=\"INTERNAL\";e[e[\"SERVER\"]=1]=\"SERVER\";e[e[\"CLIENT\"]=2]=\"CLIENT\";e[e[\"PRODUCER\"]=3]=\"PRODUCER\";e[e[\"CONSUMER\"]=4]=\"CONSUMER\"})(r=t.SpanKind||(t.SpanKind={}))},139:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.wrapSpanContext=t.isSpanContextValid=t.isValidSpanId=t.isValidTraceId=void 0;const n=r(476);const a=r(403);const o=/^([0-9a-f]{32})$/i;const i=/^[0-9a-f]{16}$/i;function isValidTraceId(e){return o.test(e)&&e!==n.INVALID_TRACEID}t.isValidTraceId=isValidTraceId;function isValidSpanId(e){return i.test(e)&&e!==n.INVALID_SPANID}t.isValidSpanId=isValidSpanId;function isSpanContextValid(e){return isValidTraceId(e.traceId)&&isValidSpanId(e.spanId)}t.isSpanContextValid=isSpanContextValid;function wrapSpanContext(e){return new a.NonRecordingSpan(e)}t.wrapSpanContext=wrapSpanContext},847:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.SpanStatusCode=void 0;var r;(function(e){e[e[\"UNSET\"]=0]=\"UNSET\";e[e[\"OK\"]=1]=\"OK\";e[e[\"ERROR\"]=2]=\"ERROR\"})(r=t.SpanStatusCode||(t.SpanStatusCode={}))},475:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.TraceFlags=void 0;var r;(function(e){e[e[\"NONE\"]=0]=\"NONE\";e[e[\"SAMPLED\"]=1]=\"SAMPLED\"})(r=t.TraceFlags||(t.TraceFlags={}))},521:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.VERSION=void 0;t.VERSION=\"1.6.0\"}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var a=t[r]={exports:{}};var o=true;try{e[r].call(a.exports,a,a.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return a.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r={};(()=>{var e=r;Object.defineProperty(e,\"__esModule\",{value:true});e.trace=e.propagation=e.metrics=e.diag=e.context=e.INVALID_SPAN_CONTEXT=e.INVALID_TRACEID=e.INVALID_SPANID=e.isValidSpanId=e.isValidTraceId=e.isSpanContextValid=e.createTraceState=e.TraceFlags=e.SpanStatusCode=e.SpanKind=e.SamplingDecision=e.ProxyTracerProvider=e.ProxyTracer=e.defaultTextMapSetter=e.defaultTextMapGetter=e.ValueType=e.createNoopMeter=e.DiagLogLevel=e.DiagConsoleLogger=e.ROOT_CONTEXT=e.createContextKey=e.baggageEntryMetadataFromString=void 0;var t=__nccwpck_require__(369);Object.defineProperty(e,\"baggageEntryMetadataFromString\",{enumerable:true,get:function(){return t.baggageEntryMetadataFromString}});var n=__nccwpck_require__(780);Object.defineProperty(e,\"createContextKey\",{enumerable:true,get:function(){return n.createContextKey}});Object.defineProperty(e,\"ROOT_CONTEXT\",{enumerable:true,get:function(){return n.ROOT_CONTEXT}});var a=__nccwpck_require__(972);Object.defineProperty(e,\"DiagConsoleLogger\",{enumerable:true,get:function(){return a.DiagConsoleLogger}});var o=__nccwpck_require__(957);Object.defineProperty(e,\"DiagLogLevel\",{enumerable:true,get:function(){return o.DiagLogLevel}});var i=__nccwpck_require__(102);Object.defineProperty(e,\"createNoopMeter\",{enumerable:true,get:function(){return i.createNoopMeter}});var c=__nccwpck_require__(901);Object.defineProperty(e,\"ValueType\",{enumerable:true,get:function(){return c.ValueType}});var s=__nccwpck_require__(194);Object.defineProperty(e,\"defaultTextMapGetter\",{enumerable:true,get:function(){return s.defaultTextMapGetter}});Object.defineProperty(e,\"defaultTextMapSetter\",{enumerable:true,get:function(){return s.defaultTextMapSetter}});var u=__nccwpck_require__(125);Object.defineProperty(e,\"ProxyTracer\",{enumerable:true,get:function(){return u.ProxyTracer}});var l=__nccwpck_require__(846);Object.defineProperty(e,\"ProxyTracerProvider\",{enumerable:true,get:function(){return l.ProxyTracerProvider}});var g=__nccwpck_require__(996);Object.defineProperty(e,\"SamplingDecision\",{enumerable:true,get:function(){return g.SamplingDecision}});var p=__nccwpck_require__(357);Object.defineProperty(e,\"SpanKind\",{enumerable:true,get:function(){return p.SpanKind}});var d=__nccwpck_require__(847);Object.defineProperty(e,\"SpanStatusCode\",{enumerable:true,get:function(){return d.SpanStatusCode}});var _=__nccwpck_require__(475);Object.defineProperty(e,\"TraceFlags\",{enumerable:true,get:function(){return _.TraceFlags}});var f=__nccwpck_require__(98);Object.defineProperty(e,\"createTraceState\",{enumerable:true,get:function(){return f.createTraceState}});var b=__nccwpck_require__(139);Object.defineProperty(e,\"isSpanContextValid\",{enumerable:true,get:function(){return b.isSpanContextValid}});Object.defineProperty(e,\"isValidTraceId\",{enumerable:true,get:function(){return b.isValidTraceId}});Object.defineProperty(e,\"isValidSpanId\",{enumerable:true,get:function(){return b.isValidSpanId}});var v=__nccwpck_require__(476);Object.defineProperty(e,\"INVALID_SPANID\",{enumerable:true,get:function(){return v.INVALID_SPANID}});Object.defineProperty(e,\"INVALID_TRACEID\",{enumerable:true,get:function(){return v.INVALID_TRACEID}});Object.defineProperty(e,\"INVALID_SPAN_CONTEXT\",{enumerable:true,get:function(){return v.INVALID_SPAN_CONTEXT}});const O=__nccwpck_require__(67);Object.defineProperty(e,\"context\",{enumerable:true,get:function(){return O.context}});const P=__nccwpck_require__(506);Object.defineProperty(e,\"diag\",{enumerable:true,get:function(){return P.diag}});const N=__nccwpck_require__(886);Object.defineProperty(e,\"metrics\",{enumerable:true,get:function(){return N.metrics}});const S=__nccwpck_require__(939);Object.defineProperty(e,\"propagation\",{enumerable:true,get:function(){return S.propagation}});const C=__nccwpck_require__(845);Object.defineProperty(e,\"trace\",{enumerable:true,get:function(){return C.trace}});e[\"default\"]={context:O.context,diag:P.diag,metrics:N.metrics,propagation:S.propagation,trace:C.trace}})();module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BvcGVudGVsZW1ldHJ5L2FwaS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGFBQWEsT0FBTyxjQUFjLHNDQUFzQyxXQUFXLEVBQUUsb0JBQW9CLGVBQWUsZUFBZSxlQUFlLGtCQUFrQixpQ0FBaUMsaUJBQWlCLGVBQWUscUJBQXFCLG9CQUFvQiw4QkFBOEIsc0JBQXNCLDJCQUEyQixxREFBcUQsU0FBUywwQ0FBMEMsaUJBQWlCLGtEQUFrRCxVQUFVLDJDQUEyQyxxQkFBcUIsNEJBQTRCLFVBQVUsb0NBQW9DLGdEQUFnRCx3QkFBd0IsZUFBZSxzQ0FBc0MsV0FBVyxFQUFFLGlCQUFpQixjQUFjLGVBQWUsZUFBZSxlQUFlLGVBQWUsY0FBYyxjQUFjLHNCQUFzQixzQkFBc0IsZ0NBQWdDLGFBQWEsbUJBQW1CLGFBQWEsc0JBQXNCLDZCQUE2QixJQUFJLFVBQVUsVUFBVSx3SkFBd0osb0RBQW9ELGFBQWEsd0JBQXdCLEdBQUcsWUFBWSxnQ0FBZ0Msa0dBQWtHLGtDQUFrQyxxRkFBcUYsa0RBQWtELEVBQUUsR0FBRyxvRUFBb0UsRUFBRSxHQUFHLDZDQUE2QyxzQkFBc0IsZUFBZSw2QkFBNkIsd0RBQXdELCtCQUErQiwyQkFBMkIseUJBQXlCLHlCQUF5QiwyQkFBMkIsa0JBQWtCLG9CQUFvQiwyQkFBMkIsdUJBQXVCLGtCQUFrQixlQUFlLHNDQUFzQyxXQUFXLEVBQUUsb0JBQW9CLGVBQWUsZUFBZSxlQUFlLGtCQUFrQixpQkFBaUIsZUFBZSxxQkFBcUIsb0JBQW9CLDhCQUE4QixzQkFBc0IsMEJBQTBCLHFEQUFxRCxtQkFBbUIsZ0RBQWdELGdCQUFnQiwrQ0FBK0MsVUFBVSxnREFBZ0Qsd0JBQXdCLGVBQWUsc0NBQXNDLFdBQVcsRUFBRSx3QkFBd0IsZUFBZSxlQUFlLGVBQWUsZUFBZSxlQUFlLGVBQWUsc0JBQXNCLG9DQUFvQyxxQkFBcUIsY0FBYyxtQ0FBbUMsNkJBQTZCLHlDQUF5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RSxnQ0FBZ0MsbUNBQW1DLCtCQUErQixrQkFBa0IsRUFBRSxpQ0FBaUMsZ0NBQWdDLCtCQUErQixlQUFlLEVBQUUsaUNBQWlDLG1DQUFtQywrQkFBK0Isa0JBQWtCLEVBQUUsaUNBQWlDLHVDQUF1QywrQkFBK0Isc0JBQXNCLEVBQUUsaUNBQWlDLGlDQUFpQywrQkFBK0IsZ0JBQWdCLEVBQUUsY0FBYyx5RkFBeUYsSUFBSSxpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BvcGVudGVsZW1ldHJ5L2FwaS9pbmRleC5qcz8wOTFmIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO3ZhciBlPXs0OTE6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Db250ZXh0QVBJPXZvaWQgMDtjb25zdCBuPXIoMjIzKTtjb25zdCBhPXIoMTcyKTtjb25zdCBvPXIoOTMwKTtjb25zdCBpPVwiY29udGV4dFwiO2NvbnN0IGM9bmV3IG4uTm9vcENvbnRleHRNYW5hZ2VyO2NsYXNzIENvbnRleHRBUEl7Y29uc3RydWN0b3IoKXt9c3RhdGljIGdldEluc3RhbmNlKCl7aWYoIXRoaXMuX2luc3RhbmNlKXt0aGlzLl9pbnN0YW5jZT1uZXcgQ29udGV4dEFQSX1yZXR1cm4gdGhpcy5faW5zdGFuY2V9c2V0R2xvYmFsQ29udGV4dE1hbmFnZXIoZSl7cmV0dXJuKDAsYS5yZWdpc3Rlckdsb2JhbCkoaSxlLG8uRGlhZ0FQSS5pbnN0YW5jZSgpKX1hY3RpdmUoKXtyZXR1cm4gdGhpcy5fZ2V0Q29udGV4dE1hbmFnZXIoKS5hY3RpdmUoKX13aXRoKGUsdCxyLC4uLm4pe3JldHVybiB0aGlzLl9nZXRDb250ZXh0TWFuYWdlcigpLndpdGgoZSx0LHIsLi4ubil9YmluZChlLHQpe3JldHVybiB0aGlzLl9nZXRDb250ZXh0TWFuYWdlcigpLmJpbmQoZSx0KX1fZ2V0Q29udGV4dE1hbmFnZXIoKXtyZXR1cm4oMCxhLmdldEdsb2JhbCkoaSl8fGN9ZGlzYWJsZSgpe3RoaXMuX2dldENvbnRleHRNYW5hZ2VyKCkuZGlzYWJsZSgpOygwLGEudW5yZWdpc3Rlckdsb2JhbCkoaSxvLkRpYWdBUEkuaW5zdGFuY2UoKSl9fXQuQ29udGV4dEFQST1Db250ZXh0QVBJfSw5MzA6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5EaWFnQVBJPXZvaWQgMDtjb25zdCBuPXIoNTYpO2NvbnN0IGE9cig5MTIpO2NvbnN0IG89cig5NTcpO2NvbnN0IGk9cigxNzIpO2NvbnN0IGM9XCJkaWFnXCI7Y2xhc3MgRGlhZ0FQSXtjb25zdHJ1Y3Rvcigpe2Z1bmN0aW9uIF9sb2dQcm94eShlKXtyZXR1cm4gZnVuY3Rpb24oLi4udCl7Y29uc3Qgcj0oMCxpLmdldEdsb2JhbCkoXCJkaWFnXCIpO2lmKCFyKXJldHVybjtyZXR1cm4gcltlXSguLi50KX19Y29uc3QgZT10aGlzO2NvbnN0IHNldExvZ2dlcj0odCxyPXtsb2dMZXZlbDpvLkRpYWdMb2dMZXZlbC5JTkZPfSk9Pnt2YXIgbixjLHM7aWYodD09PWUpe2NvbnN0IHQ9bmV3IEVycm9yKFwiQ2Fubm90IHVzZSBkaWFnIGFzIHRoZSBsb2dnZXIgZm9yIGl0c2VsZi4gUGxlYXNlIHVzZSBhIERpYWdMb2dnZXIgaW1wbGVtZW50YXRpb24gbGlrZSBDb25zb2xlRGlhZ0xvZ2dlciBvciBhIGN1c3RvbSBpbXBsZW1lbnRhdGlvblwiKTtlLmVycm9yKChuPXQuc3RhY2spIT09bnVsbCYmbiE9PXZvaWQgMD9uOnQubWVzc2FnZSk7cmV0dXJuIGZhbHNlfWlmKHR5cGVvZiByPT09XCJudW1iZXJcIil7cj17bG9nTGV2ZWw6cn19Y29uc3QgdT0oMCxpLmdldEdsb2JhbCkoXCJkaWFnXCIpO2NvbnN0IGw9KDAsYS5jcmVhdGVMb2dMZXZlbERpYWdMb2dnZXIpKChjPXIubG9nTGV2ZWwpIT09bnVsbCYmYyE9PXZvaWQgMD9jOm8uRGlhZ0xvZ0xldmVsLklORk8sdCk7aWYodSYmIXIuc3VwcHJlc3NPdmVycmlkZU1lc3NhZ2Upe2NvbnN0IGU9KHM9KG5ldyBFcnJvcikuc3RhY2spIT09bnVsbCYmcyE9PXZvaWQgMD9zOlwiPGZhaWxlZCB0byBnZW5lcmF0ZSBzdGFja3RyYWNlPlwiO3Uud2FybihgQ3VycmVudCBsb2dnZXIgd2lsbCBiZSBvdmVyd3JpdHRlbiBmcm9tICR7ZX1gKTtsLndhcm4oYEN1cnJlbnQgbG9nZ2VyIHdpbGwgb3ZlcndyaXRlIG9uZSBhbHJlYWR5IHJlZ2lzdGVyZWQgZnJvbSAke2V9YCl9cmV0dXJuKDAsaS5yZWdpc3Rlckdsb2JhbCkoXCJkaWFnXCIsbCxlLHRydWUpfTtlLnNldExvZ2dlcj1zZXRMb2dnZXI7ZS5kaXNhYmxlPSgpPT57KDAsaS51bnJlZ2lzdGVyR2xvYmFsKShjLGUpfTtlLmNyZWF0ZUNvbXBvbmVudExvZ2dlcj1lPT5uZXcgbi5EaWFnQ29tcG9uZW50TG9nZ2VyKGUpO2UudmVyYm9zZT1fbG9nUHJveHkoXCJ2ZXJib3NlXCIpO2UuZGVidWc9X2xvZ1Byb3h5KFwiZGVidWdcIik7ZS5pbmZvPV9sb2dQcm94eShcImluZm9cIik7ZS53YXJuPV9sb2dQcm94eShcIndhcm5cIik7ZS5lcnJvcj1fbG9nUHJveHkoXCJlcnJvclwiKX1zdGF0aWMgaW5zdGFuY2UoKXtpZighdGhpcy5faW5zdGFuY2Upe3RoaXMuX2luc3RhbmNlPW5ldyBEaWFnQVBJfXJldHVybiB0aGlzLl9pbnN0YW5jZX19dC5EaWFnQVBJPURpYWdBUEl9LDY1MzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk1ldHJpY3NBUEk9dm9pZCAwO2NvbnN0IG49cig2NjApO2NvbnN0IGE9cigxNzIpO2NvbnN0IG89cig5MzApO2NvbnN0IGk9XCJtZXRyaWNzXCI7Y2xhc3MgTWV0cmljc0FQSXtjb25zdHJ1Y3Rvcigpe31zdGF0aWMgZ2V0SW5zdGFuY2UoKXtpZighdGhpcy5faW5zdGFuY2Upe3RoaXMuX2luc3RhbmNlPW5ldyBNZXRyaWNzQVBJfXJldHVybiB0aGlzLl9pbnN0YW5jZX1zZXRHbG9iYWxNZXRlclByb3ZpZGVyKGUpe3JldHVybigwLGEucmVnaXN0ZXJHbG9iYWwpKGksZSxvLkRpYWdBUEkuaW5zdGFuY2UoKSl9Z2V0TWV0ZXJQcm92aWRlcigpe3JldHVybigwLGEuZ2V0R2xvYmFsKShpKXx8bi5OT09QX01FVEVSX1BST1ZJREVSfWdldE1ldGVyKGUsdCxyKXtyZXR1cm4gdGhpcy5nZXRNZXRlclByb3ZpZGVyKCkuZ2V0TWV0ZXIoZSx0LHIpfWRpc2FibGUoKXsoMCxhLnVucmVnaXN0ZXJHbG9iYWwpKGksby5EaWFnQVBJLmluc3RhbmNlKCkpfX10Lk1ldHJpY3NBUEk9TWV0cmljc0FQSX0sMTgxOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuUHJvcGFnYXRpb25BUEk9dm9pZCAwO2NvbnN0IG49cigxNzIpO2NvbnN0IGE9cig4NzQpO2NvbnN0IG89cigxOTQpO2NvbnN0IGk9cigyNzcpO2NvbnN0IGM9cigzNjkpO2NvbnN0IHM9cig5MzApO2NvbnN0IHU9XCJwcm9wYWdhdGlvblwiO2NvbnN0IGw9bmV3IGEuTm9vcFRleHRNYXBQcm9wYWdhdG9yO2NsYXNzIFByb3BhZ2F0aW9uQVBJe2NvbnN0cnVjdG9yKCl7dGhpcy5jcmVhdGVCYWdnYWdlPWMuY3JlYXRlQmFnZ2FnZTt0aGlzLmdldEJhZ2dhZ2U9aS5nZXRCYWdnYWdlO3RoaXMuZ2V0QWN0aXZlQmFnZ2FnZT1pLmdldEFjdGl2ZUJhZ2dhZ2U7dGhpcy5zZXRCYWdnYWdlPWkuc2V0QmFnZ2FnZTt0aGlzLmRlbGV0ZUJhZ2dhZ2U9aS5kZWxldGVCYWdnYWdlfXN0YXRpYyBnZXRJbnN0YW5jZSgpe2lmKCF0aGlzLl9pbnN0YW5jZSl7dGhpcy5faW5zdGFuY2U9bmV3IFByb3BhZ2F0aW9uQVBJfXJldHVybiB0aGlzLl9pbnN0YW5jZX1zZXRHbG9iYWxQcm9wYWdhdG9yKGUpe3JldHVybigwLG4ucmVnaXN0ZXJHbG9iYWwpKHUsZSxzLkRpYWdBUEkuaW5zdGFuY2UoKSl9aW5qZWN0KGUsdCxyPW8uZGVmYXVsdFRleHRNYXBTZXR0ZXIpe3JldHVybiB0aGlzLl9nZXRHbG9iYWxQcm9wYWdhdG9yKCkuaW5qZWN0KGUsdCxyKX1leHRyYWN0KGUsdCxyPW8uZGVmYXVsdFRleHRNYXBHZXR0ZXIpe3JldHVybiB0aGlzLl9nZXRHbG9iYWxQcm9wYWdhdG9yKCkuZXh0cmFjdChlLHQscil9ZmllbGRzKCl7cmV0dXJuIHRoaXMuX2dldEdsb2JhbFByb3BhZ2F0b3IoKS5maWVsZHMoKX1kaXNhYmxlKCl7KDAsbi51bnJlZ2lzdGVyR2xvYmFsKSh1LHMuRGlhZ0FQSS5pbnN0YW5jZSgpKX1fZ2V0R2xvYmFsUHJvcGFnYXRvcigpe3JldHVybigwLG4uZ2V0R2xvYmFsKSh1KXx8bH19dC5Qcm9wYWdhdGlvbkFQST1Qcm9wYWdhdGlvbkFQSX0sOTk3OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuVHJhY2VBUEk9dm9pZCAwO2NvbnN0IG49cigxNzIpO2NvbnN0IGE9cig4NDYpO2NvbnN0IG89cigxMzkpO2NvbnN0IGk9cig2MDcpO2NvbnN0IGM9cig5MzApO2NvbnN0IHM9XCJ0cmFjZVwiO2NsYXNzIFRyYWNlQVBJe2NvbnN0cnVjdG9yKCl7dGhpcy5fcHJveHlUcmFjZXJQcm92aWRlcj1uZXcgYS5Qcm94eVRyYWNlclByb3ZpZGVyO3RoaXMud3JhcFNwYW5Db250ZXh0PW8ud3JhcFNwYW5Db250ZXh0O3RoaXMuaXNTcGFuQ29udGV4dFZhbGlkPW8uaXNTcGFuQ29udGV4dFZhbGlkO3RoaXMuZGVsZXRlU3Bhbj1pLmRlbGV0ZVNwYW47dGhpcy5nZXRTcGFuPWkuZ2V0U3Bhbjt0aGlzLmdldEFjdGl2ZVNwYW49aS5nZXRBY3RpdmVTcGFuO3RoaXMuZ2V0U3BhbkNvbnRleHQ9aS5nZXRTcGFuQ29udGV4dDt0aGlzLnNldFNwYW49aS5zZXRTcGFuO3RoaXMuc2V0U3BhbkNvbnRleHQ9aS5zZXRTcGFuQ29udGV4dH1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtpZighdGhpcy5faW5zdGFuY2Upe3RoaXMuX2luc3RhbmNlPW5ldyBUcmFjZUFQSX1yZXR1cm4gdGhpcy5faW5zdGFuY2V9c2V0R2xvYmFsVHJhY2VyUHJvdmlkZXIoZSl7Y29uc3QgdD0oMCxuLnJlZ2lzdGVyR2xvYmFsKShzLHRoaXMuX3Byb3h5VHJhY2VyUHJvdmlkZXIsYy5EaWFnQVBJLmluc3RhbmNlKCkpO2lmKHQpe3RoaXMuX3Byb3h5VHJhY2VyUHJvdmlkZXIuc2V0RGVsZWdhdGUoZSl9cmV0dXJuIHR9Z2V0VHJhY2VyUHJvdmlkZXIoKXtyZXR1cm4oMCxuLmdldEdsb2JhbCkocyl8fHRoaXMuX3Byb3h5VHJhY2VyUHJvdmlkZXJ9Z2V0VHJhY2VyKGUsdCl7cmV0dXJuIHRoaXMuZ2V0VHJhY2VyUHJvdmlkZXIoKS5nZXRUcmFjZXIoZSx0KX1kaXNhYmxlKCl7KDAsbi51bnJlZ2lzdGVyR2xvYmFsKShzLGMuRGlhZ0FQSS5pbnN0YW5jZSgpKTt0aGlzLl9wcm94eVRyYWNlclByb3ZpZGVyPW5ldyBhLlByb3h5VHJhY2VyUHJvdmlkZXJ9fXQuVHJhY2VBUEk9VHJhY2VBUEl9LDI3NzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmRlbGV0ZUJhZ2dhZ2U9dC5zZXRCYWdnYWdlPXQuZ2V0QWN0aXZlQmFnZ2FnZT10LmdldEJhZ2dhZ2U9dm9pZCAwO2NvbnN0IG49cig0OTEpO2NvbnN0IGE9cig3ODApO2NvbnN0IG89KDAsYS5jcmVhdGVDb250ZXh0S2V5KShcIk9wZW5UZWxlbWV0cnkgQmFnZ2FnZSBLZXlcIik7ZnVuY3Rpb24gZ2V0QmFnZ2FnZShlKXtyZXR1cm4gZS5nZXRWYWx1ZShvKXx8dW5kZWZpbmVkfXQuZ2V0QmFnZ2FnZT1nZXRCYWdnYWdlO2Z1bmN0aW9uIGdldEFjdGl2ZUJhZ2dhZ2UoKXtyZXR1cm4gZ2V0QmFnZ2FnZShuLkNvbnRleHRBUEkuZ2V0SW5zdGFuY2UoKS5hY3RpdmUoKSl9dC5nZXRBY3RpdmVCYWdnYWdlPWdldEFjdGl2ZUJhZ2dhZ2U7ZnVuY3Rpb24gc2V0QmFnZ2FnZShlLHQpe3JldHVybiBlLnNldFZhbHVlKG8sdCl9dC5zZXRCYWdnYWdlPXNldEJhZ2dhZ2U7ZnVuY3Rpb24gZGVsZXRlQmFnZ2FnZShlKXtyZXR1cm4gZS5kZWxldGVWYWx1ZShvKX10LmRlbGV0ZUJhZ2dhZ2U9ZGVsZXRlQmFnZ2FnZX0sOTkzOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LkJhZ2dhZ2VJbXBsPXZvaWQgMDtjbGFzcyBCYWdnYWdlSW1wbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9lbnRyaWVzPWU/bmV3IE1hcChlKTpuZXcgTWFwfWdldEVudHJ5KGUpe2NvbnN0IHQ9dGhpcy5fZW50cmllcy5nZXQoZSk7aWYoIXQpe3JldHVybiB1bmRlZmluZWR9cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sdCl9Z2V0QWxsRW50cmllcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuX2VudHJpZXMuZW50cmllcygpKS5tYXAoKChbZSx0XSk9PltlLHRdKSl9c2V0RW50cnkoZSx0KXtjb25zdCByPW5ldyBCYWdnYWdlSW1wbCh0aGlzLl9lbnRyaWVzKTtyLl9lbnRyaWVzLnNldChlLHQpO3JldHVybiByfXJlbW92ZUVudHJ5KGUpe2NvbnN0IHQ9bmV3IEJhZ2dhZ2VJbXBsKHRoaXMuX2VudHJpZXMpO3QuX2VudHJpZXMuZGVsZXRlKGUpO3JldHVybiB0fXJlbW92ZUVudHJpZXMoLi4uZSl7Y29uc3QgdD1uZXcgQmFnZ2FnZUltcGwodGhpcy5fZW50cmllcyk7Zm9yKGNvbnN0IHIgb2YgZSl7dC5fZW50cmllcy5kZWxldGUocil9cmV0dXJuIHR9Y2xlYXIoKXtyZXR1cm4gbmV3IEJhZ2dhZ2VJbXBsfX10LkJhZ2dhZ2VJbXBsPUJhZ2dhZ2VJbXBsfSw4MzA6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuYmFnZ2FnZUVudHJ5TWV0YWRhdGFTeW1ib2w9dm9pZCAwO3QuYmFnZ2FnZUVudHJ5TWV0YWRhdGFTeW1ib2w9U3ltYm9sKFwiQmFnZ2FnZUVudHJ5TWV0YWRhdGFcIil9LDM2OTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZz10LmNyZWF0ZUJhZ2dhZ2U9dm9pZCAwO2NvbnN0IG49cig5MzApO2NvbnN0IGE9cig5OTMpO2NvbnN0IG89cig4MzApO2NvbnN0IGk9bi5EaWFnQVBJLmluc3RhbmNlKCk7ZnVuY3Rpb24gY3JlYXRlQmFnZ2FnZShlPXt9KXtyZXR1cm4gbmV3IGEuQmFnZ2FnZUltcGwobmV3IE1hcChPYmplY3QuZW50cmllcyhlKSkpfXQuY3JlYXRlQmFnZ2FnZT1jcmVhdGVCYWdnYWdlO2Z1bmN0aW9uIGJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZyhlKXtpZih0eXBlb2YgZSE9PVwic3RyaW5nXCIpe2kuZXJyb3IoYENhbm5vdCBjcmVhdGUgYmFnZ2FnZSBtZXRhZGF0YSBmcm9tIHVua25vd24gdHlwZTogJHt0eXBlb2YgZX1gKTtlPVwiXCJ9cmV0dXJue19fVFlQRV9fOm8uYmFnZ2FnZUVudHJ5TWV0YWRhdGFTeW1ib2wsdG9TdHJpbmcoKXtyZXR1cm4gZX19fXQuYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nPWJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZ30sNjc6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5jb250ZXh0PXZvaWQgMDtjb25zdCBuPXIoNDkxKTt0LmNvbnRleHQ9bi5Db250ZXh0QVBJLmdldEluc3RhbmNlKCl9LDIyMzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk5vb3BDb250ZXh0TWFuYWdlcj12b2lkIDA7Y29uc3Qgbj1yKDc4MCk7Y2xhc3MgTm9vcENvbnRleHRNYW5hZ2Vye2FjdGl2ZSgpe3JldHVybiBuLlJPT1RfQ09OVEVYVH13aXRoKGUsdCxyLC4uLm4pe3JldHVybiB0LmNhbGwociwuLi5uKX1iaW5kKGUsdCl7cmV0dXJuIHR9ZW5hYmxlKCl7cmV0dXJuIHRoaXN9ZGlzYWJsZSgpe3JldHVybiB0aGlzfX10Lk5vb3BDb250ZXh0TWFuYWdlcj1Ob29wQ29udGV4dE1hbmFnZXJ9LDc4MDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5ST09UX0NPTlRFWFQ9dC5jcmVhdGVDb250ZXh0S2V5PXZvaWQgMDtmdW5jdGlvbiBjcmVhdGVDb250ZXh0S2V5KGUpe3JldHVybiBTeW1ib2wuZm9yKGUpfXQuY3JlYXRlQ29udGV4dEtleT1jcmVhdGVDb250ZXh0S2V5O2NsYXNzIEJhc2VDb250ZXh0e2NvbnN0cnVjdG9yKGUpe2NvbnN0IHQ9dGhpczt0Ll9jdXJyZW50Q29udGV4dD1lP25ldyBNYXAoZSk6bmV3IE1hcDt0LmdldFZhbHVlPWU9PnQuX2N1cnJlbnRDb250ZXh0LmdldChlKTt0LnNldFZhbHVlPShlLHIpPT57Y29uc3Qgbj1uZXcgQmFzZUNvbnRleHQodC5fY3VycmVudENvbnRleHQpO24uX2N1cnJlbnRDb250ZXh0LnNldChlLHIpO3JldHVybiBufTt0LmRlbGV0ZVZhbHVlPWU9Pntjb25zdCByPW5ldyBCYXNlQ29udGV4dCh0Ll9jdXJyZW50Q29udGV4dCk7ci5fY3VycmVudENvbnRleHQuZGVsZXRlKGUpO3JldHVybiByfX19dC5ST09UX0NPTlRFWFQ9bmV3IEJhc2VDb250ZXh0fSw1MDY6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5kaWFnPXZvaWQgMDtjb25zdCBuPXIoOTMwKTt0LmRpYWc9bi5EaWFnQVBJLmluc3RhbmNlKCl9LDU2OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuRGlhZ0NvbXBvbmVudExvZ2dlcj12b2lkIDA7Y29uc3Qgbj1yKDE3Mik7Y2xhc3MgRGlhZ0NvbXBvbmVudExvZ2dlcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9uYW1lc3BhY2U9ZS5uYW1lc3BhY2V8fFwiRGlhZ0NvbXBvbmVudExvZ2dlclwifWRlYnVnKC4uLmUpe3JldHVybiBsb2dQcm94eShcImRlYnVnXCIsdGhpcy5fbmFtZXNwYWNlLGUpfWVycm9yKC4uLmUpe3JldHVybiBsb2dQcm94eShcImVycm9yXCIsdGhpcy5fbmFtZXNwYWNlLGUpfWluZm8oLi4uZSl7cmV0dXJuIGxvZ1Byb3h5KFwiaW5mb1wiLHRoaXMuX25hbWVzcGFjZSxlKX13YXJuKC4uLmUpe3JldHVybiBsb2dQcm94eShcIndhcm5cIix0aGlzLl9uYW1lc3BhY2UsZSl9dmVyYm9zZSguLi5lKXtyZXR1cm4gbG9nUHJveHkoXCJ2ZXJib3NlXCIsdGhpcy5fbmFtZXNwYWNlLGUpfX10LkRpYWdDb21wb25lbnRMb2dnZXI9RGlhZ0NvbXBvbmVudExvZ2dlcjtmdW5jdGlvbiBsb2dQcm94eShlLHQscil7Y29uc3QgYT0oMCxuLmdldEdsb2JhbCkoXCJkaWFnXCIpO2lmKCFhKXtyZXR1cm59ci51bnNoaWZ0KHQpO3JldHVybiBhW2VdKC4uLnIpfX0sOTcyOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LkRpYWdDb25zb2xlTG9nZ2VyPXZvaWQgMDtjb25zdCByPVt7bjpcImVycm9yXCIsYzpcImVycm9yXCJ9LHtuOlwid2FyblwiLGM6XCJ3YXJuXCJ9LHtuOlwiaW5mb1wiLGM6XCJpbmZvXCJ9LHtuOlwiZGVidWdcIixjOlwiZGVidWdcIn0se246XCJ2ZXJib3NlXCIsYzpcInRyYWNlXCJ9XTtjbGFzcyBEaWFnQ29uc29sZUxvZ2dlcntjb25zdHJ1Y3Rvcigpe2Z1bmN0aW9uIF9jb25zb2xlRnVuYyhlKXtyZXR1cm4gZnVuY3Rpb24oLi4udCl7aWYoY29uc29sZSl7bGV0IHI9Y29uc29sZVtlXTtpZih0eXBlb2YgciE9PVwiZnVuY3Rpb25cIil7cj1jb25zb2xlLmxvZ31pZih0eXBlb2Ygcj09PVwiZnVuY3Rpb25cIil7cmV0dXJuIHIuYXBwbHkoY29uc29sZSx0KX19fX1mb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7dGhpc1tyW2VdLm5dPV9jb25zb2xlRnVuYyhyW2VdLmMpfX19dC5EaWFnQ29uc29sZUxvZ2dlcj1EaWFnQ29uc29sZUxvZ2dlcn0sOTEyOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuY3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyPXZvaWQgMDtjb25zdCBuPXIoOTU3KTtmdW5jdGlvbiBjcmVhdGVMb2dMZXZlbERpYWdMb2dnZXIoZSx0KXtpZihlPG4uRGlhZ0xvZ0xldmVsLk5PTkUpe2U9bi5EaWFnTG9nTGV2ZWwuTk9ORX1lbHNlIGlmKGU+bi5EaWFnTG9nTGV2ZWwuQUxMKXtlPW4uRGlhZ0xvZ0xldmVsLkFMTH10PXR8fHt9O2Z1bmN0aW9uIF9maWx0ZXJGdW5jKHIsbil7Y29uc3QgYT10W3JdO2lmKHR5cGVvZiBhPT09XCJmdW5jdGlvblwiJiZlPj1uKXtyZXR1cm4gYS5iaW5kKHQpfXJldHVybiBmdW5jdGlvbigpe319cmV0dXJue2Vycm9yOl9maWx0ZXJGdW5jKFwiZXJyb3JcIixuLkRpYWdMb2dMZXZlbC5FUlJPUiksd2FybjpfZmlsdGVyRnVuYyhcIndhcm5cIixuLkRpYWdMb2dMZXZlbC5XQVJOKSxpbmZvOl9maWx0ZXJGdW5jKFwiaW5mb1wiLG4uRGlhZ0xvZ0xldmVsLklORk8pLGRlYnVnOl9maWx0ZXJGdW5jKFwiZGVidWdcIixuLkRpYWdMb2dMZXZlbC5ERUJVRyksdmVyYm9zZTpfZmlsdGVyRnVuYyhcInZlcmJvc2VcIixuLkRpYWdMb2dMZXZlbC5WRVJCT1NFKX19dC5jcmVhdGVMb2dMZXZlbERpYWdMb2dnZXI9Y3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyfSw5NTc6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuRGlhZ0xvZ0xldmVsPXZvaWQgMDt2YXIgcjsoZnVuY3Rpb24oZSl7ZVtlW1wiTk9ORVwiXT0wXT1cIk5PTkVcIjtlW2VbXCJFUlJPUlwiXT0zMF09XCJFUlJPUlwiO2VbZVtcIldBUk5cIl09NTBdPVwiV0FSTlwiO2VbZVtcIklORk9cIl09NjBdPVwiSU5GT1wiO2VbZVtcIkRFQlVHXCJdPTcwXT1cIkRFQlVHXCI7ZVtlW1wiVkVSQk9TRVwiXT04MF09XCJWRVJCT1NFXCI7ZVtlW1wiQUxMXCJdPTk5OTldPVwiQUxMXCJ9KShyPXQuRGlhZ0xvZ0xldmVsfHwodC5EaWFnTG9nTGV2ZWw9e30pKX0sMTcyOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QudW5yZWdpc3Rlckdsb2JhbD10LmdldEdsb2JhbD10LnJlZ2lzdGVyR2xvYmFsPXZvaWQgMDtjb25zdCBuPXIoMjAwKTtjb25zdCBhPXIoNTIxKTtjb25zdCBvPXIoMTMwKTtjb25zdCBpPWEuVkVSU0lPTi5zcGxpdChcIi5cIilbMF07Y29uc3QgYz1TeW1ib2wuZm9yKGBvcGVudGVsZW1ldHJ5LmpzLmFwaS4ke2l9YCk7Y29uc3Qgcz1uLl9nbG9iYWxUaGlzO2Z1bmN0aW9uIHJlZ2lzdGVyR2xvYmFsKGUsdCxyLG49ZmFsc2Upe3ZhciBvO2NvbnN0IGk9c1tjXT0obz1zW2NdKSE9PW51bGwmJm8hPT12b2lkIDA/bzp7dmVyc2lvbjphLlZFUlNJT059O2lmKCFuJiZpW2VdKXtjb25zdCB0PW5ldyBFcnJvcihgQG9wZW50ZWxlbWV0cnkvYXBpOiBBdHRlbXB0ZWQgZHVwbGljYXRlIHJlZ2lzdHJhdGlvbiBvZiBBUEk6ICR7ZX1gKTtyLmVycm9yKHQuc3RhY2t8fHQubWVzc2FnZSk7cmV0dXJuIGZhbHNlfWlmKGkudmVyc2lvbiE9PWEuVkVSU0lPTil7Y29uc3QgdD1uZXcgRXJyb3IoYEBvcGVudGVsZW1ldHJ5L2FwaTogUmVnaXN0cmF0aW9uIG9mIHZlcnNpb24gdiR7aS52ZXJzaW9ufSBmb3IgJHtlfSBkb2VzIG5vdCBtYXRjaCBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgQVBJIHYke2EuVkVSU0lPTn1gKTtyLmVycm9yKHQuc3RhY2t8fHQubWVzc2FnZSk7cmV0dXJuIGZhbHNlfWlbZV09dDtyLmRlYnVnKGBAb3BlbnRlbGVtZXRyeS9hcGk6IFJlZ2lzdGVyZWQgYSBnbG9iYWwgZm9yICR7ZX0gdiR7YS5WRVJTSU9OfS5gKTtyZXR1cm4gdHJ1ZX10LnJlZ2lzdGVyR2xvYmFsPXJlZ2lzdGVyR2xvYmFsO2Z1bmN0aW9uIGdldEdsb2JhbChlKXt2YXIgdCxyO2NvbnN0IG49KHQ9c1tjXSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnZlcnNpb247aWYoIW58fCEoMCxvLmlzQ29tcGF0aWJsZSkobikpe3JldHVybn1yZXR1cm4ocj1zW2NdKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnJbZV19dC5nZXRHbG9iYWw9Z2V0R2xvYmFsO2Z1bmN0aW9uIHVucmVnaXN0ZXJHbG9iYWwoZSx0KXt0LmRlYnVnKGBAb3BlbnRlbGVtZXRyeS9hcGk6IFVucmVnaXN0ZXJpbmcgYSBnbG9iYWwgZm9yICR7ZX0gdiR7YS5WRVJTSU9OfS5gKTtjb25zdCByPXNbY107aWYocil7ZGVsZXRlIHJbZV19fXQudW5yZWdpc3Rlckdsb2JhbD11bnJlZ2lzdGVyR2xvYmFsfSwxMzA6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5pc0NvbXBhdGlibGU9dC5fbWFrZUNvbXBhdGliaWxpdHlDaGVjaz12b2lkIDA7Y29uc3Qgbj1yKDUyMSk7Y29uc3QgYT0vXihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSgtKC4rKSk/JC87ZnVuY3Rpb24gX21ha2VDb21wYXRpYmlsaXR5Q2hlY2soZSl7Y29uc3QgdD1uZXcgU2V0KFtlXSk7Y29uc3Qgcj1uZXcgU2V0O2NvbnN0IG49ZS5tYXRjaChhKTtpZighbil7cmV0dXJuKCk9PmZhbHNlfWNvbnN0IG89e21ham9yOituWzFdLG1pbm9yOituWzJdLHBhdGNoOituWzNdLHByZXJlbGVhc2U6bls0XX07aWYoby5wcmVyZWxlYXNlIT1udWxsKXtyZXR1cm4gZnVuY3Rpb24gaXNFeGFjdG1hdGNoKHQpe3JldHVybiB0PT09ZX19ZnVuY3Rpb24gX3JlamVjdChlKXtyLmFkZChlKTtyZXR1cm4gZmFsc2V9ZnVuY3Rpb24gX2FjY2VwdChlKXt0LmFkZChlKTtyZXR1cm4gdHJ1ZX1yZXR1cm4gZnVuY3Rpb24gaXNDb21wYXRpYmxlKGUpe2lmKHQuaGFzKGUpKXtyZXR1cm4gdHJ1ZX1pZihyLmhhcyhlKSl7cmV0dXJuIGZhbHNlfWNvbnN0IG49ZS5tYXRjaChhKTtpZighbil7cmV0dXJuIF9yZWplY3QoZSl9Y29uc3QgaT17bWFqb3I6K25bMV0sbWlub3I6K25bMl0scGF0Y2g6K25bM10scHJlcmVsZWFzZTpuWzRdfTtpZihpLnByZXJlbGVhc2UhPW51bGwpe3JldHVybiBfcmVqZWN0KGUpfWlmKG8ubWFqb3IhPT1pLm1ham9yKXtyZXR1cm4gX3JlamVjdChlKX1pZihvLm1ham9yPT09MCl7aWYoby5taW5vcj09PWkubWlub3ImJm8ucGF0Y2g8PWkucGF0Y2gpe3JldHVybiBfYWNjZXB0KGUpfXJldHVybiBfcmVqZWN0KGUpfWlmKG8ubWlub3I8PWkubWlub3Ipe3JldHVybiBfYWNjZXB0KGUpfXJldHVybiBfcmVqZWN0KGUpfX10Ll9tYWtlQ29tcGF0aWJpbGl0eUNoZWNrPV9tYWtlQ29tcGF0aWJpbGl0eUNoZWNrO3QuaXNDb21wYXRpYmxlPV9tYWtlQ29tcGF0aWJpbGl0eUNoZWNrKG4uVkVSU0lPTil9LDg4NjooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lm1ldHJpY3M9dm9pZCAwO2NvbnN0IG49cig2NTMpO3QubWV0cmljcz1uLk1ldHJpY3NBUEkuZ2V0SW5zdGFuY2UoKX0sOTAxOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlZhbHVlVHlwZT12b2lkIDA7dmFyIHI7KGZ1bmN0aW9uKGUpe2VbZVtcIklOVFwiXT0wXT1cIklOVFwiO2VbZVtcIkRPVUJMRVwiXT0xXT1cIkRPVUJMRVwifSkocj10LlZhbHVlVHlwZXx8KHQuVmFsdWVUeXBlPXt9KSl9LDEwMjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5jcmVhdGVOb29wTWV0ZXI9dC5OT09QX09CU0VSVkFCTEVfVVBfRE9XTl9DT1VOVEVSX01FVFJJQz10Lk5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUM9dC5OT09QX09CU0VSVkFCTEVfQ09VTlRFUl9NRVRSSUM9dC5OT09QX1VQX0RPV05fQ09VTlRFUl9NRVRSSUM9dC5OT09QX0hJU1RPR1JBTV9NRVRSSUM9dC5OT09QX0NPVU5URVJfTUVUUklDPXQuTk9PUF9NRVRFUj10Lk5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYz10Lk5vb3BPYnNlcnZhYmxlR2F1Z2VNZXRyaWM9dC5Ob29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWM9dC5Ob29wT2JzZXJ2YWJsZU1ldHJpYz10Lk5vb3BIaXN0b2dyYW1NZXRyaWM9dC5Ob29wVXBEb3duQ291bnRlck1ldHJpYz10Lk5vb3BDb3VudGVyTWV0cmljPXQuTm9vcE1ldHJpYz10Lk5vb3BNZXRlcj12b2lkIDA7Y2xhc3MgTm9vcE1ldGVye2NvbnN0cnVjdG9yKCl7fWNyZWF0ZUhpc3RvZ3JhbShlLHIpe3JldHVybiB0Lk5PT1BfSElTVE9HUkFNX01FVFJJQ31jcmVhdGVDb3VudGVyKGUscil7cmV0dXJuIHQuTk9PUF9DT1VOVEVSX01FVFJJQ31jcmVhdGVVcERvd25Db3VudGVyKGUscil7cmV0dXJuIHQuTk9PUF9VUF9ET1dOX0NPVU5URVJfTUVUUklDfWNyZWF0ZU9ic2VydmFibGVHYXVnZShlLHIpe3JldHVybiB0Lk5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUN9Y3JlYXRlT2JzZXJ2YWJsZUNvdW50ZXIoZSxyKXtyZXR1cm4gdC5OT09QX09CU0VSVkFCTEVfQ09VTlRFUl9NRVRSSUN9Y3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXIoZSxyKXtyZXR1cm4gdC5OT09QX09CU0VSVkFCTEVfVVBfRE9XTl9DT1VOVEVSX01FVFJJQ31hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayhlLHQpe31yZW1vdmVCYXRjaE9ic2VydmFibGVDYWxsYmFjayhlKXt9fXQuTm9vcE1ldGVyPU5vb3BNZXRlcjtjbGFzcyBOb29wTWV0cmlje310Lk5vb3BNZXRyaWM9Tm9vcE1ldHJpYztjbGFzcyBOb29wQ291bnRlck1ldHJpYyBleHRlbmRzIE5vb3BNZXRyaWN7YWRkKGUsdCl7fX10Lk5vb3BDb3VudGVyTWV0cmljPU5vb3BDb3VudGVyTWV0cmljO2NsYXNzIE5vb3BVcERvd25Db3VudGVyTWV0cmljIGV4dGVuZHMgTm9vcE1ldHJpY3thZGQoZSx0KXt9fXQuTm9vcFVwRG93bkNvdW50ZXJNZXRyaWM9Tm9vcFVwRG93bkNvdW50ZXJNZXRyaWM7Y2xhc3MgTm9vcEhpc3RvZ3JhbU1ldHJpYyBleHRlbmRzIE5vb3BNZXRyaWN7cmVjb3JkKGUsdCl7fX10Lk5vb3BIaXN0b2dyYW1NZXRyaWM9Tm9vcEhpc3RvZ3JhbU1ldHJpYztjbGFzcyBOb29wT2JzZXJ2YWJsZU1ldHJpY3thZGRDYWxsYmFjayhlKXt9cmVtb3ZlQ2FsbGJhY2soZSl7fX10Lk5vb3BPYnNlcnZhYmxlTWV0cmljPU5vb3BPYnNlcnZhYmxlTWV0cmljO2NsYXNzIE5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYyBleHRlbmRzIE5vb3BPYnNlcnZhYmxlTWV0cmlje310Lk5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYz1Ob29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWM7Y2xhc3MgTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYyBleHRlbmRzIE5vb3BPYnNlcnZhYmxlTWV0cmlje310Lk5vb3BPYnNlcnZhYmxlR2F1Z2VNZXRyaWM9Tm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYztjbGFzcyBOb29wT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJNZXRyaWMgZXh0ZW5kcyBOb29wT2JzZXJ2YWJsZU1ldHJpY3t9dC5Ob29wT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJNZXRyaWM9Tm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljO3QuTk9PUF9NRVRFUj1uZXcgTm9vcE1ldGVyO3QuTk9PUF9DT1VOVEVSX01FVFJJQz1uZXcgTm9vcENvdW50ZXJNZXRyaWM7dC5OT09QX0hJU1RPR1JBTV9NRVRSSUM9bmV3IE5vb3BIaXN0b2dyYW1NZXRyaWM7dC5OT09QX1VQX0RPV05fQ09VTlRFUl9NRVRSSUM9bmV3IE5vb3BVcERvd25Db3VudGVyTWV0cmljO3QuTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDPW5ldyBOb29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWM7dC5OT09QX09CU0VSVkFCTEVfR0FVR0VfTUVUUklDPW5ldyBOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljO3QuTk9PUF9PQlNFUlZBQkxFX1VQX0RPV05fQ09VTlRFUl9NRVRSSUM9bmV3IE5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYztmdW5jdGlvbiBjcmVhdGVOb29wTWV0ZXIoKXtyZXR1cm4gdC5OT09QX01FVEVSfXQuY3JlYXRlTm9vcE1ldGVyPWNyZWF0ZU5vb3BNZXRlcn0sNjYwOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuTk9PUF9NRVRFUl9QUk9WSURFUj10Lk5vb3BNZXRlclByb3ZpZGVyPXZvaWQgMDtjb25zdCBuPXIoMTAyKTtjbGFzcyBOb29wTWV0ZXJQcm92aWRlcntnZXRNZXRlcihlLHQscil7cmV0dXJuIG4uTk9PUF9NRVRFUn19dC5Ob29wTWV0ZXJQcm92aWRlcj1Ob29wTWV0ZXJQcm92aWRlcjt0Lk5PT1BfTUVURVJfUFJPVklERVI9bmV3IE5vb3BNZXRlclByb3ZpZGVyfSwyMDA6ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXRoaXMmJnRoaXMuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQscixuKXtpZihuPT09dW5kZWZpbmVkKW49cjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbcl19fSl9OmZ1bmN0aW9uKGUsdCxyLG4pe2lmKG49PT11bmRlZmluZWQpbj1yO2Vbbl09dFtyXX0pO3ZhciBhPXRoaXMmJnRoaXMuX19leHBvcnRTdGFyfHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKWlmKHIhPT1cImRlZmF1bHRcIiYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpKW4odCxlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO2Eocig0NiksdCl9LDY1MTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5fZ2xvYmFsVGhpcz12b2lkIDA7dC5fZ2xvYmFsVGhpcz10eXBlb2YgZ2xvYmFsVGhpcz09PVwib2JqZWN0XCI/Z2xvYmFsVGhpczpnbG9iYWx9LDQ2OmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzJiZ0aGlzLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24oZSx0LHIsbil7aWYobj09PXVuZGVmaW5lZCluPXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pfTpmdW5jdGlvbihlLHQscixuKXtpZihuPT09dW5kZWZpbmVkKW49cjtlW25dPXRbcl19KTt2YXIgYT10aGlzJiZ0aGlzLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gZSlpZihyIT09XCJkZWZhdWx0XCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSluKHQsZSxyKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTthKHIoNjUxKSx0KX0sOTM5OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QucHJvcGFnYXRpb249dm9pZCAwO2NvbnN0IG49cigxODEpO3QucHJvcGFnYXRpb249bi5Qcm9wYWdhdGlvbkFQSS5nZXRJbnN0YW5jZSgpfSw4NzQ6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuTm9vcFRleHRNYXBQcm9wYWdhdG9yPXZvaWQgMDtjbGFzcyBOb29wVGV4dE1hcFByb3BhZ2F0b3J7aW5qZWN0KGUsdCl7fWV4dHJhY3QoZSx0KXtyZXR1cm4gZX1maWVsZHMoKXtyZXR1cm5bXX19dC5Ob29wVGV4dE1hcFByb3BhZ2F0b3I9Tm9vcFRleHRNYXBQcm9wYWdhdG9yfSwxOTQ6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuZGVmYXVsdFRleHRNYXBTZXR0ZXI9dC5kZWZhdWx0VGV4dE1hcEdldHRlcj12b2lkIDA7dC5kZWZhdWx0VGV4dE1hcEdldHRlcj17Z2V0KGUsdCl7aWYoZT09bnVsbCl7cmV0dXJuIHVuZGVmaW5lZH1yZXR1cm4gZVt0XX0sa2V5cyhlKXtpZihlPT1udWxsKXtyZXR1cm5bXX1yZXR1cm4gT2JqZWN0LmtleXMoZSl9fTt0LmRlZmF1bHRUZXh0TWFwU2V0dGVyPXtzZXQoZSx0LHIpe2lmKGU9PW51bGwpe3JldHVybn1lW3RdPXJ9fX0sODQ1OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QudHJhY2U9dm9pZCAwO2NvbnN0IG49cig5OTcpO3QudHJhY2U9bi5UcmFjZUFQSS5nZXRJbnN0YW5jZSgpfSw0MDM6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Ob25SZWNvcmRpbmdTcGFuPXZvaWQgMDtjb25zdCBuPXIoNDc2KTtjbGFzcyBOb25SZWNvcmRpbmdTcGFue2NvbnN0cnVjdG9yKGU9bi5JTlZBTElEX1NQQU5fQ09OVEVYVCl7dGhpcy5fc3BhbkNvbnRleHQ9ZX1zcGFuQ29udGV4dCgpe3JldHVybiB0aGlzLl9zcGFuQ29udGV4dH1zZXRBdHRyaWJ1dGUoZSx0KXtyZXR1cm4gdGhpc31zZXRBdHRyaWJ1dGVzKGUpe3JldHVybiB0aGlzfWFkZEV2ZW50KGUsdCl7cmV0dXJuIHRoaXN9c2V0U3RhdHVzKGUpe3JldHVybiB0aGlzfXVwZGF0ZU5hbWUoZSl7cmV0dXJuIHRoaXN9ZW5kKGUpe31pc1JlY29yZGluZygpe3JldHVybiBmYWxzZX1yZWNvcmRFeGNlcHRpb24oZSx0KXt9fXQuTm9uUmVjb3JkaW5nU3Bhbj1Ob25SZWNvcmRpbmdTcGFufSw2MTQ6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Ob29wVHJhY2VyPXZvaWQgMDtjb25zdCBuPXIoNDkxKTtjb25zdCBhPXIoNjA3KTtjb25zdCBvPXIoNDAzKTtjb25zdCBpPXIoMTM5KTtjb25zdCBjPW4uQ29udGV4dEFQSS5nZXRJbnN0YW5jZSgpO2NsYXNzIE5vb3BUcmFjZXJ7c3RhcnRTcGFuKGUsdCxyPWMuYWN0aXZlKCkpe2NvbnN0IG49Qm9vbGVhbih0PT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5yb290KTtpZihuKXtyZXR1cm4gbmV3IG8uTm9uUmVjb3JkaW5nU3Bhbn1jb25zdCBzPXImJigwLGEuZ2V0U3BhbkNvbnRleHQpKHIpO2lmKGlzU3BhbkNvbnRleHQocykmJigwLGkuaXNTcGFuQ29udGV4dFZhbGlkKShzKSl7cmV0dXJuIG5ldyBvLk5vblJlY29yZGluZ1NwYW4ocyl9ZWxzZXtyZXR1cm4gbmV3IG8uTm9uUmVjb3JkaW5nU3Bhbn19c3RhcnRBY3RpdmVTcGFuKGUsdCxyLG4pe2xldCBvO2xldCBpO2xldCBzO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7cmV0dXJufWVsc2UgaWYoYXJndW1lbnRzLmxlbmd0aD09PTIpe3M9dH1lbHNlIGlmKGFyZ3VtZW50cy5sZW5ndGg9PT0zKXtvPXQ7cz1yfWVsc2V7bz10O2k9cjtzPW59Y29uc3QgdT1pIT09bnVsbCYmaSE9PXZvaWQgMD9pOmMuYWN0aXZlKCk7Y29uc3QgbD10aGlzLnN0YXJ0U3BhbihlLG8sdSk7Y29uc3QgZz0oMCxhLnNldFNwYW4pKHUsbCk7cmV0dXJuIGMud2l0aChnLHMsdW5kZWZpbmVkLGwpfX10Lk5vb3BUcmFjZXI9Tm9vcFRyYWNlcjtmdW5jdGlvbiBpc1NwYW5Db250ZXh0KGUpe3JldHVybiB0eXBlb2YgZT09PVwib2JqZWN0XCImJnR5cGVvZiBlW1wic3BhbklkXCJdPT09XCJzdHJpbmdcIiYmdHlwZW9mIGVbXCJ0cmFjZUlkXCJdPT09XCJzdHJpbmdcIiYmdHlwZW9mIGVbXCJ0cmFjZUZsYWdzXCJdPT09XCJudW1iZXJcIn19LDEyNDooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk5vb3BUcmFjZXJQcm92aWRlcj12b2lkIDA7Y29uc3Qgbj1yKDYxNCk7Y2xhc3MgTm9vcFRyYWNlclByb3ZpZGVye2dldFRyYWNlcihlLHQscil7cmV0dXJuIG5ldyBuLk5vb3BUcmFjZXJ9fXQuTm9vcFRyYWNlclByb3ZpZGVyPU5vb3BUcmFjZXJQcm92aWRlcn0sMTI1OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuUHJveHlUcmFjZXI9dm9pZCAwO2NvbnN0IG49cig2MTQpO2NvbnN0IGE9bmV3IG4uTm9vcFRyYWNlcjtjbGFzcyBQcm94eVRyYWNlcntjb25zdHJ1Y3RvcihlLHQscixuKXt0aGlzLl9wcm92aWRlcj1lO3RoaXMubmFtZT10O3RoaXMudmVyc2lvbj1yO3RoaXMub3B0aW9ucz1ufXN0YXJ0U3BhbihlLHQscil7cmV0dXJuIHRoaXMuX2dldFRyYWNlcigpLnN0YXJ0U3BhbihlLHQscil9c3RhcnRBY3RpdmVTcGFuKGUsdCxyLG4pe2NvbnN0IGE9dGhpcy5fZ2V0VHJhY2VyKCk7cmV0dXJuIFJlZmxlY3QuYXBwbHkoYS5zdGFydEFjdGl2ZVNwYW4sYSxhcmd1bWVudHMpfV9nZXRUcmFjZXIoKXtpZih0aGlzLl9kZWxlZ2F0ZSl7cmV0dXJuIHRoaXMuX2RlbGVnYXRlfWNvbnN0IGU9dGhpcy5fcHJvdmlkZXIuZ2V0RGVsZWdhdGVUcmFjZXIodGhpcy5uYW1lLHRoaXMudmVyc2lvbix0aGlzLm9wdGlvbnMpO2lmKCFlKXtyZXR1cm4gYX10aGlzLl9kZWxlZ2F0ZT1lO3JldHVybiB0aGlzLl9kZWxlZ2F0ZX19dC5Qcm94eVRyYWNlcj1Qcm94eVRyYWNlcn0sODQ2OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuUHJveHlUcmFjZXJQcm92aWRlcj12b2lkIDA7Y29uc3Qgbj1yKDEyNSk7Y29uc3QgYT1yKDEyNCk7Y29uc3Qgbz1uZXcgYS5Ob29wVHJhY2VyUHJvdmlkZXI7Y2xhc3MgUHJveHlUcmFjZXJQcm92aWRlcntnZXRUcmFjZXIoZSx0LHIpe3ZhciBhO3JldHVybihhPXRoaXMuZ2V0RGVsZWdhdGVUcmFjZXIoZSx0LHIpKSE9PW51bGwmJmEhPT12b2lkIDA/YTpuZXcgbi5Qcm94eVRyYWNlcih0aGlzLGUsdCxyKX1nZXREZWxlZ2F0ZSgpe3ZhciBlO3JldHVybihlPXRoaXMuX2RlbGVnYXRlKSE9PW51bGwmJmUhPT12b2lkIDA/ZTpvfXNldERlbGVnYXRlKGUpe3RoaXMuX2RlbGVnYXRlPWV9Z2V0RGVsZWdhdGVUcmFjZXIoZSx0LHIpe3ZhciBuO3JldHVybihuPXRoaXMuX2RlbGVnYXRlKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uZ2V0VHJhY2VyKGUsdCxyKX19dC5Qcm94eVRyYWNlclByb3ZpZGVyPVByb3h5VHJhY2VyUHJvdmlkZXJ9LDk5NjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5TYW1wbGluZ0RlY2lzaW9uPXZvaWQgMDt2YXIgcjsoZnVuY3Rpb24oZSl7ZVtlW1wiTk9UX1JFQ09SRFwiXT0wXT1cIk5PVF9SRUNPUkRcIjtlW2VbXCJSRUNPUkRcIl09MV09XCJSRUNPUkRcIjtlW2VbXCJSRUNPUkRfQU5EX1NBTVBMRURcIl09Ml09XCJSRUNPUkRfQU5EX1NBTVBMRURcIn0pKHI9dC5TYW1wbGluZ0RlY2lzaW9ufHwodC5TYW1wbGluZ0RlY2lzaW9uPXt9KSl9LDYwNzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmdldFNwYW5Db250ZXh0PXQuc2V0U3BhbkNvbnRleHQ9dC5kZWxldGVTcGFuPXQuc2V0U3Bhbj10LmdldEFjdGl2ZVNwYW49dC5nZXRTcGFuPXZvaWQgMDtjb25zdCBuPXIoNzgwKTtjb25zdCBhPXIoNDAzKTtjb25zdCBvPXIoNDkxKTtjb25zdCBpPSgwLG4uY3JlYXRlQ29udGV4dEtleSkoXCJPcGVuVGVsZW1ldHJ5IENvbnRleHQgS2V5IFNQQU5cIik7ZnVuY3Rpb24gZ2V0U3BhbihlKXtyZXR1cm4gZS5nZXRWYWx1ZShpKXx8dW5kZWZpbmVkfXQuZ2V0U3Bhbj1nZXRTcGFuO2Z1bmN0aW9uIGdldEFjdGl2ZVNwYW4oKXtyZXR1cm4gZ2V0U3BhbihvLkNvbnRleHRBUEkuZ2V0SW5zdGFuY2UoKS5hY3RpdmUoKSl9dC5nZXRBY3RpdmVTcGFuPWdldEFjdGl2ZVNwYW47ZnVuY3Rpb24gc2V0U3BhbihlLHQpe3JldHVybiBlLnNldFZhbHVlKGksdCl9dC5zZXRTcGFuPXNldFNwYW47ZnVuY3Rpb24gZGVsZXRlU3BhbihlKXtyZXR1cm4gZS5kZWxldGVWYWx1ZShpKX10LmRlbGV0ZVNwYW49ZGVsZXRlU3BhbjtmdW5jdGlvbiBzZXRTcGFuQ29udGV4dChlLHQpe3JldHVybiBzZXRTcGFuKGUsbmV3IGEuTm9uUmVjb3JkaW5nU3Bhbih0KSl9dC5zZXRTcGFuQ29udGV4dD1zZXRTcGFuQ29udGV4dDtmdW5jdGlvbiBnZXRTcGFuQ29udGV4dChlKXt2YXIgdDtyZXR1cm4odD1nZXRTcGFuKGUpKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQuc3BhbkNvbnRleHQoKX10LmdldFNwYW5Db250ZXh0PWdldFNwYW5Db250ZXh0fSwzMjU6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5UcmFjZVN0YXRlSW1wbD12b2lkIDA7Y29uc3Qgbj1yKDU2NCk7Y29uc3QgYT0zMjtjb25zdCBvPTUxMjtjb25zdCBpPVwiLFwiO2NvbnN0IGM9XCI9XCI7Y2xhc3MgVHJhY2VTdGF0ZUltcGx7Y29uc3RydWN0b3IoZSl7dGhpcy5faW50ZXJuYWxTdGF0ZT1uZXcgTWFwO2lmKGUpdGhpcy5fcGFyc2UoZSl9c2V0KGUsdCl7Y29uc3Qgcj10aGlzLl9jbG9uZSgpO2lmKHIuX2ludGVybmFsU3RhdGUuaGFzKGUpKXtyLl9pbnRlcm5hbFN0YXRlLmRlbGV0ZShlKX1yLl9pbnRlcm5hbFN0YXRlLnNldChlLHQpO3JldHVybiByfXVuc2V0KGUpe2NvbnN0IHQ9dGhpcy5fY2xvbmUoKTt0Ll9pbnRlcm5hbFN0YXRlLmRlbGV0ZShlKTtyZXR1cm4gdH1nZXQoZSl7cmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGUuZ2V0KGUpfXNlcmlhbGl6ZSgpe3JldHVybiB0aGlzLl9rZXlzKCkucmVkdWNlKCgoZSx0KT0+e2UucHVzaCh0K2MrdGhpcy5nZXQodCkpO3JldHVybiBlfSksW10pLmpvaW4oaSl9X3BhcnNlKGUpe2lmKGUubGVuZ3RoPm8pcmV0dXJuO3RoaXMuX2ludGVybmFsU3RhdGU9ZS5zcGxpdChpKS5yZXZlcnNlKCkucmVkdWNlKCgoZSx0KT0+e2NvbnN0IHI9dC50cmltKCk7Y29uc3QgYT1yLmluZGV4T2YoYyk7aWYoYSE9PS0xKXtjb25zdCBvPXIuc2xpY2UoMCxhKTtjb25zdCBpPXIuc2xpY2UoYSsxLHQubGVuZ3RoKTtpZigoMCxuLnZhbGlkYXRlS2V5KShvKSYmKDAsbi52YWxpZGF0ZVZhbHVlKShpKSl7ZS5zZXQobyxpKX1lbHNle319cmV0dXJuIGV9KSxuZXcgTWFwKTtpZih0aGlzLl9pbnRlcm5hbFN0YXRlLnNpemU+YSl7dGhpcy5faW50ZXJuYWxTdGF0ZT1uZXcgTWFwKEFycmF5LmZyb20odGhpcy5faW50ZXJuYWxTdGF0ZS5lbnRyaWVzKCkpLnJldmVyc2UoKS5zbGljZSgwLGEpKX19X2tleXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9pbnRlcm5hbFN0YXRlLmtleXMoKSkucmV2ZXJzZSgpfV9jbG9uZSgpe2NvbnN0IGU9bmV3IFRyYWNlU3RhdGVJbXBsO2UuX2ludGVybmFsU3RhdGU9bmV3IE1hcCh0aGlzLl9pbnRlcm5hbFN0YXRlKTtyZXR1cm4gZX19dC5UcmFjZVN0YXRlSW1wbD1UcmFjZVN0YXRlSW1wbH0sNTY0OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LnZhbGlkYXRlVmFsdWU9dC52YWxpZGF0ZUtleT12b2lkIDA7Y29uc3Qgcj1cIltfMC05YS16LSovXVwiO2NvbnN0IG49YFthLXpdJHtyfXswLDI1NX1gO2NvbnN0IGE9YFthLXowLTldJHtyfXswLDI0MH1AW2Etel0ke3J9ezAsMTN9YDtjb25zdCBvPW5ldyBSZWdFeHAoYF4oPzoke259fCR7YX0pJGApO2NvbnN0IGk9L15bIC1+XXswLDI1NX1bIS1+XSQvO2NvbnN0IGM9Lyx8PS87ZnVuY3Rpb24gdmFsaWRhdGVLZXkoZSl7cmV0dXJuIG8udGVzdChlKX10LnZhbGlkYXRlS2V5PXZhbGlkYXRlS2V5O2Z1bmN0aW9uIHZhbGlkYXRlVmFsdWUoZSl7cmV0dXJuIGkudGVzdChlKSYmIWMudGVzdChlKX10LnZhbGlkYXRlVmFsdWU9dmFsaWRhdGVWYWx1ZX0sOTg6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5jcmVhdGVUcmFjZVN0YXRlPXZvaWQgMDtjb25zdCBuPXIoMzI1KTtmdW5jdGlvbiBjcmVhdGVUcmFjZVN0YXRlKGUpe3JldHVybiBuZXcgbi5UcmFjZVN0YXRlSW1wbChlKX10LmNyZWF0ZVRyYWNlU3RhdGU9Y3JlYXRlVHJhY2VTdGF0ZX0sNDc2OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuSU5WQUxJRF9TUEFOX0NPTlRFWFQ9dC5JTlZBTElEX1RSQUNFSUQ9dC5JTlZBTElEX1NQQU5JRD12b2lkIDA7Y29uc3Qgbj1yKDQ3NSk7dC5JTlZBTElEX1NQQU5JRD1cIjAwMDAwMDAwMDAwMDAwMDBcIjt0LklOVkFMSURfVFJBQ0VJRD1cIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwXCI7dC5JTlZBTElEX1NQQU5fQ09OVEVYVD17dHJhY2VJZDp0LklOVkFMSURfVFJBQ0VJRCxzcGFuSWQ6dC5JTlZBTElEX1NQQU5JRCx0cmFjZUZsYWdzOm4uVHJhY2VGbGFncy5OT05FfX0sMzU3OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlNwYW5LaW5kPXZvaWQgMDt2YXIgcjsoZnVuY3Rpb24oZSl7ZVtlW1wiSU5URVJOQUxcIl09MF09XCJJTlRFUk5BTFwiO2VbZVtcIlNFUlZFUlwiXT0xXT1cIlNFUlZFUlwiO2VbZVtcIkNMSUVOVFwiXT0yXT1cIkNMSUVOVFwiO2VbZVtcIlBST0RVQ0VSXCJdPTNdPVwiUFJPRFVDRVJcIjtlW2VbXCJDT05TVU1FUlwiXT00XT1cIkNPTlNVTUVSXCJ9KShyPXQuU3BhbktpbmR8fCh0LlNwYW5LaW5kPXt9KSl9LDEzOTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LndyYXBTcGFuQ29udGV4dD10LmlzU3BhbkNvbnRleHRWYWxpZD10LmlzVmFsaWRTcGFuSWQ9dC5pc1ZhbGlkVHJhY2VJZD12b2lkIDA7Y29uc3Qgbj1yKDQ3Nik7Y29uc3QgYT1yKDQwMyk7Y29uc3Qgbz0vXihbMC05YS1mXXszMn0pJC9pO2NvbnN0IGk9L15bMC05YS1mXXsxNn0kL2k7ZnVuY3Rpb24gaXNWYWxpZFRyYWNlSWQoZSl7cmV0dXJuIG8udGVzdChlKSYmZSE9PW4uSU5WQUxJRF9UUkFDRUlEfXQuaXNWYWxpZFRyYWNlSWQ9aXNWYWxpZFRyYWNlSWQ7ZnVuY3Rpb24gaXNWYWxpZFNwYW5JZChlKXtyZXR1cm4gaS50ZXN0KGUpJiZlIT09bi5JTlZBTElEX1NQQU5JRH10LmlzVmFsaWRTcGFuSWQ9aXNWYWxpZFNwYW5JZDtmdW5jdGlvbiBpc1NwYW5Db250ZXh0VmFsaWQoZSl7cmV0dXJuIGlzVmFsaWRUcmFjZUlkKGUudHJhY2VJZCkmJmlzVmFsaWRTcGFuSWQoZS5zcGFuSWQpfXQuaXNTcGFuQ29udGV4dFZhbGlkPWlzU3BhbkNvbnRleHRWYWxpZDtmdW5jdGlvbiB3cmFwU3BhbkNvbnRleHQoZSl7cmV0dXJuIG5ldyBhLk5vblJlY29yZGluZ1NwYW4oZSl9dC53cmFwU3BhbkNvbnRleHQ9d3JhcFNwYW5Db250ZXh0fSw4NDc6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuU3BhblN0YXR1c0NvZGU9dm9pZCAwO3ZhciByOyhmdW5jdGlvbihlKXtlW2VbXCJVTlNFVFwiXT0wXT1cIlVOU0VUXCI7ZVtlW1wiT0tcIl09MV09XCJPS1wiO2VbZVtcIkVSUk9SXCJdPTJdPVwiRVJST1JcIn0pKHI9dC5TcGFuU3RhdHVzQ29kZXx8KHQuU3BhblN0YXR1c0NvZGU9e30pKX0sNDc1OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlRyYWNlRmxhZ3M9dm9pZCAwO3ZhciByOyhmdW5jdGlvbihlKXtlW2VbXCJOT05FXCJdPTBdPVwiTk9ORVwiO2VbZVtcIlNBTVBMRURcIl09MV09XCJTQU1QTEVEXCJ9KShyPXQuVHJhY2VGbGFnc3x8KHQuVHJhY2VGbGFncz17fSkpfSw1MjE6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuVkVSU0lPTj12b2lkIDA7dC5WRVJTSU9OPVwiMS42LjBcIn19O3ZhciB0PXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18ocil7dmFyIG49dFtyXTtpZihuIT09dW5kZWZpbmVkKXtyZXR1cm4gbi5leHBvcnRzfXZhciBhPXRbcl09e2V4cG9ydHM6e319O3ZhciBvPXRydWU7dHJ5e2Vbcl0uY2FsbChhLmV4cG9ydHMsYSxhLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7bz1mYWxzZX1maW5hbGx5e2lmKG8pZGVsZXRlIHRbcl19cmV0dXJuIGEuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIHI9e307KCgpPT57dmFyIGU9cjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO2UudHJhY2U9ZS5wcm9wYWdhdGlvbj1lLm1ldHJpY3M9ZS5kaWFnPWUuY29udGV4dD1lLklOVkFMSURfU1BBTl9DT05URVhUPWUuSU5WQUxJRF9UUkFDRUlEPWUuSU5WQUxJRF9TUEFOSUQ9ZS5pc1ZhbGlkU3BhbklkPWUuaXNWYWxpZFRyYWNlSWQ9ZS5pc1NwYW5Db250ZXh0VmFsaWQ9ZS5jcmVhdGVUcmFjZVN0YXRlPWUuVHJhY2VGbGFncz1lLlNwYW5TdGF0dXNDb2RlPWUuU3BhbktpbmQ9ZS5TYW1wbGluZ0RlY2lzaW9uPWUuUHJveHlUcmFjZXJQcm92aWRlcj1lLlByb3h5VHJhY2VyPWUuZGVmYXVsdFRleHRNYXBTZXR0ZXI9ZS5kZWZhdWx0VGV4dE1hcEdldHRlcj1lLlZhbHVlVHlwZT1lLmNyZWF0ZU5vb3BNZXRlcj1lLkRpYWdMb2dMZXZlbD1lLkRpYWdDb25zb2xlTG9nZ2VyPWUuUk9PVF9DT05URVhUPWUuY3JlYXRlQ29udGV4dEtleT1lLmJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZz12b2lkIDA7dmFyIHQ9X19uY2N3cGNrX3JlcXVpcmVfXygzNjkpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5iYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmd9fSk7dmFyIG49X19uY2N3cGNrX3JlcXVpcmVfXyg3ODApO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiY3JlYXRlQ29udGV4dEtleVwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG4uY3JlYXRlQ29udGV4dEtleX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlJPT1RfQ09OVEVYVFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG4uUk9PVF9DT05URVhUfX0pO3ZhciBhPV9fbmNjd3Bja19yZXF1aXJlX18oOTcyKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIkRpYWdDb25zb2xlTG9nZ2VyXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYS5EaWFnQ29uc29sZUxvZ2dlcn19KTt2YXIgbz1fX25jY3dwY2tfcmVxdWlyZV9fKDk1Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJEaWFnTG9nTGV2ZWxcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBvLkRpYWdMb2dMZXZlbH19KTt2YXIgaT1fX25jY3dwY2tfcmVxdWlyZV9fKDEwMik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJjcmVhdGVOb29wTWV0ZXJcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBpLmNyZWF0ZU5vb3BNZXRlcn19KTt2YXIgYz1fX25jY3dwY2tfcmVxdWlyZV9fKDkwMSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJWYWx1ZVR5cGVcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBjLlZhbHVlVHlwZX19KTt2YXIgcz1fX25jY3dwY2tfcmVxdWlyZV9fKDE5NCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJkZWZhdWx0VGV4dE1hcEdldHRlclwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHMuZGVmYXVsdFRleHRNYXBHZXR0ZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJkZWZhdWx0VGV4dE1hcFNldHRlclwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHMuZGVmYXVsdFRleHRNYXBTZXR0ZXJ9fSk7dmFyIHU9X19uY2N3cGNrX3JlcXVpcmVfXygxMjUpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiUHJveHlUcmFjZXJcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB1LlByb3h5VHJhY2VyfX0pO3ZhciBsPV9fbmNjd3Bja19yZXF1aXJlX18oODQ2KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlByb3h5VHJhY2VyUHJvdmlkZXJcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsLlByb3h5VHJhY2VyUHJvdmlkZXJ9fSk7dmFyIGc9X19uY2N3cGNrX3JlcXVpcmVfXyg5OTYpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiU2FtcGxpbmdEZWNpc2lvblwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGcuU2FtcGxpbmdEZWNpc2lvbn19KTt2YXIgcD1fX25jY3dwY2tfcmVxdWlyZV9fKDM1Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJTcGFuS2luZFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHAuU3BhbktpbmR9fSk7dmFyIGQ9X19uY2N3cGNrX3JlcXVpcmVfXyg4NDcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiU3BhblN0YXR1c0NvZGVcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBkLlNwYW5TdGF0dXNDb2RlfX0pO3ZhciBfPV9fbmNjd3Bja19yZXF1aXJlX18oNDc1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlRyYWNlRmxhZ3NcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBfLlRyYWNlRmxhZ3N9fSk7dmFyIGY9X19uY2N3cGNrX3JlcXVpcmVfXyg5OCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJjcmVhdGVUcmFjZVN0YXRlXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZi5jcmVhdGVUcmFjZVN0YXRlfX0pO3ZhciBiPV9fbmNjd3Bja19yZXF1aXJlX18oMTM5KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImlzU3BhbkNvbnRleHRWYWxpZFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGIuaXNTcGFuQ29udGV4dFZhbGlkfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiaXNWYWxpZFRyYWNlSWRcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBiLmlzVmFsaWRUcmFjZUlkfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiaXNWYWxpZFNwYW5JZFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGIuaXNWYWxpZFNwYW5JZH19KTt2YXIgdj1fX25jY3dwY2tfcmVxdWlyZV9fKDQ3Nik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJJTlZBTElEX1NQQU5JRFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHYuSU5WQUxJRF9TUEFOSUR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJJTlZBTElEX1RSQUNFSURcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB2LklOVkFMSURfVFJBQ0VJRH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIklOVkFMSURfU1BBTl9DT05URVhUXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdi5JTlZBTElEX1NQQU5fQ09OVEVYVH19KTtjb25zdCBPPV9fbmNjd3Bja19yZXF1aXJlX18oNjcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiY29udGV4dFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE8uY29udGV4dH19KTtjb25zdCBQPV9fbmNjd3Bja19yZXF1aXJlX18oNTA2KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImRpYWdcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBQLmRpYWd9fSk7Y29uc3QgTj1fX25jY3dwY2tfcmVxdWlyZV9fKDg4Nik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJtZXRyaWNzXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTi5tZXRyaWNzfX0pO2NvbnN0IFM9X19uY2N3cGNrX3JlcXVpcmVfXyg5MzkpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwicHJvcGFnYXRpb25cIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBTLnByb3BhZ2F0aW9ufX0pO2NvbnN0IEM9X19uY2N3cGNrX3JlcXVpcmVfXyg4NDUpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwidHJhY2VcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBDLnRyYWNlfX0pO2VbXCJkZWZhdWx0XCJdPXtjb250ZXh0Ok8uY29udGV4dCxkaWFnOlAuZGlhZyxtZXRyaWNzOk4ubWV0cmljcyxwcm9wYWdhdGlvbjpTLnByb3BhZ2F0aW9uLHRyYWNlOkMudHJhY2V9fSkoKTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/compiled/cookie/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/next/dist/compiled/cookie/index.js ***! - \*********************************************************/ -/***/ ((module) => { - -eval("(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;\n/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */r.parse=parse;r.serialize=serialize;var i=decodeURIComponent;var t=encodeURIComponent;var a=/; */;var n=/^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;function parse(e,r){if(typeof e!==\"string\"){throw new TypeError(\"argument str must be a string\")}var t={};var n=r||{};var o=e.split(a);var s=n.decode||i;for(var p=0;p<o.length;p++){var f=o[p];var u=f.indexOf(\"=\");if(u<0){continue}var v=f.substr(0,u).trim();var c=f.substr(++u,f.length).trim();if('\"'==c[0]){c=c.slice(1,-1)}if(undefined==t[v]){t[v]=tryDecode(c,s)}}return t}function serialize(e,r,i){var a=i||{};var o=a.encode||t;if(typeof o!==\"function\"){throw new TypeError(\"option encode is invalid\")}if(!n.test(e)){throw new TypeError(\"argument name is invalid\")}var s=o(r);if(s&&!n.test(s)){throw new TypeError(\"argument val is invalid\")}var p=e+\"=\"+s;if(null!=a.maxAge){var f=a.maxAge-0;if(isNaN(f)||!isFinite(f)){throw new TypeError(\"option maxAge is invalid\")}p+=\"; Max-Age=\"+Math.floor(f)}if(a.domain){if(!n.test(a.domain)){throw new TypeError(\"option domain is invalid\")}p+=\"; Domain=\"+a.domain}if(a.path){if(!n.test(a.path)){throw new TypeError(\"option path is invalid\")}p+=\"; Path=\"+a.path}if(a.expires){if(typeof a.expires.toUTCString!==\"function\"){throw new TypeError(\"option expires is invalid\")}p+=\"; Expires=\"+a.expires.toUTCString()}if(a.httpOnly){p+=\"; HttpOnly\"}if(a.secure){p+=\"; Secure\"}if(a.sameSite){var u=typeof a.sameSite===\"string\"?a.sameSite.toLowerCase():a.sameSite;switch(u){case true:p+=\"; SameSite=Strict\";break;case\"lax\":p+=\"; SameSite=Lax\";break;case\"strict\":p+=\"; SameSite=Strict\";break;case\"none\":p+=\"; SameSite=None\";break;default:throw new TypeError(\"option sameSite is invalid\")}}return p}function tryDecode(e,r){try{return r(e)}catch(r){return e}}})();module.exports=e})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Nvb2tpZS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGFBQWEsaUZBQWlGLFNBQVMsTUFBTTtBQUNuSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHNCQUFzQix5QkFBeUIseUJBQXlCLFNBQVMsR0FBRyw4Q0FBOEMsb0JBQW9CLHdCQUF3QixxREFBcUQsU0FBUyxZQUFZLGlCQUFpQixrQkFBa0IsWUFBWSxXQUFXLEtBQUssV0FBVyxxQkFBcUIsUUFBUSxTQUFTLDJCQUEyQixvQ0FBb0MsY0FBYyxnQkFBZ0Isb0JBQW9CLHFCQUFxQixTQUFTLDBCQUEwQixZQUFZLGtCQUFrQiwwQkFBMEIsZ0RBQWdELGVBQWUsZ0RBQWdELFdBQVcsa0JBQWtCLCtDQUErQyxjQUFjLG1CQUFtQixpQkFBaUIsMkJBQTJCLGdEQUFnRCxNQUFNLHdCQUF3QixhQUFhLHNCQUFzQixnREFBZ0QsTUFBTSxrQkFBa0IsV0FBVyxvQkFBb0IsOENBQThDLE1BQU0sY0FBYyxjQUFjLDhDQUE4QyxpREFBaUQsTUFBTSxrQ0FBa0MsZUFBZSxNQUFNLFVBQVUsYUFBYSxNQUFNLFFBQVEsZUFBZSx1RUFBdUUsVUFBVSxnQkFBZ0IsaUJBQWlCLE1BQU0sZ0JBQWdCLGNBQWMsTUFBTSxtQkFBbUIsaUJBQWlCLE1BQU0saUJBQWlCLGVBQWUsTUFBTSwyREFBMkQsU0FBUyx3QkFBd0IsSUFBSSxZQUFZLFNBQVMsV0FBVyxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvY29va2llL2luZGV4LmpzPzQ5N2QiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciBlPXt9OygoKT0+e3ZhciByPWU7XG4vKiFcbiAqIGNvb2tpZVxuICogQ29weXJpZ2h0KGMpIDIwMTItMjAxNCBSb21hbiBTaHR5bG1hblxuICogQ29weXJpZ2h0KGMpIDIwMTUgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAqIE1JVCBMaWNlbnNlZFxuICovci5wYXJzZT1wYXJzZTtyLnNlcmlhbGl6ZT1zZXJpYWxpemU7dmFyIGk9ZGVjb2RlVVJJQ29tcG9uZW50O3ZhciB0PWVuY29kZVVSSUNvbXBvbmVudDt2YXIgYT0vOyAqLzt2YXIgbj0vXltcXHUwMDA5XFx1MDAyMC1cXHUwMDdlXFx1MDA4MC1cXHUwMGZmXSskLztmdW5jdGlvbiBwYXJzZShlLHIpe2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IHN0ciBtdXN0IGJlIGEgc3RyaW5nXCIpfXZhciB0PXt9O3ZhciBuPXJ8fHt9O3ZhciBvPWUuc3BsaXQoYSk7dmFyIHM9bi5kZWNvZGV8fGk7Zm9yKHZhciBwPTA7cDxvLmxlbmd0aDtwKyspe3ZhciBmPW9bcF07dmFyIHU9Zi5pbmRleE9mKFwiPVwiKTtpZih1PDApe2NvbnRpbnVlfXZhciB2PWYuc3Vic3RyKDAsdSkudHJpbSgpO3ZhciBjPWYuc3Vic3RyKCsrdSxmLmxlbmd0aCkudHJpbSgpO2lmKCdcIic9PWNbMF0pe2M9Yy5zbGljZSgxLC0xKX1pZih1bmRlZmluZWQ9PXRbdl0pe3Rbdl09dHJ5RGVjb2RlKGMscyl9fXJldHVybiB0fWZ1bmN0aW9uIHNlcmlhbGl6ZShlLHIsaSl7dmFyIGE9aXx8e307dmFyIG89YS5lbmNvZGV8fHQ7aWYodHlwZW9mIG8hPT1cImZ1bmN0aW9uXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gZW5jb2RlIGlzIGludmFsaWRcIil9aWYoIW4udGVzdChlKSl7dGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IG5hbWUgaXMgaW52YWxpZFwiKX12YXIgcz1vKHIpO2lmKHMmJiFuLnRlc3Qocykpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCB2YWwgaXMgaW52YWxpZFwiKX12YXIgcD1lK1wiPVwiK3M7aWYobnVsbCE9YS5tYXhBZ2Upe3ZhciBmPWEubWF4QWdlLTA7aWYoaXNOYU4oZil8fCFpc0Zpbml0ZShmKSl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbiBtYXhBZ2UgaXMgaW52YWxpZFwiKX1wKz1cIjsgTWF4LUFnZT1cIitNYXRoLmZsb29yKGYpfWlmKGEuZG9tYWluKXtpZighbi50ZXN0KGEuZG9tYWluKSl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbiBkb21haW4gaXMgaW52YWxpZFwiKX1wKz1cIjsgRG9tYWluPVwiK2EuZG9tYWlufWlmKGEucGF0aCl7aWYoIW4udGVzdChhLnBhdGgpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9uIHBhdGggaXMgaW52YWxpZFwiKX1wKz1cIjsgUGF0aD1cIithLnBhdGh9aWYoYS5leHBpcmVzKXtpZih0eXBlb2YgYS5leHBpcmVzLnRvVVRDU3RyaW5nIT09XCJmdW5jdGlvblwiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9uIGV4cGlyZXMgaXMgaW52YWxpZFwiKX1wKz1cIjsgRXhwaXJlcz1cIithLmV4cGlyZXMudG9VVENTdHJpbmcoKX1pZihhLmh0dHBPbmx5KXtwKz1cIjsgSHR0cE9ubHlcIn1pZihhLnNlY3VyZSl7cCs9XCI7IFNlY3VyZVwifWlmKGEuc2FtZVNpdGUpe3ZhciB1PXR5cGVvZiBhLnNhbWVTaXRlPT09XCJzdHJpbmdcIj9hLnNhbWVTaXRlLnRvTG93ZXJDYXNlKCk6YS5zYW1lU2l0ZTtzd2l0Y2godSl7Y2FzZSB0cnVlOnArPVwiOyBTYW1lU2l0ZT1TdHJpY3RcIjticmVhaztjYXNlXCJsYXhcIjpwKz1cIjsgU2FtZVNpdGU9TGF4XCI7YnJlYWs7Y2FzZVwic3RyaWN0XCI6cCs9XCI7IFNhbWVTaXRlPVN0cmljdFwiO2JyZWFrO2Nhc2VcIm5vbmVcIjpwKz1cIjsgU2FtZVNpdGU9Tm9uZVwiO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbiBzYW1lU2l0ZSBpcyBpbnZhbGlkXCIpfX1yZXR1cm4gcH1mdW5jdGlvbiB0cnlEZWNvZGUoZSxyKXt0cnl7cmV0dXJuIHIoZSl9Y2F0Y2gocil7cmV0dXJuIGV9fX0pKCk7bW9kdWxlLmV4cG9ydHM9ZX0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/cookie/index.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/compiled/path-to-regexp/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/compiled/path-to-regexp/index.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Tokenize input string.\n */\nfunction lexer(str) {\n var tokens = [];\n var i = 0;\n while (i < str.length) {\n var char = str[i];\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n while (j < str.length) {\n var code = str.charCodeAt(j);\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name)\n throw new TypeError(\"Missing parameter name at \" + i);\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n var j = i + 1;\n if (str[j] === \"?\") {\n throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \" + j);\n }\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n }\n else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(\"Capturing groups are not allowed at \" + j);\n }\n }\n pattern += str[j++];\n }\n if (count)\n throw new TypeError(\"Unbalanced pattern at \" + i);\n if (!pattern)\n throw new TypeError(\"Missing pattern at \" + i);\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */\nfunction parse(str, options) {\n if (options === void 0) { options = {}; }\n var tokens = lexer(str);\n var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a;\n var defaultPattern = \"[^\" + escapeString(options.delimiter || \"/#?\") + \"]+?\";\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var tryConsume = function (type) {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n var mustConsume = function (type) {\n var value = tryConsume(type);\n if (value !== undefined)\n return value;\n var _a = tokens[i], nextType = _a.type, index = _a.index;\n throw new TypeError(\"Unexpected \" + nextType + \" at \" + index + \", expected \" + type);\n };\n var consumeText = function () {\n var result = \"\";\n var value;\n // tslint:disable-next-line\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n while (i < tokens.length) {\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n if (name || pattern) {\n var prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n result.push({\n name: name || key++,\n prefix: prefix,\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n var open = tryConsume(\"OPEN\");\n if (open) {\n var prefix = consumeText();\n var name_1 = tryConsume(\"NAME\") || \"\";\n var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n result.push({\n name: name_1 || (pattern_1 ? key++ : \"\"),\n pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,\n prefix: prefix,\n suffix: suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n mustConsume(\"END\");\n }\n return result;\n}\nexports.parse = parse;\n/**\n * Compile a string to a template function for the path.\n */\nfunction compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\nexports.compile = compile;\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction(tokens, options) {\n if (options === void 0) { options = {}; }\n var reFlags = flags(options);\n var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n // Compile all the tokens into regexps.\n var matches = tokens.map(function (token) {\n if (typeof token === \"object\") {\n return new RegExp(\"^(?:\" + token.pattern + \")$\", reFlags);\n }\n });\n return function (data) {\n var path = \"\";\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n var value = data ? data[token.name] : undefined;\n var optional = token.modifier === \"?\" || token.modifier === \"*\";\n var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to not repeat, but got an array\");\n }\n if (value.length === 0) {\n if (optional)\n continue;\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to not be empty\");\n }\n for (var j = 0; j < value.length; j++) {\n var segment = encode(value[j], token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected all \\\"\" + token.name + \"\\\" to match \\\"\" + token.pattern + \"\\\", but got \\\"\" + segment + \"\\\"\");\n }\n path += token.prefix + segment + token.suffix;\n }\n continue;\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n var segment = encode(String(value), token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to match \\\"\" + token.pattern + \"\\\", but got \\\"\" + segment + \"\\\"\");\n }\n path += token.prefix + segment + token.suffix;\n continue;\n }\n if (optional)\n continue;\n var typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to be \" + typeOfMessage);\n }\n return path;\n };\n}\nexports.tokensToFunction = tokensToFunction;\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nfunction match(str, options) {\n var keys = [];\n var re = pathToRegexp(str, keys, options);\n return regexpToFunction(re, keys, options);\n}\nexports.match = match;\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nfunction regexpToFunction(re, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a;\n return function (pathname) {\n var m = re.exec(pathname);\n if (!m)\n return false;\n var path = m[0], index = m.index;\n var params = Object.create(null);\n var _loop_1 = function (i) {\n // tslint:disable-next-line\n if (m[i] === undefined)\n return \"continue\";\n var key = keys[i - 1];\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) {\n return decode(value, key);\n });\n }\n else {\n params[key.name] = decode(m[i], key);\n }\n };\n for (var i = 1; i < m.length; i++) {\n _loop_1(i);\n }\n return { path: path, index: index, params: params };\n };\n}\nexports.regexpToFunction = regexpToFunction;\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\"\n });\n }\n }\n return path;\n}\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; });\n return new RegExp(\"(?:\" + parts.join(\"|\") + \")\", flags(options));\n}\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nfunction tokensToRegexp(tokens, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d;\n var endsWith = \"[\" + escapeString(options.endsWith || \"\") + \"]|$\";\n var delimiter = \"[\" + escapeString(options.delimiter || \"/#?\") + \"]\";\n var route = start ? \"^\" : \"\";\n // Iterate over the tokens and create our regexp string.\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n }\n else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\" + prefix + \"((?:\" + token.pattern + \")(?:\" + suffix + prefix + \"(?:\" + token.pattern + \"))*)\" + suffix + \")\" + mod;\n }\n else {\n route += \"(?:\" + prefix + \"(\" + token.pattern + \")\" + suffix + \")\" + token.modifier;\n }\n }\n else {\n route += \"(\" + token.pattern + \")\" + token.modifier;\n }\n }\n else {\n route += \"(?:\" + prefix + suffix + \")\" + token.modifier;\n }\n }\n }\n if (end) {\n if (!strict)\n route += delimiter + \"?\";\n route += !options.endsWith ? \"$\" : \"(?=\" + endsWith + \")\";\n }\n else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\"\n ? delimiter.indexOf(endToken[endToken.length - 1]) > -1\n : // tslint:disable-next-line\n endToken === undefined;\n if (!strict) {\n route += \"(?:\" + delimiter + \"(?=\" + endsWith + \"))?\";\n }\n if (!isEndDelimited) {\n route += \"(?=\" + delimiter + \"|\" + endsWith + \")\";\n }\n }\n return new RegExp(route, flags(options));\n}\nexports.tokensToRegexp = tokensToRegexp;\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nfunction pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\nexports.pathToRegexp = pathToRegexp;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BhdGgtdG8tcmVnZXhwL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQiw2Q0FBNkM7QUFDdkU7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG1EQUFtRDtBQUM3RTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCLDBCQUEwQix5Q0FBeUM7QUFDbkU7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QiwwQkFBMEIsMENBQTBDO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIscUNBQXFDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLDJDQUEyQztBQUNyRTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IseUNBQXlDO0FBQy9EO0FBQ0Esa0JBQWtCLGtDQUFrQztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBLHFFQUFxRSxZQUFZO0FBQ2pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLHdCQUF3QixtQkFBbUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxrQkFBa0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUIscUVBQXFFLFlBQVk7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGNBQWM7QUFDdEM7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLG1CQUFtQjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxrREFBa0Q7QUFDOUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCLHlPQUF5TyxZQUFZO0FBQ3JQO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLHNCQUFzQjtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNERBQTREO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BhdGgtdG8tcmVnZXhwL2luZGV4LmpzPzBhZWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKipcbiAqIFRva2VuaXplIGlucHV0IHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gbGV4ZXIoc3RyKSB7XG4gICAgdmFyIHRva2VucyA9IFtdO1xuICAgIHZhciBpID0gMDtcbiAgICB3aGlsZSAoaSA8IHN0ci5sZW5ndGgpIHtcbiAgICAgICAgdmFyIGNoYXIgPSBzdHJbaV07XG4gICAgICAgIGlmIChjaGFyID09PSBcIipcIiB8fCBjaGFyID09PSBcIitcIiB8fCBjaGFyID09PSBcIj9cIikge1xuICAgICAgICAgICAgdG9rZW5zLnB1c2goeyB0eXBlOiBcIk1PRElGSUVSXCIsIGluZGV4OiBpLCB2YWx1ZTogc3RyW2krK10gfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhciA9PT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICAgIHRva2Vucy5wdXNoKHsgdHlwZTogXCJFU0NBUEVEX0NIQVJcIiwgaW5kZXg6IGkrKywgdmFsdWU6IHN0cltpKytdIH0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYXIgPT09IFwie1wiKSB7XG4gICAgICAgICAgICB0b2tlbnMucHVzaCh7IHR5cGU6IFwiT1BFTlwiLCBpbmRleDogaSwgdmFsdWU6IHN0cltpKytdIH0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYXIgPT09IFwifVwiKSB7XG4gICAgICAgICAgICB0b2tlbnMucHVzaCh7IHR5cGU6IFwiQ0xPU0VcIiwgaW5kZXg6IGksIHZhbHVlOiBzdHJbaSsrXSB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFyID09PSBcIjpcIikge1xuICAgICAgICAgICAgdmFyIG5hbWUgPSBcIlwiO1xuICAgICAgICAgICAgdmFyIGogPSBpICsgMTtcbiAgICAgICAgICAgIHdoaWxlIChqIDwgc3RyLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHZhciBjb2RlID0gc3RyLmNoYXJDb2RlQXQoaik7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIC8vIGAwLTlgXG4gICAgICAgICAgICAgICAgKGNvZGUgPj0gNDggJiYgY29kZSA8PSA1NykgfHxcbiAgICAgICAgICAgICAgICAgICAgLy8gYEEtWmBcbiAgICAgICAgICAgICAgICAgICAgKGNvZGUgPj0gNjUgJiYgY29kZSA8PSA5MCkgfHxcbiAgICAgICAgICAgICAgICAgICAgLy8gYGEtemBcbiAgICAgICAgICAgICAgICAgICAgKGNvZGUgPj0gOTcgJiYgY29kZSA8PSAxMjIpIHx8XG4gICAgICAgICAgICAgICAgICAgIC8vIGBfYFxuICAgICAgICAgICAgICAgICAgICBjb2RlID09PSA5NSkge1xuICAgICAgICAgICAgICAgICAgICBuYW1lICs9IHN0cltqKytdO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIW5hbWUpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk1pc3NpbmcgcGFyYW1ldGVyIG5hbWUgYXQgXCIgKyBpKTtcbiAgICAgICAgICAgIHRva2Vucy5wdXNoKHsgdHlwZTogXCJOQU1FXCIsIGluZGV4OiBpLCB2YWx1ZTogbmFtZSB9KTtcbiAgICAgICAgICAgIGkgPSBqO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYXIgPT09IFwiKFwiKSB7XG4gICAgICAgICAgICB2YXIgY291bnQgPSAxO1xuICAgICAgICAgICAgdmFyIHBhdHRlcm4gPSBcIlwiO1xuICAgICAgICAgICAgdmFyIGogPSBpICsgMTtcbiAgICAgICAgICAgIGlmIChzdHJbal0gPT09IFwiP1wiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlBhdHRlcm4gY2Fubm90IHN0YXJ0IHdpdGggXFxcIj9cXFwiIGF0IFwiICsgaik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aGlsZSAoaiA8IHN0ci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RyW2pdID09PSBcIlxcXFxcIikge1xuICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuICs9IHN0cltqKytdICsgc3RyW2orK107XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoc3RyW2pdID09PSBcIilcIikge1xuICAgICAgICAgICAgICAgICAgICBjb3VudC0tO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGorKztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN0cltqXSA9PT0gXCIoXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cltqICsgMV0gIT09IFwiP1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2FwdHVyaW5nIGdyb3VwcyBhcmUgbm90IGFsbG93ZWQgYXQgXCIgKyBqKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwYXR0ZXJuICs9IHN0cltqKytdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvdW50KVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmJhbGFuY2VkIHBhdHRlcm4gYXQgXCIgKyBpKTtcbiAgICAgICAgICAgIGlmICghcGF0dGVybilcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTWlzc2luZyBwYXR0ZXJuIGF0IFwiICsgaSk7XG4gICAgICAgICAgICB0b2tlbnMucHVzaCh7IHR5cGU6IFwiUEFUVEVSTlwiLCBpbmRleDogaSwgdmFsdWU6IHBhdHRlcm4gfSk7XG4gICAgICAgICAgICBpID0gajtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHRva2Vucy5wdXNoKHsgdHlwZTogXCJDSEFSXCIsIGluZGV4OiBpLCB2YWx1ZTogc3RyW2krK10gfSk7XG4gICAgfVxuICAgIHRva2Vucy5wdXNoKHsgdHlwZTogXCJFTkRcIiwgaW5kZXg6IGksIHZhbHVlOiBcIlwiIH0pO1xuICAgIHJldHVybiB0b2tlbnM7XG59XG4vKipcbiAqIFBhcnNlIGEgc3RyaW5nIGZvciB0aGUgcmF3IHRva2Vucy5cbiAqL1xuZnVuY3Rpb24gcGFyc2Uoc3RyLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkgeyBvcHRpb25zID0ge307IH1cbiAgICB2YXIgdG9rZW5zID0gbGV4ZXIoc3RyKTtcbiAgICB2YXIgX2EgPSBvcHRpb25zLnByZWZpeGVzLCBwcmVmaXhlcyA9IF9hID09PSB2b2lkIDAgPyBcIi4vXCIgOiBfYTtcbiAgICB2YXIgZGVmYXVsdFBhdHRlcm4gPSBcIlteXCIgKyBlc2NhcGVTdHJpbmcob3B0aW9ucy5kZWxpbWl0ZXIgfHwgXCIvIz9cIikgKyBcIl0rP1wiO1xuICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICB2YXIga2V5ID0gMDtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIHBhdGggPSBcIlwiO1xuICAgIHZhciB0cnlDb25zdW1lID0gZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgaWYgKGkgPCB0b2tlbnMubGVuZ3RoICYmIHRva2Vuc1tpXS50eXBlID09PSB0eXBlKVxuICAgICAgICAgICAgcmV0dXJuIHRva2Vuc1tpKytdLnZhbHVlO1xuICAgIH07XG4gICAgdmFyIG11c3RDb25zdW1lID0gZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gdHJ5Q29uc3VtZSh0eXBlKTtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIHZhciBfYSA9IHRva2Vuc1tpXSwgbmV4dFR5cGUgPSBfYS50eXBlLCBpbmRleCA9IF9hLmluZGV4O1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5leHBlY3RlZCBcIiArIG5leHRUeXBlICsgXCIgYXQgXCIgKyBpbmRleCArIFwiLCBleHBlY3RlZCBcIiArIHR5cGUpO1xuICAgIH07XG4gICAgdmFyIGNvbnN1bWVUZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gXCJcIjtcbiAgICAgICAgdmFyIHZhbHVlO1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgd2hpbGUgKCh2YWx1ZSA9IHRyeUNvbnN1bWUoXCJDSEFSXCIpIHx8IHRyeUNvbnN1bWUoXCJFU0NBUEVEX0NIQVJcIikpKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICAgIHdoaWxlIChpIDwgdG9rZW5zLmxlbmd0aCkge1xuICAgICAgICB2YXIgY2hhciA9IHRyeUNvbnN1bWUoXCJDSEFSXCIpO1xuICAgICAgICB2YXIgbmFtZSA9IHRyeUNvbnN1bWUoXCJOQU1FXCIpO1xuICAgICAgICB2YXIgcGF0dGVybiA9IHRyeUNvbnN1bWUoXCJQQVRURVJOXCIpO1xuICAgICAgICBpZiAobmFtZSB8fCBwYXR0ZXJuKSB7XG4gICAgICAgICAgICB2YXIgcHJlZml4ID0gY2hhciB8fCBcIlwiO1xuICAgICAgICAgICAgaWYgKHByZWZpeGVzLmluZGV4T2YocHJlZml4KSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBwYXRoICs9IHByZWZpeDtcbiAgICAgICAgICAgICAgICBwcmVmaXggPSBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChwYXRoKTtcbiAgICAgICAgICAgICAgICBwYXRoID0gXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBuYW1lIHx8IGtleSsrLFxuICAgICAgICAgICAgICAgIHByZWZpeDogcHJlZml4LFxuICAgICAgICAgICAgICAgIHN1ZmZpeDogXCJcIixcbiAgICAgICAgICAgICAgICBwYXR0ZXJuOiBwYXR0ZXJuIHx8IGRlZmF1bHRQYXR0ZXJuLFxuICAgICAgICAgICAgICAgIG1vZGlmaWVyOiB0cnlDb25zdW1lKFwiTU9ESUZJRVJcIikgfHwgXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdmFsdWUgPSBjaGFyIHx8IHRyeUNvbnN1bWUoXCJFU0NBUEVEX0NIQVJcIik7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgcGF0aCArPSB2YWx1ZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChwYXRoKTtcbiAgICAgICAgICAgIHBhdGggPSBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIHZhciBvcGVuID0gdHJ5Q29uc3VtZShcIk9QRU5cIik7XG4gICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgICB2YXIgcHJlZml4ID0gY29uc3VtZVRleHQoKTtcbiAgICAgICAgICAgIHZhciBuYW1lXzEgPSB0cnlDb25zdW1lKFwiTkFNRVwiKSB8fCBcIlwiO1xuICAgICAgICAgICAgdmFyIHBhdHRlcm5fMSA9IHRyeUNvbnN1bWUoXCJQQVRURVJOXCIpIHx8IFwiXCI7XG4gICAgICAgICAgICB2YXIgc3VmZml4ID0gY29uc3VtZVRleHQoKTtcbiAgICAgICAgICAgIG11c3RDb25zdW1lKFwiQ0xPU0VcIik7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogbmFtZV8xIHx8IChwYXR0ZXJuXzEgPyBrZXkrKyA6IFwiXCIpLFxuICAgICAgICAgICAgICAgIHBhdHRlcm46IG5hbWVfMSAmJiAhcGF0dGVybl8xID8gZGVmYXVsdFBhdHRlcm4gOiBwYXR0ZXJuXzEsXG4gICAgICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgsXG4gICAgICAgICAgICAgICAgc3VmZml4OiBzdWZmaXgsXG4gICAgICAgICAgICAgICAgbW9kaWZpZXI6IHRyeUNvbnN1bWUoXCJNT0RJRklFUlwiKSB8fCBcIlwiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIG11c3RDb25zdW1lKFwiRU5EXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0cy5wYXJzZSA9IHBhcnNlO1xuLyoqXG4gKiBDb21waWxlIGEgc3RyaW5nIHRvIGEgdGVtcGxhdGUgZnVuY3Rpb24gZm9yIHRoZSBwYXRoLlxuICovXG5mdW5jdGlvbiBjb21waWxlKHN0ciwgb3B0aW9ucykge1xuICAgIHJldHVybiB0b2tlbnNUb0Z1bmN0aW9uKHBhcnNlKHN0ciwgb3B0aW9ucyksIG9wdGlvbnMpO1xufVxuZXhwb3J0cy5jb21waWxlID0gY29tcGlsZTtcbi8qKlxuICogRXhwb3NlIGEgbWV0aG9kIGZvciB0cmFuc2Zvcm1pbmcgdG9rZW5zIGludG8gdGhlIHBhdGggZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIHRva2Vuc1RvRnVuY3Rpb24odG9rZW5zLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkgeyBvcHRpb25zID0ge307IH1cbiAgICB2YXIgcmVGbGFncyA9IGZsYWdzKG9wdGlvbnMpO1xuICAgIHZhciBfYSA9IG9wdGlvbnMuZW5jb2RlLCBlbmNvZGUgPSBfYSA9PT0gdm9pZCAwID8gZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHg7IH0gOiBfYSwgX2IgPSBvcHRpb25zLnZhbGlkYXRlLCB2YWxpZGF0ZSA9IF9iID09PSB2b2lkIDAgPyB0cnVlIDogX2I7XG4gICAgLy8gQ29tcGlsZSBhbGwgdGhlIHRva2VucyBpbnRvIHJlZ2V4cHMuXG4gICAgdmFyIG1hdGNoZXMgPSB0b2tlbnMubWFwKGZ1bmN0aW9uICh0b2tlbikge1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChcIl4oPzpcIiArIHRva2VuLnBhdHRlcm4gKyBcIikkXCIsIHJlRmxhZ3MpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHZhciBwYXRoID0gXCJcIjtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciB0b2tlbiA9IHRva2Vuc1tpXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdG9rZW4gPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBwYXRoICs9IHRva2VuO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHZhbHVlID0gZGF0YSA/IGRhdGFbdG9rZW4ubmFtZV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB2YXIgb3B0aW9uYWwgPSB0b2tlbi5tb2RpZmllciA9PT0gXCI/XCIgfHwgdG9rZW4ubW9kaWZpZXIgPT09IFwiKlwiO1xuICAgICAgICAgICAgdmFyIHJlcGVhdCA9IHRva2VuLm1vZGlmaWVyID09PSBcIipcIiB8fCB0b2tlbi5tb2RpZmllciA9PT0gXCIrXCI7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlcGVhdCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgXFxcIlwiICsgdG9rZW4ubmFtZSArIFwiXFxcIiB0byBub3QgcmVwZWF0LCBidXQgZ290IGFuIGFycmF5XCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25hbClcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgXFxcIlwiICsgdG9rZW4ubmFtZSArIFwiXFxcIiB0byBub3QgYmUgZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWUubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlZ21lbnQgPSBlbmNvZGUodmFsdWVbal0sIHRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRlICYmICFtYXRjaGVzW2ldLnRlc3Qoc2VnbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhbGwgXFxcIlwiICsgdG9rZW4ubmFtZSArIFwiXFxcIiB0byBtYXRjaCBcXFwiXCIgKyB0b2tlbi5wYXR0ZXJuICsgXCJcXFwiLCBidXQgZ290IFxcXCJcIiArIHNlZ21lbnQgKyBcIlxcXCJcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGF0aCArPSB0b2tlbi5wcmVmaXggKyBzZWdtZW50ICsgdG9rZW4uc3VmZml4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgICAgdmFyIHNlZ21lbnQgPSBlbmNvZGUoU3RyaW5nKHZhbHVlKSwgdG9rZW4pO1xuICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0ZSAmJiAhbWF0Y2hlc1tpXS50ZXN0KHNlZ21lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBcXFwiXCIgKyB0b2tlbi5uYW1lICsgXCJcXFwiIHRvIG1hdGNoIFxcXCJcIiArIHRva2VuLnBhdHRlcm4gKyBcIlxcXCIsIGJ1dCBnb3QgXFxcIlwiICsgc2VnbWVudCArIFwiXFxcIlwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGF0aCArPSB0b2tlbi5wcmVmaXggKyBzZWdtZW50ICsgdG9rZW4uc3VmZml4O1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbmFsKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgdmFyIHR5cGVPZk1lc3NhZ2UgPSByZXBlYXQgPyBcImFuIGFycmF5XCIgOiBcImEgc3RyaW5nXCI7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgXFxcIlwiICsgdG9rZW4ubmFtZSArIFwiXFxcIiB0byBiZSBcIiArIHR5cGVPZk1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH07XG59XG5leHBvcnRzLnRva2Vuc1RvRnVuY3Rpb24gPSB0b2tlbnNUb0Z1bmN0aW9uO1xuLyoqXG4gKiBDcmVhdGUgcGF0aCBtYXRjaCBmdW5jdGlvbiBmcm9tIGBwYXRoLXRvLXJlZ2V4cGAgc3BlYy5cbiAqL1xuZnVuY3Rpb24gbWF0Y2goc3RyLCBvcHRpb25zKSB7XG4gICAgdmFyIGtleXMgPSBbXTtcbiAgICB2YXIgcmUgPSBwYXRoVG9SZWdleHAoc3RyLCBrZXlzLCBvcHRpb25zKTtcbiAgICByZXR1cm4gcmVnZXhwVG9GdW5jdGlvbihyZSwga2V5cywgb3B0aW9ucyk7XG59XG5leHBvcnRzLm1hdGNoID0gbWF0Y2g7XG4vKipcbiAqIENyZWF0ZSBhIHBhdGggbWF0Y2ggZnVuY3Rpb24gZnJvbSBgcGF0aC10by1yZWdleHBgIG91dHB1dC5cbiAqL1xuZnVuY3Rpb24gcmVnZXhwVG9GdW5jdGlvbihyZSwga2V5cywgb3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIHsgb3B0aW9ucyA9IHt9OyB9XG4gICAgdmFyIF9hID0gb3B0aW9ucy5kZWNvZGUsIGRlY29kZSA9IF9hID09PSB2b2lkIDAgPyBmdW5jdGlvbiAoeCkgeyByZXR1cm4geDsgfSA6IF9hO1xuICAgIHJldHVybiBmdW5jdGlvbiAocGF0aG5hbWUpIHtcbiAgICAgICAgdmFyIG0gPSByZS5leGVjKHBhdGhuYW1lKTtcbiAgICAgICAgaWYgKCFtKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgcGF0aCA9IG1bMF0sIGluZGV4ID0gbS5pbmRleDtcbiAgICAgICAgdmFyIHBhcmFtcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIHZhciBfbG9vcF8xID0gZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgICAgaWYgKG1baV0gPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgICAgICAgdmFyIGtleSA9IGtleXNbaSAtIDFdO1xuICAgICAgICAgICAgaWYgKGtleS5tb2RpZmllciA9PT0gXCIqXCIgfHwga2V5Lm1vZGlmaWVyID09PSBcIitcIikge1xuICAgICAgICAgICAgICAgIHBhcmFtc1trZXkubmFtZV0gPSBtW2ldLnNwbGl0KGtleS5wcmVmaXggKyBrZXkuc3VmZml4KS5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWNvZGUodmFsdWUsIGtleSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJhbXNba2V5Lm5hbWVdID0gZGVjb2RlKG1baV0sIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgbS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgX2xvb3BfMShpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBwYXRoOiBwYXRoLCBpbmRleDogaW5kZXgsIHBhcmFtczogcGFyYW1zIH07XG4gICAgfTtcbn1cbmV4cG9ydHMucmVnZXhwVG9GdW5jdGlvbiA9IHJlZ2V4cFRvRnVuY3Rpb247XG4vKipcbiAqIEVzY2FwZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVN0cmluZyhzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbLisqPz1eIToke30oKVtcXF18L1xcXFxdKS9nLCBcIlxcXFwkMVwiKTtcbn1cbi8qKlxuICogR2V0IHRoZSBmbGFncyBmb3IgYSByZWdleHAgZnJvbSB0aGUgb3B0aW9ucy5cbiAqL1xuZnVuY3Rpb24gZmxhZ3Mob3B0aW9ucykge1xuICAgIHJldHVybiBvcHRpb25zICYmIG9wdGlvbnMuc2Vuc2l0aXZlID8gXCJcIiA6IFwiaVwiO1xufVxuLyoqXG4gKiBQdWxsIG91dCBrZXlzIGZyb20gYSByZWdleHAuXG4gKi9cbmZ1bmN0aW9uIHJlZ2V4cFRvUmVnZXhwKHBhdGgsIGtleXMpIHtcbiAgICBpZiAoIWtleXMpXG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIC8vIFVzZSBhIG5lZ2F0aXZlIGxvb2thaGVhZCB0byBtYXRjaCBvbmx5IGNhcHR1cmluZyBncm91cHMuXG4gICAgdmFyIGdyb3VwcyA9IHBhdGguc291cmNlLm1hdGNoKC9cXCgoPyFcXD8pL2cpO1xuICAgIGlmIChncm91cHMpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncm91cHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGtleXMucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogaSxcbiAgICAgICAgICAgICAgICBwcmVmaXg6IFwiXCIsXG4gICAgICAgICAgICAgICAgc3VmZml4OiBcIlwiLFxuICAgICAgICAgICAgICAgIG1vZGlmaWVyOiBcIlwiLFxuICAgICAgICAgICAgICAgIHBhdHRlcm46IFwiXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXRoO1xufVxuLyoqXG4gKiBUcmFuc2Zvcm0gYW4gYXJyYXkgaW50byBhIHJlZ2V4cC5cbiAqL1xuZnVuY3Rpb24gYXJyYXlUb1JlZ2V4cChwYXRocywga2V5cywgb3B0aW9ucykge1xuICAgIHZhciBwYXJ0cyA9IHBhdGhzLm1hcChmdW5jdGlvbiAocGF0aCkgeyByZXR1cm4gcGF0aFRvUmVnZXhwKHBhdGgsIGtleXMsIG9wdGlvbnMpLnNvdXJjZTsgfSk7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoXCIoPzpcIiArIHBhcnRzLmpvaW4oXCJ8XCIpICsgXCIpXCIsIGZsYWdzKG9wdGlvbnMpKTtcbn1cbi8qKlxuICogQ3JlYXRlIGEgcGF0aCByZWdleHAgZnJvbSBzdHJpbmcgaW5wdXQuXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ1RvUmVnZXhwKHBhdGgsIGtleXMsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gdG9rZW5zVG9SZWdleHAocGFyc2UocGF0aCwgb3B0aW9ucyksIGtleXMsIG9wdGlvbnMpO1xufVxuLyoqXG4gKiBFeHBvc2UgYSBmdW5jdGlvbiBmb3IgdGFraW5nIHRva2VucyBhbmQgcmV0dXJuaW5nIGEgUmVnRXhwLlxuICovXG5mdW5jdGlvbiB0b2tlbnNUb1JlZ2V4cCh0b2tlbnMsIGtleXMsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7IG9wdGlvbnMgPSB7fTsgfVxuICAgIHZhciBfYSA9IG9wdGlvbnMuc3RyaWN0LCBzdHJpY3QgPSBfYSA9PT0gdm9pZCAwID8gZmFsc2UgOiBfYSwgX2IgPSBvcHRpb25zLnN0YXJ0LCBzdGFydCA9IF9iID09PSB2b2lkIDAgPyB0cnVlIDogX2IsIF9jID0gb3B0aW9ucy5lbmQsIGVuZCA9IF9jID09PSB2b2lkIDAgPyB0cnVlIDogX2MsIF9kID0gb3B0aW9ucy5lbmNvZGUsIGVuY29kZSA9IF9kID09PSB2b2lkIDAgPyBmdW5jdGlvbiAoeCkgeyByZXR1cm4geDsgfSA6IF9kO1xuICAgIHZhciBlbmRzV2l0aCA9IFwiW1wiICsgZXNjYXBlU3RyaW5nKG9wdGlvbnMuZW5kc1dpdGggfHwgXCJcIikgKyBcIl18JFwiO1xuICAgIHZhciBkZWxpbWl0ZXIgPSBcIltcIiArIGVzY2FwZVN0cmluZyhvcHRpb25zLmRlbGltaXRlciB8fCBcIi8jP1wiKSArIFwiXVwiO1xuICAgIHZhciByb3V0ZSA9IHN0YXJ0ID8gXCJeXCIgOiBcIlwiO1xuICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgdG9rZW5zIGFuZCBjcmVhdGUgb3VyIHJlZ2V4cCBzdHJpbmcuXG4gICAgZm9yICh2YXIgX2kgPSAwLCB0b2tlbnNfMSA9IHRva2VuczsgX2kgPCB0b2tlbnNfMS5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdmFyIHRva2VuID0gdG9rZW5zXzFbX2ldO1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByb3V0ZSArPSBlc2NhcGVTdHJpbmcoZW5jb2RlKHRva2VuKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgcHJlZml4ID0gZXNjYXBlU3RyaW5nKGVuY29kZSh0b2tlbi5wcmVmaXgpKTtcbiAgICAgICAgICAgIHZhciBzdWZmaXggPSBlc2NhcGVTdHJpbmcoZW5jb2RlKHRva2VuLnN1ZmZpeCkpO1xuICAgICAgICAgICAgaWYgKHRva2VuLnBhdHRlcm4pIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5cylcbiAgICAgICAgICAgICAgICAgICAga2V5cy5wdXNoKHRva2VuKTtcbiAgICAgICAgICAgICAgICBpZiAocHJlZml4IHx8IHN1ZmZpeCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4ubW9kaWZpZXIgPT09IFwiK1wiIHx8IHRva2VuLm1vZGlmaWVyID09PSBcIipcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1vZCA9IHRva2VuLm1vZGlmaWVyID09PSBcIipcIiA/IFwiP1wiIDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlICs9IFwiKD86XCIgKyBwcmVmaXggKyBcIigoPzpcIiArIHRva2VuLnBhdHRlcm4gKyBcIikoPzpcIiArIHN1ZmZpeCArIHByZWZpeCArIFwiKD86XCIgKyB0b2tlbi5wYXR0ZXJuICsgXCIpKSopXCIgKyBzdWZmaXggKyBcIilcIiArIG1vZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlICs9IFwiKD86XCIgKyBwcmVmaXggKyBcIihcIiArIHRva2VuLnBhdHRlcm4gKyBcIilcIiArIHN1ZmZpeCArIFwiKVwiICsgdG9rZW4ubW9kaWZpZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlICs9IFwiKFwiICsgdG9rZW4ucGF0dGVybiArIFwiKVwiICsgdG9rZW4ubW9kaWZpZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcm91dGUgKz0gXCIoPzpcIiArIHByZWZpeCArIHN1ZmZpeCArIFwiKVwiICsgdG9rZW4ubW9kaWZpZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVuZCkge1xuICAgICAgICBpZiAoIXN0cmljdClcbiAgICAgICAgICAgIHJvdXRlICs9IGRlbGltaXRlciArIFwiP1wiO1xuICAgICAgICByb3V0ZSArPSAhb3B0aW9ucy5lbmRzV2l0aCA/IFwiJFwiIDogXCIoPz1cIiArIGVuZHNXaXRoICsgXCIpXCI7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgZW5kVG9rZW4gPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdO1xuICAgICAgICB2YXIgaXNFbmREZWxpbWl0ZWQgPSB0eXBlb2YgZW5kVG9rZW4gPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgID8gZGVsaW1pdGVyLmluZGV4T2YoZW5kVG9rZW5bZW5kVG9rZW4ubGVuZ3RoIC0gMV0pID4gLTFcbiAgICAgICAgICAgIDogLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgICAgICAgZW5kVG9rZW4gPT09IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFzdHJpY3QpIHtcbiAgICAgICAgICAgIHJvdXRlICs9IFwiKD86XCIgKyBkZWxpbWl0ZXIgKyBcIig/PVwiICsgZW5kc1dpdGggKyBcIikpP1wiO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNFbmREZWxpbWl0ZWQpIHtcbiAgICAgICAgICAgIHJvdXRlICs9IFwiKD89XCIgKyBkZWxpbWl0ZXIgKyBcInxcIiArIGVuZHNXaXRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocm91dGUsIGZsYWdzKG9wdGlvbnMpKTtcbn1cbmV4cG9ydHMudG9rZW5zVG9SZWdleHAgPSB0b2tlbnNUb1JlZ2V4cDtcbi8qKlxuICogTm9ybWFsaXplIHRoZSBnaXZlbiBwYXRoIHN0cmluZywgcmV0dXJuaW5nIGEgcmVndWxhciBleHByZXNzaW9uLlxuICpcbiAqIEFuIGVtcHR5IGFycmF5IGNhbiBiZSBwYXNzZWQgaW4gZm9yIHRoZSBrZXlzLCB3aGljaCB3aWxsIGhvbGQgdGhlXG4gKiBwbGFjZWhvbGRlciBrZXkgZGVzY3JpcHRpb25zLiBGb3IgZXhhbXBsZSwgdXNpbmcgYC91c2VyLzppZGAsIGBrZXlzYCB3aWxsXG4gKiBjb250YWluIGBbeyBuYW1lOiAnaWQnLCBkZWxpbWl0ZXI6ICcvJywgb3B0aW9uYWw6IGZhbHNlLCByZXBlYXQ6IGZhbHNlIH1dYC5cbiAqL1xuZnVuY3Rpb24gcGF0aFRvUmVnZXhwKHBhdGgsIGtleXMsIG9wdGlvbnMpIHtcbiAgICBpZiAocGF0aCBpbnN0YW5jZW9mIFJlZ0V4cClcbiAgICAgICAgcmV0dXJuIHJlZ2V4cFRvUmVnZXhwKHBhdGgsIGtleXMpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHBhdGgpKVxuICAgICAgICByZXR1cm4gYXJyYXlUb1JlZ2V4cChwYXRoLCBrZXlzLCBvcHRpb25zKTtcbiAgICByZXR1cm4gc3RyaW5nVG9SZWdleHAocGF0aCwga2V5cywgb3B0aW9ucyk7XG59XG5leHBvcnRzLnBhdGhUb1JlZ2V4cCA9IHBhdGhUb1JlZ2V4cDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/path-to-regexp/index.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/compiled/picomatch/index.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/picomatch/index.js ***! - \************************************************************/ -/***/ ((module) => { - -eval("(()=>{\"use strict\";var t={170:(t,e,u)=>{const n=u(510);const isWindows=()=>{if(typeof navigator!==\"undefined\"&&navigator.platform){const t=navigator.platform.toLowerCase();return t===\"win32\"||t===\"windows\"}if(typeof process!==\"undefined\"&&process.platform){return process.platform===\"win32\"}return false};function picomatch(t,e,u=false){if(e&&(e.windows===null||e.windows===undefined)){e={...e,windows:isWindows()}}return n(t,e,u)}Object.assign(picomatch,n);t.exports=picomatch},154:t=>{const e=\"\\\\\\\\/\";const u=`[^${e}]`;const n=\"\\\\.\";const o=\"\\\\+\";const s=\"\\\\?\";const r=\"\\\\/\";const a=\"(?=.)\";const i=\"[^/]\";const c=`(?:${r}|$)`;const p=`(?:^|${r})`;const l=`${n}{1,2}${c}`;const f=`(?!${n})`;const A=`(?!${p}${l})`;const _=`(?!${n}{0,1}${c})`;const R=`(?!${l})`;const E=`[^.${r}]`;const h=`${i}*?`;const g=\"/\";const b={DOT_LITERAL:n,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:r,ONE_CHAR:a,QMARK:i,END_ANCHOR:c,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:A,NO_DOT_SLASH:_,NO_DOTS_SLASH:R,QMARK_NO_DOT:E,STAR:h,START_ANCHOR:p,SEP:g};const C={...b,SLASH_LITERAL:`[${e}]`,QMARK:u,STAR:`${u}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`,SEP:\"\\\\\"};const y={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:y,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${t.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(t){return t===true?C:b}}},697:(t,e,u)=>{const n=u(154);const o=u(96);const{MAX_LENGTH:s,POSIX_REGEX_SOURCE:r,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:i,REPLACEMENTS:c}=n;const expandRange=(t,e)=>{if(typeof e.expandRange===\"function\"){return e.expandRange(...t,e)}t.sort();const u=`[${t.join(\"-\")}]`;try{new RegExp(u)}catch(e){return t.map((t=>o.escapeRegex(t))).join(\"..\")}return u};const syntaxError=(t,e)=>`Missing ${t}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`;const parse=(t,e)=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected a string\")}t=c[t]||t;const u={...e};const p=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;let l=t.length;if(l>p){throw new SyntaxError(`Input length: ${l}, exceeds maximum allowed length: ${p}`)}const f={type:\"bos\",value:\"\",output:u.prepend||\"\"};const A=[f];const _=u.capture?\"\":\"?:\";const R=n.globChars(u.windows);const E=n.extglobChars(R);const{DOT_LITERAL:h,PLUS_LITERAL:g,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:y,NO_DOT:$,NO_DOT_SLASH:x,NO_DOTS_SLASH:S,QMARK:H,QMARK_NO_DOT:v,STAR:d,START_ANCHOR:L}=R;const globstar=t=>`(${_}(?:(?!${L}${t.dot?y:h}).)*?)`;const T=u.dot?\"\":$;const O=u.dot?H:v;let k=u.bash===true?globstar(u):d;if(u.capture){k=`(${k})`}if(typeof u.noext===\"boolean\"){u.noextglob=u.noext}const m={input:t,index:-1,start:0,dot:u.dot===true,consumed:\"\",output:\"\",prefix:\"\",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:A};t=o.removePrefix(t,m);l=t.length;const w=[];const N=[];const I=[];let B=f;let G;const eos=()=>m.index===l-1;const D=m.peek=(e=1)=>t[m.index+e];const M=m.advance=()=>t[++m.index]||\"\";const remaining=()=>t.slice(m.index+1);const consume=(t=\"\",e=0)=>{m.consumed+=t;m.index+=e};const append=t=>{m.output+=t.output!=null?t.output:t.value;consume(t.value)};const negate=()=>{let t=1;while(D()===\"!\"&&(D(2)!==\"(\"||D(3)===\"?\")){M();m.start++;t++}if(t%2===0){return false}m.negated=true;m.start++;return true};const increment=t=>{m[t]++;I.push(t)};const decrement=t=>{m[t]--;I.pop()};const push=t=>{if(B.type===\"globstar\"){const e=m.braces>0&&(t.type===\"comma\"||t.type===\"brace\");const u=t.extglob===true||w.length&&(t.type===\"pipe\"||t.type===\"paren\");if(t.type!==\"slash\"&&t.type!==\"paren\"&&!e&&!u){m.output=m.output.slice(0,-B.output.length);B.type=\"star\";B.value=\"*\";B.output=k;m.output+=B.output}}if(w.length&&t.type!==\"paren\"){w[w.length-1].inner+=t.value}if(t.value||t.output)append(t);if(B&&B.type===\"text\"&&t.type===\"text\"){B.output=(B.output||B.value)+t.value;B.value+=t.value;return}t.prev=B;A.push(t);B=t};const extglobOpen=(t,e)=>{const n={...E[e],conditions:1,inner:\"\"};n.prev=B;n.parens=m.parens;n.output=m.output;const o=(u.capture?\"(\":\"\")+n.open;increment(\"parens\");push({type:t,value:e,output:m.output?\"\":C});push({type:\"paren\",extglob:true,value:M(),output:o});w.push(n)};const extglobClose=t=>{let n=t.close+(u.capture?\")\":\"\");let o;if(t.type===\"negate\"){let s=k;if(t.inner&&t.inner.length>1&&t.inner.includes(\"/\")){s=globstar(u)}if(s!==k||eos()||/^\\)+$/.test(remaining())){n=t.close=`)$))${s}`}if(t.inner.includes(\"*\")&&(o=remaining())&&/^\\.[^\\\\/.]+$/.test(o)){const u=parse(o,{...e,fastpaths:false}).output;n=t.close=`)${u})${s})`}if(t.prev.type===\"bos\"){m.negatedExtglob=true}}push({type:\"paren\",extglob:true,value:G,output:n});decrement(\"parens\")};if(u.fastpaths!==false&&!/(^[*!]|[/()[\\]{}\"])/.test(t)){let n=false;let s=t.replace(i,((t,e,u,o,s,r)=>{if(o===\"\\\\\"){n=true;return t}if(o===\"?\"){if(e){return e+o+(s?H.repeat(s.length):\"\")}if(r===0){return O+(s?H.repeat(s.length):\"\")}return H.repeat(u.length)}if(o===\".\"){return h.repeat(u.length)}if(o===\"*\"){if(e){return e+o+(s?k:\"\")}return k}return e?t:`\\\\${t}`}));if(n===true){if(u.unescape===true){s=s.replace(/\\\\/g,\"\")}else{s=s.replace(/\\\\+/g,(t=>t.length%2===0?\"\\\\\\\\\":t?\"\\\\\":\"\"))}}if(s===t&&u.contains===true){m.output=t;return m}m.output=o.wrapOutput(s,m,e);return m}while(!eos()){G=M();if(G===\"\\0\"){continue}if(G===\"\\\\\"){const t=D();if(t===\"/\"&&u.bash!==true){continue}if(t===\".\"||t===\";\"){continue}if(!t){G+=\"\\\\\";push({type:\"text\",value:G});continue}const e=/^\\\\+/.exec(remaining());let n=0;if(e&&e[0].length>2){n=e[0].length;m.index+=n;if(n%2!==0){G+=\"\\\\\"}}if(u.unescape===true){G=M()}else{G+=M()}if(m.brackets===0){push({type:\"text\",value:G});continue}}if(m.brackets>0&&(G!==\"]\"||B.value===\"[\"||B.value===\"[^\")){if(u.posix!==false&&G===\":\"){const t=B.value.slice(1);if(t.includes(\"[\")){B.posix=true;if(t.includes(\":\")){const t=B.value.lastIndexOf(\"[\");const e=B.value.slice(0,t);const u=B.value.slice(t+2);const n=r[u];if(n){B.value=e+n;m.backtrack=true;M();if(!f.output&&A.indexOf(B)===1){f.output=C}continue}}}}if(G===\"[\"&&D()!==\":\"||G===\"-\"&&D()===\"]\"){G=`\\\\${G}`}if(G===\"]\"&&(B.value===\"[\"||B.value===\"[^\")){G=`\\\\${G}`}if(u.posix===true&&G===\"!\"&&B.value===\"[\"){G=\"^\"}B.value+=G;append({value:G});continue}if(m.quotes===1&&G!=='\"'){G=o.escapeRegex(G);B.value+=G;append({value:G});continue}if(G==='\"'){m.quotes=m.quotes===1?0:1;if(u.keepQuotes===true){push({type:\"text\",value:G})}continue}if(G===\"(\"){increment(\"parens\");push({type:\"paren\",value:G});continue}if(G===\")\"){if(m.parens===0&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"(\"))}const t=w[w.length-1];if(t&&m.parens===t.parens+1){extglobClose(w.pop());continue}push({type:\"paren\",value:G,output:m.parens?\")\":\"\\\\)\"});decrement(\"parens\");continue}if(G===\"[\"){if(u.nobracket===true||!remaining().includes(\"]\")){if(u.nobracket!==true&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"closing\",\"]\"))}G=`\\\\${G}`}else{increment(\"brackets\")}push({type:\"bracket\",value:G});continue}if(G===\"]\"){if(u.nobracket===true||B&&B.type===\"bracket\"&&B.value.length===1){push({type:\"text\",value:G,output:`\\\\${G}`});continue}if(m.brackets===0){if(u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"[\"))}push({type:\"text\",value:G,output:`\\\\${G}`});continue}decrement(\"brackets\");const t=B.value.slice(1);if(B.posix!==true&&t[0]===\"^\"&&!t.includes(\"/\")){G=`/${G}`}B.value+=G;append({value:G});if(u.literalBrackets===false||o.hasRegexChars(t)){continue}const e=o.escapeRegex(B.value);m.output=m.output.slice(0,-B.value.length);if(u.literalBrackets===true){m.output+=e;B.value=e;continue}B.value=`(${_}${e}|${B.value})`;m.output+=B.value;continue}if(G===\"{\"&&u.nobrace!==true){increment(\"braces\");const t={type:\"brace\",value:G,output:\"(\",outputIndex:m.output.length,tokensIndex:m.tokens.length};N.push(t);push(t);continue}if(G===\"}\"){const t=N[N.length-1];if(u.nobrace===true||!t){push({type:\"text\",value:G,output:G});continue}let e=\")\";if(t.dots===true){const t=A.slice();const n=[];for(let e=t.length-1;e>=0;e--){A.pop();if(t[e].type===\"brace\"){break}if(t[e].type!==\"dots\"){n.unshift(t[e].value)}}e=expandRange(n,u);m.backtrack=true}if(t.comma!==true&&t.dots!==true){const u=m.output.slice(0,t.outputIndex);const n=m.tokens.slice(t.tokensIndex);t.value=t.output=\"\\\\{\";G=e=\"\\\\}\";m.output=u;for(const t of n){m.output+=t.output||t.value}}push({type:\"brace\",value:G,output:e});decrement(\"braces\");N.pop();continue}if(G===\"|\"){if(w.length>0){w[w.length-1].conditions++}push({type:\"text\",value:G});continue}if(G===\",\"){let t=G;const e=N[N.length-1];if(e&&I[I.length-1]===\"braces\"){e.comma=true;t=\"|\"}push({type:\"comma\",value:G,output:t});continue}if(G===\"/\"){if(B.type===\"dot\"&&m.index===m.start+1){m.start=m.index+1;m.consumed=\"\";m.output=\"\";A.pop();B=f;continue}push({type:\"slash\",value:G,output:b});continue}if(G===\".\"){if(m.braces>0&&B.type===\"dot\"){if(B.value===\".\")B.output=h;const t=N[N.length-1];B.type=\"dots\";B.output+=G;B.value+=G;t.dots=true;continue}if(m.braces+m.parens===0&&B.type!==\"bos\"&&B.type!==\"slash\"){push({type:\"text\",value:G,output:h});continue}push({type:\"dot\",value:G,output:h});continue}if(G===\"?\"){const t=B&&B.value===\"(\";if(!t&&u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"qmark\",G);continue}if(B&&B.type===\"paren\"){const t=D();let e=G;if(B.value===\"(\"&&!/[!=<:]/.test(t)||t===\"<\"&&!/<([!=]|\\w+>)/.test(remaining())){e=`\\\\${G}`}push({type:\"text\",value:G,output:e});continue}if(u.dot!==true&&(B.type===\"slash\"||B.type===\"bos\")){push({type:\"qmark\",value:G,output:v});continue}push({type:\"qmark\",value:G,output:H});continue}if(G===\"!\"){if(u.noextglob!==true&&D()===\"(\"){if(D(2)!==\"?\"||!/[!=<:]/.test(D(3))){extglobOpen(\"negate\",G);continue}}if(u.nonegate!==true&&m.index===0){negate();continue}}if(G===\"+\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"plus\",G);continue}if(B&&B.value===\"(\"||u.regex===false){push({type:\"plus\",value:G,output:g});continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\"||B.type===\"brace\")||m.parens>0){push({type:\"plus\",value:G});continue}push({type:\"plus\",value:g});continue}if(G===\"@\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){push({type:\"at\",extglob:true,value:G,output:\"\"});continue}push({type:\"text\",value:G});continue}if(G!==\"*\"){if(G===\"$\"||G===\"^\"){G=`\\\\${G}`}const t=a.exec(remaining());if(t){G+=t[0];m.index+=t[0].length}push({type:\"text\",value:G});continue}if(B&&(B.type===\"globstar\"||B.star===true)){B.type=\"star\";B.star=true;B.value+=G;B.output=k;m.backtrack=true;m.globstar=true;consume(G);continue}let e=remaining();if(u.noextglob!==true&&/^\\([^?]/.test(e)){extglobOpen(\"star\",G);continue}if(B.type===\"star\"){if(u.noglobstar===true){consume(G);continue}const n=B.prev;const o=n.prev;const s=n.type===\"slash\"||n.type===\"bos\";const r=o&&(o.type===\"star\"||o.type===\"globstar\");if(u.bash===true&&(!s||e[0]&&e[0]!==\"/\")){push({type:\"star\",value:G,output:\"\"});continue}const a=m.braces>0&&(n.type===\"comma\"||n.type===\"brace\");const i=w.length&&(n.type===\"pipe\"||n.type===\"paren\");if(!s&&n.type!==\"paren\"&&!a&&!i){push({type:\"star\",value:G,output:\"\"});continue}while(e.slice(0,3)===\"/**\"){const u=t[m.index+4];if(u&&u!==\"/\"){break}e=e.slice(3);consume(\"/**\",3)}if(n.type===\"bos\"&&eos()){B.type=\"globstar\";B.value+=G;B.output=globstar(u);m.output=B.output;m.globstar=true;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&!r&&eos()){m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=globstar(u)+(u.strictSlashes?\")\":\"|$)\");B.value+=G;m.globstar=true;m.output+=n.output+B.output;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&e[0]===\"/\"){const t=e[1]!==void 0?\"|$\":\"\";m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=`${globstar(u)}${b}|${b}${t})`;B.value+=G;m.output+=n.output+B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}if(n.type===\"bos\"&&e[0]===\"/\"){B.type=\"globstar\";B.value+=G;B.output=`(?:^|${b}|${globstar(u)}${b})`;m.output=B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}m.output=m.output.slice(0,-B.output.length);B.type=\"globstar\";B.output=globstar(u);B.value+=G;m.output+=B.output;m.globstar=true;consume(G);continue}const n={type:\"star\",value:G,output:k};if(u.bash===true){n.output=\".*?\";if(B.type===\"bos\"||B.type===\"slash\"){n.output=T+n.output}push(n);continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\")&&u.regex===true){n.output=G;push(n);continue}if(m.index===m.start||B.type===\"slash\"||B.type===\"dot\"){if(B.type===\"dot\"){m.output+=x;B.output+=x}else if(u.dot===true){m.output+=S;B.output+=S}else{m.output+=T;B.output+=T}if(D()!==\"*\"){m.output+=C;B.output+=C}}push(n)}while(m.brackets>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"]\"));m.output=o.escapeLast(m.output,\"[\");decrement(\"brackets\")}while(m.parens>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\")\"));m.output=o.escapeLast(m.output,\"(\");decrement(\"parens\")}while(m.braces>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"}\"));m.output=o.escapeLast(m.output,\"{\");decrement(\"braces\")}if(u.strictSlashes!==true&&(B.type===\"star\"||B.type===\"bracket\")){push({type:\"maybe_slash\",value:\"\",output:`${b}?`})}if(m.backtrack===true){m.output=\"\";for(const t of m.tokens){m.output+=t.output!=null?t.output:t.value;if(t.suffix){m.output+=t.suffix}}}return m};parse.fastpaths=(t,e)=>{const u={...e};const r=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;const a=t.length;if(a>r){throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${r}`)}t=c[t]||t;const{DOT_LITERAL:i,SLASH_LITERAL:p,ONE_CHAR:l,DOTS_SLASH:f,NO_DOT:A,NO_DOTS:_,NO_DOTS_SLASH:R,STAR:E,START_ANCHOR:h}=n.globChars(u.windows);const g=u.dot?_:A;const b=u.dot?R:A;const C=u.capture?\"\":\"?:\";const y={negated:false,prefix:\"\"};let $=u.bash===true?\".*?\":E;if(u.capture){$=`(${$})`}const globstar=t=>{if(t.noglobstar===true)return $;return`(${C}(?:(?!${h}${t.dot?f:i}).)*?)`};const create=t=>{switch(t){case\"*\":return`${g}${l}${$}`;case\".*\":return`${i}${l}${$}`;case\"*.*\":return`${g}${$}${i}${l}${$}`;case\"*/*\":return`${g}${$}${p}${l}${b}${$}`;case\"**\":return g+globstar(u);case\"**/*\":return`(?:${g}${globstar(u)}${p})?${b}${l}${$}`;case\"**/*.*\":return`(?:${g}${globstar(u)}${p})?${b}${$}${i}${l}${$}`;case\"**/.*\":return`(?:${g}${globstar(u)}${p})?${i}${l}${$}`;default:{const e=/^(.*?)\\.(\\w+)$/.exec(t);if(!e)return;const u=create(e[1]);if(!u)return;return u+i+e[2]}}};const x=o.removePrefix(t,y);let S=create(x);if(S&&u.strictSlashes!==true){S+=`${p}?`}return S};t.exports=parse},510:(t,e,u)=>{const n=u(716);const o=u(697);const s=u(96);const r=u(154);const isObject=t=>t&&typeof t===\"object\"&&!Array.isArray(t);const picomatch=(t,e,u=false)=>{if(Array.isArray(t)){const n=t.map((t=>picomatch(t,e,u)));const arrayMatcher=t=>{for(const e of n){const u=e(t);if(u)return u}return false};return arrayMatcher}const n=isObject(t)&&t.tokens&&t.input;if(t===\"\"||typeof t!==\"string\"&&!n){throw new TypeError(\"Expected pattern to be a non-empty string\")}const o=e||{};const s=o.windows;const r=n?picomatch.compileRe(t,e):picomatch.makeRe(t,e,false,true);const a=r.state;delete r.state;let isIgnored=()=>false;if(o.ignore){const t={...e,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(o.ignore,t,u)}const matcher=(u,n=false)=>{const{isMatch:i,match:c,output:p}=picomatch.test(u,r,e,{glob:t,posix:s});const l={glob:t,state:a,regex:r,posix:s,input:u,output:p,match:c,isMatch:i};if(typeof o.onResult===\"function\"){o.onResult(l)}if(i===false){l.isMatch=false;return n?l:false}if(isIgnored(u)){if(typeof o.onIgnore===\"function\"){o.onIgnore(l)}l.isMatch=false;return n?l:false}if(typeof o.onMatch===\"function\"){o.onMatch(l)}return n?l:true};if(u){matcher.state=a}return matcher};picomatch.test=(t,e,u,{glob:n,posix:o}={})=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected input to be a string\")}if(t===\"\"){return{isMatch:false,output:\"\"}}const r=u||{};const a=r.format||(o?s.toPosixSlashes:null);let i=t===n;let c=i&&a?a(t):t;if(i===false){c=a?a(t):t;i=c===n}if(i===false||r.capture===true){if(r.matchBase===true||r.basename===true){i=picomatch.matchBase(t,e,u,o)}else{i=e.exec(c)}}return{isMatch:Boolean(i),match:i,output:c}};picomatch.matchBase=(t,e,u)=>{const n=e instanceof RegExp?e:picomatch.makeRe(e,u);return n.test(s.basename(t))};picomatch.isMatch=(t,e,u)=>picomatch(e,u)(t);picomatch.parse=(t,e)=>{if(Array.isArray(t))return t.map((t=>picomatch.parse(t,e)));return o(t,{...e,fastpaths:false})};picomatch.scan=(t,e)=>n(t,e);picomatch.compileRe=(t,e,u=false,n=false)=>{if(u===true){return t.output}const o=e||{};const s=o.contains?\"\":\"^\";const r=o.contains?\"\":\"$\";let a=`${s}(?:${t.output})${r}`;if(t&&t.negated===true){a=`^(?!${a}).*$`}const i=picomatch.toRegex(a,e);if(n===true){i.state=t}return i};picomatch.makeRe=(t,e={},u=false,n=false)=>{if(!t||typeof t!==\"string\"){throw new TypeError(\"Expected a non-empty string\")}let s={negated:false,fastpaths:true};if(e.fastpaths!==false&&(t[0]===\".\"||t[0]===\"*\")){s.output=o.fastpaths(t,e)}if(!s.output){s=o(t,e)}return picomatch.compileRe(s,e,u,n)};picomatch.toRegex=(t,e)=>{try{const u=e||{};return new RegExp(t,u.flags||(u.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===true)throw t;return/$^/}};picomatch.constants=r;t.exports=picomatch},716:(t,e,u)=>{const n=u(96);const{CHAR_ASTERISK:o,CHAR_AT:s,CHAR_BACKWARD_SLASH:r,CHAR_COMMA:a,CHAR_DOT:i,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:f,CHAR_LEFT_SQUARE_BRACKET:A,CHAR_PLUS:_,CHAR_QUESTION_MARK:R,CHAR_RIGHT_CURLY_BRACE:E,CHAR_RIGHT_PARENTHESES:h,CHAR_RIGHT_SQUARE_BRACKET:g}=u(154);const isPathSeparator=t=>t===p||t===r;const depth=t=>{if(t.isPrefix!==true){t.depth=t.isGlobstar?Infinity:1}};const scan=(t,e)=>{const u=e||{};const b=t.length-1;const C=u.parts===true||u.scanToEnd===true;const y=[];const $=[];const x=[];let S=t;let H=-1;let v=0;let d=0;let L=false;let T=false;let O=false;let k=false;let m=false;let w=false;let N=false;let I=false;let B=false;let G=false;let D=0;let M;let P;let K={value:\"\",depth:0,isGlob:false};const eos=()=>H>=b;const peek=()=>S.charCodeAt(H+1);const advance=()=>{M=P;return S.charCodeAt(++H)};while(H<b){P=advance();let t;if(P===r){N=K.backslashes=true;P=advance();if(P===l){w=true}continue}if(w===true||P===l){D++;while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;advance();continue}if(P===l){D++;continue}if(w!==true&&P===i&&(P=advance())===i){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(w!==true&&P===a){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===E){D--;if(D===0){w=false;L=K.isBrace=true;G=true;break}}}if(C===true){continue}break}if(P===p){y.push(H);$.push(K);K={value:\"\",depth:0,isGlob:false};if(G===true)continue;if(M===i&&H===v+1){v+=2;continue}d=H+1;continue}if(u.noext!==true){const t=P===_||P===s||P===o||P===R||P===c;if(t===true&&peek()===f){O=K.isGlob=true;k=K.isExtglob=true;G=true;if(P===c&&H===v){B=true}if(C===true){while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;P=advance();continue}if(P===h){O=K.isGlob=true;G=true;break}}continue}break}}if(P===o){if(M===o)m=K.isGlobstar=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===R){O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===A){while(eos()!==true&&(t=advance())){if(t===r){N=K.backslashes=true;advance();continue}if(t===g){T=K.isBracket=true;O=K.isGlob=true;G=true;break}}if(C===true){continue}break}if(u.nonegate!==true&&P===c&&H===v){I=K.negated=true;v++;continue}if(u.noparen!==true&&P===f){O=K.isGlob=true;if(C===true){while(eos()!==true&&(P=advance())){if(P===f){N=K.backslashes=true;P=advance();continue}if(P===h){G=true;break}}continue}break}if(O===true){G=true;if(C===true){continue}break}}if(u.noext===true){k=false;O=false}let U=S;let X=\"\";let F=\"\";if(v>0){X=S.slice(0,v);S=S.slice(v);d-=v}if(U&&O===true&&d>0){U=S.slice(0,d);F=S.slice(d)}else if(O===true){U=\"\";F=S}else{U=S}if(U&&U!==\"\"&&U!==\"/\"&&U!==S){if(isPathSeparator(U.charCodeAt(U.length-1))){U=U.slice(0,-1)}}if(u.unescape===true){if(F)F=n.removeBackslashes(F);if(U&&N===true){U=n.removeBackslashes(U)}}const Q={prefix:X,input:t,start:v,base:U,glob:F,isBrace:L,isBracket:T,isGlob:O,isExtglob:k,isGlobstar:m,negated:I,negatedExtglob:B};if(u.tokens===true){Q.maxDepth=0;if(!isPathSeparator(P)){$.push(K)}Q.tokens=$}if(u.parts===true||u.tokens===true){let e;for(let n=0;n<y.length;n++){const o=e?e+1:v;const s=y[n];const r=t.slice(o,s);if(u.tokens){if(n===0&&v!==0){$[n].isPrefix=true;$[n].value=X}else{$[n].value=r}depth($[n]);Q.maxDepth+=$[n].depth}if(n!==0||r!==\"\"){x.push(r)}e=s}if(e&&e+1<t.length){const n=t.slice(e+1);x.push(n);if(u.tokens){$[$.length-1].value=n;depth($[$.length-1]);Q.maxDepth+=$[$.length-1].depth}}Q.slashes=y;Q.parts=x}return Q};t.exports=scan},96:(t,e,u)=>{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:r}=u(154);e.isObject=t=>t!==null&&typeof t===\"object\"&&!Array.isArray(t);e.hasRegexChars=t=>s.test(t);e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t);e.escapeRegex=t=>t.replace(r,\"\\\\$1\");e.toPosixSlashes=t=>t.replace(n,\"/\");e.removeBackslashes=t=>t.replace(o,(t=>t===\"\\\\\"?\"\":t));e.escapeLast=(t,u,n)=>{const o=t.lastIndexOf(u,n);if(o===-1)return t;if(t[o-1]===\"\\\\\")return e.escapeLast(t,u,o-1);return`${t.slice(0,o)}\\\\${t.slice(o)}`};e.removePrefix=(t,e={})=>{let u=t;if(u.startsWith(\"./\")){u=u.slice(2);e.prefix=\"./\"}return u};e.wrapOutput=(t,e={},u={})=>{const n=u.contains?\"\":\"^\";const o=u.contains?\"\":\"$\";let s=`${n}(?:${t})${o}`;if(e.negated===true){s=`(?:^(?!${s}).*$)`}return s};e.basename=(t,{windows:e}={})=>{const u=t.split(e?/[\\\\/]/:\"/\");const n=u[u.length-1];if(n===\"\"){return u[u.length-2]}return n}}};var e={};function __nccwpck_require__(u){var n=e[u];if(n!==undefined){return n.exports}var o=e[u]={exports:{}};var s=true;try{t[u](o,o.exports,__nccwpck_require__);s=false}finally{if(s)delete e[u]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var u=__nccwpck_require__(170);module.exports=u})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BpY29tYXRjaC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGFBQWEsT0FBTyxjQUFjLGVBQWUscUJBQXFCLHVEQUF1RCx5Q0FBeUMsa0NBQWtDLG1EQUFtRCxrQ0FBa0MsY0FBYyxnQ0FBZ0MsaURBQWlELEdBQUcsMEJBQTBCLGdCQUFnQiwyQkFBMkIsb0JBQW9CLFNBQVMsZ0JBQWdCLGFBQWEsRUFBRSxHQUFHLGNBQWMsY0FBYyxjQUFjLGNBQWMsZ0JBQWdCLGVBQWUsY0FBYyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsR0FBRyxXQUFXLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsR0FBRyxjQUFjLEVBQUUsRUFBRSxFQUFFLEdBQUcsY0FBYyxHQUFHLElBQUksRUFBRSxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsV0FBVyxFQUFFLElBQUksWUFBWSxTQUFTLHdNQUF3TSxTQUFTLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixHQUFHLElBQUksTUFBTSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRSwwQkFBMEIsR0FBRyxJQUFJLE1BQU0sRUFBRSwyQkFBMkIsR0FBRyxJQUFJLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsU0FBUyx5TEFBeUwsYUFBYSxFQUFFLDhFQUE4RSxXQUFXLHNFQUFzRSxxREFBcUQseUNBQXlDLGdHQUFnRyw0RUFBNEUsdUNBQXVDLG0zQkFBbTNCLE9BQU8sS0FBSywwQ0FBMEMsT0FBTyxHQUFHLE1BQU0sbUNBQW1DLE1BQU0sa0NBQWtDLE1BQU0sa0NBQWtDLE1BQU0saUNBQWlDLGNBQWMsc0JBQXNCLGVBQWUsZUFBZSxjQUFjLE1BQU0seUdBQXlHLEdBQUcsMEJBQTBCLHNDQUFzQyw2QkFBNkIsU0FB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U0FBUyxRQUFRLGVBQWUsYUFBYSxLQUFLLHFCQUFxQixlQUFlLGFBQWEsa0JBQWtCLEtBQUssSUFBSSxLQUFLLElBQUksOEJBQThCLDhDQUE4QyxpQkFBaUIsc0JBQXNCLDhCQUE4QixnQkFBZ0IsMEJBQTBCLFNBQVMsMkhBQTJILG9CQUFvQixhQUFhLHdCQUF3QixVQUFVLFdBQVcsb0NBQW9DLE1BQU0sWUFBWSxXQUFXLEtBQUssZ0JBQWdCLGFBQWEscUJBQXFCLGFBQWEsaUJBQWlCLG1CQUFtQixhQUFhLEtBQUssYUFBYSxZQUFZLHVCQUF1QixrQkFBa0IsVUFBVSxJQUFJLG9CQUFvQixxQkFBcUIsVUFBVSxhQUFhLHNCQUFzQixxQkFBcUIsaUNBQWlDLFlBQVksVUFBVSxVQUFVLGVBQWUsY0FBYyxNQUFNLDhGQUE4RixRQUFRLCtEQUErRCw2QkFBNkIsa0RBQWtELHFDQUFxQyxxQ0FBcUMsdURBQXVELHVCQUF1QiwyQkFBMkIsbUJBQW1CLDhDQUE4QyxTQUFTLGFBQWEsSUFBSSxXQUFXLEdBQUcsc0JBQXNCLElBQUksUUFBUSx1QkFBdUIsYUFBYSxjQUFjLFVBQVUsb0JBQW9CLEtBQUssSUFBSSwwQkFBMEIsMEJBQTBCLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUscUJBQXFCLFlBQVksRUFBRSxPQUFPLFVBQVUsZUFBZSxVQUFVLEdBQUcsSUFBSSwrQkFBK0Isc0JBQXNCLFdBQVcscUJBQXFCLFlBQVksU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLGlGQUFpRiwrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanM/NmFiMiJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgdD17MTcwOih0LGUsdSk9Pntjb25zdCBuPXUoNTEwKTtjb25zdCBpc1dpbmRvd3M9KCk9PntpZih0eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmbmF2aWdhdG9yLnBsYXRmb3JtKXtjb25zdCB0PW5hdmlnYXRvci5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09XCJ3aW4zMlwifHx0PT09XCJ3aW5kb3dzXCJ9aWYodHlwZW9mIHByb2Nlc3MhPT1cInVuZGVmaW5lZFwiJiZwcm9jZXNzLnBsYXRmb3JtKXtyZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybT09PVwid2luMzJcIn1yZXR1cm4gZmFsc2V9O2Z1bmN0aW9uIHBpY29tYXRjaCh0LGUsdT1mYWxzZSl7aWYoZSYmKGUud2luZG93cz09PW51bGx8fGUud2luZG93cz09PXVuZGVmaW5lZCkpe2U9ey4uLmUsd2luZG93czppc1dpbmRvd3MoKX19cmV0dXJuIG4odCxlLHUpfU9iamVjdC5hc3NpZ24ocGljb21hdGNoLG4pO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDE1NDp0PT57Y29uc3QgZT1cIlxcXFxcXFxcL1wiO2NvbnN0IHU9YFteJHtlfV1gO2NvbnN0IG49XCJcXFxcLlwiO2NvbnN0IG89XCJcXFxcK1wiO2NvbnN0IHM9XCJcXFxcP1wiO2NvbnN0IHI9XCJcXFxcL1wiO2NvbnN0IGE9XCIoPz0uKVwiO2NvbnN0IGk9XCJbXi9dXCI7Y29uc3QgYz1gKD86JHtyfXwkKWA7Y29uc3QgcD1gKD86Xnwke3J9KWA7Y29uc3QgbD1gJHtufXsxLDJ9JHtjfWA7Y29uc3QgZj1gKD8hJHtufSlgO2NvbnN0IEE9YCg/ISR7cH0ke2x9KWA7Y29uc3QgXz1gKD8hJHtufXswLDF9JHtjfSlgO2NvbnN0IFI9YCg/ISR7bH0pYDtjb25zdCBFPWBbXi4ke3J9XWA7Y29uc3QgaD1gJHtpfSo/YDtjb25zdCBnPVwiL1wiO2NvbnN0IGI9e0RPVF9MSVRFUkFMOm4sUExVU19MSVRFUkFMOm8sUU1BUktfTElURVJBTDpzLFNMQVNIX0xJVEVSQUw6cixPTkVfQ0hBUjphLFFNQVJLOmksRU5EX0FOQ0hPUjpjLERPVFNfU0xBU0g6bCxOT19ET1Q6ZixOT19ET1RTOkEsTk9fRE9UX1NMQVNIOl8sTk9fRE9UU19TTEFTSDpSLFFNQVJLX05PX0RPVDpFLFNUQVI6aCxTVEFSVF9BTkNIT1I6cCxTRVA6Z307Y29uc3QgQz17Li4uYixTTEFTSF9MSVRFUkFMOmBbJHtlfV1gLFFNQVJLOnUsU1RBUjpgJHt1fSo/YCxET1RTX1NMQVNIOmAke259ezEsMn0oPzpbJHtlfV18JClgLE5PX0RPVDpgKD8hJHtufSlgLE5PX0RPVFM6YCg/ISg/Ol58WyR7ZX1dKSR7bn17MSwyfSg/Olske2V9XXwkKSlgLE5PX0RPVF9TTEFTSDpgKD8hJHtufXswLDF9KD86WyR7ZX1dfCQpKWAsTk9fRE9UU19TTEFTSDpgKD8hJHtufXsxLDJ9KD86WyR7ZX1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2V9XWAsU1RBUlRfQU5DSE9SOmAoPzpefFske2V9XSlgLEVORF9BTkNIT1I6YCg/Olske2V9XXwkKWAsU0VQOlwiXFxcXFwifTtjb25zdCB5PXthbG51bTpcImEtekEtWjAtOVwiLGFscGhhOlwiYS16QS1aXCIsYXNjaWk6XCJcXFxceDAwLVxcXFx4N0ZcIixibGFuazpcIiBcXFxcdFwiLGNudHJsOlwiXFxcXHgwMC1cXFxceDFGXFxcXHg3RlwiLGRpZ2l0OlwiMC05XCIsZ3JhcGg6XCJcXFxceDIxLVxcXFx4N0VcIixsb3dlcjpcImEtelwiLHByaW50OlwiXFxcXHgyMC1cXFxceDdFIFwiLHB1bmN0OlwiXFxcXC0hXFxcIiMkJSYnKClcXFxcKissLi86Ozw9Pj9AW1xcXFxdXl9ge3x9flwiLHNwYWNlOlwiIFxcXFx0XFxcXHJcXFxcblxcXFx2XFxcXGZcIix1cHBlcjpcIkEtWlwiLHdvcmQ6XCJBLVphLXowLTlfXCIseGRpZ2l0OlwiQS1GYS1mMC05XCJ9O3QuZXhwb3J0cz17TUFYX0xFTkdUSDoxMDI0KjY0LFBPU0lYX1JFR0VYX1NPVVJDRTp5LFJFR0VYX0JBQ0tTTEFTSDovXFxcXCg/IVsqKz9eJHt9KHwpW1xcXV0pL2csUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6L15bXkAhW1xcXS4sJCorP157fSgpfFxcXFwvXSsvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6L1stKis/Ll4ke30ofClbXFxdXS8sUkVHRVhfU1BFQ0lBTF9DSEFSU19CQUNLUkVGOi8oXFxcXD8pKChcXFcpKFxcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXF1dKS9nLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6Lyg/OlxcWy4qP1teXFxcXF1cXF18XFxcXCg/PS4pKS9nLFJFUExBQ0VNRU5UUzp7XCIqKipcIjpcIipcIixcIioqLyoqXCI6XCIqKlwiLFwiKiovKiovKipcIjpcIioqXCJ9LENIQVJfMDo0OCxDSEFSXzk6NTcsQ0hBUl9VUFBFUkNBU0VfQTo2NSxDSEFSX0xPV0VSQ0FTRV9BOjk3LENIQVJfVVBQRVJDQVNFX1o6OTAsQ0hBUl9MT1dFUkNBU0VfWjoxMjIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOjQwLENIQVJfUklHSFRfUEFSRU5USEVTRVM6NDEsQ0hBUl9BU1RFUklTSzo0MixDSEFSX0FNUEVSU0FORDozOCxDSEFSX0FUOjY0LENIQVJfQkFDS1dBUkRfU0xBU0g6OTIsQ0hBUl9DQVJSSUFHRV9SRVRVUk46MTMsQ0hBUl9DSVJDVU1GTEVYX0FDQ0VOVDo5NCxDSEFSX0NPTE9OOjU4LENIQVJfQ09NTUE6NDQsQ0hBUl9ET1Q6NDYsQ0hBUl9ET1VCTEVfUVVPVEU6MzQsQ0hBUl9FUVVBTDo2MSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6MzMsQ0hBUl9GT1JNX0ZFRUQ6MTIsQ0hBUl9GT1JXQVJEX1NMQVNIOjQ3LENIQVJfR1JBVkVfQUNDRU5UOjk2LENIQVJfSEFTSDozNSxDSEFSX0hZUEhFTl9NSU5VUzo0NSxDSEFSX0xFRlRfQU5HTEVfQlJBQ0tFVDo2MCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6MTIzLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDo5MSxDSEFSX0xJTkVfRkVFRDoxMCxDSEFSX05PX0JSRUFLX1NQQUNFOjE2MCxDSEFSX1BFUkNFTlQ6MzcsQ0hBUl9QTFVTOjQzLENIQVJfUVVFU1RJT05fTUFSSzo2MyxDSEFSX1JJR0hUX0FOR0xFX0JSQUNLRVQ6NjIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToxMjUsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDo5MyxDSEFSX1NFTUlDT0xPTjo1OSxDSEFSX1NJTkdMRV9RVU9URTozOSxDSEFSX1NQQUNFOjMyLENIQVJfVEFCOjksQ0hBUl9VTkRFUlNDT1JFOjk1LENIQVJfVkVSVElDQUxfTElORToxMjQsQ0hBUl9aRVJPX1dJRFRIX05PQlJFQUtfU1BBQ0U6NjUyNzksZXh0Z2xvYkNoYXJzKHQpe3JldHVybntcIiFcIjp7dHlwZTpcIm5lZ2F0ZVwiLG9wZW46XCIoPzooPyEoPzpcIixjbG9zZTpgKSkke3QuU1RBUn0pYH0sXCI/XCI6e3R5cGU6XCJxbWFya1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIik/XCJ9LFwiK1wiOnt0eXBlOlwicGx1c1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIikrXCJ9LFwiKlwiOnt0eXBlOlwic3RhclwiLG9wZW46XCIoPzpcIixjbG9zZTpcIikqXCJ9LFwiQFwiOnt0eXBlOlwiYXRcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpXCJ9fX0sZ2xvYkNoYXJzKHQpe3JldHVybiB0PT09dHJ1ZT9DOmJ9fX0sNjk3Oih0LGUsdSk9Pntjb25zdCBuPXUoMTU0KTtjb25zdCBvPXUoOTYpO2NvbnN0e01BWF9MRU5HVEg6cyxQT1NJWF9SRUdFWF9TT1VSQ0U6cixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzphLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjppLFJFUExBQ0VNRU5UUzpjfT1uO2NvbnN0IGV4cGFuZFJhbmdlPSh0LGUpPT57aWYodHlwZW9mIGUuZXhwYW5kUmFuZ2U9PT1cImZ1bmN0aW9uXCIpe3JldHVybiBlLmV4cGFuZFJhbmdlKC4uLnQsZSl9dC5zb3J0KCk7Y29uc3QgdT1gWyR7dC5qb2luKFwiLVwiKX1dYDt0cnl7bmV3IFJlZ0V4cCh1KX1jYXRjaChlKXtyZXR1cm4gdC5tYXAoKHQ9Pm8uZXNjYXBlUmVnZXgodCkpKS5qb2luKFwiLi5cIil9cmV0dXJuIHV9O2NvbnN0IHN5bnRheEVycm9yPSh0LGUpPT5gTWlzc2luZyAke3R9OiBcIiR7ZX1cIiAtIHVzZSBcIlxcXFxcXFxcJHtlfVwiIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2A7Y29uc3QgcGFyc2U9KHQsZSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKX10PWNbdF18fHQ7Y29uc3QgdT17Li4uZX07Y29uc3QgcD10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7bGV0IGw9dC5sZW5ndGg7aWYobD5wKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtsfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3B9YCl9Y29uc3QgZj17dHlwZTpcImJvc1wiLHZhbHVlOlwiXCIsb3V0cHV0OnUucHJlcGVuZHx8XCJcIn07Y29uc3QgQT1bZl07Y29uc3QgXz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgUj1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IEU9bi5leHRnbG9iQ2hhcnMoUik7Y29uc3R7RE9UX0xJVEVSQUw6aCxQTFVTX0xJVEVSQUw6ZyxTTEFTSF9MSVRFUkFMOmIsT05FX0NIQVI6QyxET1RTX1NMQVNIOnksTk9fRE9UOiQsTk9fRE9UX1NMQVNIOngsTk9fRE9UU19TTEFTSDpTLFFNQVJLOkgsUU1BUktfTk9fRE9UOnYsU1RBUjpkLFNUQVJUX0FOQ0hPUjpMfT1SO2NvbnN0IGdsb2JzdGFyPXQ9PmAoJHtffSg/Oig/ISR7TH0ke3QuZG90P3k6aH0pLikqPylgO2NvbnN0IFQ9dS5kb3Q/XCJcIjokO2NvbnN0IE89dS5kb3Q/SDp2O2xldCBrPXUuYmFzaD09PXRydWU/Z2xvYnN0YXIodSk6ZDtpZih1LmNhcHR1cmUpe2s9YCgke2t9KWB9aWYodHlwZW9mIHUubm9leHQ9PT1cImJvb2xlYW5cIil7dS5ub2V4dGdsb2I9dS5ub2V4dH1jb25zdCBtPXtpbnB1dDp0LGluZGV4Oi0xLHN0YXJ0OjAsZG90OnUuZG90PT09dHJ1ZSxjb25zdW1lZDpcIlwiLG91dHB1dDpcIlwiLHByZWZpeDpcIlwiLGJhY2t0cmFjazpmYWxzZSxuZWdhdGVkOmZhbHNlLGJyYWNrZXRzOjAsYnJhY2VzOjAscGFyZW5zOjAscXVvdGVzOjAsZ2xvYnN0YXI6ZmFsc2UsdG9rZW5zOkF9O3Q9by5yZW1vdmVQcmVmaXgodCxtKTtsPXQubGVuZ3RoO2NvbnN0IHc9W107Y29uc3QgTj1bXTtjb25zdCBJPVtdO2xldCBCPWY7bGV0IEc7Y29uc3QgZW9zPSgpPT5tLmluZGV4PT09bC0xO2NvbnN0IEQ9bS5wZWVrPShlPTEpPT50W20uaW5kZXgrZV07Y29uc3QgTT1tLmFkdmFuY2U9KCk9PnRbKyttLmluZGV4XXx8XCJcIjtjb25zdCByZW1haW5pbmc9KCk9PnQuc2xpY2UobS5pbmRleCsxKTtjb25zdCBjb25zdW1lPSh0PVwiXCIsZT0wKT0+e20uY29uc3VtZWQrPXQ7bS5pbmRleCs9ZX07Y29uc3QgYXBwZW5kPXQ9PnttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtjb25zdW1lKHQudmFsdWUpfTtjb25zdCBuZWdhdGU9KCk9PntsZXQgdD0xO3doaWxlKEQoKT09PVwiIVwiJiYoRCgyKSE9PVwiKFwifHxEKDMpPT09XCI/XCIpKXtNKCk7bS5zdGFydCsrO3QrK31pZih0JTI9PT0wKXtyZXR1cm4gZmFsc2V9bS5uZWdhdGVkPXRydWU7bS5zdGFydCsrO3JldHVybiB0cnVlfTtjb25zdCBpbmNyZW1lbnQ9dD0+e21bdF0rKztJLnB1c2godCl9O2NvbnN0IGRlY3JlbWVudD10PT57bVt0XS0tO0kucG9wKCl9O2NvbnN0IHB1c2g9dD0+e2lmKEIudHlwZT09PVwiZ2xvYnN0YXJcIil7Y29uc3QgZT1tLmJyYWNlcz4wJiYodC50eXBlPT09XCJjb21tYVwifHx0LnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IHU9dC5leHRnbG9iPT09dHJ1ZXx8dy5sZW5ndGgmJih0LnR5cGU9PT1cInBpcGVcInx8dC50eXBlPT09XCJwYXJlblwiKTtpZih0LnR5cGUhPT1cInNsYXNoXCImJnQudHlwZSE9PVwicGFyZW5cIiYmIWUmJiF1KXttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cInN0YXJcIjtCLnZhbHVlPVwiKlwiO0Iub3V0cHV0PWs7bS5vdXRwdXQrPUIub3V0cHV0fX1pZih3Lmxlbmd0aCYmdC50eXBlIT09XCJwYXJlblwiKXt3W3cubGVuZ3RoLTFdLmlubmVyKz10LnZhbHVlfWlmKHQudmFsdWV8fHQub3V0cHV0KWFwcGVuZCh0KTtpZihCJiZCLnR5cGU9PT1cInRleHRcIiYmdC50eXBlPT09XCJ0ZXh0XCIpe0Iub3V0cHV0PShCLm91dHB1dHx8Qi52YWx1ZSkrdC52YWx1ZTtCLnZhbHVlKz10LnZhbHVlO3JldHVybn10LnByZXY9QjtBLnB1c2godCk7Qj10fTtjb25zdCBleHRnbG9iT3Blbj0odCxlKT0+e2NvbnN0IG49ey4uLkVbZV0sY29uZGl0aW9uczoxLGlubmVyOlwiXCJ9O24ucHJldj1CO24ucGFyZW5zPW0ucGFyZW5zO24ub3V0cHV0PW0ub3V0cHV0O2NvbnN0IG89KHUuY2FwdHVyZT9cIihcIjpcIlwiKStuLm9wZW47aW5jcmVtZW50KFwicGFyZW5zXCIpO3B1c2goe3R5cGU6dCx2YWx1ZTplLG91dHB1dDptLm91dHB1dD9cIlwiOkN9KTtwdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6TSgpLG91dHB1dDpvfSk7dy5wdXNoKG4pfTtjb25zdCBleHRnbG9iQ2xvc2U9dD0+e2xldCBuPXQuY2xvc2UrKHUuY2FwdHVyZT9cIilcIjpcIlwiKTtsZXQgbztpZih0LnR5cGU9PT1cIm5lZ2F0ZVwiKXtsZXQgcz1rO2lmKHQuaW5uZXImJnQuaW5uZXIubGVuZ3RoPjEmJnQuaW5uZXIuaW5jbHVkZXMoXCIvXCIpKXtzPWdsb2JzdGFyKHUpfWlmKHMhPT1rfHxlb3MoKXx8L15cXCkrJC8udGVzdChyZW1haW5pbmcoKSkpe249dC5jbG9zZT1gKSQpKSR7c31gfWlmKHQuaW5uZXIuaW5jbHVkZXMoXCIqXCIpJiYobz1yZW1haW5pbmcoKSkmJi9eXFwuW15cXFxcLy5dKyQvLnRlc3Qobykpe2NvbnN0IHU9cGFyc2Uobyx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KS5vdXRwdXQ7bj10LmNsb3NlPWApJHt1fSkke3N9KWB9aWYodC5wcmV2LnR5cGU9PT1cImJvc1wiKXttLm5lZ2F0ZWRFeHRnbG9iPXRydWV9fXB1c2goe3R5cGU6XCJwYXJlblwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpufSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpfTtpZih1LmZhc3RwYXRocyE9PWZhbHNlJiYhLyheWyohXXxbLygpW1xcXXt9XCJdKS8udGVzdCh0KSl7bGV0IG49ZmFsc2U7bGV0IHM9dC5yZXBsYWNlKGksKCh0LGUsdSxvLHMscik9PntpZihvPT09XCJcXFxcXCIpe249dHJ1ZTtyZXR1cm4gdH1pZihvPT09XCI/XCIpe2lmKGUpe3JldHVybiBlK28rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfWlmKHI9PT0wKXtyZXR1cm4gTysocz9ILnJlcGVhdChzLmxlbmd0aCk6XCJcIil9cmV0dXJuIEgucmVwZWF0KHUubGVuZ3RoKX1pZihvPT09XCIuXCIpe3JldHVybiBoLnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiKlwiKXtpZihlKXtyZXR1cm4gZStvKyhzP2s6XCJcIil9cmV0dXJuIGt9cmV0dXJuIGU/dDpgXFxcXCR7dH1gfSkpO2lmKG49PT10cnVlKXtpZih1LnVuZXNjYXBlPT09dHJ1ZSl7cz1zLnJlcGxhY2UoL1xcXFwvZyxcIlwiKX1lbHNle3M9cy5yZXBsYWNlKC9cXFxcKy9nLCh0PT50Lmxlbmd0aCUyPT09MD9cIlxcXFxcXFxcXCI6dD9cIlxcXFxcIjpcIlwiKSl9fWlmKHM9PT10JiZ1LmNvbnRhaW5zPT09dHJ1ZSl7bS5vdXRwdXQ9dDtyZXR1cm4gbX1tLm91dHB1dD1vLndyYXBPdXRwdXQocyxtLGUpO3JldHVybiBtfXdoaWxlKCFlb3MoKSl7Rz1NKCk7aWYoRz09PVwiXFwwXCIpe2NvbnRpbnVlfWlmKEc9PT1cIlxcXFxcIil7Y29uc3QgdD1EKCk7aWYodD09PVwiL1wiJiZ1LmJhc2ghPT10cnVlKXtjb250aW51ZX1pZih0PT09XCIuXCJ8fHQ9PT1cIjtcIil7Y29udGludWV9aWYoIXQpe0crPVwiXFxcXFwiO3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWNvbnN0IGU9L15cXFxcKy8uZXhlYyhyZW1haW5pbmcoKSk7bGV0IG49MDtpZihlJiZlWzBdLmxlbmd0aD4yKXtuPWVbMF0ubGVuZ3RoO20uaW5kZXgrPW47aWYobiUyIT09MCl7Rys9XCJcXFxcXCJ9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtHPU0oKX1lbHNle0crPU0oKX1pZihtLmJyYWNrZXRzPT09MCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9fWlmKG0uYnJhY2tldHM+MCYmKEchPT1cIl1cInx8Qi52YWx1ZT09PVwiW1wifHxCLnZhbHVlPT09XCJbXlwiKSl7aWYodS5wb3NpeCE9PWZhbHNlJiZHPT09XCI6XCIpe2NvbnN0IHQ9Qi52YWx1ZS5zbGljZSgxKTtpZih0LmluY2x1ZGVzKFwiW1wiKSl7Qi5wb3NpeD10cnVlO2lmKHQuaW5jbHVkZXMoXCI6XCIpKXtjb25zdCB0PUIudmFsdWUubGFzdEluZGV4T2YoXCJbXCIpO2NvbnN0IGU9Qi52YWx1ZS5zbGljZSgwLHQpO2NvbnN0IHU9Qi52YWx1ZS5zbGljZSh0KzIpO2NvbnN0IG49clt1XTtpZihuKXtCLnZhbHVlPWUrbjttLmJhY2t0cmFjaz10cnVlO00oKTtpZighZi5vdXRwdXQmJkEuaW5kZXhPZihCKT09PTEpe2Yub3V0cHV0PUN9Y29udGludWV9fX19aWYoRz09PVwiW1wiJiZEKCkhPT1cIjpcInx8Rz09PVwiLVwiJiZEKCk9PT1cIl1cIil7Rz1gXFxcXCR7R31gfWlmKEc9PT1cIl1cIiYmKEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe0c9YFxcXFwke0d9YH1pZih1LnBvc2l4PT09dHJ1ZSYmRz09PVwiIVwiJiZCLnZhbHVlPT09XCJbXCIpe0c9XCJeXCJ9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihtLnF1b3Rlcz09PTEmJkchPT0nXCInKXtHPW8uZXNjYXBlUmVnZXgoRyk7Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09J1wiJyl7bS5xdW90ZXM9bS5xdW90ZXM9PT0xPzA6MTtpZih1LmtlZXBRdW90ZXM9PT10cnVlKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KX1jb250aW51ZX1pZihHPT09XCIoXCIpe2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOlwicGFyZW5cIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiKVwiKXtpZihtLnBhcmVucz09PTAmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCIoXCIpKX1jb25zdCB0PXdbdy5sZW5ndGgtMV07aWYodCYmbS5wYXJlbnM9PT10LnBhcmVucysxKXtleHRnbG9iQ2xvc2Uody5wb3AoKSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6RyxvdXRwdXQ6bS5wYXJlbnM/XCIpXCI6XCJcXFxcKVwifSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpO2NvbnRpbnVlfWlmKEc9PT1cIltcIil7aWYodS5ub2JyYWNrZXQ9PT10cnVlfHwhcmVtYWluaW5nKCkuaW5jbHVkZXMoXCJdXCIpKXtpZih1Lm5vYnJhY2tldCE9PXRydWUmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKX1HPWBcXFxcJHtHfWB9ZWxzZXtpbmNyZW1lbnQoXCJicmFja2V0c1wiKX1wdXNoKHt0eXBlOlwiYnJhY2tldFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCJdXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8QiYmQi50eXBlPT09XCJicmFja2V0XCImJkIudmFsdWUubGVuZ3RoPT09MSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9aWYobS5icmFja2V0cz09PTApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCJbXCIpKX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmBcXFxcJHtHfWB9KTtjb250aW51ZX1kZWNyZW1lbnQoXCJicmFja2V0c1wiKTtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYoQi5wb3NpeCE9PXRydWUmJnRbMF09PT1cIl5cIiYmIXQuaW5jbHVkZXMoXCIvXCIpKXtHPWAvJHtHfWB9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtpZih1LmxpdGVyYWxCcmFja2V0cz09PWZhbHNlfHxvLmhhc1JlZ2V4Q2hhcnModCkpe2NvbnRpbnVlfWNvbnN0IGU9by5lc2NhcGVSZWdleChCLnZhbHVlKTttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLnZhbHVlLmxlbmd0aCk7aWYodS5saXRlcmFsQnJhY2tldHM9PT10cnVlKXttLm91dHB1dCs9ZTtCLnZhbHVlPWU7Y29udGludWV9Qi52YWx1ZT1gKCR7X30ke2V9fCR7Qi52YWx1ZX0pYDttLm91dHB1dCs9Qi52YWx1ZTtjb250aW51ZX1pZihHPT09XCJ7XCImJnUubm9icmFjZSE9PXRydWUpe2luY3JlbWVudChcImJyYWNlc1wiKTtjb25zdCB0PXt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDpcIihcIixvdXRwdXRJbmRleDptLm91dHB1dC5sZW5ndGgsdG9rZW5zSW5kZXg6bS50b2tlbnMubGVuZ3RofTtOLnB1c2godCk7cHVzaCh0KTtjb250aW51ZX1pZihHPT09XCJ9XCIpe2NvbnN0IHQ9TltOLmxlbmd0aC0xXTtpZih1Lm5vYnJhY2U9PT10cnVlfHwhdCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpHfSk7Y29udGludWV9bGV0IGU9XCIpXCI7aWYodC5kb3RzPT09dHJ1ZSl7Y29uc3QgdD1BLnNsaWNlKCk7Y29uc3Qgbj1bXTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7QS5wb3AoKTtpZih0W2VdLnR5cGU9PT1cImJyYWNlXCIpe2JyZWFrfWlmKHRbZV0udHlwZSE9PVwiZG90c1wiKXtuLnVuc2hpZnQodFtlXS52YWx1ZSl9fWU9ZXhwYW5kUmFuZ2Uobix1KTttLmJhY2t0cmFjaz10cnVlfWlmKHQuY29tbWEhPT10cnVlJiZ0LmRvdHMhPT10cnVlKXtjb25zdCB1PW0ub3V0cHV0LnNsaWNlKDAsdC5vdXRwdXRJbmRleCk7Y29uc3Qgbj1tLnRva2Vucy5zbGljZSh0LnRva2Vuc0luZGV4KTt0LnZhbHVlPXQub3V0cHV0PVwiXFxcXHtcIjtHPWU9XCJcXFxcfVwiO20ub3V0cHV0PXU7Zm9yKGNvbnN0IHQgb2Ygbil7bS5vdXRwdXQrPXQub3V0cHV0fHx0LnZhbHVlfX1wdXNoKHt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDplfSk7ZGVjcmVtZW50KFwiYnJhY2VzXCIpO04ucG9wKCk7Y29udGludWV9aWYoRz09PVwifFwiKXtpZih3Lmxlbmd0aD4wKXt3W3cubGVuZ3RoLTFdLmNvbmRpdGlvbnMrK31wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCIsXCIpe2xldCB0PUc7Y29uc3QgZT1OW04ubGVuZ3RoLTFdO2lmKGUmJklbSS5sZW5ndGgtMV09PT1cImJyYWNlc1wiKXtlLmNvbW1hPXRydWU7dD1cInxcIn1wdXNoKHt0eXBlOlwiY29tbWFcIix2YWx1ZTpHLG91dHB1dDp0fSk7Y29udGludWV9aWYoRz09PVwiL1wiKXtpZihCLnR5cGU9PT1cImRvdFwiJiZtLmluZGV4PT09bS5zdGFydCsxKXttLnN0YXJ0PW0uaW5kZXgrMTttLmNvbnN1bWVkPVwiXCI7bS5vdXRwdXQ9XCJcIjtBLnBvcCgpO0I9Zjtjb250aW51ZX1wdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpHLG91dHB1dDpifSk7Y29udGludWV9aWYoRz09PVwiLlwiKXtpZihtLmJyYWNlcz4wJiZCLnR5cGU9PT1cImRvdFwiKXtpZihCLnZhbHVlPT09XCIuXCIpQi5vdXRwdXQ9aDtjb25zdCB0PU5bTi5sZW5ndGgtMV07Qi50eXBlPVwiZG90c1wiO0Iub3V0cHV0Kz1HO0IudmFsdWUrPUc7dC5kb3RzPXRydWU7Y29udGludWV9aWYobS5icmFjZXMrbS5wYXJlbnM9PT0wJiZCLnR5cGUhPT1cImJvc1wiJiZCLnR5cGUhPT1cInNsYXNoXCIpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJkb3RcIix2YWx1ZTpHLG91dHB1dDpofSk7Y29udGludWV9aWYoRz09PVwiP1wiKXtjb25zdCB0PUImJkIudmFsdWU9PT1cIihcIjtpZighdCYmdS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIiYmRCgyKSE9PVwiP1wiKXtleHRnbG9iT3BlbihcInFtYXJrXCIsRyk7Y29udGludWV9aWYoQiYmQi50eXBlPT09XCJwYXJlblwiKXtjb25zdCB0PUQoKTtsZXQgZT1HO2lmKEIudmFsdWU9PT1cIihcIiYmIS9bIT08Ol0vLnRlc3QodCl8fHQ9PT1cIjxcIiYmIS88KFshPV18XFx3Kz4pLy50ZXN0KHJlbWFpbmluZygpKSl7ZT1gXFxcXCR7R31gfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2NvbnRpbnVlfWlmKHUuZG90IT09dHJ1ZSYmKEIudHlwZT09PVwic2xhc2hcInx8Qi50eXBlPT09XCJib3NcIikpe3B1c2goe3R5cGU6XCJxbWFya1wiLHZhbHVlOkcsb3V0cHV0OnZ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDpIfSk7Y29udGludWV9aWYoRz09PVwiIVwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiKXtpZihEKDIpIT09XCI/XCJ8fCEvWyE9PDpdLy50ZXN0KEQoMykpKXtleHRnbG9iT3BlbihcIm5lZ2F0ZVwiLEcpO2NvbnRpbnVlfX1pZih1Lm5vbmVnYXRlIT09dHJ1ZSYmbS5pbmRleD09PTApe25lZ2F0ZSgpO2NvbnRpbnVlfX1pZihHPT09XCIrXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJwbHVzXCIsRyk7Y29udGludWV9aWYoQiYmQi52YWx1ZT09PVwiKFwifHx1LnJlZ2V4PT09ZmFsc2Upe3B1c2goe3R5cGU6XCJwbHVzXCIsdmFsdWU6RyxvdXRwdXQ6Z30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwifHxCLnR5cGU9PT1cImJyYWNlXCIpfHxtLnBhcmVucz4wKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkd9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOmd9KTtjb250aW51ZX1pZihHPT09XCJAXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7cHVzaCh7dHlwZTpcImF0XCIsZXh0Z2xvYjp0cnVlLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHIT09XCIqXCIpe2lmKEc9PT1cIiRcInx8Rz09PVwiXlwiKXtHPWBcXFxcJHtHfWB9Y29uc3QgdD1hLmV4ZWMocmVtYWluaW5nKCkpO2lmKHQpe0crPXRbMF07bS5pbmRleCs9dFswXS5sZW5ndGh9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiZ2xvYnN0YXJcInx8Qi5zdGFyPT09dHJ1ZSkpe0IudHlwZT1cInN0YXJcIjtCLnN0YXI9dHJ1ZTtCLnZhbHVlKz1HO0Iub3V0cHV0PWs7bS5iYWNrdHJhY2s9dHJ1ZTttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1sZXQgZT1yZW1haW5pbmcoKTtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJi9eXFwoW14/XS8udGVzdChlKSl7ZXh0Z2xvYk9wZW4oXCJzdGFyXCIsRyk7Y29udGludWV9aWYoQi50eXBlPT09XCJzdGFyXCIpe2lmKHUubm9nbG9ic3Rhcj09PXRydWUpe2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj1CLnByZXY7Y29uc3Qgbz1uLnByZXY7Y29uc3Qgcz1uLnR5cGU9PT1cInNsYXNoXCJ8fG4udHlwZT09PVwiYm9zXCI7Y29uc3Qgcj1vJiYoby50eXBlPT09XCJzdGFyXCJ8fG8udHlwZT09PVwiZ2xvYnN0YXJcIik7aWYodS5iYXNoPT09dHJ1ZSYmKCFzfHxlWzBdJiZlWzBdIT09XCIvXCIpKXtwdXNoKHt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1jb25zdCBhPW0uYnJhY2VzPjAmJihuLnR5cGU9PT1cImNvbW1hXCJ8fG4udHlwZT09PVwiYnJhY2VcIik7Y29uc3QgaT13Lmxlbmd0aCYmKG4udHlwZT09PVwicGlwZVwifHxuLnR5cGU9PT1cInBhcmVuXCIpO2lmKCFzJiZuLnR5cGUhPT1cInBhcmVuXCImJiFhJiYhaSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9d2hpbGUoZS5zbGljZSgwLDMpPT09XCIvKipcIil7Y29uc3QgdT10W20uaW5kZXgrNF07aWYodSYmdSE9PVwiL1wiKXticmVha31lPWUuc2xpY2UoMyk7Y29uc3VtZShcIi8qKlwiLDMpfWlmKG4udHlwZT09PVwiYm9zXCImJmVvcygpKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7bS5vdXRwdXQ9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9aWYobi50eXBlPT09XCJzbGFzaFwiJiZuLnByZXYudHlwZSE9PVwiYm9zXCImJiFyJiZlb3MoKSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KSsodS5zdHJpY3RTbGFzaGVzP1wiKVwiOlwifCQpXCIpO0IudmFsdWUrPUc7bS5nbG9ic3Rhcj10cnVlO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe2NvbnN0IHQ9ZVsxXSE9PXZvaWQgMD9cInwkXCI6XCJcIjttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC0obi5vdXRwdXQrQi5vdXRwdXQpLmxlbmd0aCk7bi5vdXRwdXQ9YCg/OiR7bi5vdXRwdXR9YDtCLnR5cGU9XCJnbG9ic3RhclwiO0Iub3V0cHV0PWAke2dsb2JzdGFyKHUpfSR7Yn18JHtifSR7dH0pYDtCLnZhbHVlKz1HO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1pZihuLnR5cGU9PT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe0IudHlwZT1cImdsb2JzdGFyXCI7Qi52YWx1ZSs9RztCLm91dHB1dD1gKD86Xnwke2J9fCR7Z2xvYnN0YXIodSl9JHtifSlgO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcrTSgpKTtwdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpcIi9cIixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfW0ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLUIub3V0cHV0Lmxlbmd0aCk7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KTtCLnZhbHVlKz1HO20ub3V0cHV0Kz1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1jb25zdCBuPXt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0Omt9O2lmKHUuYmFzaD09PXRydWUpe24ub3V0cHV0PVwiLio/XCI7aWYoQi50eXBlPT09XCJib3NcInx8Qi50eXBlPT09XCJzbGFzaFwiKXtuLm91dHB1dD1UK24ub3V0cHV0fXB1c2gobik7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiYnJhY2tldFwifHxCLnR5cGU9PT1cInBhcmVuXCIpJiZ1LnJlZ2V4PT09dHJ1ZSl7bi5vdXRwdXQ9RztwdXNoKG4pO2NvbnRpbnVlfWlmKG0uaW5kZXg9PT1tLnN0YXJ0fHxCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiZG90XCIpe2lmKEIudHlwZT09PVwiZG90XCIpe20ub3V0cHV0Kz14O0Iub3V0cHV0Kz14fWVsc2UgaWYodS5kb3Q9PT10cnVlKXttLm91dHB1dCs9UztCLm91dHB1dCs9U31lbHNle20ub3V0cHV0Kz1UO0Iub3V0cHV0Kz1UfWlmKEQoKSE9PVwiKlwiKXttLm91dHB1dCs9QztCLm91dHB1dCs9Q319cHVzaChuKX13aGlsZShtLmJyYWNrZXRzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIl1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIltcIik7ZGVjcmVtZW50KFwiYnJhY2tldHNcIil9d2hpbGUobS5wYXJlbnM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiKVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwiKFwiKTtkZWNyZW1lbnQoXCJwYXJlbnNcIil9d2hpbGUobS5icmFjZXM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwifVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwie1wiKTtkZWNyZW1lbnQoXCJicmFjZXNcIil9aWYodS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSYmKEIudHlwZT09PVwic3RhclwifHxCLnR5cGU9PT1cImJyYWNrZXRcIikpe3B1c2goe3R5cGU6XCJtYXliZV9zbGFzaFwiLHZhbHVlOlwiXCIsb3V0cHV0OmAke2J9P2B9KX1pZihtLmJhY2t0cmFjaz09PXRydWUpe20ub3V0cHV0PVwiXCI7Zm9yKGNvbnN0IHQgb2YgbS50b2tlbnMpe20ub3V0cHV0Kz10Lm91dHB1dCE9bnVsbD90Lm91dHB1dDp0LnZhbHVlO2lmKHQuc3VmZml4KXttLm91dHB1dCs9dC5zdWZmaXh9fX1yZXR1cm4gbX07cGFyc2UuZmFzdHBhdGhzPSh0LGUpPT57Y29uc3QgdT17Li4uZX07Y29uc3Qgcj10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7Y29uc3QgYT10Lmxlbmd0aDtpZihhPnIpe3Rocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke2F9LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7cn1gKX10PWNbdF18fHQ7Y29uc3R7RE9UX0xJVEVSQUw6aSxTTEFTSF9MSVRFUkFMOnAsT05FX0NIQVI6bCxET1RTX1NMQVNIOmYsTk9fRE9UOkEsTk9fRE9UUzpfLE5PX0RPVFNfU0xBU0g6UixTVEFSOkUsU1RBUlRfQU5DSE9SOmh9PW4uZ2xvYkNoYXJzKHUud2luZG93cyk7Y29uc3QgZz11LmRvdD9fOkE7Y29uc3QgYj11LmRvdD9SOkE7Y29uc3QgQz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgeT17bmVnYXRlZDpmYWxzZSxwcmVmaXg6XCJcIn07bGV0ICQ9dS5iYXNoPT09dHJ1ZT9cIi4qP1wiOkU7aWYodS5jYXB0dXJlKXskPWAoJHskfSlgfWNvbnN0IGdsb2JzdGFyPXQ9PntpZih0Lm5vZ2xvYnN0YXI9PT10cnVlKXJldHVybiAkO3JldHVybmAoJHtDfSg/Oig/ISR7aH0ke3QuZG90P2Y6aX0pLikqPylgfTtjb25zdCBjcmVhdGU9dD0+e3N3aXRjaCh0KXtjYXNlXCIqXCI6cmV0dXJuYCR7Z30ke2x9JHskfWA7Y2FzZVwiLipcIjpyZXR1cm5gJHtpfSR7bH0keyR9YDtjYXNlXCIqLipcIjpyZXR1cm5gJHtnfSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIiovKlwiOnJldHVybmAke2d9JHskfSR7cH0ke2x9JHtifSR7JH1gO2Nhc2VcIioqXCI6cmV0dXJuIGcrZ2xvYnN0YXIodSk7Y2FzZVwiKiovKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHtsfSR7JH1gO2Nhc2VcIioqLyouKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHskfSR7aX0ke2x9JHskfWA7Y2FzZVwiKiovLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtpfSR7bH0keyR9YDtkZWZhdWx0Ontjb25zdCBlPS9eKC4qPylcXC4oXFx3KykkLy5leGVjKHQpO2lmKCFlKXJldHVybjtjb25zdCB1PWNyZWF0ZShlWzFdKTtpZighdSlyZXR1cm47cmV0dXJuIHUraStlWzJdfX19O2NvbnN0IHg9by5yZW1vdmVQcmVmaXgodCx5KTtsZXQgUz1jcmVhdGUoeCk7aWYoUyYmdS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSl7Uys9YCR7cH0/YH1yZXR1cm4gU307dC5leHBvcnRzPXBhcnNlfSw1MTA6KHQsZSx1KT0+e2NvbnN0IG49dSg3MTYpO2NvbnN0IG89dSg2OTcpO2NvbnN0IHM9dSg5Nik7Y29uc3Qgcj11KDE1NCk7Y29uc3QgaXNPYmplY3Q9dD0+dCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtjb25zdCBwaWNvbWF0Y2g9KHQsZSx1PWZhbHNlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG49dC5tYXAoKHQ9PnBpY29tYXRjaCh0LGUsdSkpKTtjb25zdCBhcnJheU1hdGNoZXI9dD0+e2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IHU9ZSh0KTtpZih1KXJldHVybiB1fXJldHVybiBmYWxzZX07cmV0dXJuIGFycmF5TWF0Y2hlcn1jb25zdCBuPWlzT2JqZWN0KHQpJiZ0LnRva2VucyYmdC5pbnB1dDtpZih0PT09XCJcInx8dHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhbil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIHBhdHRlcm4gdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nXCIpfWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLndpbmRvd3M7Y29uc3Qgcj1uP3BpY29tYXRjaC5jb21waWxlUmUodCxlKTpwaWNvbWF0Y2gubWFrZVJlKHQsZSxmYWxzZSx0cnVlKTtjb25zdCBhPXIuc3RhdGU7ZGVsZXRlIHIuc3RhdGU7bGV0IGlzSWdub3JlZD0oKT0+ZmFsc2U7aWYoby5pZ25vcmUpe2NvbnN0IHQ9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2lzSWdub3JlZD1waWNvbWF0Y2goby5pZ25vcmUsdCx1KX1jb25zdCBtYXRjaGVyPSh1LG49ZmFsc2UpPT57Y29uc3R7aXNNYXRjaDppLG1hdGNoOmMsb3V0cHV0OnB9PXBpY29tYXRjaC50ZXN0KHUscixlLHtnbG9iOnQscG9zaXg6c30pO2NvbnN0IGw9e2dsb2I6dCxzdGF0ZTphLHJlZ2V4OnIscG9zaXg6cyxpbnB1dDp1LG91dHB1dDpwLG1hdGNoOmMsaXNNYXRjaDppfTtpZih0eXBlb2Ygby5vblJlc3VsdD09PVwiZnVuY3Rpb25cIil7by5vblJlc3VsdChsKX1pZihpPT09ZmFsc2Upe2wuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKGlzSWdub3JlZCh1KSl7aWYodHlwZW9mIG8ub25JZ25vcmU9PT1cImZ1bmN0aW9uXCIpe28ub25JZ25vcmUobCl9bC5pc01hdGNoPWZhbHNlO3JldHVybiBuP2w6ZmFsc2V9aWYodHlwZW9mIG8ub25NYXRjaD09PVwiZnVuY3Rpb25cIil7by5vbk1hdGNoKGwpfXJldHVybiBuP2w6dHJ1ZX07aWYodSl7bWF0Y2hlci5zdGF0ZT1hfXJldHVybiBtYXRjaGVyfTtwaWNvbWF0Y2gudGVzdD0odCxlLHUse2dsb2I6bixwb3NpeDpvfT17fSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBpbnB1dCB0byBiZSBhIHN0cmluZ1wiKX1pZih0PT09XCJcIil7cmV0dXJue2lzTWF0Y2g6ZmFsc2Usb3V0cHV0OlwiXCJ9fWNvbnN0IHI9dXx8e307Y29uc3QgYT1yLmZvcm1hdHx8KG8/cy50b1Bvc2l4U2xhc2hlczpudWxsKTtsZXQgaT10PT09bjtsZXQgYz1pJiZhP2EodCk6dDtpZihpPT09ZmFsc2Upe2M9YT9hKHQpOnQ7aT1jPT09bn1pZihpPT09ZmFsc2V8fHIuY2FwdHVyZT09PXRydWUpe2lmKHIubWF0Y2hCYXNlPT09dHJ1ZXx8ci5iYXNlbmFtZT09PXRydWUpe2k9cGljb21hdGNoLm1hdGNoQmFzZSh0LGUsdSxvKX1lbHNle2k9ZS5leGVjKGMpfX1yZXR1cm57aXNNYXRjaDpCb29sZWFuKGkpLG1hdGNoOmksb3V0cHV0OmN9fTtwaWNvbWF0Y2gubWF0Y2hCYXNlPSh0LGUsdSk9Pntjb25zdCBuPWUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpwaWNvbWF0Y2gubWFrZVJlKGUsdSk7cmV0dXJuIG4udGVzdChzLmJhc2VuYW1lKHQpKX07cGljb21hdGNoLmlzTWF0Y2g9KHQsZSx1KT0+cGljb21hdGNoKGUsdSkodCk7cGljb21hdGNoLnBhcnNlPSh0LGUpPT57aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAoKHQ9PnBpY29tYXRjaC5wYXJzZSh0LGUpKSk7cmV0dXJuIG8odCx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KX07cGljb21hdGNoLnNjYW49KHQsZSk9Pm4odCxlKTtwaWNvbWF0Y2guY29tcGlsZVJlPSh0LGUsdT1mYWxzZSxuPWZhbHNlKT0+e2lmKHU9PT10cnVlKXtyZXR1cm4gdC5vdXRwdXR9Y29uc3Qgbz1lfHx7fTtjb25zdCBzPW8uY29udGFpbnM/XCJcIjpcIl5cIjtjb25zdCByPW8uY29udGFpbnM/XCJcIjpcIiRcIjtsZXQgYT1gJHtzfSg/OiR7dC5vdXRwdXR9KSR7cn1gO2lmKHQmJnQubmVnYXRlZD09PXRydWUpe2E9YF4oPyEke2F9KS4qJGB9Y29uc3QgaT1waWNvbWF0Y2gudG9SZWdleChhLGUpO2lmKG49PT10cnVlKXtpLnN0YXRlPXR9cmV0dXJuIGl9O3BpY29tYXRjaC5tYWtlUmU9KHQsZT17fSx1PWZhbHNlLG49ZmFsc2UpPT57aWYoIXR8fHR5cGVvZiB0IT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1sZXQgcz17bmVnYXRlZDpmYWxzZSxmYXN0cGF0aHM6dHJ1ZX07aWYoZS5mYXN0cGF0aHMhPT1mYWxzZSYmKHRbMF09PT1cIi5cInx8dFswXT09PVwiKlwiKSl7cy5vdXRwdXQ9by5mYXN0cGF0aHModCxlKX1pZighcy5vdXRwdXQpe3M9byh0LGUpfXJldHVybiBwaWNvbWF0Y2guY29tcGlsZVJlKHMsZSx1LG4pfTtwaWNvbWF0Y2gudG9SZWdleD0odCxlKT0+e3RyeXtjb25zdCB1PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHQsdS5mbGFnc3x8KHUubm9jYXNlP1wiaVwiOlwiXCIpKX1jYXRjaCh0KXtpZihlJiZlLmRlYnVnPT09dHJ1ZSl0aHJvdyB0O3JldHVybi8kXi99fTtwaWNvbWF0Y2guY29uc3RhbnRzPXI7dC5leHBvcnRzPXBpY29tYXRjaH0sNzE2Oih0LGUsdSk9Pntjb25zdCBuPXUoOTYpO2NvbnN0e0NIQVJfQVNURVJJU0s6byxDSEFSX0FUOnMsQ0hBUl9CQUNLV0FSRF9TTEFTSDpyLENIQVJfQ09NTUE6YSxDSEFSX0RPVDppLENIQVJfRVhDTEFNQVRJT05fTUFSSzpjLENIQVJfRk9SV0FSRF9TTEFTSDpwLENIQVJfTEVGVF9DVVJMWV9CUkFDRTpsLENIQVJfTEVGVF9QQVJFTlRIRVNFUzpmLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpBLENIQVJfUExVUzpfLENIQVJfUVVFU1RJT05fTUFSSzpSLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6RSxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOmgsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpnfT11KDE1NCk7Y29uc3QgaXNQYXRoU2VwYXJhdG9yPXQ9PnQ9PT1wfHx0PT09cjtjb25zdCBkZXB0aD10PT57aWYodC5pc1ByZWZpeCE9PXRydWUpe3QuZGVwdGg9dC5pc0dsb2JzdGFyP0luZmluaXR5OjF9fTtjb25zdCBzY2FuPSh0LGUpPT57Y29uc3QgdT1lfHx7fTtjb25zdCBiPXQubGVuZ3RoLTE7Y29uc3QgQz11LnBhcnRzPT09dHJ1ZXx8dS5zY2FuVG9FbmQ9PT10cnVlO2NvbnN0IHk9W107Y29uc3QgJD1bXTtjb25zdCB4PVtdO2xldCBTPXQ7bGV0IEg9LTE7bGV0IHY9MDtsZXQgZD0wO2xldCBMPWZhbHNlO2xldCBUPWZhbHNlO2xldCBPPWZhbHNlO2xldCBrPWZhbHNlO2xldCBtPWZhbHNlO2xldCB3PWZhbHNlO2xldCBOPWZhbHNlO2xldCBJPWZhbHNlO2xldCBCPWZhbHNlO2xldCBHPWZhbHNlO2xldCBEPTA7bGV0IE07bGV0IFA7bGV0IEs9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2NvbnN0IGVvcz0oKT0+SD49Yjtjb25zdCBwZWVrPSgpPT5TLmNoYXJDb2RlQXQoSCsxKTtjb25zdCBhZHZhbmNlPSgpPT57TT1QO3JldHVybiBTLmNoYXJDb2RlQXQoKytIKX07d2hpbGUoSDxiKXtQPWFkdmFuY2UoKTtsZXQgdDtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7aWYoUD09PWwpe3c9dHJ1ZX1jb250aW51ZX1pZih3PT09dHJ1ZXx8UD09PWwpe0QrKzt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWwpe0QrKztjb250aW51ZX1pZih3IT09dHJ1ZSYmUD09PWkmJihQPWFkdmFuY2UoKSk9PT1pKXtMPUsuaXNCcmFjZT10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHchPT10cnVlJiZQPT09YSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09RSl7RC0tO2lmKEQ9PT0wKXt3PWZhbHNlO0w9Sy5pc0JyYWNlPXRydWU7Rz10cnVlO2JyZWFrfX19aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1wKXt5LnB1c2goSCk7JC5wdXNoKEspO0s9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2lmKEc9PT10cnVlKWNvbnRpbnVlO2lmKE09PT1pJiZIPT09disxKXt2Kz0yO2NvbnRpbnVlfWQ9SCsxO2NvbnRpbnVlfWlmKHUubm9leHQhPT10cnVlKXtjb25zdCB0PVA9PT1ffHxQPT09c3x8UD09PW98fFA9PT1SfHxQPT09YztpZih0PT09dHJ1ZSYmcGVlaygpPT09Zil7Tz1LLmlzR2xvYj10cnVlO2s9Sy5pc0V4dGdsb2I9dHJ1ZTtHPXRydWU7aWYoUD09PWMmJkg9PT12KXtCPXRydWV9aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1jb250aW51ZX1icmVha319aWYoUD09PW8pe2lmKE09PT1vKW09Sy5pc0dsb2JzdGFyPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PVIpe089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1BKXt3aGlsZShlb3MoKSE9PXRydWUmJih0PWFkdmFuY2UoKSkpe2lmKHQ9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYodD09PWcpe1Q9Sy5pc0JyYWNrZXQ9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1pZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYodS5ub25lZ2F0ZSE9PXRydWUmJlA9PT1jJiZIPT09dil7ST1LLm5lZ2F0ZWQ9dHJ1ZTt2Kys7Y29udGludWV9aWYodS5ub3BhcmVuIT09dHJ1ZSYmUD09PWYpe089Sy5pc0dsb2I9dHJ1ZTtpZihDPT09dHJ1ZSl7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09Zil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWgpe0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9aWYoTz09PXRydWUpe0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9fWlmKHUubm9leHQ9PT10cnVlKXtrPWZhbHNlO089ZmFsc2V9bGV0IFU9UztsZXQgWD1cIlwiO2xldCBGPVwiXCI7aWYodj4wKXtYPVMuc2xpY2UoMCx2KTtTPVMuc2xpY2Uodik7ZC09dn1pZihVJiZPPT09dHJ1ZSYmZD4wKXtVPVMuc2xpY2UoMCxkKTtGPVMuc2xpY2UoZCl9ZWxzZSBpZihPPT09dHJ1ZSl7VT1cIlwiO0Y9U31lbHNle1U9U31pZihVJiZVIT09XCJcIiYmVSE9PVwiL1wiJiZVIT09Uyl7aWYoaXNQYXRoU2VwYXJhdG9yKFUuY2hhckNvZGVBdChVLmxlbmd0aC0xKSkpe1U9VS5zbGljZSgwLC0xKX19aWYodS51bmVzY2FwZT09PXRydWUpe2lmKEYpRj1uLnJlbW92ZUJhY2tzbGFzaGVzKEYpO2lmKFUmJk49PT10cnVlKXtVPW4ucmVtb3ZlQmFja3NsYXNoZXMoVSl9fWNvbnN0IFE9e3ByZWZpeDpYLGlucHV0OnQsc3RhcnQ6dixiYXNlOlUsZ2xvYjpGLGlzQnJhY2U6TCxpc0JyYWNrZXQ6VCxpc0dsb2I6Tyxpc0V4dGdsb2I6ayxpc0dsb2JzdGFyOm0sbmVnYXRlZDpJLG5lZ2F0ZWRFeHRnbG9iOkJ9O2lmKHUudG9rZW5zPT09dHJ1ZSl7US5tYXhEZXB0aD0wO2lmKCFpc1BhdGhTZXBhcmF0b3IoUCkpeyQucHVzaChLKX1RLnRva2Vucz0kfWlmKHUucGFydHM9PT10cnVlfHx1LnRva2Vucz09PXRydWUpe2xldCBlO2ZvcihsZXQgbj0wO248eS5sZW5ndGg7bisrKXtjb25zdCBvPWU/ZSsxOnY7Y29uc3Qgcz15W25dO2NvbnN0IHI9dC5zbGljZShvLHMpO2lmKHUudG9rZW5zKXtpZihuPT09MCYmdiE9PTApeyRbbl0uaXNQcmVmaXg9dHJ1ZTskW25dLnZhbHVlPVh9ZWxzZXskW25dLnZhbHVlPXJ9ZGVwdGgoJFtuXSk7US5tYXhEZXB0aCs9JFtuXS5kZXB0aH1pZihuIT09MHx8ciE9PVwiXCIpe3gucHVzaChyKX1lPXN9aWYoZSYmZSsxPHQubGVuZ3RoKXtjb25zdCBuPXQuc2xpY2UoZSsxKTt4LnB1c2gobik7aWYodS50b2tlbnMpeyRbJC5sZW5ndGgtMV0udmFsdWU9bjtkZXB0aCgkWyQubGVuZ3RoLTFdKTtRLm1heERlcHRoKz0kWyQubGVuZ3RoLTFdLmRlcHRofX1RLnNsYXNoZXM9eTtRLnBhcnRzPXh9cmV0dXJuIFF9O3QuZXhwb3J0cz1zY2FufSw5NjoodCxlLHUpPT57Y29uc3R7UkVHRVhfQkFDS1NMQVNIOm4sUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDpvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6cyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDpyfT11KDE1NCk7ZS5pc09iamVjdD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtlLmhhc1JlZ2V4Q2hhcnM9dD0+cy50ZXN0KHQpO2UuaXNSZWdleENoYXI9dD0+dC5sZW5ndGg9PT0xJiZlLmhhc1JlZ2V4Q2hhcnModCk7ZS5lc2NhcGVSZWdleD10PT50LnJlcGxhY2UocixcIlxcXFwkMVwiKTtlLnRvUG9zaXhTbGFzaGVzPXQ9PnQucmVwbGFjZShuLFwiL1wiKTtlLnJlbW92ZUJhY2tzbGFzaGVzPXQ9PnQucmVwbGFjZShvLCh0PT50PT09XCJcXFxcXCI/XCJcIjp0KSk7ZS5lc2NhcGVMYXN0PSh0LHUsbik9Pntjb25zdCBvPXQubGFzdEluZGV4T2YodSxuKTtpZihvPT09LTEpcmV0dXJuIHQ7aWYodFtvLTFdPT09XCJcXFxcXCIpcmV0dXJuIGUuZXNjYXBlTGFzdCh0LHUsby0xKTtyZXR1cm5gJHt0LnNsaWNlKDAsbyl9XFxcXCR7dC5zbGljZShvKX1gfTtlLnJlbW92ZVByZWZpeD0odCxlPXt9KT0+e2xldCB1PXQ7aWYodS5zdGFydHNXaXRoKFwiLi9cIikpe3U9dS5zbGljZSgyKTtlLnByZWZpeD1cIi4vXCJ9cmV0dXJuIHV9O2Uud3JhcE91dHB1dD0odCxlPXt9LHU9e30pPT57Y29uc3Qgbj11LmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgbz11LmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IHM9YCR7bn0oPzoke3R9KSR7b31gO2lmKGUubmVnYXRlZD09PXRydWUpe3M9YCg/Ol4oPyEke3N9KS4qJClgfXJldHVybiBzfTtlLmJhc2VuYW1lPSh0LHt3aW5kb3dzOmV9PXt9KT0+e2NvbnN0IHU9dC5zcGxpdChlPy9bXFxcXC9dLzpcIi9cIik7Y29uc3Qgbj11W3UubGVuZ3RoLTFdO2lmKG49PT1cIlwiKXtyZXR1cm4gdVt1Lmxlbmd0aC0yXX1yZXR1cm4gbn19fTt2YXIgZT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHUpe3ZhciBuPWVbdV07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgbz1lW3VdPXtleHBvcnRzOnt9fTt2YXIgcz10cnVlO3RyeXt0W3VdKG8sby5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3M9ZmFsc2V9ZmluYWxseXtpZihzKWRlbGV0ZSBlW3VdfXJldHVybiBvLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB1PV9fbmNjd3Bja19yZXF1aXJlX18oMTcwKTttb2R1bGUuZXhwb3J0cz11fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/picomatch/index.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/lib/constants.js": -/*!*************************************************!*\ - !*** ./node_modules/next/dist/lib/constants.js ***! - \*************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_SUFFIX: function() {\n return ACTION_SUFFIX;\n },\n APP_DIR_ALIAS: function() {\n return APP_DIR_ALIAS;\n },\n CACHE_ONE_YEAR: function() {\n return CACHE_ONE_YEAR;\n },\n DOT_NEXT_ALIAS: function() {\n return DOT_NEXT_ALIAS;\n },\n ESLINT_DEFAULT_DIRS: function() {\n return ESLINT_DEFAULT_DIRS;\n },\n ESLINT_PROMPT_VALUES: function() {\n return ESLINT_PROMPT_VALUES;\n },\n GSP_NO_RETURNED_VALUE: function() {\n return GSP_NO_RETURNED_VALUE;\n },\n GSSP_COMPONENT_MEMBER_ERROR: function() {\n return GSSP_COMPONENT_MEMBER_ERROR;\n },\n GSSP_NO_RETURNED_VALUE: function() {\n return GSSP_NO_RETURNED_VALUE;\n },\n INSTRUMENTATION_HOOK_FILENAME: function() {\n return INSTRUMENTATION_HOOK_FILENAME;\n },\n MIDDLEWARE_FILENAME: function() {\n return MIDDLEWARE_FILENAME;\n },\n MIDDLEWARE_LOCATION_REGEXP: function() {\n return MIDDLEWARE_LOCATION_REGEXP;\n },\n NEXT_BODY_SUFFIX: function() {\n return NEXT_BODY_SUFFIX;\n },\n NEXT_CACHE_IMPLICIT_TAG_ID: function() {\n return NEXT_CACHE_IMPLICIT_TAG_ID;\n },\n NEXT_CACHE_REVALIDATED_TAGS_HEADER: function() {\n return NEXT_CACHE_REVALIDATED_TAGS_HEADER;\n },\n NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER: function() {\n return NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER;\n },\n NEXT_CACHE_SOFT_TAGS_HEADER: function() {\n return NEXT_CACHE_SOFT_TAGS_HEADER;\n },\n NEXT_CACHE_SOFT_TAG_MAX_LENGTH: function() {\n return NEXT_CACHE_SOFT_TAG_MAX_LENGTH;\n },\n NEXT_CACHE_TAGS_HEADER: function() {\n return NEXT_CACHE_TAGS_HEADER;\n },\n NEXT_CACHE_TAG_MAX_ITEMS: function() {\n return NEXT_CACHE_TAG_MAX_ITEMS;\n },\n NEXT_CACHE_TAG_MAX_LENGTH: function() {\n return NEXT_CACHE_TAG_MAX_LENGTH;\n },\n NEXT_DATA_SUFFIX: function() {\n return NEXT_DATA_SUFFIX;\n },\n NEXT_META_SUFFIX: function() {\n return NEXT_META_SUFFIX;\n },\n NEXT_QUERY_PARAM_PREFIX: function() {\n return NEXT_QUERY_PARAM_PREFIX;\n },\n NON_STANDARD_NODE_ENV: function() {\n return NON_STANDARD_NODE_ENV;\n },\n PAGES_DIR_ALIAS: function() {\n return PAGES_DIR_ALIAS;\n },\n PRERENDER_REVALIDATE_HEADER: function() {\n return PRERENDER_REVALIDATE_HEADER;\n },\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER: function() {\n return PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER;\n },\n PUBLIC_DIR_MIDDLEWARE_CONFLICT: function() {\n return PUBLIC_DIR_MIDDLEWARE_CONFLICT;\n },\n ROOT_DIR_ALIAS: function() {\n return ROOT_DIR_ALIAS;\n },\n RSC_ACTION_CLIENT_WRAPPER_ALIAS: function() {\n return RSC_ACTION_CLIENT_WRAPPER_ALIAS;\n },\n RSC_ACTION_ENCRYPTION_ALIAS: function() {\n return RSC_ACTION_ENCRYPTION_ALIAS;\n },\n RSC_ACTION_PROXY_ALIAS: function() {\n return RSC_ACTION_PROXY_ALIAS;\n },\n RSC_ACTION_VALIDATE_ALIAS: function() {\n return RSC_ACTION_VALIDATE_ALIAS;\n },\n RSC_MOD_REF_PROXY_ALIAS: function() {\n return RSC_MOD_REF_PROXY_ALIAS;\n },\n RSC_PREFETCH_SUFFIX: function() {\n return RSC_PREFETCH_SUFFIX;\n },\n RSC_SUFFIX: function() {\n return RSC_SUFFIX;\n },\n SERVER_PROPS_EXPORT_ERROR: function() {\n return SERVER_PROPS_EXPORT_ERROR;\n },\n SERVER_PROPS_GET_INIT_PROPS_CONFLICT: function() {\n return SERVER_PROPS_GET_INIT_PROPS_CONFLICT;\n },\n SERVER_PROPS_SSG_CONFLICT: function() {\n return SERVER_PROPS_SSG_CONFLICT;\n },\n SERVER_RUNTIME: function() {\n return SERVER_RUNTIME;\n },\n SSG_FALLBACK_EXPORT_ERROR: function() {\n return SSG_FALLBACK_EXPORT_ERROR;\n },\n SSG_GET_INITIAL_PROPS_CONFLICT: function() {\n return SSG_GET_INITIAL_PROPS_CONFLICT;\n },\n STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR: function() {\n return STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR;\n },\n UNSTABLE_REVALIDATE_RENAME_ERROR: function() {\n return UNSTABLE_REVALIDATE_RENAME_ERROR;\n },\n WEBPACK_LAYERS: function() {\n return WEBPACK_LAYERS;\n },\n WEBPACK_RESOURCE_QUERIES: function() {\n return WEBPACK_RESOURCE_QUERIES;\n }\n});\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst PRERENDER_REVALIDATE_HEADER = \"x-prerender-revalidate\";\nconst PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = \"x-prerender-revalidate-if-generated\";\nconst RSC_PREFETCH_SUFFIX = \".prefetch.rsc\";\nconst RSC_SUFFIX = \".rsc\";\nconst ACTION_SUFFIX = \".action\";\nconst NEXT_DATA_SUFFIX = \".json\";\nconst NEXT_META_SUFFIX = \".meta\";\nconst NEXT_BODY_SUFFIX = \".body\";\nconst NEXT_CACHE_TAGS_HEADER = \"x-next-cache-tags\";\nconst NEXT_CACHE_SOFT_TAGS_HEADER = \"x-next-cache-soft-tags\";\nconst NEXT_CACHE_REVALIDATED_TAGS_HEADER = \"x-next-revalidated-tags\";\nconst NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = \"x-next-revalidate-tag-token\";\nconst NEXT_CACHE_TAG_MAX_ITEMS = 64;\nconst NEXT_CACHE_TAG_MAX_LENGTH = 256;\nconst NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024;\nconst NEXT_CACHE_IMPLICIT_TAG_ID = \"_N_T_\";\nconst CACHE_ONE_YEAR = 31536000;\nconst MIDDLEWARE_FILENAME = \"middleware\";\nconst MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`;\nconst INSTRUMENTATION_HOOK_FILENAME = \"instrumentation\";\nconst PAGES_DIR_ALIAS = \"private-next-pages\";\nconst DOT_NEXT_ALIAS = \"private-dot-next\";\nconst ROOT_DIR_ALIAS = \"private-next-root-dir\";\nconst APP_DIR_ALIAS = \"private-next-app-dir\";\nconst RSC_MOD_REF_PROXY_ALIAS = \"next/dist/build/webpack/loaders/next-flight-loader/module-proxy\";\nconst RSC_ACTION_VALIDATE_ALIAS = \"private-next-rsc-action-validate\";\nconst RSC_ACTION_PROXY_ALIAS = \"private-next-rsc-server-reference\";\nconst RSC_ACTION_ENCRYPTION_ALIAS = \"private-next-rsc-action-encryption\";\nconst RSC_ACTION_CLIENT_WRAPPER_ALIAS = \"private-next-rsc-action-client-wrapper\";\nconst PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`;\nconst SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`;\nconst SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`;\nconst SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`;\nconst STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`;\nconst SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`;\nconst GSP_NO_RETURNED_VALUE = \"Your `getStaticProps` function did not return an object. Did you forget to add a `return`?\";\nconst GSSP_NO_RETURNED_VALUE = \"Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?\";\nconst UNSTABLE_REVALIDATE_RENAME_ERROR = \"The `unstable_revalidate` property is available for general use.\\n\" + \"Please use `revalidate` instead.\";\nconst GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`;\nconst NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`;\nconst SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`;\nconst ESLINT_DEFAULT_DIRS = [\n \"app\",\n \"pages\",\n \"components\",\n \"lib\",\n \"src\"\n];\nconst ESLINT_PROMPT_VALUES = [\n {\n title: \"Strict\",\n recommended: true,\n config: {\n extends: \"next/core-web-vitals\"\n }\n },\n {\n title: \"Base\",\n config: {\n extends: \"next\"\n }\n },\n {\n title: \"Cancel\",\n config: null\n }\n];\nconst SERVER_RUNTIME = {\n edge: \"edge\",\n experimentalEdge: \"experimental-edge\",\n nodejs: \"nodejs\"\n};\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */ const WEBPACK_LAYERS_NAMES = {\n /**\n * The layer for the shared code between the client and server bundles.\n */ shared: \"shared\",\n /**\n * React Server Components layer (rsc).\n */ reactServerComponents: \"rsc\",\n /**\n * Server Side Rendering layer for app (ssr).\n */ serverSideRendering: \"ssr\",\n /**\n * The browser client bundle layer for actions.\n */ actionBrowser: \"action-browser\",\n /**\n * The layer for the API routes.\n */ api: \"api\",\n /**\n * The layer for the middleware code.\n */ middleware: \"middleware\",\n /**\n * The layer for the instrumentation hooks.\n */ instrument: \"instrument\",\n /**\n * The layer for assets on the edge.\n */ edgeAsset: \"edge-asset\",\n /**\n * The browser client bundle layer for App directory.\n */ appPagesBrowser: \"app-pages-browser\",\n /**\n * The server bundle layer for metadata routes.\n */ appMetadataRoute: \"app-metadata-route\",\n /**\n * The layer for the server bundle for App Route handlers.\n */ appRouteHandler: \"app-route-handler\"\n};\nconst WEBPACK_LAYERS = {\n ...WEBPACK_LAYERS_NAMES,\n GROUP: {\n serverOnly: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler,\n WEBPACK_LAYERS_NAMES.instrument\n ],\n clientOnly: [\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser\n ],\n nonClientServerTarget: [\n // middleware and pages api\n WEBPACK_LAYERS_NAMES.middleware,\n WEBPACK_LAYERS_NAMES.api\n ],\n app: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.shared,\n WEBPACK_LAYERS_NAMES.instrument\n ]\n }\n};\nconst WEBPACK_RESOURCE_QUERIES = {\n edgeSSREntry: \"__next_edge_ssr_entry__\",\n metadata: \"__next_metadata__\",\n metadataRoute: \"__next_metadata_route__\",\n metadataImageMeta: \"__next_metadata_image_meta__\"\n};\n\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBZ0RMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLG9CQUFvQjtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL2NvbnN0YW50cy5qcz8wYzc0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgQUNUSU9OX1NVRkZJWDogbnVsbCxcbiAgICBBUFBfRElSX0FMSUFTOiBudWxsLFxuICAgIENBQ0hFX09ORV9ZRUFSOiBudWxsLFxuICAgIERPVF9ORVhUX0FMSUFTOiBudWxsLFxuICAgIEVTTElOVF9ERUZBVUxUX0RJUlM6IG51bGwsXG4gICAgRVNMSU5UX1BST01QVF9WQUxVRVM6IG51bGwsXG4gICAgR1NQX05PX1JFVFVSTkVEX1ZBTFVFOiBudWxsLFxuICAgIEdTU1BfQ09NUE9ORU5UX01FTUJFUl9FUlJPUjogbnVsbCxcbiAgICBHU1NQX05PX1JFVFVSTkVEX1ZBTFVFOiBudWxsLFxuICAgIElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FOiBudWxsLFxuICAgIE1JRERMRVdBUkVfRklMRU5BTUU6IG51bGwsXG4gICAgTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFA6IG51bGwsXG4gICAgTkVYVF9CT0RZX1NVRkZJWDogbnVsbCxcbiAgICBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRDogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1JFVkFMSURBVEVEX1RBR1NfSEVBREVSOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfU09GVF9UQUdTX0hFQURFUjogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEg6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9UQUdTX0hFQURFUjogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1RBR19NQVhfSVRFTVM6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSDogbnVsbCxcbiAgICBORVhUX0RBVEFfU1VGRklYOiBudWxsLFxuICAgIE5FWFRfTUVUQV9TVUZGSVg6IG51bGwsXG4gICAgTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVg6IG51bGwsXG4gICAgTk9OX1NUQU5EQVJEX05PREVfRU5WOiBudWxsLFxuICAgIFBBR0VTX0RJUl9BTElBUzogbnVsbCxcbiAgICBQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVI6IG51bGwsXG4gICAgUFJFUkVOREVSX1JFVkFMSURBVEVfT05MWV9HRU5FUkFURURfSEVBREVSOiBudWxsLFxuICAgIFBVQkxJQ19ESVJfTUlERExFV0FSRV9DT05GTElDVDogbnVsbCxcbiAgICBST09UX0RJUl9BTElBUzogbnVsbCxcbiAgICBSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTOiBudWxsLFxuICAgIFJTQ19BQ1RJT05fRU5DUllQVElPTl9BTElBUzogbnVsbCxcbiAgICBSU0NfQUNUSU9OX1BST1hZX0FMSUFTOiBudWxsLFxuICAgIFJTQ19BQ1RJT05fVkFMSURBVEVfQUxJQVM6IG51bGwsXG4gICAgUlNDX01PRF9SRUZfUFJPWFlfQUxJQVM6IG51bGwsXG4gICAgUlNDX1BSRUZFVENIX1NVRkZJWDogbnVsbCxcbiAgICBSU0NfU1VGRklYOiBudWxsLFxuICAgIFNFUlZFUl9QUk9QU19FWFBPUlRfRVJST1I6IG51bGwsXG4gICAgU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUOiBudWxsLFxuICAgIFNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1Q6IG51bGwsXG4gICAgU0VSVkVSX1JVTlRJTUU6IG51bGwsXG4gICAgU1NHX0ZBTExCQUNLX0VYUE9SVF9FUlJPUjogbnVsbCxcbiAgICBTU0dfR0VUX0lOSVRJQUxfUFJPUFNfQ09ORkxJQ1Q6IG51bGwsXG4gICAgU1RBVElDX1NUQVRVU19QQUdFX0dFVF9JTklUSUFMX1BST1BTX0VSUk9SOiBudWxsLFxuICAgIFVOU1RBQkxFX1JFVkFMSURBVEVfUkVOQU1FX0VSUk9SOiBudWxsLFxuICAgIFdFQlBBQ0tfTEFZRVJTOiBudWxsLFxuICAgIFdFQlBBQ0tfUkVTT1VSQ0VfUVVFUklFUzogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBBQ1RJT05fU1VGRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9TVUZGSVg7XG4gICAgfSxcbiAgICBBUFBfRElSX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFQUF9ESVJfQUxJQVM7XG4gICAgfSxcbiAgICBDQUNIRV9PTkVfWUVBUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDQUNIRV9PTkVfWUVBUjtcbiAgICB9LFxuICAgIERPVF9ORVhUX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERPVF9ORVhUX0FMSUFTO1xuICAgIH0sXG4gICAgRVNMSU5UX0RFRkFVTFRfRElSUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFU0xJTlRfREVGQVVMVF9ESVJTO1xuICAgIH0sXG4gICAgRVNMSU5UX1BST01QVF9WQUxVRVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRVNMSU5UX1BST01QVF9WQUxVRVM7XG4gICAgfSxcbiAgICBHU1BfTk9fUkVUVVJORURfVkFMVUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR1NQX05PX1JFVFVSTkVEX1ZBTFVFO1xuICAgIH0sXG4gICAgR1NTUF9DT01QT05FTlRfTUVNQkVSX0VSUk9SOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEdTU1BfQ09NUE9ORU5UX01FTUJFUl9FUlJPUjtcbiAgICB9LFxuICAgIEdTU1BfTk9fUkVUVVJORURfVkFMVUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR1NTUF9OT19SRVRVUk5FRF9WQUxVRTtcbiAgICB9LFxuICAgIElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FO1xuICAgIH0sXG4gICAgTUlERExFV0FSRV9GSUxFTkFNRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNSURETEVXQVJFX0ZJTEVOQU1FO1xuICAgIH0sXG4gICAgTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFA6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFA7XG4gICAgfSxcbiAgICBORVhUX0JPRFlfU1VGRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQk9EWV9TVUZGSVg7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRDtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURURfVEFHU19IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9SRVZBTElEQVRFRF9UQUdTX0hFQURFUjtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9TT0ZUX1RBR1NfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfU09GVF9UQUdTX0hFQURFUjtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfU09GVF9UQUdfTUFYX0xFTkdUSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEg7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1RBR1NfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfVEFHU19IRUFERVI7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1RBR19NQVhfSVRFTVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9UQUdfTUFYX0lURU1TO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIO1xuICAgIH0sXG4gICAgTkVYVF9EQVRBX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0RBVEFfU1VGRklYO1xuICAgIH0sXG4gICAgTkVYVF9NRVRBX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX01FVEFfU1VGRklYO1xuICAgIH0sXG4gICAgTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVg7XG4gICAgfSxcbiAgICBOT05fU1RBTkRBUkRfTk9ERV9FTlY6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTk9OX1NUQU5EQVJEX05PREVfRU5WO1xuICAgIH0sXG4gICAgUEFHRVNfRElSX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBBR0VTX0RJUl9BTElBUztcbiAgICB9LFxuICAgIFBSRVJFTkRFUl9SRVZBTElEQVRFX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVI7XG4gICAgfSxcbiAgICBQUkVSRU5ERVJfUkVWQUxJREFURV9PTkxZX0dFTkVSQVRFRF9IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUFJFUkVOREVSX1JFVkFMSURBVEVfT05MWV9HRU5FUkFURURfSEVBREVSO1xuICAgIH0sXG4gICAgUFVCTElDX0RJUl9NSURETEVXQVJFX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBVQkxJQ19ESVJfTUlERExFV0FSRV9DT05GTElDVDtcbiAgICB9LFxuICAgIFJPT1RfRElSX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJPT1RfRElSX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX0FDVElPTl9DTElFTlRfV1JBUFBFUl9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX0FDVElPTl9FTkNSWVBUSU9OX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19BQ1RJT05fRU5DUllQVElPTl9BTElBUztcbiAgICB9LFxuICAgIFJTQ19BQ1RJT05fUFJPWFlfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX0FDVElPTl9QUk9YWV9BTElBUztcbiAgICB9LFxuICAgIFJTQ19BQ1RJT05fVkFMSURBVEVfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX0FDVElPTl9WQUxJREFURV9BTElBUztcbiAgICB9LFxuICAgIFJTQ19NT0RfUkVGX1BST1hZX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19NT0RfUkVGX1BST1hZX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX1BSRUZFVENIX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfUFJFRkVUQ0hfU1VGRklYO1xuICAgIH0sXG4gICAgUlNDX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfU1VGRklYO1xuICAgIH0sXG4gICAgU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTRVJWRVJfUFJPUFNfRVhQT1JUX0VSUk9SO1xuICAgIH0sXG4gICAgU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9QUk9QU19HRVRfSU5JVF9QUk9QU19DT05GTElDVDtcbiAgICB9LFxuICAgIFNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX1BST1BTX1NTR19DT05GTElDVDtcbiAgICB9LFxuICAgIFNFUlZFUl9SVU5USU1FOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9SVU5USU1FO1xuICAgIH0sXG4gICAgU1NHX0ZBTExCQUNLX0VYUE9SVF9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTU0dfRkFMTEJBQ0tfRVhQT1JUX0VSUk9SO1xuICAgIH0sXG4gICAgU1NHX0dFVF9JTklUSUFMX1BST1BTX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVDtcbiAgICB9LFxuICAgIFNUQVRJQ19TVEFUVVNfUEFHRV9HRVRfSU5JVElBTF9QUk9QU19FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1I7XG4gICAgfSxcbiAgICBVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUjtcbiAgICB9LFxuICAgIFdFQlBBQ0tfTEFZRVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFdFQlBBQ0tfTEFZRVJTO1xuICAgIH0sXG4gICAgV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFdFQlBBQ0tfUkVTT1VSQ0VfUVVFUklFUztcbiAgICB9XG59KTtcbmNvbnN0IE5FWFRfUVVFUllfUEFSQU1fUFJFRklYID0gXCJueHRQXCI7XG5jb25zdCBQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVIgPSBcIngtcHJlcmVuZGVyLXJldmFsaWRhdGVcIjtcbmNvbnN0IFBSRVJFTkRFUl9SRVZBTElEQVRFX09OTFlfR0VORVJBVEVEX0hFQURFUiA9IFwieC1wcmVyZW5kZXItcmV2YWxpZGF0ZS1pZi1nZW5lcmF0ZWRcIjtcbmNvbnN0IFJTQ19QUkVGRVRDSF9TVUZGSVggPSBcIi5wcmVmZXRjaC5yc2NcIjtcbmNvbnN0IFJTQ19TVUZGSVggPSBcIi5yc2NcIjtcbmNvbnN0IEFDVElPTl9TVUZGSVggPSBcIi5hY3Rpb25cIjtcbmNvbnN0IE5FWFRfREFUQV9TVUZGSVggPSBcIi5qc29uXCI7XG5jb25zdCBORVhUX01FVEFfU1VGRklYID0gXCIubWV0YVwiO1xuY29uc3QgTkVYVF9CT0RZX1NVRkZJWCA9IFwiLmJvZHlcIjtcbmNvbnN0IE5FWFRfQ0FDSEVfVEFHU19IRUFERVIgPSBcIngtbmV4dC1jYWNoZS10YWdzXCI7XG5jb25zdCBORVhUX0NBQ0hFX1NPRlRfVEFHU19IRUFERVIgPSBcIngtbmV4dC1jYWNoZS1zb2Z0LXRhZ3NcIjtcbmNvbnN0IE5FWFRfQ0FDSEVfUkVWQUxJREFURURfVEFHU19IRUFERVIgPSBcIngtbmV4dC1yZXZhbGlkYXRlZC10YWdzXCI7XG5jb25zdCBORVhUX0NBQ0hFX1JFVkFMSURBVEVfVEFHX1RPS0VOX0hFQURFUiA9IFwieC1uZXh0LXJldmFsaWRhdGUtdGFnLXRva2VuXCI7XG5jb25zdCBORVhUX0NBQ0hFX1RBR19NQVhfSVRFTVMgPSA2NDtcbmNvbnN0IE5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEggPSAyNTY7XG5jb25zdCBORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEggPSAxMDI0O1xuY29uc3QgTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUQgPSBcIl9OX1RfXCI7XG5jb25zdCBDQUNIRV9PTkVfWUVBUiA9IDMxNTM2MDAwO1xuY29uc3QgTUlERExFV0FSRV9GSUxFTkFNRSA9IFwibWlkZGxld2FyZVwiO1xuY29uc3QgTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFAgPSBgKD86c3JjLyk/JHtNSURETEVXQVJFX0ZJTEVOQU1FfWA7XG5jb25zdCBJTlNUUlVNRU5UQVRJT05fSE9PS19GSUxFTkFNRSA9IFwiaW5zdHJ1bWVudGF0aW9uXCI7XG5jb25zdCBQQUdFU19ESVJfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1wYWdlc1wiO1xuY29uc3QgRE9UX05FWFRfQUxJQVMgPSBcInByaXZhdGUtZG90LW5leHRcIjtcbmNvbnN0IFJPT1RfRElSX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcm9vdC1kaXJcIjtcbmNvbnN0IEFQUF9ESVJfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1hcHAtZGlyXCI7XG5jb25zdCBSU0NfTU9EX1JFRl9QUk9YWV9BTElBUyA9IFwibmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1sb2FkZXIvbW9kdWxlLXByb3h5XCI7XG5jb25zdCBSU0NfQUNUSU9OX1ZBTElEQVRFX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcnNjLWFjdGlvbi12YWxpZGF0ZVwiO1xuY29uc3QgUlNDX0FDVElPTl9QUk9YWV9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXJzYy1zZXJ2ZXItcmVmZXJlbmNlXCI7XG5jb25zdCBSU0NfQUNUSU9OX0VOQ1JZUFRJT05fQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yc2MtYWN0aW9uLWVuY3J5cHRpb25cIjtcbmNvbnN0IFJTQ19BQ1RJT05fQ0xJRU5UX1dSQVBQRVJfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yc2MtYWN0aW9uLWNsaWVudC13cmFwcGVyXCI7XG5jb25zdCBQVUJMSUNfRElSX01JRERMRVdBUkVfQ09ORkxJQ1QgPSBgWW91IGNhbiBub3QgaGF2ZSBhICdfbmV4dCcgZm9sZGVyIGluc2lkZSBvZiB5b3VyIHB1YmxpYyBmb2xkZXIuIFRoaXMgY29uZmxpY3RzIHdpdGggdGhlIGludGVybmFsICcvX25leHQnIHJvdXRlLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wdWJsaWMtbmV4dC1mb2xkZXItY29uZmxpY3RgO1xuY29uc3QgU1NHX0dFVF9JTklUSUFMX1BST1BTX0NPTkZMSUNUID0gYFlvdSBjYW4gbm90IHVzZSBnZXRJbml0aWFsUHJvcHMgd2l0aCBnZXRTdGF0aWNQcm9wcy4gVG8gdXNlIFNTRywgcGxlYXNlIHJlbW92ZSB5b3VyIGdldEluaXRpYWxQcm9wc2A7XG5jb25zdCBTRVJWRVJfUFJPUFNfR0VUX0lOSVRfUFJPUFNfQ09ORkxJQ1QgPSBgWW91IGNhbiBub3QgdXNlIGdldEluaXRpYWxQcm9wcyB3aXRoIGdldFNlcnZlclNpZGVQcm9wcy4gUGxlYXNlIHJlbW92ZSBnZXRJbml0aWFsUHJvcHMuYDtcbmNvbnN0IFNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1QgPSBgWW91IGNhbiBub3QgdXNlIGdldFN0YXRpY1Byb3BzIG9yIGdldFN0YXRpY1BhdGhzIHdpdGggZ2V0U2VydmVyU2lkZVByb3BzLiBUbyB1c2UgU1NHLCBwbGVhc2UgcmVtb3ZlIGdldFNlcnZlclNpZGVQcm9wc2A7XG5jb25zdCBTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1IgPSBgY2FuIG5vdCBoYXZlIGdldEluaXRpYWxQcm9wcy9nZXRTZXJ2ZXJTaWRlUHJvcHMsIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzLzQwNC1nZXQtaW5pdGlhbC1wcm9wc2A7XG5jb25zdCBTRVJWRVJfUFJPUFNfRVhQT1JUX0VSUk9SID0gYHBhZ2VzIHdpdGggXFxgZ2V0U2VydmVyU2lkZVByb3BzXFxgIGNhbiBub3QgYmUgZXhwb3J0ZWQuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZ3NzcC1leHBvcnRgO1xuY29uc3QgR1NQX05PX1JFVFVSTkVEX1ZBTFVFID0gXCJZb3VyIGBnZXRTdGF0aWNQcm9wc2AgZnVuY3Rpb24gZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0LiBEaWQgeW91IGZvcmdldCB0byBhZGQgYSBgcmV0dXJuYD9cIjtcbmNvbnN0IEdTU1BfTk9fUkVUVVJORURfVkFMVUUgPSBcIllvdXIgYGdldFNlcnZlclNpZGVQcm9wc2AgZnVuY3Rpb24gZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0LiBEaWQgeW91IGZvcmdldCB0byBhZGQgYSBgcmV0dXJuYD9cIjtcbmNvbnN0IFVOU1RBQkxFX1JFVkFMSURBVEVfUkVOQU1FX0VSUk9SID0gXCJUaGUgYHVuc3RhYmxlX3JldmFsaWRhdGVgIHByb3BlcnR5IGlzIGF2YWlsYWJsZSBmb3IgZ2VuZXJhbCB1c2UuXFxuXCIgKyBcIlBsZWFzZSB1c2UgYHJldmFsaWRhdGVgIGluc3RlYWQuXCI7XG5jb25zdCBHU1NQX0NPTVBPTkVOVF9NRU1CRVJfRVJST1IgPSBgY2FuIG5vdCBiZSBhdHRhY2hlZCB0byBhIHBhZ2UncyBjb21wb25lbnQgYW5kIG11c3QgYmUgZXhwb3J0ZWQgZnJvbSB0aGUgcGFnZS4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9nc3NwLWNvbXBvbmVudC1tZW1iZXJgO1xuY29uc3QgTk9OX1NUQU5EQVJEX05PREVfRU5WID0gYFlvdSBhcmUgdXNpbmcgYSBub24tc3RhbmRhcmQgXCJOT0RFX0VOVlwiIHZhbHVlIGluIHlvdXIgZW52aXJvbm1lbnQuIFRoaXMgY3JlYXRlcyBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIHByb2plY3QgYW5kIGlzIHN0cm9uZ2x5IGFkdmlzZWQgYWdhaW5zdC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ub24tc3RhbmRhcmQtbm9kZS1lbnZgO1xuY29uc3QgU1NHX0ZBTExCQUNLX0VYUE9SVF9FUlJPUiA9IGBQYWdlcyB3aXRoIFxcYGZhbGxiYWNrXFxgIGVuYWJsZWQgaW4gXFxgZ2V0U3RhdGljUGF0aHNcXGAgY2FuIG5vdCBiZSBleHBvcnRlZC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9zc2ctZmFsbGJhY2stdHJ1ZS1leHBvcnRgO1xuY29uc3QgRVNMSU5UX0RFRkFVTFRfRElSUyA9IFtcbiAgICBcImFwcFwiLFxuICAgIFwicGFnZXNcIixcbiAgICBcImNvbXBvbmVudHNcIixcbiAgICBcImxpYlwiLFxuICAgIFwic3JjXCJcbl07XG5jb25zdCBFU0xJTlRfUFJPTVBUX1ZBTFVFUyA9IFtcbiAgICB7XG4gICAgICAgIHRpdGxlOiBcIlN0cmljdFwiLFxuICAgICAgICByZWNvbW1lbmRlZDogdHJ1ZSxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICBleHRlbmRzOiBcIm5leHQvY29yZS13ZWItdml0YWxzXCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0aXRsZTogXCJCYXNlXCIsXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgZXh0ZW5kczogXCJuZXh0XCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0aXRsZTogXCJDYW5jZWxcIixcbiAgICAgICAgY29uZmlnOiBudWxsXG4gICAgfVxuXTtcbmNvbnN0IFNFUlZFUl9SVU5USU1FID0ge1xuICAgIGVkZ2U6IFwiZWRnZVwiLFxuICAgIGV4cGVyaW1lbnRhbEVkZ2U6IFwiZXhwZXJpbWVudGFsLWVkZ2VcIixcbiAgICBub2RlanM6IFwibm9kZWpzXCJcbn07XG4vKipcbiAqIFRoZSBuYW1lcyBvZiB0aGUgd2VicGFjayBsYXllcnMuIFRoZXNlIGxheWVycyBhcmUgdGhlIHByaW1pdGl2ZXMgZm9yIHRoZVxuICogd2VicGFjayBjaHVua3MuXG4gKi8gY29uc3QgV0VCUEFDS19MQVlFUlNfTkFNRVMgPSB7XG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgdGhlIHNoYXJlZCBjb2RlIGJldHdlZW4gdGhlIGNsaWVudCBhbmQgc2VydmVyIGJ1bmRsZXMuXG4gICAqLyBzaGFyZWQ6IFwic2hhcmVkXCIsXG4gICAgLyoqXG4gICAqIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIGxheWVyIChyc2MpLlxuICAgKi8gcmVhY3RTZXJ2ZXJDb21wb25lbnRzOiBcInJzY1wiLFxuICAgIC8qKlxuICAgKiBTZXJ2ZXIgU2lkZSBSZW5kZXJpbmcgbGF5ZXIgZm9yIGFwcCAoc3NyKS5cbiAgICovIHNlcnZlclNpZGVSZW5kZXJpbmc6IFwic3NyXCIsXG4gICAgLyoqXG4gICAqIFRoZSBicm93c2VyIGNsaWVudCBidW5kbGUgbGF5ZXIgZm9yIGFjdGlvbnMuXG4gICAqLyBhY3Rpb25Ccm93c2VyOiBcImFjdGlvbi1icm93c2VyXCIsXG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgdGhlIEFQSSByb3V0ZXMuXG4gICAqLyBhcGk6IFwiYXBpXCIsXG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgdGhlIG1pZGRsZXdhcmUgY29kZS5cbiAgICovIG1pZGRsZXdhcmU6IFwibWlkZGxld2FyZVwiLFxuICAgIC8qKlxuICAgKiBUaGUgbGF5ZXIgZm9yIHRoZSBpbnN0cnVtZW50YXRpb24gaG9va3MuXG4gICAqLyBpbnN0cnVtZW50OiBcImluc3RydW1lbnRcIixcbiAgICAvKipcbiAgICogVGhlIGxheWVyIGZvciBhc3NldHMgb24gdGhlIGVkZ2UuXG4gICAqLyBlZGdlQXNzZXQ6IFwiZWRnZS1hc3NldFwiLFxuICAgIC8qKlxuICAgKiBUaGUgYnJvd3NlciBjbGllbnQgYnVuZGxlIGxheWVyIGZvciBBcHAgZGlyZWN0b3J5LlxuICAgKi8gYXBwUGFnZXNCcm93c2VyOiBcImFwcC1wYWdlcy1icm93c2VyXCIsXG4gICAgLyoqXG4gICAqIFRoZSBzZXJ2ZXIgYnVuZGxlIGxheWVyIGZvciBtZXRhZGF0YSByb3V0ZXMuXG4gICAqLyBhcHBNZXRhZGF0YVJvdXRlOiBcImFwcC1tZXRhZGF0YS1yb3V0ZVwiLFxuICAgIC8qKlxuICAgKiBUaGUgbGF5ZXIgZm9yIHRoZSBzZXJ2ZXIgYnVuZGxlIGZvciBBcHAgUm91dGUgaGFuZGxlcnMuXG4gICAqLyBhcHBSb3V0ZUhhbmRsZXI6IFwiYXBwLXJvdXRlLWhhbmRsZXJcIlxufTtcbmNvbnN0IFdFQlBBQ0tfTEFZRVJTID0ge1xuICAgIC4uLldFQlBBQ0tfTEFZRVJTX05BTUVTLFxuICAgIEdST1VQOiB7XG4gICAgICAgIHNlcnZlck9ubHk6IFtcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLnJlYWN0U2VydmVyQ29tcG9uZW50cyxcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFjdGlvbkJyb3dzZXIsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBNZXRhZGF0YVJvdXRlLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBwUm91dGVIYW5kbGVyLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuaW5zdHJ1bWVudFxuICAgICAgICBdLFxuICAgICAgICBjbGllbnRPbmx5OiBbXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5zZXJ2ZXJTaWRlUmVuZGVyaW5nLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBwUGFnZXNCcm93c2VyXG4gICAgICAgIF0sXG4gICAgICAgIG5vbkNsaWVudFNlcnZlclRhcmdldDogW1xuICAgICAgICAgICAgLy8gbWlkZGxld2FyZSBhbmQgcGFnZXMgYXBpXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5taWRkbGV3YXJlLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBpXG4gICAgICAgIF0sXG4gICAgICAgIGFwcDogW1xuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMucmVhY3RTZXJ2ZXJDb21wb25lbnRzLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYWN0aW9uQnJvd3NlcixcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFwcE1ldGFkYXRhUm91dGUsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBSb3V0ZUhhbmRsZXIsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5zZXJ2ZXJTaWRlUmVuZGVyaW5nLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBwUGFnZXNCcm93c2VyLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuc2hhcmVkLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuaW5zdHJ1bWVudFxuICAgICAgICBdXG4gICAgfVxufTtcbmNvbnN0IFdFQlBBQ0tfUkVTT1VSQ0VfUVVFUklFUyA9IHtcbiAgICBlZGdlU1NSRW50cnk6IFwiX19uZXh0X2VkZ2Vfc3NyX2VudHJ5X19cIixcbiAgICBtZXRhZGF0YTogXCJfX25leHRfbWV0YWRhdGFfX1wiLFxuICAgIG1ldGFkYXRhUm91dGU6IFwiX19uZXh0X21ldGFkYXRhX3JvdXRlX19cIixcbiAgICBtZXRhZGF0YUltYWdlTWV0YTogXCJfX25leHRfbWV0YWRhdGFfaW1hZ2VfbWV0YV9fXCJcbn07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/constants.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/lib/metadata/get-metadata-route.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/lib/metadata/get-metadata-route.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n fillMetadataSegment: function() {\n return fillMetadataSegment;\n },\n normalizeMetadataRoute: function() {\n return normalizeMetadataRoute;\n }\n});\nconst _ismetadataroute = __webpack_require__(/*! ./is-metadata-route */ \"(rsc)/./node_modules/next/dist/lib/metadata/is-metadata-route.js\");\nconst _path = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../shared/lib/isomorphic/path */ \"(rsc)/./node_modules/next/dist/shared/lib/isomorphic/path.js\"));\nconst _serverutils = __webpack_require__(/*! ../../server/server-utils */ \"(rsc)/./node_modules/next/dist/server/server-utils.js\");\nconst _routeregex = __webpack_require__(/*! ../../shared/lib/router/utils/route-regex */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nconst _hash = __webpack_require__(/*! ../../shared/lib/hash */ \"(rsc)/./node_modules/next/dist/shared/lib/hash.js\");\nconst _apppaths = __webpack_require__(/*! ../../shared/lib/router/utils/app-paths */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst _normalizepathsep = __webpack_require__(/*! ../../shared/lib/page-path/normalize-path-sep */ \"(rsc)/./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/*\n * If there's special convention like (...) or @ in the page path,\n * Give it a unique hash suffix to avoid conflicts\n *\n * e.g.\n * /app/open-graph.tsx -> /open-graph/route\n * /app/(post)/open-graph.tsx -> /open-graph/route-[0-9a-z]{6}\n */ function getMetadataRouteSuffix(page) {\n let suffix = \"\";\n if (page.includes(\"(\") && page.includes(\")\") || page.includes(\"@\")) {\n suffix = (0, _hash.djb2Hash)(page).toString(36).slice(0, 6);\n }\n return suffix;\n}\nfunction fillMetadataSegment(segment, params, imageSegment) {\n const pathname = (0, _apppaths.normalizeAppPath)(segment);\n const routeRegex = (0, _routeregex.getNamedRouteRegex)(pathname, false);\n const route = (0, _serverutils.interpolateDynamicPath)(pathname, params, routeRegex);\n const suffix = getMetadataRouteSuffix(segment);\n const routeSuffix = suffix ? `-${suffix}` : \"\";\n const { name, ext } = _path.default.parse(imageSegment);\n return (0, _normalizepathsep.normalizePathSep)(_path.default.join(route, `${name}${routeSuffix}${ext}`));\n}\nfunction normalizeMetadataRoute(page) {\n if (!(0, _ismetadataroute.isMetadataRoute)(page)) {\n return page;\n }\n let route = page;\n let suffix = \"\";\n if (page === \"/robots\") {\n route += \".txt\";\n } else if (page === \"/manifest\") {\n route += \".webmanifest\";\n } else if (page.endsWith(\"/sitemap\")) {\n route += \".xml\";\n } else {\n // Remove the file extension, e.g. /route-path/robots.txt -> /route-path\n const pathnamePrefix = page.slice(0, -(_path.default.basename(page).length + 1));\n suffix = getMetadataRouteSuffix(pathnamePrefix);\n }\n // Support both /<metadata-route.ext> and custom routes /<metadata-route>/route.ts.\n // If it's a metadata file route, we need to append /[id]/route to the page.\n if (!route.endsWith(\"/route\")) {\n const { dir, name: baseName, ext } = _path.default.parse(route);\n const isStaticRoute = (0, _ismetadataroute.isStaticMetadataRoute)(page);\n route = _path.default.posix.join(dir, `${baseName}${suffix ? `-${suffix}` : \"\"}${ext}`, isStaticRoute ? \"\" : \"[[...__metadata_id__]]\", \"route\");\n }\n return route;\n}\n\n//# sourceMappingURL=get-metadata-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9nZXQtbWV0YWRhdGEtcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QseUJBQXlCLG1CQUFPLENBQUMsNkZBQXFCO0FBQ3RELHFEQUFxRCxtQkFBTyxDQUFDLHNHQUFrQztBQUMvRixxQkFBcUIsbUJBQU8sQ0FBQyx3RkFBMkI7QUFDeEQsb0JBQW9CLG1CQUFPLENBQUMsd0hBQTJDO0FBQ3ZFLGNBQWMsbUJBQU8sQ0FBQyxnRkFBdUI7QUFDN0Msa0JBQWtCLG1CQUFPLENBQUMsb0hBQXlDO0FBQ25FLDBCQUEwQixtQkFBTyxDQUFDLGdJQUErQztBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTREO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxPQUFPO0FBQzVDLFlBQVksWUFBWTtBQUN4QixnRkFBZ0YsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJO0FBQ3pHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwyQkFBMkI7QUFDM0M7QUFDQSxpREFBaUQsU0FBUyxFQUFFLGFBQWEsT0FBTyxPQUFPLEVBQUUsSUFBSTtBQUM3RjtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9nZXQtbWV0YWRhdGEtcm91dGUuanM/M2NjZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGZpbGxNZXRhZGF0YVNlZ21lbnQ6IG51bGwsXG4gICAgbm9ybWFsaXplTWV0YWRhdGFSb3V0ZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBmaWxsTWV0YWRhdGFTZWdtZW50OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZpbGxNZXRhZGF0YVNlZ21lbnQ7XG4gICAgfSxcbiAgICBub3JtYWxpemVNZXRhZGF0YVJvdXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZU1ldGFkYXRhUm91dGU7XG4gICAgfVxufSk7XG5jb25zdCBfaXNtZXRhZGF0YXJvdXRlID0gcmVxdWlyZShcIi4vaXMtbWV0YWRhdGEtcm91dGVcIik7XG5jb25zdCBfcGF0aCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2lzb21vcnBoaWMvcGF0aFwiKSk7XG5jb25zdCBfc2VydmVydXRpbHMgPSByZXF1aXJlKFwiLi4vLi4vc2VydmVyL3NlcnZlci11dGlsc1wiKTtcbmNvbnN0IF9yb3V0ZXJlZ2V4ID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4XCIpO1xuY29uc3QgX2hhc2ggPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9oYXNoXCIpO1xuY29uc3QgX2FwcHBhdGhzID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRoc1wiKTtcbmNvbnN0IF9ub3JtYWxpemVwYXRoc2VwID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcFwiKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuLypcbiAqIElmIHRoZXJlJ3Mgc3BlY2lhbCBjb252ZW50aW9uIGxpa2UgKC4uLikgb3IgQCBpbiB0aGUgcGFnZSBwYXRoLFxuICogR2l2ZSBpdCBhIHVuaXF1ZSBoYXNoIHN1ZmZpeCB0byBhdm9pZCBjb25mbGljdHNcbiAqXG4gKiBlLmcuXG4gKiAvYXBwL29wZW4tZ3JhcGgudHN4IC0+IC9vcGVuLWdyYXBoL3JvdXRlXG4gKiAvYXBwLyhwb3N0KS9vcGVuLWdyYXBoLnRzeCAtPiAvb3Blbi1ncmFwaC9yb3V0ZS1bMC05YS16XXs2fVxuICovIGZ1bmN0aW9uIGdldE1ldGFkYXRhUm91dGVTdWZmaXgocGFnZSkge1xuICAgIGxldCBzdWZmaXggPSBcIlwiO1xuICAgIGlmIChwYWdlLmluY2x1ZGVzKFwiKFwiKSAmJiBwYWdlLmluY2x1ZGVzKFwiKVwiKSB8fCBwYWdlLmluY2x1ZGVzKFwiQFwiKSkge1xuICAgICAgICBzdWZmaXggPSAoMCwgX2hhc2guZGpiMkhhc2gpKHBhZ2UpLnRvU3RyaW5nKDM2KS5zbGljZSgwLCA2KTtcbiAgICB9XG4gICAgcmV0dXJuIHN1ZmZpeDtcbn1cbmZ1bmN0aW9uIGZpbGxNZXRhZGF0YVNlZ21lbnQoc2VnbWVudCwgcGFyYW1zLCBpbWFnZVNlZ21lbnQpIHtcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfYXBwcGF0aHMubm9ybWFsaXplQXBwUGF0aCkoc2VnbWVudCk7XG4gICAgY29uc3Qgcm91dGVSZWdleCA9ICgwLCBfcm91dGVyZWdleC5nZXROYW1lZFJvdXRlUmVnZXgpKHBhdGhuYW1lLCBmYWxzZSk7XG4gICAgY29uc3Qgcm91dGUgPSAoMCwgX3NlcnZlcnV0aWxzLmludGVycG9sYXRlRHluYW1pY1BhdGgpKHBhdGhuYW1lLCBwYXJhbXMsIHJvdXRlUmVnZXgpO1xuICAgIGNvbnN0IHN1ZmZpeCA9IGdldE1ldGFkYXRhUm91dGVTdWZmaXgoc2VnbWVudCk7XG4gICAgY29uc3Qgcm91dGVTdWZmaXggPSBzdWZmaXggPyBgLSR7c3VmZml4fWAgOiBcIlwiO1xuICAgIGNvbnN0IHsgbmFtZSwgZXh0IH0gPSBfcGF0aC5kZWZhdWx0LnBhcnNlKGltYWdlU2VnbWVudCk7XG4gICAgcmV0dXJuICgwLCBfbm9ybWFsaXplcGF0aHNlcC5ub3JtYWxpemVQYXRoU2VwKShfcGF0aC5kZWZhdWx0LmpvaW4ocm91dGUsIGAke25hbWV9JHtyb3V0ZVN1ZmZpeH0ke2V4dH1gKSk7XG59XG5mdW5jdGlvbiBub3JtYWxpemVNZXRhZGF0YVJvdXRlKHBhZ2UpIHtcbiAgICBpZiAoISgwLCBfaXNtZXRhZGF0YXJvdXRlLmlzTWV0YWRhdGFSb3V0ZSkocGFnZSkpIHtcbiAgICAgICAgcmV0dXJuIHBhZ2U7XG4gICAgfVxuICAgIGxldCByb3V0ZSA9IHBhZ2U7XG4gICAgbGV0IHN1ZmZpeCA9IFwiXCI7XG4gICAgaWYgKHBhZ2UgPT09IFwiL3JvYm90c1wiKSB7XG4gICAgICAgIHJvdXRlICs9IFwiLnR4dFwiO1xuICAgIH0gZWxzZSBpZiAocGFnZSA9PT0gXCIvbWFuaWZlc3RcIikge1xuICAgICAgICByb3V0ZSArPSBcIi53ZWJtYW5pZmVzdFwiO1xuICAgIH0gZWxzZSBpZiAocGFnZS5lbmRzV2l0aChcIi9zaXRlbWFwXCIpKSB7XG4gICAgICAgIHJvdXRlICs9IFwiLnhtbFwiO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgZmlsZSBleHRlbnNpb24sIGUuZy4gL3JvdXRlLXBhdGgvcm9ib3RzLnR4dCAtPiAvcm91dGUtcGF0aFxuICAgICAgICBjb25zdCBwYXRobmFtZVByZWZpeCA9IHBhZ2Uuc2xpY2UoMCwgLShfcGF0aC5kZWZhdWx0LmJhc2VuYW1lKHBhZ2UpLmxlbmd0aCArIDEpKTtcbiAgICAgICAgc3VmZml4ID0gZ2V0TWV0YWRhdGFSb3V0ZVN1ZmZpeChwYXRobmFtZVByZWZpeCk7XG4gICAgfVxuICAgIC8vIFN1cHBvcnQgYm90aCAvPG1ldGFkYXRhLXJvdXRlLmV4dD4gYW5kIGN1c3RvbSByb3V0ZXMgLzxtZXRhZGF0YS1yb3V0ZT4vcm91dGUudHMuXG4gICAgLy8gSWYgaXQncyBhIG1ldGFkYXRhIGZpbGUgcm91dGUsIHdlIG5lZWQgdG8gYXBwZW5kIC9baWRdL3JvdXRlIHRvIHRoZSBwYWdlLlxuICAgIGlmICghcm91dGUuZW5kc1dpdGgoXCIvcm91dGVcIikpIHtcbiAgICAgICAgY29uc3QgeyBkaXIsIG5hbWU6IGJhc2VOYW1lLCBleHQgfSA9IF9wYXRoLmRlZmF1bHQucGFyc2Uocm91dGUpO1xuICAgICAgICBjb25zdCBpc1N0YXRpY1JvdXRlID0gKDAsIF9pc21ldGFkYXRhcm91dGUuaXNTdGF0aWNNZXRhZGF0YVJvdXRlKShwYWdlKTtcbiAgICAgICAgcm91dGUgPSBfcGF0aC5kZWZhdWx0LnBvc2l4LmpvaW4oZGlyLCBgJHtiYXNlTmFtZX0ke3N1ZmZpeCA/IGAtJHtzdWZmaXh9YCA6IFwiXCJ9JHtleHR9YCwgaXNTdGF0aWNSb3V0ZSA/IFwiXCIgOiBcIltbLi4uX19tZXRhZGF0YV9pZF9fXV1cIiwgXCJyb3V0ZVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHJvdXRlO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtbWV0YWRhdGEtcm91dGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/metadata/get-metadata-route.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/lib/metadata/is-metadata-route.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/lib/metadata/is-metadata-route.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n STATIC_METADATA_IMAGES: function() {\n return STATIC_METADATA_IMAGES;\n },\n isMetadataRoute: function() {\n return isMetadataRoute;\n },\n isMetadataRouteFile: function() {\n return isMetadataRouteFile;\n },\n isStaticMetadataRoute: function() {\n return isStaticMetadataRoute;\n },\n isStaticMetadataRouteFile: function() {\n return isStaticMetadataRouteFile;\n }\n});\nconst _normalizepathsep = __webpack_require__(/*! ../../shared/lib/page-path/normalize-path-sep */ \"(rsc)/./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nconst STATIC_METADATA_IMAGES = {\n icon: {\n filename: \"icon\",\n extensions: [\n \"ico\",\n \"jpg\",\n \"jpeg\",\n \"png\",\n \"svg\"\n ]\n },\n apple: {\n filename: \"apple-icon\",\n extensions: [\n \"jpg\",\n \"jpeg\",\n \"png\"\n ]\n },\n favicon: {\n filename: \"favicon\",\n extensions: [\n \"ico\"\n ]\n },\n openGraph: {\n filename: \"opengraph-image\",\n extensions: [\n \"jpg\",\n \"jpeg\",\n \"png\",\n \"gif\"\n ]\n },\n twitter: {\n filename: \"twitter-image\",\n extensions: [\n \"jpg\",\n \"jpeg\",\n \"png\",\n \"gif\"\n ]\n }\n};\n// Match routes that are metadata routes, e.g. /sitemap.xml, /favicon.<ext>, /<icon>.<ext>, etc.\n// TODO-METADATA: support more metadata routes with more extensions\nconst defaultExtensions = [\n \"js\",\n \"jsx\",\n \"ts\",\n \"tsx\"\n];\nconst getExtensionRegexString = (extensions)=>`(?:${extensions.join(\"|\")})`;\nfunction isMetadataRouteFile(appDirRelativePath, pageExtensions, withExtension) {\n const metadataRouteFilesRegex = [\n new RegExp(`^[\\\\\\\\/]robots${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(\"txt\"))}$` : \"\"}`),\n new RegExp(`^[\\\\\\\\/]manifest${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(\"webmanifest\", \"json\"))}$` : \"\"}`),\n new RegExp(`^[\\\\\\\\/]favicon\\\\.ico$`),\n new RegExp(`[\\\\\\\\/]sitemap${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(\"xml\"))}$` : \"\"}`),\n new RegExp(`[\\\\\\\\/]${STATIC_METADATA_IMAGES.icon.filename}\\\\d?${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(STATIC_METADATA_IMAGES.icon.extensions))}$` : \"\"}`),\n new RegExp(`[\\\\\\\\/]${STATIC_METADATA_IMAGES.apple.filename}\\\\d?${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(STATIC_METADATA_IMAGES.apple.extensions))}$` : \"\"}`),\n new RegExp(`[\\\\\\\\/]${STATIC_METADATA_IMAGES.openGraph.filename}\\\\d?${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(STATIC_METADATA_IMAGES.openGraph.extensions))}$` : \"\"}`),\n new RegExp(`[\\\\\\\\/]${STATIC_METADATA_IMAGES.twitter.filename}\\\\d?${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(STATIC_METADATA_IMAGES.twitter.extensions))}$` : \"\"}`)\n ];\n const normalizedAppDirRelativePath = (0, _normalizepathsep.normalizePathSep)(appDirRelativePath);\n return metadataRouteFilesRegex.some((r)=>r.test(normalizedAppDirRelativePath));\n}\nfunction isStaticMetadataRouteFile(appDirRelativePath) {\n return isMetadataRouteFile(appDirRelativePath, [], true);\n}\nfunction isStaticMetadataRoute(page) {\n return page === \"/robots\" || page === \"/manifest\" || isStaticMetadataRouteFile(page);\n}\nfunction isMetadataRoute(route) {\n let page = route.replace(/^\\/?app\\//, \"\").replace(/\\/route$/, \"\");\n if (page[0] !== \"/\") page = \"/\" + page;\n return !page.endsWith(\"/page\") && isMetadataRouteFile(page, defaultExtensions, false);\n}\n\n//# sourceMappingURL=is-metadata-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9pcy1tZXRhZGF0YS1yb3V0ZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FNTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCwwQkFBMEIsbUJBQU8sQ0FBQyxnSUFBK0M7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxxQkFBcUI7QUFDekU7QUFDQTtBQUNBLG9DQUFvQyxzQkFBc0Isc0RBQXNELFFBQVE7QUFDeEgsc0NBQXNDLHNCQUFzQixzRUFBc0UsUUFBUTtBQUMxSTtBQUNBLG9DQUFvQyxzQkFBc0Isc0RBQXNELFFBQVE7QUFDeEgsNkJBQTZCLHFDQUFxQyxNQUFNLHNCQUFzQix1RkFBdUYsUUFBUTtBQUM3TCw2QkFBNkIsc0NBQXNDLE1BQU0sc0JBQXNCLHdGQUF3RixRQUFRO0FBQy9MLDZCQUE2QiwwQ0FBMEMsTUFBTSxzQkFBc0IsNEZBQTRGLFFBQVE7QUFDdk0sNkJBQTZCLHdDQUF3QyxNQUFNLHNCQUFzQiwwRkFBMEYsUUFBUTtBQUNuTTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9pcy1tZXRhZGF0YS1yb3V0ZS5qcz9kNzdlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgU1RBVElDX01FVEFEQVRBX0lNQUdFUzogbnVsbCxcbiAgICBpc01ldGFkYXRhUm91dGU6IG51bGwsXG4gICAgaXNNZXRhZGF0YVJvdXRlRmlsZTogbnVsbCxcbiAgICBpc1N0YXRpY01ldGFkYXRhUm91dGU6IG51bGwsXG4gICAgaXNTdGF0aWNNZXRhZGF0YVJvdXRlRmlsZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBTVEFUSUNfTUVUQURBVEFfSU1BR0VTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNUQVRJQ19NRVRBREFUQV9JTUFHRVM7XG4gICAgfSxcbiAgICBpc01ldGFkYXRhUm91dGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNNZXRhZGF0YVJvdXRlO1xuICAgIH0sXG4gICAgaXNNZXRhZGF0YVJvdXRlRmlsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc01ldGFkYXRhUm91dGVGaWxlO1xuICAgIH0sXG4gICAgaXNTdGF0aWNNZXRhZGF0YVJvdXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzU3RhdGljTWV0YWRhdGFSb3V0ZTtcbiAgICB9LFxuICAgIGlzU3RhdGljTWV0YWRhdGFSb3V0ZUZpbGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNTdGF0aWNNZXRhZGF0YVJvdXRlRmlsZTtcbiAgICB9XG59KTtcbmNvbnN0IF9ub3JtYWxpemVwYXRoc2VwID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcFwiKTtcbmNvbnN0IFNUQVRJQ19NRVRBREFUQV9JTUFHRVMgPSB7XG4gICAgaWNvbjoge1xuICAgICAgICBmaWxlbmFtZTogXCJpY29uXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICAgIFwiaWNvXCIsXG4gICAgICAgICAgICBcImpwZ1wiLFxuICAgICAgICAgICAgXCJqcGVnXCIsXG4gICAgICAgICAgICBcInBuZ1wiLFxuICAgICAgICAgICAgXCJzdmdcIlxuICAgICAgICBdXG4gICAgfSxcbiAgICBhcHBsZToge1xuICAgICAgICBmaWxlbmFtZTogXCJhcHBsZS1pY29uXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICAgIFwianBnXCIsXG4gICAgICAgICAgICBcImpwZWdcIixcbiAgICAgICAgICAgIFwicG5nXCJcbiAgICAgICAgXVxuICAgIH0sXG4gICAgZmF2aWNvbjoge1xuICAgICAgICBmaWxlbmFtZTogXCJmYXZpY29uXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICAgIFwiaWNvXCJcbiAgICAgICAgXVxuICAgIH0sXG4gICAgb3BlbkdyYXBoOiB7XG4gICAgICAgIGZpbGVuYW1lOiBcIm9wZW5ncmFwaC1pbWFnZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgICBcImpwZ1wiLFxuICAgICAgICAgICAgXCJqcGVnXCIsXG4gICAgICAgICAgICBcInBuZ1wiLFxuICAgICAgICAgICAgXCJnaWZcIlxuICAgICAgICBdXG4gICAgfSxcbiAgICB0d2l0dGVyOiB7XG4gICAgICAgIGZpbGVuYW1lOiBcInR3aXR0ZXItaW1hZ2VcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1xuICAgICAgICAgICAgXCJqcGdcIixcbiAgICAgICAgICAgIFwianBlZ1wiLFxuICAgICAgICAgICAgXCJwbmdcIixcbiAgICAgICAgICAgIFwiZ2lmXCJcbiAgICAgICAgXVxuICAgIH1cbn07XG4vLyBNYXRjaCByb3V0ZXMgdGhhdCBhcmUgbWV0YWRhdGEgcm91dGVzLCBlLmcuIC9zaXRlbWFwLnhtbCwgL2Zhdmljb24uPGV4dD4sIC88aWNvbj4uPGV4dD4sIGV0Yy5cbi8vIFRPRE8tTUVUQURBVEE6IHN1cHBvcnQgbW9yZSBtZXRhZGF0YSByb3V0ZXMgd2l0aCBtb3JlIGV4dGVuc2lvbnNcbmNvbnN0IGRlZmF1bHRFeHRlbnNpb25zID0gW1xuICAgIFwianNcIixcbiAgICBcImpzeFwiLFxuICAgIFwidHNcIixcbiAgICBcInRzeFwiXG5dO1xuY29uc3QgZ2V0RXh0ZW5zaW9uUmVnZXhTdHJpbmcgPSAoZXh0ZW5zaW9ucyk9PmAoPzoke2V4dGVuc2lvbnMuam9pbihcInxcIil9KWA7XG5mdW5jdGlvbiBpc01ldGFkYXRhUm91dGVGaWxlKGFwcERpclJlbGF0aXZlUGF0aCwgcGFnZUV4dGVuc2lvbnMsIHdpdGhFeHRlbnNpb24pIHtcbiAgICBjb25zdCBtZXRhZGF0YVJvdXRlRmlsZXNSZWdleCA9IFtcbiAgICAgICAgbmV3IFJlZ0V4cChgXltcXFxcXFxcXC9dcm9ib3RzJHt3aXRoRXh0ZW5zaW9uID8gYFxcXFwuJHtnZXRFeHRlbnNpb25SZWdleFN0cmluZyhwYWdlRXh0ZW5zaW9ucy5jb25jYXQoXCJ0eHRcIikpfSRgIDogXCJcIn1gKSxcbiAgICAgICAgbmV3IFJlZ0V4cChgXltcXFxcXFxcXC9dbWFuaWZlc3Qke3dpdGhFeHRlbnNpb24gPyBgXFxcXC4ke2dldEV4dGVuc2lvblJlZ2V4U3RyaW5nKHBhZ2VFeHRlbnNpb25zLmNvbmNhdChcIndlYm1hbmlmZXN0XCIsIFwianNvblwiKSl9JGAgOiBcIlwifWApLFxuICAgICAgICBuZXcgUmVnRXhwKGBeW1xcXFxcXFxcL11mYXZpY29uXFxcXC5pY28kYCksXG4gICAgICAgIG5ldyBSZWdFeHAoYFtcXFxcXFxcXC9dc2l0ZW1hcCR7d2l0aEV4dGVuc2lvbiA/IGBcXFxcLiR7Z2V0RXh0ZW5zaW9uUmVnZXhTdHJpbmcocGFnZUV4dGVuc2lvbnMuY29uY2F0KFwieG1sXCIpKX0kYCA6IFwiXCJ9YCksXG4gICAgICAgIG5ldyBSZWdFeHAoYFtcXFxcXFxcXC9dJHtTVEFUSUNfTUVUQURBVEFfSU1BR0VTLmljb24uZmlsZW5hbWV9XFxcXGQ/JHt3aXRoRXh0ZW5zaW9uID8gYFxcXFwuJHtnZXRFeHRlbnNpb25SZWdleFN0cmluZyhwYWdlRXh0ZW5zaW9ucy5jb25jYXQoU1RBVElDX01FVEFEQVRBX0lNQUdFUy5pY29uLmV4dGVuc2lvbnMpKX0kYCA6IFwiXCJ9YCksXG4gICAgICAgIG5ldyBSZWdFeHAoYFtcXFxcXFxcXC9dJHtTVEFUSUNfTUVUQURBVEFfSU1BR0VTLmFwcGxlLmZpbGVuYW1lfVxcXFxkPyR7d2l0aEV4dGVuc2lvbiA/IGBcXFxcLiR7Z2V0RXh0ZW5zaW9uUmVnZXhTdHJpbmcocGFnZUV4dGVuc2lvbnMuY29uY2F0KFNUQVRJQ19NRVRBREFUQV9JTUFHRVMuYXBwbGUuZXh0ZW5zaW9ucykpfSRgIDogXCJcIn1gKSxcbiAgICAgICAgbmV3IFJlZ0V4cChgW1xcXFxcXFxcL10ke1NUQVRJQ19NRVRBREFUQV9JTUFHRVMub3BlbkdyYXBoLmZpbGVuYW1lfVxcXFxkPyR7d2l0aEV4dGVuc2lvbiA/IGBcXFxcLiR7Z2V0RXh0ZW5zaW9uUmVnZXhTdHJpbmcocGFnZUV4dGVuc2lvbnMuY29uY2F0KFNUQVRJQ19NRVRBREFUQV9JTUFHRVMub3BlbkdyYXBoLmV4dGVuc2lvbnMpKX0kYCA6IFwiXCJ9YCksXG4gICAgICAgIG5ldyBSZWdFeHAoYFtcXFxcXFxcXC9dJHtTVEFUSUNfTUVUQURBVEFfSU1BR0VTLnR3aXR0ZXIuZmlsZW5hbWV9XFxcXGQ/JHt3aXRoRXh0ZW5zaW9uID8gYFxcXFwuJHtnZXRFeHRlbnNpb25SZWdleFN0cmluZyhwYWdlRXh0ZW5zaW9ucy5jb25jYXQoU1RBVElDX01FVEFEQVRBX0lNQUdFUy50d2l0dGVyLmV4dGVuc2lvbnMpKX0kYCA6IFwiXCJ9YClcbiAgICBdO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRBcHBEaXJSZWxhdGl2ZVBhdGggPSAoMCwgX25vcm1hbGl6ZXBhdGhzZXAubm9ybWFsaXplUGF0aFNlcCkoYXBwRGlyUmVsYXRpdmVQYXRoKTtcbiAgICByZXR1cm4gbWV0YWRhdGFSb3V0ZUZpbGVzUmVnZXguc29tZSgocik9PnIudGVzdChub3JtYWxpemVkQXBwRGlyUmVsYXRpdmVQYXRoKSk7XG59XG5mdW5jdGlvbiBpc1N0YXRpY01ldGFkYXRhUm91dGVGaWxlKGFwcERpclJlbGF0aXZlUGF0aCkge1xuICAgIHJldHVybiBpc01ldGFkYXRhUm91dGVGaWxlKGFwcERpclJlbGF0aXZlUGF0aCwgW10sIHRydWUpO1xufVxuZnVuY3Rpb24gaXNTdGF0aWNNZXRhZGF0YVJvdXRlKHBhZ2UpIHtcbiAgICByZXR1cm4gcGFnZSA9PT0gXCIvcm9ib3RzXCIgfHwgcGFnZSA9PT0gXCIvbWFuaWZlc3RcIiB8fCBpc1N0YXRpY01ldGFkYXRhUm91dGVGaWxlKHBhZ2UpO1xufVxuZnVuY3Rpb24gaXNNZXRhZGF0YVJvdXRlKHJvdXRlKSB7XG4gICAgbGV0IHBhZ2UgPSByb3V0ZS5yZXBsYWNlKC9eXFwvP2FwcFxcLy8sIFwiXCIpLnJlcGxhY2UoL1xcL3JvdXRlJC8sIFwiXCIpO1xuICAgIGlmIChwYWdlWzBdICE9PSBcIi9cIikgcGFnZSA9IFwiL1wiICsgcGFnZTtcbiAgICByZXR1cm4gIXBhZ2UuZW5kc1dpdGgoXCIvcGFnZVwiKSAmJiBpc01ldGFkYXRhUm91dGVGaWxlKHBhZ2UsIGRlZmF1bHRFeHRlbnNpb25zLCBmYWxzZSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLW1ldGFkYXRhLXJvdXRlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/metadata/is-metadata-route.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/lib/picocolors.js": -/*!**************************************************!*\ - !*** ./node_modules/next/dist/lib/picocolors.js ***! - \**************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("// ISC License\n// Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n//\n// https://github.com/alexeyraspopov/picocolors/blob/b6261487e7b81aaab2440e397a356732cad9e342/picocolors.js#L1\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n bgBlack: function() {\n return bgBlack;\n },\n bgBlue: function() {\n return bgBlue;\n },\n bgCyan: function() {\n return bgCyan;\n },\n bgGreen: function() {\n return bgGreen;\n },\n bgMagenta: function() {\n return bgMagenta;\n },\n bgRed: function() {\n return bgRed;\n },\n bgWhite: function() {\n return bgWhite;\n },\n bgYellow: function() {\n return bgYellow;\n },\n black: function() {\n return black;\n },\n blue: function() {\n return blue;\n },\n bold: function() {\n return bold;\n },\n cyan: function() {\n return cyan;\n },\n dim: function() {\n return dim;\n },\n gray: function() {\n return gray;\n },\n green: function() {\n return green;\n },\n hidden: function() {\n return hidden;\n },\n inverse: function() {\n return inverse;\n },\n italic: function() {\n return italic;\n },\n magenta: function() {\n return magenta;\n },\n purple: function() {\n return purple;\n },\n red: function() {\n return red;\n },\n reset: function() {\n return reset;\n },\n strikethrough: function() {\n return strikethrough;\n },\n underline: function() {\n return underline;\n },\n white: function() {\n return white;\n },\n yellow: function() {\n return yellow;\n }\n});\nvar _globalThis;\nconst { env, stdout } = ((_globalThis = globalThis) == null ? void 0 : _globalThis.process) ?? {};\nconst enabled = env && !env.NO_COLOR && (env.FORCE_COLOR || (stdout == null ? void 0 : stdout.isTTY) && !env.CI && env.TERM !== \"dumb\");\nconst replaceClose = (str, close, replace, index)=>{\n const start = str.substring(0, index) + replace;\n const end = str.substring(index + close.length);\n const nextIndex = end.indexOf(close);\n return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;\n};\nconst formatter = (open, close, replace = open)=>{\n if (!enabled) return String;\n return (input)=>{\n const string = \"\" + input;\n const index = string.indexOf(close, open.length);\n return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;\n };\n};\nconst reset = enabled ? (s)=>`\\x1b[0m${s}\\x1b[0m` : String;\nconst bold = formatter(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\");\nconst dim = formatter(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\");\nconst italic = formatter(\"\\x1b[3m\", \"\\x1b[23m\");\nconst underline = formatter(\"\\x1b[4m\", \"\\x1b[24m\");\nconst inverse = formatter(\"\\x1b[7m\", \"\\x1b[27m\");\nconst hidden = formatter(\"\\x1b[8m\", \"\\x1b[28m\");\nconst strikethrough = formatter(\"\\x1b[9m\", \"\\x1b[29m\");\nconst black = formatter(\"\\x1b[30m\", \"\\x1b[39m\");\nconst red = formatter(\"\\x1b[31m\", \"\\x1b[39m\");\nconst green = formatter(\"\\x1b[32m\", \"\\x1b[39m\");\nconst yellow = formatter(\"\\x1b[33m\", \"\\x1b[39m\");\nconst blue = formatter(\"\\x1b[34m\", \"\\x1b[39m\");\nconst magenta = formatter(\"\\x1b[35m\", \"\\x1b[39m\");\nconst purple = formatter(\"\\x1b[38;2;173;127;168m\", \"\\x1b[39m\");\nconst cyan = formatter(\"\\x1b[36m\", \"\\x1b[39m\");\nconst white = formatter(\"\\x1b[37m\", \"\\x1b[39m\");\nconst gray = formatter(\"\\x1b[90m\", \"\\x1b[39m\");\nconst bgBlack = formatter(\"\\x1b[40m\", \"\\x1b[49m\");\nconst bgRed = formatter(\"\\x1b[41m\", \"\\x1b[49m\");\nconst bgGreen = formatter(\"\\x1b[42m\", \"\\x1b[49m\");\nconst bgYellow = formatter(\"\\x1b[43m\", \"\\x1b[49m\");\nconst bgBlue = formatter(\"\\x1b[44m\", \"\\x1b[49m\");\nconst bgMagenta = formatter(\"\\x1b[45m\", \"\\x1b[49m\");\nconst bgCyan = formatter(\"\\x1b[46m\", \"\\x1b[49m\");\nconst bgWhite = formatter(\"\\x1b[47m\", \"\\x1b[49m\");\n\n//# sourceMappingURL=picocolors.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9waWNvY29sb3JzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0EyQkw7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxRQUFRLGNBQWM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLEVBQUU7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsRUFBRSxJQUFJLElBQUk7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3BpY29jb2xvcnMuanM/NzY4NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJU0MgTGljZW5zZVxuLy8gQ29weXJpZ2h0IChjKSAyMDIxIEFsZXhleSBSYXNwb3BvdiwgS29zdGlhbnR5biBEZW55c292LCBBbnRvbiBWZXJpbm92XG4vLyBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcbi8vIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmVcbi8vIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFU1xuLy8gV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1Jcbi8vIEFOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVNcbi8vIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTlxuLy8gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0Zcbi8vIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXG4vL1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZXhleXJhc3BvcG92L3BpY29jb2xvcnMvYmxvYi9iNjI2MTQ4N2U3YjgxYWFhYjI0NDBlMzk3YTM1NjczMmNhZDllMzQyL3BpY29jb2xvcnMuanMjTDFcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgYmdCbGFjazogbnVsbCxcbiAgICBiZ0JsdWU6IG51bGwsXG4gICAgYmdDeWFuOiBudWxsLFxuICAgIGJnR3JlZW46IG51bGwsXG4gICAgYmdNYWdlbnRhOiBudWxsLFxuICAgIGJnUmVkOiBudWxsLFxuICAgIGJnV2hpdGU6IG51bGwsXG4gICAgYmdZZWxsb3c6IG51bGwsXG4gICAgYmxhY2s6IG51bGwsXG4gICAgYmx1ZTogbnVsbCxcbiAgICBib2xkOiBudWxsLFxuICAgIGN5YW46IG51bGwsXG4gICAgZGltOiBudWxsLFxuICAgIGdyYXk6IG51bGwsXG4gICAgZ3JlZW46IG51bGwsXG4gICAgaGlkZGVuOiBudWxsLFxuICAgIGludmVyc2U6IG51bGwsXG4gICAgaXRhbGljOiBudWxsLFxuICAgIG1hZ2VudGE6IG51bGwsXG4gICAgcHVycGxlOiBudWxsLFxuICAgIHJlZDogbnVsbCxcbiAgICByZXNldDogbnVsbCxcbiAgICBzdHJpa2V0aHJvdWdoOiBudWxsLFxuICAgIHVuZGVybGluZTogbnVsbCxcbiAgICB3aGl0ZTogbnVsbCxcbiAgICB5ZWxsb3c6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgYmdCbGFjazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ0JsYWNrO1xuICAgIH0sXG4gICAgYmdCbHVlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnQmx1ZTtcbiAgICB9LFxuICAgIGJnQ3lhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ0N5YW47XG4gICAgfSxcbiAgICBiZ0dyZWVuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnR3JlZW47XG4gICAgfSxcbiAgICBiZ01hZ2VudGE6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdNYWdlbnRhO1xuICAgIH0sXG4gICAgYmdSZWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdSZWQ7XG4gICAgfSxcbiAgICBiZ1doaXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnV2hpdGU7XG4gICAgfSxcbiAgICBiZ1llbGxvdzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ1llbGxvdztcbiAgICB9LFxuICAgIGJsYWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJsYWNrO1xuICAgIH0sXG4gICAgYmx1ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBibHVlO1xuICAgIH0sXG4gICAgYm9sZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBib2xkO1xuICAgIH0sXG4gICAgY3lhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjeWFuO1xuICAgIH0sXG4gICAgZGltOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRpbTtcbiAgICB9LFxuICAgIGdyYXk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ3JheTtcbiAgICB9LFxuICAgIGdyZWVuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdyZWVuO1xuICAgIH0sXG4gICAgaGlkZGVuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhpZGRlbjtcbiAgICB9LFxuICAgIGludmVyc2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaW52ZXJzZTtcbiAgICB9LFxuICAgIGl0YWxpYzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpdGFsaWM7XG4gICAgfSxcbiAgICBtYWdlbnRhOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG1hZ2VudGE7XG4gICAgfSxcbiAgICBwdXJwbGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcHVycGxlO1xuICAgIH0sXG4gICAgcmVkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlZDtcbiAgICB9LFxuICAgIHJlc2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlc2V0O1xuICAgIH0sXG4gICAgc3RyaWtldGhyb3VnaDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHJpa2V0aHJvdWdoO1xuICAgIH0sXG4gICAgdW5kZXJsaW5lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVybGluZTtcbiAgICB9LFxuICAgIHdoaXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdoaXRlO1xuICAgIH0sXG4gICAgeWVsbG93OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHllbGxvdztcbiAgICB9XG59KTtcbnZhciBfZ2xvYmFsVGhpcztcbmNvbnN0IHsgZW52LCBzdGRvdXQgfSA9ICgoX2dsb2JhbFRoaXMgPSBnbG9iYWxUaGlzKSA9PSBudWxsID8gdm9pZCAwIDogX2dsb2JhbFRoaXMucHJvY2VzcykgPz8ge307XG5jb25zdCBlbmFibGVkID0gZW52ICYmICFlbnYuTk9fQ09MT1IgJiYgKGVudi5GT1JDRV9DT0xPUiB8fCAoc3Rkb3V0ID09IG51bGwgPyB2b2lkIDAgOiBzdGRvdXQuaXNUVFkpICYmICFlbnYuQ0kgJiYgZW52LlRFUk0gIT09IFwiZHVtYlwiKTtcbmNvbnN0IHJlcGxhY2VDbG9zZSA9IChzdHIsIGNsb3NlLCByZXBsYWNlLCBpbmRleCk9PntcbiAgICBjb25zdCBzdGFydCA9IHN0ci5zdWJzdHJpbmcoMCwgaW5kZXgpICsgcmVwbGFjZTtcbiAgICBjb25zdCBlbmQgPSBzdHIuc3Vic3RyaW5nKGluZGV4ICsgY2xvc2UubGVuZ3RoKTtcbiAgICBjb25zdCBuZXh0SW5kZXggPSBlbmQuaW5kZXhPZihjbG9zZSk7XG4gICAgcmV0dXJuIH5uZXh0SW5kZXggPyBzdGFydCArIHJlcGxhY2VDbG9zZShlbmQsIGNsb3NlLCByZXBsYWNlLCBuZXh0SW5kZXgpIDogc3RhcnQgKyBlbmQ7XG59O1xuY29uc3QgZm9ybWF0dGVyID0gKG9wZW4sIGNsb3NlLCByZXBsYWNlID0gb3Blbik9PntcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybiBTdHJpbmc7XG4gICAgcmV0dXJuIChpbnB1dCk9PntcbiAgICAgICAgY29uc3Qgc3RyaW5nID0gXCJcIiArIGlucHV0O1xuICAgICAgICBjb25zdCBpbmRleCA9IHN0cmluZy5pbmRleE9mKGNsb3NlLCBvcGVuLmxlbmd0aCk7XG4gICAgICAgIHJldHVybiB+aW5kZXggPyBvcGVuICsgcmVwbGFjZUNsb3NlKHN0cmluZywgY2xvc2UsIHJlcGxhY2UsIGluZGV4KSArIGNsb3NlIDogb3BlbiArIHN0cmluZyArIGNsb3NlO1xuICAgIH07XG59O1xuY29uc3QgcmVzZXQgPSBlbmFibGVkID8gKHMpPT5gXFx4MWJbMG0ke3N9XFx4MWJbMG1gIDogU3RyaW5nO1xuY29uc3QgYm9sZCA9IGZvcm1hdHRlcihcIlxceDFiWzFtXCIsIFwiXFx4MWJbMjJtXCIsIFwiXFx4MWJbMjJtXFx4MWJbMW1cIik7XG5jb25zdCBkaW0gPSBmb3JtYXR0ZXIoXCJcXHgxYlsybVwiLCBcIlxceDFiWzIybVwiLCBcIlxceDFiWzIybVxceDFiWzJtXCIpO1xuY29uc3QgaXRhbGljID0gZm9ybWF0dGVyKFwiXFx4MWJbM21cIiwgXCJcXHgxYlsyM21cIik7XG5jb25zdCB1bmRlcmxpbmUgPSBmb3JtYXR0ZXIoXCJcXHgxYls0bVwiLCBcIlxceDFiWzI0bVwiKTtcbmNvbnN0IGludmVyc2UgPSBmb3JtYXR0ZXIoXCJcXHgxYls3bVwiLCBcIlxceDFiWzI3bVwiKTtcbmNvbnN0IGhpZGRlbiA9IGZvcm1hdHRlcihcIlxceDFiWzhtXCIsIFwiXFx4MWJbMjhtXCIpO1xuY29uc3Qgc3RyaWtldGhyb3VnaCA9IGZvcm1hdHRlcihcIlxceDFiWzltXCIsIFwiXFx4MWJbMjltXCIpO1xuY29uc3QgYmxhY2sgPSBmb3JtYXR0ZXIoXCJcXHgxYlszMG1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCByZWQgPSBmb3JtYXR0ZXIoXCJcXHgxYlszMW1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBncmVlbiA9IGZvcm1hdHRlcihcIlxceDFiWzMybVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IHllbGxvdyA9IGZvcm1hdHRlcihcIlxceDFiWzMzbVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IGJsdWUgPSBmb3JtYXR0ZXIoXCJcXHgxYlszNG1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBtYWdlbnRhID0gZm9ybWF0dGVyKFwiXFx4MWJbMzVtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgcHVycGxlID0gZm9ybWF0dGVyKFwiXFx4MWJbMzg7MjsxNzM7MTI3OzE2OG1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBjeWFuID0gZm9ybWF0dGVyKFwiXFx4MWJbMzZtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3Qgd2hpdGUgPSBmb3JtYXR0ZXIoXCJcXHgxYlszN21cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBncmF5ID0gZm9ybWF0dGVyKFwiXFx4MWJbOTBtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgYmdCbGFjayA9IGZvcm1hdHRlcihcIlxceDFiWzQwbVwiLCBcIlxceDFiWzQ5bVwiKTtcbmNvbnN0IGJnUmVkID0gZm9ybWF0dGVyKFwiXFx4MWJbNDFtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdHcmVlbiA9IGZvcm1hdHRlcihcIlxceDFiWzQybVwiLCBcIlxceDFiWzQ5bVwiKTtcbmNvbnN0IGJnWWVsbG93ID0gZm9ybWF0dGVyKFwiXFx4MWJbNDNtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdCbHVlID0gZm9ybWF0dGVyKFwiXFx4MWJbNDRtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdNYWdlbnRhID0gZm9ybWF0dGVyKFwiXFx4MWJbNDVtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdDeWFuID0gZm9ybWF0dGVyKFwiXFx4MWJbNDZtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdXaGl0ZSA9IGZvcm1hdHRlcihcIlxceDFiWzQ3bVwiLCBcIlxceDFiWzQ5bVwiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGljb2NvbG9ycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/picocolors.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/lib/url.js": -/*!*******************************************!*\ - !*** ./node_modules/next/dist/lib/url.js ***! - \*******************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getPathname: function() {\n return getPathname;\n },\n isFullStringUrl: function() {\n return isFullStringUrl;\n }\n});\nconst DUMMY_ORIGIN = \"http://n\";\nfunction getUrlWithoutHost(url) {\n return new URL(url, DUMMY_ORIGIN);\n}\nfunction getPathname(url) {\n return getUrlWithoutHost(url).pathname;\n}\nfunction isFullStringUrl(url) {\n return /https?:\\/\\//.test(url);\n}\n\n//# sourceMappingURL=url.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi91cmwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi91cmwuanM/NjViMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldFBhdGhuYW1lOiBudWxsLFxuICAgIGlzRnVsbFN0cmluZ1VybDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRQYXRobmFtZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQYXRobmFtZTtcbiAgICB9LFxuICAgIGlzRnVsbFN0cmluZ1VybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Z1bGxTdHJpbmdVcmw7XG4gICAgfVxufSk7XG5jb25zdCBEVU1NWV9PUklHSU4gPSBcImh0dHA6Ly9uXCI7XG5mdW5jdGlvbiBnZXRVcmxXaXRob3V0SG9zdCh1cmwpIHtcbiAgICByZXR1cm4gbmV3IFVSTCh1cmwsIERVTU1ZX09SSUdJTik7XG59XG5mdW5jdGlvbiBnZXRQYXRobmFtZSh1cmwpIHtcbiAgICByZXR1cm4gZ2V0VXJsV2l0aG91dEhvc3QodXJsKS5wYXRobmFtZTtcbn1cbmZ1bmN0aW9uIGlzRnVsbFN0cmluZ1VybCh1cmwpIHtcbiAgICByZXR1cm4gL2h0dHBzPzpcXC9cXC8vLnRlc3QodXJsKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXJsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/url.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/api-utils/get-cookie-parser.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/server/api-utils/get-cookie-parser.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getCookieParser\", ({\n enumerable: true,\n get: function() {\n return getCookieParser;\n }\n}));\nfunction getCookieParser(headers) {\n return function parseCookie() {\n const { cookie } = headers;\n if (!cookie) {\n return {};\n }\n const { parse: parseCookieFn } = __webpack_require__(/*! next/dist/compiled/cookie */ \"(rsc)/./node_modules/next/dist/compiled/cookie/index.js\");\n return parseCookieFn(Array.isArray(cookie) ? cookie.join(\"; \") : cookie);\n };\n}\n\n//# sourceMappingURL=get-cookie-parser.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcGktdXRpbHMvZ2V0LWNvb2tpZS1wYXJzZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixtREFBa0Q7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0EsZ0JBQWdCLFNBQVM7QUFDekI7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHVCQUF1QixFQUFFLG1CQUFPLENBQUMsMEZBQTJCO0FBQzVFLG9FQUFvRTtBQUNwRTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBpLXV0aWxzL2dldC1jb29raWUtcGFyc2VyLmpzPzM4MGIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRDb29raWVQYXJzZXJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldENvb2tpZVBhcnNlcjtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGdldENvb2tpZVBhcnNlcihoZWFkZXJzKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHBhcnNlQ29va2llKCkge1xuICAgICAgICBjb25zdCB7IGNvb2tpZSB9ID0gaGVhZGVycztcbiAgICAgICAgaWYgKCFjb29raWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHBhcnNlOiBwYXJzZUNvb2tpZUZuIH0gPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL2Nvb2tpZVwiKTtcbiAgICAgICAgcmV0dXJuIHBhcnNlQ29va2llRm4oQXJyYXkuaXNBcnJheShjb29raWUpID8gY29va2llLmpvaW4oXCI7IFwiKSA6IGNvb2tpZSk7XG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LWNvb2tpZS1wYXJzZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/api-utils/get-cookie-parser.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/app-render/dynamic-rendering.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/server/app-render/dynamic-rendering.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * The functions provided by this module are used to communicate certain properties\n * about the currently running code so that Next.js can make decisions on how to handle\n * the current execution in different rendering modes such as pre-rendering, resuming, and SSR.\n *\n * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering.\n * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts\n * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of\n * Dynamic indications.\n *\n * The first is simply an intention to be dynamic. unstable_noStore is an example of this where\n * the currently executing code simply declares that the current scope is dynamic but if you use it\n * inside unstable_cache it can still be cached. This type of indication can be removed if we ever\n * make the default dynamic to begin with because the only way you would ever be static is inside\n * a cache scope which this indication does not affect.\n *\n * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic\n * because it means that it is inappropriate to cache this at all. using a dynamic data source inside\n * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should\n * read that data outside the cache and pass it in as an argument to the cached function.\n */ // Once postpone is in stable we should switch to importing the postpone export directly\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Postpone: function() {\n return Postpone;\n },\n createPostponedAbortSignal: function() {\n return createPostponedAbortSignal;\n },\n createPrerenderState: function() {\n return createPrerenderState;\n },\n formatDynamicAPIAccesses: function() {\n return formatDynamicAPIAccesses;\n },\n markCurrentScopeAsDynamic: function() {\n return markCurrentScopeAsDynamic;\n },\n trackDynamicDataAccessed: function() {\n return trackDynamicDataAccessed;\n },\n trackDynamicFetch: function() {\n return trackDynamicFetch;\n },\n usedDynamicAPIs: function() {\n return usedDynamicAPIs;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\"));\nconst _hooksservercontext = __webpack_require__(/*! ../../client/components/hooks-server-context */ \"(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js\");\nconst _staticgenerationbailout = __webpack_require__(/*! ../../client/components/static-generation-bailout */ \"(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _url = __webpack_require__(/*! ../../lib/url */ \"(rsc)/./node_modules/next/dist/lib/url.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst hasPostpone = typeof _react.default.unstable_postpone === \"function\";\nfunction createPrerenderState(isDebugSkeleton) {\n return {\n isDebugSkeleton,\n dynamicAccesses: []\n };\n}\nfunction markCurrentScopeAsDynamic(store, expression) {\n const pathname = (0, _url.getPathname)(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n // inside cache scopes marking a scope as dynamic has no effect because the outer cache scope\n // creates a cache boundary. This is subtly different from reading a dynamic data source which is\n // forbidden inside a cache scope.\n return;\n } else if (store.dynamicShouldError) {\n throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new _hooksservercontext.DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\nfunction trackDynamicDataAccessed(store, expression) {\n const pathname = (0, _url.getPathname)(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n throw new Error(`Route ${pathname} used \"${expression}\" inside a function cached with \"unstable_cache(...)\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \"${expression}\" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);\n } else if (store.dynamicShouldError) {\n throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new _hooksservercontext.DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\nfunction Postpone({ reason, prerenderState, pathname }) {\n postponeWithTracking(prerenderState, reason, pathname);\n}\nfunction trackDynamicFetch(store, expression) {\n if (store.prerenderState) {\n postponeWithTracking(store.prerenderState, expression, store.urlPathname);\n }\n}\nfunction postponeWithTracking(prerenderState, expression, pathname) {\n assertPostpone();\n const reason = `Route ${pathname} needs to bail out of prerendering at this point because it used ${expression}. ` + `React throws this special object to indicate where. It should not be caught by ` + `your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;\n prerenderState.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: prerenderState.isDebugSkeleton ? new Error().stack : undefined,\n expression\n });\n _react.default.unstable_postpone(reason);\n}\nfunction usedDynamicAPIs(prerenderState) {\n return prerenderState.dynamicAccesses.length > 0;\n}\nfunction formatDynamicAPIAccesses(prerenderState) {\n return prerenderState.dynamicAccesses.filter((access)=>typeof access.stack === \"string\" && access.stack.length > 0).map(({ expression, stack })=>{\n stack = stack.split(\"\\n\")// Remove the \"Error: \" prefix from the first line of the stack trace as\n // well as the first 4 lines of the stack trace which is the distance\n // from the user code and the `new Error().stack` call.\n .slice(4).filter((line)=>{\n // Exclude Next.js internals from the stack trace.\n if (line.includes(\"node_modules/next/\")) {\n return false;\n }\n // Exclude anonymous functions from the stack trace.\n if (line.includes(\" (<anonymous>)\")) {\n return false;\n }\n // Exclude Node.js internals from the stack trace.\n if (line.includes(\" (node:\")) {\n return false;\n }\n return true;\n }).join(\"\\n\");\n return `Dynamic API Usage Debug - ${expression}:\\n${stack}`;\n });\n}\nfunction assertPostpone() {\n if (!hasPostpone) {\n throw new Error(`Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js`);\n }\n}\nfunction createPostponedAbortSignal(reason) {\n assertPostpone();\n const controller = new AbortController();\n // We get our hands on a postpone instance by calling postpone and catching the throw\n try {\n _react.default.unstable_postpone(reason);\n } catch (x) {\n controller.abort(x);\n }\n return controller.signal;\n}\n\n//# sourceMappingURL=dynamic-rendering.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2R5bmFtaWMtcmVuZGVyaW5nLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQVNMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELHNEQUFzRCxtQkFBTyxDQUFDLHdHQUFPO0FBQ3JFLDRCQUE0QixtQkFBTyxDQUFDLDhIQUE4QztBQUNsRixpQ0FBaUMsbUJBQU8sQ0FBQyx3SUFBbUQ7QUFDNUYsYUFBYSxtQkFBTyxDQUFDLGdFQUFlO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLDBFQUEwRSxVQUFVLCtFQUErRSxXQUFXO0FBQzlLLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLDRFQUE0RSxVQUFVLGtEQUFrRCxXQUFXO0FBQ25KO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxVQUFVLFFBQVEsV0FBVyxtTEFBbUwsV0FBVztBQUM1UCxNQUFNO0FBQ04sMEVBQTBFLFVBQVUsK0VBQStFLFdBQVc7QUFDOUssTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsNEVBQTRFLFVBQVUsa0RBQWtELFdBQVc7QUFDbko7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtDQUFrQztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsVUFBVSxrRUFBa0UsV0FBVztBQUNuSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtIQUErSCxtQkFBbUI7QUFDbEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCw0Q0FBNEMsV0FBVyxLQUFLLE1BQU07QUFDbEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZHluYW1pYy1yZW5kZXJpbmcuanM/OTI1MSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBmdW5jdGlvbnMgcHJvdmlkZWQgYnkgdGhpcyBtb2R1bGUgYXJlIHVzZWQgdG8gY29tbXVuaWNhdGUgY2VydGFpbiBwcm9wZXJ0aWVzXG4gKiBhYm91dCB0aGUgY3VycmVudGx5IHJ1bm5pbmcgY29kZSBzbyB0aGF0IE5leHQuanMgY2FuIG1ha2UgZGVjaXNpb25zIG9uIGhvdyB0byBoYW5kbGVcbiAqIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBpbiBkaWZmZXJlbnQgcmVuZGVyaW5nIG1vZGVzIHN1Y2ggYXMgcHJlLXJlbmRlcmluZywgcmVzdW1pbmcsIGFuZCBTU1IuXG4gKlxuICogVG9kYXkgTmV4dC5qcyB0cmVhdHMgYWxsIGNvZGUgYXMgcG90ZW50aWFsbHkgc3RhdGljLiBDZXJ0YWluIEFQSXMgbWF5IG9ubHkgbWFrZSBzZW5zZSB3aGVuIGR5bmFtaWNhbGx5IHJlbmRlcmluZy5cbiAqIFRyYWRpdGlvbmFsbHkgdGhpcyBtZWFudCBkZW9wdGluZyB0aGUgZW50aXJlIHJlbmRlciB0byBkeW5hbWljIGhvd2V2ZXIgd2l0aCBQUFIgd2UgY2FuIG5vdyBkZW9wdCBwYXJ0c1xuICogb2YgYSBSZWFjdCB0cmVlIGFzIGR5bmFtaWMgd2hpbGUgc3RpbGwga2VlcGluZyBvdGhlciBwYXJ0cyBzdGF0aWMuIFRoZXJlIGFyZSByZWFsbHkgdHdvIGRpZmZlcmVudCBraW5kcyBvZlxuICogRHluYW1pYyBpbmRpY2F0aW9ucy5cbiAqXG4gKiBUaGUgZmlyc3QgaXMgc2ltcGx5IGFuIGludGVudGlvbiB0byBiZSBkeW5hbWljLiB1bnN0YWJsZV9ub1N0b3JlIGlzIGFuIGV4YW1wbGUgb2YgdGhpcyB3aGVyZVxuICogdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgY29kZSBzaW1wbHkgZGVjbGFyZXMgdGhhdCB0aGUgY3VycmVudCBzY29wZSBpcyBkeW5hbWljIGJ1dCBpZiB5b3UgdXNlIGl0XG4gKiBpbnNpZGUgdW5zdGFibGVfY2FjaGUgaXQgY2FuIHN0aWxsIGJlIGNhY2hlZC4gVGhpcyB0eXBlIG9mIGluZGljYXRpb24gY2FuIGJlIHJlbW92ZWQgaWYgd2UgZXZlclxuICogbWFrZSB0aGUgZGVmYXVsdCBkeW5hbWljIHRvIGJlZ2luIHdpdGggYmVjYXVzZSB0aGUgb25seSB3YXkgeW91IHdvdWxkIGV2ZXIgYmUgc3RhdGljIGlzIGluc2lkZVxuICogYSBjYWNoZSBzY29wZSB3aGljaCB0aGlzIGluZGljYXRpb24gZG9lcyBub3QgYWZmZWN0LlxuICpcbiAqIFRoZSBzZWNvbmQgaXMgYW4gaW5kaWNhdGlvbiB0aGF0IGEgZHluYW1pYyBkYXRhIHNvdXJjZSB3YXMgcmVhZC4gVGhpcyBpcyBhIHN0cm9uZ2VyIGZvcm0gb2YgZHluYW1pY1xuICogYmVjYXVzZSBpdCBtZWFucyB0aGF0IGl0IGlzIGluYXBwcm9wcmlhdGUgdG8gY2FjaGUgdGhpcyBhdCBhbGwuIHVzaW5nIGEgZHluYW1pYyBkYXRhIHNvdXJjZSBpbnNpZGVcbiAqIHVuc3RhYmxlX2NhY2hlIHNob3VsZCBlcnJvci4gSWYgeW91IHdhbnQgdG8gdXNlIHNvbWUgZHluYW1pYyBkYXRhIGluc2lkZSB1bnN0YWJsZV9jYWNoZSB5b3Ugc2hvdWxkXG4gKiByZWFkIHRoYXQgZGF0YSBvdXRzaWRlIHRoZSBjYWNoZSBhbmQgcGFzcyBpdCBpbiBhcyBhbiBhcmd1bWVudCB0byB0aGUgY2FjaGVkIGZ1bmN0aW9uLlxuICovIC8vIE9uY2UgcG9zdHBvbmUgaXMgaW4gc3RhYmxlIHdlIHNob3VsZCBzd2l0Y2ggdG8gaW1wb3J0aW5nIHRoZSBwb3N0cG9uZSBleHBvcnQgZGlyZWN0bHlcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUG9zdHBvbmU6IG51bGwsXG4gICAgY3JlYXRlUG9zdHBvbmVkQWJvcnRTaWduYWw6IG51bGwsXG4gICAgY3JlYXRlUHJlcmVuZGVyU3RhdGU6IG51bGwsXG4gICAgZm9ybWF0RHluYW1pY0FQSUFjY2Vzc2VzOiBudWxsLFxuICAgIG1hcmtDdXJyZW50U2NvcGVBc0R5bmFtaWM6IG51bGwsXG4gICAgdHJhY2tEeW5hbWljRGF0YUFjY2Vzc2VkOiBudWxsLFxuICAgIHRyYWNrRHluYW1pY0ZldGNoOiBudWxsLFxuICAgIHVzZWREeW5hbWljQVBJczogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBQb3N0cG9uZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQb3N0cG9uZTtcbiAgICB9LFxuICAgIGNyZWF0ZVBvc3Rwb25lZEFib3J0U2lnbmFsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVBvc3Rwb25lZEFib3J0U2lnbmFsO1xuICAgIH0sXG4gICAgY3JlYXRlUHJlcmVuZGVyU3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUHJlcmVuZGVyU3RhdGU7XG4gICAgfSxcbiAgICBmb3JtYXREeW5hbWljQVBJQWNjZXNzZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0RHluYW1pY0FQSUFjY2Vzc2VzO1xuICAgIH0sXG4gICAgbWFya0N1cnJlbnRTY29wZUFzRHluYW1pYzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYXJrQ3VycmVudFNjb3BlQXNEeW5hbWljO1xuICAgIH0sXG4gICAgdHJhY2tEeW5hbWljRGF0YUFjY2Vzc2VkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNrRHluYW1pY0RhdGFBY2Nlc3NlZDtcbiAgICB9LFxuICAgIHRyYWNrRHluYW1pY0ZldGNoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNrRHluYW1pY0ZldGNoO1xuICAgIH0sXG4gICAgdXNlZER5bmFtaWNBUElzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZWREeW5hbWljQVBJcztcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfaG9va3NzZXJ2ZXJjb250ZXh0ID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0XCIpO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0ID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXRcIik7XG5jb25zdCBfdXJsID0gcmVxdWlyZShcIi4uLy4uL2xpYi91cmxcIik7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbmNvbnN0IGhhc1Bvc3Rwb25lID0gdHlwZW9mIF9yZWFjdC5kZWZhdWx0LnVuc3RhYmxlX3Bvc3Rwb25lID09PSBcImZ1bmN0aW9uXCI7XG5mdW5jdGlvbiBjcmVhdGVQcmVyZW5kZXJTdGF0ZShpc0RlYnVnU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpc0RlYnVnU2tlbGV0b24sXG4gICAgICAgIGR5bmFtaWNBY2Nlc3NlczogW11cbiAgICB9O1xufVxuZnVuY3Rpb24gbWFya0N1cnJlbnRTY29wZUFzRHluYW1pYyhzdG9yZSwgZXhwcmVzc2lvbikge1xuICAgIGNvbnN0IHBhdGhuYW1lID0gKDAsIF91cmwuZ2V0UGF0aG5hbWUpKHN0b3JlLnVybFBhdGhuYW1lKTtcbiAgICBpZiAoc3RvcmUuaXNVbnN0YWJsZUNhY2hlQ2FsbGJhY2spIHtcbiAgICAgICAgLy8gaW5zaWRlIGNhY2hlIHNjb3BlcyBtYXJraW5nIGEgc2NvcGUgYXMgZHluYW1pYyBoYXMgbm8gZWZmZWN0IGJlY2F1c2UgdGhlIG91dGVyIGNhY2hlIHNjb3BlXG4gICAgICAgIC8vIGNyZWF0ZXMgYSBjYWNoZSBib3VuZGFyeS4gVGhpcyBpcyBzdWJ0bHkgZGlmZmVyZW50IGZyb20gcmVhZGluZyBhIGR5bmFtaWMgZGF0YSBzb3VyY2Ugd2hpY2ggaXNcbiAgICAgICAgLy8gZm9yYmlkZGVuIGluc2lkZSBhIGNhY2hlIHNjb3BlLlxuICAgICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChzdG9yZS5keW5hbWljU2hvdWxkRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dC5TdGF0aWNHZW5CYWlsb3V0RXJyb3IoYFJvdXRlICR7cGF0aG5hbWV9IHdpdGggXFxgZHluYW1pYyA9IFwiZXJyb3JcIlxcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBcXGAke2V4cHJlc3Npb259XFxgLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKTtcbiAgICB9IGVsc2UgaWYgKC8vIFdlIGFyZSBpbiBhIHByZXJlbmRlciAoUFBSIGVuYWJsZWQsIGR1cmluZyBidWlsZClcbiAgICBzdG9yZS5wcmVyZW5kZXJTdGF0ZSkge1xuICAgICAgICAvLyBXZSB0cmFjayB0aGF0IHdlIGhhZCBhIGR5bmFtaWMgc2NvcGUgdGhhdCBwb3N0cG9uZWQuXG4gICAgICAgIC8vIFRoaXMgd2lsbCBiZSB1c2VkIGJ5IHRoZSByZW5kZXJlciB0byBkZWNpZGUgd2hldGhlclxuICAgICAgICAvLyB0aGUgcHJlcmVuZGVyIHJlcXVpcmVzIGEgcmVzdW1lXG4gICAgICAgIHBvc3Rwb25lV2l0aFRyYWNraW5nKHN0b3JlLnByZXJlbmRlclN0YXRlLCBleHByZXNzaW9uLCBwYXRobmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgc3RvcmUucmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgIGlmIChzdG9yZS5pc1N0YXRpY0dlbmVyYXRpb24pIHtcbiAgICAgICAgICAgIC8vIFdlIGFyZW4ndCBwcmVyZW5kZXJpbmcgYnV0IHdlIGFyZSBnZW5lcmF0aW5nIGEgc3RhdGljIHBhZ2UuIFdlIG5lZWQgdG8gYmFpbCBvdXQgb2Ygc3RhdGljIGdlbmVyYXRpb25cbiAgICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBfaG9va3NzZXJ2ZXJjb250ZXh0LkR5bmFtaWNTZXJ2ZXJFcnJvcihgUm91dGUgJHtwYXRobmFtZX0gY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgJHtleHByZXNzaW9ufS4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9keW5hbWljLXNlcnZlci1lcnJvcmApO1xuICAgICAgICAgICAgc3RvcmUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb24gPSBleHByZXNzaW9uO1xuICAgICAgICAgICAgc3RvcmUuZHluYW1pY1VzYWdlU3RhY2sgPSBlcnIuc3RhY2s7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiB0cmFja0R5bmFtaWNEYXRhQWNjZXNzZWQoc3RvcmUsIGV4cHJlc3Npb24pIHtcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfdXJsLmdldFBhdGhuYW1lKShzdG9yZS51cmxQYXRobmFtZSk7XG4gICAgaWYgKHN0b3JlLmlzVW5zdGFibGVDYWNoZUNhbGxiYWNrKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUm91dGUgJHtwYXRobmFtZX0gdXNlZCBcIiR7ZXhwcmVzc2lvbn1cIiBpbnNpZGUgYSBmdW5jdGlvbiBjYWNoZWQgd2l0aCBcInVuc3RhYmxlX2NhY2hlKC4uLilcIi4gQWNjZXNzaW5nIER5bmFtaWMgZGF0YSBzb3VyY2VzIGluc2lkZSBhIGNhY2hlIHNjb3BlIGlzIG5vdCBzdXBwb3J0ZWQuIElmIHlvdSBuZWVkIHRoaXMgZGF0YSBpbnNpZGUgYSBjYWNoZWQgZnVuY3Rpb24gdXNlIFwiJHtleHByZXNzaW9ufVwiIG91dHNpZGUgb2YgdGhlIGNhY2hlZCBmdW5jdGlvbiBhbmQgcGFzcyB0aGUgcmVxdWlyZWQgZHluYW1pYyBkYXRhIGluIGFzIGFuIGFyZ3VtZW50LiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91bnN0YWJsZV9jYWNoZWApO1xuICAgIH0gZWxzZSBpZiAoc3RvcmUuZHluYW1pY1Nob3VsZEVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQuU3RhdGljR2VuQmFpbG91dEVycm9yKGBSb3V0ZSAke3BhdGhuYW1lfSB3aXRoIFxcYGR5bmFtaWMgPSBcImVycm9yXCJcXGAgY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgXFxgJHtleHByZXNzaW9ufVxcYC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nYCk7XG4gICAgfSBlbHNlIGlmICgvLyBXZSBhcmUgaW4gYSBwcmVyZW5kZXIgKFBQUiBlbmFibGVkLCBkdXJpbmcgYnVpbGQpXG4gICAgc3RvcmUucHJlcmVuZGVyU3RhdGUpIHtcbiAgICAgICAgLy8gV2UgdHJhY2sgdGhhdCB3ZSBoYWQgYSBkeW5hbWljIHNjb3BlIHRoYXQgcG9zdHBvbmVkLlxuICAgICAgICAvLyBUaGlzIHdpbGwgYmUgdXNlZCBieSB0aGUgcmVuZGVyZXIgdG8gZGVjaWRlIHdoZXRoZXJcbiAgICAgICAgLy8gdGhlIHByZXJlbmRlciByZXF1aXJlcyBhIHJlc3VtZVxuICAgICAgICBwb3N0cG9uZVdpdGhUcmFja2luZyhzdG9yZS5wcmVyZW5kZXJTdGF0ZSwgZXhwcmVzc2lvbiwgcGF0aG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHN0b3JlLnJldmFsaWRhdGUgPSAwO1xuICAgICAgICBpZiAoc3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSB7XG4gICAgICAgICAgICAvLyBXZSBhcmVuJ3QgcHJlcmVuZGVyaW5nIGJ1dCB3ZSBhcmUgZ2VuZXJhdGluZyBhIHN0YXRpYyBwYWdlLiBXZSBuZWVkIHRvIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uXG4gICAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgX2hvb2tzc2VydmVyY29udGV4dC5EeW5hbWljU2VydmVyRXJyb3IoYFJvdXRlICR7cGF0aG5hbWV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7ZXhwcmVzc2lvbn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKTtcbiAgICAgICAgICAgIHN0b3JlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uID0gZXhwcmVzc2lvbjtcbiAgICAgICAgICAgIHN0b3JlLmR5bmFtaWNVc2FnZVN0YWNrID0gZXJyLnN0YWNrO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gUG9zdHBvbmUoeyByZWFzb24sIHByZXJlbmRlclN0YXRlLCBwYXRobmFtZSB9KSB7XG4gICAgcG9zdHBvbmVXaXRoVHJhY2tpbmcocHJlcmVuZGVyU3RhdGUsIHJlYXNvbiwgcGF0aG5hbWUpO1xufVxuZnVuY3Rpb24gdHJhY2tEeW5hbWljRmV0Y2goc3RvcmUsIGV4cHJlc3Npb24pIHtcbiAgICBpZiAoc3RvcmUucHJlcmVuZGVyU3RhdGUpIHtcbiAgICAgICAgcG9zdHBvbmVXaXRoVHJhY2tpbmcoc3RvcmUucHJlcmVuZGVyU3RhdGUsIGV4cHJlc3Npb24sIHN0b3JlLnVybFBhdGhuYW1lKTtcbiAgICB9XG59XG5mdW5jdGlvbiBwb3N0cG9uZVdpdGhUcmFja2luZyhwcmVyZW5kZXJTdGF0ZSwgZXhwcmVzc2lvbiwgcGF0aG5hbWUpIHtcbiAgICBhc3NlcnRQb3N0cG9uZSgpO1xuICAgIGNvbnN0IHJlYXNvbiA9IGBSb3V0ZSAke3BhdGhuYW1lfSBuZWVkcyB0byBiYWlsIG91dCBvZiBwcmVyZW5kZXJpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IHVzZWQgJHtleHByZXNzaW9ufS4gYCArIGBSZWFjdCB0aHJvd3MgdGhpcyBzcGVjaWFsIG9iamVjdCB0byBpbmRpY2F0ZSB3aGVyZS4gSXQgc2hvdWxkIG5vdCBiZSBjYXVnaHQgYnkgYCArIGB5b3VyIG93biB0cnkvY2F0Y2guIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3Bwci1jYXVnaHQtZXJyb3JgO1xuICAgIHByZXJlbmRlclN0YXRlLmR5bmFtaWNBY2Nlc3Nlcy5wdXNoKHtcbiAgICAgICAgLy8gV2hlbiB3ZSBhcmVuJ3QgZGVidWdnaW5nLCB3ZSBkb24ndCBuZWVkIHRvIGNyZWF0ZSBhbm90aGVyIGVycm9yIGZvciB0aGVcbiAgICAgICAgLy8gc3RhY2sgdHJhY2UuXG4gICAgICAgIHN0YWNrOiBwcmVyZW5kZXJTdGF0ZS5pc0RlYnVnU2tlbGV0b24gPyBuZXcgRXJyb3IoKS5zdGFjayA6IHVuZGVmaW5lZCxcbiAgICAgICAgZXhwcmVzc2lvblxuICAgIH0pO1xuICAgIF9yZWFjdC5kZWZhdWx0LnVuc3RhYmxlX3Bvc3Rwb25lKHJlYXNvbik7XG59XG5mdW5jdGlvbiB1c2VkRHluYW1pY0FQSXMocHJlcmVuZGVyU3RhdGUpIHtcbiAgICByZXR1cm4gcHJlcmVuZGVyU3RhdGUuZHluYW1pY0FjY2Vzc2VzLmxlbmd0aCA+IDA7XG59XG5mdW5jdGlvbiBmb3JtYXREeW5hbWljQVBJQWNjZXNzZXMocHJlcmVuZGVyU3RhdGUpIHtcbiAgICByZXR1cm4gcHJlcmVuZGVyU3RhdGUuZHluYW1pY0FjY2Vzc2VzLmZpbHRlcigoYWNjZXNzKT0+dHlwZW9mIGFjY2Vzcy5zdGFjayA9PT0gXCJzdHJpbmdcIiAmJiBhY2Nlc3Muc3RhY2subGVuZ3RoID4gMCkubWFwKCh7IGV4cHJlc3Npb24sIHN0YWNrIH0pPT57XG4gICAgICAgIHN0YWNrID0gc3RhY2suc3BsaXQoXCJcXG5cIikvLyBSZW1vdmUgdGhlIFwiRXJyb3I6IFwiIHByZWZpeCBmcm9tIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzdGFjayB0cmFjZSBhc1xuICAgICAgICAvLyB3ZWxsIGFzIHRoZSBmaXJzdCA0IGxpbmVzIG9mIHRoZSBzdGFjayB0cmFjZSB3aGljaCBpcyB0aGUgZGlzdGFuY2VcbiAgICAgICAgLy8gZnJvbSB0aGUgdXNlciBjb2RlIGFuZCB0aGUgYG5ldyBFcnJvcigpLnN0YWNrYCBjYWxsLlxuICAgICAgICAuc2xpY2UoNCkuZmlsdGVyKChsaW5lKT0+e1xuICAgICAgICAgICAgLy8gRXhjbHVkZSBOZXh0LmpzIGludGVybmFscyBmcm9tIHRoZSBzdGFjayB0cmFjZS5cbiAgICAgICAgICAgIGlmIChsaW5lLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzL25leHQvXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRXhjbHVkZSBhbm9ueW1vdXMgZnVuY3Rpb25zIGZyb20gdGhlIHN0YWNrIHRyYWNlLlxuICAgICAgICAgICAgaWYgKGxpbmUuaW5jbHVkZXMoXCIgKDxhbm9ueW1vdXM+KVwiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEV4Y2x1ZGUgTm9kZS5qcyBpbnRlcm5hbHMgZnJvbSB0aGUgc3RhY2sgdHJhY2UuXG4gICAgICAgICAgICBpZiAobGluZS5pbmNsdWRlcyhcIiAobm9kZTpcIikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSkuam9pbihcIlxcblwiKTtcbiAgICAgICAgcmV0dXJuIGBEeW5hbWljIEFQSSBVc2FnZSBEZWJ1ZyAtICR7ZXhwcmVzc2lvbn06XFxuJHtzdGFja31gO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gYXNzZXJ0UG9zdHBvbmUoKSB7XG4gICAgaWYgKCFoYXNQb3N0cG9uZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFyaWFudDogUmVhY3QudW5zdGFibGVfcG9zdHBvbmUgaXMgbm90IGRlZmluZWQuIFRoaXMgc3VnZ2VzdHMgdGhlIHdyb25nIHZlcnNpb24gb2YgUmVhY3Qgd2FzIGxvYWRlZC4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzYCk7XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlUG9zdHBvbmVkQWJvcnRTaWduYWwocmVhc29uKSB7XG4gICAgYXNzZXJ0UG9zdHBvbmUoKTtcbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIC8vIFdlIGdldCBvdXIgaGFuZHMgb24gYSBwb3N0cG9uZSBpbnN0YW5jZSBieSBjYWxsaW5nIHBvc3Rwb25lIGFuZCBjYXRjaGluZyB0aGUgdGhyb3dcbiAgICB0cnkge1xuICAgICAgICBfcmVhY3QuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZShyZWFzb24pO1xuICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgY29udHJvbGxlci5hYm9ydCh4KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1keW5hbWljLXJlbmRlcmluZy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/dynamic-rendering.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/app-render/entry-base.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/server/app-render/entry-base.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("// eslint-disable-next-line import/no-extraneous-dependencies\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n AppRouter: function() {\n return _approuter.default;\n },\n ClientPageRoot: function() {\n return _clientpage.ClientPageRoot;\n },\n LayoutRouter: function() {\n return _layoutrouter.default;\n },\n NotFoundBoundary: function() {\n return _notfoundboundary.NotFoundBoundary;\n },\n Postpone: function() {\n return _postpone.Postpone;\n },\n RenderFromTemplateContext: function() {\n return _renderfromtemplatecontext.default;\n },\n actionAsyncStorage: function() {\n return _actionasyncstorageexternal.actionAsyncStorage;\n },\n createDynamicallyTrackedSearchParams: function() {\n return _searchparams.createDynamicallyTrackedSearchParams;\n },\n createUntrackedSearchParams: function() {\n return _searchparams.createUntrackedSearchParams;\n },\n decodeAction: function() {\n return _serveredge.decodeAction;\n },\n decodeFormState: function() {\n return _serveredge.decodeFormState;\n },\n decodeReply: function() {\n return _serveredge.decodeReply;\n },\n patchFetch: function() {\n return patchFetch;\n },\n preconnect: function() {\n return _preloads.preconnect;\n },\n preloadFont: function() {\n return _preloads.preloadFont;\n },\n preloadStyle: function() {\n return _preloads.preloadStyle;\n },\n renderToReadableStream: function() {\n return _serveredge.renderToReadableStream;\n },\n requestAsyncStorage: function() {\n return _requestasyncstorageexternal.requestAsyncStorage;\n },\n serverHooks: function() {\n return _hooksservercontext;\n },\n staticGenerationAsyncStorage: function() {\n return _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage;\n },\n taintObjectReference: function() {\n return _taint.taintObjectReference;\n }\n});\nconst _serveredge = __webpack_require__(/*! react-server-dom-webpack/server.edge */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\");\nconst _approuter = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/app-router */ \"(rsc)/./node_modules/next/dist/client/components/app-router.js\"));\nconst _layoutrouter = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/layout-router */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\"));\nconst _renderfromtemplatecontext = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/render-from-template-context */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\"));\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ../../client/components/static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst _requestasyncstorageexternal = __webpack_require__(/*! ../../client/components/request-async-storage.external */ \"../../client/components/request-async-storage.external\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ../../client/components/action-async-storage.external */ \"../../client/components/action-async-storage.external\");\nconst _clientpage = __webpack_require__(/*! ../../client/components/client-page */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\");\nconst _searchparams = __webpack_require__(/*! ../../client/components/search-params */ \"(rsc)/./node_modules/next/dist/client/components/search-params.js\");\nconst _hooksservercontext = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! ../../client/components/hooks-server-context */ \"(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js\"));\nconst _notfoundboundary = __webpack_require__(/*! ../../client/components/not-found-boundary */ \"(rsc)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nconst _patchfetch = __webpack_require__(/*! ../lib/patch-fetch */ \"(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js\");\n__webpack_require__(/*! ../../client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _preloads = __webpack_require__(/*! ../../server/app-render/rsc/preloads */ \"(rsc)/./node_modules/next/dist/server/app-render/rsc/preloads.js\");\nconst _postpone = __webpack_require__(/*! ../../server/app-render/rsc/postpone */ \"(rsc)/./node_modules/next/dist/server/app-render/rsc/postpone.js\");\nconst _taint = __webpack_require__(/*! ../../server/app-render/rsc/taint */ \"(rsc)/./node_modules/next/dist/server/app-render/rsc/taint.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {\n __proto__: null\n };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n// patchFetch makes use of APIs such as `React.unstable_postpone` which are only available\n// in the experimental channel of React, so export it from here so that it comes from the bundled runtime\nfunction patchFetch() {\n return (0, _patchfetch.patchFetch)({\n serverHooks: _hooksservercontext,\n staticGenerationAsyncStorage: _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage\n });\n}\n\n//# sourceMappingURL=entry-base.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2UuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FzQkw7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxvQkFBb0IsbUJBQU8sQ0FBQyxzS0FBc0M7QUFDbEUsMERBQTBELG1CQUFPLENBQUMsMEdBQW9DO0FBQ3RHLDZEQUE2RCxtQkFBTyxDQUFDLGdIQUF1QztBQUM1RywwRUFBMEUsbUJBQU8sQ0FBQyw4SUFBc0Q7QUFDeEksOENBQThDLG1CQUFPLENBQUMsMElBQWtFO0FBQ3hILHFDQUFxQyxtQkFBTyxDQUFDLHNIQUF3RDtBQUNyRyxvQ0FBb0MsbUJBQU8sQ0FBQyxvSEFBdUQ7QUFDbkcsb0JBQW9CLG1CQUFPLENBQUMsNEdBQXFDO0FBQ2pFLHNCQUFzQixtQkFBTyxDQUFDLGdIQUF1QztBQUNyRSxvRUFBb0UsbUJBQU8sQ0FBQyw4SEFBOEM7QUFDMUgsMEJBQTBCLG1CQUFPLENBQUMsMEhBQTRDO0FBQzlFLG9CQUFvQixtQkFBTyxDQUFDLG9GQUFvQjtBQUNoRCxtQkFBTyxDQUFDLGtIQUF3QztBQUNoRCxrQkFBa0IsbUJBQU8sQ0FBQyw4R0FBc0M7QUFDaEUsa0JBQWtCLG1CQUFPLENBQUMsOEdBQXNDO0FBQ2hFLGVBQWUsbUJBQU8sQ0FBQyx3R0FBbUM7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlLmpzPzU3ZWYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBBcHBSb3V0ZXI6IG51bGwsXG4gICAgQ2xpZW50UGFnZVJvb3Q6IG51bGwsXG4gICAgTGF5b3V0Um91dGVyOiBudWxsLFxuICAgIE5vdEZvdW5kQm91bmRhcnk6IG51bGwsXG4gICAgUG9zdHBvbmU6IG51bGwsXG4gICAgUmVuZGVyRnJvbVRlbXBsYXRlQ29udGV4dDogbnVsbCxcbiAgICBhY3Rpb25Bc3luY1N0b3JhZ2U6IG51bGwsXG4gICAgY3JlYXRlRHluYW1pY2FsbHlUcmFja2VkU2VhcmNoUGFyYW1zOiBudWxsLFxuICAgIGNyZWF0ZVVudHJhY2tlZFNlYXJjaFBhcmFtczogbnVsbCxcbiAgICBkZWNvZGVBY3Rpb246IG51bGwsXG4gICAgZGVjb2RlRm9ybVN0YXRlOiBudWxsLFxuICAgIGRlY29kZVJlcGx5OiBudWxsLFxuICAgIHBhdGNoRmV0Y2g6IG51bGwsXG4gICAgcHJlY29ubmVjdDogbnVsbCxcbiAgICBwcmVsb2FkRm9udDogbnVsbCxcbiAgICBwcmVsb2FkU3R5bGU6IG51bGwsXG4gICAgcmVuZGVyVG9SZWFkYWJsZVN0cmVhbTogbnVsbCxcbiAgICByZXF1ZXN0QXN5bmNTdG9yYWdlOiBudWxsLFxuICAgIHNlcnZlckhvb2tzOiBudWxsLFxuICAgIHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2U6IG51bGwsXG4gICAgdGFpbnRPYmplY3RSZWZlcmVuY2U6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgQXBwUm91dGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9hcHByb3V0ZXIuZGVmYXVsdDtcbiAgICB9LFxuICAgIENsaWVudFBhZ2VSb290OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9jbGllbnRwYWdlLkNsaWVudFBhZ2VSb290O1xuICAgIH0sXG4gICAgTGF5b3V0Um91dGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9sYXlvdXRyb3V0ZXIuZGVmYXVsdDtcbiAgICB9LFxuICAgIE5vdEZvdW5kQm91bmRhcnk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX25vdGZvdW5kYm91bmRhcnkuTm90Rm91bmRCb3VuZGFyeTtcbiAgICB9LFxuICAgIFBvc3Rwb25lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9wb3N0cG9uZS5Qb3N0cG9uZTtcbiAgICB9LFxuICAgIFJlbmRlckZyb21UZW1wbGF0ZUNvbnRleHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3JlbmRlcmZyb210ZW1wbGF0ZWNvbnRleHQuZGVmYXVsdDtcbiAgICB9LFxuICAgIGFjdGlvbkFzeW5jU3RvcmFnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwuYWN0aW9uQXN5bmNTdG9yYWdlO1xuICAgIH0sXG4gICAgY3JlYXRlRHluYW1pY2FsbHlUcmFja2VkU2VhcmNoUGFyYW1zOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZWFyY2hwYXJhbXMuY3JlYXRlRHluYW1pY2FsbHlUcmFja2VkU2VhcmNoUGFyYW1zO1xuICAgIH0sXG4gICAgY3JlYXRlVW50cmFja2VkU2VhcmNoUGFyYW1zOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZWFyY2hwYXJhbXMuY3JlYXRlVW50cmFja2VkU2VhcmNoUGFyYW1zO1xuICAgIH0sXG4gICAgZGVjb2RlQWN0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZXJ2ZXJlZGdlLmRlY29kZUFjdGlvbjtcbiAgICB9LFxuICAgIGRlY29kZUZvcm1TdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc2VydmVyZWRnZS5kZWNvZGVGb3JtU3RhdGU7XG4gICAgfSxcbiAgICBkZWNvZGVSZXBseTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc2VydmVyZWRnZS5kZWNvZGVSZXBseTtcbiAgICB9LFxuICAgIHBhdGNoRmV0Y2g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGF0Y2hGZXRjaDtcbiAgICB9LFxuICAgIHByZWNvbm5lY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3ByZWxvYWRzLnByZWNvbm5lY3Q7XG4gICAgfSxcbiAgICBwcmVsb2FkRm9udDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfcHJlbG9hZHMucHJlbG9hZEZvbnQ7XG4gICAgfSxcbiAgICBwcmVsb2FkU3R5bGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3ByZWxvYWRzLnByZWxvYWRTdHlsZTtcbiAgICB9LFxuICAgIHJlbmRlclRvUmVhZGFibGVTdHJlYW06IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3NlcnZlcmVkZ2UucmVuZGVyVG9SZWFkYWJsZVN0cmVhbTtcbiAgICB9LFxuICAgIHJlcXVlc3RBc3luY1N0b3JhZ2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3JlcXVlc3Rhc3luY3N0b3JhZ2VleHRlcm5hbC5yZXF1ZXN0QXN5bmNTdG9yYWdlO1xuICAgIH0sXG4gICAgc2VydmVySG9va3M6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2hvb2tzc2VydmVyY29udGV4dDtcbiAgICB9LFxuICAgIHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5zdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlO1xuICAgIH0sXG4gICAgdGFpbnRPYmplY3RSZWZlcmVuY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3RhaW50LnRhaW50T2JqZWN0UmVmZXJlbmNlO1xuICAgIH1cbn0pO1xuY29uc3QgX3NlcnZlcmVkZ2UgPSByZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL3NlcnZlci5lZGdlXCIpO1xuY29uc3QgX2FwcHJvdXRlciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyXCIpKTtcbmNvbnN0IF9sYXlvdXRyb3V0ZXIgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlclwiKSk7XG5jb25zdCBfcmVuZGVyZnJvbXRlbXBsYXRlY29udGV4dCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9yZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0XCIpKTtcbmNvbnN0IF9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmNvbnN0IF9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvcmVxdWVzdC1hc3luYy1zdG9yYWdlLmV4dGVybmFsXCIpO1xuY29uc3QgX2FjdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL2FjdGlvbi1hc3luYy1zdG9yYWdlLmV4dGVybmFsXCIpO1xuY29uc3QgX2NsaWVudHBhZ2UgPSByZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvY2xpZW50LXBhZ2VcIik7XG5jb25zdCBfc2VhcmNocGFyYW1zID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL3NlYXJjaC1wYXJhbXNcIik7XG5jb25zdCBfaG9va3NzZXJ2ZXJjb250ZXh0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9ob29rcy1zZXJ2ZXItY29udGV4dFwiKSk7XG5jb25zdCBfbm90Zm91bmRib3VuZGFyeSA9IHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtYm91bmRhcnlcIik7XG5jb25zdCBfcGF0Y2hmZXRjaCA9IHJlcXVpcmUoXCIuLi9saWIvcGF0Y2gtZmV0Y2hcIik7XG5yZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIik7XG5jb25zdCBfcHJlbG9hZHMgPSByZXF1aXJlKFwiLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvcnNjL3ByZWxvYWRzXCIpO1xuY29uc3QgX3Bvc3Rwb25lID0gcmVxdWlyZShcIi4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3JzYy9wb3N0cG9uZVwiKTtcbmNvbnN0IF90YWludCA9IHJlcXVpcmUoXCIuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci9yc2MvdGFpbnRcIik7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbmZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcbiAgICB2YXIgY2FjaGVCYWJlbEludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKG9iaiwgbm9kZUludGVyb3ApIHtcbiAgICBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkge1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG9iaiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICAgICAgfTtcbiAgICB9XG4gICAgdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKTtcbiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuICAgIH1cbiAgICB2YXIgbmV3T2JqID0ge1xuICAgICAgICBfX3Byb3RvX186IG51bGxcbiAgICB9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICBmb3IodmFyIGtleSBpbiBvYmope1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuICAgIGlmIChjYWNoZSkge1xuICAgICAgICBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuICAgIH1cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuLy8gcGF0Y2hGZXRjaCBtYWtlcyB1c2Ugb2YgQVBJcyBzdWNoIGFzIGBSZWFjdC51bnN0YWJsZV9wb3N0cG9uZWAgd2hpY2ggYXJlIG9ubHkgYXZhaWxhYmxlXG4vLyBpbiB0aGUgZXhwZXJpbWVudGFsIGNoYW5uZWwgb2YgUmVhY3QsIHNvIGV4cG9ydCBpdCBmcm9tIGhlcmUgc28gdGhhdCBpdCBjb21lcyBmcm9tIHRoZSBidW5kbGVkIHJ1bnRpbWVcbmZ1bmN0aW9uIHBhdGNoRmV0Y2goKSB7XG4gICAgcmV0dXJuICgwLCBfcGF0Y2hmZXRjaC5wYXRjaEZldGNoKSh7XG4gICAgICAgIHNlcnZlckhvb2tzOiBfaG9va3NzZXJ2ZXJjb250ZXh0LFxuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlOiBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsLnN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2VcbiAgICB9KTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW50cnktYmFzZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/app-render/rsc/postpone.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/server/app-render/rsc/postpone.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/*\n\nFiles in the rsc directory are meant to be packaged as part of the RSC graph using next-app-loader.\n\n*/ // When postpone is available in canary React we can switch to importing it directly\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Postpone\", ({\n enumerable: true,\n get: function() {\n return _dynamicrendering.Postpone;\n }\n}));\nconst _dynamicrendering = __webpack_require__(/*! ../dynamic-rendering */ \"(rsc)/./node_modules/next/dist/server/app-render/dynamic-rendering.js\");\n\n//# sourceMappingURL=postpone.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy9wb3N0cG9uZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTs7QUFFQTtBQUNhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsNENBQTJDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsMEJBQTBCLG1CQUFPLENBQUMsbUdBQXNCOztBQUV4RCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvcnNjL3Bvc3Rwb25lLmpzPzA0OWYiXSwic291cmNlc0NvbnRlbnQiOlsiLypcblxuRmlsZXMgaW4gdGhlIHJzYyBkaXJlY3RvcnkgYXJlIG1lYW50IHRvIGJlIHBhY2thZ2VkIGFzIHBhcnQgb2YgdGhlIFJTQyBncmFwaCB1c2luZyBuZXh0LWFwcC1sb2FkZXIuXG5cbiovIC8vIFdoZW4gcG9zdHBvbmUgaXMgYXZhaWxhYmxlIGluIGNhbmFyeSBSZWFjdCB3ZSBjYW4gc3dpdGNoIHRvIGltcG9ydGluZyBpdCBkaXJlY3RseVxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJQb3N0cG9uZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2R5bmFtaWNyZW5kZXJpbmcuUG9zdHBvbmU7XG4gICAgfVxufSk7XG5jb25zdCBfZHluYW1pY3JlbmRlcmluZyA9IHJlcXVpcmUoXCIuLi9keW5hbWljLXJlbmRlcmluZ1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cG9zdHBvbmUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/rsc/postpone.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/app-render/rsc/preloads.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/server/app-render/rsc/preloads.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/*\n\nFiles in the rsc directory are meant to be packaged as part of the RSC graph using next-app-loader.\n\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n preconnect: function() {\n return preconnect;\n },\n preloadFont: function() {\n return preloadFont;\n },\n preloadStyle: function() {\n return preloadStyle;\n }\n});\nconst _reactdom = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react-dom */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction preloadStyle(href, crossOrigin) {\n const opts = {\n as: \"style\"\n };\n if (typeof crossOrigin === \"string\") {\n opts.crossOrigin = crossOrigin;\n }\n _reactdom.default.preload(href, opts);\n}\nfunction preloadFont(href, type, crossOrigin) {\n const opts = {\n as: \"font\",\n type\n };\n if (typeof crossOrigin === \"string\") {\n opts.crossOrigin = crossOrigin;\n }\n _reactdom.default.preload(href, opts);\n}\nfunction preconnect(href, crossOrigin) {\n _reactdom.default.preconnect(href, typeof crossOrigin === \"string\" ? {\n crossOrigin\n } : undefined);\n}\n\n//# sourceMappingURL=preloads.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy9wcmVsb2Fkcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTs7QUFFQSxHQUFnQjtBQUNoQiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBSUw7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx5REFBeUQsbUJBQU8sQ0FBQyxnSEFBVztBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy9wcmVsb2Fkcy5qcz9kY2YxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5cbkZpbGVzIGluIHRoZSByc2MgZGlyZWN0b3J5IGFyZSBtZWFudCB0byBiZSBwYWNrYWdlZCBhcyBwYXJ0IG9mIHRoZSBSU0MgZ3JhcGggdXNpbmcgbmV4dC1hcHAtbG9hZGVyLlxuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHByZWNvbm5lY3Q6IG51bGwsXG4gICAgcHJlbG9hZEZvbnQ6IG51bGwsXG4gICAgcHJlbG9hZFN0eWxlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHByZWNvbm5lY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcHJlY29ubmVjdDtcbiAgICB9LFxuICAgIHByZWxvYWRGb250OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZWxvYWRGb250O1xuICAgIH0sXG4gICAgcHJlbG9hZFN0eWxlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZWxvYWRTdHlsZTtcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdGRvbSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCJyZWFjdC1kb21cIikpO1xuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7XG4gICAgICAgIGRlZmF1bHQ6IG9ialxuICAgIH07XG59XG5mdW5jdGlvbiBwcmVsb2FkU3R5bGUoaHJlZiwgY3Jvc3NPcmlnaW4pIHtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgICBhczogXCJzdHlsZVwiXG4gICAgfTtcbiAgICBpZiAodHlwZW9mIGNyb3NzT3JpZ2luID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIG9wdHMuY3Jvc3NPcmlnaW4gPSBjcm9zc09yaWdpbjtcbiAgICB9XG4gICAgX3JlYWN0ZG9tLmRlZmF1bHQucHJlbG9hZChocmVmLCBvcHRzKTtcbn1cbmZ1bmN0aW9uIHByZWxvYWRGb250KGhyZWYsIHR5cGUsIGNyb3NzT3JpZ2luKSB7XG4gICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgICAgYXM6IFwiZm9udFwiLFxuICAgICAgICB0eXBlXG4gICAgfTtcbiAgICBpZiAodHlwZW9mIGNyb3NzT3JpZ2luID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIG9wdHMuY3Jvc3NPcmlnaW4gPSBjcm9zc09yaWdpbjtcbiAgICB9XG4gICAgX3JlYWN0ZG9tLmRlZmF1bHQucHJlbG9hZChocmVmLCBvcHRzKTtcbn1cbmZ1bmN0aW9uIHByZWNvbm5lY3QoaHJlZiwgY3Jvc3NPcmlnaW4pIHtcbiAgICBfcmVhY3Rkb20uZGVmYXVsdC5wcmVjb25uZWN0KGhyZWYsIHR5cGVvZiBjcm9zc09yaWdpbiA9PT0gXCJzdHJpbmdcIiA/IHtcbiAgICAgICAgY3Jvc3NPcmlnaW5cbiAgICB9IDogdW5kZWZpbmVkKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJlbG9hZHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/rsc/preloads.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/app-render/rsc/taint.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/server/app-render/rsc/taint.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/*\n\nFiles in the rsc directory are meant to be packaged as part of the RSC graph using next-app-loader.\n\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n taintObjectReference: function() {\n return taintObjectReference;\n },\n taintUniqueValue: function() {\n return taintUniqueValue;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\"));\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {\n __proto__: null\n };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nfunction notImplemented() {\n throw new Error(\"Taint can only be used with the taint flag.\");\n}\nconst taintObjectReference = false ? 0 : notImplemented;\nconst taintUniqueValue = false ? 0 : notImplemented;\n\n//# sourceMappingURL=taint.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy90YWludC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTs7QUFFQSxHQUFnQjtBQUNoQiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsdURBQXVELG1CQUFPLENBQUMsd0dBQU87QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsTUFBcUMsR0FBRyxDQUF3QztBQUM3Ryx5QkFBeUIsTUFBcUMsR0FBRyxDQUFvQzs7QUFFckciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy90YWludC5qcz85YmM1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5cbkZpbGVzIGluIHRoZSByc2MgZGlyZWN0b3J5IGFyZSBtZWFudCB0byBiZSBwYWNrYWdlZCBhcyBwYXJ0IG9mIHRoZSBSU0MgZ3JhcGggdXNpbmcgbmV4dC1hcHAtbG9hZGVyLlxuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHRhaW50T2JqZWN0UmVmZXJlbmNlOiBudWxsLFxuICAgIHRhaW50VW5pcXVlVmFsdWU6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgdGFpbnRPYmplY3RSZWZlcmVuY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGFpbnRPYmplY3RSZWZlcmVuY2U7XG4gICAgfSxcbiAgICB0YWludFVuaXF1ZVZhbHVlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRhaW50VW5pcXVlVmFsdWU7XG4gICAgfVxufSk7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQocmVxdWlyZShcInJlYWN0XCIpKTtcbmZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcbiAgICB2YXIgY2FjaGVCYWJlbEludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKG9iaiwgbm9kZUludGVyb3ApIHtcbiAgICBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkge1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG9iaiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICAgICAgfTtcbiAgICB9XG4gICAgdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKTtcbiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuICAgIH1cbiAgICB2YXIgbmV3T2JqID0ge1xuICAgICAgICBfX3Byb3RvX186IG51bGxcbiAgICB9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICBmb3IodmFyIGtleSBpbiBvYmope1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuICAgIGlmIChjYWNoZSkge1xuICAgICAgICBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuICAgIH1cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuZnVuY3Rpb24gbm90SW1wbGVtZW50ZWQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVGFpbnQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSB0YWludCBmbGFnLlwiKTtcbn1cbmNvbnN0IHRhaW50T2JqZWN0UmVmZXJlbmNlID0gcHJvY2Vzcy5lbnYuX19ORVhUX0VYUEVSSU1FTlRBTF9SRUFDVCA/IF9yZWFjdC5leHBlcmltZW50YWxfdGFpbnRPYmplY3RSZWZlcmVuY2UgOiBub3RJbXBsZW1lbnRlZDtcbmNvbnN0IHRhaW50VW5pcXVlVmFsdWUgPSBwcm9jZXNzLmVudi5fX05FWFRfRVhQRVJJTUVOVEFMX1JFQUNUID8gX3JlYWN0LmV4cGVyaW1lbnRhbF90YWludFVuaXF1ZVZhbHVlIDogbm90SW1wbGVtZW50ZWQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRhaW50LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/rsc/taint.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/future/helpers/interception-routes.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWtCLG1CQUFPLENBQUMsdUhBQTRDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsS0FBSztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUI7QUFDeEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsS0FBSztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlcy5qcz9mNzNlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IG51bGwsXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IG51bGwsXG4gICAgaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM7XG4gICAgfSxcbiAgICBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjtcbiAgICB9LFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX2FwcHBhdGhzID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRoc1wiKTtcbmNvbnN0IElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTID0gW1xuICAgIFwiKC4uKSguLilcIixcbiAgICBcIiguKVwiLFxuICAgIFwiKC4uKVwiLFxuICAgIFwiKC4uLilcIlxuXTtcbmZ1bmN0aW9uIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoKHBhdGgpIHtcbiAgICAvLyBUT0RPLUFQUDogYWRkIG1vcmUgc2VyaW91cyB2YWxpZGF0aW9uXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLmZpbmQoKHNlZ21lbnQpPT5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKSkgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uKHBhdGgpIHtcbiAgICBsZXQgaW50ZXJjZXB0aW5nUm91dGUsIG1hcmtlciwgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2YgcGF0aC5zcGxpdChcIi9cIikpe1xuICAgICAgICBtYXJrZXIgPSBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKTtcbiAgICAgICAgaWYgKG1hcmtlcikge1xuICAgICAgICAgICAgW2ludGVyY2VwdGluZ1JvdXRlLCBpbnRlcmNlcHRlZFJvdXRlXSA9IHBhdGguc3BsaXQobWFya2VyLCAyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghaW50ZXJjZXB0aW5nUm91dGUgfHwgIW1hcmtlciB8fCAhaW50ZXJjZXB0ZWRSb3V0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBNdXN0IGJlIGluIHRoZSBmb3JtYXQgLzxpbnRlcmNlcHRpbmcgcm91dGU+LyguLnwuLi58Li4pKC4uKS88aW50ZXJjZXB0ZWQgcm91dGU+YCk7XG4gICAgfVxuICAgIGludGVyY2VwdGluZ1JvdXRlID0gKDAsIF9hcHBwYXRocy5ub3JtYWxpemVBcHBQYXRoKShpbnRlcmNlcHRpbmdSb3V0ZSkgLy8gbm9ybWFsaXplIHRoZSBwYXRoLCBlLmcuIC8oYmxvZykvZmVlZCAtPiAvZmVlZFxuICAgIDtcbiAgICBzd2l0Y2gobWFya2VyKXtcbiAgICAgICAgY2FzZSBcIiguKVwiOlxuICAgICAgICAgICAgLy8gKC4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCB3aXRoIHNpYmxpbmcgcm91dGVzLCBzbyB3ZSBqdXN0IG5lZWQgdG8gYXBwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZSB0byB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGAvJHtpbnRlcmNlcHRlZFJvdXRlfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZSArIFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggYXQgb25lIGxldmVsIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCBzZWdtZW50IG9mIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGlmIChpbnRlcmNlcHRpbmdSb3V0ZSA9PT0gXCIvXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsLCB1c2UgKC4pIGluc3RlYWQuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5jb25jYXQoaW50ZXJjZXB0ZWRSb3V0ZSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4uKSB3aWxsIG1hdGNoIHRoZSByb3V0ZSBzZWdtZW50IGluIHRoZSByb290IGRpcmVjdG9yeSwgc28gd2UgbmVlZCB0byB1c2UgdGhlIHJvb3QgZGlyZWN0b3J5IHRvIHByZXBlbmQgdGhlIGludGVyY2VwdGVkIHJvdXRlXG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gXCIvXCIgKyBpbnRlcmNlcHRlZFJvdXRlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4pKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IHR3byBsZXZlbHMgdXAsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBsYXN0IHR3byBzZWdtZW50cyBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBjb25zdCBzcGxpdEludGVyY2VwdGluZ1JvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpO1xuICAgICAgICAgICAgaWYgKHNwbGl0SW50ZXJjZXB0aW5nUm91dGUubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCBvciBvbmUgbGV2ZWwgdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZS5zbGljZSgwLCAtMikuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IHVuZXhwZWN0ZWQgbWFya2VyXCIpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBpbnRlcmNlcHRpbmdSb3V0ZSxcbiAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVyY2VwdGlvbi1yb3V0ZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/helpers/interception-routes.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/future/route-kind.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-kind.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n /**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ RouteKind[\"PAGES\"] = \"PAGES\";\n /**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ RouteKind[\"PAGES_API\"] = \"PAGES_API\";\n /**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ RouteKind[\"APP_PAGE\"] = \"APP_PAGE\";\n /**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ RouteKind[\"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {}));\n\n//# sourceMappingURL=route-kind.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDZDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksRUFBRSxHQUFHO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLEVBQUUsR0FBRztBQUNsQztBQUNBLENBQUMsOEJBQThCOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kLmpzP2FiYmEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZUtpbmRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlS2luZDtcbiAgICB9XG59KTtcbnZhciBSb3V0ZUtpbmQ7XG4oZnVuY3Rpb24oUm91dGVLaW5kKSB7XG4gICAgLyoqXG4gICAqIGBQQUdFU2AgcmVwcmVzZW50cyBhbGwgdGhlIFJlYWN0IHBhZ2VzIHRoYXQgYXJlIHVuZGVyIGBwYWdlcy9gLlxuICAgKi8gUm91dGVLaW5kW1wiUEFHRVNcIl0gPSBcIlBBR0VTXCI7XG4gICAgLyoqXG4gICAqIGBQQUdFU19BUElgIHJlcHJlc2VudHMgYWxsIHRoZSBBUEkgcm91dGVzIHVuZGVyIGBwYWdlcy9hcGkvYC5cbiAgICovIFJvdXRlS2luZFtcIlBBR0VTX0FQSVwiXSA9IFwiUEFHRVNfQVBJXCI7XG4gICAgLyoqXG4gICAqIGBBUFBfUEFHRWAgcmVwcmVzZW50cyBhbGwgdGhlIFJlYWN0IHBhZ2VzIHRoYXQgYXJlIHVuZGVyIGBhcHAvYCB3aXRoIHRoZVxuICAgKiBmaWxlbmFtZSBvZiBgcGFnZS57aix0fXN7LHh9YC5cbiAgICovIFJvdXRlS2luZFtcIkFQUF9QQUdFXCJdID0gXCJBUFBfUEFHRVwiO1xuICAgIC8qKlxuICAgKiBgQVBQX1JPVVRFYCByZXByZXNlbnRzIGFsbCB0aGUgQVBJIHJvdXRlcyBhbmQgbWV0YWRhdGEgcm91dGVzIHRoYXQgYXJlIHVuZGVyIGBhcHAvYCB3aXRoIHRoZVxuICAgKiBmaWxlbmFtZSBvZiBgcm91dGUue2osdH1zeyx4fWAuXG4gICAqLyBSb3V0ZUtpbmRbXCJBUFBfUk9VVEVcIl0gPSBcIkFQUF9ST1VURVwiO1xufSkoUm91dGVLaW5kIHx8IChSb3V0ZUtpbmQgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1raW5kLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-kind.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969": -/*!****************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js ***! - \****************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nif (false) {} else {\n if (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/app-page.runtime.dev.js */ \"next/dist/compiled/next-server/app-page.runtime.dev.js\");\n } else {}\n }\n}\n\n//# sourceMappingURL=module.compiled.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWQuanM/ZDk2OSIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLElBQUksS0FBbUMsRUFBRSxFQUV4QyxDQUFDO0FBQ0YsUUFBUSxLQUFxQyxFQUFFLEVBUTFDLENBQUM7QUFDTixZQUFZLElBQXNDO0FBQ2xELFlBQVksNEpBQWtGO0FBQzlGLFVBQVUsS0FBSyxFQUlOO0FBQ1Q7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZC5qcz9kNWE3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5qc1wiKTtcbn0gZWxzZSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9FWFBFUklNRU5UQUxfUkVBQ1QpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS1leHBlcmltZW50YWwucnVudGltZS5kZXYuanNcIik7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvYXBwLXBhZ2UtdHVyYm8tZXhwZXJpbWVudGFsLnJ1bnRpbWUucHJvZC5qc1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS1leHBlcmltZW50YWwucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS5ydW50aW1lLmRldi5qc1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS10dXJiby5ydW50aW1lLnByb2QuanNcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvYXBwLXBhZ2UucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1tb2R1bGUuY29tcGlsZWQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js ***! - \***********************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\").vendored[\"react-rsc\"].ReactDOM;\n\n//# sourceMappingURL=react-dom.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtZG9tLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsK0xBQWdGOztBQUVoRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC1kb20uanM/OWI4NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXJzY1wiXS5SZWFjdERPTTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3QtZG9tLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js ***! - \***********************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\").vendored[\"react-rsc\"].ReactJsxDevRuntime;\n\n//# sourceMappingURL=react-jsx-dev-runtime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IseU1BQTBGOztBQUUxRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuanM/MzdlMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXJzY1wiXS5SZWFjdEpzeERldlJ1bnRpbWU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LWpzeC1kZXYtcnVudGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js": -/*!**************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js ***! - \**************************************************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\").vendored[\"react-rsc\"].ReactServerDOMWebpackServerEdge;\n\n//# sourceMappingURL=react-server-dom-webpack-server-edge.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLXNlcnZlci1lZGdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2Isc05BQXVHOztBQUV2RyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stc2VydmVyLWVkZ2UuanM/NzdmNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXJzY1wiXS5SZWFjdFNlcnZlckRPTVdlYnBhY2tTZXJ2ZXJFZGdlO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stc2VydmVyLWVkZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js ***! - \*******************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\").vendored[\"react-rsc\"].React;\n\n//# sourceMappingURL=react.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw0TEFBNkU7O0FBRTdFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvcnNjL3JlYWN0LmpzPzNlNzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1yc2NcIl0uUmVhY3Q7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/server/lib/patch-fetch.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n addImplicitTags: function() {\n return addImplicitTags;\n },\n patchFetch: function() {\n return patchFetch;\n },\n validateRevalidate: function() {\n return validateRevalidate;\n },\n validateTags: function() {\n return validateTags;\n }\n});\nconst _constants = __webpack_require__(/*! ./trace/constants */ \"(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\");\nconst _tracer = __webpack_require__(/*! ./trace/tracer */ \"(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js\");\nconst _constants1 = __webpack_require__(/*! ../../lib/constants */ \"(rsc)/./node_modules/next/dist/lib/constants.js\");\nconst _log = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! ../../build/output/log */ \"(rsc)/./node_modules/next/dist/build/output/log.js\"));\nconst _dynamicrendering = __webpack_require__(/*! ../app-render/dynamic-rendering */ \"(rsc)/./node_modules/next/dist/server/app-render/dynamic-rendering.js\");\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {\n __proto__: null\n };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nconst isEdgeRuntime = \"nodejs\" === \"edge\";\nfunction isPatchedFetch(fetch) {\n return \"__nextPatched\" in fetch && fetch.__nextPatched === true;\n}\nfunction validateRevalidate(revalidateVal, pathname) {\n try {\n let normalizedRevalidate = undefined;\n if (revalidateVal === false) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal === \"number\" && !isNaN(revalidateVal) && revalidateVal > -1) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal !== \"undefined\") {\n throw new Error(`Invalid revalidate value \"${revalidateVal}\" on \"${pathname}\", must be a non-negative number or \"false\"`);\n }\n return normalizedRevalidate;\n } catch (err) {\n // handle client component error from attempting to check revalidate value\n if (err instanceof Error && err.message.includes(\"Invalid revalidate\")) {\n throw err;\n }\n return undefined;\n }\n}\nfunction validateTags(tags, description) {\n const validTags = [];\n const invalidTags = [];\n for(let i = 0; i < tags.length; i++){\n const tag = tags[i];\n if (typeof tag !== \"string\") {\n invalidTags.push({\n tag,\n reason: \"invalid type, must be a string\"\n });\n } else if (tag.length > _constants1.NEXT_CACHE_TAG_MAX_LENGTH) {\n invalidTags.push({\n tag,\n reason: `exceeded max length of ${_constants1.NEXT_CACHE_TAG_MAX_LENGTH}`\n });\n } else {\n validTags.push(tag);\n }\n if (validTags.length > _constants1.NEXT_CACHE_TAG_MAX_ITEMS) {\n console.warn(`Warning: exceeded max tag count for ${description}, dropped tags:`, tags.slice(i).join(\", \"));\n break;\n }\n }\n if (invalidTags.length > 0) {\n console.warn(`Warning: invalid tags passed to ${description}: `);\n for (const { tag, reason } of invalidTags){\n console.log(`tag: \"${tag}\" ${reason}`);\n }\n }\n return validTags;\n}\nconst getDerivedTags = (pathname)=>{\n const derivedTags = [\n `/layout`\n ];\n // we automatically add the current path segments as tags\n // for revalidatePath handling\n if (pathname.startsWith(\"/\")) {\n const pathnameParts = pathname.split(\"/\");\n for(let i = 1; i < pathnameParts.length + 1; i++){\n let curPathname = pathnameParts.slice(0, i).join(\"/\");\n if (curPathname) {\n // all derived tags other than the page are layout tags\n if (!curPathname.endsWith(\"/page\") && !curPathname.endsWith(\"/route\")) {\n curPathname = `${curPathname}${!curPathname.endsWith(\"/\") ? \"/\" : \"\"}layout`;\n }\n derivedTags.push(curPathname);\n }\n }\n }\n return derivedTags;\n};\nfunction addImplicitTags(staticGenerationStore) {\n const newTags = [];\n const { pagePath, urlPathname } = staticGenerationStore;\n if (!Array.isArray(staticGenerationStore.tags)) {\n staticGenerationStore.tags = [];\n }\n if (pagePath) {\n const derivedTags = getDerivedTags(pagePath);\n for (let tag of derivedTags){\n var _staticGenerationStore_tags;\n tag = `${_constants1.NEXT_CACHE_IMPLICIT_TAG_ID}${tag}`;\n if (!((_staticGenerationStore_tags = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n }\n if (urlPathname) {\n var _staticGenerationStore_tags1;\n const parsedPathname = new URL(urlPathname, \"http://n\").pathname;\n const tag = `${_constants1.NEXT_CACHE_IMPLICIT_TAG_ID}${parsedPathname}`;\n if (!((_staticGenerationStore_tags1 = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags1.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n return newTags;\n}\nfunction trackFetchMetric(staticGenerationStore, ctx) {\n var _staticGenerationStore_requestEndedState;\n if (!staticGenerationStore || ((_staticGenerationStore_requestEndedState = staticGenerationStore.requestEndedState) == null ? void 0 : _staticGenerationStore_requestEndedState.ended) || \"development\" !== \"development\") {\n return;\n }\n staticGenerationStore.fetchMetrics ??= [];\n const dedupeFields = [\n \"url\",\n \"status\",\n \"method\"\n ];\n // don't add metric if one already exists for the fetch\n if (staticGenerationStore.fetchMetrics.some((metric)=>dedupeFields.every((field)=>metric[field] === ctx[field]))) {\n return;\n }\n staticGenerationStore.fetchMetrics.push({\n ...ctx,\n end: Date.now(),\n idx: staticGenerationStore.nextFetchId || 0\n });\n // only store top 10 metrics to avoid storing too many\n if (staticGenerationStore.fetchMetrics.length > 10) {\n // sort slowest first as these should be highlighted\n staticGenerationStore.fetchMetrics.sort((a, b)=>{\n const aDur = a.end - a.start;\n const bDur = b.end - b.start;\n if (aDur < bDur) {\n return 1;\n } else if (aDur > bDur) {\n return -1;\n }\n return 0;\n });\n // now grab top 10\n staticGenerationStore.fetchMetrics = staticGenerationStore.fetchMetrics.slice(0, 10);\n }\n}\nfunction createPatchedFetcher(originFetch, { serverHooks: { DynamicServerError }, staticGenerationAsyncStorage }) {\n // Create the patched fetch function. We don't set the type here, as it's\n // verified as the return value of this function.\n const patched = async (input, init)=>{\n var _init_method, _init_next;\n let url;\n try {\n url = new URL(input instanceof Request ? input.url : input);\n url.username = \"\";\n url.password = \"\";\n } catch {\n // Error caused by malformed URL should be handled by native fetch\n url = undefined;\n }\n const fetchUrl = (url == null ? void 0 : url.href) ?? \"\";\n const fetchStart = Date.now();\n const method = (init == null ? void 0 : (_init_method = init.method) == null ? void 0 : _init_method.toUpperCase()) || \"GET\";\n // Do create a new span trace for internal fetches in the\n // non-verbose mode.\n const isInternal = (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next.internal) === true;\n const hideSpan = process.env.NEXT_OTEL_FETCH_DISABLED === \"1\";\n return (0, _tracer.getTracer)().trace(isInternal ? _constants.NextNodeServerSpan.internalFetch : _constants.AppRenderSpan.fetch, {\n hideSpan,\n kind: _tracer.SpanKind.CLIENT,\n spanName: [\n \"fetch\",\n method,\n fetchUrl\n ].filter(Boolean).join(\" \"),\n attributes: {\n \"http.url\": fetchUrl,\n \"http.method\": method,\n \"net.peer.name\": url == null ? void 0 : url.hostname,\n \"net.peer.port\": (url == null ? void 0 : url.port) || undefined\n }\n }, async ()=>{\n var _getRequestMeta;\n // If this is an internal fetch, we should not do any special treatment.\n if (isInternal) return originFetch(input, init);\n const staticGenerationStore = staticGenerationAsyncStorage.getStore();\n // If the staticGenerationStore is not available, we can't do any\n // special treatment of fetch, therefore fallback to the original\n // fetch implementation.\n if (!staticGenerationStore || staticGenerationStore.isDraftMode) {\n return originFetch(input, init);\n }\n const isRequestInput = input && typeof input === \"object\" && typeof input.method === \"string\";\n const getRequestMeta = (field)=>{\n // If request input is present but init is not, retrieve from input first.\n const value = init == null ? void 0 : init[field];\n return value || (isRequestInput ? input[field] : null);\n };\n let revalidate = undefined;\n const getNextField = (field)=>{\n var _init_next, _init_next1, _input_next;\n return typeof (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next[field]) !== \"undefined\" ? init == null ? void 0 : (_init_next1 = init.next) == null ? void 0 : _init_next1[field] : isRequestInput ? (_input_next = input.next) == null ? void 0 : _input_next[field] : undefined;\n };\n // RequestInit doesn't keep extra fields e.g. next so it's\n // only available if init is used separate\n let curRevalidate = getNextField(\"revalidate\");\n const tags = validateTags(getNextField(\"tags\") || [], `fetch ${input.toString()}`);\n if (Array.isArray(tags)) {\n if (!staticGenerationStore.tags) {\n staticGenerationStore.tags = [];\n }\n for (const tag of tags){\n if (!staticGenerationStore.tags.includes(tag)) {\n staticGenerationStore.tags.push(tag);\n }\n }\n }\n const implicitTags = addImplicitTags(staticGenerationStore);\n const fetchCacheMode = staticGenerationStore.fetchCache;\n const isUsingNoStore = !!staticGenerationStore.isUnstableNoStore;\n let _cache = getRequestMeta(\"cache\");\n let cacheReason = \"\";\n if (typeof _cache === \"string\" && typeof curRevalidate !== \"undefined\") {\n // when providing fetch with a Request input, it'll automatically set a cache value of 'default'\n // we only want to warn if the user is explicitly setting a cache value\n if (!(isRequestInput && _cache === \"default\")) {\n _log.warn(`fetch for ${fetchUrl} on ${staticGenerationStore.urlPathname} specified \"cache: ${_cache}\" and \"revalidate: ${curRevalidate}\", only one should be specified.`);\n }\n _cache = undefined;\n }\n if (_cache === \"force-cache\") {\n curRevalidate = false;\n } else if (_cache === \"no-cache\" || _cache === \"no-store\" || fetchCacheMode === \"force-no-store\" || fetchCacheMode === \"only-no-store\") {\n curRevalidate = 0;\n }\n if (_cache === \"no-cache\" || _cache === \"no-store\") {\n cacheReason = `cache: ${_cache}`;\n }\n revalidate = validateRevalidate(curRevalidate, staticGenerationStore.urlPathname);\n const _headers = getRequestMeta(\"headers\");\n const initHeaders = typeof (_headers == null ? void 0 : _headers.get) === \"function\" ? _headers : new Headers(_headers || {});\n const hasUnCacheableHeader = initHeaders.get(\"authorization\") || initHeaders.get(\"cookie\");\n const isUnCacheableMethod = ![\n \"get\",\n \"head\"\n ].includes(((_getRequestMeta = getRequestMeta(\"method\")) == null ? void 0 : _getRequestMeta.toLowerCase()) || \"get\");\n // if there are authorized headers or a POST method and\n // dynamic data usage was present above the tree we bail\n // e.g. if cookies() is used before an authed/POST fetch\n const autoNoCache = (hasUnCacheableHeader || isUnCacheableMethod) && staticGenerationStore.revalidate === 0;\n switch(fetchCacheMode){\n case \"force-no-store\":\n {\n cacheReason = \"fetchCache = force-no-store\";\n break;\n }\n case \"only-no-store\":\n {\n if (_cache === \"force-cache\" || typeof revalidate !== \"undefined\" && (revalidate === false || revalidate > 0)) {\n throw new Error(`cache: 'force-cache' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-no-store'`);\n }\n cacheReason = \"fetchCache = only-no-store\";\n break;\n }\n case \"only-cache\":\n {\n if (_cache === \"no-store\") {\n throw new Error(`cache: 'no-store' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-cache'`);\n }\n break;\n }\n case \"force-cache\":\n {\n if (typeof curRevalidate === \"undefined\" || curRevalidate === 0) {\n cacheReason = \"fetchCache = force-cache\";\n revalidate = false;\n }\n break;\n }\n default:\n }\n if (typeof revalidate === \"undefined\") {\n if (fetchCacheMode === \"default-cache\") {\n revalidate = false;\n cacheReason = \"fetchCache = default-cache\";\n } else if (autoNoCache) {\n revalidate = 0;\n cacheReason = \"auto no cache\";\n } else if (fetchCacheMode === \"default-no-store\") {\n revalidate = 0;\n cacheReason = \"fetchCache = default-no-store\";\n } else if (isUsingNoStore) {\n revalidate = 0;\n cacheReason = \"noStore call\";\n } else {\n cacheReason = \"auto cache\";\n revalidate = typeof staticGenerationStore.revalidate === \"boolean\" || typeof staticGenerationStore.revalidate === \"undefined\" ? false : staticGenerationStore.revalidate;\n }\n } else if (!cacheReason) {\n cacheReason = `revalidate: ${revalidate}`;\n }\n if (// when force static is configured we don't bail from\n // `revalidate: 0` values\n !(staticGenerationStore.forceStatic && revalidate === 0) && // we don't consider autoNoCache to switch to dynamic during\n // revalidate although if it occurs during build we do\n !autoNoCache && // If the revalidate value isn't currently set or the value is less\n // than the current revalidate value, we should update the revalidate\n // value.\n (typeof staticGenerationStore.revalidate === \"undefined\" || typeof revalidate === \"number\" && (staticGenerationStore.revalidate === false || typeof staticGenerationStore.revalidate === \"number\" && revalidate < staticGenerationStore.revalidate))) {\n // If we were setting the revalidate value to 0, we should try to\n // postpone instead first.\n if (revalidate === 0) {\n (0, _dynamicrendering.trackDynamicFetch)(staticGenerationStore, \"revalidate: 0\");\n }\n staticGenerationStore.revalidate = revalidate;\n }\n const isCacheableRevalidate = typeof revalidate === \"number\" && revalidate > 0 || revalidate === false;\n let cacheKey;\n if (staticGenerationStore.incrementalCache && isCacheableRevalidate) {\n try {\n cacheKey = await staticGenerationStore.incrementalCache.fetchCacheKey(fetchUrl, isRequestInput ? input : init);\n } catch (err) {\n console.error(`Failed to generate cache key for`, input);\n }\n }\n const fetchIdx = staticGenerationStore.nextFetchId ?? 1;\n staticGenerationStore.nextFetchId = fetchIdx + 1;\n const normalizedRevalidate = typeof revalidate !== \"number\" ? _constants1.CACHE_ONE_YEAR : revalidate;\n const doOriginalFetch = async (isStale, cacheReasonOverride)=>{\n const requestInputFields = [\n \"cache\",\n \"credentials\",\n \"headers\",\n \"integrity\",\n \"keepalive\",\n \"method\",\n \"mode\",\n \"redirect\",\n \"referrer\",\n \"referrerPolicy\",\n \"window\",\n \"duplex\",\n // don't pass through signal when revalidating\n ...isStale ? [] : [\n \"signal\"\n ]\n ];\n if (isRequestInput) {\n const reqInput = input;\n const reqOptions = {\n body: reqInput._ogBody || reqInput.body\n };\n for (const field of requestInputFields){\n // @ts-expect-error custom fields\n reqOptions[field] = reqInput[field];\n }\n input = new Request(reqInput.url, reqOptions);\n } else if (init) {\n const { _ogBody, body, signal, ...otherInput } = init;\n init = {\n ...otherInput,\n body: _ogBody || body,\n signal: isStale ? undefined : signal\n };\n }\n // add metadata to init without editing the original\n const clonedInit = {\n ...init,\n next: {\n ...init == null ? void 0 : init.next,\n fetchType: \"origin\",\n fetchIdx\n }\n };\n return originFetch(input, clonedInit).then(async (res)=>{\n if (!isStale) {\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason: cacheReasonOverride || cacheReason,\n cacheStatus: revalidate === 0 || cacheReasonOverride ? \"skip\" : \"miss\",\n status: res.status,\n method: clonedInit.method || \"GET\"\n });\n }\n if (res.status === 200 && staticGenerationStore.incrementalCache && cacheKey && isCacheableRevalidate) {\n const bodyBuffer = Buffer.from(await res.arrayBuffer());\n try {\n await staticGenerationStore.incrementalCache.set(cacheKey, {\n kind: \"FETCH\",\n data: {\n headers: Object.fromEntries(res.headers.entries()),\n body: bodyBuffer.toString(\"base64\"),\n status: res.status,\n url: res.url\n },\n revalidate: normalizedRevalidate\n }, {\n fetchCache: true,\n revalidate,\n fetchUrl,\n fetchIdx,\n tags\n });\n } catch (err) {\n console.warn(`Failed to set fetch cache`, input, err);\n }\n const response = new Response(bodyBuffer, {\n headers: new Headers(res.headers),\n status: res.status\n });\n Object.defineProperty(response, \"url\", {\n value: res.url\n });\n return response;\n }\n return res;\n });\n };\n let handleUnlock = ()=>Promise.resolve();\n let cacheReasonOverride;\n let isForegroundRevalidate = false;\n if (cacheKey && staticGenerationStore.incrementalCache) {\n handleUnlock = await staticGenerationStore.incrementalCache.lock(cacheKey);\n const entry = staticGenerationStore.isOnDemandRevalidate ? null : await staticGenerationStore.incrementalCache.get(cacheKey, {\n kindHint: \"fetch\",\n revalidate,\n fetchUrl,\n fetchIdx,\n tags,\n softTags: implicitTags\n });\n if (entry) {\n await handleUnlock();\n } else {\n // in dev, incremental cache response will be null in case the browser adds `cache-control: no-cache` in the request headers\n cacheReasonOverride = \"cache-control: no-cache (hard refresh)\";\n }\n if ((entry == null ? void 0 : entry.value) && entry.value.kind === \"FETCH\") {\n // when stale and is revalidating we wait for fresh data\n // so the revalidated entry has the updated data\n if (staticGenerationStore.isRevalidate && entry.isStale) {\n isForegroundRevalidate = true;\n } else {\n if (entry.isStale) {\n staticGenerationStore.pendingRevalidates ??= {};\n if (!staticGenerationStore.pendingRevalidates[cacheKey]) {\n staticGenerationStore.pendingRevalidates[cacheKey] = doOriginalFetch(true).catch(console.error).finally(()=>{\n staticGenerationStore.pendingRevalidates ??= {};\n delete staticGenerationStore.pendingRevalidates[cacheKey || \"\"];\n });\n }\n }\n const resData = entry.value.data;\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason,\n cacheStatus: \"hit\",\n status: resData.status || 200,\n method: (init == null ? void 0 : init.method) || \"GET\"\n });\n const response = new Response(Buffer.from(resData.body, \"base64\"), {\n headers: resData.headers,\n status: resData.status\n });\n Object.defineProperty(response, \"url\", {\n value: entry.value.data.url\n });\n return response;\n }\n }\n }\n if (staticGenerationStore.isStaticGeneration && init && typeof init === \"object\") {\n const { cache } = init;\n // Delete `cache` property as Cloudflare Workers will throw an error\n if (isEdgeRuntime) delete init.cache;\n if (!staticGenerationStore.forceStatic && cache === \"no-store\") {\n const dynamicUsageReason = `no-store fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n (0, _dynamicrendering.trackDynamicFetch)(staticGenerationStore, dynamicUsageReason);\n // PPR is not enabled, or React postpone is not available, we\n // should set the revalidate to 0.\n staticGenerationStore.revalidate = 0;\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n throw err;\n }\n const hasNextConfig = \"next\" in init;\n const { next = {} } = init;\n if (typeof next.revalidate === \"number\" && (typeof staticGenerationStore.revalidate === \"undefined\" || typeof staticGenerationStore.revalidate === \"number\" && next.revalidate < staticGenerationStore.revalidate)) {\n if (!staticGenerationStore.forceDynamic && !staticGenerationStore.forceStatic && next.revalidate === 0) {\n const dynamicUsageReason = `revalidate: 0 fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n (0, _dynamicrendering.trackDynamicFetch)(staticGenerationStore, dynamicUsageReason);\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n throw err;\n }\n if (!staticGenerationStore.forceStatic || next.revalidate !== 0) {\n staticGenerationStore.revalidate = next.revalidate;\n }\n }\n if (hasNextConfig) delete init.next;\n }\n // if we are revalidating the whole page via time or on-demand and\n // the fetch cache entry is stale we should still de-dupe the\n // origin hit if it's a cache-able entry\n if (cacheKey && isForegroundRevalidate) {\n staticGenerationStore.pendingRevalidates ??= {};\n const pendingRevalidate = staticGenerationStore.pendingRevalidates[cacheKey];\n if (pendingRevalidate) {\n const res = await pendingRevalidate;\n return res.clone();\n }\n return staticGenerationStore.pendingRevalidates[cacheKey] = doOriginalFetch(true, cacheReasonOverride).finally(async ()=>{\n staticGenerationStore.pendingRevalidates ??= {};\n delete staticGenerationStore.pendingRevalidates[cacheKey || \"\"];\n await handleUnlock();\n });\n } else {\n return doOriginalFetch(false, cacheReasonOverride).finally(handleUnlock);\n }\n });\n };\n // Attach the necessary properties to the patched fetch function.\n patched.__nextPatched = true;\n patched.__nextGetStaticStore = ()=>staticGenerationAsyncStorage;\n patched._nextOriginalFetch = originFetch;\n return patched;\n}\nfunction patchFetch(options) {\n // If we've already patched fetch, we should not patch it again.\n if (isPatchedFetch(globalThis.fetch)) return;\n // Grab the original fetch function. We'll attach this so we can use it in\n // the patched fetch function.\n const original = globalThis.fetch;\n // Set the global fetch to the patched fetch.\n globalThis.fetch = createPatchedFetcher(original, options);\n}\n\n//# sourceMappingURL=patch-fetch.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvcGF0Y2gtZmV0Y2guanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBS0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELG1CQUFtQixtQkFBTyxDQUFDLHVGQUFtQjtBQUM5QyxnQkFBZ0IsbUJBQU8sQ0FBQyxpRkFBZ0I7QUFDeEMsb0JBQW9CLG1CQUFPLENBQUMsNEVBQXFCO0FBQ2pELHFEQUFxRCxtQkFBTyxDQUFDLGtGQUF3QjtBQUNyRiwwQkFBMEIsbUJBQU8sQ0FBQyw4R0FBaUM7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsUUFBd0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVix5REFBeUQsY0FBYyxRQUFRLFNBQVM7QUFDeEY7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixpQkFBaUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixVQUFVO0FBQ1Y7QUFDQTtBQUNB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eUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixRQUFRO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBLGlFQUFpRSxNQUFNLEVBQUUsd0NBQXdDLGtDQUFrQyxPQUFPO0FBQzFKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsWUFBWTtBQUNwQztBQUNBO0FBQ0EsMEVBQTBFLE1BQU0sRUFBRSx3Q0FBd0Msa0NBQWtDLE9BQU87QUFDbks7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGNBQWM7QUFDZDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvbGliL3BhdGNoLWZldGNoLmpzP2IwYTgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBhZGRJbXBsaWNpdFRhZ3M6IG51bGwsXG4gICAgcGF0Y2hGZXRjaDogbnVsbCxcbiAgICB2YWxpZGF0ZVJldmFsaWRhdGU6IG51bGwsXG4gICAgdmFsaWRhdGVUYWdzOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGFkZEltcGxpY2l0VGFnczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhZGRJbXBsaWNpdFRhZ3M7XG4gICAgfSxcbiAgICBwYXRjaEZldGNoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBhdGNoRmV0Y2g7XG4gICAgfSxcbiAgICB2YWxpZGF0ZVJldmFsaWRhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVSZXZhbGlkYXRlO1xuICAgIH0sXG4gICAgdmFsaWRhdGVUYWdzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlVGFncztcbiAgICB9XG59KTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi90cmFjZS9jb25zdGFudHNcIik7XG5jb25zdCBfdHJhY2VyID0gcmVxdWlyZShcIi4vdHJhY2UvdHJhY2VyXCIpO1xuY29uc3QgX2NvbnN0YW50czEgPSByZXF1aXJlKFwiLi4vLi4vbGliL2NvbnN0YW50c1wiKTtcbmNvbnN0IF9sb2cgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQocmVxdWlyZShcIi4uLy4uL2J1aWxkL291dHB1dC9sb2dcIikpO1xuY29uc3QgX2R5bmFtaWNyZW5kZXJpbmcgPSByZXF1aXJlKFwiLi4vYXBwLXJlbmRlci9keW5hbWljLXJlbmRlcmluZ1wiKTtcbmZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcbiAgICB2YXIgY2FjaGVCYWJlbEludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKG9iaiwgbm9kZUludGVyb3ApIHtcbiAgICBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkge1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG9iaiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICAgICAgfTtcbiAgICB9XG4gICAgdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKTtcbiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuICAgIH1cbiAgICB2YXIgbmV3T2JqID0ge1xuICAgICAgICBfX3Byb3RvX186IG51bGxcbiAgICB9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICBmb3IodmFyIGtleSBpbiBvYmope1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuICAgIGlmIChjYWNoZSkge1xuICAgICAgICBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuICAgIH1cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuY29uc3QgaXNFZGdlUnVudGltZSA9IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCI7XG5mdW5jdGlvbiBpc1BhdGNoZWRGZXRjaChmZXRjaCkge1xuICAgIHJldHVybiBcIl9fbmV4dFBhdGNoZWRcIiBpbiBmZXRjaCAmJiBmZXRjaC5fX25leHRQYXRjaGVkID09PSB0cnVlO1xufVxuZnVuY3Rpb24gdmFsaWRhdGVSZXZhbGlkYXRlKHJldmFsaWRhdGVWYWwsIHBhdGhuYW1lKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgbGV0IG5vcm1hbGl6ZWRSZXZhbGlkYXRlID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAocmV2YWxpZGF0ZVZhbCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIG5vcm1hbGl6ZWRSZXZhbGlkYXRlID0gcmV2YWxpZGF0ZVZhbDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmV2YWxpZGF0ZVZhbCA9PT0gXCJudW1iZXJcIiAmJiAhaXNOYU4ocmV2YWxpZGF0ZVZhbCkgJiYgcmV2YWxpZGF0ZVZhbCA+IC0xKSB7XG4gICAgICAgICAgICBub3JtYWxpemVkUmV2YWxpZGF0ZSA9IHJldmFsaWRhdGVWYWw7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHJldmFsaWRhdGVWYWwgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXZhbGlkYXRlIHZhbHVlIFwiJHtyZXZhbGlkYXRlVmFsfVwiIG9uIFwiJHtwYXRobmFtZX1cIiwgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIgb3IgXCJmYWxzZVwiYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRSZXZhbGlkYXRlO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAvLyBoYW5kbGUgY2xpZW50IGNvbXBvbmVudCBlcnJvciBmcm9tIGF0dGVtcHRpbmcgdG8gY2hlY2sgcmV2YWxpZGF0ZSB2YWx1ZVxuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoXCJJbnZhbGlkIHJldmFsaWRhdGVcIikpIHtcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHZhbGlkYXRlVGFncyh0YWdzLCBkZXNjcmlwdGlvbikge1xuICAgIGNvbnN0IHZhbGlkVGFncyA9IFtdO1xuICAgIGNvbnN0IGludmFsaWRUYWdzID0gW107XG4gICAgZm9yKGxldCBpID0gMDsgaSA8IHRhZ3MubGVuZ3RoOyBpKyspe1xuICAgICAgICBjb25zdCB0YWcgPSB0YWdzW2ldO1xuICAgICAgICBpZiAodHlwZW9mIHRhZyAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgaW52YWxpZFRhZ3MucHVzaCh7XG4gICAgICAgICAgICAgICAgdGFnLFxuICAgICAgICAgICAgICAgIHJlYXNvbjogXCJpbnZhbGlkIHR5cGUsIG11c3QgYmUgYSBzdHJpbmdcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGFnLmxlbmd0aCA+IF9jb25zdGFudHMxLk5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEgpIHtcbiAgICAgICAgICAgIGludmFsaWRUYWdzLnB1c2goe1xuICAgICAgICAgICAgICAgIHRhZyxcbiAgICAgICAgICAgICAgICByZWFzb246IGBleGNlZWRlZCBtYXggbGVuZ3RoIG9mICR7X2NvbnN0YW50czEuTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSH1gXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbGlkVGFncy5wdXNoKHRhZyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbGlkVGFncy5sZW5ndGggPiBfY29uc3RhbnRzMS5ORVhUX0NBQ0hFX1RBR19NQVhfSVRFTVMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgV2FybmluZzogZXhjZWVkZWQgbWF4IHRhZyBjb3VudCBmb3IgJHtkZXNjcmlwdGlvbn0sIGRyb3BwZWQgdGFnczpgLCB0YWdzLnNsaWNlKGkpLmpvaW4oXCIsIFwiKSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoaW52YWxpZFRhZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6IGludmFsaWQgdGFncyBwYXNzZWQgdG8gJHtkZXNjcmlwdGlvbn06IGApO1xuICAgICAgICBmb3IgKGNvbnN0IHsgdGFnLCByZWFzb24gfSBvZiBpbnZhbGlkVGFncyl7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgdGFnOiBcIiR7dGFnfVwiICR7cmVhc29ufWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YWxpZFRhZ3M7XG59XG5jb25zdCBnZXREZXJpdmVkVGFncyA9IChwYXRobmFtZSk9PntcbiAgICBjb25zdCBkZXJpdmVkVGFncyA9IFtcbiAgICAgICAgYC9sYXlvdXRgXG4gICAgXTtcbiAgICAvLyB3ZSBhdXRvbWF0aWNhbGx5IGFkZCB0aGUgY3VycmVudCBwYXRoIHNlZ21lbnRzIGFzIHRhZ3NcbiAgICAvLyBmb3IgcmV2YWxpZGF0ZVBhdGggaGFuZGxpbmdcbiAgICBpZiAocGF0aG5hbWUuc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgY29uc3QgcGF0aG5hbWVQYXJ0cyA9IHBhdGhuYW1lLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgZm9yKGxldCBpID0gMTsgaSA8IHBhdGhuYW1lUGFydHMubGVuZ3RoICsgMTsgaSsrKXtcbiAgICAgICAgICAgIGxldCBjdXJQYXRobmFtZSA9IHBhdGhuYW1lUGFydHMuc2xpY2UoMCwgaSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBpZiAoY3VyUGF0aG5hbWUpIHtcbiAgICAgICAgICAgICAgICAvLyBhbGwgZGVyaXZlZCB0YWdzIG90aGVyIHRoYW4gdGhlIHBhZ2UgYXJlIGxheW91dCB0YWdzXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJQYXRobmFtZS5lbmRzV2l0aChcIi9wYWdlXCIpICYmICFjdXJQYXRobmFtZS5lbmRzV2l0aChcIi9yb3V0ZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICBjdXJQYXRobmFtZSA9IGAke2N1clBhdGhuYW1lfSR7IWN1clBhdGhuYW1lLmVuZHNXaXRoKFwiL1wiKSA/IFwiL1wiIDogXCJcIn1sYXlvdXRgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZXJpdmVkVGFncy5wdXNoKGN1clBhdGhuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGVyaXZlZFRhZ3M7XG59O1xuZnVuY3Rpb24gYWRkSW1wbGljaXRUYWdzKHN0YXRpY0dlbmVyYXRpb25TdG9yZSkge1xuICAgIGNvbnN0IG5ld1RhZ3MgPSBbXTtcbiAgICBjb25zdCB7IHBhZ2VQYXRoLCB1cmxQYXRobmFtZSB9ID0gc3RhdGljR2VuZXJhdGlvblN0b3JlO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncykpIHtcbiAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MgPSBbXTtcbiAgICB9XG4gICAgaWYgKHBhZ2VQYXRoKSB7XG4gICAgICAgIGNvbnN0IGRlcml2ZWRUYWdzID0gZ2V0RGVyaXZlZFRhZ3MocGFnZVBhdGgpO1xuICAgICAgICBmb3IgKGxldCB0YWcgb2YgZGVyaXZlZFRhZ3Mpe1xuICAgICAgICAgICAgdmFyIF9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFncztcbiAgICAgICAgICAgIHRhZyA9IGAke19jb25zdGFudHMxLk5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEfSR7dGFnfWA7XG4gICAgICAgICAgICBpZiAoISgoX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MpID09IG51bGwgPyB2b2lkIDAgOiBfc3RhdGljR2VuZXJhdGlvblN0b3JlX3RhZ3MuaW5jbHVkZXModGFnKSkpIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncy5wdXNoKHRhZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdUYWdzLnB1c2godGFnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodXJsUGF0aG5hbWUpIHtcbiAgICAgICAgdmFyIF9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFnczE7XG4gICAgICAgIGNvbnN0IHBhcnNlZFBhdGhuYW1lID0gbmV3IFVSTCh1cmxQYXRobmFtZSwgXCJodHRwOi8vblwiKS5wYXRobmFtZTtcbiAgICAgICAgY29uc3QgdGFnID0gYCR7X2NvbnN0YW50czEuTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUR9JHtwYXJzZWRQYXRobmFtZX1gO1xuICAgICAgICBpZiAoISgoX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzMSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzKSA9PSBudWxsID8gdm9pZCAwIDogX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzMS5pbmNsdWRlcyh0YWcpKSkge1xuICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MucHVzaCh0YWcpO1xuICAgICAgICB9XG4gICAgICAgIG5ld1RhZ3MucHVzaCh0YWcpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3VGFncztcbn1cbmZ1bmN0aW9uIHRyYWNrRmV0Y2hNZXRyaWMoc3RhdGljR2VuZXJhdGlvblN0b3JlLCBjdHgpIHtcbiAgICB2YXIgX3N0YXRpY0dlbmVyYXRpb25TdG9yZV9yZXF1ZXN0RW5kZWRTdGF0ZTtcbiAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZSB8fCAoKF9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfcmVxdWVzdEVuZGVkU3RhdGUgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmVxdWVzdEVuZGVkU3RhdGUpID09IG51bGwgPyB2b2lkIDAgOiBfc3RhdGljR2VuZXJhdGlvblN0b3JlX3JlcXVlc3RFbmRlZFN0YXRlLmVuZGVkKSB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoTWV0cmljcyA/Pz0gW107XG4gICAgY29uc3QgZGVkdXBlRmllbGRzID0gW1xuICAgICAgICBcInVybFwiLFxuICAgICAgICBcInN0YXR1c1wiLFxuICAgICAgICBcIm1ldGhvZFwiXG4gICAgXTtcbiAgICAvLyBkb24ndCBhZGQgbWV0cmljIGlmIG9uZSBhbHJlYWR5IGV4aXN0cyBmb3IgdGhlIGZldGNoXG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaE1ldHJpY3Muc29tZSgobWV0cmljKT0+ZGVkdXBlRmllbGRzLmV2ZXJ5KChmaWVsZCk9Pm1ldHJpY1tmaWVsZF0gPT09IGN0eFtmaWVsZF0pKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaE1ldHJpY3MucHVzaCh7XG4gICAgICAgIC4uLmN0eCxcbiAgICAgICAgZW5kOiBEYXRlLm5vdygpLFxuICAgICAgICBpZHg6IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5uZXh0RmV0Y2hJZCB8fCAwXG4gICAgfSk7XG4gICAgLy8gb25seSBzdG9yZSB0b3AgMTAgbWV0cmljcyB0byBhdm9pZCBzdG9yaW5nIHRvbyBtYW55XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaE1ldHJpY3MubGVuZ3RoID4gMTApIHtcbiAgICAgICAgLy8gc29ydCBzbG93ZXN0IGZpcnN0IGFzIHRoZXNlIHNob3VsZCBiZSBoaWdobGlnaHRlZFxuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hNZXRyaWNzLnNvcnQoKGEsIGIpPT57XG4gICAgICAgICAgICBjb25zdCBhRHVyID0gYS5lbmQgLSBhLnN0YXJ0O1xuICAgICAgICAgICAgY29uc3QgYkR1ciA9IGIuZW5kIC0gYi5zdGFydDtcbiAgICAgICAgICAgIGlmIChhRHVyIDwgYkR1cikge1xuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChhRHVyID4gYkR1cikge1xuICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gbm93IGdyYWIgdG9wIDEwXG4gICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaE1ldHJpY3MgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hNZXRyaWNzLnNsaWNlKDAsIDEwKTtcbiAgICB9XG59XG5mdW5jdGlvbiBjcmVhdGVQYXRjaGVkRmV0Y2hlcihvcmlnaW5GZXRjaCwgeyBzZXJ2ZXJIb29rczogeyBEeW5hbWljU2VydmVyRXJyb3IgfSwgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSB9KSB7XG4gICAgLy8gQ3JlYXRlIHRoZSBwYXRjaGVkIGZldGNoIGZ1bmN0aW9uLiBXZSBkb24ndCBzZXQgdGhlIHR5cGUgaGVyZSwgYXMgaXQnc1xuICAgIC8vIHZlcmlmaWVkIGFzIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhpcyBmdW5jdGlvbi5cbiAgICBjb25zdCBwYXRjaGVkID0gYXN5bmMgKGlucHV0LCBpbml0KT0+e1xuICAgICAgICB2YXIgX2luaXRfbWV0aG9kLCBfaW5pdF9uZXh0O1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChpbnB1dCBpbnN0YW5jZW9mIFJlcXVlc3QgPyBpbnB1dC51cmwgOiBpbnB1dCk7XG4gICAgICAgICAgICB1cmwudXNlcm5hbWUgPSBcIlwiO1xuICAgICAgICAgICAgdXJsLnBhc3N3b3JkID0gXCJcIjtcbiAgICAgICAgfSBjYXRjaCAge1xuICAgICAgICAgICAgLy8gRXJyb3IgY2F1c2VkIGJ5IG1hbGZvcm1lZCBVUkwgc2hvdWxkIGJlIGhhbmRsZWQgYnkgbmF0aXZlIGZldGNoXG4gICAgICAgICAgICB1cmwgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmV0Y2hVcmwgPSAodXJsID09IG51bGwgPyB2b2lkIDAgOiB1cmwuaHJlZikgPz8gXCJcIjtcbiAgICAgICAgY29uc3QgZmV0Y2hTdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IChpbml0ID09IG51bGwgPyB2b2lkIDAgOiAoX2luaXRfbWV0aG9kID0gaW5pdC5tZXRob2QpID09IG51bGwgPyB2b2lkIDAgOiBfaW5pdF9tZXRob2QudG9VcHBlckNhc2UoKSkgfHwgXCJHRVRcIjtcbiAgICAgICAgLy8gRG8gY3JlYXRlIGEgbmV3IHNwYW4gdHJhY2UgZm9yIGludGVybmFsIGZldGNoZXMgaW4gdGhlXG4gICAgICAgIC8vIG5vbi12ZXJib3NlIG1vZGUuXG4gICAgICAgIGNvbnN0IGlzSW50ZXJuYWwgPSAoaW5pdCA9PSBudWxsID8gdm9pZCAwIDogKF9pbml0X25leHQgPSBpbml0Lm5leHQpID09IG51bGwgPyB2b2lkIDAgOiBfaW5pdF9uZXh0LmludGVybmFsKSA9PT0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaGlkZVNwYW4gPSBwcm9jZXNzLmVudi5ORVhUX09URUxfRkVUQ0hfRElTQUJMRUQgPT09IFwiMVwiO1xuICAgICAgICByZXR1cm4gKDAsIF90cmFjZXIuZ2V0VHJhY2VyKSgpLnRyYWNlKGlzSW50ZXJuYWwgPyBfY29uc3RhbnRzLk5leHROb2RlU2VydmVyU3Bhbi5pbnRlcm5hbEZldGNoIDogX2NvbnN0YW50cy5BcHBSZW5kZXJTcGFuLmZldGNoLCB7XG4gICAgICAgICAgICBoaWRlU3BhbixcbiAgICAgICAgICAgIGtpbmQ6IF90cmFjZXIuU3BhbktpbmQuQ0xJRU5ULFxuICAgICAgICAgICAgc3Bhbk5hbWU6IFtcbiAgICAgICAgICAgICAgICBcImZldGNoXCIsXG4gICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgICAgIGZldGNoVXJsXG4gICAgICAgICAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKFwiIFwiKSxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICBcImh0dHAudXJsXCI6IGZldGNoVXJsLFxuICAgICAgICAgICAgICAgIFwiaHR0cC5tZXRob2RcIjogbWV0aG9kLFxuICAgICAgICAgICAgICAgIFwibmV0LnBlZXIubmFtZVwiOiB1cmwgPT0gbnVsbCA/IHZvaWQgMCA6IHVybC5ob3N0bmFtZSxcbiAgICAgICAgICAgICAgICBcIm5ldC5wZWVyLnBvcnRcIjogKHVybCA9PSBudWxsID8gdm9pZCAwIDogdXJsLnBvcnQpIHx8IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICB9LCBhc3luYyAoKT0+e1xuICAgICAgICAgICAgdmFyIF9nZXRSZXF1ZXN0TWV0YTtcbiAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYW4gaW50ZXJuYWwgZmV0Y2gsIHdlIHNob3VsZCBub3QgZG8gYW55IHNwZWNpYWwgdHJlYXRtZW50LlxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWwpIHJldHVybiBvcmlnaW5GZXRjaChpbnB1dCwgaW5pdCk7XG4gICAgICAgICAgICBjb25zdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUgPSBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgICAgICAgICAvLyBJZiB0aGUgc3RhdGljR2VuZXJhdGlvblN0b3JlIGlzIG5vdCBhdmFpbGFibGUsIHdlIGNhbid0IGRvIGFueVxuICAgICAgICAgICAgLy8gc3BlY2lhbCB0cmVhdG1lbnQgb2YgZmV0Y2gsIHRoZXJlZm9yZSBmYWxsYmFjayB0byB0aGUgb3JpZ2luYWxcbiAgICAgICAgICAgIC8vIGZldGNoIGltcGxlbWVudGF0aW9uLlxuICAgICAgICAgICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUgfHwgc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzRHJhZnRNb2RlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbkZldGNoKGlucHV0LCBpbml0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGlzUmVxdWVzdElucHV0ID0gaW5wdXQgJiYgdHlwZW9mIGlucHV0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBpbnB1dC5tZXRob2QgPT09IFwic3RyaW5nXCI7XG4gICAgICAgICAgICBjb25zdCBnZXRSZXF1ZXN0TWV0YSA9IChmaWVsZCk9PntcbiAgICAgICAgICAgICAgICAvLyBJZiByZXF1ZXN0IGlucHV0IGlzIHByZXNlbnQgYnV0IGluaXQgaXMgbm90LCByZXRyaWV2ZSBmcm9tIGlucHV0IGZpcnN0LlxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaW5pdCA9PSBudWxsID8gdm9pZCAwIDogaW5pdFtmaWVsZF07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlIHx8IChpc1JlcXVlc3RJbnB1dCA/IGlucHV0W2ZpZWxkXSA6IG51bGwpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGxldCByZXZhbGlkYXRlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgZ2V0TmV4dEZpZWxkID0gKGZpZWxkKT0+e1xuICAgICAgICAgICAgICAgIHZhciBfaW5pdF9uZXh0LCBfaW5pdF9uZXh0MSwgX2lucHV0X25leHQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiAoaW5pdCA9PSBudWxsID8gdm9pZCAwIDogKF9pbml0X25leHQgPSBpbml0Lm5leHQpID09IG51bGwgPyB2b2lkIDAgOiBfaW5pdF9uZXh0W2ZpZWxkXSkgIT09IFwidW5kZWZpbmVkXCIgPyBpbml0ID09IG51bGwgPyB2b2lkIDAgOiAoX2luaXRfbmV4dDEgPSBpbml0Lm5leHQpID09IG51bGwgPyB2b2lkIDAgOiBfaW5pdF9uZXh0MVtmaWVsZF0gOiBpc1JlcXVlc3RJbnB1dCA/IChfaW5wdXRfbmV4dCA9IGlucHV0Lm5leHQpID09IG51bGwgPyB2b2lkIDAgOiBfaW5wdXRfbmV4dFtmaWVsZF0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy8gUmVxdWVzdEluaXQgZG9lc24ndCBrZWVwIGV4dHJhIGZpZWxkcyBlLmcuIG5leHQgc28gaXQnc1xuICAgICAgICAgICAgLy8gb25seSBhdmFpbGFibGUgaWYgaW5pdCBpcyB1c2VkIHNlcGFyYXRlXG4gICAgICAgICAgICBsZXQgY3VyUmV2YWxpZGF0ZSA9IGdldE5leHRGaWVsZChcInJldmFsaWRhdGVcIik7XG4gICAgICAgICAgICBjb25zdCB0YWdzID0gdmFsaWRhdGVUYWdzKGdldE5leHRGaWVsZChcInRhZ3NcIikgfHwgW10sIGBmZXRjaCAke2lucHV0LnRvU3RyaW5nKCl9YCk7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0YWdzKSkge1xuICAgICAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgdGFncyl7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MuaW5jbHVkZXModGFnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MucHVzaCh0YWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaW1wbGljaXRUYWdzID0gYWRkSW1wbGljaXRUYWdzKHN0YXRpY0dlbmVyYXRpb25TdG9yZSk7XG4gICAgICAgICAgICBjb25zdCBmZXRjaENhY2hlTW9kZSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaENhY2hlO1xuICAgICAgICAgICAgY29uc3QgaXNVc2luZ05vU3RvcmUgPSAhIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5pc1Vuc3RhYmxlTm9TdG9yZTtcbiAgICAgICAgICAgIGxldCBfY2FjaGUgPSBnZXRSZXF1ZXN0TWV0YShcImNhY2hlXCIpO1xuICAgICAgICAgICAgbGV0IGNhY2hlUmVhc29uID0gXCJcIjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgX2NhY2hlID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBjdXJSZXZhbGlkYXRlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgLy8gd2hlbiBwcm92aWRpbmcgZmV0Y2ggd2l0aCBhIFJlcXVlc3QgaW5wdXQsIGl0J2xsIGF1dG9tYXRpY2FsbHkgc2V0IGEgY2FjaGUgdmFsdWUgb2YgJ2RlZmF1bHQnXG4gICAgICAgICAgICAgICAgLy8gd2Ugb25seSB3YW50IHRvIHdhcm4gaWYgdGhlIHVzZXIgaXMgZXhwbGljaXRseSBzZXR0aW5nIGEgY2FjaGUgdmFsdWVcbiAgICAgICAgICAgICAgICBpZiAoIShpc1JlcXVlc3RJbnB1dCAmJiBfY2FjaGUgPT09IFwiZGVmYXVsdFwiKSkge1xuICAgICAgICAgICAgICAgICAgICBfbG9nLndhcm4oYGZldGNoIGZvciAke2ZldGNoVXJsfSBvbiAke3N0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZX0gc3BlY2lmaWVkIFwiY2FjaGU6ICR7X2NhY2hlfVwiIGFuZCBcInJldmFsaWRhdGU6ICR7Y3VyUmV2YWxpZGF0ZX1cIiwgb25seSBvbmUgc2hvdWxkIGJlIHNwZWNpZmllZC5gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgX2NhY2hlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKF9jYWNoZSA9PT0gXCJmb3JjZS1jYWNoZVwiKSB7XG4gICAgICAgICAgICAgICAgY3VyUmV2YWxpZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChfY2FjaGUgPT09IFwibm8tY2FjaGVcIiB8fCBfY2FjaGUgPT09IFwibm8tc3RvcmVcIiB8fCBmZXRjaENhY2hlTW9kZSA9PT0gXCJmb3JjZS1uby1zdG9yZVwiIHx8IGZldGNoQ2FjaGVNb2RlID09PSBcIm9ubHktbm8tc3RvcmVcIikge1xuICAgICAgICAgICAgICAgIGN1clJldmFsaWRhdGUgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKF9jYWNoZSA9PT0gXCJuby1jYWNoZVwiIHx8IF9jYWNoZSA9PT0gXCJuby1zdG9yZVwiKSB7XG4gICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBgY2FjaGU6ICR7X2NhY2hlfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXZhbGlkYXRlID0gdmFsaWRhdGVSZXZhbGlkYXRlKGN1clJldmFsaWRhdGUsIHN0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZSk7XG4gICAgICAgICAgICBjb25zdCBfaGVhZGVycyA9IGdldFJlcXVlc3RNZXRhKFwiaGVhZGVyc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IGluaXRIZWFkZXJzID0gdHlwZW9mIChfaGVhZGVycyA9PSBudWxsID8gdm9pZCAwIDogX2hlYWRlcnMuZ2V0KSA9PT0gXCJmdW5jdGlvblwiID8gX2hlYWRlcnMgOiBuZXcgSGVhZGVycyhfaGVhZGVycyB8fCB7fSk7XG4gICAgICAgICAgICBjb25zdCBoYXNVbkNhY2hlYWJsZUhlYWRlciA9IGluaXRIZWFkZXJzLmdldChcImF1dGhvcml6YXRpb25cIikgfHwgaW5pdEhlYWRlcnMuZ2V0KFwiY29va2llXCIpO1xuICAgICAgICAgICAgY29uc3QgaXNVbkNhY2hlYWJsZU1ldGhvZCA9ICFbXG4gICAgICAgICAgICAgICAgXCJnZXRcIixcbiAgICAgICAgICAgICAgICBcImhlYWRcIlxuICAgICAgICAgICAgXS5pbmNsdWRlcygoKF9nZXRSZXF1ZXN0TWV0YSA9IGdldFJlcXVlc3RNZXRhKFwibWV0aG9kXCIpKSA9PSBudWxsID8gdm9pZCAwIDogX2dldFJlcXVlc3RNZXRhLnRvTG93ZXJDYXNlKCkpIHx8IFwiZ2V0XCIpO1xuICAgICAgICAgICAgLy8gaWYgdGhlcmUgYXJlIGF1dGhvcml6ZWQgaGVhZGVycyBvciBhIFBPU1QgbWV0aG9kIGFuZFxuICAgICAgICAgICAgLy8gZHluYW1pYyBkYXRhIHVzYWdlIHdhcyBwcmVzZW50IGFib3ZlIHRoZSB0cmVlIHdlIGJhaWxcbiAgICAgICAgICAgIC8vIGUuZy4gaWYgY29va2llcygpIGlzIHVzZWQgYmVmb3JlIGFuIGF1dGhlZC9QT1NUIGZldGNoXG4gICAgICAgICAgICBjb25zdCBhdXRvTm9DYWNoZSA9IChoYXNVbkNhY2hlYWJsZUhlYWRlciB8fCBpc1VuQ2FjaGVhYmxlTWV0aG9kKSAmJiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gMDtcbiAgICAgICAgICAgIHN3aXRjaChmZXRjaENhY2hlTW9kZSl7XG4gICAgICAgICAgICAgICAgY2FzZSBcImZvcmNlLW5vLXN0b3JlXCI6XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJmZXRjaENhY2hlID0gZm9yY2Utbm8tc3RvcmVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBcIm9ubHktbm8tc3RvcmVcIjpcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9jYWNoZSA9PT0gXCJmb3JjZS1jYWNoZVwiIHx8IHR5cGVvZiByZXZhbGlkYXRlICE9PSBcInVuZGVmaW5lZFwiICYmIChyZXZhbGlkYXRlID09PSBmYWxzZSB8fCByZXZhbGlkYXRlID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNhY2hlOiAnZm9yY2UtY2FjaGUnIHVzZWQgb24gZmV0Y2ggZm9yICR7ZmV0Y2hVcmx9IHdpdGggJ2V4cG9ydCBjb25zdCBmZXRjaENhY2hlID0gJ29ubHktbm8tc3RvcmUnYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiZmV0Y2hDYWNoZSA9IG9ubHktbm8tc3RvcmVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBcIm9ubHktY2FjaGVcIjpcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9jYWNoZSA9PT0gXCJuby1zdG9yZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBjYWNoZTogJ25vLXN0b3JlJyB1c2VkIG9uIGZldGNoIGZvciAke2ZldGNoVXJsfSB3aXRoICdleHBvcnQgY29uc3QgZmV0Y2hDYWNoZSA9ICdvbmx5LWNhY2hlJ2ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIFwiZm9yY2UtY2FjaGVcIjpcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjdXJSZXZhbGlkYXRlID09PSBcInVuZGVmaW5lZFwiIHx8IGN1clJldmFsaWRhdGUgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiZmV0Y2hDYWNoZSA9IGZvcmNlLWNhY2hlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiByZXZhbGlkYXRlID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZldGNoQ2FjaGVNb2RlID09PSBcImRlZmF1bHQtY2FjaGVcIikge1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJmZXRjaENhY2hlID0gZGVmYXVsdC1jYWNoZVwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYXV0b05vQ2FjaGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJhdXRvIG5vIGNhY2hlXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmZXRjaENhY2hlTW9kZSA9PT0gXCJkZWZhdWx0LW5vLXN0b3JlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJmZXRjaENhY2hlID0gZGVmYXVsdC1uby1zdG9yZVwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNVc2luZ05vU3RvcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJub1N0b3JlIGNhbGxcIjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiYXV0byBjYWNoZVwiO1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlID0gdHlwZW9mIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSBcImJvb2xlYW5cIiB8fCB0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwidW5kZWZpbmVkXCIgPyBmYWxzZSA6IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWNhY2hlUmVhc29uKSB7XG4gICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBgcmV2YWxpZGF0ZTogJHtyZXZhbGlkYXRlfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoLy8gd2hlbiBmb3JjZSBzdGF0aWMgaXMgY29uZmlndXJlZCB3ZSBkb24ndCBiYWlsIGZyb21cbiAgICAgICAgICAgIC8vIGByZXZhbGlkYXRlOiAwYCB2YWx1ZXNcbiAgICAgICAgICAgICEoc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljICYmIHJldmFsaWRhdGUgPT09IDApICYmIC8vIHdlIGRvbid0IGNvbnNpZGVyIGF1dG9Ob0NhY2hlIHRvIHN3aXRjaCB0byBkeW5hbWljIGR1cmluZ1xuICAgICAgICAgICAgLy8gcmV2YWxpZGF0ZSBhbHRob3VnaCBpZiBpdCBvY2N1cnMgZHVyaW5nIGJ1aWxkIHdlIGRvXG4gICAgICAgICAgICAhYXV0b05vQ2FjaGUgJiYgLy8gSWYgdGhlIHJldmFsaWRhdGUgdmFsdWUgaXNuJ3QgY3VycmVudGx5IHNldCBvciB0aGUgdmFsdWUgaXMgbGVzc1xuICAgICAgICAgICAgLy8gdGhhbiB0aGUgY3VycmVudCByZXZhbGlkYXRlIHZhbHVlLCB3ZSBzaG91bGQgdXBkYXRlIHRoZSByZXZhbGlkYXRlXG4gICAgICAgICAgICAvLyB2YWx1ZS5cbiAgICAgICAgICAgICh0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwidW5kZWZpbmVkXCIgfHwgdHlwZW9mIHJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSBmYWxzZSB8fCB0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgcmV2YWxpZGF0ZSA8IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlKSkpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB3ZSB3ZXJlIHNldHRpbmcgdGhlIHJldmFsaWRhdGUgdmFsdWUgdG8gMCwgd2Ugc2hvdWxkIHRyeSB0b1xuICAgICAgICAgICAgICAgIC8vIHBvc3Rwb25lIGluc3RlYWQgZmlyc3QuXG4gICAgICAgICAgICAgICAgaWYgKHJldmFsaWRhdGUgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9keW5hbWljcmVuZGVyaW5nLnRyYWNrRHluYW1pY0ZldGNoKShzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIFwicmV2YWxpZGF0ZTogMFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPSByZXZhbGlkYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaXNDYWNoZWFibGVSZXZhbGlkYXRlID0gdHlwZW9mIHJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgcmV2YWxpZGF0ZSA+IDAgfHwgcmV2YWxpZGF0ZSA9PT0gZmFsc2U7XG4gICAgICAgICAgICBsZXQgY2FjaGVLZXk7XG4gICAgICAgICAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUgJiYgaXNDYWNoZWFibGVSZXZhbGlkYXRlKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVLZXkgPSBhd2FpdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaW5jcmVtZW50YWxDYWNoZS5mZXRjaENhY2hlS2V5KGZldGNoVXJsLCBpc1JlcXVlc3RJbnB1dCA/IGlucHV0IDogaW5pdCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBnZW5lcmF0ZSBjYWNoZSBrZXkgZm9yYCwgaW5wdXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZldGNoSWR4ID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLm5leHRGZXRjaElkID8/IDE7XG4gICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUubmV4dEZldGNoSWQgPSBmZXRjaElkeCArIDE7XG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkUmV2YWxpZGF0ZSA9IHR5cGVvZiByZXZhbGlkYXRlICE9PSBcIm51bWJlclwiID8gX2NvbnN0YW50czEuQ0FDSEVfT05FX1lFQVIgOiByZXZhbGlkYXRlO1xuICAgICAgICAgICAgY29uc3QgZG9PcmlnaW5hbEZldGNoID0gYXN5bmMgKGlzU3RhbGUsIGNhY2hlUmVhc29uT3ZlcnJpZGUpPT57XG4gICAgICAgICAgICAgICAgY29uc3QgcmVxdWVzdElucHV0RmllbGRzID0gW1xuICAgICAgICAgICAgICAgICAgICBcImNhY2hlXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiY3JlZGVudGlhbHNcIixcbiAgICAgICAgICAgICAgICAgICAgXCJoZWFkZXJzXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiaW50ZWdyaXR5XCIsXG4gICAgICAgICAgICAgICAgICAgIFwia2VlcGFsaXZlXCIsXG4gICAgICAgICAgICAgICAgICAgIFwibWV0aG9kXCIsXG4gICAgICAgICAgICAgICAgICAgIFwibW9kZVwiLFxuICAgICAgICAgICAgICAgICAgICBcInJlZGlyZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgIFwicmVmZXJyZXJcIixcbiAgICAgICAgICAgICAgICAgICAgXCJyZWZlcnJlclBvbGljeVwiLFxuICAgICAgICAgICAgICAgICAgICBcIndpbmRvd1wiLFxuICAgICAgICAgICAgICAgICAgICBcImR1cGxleFwiLFxuICAgICAgICAgICAgICAgICAgICAvLyBkb24ndCBwYXNzIHRocm91Z2ggc2lnbmFsIHdoZW4gcmV2YWxpZGF0aW5nXG4gICAgICAgICAgICAgICAgICAgIC4uLmlzU3RhbGUgPyBbXSA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2lnbmFsXCJcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgaWYgKGlzUmVxdWVzdElucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcUlucHV0ID0gaW5wdXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5OiByZXFJbnB1dC5fb2dCb2R5IHx8IHJlcUlucHV0LmJvZHlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiByZXF1ZXN0SW5wdXRGaWVsZHMpe1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBjdXN0b20gZmllbGRzXG4gICAgICAgICAgICAgICAgICAgICAgICByZXFPcHRpb25zW2ZpZWxkXSA9IHJlcUlucHV0W2ZpZWxkXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbnB1dCA9IG5ldyBSZXF1ZXN0KHJlcUlucHV0LnVybCwgcmVxT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbml0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgX29nQm9keSwgYm9keSwgc2lnbmFsLCAuLi5vdGhlcklucHV0IH0gPSBpbml0O1xuICAgICAgICAgICAgICAgICAgICBpbml0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3RoZXJJbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IF9vZ0JvZHkgfHwgYm9keSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hbDogaXNTdGFsZSA/IHVuZGVmaW5lZCA6IHNpZ25hbFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBhZGQgbWV0YWRhdGEgdG8gaW5pdCB3aXRob3V0IGVkaXRpbmcgdGhlIG9yaWdpbmFsXG4gICAgICAgICAgICAgICAgY29uc3QgY2xvbmVkSW5pdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaW5pdCxcbiAgICAgICAgICAgICAgICAgICAgbmV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaW5pdCA9PSBudWxsID8gdm9pZCAwIDogaW5pdC5uZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hUeXBlOiBcIm9yaWdpblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hJZHhcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbkZldGNoKGlucHV0LCBjbG9uZWRJbml0KS50aGVuKGFzeW5jIChyZXMpPT57XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNTdGFsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tGZXRjaE1ldHJpYyhzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogZmV0Y2hTdGFydCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGZldGNoVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uOiBjYWNoZVJlYXNvbk92ZXJyaWRlIHx8IGNhY2hlUmVhc29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzOiByZXZhbGlkYXRlID09PSAwIHx8IGNhY2hlUmVhc29uT3ZlcnJpZGUgPyBcInNraXBcIiA6IFwibWlzc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzLnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6IGNsb25lZEluaXQubWV0aG9kIHx8IFwiR0VUXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXMuc3RhdHVzID09PSAyMDAgJiYgc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUgJiYgY2FjaGVLZXkgJiYgaXNDYWNoZWFibGVSZXZhbGlkYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib2R5QnVmZmVyID0gQnVmZmVyLmZyb20oYXdhaXQgcmVzLmFycmF5QnVmZmVyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaW5jcmVtZW50YWxDYWNoZS5zZXQoY2FjaGVLZXksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogXCJGRVRDSFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBPYmplY3QuZnJvbUVudHJpZXMocmVzLmhlYWRlcnMuZW50cmllcygpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IGJvZHlCdWZmZXIudG9TdHJpbmcoXCJiYXNlNjRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHJlcy5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHJlcy51cmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogbm9ybWFsaXplZFJldmFsaWRhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoQ2FjaGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaElkeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gc2V0IGZldGNoIGNhY2hlYCwgaW5wdXQsIGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IG5ldyBSZXNwb25zZShib2R5QnVmZmVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogbmV3IEhlYWRlcnMocmVzLmhlYWRlcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzLnN0YXR1c1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzcG9uc2UsIFwidXJsXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsZXQgaGFuZGxlVW5sb2NrID0gKCk9PlByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICAgICAgbGV0IGNhY2hlUmVhc29uT3ZlcnJpZGU7XG4gICAgICAgICAgICBsZXQgaXNGb3JlZ3JvdW5kUmV2YWxpZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGNhY2hlS2V5ICYmIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pbmNyZW1lbnRhbENhY2hlKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlVW5sb2NrID0gYXdhaXQgc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUubG9jayhjYWNoZUtleSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNPbkRlbWFuZFJldmFsaWRhdGUgPyBudWxsIDogYXdhaXQgc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUuZ2V0KGNhY2hlS2V5LCB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmRIaW50OiBcImZldGNoXCIsXG4gICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGUsXG4gICAgICAgICAgICAgICAgICAgIGZldGNoVXJsLFxuICAgICAgICAgICAgICAgICAgICBmZXRjaElkeCxcbiAgICAgICAgICAgICAgICAgICAgdGFncyxcbiAgICAgICAgICAgICAgICAgICAgc29mdFRhZ3M6IGltcGxpY2l0VGFnc1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBoYW5kbGVVbmxvY2soKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBpbiBkZXYsIGluY3JlbWVudGFsIGNhY2hlIHJlc3BvbnNlIHdpbGwgYmUgbnVsbCBpbiBjYXNlIHRoZSBicm93c2VyIGFkZHMgYGNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlYCBpbiB0aGUgcmVxdWVzdCBoZWFkZXJzXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uT3ZlcnJpZGUgPSBcImNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlIChoYXJkIHJlZnJlc2gpXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgoZW50cnkgPT0gbnVsbCA/IHZvaWQgMCA6IGVudHJ5LnZhbHVlKSAmJiBlbnRyeS52YWx1ZS5raW5kID09PSBcIkZFVENIXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiBzdGFsZSBhbmQgaXMgcmV2YWxpZGF0aW5nIHdlIHdhaXQgZm9yIGZyZXNoIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgLy8gc28gdGhlIHJldmFsaWRhdGVkIGVudHJ5IGhhcyB0aGUgdXBkYXRlZCBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNSZXZhbGlkYXRlICYmIGVudHJ5LmlzU3RhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRm9yZWdyb3VuZFJldmFsaWRhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LmlzU3RhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucGVuZGluZ1JldmFsaWRhdGVzID8/PSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXNbY2FjaGVLZXldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXNbY2FjaGVLZXldID0gZG9PcmlnaW5hbEZldGNoKHRydWUpLmNhdGNoKGNvbnNvbGUuZXJyb3IpLmZpbmFsbHkoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXMgPz89IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXNbY2FjaGVLZXkgfHwgXCJcIl07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc0RhdGEgPSBlbnRyeS52YWx1ZS5kYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tGZXRjaE1ldHJpYyhzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogZmV0Y2hTdGFydCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGZldGNoVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzOiBcImhpdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzRGF0YS5zdGF0dXMgfHwgMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogKGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IGluaXQubWV0aG9kKSB8fCBcIkdFVFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKEJ1ZmZlci5mcm9tKHJlc0RhdGEuYm9keSwgXCJiYXNlNjRcIiksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXNEYXRhLmhlYWRlcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXNEYXRhLnN0YXR1c1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzcG9uc2UsIFwidXJsXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZW50cnkudmFsdWUuZGF0YS51cmxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pc1N0YXRpY0dlbmVyYXRpb24gJiYgaW5pdCAmJiB0eXBlb2YgaW5pdCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgY2FjaGUgfSA9IGluaXQ7XG4gICAgICAgICAgICAgICAgLy8gRGVsZXRlIGBjYWNoZWAgcHJvcGVydHkgYXMgQ2xvdWRmbGFyZSBXb3JrZXJzIHdpbGwgdGhyb3cgYW4gZXJyb3JcbiAgICAgICAgICAgICAgICBpZiAoaXNFZGdlUnVudGltZSkgZGVsZXRlIGluaXQuY2FjaGU7XG4gICAgICAgICAgICAgICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZm9yY2VTdGF0aWMgJiYgY2FjaGUgPT09IFwibm8tc3RvcmVcIikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkeW5hbWljVXNhZ2VSZWFzb24gPSBgbm8tc3RvcmUgZmV0Y2ggJHtpbnB1dH0ke3N0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZSA/IGAgJHtzdGF0aWNHZW5lcmF0aW9uU3RvcmUudXJsUGF0aG5hbWV9YCA6IFwiXCJ9YDtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgZW5hYmxlZCwgd2Ugc2hvdWxkIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uLlxuICAgICAgICAgICAgICAgICAgICAoMCwgX2R5bmFtaWNyZW5kZXJpbmcudHJhY2tEeW5hbWljRmV0Y2gpKHN0YXRpY0dlbmVyYXRpb25TdG9yZSwgZHluYW1pY1VzYWdlUmVhc29uKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gUFBSIGlzIG5vdCBlbmFibGVkLCBvciBSZWFjdCBwb3N0cG9uZSBpcyBub3QgYXZhaWxhYmxlLCB3ZVxuICAgICAgICAgICAgICAgICAgICAvLyBzaG91bGQgc2V0IHRoZSByZXZhbGlkYXRlIHRvIDAuXG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID0gMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyID0gbmV3IER5bmFtaWNTZXJ2ZXJFcnJvcihkeW5hbWljVXNhZ2VSZWFzb24pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlRXJyID0gZXJyO1xuICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb24gPSBkeW5hbWljVXNhZ2VSZWFzb247XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzTmV4dENvbmZpZyA9IFwibmV4dFwiIGluIGluaXQ7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBuZXh0ID0ge30gfSA9IGluaXQ7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBuZXh0LnJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgKHR5cGVvZiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gXCJ1bmRlZmluZWRcIiB8fCB0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgbmV4dC5yZXZhbGlkYXRlIDwgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlRHluYW1pYyAmJiAhc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljICYmIG5leHQucmV2YWxpZGF0ZSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZHluYW1pY1VzYWdlUmVhc29uID0gYHJldmFsaWRhdGU6IDAgZmV0Y2ggJHtpbnB1dH0ke3N0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZSA/IGAgJHtzdGF0aWNHZW5lcmF0aW9uU3RvcmUudXJsUGF0aG5hbWV9YCA6IFwiXCJ9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIGVuYWJsZWQsIHdlIHNob3VsZCBiYWlsIG91dCBvZiBzdGF0aWMgZ2VuZXJhdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfZHluYW1pY3JlbmRlcmluZy50cmFja0R5bmFtaWNGZXRjaCkoc3RhdGljR2VuZXJhdGlvblN0b3JlLCBkeW5hbWljVXNhZ2VSZWFzb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyID0gbmV3IER5bmFtaWNTZXJ2ZXJFcnJvcihkeW5hbWljVXNhZ2VSZWFzb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNVc2FnZUVyciA9IGVycjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljVXNhZ2VEZXNjcmlwdGlvbiA9IGR5bmFtaWNVc2FnZVJlYXNvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5mb3JjZVN0YXRpYyB8fCBuZXh0LnJldmFsaWRhdGUgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID0gbmV4dC5yZXZhbGlkYXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChoYXNOZXh0Q29uZmlnKSBkZWxldGUgaW5pdC5uZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaWYgd2UgYXJlIHJldmFsaWRhdGluZyB0aGUgd2hvbGUgcGFnZSB2aWEgdGltZSBvciBvbi1kZW1hbmQgYW5kXG4gICAgICAgICAgICAvLyB0aGUgZmV0Y2ggY2FjaGUgZW50cnkgaXMgc3RhbGUgd2Ugc2hvdWxkIHN0aWxsIGRlLWR1cGUgdGhlXG4gICAgICAgICAgICAvLyBvcmlnaW4gaGl0IGlmIGl0J3MgYSBjYWNoZS1hYmxlIGVudHJ5XG4gICAgICAgICAgICBpZiAoY2FjaGVLZXkgJiYgaXNGb3JlZ3JvdW5kUmV2YWxpZGF0ZSkge1xuICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXMgPz89IHt9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHBlbmRpbmdSZXZhbGlkYXRlID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLnBlbmRpbmdSZXZhbGlkYXRlc1tjYWNoZUtleV07XG4gICAgICAgICAgICAgICAgaWYgKHBlbmRpbmdSZXZhbGlkYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHBlbmRpbmdSZXZhbGlkYXRlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzLmNsb25lKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucGVuZGluZ1JldmFsaWRhdGVzW2NhY2hlS2V5XSA9IGRvT3JpZ2luYWxGZXRjaCh0cnVlLCBjYWNoZVJlYXNvbk92ZXJyaWRlKS5maW5hbGx5KGFzeW5jICgpPT57XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXMgPz89IHt9O1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgc3RhdGljR2VuZXJhdGlvblN0b3JlLnBlbmRpbmdSZXZhbGlkYXRlc1tjYWNoZUtleSB8fCBcIlwiXTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgaGFuZGxlVW5sb2NrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBkb09yaWdpbmFsRmV0Y2goZmFsc2UsIGNhY2hlUmVhc29uT3ZlcnJpZGUpLmZpbmFsbHkoaGFuZGxlVW5sb2NrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICAvLyBBdHRhY2ggdGhlIG5lY2Vzc2FyeSBwcm9wZXJ0aWVzIHRvIHRoZSBwYXRjaGVkIGZldGNoIGZ1bmN0aW9uLlxuICAgIHBhdGNoZWQuX19uZXh0UGF0Y2hlZCA9IHRydWU7XG4gICAgcGF0Y2hlZC5fX25leHRHZXRTdGF0aWNTdG9yZSA9ICgpPT5zdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlO1xuICAgIHBhdGNoZWQuX25leHRPcmlnaW5hbEZldGNoID0gb3JpZ2luRmV0Y2g7XG4gICAgcmV0dXJuIHBhdGNoZWQ7XG59XG5mdW5jdGlvbiBwYXRjaEZldGNoKG9wdGlvbnMpIHtcbiAgICAvLyBJZiB3ZSd2ZSBhbHJlYWR5IHBhdGNoZWQgZmV0Y2gsIHdlIHNob3VsZCBub3QgcGF0Y2ggaXQgYWdhaW4uXG4gICAgaWYgKGlzUGF0Y2hlZEZldGNoKGdsb2JhbFRoaXMuZmV0Y2gpKSByZXR1cm47XG4gICAgLy8gR3JhYiB0aGUgb3JpZ2luYWwgZmV0Y2ggZnVuY3Rpb24uIFdlJ2xsIGF0dGFjaCB0aGlzIHNvIHdlIGNhbiB1c2UgaXQgaW5cbiAgICAvLyB0aGUgcGF0Y2hlZCBmZXRjaCBmdW5jdGlvbi5cbiAgICBjb25zdCBvcmlnaW5hbCA9IGdsb2JhbFRoaXMuZmV0Y2g7XG4gICAgLy8gU2V0IHRoZSBnbG9iYWwgZmV0Y2ggdG8gdGhlIHBhdGNoZWQgZmV0Y2guXG4gICAgZ2xvYmFsVGhpcy5mZXRjaCA9IGNyZWF0ZVBhdGNoZWRGZXRjaGVyKG9yaWdpbmFsLCBvcHRpb25zKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGF0Y2gtZmV0Y2guanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/lib/trace/constants.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/server/lib/trace/constants.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Contains predefined constants for the trace span name in next/server.\n *\n * Currently, next/server/tracer is internal implementation only for tracking\n * next.js's implementation only with known span names defined here.\n **/ // eslint typescript has a bug with TS enums\n/* eslint-disable no-shadow */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n AppRenderSpan: function() {\n return AppRenderSpan;\n },\n AppRouteRouteHandlersSpan: function() {\n return AppRouteRouteHandlersSpan;\n },\n BaseServerSpan: function() {\n return BaseServerSpan;\n },\n LoadComponentsSpan: function() {\n return LoadComponentsSpan;\n },\n LogSpanAllowList: function() {\n return LogSpanAllowList;\n },\n MiddlewareSpan: function() {\n return MiddlewareSpan;\n },\n NextNodeServerSpan: function() {\n return NextNodeServerSpan;\n },\n NextServerSpan: function() {\n return NextServerSpan;\n },\n NextVanillaSpanAllowlist: function() {\n return NextVanillaSpanAllowlist;\n },\n NodeSpan: function() {\n return NodeSpan;\n },\n RenderSpan: function() {\n return RenderSpan;\n },\n ResolveMetadataSpan: function() {\n return ResolveMetadataSpan;\n },\n RouterSpan: function() {\n return RouterSpan;\n },\n StartServerSpan: function() {\n return StartServerSpan;\n }\n});\nvar BaseServerSpan;\n(function(BaseServerSpan) {\n BaseServerSpan[\"handleRequest\"] = \"BaseServer.handleRequest\";\n BaseServerSpan[\"run\"] = \"BaseServer.run\";\n BaseServerSpan[\"pipe\"] = \"BaseServer.pipe\";\n BaseServerSpan[\"getStaticHTML\"] = \"BaseServer.getStaticHTML\";\n BaseServerSpan[\"render\"] = \"BaseServer.render\";\n BaseServerSpan[\"renderToResponseWithComponents\"] = \"BaseServer.renderToResponseWithComponents\";\n BaseServerSpan[\"renderToResponse\"] = \"BaseServer.renderToResponse\";\n BaseServerSpan[\"renderToHTML\"] = \"BaseServer.renderToHTML\";\n BaseServerSpan[\"renderError\"] = \"BaseServer.renderError\";\n BaseServerSpan[\"renderErrorToResponse\"] = \"BaseServer.renderErrorToResponse\";\n BaseServerSpan[\"renderErrorToHTML\"] = \"BaseServer.renderErrorToHTML\";\n BaseServerSpan[\"render404\"] = \"BaseServer.render404\";\n})(BaseServerSpan || (BaseServerSpan = {}));\nvar LoadComponentsSpan;\n(function(LoadComponentsSpan) {\n LoadComponentsSpan[\"loadDefaultErrorComponents\"] = \"LoadComponents.loadDefaultErrorComponents\";\n LoadComponentsSpan[\"loadComponents\"] = \"LoadComponents.loadComponents\";\n})(LoadComponentsSpan || (LoadComponentsSpan = {}));\nvar NextServerSpan;\n(function(NextServerSpan) {\n NextServerSpan[\"getRequestHandler\"] = \"NextServer.getRequestHandler\";\n NextServerSpan[\"getServer\"] = \"NextServer.getServer\";\n NextServerSpan[\"getServerRequestHandler\"] = \"NextServer.getServerRequestHandler\";\n NextServerSpan[\"createServer\"] = \"createServer.createServer\";\n})(NextServerSpan || (NextServerSpan = {}));\nvar NextNodeServerSpan;\n(function(NextNodeServerSpan) {\n NextNodeServerSpan[\"compression\"] = \"NextNodeServer.compression\";\n NextNodeServerSpan[\"getBuildId\"] = \"NextNodeServer.getBuildId\";\n NextNodeServerSpan[\"createComponentTree\"] = \"NextNodeServer.createComponentTree\";\n NextNodeServerSpan[\"clientComponentLoading\"] = \"NextNodeServer.clientComponentLoading\";\n NextNodeServerSpan[\"getLayoutOrPageModule\"] = \"NextNodeServer.getLayoutOrPageModule\";\n NextNodeServerSpan[\"generateStaticRoutes\"] = \"NextNodeServer.generateStaticRoutes\";\n NextNodeServerSpan[\"generateFsStaticRoutes\"] = \"NextNodeServer.generateFsStaticRoutes\";\n NextNodeServerSpan[\"generatePublicRoutes\"] = \"NextNodeServer.generatePublicRoutes\";\n NextNodeServerSpan[\"generateImageRoutes\"] = \"NextNodeServer.generateImageRoutes.route\";\n NextNodeServerSpan[\"sendRenderResult\"] = \"NextNodeServer.sendRenderResult\";\n NextNodeServerSpan[\"proxyRequest\"] = \"NextNodeServer.proxyRequest\";\n NextNodeServerSpan[\"runApi\"] = \"NextNodeServer.runApi\";\n NextNodeServerSpan[\"render\"] = \"NextNodeServer.render\";\n NextNodeServerSpan[\"renderHTML\"] = \"NextNodeServer.renderHTML\";\n NextNodeServerSpan[\"imageOptimizer\"] = \"NextNodeServer.imageOptimizer\";\n NextNodeServerSpan[\"getPagePath\"] = \"NextNodeServer.getPagePath\";\n NextNodeServerSpan[\"getRoutesManifest\"] = \"NextNodeServer.getRoutesManifest\";\n NextNodeServerSpan[\"findPageComponents\"] = \"NextNodeServer.findPageComponents\";\n NextNodeServerSpan[\"getFontManifest\"] = \"NextNodeServer.getFontManifest\";\n NextNodeServerSpan[\"getServerComponentManifest\"] = \"NextNodeServer.getServerComponentManifest\";\n NextNodeServerSpan[\"getRequestHandler\"] = \"NextNodeServer.getRequestHandler\";\n NextNodeServerSpan[\"renderToHTML\"] = \"NextNodeServer.renderToHTML\";\n NextNodeServerSpan[\"renderError\"] = \"NextNodeServer.renderError\";\n NextNodeServerSpan[\"renderErrorToHTML\"] = \"NextNodeServer.renderErrorToHTML\";\n NextNodeServerSpan[\"render404\"] = \"NextNodeServer.render404\";\n NextNodeServerSpan[\"startResponse\"] = \"NextNodeServer.startResponse\";\n // nested inner span, does not require parent scope name\n NextNodeServerSpan[\"route\"] = \"route\";\n NextNodeServerSpan[\"onProxyReq\"] = \"onProxyReq\";\n NextNodeServerSpan[\"apiResolver\"] = \"apiResolver\";\n NextNodeServerSpan[\"internalFetch\"] = \"internalFetch\";\n})(NextNodeServerSpan || (NextNodeServerSpan = {}));\nvar StartServerSpan;\n(function(StartServerSpan) {\n StartServerSpan[\"startServer\"] = \"startServer.startServer\";\n})(StartServerSpan || (StartServerSpan = {}));\nvar RenderSpan;\n(function(RenderSpan) {\n RenderSpan[\"getServerSideProps\"] = \"Render.getServerSideProps\";\n RenderSpan[\"getStaticProps\"] = \"Render.getStaticProps\";\n RenderSpan[\"renderToString\"] = \"Render.renderToString\";\n RenderSpan[\"renderDocument\"] = \"Render.renderDocument\";\n RenderSpan[\"createBodyResult\"] = \"Render.createBodyResult\";\n})(RenderSpan || (RenderSpan = {}));\nvar AppRenderSpan;\n(function(AppRenderSpan) {\n AppRenderSpan[\"renderToString\"] = \"AppRender.renderToString\";\n AppRenderSpan[\"renderToReadableStream\"] = \"AppRender.renderToReadableStream\";\n AppRenderSpan[\"getBodyResult\"] = \"AppRender.getBodyResult\";\n AppRenderSpan[\"fetch\"] = \"AppRender.fetch\";\n})(AppRenderSpan || (AppRenderSpan = {}));\nvar RouterSpan;\n(function(RouterSpan) {\n RouterSpan[\"executeRoute\"] = \"Router.executeRoute\";\n})(RouterSpan || (RouterSpan = {}));\nvar NodeSpan;\n(function(NodeSpan) {\n NodeSpan[\"runHandler\"] = \"Node.runHandler\";\n})(NodeSpan || (NodeSpan = {}));\nvar AppRouteRouteHandlersSpan;\n(function(AppRouteRouteHandlersSpan) {\n AppRouteRouteHandlersSpan[\"runHandler\"] = \"AppRouteRouteHandlers.runHandler\";\n})(AppRouteRouteHandlersSpan || (AppRouteRouteHandlersSpan = {}));\nvar ResolveMetadataSpan;\n(function(ResolveMetadataSpan) {\n ResolveMetadataSpan[\"generateMetadata\"] = \"ResolveMetadata.generateMetadata\";\n ResolveMetadataSpan[\"generateViewport\"] = \"ResolveMetadata.generateViewport\";\n})(ResolveMetadataSpan || (ResolveMetadataSpan = {}));\nvar MiddlewareSpan;\n(function(MiddlewareSpan) {\n MiddlewareSpan[\"execute\"] = \"Middleware.execute\";\n})(MiddlewareSpan || (MiddlewareSpan = {}));\nconst NextVanillaSpanAllowlist = [\n \"Middleware.execute\",\n \"BaseServer.handleRequest\",\n \"Render.getServerSideProps\",\n \"Render.getStaticProps\",\n \"AppRender.fetch\",\n \"AppRender.getBodyResult\",\n \"Render.renderDocument\",\n \"Node.runHandler\",\n \"AppRouteRouteHandlers.runHandler\",\n \"ResolveMetadata.generateMetadata\",\n \"ResolveMetadata.generateViewport\",\n \"NextNodeServer.createComponentTree\",\n \"NextNodeServer.findPageComponents\",\n \"NextNodeServer.getLayoutOrPageModule\",\n \"NextNodeServer.startResponse\",\n \"NextNodeServer.clientComponentLoading\"\n];\nconst LogSpanAllowList = [\n \"NextNodeServer.findPageComponents\",\n \"NextNodeServer.createComponentTree\",\n \"NextNodeServer.clientComponentLoading\"\n];\n\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUE0QztBQUM1Qyw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBZUw7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsd0NBQXdDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxnREFBZ0Q7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyx3Q0FBd0M7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxnREFBZ0Q7QUFDakQ7QUFDQTtBQUNBO0FBQ0EsQ0FBQywwQ0FBMEM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLGdDQUFnQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLHNDQUFzQztBQUN2QztBQUNBO0FBQ0E7QUFDQSxDQUFDLGdDQUFnQztBQUNqQztBQUNBO0FBQ0E7QUFDQSxDQUFDLDRCQUE0QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQSxDQUFDLDhEQUE4RDtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsa0RBQWtEO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLENBQUMsd0NBQXdDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvY29uc3RhbnRzLmpzPzJjYjQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb250YWlucyBwcmVkZWZpbmVkIGNvbnN0YW50cyBmb3IgdGhlIHRyYWNlIHNwYW4gbmFtZSBpbiBuZXh0L3NlcnZlci5cbiAqXG4gKiBDdXJyZW50bHksIG5leHQvc2VydmVyL3RyYWNlciBpcyBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBvbmx5IGZvciB0cmFja2luZ1xuICogbmV4dC5qcydzIGltcGxlbWVudGF0aW9uIG9ubHkgd2l0aCBrbm93biBzcGFuIG5hbWVzIGRlZmluZWQgaGVyZS5cbiAqKi8gLy8gZXNsaW50IHR5cGVzY3JpcHQgaGFzIGEgYnVnIHdpdGggVFMgZW51bXNcbi8qIGVzbGludC1kaXNhYmxlIG5vLXNoYWRvdyAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIEFwcFJlbmRlclNwYW46IG51bGwsXG4gICAgQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3BhbjogbnVsbCxcbiAgICBCYXNlU2VydmVyU3BhbjogbnVsbCxcbiAgICBMb2FkQ29tcG9uZW50c1NwYW46IG51bGwsXG4gICAgTG9nU3BhbkFsbG93TGlzdDogbnVsbCxcbiAgICBNaWRkbGV3YXJlU3BhbjogbnVsbCxcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW46IG51bGwsXG4gICAgTmV4dFNlcnZlclNwYW46IG51bGwsXG4gICAgTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0OiBudWxsLFxuICAgIE5vZGVTcGFuOiBudWxsLFxuICAgIFJlbmRlclNwYW46IG51bGwsXG4gICAgUmVzb2x2ZU1ldGFkYXRhU3BhbjogbnVsbCxcbiAgICBSb3V0ZXJTcGFuOiBudWxsLFxuICAgIFN0YXJ0U2VydmVyU3BhbjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBBcHBSZW5kZXJTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFwcFJlbmRlclNwYW47XG4gICAgfSxcbiAgICBBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW47XG4gICAgfSxcbiAgICBCYXNlU2VydmVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBCYXNlU2VydmVyU3BhbjtcbiAgICB9LFxuICAgIExvYWRDb21wb25lbnRzU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBMb2FkQ29tcG9uZW50c1NwYW47XG4gICAgfSxcbiAgICBMb2dTcGFuQWxsb3dMaXN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIExvZ1NwYW5BbGxvd0xpc3Q7XG4gICAgfSxcbiAgICBNaWRkbGV3YXJlU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNaWRkbGV3YXJlU3BhbjtcbiAgICB9LFxuICAgIE5leHROb2RlU2VydmVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOZXh0Tm9kZVNlcnZlclNwYW47XG4gICAgfSxcbiAgICBOZXh0U2VydmVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOZXh0U2VydmVyU3BhbjtcbiAgICB9LFxuICAgIE5leHRWYW5pbGxhU3BhbkFsbG93bGlzdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3Q7XG4gICAgfSxcbiAgICBOb2RlU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOb2RlU3BhbjtcbiAgICB9LFxuICAgIFJlbmRlclNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVuZGVyU3BhbjtcbiAgICB9LFxuICAgIFJlc29sdmVNZXRhZGF0YVNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVzb2x2ZU1ldGFkYXRhU3BhbjtcbiAgICB9LFxuICAgIFJvdXRlclNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUm91dGVyU3BhbjtcbiAgICB9LFxuICAgIFN0YXJ0U2VydmVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTdGFydFNlcnZlclNwYW47XG4gICAgfVxufSk7XG52YXIgQmFzZVNlcnZlclNwYW47XG4oZnVuY3Rpb24oQmFzZVNlcnZlclNwYW4pIHtcbiAgICBCYXNlU2VydmVyU3BhbltcImhhbmRsZVJlcXVlc3RcIl0gPSBcIkJhc2VTZXJ2ZXIuaGFuZGxlUmVxdWVzdFwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicnVuXCJdID0gXCJCYXNlU2VydmVyLnJ1blwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicGlwZVwiXSA9IFwiQmFzZVNlcnZlci5waXBlXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJnZXRTdGF0aWNIVE1MXCJdID0gXCJCYXNlU2VydmVyLmdldFN0YXRpY0hUTUxcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlclwiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlclRvUmVzcG9uc2VXaXRoQ29tcG9uZW50c1wiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJUb1Jlc3BvbnNlV2l0aENvbXBvbmVudHNcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlclRvUmVzcG9uc2VcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyVG9SZXNwb25zZVwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyVG9IVE1MXCJdID0gXCJCYXNlU2VydmVyLnJlbmRlclRvSFRNTFwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyRXJyb3JcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyRXJyb3JcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlckVycm9yVG9SZXNwb25zZVwiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJFcnJvclRvUmVzcG9uc2VcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlckVycm9yVG9IVE1MXCJdID0gXCJCYXNlU2VydmVyLnJlbmRlckVycm9yVG9IVE1MXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJyZW5kZXI0MDRcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyNDA0XCI7XG59KShCYXNlU2VydmVyU3BhbiB8fCAoQmFzZVNlcnZlclNwYW4gPSB7fSkpO1xudmFyIExvYWRDb21wb25lbnRzU3BhbjtcbihmdW5jdGlvbihMb2FkQ29tcG9uZW50c1NwYW4pIHtcbiAgICBMb2FkQ29tcG9uZW50c1NwYW5bXCJsb2FkRGVmYXVsdEVycm9yQ29tcG9uZW50c1wiXSA9IFwiTG9hZENvbXBvbmVudHMubG9hZERlZmF1bHRFcnJvckNvbXBvbmVudHNcIjtcbiAgICBMb2FkQ29tcG9uZW50c1NwYW5bXCJsb2FkQ29tcG9uZW50c1wiXSA9IFwiTG9hZENvbXBvbmVudHMubG9hZENvbXBvbmVudHNcIjtcbn0pKExvYWRDb21wb25lbnRzU3BhbiB8fCAoTG9hZENvbXBvbmVudHNTcGFuID0ge30pKTtcbnZhciBOZXh0U2VydmVyU3BhbjtcbihmdW5jdGlvbihOZXh0U2VydmVyU3Bhbikge1xuICAgIE5leHRTZXJ2ZXJTcGFuW1wiZ2V0UmVxdWVzdEhhbmRsZXJcIl0gPSBcIk5leHRTZXJ2ZXIuZ2V0UmVxdWVzdEhhbmRsZXJcIjtcbiAgICBOZXh0U2VydmVyU3BhbltcImdldFNlcnZlclwiXSA9IFwiTmV4dFNlcnZlci5nZXRTZXJ2ZXJcIjtcbiAgICBOZXh0U2VydmVyU3BhbltcImdldFNlcnZlclJlcXVlc3RIYW5kbGVyXCJdID0gXCJOZXh0U2VydmVyLmdldFNlcnZlclJlcXVlc3RIYW5kbGVyXCI7XG4gICAgTmV4dFNlcnZlclNwYW5bXCJjcmVhdGVTZXJ2ZXJcIl0gPSBcImNyZWF0ZVNlcnZlci5jcmVhdGVTZXJ2ZXJcIjtcbn0pKE5leHRTZXJ2ZXJTcGFuIHx8IChOZXh0U2VydmVyU3BhbiA9IHt9KSk7XG52YXIgTmV4dE5vZGVTZXJ2ZXJTcGFuO1xuKGZ1bmN0aW9uKE5leHROb2RlU2VydmVyU3Bhbikge1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImNvbXByZXNzaW9uXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5jb21wcmVzc2lvblwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldEJ1aWxkSWRcIl0gPSBcIk5leHROb2RlU2VydmVyLmdldEJ1aWxkSWRcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJjcmVhdGVDb21wb25lbnRUcmVlXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5jcmVhdGVDb21wb25lbnRUcmVlXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiY2xpZW50Q29tcG9uZW50TG9hZGluZ1wiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuY2xpZW50Q29tcG9uZW50TG9hZGluZ1wiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldExheW91dE9yUGFnZU1vZHVsZVwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0TGF5b3V0T3JQYWdlTW9kdWxlXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2VuZXJhdGVTdGF0aWNSb3V0ZXNcIl0gPSBcIk5leHROb2RlU2VydmVyLmdlbmVyYXRlU3RhdGljUm91dGVzXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2VuZXJhdGVGc1N0YXRpY1JvdXRlc1wiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2VuZXJhdGVGc1N0YXRpY1JvdXRlc1wiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdlbmVyYXRlUHVibGljUm91dGVzXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZW5lcmF0ZVB1YmxpY1JvdXRlc1wiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdlbmVyYXRlSW1hZ2VSb3V0ZXNcIl0gPSBcIk5leHROb2RlU2VydmVyLmdlbmVyYXRlSW1hZ2VSb3V0ZXMucm91dGVcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJzZW5kUmVuZGVyUmVzdWx0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5zZW5kUmVuZGVyUmVzdWx0XCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicHJveHlSZXF1ZXN0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5wcm94eVJlcXVlc3RcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJydW5BcGlcIl0gPSBcIk5leHROb2RlU2VydmVyLnJ1bkFwaVwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlclwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucmVuZGVyXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicmVuZGVySFRNTFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucmVuZGVySFRNTFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImltYWdlT3B0aW1pemVyXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5pbWFnZU9wdGltaXplclwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldFBhZ2VQYXRoXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRQYWdlUGF0aFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldFJvdXRlc01hbmlmZXN0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRSb3V0ZXNNYW5pZmVzdFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImZpbmRQYWdlQ29tcG9uZW50c1wiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZmluZFBhZ2VDb21wb25lbnRzXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2V0Rm9udE1hbmlmZXN0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRGb250TWFuaWZlc3RcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZXRTZXJ2ZXJDb21wb25lbnRNYW5pZmVzdFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0U2VydmVyQ29tcG9uZW50TWFuaWZlc3RcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZXRSZXF1ZXN0SGFuZGxlclwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0UmVxdWVzdEhhbmRsZXJcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJyZW5kZXJUb0hUTUxcIl0gPSBcIk5leHROb2RlU2VydmVyLnJlbmRlclRvSFRNTFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlckVycm9yXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5yZW5kZXJFcnJvclwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlckVycm9yVG9IVE1MXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5yZW5kZXJFcnJvclRvSFRNTFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlcjQwNFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucmVuZGVyNDA0XCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wic3RhcnRSZXNwb25zZVwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuc3RhcnRSZXNwb25zZVwiO1xuICAgIC8vIG5lc3RlZCBpbm5lciBzcGFuLCBkb2VzIG5vdCByZXF1aXJlIHBhcmVudCBzY29wZSBuYW1lXG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicm91dGVcIl0gPSBcInJvdXRlXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wib25Qcm94eVJlcVwiXSA9IFwib25Qcm94eVJlcVwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImFwaVJlc29sdmVyXCJdID0gXCJhcGlSZXNvbHZlclwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImludGVybmFsRmV0Y2hcIl0gPSBcImludGVybmFsRmV0Y2hcIjtcbn0pKE5leHROb2RlU2VydmVyU3BhbiB8fCAoTmV4dE5vZGVTZXJ2ZXJTcGFuID0ge30pKTtcbnZhciBTdGFydFNlcnZlclNwYW47XG4oZnVuY3Rpb24oU3RhcnRTZXJ2ZXJTcGFuKSB7XG4gICAgU3RhcnRTZXJ2ZXJTcGFuW1wic3RhcnRTZXJ2ZXJcIl0gPSBcInN0YXJ0U2VydmVyLnN0YXJ0U2VydmVyXCI7XG59KShTdGFydFNlcnZlclNwYW4gfHwgKFN0YXJ0U2VydmVyU3BhbiA9IHt9KSk7XG52YXIgUmVuZGVyU3BhbjtcbihmdW5jdGlvbihSZW5kZXJTcGFuKSB7XG4gICAgUmVuZGVyU3BhbltcImdldFNlcnZlclNpZGVQcm9wc1wiXSA9IFwiUmVuZGVyLmdldFNlcnZlclNpZGVQcm9wc1wiO1xuICAgIFJlbmRlclNwYW5bXCJnZXRTdGF0aWNQcm9wc1wiXSA9IFwiUmVuZGVyLmdldFN0YXRpY1Byb3BzXCI7XG4gICAgUmVuZGVyU3BhbltcInJlbmRlclRvU3RyaW5nXCJdID0gXCJSZW5kZXIucmVuZGVyVG9TdHJpbmdcIjtcbiAgICBSZW5kZXJTcGFuW1wicmVuZGVyRG9jdW1lbnRcIl0gPSBcIlJlbmRlci5yZW5kZXJEb2N1bWVudFwiO1xuICAgIFJlbmRlclNwYW5bXCJjcmVhdGVCb2R5UmVzdWx0XCJdID0gXCJSZW5kZXIuY3JlYXRlQm9keVJlc3VsdFwiO1xufSkoUmVuZGVyU3BhbiB8fCAoUmVuZGVyU3BhbiA9IHt9KSk7XG52YXIgQXBwUmVuZGVyU3BhbjtcbihmdW5jdGlvbihBcHBSZW5kZXJTcGFuKSB7XG4gICAgQXBwUmVuZGVyU3BhbltcInJlbmRlclRvU3RyaW5nXCJdID0gXCJBcHBSZW5kZXIucmVuZGVyVG9TdHJpbmdcIjtcbiAgICBBcHBSZW5kZXJTcGFuW1wicmVuZGVyVG9SZWFkYWJsZVN0cmVhbVwiXSA9IFwiQXBwUmVuZGVyLnJlbmRlclRvUmVhZGFibGVTdHJlYW1cIjtcbiAgICBBcHBSZW5kZXJTcGFuW1wiZ2V0Qm9keVJlc3VsdFwiXSA9IFwiQXBwUmVuZGVyLmdldEJvZHlSZXN1bHRcIjtcbiAgICBBcHBSZW5kZXJTcGFuW1wiZmV0Y2hcIl0gPSBcIkFwcFJlbmRlci5mZXRjaFwiO1xufSkoQXBwUmVuZGVyU3BhbiB8fCAoQXBwUmVuZGVyU3BhbiA9IHt9KSk7XG52YXIgUm91dGVyU3BhbjtcbihmdW5jdGlvbihSb3V0ZXJTcGFuKSB7XG4gICAgUm91dGVyU3BhbltcImV4ZWN1dGVSb3V0ZVwiXSA9IFwiUm91dGVyLmV4ZWN1dGVSb3V0ZVwiO1xufSkoUm91dGVyU3BhbiB8fCAoUm91dGVyU3BhbiA9IHt9KSk7XG52YXIgTm9kZVNwYW47XG4oZnVuY3Rpb24oTm9kZVNwYW4pIHtcbiAgICBOb2RlU3BhbltcInJ1bkhhbmRsZXJcIl0gPSBcIk5vZGUucnVuSGFuZGxlclwiO1xufSkoTm9kZVNwYW4gfHwgKE5vZGVTcGFuID0ge30pKTtcbnZhciBBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuO1xuKGZ1bmN0aW9uKEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW4pIHtcbiAgICBBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuW1wicnVuSGFuZGxlclwiXSA9IFwiQXBwUm91dGVSb3V0ZUhhbmRsZXJzLnJ1bkhhbmRsZXJcIjtcbn0pKEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW4gfHwgKEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW4gPSB7fSkpO1xudmFyIFJlc29sdmVNZXRhZGF0YVNwYW47XG4oZnVuY3Rpb24oUmVzb2x2ZU1ldGFkYXRhU3Bhbikge1xuICAgIFJlc29sdmVNZXRhZGF0YVNwYW5bXCJnZW5lcmF0ZU1ldGFkYXRhXCJdID0gXCJSZXNvbHZlTWV0YWRhdGEuZ2VuZXJhdGVNZXRhZGF0YVwiO1xuICAgIFJlc29sdmVNZXRhZGF0YVNwYW5bXCJnZW5lcmF0ZVZpZXdwb3J0XCJdID0gXCJSZXNvbHZlTWV0YWRhdGEuZ2VuZXJhdGVWaWV3cG9ydFwiO1xufSkoUmVzb2x2ZU1ldGFkYXRhU3BhbiB8fCAoUmVzb2x2ZU1ldGFkYXRhU3BhbiA9IHt9KSk7XG52YXIgTWlkZGxld2FyZVNwYW47XG4oZnVuY3Rpb24oTWlkZGxld2FyZVNwYW4pIHtcbiAgICBNaWRkbGV3YXJlU3BhbltcImV4ZWN1dGVcIl0gPSBcIk1pZGRsZXdhcmUuZXhlY3V0ZVwiO1xufSkoTWlkZGxld2FyZVNwYW4gfHwgKE1pZGRsZXdhcmVTcGFuID0ge30pKTtcbmNvbnN0IE5leHRWYW5pbGxhU3BhbkFsbG93bGlzdCA9IFtcbiAgICBcIk1pZGRsZXdhcmUuZXhlY3V0ZVwiLFxuICAgIFwiQmFzZVNlcnZlci5oYW5kbGVSZXF1ZXN0XCIsXG4gICAgXCJSZW5kZXIuZ2V0U2VydmVyU2lkZVByb3BzXCIsXG4gICAgXCJSZW5kZXIuZ2V0U3RhdGljUHJvcHNcIixcbiAgICBcIkFwcFJlbmRlci5mZXRjaFwiLFxuICAgIFwiQXBwUmVuZGVyLmdldEJvZHlSZXN1bHRcIixcbiAgICBcIlJlbmRlci5yZW5kZXJEb2N1bWVudFwiLFxuICAgIFwiTm9kZS5ydW5IYW5kbGVyXCIsXG4gICAgXCJBcHBSb3V0ZVJvdXRlSGFuZGxlcnMucnVuSGFuZGxlclwiLFxuICAgIFwiUmVzb2x2ZU1ldGFkYXRhLmdlbmVyYXRlTWV0YWRhdGFcIixcbiAgICBcIlJlc29sdmVNZXRhZGF0YS5nZW5lcmF0ZVZpZXdwb3J0XCIsXG4gICAgXCJOZXh0Tm9kZVNlcnZlci5jcmVhdGVDb21wb25lbnRUcmVlXCIsXG4gICAgXCJOZXh0Tm9kZVNlcnZlci5maW5kUGFnZUNvbXBvbmVudHNcIixcbiAgICBcIk5leHROb2RlU2VydmVyLmdldExheW91dE9yUGFnZU1vZHVsZVwiLFxuICAgIFwiTmV4dE5vZGVTZXJ2ZXIuc3RhcnRSZXNwb25zZVwiLFxuICAgIFwiTmV4dE5vZGVTZXJ2ZXIuY2xpZW50Q29tcG9uZW50TG9hZGluZ1wiXG5dO1xuY29uc3QgTG9nU3BhbkFsbG93TGlzdCA9IFtcbiAgICBcIk5leHROb2RlU2VydmVyLmZpbmRQYWdlQ29tcG9uZW50c1wiLFxuICAgIFwiTmV4dE5vZGVTZXJ2ZXIuY3JlYXRlQ29tcG9uZW50VHJlZVwiLFxuICAgIFwiTmV4dE5vZGVTZXJ2ZXIuY2xpZW50Q29tcG9uZW50TG9hZGluZ1wiXG5dO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/server/lib/trace/tracer.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n SpanKind: function() {\n return SpanKind;\n },\n SpanStatusCode: function() {\n return SpanStatusCode;\n },\n getTracer: function() {\n return getTracer;\n }\n});\nconst _constants = __webpack_require__(/*! ./constants */ \"(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\");\nlet api;\n// we want to allow users to use their own version of @opentelemetry/api if they\n// want to, so we try to require it first, and if it fails we fall back to the\n// version that is bundled with Next.js\n// this is because @opentelemetry/api has to be synced with the version of\n// @opentelemetry/tracing that is used, and we don't want to force users to use\n// the version that is bundled with Next.js.\n// the API is ~stable, so this should be fine\nif (false) {} else {\n try {\n api = __webpack_require__(/*! @opentelemetry/api */ \"(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\");\n } catch (err) {\n api = __webpack_require__(/*! next/dist/compiled/@opentelemetry/api */ \"(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\");\n }\n}\nconst { context, propagation, trace, SpanStatusCode, SpanKind, ROOT_CONTEXT } = api;\nconst isPromise = (p)=>{\n return p !== null && typeof p === \"object\" && typeof p.then === \"function\";\n};\nconst closeSpanWithError = (span, error)=>{\n if ((error == null ? void 0 : error.bubble) === true) {\n span.setAttribute(\"next.bubble\", true);\n } else {\n if (error) {\n span.recordException(error);\n }\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error == null ? void 0 : error.message\n });\n }\n span.end();\n};\n/** we use this map to propagate attributes from nested spans to the top span */ const rootSpanAttributesStore = new Map();\nconst rootSpanIdKey = api.createContextKey(\"next.rootSpanId\");\nlet lastSpanId = 0;\nconst getSpanId = ()=>lastSpanId++;\nclass NextTracerImpl {\n /**\n * Returns an instance to the trace with configured name.\n * Since wrap / trace can be defined in any place prior to actual trace subscriber initialization,\n * This should be lazily evaluated.\n */ getTracerInstance() {\n return trace.getTracer(\"next.js\", \"0.0.1\");\n }\n getContext() {\n return context;\n }\n getActiveScopeSpan() {\n return trace.getSpan(context == null ? void 0 : context.active());\n }\n withPropagatedContext(carrier, fn, getter) {\n const activeContext = context.active();\n if (trace.getSpanContext(activeContext)) {\n // Active span is already set, too late to propagate.\n return fn();\n }\n const remoteContext = propagation.extract(activeContext, carrier, getter);\n return context.with(remoteContext, fn);\n }\n trace(...args) {\n var _trace_getSpanContext;\n const [type, fnOrOptions, fnOrEmpty] = args;\n // coerce options form overload\n const { fn, options } = typeof fnOrOptions === \"function\" ? {\n fn: fnOrOptions,\n options: {}\n } : {\n fn: fnOrEmpty,\n options: {\n ...fnOrOptions\n }\n };\n const spanName = options.spanName ?? type;\n if (!_constants.NextVanillaSpanAllowlist.includes(type) && process.env.NEXT_OTEL_VERBOSE !== \"1\" || options.hideSpan) {\n return fn();\n }\n // Trying to get active scoped span to assign parent. If option specifies parent span manually, will try to use it.\n let spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());\n let isRootSpan = false;\n if (!spanContext) {\n spanContext = (context == null ? void 0 : context.active()) ?? ROOT_CONTEXT;\n isRootSpan = true;\n } else if ((_trace_getSpanContext = trace.getSpanContext(spanContext)) == null ? void 0 : _trace_getSpanContext.isRemote) {\n isRootSpan = true;\n }\n const spanId = getSpanId();\n options.attributes = {\n \"next.span_name\": spanName,\n \"next.span_type\": type,\n ...options.attributes\n };\n return context.with(spanContext.setValue(rootSpanIdKey, spanId), ()=>this.getTracerInstance().startActiveSpan(spanName, options, (span)=>{\n const startTime = \"performance\" in globalThis ? globalThis.performance.now() : undefined;\n const onCleanup = ()=>{\n rootSpanAttributesStore.delete(spanId);\n if (startTime && process.env.NEXT_OTEL_PERFORMANCE_PREFIX && _constants.LogSpanAllowList.includes(type || \"\")) {\n performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-${(type.split(\".\").pop() || \"\").replace(/[A-Z]/g, (match)=>\"-\" + match.toLowerCase())}`, {\n start: startTime,\n end: performance.now()\n });\n }\n };\n if (isRootSpan) {\n rootSpanAttributesStore.set(spanId, new Map(Object.entries(options.attributes ?? {})));\n }\n try {\n if (fn.length > 1) {\n return fn(span, (err)=>closeSpanWithError(span, err));\n }\n const result = fn(span);\n if (isPromise(result)) {\n // If there's error make sure it throws\n return result.then((res)=>{\n span.end();\n // Need to pass down the promise result,\n // it could be react stream response with error { error, stream }\n return res;\n }).catch((err)=>{\n closeSpanWithError(span, err);\n throw err;\n }).finally(onCleanup);\n } else {\n span.end();\n onCleanup();\n }\n return result;\n } catch (err) {\n closeSpanWithError(span, err);\n onCleanup();\n throw err;\n }\n }));\n }\n wrap(...args) {\n const tracer = this;\n const [name, options, fn] = args.length === 3 ? args : [\n args[0],\n {},\n args[1]\n ];\n if (!_constants.NextVanillaSpanAllowlist.includes(name) && process.env.NEXT_OTEL_VERBOSE !== \"1\") {\n return fn;\n }\n return function() {\n let optionsObj = options;\n if (typeof optionsObj === \"function\" && typeof fn === \"function\") {\n optionsObj = optionsObj.apply(this, arguments);\n }\n const lastArgId = arguments.length - 1;\n const cb = arguments[lastArgId];\n if (typeof cb === \"function\") {\n const scopeBoundCb = tracer.getContext().bind(context.active(), cb);\n return tracer.trace(name, optionsObj, (_span, done)=>{\n arguments[lastArgId] = function(err) {\n done == null ? void 0 : done(err);\n return scopeBoundCb.apply(this, arguments);\n };\n return fn.apply(this, arguments);\n });\n } else {\n return tracer.trace(name, optionsObj, ()=>fn.apply(this, arguments));\n }\n };\n }\n startSpan(...args) {\n const [type, options] = args;\n const spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());\n return this.getTracerInstance().startSpan(type, options, spanContext);\n }\n getSpanContext(parentSpan) {\n const spanContext = parentSpan ? trace.setSpan(context.active(), parentSpan) : undefined;\n return spanContext;\n }\n getRootSpanAttributes() {\n const spanId = context.active().getValue(rootSpanIdKey);\n return rootSpanAttributesStore.get(spanId);\n }\n}\nconst getTracer = (()=>{\n const tracer = new NextTracerImpl();\n return ()=>tracer;\n})();\n\n//# sourceMappingURL=tracer.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvdHJhY2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsbUJBQW1CLG1CQUFPLENBQUMsaUZBQWE7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksS0FBbUMsRUFBRSxFQUV4QyxDQUFDO0FBQ0Y7QUFDQSxjQUFjLG1CQUFPLENBQUMsK0ZBQW9CO0FBQzFDLE1BQU07QUFDTixjQUFjLG1CQUFPLENBQUMsa0hBQXVDO0FBQzdEO0FBQ0E7QUFDQSxRQUFRLHNFQUFzRTtBQUM5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGNBQWM7QUFDOUI7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0MseUNBQXlDLFFBQVEsb0ZBQW9GO0FBQ3BMO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EsdUdBQXVHO0FBQ3ZHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4RUFBOEU7QUFDOUU7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QixzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvbGliL3RyYWNlL3RyYWNlci5qcz84MmE2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgU3BhbktpbmQ6IG51bGwsXG4gICAgU3BhblN0YXR1c0NvZGU6IG51bGwsXG4gICAgZ2V0VHJhY2VyOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFNwYW5LaW5kOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNwYW5LaW5kO1xuICAgIH0sXG4gICAgU3BhblN0YXR1c0NvZGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU3BhblN0YXR1c0NvZGU7XG4gICAgfSxcbiAgICBnZXRUcmFjZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VHJhY2VyO1xuICAgIH1cbn0pO1xuY29uc3QgX2NvbnN0YW50cyA9IHJlcXVpcmUoXCIuL2NvbnN0YW50c1wiKTtcbmxldCBhcGk7XG4vLyB3ZSB3YW50IHRvIGFsbG93IHVzZXJzIHRvIHVzZSB0aGVpciBvd24gdmVyc2lvbiBvZiBAb3BlbnRlbGVtZXRyeS9hcGkgaWYgdGhleVxuLy8gd2FudCB0bywgc28gd2UgdHJ5IHRvIHJlcXVpcmUgaXQgZmlyc3QsIGFuZCBpZiBpdCBmYWlscyB3ZSBmYWxsIGJhY2sgdG8gdGhlXG4vLyB2ZXJzaW9uIHRoYXQgaXMgYnVuZGxlZCB3aXRoIE5leHQuanNcbi8vIHRoaXMgaXMgYmVjYXVzZSBAb3BlbnRlbGVtZXRyeS9hcGkgaGFzIHRvIGJlIHN5bmNlZCB3aXRoIHRoZSB2ZXJzaW9uIG9mXG4vLyBAb3BlbnRlbGVtZXRyeS90cmFjaW5nIHRoYXQgaXMgdXNlZCwgYW5kIHdlIGRvbid0IHdhbnQgdG8gZm9yY2UgdXNlcnMgdG8gdXNlXG4vLyB0aGUgdmVyc2lvbiB0aGF0IGlzIGJ1bmRsZWQgd2l0aCBOZXh0LmpzLlxuLy8gdGhlIEFQSSBpcyB+c3RhYmxlLCBzbyB0aGlzIHNob3VsZCBiZSBmaW5lXG5pZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIikge1xuICAgIGFwaSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9hcGlcIik7XG59IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICAgIGFwaSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9hcGlcIik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGFwaSA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvQG9wZW50ZWxlbWV0cnkvYXBpXCIpO1xuICAgIH1cbn1cbmNvbnN0IHsgY29udGV4dCwgcHJvcGFnYXRpb24sIHRyYWNlLCBTcGFuU3RhdHVzQ29kZSwgU3BhbktpbmQsIFJPT1RfQ09OVEVYVCB9ID0gYXBpO1xuY29uc3QgaXNQcm9taXNlID0gKHApPT57XG4gICAgcmV0dXJuIHAgIT09IG51bGwgJiYgdHlwZW9mIHAgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHAudGhlbiA9PT0gXCJmdW5jdGlvblwiO1xufTtcbmNvbnN0IGNsb3NlU3BhbldpdGhFcnJvciA9IChzcGFuLCBlcnJvcik9PntcbiAgICBpZiAoKGVycm9yID09IG51bGwgPyB2b2lkIDAgOiBlcnJvci5idWJibGUpID09PSB0cnVlKSB7XG4gICAgICAgIHNwYW4uc2V0QXR0cmlidXRlKFwibmV4dC5idWJibGVcIiwgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICBzcGFuLnJlY29yZEV4Y2VwdGlvbihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5zZXRTdGF0dXMoe1xuICAgICAgICAgICAgY29kZTogU3BhblN0YXR1c0NvZGUuRVJST1IsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvciA9PSBudWxsID8gdm9pZCAwIDogZXJyb3IubWVzc2FnZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3Bhbi5lbmQoKTtcbn07XG4vKiogd2UgdXNlIHRoaXMgbWFwIHRvIHByb3BhZ2F0ZSBhdHRyaWJ1dGVzIGZyb20gbmVzdGVkIHNwYW5zIHRvIHRoZSB0b3Agc3BhbiAqLyBjb25zdCByb290U3BhbkF0dHJpYnV0ZXNTdG9yZSA9IG5ldyBNYXAoKTtcbmNvbnN0IHJvb3RTcGFuSWRLZXkgPSBhcGkuY3JlYXRlQ29udGV4dEtleShcIm5leHQucm9vdFNwYW5JZFwiKTtcbmxldCBsYXN0U3BhbklkID0gMDtcbmNvbnN0IGdldFNwYW5JZCA9ICgpPT5sYXN0U3BhbklkKys7XG5jbGFzcyBOZXh0VHJhY2VySW1wbCB7XG4gICAgLyoqXG4gICAqIFJldHVybnMgYW4gaW5zdGFuY2UgdG8gdGhlIHRyYWNlIHdpdGggY29uZmlndXJlZCBuYW1lLlxuICAgKiBTaW5jZSB3cmFwIC8gdHJhY2UgY2FuIGJlIGRlZmluZWQgaW4gYW55IHBsYWNlIHByaW9yIHRvIGFjdHVhbCB0cmFjZSBzdWJzY3JpYmVyIGluaXRpYWxpemF0aW9uLFxuICAgKiBUaGlzIHNob3VsZCBiZSBsYXppbHkgZXZhbHVhdGVkLlxuICAgKi8gZ2V0VHJhY2VySW5zdGFuY2UoKSB7XG4gICAgICAgIHJldHVybiB0cmFjZS5nZXRUcmFjZXIoXCJuZXh0LmpzXCIsIFwiMC4wLjFcIik7XG4gICAgfVxuICAgIGdldENvbnRleHQoKSB7XG4gICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgIH1cbiAgICBnZXRBY3RpdmVTY29wZVNwYW4oKSB7XG4gICAgICAgIHJldHVybiB0cmFjZS5nZXRTcGFuKGNvbnRleHQgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbnRleHQuYWN0aXZlKCkpO1xuICAgIH1cbiAgICB3aXRoUHJvcGFnYXRlZENvbnRleHQoY2FycmllciwgZm4sIGdldHRlcikge1xuICAgICAgICBjb25zdCBhY3RpdmVDb250ZXh0ID0gY29udGV4dC5hY3RpdmUoKTtcbiAgICAgICAgaWYgKHRyYWNlLmdldFNwYW5Db250ZXh0KGFjdGl2ZUNvbnRleHQpKSB7XG4gICAgICAgICAgICAvLyBBY3RpdmUgc3BhbiBpcyBhbHJlYWR5IHNldCwgdG9vIGxhdGUgdG8gcHJvcGFnYXRlLlxuICAgICAgICAgICAgcmV0dXJuIGZuKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVtb3RlQ29udGV4dCA9IHByb3BhZ2F0aW9uLmV4dHJhY3QoYWN0aXZlQ29udGV4dCwgY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQud2l0aChyZW1vdGVDb250ZXh0LCBmbik7XG4gICAgfVxuICAgIHRyYWNlKC4uLmFyZ3MpIHtcbiAgICAgICAgdmFyIF90cmFjZV9nZXRTcGFuQ29udGV4dDtcbiAgICAgICAgY29uc3QgW3R5cGUsIGZuT3JPcHRpb25zLCBmbk9yRW1wdHldID0gYXJncztcbiAgICAgICAgLy8gY29lcmNlIG9wdGlvbnMgZm9ybSBvdmVybG9hZFxuICAgICAgICBjb25zdCB7IGZuLCBvcHRpb25zIH0gPSB0eXBlb2YgZm5Pck9wdGlvbnMgPT09IFwiZnVuY3Rpb25cIiA/IHtcbiAgICAgICAgICAgIGZuOiBmbk9yT3B0aW9ucyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHt9XG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgICBmbjogZm5PckVtcHR5LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIC4uLmZuT3JPcHRpb25zXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNwYW5OYW1lID0gb3B0aW9ucy5zcGFuTmFtZSA/PyB0eXBlO1xuICAgICAgICBpZiAoIV9jb25zdGFudHMuTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0LmluY2x1ZGVzKHR5cGUpICYmIHByb2Nlc3MuZW52Lk5FWFRfT1RFTF9WRVJCT1NFICE9PSBcIjFcIiB8fCBvcHRpb25zLmhpZGVTcGFuKSB7XG4gICAgICAgICAgICByZXR1cm4gZm4oKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUcnlpbmcgdG8gZ2V0IGFjdGl2ZSBzY29wZWQgc3BhbiB0byBhc3NpZ24gcGFyZW50LiBJZiBvcHRpb24gc3BlY2lmaWVzIHBhcmVudCBzcGFuIG1hbnVhbGx5LCB3aWxsIHRyeSB0byB1c2UgaXQuXG4gICAgICAgIGxldCBzcGFuQ29udGV4dCA9IHRoaXMuZ2V0U3BhbkNvbnRleHQoKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMucGFyZW50U3BhbikgPz8gdGhpcy5nZXRBY3RpdmVTY29wZVNwYW4oKSk7XG4gICAgICAgIGxldCBpc1Jvb3RTcGFuID0gZmFsc2U7XG4gICAgICAgIGlmICghc3BhbkNvbnRleHQpIHtcbiAgICAgICAgICAgIHNwYW5Db250ZXh0ID0gKGNvbnRleHQgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbnRleHQuYWN0aXZlKCkpID8/IFJPT1RfQ09OVEVYVDtcbiAgICAgICAgICAgIGlzUm9vdFNwYW4gPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKChfdHJhY2VfZ2V0U3BhbkNvbnRleHQgPSB0cmFjZS5nZXRTcGFuQ29udGV4dChzcGFuQ29udGV4dCkpID09IG51bGwgPyB2b2lkIDAgOiBfdHJhY2VfZ2V0U3BhbkNvbnRleHQuaXNSZW1vdGUpIHtcbiAgICAgICAgICAgIGlzUm9vdFNwYW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNwYW5JZCA9IGdldFNwYW5JZCgpO1xuICAgICAgICBvcHRpb25zLmF0dHJpYnV0ZXMgPSB7XG4gICAgICAgICAgICBcIm5leHQuc3Bhbl9uYW1lXCI6IHNwYW5OYW1lLFxuICAgICAgICAgICAgXCJuZXh0LnNwYW5fdHlwZVwiOiB0eXBlLFxuICAgICAgICAgICAgLi4ub3B0aW9ucy5hdHRyaWJ1dGVzXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBjb250ZXh0LndpdGgoc3BhbkNvbnRleHQuc2V0VmFsdWUocm9vdFNwYW5JZEtleSwgc3BhbklkKSwgKCk9PnRoaXMuZ2V0VHJhY2VySW5zdGFuY2UoKS5zdGFydEFjdGl2ZVNwYW4oc3Bhbk5hbWUsIG9wdGlvbnMsIChzcGFuKT0+e1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IFwicGVyZm9ybWFuY2VcIiBpbiBnbG9iYWxUaGlzID8gZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5ub3coKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBjb25zdCBvbkNsZWFudXAgPSAoKT0+e1xuICAgICAgICAgICAgICAgICAgICByb290U3BhbkF0dHJpYnV0ZXNTdG9yZS5kZWxldGUoc3BhbklkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0VGltZSAmJiBwcm9jZXNzLmVudi5ORVhUX09URUxfUEVSRk9STUFOQ0VfUFJFRklYICYmIF9jb25zdGFudHMuTG9nU3BhbkFsbG93TGlzdC5pbmNsdWRlcyh0eXBlIHx8IFwiXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS5tZWFzdXJlKGAke3Byb2Nlc3MuZW52Lk5FWFRfT1RFTF9QRVJGT1JNQU5DRV9QUkVGSVh9Om5leHQtJHsodHlwZS5zcGxpdChcIi5cIikucG9wKCkgfHwgXCJcIikucmVwbGFjZSgvW0EtWl0vZywgKG1hdGNoKT0+XCItXCIgKyBtYXRjaC50b0xvd2VyQ2FzZSgpKX1gLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0VGltZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IHBlcmZvcm1hbmNlLm5vdygpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGlzUm9vdFNwYW4pIHtcbiAgICAgICAgICAgICAgICAgICAgcm9vdFNwYW5BdHRyaWJ1dGVzU3RvcmUuc2V0KHNwYW5JZCwgbmV3IE1hcChPYmplY3QuZW50cmllcyhvcHRpb25zLmF0dHJpYnV0ZXMgPz8ge30pKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbi5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm4oc3BhbiwgKGVycik9PmNsb3NlU3BhbldpdGhFcnJvcihzcGFuLCBlcnIpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBmbihzcGFuKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzUHJvbWlzZShyZXN1bHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSdzIGVycm9yIG1ha2Ugc3VyZSBpdCB0aHJvd3NcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQudGhlbigocmVzKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4uZW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTmVlZCB0byBwYXNzIGRvd24gdGhlIHByb21pc2UgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGl0IGNvdWxkIGJlIHJlYWN0IHN0cmVhbSByZXNwb25zZSB3aXRoIGVycm9yIHsgZXJyb3IsIHN0cmVhbSB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VTcGFuV2l0aEVycm9yKHNwYW4sIGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkuZmluYWxseShvbkNsZWFudXApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Bhbi5lbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xlYW51cCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlU3BhbldpdGhFcnJvcihzcGFuLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICBvbkNsZWFudXAoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICB9XG4gICAgd3JhcCguLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHRyYWNlciA9IHRoaXM7XG4gICAgICAgIGNvbnN0IFtuYW1lLCBvcHRpb25zLCBmbl0gPSBhcmdzLmxlbmd0aCA9PT0gMyA/IGFyZ3MgOiBbXG4gICAgICAgICAgICBhcmdzWzBdLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgICBhcmdzWzFdXG4gICAgICAgIF07XG4gICAgICAgIGlmICghX2NvbnN0YW50cy5OZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3QuaW5jbHVkZXMobmFtZSkgJiYgcHJvY2Vzcy5lbnYuTkVYVF9PVEVMX1ZFUkJPU0UgIT09IFwiMVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZm47XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgbGV0IG9wdGlvbnNPYmogPSBvcHRpb25zO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zT2JqID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIGZuID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zT2JqID0gb3B0aW9uc09iai5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFzdEFyZ0lkID0gYXJndW1lbnRzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBjb25zdCBjYiA9IGFyZ3VtZW50c1tsYXN0QXJnSWRdO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjYiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2NvcGVCb3VuZENiID0gdHJhY2VyLmdldENvbnRleHQoKS5iaW5kKGNvbnRleHQuYWN0aXZlKCksIGNiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhY2VyLnRyYWNlKG5hbWUsIG9wdGlvbnNPYmosIChfc3BhbiwgZG9uZSk9PntcbiAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzW2xhc3RBcmdJZF0gPSBmdW5jdGlvbihlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUgPT0gbnVsbCA/IHZvaWQgMCA6IGRvbmUoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzY29wZUJvdW5kQ2IuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFjZXIudHJhY2UobmFtZSwgb3B0aW9uc09iaiwgKCk9PmZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbiAgICBzdGFydFNwYW4oLi4uYXJncykge1xuICAgICAgICBjb25zdCBbdHlwZSwgb3B0aW9uc10gPSBhcmdzO1xuICAgICAgICBjb25zdCBzcGFuQ29udGV4dCA9IHRoaXMuZ2V0U3BhbkNvbnRleHQoKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMucGFyZW50U3BhbikgPz8gdGhpcy5nZXRBY3RpdmVTY29wZVNwYW4oKSk7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRyYWNlckluc3RhbmNlKCkuc3RhcnRTcGFuKHR5cGUsIG9wdGlvbnMsIHNwYW5Db250ZXh0KTtcbiAgICB9XG4gICAgZ2V0U3BhbkNvbnRleHQocGFyZW50U3Bhbikge1xuICAgICAgICBjb25zdCBzcGFuQ29udGV4dCA9IHBhcmVudFNwYW4gPyB0cmFjZS5zZXRTcGFuKGNvbnRleHQuYWN0aXZlKCksIHBhcmVudFNwYW4pIDogdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gc3BhbkNvbnRleHQ7XG4gICAgfVxuICAgIGdldFJvb3RTcGFuQXR0cmlidXRlcygpIHtcbiAgICAgICAgY29uc3Qgc3BhbklkID0gY29udGV4dC5hY3RpdmUoKS5nZXRWYWx1ZShyb290U3BhbklkS2V5KTtcbiAgICAgICAgcmV0dXJuIHJvb3RTcGFuQXR0cmlidXRlc1N0b3JlLmdldChzcGFuSWQpO1xuICAgIH1cbn1cbmNvbnN0IGdldFRyYWNlciA9ICgoKT0+e1xuICAgIGNvbnN0IHRyYWNlciA9IG5ldyBOZXh0VHJhY2VySW1wbCgpO1xuICAgIHJldHVybiAoKT0+dHJhY2VyO1xufSkoKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHJhY2VyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/server-utils.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/server/server-utils.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getUtils: function() {\n return getUtils;\n },\n interpolateDynamicPath: function() {\n return interpolateDynamicPath;\n },\n normalizeDynamicRouteParams: function() {\n return normalizeDynamicRouteParams;\n },\n normalizeVercelUrl: function() {\n return normalizeVercelUrl;\n }\n});\nconst _url = __webpack_require__(/*! url */ \"url\");\nconst _normalizelocalepath = __webpack_require__(/*! ../shared/lib/i18n/normalize-locale-path */ \"(rsc)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _pathmatch = __webpack_require__(/*! ../shared/lib/router/utils/path-match */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/path-match.js\");\nconst _routeregex = __webpack_require__(/*! ../shared/lib/router/utils/route-regex */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nconst _routematcher = __webpack_require__(/*! ../shared/lib/router/utils/route-matcher */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _preparedestination = __webpack_require__(/*! ../shared/lib/router/utils/prepare-destination */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/prepare-destination.js\");\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _apppaths = __webpack_require__(/*! ../shared/lib/router/utils/app-paths */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst _constants = __webpack_require__(/*! ../lib/constants */ \"(rsc)/./node_modules/next/dist/lib/constants.js\");\nfunction normalizeVercelUrl(req, trustQuery, paramKeys, pageIsDynamic, defaultRouteRegex) {\n // make sure to normalize req.url on Vercel to strip dynamic params\n // from the query which are added during routing\n if (pageIsDynamic && trustQuery && defaultRouteRegex) {\n const _parsedUrl = (0, _url.parse)(req.url, true);\n delete _parsedUrl.search;\n for (const key of Object.keys(_parsedUrl.query)){\n if (key !== _constants.NEXT_QUERY_PARAM_PREFIX && key.startsWith(_constants.NEXT_QUERY_PARAM_PREFIX) || (paramKeys || Object.keys(defaultRouteRegex.groups)).includes(key)) {\n delete _parsedUrl.query[key];\n }\n }\n req.url = (0, _url.format)(_parsedUrl);\n }\n}\nfunction interpolateDynamicPath(pathname, params, defaultRouteRegex) {\n if (!defaultRouteRegex) return pathname;\n for (const param of Object.keys(defaultRouteRegex.groups)){\n const { optional, repeat } = defaultRouteRegex.groups[param];\n let builtParam = `[${repeat ? \"...\" : \"\"}${param}]`;\n if (optional) {\n builtParam = `[${builtParam}]`;\n }\n const paramIdx = pathname.indexOf(builtParam);\n if (paramIdx > -1) {\n let paramValue;\n const value = params[param];\n if (Array.isArray(value)) {\n paramValue = value.map((v)=>v && encodeURIComponent(v)).join(\"/\");\n } else if (value) {\n paramValue = encodeURIComponent(value);\n } else {\n paramValue = \"\";\n }\n pathname = pathname.slice(0, paramIdx) + paramValue + pathname.slice(paramIdx + builtParam.length);\n }\n }\n return pathname;\n}\nfunction normalizeDynamicRouteParams(params, ignoreOptional, defaultRouteRegex, defaultRouteMatches) {\n let hasValidParams = true;\n if (!defaultRouteRegex) return {\n params,\n hasValidParams: false\n };\n params = Object.keys(defaultRouteRegex.groups).reduce((prev, key)=>{\n let value = params[key];\n if (typeof value === \"string\") {\n value = (0, _apppaths.normalizeRscURL)(value);\n }\n if (Array.isArray(value)) {\n value = value.map((val)=>{\n if (typeof val === \"string\") {\n val = (0, _apppaths.normalizeRscURL)(val);\n }\n return val;\n });\n }\n // if the value matches the default value we can't rely\n // on the parsed params, this is used to signal if we need\n // to parse x-now-route-matches or not\n const defaultValue = defaultRouteMatches[key];\n const isOptional = defaultRouteRegex.groups[key].optional;\n const isDefaultValue = Array.isArray(defaultValue) ? defaultValue.some((defaultVal)=>{\n return Array.isArray(value) ? value.some((val)=>val.includes(defaultVal)) : value == null ? void 0 : value.includes(defaultVal);\n }) : value == null ? void 0 : value.includes(defaultValue);\n if (isDefaultValue || typeof value === \"undefined\" && !(isOptional && ignoreOptional)) {\n hasValidParams = false;\n }\n // non-provided optional values should be undefined so normalize\n // them to undefined\n if (isOptional && (!value || Array.isArray(value) && value.length === 1 && // fallback optional catch-all SSG pages have\n // [[...paramName]] for the root path on Vercel\n (value[0] === \"index\" || value[0] === `[[...${key}]]`))) {\n value = undefined;\n delete params[key];\n }\n // query values from the proxy aren't already split into arrays\n // so make sure to normalize catch-all values\n if (value && typeof value === \"string\" && defaultRouteRegex.groups[key].repeat) {\n value = value.split(\"/\");\n }\n if (value) {\n prev[key] = value;\n }\n return prev;\n }, {});\n return {\n params,\n hasValidParams\n };\n}\nfunction getUtils({ page, i18n, basePath, rewrites, pageIsDynamic, trailingSlash, caseSensitive }) {\n let defaultRouteRegex;\n let dynamicRouteMatcher;\n let defaultRouteMatches;\n if (pageIsDynamic) {\n defaultRouteRegex = (0, _routeregex.getNamedRouteRegex)(page, false);\n dynamicRouteMatcher = (0, _routematcher.getRouteMatcher)(defaultRouteRegex);\n defaultRouteMatches = dynamicRouteMatcher(page);\n }\n function handleRewrites(req, parsedUrl) {\n const rewriteParams = {};\n let fsPathname = parsedUrl.pathname;\n const matchesPage = ()=>{\n const fsPathnameNoSlash = (0, _removetrailingslash.removeTrailingSlash)(fsPathname || \"\");\n return fsPathnameNoSlash === (0, _removetrailingslash.removeTrailingSlash)(page) || (dynamicRouteMatcher == null ? void 0 : dynamicRouteMatcher(fsPathnameNoSlash));\n };\n const checkRewrite = (rewrite)=>{\n const matcher = (0, _pathmatch.getPathMatch)(rewrite.source + (trailingSlash ? \"(/)?\" : \"\"), {\n removeUnnamedParams: true,\n strict: true,\n sensitive: !!caseSensitive\n });\n let params = matcher(parsedUrl.pathname);\n if ((rewrite.has || rewrite.missing) && params) {\n const hasParams = (0, _preparedestination.matchHas)(req, parsedUrl.query, rewrite.has, rewrite.missing);\n if (hasParams) {\n Object.assign(params, hasParams);\n } else {\n params = false;\n }\n }\n if (params) {\n const { parsedDestination, destQuery } = (0, _preparedestination.prepareDestination)({\n appendParamsToQuery: true,\n destination: rewrite.destination,\n params: params,\n query: parsedUrl.query\n });\n // if the rewrite destination is external break rewrite chain\n if (parsedDestination.protocol) {\n return true;\n }\n Object.assign(rewriteParams, destQuery, params);\n Object.assign(parsedUrl.query, parsedDestination.query);\n delete parsedDestination.query;\n Object.assign(parsedUrl, parsedDestination);\n fsPathname = parsedUrl.pathname;\n if (basePath) {\n fsPathname = fsPathname.replace(new RegExp(`^${basePath}`), \"\") || \"/\";\n }\n if (i18n) {\n const destLocalePathResult = (0, _normalizelocalepath.normalizeLocalePath)(fsPathname, i18n.locales);\n fsPathname = destLocalePathResult.pathname;\n parsedUrl.query.nextInternalLocale = destLocalePathResult.detectedLocale || params.nextInternalLocale;\n }\n if (fsPathname === page) {\n return true;\n }\n if (pageIsDynamic && dynamicRouteMatcher) {\n const dynamicParams = dynamicRouteMatcher(fsPathname);\n if (dynamicParams) {\n parsedUrl.query = {\n ...parsedUrl.query,\n ...dynamicParams\n };\n return true;\n }\n }\n }\n return false;\n };\n for (const rewrite of rewrites.beforeFiles || []){\n checkRewrite(rewrite);\n }\n if (fsPathname !== page) {\n let finished = false;\n for (const rewrite of rewrites.afterFiles || []){\n finished = checkRewrite(rewrite);\n if (finished) break;\n }\n if (!finished && !matchesPage()) {\n for (const rewrite of rewrites.fallback || []){\n finished = checkRewrite(rewrite);\n if (finished) break;\n }\n }\n }\n return rewriteParams;\n }\n function getParamsFromRouteMatches(req, renderOpts, detectedLocale) {\n return (0, _routematcher.getRouteMatcher)(function() {\n const { groups, routeKeys } = defaultRouteRegex;\n return {\n re: {\n // Simulate a RegExp match from the \\`req.url\\` input\n exec: (str)=>{\n const obj = Object.fromEntries(new URLSearchParams(str));\n const matchesHasLocale = i18n && detectedLocale && obj[\"1\"] === detectedLocale;\n for (const key of Object.keys(obj)){\n const value = obj[key];\n if (key !== _constants.NEXT_QUERY_PARAM_PREFIX && key.startsWith(_constants.NEXT_QUERY_PARAM_PREFIX)) {\n const normalizedKey = key.substring(_constants.NEXT_QUERY_PARAM_PREFIX.length);\n obj[normalizedKey] = value;\n delete obj[key];\n }\n }\n // favor named matches if available\n const routeKeyNames = Object.keys(routeKeys || {});\n const filterLocaleItem = (val)=>{\n if (i18n) {\n // locale items can be included in route-matches\n // for fallback SSG pages so ensure they are\n // filtered\n const isCatchAll = Array.isArray(val);\n const _val = isCatchAll ? val[0] : val;\n if (typeof _val === \"string\" && i18n.locales.some((item)=>{\n if (item.toLowerCase() === _val.toLowerCase()) {\n detectedLocale = item;\n renderOpts.locale = detectedLocale;\n return true;\n }\n return false;\n })) {\n // remove the locale item from the match\n if (isCatchAll) {\n val.splice(0, 1);\n }\n // the value is only a locale item and\n // shouldn't be added\n return isCatchAll ? val.length === 0 : true;\n }\n }\n return false;\n };\n if (routeKeyNames.every((name)=>obj[name])) {\n return routeKeyNames.reduce((prev, keyName)=>{\n const paramName = routeKeys == null ? void 0 : routeKeys[keyName];\n if (paramName && !filterLocaleItem(obj[keyName])) {\n prev[groups[paramName].pos] = obj[keyName];\n }\n return prev;\n }, {});\n }\n return Object.keys(obj).reduce((prev, key)=>{\n if (!filterLocaleItem(obj[key])) {\n let normalizedKey = key;\n if (matchesHasLocale) {\n normalizedKey = parseInt(key, 10) - 1 + \"\";\n }\n return Object.assign(prev, {\n [normalizedKey]: obj[key]\n });\n }\n return prev;\n }, {});\n }\n },\n groups\n };\n }())(req.headers[\"x-now-route-matches\"]);\n }\n return {\n handleRewrites,\n defaultRouteRegex,\n dynamicRouteMatcher,\n defaultRouteMatches,\n getParamsFromRouteMatches,\n normalizeDynamicRouteParams: (params, ignoreOptional)=>normalizeDynamicRouteParams(params, ignoreOptional, defaultRouteRegex, defaultRouteMatches),\n normalizeVercelUrl: (req, trustQuery, paramKeys)=>normalizeVercelUrl(req, trustQuery, paramKeys, pageIsDynamic, defaultRouteRegex),\n interpolateDynamicPath: (pathname, params)=>interpolateDynamicPath(pathname, params, defaultRouteRegex)\n };\n}\n\n//# sourceMappingURL=server-utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9zZXJ2ZXItdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBS0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGFBQWEsbUJBQU8sQ0FBQyxnQkFBSztBQUMxQiw2QkFBNkIsbUJBQU8sQ0FBQyx5SEFBMEM7QUFDL0UsbUJBQW1CLG1CQUFPLENBQUMsbUhBQXVDO0FBQ2xFLG9CQUFvQixtQkFBTyxDQUFDLHFIQUF3QztBQUNwRSxzQkFBc0IsbUJBQU8sQ0FBQyx5SEFBMEM7QUFDeEUsNEJBQTRCLG1CQUFPLENBQUMscUlBQWdEO0FBQ3BGLDZCQUE2QixtQkFBTyxDQUFDLHlJQUFrRDtBQUN2RixrQkFBa0IsbUJBQU8sQ0FBQyxpSEFBc0M7QUFDaEUsbUJBQW1CLG1CQUFPLENBQUMseUVBQWtCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsbUJBQW1CO0FBQ25DLDZCQUE2QixvQkFBb0IsRUFBRSxNQUFNO0FBQ3pEO0FBQ0EsNkJBQTZCLFdBQVc7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QsSUFBSTtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLElBQUk7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDZFQUE2RTtBQUNqRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsK0JBQStCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FLFNBQVM7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLG9CQUFvQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5RUFBeUU7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsSUFBSTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBLHlCQUF5QixJQUFJO0FBQzdCO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvc2VydmVyLXV0aWxzLmpzPzY5OWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRVdGlsczogbnVsbCxcbiAgICBpbnRlcnBvbGF0ZUR5bmFtaWNQYXRoOiBudWxsLFxuICAgIG5vcm1hbGl6ZUR5bmFtaWNSb3V0ZVBhcmFtczogbnVsbCxcbiAgICBub3JtYWxpemVWZXJjZWxVcmw6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZ2V0VXRpbHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VXRpbHM7XG4gICAgfSxcbiAgICBpbnRlcnBvbGF0ZUR5bmFtaWNQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGludGVycG9sYXRlRHluYW1pY1BhdGg7XG4gICAgfSxcbiAgICBub3JtYWxpemVEeW5hbWljUm91dGVQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplRHluYW1pY1JvdXRlUGFyYW1zO1xuICAgIH0sXG4gICAgbm9ybWFsaXplVmVyY2VsVXJsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVZlcmNlbFVybDtcbiAgICB9XG59KTtcbmNvbnN0IF91cmwgPSByZXF1aXJlKFwidXJsXCIpO1xuY29uc3QgX25vcm1hbGl6ZWxvY2FsZXBhdGggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9pMThuL25vcm1hbGl6ZS1sb2NhbGUtcGF0aFwiKTtcbmNvbnN0IF9wYXRobWF0Y2ggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGF0aC1tYXRjaFwiKTtcbmNvbnN0IF9yb3V0ZXJlZ2V4ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4XCIpO1xuY29uc3QgX3JvdXRlbWF0Y2hlciA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyXCIpO1xuY29uc3QgX3ByZXBhcmVkZXN0aW5hdGlvbiA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wcmVwYXJlLWRlc3RpbmF0aW9uXCIpO1xuY29uc3QgX3JlbW92ZXRyYWlsaW5nc2xhc2ggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgX2FwcHBhdGhzID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRoc1wiKTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vbGliL2NvbnN0YW50c1wiKTtcbmZ1bmN0aW9uIG5vcm1hbGl6ZVZlcmNlbFVybChyZXEsIHRydXN0UXVlcnksIHBhcmFtS2V5cywgcGFnZUlzRHluYW1pYywgZGVmYXVsdFJvdXRlUmVnZXgpIHtcbiAgICAvLyBtYWtlIHN1cmUgdG8gbm9ybWFsaXplIHJlcS51cmwgb24gVmVyY2VsIHRvIHN0cmlwIGR5bmFtaWMgcGFyYW1zXG4gICAgLy8gZnJvbSB0aGUgcXVlcnkgd2hpY2ggYXJlIGFkZGVkIGR1cmluZyByb3V0aW5nXG4gICAgaWYgKHBhZ2VJc0R5bmFtaWMgJiYgdHJ1c3RRdWVyeSAmJiBkZWZhdWx0Um91dGVSZWdleCkge1xuICAgICAgICBjb25zdCBfcGFyc2VkVXJsID0gKDAsIF91cmwucGFyc2UpKHJlcS51cmwsIHRydWUpO1xuICAgICAgICBkZWxldGUgX3BhcnNlZFVybC5zZWFyY2g7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKF9wYXJzZWRVcmwucXVlcnkpKXtcbiAgICAgICAgICAgIGlmIChrZXkgIT09IF9jb25zdGFudHMuTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVggJiYga2V5LnN0YXJ0c1dpdGgoX2NvbnN0YW50cy5ORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCkgfHwgKHBhcmFtS2V5cyB8fCBPYmplY3Qua2V5cyhkZWZhdWx0Um91dGVSZWdleC5ncm91cHMpKS5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIF9wYXJzZWRVcmwucXVlcnlba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXEudXJsID0gKDAsIF91cmwuZm9ybWF0KShfcGFyc2VkVXJsKTtcbiAgICB9XG59XG5mdW5jdGlvbiBpbnRlcnBvbGF0ZUR5bmFtaWNQYXRoKHBhdGhuYW1lLCBwYXJhbXMsIGRlZmF1bHRSb3V0ZVJlZ2V4KSB7XG4gICAgaWYgKCFkZWZhdWx0Um91dGVSZWdleCkgcmV0dXJuIHBhdGhuYW1lO1xuICAgIGZvciAoY29uc3QgcGFyYW0gb2YgT2JqZWN0LmtleXMoZGVmYXVsdFJvdXRlUmVnZXguZ3JvdXBzKSl7XG4gICAgICAgIGNvbnN0IHsgb3B0aW9uYWwsIHJlcGVhdCB9ID0gZGVmYXVsdFJvdXRlUmVnZXguZ3JvdXBzW3BhcmFtXTtcbiAgICAgICAgbGV0IGJ1aWx0UGFyYW0gPSBgWyR7cmVwZWF0ID8gXCIuLi5cIiA6IFwiXCJ9JHtwYXJhbX1dYDtcbiAgICAgICAgaWYgKG9wdGlvbmFsKSB7XG4gICAgICAgICAgICBidWlsdFBhcmFtID0gYFske2J1aWx0UGFyYW19XWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyYW1JZHggPSBwYXRobmFtZS5pbmRleE9mKGJ1aWx0UGFyYW0pO1xuICAgICAgICBpZiAocGFyYW1JZHggPiAtMSkge1xuICAgICAgICAgICAgbGV0IHBhcmFtVmFsdWU7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtc1twYXJhbV07XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBwYXJhbVZhbHVlID0gdmFsdWUubWFwKCh2KT0+diAmJiBlbmNvZGVVUklDb21wb25lbnQodikpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHBhcmFtVmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJhbVZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGhuYW1lID0gcGF0aG5hbWUuc2xpY2UoMCwgcGFyYW1JZHgpICsgcGFyYW1WYWx1ZSArIHBhdGhuYW1lLnNsaWNlKHBhcmFtSWR4ICsgYnVpbHRQYXJhbS5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXRobmFtZTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZUR5bmFtaWNSb3V0ZVBhcmFtcyhwYXJhbXMsIGlnbm9yZU9wdGlvbmFsLCBkZWZhdWx0Um91dGVSZWdleCwgZGVmYXVsdFJvdXRlTWF0Y2hlcykge1xuICAgIGxldCBoYXNWYWxpZFBhcmFtcyA9IHRydWU7XG4gICAgaWYgKCFkZWZhdWx0Um91dGVSZWdleCkgcmV0dXJuIHtcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBoYXNWYWxpZFBhcmFtczogZmFsc2VcbiAgICB9O1xuICAgIHBhcmFtcyA9IE9iamVjdC5rZXlzKGRlZmF1bHRSb3V0ZVJlZ2V4Lmdyb3VwcykucmVkdWNlKChwcmV2LCBrZXkpPT57XG4gICAgICAgIGxldCB2YWx1ZSA9IHBhcmFtc1trZXldO1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICgwLCBfYXBwcGF0aHMubm9ybWFsaXplUnNjVVJMKSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLm1hcCgodmFsKT0+e1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9ICgwLCBfYXBwcGF0aHMubm9ybWFsaXplUnNjVVJMKSh2YWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgdGhlIHZhbHVlIG1hdGNoZXMgdGhlIGRlZmF1bHQgdmFsdWUgd2UgY2FuJ3QgcmVseVxuICAgICAgICAvLyBvbiB0aGUgcGFyc2VkIHBhcmFtcywgdGhpcyBpcyB1c2VkIHRvIHNpZ25hbCBpZiB3ZSBuZWVkXG4gICAgICAgIC8vIHRvIHBhcnNlIHgtbm93LXJvdXRlLW1hdGNoZXMgb3Igbm90XG4gICAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRSb3V0ZU1hdGNoZXNba2V5XTtcbiAgICAgICAgY29uc3QgaXNPcHRpb25hbCA9IGRlZmF1bHRSb3V0ZVJlZ2V4Lmdyb3Vwc1trZXldLm9wdGlvbmFsO1xuICAgICAgICBjb25zdCBpc0RlZmF1bHRWYWx1ZSA9IEFycmF5LmlzQXJyYXkoZGVmYXVsdFZhbHVlKSA/IGRlZmF1bHRWYWx1ZS5zb21lKChkZWZhdWx0VmFsKT0+e1xuICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuc29tZSgodmFsKT0+dmFsLmluY2x1ZGVzKGRlZmF1bHRWYWwpKSA6IHZhbHVlID09IG51bGwgPyB2b2lkIDAgOiB2YWx1ZS5pbmNsdWRlcyhkZWZhdWx0VmFsKTtcbiAgICAgICAgfSkgOiB2YWx1ZSA9PSBudWxsID8gdm9pZCAwIDogdmFsdWUuaW5jbHVkZXMoZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgaWYgKGlzRGVmYXVsdFZhbHVlIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJ1bmRlZmluZWRcIiAmJiAhKGlzT3B0aW9uYWwgJiYgaWdub3JlT3B0aW9uYWwpKSB7XG4gICAgICAgICAgICBoYXNWYWxpZFBhcmFtcyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIG5vbi1wcm92aWRlZCBvcHRpb25hbCB2YWx1ZXMgc2hvdWxkIGJlIHVuZGVmaW5lZCBzbyBub3JtYWxpemVcbiAgICAgICAgLy8gdGhlbSB0byB1bmRlZmluZWRcbiAgICAgICAgaWYgKGlzT3B0aW9uYWwgJiYgKCF2YWx1ZSB8fCBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDEgJiYgLy8gZmFsbGJhY2sgb3B0aW9uYWwgY2F0Y2gtYWxsIFNTRyBwYWdlcyBoYXZlXG4gICAgICAgIC8vIFtbLi4ucGFyYW1OYW1lXV0gZm9yIHRoZSByb290IHBhdGggb24gVmVyY2VsXG4gICAgICAgICh2YWx1ZVswXSA9PT0gXCJpbmRleFwiIHx8IHZhbHVlWzBdID09PSBgW1suLi4ke2tleX1dXWApKSkge1xuICAgICAgICAgICAgdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBkZWxldGUgcGFyYW1zW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgLy8gcXVlcnkgdmFsdWVzIGZyb20gdGhlIHByb3h5IGFyZW4ndCBhbHJlYWR5IHNwbGl0IGludG8gYXJyYXlzXG4gICAgICAgIC8vIHNvIG1ha2Ugc3VyZSB0byBub3JtYWxpemUgY2F0Y2gtYWxsIHZhbHVlc1xuICAgICAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIGRlZmF1bHRSb3V0ZVJlZ2V4Lmdyb3Vwc1trZXldLnJlcGVhdCkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5zcGxpdChcIi9cIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBwcmV2W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJldjtcbiAgICB9LCB7fSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBoYXNWYWxpZFBhcmFtc1xuICAgIH07XG59XG5mdW5jdGlvbiBnZXRVdGlscyh7IHBhZ2UsIGkxOG4sIGJhc2VQYXRoLCByZXdyaXRlcywgcGFnZUlzRHluYW1pYywgdHJhaWxpbmdTbGFzaCwgY2FzZVNlbnNpdGl2ZSB9KSB7XG4gICAgbGV0IGRlZmF1bHRSb3V0ZVJlZ2V4O1xuICAgIGxldCBkeW5hbWljUm91dGVNYXRjaGVyO1xuICAgIGxldCBkZWZhdWx0Um91dGVNYXRjaGVzO1xuICAgIGlmIChwYWdlSXNEeW5hbWljKSB7XG4gICAgICAgIGRlZmF1bHRSb3V0ZVJlZ2V4ID0gKDAsIF9yb3V0ZXJlZ2V4LmdldE5hbWVkUm91dGVSZWdleCkocGFnZSwgZmFsc2UpO1xuICAgICAgICBkeW5hbWljUm91dGVNYXRjaGVyID0gKDAsIF9yb3V0ZW1hdGNoZXIuZ2V0Um91dGVNYXRjaGVyKShkZWZhdWx0Um91dGVSZWdleCk7XG4gICAgICAgIGRlZmF1bHRSb3V0ZU1hdGNoZXMgPSBkeW5hbWljUm91dGVNYXRjaGVyKHBhZ2UpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBoYW5kbGVSZXdyaXRlcyhyZXEsIHBhcnNlZFVybCkge1xuICAgICAgICBjb25zdCByZXdyaXRlUGFyYW1zID0ge307XG4gICAgICAgIGxldCBmc1BhdGhuYW1lID0gcGFyc2VkVXJsLnBhdGhuYW1lO1xuICAgICAgICBjb25zdCBtYXRjaGVzUGFnZSA9ICgpPT57XG4gICAgICAgICAgICBjb25zdCBmc1BhdGhuYW1lTm9TbGFzaCA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShmc1BhdGhuYW1lIHx8IFwiXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGZzUGF0aG5hbWVOb1NsYXNoID09PSAoMCwgX3JlbW92ZXRyYWlsaW5nc2xhc2gucmVtb3ZlVHJhaWxpbmdTbGFzaCkocGFnZSkgfHwgKGR5bmFtaWNSb3V0ZU1hdGNoZXIgPT0gbnVsbCA/IHZvaWQgMCA6IGR5bmFtaWNSb3V0ZU1hdGNoZXIoZnNQYXRobmFtZU5vU2xhc2gpKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgY2hlY2tSZXdyaXRlID0gKHJld3JpdGUpPT57XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVyID0gKDAsIF9wYXRobWF0Y2guZ2V0UGF0aE1hdGNoKShyZXdyaXRlLnNvdXJjZSArICh0cmFpbGluZ1NsYXNoID8gXCIoLyk/XCIgOiBcIlwiKSwge1xuICAgICAgICAgICAgICAgIHJlbW92ZVVubmFtZWRQYXJhbXM6IHRydWUsXG4gICAgICAgICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICAgICAgICAgIHNlbnNpdGl2ZTogISFjYXNlU2Vuc2l0aXZlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGxldCBwYXJhbXMgPSBtYXRjaGVyKHBhcnNlZFVybC5wYXRobmFtZSk7XG4gICAgICAgICAgICBpZiAoKHJld3JpdGUuaGFzIHx8IHJld3JpdGUubWlzc2luZykgJiYgcGFyYW1zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzUGFyYW1zID0gKDAsIF9wcmVwYXJlZGVzdGluYXRpb24ubWF0Y2hIYXMpKHJlcSwgcGFyc2VkVXJsLnF1ZXJ5LCByZXdyaXRlLmhhcywgcmV3cml0ZS5taXNzaW5nKTtcbiAgICAgICAgICAgICAgICBpZiAoaGFzUGFyYW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24ocGFyYW1zLCBoYXNQYXJhbXMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwYXJhbXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHBhcnNlZERlc3RpbmF0aW9uLCBkZXN0UXVlcnkgfSA9ICgwLCBfcHJlcGFyZWRlc3RpbmF0aW9uLnByZXBhcmVEZXN0aW5hdGlvbikoe1xuICAgICAgICAgICAgICAgICAgICBhcHBlbmRQYXJhbXNUb1F1ZXJ5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbjogcmV3cml0ZS5kZXN0aW5hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYXJzZWRVcmwucXVlcnlcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgcmV3cml0ZSBkZXN0aW5hdGlvbiBpcyBleHRlcm5hbCBicmVhayByZXdyaXRlIGNoYWluXG4gICAgICAgICAgICAgICAgaWYgKHBhcnNlZERlc3RpbmF0aW9uLnByb3RvY29sKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHJld3JpdGVQYXJhbXMsIGRlc3RRdWVyeSwgcGFyYW1zKTtcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHBhcnNlZFVybC5xdWVyeSwgcGFyc2VkRGVzdGluYXRpb24ucXVlcnkpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJzZWREZXN0aW5hdGlvbi5xdWVyeTtcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHBhcnNlZFVybCwgcGFyc2VkRGVzdGluYXRpb24pO1xuICAgICAgICAgICAgICAgIGZzUGF0aG5hbWUgPSBwYXJzZWRVcmwucGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKGJhc2VQYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGZzUGF0aG5hbWUgPSBmc1BhdGhuYW1lLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7YmFzZVBhdGh9YCksIFwiXCIpIHx8IFwiL1wiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaTE4bikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXN0TG9jYWxlUGF0aFJlc3VsdCA9ICgwLCBfbm9ybWFsaXplbG9jYWxlcGF0aC5ub3JtYWxpemVMb2NhbGVQYXRoKShmc1BhdGhuYW1lLCBpMThuLmxvY2FsZXMpO1xuICAgICAgICAgICAgICAgICAgICBmc1BhdGhuYW1lID0gZGVzdExvY2FsZVBhdGhSZXN1bHQucGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZFVybC5xdWVyeS5uZXh0SW50ZXJuYWxMb2NhbGUgPSBkZXN0TG9jYWxlUGF0aFJlc3VsdC5kZXRlY3RlZExvY2FsZSB8fCBwYXJhbXMubmV4dEludGVybmFsTG9jYWxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZnNQYXRobmFtZSA9PT0gcGFnZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhZ2VJc0R5bmFtaWMgJiYgZHluYW1pY1JvdXRlTWF0Y2hlcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkeW5hbWljUGFyYW1zID0gZHluYW1pY1JvdXRlTWF0Y2hlcihmc1BhdGhuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGR5bmFtaWNQYXJhbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlZFVybC5xdWVyeSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5wYXJzZWRVcmwucXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZHluYW1pY1BhcmFtc1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9O1xuICAgICAgICBmb3IgKGNvbnN0IHJld3JpdGUgb2YgcmV3cml0ZXMuYmVmb3JlRmlsZXMgfHwgW10pe1xuICAgICAgICAgICAgY2hlY2tSZXdyaXRlKHJld3JpdGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmc1BhdGhuYW1lICE9PSBwYWdlKSB7XG4gICAgICAgICAgICBsZXQgZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmV3cml0ZSBvZiByZXdyaXRlcy5hZnRlckZpbGVzIHx8IFtdKXtcbiAgICAgICAgICAgICAgICBmaW5pc2hlZCA9IGNoZWNrUmV3cml0ZShyZXdyaXRlKTtcbiAgICAgICAgICAgICAgICBpZiAoZmluaXNoZWQpIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFmaW5pc2hlZCAmJiAhbWF0Y2hlc1BhZ2UoKSkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmV3cml0ZSBvZiByZXdyaXRlcy5mYWxsYmFjayB8fCBbXSl7XG4gICAgICAgICAgICAgICAgICAgIGZpbmlzaGVkID0gY2hlY2tSZXdyaXRlKHJld3JpdGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmluaXNoZWQpIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmV3cml0ZVBhcmFtcztcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0UGFyYW1zRnJvbVJvdXRlTWF0Y2hlcyhyZXEsIHJlbmRlck9wdHMsIGRldGVjdGVkTG9jYWxlKSB7XG4gICAgICAgIHJldHVybiAoMCwgX3JvdXRlbWF0Y2hlci5nZXRSb3V0ZU1hdGNoZXIpKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgY29uc3QgeyBncm91cHMsIHJvdXRlS2V5cyB9ID0gZGVmYXVsdFJvdXRlUmVnZXg7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlOiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNpbXVsYXRlIGEgUmVnRXhwIG1hdGNoIGZyb20gdGhlIFxcYHJlcS51cmxcXGAgaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgZXhlYzogKHN0cik9PntcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKHN0cikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlc0hhc0xvY2FsZSA9IGkxOG4gJiYgZGV0ZWN0ZWRMb2NhbGUgJiYgb2JqW1wiMVwiXSA9PT0gZGV0ZWN0ZWRMb2NhbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmopKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9ialtrZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkgIT09IF9jb25zdGFudHMuTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVggJiYga2V5LnN0YXJ0c1dpdGgoX2NvbnN0YW50cy5ORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZEtleSA9IGtleS5zdWJzdHJpbmcoX2NvbnN0YW50cy5ORVhUX1FVRVJZX1BBUkFNX1BSRUZJWC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmpbbm9ybWFsaXplZEtleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG9ialtrZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZhdm9yIG5hbWVkIG1hdGNoZXMgaWYgYXZhaWxhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb3V0ZUtleU5hbWVzID0gT2JqZWN0LmtleXMocm91dGVLZXlzIHx8IHt9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlckxvY2FsZUl0ZW0gPSAodmFsKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpMThuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvY2FsZSBpdGVtcyBjYW4gYmUgaW5jbHVkZWQgaW4gcm91dGUtbWF0Y2hlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmb3IgZmFsbGJhY2sgU1NHIHBhZ2VzIHNvIGVuc3VyZSB0aGV5IGFyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmaWx0ZXJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0NhdGNoQWxsID0gQXJyYXkuaXNBcnJheSh2YWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfdmFsID0gaXNDYXRjaEFsbCA/IHZhbFswXSA6IHZhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBfdmFsID09PSBcInN0cmluZ1wiICYmIGkxOG4ubG9jYWxlcy5zb21lKChpdGVtKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0udG9Mb3dlckNhc2UoKSA9PT0gX3ZhbC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0ZWRMb2NhbGUgPSBpdGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlck9wdHMubG9jYWxlID0gZGV0ZWN0ZWRMb2NhbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgdGhlIGxvY2FsZSBpdGVtIGZyb20gdGhlIG1hdGNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNDYXRjaEFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbC5zcGxpY2UoMCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgdmFsdWUgaXMgb25seSBhIGxvY2FsZSBpdGVtIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2hvdWxkbid0IGJlIGFkZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXNDYXRjaEFsbCA/IHZhbC5sZW5ndGggPT09IDAgOiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocm91dGVLZXlOYW1lcy5ldmVyeSgobmFtZSk9Pm9ialtuYW1lXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcm91dGVLZXlOYW1lcy5yZWR1Y2UoKHByZXYsIGtleU5hbWUpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtTmFtZSA9IHJvdXRlS2V5cyA9PSBudWxsID8gdm9pZCAwIDogcm91dGVLZXlzW2tleU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyYW1OYW1lICYmICFmaWx0ZXJMb2NhbGVJdGVtKG9ialtrZXlOYW1lXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZbZ3JvdXBzW3BhcmFtTmFtZV0ucG9zXSA9IG9ialtrZXlOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7fSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5yZWR1Y2UoKHByZXYsIGtleSk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlckxvY2FsZUl0ZW0ob2JqW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBub3JtYWxpemVkS2V5ID0ga2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hlc0hhc0xvY2FsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZEtleSA9IHBhcnNlSW50KGtleSwgMTApIC0gMSArIFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocHJldiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vcm1hbGl6ZWRLZXldOiBvYmpba2V5XVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB7fSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGdyb3Vwc1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSgpKShyZXEuaGVhZGVyc1tcIngtbm93LXJvdXRlLW1hdGNoZXNcIl0pO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBoYW5kbGVSZXdyaXRlcyxcbiAgICAgICAgZGVmYXVsdFJvdXRlUmVnZXgsXG4gICAgICAgIGR5bmFtaWNSb3V0ZU1hdGNoZXIsXG4gICAgICAgIGRlZmF1bHRSb3V0ZU1hdGNoZXMsXG4gICAgICAgIGdldFBhcmFtc0Zyb21Sb3V0ZU1hdGNoZXMsXG4gICAgICAgIG5vcm1hbGl6ZUR5bmFtaWNSb3V0ZVBhcmFtczogKHBhcmFtcywgaWdub3JlT3B0aW9uYWwpPT5ub3JtYWxpemVEeW5hbWljUm91dGVQYXJhbXMocGFyYW1zLCBpZ25vcmVPcHRpb25hbCwgZGVmYXVsdFJvdXRlUmVnZXgsIGRlZmF1bHRSb3V0ZU1hdGNoZXMpLFxuICAgICAgICBub3JtYWxpemVWZXJjZWxVcmw6IChyZXEsIHRydXN0UXVlcnksIHBhcmFtS2V5cyk9Pm5vcm1hbGl6ZVZlcmNlbFVybChyZXEsIHRydXN0UXVlcnksIHBhcmFtS2V5cywgcGFnZUlzRHluYW1pYywgZGVmYXVsdFJvdXRlUmVnZXgpLFxuICAgICAgICBpbnRlcnBvbGF0ZUR5bmFtaWNQYXRoOiAocGF0aG5hbWUsIHBhcmFtcyk9PmludGVycG9sYXRlRHluYW1pY1BhdGgocGF0aG5hbWUsIHBhcmFtcywgZGVmYXVsdFJvdXRlUmVnZXgpXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VydmVyLXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/server-utils.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ReflectAdapter\", ({\n enumerable: true,\n get: function() {\n return ReflectAdapter;\n }\n}));\nclass ReflectAdapter {\n static get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return value.bind(target);\n }\n return value;\n }\n static set(target, prop, value, receiver) {\n return Reflect.set(target, prop, value, receiver);\n }\n static has(target, prop) {\n return Reflect.has(target, prop);\n }\n static deleteProperty(target, prop) {\n return Reflect.deleteProperty(target, prop);\n }\n}\n\n//# sourceMappingURL=reflect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vYWRhcHRlcnMvcmVmbGVjdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLGtEQUFpRDtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZWZsZWN0LmpzPzNhZTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSZWZsZWN0QWRhcHRlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdEFkYXB0ZXI7XG4gICAgfVxufSk7XG5jbGFzcyBSZWZsZWN0QWRhcHRlciB7XG4gICAgc3RhdGljIGdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmJpbmQodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHN0YXRpYyBzZXQodGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3Quc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKTtcbiAgICB9XG4gICAgc3RhdGljIGhhcyh0YXJnZXQsIHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuaGFzKHRhcmdldCwgcHJvcCk7XG4gICAgfVxuICAgIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wKTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZmxlY3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcyIsIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7Ozs7O3NEQUkxREE7OztlQUFBQTs7O0FBSGhCLE1BQU1DLGNBQWM7QUFDcEIsTUFBTUMsa0JBQWtCO0FBRWpCLFNBQVNGLG1CQUFtQkcsR0FBVztJQUM1QywrR0FBK0c7SUFDL0csSUFBSUYsWUFBWUcsSUFBSSxDQUFDRCxNQUFNO1FBQ3pCLE9BQU9BLElBQUlFLE9BQU8sQ0FBQ0gsaUJBQWlCO0lBQ3RDO0lBQ0EsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLnRzP2RjYjEiXSwibmFtZXMiOlsiZXNjYXBlU3RyaW5nUmVnZXhwIiwicmVIYXNSZWdFeHAiLCJyZVJlcGxhY2VSZWdFeHAiLCJzdHIiLCJ0ZXN0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/escape-regexp.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/get-img-props.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/get-img-props.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(rsc)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(rsc)/./node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(rsc)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n \"lazy\",\n \"eager\",\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === \"object\" && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: \"w\"\n };\n }\n return {\n widths: allSizes,\n kind: \"w\"\n };\n }\n if (typeof width !== \"number\") {\n return {\n widths: deviceSizes,\n kind: \"w\"\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: \"x\"\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === \"w\" ? w : i + 1) + kind).join(\", \"),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, overrideSrc, onLoad, onLoadingComplete, placeholder = \"empty\", blurDataURL, fetchPriority, layout, objectFit, objectPosition, lazyBoundary, lazyRoot, ...rest } = param;\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state;\n let config;\n let c = imgConf || _imageconfig.imageConfigDefault;\n if (\"allSizes\" in c) {\n config = c;\n } else {\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n config = {\n ...c,\n allSizes,\n deviceSizes\n };\n }\n if (typeof defaultLoader === \"undefined\") {\n throw new Error(\"images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config\");\n }\n let loader = rest.loader || defaultLoader;\n // Remove property so it's not spread on <img> element\n delete rest.loader;\n delete rest.srcSet;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = \"__next_img_default\" in loader;\n if (isDefaultLoader) {\n if (config.loader === \"custom\") {\n throw new Error('Image with src \"' + src + '\" is missing \"loader\" prop.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\");\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n loader = (obj)=>{\n const { config: _, ...opts } = obj;\n return customImageLoader(opts);\n };\n }\n if (layout) {\n if (layout === \"fill\") {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: \"100%\",\n height: \"auto\"\n },\n responsive: {\n width: \"100%\",\n height: \"auto\"\n }\n };\n const layoutToSizes = {\n responsive: \"100vw\",\n fill: \"100vw\"\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = {\n ...style,\n ...layoutStyle\n };\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = \"\";\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received \" + JSON.stringify(staticImageData));\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received \" + JSON.stringify(staticImageData));\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === \"string\" ? src : staticSrc;\n let isLazy = !priority && (loading === \"lazy\" || typeof loading === \"undefined\");\n if (!src || src.startsWith(\"data:\") || src.startsWith(\"blob:\")) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && src.endsWith(\".svg\") && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n if (priority) {\n fetchPriority = \"high\";\n }\n const qualityInt = getInt(quality);\n if (true) {\n if (config.output === \"export\" && isDefaultLoader && !unoptimized) {\n throw new Error(\"Image Optimization using the default loader is not compatible with `{ output: 'export' }`.\\n Possible solutions:\\n - Remove `{ output: 'export' }` and run \\\"next start\\\" to run server mode including the Image Optimization API.\\n - Configure `{ images: { unoptimized: true } }` in `next.config.js` to disable the Image Optimization API.\\n Read more: https://nextjs.org/docs/messages/export-image-api\");\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw new Error('Image with src \"' + src + '\" has both \"width\" and \"fill\" properties. Only one should be used.');\n }\n if (height) {\n throw new Error('Image with src \"' + src + '\" has both \"height\" and \"fill\" properties. Only one should be used.');\n }\n if ((style == null ? void 0 : style.position) && style.position !== \"absolute\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.width) && style.width !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.height) && style.height !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.');\n }\n } else {\n if (typeof widthInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"width\" property.');\n } else if (isNaN(widthInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"width\" property. Expected a numeric value in pixels but received \"' + width + '\".');\n }\n if (typeof heightInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"height\" property.');\n } else if (isNaN(heightInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"height\" property. Expected a numeric value in pixels but received \"' + height + '\".');\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"loading\" property. Provided \"' + loading + '\" should be one of ' + VALID_LOADING_VALUES.map(String).join(\",\") + \".\");\n }\n if (priority && loading === \"lazy\") {\n throw new Error('Image with src \"' + src + '\" has both \"priority\" and \"loading=\\'lazy\\'\" properties. Only one should be used.');\n }\n if (placeholder !== \"empty\" && placeholder !== \"blur\" && !placeholder.startsWith(\"data:image/\")) {\n throw new Error('Image with src \"' + src + '\" has invalid \"placeholder\" property \"' + placeholder + '\".');\n }\n if (placeholder !== \"empty\") {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.');\n }\n }\n if (placeholder === \"blur\" && !blurDataURL) {\n const VALID_BLUR_EXT = [\n \"jpeg\",\n \"png\",\n \"webp\",\n \"avif\"\n ] // should match next-image-loader\n ;\n throw new Error('Image with src \"' + src + '\" has \"placeholder=\\'blur\\'\" property but is missing the \"blurDataURL\" property.\\n Possible solutions:\\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\\n - Change the \"src\" property to a static import with one of the supported file types: ' + VALID_BLUR_EXT.join(\",\") + ' (animated images not supported)\\n - Remove the \"placeholder\" property, effectively no blur effect\\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url');\n }\n if (\"ref\" in rest) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.');\n }\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width\");\n }\n }\n if (onLoadingComplete) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.');\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has legacy prop \"' + legacyKey + '\". Did you forget to run the codemod?' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13\");\n }\n }\n if (false) {}\n }\n const imgStyle = Object.assign(fill ? {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: \"transparent\"\n }, style);\n const backgroundImage = !blurComplete && placeholder !== \"empty\" ? placeholder === \"blur\" ? 'url(\"data:image/svg+xml;charset=utf-8,' + (0, _imageblursvg.getImageBlurSvg)({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || \"\",\n objectFit: imgStyle.objectFit\n }) + '\")' : 'url(\"' + placeholder + '\")' // assume `data:image/`\n : null;\n let placeholderStyle = backgroundImage ? {\n backgroundSize: imgStyle.objectFit || \"cover\",\n backgroundPosition: imgStyle.objectPosition || \"50% 50%\",\n backgroundRepeat: \"no-repeat\",\n backgroundImage\n } : {};\n if (true) {\n if (placeholderStyle.backgroundImage && placeholder === \"blur\" && (blurDataURL == null ? void 0 : blurDataURL.startsWith(\"/\"))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = 'url(\"' + blurDataURL + '\")';\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n if (true) {\n if (false) {}\n }\n const props = {\n ...rest,\n loading: isLazy ? \"lazy\" : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding: \"async\",\n className,\n style: {\n ...imgStyle,\n ...placeholderStyle\n },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src\n };\n const meta = {\n unoptimized,\n priority,\n placeholder,\n fill\n };\n return {\n props,\n meta\n };\n} //# sourceMappingURL=get-img-props.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZ2V0LWltZy1wcm9wcy5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQTJPZ0JBOzs7ZUFBQUE7OztzQ0EzT1M7MENBQ087eUNBQ0c7QUE2RW5DLE1BQU1DLHVCQUF1QjtJQUFDO0lBQVE7SUFBU0M7Q0FBVTtBQWtCekQsU0FBU0MsZ0JBQ1BDLEdBQW9DO0lBRXBDLE9BQU9BLElBQXVCQyxPQUFPLEtBQUtIO0FBQzVDO0FBRUEsU0FBU0ksa0JBQ1BGLEdBQW9DO0lBRXBDLE9BQU9BLElBQXlCQSxHQUFHLEtBQUtGO0FBQzFDO0FBRUEsU0FBU0ssZUFBZUgsR0FBMEI7SUFDaEQsT0FDRSxPQUFPQSxRQUFRLFlBQ2RELENBQUFBLGdCQUFnQkMsUUFDZkUsa0JBQWtCRixJQUFBQTtBQUV4QjtBQUVBLE1BQU1JLFVBQVUsSUFBSUM7QUFJcEIsSUFBSUM7QUFFSixTQUFTQyxPQUFPQyxDQUFVO0lBQ3hCLElBQUksT0FBT0EsTUFBTSxhQUFhO1FBQzVCLE9BQU9BO0lBQ1Q7SUFDQSxJQUFJLE9BQU9BLE1BQU0sVUFBVTtRQUN6QixPQUFPQyxPQUFPQyxRQUFRLENBQUNGLEtBQUtBLElBQUlHO0lBQ2xDO0lBQ0EsSUFBSSxPQUFPSCxNQUFNLFlBQVksV0FBV0ksSUFBSSxDQUFDSixJQUFJO1FBQy9DLE9BQU9LLFNBQVNMLEdBQUc7SUFDckI7SUFDQSxPQUFPRztBQUNUO0FBRUEsU0FBU0csVUFDUEMsS0FBc0MsRUFDdENDLEtBQXlCLEVBQ3pCQyxLQUF5QjtJQUZ6QixNQUFFQyxXQUFXLEVBQUVDLFFBQVEsRUFBZSxHQUF0Q0o7SUFJQSxJQUFJRSxPQUFPO1FBQ1QseURBQXlEO1FBQ3pELE1BQU1HLGtCQUFrQjtRQUN4QixNQUFNQyxlQUFlLEVBQUU7UUFDdkIsSUFBSyxJQUFJQyxPQUFRQSxRQUFRRixnQkFBZ0JHLElBQUksQ0FBQ04sUUFBU0ssTUFBTztZQUM1REQsYUFBYUcsSUFBSSxDQUFDWCxTQUFT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eUMsaUJBQWlCRixlQUFlLElBQ2hDdEYsZ0JBQWdCLFVBQ2hCQyxDQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxZQUFhMEMsVUFBVSxDQUFDLE9BQ3hCO1lBQ0EsOEVBQThFO1lBQzlFLGdGQUFnRjtZQUNoRixxRkFBcUY7WUFDckY2QyxpQkFBaUJGLGVBQWUsR0FBRyxVQUFRckYsY0FBWTtRQUN6RDtJQUNGO0lBRUEsTUFBTTJGLGdCQUFnQi9HLGlCQUFpQjtRQUNyQ0M7UUFDQXZDO1FBQ0F3QztRQUNBeEIsT0FBTzBFO1FBQ1BqRCxTQUFTOEQ7UUFDVHRGO1FBQ0F5QjtJQUNGO0lBRUEsSUFBSThELElBQXlCLEVBQWM7UUFDekMsSUFBSSxLQUFrQixFQUFhLEVBUW5DO0lBQ0Y7SUFFQSxNQUFNbUQsUUFBa0I7UUFDdEIsR0FBRzFGLElBQUk7UUFDUGhCLFNBQVNrRCxTQUFTLFNBQVNsRDtRQUMzQlU7UUFDQTNDLE9BQU8wRTtRQUNQdkMsUUFBUXdDO1FBQ1JpRSxVQUFVO1FBQ1YxRztRQUNBRyxPQUFPO1lBQUUsR0FBR21GLFFBQVE7WUFBRSxHQUFHUyxnQkFBZ0I7UUFBQztRQUMxQ2hJLE9BQU9vSSxjQUFjcEksS0FBSztRQUMxQjBCLFFBQVEwRyxjQUFjMUcsTUFBTTtRQUM1QjNDLEtBQUtzRCxlQUFlK0YsY0FBY3JKLEdBQUc7SUFDdkM7SUFDQSxNQUFNNkosT0FBTztRQUFFckg7UUFBYVE7UUFBVVM7UUFBYUw7SUFBSztJQUN4RCxPQUFPO1FBQUV1RztRQUFPRTtJQUFLO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2dldC1pbWctcHJvcHMudHM/ZWM5MSJdLCJuYW1lcyI6WyJnZXRJbWdQcm9wcyIsIlZBTElEX0xPQURJTkdfVkFMVUVTIiwidW5kZWZpbmVkIiwiaXNTdGF0aWNSZXF1aXJlIiwic3JjIiwiZGVmYXVsdCIsImlzU3RhdGljSW1hZ2VEYXRhIiwiaXNTdGF0aWNJbXBvcnQiLCJhbGxJbWdzIiwiTWFwIiwicGVyZk9ic2VydmVyIiwiZ2V0SW50IiwieCIsIk51bWJlciIsImlzRmluaXRlIiwiTmFOIiwidGVzdCIsInBhcnNlSW50IiwiZ2V0V2lkdGhzIiwicGFyYW0iLCJ3aWR0aCIsInNpemVzIiwiZGV2aWNlU2l6ZXMiLCJhbGxTaXplcyIsInZpZXdwb3J0V2lkdGhSZSIsInBlcmNlbnRTaXplcyIsIm1hdGNoIiwiZXhlYyIsInB1c2giLCJsZW5ndGgiLCJzbWFsbGVzdFJhdGlvIiwiTWF0aCIsIm1pbiIsIndpZHRocyIsImZpbHRlciIsInMiLCJraW5kIiwiU2V0IiwibWFwIiwidyIsImZpbmQiLCJwIiwiZ2VuZXJhdGVJbWdBdHRycyIsImNvbmZpZyIsInVub3B0aW1pemVkIiwicXVhbGl0eSIsImxvYWRlciIsInNyY1NldCIsImxhc3QiLCJpIiwiam9pbiIsIl9zdGF0ZSIsInByaW9yaXR5IiwibG9hZGluZyIsImNsYXNzTmFtZSIsImhlaWdodCIsImZpbGwiLCJzdHlsZSIsIm92ZXJyaWRlU3JjIiwib25Mb2FkIiwib25Mb2FkaW5nQ29tcGxldGUiLCJwbGFjZWhvbGRlciIsImJsdXJEYXRhVVJMIiwiZmV0Y2hQcmlvcml0eSIsImxheW91dCIsIm9iamVjdEZpdCIsIm9iamVjdFBvc2l0aW9uIiwibGF6eUJvdW5kYXJ5IiwibGF6eVJvb3QiLCJyZXN0IiwiaW1nQ29uZiIsInNob3dBbHRUZXh0IiwiYmx1ckNvbXBsZXRlIiwiZGVmYXVsdExvYWRlciIsImMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJpbWFnZVNpemVzIiwic29ydCIsImEiLCJiIiwiRXJyb3IiLCJpc0RlZmF1bHRMb2FkZXIiLCJjdXN0b21JbWFnZUxvYWRlciIsIm9iaiIsIl8iLCJvcHRzIiwibGF5b3V0VG9TdHlsZSIsImludHJpbnNpYyIsIm1heFdpZHRoIiwicmVzcG9uc2l2ZSIsImxheW91dFRvU2l6ZXMiLCJsYXlvdXRTdHlsZSIsImxheW91dFNpemVzIiwic3RhdGljU3JjIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0Iiwic3RhdGljSW1hZ2VEYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsInJhdGlvIiwicm91bmQiLCJpc0xhenkiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJkYW5nZXJvdXNseUFsbG93U1ZHIiwicXVhbGl0eUludCIsInByb2Nlc3MiLCJvdXRwdXQiLCJwb3NpdGlvbiIsImlzTmFOIiwiaW5jbHVkZXMiLCJTdHJpbmciLCJ3YXJuT25jZSIsIlZBTElEX0JMVVJfRVhUIiwidXJsU3RyIiwidXJsIiwiVVJMIiwiZXJyIiwicGF0aG5hbWUiLCJzZWFyY2giLCJsZWdhY3lLZXkiLCJsZWdhY3lWYWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ3aW5kb3ciLCJQZXJmb3JtYW5jZU9ic2VydmVyIiwiZW50cnlMaXN0IiwiZW50cnkiLCJnZXRFbnRyaWVzIiwiaW1nU3JjIiwiZWxlbWVudCIsImxjcEltYWdlIiwiZ2V0Iiwib2JzZXJ2ZSIsInR5cGUiLCJidWZmZXJlZCIsImNvbnNvbGUiLCJlcnJvciIsImltZ1N0eWxlIiwiYXNzaWduIiwibGVmdCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwiY29sb3IiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJnZXRJbWFnZUJsdXJTdmciLCJwbGFjZWhvbGRlclN0eWxlIiwiYmFja2dyb3VuZFNpemUiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kUmVwZWF0IiwiaW1nQXR0cmlidXRlcyIsImZ1bGxVcmwiLCJlIiwibG9jYXRpb24iLCJocmVmIiwic2V0IiwicHJvcHMiLCJkZWNvZGluZyIsIm1ldGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/get-img-props.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/hash.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/hash.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("// http://www.cse.yorku.ca/~oz/hash.html\n// More specifically, 32-bit hash via djbxor\n// (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765)\n// This is due to number type differences between rust for turbopack to js number types,\n// where rust does not have easy way to repreesnt js's 53-bit float number type for the matching\n// overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation\n// as can gaurantee determinstic output from 32bit hash.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n djb2Hash: function() {\n return djb2Hash;\n },\n hexHash: function() {\n return hexHash;\n }\n});\nfunction djb2Hash(str) {\n let hash = 5381;\n for(let i = 0; i < str.length; i++){\n const char = str.charCodeAt(i);\n hash = (hash << 5) + hash + char & 0xffffffff;\n }\n return hash >>> 0;\n}\nfunction hexHash(str) {\n return djb2Hash(str).toString(36).slice(0, 5);\n} //# sourceMappingURL=hash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsNENBQTRDO0FBQzVDLGlIQUFpSDtBQUNqSCx3RkFBd0Y7QUFDeEYsZ0dBQWdHO0FBQ2hHLHdIQUF3SDtBQUN4SCx3REFBd0Q7Ozs7Ozs7Ozs7Ozs7SUFDeENBLFVBQVE7ZUFBUkE7O0lBU0FDLFNBQU87ZUFBUEE7OztBQVRULFNBQVNELFNBQVNFLEdBQVc7SUFDbEMsSUFBSUMsT0FBTztJQUNYLElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJRixJQUFJRyxNQUFNLEVBQUVELElBQUs7UUFDbkMsTUFBTUUsT0FBT0osSUFBSUssVUFBVSxDQUFDSDtRQUM1QkQsT0FBTyxDQUFFQSxRQUFRLEtBQUtBLE9BQU9HLE9BQVE7SUFDdkM7SUFDQSxPQUFPSCxTQUFTO0FBQ2xCO0FBRU8sU0FBU0YsUUFBUUMsR0FBVztJQUNqQyxPQUFPRixTQUFTRSxLQUFLTSxRQUFRLENBQUMsSUFBSUMsS0FBSyxDQUFDLEdBQUc7QUFDN0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaGFzaC50cz9kYjQ2Il0sIm5hbWVzIjpbImRqYjJIYXNoIiwiaGV4SGFzaCIsInN0ciIsImhhc2giLCJpIiwibGVuZ3RoIiwiY2hhciIsImNoYXJDb2RlQXQiLCJ0b1N0cmluZyIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/hash.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizeLocalePath\", ({\n enumerable: true,\n get: function() {\n return normalizeLocalePath;\n }\n}));\nfunction normalizeLocalePath(pathname, locales) {\n let detectedLocale;\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split(\"/\");\n (locales || []).some((locale)=>{\n if (pathnameParts[1] && pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join(\"/\") || \"/\";\n return true;\n }\n return false;\n });\n return {\n pathname,\n detectedLocale\n };\n} //# sourceMappingURL=normalize-locale-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFjZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG9CQUNkQyxRQUFnQixFQUNoQkMsT0FBa0I7SUFFbEIsSUFBSUM7SUFDSiwrREFBK0Q7SUFDL0QsTUFBTUMsZ0JBQWdCSCxTQUFTSSxLQUFLLENBQUM7SUFFbkNILENBQUFBLFdBQVcsRUFBRSxFQUFFSSxJQUFJLENBQUMsQ0FBQ0M7UUFDckIsSUFDRUgsYUFBYSxDQUFDLEVBQUUsSUFDaEJBLGFBQWEsQ0FBQyxFQUFFLENBQUNJLFdBQVcsT0FBT0QsT0FBT0MsV0FBVyxJQUNyRDtZQUNBTCxpQkFBaUJJO1lBQ2pCSCxjQUFjSyxNQUFNLENBQUMsR0FBRztZQUN4QlIsV0FBV0csY0FBY00sSUFBSSxDQUFDLFFBQVE7WUFDdEMsT0FBTztRQUNUO1FBQ0EsT0FBTztJQUNUO0lBRUEsT0FBTztRQUNMVDtRQUNBRTtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGgudHM/MGI3MyJdLCJuYW1lcyI6WyJub3JtYWxpemVMb2NhbGVQYXRoIiwicGF0aG5hbWUiLCJsb2NhbGVzIiwiZGV0ZWN0ZWRMb2NhbGUiLCJwYXRobmFtZVBhcnRzIiwic3BsaXQiLCJzb21lIiwibG9jYWxlIiwidG9Mb3dlckNhc2UiLCJzcGxpY2UiLCJqb2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/image-blur-svg.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-blur-svg.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImageBlurSvg\", ({\n enumerable: true,\n get: function() {\n return getImageBlurSvg;\n }\n}));\nfunction getImageBlurSvg(param) {\n let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL, objectFit } = param;\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n const viewBox = svgWidth && svgHeight ? \"viewBox='0 0 \" + svgWidth + \" \" + svgHeight + \"'\" : \"\";\n const preserveAspectRatio = viewBox ? \"none\" : objectFit === \"contain\" ? \"xMidYMid\" : objectFit === \"cover\" ? \"xMidYMid slice\" : \"none\";\n return \"%3Csvg xmlns='http://www.w3.org/2000/svg' \" + viewBox + \"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='\" + preserveAspectRatio + \"' style='filter: url(%23b);' href='\" + blurDataURL + \"'/%3E%3C/svg%3E\";\n} //# sourceMappingURL=image-blur-svg.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtYmx1ci1zdmcuanMiLCJtYXBwaW5ncyI6IkFBQUE7O0NBRUM7Ozs7bURBQ2VBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGdCQUFnQkMsS0FjL0I7SUFkK0IsTUFDOUJDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxTQUFTLEVBQ1RDLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyxTQUFTLEVBUVYsR0FkK0JOO0lBZTlCLE1BQU1PLE1BQU07SUFDWixNQUFNQyxXQUFXTCxZQUFZQSxZQUFZLEtBQUtGO0lBQzlDLE1BQU1RLFlBQVlMLGFBQWFBLGFBQWEsS0FBS0Y7SUFFakQsTUFBTVEsVUFDSkYsWUFBWUMsWUFBWSxrQkFBZ0JELFdBQVMsTUFBR0MsWUFBVSxNQUFLO0lBQ3JFLE1BQU1FLHNCQUFzQkQsVUFDeEIsU0FDQUosY0FBYyxZQUNkLGFBQ0FBLGNBQWMsVUFDZCxtQkFDQTtJQUVKLE9BQU8sK0NBQTZDSSxVQUFRLDhGQUEyRkgsTUFBSSxvUUFBaVFBLE1BQUksZ0dBQTZGSSxzQkFBb0Isd0NBQXFDTixjQUFZO0FBQ3BrQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy50cz9jNzljIl0sIm5hbWVzIjpbImdldEltYWdlQmx1clN2ZyIsInBhcmFtIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0IiwiYmx1ckRhdGFVUkwiLCJvYmplY3RGaXQiLCJzdGQiLCJzdmdXaWR0aCIsInN2Z0hlaWdodCIsInZpZXdCb3giLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/image-blur-svg.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/image-config.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFhQSxlQUFhO2VBQWJBOztJQXNHQUMsb0JBQWtCO2VBQWxCQTs7O0FBdEdOLE1BQU1ELGdCQUFnQjtJQUMzQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFnR00sTUFBTUMscUJBQTBDO0lBQ3JEQyxhQUFhO1FBQUM7UUFBSztRQUFLO1FBQUs7UUFBTTtRQUFNO1FBQU07UUFBTTtLQUFLO0lBQzFEQyxZQUFZO1FBQUM7UUFBSTtRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUs7UUFBSztLQUFJO0lBQy9DQyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsWUFBWTtJQUNaQyxTQUFTLEVBQUU7SUFDWEMscUJBQXFCO0lBQ3JCQyxpQkFBaUI7SUFDakJDLFNBQVM7UUFBQztLQUFhO0lBQ3ZCQyxxQkFBcUI7SUFDckJDLHVCQUF3QjtJQUN4QkMsd0JBQXdCO0lBQ3hCQyxnQkFBZ0IsRUFBRTtJQUNsQkMsYUFBYTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy50cz8xMzRhIl0sIm5hbWVzIjpbIlZBTElEX0xPQURFUlMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJkZXZpY2VTaXplcyIsImltYWdlU2l6ZXMiLCJwYXRoIiwibG9hZGVyIiwibG9hZGVyRmlsZSIsImRvbWFpbnMiLCJkaXNhYmxlU3RhdGljSW1hZ2VzIiwibWluaW11bUNhY2hlVFRMIiwiZm9ybWF0cyIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJjb250ZW50U2VjdXJpdHlQb2xpY3kiLCJjb250ZW50RGlzcG9zaXRpb25UeXBlIiwicmVtb3RlUGF0dGVybnMiLCJ1bm9wdGltaXplZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/image-config.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/image-external.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-external.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n getImageProps: function() {\n return getImageProps;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getimgprops = __webpack_require__(/*! ./get-img-props */ \"(rsc)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imagecomponent = __webpack_require__(/*! ../../client/image-component */ \"(rsc)/./node_modules/next/dist/client/image-component.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(rsc)/./node_modules/next/dist/shared/lib/image-loader.js\"));\nfunction getImageProps(imgProps) {\n const { props } = (0, _getimgprops.getImgProps)(imgProps, {\n defaultLoader: _imageloader.default,\n // This is replaced by webpack define plugin\n imgConf: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]}\n });\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)){\n if (value === undefined) {\n delete props[key];\n }\n }\n return {\n props\n };\n}\nconst _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBaUNBQSxTQUFvQjtlQUFwQkM7O0lBakJnQkMsZUFBYTtlQUFiQTs7Ozt5Q0FiWTs0Q0FDTjtrRkFHSTtBQVNuQixTQUFTQSxjQUFjQyxRQUFvQjtJQUNoRCxNQUFNLEVBQUVDLEtBQUssRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxhQUFBQSxXQUFXLEVBQUNGLFVBQVU7UUFDdENHLGVBQUFBLGFBQUFBLE9BQWE7UUFDYiw0Q0FBNEM7UUFDNUNDLFNBQVNDLDBOQUE2QjtJQUN4QztJQUNBLHVFQUF1RTtJQUN2RSx3RUFBd0U7SUFDeEUsd0RBQXdEO0lBQ3hELEtBQUssTUFBTSxDQUFDRyxLQUFLQyxNQUFNLElBQUlDLE9BQU9DLE9BQU8sQ0FBQ1YsT0FBUTtRQUNoRCxJQUFJUSxVQUFVRyxXQUFXO1lBQ3ZCLE9BQU9YLEtBQUssQ0FBQ08sSUFBMEI7UUFDekM7SUFDRjtJQUNBLE9BQU87UUFBRVA7SUFBTTtBQUNqQjtNQUVBSCxXQUFlZSxnQkFBQUEsS0FBSyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC50c3g/MzgyNiJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiX2RlZmF1bHQiLCJnZXRJbWFnZVByb3BzIiwiaW1nUHJvcHMiLCJwcm9wcyIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsImltZ0NvbmYiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0lNQUdFX09QVFMiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJJbWFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/image-external.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/image-loader.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-loader.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nfunction defaultLoader(param) {\n let { config, src, width, quality } = param;\n if (true) {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push(\"src\");\n if (!width) missingValues.push(\"width\");\n if (missingValues.length > 0) {\n throw new Error(\"Next Image Optimization requires \" + missingValues.join(\", \") + \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \" + JSON.stringify({\n src,\n width,\n quality\n }));\n }\n if (src.startsWith(\"//\")) {\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)');\n }\n if (!src.startsWith(\"/\") && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)');\n }\n if (true) {\n // We use dynamic require because this should only error in development\n const { hasMatch } = __webpack_require__(/*! ./match-remote-pattern */ \"(rsc)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\");\n if (!hasMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\"Invalid src prop (\" + src + ') on `next/image`, hostname \"' + parsedSrc.hostname + '\" is not configured under images in your `next.config.js`\\n' + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host\");\n }\n }\n }\n }\n return config.path + \"?url=\" + encodeURIComponent(src) + \"&w=\" + width + \"&q=\" + (quality || 75) + ( false ? 0 : \"\");\n}\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true;\nconst _default = defaultLoader; //# sourceMappingURL=image-loader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtbG9hZGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBd0VBOzs7ZUFBQUE7OztBQXRFQSxTQUFTQyxjQUFjQyxLQUtNO0lBTE4sTUFDckJDLE1BQU0sRUFDTkMsR0FBRyxFQUNIQyxLQUFLLEVBQ0xDLE9BQU8sRUFDb0IsR0FMTko7SUFNckIsSUFBSUssSUFBeUIsRUFBYztRQUN6QyxNQUFNQyxnQkFBZ0IsRUFBRTtRQUV4Qix5REFBeUQ7UUFDekQsSUFBSSxDQUFDSixLQUFLSSxjQUFjQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDSixPQUFPRyxjQUFjQyxJQUFJLENBQUM7UUFFL0IsSUFBSUQsY0FBY0UsTUFBTSxHQUFHLEdBQUc7WUFDNUIsTUFBTSxJQUFJQyxNQUNSLHNDQUFvQ0gsY0FBY0ksSUFBSSxDQUNwRCxRQUNBLGdHQUErRkMsS0FBS0MsU0FBUyxDQUM3RztnQkFBRVY7Z0JBQUtDO2dCQUFPQztZQUFRO1FBRzVCO1FBRUEsSUFBSUYsSUFBSVcsVUFBVSxDQUFDLE9BQU87WUFDeEIsTUFBTSxJQUFJSixNQUNSLDBCQUF3QlAsTUFBSTtRQUVoQztRQUVBLElBQUksQ0FBQ0EsSUFBSVcsVUFBVSxDQUFDLFFBQVNaLENBQUFBLE9BQU9hLE9BQU8sSUFBSWIsT0FBT2MsY0FBYyxHQUFHO1lBQ3JFLElBQUlDO1lBQ0osSUFBSTtnQkFDRkEsWUFBWSxJQUFJQyxJQUFJZjtZQUN0QixFQUFFLE9BQU9nQixLQUFLO2dCQUNaQyxRQUFRQyxLQUFLLENBQUNGO2dCQUNkLE1BQU0sSUFBSVQsTUFDUiwwQkFBd0JQLE1BQUk7WUFFaEM7WUFFQSxJQUNFRyxJQUU2QixFQUM3QjtnQkFDQSx1RUFBdUU7Z0JBQ3ZFLE1BQU0sRUFBRWtCLFFBQVEsRUFBRSxHQUFHQyxtQkFBQUEsQ0FBUTtnQkFDN0IsSUFBSSxDQUFDRCxTQUFTdEIsT0FBT2EsT0FBTyxFQUFFYixPQUFPYyxjQUFjLEVBQUVDLFlBQVk7b0JBQy9ELE1BQU0sSUFBSVAsTUFDUix1QkFBcUJQLE1BQUksa0NBQWlDYyxVQUFVUyxRQUFRLEdBQUMsZ0VBQzFFO2dCQUVQO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBT3hCLE9BQVV5QixJQUFJLEdBQUMsVUFBT0MsbUJBQW1CekIsT0FBSyxRQUFLQyxRQUFNLFFBQzlEQyxDQUFBQSxXQUFXLE1BRVhDLENBQUFBLE1BQThCLEdBQzFCLENBQXNDLEdBQ3RDO0FBRVI7QUFFQSwrREFBK0Q7QUFDL0QsMkRBQTJEO0FBQzNETixjQUFjOEIsa0JBQWtCLEdBQUc7TUFFbkMvQixXQUFlQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIudHM/ZDI4MCJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsImRlZmF1bHRMb2FkZXIiLCJwYXJhbSIsImNvbmZpZyIsInNyYyIsIndpZHRoIiwicXVhbGl0eSIsInByb2Nlc3MiLCJtaXNzaW5nVmFsdWVzIiwicHVzaCIsImxlbmd0aCIsIkVycm9yIiwiam9pbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydHNXaXRoIiwiZG9tYWlucyIsInJlbW90ZVBhdHRlcm5zIiwicGFyc2VkU3JjIiwiVVJMIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiaGFzTWF0Y2giLCJyZXF1aXJlIiwiaG9zdG5hbWUiLCJwYXRoIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiX19uZXh0X2ltZ19kZWZhdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/image-loader.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/isomorphic/path.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/isomorphic/path.js ***! - \**************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * This module is for next.js server internal usage of path module.\n * It will use native path module for nodejs runtime.\n * It will use path-browserify polyfill for edge runtime.\n */ \nlet path;\nif (false) {} else {\n path = __webpack_require__(/*! path */ \"path\");\n}\nmodule.exports = path; //# sourceMappingURL=path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXNvbW9ycGhpYy9wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7O0NBSUM7QUFDRCxJQUFJQTtBQUVKLElBQUlDLEtBQTZCLEVBQVEsRUFFekMsTUFBTztJQUNMRCxPQUFPSSxtQkFBQUEsQ0FBUTtBQUNqQjtBQUVBQyxPQUFPQyxPQUFPLEdBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2lzb21vcnBoaWMvcGF0aC5qcz9jNTQ5Il0sIm5hbWVzIjpbInBhdGgiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/isomorphic/path.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/match-remote-pattern.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/match-remote-pattern.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hasMatch: function() {\n return hasMatch;\n },\n matchRemotePattern: function() {\n return matchRemotePattern;\n }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(rsc)/./node_modules/next/dist/compiled/picomatch/index.js\");\nfunction matchRemotePattern(pattern, url) {\n if (pattern.protocol !== undefined) {\n const actualProto = url.protocol.slice(0, -1);\n if (pattern.protocol !== actualProto) {\n return false;\n }\n }\n if (pattern.port !== undefined) {\n if (pattern.port !== url.port) {\n return false;\n }\n }\n if (pattern.hostname === undefined) {\n throw new Error(\"Pattern should define hostname but found\\n\" + JSON.stringify(pattern));\n } else {\n if (!(0, _picomatch.makeRe)(pattern.hostname).test(url.hostname)) {\n return false;\n }\n }\n var _pattern_pathname;\n if (!(0, _picomatch.makeRe)((_pattern_pathname = pattern.pathname) != null ? _pattern_pathname : \"**\", {\n dot: true\n }).test(url.pathname)) {\n return false;\n }\n return true;\n}\nfunction hasMatch(domains, remotePatterns, url) {\n return domains.some((domain)=>url.hostname === domain) || remotePatterns.some((p)=>matchRemotePattern(p, url));\n} //# sourceMappingURL=match-remote-pattern.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWF0Y2gtcmVtb3RlLXBhdHRlcm4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBaUNnQkEsVUFBUTtlQUFSQTs7SUE5QkFDLG9CQUFrQjtlQUFsQkE7Ozt1Q0FGTztBQUVoQixTQUFTQSxtQkFBbUJDLE9BQXNCLEVBQUVDLEdBQVE7SUFDakUsSUFBSUQsUUFBUUUsUUFBUSxLQUFLQyxXQUFXO1FBQ2xDLE1BQU1DLGNBQWNILElBQUlDLFFBQVEsQ0FBQ0csS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxJQUFJTCxRQUFRRSxRQUFRLEtBQUtFLGFBQWE7WUFDcEMsT0FBTztRQUNUO0lBQ0Y7SUFDQSxJQUFJSixRQUFRTSxJQUFJLEtBQUtILFdBQVc7UUFDOUIsSUFBSUgsUUFBUU0sSUFBSSxLQUFLTCxJQUFJSyxJQUFJLEVBQUU7WUFDN0IsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJTixRQUFRTyxRQUFRLEtBQUtKLFdBQVc7UUFDbEMsTUFBTSxJQUFJSyxNQUNSLCtDQUE2Q0MsS0FBS0MsU0FBUyxDQUFDVjtJQUVoRSxPQUFPO1FBQ0wsSUFBSSxDQUFDVyxDQUFBQSxHQUFBQSxXQUFBQSxNQUFNLEVBQUNYLFFBQVFPLFFBQVEsRUFBRUssSUFBSSxDQUFDWCxJQUFJTSxRQUFRLEdBQUc7WUFDaEQsT0FBTztRQUNUO0lBQ0Y7UUFFWVA7SUFBWixJQUFJLENBQUNXLENBQUFBLEdBQUFBLFdBQUFBLE1BQU0sRUFBQ1gsQ0FBQUEsb0JBQUFBLFFBQVFhLFFBQVEsWUFBaEJiLG9CQUFvQixNQUFNO1FBQUVjLEtBQUs7SUFBSyxHQUFHRixJQUFJLENBQUNYLElBQUlZLFFBQVEsR0FBRztRQUN2RSxPQUFPO0lBQ1Q7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxTQUFTZixTQUNkaUIsT0FBaUIsRUFDakJDLGNBQStCLEVBQy9CZixHQUFRO0lBRVIsT0FDRWMsUUFBUUUsSUFBSSxDQUFDLENBQUNDLFNBQVdqQixJQUFJTSxRQUFRLEtBQUtXLFdBQzFDRixlQUFlQyxJQUFJLENBQUMsQ0FBQ0UsSUFBTXBCLG1CQUFtQm9CLEdBQUdsQjtBQUVyRCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi50cz9kNjFkIl0sIm5hbWVzIjpbImhhc01hdGNoIiwibWF0Y2hSZW1vdGVQYXR0ZXJuIiwicGF0dGVybiIsInVybCIsInByb3RvY29sIiwidW5kZWZpbmVkIiwiYWN0dWFsUHJvdG8iLCJzbGljZSIsInBvcnQiLCJob3N0bmFtZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VSZSIsInRlc3QiLCJwYXRobmFtZSIsImRvdCIsImRvbWFpbnMiLCJyZW1vdGVQYXR0ZXJucyIsInNvbWUiLCJkb21haW4iLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQW1CQyxJQUFZO0lBQzdDLE9BQU9BLEtBQUtDLFVBQVUsQ0FBQyxPQUFPRCxPQUFPLE1BQUlBO0FBQzNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3BhZ2UtcGF0aC9lbnN1cmUtbGVhZGluZy1zbGFzaC50cz8xOGYyIl0sIm5hbWVzIjpbImVuc3VyZUxlYWRpbmdTbGFzaCIsInBhdGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js ***! - \***************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * For a given page path, this function ensures that there is no backslash\n * escaping slashes in the path. Example:\n * - `foo\\/bar\\/baz` -> `foo/bar/baz`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathSep\", ({\n enumerable: true,\n get: function() {\n return normalizePathSep;\n }\n}));\nfunction normalizePathSep(path) {\n return path.replace(/\\\\/g, \"/\");\n} //# sourceMappingURL=normalize-path-sep.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDOzs7O29EQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxpQkFBaUJDLElBQVk7SUFDM0MsT0FBT0EsS0FBS0MsT0FBTyxDQUFDLE9BQU87QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC50cz81Y2YwIl0sIm5hbWVzIjpbIm5vcm1hbGl6ZVBhdGhTZXAiLCJwYXRoIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"(rsc)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"(rsc)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFzQmdCQSxrQkFBZ0I7ZUFBaEJBOztJQW1DQUMsaUJBQWU7ZUFBZkE7OztnREF6RG1CO3FDQUNKO0FBcUJ4QixTQUFTRCxpQkFBaUJFLEtBQWE7SUFDNUMsT0FBT0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFrQixFQUN2QkQsTUFBTUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQyxDQUFDQyxVQUFVQyxTQUFTQyxPQUFPQztRQUNqRCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDRixTQUFTO1lBQ1osT0FBT0Q7UUFDVDtRQUVBLHNCQUFzQjtRQUN0QixJQUFJSSxDQUFBQSxHQUFBQSxTQUFBQSxjQUFjLEVBQUNILFVBQVU7WUFDM0IsT0FBT0Q7UUFDVDtRQUVBLGlDQUFpQztRQUNqQyxJQUFJQyxPQUFPLENBQUMsRUFBRSxLQUFLLEtBQUs7WUFDdEIsT0FBT0Q7UUFDVDtRQUVBLHVEQUF1RDtRQUN2RCxJQUNFLENBQUNDLFlBQVksVUFBVUEsWUFBWSxZQUNuQ0MsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQzVCO1lBQ0EsT0FBT0w7UUFDVDtRQUVBLE9BQU9BLFdBQVksTUFBR0M7SUFDeEIsR0FBRztBQUVQO0FBTU8sU0FBU04sZ0JBQWdCVyxHQUFXO0lBQ3pDLE9BQU9BLElBQUlDLE9BQU8sQ0FDaEIsZUFFQTtBQUVKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHMudHM/ZDQ2ZCJdLCJuYW1lcyI6WyJub3JtYWxpemVBcHBQYXRoIiwibm9ybWFsaXplUnNjVVJMIiwicm91dGUiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJzcGxpdCIsInJlZHVjZSIsInBhdGhuYW1lIiwic2VnbWVudCIsImluZGV4Iiwic2VnbWVudHMiLCJpc0dyb3VwU2VnbWVudCIsImxlbmd0aCIsInVybCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseRelativeUrl\", ({\n enumerable: true,\n get: function() {\n return parseRelativeUrl;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(rsc)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _querystring = __webpack_require__(/*! ./querystring */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nfunction parseRelativeUrl(url, base) {\n const globalBase = new URL( true ? \"http://n\" : 0);\n const resolvedBase = base ? new URL(base, globalBase) : url.startsWith(\".\") ? new URL( true ? \"http://n\" : 0) : globalBase;\n const { pathname, searchParams, search, hash, href, origin } = new URL(url, resolvedBase);\n if (origin !== globalBase.origin) {\n throw new Error(\"invariant: invalid relative URL, router received \" + url);\n }\n return {\n pathname,\n query: (0, _querystring.searchParamsToUrlQuery)(searchParams),\n search,\n hash,\n href: href.slice(globalBase.origin.length)\n };\n} //# sourceMappingURL=parse-relative-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQWtCZ0JBOzs7ZUFBQUE7OzttQ0FqQmtCO3lDQUNLO0FBZ0JoQyxTQUFTQSxpQkFDZEMsR0FBVyxFQUNYQyxJQUFhO0lBRWIsTUFBTUMsYUFBYSxJQUFJQyxJQUNyQixLQUFrQixHQUFjLGFBQWFDLENBQWlCO0lBR2hFLE1BQU1DLGVBQWVKLE9BQ2pCLElBQUlFLElBQUlGLE1BQU1DLGNBQ2RGLElBQUlNLFVBQVUsQ0FBQyxPQUNmLElBQUlILElBQUksS0FBa0IsR0FBYyxhQUFhSSxDQUFvQixJQUN6RUw7SUFFSixNQUFNLEVBQUVRLFFBQVEsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUosSUFBSSxFQUFFSyxNQUFNLEVBQUUsR0FBRyxJQUFJWCxJQUNqRUgsS0FDQUs7SUFFRixJQUFJUyxXQUFXWixXQUFXWSxNQUFNLEVBQUU7UUFDaEMsTUFBTSxJQUFJQyxNQUFNLHNEQUFvRGY7SUFDdEU7SUFDQSxPQUFPO1FBQ0xVO1FBQ0FNLE9BQU9DLENBQUFBLEdBQUFBLGFBQUFBLHNCQUFzQixFQUFDTjtRQUM5QkM7UUFDQUM7UUFDQUosTUFBTUEsS0FBS1MsS0FBSyxDQUFDaEIsV0FBV1ksTUFBTSxDQUFDSyxNQUFNO0lBQzNDO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC50cz9hZjNjIl0sIm5hbWVzIjpbInBhcnNlUmVsYXRpdmVVcmwiLCJ1cmwiLCJiYXNlIiwiZ2xvYmFsQmFzZSIsIlVSTCIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWRCYXNlIiwic3RhcnRzV2l0aCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGFzaCIsIm9yaWdpbiIsIkVycm9yIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5Iiwic2xpY2UiLCJsZW5ndGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-url.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-url.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseUrl\", ({\n enumerable: true,\n get: function() {\n return parseUrl;\n }\n}));\nconst _querystring = __webpack_require__(/*! ./querystring */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _parserelativeurl = __webpack_require__(/*! ./parse-relative-url */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\");\nfunction parseUrl(url) {\n if (url.startsWith(\"/\")) {\n return (0, _parserelativeurl.parseRelativeUrl)(url);\n }\n const parsedURL = new URL(url);\n return {\n hash: parsedURL.hash,\n hostname: parsedURL.hostname,\n href: parsedURL.href,\n pathname: parsedURL.pathname,\n port: parsedURL.port,\n protocol: parsedURL.protocol,\n query: (0, _querystring.searchParamsToUrlQuery)(parsedURL.searchParams),\n search: parsedURL.search\n };\n} //# sourceMappingURL=parse-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7OzRDQWdCZ0JBOzs7ZUFBQUE7Ozt5Q0FkdUI7OENBQ047QUFhMUIsU0FBU0EsU0FBU0MsR0FBVztJQUNsQyxJQUFJQSxJQUFJQyxVQUFVLENBQUMsTUFBTTtRQUN2QixPQUFPQyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQWdCLEVBQUNGO0lBQzFCO0lBRUEsTUFBTUcsWUFBWSxJQUFJQyxJQUFJSjtJQUMxQixPQUFPO1FBQ0xLLE1BQU1GLFVBQVVFLElBQUk7UUFDcEJDLFVBQVVILFVBQVVHLFFBQVE7UUFDNUJDLE1BQU1KLFVBQVVJLElBQUk7UUFDcEJDLFVBQVVMLFVBQVVLLFFBQVE7UUFDNUJDLE1BQU1OLFVBQVVNLElBQUk7UUFDcEJDLFVBQVVQLFVBQVVPLFFBQVE7UUFDNUJDLE9BQU9DLENBQUFBLEdBQUFBLGFBQUFBLHNCQUFzQixFQUFDVCxVQUFVVSxZQUFZO1FBQ3BEQyxRQUFRWCxVQUFVVyxNQUFNO0lBQzFCO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXVybC50cz85MTFlIl0sIm5hbWVzIjpbInBhcnNlVXJsIiwidXJsIiwic3RhcnRzV2l0aCIsInBhcnNlUmVsYXRpdmVVcmwiLCJwYXJzZWRVUkwiLCJVUkwiLCJoYXNoIiwiaG9zdG5hbWUiLCJocmVmIiwicGF0aG5hbWUiLCJwb3J0IiwicHJvdG9jb2wiLCJxdWVyeSIsInNlYXJjaFBhcmFtc1RvVXJsUXVlcnkiLCJzZWFyY2hQYXJhbXMiLCJzZWFyY2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-url.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/path-match.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/path-match.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getPathMatch\", ({\n enumerable: true,\n get: function() {\n return getPathMatch;\n }\n}));\nconst _pathtoregexp = __webpack_require__(/*! next/dist/compiled/path-to-regexp */ \"(rsc)/./node_modules/next/dist/compiled/path-to-regexp/index.js\");\nfunction getPathMatch(path, options) {\n const keys = [];\n const regexp = (0, _pathtoregexp.pathToRegexp)(path, keys, {\n delimiter: \"/\",\n sensitive: typeof (options == null ? void 0 : options.sensitive) === \"boolean\" ? options.sensitive : false,\n strict: options == null ? void 0 : options.strict\n });\n const matcher = (0, _pathtoregexp.regexpToFunction)((options == null ? void 0 : options.regexModifier) ? new RegExp(options.regexModifier(regexp.source), regexp.flags) : regexp, keys);\n /**\n * A matcher function that will check if a given pathname matches the path\n * given in the builder function. When the path does not match it will return\n * `false` but if it does it will return an object with the matched params\n * merged with the params provided in the second argument.\n */ return (pathname, params)=>{\n // If no pathname is provided it's not a match.\n if (typeof pathname !== \"string\") return false;\n const match = matcher(pathname);\n // If the path did not match `false` will be returned.\n if (!match) return false;\n /**\n * If unnamed params are not allowed they must be removed from\n * the matched parameters. path-to-regexp uses \"string\" for named and\n * \"number\" for unnamed parameters.\n */ if (options == null ? void 0 : options.removeUnnamedParams) {\n for (const key of keys){\n if (typeof key.name === \"number\") {\n delete match.params[key.name];\n }\n }\n }\n return {\n ...params,\n ...match.params\n };\n };\n} //# sourceMappingURL=path-match.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtbWF0Y2guanMiLCJtYXBwaW5ncyI6Ijs7OztnREFxQ2dCQTs7O2VBQUFBOzs7MENBcENhO0FBb0N0QixTQUFTQSxhQUFhQyxJQUFZLEVBQUVDLE9BQWlCO0lBQzFELE1BQU1DLE9BQWMsRUFBRTtJQUN0QixNQUFNQyxTQUFTQyxDQUFBQSxHQUFBQSxjQUFBQSxZQUFZLEVBQUNKLE1BQU1FLE1BQU07UUFDdENHLFdBQVc7UUFDWEMsV0FDRSxPQUFPTCxDQUFBQSxXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxRQUFTSyxTQUFTLE1BQUssWUFBWUwsUUFBUUssU0FBUyxHQUFHO1FBQ2hFQyxRQUFRTixXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxRQUFTTSxNQUFNO0lBQ3pCO0lBRUEsTUFBTUMsVUFBVUMsQ0FBQUEsR0FBQUEsY0FBQUEsZ0JBQWdCLEVBQzlCUixDQUFBQSxXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxRQUFTUyxhQUFhLElBQ2xCLElBQUlDLE9BQU9WLFFBQVFTLGFBQWEsQ0FBQ1AsT0FBT1MsTUFBTSxHQUFHVCxPQUFPVSxLQUFLLElBQzdEVixRQUNKRDtJQUdGOzs7OztHQUtDLEdBQ0QsT0FBTyxDQUFDWSxVQUFVQztRQUNoQiwrQ0FBK0M7UUFDL0MsSUFBSSxPQUFPRCxhQUFhLFVBQVUsT0FBTztRQUV6QyxNQUFNRSxRQUFRUixRQUFRTTtRQUV0QixzREFBc0Q7UUFDdEQsSUFBSSxDQUFDRSxPQUFPLE9BQU87UUFFbkI7Ozs7S0FJQyxHQUNELElBQUlmLFdBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFFBQVNnQixtQkFBbUIsRUFBRTtZQUNoQyxLQUFLLE1BQU1DLE9BQU9oQixLQUFNO2dCQUN0QixJQUFJLE9BQU9nQixJQUFJQyxJQUFJLEtBQUssVUFBVTtvQkFDaEMsT0FBT0gsTUFBTUQsTUFBTSxDQUFDRyxJQUFJQyxJQUFJLENBQUM7Z0JBQy9CO1lBQ0Y7UUFDRjtRQUVBLE9BQU87WUFBRSxHQUFHSixNQUFNO1lBQUUsR0FBR0MsTUFBTUQsTUFBTTtRQUFDO0lBQ3RDO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YWlsd2luZHVpLWtleW5vdGUvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtbWF0Y2gudHM/ZWZiZiJdLCJuYW1lcyI6WyJnZXRQYXRoTWF0Y2giLCJwYXRoIiwib3B0aW9ucyIsImtleXMiLCJyZWdleHAiLCJwYXRoVG9SZWdleHAiLCJkZWxpbWl0ZXIiLCJzZW5zaXRpdmUiLCJzdHJpY3QiLCJtYXRjaGVyIiwicmVnZXhwVG9GdW5jdGlvbiIsInJlZ2V4TW9kaWZpZXIiLCJSZWdFeHAiLCJzb3VyY2UiLCJmbGFncyIsInBhdGhuYW1lIiwicGFyYW1zIiwibWF0Y2giLCJyZW1vdmVVbm5hbWVkUGFyYW1zIiwia2V5IiwibmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/path-match.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/prepare-destination.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/prepare-destination.js ***! - \*******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n compileNonPath: function() {\n return compileNonPath;\n },\n matchHas: function() {\n return matchHas;\n },\n prepareDestination: function() {\n return prepareDestination;\n }\n});\nconst _pathtoregexp = __webpack_require__(/*! next/dist/compiled/path-to-regexp */ \"(rsc)/./node_modules/next/dist/compiled/path-to-regexp/index.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(rsc)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _parseurl = __webpack_require__(/*! ./parse-url */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-url.js\");\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(rsc)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../../../client/components/app-router-headers */ \"(rsc)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _getcookieparser = __webpack_require__(/*! ../../../../server/api-utils/get-cookie-parser */ \"(rsc)/./node_modules/next/dist/server/api-utils/get-cookie-parser.js\");\n/**\n * Ensure only a-zA-Z are used for param names for proper interpolating\n * with path-to-regexp\n */ function getSafeParamName(paramName) {\n let newParamName = \"\";\n for(let i = 0; i < paramName.length; i++){\n const charCode = paramName.charCodeAt(i);\n if (charCode > 64 && charCode < 91 || // A-Z\n charCode > 96 && charCode < 123 // a-z\n ) {\n newParamName += paramName[i];\n }\n }\n return newParamName;\n}\nfunction escapeSegment(str, segmentName) {\n return str.replace(new RegExp(\":\" + (0, _escaperegexp.escapeStringRegexp)(segmentName), \"g\"), \"__ESC_COLON_\" + segmentName);\n}\nfunction unescapeSegments(str) {\n return str.replace(/__ESC_COLON_/gi, \":\");\n}\nfunction matchHas(req, query, has, missing) {\n if (has === void 0) has = [];\n if (missing === void 0) missing = [];\n const params = {};\n const hasMatch = (hasItem)=>{\n let value;\n let key = hasItem.key;\n switch(hasItem.type){\n case \"header\":\n {\n key = key.toLowerCase();\n value = req.headers[key];\n break;\n }\n case \"cookie\":\n {\n if (\"cookies\" in req) {\n value = req.cookies[hasItem.key];\n } else {\n const cookies = (0, _getcookieparser.getCookieParser)(req.headers)();\n value = cookies[hasItem.key];\n }\n break;\n }\n case \"query\":\n {\n value = query[key];\n break;\n }\n case \"host\":\n {\n const { host } = (req == null ? void 0 : req.headers) || {};\n // remove port from host if present\n const hostname = host == null ? void 0 : host.split(\":\", 1)[0].toLowerCase();\n value = hostname;\n break;\n }\n default:\n {\n break;\n }\n }\n if (!hasItem.value && value) {\n params[getSafeParamName(key)] = value;\n return true;\n } else if (value) {\n const matcher = new RegExp(\"^\" + hasItem.value + \"$\");\n const matches = Array.isArray(value) ? value.slice(-1)[0].match(matcher) : value.match(matcher);\n if (matches) {\n if (Array.isArray(matches)) {\n if (matches.groups) {\n Object.keys(matches.groups).forEach((groupKey)=>{\n params[groupKey] = matches.groups[groupKey];\n });\n } else if (hasItem.type === \"host\" && matches[0]) {\n params.host = matches[0];\n }\n }\n return true;\n }\n }\n return false;\n };\n const allMatch = has.every((item)=>hasMatch(item)) && !missing.some((item)=>hasMatch(item));\n if (allMatch) {\n return params;\n }\n return false;\n}\nfunction compileNonPath(value, params) {\n if (!value.includes(\":\")) {\n return value;\n }\n for (const key of Object.keys(params)){\n if (value.includes(\":\" + key)) {\n value = value.replace(new RegExp(\":\" + key + \"\\\\*\", \"g\"), \":\" + key + \"--ESCAPED_PARAM_ASTERISKS\").replace(new RegExp(\":\" + key + \"\\\\?\", \"g\"), \":\" + key + \"--ESCAPED_PARAM_QUESTION\").replace(new RegExp(\":\" + key + \"\\\\+\", \"g\"), \":\" + key + \"--ESCAPED_PARAM_PLUS\").replace(new RegExp(\":\" + key + \"(?!\\\\w)\", \"g\"), \"--ESCAPED_PARAM_COLON\" + key);\n }\n }\n value = value.replace(/(:|\\*|\\?|\\+|\\(|\\)|\\{|\\})/g, \"\\\\$1\").replace(/--ESCAPED_PARAM_PLUS/g, \"+\").replace(/--ESCAPED_PARAM_COLON/g, \":\").replace(/--ESCAPED_PARAM_QUESTION/g, \"?\").replace(/--ESCAPED_PARAM_ASTERISKS/g, \"*\");\n // the value needs to start with a forward-slash to be compiled\n // correctly\n return (0, _pathtoregexp.compile)(\"/\" + value, {\n validate: false\n })(params).slice(1);\n}\nfunction prepareDestination(args) {\n const query = Object.assign({}, args.query);\n delete query.__nextLocale;\n delete query.__nextDefaultLocale;\n delete query.__nextDataReq;\n delete query.__nextInferredLocaleFromDefault;\n delete query[_approuterheaders.NEXT_RSC_UNION_QUERY];\n let escapedDestination = args.destination;\n for (const param of Object.keys({\n ...args.params,\n ...query\n })){\n escapedDestination = escapeSegment(escapedDestination, param);\n }\n const parsedDestination = (0, _parseurl.parseUrl)(escapedDestination);\n const destQuery = parsedDestination.query;\n const destPath = unescapeSegments(\"\" + parsedDestination.pathname + (parsedDestination.hash || \"\"));\n const destHostname = unescapeSegments(parsedDestination.hostname || \"\");\n const destPathParamKeys = [];\n const destHostnameParamKeys = [];\n (0, _pathtoregexp.pathToRegexp)(destPath, destPathParamKeys);\n (0, _pathtoregexp.pathToRegexp)(destHostname, destHostnameParamKeys);\n const destParams = [];\n destPathParamKeys.forEach((key)=>destParams.push(key.name));\n destHostnameParamKeys.forEach((key)=>destParams.push(key.name));\n const destPathCompiler = (0, _pathtoregexp.compile)(destPath, // have already validated before we got to this point and validating\n // breaks compiling destinations with named pattern params from the source\n // e.g. /something:hello(.*) -> /another/:hello is broken with validation\n // since compile validation is meant for reversing and not for inserting\n // params from a separate path-regex into another\n {\n validate: false\n });\n const destHostnameCompiler = (0, _pathtoregexp.compile)(destHostname, {\n validate: false\n });\n // update any params in query values\n for (const [key, strOrArray] of Object.entries(destQuery)){\n // the value needs to start with a forward-slash to be compiled\n // correctly\n if (Array.isArray(strOrArray)) {\n destQuery[key] = strOrArray.map((value)=>compileNonPath(unescapeSegments(value), args.params));\n } else if (typeof strOrArray === \"string\") {\n destQuery[key] = compileNonPath(unescapeSegments(strOrArray), args.params);\n }\n }\n // add path params to query if it's not a redirect and not\n // already defined in destination query or path\n let paramKeys = Object.keys(args.params).filter((name)=>name !== \"nextInternalLocale\");\n if (args.appendParamsToQuery && !paramKeys.some((key)=>destParams.includes(key))) {\n for (const key of paramKeys){\n if (!(key in destQuery)) {\n destQuery[key] = args.params[key];\n }\n }\n }\n let newUrl;\n // The compiler also that the interception route marker is an unnamed param, hence '0',\n // so we need to add it to the params object.\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(destPath)) {\n for (const segment of destPath.split(\"/\")){\n const marker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n args.params[\"0\"] = marker;\n break;\n }\n }\n }\n try {\n newUrl = destPathCompiler(args.params);\n const [pathname, hash] = newUrl.split(\"#\", 2);\n parsedDestination.hostname = destHostnameCompiler(args.params);\n parsedDestination.pathname = pathname;\n parsedDestination.hash = \"\" + (hash ? \"#\" : \"\") + (hash || \"\");\n delete parsedDestination.search;\n } catch (err) {\n if (err.message.match(/Expected .*? to not repeat, but got an array/)) {\n throw new Error(\"To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match\");\n }\n throw err;\n }\n // Query merge order lowest priority to highest\n // 1. initial URL query values\n // 2. path segment values\n // 3. destination specified query values\n parsedDestination.query = {\n ...query,\n ...parsedDestination.query\n };\n return {\n newUrl,\n destQuery,\n parsedDestination\n };\n} //# sourceMappingURL=prepare-destination.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3ByZXBhcmUtZGVzdGluYXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBK0hnQkEsZ0JBQWM7ZUFBZEE7O0lBL0VBQyxVQUFRO2VBQVJBOztJQWtIQUMsb0JBQWtCO2VBQWxCQTs7OzBDQTNKc0I7MENBQ0g7c0NBQ1Y7Z0RBSWxCOzhDQUM4Qjs2Q0FDTDtBQUVoQzs7O0NBR0MsR0FDRCxTQUFTQyxpQkFBaUJDLFNBQWlCO0lBQ3pDLElBQUlDLGVBQWU7SUFFbkIsSUFBSyxJQUFJQyxJQUFJLEdBQUdBLElBQUlGLFVBQVVHLE1BQU0sRUFBRUQsSUFBSztRQUN6QyxNQUFNRSxXQUFXSixVQUFVSyxVQUFVLENBQUNIO1FBRXRDLElBQ0VFLFdBQVksTUFBTUEsV0FBVyxNQUFPLE1BQU07UUFDekNBLFdBQVcsTUFBTUEsV0FBVyxJQUFLLE1BQU07VUFDeEM7WUFDQUgsZ0JBQWdCRCxTQUFTLENBQUNFLEVBQUU7UUFDOUI7SUFDRjtJQUNBLE9BQU9EO0FBQ1Q7QUFFQSxTQUFTSyxjQUFjQyxHQUFXLEVBQUVDLFdBQW1CO0lBQ3JELE9BQU9ELElBQUlFLE9BQU8sQ0FDaEIsSUFBSUMsT0FBTyxNQUFJQyxDQUFBQSxHQUFBQSxjQUFBQSxrQkFBa0IsRUFBQ0gsY0FBZ0IsTUFDbEQsaUJBQWVBO0FBRW5CO0FBRUEsU0FBU0ksaUJBQWlCTCxHQUFXO0lBQ25DLE9BQU9BLElBQUlFLE9BQU8sQ0FBQyxrQkFBa0I7QUFDdkM7QUFFTyxTQUFTWixTQUNkZ0IsR0FBc0MsRUFDdENDLEtBQWEsRUFDYkMsR0FBb0IsRUFDcEJDLE9BQXdCO0lBRHhCRCxJQUFBQSxRQUFBQSxLQUFBQSxHQUFBQSxNQUFrQixFQUFFO0lBQ3BCQyxJQUFBQSxZQUFBQSxLQUFBQSxHQUFBQSxVQUFzQixFQUFFO0lBRXhCLE1BQU1DLFNBQWlCLENBQUM7SUFFeEIsTUFBTUMsV0FBVyxDQUFDQztR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QixNQUFNO0lBQzFDLEVBQUUsT0FBT0MsS0FBVTtRQUNqQixJQUFJQSxJQUFJQyxPQUFPLENBQUN0RCxLQUFLLENBQUMsaURBQWlEO1lBQ3JFLE1BQU0sSUFBSXVELE1BQ1A7UUFFTDtRQUNBLE1BQU1GO0lBQ1I7SUFFQSwrQ0FBK0M7SUFDL0MsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6Qix3Q0FBd0M7SUFDeEM5QixrQkFBa0I1QyxLQUFLLEdBQUc7UUFDeEIsR0FBR0EsS0FBSztRQUNSLEdBQUc0QyxrQkFBa0I1QyxLQUFLO0lBQzVCO0lBRUEsT0FBTztRQUNMaUU7UUFDQW5CO1FBQ0FGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcHJlcGFyZS1kZXN0aW5hdGlvbi50cz9iMTE2Il0sIm5hbWVzIjpbImNvbXBpbGVOb25QYXRoIiwibWF0Y2hIYXMiLCJwcmVwYXJlRGVzdGluYXRpb24iLCJnZXRTYWZlUGFyYW1OYW1lIiwicGFyYW1OYW1lIiwibmV3UGFyYW1OYW1lIiwiaSIsImxlbmd0aCIsImNoYXJDb2RlIiwiY2hhckNvZGVBdCIsImVzY2FwZVNlZ21lbnQiLCJzdHIiLCJzZWdtZW50TmFtZSIsInJlcGxhY2UiLCJSZWdFeHAiLCJlc2NhcGVTdHJpbmdSZWdleHAiLCJ1bmVzY2FwZVNlZ21lbnRzIiwicmVxIiwicXVlcnkiLCJoYXMiLCJtaXNzaW5nIiwicGFyYW1zIiwiaGFzTWF0Y2giLCJoYXNJdGVtIiwidmFsdWUiLCJrZXkiLCJ0eXBlIiwidG9Mb3dlckNhc2UiLCJoZWFkZXJzIiwiY29va2llcyIsImdldENvb2tpZVBhcnNlciIsImhvc3QiLCJob3N0bmFtZSIsInNwbGl0IiwibWF0Y2hlciIsIm1hdGNoZXMiLCJBcnJheSIsImlzQXJyYXkiLCJzbGljZSIsIm1hdGNoIiwiZ3JvdXBzIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJncm91cEtleSIsImFsbE1hdGNoIiwiZXZlcnkiLCJpdGVtIiwic29tZSIsImluY2x1ZGVzIiwiY29tcGlsZSIsInZhbGlkYXRlIiwiYXJncyIsImFzc2lnbiIsIl9fbmV4dExvY2FsZSIsIl9fbmV4dERlZmF1bHRMb2NhbGUiLCJfX25leHREYXRhUmVxIiwiX19uZXh0SW5mZXJyZWRMb2NhbGVGcm9tRGVmYXVsdCIsIk5FWFRfUlNDX1VOSU9OX1FVRVJZIiwiZXNjYXBlZERlc3RpbmF0aW9uIiwiZGVzdGluYXRpb24iLCJwYXJhbSIsInBhcnNlZERlc3RpbmF0aW9uIiwicGFyc2VVcmwiLCJkZXN0UXVlcnkiLCJkZXN0UGF0aCIsInBhdGhuYW1lIiwiaGFzaCIsImRlc3RIb3N0bmFtZSIsImRlc3RQYXRoUGFyYW1LZXlzIiwiZGVzdEhvc3RuYW1lUGFyYW1LZXlzIiwicGF0aFRvUmVnZXhwIiwiZGVzdFBhcmFtcyIsInB1c2giLCJuYW1lIiwiZGVzdFBhdGhDb21waWxlciIsImRlc3RIb3N0bmFtZUNvbXBpbGVyIiwic3RyT3JBcnJheSIsImVudHJpZXMiLCJtYXAiLCJwYXJhbUtleXMiLCJmaWx0ZXIiLCJhcHBlbmRQYXJhbXNUb1F1ZXJ5IiwibmV3VXJsIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJzZWdtZW50IiwibWFya2VyIiwiSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMiLCJmaW5kIiwibSIsInN0YXJ0c1dpdGgiLCJzZWFyY2giLCJlcnIiLCJtZXNzYWdlIiwiRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/prepare-destination.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTRDZ0JBLFFBQU07ZUFBTkE7O0lBMUNBQyx3QkFBc0I7ZUFBdEJBOztJQTRCQUMsd0JBQXNCO2VBQXRCQTs7O0FBNUJULFNBQVNELHVCQUNkRSxZQUE2QjtJQUU3QixNQUFNQyxRQUF3QixDQUFDO0lBQy9CRCxhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0M7UUFDM0IsSUFBSSxPQUFPSCxLQUFLLENBQUNHLElBQUksS0FBSyxhQUFhO1lBQ3JDSCxLQUFLLENBQUNHLElBQUksR0FBR0Q7UUFDZixPQUFPLElBQUlFLE1BQU1DLE9BQU8sQ0FBQ0wsS0FBSyxDQUFDRyxJQUFJLEdBQUc7WUFDbENILEtBQUssQ0FBQ0csSUFBSSxDQUFjRyxJQUFJLENBQUNKO1FBQ2pDLE9BQU87WUFDTEYsS0FBSyxDQUFDRyxJQUFJLEdBQUc7Z0JBQUNILEtBQUssQ0FBQ0csSUFBSTtnQkFBWUQ7YUFBTTtRQUM1QztJQUNGO0lBQ0EsT0FBT0Y7QUFDVDtBQUVBLFNBQVNPLHVCQUF1QkMsS0FBYztJQUM1QyxJQUNFLE9BQU9BLFVBQVUsWUFDaEIsT0FBT0EsVUFBVSxZQUFZLENBQUNDLE1BQU1ELFVBQ3JDLE9BQU9BLFVBQVUsV0FDakI7UUFDQSxPQUFPRSxPQUFPRjtJQUNoQixPQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0Y7QUFFTyxTQUFTVix1QkFDZGEsUUFBd0I7SUFFeEIsTUFBTUMsU0FBUyxJQUFJQztJQUNuQkMsT0FBT0MsT0FBTyxDQUFDSixVQUFVVixPQUFPLENBQUMsQ0FBQU87WUFBQyxDQUFDTCxLQUFLRCxNQUFNLEdBQUFNO1FBQzVDLElBQUlKLE1BQU1DLE9BQU8sQ0FBQ0gsUUFBUTtZQUN4QkEsTUFBTUQsT0FBTyxDQUFDLENBQUNlLE9BQVNKLE9BQU9LLE1BQU0sQ0FBQ2QsS0FBS0ksdUJBQXVCUztRQUNwRSxPQUFPO1lBQ0xKLE9BQU9NLEdBQUcsQ0FBQ2YsS0FBS0ksdUJBQXVCTDtRQUN6QztJQUNGO0lBQ0EsT0FBT1U7QUFDVDtBQUVPLFNBQVNoQixPQUNkdUIsTUFBdUI7SUFDdkIsUUFBQUMsT0FBQUMsVUFBQUMsTUFBQSxFQUFBQyxtQkFBQSxJQUFBbkIsTUFBQWdCLE9BQUEsSUFBQUEsT0FBQSxRQUFBSSxPQUFBLEdBQUFBLE9BQUFKLE1BQUFJLE9BQUE7UUFBR0QsZ0JBQUFBLENBQUhDLE9BQUEsS0FBQUgsU0FBQSxDQUFBRyxLQUFzQzs7SUFFdENELGlCQUFpQnRCLE9BQU8sQ0FBQyxDQUFDRjtRQUN4QkssTUFBTXFCLElBQUksQ0FBQzFCLGFBQWEyQixJQUFJLElBQUl6QixPQUFPLENBQUMsQ0FBQ0UsTUFBUWdCLE9BQU9RLE1BQU0sQ0FBQ3hCO1FBQy9ESixhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0MsTUFBUWdCLE9BQU9GLE1BQU0sQ0FBQ2QsS0FBS0Q7SUFDMUQ7SUFDQSxPQUFPaUI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcudHM/ODJmYSJdLCJuYW1lcyI6WyJhc3NpZ24iLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsInZhbHVlIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwidXJsUXVlcnkiLCJyZXN1bHQiLCJVUkxTZWFyY2hQYXJhbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaXRlbSIsImFwcGVuZCIsInNldCIsInRhcmdldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZWFyY2hQYXJhbXNMaXN0IiwiX2tleSIsImZyb20iLCJrZXlzIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! - \*********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUM7Ozs7dURBQ2VBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG9CQUFvQkMsS0FBYTtJQUMvQyxPQUFPQSxNQUFNQyxPQUFPLENBQUMsT0FBTyxPQUFPO0FBQ3JDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yZW1vdmUtdHJhaWxpbmctc2xhc2gudHM/ZTk4MiJdLCJuYW1lcyI6WyJyZW1vdmVUcmFpbGluZ1NsYXNoIiwicm91dGUiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(rsc)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFXZ0JBOzs7ZUFBQUE7OzttQ0FWWTtBQVVyQixTQUFTQSxnQkFBZ0JDLEtBQTBCO0lBQTFCLE1BQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFjLEdBQTFCRjtJQUM5QixPQUFPLENBQUNHO1FBQ04sTUFBTUMsYUFBYUgsR0FBR0ksSUFBSSxDQUFDRjtRQUMzQixJQUFJLENBQUNDLFlBQVk7WUFDZixPQUFPO1FBQ1Q7UUFFQSxNQUFNRSxTQUFTLENBQUNOO1lBQ2QsSUFBSTtnQkFDRixPQUFPTyxtQkFBbUJQO1lBQzVCLEVBQUUsT0FBT1EsR0FBRztnQkFDVixNQUFNLElBQUlDLE9BQUFBLFdBQVcsQ0FBQztZQUN4QjtRQUNGO1FBQ0EsTUFBTUMsU0FBcUQsQ0FBQztRQUU1REMsT0FBT0MsSUFBSSxDQUFDVixRQUFRVyxPQUFPLENBQUMsQ0FBQ0M7WUFDM0IsTUFBTUMsSUFBSWIsTUFBTSxDQUFDWSxTQUFTO1lBQzFCLE1BQU1FLElBQUlaLFVBQVUsQ0FBQ1csRUFBRUUsR0FBRyxDQUFDO1lBQzNCLElBQUlELE1BQU1FLFdBQVc7Z0JBQ25CUixNQUFNLENBQUNJLFNBQVMsR0FBRyxDQUFDRSxFQUFFRyxPQUFPLENBQUMsT0FDMUJILEVBQUVJLEtBQUssQ0FBQyxLQUFLQyxHQUFHLENBQUMsQ0FBQ0MsUUFBVWhCLE9BQU9nQixVQUNuQ1AsRUFBRVEsTUFBTSxHQUNSO29CQUFDakIsT0FBT1U7aUJBQUcsR0FDWFYsT0FBT1U7WUFDYjtRQUNGO1FBQ0EsT0FBT047SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLnRzPzMxNzkiXSwibmFtZXMiOlsiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW0iLCJyZSIsImdyb3VwcyIsInBhdGhuYW1lIiwicm91dGVNYXRjaCIsImV4ZWMiLCJkZWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfIiwiRGVjb2RlRXJyb3IiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInNsdWdOYW1lIiwiZyIsIm0iLCJwb3MiLCJ1bmRlZmluZWQiLCJpbmRleE9mIiwic3BsaXQiLCJtYXAiLCJlbnRyeSIsInJlcGVhdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(rsc)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(rsc)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTJOZ0JBLHlCQUF1QjtlQUF2QkE7O0lBaEJBQyxvQkFBa0I7ZUFBbEJBOztJQW5JQUMsZUFBYTtlQUFiQTs7O2dEQXhFMkI7MENBQ1I7aURBQ0M7QUFFcEMsTUFBTUMsMEJBQTBCO0FBQ2hDLE1BQU1DLGtDQUFrQztBQWF4Qzs7Ozs7OztDQU9DLEdBQ0QsU0FBU0MsZUFBZUMsS0FBYTtJQUNuQyxNQUFNQyxXQUFXRCxNQUFNRSxVQUFVLENBQUMsUUFBUUYsTUFBTUcsUUFBUSxDQUFDO0lBQ3pELElBQUlGLFVBQVU7UUFDWkQsUUFBUUEsTUFBTUksS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxQjtJQUNBLE1BQU1DLFNBQVNMLE1BQU1FLFVBQVUsQ0FBQztJQUNoQyxJQUFJRyxRQUFRO1FBQ1ZMLFFBQVFBLE1BQU1JLEtBQUssQ0FBQztJQUN0QjtJQUNBLE9BQU87UUFBRUUsS0FBS047UUFBT0s7UUFBUUo7SUFBUztBQUN4QztBQUVBLFNBQVNNLHFCQUFxQkMsS0FBYTtJQUN6QyxNQUFNQyxXQUFXQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNGLE9BQU9KLEtBQUssQ0FBQyxHQUFHTyxLQUFLLENBQUM7SUFDM0QsTUFBTUMsU0FBeUMsQ0FBQztJQUNoRCxJQUFJQyxhQUFhO0lBQ2pCLE9BQU87UUFDTEMsb0JBQW9CTCxTQUNqQk0sR0FBRyxDQUFDLENBQUNDO1lBQ0osTUFBTUMsY0FBY0Msb0JBQUFBLDBCQUEwQixDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsSUFDbkRKLFFBQVFkLFVBQVUsQ0FBQ2tCO1lBRXJCLE1BQU1DLGVBQWVMLFFBQVFNLEtBQUssQ0FBQyx1QkFBdUIsdUJBQXVCOztZQUVqRixJQUFJTCxlQUFlSSxjQUFjO2dCQUMvQixNQUFNLEVBQUVmLEdBQUcsRUFBRUwsUUFBUSxFQUFFSSxNQUFNLEVBQUUsR0FBR04sZUFBZXNCLFlBQVksQ0FBQyxFQUFFO2dCQUNoRVQsTUFBTSxDQUFDTixJQUFJLEdBQUc7b0JBQUVpQixLQUFLVjtvQkFBY1I7b0JBQVFKO2dCQUFTO2dCQUNwRCxPQUFPLE1BQUl1QixDQUFBQSxHQUFBQSxjQUFBQSxrQkFBa0IsRUFBQ1AsZUFBYTtZQUM3QyxPQUFPLElBQUlJLGNBQWM7Z0JBQ3ZCLE1BQU0sRUFBRWYsR0FBRyxFQUFFRCxNQUFNLEVBQUVKLFFBQVEsRUFBRSxHQUFHRixlQUFlc0IsWUFBWSxDQUFDLEVBQUU7Z0JBQ2hFVCxNQUFNLENBQUNOLElBQUksR0FBRztvQkFBRWlCLEtBQUtWO29CQUFjUjtvQkFBUUo7Z0JBQVM7Z0JBQ3BELE9BQU9JLFNBQVVKLFdBQVcsZ0JBQWdCLFdBQVk7WUFDMUQsT0FBTztnQkFDTCxPQUFPLE1BQUl1QixDQUFBQSxHQUFBQSxjQUFBQSxrQkFBa0IsRUFBQ1I7WUFDaEM7UUFDRixHQUNDUyxJQUFJLENBQUM7UUFDUmI7SUFDRjtBQUNGO0FBT08sU0FBU2hCLGNBQWM4QixlQUF1QjtJQUNuRCxNQUFNLEVBQUVaLGtCQUFrQixFQUFFRixNQUFNLEVBQUUsR0FBR0wscUJBQXFCbUI7SUFDNUQsT0FBTztRQUNMQyxJQUFJLElBQUlDLE9BQU8sTUFBSWQscUJBQW1CO1FBQ3RDRixRQUFRQTtJQUNWO0FBQ0Y7QUFFQTs7O0NBR0MsR0FDRCxTQUFTaUI7SUFDUCxJQUFJQyxJQUFJO0lBRVIsT0FBTztRQUNMLElBQUlDLFdBQVc7UUFDZixJQUFJQyxJQUFJLEVBQUVGO1FBQ1YsTUFBT0UsSUFBSSxFQUFHO1lBQ1pELFlBQVlFLE9BQU9DLFlBQVksQ0FBQyxLQUFNLENBQUNGLElBQUksS0FBSztZQUNoREEsSUFBSUcsS0FBS0MsS0FBSyxDQUFDLENBQUNKLElBQUksS0FBSztRQUMzQjtRQUNBLE9BQU9EO0lBQ1Q7QUFDRjtBQUVBLFNBQVNNLHNCQUFzQnJDLEtBWTlCO0lBWjhCLE1BQzdCc0Msa0JBQWtCLEVBQ2xCQyxlQUFlLEVBQ2Z2QixPQUFPLEVBQ1B3QixTQUFTLEVBQ1RDLFNBQVMsRUFPVixHQVo4QnpDO0lBYTdCLE1BQU0sRUFBRU0sR0FBRyxFQUFFTCxRQUFRLEVBQUVJLE1BQU0sRUFBRSxHQUFHTixlQUFlaUI7SUFFakQsdURBQXVEO0lBQ3ZELGtCQUFrQjtJQUNsQixJQUFJMEIsYUFBYXBDLElBQUlxQyxPQUFPLENBQUMsT0FBTztJQUVwQyxJQUFJRixXQUFXO1FBQ2JDLGFBQWEsS0FBR0QsWUFBWUM7SUFDOUI7SUFDQSxJQUFJRSxhQUFhO0lBRWpCLGtFQUFrRTtJQUNsRSxXQUFXO0lBQ1gsSUFBSUYsV0FBV0csTUFBTSxLQUFLLEtBQUtILFdBQVdHLE1BQU0sR0FBRyxJQUFJO1FBQ3JERCxhQUFhO0lBQ2Y7SUFDQSxJQUFJLENBQUNFLE1BQU1DLFNBQVNMLFdBQVd0QyxLQUFLLENBQUMsR0FBRyxNQUFNO1FBQzVDd0MsYUFBYTtJQUNmO0lBRUEsSUFBSUEsWUFBWTtRQUNkRixhQUFhSDtJQUNmO0lBRUEsSUFBSUUsV0FBVztRQUNiRCxTQUFTLENBQUNFLFdBQVcsR0FBRyxLQUFHRCxZQUFZbkM7SUFDekMsT0FBTztRQUNMa0MsU0FBUyxDQUFDRSxXQUFXLEdBQUdwQztJQUMxQjtJQUVBLHdGQUF3RjtJQUN4RiwwRkFBMEY7SUFDMUYscUZBQXFGO0lBQ3JGLE1BQU0wQyxxQkFBcUJWLHFCQUN2QmQsQ0FBQUEsR0FBQUEsY0FBQUEsa0JBQWtCLEVBQUNjLHNCQUNuQjtJQUVKLE9BQU9qQyxTQUNISixXQUNFLFNBQU8rQyxxQkFBbUIsUUFBS04sYUFBVyxZQUMxQyxNQUFJTSxxQkFBbUIsUUFBS04sYUFBVyxVQUN6QyxNQUFJTSxxQkFBbUIsUUFBS04sYUFBVztBQUM3QztBQUVBLFNBQVNPLDBCQUEwQnpDLEtBQWEsRUFBRTBDLGVBQXdCO0lBQ3hFLE1BQU16QyxXQUFXQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNGLE9BQU9KLEtBQUssQ0FBQyxHQUFHTyxLQUFLLENBQUM7SUFDM0QsTUFBTTRCLGtCQUFrQlY7SUFDeEIsTUFBTVcsWUFBeUMsQ0FBQztJQUNoRCxPQUFPO1FBQ0xXLHlCQUF5QjFDLFNBQ3RCTSxHQUFHLENBQUMsQ0FBQ0M7WUFDSixNQUFNb0Msd0JBQXdCbEMsb0JBQUFBLDBCQUEwQixDQUFDbUMsSUFBSSxDQUFDLENBQUNqQyxJQUM3REosUUFBUWQsVUFBVSxDQUFDa0I7WUFFckIsTUFBTUMsZUFBZUwsUUFBUU0sS0FBSyxDQUFDLHVCQUF1Qix1QkFBdUI7O1lBRWpGLElBQUk4Qix5QkFBeUIvQixjQUFjO2dCQUN6QyxNQUFNLENBQUNpQyxXQUFXLEdBQUd0QyxRQUFRTCxLQUFLLENBQUNVLFlBQVksQ0FBQyxFQUFFO2dCQUVsRCxPQUFPZ0Isc0JBQXNCO29CQUMzQkU7b0JBQ0FELG9CQUFvQmdCO29CQUNwQnRDLFNBQVNLLFlBQVksQ0FBQyxFQUFFO29CQUN4Qm1CO29CQUNBQyxXQUFXUyxrQkFDUHBELGtDQUNBeUQ7Z0JBQ047WUFDRixPQUFPLElBQUlsQyxjQUFjO2dCQUN2QixPQUFPZ0Isc0JBQXNCO29CQUMzQkU7b0JBQ0F2QixTQUFTSyxZQUFZLENBQUMsRUFBRTtvQkFDeEJtQjtvQkFDQUMsV0FBV1Msa0JBQWtCckQsMEJBQTBCMEQ7Z0JBQ3pEO1lBQ0YsT0FBTztnQkFDTCxPQUFPLE1BQUkvQixDQUFBQSxHQUFBQSxjQUFBQSxrQkFBa0IsRUFBQ1I7WUFDaEM7UUFDRixHQUNDUyxJQUFJLENBQUM7UUFDUmU7SUFDRjtBQUNGO0FBVU8sU0FBUzdDLG1CQUNkK0IsZUFBdUIsRUFDdkI4QixjQUF1QjtJQUV2QixNQUFNQyxTQUFTUiwwQkFBMEJ2QixpQkFBaUI4QjtJQUMxRCxPQUFPO1FBQ0wsR0FBRzVELGNBQWM4QixnQkFBZ0I7UUFDakNnQyxZQUFZLE1BQUlELE9BQU9OLHVCQUF1QixHQUFDO1FBQy9DWCxXQUFXaUIsT0FBT2pCLFNBQVM7SUFDN0I7QUFDRjtBQU1PLFNBQVM5Qyx3QkFDZGdDLGVBQXVCLEVBQ3ZCaUMsT0FFQztJQUVELE1BQU0sRUFBRTdDLGtCQUFrQixFQUFFLEdBQUdQLHFCQUFxQm1CO0lBQ3BELE1BQU0sRUFBRWtDLFdBQVcsSUFBSSxFQUFFLEdBQUdEO0lBQzVCLElBQUk3Qyx1QkFBdUIsS0FBSztRQUM5QixJQUFJK0MsZ0JBQWdCRCxXQUFXLE9BQU87UUFDdEMsT0FBTztZQUNMRixZQUFZLE9BQUtHLGdCQUFjO1FBQ2pDO0lBQ0Y7SUFFQSxNQUFNLEVBQUVWLHVCQUF1QixFQUFFLEdBQUdGLDBCQUNsQ3ZCLGlCQUNBO0lBRUYsSUFBSW9DLHVCQUF1QkYsV0FBVyxlQUFlO0lBQ3JELE9BQU87UUFDTEYsWUFBWSxNQUFJUCwwQkFBMEJXLHVCQUFxQjtJQUNqRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC50cz8xNmExIl0sIm5hbWVzIjpbImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVSZWdleCIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsInVuZGVmaW5lZCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/segment.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/segment.js ***! - \******************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n isGroupSegment: function() {\n return isGroupSegment;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFNYUEscUJBQW1CO2VBQW5CQTs7SUFEQUMsa0JBQWdCO2VBQWhCQTs7SUFMR0MsZ0JBQWM7ZUFBZEE7OztBQUFULFNBQVNBLGVBQWVDLE9BQWU7SUFDNUMsc0NBQXNDO0lBQ3RDLE9BQU9BLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBT0EsUUFBUUMsUUFBUSxDQUFDO0FBQ2hEO0FBRU8sTUFBTUgsbUJBQW1CO0FBQ3pCLE1BQU1ELHNCQUFzQiIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9zZWdtZW50LnRzP2FkMjUiXSwibmFtZXMiOlsiREVGQVVMVF9TRUdNRU5UX0tFWSIsIlBBR0VfU0VHTUVOVF9LRVkiLCJpc0dyb3VwU2VnbWVudCIsInNlZ21lbnQiLCJlbmRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/segment.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBb2FhQSxhQUFXO2VBQVhBOztJQW9CQUMseUJBQXVCO2VBQXZCQTs7SUFQQUMsbUJBQWlCO2VBQWpCQTs7SUFaQUMsZ0JBQWM7ZUFBZEE7O0lBQ0FDLG1CQUFpQjtlQUFqQkE7O0lBVEFDLElBQUU7ZUFBRkE7O0lBQ0FDLElBQUU7ZUFBRkE7O0lBbFhBQyxZQUFVO2VBQVZBOztJQXNRR0MsVUFBUTtlQUFSQTs7SUErQkFDLGdCQUFjO2VBQWRBOztJQVhBQyxtQkFBaUI7ZUFBakJBOztJQUtBQyxRQUFNO2VBQU5BOztJQVBIQyxlQUFhO2VBQWJBOztJQW1CR0MsV0FBUztlQUFUQTs7SUFrQk1DLHFCQUFtQjtlQUFuQkE7O0lBZE5DLDBCQUF3QjtlQUF4QkE7O0lBK0dBQyxnQkFBYztlQUFkQTs7O0FBOVpULE1BQU1ULGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQXNROUQsU0FBU0MsU0FDZFMsRUFBSztJQUVMLElBQUlDLE9BQU87SUFDWCxJQUFJQztJQUVKLE9BQVE7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUNWLElBQUksQ0FBQ0YsTUFBTTtZQUNUQSxPQUFPO1lBQ1BDLFNBQVNGLE1BQU1HO1FBQ2pCO1FBQ0EsT0FBT0Q7SUFDVDtBQUNGO0FBRUEsMERBQTBEO0FBQzFELGdFQUFnRTtBQUNoRSxNQUFNRSxxQkFBcUI7QUFDcEIsTUFBTVQsZ0JBQWdCLENBQUNVLE1BQWdCRCxtQkFBbUJFLElBQUksQ0FBQ0Q7QUFFL0QsU0FBU1o7SUFDZCxNQUFNLEVBQUVjLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsT0FBT0Ms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SUFBWSxFQUFFWixPQUFlLENBQUU7UUFDekMsS0FBSztRQUNMLElBQUksQ0FBQ0EsT0FBTyxHQUFHLDBDQUF3Q1ksT0FBSyxNQUFHWjtJQUNqRTtBQUNGO0FBRU8sTUFBTWpELGdDQUFnQ2tEO0lBRTNDVSxhQUFjO1FBQ1osS0FBSztRQUNMLElBQUksQ0FBQ0UsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDYixPQUFPLEdBQUk7SUFDbEI7QUFDRjtBQVdPLFNBQVNsQyxlQUFlZ0QsS0FBWTtJQUN6QyxPQUFPQyxLQUFLQyxTQUFTLENBQUM7UUFBRWhCLFNBQVNjLE1BQU1kLE9BQU87UUFBRWlCLE9BQU9ILE1BQU1HLEtBQUs7SUFBQztBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL3RhaWx3aW5kdWkta2V5bm90ZS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cz8xYmQ1Il0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/utils.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/shared/lib/utils/warn-once.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NENBV1NBOzs7ZUFBQUE7OztBQVhULElBQUlBLFdBQVcsQ0FBQ0MsS0FBZTtBQUMvQixJQUFJQyxJQUF5QixFQUFjO0lBQ3pDLE1BQU1DLFdBQVcsSUFBSUM7SUFDckJKLFdBQVcsQ0FBQ0s7UUFDVixJQUFJLENBQUNGLFNBQVNHLEdBQUcsQ0FBQ0QsTUFBTTtZQUN0QkUsUUFBUUMsSUFBSSxDQUFDSDtRQUNmO1FBQ0FGLFNBQVNNLEdBQUcsQ0FBQ0o7SUFDZjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGFpbHdpbmR1aS1rZXlub3RlLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZS50cz9kMDQxIl0sIm5hbWVzIjpbIndhcm5PbmNlIiwiXyIsInByb2Nlc3MiLCJ3YXJuaW5ncyIsIlNldCIsIm1zZyIsImhhcyIsImNvbnNvbGUiLCJ3YXJuIiwiYWRkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/utils/warn-once.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/webpack-runtime.js b/.next/server/webpack-runtime.js deleted file mode 100644 index 2909f4e..0000000 --- a/.next/server/webpack-runtime.js +++ /dev/null @@ -1,215 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -/******/ (() => { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ loaded: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ var threw = true; -/******/ try { -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ threw = false; -/******/ } finally { -/******/ if(threw) delete __webpack_module_cache__[moduleId]; -/******/ } -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/create fake namespace object */ -/******/ (() => { -/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); -/******/ var leafPrototypes; -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 16: return value when it's Promise-like -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = this(value); -/******/ if(mode & 8) return value; -/******/ if(typeof value === 'object' && value) { -/******/ if((mode & 4) && value.__esModule) return value; -/******/ if((mode & 16) && typeof value.then === 'function') return value; -/******/ } -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ var def = {}; -/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; -/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { -/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); -/******/ } -/******/ def['default'] = () => (value); -/******/ __webpack_require__.d(ns, def); -/******/ return ns; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks and sibling chunks for the entrypoint -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return "" + chunkId + ".js"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/getFullHash */ -/******/ (() => { -/******/ __webpack_require__.h = () => ("0179dd03c26fe85a") -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/node module decorator */ -/******/ (() => { -/******/ __webpack_require__.nmd = (module) => { -/******/ module.paths = []; -/******/ if (!module.children) module.children = []; -/******/ return module; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/startup entrypoint */ -/******/ (() => { -/******/ __webpack_require__.X = (result, chunkIds, fn) => { -/******/ // arguments: chunkIds, moduleId are deprecated -/******/ var moduleId = chunkIds; -/******/ if(!fn) chunkIds = result, fn = () => (__webpack_require__(__webpack_require__.s = moduleId)); -/******/ chunkIds.map(__webpack_require__.e, __webpack_require__) -/******/ var r = fn(); -/******/ return r === undefined ? result : r; -/******/ } -/******/ })(); -/******/ -/******/ /* webpack/runtime/require chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded chunks -/******/ // "1" means "loaded", otherwise not loaded yet -/******/ var installedChunks = { -/******/ "webpack-runtime": 1 -/******/ }; -/******/ -/******/ // no on chunks loaded -/******/ -/******/ var installChunk = (chunk) => { -/******/ var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime; -/******/ for(var moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) runtime(__webpack_require__); -/******/ for(var i = 0; i < chunkIds.length; i++) -/******/ installedChunks[chunkIds[i]] = 1; -/******/ -/******/ }; -/******/ -/******/ // require() chunk loading for javascript -/******/ __webpack_require__.f.require = (chunkId, promises) => { -/******/ // "1" is the signal for "already loaded" -/******/ if(!installedChunks[chunkId]) { -/******/ if("webpack-runtime" != chunkId) { -/******/ installChunk(require("./" + __webpack_require__.u(chunkId))); -/******/ } else installedChunks[chunkId] = 1; -/******/ } -/******/ }; -/******/ -/******/ module.exports = __webpack_require__; -/******/ __webpack_require__.C = installChunk; -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ -/******/ })() -; \ No newline at end of file diff --git a/.next/static/chunks/_error.js b/.next/static/chunks/_error.js deleted file mode 100644 index b455060..0000000 --- a/.next/static/chunks/_error.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["/_error"],{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!": -/*!************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error! ***! - \************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_error\",\n function () {\n return __webpack_require__(/*! ./node_modules/next/dist/pages/_error.js */ \"./node_modules/next/dist/pages/_error.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_error\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD0lMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2Vycm9yLmpzJnBhZ2U9JTJGX2Vycm9yISIsIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLDBGQUEwQztBQUNqRTtBQUNBO0FBQ0EsT0FBTyxJQUFVO0FBQ2pCLE1BQU0sVUFBVTtBQUNoQjtBQUNBLE9BQU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8/N2M5MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICAod2luZG93Ll9fTkVYVF9QID0gd2luZG93Ll9fTkVYVF9QIHx8IFtdKS5wdXNoKFtcbiAgICAgIFwiL19lcnJvclwiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9wYWdlcy9fZXJyb3IuanNcIik7XG4gICAgICB9XG4gICAgXSk7XG4gICAgaWYobW9kdWxlLmhvdCkge1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2luZG93Ll9fTkVYVF9QLnB1c2goW1wiL19lcnJvclwiXSlcbiAgICAgIH0pO1xuICAgIH1cbiAgIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/app-pages-internals.js b/.next/static/chunks/app-pages-internals.js deleted file mode 100644 index 2931aa1..0000000 --- a/.next/static/chunks/app-pages-internals.js +++ /dev/null @@ -1,138 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app-pages-internals"],{ - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!": -/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false! ***! - \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZlcnJvci1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRm5vdC1mb3VuZC1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj1mYWxzZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ1BBQWlKO0FBQ2pKO0FBQ0Esa1BBQWtKO0FBQ2xKO0FBQ0Esd1BBQXFKO0FBQ3JKO0FBQ0Esc1BBQW9KO0FBQ3BKO0FBQ0EsZ1FBQXlKO0FBQ3pKO0FBQ0Esb1JBQW1LIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8/Mjg4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9sYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/lib/url.js": -/*!*******************************************!*\ - !*** ./node_modules/next/dist/lib/url.js ***! - \*******************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getPathname: function() {\n return getPathname;\n },\n isFullStringUrl: function() {\n return isFullStringUrl;\n }\n});\nconst DUMMY_ORIGIN = \"http://n\";\nfunction getUrlWithoutHost(url) {\n return new URL(url, DUMMY_ORIGIN);\n}\nfunction getPathname(url) {\n return getUrlWithoutHost(url).pathname;\n}\nfunction isFullStringUrl(url) {\n return /https?:\\/\\//.test(url);\n}\n\n//# sourceMappingURL=url.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3VybC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi91cmwuanM/MTdiYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldFBhdGhuYW1lOiBudWxsLFxuICAgIGlzRnVsbFN0cmluZ1VybDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRQYXRobmFtZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQYXRobmFtZTtcbiAgICB9LFxuICAgIGlzRnVsbFN0cmluZ1VybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Z1bGxTdHJpbmdVcmw7XG4gICAgfVxufSk7XG5jb25zdCBEVU1NWV9PUklHSU4gPSBcImh0dHA6Ly9uXCI7XG5mdW5jdGlvbiBnZXRVcmxXaXRob3V0SG9zdCh1cmwpIHtcbiAgICByZXR1cm4gbmV3IFVSTCh1cmwsIERVTU1ZX09SSUdJTik7XG59XG5mdW5jdGlvbiBnZXRQYXRobmFtZSh1cmwpIHtcbiAgICByZXR1cm4gZ2V0VXJsV2l0aG91dEhvc3QodXJsKS5wYXRobmFtZTtcbn1cbmZ1bmN0aW9uIGlzRnVsbFN0cmluZ1VybCh1cmwpIHtcbiAgICByZXR1cm4gL2h0dHBzPzpcXC9cXC8vLnRlc3QodXJsKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXJsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/lib/url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/server/app-render/dynamic-rendering.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/server/app-render/dynamic-rendering.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * The functions provided by this module are used to communicate certain properties\n * about the currently running code so that Next.js can make decisions on how to handle\n * the current execution in different rendering modes such as pre-rendering, resuming, and SSR.\n *\n * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering.\n * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts\n * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of\n * Dynamic indications.\n *\n * The first is simply an intention to be dynamic. unstable_noStore is an example of this where\n * the currently executing code simply declares that the current scope is dynamic but if you use it\n * inside unstable_cache it can still be cached. This type of indication can be removed if we ever\n * make the default dynamic to begin with because the only way you would ever be static is inside\n * a cache scope which this indication does not affect.\n *\n * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic\n * because it means that it is inappropriate to cache this at all. using a dynamic data source inside\n * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should\n * read that data outside the cache and pass it in as an argument to the cached function.\n */ // Once postpone is in stable we should switch to importing the postpone export directly\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Postpone: function() {\n return Postpone;\n },\n createPostponedAbortSignal: function() {\n return createPostponedAbortSignal;\n },\n createPrerenderState: function() {\n return createPrerenderState;\n },\n formatDynamicAPIAccesses: function() {\n return formatDynamicAPIAccesses;\n },\n markCurrentScopeAsDynamic: function() {\n return markCurrentScopeAsDynamic;\n },\n trackDynamicDataAccessed: function() {\n return trackDynamicDataAccessed;\n },\n trackDynamicFetch: function() {\n return trackDynamicFetch;\n },\n usedDynamicAPIs: function() {\n return usedDynamicAPIs;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _hooksservercontext = __webpack_require__(/*! ../../client/components/hooks-server-context */ \"(app-pages-browser)/./node_modules/next/dist/client/components/hooks-server-context.js\");\nconst _staticgenerationbailout = __webpack_require__(/*! ../../client/components/static-generation-bailout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _url = __webpack_require__(/*! ../../lib/url */ \"(app-pages-browser)/./node_modules/next/dist/lib/url.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst hasPostpone = typeof _react.default.unstable_postpone === \"function\";\nfunction createPrerenderState(isDebugSkeleton) {\n return {\n isDebugSkeleton,\n dynamicAccesses: []\n };\n}\nfunction markCurrentScopeAsDynamic(store, expression) {\n const pathname = (0, _url.getPathname)(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n // inside cache scopes marking a scope as dynamic has no effect because the outer cache scope\n // creates a cache boundary. This is subtly different from reading a dynamic data source which is\n // forbidden inside a cache scope.\n return;\n } else if (store.dynamicShouldError) {\n throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new _hooksservercontext.DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\nfunction trackDynamicDataAccessed(store, expression) {\n const pathname = (0, _url.getPathname)(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n throw new Error(`Route ${pathname} used \"${expression}\" inside a function cached with \"unstable_cache(...)\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \"${expression}\" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);\n } else if (store.dynamicShouldError) {\n throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new _hooksservercontext.DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\nfunction Postpone({ reason, prerenderState, pathname }) {\n postponeWithTracking(prerenderState, reason, pathname);\n}\nfunction trackDynamicFetch(store, expression) {\n if (store.prerenderState) {\n postponeWithTracking(store.prerenderState, expression, store.urlPathname);\n }\n}\nfunction postponeWithTracking(prerenderState, expression, pathname) {\n assertPostpone();\n const reason = `Route ${pathname} needs to bail out of prerendering at this point because it used ${expression}. ` + `React throws this special object to indicate where. It should not be caught by ` + `your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;\n prerenderState.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: prerenderState.isDebugSkeleton ? new Error().stack : undefined,\n expression\n });\n _react.default.unstable_postpone(reason);\n}\nfunction usedDynamicAPIs(prerenderState) {\n return prerenderState.dynamicAccesses.length > 0;\n}\nfunction formatDynamicAPIAccesses(prerenderState) {\n return prerenderState.dynamicAccesses.filter((access)=>typeof access.stack === \"string\" && access.stack.length > 0).map(({ expression, stack })=>{\n stack = stack.split(\"\\n\")// Remove the \"Error: \" prefix from the first line of the stack trace as\n // well as the first 4 lines of the stack trace which is the distance\n // from the user code and the `new Error().stack` call.\n .slice(4).filter((line)=>{\n // Exclude Next.js internals from the stack trace.\n if (line.includes(\"node_modules/next/\")) {\n return false;\n }\n // Exclude anonymous functions from the stack trace.\n if (line.includes(\" (<anonymous>)\")) {\n return false;\n }\n // Exclude Node.js internals from the stack trace.\n if (line.includes(\" (node:\")) {\n return false;\n }\n return true;\n }).join(\"\\n\");\n return `Dynamic API Usage Debug - ${expression}:\\n${stack}`;\n });\n}\nfunction assertPostpone() {\n if (!hasPostpone) {\n throw new Error(`Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js`);\n }\n}\nfunction createPostponedAbortSignal(reason) {\n assertPostpone();\n const controller = new AbortController();\n // We get our hands on a postpone instance by calling postpone and catching the throw\n try {\n _react.default.unstable_postpone(reason);\n } catch (x) {\n controller.abort(x);\n }\n return controller.signal;\n}\n\n//# sourceMappingURL=dynamic-rendering.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZHluYW1pYy1yZW5kZXJpbmcuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBU0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsc0RBQXNELG1CQUFPLENBQUMsbUZBQU87QUFDckUsNEJBQTRCLG1CQUFPLENBQUMsNElBQThDO0FBQ2xGLGlDQUFpQyxtQkFBTyxDQUFDLHNKQUFtRDtBQUM1RixhQUFhLG1CQUFPLENBQUMsOEVBQWU7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ04sMEVBQTBFLFVBQVUsK0VBQStFLFdBQVc7QUFDOUssTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsNEVBQTRFLFVBQVUsa0RBQWtELFdBQVc7QUFDbko7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLFVBQVUsUUFBUSxXQUFXLG1MQUFtTCxXQUFXO0FBQzVQLE1BQU07QUFDTiwwRUFBMEUsVUFBVSwrRUFBK0UsV0FBVztBQUM5SyxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSw0RUFBNEUsVUFBVSxrREFBa0QsV0FBVztBQUNuSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0NBQWtDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixVQUFVLGtFQUFrRSxXQUFXO0FBQ25IO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0hBQStILG1CQUFtQjtBQUNsSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULDRDQUE0QyxXQUFXLEtBQUssTUFBTTtBQUNsRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZHluYW1pYy1yZW5kZXJpbmcuanM/ZGJjMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBmdW5jdGlvbnMgcHJvdmlkZWQgYnkgdGhpcyBtb2R1bGUgYXJlIHVzZWQgdG8gY29tbXVuaWNhdGUgY2VydGFpbiBwcm9wZXJ0aWVzXG4gKiBhYm91dCB0aGUgY3VycmVudGx5IHJ1bm5pbmcgY29kZSBzbyB0aGF0IE5leHQuanMgY2FuIG1ha2UgZGVjaXNpb25zIG9uIGhvdyB0byBoYW5kbGVcbiAqIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBpbiBkaWZmZXJlbnQgcmVuZGVyaW5nIG1vZGVzIHN1Y2ggYXMgcHJlLXJlbmRlcmluZywgcmVzdW1pbmcsIGFuZCBTU1IuXG4gKlxuICogVG9kYXkgTmV4dC5qcyB0cmVhdHMgYWxsIGNvZGUgYXMgcG90ZW50aWFsbHkgc3RhdGljLiBDZXJ0YWluIEFQSXMgbWF5IG9ubHkgbWFrZSBzZW5zZSB3aGVuIGR5bmFtaWNhbGx5IHJlbmRlcmluZy5cbiAqIFRyYWRpdGlvbmFsbHkgdGhpcyBtZWFudCBkZW9wdGluZyB0aGUgZW50aXJlIHJlbmRlciB0byBkeW5hbWljIGhvd2V2ZXIgd2l0aCBQUFIgd2UgY2FuIG5vdyBkZW9wdCBwYXJ0c1xuICogb2YgYSBSZWFjdCB0cmVlIGFzIGR5bmFtaWMgd2hpbGUgc3RpbGwga2VlcGluZyBvdGhlciBwYXJ0cyBzdGF0aWMuIFRoZXJlIGFyZSByZWFsbHkgdHdvIGRpZmZlcmVudCBraW5kcyBvZlxuICogRHluYW1pYyBpbmRpY2F0aW9ucy5cbiAqXG4gKiBUaGUgZmlyc3QgaXMgc2ltcGx5IGFuIGludGVudGlvbiB0byBiZSBkeW5hbWljLiB1bnN0YWJsZV9ub1N0b3JlIGlzIGFuIGV4YW1wbGUgb2YgdGhpcyB3aGVyZVxuICogdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgY29kZSBzaW1wbHkgZGVjbGFyZXMgdGhhdCB0aGUgY3VycmVudCBzY29wZSBpcyBkeW5hbWljIGJ1dCBpZiB5b3UgdXNlIGl0XG4gKiBpbnNpZGUgdW5zdGFibGVfY2FjaGUgaXQgY2FuIHN0aWxsIGJlIGNhY2hlZC4gVGhpcyB0eXBlIG9mIGluZGljYXRpb24gY2FuIGJlIHJlbW92ZWQgaWYgd2UgZXZlclxuICogbWFrZSB0aGUgZGVmYXVsdCBkeW5hbWljIHRvIGJlZ2luIHdpdGggYmVjYXVzZSB0aGUgb25seSB3YXkgeW91IHdvdWxkIGV2ZXIgYmUgc3RhdGljIGlzIGluc2lkZVxuICogYSBjYWNoZSBzY29wZSB3aGljaCB0aGlzIGluZGljYXRpb24gZG9lcyBub3QgYWZmZWN0LlxuICpcbiAqIFRoZSBzZWNvbmQgaXMgYW4gaW5kaWNhdGlvbiB0aGF0IGEgZHluYW1pYyBkYXRhIHNvdXJjZSB3YXMgcmVhZC4gVGhpcyBpcyBhIHN0cm9uZ2VyIGZvcm0gb2YgZHluYW1pY1xuICogYmVjYXVzZSBpdCBtZWFucyB0aGF0IGl0IGlzIGluYXBwcm9wcmlhdGUgdG8gY2FjaGUgdGhpcyBhdCBhbGwuIHVzaW5nIGEgZHluYW1pYyBkYXRhIHNvdXJjZSBpbnNpZGVcbiAqIHVuc3RhYmxlX2NhY2hlIHNob3VsZCBlcnJvci4gSWYgeW91IHdhbnQgdG8gdXNlIHNvbWUgZHluYW1pYyBkYXRhIGluc2lkZSB1bnN0YWJsZV9jYWNoZSB5b3Ugc2hvdWxkXG4gKiByZWFkIHRoYXQgZGF0YSBvdXRzaWRlIHRoZSBjYWNoZSBhbmQgcGFzcyBpdCBpbiBhcyBhbiBhcmd1bWVudCB0byB0aGUgY2FjaGVkIGZ1bmN0aW9uLlxuICovIC8vIE9uY2UgcG9zdHBvbmUgaXMgaW4gc3RhYmxlIHdlIHNob3VsZCBzd2l0Y2ggdG8gaW1wb3J0aW5nIHRoZSBwb3N0cG9uZSBleHBvcnQgZGlyZWN0bHlcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUG9zdHBvbmU6IG51bGwsXG4gICAgY3JlYXRlUG9zdHBvbmVkQWJvcnRTaWduYWw6IG51bGwsXG4gICAgY3JlYXRlUHJlcmVuZGVyU3RhdGU6IG51bGwsXG4gICAgZm9ybWF0RHluYW1pY0FQSUFjY2Vzc2VzOiBudWxsLFxuICAgIG1hcmtDdXJyZW50U2NvcGVBc0R5bmFtaWM6IG51bGwsXG4gICAgdHJhY2tEeW5hbWljRGF0YUFjY2Vzc2VkOiBudWxsLFxuICAgIHRyYWNrRHluYW1pY0ZldGNoOiBudWxsLFxuICAgIHVzZWREeW5hbWljQVBJczogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBQb3N0cG9uZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQb3N0cG9uZTtcbiAgICB9LFxuICAgIGNyZWF0ZVBvc3Rwb25lZEFib3J0U2lnbmFsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVBvc3Rwb25lZEFib3J0U2lnbmFsO1xuICAgIH0sXG4gICAgY3JlYXRlUHJlcmVuZGVyU3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUHJlcmVuZGVyU3RhdGU7XG4gICAgfSxcbiAgICBmb3JtYXREeW5hbWljQVBJQWNjZXNzZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0RHluYW1pY0FQSUFjY2Vzc2VzO1xuICAgIH0sXG4gICAgbWFya0N1cnJlbnRTY29wZUFzRHluYW1pYzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYXJrQ3VycmVudFNjb3BlQXNEeW5hbWljO1xuICAgIH0sXG4gICAgdHJhY2tEeW5hbWljRGF0YUFjY2Vzc2VkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNrRHluYW1pY0RhdGFBY2Nlc3NlZDtcbiAgICB9LFxuICAgIHRyYWNrRHluYW1pY0ZldGNoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNrRHluYW1pY0ZldGNoO1xuICAgIH0sXG4gICAgdXNlZER5bmFtaWNBUElzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZWREeW5hbWljQVBJcztcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfaG9va3NzZXJ2ZXJjb250ZXh0ID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0XCIpO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0ID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXRcIik7XG5jb25zdCBfdXJsID0gcmVxdWlyZShcIi4uLy4uL2xpYi91cmxcIik7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbmNvbnN0IGhhc1Bvc3Rwb25lID0gdHlwZW9mIF9yZWFjdC5kZWZhdWx0LnVuc3RhYmxlX3Bvc3Rwb25lID09PSBcImZ1bmN0aW9uXCI7XG5mdW5jdGlvbiBjcmVhdGVQcmVyZW5kZXJTdGF0ZShpc0RlYnVnU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpc0RlYnVnU2tlbGV0b24sXG4gICAgICAgIGR5bmFtaWNBY2Nlc3NlczogW11cbiAgICB9O1xufVxuZnVuY3Rpb24gbWFya0N1cnJlbnRTY29wZUFzRHluYW1pYyhzdG9yZSwgZXhwcmVzc2lvbikge1xuICAgIGNvbnN0IHBhdGhuYW1lID0gKDAsIF91cmwuZ2V0UGF0aG5hbWUpKHN0b3JlLnVybFBhdGhuYW1lKTtcbiAgICBpZiAoc3RvcmUuaXNVbnN0YWJsZUNhY2hlQ2FsbGJhY2spIHtcbiAgICAgICAgLy8gaW5zaWRlIGNhY2hlIHNjb3BlcyBtYXJraW5nIGEgc2NvcGUgYXMgZHluYW1pYyBoYXMgbm8gZWZmZWN0IGJlY2F1c2UgdGhlIG91dGVyIGNhY2hlIHNjb3BlXG4gICAgICAgIC8vIGNyZWF0ZXMgYSBjYWNoZSBib3VuZGFyeS4gVGhpcyBpcyBzdWJ0bHkgZGlmZmVyZW50IGZyb20gcmVhZGluZyBhIGR5bmFtaWMgZGF0YSBzb3VyY2Ugd2hpY2ggaXNcbiAgICAgICAgLy8gZm9yYmlkZGVuIGluc2lkZSBhIGNhY2hlIHNjb3BlLlxuICAgICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChzdG9yZS5keW5hbWljU2hvdWxkRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dC5TdGF0aWNHZW5CYWlsb3V0RXJyb3IoYFJvdXRlICR7cGF0aG5hbWV9IHdpdGggXFxgZHluYW1pYyA9IFwiZXJyb3JcIlxcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBcXGAke2V4cHJlc3Npb259XFxgLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKTtcbiAgICB9IGVsc2UgaWYgKC8vIFdlIGFyZSBpbiBhIHByZXJlbmRlciAoUFBSIGVuYWJsZWQsIGR1cmluZyBidWlsZClcbiAgICBzdG9yZS5wcmVyZW5kZXJTdGF0ZSkge1xuICAgICAgICAvLyBXZSB0cmFjayB0aGF0IHdlIGhhZCBhIGR5bmFtaWMgc2NvcGUgdGhhdCBwb3N0cG9uZWQuXG4gICAgICAgIC8vIFRoaXMgd2lsbCBiZSB1c2VkIGJ5IHRoZSByZW5kZXJlciB0byBkZWNpZGUgd2hldGhlclxuICAgICAgICAvLyB0aGUgcHJlcmVuZGVyIHJlcXVpcmVzIGEgcmVzdW1lXG4gICAgICAgIHBvc3Rwb25lV2l0aFRyYWNraW5nKHN0b3JlLnByZXJlbmRlclN0YXRlLCBleHByZXNzaW9uLCBwYXRobmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgc3RvcmUucmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgIGlmIChzdG9yZS5pc1N0YXRpY0dlbmVyYXRpb24pIHtcbiAgICAgICAgICAgIC8vIFdlIGFyZW4ndCBwcmVyZW5kZXJpbmcgYnV0IHdlIGFyZSBnZW5lcmF0aW5nIGEgc3RhdGljIHBhZ2UuIFdlIG5lZWQgdG8gYmFpbCBvdXQgb2Ygc3RhdGljIGdlbmVyYXRpb25cbiAgICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBfaG9va3NzZXJ2ZXJjb250ZXh0LkR5bmFtaWNTZXJ2ZXJFcnJvcihgUm91dGUgJHtwYXRobmFtZX0gY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgJHtleHByZXNzaW9ufS4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9keW5hbWljLXNlcnZlci1lcnJvcmApO1xuICAgICAgICAgICAgc3RvcmUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb24gPSBleHByZXNzaW9uO1xuICAgICAgICAgICAgc3RvcmUuZHluYW1pY1VzYWdlU3RhY2sgPSBlcnIuc3RhY2s7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiB0cmFja0R5bmFtaWNEYXRhQWNjZXNzZWQoc3RvcmUsIGV4cHJlc3Npb24pIHtcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfdXJsLmdldFBhdGhuYW1lKShzdG9yZS51cmxQYXRobmFtZSk7XG4gICAgaWYgKHN0b3JlLmlzVW5zdGFibGVDYWNoZUNhbGxiYWNrKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUm91dGUgJHtwYXRobmFtZX0gdXNlZCBcIiR7ZXhwcmVzc2lvbn1cIiBpbnNpZGUgYSBmdW5jdGlvbiBjYWNoZWQgd2l0aCBcInVuc3RhYmxlX2NhY2hlKC4uLilcIi4gQWNjZXNzaW5nIER5bmFtaWMgZGF0YSBzb3VyY2VzIGluc2lkZSBhIGNhY2hlIHNjb3BlIGlzIG5vdCBzdXBwb3J0ZWQuIElmIHlvdSBuZWVkIHRoaXMgZGF0YSBpbnNpZGUgYSBjYWNoZWQgZnVuY3Rpb24gdXNlIFwiJHtleHByZXNzaW9ufVwiIG91dHNpZGUgb2YgdGhlIGNhY2hlZCBmdW5jdGlvbiBhbmQgcGFzcyB0aGUgcmVxdWlyZWQgZHluYW1pYyBkYXRhIGluIGFzIGFuIGFyZ3VtZW50LiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91bnN0YWJsZV9jYWNoZWApO1xuICAgIH0gZWxzZSBpZiAoc3RvcmUuZHluYW1pY1Nob3VsZEVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQuU3RhdGljR2VuQmFpbG91dEVycm9yKGBSb3V0ZSAke3BhdGhuYW1lfSB3aXRoIFxcYGR5bmFtaWMgPSBcImVycm9yXCJcXGAgY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgXFxgJHtleHByZXNzaW9ufVxcYC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nYCk7XG4gICAgfSBlbHNlIGlmICgvLyBXZSBhcmUgaW4gYSBwcmVyZW5kZXIgKFBQUiBlbmFibGVkLCBkdXJpbmcgYnVpbGQpXG4gICAgc3RvcmUucHJlcmVuZGVyU3RhdGUpIHtcbiAgICAgICAgLy8gV2UgdHJhY2sgdGhhdCB3ZSBoYWQgYSBkeW5hbWljIHNjb3BlIHRoYXQgcG9zdHBvbmVkLlxuICAgICAgICAvLyBUaGlzIHdpbGwgYmUgdXNlZCBieSB0aGUgcmVuZGVyZXIgdG8gZGVjaWRlIHdoZXRoZXJcbiAgICAgICAgLy8gdGhlIHByZXJlbmRlciByZXF1aXJlcyBhIHJlc3VtZVxuICAgICAgICBwb3N0cG9uZVdpdGhUcmFja2luZyhzdG9yZS5wcmVyZW5kZXJTdGF0ZSwgZXhwcmVzc2lvbiwgcGF0aG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHN0b3JlLnJldmFsaWRhdGUgPSAwO1xuICAgICAgICBpZiAoc3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSB7XG4gICAgICAgICAgICAvLyBXZSBhcmVuJ3QgcHJlcmVuZGVyaW5nIGJ1dCB3ZSBhcmUgZ2VuZXJhdGluZyBhIHN0YXRpYyBwYWdlLiBXZSBuZWVkIHRvIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uXG4gICAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgX2hvb2tzc2VydmVyY29udGV4dC5EeW5hbWljU2VydmVyRXJyb3IoYFJvdXRlICR7cGF0aG5hbWV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7ZXhwcmVzc2lvbn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKTtcbiAgICAgICAgICAgIHN0b3JlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uID0gZXhwcmVzc2lvbjtcbiAgICAgICAgICAgIHN0b3JlLmR5bmFtaWNVc2FnZVN0YWNrID0gZXJyLnN0YWNrO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gUG9zdHBvbmUoeyByZWFzb24sIHByZXJlbmRlclN0YXRlLCBwYXRobmFtZSB9KSB7XG4gICAgcG9zdHBvbmVXaXRoVHJhY2tpbmcocHJlcmVuZGVyU3RhdGUsIHJlYXNvbiwgcGF0aG5hbWUpO1xufVxuZnVuY3Rpb24gdHJhY2tEeW5hbWljRmV0Y2goc3RvcmUsIGV4cHJlc3Npb24pIHtcbiAgICBpZiAoc3RvcmUucHJlcmVuZGVyU3RhdGUpIHtcbiAgICAgICAgcG9zdHBvbmVXaXRoVHJhY2tpbmcoc3RvcmUucHJlcmVuZGVyU3RhdGUsIGV4cHJlc3Npb24sIHN0b3JlLnVybFBhdGhuYW1lKTtcbiAgICB9XG59XG5mdW5jdGlvbiBwb3N0cG9uZVdpdGhUcmFja2luZyhwcmVyZW5kZXJTdGF0ZSwgZXhwcmVzc2lvbiwgcGF0aG5hbWUpIHtcbiAgICBhc3NlcnRQb3N0cG9uZSgpO1xuICAgIGNvbnN0IHJlYXNvbiA9IGBSb3V0ZSAke3BhdGhuYW1lfSBuZWVkcyB0byBiYWlsIG91dCBvZiBwcmVyZW5kZXJpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IHVzZWQgJHtleHByZXNzaW9ufS4gYCArIGBSZWFjdCB0aHJvd3MgdGhpcyBzcGVjaWFsIG9iamVjdCB0byBpbmRpY2F0ZSB3aGVyZS4gSXQgc2hvdWxkIG5vdCBiZSBjYXVnaHQgYnkgYCArIGB5b3VyIG93biB0cnkvY2F0Y2guIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3Bwci1jYXVnaHQtZXJyb3JgO1xuICAgIHByZXJlbmRlclN0YXRlLmR5bmFtaWNBY2Nlc3Nlcy5wdXNoKHtcbiAgICAgICAgLy8gV2hlbiB3ZSBhcmVuJ3QgZGVidWdnaW5nLCB3ZSBkb24ndCBuZWVkIHRvIGNyZWF0ZSBhbm90aGVyIGVycm9yIGZvciB0aGVcbiAgICAgICAgLy8gc3RhY2sgdHJhY2UuXG4gICAgICAgIHN0YWNrOiBwcmVyZW5kZXJTdGF0ZS5pc0RlYnVnU2tlbGV0b24gPyBuZXcgRXJyb3IoKS5zdGFjayA6IHVuZGVmaW5lZCxcbiAgICAgICAgZXhwcmVzc2lvblxuICAgIH0pO1xuICAgIF9yZWFjdC5kZWZhdWx0LnVuc3RhYmxlX3Bvc3Rwb25lKHJlYXNvbik7XG59XG5mdW5jdGlvbiB1c2VkRHluYW1pY0FQSXMocHJlcmVuZGVyU3RhdGUpIHtcbiAgICByZXR1cm4gcHJlcmVuZGVyU3RhdGUuZHluYW1pY0FjY2Vzc2VzLmxlbmd0aCA+IDA7XG59XG5mdW5jdGlvbiBmb3JtYXREeW5hbWljQVBJQWNjZXNzZXMocHJlcmVuZGVyU3RhdGUpIHtcbiAgICByZXR1cm4gcHJlcmVuZGVyU3RhdGUuZHluYW1pY0FjY2Vzc2VzLmZpbHRlcigoYWNjZXNzKT0+dHlwZW9mIGFjY2Vzcy5zdGFjayA9PT0gXCJzdHJpbmdcIiAmJiBhY2Nlc3Muc3RhY2subGVuZ3RoID4gMCkubWFwKCh7IGV4cHJlc3Npb24sIHN0YWNrIH0pPT57XG4gICAgICAgIHN0YWNrID0gc3RhY2suc3BsaXQoXCJcXG5cIikvLyBSZW1vdmUgdGhlIFwiRXJyb3I6IFwiIHByZWZpeCBmcm9tIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzdGFjayB0cmFjZSBhc1xuICAgICAgICAvLyB3ZWxsIGFzIHRoZSBmaXJzdCA0IGxpbmVzIG9mIHRoZSBzdGFjayB0cmFjZSB3aGljaCBpcyB0aGUgZGlzdGFuY2VcbiAgICAgICAgLy8gZnJvbSB0aGUgdXNlciBjb2RlIGFuZCB0aGUgYG5ldyBFcnJvcigpLnN0YWNrYCBjYWxsLlxuICAgICAgICAuc2xpY2UoNCkuZmlsdGVyKChsaW5lKT0+e1xuICAgICAgICAgICAgLy8gRXhjbHVkZSBOZXh0LmpzIGludGVybmFscyBmcm9tIHRoZSBzdGFjayB0cmFjZS5cbiAgICAgICAgICAgIGlmIChsaW5lLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzL25leHQvXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRXhjbHVkZSBhbm9ueW1vdXMgZnVuY3Rpb25zIGZyb20gdGhlIHN0YWNrIHRyYWNlLlxuICAgICAgICAgICAgaWYgKGxpbmUuaW5jbHVkZXMoXCIgKDxhbm9ueW1vdXM+KVwiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEV4Y2x1ZGUgTm9kZS5qcyBpbnRlcm5hbHMgZnJvbSB0aGUgc3RhY2sgdHJhY2UuXG4gICAgICAgICAgICBpZiAobGluZS5pbmNsdWRlcyhcIiAobm9kZTpcIikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSkuam9pbihcIlxcblwiKTtcbiAgICAgICAgcmV0dXJuIGBEeW5hbWljIEFQSSBVc2FnZSBEZWJ1ZyAtICR7ZXhwcmVzc2lvbn06XFxuJHtzdGFja31gO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gYXNzZXJ0UG9zdHBvbmUoKSB7XG4gICAgaWYgKCFoYXNQb3N0cG9uZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFyaWFudDogUmVhY3QudW5zdGFibGVfcG9zdHBvbmUgaXMgbm90IGRlZmluZWQuIFRoaXMgc3VnZ2VzdHMgdGhlIHdyb25nIHZlcnNpb24gb2YgUmVhY3Qgd2FzIGxvYWRlZC4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzYCk7XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlUG9zdHBvbmVkQWJvcnRTaWduYWwocmVhc29uKSB7XG4gICAgYXNzZXJ0UG9zdHBvbmUoKTtcbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIC8vIFdlIGdldCBvdXIgaGFuZHMgb24gYSBwb3N0cG9uZSBpbnN0YW5jZSBieSBjYWxsaW5nIHBvc3Rwb25lIGFuZCBjYXRjaGluZyB0aGUgdGhyb3dcbiAgICB0cnkge1xuICAgICAgICBfcmVhY3QuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZShyZWFzb24pO1xuICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgY29udHJvbGxlci5hYm9ydCh4KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1keW5hbWljLXJlbmRlcmluZy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/server/app-render/dynamic-rendering.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ReflectAdapter\", ({\n enumerable: true,\n get: function() {\n return ReflectAdapter;\n }\n}));\nclass ReflectAdapter {\n static get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return value.bind(target);\n }\n return value;\n }\n static set(target, prop, value, receiver) {\n return Reflect.set(target, prop, value, receiver);\n }\n static has(target, prop) {\n return Reflect.has(target, prop);\n }\n static deleteProperty(target, prop) {\n return Reflect.deleteProperty(target, prop);\n }\n}\n\n//# sourceMappingURL=reflect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZWZsZWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Ysa0RBQWlEO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZWZsZWN0LmpzP2RjOWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSZWZsZWN0QWRhcHRlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdEFkYXB0ZXI7XG4gICAgfVxufSk7XG5jbGFzcyBSZWZsZWN0QWRhcHRlciB7XG4gICAgc3RhdGljIGdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmJpbmQodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHN0YXRpYyBzZXQodGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3Quc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKTtcbiAgICB9XG4gICAgc3RhdGljIGhhcyh0YXJnZXQsIHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuaGFzKHRhcmdldCwgcHJvcCk7XG4gICAgfVxuICAgIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wKTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZmxlY3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/client/components/client-page.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ClientPageRoot\", ({\n enumerable: true,\n get: function() {\n return ClientPageRoot;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _searchparams = __webpack_require__(/*! ./search-params */ \"(app-pages-browser)/./node_modules/next/dist/client/components/search-params.js\");\nfunction ClientPageRoot(param) {\n let { Component, props } = param;\n // We expect to be passed searchParams but even if we aren't we can construct one from\n // an empty object. We only do this if we are in a static generation as a performance\n // optimization. Ideally we'd unconditionally construct the tracked params but since\n // this creates a proxy which is slow and this would happen even for client navigations\n // that are done entirely dynamically and we know there the dynamic tracking is a noop\n // in this dynamic case we can safely elide it.\n props.searchParams = (0, _searchparams.createDynamicallyTrackedSearchParams)(props.searchParams || {});\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...props\n });\n}\n_c = ClientPageRoot;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=client-page.js.map\nvar _c;\n$RefreshReg$(_c, \"ClientPageRoot\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvY2xpZW50LXBhZ2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHTyxNQUFBQSxnQkFBU0MsbUJBQUFBLENBTWY7U0FOOEJBLGVBRTdCQyxLQUlEO0lBQ0MsTUFBQUMsU0FBQSxFQUFBRCxLQUFBLEtBQUFFO0lBQ0Esc0ZBQXFGO0lBQ3JGLHFGQUFvRjtJQUNwRjtJQUNBLHVGQUFzRjtJQUN0RixzRkFBK0M7SUFDL0NGLCtDQUFxQkc7SUFHckJILE1BQUFJLFlBQUEsR0FBTyxJQUFBTixjQUFBSyxvQ0FBQ0YsRUFBQUEsTUFBQUEsWUFBQUEsSUFBQUEsQ0FBQUE7V0FBbUIsa0JBQUFJLFlBQUFDLEdBQUEsRUFBQUwsV0FBQTs7SUFDN0I7O0tBakIrQkYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS50c3g/ODRjNSJdLCJuYW1lcyI6WyJfc2VhcmNocGFyYW1zIiwiQ2xpZW50UGFnZVJvb3QiLCJwcm9wcyIsIkNvbXBvbmVudCIsInBhcmFtIiwiY3JlYXRlRHluYW1pY2FsbHlUcmFja2VkU2VhcmNoUGFyYW1zIiwic2VhcmNoUGFyYW1zIiwiX2pzeHJ1bnRpbWUiLCJqc3giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/hooks-server-context.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaG9va3Mtc2VydmVyLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBRWFBLG9CQUFrQjtlQUFsQkE7O0lBUUdDLHNCQUFvQjtlQUFwQkE7OztBQVZoQixNQUFNQyxxQkFBcUI7QUFFcEIsTUFBTUYsMkJBQTJCRztJQUd0Q0MsWUFBWUMsV0FBbUMsQ0FBRTtRQUMvQyxLQUFLLENBQUMsMkJBQXlCQTthQURMQSxXQUFBQSxHQUFBQTthQUY1QkMsTUFBQUEsR0FBb0NKO0lBSXBDO0FBQ0Y7QUFFTyxTQUFTRCxxQkFBcUJNLEdBQVk7SUFDL0MsSUFDRSxPQUFPQSxRQUFRLFlBQ2ZBLFFBQVEsUUFDUixDQUFFLGFBQVlBLEdBQUFBLEtBQ2QsT0FBT0EsSUFBSUQsTUFBTSxLQUFLLFVBQ3RCO1FBQ0EsT0FBTztJQUNUO0lBRUEsT0FBT0MsSUFBSUQsTUFBTSxLQUFLSjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LnRzPzgyMzgiXSwibmFtZXMiOlsiRHluYW1pY1NlcnZlckVycm9yIiwiaXNEeW5hbWljU2VydmVyRXJyb3IiLCJEWU5BTUlDX0VSUk9SX0NPREUiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiZGVzY3JpcHRpb24iLCJkaWdlc3QiLCJlcnIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/hooks-server-context.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/layout-router.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return OuterLayoutRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./router-reducer/fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/unresolved-thenable.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _matchsegments = __webpack_require__(/*! ./match-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../../shared/lib/router/utils/handle-smooth-scroll */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _notfoundboundary = __webpack_require__(/*! ./not-found-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./router-reducer/create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./router-reducer/reducers/has-interception-route-in-current-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\n/**\n * Add refetch marker to router state at the point of the current layout segment.\n * This ensures the response returned is not further down than the current layout segment.\n */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk;\n const isLast = segmentPathToWalk.length === 2;\n if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n \"refetch\"\n ]\n }\n ];\n }\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])\n }\n ];\n }\n }\n }\n return treeToRecreate;\n}\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\n */ function findDOMNode(instance) {\n // Tree-shake for server bundle\n if (typeof window === \"undefined\") return null;\n // Only apply strict mode warning when not in production\n if (true) {\n const originalConsoleError = console.error;\n try {\n console.error = function() {\n for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){\n messages[_key] = arguments[_key];\n }\n // Ignore strict mode warning for the findDomNode call below\n if (!messages[0].includes(\"Warning: %s is deprecated in StrictMode.\")) {\n originalConsoleError(...messages);\n }\n };\n return _reactdom.default.findDOMNode(instance);\n } finally{\n console.error = originalConsoleError;\n }\n }\n return _reactdom.default.findDOMNode(instance);\n}\nconst rectProperties = [\n \"bottom\",\n \"height\",\n \"left\",\n \"right\",\n \"top\",\n \"width\",\n \"x\",\n \"y\"\n];\n/**\n * Check if a HTMLElement is hidden or fixed/sticky position\n */ function shouldSkipElement(element) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if ([\n \"sticky\",\n \"fixed\"\n ].includes(getComputedStyle(element).position)) {\n if (true) {\n console.warn(\"Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:\", element);\n }\n return true;\n }\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect();\n return rectProperties.every((item)=>rect[item] === 0);\n}\n/**\n * Check if the top corner of the HTMLElement is in the viewport.\n */ function topOfElementInViewport(element, viewportHeight) {\n const rect = element.getBoundingClientRect();\n return rect.top >= 0 && rect.top <= viewportHeight;\n}\n/**\n * Find the DOM node for a hash fragment.\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\n * If the hash fragment is an id, the page has to scroll to the element with that id.\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\n */ function getHashFragmentDomNode(hashFragment) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === \"top\") {\n return document.body;\n }\n var _document_getElementById;\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];\n}\nclass InnerScrollAndFocusHandler extends _react.default.Component {\n componentDidMount() {\n this.handlePotentialScroll();\n }\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll();\n }\n }\n render() {\n return this.props.children;\n }\n constructor(...args){\n super(...args);\n this.handlePotentialScroll = ()=>{\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props;\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {\n return;\n }\n let domNode = null;\n const hashFragment = focusAndScrollRef.hashFragment;\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment);\n }\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a <link/> in head.\n if (!domNode) {\n domNode = findDOMNode(this);\n }\n // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.\n if (!(domNode instanceof Element)) {\n return;\n }\n // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.\n // If the element is skipped, try to select the next sibling and try again.\n while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){\n // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.\n if (domNode.nextElementSibling === null) {\n return;\n }\n domNode = domNode.nextElementSibling;\n }\n // State is mutated to ensure that the focus and scroll is applied only once.\n focusAndScrollRef.apply = false;\n focusAndScrollRef.hashFragment = null;\n focusAndScrollRef.segmentPaths = [];\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // In case of hash scroll, we only need to scroll the element into view\n if (hashFragment) {\n domNode.scrollIntoView();\n return;\n }\n // Store the current viewport height because reading `clientHeight` causes a reflow,\n // and it won't change during this function.\n const htmlElement = document.documentElement;\n const viewportHeight = htmlElement.clientHeight;\n // If the element's top edge is already in the viewport, exit early.\n if (topOfElementInViewport(domNode, viewportHeight)) {\n return;\n }\n // Otherwise, try scrolling go the top of the document to be backward compatible with pages\n // scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)\n // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left\n // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically\n htmlElement.scrollTop = 0;\n // Scroll to domNode if domNode is not in viewport when scrolled to top of document\n if (!topOfElementInViewport(domNode, viewportHeight)) {\n domNode.scrollIntoView();\n }\n }, {\n // We will force layout by querying domNode position\n dontForceLayout: true,\n onlyHashChange: focusAndScrollRef.onlyHashChange\n });\n // Mutate after scrolling so that it can be read by `handleSmoothScroll`\n focusAndScrollRef.onlyHashChange = false;\n // Set focus on the element\n domNode.focus();\n }\n };\n }\n}\nfunction ScrollAndFocusHandler(param) {\n let { segmentPath, children } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {\n segmentPath: segmentPath,\n focusAndScrollRef: context.focusAndScrollRef,\n children: children\n });\n}\n_c = ScrollAndFocusHandler;\n/**\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\n */ function InnerLayoutRouter(param) {\n let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,\n cacheKey } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n const { buildId, changeByServerResponse, tree: fullTree } = context;\n // Read segment path from the parallel router cache node.\n let childNode = childNodes.get(cacheKey);\n // When data is not available during rendering client-side we need to fetch\n // it from the server.\n if (childNode === undefined) {\n const newLazyCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n /**\n * Flight data fetch kicked off during render and put into the cache.\n */ childNode = newLazyCacheNode;\n childNodes.set(cacheKey, newLazyCacheNode);\n }\n // `rsc` represents the renderable node for this segment.\n // If this segment has a `prefetchRsc`, it's the statically prefetched data.\n // We should use that on initial render instead of `rsc`. Then we'll switch\n // to `rsc` when the dynamic response streams in.\n //\n // If no prefetch data is available, then we go straight to rendering `rsc`.\n const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `rsc`.\n const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);\n // `rsc` is either a React node or a promise for a React node, except we\n // special case `null` to represent that this segment's data is missing. If\n // it's a promise, we need to unwrap it so we can determine whether or not the\n // data is missing.\n const resolvedRsc = typeof rsc === \"object\" && rsc !== null && typeof rsc.then === \"function\" ? (0, _react.use)(rsc) : rsc;\n if (!resolvedRsc) {\n // The data for this segment is not available, and there's no pending\n // navigation that will be able to fulfill it. We need to fetch more from\n // the server and patch the cache.\n // Check if there's already a pending request.\n let lazyData = childNode.lazyData;\n if (lazyData === null) {\n /**\n * Router state with refetch marker added\n */ // TODO-APP: remove ''\n const refetchTree = walkAddRefetch([\n \"\",\n ...segmentPath\n ], fullTree);\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree);\n childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, includeNextUrl ? context.nextUrl : null, buildId);\n childNode.lazyDataResolved = false;\n }\n /**\n * Flight response data\n */ // When the data has not resolved yet `use` will suspend here.\n const serverResponse = (0, _react.use)(lazyData);\n if (!childNode.lazyDataResolved) {\n // setTimeout is used to start a new transition during render, this is an intentional hack around React.\n setTimeout(()=>{\n (0, _react.startTransition)(()=>{\n changeByServerResponse({\n previousTree: fullTree,\n serverResponse\n });\n });\n });\n // It's important that we mark this as resolved, in case this branch is replayed, we don't want to continously re-apply\n // the patch to the tree.\n childNode.lazyDataResolved = true;\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n }\n // If we get to this point, then we know we have something we can render.\n const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n tree: tree[1][parallelRouterKey],\n childNodes: childNode.parallelRoutes,\n // TODO-APP: overriding of url for parallel routes\n url: url,\n loading: childNode.loading\n },\n children: resolvedRsc\n });\n // Ensure root layout is not wrapped in a div as the root layout renders `<html>`\n return subtree;\n}\n_c1 = InnerLayoutRouter;\n/**\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\n * If no loading property is provided it renders the children without a suspense boundary.\n */ function LoadingBoundary(param) {\n let { children, hasLoading, loading, loadingStyles, loadingScripts } = param;\n // We have an explicit prop for checking if `loading` is provided, to disambiguate between a loading\n // component that returns `null` / `undefined`, vs not having a loading component at all.\n if (hasLoading) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {\n fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n loadingStyles,\n loadingScripts,\n loading\n ]\n }),\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\n_c2 = LoadingBoundary;\nfunction OuterLayoutRouter(param) {\n let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, notFoundStyles, styles } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant expected layout router to be mounted\");\n }\n const { childNodes, tree, url, loading } = context;\n // Get the current parallelRouter cache node\n let childNodesForParallelRouter = childNodes.get(parallelRouterKey);\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!childNodesForParallelRouter) {\n childNodesForParallelRouter = new Map();\n childNodes.set(parallelRouterKey, childNodesForParallelRouter);\n }\n // Get the active segment in the tree\n // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.\n const treeSegment = tree[1][parallelRouterKey][0];\n // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.\n const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);\n /**\n * Decides which segments to keep rendering, all segments that are not active will be wrapped in `<Offscreen>`.\n */ // TODO-APP: Add handling of `<Offscreen>` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n styles,\n preservedSegments.map((preservedSegment)=>{\n const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);\n return(/*\n - Error boundary\n - Only renders error boundary if error component is provided.\n - Rendered for each segment to ensure they have their own error state.\n - Loading boundary\n - Only renders suspense boundary if loading components is provided.\n - Rendered for each segment to ensure they have their own loading state.\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\n */ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {\n value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {\n segmentPath: segmentPath,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: error,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {\n hasLoading: Boolean(loading),\n loading: loading == null ? void 0 : loading[0],\n loadingStyles: loading == null ? void 0 : loading[1],\n loadingScripts: loading == null ? void 0 : loading[2],\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_notfoundboundary.NotFoundBoundary, {\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {\n parallelRouterKey: parallelRouterKey,\n url: url,\n tree: tree,\n childNodes: childNodesForParallelRouter,\n segmentPath: segmentPath,\n cacheKey: cacheKey,\n isActive: currentChildSegmentValue === preservedSegmentValue\n })\n })\n })\n })\n })\n }),\n children: [\n templateStyles,\n templateScripts,\n template\n ]\n }, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));\n })\n ]\n });\n}\n_c3 = OuterLayoutRouter;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=layout-router.js.map\nvar _c, _c1, _c2, _c3;\n$RefreshReg$(_c, \"ScrollAndFocusHandler\");\n$RefreshReg$(_c1, \"InnerLayoutRouter\");\n$RefreshReg$(_c2, \"LoadingBoundary\");\n$RefreshReg$(_c3, \"OuterLayoutRouter\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozt5REEwQk9BLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7dUNBQzZCQSxtQkFBQUEsQ0FBQTtpREFDRDtnREFDTDsyQ0FDRDs7Z0RBRUk7OENBQ0E7OENBQ0Q7OztBQUloQyxNQUFBQyxxQ0FBQUQsbUJBQUFBLENBQUE7Ozs7SUFRRSxTQUFJRSxlQUFtQkEsaUJBQUEsRUFBQUMsY0FBQTtRQUNyQkQsbUJBQWdCRTtRQUNoQixNQUFNQyxDQUFBQSxTQUFTSCxpQkFBa0JJLEdBQUFBO1FBRWpDLE1BQUlDLFNBQUFBLGtCQUFBQSxNQUFhSixLQUFBQTtZQUNmLElBQUlBLGVBQWVJLFlBQUdDLEVBQUFBLGNBQWVKLENBQUFBLEVBQUFBLEVBQUFBLFVBQW1CO2dCQUN0REQsY0FBWSxJQUFBSyxjQUFBLENBQUFKLG1CQUFBO29CQUNWQyxRQUFNSTtvQkFJTixNQUFBQSxVQUFPQyxlQUFBQyxXQUFBUixjQUFBLElBQUFDLGlCQUFBOzJCQUNMRDt3QkFDQUEsY0FBQTs7NEJBRUUsR0FBQ0MsY0FBQUEsQ0FBaUIsRUFBRTs4Q0FDUjtnQ0FDVkssT0FBTyxDQUFDLEVBQUU7Z0NBQ1ZBLE9BQU8sQ0FBQyxFQUFFO2dDQUNWQSxPQUFBO2dDQUNEOzZCQUNIO3dCQUNEO3FCQUNIO2dCQUVBO3VCQUNFTjtvQkFDQUEsY0FBQTs7d0JBRUUsR0FBQ0MsY0FBQUEsQ0FBaUIsRUFBRU07d0JBSXRCLENBQUFOLGlCQUFBLEVBQUFNLGVBQUFSLGtCQUFBVSxLQUFBLEtBQUFULGNBQUEsSUFBQUMsaUJBQUE7b0JBQ0Q7aUJBQ0g7WUFDRjtRQUNGO0lBRUE7SUFDRixPQUFBRDtBQUVBO0FBQ0E7OztJQU1FLFNBQUFVLFlBQUFDLFFBQUE7SUFDQSwrQkFBc0I7SUFDdEIsV0FBQUMsV0FBQTtJQUNBLHdEQUEyQztRQUN6Q0MsSUFBTUMsRUFBK0JDO1FBQ3JDLE1BQUlELHVCQUFBRSxRQUFBRCxLQUFBO1lBQ0ZDOztvQkFBb0JDLElBQUFBLE9BQUFBLFVBQUFBLE1BQUFBLEVBQUFBLFdBQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBOztnQkFDbEI7Z0JBQ0EsNERBQTBCO29CQUN4QkgsQ0FBQUEsUUFBQUEsQ0FBQUEsRUFBQUEsQ0FBQUEsUUFBQUEsQ0FBQUEsNkNBQXdCRztvQkFDMUJILHdCQUFBRztnQkFDRjtZQUNBO1lBQ0YsT0FBVUMsVUFBQUMsT0FBQSxDQUFBVCxXQUFBLENBQUFDO2lCQUNSSztZQUNGQSxRQUFBRCxLQUFBLEdBQUFEO1FBQ0Y7SUFDQTtJQUNGLE9BQUFJLFVBQUFDLE9BQUEsQ0FBQVQsV0FBQSxDQUFBQztBQUVBO01BQ0VTLGlCQUFBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDRDtDQUNEOzs7SUFJRSxTQUFBQyxrQkFBQUMsT0FBQTtJQUNBLGtHQUEwRjtJQUMxRiwwRkFBbUQ7SUFDbkQsbURBQUk7UUFBQztRQUFVO1FBQVNDO2NBQ2xCVixDQUFBQSxpQkFBb0JTLFNBQUtFLFFBQUEsR0FBZTtZQUMxQ1IsSUFDRTtZQUdKQSxRQUFBUyxJQUFBLDZGQUFBSDtRQUNBO1FBQ0Y7SUFFQTtJQUNBLDJGQUF3RDtJQUN4RCx3REFBMEM7SUFDMUMsTUFBQUksT0FBT04sUUFBQUEscUJBQW9DTztJQUM3QyxPQUFBUCxlQUFBUSxLQUFBLEVBQUFELE9BQUFELElBQUEsQ0FBQUMsS0FBQTtBQUVBOzs7SUFJRSxTQUFNRCx1QkFBZUcsT0FBQUEsRUFBQUEsY0FBcUI7SUFDMUMsTUFBQUgsT0FBWUksUUFBT0QscUJBQWlCRTtJQUN0QyxPQUFBTCxLQUFBSSxHQUFBLFNBQUFKLEtBQUFJLEdBQUEsSUFBQUM7QUFFQTs7Ozs7O0lBT0UsU0FBQUMsdUJBQUFDLFlBQUE7SUFDQSwrRUFBNEI7UUFDMUJBLGlCQUFnQkMsT0FBSTtRQUN0QixPQUFBQyxTQUFBRCxJQUFBOztJQUVBLElBQUFFO0lBQ0EscUZBQ0VEO0lBRUFBLE9BQUFBLENBQUFBLDJCQUEyQkYsU0FBZ0JJLGNBQUEsQ0FBQUosYUFBQSxZQUFBRywyQkFFL0NELFNBQUFHLGlCQUFBLENBQUFMLGFBQUE7QUFNQTtNQW9HRU0sbUNBQW9CQyxPQUFBckIsT0FBQSxDQUFBc0IsU0FBQTt3QkFDYkM7UUFDUCxLQUFBQSxxQkFBQTtJQUVBQzt5QkFDRTtRQUNBLHNKQUF3QztZQUN0QyxJQUFJLENBQUNELEtBQUFBLENBQUFBLGlCQUFxQixDQUFBRSxLQUFBO1lBQzVCLEtBQUFGLHFCQUFBO1FBQ0Y7SUFFQUc7YUFDRTtRQUNGLFlBQUFDLEtBQUEsQ0FBQUMsUUFBQTs7O2FBaEhBTCxJQUFBQTtZQUNFLENBQUFBLHFCQUFBO1lBQ0EscUdBQXFEO1lBRXJELE1BQUlNLEVBQUFBLGlCQUFrQkosRUFBS0ssV0FBRSxVQUFBSCxLQUFBO2dCQUMzQkUsa0JBQUFKLEtBQUE7Z0JBQ0E7Z0JBQ0EsNkVBQXdFO2dCQUN4RSx3RUFFcUJNO29CQU1uQkYsa0JBQUFFLFlBQUEsQ0FBQS9DLE1BQUEsV0FBQTZDLGtCQUFBRSxZQUFBLENBQUFDLElBQUEsRUFBQUMsdUJBQUFILFlBQUFyQixLQUFBLEVBQUF5QixTQUFBQyxRQUFBLElBQUFDLGVBQUFuRCxZQUFBLEVBQUFpRCxTQUFBRCxvQkFBQSxDQUFBRSxNQUFBO29CQUNGO2dCQUVBO2dCQUdBLElBQUFFLFVBQU12QjtnQkFFTixNQUFJQSxlQUFjZSxrQkFBQWYsWUFBQTtvQkFDaEJ1QixjQUFVeEI7b0JBQ1p3QixVQUFBeEIsdUJBQUFDO2dCQUVBO2dCQUNBLGtHQUF5RTtnQkFDekUseUVBQWM7b0JBQ1p1QixDQUFBQSxTQUFVOUM7b0JBQ1o4QyxVQUFBOUMsWUFBQTtnQkFFQTtnQkFDQSx1R0FBbUM7b0JBQ2pDLENBQUE4QyxDQUFBQSxtQkFBQUMsT0FBQTtvQkFDRjtnQkFFQTtnQkFDQSw0RkFBMkU7Z0JBQzNFLDJFQUF3RTtzQkFDdEUsQ0FBQUQsQ0FBQUEsbUJBQUFFLFdBQUEsS0FBQXJDLGtCQUFBbUMsU0FBQTtvQkFDQSx1R0FBeUM7d0JBQ3ZDQSxRQUFBRyxrQkFBQTt3QkFDRjtvQkFDQUg7b0JBQ0ZBLFVBQUFBLFFBQUFHLGtCQUFBO2dCQUVBO2dCQUNBWCw2RUFBMEI7Z0JBQzFCQSxrQkFBa0JmLEtBQUFBLEdBQUFBO2dCQUNsQmUsa0JBQWtCRSxZQUFZLEdBQUc7Z0JBRWpDVSxrQkFBQUEsWUFBQUEsR0FBQUEsRUFBQUE7b0JBRUlDLG9CQUFBRCxrQkFBQTtvQkFDQSx1RUFBa0I7d0JBQ2RKLGNBQXdCTTt3QkFFMUJOLFFBQUFNLGNBQUE7d0JBQ0Y7b0JBQ0E7b0JBQ0Esb0ZBQTRDO29CQUM1Qyw0Q0FBNEM7b0JBQzVDLE1BQU0vQixjQUFBQSxTQUFpQmdDLGVBQVlDO29CQUVuQyxNQUFBakMsaUJBQUFnQyxZQUFBQyxZQUFBO29CQUNBLG9FQUFvRTt3QkFDbEVDLHVCQUFBVCxTQUFBekIsaUJBQUE7d0JBQ0Y7b0JBRUE7b0JBQ0E7b0JBQ0E7b0JBQ0E7b0JBQ0FnQyw2SEFBd0I7b0JBRXhCQSxZQUFBRyxTQUFBO29CQUNBLG1GQUFxRTt3QkFFakVWLENBQUFBLHVCQUFzQ0EsU0FBQXpCLGlCQUFBO3dCQUMxQ3lCLFFBQUFNLGNBQUE7b0JBRUY7O29CQUVFSyxvREFBaUI7b0JBQ2pCQyxpQkFBZ0JwQjtvQkFDbEJvQixnQkFBQXBCLGtCQUFBb0IsY0FBQTtnQkFHRjtnQkFDQXBCLHdFQUFtQztnQkFFbkNBLGtCQUFBb0IsY0FBMkI7Z0JBQzNCWiwyQkFBYTtnQkFDZkEsUUFBQWEsS0FBQTtZQUNGOztJQWdCRjtBQUVBO1NBQStCQyxzQkFFckJDLEtBRnFCO0lBTzdCLE1BQU1DLFdBQVVDLEVBQUFBLFFBQUFBLEVBQUFBLEdBQUFBO0lBQ2hCLE1BQUtELFVBQVMsSUFBQWhDLE9BQUFpQyxVQUFBLEVBQUFDLCtCQUFBQyx5QkFBQTtRQUNaLENBQUFILFNBQVVJO1FBQ1osVUFBQUEsTUFBQTtJQUVBO1dBRWlCM0IsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsNEJBQUFBO1FBQ2JELGFBQUFBOzJCQUVDRCxRQUFBQSxpQkFBQUE7O0lBR1A7QUFFQTtLQXRCK0J1Qjs7O0lBeUJKLFNBQ3pCTyxrQkFDQUMsS0FDQUM7SUFJQSxNQUFBRixpQkFBWSxFQUFBQyxHQUFBLEVBQUFDLFVBQUEsRUFBQTlCLFdBQUEsRUFBQStCLElBQUEsRUFDWkMsWUFTRDtJQUNDQSxRQUFNVCxFQUFBQSxHQUFBQTtJQUNOLE1BQUtBLFVBQVMsSUFBQWhDLE9BQUFpQyxVQUFBLEVBQUFDLCtCQUFBQyx5QkFBQTtRQUNaLENBQUFILFNBQVVJO1FBQ1osVUFBQUEsTUFBQTtJQUVBO0lBRUEsUUFBQU0sT0FBQSxFQUFBQyxzQkFBQSxFQUFBSCxNQUFBSSxRQUFBLEVBQXlELEdBQUFaO0lBQ3pELHlEQUErQlM7SUFFL0IsSUFBQUksWUFBQU4sV0FBQU8sR0FBQSxDQUFBTDtJQUNBLDJFQUFzQjtJQUN0QixzQkFBa0J6RTtRQUNoQjZFLGNBQU1FLFdBQWtDO2NBQ3RDQyxtQkFBVTtZQUNWQyxVQUFLO1lBQ0xDLEtBQUFBO1lBQ0FDLGFBQU07WUFDTkMsTUFBQUE7WUFDQUMsY0FBQUE7WUFDQUMsZ0JBQUFBLElBQWtCQztZQUNsQkMsa0JBQVM7WUFDWEEsU0FBQTtRQUVBOzs7UUFJQWpCLFlBQVdrQjtRQUNibEIsV0FBQWtCLEdBQUEsQ0FBQWhCLFVBQUFNO0lBRUE7SUFFQTtJQUNBLDRFQUEyRTtJQUMzRSwyRUFBaUQ7SUFDakQsaURBQUU7SUFDRjtJQUNBLDRFQUM2Q0c7SUFFN0MsTUFBQVEsc0JBQUFiLFVBQUFLLFdBQUEsWUFBQUwsVUFBQUssV0FBMkUsR0FBQUwsVUFBQUksR0FBQTtJQUMzRSwyRUFBMkU7SUFDM0UsMkVBQXNDO0lBQ3RDLHNDQUFFO0lBQ0Y7SUFDQTtJQUNBLDBFQUFnQjtJQUNoQixnQkFBaUJVO0lBRWpCLE1BQUFWLE1BQUEsSUFBQWpELE9BQUEyRCxnQkFBQSxFQUFBZCxVQUFBSSxHQUFBLEVBQUFTO0lBQ0E7SUFDQTtJQUNBLDhFQUFtQjtJQUNuQixtQkFBTUU7SUFLTixNQUFLQSxjQUFhLE9BQUFYLFFBQUEsWUFBQUEsUUFBQSxlQUFBQSxJQUFBWSxJQUFBLHNCQUFBN0QsT0FBQThELEdBQUEsRUFBQWIsT0FBQUE7UUFDaEIsQ0FBQVcsYUFBQTtRQUNBO1FBQ0EseUVBQWtDO1FBRWxDO1FBQ0EsOENBQWlDO1FBQ2pDLElBQUlaLFdBQUFBLFVBQW1CQSxRQUFBO1lBQ3JCQSxhQUFBOzs7Z0NBSW9CakY7a0JBQWdCZ0csY0FBQWhHLGVBQUE7O21CQUFxQjZFO2FBQ3pELEVBQUFBO1lBQ0FDLE1BQUFBLGlCQUFxQkcsQ0FBQUEsR0FBQUEsbUNBQVdnQixpQ0FDakJDLEVBQUFBO1lBS2ZwQixVQUFVUyxRQUFBQSxHQUFBQSxXQUFtQixJQUFBWSxxQkFBQUYsbUJBQUEsTUFBQUcsSUFBQTdCLEtBQUEyQixTQUFBRyxNQUFBLEdBQUFMLGFBQUFNLGlCQUFBckMsUUFBQXNDLE9BQUEsU0FBQTVCO1lBQy9CRyxVQUFBUyxnQkFBQTtRQUVBOzs7UUFJQSw4REFBMkJOO1FBRTNCLE1BQUtILGlCQUFVUyxDQUFBQSxHQUFBQSxPQUFrQlEsR0FBQSxFQUFBZDtZQUMvQixDQUFBSCxVQUFBUyxnQkFBQTtZQUNBaUIsd0dBQVc7dUJBQ1RDO29CQUNFN0IsT0FBQUEsZUFBQUEsRUFBdUI7MkNBQ1BDO3dCQUNkNkIsY0FBQUE7d0JBQ0ZBO29CQUNGO2dCQUNGO1lBRUE7WUFDQSx1SEFBeUI7WUFDekI1Qix5QkFBVVM7WUFFVlQsVUFBQVMsZ0JBQUE7WUFDQVEseUdBQXNCO1lBQ3hCLElBQUE5RCxPQUFBOEQsR0FBQSxFQUFBWSxvQkFBQUMsa0JBQUE7UUFDRjtJQUVBO0lBQ0EseUVBQ0U7b0JBRVMsa0JBQUFDLFlBQUFDLEdBQUEsRUFBQTNDLCtCQUFBNEMsbUJBQUEsQ0FBQUMsUUFBQTtlQUNMdkM7WUFDQUQsTUFBQUEsSUFBQUEsQ0FBQUEsRUFBWU0sQ0FBQUEsa0JBQVVRO1lBQ3RCZCxZQUFBTSxVQUFBUSxjQUFBO1lBQ0FmLGtEQUFLQTtZQUNMa0IsS0FBQUE7WUFDRkEsU0FBQVgsVUFBQVcsT0FBQTs7O0lBS0o7SUFDQSxpRkFBT3dCO0lBQ1QsT0FBQUE7QUFFQTtNQWhKRTNDOzs7O0lBb0p1QixTQUN2QjlCLGdCQUNBMEUsS0FDQXpCO0lBVUEsTUFBQWpELFFBQUEsRUFBQTBFLFVBQUEsRUFBQXpCLE9BQUEsRUFBQTBCLGFBQUEsRUFBQUMsY0FBQSxLQUFBcEQ7SUFDQSxvR0FBeUY7SUFDekYseUZBQWdCO1FBQ2RrRCxZQUFBO2VBRUlHLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQ0VQLEdBQUEsRUFBQTdFLE9BQUFxRixRQUFBOzswQkFDR0g7b0JBQ0FDO29CQUNBM0I7Ozs7O1FBT1g7SUFFQTtXQUFVakQsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsWUFBQUEsUUFBQUEsRUFBQUE7O0lBQ1o7QUFNZTtNQXJDYkE7U0FxQ3dDK0Usa0JBQ3ZCdkQsS0FDakJ0QjtJQXVCQSxNQUFNdUIsaUJBQVVDLEVBQUFBLFdBQUFBLEVBQVUxRCxLQUFDdUcsRUFBQUEsV0FBQUEsRUFBQUEsWUFBQUEsRUFBQUEsY0FBQUEsRUFBQUEsZUFBbUIsRUFBQVMsUUFBQSxFQUFBQyxRQUFBLEVBQUFDLGNBQUEsRUFBQUMsTUFBQSxLQUFBM0Q7SUFDOUMsTUFBS0MsVUFBUyxJQUFBaEMsT0FBQWlDLFVBQUEsRUFBQUMsK0JBQUE0QyxtQkFBQTtRQUNaLENBQUE5QyxTQUFVSTtRQUNaLFVBQUFBLE1BQUE7SUFFQTtJQUVBLFFBQUFHLFVBQUEsRUFBQUMsSUFBQSxFQUFBRixHQUFBLEVBQUFrQixPQUFBLEtBQUF4QjtJQUNBLDRDQUFrQ087SUFDbEMsSUFBQW9ELDhCQUFBcEQsV0FBQU8sR0FBQSxDQUFBVDtJQUNBO0lBQ0EseUpBQWtDO1FBQ2hDc0QsQ0FBQUEsNkJBQThCO1FBQzlCcEQsOEJBQWVGLElBQW1Cc0Q7UUFDcENwRCxXQUFBa0IsR0FBQSxDQUFBcEIsbUJBQUFzRDtJQUVBO0lBQ0E7SUFDQSw4SUFBaUQ7SUFFakQsTUFBQUMsY0FBQXBELElBQUEsSUFBQUgsa0JBQUE7SUFDQSxnSUFBaUR1RDtJQUVqRCxNQUFBQywyQkFBQSxJQUFBQyxpQkFBQUMsZUFBQSxFQUFBSDs7O01BSUEsK0RBQXFDO1VBQUNBLG9CQUFBQTtRQUFZQTtLQUVsRDs7a0JBRUtGO1lBQ0FNOzhCQUNPQyxHQUFBQSxDQUFBQSxDQUFBQTtnQkFDTixNQUFNeEQsd0JBQVd5RCxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBcUJDLEVBQUFBO2dCQUV0QyxNQUFBMUQsV0FDRSxJQUFBMkQsc0JBQUFGLG9CQUFBLEVBQUFDO3VCQVdFRTs7Ozs7Ozs7d0JBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQ0VDLElBQUEsRUFBQXBFLCtCQUFDSixlQUFBQSxDQUFBQSxRQUFBQSxFQUFBQTsyQkFBbUNyQixXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSx1QkFBQUE7cUNBQ2xDQTtrQ0FDa0JsQyxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxlQUFBQSxhQUFBQSxFQUFBQTs0QkFDaEJpSSxnQkFBYUE7NEJBQ2JDLGFBQUFBOzBDQUVBQTtzQ0FDc0JqRCxXQUFSa0QsR0FBUWxELENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLGlCQUFBQTtnQ0FDcEJBLFlBQVNBLFFBQUFBO2dDQUNUMEIsU0FBQUEsV0FBZTFCLE9BQUFBLEtBQUFBLElBQUFBLE9BQUFBLENBQUFBLEVBQUFBO2dDQUNmMkIsZUFBYzNCLFdBQUVBLE9BQUFBLEtBQUFBLElBQUFBLE9BQUFBLENBQVMsRUFBQztnREFFMUJBLFdBQUEsZ0JBQUFBLE9BQUNtRCxDQUFBQSxFQUFBQTswQ0FDV25CLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLGtCQUFBQSxnQkFBQUEsRUFBQUE7b0NBQ1ZDLFVBQUFBO29EQUVBQTs4Q0FDRSxrQkFBQWIsWUFBQUMsR0FBQSxFQUFBK0Isa0JBQUNDLGdCQUFBQSxFQUFBQTtrREFDb0J4RSxXQUFuQkEsR0FBbUJBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLG1CQUFBQTs0Q0FDbkJDLG1CQUFLQTs0Q0FDTEUsS0FBQUE7NENBQ0FELE1BQUFBOzRDQUNBOUIsWUFBQUE7NENBQ0FnQyxhQUFVQTs0Q0FDVnFFLFVBQ0VqQjs7Ozs7Ozs7OEJBVWZrQjt3QkFDQUM7d0JBQ0F6Qjs7cUJBdkNJVztnQkEwQ1gsT0FBQUUsc0JBQUFGLG9CQUFBLEVBQUFDLGtCQUFBOzs7SUFHTjs7TUFySDBDYiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIudHN4P2M2OWQiXSwibmFtZXMiOlsiXyIsInJlcXVpcmUiLCJfaGFzaW50ZXJjZXB0aW9ucm91dGVpbmN1cnJlbnR0cmVlIiwic2VnbWVudFBhdGhUb1dhbGsiLCJ0cmVlVG9SZWNyZWF0ZSIsInBhcmFsbGVsUm91dGVLZXkiLCJpc0xhc3QiLCJsZW5ndGgiLCJtYXRjaFNlZ21lbnQiLCJoYXNPd25Qcm9wZXJ0eSIsInN1YlRyZWUiLCJ3YWxrQWRkUmVmZXRjaCIsInVuZGVmaW5lZCIsInNsaWNlIiwiZmluZERPTU5vZGUiLCJpbnN0YW5jZSIsIndpbmRvdyIsInByb2Nlc3MiLCJvcmlnaW5hbENvbnNvbGVFcnJvciIsImVycm9yIiwiY29uc29sZSIsIm1lc3NhZ2VzIiwiX3JlYWN0ZG9tIiwiZGVmYXVsdCIsInJlY3RQcm9wZXJ0aWVzIiwic2hvdWxkU2tpcEVsZW1lbnQiLCJlbGVtZW50IiwiaW5jbHVkZXMiLCJwb3NpdGlvbiIsIndhcm4iLCJyZWN0IiwiaXRlbSIsImV2ZXJ5IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwidG9wIiwidmlld3BvcnRIZWlnaHQiLCJnZXRIYXNoRnJhZ21lbnREb21Ob2RlIiwiaGFzaEZyYWdtZW50IiwiYm9keSIsImRvY3VtZW50IiwiX2RvY3VtZW50X2dldEVsZW1lbnRCeUlkIiwiZ2V0RWxlbWVudEJ5SWQiLCJnZXRFbGVtZW50c0J5TmFtZSIsImNvbXBvbmVudERpZE1vdW50IiwiX3JlYWN0IiwiQ29tcG9uZW50IiwiaGFuZGxlUG90ZW50aWFsU2Nyb2xsIiwiY29tcG9uZW50RGlkVXBkYXRlIiwiYXBwbHkiLCJyZW5kZXIiLCJwcm9wcyIsImNoaWxkcmVuIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJzZWdtZW50UGF0aCIsInNlZ21lbnRQYXRocyIsInNvbWUiLCJzY3JvbGxSZWZTZWdtZW50UGF0aCIsInNlZ21lbnQiLCJpbmRleCIsIl9tYXRjaHNlZ21lbnRzIiwiZG9tTm9kZSIsIkVsZW1lbnQiLCJIVE1MRWxlbWVudCIsIm5leHRFbGVtZW50U2libGluZyIsImhhbmRsZVNtb290aFNjcm9sbCIsIl9oYW5kbGVzbW9vdGhzY3JvbGwiLCJzY3JvbGxJbnRvVmlldyIsImh0bWxFbGVtZW50IiwiY2xpZW50SGVpZ2h0IiwidG9wT2ZFbGVtZW50SW5WaWV3cG9ydCIsInNjcm9sbFRvcCIsImRvbnRGb3JjZUxheW91dCIsIm9ubHlIYXNoQ2hhbmdlIiwiZm9jdXMiLCJTY3JvbGxBbmRGb2N1c0hhbmRsZXIiLCJwYXJhbSIsImNvbnRleHQiLCJ1c2VDb250ZXh0IiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsIkVycm9yIiwicGFyYWxsZWxSb3V0ZXJLZXkiLCJ1cmwiLCJjaGlsZE5vZGVzIiwidHJlZSIsImNhY2hlS2V5IiwiYnVpbGRJZCIsImNoYW5nZUJ5U2VydmVyUmVzcG9uc2UiLCJmdWxsVHJlZSIsImNoaWxkTm9kZSIsImdldCIsIm5ld0xhenlDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsInBhcmFsbGVsUm91dGVzIiwibGF6eURhdGFSZXNvbHZlZCIsIk1hcCIsImxvYWRpbmciLCJzZXQiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsInJlc29sdmVkUnNjIiwidGhlbiIsInVzZSIsInJlZmV0Y2hUcmVlIiwiZmV0Y2hTZXJ2ZXJSZXNwb25zZSIsImxvY2F0aW9uIiwiX2ZldGNoc2VydmVycmVzcG9uc2UiLCJVUkwiLCJvcmlnaW4iLCJpbmNsdWRlTmV4dFVybCIsIm5leHRVcmwiLCJzZXRUaW1lb3V0Iiwic3RhcnRUcmFuc2l0aW9uIiwic2VydmVyUmVzcG9uc2UiLCJfdW5yZXNvbHZlZHRoZW5hYmxlIiwidW5yZXNvbHZlZFRoZW5hYmxlIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJMYXlvdXRSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJzdWJ0cmVlIiwiaGFzTG9hZGluZyIsImxvYWRpbmdTdHlsZXMiLCJsb2FkaW5nU2NyaXB0cyIsImZhbGxiYWNrIiwiU3VzcGVuc2UiLCJPdXRlckxheW91dFJvdXRlciIsInRlbXBsYXRlIiwibm90Rm91bmQiLCJub3RGb3VuZFN0eWxlcyIsInN0eWxlcyIsImNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciIsInRyZWVTZWdtZW50IiwiY3VycmVudENoaWxkU2VnbWVudFZhbHVlIiwiX2dldHNlZ21lbnR2YWx1ZSIsImdldFNlZ21lbnRWYWx1ZSIsInByZXNlcnZlZFNlZ21lbnRzIiwicHJlc2VydmVkU2VnbWVudFZhbHVlIiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJwcmVzZXJ2ZWRTZWdtZW50IiwiX2NyZWF0ZXJvdXRlcmNhY2hla2V5IiwidmFsdWUiLCJqc3hzIiwiZXJyb3JDb21wb25lbnQiLCJlcnJvclN0eWxlcyIsImVycm9yU2NyaXB0cyIsIkJvb2xlYW4iLCJOb3RGb3VuZEJvdW5kYXJ5IiwiX3JlZGlyZWN0Ym91bmRhcnkiLCJJbm5lckxheW91dFJvdXRlciIsImlzQWN0aXZlIiwidGVtcGxhdGVTdHlsZXMiLCJ0ZW1wbGF0ZVNjcmlwdHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/render-from-template-context.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return RenderFromTemplateContext;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nfunction RenderFromTemplateContext() {\n const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\n_c = RenderFromTemplateContext;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=render-from-template-context.js.map\nvar _c;\n$RefreshReg$(_c, \"RenderFromTemplateContext\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7dURBR2dDQSxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO0FBRWpCLE1BQUFDLGlDQUFTQyxtQkFBQUEsQ0FBQUEsd0pBQUFBO1NBQ3RCQTtJQUNBLE1BQUFDLFdBQUEsSUFBT0MsT0FBQUMsVUFBQSxFQUFBSiwrQkFBQUssZUFBQTtXQUFHSCxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxZQUFBQSxRQUFBQSxFQUFBQTs7SUFDWjs7S0FGRUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LnRzeD85YWMyIl0sIm5hbWVzIjpbIl8iLCJyZXF1aXJlIiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiUmVuZGVyRnJvbVRlbXBsYXRlQ29udGV4dCIsImNoaWxkcmVuIiwiX3JlYWN0IiwidXNlQ29udGV4dCIsIlRlbXBsYXRlQ29udGV4dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/search-params.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/search-params.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createDynamicallyTrackedSearchParams: function() {\n return createDynamicallyTrackedSearchParams;\n },\n createUntrackedSearchParams: function() {\n return createUntrackedSearchParams;\n }\n});\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"(shared)/./node_modules/next/dist/client/components/static-generation-async-storage.external.js\");\nconst _dynamicrendering = __webpack_require__(/*! ../../server/app-render/dynamic-rendering */ \"(app-pages-browser)/./node_modules/next/dist/server/app-render/dynamic-rendering.js\");\nconst _reflect = __webpack_require__(/*! ../../server/web/spec-extension/adapters/reflect */ \"(app-pages-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\");\nfunction createUntrackedSearchParams(searchParams) {\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (store && store.forceStatic) {\n return {};\n } else {\n return searchParams;\n }\n}\nfunction createDynamicallyTrackedSearchParams(searchParams) {\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (!store) {\n // we assume we are in a route handler or page render. just return the searchParams\n return searchParams;\n } else if (store.forceStatic) {\n // If we forced static we omit searchParams entirely. This is true both during SSR\n // and browser render because we need there to be parity between these environments\n return {};\n } else if (!store.isStaticGeneration && !store.dynamicShouldError) {\n // during dynamic renders we don't actually have to track anything so we just return\n // the searchParams directly. However if dynamic data access should error then we\n // still want to track access. This covers the case in Dev where all renders are dynamic\n // but we still want to error if you use a dynamic data source because it will fail the build\n // or revalidate if you do.\n return searchParams;\n } else {\n // We need to track dynamic access with a Proxy. We implement get, has, and ownKeys because\n // these can all be used to exfiltrate information about searchParams.\n return new Proxy({}, {\n get (target, prop, receiver) {\n if (typeof prop === \"string\") {\n (0, _dynamicrendering.trackDynamicDataAccessed)(store, \"searchParams.\" + prop);\n }\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n },\n has (target, prop) {\n if (typeof prop === \"string\") {\n (0, _dynamicrendering.trackDynamicDataAccessed)(store, \"searchParams.\" + prop);\n }\n return Reflect.has(target, prop);\n },\n ownKeys (target) {\n (0, _dynamicrendering.trackDynamicDataAccessed)(store, \"searchParams\");\n return Reflect.ownKeys(target);\n }\n });\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=search-params.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvc2VhcmNoLXBhcmFtcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQ2dCQSxzQ0FBb0M7ZUFBcENBOztJQW5CQUMsNkJBQTJCO2VBQTNCQTs7O2tFQVg2Qjs4Q0FDSjtxQ0FDVjtBQVN4QixTQUFTQSw0QkFDZEMsWUFBNEI7SUFFNUIsTUFBTUMsUUFBUUMsc0NBQUFBLDRCQUE0QixDQUFDQyxRQUFRO0lBQ25ELElBQUlGLFNBQVNBLE1BQU1HLFdBQVcsRUFBRTtRQUM5QixPQUFPLENBQUM7SUFDVixPQUFPO1FBQ0wsT0FBT0o7SUFDVDtBQUNGO0FBVU8sU0FBU0YscUNBQ2RFLFlBQTRCO0lBRTVCLE1BQU1DLFFBQVFDLHNDQUFBQSw0QkFBNEIsQ0FBQ0MsUUFBUTtJQUNuRCxJQUFJLENBQUNGLE9BQU87UUFDVixtRkFBbUY7UUFDbkYsT0FBT0Q7SUFDVCxPQUFPLElBQUlDLE1BQU1HLFdBQVcsRUFBRTtRQUM1QixrRkFBa0Y7UUFDbEYsbUZBQW1GO1FBQ25GLE9BQU8sQ0FBQztJQUNWLE9BQU8sSUFBSSxDQUFDSCxNQUFNSSxrQkFBa0IsSUFBSSxDQUFDSixNQUFNSyxrQkFBa0IsRUFBRTtRQUNqRSxvRkFBb0Y7UUFDcEYsaUZBQWlGO1FBQ2pGLHdGQUF3RjtRQUN4Riw2RkFBNkY7UUFDN0YsMkJBQTJCO1FBQzNCLE9BQU9OO0lBQ1QsT0FBTztRQUNMLDJGQUEyRjtRQUMzRixzRUFBc0U7UUFDdEUsT0FBTyxJQUFJTyxNQUFNLENBQUMsR0FBcUI7WUFDckNDLEtBQUlDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxRQUFRO2dCQUN4QixJQUFJLE9BQU9ELFNBQVMsVUFBVTtvQkFDNUJFLENBQUFBLEdBQUFBLGtCQUFBQSx3QkFBd0IsRUFBQ1gsT0FBTyxrQkFBZ0JTO2dCQUNsRDtnQkFDQSxPQUFPRyxTQUFBQSxjQUFjLENBQUNMLEdBQUcsQ0FBQ0MsUUFBUUMsTUFBTUM7WUFDMUM7WUFDQUcsS0FBSUwsTUFBTSxFQUFFQyxJQUFJO2dCQUNkLElBQUksT0FBT0EsU0FBUyxVQUFVO29CQUM1QkUsQ0FBQUEsR0FBQUEsa0JBQUFBLHdCQUF3QixFQUFDWCxPQUFPLGtCQUFnQlM7Z0JBQ2xEO2dCQUNBLE9BQU9LLFFBQVFELEdBQUcsQ0FBQ0wsUUFBUUM7WUFDN0I7WUFDQU0sU0FBUVAsTUFBTTtnQkFDWkcsQ0FBQUEsR0FBQUEsa0JBQUFBLHdCQUF3QixFQUFDWCxPQUFPO2dCQUNoQyxPQUFPYyxRQUFRQyxPQUFPLENBQUNQO1lBQ3pCO1FBQ0Y7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvc2VhcmNoLXBhcmFtcy50cz8xNTkyIl0sIm5hbWVzIjpbImNyZWF0ZUR5bmFtaWNhbGx5VHJhY2tlZFNlYXJjaFBhcmFtcyIsImNyZWF0ZVVudHJhY2tlZFNlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInN0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImdldFN0b3JlIiwiZm9yY2VTdGF0aWMiLCJpc1N0YXRpY0dlbmVyYXRpb24iLCJkeW5hbWljU2hvdWxkRXJyb3IiLCJQcm94eSIsImdldCIsInRhcmdldCIsInByb3AiLCJyZWNlaXZlciIsInRyYWNrRHluYW1pY0RhdGFBY2Nlc3NlZCIsIlJlZmxlY3RBZGFwdGVyIiwiaGFzIiwiUmVmbGVjdCIsIm93bktleXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/search-params.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-bailout.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/static-generation-bailout.js ***! - \*******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n StaticGenBailoutError: function() {\n return StaticGenBailoutError;\n },\n isStaticGenBailoutError: function() {\n return isStaticGenBailoutError;\n }\n});\nconst NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nclass StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nfunction isStaticGenBailoutError(error) {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-bailout.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFFYUEsdUJBQXFCO2VBQXJCQTs7SUFJR0MseUJBQXVCO2VBQXZCQTs7O0FBTmhCLE1BQU1DLDBCQUEwQjtBQUV6QixNQUFNRiw4QkFBOEJHOzs7YUFDekJDLElBQUFBLEdBQU9GOztBQUN6QjtBQUVPLFNBQVNELHdCQUNkSSxLQUFjO0lBRWQsSUFBSSxPQUFPQSxVQUFVLFlBQVlBLFVBQVUsUUFBUSxDQUFFLFdBQVVBLEtBQUFBLEdBQVE7UUFDckUsT0FBTztJQUNUO0lBRUEsT0FBT0EsTUFBTUQsSUFBSSxLQUFLRjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQudHM/NGMzMSJdLCJuYW1lcyI6WyJTdGF0aWNHZW5CYWlsb3V0RXJyb3IiLCJpc1N0YXRpY0dlbkJhaWxvdXRFcnJvciIsIk5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIiwiRXJyb3IiLCJjb2RlIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-bailout.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js ***! - \********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Run function with `scroll-behavior: auto` applied to `<html/>`.\n * This css change will be reverted after the function finishes.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSmoothScroll\", ({\n enumerable: true,\n get: function() {\n return handleSmoothScroll;\n }\n}));\nfunction handleSmoothScroll(fn, options) {\n if (options === void 0) options = {};\n // if only the hash is changed, we don't need to disable smooth scrolling\n // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX\n if (options.onlyHashChange) {\n fn();\n return;\n }\n const htmlElement = document.documentElement;\n const existing = htmlElement.style.scrollBehavior;\n htmlElement.style.scrollBehavior = \"auto\";\n if (!options.dontForceLayout) {\n // In Chrome-based browsers we need to force reflow before calling `scrollTo`.\n // Otherwise it will not pickup the change in scrollBehavior\n // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042\n htmlElement.getClientRects();\n }\n fn();\n htmlElement.style.scrollBehavior = existing;\n} //# sourceMappingURL=handle-smooth-scroll.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaGFuZGxlLXNtb290aC1zY3JvbGwuanMiLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDOzs7O3NEQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxtQkFDZEMsRUFBYyxFQUNkQyxPQUFxRTtJQUFyRUEsSUFBQUEsWUFBQUEsS0FBQUEsR0FBQUEsVUFBbUUsQ0FBQztJQUVwRSx5RUFBeUU7SUFDekUsNkZBQTZGO0lBQzdGLElBQUlBLFFBQVFDLGNBQWMsRUFBRTtRQUMxQkY7UUFDQTtJQUNGO0lBQ0EsTUFBTUcsY0FBY0MsU0FBU0MsZUFBZTtJQUM1QyxNQUFNQyxXQUFXSCxZQUFZSSxLQUFLLENBQUNDLGNBQWM7SUFDakRMLFlBQVlJLEtBQUssQ0FBQ0MsY0FBYyxHQUFHO0lBQ25DLElBQUksQ0FBQ1AsUUFBUVEsZUFBZSxFQUFFO1FBQzVCLDhFQUE4RTtRQUM5RSw0REFBNEQ7UUFDNUQseUZBQXlGO1FBQ3pGTixZQUFZTyxjQUFjO0lBQzVCO0lBQ0FWO0lBQ0FHLFlBQVlJLEtBQUssQ0FBQ0MsY0FBYyxHQUFHRjtBQUNyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLnRzP2MzZjQiXSwibmFtZXMiOlsiaGFuZGxlU21vb3RoU2Nyb2xsIiwiZm4iLCJvcHRpb25zIiwib25seUhhc2hDaGFuZ2UiLCJodG1sRWxlbWVudCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiZXhpc3RpbmciLCJzdHlsZSIsInNjcm9sbEJlaGF2aW9yIiwiZG9udEZvcmNlTGF5b3V0IiwiZ2V0Q2xpZW50UmVjdHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/app/(main)/layout.js b/.next/static/chunks/app/(main)/layout.js deleted file mode 100644 index 6b06483..0000000 --- a/.next/static/chunks/app/(main)/layout.js +++ /dev/null @@ -1,347 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/(main)/layout"],{ - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!": -/*!****************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false! ***! - \****************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(app-pages-browser)/./src/components/Header.jsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGY29tcG9uZW50cyUyRkhlYWRlci5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJIZWFkZXIlMjIlNUQlN0Qmc2VydmVyPWZhbHNlISIsIm1hcHBpbmdzIjoiQUFBQSxnTEFBZ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz9mYzU1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiSGVhZGVyXCJdICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2NvbXBvbmVudHMvSGVhZGVyLmpzeFwiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/api/link.js": -/*!********************************************!*\ - !*** ./node_modules/next/dist/api/link.js ***! - \********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _client_link__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=link.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXlDO0FBQ1Y7O0FBRS9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanM/MjAyYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/link.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/add-locale.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/client/add-locale.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FHYUE7OztlQUFBQTs7O29EQUY4QjtBQUVwQyxNQUFNQSxZQUF1QixTQUFDQyxJQUFBQTtxQ0FBU0MsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsSUFBQUEsT0FBQUEsSUFBQUEsSUFBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7UUFBQUEsSUFBQUEsQ0FBQUEsT0FBQUEsRUFBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O0lBQzVDLElBQUlDLEtBQStCLEVBQUUsRUFJckM7SUFDQSxPQUFPRjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FkZC1sb2NhbGUudHM/ZmFhZSJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwiYXJncyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/client/get-domain-locale.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDomainLocale\", ({\n enumerable: true,\n get: function() {\n return getDomainLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2dldC1kb21haW4tbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBT2dCQTs7O2VBQUFBOzs7b0RBSjJCO0FBRTNDLE1BQU1DLFdBQVdDLE1BQW1DLElBQWU7QUFFNUQsU0FBU0YsZ0JBQ2RLLElBQVksRUFDWkMsTUFBdUIsRUFDdkJDLE9BQWtCLEVBQ2xCQyxhQUE4QjtJQUU5QixJQUFJTixLQUErQixFQUFFLEVBZ0JyQyxNQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUudHM/MWQ0ZSJdLCJuYW1lcyI6WyJnZXREb21haW5Mb2NhbGUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsImxvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJyZXF1aXJlIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwidGFyZ2V0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJkb21haW4iLCJ1bmRlZmluZWQiLCJwcm90byIsImh0dHAiLCJmaW5hbExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/link.js": -/*!***********************************************!*\ - !*** ./node_modules/next/dist/client/link.js ***! - \***********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n if (typeof window === \"undefined\") {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n const prefetchPromise = isAppRouter ? router.prefetch(href, appOptions) : router.prefetch(href, as, options);\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(prefetchPromise).catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll: routerScroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n scroll: routerScroll\n });\n }\n };\n if (isAppRouter) {\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `<a>` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: `<Link>`](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _s(_react.default.forwardRef(_c = _s(function LinkComponent(props, forwardedRef) {\n _s();\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + (typeof window !== \"undefined\" ? \"\\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current && !isAppRouter) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + (typeof window !== \"undefined\" ? \" \\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n}, \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\")), \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\");\n_c1 = Link;\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Link$_react.default.forwardRef\");\n$RefreshReg$(_c1, \"Link\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7NkJBUzRCQSx5QkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FDRDt3Q0FDRDt1Q0FDSTs7Ozt1Q0FRRUEsbUJBQUFBLENBQUE7NkNBQ0E7NkNBQ0o7O0FBMkY1QixNQUFNQyxzQkFBaUJDLG1CQUFBQSxDQUFBQSwrSkFBQUE7QUFVdkIsTUFBQUQsYUFDRUUsSUFBQUE7U0FPSUMsU0FBT0MsTUFBQUEsRUFBV0MsSUFBQSxFQUFBQyxFQUFBLEVBQUFDLE9BQWEsRUFBQUMsVUFBQSxFQUFBQyxXQUFBO1FBQ2pDLE9BQUFMLFdBQUE7UUFDRjtJQUVBO0lBQ0EsZ0pBQXVDO1FBQ3JDLENBQUFLLGVBQUEsS0FBQUMsWUFBQUMsVUFBQSxFQUFBTixPQUFBO1FBQ0Y7SUFFQTtJQUNBLDRFQUFZO0lBQ1osWUFBS0U7UUFDSCxDQUFBQSxRQUFNSyxxQkFDSjtRQUNBLE1BQUFBLFNBT0YsT0FBTUMsUUFBQUEsTUFBQUEsS0FBZ0JSLGNBQWtCRSxRQUFNSyxNQUFBQSxHQUFBQSxZQUFBQSxTQUFBQSxPQUFBQSxNQUFBQSxHQUFBQTtRQUU5QyxNQUFBQyxnQkFBQVIsT0FBQSxNQUFBQyxLQUFBLE1BQUFNO1FBQ0Esa0VBQW1DO1lBQ2pDWixXQUFBYyxHQUFBLENBQUFELGdCQUFBO1lBQ0Y7UUFFQTtRQUNBYiwrQkFBZWE7UUFDakJiLFdBQUFlLEdBQUEsQ0FBQUY7SUFFQTtJQUlBLE1BQUFHLGtCQUFBUCxjQUFBUCxPQUFBQyxRQUFBLENBQUFFLE1BQXVERyxjQUFBTixPQUFBQyxRQUFBLENBQUFFLE1BQUFDLElBQUFDO0lBQ3ZEO0lBQ0EsMERBQXNEO0lBQ3REO0lBQ0FVLHlEQUF3Q0M7WUFDbENDLE9BQUFBLENBQVFDLGlCQUFpQkMsS0FBQSxFQUFBSDtZQUMzQkMsSUFBQSxFQUFxQztZQUNyQyxxQ0FBTUQ7WUFD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QUFBdEMsT0FBQXlCLGNBQUEsa0JBQUFjLFlBQUFDLEdBQUE7UUFBRyxHQUFHZixTQUFBQTtxQkFDbkIxRTs7SUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9saW5rLnRzeD9hY2YwIl0sIm5hbWVzIjpbIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl8iLCJyZXF1aXJlIiwicHJlZmV0Y2hlZCIsIlNldCIsInJvdXRlciIsInByZWZldGNoIiwid2luZG93IiwiaHJlZiIsImFzIiwib3B0aW9ucyIsImFwcE9wdGlvbnMiLCJpc0FwcFJvdXRlciIsIl9pc2xvY2FsdXJsIiwiaXNMb2NhbFVSTCIsImxvY2FsZSIsInByZWZldGNoZWRLZXkiLCJoYXMiLCJhZGQiLCJwcmVmZXRjaFByb21pc2UiLCJQcm9taXNlIiwiZXJyIiwicHJvY2VzcyIsImVudiIsImNhdGNoIiwiaXNNb2RpZmllZEV2ZW50IiwiZXZlbnQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiZXZlbnRUYXJnZXQiLCJuYXRpdmVFdmVudCIsIndoaWNoIiwibWV0YUtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImFsdEtleSIsImxpbmtDbGlja2VkIiwiZSIsInJlcGxhY2UiLCJzaGFsbG93Iiwic2Nyb2xsIiwibm9kZU5hbWUiLCJpc0FuY2hvck5vZGVOYW1lIiwicHJldmVudERlZmF1bHQiLCJuYXZpZ2F0ZSIsInJvdXRlclNjcm9sbCIsIlJlYWN0IiwiX3JlYWN0IiwiZGVmYXVsdCIsInN0YXJ0VHJhbnNpdGlvbiIsImZvcm1hdFN0cmluZ09yVXJsIiwidXJsT2JqT3JTdHJpbmciLCJfZm9ybWF0dXJsIiwiZm9ybWF0VXJsIiwiY2hpbGRyZW4iLCJjaGlsZHJlblByb3AiLCJsZWdhY3lCZWhhdmlvciIsImEiLCJhcHBSb3V0ZXIiLCJ1c2VDb250ZXh0IiwiQXBwUm91dGVyQ29udGV4dCIsInBhZ2VzUm91dGVyIiwicHJlZmV0Y2hFbmFibGVkIiwicHJlZmV0Y2hQcm9wIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJGVUxMIiwiYXJncyIsImNyZWF0ZVByb3BFcnJvciIsIkVycm9yIiwia2V5IiwiZXhwZWN0ZWQiLCJhY3R1YWwiLCJyZXF1aXJlZFByb3BzIiwiT2JqZWN0IiwicHJvcHMiLCJwYXNzSHJlZiIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvblRvdWNoU3RhcnQiLCJvcHRpb25hbFByb3BzIiwidmFsVHlwZSIsImhhc1dhcm5lZCIsImN1cnJlbnQiLCJjb25zb2xlIiwid2FybiIsImFzUHJvcCIsImhyZWZQcm9wIiwicGF0aG5hbWUiLCJoYXNEeW5hbWljU2VnbWVudCIsInNwbGl0Iiwic29tZSIsInNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJ1c2VNZW1vIiwicmVzb2x2ZWRIcmVmIiwicmVzb2x2ZWRBcyIsIl9yZXNvbHZlaHJlZiIsInJlc29sdmVIcmVmIiwicHJldmlvdXNBcyIsInVzZVJlZiIsImNoaWxkIiwiTk9ERV9FTlYiLCJDaGlsZHJlbiIsIm9ubHkiLCJ0eXBlIiwiY2hpbGRSZWYiLCJzZXRJbnRlcnNlY3Rpb25SZWYiLCJpc1Zpc2libGUiLCJyZXNldFZpc2libGUiLCJ1c2VJbnRlcnNlY3Rpb24iLCJyb290TWFyZ2luIiwiX3VzZWludGVyc2VjdGlvbiIsInNldFJlZiIsInVzZUNhbGxiYWNrIiwiZWwiLCJwcmV2aW91c0hyZWYiLCJ1c2VFZmZlY3QiLCJhcHBQcmVmZXRjaEtpbmQiLCJyZWYiLCJkZWZhdWx0UHJldmVudGVkIiwib25Nb3VzZUVudGVyUHJvcCIsInByaW9yaXR5IiwiYnlwYXNzUHJlZmV0Y2hlZENoZWNrIiwib25Ub3VjaFN0YXJ0UHJvcCIsInVuZGVmaW5lZCIsImNoaWxkUHJvcHMiLCJjdXJMb2NhbGUiLCJpc0xvY2FsZURvbWFpbiIsImxvY2FsZURvbWFpbiIsImFkZEJhc2VQYXRoIiwiYWRkTG9jYWxlIiwiX2dldGRvbWFpbmxvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJsb2NhbGVzIiwiZG9tYWluTG9jYWxlcyIsIl9hZGRiYXNlcGF0aCIsIl9hZGRsb2NhbGUiLCJyZXN0UHJvcHMiLCJjbG9uZUVsZW1lbnQiLCJfanN4cnVudGltZSIsImpzeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/link.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/request-idle-callback.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQmFBLG9CQUFrQjtlQUFsQkE7O0lBaEJBQyxxQkFBbUI7ZUFBbkJBOzs7QUFBTixNQUFNQSxzQkFDWCxPQUFRQyxTQUFTLGVBQ2ZBLEtBQUtELG1CQUFtQixJQUN4QkMsS0FBS0QsbUJBQW1CLENBQUNFLElBQUksQ0FBQ0MsV0FDaEMsU0FBVUMsRUFBdUI7SUFDL0IsSUFBSUMsUUFBUUMsS0FBS0MsR0FBRztJQUNwQixPQUFPTixLQUFLTyxVQUFVLENBQUM7UUFDckJKLEdBQUc7WUFDREssWUFBWTtZQUNaQyxlQUFlO2dCQUNiLE9BQU9DLEtBQUtDLEdBQUcsQ0FBQyxHQUFHLEtBQU1OLENBQUFBLEtBQUtDLEdBQUcsS0FBS0YsS0FBQUE7WUFDeEM7UUFDRjtJQUNGLEdBQUc7QUFDTDtBQUVLLE1BQU1OLHFCQUNYLE9BQVFFLFNBQVMsZUFDZkEsS0FBS0Ysa0JBQWtCLElBQ3ZCRSxLQUFLRixrQkFBa0IsQ0FBQ0csSUFBSSxDQUFDQyxXQUMvQixTQUFVVSxFQUFVO0lBQ2xCLE9BQU9DLGFBQWFEO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay50cz8wNWY0Il0sIm5hbWVzIjpbImNhbmNlbElkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJzZWxmIiwiYmluZCIsIndpbmRvdyIsImNiIiwic3RhcnQiLCJEYXRlIiwibm93Iiwic2V0VGltZW91dCIsImRpZFRpbWVvdXQiLCJ0aW1lUmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImlkIiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/resolve-href.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3Jlc29sdmUtaHJlZi5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQXlCZ0JBOzs7ZUFBQUE7Ozt5Q0F2QnVCO3VDQUNGO2tDQUNoQjttQ0FDb0I7b0RBQ0U7d0NBQ2hCO29DQUNJOzJDQUNEO0FBZ0J2QixTQUFTQSxZQUNkQyxNQUFrQixFQUNsQkMsSUFBUyxFQUNUQyxTQUFtQjtJQUVuQiw0Q0FBNEM7SUFDNUMsSUFBSUM7SUFDSixJQUFJQyxjQUFjLE9BQU9ILFNBQVMsV0FBV0EsT0FBT0ksQ0FBQUEsR0FBQUEsV0FBQUEsb0JBQW9CLEVBQUNKO0lBRXpFLDZEQUE2RDtJQUM3RCxtREFBbUQ7SUFDbkQsTUFBTUssZ0JBQWdCRixZQUFZRyxLQUFLLENBQUM7SUFDeEMsTUFBTUMscUJBQXFCRixnQkFDdkJGLFlBQVlLLEtBQUssQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsQ0FBQ0ksTUFBTSxJQUN6Q047SUFFSixNQUFNTyxXQUFXSCxtQkFBbUJJLEtBQUssQ0FBQyxLQUFLO0lBRS9DLElBQUksQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsSUFBSSxJQUFJSixLQUFLLENBQUMsY0FBYztRQUMxQ00sUUFBUUMsS0FBSyxDQUNYLG1CQUFpQlYsY0FBWSx1Q0FBb0NKLE9BQU9lLFFBQVEsR0FBQztRQUVuRixNQUFNQyxnQkFBZ0JDLENBQUFBLEdBQUFBLE9BQUFBLHdCQUF3QixFQUFDVDtRQUMvQ0osY0FBYyxDQUFDRSxnQkFBZ0JBLGFBQWEsQ0FBQyxFQUFFLEdBQUcsTUFBTVU7SUFDMUQ7SUFFQSwyREFBMkQ7SUFDM0QsSUFBSSxDQUFDRSxDQUFBQSxHQUFBQSxZQUFBQSxVQUFVLEVBQUNkLGNBQWM7UUFDNUIsT0FBUUYsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3RDO0lBRUEsSUFBSTtRQUNGRCxPQUFPLElBQUlnQixJQUNUZixZQUFZZ0IsVUFBVSxDQUFDLE9BQU9wQixPQUFPcUIsTUFBTSxHQUFHckIsT0FBT2UsUUFBUSxFQUM3RDtJQUVKLEVBQUUsT0FBT08sR0FBRztRQUNWLGtEQUFrRDtRQUNsRG5CLE9BQU8sSUFBSWdCLElBQUksS0FBSztJQUN0QjtJQUVBLElBQUk7UUFDRixNQUFNSSxXQUFXLElBQUlKLElBQUlmLGFBQWFEO1FBQ3RDb0IsU0FBU1IsUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSx3QkFBQUEsMEJBQTBCLEVBQUNELFNBQVNSLFFBQVE7UUFDaEUsSUFBSVUsaUJBQWlCO1FBRXJCLElBQ0VDLENBQUFBLEdBQUFBLFFBQUFBLGNBQWMsRUFBQ0gsU0FBU1IsUUFBUSxLQUNoQ1EsU0FBU0ksWUFBWSxJQUNyQnpCLFdBQ0E7WUFDQSxNQUFNMEIsUUFBUUMsQ0FBQUEsR0FBQUEsYUFBQUEsc0JBQXNCLEVBQUNOLFNBQVNJLFlBQVk7WUFFMUQsTUFBTSxFQUFFRyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQ3RDVCxTQUFTUixRQUFRLEVBQ2pCUSxTQUFTUixRQUFRLEVBQ2pCYTtZQUdGLElBQUlFLFFBQVE7Z0JBQ1ZMLGlCQUFpQnBCLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDO29CQUNwQ1UsVUFBVWU7b0JBQ1ZHLE1BQU1WLFNBQVNVLElBQUk7b0JBQ25CTCxPQUFPTSxDQUFBQSxHQUFBQSxNQUFBQSxJQUFJLEVBQUNOLE9BQU9HO2dCQUNyQjtZQUNGO1FBQ0Y7UUFFQSxvRUFBb0U7UUFDcEUsTUFBTUksZUFDSlosU0FBU2EsTUFBTSxLQUFLakMsS0FBS2lDLE1BQU0sR0FDM0JiLFNBQVN0QixJQUFJLENBQUNRLEtBQUssQ0FBQ2MsU0FBU2EsTUFBTSxDQUFDMUIsTUFBTSxJQUMxQ2EsU0FBU3RCLElBQUk7UUFFbkIsT0FBT0MsWUFDSDtZQUFDaUM7WUFBY1Ysa0JBQWtCVTtTQUFhLEdBQzlDQTtJQUNOLEVBQUUsT0FBT2IsR0FBRztRQUNWLE9BQU9wQixZQUFZO1lBQUNFO1NBQVksR0FBR0E7SUFDckM7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZXNvbHZlLWhyZWYudHM/ZTZkMiJdLCJuYW1lcyI6WyJyZXNvbHZlSHJlZiIsInJvdXRlciIsImhyZWYiLCJyZXNvbHZlQXMiLCJiYXNlIiwidXJsQXNTdHJpbmciLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwibGVuZ3RoIiwidXJsUGFydHMiLCJzcGxpdCIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhuYW1lIiwibm9ybWFsaXplZFVybCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImlzTG9jYWxVUkwiLCJVUkwiLCJzdGFydHNXaXRoIiwiYXNQYXRoIiwiXyIsImZpbmFsVXJsIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJpbnRlcnBvbGF0ZWRBcyIsImlzRHluYW1pY1JvdXRlIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwicmVzdWx0IiwicGFyYW1zIiwiaW50ZXJwb2xhdGVBcyIsImhhc2giLCJvbWl0IiwicmVzb2x2ZWRIcmVmIiwib3JpZ2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/use-intersection.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useIntersection\", ({\n enumerable: true,\n get: function() {\n return useIntersection;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id, observer, elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef, rootMargin, disabled } = param;\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react.useState)(false);\n const elementRef = (0, _react.useRef)(null);\n const setElement = (0, _react.useCallback)((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react.useEffect)(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestidlecallback.requestIdleCallback)(()=>setVisible(true));\n return ()=>(0, _requestidlecallback.cancelIdleCallback)(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react.useCallback)(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7OzttREErRmdCQTs7O2VBQUFBOzs7bUNBL0Z5QztpREFJbEQ7QUFxQlAsTUFBTUMsMEJBQTBCLE9BQU9DLHlCQUF5QjtBQUVoRSxNQUFNQyxZQUFZLElBQUlDO0FBQ3RCLE1BQU1DLFNBQXVCLEVBQUU7QUFFL0IsU0FBU0MsZUFBZUMsT0FBb0M7SUFDMUQsTUFBTUMsS0FBSztRQUNUQyxNQUFNRixRQUFRRSxJQUFJLElBQUk7UUFDdEJDLFFBQVFILFFBQVFJLFVBQVUsSUFBSTtJQUNoQztJQUNBLE1BQU1DLFdBQVdQLE9BQU9RLElBQUksQ0FDMUIsQ0FBQ0MsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtJQUUzRCxJQUFJSztJQUVKLElBQUlILFVBQVU7UUFDWkcsV0FBV1osVUFBVWEsR0FBRyxDQUFDSjtRQUN6QixJQUFJRyxVQUFVO1lBQ1osT0FBT0E7UUFDVDtJQUNGO0lBRUEsTUFBTUUsV0FBVyxJQUFJYjtJQUNyQixNQUFNYyxXQUFXLElBQUloQixxQkFBcUIsQ0FBQ2lCO1FBQ3pDQSxRQUFRQyxPQUFPLENBQUMsQ0FBQ0M7WUFDZixNQUFNQyxXQUFXTCxTQUFTRCxHQUFHLENBQUNLLE1BQU1FLE1BQU07WUFDMUMsTUFBTUMsWUFBWUgsTUFBTUksY0FBYyxJQUFJSixNQUFNSyxpQkFBaUIsR0FBRztZQUNwRSxJQUFJSixZQUFZRSxXQUFXO2dCQUN6QkYsU0FBU0U7WUFDWDtRQUNGO0lBQ0YsR0FBR2pCO0lBQ0hRLFdBQVc7UUFDVFA7UUFDQVU7UUFDQUQ7SUFDRjtJQUVBWixPQUFPc0IsSUFBSSxDQUFDbkI7SUFDWkwsVUFBVXlCLEdBQUcsQ0FBQ3BCLElBQUlPO0lBQ2xCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTYyxRQUNQQyxPQUFnQixFQUNoQlIsUUFBeUIsRUFDekJmLE9BQW9DO0lBRXBDLE1BQU0sRUFBRUMsRUFBRSxFQUFFVSxRQUFRLEVBQUVELFFBQVEsRUFBRSxHQUFHWCxlQUFlQztJQUNsRFUsU0FBU1csR0FBRyxDQUFDRSxTQUFTUjtJQUV0QkosU0FBU1csT0FBTyxDQUFDQztJQUNqQixPQUFPLFNBQVNDO1FBQ2RkLFNBQVNlLE1BQU0sQ0FBQ0Y7UUFDaEJaLFNBQVNhLFNBQVMsQ0FBQ0Q7UUFFbkIsdURBQXVEO1FBQ3ZELElBQUliLFNBQVNnQixJQUFJLEtBQUssR0FBRztZQUN2QmYsU0FBU2dCLFVBQVU7WUFDbkIvQixVQUFVNkIsTUFBTSxDQUFDeEI7WUFDakIsTUFBTTJCLFFBQVE5QixPQUFPK0IsU0FBUyxDQUM1QixDQUFDdEIsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtZQUUzRCxJQUFJeUIsUUFBUSxDQUFDLEdBQUc7Z0JBQ2Q5QixPQUFPZ0MsTUFBTSxDQUFDRixPQUFPO1lBQ3ZCO1FBQ0Y7SUFDRjtBQUNGO0FBRU8sU0FBU25DLGdCQUFtQ3NDLEtBSWpDO0lBSmlDLE1BQ2pEQyxPQUFPLEVBQ1A1QixVQUFVLEVBQ1Y2QixRQUFRLEVBQ1EsR0FKaUNGO0lBS2pELE1BQU1HLGFBQXNCRCxZQUFZLENBQUN2QztJQUV6QyxNQUFNLENBQUN5QyxTQUFTQyxXQUFXLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBQztJQUN2QyxNQUFNQyxhQUFhQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFNLEVBQVc7SUFDcEMsTUFBTUMsYUFBYUMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDLENBQUNsQjtRQUM5QmUsV0FBV0ksT0FBTyxHQUFHbkI7SUFDdkIsR0FBRyxFQUFFO0lBRUxvQixDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUixJQUFJakQseUJBQXlCO1lBQzNCLElBQUl3QyxjQUFjQyxTQUFTO1lBRTNCLE1BQU1aLFVBQVVlLFdBQVdJLE9BQU87WUFDbEMsSUFBSW5CLFdBQVdBLFFBQVFxQixPQUFPLEVBQUU7Z0JBQzlCLE1BQU1wQixZQUFZRixRQUNoQkMsU0FDQSxDQUFDTixZQUFjQSxhQUFhbUIsV0FBV25CLFlBQ3ZDO29CQUFFZixNQUFNOEIsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU1UsT0FBTztvQkFBRXRDO2dCQUFXO2dCQUd2QyxPQUFPb0I7WUFDVDtRQUNGLE9BQU87WUFDTCxJQUFJLENBQUNXLFNBQVM7Z0JBQ1osTUFBTVUsZUFBZUMsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDLElBQU1WLFdBQVc7Z0JBQzFELE9BQU8sSUFBTVcsQ0FBQUEsR0FBQUEscUJBQUFBLGtCQUFrQixFQUFDRjtZQUNsQztRQUNGO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1g7UUFBWTlCO1FBQVk0QjtRQUFTRztRQUFTRyxXQUFXSSxPQUFPO0tBQUM7SUFFakUsTUFBTU0sZUFBZVAsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQy9CTCxXQUFXO0lBQ2IsR0FBRyxFQUFFO0lBRUwsT0FBTztRQUFDSTtRQUFZTDtRQUFTYTtLQUFhO0FBQzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24udHN4PzU3ZWUiXSwibmFtZXMiOlsidXNlSW50ZXJzZWN0aW9uIiwiaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIm9ic2VydmVycyIsIk1hcCIsImlkTGlzdCIsImNyZWF0ZU9ic2VydmVyIiwib3B0aW9ucyIsImlkIiwicm9vdCIsIm1hcmdpbiIsInJvb3RNYXJnaW4iLCJleGlzdGluZyIsImZpbmQiLCJvYmoiLCJpbnN0YW5jZSIsImdldCIsImVsZW1lbnRzIiwib2JzZXJ2ZXIiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImVudHJ5IiwiY2FsbGJhY2siLCJ0YXJnZXQiLCJpc1Zpc2libGUiLCJpc0ludGVyc2VjdGluZyIsImludGVyc2VjdGlvblJhdGlvIiwicHVzaCIsInNldCIsIm9ic2VydmUiLCJlbGVtZW50IiwidW5vYnNlcnZlIiwiZGVsZXRlIiwic2l6ZSIsImRpc2Nvbm5lY3QiLCJpbmRleCIsImZpbmRJbmRleCIsInNwbGljZSIsInBhcmFtIiwicm9vdFJlZiIsImRpc2FibGVkIiwiaXNEaXNhYmxlZCIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwidXNlU3RhdGUiLCJlbGVtZW50UmVmIiwidXNlUmVmIiwic2V0RWxlbWVudCIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsInVzZUVmZmVjdCIsInRhZ05hbWUiLCJpZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwicmVzZXRWaXNpYmxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLmpzIiwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTs7Ozs7c0RBSTFEQTs7O2VBQUFBOzs7QUFIaEIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxrQkFBa0I7QUFFakIsU0FBU0YsbUJBQW1CRyxHQUFXO0lBQzVDLCtHQUErRztJQUMvRyxJQUFJRixZQUFZRyxJQUFJLENBQUNELE1BQU07UUFDekIsT0FBT0EsSUFBSUUsT0FBTyxDQUFDSCxpQkFBaUI7SUFDdEM7SUFDQSxPQUFPQztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLnRzP2RjYjEiXSwibmFtZXMiOlsiZXNjYXBlU3RyaW5nUmVnZXhwIiwicmVIYXNSZWdFeHAiLCJyZVJlcGxhY2VSZWdFeHAiLCJzdHIiLCJ0ZXN0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***! - \****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUdhQTs7O2VBQUFBOzs7OzRFQUhLO0FBR1gsTUFBTUEsZ0JBQWdCQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBb0I7QUFFcEUsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0gsY0FBY0ksV0FBVyxHQUFHO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz82MzZjIl0sIm5hbWVzIjpbIlJvdXRlckNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUM7QUFDdkMsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsZ0VBQWdFO0FBQ2hFLHNFQUFzRTtBQUN0RSxzRUFBc0U7QUFDdEUsNEVBQTRFO0FBQzVFLHFFQUFxRTtBQUNyRSx3QkFBd0I7QUFDeEIsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSx5REFBeUQ7QUFDekQsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSw2REFBNkQ7QUFDN0QsNEVBQTRFO0FBQzVFLDJFQUEyRTtBQUMzRSx3RUFBd0U7QUFDeEUsNEVBQTRFO0FBQzVFLHlDQUF5Qzs7Ozs7Ozs7Ozs7OztJQVF6QkEsV0FBUztlQUFUQTs7SUE2REFDLHNCQUFvQjtlQUFwQkE7O0lBZkhDLGVBQWE7ZUFBYkE7Ozs7bUZBbERnQjtBQUU3QixNQUFNQyxtQkFBbUI7QUFFbEIsU0FBU0gsVUFBVUksTUFBaUI7SUFDekMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFHRjtJQUN6QixJQUFJRyxXQUFXSCxPQUFPRyxRQUFRLElBQUk7SUFDbEMsSUFBSUMsV0FBV0osT0FBT0ksUUFBUSxJQUFJO0lBQ2xDLElBQUlDLE9BQU9MLE9BQU9LLElBQUksSUFBSTtJQUMxQixJQUFJQyxRQUFRTixPQUFPTSxLQUFLLElBQUk7SUFDNUIsSUFBSUMsT0FBdUI7SUFFM0JOLE9BQU9BLE9BQU9PLG1CQUFtQlAsTUFBTVEsT0FBTyxDQUFDLFFBQVEsT0FBTyxNQUFNO0lBRXBFLElBQUlULE9BQU9PLElBQUksRUFBRTtRQUNmQSxPQUFPTixPQUFPRCxPQUFPTyxJQUFJO0lBQzNCLE9BQU8sSUFBSUwsVUFBVTtRQUNuQkssT0FBT04sT0FBUSxFQUFDQyxTQUFTUSxPQUFPLENBQUMsT0FBTyxNQUFJUixXQUFTLE1BQUtBLFFBQUFBO1FBQzFELElBQUlGLE9BQU9XLElBQUksRUFBRTtZQUNmSixRQUFRLE1BQU1QLE9BQU9XLElBQUk7UUFDM0I7SUFDRjtJQUVBLElBQUlMLFNBQVMsT0FBT0EsVUFBVSxVQUFVO1FBQ3RDQSxRQUFRTSxPQUFPQyxhQUFZQyxzQkFBc0IsQ0FBQ1I7SUFDcEQ7SUFFQSxJQUFJUyxTQUFTZixPQUFPZSxNQUFNLElBQUtULFNBQVMsTUFBSUEsU0FBWTtJQUV4RCxJQUFJSCxZQUFZLENBQUNBLFNBQVNhLFFBQVEsQ0FBQyxNQUFNYixZQUFZO0lBRXJELElBQ0VILE9BQU9pQixPQUFPLElBQ2IsQ0FBQyxDQUFDZCxZQUFZSixpQkFBaUJtQixJQUFJLENBQUNmLFNBQUFBLEtBQWNJLFNBQVMsT0FDNUQ7UUFDQUEsT0FBTyxPQUFRQSxDQUFBQSxRQUFRO1FBQ3ZCLElBQUlILFlBQVlBLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBS0EsV0FBVyxNQUFNQTtJQUN4RCxPQUFPLElBQUksQ0FBQ0csTUFBTTtRQUNoQkEsT0FBTztJQUNUO0lBRUEsSUFBSUYsUUFBUUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxPQUFPLE1BQU1BO0lBQzFDLElBQUlVLFVBQVVBLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBS0EsU0FBUyxNQUFNQTtJQUVoRFgsV0FBV0EsU0FBU0ssT0FBTyxDQUFDLFNBQVNEO0lBQ3JDTyxTQUFTQSxPQUFPTixPQUFPLENBQUMsS0FBSztJQUU3QixPQUFPLEtBQUdOLFdBQVdJLE9BQU9ILFdBQVdXLFNBQVNWO0FBQ2xEO0FBRU8sTUFBTVAsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sU0FBU0QscUJBQXFCc0IsR0FBYztJQUNqRCxJQUFJQyxJQUF5QixFQUFlO1FBQzFDLElBQUlELFFBQVEsUUFBUSxPQUFPQSxRQUFRLFVBQVU7WUFDM0NFLE9BQU9DLElBQUksQ0FBQ0gsS0FBS0ksT0FBTyxDQUFDLENBQUNDO2dCQUN4QixJQUFJLENBQUMxQixjQUFjMkIsUUFBUSxDQUFDRCxNQUFNO29CQUNoQ0UsUUFBUUMsSUFBSSxDQUNWLHVEQUFxREg7Z0JBRXpEO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBTzVCLFVBQVV1QjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwudHM/MWI4NyJdLCJuYW1lcyI6WyJmb3JtYXRVcmwiLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybE9iamVjdEtleXMiLCJzbGFzaGVkUHJvdG9jb2xzIiwidXJsT2JqIiwiYXV0aCIsImhvc3RuYW1lIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsImhvc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwiaW5kZXhPZiIsInBvcnQiLCJTdHJpbmciLCJxdWVyeXN0cmluZyIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2giLCJlbmRzV2l0aCIsInNsYXNoZXMiLCJ0ZXN0IiwidXJsIiwicHJvY2VzcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaW5jbHVkZXMiLCJjb25zb2xlIiwid2FybiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQVNBLGlCQUFlO2VBQWZBLGNBQUFBLGVBQWU7O0lBQ2ZDLGdCQUFjO2VBQWRBLFdBQUFBLGNBQWM7OzswQ0FEUzt1Q0FDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LnRzPzcyZDUiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFLZ0JBOzs7ZUFBQUE7OzswQ0FIZ0I7d0NBQ0Y7QUFFdkIsU0FBU0EsY0FDZEMsS0FBYSxFQUNiQyxVQUFrQixFQUNsQkMsS0FBcUI7SUFFckIsSUFBSUMsb0JBQW9CO0lBRXhCLE1BQU1DLGVBQWVDLENBQUFBLEdBQUFBLFlBQUFBLGFBQWEsRUFBQ0w7SUFDbkMsTUFBTU0sZ0JBQWdCRixhQUFhRyxNQUFNO0lBQ3pDLE1BQU1DLGlCQUVIUCxDQUFBQSxlQUFlRCxRQUFRUyxDQUFBQSxHQUFBQSxjQUFBQSxlQUFlLEVBQUNMLGNBQWNILGNBQWMsT0FDcEUsZ0RBQWdEO0lBQ2hELHNFQUFzRTtJQUN0RUM7SUFFRkMsb0JBQW9CSDtJQUNwQixNQUFNVSxTQUFTQyxPQUFPQyxJQUFJLENBQUNOO0lBRTNCLElBQ0UsQ0FBQ0ksT0FBT0csS0FBSyxDQUFDLENBQUNDO1FBQ2IsSUFBSUMsUUFBUVAsY0FBYyxDQUFDTSxNQUFNLElBQUk7UUFDckMsTUFBTSxFQUFFRSxNQUFNLEVBQUVDLFFBQVEsRUFBRSxHQUFHWCxhQUFhLENBQUNRLE1BQU07UUFFakQsaUNBQWlDO1FBQ2pDLDBEQUEwRDtRQUMxRCxJQUFJSSxXQUFXLE1BQUlGLENBQUFBLFNBQVMsUUFBUSxNQUFLRixRQUFNO1FBQy9DLElBQUlHLFVBQVU7WUFDWkMsV0FBVyxDQUFHLENBQUNILFFBQVEsTUFBTSxNQUFHLE1BQUdHLFdBQVM7UUFDOUM7UUFDQSxJQUFJRixVQUFVLENBQUNHLE1BQU1DLE9BQU8sQ0FBQ0wsUUFBUUEsUUFBUTtZQUFDQTtTQUFNO1FBRXBELE9BQ0UsQ0FBQ0UsWUFBWUgsU0FBU04sY0FBQUEsS0FDdEIsNkNBQTZDO1FBQzVDTCxDQUFBQSxvQkFDQ0Esa0JBQW1Ca0IsT0FBTyxDQUN4QkgsVUFDQUYsU0FDSUQsTUFDR08sR0FBRyxDQUVGLHVEQUF1RDtRQUN2RCxrREFBa0Q7UUFDbEQsb0NBQW9DO1FBQ3BDLENBQUNDLFVBQVlDLG1CQUFtQkQsVUFFakNFLElBQUksQ0FBQyxPQUNSRCxtQkFBbUJULFdBQ3BCO0lBRVgsSUFDQTtRQUNBWixvQkFBb0IsR0FBRyxtQ0FBbUM7O0lBRTFELHVFQUF1RTtJQUN2RSxrREFBa0Q7SUFDcEQ7SUFDQSxPQUFPO1FBQ0xPO1FBQ0FnQixRQUFRdkI7SUFDVjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMudHM/OWUzMSJdLCJuYW1lcyI6WyJpbnRlcnBvbGF0ZUFzIiwicm91dGUiLCJhc1BhdGhuYW1lIiwicXVlcnkiLCJpbnRlcnBvbGF0ZWRSb3V0ZSIsImR5bmFtaWNSZWdleCIsImdldFJvdXRlUmVnZXgiLCJkeW5hbWljR3JvdXBzIiwiZ3JvdXBzIiwiZHluYW1pY01hdGNoZXMiLCJnZXRSb3V0ZU1hdGNoZXIiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZXZlcnkiLCJwYXJhbSIsInZhbHVlIiwicmVwZWF0Iiwib3B0aW9uYWwiLCJyZXBsYWNlZCIsIkFycmF5IiwiaXNBcnJheSIsInJlcGxhY2UiLCJtYXAiLCJzZWdtZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsInJlc3VsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVFnQkE7OztlQUFBQTs7O2dEQUxUO0FBRVAscUNBQXFDO0FBQ3JDLE1BQU1DLGFBQWE7QUFFWixTQUFTRCxlQUFlRSxLQUFhO0lBQzFDLElBQUlDLENBQUFBLEdBQUFBLG9CQUFBQSwwQkFBMEIsRUFBQ0QsUUFBUTtRQUNyQ0EsUUFBUUUsQ0FBQUEsR0FBQUEsb0JBQUFBLG1DQUFtQyxFQUFDRixPQUFPRyxnQkFBZ0I7SUFDckU7SUFFQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy50cz84MmRjIl0sIm5hbWVzIjpbImlzRHluYW1pY1JvdXRlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OENBTWdCQTs7O2VBQUFBOzs7bUNBTmlDO3lDQUNyQjtBQUtyQixTQUFTQSxXQUFXQyxHQUFXO0lBQ3BDLGdFQUFnRTtJQUNoRSxJQUFJLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGFBQWEsRUFBQ0QsTUFBTSxPQUFPO0lBQ2hDLElBQUk7UUFDRiw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCQyxDQUFBQSxHQUFBQSxPQUFBQSxpQkFBaUI7UUFDeEMsTUFBTUMsV0FBVyxJQUFJQyxJQUFJTCxLQUFLRTtRQUM5QixPQUFPRSxTQUFTRSxNQUFNLEtBQUtKLGtCQUFrQkssQ0FBQUEsR0FBQUEsYUFBQUEsV0FBVyxFQUFDSCxTQUFTSSxRQUFRO0lBQzVFLEVBQUUsT0FBT0MsR0FBRztRQUNWLE9BQU87SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLnRzPzA0ZTUiXSwibmFtZXMiOlsiaXNMb2NhbFVSTCIsInVybCIsImlzQWJzb2x1dGVVcmwiLCJsb2NhdGlvbk9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWQiLCJVUkwiLCJvcmlnaW4iLCJoYXNCYXNlUGF0aCIsInBhdGhuYW1lIiwiXyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3dDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsS0FDZEMsTUFBUyxFQUNUQyxJQUFTO0lBRVQsTUFBTUMsVUFBc0MsQ0FBQztJQUM3Q0MsT0FBT0YsSUFBSSxDQUFDRCxRQUFRSSxPQUFPLENBQUMsQ0FBQ0M7UUFDM0IsSUFBSSxDQUFDSixLQUFLSyxRQUFRLENBQUNELE1BQVc7WUFDNUJILE9BQU8sQ0FBQ0csSUFBSSxHQUFHTCxNQUFNLENBQUNLLElBQUk7UUFDNUI7SUFDRjtJQUNBLE9BQU9IO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9vbWl0LnRzP2I3YTgiXSwibmFtZXMiOlsib21pdCIsIm9iamVjdCIsImtleXMiLCJvbWl0dGVkIiwiT2JqZWN0IiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNENnQkEsUUFBTTtlQUFOQTs7SUExQ0FDLHdCQUFzQjtlQUF0QkE7O0lBNEJBQyx3QkFBc0I7ZUFBdEJBOzs7QUE1QlQsU0FBU0QsdUJBQ2RFLFlBQTZCO0lBRTdCLE1BQU1DLFFBQXdCLENBQUM7SUFDL0JELGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQztRQUMzQixJQUFJLE9BQU9ILEtBQUssQ0FBQ0csSUFBSSxLQUFLLGFBQWE7WUFDckNILEtBQUssQ0FBQ0csSUFBSSxHQUFHRDtRQUNmLE9BQU8sSUFBSUUsTUFBTUMsT0FBTyxDQUFDTCxLQUFLLENBQUNHLElBQUksR0FBRztZQUNsQ0gsS0FBSyxDQUFDRyxJQUFJLENBQWNHLElBQUksQ0FBQ0o7UUFDakMsT0FBTztZQUNMRixLQUFLLENBQUNHLElBQUksR0FBRztnQkFBQ0gsS0FBSyxDQUFDRyxJQUFJO2dCQUFZRDthQUFNO1FBQzVDO0lBQ0Y7SUFDQSxPQUFPRjtBQUNUO0FBRUEsU0FBU08sdUJBQXVCQyxLQUFjO0lBQzVDLElBQ0UsT0FBT0EsVUFBVSxZQUNoQixPQUFPQSxVQUFVLFlBQVksQ0FBQ0MsTUFBTUQsVUFDckMsT0FBT0EsVUFBVSxXQUNqQjtRQUNBLE9BQU9FLE9BQU9GO0lBQ2hCLE9BQU87UUFDTCxPQUFPO0lBQ1Q7QUFDRjtBQUVPLFNBQVNWLHVCQUNkYSxRQUF3QjtJQUV4QixNQUFNQyxTQUFTLElBQUlDO0lBQ25CQyxPQUFPQyxPQUFPLENBQUNKLFVBQVVWLE9BQU8sQ0FBQyxDQUFBTztZQUFDLENBQUNMLEtBQUtELE1BQU0sR0FBQU07UUFDNUMsSUFBSUosTUFBTUMsT0FBTyxDQUFDSCxRQUFRO1lBQ3hCQSxNQUFNRCxPQUFPLENBQUMsQ0FBQ2UsT0FBU0osT0FBT0ssTUFBTSxDQUFDZCxLQUFLSSx1QkFBdUJTO1FBQ3BFLE9BQU87WUFDTEosT0FBT00sR0FBRyxDQUFDZixLQUFLSSx1QkFBdUJMO1FBQ3pDO0lBQ0Y7SUFDQSxPQUFPVTtBQUNUO0FBRU8sU0FBU2hCLE9BQ2R1QixNQUF1QjtJQUN2QixRQUFBQyxPQUFBQyxVQUFBQyxNQUFBLEVBQUFDLG1CQUFBLElBQUFuQixNQUFBZ0IsT0FBQSxJQUFBQSxPQUFBLFFBQUFJLE9BQUEsR0FBQUEsT0FBQUosTUFBQUksT0FBQTtRQUFHRCxnQkFBQUEsQ0FBSEMsT0FBQSxLQUFBSCxTQUFBLENBQUFHLEtBQXNDOztJQUV0Q0QsaUJBQWlCdEIsT0FBTyxDQUFDLENBQUNGO1FBQ3hCSyxNQUFNcUIsSUFBSSxDQUFDMUIsYUFBYTJCLElBQUksSUFBSXpCLE9BQU8sQ0FBQyxDQUFDRSxNQUFRZ0IsT0FBT1EsTUFBTSxDQUFDeEI7UUFDL0RKLGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQyxNQUFRZ0IsT0FBT0YsTUFBTSxDQUFDZCxLQUFLRDtJQUMxRDtJQUNBLE9BQU9pQjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcudHM/ODJmYSJdLCJuYW1lcyI6WyJhc3NpZ24iLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsInZhbHVlIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwidXJsUXVlcnkiLCJyZXN1bHQiLCJVUkxTZWFyY2hQYXJhbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaXRlbSIsImFwcGVuZCIsInNldCIsInRhcmdldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZWFyY2hQYXJhbXNMaXN0IiwiX2tleSIsImZyb20iLCJrZXlzIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQVdnQkE7OztlQUFBQTs7O21DQVZZO0FBVXJCLFNBQVNBLGdCQUFnQkMsS0FBMEI7SUFBMUIsTUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQWMsR0FBMUJGO0lBQzlCLE9BQU8sQ0FBQ0c7UUFDTixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNmLE9BQU87UUFDVDtRQUVBLE1BQU1FLFNBQVMsQ0FBQ047WUFDZCxJQUFJO2dCQUNGLE9BQU9PLG1CQUFtQlA7WUFDNUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNWLE1BQU0sSUFBSUMsT0FBQUEsV0FBVyxDQUFDO1lBQ3hCO1FBQ0Y7UUFDQSxNQUFNQyxTQUFxRCxDQUFDO1FBRTVEQyxPQUFPQyxJQUFJLENBQUNWLFFBQVFXLE9BQU8sQ0FBQyxDQUFDQztZQUMzQixNQUFNQyxJQUFJYixNQUFNLENBQUNZLFNBQVM7WUFDMUIsTUFBTUUsSUFBSVosVUFBVSxDQUFDVyxFQUFFRSxHQUFHLENBQUM7WUFDM0IsSUFBSUQsTUFBTUUsV0FBVztnQkFDbkJSLE1BQU0sQ0FBQ0ksU0FBUyxHQUFHLENBQUNFLEVBQUVHLE9BQU8sQ0FBQyxPQUMxQkgsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFVaEIsT0FBT2dCLFVBQ25DUCxFQUFFUSxNQUFNLEdBQ1I7b0JBQUNqQixPQUFPVTtpQkFBRyxHQUNYVixPQUFPVTtZQUNiO1FBQ0Y7UUFDQSxPQUFPTjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLnRzPzMxNzkiXSwibmFtZXMiOlsiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW0iLCJyZSIsImdyb3VwcyIsInBhdGhuYW1lIiwicm91dGVNYXRjaCIsImV4ZWMiLCJkZWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfIiwiRGVjb2RlRXJyb3IiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInNsdWdOYW1lIiwiZyIsIm0iLCJwb3MiLCJ1bmRlZmluZWQiLCJpbmRleE9mIiwic3BsaXQiLCJtYXAiLCJlbnRyeSIsInJlcGVhdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBMk5nQkEseUJBQXVCO2VBQXZCQTs7SUFoQkFDLG9CQUFrQjtlQUFsQkE7O0lBbklBQyxlQUFhO2VBQWJBOzs7Z0RBeEUyQjswQ0FDUjtpREFDQztBQUVwQyxNQUFNQywwQkFBMEI7QUFDaEMsTUFBTUMsa0NBQWtDO0FBYXhDOzs7Ozs7O0NBT0MsR0FDRCxTQUFTQyxlQUFlQyxLQUFhO0lBQ25DLE1BQU1DLFdBQVdELE1BQU1FLFVBQVUsQ0FBQyxRQUFRRixNQUFNRyxRQUFRLENBQUM7SUFDekQsSUFBSUYsVUFBVTtRQUNaRCxRQUFRQSxNQUFNSSxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFCO0lBQ0EsTUFBTUMsU0FBU0wsTUFBTUUsVUFBVSxDQUFDO0lBQ2hDLElBQUlHLFFBQVE7UUFDVkwsUUFBUUEsTUFBTUksS0FBSyxDQUFDO0lBQ3RCO0lBQ0EsT0FBTztRQUFFRSxLQUFLTjtRQUFPSztRQUFRSjtJQUFTO0FBQ3hDO0FBRUEsU0FBU00scUJBQXFCQyxLQUFhO0lBQ3pDLE1BQU1DLFdBQVdDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ0YsT0FBT0osS0FBSyxDQUFDLEdBQUdPLEtBQUssQ0FBQztJQUMzRCxNQUFNQyxTQUF5QyxDQUFDO0lBQ2hELElBQUlDLGFBQWE7SUFDakIsT0FBTztRQUNMQyxvQkFBb0JMLFNBQ2pCTSxHQUFHLENBQUMsQ0FBQ0M7WUFDSixNQUFNQyxjQUFjQyxvQkFBQUEsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDQyxJQUNuREosUUFBUWQsVUFBVSxDQUFDa0I7WUFFckIsTUFBTUMsZUFBZUwsUUFBUU0sS0FBSyxDQUFDLHVCQUF1Qix1QkFBdUI7O1lBRWpGLElBQUlMLGVBQWVJLGNBQWM7Z0JBQy9CLE1BQU0sRUFBRWYs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TSxFQUFFN0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFa0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSTdDLHVCQUF1QixLQUFLO1FBQzlCLElBQUkrQyxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0xGLFlBQVksT0FBS0csZ0JBQWM7UUFDakM7SUFDRjtJQUVBLE1BQU0sRUFBRVYsdUJBQXVCLEVBQUUsR0FBR0YsMEJBQ2xDdkIsaUJBQ0E7SUFFRixJQUFJb0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNMRixZQUFZLE1BQUlQLDBCQUEwQlcsdUJBQXFCO0lBQ2pFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC50cz8xNmExIl0sIm5hbWVzIjpbImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVSZWdleCIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsInVuZGVmaW5lZCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQXFNZ0JBOzs7ZUFBQUE7OztBQXJNaEIsTUFBTUM7SUFPSkMsT0FBT0MsT0FBZSxFQUFRO1FBQzVCLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN2RDtJQUVBQyxTQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQ0MsT0FBTztJQUNyQjtJQUVRQSxRQUFRQyxNQUFvQixFQUFZO1FBQWhDQSxJQUFBQSxXQUFBQSxLQUFBQSxHQUFBQSxTQUFpQjtRQUMvQixNQUFNQyxnQkFBZ0I7ZUFBSSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsSUFBSTtTQUFHLENBQUNDLElBQUk7UUFDcEQsSUFBSSxJQUFJLENBQUNDLFFBQVEsS0FBSyxNQUFNO1lBQzFCSixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxPQUFPO1FBQ3BEO1FBQ0EsSUFBSSxJQUFJLENBQUNDLFlBQVksS0FBSyxNQUFNO1lBQzlCUCxjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxVQUFVO1FBQ3ZEO1FBQ0EsSUFBSSxJQUFJLENBQUNFLG9CQUFvQixLQUFLLE1BQU07WUFDdENSLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDLFlBQVk7UUFDekQ7UUFFQSxNQUFNRyxTQUFTVCxjQUNaVSxHQUFHLENBQUMsQ0FBQ0MsSUFBTSxJQUFJLENBQUNWLFFBQVEsQ0FBQ1csR0FBRyxDQUFDRCxHQUFJYixPQUFPLENBQUMsS0FBR0MsU0FBU1ksSUFBRSxNQUN2REUsTUFBTSxDQUFDLENBQUNDLE1BQU1DLE9BQVM7bUJBQUlEO21CQUFTQzthQUFLLEVBQUUsRUFBRTtRQUVoRCxJQUFJLElBQUksQ0FBQ1gsUUFBUSxLQUFL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Q0FBQ3pCLFFBQVEsQ0FBQ3NDLEdBQUcsQ0FBQ2IsYUFBYSxJQUFJcEM7UUFDckM7UUFFQSxJQUFJLENBQUNXLFFBQVEsQ0FDVlcsR0FBRyxDQUFDYyxhQUNKakMsT0FBTyxDQUFDNkIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQzNDOzthQWpNQVAsV0FBQUEsR0FBdUI7YUFDdkJoQixRQUFBQSxHQUFpQyxJQUFJdUM7YUFDckNwQyxRQUFBQSxHQUEwQjthQUMxQkcsWUFBQUEsR0FBOEI7YUFDOUJDLG9CQUFBQSxHQUFzQzs7QUE4THhDO0FBRU8sU0FBU25CLGdCQUNkb0QsZUFBc0M7SUFFdEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFFM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBRWpCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQk4sT0FBTyxDQUFDLENBQUNRLFdBQWFELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNsRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLnRzP2Q1M2IiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiVXJsTm9kZSIsImluc2VydCIsInVybFBhdGgiLCJfaW5zZXJ0Iiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic21vb3NoIiwiX3Ntb29zaCIsInByZWZpeCIsImNoaWxkcmVuUGF0aHMiLCJjaGlsZHJlbiIsImtleXMiLCJzb3J0Iiwic2x1Z05hbWUiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVzdFNsdWdOYW1lIiwib3B0aW9uYWxSZXN0U2x1Z05hbWUiLCJyb3V0ZXMiLCJtYXAiLCJjIiwiZ2V0IiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJwdXNoIiwicGxhY2Vob2xkZXIiLCJyIiwic2xpY2UiLCJFcnJvciIsInVuc2hpZnQiLCJ1cmxQYXRocyIsInNsdWdOYW1lcyIsImlzQ2F0Y2hBbGwiLCJsZW5ndGgiLCJuZXh0U2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlZ21lbnROYW1lIiwiaXNPcHRpb25hbCIsInN1YnN0cmluZyIsImhhbmRsZVNsdWciLCJwcmV2aW91c1NsdWciLCJuZXh0U2x1ZyIsImZvckVhY2giLCJzbHVnIiwicmVwbGFjZSIsImhhcyIsInNldCIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFvYWFBLGFBQVc7ZUFBWEE7O0lBb0JBQyx5QkFBdUI7ZUFBdkJBOztJQVBBQyxtQkFBaUI7ZUFBakJBOztJQVpBQyxnQkFBYztlQUFkQTs7SUFDQUMsbUJBQWlCO2VBQWpCQTs7SUFUQUMsSUFBRTtlQUFGQTs7SUFDQUMsSUFBRTtlQUFGQTs7SUFsWEFDLFlBQVU7ZUFBVkE7O0lBc1FHQyxVQUFRO2VBQVJBOztJQStCQUMsZ0JBQWM7ZUFBZEE7O0lBWEFDLG1CQUFpQjtlQUFqQkE7O0lBS0FDLFFBQU07ZUFBTkE7O0lBUEhDLGVBQWE7ZUFBYkE7O0lBbUJHQyxXQUFTO2VBQVRBOztJQWtCTUMscUJBQW1CO2VBQW5CQTs7SUFkTkMsMEJBQXdCO2VBQXhCQTs7SUErR0FDLGdCQUFjO2VBQWRBOzs7QUE5WlQsTUFBTVQsYUFBYTtJQUFDO0lBQU87SUFBTztJQUFPO0lBQU87SUFBTztDQUFPO0FBc1E5RCxTQUFTQyxTQUNkUyxFQUFLO0lBRUwsSUFBSUMsT0FBTztJQUNYLElBQUlDO0lBRUosT0FBUTt5Q0FBSUMsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7WUFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O1FBQ1YsSUFBSSxDQUFDRixNQUFNO1lBQ1RBLE9BQU87WUFDUEMsU0FBU0YsTUFBTUc7UUFDakI7UUFDQSxPQUFPRDtJQUNUO0FBQ0Y7QUFFQSwwREFBMEQ7QUFDMUQsZ0VBQWdFO0FBQ2hFLE1BQU1FLHFCQUFxQjtBQUNwQixNQUFNVCxnQkFBZ0IsQ0FBQ1UsTUFBZ0JELG1CQUFtQkUsSUFBSSxDQUFDRDtBQUUvRCxTQUFTWjtJQUNkLE1BQU0sRUFBRWMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRSxHQUFHQyxPQUFPQyxRQUFRO0lBQ3BELE9BQU9KLFdBQVksT0FBSUMsV0FBV0MsQ0FBQUEsT0FBTyxNQUFNQSxPQUFPO0FBQ3hEO0FBRU8sU0FBU2Y7SUFDZCxNQUFNLEVBQUVrQixJQUFJLEVBQUUsR0FBR0YsT0FBT0MsUUFBUTtJQUNoQyxNQUFNRSxTQUFTcEI7SUFDZixPQUFPbUIsS0FBS0UsU0FBUyxDQUFDRCxPQUFPRSxNQUFNO0FBQ3JDO0FBRU8sU0FBU3ZCLGVBQWtCd0IsU0FBMkI7SUFDM0QsT0FBTyxPQUFPQSxjQUFjLFdBQ3hCQSxZQUNBQSxVQUFVQyxXQUFXLElBQUlELFVBQVVFLElBQUksSUFBSTtBQUNqRDtBQUVPLFNBQVN0QixVQUFVdUIsR0FBbUI7SUFDM0MsT0FBT0EsSUFBSUMsUUFBUSxJQUFJRCxJQUFJRSxXQUFXO0FBQ3hDO0FBRU8sU0FBU3ZCLHlCQUF5Qk8sR0FBVztJQUNsRCxNQUFNaUIsV0FBV2pCLElBQUlrQixLQUFLLENBQUM7SUFDM0IsTUFBTUMsYUFBYUYsUUFBUSxDQUFDLEVBQUU7SUFFOUIsT0FDRUUsV0FDRSw0REFBNEQ7SUFDNUQsMENBQTBDO0tBQ3pDQyxPQUFPLENBQUMsT0FBTyxLQUNmQSxPQUFPLENBQUMsVUFBVSxPQUNwQkgsQ0FBQUEsUUFBUSxDQUFDLEVBQUUsR0FBRyxNQUFJQSxTQUFTSSxLQUFLLENBQUMsR0FBR0MsSUFBSSxDQUFDLE9BQVM7QUFFdkQ7QUFFTyxlQUFlOUIsb0JBSXBCK0IsR0FBZ0MsRUFBRUMsR0FBTTtJQUN4QyxJQUFJQyxJQUF5QixFQUFjO1lBQ3JDRjtRQUFKLEtBQUlBLGlCQUFBQSxJQUFJRyxTQUFTLHFCQUFiSCxlQUFlSSxlQUFlLEVBQUU7WUFDbEMsTUFBTUMsVUFBVSxNQUFJekMsZUFDbEJvQyxPQUNBO1lBQ0YsTUFBTSxJQUFJTSxNQUFNRDtRQUNsQjtJQUNGO0lBQ0EsaURBQWlEO0lBQ2pELE1BQU1kLE1BQU1VLElBQUlWLEdBQUcsSUFBS1UsSUFBSUEsR0FBRyxJQUFJQSxJQUFJQSxHQUFHLENBQUNWLEdBQUc7SUFFOUMsSUFBSSxDQUFDUyxJQUFJSSxlQUFlLEVBQUU7UUFDeEIsSUFBSUgsSUFBSUEsR0FBRyxJQUFJQSxJQUFJYixTQUFTLEVBQUU7WUFDNUIsK0JBQStCO1lBQy9CLE9BQU87Z0JBQ0xtQixXQUFXLE1BQU10QyxvQkFBb0JnQyxJQUFJYixTQUFTLEVBQUVhLElBQUlBLEdBQUc7WUFDN0Q7UUFDRjtRQUNBLE9BQU8sQ0FBQztJQUNWO0lBRUEsTUFBTU8sUUFBUSxNQUFNUixJQUFJSSxlQUFlLENBQUNIO0lBRXhDLElBQUlWLE9BQU92QixVQUFVdUIsTUFBTTtRQUN6QixPQUFPaUI7SUFDVDtJQUVBLElBQUksQ0FBQ0EsT0FBTztRQUNWLE1BQU1ILFVBQVUsTUFBSXpDLGVBQ2xCb0MsT0FDQSxpRUFBOERRLFFBQU07UUFDdEUsTUFBTSxJQUFJRixNQUFNRDtJQUNsQjtJQUVBLElBQUlILElBQXlCLEVBQWM7UUFDekMsSUFBSU8sT0FBT0MsSUFBSSxDQUFDRixPQUFPckIsTUFBTSxLQUFLLEtBQUssQ0FBQ2MsSUFBSUEsR0FBRyxFQUFFO1lBQy9DVSxRQUFRQyxJQUFJLENBQ1YsS0FBR2hELGVBQ0RvQyxPQUNBO1FBRU47SUFDRjtJQUVBLE9BQU9RO0FBQ1Q7QUFFTyxNQUFNaEQsS0FBSyxPQUFPcUQsZ0JBQWdCO0FBQ2xDLE1BQU1wRCxLQUNYRCxNQUNBO0lBQUU7SUFBUTtJQUFXO0NBQW1CLENBQVdzRCxLQUFLLENBQ3RELENBQUNDLFNBQVcsT0FBT0YsV0FBVyxDQUFDRSxPQUFPLEtBQUs7QUFHeEMsTUFBTTVELG9CQUFvQm1EO0FBQU87QUFDakMsTUFBTWhELHVCQUF1QmdEO0FBQU87QUFDcEMsTUFBTS9DLDBCQUEwQitDO0lBR3JDVSxZQUFZQyxJQUFZLENBQUU7UUFDeEIsS0FBSztRQUNMLElBQUksQ0FBQ0MsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDNUIsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDZSxPQUFPLEdBQUcsa0NBQWdDWTtJQUNqRDtBQUNGO0FBRU8sTUFBTTVELDBCQUEwQmlEO0lBQ3JDVSxZQUFZQyxJQUFZLEVBQUVaLE9BQWUsQ0FBRTtRQUN6QyxLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQXdDWSxPQUFLLE1BQUdaO0lBQ2pFO0FBQ0Y7QUFFTyxNQUFNakQsZ0NBQWdDa0Q7SUFFM0NVLGFBQWM7UUFDWixLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNiLE9BQU8sR0FBSTtJQUNsQjtBQUNGO0FBV08sU0FBU2xDLGVBQWVnRCxLQUFZO0lBQ3pDLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUFFaEIsU0FBU2MsTUFBTWQsT0FBTztRQUFFaUIsT0FBT0gsTUFBTUcsS0FBSztJQUFDO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cz8xYmQ1Il0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Button.jsx": -/*!***********************************!*\ - !*** ./src/components/Button.jsx ***! - \***********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: function() { return /* binding */ Button; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n\n\n\nfunction Button(param) {\n let { className, ...props } = param;\n className = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"inline-flex justify-center rounded-2xl bg-blue-700 py-2 px-4 text-sm font-semibold text-white hover:bg-blue-500 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:text-white/70\", className);\n return typeof props.href === \"undefined\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n_c = Button;\nvar _c;\n$RefreshReg$(_c, \"Button\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNEI7QUFDTDtBQUVoQixTQUFTRSxPQUFPLEtBQXVCO1FBQXZCLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEdBQXZCO0lBQ3JCRCxZQUFZRixnREFBSUEsQ0FDZCxpUEFDQUU7SUFHRixPQUFPLE9BQU9DLE1BQU1DLElBQUksS0FBSyw0QkFDM0IsOERBQUNDO1FBQU9ILFdBQVdBO1FBQVksR0FBR0MsS0FBSzs7Ozs7NkJBRXZDLDhEQUFDSixpREFBSUE7UUFBQ0csV0FBV0E7UUFBWSxHQUFHQyxLQUFLOzs7Ozs7QUFFekM7S0FYZ0JGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3g/NGUxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9KSB7XG4gIGNsYXNzTmFtZSA9IGNsc3goXG4gICAgJ2lubGluZS1mbGV4IGp1c3RpZnktY2VudGVyIHJvdW5kZWQtMnhsIGJnLWJsdWUtNzAwIHB5LTIgcHgtNCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBob3ZlcjpiZy1ibHVlLTUwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1ibHVlLTUwMCBhY3RpdmU6dGV4dC13aGl0ZS83MCcsXG4gICAgY2xhc3NOYW1lLFxuICApXG5cbiAgcmV0dXJuIHR5cGVvZiBwcm9wcy5ocmVmID09PSAndW5kZWZpbmVkJyA/IChcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4ucHJvcHN9IC8+XG4gICkgOiAoXG4gICAgPExpbmsgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5wcm9wc30gLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJjbHN4IiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJocmVmIiwiYnV0dG9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Button.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Container.jsx": -/*!**************************************!*\ - !*** ./src/components/Container.jsx ***! - \**************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: function() { return /* binding */ Container; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container(param) {\n let { className, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n_c = Container;\nvar _c;\n$RefreshReg$(_c, \"Container\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0NvbnRhaW5lci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF1QjtBQUVoQixTQUFTQyxVQUFVLEtBQXVCO1FBQXZCLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEdBQXZCO0lBQ3hCLHFCQUNFLDhEQUFDQztRQUNDRixXQUFXRixnREFBSUEsQ0FBQywwQ0FBMENFO1FBQ3pELEdBQUdDLEtBQUs7Ozs7OztBQUdmO0tBUGdCRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Container.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Header.jsx": -/*!***********************************!*\ - !*** ./src/components/Header.jsx ***! - \***********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: function() { return /* binding */ Header; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(app-pages-browser)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Logo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Logo */ \"(app-pages-browser)/./src/components/Logo.jsx\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n// Example navigation items\nconst navigationItems = [\n {\n name: \"Home\",\n href: \"/\"\n },\n {\n name: \"Features\",\n href: \"#\"\n },\n {\n name: \"Usecases\",\n href: \"#\"\n },\n {\n name: \"Events\",\n href: \"#\"\n }\n];\nfunction Header() {\n _s();\n const [mobileMenuOpen, setMobileMenuOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"relative z-50 flex-none lg:py-4 bg-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"flex flex-wrap items-center justify-between lg:justify-center lg:flex-nowrap\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"my-5 lg:my-0 lg:grow lg:basis-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:flex lg:items-center lg:gap-8 lg:grow lg:basis-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-8 mx-auto\",\n children: navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-700 font-semibold hover:text-blue-900\",\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 29,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 27,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 34,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 26,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:hidden flex items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(true),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Open menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 42,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 43,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 37,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this),\n mobileMenuOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-10 bg-white shadow-lg lg:hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 52,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(false),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Close menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 58,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 59,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 53,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col p-6 space-y-4\",\n children: [\n navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-500 hover:text-blue-800 text-lg font-semibold\",\n onClick: ()=>setMobileMenuOpen(false),\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 64,\n columnNumber: 15\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n className: \"mt-4\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 73,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n_s(Header, \"d7gXMF6mPDUhHBNUSEb8mLK4AII=\");\n_c = Header;\nvar _c;\n$RefreshReg$(_c, \"Header\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0hlYWRlci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFaUM7QUFDWTtBQUNNO0FBQ1Y7QUFDMEI7QUFFbkUsMkJBQTJCO0FBQzNCLE1BQU1NLGtCQUFrQjtJQUN0QjtRQUFFQyxNQUFNO1FBQVFDLE1BQU07SUFBSTtJQUMxQjtRQUFFRCxNQUFNO1FBQVlDLE1BQU07SUFBSTtJQUM5QjtRQUFFRCxNQUFNO1FBQVlDLE1BQU07SUFBSTtJQUM5QjtRQUFFRCxNQUFNO1FBQVVDLE1BQU07SUFBSTtDQUM3QjtBQUVNLFNBQVNDOztJQUNkLE1BQU0sQ0FBQ0MsZ0JBQWdCQyxrQkFBa0IsR0FBR1gsK0NBQVFBLENBQUM7SUFFckQscUJBQ0UsOERBQUNZO1FBQU9DLFdBQVU7OzBCQUNoQiw4REFBQ1gsNERBQVNBO2dCQUFDVyxXQUFVOztrQ0FDbkIsOERBQUNDO3dCQUFJRCxXQUFVO2tDQUNiLDRFQUFDVixrREFBSUE7NEJBQUNVLFdBQVU7Ozs7Ozs7Ozs7O2tDQUVsQiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDQztnQ0FBSUQsV0FBVTswQ0FDWlAsZ0JBQWdCUyxHQUFHLENBQUMsQ0FBQ0MscUJBQ3BCLDhEQUFDQzt3Q0FBa0JULE1BQU1RLEtBQUtSLElBQUk7d0NBQUVLLFdBQVU7a0RBQzNDRyxLQUFLVCxJQUFJO3VDQURKUyxLQUFLVCxJQUFJOzs7Ozs7Ozs7OzBDQUtyQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLOzBDQUFJOzs7Ozs7Ozs7Ozs7a0NBRW5CLDhEQUFDTTt3QkFBSUQsV0FBVTtrQ0FDYiw0RUFBQ0s7NEJBQ0NDLE1BQUs7NEJBQ0xDLFNBQVMsSUFBTVQsa0JBQWtCOzRCQUNqQ0UsV0FBVTs7OENBRVYsOERBQUNRO29DQUFLUixXQUFVOzhDQUFVOzs7Ozs7OENBQzFCLDhEQUFDVCw2R0FBU0E7b0NBQUNrQixlQUFZO29DQUFPVCxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQU03Q0gsZ0NBQ0MsOERBQUNJO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDVixrREFBSUE7Z0NBQUNVLFdBQVU7Ozs7OzswQ0FDaEIsOERBQUNLO2dDQUNDQyxNQUFLO2dDQUNMQyxTQUFTLElBQU1ULGtCQUFrQjtnQ0FDakNFLFdBQVU7O2tEQUVWLDhEQUFDUTt3Q0FBS1IsV0FBVTtrREFBVTs7Ozs7O2tEQUMxQiw4REFBQ1IsNkdBQVNBO3dDQUFDaUIsZUFBWTt3Q0FBT1QsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUc1Qyw4REFBQ0M7d0JBQUlELFdBQVU7OzRCQUNaUCxnQkFBZ0JTLEdBQUcsQ0FBQyxDQUFDQyxxQkFDcEIsOERBQUNDO29DQUVDVCxNQUFNUSxLQUFLUixJQUFJO29DQUNmSyxXQUFVO29DQUNWTyxTQUFTLElBQU1ULGtCQUFrQjs4Q0FFaENLLEtBQUtULElBQUk7bUNBTExTLEtBQUtULElBQUk7Ozs7OzBDQVFsQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLO2dDQUFJSyxXQUFVOzBDQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFROUM7R0FoRWdCSjtLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4PzNjYjYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnOyAvLyBFbnN1cmUgdGhpcyBmaWxlIGlzIHRyZWF0ZWQgYXMgYSBDbGllbnQgQ29tcG9uZW50XG5cbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJztcbmltcG9ydCB7IExvZ28gfSBmcm9tICdAL2NvbXBvbmVudHMvTG9nbyc7XG5pbXBvcnQgeyBCYXJzM0ljb24sIFhNYXJrSWNvbiB9IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSc7XG5cbi8vIEV4YW1wbGUgbmF2aWdhdGlvbiBpdGVtc1xuY29uc3QgbmF2aWdhdGlvbkl0ZW1zID0gW1xuICB7IG5hbWU6ICdIb21lJywgaHJlZjogJy8nIH0sXG4gIHsgbmFtZTogJ0ZlYXR1cmVzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ1VzZWNhc2VzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ0V2ZW50cycsIGhyZWY6ICcjJyB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIEhlYWRlcigpIHtcbiAgY29uc3QgW21vYmlsZU1lbnVPcGVuLCBzZXRNb2JpbGVNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotNTAgZmxleC1ub25lIGxnOnB5LTQgYmctd2hpdGVcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBsZzpqdXN0aWZ5LWNlbnRlciBsZzpmbGV4LW5vd3JhcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LTUgbGc6bXktMCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhpZGRlbiBsZzpmbGV4IGxnOml0ZW1zLWNlbnRlciBsZzpnYXAtOCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTggbXgtYXV0b1wiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGEga2V5PXtpdGVtLm5hbWV9IGhyZWY9e2l0ZW0uaHJlZn0gY2xhc3NOYW1lPVwidGV4dC1ibHVlLTcwMCBmb250LXNlbWlib2xkIGhvdmVyOnRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAgICB7aXRlbS5uYW1lfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCI+Sm9pbiBPdXJWZXJzZTwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzpoaWRkZW4gZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE1vYmlsZU1lbnVPcGVuKHRydWUpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiLW0tMi41IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIHAtMi41IHRleHQtZ3JheS03MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5PcGVuIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICA8QmFyczNJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzTmFtZT1cImgtNiB3LTZcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuXG4gICAgICB7LyogTW9iaWxlIG1lbnUgKi99XG4gICAgICB7bW9iaWxlTWVudU9wZW4gJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei0xMCBiZy13aGl0ZSBzaGFkb3ctbGcgbGc6aGlkZGVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC02XCI+XG4gICAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVNZW51T3BlbihmYWxzZSl9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cIi1tLTIuNSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBwLTIuNSB0ZXh0LWdyYXktNzAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICAgIDxYTWFya0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3NOYW1lPVwiaC02IHctNlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgcC02IHNwYWNlLXktNFwiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1ibHVlLTUwMCBob3Zlcjp0ZXh0LWJsdWUtODAwIHRleHQtbGcgZm9udC1zZW1pYm9sZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTWVudU9wZW4oZmFsc2UpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCIgY2xhc3NOYW1lPVwibXQtNFwiPlxuICAgICAgICAgICAgICBKb2luIE91clZlcnNlXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvaGVhZGVyPlxuICApO1xufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwiQnV0dG9uIiwiQ29udGFpbmVyIiwiTG9nbyIsIkJhcnMzSWNvbiIsIlhNYXJrSWNvbiIsIm5hdmlnYXRpb25JdGVtcyIsIm5hbWUiLCJocmVmIiwiSGVhZGVyIiwibW9iaWxlTWVudU9wZW4iLCJzZXRNb2JpbGVNZW51T3BlbiIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsIm1hcCIsIml0ZW0iLCJhIiwiYnV0dG9uIiwidHlwZSIsIm9uQ2xpY2siLCJzcGFuIiwiYXJpYS1oaWRkZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Header.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Logo.jsx": -/*!*********************************!*\ - !*** ./src/components/Logo.jsx ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: function() { return /* binding */ Logo; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n\nfunction Logo(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: \"130\",\n height: \"43.33\",\n version: \"1\",\n viewBox: \"0 0 90 30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"filter\", {\n id: \"bdef170c39\",\n width: \"100%\",\n height: \"100%\",\n x: \"0%\",\n y: \"0%\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n colorInterpolationFilters: \"sRGB\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"ae85f5a47d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9479493a42\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.07 23.469a2.665 2.665 0 01-2.383-1.504L4.657 9.25a2.62 2.62 0 011.257-3.492A2.621 2.621 0 019.41 7.016l6.027 12.714a2.618 2.618 0 01-2.367 3.739zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"90a54febec\",\n x1: \"117.677\",\n x2: \"-10.526\",\n y1: \"202.569\",\n y2: \"6.809\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 34,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 37,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#1E3A8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 40,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 43,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#203E91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#204092\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 47,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#214295\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 51,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#224498\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 52,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 54,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 55,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 56,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#24479E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 59,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 60,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.299\",\n stopColor: \"#2549A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#254AA1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#254BA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 65,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 66,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#274FAA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 72,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2751AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 78,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 80,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2A56B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 81,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 85,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 86,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2B5AB9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2C5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 88,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 91,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 92,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 93,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 94,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 95,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 96,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 97,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 98,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#2E61C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 99,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 100,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 101,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#2F63C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 102,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 103,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3065CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 105,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 106,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#3167CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 107,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 108,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 109,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 111,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 112,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.701\",\n stopColor: \"#326BD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 114,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 115,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 116,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 117,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#346FD8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 120,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3570DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 123,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 124,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 125,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 127,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 128,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3674E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 130,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 131,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 132,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 133,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 134,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#3878E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 135,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 136,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#387AE8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 138,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 139,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#397CEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 140,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 142,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 143,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 145,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 146,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 147,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 148,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.977\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 149,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.984\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 150,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 24,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"71699c0992\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 154,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 153,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"39c4965344\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.469c-.375 0-.77-.078-1.13-.266-1.312-.617-1.878-2.195-1.257-3.492l6.031-12.715c.617-1.312 2.196-1.879 3.492-1.258 1.317.621 1.88 2.2 1.258 3.492l-6.027 12.715c-.434.977-1.371 1.524-2.367 1.524zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 157,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 156,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"5c493e8459\",\n x1: \"188.996\",\n x2: \"130.793\",\n y1: \"-0.323\",\n y2: \"214.691\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 168,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.008\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 169,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.016\",\n stopColor: \"#1E3B8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 170,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.023\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 171,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.031\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 172,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.039\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 173,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.047\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 174,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.055\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 175,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 176,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.07\",\n stopColor: \"#203F91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 177,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.078\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 178,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.086\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 179,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.102\",\n stopColor: \"#214195\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 181,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#214296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 182,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 183,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#224398\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 186,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 187,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.15\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 188,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 189,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 190,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 191,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 192,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#24489E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 193,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 194,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 195,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#2449A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 196,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 198,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 199,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#254CA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 201,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 202,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 203,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 204,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#274EA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 205,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 206,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2750AA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 207,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 208,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#2851AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 209,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 210,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 212,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 213,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 214,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 215,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 216,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#2955B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 217,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 218,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 219,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 220,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 221,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 222,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 223,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2B59B9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 224,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2B5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 225,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 226,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 227,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 228,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 229,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 230,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 232,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 233,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2E5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 234,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 235,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 236,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2F62C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 238,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 240,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 241,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2F64C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 242,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 243,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 244,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 245,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#3066CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 246,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 247,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 248,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 249,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 251,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 252,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#326AD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 253,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 254,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#336BD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 255,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 256,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 257,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 258,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 259,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#346ED8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 260,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 261,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 262,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 263,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#3571DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 264,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 265,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 266,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 267,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 268,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 269,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 270,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3675E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 272,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 273,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 274,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 275,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 276,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 277,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.85\",\n stopColor: \"#3879E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 278,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 279,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 281,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 282,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#397BEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 284,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#3A7CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 286,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 287,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 288,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 289,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 290,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 291,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 292,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 293,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 294,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 295,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 159,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8d0c53bb2c\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8007d6ee0b\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.074 23.621c-.98 0-1.941-.566-2.394-1.512L4.62 9.336a2.628 2.628 0 011.262-3.508A2.632 2.632 0 019.395 7.09l6.058 12.773a2.639 2.639 0 01-1.265 3.512c-.36.168-.735.246-1.114.246zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 301,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 300,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 303,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"c882ea39a8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 313,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9791d5a09d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 321,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 320,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"e6e7ec391e\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9791d5a09d)\",\n mask: \"url(#c882ea39a8)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 335,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 334,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 323,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"b6080a64a5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 342,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 341,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"2ec3ecbd14\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.621c-.375 0-.774-.078-1.133-.266-1.32-.62-1.887-2.207-1.262-3.507L16.72 7.074c.62-1.324 2.207-1.89 3.508-1.265 1.32.62 1.886 2.207 1.265 3.507L15.434 22.09c-.434.98-1.38 1.531-2.38 1.531zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 345,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 344,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 347,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"d7dda1a063\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 357,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 356,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 355,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"c87c18b6c8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 365,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 364,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"f8c42d9774\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#c87c18b6c8)\",\n mask: \"url(#d7dda1a063)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 379,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 378,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 367,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#ae85f5a47d)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9479493a42)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#90a54febec)\",\n d: \"M4.355 5.473v17.996H16.06V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 388,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 387,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 386,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#71699c0992)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#39c4965344)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#5c493e8459)\",\n d: \"M10.047 5.473v17.996h11.726V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 396,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 395,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 394,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M5.766.172c-1.024 0-1.914-.219-2.672-.656a4.783 4.783 0 01-1.797-1.86c-.43-.789-.64-1.707-.64-2.75 0-1.031.21-1.941.64-2.734a4.837 4.837 0 011.797-1.86c.758-.445 1.648-.671 2.672-.671 1 0 1.882.226 2.656.671.77.45 1.367 1.07 1.797 1.86.426.793.64 1.703.64 2.734 0 1.043-.214 1.961-.64 2.75a4.677 4.677 0 01-1.797 1.86c-.774.437-1.656.656-2.656.656zm0-1.672c.968 0 1.738-.316 2.312-.953.582-.645.875-1.524.875-2.64 0-1.114-.293-1.989-.875-2.626-.574-.644-1.344-.968-2.312-.968-.97 0-1.746.324-2.329.968-.585.637-.874 1.512-.874 2.625 0 1.117.289 1.996.874 2.64.583.638 1.36.954 2.329.954zm0 0\",\n transform: \"translate(24.636 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 402,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.656.172c-.906 0-1.605-.281-2.094-.844C1.07-1.234.829-2.055.829-3.14v-4.078h1.844v3.907c0 .617.125 1.09.375 1.421.258.336.66.5 1.203.5.508 0 .93-.18 1.266-.546.332-.375.5-.891.5-1.547V-7.22H7.89V0H6.234l-.14-1.219a2.45 2.45 0 01-.969 1.016c-.418.25-.906.375-1.469.375zm0 0\",\n transform: \"translate(35.114 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 407,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(42.932 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 412,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.938 0L.217-10.188h2l2.876 8.282 2.89-8.281h1.97L6.218 0zm0 0\",\n transform: \"translate(47.67 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 417,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(56.811 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 422,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(64.484 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 427,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.922.172c-.637 0-1.2-.106-1.688-.313-.48-.207-.867-.492-1.156-.859a2.58 2.58 0 01-.531-1.281h1.875c.062.281.219.523.469.719.257.199.597.296 1.015.296.406 0 .703-.082.89-.25.188-.164.282-.351.282-.562 0-.313-.137-.52-.406-.625a7.994 7.994 0 00-1.14-.344 11.28 11.28 0 01-.954-.234 5.044 5.044 0 01-.875-.375 2.081 2.081 0 01-.64-.578c-.168-.239-.25-.536-.25-.891 0-.633.253-1.172.765-1.61.508-.437 1.223-.656 2.14-.656.852 0 1.536.2 2.048.594.507.399.812.945.906 1.64h-1.75c-.117-.53-.524-.796-1.219-.796-.344 0-.61.07-.797.203-.187.137-.281.309-.281.516 0 .21.14.382.422.515.281.125.648.242 1.11.344.507.117.972.246 1.39.39.426.137.766.344 1.016.626.25.273.375.664.375 1.171.007.45-.11.856-.36 1.22-.242.355-.59.636-1.047.843-.449.195-.984.297-1.61.297zm0 0\",\n transform: \"translate(69.222 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 432,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(75.834 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 437,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8d0c53bb2c)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8007d6ee0b)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#e6e7ec391e)\",\n d: \"M4.355 5.473h11.72v18.144H4.354zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 444,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 443,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 442,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#b6080a64a5)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#2ec3ecbd14)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#f8c42d9774)\",\n d: \"M10.035 5.473h11.738v18.144H10.035zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 452,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 451,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 450,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n_c = Logo;\nvar _c;\n$RefreshReg$(_c, \"Logo\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0xvZ28uanN4IiwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLFNBQVNBLEtBQUtDLEtBQUs7SUFDeEIscUJBQ0UsOERBQUNDO1FBQ0RDLE9BQU07UUFDTkMsWUFBVztRQUNYQyxPQUFNO1FBQ05DLFFBQU87UUFDUEMsU0FBUTtRQUNSQyxTQUFROzswQkFFUiw4REFBQ0M7O2tDQUNDLDhEQUFDQzt3QkFBT0MsSUFBRzt3QkFBYU4sT0FBTTt3QkFBT0MsUUFBTzt3QkFBT00sR0FBRTt3QkFBS0MsR0FBRTtrQ0FDMUQsNEVBQUNDOzRCQUNDQywyQkFBMEI7NEJBQzFCQyxRQUFPOzs7Ozs7Ozs7OztrQ0FHWCw4REFBQ0M7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0M7d0JBQ0NULElBQUc7d0JBQ0hVLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLG1CQUFrQjt3QkFDbEJDLGVBQWM7OzBDQUVkLDhEQUFDQztnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7OzBDQUMzQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBTUMsV0FBVTs7Ozs7OzBDQUM3Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQUlDLFdBQVU7Ozs7Ozs7Ozs7OztrQ0FFN0IsOERBQUNaO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNGO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNDO3dCQUNDVCxJQUFHO3dCQUNIVSxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxtQkFBa0I7d0JBQ2xCQyxlQUFjOzswQ0FFZCw4REFBQ0M7Z0NBQUtDLFFBQU87Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDM0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBTUMsV0FBVTs7Ozs7OzBDQUM3Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBD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Viw0RUFBQ0M7d0JBQ0NvQixNQUFLO3dCQUNMbkIsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1aO0tBM2NnQm5CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0xvZ28uanN4PzIwNDEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIExvZ28ocHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgeG1sbnNYbGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgIHdpZHRoPVwiMTMwXCJcbiAgICBoZWlnaHQ9XCI0My4zM1wiXG4gICAgdmVyc2lvbj1cIjFcIlxuICAgIHZpZXdCb3g9XCIwIDAgOTAgMzBcIlxuICA+XG4gICAgPGRlZnM+XG4gICAgICA8ZmlsdGVyIGlkPVwiYmRlZjE3MGMzOVwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiB4PVwiMCVcIiB5PVwiMCVcIj5cbiAgICAgICAgPGZlQ29sb3JNYXRyaXhcbiAgICAgICAgICBjb2xvckludGVycG9sYXRpb25GaWx0ZXJzPVwic1JHQlwiXG4gICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMSAwXCJcbiAgICAgICAgPjwvZmVDb2xvck1hdHJpeD5cbiAgICAgIDwvZmlsdGVyPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiYWU4NWY1YTQ3ZFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTQuMzU1IDUuNDczSDE2djE4LjE0NEg0LjM1NXptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjk0Nzk0OTNhNDJcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNyAyMy40NjlhMi42NjUgMi42NjUgMCAwMS0yLjM4My0xLjUwNEw0LjY1NyA5LjI1YTIuNjIgMi42MiAwIDAxMS4yNTctMy40OTJBMi42MjEgMi42MjEgMCAwMTkuNDEgNy4wMTZsNi4wMjcgMTIuNzE0YTIuNjE4IDIuNjE4IDAgMDEtMi4zNjcgMy43Mzl6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgaWQ9XCI5MGE1NGZlYmVjXCJcbiAgICAgICAgeDE9XCIxMTcuNjc3XCJcbiAgICAgICAgeDI9XCItMTAuNTI2XCJcbiAgICAgICAgeTE9XCIyMDIuNTY5XCJcbiAgICAgICAgeTI9XCI2LjgwOVwiXG4gICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuMzU1IDUuNDc5KSBzY2FsZSguMDkxNzQpXCJcbiAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDYzXCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wOTRcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwOVwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTE3XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMjVcIiBzdG9wQ29sb3I9XCIjMUUzQThCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEzM1wiIHN0b3BDb2xvcj1cIiMxRjNCOENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQxXCIgc3RvcENvbG9yPVwiIzFGM0M4RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDhcIiBzdG9wQ29sb3I9XCIjMUYzQzhFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1NlwiIHN0b3BDb2xvcj1cIiMxRjNEOEZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTY0XCIgc3RvcENvbG9yPVwiIzIwM0U5MFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNzJcIiBzdG9wQ29sb3I9XCIjMjAzRTkxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE4XCIgc3RvcENvbG9yPVwiIzIwM0Y5MlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xODhcIiBzdG9wQ29sb3I9XCIjMjA0MDkyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE5NVwiIHN0b3BDb2xvcj1cIiMyMTQwOTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjAzXCIgc3RvcENvbG9yPVwiIzIxNDE5NFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTFcIiBzdG9wQ29sb3I9XCIjMjE0Mjk1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIxOVwiIHN0b3BDb2xvcj1cIiMyMjQyOTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjI3XCIgc3RvcENvbG9yPVwiIzIyNDM5N1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMzRcIiBzdG9wQ29sb3I9XCIjMjI0NDk4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI0MlwiIHN0b3BDb2xvcj1cIiMyNDlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjVcIiBzdG9wQ29sb3I9XCIjMjM0NTlBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1OFwiIHN0b3BDb2xvcj1cIiMyMzQ1OUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjY2XCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNzNcIiBzdG9wQ29sb3I9XCIjMjM0NzlEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4MVwiIHN0b3BDb2xvcj1cIiMyNDQ3OUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjg5XCIgc3RvcENvbG9yPVwiIzI0NDg5RlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTdcIiBzdG9wQ29sb3I9XCIjMjQ0OUEwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI5OVwiIHN0b3BDb2xvcj1cIiMyNTQ5QTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzA1XCIgc3RvcENvbG9yPVwiIzI1NEFBMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMTNcIiBzdG9wQ29sb3I9XCIjMjU0QUEyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMyXCIgc3RvcENvbG9yPVwiIzI1NEJBM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMjhcIiBzdG9wQ29sb3I9XCIjMjU0QkE0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMzNlwiIHN0b3BDb2xvcj1cIiMyNjRDQTVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzQ0XCIgc3RvcENvbG9yPVwiIzI2NERBNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTJcIiBzdG9wQ29sb3I9XCIjMjY0REE3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM1OVwiIHN0b3BDb2xvcj1cIiMyNjRFQThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzY3XCIgc3RvcENvbG9yPVwiIzI3NEZBOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNzVcIiBzdG9wQ29sb3I9XCIjMjc0RkFBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM4M1wiIHN0b3BDb2xvcj1cIiMyNzUwQUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzkxXCIgc3RvcENvbG9yPVwiIzI3NTFBQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zOThcIiBzdG9wQ29sb3I9XCIjMjg1MUFEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQwNlwiIHN0b3BDb2xvcj1cIiMyODUyQUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDE0XCIgc3RvcENvbG9yPVwiIzI4NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MjJcIiBzdG9wQ29sb3I9XCIjMjk1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQzXCIgc3RvcENvbG9yPVwiIzI5NTRCMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MzhcIiBzdG9wQ29sb3I9XCIjMjk1NEIxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ0NVwiIHN0b3BDb2xvcj1cIiMyOTU1QjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDUzXCIgc3RvcENvbG9yPVwiIzJBNTZCM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjFcIiBzdG9wQ29sb3I9XCIjMkE1NkI0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ2OVwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDc3XCIgc3RvcENvbG9yPVwiIzJBNThCNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40ODRcIiBzdG9wQ29sb3I9XCIjMkI1OEI3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ5MlwiIHN0b3BDb2xvcj1cIiMyQjU5QjhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNVwiIHN0b3BDb2xvcj1cIiMyQjVBQjlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTA4XCIgc3RvcENvbG9yPVwiIzJDNUFCQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MTZcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUyM1wiIHN0b3BDb2xvcj1cIiMyQzVDQkNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTMxXCIgc3RvcENvbG9yPVwiIzJDNUNCRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MzlcIiBzdG9wQ29sb3I9XCIjMkQ1REJFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU0N1wiIHN0b3BDb2xvcj1cIiMyRDVFQkZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTU1XCIgc3RvcENvbG9yPVwiIzJENUVDMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NjNcIiBzdG9wQ29sb3I9XCIjMkQ1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU3XCIgc3RvcENvbG9yPVwiIzJFNjBDMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NzhcIiBzdG9wQ29sb3I9XCIjMkU2MEMzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU4NlwiIHN0b3BDb2xvcj1cIiMyRTYxQzRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTk0XCIgc3RvcENvbG9yPVwiIzJFNjFDNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDJcIiBzdG9wQ29sb3I9XCIjMkY2MkM2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYwOVwiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjE3XCIgc3RvcENvbG9yPVwiIzJGNjNDOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MjVcIiBzdG9wQ29sb3I9XCIjMzA2NEM5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYzM1wiIHN0b3BDb2xvcj1cIiMzMDY1Q0FcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQxXCIgc3RvcENvbG9yPVwiIzMwNjVDQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NDhcIiBzdG9wQ29sb3I9XCIjMzA2NkNCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY1NlwiIHN0b3BDb2xvcj1cIiMzMTY3Q0NcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjY0XCIgc3RvcENvbG9yPVwiIzMxNjdDRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NzJcIiBzdG9wQ29sb3I9XCIjMzE2OENFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY4XCIgc3RvcENvbG9yPVwiIzMxNjlDRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42ODhcIiBzdG9wQ29sb3I9XCIjMzI2OUQwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY5NVwiIHN0b3BDb2xvcj1cIiMzMjZBRDFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzAxXCIgc3RvcENvbG9yPVwiIzMyNkJEMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MDNcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxMVwiIHN0b3BDb2xvcj1cIiMzMjZCRDNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzE5XCIgc3RvcENvbG9yPVwiIzMzNkNENFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MjdcIiBzdG9wQ29sb3I9XCIjMzM2REQ1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjczNFwiIHN0b3BDb2xvcj1cIiMzMzZERDZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzQyXCIgc3RvcENvbG9yPVwiIzM0NkVEN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NVwiIHN0b3BDb2xvcj1cIiMzNDZGRDhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzU4XCIgc3RvcENvbG9yPVwiIzM0NkZEOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NjZcIiBzdG9wQ29sb3I9XCIjMzQ3MERBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc3M1wiIHN0b3BDb2xvcj1cIiMzNTcwREJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzgxXCIgc3RvcENvbG9yPVwiIzM1NzFEQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODlcIiBzdG9wQ29sb3I9XCIjMzU3MkREXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc5N1wiIHN0b3BDb2xvcj1cIiMzNTcyREVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODA1XCIgc3RvcENvbG9yPVwiIzM2NzNERlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MTNcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyXCIgc3RvcENvbG9yPVwiIzM2NzRFMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MjhcIiBzdG9wQ29sb3I9XCIjMzc3NUUyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgzNlwiIHN0b3BDb2xvcj1cIiMzNzc2RTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODQ0XCIgc3RvcENvbG9yPVwiIzM3NzZFNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTJcIiBzdG9wQ29sb3I9XCIjMzc3N0U1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg1OVwiIHN0b3BDb2xvcj1cIiMzODc4RTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODY3XCIgc3RvcENvbG9yPVwiIzM4NzhFN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NzVcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg4M1wiIHN0b3BDb2xvcj1cIiMzODdBRThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODkxXCIgc3RvcENvbG9yPVwiIzM5N0FFOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44OThcIiBzdG9wQ29sb3I9XCIjMzk3QkVBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkwNlwiIHN0b3BDb2xvcj1cIiMzOTdDRUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTE0XCIgc3RvcENvbG9yPVwiIzM5N0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MjJcIiBzdG9wQ29sb3I9XCIjM0E3REVEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkzXCIgc3RvcENvbG9yPVwiIzNBN0RFRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MzhcIiBzdG9wQ29sb3I9XCIjM0E3RUVGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk0NVwiIHN0b3BDb2xvcj1cIiMzQjdGRjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTUzXCIgc3RvcENvbG9yPVwiIzNCN0ZGMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjFcIiBzdG9wQ29sb3I9XCIjM0I4MEYyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk2OVwiIHN0b3BDb2xvcj1cIiMzQjgxRjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTc3XCIgc3RvcENvbG9yPVwiIzNDODFGNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45ODRcIiBzdG9wQ29sb3I9XCIjM0M4MkY1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI3MTY5OWMwOTkyXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTAgNS40NzNoMTEuNzczdjE4LjE0NEgxMHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjM5YzQ5NjUzNDRcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNTUgMjMuNDY5Yy0uMzc1IDAtLjc3LS4wNzgtMS4xMy0uMjY2LTEuMzEyLS42MTctMS44NzgtMi4xOTUtMS4yNTctMy40OTJsNi4wMzEtMTIuNzE1Yy42MTctMS4zMTIgMi4xOTYtMS44NzkgMy40OTItMS4yNTggMS4zMTcuNjIxIDEuODggMi4yIDEuMjU4IDMuNDkybC02LjAyNyAxMi43MTVjLS40MzQuOTc3LTEuMzcxIDEuNTI0LTIuMzY3IDEuNTI0em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGxpbmVhckdyYWRpZW50XG4gICAgICAgIGlkPVwiNWM0OTNlODQ1OVwiXG4gICAgICAgIHgxPVwiMTg4Ljk5NlwiXG4gICAgICAgIHgyPVwiMTMwLjc5M1wiXG4gICAgICAgIHkxPVwiLTAuMzIzXCJcbiAgICAgICAgeTI9XCIyMTQuNjkxXCJcbiAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoNC4zNTUgNS40NzkpIHNjYWxlKC4wOTE3NClcIlxuICAgICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMDhcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAxNlwiIHN0b3BDb2xvcj1cIiMxRTNCOEJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDIzXCIgc3RvcENvbG9yPVwiIzFGM0I4Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMzFcIiBzdG9wQ29sb3I9XCIjMUYzQzhEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAzOVwiIHN0b3BDb2xvcj1cIiMxRjNDOEVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDQ3XCIgc3RvcENvbG9yPVwiIzFGM0Q4RlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNTVcIiBzdG9wQ29sb3I9XCIjMjAzRTkwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA2M1wiIHN0b3BDb2xvcj1cIiMyMDNFOTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDdcIiBzdG9wQ29sb3I9XCIjMjAzRjkxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA3OFwiIHN0b3BDb2xvcj1cIiMyMDNGOTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDg2XCIgc3RvcENvbG9yPVwiIzIxNDA5M1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wOTRcIiBzdG9wQ29sb3I9XCIjMjE0MTk0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwMlwiIHN0b3BDb2xvcj1cIiMyMTQxOTVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTA5XCIgc3RvcENvbG9yPVwiIzIxNDI5NlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMTdcIiBzdG9wQ29sb3I9XCIjMjI0Mjk2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEyNVwiIHN0b3BDb2xvcj1cIiMyMjQzOTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTMzXCIgc3RvcENvbG9yPVwiIzIyNDM5OFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDFcIiBzdG9wQ29sb3I9XCIjMjQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE0OFwiIHN0b3BDb2xvcj1cIiMyMzQ1OUFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTVcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1NlwiIHN0b3BDb2xvcj1cIiMyMzQ1OUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTY0XCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNzJcIiBzdG9wQ29sb3I9XCIjMjM0NjlDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE4XCIgc3RvcENvbG9yPVwiIzIzNDc5RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xODhcIiBzdG9wQ29sb3I9XCIjMjQ0ODlFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE5NVwiIHN0b3BDb2xvcj1cIiMyNDQ4OUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjAzXCIgc3RvcENvbG9yPVwiIzI0NDlBMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTFcIiBzdG9wQ29sb3I9XCIjMjQ0OUExXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIxOVwiIHN0b3BDb2xvcj1cIiMyNTRBQTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjI3XCIgc3RvcENvbG9yPVwiIzI1NEFBMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMzRcIiBzdG9wQ29sb3I9XCIjMjU0QkEzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI0MlwiIHN0b3BDb2xvcj1cIiMyNTRDQTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjVcIiBzdG9wQ29sb3I9XCIjMjY0Q0E1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1OFwiIHN0b3BDb2xvcj1cIiMyNjREQTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjY2XCIgc3RvcENvbG9yPVwiIzI2NERBN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNzNcIiBzdG9wQ29sb3I9XCIjMjY0RUE4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4MVwiIHN0b3BDb2xvcj1cIiMyNzRFQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjg5XCIgc3RvcENvbG9yPVwiIzI3NEZBOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTdcIiBzdG9wQ29sb3I9XCIjMjc1MEFBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMwNVwiIHN0b3BDb2xvcj1cIiMyNzUwQUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzEzXCIgc3RvcENvbG9yPVwiIzI4NTFBQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMlwiIHN0b3BDb2xvcj1cIiMyODUxQURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzI4XCIgc3RvcENvbG9yPVwiIzI4NTJBRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMzZcIiBzdG9wQ29sb3I9XCIjMjg1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM0NFwiIHN0b3BDb2xvcj1cIiMyOTUzQUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzUyXCIgc3RvcENvbG9yPVwiIzI5NTRCMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTlcIiBzdG9wQ29sb3I9XCIjMjk1NEIxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM2N1wiIHN0b3BDb2xvcj1cIiMyOTU1QjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzc1XCIgc3RvcENvbG9yPVwiIzI5NTVCM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zODNcIiBzdG9wQ29sb3I9XCIjMkE1NkI0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5MVwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzk4XCIgc3RvcENvbG9yPVwiIzJBNTdCNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MDZcIiBzdG9wQ29sb3I9XCIjMkE1OEI2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQxNFwiIHN0b3BDb2xvcj1cIiMyQjU4QjdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDIyXCIgc3RvcENvbG9yPVwiIzJCNTlCOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40M1wiIHN0b3BDb2xvcj1cIiMyQjU5QjlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDM4XCIgc3RvcENvbG9yPVwiIzJCNUFCQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NDVcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ1M1wiIHN0b3BDb2xvcj1cIiMyQzVCQkJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDYxXCIgc3RvcENvbG9yPVwiIzJDNUNCQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjlcIiBzdG9wQ29sb3I9XCIjMkM1Q0JEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ3N1wiIHN0b3BDb2xvcj1cIiMyRDVEQkVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDg0XCIgc3RvcENvbG9yPVwiIzJENUVCRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40OTJcIiBzdG9wQ29sb3I9XCIjMkQ1RUMwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wQ29sb3I9XCIjMkQ1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUwOFwiIHN0b3BDb2xvcj1cIiMyRTVGQzFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTE2XCIgc3RvcENvbG9yPVwiIzJFNjBDMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MjNcIiBzdG9wQ29sb3I9XCIjMkU2MEMzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzMVwiIHN0b3BDb2xvcj1cIiMyRTYxQzRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTM5XCIgc3RvcENvbG9yPVwiIzJGNjJDNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NDdcIiBzdG9wQ29sb3I9XCIjMkY2MkM2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU1NVwiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTYzXCIgc3RvcENvbG9yPVwiIzJGNjNDN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41N1wiIHN0b3BDb2xvcj1cIiMyRjY0QzhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTc4XCIgc3RvcENvbG9yPVwiIzMwNjRDOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41ODZcIiBzdG9wQ29sb3I9XCIjMzA2NUNBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU5NFwiIHN0b3BDb2xvcj1cIiMzMDY2Q0JcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjAyXCIgc3RvcENvbG9yPVwiIzMwNjZDQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDlcIiBzdG9wQ29sb3I9XCIjMzE2N0NEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYxN1wiIHN0b3BDb2xvcj1cIiMzMTY3Q0RcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjI1XCIgc3RvcENvbG9yPVwiIzMxNjhDRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MzNcIiBzdG9wQ29sb3I9XCIjMzE2OUNGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0MVwiIHN0b3BDb2xvcj1cIiMzMjY5RDBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQ4XCIgc3RvcENvbG9yPVwiIzMyNkFEMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NTZcIiBzdG9wQ29sb3I9XCIjMzI2QUQyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY2NFwiIHN0b3BDb2xvcj1cIiMzMjZCRDNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjcyXCIgc3RvcENvbG9yPVwiIzMzNkJENFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OFwiIHN0b3BDb2xvcj1cIiMzMzZDRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjg4XCIgc3RvcENvbG9yPVwiIzMzNkRENVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OTVcIiBzdG9wQ29sb3I9XCIjMzM2REQ2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcwM1wiIHN0b3BDb2xvcj1cIiMzNDZFRDdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzExXCIgc3RvcENvbG9yPVwiIzM0NkVEOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MTlcIiBzdG9wQ29sb3I9XCIjMzQ2RkQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcyN1wiIHN0b3BDb2xvcj1cIiMzNDcwREFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzM0XCIgc3RvcENvbG9yPVwiIzM0NzBEQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NDJcIiBzdG9wQ29sb3I9XCIjMzU3MURCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc1XCIgc3RvcENvbG9yPVwiIzM1NzFEQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NThcIiBzdG9wQ29sb3I9XCIjMzU3MkREXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc2NlwiIHN0b3BDb2xvcj1cIiMzNTcyREVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzczXCIgc3RvcENvbG9yPVwiIzM2NzNERlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODFcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc4OVwiIHN0b3BDb2xvcj1cIiMzNjc0RTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzk3XCIgc3RvcENvbG9yPVwiIzM2NzVFMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MDVcIiBzdG9wQ29sb3I9XCIjMzc3NUUyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgxM1wiIHN0b3BDb2xvcj1cIiMzNzc2RTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODJcIiBzdG9wQ29sb3I9XCIjMzc3NkU0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyOFwiIHN0b3BDb2xvcj1cIiMzNzc3RTVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODM2XCIgc3RvcENvbG9yPVwiIzM4NzhFNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NDRcIiBzdG9wQ29sb3I9XCIjMzg3OEU2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg1XCIgc3RvcENvbG9yPVwiIzM4NzlFN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTJcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg1OVwiIHN0b3BDb2xvcj1cIiMzODc5RThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODY3XCIgc3RvcENvbG9yPVwiIzM5N0FFOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NzVcIiBzdG9wQ29sb3I9XCIjMzk3QkVBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg4M1wiIHN0b3BDb2xvcj1cIiMzOTdCRUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODkxXCIgc3RvcENvbG9yPVwiIzM5N0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44OThcIiBzdG9wQ29sb3I9XCIjM0E3Q0VDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkwNlwiIHN0b3BDb2xvcj1cIiMzQTdERURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTE0XCIgc3RvcENvbG9yPVwiIzNBN0RFRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MjJcIiBzdG9wQ29sb3I9XCIjM0E3RUVGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkzXCIgc3RvcENvbG9yPVwiIzNBN0ZGMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MzhcIiBzdG9wQ29sb3I9XCIjM0I3RkYxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk0NVwiIHN0b3BDb2xvcj1cIiMzQjgwRjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTUzXCIgc3RvcENvbG9yPVwiIzNCODBGMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjFcIiBzdG9wQ29sb3I9XCIjM0I4MUYzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk2OVwiIHN0b3BDb2xvcj1cIiMzQzgxRjRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wQ29sb3I9XCIjM0M4MkY1XCI+PC9zdG9wPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjhkMGM1M2JiMmNcIj5cbiAgICAgICAgPHBhdGggZD1cIk00LjM1NSA1LjQ3M0gxNnYxOC4xNDRINC4zNTV6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI4MDA3ZDZlZTBiXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDc0IDIzLjYyMWMtLjk4IDAtMS45NDEtLjU2Ni0yLjM5NC0xLjUxMkw0LjYyIDkuMzM2YTIuNjI4IDIuNjI4IDAgMDExLjI2Mi0zLjUwOEEyLjYzMiAyLjYzMiAwIDAxOS4zOTUgNy4wOWw2LjA1OCAxMi43NzNhMi42MzkgMi42MzkgMCAwMS0xLjI2NSAzLjUxMmMtLjM2LjE2OC0uNzM1LjI0Ni0xLjExNC4yNDZ6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8aW1hZ2VcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFVQ0FZQUFBQ0FsMjFLQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQWxVbEVRVlE0amEyVHdRcUVNQXdGUjEzdC83Ti9xdXpkaTRHYXRja0xLQlI4Z3ROTTJrekFGemlBdlZ1V2Y0alBERFJndTFaeitWTUJQUUg2WEs2b2NRZlkrMUlCUlhwTkJVVUF5M08xSXEvWGY1TXFHdjNjYnhCV2xSMi96NUthb2pkbGFxcmVzRmZxOGFkNnZ0a0s4TEdxVWJPejI1NVdwT3I5d2FKWkt3MXoxT3hNYi9PZ1YvVHMybGNCbGxjUFdrU2Q0VENmNDh3TkQycXZFbHdBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICA+PC9pbWFnZT5cbiAgICAgIDxtYXNrIGlkPVwiYzg4MmVhMzlhOFwiPlxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2JkZWYxNzBjMzkpXCI+XG4gICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFsVWxFUVZRNGphMlR3UXFFTUF3RlIxM3QvN04vcXV6ZGk0R2F0Y2tMS0JSOGd0Tk0ya3pBRnppQXZWdVdmNGpQRERSZ3UxWnorVk1CUFFINlhLNm9jUWZZKzFJQlJYcE5CVVVBeTNPMUlxL1hmNU1xR3YzY2J4QldsUjIvejVLYW9qZGxhcXJlc0ZmcThhZDZ2dGtLOExHcVViT3oyNTVXcE9yOXdhSlpLdzF6MU94TWIvT2dWL1RzMmxjQmxsY1BXa1NkNFRDZjQ4d05EMnF2RWx3QUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgICAgID48L2ltYWdlPlxuICAgICAgICA8L2c+XG4gICAgICA8L21hc2s+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI5NzkxZDVhMDlkXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMCAwSDE4VjIwSDB6XCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxwYXR0ZXJuXG4gICAgICAgIGlkPVwiZTZlN2VjMzkxZVwiXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwYXR0ZXJuVHJhbnNmb3JtPVwibWF0cml4KC45Njc3NCAwIDAgLS45Njc3NCA0LjM1NSAyNC4xMTYpXCJcbiAgICAgICAgcGF0dGVyblVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTggMjBcIlxuICAgICAgPlxuICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjOTc5MWQ1YTA5ZClcIiBtYXNrPVwidXJsKCNjODgyZWEzOWE4KVwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBmaWxsPVwiIzNjODJmNVwiXG4gICAgICAgICAgICBkPVwiTS0yNC45NiAtMTIuOUgxMDguOTU5OTk5OTk5OTk5OThWMzEuNzQwMDAwMDAwMDAwMDAySC0yNC45NnpcIlxuICAgICAgICAgID48L3BhdGg+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvcGF0dGVybj5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImI2MDgwYTY0YTVcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMCA1LjQ3M2gxMS43NzN2MTguMTQ0SDEwem0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiMmVjM2VjYmQxNFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjA1NSAyMy42MjFjLS4zNzUgMC0uNzc0LS4wNzgtMS4xMzMtLjI2Ni0xLjMyLS42Mi0xLjg4Ny0yLjIwNy0xLjI2Mi0zLjUwN0wxNi43MiA3LjA3NGMuNjItMS4zMjQgMi4yMDctMS44OSAzLjUwOC0xLjI2NSAxLjMyLjYyIDEuODg2IDIuMjA3IDEuMjY1IDMuNTA3TDE1LjQzNCAyMi4wOWMtLjQzNC45OC0xLjM4IDEuNTMxLTIuMzggMS41MzF6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8aW1hZ2VcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFVQ0FZQUFBQ0FsMjFLQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQWRrbEVRVlE0amIzUzBRckFJQWdGVUFmNy84L2RCclhhUzRFVEs2K09YWWhFNkJUU1JrU1Y1c2x0SmJHL2V2c0VrQWNocUtLQWhJb1g0TkFWQVRoMFJJQ3ZvYXhCRU5CckRya0FEcDBSUUw3b04yaDV5UW95ejIwRVFYOUlnMkNnMXhISS9MT1J1ZDBJcFBVS3RYaWdSRW9zRUsrSGVRRDJDVU5hdStBRDBRQUFBQUJKUlU1RXJrSmdnZz09XCJcbiAgICAgID48L2ltYWdlPlxuICAgICAgPG1hc2sgaWQ9XCJkN2RkYTFhMDYzXCI+XG4gICAgICAgIDxnIGZpbHRlcj1cInVybCgjYmRlZjE3MGMzOSlcIj5cbiAgICAgICAgICA8aW1hZ2VcbiAgICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFVQ0FZQUFBQ0FsMjFLQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQWRrbEVRVlE0amIzUzBRckFJQWdGVUFmNy84L2RCclhhUzRFVEs2K09YWWhFNkJUU1JrU1Y1c2x0SmJHL2V2c0VrQWNocUtLQWhJb1g0TkFWQVRoMFJJQ3ZvYXhCRU5CckRya0FEcDBSUUw3b04yaDV5UW95ejIwRVFYOUlnMkNnMXhISS9MT1J1ZDBJcFBVS3RYaWdSRW9zRUsrSGVRRDJDVU5hdStBRDBRQUFBQUJKUlU1RXJrSmdnZz09XCJcbiAgICAgICAgICA+PC9pbWFnZT5cbiAgICAgICAgPC9nPlxuICAgICAgPC9tYXNrPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiYzg3YzE4YjZjOFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTAgMEgxOFYyMEgwelwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8cGF0dGVyblxuICAgICAgICBpZD1cImY4YzQyZDk3NzRcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgcGF0dGVyblRyYW5zZm9ybT1cIm1hdHJpeCguOTY3NzQgMCAwIC0uOTY3NzQgNC4zNTUgMjQuMTE2KVwiXG4gICAgICAgIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDIwXCJcbiAgICAgID5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2M4N2MxOGI2YzgpXCIgbWFzaz1cInVybCgjZDdkZGExYTA2MylcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIiMzYzgyZjVcIlxuICAgICAgICAgICAgZD1cIk0tMjQuOTYgLTEyLjlIMTA4Ljk1OTk5OTk5OTk5OTk4VjMxLjc0MDAwMDAwMDAwMDAwMkgtMjQuOTZ6XCJcbiAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L3BhdHRlcm4+XG4gICAgPC9kZWZzPlxuICAgIDxnIGNsaXBQYXRoPVwidXJsKCNhZTg1ZjVhNDdkKVwiPlxuICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzk0Nzk0OTNhNDIpXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbD1cInVybCgjOTBhNTRmZWJlYylcIlxuICAgICAgICAgIGQ9XCJNNC4zNTUgNS40NzN2MTcuOTk2SDE2LjA2VjUuNDczem0wIDBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjNzE2OTljMDk5MilcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCMzOWM0OTY1MzQ0KVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoIzVjNDkzZTg0NTkpXCJcbiAgICAgICAgICBkPVwiTTEwLjA0NyA1LjQ3M3YxNy45OTZoMTEuNzI2VjUuNDczem0wIDBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk01Ljc2Ni4xNzJjLTEuMDI0IDAtMS45MTQtLjIxOS0yLjY3Mi0uNjU2YTQuNzgzIDQuNzgzIDAgMDEtMS43OTctMS44NmMtLjQzLS43ODktLjY0LTEuNzA3LS42NC0yLjc1IDAtMS4wMzEuMjEtMS45NDEuNjQtMi43MzRhNC44MzcgNC44MzcgMCAwMTEuNzk3LTEuODZjLjc1OC0uNDQ1IDEuNjQ4LS42NzEgMi42NzItLjY3MSAxIDAgMS44ODIuMjI2IDIuNjU2LjY3MS43Ny40NSAxLjM2NyAxLjA3IDEuNzk3IDEuODYuNDI2Ljc5My42NCAxLjcwMy42NCAyLjczNCAwIDEuMDQzLS4yMTQgMS45NjEtLjY0IDIuNzVhNC42NzcgNC42NzcgMCAwMS0xLjc5NyAxLjg2Yy0uNzc0LjQzNy0xLjY1Ni42NTYtMi42NTYuNjU2em0wLTEuNjcyYy45NjggMCAxLjczOC0uMzE2IDIuMzEyLS45NTMuNTgyLS42NDUuODc1LTEuNTI0Ljg3NS0yLjY0IDAtMS4xMTQtLjI5My0xLjk4OS0uODc1LTIuNjI2LS41NzQtLjY0NC0xLjM0NC0uOTY4LTIuMzEyLS45NjgtLjk3IDAtMS43NDYuMzI0LTIuMzI5Ljk2OC0uNTg1LjYzNy0uODc0IDEuNTEyLS44NzQgMi42MjUgMCAxLjExNy4yODkgMS45OTYuODc0IDIuNjQuNTgzLjYzOCAxLjM2Ljk1NCAyLjMyOS45NTR6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjQuNjM2IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjY1Ni4xNzJjLS45MDYgMC0xLjYwNS0uMjgxLTIuMDk0LS44NDRDMS4wNy0xLjIzNC44MjktMi4wNTUuODI5LTMuMTR2LTQuMDc4aDEuODQ0djMuOTA3YzAgLjYxNy4xMjUgMS4wOS4zNzUgMS40MjEuMjU4LjMzNi42Ni41IDEuMjAzLjUuNTA4IDAgLjkzLS4xOCAxLjI2Ni0uNTQ2LjMzMi0uMzc1LjUtLjg5MS41LTEuNTQ3Vi03LjIySDcuODlWMEg2LjIzNGwtLjE0LTEuMjE5YTIuNDUgMi40NSAwIDAxLS45NjkgMS4wMTZjLS40MTguMjUtLjkwNi4zNzUtMS40NjkuMzc1em0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDM1LjExNCAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNLjk1MyAwdi03LjIxOUgyLjYxbC4xNzIgMS4zNmEyLjkyOSAyLjkyOSAwIDAxMS4wNjMtMS4xMWMuNDU3LS4yODEuOTg4LS40MjIgMS41OTQtLjQyMnYxLjk3aC0uNTE2YTMgMyAwIDAwLTEuMDk0LjE4NyAxLjQzIDEuNDMgMCAwMC0uNzUuNjU2Yy0uMTguMzEyLS4yNjUuNzQ2LS4yNjUgMS4yOTdWMHptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0Mi45MzIgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTMuOTM4IDBMLjIxNy0xMC4xODhoMmwyLjg3NiA4LjI4MiAyLjg5LTguMjgxaDEuOTdMNi4yMTggMHptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0Ny42NyAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNNC40NTMuMTcyYy0uNzMgMC0xLjM3NS0uMTUyLTEuOTM3LS40NTNhMy40MDQgMy40MDQgMCAwMS0xLjMyOS0xLjMxM0MuODc1LTIuMTU2LjcyLTIuODA0LjcyLTMuNTQ3YzAtLjc1LjE1Ni0xLjQxNC40NjktMmEzLjM5NyAzLjM5NyAwIDAxMS4yOTYtMS4zNmMuNTYzLS4zMiAxLjIyMy0uNDg0IDEuOTg1LS40ODQuNzA3IDAgMS4zMzIuMTU3IDEuODc1LjQ3LjUzOS4zMTIuOTYuNzQxIDEuMjY1IDEuMjguMzEzLjUzMi40NyAxLjEyNS40NyAxLjc4MiAwIC4xMTctLjAwOS4yMy0uMDE3LjM0MyAwIC4xMTgtLjAwNy4yMzUtLjAxNS4zNkgyLjU2MmMuMDQuNTYyLjIzOSAxLjAwOC41OTQgMS4zMjguMzUyLjMxMi43ODEuNDY5IDEuMjgxLjQ2OS4zNzUgMCAuNjkyLS4wODIuOTU0LS4yNS4yNTctLjE2NC40NTMtLjM4My41NzgtLjY1N2gxLjg5QTMuNDQ3IDMuNDQ3IDAgMDE2LjAxNS0uMTRhMy43NyAzLjc3IDAgMDEtMS41NjIuMzEzem0uMDE2LTYuMDQ3Yy0uNDYxIDAtLjg2Ny4xMzMtMS4yMTkuMzktLjM0NC4yNS0uNTYzLjYzNy0uNjU2IDEuMTU3aDMuNTk0Yy0uMDMyLS40NjktLjIxMS0uODQ0LS41MzItMS4xMjUtLjMyNC0uMjgxLS43MTgtLjQyMi0xLjE4Ny0uNDIyem0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2LjgxMSAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNLjk1MyAwdi03LjIxOUgyLjYxbC4xNzIgMS4zNmEyLjkyOSAyLjkyOSAwIDAxMS4wNjMtMS4xMWMuNDU3LS4yODEuOTg4LS40MjIgMS41OTQtLjQyMnYxLjk3aC0uNTE2YTMgMyAwIDAwLTEuMDk0LjE4NyAxLjQzIDEuNDMgMCAwMC0uNzUuNjU2Yy0uMTguMzEyLS4yNjUuNzQ2LS4yNjUgMS4yOTdWMHptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2NC40ODQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTMuOTIyLjE3MmMtLjYzNyAwLTEuMi0uMTA2LTEuNjg4LS4zMTMtLjQ4LS4yMDctLjg2Ny0uNDkyLTEuMTU2LS44NTlhMi41OCAyLjU4IDAgMDEtLjUzMS0xLjI4MWgxLjg3NWMuMDYyLjI4MS4yMTkuNTIzLjQ2OS43MTkuMjU3LjE5OS41OTcuMjk2IDEuMDE1LjI5Ni40MDYgMCAuNzAzLS4wODIuODktLjI1LjE4OC0uMTY0LjI4Mi0uMzUxLjI4Mi0uNTYyIDAtLjMxMy0uMTM3LS41Mi0uNDA2LS42MjVhNy45OTQgNy45OTQgMCAwMC0xLjE0LS4zNDQgMTEuMjggMTEuMjggMCAwMS0uOTU0LS4yMzQgNS4wNDQgNS4wNDQgMCAwMS0uODc1LS4zNzUgMi4wODEgMi4wODEgMCAwMS0uNjQtLjU3OGMtLjE2OC0uMjM5LS4yNS0uNTM2LS4yNS0uODkxIDAtLjYzMy4yNTMtMS4xNzIuNzY1LTEuNjEuNTA4LS40MzcgMS4yMjMtLjY1NiAyLjE0LS42NTYuODUyIDAgMS41MzYuMiAyLjA0OC41OTQuNTA3LjM5OS44MTIuOTQ1LjkwNiAxLjY0aC0xLjc1Yy0uMTE3LS41My0uNTI0LS43OTYtMS4yMTktLjc5Ni0uMzQ0IDAtLjYxLjA3LS43OTcuMjAzLS4xODcuMTM3LS4yODEuMzA5LS4yODEuNTE2IDAgLjIxLjE0LjM4Mi40MjIuNTE1LjI4MS4xMjUuNjQ4LjI0MiAxLjExLjM0NC41MDcuMTE3Ljk3Mi4yNDYgMS4zOS4zOS40MjYuMTM3Ljc2Ni4zNDQgMS4wMTYuNjI2LjI1LjI3My4zNzUuNjY0LjM3NSAxLjE3MS4wMDcuNDUtLjExLjg1Ni0uMzYgMS4yMi0uMjQyLjM1NS0uNTkuNjM2LTEuMDQ3Ljg0My0uNDQ5LjE5NS0uOTg0LjI5Ny0xLjYxLjI5N3ptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2OS4yMjIgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTQuNDUzLjE3MmMtLjczIDAtMS4zNzUtLjE1Mi0xLjkzNy0uNDUzYTMuNDA0IDMuNDA0IDAgMDEtMS4zMjktMS4zMTNDLjg3NS0yLjE1Ni43Mi0yLjgwNC43Mi0zLjU0N2MwLS43NS4xNTYtMS40MTQuNDY5LTJhMy4zOTcgMy4zOTcgMCAwMTEuMjk2LTEuMzZjLjU2My0uMzIgMS4yMjMtLjQ4NCAxLjk4NS0uNDg0LjcwNyAwIDEuMzMyLjE1NyAxLjg3NS40Ny41MzkuMzEyLjk2Ljc0MSAxLjI2NSAxLjI4LjMxMy41MzIuNDcgMS4xMjUuNDcgMS43ODIgMCAuMTE3LS4wMDkuMjMtLjAxNy4zNDMgMCAuMTE4LS4wMDcuMjM1LS4wMTUuMzZIMi41NjJjLjA0LjU2Mi4yMzkgMS4wMDguNTk0IDEuMzI4LjM1Mi4zMTIuNzgxLjQ2OSAxLjI4MS40NjkuMzc1IDAgLjY5Mi0uMDgyLjk1NC0uMjUuMjU3LS4xNjQuNDUzLS4zODMuNTc4LS42NTdoMS44OUEzLjQ0NyAzLjQ0NyAwIDAxNi4wMTUtLjE0YTMuNzcgMy43NyAwIDAxLTEuNTYyLjMxM3ptLjAxNi02LjA0N2MtLjQ2MSAwLS44NjcuMTMzLTEuMjE5LjM5LS4zNDQuMjUtLjU2My42MzctLjY1NiAxLjE1N2gzLjU5NGMtLjAzMi0uNDY5LS4yMTEtLjg0NC0uNTMyLTEuMTI1LS4zMjQtLjI4MS0uNzE4LS40MjItMS4xODctLjQyMnptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3NS44MzQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxnIGNsaXBQYXRoPVwidXJsKCM4ZDBjNTNiYjJjKVwiPlxuICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzgwMDdkNmVlMGIpXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbD1cInVybCgjZTZlN2VjMzkxZSlcIlxuICAgICAgICAgIGQ9XCJNNC4zNTUgNS40NzNoMTEuNzJ2MTguMTQ0SDQuMzU0em0wIDBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjYjYwODBhNjRhNSlcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCMyZWMzZWNiZDE0KVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoI2Y4YzQyZDk3NzQpXCJcbiAgICAgICAgICBkPVwiTTEwLjAzNSA1LjQ3M2gxMS43Mzh2MTguMTQ0SDEwLjAzNXptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuICApXG59XG4iXSwibmFtZXMiOlsiTG9nbyIsInByb3BzIiwic3ZnIiwieG1sbnMiLCJ4bWxuc1hsaW5rIiwid2lkdGgiLCJoZWlnaHQiLCJ2ZXJzaW9uIiwidmlld0JveCIsImRlZnMiLCJmaWx0ZXIiLCJpZCIsIngiLCJ5IiwiZmVDb2xvck1hdHJpeCIsImNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnMiLCJ2YWx1ZXMiLCJjbGlwUGF0aCIsInBhdGgiLCJkIiwibGluZWFyR3JhZGllbnQiLCJ4MSIsIngyIiwieTEiLCJ5MiIsImdyYWRpZW50VHJhbnNmb3JtIiwiZ3JhZGllbnRVbml0cyIsInN0b3AiLCJvZmZzZXQiLCJzdG9wQ29sb3IiLCJpbWFnZSIsInByZXNlcnZlQXNwZWN0UmF0aW8iLCJ4bGlua0hyZWYiLCJtYXNrIiwiZyIsInBhdHRlcm4iLCJwYXR0ZXJuVHJhbnNmb3JtIiwicGF0dGVyblVuaXRzIiwiZmlsbCIsInRyYW5zZm9ybSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Logo.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar assign = Object.assign;\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\nvar didWarnAboutKeySpread = {};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV$1(type, config, maybeKey, isStaticChildren, source, self) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n var children = config.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n } // Warn about key spread regardless of whether the type is valid.\n\n\n if (hasOwnProperty.call(config, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref')) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n var element = ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar jsxDEV = jsxDEV$1 ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxzR0FBMEI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBLHFFQUFxRTs7QUFFckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0dBQWtHOztBQUVsRztBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLGVBQWU7QUFDMUIsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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QUFXLGNBQWM7QUFDekI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixpQkFBaUI7QUFDckM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz82ZDBkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdFwiKTtcblxuLy8gQVRURU5USU9OXG4vLyBXaGVuIGFkZGluZyBuZXcgc3ltYm9scyB0byB0aGlzIGZpbGUsXG4vLyBQbGVhc2UgY29uc2lkZXIgYWxzbyBhZGRpbmcgdG8gJ3JlYWN0LWRldnRvb2xzLXNoYXJlZC9zcmMvYmFja2VuZC9SZWFjdFN5bWJvbHMnXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy5cbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50Jyk7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKTtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKTtcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTsgLy8gVE9ETzogRGVsZXRlIHdpdGggZW5hYmxlUmVuZGVyYWJsZUNvbnRleHRcblxudmFyIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb25zdW1lcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0NBQ0hFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jYWNoZScpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG52YXIgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgPSBmYWxzZTtcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59XG5cbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIgPSBTeW1ib2wuZm9yKCdyZWFjdC5jbGllbnQucmVmZXJlbmNlJyk7IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMikge1xuICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgY29udmVudGlvbiBmb3IgbmFtaW5nIGNsaWVudCByZWZlcmVuY2VzIHdpdGggZGVidWcgaW5mby5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICAgIGNhc2UgUkVBQ1RfQ0FDSEVfVFlQRTpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuICdDYWNoZSc7XG4gICAgICB9XG5cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcblxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICB2YXIgb3V0ZXJOYW1lID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChvdXRlck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gb3V0ZXJOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdNZW1vJztcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGluaXQocGF5bG9hZCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuXG5cbmZ1bmN0aW9uIHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSB7XG4gIHtcbiAgICB0cnkge1xuICAgICAgdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIC8vIElmIHlvdSBlbmRlZCB1cCBoZXJlIGJ5IGZvbGxvd2luZyBhbiBleGNlcHRpb24gY2FsbCBzdGFjaywgaGVyZSdzIHdoYXQnc1xuICAvLyBoYXBwZW5lZDogeW91IHN1cHBsaWVkIGFuIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gUmVhY3QgKGFzIGEgcHJvcCwga2V5LFxuICAvLyBET00gYXR0cmlidXRlLCBDU1MgcHJvcGVydHksIHN0cmluZyByZWYsIGV0Yy4pIGFuZCB3aGVuIFJlYWN0IHRyaWVkIHRvXG4gIC8vIGNvZXJjZSBpdCB0byBhIHN0cmluZyB1c2luZyBgJycgKyB2YWx1ZWAsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duLlxuICAvL1xuICAvLyBUaGUgbW9zdCBjb21tb24gdHlwZXMgdGhhdCB3aWxsIGNhdXNlIHRoaXMgZXhjZXB0aW9uIGFyZSBgU3ltYm9sYCBpbnN0YW5jZXNcbiAgLy8gYW5kIFRlbXBvcmFsIG9iamVjdHMgbGlrZSBgVGVtcG9yYWwuSW5zdGFudGAuIEJ1dCBhbnkgb2JqZWN0IHRoYXQgaGFzIGFcbiAgLy8gYHZhbHVlT2ZgIG9yIGBbU3ltYm9sLnRvUHJpbWl0aXZlXWAgbWV0aG9kIHRoYXQgdGhyb3dzIHdpbGwgYWxzbyBjYXVzZSB0aGlzXG4gIC8vIGV4Y2VwdGlvbi4gKExpYnJhcnkgYXV0aG9ycyBkbyB0aGlzIHRvIHByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyBidWlsdC1pblxuICAvLyBudW1lcmljIG9wZXJhdG9ycyBsaWtlIGArYCBvciBjb21wYXJpc29uIG9wZXJhdG9ycyBsaWtlIGA+PWAgYmVjYXVzZSBjdXN0b21cbiAgLy8gbWV0aG9kcyBhcmUgbmVlZGVkIHRvIHBlcmZvcm0gYWNjdXJhdGUgYXJpdGhtZXRpYyBvciBjb21wYXJpc29uLilcbiAgLy9cbiAgLy8gVG8gZml4IHRoZSBwcm9ibGVtLCBjb2VyY2UgdGhpcyBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nIGJlZm9yZVxuICAvLyBwYXNzaW5nIGl0IHRvIFJlYWN0LiBUaGUgbW9zdCByZWxpYWJsZSB3YXkgaXMgdXN1YWxseSBgU3RyaW5nKHZhbHVlKWAuXG4gIC8vXG4gIC8vIFRvIGZpbmQgd2hpY2ggdmFsdWUgaXMgdGhyb3dpbmcsIGNoZWNrIHRoZSBicm93c2VyIG9yIGRlYnVnZ2VyIGNvbnNvbGUuXG4gIC8vIEJlZm9yZSB0aGlzIGV4Y2VwdGlvbiB3YXMgdGhyb3duLCB0aGVyZSBzaG91bGQgYmUgYGNvbnNvbGUuZXJyb3JgIG91dHB1dFxuICAvLyB0aGF0IHNob3dzIHRoZSB0eXBlIChTeW1ib2wsIFRlbXBvcmFsLlBsYWluRGF0ZSwgZXRjLikgdGhhdCBjYXVzZWQgdGhlXG4gIC8vIHByb2JsZW0gYW5kIGhvdyB0aGF0IHR5cGUgd2FzIHVzZWQ6IGtleSwgYXRycmlidXRlLCBpbnB1dCB2YWx1ZSBwcm9wLCBldGMuXG4gIC8vIEluIG1vc3QgY2FzZXMsIHRoaXMgY29uc29sZSBvdXRwdXQgYWxzbyBzaG93cyB0aGUgY29tcG9uZW50IGFuZCBpdHNcbiAgLy8gYW5jZXN0b3IgY29tcG9uZW50cyB3aGVyZSB0aGUgZXhjZXB0aW9uIGhhcHBlbmVkLlxuICAvL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBjaGVja0tleVN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQxID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vLyBIZWxwZXJzIHRvIHBhdGNoIGNvbnNvbGUubG9ncyB0byBhdm9pZCBsb2dnaW5nIGR1cmluZyBzaWRlLWVmZmVjdCBmcmVlXG4vLyByZXBsYXlpbmcgb24gcmVuZGVyIGZ1bmN0aW9uLiBUaGlzIGN1cnJlbnRseSBvbmx5IHBhdGNoZXMgdGhlIG9iamVjdFxuLy8gbGF6aWx5IHdoaWNoIHdvbid0IGNvdmVyIGlmIHRoZSBsb2cgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBlYWdlcmx5LlxuLy8gV2UgY291bGQgYWxzbyBlYWdlcmx5IHBhdGNoIHRoZSBtZXRob2QuXG52YXIgZGlzYWJsZWREZXB0aCA9IDA7XG52YXIgcHJldkxvZztcbnZhciBwcmV2SW5mbztcbnZhciBwcmV2V2FybjtcbnZhciBwcmV2RXJyb3I7XG52YXIgcHJldkdyb3VwO1xudmFyIHByZXZHcm91cENvbGxhcHNlZDtcbnZhciBwcmV2R3JvdXBFbmQ7XG5cbmZ1bmN0aW9uIGRpc2FibGVkTG9nKCkge31cblxuZGlzYWJsZWRMb2cuX19yZWFjdERpc2FibGVkTG9nID0gdHJ1ZTtcbmZ1bmN0aW9uIGRpc2FibGVMb2dzKCkge1xuICB7XG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgcHJldkxvZyA9IGNvbnNvbGUubG9nO1xuICAgICAgcHJldkluZm8gPSBjb25zb2xlLmluZm87XG4gICAgICBwcmV2V2FybiA9IGNvbnNvbGUud2FybjtcbiAgICAgIHByZXZFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICBwcmV2R3JvdXAgPSBjb25zb2xlLmdyb3VwO1xuICAgICAgcHJldkdyb3VwQ29sbGFwc2VkID0gY29uc29sZS5ncm91cENvbGxhcHNlZDtcbiAgICAgIHByZXZHcm91cEVuZCA9IGNvbnNvbGUuZ3JvdXBFbmQ7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTkwOTlcblxuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBkaXNhYmxlZExvZyxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cbi8qKlxuICogTGV2ZXJhZ2VzIG5hdGl2ZSBicm93c2VyL1ZNIHN0YWNrIGZyYW1lcyB0byBnZXQgcHJvcGVyIGRldGFpbHMgKGUuZy5cbiAqIGZpbGVuYW1lLCBsaW5lICsgY29sIG51bWJlcikgZm9yIGEgc2luZ2xlIGNvbXBvbmVudCBpbiBhIGNvbXBvbmVudCBzdGFjay4gV2VcbiAqIGRvIHRoaXMgYnk6XG4gKiAgICgxKSB0aHJvd2luZyBhbmQgY2F0Y2hpbmcgYW4gZXJyb3IgaW4gdGhlIGZ1bmN0aW9uIC0gdGhpcyB3aWxsIGJlIG91clxuICogICAgICAgY29udHJvbCBlcnJvci5cbiAqICAgKDIpIGNhbGxpbmcgdGhlIGNvbXBvbmVudCB3aGljaCB3aWxsIGV2ZW50dWFsbHkgdGhyb3cgYW4gZXJyb3IgdGhhdCB3ZSdsbFxuICogICAgICAgY2F0Y2ggLSB0aGlzIHdpbGwgYmUgb3VyIHNhbXBsZSBlcnJvci5cbiAqICAgKDMpIGRpZmZpbmcgdGhlIGNvbnRyb2wgYW5kIHNhbXBsZSBlcnJvciBzdGFja3MgdG8gZmluZCB0aGUgc3RhY2sgZnJhbWVcbiAqICAgICAgIHdoaWNoIHJlcHJlc2VudHMgb3VyIGNvbXBvbmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cbiAgLyoqXG4gICAqIEZpbmRpbmcgYSBjb21tb24gc3RhY2sgZnJhbWUgYmV0d2VlbiBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGNhbiBiZVxuICAgKiB0cmlja3kgZ2l2ZW4gdGhlIGRpZmZlcmVudCB0eXBlcyBhbmQgbGV2ZWxzIG9mIHN0YWNrIHRyYWNlIHRydW5jYXRpb24gZnJvbVxuICAgKiBkaWZmZXJlbnQgSlMgVk1zLiBTbyBpbnN0ZWFkIHdlJ2xsIGF0dGVtcHQgdG8gY29udHJvbCB3aGF0IHRoYXQgY29tbW9uXG4gICAqIGZyYW1lIHNob3VsZCBiZSB0aHJvdWdoIHRoaXMgb2JqZWN0IG1ldGhvZDpcbiAgICogSGF2aW5nIGJvdGggdGhlIHNhbXBsZSBhbmQgY29udHJvbCBlcnJvcnMgYmUgaW4gdGhlIGZ1bmN0aW9uIHVuZGVyIHRoZVxuICAgKiBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIHByb3BlcnR5LCArIHNldHRpbmcgdGhlIGBuYW1lYCBhbmRcbiAgICogYGRpc3BsYXlOYW1lYCBwcm9wZXJ0aWVzIG9mIHRoZSBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYSBzdGFja1xuICAgKiBmcmFtZSBleGlzdHMgdGhhdCBoYXMgdGhlIG1ldGhvZCBuYW1lIGBEZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lUm9vdGAgaW5cbiAgICogaXQgZm9yIGJvdGggY29udHJvbCBhbmQgc2FtcGxlIHN0YWNrcy5cbiAgICovXG5cblxuICB2YXIgUnVuSW5Sb290RnJhbWUgPSB7XG4gICAgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290OiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgY29udHJvbDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgICAgICAvLyBTb21ldGhpbmcgc2hvdWxkIGJlIHNldHRpbmcgdGhlIHByb3BzIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGYWtlLnByb3RvdHlwZSwgJ3Byb3BzJywge1xuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHdvbid0IHRocm93IGluIGEgbm9uLXN0cmljdCBtb2RlIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAgICAgLy8gZnJhbWVzIGFkZGVkIGJ5IHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KGZuLCBbXSwgRmFrZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIEZha2UuY2FsbCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICAgICAgICBmbi5jYWxsKEZha2UucHJvdG90eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgfSAvLyBUT0RPKGx1bmEpOiBUaGlzIHdpbGwgY3VycmVudGx5IG9ubHkgdGhyb3cgaWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgICAgICAgIC8vIHRyaWVzIHRvIGFjY2VzcyBSZWFjdC9SZWFjdERPTS9wcm9wcy4gV2Ugc2hvdWxkIHByb2JhYmx5IG1ha2UgdGhpcyB0aHJvd1xuICAgICAgICAgIC8vIGluIHNpbXBsZSBjb21wb25lbnRzIHRvb1xuXG5cbiAgICAgICAgICB2YXIgbWF5YmVQcm9taXNlID0gZm4oKTsgLy8gSWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudCByZXR1cm5zIGEgcHJvbWlzZSwgaXQncyBsaWtlbHkgYW4gYXN5bmNcbiAgICAgICAgICAvLyBjb21wb25lbnQsIHdoaWNoIHdlIGRvbid0IHlldCBzdXBwb3J0LiBBdHRhY2ggYSBub29wIGNhdGNoIGhhbmRsZXIgdG9cbiAgICAgICAgICAvLyBzaWxlbmNlIHRoZSBlcnJvci5cbiAgICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgY29tcG9uZW50IHN0YWNrcyBmb3IgYXN5bmMgY2xpZW50IGNvbXBvbmVudHM/XG5cbiAgICAgICAgICBpZiAobWF5YmVQcm9taXNlICYmIHR5cGVvZiBtYXliZVByb21pc2UuY2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1heWJlUHJvbWlzZS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChzYW1wbGUpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICAgICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIFtzYW1wbGUuc3RhY2ssIGNvbnRyb2wuc3RhY2tdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuICB9OyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuICBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWUgPSAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JztcbiAgdmFyIG5hbWVQcm9wRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCAnbmFtZScpOyAvLyBCZWZvcmUgRVM2LCB0aGUgYG5hbWVgIHByb3BlcnR5IHdhcyBub3QgY29uZmlndXJhYmxlLlxuXG4gIGlmIChuYW1lUHJvcERlc2NyaXB0b3IgJiYgbmFtZVByb3BEZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIC8vIFY4IHV0aWxpemVzIGEgZnVuY3Rpb24ncyBgbmFtZWAgcHJvcGVydHkgd2hlbiBnZW5lcmF0aW5nIGEgc3RhY2sgdHJhY2UuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgLy8gQ29uZmlndXJhYmxlIHByb3BlcnRpZXMgY2FuIGJlIHVwZGF0ZWQgZXZlbiBpZiBpdHMgd3JpdGFibGUgZGVzY3JpcHRvclxuICAgIC8vIGlzIHNldCB0byBgZmFsc2VgLlxuICAgIC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXVxuICAgICduYW1lJywge1xuICAgICAgdmFsdWU6ICdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnXG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIHZhciBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPSBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxcbiAgICAgICAgc2FtcGxlU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMF0sXG4gICAgICAgIGNvbnRyb2xTdGFjayA9IF9SdW5JblJvb3RGcmFtZSREZXRlclsxXTtcblxuICAgIGlmIChzYW1wbGVTdGFjayAmJiBjb250cm9sU3RhY2spIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZVN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBjb250cm9sTGluZXMgPSBjb250cm9sU3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgdmFyIGMgPSAwO1xuXG4gICAgICB3aGlsZSAocyA8IHNhbXBsZUxpbmVzLmxlbmd0aCAmJiAhc2FtcGxlTGluZXNbc10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIHMrKztcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKGMgPCBjb250cm9sTGluZXMubGVuZ3RoICYmICFjb250cm9sTGluZXNbY10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIGMrKztcbiAgICAgIH0gLy8gV2UgY291bGRuJ3QgZmluZCBvdXIgaW50ZW50aW9uYWxseSBpbmplY3RlZCBjb21tb24gcm9vdCBmcmFtZSwgYXR0ZW1wdFxuICAgICAgLy8gdG8gZmluZCBhbm90aGVyIGNvbW1vbiByb290IGZyYW1lIGJ5IHNlYXJjaCBmcm9tIHRoZSBib3R0b20gb2YgdGhlXG4gICAgICAvLyBjb250cm9sIHN0YWNrLi4uXG5cblxuICAgICAgaWYgKHMgPT09IHNhbXBsZUxpbmVzLmxlbmd0aCB8fCBjID09PSBjb250cm9sTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgICBjID0gY29udHJvbExpbmVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAgIC8vIFR5cGljYWxseSB0aGlzIHdpbGwgYmUgdGhlIHJvb3QgbW9zdCBvbmUuIEhvd2V2ZXIsIHN0YWNrIGZyYW1lcyBtYXkgYmVcbiAgICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYW5kIHRoZXJlIGZvciBjdXQgb2ZmIGVhcmxpZXIuIFNvIHdlIHNob3VsZCBmaW5kIHRoZSByb290IG1vc3QgZnJhbWUgaW5cbiAgICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgICBjLS07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICg7IHMgPj0gMSAmJiBjID49IDA7IHMtLSwgYy0tKSB7XG4gICAgICAgIC8vIE5leHQgd2UgZmluZCB0aGUgZmlyc3Qgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgd2hpY2ggc2hvdWxkIGJlIHRoZVxuICAgICAgICAvLyBmcmFtZSB0aGF0IGNhbGxlZCBvdXIgc2FtcGxlIGZ1bmN0aW9uIGFuZCB0aGUgY29udHJvbC5cbiAgICAgICAgaWYgKHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBJbiBWOCwgdGhlIGZpcnN0IGxpbmUgaXMgZGVzY3JpYmluZyB0aGUgbWVzc2FnZSBidXQgb3RoZXIgVk1zIGRvbid0LlxuICAgICAgICAgIC8vIElmIHdlJ3JlIGFib3V0IHRvIHJldHVybiB0aGUgZmlyc3QgbGluZSwgYW5kIHRoZSBjb250cm9sIGlzIGFsc28gb24gdGhlIHNhbWVcbiAgICAgICAgICAvLyBsaW5lLCB0aGF0J3MgYSBwcmV0dHkgZ29vZCBpbmRpY2F0b3IgdGhhdCBvdXIgc2FtcGxlIHRocmV3IGF0IHNhbWUgbGluZSBhc1xuICAgICAgICAgIC8vIHRoZSBjb250cm9sLiBJLmUuIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSBzYW1wbGUgZnJhbWUuIFNvIHdlIGlnbm9yZSB0aGlzIHJlc3VsdC5cbiAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgeW91IHBhc3NlZCBhIGNsYXNzIHRvIGZ1bmN0aW9uIGNvbXBvbmVudCwgb3Igbm9uLWZ1bmN0aW9uLlxuICAgICAgICAgIGlmIChzICE9PSAxIHx8IGMgIT09IDEpIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgcy0tO1xuICAgICAgICAgICAgICBjLS07IC8vIFdlIG1heSBzdGlsbCBoYXZlIHNpbWlsYXIgaW50ZXJtZWRpYXRlIGZyYW1lcyBmcm9tIHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgICAgLy8gVGhlIG5leHQgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgc2hvdWxkIGJlIG91ciBtYXRjaCB0aG91Z2guXG5cbiAgICAgICAgICAgICAgaWYgKGMgPCAwIHx8IHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAgICAgICAvLyBWOCBhZGRzIGEgXCJuZXdcIiBwcmVmaXggZm9yIG5hdGl2ZSBjbGFzc2VzLiBMZXQncyByZW1vdmUgaXQgdG8gbWFrZSBpdCBwcmV0dGllci5cbiAgICAgICAgICAgICAgICB2YXIgX2ZyYW1lID0gJ1xcbicgKyBzYW1wbGVMaW5lc1tzXS5yZXBsYWNlKCcgYXQgbmV3ICcsICcgYXQgJyk7IC8vIElmIG91ciBjb21wb25lbnQgZnJhbWUgaXMgbGFiZWxlZCBcIjxhbm9ueW1vdXM+XCJcbiAgICAgICAgICAgICAgICAvLyBidXQgd2UgaGF2ZSBhIHVzZXItcHJvdmlkZWQgXCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgICAgLy8gc3BsaWNlIGl0IGluIHRvIG1ha2UgdGhlIHN0YWNrIG1vcmUgcmVhZGFibGUuXG5cblxuICAgICAgICAgICAgICAgIGlmIChmbi5kaXNwbGF5TmFtZSAmJiBfZnJhbWUuaW5jbHVkZXMoJzxhbm9ueW1vdXM+JykpIHtcbiAgICAgICAgICAgICAgICAgIF9mcmFtZSA9IF9mcmFtZS5yZXBsYWNlKCc8YW5vbnltb3VzPicsIGZuLmRpc3BsYXlOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duO1xudmFyIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG5cbntcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZFJlZihjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ3JlZicpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdyZWYnKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLnJlZiAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdrZXknKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpLCBjb25maWcucmVmKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBga2V5YCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ2tleScsIHtcbiAgICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB7XG4gICAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nUmVmID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAncmVmJywge1xuICAgICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFJlYWN0IGVsZW1lbnQuIFRoaXMgbm8gbG9uZ2VyIGFkaGVyZXMgdG9cbiAqIHRoZSBjbGFzcyBwYXR0ZXJuLCBzbyBkbyBub3QgdXNlIG5ldyB0byBjYWxsIGl0LiBBbHNvLCBpbnN0YW5jZW9mIGNoZWNrXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcbiAqIGlmIHNvbWV0aGluZyBpcyBhIFJlYWN0IEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0geyp9IHByb3BzXG4gKiBAcGFyYW0geyp9IGtleVxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcbiAqIEBwYXJhbSB7Kn0gb3duZXJcbiAqIEBwYXJhbSB7Kn0gc2VsZiBBICp0ZW1wb3JhcnkqIGhlbHBlciB0byBkZXRlY3QgcGxhY2VzIHdoZXJlIGB0aGlzYCBpc1xuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxuICogY2FuIHdhcm4uIFdlIHdhbnQgdG8gZ2V0IHJpZCBvZiBvd25lciBhbmQgcmVwbGFjZSBzdHJpbmcgYHJlZmBzIHdpdGggYXJyb3dcbiAqIGZ1bmN0aW9ucywgYW5kIGFzIGxvbmcgYXMgYHRoaXNgIGFuZCBvd25lciBhcmUgdGhlIHNhbWUsIHRoZXJlIHdpbGwgYmUgbm9cbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cbiAqIEBwYXJhbSB7Kn0gc291cmNlIEFuIGFubm90YXRpb24gb2JqZWN0IChhZGRlZCBieSBhIHRyYW5zcGlsZXIgb3Igb3RoZXJ3aXNlKVxuICogaW5kaWNhdGluZyBmaWxlbmFtZSwgbGluZSBudW1iZXIsIGFuZC9vciBvdGhlciBpbmZvcm1hdGlvbi5cbiAqIEBpbnRlcm5hbFxuICovXG5cblxuZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgX3JlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpIHtcbiAgdmFyIHJlZjtcblxuICB7XG4gICAgcmVmID0gX3JlZjtcbiAgfVxuXG4gIHZhciBlbGVtZW50O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kLCBgcmVmYCBpcyBhIHJlZ3VsYXIgcHJvcGVydHkuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhXG4gICAgLy8gZnV0dXJlIHJlbGVhc2UuXG4gICAgZWxlbWVudCA9IHtcbiAgICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIHJlZjogcmVmLFxuICAgICAgcHJvcHM6IHByb3BzLFxuICAgICAgLy8gUmVjb3JkIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZWxlbWVudC5cbiAgICAgIF9vd25lcjogb3duZXJcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cbiAgICAvLyBhbiBleHRlcm5hbCBiYWNraW5nIHN0b3JlIHNvIHRoYXQgd2UgY2FuIGZyZWV6ZSB0aGUgd2hvbGUgb2JqZWN0LlxuICAgIC8vIFRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBXZWFrTWFwIG9uY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgaW5cbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICBlbGVtZW50Ll9zdG9yZSA9IHt9OyAvLyBUbyBtYWtlIGNvbXBhcmluZyBSZWFjdEVsZW1lbnRzIGVhc2llciBmb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UgbWFrZVxuICAgIC8vIHRoZSB2YWxpZGF0aW9uIGZsYWcgbm9uLWVudW1lcmFibGUgKHdoZXJlIHBvc3NpYmxlLCB3aGljaCBzaG91bGRcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xuICAgIC8vIGlnbm9yZXMgaXQuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0pOyAvLyBkZWJ1Z0luZm8gY29udGFpbnMgU2VydmVyIENvbXBvbmVudCBkZWJ1ZyBpbmZvcm1hdGlvbi5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX2RlYnVnSW5mbycsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcblxuICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQucHJvcHMpO1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbnZhciBkaWRXYXJuQWJvdXRLZXlTcHJlYWQgPSB7fTtcbi8qKlxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmZjcy9wdWxsLzEwN1xuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAqL1xuXG5mdW5jdGlvbiBqc3hERVYkMSh0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB2YWxpZCBlbGVtZW50IHR5cGUuXG4gICAgICAvLyBTa2lwIGtleSB3YXJuaW5nIGlmIHRoZSB0eXBlIGlzbid0IHZhbGlkIHNpbmNlIG91ciBrZXkgdmFsaWRhdGlvbiBsb2dpY1xuICAgICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9ycy4gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZFxuICAgICAgLy8gcHJvZC4gKFJlbmRlcmluZyB3aWxsIHRocm93IHdpdGggYSBoZWxwZnVsIG1lc3NhZ2UgYW5kIGFzIHNvb24gYXMgdGhlXG4gICAgICAvLyB0eXBlIGlzIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcbiAgICAgIHZhciBjaGlsZHJlbiA9IGNvbmZpZy5jaGlsZHJlbjtcblxuICAgICAgaWYgKGNoaWxkcmVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baV0sIHR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0LmpzeDogU3RhdGljIGNoaWxkcmVuIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkuICcgKyAnWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiAnICsgJ1VzZSB0aGUgQmFiZWwgdHJhbnNmb3JtIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gV2FybiBhYm91dCBrZXkgc3ByZWFkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHlwZSBpcyB2YWxpZC5cblxuXG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpLmZpbHRlcihmdW5jdGlvbiAoaykge1xuICAgICAgICByZXR1cm4gayAhPT0gJ2tleSc7XG4gICAgICB9KTtcbiAgICAgIHZhciBiZWZvcmVFeGFtcGxlID0ga2V5cy5sZW5ndGggPiAwID8gJ3trZXk6IHNvbWVLZXksICcgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3trZXk6IHNvbWVLZXl9JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdKSB7XG4gICAgICAgIHZhciBhZnRlckV4YW1wbGUgPSBrZXlzLmxlbmd0aCA+IDAgPyAneycgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3t9JztcblxuICAgICAgICBlcnJvcignQSBwcm9wcyBvYmplY3QgY29udGFpbmluZyBhIFwia2V5XCIgcHJvcCBpcyBiZWluZyBzcHJlYWQgaW50byBKU1g6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMgey4uLnByb3BzfSAvPlxcbicgKyAnUmVhY3Qga2V5cyBtdXN0IGJlIHBhc3NlZCBkaXJlY3RseSB0byBKU1ggd2l0aG91dCB1c2luZyBzcHJlYWQ6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JywgYmVmb3JlRXhhbXBsZSwgY29tcG9uZW50TmFtZSwgYWZ0ZXJFeGFtcGxlLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICAgIHZhciBwcm9wcyA9IHt9O1xuICAgIHZhciBrZXkgPSBudWxsO1xuICAgIHZhciByZWYgPSBudWxsOyAvLyBDdXJyZW50bHksIGtleSBjYW4gYmUgc3ByZWFkIGluIGFzIGEgcHJvcC4gVGhpcyBjYXVzZXMgYSBwb3RlbnRpYWxcbiAgICAvLyBpc3N1ZSBpZiBrZXkgaXMgYWxzbyBleHBsaWNpdGx5IGRlY2xhcmVkIChpZS4gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz5cbiAgICAvLyBvciA8ZGl2IGtleT1cIkhpXCIgey4uLnByb3BzfSAvPiApLiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBrZXkgc3ByZWFkLFxuICAgIC8vIGJ1dCBhcyBhbiBpbnRlcm1lZGlhcnkgc3RlcCwgd2Ugd2lsbCB1c2UganN4REVWIGZvciBldmVyeXRoaW5nIGV4Y2VwdFxuICAgIC8vIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+LCBiZWNhdXNlIHdlIGFyZW4ndCBjdXJyZW50bHkgYWJsZSB0byB0ZWxsIGlmXG4gICAgLy8ga2V5IGlzIGV4cGxpY2l0bHkgZGVjbGFyZWQgdG8gYmUgdW5kZWZpbmVkIG9yIG5vdC5cblxuICAgIGlmIChtYXliZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIG1heWJlS2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgfVxuXG4gICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKTtcbiAgICB9IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmIC8vIFNraXAgb3ZlciByZXNlcnZlZCBwcm9wIG5hbWVzXG4gICAgICBwcm9wTmFtZSAhPT0gJ2tleScgJiYgKHByb3BOYW1lICE9PSAncmVmJykpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgICBpZiAodHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wcykge1xuICAgICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGtleSB8fCByZWYpIHtcbiAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgJ1Vua25vd24nIDogdHlwZTtcblxuICAgICAgaWYgKGtleSkge1xuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuXG4gICAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXG4gKiBhcnJheSB3aXRoIGFuIGV4cGxpY2l0IGtleXMgcHJvcGVydHkgZGVmaW5lZCwgb3IgaW4gYW4gb2JqZWN0IGxpdGVyYWxcbiAqIHdpdGggdmFsaWQga2V5IHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdE5vZGV9IG5vZGUgU3RhdGljYWxseSBwYXNzZWQgY2hpbGQgb2YgYW55IHR5cGUuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnIHx8ICFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UpIDsgZWxzZSBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obm9kZSk7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAgIC8vIGJ1dCBub3cgd2UgcHJpbnQgYSBzZXBhcmF0ZSB3YXJuaW5nIGZvciB0aGVtIGxhdGVyLlxuICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gbm9kZS5lbnRyaWVzKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuXG4gICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFZlcmlmaWVzIHRoZSBvYmplY3QgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgb2JqZWN0YCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIEBmaW5hbFxuICovXG5cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRXhwbGljaXRLZXkoZWxlbWVudCwgcGFyZW50VHlwZSkge1xuICB7XG4gICAgaWYgKCFlbGVtZW50Ll9zdG9yZSB8fCBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgfHwgZWxlbWVudC5rZXkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gICAgLy8gcHJvcGVydHksIGl0IG1heSBiZSB0aGUgY3JlYXRvciBvZiB0aGUgY2hpbGQgdGhhdCdzIHJlc3BvbnNpYmxlIGZvclxuICAgIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cblxuICAgIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHBhcmVudFR5cGUpO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBmcmFnbWVudCwgdmFsaWRhdGUgdGhhdCBpdCBjYW4gb25seSBiZSBwcm92aWRlZCB3aXRoIGZyYWdtZW50IHByb3BzXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhmcmFnbWVudCkge1xuICAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gcmVuZGVyIHBoYXNlIGluc3RlYWQgb2YgYXQgZWxlbWVudCBjcmVhdGlvbi5cbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG52YXIganN4REVWID0ganN4REVWJDEgO1xuXG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuanN4REVWID0ganN4REVWO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSw4TEFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanM/NWRiNyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction Bars3Icon(param, svgRef) {\n let { title, titleId, ...props } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\n }));\n}\n_c = Bars3Icon;\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(Bars3Icon);\n_c1 = ForwardRef;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForwardRef);\nvar _c, _c1;\n$RefreshReg$(_c, \"Bars3Icon\");\n$RefreshReg$(_c1, \"ForwardRef\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL0JhcnMzSWNvbi5qcyIsIm1hcHBpbmdzIjoiOztBQUErQjtBQUMvQixTQUFTQyxVQUFVLEtBSWxCLEVBQUVDLE1BQU07UUFKVSxFQUNqQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixHQUprQjtJQUtqQixPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxhQUFhO1FBQ2JDLFFBQVE7UUFDUixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLWjtRQUNMLG1CQUFtQkU7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVILGdEQUFtQixDQUFDLFNBQVM7UUFDM0RlLElBQUlYO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUgsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGdCLGVBQWU7UUFDZkMsZ0JBQWdCO1FBQ2hCQyxHQUFHO0lBQ0w7QUFDRjtLQXRCU2pCO0FBdUJULE1BQU1rQixhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQzs7QUFDbEQsK0RBQWVrQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL0JhcnMzSWNvbi5qcz8yNjQwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gQmFyczNJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgZmlsbDogXCJub25lXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICBzdHJva2VXaWR0aDogMS41LFxuICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgZDogXCJNMy43NSA2Ljc1aDE2LjVNMy43NSAxMmgxNi41bS0xNi41IDUuMjVoMTYuNVwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoQmFyczNJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiQmFyczNJY29uIiwic3ZnUmVmIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicmVmIiwiaWQiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction XMarkIcon(param, svgRef) {\n let { title, titleId, ...props } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M6 18 18 6M6 6l12 12\"\n }));\n}\n_c = XMarkIcon;\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(XMarkIcon);\n_c1 = ForwardRef;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForwardRef);\nvar _c, _c1;\n$RefreshReg$(_c, \"XMarkIcon\");\n$RefreshReg$(_c1, \"ForwardRef\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL1hNYXJrSWNvbi5qcyIsIm1hcHBpbmdzIjoiOztBQUErQjtBQUMvQixTQUFTQyxVQUFVLEtBSWxCLEVBQUVDLE1BQU07UUFKVSxFQUNqQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixHQUprQjtJQUtqQixPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxhQUFhO1FBQ2JDLFFBQVE7UUFDUixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLWjtRQUNMLG1CQUFtQkU7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVILGdEQUFtQixDQUFDLFNBQVM7UUFDM0RlLElBQUlYO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUgsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGdCLGVBQWU7UUFDZkMsZ0JBQWdCO1FBQ2hCQyxHQUFHO0lBQ0w7QUFDRjtLQXRCU2pCO0FBdUJULE1BQU1rQixhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQzs7QUFDbEQsK0RBQWVrQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL1hNYXJrSWNvbi5qcz8wYzliIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gWE1hcmtJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgZmlsbDogXCJub25lXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICBzdHJva2VXaWR0aDogMS41LFxuICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgZDogXCJNNiAxOCAxOCA2TTYgNmwxMiAxMlwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoWE1hcmtJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiWE1hcmtJY29uIiwic3ZnUmVmIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicmVmIiwiaWQiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs": -/*!*****************************************!*\ - !*** ./node_modules/clsx/dist/clsx.mjs ***! - \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clsx: function() { return /* binding */ clsx; }\n/* harmony export */ });\nfunction r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}/* harmony default export */ __webpack_exports__[\"default\"] = (clsx);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9jbHN4L2Rpc3QvY2xzeC5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGNBQWMsYUFBYSwrQ0FBK0MsZ0RBQWdELGVBQWUsUUFBUSxJQUFJLDBDQUEwQyx5Q0FBeUMsU0FBZ0IsZ0JBQWdCLHdDQUF3QyxJQUFJLG1EQUFtRCxTQUFTLCtEQUFlLElBQUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2Nsc3gvZGlzdC9jbHN4Lm1qcz80NDYxIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHIoZSl7dmFyIHQsZixuPVwiXCI7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGV8fFwibnVtYmVyXCI9PXR5cGVvZiBlKW4rPWU7ZWxzZSBpZihcIm9iamVjdFwiPT10eXBlb2YgZSlpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgbz1lLmxlbmd0aDtmb3IodD0wO3Q8bzt0KyspZVt0XSYmKGY9cihlW3RdKSkmJihuJiYobis9XCIgXCIpLG4rPWYpfWVsc2UgZm9yKGYgaW4gZSllW2ZdJiYobiYmKG4rPVwiIFwiKSxuKz1mKTtyZXR1cm4gbn1leHBvcnQgZnVuY3Rpb24gY2xzeCgpe2Zvcih2YXIgZSx0LGY9MCxuPVwiXCIsbz1hcmd1bWVudHMubGVuZ3RoO2Y8bztmKyspKGU9YXJndW1lbnRzW2ZdKSYmKHQ9cihlKSkmJihuJiYobis9XCIgXCIpLG4rPXQpO3JldHVybiBufWV4cG9ydCBkZWZhdWx0IGNsc3g7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/app/(main)/page.js b/.next/static/chunks/app/(main)/page.js deleted file mode 100644 index afba6e7..0000000 --- a/.next/static/chunks/app/(main)/page.js +++ /dev/null @@ -1,1203 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/(main)/page"],{ - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Product.jsx */ \"(app-pages-browser)/./src/components/Product.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Speakers.jsx */ \"(app-pages-browser)/./src/components/Speakers.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-newsletter.jpg */ \"(app-pages-browser)/./src/images/background-newsletter.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background.jpg */ \"(app-pages-browser)/./src/images/background.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/mirage.svg */ \"(app-pages-browser)/./src/images/logos/mirage.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/statickit.svg */ \"(app-pages-browser)/./src/images/logos/statickit.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/transistor.svg */ \"(app-pages-browser)/./src/images/logos/transistor.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/tuple.svg */ \"(app-pages-browser)/./src/images/logos/tuple.svg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZpbWFnZS1jb21wb25lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZsaW5rLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZjb21wb25lbnRzJTJGUHJvZHVjdC5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJQcm9kdWN0JTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmNvbXBvbmVudHMlMkZTcGVha2Vycy5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGYmFja2dyb3VuZC1uZXdzbGV0dGVyLmpwZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGYmFja2dyb3VuZC5qcGclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGbWlyYWdlLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZzdGF0aWNraXQuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRnRyYW5zaXN0b3Iuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRnR1cGxlLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0Qmc2VydmVyPWZhbHNlISIsIm1hcHBpbmdzIjoiQUFBQSxvT0FBMkk7QUFDM0k7QUFDQSw4TUFBZ0k7QUFDaEk7QUFDQSxrTEFBa0o7QUFDbEo7QUFDQSxvTEFBc0g7QUFDdEg7QUFDQSxzTUFBK0g7QUFDL0g7QUFDQSxnTEFBb0g7QUFDcEg7QUFDQSxvTEFBc0g7QUFDdEg7QUFDQSwwTEFBeUg7QUFDekg7QUFDQSw0TEFBMEg7QUFDMUg7QUFDQSxrTEFBcUgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz9iNjViIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaW1hZ2UtY29tcG9uZW50LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJQcm9kdWN0XCJdICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2NvbXBvbmVudHMvUHJvZHVjdC5qc3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2JhY2tncm91bmQuanBnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2xvZ29zL21pcmFnZS5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvbG9nb3Mvc3RhdGlja2l0LnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9sb2dvcy90cmFuc2lzdG9yLnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9sb2dvcy90dXBsZS5zdmdcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/api/image.js": -/*!*********************************************!*\ - !*** ./node_modules/next/dist/api/image.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default from dynamic */ _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default.a; }\n/* harmony export */ });\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/image-external */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\");\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=image.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2ltYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF1RDtBQUNWOztBQUU3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcz8xMTY3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tIFwiLi4vc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4uL3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWxcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/image.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/build/polyfills/process.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _global_process, _global_process1;\nmodule.exports = ((_global_process = __webpack_require__.g.process) == null ? void 0 : _global_process.env) && typeof ((_global_process1 = __webpack_require__.g.process) == null ? void 0 : _global_process1.env) === \"object\" ? __webpack_require__.g.process : __webpack_require__(/*! next/dist/compiled/process */ \"(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js\");\n\n//# sourceMappingURL=process.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3Byb2Nlc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLHFDQUFxQyxxQkFBTSxpRkFBaUYscUJBQU0sa0VBQWtFLHFCQUFNLFdBQVcsbUJBQU8sQ0FBQyw0R0FBNEI7O0FBRXpQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3Byb2Nlc3MuanM/Y2ViYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfZ2xvYmFsX3Byb2Nlc3MsIF9nbG9iYWxfcHJvY2VzczE7XG5tb2R1bGUuZXhwb3J0cyA9ICgoX2dsb2JhbF9wcm9jZXNzID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MuZW52KSAmJiB0eXBlb2YgKChfZ2xvYmFsX3Byb2Nlc3MxID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MxLmVudikgPT09IFwib2JqZWN0XCIgPyBnbG9iYWwucHJvY2VzcyA6IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2Vzc1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvY2Vzcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/picomatch/index.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\");\n(()=>{\"use strict\";var t={170:(t,e,u)=>{const n=u(510);const isWindows=()=>{if(typeof navigator!==\"undefined\"&&navigator.platform){const t=navigator.platform.toLowerCase();return t===\"win32\"||t===\"windows\"}if(typeof process!==\"undefined\"&&process.platform){return process.platform===\"win32\"}return false};function picomatch(t,e,u=false){if(e&&(e.windows===null||e.windows===undefined)){e={...e,windows:isWindows()}}return n(t,e,u)}Object.assign(picomatch,n);t.exports=picomatch},154:t=>{const e=\"\\\\\\\\/\";const u=`[^${e}]`;const n=\"\\\\.\";const o=\"\\\\+\";const s=\"\\\\?\";const r=\"\\\\/\";const a=\"(?=.)\";const i=\"[^/]\";const c=`(?:${r}|$)`;const p=`(?:^|${r})`;const l=`${n}{1,2}${c}`;const f=`(?!${n})`;const A=`(?!${p}${l})`;const _=`(?!${n}{0,1}${c})`;const R=`(?!${l})`;const E=`[^.${r}]`;const h=`${i}*?`;const g=\"/\";const b={DOT_LITERAL:n,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:r,ONE_CHAR:a,QMARK:i,END_ANCHOR:c,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:A,NO_DOT_SLASH:_,NO_DOTS_SLASH:R,QMARK_NO_DOT:E,STAR:h,START_ANCHOR:p,SEP:g};const C={...b,SLASH_LITERAL:`[${e}]`,QMARK:u,STAR:`${u}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`,SEP:\"\\\\\"};const y={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:y,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${t.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(t){return t===true?C:b}}},697:(t,e,u)=>{const n=u(154);const o=u(96);const{MAX_LENGTH:s,POSIX_REGEX_SOURCE:r,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:i,REPLACEMENTS:c}=n;const expandRange=(t,e)=>{if(typeof e.expandRange===\"function\"){return e.expandRange(...t,e)}t.sort();const u=`[${t.join(\"-\")}]`;try{new RegExp(u)}catch(e){return t.map((t=>o.escapeRegex(t))).join(\"..\")}return u};const syntaxError=(t,e)=>`Missing ${t}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`;const parse=(t,e)=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected a string\")}t=c[t]||t;const u={...e};const p=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;let l=t.length;if(l>p){throw new SyntaxError(`Input length: ${l}, exceeds maximum allowed length: ${p}`)}const f={type:\"bos\",value:\"\",output:u.prepend||\"\"};const A=[f];const _=u.capture?\"\":\"?:\";const R=n.globChars(u.windows);const E=n.extglobChars(R);const{DOT_LITERAL:h,PLUS_LITERAL:g,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:y,NO_DOT:$,NO_DOT_SLASH:x,NO_DOTS_SLASH:S,QMARK:H,QMARK_NO_DOT:v,STAR:d,START_ANCHOR:L}=R;const globstar=t=>`(${_}(?:(?!${L}${t.dot?y:h}).)*?)`;const T=u.dot?\"\":$;const O=u.dot?H:v;let k=u.bash===true?globstar(u):d;if(u.capture){k=`(${k})`}if(typeof u.noext===\"boolean\"){u.noextglob=u.noext}const m={input:t,index:-1,start:0,dot:u.dot===true,consumed:\"\",output:\"\",prefix:\"\",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:A};t=o.removePrefix(t,m);l=t.length;const w=[];const N=[];const I=[];let B=f;let G;const eos=()=>m.index===l-1;const D=m.peek=(e=1)=>t[m.index+e];const M=m.advance=()=>t[++m.index]||\"\";const remaining=()=>t.slice(m.index+1);const consume=(t=\"\",e=0)=>{m.consumed+=t;m.index+=e};const append=t=>{m.output+=t.output!=null?t.output:t.value;consume(t.value)};const negate=()=>{let t=1;while(D()===\"!\"&&(D(2)!==\"(\"||D(3)===\"?\")){M();m.start++;t++}if(t%2===0){return false}m.negated=true;m.start++;return true};const increment=t=>{m[t]++;I.push(t)};const decrement=t=>{m[t]--;I.pop()};const push=t=>{if(B.type===\"globstar\"){const e=m.braces>0&&(t.type===\"comma\"||t.type===\"brace\");const u=t.extglob===true||w.length&&(t.type===\"pipe\"||t.type===\"paren\");if(t.type!==\"slash\"&&t.type!==\"paren\"&&!e&&!u){m.output=m.output.slice(0,-B.output.length);B.type=\"star\";B.value=\"*\";B.output=k;m.output+=B.output}}if(w.length&&t.type!==\"paren\"){w[w.length-1].inner+=t.value}if(t.value||t.output)append(t);if(B&&B.type===\"text\"&&t.type===\"text\"){B.output=(B.output||B.value)+t.value;B.value+=t.value;return}t.prev=B;A.push(t);B=t};const extglobOpen=(t,e)=>{const n={...E[e],conditions:1,inner:\"\"};n.prev=B;n.parens=m.parens;n.output=m.output;const o=(u.capture?\"(\":\"\")+n.open;increment(\"parens\");push({type:t,value:e,output:m.output?\"\":C});push({type:\"paren\",extglob:true,value:M(),output:o});w.push(n)};const extglobClose=t=>{let n=t.close+(u.capture?\")\":\"\");let o;if(t.type===\"negate\"){let s=k;if(t.inner&&t.inner.length>1&&t.inner.includes(\"/\")){s=globstar(u)}if(s!==k||eos()||/^\\)+$/.test(remaining())){n=t.close=`)$))${s}`}if(t.inner.includes(\"*\")&&(o=remaining())&&/^\\.[^\\\\/.]+$/.test(o)){const u=parse(o,{...e,fastpaths:false}).output;n=t.close=`)${u})${s})`}if(t.prev.type===\"bos\"){m.negatedExtglob=true}}push({type:\"paren\",extglob:true,value:G,output:n});decrement(\"parens\")};if(u.fastpaths!==false&&!/(^[*!]|[/()[\\]{}\"])/.test(t)){let n=false;let s=t.replace(i,((t,e,u,o,s,r)=>{if(o===\"\\\\\"){n=true;return t}if(o===\"?\"){if(e){return e+o+(s?H.repeat(s.length):\"\")}if(r===0){return O+(s?H.repeat(s.length):\"\")}return H.repeat(u.length)}if(o===\".\"){return h.repeat(u.length)}if(o===\"*\"){if(e){return e+o+(s?k:\"\")}return k}return e?t:`\\\\${t}`}));if(n===true){if(u.unescape===true){s=s.replace(/\\\\/g,\"\")}else{s=s.replace(/\\\\+/g,(t=>t.length%2===0?\"\\\\\\\\\":t?\"\\\\\":\"\"))}}if(s===t&&u.contains===true){m.output=t;return m}m.output=o.wrapOutput(s,m,e);return m}while(!eos()){G=M();if(G===\"\\0\"){continue}if(G===\"\\\\\"){const t=D();if(t===\"/\"&&u.bash!==true){continue}if(t===\".\"||t===\";\"){continue}if(!t){G+=\"\\\\\";push({type:\"text\",value:G});continue}const e=/^\\\\+/.exec(remaining());let n=0;if(e&&e[0].length>2){n=e[0].length;m.index+=n;if(n%2!==0){G+=\"\\\\\"}}if(u.unescape===true){G=M()}else{G+=M()}if(m.brackets===0){push({type:\"text\",value:G});continue}}if(m.brackets>0&&(G!==\"]\"||B.value===\"[\"||B.value===\"[^\")){if(u.posix!==false&&G===\":\"){const t=B.value.slice(1);if(t.includes(\"[\")){B.posix=true;if(t.includes(\":\")){const t=B.value.lastIndexOf(\"[\");const e=B.value.slice(0,t);const u=B.value.slice(t+2);const n=r[u];if(n){B.value=e+n;m.backtrack=true;M();if(!f.output&&A.indexOf(B)===1){f.output=C}continue}}}}if(G===\"[\"&&D()!==\":\"||G===\"-\"&&D()===\"]\"){G=`\\\\${G}`}if(G===\"]\"&&(B.value===\"[\"||B.value===\"[^\")){G=`\\\\${G}`}if(u.posix===true&&G===\"!\"&&B.value===\"[\"){G=\"^\"}B.value+=G;append({value:G});continue}if(m.quotes===1&&G!=='\"'){G=o.escapeRegex(G);B.value+=G;append({value:G});continue}if(G==='\"'){m.quotes=m.quotes===1?0:1;if(u.keepQuotes===true){push({type:\"text\",value:G})}continue}if(G===\"(\"){increment(\"parens\");push({type:\"paren\",value:G});continue}if(G===\")\"){if(m.parens===0&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"(\"))}const t=w[w.length-1];if(t&&m.parens===t.parens+1){extglobClose(w.pop());continue}push({type:\"paren\",value:G,output:m.parens?\")\":\"\\\\)\"});decrement(\"parens\");continue}if(G===\"[\"){if(u.nobracket===true||!remaining().includes(\"]\")){if(u.nobracket!==true&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"closing\",\"]\"))}G=`\\\\${G}`}else{increment(\"brackets\")}push({type:\"bracket\",value:G});continue}if(G===\"]\"){if(u.nobracket===true||B&&B.type===\"bracket\"&&B.value.length===1){push({type:\"text\",value:G,output:`\\\\${G}`});continue}if(m.brackets===0){if(u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"[\"))}push({type:\"text\",value:G,output:`\\\\${G}`});continue}decrement(\"brackets\");const t=B.value.slice(1);if(B.posix!==true&&t[0]===\"^\"&&!t.includes(\"/\")){G=`/${G}`}B.value+=G;append({value:G});if(u.literalBrackets===false||o.hasRegexChars(t)){continue}const e=o.escapeRegex(B.value);m.output=m.output.slice(0,-B.value.length);if(u.literalBrackets===true){m.output+=e;B.value=e;continue}B.value=`(${_}${e}|${B.value})`;m.output+=B.value;continue}if(G===\"{\"&&u.nobrace!==true){increment(\"braces\");const t={type:\"brace\",value:G,output:\"(\",outputIndex:m.output.length,tokensIndex:m.tokens.length};N.push(t);push(t);continue}if(G===\"}\"){const t=N[N.length-1];if(u.nobrace===true||!t){push({type:\"text\",value:G,output:G});continue}let e=\")\";if(t.dots===true){const t=A.slice();const n=[];for(let e=t.length-1;e>=0;e--){A.pop();if(t[e].type===\"brace\"){break}if(t[e].type!==\"dots\"){n.unshift(t[e].value)}}e=expandRange(n,u);m.backtrack=true}if(t.comma!==true&&t.dots!==true){const u=m.output.slice(0,t.outputIndex);const n=m.tokens.slice(t.tokensIndex);t.value=t.output=\"\\\\{\";G=e=\"\\\\}\";m.output=u;for(const t of n){m.output+=t.output||t.value}}push({type:\"brace\",value:G,output:e});decrement(\"braces\");N.pop();continue}if(G===\"|\"){if(w.length>0){w[w.length-1].conditions++}push({type:\"text\",value:G});continue}if(G===\",\"){let t=G;const e=N[N.length-1];if(e&&I[I.length-1]===\"braces\"){e.comma=true;t=\"|\"}push({type:\"comma\",value:G,output:t});continue}if(G===\"/\"){if(B.type===\"dot\"&&m.index===m.start+1){m.start=m.index+1;m.consumed=\"\";m.output=\"\";A.pop();B=f;continue}push({type:\"slash\",value:G,output:b});continue}if(G===\".\"){if(m.braces>0&&B.type===\"dot\"){if(B.value===\".\")B.output=h;const t=N[N.length-1];B.type=\"dots\";B.output+=G;B.value+=G;t.dots=true;continue}if(m.braces+m.parens===0&&B.type!==\"bos\"&&B.type!==\"slash\"){push({type:\"text\",value:G,output:h});continue}push({type:\"dot\",value:G,output:h});continue}if(G===\"?\"){const t=B&&B.value===\"(\";if(!t&&u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"qmark\",G);continue}if(B&&B.type===\"paren\"){const t=D();let e=G;if(B.value===\"(\"&&!/[!=<:]/.test(t)||t===\"<\"&&!/<([!=]|\\w+>)/.test(remaining())){e=`\\\\${G}`}push({type:\"text\",value:G,output:e});continue}if(u.dot!==true&&(B.type===\"slash\"||B.type===\"bos\")){push({type:\"qmark\",value:G,output:v});continue}push({type:\"qmark\",value:G,output:H});continue}if(G===\"!\"){if(u.noextglob!==true&&D()===\"(\"){if(D(2)!==\"?\"||!/[!=<:]/.test(D(3))){extglobOpen(\"negate\",G);continue}}if(u.nonegate!==true&&m.index===0){negate();continue}}if(G===\"+\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"plus\",G);continue}if(B&&B.value===\"(\"||u.regex===false){push({type:\"plus\",value:G,output:g});continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\"||B.type===\"brace\")||m.parens>0){push({type:\"plus\",value:G});continue}push({type:\"plus\",value:g});continue}if(G===\"@\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){push({type:\"at\",extglob:true,value:G,output:\"\"});continue}push({type:\"text\",value:G});continue}if(G!==\"*\"){if(G===\"$\"||G===\"^\"){G=`\\\\${G}`}const t=a.exec(remaining());if(t){G+=t[0];m.index+=t[0].length}push({type:\"text\",value:G});continue}if(B&&(B.type===\"globstar\"||B.star===true)){B.type=\"star\";B.star=true;B.value+=G;B.output=k;m.backtrack=true;m.globstar=true;consume(G);continue}let e=remaining();if(u.noextglob!==true&&/^\\([^?]/.test(e)){extglobOpen(\"star\",G);continue}if(B.type===\"star\"){if(u.noglobstar===true){consume(G);continue}const n=B.prev;const o=n.prev;const s=n.type===\"slash\"||n.type===\"bos\";const r=o&&(o.type===\"star\"||o.type===\"globstar\");if(u.bash===true&&(!s||e[0]&&e[0]!==\"/\")){push({type:\"star\",value:G,output:\"\"});continue}const a=m.braces>0&&(n.type===\"comma\"||n.type===\"brace\");const i=w.length&&(n.type===\"pipe\"||n.type===\"paren\");if(!s&&n.type!==\"paren\"&&!a&&!i){push({type:\"star\",value:G,output:\"\"});continue}while(e.slice(0,3)===\"/**\"){const u=t[m.index+4];if(u&&u!==\"/\"){break}e=e.slice(3);consume(\"/**\",3)}if(n.type===\"bos\"&&eos()){B.type=\"globstar\";B.value+=G;B.output=globstar(u);m.output=B.output;m.globstar=true;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&!r&&eos()){m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=globstar(u)+(u.strictSlashes?\")\":\"|$)\");B.value+=G;m.globstar=true;m.output+=n.output+B.output;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&e[0]===\"/\"){const t=e[1]!==void 0?\"|$\":\"\";m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=`${globstar(u)}${b}|${b}${t})`;B.value+=G;m.output+=n.output+B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}if(n.type===\"bos\"&&e[0]===\"/\"){B.type=\"globstar\";B.value+=G;B.output=`(?:^|${b}|${globstar(u)}${b})`;m.output=B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}m.output=m.output.slice(0,-B.output.length);B.type=\"globstar\";B.output=globstar(u);B.value+=G;m.output+=B.output;m.globstar=true;consume(G);continue}const n={type:\"star\",value:G,output:k};if(u.bash===true){n.output=\".*?\";if(B.type===\"bos\"||B.type===\"slash\"){n.output=T+n.output}push(n);continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\")&&u.regex===true){n.output=G;push(n);continue}if(m.index===m.start||B.type===\"slash\"||B.type===\"dot\"){if(B.type===\"dot\"){m.output+=x;B.output+=x}else if(u.dot===true){m.output+=S;B.output+=S}else{m.output+=T;B.output+=T}if(D()!==\"*\"){m.output+=C;B.output+=C}}push(n)}while(m.brackets>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"]\"));m.output=o.escapeLast(m.output,\"[\");decrement(\"brackets\")}while(m.parens>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\")\"));m.output=o.escapeLast(m.output,\"(\");decrement(\"parens\")}while(m.braces>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"}\"));m.output=o.escapeLast(m.output,\"{\");decrement(\"braces\")}if(u.strictSlashes!==true&&(B.type===\"star\"||B.type===\"bracket\")){push({type:\"maybe_slash\",value:\"\",output:`${b}?`})}if(m.backtrack===true){m.output=\"\";for(const t of m.tokens){m.output+=t.output!=null?t.output:t.value;if(t.suffix){m.output+=t.suffix}}}return m};parse.fastpaths=(t,e)=>{const u={...e};const r=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;const a=t.length;if(a>r){throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${r}`)}t=c[t]||t;const{DOT_LITERAL:i,SLASH_LITERAL:p,ONE_CHAR:l,DOTS_SLASH:f,NO_DOT:A,NO_DOTS:_,NO_DOTS_SLASH:R,STAR:E,START_ANCHOR:h}=n.globChars(u.windows);const g=u.dot?_:A;const b=u.dot?R:A;const C=u.capture?\"\":\"?:\";const y={negated:false,prefix:\"\"};let $=u.bash===true?\".*?\":E;if(u.capture){$=`(${$})`}const globstar=t=>{if(t.noglobstar===true)return $;return`(${C}(?:(?!${h}${t.dot?f:i}).)*?)`};const create=t=>{switch(t){case\"*\":return`${g}${l}${$}`;case\".*\":return`${i}${l}${$}`;case\"*.*\":return`${g}${$}${i}${l}${$}`;case\"*/*\":return`${g}${$}${p}${l}${b}${$}`;case\"**\":return g+globstar(u);case\"**/*\":return`(?:${g}${globstar(u)}${p})?${b}${l}${$}`;case\"**/*.*\":return`(?:${g}${globstar(u)}${p})?${b}${$}${i}${l}${$}`;case\"**/.*\":return`(?:${g}${globstar(u)}${p})?${i}${l}${$}`;default:{const e=/^(.*?)\\.(\\w+)$/.exec(t);if(!e)return;const u=create(e[1]);if(!u)return;return u+i+e[2]}}};const x=o.removePrefix(t,y);let S=create(x);if(S&&u.strictSlashes!==true){S+=`${p}?`}return S};t.exports=parse},510:(t,e,u)=>{const n=u(716);const o=u(697);const s=u(96);const r=u(154);const isObject=t=>t&&typeof t===\"object\"&&!Array.isArray(t);const picomatch=(t,e,u=false)=>{if(Array.isArray(t)){const n=t.map((t=>picomatch(t,e,u)));const arrayMatcher=t=>{for(const e of n){const u=e(t);if(u)return u}return false};return arrayMatcher}const n=isObject(t)&&t.tokens&&t.input;if(t===\"\"||typeof t!==\"string\"&&!n){throw new TypeError(\"Expected pattern to be a non-empty string\")}const o=e||{};const s=o.windows;const r=n?picomatch.compileRe(t,e):picomatch.makeRe(t,e,false,true);const a=r.state;delete r.state;let isIgnored=()=>false;if(o.ignore){const t={...e,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(o.ignore,t,u)}const matcher=(u,n=false)=>{const{isMatch:i,match:c,output:p}=picomatch.test(u,r,e,{glob:t,posix:s});const l={glob:t,state:a,regex:r,posix:s,input:u,output:p,match:c,isMatch:i};if(typeof o.onResult===\"function\"){o.onResult(l)}if(i===false){l.isMatch=false;return n?l:false}if(isIgnored(u)){if(typeof o.onIgnore===\"function\"){o.onIgnore(l)}l.isMatch=false;return n?l:false}if(typeof o.onMatch===\"function\"){o.onMatch(l)}return n?l:true};if(u){matcher.state=a}return matcher};picomatch.test=(t,e,u,{glob:n,posix:o}={})=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected input to be a string\")}if(t===\"\"){return{isMatch:false,output:\"\"}}const r=u||{};const a=r.format||(o?s.toPosixSlashes:null);let i=t===n;let c=i&&a?a(t):t;if(i===false){c=a?a(t):t;i=c===n}if(i===false||r.capture===true){if(r.matchBase===true||r.basename===true){i=picomatch.matchBase(t,e,u,o)}else{i=e.exec(c)}}return{isMatch:Boolean(i),match:i,output:c}};picomatch.matchBase=(t,e,u)=>{const n=e instanceof RegExp?e:picomatch.makeRe(e,u);return n.test(s.basename(t))};picomatch.isMatch=(t,e,u)=>picomatch(e,u)(t);picomatch.parse=(t,e)=>{if(Array.isArray(t))return t.map((t=>picomatch.parse(t,e)));return o(t,{...e,fastpaths:false})};picomatch.scan=(t,e)=>n(t,e);picomatch.compileRe=(t,e,u=false,n=false)=>{if(u===true){return t.output}const o=e||{};const s=o.contains?\"\":\"^\";const r=o.contains?\"\":\"$\";let a=`${s}(?:${t.output})${r}`;if(t&&t.negated===true){a=`^(?!${a}).*$`}const i=picomatch.toRegex(a,e);if(n===true){i.state=t}return i};picomatch.makeRe=(t,e={},u=false,n=false)=>{if(!t||typeof t!==\"string\"){throw new TypeError(\"Expected a non-empty string\")}let s={negated:false,fastpaths:true};if(e.fastpaths!==false&&(t[0]===\".\"||t[0]===\"*\")){s.output=o.fastpaths(t,e)}if(!s.output){s=o(t,e)}return picomatch.compileRe(s,e,u,n)};picomatch.toRegex=(t,e)=>{try{const u=e||{};return new RegExp(t,u.flags||(u.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===true)throw t;return/$^/}};picomatch.constants=r;t.exports=picomatch},716:(t,e,u)=>{const n=u(96);const{CHAR_ASTERISK:o,CHAR_AT:s,CHAR_BACKWARD_SLASH:r,CHAR_COMMA:a,CHAR_DOT:i,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:f,CHAR_LEFT_SQUARE_BRACKET:A,CHAR_PLUS:_,CHAR_QUESTION_MARK:R,CHAR_RIGHT_CURLY_BRACE:E,CHAR_RIGHT_PARENTHESES:h,CHAR_RIGHT_SQUARE_BRACKET:g}=u(154);const isPathSeparator=t=>t===p||t===r;const depth=t=>{if(t.isPrefix!==true){t.depth=t.isGlobstar?Infinity:1}};const scan=(t,e)=>{const u=e||{};const b=t.length-1;const C=u.parts===true||u.scanToEnd===true;const y=[];const $=[];const x=[];let S=t;let H=-1;let v=0;let d=0;let L=false;let T=false;let O=false;let k=false;let m=false;let w=false;let N=false;let I=false;let B=false;let G=false;let D=0;let M;let P;let K={value:\"\",depth:0,isGlob:false};const eos=()=>H>=b;const peek=()=>S.charCodeAt(H+1);const advance=()=>{M=P;return S.charCodeAt(++H)};while(H<b){P=advance();let t;if(P===r){N=K.backslashes=true;P=advance();if(P===l){w=true}continue}if(w===true||P===l){D++;while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;advance();continue}if(P===l){D++;continue}if(w!==true&&P===i&&(P=advance())===i){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(w!==true&&P===a){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===E){D--;if(D===0){w=false;L=K.isBrace=true;G=true;break}}}if(C===true){continue}break}if(P===p){y.push(H);$.push(K);K={value:\"\",depth:0,isGlob:false};if(G===true)continue;if(M===i&&H===v+1){v+=2;continue}d=H+1;continue}if(u.noext!==true){const t=P===_||P===s||P===o||P===R||P===c;if(t===true&&peek()===f){O=K.isGlob=true;k=K.isExtglob=true;G=true;if(P===c&&H===v){B=true}if(C===true){while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;P=advance();continue}if(P===h){O=K.isGlob=true;G=true;break}}continue}break}}if(P===o){if(M===o)m=K.isGlobstar=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===R){O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===A){while(eos()!==true&&(t=advance())){if(t===r){N=K.backslashes=true;advance();continue}if(t===g){T=K.isBracket=true;O=K.isGlob=true;G=true;break}}if(C===true){continue}break}if(u.nonegate!==true&&P===c&&H===v){I=K.negated=true;v++;continue}if(u.noparen!==true&&P===f){O=K.isGlob=true;if(C===true){while(eos()!==true&&(P=advance())){if(P===f){N=K.backslashes=true;P=advance();continue}if(P===h){G=true;break}}continue}break}if(O===true){G=true;if(C===true){continue}break}}if(u.noext===true){k=false;O=false}let U=S;let X=\"\";let F=\"\";if(v>0){X=S.slice(0,v);S=S.slice(v);d-=v}if(U&&O===true&&d>0){U=S.slice(0,d);F=S.slice(d)}else if(O===true){U=\"\";F=S}else{U=S}if(U&&U!==\"\"&&U!==\"/\"&&U!==S){if(isPathSeparator(U.charCodeAt(U.length-1))){U=U.slice(0,-1)}}if(u.unescape===true){if(F)F=n.removeBackslashes(F);if(U&&N===true){U=n.removeBackslashes(U)}}const Q={prefix:X,input:t,start:v,base:U,glob:F,isBrace:L,isBracket:T,isGlob:O,isExtglob:k,isGlobstar:m,negated:I,negatedExtglob:B};if(u.tokens===true){Q.maxDepth=0;if(!isPathSeparator(P)){$.push(K)}Q.tokens=$}if(u.parts===true||u.tokens===true){let e;for(let n=0;n<y.length;n++){const o=e?e+1:v;const s=y[n];const r=t.slice(o,s);if(u.tokens){if(n===0&&v!==0){$[n].isPrefix=true;$[n].value=X}else{$[n].value=r}depth($[n]);Q.maxDepth+=$[n].depth}if(n!==0||r!==\"\"){x.push(r)}e=s}if(e&&e+1<t.length){const n=t.slice(e+1);x.push(n);if(u.tokens){$[$.length-1].value=n;depth($[$.length-1]);Q.maxDepth+=$[$.length-1].depth}}Q.slashes=y;Q.parts=x}return Q};t.exports=scan},96:(t,e,u)=>{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:r}=u(154);e.isObject=t=>t!==null&&typeof t===\"object\"&&!Array.isArray(t);e.hasRegexChars=t=>s.test(t);e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t);e.escapeRegex=t=>t.replace(r,\"\\\\$1\");e.toPosixSlashes=t=>t.replace(n,\"/\");e.removeBackslashes=t=>t.replace(o,(t=>t===\"\\\\\"?\"\":t));e.escapeLast=(t,u,n)=>{const o=t.lastIndexOf(u,n);if(o===-1)return t;if(t[o-1]===\"\\\\\")return e.escapeLast(t,u,o-1);return`${t.slice(0,o)}\\\\${t.slice(o)}`};e.removePrefix=(t,e={})=>{let u=t;if(u.startsWith(\"./\")){u=u.slice(2);e.prefix=\"./\"}return u};e.wrapOutput=(t,e={},u={})=>{const n=u.contains?\"\":\"^\";const o=u.contains?\"\":\"$\";let s=`${n}(?:${t})${o}`;if(e.negated===true){s=`(?:^(?!${s}).*$)`}return s};e.basename=(t,{windows:e}={})=>{const u=t.split(e?/[\\\\/]/:\"/\");const n=u[u.length-1];if(n===\"\"){return u[u.length-2]}return n}}};var e={};function __nccwpck_require__(u){var n=e[u];if(n!==undefined){return n.exports}var o=e[u]={exports:{}};var s=true;try{t[u](o,o.exports,__nccwpck_require__);s=false}finally{if(s)delete e[u]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var u=__nccwpck_require__(170);module.exports=u})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGljb21hdGNoL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxhQUFhLE9BQU8sY0FBYyxlQUFlLHFCQUFxQix1REFBdUQseUNBQXlDLGtDQUFrQyxVQUFVLE9BQU8sZ0JBQWdCLE9BQU8sV0FBVyxPQUFPLE9BQU8sb0JBQW9CLGNBQWMsZ0NBQWdDLGlEQUFpRCxHQUFHLDBCQUEwQixnQkFBZ0IsMkJBQTJCLG9CQUFvQixTQUFTLGdCQUFnQixhQUFhLEVBQUUsR0FBRyxjQUFjLGNBQWMsY0FBYyxjQUFjLGdCQUFnQixlQUFlLGNBQWMsRUFBRSxLQUFLLGdCQUFnQixFQUFFLEdBQUcsV0FBVyxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLFdBQVcsRUFBRSxJQUFJLFlBQVksU0FBUyx3TUFBd00sU0FBUyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLFNBQVMseUxBQXlMLGFBQWEsRUFBRSw4RUFBOEUsV0FBVyxzRUFBc0UscURBQXFELHlDQUF5QyxnR0FBZ0csNEVBQTRFLHVDQUF1QyxtM0JBQW0zQixPQUFPLEtBQUssMENBQTBDLE9BQU8sR0FBRyxNQUFNLG1DQUFtQyxNQUFNLGtDQUFrQyxNQUFNLGtDQUFrQyxNQUFNLGlDQUFpQyxjQUFjLHNCQUFzQixlQUFlLGVBQWUs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QUFPLGFBQWEsU0FBUyxPQUFPLG1CQUFtQixRQUFRLFFBQVEsUUFBUSxTQUFTLFNBQVMsUUFBUSxlQUFlLGFBQWEsS0FBSyxxQkFBcUIsZUFBZSxhQUFhLGtCQUFrQixLQUFLLElBQUksS0FBSyxJQUFJLDhCQUE4Qiw4Q0FBOEMsaUJBQWlCLHNCQUFzQiw4QkFBOEIsZ0JBQWdCLDBCQUEwQixTQUFTLDJIQUEySCxvQkFBb0IsYUFBYSx3QkFBd0IsVUFBVSxXQUFXLG9DQUFvQyxNQUFNLFlBQVksV0FBVyxLQUFLLGdCQUFnQixhQUFhLHFCQUFxQixhQUFhLGlCQUFpQixtQkFBbUIsYUFBYSxLQUFLLGFBQWEsWUFBWSx1QkFBdUIsa0JBQWtCLFVBQVUsSUFBSSxvQkFBb0IscUJBQXFCLFVBQVUsYUFBYSxzQkFBc0IscUJBQXFCLGlDQUFpQyxZQUFZLFVBQVUsVUFBVSxlQUFlLGNBQWMsTUFBTSw4RkFBOEYsUUFBUSwrREFBK0QsNkJBQTZCLGtEQUFrRCxxQ0FBcUMscUNBQXFDLHVEQUF1RCx1QkFBdUIsMkJBQTJCLG1CQUFtQiw4Q0FBOEMsU0FBUyxhQUFhLElBQUksV0FBVyxHQUFHLHNCQUFzQixJQUFJLFFBQVEsdUJBQXVCLGFBQWEsY0FBYyxVQUFVLG9CQUFvQixLQUFLLElBQUksMEJBQTBCLDBCQUEwQixTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLHFCQUFxQixZQUFZLEVBQUUsT0FBTyxVQUFVLGVBQWUsVUFBVSxHQUFHLElBQUksK0JBQStCLHNCQUFzQixXQUFXLHFCQUFxQixZQUFZLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLFlBQVksV0FBVyxJQUFJLHNDQUFzQyxRQUFRLFFBQVEsaUJBQWlCLGlCQUFpQixtRUFBbUUsU0FBUyxLQUFLLCtCQUErQixpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanM/NDVjZSJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgdD17MTcwOih0LGUsdSk9Pntjb25zdCBuPXUoNTEwKTtjb25zdCBpc1dpbmRvd3M9KCk9PntpZih0eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmbmF2aWdhdG9yLnBsYXRmb3JtKXtjb25zdCB0PW5hdmlnYXRvci5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09XCJ3aW4zMlwifHx0PT09XCJ3aW5kb3dzXCJ9aWYodHlwZW9mIHByb2Nlc3MhPT1cInVuZGVmaW5lZFwiJiZwcm9jZXNzLnBsYXRmb3JtKXtyZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybT09PVwid2luMzJcIn1yZXR1cm4gZmFsc2V9O2Z1bmN0aW9uIHBpY29tYXRjaCh0LGUsdT1mYWxzZSl7aWYoZSYmKGUud2luZG93cz09PW51bGx8fGUud2luZG93cz09PXVuZGVmaW5lZCkpe2U9ey4uLmUsd2luZG93czppc1dpbmRvd3MoKX19cmV0dXJuIG4odCxlLHUpfU9iamVjdC5hc3NpZ24ocGljb21hdGNoLG4pO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDE1NDp0PT57Y29uc3QgZT1cIlxcXFxcXFxcL1wiO2NvbnN0IHU9YFteJHtlfV1gO2NvbnN0IG49XCJcXFxcLlwiO2NvbnN0IG89XCJcXFxcK1wiO2NvbnN0IHM9XCJcXFxcP1wiO2NvbnN0IHI9XCJcXFxcL1wiO2NvbnN0IGE9XCIoPz0uKVwiO2NvbnN0IGk9XCJbXi9dXCI7Y29uc3QgYz1gKD86JHtyfXwkKWA7Y29uc3QgcD1gKD86Xnwke3J9KWA7Y29uc3QgbD1gJHtufXsxLDJ9JHtjfWA7Y29uc3QgZj1gKD8hJHtufSlgO2NvbnN0IEE9YCg/ISR7cH0ke2x9KWA7Y29uc3QgXz1gKD8hJHtufXswLDF9JHtjfSlgO2NvbnN0IFI9YCg/ISR7bH0pYDtjb25zdCBFPWBbXi4ke3J9XWA7Y29uc3QgaD1gJHtpfSo/YDtjb25zdCBnPVwiL1wiO2NvbnN0IGI9e0RPVF9MSVRFUkFMOm4sUExVU19MSVRFUkFMOm8sUU1BUktfTElURVJBTDpzLFNMQVNIX0xJVEVSQUw6cixPTkVfQ0hBUjphLFFNQVJLOmksRU5EX0FOQ0hPUjpjLERPVFNfU0xBU0g6bCxOT19ET1Q6ZixOT19ET1RTOkEsTk9fRE9UX1NMQVNIOl8sTk9fRE9UU19TTEFTSDpSLFFNQVJLX05PX0RPVDpFLFNUQVI6aCxTVEFSVF9BTkNIT1I6cCxTRVA6Z307Y29uc3QgQz17Li4uYixTTEFTSF9MSVRFUkFMOmBbJHtlfV1gLFFNQVJLOnUsU1RBUjpgJHt1fSo/YCxET1RTX1NMQVNIOmAke259ezEsMn0oPzpbJHtlfV18JClgLE5PX0RPVDpgKD8hJHtufSlgLE5PX0RPVFM6YCg/ISg/Ol58WyR7ZX1dKSR7bn17MSwyfSg/Olske2V9XXwkKSlgLE5PX0RPVF9TTEFTSDpgKD8hJHtufXswLDF9KD86WyR7ZX1dfCQpKWAsTk9fRE9UU19TTEFTSDpgKD8hJHtufXsxLDJ9KD86WyR7ZX1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2V9XWAsU1RBUlRfQU5DSE9SOmAoPzpefFske2V9XSlgLEVORF9BTkNIT1I6YCg/Olske2V9XXwkKWAsU0VQOlwiXFxcXFwifTtjb25zdCB5PXthbG51bTpcImEtekEtWjAtOVwiLGFscGhhOlwiYS16QS1aXCIsYXNjaWk6XCJcXFxceDAwLVxcXFx4N0ZcIixibGFuazpcIiBcXFxcdFwiLGNudHJsOlwiXFxcXHgwMC1cXFxceDFGXFxcXHg3RlwiLGRpZ2l0OlwiMC05XCIsZ3JhcGg6XCJcXFxceDIxLVxcXFx4N0VcIixsb3dlcjpcImEtelwiLHByaW50OlwiXFxcXHgyMC1cXFxceDdFIFwiLHB1bmN0OlwiXFxcXC0hXFxcIiMkJSYnKClcXFxcKissLi86Ozw9Pj9AW1xcXFxdXl9ge3x9flwiLHNwYWNlOlwiIFxcXFx0XFxcXHJcXFxcblxcXFx2XFxcXGZcIix1cHBlcjpcIkEtWlwiLHdvcmQ6XCJBLVphLXowLTlfXCIseGRpZ2l0OlwiQS1GYS1mMC05XCJ9O3QuZXhwb3J0cz17TUFYX0xFTkdUSDoxMDI0KjY0LFBPU0lYX1JFR0VYX1NPVVJDRTp5LFJFR0VYX0JBQ0tTTEFTSDovXFxcXCg/IVsqKz9eJHt9KHwpW1xcXV0pL2csUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6L15bXkAhW1xcXS4sJCorP157fSgpfFxcXFwvXSsvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6L1stKis/Ll4ke30ofClbXFxdXS8sUkVHRVhfU1BFQ0lBTF9DSEFSU19CQUNLUkVGOi8oXFxcXD8pKChcXFcpKFxcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXF1dKS9nLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6Lyg/OlxcWy4qP1teXFxcXF1cXF18XFxcXCg/PS4pKS9nLFJFUExBQ0VNRU5UUzp7XCIqKipcIjpcIipcIixcIioqLyoqXCI6XCIqKlwiLFwiKiovKiovKipcIjpcIioqXCJ9LENIQVJfMDo0OCxDSEFSXzk6NTcsQ0hBUl9VUFBFUkNBU0VfQTo2NSxDSEFSX0xPV0VSQ0FTRV9BOjk3LENIQVJfVVBQRVJDQVNFX1o6OTAsQ0hBUl9MT1dFUkNBU0VfWjoxMjIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOjQwLENIQVJfUklHSFRfUEFSRU5USEVTRVM6NDEsQ0hBUl9BU1RFUklTSzo0MixDSEFSX0FNUEVSU0FORDozOCxDSEFSX0FUOjY0LENIQVJfQkFDS1dBUkRfU0xBU0g6OTIsQ0hBUl9DQVJSSUFHRV9SRVRVUk46MTMsQ0hBUl9DSVJDVU1GTEVYX0FDQ0VOVDo5NCxDSEFSX0NPTE9OOjU4LENIQVJfQ09NTUE6NDQsQ0hBUl9ET1Q6NDYsQ0hBUl9ET1VCTEVfUVVPVEU6MzQsQ0hBUl9FUVVBTDo2MSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6MzMsQ0hBUl9GT1JNX0ZFRUQ6MTIsQ0hBUl9GT1JXQVJEX1NMQVNIOjQ3LENIQVJfR1JBVkVfQUNDRU5UOjk2LENIQVJfSEFTSDozNSxDSEFSX0hZUEhFTl9NSU5VUzo0NSxDSEFSX0xFRlRfQU5HTEVfQlJBQ0tFVDo2MCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6MTIzLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDo5MSxDSEFSX0xJTkVfRkVFRDoxMCxDSEFSX05PX0JSRUFLX1NQQUNFOjE2MCxDSEFSX1BFUkNFTlQ6MzcsQ0hBUl9QTFVTOjQzLENIQVJfUVVFU1RJT05fTUFSSzo2MyxDSEFSX1JJR0hUX0FOR0xFX0JSQUNLRVQ6NjIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToxMjUsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDo5MyxDSEFSX1NFTUlDT0xPTjo1OSxDSEFSX1NJTkdMRV9RVU9URTozOSxDSEFSX1NQQUNFOjMyLENIQVJfVEFCOjksQ0hBUl9VTkRFUlNDT1JFOjk1LENIQVJfVkVSVElDQUxfTElORToxMjQsQ0hBUl9aRVJPX1dJRFRIX05PQlJFQUtfU1BBQ0U6NjUyNzksZXh0Z2xvYkNoYXJzKHQpe3JldHVybntcIiFcIjp7dHlwZTpcIm5lZ2F0ZVwiLG9wZW46XCIoPzooPyEoPzpcIixjbG9zZTpgKSkke3QuU1RBUn0pYH0sXCI/XCI6e3R5cGU6XCJxbWFya1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIik/XCJ9LFwiK1wiOnt0eXBlOlwicGx1c1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIikrXCJ9LFwiKlwiOnt0eXBlOlwic3RhclwiLG9wZW46XCIoPzpcIixjbG9zZTpcIikqXCJ9LFwiQFwiOnt0eXBlOlwiYXRcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpXCJ9fX0sZ2xvYkNoYXJzKHQpe3JldHVybiB0PT09dHJ1ZT9DOmJ9fX0sNjk3Oih0LGUsdSk9Pntjb25zdCBuPXUoMTU0KTtjb25zdCBvPXUoOTYpO2NvbnN0e01BWF9MRU5HVEg6cyxQT1NJWF9SRUdFWF9TT1VSQ0U6cixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzphLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjppLFJFUExBQ0VNRU5UUzpjfT1uO2NvbnN0IGV4cGFuZFJhbmdlPSh0LGUpPT57aWYodHlwZW9mIGUuZXhwYW5kUmFuZ2U9PT1cImZ1bmN0aW9uXCIpe3JldHVybiBlLmV4cGFuZFJhbmdlKC4uLnQsZSl9dC5zb3J0KCk7Y29uc3QgdT1gWyR7dC5qb2luKFwiLVwiKX1dYDt0cnl7bmV3IFJlZ0V4cCh1KX1jYXRjaChlKXtyZXR1cm4gdC5tYXAoKHQ9Pm8uZXNjYXBlUmVnZXgodCkpKS5qb2luKFwiLi5cIil9cmV0dXJuIHV9O2NvbnN0IHN5bnRheEVycm9yPSh0LGUpPT5gTWlzc2luZyAke3R9OiBcIiR7ZX1cIiAtIHVzZSBcIlxcXFxcXFxcJHtlfVwiIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2A7Y29uc3QgcGFyc2U9KHQsZSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKX10PWNbdF18fHQ7Y29uc3QgdT17Li4uZX07Y29uc3QgcD10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7bGV0IGw9dC5sZW5ndGg7aWYobD5wKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtsfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3B9YCl9Y29uc3QgZj17dHlwZTpcImJvc1wiLHZhbHVlOlwiXCIsb3V0cHV0OnUucHJlcGVuZHx8XCJcIn07Y29uc3QgQT1bZl07Y29uc3QgXz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgUj1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IEU9bi5leHRnbG9iQ2hhcnMoUik7Y29uc3R7RE9UX0xJVEVSQUw6aCxQTFVTX0xJVEVSQUw6ZyxTTEFTSF9MSVRFUkFMOmIsT05FX0NIQVI6QyxET1RTX1NMQVNIOnksTk9fRE9UOiQsTk9fRE9UX1NMQVNIOngsTk9fRE9UU19TTEFTSDpTLFFNQVJLOkgsUU1BUktfTk9fRE9UOnYsU1RBUjpkLFNUQVJUX0FOQ0hPUjpMfT1SO2NvbnN0IGdsb2JzdGFyPXQ9PmAoJHtffSg/Oig/ISR7TH0ke3QuZG90P3k6aH0pLikqPylgO2NvbnN0IFQ9dS5kb3Q/XCJcIjokO2NvbnN0IE89dS5kb3Q/SDp2O2xldCBrPXUuYmFzaD09PXRydWU/Z2xvYnN0YXIodSk6ZDtpZih1LmNhcHR1cmUpe2s9YCgke2t9KWB9aWYodHlwZW9mIHUubm9leHQ9PT1cImJvb2xlYW5cIil7dS5ub2V4dGdsb2I9dS5ub2V4dH1jb25zdCBtPXtpbnB1dDp0LGluZGV4Oi0xLHN0YXJ0OjAsZG90OnUuZG90PT09dHJ1ZSxjb25zdW1lZDpcIlwiLG91dHB1dDpcIlwiLHByZWZpeDpcIlwiLGJhY2t0cmFjazpmYWxzZSxuZWdhdGVkOmZhbHNlLGJyYWNrZXRzOjAsYnJhY2VzOjAscGFyZW5zOjAscXVvdGVzOjAsZ2xvYnN0YXI6ZmFsc2UsdG9rZW5zOkF9O3Q9by5yZW1vdmVQcmVmaXgodCxtKTtsPXQubGVuZ3RoO2NvbnN0IHc9W107Y29uc3QgTj1bXTtjb25zdCBJPVtdO2xldCBCPWY7bGV0IEc7Y29uc3QgZW9zPSgpPT5tLmluZGV4PT09bC0xO2NvbnN0IEQ9bS5wZWVrPShlPTEpPT50W20uaW5kZXgrZV07Y29uc3QgTT1tLmFkdmFuY2U9KCk9PnRbKyttLmluZGV4XXx8XCJcIjtjb25zdCByZW1haW5pbmc9KCk9PnQuc2xpY2UobS5pbmRleCsxKTtjb25zdCBjb25zdW1lPSh0PVwiXCIsZT0wKT0+e20uY29uc3VtZWQrPXQ7bS5pbmRleCs9ZX07Y29uc3QgYXBwZW5kPXQ9PnttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtjb25zdW1lKHQudmFsdWUpfTtjb25zdCBuZWdhdGU9KCk9PntsZXQgdD0xO3doaWxlKEQoKT09PVwiIVwiJiYoRCgyKSE9PVwiKFwifHxEKDMpPT09XCI/XCIpKXtNKCk7bS5zdGFydCsrO3QrK31pZih0JTI9PT0wKXtyZXR1cm4gZmFsc2V9bS5uZWdhdGVkPXRydWU7bS5zdGFydCsrO3JldHVybiB0cnVlfTtjb25zdCBpbmNyZW1lbnQ9dD0+e21bdF0rKztJLnB1c2godCl9O2NvbnN0IGRlY3JlbWVudD10PT57bVt0XS0tO0kucG9wKCl9O2NvbnN0IHB1c2g9dD0+e2lmKEIudHlwZT09PVwiZ2xvYnN0YXJcIil7Y29uc3QgZT1tLmJyYWNlcz4wJiYodC50eXBlPT09XCJjb21tYVwifHx0LnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IHU9dC5leHRnbG9iPT09dHJ1ZXx8dy5sZW5ndGgmJih0LnR5cGU9PT1cInBpcGVcInx8dC50eXBlPT09XCJwYXJlblwiKTtpZih0LnR5cGUhPT1cInNsYXNoXCImJnQudHlwZSE9PVwicGFyZW5cIiYmIWUmJiF1KXttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cInN0YXJcIjtCLnZhbHVlPVwiKlwiO0Iub3V0cHV0PWs7bS5vdXRwdXQrPUIub3V0cHV0fX1pZih3Lmxlbmd0aCYmdC50eXBlIT09XCJwYXJlblwiKXt3W3cubGVuZ3RoLTFdLmlubmVyKz10LnZhbHVlfWlmKHQudmFsdWV8fHQub3V0cHV0KWFwcGVuZCh0KTtpZihCJiZCLnR5cGU9PT1cInRleHRcIiYmdC50eXBlPT09XCJ0ZXh0XCIpe0Iub3V0cHV0PShCLm91dHB1dHx8Qi52YWx1ZSkrdC52YWx1ZTtCLnZhbHVlKz10LnZhbHVlO3JldHVybn10LnByZXY9QjtBLnB1c2godCk7Qj10fTtjb25zdCBleHRnbG9iT3Blbj0odCxlKT0+e2NvbnN0IG49ey4uLkVbZV0sY29uZGl0aW9uczoxLGlubmVyOlwiXCJ9O24ucHJldj1CO24ucGFyZW5zPW0ucGFyZW5zO24ub3V0cHV0PW0ub3V0cHV0O2NvbnN0IG89KHUuY2FwdHVyZT9cIihcIjpcIlwiKStuLm9wZW47aW5jcmVtZW50KFwicGFyZW5zXCIpO3B1c2goe3R5cGU6dCx2YWx1ZTplLG91dHB1dDptLm91dHB1dD9cIlwiOkN9KTtwdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6TSgpLG91dHB1dDpvfSk7dy5wdXNoKG4pfTtjb25zdCBleHRnbG9iQ2xvc2U9dD0+e2xldCBuPXQuY2xvc2UrKHUuY2FwdHVyZT9cIilcIjpcIlwiKTtsZXQgbztpZih0LnR5cGU9PT1cIm5lZ2F0ZVwiKXtsZXQgcz1rO2lmKHQuaW5uZXImJnQuaW5uZXIubGVuZ3RoPjEmJnQuaW5uZXIuaW5jbHVkZXMoXCIvXCIpKXtzPWdsb2JzdGFyKHUpfWlmKHMhPT1rfHxlb3MoKXx8L15cXCkrJC8udGVzdChyZW1haW5pbmcoKSkpe249dC5jbG9zZT1gKSQpKSR7c31gfWlmKHQuaW5uZXIuaW5jbHVkZXMoXCIqXCIpJiYobz1yZW1haW5pbmcoKSkmJi9eXFwuW15cXFxcLy5dKyQvLnRlc3Qobykpe2NvbnN0IHU9cGFyc2Uobyx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KS5vdXRwdXQ7bj10LmNsb3NlPWApJHt1fSkke3N9KWB9aWYodC5wcmV2LnR5cGU9PT1cImJvc1wiKXttLm5lZ2F0ZWRFeHRnbG9iPXRydWV9fXB1c2goe3R5cGU6XCJwYXJlblwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpufSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpfTtpZih1LmZhc3RwYXRocyE9PWZhbHNlJiYhLyheWyohXXxbLygpW1xcXXt9XCJdKS8udGVzdCh0KSl7bGV0IG49ZmFsc2U7bGV0IHM9dC5yZXBsYWNlKGksKCh0LGUsdSxvLHMscik9PntpZihvPT09XCJcXFxcXCIpe249dHJ1ZTtyZXR1cm4gdH1pZihvPT09XCI/XCIpe2lmKGUpe3JldHVybiBlK28rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfWlmKHI9PT0wKXtyZXR1cm4gTysocz9ILnJlcGVhdChzLmxlbmd0aCk6XCJcIil9cmV0dXJuIEgucmVwZWF0KHUubGVuZ3RoKX1pZihvPT09XCIuXCIpe3JldHVybiBoLnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiKlwiKXtpZihlKXtyZXR1cm4gZStvKyhzP2s6XCJcIil9cmV0dXJuIGt9cmV0dXJuIGU/dDpgXFxcXCR7dH1gfSkpO2lmKG49PT10cnVlKXtpZih1LnVuZXNjYXBlPT09dHJ1ZSl7cz1zLnJlcGxhY2UoL1xcXFwvZyxcIlwiKX1lbHNle3M9cy5yZXBsYWNlKC9cXFxcKy9nLCh0PT50Lmxlbmd0aCUyPT09MD9cIlxcXFxcXFxcXCI6dD9cIlxcXFxcIjpcIlwiKSl9fWlmKHM9PT10JiZ1LmNvbnRhaW5zPT09dHJ1ZSl7bS5vdXRwdXQ9dDtyZXR1cm4gbX1tLm91dHB1dD1vLndyYXBPdXRwdXQocyxtLGUpO3JldHVybiBtfXdoaWxlKCFlb3MoKSl7Rz1NKCk7aWYoRz09PVwiXFwwXCIpe2NvbnRpbnVlfWlmKEc9PT1cIlxcXFxcIil7Y29uc3QgdD1EKCk7aWYodD09PVwiL1wiJiZ1LmJhc2ghPT10cnVlKXtjb250aW51ZX1pZih0PT09XCIuXCJ8fHQ9PT1cIjtcIil7Y29udGludWV9aWYoIXQpe0crPVwiXFxcXFwiO3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWNvbnN0IGU9L15cXFxcKy8uZXhlYyhyZW1haW5pbmcoKSk7bGV0IG49MDtpZihlJiZlWzBdLmxlbmd0aD4yKXtuPWVbMF0ubGVuZ3RoO20uaW5kZXgrPW47aWYobiUyIT09MCl7Rys9XCJcXFxcXCJ9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtHPU0oKX1lbHNle0crPU0oKX1pZihtLmJyYWNrZXRzPT09MCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9fWlmKG0uYnJhY2tldHM+MCYmKEchPT1cIl1cInx8Qi52YWx1ZT09PVwiW1wifHxCLnZhbHVlPT09XCJbXlwiKSl7aWYodS5wb3NpeCE9PWZhbHNlJiZHPT09XCI6XCIpe2NvbnN0IHQ9Qi52YWx1ZS5zbGljZSgxKTtpZih0LmluY2x1ZGVzKFwiW1wiKSl7Qi5wb3NpeD10cnVlO2lmKHQuaW5jbHVkZXMoXCI6XCIpKXtjb25zdCB0PUIudmFsdWUubGFzdEluZGV4T2YoXCJbXCIpO2NvbnN0IGU9Qi52YWx1ZS5zbGljZSgwLHQpO2NvbnN0IHU9Qi52YWx1ZS5zbGljZSh0KzIpO2NvbnN0IG49clt1XTtpZihuKXtCLnZhbHVlPWUrbjttLmJhY2t0cmFjaz10cnVlO00oKTtpZighZi5vdXRwdXQmJkEuaW5kZXhPZihCKT09PTEpe2Yub3V0cHV0PUN9Y29udGludWV9fX19aWYoRz09PVwiW1wiJiZEKCkhPT1cIjpcInx8Rz09PVwiLVwiJiZEKCk9PT1cIl1cIil7Rz1gXFxcXCR7R31gfWlmKEc9PT1cIl1cIiYmKEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe0c9YFxcXFwke0d9YH1pZih1LnBvc2l4PT09dHJ1ZSYmRz09PVwiIVwiJiZCLnZhbHVlPT09XCJbXCIpe0c9XCJeXCJ9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihtLnF1b3Rlcz09PTEmJkchPT0nXCInKXtHPW8uZXNjYXBlUmVnZXgoRyk7Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09J1wiJyl7bS5xdW90ZXM9bS5xdW90ZXM9PT0xPzA6MTtpZih1LmtlZXBRdW90ZXM9PT10cnVlKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KX1jb250aW51ZX1pZihHPT09XCIoXCIpe2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOlwicGFyZW5cIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiKVwiKXtpZihtLnBhcmVucz09PTAmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCIoXCIpKX1jb25zdCB0PXdbdy5sZW5ndGgtMV07aWYodCYmbS5wYXJlbnM9PT10LnBhcmVucysxKXtleHRnbG9iQ2xvc2Uody5wb3AoKSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6RyxvdXRwdXQ6bS5wYXJlbnM/XCIpXCI6XCJcXFxcKVwifSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpO2NvbnRpbnVlfWlmKEc9PT1cIltcIil7aWYodS5ub2JyYWNrZXQ9PT10cnVlfHwhcmVtYWluaW5nKCkuaW5jbHVkZXMoXCJdXCIpKXtpZih1Lm5vYnJhY2tldCE9PXRydWUmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKX1HPWBcXFxcJHtHfWB9ZWxzZXtpbmNyZW1lbnQoXCJicmFja2V0c1wiKX1wdXNoKHt0eXBlOlwiYnJhY2tldFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCJdXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8QiYmQi50eXBlPT09XCJicmFja2V0XCImJkIudmFsdWUubGVuZ3RoPT09MSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9aWYobS5icmFja2V0cz09PTApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCJbXCIpKX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmBcXFxcJHtHfWB9KTtjb250aW51ZX1kZWNyZW1lbnQoXCJicmFja2V0c1wiKTtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYoQi5wb3NpeCE9PXRydWUmJnRbMF09PT1cIl5cIiYmIXQuaW5jbHVkZXMoXCIvXCIpKXtHPWAvJHtHfWB9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtpZih1LmxpdGVyYWxCcmFja2V0cz09PWZhbHNlfHxvLmhhc1JlZ2V4Q2hhcnModCkpe2NvbnRpbnVlfWNvbnN0IGU9by5lc2NhcGVSZWdleChCLnZhbHVlKTttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLnZhbHVlLmxlbmd0aCk7aWYodS5saXRlcmFsQnJhY2tldHM9PT10cnVlKXttLm91dHB1dCs9ZTtCLnZhbHVlPWU7Y29udGludWV9Qi52YWx1ZT1gKCR7X30ke2V9fCR7Qi52YWx1ZX0pYDttLm91dHB1dCs9Qi52YWx1ZTtjb250aW51ZX1pZihHPT09XCJ7XCImJnUubm9icmFjZSE9PXRydWUpe2luY3JlbWVudChcImJyYWNlc1wiKTtjb25zdCB0PXt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDpcIihcIixvdXRwdXRJbmRleDptLm91dHB1dC5sZW5ndGgsdG9rZW5zSW5kZXg6bS50b2tlbnMubGVuZ3RofTtOLnB1c2godCk7cHVzaCh0KTtjb250aW51ZX1pZihHPT09XCJ9XCIpe2NvbnN0IHQ9TltOLmxlbmd0aC0xXTtpZih1Lm5vYnJhY2U9PT10cnVlfHwhdCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpHfSk7Y29udGludWV9bGV0IGU9XCIpXCI7aWYodC5kb3RzPT09dHJ1ZSl7Y29uc3QgdD1BLnNsaWNlKCk7Y29uc3Qgbj1bXTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7QS5wb3AoKTtpZih0W2VdLnR5cGU9PT1cImJyYWNlXCIpe2JyZWFrfWlmKHRbZV0udHlwZSE9PVwiZG90c1wiKXtuLnVuc2hpZnQodFtlXS52YWx1ZSl9fWU9ZXhwYW5kUmFuZ2Uobix1KTttLmJhY2t0cmFjaz10cnVlfWlmKHQuY29tbWEhPT10cnVlJiZ0LmRvdHMhPT10cnVlKXtjb25zdCB1PW0ub3V0cHV0LnNsaWNlKDAsdC5vdXRwdXRJbmRleCk7Y29uc3Qgbj1tLnRva2Vucy5zbGljZSh0LnRva2Vuc0luZGV4KTt0LnZhbHVlPXQub3V0cHV0PVwiXFxcXHtcIjtHPWU9XCJcXFxcfVwiO20ub3V0cHV0PXU7Zm9yKGNvbnN0IHQgb2Ygbil7bS5vdXRwdXQrPXQub3V0cHV0fHx0LnZhbHVlfX1wdXNoKHt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDplfSk7ZGVjcmVtZW50KFwiYnJhY2VzXCIpO04ucG9wKCk7Y29udGludWV9aWYoRz09PVwifFwiKXtpZih3Lmxlbmd0aD4wKXt3W3cubGVuZ3RoLTFdLmNvbmRpdGlvbnMrK31wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCIsXCIpe2xldCB0PUc7Y29uc3QgZT1OW04ubGVuZ3RoLTFdO2lmKGUmJklbSS5sZW5ndGgtMV09PT1cImJyYWNlc1wiKXtlLmNvbW1hPXRydWU7dD1cInxcIn1wdXNoKHt0eXBlOlwiY29tbWFcIix2YWx1ZTpHLG91dHB1dDp0fSk7Y29udGludWV9aWYoRz09PVwiL1wiKXtpZihCLnR5cGU9PT1cImRvdFwiJiZtLmluZGV4PT09bS5zdGFydCsxKXttLnN0YXJ0PW0uaW5kZXgrMTttLmNvbnN1bWVkPVwiXCI7bS5vdXRwdXQ9XCJcIjtBLnBvcCgpO0I9Zjtjb250aW51ZX1wdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpHLG91dHB1dDpifSk7Y29udGludWV9aWYoRz09PVwiLlwiKXtpZihtLmJyYWNlcz4wJiZCLnR5cGU9PT1cImRvdFwiKXtpZihCLnZhbHVlPT09XCIuXCIpQi5vdXRwdXQ9aDtjb25zdCB0PU5bTi5sZW5ndGgtMV07Qi50eXBlPVwiZG90c1wiO0Iub3V0cHV0Kz1HO0IudmFsdWUrPUc7dC5kb3RzPXRydWU7Y29udGludWV9aWYobS5icmFjZXMrbS5wYXJlbnM9PT0wJiZCLnR5cGUhPT1cImJvc1wiJiZCLnR5cGUhPT1cInNsYXNoXCIpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJkb3RcIix2YWx1ZTpHLG91dHB1dDpofSk7Y29udGludWV9aWYoRz09PVwiP1wiKXtjb25zdCB0PUImJkIudmFsdWU9PT1cIihcIjtpZighdCYmdS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIiYmRCgyKSE9PVwiP1wiKXtleHRnbG9iT3BlbihcInFtYXJrXCIsRyk7Y29udGludWV9aWYoQiYmQi50eXBlPT09XCJwYXJlblwiKXtjb25zdCB0PUQoKTtsZXQgZT1HO2lmKEIudmFsdWU9PT1cIihcIiYmIS9bIT08Ol0vLnRlc3QodCl8fHQ9PT1cIjxcIiYmIS88KFshPV18XFx3Kz4pLy50ZXN0KHJlbWFpbmluZygpKSl7ZT1gXFxcXCR7R31gfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2NvbnRpbnVlfWlmKHUuZG90IT09dHJ1ZSYmKEIudHlwZT09PVwic2xhc2hcInx8Qi50eXBlPT09XCJib3NcIikpe3B1c2goe3R5cGU6XCJxbWFya1wiLHZhbHVlOkcsb3V0cHV0OnZ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDpIfSk7Y29udGludWV9aWYoRz09PVwiIVwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiKXtpZihEKDIpIT09XCI/XCJ8fCEvWyE9PDpdLy50ZXN0KEQoMykpKXtleHRnbG9iT3BlbihcIm5lZ2F0ZVwiLEcpO2NvbnRpbnVlfX1pZih1Lm5vbmVnYXRlIT09dHJ1ZSYmbS5pbmRleD09PTApe25lZ2F0ZSgpO2NvbnRpbnVlfX1pZihHPT09XCIrXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJwbHVzXCIsRyk7Y29udGludWV9aWYoQiYmQi52YWx1ZT09PVwiKFwifHx1LnJlZ2V4PT09ZmFsc2Upe3B1c2goe3R5cGU6XCJwbHVzXCIsdmFsdWU6RyxvdXRwdXQ6Z30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwifHxCLnR5cGU9PT1cImJyYWNlXCIpfHxtLnBhcmVucz4wKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkd9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOmd9KTtjb250aW51ZX1pZihHPT09XCJAXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7cHVzaCh7dHlwZTpcImF0XCIsZXh0Z2xvYjp0cnVlLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHIT09XCIqXCIpe2lmKEc9PT1cIiRcInx8Rz09PVwiXlwiKXtHPWBcXFxcJHtHfWB9Y29uc3QgdD1hLmV4ZWMocmVtYWluaW5nKCkpO2lmKHQpe0crPXRbMF07bS5pbmRleCs9dFswXS5sZW5ndGh9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiZ2xvYnN0YXJcInx8Qi5zdGFyPT09dHJ1ZSkpe0IudHlwZT1cInN0YXJcIjtCLnN0YXI9dHJ1ZTtCLnZhbHVlKz1HO0Iub3V0cHV0PWs7bS5iYWNrdHJhY2s9dHJ1ZTttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1sZXQgZT1yZW1haW5pbmcoKTtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJi9eXFwoW14/XS8udGVzdChlKSl7ZXh0Z2xvYk9wZW4oXCJzdGFyXCIsRyk7Y29udGludWV9aWYoQi50eXBlPT09XCJzdGFyXCIpe2lmKHUubm9nbG9ic3Rhcj09PXRydWUpe2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj1CLnByZXY7Y29uc3Qgbz1uLnByZXY7Y29uc3Qgcz1uLnR5cGU9PT1cInNsYXNoXCJ8fG4udHlwZT09PVwiYm9zXCI7Y29uc3Qgcj1vJiYoby50eXBlPT09XCJzdGFyXCJ8fG8udHlwZT09PVwiZ2xvYnN0YXJcIik7aWYodS5iYXNoPT09dHJ1ZSYmKCFzfHxlWzBdJiZlWzBdIT09XCIvXCIpKXtwdXNoKHt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1jb25zdCBhPW0uYnJhY2VzPjAmJihuLnR5cGU9PT1cImNvbW1hXCJ8fG4udHlwZT09PVwiYnJhY2VcIik7Y29uc3QgaT13Lmxlbmd0aCYmKG4udHlwZT09PVwicGlwZVwifHxuLnR5cGU9PT1cInBhcmVuXCIpO2lmKCFzJiZuLnR5cGUhPT1cInBhcmVuXCImJiFhJiYhaSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9d2hpbGUoZS5zbGljZSgwLDMpPT09XCIvKipcIil7Y29uc3QgdT10W20uaW5kZXgrNF07aWYodSYmdSE9PVwiL1wiKXticmVha31lPWUuc2xpY2UoMyk7Y29uc3VtZShcIi8qKlwiLDMpfWlmKG4udHlwZT09PVwiYm9zXCImJmVvcygpKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7bS5vdXRwdXQ9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9aWYobi50eXBlPT09XCJzbGFzaFwiJiZuLnByZXYudHlwZSE9PVwiYm9zXCImJiFyJiZlb3MoKSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KSsodS5zdHJpY3RTbGFzaGVzP1wiKVwiOlwifCQpXCIpO0IudmFsdWUrPUc7bS5nbG9ic3Rhcj10cnVlO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe2NvbnN0IHQ9ZVsxXSE9PXZvaWQgMD9cInwkXCI6XCJcIjttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC0obi5vdXRwdXQrQi5vdXRwdXQpLmxlbmd0aCk7bi5vdXRwdXQ9YCg/OiR7bi5vdXRwdXR9YDtCLnR5cGU9XCJnbG9ic3RhclwiO0Iub3V0cHV0PWAke2dsb2JzdGFyKHUpfSR7Yn18JHtifSR7dH0pYDtCLnZhbHVlKz1HO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1pZihuLnR5cGU9PT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe0IudHlwZT1cImdsb2JzdGFyXCI7Qi52YWx1ZSs9RztCLm91dHB1dD1gKD86Xnwke2J9fCR7Z2xvYnN0YXIodSl9JHtifSlgO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcrTSgpKTtwdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpcIi9cIixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfW0ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLUIub3V0cHV0Lmxlbmd0aCk7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KTtCLnZhbHVlKz1HO20ub3V0cHV0Kz1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1jb25zdCBuPXt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0Omt9O2lmKHUuYmFzaD09PXRydWUpe24ub3V0cHV0PVwiLio/XCI7aWYoQi50eXBlPT09XCJib3NcInx8Qi50eXBlPT09XCJzbGFzaFwiKXtuLm91dHB1dD1UK24ub3V0cHV0fXB1c2gobik7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiYnJhY2tldFwifHxCLnR5cGU9PT1cInBhcmVuXCIpJiZ1LnJlZ2V4PT09dHJ1ZSl7bi5vdXRwdXQ9RztwdXNoKG4pO2NvbnRpbnVlfWlmKG0uaW5kZXg9PT1tLnN0YXJ0fHxCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiZG90XCIpe2lmKEIudHlwZT09PVwiZG90XCIpe20ub3V0cHV0Kz14O0Iub3V0cHV0Kz14fWVsc2UgaWYodS5kb3Q9PT10cnVlKXttLm91dHB1dCs9UztCLm91dHB1dCs9U31lbHNle20ub3V0cHV0Kz1UO0Iub3V0cHV0Kz1UfWlmKEQoKSE9PVwiKlwiKXttLm91dHB1dCs9QztCLm91dHB1dCs9Q319cHVzaChuKX13aGlsZShtLmJyYWNrZXRzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIl1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIltcIik7ZGVjcmVtZW50KFwiYnJhY2tldHNcIil9d2hpbGUobS5wYXJlbnM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiKVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwiKFwiKTtkZWNyZW1lbnQoXCJwYXJlbnNcIil9d2hpbGUobS5icmFjZXM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwifVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwie1wiKTtkZWNyZW1lbnQoXCJicmFjZXNcIil9aWYodS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSYmKEIudHlwZT09PVwic3RhclwifHxCLnR5cGU9PT1cImJyYWNrZXRcIikpe3B1c2goe3R5cGU6XCJtYXliZV9zbGFzaFwiLHZhbHVlOlwiXCIsb3V0cHV0OmAke2J9P2B9KX1pZihtLmJhY2t0cmFjaz09PXRydWUpe20ub3V0cHV0PVwiXCI7Zm9yKGNvbnN0IHQgb2YgbS50b2tlbnMpe20ub3V0cHV0Kz10Lm91dHB1dCE9bnVsbD90Lm91dHB1dDp0LnZhbHVlO2lmKHQuc3VmZml4KXttLm91dHB1dCs9dC5zdWZmaXh9fX1yZXR1cm4gbX07cGFyc2UuZmFzdHBhdGhzPSh0LGUpPT57Y29uc3QgdT17Li4uZX07Y29uc3Qgcj10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7Y29uc3QgYT10Lmxlbmd0aDtpZihhPnIpe3Rocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke2F9LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7cn1gKX10PWNbdF18fHQ7Y29uc3R7RE9UX0xJVEVSQUw6aSxTTEFTSF9MSVRFUkFMOnAsT05FX0NIQVI6bCxET1RTX1NMQVNIOmYsTk9fRE9UOkEsTk9fRE9UUzpfLE5PX0RPVFNfU0xBU0g6UixTVEFSOkUsU1RBUlRfQU5DSE9SOmh9PW4uZ2xvYkNoYXJzKHUud2luZG93cyk7Y29uc3QgZz11LmRvdD9fOkE7Y29uc3QgYj11LmRvdD9SOkE7Y29uc3QgQz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgeT17bmVnYXRlZDpmYWxzZSxwcmVmaXg6XCJcIn07bGV0ICQ9dS5iYXNoPT09dHJ1ZT9cIi4qP1wiOkU7aWYodS5jYXB0dXJlKXskPWAoJHskfSlgfWNvbnN0IGdsb2JzdGFyPXQ9PntpZih0Lm5vZ2xvYnN0YXI9PT10cnVlKXJldHVybiAkO3JldHVybmAoJHtDfSg/Oig/ISR7aH0ke3QuZG90P2Y6aX0pLikqPylgfTtjb25zdCBjcmVhdGU9dD0+e3N3aXRjaCh0KXtjYXNlXCIqXCI6cmV0dXJuYCR7Z30ke2x9JHskfWA7Y2FzZVwiLipcIjpyZXR1cm5gJHtpfSR7bH0keyR9YDtjYXNlXCIqLipcIjpyZXR1cm5gJHtnfSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIiovKlwiOnJldHVybmAke2d9JHskfSR7cH0ke2x9JHtifSR7JH1gO2Nhc2VcIioqXCI6cmV0dXJuIGcrZ2xvYnN0YXIodSk7Y2FzZVwiKiovKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHtsfSR7JH1gO2Nhc2VcIioqLyouKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHskfSR7aX0ke2x9JHskfWA7Y2FzZVwiKiovLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtpfSR7bH0keyR9YDtkZWZhdWx0Ontjb25zdCBlPS9eKC4qPylcXC4oXFx3KykkLy5leGVjKHQpO2lmKCFlKXJldHVybjtjb25zdCB1PWNyZWF0ZShlWzFdKTtpZighdSlyZXR1cm47cmV0dXJuIHUraStlWzJdfX19O2NvbnN0IHg9by5yZW1vdmVQcmVmaXgodCx5KTtsZXQgUz1jcmVhdGUoeCk7aWYoUyYmdS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSl7Uys9YCR7cH0/YH1yZXR1cm4gU307dC5leHBvcnRzPXBhcnNlfSw1MTA6KHQsZSx1KT0+e2NvbnN0IG49dSg3MTYpO2NvbnN0IG89dSg2OTcpO2NvbnN0IHM9dSg5Nik7Y29uc3Qgcj11KDE1NCk7Y29uc3QgaXNPYmplY3Q9dD0+dCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtjb25zdCBwaWNvbWF0Y2g9KHQsZSx1PWZhbHNlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG49dC5tYXAoKHQ9PnBpY29tYXRjaCh0LGUsdSkpKTtjb25zdCBhcnJheU1hdGNoZXI9dD0+e2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IHU9ZSh0KTtpZih1KXJldHVybiB1fXJldHVybiBmYWxzZX07cmV0dXJuIGFycmF5TWF0Y2hlcn1jb25zdCBuPWlzT2JqZWN0KHQpJiZ0LnRva2VucyYmdC5pbnB1dDtpZih0PT09XCJcInx8dHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhbil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIHBhdHRlcm4gdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nXCIpfWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLndpbmRvd3M7Y29uc3Qgcj1uP3BpY29tYXRjaC5jb21waWxlUmUodCxlKTpwaWNvbWF0Y2gubWFrZVJlKHQsZSxmYWxzZSx0cnVlKTtjb25zdCBhPXIuc3RhdGU7ZGVsZXRlIHIuc3RhdGU7bGV0IGlzSWdub3JlZD0oKT0+ZmFsc2U7aWYoby5pZ25vcmUpe2NvbnN0IHQ9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2lzSWdub3JlZD1waWNvbWF0Y2goby5pZ25vcmUsdCx1KX1jb25zdCBtYXRjaGVyPSh1LG49ZmFsc2UpPT57Y29uc3R7aXNNYXRjaDppLG1hdGNoOmMsb3V0cHV0OnB9PXBpY29tYXRjaC50ZXN0KHUscixlLHtnbG9iOnQscG9zaXg6c30pO2NvbnN0IGw9e2dsb2I6dCxzdGF0ZTphLHJlZ2V4OnIscG9zaXg6cyxpbnB1dDp1LG91dHB1dDpwLG1hdGNoOmMsaXNNYXRjaDppfTtpZih0eXBlb2Ygby5vblJlc3VsdD09PVwiZnVuY3Rpb25cIil7by5vblJlc3VsdChsKX1pZihpPT09ZmFsc2Upe2wuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKGlzSWdub3JlZCh1KSl7aWYodHlwZW9mIG8ub25JZ25vcmU9PT1cImZ1bmN0aW9uXCIpe28ub25JZ25vcmUobCl9bC5pc01hdGNoPWZhbHNlO3JldHVybiBuP2w6ZmFsc2V9aWYodHlwZW9mIG8ub25NYXRjaD09PVwiZnVuY3Rpb25cIil7by5vbk1hdGNoKGwpfXJldHVybiBuP2w6dHJ1ZX07aWYodSl7bWF0Y2hlci5zdGF0ZT1hfXJldHVybiBtYXRjaGVyfTtwaWNvbWF0Y2gudGVzdD0odCxlLHUse2dsb2I6bixwb3NpeDpvfT17fSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBpbnB1dCB0byBiZSBhIHN0cmluZ1wiKX1pZih0PT09XCJcIil7cmV0dXJue2lzTWF0Y2g6ZmFsc2Usb3V0cHV0OlwiXCJ9fWNvbnN0IHI9dXx8e307Y29uc3QgYT1yLmZvcm1hdHx8KG8/cy50b1Bvc2l4U2xhc2hlczpudWxsKTtsZXQgaT10PT09bjtsZXQgYz1pJiZhP2EodCk6dDtpZihpPT09ZmFsc2Upe2M9YT9hKHQpOnQ7aT1jPT09bn1pZihpPT09ZmFsc2V8fHIuY2FwdHVyZT09PXRydWUpe2lmKHIubWF0Y2hCYXNlPT09dHJ1ZXx8ci5iYXNlbmFtZT09PXRydWUpe2k9cGljb21hdGNoLm1hdGNoQmFzZSh0LGUsdSxvKX1lbHNle2k9ZS5leGVjKGMpfX1yZXR1cm57aXNNYXRjaDpCb29sZWFuKGkpLG1hdGNoOmksb3V0cHV0OmN9fTtwaWNvbWF0Y2gubWF0Y2hCYXNlPSh0LGUsdSk9Pntjb25zdCBuPWUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpwaWNvbWF0Y2gubWFrZVJlKGUsdSk7cmV0dXJuIG4udGVzdChzLmJhc2VuYW1lKHQpKX07cGljb21hdGNoLmlzTWF0Y2g9KHQsZSx1KT0+cGljb21hdGNoKGUsdSkodCk7cGljb21hdGNoLnBhcnNlPSh0LGUpPT57aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAoKHQ9PnBpY29tYXRjaC5wYXJzZSh0LGUpKSk7cmV0dXJuIG8odCx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KX07cGljb21hdGNoLnNjYW49KHQsZSk9Pm4odCxlKTtwaWNvbWF0Y2guY29tcGlsZVJlPSh0LGUsdT1mYWxzZSxuPWZhbHNlKT0+e2lmKHU9PT10cnVlKXtyZXR1cm4gdC5vdXRwdXR9Y29uc3Qgbz1lfHx7fTtjb25zdCBzPW8uY29udGFpbnM/XCJcIjpcIl5cIjtjb25zdCByPW8uY29udGFpbnM/XCJcIjpcIiRcIjtsZXQgYT1gJHtzfSg/OiR7dC5vdXRwdXR9KSR7cn1gO2lmKHQmJnQubmVnYXRlZD09PXRydWUpe2E9YF4oPyEke2F9KS4qJGB9Y29uc3QgaT1waWNvbWF0Y2gudG9SZWdleChhLGUpO2lmKG49PT10cnVlKXtpLnN0YXRlPXR9cmV0dXJuIGl9O3BpY29tYXRjaC5tYWtlUmU9KHQsZT17fSx1PWZhbHNlLG49ZmFsc2UpPT57aWYoIXR8fHR5cGVvZiB0IT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1sZXQgcz17bmVnYXRlZDpmYWxzZSxmYXN0cGF0aHM6dHJ1ZX07aWYoZS5mYXN0cGF0aHMhPT1mYWxzZSYmKHRbMF09PT1cIi5cInx8dFswXT09PVwiKlwiKSl7cy5vdXRwdXQ9by5mYXN0cGF0aHModCxlKX1pZighcy5vdXRwdXQpe3M9byh0LGUpfXJldHVybiBwaWNvbWF0Y2guY29tcGlsZVJlKHMsZSx1LG4pfTtwaWNvbWF0Y2gudG9SZWdleD0odCxlKT0+e3RyeXtjb25zdCB1PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHQsdS5mbGFnc3x8KHUubm9jYXNlP1wiaVwiOlwiXCIpKX1jYXRjaCh0KXtpZihlJiZlLmRlYnVnPT09dHJ1ZSl0aHJvdyB0O3JldHVybi8kXi99fTtwaWNvbWF0Y2guY29uc3RhbnRzPXI7dC5leHBvcnRzPXBpY29tYXRjaH0sNzE2Oih0LGUsdSk9Pntjb25zdCBuPXUoOTYpO2NvbnN0e0NIQVJfQVNURVJJU0s6byxDSEFSX0FUOnMsQ0hBUl9CQUNLV0FSRF9TTEFTSDpyLENIQVJfQ09NTUE6YSxDSEFSX0RPVDppLENIQVJfRVhDTEFNQVRJT05fTUFSSzpjLENIQVJfRk9SV0FSRF9TTEFTSDpwLENIQVJfTEVGVF9DVVJMWV9CUkFDRTpsLENIQVJfTEVGVF9QQVJFTlRIRVNFUzpmLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpBLENIQVJfUExVUzpfLENIQVJfUVVFU1RJT05fTUFSSzpSLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6RSxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOmgsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpnfT11KDE1NCk7Y29uc3QgaXNQYXRoU2VwYXJhdG9yPXQ9PnQ9PT1wfHx0PT09cjtjb25zdCBkZXB0aD10PT57aWYodC5pc1ByZWZpeCE9PXRydWUpe3QuZGVwdGg9dC5pc0dsb2JzdGFyP0luZmluaXR5OjF9fTtjb25zdCBzY2FuPSh0LGUpPT57Y29uc3QgdT1lfHx7fTtjb25zdCBiPXQubGVuZ3RoLTE7Y29uc3QgQz11LnBhcnRzPT09dHJ1ZXx8dS5zY2FuVG9FbmQ9PT10cnVlO2NvbnN0IHk9W107Y29uc3QgJD1bXTtjb25zdCB4PVtdO2xldCBTPXQ7bGV0IEg9LTE7bGV0IHY9MDtsZXQgZD0wO2xldCBMPWZhbHNlO2xldCBUPWZhbHNlO2xldCBPPWZhbHNlO2xldCBrPWZhbHNlO2xldCBtPWZhbHNlO2xldCB3PWZhbHNlO2xldCBOPWZhbHNlO2xldCBJPWZhbHNlO2xldCBCPWZhbHNlO2xldCBHPWZhbHNlO2xldCBEPTA7bGV0IE07bGV0IFA7bGV0IEs9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2NvbnN0IGVvcz0oKT0+SD49Yjtjb25zdCBwZWVrPSgpPT5TLmNoYXJDb2RlQXQoSCsxKTtjb25zdCBhZHZhbmNlPSgpPT57TT1QO3JldHVybiBTLmNoYXJDb2RlQXQoKytIKX07d2hpbGUoSDxiKXtQPWFkdmFuY2UoKTtsZXQgdDtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7aWYoUD09PWwpe3c9dHJ1ZX1jb250aW51ZX1pZih3PT09dHJ1ZXx8UD09PWwpe0QrKzt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWwpe0QrKztjb250aW51ZX1pZih3IT09dHJ1ZSYmUD09PWkmJihQPWFkdmFuY2UoKSk9PT1pKXtMPUsuaXNCcmFjZT10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHchPT10cnVlJiZQPT09YSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09RSl7RC0tO2lmKEQ9PT0wKXt3PWZhbHNlO0w9Sy5pc0JyYWNlPXRydWU7Rz10cnVlO2JyZWFrfX19aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1wKXt5LnB1c2goSCk7JC5wdXNoKEspO0s9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2lmKEc9PT10cnVlKWNvbnRpbnVlO2lmKE09PT1pJiZIPT09disxKXt2Kz0yO2NvbnRpbnVlfWQ9SCsxO2NvbnRpbnVlfWlmKHUubm9leHQhPT10cnVlKXtjb25zdCB0PVA9PT1ffHxQPT09c3x8UD09PW98fFA9PT1SfHxQPT09YztpZih0PT09dHJ1ZSYmcGVlaygpPT09Zil7Tz1LLmlzR2xvYj10cnVlO2s9Sy5pc0V4dGdsb2I9dHJ1ZTtHPXRydWU7aWYoUD09PWMmJkg9PT12KXtCPXRydWV9aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1jb250aW51ZX1icmVha319aWYoUD09PW8pe2lmKE09PT1vKW09Sy5pc0dsb2JzdGFyPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PVIpe089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1BKXt3aGlsZShlb3MoKSE9PXRydWUmJih0PWFkdmFuY2UoKSkpe2lmKHQ9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYodD09PWcpe1Q9Sy5pc0JyYWNrZXQ9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1pZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYodS5ub25lZ2F0ZSE9PXRydWUmJlA9PT1jJiZIPT09dil7ST1LLm5lZ2F0ZWQ9dHJ1ZTt2Kys7Y29udGludWV9aWYodS5ub3BhcmVuIT09dHJ1ZSYmUD09PWYpe089Sy5pc0dsb2I9dHJ1ZTtpZihDPT09dHJ1ZSl7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09Zil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWgpe0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9aWYoTz09PXRydWUpe0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9fWlmKHUubm9leHQ9PT10cnVlKXtrPWZhbHNlO089ZmFsc2V9bGV0IFU9UztsZXQgWD1cIlwiO2xldCBGPVwiXCI7aWYodj4wKXtYPVMuc2xpY2UoMCx2KTtTPVMuc2xpY2Uodik7ZC09dn1pZihVJiZPPT09dHJ1ZSYmZD4wKXtVPVMuc2xpY2UoMCxkKTtGPVMuc2xpY2UoZCl9ZWxzZSBpZihPPT09dHJ1ZSl7VT1cIlwiO0Y9U31lbHNle1U9U31pZihVJiZVIT09XCJcIiYmVSE9PVwiL1wiJiZVIT09Uyl7aWYoaXNQYXRoU2VwYXJhdG9yKFUuY2hhckNvZGVBdChVLmxlbmd0aC0xKSkpe1U9VS5zbGljZSgwLC0xKX19aWYodS51bmVzY2FwZT09PXRydWUpe2lmKEYpRj1uLnJlbW92ZUJhY2tzbGFzaGVzKEYpO2lmKFUmJk49PT10cnVlKXtVPW4ucmVtb3ZlQmFja3NsYXNoZXMoVSl9fWNvbnN0IFE9e3ByZWZpeDpYLGlucHV0OnQsc3RhcnQ6dixiYXNlOlUsZ2xvYjpGLGlzQnJhY2U6TCxpc0JyYWNrZXQ6VCxpc0dsb2I6Tyxpc0V4dGdsb2I6ayxpc0dsb2JzdGFyOm0sbmVnYXRlZDpJLG5lZ2F0ZWRFeHRnbG9iOkJ9O2lmKHUudG9rZW5zPT09dHJ1ZSl7US5tYXhEZXB0aD0wO2lmKCFpc1BhdGhTZXBhcmF0b3IoUCkpeyQucHVzaChLKX1RLnRva2Vucz0kfWlmKHUucGFydHM9PT10cnVlfHx1LnRva2Vucz09PXRydWUpe2xldCBlO2ZvcihsZXQgbj0wO248eS5sZW5ndGg7bisrKXtjb25zdCBvPWU/ZSsxOnY7Y29uc3Qgcz15W25dO2NvbnN0IHI9dC5zbGljZShvLHMpO2lmKHUudG9rZW5zKXtpZihuPT09MCYmdiE9PTApeyRbbl0uaXNQcmVmaXg9dHJ1ZTskW25dLnZhbHVlPVh9ZWxzZXskW25dLnZhbHVlPXJ9ZGVwdGgoJFtuXSk7US5tYXhEZXB0aCs9JFtuXS5kZXB0aH1pZihuIT09MHx8ciE9PVwiXCIpe3gucHVzaChyKX1lPXN9aWYoZSYmZSsxPHQubGVuZ3RoKXtjb25zdCBuPXQuc2xpY2UoZSsxKTt4LnB1c2gobik7aWYodS50b2tlbnMpeyRbJC5sZW5ndGgtMV0udmFsdWU9bjtkZXB0aCgkWyQubGVuZ3RoLTFdKTtRLm1heERlcHRoKz0kWyQubGVuZ3RoLTFdLmRlcHRofX1RLnNsYXNoZXM9eTtRLnBhcnRzPXh9cmV0dXJuIFF9O3QuZXhwb3J0cz1zY2FufSw5NjoodCxlLHUpPT57Y29uc3R7UkVHRVhfQkFDS1NMQVNIOm4sUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDpvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6cyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDpyfT11KDE1NCk7ZS5pc09iamVjdD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtlLmhhc1JlZ2V4Q2hhcnM9dD0+cy50ZXN0KHQpO2UuaXNSZWdleENoYXI9dD0+dC5sZW5ndGg9PT0xJiZlLmhhc1JlZ2V4Q2hhcnModCk7ZS5lc2NhcGVSZWdleD10PT50LnJlcGxhY2UocixcIlxcXFwkMVwiKTtlLnRvUG9zaXhTbGFzaGVzPXQ9PnQucmVwbGFjZShuLFwiL1wiKTtlLnJlbW92ZUJhY2tzbGFzaGVzPXQ9PnQucmVwbGFjZShvLCh0PT50PT09XCJcXFxcXCI/XCJcIjp0KSk7ZS5lc2NhcGVMYXN0PSh0LHUsbik9Pntjb25zdCBvPXQubGFzdEluZGV4T2YodSxuKTtpZihvPT09LTEpcmV0dXJuIHQ7aWYodFtvLTFdPT09XCJcXFxcXCIpcmV0dXJuIGUuZXNjYXBlTGFzdCh0LHUsby0xKTtyZXR1cm5gJHt0LnNsaWNlKDAsbyl9XFxcXCR7dC5zbGljZShvKX1gfTtlLnJlbW92ZVByZWZpeD0odCxlPXt9KT0+e2xldCB1PXQ7aWYodS5zdGFydHNXaXRoKFwiLi9cIikpe3U9dS5zbGljZSgyKTtlLnByZWZpeD1cIi4vXCJ9cmV0dXJuIHV9O2Uud3JhcE91dHB1dD0odCxlPXt9LHU9e30pPT57Y29uc3Qgbj11LmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgbz11LmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IHM9YCR7bn0oPzoke3R9KSR7b31gO2lmKGUubmVnYXRlZD09PXRydWUpe3M9YCg/Ol4oPyEke3N9KS4qJClgfXJldHVybiBzfTtlLmJhc2VuYW1lPSh0LHt3aW5kb3dzOmV9PXt9KT0+e2NvbnN0IHU9dC5zcGxpdChlPy9bXFxcXC9dLzpcIi9cIik7Y29uc3Qgbj11W3UubGVuZ3RoLTFdO2lmKG49PT1cIlwiKXtyZXR1cm4gdVt1Lmxlbmd0aC0yXX1yZXR1cm4gbn19fTt2YXIgZT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHUpe3ZhciBuPWVbdV07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgbz1lW3VdPXtleHBvcnRzOnt9fTt2YXIgcz10cnVlO3RyeXt0W3VdKG8sby5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3M9ZmFsc2V9ZmluYWxseXtpZihzKWRlbGV0ZSBlW3VdfXJldHVybiBvLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB1PV9fbmNjd3Bja19yZXF1aXJlX18oMTcwKTttb2R1bGUuZXhwb3J0cz11fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/process/browser.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){var e={229:function(e){var t=e.exports={};var r;var n;function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}(function(){try{if(typeof setTimeout===\"function\"){r=setTimeout}else{r=defaultSetTimout}}catch(e){r=defaultSetTimout}try{if(typeof clearTimeout===\"function\"){n=clearTimeout}else{n=defaultClearTimeout}}catch(e){n=defaultClearTimeout}})();function runTimeout(e){if(r===setTimeout){return setTimeout(e,0)}if((r===defaultSetTimout||!r)&&setTimeout){r=setTimeout;return setTimeout(e,0)}try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout){return clearTimeout(e)}if((n===defaultClearTimeout||!n)&&clearTimeout){n=clearTimeout;return clearTimeout(e)}try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[];var o=false;var u;var a=-1;function cleanUpNextTick(){if(!o||!u){return}o=false;if(u.length){i=u.concat(i)}else{a=-1}if(i.length){drainQueue()}}function drainQueue(){if(o){return}var e=runTimeout(cleanUpNextTick);o=true;var t=i.length;while(t){u=i;i=[];while(++a<t){if(u){u[a].run()}}a=-1;t=i.length}u=null;o=false;runClearTimeout(e)}t.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1){for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}}i.push(new Item(e,t));if(i.length===1&&!o){runTimeout(drainQueue)}};function Item(e,t){this.fun=e;this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};t.title=\"browser\";t.browser=true;t.env={};t.argv=[];t.version=\"\";t.versions={};function noop(){}t.on=noop;t.addListener=noop;t.once=noop;t.off=noop;t.removeListener=noop;t.removeAllListeners=noop;t.emit=noop;t.prependListener=noop;t.prependOnceListener=noop;t.listeners=function(e){return[]};t.binding=function(e){throw new Error(\"process.binding is not supported\")};t.cwd=function(){return\"/\"};t.chdir=function(e){throw new Error(\"process.chdir is not supported\")};t.umask=function(){return 0}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(229);module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2Vzcy9icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxZQUFZLE9BQU8sZ0JBQWdCLG1CQUFtQixNQUFNLE1BQU0sNEJBQTRCLG1EQUFtRCwrQkFBK0IscURBQXFELFlBQVksSUFBSSxtQ0FBbUMsYUFBYSxLQUFLLG9CQUFvQixTQUFTLG1CQUFtQixJQUFJLHFDQUFxQyxlQUFlLEtBQUssdUJBQXVCLFNBQVMsdUJBQXVCLElBQUksdUJBQXVCLG1CQUFtQix1QkFBdUIsMkNBQTJDLGFBQWEsdUJBQXVCLElBQUksY0FBYyxTQUFTLElBQUksd0JBQXdCLFNBQVMsMEJBQTBCLDRCQUE0QixxQkFBcUIsdUJBQXVCLGdEQUFnRCxlQUFlLHVCQUF1QixJQUFJLFlBQVksU0FBUyxJQUFJLHNCQUFzQixTQUFTLHdCQUF3QixTQUFTLFlBQVksTUFBTSxTQUFTLDJCQUEyQixXQUFXLE9BQU8sUUFBUSxhQUFhLGNBQWMsS0FBSyxLQUFLLGFBQWEsY0FBYyxzQkFBc0IsTUFBTSxPQUFPLGtDQUFrQyxPQUFPLGVBQWUsU0FBUyxJQUFJLEtBQUssYUFBYSxNQUFNLFlBQVksS0FBSyxXQUFXLE9BQU8sUUFBUSxtQkFBbUIsdUJBQXVCLG9DQUFvQyx1QkFBdUIsWUFBWSxtQkFBbUIsS0FBSyxxQkFBcUIsc0JBQXNCLHFCQUFxQix5QkFBeUIsbUJBQW1CLFdBQVcsYUFBYSw4QkFBOEIsaUNBQWlDLGtCQUFrQixlQUFlLFNBQVMsVUFBVSxhQUFhLGNBQWMsaUJBQWlCLFVBQVUsbUJBQW1CLFlBQVksV0FBVyxzQkFBc0IsMEJBQTBCLFlBQVksdUJBQXVCLDJCQUEyQix3QkFBd0IsVUFBVSxzQkFBc0IscURBQXFELGlCQUFpQixXQUFXLG9CQUFvQixtREFBbUQsbUJBQW1CLFlBQVksU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvYnJvd3Nlci5qcz85NDZmIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe3ZhciBlPXsyMjk6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5leHBvcnRzPXt9O3ZhciByO3ZhciBuO2Z1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpfWZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIil9KGZ1bmN0aW9uKCl7dHJ5e2lmKHR5cGVvZiBzZXRUaW1lb3V0PT09XCJmdW5jdGlvblwiKXtyPXNldFRpbWVvdXR9ZWxzZXtyPWRlZmF1bHRTZXRUaW1vdXR9fWNhdGNoKGUpe3I9ZGVmYXVsdFNldFRpbW91dH10cnl7aWYodHlwZW9mIGNsZWFyVGltZW91dD09PVwiZnVuY3Rpb25cIil7bj1jbGVhclRpbWVvdXR9ZWxzZXtuPWRlZmF1bHRDbGVhclRpbWVvdXR9fWNhdGNoKGUpe249ZGVmYXVsdENsZWFyVGltZW91dH19KSgpO2Z1bmN0aW9uIHJ1blRpbWVvdXQoZSl7aWYocj09PXNldFRpbWVvdXQpe3JldHVybiBzZXRUaW1lb3V0KGUsMCl9aWYoKHI9PT1kZWZhdWx0U2V0VGltb3V0fHwhcikmJnNldFRpbWVvdXQpe3I9c2V0VGltZW91dDtyZXR1cm4gc2V0VGltZW91dChlLDApfXRyeXtyZXR1cm4gcihlLDApfWNhdGNoKHQpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsZSwwKX1jYXRjaCh0KXtyZXR1cm4gci5jYWxsKHRoaXMsZSwwKX19fWZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChlKXtpZihuPT09Y2xlYXJUaW1lb3V0KXtyZXR1cm4gY2xlYXJUaW1lb3V0KGUpfWlmKChuPT09ZGVmYXVsdENsZWFyVGltZW91dHx8IW4pJiZjbGVhclRpbWVvdXQpe249Y2xlYXJUaW1lb3V0O3JldHVybiBjbGVhclRpbWVvdXQoZSl9dHJ5e3JldHVybiBuKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIG4uY2FsbCh0aGlzLGUpfX19dmFyIGk9W107dmFyIG89ZmFsc2U7dmFyIHU7dmFyIGE9LTE7ZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCl7aWYoIW98fCF1KXtyZXR1cm59bz1mYWxzZTtpZih1Lmxlbmd0aCl7aT11LmNvbmNhdChpKX1lbHNle2E9LTF9aWYoaS5sZW5ndGgpe2RyYWluUXVldWUoKX19ZnVuY3Rpb24gZHJhaW5RdWV1ZSgpe2lmKG8pe3JldHVybn12YXIgZT1ydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7bz10cnVlO3ZhciB0PWkubGVuZ3RoO3doaWxlKHQpe3U9aTtpPVtdO3doaWxlKCsrYTx0KXtpZih1KXt1W2FdLnJ1bigpfX1hPS0xO3Q9aS5sZW5ndGh9dT1udWxsO289ZmFsc2U7cnVuQ2xlYXJUaW1lb3V0KGUpfXQubmV4dFRpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXt0W3ItMV09YXJndW1lbnRzW3JdfX1pLnB1c2gobmV3IEl0ZW0oZSx0KSk7aWYoaS5sZW5ndGg9PT0xJiYhbyl7cnVuVGltZW91dChkcmFpblF1ZXVlKX19O2Z1bmN0aW9uIEl0ZW0oZSx0KXt0aGlzLmZ1bj1lO3RoaXMuYXJyYXk9dH1JdGVtLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfTt0LnRpdGxlPVwiYnJvd3NlclwiO3QuYnJvd3Nlcj10cnVlO3QuZW52PXt9O3QuYXJndj1bXTt0LnZlcnNpb249XCJcIjt0LnZlcnNpb25zPXt9O2Z1bmN0aW9uIG5vb3AoKXt9dC5vbj1ub29wO3QuYWRkTGlzdGVuZXI9bm9vcDt0Lm9uY2U9bm9vcDt0Lm9mZj1ub29wO3QucmVtb3ZlTGlzdGVuZXI9bm9vcDt0LnJlbW92ZUFsbExpc3RlbmVycz1ub29wO3QuZW1pdD1ub29wO3QucHJlcGVuZExpc3RlbmVyPW5vb3A7dC5wcmVwZW5kT25jZUxpc3RlbmVyPW5vb3A7dC5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuW119O3QuYmluZGluZz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZFwiKX07dC5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm5cIi9cIn07dC5jaGRpcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWRcIil9O3QudW1hc2s9ZnVuY3Rpb24oKXtyZXR1cm4gMH19fTt2YXIgdD17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHIpe3ZhciBuPXRbcl07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgaT10W3JdPXtleHBvcnRzOnt9fTt2YXIgbz10cnVlO3RyeXtlW3JdKGksaS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO289ZmFsc2V9ZmluYWxseXtpZihvKWRlbGV0ZSB0W3JdfXJldHVybiBpLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciByPV9fbmNjd3Bja19yZXF1aXJlX18oMjI5KTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg": -/*!************************************************!*\ - !*** ./src/images/avatars/adnan_fatayerji.jpg ***! - \************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/adnan_fatayerji.2fcd49a9.jpg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fadnan_fatayerji.2fcd49a9.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hZG5hbl9mYXRheWVyamkuanBnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLGtOQUFrTiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZz8xY2YzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9hZG5hbl9mYXRheWVyamkuMmZjZDQ5YTkuanBnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZhZG5hbl9mYXRheWVyamkuMmZjZDQ5YTkuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjh9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/andrew-greene.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/andrew-greene.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/andrew-greene.b3513453.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fandrew-greene.b3513453.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hbmRyZXctZ3JlZW5lLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2FuZHJldy1ncmVlbmUuanBnPzBiYmMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2FuZHJldy1ncmVlbmUuYjM1MTM0NTMuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYW5kcmV3LWdyZWVuZS5iMzUxMzQ1My5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/cathlene-burrage.jpg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/cathlene-burrage.1651afc0.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fcathlene-burrage.1651afc0.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxTkFBcU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2NhdGhsZW5lLWJ1cnJhZ2UuanBnPzRjZDYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2NhdGhsZW5lLWJ1cnJhZ2UuMTY1MWFmYzAuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGY2F0aGxlbmUtYnVycmFnZS4xNjUxYWZjMC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/damaris-kimura.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/damaris-kimura.5df6b6b2.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fdamaris-kimura.5df6b6b2.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGc/MmY2MCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZGFtYXJpcy1raW11cmEuNWRmNmI2YjIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZGFtYXJpcy1raW11cmEuNWRmNmI2YjIuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg": -/*!***************************************************!*\ - !*** ./src/images/avatars/dianne-guilianelli.jpg ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/dianne-guilianelli.b4c5891f.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fdianne-guilianelli.b4c5891f.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9kaWFubmUtZ3VpbGlhbmVsbGkuanBnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLHlOQUF5TiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZGlhbm5lLWd1aWxpYW5lbGxpLmpwZz80MzI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9kaWFubmUtZ3VpbGlhbmVsbGkuYjRjNTg5MWYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZGlhbm5lLWd1aWxpYW5lbGxpLmI0YzU4OTFmLmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/erhart-cockrin.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/erhart-cockrin.3697fef6.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Ferhart-cockrin.3697fef6.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9lcmhhcnQtY29ja3Jpbi5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9lcmhhcnQtY29ja3Jpbi5qcGc/YTM4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZXJoYXJ0LWNvY2tyaW4uMzY5N2ZlZjYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZXJoYXJ0LWNvY2tyaW4uMzY5N2ZlZjYuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg": -/*!**************************************************!*\ - !*** ./src/images/avatars/florian_fournier.jpeg ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/florian_fournier.a44a2086.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fflorian_fournier.a44a2086.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9mbG9yaWFuX2ZvdXJuaWVyLmpwZWciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsc05BQXNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9mbG9yaWFuX2ZvdXJuaWVyLmpwZWc/NmQxZSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZmxvcmlhbl9mb3Vybmllci5hNDRhMjA4Ni5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZmbG9yaWFuX2ZvdXJuaWVyLmE0NGEyMDg2LmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/giordano-sagucio.jpg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/giordano-sagucio.2d66325a.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fgiordano-sagucio.2d66325a.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9naW9yZGFuby1zYWd1Y2lvLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxTkFBcU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2dpb3JkYW5vLXNhZ3VjaW8uanBnPzgxMzIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2dpb3JkYW5vLXNhZ3VjaW8uMmQ2NjMyNWEuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZ2lvcmRhbm8tc2FndWNpby4yZDY2MzI1YS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/gordon-sanderson.jpg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/gordon-sanderson.88b5e762.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fgordon-sanderson.88b5e762.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxTkFBcU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2dvcmRvbi1zYW5kZXJzb24uanBnPzdlNDgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2dvcmRvbi1zYW5kZXJzb24uODhiNWU3NjIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZ29yZG9uLXNhbmRlcnNvbi44OGI1ZTc2Mi5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/heather-terry.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/heather-terry.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/heather-terry.3aaa9642.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fheather-terry.3aaa9642.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9oZWF0aGVyLXRlcnJ5LmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnP2M1YmEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2hlYXRoZXItdGVycnkuM2FhYTk2NDIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGaGVhdGhlci10ZXJyeS4zYWFhOTY0Mi5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/heather-terry.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/ibrahim-frasch.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/ibrahim-frasch.56350f5a.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fibrahim-frasch.56350f5a.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9pYnJhaGltLWZyYXNjaC5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9pYnJhaGltLWZyYXNjaC5qcGc/MzY2YSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvaWJyYWhpbS1mcmFzY2guNTYzNTBmNWEuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGaWJyYWhpbS1mcmFzY2guNTYzNTBmNWEuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/jaquelin-isch.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/jaquelin-isch.880e5248.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fjaquelin-isch.880e5248.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9qYXF1ZWxpbi1pc2NoLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnPzQ1N2EiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2phcXVlbGluLWlzY2guODgwZTUyNDguanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGamFxdWVsaW4taXNjaC44ODBlNTI0OC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/kimberly-parsons.jpg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/kimberly-parsons.0e123ad0.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fkimberly-parsons.0e123ad0.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9raW1iZXJseS1wYXJzb25zLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxTkFBcU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2tpbWJlcmx5LXBhcnNvbnMuanBnP2Q3N2YiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2tpbWJlcmx5LXBhcnNvbnMuMGUxMjNhZDAuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGa2ltYmVybHktcGFyc29ucy4wZTEyM2FkMC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg": -/*!*******************************************************!*\ - !*** ./src/images/avatars/kristof_de_spiegeleer.jpeg ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/kristof_de_spiegeleer.f8a3f975.jpeg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fkristof_de_spiegeleer.f8a3f975.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxnT0FBZ08iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2tyaXN0b2ZfZGVfc3BpZWdlbGVlci5qcGVnPzI5ODMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2tyaXN0b2ZfZGVfc3BpZWdlbGVlci5mOGEzZjk3NS5qcGVnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZrcmlzdG9mX2RlX3NwaWVnZWxlZXIuZjhhM2Y5NzUuanBlZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg": -/*!*************************************************!*\ - !*** ./src/images/avatars/matthew_schutte.jpeg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/matthew_schutte.b0043b24.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmatthew_schutte.b0043b24.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9tYXR0aGV3X3NjaHV0dGUuanBlZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxvTkFBb04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL21hdHRoZXdfc2NodXR0ZS5qcGVnP2RkNjUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21hdHRoZXdfc2NodXR0ZS5iMDA0M2IyNC5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZtYXR0aGV3X3NjaHV0dGUuYjAwNDNiMjQuanBlZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg": -/*!***********************************************!*\ - !*** ./src/images/avatars/omrei_abumadi.jpeg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/omrei_abumadi.c2ce865b.jpeg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fomrei_abumadi.c2ce865b.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ05BQWdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWc/NWFhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvb21yZWlfYWJ1bWFkaS5jMmNlODY1Yi5qcGVnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZvbXJlaV9hYnVtYWRpLmMyY2U4NjViLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/parker-johnson.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/parker-johnson.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/parker-johnson.3f6d7276.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fparker-johnson.3f6d7276.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9wYXJrZXItam9obnNvbi5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9wYXJrZXItam9obnNvbi5qcGc/MjkzYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcGFya2VyLWpvaG5zb24uM2Y2ZDcyNzYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcGFya2VyLWpvaG5zb24uM2Y2ZDcyNzYuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/piers-wilkins.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/piers-wilkins.c197a055.jpg\",\"height\":616,\"width\":1232,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fpiers-wilkins.c197a055.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9waWVycy13aWxraW5zLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL3BpZXJzLXdpbGtpbnMuanBnPzA5NzQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3BpZXJzLXdpbGtpbnMuYzE5N2EwNTUuanBnXCIsXCJoZWlnaHRcIjo2MTYsXCJ3aWR0aFwiOjEyMzIsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcGllcnMtd2lsa2lucy5jMTk3YTA1NS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/richard-astley.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/richard-astley.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/richard-astley.599fe903.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Frichard-astley.599fe903.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaWNoYXJkLWFzdGxleS5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaWNoYXJkLWFzdGxleS5qcGc/YzIzMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcmljaGFyZC1hc3RsZXkuNTk5ZmU5MDMuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcmljaGFyZC1hc3RsZXkuNTk5ZmU5MDMuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/richard-astley.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/rinaldo-beynon.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/rinaldo-beynon.c48f36b7.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Frinaldo-beynon.c48f36b7.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGc/YjBjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcmluYWxkby1iZXlub24uYzQ4ZjM2YjcuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcmluYWxkby1iZXlub24uYzQ4ZjM2YjcuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg": -/*!************************************************!*\ - !*** ./src/images/avatars/ronni-cantadore.jpg ***! - \************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/ronni-cantadore.0d04b7fe.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fronni-cantadore.0d04b7fe.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yb25uaS1jYW50YWRvcmUuanBnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLG1OQUFtTiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcm9ubmktY2FudGFkb3JlLmpwZz82Zjg2Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9yb25uaS1jYW50YWRvcmUuMGQwNGI3ZmUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcm9ubmktY2FudGFkb3JlLjBkMDRiN2ZlLmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg": -/*!***********************************************!*\ - !*** ./src/images/avatars/sasha_astiadi.jpeg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/sasha_astiadi.ecd50daf.jpeg\",\"height\":598,\"width\":598,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsasha_astiadi.ecd50daf.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ05BQWdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWc/ZDE3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvc2FzaGFfYXN0aWFkaS5lY2Q1MGRhZi5qcGVnXCIsXCJoZWlnaHRcIjo1OTgsXCJ3aWR0aFwiOjU5OCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZzYXNoYV9hc3RpYWRpLmVjZDUwZGFmLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/steven-mchail.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/steven-mchail.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/steven-mchail.4e94472e.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsteven-mchail.4e94472e.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL3N0ZXZlbi1tY2hhaWwuanBnP2ZmM2IiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0ZXZlbi1tY2hhaWwuNGU5NDQ3MmUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGc3RldmVuLW1jaGFpbC40ZTk0NDcyZS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg": -/*!**************************************************!*\ - !*** ./src/images/avatars/victor_muhagachi.jpeg ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/victor_muhagachi.46938b4a.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fvictor_muhagachi.46938b4a.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsc05BQXNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWc/NTZmYiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdmljdG9yX211aGFnYWNoaS40NjkzOGI0YS5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZ2aWN0b3JfbXVoYWdhY2hpLjQ2OTM4YjRhLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg": -/*!*********************************************!*\ - !*** ./src/images/avatars/waylon-hyden.jpg ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/waylon-hyden.4c037cf5.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwaylon-hyden.4c037cf5.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy93YXlsb24taHlkZW4uanBnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLDZNQUE2TSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZz84ZDgyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS93YXlsb24taHlkZW4uNGMwMzdjZjUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGd2F5bG9uLWh5ZGVuLjRjMDM3Y2Y1LmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/background-newsletter.jpg": -/*!**********************************************!*\ - !*** ./src/images/background-newsletter.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/background-newsletter.488a0204.jpg\",\"height\":2702,\"width\":1838,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-newsletter.488a0204.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC1uZXdzbGV0dGVyLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxnT0FBZ08iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnP2RkODgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2JhY2tncm91bmQtbmV3c2xldHRlci40ODhhMDIwNC5qcGdcIixcImhlaWdodFwiOjI3MDIsXCJ3aWR0aFwiOjE4MzgsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC1uZXdzbGV0dGVyLjQ4OGEwMjA0LmpwZyZ3PTUmcT03MFwiLFwiYmx1cldpZHRoXCI6NSxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background-newsletter.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/background.jpg": -/*!***********************************!*\ - !*** ./src/images/background.jpg ***! - \***********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/background.6c3571e0.jpg\",\"height\":2990,\"width\":1836,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.6c3571e0.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsME1BQTBNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGc/MDVmNyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYmFja2dyb3VuZC42YzM1NzFlMC5qcGdcIixcImhlaWdodFwiOjI5OTAsXCJ3aWR0aFwiOjE4MzYsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC42YzM1NzFlMC5qcGcmdz01JnE9NzBcIixcImJsdXJXaWR0aFwiOjUsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/logos/mirage.svg": -/*!*************************************!*\ - !*** ./src/images/logos/mirage.svg ***! - \*************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/mirage.b4872b78.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvbWlyYWdlLnN2ZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxR0FBcUciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnPzg1NDgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21pcmFnZS5iNDg3MmI3OC5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/mirage.svg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/logos/statickit.svg": -/*!****************************************!*\ - !*** ./src/images/logos/statickit.svg ***! - \****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/statickit.f39ab0e3.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3Mvc3RhdGlja2l0LnN2ZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyx3R0FBd0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9sb2dvcy9zdGF0aWNraXQuc3ZnP2U2ODAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0YXRpY2tpdC5mMzlhYjBlMy5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/statickit.svg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/logos/transistor.svg": -/*!*****************************************!*\ - !*** ./src/images/logos/transistor.svg ***! - \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/transistor.20c106ae.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMseUdBQXlHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmc/MDhmNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdHJhbnNpc3Rvci4yMGMxMDZhZS5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/transistor.svg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/logos/tuple.svg": -/*!************************************!*\ - !*** ./src/images/logos/tuple.svg ***! - \************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/tuple.7c6d6466.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvdHVwbGUuc3ZnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLG9HQUFvRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Zz83MDQ3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS90dXBsZS43YzZkNjQ2Ni5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/tuple.svg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/add-locale.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/client/add-locale.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FHYUE7OztlQUFBQTs7O29EQUY4QjtBQUVwQyxNQUFNQSxZQUF1QixTQUFDQyxJQUFBQTtxQ0FBU0MsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsSUFBQUEsT0FBQUEsSUFBQUEsSUFBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7UUFBQUEsSUFBQUEsQ0FBQUEsT0FBQUEsRUFBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O0lBQzVDLElBQUlDLEtBQStCLEVBQUUsRUFJckM7SUFDQSxPQUFPRjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FkZC1sb2NhbGUudHM/ZmFhZSJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwiYXJncyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/client/get-domain-locale.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDomainLocale\", ({\n enumerable: true,\n get: function() {\n return getDomainLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2dldC1kb21haW4tbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBT2dCQTs7O2VBQUFBOzs7b0RBSjJCO0FBRTNDLE1BQU1DLFdBQVdDLE1BQW1DLElBQWU7QUFFNUQsU0FBU0YsZ0JBQ2RLLElBQVksRUFDWkMsTUFBdUIsRUFDdkJDLE9BQWtCLEVBQ2xCQyxhQUE4QjtJQUU5QixJQUFJTixLQUErQixFQUFFLEVBZ0JyQyxNQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUudHM/MWQ0ZSJdLCJuYW1lcyI6WyJnZXREb21haW5Mb2NhbGUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsImxvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJyZXF1aXJlIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwidGFyZ2V0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJkb21haW4iLCJ1bmRlZmluZWQiLCJwcm90byIsImh0dHAiLCJmaW5hbExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/image-component.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/image-component.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Image\", ({\n enumerable: true,\n get: function() {\n return Image;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\");\nconst _warnonce = __webpack_require__(/*! ../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\n// This is replaced by webpack define plugin\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]};\nif (typeof window === \"undefined\") {\n globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput) {\n const src = img == null ? void 0 : img.src;\n if (!img || img[\"data-loaded-src\"] === src) {\n return;\n }\n img[\"data-loaded-src\"] = src;\n const p = \"decode\" in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder !== \"empty\") {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event(\"load\");\n Object.defineProperty(event, \"target\", {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n });\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (true) {\n const origSrc = new URL(src, \"http://n\").searchParams.get(\"url\") || src;\n if (img.getAttribute(\"data-nimg\") === \"fill\") {\n if (!unoptimized && (!sizesInput || sizesInput === \"100vw\")) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === \"100vw\") {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n } else {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n \"absolute\",\n \"fixed\",\n \"relative\"\n ];\n if (!valid.includes(position)) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and parent element with invalid \"position\". Provided \"' + position + '\" should be one of ' + valid.map(String).join(\",\") + \".\");\n }\n }\n if (img.height === 0) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.');\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute(\"height\");\n const widthModified = img.width.toString() !== img.getAttribute(\"width\");\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles \\'width: \"auto\"\\' or \\'height: \"auto\"\\' to maintain the aspect ratio.');\n }\n }\n });\n}\nfunction getDynamicProps(fetchPriority) {\n const [majorStr, minorStr] = _react.version.split(\".\", 2);\n const major = parseInt(majorStr, 10);\n const minor = parseInt(minorStr, 10);\n if (major > 18 || major === 18 && minor >= 3) {\n // In React 18.3.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return {\n fetchPriority\n };\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return {\n fetchpriority: fetchPriority\n };\n}\nconst ImageElement = /*#__PURE__*/ (0, _react.forwardRef)((param, forwardedRef)=>{\n let { src, srcSet, sizes, height, width, decoding, className, style, fetchPriority, placeholder, loading, unoptimized, fill, onLoadRef, onLoadingCompleteRef, setBlurComplete, setShowAltText, sizesInput, onLoad, onError, ...rest } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"img\", {\n ...rest,\n ...getDynamicProps(fetchPriority),\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading: loading,\n width: width,\n height: height,\n decoding: decoding,\n \"data-nimg\": fill ? \"fill\" : \"1\",\n className: className,\n style: style,\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes: sizes,\n srcSet: srcSet,\n src: src,\n ref: (0, _react.useCallback)((img)=>{\n if (forwardedRef) {\n if (typeof forwardedRef === \"function\") forwardedRef(img);\n else if (typeof forwardedRef === \"object\") {\n // @ts-ignore - .current is read only it's usually assigned by react internally\n forwardedRef.current = img;\n }\n }\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (true) {\n if (!src) {\n console.error('Image is missing required \"src\" property:', img);\n }\n if (img.getAttribute(\"alt\") === null) {\n console.error('Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.');\n }\n }\n if (img.complete) {\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n }\n }, [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n forwardedRef\n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder !== \"empty\") {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n });\n});\nfunction ImagePreload(param) {\n let { isAppRouter, imgAttributes } = param;\n const opts = {\n as: \"image\",\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority)\n };\n if (isAppRouter && _reactdom.default.preload) {\n // See https://github.com/facebook/react/pull/26940\n _reactdom.default.preload(imgAttributes.src, opts);\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href: imgAttributes.srcSet ? undefined : imgAttributes.src,\n ...opts\n }, \"__nimg-\" + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes)\n });\n}\n_c = ImagePreload;\nconst Image = /*#__PURE__*/ (0, _react.forwardRef)((props, forwardedRef)=>{\n const pagesRouter = (0, _react.useContext)(_routercontextsharedruntime.RouterContext);\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const configContext = (0, _react.useContext)(_imageconfigcontextsharedruntime.ImageConfigContext);\n const config = (0, _react.useMemo)(()=>{\n const c = configEnv || configContext || _imageconfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n return {\n ...c,\n allSizes,\n deviceSizes\n };\n }, [\n configContext\n ]);\n const { onLoad, onLoadingComplete } = props;\n const onLoadRef = (0, _react.useRef)(onLoad);\n (0, _react.useEffect)(()=>{\n onLoadRef.current = onLoad;\n }, [\n onLoad\n ]);\n const onLoadingCompleteRef = (0, _react.useRef)(onLoadingComplete);\n (0, _react.useEffect)(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n const [blurComplete, setBlurComplete] = (0, _react.useState)(false);\n const [showAltText, setShowAltText] = (0, _react.useState)(false);\n const { props: imgAttributes, meta: imgMeta } = (0, _getimgprops.getImgProps)(props, {\n defaultLoader: _imageloader.default,\n imgConf: config,\n blurComplete,\n showAltText\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(ImageElement, {\n ...imgAttributes,\n unoptimized: imgMeta.unoptimized,\n placeholder: imgMeta.placeholder,\n fill: imgMeta.fill,\n onLoadRef: onLoadRef,\n onLoadingCompleteRef: onLoadingCompleteRef,\n setBlurComplete: setBlurComplete,\n setShowAltText: setShowAltText,\n sizesInput: props.sizes,\n ref: forwardedRef\n }),\n imgMeta.priority ? /*#__PURE__*/ (0, _jsxruntime.jsx)(ImagePreload, {\n isAppRouter: isAppRouter,\n imgAttributes: imgAttributes\n }) : null\n ]\n });\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=image-component.js.map\nvar _c;\n$RefreshReg$(_c, \"ImagePreload\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2ltYWdlLWNvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OzsrRUFhaUI7cURBQ1dBLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7eUNBWU87O3lDQUVWQSxtQkFBQUEsQ0FBQTs7O0FBTXpCLE1BQUFDLGVBQUEsY0FBQUMseUJBQTRDSCxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO0FBQzVDLDRDQUE4Qkc7QUFFOUIsTUFBSUMsWUFBT0MsME5BQXdCO0lBQy9CRSxPQUFBQSxXQUFtQkMsYUFBQUE7SUFDdkJELFdBQUFDLHFCQUFBO0FBbUJBO0FBQ0EsMEVBQWlEO0FBQ2pELGlEQUdFQztTQU1BQyxjQUFZQyxHQUFBQSxFQUFBQSxXQUFBQSxFQUFBQSxTQUFRLEVBQUFDLG9CQUFBLEVBQUFDLGVBQUEsRUFBQUMsV0FBQSxFQUFBQyxVQUFBO0lBQ3BCLE1BQUtKLE1BQU9BLE9BQUksZ0JBQWtCQSxJQUFLSyxHQUFBQTtRQUNyQyxDQUFBTCxPQUFBQSxHQUFBLHdCQUFBSyxLQUFBO1FBQ0Y7SUFDQUw7SUFDQUEsR0FBQSxtQkFBc0JBLEdBQUFBO0lBQ3RCTSxNQUFFQyxJQUFNLFlBQWVQLE1BQUFBLElBQUFRLE1BQUEsS0FBQUMsUUFBQUMsT0FBQTtXQUNyQixDQUFJLEtBQUtDLEdBQUFBLElBQUFBLENBQUFBO1lBQ1AsQ0FBQVgsSUFBQVcsYUFBQSxLQUFBWCxJQUFBWSxXQUFBLEVBQXdDO1lBQ3hDLHdDQUF1QjtZQUN2QjtZQUNBLHNDQUFzQjtZQUN0QjtZQUNBO1lBQ0Y7UUFDQTtZQUNFVixnQkFBZ0I7WUFDbEJBLGdCQUFBO1FBQ0E7WUFDRUosYUFBQSxnQkFBQUEsVUFBQWUsT0FBQSxFQUErQztZQUMvQywrQ0FBMEM7WUFDMUM7WUFDQSwyQ0FBd0I7WUFDeEJDLE1BQUFBLFFBQU9DLElBQUFBLE1BQWVDO21CQUFtQkMsY0FBVSxDQUFBRCxPQUFBO2dCQUFP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YSxTQUFBQyxhQUFBRixXQUFBLEVBQUFHLE9BQUE7UUFDYkMsZUFBU3ZCLGFBQUFBLE9BQUFBO1FBQ1R3QixTQUFBQTtRQUNBVDtRQUNGQTtJQUVBOzs7dUJBSVl2QyxHQUFBQSxDQUFBQSxHQUFBQSxZQUFhZCxHQUFBLEVBQUErRCxjQUFBO2dCQUNqQmhJLEdBQUFBLGFBQWF5SDtnQkFDYi9DLGFBQWErQyxRQUFRL0MsV0FBVztnQkFDaEN1RCxhQUFNUixRQUFZL0MsV0FBQTtnQkFDbEIvRSxNQUFBQSxRQUFXQSxJQUFBQTtnQkFDWEcsV0FBQUE7Z0JBQ0FDLHNCQUFpQkE7Z0JBQ2pCNkUsaUJBQWdCQTtnQkFDaEIzRSxnQkFBWTRIO2dCQUNaekQsWUFBS0UsTUFBQUEsS0FBQUE7O1lBR1JtRDtvQkFFR25DLFFBQUFBLEdBQWFBLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLGNBQUFBO2dCQUNiUCxhQUFBQTsrQkFFQUE7OztJQUdWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2ltYWdlLWNvbXBvbmVudC50c3g/NTFlMSJdLCJuYW1lcyI6WyJfIiwicmVxdWlyZSIsIl9pbWFnZWxvYWRlciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl9fTkVYVF9JTUFHRV9PUFRTIiwiY29uZmlnRW52Iiwid2luZG93IiwiZW52IiwiZ2xvYmFsVGhpcyIsIl9fTkVYVF9JTUFHRV9JTVBPUlRFRCIsIm9uTG9hZFJlZiIsImhhbmRsZUxvYWRpbmciLCJpbWciLCJvbkxvYWRpbmdDb21wbGV0ZVJlZiIsInNldEJsdXJDb21wbGV0ZSIsInVub3B0aW1pemVkIiwic2l6ZXNJbnB1dCIsInNyYyIsInAiLCJjYXRjaCIsImRlY29kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicGFyZW50RWxlbWVudCIsImlzQ29ubmVjdGVkIiwiY3VycmVudCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXZlbnQiLCJ3cml0YWJsZSIsInZhbHVlIiwic3RvcHBlZCIsIm5hdGl2ZUV2ZW50IiwiY3VycmVudFRhcmdldCIsInRhcmdldCIsImlzRGVmYXVsdFByZXZlbnRlZCIsImlzUHJvcGFnYXRpb25TdG9wcGVkIiwicHJldmVudGVkIiwicGVyc2lzdCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJvY2VzcyIsImdldEF0dHJpYnV0ZSIsIlVSTCIsInNlYXJjaFBhcmFtcyIsImdldCIsIndpZHRoVmlld3BvcnRSYXRpbyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIndpZHRoIiwiaW5uZXJXaWR0aCIsIndhcm5PbmNlIiwiX3dhcm5vbmNlIiwib3JpZ1NyYyIsInZhbGlkIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInBvc2l0aW9uIiwibWFwIiwiU3RyaW5nIiwiam9pbiIsIndpZHRoTW9kaWZpZWQiLCJ0b1N0cmluZyIsImhlaWdodE1vZGlmaWVkIiwiZ2V0RHluYW1pY1Byb3BzIiwibWlub3JTdHIiLCJ2ZXJzaW9uIiwibWFqb3IiLCJwYXJzZUludCIsIm1ham9yU3RyIiwic3BsaXQiLCJtaW5vciIsImZldGNoUHJpb3JpdHkiLCJmZXRjaHByaW9yaXR5IiwiaGVpZ2h0IiwiZGVjb2RpbmciLCJjbGFzc05hbWUiLCJzdHlsZSIsInNyY1NldCIsInNpemVzIiwicmVzdCIsIl9qc3hydW50aW1lIiwianN4IiwibG9hZGluZyIsImRhdGEtbmltZyIsInJlZiIsInVzZUNhbGxiYWNrIiwiZm9yd2FyZGVkUmVmIiwib25FcnJvciIsImNvbnNvbGUiLCJlcnJvciIsInBsYWNlaG9sZGVyIiwib25Mb2FkIiwic2V0U2hvd0FsdFRleHQiLCJJbWFnZVByZWxvYWQiLCJwYXJhbSIsImltZ0F0dHJpYnV0ZXMiLCJvcHRzIiwiYXMiLCJpbWFnZVNyY1NldCIsImltYWdlU2l6ZXMiLCJjcm9zc09yaWdpbiIsInJlZmVycmVyUG9saWN5IiwiaXNBcHBSb3V0ZXIiLCJfcmVhY3Rkb20iLCJkZWZhdWx0IiwicHJlbG9hZCIsIlJlYWN0RE9NIiwiX2hlYWQiLCJsaW5rIiwicmVsIiwiaHJlZiIsInVuZGVmaW5lZCIsIkltYWdlIiwidXNlQ29udGV4dCIsInBhZ2VzUm91dGVyIiwiUm91dGVyQ29udGV4dCIsIl9yZWFjdCIsIl9yb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsImNvbmZpZ0NvbnRleHQiLCJjb25maWciLCJ1c2VNZW1vIiwiX2ltYWdlY29uZmlnY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJJbWFnZUNvbmZpZ0NvbnRleHQiLCJhbGxTaXplcyIsIl9pbWFnZWNvbmZpZyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImRldmljZVNpemVzIiwiYyIsImEiLCJiIiwic29ydCIsInVzZVJlZiIsInVzZUVmZmVjdCIsIm9uTG9hZGluZ0NvbXBsZXRlIiwic2hvd0FsdFRleHQiLCJ1c2VTdGF0ZSIsIm1ldGEiLCJpbWdNZXRhIiwiZ2V0SW1nUHJvcHMiLCJkZWZhdWx0TG9hZGVyIiwiX2dldGltZ3Byb3BzIiwicHJvcHMiLCJpbWdDb25mIiwiYmx1ckNvbXBsZXRlIiwiSW1hZ2VFbGVtZW50IiwiZmlsbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/image-component.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/link.js": -/*!***********************************************!*\ - !*** ./node_modules/next/dist/client/link.js ***! - \***********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n if (typeof window === \"undefined\") {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n const prefetchPromise = isAppRouter ? router.prefetch(href, appOptions) : router.prefetch(href, as, options);\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(prefetchPromise).catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll: routerScroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n scroll: routerScroll\n });\n }\n };\n if (isAppRouter) {\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `<a>` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: `<Link>`](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _s(_react.default.forwardRef(_c = _s(function LinkComponent(props, forwardedRef) {\n _s();\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + (typeof window !== \"undefined\" ? \"\\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current && !isAppRouter) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + (typeof window !== \"undefined\" ? \" \\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n}, \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\")), \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\");\n_c1 = Link;\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Link$_react.default.forwardRef\");\n$RefreshReg$(_c1, \"Link\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7NkJBUzRCQSx5QkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FDRDt3Q0FDRDt1Q0FDSTs7Ozt1Q0FRRUEsbUJBQUFBLENBQUE7NkNBQ0E7NkNBQ0o7O0FBMkY1QixNQUFNQyxzQkFBaUJDLG1CQUFBQSxDQUFBQSwrSkFBQUE7QUFVdkIsTUFBQUQsYUFDRUUsSUFBQUE7U0FPSUMsU0FBT0MsTUFBQUEsRUFBV0MsSUFBQSxFQUFBQyxFQUFBLEVBQUFDLE9BQWEsRUFBQUMsVUFBQSxFQUFBQyxXQUFBO1FBQ2pDLE9BQUFMLFdBQUE7UUFDRjtJQUVBO0lBQ0EsZ0pBQXVDO1FBQ3JDLENBQUFLLGVBQUEsS0FBQUMsWUFBQUMsVUFBQSxFQUFBTixPQUFBO1FBQ0Y7SUFFQTtJQUNBLDRFQUFZO0lBQ1osWUFBS0U7UUFDSCxDQUFBQSxRQUFNSyxxQkFDSjtRQUNBLE1BQUFBLFNBT0YsT0FBTUMsUUFBQUEsTUFBQUEsS0FBZ0JSLGNBQWtCRSxRQUFNSyxNQUFBQSxHQUFBQSxZQUFBQSxTQUFBQSxPQUFBQSxNQUFBQSxHQUFBQTtRQUU5QyxNQUFBQyxnQkFBQVIsT0FBQSxNQUFBQyxLQUFBLE1BQUFNO1FBQ0Esa0VBQW1DO1lBQ2pDWixXQUFBYyxHQUFBLENBQUFELGdCQUFBO1lBQ0Y7UUFFQTtRQUNBYiwrQkFBZWE7UUFDakJiLFdBQUFlLEdBQUEsQ0FBQUY7SUFFQTtJQUlBLE1BQUFHLGtCQUFBUCxjQUFBUCxPQUFBQyxRQUFBLENBQUFFLE1BQXVERyxjQUFBTixPQUFBQyxRQUFBLENBQUFFLE1BQUFDLElBQUFDO0lBQ3ZEO0lBQ0EsMERBQXNEO0lBQ3REO0lBQ0FVLHlEQUF3Q0M7WUFDbENDLE9BQUFBLENBQVFDLGlCQUFpQkMsS0FBQSxFQUFBSDtZQUMzQkMsSUFBQSxFQUFxQztZQUNyQyxxQ0FBTUQ7WUFD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QUFBdEMsT0FBQXlCLGNBQUEsa0JBQUFjLFlBQUFDLEdBQUE7UUFBRyxHQUFHZixTQUFBQTtxQkFDbkIxRTs7SUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9saW5rLnRzeD9hY2YwIl0sIm5hbWVzIjpbIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl8iLCJyZXF1aXJlIiwicHJlZmV0Y2hlZCIsIlNldCIsInJvdXRlciIsInByZWZldGNoIiwid2luZG93IiwiaHJlZiIsImFzIiwib3B0aW9ucyIsImFwcE9wdGlvbnMiLCJpc0FwcFJvdXRlciIsIl9pc2xvY2FsdXJsIiwiaXNMb2NhbFVSTCIsImxvY2FsZSIsInByZWZldGNoZWRLZXkiLCJoYXMiLCJhZGQiLCJwcmVmZXRjaFByb21pc2UiLCJQcm9taXNlIiwiZXJyIiwicHJvY2VzcyIsImVudiIsImNhdGNoIiwiaXNNb2RpZmllZEV2ZW50IiwiZXZlbnQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiZXZlbnRUYXJnZXQiLCJuYXRpdmVFdmVudCIsIndoaWNoIiwibWV0YUtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImFsdEtleSIsImxpbmtDbGlja2VkIiwiZSIsInJlcGxhY2UiLCJzaGFsbG93Iiwic2Nyb2xsIiwibm9kZU5hbWUiLCJpc0FuY2hvck5vZGVOYW1lIiwicHJldmVudERlZmF1bHQiLCJuYXZpZ2F0ZSIsInJvdXRlclNjcm9sbCIsIlJlYWN0IiwiX3JlYWN0IiwiZGVmYXVsdCIsInN0YXJ0VHJhbnNpdGlvbiIsImZvcm1hdFN0cmluZ09yVXJsIiwidXJsT2JqT3JTdHJpbmciLCJfZm9ybWF0dXJsIiwiZm9ybWF0VXJsIiwiY2hpbGRyZW4iLCJjaGlsZHJlblByb3AiLCJsZWdhY3lCZWhhdmlvciIsImEiLCJhcHBSb3V0ZXIiLCJ1c2VDb250ZXh0IiwiQXBwUm91dGVyQ29udGV4dCIsInBhZ2VzUm91dGVyIiwicHJlZmV0Y2hFbmFibGVkIiwicHJlZmV0Y2hQcm9wIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJGVUxMIiwiYXJncyIsImNyZWF0ZVByb3BFcnJvciIsIkVycm9yIiwia2V5IiwiZXhwZWN0ZWQiLCJhY3R1YWwiLCJyZXF1aXJlZFByb3BzIiwiT2JqZWN0IiwicHJvcHMiLCJwYXNzSHJlZiIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvblRvdWNoU3RhcnQiLCJvcHRpb25hbFByb3BzIiwidmFsVHlwZSIsImhhc1dhcm5lZCIsImN1cnJlbnQiLCJjb25zb2xlIiwid2FybiIsImFzUHJvcCIsImhyZWZQcm9wIiwicGF0aG5hbWUiLCJoYXNEeW5hbWljU2VnbWVudCIsInNwbGl0Iiwic29tZSIsInNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJ1c2VNZW1vIiwicmVzb2x2ZWRIcmVmIiwicmVzb2x2ZWRBcyIsIl9yZXNvbHZlaHJlZiIsInJlc29sdmVIcmVmIiwicHJldmlvdXNBcyIsInVzZVJlZiIsImNoaWxkIiwiTk9ERV9FTlYiLCJDaGlsZHJlbiIsIm9ubHkiLCJ0eXBlIiwiY2hpbGRSZWYiLCJzZXRJbnRlcnNlY3Rpb25SZWYiLCJpc1Zpc2libGUiLCJyZXNldFZpc2libGUiLCJ1c2VJbnRlcnNlY3Rpb24iLCJyb290TWFyZ2luIiwiX3VzZWludGVyc2VjdGlvbiIsInNldFJlZiIsInVzZUNhbGxiYWNrIiwiZWwiLCJwcmV2aW91c0hyZWYiLCJ1c2VFZmZlY3QiLCJhcHBQcmVmZXRjaEtpbmQiLCJyZWYiLCJkZWZhdWx0UHJldmVudGVkIiwib25Nb3VzZUVudGVyUHJvcCIsInByaW9yaXR5IiwiYnlwYXNzUHJlZmV0Y2hlZENoZWNrIiwib25Ub3VjaFN0YXJ0UHJvcCIsInVuZGVmaW5lZCIsImNoaWxkUHJvcHMiLCJjdXJMb2NhbGUiLCJpc0xvY2FsZURvbWFpbiIsImxvY2FsZURvbWFpbiIsImFkZEJhc2VQYXRoIiwiYWRkTG9jYWxlIiwiX2dldGRvbWFpbmxvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJsb2NhbGVzIiwiZG9tYWluTG9jYWxlcyIsIl9hZGRiYXNlcGF0aCIsIl9hZGRsb2NhbGUiLCJyZXN0UHJvcHMiLCJjbG9uZUVsZW1lbnQiLCJfanN4cnVudGltZSIsImpzeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/link.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/request-idle-callback.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQmFBLG9CQUFrQjtlQUFsQkE7O0lBaEJBQyxxQkFBbUI7ZUFBbkJBOzs7QUFBTixNQUFNQSxzQkFDWCxPQUFRQyxTQUFTLGVBQ2ZBLEtBQUtELG1CQUFtQixJQUN4QkMsS0FBS0QsbUJBQW1CLENBQUNFLElBQUksQ0FBQ0MsV0FDaEMsU0FBVUMsRUFBdUI7SUFDL0IsSUFBSUMsUUFBUUMsS0FBS0MsR0FBRztJQUNwQixPQUFPTixLQUFLTyxVQUFVLENBQUM7UUFDckJKLEdBQUc7WUFDREssWUFBWTtZQUNaQyxlQUFlO2dCQUNiLE9BQU9DLEtBQUtDLEdBQUcsQ0FBQyxHQUFHLEtBQU1OLENBQUFBLEtBQUtDLEdBQUcsS0FBS0YsS0FBQUE7WUFDeEM7UUFDRjtJQUNGLEdBQUc7QUFDTDtBQUVLLE1BQU1OLHFCQUNYLE9BQVFFLFNBQVMsZUFDZkEsS0FBS0Ysa0JBQWtCLElBQ3ZCRSxLQUFLRixrQkFBa0IsQ0FBQ0csSUFBSSxDQUFDQyxXQUMvQixTQUFVVSxFQUFVO0lBQ2xCLE9BQU9DLGFBQWFEO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay50cz8wNWY0Il0sIm5hbWVzIjpbImNhbmNlbElkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJzZWxmIiwiYmluZCIsIndpbmRvdyIsImNiIiwic3RhcnQiLCJEYXRlIiwibm93Iiwic2V0VGltZW91dCIsImRpZFRpbWVvdXQiLCJ0aW1lUmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImlkIiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/resolve-href.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3Jlc29sdmUtaHJlZi5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQXlCZ0JBOzs7ZUFBQUE7Ozt5Q0F2QnVCO3VDQUNGO2tDQUNoQjttQ0FDb0I7b0RBQ0U7d0NBQ2hCO29DQUNJOzJDQUNEO0FBZ0J2QixTQUFTQSxZQUNkQyxNQUFrQixFQUNsQkMsSUFBUyxFQUNUQyxTQUFtQjtJQUVuQiw0Q0FBNEM7SUFDNUMsSUFBSUM7SUFDSixJQUFJQyxjQUFjLE9BQU9ILFNBQVMsV0FBV0EsT0FBT0ksQ0FBQUEsR0FBQUEsV0FBQUEsb0JBQW9CLEVBQUNKO0lBRXpFLDZEQUE2RDtJQUM3RCxtREFBbUQ7SUFDbkQsTUFBTUssZ0JBQWdCRixZQUFZRyxLQUFLLENBQUM7SUFDeEMsTUFBTUMscUJBQXFCRixnQkFDdkJGLFlBQVlLLEtBQUssQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsQ0FBQ0ksTUFBTSxJQUN6Q047SUFFSixNQUFNTyxXQUFXSCxtQkFBbUJJLEtBQUssQ0FBQyxLQUFLO0lBRS9DLElBQUksQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsSUFBSSxJQUFJSixLQUFLLENBQUMsY0FBYztRQUMxQ00sUUFBUUMsS0FBSyxDQUNYLG1CQUFpQlYsY0FBWSx1Q0FBb0NKLE9BQU9lLFFBQVEsR0FBQztRQUVuRixNQUFNQyxnQkFBZ0JDLENBQUFBLEdBQUFBLE9BQUFBLHdCQUF3QixFQUFDVDtRQUMvQ0osY0FBYyxDQUFDRSxnQkFBZ0JBLGFBQWEsQ0FBQyxFQUFFLEdBQUcsTUFBTVU7SUFDMUQ7SUFFQSwyREFBMkQ7SUFDM0QsSUFBSSxDQUFDRSxDQUFBQSxHQUFBQSxZQUFBQSxVQUFVLEVBQUNkLGNBQWM7UUFDNUIsT0FBUUYsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3RDO0lBRUEsSUFBSTtRQUNGRCxPQUFPLElBQUlnQixJQUNUZixZQUFZZ0IsVUFBVSxDQUFDLE9BQU9wQixPQUFPcUIsTUFBTSxHQUFHckIsT0FBT2UsUUFBUSxFQUM3RDtJQUVKLEVBQUUsT0FBT08sR0FBRztRQUNWLGtEQUFrRDtRQUNsRG5CLE9BQU8sSUFBSWdCLElBQUksS0FBSztJQUN0QjtJQUVBLElBQUk7UUFDRixNQUFNSSxXQUFXLElBQUlKLElBQUlmLGFBQWFEO1FBQ3RDb0IsU0FBU1IsUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSx3QkFBQUEsMEJBQTBCLEVBQUNELFNBQVNSLFFBQVE7UUFDaEUsSUFBSVUsaUJBQWlCO1FBRXJCLElBQ0VDLENBQUFBLEdBQUFBLFFBQUFBLGNBQWMsRUFBQ0gsU0FBU1IsUUFBUSxLQUNoQ1EsU0FBU0ksWUFBWSxJQUNyQnpCLFdBQ0E7WUFDQSxNQUFNMEIsUUFBUUMsQ0FBQUEsR0FBQUEsYUFBQUEsc0JBQXNCLEVBQUNOLFNBQVNJLFlBQVk7WUFFMUQsTUFBTSxFQUFFRyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQ3RDVCxTQUFTUixRQUFRLEVBQ2pCUSxTQUFTUixRQUFRLEVBQ2pCYTtZQUdGLElBQUlFLFFBQVE7Z0JBQ1ZMLGlCQUFpQnBCLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDO29CQUNwQ1UsVUFBVWU7b0JBQ1ZHLE1BQU1WLFNBQVNVLElBQUk7b0JBQ25CTCxPQUFPTSxDQUFBQSxHQUFBQSxNQUFBQSxJQUFJLEVBQUNOLE9BQU9HO2dCQUNyQjtZQUNGO1FBQ0Y7UUFFQSxvRUFBb0U7UUFDcEUsTUFBTUksZUFDSlosU0FBU2EsTUFBTSxLQUFLakMsS0FBS2lDLE1BQU0sR0FDM0JiLFNBQVN0QixJQUFJLENBQUNRLEtBQUssQ0FBQ2MsU0FBU2EsTUFBTSxDQUFDMUIsTUFBTSxJQUMxQ2EsU0FBU3RCLElBQUk7UUFFbkIsT0FBT0MsWUFDSDtZQUFDaUM7WUFBY1Ysa0JBQWtCVTtTQUFhLEdBQzlDQTtJQUNOLEVBQUUsT0FBT2IsR0FBRztRQUNWLE9BQU9wQixZQUFZO1lBQUNFO1NBQVksR0FBR0E7SUFDckM7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZXNvbHZlLWhyZWYudHM/ZTZkMiJdLCJuYW1lcyI6WyJyZXNvbHZlSHJlZiIsInJvdXRlciIsImhyZWYiLCJyZXNvbHZlQXMiLCJiYXNlIiwidXJsQXNTdHJpbmciLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwibGVuZ3RoIiwidXJsUGFydHMiLCJzcGxpdCIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhuYW1lIiwibm9ybWFsaXplZFVybCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImlzTG9jYWxVUkwiLCJVUkwiLCJzdGFydHNXaXRoIiwiYXNQYXRoIiwiXyIsImZpbmFsVXJsIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJpbnRlcnBvbGF0ZWRBcyIsImlzRHluYW1pY1JvdXRlIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwicmVzdWx0IiwicGFyYW1zIiwiaW50ZXJwb2xhdGVBcyIsImhhc2giLCJvbWl0IiwicmVzb2x2ZWRIcmVmIiwib3JpZ2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/use-intersection.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useIntersection\", ({\n enumerable: true,\n get: function() {\n return useIntersection;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id, observer, elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef, rootMargin, disabled } = param;\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react.useState)(false);\n const elementRef = (0, _react.useRef)(null);\n const setElement = (0, _react.useCallback)((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react.useEffect)(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestidlecallback.requestIdleCallback)(()=>setVisible(true));\n return ()=>(0, _requestidlecallback.cancelIdleCallback)(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react.useCallback)(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7OzttREErRmdCQTs7O2VBQUFBOzs7bUNBL0Z5QztpREFJbEQ7QUFxQlAsTUFBTUMsMEJBQTBCLE9BQU9DLHlCQUF5QjtBQUVoRSxNQUFNQyxZQUFZLElBQUlDO0FBQ3RCLE1BQU1DLFNBQXVCLEVBQUU7QUFFL0IsU0FBU0MsZUFBZUMsT0FBb0M7SUFDMUQsTUFBTUMsS0FBSztRQUNUQyxNQUFNRixRQUFRRSxJQUFJLElBQUk7UUFDdEJDLFFBQVFILFFBQVFJLFVBQVUsSUFBSTtJQUNoQztJQUNBLE1BQU1DLFdBQVdQLE9BQU9RLElBQUksQ0FDMUIsQ0FBQ0MsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtJQUUzRCxJQUFJSztJQUVKLElBQUlILFVBQVU7UUFDWkcsV0FBV1osVUFBVWEsR0FBRyxDQUFDSjtRQUN6QixJQUFJRyxVQUFVO1lBQ1osT0FBT0E7UUFDVDtJQUNGO0lBRUEsTUFBTUUsV0FBVyxJQUFJYjtJQUNyQixNQUFNYyxXQUFXLElBQUloQixxQkFBcUIsQ0FBQ2lCO1FBQ3pDQSxRQUFRQyxPQUFPLENBQUMsQ0FBQ0M7WUFDZixNQUFNQyxXQUFXTCxTQUFTRCxHQUFHLENBQUNLLE1BQU1FLE1BQU07WUFDMUMsTUFBTUMsWUFBWUgsTUFBTUksY0FBYyxJQUFJSixNQUFNSyxpQkFBaUIsR0FBRztZQUNwRSxJQUFJSixZQUFZRSxXQUFXO2dCQUN6QkYsU0FBU0U7WUFDWDtRQUNGO0lBQ0YsR0FBR2pCO0lBQ0hRLFdBQVc7UUFDVFA7UUFDQVU7UUFDQUQ7SUFDRjtJQUVBWixPQUFPc0IsSUFBSSxDQUFDbkI7SUFDWkwsVUFBVXlCLEdBQUcsQ0FBQ3BCLElBQUlPO0lBQ2xCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTYyxRQUNQQyxPQUFnQixFQUNoQlIsUUFBeUIsRUFDekJmLE9BQW9DO0lBRXBDLE1BQU0sRUFBRUMsRUFBRSxFQUFFVSxRQUFRLEVBQUVELFFBQVEsRUFBRSxHQUFHWCxlQUFlQztJQUNsRFUsU0FBU1csR0FBRyxDQUFDRSxTQUFTUjtJQUV0QkosU0FBU1csT0FBTyxDQUFDQztJQUNqQixPQUFPLFNBQVNDO1FBQ2RkLFNBQVNlLE1BQU0sQ0FBQ0Y7UUFDaEJaLFNBQVNhLFNBQVMsQ0FBQ0Q7UUFFbkIsdURBQXVEO1FBQ3ZELElBQUliLFNBQVNnQixJQUFJLEtBQUssR0FBRztZQUN2QmYsU0FBU2dCLFVBQVU7WUFDbkIvQixVQUFVNkIsTUFBTSxDQUFDeEI7WUFDakIsTUFBTTJCLFFBQVE5QixPQUFPK0IsU0FBUyxDQUM1QixDQUFDdEIsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtZQUUzRCxJQUFJeUIsUUFBUSxDQUFDLEdBQUc7Z0JBQ2Q5QixPQUFPZ0MsTUFBTSxDQUFDRixPQUFPO1lBQ3ZCO1FBQ0Y7SUFDRjtBQUNGO0FBRU8sU0FBU25DLGdCQUFtQ3NDLEtBSWpDO0lBSmlDLE1BQ2pEQyxPQUFPLEVBQ1A1QixVQUFVLEVBQ1Y2QixRQUFRLEVBQ1EsR0FKaUNGO0lBS2pELE1BQU1HLGFBQXNCRCxZQUFZLENBQUN2QztJQUV6QyxNQUFNLENBQUN5QyxTQUFTQyxXQUFXLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBQztJQUN2QyxNQUFNQyxhQUFhQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFNLEVBQVc7SUFDcEMsTUFBTUMsYUFBYUMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDLENBQUNsQjtRQUM5QmUsV0FBV0ksT0FBTyxHQUFHbkI7SUFDdkIsR0FBRyxFQUFFO0lBRUxvQixDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUixJQUFJakQseUJBQXlCO1lBQzNCLElBQUl3QyxjQUFjQyxTQUFTO1lBRTNCLE1BQU1aLFVBQVVlLFdBQVdJLE9BQU87WUFDbEMsSUFBSW5CLFdBQVdBLFFBQVFxQixPQUFPLEVBQUU7Z0JBQzlCLE1BQU1wQixZQUFZRixRQUNoQkMsU0FDQSxDQUFDTixZQUFjQSxhQUFhbUIsV0FBV25CLFlBQ3ZDO29CQUFFZixNQUFNOEIsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU1UsT0FBTztvQkFBRXRDO2dCQUFXO2dCQUd2QyxPQUFPb0I7WUFDVDtRQUNGLE9BQU87WUFDTCxJQUFJLENBQUNXLFNBQVM7Z0JBQ1osTUFBTVUsZUFBZUMsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDLElBQU1WLFdBQVc7Z0JBQzFELE9BQU8sSUFBTVcsQ0FBQUEsR0FBQUEscUJBQUFBLGtCQUFrQixFQUFDRjtZQUNsQztRQUNGO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1g7UUFBWTlCO1FBQVk0QjtRQUFTRztRQUFTRyxXQUFXSSxPQUFPO0tBQUM7SUFFakUsTUFBTU0sZUFBZVAsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQy9CTCxXQUFXO0lBQ2IsR0FBRyxFQUFFO0lBRUwsT0FBTztRQUFDSTtRQUFZTDtRQUFTYTtLQUFhO0FBQzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24udHN4PzU3ZWUiXSwibmFtZXMiOlsidXNlSW50ZXJzZWN0aW9uIiwiaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIm9ic2VydmVycyIsIk1hcCIsImlkTGlzdCIsImNyZWF0ZU9ic2VydmVyIiwib3B0aW9ucyIsImlkIiwicm9vdCIsIm1hcmdpbiIsInJvb3RNYXJnaW4iLCJleGlzdGluZyIsImZpbmQiLCJvYmoiLCJpbnN0YW5jZSIsImdldCIsImVsZW1lbnRzIiwib2JzZXJ2ZXIiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImVudHJ5IiwiY2FsbGJhY2siLCJ0YXJnZXQiLCJpc1Zpc2libGUiLCJpc0ludGVyc2VjdGluZyIsImludGVyc2VjdGlvblJhdGlvIiwicHVzaCIsInNldCIsIm9ic2VydmUiLCJlbGVtZW50IiwidW5vYnNlcnZlIiwiZGVsZXRlIiwic2l6ZSIsImRpc2Nvbm5lY3QiLCJpbmRleCIsImZpbmRJbmRleCIsInNwbGljZSIsInBhcmFtIiwicm9vdFJlZiIsImRpc2FibGVkIiwiaXNEaXNhYmxlZCIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwidXNlU3RhdGUiLCJlbGVtZW50UmVmIiwidXNlUmVmIiwic2V0RWxlbWVudCIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsInVzZUVmZmVjdCIsInRhZ05hbWUiLCJpZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwicmVzZXRWaXNpYmxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = \"AmpStateContext\";\n} //# sourceMappingURL=amp-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQUVhQTs7O2VBQUFBOzs7OzRFQUZLO0FBRVgsTUFBTUEsa0JBQXNDQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRXhFLElBQUlDLElBQXlCLEVBQWM7SUFDekNILGdCQUFnQkksV0FBVyxHQUFHO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS50cz85NjQxIl0sIm5hbWVzIjpbIkFtcFN0YXRlQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtbW9kZS5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsWUFBWUMsS0FBQTtJQUFBLE1BQzFCQyxXQUFXLEtBQUssRUFDaEJDLFNBQVMsS0FBSyxFQUNkQyxXQUFXLEtBQUssRUFDakIsR0FKMkJILFVBQUEsU0FJeEIsQ0FBQyxJQUp1QkE7SUFLMUIsT0FBT0MsWUFBYUMsVUFBVUM7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2FtcC1tb2RlLnRzP2NlMDQiXSwibmFtZXMiOlsiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLmpzIiwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTs7Ozs7c0RBSTFEQTs7O2VBQUFBOzs7QUFIaEIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxrQkFBa0I7QUFFakIsU0FBU0YsbUJBQW1CRyxHQUFXO0lBQzVDLCtHQUErRztJQUMvRyxJQUFJRixZQUFZRyxJQUFJLENBQUNELE1BQU07UUFDekIsT0FBT0EsSUFBSUUsT0FBTyxDQUFDSCxpQkFBaUI7SUFDdEM7SUFDQSxPQUFPQztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLnRzP2RjYjEiXSwibmFtZXMiOlsiZXNjYXBlU3RyaW5nUmVnZXhwIiwicmVIYXNSZWdFeHAiLCJyZVJlcGxhY2VSZWdFeHAiLCJzdHIiLCJ0ZXN0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/get-img-props.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n \"lazy\",\n \"eager\",\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === \"object\" && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: \"w\"\n };\n }\n return {\n widths: allSizes,\n kind: \"w\"\n };\n }\n if (typeof width !== \"number\") {\n return {\n widths: deviceSizes,\n kind: \"w\"\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: \"x\"\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === \"w\" ? w : i + 1) + kind).join(\", \"),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, overrideSrc, onLoad, onLoadingComplete, placeholder = \"empty\", blurDataURL, fetchPriority, layout, objectFit, objectPosition, lazyBoundary, lazyRoot, ...rest } = param;\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state;\n let config;\n let c = imgConf || _imageconfig.imageConfigDefault;\n if (\"allSizes\" in c) {\n config = c;\n } else {\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n config = {\n ...c,\n allSizes,\n deviceSizes\n };\n }\n if (typeof defaultLoader === \"undefined\") {\n throw new Error(\"images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config\");\n }\n let loader = rest.loader || defaultLoader;\n // Remove property so it's not spread on <img> element\n delete rest.loader;\n delete rest.srcSet;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = \"__next_img_default\" in loader;\n if (isDefaultLoader) {\n if (config.loader === \"custom\") {\n throw new Error('Image with src \"' + src + '\" is missing \"loader\" prop.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\");\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n loader = (obj)=>{\n const { config: _, ...opts } = obj;\n return customImageLoader(opts);\n };\n }\n if (layout) {\n if (layout === \"fill\") {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: \"100%\",\n height: \"auto\"\n },\n responsive: {\n width: \"100%\",\n height: \"auto\"\n }\n };\n const layoutToSizes = {\n responsive: \"100vw\",\n fill: \"100vw\"\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = {\n ...style,\n ...layoutStyle\n };\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = \"\";\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received \" + JSON.stringify(staticImageData));\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received \" + JSON.stringify(staticImageData));\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === \"string\" ? src : staticSrc;\n let isLazy = !priority && (loading === \"lazy\" || typeof loading === \"undefined\");\n if (!src || src.startsWith(\"data:\") || src.startsWith(\"blob:\")) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && src.endsWith(\".svg\") && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n if (priority) {\n fetchPriority = \"high\";\n }\n const qualityInt = getInt(quality);\n if (true) {\n if (config.output === \"export\" && isDefaultLoader && !unoptimized) {\n throw new Error(\"Image Optimization using the default loader is not compatible with `{ output: 'export' }`.\\n Possible solutions:\\n - Remove `{ output: 'export' }` and run \\\"next start\\\" to run server mode including the Image Optimization API.\\n - Configure `{ images: { unoptimized: true } }` in `next.config.js` to disable the Image Optimization API.\\n Read more: https://nextjs.org/docs/messages/export-image-api\");\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw new Error('Image with src \"' + src + '\" has both \"width\" and \"fill\" properties. Only one should be used.');\n }\n if (height) {\n throw new Error('Image with src \"' + src + '\" has both \"height\" and \"fill\" properties. Only one should be used.');\n }\n if ((style == null ? void 0 : style.position) && style.position !== \"absolute\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.width) && style.width !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.height) && style.height !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.');\n }\n } else {\n if (typeof widthInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"width\" property.');\n } else if (isNaN(widthInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"width\" property. Expected a numeric value in pixels but received \"' + width + '\".');\n }\n if (typeof heightInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"height\" property.');\n } else if (isNaN(heightInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"height\" property. Expected a numeric value in pixels but received \"' + height + '\".');\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"loading\" property. Provided \"' + loading + '\" should be one of ' + VALID_LOADING_VALUES.map(String).join(\",\") + \".\");\n }\n if (priority && loading === \"lazy\") {\n throw new Error('Image with src \"' + src + '\" has both \"priority\" and \"loading=\\'lazy\\'\" properties. Only one should be used.');\n }\n if (placeholder !== \"empty\" && placeholder !== \"blur\" && !placeholder.startsWith(\"data:image/\")) {\n throw new Error('Image with src \"' + src + '\" has invalid \"placeholder\" property \"' + placeholder + '\".');\n }\n if (placeholder !== \"empty\") {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.');\n }\n }\n if (placeholder === \"blur\" && !blurDataURL) {\n const VALID_BLUR_EXT = [\n \"jpeg\",\n \"png\",\n \"webp\",\n \"avif\"\n ] // should match next-image-loader\n ;\n throw new Error('Image with src \"' + src + '\" has \"placeholder=\\'blur\\'\" property but is missing the \"blurDataURL\" property.\\n Possible solutions:\\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\\n - Change the \"src\" property to a static import with one of the supported file types: ' + VALID_BLUR_EXT.join(\",\") + ' (animated images not supported)\\n - Remove the \"placeholder\" property, effectively no blur effect\\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url');\n }\n if (\"ref\" in rest) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.');\n }\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width\");\n }\n }\n if (onLoadingComplete) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.');\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has legacy prop \"' + legacyKey + '\". Did you forget to run the codemod?' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13\");\n }\n }\n if (typeof window !== \"undefined\" && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var _entry_element;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry == null ? void 0 : (_entry_element = entry.element) == null ? void 0 : _entry_element.src) || \"\";\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder === \"empty\" && !lcpImage.src.startsWith(\"data:\") && !lcpImage.src.startsWith(\"blob:\")) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n (0, _warnonce.warnOnce)('Image with src \"' + lcpImage.src + '\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.' + \"\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority\");\n }\n }\n });\n try {\n perfObserver.observe({\n type: \"largest-contentful-paint\",\n buffered: true\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n const imgStyle = Object.assign(fill ? {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: \"transparent\"\n }, style);\n const backgroundImage = !blurComplete && placeholder !== \"empty\" ? placeholder === \"blur\" ? 'url(\"data:image/svg+xml;charset=utf-8,' + (0, _imageblursvg.getImageBlurSvg)({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || \"\",\n objectFit: imgStyle.objectFit\n }) + '\")' : 'url(\"' + placeholder + '\")' // assume `data:image/`\n : null;\n let placeholderStyle = backgroundImage ? {\n backgroundSize: imgStyle.objectFit || \"cover\",\n backgroundPosition: imgStyle.objectPosition || \"50% 50%\",\n backgroundRepeat: \"no-repeat\",\n backgroundImage\n } : {};\n if (true) {\n if (placeholderStyle.backgroundImage && placeholder === \"blur\" && (blurDataURL == null ? void 0 : blurDataURL.startsWith(\"/\"))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = 'url(\"' + blurDataURL + '\")';\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n if (true) {\n if (typeof window !== \"undefined\") {\n let fullUrl;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n priority,\n placeholder\n });\n }\n }\n const props = {\n ...rest,\n loading: isLazy ? \"lazy\" : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding: \"async\",\n className,\n style: {\n ...imgStyle,\n ...placeholderStyle\n },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src\n };\n const meta = {\n unoptimized,\n priority,\n placeholder,\n fill\n };\n return {\n props,\n meta\n };\n} //# sourceMappingURL=get-img-props.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBMk9nQkE7OztlQUFBQTs7O3NDQTNPUzswQ0FDTzt5Q0FDRztBQTZFbkMsTUFBTUMsdUJBQXVCO0lBQUM7SUFBUTtJQUFTQztDQUFVO0FBa0J6RCxTQUFTQyxnQkFDUEMsR0FBb0M7SUFFcEMsT0FBT0EsSUFBdUJDLE9BQU8sS0FBS0g7QUFDNUM7QUFFQSxTQUFTSSxrQkFDUEYsR0FBb0M7SUFFcEMsT0FBT0EsSUFBeUJBLEdBQUcsS0FBS0Y7QUFDMUM7QUFFQSxTQUFTSyxlQUFlSCxHQUEwQjtJQUNoRCxPQUNFLE9BQU9BLFFBQVEsWUFDZEQsQ0FBQUEsZ0JBQWdCQyxRQUNmRSxrQkFBa0JGLElBQUFBO0FBRXhCO0FBRUEsTUFBTUksVUFBVSxJQUFJQztBQUlwQixJQUFJQztBQUVKLFNBQVNDLE9BQU9DLENBQVU7SUFDeEIsSUFBSSxPQUFPQSxNQUFNLGFBQWE7UUFDNUIsT0FBT0E7SUFDVDtJQUNBLElBQUksT0FBT0EsTUFBTSxVQUFVO1FBQ3pCLE9BQU9DLE9BQU9DLFFBQVEsQ0FBQ0YsS0FBS0EsSUFBSUc7SUFDbEM7SUFDQSxJQUFJLE9BQU9ILE1BQU0sWUFBWSxXQUFXSSxJQUFJLENBQUNKLElBQUk7UUFDL0MsT0FBT0ssU0FBU0wsR0FBRztJQUNyQjtJQUNBLE9BQU9HO0FBQ1Q7QUFFQSxTQUFTRyxVQUNQQyxLQUFzQyxFQUN0Q0MsS0FBeUIsRUFDekJDLEtBQXlCO0lBRnpCLE1BQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFlLEdBQXRDSjtJQUlBLElBQUlFLE9BQU87UUFDVCx5REFBeUQ7UUFDekQsTUFBTUcsa0JBQWtCO1FBQ3hCLE1BQU1DLGVBQWUsRUFBRTtRQUN2QixJQUFLLElBQUlDLE9BQVFBLFFBQVFGLGdCQUFnQkcsSUFBSSxDQUFDTixRQUFTSyxNQUFPO1lBQzVERCxhQUFhRyxJQUFJLENBQUNYLFNBQVNTLEtBQUssQ0FBQyxFQUFFO1FBQ3JDO1FBQ0EsSUFBSUQsYUFBYUksTUFBTSxFQUFFO1lBQ3ZCLE1BQU1DLGdCQUFnQkMsS0FBS0MsR0FBRyxJQUFJUCxnQkFBZ0I7WUFDbEQsT0FBTztnQkFDTFEsUUFBUVYsU0FBU1csTUFBTSxDQUFDLENBQUNDLElBQU1BLEtBQUtiLFdBQVcsQ0FBQyxFQUFFLEdBQUdRO2dCQUNyRE0sTUFBTTtZQUNSO1FBQ0Y7UUFDQSxPQUFPO1lBQUVILFFBQVFWO1lBQVVhLE1BQU07UUFBSTtJQUN2QztJQUNBLElBQUksT0FBT2hCLFVBQVUsVUFBVTtRQUM3QixPQUFPO1lBQUVhLFFBQVFYO1lBQWFjLE1BQU07UUFBSTtJQUMxQztJQUVBLE1BQU1ILFNBQVM7V0FDVixJQUFJSSxJQUVMLHFFQUFxRTtRQUNyRSxrRUFBa0U7UUFDbEUsb0VBQW9FO1FBQ3BFLHVFQUF1RTtRQUN2RSxzRUFBc0U7UUFDdEUsdUNBQXVDO1FBQ3ZDLHFJQUFxSTtRQUNySTtZQUFDakI7WUFBT0EsUUFBUSxFQUFFLGFBQWE7U0FBRyxDQUFDa0IsR0FBRyxDQUNwQyxDQUFDQyxJQUFNaEIsU0FBU2lCLElBQUksQ0FBQyxDQUFDQyxJQUFNQSxLQUFLRixNQUFNaEIsUUFBUSxDQUFDQSxTQUFTTSxNQUFNLEdBQUcsRUFBRTtLQUd6RTtJQUNELE9BQU87UUFBRUk7UUFBUUcsTUFBTTtJQUFJO0FBQzdCO0FBa0JBLFNBQVNNLGlCQUFpQnZCLEtBUVI7SUFSUSxNQUN4QndCLE1BQU0sRUFDTnZDLEdBQUcsRUFDSHdDLFdBQVcsRUFDWHhCLEtBQUssRUFDTHlCLE9BQU8sRUFDUHhCLEtBQUssRUFDTHlCLE1BQU0sRUFDVSxHQVJRM0I7SUFTeEIsSUFBSXlCLGFBQWE7UUFDZixPQUFPO1lBQUV4QztZQUFLMkMsUUFBUTdDO1lBQVdtQixPQUFPbkI7UUFBVTtJQUNwRDtJQUVBLE1BQU0sRUFBRStCLE1BQU0sRUFBRUcsSUFBSSxFQUFFLEdBQUdsQixVQUFVeUIsUUFBUXZCLE9BQU9DO0lBQ2xELE1BQU0yQixPQUFPZixPQUFPSixNQUFNLEdBQUc7SUFFN0IsT0FBTztRQUNMUixPQUFPLENBQUNBLFNBQVNlLFNBQVMsTUFBTSxVQUFVZjtRQUMxQzBCLFFBQVFkLE9BQ0xLLEdBQUcsQ0FDRixDQUFDQyxHQUFHVSxJQUNGSCxPQUFVO2dCQUFFSDtnQkFBUXZDO2dCQUFLeUM7Z0JBQVN6QixPQUFPbUI7WUFBRSxLQUFHLE1BQzVDSCxDQUFBQSxTQUFTLE1BQU1HLElBQUlVLElBQUksS0FDdEJiLE1BRU5jLElBQUksQ0FBQztRQUVSLHVFQUF1RTtRQUN2RSxtRUFBbUU7UUFDbkUseUVBQXlFO1FBQ3pFLDBFQUEwRTtRQUMxRSwyQkFBMkI7UUFDM0Isc0RBQXNEO1FBQ3REOUMsS0FBSzBDLE9BQU87WUFBRUg7WUFBUXZDO1lBQUt5QztZQUFTekIsT0FBT2EsTUFBTSxDQUFDZSxLQUFLO1FBQUM7SUFDMUQ7QUFDRjtBQUtPLFNBQVNoRCxZQUNkbUIsS0F3QmEsRUFDYmdDLE1BS0M7SUE5QkQsTUFDRS9DLEdBQUcsRUFDSGlCLEtBQUssRUFDTHVCLGNBQWMsS0FBSyxFQUNuQlEsV0FBVyxLQUFLLEVBQ2hCQyxPQUFPLEVBQ1BDLFNBQVMsRUFDVFQsT0FBTyxFQUNQekIsS0FBSyxFQUNMbUMsTUFBTSxFQUNOQyxPQUFPLEtBQUssRUFDWkMsS0FBSyxFQUNMQyxXQUFXLEVBQ1hDLE1BQU0sRUFDTkMsaUJBQWlCLEVBQ2pCQyxjQUFjLE9BQU8sRUFDckJDLFdBQVcsRUFDWEMsYUFBYSxFQUNiQyxNQUFNLEVBQ05DLFNBQVMsRUFDVEMsY0FBYyxFQUNkQyxZQUFZLEVBQ1pDLFFBQVEsRUFDUixHQUFHQyxNQUNRLEdBeEJibEQ7SUF3Q0EsTUFBTSxFQUFFbUQsT0FBTyxFQUFFQyxXQUFXLEVBQUVDLFlBQVksRUFBRUMsYUFBYSxFQUFFLEdBQUd0QjtJQUM5RCxJQUFJUjtJQUNKLElBQUkrQixJQUFJSixXQUFXSyxhQUFBQSxrQkFBa0I7SUFDckMsSUFBSSxjQUFjRCxHQUFHO1FBQ25CL0IsU0FBUytCO0lBQ1gsT0FBTztRQUNMLE1BQU1uRCxXQUFXO2VBQUltRCxFQUFFcEQsV0FBVztlQUFLb0QsRUFBRUUsVUFBVTtTQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDQyxHQUFHQyxJQUFNRCxJQUFJQztRQUN4RSxNQUFNekQsY0FBY29ELEVBQUVwRCxXQUFXLENBQUN1RCxJQUFJLENBQUMsQ0FBQ0MsR0FBR0MsSUFBTUQsSUFBSUM7UUFDckRwQyxTQUFTO1lBQUUsR0FBRytCLENBQUM7WUFBRW5EO1lBQVVEO1FBQVk7SUFDekM7SUFFQSxJQUFJLE9BQU9tRCxrQkFBa0IsYUFBYTtRQUN4QyxNQUFNLElBQUlPLE1BQ1I7SUFFSjtJQUNBLElBQUlsQyxTQUFnQ3VCLEtBQUt2QixNQUFNLElBQUkyQjtJQUVuRCxzREFBc0Q7SUFDdEQsT0FBT0osS0FBS3ZCLE1BQU07SUFDbEIsT0FBT3VCLEtBQWN0QixNQUFNO0lBRTNCLDZDQUE2QztJQUM3QyxvREFBb0Q7SUFDcEQsTUFBTWtDLGtCQUFrQix3QkFBd0JuQztJQUVoRCxJQUFJbUMsaUJBQWlCO1FBQ25CLElBQUl0QyxPQUFPRyxNQUFNLEtBQUssVUFBVTtZQUM5QixNQUFNLElBQUlrQyxNQUNSLHFCQUFtQjVFLE1BQUksZ0NBQ3BCO1FBRVA7SUFDRixPQUFPO1FBQ0wsOENBQThDO1FBQzlDLCtDQUErQztRQUMvQyxpREFBaUQ7UUFDakQsTUFBTThFLG9CQUFvQnBDO1FBQzFCQSxTQUFTLENBQUNxQztZQUNSLE1BQU0sRUFBRXhDLFFBQVF5QyxDQUFDLEVBQUUsR0FBR0MsTUFBTSxHQUFHRjtZQUMvQixPQUFPRCxrQkFBa0JHO1FBQzNCO0lBQ0Y7SUFFQSxJQUFJckIsUUFBUTtRQUNWLElBQUlBLFdBQVcsUUFBUTtZQUNyQlIsT0FBTztRQUNUO1FBQ0EsTUFBTThCLGdCQUFvRTtZQUN4RUMsV0FBVztnQkFBRUMsVUFBVTtnQkFBUWpDLFFBQVE7WUFBTztZQUM5Q2tDLFlBQVk7Z0JBQUVyRSxPQUFPO2dCQUFRbUMsUUFBUTtZQUFPO1FBQzlDO1FBQ0EsTUFBTW1DLGdCQUFvRDtZQUN4REQsWUFBWTtZQUNaakMsTUFBTTtRQUNSO1FBQ0EsTUFBTW1DLGNBQWNMLGFBQWEsQ0FBQ3RCLE9BQU87UUFDekMsSUFBSTJCLGFBQWE7WUFDZmxDLFFBQVE7Z0JBQUUsR0FBR0EsS0FBSztnQkFBRSxHQUFHa0MsV0FBVztZQUFDO1FBQ3JDO1FBQ0EsTUFBTUMsY0FBY0YsYUFBYSxDQUFDMUIsT0FBTztRQUN6QyxJQUFJNEIsZUFBZSxDQUFDdkUsT0FBTztZQUN6QkEsUUFBUXVFO1FBQ1Y7SUFDRjtJQUVBLElBQUlDLFlBQVk7SUFDaEIsSUFBSUMsV0FBV25GLE9BQU9TO0lBQ3RCLElBQUkyRSxZQUFZcEYsT0FBTzRDO0lBQ3ZCLElBQUl5QztJQUNKLElBQUlDO0lBQ0osSUFBSTFGLGVBQWVILE1BQU07UUFDdkIsTUFBTThGLGtCQUFrQi9GLGdCQUFnQkMsT0FBT0EsSUFBSUMsT0FBTyxHQUFHRDtRQUU3RCxJQUFJLENBQUM4RixnQkFBZ0I5RixHQUFHLEVBQUU7WUFDeEIsTUFBTSxJQUFJNEUsTUFDUixnSkFBOEltQixLQUFLQyxTQUFTLENBQzFKRjtRQUdOO1FBQ0EsSUFBSSxDQUFDQSxnQkFBZ0IzQyxNQUFNLElBQUksQ0FBQzJDLGdCQUFnQjlFLEtBQUssRUFBRTtZQUNyRCxNQUFNLElBQUk0RCxNQUNSLDZKQUEySm1CLEtBQUtDLFNBQVMsQ0FDdktGO1FBR047UUFFQUYsWUFBWUUsZ0JBQWdCRixTQUFTO1FBQ3JDQyxhQUFhQyxnQkFBZ0JELFVBQVU7UUFDdkNuQyxjQUFjQSxlQUFlb0MsZ0JBQWdCcEMsV0FBVztRQUN4RCtCLFlBQVlLLGdCQUFnQjlGLEdBQUc7UUFFL0IsSUFBSSxDQUFDb0QsTUFBTTtZQUNULElBQUksQ0FBQ3NDLFlBQVksQ0FBQ0MsV0FBVztnQkFDM0JELFdBQVdJLGdCQUFnQjlFLEtBQUs7Z0JBQ2hDMkUsWUFBWUcsZ0JBQWdCM0MsTUFBTTtZQUNwQyxPQUFPLElBQUl1QyxZQUFZLENBQUNDLFdBQVc7Z0JBQ2pDLE1BQU1NLFFBQVFQLFdBQVdJLGdCQUFnQjlFLEtBQUs7Z0JBQzlDMkUsWUFBWWhFLEtBQUt1RSxLQUFLLENBQUNKLGdCQUFnQjNDLE1BQU0sR0FBRzhDO1lBQ2xELE9BQU8sSUFBSSxDQUFDUCxZQUFZQyxXQUFXO2dCQUNqQyxNQUFNTSxRQUFRTixZQUFZRyxnQkFBZ0IzQyxNQUFNO2dCQUNoRHVDLFdBQVcvRCxLQUFLdUUsS0FBSyxDQUFDSixnQkFBZ0I5RSxLQUFLLEdBQUdpRjtZQUNoRDtRQUNGO0lBQ0Y7SUFDQWpHLE1BQU0sT0FBT0EsUUFBUSxXQUFXQSxNQUFNeUY7SUFFdEMsSUFBSVUsU0FDRixDQUFDbkQsWUFBYUMsQ0FBQUEsWUFBWSxVQUFVLE9BQU9BLFlBQVk7SUFDekQsSUFBSSxDQUFDakQsT0FBT0EsSUFBSW9HLFVBQVUsQ0FBQyxZQUFZcEcsSUFBSW9HLFVBQVUsQ0FBQyxVQUFVO1FBQzlELHVFQUF1RTtRQUN2RTVELGNBQWM7UUFDZDJELFNBQVM7SUFDWDtJQUNBLElBQUk1RCxPQUFPQyxXQUFXLEVBQUU7UUFDdEJBLGNBQWM7SUFDaEI7SUFDQSxJQUFJcUMsbUJBQW1CN0UsSUFBSXFHLFFBQVEsQ0FBQyxXQUFXLENBQUM5RCxPQUFPK0QsbUJBQW1CLEVBQUU7UUFDMUUseURBQXlEO1FBQ3pELCtDQUErQztRQUMvQzlELGNBQWM7SUFDaEI7SUFDQSxJQUFJUSxVQUFVO1FBQ1pXLGdCQUFnQjtJQUNsQjtJQUVBLE1BQU00QyxhQUFhaEcsT0FBT2tDO0lBRTFCLElBQUkrRCxJQUF5QixFQUFjO1FBQ3pDLElBQUlqRSxPQUFPa0UsTUFBTSxLQUFLLFlBQVk1QixtQkFBbUIsQ0FBQ3JDLGFBQWE7WUFDakUsTUFBTSxJQUFJb0MsTUFDUDtRQU1MO1FBQ0EsSUFBSSxDQUFDNUUsS0FBSztZQUNSLGlEQUFpRDtZQUNqRCwrQ0FBK0M7WUFDL0MsMkNBQTJDO1lBQzNDd0MsY0FBYztRQUNoQixPQUFPO1lBQ0wsSUFBSVksTUFBTTtnQkFDUixJQUFJcEMsT0FBTztvQkFDVCxNQUFNLElBQUk0RCxNQUNSLHFCQUFtQjVFLE1BQUk7Z0JBRTNCO2dCQUNBLElBQUltRCxRQUFRO29CQUNWLE1BQU0sSUFBSXlCLE1BQ1IscUJBQW1CNUUsTUFBSTtnQkFFM0I7Z0JBQ0EsSUFBSXFELENBQUFBLFNBQUFBLE9BQUFBLEtBQUFBLElBQUFBLE1BQU9xRCxRQUFRLEtBQUlyRCxNQUFNcUQsUUFBUSxLQUFLLFlBQVk7b0JBQ3BELE1BQU0sSUFBSTlCLE1BQ1IscUJBQW1CNUUsTUFBSTtnQkFFM0I7Z0JBQ0EsSUFBSXFELENBQUFBLFNBQUFBLE9BQUFBLEtBQUFBLElBQUFBLE1BQU9yQyxLQUFLLEtBQUlxQyxNQUFNckMsS0FBSyxLQUFLLFFBQVE7b0JBQzFDLE1BQU0sSUFBSTRELE1BQ1IscUJBQW1CNUUsTUFBSTtnQkFFM0I7Z0JBQ0EsSUFBSXFELENBQUFBLFNBQUFBLE9BQUFBLEtBQUFBLElBQUFBLE1BQU9GLE1BQU0sS0FBSUUsTUFBTUYsTUFBTSxLQUFLLFFBQVE7b0JBQzVDLE1BQU0sSUFBSXlCLE1BQ1IscUJBQW1CNUUsTUFBSTtnQkFFM0I7WUFDRixPQUFPO2dCQUNMLElBQUksT0FBTzBGLGFBQWEsYUFBYTtvQkFDbkMsTUFBTSxJQUFJZCxNQUNSLHFCQUFtQjVFLE1BQUk7Z0JBRTNCLE9BQU8sSUFBSTJHLE1BQU1qQixXQUFXO29CQUMxQixNQUFNLElBQUlkLE1BQ1IscUJBQW1CNUUsTUFBSSxzRkFBbUZnQixRQUFNO2dCQUVwSDtnQkFDQSxJQUFJLE9BQU8yRSxjQUFjLGFBQWE7b0JBQ3BDLE1BQU0sSUFBSWYsTUFDUixxQkFBbUI1RSxNQUFJO2dCQUUzQixPQUFPLElBQUkyRyxNQUFNaEIsWUFBWTtvQkFDM0IsTUFBTSxJQUFJZixNQUNSLHFCQUFtQjVFLE1BQUksdUZBQW9GbUQsU0FBTztnQkFFdEg7WUFDRjtRQUNGO1FBQ0EsSUFBSSxDQUFDdEQscUJBQXFCK0csUUFBUSxDQUFDM0QsVUFBVTtZQUMzQyxNQUFNLElBQUkyQixNQUNSLHFCQUFtQjVFLE1BQUksaURBQThDaUQsVUFBUSx3QkFBcUJwRCxxQkFBcUJxQyxHQUFHLENBQ3hIMkUsUUFDQS9ELElBQUksQ0FBQyxPQUFLO1FBRWhCO1FBQ0EsSUFBSUUsWUFBWUMsWUFBWSxRQUFRO1lBQ2xDLE1BQU0sSUFBSTJCLE1BQ1IscUJBQW1CNUUsTUFBSTtRQUUzQjtRQUNBLElBQ0V5RCxnQkFBZ0IsV0FDaEJBLGdCQUFnQixVQUNoQixDQUFDQSxZQUFZMkMsVUFBVSxDQUFDLGdCQUN4QjtZQUNBLE1BQU0sSUFBSXhCLE1BQ1IscUJBQW1CNUUsTUFBSSwyQ0FBd0N5RCxjQUFZO1FBRS9FO1FBQ0EsSUFBSUEsZ0JBQWdCLFNBQVM7WUFDM0IsSUFBSWlDLFlBQVlDLGFBQWFELFdBQVdDLFlBQVksTUFBTTtnQkFDeERtQixDQUFBQSxHQUFBQSxVQUFBQSxRQUFRLEVBQ04scUJBQW1COUcsTUFBSTtZQUUzQjtRQUNGO1FBQ0EsSUFBSXlELGdCQUFnQixVQUFVLENBQUNDLGFBQWE7WUFDMUMsTUFBTXFELGlCQUFpQjtnQkFBQztnQkFBUTtnQkFBTztnQkFBUTthQUFPLENBQUMsaUNBQWlDOztZQUV4RixNQUFNLElBQUluQyxNQUNSLHFCQUFtQjVFLE1BQUksNlRBR2tFK0csZUFBZWpFLElBQUksQ0FDeEcsT0FDQTtRQUlSO1FBQ0EsSUFBSSxTQUFTbUIsTUFBTTtZQUNqQjZDLENBQUFBLEdBQUFBLFVBQUFBLFFBQVEsRUFDTixxQkFBbUI5RyxNQUFJO1FBRTNCO1FBRUEsSUFBSSxDQUFDd0MsZUFBZSxDQUFDcUMsaUJBQWlCO1lBQ3BDLE1BQU1tQyxTQUFTdEUsT0FBTztnQkFDcEJIO2dCQUNBdkM7Z0JBQ0FnQixPQUFPMEUsWUFBWTtnQkFDbkJqRCxTQUFTOEQsY0FBYztZQUN6QjtZQUNBLElBQUlVO1lBQ0osSUFBSTtnQkFDRkEsTUFBTSxJQUFJQyxJQUFJRjtZQUNoQixFQUFFLE9BQU9HLEtBQUssQ0FBQztZQUNmLElBQUlILFdBQVdoSCxPQUFRaUgsT0FBT0EsSUFBSUcsUUFBUSxLQUFLcEgsT0FBTyxDQUFDaUgsSUFBSUksTUFBTSxFQUFHO2dCQUNsRVAsQ0FBQUEsR0FBQUEsVUFBQUEsUUFBUSxFQUNOLHFCQUFtQjlHLE1BQUksNEhBQ3BCO1lBRVA7UUFDRjtRQUVBLElBQUl3RCxtQkFBbUI7WUFDckJzRCxDQUFBQSxHQUFBQSxVQUFBQSxRQUFRLEVBQ04scUJBQW1COUcsTUFBSTtRQUUzQjtRQUVBLEtBQUssTUFBTSxDQUFDc0gsV0FBV0MsWUFBWSxJQUFJQyxPQUFPQyxPQUFPLENBQUM7WUFDcEQ3RDtZQUNBQztZQUNBQztZQUNBQztZQUNBQztRQUNGLEdBQUk7WUFDRixJQUFJdUQsYUFBYTtnQkFDZlQsQ0FBQUEsR0FBQUEsVUFBQUEsUUFBUSxFQUNOLHFCQUFtQjlHLE1BQUksd0JBQXFCc0gsWUFBVSwwQ0FDbkQ7WUFFUDtRQUNGO1FBRUEsSUFDRSxPQUFPSSxXQUFXLGVBQ2xCLENBQUNwSCxnQkFDRG9ILE9BQU9DLG1CQUFtQixFQUMxQjtZQUNBckgsZUFBZSxJQUFJcUgsb0JBQW9CLENBQUNDO2dCQUN0QyxLQUFLLE1BQU1DLFNBQVNELFVBQVVFLFVBQVUsR0FBSTt3QkFFM0JEO29CQURmLDBFQUEwRTtvQkFDMUUsTUFBTUUsU0FBU0YsQ0FBQUEsU0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsaUJBQUFBLE1BQU9HLE9BQU8scUJBQWRILGVBQWdCN0gsR0FBRyxLQUFJO29CQUN0QyxNQUFNaUksV0FBVzdILFFBQVE4SCxHQUFHLENBQUNIO29CQUM3QixJQUNFRSxZQUNBLENBQUNBLFNBQVNqRixRQUFRLElBQ2xCaUYsU0FBU3hFLFdBQVcsS0FBSyxXQUN6QixDQUFDd0UsU0FBU2pJLEdBQUcsQ0FBQ29HLFVBQVUsQ0FBQyxZQUN6QixDQUFDNkIsU0FBU2pJLEdBQUcsQ0FBQ29HLFVBQVUsQ0FBQyxVQUN6Qjt3QkFDQSxpREFBaUQ7d0JBQ2pEVSxDQUFBQSxHQUFBQSxVQUFBQSxRQUFRLEVBQ04scUJBQW1CbUIsU0FBU2pJLEdBQUcsR0FBQyw4SEFDN0I7b0JBRVA7Z0JBQ0Y7WUFDRjtZQUNBLElBQUk7Z0JBQ0ZNLGFBQWE2SCxPQUFPLENBQUM7b0JBQ25CQyxNQUFNO29CQUNOQyxVQUFVO2dCQUNaO1lBQ0YsRUFBRSxPQUFPbEIsS0FBSztnQkFDWixvQ0FBb0M7Z0JBQ3BDbUIsUUFBUUMsS0FBSyxDQUFDcEI7WUFDaEI7UUFDRjtJQUNGO0lBQ0EsTUFBTXFCLFdBQVdoQixPQUFPaUIsTUFBTSxDQUM1QnJGLE9BQ0k7UUFDRXNELFVBQVU7UUFDVnZELFFBQVE7UUFDUm5DLE9BQU87UUFDUDBILE1BQU07UUFDTkMsS0FBSztRQUNMQyxPQUFPO1FBQ1BDLFFBQVE7UUFDUmhGO1FBQ0FDO0lBQ0YsSUFDQSxDQUFDLEdBQ0xLLGNBQWMsQ0FBQyxJQUFJO1FBQUUyRSxPQUFPO0lBQWMsR0FDMUN6RjtJQUdGLE1BQU0wRixrQkFDSixDQUFDM0UsZ0JBQWdCWCxnQkFBZ0IsVUFDN0JBLGdCQUFnQixTQUNkLDJDQUF5Q3VGLENBQUFBLEdBQUFBLGNBQUFBLGVBQWUsRUFBQztRQUN2RHREO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FuQyxhQUFhQSxlQUFlO1FBQzVCRyxXQUFXMkUsU0FBUzNFLFNBQVM7SUFDL0IsS0FBRyxPQUNILFVBQVFKLGNBQVksS0FBSSx1QkFBdUI7T0FDakQ7SUFFTixJQUFJd0YsbUJBQW1CRixrQkFDbkI7UUFDRUcsZ0JBQWdCVixTQUFTM0UsU0FBUyxJQUFJO1FBQ3RDc0Ysb0JBQW9CWCxTQUFTMUUsY0FBYyxJQUFJO1FBQy9Dc0Ysa0JBQWtCO1FBQ2xCTDtJQUNGLElBQ0EsQ0FBQztJQUVMLElBQUl2QyxJQUF5QixFQUFlO1FBQzFDLElBQ0V5QyxpQkFBaUJGLGVBQWUsSUFDaEN0RixnQkFBZ0IsVUFDaEJDLENBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFlBQWEwQyxVQUFVLENBQUMsT0FDeEI7WUFDQSw4RUFBOEU7WUFDOUUsZ0ZBQWdGO1lBQ2hGLHFGQUFxRjtZQUNyRjZDLGlCQUFpQkYsZUFBZSxHQUFHLFVBQVFyRixjQUFZO1FBQ3pEO0lBQ0Y7SUFFQSxNQUFNMkYsZ0JBQWdCL0csaUJBQWlCO1FBQ3JDQztRQUNBdkM7UUFDQXdDO1FBQ0F4QixPQUFPMEU7UUFDUGpELFNBQVM4RDtRQUNUdEY7UUFDQXlCO0lBQ0Y7SUFFQSxJQUFJOEQsSUFBeUIsRUFBYztRQUN6QyxJQUFJLE9BQU9rQixXQUFXLGFBQWE7WUFDakMsSUFBSTRCO1lBQ0osSUFBSTtnQkFDRkEsVUFBVSxJQUFJcEMsSUFBSW1DLGNBQWNySixHQUFHO1lBQ3JDLEVBQUUsT0FBT3VKLEdBQUc7Z0JBQ1ZELFVBQVUsSUFBSXBDLElBQUltQyxjQUFjckosR0FBRyxFQUFFMEgsT0FBTzhCLFFBQVEsQ0FBQ0MsSUFBSTtZQUMzRDtZQUNBckosUUFBUXNKLEdBQUcsQ0FBQ0osUUFBUUcsSUFBSSxFQUFFO2dCQUFFeko7Z0JBQUtnRDtnQkFBVVM7WUFBWTtRQUN6RDtJQUNGO0lBRUEsTUFBTWtHLFFBQWtCO1FBQ3RCLEdBQUcxRixJQUFJO1FBQ1BoQixTQUFTa0QsU0FBUyxTQUFTbEQ7UUFDM0JVO1FBQ0EzQyxPQUFPMEU7UUFDUHZDLFFBQVF3QztRQUNSaUUsVUFBVTtRQUNWMUc7UUFDQUcsT0FBTztZQUFFLEdBQUdtRixRQUFRO1lBQUUsR0FBR1MsZ0JBQWdCO1FBQUM7UUFDMUNoSSxPQUFPb0ksY0FBY3BJLEtBQUs7UUFDMUIwQixRQUFRMEcsY0FBYzFHLE1BQU07UUFDNUIzQyxLQUFLc0QsZUFBZStGLGNBQWNySixHQUFHO0lBQ3ZDO0lBQ0EsTUFBTTZKLE9BQU87UUFBRXJIO1FBQWFRO1FBQVVTO1FBQWFMO0lBQUs7SUFDeEQsT0FBTztRQUFFdUc7UUFBT0U7SUFBSztBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZ2V0LWltZy1wcm9wcy50cz9lYzkxIl0sIm5hbWVzIjpbImdldEltZ1Byb3BzIiwiVkFMSURfTE9BRElOR19WQUxVRVMiLCJ1bmRlZmluZWQiLCJpc1N0YXRpY1JlcXVpcmUiLCJzcmMiLCJkZWZhdWx0IiwiaXNTdGF0aWNJbWFnZURhdGEiLCJpc1N0YXRpY0ltcG9ydCIsImFsbEltZ3MiLCJNYXAiLCJwZXJmT2JzZXJ2ZXIiLCJnZXRJbnQiLCJ4IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJOYU4iLCJ0ZXN0IiwicGFyc2VJbnQiLCJnZXRXaWR0aHMiLCJwYXJhbSIsIndpZHRoIiwic2l6ZXMiLCJkZXZpY2VTaXplcyIsImFsbFNpemVzIiwidmlld3BvcnRXaWR0aFJlIiwicGVyY2VudFNpemVzIiwibWF0Y2giLCJleGVjIiwicHVzaCIsImxlbmd0aCIsInNtYWxsZXN0UmF0aW8iLCJNYXRoIiwibWluIiwid2lkdGhzIiwiZmlsdGVyIiwicyIsImtpbmQiLCJTZXQiLCJtYXAiLCJ3IiwiZmluZCIsInAiLCJnZW5lcmF0ZUltZ0F0dHJzIiwiY29uZmlnIiwidW5vcHRpbWl6ZWQiLCJxdWFsaXR5IiwibG9hZGVyIiwic3JjU2V0IiwibGFzdCIsImkiLCJqb2luIiwiX3N0YXRlIiwicHJpb3JpdHkiLCJsb2FkaW5nIiwiY2xhc3NOYW1lIiwiaGVpZ2h0IiwiZmlsbCIsInN0eWxlIiwib3ZlcnJpZGVTcmMiLCJvbkxvYWQiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInBsYWNlaG9sZGVyIiwiYmx1ckRhdGFVUkwiLCJmZXRjaFByaW9yaXR5IiwibGF5b3V0Iiwib2JqZWN0Rml0Iiwib2JqZWN0UG9zaXRpb24iLCJsYXp5Qm91bmRhcnkiLCJsYXp5Um9vdCIsInJlc3QiLCJpbWdDb25mIiwic2hvd0FsdFRleHQiLCJibHVyQ29tcGxldGUiLCJkZWZhdWx0TG9hZGVyIiwiYyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImltYWdlU2l6ZXMiLCJzb3J0IiwiYSIsImIiLCJFcnJvciIsImlzRGVmYXVsdExvYWRlciIsImN1c3RvbUltYWdlTG9hZGVyIiwib2JqIiwiXyIsIm9wdHMiLCJsYXlvdXRUb1N0eWxlIiwiaW50cmluc2ljIiwibWF4V2lkdGgiLCJyZXNwb25zaXZlIiwibGF5b3V0VG9TaXplcyIsImxheW91dFN0eWxlIiwibGF5b3V0U2l6ZXMiLCJzdGF0aWNTcmMiLCJ3aWR0aEludCIsImhlaWdodEludCIsImJsdXJXaWR0aCIsImJsdXJIZWlnaHQiLCJzdGF0aWNJbWFnZURhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicmF0aW8iLCJyb3VuZCIsImlzTGF6eSIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJxdWFsaXR5SW50IiwicHJvY2VzcyIsIm91dHB1dCIsInBvc2l0aW9uIiwiaXNOYU4iLCJpbmNsdWRlcyIsIlN0cmluZyIsIndhcm5PbmNlIiwiVkFMSURfQkxVUl9FWFQiLCJ1cmxTdHIiLCJ1cmwiLCJVUkwiLCJlcnIiLCJwYXRobmFtZSIsInNlYXJjaCIsImxlZ2FjeUtleSIsImxlZ2FjeVZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIndpbmRvdyIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJlbnRyeUxpc3QiLCJlbnRyeSIsImdldEVudHJpZXMiLCJpbWdTcmMiLCJlbGVtZW50IiwibGNwSW1hZ2UiLCJnZXQiLCJvYnNlcnZlIiwidHlwZSIsImJ1ZmZlcmVkIiwiY29uc29sZSIsImVycm9yIiwiaW1nU3R5bGUiLCJhc3NpZ24iLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJjb2xvciIsImJhY2tncm91bmRJbWFnZSIsImdldEltYWdlQmx1clN2ZyIsInBsYWNlaG9sZGVyU3R5bGUiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRQb3NpdGlvbiIsImJhY2tncm91bmRSZXBlYXQiLCJpbWdBdHRyaWJ1dGVzIiwiZnVsbFVybCIsImUiLCJsb2NhdGlvbiIsImhyZWYiLCJzZXQiLCJwcm9wcyIsImRlY29kaW5nIiwibWV0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\n_c = Head;\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\nvar _c;\n$RefreshReg$(_c, \"Head\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oZWFkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBcU1BQSxTQUFtQjs7O0lBeExIQztpQkFBQUE7Ozs7Ozs7OzJEQVRnQkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTs7eUNBRUpBLG1CQUFBQSxDQUFBOztBQU9yQixNQUFBQyxZQUFTSCxtQkFBQUEsQ0FBWUkscUdBQUFBO1NBQUFBLFlBQUFBLFNBQUFBO0lBQzFCLElBQUFBLGNBQWEsUUFBQUEsWUFBQTs7bUJBQU9DLEdBQVEsSUFBQUMsWUFBQUMsR0FBQTs7UUFBVztLQUN2QztRQUNFQyxDQUFBQSxXQUFTO2FBQU9DLElBQUFBLENBQUssa0JBQUFILFlBQUFDLEdBQUE7WUFBV0csTUFBQUE7O1FBQ2xDO0lBQ0E7SUFDRixPQUFBRjtBQUVBO1NBSUVHLGlCQUFBQyxJQUFBLEVBQUFDLEtBQUE7SUFDQSw4RkFBNEQ7UUFDMUQsT0FBT0QsVUFBQUEsWUFBQUEsT0FBQUEsVUFBQUEsVUFBQUE7UUFDVCxPQUFBQTtJQUNBO0lBQ0Esa0NBQXlCRTtRQUN2QkQsTUFBQUUsSUFBT0gsS0FBS0ksT0FDVkMsT0FBQSxDQUFBSCxRQUFBO1FBQ0FJLE9BQUFBLEtBQUFBLE1BQU1DLENBRUpDLE9BQ0VDLE9BQUFBLENBQ0FDLFFBQUFBLENBQUFBLE9BQUFBLENBQUFBLE1BQUFBLEtBQUFBLENBQUFBLFFBQUFBLEVBQUFBLE1BQUFBLGdCQUdTQTtnQkFHUCxPQUFPRCxrQkFBQUEsWUFBQUEsT0FBQUEsa0JBQUFBLFVBQUFBO2dCQUNULE9BQUFBO1lBQ0E7WUFFRixPQUFFQSxhQUFBTCxNQUFBLENBQUFNO1FBR1I7SUFDQTtJQUNGLE9BQUFWLEtBQUFJLE1BQUEsQ0FBQUg7QUFFQTtNQUFtQlUsWUFBQTtJQUFRO0lBQWE7SUFBVztJQUFXO0NBRTlEOzs7OztZQU1RQztJQUNOLE1BQU1DLE9BQU8sSUFBSUM7SUFDakIsTUFB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QSxDQUNFLEdBQUF6QyxPQUFBd0MsVUFBQSxFQUFDRyxpQ0FBTUQsa0JBQUE7V0FDTEUsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBeUJDLEdBQUFBLEVBQUFBLFlBQUFBLE9BQUFBLEVBQUFBO1FBQ3pCSix5QkFBYUE7UUFDYnpELGFBQVc4RDttQkFFVlQsQ0FBQUEsR0FBQUEsU0FBQUEsV0FBQUEsRUFBQUE7O0lBR1A7O0tBWmdCQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaGVhZC50c3g/MzY3MCJdLCJuYW1lcyI6WyJleHBvcnRzIiwiZGVmYXVsdEhlYWQiLCJfIiwicmVxdWlyZSIsIl93YXJub25jZSIsImluQW1wTW9kZSIsImNoYXJTZXQiLCJfanN4cnVudGltZSIsImpzeCIsImhlYWQiLCJuYW1lIiwiY29udGVudCIsIm9ubHlSZWFjdEVsZW1lbnQiLCJsaXN0IiwiY2hpbGQiLCJGcmFnbWVudCIsInR5cGUiLCJjb25jYXQiLCJkZWZhdWx0IiwiUmVhY3QiLCJDaGlsZHJlbiIsIl9yZWFjdCIsImZyYWdtZW50TGlzdCIsImZyYWdtZW50Q2hpbGQiLCJNRVRBVFlQRVMiLCJrZXlzIiwidGFncyIsIlNldCIsIm1ldGFUeXBlcyIsIm1ldGFDYXRlZ29yaWVzIiwiaCIsImlzVW5pcXVlIiwiaGFzS2V5Iiwia2V5IiwiaW5kZXhPZiIsImFkZCIsImkiLCJtZXRhdHlwZSIsImxlbiIsImhhc093blByb3BlcnR5IiwiY2F0ZWdvcmllcyIsImhhcyIsImNhdGVnb3J5IiwicHJvcHMiLCJoZWFkQ2hpbGRyZW5FbGVtZW50cyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImMiLCJfX05FWFRfT1BUSU1JWkVfRk9OVFMiLCJzb21lIiwidXJsIiwibmV3UHJvcHMiLCJzdGFydHNXaXRoIiwidW5kZWZpbmVkIiwiY2xvbmVFbGVtZW50Iiwic3JjTWVzc2FnZSIsIndhcm5PbmNlIiwiY2hpbGRyZW4iLCJwYXJhbSIsImFtcFN0YXRlIiwidXNlQ29udGV4dCIsImhlYWRNYW5hZ2VyIiwiSGVhZE1hbmFnZXJDb250ZXh0IiwiRWZmZWN0IiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJyZWR1Y2VDb21wb25lbnRzIiwiaXNJbkFtcE1vZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-blur-svg.js ***! - \*************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImageBlurSvg\", ({\n enumerable: true,\n get: function() {\n return getImageBlurSvg;\n }\n}));\nfunction getImageBlurSvg(param) {\n let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL, objectFit } = param;\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n const viewBox = svgWidth && svgHeight ? \"viewBox='0 0 \" + svgWidth + \" \" + svgHeight + \"'\" : \"\";\n const preserveAspectRatio = viewBox ? \"none\" : objectFit === \"contain\" ? \"xMidYMid\" : objectFit === \"cover\" ? \"xMidYMid slice\" : \"none\";\n return \"%3Csvg xmlns='http://www.w3.org/2000/svg' \" + viewBox + \"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='\" + preserveAspectRatio + \"' style='filter: url(%23b);' href='\" + blurDataURL + \"'/%3E%3C/svg%3E\";\n} //# sourceMappingURL=image-blur-svg.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OzttREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsZ0JBQWdCQyxLQWMvQjtJQWQrQixNQUM5QkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLFNBQVMsRUFDVEMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLFNBQVMsRUFRVixHQWQrQk47SUFlOUIsTUFBTU8sTUFBTTtJQUNaLE1BQU1DLFdBQVdMLFlBQVlBLFlBQVksS0FBS0Y7SUFDOUMsTUFBTVEsWUFBWUwsYUFBYUEsYUFBYSxLQUFLRjtJQUVqRCxNQUFNUSxVQUNKRixZQUFZQyxZQUFZLGtCQUFnQkQsV0FBUyxNQUFHQyxZQUFVLE1BQUs7SUFDckUsTUFBTUUsc0JBQXNCRCxVQUN4QixTQUNBSixjQUFjLFlBQ2QsYUFDQUEsY0FBYyxVQUNkLG1CQUNBO0lBRUosT0FBTywrQ0FBNkNJLFVBQVEsOEZBQTJGSCxNQUFJLG9RQUFpUUEsTUFBSSxnR0FBNkZJLHNCQUFvQix3Q0FBcUNOLGNBQVk7QUFDcGtCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy50cz9jNzljIl0sIm5hbWVzIjpbImdldEltYWdlQmx1clN2ZyIsInBhcmFtIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0IiwiYmx1ckRhdGFVUkwiLCJvYmplY3RGaXQiLCJzdGQiLCJzdmdXaWR0aCIsInN2Z0hlaWdodCIsInZpZXdCb3giLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageConfigContext\", ({\n enumerable: true,\n get: function() {\n return ImageConfigContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst ImageConfigContext = _react.default.createContext(_imageconfig.imageConfigDefault);\nif (true) {\n ImageConfigContext.displayName = \"ImageConfigContext\";\n} //# sourceMappingURL=image-config-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUlhQTs7O2VBQUFBOzs7OzRFQUpLO3lDQUVpQjtBQUU1QixNQUFNQSxxQkFDWEMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQXNCQyxhQUFBQSxrQkFBa0I7QUFFN0QsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0osbUJBQW1CSyxXQUFXLEdBQUc7QUFDbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy1jb250ZXh0LnNoYXJlZC1ydW50aW1lLnRzPzNkNzUiXSwibmFtZXMiOlsiSW1hZ2VDb25maWdDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwiaW1hZ2VDb25maWdEZWZhdWx0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLGVBQWE7ZUFBYkE7O0lBc0dBQyxvQkFBa0I7ZUFBbEJBOzs7QUF0R04sTUFBTUQsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQWdHTSxNQUFNQyxxQkFBMEM7SUFDckRDLGFBQWE7UUFBQztRQUFLO1FBQUs7UUFBSztRQUFNO1FBQU07UUFBTTtRQUFNO0tBQUs7SUFDMURDLFlBQVk7UUFBQztRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUk7UUFBSztRQUFLO0tBQUk7SUFDL0NDLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFNBQVMsRUFBRTtJQUNYQyxxQkFBcUI7SUFDckJDLGlCQUFpQjtJQUNqQkMsU0FBUztRQUFDO0tBQWE7SUFDdkJDLHFCQUFxQjtJQUNyQkMsdUJBQXdCO0lBQ3hCQyx3QkFBd0I7SUFDeEJDLGdCQUFnQixFQUFFO0lBQ2xCQyxhQUFhO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy50cz8xMzRhIl0sIm5hbWVzIjpbIlZBTElEX0xPQURFUlMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJkZXZpY2VTaXplcyIsImltYWdlU2l6ZXMiLCJwYXRoIiwibG9hZGVyIiwibG9hZGVyRmlsZSIsImRvbWFpbnMiLCJkaXNhYmxlU3RhdGljSW1hZ2VzIiwibWluaW11bUNhY2hlVFRMIiwiZm9ybWF0cyIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJjb250ZW50U2VjdXJpdHlQb2xpY3kiLCJjb250ZW50RGlzcG9zaXRpb25UeXBlIiwicmVtb3RlUGF0dGVybnMiLCJ1bm9wdGltaXplZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-external.js ***! - \*************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n getImageProps: function() {\n return getImageProps;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getimgprops = __webpack_require__(/*! ./get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imagecomponent = __webpack_require__(/*! ../../client/image-component */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\nfunction getImageProps(imgProps) {\n const { props } = (0, _getimgprops.getImgProps)(imgProps, {\n defaultLoader: _imageloader.default,\n // This is replaced by webpack define plugin\n imgConf: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]}\n });\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)){\n if (value === undefined) {\n delete props[key];\n }\n }\n return {\n props\n };\n}\nconst _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ0FBLFNBQW9CO2VBQXBCQzs7SUFqQmdCQyxlQUFhO2VBQWJBOzs7O3lDQWJZOzRDQUNOO2tGQUdJO0FBU25CLFNBQVNBLGNBQWNDLFFBQW9CO0lBQ2hELE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLGFBQUFBLFdBQVcsRUFBQ0YsVUFBVTtRQUN0Q0csZUFBQUEsYUFBQUEsT0FBYTtRQUNiLDRDQUE0QztRQUM1Q0MsU0FBU0MsME5BQTZCO0lBQ3hDO0lBQ0EsdUVBQXVFO0lBQ3ZFLHdFQUF3RTtJQUN4RSx3REFBd0Q7SUFDeEQsS0FBSyxNQUFNLENBQUNHLEtBQUtDLE1BQU0sSUFBSUMsT0FBT0MsT0FBTyxDQUFDVixPQUFRO1FBQ2hELElBQUlRLFVBQVVHLFdBQVc7WUFDdkIsT0FBT1gsS0FBSyxDQUFDTyxJQUEwQjtRQUN6QztJQUNGO0lBQ0EsT0FBTztRQUFFUDtJQUFNO0FBQ2pCO01BRUFILFdBQWVlLGdCQUFBQSxLQUFLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC50c3g/MzgyNiJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiX2RlZmF1bHQiLCJnZXRJbWFnZVByb3BzIiwiaW1nUHJvcHMiLCJwcm9wcyIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsImltZ0NvbmYiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0lNQUdFX09QVFMiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJJbWFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-loader.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nfunction defaultLoader(param) {\n let { config, src, width, quality } = param;\n if (true) {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push(\"src\");\n if (!width) missingValues.push(\"width\");\n if (missingValues.length > 0) {\n throw new Error(\"Next Image Optimization requires \" + missingValues.join(\", \") + \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \" + JSON.stringify({\n src,\n width,\n quality\n }));\n }\n if (src.startsWith(\"//\")) {\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)');\n }\n if (!src.startsWith(\"/\") && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)');\n }\n if (true) {\n // We use dynamic require because this should only error in development\n const { hasMatch } = __webpack_require__(/*! ./match-remote-pattern */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\");\n if (!hasMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\"Invalid src prop (\" + src + ') on `next/image`, hostname \"' + parsedSrc.hostname + '\" is not configured under images in your `next.config.js`\\n' + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host\");\n }\n }\n }\n }\n return config.path + \"?url=\" + encodeURIComponent(src) + \"&w=\" + width + \"&q=\" + (quality || 75) + ( false ? 0 : \"\");\n}\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true;\nconst _default = defaultLoader; //# sourceMappingURL=image-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0F3RUE7OztlQUFBQTs7O0FBdEVBLFNBQVNDLGNBQWNDLEtBS007SUFMTixNQUNyQkMsTUFBTSxFQUNOQyxHQUFHLEVBQ0hDLEtBQUssRUFDTEMsT0FBTyxFQUNvQixHQUxOSjtJQU1yQixJQUFJSyxJQUF5QixFQUFjO1FBQ3pDLE1BQU1DLGdCQUFnQixFQUFFO1FBRXhCLHlEQUF5RDtRQUN6RCxJQUFJLENBQUNKLEtBQUtJLGNBQWNDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUNKLE9BQU9HLGNBQWNDLElBQUksQ0FBQztRQUUvQixJQUFJRCxjQUFjRSxNQUFNLEdBQUcsR0FBRztZQUM1QixNQUFNLElBQUlDLE1BQ1Isc0NBQW9DSCxjQUFjSSxJQUFJLENBQ3BELFFBQ0EsZ0dBQStGQyxLQUFLQyxTQUFTLENBQzdHO2dCQUFFVjtnQkFBS0M7Z0JBQU9DO1lBQVE7UUFHNUI7UUFFQSxJQUFJRixJQUFJVyxVQUFVLENBQUMsT0FBTztZQUN4QixNQUFNLElBQUlKLE1BQ1IsMEJBQXdCUCxNQUFJO1FBRWhDO1FBRUEsSUFBSSxDQUFDQSxJQUFJVyxVQUFVLENBQUMsUUFBU1osQ0FBQUEsT0FBT2EsT0FBTyxJQUFJYixPQUFPYyxjQUFjLEdBQUc7WUFDckUsSUFBSUM7WUFDSixJQUFJO2dCQUNGQSxZQUFZLElBQUlDLElBQUlmO1lBQ3RCLEVBQUUsT0FBT2dCLEtBQUs7Z0JBQ1pDLFFBQVFDLEtBQUssQ0FBQ0Y7Z0JBQ2QsTUFBTSxJQUFJVCxNQUNSLDBCQUF3QlAsTUFBSTtZQUVoQztZQUVBLElBQ0VHLElBRTZCLEVBQzdCO2dCQUNBLHVFQUF1RTtnQkFDdkUsTUFBTSxFQUFFa0IsUUFBUSxFQUFFLEdBQUdDLG1CQUFBQSxDQUFRO2dCQUM3QixJQUFJLENBQUNELFNBQVN0QixPQUFPYSxPQUFPLEVBQUViLE9BQU9jLGNBQWMsRUFBRUMsWUFBWTtvQkFDL0QsTUFBTSxJQUFJUCxNQUNSLHVCQUFxQlAsTUFBSSxrQ0FBaUNjLFVBQVVTLFFBQVEsR0FBQyxnRUFDMUU7Z0JBRVA7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxPQUFPeEIsT0FBVXlCLElBQUksR0FBQyxVQUFPQyxtQkFBbUJ6QixPQUFLLFFBQUtDLFFBQU0sUUFDOURDLENBQUFBLFdBQVcsTUFFWEMsQ0FBQUEsTUFBOEIsR0FDMUIsQ0FBc0MsR0FDdEM7QUFFUjtBQUVBLCtEQUErRDtBQUMvRCwyREFBMkQ7QUFDM0ROLGNBQWM4QixrQkFBa0IsR0FBRztNQUVuQy9CLFdBQWVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIudHM/ZDI4MCJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsImRlZmF1bHRMb2FkZXIiLCJwYXJhbSIsImNvbmZpZyIsInNyYyIsIndpZHRoIiwicXVhbGl0eSIsInByb2Nlc3MiLCJtaXNzaW5nVmFsdWVzIiwicHVzaCIsImxlbmd0aCIsIkVycm9yIiwiam9pbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydHNXaXRoIiwiZG9tYWlucyIsInJlbW90ZVBhdHRlcm5zIiwicGFyc2VkU3JjIiwiVVJMIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiaGFzTWF0Y2giLCJyZXF1aXJlIiwiaG9zdG5hbWUiLCJwYXRoIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiX19uZXh0X2ltZ19kZWZhdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/match-remote-pattern.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hasMatch: function() {\n return hasMatch;\n },\n matchRemotePattern: function() {\n return matchRemotePattern;\n }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\");\nfunction matchRemotePattern(pattern, url) {\n if (pattern.protocol !== undefined) {\n const actualProto = url.protocol.slice(0, -1);\n if (pattern.protocol !== actualProto) {\n return false;\n }\n }\n if (pattern.port !== undefined) {\n if (pattern.port !== url.port) {\n return false;\n }\n }\n if (pattern.hostname === undefined) {\n throw new Error(\"Pattern should define hostname but found\\n\" + JSON.stringify(pattern));\n } else {\n if (!(0, _picomatch.makeRe)(pattern.hostname).test(url.hostname)) {\n return false;\n }\n }\n var _pattern_pathname;\n if (!(0, _picomatch.makeRe)((_pattern_pathname = pattern.pathname) != null ? _pattern_pathname : \"**\", {\n dot: true\n }).test(url.pathname)) {\n return false;\n }\n return true;\n}\nfunction hasMatch(domains, remotePatterns, url) {\n return domains.some((domain)=>url.hostname === domain) || remotePatterns.some((p)=>matchRemotePattern(p, url));\n} //# sourceMappingURL=match-remote-pattern.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ2dCQSxVQUFRO2VBQVJBOztJQTlCQUMsb0JBQWtCO2VBQWxCQTs7O3VDQUZPO0FBRWhCLFNBQVNBLG1CQUFtQkMsT0FBc0IsRUFBRUMsR0FBUTtJQUNqRSxJQUFJRCxRQUFRRSxRQUFRLEtBQUtDLFdBQVc7UUFDbEMsTUFBTUMsY0FBY0gsSUFBSUMsUUFBUSxDQUFDRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzNDLElBQUlMLFFBQVFFLFFBQVEsS0FBS0UsYUFBYTtZQUNwQyxPQUFPO1FBQ1Q7SUFDRjtJQUNBLElBQUlKLFFBQVFNLElBQUksS0FBS0gsV0FBVztRQUM5QixJQUFJSCxRQUFRTSxJQUFJLEtBQUtMLElBQUlLLElBQUksRUFBRTtZQUM3QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlOLFFBQVFPLFFBQVEsS0FBS0osV0FBVztRQUNsQyxNQUFNLElBQUlLLE1BQ1IsK0NBQTZDQyxLQUFLQyxTQUFTLENBQUNWO0lBRWhFLE9BQU87UUFDTCxJQUFJLENBQUNXLENBQUFBLEdBQUFBLFdBQUFBLE1BQU0sRUFBQ1gsUUFBUU8sUUFBUSxFQUFFSyxJQUFJLENBQUNYLElBQUlNLFFBQVEsR0FBRztZQUNoRCxPQUFPO1FBQ1Q7SUFDRjtRQUVZUDtJQUFaLElBQUksQ0FBQ1csQ0FBQUEsR0FBQUEsV0FBQUEsTUFBTSxFQUFDWCxDQUFBQSxvQkFBQUEsUUFBUWEsUUFBUSxZQUFoQmIsb0JBQW9CLE1BQU07UUFBRWMsS0FBSztJQUFLLEdBQUdGLElBQUksQ0FBQ1gsSUFBSVksUUFBUSxHQUFHO1FBQ3ZFLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVPLFNBQVNmLFNBQ2RpQixPQUFpQixFQUNqQkMsY0FBK0IsRUFDL0JmLEdBQVE7SUFFUixPQUNFYyxRQUFRRSxJQUFJLENBQUMsQ0FBQ0MsU0FBV2pCLElBQUlNLFFBQVEsS0FBS1csV0FDMUNGLGVBQWVDLElBQUksQ0FBQyxDQUFDRSxJQUFNcEIsbUJBQW1Cb0IsR0FBR2xCO0FBRXJEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi50cz9kNjFkIl0sIm5hbWVzIjpbImhhc01hdGNoIiwibWF0Y2hSZW1vdGVQYXR0ZXJuIiwicGF0dGVybiIsInVybCIsInByb3RvY29sIiwidW5kZWZpbmVkIiwiYWN0dWFsUHJvdG8iLCJzbGljZSIsInBvcnQiLCJob3N0bmFtZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VSZSIsInRlc3QiLCJwYXRobmFtZSIsImRvdCIsImRvbWFpbnMiLCJyZW1vdGVQYXR0ZXJucyIsInNvbWUiLCJkb21haW4iLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***! - \****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUdhQTs7O2VBQUFBOzs7OzRFQUhLO0FBR1gsTUFBTUEsZ0JBQWdCQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBb0I7QUFFcEUsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0gsY0FBY0ksV0FBVyxHQUFHO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz82MzZjIl0sIm5hbWVzIjpbIlJvdXRlckNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUM7QUFDdkMsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsZ0VBQWdFO0FBQ2hFLHNFQUFzRTtBQUN0RSxzRUFBc0U7QUFDdEUsNEVBQTRFO0FBQzVFLHFFQUFxRTtBQUNyRSx3QkFBd0I7QUFDeEIsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSx5REFBeUQ7QUFDekQsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSw2REFBNkQ7QUFDN0QsNEVBQTRFO0FBQzVFLDJFQUEyRTtBQUMzRSx3RUFBd0U7QUFDeEUsNEVBQTRFO0FBQzVFLHlDQUF5Qzs7Ozs7Ozs7Ozs7OztJQVF6QkEsV0FBUztlQUFUQTs7SUE2REFDLHNCQUFvQjtlQUFwQkE7O0lBZkhDLGVBQWE7ZUFBYkE7Ozs7bUZBbERnQjtBQUU3QixNQUFNQyxtQkFBbUI7QUFFbEIsU0FBU0gsVUFBVUksTUFBaUI7SUFDekMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFHRjtJQUN6QixJQUFJRyxXQUFXSCxPQUFPRyxRQUFRLElBQUk7SUFDbEMsSUFBSUMsV0FBV0osT0FBT0ksUUFBUSxJQUFJO0lBQ2xDLElBQUlDLE9BQU9MLE9BQU9LLElBQUksSUFBSTtJQUMxQixJQUFJQyxRQUFRTixPQUFPTSxLQUFLLElBQUk7SUFDNUIsSUFBSUMsT0FBdUI7SUFFM0JOLE9BQU9BLE9BQU9PLG1CQUFtQlAsTUFBTVEsT0FBTyxDQUFDLFFBQVEsT0FBTyxNQUFNO0lBRXBFLElBQUlULE9BQU9PLElBQUksRUFBRTtRQUNmQSxPQUFPTixPQUFPRCxPQUFPTyxJQUFJO0lBQzNCLE9BQU8sSUFBSUwsVUFBVTtRQUNuQkssT0FBT04sT0FBUSxFQUFDQyxTQUFTUSxPQUFPLENBQUMsT0FBTyxNQUFJUixXQUFTLE1BQUtBLFFBQUFBO1FBQzFELElBQUlGLE9BQU9XLElBQUksRUFBRTtZQUNmSixRQUFRLE1BQU1QLE9BQU9XLElBQUk7UUFDM0I7SUFDRjtJQUVBLElBQUlMLFNBQVMsT0FBT0EsVUFBVSxVQUFVO1FBQ3RDQSxRQUFRTSxPQUFPQyxhQUFZQyxzQkFBc0IsQ0FBQ1I7SUFDcEQ7SUFFQSxJQUFJUyxTQUFTZixPQUFPZSxNQUFNLElBQUtULFNBQVMsTUFBSUEsU0FBWTtJQUV4RCxJQUFJSCxZQUFZLENBQUNBLFNBQVNhLFFBQVEsQ0FBQyxNQUFNYixZQUFZO0lBRXJELElBQ0VILE9BQU9pQixPQUFPLElBQ2IsQ0FBQyxDQUFDZCxZQUFZSixpQkFBaUJtQixJQUFJLENBQUNmLFNBQUFBLEtBQWNJLFNBQVMsT0FDNUQ7UUFDQUEsT0FBTyxPQUFRQSxDQUFBQSxRQUFRO1FBQ3ZCLElBQUlILFlBQVlBLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBS0EsV0FBVyxNQUFNQTtJQUN4RCxPQUFPLElBQUksQ0FBQ0csTUFBTTtRQUNoQkEsT0FBTztJQUNUO0lBRUEsSUFBSUYsUUFBUUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxPQUFPLE1BQU1BO0lBQzFDLElBQUlVLFVBQVVBLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBS0EsU0FBUyxNQUFNQTtJQUVoRFgsV0FBV0EsU0FBU0ssT0FBTyxDQUFDLFNBQVNEO0lBQ3JDTyxTQUFTQSxPQUFPTixPQUFPLENBQUMsS0FBSztJQUU3QixPQUFPLEtBQUdOLFdBQVdJLE9BQU9ILFdBQVdXLFNBQVNWO0FBQ2xEO0FBRU8sTUFBTVAsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sU0FBU0QscUJBQXFCc0IsR0FBYztJQUNqRCxJQUFJQyxJQUF5QixFQUFlO1FBQzFDLElBQUlELFFBQVEsUUFBUSxPQUFPQSxRQUFRLFVBQVU7WUFDM0NFLE9BQU9DLElBQUksQ0FBQ0gsS0FBS0ksT0FBTyxDQUFDLENBQUNDO2dCQUN4QixJQUFJLENBQUMxQixjQUFjMkIsUUFBUSxDQUFDRCxNQUFNO29CQUNoQ0UsUUFBUUMsSUFBSSxDQUNWLHVEQUFxREg7Z0JBRXpEO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBTzVCLFVBQVV1QjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwudHM/MWI4NyJdLCJuYW1lcyI6WyJmb3JtYXRVcmwiLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybE9iamVjdEtleXMiLCJzbGFzaGVkUHJvdG9jb2xzIiwidXJsT2JqIiwiYXV0aCIsImhvc3RuYW1lIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsImhvc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwiaW5kZXhPZiIsInBvcnQiLCJTdHJpbmciLCJxdWVyeXN0cmluZyIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2giLCJlbmRzV2l0aCIsInNsYXNoZXMiLCJ0ZXN0IiwidXJsIiwicHJvY2VzcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaW5jbHVkZXMiLCJjb25zb2xlIiwid2FybiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQVNBLGlCQUFlO2VBQWZBLGNBQUFBLGVBQWU7O0lBQ2ZDLGdCQUFjO2VBQWRBLFdBQUFBLGNBQWM7OzswQ0FEUzt1Q0FDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LnRzPzcyZDUiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFLZ0JBOzs7ZUFBQUE7OzswQ0FIZ0I7d0NBQ0Y7QUFFdkIsU0FBU0EsY0FDZEMsS0FBYSxFQUNiQyxVQUFrQixFQUNsQkMsS0FBcUI7SUFFckIsSUFBSUMsb0JBQW9CO0lBRXhCLE1BQU1DLGVBQWVDLENBQUFBLEdBQUFBLFlBQUFBLGFBQWEsRUFBQ0w7SUFDbkMsTUFBTU0sZ0JBQWdCRixhQUFhRyxNQUFNO0lBQ3pDLE1BQU1DLGlCQUVIUCxDQUFBQSxlQUFlRCxRQUFRUyxDQUFBQSxHQUFBQSxjQUFBQSxlQUFlLEVBQUNMLGNBQWNILGNBQWMsT0FDcEUsZ0RBQWdEO0lBQ2hELHNFQUFzRTtJQUN0RUM7SUFFRkMsb0JBQW9CSDtJQUNwQixNQUFNVSxTQUFTQyxPQUFPQyxJQUFJLENBQUNOO0lBRTNCLElBQ0UsQ0FBQ0ksT0FBT0csS0FBSyxDQUFDLENBQUNDO1FBQ2IsSUFBSUMsUUFBUVAsY0FBYyxDQUFDTSxNQUFNLElBQUk7UUFDckMsTUFBTSxFQUFFRSxNQUFNLEVBQUVDLFFBQVEsRUFBRSxHQUFHWCxhQUFhLENBQUNRLE1BQU07UUFFakQsaUNBQWlDO1FBQ2pDLDBEQUEwRDtRQUMxRCxJQUFJSSxXQUFXLE1BQUlGLENBQUFBLFNBQVMsUUFBUSxNQUFLRixRQUFNO1FBQy9DLElBQUlHLFVBQVU7WUFDWkMsV0FBVyxDQUFHLENBQUNILFFBQVEsTUFBTSxNQUFHLE1BQUdHLFdBQVM7UUFDOUM7UUFDQSxJQUFJRixVQUFVLENBQUNHLE1BQU1DLE9BQU8sQ0FBQ0wsUUFBUUEsUUFBUTtZQUFDQTtTQUFNO1FBRXBELE9BQ0UsQ0FBQ0UsWUFBWUgsU0FBU04sY0FBQUEsS0FDdEIsNkNBQTZDO1FBQzVDTCxDQUFBQSxvQkFDQ0Esa0JBQW1Ca0IsT0FBTyxDQUN4QkgsVUFDQUYsU0FDSUQsTUFDR08sR0FBRyxDQUVGLHVEQUF1RDtRQUN2RCxrREFBa0Q7UUFDbEQsb0NBQW9DO1FBQ3BDLENBQUNDLFVBQVlDLG1CQUFtQkQsVUFFakNFLElBQUksQ0FBQyxPQUNSRCxtQkFBbUJULFdBQ3BCO0lBRVgsSUFDQTtRQUNBWixvQkFBb0IsR0FBRyxtQ0FBbUM7O0lBRTFELHVFQUF1RTtJQUN2RSxrREFBa0Q7SUFDcEQ7SUFDQSxPQUFPO1FBQ0xPO1FBQ0FnQixRQUFRdkI7SUFDVjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMudHM/OWUzMSJdLCJuYW1lcyI6WyJpbnRlcnBvbGF0ZUFzIiwicm91dGUiLCJhc1BhdGhuYW1lIiwicXVlcnkiLCJpbnRlcnBvbGF0ZWRSb3V0ZSIsImR5bmFtaWNSZWdleCIsImdldFJvdXRlUmVnZXgiLCJkeW5hbWljR3JvdXBzIiwiZ3JvdXBzIiwiZHluYW1pY01hdGNoZXMiLCJnZXRSb3V0ZU1hdGNoZXIiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZXZlcnkiLCJwYXJhbSIsInZhbHVlIiwicmVwZWF0Iiwib3B0aW9uYWwiLCJyZXBsYWNlZCIsIkFycmF5IiwiaXNBcnJheSIsInJlcGxhY2UiLCJtYXAiLCJzZWdtZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsInJlc3VsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVFnQkE7OztlQUFBQTs7O2dEQUxUO0FBRVAscUNBQXFDO0FBQ3JDLE1BQU1DLGFBQWE7QUFFWixTQUFTRCxlQUFlRSxLQUFhO0lBQzFDLElBQUlDLENBQUFBLEdBQUFBLG9CQUFBQSwwQkFBMEIsRUFBQ0QsUUFBUTtRQUNyQ0EsUUFBUUUsQ0FBQUEsR0FBQUEsb0JBQUFBLG1DQUFtQyxFQUFDRixPQUFPRyxnQkFBZ0I7SUFDckU7SUFFQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy50cz84MmRjIl0sIm5hbWVzIjpbImlzRHluYW1pY1JvdXRlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OENBTWdCQTs7O2VBQUFBOzs7bUNBTmlDO3lDQUNyQjtBQUtyQixTQUFTQSxXQUFXQyxHQUFXO0lBQ3BDLGdFQUFnRTtJQUNoRSxJQUFJLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGFBQWEsRUFBQ0QsTUFBTSxPQUFPO0lBQ2hDLElBQUk7UUFDRiw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCQyxDQUFBQSxHQUFBQSxPQUFBQSxpQkFBaUI7UUFDeEMsTUFBTUMsV0FBVyxJQUFJQyxJQUFJTCxLQUFLRTtRQUM5QixPQUFPRSxTQUFTRSxNQUFNLEtBQUtKLGtCQUFrQkssQ0FBQUEsR0FBQUEsYUFBQUEsV0FBVyxFQUFDSCxTQUFTSSxRQUFRO0lBQzVFLEVBQUUsT0FBT0MsR0FBRztRQUNWLE9BQU87SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLnRzPzA0ZTUiXSwibmFtZXMiOlsiaXNMb2NhbFVSTCIsInVybCIsImlzQWJzb2x1dGVVcmwiLCJsb2NhdGlvbk9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWQiLCJVUkwiLCJvcmlnaW4iLCJoYXNCYXNlUGF0aCIsInBhdGhuYW1lIiwiXyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3dDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsS0FDZEMsTUFBUyxFQUNUQyxJQUFTO0lBRVQsTUFBTUMsVUFBc0MsQ0FBQztJQUM3Q0MsT0FBT0YsSUFBSSxDQUFDRCxRQUFRSSxPQUFPLENBQUMsQ0FBQ0M7UUFDM0IsSUFBSSxDQUFDSixLQUFLSyxRQUFRLENBQUNELE1BQVc7WUFDNUJILE9BQU8sQ0FBQ0csSUFBSSxHQUFHTCxNQUFNLENBQUNLLElBQUk7UUFDNUI7SUFDRjtJQUNBLE9BQU9IO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9vbWl0LnRzP2I3YTgiXSwibmFtZXMiOlsib21pdCIsIm9iamVjdCIsImtleXMiLCJvbWl0dGVkIiwiT2JqZWN0IiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNENnQkEsUUFBTTtlQUFOQTs7SUExQ0FDLHdCQUFzQjtlQUF0QkE7O0lBNEJBQyx3QkFBc0I7ZUFBdEJBOzs7QUE1QlQsU0FBU0QsdUJBQ2RFLFlBQTZCO0lBRTdCLE1BQU1DLFFBQXdCLENBQUM7SUFDL0JELGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQztRQUMzQixJQUFJLE9BQU9ILEtBQUssQ0FBQ0csSUFBSSxLQUFLLGFBQWE7WUFDckNILEtBQUssQ0FBQ0csSUFBSSxHQUFHRDtRQUNmLE9BQU8sSUFBSUUsTUFBTUMsT0FBTyxDQUFDTCxLQUFLLENBQUNHLElBQUksR0FBRztZQUNsQ0gsS0FBSyxDQUFDRyxJQUFJLENBQWNHLElBQUksQ0FBQ0o7UUFDakMsT0FBTztZQUNMRixLQUFLLENBQUNHLElBQUksR0FBRztnQkFBQ0gsS0FBSyxDQUFDRyxJQUFJO2dCQUFZRDthQUFNO1FBQzVDO0lBQ0Y7SUFDQSxPQUFPRjtBQUNUO0FBRUEsU0FBU08sdUJBQXVCQyxLQUFjO0lBQzVDLElBQ0UsT0FBT0EsVUFBVSxZQUNoQixPQUFPQSxVQUFVLFlBQVksQ0FBQ0MsTUFBTUQsVUFDckMsT0FBT0EsVUFBVSxXQUNqQjtRQUNBLE9BQU9FLE9BQU9GO0lBQ2hCLE9BQU87UUFDTCxPQUFPO0lBQ1Q7QUFDRjtBQUVPLFNBQVNWLHVCQUNkYSxRQUF3QjtJQUV4QixNQUFNQyxTQUFTLElBQUlDO0lBQ25CQyxPQUFPQyxPQUFPLENBQUNKLFVBQVVWLE9BQU8sQ0FBQyxDQUFBTztZQUFDLENBQUNMLEtBQUtELE1BQU0sR0FBQU07UUFDNUMsSUFBSUosTUFBTUMsT0FBTyxDQUFDSCxRQUFRO1lBQ3hCQSxNQUFNRCxPQUFPLENBQUMsQ0FBQ2UsT0FBU0osT0FBT0ssTUFBTSxDQUFDZCxLQUFLSSx1QkFBdUJTO1FBQ3BFLE9BQU87WUFDTEosT0FBT00sR0FBRyxDQUFDZixLQUFLSSx1QkFBdUJMO1FBQ3pDO0lBQ0Y7SUFDQSxPQUFPVTtBQUNUO0FBRU8sU0FBU2hCLE9BQ2R1QixNQUF1QjtJQUN2QixRQUFBQyxPQUFBQyxVQUFBQyxNQUFBLEVBQUFDLG1CQUFBLElBQUFuQixNQUFBZ0IsT0FBQSxJQUFBQSxPQUFBLFFBQUFJLE9BQUEsR0FBQUEsT0FBQUosTUFBQUksT0FBQTtRQUFHRCxnQkFBQUEsQ0FBSEMsT0FBQSxLQUFBSCxTQUFBLENBQUFHLEtBQXNDOztJQUV0Q0QsaUJBQWlCdEIsT0FBTyxDQUFDLENBQUNGO1FBQ3hCSyxNQUFNcUIsSUFBSSxDQUFDMUIsYUFBYTJCLElBQUksSUFBSXpCLE9BQU8sQ0FBQyxDQUFDRSxNQUFRZ0IsT0FBT1EsTUFBTSxDQUFDeEI7UUFDL0RKLGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQyxNQUFRZ0IsT0FBT0YsTUFBTSxDQUFDZCxLQUFLRDtJQUMxRDtJQUNBLE9BQU9pQjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcudHM/ODJmYSJdLCJuYW1lcyI6WyJhc3NpZ24iLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsInZhbHVlIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwidXJsUXVlcnkiLCJyZXN1bHQiLCJVUkxTZWFyY2hQYXJhbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaXRlbSIsImFwcGVuZCIsInNldCIsInRhcmdldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZWFyY2hQYXJhbXNMaXN0IiwiX2tleSIsImZyb20iLCJrZXlzIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQVdnQkE7OztlQUFBQTs7O21DQVZZO0FBVXJCLFNBQVNBLGdCQUFnQkMsS0FBMEI7SUFBMUIsTUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQWMsR0FBMUJGO0lBQzlCLE9BQU8sQ0FBQ0c7UUFDTixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNmLE9BQU87UUFDVDtRQUVBLE1BQU1FLFNBQVMsQ0FBQ047WUFDZCxJQUFJO2dCQUNGLE9BQU9PLG1CQUFtQlA7WUFDNUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNWLE1BQU0sSUFBSUMsT0FBQUEsV0FBVyxDQUFDO1lBQ3hCO1FBQ0Y7UUFDQSxNQUFNQyxTQUFxRCxDQUFDO1FBRTVEQyxPQUFPQyxJQUFJLENBQUNWLFFBQVFXLE9BQU8sQ0FBQyxDQUFDQztZQUMzQixNQUFNQyxJQUFJYixNQUFNLENBQUNZLFNBQVM7WUFDMUIsTUFBTUUsSUFBSVosVUFBVSxDQUFDVyxFQUFFRSxHQUFHLENBQUM7WUFDM0IsSUFBSUQsTUFBTUUsV0FBVztnQkFDbkJSLE1BQU0sQ0FBQ0ksU0FBUyxHQUFHLENBQUNFLEVBQUVHLE9BQU8sQ0FBQyxPQUMxQkgsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFVaEIsT0FBT2dCLFVBQ25DUCxFQUFFUSxNQUFNLEdBQ1I7b0JBQUNqQixPQUFPVTtpQkFBRyxHQUNYVixPQUFPVTtZQUNiO1FBQ0Y7UUFDQSxPQUFPTjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLnRzPzMxNzkiXSwibmFtZXMiOlsiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW0iLCJyZSIsImdyb3VwcyIsInBhdGhuYW1lIiwicm91dGVNYXRjaCIsImV4ZWMiLCJkZWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfIiwiRGVjb2RlRXJyb3IiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInNsdWdOYW1lIiwiZyIsIm0iLCJwb3MiLCJ1bmRlZmluZWQiLCJpbmRleE9mIiwic3BsaXQiLCJtYXAiLCJlbnRyeSIsInJlcGVhdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBMk5nQkEseUJBQXVCO2VBQXZCQTs7SUFoQkFDLG9CQUFrQjtlQUFsQkE7O0lBbklBQyxlQUFhO2VBQWJBOzs7Z0RBeEUyQjswQ0FDUjtpREFDQztBQUVwQyxNQUFNQywwQkFBMEI7QUFDaEMsTUFBTUMsa0NBQWtDO0FBYXhDOzs7Ozs7O0NBT0MsR0FDRCxTQUFTQyxlQUFlQyxLQUFhO0lBQ25DLE1BQU1DLFdBQVdELE1BQU1FLFVBQVUsQ0FBQyxRQUFRRixNQUFNRyxRQUFRLENBQUM7SUFDekQsSUFBSUYsVUFBVTtRQUNaRCxRQUFRQSxNQUFNSSxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFCO0lBQ0EsTUFBTUMsU0FBU0wsTUFBTUUsVUFBVSxDQUFDO0lBQ2hDLElBQUlHLFFBQVE7UUFDVkwsUUFBUUEsTUFBTUksS0FBSyxDQUFDO0lBQ3RCO0lBQ0EsT0FBTztRQUFFRSxLQUFLTjtRQUFPSztRQUFRSjtJQUFTO0FBQ3hDO0FBRUEsU0FBU00scUJBQXFCQyxLQUFhO0lBQ3pDLE1BQU1DLFdBQVdDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ0YsT0FBT0osS0FBSyxDQUFDLEdBQUdPLEtBQUssQ0FBQztJQUMzRCxNQUFNQyxTQUF5QyxDQUFDO0lBQ2hELElBQUlDLGFBQWE7SUFDakIsT0FBTztRQUNMQyxvQkFBb0JMLFNBQ2pCTSxHQUFHLENBQUMsQ0FBQ0M7WUFDSixNQUFNQyxjQUFjQyxvQkFBQUEsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDQyxJQUNuREosUUFBUWQsVUFBVSxDQUFDa0I7WUFFckIsTUFBTUMsZUFBZUwsUUFBUU0sS0FBSyxDQUFDLHVCQUF1Qix1QkFBdUI7O1lBRWpGLElBQUlMLGVBQWVJLGNBQWM7Z0JBQy9CLE1BQU0sRUFBRWYs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TSxFQUFFN0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFa0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSTdDLHVCQUF1QixLQUFLO1FBQzlCLElBQUkrQyxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0xGLFlBQVksT0FBS0csZ0JBQWM7UUFDakM7SUFDRjtJQUVBLE1BQU0sRUFBRVYsdUJBQXVCLEVBQUUsR0FBR0YsMEJBQ2xDdkIsaUJBQ0E7SUFFRixJQUFJb0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNMRixZQUFZLE1BQUlQLDBCQUEwQlcsdUJBQXFCO0lBQ2pFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC50cz8xNmExIl0sIm5hbWVzIjpbImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVSZWdleCIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsInVuZGVmaW5lZCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQXFNZ0JBOzs7ZUFBQUE7OztBQXJNaEIsTUFBTUM7SUFPSkMsT0FBT0MsT0FBZSxFQUFRO1FBQzVCLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN2RDtJQUVBQyxTQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQ0MsT0FBTztJQUNyQjtJQUVRQSxRQUFRQyxNQUFvQixFQUFZO1FBQWhDQSxJQUFBQSxXQUFBQSxLQUFBQSxHQUFBQSxTQUFpQjtRQUMvQixNQUFNQyxnQkFBZ0I7ZUFBSSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsSUFBSTtTQUFHLENBQUNDLElBQUk7UUFDcEQsSUFBSSxJQUFJLENBQUNDLFFBQVEsS0FBSyxNQUFNO1lBQzFCSixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxPQUFPO1FBQ3BEO1FBQ0EsSUFBSSxJQUFJLENBQUNDLFlBQVksS0FBSyxNQUFNO1lBQzlCUCxjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxVQUFVO1FBQ3ZEO1FBQ0EsSUFBSSxJQUFJLENBQUNFLG9CQUFvQixLQUFLLE1BQU07WUFDdENSLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDLFlBQVk7UUFDekQ7UUFFQSxNQUFNRyxTQUFTVCxjQUNaVSxHQUFHLENBQUMsQ0FBQ0MsSUFBTSxJQUFJLENBQUNWLFFBQVEsQ0FBQ1csR0FBRyxDQUFDRCxHQUFJYixPQUFPLENBQUMsS0FBR0MsU0FBU1ksSUFBRSxNQUN2REUsTUFBTSxDQUFDLENBQUNDLE1BQU1DLE9BQVM7bUJBQUlEO21CQUFTQzthQUFLLEVBQUUsRUFBRTtRQUVoRCxJQUFJLElBQUksQ0FBQ1gsUUFBUSxLQUFL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Q0FBQ3pCLFFBQVEsQ0FBQ3NDLEdBQUcsQ0FBQ2IsYUFBYSxJQUFJcEM7UUFDckM7UUFFQSxJQUFJLENBQUNXLFFBQVEsQ0FDVlcsR0FBRyxDQUFDYyxhQUNKakMsT0FBTyxDQUFDNkIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQzNDOzthQWpNQVAsV0FBQUEsR0FBdUI7YUFDdkJoQixRQUFBQSxHQUFpQyxJQUFJdUM7YUFDckNwQyxRQUFBQSxHQUEwQjthQUMxQkcsWUFBQUEsR0FBOEI7YUFDOUJDLG9CQUFBQSxHQUFzQzs7QUE4THhDO0FBRU8sU0FBU25CLGdCQUNkb0QsZUFBc0M7SUFFdEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFFM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBRWpCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQk4sT0FBTyxDQUFDLENBQUNRLFdBQWFELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNsRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLnRzP2Q1M2IiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiVXJsTm9kZSIsImluc2VydCIsInVybFBhdGgiLCJfaW5zZXJ0Iiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic21vb3NoIiwiX3Ntb29zaCIsInByZWZpeCIsImNoaWxkcmVuUGF0aHMiLCJjaGlsZHJlbiIsImtleXMiLCJzb3J0Iiwic2x1Z05hbWUiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVzdFNsdWdOYW1lIiwib3B0aW9uYWxSZXN0U2x1Z05hbWUiLCJyb3V0ZXMiLCJtYXAiLCJjIiwiZ2V0IiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJwdXNoIiwicGxhY2Vob2xkZXIiLCJyIiwic2xpY2UiLCJFcnJvciIsInVuc2hpZnQiLCJ1cmxQYXRocyIsInNsdWdOYW1lcyIsImlzQ2F0Y2hBbGwiLCJsZW5ndGgiLCJuZXh0U2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlZ21lbnROYW1lIiwiaXNPcHRpb25hbCIsInN1YnN0cmluZyIsImhhbmRsZVNsdWciLCJwcmV2aW91c1NsdWciLCJuZXh0U2x1ZyIsImZvckVhY2giLCJzbHVnIiwicmVwbGFjZSIsImhhcyIsInNldCIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst isServer = typeof window === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n _s();\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n_s(SideEffect, \"gHVkikNHNxjVdD11eJBzaqkCiPY=\", false, function() {\n return [\n useClientOnlyLayoutEffect,\n useClientOnlyLayoutEffect,\n useClientOnlyEffect\n ];\n});\n_c = SideEffect;\nvar _c;\n$RefreshReg$(_c, \"SideEffect\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MkNBb0JBOzs7ZUFBd0JBOzs7bUNBbkI2QjtBQWVyRCxNQUFNQyxXQUFXLE9BQU9DLFdBQVc7QUFDbkMsTUFBTUMsNEJBQTRCRixXQUFXLEtBQU8sSUFBSUcsT0FBQUEsZUFBZTtBQUN2RSxNQUFNQyxzQkFBc0JKLFdBQVcsS0FBTyxJQUFJSyxPQUFBQSxTQUFTO0FBRTVDLFNBQVNOLFdBQVdPLEtBQXNCOztJQUN2RCxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsdUJBQXVCLEVBQUUsR0FBR0Y7SUFFakQsU0FBU0c7UUFDUCxJQUFJRixlQUFlQSxZQUFZRyxnQkFBZ0IsRUFBRTtZQUMvQyxNQUFNQyxlQUFlQyxPQUFBQSxRQUFRLENBQUNDLE9BQU8sQ0FDbkNDLE1BQU1DLElBQUksQ0FBQ1IsWUFBWUcsZ0JBQWdCLEVBQTBCTSxNQUFNLENBQ3JFQztZQUdKVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDL0Q7SUFDRjtJQUVBLElBQUlOLFVBQVU7WUFDWk87UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pEWDtJQUNGO0lBRUFQLDBCQUEwQjtZQUN4Qks7UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pELE9BQU87Z0JBQ0xiO1lBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGdDQUFBQSxZQUFhRyxnQkFBZ0IscUJBQTdCSCw4QkFBK0JjLE1BQU0sQ0FBQ2YsTUFBTWMsUUFBUTtRQUN0RDtJQUNGO0lBRUEsa0ZBQWtGO0lBQ2xGLG9GQUFvRjtJQUNwRixnRUFBZ0U7SUFDaEUscUZBQXFGO0lBQ3JGLG1GQUFtRjtJQUNuRmxCLDBCQUEwQjtRQUN4QixJQUFJSyxhQUFhO1lBQ2ZBLFlBQVllLGNBQWMsR0FBR2I7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSUYsYUFBYTtnQkFDZkEsWUFBWWUsY0FBYyxHQUFHYjtZQUMvQjtRQUNGO0lBQ0Y7SUFFQUwsb0JBQW9CO1FBQ2xCLElBQUlHLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtZQUM3Q2YsWUFBWWUsY0FBYztZQUMxQmYsWUFBWWUsY0FBYyxHQUFHO1FBQy9CO1FBQ0EsT0FBTztZQUNMLElBQUlmLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtnQkFDN0NmLFlBQVllLGNBQWM7Z0JBQzFCZixZQUFZZSxjQUFjLEdBQUc7WUFDL0I7UUFDRjtJQUNGO0lBRUEsT0FBTztBQUNUO0dBeER3QnZCOztRQW1CdEJHO1FBWUFBO1FBV0FFOzs7S0ExQ3NCTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvc2lkZS1lZmZlY3QudHN4P2U4ZGQiXSwibmFtZXMiOlsiU2lkZUVmZmVjdCIsImlzU2VydmVyIiwid2luZG93IiwidXNlQ2xpZW50T25seUxheW91dEVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZUNsaWVudE9ubHlFZmZlY3QiLCJ1c2VFZmZlY3QiLCJwcm9wcyIsImhlYWRNYW5hZ2VyIiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJlbWl0Q2hhbmdlIiwibW91bnRlZEluc3RhbmNlcyIsImhlYWRFbGVtZW50cyIsIkNoaWxkcmVuIiwidG9BcnJheSIsIkFycmF5IiwiZnJvbSIsImZpbHRlciIsIkJvb2xlYW4iLCJ1cGRhdGVIZWFkIiwiYWRkIiwiY2hpbGRyZW4iLCJkZWxldGUiLCJfcGVuZGluZ1VwZGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFvYWFBLGFBQVc7ZUFBWEE7O0lBb0JBQyx5QkFBdUI7ZUFBdkJBOztJQVBBQyxtQkFBaUI7ZUFBakJBOztJQVpBQyxnQkFBYztlQUFkQTs7SUFDQUMsbUJBQWlCO2VBQWpCQTs7SUFUQUMsSUFBRTtlQUFGQTs7SUFDQUMsSUFBRTtlQUFGQTs7SUFsWEFDLFlBQVU7ZUFBVkE7O0lBc1FHQyxVQUFRO2VBQVJBOztJQStCQUMsZ0JBQWM7ZUFBZEE7O0lBWEFDLG1CQUFpQjtlQUFqQkE7O0lBS0FDLFFBQU07ZUFBTkE7O0lBUEhDLGVBQWE7ZUFBYkE7O0lBbUJHQyxXQUFTO2VBQVRBOztJQWtCTUMscUJBQW1CO2VBQW5CQTs7SUFkTkMsMEJBQXdCO2VBQXhCQTs7SUErR0FDLGdCQUFjO2VBQWRBOzs7QUE5WlQsTUFBTVQsYUFBYTtJQUFDO0lBQU87SUFBTztJQUFPO0lBQU87SUFBTztDQUFPO0FBc1E5RCxTQUFTQyxTQUNkUyxFQUFLO0lBRUwsSUFBSUMsT0FBTztJQUNYLElBQUlDO0lBRUosT0FBUTt5Q0FBSUMsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7WUFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O1FBQ1YsSUFBSSxDQUFDRixNQUFNO1lBQ1RBLE9BQU87WUFDUEMsU0FBU0YsTUFBTUc7UUFDakI7UUFDQSxPQUFPRDtJQUNUO0FBQ0Y7QUFFQSwwREFBMEQ7QUFDMUQsZ0VBQWdFO0FBQ2hFLE1BQU1FLHFCQUFxQjtBQUNwQixNQUFNVCxnQkFBZ0IsQ0FBQ1UsTUFBZ0JELG1CQUFtQkUsSUFBSSxDQUFDRDtBQUUvRCxTQUFTWjtJQUNkLE1BQU0sRUFBRWMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFB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O0lBQ3JDVSxZQUFZQyxJQUFZLEVBQUVaLE9BQWUsQ0FBRTtRQUN6QyxLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQXdDWSxPQUFLLE1BQUdaO0lBQ2pFO0FBQ0Y7QUFFTyxNQUFNakQsZ0NBQWdDa0Q7SUFFM0NVLGFBQWM7UUFDWixLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNiLE9BQU8sR0FBSTtJQUNsQjtBQUNGO0FBV08sU0FBU2xDLGVBQWVnRCxLQUFZO0lBQ3pDLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUFFaEIsU0FBU2MsTUFBTWQsT0FBTztRQUFFaUIsT0FBT0gsTUFBTUcsS0FBSztJQUFDO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cz8xYmQ1Il0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/BackgroundImage.jsx": -/*!********************************************!*\ - !*** ./src/components/BackgroundImage.jsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundImage: function() { return /* binding */ BackgroundImage; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/images/background.jpg */ \"(app-pages-browser)/./src/images/background.jpg\");\n\n\n\n\nfunction BackgroundImage(param) {\n let { className, position = \"left\" } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute inset-0 overflow-hidden bg-indigo-50\", className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute top-0\", position === \"left\" && \"left-0 translate-x-[-55%] translate-y-[-10%] -scale-x-100 sm:left-1/2 sm:translate-x-[-98%] sm:translate-y-[-6%] lg:translate-x-[-106%] xl:translate-x-[-122%]\", position === \"right\" && \"left-full -translate-x-1/2 sm:left-1/2 sm:translate-x-[-20%] sm:translate-y-[-15%] md:translate-x-0 lg:translate-x-[5%] lg:translate-y-[4%] xl:translate-x-[27%] xl:translate-y-[-8%]\"),\n src: _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n alt: \"\",\n width: 918,\n height: 1495,\n priority: true,\n unoptimized: true\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 top-0 h-20 bg-gradient-to-b from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 29,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n_c = BackgroundImage;\nvar _c;\n$RefreshReg$(_c, \"BackgroundImage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQThCO0FBQ1A7QUFFOEI7QUFFOUMsU0FBU0csZ0JBQWdCLEtBQWdDO1FBQWhDLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxNQUFNLEVBQUUsR0FBaEM7SUFDOUIscUJBQ0UsOERBQUNDO1FBQ0NGLFdBQVdILGdEQUFJQSxDQUNiLGlEQUNBRzs7MEJBR0YsOERBQUNKLGtEQUFLQTtnQkFDSkksV0FBV0gsZ0RBQUlBLENBQ2Isa0JBQ0FJLGFBQWEsVUFDWCxrS0FDRkEsYUFBYSxXQUNYO2dCQUVKRSxLQUFLTCw4REFBZUE7Z0JBQ3BCTSxLQUFJO2dCQUNKQyxPQUFPO2dCQUNQQyxRQUFRO2dCQUNSQyxRQUFRO2dCQUNSQyxXQUFXOzs7Ozs7MEJBRWIsOERBQUNOO2dCQUFJRixXQUFVOzs7Ozs7MEJBQ2YsOERBQUNFO2dCQUFJRixXQUFVOzs7Ozs7Ozs7Ozs7QUFHckI7S0EzQmdCRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9CYWNrZ3JvdW5kSW1hZ2UuanN4P2MzNDYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEltYWdlIGZyb20gJ25leHQvaW1hZ2UnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5pbXBvcnQgYmFja2dyb3VuZEltYWdlIGZyb20gJ0AvaW1hZ2VzL2JhY2tncm91bmQuanBnJ1xuXG5leHBvcnQgZnVuY3Rpb24gQmFja2dyb3VuZEltYWdlKHsgY2xhc3NOYW1lLCBwb3NpdGlvbiA9ICdsZWZ0JyB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAnYWJzb2x1dGUgaW5zZXQtMCBvdmVyZmxvdy1oaWRkZW4gYmctaW5kaWdvLTUwJyxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICA+XG4gICAgICA8SW1hZ2VcbiAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICdhYnNvbHV0ZSB0b3AtMCcsXG4gICAgICAgICAgcG9zaXRpb24gPT09ICdsZWZ0JyAmJlxuICAgICAgICAgICAgJ2xlZnQtMCB0cmFuc2xhdGUteC1bLTU1JV0gdHJhbnNsYXRlLXktWy0xMCVdIC1zY2FsZS14LTEwMCBzbTpsZWZ0LTEvMiBzbTp0cmFuc2xhdGUteC1bLTk4JV0gc206dHJhbnNsYXRlLXktWy02JV0gbGc6dHJhbnNsYXRlLXgtWy0xMDYlXSB4bDp0cmFuc2xhdGUteC1bLTEyMiVdJyxcbiAgICAgICAgICBwb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJlxuICAgICAgICAgICAgJ2xlZnQtZnVsbCAtdHJhbnNsYXRlLXgtMS8yIHNtOmxlZnQtMS8yIHNtOnRyYW5zbGF0ZS14LVstMjAlXSBzbTp0cmFuc2xhdGUteS1bLTE1JV0gbWQ6dHJhbnNsYXRlLXgtMCBsZzp0cmFuc2xhdGUteC1bNSVdIGxnOnRyYW5zbGF0ZS15LVs0JV0geGw6dHJhbnNsYXRlLXgtWzI3JV0geGw6dHJhbnNsYXRlLXktWy04JV0nLFxuICAgICAgICApfVxuICAgICAgICBzcmM9e2JhY2tncm91bmRJbWFnZX1cbiAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgd2lkdGg9ezkxOH1cbiAgICAgICAgaGVpZ2h0PXsxNDk1fVxuICAgICAgICBwcmlvcml0eVxuICAgICAgICB1bm9wdGltaXplZFxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQteC0wIHRvcC0wIGgtMjAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlXCIgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQteC0wIGJvdHRvbS0wIGgtMjAgYmctZ3JhZGllbnQtdG8tdCBmcm9tLXdoaXRlXCIgLz5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkltYWdlIiwiY2xzeCIsImJhY2tncm91bmRJbWFnZSIsIkJhY2tncm91bmRJbWFnZSIsImNsYXNzTmFtZSIsInBvc2l0aW9uIiwiZGl2Iiwic3JjIiwiYWx0Iiwid2lkdGgiLCJoZWlnaHQiLCJwcmlvcml0eSIsInVub3B0aW1pemVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/BackgroundImage.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Container.jsx": -/*!**************************************!*\ - !*** ./src/components/Container.jsx ***! - \**************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: function() { return /* binding */ Container; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container(param) {\n let { className, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n_c = Container;\nvar _c;\n$RefreshReg$(_c, \"Container\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0NvbnRhaW5lci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF1QjtBQUVoQixTQUFTQyxVQUFVLEtBQXVCO1FBQXZCLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEdBQXZCO0lBQ3hCLHFCQUNFLDhEQUFDQztRQUNDRixXQUFXRixnREFBSUEsQ0FBQywwQ0FBMENFO1FBQ3pELEdBQUdDLEtBQUs7Ozs7OztBQUdmO0tBUGdCRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Container.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/DiamondIcon.jsx": -/*!****************************************!*\ - !*** ./src/components/DiamondIcon.jsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DiamondIcon: function() { return /* binding */ DiamondIcon; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n\nfunction DiamondIcon(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 6 6\",\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M3 0L6 3L3 6L0 3Z\",\n strokeWidth: 2,\n strokeLinejoin: \"round\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/DiamondIcon.jsx\",\n lineNumber: 4,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/DiamondIcon.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n_c = DiamondIcon;\nvar _c;\n$RefreshReg$(_c, \"DiamondIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0RpYW1vbmRJY29uLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTyxTQUFTQSxZQUFZQyxLQUFLO0lBQy9CLHFCQUNFLDhEQUFDQztRQUFJQyxlQUFZO1FBQU9DLFNBQVE7UUFBVyxHQUFHSCxLQUFLO2tCQUNqRCw0RUFBQ0k7WUFBS0MsR0FBRTtZQUFvQkMsYUFBYTtZQUFHQyxnQkFBZTs7Ozs7Ozs7Ozs7QUFHakU7S0FOZ0JSIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0RpYW1vbmRJY29uLmpzeD84OGJmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBEaWFtb25kSWNvbihwcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmlld0JveD1cIjAgMCA2IDZcIiB7Li4ucHJvcHN9PlxuICAgICAgPHBhdGggZD1cIk0zIDBMNiAzTDMgNkwwIDNaXCIgc3Ryb2tlV2lkdGg9ezJ9IHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgIDwvc3ZnPlxuICApXG59XG4iXSwibmFtZXMiOlsiRGlhbW9uZEljb24iLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwidmlld0JveCIsInBhdGgiLCJkIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/DiamondIcon.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Product.jsx": -/*!************************************!*\ - !*** ./src/components/Product.jsx ***! - \************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Product: function() { return /* binding */ Product; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(app-pages-browser)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* __next_internal_client_entry_do_not_use__ Product auto */ \n\n\n\n\n\nconst products = [\n {\n id: 1,\n name: \"Enhancing Education\",\n color: \"Transform traditional education with immersive distance learning opportunities\",\n href: \"#\",\n imageSrc: \"/images/education.jpg\",\n imageAlt: \"classroom\"\n },\n {\n id: 2,\n name: \"Environmental Awareness\",\n color: \"Advocate for environmental conservation through virtual eco-tours & initiatives.\",\n href: \"#\",\n imageSrc: \"/images/environment.jpg\",\n imageAlt: \"environment\"\n },\n {\n id: 3,\n name: \"Supporting Healthcare\",\n color: \"Innovate healthcare delivery by integrating virtual consultations & tools.\",\n href: \"#\",\n imageSrc: \"/images/healthcare.jpg\",\n imageAlt: \"clinic\"\n },\n {\n id: 4,\n name: \"Empowering Africa\",\n color: \"Foster cultural and economic growth across Africa through virtual solutions.\",\n href: \"#\",\n imageSrc: \"/images/africa.jpg\",\n imageAlt: \"africa\"\n }\n];\nfunction Product() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"schedule\",\n \"aria-label\": \"Schedule\",\n className: \"py-8 lg:py-24 mb-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative z-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0 lg:max-w-4xl lg:pr-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-base font-medium font-mono leading-7 text-blue-700\",\n children: \"Usecases\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 50,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"mt-2 font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Transforming Possibilities Across Industries Digitally\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Explore diverse scenarios where our platform empowers users to create, collaborate, and innovate in immersive virtual environments, unlocking new potentials across industries and communities.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 54,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 48,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:mt-14 mt-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__.BackgroundImage, {\n position: \"right\",\n className: \"-bottom-32 -top-40\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 grid grid-cols-1 gap-y-12 sm:grid-cols-2 sm:gap-x-6 lg:grid-cols-4 xl:gap-x-8\",\n children: products.map((product)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative h-full w-full overflow-hidden rounded-sm\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n alt: product.imageAlt,\n src: product.imageSrc,\n className: \"h-full w-full object-cover object-center\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 68,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 67,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"lg:text-base text-lg font-medium text-blue-700\",\n children: product.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 75,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 mb-2 lg:text-sm text-base text-blue-900\",\n children: product.color\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 76,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: product.href,\n className: \"lg:text-xs text-sm font-mono text-blue-700 hover:text-blue-900\",\n children: [\n \"Read Usecase \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n \"aria-hidden\": \"true\",\n children: \"→\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 78,\n columnNumber: 34\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 77,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 74,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 66,\n columnNumber: 15\n }, this)\n }, product.id, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 65,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 60,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 47,\n columnNumber: 5\n }, this);\n}\n_c = Product;\nvar _c;\n$RefreshReg$(_c, \"Product\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1Byb2R1Y3QuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ29DO0FBQ3hEO0FBRXVDO0FBQ1o7QUFFbEQsTUFBTVUsV0FBVztJQUNmO1FBQ0VDLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO0lBQ1o7SUFDQTtRQUNFTCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFVBQVU7UUFDVkMsVUFBVTtJQUNaO0lBQ0E7UUFDRUwsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLE9BQU87UUFDUEMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7SUFDWjtJQUNBO1FBQ0VMLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO0lBQ1o7Q0FDRDtBQUVNLFNBQVNDO0lBQ2QscUJBQ0UsOERBQUNDO1FBQVFQLElBQUc7UUFBV1EsY0FBVztRQUFXQyxXQUFVOzswQkFDckQsOERBQUNYLDREQUFTQTtnQkFBQ1csV0FBVTswQkFDbkIsNEVBQUNDO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ0U7NEJBQUdGLFdBQVU7c0NBQTBEOzs7Ozs7c0NBQ3hFLDhEQUFDRTs0QkFBR0YsV0FBVTtzQ0FBb0Y7Ozs7OztzQ0FHbEcsOERBQUNHOzRCQUFFSCxXQUFVO3NDQUEwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBTTNFLDhEQUFDQztnQkFBSUQsV0FBVTs7a0NBQ2IsOERBQUNaLHdFQUFlQTt3QkFBQ2dCLFVBQVM7d0JBQVFKLFdBQVU7Ozs7OztrQ0FDNUMsOERBQUNYLDREQUFTQTt3QkFBQ1csV0FBVTtrQ0FDckIsNEVBQUNDOzRCQUFJRCxXQUFVO3NDQUNaVixTQUFTZSxHQUFHLENBQUMsQ0FBQ0Msd0JBQ2IsOERBQUNMOzhDQUNDLDRFQUFDQTt3Q0FBSUQsV0FBVTs7MERBQ2IsOERBQUNDO2dEQUFJRCxXQUFVOzBEQUNiLDRFQUFDTztvREFDQ0MsS0FBS0YsUUFBUVYsUUFBUTtvREFDckJhLEtBQUtILFFBQVFYLFFBQVE7b0RBQ3JCSyxXQUFVOzs7Ozs7Ozs7OzswREFHZCw4REFBQ0M7Z0RBQUlELFdBQVU7O2tFQUNiLDhEQUFDVTt3REFBR1YsV0FBVTtrRUFBa0RNLFFBQVFkLElBQUk7Ozs7OztrRUFDNUUsOERBQUNXO3dEQUFFSCxXQUFVO2tFQUFnRE0sUUFBUWIsS0FBSzs7Ozs7O2tFQUMxRSw4REFBQ2tCO3dEQUFFakIsTUFBTVksUUFBUVosSUFBSTt3REFBRU0sV0FBVTs7NERBQWtFOzBFQUNwRiw4REFBQ1k7Z0VBQUtDLGVBQVk7MEVBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQ0FicENQLFFBQVFmLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCaEM7S0E1Q2dCTSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Qcm9kdWN0LmpzeD80YWM1Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUYWIsIFRhYkdyb3VwLCBUYWJMaXN0LCBUYWJQYW5lbCwgVGFiUGFuZWxzIH0gZnJvbSAnQGhlYWRsZXNzdWkvcmVhY3QnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5pbXBvcnQgeyBCYWNrZ3JvdW5kSW1hZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvQmFja2dyb3VuZEltYWdlJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcblxuY29uc3QgcHJvZHVjdHMgPSBbXG4gIHtcbiAgICBpZDogMSxcbiAgICBuYW1lOiAnRW5oYW5jaW5nIEVkdWNhdGlvbicsXG4gICAgY29sb3I6ICdUcmFuc2Zvcm0gdHJhZGl0aW9uYWwgZWR1Y2F0aW9uIHdpdGggaW1tZXJzaXZlIGRpc3RhbmNlIGxlYXJuaW5nIG9wcG9ydHVuaXRpZXMnLFxuICAgIGhyZWY6ICcjJyxcbiAgICBpbWFnZVNyYzogJy9pbWFnZXMvZWR1Y2F0aW9uLmpwZycsXG4gICAgaW1hZ2VBbHQ6ICdjbGFzc3Jvb20nLFxuICB9LFxuICB7XG4gICAgaWQ6IDIsXG4gICAgbmFtZTogJ0Vudmlyb25tZW50YWwgQXdhcmVuZXNzJyxcbiAgICBjb2xvcjogJ0Fkdm9jYXRlIGZvciBlbnZpcm9ubWVudGFsIGNvbnNlcnZhdGlvbiB0aHJvdWdoIHZpcnR1YWwgZWNvLXRvdXJzICYgaW5pdGlhdGl2ZXMuJyxcbiAgICBocmVmOiAnIycsXG4gICAgaW1hZ2VTcmM6ICcvaW1hZ2VzL2Vudmlyb25tZW50LmpwZycsXG4gICAgaW1hZ2VBbHQ6ICdlbnZpcm9ubWVudCcsXG4gIH0sXG4gIHtcbiAgICBpZDogMyxcbiAgICBuYW1lOiAnU3VwcG9ydGluZyBIZWFsdGhjYXJlJyxcbiAgICBjb2xvcjogJ0lubm92YXRlIGhlYWx0aGNhcmUgZGVsaXZlcnkgYnkgaW50ZWdyYXRpbmcgdmlydHVhbCBjb25zdWx0YXRpb25zICYgdG9vbHMuJyxcbiAgICBocmVmOiAnIycsXG4gICAgaW1hZ2VTcmM6ICcvaW1hZ2VzL2hlYWx0aGNhcmUuanBnJyxcbiAgICBpbWFnZUFsdDogJ2NsaW5pYycsXG4gIH0sXG4gIHtcbiAgICBpZDogNCxcbiAgICBuYW1lOiAnRW1wb3dlcmluZyBBZnJpY2EnLFxuICAgIGNvbG9yOiAnRm9zdGVyIGN1bHR1cmFsIGFuZCBlY29ub21pYyBncm93dGggYWNyb3NzIEFmcmljYSB0aHJvdWdoIHZpcnR1YWwgc29sdXRpb25zLicsXG4gICAgaHJlZjogJyMnLFxuICAgIGltYWdlU3JjOiAnL2ltYWdlcy9hZnJpY2EuanBnJyxcbiAgICBpbWFnZUFsdDogJ2FmcmljYScsXG4gIH0sXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9kdWN0KCkge1xuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwic2NoZWR1bGVcIiBhcmlhLWxhYmVsPVwiU2NoZWR1bGVcIiBjbGFzc05hbWU9XCJweS04IGxnOnB5LTI0IG1iLTEyXCI+XG4gICAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotMTBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBsZzpteC0wIGxnOm1heC13LTR4bCBsZzpwci0yNFwiPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LWJhc2UgZm9udC1tZWRpdW0gZm9udC1tb25vIGxlYWRpbmctNyB0ZXh0LWJsdWUtNzAwXCI+VXNlY2FzZXM8L2gyPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJtdC0yIGZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS02MDAgc206dGV4dC01eGxcIj5cbiAgICAgICAgICBUcmFuc2Zvcm1pbmcgUG9zc2liaWxpdGllcyBBY3Jvc3MgSW5kdXN0cmllcyBEaWdpdGFsbHlcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICBFeHBsb3JlIGRpdmVyc2Ugc2NlbmFyaW9zIHdoZXJlIG91ciBwbGF0Zm9ybSBlbXBvd2VycyB1c2VycyB0byBjcmVhdGUsIGNvbGxhYm9yYXRlLCBcbiAgICAgICAgICBhbmQgaW5ub3ZhdGUgaW4gaW1tZXJzaXZlIHZpcnR1YWwgZW52aXJvbm1lbnRzLCB1bmxvY2tpbmcgbmV3IHBvdGVudGlhbHMgYWNyb3NzIGluZHVzdHJpZXMgYW5kIGNvbW11bml0aWVzLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgbGc6bXQtMTQgbXQtMTZcIj5cbiAgICAgICAgPEJhY2tncm91bmRJbWFnZSBwb3NpdGlvbj1cInJpZ2h0XCIgY2xhc3NOYW1lPVwiLWJvdHRvbS0zMiAtdG9wLTQwXCIgLz5cbiAgICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTQgZ3JpZCBncmlkLWNvbHMtMSBnYXAteS0xMiBzbTpncmlkLWNvbHMtMiBzbTpnYXAteC02IGxnOmdyaWQtY29scy00IHhsOmdhcC14LThcIj5cbiAgICAgICAgICB7cHJvZHVjdHMubWFwKChwcm9kdWN0KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17cHJvZHVjdC5pZH0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGgtZnVsbCB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtc21cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgYWx0PXtwcm9kdWN0LmltYWdlQWx0fVxuICAgICAgICAgICAgICAgICAgICBzcmM9e3Byb2R1Y3QuaW1hZ2VTcmN9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtZnVsbCB3LWZ1bGwgb2JqZWN0LWNvdmVyIG9iamVjdC1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIG10LTRcIj5cbiAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJsZzp0ZXh0LWJhc2UgdGV4dC1sZyBmb250LW1lZGl1bSB0ZXh0LWJsdWUtNzAwXCI+e3Byb2R1Y3QubmFtZX08L2gzPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMSBtYi0yIGxnOnRleHQtc20gdGV4dC1iYXNlIHRleHQtYmx1ZS05MDBcIj57cHJvZHVjdC5jb2xvcn08L3A+XG4gICAgICAgICAgICAgICAgICA8YSBocmVmPXtwcm9kdWN0LmhyZWZ9IGNsYXNzTmFtZT1cImxnOnRleHQteHMgdGV4dC1zbSBmb250LW1vbm8gdGV4dC1ibHVlLTcwMCAgaG92ZXI6dGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICBSZWFkIFVzZWNhc2UgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4oaSPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Db250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkJhY2tncm91bmRJbWFnZSIsIkNvbnRhaW5lciIsInByb2R1Y3RzIiwiaWQiLCJuYW1lIiwiY29sb3IiLCJocmVmIiwiaW1hZ2VTcmMiLCJpbWFnZUFsdCIsIlByb2R1Y3QiLCJzZWN0aW9uIiwiYXJpYS1sYWJlbCIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInBvc2l0aW9uIiwibWFwIiwicHJvZHVjdCIsImltZyIsImFsdCIsInNyYyIsImgzIiwiYSIsInNwYW4iLCJhcmlhLWhpZGRlbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Product.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, PO at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9WLDZFQUFtQkE7WUFDNUI7WUFDQTtnQkFDRUssTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFP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QUMsRUFBRW9DLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDOUUsa0RBQUtBO29FQUNKaUUsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXJDLEtBQUs7b0VBQ2xCeUMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTFDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2lDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdEMsSUFBSTs7Ozs7OzsrQ0E3QlB1Qzs7Ozs7dUNBTFBOLElBQUluQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JnQjs7UUFDTHZELHdDQUFLQTs7O01BREF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IG1hdHRoZXdzY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFBPIGF0IE91clZlcnNlJyxcbiAgICAgICAgaW1hZ2U6IHNhc2hhYXN0aWFkaUltYWdlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnVmljdG9yIE11aGFnYWNoaScsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IER1bmlhIFlldHUnLFxuICAgICAgICBpbWFnZTogdmljdG9ybXVoYWdhY2hpSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnU3BlYWtlcnMgJiBXb3Jrc2hvcHMnLFxuICAgIGRhdGU6ICdPY3QgMjUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0RhbWFyaXMgS2ltdXJhJyxcbiAgICAgICAgcm9sZTogJ1NlbmlvciBFbmdpbmVlciBhdCBPQ1AnLFxuICAgICAgICBpbWFnZTogZGFtYXJpc0tpbXVyYUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgcm9sZTogJ1Byb2dyYW1tZXIgYXQgVW1icmVsbGEgQ29ycCcsXG4gICAgICAgIGltYWdlOiBpYnJhaGltRnJhc2NoSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnQ2F0aGxlbmUgQnVycmFnZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgQnV5IG4gTGFyZ2UnLFxuICAgICAgICBpbWFnZTogY2F0aGxlbmVCdXJyYWdlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmluYWxkbyBCZXlub24nLFxuICAgICAgICByb2xlOiAnRGF0YSBTY2llbnRpc3QgYXQgUmVrYWxsJyxcbiAgICAgICAgaW1hZ2U6IHJpbmFsZG9CZXlub25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICByb2xlOiAnRGV2T3BzIGF0IFJEQSBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiB3YXlsb25IeWRlbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICByb2xlOiAnR2FtZSBEZXZlbG9wZXIgYXQgU295bGVudCBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGdpb3JkYW5vU2FndWNpb0ltYWdlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0ludGVydmlld3MnLFxuICAgIGRhdGU6ICdPY3QgMjYnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNicsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0FuZHJldyBHcmVlbmUnLFxuICAgICAgICByb2xlOiAnRnJvbnRlbmQgRGV2ZWxvcGVyIGF0IFVsdHJhdGVjaCcsXG4gICAgICAgIGltYWdlOiBhbmRyZXdHcmVlbmVJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdIZWF0aGVyIFRlcnJ5JyxcbiAgICAgICAgcm9sZTogJ0JhY2tlbmQgRGV2ZWxvcGVyIGF0IFhhbmF0b3MgRW50ZXJwcmlzZXMnLFxuICAgICAgICBpbWFnZTogaGVhdGhlclRlcnJ5SW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUGllcnMgV2lsa2lucycsXG4gICAgICAgIHJvbGU6ICdGdWxsIHN0YWNrIERldmVsb3BlciBhdCBCaWZmQ28nLFxuICAgICAgICBpbWFnZTogcGllcnNXaWxraW5zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR29yZG9uIFNhbmRlcnNvbicsXG4gICAgICAgIHJvbGU6ICdNb2JpbGUgRGV2ZWxvcGVyIGF0IENvYnJhIEluZHVzdHJpZXMnLFxuICAgICAgICBpbWFnZTogZ29yZG9uU2FuZGVyc29uSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnS2ltYmVybHkgUGFyc29ucycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBUeXJlbGwgQ29ycG9yYXRpb24nLFxuICAgICAgICBpbWFnZToga2ltYmVybHlQYXJzb25zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IFJvbGwgT3V0JyxcbiAgICAgICAgaW1hZ2U6IHJpY2hhcmRBc3RsZXksXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIEltYWdlQ2xpcFBhdGhzKHsgaWQsIC4uLnByb3BzIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHdpZHRoPXswfSBoZWlnaHQ9ezB9IHsuLi5wcm9wc30+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMGB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMCwwIGgwLjcyOSB2MC4xMjkgaDAuMTIxIGwtMC4wMTYsMC4wMzIgQzAuODE1LDAuMTk4LDAuODQzLDAuMjQzLDAuODg1LDAuMjQzIEgxIHYwLjc1NyBIMC4yNzEgdi0wLjA4NiBsLTAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLC0wLjAyNiwtMC4wNTcsLTAuMDU3LC0wLjA1NyBIMCBWMFwiIC8+XG4gICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgIDxjbGlwUGF0aCBpZD17YCR7aWR9LTFgfSBjbGlwUGF0aFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTEsMSBIMC4yNzEgdi0wLjEyOSBIMC4xNSBsMC4wMTYsLTAuMDMyIEMwLjE4NSwwLjgwMiwwLjE1NywwLjc1NywwLjExNSwwLjc1NyBIMCBWMCBoMC43MjkgdjAuMDg2IGwwLjEyMSwtMC4wNTcgdjAuMjE0IGMwLDAuMDMyLDAuMDI2LDAuMDU3LDAuMDU3LDAuMDU3IGgwLjA5MyB2MC43XCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMmB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwwIEgwLjI3MSB2MC4xMjkgSDAuMTUgbDAuMDE2LDAuMDMyIEMwLjE4NSwwLjE5OCwwLjE1NywwLjI0MywwLjExNSwwLjI0MyBIMCB2MC43NTcgaDAuNzI5IHYtMC4wODYgbDAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLDAuMDI2LC0wLjA1NywwLjA1NywtMC4wNTcgaDAuMDkzIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3BlYWtlcnMoKSB7XG4gIGxldCBpZCA9IHVzZUlkKClcbiAgbGV0IFt0YWJPcmllbnRhdGlvbiwgc2V0VGFiT3JpZW50YXRpb25dID0gdXNlU3RhdGUoJ2hvcml6b250YWwnKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGxnTWVkaWFRdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcobWluLXdpZHRoOiAxMDI0cHgpJylcblxuICAgIGZ1bmN0aW9uIG9uTWVkaWFRdWVyeUNoYW5nZSh7IG1hdGNoZXMgfSkge1xuICAgICAgc2V0VGFiT3JpZW50YXRpb24obWF0Y2hlcyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcpXG4gICAgfVxuXG4gICAgb25NZWRpYVF1ZXJ5Q2hhbmdlKGxnTWVkaWFRdWVyeSlcbiAgICBsZ01lZGlhUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGxnTWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uXG4gICAgICBpZD1cInNwZWFrZXJzXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgIGNsYXNzTmFtZT1cInB5LTIwIGxnOnB5LTEyXCJcbiAgICA+XG4gICAgICA8SW1hZ2VDbGlwUGF0aHMgaWQ9e2lkfSAvPlxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBsZzpteC0wXCI+XG4gICAgICAgICAgPGgyXG4gICAgICAgICAgICBpZD1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgc206dGV4dC01eGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNwZWFrZXJzXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgR2V0IHJlYWR5IHRvIGJlIGluc3BpcmVkIGJ5IHNvbWUgb2YgdGhlIGluZHVzdHJ5IGxlYWRlcnMgYW5kIGlubm92YXRvcnMgd2hvIGFyZSBzaGFwaW5nIHRoZSBmdXR1cmUgb2YgdGhlIG1ldGF2ZXJzZSwgV2ViMywgQUksIGFuZCBtb3JlLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxUYWJHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTE0IGdyaWQgZ3JpZC1jb2xzLTEgaXRlbXMtc3RhcnQgZ2FwLXgtOCBnYXAteS04IHNtOm10LTE2IHNtOmdhcC15LTE2IGxnOm10LTI0IGxnOmdyaWQtY29scy00XCJcbiAgICAgICAgICB2ZXJ0aWNhbD17dGFiT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCd9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIC1teC00IGZsZXggb3ZlcmZsb3cteC1hdXRvIHBiLTQgc206bXgtMCBzbTpibG9jayBzbTpvdmVyZmxvdy12aXNpYmxlIHNtOnBiLTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wLjUgdG9wLTIgaGlkZGVuIHctcHggYmctc2xhdGUtMjAwIGxnOmJsb2NrXCIgLz5cbiAgICAgICAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cImdyaWQgYXV0by1jb2xzLWF1dG8gZ3JpZC1mbG93LWNvbCBqdXN0aWZ5LXN0YXJ0IGdhcC14LTggZ2FwLXktMTAgd2hpdGVzcGFjZS1ub3dyYXAgcHgtNCBzbTpteC1hdXRvIHNtOm1heC13LTJ4bCBzbTpncmlkLWNvbHMtMyBzbTpweC0wIHNtOnRleHQtY2VudGVyIGxnOmdyaWQtZmxvdy1yb3cgbGc6Z3JpZC1jb2xzLTEgbGc6dGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIHsoeyBzZWxlY3RlZEluZGV4IH0pID0+IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAge2RheXMubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtkYXkuZGF0ZVRpbWV9IGNsYXNzTmFtZT1cInJlbGF0aXZlIGxnOnBsLThcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8RGlhbW9uZEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGxlZnQtWy0wLjVweF0gdG9wLVswLjU2MjVyZW1dIGhpZGRlbiBoLTEuNSB3LTEuNSBvdmVyZmxvdy12aXNpYmxlIGxnOmJsb2NrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdmaWxsLWJsdWUtNTAwIHN0cm9rZS1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdmaWxsLXRyYW5zcGFyZW50IHN0cm9rZS1zbGF0ZS00MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LW1vbm8gdGV4dC1zbScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3RleHQtYmx1ZS01MDAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0ZXh0LXNsYXRlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVRpbWU9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtMS41IGJsb2NrIHRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGltZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVGFiTGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8VGFiUGFuZWxzIGNsYXNzTmFtZT1cImxnOmNvbC1zcGFuLTNcIj5cbiAgICAgICAgICAgIHtkYXlzLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAgICAgIGtleT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLXgtOCBnYXAteS0xMCB1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgc206Z3JpZC1jb2xzLTIgc206Z2FwLXktMTYgbWQ6Z3JpZC1jb2xzLTNcIlxuICAgICAgICAgICAgICAgIHVubW91bnQ9e2ZhbHNlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2RheS5zcGVha2Vycy5tYXAoKHNwZWFrZXIsIHNwZWFrZXJJbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e3NwZWFrZXJJbmRleH0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgaC1bMTcuNXJlbV0gdHJhbnNmb3JtIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLTR4bFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGJvdHRvbS02IGxlZnQtMCByaWdodC00IHRvcC0wIHJvdW5kZWQtNHhsIGJvcmRlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS05NSB4bDpyaWdodC02JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItYmx1ZS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItaW5kaWdvLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1za3ktMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVtzcGVha2VySW5kZXggJSAzXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWluZGlnby01MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjbGlwUGF0aDogYHVybCgjJHtpZH0tJHtzcGVha2VySW5kZXggJSAzfSlgIH19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtzcGVha2VyLmltYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz1cIihtaW4td2lkdGg6IDEyODBweCkgMTcuNXJlbSwgKG1pbi13aWR0aDogMTAyNHB4KSAyNXZ3LCAobWluLXdpZHRoOiA3NjhweCkgMzN2dywgKG1pbi13aWR0aDogNjQwcHgpIDUwdncsIDEwMHZ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwibXQtOCBmb250LWRpc3BsYXkgdGV4dC14bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1zbGF0ZS05MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7c3BlYWtlci5uYW1lfVxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLnJvbGV9XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1RhYlBhbmVsPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9UYWJQYW5lbHM+XG4gICAgICAgIDwvVGFiR3JvdXA+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZVN0YXRlIiwiSW1hZ2UiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsImNsc3giLCJDb250YWluZXIiLCJEaWFtb25kSWNvbiIsImFuZHJld0dyZWVuZUltYWdlIiwiY2F0aGxlbmVCdXJyYWdlSW1hZ2UiLCJkYW1hcmlzS2ltdXJhSW1hZ2UiLCJkaWFubmVHdWlsaWFuZWxsaUltYWdlIiwiZXJoYXJ0Q29ja3JpbkltYWdlIiwiZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UiLCJnb3Jkb25TYW5kZXJzb25JbWFnZSIsImhlYXRoZXJUZXJyeUltYWdlIiwiaWJyYWhpbUZyYXNjaEltYWdlIiwiamFxdWVsaW5Jc2NoSW1hZ2UiLCJraW1iZXJseVBhcnNvbnNJbWFnZSIsInBhcmtlckpvaG5zb25JbWFnZSIsInBpZXJzV2lsa2luc0ltYWdlIiwicmljaGFyZEFzdGxleSIsInJpbmFsZG9CZXlub25JbWFnZSIsInJvbm5pQ2FudGFkb3JlSW1hZ2UiLCJzdGV2ZW5NY2hhaWxJbWFnZSIsIndheWxvbkh5ZGVuSW1hZ2UiLCJrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UiLCJhZG5hbmZhdGF5ZXJqaUltYWdlIiwiZmxvcmlhbmZvdXJuaWVySW1hZ2UiLCJtYXR0aGV3c2NodXR0ZUltYWdlIiwib21yZWlhYnVtYWRpSW1hZ2UiLCJ2aWN0b3JtdWhhZ2FjaGlJbWFnZSIsInNhc2hhYXN0aWFkaUltYWdlIiwiZGF5cyIsIm5hbWUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzcGVha2VycyIsInJvbGUiLCJpbWFnZSIsIkltYWdlQ2xpcFBhdGhzIiwiaWQiLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwid2lkdGgiLCJoZWlnaHQiLCJkZWZzIiwiY2xpcFBhdGgiLCJjbGlwUGF0aFVuaXRzIiwicGF0aCIsImQiLCJTcGVha2VycyIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJsZ01lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VjdGlvbiIsImFyaWEtbGFiZWxsZWRieSIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInZlcnRpY2FsIiwic2VsZWN0ZWRJbmRleCIsIm1hcCIsImRheSIsImRheUluZGV4Iiwic3BhbiIsInRpbWUiLCJ1bm1vdW50Iiwic3BlYWtlciIsInNwZWFrZXJJbmRleCIsInN0eWxlIiwic3JjIiwiYWx0IiwicHJpb3JpdHkiLCJzaXplcyIsImgzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar assign = Object.assign;\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\nvar didWarnAboutKeySpread = {};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV$1(type, config, maybeKey, isStaticChildren, source, self) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n var children = config.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n } // Warn about key spread regardless of whether the type is valid.\n\n\n if (hasOwnProperty.call(config, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref')) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n var element = ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar jsxDEV = jsxDEV$1 ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxzR0FBMEI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBLHFFQUFxRTs7QUFFckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0dBQWtHOztBQUVsRztBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLGVBQWU7QUFDMUIsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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QUFXLGNBQWM7QUFDekI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixpQkFBaUI7QUFDckM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz82ZDBkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdFwiKTtcblxuLy8gQVRURU5USU9OXG4vLyBXaGVuIGFkZGluZyBuZXcgc3ltYm9scyB0byB0aGlzIGZpbGUsXG4vLyBQbGVhc2UgY29uc2lkZXIgYWxzbyBhZGRpbmcgdG8gJ3JlYWN0LWRldnRvb2xzLXNoYXJlZC9zcmMvYmFja2VuZC9SZWFjdFN5bWJvbHMnXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy5cbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50Jyk7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKTtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKTtcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTsgLy8gVE9ETzogRGVsZXRlIHdpdGggZW5hYmxlUmVuZGVyYWJsZUNvbnRleHRcblxudmFyIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb25zdW1lcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0NBQ0hFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jYWNoZScpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG52YXIgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgPSBmYWxzZTtcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59XG5cbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIgPSBTeW1ib2wuZm9yKCdyZWFjdC5jbGllbnQucmVmZXJlbmNlJyk7IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMikge1xuICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgY29udmVudGlvbiBmb3IgbmFtaW5nIGNsaWVudCByZWZlcmVuY2VzIHdpdGggZGVidWcgaW5mby5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICAgIGNhc2UgUkVBQ1RfQ0FDSEVfVFlQRTpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuICdDYWNoZSc7XG4gICAgICB9XG5cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcblxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICB2YXIgb3V0ZXJOYW1lID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChvdXRlck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gb3V0ZXJOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdNZW1vJztcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGluaXQocGF5bG9hZCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuXG5cbmZ1bmN0aW9uIHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSB7XG4gIHtcbiAgICB0cnkge1xuICAgICAgdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIC8vIElmIHlvdSBlbmRlZCB1cCBoZXJlIGJ5IGZvbGxvd2luZyBhbiBleGNlcHRpb24gY2FsbCBzdGFjaywgaGVyZSdzIHdoYXQnc1xuICAvLyBoYXBwZW5lZDogeW91IHN1cHBsaWVkIGFuIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gUmVhY3QgKGFzIGEgcHJvcCwga2V5LFxuICAvLyBET00gYXR0cmlidXRlLCBDU1MgcHJvcGVydHksIHN0cmluZyByZWYsIGV0Yy4pIGFuZCB3aGVuIFJlYWN0IHRyaWVkIHRvXG4gIC8vIGNvZXJjZSBpdCB0byBhIHN0cmluZyB1c2luZyBgJycgKyB2YWx1ZWAsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duLlxuICAvL1xuICAvLyBUaGUgbW9zdCBjb21tb24gdHlwZXMgdGhhdCB3aWxsIGNhdXNlIHRoaXMgZXhjZXB0aW9uIGFyZSBgU3ltYm9sYCBpbnN0YW5jZXNcbiAgLy8gYW5kIFRlbXBvcmFsIG9iamVjdHMgbGlrZSBgVGVtcG9yYWwuSW5zdGFudGAuIEJ1dCBhbnkgb2JqZWN0IHRoYXQgaGFzIGFcbiAgLy8gYHZhbHVlT2ZgIG9yIGBbU3ltYm9sLnRvUHJpbWl0aXZlXWAgbWV0aG9kIHRoYXQgdGhyb3dzIHdpbGwgYWxzbyBjYXVzZSB0aGlzXG4gIC8vIGV4Y2VwdGlvbi4gKExpYnJhcnkgYXV0aG9ycyBkbyB0aGlzIHRvIHByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyBidWlsdC1pblxuICAvLyBudW1lcmljIG9wZXJhdG9ycyBsaWtlIGArYCBvciBjb21wYXJpc29uIG9wZXJhdG9ycyBsaWtlIGA+PWAgYmVjYXVzZSBjdXN0b21cbiAgLy8gbWV0aG9kcyBhcmUgbmVlZGVkIHRvIHBlcmZvcm0gYWNjdXJhdGUgYXJpdGhtZXRpYyBvciBjb21wYXJpc29uLilcbiAgLy9cbiAgLy8gVG8gZml4IHRoZSBwcm9ibGVtLCBjb2VyY2UgdGhpcyBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nIGJlZm9yZVxuICAvLyBwYXNzaW5nIGl0IHRvIFJlYWN0LiBUaGUgbW9zdCByZWxpYWJsZSB3YXkgaXMgdXN1YWxseSBgU3RyaW5nKHZhbHVlKWAuXG4gIC8vXG4gIC8vIFRvIGZpbmQgd2hpY2ggdmFsdWUgaXMgdGhyb3dpbmcsIGNoZWNrIHRoZSBicm93c2VyIG9yIGRlYnVnZ2VyIGNvbnNvbGUuXG4gIC8vIEJlZm9yZSB0aGlzIGV4Y2VwdGlvbiB3YXMgdGhyb3duLCB0aGVyZSBzaG91bGQgYmUgYGNvbnNvbGUuZXJyb3JgIG91dHB1dFxuICAvLyB0aGF0IHNob3dzIHRoZSB0eXBlIChTeW1ib2wsIFRlbXBvcmFsLlBsYWluRGF0ZSwgZXRjLikgdGhhdCBjYXVzZWQgdGhlXG4gIC8vIHByb2JsZW0gYW5kIGhvdyB0aGF0IHR5cGUgd2FzIHVzZWQ6IGtleSwgYXRycmlidXRlLCBpbnB1dCB2YWx1ZSBwcm9wLCBldGMuXG4gIC8vIEluIG1vc3QgY2FzZXMsIHRoaXMgY29uc29sZSBvdXRwdXQgYWxzbyBzaG93cyB0aGUgY29tcG9uZW50IGFuZCBpdHNcbiAgLy8gYW5jZXN0b3IgY29tcG9uZW50cyB3aGVyZSB0aGUgZXhjZXB0aW9uIGhhcHBlbmVkLlxuICAvL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBjaGVja0tleVN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQxID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vLyBIZWxwZXJzIHRvIHBhdGNoIGNvbnNvbGUubG9ncyB0byBhdm9pZCBsb2dnaW5nIGR1cmluZyBzaWRlLWVmZmVjdCBmcmVlXG4vLyByZXBsYXlpbmcgb24gcmVuZGVyIGZ1bmN0aW9uLiBUaGlzIGN1cnJlbnRseSBvbmx5IHBhdGNoZXMgdGhlIG9iamVjdFxuLy8gbGF6aWx5IHdoaWNoIHdvbid0IGNvdmVyIGlmIHRoZSBsb2cgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBlYWdlcmx5LlxuLy8gV2UgY291bGQgYWxzbyBlYWdlcmx5IHBhdGNoIHRoZSBtZXRob2QuXG52YXIgZGlzYWJsZWREZXB0aCA9IDA7XG52YXIgcHJldkxvZztcbnZhciBwcmV2SW5mbztcbnZhciBwcmV2V2FybjtcbnZhciBwcmV2RXJyb3I7XG52YXIgcHJldkdyb3VwO1xudmFyIHByZXZHcm91cENvbGxhcHNlZDtcbnZhciBwcmV2R3JvdXBFbmQ7XG5cbmZ1bmN0aW9uIGRpc2FibGVkTG9nKCkge31cblxuZGlzYWJsZWRMb2cuX19yZWFjdERpc2FibGVkTG9nID0gdHJ1ZTtcbmZ1bmN0aW9uIGRpc2FibGVMb2dzKCkge1xuICB7XG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgcHJldkxvZyA9IGNvbnNvbGUubG9nO1xuICAgICAgcHJldkluZm8gPSBjb25zb2xlLmluZm87XG4gICAgICBwcmV2V2FybiA9IGNvbnNvbGUud2FybjtcbiAgICAgIHByZXZFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICBwcmV2R3JvdXAgPSBjb25zb2xlLmdyb3VwO1xuICAgICAgcHJldkdyb3VwQ29sbGFwc2VkID0gY29uc29sZS5ncm91cENvbGxhcHNlZDtcbiAgICAgIHByZXZHcm91cEVuZCA9IGNvbnNvbGUuZ3JvdXBFbmQ7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTkwOTlcblxuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBkaXNhYmxlZExvZyxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cbi8qKlxuICogTGV2ZXJhZ2VzIG5hdGl2ZSBicm93c2VyL1ZNIHN0YWNrIGZyYW1lcyB0byBnZXQgcHJvcGVyIGRldGFpbHMgKGUuZy5cbiAqIGZpbGVuYW1lLCBsaW5lICsgY29sIG51bWJlcikgZm9yIGEgc2luZ2xlIGNvbXBvbmVudCBpbiBhIGNvbXBvbmVudCBzdGFjay4gV2VcbiAqIGRvIHRoaXMgYnk6XG4gKiAgICgxKSB0aHJvd2luZyBhbmQgY2F0Y2hpbmcgYW4gZXJyb3IgaW4gdGhlIGZ1bmN0aW9uIC0gdGhpcyB3aWxsIGJlIG91clxuICogICAgICAgY29udHJvbCBlcnJvci5cbiAqICAgKDIpIGNhbGxpbmcgdGhlIGNvbXBvbmVudCB3aGljaCB3aWxsIGV2ZW50dWFsbHkgdGhyb3cgYW4gZXJyb3IgdGhhdCB3ZSdsbFxuICogICAgICAgY2F0Y2ggLSB0aGlzIHdpbGwgYmUgb3VyIHNhbXBsZSBlcnJvci5cbiAqICAgKDMpIGRpZmZpbmcgdGhlIGNvbnRyb2wgYW5kIHNhbXBsZSBlcnJvciBzdGFja3MgdG8gZmluZCB0aGUgc3RhY2sgZnJhbWVcbiAqICAgICAgIHdoaWNoIHJlcHJlc2VudHMgb3VyIGNvbXBvbmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cbiAgLyoqXG4gICAqIEZpbmRpbmcgYSBjb21tb24gc3RhY2sgZnJhbWUgYmV0d2VlbiBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGNhbiBiZVxuICAgKiB0cmlja3kgZ2l2ZW4gdGhlIGRpZmZlcmVudCB0eXBlcyBhbmQgbGV2ZWxzIG9mIHN0YWNrIHRyYWNlIHRydW5jYXRpb24gZnJvbVxuICAgKiBkaWZmZXJlbnQgSlMgVk1zLiBTbyBpbnN0ZWFkIHdlJ2xsIGF0dGVtcHQgdG8gY29udHJvbCB3aGF0IHRoYXQgY29tbW9uXG4gICAqIGZyYW1lIHNob3VsZCBiZSB0aHJvdWdoIHRoaXMgb2JqZWN0IG1ldGhvZDpcbiAgICogSGF2aW5nIGJvdGggdGhlIHNhbXBsZSBhbmQgY29udHJvbCBlcnJvcnMgYmUgaW4gdGhlIGZ1bmN0aW9uIHVuZGVyIHRoZVxuICAgKiBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIHByb3BlcnR5LCArIHNldHRpbmcgdGhlIGBuYW1lYCBhbmRcbiAgICogYGRpc3BsYXlOYW1lYCBwcm9wZXJ0aWVzIG9mIHRoZSBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYSBzdGFja1xuICAgKiBmcmFtZSBleGlzdHMgdGhhdCBoYXMgdGhlIG1ldGhvZCBuYW1lIGBEZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lUm9vdGAgaW5cbiAgICogaXQgZm9yIGJvdGggY29udHJvbCBhbmQgc2FtcGxlIHN0YWNrcy5cbiAgICovXG5cblxuICB2YXIgUnVuSW5Sb290RnJhbWUgPSB7XG4gICAgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290OiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgY29udHJvbDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgICAgICAvLyBTb21ldGhpbmcgc2hvdWxkIGJlIHNldHRpbmcgdGhlIHByb3BzIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGYWtlLnByb3RvdHlwZSwgJ3Byb3BzJywge1xuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHdvbid0IHRocm93IGluIGEgbm9uLXN0cmljdCBtb2RlIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAgICAgLy8gZnJhbWVzIGFkZGVkIGJ5IHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KGZuLCBbXSwgRmFrZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIEZha2UuY2FsbCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICAgICAgICBmbi5jYWxsKEZha2UucHJvdG90eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgfSAvLyBUT0RPKGx1bmEpOiBUaGlzIHdpbGwgY3VycmVudGx5IG9ubHkgdGhyb3cgaWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgICAgICAgIC8vIHRyaWVzIHRvIGFjY2VzcyBSZWFjdC9SZWFjdERPTS9wcm9wcy4gV2Ugc2hvdWxkIHByb2JhYmx5IG1ha2UgdGhpcyB0aHJvd1xuICAgICAgICAgIC8vIGluIHNpbXBsZSBjb21wb25lbnRzIHRvb1xuXG5cbiAgICAgICAgICB2YXIgbWF5YmVQcm9taXNlID0gZm4oKTsgLy8gSWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudCByZXR1cm5zIGEgcHJvbWlzZSwgaXQncyBsaWtlbHkgYW4gYXN5bmNcbiAgICAgICAgICAvLyBjb21wb25lbnQsIHdoaWNoIHdlIGRvbid0IHlldCBzdXBwb3J0LiBBdHRhY2ggYSBub29wIGNhdGNoIGhhbmRsZXIgdG9cbiAgICAgICAgICAvLyBzaWxlbmNlIHRoZSBlcnJvci5cbiAgICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgY29tcG9uZW50IHN0YWNrcyBmb3IgYXN5bmMgY2xpZW50IGNvbXBvbmVudHM/XG5cbiAgICAgICAgICBpZiAobWF5YmVQcm9taXNlICYmIHR5cGVvZiBtYXliZVByb21pc2UuY2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1heWJlUHJvbWlzZS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChzYW1wbGUpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICAgICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIFtzYW1wbGUuc3RhY2ssIGNvbnRyb2wuc3RhY2tdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuICB9OyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuICBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWUgPSAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JztcbiAgdmFyIG5hbWVQcm9wRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCAnbmFtZScpOyAvLyBCZWZvcmUgRVM2LCB0aGUgYG5hbWVgIHByb3BlcnR5IHdhcyBub3QgY29uZmlndXJhYmxlLlxuXG4gIGlmIChuYW1lUHJvcERlc2NyaXB0b3IgJiYgbmFtZVByb3BEZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIC8vIFY4IHV0aWxpemVzIGEgZnVuY3Rpb24ncyBgbmFtZWAgcHJvcGVydHkgd2hlbiBnZW5lcmF0aW5nIGEgc3RhY2sgdHJhY2UuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgLy8gQ29uZmlndXJhYmxlIHByb3BlcnRpZXMgY2FuIGJlIHVwZGF0ZWQgZXZlbiBpZiBpdHMgd3JpdGFibGUgZGVzY3JpcHRvclxuICAgIC8vIGlzIHNldCB0byBgZmFsc2VgLlxuICAgIC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXVxuICAgICduYW1lJywge1xuICAgICAgdmFsdWU6ICdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnXG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIHZhciBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPSBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxcbiAgICAgICAgc2FtcGxlU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMF0sXG4gICAgICAgIGNvbnRyb2xTdGFjayA9IF9SdW5JblJvb3RGcmFtZSREZXRlclsxXTtcblxuICAgIGlmIChzYW1wbGVTdGFjayAmJiBjb250cm9sU3RhY2spIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZVN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBjb250cm9sTGluZXMgPSBjb250cm9sU3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgdmFyIGMgPSAwO1xuXG4gICAgICB3aGlsZSAocyA8IHNhbXBsZUxpbmVzLmxlbmd0aCAmJiAhc2FtcGxlTGluZXNbc10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIHMrKztcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKGMgPCBjb250cm9sTGluZXMubGVuZ3RoICYmICFjb250cm9sTGluZXNbY10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIGMrKztcbiAgICAgIH0gLy8gV2UgY291bGRuJ3QgZmluZCBvdXIgaW50ZW50aW9uYWxseSBpbmplY3RlZCBjb21tb24gcm9vdCBmcmFtZSwgYXR0ZW1wdFxuICAgICAgLy8gdG8gZmluZCBhbm90aGVyIGNvbW1vbiByb290IGZyYW1lIGJ5IHNlYXJjaCBmcm9tIHRoZSBib3R0b20gb2YgdGhlXG4gICAgICAvLyBjb250cm9sIHN0YWNrLi4uXG5cblxuICAgICAgaWYgKHMgPT09IHNhbXBsZUxpbmVzLmxlbmd0aCB8fCBjID09PSBjb250cm9sTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgICBjID0gY29udHJvbExpbmVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAgIC8vIFR5cGljYWxseSB0aGlzIHdpbGwgYmUgdGhlIHJvb3QgbW9zdCBvbmUuIEhvd2V2ZXIsIHN0YWNrIGZyYW1lcyBtYXkgYmVcbiAgICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYW5kIHRoZXJlIGZvciBjdXQgb2ZmIGVhcmxpZXIuIFNvIHdlIHNob3VsZCBmaW5kIHRoZSByb290IG1vc3QgZnJhbWUgaW5cbiAgICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgICBjLS07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICg7IHMgPj0gMSAmJiBjID49IDA7IHMtLSwgYy0tKSB7XG4gICAgICAgIC8vIE5leHQgd2UgZmluZCB0aGUgZmlyc3Qgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgd2hpY2ggc2hvdWxkIGJlIHRoZVxuICAgICAgICAvLyBmcmFtZSB0aGF0IGNhbGxlZCBvdXIgc2FtcGxlIGZ1bmN0aW9uIGFuZCB0aGUgY29udHJvbC5cbiAgICAgICAgaWYgKHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBJbiBWOCwgdGhlIGZpcnN0IGxpbmUgaXMgZGVzY3JpYmluZyB0aGUgbWVzc2FnZSBidXQgb3RoZXIgVk1zIGRvbid0LlxuICAgICAgICAgIC8vIElmIHdlJ3JlIGFib3V0IHRvIHJldHVybiB0aGUgZmlyc3QgbGluZSwgYW5kIHRoZSBjb250cm9sIGlzIGFsc28gb24gdGhlIHNhbWVcbiAgICAgICAgICAvLyBsaW5lLCB0aGF0J3MgYSBwcmV0dHkgZ29vZCBpbmRpY2F0b3IgdGhhdCBvdXIgc2FtcGxlIHRocmV3IGF0IHNhbWUgbGluZSBhc1xuICAgICAgICAgIC8vIHRoZSBjb250cm9sLiBJLmUuIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSBzYW1wbGUgZnJhbWUuIFNvIHdlIGlnbm9yZSB0aGlzIHJlc3VsdC5cbiAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgeW91IHBhc3NlZCBhIGNsYXNzIHRvIGZ1bmN0aW9uIGNvbXBvbmVudCwgb3Igbm9uLWZ1bmN0aW9uLlxuICAgICAgICAgIGlmIChzICE9PSAxIHx8IGMgIT09IDEpIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgcy0tO1xuICAgICAgICAgICAgICBjLS07IC8vIFdlIG1heSBzdGlsbCBoYXZlIHNpbWlsYXIgaW50ZXJtZWRpYXRlIGZyYW1lcyBmcm9tIHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgICAgLy8gVGhlIG5leHQgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgc2hvdWxkIGJlIG91ciBtYXRjaCB0aG91Z2guXG5cbiAgICAgICAgICAgICAgaWYgKGMgPCAwIHx8IHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAgICAgICAvLyBWOCBhZGRzIGEgXCJuZXdcIiBwcmVmaXggZm9yIG5hdGl2ZSBjbGFzc2VzLiBMZXQncyByZW1vdmUgaXQgdG8gbWFrZSBpdCBwcmV0dGllci5cbiAgICAgICAgICAgICAgICB2YXIgX2ZyYW1lID0gJ1xcbicgKyBzYW1wbGVMaW5lc1tzXS5yZXBsYWNlKCcgYXQgbmV3ICcsICcgYXQgJyk7IC8vIElmIG91ciBjb21wb25lbnQgZnJhbWUgaXMgbGFiZWxlZCBcIjxhbm9ueW1vdXM+XCJcbiAgICAgICAgICAgICAgICAvLyBidXQgd2UgaGF2ZSBhIHVzZXItcHJvdmlkZWQgXCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgICAgLy8gc3BsaWNlIGl0IGluIHRvIG1ha2UgdGhlIHN0YWNrIG1vcmUgcmVhZGFibGUuXG5cblxuICAgICAgICAgICAgICAgIGlmIChmbi5kaXNwbGF5TmFtZSAmJiBfZnJhbWUuaW5jbHVkZXMoJzxhbm9ueW1vdXM+JykpIHtcbiAgICAgICAgICAgICAgICAgIF9mcmFtZSA9IF9mcmFtZS5yZXBsYWNlKCc8YW5vbnltb3VzPicsIGZuLmRpc3BsYXlOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duO1xudmFyIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG5cbntcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZFJlZihjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ3JlZicpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdyZWYnKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLnJlZiAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdrZXknKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpLCBjb25maWcucmVmKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBga2V5YCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ2tleScsIHtcbiAgICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB7XG4gICAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nUmVmID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAncmVmJywge1xuICAgICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFJlYWN0IGVsZW1lbnQuIFRoaXMgbm8gbG9uZ2VyIGFkaGVyZXMgdG9cbiAqIHRoZSBjbGFzcyBwYXR0ZXJuLCBzbyBkbyBub3QgdXNlIG5ldyB0byBjYWxsIGl0LiBBbHNvLCBpbnN0YW5jZW9mIGNoZWNrXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcbiAqIGlmIHNvbWV0aGluZyBpcyBhIFJlYWN0IEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0geyp9IHByb3BzXG4gKiBAcGFyYW0geyp9IGtleVxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcbiAqIEBwYXJhbSB7Kn0gb3duZXJcbiAqIEBwYXJhbSB7Kn0gc2VsZiBBICp0ZW1wb3JhcnkqIGhlbHBlciB0byBkZXRlY3QgcGxhY2VzIHdoZXJlIGB0aGlzYCBpc1xuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxuICogY2FuIHdhcm4uIFdlIHdhbnQgdG8gZ2V0IHJpZCBvZiBvd25lciBhbmQgcmVwbGFjZSBzdHJpbmcgYHJlZmBzIHdpdGggYXJyb3dcbiAqIGZ1bmN0aW9ucywgYW5kIGFzIGxvbmcgYXMgYHRoaXNgIGFuZCBvd25lciBhcmUgdGhlIHNhbWUsIHRoZXJlIHdpbGwgYmUgbm9cbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cbiAqIEBwYXJhbSB7Kn0gc291cmNlIEFuIGFubm90YXRpb24gb2JqZWN0IChhZGRlZCBieSBhIHRyYW5zcGlsZXIgb3Igb3RoZXJ3aXNlKVxuICogaW5kaWNhdGluZyBmaWxlbmFtZSwgbGluZSBudW1iZXIsIGFuZC9vciBvdGhlciBpbmZvcm1hdGlvbi5cbiAqIEBpbnRlcm5hbFxuICovXG5cblxuZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgX3JlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpIHtcbiAgdmFyIHJlZjtcblxuICB7XG4gICAgcmVmID0gX3JlZjtcbiAgfVxuXG4gIHZhciBlbGVtZW50O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kLCBgcmVmYCBpcyBhIHJlZ3VsYXIgcHJvcGVydHkuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhXG4gICAgLy8gZnV0dXJlIHJlbGVhc2UuXG4gICAgZWxlbWVudCA9IHtcbiAgICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIHJlZjogcmVmLFxuICAgICAgcHJvcHM6IHByb3BzLFxuICAgICAgLy8gUmVjb3JkIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZWxlbWVudC5cbiAgICAgIF9vd25lcjogb3duZXJcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cbiAgICAvLyBhbiBleHRlcm5hbCBiYWNraW5nIHN0b3JlIHNvIHRoYXQgd2UgY2FuIGZyZWV6ZSB0aGUgd2hvbGUgb2JqZWN0LlxuICAgIC8vIFRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBXZWFrTWFwIG9uY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgaW5cbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICBlbGVtZW50Ll9zdG9yZSA9IHt9OyAvLyBUbyBtYWtlIGNvbXBhcmluZyBSZWFjdEVsZW1lbnRzIGVhc2llciBmb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UgbWFrZVxuICAgIC8vIHRoZSB2YWxpZGF0aW9uIGZsYWcgbm9uLWVudW1lcmFibGUgKHdoZXJlIHBvc3NpYmxlLCB3aGljaCBzaG91bGRcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xuICAgIC8vIGlnbm9yZXMgaXQuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0pOyAvLyBkZWJ1Z0luZm8gY29udGFpbnMgU2VydmVyIENvbXBvbmVudCBkZWJ1ZyBpbmZvcm1hdGlvbi5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX2RlYnVnSW5mbycsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcblxuICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQucHJvcHMpO1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbnZhciBkaWRXYXJuQWJvdXRLZXlTcHJlYWQgPSB7fTtcbi8qKlxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmZjcy9wdWxsLzEwN1xuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAqL1xuXG5mdW5jdGlvbiBqc3hERVYkMSh0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB2YWxpZCBlbGVtZW50IHR5cGUuXG4gICAgICAvLyBTa2lwIGtleSB3YXJuaW5nIGlmIHRoZSB0eXBlIGlzbid0IHZhbGlkIHNpbmNlIG91ciBrZXkgdmFsaWRhdGlvbiBsb2dpY1xuICAgICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9ycy4gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZFxuICAgICAgLy8gcHJvZC4gKFJlbmRlcmluZyB3aWxsIHRocm93IHdpdGggYSBoZWxwZnVsIG1lc3NhZ2UgYW5kIGFzIHNvb24gYXMgdGhlXG4gICAgICAvLyB0eXBlIGlzIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcbiAgICAgIHZhciBjaGlsZHJlbiA9IGNvbmZpZy5jaGlsZHJlbjtcblxuICAgICAgaWYgKGNoaWxkcmVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baV0sIHR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0LmpzeDogU3RhdGljIGNoaWxkcmVuIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkuICcgKyAnWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiAnICsgJ1VzZSB0aGUgQmFiZWwgdHJhbnNmb3JtIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gV2FybiBhYm91dCBrZXkgc3ByZWFkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHlwZSBpcyB2YWxpZC5cblxuXG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpLmZpbHRlcihmdW5jdGlvbiAoaykge1xuICAgICAgICByZXR1cm4gayAhPT0gJ2tleSc7XG4gICAgICB9KTtcbiAgICAgIHZhciBiZWZvcmVFeGFtcGxlID0ga2V5cy5sZW5ndGggPiAwID8gJ3trZXk6IHNvbWVLZXksICcgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3trZXk6IHNvbWVLZXl9JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdKSB7XG4gICAgICAgIHZhciBhZnRlckV4YW1wbGUgPSBrZXlzLmxlbmd0aCA+IDAgPyAneycgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3t9JztcblxuICAgICAgICBlcnJvcignQSBwcm9wcyBvYmplY3QgY29udGFpbmluZyBhIFwia2V5XCIgcHJvcCBpcyBiZWluZyBzcHJlYWQgaW50byBKU1g6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMgey4uLnByb3BzfSAvPlxcbicgKyAnUmVhY3Qga2V5cyBtdXN0IGJlIHBhc3NlZCBkaXJlY3RseSB0byBKU1ggd2l0aG91dCB1c2luZyBzcHJlYWQ6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JywgYmVmb3JlRXhhbXBsZSwgY29tcG9uZW50TmFtZSwgYWZ0ZXJFeGFtcGxlLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICAgIHZhciBwcm9wcyA9IHt9O1xuICAgIHZhciBrZXkgPSBudWxsO1xuICAgIHZhciByZWYgPSBudWxsOyAvLyBDdXJyZW50bHksIGtleSBjYW4gYmUgc3ByZWFkIGluIGFzIGEgcHJvcC4gVGhpcyBjYXVzZXMgYSBwb3RlbnRpYWxcbiAgICAvLyBpc3N1ZSBpZiBrZXkgaXMgYWxzbyBleHBsaWNpdGx5IGRlY2xhcmVkIChpZS4gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz5cbiAgICAvLyBvciA8ZGl2IGtleT1cIkhpXCIgey4uLnByb3BzfSAvPiApLiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBrZXkgc3ByZWFkLFxuICAgIC8vIGJ1dCBhcyBhbiBpbnRlcm1lZGlhcnkgc3RlcCwgd2Ugd2lsbCB1c2UganN4REVWIGZvciBldmVyeXRoaW5nIGV4Y2VwdFxuICAgIC8vIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+LCBiZWNhdXNlIHdlIGFyZW4ndCBjdXJyZW50bHkgYWJsZSB0byB0ZWxsIGlmXG4gICAgLy8ga2V5IGlzIGV4cGxpY2l0bHkgZGVjbGFyZWQgdG8gYmUgdW5kZWZpbmVkIG9yIG5vdC5cblxuICAgIGlmIChtYXliZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIG1heWJlS2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgfVxuXG4gICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKTtcbiAgICB9IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmIC8vIFNraXAgb3ZlciByZXNlcnZlZCBwcm9wIG5hbWVzXG4gICAgICBwcm9wTmFtZSAhPT0gJ2tleScgJiYgKHByb3BOYW1lICE9PSAncmVmJykpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgICBpZiAodHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wcykge1xuICAgICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGtleSB8fCByZWYpIHtcbiAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgJ1Vua25vd24nIDogdHlwZTtcblxuICAgICAgaWYgKGtleSkge1xuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuXG4gICAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXG4gKiBhcnJheSB3aXRoIGFuIGV4cGxpY2l0IGtleXMgcHJvcGVydHkgZGVmaW5lZCwgb3IgaW4gYW4gb2JqZWN0IGxpdGVyYWxcbiAqIHdpdGggdmFsaWQga2V5IHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdE5vZGV9IG5vZGUgU3RhdGljYWxseSBwYXNzZWQgY2hpbGQgb2YgYW55IHR5cGUuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnIHx8ICFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UpIDsgZWxzZSBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obm9kZSk7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAgIC8vIGJ1dCBub3cgd2UgcHJpbnQgYSBzZXBhcmF0ZSB3YXJuaW5nIGZvciB0aGVtIGxhdGVyLlxuICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gbm9kZS5lbnRyaWVzKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuXG4gICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFZlcmlmaWVzIHRoZSBvYmplY3QgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgb2JqZWN0YCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIEBmaW5hbFxuICovXG5cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRXhwbGljaXRLZXkoZWxlbWVudCwgcGFyZW50VHlwZSkge1xuICB7XG4gICAgaWYgKCFlbGVtZW50Ll9zdG9yZSB8fCBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgfHwgZWxlbWVudC5rZXkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gICAgLy8gcHJvcGVydHksIGl0IG1heSBiZSB0aGUgY3JlYXRvciBvZiB0aGUgY2hpbGQgdGhhdCdzIHJlc3BvbnNpYmxlIGZvclxuICAgIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cblxuICAgIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHBhcmVudFR5cGUpO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBmcmFnbWVudCwgdmFsaWRhdGUgdGhhdCBpdCBjYW4gb25seSBiZSBwcm92aWRlZCB3aXRoIGZyYWdtZW50IHByb3BzXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhmcmFnbWVudCkge1xuICAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gcmVuZGVyIHBoYXNlIGluc3RlYWQgb2YgYXQgZWxlbWVudCBjcmVhdGlvbi5cbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG52YXIganN4REVWID0ganN4REVWJDEgO1xuXG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuanN4REVWID0ganN4REVWO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSw4TEFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanM/NWRiNyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/keyboard.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Keys: function() { return /* binding */ o; }\n/* harmony export */ });\nvar o = ((r)=>(r.Space = \" \", r.Enter = \"Enter\", r.Escape = \"Escape\", r.Backspace = \"Backspace\", r.Delete = \"Delete\", r.ArrowLeft = \"ArrowLeft\", r.ArrowUp = \"ArrowUp\", r.ArrowRight = \"ArrowRight\", r.ArrowDown = \"ArrowDown\", r.Home = \"Home\", r.End = \"End\", r.PageUp = \"PageUp\", r.PageDown = \"PageDown\", r.Tab = \"Tab\", r))(o || {});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMva2V5Ym9hcmQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUlBLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsRUFBRUMsS0FBSyxHQUFDLEtBQUlELEVBQUVFLEtBQUssR0FBQyxTQUFRRixFQUFFRyxNQUFNLEdBQUMsVUFBU0gsRUFBRUksU0FBUyxHQUFDLGFBQVlKLEVBQUVLLE1BQU0sR0FBQyxVQUFTTCxFQUFFTSxTQUFTLEdBQUMsYUFBWU4sRUFBRU8sT0FBTyxHQUFDLFdBQVVQLEVBQUVRLFVBQVUsR0FBQyxjQUFhUixFQUFFUyxTQUFTLEdBQUMsYUFBWVQsRUFBRVUsSUFBSSxHQUFDLFFBQU9WLEVBQUVXLEdBQUcsR0FBQyxPQUFNWCxFQUFFWSxNQUFNLEdBQUMsVUFBU1osRUFBRWEsUUFBUSxHQUFDLFlBQVdiLEVBQUVjLEdBQUcsR0FBQyxPQUFNZCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2tleWJvYXJkLmpzPzZlNTQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIG89KHI9PihyLlNwYWNlPVwiIFwiLHIuRW50ZXI9XCJFbnRlclwiLHIuRXNjYXBlPVwiRXNjYXBlXCIsci5CYWNrc3BhY2U9XCJCYWNrc3BhY2VcIixyLkRlbGV0ZT1cIkRlbGV0ZVwiLHIuQXJyb3dMZWZ0PVwiQXJyb3dMZWZ0XCIsci5BcnJvd1VwPVwiQXJyb3dVcFwiLHIuQXJyb3dSaWdodD1cIkFycm93UmlnaHRcIixyLkFycm93RG93bj1cIkFycm93RG93blwiLHIuSG9tZT1cIkhvbWVcIixyLkVuZD1cIkVuZFwiLHIuUGFnZVVwPVwiUGFnZVVwXCIsci5QYWdlRG93bj1cIlBhZ2VEb3duXCIsci5UYWI9XCJUYWJcIixyKSkob3x8e30pO2V4cG9ydHtvIGFzIEtleXN9O1xuIl0sIm5hbWVzIjpbIm8iLCJyIiwiU3BhY2UiLCJFbnRlciIsIkVzY2FwZSIsIkJhY2tzcGFjZSIsIkRlbGV0ZSIsIkFycm93TGVmdCIsIkFycm93VXAiLCJBcnJvd1JpZ2h0IiwiQXJyb3dEb3duIiwiSG9tZSIsIkVuZCIsIlBhZ2VVcCIsIlBhZ2VEb3duIiwiVGFiIiwiS2V5cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/tabs/tabs.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Tab: function() { return /* binding */ st; },\n/* harmony export */ TabGroup: function() { return /* binding */ Oe; },\n/* harmony export */ TabList: function() { return /* binding */ Ne; },\n/* harmony export */ TabPanel: function() { return /* binding */ Be; },\n/* harmony export */ TabPanels: function() { return /* binding */ ke; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @react-aria/focus */ \"(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../hooks/use-id.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* harmony import */ var _hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../internal/focus-sentinel.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js\");\n/* harmony import */ var _internal_hidden_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../internal/hidden.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n/* harmony import */ var _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/focus-management.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_micro_task_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/micro-task.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/stable-collection.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/stable-collection.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../keyboard.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js\");\n/* __next_internal_client_entry_do_not_use__ Tab,TabGroup,TabList,TabPanel,TabPanels auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Ae = ((t)=>(t[t.Forwards = 0] = \"Forwards\", t[t.Backwards = 1] = \"Backwards\", t))(Ae || {}), Ee = ((o)=>(o[o.Less = -1] = \"Less\", o[o.Equal = 0] = \"Equal\", o[o.Greater = 1] = \"Greater\", o))(Ee || {}), Re = ((n)=>(n[n.SetSelectedIndex = 0] = \"SetSelectedIndex\", n[n.RegisterTab = 1] = \"RegisterTab\", n[n.UnregisterTab = 2] = \"UnregisterTab\", n[n.RegisterPanel = 3] = \"RegisterPanel\", n[n.UnregisterPanel = 4] = \"UnregisterPanel\", n))(Re || {});\nlet Le = {\n [0] (e, r) {\n var c;\n let t = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.tabs, (T)=>T.current), o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.panels, (T)=>T.current), a = t.filter((T)=>{\n var d;\n return !((d = T.current) != null && d.hasAttribute(\"disabled\"));\n }), n = {\n ...e,\n tabs: t,\n panels: o\n };\n if (r.index < 0 || r.index > t.length - 1) {\n let T = (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(Math.sign(r.index - e.selectedIndex), {\n [-1]: ()=>1,\n [0]: ()=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(Math.sign(r.index), {\n [-1]: ()=>0,\n [0]: ()=>0,\n [1]: ()=>1\n }),\n [1]: ()=>0\n });\n if (a.length === 0) return n;\n let d = (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(T, {\n [0]: ()=>t.indexOf(a[0]),\n [1]: ()=>t.indexOf(a[a.length - 1])\n });\n return {\n ...n,\n selectedIndex: d === -1 ? e.selectedIndex : d\n };\n }\n let u = t.slice(0, r.index), x = [\n ...t.slice(r.index),\n ...u\n ].find((T)=>a.includes(T));\n if (!x) return n;\n let f = (c = t.indexOf(x)) != null ? c : e.selectedIndex;\n return f === -1 && (f = e.selectedIndex), {\n ...n,\n selectedIndex: f\n };\n },\n [1] (e, r) {\n if (e.tabs.includes(r.tab)) return e;\n let t = e.tabs[e.selectedIndex], o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)([\n ...e.tabs,\n r.tab\n ], (n)=>n.current), a = e.selectedIndex;\n return e.info.current.isControlled || (a = o.indexOf(t), a === -1 && (a = e.selectedIndex)), {\n ...e,\n tabs: o,\n selectedIndex: a\n };\n },\n [2] (e, r) {\n return {\n ...e,\n tabs: e.tabs.filter((t)=>t !== r.tab)\n };\n },\n [3] (e, r) {\n return e.panels.includes(r.panel) ? e : {\n ...e,\n panels: (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)([\n ...e.panels,\n r.panel\n ], (t)=>t.current)\n };\n },\n [4] (e, r) {\n return {\n ...e,\n panels: e.panels.filter((t)=>t !== r.panel)\n };\n }\n}, z = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nz.displayName = \"TabsDataContext\";\nfunction C(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(z);\n if (r === null) {\n let t = new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, C), t;\n }\n return r;\n}\n_c = C;\nlet V = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nV.displayName = \"TabsActionsContext\";\nfunction Q(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(V);\n if (r === null) {\n let t = new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, Q), t;\n }\n return r;\n}\n_c1 = Q;\nfunction _e(e, r) {\n return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(r.type, Le, e, r);\n}\nlet De = \"div\";\nfunction Se(e, r) {\n let { defaultIndex: t = 0, vertical: o = !1, manual: a = !1, onChange: n, selectedIndex: u = null, ..._ } = e;\n const x = o ? \"vertical\" : \"horizontal\", f = a ? \"manual\" : \"auto\";\n let c = u !== null, T = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)({\n isControlled: c\n }), d = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), [i, s] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(_e, {\n info: T,\n selectedIndex: u != null ? u : t,\n tabs: [],\n panels: []\n }), F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: i.selectedIndex\n }), [\n i.selectedIndex\n ]), M = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(n || (()=>{})), b = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(i.tabs), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n orientation: x,\n activation: f,\n ...i\n }), [\n x,\n f,\n i\n ]), E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>(s({\n type: 1,\n tab: p\n }), ()=>s({\n type: 2,\n tab: p\n }))), I = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>(s({\n type: 3,\n panel: p\n }), ()=>s({\n type: 4,\n panel: p\n }))), g = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>{\n R.current !== p && M.current(p), c || s({\n type: 0,\n index: p\n });\n }), R = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(c ? e.selectedIndex : i.selectedIndex), J = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n registerTab: E,\n registerPanel: I,\n change: g\n }), []);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n s({\n type: 0,\n index: u != null ? u : t\n });\n }, [\n u\n ]), (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n if (R.current === void 0 || i.tabs.length <= 0) return;\n let p = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(i.tabs, (L)=>L.current);\n p.some((L, B)=>i.tabs[B] !== L) && g(p.indexOf(i.tabs[R.current]));\n });\n let k = {\n ref: d\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.StableCollection, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(V.Provider, {\n value: J\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(z.Provider, {\n value: m\n }, m.tabs.length <= 0 && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_8__.FocusSentinel, {\n onFocus: ()=>{\n var p, h;\n for (let L of b.current)if (((p = L.current) == null ? void 0 : p.tabIndex) === 0) return (h = L.current) == null || h.focus(), !0;\n return !1;\n }\n }), (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: k,\n theirProps: _,\n slot: F,\n defaultTag: De,\n name: \"Tabs\"\n }))));\n}\n_c2 = Se;\nlet Fe = \"div\";\nfunction Ie(e, r) {\n let { orientation: t, selectedIndex: o } = C(\"Tab.List\"), a = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: o\n }), [\n o\n ]);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: {\n ref: a,\n role: \"tablist\",\n \"aria-orientation\": t\n },\n theirProps: e,\n slot: n,\n defaultTag: Fe,\n name: \"Tabs.List\"\n });\n}\n_c3 = Ie;\nlet he = \"button\";\nfunction ve(e, r) {\n var Y, Z;\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: o = `headlessui-tabs-tab-${t}`, disabled: a = !1, autoFocus: n = !1, ...u } = e, { orientation: _, activation: x, selectedIndex: f, tabs: c, panels: T } = C(\"Tab\"), d = Q(\"Tab\"), i = C(\"Tab\"), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), F = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(s, r);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>d.registerTab(s), [\n d,\n s\n ]);\n let M = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.useStableCollectionIndex)(\"tabs\"), b = c.indexOf(s);\n b === -1 && (b = M);\n let m = b === f, E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n var X;\n let A = l();\n if (A === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Success && x === \"auto\") {\n let $ = (X = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_10__.getOwnerDocument)(s)) == null ? void 0 : X.activeElement, ee = i.tabs.findIndex((Te)=>Te.current === $);\n ee !== -1 && d.change(ee);\n }\n return A;\n }), I = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n let A = c.map(($)=>$.current).filter(Boolean);\n if (l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Space || l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Enter) {\n l.preventDefault(), l.stopPropagation(), d.change(b);\n return;\n }\n switch(l.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Home:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.PageUp:\n return l.preventDefault(), l.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.First));\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.End:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.PageDown:\n return l.preventDefault(), l.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Last));\n }\n if (E(()=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(_, {\n vertical () {\n return l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowUp ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowDown ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Next | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Error;\n },\n horizontal () {\n return l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowLeft ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowRight ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Next | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Error;\n }\n })) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Success) return l.preventDefault();\n }), g = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), R = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)(()=>{\n var l;\n g.current || (g.current = !0, (l = s.current) == null || l.focus({\n preventScroll: !0\n }), d.change(b), (0,_utils_micro_task_js__WEBPACK_IMPORTED_MODULE_12__.microTask)(()=>{\n g.current = !1;\n }));\n }), J = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n l.preventDefault();\n }), { isFocusVisible: k, focusProps: p } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)({\n autoFocus: n\n }), { isHovered: h, hoverProps: L } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_14__.useHover)({\n isDisabled: a\n }), { pressed: B, pressProps: ie } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_15__.useActivePress)({\n disabled: a\n }), pe = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selected: m,\n hover: h,\n active: B,\n focus: k,\n autofocus: n,\n disabled: a\n }), [\n m,\n h,\n k,\n B,\n n,\n a\n ]), ue = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.mergeProps)({\n ref: F,\n onKeyDown: I,\n onMouseDown: J,\n onClick: R,\n id: o,\n role: \"tab\",\n type: (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_16__.useResolveButtonType)(e, s),\n \"aria-controls\": (Z = (Y = T[b]) == null ? void 0 : Y.current) == null ? void 0 : Z.id,\n \"aria-selected\": m,\n tabIndex: m ? 0 : -1,\n disabled: a || void 0,\n autoFocus: n\n }, p, L, ie);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: ue,\n theirProps: u,\n slot: pe,\n defaultTag: he,\n name: \"Tabs.Tab\"\n });\n}\nlet Ce = \"div\";\nfunction Me(e, r) {\n let { selectedIndex: t } = C(\"Tab.Panels\"), o = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: t\n }), [\n t\n ]);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: {\n ref: o\n },\n theirProps: e,\n slot: a,\n defaultTag: Ce,\n name: \"Tabs.Panels\"\n });\n}\n_c4 = Me;\nlet Ge = \"div\", Ue = _utils_render_js__WEBPACK_IMPORTED_MODULE_9__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_9__.RenderFeatures.Static;\nfunction He(e, r) {\n var E, I, g, R;\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: o = `headlessui-tabs-panel-${t}`, tabIndex: a = 0, ...n } = e, { selectedIndex: u, tabs: _, panels: x } = C(\"Tab.Panel\"), f = Q(\"Tab.Panel\"), c = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), T = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(c, r);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>f.registerPanel(c), [\n f,\n c\n ]);\n let d = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.useStableCollectionIndex)(\"panels\"), i = x.indexOf(c);\n i === -1 && (i = d);\n let s = i === u, { isFocusVisible: F, focusProps: M } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)(), b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selected: s,\n focus: F\n }), [\n s,\n F\n ]), m = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.mergeProps)({\n ref: T,\n id: o,\n role: \"tabpanel\",\n \"aria-labelledby\": (I = (E = _[i]) == null ? void 0 : E.current) == null ? void 0 : I.id,\n tabIndex: s ? a : -1\n }, M);\n return !s && ((g = n.unmount) == null || g) && !((R = n.static) != null && R) ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_17__.Hidden, {\n as: \"span\",\n \"aria-hidden\": \"true\",\n ...m\n }) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: m,\n theirProps: n,\n slot: b,\n defaultTag: Ge,\n features: Ue,\n visible: s,\n name: \"Tabs.Panel\"\n });\n}\n_c5 = He;\nlet we = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(ve), Oe = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Se), Ne = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Ie), ke = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Me), Be = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(He), st = Object.assign(we, {\n Group: Oe,\n List: Ne,\n Panels: ke,\n Panel: Be\n});\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"C\");\n$RefreshReg$(_c1, \"Q\");\n$RefreshReg$(_c2, \"Se\");\n$RefreshReg$(_c3, \"Ie\");\n$RefreshReg$(_c4, \"Me\");\n$RefreshReg$(_c5, \"He\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvdGFicy90YWJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzZGQUErRDtBQUFxRDtBQUFxRztBQUFrRTtBQUFvRDtBQUErQztBQUE0RTtBQUFpRTtBQUErRTtBQUEyRDtBQUFrRTtBQUFtRDtBQUF5RztBQUE2QztBQUF1RDtBQUF5RDtBQUEyRztBQUFvRztBQUFzQztBQUFBLElBQUk2RCxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsUUFBUSxHQUFDLEVBQUUsR0FBQyxZQUFXRCxDQUFDLENBQUNBLEVBQUVFLFNBQVMsR0FBQyxFQUFFLEdBQUMsYUFBWUYsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUMsSUFBR0ksS0FBRyxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxDQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUYsQ0FBQyxDQUFDQSxFQUFFRyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVILENBQUFBLENBQUMsRUFBR0QsTUFBSSxDQUFDLElBQUdLLEtBQUcsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxnQkFBZ0IsR0FBQyxFQUFFLEdBQUMsb0JBQW1CRCxDQUFDLENBQUNBLEVBQUVFLFdBQVcsR0FBQyxFQUFFLEdBQUMsZUFBY0YsQ0FBQyxDQUFDQSxFQUFFRyxhQUFhLEdBQUMsRUFBRSxHQUFDLGlCQUFnQkgsQ0FBQyxDQUFDQSxFQUFFSSxhQUFhLEdBQUMsRUFBRSxHQUFDLGlCQUFnQkosQ0FBQyxDQUFDQSxFQUFFSyxlQUFlLEdBQUMsRUFBRSxHQUFDLG1CQUFrQkwsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUM7QUFBRyxJ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V2hGO1FBQUVpRixNQUFLM0I7UUFBRTRCLFlBQVc4RDtRQUFHUSxVQUFTUDtRQUFHUSxTQUFRdEc7UUFBRWdDLE1BQUs7SUFBWTtBQUFFO01BQWhxQmlFO0FBQWlxQixJQUFJTSxLQUFHL0ssa0VBQUNBLENBQUM2RyxLQUFJbUUsS0FBR2hMLGtFQUFDQSxDQUFDaUUsS0FBSWdILEtBQUdqTCxrRUFBQ0EsQ0FBQzBHLEtBQUl3RSxLQUFHbEwsa0VBQUNBLENBQUNvSyxLQUFJZSxLQUFHbkwsa0VBQUNBLENBQUN5SyxLQUFJVyxLQUFHQyxPQUFPQyxNQUFNLENBQUNQLElBQUc7SUFBQ1EsT0FBTVA7SUFBR1EsTUFBS1A7SUFBR1EsUUFBT1A7SUFBR1EsT0FBTVA7QUFBRTtBQUFpRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL3RhYnMvdGFicy5qcz83MzUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO2ltcG9ydHt1c2VGb2N1c1JpbmcgYXMgdGV9ZnJvbVwiQHJlYWN0LWFyaWEvZm9jdXNcIjtpbXBvcnR7dXNlSG92ZXIgYXMgZGV9ZnJvbVwiQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zXCI7aW1wb3J0IEcse2NyZWF0ZUNvbnRleHQgYXMgcmUsdXNlQ29udGV4dCBhcyBuZSx1c2VNZW1vIGFzIEQsdXNlUmVkdWNlciBhcyBjZSx1c2VSZWYgYXMgcX1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VBY3RpdmVQcmVzcyBhcyBmZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMnO2ltcG9ydHt1c2VFdmVudCBhcyBTfWZyb20nLi4vLi4vaG9va3MvdXNlLWV2ZW50LmpzJztpbXBvcnR7dXNlSWQgYXMgYWV9ZnJvbScuLi8uLi9ob29rcy91c2UtaWQuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIFd9ZnJvbScuLi8uLi9ob29rcy91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgan1mcm9tJy4uLy4uL2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMnO2ltcG9ydHt1c2VSZXNvbHZlQnV0dG9uVHlwZSBhcyBiZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzJztpbXBvcnR7dXNlU3luY1JlZnMgYXMgVX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHtGb2N1c1NlbnRpbmVsIGFzIG1lfWZyb20nLi4vLi4vaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanMnO2ltcG9ydHtIaWRkZW4gYXMgUGV9ZnJvbScuLi8uLi9pbnRlcm5hbC9oaWRkZW4uanMnO2ltcG9ydHtGb2N1cyBhcyBQLEZvY3VzUmVzdWx0IGFzIEssZm9jdXNJbiBhcyB2LHNvcnRCeURvbU5vZGUgYXMgSH1mcm9tJy4uLy4uL3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMnO2ltcG9ydHttYXRjaCBhcyB3fWZyb20nLi4vLi4vdXRpbHMvbWF0Y2guanMnO2ltcG9ydHttaWNyb1Rhc2sgYXMgeWV9ZnJvbScuLi8uLi91dGlscy9taWNyby10YXNrLmpzJztpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyB4ZX1mcm9tJy4uLy4uL3V0aWxzL293bmVyLmpzJztpbXBvcnR7UmVuZGVyRmVhdHVyZXMgYXMgb2UsZm9yd2FyZFJlZldpdGhBcyBhcyBPLG1lcmdlUHJvcHMgYXMgbGUscmVuZGVyIGFzIE59ZnJvbScuLi8uLi91dGlscy9yZW5kZXIuanMnO2ltcG9ydHtTdGFibGVDb2xsZWN0aW9uIGFzIGdlLHVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCBhcyBzZX1mcm9tJy4uLy4uL3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzJztpbXBvcnR7S2V5cyBhcyB5fWZyb20nLi4va2V5Ym9hcmQuanMnO3ZhciBBZT0odD0+KHRbdC5Gb3J3YXJkcz0wXT1cIkZvcndhcmRzXCIsdFt0LkJhY2t3YXJkcz0xXT1cIkJhY2t3YXJkc1wiLHQpKShBZXx8e30pLEVlPShvPT4ob1tvLkxlc3M9LTFdPVwiTGVzc1wiLG9bby5FcXVhbD0wXT1cIkVxdWFsXCIsb1tvLkdyZWF0ZXI9MV09XCJHcmVhdGVyXCIsbykpKEVlfHx7fSksUmU9KG49PihuW24uU2V0U2VsZWN0ZWRJbmRleD0wXT1cIlNldFNlbGVjdGVkSW5kZXhcIixuW24uUmVnaXN0ZXJUYWI9MV09XCJSZWdpc3RlclRhYlwiLG5bbi5VbnJlZ2lzdGVyVGFiPTJdPVwiVW5yZWdpc3RlclRhYlwiLG5bbi5SZWdpc3RlclBhbmVsPTNdPVwiUmVnaXN0ZXJQYW5lbFwiLG5bbi5VbnJlZ2lzdGVyUGFuZWw9NF09XCJVbnJlZ2lzdGVyUGFuZWxcIixuKSkoUmV8fHt9KTtsZXQgTGU9e1swXShlLHIpe3ZhciBjO2xldCB0PUgoZS50YWJzLFQ9PlQuY3VycmVudCksbz1IKGUucGFuZWxzLFQ9PlQuY3VycmVudCksYT10LmZpbHRlcihUPT57dmFyIGQ7cmV0dXJuISgoZD1ULmN1cnJlbnQpIT1udWxsJiZkLmhhc0F0dHJpYnV0ZShcImRpc2FibGVkXCIpKX0pLG49ey4uLmUsdGFiczp0LHBhbmVsczpvfTtpZihyLmluZGV4PDB8fHIuaW5kZXg+dC5sZW5ndGgtMSl7bGV0IFQ9dyhNYXRoLnNpZ24oci5pbmRleC1lLnNlbGVjdGVkSW5kZXgpLHtbLTFdOigpPT4xLFswXTooKT0+dyhNYXRoLnNpZ24oci5pbmRleCkse1stMV06KCk9PjAsWzBdOigpPT4wLFsxXTooKT0+MX0pLFsxXTooKT0+MH0pO2lmKGEubGVuZ3RoPT09MClyZXR1cm4gbjtsZXQgZD13KFQse1swXTooKT0+dC5pbmRleE9mKGFbMF0pLFsxXTooKT0+dC5pbmRleE9mKGFbYS5sZW5ndGgtMV0pfSk7cmV0dXJuey4uLm4sc2VsZWN0ZWRJbmRleDpkPT09LTE/ZS5zZWxlY3RlZEluZGV4OmR9fWxldCB1PXQuc2xpY2UoMCxyLmluZGV4KSx4PVsuLi50LnNsaWNlKHIuaW5kZXgpLC4uLnVdLmZpbmQoVD0+YS5pbmNsdWRlcyhUKSk7aWYoIXgpcmV0dXJuIG47bGV0IGY9KGM9dC5pbmRleE9mKHgpKSE9bnVsbD9jOmUuc2VsZWN0ZWRJbmRleDtyZXR1cm4gZj09PS0xJiYoZj1lLnNlbGVjdGVkSW5kZXgpLHsuLi5uLHNlbGVjdGVkSW5kZXg6Zn19LFsxXShlLHIpe2lmKGUudGFicy5pbmNsdWRlcyhyLnRhYikpcmV0dXJuIGU7bGV0IHQ9ZS50YWJzW2Uuc2VsZWN0ZWRJbmRleF0sbz1IKFsuLi5lLnRhYnMsci50YWJdLG49Pm4uY3VycmVudCksYT1lLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGUuaW5mby5jdXJyZW50LmlzQ29udHJvbGxlZHx8KGE9by5pbmRleE9mKHQpLGE9PT0tMSYmKGE9ZS5zZWxlY3RlZEluZGV4KSksey4uLmUsdGFiczpvLHNlbGVjdGVkSW5kZXg6YX19LFsyXShlLHIpe3JldHVybnsuLi5lLHRhYnM6ZS50YWJzLmZpbHRlcih0PT50IT09ci50YWIpfX0sWzNdKGUscil7cmV0dXJuIGUucGFuZWxzLmluY2x1ZGVzKHIucGFuZWwpP2U6ey4uLmUscGFuZWxzOkgoWy4uLmUucGFuZWxzLHIucGFuZWxdLHQ9PnQuY3VycmVudCl9fSxbNF0oZSxyKXtyZXR1cm57Li4uZSxwYW5lbHM6ZS5wYW5lbHMuZmlsdGVyKHQ9PnQhPT1yLnBhbmVsKX19fSx6PXJlKG51bGwpO3ouZGlzcGxheU5hbWU9XCJUYWJzRGF0YUNvbnRleHRcIjtmdW5jdGlvbiBDKGUpe2xldCByPW5lKHopO2lmKHI9PT1udWxsKXtsZXQgdD1uZXcgRXJyb3IoYDwke2V9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPFRhYi5Hcm91cCAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHQsQyksdH1yZXR1cm4gcn1sZXQgVj1yZShudWxsKTtWLmRpc3BsYXlOYW1lPVwiVGFic0FjdGlvbnNDb250ZXh0XCI7ZnVuY3Rpb24gUShlKXtsZXQgcj1uZShWKTtpZihyPT09bnVsbCl7bGV0IHQ9bmV3IEVycm9yKGA8JHtlfSAvPiBpcyBtaXNzaW5nIGEgcGFyZW50IDxUYWIuR3JvdXAgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0LFEpLHR9cmV0dXJuIHJ9ZnVuY3Rpb24gX2UoZSxyKXtyZXR1cm4gdyhyLnR5cGUsTGUsZSxyKX1sZXQgRGU9XCJkaXZcIjtmdW5jdGlvbiBTZShlLHIpe2xldHtkZWZhdWx0SW5kZXg6dD0wLHZlcnRpY2FsOm89ITEsbWFudWFsOmE9ITEsb25DaGFuZ2U6bixzZWxlY3RlZEluZGV4OnU9bnVsbCwuLi5ffT1lO2NvbnN0IHg9bz9cInZlcnRpY2FsXCI6XCJob3Jpem9udGFsXCIsZj1hP1wibWFudWFsXCI6XCJhdXRvXCI7bGV0IGM9dSE9PW51bGwsVD1qKHtpc0NvbnRyb2xsZWQ6Y30pLGQ9VShyKSxbaSxzXT1jZShfZSx7aW5mbzpULHNlbGVjdGVkSW5kZXg6dSE9bnVsbD91OnQsdGFiczpbXSxwYW5lbHM6W119KSxGPUQoKCk9Pih7c2VsZWN0ZWRJbmRleDppLnNlbGVjdGVkSW5kZXh9KSxbaS5zZWxlY3RlZEluZGV4XSksTT1qKG58fCgoKT0+e30pKSxiPWooaS50YWJzKSxtPUQoKCk9Pih7b3JpZW50YXRpb246eCxhY3RpdmF0aW9uOmYsLi4uaX0pLFt4LGYsaV0pLEU9UyhwPT4ocyh7dHlwZToxLHRhYjpwfSksKCk9PnMoe3R5cGU6Mix0YWI6cH0pKSksST1TKHA9PihzKHt0eXBlOjMscGFuZWw6cH0pLCgpPT5zKHt0eXBlOjQscGFuZWw6cH0pKSksZz1TKHA9PntSLmN1cnJlbnQhPT1wJiZNLmN1cnJlbnQocCksY3x8cyh7dHlwZTowLGluZGV4OnB9KX0pLFI9aihjP2Uuc2VsZWN0ZWRJbmRleDppLnNlbGVjdGVkSW5kZXgpLEo9RCgoKT0+KHtyZWdpc3RlclRhYjpFLHJlZ2lzdGVyUGFuZWw6SSxjaGFuZ2U6Z30pLFtdKTtXKCgpPT57cyh7dHlwZTowLGluZGV4OnUhPW51bGw/dTp0fSl9LFt1XSksVygoKT0+e2lmKFIuY3VycmVudD09PXZvaWQgMHx8aS50YWJzLmxlbmd0aDw9MClyZXR1cm47bGV0IHA9SChpLnRhYnMsTD0+TC5jdXJyZW50KTtwLnNvbWUoKEwsQik9PmkudGFic1tCXSE9PUwpJiZnKHAuaW5kZXhPZihpLnRhYnNbUi5jdXJyZW50XSkpfSk7bGV0IGs9e3JlZjpkfTtyZXR1cm4gRy5jcmVhdGVFbGVtZW50KGdlLG51bGwsRy5jcmVhdGVFbGVtZW50KFYuUHJvdmlkZXIse3ZhbHVlOkp9LEcuY3JlYXRlRWxlbWVudCh6LlByb3ZpZGVyLHt2YWx1ZTptfSxtLnRhYnMubGVuZ3RoPD0wJiZHLmNyZWF0ZUVsZW1lbnQobWUse29uRm9jdXM6KCk9Pnt2YXIgcCxoO2ZvcihsZXQgTCBvZiBiLmN1cnJlbnQpaWYoKChwPUwuY3VycmVudCk9PW51bGw/dm9pZCAwOnAudGFiSW5kZXgpPT09MClyZXR1cm4oaD1MLmN1cnJlbnQpPT1udWxsfHxoLmZvY3VzKCksITA7cmV0dXJuITF9fSksTih7b3VyUHJvcHM6ayx0aGVpclByb3BzOl8sc2xvdDpGLGRlZmF1bHRUYWc6RGUsbmFtZTpcIlRhYnNcIn0pKSkpfWxldCBGZT1cImRpdlwiO2Z1bmN0aW9uIEllKGUscil7bGV0e29yaWVudGF0aW9uOnQsc2VsZWN0ZWRJbmRleDpvfT1DKFwiVGFiLkxpc3RcIiksYT1VKHIpLG49RCgoKT0+KHtzZWxlY3RlZEluZGV4Om99KSxbb10pO3JldHVybiBOKHtvdXJQcm9wczp7cmVmOmEscm9sZTpcInRhYmxpc3RcIixcImFyaWEtb3JpZW50YXRpb25cIjp0fSx0aGVpclByb3BzOmUsc2xvdDpuLGRlZmF1bHRUYWc6RmUsbmFtZTpcIlRhYnMuTGlzdFwifSl9bGV0IGhlPVwiYnV0dG9uXCI7ZnVuY3Rpb24gdmUoZSxyKXt2YXIgWSxaO2xldCB0PWFlKCkse2lkOm89YGhlYWRsZXNzdWktdGFicy10YWItJHt0fWAsZGlzYWJsZWQ6YT0hMSxhdXRvRm9jdXM6bj0hMSwuLi51fT1lLHtvcmllbnRhdGlvbjpfLGFjdGl2YXRpb246eCxzZWxlY3RlZEluZGV4OmYsdGFiczpjLHBhbmVsczpUfT1DKFwiVGFiXCIpLGQ9UShcIlRhYlwiKSxpPUMoXCJUYWJcIikscz1xKG51bGwpLEY9VShzLHIpO1coKCk9PmQucmVnaXN0ZXJUYWIocyksW2Qsc10pO2xldCBNPXNlKFwidGFic1wiKSxiPWMuaW5kZXhPZihzKTtiPT09LTEmJihiPU0pO2xldCBtPWI9PT1mLEU9UyhsPT57dmFyIFg7bGV0IEE9bCgpO2lmKEE9PT1LLlN1Y2Nlc3MmJng9PT1cImF1dG9cIil7bGV0ICQ9KFg9eGUocykpPT1udWxsP3ZvaWQgMDpYLmFjdGl2ZUVsZW1lbnQsZWU9aS50YWJzLmZpbmRJbmRleChUZT0+VGUuY3VycmVudD09PSQpO2VlIT09LTEmJmQuY2hhbmdlKGVlKX1yZXR1cm4gQX0pLEk9UyhsPT57bGV0IEE9Yy5tYXAoJD0+JC5jdXJyZW50KS5maWx0ZXIoQm9vbGVhbik7aWYobC5rZXk9PT15LlNwYWNlfHxsLmtleT09PXkuRW50ZXIpe2wucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLGQuY2hhbmdlKGIpO3JldHVybn1zd2l0Y2gobC5rZXkpe2Nhc2UgeS5Ib21lOmNhc2UgeS5QYWdlVXA6cmV0dXJuIGwucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLEUoKCk9PnYoQSxQLkZpcnN0KSk7Y2FzZSB5LkVuZDpjYXNlIHkuUGFnZURvd246cmV0dXJuIGwucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLEUoKCk9PnYoQSxQLkxhc3QpKX1pZihFKCgpPT53KF8se3ZlcnRpY2FsKCl7cmV0dXJuIGwua2V5PT09eS5BcnJvd1VwP3YoQSxQLlByZXZpb3VzfFAuV3JhcEFyb3VuZCk6bC5rZXk9PT15LkFycm93RG93bj92KEEsUC5OZXh0fFAuV3JhcEFyb3VuZCk6Sy5FcnJvcn0saG9yaXpvbnRhbCgpe3JldHVybiBsLmtleT09PXkuQXJyb3dMZWZ0P3YoQSxQLlByZXZpb3VzfFAuV3JhcEFyb3VuZCk6bC5rZXk9PT15LkFycm93UmlnaHQ/dihBLFAuTmV4dHxQLldyYXBBcm91bmQpOksuRXJyb3J9fSkpPT09Sy5TdWNjZXNzKXJldHVybiBsLnByZXZlbnREZWZhdWx0KCl9KSxnPXEoITEpLFI9UygoKT0+e3ZhciBsO2cuY3VycmVudHx8KGcuY3VycmVudD0hMCwobD1zLmN1cnJlbnQpPT1udWxsfHxsLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksZC5jaGFuZ2UoYikseWUoKCk9PntnLmN1cnJlbnQ9ITF9KSl9KSxKPVMobD0+e2wucHJldmVudERlZmF1bHQoKX0pLHtpc0ZvY3VzVmlzaWJsZTprLGZvY3VzUHJvcHM6cH09dGUoe2F1dG9Gb2N1czpufSkse2lzSG92ZXJlZDpoLGhvdmVyUHJvcHM6TH09ZGUoe2lzRGlzYWJsZWQ6YX0pLHtwcmVzc2VkOkIscHJlc3NQcm9wczppZX09ZmUoe2Rpc2FibGVkOmF9KSxwZT1EKCgpPT4oe3NlbGVjdGVkOm0saG92ZXI6aCxhY3RpdmU6Qixmb2N1czprLGF1dG9mb2N1czpuLGRpc2FibGVkOmF9KSxbbSxoLGssQixuLGFdKSx1ZT1sZSh7cmVmOkYsb25LZXlEb3duOkksb25Nb3VzZURvd246SixvbkNsaWNrOlIsaWQ6byxyb2xlOlwidGFiXCIsdHlwZTpiZShlLHMpLFwiYXJpYS1jb250cm9sc1wiOihaPShZPVRbYl0pPT1udWxsP3ZvaWQgMDpZLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpaLmlkLFwiYXJpYS1zZWxlY3RlZFwiOm0sdGFiSW5kZXg6bT8wOi0xLGRpc2FibGVkOmF8fHZvaWQgMCxhdXRvRm9jdXM6bn0scCxMLGllKTtyZXR1cm4gTih7b3VyUHJvcHM6dWUsdGhlaXJQcm9wczp1LHNsb3Q6cGUsZGVmYXVsdFRhZzpoZSxuYW1lOlwiVGFicy5UYWJcIn0pfWxldCBDZT1cImRpdlwiO2Z1bmN0aW9uIE1lKGUscil7bGV0e3NlbGVjdGVkSW5kZXg6dH09QyhcIlRhYi5QYW5lbHNcIiksbz1VKHIpLGE9RCgoKT0+KHtzZWxlY3RlZEluZGV4OnR9KSxbdF0pO3JldHVybiBOKHtvdXJQcm9wczp7cmVmOm99LHRoZWlyUHJvcHM6ZSxzbG90OmEsZGVmYXVsdFRhZzpDZSxuYW1lOlwiVGFicy5QYW5lbHNcIn0pfWxldCBHZT1cImRpdlwiLFVlPW9lLlJlbmRlclN0cmF0ZWd5fG9lLlN0YXRpYztmdW5jdGlvbiBIZShlLHIpe3ZhciBFLEksZyxSO2xldCB0PWFlKCkse2lkOm89YGhlYWRsZXNzdWktdGFicy1wYW5lbC0ke3R9YCx0YWJJbmRleDphPTAsLi4ubn09ZSx7c2VsZWN0ZWRJbmRleDp1LHRhYnM6XyxwYW5lbHM6eH09QyhcIlRhYi5QYW5lbFwiKSxmPVEoXCJUYWIuUGFuZWxcIiksYz1xKG51bGwpLFQ9VShjLHIpO1coKCk9PmYucmVnaXN0ZXJQYW5lbChjKSxbZixjXSk7bGV0IGQ9c2UoXCJwYW5lbHNcIiksaT14LmluZGV4T2YoYyk7aT09PS0xJiYoaT1kKTtsZXQgcz1pPT09dSx7aXNGb2N1c1Zpc2libGU6Rixmb2N1c1Byb3BzOk19PXRlKCksYj1EKCgpPT4oe3NlbGVjdGVkOnMsZm9jdXM6Rn0pLFtzLEZdKSxtPWxlKHtyZWY6VCxpZDpvLHJvbGU6XCJ0YWJwYW5lbFwiLFwiYXJpYS1sYWJlbGxlZGJ5XCI6KEk9KEU9X1tpXSk9PW51bGw/dm9pZCAwOkUuY3VycmVudCk9PW51bGw/dm9pZCAwOkkuaWQsdGFiSW5kZXg6cz9hOi0xfSxNKTtyZXR1cm4hcyYmKChnPW4udW5tb3VudCk9PW51bGx8fGcpJiYhKChSPW4uc3RhdGljKSE9bnVsbCYmUik/Ry5jcmVhdGVFbGVtZW50KFBlLHthczpcInNwYW5cIixcImFyaWEtaGlkZGVuXCI6XCJ0cnVlXCIsLi4ubX0pOk4oe291clByb3BzOm0sdGhlaXJQcm9wczpuLHNsb3Q6YixkZWZhdWx0VGFnOkdlLGZlYXR1cmVzOlVlLHZpc2libGU6cyxuYW1lOlwiVGFicy5QYW5lbFwifSl9bGV0IHdlPU8odmUpLE9lPU8oU2UpLE5lPU8oSWUpLGtlPU8oTWUpLEJlPU8oSGUpLHN0PU9iamVjdC5hc3NpZ24od2Use0dyb3VwOk9lLExpc3Q6TmUsUGFuZWxzOmtlLFBhbmVsOkJlfSk7ZXhwb3J0e3N0IGFzIFRhYixPZSBhcyBUYWJHcm91cCxOZSBhcyBUYWJMaXN0LEJlIGFzIFRhYlBhbmVsLGtlIGFzIFRhYlBhbmVsc307XG4iXSwibmFtZXMiOlsidXNlRm9jdXNSaW5nIiwidGUiLCJ1c2VIb3ZlciIsImRlIiwiRyIsImNyZWF0ZUNvbnRleHQiLCJyZSIsInVzZUNvbnRleHQiLCJuZSIsInVzZU1lbW8iLCJEIiwidXNlUmVkdWNlciIsImNlIiwidXNlUmVmIiwicSIsInVzZUFjdGl2ZVByZXNzIiwiZmUiLCJ1c2VFdmVudCIsIlMiLCJ1c2VJZCIsImFlIiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsIlciLCJ1c2VMYXRlc3RWYWx1ZSIsImoiLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSIsImJlIiwidXNlU3luY1JlZnMiLCJVIiwiRm9jdXNTZW50aW5lbCIsIm1lIiwiSGlkZGVuIiwiUGUiLCJGb2N1cyIsIlAiLCJGb2N1c1Jlc3VsdCIsIksiLCJmb2N1c0luIiwidiIsInNvcnRCeURvbU5vZGUiLCJIIiwibWF0Y2giLCJ3IiwibWljcm9UYXNrIiwieWUiLCJnZXRPd25lckRvY3VtZW50IiwieGUiLCJSZW5kZXJGZWF0dXJlcyIsIm9lIiwiZm9yd2FyZFJlZldpdGhBcyIsIk8iLCJtZXJnZVByb3BzIiwibGUiLCJyZW5kZXIiLCJOIiwiU3RhYmxlQ29sbGVjdGlvbiIsImdlIiwidXNlU3RhYmxlQ29sbGVjdGlvbkluZGV4Iiwic2UiLCJLZXlzIiwieSIsIkFlIiwidCIsIkZvcndhcmRzIiwiQmFja3dhcmRzIiwiRWUiLCJvIiwiTGVzcyIsIkVxdWFsIiwiR3JlYXRlciIsIlJlIiwibiIsIlNldFNlbGVjdGVkSW5kZXgiLCJSZWdpc3RlclRhYiIsIlVucmVnaXN0ZXJUYWIiLCJSZWdpc3RlclBhbmVsIiwiVW5yZWdpc3RlclBhbmVsIiwiTGUiLCJlIiwiciIsImMiLCJ0YWJzIiwiVCIsImN1cnJlbnQiLCJwYW5lbHMiLCJhIiwiZmlsdGVyIiwiZCIsImhhc0F0dHJpYnV0ZSIsImluZGV4IiwibGVuZ3RoIiwiTWF0aCIsInNpZ24iLCJzZWxlY3RlZEluZGV4IiwiaW5kZXhPZiIsInUiLCJzbGljZSIsIngiLCJmaW5kIiwiaW5jbHVkZXMiLCJmIiwidGFiIiwiaW5mbyIsImlzQ29udHJvbGxlZCIsInBhbmVsIiwieiIsImRpc3BsYXlOYW1lIiwiQyIsIkVycm9yIiwiY2FwdHVyZVN0YWNrVHJhY2UiLCJWIiwiUSIsIl9lIiwidHlwZSIsIkRlIiwiU2UiLCJkZWZhdWx0SW5kZXgiLCJ2ZXJ0aWNhbCIsIm1hbnVhbCIsIm9uQ2hhbmdlIiwiXyIsImkiLCJzIiwiRiIsIk0iLCJiIiwibSIsIm9yaWVudGF0aW9uIiwiYWN0aXZhdGlvbiIsIkUiLCJwIiwiSSIsImciLCJSIiwiSiIsInJlZ2lzdGVyVGFiIiwicmVnaXN0ZXJQYW5lbCIsImNoYW5nZSIsIkwiLCJzb21lIiwiQiIsImsiLCJyZWYiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIm9uRm9jdXMiLCJoIiwidGFiSW5kZXgiLCJmb2N1cyIsIm91clByb3BzIiwidGhlaXJQcm9wcyIsInNsb3QiLCJkZWZhdWx0VGFnIiwibmFtZSIsIkZlIiwiSWUiLCJyb2xlIiwiaGUiLCJ2ZSIsIlkiLCJaIiwiaWQiLCJkaXNhYmxlZCIsImF1dG9Gb2N1cyIsImwiLCJYIiwiQSIsIlN1Y2Nlc3MiLCIkIiwiYWN0aXZlRWxlbWVudCIsImVlIiwiZmluZEluZGV4IiwiVGUiLCJtYXAiLCJCb29sZWFuIiwia2V5IiwiU3BhY2UiLCJFbnRlciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiSG9tZSIsIlBhZ2VVcCIsIkZpcnN0IiwiRW5kIiwiUGFnZURvd24iLCJMYXN0IiwiQXJyb3dVcCIsIlByZXZpb3VzIiwiV3JhcEFyb3VuZCIsIkFycm93RG93biIsIk5leHQiLCJob3Jpem9udGFsIiwiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsInByZXZlbnRTY3JvbGwiLCJpc0ZvY3VzVmlzaWJsZSIsImZvY3VzUHJvcHMiLCJpc0hvdmVyZWQiLCJob3ZlclByb3BzIiwiaXNEaXNhYmxlZCIsInByZXNzZWQiLCJwcmVzc1Byb3BzIiwiaWUiLCJwZSIsInNlbGVjdGVkIiwiaG92ZXIiLCJhY3RpdmUiLCJhdXRvZm9jdXMiLCJ1ZSIsIm9uS2V5RG93biIsIm9uTW91c2VEb3duIiwib25DbGljayIsIkNlIiwiTWUiLCJHZSIsIlVlIiwiUmVuZGVyU3RyYXRlZ3kiLCJTdGF0aWMiLCJIZSIsInVubW91bnQiLCJzdGF0aWMiLCJhcyIsImZlYXR1cmVzIiwidmlzaWJsZSIsIndlIiwiT2UiLCJOZSIsImtlIiwiQmUiLCJzdCIsIk9iamVjdCIsImFzc2lnbiIsIkdyb3VwIiwiTGlzdCIsIlBhbmVscyIsIlBhbmVsIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-active-press.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useActivePress: function() { return /* binding */ w; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _use_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\n\n\nfunction E(e) {\n let t = e.width / 2, n = e.height / 2;\n return {\n top: e.clientY - n,\n right: e.clientX + t,\n bottom: e.clientY + n,\n left: e.clientX - t\n };\n}\n_c = E;\nfunction P(e, t) {\n return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);\n}\n_c1 = P;\nfunction w() {\n let { disabled: e = !1 } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), [n, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1), r = (0,_use_disposables_js__WEBPACK_IMPORTED_MODULE_1__.useDisposables)(), o = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)(()=>{\n t.current = null, l(!1), r.dispose();\n }), f = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)((s)=>{\n if (r.dispose(), t.current === null) {\n t.current = s.currentTarget, l(!0);\n {\n let i = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(s.currentTarget);\n r.addEventListener(i, \"pointerup\", o, !1), r.addEventListener(i, \"pointermove\", (c)=>{\n if (t.current) {\n let p = E(c);\n l(P(p, t.current.getBoundingClientRect()));\n }\n }, !1), r.addEventListener(i, \"pointercancel\", o, !1);\n }\n }\n });\n return {\n pressed: n,\n pressProps: e ? {} : {\n onPointerDown: f,\n onPointerUp: o,\n onClick: o\n }\n };\n}\n\nvar _c, _c1;\n$RefreshReg$(_c, \"E\");\n$RefreshReg$(_c1, \"P\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNkM7QUFBcUQ7QUFBc0Q7QUFBMEM7QUFBQSxTQUFTVSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRUUsS0FBSyxHQUFDLEdBQUVDLElBQUVILEVBQUVJLE1BQU0sR0FBQztJQUFFLE9BQU07UUFBQ0MsS0FBSUwsRUFBRU0sT0FBTyxHQUFDSDtRQUFFSSxPQUFNUCxFQUFFUSxPQUFPLEdBQUNQO1FBQUVRLFFBQU9ULEVBQUVNLE9BQU8sR0FBQ0g7UUFBRU8sTUFBS1YsRUFBRVEsT0FBTyxHQUFDUDtJQUFDO0FBQUM7S0FBL0dGO0FBQWdILFNBQVNZLEVBQUVYLENBQUMsRUFBQ0MsQ0FBQztJQUFFLE9BQU0sQ0FBRSxFQUFDRCxLQUFHLENBQUNDLEtBQUdELEVBQUVPLEtBQUssR0FBQ04sRUFBRVMsSUFBSSxJQUFFVixFQUFFVSxJQUFJLEdBQUNULEVBQUVNLEtBQUssSUFBRVAsRUFBRVMsTUFBTSxHQUFDUixFQUFFSSxHQUFHLElBQUVMLEVBQUVLLEdBQUcsR0FBQ0osRUFBRVEsTUFBTTtBQUFDO01BQXRGRTtBQUF1RixTQUFTQztRQUFFLEVBQUNDLFVBQVNiLElBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBZixpRUFBZ0IsQ0FBQztJQUFHLElBQUlDLElBQUVYLDZDQUFDQSxDQUFDLE9BQU0sQ0FBQ2EsR0FBRVcsRUFBRSxHQUFDdEIsK0NBQUNBLENBQUMsQ0FBQyxJQUFHdUIsSUFBRW5CLG1FQUFDQSxJQUFHb0IsSUFBRWxCLHVEQUFDQSxDQUFDO1FBQUtHLEVBQUVnQixPQUFPLEdBQUMsTUFBS0gsRUFBRSxDQUFDLElBQUdDLEVBQUVHLE9BQU87SUFBRSxJQUFHQyxJQUFFckIsdURBQUNBLENBQUNzQixDQUFBQTtRQUFJLElBQUdMLEVBQUVHLE9BQU8sSUFBR2pCLEVBQUVnQixPQUFPLEtBQUcsTUFBSztZQUFDaEIsRUFBRWdCLE9BQU8sR0FBQ0csRUFBRUMsYUFBYSxFQUFDUCxFQUFFLENBQUM7WUFBRztnQkFBQyxJQUFJUSxJQUFFNUIsaUVBQUNBLENBQUMwQixFQUFFQyxhQUFhO2dCQUFFTixFQUFFUSxnQkFBZ0IsQ0FBQ0QsR0FBRSxhQUFZTixHQUFFLENBQUMsSUFBR0QsRUFBRVEsZ0JBQWdCLENBQUNELEdBQUUsZUFBY0UsQ0FBQUE7b0JBQUksSUFBR3ZCLEVBQUVnQixPQUFPLEVBQUM7d0JBQUMsSUFBSVEsSUFBRTFCLEVBQUV5Qjt3QkFBR1YsRUFBRUgsRUFBRWMsR0FBRXhCLEVBQUVnQixPQUFPLENBQUNTLHFCQUFxQjtvQkFBSTtnQkFBQyxHQUFFLENBQUMsSUFBR1gsRUFBRVEsZ0JBQWdCLENBQUNELEdBQUUsaUJBQWdCTixHQUFFLENBQUM7WUFBRTtRQUFDO0lBQUM7SUFBRyxPQUFNO1FBQUNXLFNBQVF4QjtRQUFFeUIsWUFBVzVCLElBQUUsQ0FBQyxJQUFFO1lBQUM2QixlQUFjVjtZQUFFVyxhQUFZZDtZQUFFZSxTQUFRZjtRQUFDO0lBQUM7QUFBQztBQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtYWN0aXZlLXByZXNzLmpzP2VlZGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyBhLHVzZVN0YXRlIGFzIG19ZnJvbVwicmVhY3RcIjtpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBkfWZyb20nLi4vdXRpbHMvb3duZXIuanMnO2ltcG9ydHt1c2VEaXNwb3NhYmxlcyBhcyBnfWZyb20nLi91c2UtZGlzcG9zYWJsZXMuanMnO2ltcG9ydHt1c2VFdmVudCBhcyB1fWZyb20nLi91c2UtZXZlbnQuanMnO2Z1bmN0aW9uIEUoZSl7bGV0IHQ9ZS53aWR0aC8yLG49ZS5oZWlnaHQvMjtyZXR1cm57dG9wOmUuY2xpZW50WS1uLHJpZ2h0OmUuY2xpZW50WCt0LGJvdHRvbTplLmNsaWVudFkrbixsZWZ0OmUuY2xpZW50WC10fX1mdW5jdGlvbiBQKGUsdCl7cmV0dXJuISghZXx8IXR8fGUucmlnaHQ8dC5sZWZ0fHxlLmxlZnQ+dC5yaWdodHx8ZS5ib3R0b208dC50b3B8fGUudG9wPnQuYm90dG9tKX1mdW5jdGlvbiB3KHtkaXNhYmxlZDplPSExfT17fSl7bGV0IHQ9YShudWxsKSxbbixsXT1tKCExKSxyPWcoKSxvPXUoKCk9Pnt0LmN1cnJlbnQ9bnVsbCxsKCExKSxyLmRpc3Bvc2UoKX0pLGY9dShzPT57aWYoci5kaXNwb3NlKCksdC5jdXJyZW50PT09bnVsbCl7dC5jdXJyZW50PXMuY3VycmVudFRhcmdldCxsKCEwKTt7bGV0IGk9ZChzLmN1cnJlbnRUYXJnZXQpO3IuYWRkRXZlbnRMaXN0ZW5lcihpLFwicG9pbnRlcnVwXCIsbywhMSksci5hZGRFdmVudExpc3RlbmVyKGksXCJwb2ludGVybW92ZVwiLGM9PntpZih0LmN1cnJlbnQpe2xldCBwPUUoYyk7bChQKHAsdC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSl9fSwhMSksci5hZGRFdmVudExpc3RlbmVyKGksXCJwb2ludGVyY2FuY2VsXCIsbywhMSl9fX0pO3JldHVybntwcmVzc2VkOm4scHJlc3NQcm9wczplP3t9OntvblBvaW50ZXJEb3duOmYsb25Qb2ludGVyVXA6byxvbkNsaWNrOm99fX1leHBvcnR7dyBhcyB1c2VBY3RpdmVQcmVzc307XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiYSIsInVzZVN0YXRlIiwibSIsImdldE93bmVyRG9jdW1lbnQiLCJkIiwidXNlRGlzcG9zYWJsZXMiLCJnIiwidXNlRXZlbnQiLCJ1IiwiRSIsImUiLCJ0Iiwid2lkdGgiLCJuIiwiaGVpZ2h0IiwidG9wIiwiY2xpZW50WSIsInJpZ2h0IiwiY2xpZW50WCIsImJvdHRvbSIsImxlZnQiLCJQIiwidyIsImRpc2FibGVkIiwibCIsInIiLCJvIiwiY3VycmVudCIsImRpc3Bvc2UiLCJmIiwicyIsImN1cnJlbnRUYXJnZXQiLCJpIiwiYWRkRXZlbnRMaXN0ZW5lciIsImMiLCJwIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicHJlc3NlZCIsInByZXNzUHJvcHMiLCJvblBvaW50ZXJEb3duIiwib25Qb2ludGVyVXAiLCJvbkNsaWNrIiwidXNlQWN0aXZlUHJlc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-disposables.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useDisposables: function() { return /* binding */ p; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n\n\nfunction p() {\n let [e] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__.disposables);\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>()=>e.dispose(), [\n e\n ]), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBZ0Q7QUFBc0Q7QUFBQSxTQUFTTTtJQUFJLElBQUcsQ0FBQ0MsRUFBRSxHQUFDSiwrQ0FBQ0EsQ0FBQ0UsOERBQUNBO0lBQUUsT0FBT0osZ0RBQUNBLENBQUMsSUFBSSxJQUFJTSxFQUFFQyxPQUFPLElBQUc7UUFBQ0Q7S0FBRSxHQUFFQTtBQUFDO0FBQTZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcz82YzZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgcyx1c2VTdGF0ZSBhcyBvfWZyb21cInJlYWN0XCI7aW1wb3J0e2Rpc3Bvc2FibGVzIGFzIHR9ZnJvbScuLi91dGlscy9kaXNwb3NhYmxlcy5qcyc7ZnVuY3Rpb24gcCgpe2xldFtlXT1vKHQpO3JldHVybiBzKCgpPT4oKT0+ZS5kaXNwb3NlKCksW2VdKSxlfWV4cG9ydHtwIGFzIHVzZURpc3Bvc2FibGVzfTtcbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJzIiwidXNlU3RhdGUiLCJvIiwiZGlzcG9zYWJsZXMiLCJ0IiwicCIsImUiLCJkaXNwb3NlIiwidXNlRGlzcG9zYWJsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js": -/*!****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-event.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEvent: function() { return /* binding */ o; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\nvar _s = $RefreshSig$();\n\n\nlet o = function(t) {\n _s();\n let e = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__.useLatestValue)(t);\n return react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n return e.current(...r);\n }, [\n e\n ]);\n};\n_s(o, \"epj4qY15NHsef74wNqHIp5fdZmg=\");\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1ldmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXFCO0FBQXVEO0FBQUEsSUFBSUcsSUFBRSxTQUFTQyxDQUFDOztJQUFFLElBQUlDLElBQUVILG9FQUFDQSxDQUFDRTtJQUFHLE9BQU9KLDhDQUFhLENBQUM7eUNBQUlPO1lBQUFBOztlQUFJRixFQUFFRyxPQUFPLElBQUlEO09BQUc7UUFBQ0Y7S0FBRTtBQUFDO0dBQTFFRjtBQUFrRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZXZlbnQuanM/NGFmYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYSBmcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VMYXRlc3RWYWx1ZSBhcyBufWZyb20nLi91c2UtbGF0ZXN0LXZhbHVlLmpzJztsZXQgbz1mdW5jdGlvbih0KXtsZXQgZT1uKHQpO3JldHVybiBhLnVzZUNhbGxiYWNrKCguLi5yKT0+ZS5jdXJyZW50KC4uLnIpLFtlXSl9O2V4cG9ydHtvIGFzIHVzZUV2ZW50fTtcbiJdLCJuYW1lcyI6WyJhIiwidXNlTGF0ZXN0VmFsdWUiLCJuIiwibyIsInQiLCJlIiwidXNlQ2FsbGJhY2siLCJyIiwiY3VycmVudCIsInVzZUV2ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsMounted: function() { return /* binding */ f; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction f() {\n let e = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1);\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>(e.current = !0, ()=>{\n e.current = !1;\n }), []), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pcy1tb3VudGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUErQjtBQUFrRTtBQUFBLFNBQVNJO0lBQUksSUFBSUMsSUFBRUosNkNBQUNBLENBQUMsQ0FBQztJQUFHLE9BQU9FLCtFQUFDQSxDQUFDLElBQUtFLENBQUFBLEVBQUVDLE9BQU8sR0FBQyxDQUFDLEdBQUU7WUFBS0QsRUFBRUMsT0FBTyxHQUFDLENBQUM7UUFBQyxJQUFHLEVBQUUsR0FBRUQ7QUFBQztBQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtaXMtbW91bnRlZC5qcz8wZmY5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VSZWYgYXMgcn1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIHR9ZnJvbScuL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2Z1bmN0aW9uIGYoKXtsZXQgZT1yKCExKTtyZXR1cm4gdCgoKT0+KGUuY3VycmVudD0hMCwoKT0+e2UuY3VycmVudD0hMX0pLFtdKSxlfWV4cG9ydHtmIGFzIHVzZUlzTW91bnRlZH07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiciIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJ0IiwiZiIsImUiLCJjdXJyZW50IiwidXNlSXNNb3VudGVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsoMorphicEffect: function() { return /* binding */ n; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/env.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\");\n\n\nlet n = (e, t)=>{\n _utils_env_js__WEBPACK_IMPORTED_MODULE_1__.env.isServer ? (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(e, t) : (0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(e, t);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXVEO0FBQXNDO0FBQUEsSUFBSU0sSUFBRSxDQUFDQyxHQUFFQztJQUFLSCw4Q0FBQ0EsQ0FBQ0ksUUFBUSxHQUFDUixnREFBQ0EsQ0FBQ00sR0FBRUMsS0FBR0wsc0RBQUNBLENBQUNJLEdBQUVDO0FBQUU7QUFBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcz9mNWFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgZix1c2VMYXlvdXRFZmZlY3QgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHtlbnYgYXMgaX1mcm9tJy4uL3V0aWxzL2Vudi5qcyc7bGV0IG49KGUsdCk9PntpLmlzU2VydmVyP2YoZSx0KTpjKGUsdCl9O2V4cG9ydHtuIGFzIHVzZUlzb01vcnBoaWNFZmZlY3R9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImYiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjIiwiZW52IiwiaSIsIm4iLCJlIiwidCIsImlzU2VydmVyIiwidXNlSXNvTW9ycGhpY0VmZmVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-latest-value.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLatestValue: function() { return /* binding */ s; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction s(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(e);\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n r.current = e;\n }, [\n e\n ]), r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStCO0FBQWtFO0FBQUEsU0FBU0ksRUFBRUMsQ0FBQztJQUFFLElBQUlDLElBQUVMLDZDQUFDQSxDQUFDSTtJQUFHLE9BQU9GLCtFQUFDQSxDQUFDO1FBQUtHLEVBQUVDLE9BQU8sR0FBQ0Y7SUFBQyxHQUFFO1FBQUNBO0tBQUUsR0FBRUM7QUFBQztBQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtbGF0ZXN0LXZhbHVlLmpzPzdiOGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyB0fWZyb21cInJlYWN0XCI7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgb31mcm9tJy4vdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7ZnVuY3Rpb24gcyhlKXtsZXQgcj10KGUpO3JldHVybiBvKCgpPT57ci5jdXJyZW50PWV9LFtlXSkscn1leHBvcnR7cyBhcyB1c2VMYXRlc3RWYWx1ZX07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwidCIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJvIiwicyIsImUiLCJyIiwiY3VycmVudCIsInVzZUxhdGVzdFZhbHVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useResolveButtonType: function() { return /* binding */ T; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction i(t) {\n var n;\n if (t.type) return t.type;\n let e = (n = t.as) != null ? n : \"button\";\n if (typeof e == \"string\" && e.toLowerCase() === \"button\") return \"button\";\n}\nfunction T(t, e) {\n let [n, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>i(t));\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n u(i(t));\n }, [\n t.type,\n t.as\n ]), (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n n || e.current && e.current instanceof HTMLButtonElement && !e.current.hasAttribute(\"type\") && u(\"button\");\n }, [\n n,\n e\n ]), n;\n}\n_c = T;\n\nvar _c;\n$RefreshReg$(_c, \"T\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFpQztBQUFrRTtBQUFBLFNBQVNJLEVBQUVDLENBQUM7SUFBRSxJQUFJQztJQUFFLElBQUdELEVBQUVFLElBQUksRUFBQyxPQUFPRixFQUFFRSxJQUFJO0lBQUMsSUFBSUMsSUFBRSxDQUFDRixJQUFFRCxFQUFFSSxFQUFFLEtBQUcsT0FBS0gsSUFBRTtJQUFTLElBQUcsT0FBT0UsS0FBRyxZQUFVQSxFQUFFRSxXQUFXLE9BQUssVUFBUyxPQUFNO0FBQVE7QUFBQyxTQUFTQyxFQUFFTixDQUFDLEVBQUNHLENBQUM7SUFBRSxJQUFHLENBQUNGLEdBQUVNLEVBQUUsR0FBQ1gsK0NBQUNBLENBQUMsSUFBSUcsRUFBRUM7SUFBSSxPQUFPRiwrRUFBQ0EsQ0FBQztRQUFLUyxFQUFFUixFQUFFQztJQUFHLEdBQUU7UUFBQ0EsRUFBRUUsSUFBSTtRQUFDRixFQUFFSSxFQUFFO0tBQUMsR0FBRU4sK0VBQUNBLENBQUM7UUFBS0csS0FBR0UsRUFBRUssT0FBTyxJQUFFTCxFQUFFSyxPQUFPLFlBQVlDLHFCQUFtQixDQUFDTixFQUFFSyxPQUFPLENBQUNFLFlBQVksQ0FBQyxXQUFTSCxFQUFFO0lBQVMsR0FBRTtRQUFDTjtRQUFFRTtLQUFFLEdBQUVGO0FBQUM7S0FBckxLO0FBQXdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzP2E0NTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVN0YXRlIGFzIG99ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlSXNvTW9ycGhpY0VmZmVjdCBhcyByfWZyb20nLi91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztmdW5jdGlvbiBpKHQpe3ZhciBuO2lmKHQudHlwZSlyZXR1cm4gdC50eXBlO2xldCBlPShuPXQuYXMpIT1udWxsP246XCJidXR0b25cIjtpZih0eXBlb2YgZT09XCJzdHJpbmdcIiYmZS50b0xvd2VyQ2FzZSgpPT09XCJidXR0b25cIilyZXR1cm5cImJ1dHRvblwifWZ1bmN0aW9uIFQodCxlKXtsZXRbbix1XT1vKCgpPT5pKHQpKTtyZXR1cm4gcigoKT0+e3UoaSh0KSl9LFt0LnR5cGUsdC5hc10pLHIoKCk9PntufHxlLmN1cnJlbnQmJmUuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50JiYhZS5jdXJyZW50Lmhhc0F0dHJpYnV0ZShcInR5cGVcIikmJnUoXCJidXR0b25cIil9LFtuLGVdKSxufWV4cG9ydHtUIGFzIHVzZVJlc29sdmVCdXR0b25UeXBlfTtcbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsIm8iLCJ1c2VJc29Nb3JwaGljRWZmZWN0IiwiciIsImkiLCJ0IiwibiIsInR5cGUiLCJlIiwiYXMiLCJ0b0xvd2VyQ2FzZSIsIlQiLCJ1IiwiY3VycmVudCIsIkhUTUxCdXR0b25FbGVtZW50IiwiaGFzQXR0cmlidXRlIiwidXNlUmVzb2x2ZUJ1dHRvblR5cGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js": -/*!********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ optionalRef: function() { return /* binding */ T; },\n/* harmony export */ useSyncRefs: function() { return /* binding */ y; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\nlet u = Symbol();\nfunction T(t) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;\n return Object.assign(t, {\n [u]: n\n });\n}\n_c = T;\nfunction y() {\n for(var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++){\n t[_key] = arguments[_key];\n }\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(t);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n n.current = t;\n }, [\n t\n ]);\n let c = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_1__.useEvent)((e)=>{\n for (let o of n.current)o != null && (typeof o == \"function\" ? o(e) : o.current = e);\n });\n return t.every((e)=>e == null || (e == null ? void 0 : e[u])) ? void 0 : c;\n}\n\nvar _c;\n$RefreshReg$(_c, \"T\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zeW5jLXJlZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QztBQUEwQztBQUFBLElBQUlNLElBQUVDO0FBQVMsU0FBU0MsRUFBRUMsQ0FBQztRQUFDQyxJQUFBQSxpRUFBRSxDQUFDO0lBQUcsT0FBT0MsT0FBT0MsTUFBTSxDQUFDSCxHQUFFO1FBQUMsQ0FBQ0gsRUFBRSxFQUFDSTtJQUFDO0FBQUU7S0FBekNGO0FBQTBDLFNBQVNLO0lBQUU7UUFBR0osRUFBSCx1QkFBSTs7SUFBRSxJQUFJQyxJQUFFUCw2Q0FBQ0EsQ0FBQ007SUFBR1IsZ0RBQUNBLENBQUM7UUFBS1MsRUFBRUksT0FBTyxHQUFDTDtJQUFDLEdBQUU7UUFBQ0E7S0FBRTtJQUFFLElBQUlNLElBQUVWLHVEQUFDQSxDQUFDVyxDQUFBQTtRQUFJLEtBQUksSUFBSUMsS0FBS1AsRUFBRUksT0FBTyxDQUFDRyxLQUFHLFFBQU8sUUFBT0EsS0FBRyxhQUFXQSxFQUFFRCxLQUFHQyxFQUFFSCxPQUFPLEdBQUNFLENBQUFBO0lBQUU7SUFBRyxPQUFPUCxFQUFFUyxLQUFLLENBQUNGLENBQUFBLElBQUdBLEtBQUcsUUFBT0EsQ0FBQUEsS0FBRyxPQUFLLEtBQUssSUFBRUEsQ0FBQyxDQUFDVixFQUFFLEtBQUcsS0FBSyxJQUFFUztBQUFDO0FBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zeW5jLXJlZnMuanM/ZWY1OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIGwsdXNlUmVmIGFzIGl9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlRXZlbnQgYXMgcn1mcm9tJy4vdXNlLWV2ZW50LmpzJztsZXQgdT1TeW1ib2woKTtmdW5jdGlvbiBUKHQsbj0hMCl7cmV0dXJuIE9iamVjdC5hc3NpZ24odCx7W3VdOm59KX1mdW5jdGlvbiB5KC4uLnQpe2xldCBuPWkodCk7bCgoKT0+e24uY3VycmVudD10fSxbdF0pO2xldCBjPXIoZT0+e2ZvcihsZXQgbyBvZiBuLmN1cnJlbnQpbyE9bnVsbCYmKHR5cGVvZiBvPT1cImZ1bmN0aW9uXCI/byhlKTpvLmN1cnJlbnQ9ZSl9KTtyZXR1cm4gdC5ldmVyeShlPT5lPT1udWxsfHwoZT09bnVsbD92b2lkIDA6ZVt1XSkpP3ZvaWQgMDpjfWV4cG9ydHtUIGFzIG9wdGlvbmFsUmVmLHkgYXMgdXNlU3luY1JlZnN9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImwiLCJ1c2VSZWYiLCJpIiwidXNlRXZlbnQiLCJyIiwidSIsIlN5bWJvbCIsIlQiLCJ0IiwibiIsIk9iamVjdCIsImFzc2lnbiIsInkiLCJjdXJyZW50IiwiYyIsImUiLCJvIiwiZXZlcnkiLCJvcHRpb25hbFJlZiIsInVzZVN5bmNSZWZzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js": -/*!************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/focus-sentinel.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FocusSentinel: function() { return /* binding */ b; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_is_mounted_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks/use-is-mounted.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js\");\n/* harmony import */ var _hidden_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hidden.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n\n\n\nfunction b(param) {\n let { onFocus: n } = param;\n let [r, o] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!0), u = (0,_hooks_use_is_mounted_js__WEBPACK_IMPORTED_MODULE_1__.useIsMounted)();\n return r ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_hidden_js__WEBPACK_IMPORTED_MODULE_2__.Hidden, {\n as: \"button\",\n type: \"button\",\n features: _hidden_js__WEBPACK_IMPORTED_MODULE_2__.HiddenFeatures.Focusable,\n onFocus: (a)=>{\n a.preventDefault();\n let e, i = 50;\n function t() {\n if (i-- <= 0) {\n e && cancelAnimationFrame(e);\n return;\n }\n if (n()) {\n if (cancelAnimationFrame(e), !u.current) return;\n o(!1);\n return;\n }\n e = requestAnimationFrame(t);\n }\n e = requestAnimationFrame(t);\n }\n }) : null;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2ZvY3VzLXNlbnRpbmVsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBb0M7QUFBMEQ7QUFBeUQ7QUFBQSxTQUFTUyxFQUFFLEtBQVc7UUFBWCxFQUFDQyxTQUFRQyxDQUFDLEVBQUMsR0FBWDtJQUFhLElBQUcsQ0FBQ0MsR0FBRUMsRUFBRSxHQUFDWCwrQ0FBQ0EsQ0FBQyxDQUFDLElBQUdZLElBQUVWLHNFQUFDQTtJQUFHLE9BQU9RLGtCQUFFWixnREFBZSxDQUFDTSw4Q0FBQ0EsRUFBQztRQUFDVSxJQUFHO1FBQVNDLE1BQUs7UUFBU0MsVUFBU1Ysc0RBQUNBLENBQUNXLFNBQVM7UUFBQ1QsU0FBUVUsQ0FBQUE7WUFBSUEsRUFBRUMsY0FBYztZQUFHLElBQUlDLEdBQUVDLElBQUU7WUFBRyxTQUFTQztnQkFBSSxJQUFHRCxPQUFLLEdBQUU7b0JBQUNELEtBQUdHLHFCQUFxQkg7b0JBQUc7Z0JBQU07Z0JBQUMsSUFBR1gsS0FBSTtvQkFBQyxJQUFHYyxxQkFBcUJILElBQUcsQ0FBQ1IsRUFBRVksT0FBTyxFQUFDO29CQUFPYixFQUFFLENBQUM7b0JBQUc7Z0JBQU07Z0JBQUNTLElBQUVLLHNCQUFzQkg7WUFBRTtZQUFDRixJQUFFSyxzQkFBc0JIO1FBQUU7SUFBQyxLQUFHO0FBQUk7QUFBNEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanM/YzEzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcyx7dXNlU3RhdGUgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc01vdW50ZWQgYXMgbX1mcm9tJy4uL2hvb2tzL3VzZS1pcy1tb3VudGVkLmpzJztpbXBvcnR7SGlkZGVuIGFzIGYsSGlkZGVuRmVhdHVyZXMgYXMgbH1mcm9tJy4vaGlkZGVuLmpzJztmdW5jdGlvbiBiKHtvbkZvY3VzOm59KXtsZXRbcixvXT1jKCEwKSx1PW0oKTtyZXR1cm4gcj9zLmNyZWF0ZUVsZW1lbnQoZix7YXM6XCJidXR0b25cIix0eXBlOlwiYnV0dG9uXCIsZmVhdHVyZXM6bC5Gb2N1c2FibGUsb25Gb2N1czphPT57YS5wcmV2ZW50RGVmYXVsdCgpO2xldCBlLGk9NTA7ZnVuY3Rpb24gdCgpe2lmKGktLTw9MCl7ZSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSk7cmV0dXJufWlmKG4oKSl7aWYoY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSksIXUuY3VycmVudClyZXR1cm47byghMSk7cmV0dXJufWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfX0pOm51bGx9ZXhwb3J0e2IgYXMgRm9jdXNTZW50aW5lbH07XG4iXSwibmFtZXMiOlsicyIsInVzZVN0YXRlIiwiYyIsInVzZUlzTW91bnRlZCIsIm0iLCJIaWRkZW4iLCJmIiwiSGlkZGVuRmVhdHVyZXMiLCJsIiwiYiIsIm9uRm9jdXMiLCJuIiwiciIsIm8iLCJ1IiwiY3JlYXRlRWxlbWVudCIsImFzIiwidHlwZSIsImZlYXR1cmVzIiwiRm9jdXNhYmxlIiwiYSIsInByZXZlbnREZWZhdWx0IiwiZSIsImkiLCJ0IiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJjdXJyZW50IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiRm9jdXNTZW50aW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js": -/*!****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/hidden.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Hidden: function() { return /* binding */ T; },\n/* harmony export */ HiddenFeatures: function() { return /* binding */ s; }\n/* harmony export */ });\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n\nlet a = \"div\";\nvar s = ((e)=>(e[e.None = 1] = \"None\", e[e.Focusable = 2] = \"Focusable\", e[e.Hidden = 4] = \"Hidden\", e))(s || {});\nfunction l(t, r) {\n var n;\n let { features: d = 1, ...e } = t, o = {\n ref: r,\n \"aria-hidden\": (d & 2) === 2 ? !0 : (n = e[\"aria-hidden\"]) != null ? n : void 0,\n hidden: (d & 4) === 4 ? !0 : void 0,\n style: {\n position: \"fixed\",\n top: 1,\n left: 1,\n width: 1,\n height: 0,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n borderWidth: \"0\",\n ...(d & 4) === 4 && (d & 2) !== 2 && {\n display: \"none\"\n }\n }\n };\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_0__.render)({\n ourProps: o,\n theirProps: e,\n slot: {},\n defaultTag: a,\n name: \"Hidden\"\n });\n}\nlet T = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_0__.forwardRefWithAs)(l);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2hpZGRlbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0U7QUFBQSxJQUFJSSxJQUFFO0FBQU0sSUFBSUMsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxTQUFTLEdBQUMsRUFBRSxHQUFDLGFBQVlGLENBQUMsQ0FBQ0EsRUFBRUcsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTSCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNLLEVBQUVDLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlDO0lBQUUsSUFBRyxFQUFDQyxVQUFTQyxJQUFFLENBQUMsRUFBQyxHQUFHVCxHQUFFLEdBQUNLLEdBQUVLLElBQUU7UUFBQ0MsS0FBSUw7UUFBRSxlQUFjLENBQUNHLElBQUUsT0FBSyxJQUFFLENBQUMsSUFBRSxDQUFDRixJQUFFUCxDQUFDLENBQUMsY0FBYyxLQUFHLE9BQUtPLElBQUUsS0FBSztRQUFFSyxRQUFPLENBQUNILElBQUUsT0FBSyxJQUFFLENBQUMsSUFBRSxLQUFLO1FBQUVJLE9BQU07WUFBQ0MsVUFBUztZQUFRQyxLQUFJO1lBQUVDLE1BQUs7WUFBRUMsT0FBTTtZQUFFQyxRQUFPO1lBQUVDLFNBQVE7WUFBRUMsUUFBTyxDQUFDO1lBQUVDLFVBQVM7WUFBU0MsTUFBSztZQUFtQkMsWUFBVztZQUFTQyxhQUFZO1lBQUksR0FBRyxDQUFDZixJQUFFLE9BQUssS0FBRyxDQUFDQSxJQUFFLE9BQUssS0FBRztnQkFBQ2dCLFNBQVE7WUFBTSxDQUFDO1FBQUE7SUFBQztJQUFFLE9BQU81Qix3REFBQ0EsQ0FBQztRQUFDNkIsVUFBU2hCO1FBQUVpQixZQUFXM0I7UUFBRTRCLE1BQUssQ0FBQztRQUFFQyxZQUFXL0I7UUFBRWdDLE1BQUs7SUFBUTtBQUFFO0FBQUMsSUFBSUMsSUFBRXBDLGtFQUFDQSxDQUFDUztBQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9oaWRkZW4uanM/MzBlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7Zm9yd2FyZFJlZldpdGhBcyBhcyBpLHJlbmRlciBhcyBwfWZyb20nLi4vdXRpbHMvcmVuZGVyLmpzJztsZXQgYT1cImRpdlwiO3ZhciBzPShlPT4oZVtlLk5vbmU9MV09XCJOb25lXCIsZVtlLkZvY3VzYWJsZT0yXT1cIkZvY3VzYWJsZVwiLGVbZS5IaWRkZW49NF09XCJIaWRkZW5cIixlKSkoc3x8e30pO2Z1bmN0aW9uIGwodCxyKXt2YXIgbjtsZXR7ZmVhdHVyZXM6ZD0xLC4uLmV9PXQsbz17cmVmOnIsXCJhcmlhLWhpZGRlblwiOihkJjIpPT09Mj8hMDoobj1lW1wiYXJpYS1oaWRkZW5cIl0pIT1udWxsP246dm9pZCAwLGhpZGRlbjooZCY0KT09PTQ/ITA6dm9pZCAwLHN0eWxlOntwb3NpdGlvbjpcImZpeGVkXCIsdG9wOjEsbGVmdDoxLHdpZHRoOjEsaGVpZ2h0OjAscGFkZGluZzowLG1hcmdpbjotMSxvdmVyZmxvdzpcImhpZGRlblwiLGNsaXA6XCJyZWN0KDAsIDAsIDAsIDApXCIsd2hpdGVTcGFjZTpcIm5vd3JhcFwiLGJvcmRlcldpZHRoOlwiMFwiLC4uLihkJjQpPT09NCYmKGQmMikhPT0yJiZ7ZGlzcGxheTpcIm5vbmVcIn19fTtyZXR1cm4gcCh7b3VyUHJvcHM6byx0aGVpclByb3BzOmUsc2xvdDp7fSxkZWZhdWx0VGFnOmEsbmFtZTpcIkhpZGRlblwifSl9bGV0IFQ9aShsKTtleHBvcnR7VCBhcyBIaWRkZW4scyBhcyBIaWRkZW5GZWF0dXJlc307XG4iXSwibmFtZXMiOlsiZm9yd2FyZFJlZldpdGhBcyIsImkiLCJyZW5kZXIiLCJwIiwiYSIsInMiLCJlIiwiTm9uZSIsIkZvY3VzYWJsZSIsIkhpZGRlbiIsImwiLCJ0IiwiciIsIm4iLCJmZWF0dXJlcyIsImQiLCJvIiwicmVmIiwiaGlkZGVuIiwic3R5bGUiLCJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJ3aWR0aCIsImhlaWdodCIsInBhZGRpbmciLCJtYXJnaW4iLCJvdmVyZmxvdyIsImNsaXAiLCJ3aGl0ZVNwYWNlIiwiYm9yZGVyV2lkdGgiLCJkaXNwbGF5Iiwib3VyUHJvcHMiLCJ0aGVpclByb3BzIiwic2xvdCIsImRlZmF1bHRUYWciLCJuYW1lIiwiVCIsIkhpZGRlbkZlYXR1cmVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/class-names.js": -/*!******************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/class-names.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ classNames: function() { return /* binding */ t; }\n/* harmony export */ });\nfunction t() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n return Array.from(new Set(r.flatMap((n)=>typeof n == \"string\" ? n.split(\" \") : []))).filter(Boolean).join(\" \");\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2NsYXNzLW5hbWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQTtJQUFFO1FBQUdDLEVBQUgsdUJBQUk7O0lBQUUsT0FBT0MsTUFBTUMsSUFBSSxDQUFDLElBQUlDLElBQUlILEVBQUVJLE9BQU8sQ0FBQ0MsQ0FBQUEsSUFBRyxPQUFPQSxLQUFHLFdBQVNBLEVBQUVDLEtBQUssQ0FBQyxPQUFLLEVBQUUsSUFBSUMsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7QUFBSTtBQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9jbGFzcy1uYW1lcy5qcz9jMmQ1Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHQoLi4ucil7cmV0dXJuIEFycmF5LmZyb20obmV3IFNldChyLmZsYXRNYXAobj0+dHlwZW9mIG49PVwic3RyaW5nXCI/bi5zcGxpdChcIiBcIik6W10pKSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpfWV4cG9ydHt0IGFzIGNsYXNzTmFtZXN9O1xuIl0sIm5hbWVzIjpbInQiLCJyIiwiQXJyYXkiLCJmcm9tIiwiU2V0IiwiZmxhdE1hcCIsIm4iLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiY2xhc3NOYW1lcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/class-names.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js": -/*!******************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/disposables.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ disposables: function() { return /* binding */ o; }\n/* harmony export */ });\n/* harmony import */ var _micro_task_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./micro-task.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\");\n\nfunction o() {\n let n = [], r = {\n addEventListener (e, t, s, a) {\n return e.addEventListener(t, s, a), r.add(()=>e.removeEventListener(t, s, a));\n },\n requestAnimationFrame () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n let t = requestAnimationFrame(...e);\n return r.add(()=>cancelAnimationFrame(t));\n },\n nextFrame () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e));\n },\n setTimeout () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n let t = setTimeout(...e);\n return r.add(()=>clearTimeout(t));\n },\n microTask () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n let t = {\n current: !0\n };\n return (0,_micro_task_js__WEBPACK_IMPORTED_MODULE_0__.microTask)(()=>{\n t.current && e[0]();\n }), r.add(()=>{\n t.current = !1;\n });\n },\n style (e, t, s) {\n let a = e.style.getPropertyValue(t);\n return Object.assign(e.style, {\n [t]: s\n }), this.add(()=>{\n Object.assign(e.style, {\n [t]: a\n });\n });\n },\n group (e) {\n let t = o();\n return e(t), this.add(()=>t.dispose());\n },\n add (e) {\n return n.includes(e) || n.push(e), ()=>{\n let t = n.indexOf(e);\n if (t >= 0) for (let s of n.splice(t, 1))s();\n };\n },\n dispose () {\n for (let e of n.splice(0))e();\n }\n };\n return r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Rpc3Bvc2FibGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTRDO0FBQUEsU0FBU0U7SUFBSSxJQUFJQyxJQUFFLEVBQUUsRUFBQ0MsSUFBRTtRQUFDQyxrQkFBaUJDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUM7WUFBRSxPQUFPSCxFQUFFRCxnQkFBZ0IsQ0FBQ0UsR0FBRUMsR0FBRUMsSUFBR0wsRUFBRU0sR0FBRyxDQUFDLElBQUlKLEVBQUVLLG1CQUFtQixDQUFDSixHQUFFQyxHQUFFQztRQUFHO1FBQUVHO1lBQXNCO2dCQUFHTixFQUFILHVCQUFJOztZQUFFLElBQUlDLElBQUVLLHlCQUF5Qk47WUFBRyxPQUFPRixFQUFFTSxHQUFHLENBQUMsSUFBSUcscUJBQXFCTjtRQUFHO1FBQUVPO1lBQVU7Z0JBQUdSLEVBQUgsdUJBQUk7O1lBQUUsT0FBT0YsRUFBRVEscUJBQXFCLENBQUMsSUFBSVIsRUFBRVEscUJBQXFCLElBQUlOO1FBQUc7UUFBRVM7WUFBVztnQkFBR1QsRUFBSCx1QkFBSTs7WUFBRSxJQUFJQyxJQUFFUSxjQUFjVDtZQUFHLE9BQU9GLEVBQUVNLEdBQUcsQ0FBQyxJQUFJTSxhQUFhVDtRQUFHO1FBQUVQO1lBQVU7Z0JBQUdNLEVBQUgsdUJBQUk7O1lBQUUsSUFBSUMsSUFBRTtnQkFBQ1UsU0FBUSxDQUFDO1lBQUM7WUFBRSxPQUFPaEIseURBQUNBLENBQUM7Z0JBQUtNLEVBQUVVLE9BQU8sSUFBRVgsQ0FBQyxDQUFDLEVBQUU7WUFBRSxJQUFHRixFQUFFTSxHQUFHLENBQUM7Z0JBQUtILEVBQUVVLE9BQU8sR0FBQyxDQUFDO1lBQUM7UUFBRTtRQUFFQyxPQUFNWixDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQztZQUFFLElBQUlDLElBQUVILEVBQUVZLEtBQUssQ0FBQ0MsZ0JBQWdCLENBQUNaO1lBQUcsT0FBT2EsT0FBT0MsTUFBTSxDQUFDZixFQUFFWSxLQUFLLEVBQUM7Z0JBQUMsQ0FBQ1gsRUFBRSxFQUFDQztZQUFDLElBQUcsSUFBSSxDQUFDRSxHQUFHLENBQUM7Z0JBQUtVLE9BQU9DLE1BQU0sQ0FBQ2YsRUFBRVksS0FBSyxFQUFDO29CQUFDLENBQUNYLEVBQUUsRUFBQ0U7Z0JBQUM7WUFBRTtRQUFFO1FBQUVhLE9BQU1oQixDQUFDO1lBQUUsSUFBSUMsSUFBRUw7WUFBSSxPQUFPSSxFQUFFQyxJQUFHLElBQUksQ0FBQ0csR0FBRyxDQUFDLElBQUlILEVBQUVnQixPQUFPO1FBQUc7UUFBRWIsS0FBSUosQ0FBQztZQUFFLE9BQU9ILEVBQUVxQixRQUFRLENBQUNsQixNQUFJSCxFQUFFc0IsSUFBSSxDQUFDbkIsSUFBRztnQkFBSyxJQUFJQyxJQUFFSixFQUFFdUIsT0FBTyxDQUFDcEI7Z0JBQUcsSUFBR0MsS0FBRyxHQUFFLEtBQUksSUFBSUMsS0FBS0wsRUFBRXdCLE1BQU0sQ0FBQ3BCLEdBQUUsR0FBR0M7WUFBRztRQUFDO1FBQUVlO1lBQVUsS0FBSSxJQUFJakIsS0FBS0gsRUFBRXdCLE1BQU0sQ0FBQyxHQUFHckI7UUFBRztJQUFDO0lBQUUsT0FBT0Y7QUFBQztBQUEwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9kaXNwb3NhYmxlcy5qcz8yYTk0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHttaWNyb1Rhc2sgYXMgaX1mcm9tJy4vbWljcm8tdGFzay5qcyc7ZnVuY3Rpb24gbygpe2xldCBuPVtdLHI9e2FkZEV2ZW50TGlzdGVuZXIoZSx0LHMsYSl7cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcih0LHMsYSksci5hZGQoKCk9PmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LHMsYSkpfSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoLi4uZSl7bGV0IHQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKC4uLmUpO3JldHVybiByLmFkZCgoKT0+Y2FuY2VsQW5pbWF0aW9uRnJhbWUodCkpfSxuZXh0RnJhbWUoLi4uZSl7cmV0dXJuIHIucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5yLnJlcXVlc3RBbmltYXRpb25GcmFtZSguLi5lKSl9LHNldFRpbWVvdXQoLi4uZSl7bGV0IHQ9c2V0VGltZW91dCguLi5lKTtyZXR1cm4gci5hZGQoKCk9PmNsZWFyVGltZW91dCh0KSl9LG1pY3JvVGFzayguLi5lKXtsZXQgdD17Y3VycmVudDohMH07cmV0dXJuIGkoKCk9Pnt0LmN1cnJlbnQmJmVbMF0oKX0pLHIuYWRkKCgpPT57dC5jdXJyZW50PSExfSl9LHN0eWxlKGUsdCxzKXtsZXQgYT1lLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oZS5zdHlsZSx7W3RdOnN9KSx0aGlzLmFkZCgoKT0+e09iamVjdC5hc3NpZ24oZS5zdHlsZSx7W3RdOmF9KX0pfSxncm91cChlKXtsZXQgdD1vKCk7cmV0dXJuIGUodCksdGhpcy5hZGQoKCk9PnQuZGlzcG9zZSgpKX0sYWRkKGUpe3JldHVybiBuLmluY2x1ZGVzKGUpfHxuLnB1c2goZSksKCk9PntsZXQgdD1uLmluZGV4T2YoZSk7aWYodD49MClmb3IobGV0IHMgb2Ygbi5zcGxpY2UodCwxKSlzKCl9fSxkaXNwb3NlKCl7Zm9yKGxldCBlIG9mIG4uc3BsaWNlKDApKWUoKX19O3JldHVybiByfWV4cG9ydHtvIGFzIGRpc3Bvc2FibGVzfTtcbiJdLCJuYW1lcyI6WyJtaWNyb1Rhc2siLCJpIiwibyIsIm4iLCJyIiwiYWRkRXZlbnRMaXN0ZW5lciIsImUiLCJ0IiwicyIsImEiLCJhZGQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJuZXh0RnJhbWUiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiY3VycmVudCIsInN0eWxlIiwiZ2V0UHJvcGVydHlWYWx1ZSIsIk9iamVjdCIsImFzc2lnbiIsImdyb3VwIiwiZGlzcG9zZSIsImluY2x1ZGVzIiwicHVzaCIsImluZGV4T2YiLCJzcGxpY2UiLCJkaXNwb3NhYmxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js": -/*!**********************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/env.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ env: function() { return /* binding */ s; }\n/* harmony export */ });\nvar i = Object.defineProperty;\nvar d = (t, e, n)=>e in t ? i(t, e, {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: n\n }) : t[e] = n;\nvar r = (t, e, n)=>(d(t, typeof e != \"symbol\" ? e + \"\" : e, n), n);\nclass o {\n constructor(){\n r(this, \"current\", this.detect());\n r(this, \"handoffState\", \"pending\");\n r(this, \"currentId\", 0);\n }\n set(e) {\n this.current !== e && (this.handoffState = \"pending\", this.currentId = 0, this.current = e);\n }\n reset() {\n this.set(this.detect());\n }\n nextId() {\n return ++this.currentId;\n }\n get isServer() {\n return this.current === \"server\";\n }\n get isClient() {\n return this.current === \"client\";\n }\n detect() {\n return typeof window == \"undefined\" || typeof document == \"undefined\" ? \"server\" : \"client\";\n }\n handoff() {\n this.handoffState === \"pending\" && (this.handoffState = \"complete\");\n }\n get isHandoffComplete() {\n return this.handoffState === \"complete\";\n }\n}\nlet s = new o;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Vudi5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBSUEsSUFBRUMsT0FBT0MsY0FBYztBQUFDLElBQUlDLElBQUUsQ0FBQ0MsR0FBRUMsR0FBRUMsSUFBSUQsS0FBS0QsSUFBRUosRUFBRUksR0FBRUMsR0FBRTtRQUFDRSxZQUFXLENBQUM7UUFBRUMsY0FBYSxDQUFDO1FBQUVDLFVBQVMsQ0FBQztRQUFFQyxPQUFNSjtJQUFDLEtBQUdGLENBQUMsQ0FBQ0MsRUFBRSxHQUFDQztBQUFFLElBQUlLLElBQUUsQ0FBQ1AsR0FBRUMsR0FBRUMsSUFBS0gsQ0FBQUEsRUFBRUMsR0FBRSxPQUFPQyxLQUFHLFdBQVNBLElBQUUsS0FBR0EsR0FBRUMsSUFBR0EsQ0FBQUE7QUFBRyxNQUFNTTtJQUFFQyxhQUFhO1FBQUNGLEVBQUUsSUFBSSxFQUFDLFdBQVUsSUFBSSxDQUFDRyxNQUFNO1FBQUlILEVBQUUsSUFBSSxFQUFDLGdCQUFlO1FBQVdBLEVBQUUsSUFBSSxFQUFDLGFBQVk7SUFBRTtJQUFDSSxJQUFJVixDQUFDLEVBQUM7UUFBQyxJQUFJLENBQUNXLE9BQU8sS0FBR1gsS0FBSSxLQUFJLENBQUNZLFlBQVksR0FBQyxXQUFVLElBQUksQ0FBQ0MsU0FBUyxHQUFDLEdBQUUsSUFBSSxDQUFDRixPQUFPLEdBQUNYLENBQUFBO0lBQUU7SUFBQ2MsUUFBTztRQUFDLElBQUksQ0FBQ0osR0FBRyxDQUFDLElBQUksQ0FBQ0QsTUFBTTtJQUFHO0lBQUNNLFNBQVE7UUFBQyxPQUFNLEVBQUUsSUFBSSxDQUFDRixTQUFTO0lBQUE7SUFBQyxJQUFJRyxXQUFVO1FBQUMsT0FBTyxJQUFJLENBQUNMLE9BQU8sS0FBRztJQUFRO0lBQUMsSUFBSU0sV0FBVTtRQUFDLE9BQU8sSUFBSSxDQUFDTixPQUFPLEtBQUc7SUFBUTtJQUFDRixTQUFRO1FBQUMsT0FBTyxPQUFPUyxVQUFRLGVBQWEsT0FBT0MsWUFBVSxjQUFZLFdBQVM7SUFBUTtJQUFDQyxVQUFTO1FBQUMsSUFBSSxDQUFDUixZQUFZLEtBQUcsYUFBWSxLQUFJLENBQUNBLFlBQVksR0FBQyxVQUFTO0lBQUU7SUFBQyxJQUFJUyxvQkFBbUI7UUFBQyxPQUFPLElBQUksQ0FBQ1QsWUFBWSxLQUFHO0lBQVU7QUFBQztBQUFDLElBQUlVLElBQUUsSUFBSWY7QUFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvZW52LmpzPzM4NTIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGk9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBkPSh0LGUsbik9PmUgaW4gdD9pKHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pOnRbZV09bjt2YXIgcj0odCxlLG4pPT4oZCh0LHR5cGVvZiBlIT1cInN5bWJvbFwiP2UrXCJcIjplLG4pLG4pO2NsYXNzIG97Y29uc3RydWN0b3IoKXtyKHRoaXMsXCJjdXJyZW50XCIsdGhpcy5kZXRlY3QoKSk7cih0aGlzLFwiaGFuZG9mZlN0YXRlXCIsXCJwZW5kaW5nXCIpO3IodGhpcyxcImN1cnJlbnRJZFwiLDApfXNldChlKXt0aGlzLmN1cnJlbnQhPT1lJiYodGhpcy5oYW5kb2ZmU3RhdGU9XCJwZW5kaW5nXCIsdGhpcy5jdXJyZW50SWQ9MCx0aGlzLmN1cnJlbnQ9ZSl9cmVzZXQoKXt0aGlzLnNldCh0aGlzLmRldGVjdCgpKX1uZXh0SWQoKXtyZXR1cm4rK3RoaXMuY3VycmVudElkfWdldCBpc1NlcnZlcigpe3JldHVybiB0aGlzLmN1cnJlbnQ9PT1cInNlcnZlclwifWdldCBpc0NsaWVudCgpe3JldHVybiB0aGlzLmN1cnJlbnQ9PT1cImNsaWVudFwifWRldGVjdCgpe3JldHVybiB0eXBlb2Ygd2luZG93PT1cInVuZGVmaW5lZFwifHx0eXBlb2YgZG9jdW1lbnQ9PVwidW5kZWZpbmVkXCI/XCJzZXJ2ZXJcIjpcImNsaWVudFwifWhhbmRvZmYoKXt0aGlzLmhhbmRvZmZTdGF0ZT09PVwicGVuZGluZ1wiJiYodGhpcy5oYW5kb2ZmU3RhdGU9XCJjb21wbGV0ZVwiKX1nZXQgaXNIYW5kb2ZmQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5oYW5kb2ZmU3RhdGU9PT1cImNvbXBsZXRlXCJ9fWxldCBzPW5ldyBvO2V4cG9ydHtzIGFzIGVudn07XG4iXSwibmFtZXMiOlsiaSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZCIsInQiLCJlIiwibiIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInZhbHVlIiwiciIsIm8iLCJjb25zdHJ1Y3RvciIsImRldGVjdCIsInNldCIsImN1cnJlbnQiLCJoYW5kb2ZmU3RhdGUiLCJjdXJyZW50SWQiLCJyZXNldCIsIm5leHRJZCIsImlzU2VydmVyIiwiaXNDbGllbnQiLCJ3aW5kb3ciLCJkb2N1bWVudCIsImhhbmRvZmYiLCJpc0hhbmRvZmZDb21wbGV0ZSIsInMiLCJlbnYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/focus-management.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Focus: function() { return /* binding */ F; },\n/* harmony export */ FocusResult: function() { return /* binding */ T; },\n/* harmony export */ FocusableMode: function() { return /* binding */ h; },\n/* harmony export */ focusElement: function() { return /* binding */ I; },\n/* harmony export */ focusFrom: function() { return /* binding */ j; },\n/* harmony export */ focusIn: function() { return /* binding */ P; },\n/* harmony export */ getAutoFocusableElements: function() { return /* binding */ S; },\n/* harmony export */ getFocusableElements: function() { return /* binding */ b; },\n/* harmony export */ isFocusableElement: function() { return /* binding */ A; },\n/* harmony export */ restoreFocusIfNecessary: function() { return /* binding */ G; },\n/* harmony export */ sortByDomNode: function() { return /* binding */ _; }\n/* harmony export */ });\n/* harmony import */ var _disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _owner_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n\n\n\nlet f = [\n \"[contentEditable=true]\",\n \"[tabindex]\",\n \"a[href]\",\n \"area[href]\",\n \"button:not([disabled])\",\n \"iframe\",\n \"input:not([disabled])\",\n \"select:not([disabled])\",\n \"textarea:not([disabled])\"\n].map((e)=>`${e}:not([tabindex='-1'])`).join(\",\"), p = [\n \"[data-autofocus]\"\n].map((e)=>`${e}:not([tabindex='-1'])`).join(\",\");\nvar F = ((n)=>(n[n.First = 1] = \"First\", n[n.Previous = 2] = \"Previous\", n[n.Next = 4] = \"Next\", n[n.Last = 8] = \"Last\", n[n.WrapAround = 16] = \"WrapAround\", n[n.NoScroll = 32] = \"NoScroll\", n[n.AutoFocus = 64] = \"AutoFocus\", n))(F || {}), T = ((o)=>(o[o.Error = 0] = \"Error\", o[o.Overflow = 1] = \"Overflow\", o[o.Success = 2] = \"Success\", o[o.Underflow = 3] = \"Underflow\", o))(T || {}), y = ((t)=>(t[t.Previous = -1] = \"Previous\", t[t.Next = 1] = \"Next\", t))(y || {});\nfunction b() {\n let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : document.body;\n return e == null ? [] : Array.from(e.querySelectorAll(f)).sort((r, t)=>Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));\n}\nfunction S() {\n let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : document.body;\n return e == null ? [] : Array.from(e.querySelectorAll(p)).sort((r, t)=>Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));\n}\n_c = S;\nvar h = ((t)=>(t[t.Strict = 0] = \"Strict\", t[t.Loose = 1] = \"Loose\", t))(h || {});\nfunction A(e) {\n let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var t;\n return e === ((t = (0,_owner_js__WEBPACK_IMPORTED_MODULE_0__.getOwnerDocument)(e)) == null ? void 0 : t.body) ? !1 : (0,_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(r, {\n [0] () {\n return e.matches(f);\n },\n [1] () {\n let u = e;\n for(; u !== null;){\n if (u.matches(f)) return !0;\n u = u.parentElement;\n }\n return !1;\n }\n });\n}\n_c1 = A;\nfunction G(e) {\n let r = (0,_owner_js__WEBPACK_IMPORTED_MODULE_0__.getOwnerDocument)(e);\n (0,_disposables_js__WEBPACK_IMPORTED_MODULE_2__.disposables)().nextFrame(()=>{\n r && !A(r.activeElement, 0) && I(e);\n });\n}\n_c2 = G;\nvar H = ((t)=>(t[t.Keyboard = 0] = \"Keyboard\", t[t.Mouse = 1] = \"Mouse\", t))(H || {});\ntypeof window != \"undefined\" && typeof document != \"undefined\" && (document.addEventListener(\"keydown\", (e)=>{\n e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = \"\");\n}, !0), document.addEventListener(\"click\", (e)=>{\n e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = \"\");\n}, !0));\nfunction I(e) {\n e == null || e.focus({\n preventScroll: !0\n });\n}\n_c3 = I;\nlet w = [\n \"textarea\",\n \"input\"\n].join(\",\");\nfunction O(e) {\n var r, t;\n return (t = (r = e == null ? void 0 : e.matches) == null ? void 0 : r.call(e, w)) != null ? t : !1;\n}\n_c4 = O;\nfunction _(e) {\n let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : (t)=>t;\n return e.slice().sort((t, u)=>{\n let o = r(t), c = r(u);\n if (o === null || c === null) return 0;\n let l = o.compareDocumentPosition(c);\n return l & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : l & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;\n });\n}\nfunction j(e, r) {\n return P(b(), r, {\n relativeTo: e\n });\n}\nfunction P(e, r) {\n let { sorted: t = !0, relativeTo: u = null, skipElements: o = [] } = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n let c = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, l = Array.isArray(e) ? t ? _(e) : e : r & 64 ? S(e) : b(e);\n o.length > 0 && l.length > 1 && (l = l.filter((s)=>!o.some((a)=>a != null && \"current\" in a ? (a == null ? void 0 : a.current) === s : a === s))), u = u != null ? u : c.activeElement;\n let n = (()=>{\n if (r & 5) return 1;\n if (r & 10) return -1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), x = (()=>{\n if (r & 1) return 0;\n if (r & 2) return Math.max(0, l.indexOf(u)) - 1;\n if (r & 4) return Math.max(0, l.indexOf(u)) + 1;\n if (r & 8) return l.length - 1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), M = r & 32 ? {\n preventScroll: !0\n } : {}, m = 0, d = l.length, i;\n do {\n if (m >= d || m + d <= 0) return 0;\n let s = x + m;\n if (r & 16) s = (s + d) % d;\n else {\n if (s < 0) return 3;\n if (s >= d) return 1;\n }\n i = l[s], i == null || i.focus(M), m += n;\n }while (i !== c.activeElement);\n return r & 6 && O(i) && i.select(), 2;\n}\n_c5 = P;\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"S\");\n$RefreshReg$(_c1, \"A\");\n$RefreshReg$(_c2, \"G\");\n$RefreshReg$(_c3, \"I\");\n$RefreshReg$(_c4, \"O\");\n$RefreshReg$(_c5, \"P\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0M7QUFBbUM7QUFBOEM7QUFBQSxJQUFJTSxJQUFFO0lBQUM7SUFBeUI7SUFBYTtJQUFVO0lBQWE7SUFBeUI7SUFBUztJQUF3QjtJQUF5QjtDQUEyQixDQUFDQyxHQUFHLENBQUNDLENBQUFBLElBQUcsQ0FBQyxFQUFFQSxFQUFFLHFCQUFxQixDQUFDLEVBQUVDLElBQUksQ0FBQyxNQUFLQyxJQUFFO0lBQUM7Q0FBbUIsQ0FBQ0gsR0FBRyxDQUFDQyxDQUFBQSxJQUFHLENBQUMsRUFBRUEsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFQyxJQUFJLENBQUM7QUFBSyxJQUFJRSxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsS0FBSyxHQUFDLEVBQUUsR0FBQyxTQUFRRCxDQUFDLENBQUNBLEVBQUVFLFFBQVEsR0FBQyxFQUFFLEdBQUMsWUFBV0YsQ0FBQyxDQUFDQSxFQUFFRyxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9ILENBQUMsQ0FBQ0EsRUFBRUksSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPSixDQUFDLENBQUNBLEVBQUVLLFVBQVUsR0FBQyxHQUFHLEdBQUMsY0FBYUwsQ0FBQyxDQUFDQSxFQUFFTSxRQUFRLEdBQUMsR0FBRyxHQUFDLFlBQVdOLENBQUMsQ0FBQ0EsRUFBRU8sU0FBUyxHQUFDLEdBQUcsR0FBQyxhQUFZUCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQyxJQUFHUyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsS0FBSyxHQUFDLEVBQUUsR0FBQyxTQUFRRCxDQUFDLENBQUNBLEVBQUVFLFFBQVEsR0FBQyxFQUFFLEdBQUMsWUFBV0YsQ0FBQyxDQUFDQSxFQUFFRyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVILENBQUMsQ0FBQ0EsRUFBRUksU0FBUyxHQUFDLEVBQUUsR0FBQyxhQUFZSixDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQyxJQUFHTSxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRWIsUUFBUSxHQUFDLENBQUMsRUFBRSxHQUFDLFlBQVdhLENBQUMsQ0FBQ0EsRUFBRVosSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPWSxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNFO1FBQUVwQixJQUFBQSxpRUFBRXFCLFNBQVNDLElBQUk7SUFBRSxPQUFPdEIsS0FBRyxPQUFLLEVBQUUsR0FBQ3VCLE1BQU1DLElBQUksQ0FBQ3hCLEVBQUV5QixnQkFBZ0IsQ0FBQzNCLElBQUk0QixJQUFJLENBQUMsQ0FBQ0MsR0FBRVIsSUFBSVMsS0FBS0MsSUFBSSxDQUFDLENBQUNGLEVBQUVHLFFBQVEsSUFBRUMsT0FBT0MsZ0JBQWdCLElBQUdiLENBQUFBLEVBQUVXLFFBQVEsSUFBRUMsT0FBT0MsZ0JBQWdCO0FBQUc7QUFBQyxTQUFTQztRQUFFakMsSUFBQUEsaUVBQUVxQixTQUFTQyxJQUFJO0lBQUUsT0FBT3RCLEtBQUcsT0FBSyxFQUFFLEdBQUN1QixNQUFNQyxJQUFJLENBQUN4QixFQUFFeUIsZ0JBQWdCLENBQUN2QixJQUFJd0IsSUFBSSxDQUFDLENBQUNDLEdBQUVSLElBQUlTLEtBQUtDLElBQUksQ0FBQyxDQUFDRixFQUFFRyxRQUFRLElBQUVDLE9BQU9DLGdCQUFnQixJQUFHYixDQUFBQSxFQUFFVyxRQUFRLElBQUVDLE9BQU9DLGdCQUFnQjtBQUFHO0tBQTFLQztBQUEySyxJQUFJQyxJQUFFLENBQUNmLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRWdCLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU2hCLENBQUMsQ0FBQ0EsRUFBRWlCLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUWpCLENBQUFBLENBQUMsRUFBR2UsS0FBRyxDQUFDO0FBQUcsU0FBU0csRUFBRXJDLENBQUM7UUFBQzJCLElBQUFBLGlFQUFFO0lBQUcsSUFBSVI7SUFBRSxPQUFPbkIsTUFBSyxFQUFDbUIsSUFBRXRCLDJEQUFDQSxDQUFDRyxFQUFDLEtBQUksT0FBSyxLQUFLLElBQUVtQixFQUFFRyxJQUFJLElBQUUsQ0FBQyxJQUFFM0IsZ0RBQUNBLENBQUNnQyxHQUFFO1FBQUMsQ0FBQyxFQUFFO1lBQUcsT0FBTzNCLEVBQUVzQyxPQUFPLENBQUN4QztRQUFFO1FBQUUsQ0FBQyxFQUFFO1lBQUcsSUFBSXlDLElBQUV2QztZQUFFLE1BQUt1QyxNQUFJLE1BQU07Z0JBQUMsSUFBR0EsRUFBRUQsT0FBTyxDQUFDeEMsSUFBRyxPQUFNLENBQUM7Z0JBQUV5QyxJQUFFQSxFQUFFQyxhQUFhO1lBQUE7WUFBQyxPQUFNLENBQUM7UUFBQztJQUFDO0FBQUU7TUFBaExIO0FBQWlMLFNBQVNJLEVBQUV6QyxDQUFDO0lBQUUsSUFBSTJCLElBQUU5QiwyREFBQ0EsQ0FBQ0c7SUFBR1AsNERBQUNBLEdBQUdpRCxTQUFTLENBQUM7UUFBS2YsS0FBRyxDQUFDVSxFQUFFVixFQUFFZ0IsYUFBYSxFQUFDLE1BQUlDLEVBQUU1QztJQUFFO0FBQUU7TUFBbkV5QztBQUFvRSxJQUFJSSxJQUFFLENBQUMxQixDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUUyQixRQUFRLEdBQUMsRUFBRSxHQUFDLFlBQVczQixDQUFDLENBQUNBLEVBQUU0QixLQUFLLEdBQUMsRUFBRSxHQUFDLFNBQVE1QixDQUFBQSxDQUFDLEVBQUcwQixLQUFHLENBQUM7QUFBRyxPQUFPRyxVQUFRLGVBQWEsT0FBTzNCLFlBQVUsZUFBY0EsQ0FBQUEsU0FBUzRCLGdCQUFnQixDQUFDLFdBQVVqRCxDQUFBQTtJQUFJQSxFQUFFa0QsT0FBTyxJQUFFbEQsRUFBRW1ELE1BQU0sSUFBRW5ELEVBQUVvRCxPQUFPLElBQUcvQixDQUFBQSxTQUFTZ0MsZUFBZSxDQUFDQyxPQUFPLENBQUNDLHNCQUFzQixHQUFDLEVBQUM7QUFBRSxHQUFFLENBQUMsSUFBR2xDLFNBQVM0QixnQkFBZ0IsQ0FBQyxTQUFRakQsQ0FBQUE7SUFBSUEsRUFBRXdELE1BQU0sS0FBRyxJQUFFLE9BQU9uQyxTQUFTZ0MsZUFBZSxDQUFDQyxPQUFPLENBQUNDLHNCQUFzQixHQUFDdkQsRUFBRXdELE1BQU0sS0FBRyxLQUFJbkMsQ0FBQUEsU0FBU2dDLGVBQWUsQ0FBQ0MsT0FBTyxDQUFDQyxzQkFBc0IsR0FBQyxFQUFDO0FBQUUsR0FBRSxDQUFDLEVBQUM7QUFBRyxTQUFTWCxFQUFFNUMsQ0FBQztJQUFFQSxLQUFHLFFBQU1BLEVBQUV5RCxLQUFLLENBQUM7UUFBQ0MsZUFBYyxDQUFDO0lBQUM7QUFBRTtNQUF6Q2Q7QUFBMEMsSUFBSWUsSUFBRTtJQUFDO0lBQVc7Q0FBUSxDQUFDMUQsSUFBSSxDQUFDO0FBQUssU0FBUzJELEVBQUU1RCxDQUFDO0lBQUUsSUFBSTJCLEdBQUVSO0lBQUUsT0FBTSxDQUFDQSxJQUFFLENBQUNRLElBQUUzQixLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFc0MsT0FBTyxLQUFHLE9BQUssS0FBSyxJQUFFWCxFQUFFa0MsSUFBSSxDQUFDN0QsR0FBRTJELEVBQUMsS0FBSSxPQUFLeEMsSUFBRSxDQUFDO0FBQUM7TUFBdkZ5QztBQUF3RixTQUFTRSxFQUFFOUQsQ0FBQztRQUFDMkIsSUFBQUEsaUVBQUVSLENBQUFBLElBQUdBO0lBQUcsT0FBT25CLEVBQUUrRCxLQUFLLEdBQUdyQyxJQUFJLENBQUMsQ0FBQ1AsR0FBRW9CO1FBQUssSUFBSTFCLElBQUVjLEVBQUVSLElBQUc2QyxJQUFFckMsRUFBRVk7UUFBRyxJQUFHMUIsTUFBSSxRQUFNbUQsTUFBSSxNQUFLLE9BQU87UUFBRSxJQUFJQyxJQUFFcEQsRUFBRXFELHVCQUF1QixDQUFDRjtRQUFHLE9BQU9DLElBQUVFLEtBQUtDLDJCQUEyQixHQUFDLENBQUMsSUFBRUgsSUFBRUUsS0FBS0UsMkJBQTJCLEdBQUMsSUFBRTtJQUFDO0FBQUU7QUFBQyxTQUFTQyxFQUFFdEUsQ0FBQyxFQUFDMkIsQ0FBQztJQUFFLE9BQU80QyxFQUFFbkQsS0FBSU8sR0FBRTtRQUFDNkMsWUFBV3hFO0lBQUM7QUFBRTtBQUFDLFNBQVN1RSxFQUFFdkUsQ0FBQyxFQUFDMkIsQ0FBQztRQUFDLEVBQUM4QyxRQUFPdEQsSUFBRSxDQUFDLENBQUMsRUFBQ3FELFlBQVdqQyxJQUFFLElBQUksRUFBQ21DLGNBQWE3RCxJQUFFLEVBQUUsRUFBQyxHQUFqRCxpRUFBa0QsQ0FBQztJQUFHLElBQUltRCxJQUFFekMsTUFBTW9ELE9BQU8sQ0FBQzNFLEtBQUdBLEVBQUU0RSxNQUFNLEdBQUMsSUFBRTVFLENBQUMsQ0FBQyxFQUFFLENBQUM2RSxhQUFhLEdBQUN4RCxXQUFTckIsRUFBRTZFLGFBQWEsRUFBQ1osSUFBRTFDLE1BQU1vRCxPQUFPLENBQUMzRSxLQUFHbUIsSUFBRTJDLEVBQUU5RCxLQUFHQSxJQUFFMkIsSUFBRSxLQUFHTSxFQUFFakMsS0FBR29CLEVBQUVwQjtJQUFHYSxFQUFFK0QsTUFBTSxHQUFDLEtBQUdYLEVBQUVXLE1BQU0sR0FBQyxLQUFJWCxDQUFBQSxJQUFFQSxFQUFFYSxNQUFNLENBQUNDLENBQUFBLElBQUcsQ0FBQ2xFLEVBQUVtRSxJQUFJLENBQUNDLENBQUFBLElBQUdBLEtBQUcsUUFBTSxhQUFZQSxJQUFFLENBQUNBLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVDLE9BQU8sTUFBSUgsSUFBRUUsTUFBSUYsR0FBRSxHQUFHeEMsSUFBRUEsS0FBRyxPQUFLQSxJQUFFeUIsRUFBRXJCLGFBQWE7SUFBQyxJQUFJdkMsSUFBRSxDQUFDO1FBQUssSUFBR3VCLElBQUUsR0FBRSxPQUFPO1FBQUUsSUFBR0EsSUFBRSxJQUFHLE9BQU0sQ0FBQztRQUFFLE1BQU0sSUFBSWIsTUFBTTtJQUFnRSxNQUFLcUUsSUFBRSxDQUFDO1FBQUssSUFBR3hELElBQUUsR0FBRSxPQUFPO1FBQUUsSUFBR0EsSUFBRSxHQUFFLE9BQU9DLEtBQUt3RCxHQUFHLENBQUMsR0FBRW5CLEVBQUVvQixPQUFPLENBQUM5QyxNQUFJO1FBQUUsSUFBR1osSUFBRSxHQUFFLE9BQU9DLEtBQUt3RCxHQUFHLENBQUMsR0FBRW5CLEVBQUVvQixPQUFPLENBQUM5QyxNQUFJO1FBQUUsSUFBR1osSUFBRSxHQUFFLE9BQU9zQyxFQUFFVyxNQUFNLEdBQUM7UUFBRSxNQUFNLElBQUk5RCxNQUFNO0lBQWdFLE1BQUt3RSxJQUFFM0QsSUFBRSxLQUFHO1FBQUMrQixlQUFjLENBQUM7SUFBQyxJQUFFLENBQUMsR0FBRTZCLElBQUUsR0FBRUMsSUFBRXZCLEVBQUVXLE1BQU0sRUFBQ2E7SUFBRSxHQUFFO1FBQUMsSUFBR0YsS0FBR0MsS0FBR0QsSUFBRUMsS0FBRyxHQUFFLE9BQU87UUFBRSxJQUFJVCxJQUFFSSxJQUFFSTtRQUFFLElBQUc1RCxJQUFFLElBQUdvRCxJQUFFLENBQUNBLElBQUVTLENBQUFBLElBQUdBO2FBQU07WUFBQyxJQUFHVCxJQUFFLEdBQUUsT0FBTztZQUFFLElBQUdBLEtBQUdTLEdBQUUsT0FBTztRQUFDO1FBQUNDLElBQUV4QixDQUFDLENBQUNjLEVBQUUsRUFBQ1UsS0FBRyxRQUFNQSxFQUFFaEMsS0FBSyxDQUFDNkIsSUFBR0MsS0FBR25GO0lBQUMsUUFBT3FGLE1BQUl6QixFQUFFckIsYUFBYSxFQUFFO0lBQUEsT0FBT2hCLElBQUUsS0FBR2lDLEVBQUU2QixNQUFJQSxFQUFFQyxNQUFNLElBQUc7QUFBQztNQUFqNEJuQjtBQUF1bUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvZm9jdXMtbWFuYWdlbWVudC5qcz9jMDk4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtkaXNwb3NhYmxlcyBhcyBOfWZyb20nLi9kaXNwb3NhYmxlcy5qcyc7aW1wb3J0e21hdGNoIGFzIEx9ZnJvbScuL21hdGNoLmpzJztpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBFfWZyb20nLi9vd25lci5qcyc7bGV0IGY9W1wiW2NvbnRlbnRFZGl0YWJsZT10cnVlXVwiLFwiW3RhYmluZGV4XVwiLFwiYVtocmVmXVwiLFwiYXJlYVtocmVmXVwiLFwiYnV0dG9uOm5vdChbZGlzYWJsZWRdKVwiLFwiaWZyYW1lXCIsXCJpbnB1dDpub3QoW2Rpc2FibGVkXSlcIixcInNlbGVjdDpub3QoW2Rpc2FibGVkXSlcIixcInRleHRhcmVhOm5vdChbZGlzYWJsZWRdKVwiXS5tYXAoZT0+YCR7ZX06bm90KFt0YWJpbmRleD0nLTEnXSlgKS5qb2luKFwiLFwiKSxwPVtcIltkYXRhLWF1dG9mb2N1c11cIl0ubWFwKGU9PmAke2V9Om5vdChbdGFiaW5kZXg9Jy0xJ10pYCkuam9pbihcIixcIik7dmFyIEY9KG49PihuW24uRmlyc3Q9MV09XCJGaXJzdFwiLG5bbi5QcmV2aW91cz0yXT1cIlByZXZpb3VzXCIsbltuLk5leHQ9NF09XCJOZXh0XCIsbltuLkxhc3Q9OF09XCJMYXN0XCIsbltuLldyYXBBcm91bmQ9MTZdPVwiV3JhcEFyb3VuZFwiLG5bbi5Ob1Njcm9sbD0zMl09XCJOb1Njcm9sbFwiLG5bbi5BdXRvRm9jdXM9NjRdPVwiQXV0b0ZvY3VzXCIsbikpKEZ8fHt9KSxUPShvPT4ob1tvLkVycm9yPTBdPVwiRXJyb3JcIixvW28uT3ZlcmZsb3c9MV09XCJPdmVyZmxvd1wiLG9bby5TdWNjZXNzPTJdPVwiU3VjY2Vzc1wiLG9bby5VbmRlcmZsb3c9M109XCJVbmRlcmZsb3dcIixvKSkoVHx8e30pLHk9KHQ9Pih0W3QuUHJldmlvdXM9LTFdPVwiUHJldmlvdXNcIix0W3QuTmV4dD0xXT1cIk5leHRcIix0KSkoeXx8e30pO2Z1bmN0aW9uIGIoZT1kb2N1bWVudC5ib2R5KXtyZXR1cm4gZT09bnVsbD9bXTpBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbChmKSkuc29ydCgocix0KT0+TWF0aC5zaWduKChyLnRhYkluZGV4fHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiktKHQudGFiSW5kZXh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSkpfWZ1bmN0aW9uIFMoZT1kb2N1bWVudC5ib2R5KXtyZXR1cm4gZT09bnVsbD9bXTpBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbChwKSkuc29ydCgocix0KT0+TWF0aC5zaWduKChyLnRhYkluZGV4fHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiktKHQudGFiSW5kZXh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSkpfXZhciBoPSh0PT4odFt0LlN0cmljdD0wXT1cIlN0cmljdFwiLHRbdC5Mb29zZT0xXT1cIkxvb3NlXCIsdCkpKGh8fHt9KTtmdW5jdGlvbiBBKGUscj0wKXt2YXIgdDtyZXR1cm4gZT09PSgodD1FKGUpKT09bnVsbD92b2lkIDA6dC5ib2R5KT8hMTpMKHIse1swXSgpe3JldHVybiBlLm1hdGNoZXMoZil9LFsxXSgpe2xldCB1PWU7Zm9yKDt1IT09bnVsbDspe2lmKHUubWF0Y2hlcyhmKSlyZXR1cm4hMDt1PXUucGFyZW50RWxlbWVudH1yZXR1cm4hMX19KX1mdW5jdGlvbiBHKGUpe2xldCByPUUoZSk7TigpLm5leHRGcmFtZSgoKT0+e3ImJiFBKHIuYWN0aXZlRWxlbWVudCwwKSYmSShlKX0pfXZhciBIPSh0PT4odFt0LktleWJvYXJkPTBdPVwiS2V5Ym9hcmRcIix0W3QuTW91c2U9MV09XCJNb3VzZVwiLHQpKShIfHx7fSk7dHlwZW9mIHdpbmRvdyE9XCJ1bmRlZmluZWRcIiYmdHlwZW9mIGRvY3VtZW50IT1cInVuZGVmaW5lZFwiJiYoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixlPT57ZS5tZXRhS2V5fHxlLmFsdEtleXx8ZS5jdHJsS2V5fHwoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQuaGVhZGxlc3N1aUZvY3VzVmlzaWJsZT1cIlwiKX0sITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLGU9PntlLmRldGFpbD09PTE/ZGVsZXRlIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LmhlYWRsZXNzdWlGb2N1c1Zpc2libGU6ZS5kZXRhaWw9PT0wJiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQuaGVhZGxlc3N1aUZvY3VzVmlzaWJsZT1cIlwiKX0sITApKTtmdW5jdGlvbiBJKGUpe2U9PW51bGx8fGUuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX1sZXQgdz1bXCJ0ZXh0YXJlYVwiLFwiaW5wdXRcIl0uam9pbihcIixcIik7ZnVuY3Rpb24gTyhlKXt2YXIgcix0O3JldHVybih0PShyPWU9PW51bGw/dm9pZCAwOmUubWF0Y2hlcyk9PW51bGw/dm9pZCAwOnIuY2FsbChlLHcpKSE9bnVsbD90OiExfWZ1bmN0aW9uIF8oZSxyPXQ9PnQpe3JldHVybiBlLnNsaWNlKCkuc29ydCgodCx1KT0+e2xldCBvPXIodCksYz1yKHUpO2lmKG89PT1udWxsfHxjPT09bnVsbClyZXR1cm4gMDtsZXQgbD1vLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMpO3JldHVybiBsJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HPy0xOmwmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkc/MTowfSl9ZnVuY3Rpb24gaihlLHIpe3JldHVybiBQKGIoKSxyLHtyZWxhdGl2ZVRvOmV9KX1mdW5jdGlvbiBQKGUscix7c29ydGVkOnQ9ITAscmVsYXRpdmVUbzp1PW51bGwsc2tpcEVsZW1lbnRzOm89W119PXt9KXtsZXQgYz1BcnJheS5pc0FycmF5KGUpP2UubGVuZ3RoPjA/ZVswXS5vd25lckRvY3VtZW50OmRvY3VtZW50OmUub3duZXJEb2N1bWVudCxsPUFycmF5LmlzQXJyYXkoZSk/dD9fKGUpOmU6ciY2ND9TKGUpOmIoZSk7by5sZW5ndGg+MCYmbC5sZW5ndGg+MSYmKGw9bC5maWx0ZXIocz0+IW8uc29tZShhPT5hIT1udWxsJiZcImN1cnJlbnRcImluIGE/KGE9PW51bGw/dm9pZCAwOmEuY3VycmVudCk9PT1zOmE9PT1zKSkpLHU9dSE9bnVsbD91OmMuYWN0aXZlRWxlbWVudDtsZXQgbj0oKCk9PntpZihyJjUpcmV0dXJuIDE7aWYociYxMClyZXR1cm4tMTt0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIEZvY3VzLkZpcnN0LCBGb2N1cy5QcmV2aW91cywgRm9jdXMuTmV4dCBvciBGb2N1cy5MYXN0XCIpfSkoKSx4PSgoKT0+e2lmKHImMSlyZXR1cm4gMDtpZihyJjIpcmV0dXJuIE1hdGgubWF4KDAsbC5pbmRleE9mKHUpKS0xO2lmKHImNClyZXR1cm4gTWF0aC5tYXgoMCxsLmluZGV4T2YodSkpKzE7aWYociY4KXJldHVybiBsLmxlbmd0aC0xO3Rocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRm9jdXMuRmlyc3QsIEZvY3VzLlByZXZpb3VzLCBGb2N1cy5OZXh0IG9yIEZvY3VzLkxhc3RcIil9KSgpLE09ciYzMj97cHJldmVudFNjcm9sbDohMH06e30sbT0wLGQ9bC5sZW5ndGgsaTtkb3tpZihtPj1kfHxtK2Q8PTApcmV0dXJuIDA7bGV0IHM9eCttO2lmKHImMTYpcz0ocytkKSVkO2Vsc2V7aWYoczwwKXJldHVybiAzO2lmKHM+PWQpcmV0dXJuIDF9aT1sW3NdLGk9PW51bGx8fGkuZm9jdXMoTSksbSs9bn13aGlsZShpIT09Yy5hY3RpdmVFbGVtZW50KTtyZXR1cm4gciY2JiZPKGkpJiZpLnNlbGVjdCgpLDJ9ZXhwb3J0e0YgYXMgRm9jdXMsVCBhcyBGb2N1c1Jlc3VsdCxoIGFzIEZvY3VzYWJsZU1vZGUsSSBhcyBmb2N1c0VsZW1lbnQsaiBhcyBmb2N1c0Zyb20sUCBhcyBmb2N1c0luLFMgYXMgZ2V0QXV0b0ZvY3VzYWJsZUVsZW1lbnRzLGIgYXMgZ2V0Rm9jdXNhYmxlRWxlbWVudHMsQSBhcyBpc0ZvY3VzYWJsZUVsZW1lbnQsRyBhcyByZXN0b3JlRm9jdXNJZk5lY2Vzc2FyeSxfIGFzIHNvcnRCeURvbU5vZGV9O1xuIl0sIm5hbWVzIjpbImRpc3Bvc2FibGVzIiwiTiIsIm1hdGNoIiwiTCIsImdldE93bmVyRG9jdW1lbnQiLCJFIiwiZiIsIm1hcCIsImUiLCJqb2luIiwicCIsIkYiLCJuIiwiRmlyc3QiLCJQcmV2aW91cyIsIk5leHQiLCJMYXN0IiwiV3JhcEFyb3VuZCIsIk5vU2Nyb2xsIiwiQXV0b0ZvY3VzIiwiVCIsIm8iLCJFcnJvciIsIk92ZXJmbG93IiwiU3VjY2VzcyIsIlVuZGVyZmxvdyIsInkiLCJ0IiwiYiIsImRvY3VtZW50IiwiYm9keSIsIkFycmF5IiwiZnJvbSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzb3J0IiwiciIsIk1hdGgiLCJzaWduIiwidGFiSW5kZXgiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwiUyIsImgiLCJTdHJpY3QiLCJMb29zZSIsIkEiLCJtYXRjaGVzIiwidSIsInBhcmVudEVsZW1lbnQiLCJHIiwibmV4dEZyYW1lIiwiYWN0aXZlRWxlbWVudCIsIkkiLCJIIiwiS2V5Ym9hcmQiLCJNb3VzZSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJtZXRhS2V5IiwiYWx0S2V5IiwiY3RybEtleSIsImRvY3VtZW50RWxlbWVudCIsImRhdGFzZXQiLCJoZWFkbGVzc3VpRm9jdXNWaXNpYmxlIiwiZGV0YWlsIiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwidyIsIk8iLCJjYWxsIiwiXyIsInNsaWNlIiwiYyIsImwiLCJjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiIsIk5vZGUiLCJET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkciLCJET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkciLCJqIiwiUCIsInJlbGF0aXZlVG8iLCJzb3J0ZWQiLCJza2lwRWxlbWVudHMiLCJpc0FycmF5IiwibGVuZ3RoIiwib3duZXJEb2N1bWVudCIsImZpbHRlciIsInMiLCJzb21lIiwiYSIsImN1cnJlbnQiLCJ4IiwibWF4IiwiaW5kZXhPZiIsIk0iLCJtIiwiZCIsImkiLCJzZWxlY3QiLCJGb2N1cyIsIkZvY3VzUmVzdWx0IiwiRm9jdXNhYmxlTW9kZSIsImZvY3VzRWxlbWVudCIsImZvY3VzRnJvbSIsImZvY3VzSW4iLCJnZXRBdXRvRm9jdXNhYmxlRWxlbWVudHMiLCJnZXRGb2N1c2FibGVFbGVtZW50cyIsImlzRm9jdXNhYmxlRWxlbWVudCIsInJlc3RvcmVGb2N1c0lmTmVjZXNzYXJ5Iiwic29ydEJ5RG9tTm9kZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js": -/*!************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/match.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ match: function() { return /* binding */ u; }\n/* harmony export */ });\nfunction u(r, n) {\n for(var _len = arguments.length, a = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){\n a[_key - 2] = arguments[_key];\n }\n if (r in n) {\n let e = n[r];\n return typeof e == \"function\" ? e(...a) : e;\n }\n let t = new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map((e)=>`\"${e}\"`).join(\", \")}.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, u), t;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21hdGNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDLEVBQUNDLENBQUM7SUFBQztRQUFHQyxFQUFILDJCQUFJOztJQUFFLElBQUdGLEtBQUtDLEdBQUU7UUFBQyxJQUFJRSxJQUFFRixDQUFDLENBQUNELEVBQUU7UUFBQyxPQUFPLE9BQU9HLEtBQUcsYUFBV0EsS0FBS0QsS0FBR0M7SUFBQztJQUFDLElBQUlDLElBQUUsSUFBSUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFTCxFQUFFLDhEQUE4RCxFQUFFTSxPQUFPQyxJQUFJLENBQUNOLEdBQUdPLEdBQUcsQ0FBQ0wsQ0FBQUEsSUFBRyxDQUFDLENBQUMsRUFBRUEsRUFBRSxDQUFDLENBQUMsRUFBRU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQUUsTUFBTUosTUFBTUssaUJBQWlCLElBQUVMLE1BQU1LLGlCQUFpQixDQUFDTixHQUFFTCxJQUFHSztBQUFDO0FBQW9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21hdGNoLmpzPzVmZTQiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdShyLG4sLi4uYSl7aWYociBpbiBuKXtsZXQgZT1uW3JdO3JldHVybiB0eXBlb2YgZT09XCJmdW5jdGlvblwiP2UoLi4uYSk6ZX1sZXQgdD1uZXcgRXJyb3IoYFRyaWVkIHRvIGhhbmRsZSBcIiR7cn1cIiBidXQgdGhlcmUgaXMgbm8gaGFuZGxlciBkZWZpbmVkLiBPbmx5IGRlZmluZWQgaGFuZGxlcnMgYXJlOiAke09iamVjdC5rZXlzKG4pLm1hcChlPT5gXCIke2V9XCJgKS5qb2luKFwiLCBcIil9LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0LHUpLHR9ZXhwb3J0e3UgYXMgbWF0Y2h9O1xuIl0sIm5hbWVzIjpbInUiLCJyIiwibiIsImEiLCJlIiwidCIsIkVycm9yIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImpvaW4iLCJjYXB0dXJlU3RhY2tUcmFjZSIsIm1hdGNoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/micro-task.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ microTask: function() { return /* binding */ t; }\n/* harmony export */ });\nfunction t(e) {\n typeof queueMicrotask == \"function\" ? queueMicrotask(e) : Promise.resolve().then(e).catch((o)=>setTimeout(()=>{\n throw o;\n }));\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21pY3JvLXRhc2suanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxPQUFPQyxrQkFBZ0IsYUFBV0EsZUFBZUQsS0FBR0UsUUFBUUMsT0FBTyxHQUFHQyxJQUFJLENBQUNKLEdBQUdLLEtBQUssQ0FBQ0MsQ0FBQUEsSUFBR0MsV0FBVztZQUFLLE1BQU1EO1FBQUM7QUFBRztBQUF3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9taWNyby10YXNrLmpzP2U3YjgiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdChlKXt0eXBlb2YgcXVldWVNaWNyb3Rhc2s9PVwiZnVuY3Rpb25cIj9xdWV1ZU1pY3JvdGFzayhlKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKGUpLmNhdGNoKG89PnNldFRpbWVvdXQoKCk9Pnt0aHJvdyBvfSkpfWV4cG9ydHt0IGFzIG1pY3JvVGFza307XG4iXSwibmFtZXMiOlsidCIsImUiLCJxdWV1ZU1pY3JvdGFzayIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsImNhdGNoIiwibyIsInNldFRpbWVvdXQiLCJtaWNyb1Rhc2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js": -/*!************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/owner.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getOwnerDocument: function() { return /* binding */ u; }\n/* harmony export */ });\n/* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\");\n\nfunction u(r) {\n return _env_js__WEBPACK_IMPORTED_MODULE_0__.env.isServer ? null : r instanceof Node ? r.ownerDocument : r != null && r.hasOwnProperty(\"current\") && r.current instanceof Node ? r.current.ownerDocument : document;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL293bmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQUEsU0FBU0UsRUFBRUMsQ0FBQztJQUFFLE9BQU9GLHdDQUFDQSxDQUFDRyxRQUFRLEdBQUMsT0FBS0QsYUFBYUUsT0FBS0YsRUFBRUcsYUFBYSxHQUFDSCxLQUFHLFFBQU1BLEVBQUVJLGNBQWMsQ0FBQyxjQUFZSixFQUFFSyxPQUFPLFlBQVlILE9BQUtGLEVBQUVLLE9BQU8sQ0FBQ0YsYUFBYSxHQUFDRztBQUFRO0FBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL293bmVyLmpzP2ZhNWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e2VudiBhcyBufWZyb20nLi9lbnYuanMnO2Z1bmN0aW9uIHUocil7cmV0dXJuIG4uaXNTZXJ2ZXI/bnVsbDpyIGluc3RhbmNlb2YgTm9kZT9yLm93bmVyRG9jdW1lbnQ6ciE9bnVsbCYmci5oYXNPd25Qcm9wZXJ0eShcImN1cnJlbnRcIikmJnIuY3VycmVudCBpbnN0YW5jZW9mIE5vZGU/ci5jdXJyZW50Lm93bmVyRG9jdW1lbnQ6ZG9jdW1lbnR9ZXhwb3J0e3UgYXMgZ2V0T3duZXJEb2N1bWVudH07XG4iXSwibmFtZXMiOlsiZW52IiwibiIsInUiLCJyIiwiaXNTZXJ2ZXIiLCJOb2RlIiwib3duZXJEb2N1bWVudCIsImhhc093blByb3BlcnR5IiwiY3VycmVudCIsImRvY3VtZW50IiwiZ2V0T3duZXJEb2N1bWVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js": -/*!*************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/render.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RenderFeatures: function() { return /* binding */ O; },\n/* harmony export */ RenderStrategy: function() { return /* binding */ M; },\n/* harmony export */ compact: function() { return /* binding */ m; },\n/* harmony export */ forwardRefWithAs: function() { return /* binding */ I; },\n/* harmony export */ mergeProps: function() { return /* binding */ D; },\n/* harmony export */ render: function() { return /* binding */ H; },\n/* harmony export */ useMergeRefsFn: function() { return /* binding */ U; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _class_names_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./class-names.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/class-names.js\");\n/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n\n\n\nvar O = ((a)=>(a[a.None = 0] = \"None\", a[a.RenderStrategy = 1] = \"RenderStrategy\", a[a.Static = 2] = \"Static\", a))(O || {}), M = ((e)=>(e[e.Unmount = 0] = \"Unmount\", e[e.Hidden = 1] = \"Hidden\", e))(M || {});\nfunction H(param) {\n let { ourProps: r, theirProps: n, slot: e, defaultTag: a, features: s, visible: t = !0, name: l, mergeRefs: i } = param;\n i = i != null ? i : A;\n let o = N(n, r);\n if (t) return b(o, e, a, l, i);\n let y = s != null ? s : 0;\n if (y & 2) {\n let { static: f = !1, ...u } = o;\n if (f) return b(u, e, a, l, i);\n }\n if (y & 1) {\n let { unmount: f = !0, ...u } = o;\n return (0,_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(f ? 0 : 1, {\n [0] () {\n return null;\n },\n [1] () {\n return b({\n ...u,\n hidden: !0,\n style: {\n display: \"none\"\n }\n }, e, a, l, i);\n }\n });\n }\n return b(o, e, a, l, i);\n}\n_c = H;\nfunction b(r) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, e = arguments.length > 2 ? arguments[2] : void 0, a = arguments.length > 3 ? arguments[3] : void 0, s = arguments.length > 4 ? arguments[4] : void 0;\n let { as: t = e, children: l, refName: i = \"ref\", ...o } = h(r, [\n \"unmount\",\n \"static\"\n ]), y = r.ref !== void 0 ? {\n [i]: r.ref\n } : {}, f = typeof l == \"function\" ? l(n) : l;\n \"className\" in o && o.className && typeof o.className == \"function\" && (o.className = o.className(n)), o[\"aria-labelledby\"] && o[\"aria-labelledby\"] === o.id && (o[\"aria-labelledby\"] = void 0);\n let u = {};\n if (n) {\n let d = !1, p = [];\n for (let [c, T] of Object.entries(n))typeof T == \"boolean\" && (d = !0), T === !0 && p.push(c.replace(/([A-Z])/g, (g)=>`-${g.toLowerCase()}`));\n if (d) {\n u[\"data-headlessui-state\"] = p.join(\" \");\n for (let c of p)u[`data-${c}`] = \"\";\n }\n }\n if (t === react__WEBPACK_IMPORTED_MODULE_0__.Fragment && (Object.keys(m(o)).length > 0 || Object.keys(m(u)).length > 0)) if (!/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(f) || Array.isArray(f) && f.length > 1) {\n if (Object.keys(m(o)).length > 0) throw new Error([\n 'Passing props on \"Fragment\"!',\n \"\",\n `The current component <${a} /> is rendering a \"Fragment\".`,\n \"However we need to passthrough the following props:\",\n Object.keys(m(o)).concat(Object.keys(m(u))).map((d)=>` - ${d}`).join(`\n`),\n \"\",\n \"You can apply a few solutions:\",\n [\n 'Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\n \"Render a single element as the child so that we can forward the props onto that element.\"\n ].map((d)=>` - ${d}`).join(`\n`)\n ].join(`\n`));\n } else {\n let d = f.props, p = d == null ? void 0 : d.className, c = typeof p == \"function\" ? function() {\n for(var _len = arguments.length, F = new Array(_len), _key = 0; _key < _len; _key++){\n F[_key] = arguments[_key];\n }\n return (0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p(...F), o.className);\n } : (0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p, o.className), T = c ? {\n className: c\n } : {}, g = N(f.props, m(h(o, [\n \"ref\"\n ])));\n for(let F in u)F in g && delete u[F];\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(f, Object.assign({}, g, u, y, {\n ref: s(f.ref, y.ref)\n }, T));\n }\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(t, Object.assign({}, h(o, [\n \"ref\"\n ]), t !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment && y, t !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment && u), f);\n}\nfunction U() {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n for (let a of r.current)a != null && (typeof a == \"function\" ? a(e) : a.current = e);\n }, []);\n return function() {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n if (!e.every((a)=>a == null)) return r.current = e, n;\n };\n}\n_c1 = U;\nfunction A() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n return r.every((n)=>n == null) ? void 0 : (n)=>{\n for (let e of r)e != null && (typeof e == \"function\" ? e(n) : e.current = n);\n };\n}\n_c2 = A;\nfunction N() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n var a;\n if (r.length === 0) return {};\n if (r.length === 1) return r[0];\n let n = {}, e = {};\n for (let s of r)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : n[t] = s[t];\n if (n.disabled || n[\"aria-disabled\"]) for(let s in e)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(s) && (e[s] = [\n (t)=>{\n var l;\n return (l = t == null ? void 0 : t.preventDefault) == null ? void 0 : l.call(t);\n }\n ]);\n for(let s in e)Object.assign(n, {\n [s] (t) {\n for(var _len = arguments.length, l = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n l[_key - 1] = arguments[_key];\n }\n let i = e[s];\n for (let o of i){\n if ((t instanceof Event || (t == null ? void 0 : t.nativeEvent) instanceof Event) && t.defaultPrevented) return;\n o(t, ...l);\n }\n }\n });\n return n;\n}\n_c3 = N;\nfunction D() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n var a;\n if (r.length === 0) return {};\n if (r.length === 1) return r[0];\n let n = {}, e = {};\n for (let s of r)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : n[t] = s[t];\n for(let s in e)Object.assign(n, {\n [s] () {\n for(var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++){\n t[_key] = arguments[_key];\n }\n let l = e[s];\n for (let i of l)i == null || i(...t);\n }\n });\n return n;\n}\n_c4 = D;\nfunction I(r) {\n var n;\n return Object.assign(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(r), {\n displayName: (n = r.displayName) != null ? n : r.name\n });\n}\n_c5 = I;\nfunction m(r) {\n let n = Object.assign({}, r);\n for(let e in n)n[e] === void 0 && delete n[e];\n return n;\n}\nfunction h(r) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n let e = Object.assign({}, r);\n for (let a of n)a in e && delete e[a];\n return e;\n}\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"H\");\n$RefreshReg$(_c1, \"U\");\n$RefreshReg$(_c2, \"A\");\n$RefreshReg$(_c3, \"N\");\n$RefreshReg$(_c4, \"D\");\n$RefreshReg$(_c5, \"I\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3JlbmRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQXVJO0FBQThDO0FBQW1DO0FBQUEsSUFBSWtCLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9ELENBQUMsQ0FBQ0EsRUFBRUUsY0FBYyxHQUFDLEVBQUUsR0FBQyxrQkFBaUJGLENBQUMsQ0FBQ0EsRUFBRUcsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTSCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQyxJQUFHSyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsT0FBTyxHQUFDLEVBQUUsR0FBQyxXQUFVRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTSSxFQUFFLEtBQXdGO1FBQXhGLEVBQUNDLFVBQVNDLENBQUMsRUFBQ0MsWUFBV0MsQ0FBQyxFQUFDQyxNQUFLUixDQUFDLEVBQUNTLFlBQVdkLENBQUMsRUFBQ2UsVUFBU0MsQ0FBQyxFQUFDQyxTQUFRQyxJQUFFLENBQUMsQ0FBQyxFQUFDQyxNQUFLQyxDQUFDLEVBQUNDLFdBQVVDLENBQUMsRUFBQyxHQUF4RjtJQUEwRkEsSUFBRUEsS0FBRyxPQUFLQSxJQUFFQztJQUFFLElBQUlDLElBQUVDLEVBQUViLEdBQUVGO0lBQUcsSUFBR1EsR0FBRSxPQUFPUSxFQUFFRixHQUFFbkIsR0FBRUwsR0FBRW9CLEdBQUVFO0lBQUcsSUFBSUssSUFBRVgsS0FBRyxPQUFLQSxJQUFFO0lBQUUsSUFBR1csSUFBRSxHQUFFO1FBQUMsSUFBRyxFQUFDQyxRQUFPQyxJQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUdDLEdBQUUsR0FBQ047UUFB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QUFDLEdBQUVyRDtJQUFHLEtBQUksSUFBSVYsS0FBS1ksRUFBRVosS0FBS0ssS0FBRyxPQUFPQSxDQUFDLENBQUNMLEVBQUU7SUFBQyxPQUFPSztBQUFDO0FBQW9JIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3JlbmRlci5qcz9kZjM2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtGcmFnbWVudCBhcyBSLGNsb25lRWxlbWVudCBhcyB4LGNyZWF0ZUVsZW1lbnQgYXMgRSxmb3J3YXJkUmVmIGFzIGosaXNWYWxpZEVsZW1lbnQgYXMgUyx1c2VDYWxsYmFjayBhcyB2LHVzZVJlZiBhcyB3fWZyb21cInJlYWN0XCI7aW1wb3J0e2NsYXNzTmFtZXMgYXMgUH1mcm9tJy4vY2xhc3MtbmFtZXMuanMnO2ltcG9ydHttYXRjaCBhcyBrfWZyb20nLi9tYXRjaC5qcyc7dmFyIE89KGE9PihhW2EuTm9uZT0wXT1cIk5vbmVcIixhW2EuUmVuZGVyU3RyYXRlZ3k9MV09XCJSZW5kZXJTdHJhdGVneVwiLGFbYS5TdGF0aWM9Ml09XCJTdGF0aWNcIixhKSkoT3x8e30pLE09KGU9PihlW2UuVW5tb3VudD0wXT1cIlVubW91bnRcIixlW2UuSGlkZGVuPTFdPVwiSGlkZGVuXCIsZSkpKE18fHt9KTtmdW5jdGlvbiBIKHtvdXJQcm9wczpyLHRoZWlyUHJvcHM6bixzbG90OmUsZGVmYXVsdFRhZzphLGZlYXR1cmVzOnMsdmlzaWJsZTp0PSEwLG5hbWU6bCxtZXJnZVJlZnM6aX0pe2k9aSE9bnVsbD9pOkE7bGV0IG89TihuLHIpO2lmKHQpcmV0dXJuIGIobyxlLGEsbCxpKTtsZXQgeT1zIT1udWxsP3M6MDtpZih5JjIpe2xldHtzdGF0aWM6Zj0hMSwuLi51fT1vO2lmKGYpcmV0dXJuIGIodSxlLGEsbCxpKX1pZih5JjEpe2xldHt1bm1vdW50OmY9ITAsLi4udX09bztyZXR1cm4gayhmPzA6MSx7WzBdKCl7cmV0dXJuIG51bGx9LFsxXSgpe3JldHVybiBiKHsuLi51LGhpZGRlbjohMCxzdHlsZTp7ZGlzcGxheTpcIm5vbmVcIn19LGUsYSxsLGkpfX0pfXJldHVybiBiKG8sZSxhLGwsaSl9ZnVuY3Rpb24gYihyLG49e30sZSxhLHMpe2xldHthczp0PWUsY2hpbGRyZW46bCxyZWZOYW1lOmk9XCJyZWZcIiwuLi5vfT1oKHIsW1widW5tb3VudFwiLFwic3RhdGljXCJdKSx5PXIucmVmIT09dm9pZCAwP3tbaV06ci5yZWZ9Ont9LGY9dHlwZW9mIGw9PVwiZnVuY3Rpb25cIj9sKG4pOmw7XCJjbGFzc05hbWVcImluIG8mJm8uY2xhc3NOYW1lJiZ0eXBlb2Ygby5jbGFzc05hbWU9PVwiZnVuY3Rpb25cIiYmKG8uY2xhc3NOYW1lPW8uY2xhc3NOYW1lKG4pKSxvW1wiYXJpYS1sYWJlbGxlZGJ5XCJdJiZvW1wiYXJpYS1sYWJlbGxlZGJ5XCJdPT09by5pZCYmKG9bXCJhcmlhLWxhYmVsbGVkYnlcIl09dm9pZCAwKTtsZXQgdT17fTtpZihuKXtsZXQgZD0hMSxwPVtdO2ZvcihsZXRbYyxUXW9mIE9iamVjdC5lbnRyaWVzKG4pKXR5cGVvZiBUPT1cImJvb2xlYW5cIiYmKGQ9ITApLFQ9PT0hMCYmcC5wdXNoKGMucmVwbGFjZSgvKFtBLVpdKS9nLGc9PmAtJHtnLnRvTG93ZXJDYXNlKCl9YCkpO2lmKGQpe3VbXCJkYXRhLWhlYWRsZXNzdWktc3RhdGVcIl09cC5qb2luKFwiIFwiKTtmb3IobGV0IGMgb2YgcCl1W2BkYXRhLSR7Y31gXT1cIlwifX1pZih0PT09UiYmKE9iamVjdC5rZXlzKG0obykpLmxlbmd0aD4wfHxPYmplY3Qua2V5cyhtKHUpKS5sZW5ndGg+MCkpaWYoIVMoZil8fEFycmF5LmlzQXJyYXkoZikmJmYubGVuZ3RoPjEpe2lmKE9iamVjdC5rZXlzKG0obykpLmxlbmd0aD4wKXRocm93IG5ldyBFcnJvcihbJ1Bhc3NpbmcgcHJvcHMgb24gXCJGcmFnbWVudFwiIScsXCJcIixgVGhlIGN1cnJlbnQgY29tcG9uZW50IDwke2F9IC8+IGlzIHJlbmRlcmluZyBhIFwiRnJhZ21lbnRcIi5gLFwiSG93ZXZlciB3ZSBuZWVkIHRvIHBhc3N0aHJvdWdoIHRoZSBmb2xsb3dpbmcgcHJvcHM6XCIsT2JqZWN0LmtleXMobShvKSkuY29uY2F0KE9iamVjdC5rZXlzKG0odSkpKS5tYXAoZD0+YCAgLSAke2R9YCkuam9pbihgXG5gKSxcIlwiLFwiWW91IGNhbiBhcHBseSBhIGZldyBzb2x1dGlvbnM6XCIsWydBZGQgYW4gYGFzPVwiLi4uXCJgIHByb3AsIHRvIGVuc3VyZSB0aGF0IHdlIHJlbmRlciBhbiBhY3R1YWwgZWxlbWVudCBpbnN0ZWFkIG9mIGEgXCJGcmFnbWVudFwiLicsXCJSZW5kZXIgYSBzaW5nbGUgZWxlbWVudCBhcyB0aGUgY2hpbGQgc28gdGhhdCB3ZSBjYW4gZm9yd2FyZCB0aGUgcHJvcHMgb250byB0aGF0IGVsZW1lbnQuXCJdLm1hcChkPT5gICAtICR7ZH1gKS5qb2luKGBcbmApXS5qb2luKGBcbmApKX1lbHNle2xldCBkPWYucHJvcHMscD1kPT1udWxsP3ZvaWQgMDpkLmNsYXNzTmFtZSxjPXR5cGVvZiBwPT1cImZ1bmN0aW9uXCI/KC4uLkYpPT5QKHAoLi4uRiksby5jbGFzc05hbWUpOlAocCxvLmNsYXNzTmFtZSksVD1jP3tjbGFzc05hbWU6Y306e30sZz1OKGYucHJvcHMsbShoKG8sW1wicmVmXCJdKSkpO2ZvcihsZXQgRiBpbiB1KUYgaW4gZyYmZGVsZXRlIHVbRl07cmV0dXJuIHgoZixPYmplY3QuYXNzaWduKHt9LGcsdSx5LHtyZWY6cyhmLnJlZix5LnJlZil9LFQpKX1yZXR1cm4gRSh0LE9iamVjdC5hc3NpZ24oe30saChvLFtcInJlZlwiXSksdCE9PVImJnksdCE9PVImJnUpLGYpfWZ1bmN0aW9uIFUoKXtsZXQgcj13KFtdKSxuPXYoZT0+e2ZvcihsZXQgYSBvZiByLmN1cnJlbnQpYSE9bnVsbCYmKHR5cGVvZiBhPT1cImZ1bmN0aW9uXCI/YShlKTphLmN1cnJlbnQ9ZSl9LFtdKTtyZXR1cm4oLi4uZSk9PntpZighZS5ldmVyeShhPT5hPT1udWxsKSlyZXR1cm4gci5jdXJyZW50PWUsbn19ZnVuY3Rpb24gQSguLi5yKXtyZXR1cm4gci5ldmVyeShuPT5uPT1udWxsKT92b2lkIDA6bj0+e2ZvcihsZXQgZSBvZiByKWUhPW51bGwmJih0eXBlb2YgZT09XCJmdW5jdGlvblwiP2Uobik6ZS5jdXJyZW50PW4pfX1mdW5jdGlvbiBOKC4uLnIpe3ZhciBhO2lmKHIubGVuZ3RoPT09MClyZXR1cm57fTtpZihyLmxlbmd0aD09PTEpcmV0dXJuIHJbMF07bGV0IG49e30sZT17fTtmb3IobGV0IHMgb2Ygcilmb3IobGV0IHQgaW4gcyl0LnN0YXJ0c1dpdGgoXCJvblwiKSYmdHlwZW9mIHNbdF09PVwiZnVuY3Rpb25cIj8oKGE9ZVt0XSkhPW51bGx8fChlW3RdPVtdKSxlW3RdLnB1c2goc1t0XSkpOm5bdF09c1t0XTtpZihuLmRpc2FibGVkfHxuW1wiYXJpYS1kaXNhYmxlZFwiXSlmb3IobGV0IHMgaW4gZSkvXihvbig/OkNsaWNrfFBvaW50ZXJ8TW91c2V8S2V5KSg/OkRvd258VXB8UHJlc3MpPykkLy50ZXN0KHMpJiYoZVtzXT1bdD0+e3ZhciBsO3JldHVybihsPXQ9PW51bGw/dm9pZCAwOnQucHJldmVudERlZmF1bHQpPT1udWxsP3ZvaWQgMDpsLmNhbGwodCl9XSk7Zm9yKGxldCBzIGluIGUpT2JqZWN0LmFzc2lnbihuLHtbc10odCwuLi5sKXtsZXQgaT1lW3NdO2ZvcihsZXQgbyBvZiBpKXtpZigodCBpbnN0YW5jZW9mIEV2ZW50fHwodD09bnVsbD92b2lkIDA6dC5uYXRpdmVFdmVudClpbnN0YW5jZW9mIEV2ZW50KSYmdC5kZWZhdWx0UHJldmVudGVkKXJldHVybjtvKHQsLi4ubCl9fX0pO3JldHVybiBufWZ1bmN0aW9uIEQoLi4ucil7dmFyIGE7aWYoci5sZW5ndGg9PT0wKXJldHVybnt9O2lmKHIubGVuZ3RoPT09MSlyZXR1cm4gclswXTtsZXQgbj17fSxlPXt9O2ZvcihsZXQgcyBvZiByKWZvcihsZXQgdCBpbiBzKXQuc3RhcnRzV2l0aChcIm9uXCIpJiZ0eXBlb2Ygc1t0XT09XCJmdW5jdGlvblwiPygoYT1lW3RdKSE9bnVsbHx8KGVbdF09W10pLGVbdF0ucHVzaChzW3RdKSk6blt0XT1zW3RdO2ZvcihsZXQgcyBpbiBlKU9iamVjdC5hc3NpZ24obix7W3NdKC4uLnQpe2xldCBsPWVbc107Zm9yKGxldCBpIG9mIGwpaT09bnVsbHx8aSguLi50KX19KTtyZXR1cm4gbn1mdW5jdGlvbiBJKHIpe3ZhciBuO3JldHVybiBPYmplY3QuYXNzaWduKGoocikse2Rpc3BsYXlOYW1lOihuPXIuZGlzcGxheU5hbWUpIT1udWxsP246ci5uYW1lfSl9ZnVuY3Rpb24gbShyKXtsZXQgbj1PYmplY3QuYXNzaWduKHt9LHIpO2ZvcihsZXQgZSBpbiBuKW5bZV09PT12b2lkIDAmJmRlbGV0ZSBuW2VdO3JldHVybiBufWZ1bmN0aW9uIGgocixuPVtdKXtsZXQgZT1PYmplY3QuYXNzaWduKHt9LHIpO2ZvcihsZXQgYSBvZiBuKWEgaW4gZSYmZGVsZXRlIGVbYV07cmV0dXJuIGV9ZXhwb3J0e08gYXMgUmVuZGVyRmVhdHVyZXMsTSBhcyBSZW5kZXJTdHJhdGVneSxtIGFzIGNvbXBhY3QsSSBhcyBmb3J3YXJkUmVmV2l0aEFzLEQgYXMgbWVyZ2VQcm9wcyxIIGFzIHJlbmRlcixVIGFzIHVzZU1lcmdlUmVmc0ZufTtcbiJdLCJuYW1lcyI6WyJGcmFnbWVudCIsIlIiLCJjbG9uZUVsZW1lbnQiLCJ4IiwiY3JlYXRlRWxlbWVudCIsIkUiLCJmb3J3YXJkUmVmIiwiaiIsImlzVmFsaWRFbGVtZW50IiwiUyIsInVzZUNhbGxiYWNrIiwidiIsInVzZVJlZiIsInciLCJjbGFzc05hbWVzIiwiUCIsIm1hdGNoIiwiayIsIk8iLCJhIiwiTm9uZSIsIlJlbmRlclN0cmF0ZWd5IiwiU3RhdGljIiwiTSIsImUiLCJVbm1vdW50IiwiSGlkZGVuIiwiSCIsIm91clByb3BzIiwiciIsInRoZWlyUHJvcHMiLCJuIiwic2xvdCIsImRlZmF1bHRUYWciLCJmZWF0dXJlcyIsInMiLCJ2aXNpYmxlIiwidCIsIm5hbWUiLCJsIiwibWVyZ2VSZWZzIiwiaSIsIkEiLCJvIiwiTiIsImIiLCJ5Iiwic3RhdGljIiwiZiIsInUiLCJ1bm1vdW50IiwiaGlkZGVuIiwic3R5bGUiLCJkaXNwbGF5IiwiYXMiLCJjaGlsZHJlbiIsInJlZk5hbWUiLCJoIiwicmVmIiwiY2xhc3NOYW1lIiwiaWQiLCJkIiwicCIsImMiLCJUIiwiT2JqZWN0IiwiZW50cmllcyIsInB1c2giLCJyZXBsYWNlIiwiZyIsInRvTG93ZXJDYXNlIiwiam9pbiIsImtleXMiLCJtIiwibGVuZ3RoIiwiQXJyYXkiLCJpc0FycmF5IiwiRXJyb3IiLCJjb25jYXQiLCJtYXAiLCJwcm9wcyIsIkYiLCJhc3NpZ24iLCJVIiwiY3VycmVudCIsImV2ZXJ5Iiwic3RhcnRzV2l0aCIsImRpc2FibGVkIiwidGVzdCIsInByZXZlbnREZWZhdWx0IiwiY2FsbCIsIkV2ZW50IiwibmF0aXZlRXZlbnQiLCJkZWZhdWx0UHJldmVudGVkIiwiRCIsIkkiLCJkaXNwbGF5TmFtZSIsIlJlbmRlckZlYXR1cmVzIiwiY29tcGFjdCIsImZvcndhcmRSZWZXaXRoQXMiLCJtZXJnZVByb3BzIiwicmVuZGVyIiwidXNlTWVyZ2VSZWZzRm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/stable-collection.js": -/*!************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/stable-collection.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StableCollection: function() { return /* binding */ f; },\n/* harmony export */ useStableCollectionIndex: function() { return /* binding */ C; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nvar _s = $RefreshSig$(), _s1 = $RefreshSig$();\n\nconst s = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nfunction a() {\n return {\n groups: new Map,\n get (o, e) {\n var i;\n let t = this.groups.get(o);\n t || (t = new Map, this.groups.set(o, t));\n let n = (i = t.get(e)) != null ? i : 0;\n t.set(e, n + 1);\n let r = Array.from(t.keys()).indexOf(e);\n function u() {\n let c = t.get(e);\n c > 1 ? t.set(e, c - 1) : t.delete(e);\n }\n return [\n r,\n u\n ];\n }\n };\n}\nfunction f(param) {\n let { children: o } = param;\n _s();\n let e = react__WEBPACK_IMPORTED_MODULE_0__.useRef(a());\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(s.Provider, {\n value: e\n }, o);\n}\n_s(f, \"H+vjk2y7X6cSaIZejH4sINd7rMc=\");\nfunction C(o) {\n _s1();\n let e = react__WEBPACK_IMPORTED_MODULE_0__.useContext(s);\n if (!e) throw new Error(\"You must wrap your component in a <StableCollection>\");\n let t = react__WEBPACK_IMPORTED_MODULE_0__.useId(), [n, r] = e.current.get(o, t);\n return react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>r, []), n;\n}\n_s1(C, \"l4+NJh/UDM7GCuB0Y5HWwLeiUIk=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_0__.useId,\n react__WEBPACK_IMPORTED_MODULE_0__.useId\n ];\n});\n_c = C;\n\nvar _c;\n$RefreshReg$(_c, \"C\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBd0I7QUFBQSxNQUFNQyxrQkFBRUQsZ0RBQWUsQ0FBQztBQUFNLFNBQVNHO0lBQUksT0FBTTtRQUFDQyxRQUFPLElBQUlDO1FBQUlDLEtBQUlDLENBQUMsRUFBQ0MsQ0FBQztZQUFFLElBQUlDO1lBQUUsSUFBSUMsSUFBRSxJQUFJLENBQUNOLE1BQU0sQ0FBQ0UsR0FBRyxDQUFDQztZQUFHRyxLQUFJQSxDQUFBQSxJQUFFLElBQUlMLEtBQUksSUFBSSxDQUFDRCxNQUFNLENBQUNPLEdBQUcsQ0FBQ0osR0FBRUcsRUFBQztZQUFHLElBQUlFLElBQUUsQ0FBQ0gsSUFBRUMsRUFBRUosR0FBRyxDQUFDRSxFQUFDLEtBQUksT0FBS0MsSUFBRTtZQUFFQyxFQUFFQyxHQUFHLENBQUNILEdBQUVJLElBQUU7WUFBRyxJQUFJQyxJQUFFQyxNQUFNQyxJQUFJLENBQUNMLEVBQUVNLElBQUksSUFBSUMsT0FBTyxDQUFDVDtZQUFHLFNBQVNVO2dCQUFJLElBQUlDLElBQUVULEVBQUVKLEdBQUcsQ0FBQ0U7Z0JBQUdXLElBQUUsSUFBRVQsRUFBRUMsR0FBRyxDQUFDSCxHQUFFVyxJQUFFLEtBQUdULEVBQUVVLE1BQU0sQ0FBQ1o7WUFBRTtZQUFDLE9BQU07Z0JBQUNLO2dCQUFFSzthQUFFO1FBQUE7SUFBQztBQUFDO0FBQUMsU0FBU0csRUFBRSxLQUFZO1FBQVosRUFBQ0MsVUFBU2YsQ0FBQyxFQUFDLEdBQVo7O0lBQWMsSUFBSUMsSUFBRVIseUNBQVEsQ0FBQ0c7SUFBSyxxQkFBT0gsZ0RBQWUsQ0FBQ0MsRUFBRXdCLFFBQVEsRUFBQztRQUFDQyxPQUFNbEI7SUFBQyxHQUFFRDtBQUFFO0dBQWxGYztBQUFtRixTQUFTTSxFQUFFcEIsQ0FBQzs7SUFBRSxJQUFJQyxJQUFFUiw2Q0FBWSxDQUFDQztJQUFHLElBQUcsQ0FBQ08sR0FBRSxNQUFNLElBQUlxQixNQUFNO0lBQXdELElBQUluQixJQUFFVix3Q0FBTyxJQUFHLENBQUNZLEdBQUVDLEVBQUUsR0FBQ0wsRUFBRXVCLE9BQU8sQ0FBQ3pCLEdBQUcsQ0FBQ0MsR0FBRUc7SUFBRyxPQUFPViw0Q0FBVyxDQUFDLElBQUlhLEdBQUUsRUFBRSxHQUFFRDtBQUFDO0lBQWhMZTs7UUFBK0czQix3Q0FBTzhCO1FBQVA5Qix3Q0FBTzhCOzs7S0FBdEhIO0FBQTZPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzPzUwNzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KmFzIGwgZnJvbVwicmVhY3RcIjtjb25zdCBzPWwuY3JlYXRlQ29udGV4dChudWxsKTtmdW5jdGlvbiBhKCl7cmV0dXJue2dyb3VwczpuZXcgTWFwLGdldChvLGUpe3ZhciBpO2xldCB0PXRoaXMuZ3JvdXBzLmdldChvKTt0fHwodD1uZXcgTWFwLHRoaXMuZ3JvdXBzLnNldChvLHQpKTtsZXQgbj0oaT10LmdldChlKSkhPW51bGw/aTowO3Quc2V0KGUsbisxKTtsZXQgcj1BcnJheS5mcm9tKHQua2V5cygpKS5pbmRleE9mKGUpO2Z1bmN0aW9uIHUoKXtsZXQgYz10LmdldChlKTtjPjE/dC5zZXQoZSxjLTEpOnQuZGVsZXRlKGUpfXJldHVybltyLHVdfX19ZnVuY3Rpb24gZih7Y2hpbGRyZW46b30pe2xldCBlPWwudXNlUmVmKGEoKSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChzLlByb3ZpZGVyLHt2YWx1ZTplfSxvKX1mdW5jdGlvbiBDKG8pe2xldCBlPWwudXNlQ29udGV4dChzKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoXCJZb3UgbXVzdCB3cmFwIHlvdXIgY29tcG9uZW50IGluIGEgPFN0YWJsZUNvbGxlY3Rpb24+XCIpO2xldCB0PWwudXNlSWQoKSxbbixyXT1lLmN1cnJlbnQuZ2V0KG8sdCk7cmV0dXJuIGwudXNlRWZmZWN0KCgpPT5yLFtdKSxufWV4cG9ydHtmIGFzIFN0YWJsZUNvbGxlY3Rpb24sQyBhcyB1c2VTdGFibGVDb2xsZWN0aW9uSW5kZXh9O1xuIl0sIm5hbWVzIjpbImwiLCJzIiwiY3JlYXRlQ29udGV4dCIsImEiLCJncm91cHMiLCJNYXAiLCJnZXQiLCJvIiwiZSIsImkiLCJ0Iiwic2V0IiwibiIsInIiLCJBcnJheSIsImZyb20iLCJrZXlzIiwiaW5kZXhPZiIsInUiLCJjIiwiZGVsZXRlIiwiZiIsImNoaWxkcmVuIiwidXNlUmVmIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJDIiwidXNlQ29udGV4dCIsIkVycm9yIiwidXNlSWQiLCJjdXJyZW50IiwidXNlRWZmZWN0IiwiU3RhYmxlQ29sbGVjdGlvbiIsInVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/stable-collection.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs": -/*!**************************************************************!*\ - !*** ./node_modules/@react-aria/focus/dist/useFocusRing.mjs ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocusRing: function() { return /* binding */ $f7dceffc5ad7768b$export$4e328f61c538687f; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocus.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n\n\n\nfunction $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__.isFocusVisible)()\n });\n let [isFocused, setFocused] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__.useFocusVisibleListener)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [], {\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_2__.useFocus)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_3__.useFocusWithin)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\n\n//# sourceMappingURL=useFocusRing.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9mb2N1cy9kaXN0L3VzZUZvY3VzUmluZy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBa047QUFDcEc7Ozs7QUFJOUcsNkRBQTZEO0FBQzdELFVBQVUseUVBQXlFO0FBQ25GLG9CQUFvQix5Q0FBYTtBQUNqQztBQUNBLHlDQUF5QyxvRUFBcUI7QUFDOUQsS0FBSztBQUNMLHNDQUFzQywyQ0FBZTtBQUNyRCxxREFBcUQsMkNBQWU7QUFDcEUsMEJBQTBCLDhDQUFrQjtBQUM1Qyw0QkFBNEIsOENBQWtCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsUUFBUSw2RUFBOEI7QUFDdEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTCxVQUFVLHlCQUF5QixNQUFNLDhEQUFlO0FBQ3hEO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsVUFBVSxxQ0FBcUMsTUFBTSxvRUFBcUI7QUFDMUU7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdtRTtBQUNuRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvZm9jdXMvZGlzdC91c2VGb2N1c1JpbmcubWpzPzI3NGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0ZvY3VzVmlzaWJsZSBhcyAkaXNXRTUkaXNGb2N1c1Zpc2libGUsIHVzZUZvY3VzVmlzaWJsZUxpc3RlbmVyIGFzICRpc1dFNSR1c2VGb2N1c1Zpc2libGVMaXN0ZW5lciwgdXNlRm9jdXMgYXMgJGlzV0U1JHVzZUZvY3VzLCB1c2VGb2N1c1dpdGhpbiBhcyAkaXNXRTUkdXNlRm9jdXNXaXRoaW59IGZyb20gXCJAcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnNcIjtcbmltcG9ydCB7dXNlUmVmIGFzICRpc1dFNSR1c2VSZWYsIHVzZVN0YXRlIGFzICRpc1dFNSR1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgYXMgJGlzV0U1JHVzZUNhbGxiYWNrfSBmcm9tIFwicmVhY3RcIjtcblxuXG5cbmZ1bmN0aW9uICRmN2RjZWZmYzVhZDc3NjhiJGV4cG9ydCQ0ZTMyOGY2MWM1Mzg2ODdmKHByb3BzID0ge30pIHtcbiAgICBsZXQgeyBhdXRvRm9jdXM6IGF1dG9Gb2N1cyA9IGZhbHNlLCBpc1RleHRJbnB1dDogaXNUZXh0SW5wdXQsIHdpdGhpbjogd2l0aGluIH0gPSBwcm9wcztcbiAgICBsZXQgc3RhdGUgPSAoMCwgJGlzV0U1JHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzZWQ6IGZhbHNlLFxuICAgICAgICBpc0ZvY3VzVmlzaWJsZTogYXV0b0ZvY3VzIHx8ICgwLCAkaXNXRTUkaXNGb2N1c1Zpc2libGUpKClcbiAgICB9KTtcbiAgICBsZXQgW2lzRm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSAoMCwgJGlzV0U1JHVzZVN0YXRlKShmYWxzZSk7XG4gICAgbGV0IFtpc0ZvY3VzVmlzaWJsZVN0YXRlLCBzZXRGb2N1c1Zpc2libGVdID0gKDAsICRpc1dFNSR1c2VTdGF0ZSkoKCk9PnN0YXRlLmN1cnJlbnQuaXNGb2N1c2VkICYmIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1Zpc2libGUpO1xuICAgIGxldCB1cGRhdGVTdGF0ZSA9ICgwLCAkaXNXRTUkdXNlQ2FsbGJhY2spKCgpPT5zZXRGb2N1c1Zpc2libGUoc3RhdGUuY3VycmVudC5pc0ZvY3VzZWQgJiYgc3RhdGUuY3VycmVudC5pc0ZvY3VzVmlzaWJsZSksIFtdKTtcbiAgICBsZXQgb25Gb2N1c0NoYW5nZSA9ICgwLCAkaXNXRTUkdXNlQ2FsbGJhY2spKChpc0ZvY3VzZWQpPT57XG4gICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgICAgICBzZXRGb2N1c2VkKGlzRm9jdXNlZCk7XG4gICAgICAgIHVwZGF0ZVN0YXRlKCk7XG4gICAgfSwgW1xuICAgICAgICB1cGRhdGVTdGF0ZVxuICAgIF0pO1xuICAgICgwLCAkaXNXRTUkdXNlRm9jdXNWaXNpYmxlTGlzdGVuZXIpKChpc0ZvY3VzVmlzaWJsZSk9PntcbiAgICAgICAgc3RhdGUuY3VycmVudC5pc0ZvY3VzVmlzaWJsZSA9IGlzRm9jdXNWaXNpYmxlO1xuICAgICAgICB1cGRhdGVTdGF0ZSgpO1xuICAgIH0sIFtdLCB7XG4gICAgICAgIGlzVGV4dElucHV0OiBpc1RleHRJbnB1dFxuICAgIH0pO1xuICAgIGxldCB7IGZvY3VzUHJvcHM6IGZvY3VzUHJvcHMgfSA9ICgwLCAkaXNXRTUkdXNlRm9jdXMpKHtcbiAgICAgICAgaXNEaXNhYmxlZDogd2l0aGluLFxuICAgICAgICBvbkZvY3VzQ2hhbmdlOiBvbkZvY3VzQ2hhbmdlXG4gICAgfSk7XG4gICAgbGV0IHsgZm9jdXNXaXRoaW5Qcm9wczogZm9jdXNXaXRoaW5Qcm9wcyB9ID0gKDAsICRpc1dFNSR1c2VGb2N1c1dpdGhpbikoe1xuICAgICAgICBpc0Rpc2FibGVkOiAhd2l0aGluLFxuICAgICAgICBvbkZvY3VzV2l0aGluQ2hhbmdlOiBvbkZvY3VzQ2hhbmdlXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgIGlzRm9jdXNWaXNpYmxlOiBpc0ZvY3VzVmlzaWJsZVN0YXRlLFxuICAgICAgICBmb2N1c1Byb3BzOiB3aXRoaW4gPyBmb2N1c1dpdGhpblByb3BzIDogZm9jdXNQcm9wc1xuICAgIH07XG59XG5cblxuZXhwb3J0IHskZjdkY2VmZmM1YWQ3NzY4YiRleHBvcnQkNGUzMjhmNjFjNTM4Njg3ZiBhcyB1c2VGb2N1c1Jpbmd9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXNSaW5nLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocus.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useFocus.mjs ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocus: function() { return /* binding */ $a1ea59d68270f0dd$export$f8168d8dd8fd66e6; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_1__.useSyntheticBlurEvent)(onBlur);\n const onFocus = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n const ownerDocument = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.getOwnerDocument)(e.target);\n if (e.target === e.currentTarget && ownerDocument.activeElement === e.target) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\n\n//# sourceMappingURL=useFocus.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1cy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUErRjtBQUN2QztBQUNzQjs7QUFFOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0EsVUFBVSxpR0FBaUc7QUFDM0csdUJBQXVCLDhDQUFrQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw2REFBeUM7QUFDMUUsd0JBQXdCLDhDQUFrQjtBQUMxQztBQUNBO0FBQ0Esa0NBQWtDLCtEQUF1QjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUcrRDtBQUMvRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXMubWpzPzcwYjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VTeW50aGV0aWNCbHVyRXZlbnQgYXMgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2N9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHt1c2VDYWxsYmFjayBhcyAkaGYwbGokdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtnZXRPd25lckRvY3VtZW50IGFzICRoZjBsaiRnZXRPd25lckRvY3VtZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIC8vIFBvcnRpb25zIG9mIHRoZSBjb2RlIGluIHRoaXMgZmlsZSBhcmUgYmFzZWQgb24gY29kZSBmcm9tIHJlYWN0LlxuLy8gT3JpZ2luYWwgbGljZW5zaW5nIGZvciB0aGUgZm9sbG93aW5nIGNhbiBiZSBmb3VuZCBpbiB0aGVcbi8vIE5PVElDRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL2NjN2MxYWVjZTQ2YTZiNjliNDE5NThkNzMxZTBmZDI3Yzk0YmZjNmMvcGFja2FnZXMvcmVhY3QtaW50ZXJhY3Rpb25zXG5cblxuXG5mdW5jdGlvbiAkYTFlYTU5ZDY4MjcwZjBkZCRleHBvcnQkZjgxNjhkOGRkOGZkNjZlNihwcm9wcykge1xuICAgIGxldCB7IGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsIG9uRm9jdXM6IG9uRm9jdXNQcm9wLCBvbkJsdXI6IG9uQmx1clByb3AsIG9uRm9jdXNDaGFuZ2U6IG9uRm9jdXNDaGFuZ2UgfSA9IHByb3BzO1xuICAgIGNvbnN0IG9uQmx1ciA9ICgwLCAkaGYwbGokdXNlQ2FsbGJhY2spKChlKT0+e1xuICAgICAgICBpZiAoZS50YXJnZXQgPT09IGUuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uQmx1clByb3ApIG9uQmx1clByb3AoZSk7XG4gICAgICAgICAgICBpZiAob25Gb2N1c0NoYW5nZSkgb25Gb2N1c0NoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25CbHVyUHJvcCxcbiAgICAgICAgb25Gb2N1c0NoYW5nZVxuICAgIF0pO1xuICAgIGNvbnN0IG9uU3ludGhldGljRm9jdXMgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MpKG9uQmx1cik7XG4gICAgY29uc3Qgb25Gb2N1cyA9ICgwLCAkaGYwbGokdXNlQ2FsbGJhY2spKChlKT0+e1xuICAgICAgICAvLyBEb3VibGUgY2hlY2sgdGhhdCBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFjdHVhbGx5IG1hdGNoZXMgZS50YXJnZXQgaW4gY2FzZSBhIHByZXZpb3VzbHkgY2hhaW5lZFxuICAgICAgICAvLyBmb2N1cyBoYW5kbGVyIGFscmVhZHkgbW92ZWQgZm9jdXMgc29tZXdoZXJlIGVsc2UuXG4gICAgICAgIGNvbnN0IG93bmVyRG9jdW1lbnQgPSAoMCwgJGhmMGxqJGdldE93bmVyRG9jdW1lbnQpKGUudGFyZ2V0KTtcbiAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBlLmN1cnJlbnRUYXJnZXQgJiYgb3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNQcm9wKSBvbkZvY3VzUHJvcChlKTtcbiAgICAgICAgICAgIGlmIChvbkZvY3VzQ2hhbmdlKSBvbkZvY3VzQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgb25TeW50aGV0aWNGb2N1cyhlKTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25Gb2N1c0NoYW5nZSxcbiAgICAgICAgb25Gb2N1c1Byb3AsXG4gICAgICAgIG9uU3ludGhldGljRm9jdXNcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmb2N1c1Byb3BzOiB7XG4gICAgICAgICAgICBvbkZvY3VzOiAhaXNEaXNhYmxlZCAmJiAob25Gb2N1c1Byb3AgfHwgb25Gb2N1c0NoYW5nZSB8fCBvbkJsdXJQcm9wKSA/IG9uRm9jdXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBvbkJsdXI6ICFpc0Rpc2FibGVkICYmIChvbkJsdXJQcm9wIHx8IG9uRm9jdXNDaGFuZ2UpID8gb25CbHVyIDogdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7JGExZWE1OWQ2ODI3MGYwZGQkZXhwb3J0JGY4MTY4ZDhkZDhmZDY2ZTYgYXMgdXNlRm9jdXN9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXMubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocus.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs": -/*!************************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addWindowFocusTracking: function() { return /* binding */ $507fabe10e71c6fb$export$2f1888112f558a7d; },\n/* harmony export */ getInteractionModality: function() { return /* binding */ $507fabe10e71c6fb$export$630ff653c5ada6a9; },\n/* harmony export */ hasSetupGlobalListeners: function() { return /* binding */ $507fabe10e71c6fb$export$d90243b58daecda7; },\n/* harmony export */ isFocusVisible: function() { return /* binding */ $507fabe10e71c6fb$export$b9b3dfddab17db27; },\n/* harmony export */ setInteractionModality: function() { return /* binding */ $507fabe10e71c6fb$export$8397ddfc504fdb9a; },\n/* harmony export */ useFocusVisible: function() { return /* binding */ $507fabe10e71c6fb$export$ffd9e5021c1fb2d6; },\n/* harmony export */ useFocusVisibleListener: function() { return /* binding */ $507fabe10e71c6fb$export$ec71b4b83ac08ec3; },\n/* harmony export */ useInteractionModality: function() { return /* binding */ $507fabe10e71c6fb$export$98e20ec92f614cfe; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_ssr__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-aria/ssr */ \"(app-pages-browser)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs\");\n\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nlet $507fabe10e71c6fb$var$currentModality = null;\nlet $507fabe10e71c6fb$var$changeHandlers = new Set();\nlet $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\nlet $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {\n for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */ function $507fabe10e71c6fb$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.isMac)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $507fabe10e71c6fb$var$handleKeyboardEvent(e) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n if ($507fabe10e71c6fb$var$isValidKey(e)) {\n $507fabe10e71c6fb$var$currentModality = 'keyboard';\n $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n $507fabe10e71c6fb$var$currentModality = 'pointer';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handleClickEvent(e) {\n if ((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.isVirtualClick)(e)) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n }\n}\nfunction $507fabe10e71c6fb$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n if (e.target === window || e.target === document) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n $507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);\n }\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n}\nfunction $507fabe10e71c6fb$var$handleWindowBlur() {\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {\n if (typeof window === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element))) return;\n const windowObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element);\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function() {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n // Add unmount handler\n windowObject.addEventListener('beforeunload', ()=>{\n $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);\n }, {\n once: true\n });\n $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {\n focus: focus\n });\n}\nconst $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n const windowObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element);\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;\n windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;\n documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $507fabe10e71c6fb$export$2f1888112f558a7d(element) {\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n let loadListener;\n if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n else {\n loadListener = ()=>{\n $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n };\n documentObject.addEventListener('DOMContentLoaded', loadListener);\n }\n return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();\nfunction $507fabe10e71c6fb$export$b9b3dfddab17db27() {\n return $507fabe10e71c6fb$var$currentModality !== 'pointer';\n}\nfunction $507fabe10e71c6fb$export$630ff653c5ada6a9() {\n return $507fabe10e71c6fb$var$currentModality;\n}\nfunction $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {\n $507fabe10e71c6fb$var$currentModality = modality;\n $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);\n}\nfunction $507fabe10e71c6fb$export$98e20ec92f614cfe() {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)($507fabe10e71c6fb$var$currentModality);\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let handler = ()=>{\n setModality($507fabe10e71c6fb$var$currentModality);\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n }, []);\n return (0, _react_aria_ssr__WEBPACK_IMPORTED_MODULE_4__.useIsSSR)() ? null : modality;\n}\nconst $507fabe10e71c6fb$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n var _e_target;\n const IHTMLInputElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;\n const IHTMLTextAreaElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;\n const IHTMLElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;\n const IKeyboardEvent = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;\n isTextInput = isTextInput || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.type) || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLTextAreaElement || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLElement && (e === null || e === void 0 ? void 0 : e.target.isContentEditable);\n return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $507fabe10e71c6fb$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(autoFocus || $507fabe10e71c6fb$export$b9b3dfddab17db27());\n $507fabe10e71c6fb$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let handler = (modality, e)=>{\n if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;\n fn($507fabe10e71c6fb$export$b9b3dfddab17db27());\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\n\n//# sourceMappingURL=useFocusVisible.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1Zpc2libGUubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUw7QUFDdEc7QUFDckI7O0FBRTVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0EsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0Isb0RBQVk7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLDZEQUFxQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyRkFBMkYsNkRBQXFCO0FBQ2hILDZCQUE2Qiw2REFBcUI7QUFDbEQsK0JBQStCLCtEQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLDZCQUE2Qiw2REFBcUI7QUFDbEQsK0JBQStCLCtEQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsK0RBQXVCO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLDJDQUFlO0FBQ3JELFFBQVEsNENBQWdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLGVBQWUscURBQWU7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRSw2REFBcUI7QUFDdkYscUVBQXFFLDZEQUFxQjtBQUMxRiw2REFBNkQsNkRBQXFCO0FBQ2xGLCtEQUErRCw2REFBcUI7QUFDcEY7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEO0FBQzdELFVBQVUsaURBQWlEO0FBQzNELHFEQUFxRCwyQ0FBZTtBQUNwRTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRDQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdtaUI7QUFDbmlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1Zpc2libGUubWpzPzkwZjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc01hYyBhcyAkMjhBblIkaXNNYWMsIGlzVmlydHVhbENsaWNrIGFzICQyOEFuUiRpc1ZpcnR1YWxDbGljaywgZ2V0T3duZXJXaW5kb3cgYXMgJDI4QW5SJGdldE93bmVyV2luZG93LCBnZXRPd25lckRvY3VtZW50IGFzICQyOEFuUiRnZXRPd25lckRvY3VtZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcbmltcG9ydCB7dXNlU3RhdGUgYXMgJDI4QW5SJHVzZVN0YXRlLCB1c2VFZmZlY3QgYXMgJDI4QW5SJHVzZUVmZmVjdH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZUlzU1NSIGFzICQyOEFuUiR1c2VJc1NTUn0gZnJvbSBcIkByZWFjdC1hcmlhL3NzclwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG5cbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gbnVsbDtcbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMgPSBuZXcgU2V0KCk7XG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcgPSBuZXcgTWFwKCk7IC8vIFdlIHVzZSBhIG1hcCBoZXJlIHRvIHN1cHBvcnQgc2V0dGluZyBldmVudCBsaXN0ZW5lcnMgYWNyb3NzIG11bHRpcGxlIGRvY3VtZW50IG9iamVjdHMuXG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSBmYWxzZTtcbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzQmx1cnJlZFdpbmRvd1JlY2VudGx5ID0gZmFsc2U7XG4vLyBPbmx5IFRhYiBvciBFc2Mga2V5cyB3aWxsIG1ha2UgZm9jdXMgdmlzaWJsZSBvbiB0ZXh0IGlucHV0IGVsZW1lbnRzXG5jb25zdCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkRk9DVVNfVklTSUJMRV9JTlBVVF9LRVlTID0ge1xuICAgIFRhYjogdHJ1ZSxcbiAgICBFc2NhcGU6IHRydWVcbn07XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKG1vZGFsaXR5LCBlKSB7XG4gICAgZm9yIChsZXQgaGFuZGxlciBvZiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMpaGFuZGxlcihtb2RhbGl0eSwgZSk7XG59XG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYSBLZXlib2FyZEV2ZW50IGlzIHVubW9kaWZpZWQgYW5kIGNvdWxkIG1ha2Uga2V5Ym9hcmQgZm9jdXMgc3R5bGVzIHZpc2libGUuXG4gKi8gZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGlzVmFsaWRLZXkoZSkge1xuICAgIC8vIENvbnRyb2wgYW5kIFNoaWZ0IGtleXMgdHJpZ2dlciB3aGVuIG5hdmlnYXRpbmcgYmFjayB0byB0aGUgdGFiIHdpdGgga2V5Ym9hcmQuXG4gICAgcmV0dXJuICEoZS5tZXRhS2V5IHx8ICEoMCwgJDI4QW5SJGlzTWFjKSgpICYmIGUuYWx0S2V5IHx8IGUuY3RybEtleSB8fCBlLmtleSA9PT0gJ0NvbnRyb2wnIHx8IGUua2V5ID09PSAnU2hpZnQnIHx8IGUua2V5ID09PSAnTWV0YScpO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUtleWJvYXJkRXZlbnQoZSkge1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gdHJ1ZTtcbiAgICBpZiAoJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGlzVmFsaWRLZXkoZSkpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9ICdrZXlib2FyZCc7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0cmlnZ2VyQ2hhbmdlSGFuZGxlcnMoJ2tleWJvYXJkJywgZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudChlKSB7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9ICdwb2ludGVyJztcbiAgICBpZiAoZS50eXBlID09PSAnbW91c2Vkb3duJyB8fCBlLnR5cGUgPT09ICdwb2ludGVyZG93bicpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKCdwb2ludGVyJywgZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUNsaWNrRXZlbnQoZSkge1xuICAgIGlmICgoMCwgJDI4QW5SJGlzVmlydHVhbENsaWNrKShlKSkge1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IHRydWU7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgPSAndmlydHVhbCc7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUZvY3VzRXZlbnQoZSkge1xuICAgIC8vIEZpcmVmb3ggZmlyZXMgdHdvIGV4dHJhIGZvY3VzIGV2ZW50cyB3aGVuIHRoZSB1c2VyIGZpcnN0IGNsaWNrcyBpbnRvIGFuIGlmcmFtZTpcbiAgICAvLyBmaXJzdCBvbiB0aGUgd2luZG93LCB0aGVuIG9uIHRoZSBkb2N1bWVudC4gV2UgaWdub3JlIHRoZXNlIGV2ZW50cyBzbyB0aGV5IGRvbid0XG4gICAgLy8gY2F1c2Uga2V5Ym9hcmQgZm9jdXMgcmluZ3MgdG8gYXBwZWFyLlxuICAgIGlmIChlLnRhcmdldCA9PT0gd2luZG93IHx8IGUudGFyZ2V0ID09PSBkb2N1bWVudCkgcmV0dXJuO1xuICAgIC8vIElmIGEgZm9jdXMgZXZlbnQgb2NjdXJzIHdpdGhvdXQgYSBwcmVjZWRpbmcga2V5Ym9hcmQgb3IgcG9pbnRlciBldmVudCwgc3dpdGNoIHRvIHZpcnR1YWwgbW9kYWxpdHkuXG4gICAgLy8gVGhpcyBvY2N1cnMsIGZvciBleGFtcGxlLCB3aGVuIG5hdmlnYXRpbmcgYSBmb3JtIHdpdGggdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBvbiBpT1MuXG4gICAgaWYgKCEkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0JsdXJyZWRXaW5kb3dSZWNlbnRseSkge1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gJ3ZpcnR1YWwnO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKCd2aXJ0dWFsJywgZSk7XG4gICAgfVxuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gZmFsc2U7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0JsdXJyZWRXaW5kb3dSZWNlbnRseSA9IGZhbHNlO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVdpbmRvd0JsdXIoKSB7XG4gICAgLy8gV2hlbiB0aGUgd2luZG93IGlzIGJsdXJyZWQsIHJlc2V0IHN0YXRlLiBUaGlzIGlzIG5lY2Vzc2FyeSB3aGVuIHRhYmJpbmcgb3V0IG9mIHRoZSB3aW5kb3csXG4gICAgLy8gZm9yIGV4YW1wbGUsIHNpbmNlIGEgc3Vic2VxdWVudCBmb2N1cyBldmVudCB3b24ndCBiZSBmaXJlZC5cbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IGZhbHNlO1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNCbHVycmVkV2luZG93UmVjZW50bHkgPSB0cnVlO1xufVxuLyoqXG4gKiBTZXR1cCBnbG9iYWwgZXZlbnQgbGlzdGVuZXJzIHRvIGNvbnRyb2wgd2hlbiBrZXlib2FyZCBmb2N1cyBzdHlsZSBzaG91bGQgYmUgdmlzaWJsZS5cbiAqLyBmdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cyhlbGVtZW50KSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmdldCgoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KSkpIHJldHVybjtcbiAgICBjb25zdCB3aW5kb3dPYmplY3QgPSAoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KTtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgLy8gUHJvZ3JhbW1hdGljIGZvY3VzKCkgY2FsbHMgc2hvdWxkbid0IGFmZmVjdCB0aGUgY3VycmVudCBpbnB1dCBtb2RhbGl0eS5cbiAgICAvLyBIb3dldmVyLCB3ZSBuZWVkIHRvIGRldGVjdCBvdGhlciBjYXNlcyB3aGVuIGEgZm9jdXMgZXZlbnQgb2NjdXJzIHdpdGhvdXRcbiAgICAvLyBhIHByZWNlZGluZyB1c2VyIGV2ZW50IChlLmcuIHNjcmVlbiByZWFkZXIgZm9jdXMpLiBPdmVycmlkaW5nIHRoZSBmb2N1c1xuICAgIC8vIG1ldGhvZCBvbiBIVE1MRWxlbWVudC5wcm90b3R5cGUgaXMgYSBiaXQgaGFja3ksIGJ1dCB3b3Jrcy5cbiAgICBsZXQgZm9jdXMgPSB3aW5kb3dPYmplY3QuSFRNTEVsZW1lbnQucHJvdG90eXBlLmZvY3VzO1xuICAgIHdpbmRvd09iamVjdC5IVE1MRWxlbWVudC5wcm90b3R5cGUuZm9jdXMgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICBmb2N1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVDbGlja0V2ZW50LCB0cnVlKTtcbiAgICAvLyBSZWdpc3RlciBmb2N1cyBldmVudHMgb24gdGhlIHdpbmRvdyBzbyB0aGV5IGFyZSBzdXJlIHRvIGhhcHBlblxuICAgIC8vIGJlZm9yZSBSZWFjdCdzIGV2ZW50IGxpc3RlbmVycyAocmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnQpLlxuICAgIHdpbmRvd09iamVjdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVGb2N1c0V2ZW50LCB0cnVlKTtcbiAgICB3aW5kb3dPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVXaW5kb3dCbHVyLCBmYWxzZSk7XG4gICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgICAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH1cbiAgICAvLyBBZGQgdW5tb3VudCBoYW5kbGVyXG4gICAgd2luZG93T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsICgpPT57XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0ZWFyRG93bldpbmRvd0ZvY3VzVHJhY2tpbmcoZWxlbWVudCk7XG4gICAgfSwge1xuICAgICAgICBvbmNlOiB0cnVlXG4gICAgfSk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcuc2V0KHdpbmRvd09iamVjdCwge1xuICAgICAgICBmb2N1czogZm9jdXNcbiAgICB9KTtcbn1cbmNvbnN0ICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0ZWFyRG93bldpbmRvd0ZvY3VzVHJhY2tpbmcgPSAoZWxlbWVudCwgbG9hZExpc3RlbmVyKT0+e1xuICAgIGNvbnN0IHdpbmRvd09iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJXaW5kb3cpKGVsZW1lbnQpO1xuICAgIGNvbnN0IGRvY3VtZW50T2JqZWN0ID0gKDAsICQyOEFuUiRnZXRPd25lckRvY3VtZW50KShlbGVtZW50KTtcbiAgICBpZiAobG9hZExpc3RlbmVyKSBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbG9hZExpc3RlbmVyKTtcbiAgICBpZiAoISQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3Lmhhcyh3aW5kb3dPYmplY3QpKSByZXR1cm47XG4gICAgd2luZG93T2JqZWN0LkhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cyA9ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmdldCh3aW5kb3dPYmplY3QpLmZvY3VzO1xuICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlS2V5Ym9hcmRFdmVudCwgdHJ1ZSk7XG4gICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlS2V5Ym9hcmRFdmVudCwgdHJ1ZSk7XG4gICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlQ2xpY2tFdmVudCwgdHJ1ZSk7XG4gICAgd2luZG93T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUZvY3VzRXZlbnQsIHRydWUpO1xuICAgIHdpbmRvd09iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVdpbmRvd0JsdXIsIGZhbHNlKTtcbiAgICBpZiAodHlwZW9mIFBvaW50ZXJFdmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcm1vdmUnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgICAgICBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgfVxuICAgICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmRlbGV0ZSh3aW5kb3dPYmplY3QpO1xufTtcbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQyZjE4ODgxMTJmNTU4YTdkKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgbGV0IGxvYWRMaXN0ZW5lcjtcbiAgICBpZiAoZG9jdW1lbnRPYmplY3QucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnKSAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cyhlbGVtZW50KTtcbiAgICBlbHNlIHtcbiAgICAgICAgbG9hZExpc3RlbmVyID0gKCk9PntcbiAgICAgICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRzZXR1cEdsb2JhbEZvY3VzRXZlbnRzKGVsZW1lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbG9hZExpc3RlbmVyKTtcbiAgICB9XG4gICAgcmV0dXJuICgpPT4kNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdGVhckRvd25XaW5kb3dGb2N1c1RyYWNraW5nKGVsZW1lbnQsIGxvYWRMaXN0ZW5lcik7XG59XG4vLyBTZXJ2ZXItc2lkZSByZW5kZXJpbmcgZG9lcyBub3QgaGF2ZSB0aGUgZG9jdW1lbnQgb2JqZWN0IGRlZmluZWRcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHNcbmlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkMmYxODg4MTEyZjU1OGE3ZCgpO1xuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcoKSB7XG4gICAgcmV0dXJuICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgIT09ICdwb2ludGVyJztcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQ2MzBmZjY1M2M1YWRhNmE5KCkge1xuICAgIHJldHVybiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5O1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JDgzOTdkZGZjNTA0ZmRiOWEobW9kYWxpdHkpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gbW9kYWxpdHk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHRyaWdnZXJDaGFuZ2VIYW5kbGVycyhtb2RhbGl0eSwgbnVsbCk7XG59XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkOThlMjBlYzkyZjYxNGNmZSgpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cygpO1xuICAgIGxldCBbbW9kYWxpdHksIHNldE1vZGFsaXR5XSA9ICgwLCAkMjhBblIkdXNlU3RhdGUpKCQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkpO1xuICAgICgwLCAkMjhBblIkdXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBsZXQgaGFuZGxlciA9ICgpPT57XG4gICAgICAgICAgICBzZXRNb2RhbGl0eSgkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5KTtcbiAgICAgICAgfTtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGNoYW5nZUhhbmRsZXJzLmFkZChoYW5kbGVyKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMuZGVsZXRlKGhhbmRsZXIpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gKDAsICQyOEFuUiR1c2VJc1NTUikoKSA/IG51bGwgOiBtb2RhbGl0eTtcbn1cbmNvbnN0ICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRub25UZXh0SW5wdXRUeXBlcyA9IG5ldyBTZXQoW1xuICAgICdjaGVja2JveCcsXG4gICAgJ3JhZGlvJyxcbiAgICAncmFuZ2UnLFxuICAgICdjb2xvcicsXG4gICAgJ2ZpbGUnLFxuICAgICdpbWFnZScsXG4gICAgJ2J1dHRvbicsXG4gICAgJ3N1Ym1pdCcsXG4gICAgJ3Jlc2V0J1xuXSk7XG4vKipcbiAqIElmIHRoaXMgaXMgYXR0YWNoZWQgdG8gdGV4dCBpbnB1dCBjb21wb25lbnQsIHJldHVybiBpZiB0aGUgZXZlbnQgaXMgYSBmb2N1cyBldmVudCAoVGFiL0VzY2FwZSBrZXlzIHByZXNzZWQpIHNvIHRoYXRcbiAqIGZvY3VzIHZpc2libGUgc3R5bGUgY2FuIGJlIHByb3Blcmx5IHNldC5cbiAqLyBmdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaXNLZXlib2FyZEZvY3VzRXZlbnQoaXNUZXh0SW5wdXQsIG1vZGFsaXR5LCBlKSB7XG4gICAgdmFyIF9lX3RhcmdldDtcbiAgICBjb25zdCBJSFRNTElucHV0RWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTElucHV0RWxlbWVudCA6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgSUhUTUxUZXh0QXJlYUVsZW1lbnQgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/ICgwLCAkMjhBblIkZ2V0T3duZXJXaW5kb3cpKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpLkhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICAgIGNvbnN0IElIVE1MRWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTEVsZW1lbnQgOiBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBJS2V5Ym9hcmRFdmVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuS2V5Ym9hcmRFdmVudCA6IEtleWJvYXJkRXZlbnQ7XG4gICAgaXNUZXh0SW5wdXQgPSBpc1RleHRJbnB1dCB8fCAoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkgaW5zdGFuY2VvZiBJSFRNTElucHV0RWxlbWVudCAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJG5vblRleHRJbnB1dFR5cGVzLmhhcyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfZV90YXJnZXQgPSBlLnRhcmdldCkgPT09IG51bGwgfHwgX2VfdGFyZ2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZV90YXJnZXQudHlwZSkgfHwgKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpIGluc3RhbmNlb2YgSUhUTUxUZXh0QXJlYUVsZW1lbnQgfHwgKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpIGluc3RhbmNlb2YgSUhUTUxFbGVtZW50ICYmIChlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGFyZ2V0LmlzQ29udGVudEVkaXRhYmxlKTtcbiAgICByZXR1cm4gIShpc1RleHRJbnB1dCAmJiBtb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyAmJiBlIGluc3RhbmNlb2YgSUtleWJvYXJkRXZlbnQgJiYgISQ1MDdmYWJlMTBlNzFjNmZiJHZhciRGT0NVU19WSVNJQkxFX0lOUFVUX0tFWVNbZS5rZXldKTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRmZmQ5ZTUwMjFjMWZiMmQ2KHByb3BzID0ge30pIHtcbiAgICBsZXQgeyBpc1RleHRJbnB1dDogaXNUZXh0SW5wdXQsIGF1dG9Gb2N1czogYXV0b0ZvY3VzIH0gPSBwcm9wcztcbiAgICBsZXQgW2lzRm9jdXNWaXNpYmxlU3RhdGUsIHNldEZvY3VzVmlzaWJsZV0gPSAoMCwgJDI4QW5SJHVzZVN0YXRlKShhdXRvRm9jdXMgfHwgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcoKSk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGVjNzFiNGI4M2FjMDhlYzMoKGlzRm9jdXNWaXNpYmxlKT0+e1xuICAgICAgICBzZXRGb2N1c1Zpc2libGUoaXNGb2N1c1Zpc2libGUpO1xuICAgIH0sIFtcbiAgICAgICAgaXNUZXh0SW5wdXRcbiAgICBdLCB7XG4gICAgICAgIGlzVGV4dElucHV0OiBpc1RleHRJbnB1dFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlzRm9jdXNWaXNpYmxlOiBpc0ZvY3VzVmlzaWJsZVN0YXRlXG4gICAgfTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRlYzcxYjRiODNhYzA4ZWMzKGZuLCBkZXBzLCBvcHRzKSB7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHNldHVwR2xvYmFsRm9jdXNFdmVudHMoKTtcbiAgICAoMCwgJDI4QW5SJHVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgbGV0IGhhbmRsZXIgPSAobW9kYWxpdHksIGUpPT57XG4gICAgICAgICAgICBpZiAoISQ1MDdmYWJlMTBlNzFjNmZiJHZhciRpc0tleWJvYXJkRm9jdXNFdmVudCghIShvcHRzID09PSBudWxsIHx8IG9wdHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdHMuaXNUZXh0SW5wdXQpLCBtb2RhbGl0eSwgZSkpIHJldHVybjtcbiAgICAgICAgICAgIGZuKCQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRiOWIzZGZkZGFiMTdkYjI3KCkpO1xuICAgICAgICB9O1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMuYWRkKGhhbmRsZXIpO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjaGFuZ2VIYW5kbGVycy5kZWxldGUoaGFuZGxlcik7XG4gICAgICAgIH07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIGRlcHMpO1xufVxuXG5cbmV4cG9ydCB7JDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcgYXMgaGFzU2V0dXBHbG9iYWxMaXN0ZW5lcnMsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQyZjE4ODgxMTJmNTU4YTdkIGFzIGFkZFdpbmRvd0ZvY3VzVHJhY2tpbmcsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRiOWIzZGZkZGFiMTdkYjI3IGFzIGlzRm9jdXNWaXNpYmxlLCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkNjMwZmY2NTNjNWFkYTZhOSBhcyBnZXRJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkODM5N2RkZmM1MDRmZGI5YSBhcyBzZXRJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkOThlMjBlYzkyZjYxNGNmZSBhcyB1c2VJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkZmZkOWU1MDIxYzFmYjJkNiBhcyB1c2VGb2N1c1Zpc2libGUsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRlYzcxYjRiODNhYzA4ZWMzIGFzIHVzZUZvY3VzVmlzaWJsZUxpc3RlbmVyfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUZvY3VzVmlzaWJsZS5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs": -/*!***********************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocusWithin: function() { return /* binding */ $9ab94262bd0047c7$export$420e68273165f4ec; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $9ab94262bd0047c7$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocusWithin: false\n });\n let onBlur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {\n state.current.isFocusWithin = false;\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state\n ]);\n let onSyntheticFocus = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_1__.useSyntheticBlurEvent)(onBlur);\n let onFocus = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n if (!state.current.isFocusWithin && document.activeElement === e.target) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n // These should not have been null, that would conflict in mergeProps\n onFocus: undefined,\n onBlur: undefined\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\n\n//# sourceMappingURL=useFocusWithin.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1dpdGhpbi5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStGO0FBQ2Q7O0FBRWpGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsVUFBVSw2SEFBNkg7QUFDdkksb0JBQW9CLHlDQUFhO0FBQ2pDO0FBQ0EsS0FBSztBQUNMLHFCQUFxQiw4Q0FBa0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiw2REFBeUM7QUFDeEUsc0JBQXNCLDhDQUFrQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR3FFO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1dpdGhpbi5tanM/MjdhNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZVN5bnRoZXRpY0JsdXJFdmVudCBhcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkNzE1YzY4MmQwOWQ2MzljY30gZnJvbSBcIi4vdXRpbHMubWpzXCI7XG5pbXBvcnQge3VzZVJlZiBhcyAkM2I5UTAkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkM2I5UTAkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG5mdW5jdGlvbiAkOWFiOTQyNjJiZDAwNDdjNyRleHBvcnQkNDIwZTY4MjczMTY1ZjRlYyhwcm9wcykge1xuICAgIGxldCB7IGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsIG9uQmx1cldpdGhpbjogb25CbHVyV2l0aGluLCBvbkZvY3VzV2l0aGluOiBvbkZvY3VzV2l0aGluLCBvbkZvY3VzV2l0aGluQ2hhbmdlOiBvbkZvY3VzV2l0aGluQ2hhbmdlIH0gPSBwcm9wcztcbiAgICBsZXQgc3RhdGUgPSAoMCwgJDNiOVEwJHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzV2l0aGluOiBmYWxzZVxuICAgIH0pO1xuICAgIGxldCBvbkJsdXIgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyIG9uQmx1cldpdGhpbiBhbmQgdGhlbiBpbW1lZGlhdGVseSBvbkZvY3VzV2l0aGluIGFnYWluXG4gICAgICAgIC8vIHdoZW4gbW92aW5nIGZvY3VzIGluc2lkZSB0aGUgZWxlbWVudC4gT25seSB0cmlnZ2VyIGlmIHRoZSBjdXJyZW50VGFyZ2V0IGRvZXNuJ3RcbiAgICAgICAgLy8gaW5jbHVkZSB0aGUgcmVsYXRlZFRhcmdldCAod2hlcmUgZm9jdXMgaXMgbW92aW5nKS5cbiAgICAgICAgaWYgKHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiAmJiAhZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKG9uQmx1cldpdGhpbikgb25CbHVyV2l0aGluKGUpO1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNXaXRoaW5DaGFuZ2UpIG9uRm9jdXNXaXRoaW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkJsdXJXaXRoaW4sXG4gICAgICAgIG9uRm9jdXNXaXRoaW5DaGFuZ2UsXG4gICAgICAgIHN0YXRlXG4gICAgXSk7XG4gICAgbGV0IG9uU3ludGhldGljRm9jdXMgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MpKG9uQmx1cik7XG4gICAgbGV0IG9uRm9jdXMgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gRG91YmxlIGNoZWNrIHRoYXQgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhY3R1YWxseSBtYXRjaGVzIGUudGFyZ2V0IGluIGNhc2UgYSBwcmV2aW91c2x5IGNoYWluZWRcbiAgICAgICAgLy8gZm9jdXMgaGFuZGxlciBhbHJlYWR5IG1vdmVkIGZvY3VzIHNvbWV3aGVyZSBlbHNlLlxuICAgICAgICBpZiAoIXN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNXaXRoaW4pIG9uRm9jdXNXaXRoaW4oZSk7XG4gICAgICAgICAgICBpZiAob25Gb2N1c1dpdGhpbkNoYW5nZSkgb25Gb2N1c1dpdGhpbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiA9IHRydWU7XG4gICAgICAgICAgICBvblN5bnRoZXRpY0ZvY3VzKGUpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkZvY3VzV2l0aGluLFxuICAgICAgICBvbkZvY3VzV2l0aGluQ2hhbmdlLFxuICAgICAgICBvblN5bnRoZXRpY0ZvY3VzXG4gICAgXSk7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHJldHVybiB7XG4gICAgICAgIGZvY3VzV2l0aGluUHJvcHM6IHtcbiAgICAgICAgICAgIC8vIFRoZXNlIHNob3VsZCBub3QgaGF2ZSBiZWVuIG51bGwsIHRoYXQgd291bGQgY29uZmxpY3QgaW4gbWVyZ2VQcm9wc1xuICAgICAgICAgICAgb25Gb2N1czogdW5kZWZpbmVkLFxuICAgICAgICAgICAgb25CbHVyOiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZm9jdXNXaXRoaW5Qcm9wczoge1xuICAgICAgICAgICAgb25Gb2N1czogb25Gb2N1cyxcbiAgICAgICAgICAgIG9uQmx1cjogb25CbHVyXG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7JDlhYjk0MjYyYmQwMDQ3YzckZXhwb3J0JDQyMGU2ODI3MzE2NWY0ZWMgYXMgdXNlRm9jdXNXaXRoaW59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXNXaXRoaW4ubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useHover.mjs ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useHover: function() { return /* binding */ $6179b936705e76d3$export$ae780daf29e6d456; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered) return;\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state\n ]);\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\n\n//# sourceMappingURL=useHover.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VIb3Zlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBcUk7O0FBRXJJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsMkdBQTJHO0FBQ3JILHNDQUFzQywyQ0FBZTtBQUNyRCxvQkFBb0IseUNBQWE7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsUUFBUSw0Q0FBZ0I7QUFDeEIsVUFBVSwyREFBMkQsTUFBTSwwQ0FBYztBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNENBQWdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHK0Q7QUFDL0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3VzZUhvdmVyLm1qcz85M2Q2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlU3RhdGUgYXMgJEFXeG5UJHVzZVN0YXRlLCB1c2VSZWYgYXMgJEFXeG5UJHVzZVJlZiwgdXNlRWZmZWN0IGFzICRBV3huVCR1c2VFZmZlY3QsIHVzZU1lbW8gYXMgJEFXeG5UJHVzZU1lbW99IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuLy8gaU9TIGZpcmVzIG9uUG9pbnRlckVudGVyIHR3aWNlOiBvbmNlIHdpdGggcG9pbnRlclR5cGU9XCJ0b3VjaFwiIGFuZCBhZ2FpbiB3aXRoIHBvaW50ZXJUeXBlPVwibW91c2VcIi5cbi8vIFdlIHdhbnQgdG8gaWdub3JlIHRoZXNlIGVtdWxhdGVkIGV2ZW50cyBzbyB0aGV5IGRvIG5vdCB0cmlnZ2VyIGhvdmVyIGJlaGF2aW9yLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2MDkuXG5sZXQgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSBmYWxzZTtcbmxldCAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudCA9IDA7XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cygpIHtcbiAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgLy8gQ2xlYXIgZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyBhZnRlciBhIHNob3J0IHRpbWVvdXQuIGlPUyBmaXJlcyBvblBvaW50ZXJFbnRlclxuICAgIC8vIHdpdGggcG9pbnRlclR5cGU9XCJtb3VzZVwiIGltbWVkaWF0ZWx5IGFmdGVyIG9uUG9pbnRlclVwIGFuZCBiZWZvcmUgb25Gb2N1cy4gT24gb3RoZXJcbiAgICAvLyBkZXZpY2VzIHRoYXQgZG9uJ3QgaGF2ZSB0aGlzIHF1aXJrLCB3ZSBkb24ndCB3YW50IHRvIGlnbm9yZSBhIG1vdXNlIGhvdmVyIHNvbWV0aW1lIGluXG4gICAgLy8gdGhlIGRpc3RhbnQgZnV0dXJlIGJlY2F1c2UgYSB1c2VyIHByZXZpb3VzbHkgdG91Y2hlZCB0aGUgZWxlbWVudC5cbiAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gICAgfSwgNTApO1xufVxuZnVuY3Rpb24gJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudChlKSB7XG4gICAgaWYgKGUucG9pbnRlclR5cGUgPT09ICd0b3VjaCcpICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKCk7XG59XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0dXBHbG9iYWxUb3VjaEV2ZW50cygpIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKTtcbiAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudCsrO1xuICAgIHJldHVybiAoKT0+e1xuICAgICAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudC0tO1xuICAgICAgICBpZiAoJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhvdmVyQ291bnQgPiAwKSByZXR1cm47XG4gICAgICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgICAgIGVsc2UgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uICQ2MTc5YjkzNjcwNWU3NmQzJGV4cG9ydCRhZTc4MGRhZjI5ZTZkNDU2KHByb3BzKSB7XG4gICAgbGV0IHsgb25Ib3ZlclN0YXJ0OiBvbkhvdmVyU3RhcnQsIG9uSG92ZXJDaGFuZ2U6IG9uSG92ZXJDaGFuZ2UsIG9uSG92ZXJFbmQ6IG9uSG92ZXJFbmQsIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQgfSA9IHByb3BzO1xuICAgIGxldCBbaXNIb3ZlcmVkLCBzZXRIb3ZlcmVkXSA9ICgwLCAkQVd4blQkdXNlU3RhdGUpKGZhbHNlKTtcbiAgICBsZXQgc3RhdGUgPSAoMCwgJEFXeG5UJHVzZVJlZikoe1xuICAgICAgICBpc0hvdmVyZWQ6IGZhbHNlLFxuICAgICAgICBpZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzOiBmYWxzZSxcbiAgICAgICAgcG9pbnRlclR5cGU6ICcnLFxuICAgICAgICB0YXJnZXQ6IG51bGxcbiAgICB9KS5jdXJyZW50O1xuICAgICgwLCAkQVd4blQkdXNlRWZmZWN0KSgkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0dXBHbG9iYWxUb3VjaEV2ZW50cywgW10pO1xuICAgIGxldCB7IGhvdmVyUHJvcHM6IGhvdmVyUHJvcHMsIHRyaWdnZXJIb3ZlckVuZDogdHJpZ2dlckhvdmVyRW5kIH0gPSAoMCwgJEFXeG5UJHVzZU1lbW8pKCgpPT57XG4gICAgICAgIGxldCB0cmlnZ2VySG92ZXJTdGFydCA9IChldmVudCwgcG9pbnRlclR5cGUpPT57XG4gICAgICAgICAgICBzdGF0ZS5wb2ludGVyVHlwZSA9IHBvaW50ZXJUeXBlO1xuICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQgfHwgcG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHwgc3RhdGUuaXNIb3ZlcmVkIHx8ICFldmVudC5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHJldHVybjtcbiAgICAgICAgICAgIHN0YXRlLmlzSG92ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIHN0YXRlLnRhcmdldCA9IHRhcmdldDtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyU3RhcnQpIG9uSG92ZXJTdGFydCh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2hvdmVyc3RhcnQnLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlOiBwb2ludGVyVHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob25Ib3ZlckNoYW5nZSkgb25Ib3ZlckNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIHNldEhvdmVyZWQodHJ1ZSk7XG4gICAgICAgIH07XG4gICAgICAgIGxldCB0cmlnZ2VySG92ZXJFbmQgPSAoZXZlbnQsIHBvaW50ZXJUeXBlKT0+e1xuICAgICAgICAgICAgc3RhdGUucG9pbnRlclR5cGUgPSAnJztcbiAgICAgICAgICAgIHN0YXRlLnRhcmdldCA9IG51bGw7XG4gICAgICAgICAgICBpZiAocG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHwgIXN0YXRlLmlzSG92ZXJlZCkgcmV0dXJuO1xuICAgICAgICAgICAgc3RhdGUuaXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyRW5kKSBvbkhvdmVyRW5kKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaG92ZXJlbmQnLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlOiBwb2ludGVyVHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob25Ib3ZlckNoYW5nZSkgb25Ib3ZlckNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGhvdmVyUHJvcHMgPSB7fTtcbiAgICAgICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uUG9pbnRlckVudGVyID0gKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKCQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzICYmIGUucG9pbnRlclR5cGUgPT09ICdtb3VzZScpIHJldHVybjtcbiAgICAgICAgICAgICAgICB0cmlnZ2VySG92ZXJTdGFydChlLCBlLnBvaW50ZXJUeXBlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uUG9pbnRlckxlYXZlID0gKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKCFpc0Rpc2FibGVkICYmIGUuY3VycmVudFRhcmdldC5jb250YWlucyhlLnRhcmdldCkpIHRyaWdnZXJIb3ZlckVuZChlLCBlLnBvaW50ZXJUeXBlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uVG91Y2hTdGFydCA9ICgpPT57XG4gICAgICAgICAgICAgICAgc3RhdGUuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlRW50ZXIgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXN0YXRlLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgJiYgISQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKSB0cmlnZ2VySG92ZXJTdGFydChlLCAnbW91c2UnKTtcbiAgICAgICAgICAgICAgICBzdGF0ZS5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlTGVhdmUgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIWlzRGlzYWJsZWQgJiYgZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSkgdHJpZ2dlckhvdmVyRW5kKGUsICdtb3VzZScpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaG92ZXJQcm9wczogaG92ZXJQcm9wcyxcbiAgICAgICAgICAgIHRyaWdnZXJIb3ZlckVuZDogdHJpZ2dlckhvdmVyRW5kXG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBvbkhvdmVyU3RhcnQsXG4gICAgICAgIG9uSG92ZXJDaGFuZ2UsXG4gICAgICAgIG9uSG92ZXJFbmQsXG4gICAgICAgIGlzRGlzYWJsZWQsXG4gICAgICAgIHN0YXRlXG4gICAgXSk7XG4gICAgKDAsICRBV3huVCR1c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIC8vIENhbGwgdGhlIHRyaWdnZXJIb3ZlckVuZCBhcyBzb29uIGFzIGlzRGlzYWJsZWQgY2hhbmdlcyB0byB0cnVlXG4gICAgICAgIC8vIFNhZmUgdG8gY2FsbCB0cmlnZ2VySG92ZXJFbmQsIGl0IHdpbGwgZWFybHkgcmV0dXJuIGlmIHdlIGFyZW4ndCBjdXJyZW50bHkgaG92ZXJpbmdcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHRyaWdnZXJIb3ZlckVuZCh7XG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0OiBzdGF0ZS50YXJnZXRcbiAgICAgICAgfSwgc3RhdGUucG9pbnRlclR5cGUpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbXG4gICAgICAgIGlzRGlzYWJsZWRcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBob3ZlclByb3BzOiBob3ZlclByb3BzLFxuICAgICAgICBpc0hvdmVyZWQ6IGlzSG92ZXJlZFxuICAgIH07XG59XG5cblxuZXhwb3J0IHskNjE3OWI5MzY3MDVlNzZkMyRleHBvcnQkYWU3ODBkYWYyOWU2ZDQ1NiBhcyB1c2VIb3Zlcn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VIb3Zlci5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs": -/*!**************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/utils.mjs ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SyntheticFocusEvent: function() { return /* binding */ $8a9cb279dc87e130$export$905e7fc544a71f36; },\n/* harmony export */ useSyntheticBlurEvent: function() { return /* binding */ $8a9cb279dc87e130$export$715c682d09d639cc; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs\");\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $8a9cb279dc87e130$export$905e7fc544a71f36 {\n isDefaultPrevented() {\n return this.nativeEvent.defaultPrevented;\n }\n preventDefault() {\n this.defaultPrevented = true;\n this.nativeEvent.preventDefault();\n }\n stopPropagation() {\n this.nativeEvent.stopPropagation();\n this.isPropagationStopped = ()=>true;\n }\n isPropagationStopped() {\n return false;\n }\n persist() {}\n constructor(type, nativeEvent){\n this.nativeEvent = nativeEvent;\n this.target = nativeEvent.target;\n this.currentTarget = nativeEvent.currentTarget;\n this.relatedTarget = nativeEvent.relatedTarget;\n this.bubbles = nativeEvent.bubbles;\n this.cancelable = nativeEvent.cancelable;\n this.defaultPrevented = nativeEvent.defaultPrevented;\n this.eventPhase = nativeEvent.eventPhase;\n this.isTrusted = nativeEvent.isTrusted;\n this.timeStamp = nativeEvent.timeStamp;\n this.type = type;\n }\n}\nfunction $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocused: false,\n observer: null\n });\n // Clean up MutationObserver on unmount. See below.\n // eslint-disable-next-line arrow-body-style\n (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n let dispatchBlur = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.useEffectEvent)((e)=>{\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n });\n // This function is called during a React onFocus event.\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = e.target;\n let onBlurHandler = (e)=>{\n stateRef.current.isFocused = false;\n if (target.disabled) // For backward compatibility, dispatch a (fake) React synthetic event.\n dispatchBlur(new $8a9cb279dc87e130$export$905e7fc544a71f36('blur', e));\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener('focusout', onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n var _stateRef_current_observer;\n (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();\n let relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: relatedTargetEl\n }));\n target.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: relatedTargetEl\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n 'disabled'\n ]\n });\n }\n }, [\n dispatchBlur\n ]);\n}\n\n\n\n//# sourceMappingURL=utils.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91dGlscy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBaUY7QUFDb0M7O0FBRXJIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIseUNBQWE7QUFDcEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsUUFBUSw4REFBc0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsMkJBQTJCLDZEQUFxQjtBQUNoRDtBQUNBLEtBQUs7QUFDTDtBQUNBLGVBQWUsOENBQWtCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7O0FBRzhJO0FBQzlJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91dGlscy5tanM/NmUzOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZVJlZiBhcyAkNmRmSWUkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkNmRmSWUkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHt1c2VMYXlvdXRFZmZlY3QgYXMgJDZkZkllJHVzZUxheW91dEVmZmVjdCwgdXNlRWZmZWN0RXZlbnQgYXMgJDZkZkllJHVzZUVmZmVjdEV2ZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuXG5jbGFzcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkOTA1ZTdmYzU0NGE3MWYzNiB7XG4gICAgaXNEZWZhdWx0UHJldmVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkO1xuICAgIH1cbiAgICBwcmV2ZW50RGVmYXVsdCgpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgICBzdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQgPSAoKT0+dHJ1ZTtcbiAgICB9XG4gICAgaXNQcm9wYWdhdGlvblN0b3BwZWQoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcGVyc2lzdCgpIHt9XG4gICAgY29uc3RydWN0b3IodHlwZSwgbmF0aXZlRXZlbnQpe1xuICAgICAgICB0aGlzLm5hdGl2ZUV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnQudGFyZ2V0O1xuICAgICAgICB0aGlzLmN1cnJlbnRUYXJnZXQgPSBuYXRpdmVFdmVudC5jdXJyZW50VGFyZ2V0O1xuICAgICAgICB0aGlzLnJlbGF0ZWRUYXJnZXQgPSBuYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0O1xuICAgICAgICB0aGlzLmJ1YmJsZXMgPSBuYXRpdmVFdmVudC5idWJibGVzO1xuICAgICAgICB0aGlzLmNhbmNlbGFibGUgPSBuYXRpdmVFdmVudC5jYW5jZWxhYmxlO1xuICAgICAgICB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSBuYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkO1xuICAgICAgICB0aGlzLmV2ZW50UGhhc2UgPSBuYXRpdmVFdmVudC5ldmVudFBoYXNlO1xuICAgICAgICB0aGlzLmlzVHJ1c3RlZCA9IG5hdGl2ZUV2ZW50LmlzVHJ1c3RlZDtcbiAgICAgICAgdGhpcy50aW1lU3RhbXAgPSBuYXRpdmVFdmVudC50aW1lU3RhbXA7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgfVxufVxuZnVuY3Rpb24gJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2Mob25CbHVyKSB7XG4gICAgbGV0IHN0YXRlUmVmID0gKDAsICQ2ZGZJZSR1c2VSZWYpKHtcbiAgICAgICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgICAgICAgb2JzZXJ2ZXI6IG51bGxcbiAgICB9KTtcbiAgICAvLyBDbGVhbiB1cCBNdXRhdGlvbk9ic2VydmVyIG9uIHVubW91bnQuIFNlZSBiZWxvdy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXJyb3ctYm9keS1zdHlsZVxuICAgICgwLCAkNmRmSWUkdXNlTGF5b3V0RWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHN0YXRlUmVmLmN1cnJlbnQ7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgaWYgKHN0YXRlLm9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgIHN0YXRlLm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgbGV0IGRpc3BhdGNoQmx1ciA9ICgwLCAkNmRmSWUkdXNlRWZmZWN0RXZlbnQpKChlKT0+e1xuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZSk7XG4gICAgfSk7XG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZHVyaW5nIGEgUmVhY3Qgb25Gb2N1cyBldmVudC5cbiAgICByZXR1cm4gKDAsICQ2ZGZJZSR1c2VDYWxsYmFjaykoKGUpPT57XG4gICAgICAgIC8vIFJlYWN0IGRvZXMgbm90IGZpcmUgb25CbHVyIHdoZW4gYW4gZWxlbWVudCBpcyBkaXNhYmxlZC4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy85MTQyXG4gICAgICAgIC8vIE1vc3QgYnJvd3NlcnMgZmlyZSBhIG5hdGl2ZSBmb2N1c291dCBldmVudCBpbiB0aGlzIGNhc2UsIGV4Y2VwdCBmb3IgRmlyZWZveC4gSW4gdGhhdCBjYXNlLCB3ZSB1c2UgYVxuICAgICAgICAvLyBNdXRhdGlvbk9ic2VydmVyIHRvIHdhdGNoIGZvciB0aGUgZGlzYWJsZWQgYXR0cmlidXRlLCBhbmQgZGlzcGF0Y2ggdGhlc2UgZXZlbnRzIG91cnNlbHZlcy5cbiAgICAgICAgLy8gRm9yIGJyb3dzZXJzIHRoYXQgZG8sIGZvY3Vzb3V0IGZpcmVzIGJlZm9yZSB0aGUgTXV0YXRpb25PYnNlcnZlciwgc28gb25CbHVyIHNob3VsZCBub3QgZmlyZSB0d2ljZS5cbiAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQgfHwgZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCB8fCBlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50LmlzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZS50YXJnZXQ7XG4gICAgICAgICAgICBsZXQgb25CbHVySGFuZGxlciA9IChlKT0+e1xuICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldC5kaXNhYmxlZCkgLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGRpc3BhdGNoIGEgKGZha2UpIFJlYWN0IHN5bnRoZXRpYyBldmVudC5cbiAgICAgICAgICAgICAgICBkaXNwYXRjaEJsdXIobmV3ICQ4YTljYjI3OWRjODdlMTMwJGV4cG9ydCQ5MDVlN2ZjNTQ0YTcxZjM2KCdibHVyJywgZSkpO1xuICAgICAgICAgICAgICAgIC8vIFdlIG5vIGxvbmdlciBuZWVkIHRoZSBNdXRhdGlvbk9ic2VydmVyIG9uY2UgdGhlIHRhcmdldCBpcyBibHVycmVkLlxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0Jywgb25CbHVySGFuZGxlciwge1xuICAgICAgICAgICAgICAgIG9uY2U6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc3RhdGVSZWYuY3VycmVudC5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpPT57XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlUmVmLmN1cnJlbnQuaXNGb2N1c2VkICYmIHRhcmdldC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3N0YXRlUmVmX2N1cnJlbnRfb2JzZXJ2ZXI7XG4gICAgICAgICAgICAgICAgICAgIChfc3RhdGVSZWZfY3VycmVudF9vYnNlcnZlciA9IHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIpID09PSBudWxsIHx8IF9zdGF0ZVJlZl9jdXJyZW50X29ic2VydmVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfc3RhdGVSZWZfY3VycmVudF9vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZWxhdGVkVGFyZ2V0RWwgPSB0YXJnZXQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBudWxsIDogZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEZvY3VzRXZlbnQoJ2JsdXInLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiByZWxhdGVkVGFyZ2V0RWxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRm9jdXNFdmVudCgnZm9jdXNvdXQnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldEVsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQsIHtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogW1xuICAgICAgICAgICAgICAgICAgICAnZGlzYWJsZWQnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoQmx1clxuICAgIF0pO1xufVxuXG5cbmV4cG9ydCB7JDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDkwNWU3ZmM1NDRhNzFmMzYgYXMgU3ludGhldGljRm9jdXNFdmVudCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MgYXMgdXNlU3ludGhldGljQmx1ckV2ZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs": -/*!***********************************************************!*\ - !*** ./node_modules/@react-aria/ssr/dist/SSRProvider.mjs ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SSRProvider: function() { return /* binding */ $b5e257d569688ac6$export$9f8ac96af4b1b2ae; },\n/* harmony export */ useIsSSR: function() { return /* binding */ $b5e257d569688ac6$export$535bd6ca7f90a273; },\n/* harmony export */ useSSRSafeId: function() { return /* binding */ $b5e257d569688ac6$export$619500959fc48b26; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $b5e257d569688ac6$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $b5e257d569688ac6$var$SSRContext = /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createContext($b5e257d569688ac6$var$defaultContext);\nconst $b5e257d569688ac6$var$IsSSRContext = /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createContext(false);\n// This is only used in React < 18.\nfunction $b5e257d569688ac6$var$LegacySSRProvider(props) {\n let cur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n let counter = $b5e257d569688ac6$var$useCounter(cur === $b5e257d569688ac6$var$defaultContext);\n let [isSSR, setIsSSR] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n let value = (0, react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $b5e257d569688ac6$var$defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [\n cur,\n counter\n ]);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$SSRContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$IsSSRContext.Provider, {\n value: isSSR\n }, props.children));\n}\nlet $b5e257d569688ac6$var$warnedAboutSSRProvider = false;\nfunction $b5e257d569688ac6$export$9f8ac96af4b1b2ae(props) {\n if (typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useId'] === 'function') {\n if ( true && !$b5e257d569688ac6$var$warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n $b5e257d569688ac6$var$warnedAboutSSRProvider = true;\n }\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement((0, react__WEBPACK_IMPORTED_MODULE_0__).Fragment, null, props.children);\n }\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$LegacySSRProvider, props);\n}\nlet $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $b5e257d569688ac6$var$componentIds = new WeakMap();\nfunction $b5e257d569688ac6$var$useCounter(isDisabled = false) {\n let ctx = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n let ref = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n // eslint-disable-next-line rulesdir/pure-render\n if (ref.current === null && !isDisabled) {\n var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n // @ts-ignore\n let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = (0, react__WEBPACK_IMPORTED_MODULE_0__).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;\n if (currentOwner) {\n let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);\n if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.\n $b5e257d569688ac6$var$componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n $b5e257d569688ac6$var$componentIds.delete(currentOwner);\n }\n }\n // eslint-disable-next-line rulesdir/pure-render\n ref.current = ++ctx.current;\n }\n // eslint-disable-next-line rulesdir/pure-render\n return ref.current;\n}\nfunction $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {\n let ctx = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM) console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);\n let prefix = ctx === $b5e257d569688ac6$var$defaultContext && \"development\" === 'test' ? 0 : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\nfunction $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {\n // @ts-ignore\n let id = (0, react__WEBPACK_IMPORTED_MODULE_0__).useId();\n let [didSSR] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)($b5e257d569688ac6$export$535bd6ca7f90a273());\n let prefix = didSSR || \"development\" === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\nconst $b5e257d569688ac6$export$619500959fc48b26 = typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useId'] === 'function' ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;\nfunction $b5e257d569688ac6$var$getSnapshot() {\n return false;\n}\nfunction $b5e257d569688ac6$var$getServerSnapshot() {\n return true;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction $b5e257d569688ac6$var$subscribe(onStoreChange) {\n // noop\n return ()=>{};\n}\nfunction $b5e257d569688ac6$export$535bd6ca7f90a273() {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n if (typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useSyncExternalStore'] === 'function') return (0, react__WEBPACK_IMPORTED_MODULE_0__)['useSyncExternalStore']($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$IsSSRContext);\n}\n\n\n\n//# sourceMappingURL=SSRProvider.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9zc3IvZGlzdC9TU1JQcm92aWRlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFnTTs7QUFFaE07QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELGtDQUFZO0FBQ3ZFLDZEQUE2RCxrQ0FBWTtBQUN6RTtBQUNBO0FBQ0Esa0JBQWtCLDZDQUFpQjtBQUNuQztBQUNBLGdDQUFnQywyQ0FBZTtBQUMvQyxvQkFBb0IsMENBQWM7QUFDbEM7QUFDQTtBQUNBLDJFQUEyRSxXQUFXLEdBQUcsUUFBUTtBQUNqRztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxrREFBc0I7QUFDOUI7QUFDQSxLQUFLO0FBQ0wsNkJBQTZCLGtDQUFZO0FBQ3pDO0FBQ0EsS0FBSyxvQkFBb0Isa0NBQVk7QUFDckM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGtDQUFZO0FBQy9CLFlBQVksS0FBK0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGtDQUFZLG9CQUFvQixrQ0FBWTtBQUM3RTtBQUNBLDZCQUE2QixrQ0FBWTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiw2Q0FBaUI7QUFDbkMsa0JBQWtCLHlDQUFhO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGLGtDQUFZO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsNkNBQWlCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFLGFBQW9CLGNBQWMsQ0FBWSxnQkFBZ0IsV0FBVztBQUMxSSwyQkFBMkIsT0FBTyxHQUFHLFFBQVE7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGtDQUFZO0FBQzdCLHVCQUF1QiwyQ0FBZTtBQUN0QywyQkFBMkIsYUFBb0IsMENBQTBDLDRDQUE0QztBQUNySSwyQkFBMkIsT0FBTyxHQUFHLEdBQUc7QUFDeEM7QUFDQSw2REFBNkQsa0NBQVk7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsa0NBQVkscURBQXFELGtDQUFZO0FBQ2hHO0FBQ0EsZUFBZSw2Q0FBaUI7QUFDaEM7OztBQUdvTDtBQUNwTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvc3NyL2Rpc3QvU1NSUHJvdmlkZXIubWpzP2E0YmEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQ2NzBnQiRyZWFjdCwge3VzZUNvbnRleHQgYXMgJDY3MGdCJHVzZUNvbnRleHQsIHVzZVN0YXRlIGFzICQ2NzBnQiR1c2VTdGF0ZSwgdXNlTWVtbyBhcyAkNjcwZ0IkdXNlTWVtbywgdXNlTGF5b3V0RWZmZWN0IGFzICQ2NzBnQiR1c2VMYXlvdXRFZmZlY3QsIHVzZVJlZiBhcyAkNjcwZ0IkdXNlUmVmfSBmcm9tIFwicmVhY3RcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIC8vIFdlIG11c3QgYXZvaWQgYSBjaXJjdWxhciBkZXBlbmRlbmN5IHdpdGggQHJlYWN0LWFyaWEvdXRpbHMsIGFuZCB0aGlzIHVzZUxheW91dEVmZmVjdCBpc1xuLy8gZ3VhcmRlZCBieSBhIGNoZWNrIHRoYXQgaXQgb25seSBydW5zIG9uIHRoZSBjbGllbnQgc2lkZS5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBydWxlc2Rpci91c2VMYXlvdXRFZmZlY3RSdWxlXG5cbi8vIERlZmF1bHQgY29udGV4dCB2YWx1ZSB0byB1c2UgaW4gY2FzZSB0aGVyZSBpcyBubyBTU1JQcm92aWRlci4gVGhpcyBpcyBmaW5lIGZvclxuLy8gY2xpZW50LW9ubHkgYXBwcy4gSW4gb3JkZXIgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb3BpZXMgb2YgUmVhY3QgQXJpYSBwb3RlbnRpYWxseVxuLy8gYmVpbmcgb24gdGhlIHBhZ2UgYXQgb25jZSwgdGhlIHByZWZpeCBpcyBzZXQgdG8gYSByYW5kb20gbnVtYmVyLiBTU1JQcm92aWRlclxuLy8gd2lsbCByZXNldCB0aGlzIHRvIHplcm8gZm9yIGNvbnNpc3RlbmN5IGJldHdlZW4gc2VydmVyIGFuZCBjbGllbnQsIHNvIGluIHRoZVxuLy8gU1NSIGNhc2UgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IEFyaWEgaXMgbm90IHN1cHBvcnRlZC5cbmNvbnN0ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCA9IHtcbiAgICBwcmVmaXg6IFN0cmluZyhNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwMCkpLFxuICAgIGN1cnJlbnQ6IDBcbn07XG5jb25zdCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkU1NSQ29udGV4dCA9IC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlQ29udGV4dCgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZGVmYXVsdENvbnRleHQpO1xuY29uc3QgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJElzU1NSQ29udGV4dCA9IC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlQ29udGV4dChmYWxzZSk7XG4vLyBUaGlzIGlzIG9ubHkgdXNlZCBpbiBSZWFjdCA8IDE4LlxuZnVuY3Rpb24gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJExlZ2FjeVNTUlByb3ZpZGVyKHByb3BzKSB7XG4gICAgbGV0IGN1ciA9ICgwLCAkNjcwZ0IkdXNlQ29udGV4dCkoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJFNTUkNvbnRleHQpO1xuICAgIGxldCBjb3VudGVyID0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHVzZUNvdW50ZXIoY3VyID09PSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZGVmYXVsdENvbnRleHQpO1xuICAgIGxldCBbaXNTU1IsIHNldElzU1NSXSA9ICgwLCAkNjcwZ0IkdXNlU3RhdGUpKHRydWUpO1xuICAgIGxldCB2YWx1ZSA9ICgwLCAkNjcwZ0IkdXNlTWVtbykoKCk9Pih7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBmaXJzdCBTU1JQcm92aWRlciwgc3RhcnQgd2l0aCBhbiBlbXB0eSBzdHJpbmcgcHJlZml4LCBvdGhlcndpc2VcbiAgICAgICAgICAgIC8vIGFwcGVuZCBhbmQgaW5jcmVtZW50IHRoZSBjb3VudGVyLlxuICAgICAgICAgICAgcHJlZml4OiBjdXIgPT09ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCA/ICcnIDogYCR7Y3VyLnByZWZpeH0tJHtjb3VudGVyfWAsXG4gICAgICAgICAgICBjdXJyZW50OiAwXG4gICAgICAgIH0pLCBbXG4gICAgICAgIGN1cixcbiAgICAgICAgY291bnRlclxuICAgIF0pO1xuICAgIC8vIElmIG9uIHRoZSBjbGllbnQsIGFuZCB0aGUgY29tcG9uZW50IHdhcyBpbml0aWFsbHkgc2VydmVyIHJlbmRlcmVkLFxuICAgIC8vIHRoZW4gc2NoZWR1bGUgYSBsYXlvdXQgZWZmZWN0IHRvIHVwZGF0ZSB0aGUgY29tcG9uZW50IGFmdGVyIGh5ZHJhdGlvbi5cbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgLy8gVGhpcyBpZiBzdGF0ZW1lbnQgdGVjaG5pY2FsbHkgYnJlYWtzIHRoZSBydWxlcyBvZiBob29rcywgYnV0IGlzIHNhZmVcbiAgICAvLyBiZWNhdXNlIHRoZSBjb25kaXRpb24gbmV2ZXIgY2hhbmdlcyBhZnRlciBtb3VudGluZy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAoMCwgJDY3MGdCJHVzZUxheW91dEVmZmVjdCkoKCk9PntcbiAgICAgICAgc2V0SXNTU1IoZmFsc2UpO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgIH0sIC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlRWxlbWVudCgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkSXNTU1JDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiBpc1NTUlxuICAgIH0sIHByb3BzLmNoaWxkcmVuKSk7XG59XG5sZXQgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHdhcm5lZEFib3V0U1NSUHJvdmlkZXIgPSBmYWxzZTtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ5ZjhhYzk2YWY0YjFiMmFlKHByb3BzKSB7XG4gICAgaWYgKHR5cGVvZiAoMCwgJDY3MGdCJHJlYWN0KVsndXNlSWQnXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICd0ZXN0JyAmJiAhJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHdhcm5lZEFib3V0U1NSUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignSW4gUmVhY3QgMTgsIFNTUlByb3ZpZGVyIGlzIG5vdCBuZWNlc3NhcnkgYW5kIGlzIGEgbm9vcC4gWW91IGNhbiByZW1vdmUgaXQgZnJvbSB5b3VyIGFwcC4nKTtcbiAgICAgICAgICAgICRiNWUyNTdkNTY5Njg4YWM2JHZhciR3YXJuZWRBYm91dFNTUlByb3ZpZGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCgwLCAkNjcwZ0IkcmVhY3QpLkZyYWdtZW50LCBudWxsLCBwcm9wcy5jaGlsZHJlbik7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCAkNjcwZ0IkcmVhY3QpLmNyZWF0ZUVsZW1lbnQoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJExlZ2FjeVNTUlByb3ZpZGVyLCBwcm9wcyk7XG59XG5sZXQgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNhblVzZURPTSA9IEJvb2xlYW4odHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbmxldCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzID0gbmV3IFdlYWtNYXAoKTtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VDb3VudGVyKGlzRGlzYWJsZWQgPSBmYWxzZSkge1xuICAgIGxldCBjdHggPSAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0KTtcbiAgICBsZXQgcmVmID0gKDAsICQ2NzBnQiR1c2VSZWYpKG51bGwpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBydWxlc2Rpci9wdXJlLXJlbmRlclxuICAgIGlmIChyZWYuY3VycmVudCA9PT0gbnVsbCAmJiAhaXNEaXNhYmxlZCkge1xuICAgICAgICB2YXIgX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEX1JlYWN0Q3VycmVudE93bmVyLCBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ7XG4gICAgICAgIC8vIEluIHN0cmljdCBtb2RlLCBSZWFjdCByZW5kZXJzIGNvbXBvbmVudHMgdHdpY2UsIGFuZCB0aGUgcmVmIHdpbGwgYmUgcmVzZXQgdG8gbnVsbCBvbiB0aGUgc2Vjb25kIHJlbmRlci5cbiAgICAgICAgLy8gVGhpcyBtZWFucyBvdXIgaWQgY291bnRlciB3aWxsIGJlIGluY3JlbWVudGVkIHR3aWNlIGluc3RlYWQgb2Ygb25jZS4gVGhpcyBpcyBhIHByb2JsZW0gYmVjYXVzZSBvbiB0aGVcbiAgICAgICAgLy8gc2VydmVyLCBjb21wb25lbnRzIGFyZSBvbmx5IHJlbmRlcmVkIG9uY2UgYW5kIHNvIGlkcyBnZW5lcmF0ZWQgb24gdGhlIHNlcnZlciB3b24ndCBtYXRjaCB0aGUgY2xpZW50LlxuICAgICAgICAvLyBJbiBSZWFjdCAxOCwgdXNlSWQgd2FzIGludHJvZHVjZWQgdG8gc29sdmUgdGhpcywgYnV0IGl0IGlzIG5vdCBhdmFpbGFibGUgaW4gb2xkZXIgdmVyc2lvbnMuIFNvIHRvIHNvbHZlIHRoaXNcbiAgICAgICAgLy8gd2UgbmVlZCB0byB1c2Ugc29tZSBSZWFjdCBpbnRlcm5hbHMgdG8gYWNjZXNzIHRoZSB1bmRlcmx5aW5nIEZpYmVyIGluc3RhbmNlLCB3aGljaCBpcyBzdGFibGUgYmV0d2VlbiByZW5kZXJzLlxuICAgICAgICAvLyBUaGlzIGlzIGV4cG9zZWQgYXMgUmVhY3RDdXJyZW50T3duZXIgaW4gZGV2ZWxvcG1lbnQsIHdoaWNoIGlzIGFsbCB3ZSBuZWVkIHNpbmNlIFN0cmljdE1vZGUgb25seSBydW5zIGluIGRldmVsb3BtZW50LlxuICAgICAgICAvLyBUbyBlbnN1cmUgdGhhdCB3ZSBvbmx5IGluY3JlbWVudCB0aGUgZ2xvYmFsIGNvdW50ZXIgb25jZSwgd2Ugc3RvcmUgdGhlIHN0YXJ0aW5nIGlkIGZvciB0aGlzIGNvbXBvbmVudCBpblxuICAgICAgICAvLyBhIHdlYWsgbWFwIGFzc29jaWF0ZWQgd2l0aCB0aGUgRmliZXIuIE9uIHRoZSBzZWNvbmQgcmVuZGVyLCB3ZSByZXNldCB0aGUgZ2xvYmFsIGNvdW50ZXIgdG8gdGhpcyB2YWx1ZS5cbiAgICAgICAgLy8gU2luY2UgUmVhY3QgcnVucyB0aGUgc2Vjb25kIHJlbmRlciBpbW1lZGlhdGVseSBhZnRlciB0aGUgZmlyc3QsIHRoaXMgaXMgc2FmZS5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgY3VycmVudE93bmVyID0gKF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9ICgwLCAkNjcwZ0IkcmVhY3QpLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEKSA9PT0gbnVsbCB8fCBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURfUmVhY3RDdXJyZW50T3duZXIgPSBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQuUmVhY3RDdXJyZW50T3duZXIpID09PSBudWxsIHx8IF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRF9SZWFjdEN1cnJlbnRPd25lciA9PT0gdm9pZCAwID8gdm9pZCAwIDogX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEX1JlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQ7XG4gICAgICAgIGlmIChjdXJyZW50T3duZXIpIHtcbiAgICAgICAgICAgIGxldCBwcmV2Q29tcG9uZW50VmFsdWUgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzLmdldChjdXJyZW50T3duZXIpO1xuICAgICAgICAgICAgaWYgKHByZXZDb21wb25lbnRWYWx1ZSA9PSBudWxsKSAvLyBPbiB0aGUgZmlyc3QgcmVuZGVyLCBhbmQgZmlyc3QgY2FsbCB0byB1c2VJZCwgc3RvcmUgdGhlIGlkIGFuZCBzdGF0ZSBpbiBvdXIgd2VhayBtYXAuXG4gICAgICAgICAgICAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzLnNldChjdXJyZW50T3duZXIsIHtcbiAgICAgICAgICAgICAgICBpZDogY3R4LmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgc3RhdGU6IGN1cnJlbnRPd25lci5tZW1vaXplZFN0YXRlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJlbnRPd25lci5tZW1vaXplZFN0YXRlICE9PSBwcmV2Q29tcG9uZW50VmFsdWUuc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBPbiB0aGUgc2Vjb25kIHJlbmRlciwgdGhlIG1lbW9pemVkU3RhdGUgZ2V0cyByZXNldCBieSBSZWFjdC5cbiAgICAgICAgICAgICAgICAvLyBSZXNldCB0aGUgY291bnRlciwgYW5kIHJlbW92ZSBmcm9tIHRoZSB3ZWFrIG1hcCBzbyB3ZSBkb24ndFxuICAgICAgICAgICAgICAgIC8vIGRvIHRoaXMgZm9yIHN1YnNlcXVlbnQgdXNlSWQgY2FsbHMuXG4gICAgICAgICAgICAgICAgY3R4LmN1cnJlbnQgPSBwcmV2Q29tcG9uZW50VmFsdWUuaWQ7XG4gICAgICAgICAgICAgICAgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNvbXBvbmVudElkcy5kZWxldGUoY3VycmVudE93bmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnVsZXNkaXIvcHVyZS1yZW5kZXJcbiAgICAgICAgcmVmLmN1cnJlbnQgPSArK2N0eC5jdXJyZW50O1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnVsZXNkaXIvcHVyZS1yZW5kZXJcbiAgICByZXR1cm4gcmVmLmN1cnJlbnQ7XG59XG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlTGVnYWN5U1NSU2FmZUlkKGRlZmF1bHRJZCkge1xuICAgIGxldCBjdHggPSAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0KTtcbiAgICAvLyBJZiB3ZSBhcmUgcmVuZGVyaW5nIGluIGEgbm9uLURPTSBlbnZpcm9ubWVudCwgYW5kIHRoZXJlJ3Mgbm8gU1NSUHJvdmlkZXIsXG4gICAgLy8gcHJvdmlkZSBhIHdhcm5pbmcgdG8gaGludCB0byB0aGUgZGV2ZWxvcGVyIHRvIGFkZCBvbmUuXG4gICAgaWYgKGN0eCA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ICYmICEkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY2FuVXNlRE9NKSBjb25zb2xlLndhcm4oJ1doZW4gc2VydmVyIHJlbmRlcmluZywgeW91IG11c3Qgd3JhcCB5b3VyIGFwcGxpY2F0aW9uIGluIGFuIDxTU1JQcm92aWRlcj4gdG8gZW5zdXJlIGNvbnNpc3RlbnQgaWRzIGFyZSBnZW5lcmF0ZWQgYmV0d2VlbiB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIuJyk7XG4gICAgbGV0IGNvdW50ZXIgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlQ291bnRlcighIWRlZmF1bHRJZCk7XG4gICAgbGV0IHByZWZpeCA9IGN0eCA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcgPyAncmVhY3QtYXJpYScgOiBgcmVhY3QtYXJpYSR7Y3R4LnByZWZpeH1gO1xuICAgIHJldHVybiBkZWZhdWx0SWQgfHwgYCR7cHJlZml4fS0ke2NvdW50ZXJ9YDtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VNb2Rlcm5TU1JTYWZlSWQoZGVmYXVsdElkKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxldCBpZCA9ICgwLCAkNjcwZ0IkcmVhY3QpLnVzZUlkKCk7XG4gICAgbGV0IFtkaWRTU1JdID0gKDAsICQ2NzBnQiR1c2VTdGF0ZSkoJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDUzNWJkNmNhN2Y5MGEyNzMoKSk7XG4gICAgbGV0IHByZWZpeCA9IGRpZFNTUiB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnID8gJ3JlYWN0LWFyaWEnIDogYHJlYWN0LWFyaWEkeyRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dC5wcmVmaXh9YDtcbiAgICByZXR1cm4gZGVmYXVsdElkIHx8IGAke3ByZWZpeH0tJHtpZH1gO1xufVxuY29uc3QgJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDYxOTUwMDk1OWZjNDhiMjYgPSB0eXBlb2YgKDAsICQ2NzBnQiRyZWFjdClbJ3VzZUlkJ10gPT09ICdmdW5jdGlvbicgPyAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlTW9kZXJuU1NSU2FmZUlkIDogJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHVzZUxlZ2FjeVNTUlNhZmVJZDtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciRnZXRTbmFwc2hvdCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZ2V0U2VydmVyU25hcHNob3QoKSB7XG4gICAgcmV0dXJuIHRydWU7XG59XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkc3Vic2NyaWJlKG9uU3RvcmVDaGFuZ2UpIHtcbiAgICAvLyBub29wXG4gICAgcmV0dXJuICgpPT57fTtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ1MzViZDZjYTdmOTBhMjczKCkge1xuICAgIC8vIEluIFJlYWN0IDE4LCB3ZSBjYW4gdXNlIHVzZVN5bmNFeHRlcm5hbFN0b3JlIHRvIGRldGVjdCBpZiB3ZSdyZSBzZXJ2ZXIgcmVuZGVyaW5nIG9yIGh5ZHJhdGluZy5cbiAgICBpZiAodHlwZW9mICgwLCAkNjcwZ0IkcmVhY3QpWyd1c2VTeW5jRXh0ZXJuYWxTdG9yZSddID09PSAnZnVuY3Rpb24nKSByZXR1cm4gKDAsICQ2NzBnQiRyZWFjdClbJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJ10oJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHN1YnNjcmliZSwgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGdldFNuYXBzaG90LCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHJldHVybiAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRJc1NTUkNvbnRleHQpO1xufVxuXG5cbmV4cG9ydCB7JGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDlmOGFjOTZhZjRiMWIyYWUgYXMgU1NSUHJvdmlkZXIsICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ1MzViZDZjYTdmOTBhMjczIGFzIHVzZUlzU1NSLCAkYjVlMjU3ZDU2OTY4OGFjNiRleHBvcnQkNjE5NTAwOTU5ZmM0OGIyNiBhcyB1c2VTU1JTYWZlSWR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U1NSUHJvdmlkZXIubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs": -/*!************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/domHelpers.mjs ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getOwnerDocument: function() { return /* binding */ $431fbd86ca7dc216$export$b204af158042fbac; },\n/* harmony export */ getOwnerWindow: function() { return /* binding */ $431fbd86ca7dc216$export$f21a1ffae260145a; }\n/* harmony export */ });\nconst $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n var _el_ownerDocument;\n return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n\n\n\n//# sourceMappingURL=domHelpers.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L2RvbUhlbHBlcnMubWpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHb0k7QUFDcEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvZG9tSGVscGVycy5tanM/MWE5YyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYjIwNGFmMTU4MDQyZmJhYyA9IChlbCk9PntcbiAgICB2YXIgX2VsX293bmVyRG9jdW1lbnQ7XG4gICAgcmV0dXJuIChfZWxfb3duZXJEb2N1bWVudCA9IGVsID09PSBudWxsIHx8IGVsID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlbC5vd25lckRvY3VtZW50KSAhPT0gbnVsbCAmJiBfZWxfb3duZXJEb2N1bWVudCAhPT0gdm9pZCAwID8gX2VsX293bmVyRG9jdW1lbnQgOiBkb2N1bWVudDtcbn07XG5jb25zdCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkZjIxYTFmZmFlMjYwMTQ1YSA9IChlbCk9PntcbiAgICBpZiAoZWwgJiYgJ3dpbmRvdycgaW4gZWwgJiYgZWwud2luZG93ID09PSBlbCkgcmV0dXJuIGVsO1xuICAgIGNvbnN0IGRvYyA9ICQ0MzFmYmQ4NmNhN2RjMjE2JGV4cG9ydCRiMjA0YWYxNTgwNDJmYmFjKGVsKTtcbiAgICByZXR1cm4gZG9jLmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbn07XG5cblxuZXhwb3J0IHskNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYjIwNGFmMTU4MDQyZmJhYyBhcyBnZXRPd25lckRvY3VtZW50LCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkZjIxYTFmZmFlMjYwMTQ1YSBhcyBnZXRPd25lcldpbmRvd307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kb21IZWxwZXJzLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs": -/*!****************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isVirtualClick: function() { return /* binding */ $6a7db85432448f7f$export$60278871457622de; },\n/* harmony export */ isVirtualPointerEvent: function() { return /* binding */ $6a7db85432448f7f$export$29bf1b5f2c56cf63; }\n/* harmony export */ });\n/* harmony import */ var _platform_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs\");\n\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, _platform_mjs__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return !(0, _platform_mjs__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\n\n//# sourceMappingURL=isVirtualEvent.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L2lzVmlydHVhbEV2ZW50Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBc0Y7O0FBRXRGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLG9EQUF5QztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isb0RBQXlDO0FBQ3pEOzs7QUFHeUk7QUFDekkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvaXNWaXJ0dWFsRXZlbnQubWpzP2I1YTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0FuZHJvaWQgYXMgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzh9IGZyb20gXCIuL3BsYXRmb3JtLm1qc1wiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjIgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gXG5mdW5jdGlvbiAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkNjAyNzg4NzE0NTc2MjJkZShldmVudCkge1xuICAgIC8vIEpBV1MvTlZEQSB3aXRoIEZpcmVmb3guXG4gICAgaWYgKGV2ZW50Lm1veklucHV0U291cmNlID09PSAwICYmIGV2ZW50LmlzVHJ1c3RlZCkgcmV0dXJuIHRydWU7XG4gICAgLy8gQW5kcm9pZCBUYWxrQmFjaydzIGRldGFpbCB2YWx1ZSB2YXJpZXMgZGVwZW5kaW5nIG9uIHRoZSBldmVudCBsaXN0ZW5lciBwcm92aWRpbmcgdGhlIGV2ZW50IHNvIHdlIGhhdmUgc3BlY2lmaWMgbG9naWMgaGVyZSBpbnN0ZWFkXG4gICAgLy8gSWYgcG9pbnRlclR5cGUgaXMgZGVmaW5lZCwgZXZlbnQgaXMgZnJvbSBhIGNsaWNrIGxpc3RlbmVyLiBGb3IgZXZlbnRzIGZyb20gbW91c2Vkb3duIGxpc3RlbmVyLCBkZXRhaWwgPT09IDAgaXMgYSBzdWZmaWNpZW50IGNoZWNrXG4gICAgLy8gdG8gZGV0ZWN0IFRhbGtCYWNrIHZpcnR1YWwgY2xpY2tzLlxuICAgIGlmICgoMCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzgpKCkgJiYgZXZlbnQucG9pbnRlclR5cGUpIHJldHVybiBldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmJ1dHRvbnMgPT09IDE7XG4gICAgcmV0dXJuIGV2ZW50LmRldGFpbCA9PT0gMCAmJiAhZXZlbnQucG9pbnRlclR5cGU7XG59XG5mdW5jdGlvbiAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkMjliZjFiNWYyYzU2Y2Y2MyhldmVudCkge1xuICAgIC8vIElmIHRoZSBwb2ludGVyIHNpemUgaXMgemVybywgdGhlbiB3ZSBhc3N1bWUgaXQncyBmcm9tIGEgc2NyZWVuIHJlYWRlci5cbiAgICAvLyBBbmRyb2lkIFRhbGtCYWNrIGRvdWJsZSB0YXAgd2lsbCBzb21ldGltZXMgcmV0dXJuIGEgZXZlbnQgd2l0aCB3aWR0aCBhbmQgaGVpZ2h0IG9mIDFcbiAgICAvLyBhbmQgcG9pbnRlclR5cGUgPT09ICdtb3VzZScgc28gd2UgbmVlZCB0byBjaGVjayBmb3IgYSBzcGVjaWZpYyBjb21iaW5hdGlvbiBvZiBldmVudCBhdHRyaWJ1dGVzLlxuICAgIC8vIENhbm5vdCB1c2UgXCJldmVudC5wcmVzc3VyZSA9PT0gMFwiIGFzIHRoZSBzb2xlIGNoZWNrIGR1ZSB0byBTYWZhcmkgcG9pbnRlciBldmVudHMgYWx3YXlzIHJldHVybmluZyBwcmVzc3VyZSA9PT0gMFxuICAgIC8vIGluc3RlYWQgb2YgLjUsIHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjE2LiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyBpcyB0byBkaXN0aW5ndXNoXG4gICAgLy8gVGFsa2JhY2sgZG91YmxlIHRhcCBmcm9tIFdpbmRvd3MgRmlyZWZveCB0b3VjaCBzY3JlZW4gcHJlc3NcbiAgICByZXR1cm4gISgwLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYTExYjAwNTk5MDBjZWVjOCkoKSAmJiBldmVudC53aWR0aCA9PT0gMCAmJiBldmVudC5oZWlnaHQgPT09IDAgfHwgZXZlbnQud2lkdGggPT09IDEgJiYgZXZlbnQuaGVpZ2h0ID09PSAxICYmIGV2ZW50LnByZXNzdXJlID09PSAwICYmIGV2ZW50LmRldGFpbCA9PT0gMCAmJiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJztcbn1cblxuXG5leHBvcnQgeyQ2YTdkYjg1NDMyNDQ4ZjdmJGV4cG9ydCQ2MDI3ODg3MTQ1NzYyMmRlIGFzIGlzVmlydHVhbENsaWNrLCAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkMjliZjFiNWYyYzU2Y2Y2MyBhcyBpc1ZpcnR1YWxQb2ludGVyRXZlbnR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNWaXJ0dWFsRXZlbnQubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs": -/*!**********************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/platform.mjs ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isAndroid: function() { return /* binding */ $c87311424ea30a05$export$a11b0059900ceec8; },\n/* harmony export */ isAppleDevice: function() { return /* binding */ $c87311424ea30a05$export$e1865c3bedcd822b; },\n/* harmony export */ isChrome: function() { return /* binding */ $c87311424ea30a05$export$6446a186d09e379e; },\n/* harmony export */ isFirefox: function() { return /* binding */ $c87311424ea30a05$export$b7d78993b74f766d; },\n/* harmony export */ isIOS: function() { return /* binding */ $c87311424ea30a05$export$fedb369cb70207f1; },\n/* harmony export */ isIPad: function() { return /* binding */ $c87311424ea30a05$export$7bef049ce92e4224; },\n/* harmony export */ isIPhone: function() { return /* binding */ $c87311424ea30a05$export$186c6964ca17d99; },\n/* harmony export */ isMac: function() { return /* binding */ $c87311424ea30a05$export$9ac100e40613ea10; },\n/* harmony export */ isWebKit: function() { return /* binding */ $c87311424ea30a05$export$78551043582a6a98; }\n/* harmony export */ });\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n var _window_navigator_userAgentData;\n if (typeof window === 'undefined' || window.navigator == null) return false;\n return ((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand)=>re.test(brand.brand))) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n var _window_navigator_userAgentData;\n return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$export$9ac100e40613ea10() {\n return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n}\nfunction $c87311424ea30a05$export$186c6964ca17d99() {\n return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n}\nfunction $c87311424ea30a05$export$7bef049ce92e4224() {\n return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n}\nfunction $c87311424ea30a05$export$fedb369cb70207f1() {\n return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n}\nfunction $c87311424ea30a05$export$e1865c3bedcd822b() {\n return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n}\nfunction $c87311424ea30a05$export$78551043582a6a98() {\n return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n}\nfunction $c87311424ea30a05$export$6446a186d09e379e() {\n return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n}\nfunction $c87311424ea30a05$export$a11b0059900ceec8() {\n return $c87311424ea30a05$var$testUserAgent(/Android/i);\n}\nfunction $c87311424ea30a05$export$b7d78993b74f766d() {\n return $c87311424ea30a05$var$testUserAgent(/Firefox/i);\n}\n\n\n\n//# sourceMappingURL=platform.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3BsYXRmb3JtLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHcWY7QUFDcmYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvcGxhdGZvcm0ubWpzPzIxMmUiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIGZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KHJlKSB7XG4gICAgdmFyIF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGE7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IHdpbmRvdy5uYXZpZ2F0b3IgPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiAoKF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPSB3aW5kb3cubmF2aWdhdG9yWyd1c2VyQWdlbnREYXRhJ10pID09PSBudWxsIHx8IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEuYnJhbmRzLnNvbWUoKGJyYW5kKT0+cmUudGVzdChicmFuZC5icmFuZCkpKSB8fCByZS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0UGxhdGZvcm0ocmUpIHtcbiAgICB2YXIgX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YTtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lm5hdmlnYXRvciAhPSBudWxsID8gcmUudGVzdCgoKF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPSB3aW5kb3cubmF2aWdhdG9yWyd1c2VyQWdlbnREYXRhJ10pID09PSBudWxsIHx8IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEucGxhdGZvcm0pIHx8IHdpbmRvdy5uYXZpZ2F0b3IucGxhdGZvcm0pIDogZmFsc2U7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkOWFjMTAwZTQwNjEzZWExMCgpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RQbGF0Zm9ybSgvXk1hYy9pKTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQxODZjNjk2NGNhMTdkOTkoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0UGxhdGZvcm0oL15pUGhvbmUvaSk7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkN2JlZjA0OWNlOTJlNDIyNCgpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RQbGF0Zm9ybSgvXmlQYWQvaSkgfHwgLy8gaVBhZE9TIDEzIGxpZXMgYW5kIHNheXMgaXQncyBhIE1hYywgYnV0IHdlIGNhbiBkaXN0aW5ndWlzaCBieSBkZXRlY3RpbmcgdG91Y2ggc3VwcG9ydC5cbiAgICAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkOWFjMTAwZTQwNjEzZWExMCgpICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDE7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZmVkYjM2OWNiNzAyMDdmMSgpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDE4NmM2OTY0Y2ExN2Q5OSgpIHx8ICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3YmVmMDQ5Y2U5MmU0MjI0KCk7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZTE4NjVjM2JlZGNkODIyYigpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDlhYzEwMGU0MDYxM2VhMTAoKSB8fCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZmVkYjM2OWNiNzAyMDdmMSgpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDc4NTUxMDQzNTgyYTZhOTgoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9BcHBsZVdlYktpdC9pKSAmJiAhJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDY0NDZhMTg2ZDA5ZTM3OWUoKTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ2NDQ2YTE4NmQwOWUzNzllKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFVzZXJBZ2VudCgvQ2hyb21lL2kpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzgoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9BbmRyb2lkL2kpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGI3ZDc4OTkzYjc0Zjc2NmQoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9GaXJlZm94L2kpO1xufVxuXG5cbmV4cG9ydCB7JGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDlhYzEwMGU0MDYxM2VhMTAgYXMgaXNNYWMsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQxODZjNjk2NGNhMTdkOTkgYXMgaXNJUGhvbmUsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3YmVmMDQ5Y2U5MmU0MjI0IGFzIGlzSVBhZCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGZlZGIzNjljYjcwMjA3ZjEgYXMgaXNJT1MsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRlMTg2NWMzYmVkY2Q4MjJiIGFzIGlzQXBwbGVEZXZpY2UsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3ODU1MTA0MzU4MmE2YTk4IGFzIGlzV2ViS2l0LCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkNjQ0NmExODZkMDllMzc5ZSBhcyBpc0Nocm9tZSwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzggYXMgaXNBbmRyb2lkLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYjdkNzg5OTNiNzRmNzY2ZCBhcyBpc0ZpcmVmb3h9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGxhdGZvcm0ubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs": -/*!****************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/useEffectEvent.mjs ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEffectEvent: function() { return /* binding */ $8ae05eaa5c114e9c$export$7f54fc3180508a52; }\n/* harmony export */ });\n/* harmony import */ var _useLayoutEffect_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useLayoutEffect.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n const ref = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0, _useLayoutEffect_mjs__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((...args)=>{\n const f = ref.current;\n return f === null || f === void 0 ? void 0 : f(...args);\n }, []);\n}\n\n\n\n//# sourceMappingURL=useEffectEvent.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUVmZmVjdEV2ZW50Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBbUc7QUFDbEI7O0FBRWpGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IseUNBQWE7QUFDakMsUUFBUSxpRUFBeUM7QUFDakQ7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSw4Q0FBa0I7QUFDakM7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR3FFO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUVmZmVjdEV2ZW50Lm1qcz8xNDFiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlTGF5b3V0RWZmZWN0IGFzICRmMGEwNGNjZDhkYmRkODNiJGV4cG9ydCRlNWM1YTVmOTE3YTU4NzFjfSBmcm9tIFwiLi91c2VMYXlvdXRFZmZlY3QubWpzXCI7XG5pbXBvcnQge3VzZVJlZiBhcyAkbG1hWXIkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkbG1hWXIkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjMgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gXG5cbmZ1bmN0aW9uICQ4YWUwNWVhYTVjMTE0ZTljJGV4cG9ydCQ3ZjU0ZmMzMTgwNTA4YTUyKGZuKSB7XG4gICAgY29uc3QgcmVmID0gKDAsICRsbWFZciR1c2VSZWYpKG51bGwpO1xuICAgICgwLCAkZjBhMDRjY2Q4ZGJkZDgzYiRleHBvcnQkZTVjNWE1ZjkxN2E1ODcxYykoKCk9PntcbiAgICAgICAgcmVmLmN1cnJlbnQgPSBmbjtcbiAgICB9LCBbXG4gICAgICAgIGZuXG4gICAgXSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiAoMCwgJGxtYVlyJHVzZUNhbGxiYWNrKSgoLi4uYXJncyk9PntcbiAgICAgICAgY29uc3QgZiA9IHJlZi5jdXJyZW50O1xuICAgICAgICByZXR1cm4gZiA9PT0gbnVsbCB8fCBmID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmKC4uLmFyZ3MpO1xuICAgIH0sIFtdKTtcbn1cblxuXG5leHBvcnQgeyQ4YWUwNWVhYTVjMTE0ZTljJGV4cG9ydCQ3ZjU0ZmMzMTgwNTA4YTUyIGFzIHVzZUVmZmVjdEV2ZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUVmZmVjdEV2ZW50Lm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLayoutEffect: function() { return /* binding */ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, react__WEBPACK_IMPORTED_MODULE_0__).useLayoutEffect : ()=>{};\n\n\n\n//# sourceMappingURL=useLayoutEffect.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUxheW91dEVmZmVjdC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3RkFBd0Ysa0NBQVk7OztBQUc5QjtBQUN0RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VMYXlvdXRFZmZlY3QubWpzPzFmMWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICRIZ0FOZCRyZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuY29uc3QgJGYwYTA0Y2NkOGRiZGQ4M2IkZXhwb3J0JGU1YzVhNWY5MTdhNTg3MWMgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gKDAsICRIZ0FOZCRyZWFjdCkudXNlTGF5b3V0RWZmZWN0IDogKCk9Pnt9O1xuXG5cbmV4cG9ydCB7JGYwYTA0Y2NkOGRiZGQ4M2IkZXhwb3J0JGU1YzVhNWY5MTdhNTg3MWMgYXMgdXNlTGF5b3V0RWZmZWN0fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUxheW91dEVmZmVjdC5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs": -/*!*****************************************!*\ - !*** ./node_modules/clsx/dist/clsx.mjs ***! - \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clsx: function() { return /* binding */ clsx; }\n/* harmony export */ });\nfunction r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}/* harmony default export */ __webpack_exports__[\"default\"] = (clsx);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9jbHN4L2Rpc3QvY2xzeC5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGNBQWMsYUFBYSwrQ0FBK0MsZ0RBQWdELGVBQWUsUUFBUSxJQUFJLDBDQUEwQyx5Q0FBeUMsU0FBZ0IsZ0JBQWdCLHdDQUF3QyxJQUFJLG1EQUFtRCxTQUFTLCtEQUFlLElBQUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2Nsc3gvZGlzdC9jbHN4Lm1qcz80NDYxIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHIoZSl7dmFyIHQsZixuPVwiXCI7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGV8fFwibnVtYmVyXCI9PXR5cGVvZiBlKW4rPWU7ZWxzZSBpZihcIm9iamVjdFwiPT10eXBlb2YgZSlpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgbz1lLmxlbmd0aDtmb3IodD0wO3Q8bzt0KyspZVt0XSYmKGY9cihlW3RdKSkmJihuJiYobis9XCIgXCIpLG4rPWYpfWVsc2UgZm9yKGYgaW4gZSllW2ZdJiYobiYmKG4rPVwiIFwiKSxuKz1mKTtyZXR1cm4gbn1leHBvcnQgZnVuY3Rpb24gY2xzeCgpe2Zvcih2YXIgZSx0LGY9MCxuPVwiXCIsbz1hcmd1bWVudHMubGVuZ3RoO2Y8bztmKyspKGU9YXJndW1lbnRzW2ZdKSYmKHQ9cihlKSkmJihuJiYobis9XCIgXCIpLG4rPXQpO3JldHVybiBufWV4cG9ydCBkZWZhdWx0IGNsc3g7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/app/events/versefest/page.js b/.next/static/chunks/app/events/versefest/page.js deleted file mode 100644 index 4f1f2b2..0000000 --- a/.next/static/chunks/app/events/versefest/page.js +++ /dev/null @@ -1,1357 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/events/versefest/page"],{ - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!": -/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false! ***! - \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(app-pages-browser)/./src/components/Header.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Schedule.jsx */ \"(app-pages-browser)/./src/components/Schedule.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Speakers.jsx */ \"(app-pages-browser)/./src/components/Speakers.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-newsletter.jpg */ \"(app-pages-browser)/./src/images/background-newsletter.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background.jpg */ \"(app-pages-browser)/./src/images/background.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/mirage.svg */ \"(app-pages-browser)/./src/images/logos/mirage.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/statickit.svg */ \"(app-pages-browser)/./src/images/logos/statickit.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/transistor.svg */ \"(app-pages-browser)/./src/images/logos/transistor.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/tuple.svg */ \"(app-pages-browser)/./src/images/logos/tuple.svg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGJTQwaGVhZGxlc3N1aSUyRnJlYWN0JTJGZGlzdCUyRmNvbXBvbmVudHMlMkZkaXNjbG9zdXJlJTJGZGlzY2xvc3VyZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlMkMlMjJEaXNjbG9zdXJlQnV0dG9uJTIyJTJDJTIyRGlzY2xvc3VyZVBhbmVsJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGaW1hZ2UtY29tcG9uZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGbGluay5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGY29tcG9uZW50cyUyRkhlYWRlci5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJIZWFkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGY29tcG9uZW50cyUyRlNjaGVkdWxlLmpzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlNjaGVkdWxlJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmNvbXBvbmVudHMlMkZTcGVha2Vycy5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJTcGVha2VycyUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZiYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZiYWNrZ3JvdW5kLmpwZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZtaXJhZ2Uuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRnN0YXRpY2tpdC5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGdHJhbnNpc3Rvci5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGdHVwbGUuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZzZXJ2ZXI9ZmFsc2UhIiwibWFwcGluZ3MiOiJBQUFBLDRRQUFrSztBQUNsSztBQUNBLG9PQUEySTtBQUMzSTtBQUNBLDhNQUFnSTtBQUNoSTtBQUNBLGdMQUFnSjtBQUNoSjtBQUNBLG9MQUFvSjtBQUNwSjtBQUNBLG9MQUFvSjtBQUNwSjtBQUNBLHNNQUErSDtBQUMvSDtBQUNBLGdMQUFvSDtBQUNwSDtBQUNBLG9MQUFzSDtBQUN0SDtBQUNBLDBMQUF5SDtBQUN6SDtBQUNBLDRMQUEwSDtBQUMxSDtBQUNBLGtMQUFxSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvPzlkYzYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2Rpc2Nsb3N1cmUvZGlzY2xvc3VyZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaW1hZ2UtY29tcG9uZW50LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJIZWFkZXJcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJTY2hlZHVsZVwiXSAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiU3BlYWtlcnNcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvYmFja2dyb3VuZC1uZXdzbGV0dGVyLmpwZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLmpwZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2xvZ29zL3N0YXRpY2tpdC5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvbG9nb3MvdHVwbGUuc3ZnXCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/api/image.js": -/*!*********************************************!*\ - !*** ./node_modules/next/dist/api/image.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default from dynamic */ _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default.a; }\n/* harmony export */ });\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/image-external */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\");\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=image.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2ltYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF1RDtBQUNWOztBQUU3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcz8xMTY3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tIFwiLi4vc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4uL3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWxcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/image.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/api/link.js": -/*!********************************************!*\ - !*** ./node_modules/next/dist/api/link.js ***! - \********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _client_link__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=link.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXlDO0FBQ1Y7O0FBRS9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanM/MjAyYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/link.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/build/polyfills/process.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _global_process, _global_process1;\nmodule.exports = ((_global_process = __webpack_require__.g.process) == null ? void 0 : _global_process.env) && typeof ((_global_process1 = __webpack_require__.g.process) == null ? void 0 : _global_process1.env) === \"object\" ? __webpack_require__.g.process : __webpack_require__(/*! next/dist/compiled/process */ \"(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js\");\n\n//# sourceMappingURL=process.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3Byb2Nlc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLHFDQUFxQyxxQkFBTSxpRkFBaUYscUJBQU0sa0VBQWtFLHFCQUFNLFdBQVcsbUJBQU8sQ0FBQyw0R0FBNEI7O0FBRXpQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3Byb2Nlc3MuanM/Y2ViYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfZ2xvYmFsX3Byb2Nlc3MsIF9nbG9iYWxfcHJvY2VzczE7XG5tb2R1bGUuZXhwb3J0cyA9ICgoX2dsb2JhbF9wcm9jZXNzID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MuZW52KSAmJiB0eXBlb2YgKChfZ2xvYmFsX3Byb2Nlc3MxID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MxLmVudikgPT09IFwib2JqZWN0XCIgPyBnbG9iYWwucHJvY2VzcyA6IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2Vzc1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvY2Vzcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/picomatch/index.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\");\n(()=>{\"use strict\";var t={170:(t,e,u)=>{const n=u(510);const isWindows=()=>{if(typeof navigator!==\"undefined\"&&navigator.platform){const t=navigator.platform.toLowerCase();return t===\"win32\"||t===\"windows\"}if(typeof process!==\"undefined\"&&process.platform){return process.platform===\"win32\"}return false};function picomatch(t,e,u=false){if(e&&(e.windows===null||e.windows===undefined)){e={...e,windows:isWindows()}}return n(t,e,u)}Object.assign(picomatch,n);t.exports=picomatch},154:t=>{const e=\"\\\\\\\\/\";const u=`[^${e}]`;const n=\"\\\\.\";const o=\"\\\\+\";const s=\"\\\\?\";const r=\"\\\\/\";const a=\"(?=.)\";const i=\"[^/]\";const c=`(?:${r}|$)`;const p=`(?:^|${r})`;const l=`${n}{1,2}${c}`;const f=`(?!${n})`;const A=`(?!${p}${l})`;const _=`(?!${n}{0,1}${c})`;const R=`(?!${l})`;const E=`[^.${r}]`;const h=`${i}*?`;const g=\"/\";const b={DOT_LITERAL:n,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:r,ONE_CHAR:a,QMARK:i,END_ANCHOR:c,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:A,NO_DOT_SLASH:_,NO_DOTS_SLASH:R,QMARK_NO_DOT:E,STAR:h,START_ANCHOR:p,SEP:g};const C={...b,SLASH_LITERAL:`[${e}]`,QMARK:u,STAR:`${u}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`,SEP:\"\\\\\"};const y={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:y,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${t.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(t){return t===true?C:b}}},697:(t,e,u)=>{const n=u(154);const o=u(96);const{MAX_LENGTH:s,POSIX_REGEX_SOURCE:r,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:i,REPLACEMENTS:c}=n;const expandRange=(t,e)=>{if(typeof e.expandRange===\"function\"){return e.expandRange(...t,e)}t.sort();const u=`[${t.join(\"-\")}]`;try{new RegExp(u)}catch(e){return t.map((t=>o.escapeRegex(t))).join(\"..\")}return u};const syntaxError=(t,e)=>`Missing ${t}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`;const parse=(t,e)=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected a string\")}t=c[t]||t;const u={...e};const p=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;let l=t.length;if(l>p){throw new SyntaxError(`Input length: ${l}, exceeds maximum allowed length: ${p}`)}const f={type:\"bos\",value:\"\",output:u.prepend||\"\"};const A=[f];const _=u.capture?\"\":\"?:\";const R=n.globChars(u.windows);const E=n.extglobChars(R);const{DOT_LITERAL:h,PLUS_LITERAL:g,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:y,NO_DOT:$,NO_DOT_SLASH:x,NO_DOTS_SLASH:S,QMARK:H,QMARK_NO_DOT:v,STAR:d,START_ANCHOR:L}=R;const globstar=t=>`(${_}(?:(?!${L}${t.dot?y:h}).)*?)`;const T=u.dot?\"\":$;const O=u.dot?H:v;let k=u.bash===true?globstar(u):d;if(u.capture){k=`(${k})`}if(typeof u.noext===\"boolean\"){u.noextglob=u.noext}const m={input:t,index:-1,start:0,dot:u.dot===true,consumed:\"\",output:\"\",prefix:\"\",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:A};t=o.removePrefix(t,m);l=t.length;const w=[];const N=[];const I=[];let B=f;let G;const eos=()=>m.index===l-1;const D=m.peek=(e=1)=>t[m.index+e];const M=m.advance=()=>t[++m.index]||\"\";const remaining=()=>t.slice(m.index+1);const consume=(t=\"\",e=0)=>{m.consumed+=t;m.index+=e};const append=t=>{m.output+=t.output!=null?t.output:t.value;consume(t.value)};const negate=()=>{let t=1;while(D()===\"!\"&&(D(2)!==\"(\"||D(3)===\"?\")){M();m.start++;t++}if(t%2===0){return false}m.negated=true;m.start++;return true};const increment=t=>{m[t]++;I.push(t)};const decrement=t=>{m[t]--;I.pop()};const push=t=>{if(B.type===\"globstar\"){const e=m.braces>0&&(t.type===\"comma\"||t.type===\"brace\");const u=t.extglob===true||w.length&&(t.type===\"pipe\"||t.type===\"paren\");if(t.type!==\"slash\"&&t.type!==\"paren\"&&!e&&!u){m.output=m.output.slice(0,-B.output.length);B.type=\"star\";B.value=\"*\";B.output=k;m.output+=B.output}}if(w.length&&t.type!==\"paren\"){w[w.length-1].inner+=t.value}if(t.value||t.output)append(t);if(B&&B.type===\"text\"&&t.type===\"text\"){B.output=(B.output||B.value)+t.value;B.value+=t.value;return}t.prev=B;A.push(t);B=t};const extglobOpen=(t,e)=>{const n={...E[e],conditions:1,inner:\"\"};n.prev=B;n.parens=m.parens;n.output=m.output;const o=(u.capture?\"(\":\"\")+n.open;increment(\"parens\");push({type:t,value:e,output:m.output?\"\":C});push({type:\"paren\",extglob:true,value:M(),output:o});w.push(n)};const extglobClose=t=>{let n=t.close+(u.capture?\")\":\"\");let o;if(t.type===\"negate\"){let s=k;if(t.inner&&t.inner.length>1&&t.inner.includes(\"/\")){s=globstar(u)}if(s!==k||eos()||/^\\)+$/.test(remaining())){n=t.close=`)$))${s}`}if(t.inner.includes(\"*\")&&(o=remaining())&&/^\\.[^\\\\/.]+$/.test(o)){const u=parse(o,{...e,fastpaths:false}).output;n=t.close=`)${u})${s})`}if(t.prev.type===\"bos\"){m.negatedExtglob=true}}push({type:\"paren\",extglob:true,value:G,output:n});decrement(\"parens\")};if(u.fastpaths!==false&&!/(^[*!]|[/()[\\]{}\"])/.test(t)){let n=false;let s=t.replace(i,((t,e,u,o,s,r)=>{if(o===\"\\\\\"){n=true;return t}if(o===\"?\"){if(e){return e+o+(s?H.repeat(s.length):\"\")}if(r===0){return O+(s?H.repeat(s.length):\"\")}return H.repeat(u.length)}if(o===\".\"){return h.repeat(u.length)}if(o===\"*\"){if(e){return e+o+(s?k:\"\")}return k}return e?t:`\\\\${t}`}));if(n===true){if(u.unescape===true){s=s.replace(/\\\\/g,\"\")}else{s=s.replace(/\\\\+/g,(t=>t.length%2===0?\"\\\\\\\\\":t?\"\\\\\":\"\"))}}if(s===t&&u.contains===true){m.output=t;return m}m.output=o.wrapOutput(s,m,e);return m}while(!eos()){G=M();if(G===\"\\0\"){continue}if(G===\"\\\\\"){const t=D();if(t===\"/\"&&u.bash!==true){continue}if(t===\".\"||t===\";\"){continue}if(!t){G+=\"\\\\\";push({type:\"text\",value:G});continue}const e=/^\\\\+/.exec(remaining());let n=0;if(e&&e[0].length>2){n=e[0].length;m.index+=n;if(n%2!==0){G+=\"\\\\\"}}if(u.unescape===true){G=M()}else{G+=M()}if(m.brackets===0){push({type:\"text\",value:G});continue}}if(m.brackets>0&&(G!==\"]\"||B.value===\"[\"||B.value===\"[^\")){if(u.posix!==false&&G===\":\"){const t=B.value.slice(1);if(t.includes(\"[\")){B.posix=true;if(t.includes(\":\")){const t=B.value.lastIndexOf(\"[\");const e=B.value.slice(0,t);const u=B.value.slice(t+2);const n=r[u];if(n){B.value=e+n;m.backtrack=true;M();if(!f.output&&A.indexOf(B)===1){f.output=C}continue}}}}if(G===\"[\"&&D()!==\":\"||G===\"-\"&&D()===\"]\"){G=`\\\\${G}`}if(G===\"]\"&&(B.value===\"[\"||B.value===\"[^\")){G=`\\\\${G}`}if(u.posix===true&&G===\"!\"&&B.value===\"[\"){G=\"^\"}B.value+=G;append({value:G});continue}if(m.quotes===1&&G!=='\"'){G=o.escapeRegex(G);B.value+=G;append({value:G});continue}if(G==='\"'){m.quotes=m.quotes===1?0:1;if(u.keepQuotes===true){push({type:\"text\",value:G})}continue}if(G===\"(\"){increment(\"parens\");push({type:\"paren\",value:G});continue}if(G===\")\"){if(m.parens===0&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"(\"))}const t=w[w.length-1];if(t&&m.parens===t.parens+1){extglobClose(w.pop());continue}push({type:\"paren\",value:G,output:m.parens?\")\":\"\\\\)\"});decrement(\"parens\");continue}if(G===\"[\"){if(u.nobracket===true||!remaining().includes(\"]\")){if(u.nobracket!==true&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"closing\",\"]\"))}G=`\\\\${G}`}else{increment(\"brackets\")}push({type:\"bracket\",value:G});continue}if(G===\"]\"){if(u.nobracket===true||B&&B.type===\"bracket\"&&B.value.length===1){push({type:\"text\",value:G,output:`\\\\${G}`});continue}if(m.brackets===0){if(u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"[\"))}push({type:\"text\",value:G,output:`\\\\${G}`});continue}decrement(\"brackets\");const t=B.value.slice(1);if(B.posix!==true&&t[0]===\"^\"&&!t.includes(\"/\")){G=`/${G}`}B.value+=G;append({value:G});if(u.literalBrackets===false||o.hasRegexChars(t)){continue}const e=o.escapeRegex(B.value);m.output=m.output.slice(0,-B.value.length);if(u.literalBrackets===true){m.output+=e;B.value=e;continue}B.value=`(${_}${e}|${B.value})`;m.output+=B.value;continue}if(G===\"{\"&&u.nobrace!==true){increment(\"braces\");const t={type:\"brace\",value:G,output:\"(\",outputIndex:m.output.length,tokensIndex:m.tokens.length};N.push(t);push(t);continue}if(G===\"}\"){const t=N[N.length-1];if(u.nobrace===true||!t){push({type:\"text\",value:G,output:G});continue}let e=\")\";if(t.dots===true){const t=A.slice();const n=[];for(let e=t.length-1;e>=0;e--){A.pop();if(t[e].type===\"brace\"){break}if(t[e].type!==\"dots\"){n.unshift(t[e].value)}}e=expandRange(n,u);m.backtrack=true}if(t.comma!==true&&t.dots!==true){const u=m.output.slice(0,t.outputIndex);const n=m.tokens.slice(t.tokensIndex);t.value=t.output=\"\\\\{\";G=e=\"\\\\}\";m.output=u;for(const t of n){m.output+=t.output||t.value}}push({type:\"brace\",value:G,output:e});decrement(\"braces\");N.pop();continue}if(G===\"|\"){if(w.length>0){w[w.length-1].conditions++}push({type:\"text\",value:G});continue}if(G===\",\"){let t=G;const e=N[N.length-1];if(e&&I[I.length-1]===\"braces\"){e.comma=true;t=\"|\"}push({type:\"comma\",value:G,output:t});continue}if(G===\"/\"){if(B.type===\"dot\"&&m.index===m.start+1){m.start=m.index+1;m.consumed=\"\";m.output=\"\";A.pop();B=f;continue}push({type:\"slash\",value:G,output:b});continue}if(G===\".\"){if(m.braces>0&&B.type===\"dot\"){if(B.value===\".\")B.output=h;const t=N[N.length-1];B.type=\"dots\";B.output+=G;B.value+=G;t.dots=true;continue}if(m.braces+m.parens===0&&B.type!==\"bos\"&&B.type!==\"slash\"){push({type:\"text\",value:G,output:h});continue}push({type:\"dot\",value:G,output:h});continue}if(G===\"?\"){const t=B&&B.value===\"(\";if(!t&&u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"qmark\",G);continue}if(B&&B.type===\"paren\"){const t=D();let e=G;if(B.value===\"(\"&&!/[!=<:]/.test(t)||t===\"<\"&&!/<([!=]|\\w+>)/.test(remaining())){e=`\\\\${G}`}push({type:\"text\",value:G,output:e});continue}if(u.dot!==true&&(B.type===\"slash\"||B.type===\"bos\")){push({type:\"qmark\",value:G,output:v});continue}push({type:\"qmark\",value:G,output:H});continue}if(G===\"!\"){if(u.noextglob!==true&&D()===\"(\"){if(D(2)!==\"?\"||!/[!=<:]/.test(D(3))){extglobOpen(\"negate\",G);continue}}if(u.nonegate!==true&&m.index===0){negate();continue}}if(G===\"+\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"plus\",G);continue}if(B&&B.value===\"(\"||u.regex===false){push({type:\"plus\",value:G,output:g});continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\"||B.type===\"brace\")||m.parens>0){push({type:\"plus\",value:G});continue}push({type:\"plus\",value:g});continue}if(G===\"@\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){push({type:\"at\",extglob:true,value:G,output:\"\"});continue}push({type:\"text\",value:G});continue}if(G!==\"*\"){if(G===\"$\"||G===\"^\"){G=`\\\\${G}`}const t=a.exec(remaining());if(t){G+=t[0];m.index+=t[0].length}push({type:\"text\",value:G});continue}if(B&&(B.type===\"globstar\"||B.star===true)){B.type=\"star\";B.star=true;B.value+=G;B.output=k;m.backtrack=true;m.globstar=true;consume(G);continue}let e=remaining();if(u.noextglob!==true&&/^\\([^?]/.test(e)){extglobOpen(\"star\",G);continue}if(B.type===\"star\"){if(u.noglobstar===true){consume(G);continue}const n=B.prev;const o=n.prev;const s=n.type===\"slash\"||n.type===\"bos\";const r=o&&(o.type===\"star\"||o.type===\"globstar\");if(u.bash===true&&(!s||e[0]&&e[0]!==\"/\")){push({type:\"star\",value:G,output:\"\"});continue}const a=m.braces>0&&(n.type===\"comma\"||n.type===\"brace\");const i=w.length&&(n.type===\"pipe\"||n.type===\"paren\");if(!s&&n.type!==\"paren\"&&!a&&!i){push({type:\"star\",value:G,output:\"\"});continue}while(e.slice(0,3)===\"/**\"){const u=t[m.index+4];if(u&&u!==\"/\"){break}e=e.slice(3);consume(\"/**\",3)}if(n.type===\"bos\"&&eos()){B.type=\"globstar\";B.value+=G;B.output=globstar(u);m.output=B.output;m.globstar=true;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&!r&&eos()){m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=globstar(u)+(u.strictSlashes?\")\":\"|$)\");B.value+=G;m.globstar=true;m.output+=n.output+B.output;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&e[0]===\"/\"){const t=e[1]!==void 0?\"|$\":\"\";m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=`${globstar(u)}${b}|${b}${t})`;B.value+=G;m.output+=n.output+B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}if(n.type===\"bos\"&&e[0]===\"/\"){B.type=\"globstar\";B.value+=G;B.output=`(?:^|${b}|${globstar(u)}${b})`;m.output=B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}m.output=m.output.slice(0,-B.output.length);B.type=\"globstar\";B.output=globstar(u);B.value+=G;m.output+=B.output;m.globstar=true;consume(G);continue}const n={type:\"star\",value:G,output:k};if(u.bash===true){n.output=\".*?\";if(B.type===\"bos\"||B.type===\"slash\"){n.output=T+n.output}push(n);continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\")&&u.regex===true){n.output=G;push(n);continue}if(m.index===m.start||B.type===\"slash\"||B.type===\"dot\"){if(B.type===\"dot\"){m.output+=x;B.output+=x}else if(u.dot===true){m.output+=S;B.output+=S}else{m.output+=T;B.output+=T}if(D()!==\"*\"){m.output+=C;B.output+=C}}push(n)}while(m.brackets>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"]\"));m.output=o.escapeLast(m.output,\"[\");decrement(\"brackets\")}while(m.parens>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\")\"));m.output=o.escapeLast(m.output,\"(\");decrement(\"parens\")}while(m.braces>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"}\"));m.output=o.escapeLast(m.output,\"{\");decrement(\"braces\")}if(u.strictSlashes!==true&&(B.type===\"star\"||B.type===\"bracket\")){push({type:\"maybe_slash\",value:\"\",output:`${b}?`})}if(m.backtrack===true){m.output=\"\";for(const t of m.tokens){m.output+=t.output!=null?t.output:t.value;if(t.suffix){m.output+=t.suffix}}}return m};parse.fastpaths=(t,e)=>{const u={...e};const r=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;const a=t.length;if(a>r){throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${r}`)}t=c[t]||t;const{DOT_LITERAL:i,SLASH_LITERAL:p,ONE_CHAR:l,DOTS_SLASH:f,NO_DOT:A,NO_DOTS:_,NO_DOTS_SLASH:R,STAR:E,START_ANCHOR:h}=n.globChars(u.windows);const g=u.dot?_:A;const b=u.dot?R:A;const C=u.capture?\"\":\"?:\";const y={negated:false,prefix:\"\"};let $=u.bash===true?\".*?\":E;if(u.capture){$=`(${$})`}const globstar=t=>{if(t.noglobstar===true)return $;return`(${C}(?:(?!${h}${t.dot?f:i}).)*?)`};const create=t=>{switch(t){case\"*\":return`${g}${l}${$}`;case\".*\":return`${i}${l}${$}`;case\"*.*\":return`${g}${$}${i}${l}${$}`;case\"*/*\":return`${g}${$}${p}${l}${b}${$}`;case\"**\":return g+globstar(u);case\"**/*\":return`(?:${g}${globstar(u)}${p})?${b}${l}${$}`;case\"**/*.*\":return`(?:${g}${globstar(u)}${p})?${b}${$}${i}${l}${$}`;case\"**/.*\":return`(?:${g}${globstar(u)}${p})?${i}${l}${$}`;default:{const e=/^(.*?)\\.(\\w+)$/.exec(t);if(!e)return;const u=create(e[1]);if(!u)return;return u+i+e[2]}}};const x=o.removePrefix(t,y);let S=create(x);if(S&&u.strictSlashes!==true){S+=`${p}?`}return S};t.exports=parse},510:(t,e,u)=>{const n=u(716);const o=u(697);const s=u(96);const r=u(154);const isObject=t=>t&&typeof t===\"object\"&&!Array.isArray(t);const picomatch=(t,e,u=false)=>{if(Array.isArray(t)){const n=t.map((t=>picomatch(t,e,u)));const arrayMatcher=t=>{for(const e of n){const u=e(t);if(u)return u}return false};return arrayMatcher}const n=isObject(t)&&t.tokens&&t.input;if(t===\"\"||typeof t!==\"string\"&&!n){throw new TypeError(\"Expected pattern to be a non-empty string\")}const o=e||{};const s=o.windows;const r=n?picomatch.compileRe(t,e):picomatch.makeRe(t,e,false,true);const a=r.state;delete r.state;let isIgnored=()=>false;if(o.ignore){const t={...e,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(o.ignore,t,u)}const matcher=(u,n=false)=>{const{isMatch:i,match:c,output:p}=picomatch.test(u,r,e,{glob:t,posix:s});const l={glob:t,state:a,regex:r,posix:s,input:u,output:p,match:c,isMatch:i};if(typeof o.onResult===\"function\"){o.onResult(l)}if(i===false){l.isMatch=false;return n?l:false}if(isIgnored(u)){if(typeof o.onIgnore===\"function\"){o.onIgnore(l)}l.isMatch=false;return n?l:false}if(typeof o.onMatch===\"function\"){o.onMatch(l)}return n?l:true};if(u){matcher.state=a}return matcher};picomatch.test=(t,e,u,{glob:n,posix:o}={})=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected input to be a string\")}if(t===\"\"){return{isMatch:false,output:\"\"}}const r=u||{};const a=r.format||(o?s.toPosixSlashes:null);let i=t===n;let c=i&&a?a(t):t;if(i===false){c=a?a(t):t;i=c===n}if(i===false||r.capture===true){if(r.matchBase===true||r.basename===true){i=picomatch.matchBase(t,e,u,o)}else{i=e.exec(c)}}return{isMatch:Boolean(i),match:i,output:c}};picomatch.matchBase=(t,e,u)=>{const n=e instanceof RegExp?e:picomatch.makeRe(e,u);return n.test(s.basename(t))};picomatch.isMatch=(t,e,u)=>picomatch(e,u)(t);picomatch.parse=(t,e)=>{if(Array.isArray(t))return t.map((t=>picomatch.parse(t,e)));return o(t,{...e,fastpaths:false})};picomatch.scan=(t,e)=>n(t,e);picomatch.compileRe=(t,e,u=false,n=false)=>{if(u===true){return t.output}const o=e||{};const s=o.contains?\"\":\"^\";const r=o.contains?\"\":\"$\";let a=`${s}(?:${t.output})${r}`;if(t&&t.negated===true){a=`^(?!${a}).*$`}const i=picomatch.toRegex(a,e);if(n===true){i.state=t}return i};picomatch.makeRe=(t,e={},u=false,n=false)=>{if(!t||typeof t!==\"string\"){throw new TypeError(\"Expected a non-empty string\")}let s={negated:false,fastpaths:true};if(e.fastpaths!==false&&(t[0]===\".\"||t[0]===\"*\")){s.output=o.fastpaths(t,e)}if(!s.output){s=o(t,e)}return picomatch.compileRe(s,e,u,n)};picomatch.toRegex=(t,e)=>{try{const u=e||{};return new RegExp(t,u.flags||(u.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===true)throw t;return/$^/}};picomatch.constants=r;t.exports=picomatch},716:(t,e,u)=>{const n=u(96);const{CHAR_ASTERISK:o,CHAR_AT:s,CHAR_BACKWARD_SLASH:r,CHAR_COMMA:a,CHAR_DOT:i,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:f,CHAR_LEFT_SQUARE_BRACKET:A,CHAR_PLUS:_,CHAR_QUESTION_MARK:R,CHAR_RIGHT_CURLY_BRACE:E,CHAR_RIGHT_PARENTHESES:h,CHAR_RIGHT_SQUARE_BRACKET:g}=u(154);const isPathSeparator=t=>t===p||t===r;const depth=t=>{if(t.isPrefix!==true){t.depth=t.isGlobstar?Infinity:1}};const scan=(t,e)=>{const u=e||{};const b=t.length-1;const C=u.parts===true||u.scanToEnd===true;const y=[];const $=[];const x=[];let S=t;let H=-1;let v=0;let d=0;let L=false;let T=false;let O=false;let k=false;let m=false;let w=false;let N=false;let I=false;let B=false;let G=false;let D=0;let M;let P;let K={value:\"\",depth:0,isGlob:false};const eos=()=>H>=b;const peek=()=>S.charCodeAt(H+1);const advance=()=>{M=P;return S.charCodeAt(++H)};while(H<b){P=advance();let t;if(P===r){N=K.backslashes=true;P=advance();if(P===l){w=true}continue}if(w===true||P===l){D++;while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;advance();continue}if(P===l){D++;continue}if(w!==true&&P===i&&(P=advance())===i){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(w!==true&&P===a){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===E){D--;if(D===0){w=false;L=K.isBrace=true;G=true;break}}}if(C===true){continue}break}if(P===p){y.push(H);$.push(K);K={value:\"\",depth:0,isGlob:false};if(G===true)continue;if(M===i&&H===v+1){v+=2;continue}d=H+1;continue}if(u.noext!==true){const t=P===_||P===s||P===o||P===R||P===c;if(t===true&&peek()===f){O=K.isGlob=true;k=K.isExtglob=true;G=true;if(P===c&&H===v){B=true}if(C===true){while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;P=advance();continue}if(P===h){O=K.isGlob=true;G=true;break}}continue}break}}if(P===o){if(M===o)m=K.isGlobstar=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===R){O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===A){while(eos()!==true&&(t=advance())){if(t===r){N=K.backslashes=true;advance();continue}if(t===g){T=K.isBracket=true;O=K.isGlob=true;G=true;break}}if(C===true){continue}break}if(u.nonegate!==true&&P===c&&H===v){I=K.negated=true;v++;continue}if(u.noparen!==true&&P===f){O=K.isGlob=true;if(C===true){while(eos()!==true&&(P=advance())){if(P===f){N=K.backslashes=true;P=advance();continue}if(P===h){G=true;break}}continue}break}if(O===true){G=true;if(C===true){continue}break}}if(u.noext===true){k=false;O=false}let U=S;let X=\"\";let F=\"\";if(v>0){X=S.slice(0,v);S=S.slice(v);d-=v}if(U&&O===true&&d>0){U=S.slice(0,d);F=S.slice(d)}else if(O===true){U=\"\";F=S}else{U=S}if(U&&U!==\"\"&&U!==\"/\"&&U!==S){if(isPathSeparator(U.charCodeAt(U.length-1))){U=U.slice(0,-1)}}if(u.unescape===true){if(F)F=n.removeBackslashes(F);if(U&&N===true){U=n.removeBackslashes(U)}}const Q={prefix:X,input:t,start:v,base:U,glob:F,isBrace:L,isBracket:T,isGlob:O,isExtglob:k,isGlobstar:m,negated:I,negatedExtglob:B};if(u.tokens===true){Q.maxDepth=0;if(!isPathSeparator(P)){$.push(K)}Q.tokens=$}if(u.parts===true||u.tokens===true){let e;for(let n=0;n<y.length;n++){const o=e?e+1:v;const s=y[n];const r=t.slice(o,s);if(u.tokens){if(n===0&&v!==0){$[n].isPrefix=true;$[n].value=X}else{$[n].value=r}depth($[n]);Q.maxDepth+=$[n].depth}if(n!==0||r!==\"\"){x.push(r)}e=s}if(e&&e+1<t.length){const n=t.slice(e+1);x.push(n);if(u.tokens){$[$.length-1].value=n;depth($[$.length-1]);Q.maxDepth+=$[$.length-1].depth}}Q.slashes=y;Q.parts=x}return Q};t.exports=scan},96:(t,e,u)=>{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:r}=u(154);e.isObject=t=>t!==null&&typeof t===\"object\"&&!Array.isArray(t);e.hasRegexChars=t=>s.test(t);e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t);e.escapeRegex=t=>t.replace(r,\"\\\\$1\");e.toPosixSlashes=t=>t.replace(n,\"/\");e.removeBackslashes=t=>t.replace(o,(t=>t===\"\\\\\"?\"\":t));e.escapeLast=(t,u,n)=>{const o=t.lastIndexOf(u,n);if(o===-1)return t;if(t[o-1]===\"\\\\\")return e.escapeLast(t,u,o-1);return`${t.slice(0,o)}\\\\${t.slice(o)}`};e.removePrefix=(t,e={})=>{let u=t;if(u.startsWith(\"./\")){u=u.slice(2);e.prefix=\"./\"}return u};e.wrapOutput=(t,e={},u={})=>{const n=u.contains?\"\":\"^\";const o=u.contains?\"\":\"$\";let s=`${n}(?:${t})${o}`;if(e.negated===true){s=`(?:^(?!${s}).*$)`}return s};e.basename=(t,{windows:e}={})=>{const u=t.split(e?/[\\\\/]/:\"/\");const n=u[u.length-1];if(n===\"\"){return u[u.length-2]}return n}}};var e={};function __nccwpck_require__(u){var n=e[u];if(n!==undefined){return n.exports}var o=e[u]={exports:{}};var s=true;try{t[u](o,o.exports,__nccwpck_require__);s=false}finally{if(s)delete e[u]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var u=__nccwpck_require__(170);module.exports=u})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGljb21hdGNoL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxhQUFhLE9BQU8sY0FBYyxlQUFlLHFCQUFxQix1REFBdUQseUNBQXlDLGtDQUFrQyxVQUFVLE9BQU8sZ0JBQWdCLE9BQU8sV0FBVyxPQUFPLE9BQU8sb0JBQW9CLGNBQWMsZ0NBQWdDLGlEQUFpRCxHQUFHLDBCQUEwQixnQkFBZ0IsMkJBQTJCLG9CQUFvQixTQUFTLGdCQUFnQixhQUFhLEVBQUUsR0FBRyxjQUFjLGNBQWMsY0FBYyxjQUFjLGdCQUFnQixlQUFlLGNBQWMsRUFBRSxLQUFLLGdCQUFnQixFQUFFLEdBQUcsV0FBVyxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLFdBQVcsRUFBRSxJQUFJLFlBQVksU0FBUyx3TUFBd00sU0FBUyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLFNBQVMseUxBQXlMLGFBQWEsRUFBRSw4RUFBOEUsV0FBVyxzRUFBc0UscURBQXFELHlDQUF5QyxnR0FBZ0csNEVBQTRFLHVDQUF1QyxtM0JBQW0zQixPQUFPLEtBQUssMENBQTBDLE9BQU8sR0FBRyxNQUFNLG1DQUFtQyxNQUFNLGtDQUFrQyxNQUFNLGtDQUFrQyxNQUFNLGlDQUFpQyxjQUFjLHNCQUFzQixlQUFlLGVBQWUs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QUFPLGFBQWEsU0FBUyxPQUFPLG1CQUFtQixRQUFRLFFBQVEsUUFBUSxTQUFTLFNBQVMsUUFBUSxlQUFlLGFBQWEsS0FBSyxxQkFBcUIsZUFBZSxhQUFhLGtCQUFrQixLQUFLLElBQUksS0FBSyxJQUFJLDhCQUE4Qiw4Q0FBOEMsaUJBQWlCLHNCQUFzQiw4QkFBOEIsZ0JBQWdCLDBCQUEwQixTQUFTLDJIQUEySCxvQkFBb0IsYUFBYSx3QkFBd0IsVUFBVSxXQUFXLG9DQUFvQyxNQUFNLFlBQVksV0FBVyxLQUFLLGdCQUFnQixhQUFhLHFCQUFxQixhQUFhLGlCQUFpQixtQkFBbUIsYUFBYSxLQUFLLGFBQWEsWUFBWSx1QkFBdUIsa0JBQWtCLFVBQVUsSUFBSSxvQkFBb0IscUJBQXFCLFVBQVUsYUFBYSxzQkFBc0IscUJBQXFCLGlDQUFpQyxZQUFZLFVBQVUsVUFBVSxlQUFlLGNBQWMsTUFBTSw4RkFBOEYsUUFBUSwrREFBK0QsNkJBQTZCLGtEQUFrRCxxQ0FBcUMscUNBQXFDLHVEQUF1RCx1QkFBdUIsMkJBQTJCLG1CQUFtQiw4Q0FBOEMsU0FBUyxhQUFhLElBQUksV0FBVyxHQUFHLHNCQUFzQixJQUFJLFFBQVEsdUJBQXVCLGFBQWEsY0FBYyxVQUFVLG9CQUFvQixLQUFLLElBQUksMEJBQTBCLDBCQUEwQixTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLHFCQUFxQixZQUFZLEVBQUUsT0FBTyxVQUFVLGVBQWUsVUFBVSxHQUFHLElBQUksK0JBQStCLHNCQUFzQixXQUFXLHFCQUFxQixZQUFZLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLFlBQVksV0FBVyxJQUFJLHNDQUFzQyxRQUFRLFFBQVEsaUJBQWlCLGlCQUFpQixtRUFBbUUsU0FBUyxLQUFLLCtCQUErQixpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanM/NDVjZSJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgdD17MTcwOih0LGUsdSk9Pntjb25zdCBuPXUoNTEwKTtjb25zdCBpc1dpbmRvd3M9KCk9PntpZih0eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmbmF2aWdhdG9yLnBsYXRmb3JtKXtjb25zdCB0PW5hdmlnYXRvci5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09XCJ3aW4zMlwifHx0PT09XCJ3aW5kb3dzXCJ9aWYodHlwZW9mIHByb2Nlc3MhPT1cInVuZGVmaW5lZFwiJiZwcm9jZXNzLnBsYXRmb3JtKXtyZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybT09PVwid2luMzJcIn1yZXR1cm4gZmFsc2V9O2Z1bmN0aW9uIHBpY29tYXRjaCh0LGUsdT1mYWxzZSl7aWYoZSYmKGUud2luZG93cz09PW51bGx8fGUud2luZG93cz09PXVuZGVmaW5lZCkpe2U9ey4uLmUsd2luZG93czppc1dpbmRvd3MoKX19cmV0dXJuIG4odCxlLHUpfU9iamVjdC5hc3NpZ24ocGljb21hdGNoLG4pO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDE1NDp0PT57Y29uc3QgZT1cIlxcXFxcXFxcL1wiO2NvbnN0IHU9YFteJHtlfV1gO2NvbnN0IG49XCJcXFxcLlwiO2NvbnN0IG89XCJcXFxcK1wiO2NvbnN0IHM9XCJcXFxcP1wiO2NvbnN0IHI9XCJcXFxcL1wiO2NvbnN0IGE9XCIoPz0uKVwiO2NvbnN0IGk9XCJbXi9dXCI7Y29uc3QgYz1gKD86JHtyfXwkKWA7Y29uc3QgcD1gKD86Xnwke3J9KWA7Y29uc3QgbD1gJHtufXsxLDJ9JHtjfWA7Y29uc3QgZj1gKD8hJHtufSlgO2NvbnN0IEE9YCg/ISR7cH0ke2x9KWA7Y29uc3QgXz1gKD8hJHtufXswLDF9JHtjfSlgO2NvbnN0IFI9YCg/ISR7bH0pYDtjb25zdCBFPWBbXi4ke3J9XWA7Y29uc3QgaD1gJHtpfSo/YDtjb25zdCBnPVwiL1wiO2NvbnN0IGI9e0RPVF9MSVRFUkFMOm4sUExVU19MSVRFUkFMOm8sUU1BUktfTElURVJBTDpzLFNMQVNIX0xJVEVSQUw6cixPTkVfQ0hBUjphLFFNQVJLOmksRU5EX0FOQ0hPUjpjLERPVFNfU0xBU0g6bCxOT19ET1Q6ZixOT19ET1RTOkEsTk9fRE9UX1NMQVNIOl8sTk9fRE9UU19TTEFTSDpSLFFNQVJLX05PX0RPVDpFLFNUQVI6aCxTVEFSVF9BTkNIT1I6cCxTRVA6Z307Y29uc3QgQz17Li4uYixTTEFTSF9MSVRFUkFMOmBbJHtlfV1gLFFNQVJLOnUsU1RBUjpgJHt1fSo/YCxET1RTX1NMQVNIOmAke259ezEsMn0oPzpbJHtlfV18JClgLE5PX0RPVDpgKD8hJHtufSlgLE5PX0RPVFM6YCg/ISg/Ol58WyR7ZX1dKSR7bn17MSwyfSg/Olske2V9XXwkKSlgLE5PX0RPVF9TTEFTSDpgKD8hJHtufXswLDF9KD86WyR7ZX1dfCQpKWAsTk9fRE9UU19TTEFTSDpgKD8hJHtufXsxLDJ9KD86WyR7ZX1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2V9XWAsU1RBUlRfQU5DSE9SOmAoPzpefFske2V9XSlgLEVORF9BTkNIT1I6YCg/Olske2V9XXwkKWAsU0VQOlwiXFxcXFwifTtjb25zdCB5PXthbG51bTpcImEtekEtWjAtOVwiLGFscGhhOlwiYS16QS1aXCIsYXNjaWk6XCJcXFxceDAwLVxcXFx4N0ZcIixibGFuazpcIiBcXFxcdFwiLGNudHJsOlwiXFxcXHgwMC1cXFxceDFGXFxcXHg3RlwiLGRpZ2l0OlwiMC05XCIsZ3JhcGg6XCJcXFxceDIxLVxcXFx4N0VcIixsb3dlcjpcImEtelwiLHByaW50OlwiXFxcXHgyMC1cXFxceDdFIFwiLHB1bmN0OlwiXFxcXC0hXFxcIiMkJSYnKClcXFxcKissLi86Ozw9Pj9AW1xcXFxdXl9ge3x9flwiLHNwYWNlOlwiIFxcXFx0XFxcXHJcXFxcblxcXFx2XFxcXGZcIix1cHBlcjpcIkEtWlwiLHdvcmQ6XCJBLVphLXowLTlfXCIseGRpZ2l0OlwiQS1GYS1mMC05XCJ9O3QuZXhwb3J0cz17TUFYX0xFTkdUSDoxMDI0KjY0LFBPU0lYX1JFR0VYX1NPVVJDRTp5LFJFR0VYX0JBQ0tTTEFTSDovXFxcXCg/IVsqKz9eJHt9KHwpW1xcXV0pL2csUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6L15bXkAhW1xcXS4sJCorP157fSgpfFxcXFwvXSsvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6L1stKis/Ll4ke30ofClbXFxdXS8sUkVHRVhfU1BFQ0lBTF9DSEFSU19CQUNLUkVGOi8oXFxcXD8pKChcXFcpKFxcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXF1dKS9nLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6Lyg/OlxcWy4qP1teXFxcXF1cXF18XFxcXCg/PS4pKS9nLFJFUExBQ0VNRU5UUzp7XCIqKipcIjpcIipcIixcIioqLyoqXCI6XCIqKlwiLFwiKiovKiovKipcIjpcIioqXCJ9LENIQVJfMDo0OCxDSEFSXzk6NTcsQ0hBUl9VUFBFUkNBU0VfQTo2NSxDSEFSX0xPV0VSQ0FTRV9BOjk3LENIQVJfVVBQRVJDQVNFX1o6OTAsQ0hBUl9MT1dFUkNBU0VfWjoxMjIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOjQwLENIQVJfUklHSFRfUEFSRU5USEVTRVM6NDEsQ0hBUl9BU1RFUklTSzo0MixDSEFSX0FNUEVSU0FORDozOCxDSEFSX0FUOjY0LENIQVJfQkFDS1dBUkRfU0xBU0g6OTIsQ0hBUl9DQVJSSUFHRV9SRVRVUk46MTMsQ0hBUl9DSVJDVU1GTEVYX0FDQ0VOVDo5NCxDSEFSX0NPTE9OOjU4LENIQVJfQ09NTUE6NDQsQ0hBUl9ET1Q6NDYsQ0hBUl9ET1VCTEVfUVVPVEU6MzQsQ0hBUl9FUVVBTDo2MSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6MzMsQ0hBUl9GT1JNX0ZFRUQ6MTIsQ0hBUl9GT1JXQVJEX1NMQVNIOjQ3LENIQVJfR1JBVkVfQUNDRU5UOjk2LENIQVJfSEFTSDozNSxDSEFSX0hZUEhFTl9NSU5VUzo0NSxDSEFSX0xFRlRfQU5HTEVfQlJBQ0tFVDo2MCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6MTIzLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDo5MSxDSEFSX0xJTkVfRkVFRDoxMCxDSEFSX05PX0JSRUFLX1NQQUNFOjE2MCxDSEFSX1BFUkNFTlQ6MzcsQ0hBUl9QTFVTOjQzLENIQVJfUVVFU1RJT05fTUFSSzo2MyxDSEFSX1JJR0hUX0FOR0xFX0JSQUNLRVQ6NjIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToxMjUsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDo5MyxDSEFSX1NFTUlDT0xPTjo1OSxDSEFSX1NJTkdMRV9RVU9URTozOSxDSEFSX1NQQUNFOjMyLENIQVJfVEFCOjksQ0hBUl9VTkRFUlNDT1JFOjk1LENIQVJfVkVSVElDQUxfTElORToxMjQsQ0hBUl9aRVJPX1dJRFRIX05PQlJFQUtfU1BBQ0U6NjUyNzksZXh0Z2xvYkNoYXJzKHQpe3JldHVybntcIiFcIjp7dHlwZTpcIm5lZ2F0ZVwiLG9wZW46XCIoPzooPyEoPzpcIixjbG9zZTpgKSkke3QuU1RBUn0pYH0sXCI/XCI6e3R5cGU6XCJxbWFya1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIik/XCJ9LFwiK1wiOnt0eXBlOlwicGx1c1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIikrXCJ9LFwiKlwiOnt0eXBlOlwic3RhclwiLG9wZW46XCIoPzpcIixjbG9zZTpcIikqXCJ9LFwiQFwiOnt0eXBlOlwiYXRcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpXCJ9fX0sZ2xvYkNoYXJzKHQpe3JldHVybiB0PT09dHJ1ZT9DOmJ9fX0sNjk3Oih0LGUsdSk9Pntjb25zdCBuPXUoMTU0KTtjb25zdCBvPXUoOTYpO2NvbnN0e01BWF9MRU5HVEg6cyxQT1NJWF9SRUdFWF9TT1VSQ0U6cixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzphLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjppLFJFUExBQ0VNRU5UUzpjfT1uO2NvbnN0IGV4cGFuZFJhbmdlPSh0LGUpPT57aWYodHlwZW9mIGUuZXhwYW5kUmFuZ2U9PT1cImZ1bmN0aW9uXCIpe3JldHVybiBlLmV4cGFuZFJhbmdlKC4uLnQsZSl9dC5zb3J0KCk7Y29uc3QgdT1gWyR7dC5qb2luKFwiLVwiKX1dYDt0cnl7bmV3IFJlZ0V4cCh1KX1jYXRjaChlKXtyZXR1cm4gdC5tYXAoKHQ9Pm8uZXNjYXBlUmVnZXgodCkpKS5qb2luKFwiLi5cIil9cmV0dXJuIHV9O2NvbnN0IHN5bnRheEVycm9yPSh0LGUpPT5gTWlzc2luZyAke3R9OiBcIiR7ZX1cIiAtIHVzZSBcIlxcXFxcXFxcJHtlfVwiIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2A7Y29uc3QgcGFyc2U9KHQsZSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKX10PWNbdF18fHQ7Y29uc3QgdT17Li4uZX07Y29uc3QgcD10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7bGV0IGw9dC5sZW5ndGg7aWYobD5wKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtsfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3B9YCl9Y29uc3QgZj17dHlwZTpcImJvc1wiLHZhbHVlOlwiXCIsb3V0cHV0OnUucHJlcGVuZHx8XCJcIn07Y29uc3QgQT1bZl07Y29uc3QgXz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgUj1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IEU9bi5leHRnbG9iQ2hhcnMoUik7Y29uc3R7RE9UX0xJVEVSQUw6aCxQTFVTX0xJVEVSQUw6ZyxTTEFTSF9MSVRFUkFMOmIsT05FX0NIQVI6QyxET1RTX1NMQVNIOnksTk9fRE9UOiQsTk9fRE9UX1NMQVNIOngsTk9fRE9UU19TTEFTSDpTLFFNQVJLOkgsUU1BUktfTk9fRE9UOnYsU1RBUjpkLFNUQVJUX0FOQ0hPUjpMfT1SO2NvbnN0IGdsb2JzdGFyPXQ9PmAoJHtffSg/Oig/ISR7TH0ke3QuZG90P3k6aH0pLikqPylgO2NvbnN0IFQ9dS5kb3Q/XCJcIjokO2NvbnN0IE89dS5kb3Q/SDp2O2xldCBrPXUuYmFzaD09PXRydWU/Z2xvYnN0YXIodSk6ZDtpZih1LmNhcHR1cmUpe2s9YCgke2t9KWB9aWYodHlwZW9mIHUubm9leHQ9PT1cImJvb2xlYW5cIil7dS5ub2V4dGdsb2I9dS5ub2V4dH1jb25zdCBtPXtpbnB1dDp0LGluZGV4Oi0xLHN0YXJ0OjAsZG90OnUuZG90PT09dHJ1ZSxjb25zdW1lZDpcIlwiLG91dHB1dDpcIlwiLHByZWZpeDpcIlwiLGJhY2t0cmFjazpmYWxzZSxuZWdhdGVkOmZhbHNlLGJyYWNrZXRzOjAsYnJhY2VzOjAscGFyZW5zOjAscXVvdGVzOjAsZ2xvYnN0YXI6ZmFsc2UsdG9rZW5zOkF9O3Q9by5yZW1vdmVQcmVmaXgodCxtKTtsPXQubGVuZ3RoO2NvbnN0IHc9W107Y29uc3QgTj1bXTtjb25zdCBJPVtdO2xldCBCPWY7bGV0IEc7Y29uc3QgZW9zPSgpPT5tLmluZGV4PT09bC0xO2NvbnN0IEQ9bS5wZWVrPShlPTEpPT50W20uaW5kZXgrZV07Y29uc3QgTT1tLmFkdmFuY2U9KCk9PnRbKyttLmluZGV4XXx8XCJcIjtjb25zdCByZW1haW5pbmc9KCk9PnQuc2xpY2UobS5pbmRleCsxKTtjb25zdCBjb25zdW1lPSh0PVwiXCIsZT0wKT0+e20uY29uc3VtZWQrPXQ7bS5pbmRleCs9ZX07Y29uc3QgYXBwZW5kPXQ9PnttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtjb25zdW1lKHQudmFsdWUpfTtjb25zdCBuZWdhdGU9KCk9PntsZXQgdD0xO3doaWxlKEQoKT09PVwiIVwiJiYoRCgyKSE9PVwiKFwifHxEKDMpPT09XCI/XCIpKXtNKCk7bS5zdGFydCsrO3QrK31pZih0JTI9PT0wKXtyZXR1cm4gZmFsc2V9bS5uZWdhdGVkPXRydWU7bS5zdGFydCsrO3JldHVybiB0cnVlfTtjb25zdCBpbmNyZW1lbnQ9dD0+e21bdF0rKztJLnB1c2godCl9O2NvbnN0IGRlY3JlbWVudD10PT57bVt0XS0tO0kucG9wKCl9O2NvbnN0IHB1c2g9dD0+e2lmKEIudHlwZT09PVwiZ2xvYnN0YXJcIil7Y29uc3QgZT1tLmJyYWNlcz4wJiYodC50eXBlPT09XCJjb21tYVwifHx0LnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IHU9dC5leHRnbG9iPT09dHJ1ZXx8dy5sZW5ndGgmJih0LnR5cGU9PT1cInBpcGVcInx8dC50eXBlPT09XCJwYXJlblwiKTtpZih0LnR5cGUhPT1cInNsYXNoXCImJnQudHlwZSE9PVwicGFyZW5cIiYmIWUmJiF1KXttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cInN0YXJcIjtCLnZhbHVlPVwiKlwiO0Iub3V0cHV0PWs7bS5vdXRwdXQrPUIub3V0cHV0fX1pZih3Lmxlbmd0aCYmdC50eXBlIT09XCJwYXJlblwiKXt3W3cubGVuZ3RoLTFdLmlubmVyKz10LnZhbHVlfWlmKHQudmFsdWV8fHQub3V0cHV0KWFwcGVuZCh0KTtpZihCJiZCLnR5cGU9PT1cInRleHRcIiYmdC50eXBlPT09XCJ0ZXh0XCIpe0Iub3V0cHV0PShCLm91dHB1dHx8Qi52YWx1ZSkrdC52YWx1ZTtCLnZhbHVlKz10LnZhbHVlO3JldHVybn10LnByZXY9QjtBLnB1c2godCk7Qj10fTtjb25zdCBleHRnbG9iT3Blbj0odCxlKT0+e2NvbnN0IG49ey4uLkVbZV0sY29uZGl0aW9uczoxLGlubmVyOlwiXCJ9O24ucHJldj1CO24ucGFyZW5zPW0ucGFyZW5zO24ub3V0cHV0PW0ub3V0cHV0O2NvbnN0IG89KHUuY2FwdHVyZT9cIihcIjpcIlwiKStuLm9wZW47aW5jcmVtZW50KFwicGFyZW5zXCIpO3B1c2goe3R5cGU6dCx2YWx1ZTplLG91dHB1dDptLm91dHB1dD9cIlwiOkN9KTtwdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6TSgpLG91dHB1dDpvfSk7dy5wdXNoKG4pfTtjb25zdCBleHRnbG9iQ2xvc2U9dD0+e2xldCBuPXQuY2xvc2UrKHUuY2FwdHVyZT9cIilcIjpcIlwiKTtsZXQgbztpZih0LnR5cGU9PT1cIm5lZ2F0ZVwiKXtsZXQgcz1rO2lmKHQuaW5uZXImJnQuaW5uZXIubGVuZ3RoPjEmJnQuaW5uZXIuaW5jbHVkZXMoXCIvXCIpKXtzPWdsb2JzdGFyKHUpfWlmKHMhPT1rfHxlb3MoKXx8L15cXCkrJC8udGVzdChyZW1haW5pbmcoKSkpe249dC5jbG9zZT1gKSQpKSR7c31gfWlmKHQuaW5uZXIuaW5jbHVkZXMoXCIqXCIpJiYobz1yZW1haW5pbmcoKSkmJi9eXFwuW15cXFxcLy5dKyQvLnRlc3Qobykpe2NvbnN0IHU9cGFyc2Uobyx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KS5vdXRwdXQ7bj10LmNsb3NlPWApJHt1fSkke3N9KWB9aWYodC5wcmV2LnR5cGU9PT1cImJvc1wiKXttLm5lZ2F0ZWRFeHRnbG9iPXRydWV9fXB1c2goe3R5cGU6XCJwYXJlblwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpufSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpfTtpZih1LmZhc3RwYXRocyE9PWZhbHNlJiYhLyheWyohXXxbLygpW1xcXXt9XCJdKS8udGVzdCh0KSl7bGV0IG49ZmFsc2U7bGV0IHM9dC5yZXBsYWNlKGksKCh0LGUsdSxvLHMscik9PntpZihvPT09XCJcXFxcXCIpe249dHJ1ZTtyZXR1cm4gdH1pZihvPT09XCI/XCIpe2lmKGUpe3JldHVybiBlK28rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfWlmKHI9PT0wKXtyZXR1cm4gTysocz9ILnJlcGVhdChzLmxlbmd0aCk6XCJcIil9cmV0dXJuIEgucmVwZWF0KHUubGVuZ3RoKX1pZihvPT09XCIuXCIpe3JldHVybiBoLnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiKlwiKXtpZihlKXtyZXR1cm4gZStvKyhzP2s6XCJcIil9cmV0dXJuIGt9cmV0dXJuIGU/dDpgXFxcXCR7dH1gfSkpO2lmKG49PT10cnVlKXtpZih1LnVuZXNjYXBlPT09dHJ1ZSl7cz1zLnJlcGxhY2UoL1xcXFwvZyxcIlwiKX1lbHNle3M9cy5yZXBsYWNlKC9cXFxcKy9nLCh0PT50Lmxlbmd0aCUyPT09MD9cIlxcXFxcXFxcXCI6dD9cIlxcXFxcIjpcIlwiKSl9fWlmKHM9PT10JiZ1LmNvbnRhaW5zPT09dHJ1ZSl7bS5vdXRwdXQ9dDtyZXR1cm4gbX1tLm91dHB1dD1vLndyYXBPdXRwdXQocyxtLGUpO3JldHVybiBtfXdoaWxlKCFlb3MoKSl7Rz1NKCk7aWYoRz09PVwiXFwwXCIpe2NvbnRpbnVlfWlmKEc9PT1cIlxcXFxcIil7Y29uc3QgdD1EKCk7aWYodD09PVwiL1wiJiZ1LmJhc2ghPT10cnVlKXtjb250aW51ZX1pZih0PT09XCIuXCJ8fHQ9PT1cIjtcIil7Y29udGludWV9aWYoIXQpe0crPVwiXFxcXFwiO3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWNvbnN0IGU9L15cXFxcKy8uZXhlYyhyZW1haW5pbmcoKSk7bGV0IG49MDtpZihlJiZlWzBdLmxlbmd0aD4yKXtuPWVbMF0ubGVuZ3RoO20uaW5kZXgrPW47aWYobiUyIT09MCl7Rys9XCJcXFxcXCJ9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtHPU0oKX1lbHNle0crPU0oKX1pZihtLmJyYWNrZXRzPT09MCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9fWlmKG0uYnJhY2tldHM+MCYmKEchPT1cIl1cInx8Qi52YWx1ZT09PVwiW1wifHxCLnZhbHVlPT09XCJbXlwiKSl7aWYodS5wb3NpeCE9PWZhbHNlJiZHPT09XCI6XCIpe2NvbnN0IHQ9Qi52YWx1ZS5zbGljZSgxKTtpZih0LmluY2x1ZGVzKFwiW1wiKSl7Qi5wb3NpeD10cnVlO2lmKHQuaW5jbHVkZXMoXCI6XCIpKXtjb25zdCB0PUIudmFsdWUubGFzdEluZGV4T2YoXCJbXCIpO2NvbnN0IGU9Qi52YWx1ZS5zbGljZSgwLHQpO2NvbnN0IHU9Qi52YWx1ZS5zbGljZSh0KzIpO2NvbnN0IG49clt1XTtpZihuKXtCLnZhbHVlPWUrbjttLmJhY2t0cmFjaz10cnVlO00oKTtpZighZi5vdXRwdXQmJkEuaW5kZXhPZihCKT09PTEpe2Yub3V0cHV0PUN9Y29udGludWV9fX19aWYoRz09PVwiW1wiJiZEKCkhPT1cIjpcInx8Rz09PVwiLVwiJiZEKCk9PT1cIl1cIil7Rz1gXFxcXCR7R31gfWlmKEc9PT1cIl1cIiYmKEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe0c9YFxcXFwke0d9YH1pZih1LnBvc2l4PT09dHJ1ZSYmRz09PVwiIVwiJiZCLnZhbHVlPT09XCJbXCIpe0c9XCJeXCJ9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihtLnF1b3Rlcz09PTEmJkchPT0nXCInKXtHPW8uZXNjYXBlUmVnZXgoRyk7Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09J1wiJyl7bS5xdW90ZXM9bS5xdW90ZXM9PT0xPzA6MTtpZih1LmtlZXBRdW90ZXM9PT10cnVlKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KX1jb250aW51ZX1pZihHPT09XCIoXCIpe2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOlwicGFyZW5cIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiKVwiKXtpZihtLnBhcmVucz09PTAmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCIoXCIpKX1jb25zdCB0PXdbdy5sZW5ndGgtMV07aWYodCYmbS5wYXJlbnM9PT10LnBhcmVucysxKXtleHRnbG9iQ2xvc2Uody5wb3AoKSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6RyxvdXRwdXQ6bS5wYXJlbnM/XCIpXCI6XCJcXFxcKVwifSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpO2NvbnRpbnVlfWlmKEc9PT1cIltcIil7aWYodS5ub2JyYWNrZXQ9PT10cnVlfHwhcmVtYWluaW5nKCkuaW5jbHVkZXMoXCJdXCIpKXtpZih1Lm5vYnJhY2tldCE9PXRydWUmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKX1HPWBcXFxcJHtHfWB9ZWxzZXtpbmNyZW1lbnQoXCJicmFja2V0c1wiKX1wdXNoKHt0eXBlOlwiYnJhY2tldFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCJdXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8QiYmQi50eXBlPT09XCJicmFja2V0XCImJkIudmFsdWUubGVuZ3RoPT09MSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9aWYobS5icmFja2V0cz09PTApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCJbXCIpKX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmBcXFxcJHtHfWB9KTtjb250aW51ZX1kZWNyZW1lbnQoXCJicmFja2V0c1wiKTtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYoQi5wb3NpeCE9PXRydWUmJnRbMF09PT1cIl5cIiYmIXQuaW5jbHVkZXMoXCIvXCIpKXtHPWAvJHtHfWB9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtpZih1LmxpdGVyYWxCcmFja2V0cz09PWZhbHNlfHxvLmhhc1JlZ2V4Q2hhcnModCkpe2NvbnRpbnVlfWNvbnN0IGU9by5lc2NhcGVSZWdleChCLnZhbHVlKTttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLnZhbHVlLmxlbmd0aCk7aWYodS5saXRlcmFsQnJhY2tldHM9PT10cnVlKXttLm91dHB1dCs9ZTtCLnZhbHVlPWU7Y29udGludWV9Qi52YWx1ZT1gKCR7X30ke2V9fCR7Qi52YWx1ZX0pYDttLm91dHB1dCs9Qi52YWx1ZTtjb250aW51ZX1pZihHPT09XCJ7XCImJnUubm9icmFjZSE9PXRydWUpe2luY3JlbWVudChcImJyYWNlc1wiKTtjb25zdCB0PXt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDpcIihcIixvdXRwdXRJbmRleDptLm91dHB1dC5sZW5ndGgsdG9rZW5zSW5kZXg6bS50b2tlbnMubGVuZ3RofTtOLnB1c2godCk7cHVzaCh0KTtjb250aW51ZX1pZihHPT09XCJ9XCIpe2NvbnN0IHQ9TltOLmxlbmd0aC0xXTtpZih1Lm5vYnJhY2U9PT10cnVlfHwhdCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpHfSk7Y29udGludWV9bGV0IGU9XCIpXCI7aWYodC5kb3RzPT09dHJ1ZSl7Y29uc3QgdD1BLnNsaWNlKCk7Y29uc3Qgbj1bXTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7QS5wb3AoKTtpZih0W2VdLnR5cGU9PT1cImJyYWNlXCIpe2JyZWFrfWlmKHRbZV0udHlwZSE9PVwiZG90c1wiKXtuLnVuc2hpZnQodFtlXS52YWx1ZSl9fWU9ZXhwYW5kUmFuZ2Uobix1KTttLmJhY2t0cmFjaz10cnVlfWlmKHQuY29tbWEhPT10cnVlJiZ0LmRvdHMhPT10cnVlKXtjb25zdCB1PW0ub3V0cHV0LnNsaWNlKDAsdC5vdXRwdXRJbmRleCk7Y29uc3Qgbj1tLnRva2Vucy5zbGljZSh0LnRva2Vuc0luZGV4KTt0LnZhbHVlPXQub3V0cHV0PVwiXFxcXHtcIjtHPWU9XCJcXFxcfVwiO20ub3V0cHV0PXU7Zm9yKGNvbnN0IHQgb2Ygbil7bS5vdXRwdXQrPXQub3V0cHV0fHx0LnZhbHVlfX1wdXNoKHt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDplfSk7ZGVjcmVtZW50KFwiYnJhY2VzXCIpO04ucG9wKCk7Y29udGludWV9aWYoRz09PVwifFwiKXtpZih3Lmxlbmd0aD4wKXt3W3cubGVuZ3RoLTFdLmNvbmRpdGlvbnMrK31wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCIsXCIpe2xldCB0PUc7Y29uc3QgZT1OW04ubGVuZ3RoLTFdO2lmKGUmJklbSS5sZW5ndGgtMV09PT1cImJyYWNlc1wiKXtlLmNvbW1hPXRydWU7dD1cInxcIn1wdXNoKHt0eXBlOlwiY29tbWFcIix2YWx1ZTpHLG91dHB1dDp0fSk7Y29udGludWV9aWYoRz09PVwiL1wiKXtpZihCLnR5cGU9PT1cImRvdFwiJiZtLmluZGV4PT09bS5zdGFydCsxKXttLnN0YXJ0PW0uaW5kZXgrMTttLmNvbnN1bWVkPVwiXCI7bS5vdXRwdXQ9XCJcIjtBLnBvcCgpO0I9Zjtjb250aW51ZX1wdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpHLG91dHB1dDpifSk7Y29udGludWV9aWYoRz09PVwiLlwiKXtpZihtLmJyYWNlcz4wJiZCLnR5cGU9PT1cImRvdFwiKXtpZihCLnZhbHVlPT09XCIuXCIpQi5vdXRwdXQ9aDtjb25zdCB0PU5bTi5sZW5ndGgtMV07Qi50eXBlPVwiZG90c1wiO0Iub3V0cHV0Kz1HO0IudmFsdWUrPUc7dC5kb3RzPXRydWU7Y29udGludWV9aWYobS5icmFjZXMrbS5wYXJlbnM9PT0wJiZCLnR5cGUhPT1cImJvc1wiJiZCLnR5cGUhPT1cInNsYXNoXCIpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJkb3RcIix2YWx1ZTpHLG91dHB1dDpofSk7Y29udGludWV9aWYoRz09PVwiP1wiKXtjb25zdCB0PUImJkIudmFsdWU9PT1cIihcIjtpZighdCYmdS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIiYmRCgyKSE9PVwiP1wiKXtleHRnbG9iT3BlbihcInFtYXJrXCIsRyk7Y29udGludWV9aWYoQiYmQi50eXBlPT09XCJwYXJlblwiKXtjb25zdCB0PUQoKTtsZXQgZT1HO2lmKEIudmFsdWU9PT1cIihcIiYmIS9bIT08Ol0vLnRlc3QodCl8fHQ9PT1cIjxcIiYmIS88KFshPV18XFx3Kz4pLy50ZXN0KHJlbWFpbmluZygpKSl7ZT1gXFxcXCR7R31gfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2NvbnRpbnVlfWlmKHUuZG90IT09dHJ1ZSYmKEIudHlwZT09PVwic2xhc2hcInx8Qi50eXBlPT09XCJib3NcIikpe3B1c2goe3R5cGU6XCJxbWFya1wiLHZhbHVlOkcsb3V0cHV0OnZ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDpIfSk7Y29udGludWV9aWYoRz09PVwiIVwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiKXtpZihEKDIpIT09XCI/XCJ8fCEvWyE9PDpdLy50ZXN0KEQoMykpKXtleHRnbG9iT3BlbihcIm5lZ2F0ZVwiLEcpO2NvbnRpbnVlfX1pZih1Lm5vbmVnYXRlIT09dHJ1ZSYmbS5pbmRleD09PTApe25lZ2F0ZSgpO2NvbnRpbnVlfX1pZihHPT09XCIrXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJwbHVzXCIsRyk7Y29udGludWV9aWYoQiYmQi52YWx1ZT09PVwiKFwifHx1LnJlZ2V4PT09ZmFsc2Upe3B1c2goe3R5cGU6XCJwbHVzXCIsdmFsdWU6RyxvdXRwdXQ6Z30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwifHxCLnR5cGU9PT1cImJyYWNlXCIpfHxtLnBhcmVucz4wKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkd9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOmd9KTtjb250aW51ZX1pZihHPT09XCJAXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7cHVzaCh7dHlwZTpcImF0XCIsZXh0Z2xvYjp0cnVlLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHIT09XCIqXCIpe2lmKEc9PT1cIiRcInx8Rz09PVwiXlwiKXtHPWBcXFxcJHtHfWB9Y29uc3QgdD1hLmV4ZWMocmVtYWluaW5nKCkpO2lmKHQpe0crPXRbMF07bS5pbmRleCs9dFswXS5sZW5ndGh9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiZ2xvYnN0YXJcInx8Qi5zdGFyPT09dHJ1ZSkpe0IudHlwZT1cInN0YXJcIjtCLnN0YXI9dHJ1ZTtCLnZhbHVlKz1HO0Iub3V0cHV0PWs7bS5iYWNrdHJhY2s9dHJ1ZTttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1sZXQgZT1yZW1haW5pbmcoKTtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJi9eXFwoW14/XS8udGVzdChlKSl7ZXh0Z2xvYk9wZW4oXCJzdGFyXCIsRyk7Y29udGludWV9aWYoQi50eXBlPT09XCJzdGFyXCIpe2lmKHUubm9nbG9ic3Rhcj09PXRydWUpe2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj1CLnByZXY7Y29uc3Qgbz1uLnByZXY7Y29uc3Qgcz1uLnR5cGU9PT1cInNsYXNoXCJ8fG4udHlwZT09PVwiYm9zXCI7Y29uc3Qgcj1vJiYoby50eXBlPT09XCJzdGFyXCJ8fG8udHlwZT09PVwiZ2xvYnN0YXJcIik7aWYodS5iYXNoPT09dHJ1ZSYmKCFzfHxlWzBdJiZlWzBdIT09XCIvXCIpKXtwdXNoKHt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1jb25zdCBhPW0uYnJhY2VzPjAmJihuLnR5cGU9PT1cImNvbW1hXCJ8fG4udHlwZT09PVwiYnJhY2VcIik7Y29uc3QgaT13Lmxlbmd0aCYmKG4udHlwZT09PVwicGlwZVwifHxuLnR5cGU9PT1cInBhcmVuXCIpO2lmKCFzJiZuLnR5cGUhPT1cInBhcmVuXCImJiFhJiYhaSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9d2hpbGUoZS5zbGljZSgwLDMpPT09XCIvKipcIil7Y29uc3QgdT10W20uaW5kZXgrNF07aWYodSYmdSE9PVwiL1wiKXticmVha31lPWUuc2xpY2UoMyk7Y29uc3VtZShcIi8qKlwiLDMpfWlmKG4udHlwZT09PVwiYm9zXCImJmVvcygpKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7bS5vdXRwdXQ9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9aWYobi50eXBlPT09XCJzbGFzaFwiJiZuLnByZXYudHlwZSE9PVwiYm9zXCImJiFyJiZlb3MoKSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KSsodS5zdHJpY3RTbGFzaGVzP1wiKVwiOlwifCQpXCIpO0IudmFsdWUrPUc7bS5nbG9ic3Rhcj10cnVlO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe2NvbnN0IHQ9ZVsxXSE9PXZvaWQgMD9cInwkXCI6XCJcIjttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC0obi5vdXRwdXQrQi5vdXRwdXQpLmxlbmd0aCk7bi5vdXRwdXQ9YCg/OiR7bi5vdXRwdXR9YDtCLnR5cGU9XCJnbG9ic3RhclwiO0Iub3V0cHV0PWAke2dsb2JzdGFyKHUpfSR7Yn18JHtifSR7dH0pYDtCLnZhbHVlKz1HO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1pZihuLnR5cGU9PT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe0IudHlwZT1cImdsb2JzdGFyXCI7Qi52YWx1ZSs9RztCLm91dHB1dD1gKD86Xnwke2J9fCR7Z2xvYnN0YXIodSl9JHtifSlgO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcrTSgpKTtwdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpcIi9cIixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfW0ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLUIub3V0cHV0Lmxlbmd0aCk7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KTtCLnZhbHVlKz1HO20ub3V0cHV0Kz1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1jb25zdCBuPXt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0Omt9O2lmKHUuYmFzaD09PXRydWUpe24ub3V0cHV0PVwiLio/XCI7aWYoQi50eXBlPT09XCJib3NcInx8Qi50eXBlPT09XCJzbGFzaFwiKXtuLm91dHB1dD1UK24ub3V0cHV0fXB1c2gobik7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiYnJhY2tldFwifHxCLnR5cGU9PT1cInBhcmVuXCIpJiZ1LnJlZ2V4PT09dHJ1ZSl7bi5vdXRwdXQ9RztwdXNoKG4pO2NvbnRpbnVlfWlmKG0uaW5kZXg9PT1tLnN0YXJ0fHxCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiZG90XCIpe2lmKEIudHlwZT09PVwiZG90XCIpe20ub3V0cHV0Kz14O0Iub3V0cHV0Kz14fWVsc2UgaWYodS5kb3Q9PT10cnVlKXttLm91dHB1dCs9UztCLm91dHB1dCs9U31lbHNle20ub3V0cHV0Kz1UO0Iub3V0cHV0Kz1UfWlmKEQoKSE9PVwiKlwiKXttLm91dHB1dCs9QztCLm91dHB1dCs9Q319cHVzaChuKX13aGlsZShtLmJyYWNrZXRzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIl1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIltcIik7ZGVjcmVtZW50KFwiYnJhY2tldHNcIil9d2hpbGUobS5wYXJlbnM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiKVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwiKFwiKTtkZWNyZW1lbnQoXCJwYXJlbnNcIil9d2hpbGUobS5icmFjZXM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwifVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwie1wiKTtkZWNyZW1lbnQoXCJicmFjZXNcIil9aWYodS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSYmKEIudHlwZT09PVwic3RhclwifHxCLnR5cGU9PT1cImJyYWNrZXRcIikpe3B1c2goe3R5cGU6XCJtYXliZV9zbGFzaFwiLHZhbHVlOlwiXCIsb3V0cHV0OmAke2J9P2B9KX1pZihtLmJhY2t0cmFjaz09PXRydWUpe20ub3V0cHV0PVwiXCI7Zm9yKGNvbnN0IHQgb2YgbS50b2tlbnMpe20ub3V0cHV0Kz10Lm91dHB1dCE9bnVsbD90Lm91dHB1dDp0LnZhbHVlO2lmKHQuc3VmZml4KXttLm91dHB1dCs9dC5zdWZmaXh9fX1yZXR1cm4gbX07cGFyc2UuZmFzdHBhdGhzPSh0LGUpPT57Y29uc3QgdT17Li4uZX07Y29uc3Qgcj10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7Y29uc3QgYT10Lmxlbmd0aDtpZihhPnIpe3Rocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke2F9LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7cn1gKX10PWNbdF18fHQ7Y29uc3R7RE9UX0xJVEVSQUw6aSxTTEFTSF9MSVRFUkFMOnAsT05FX0NIQVI6bCxET1RTX1NMQVNIOmYsTk9fRE9UOkEsTk9fRE9UUzpfLE5PX0RPVFNfU0xBU0g6UixTVEFSOkUsU1RBUlRfQU5DSE9SOmh9PW4uZ2xvYkNoYXJzKHUud2luZG93cyk7Y29uc3QgZz11LmRvdD9fOkE7Y29uc3QgYj11LmRvdD9SOkE7Y29uc3QgQz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgeT17bmVnYXRlZDpmYWxzZSxwcmVmaXg6XCJcIn07bGV0ICQ9dS5iYXNoPT09dHJ1ZT9cIi4qP1wiOkU7aWYodS5jYXB0dXJlKXskPWAoJHskfSlgfWNvbnN0IGdsb2JzdGFyPXQ9PntpZih0Lm5vZ2xvYnN0YXI9PT10cnVlKXJldHVybiAkO3JldHVybmAoJHtDfSg/Oig/ISR7aH0ke3QuZG90P2Y6aX0pLikqPylgfTtjb25zdCBjcmVhdGU9dD0+e3N3aXRjaCh0KXtjYXNlXCIqXCI6cmV0dXJuYCR7Z30ke2x9JHskfWA7Y2FzZVwiLipcIjpyZXR1cm5gJHtpfSR7bH0keyR9YDtjYXNlXCIqLipcIjpyZXR1cm5gJHtnfSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIiovKlwiOnJldHVybmAke2d9JHskfSR7cH0ke2x9JHtifSR7JH1gO2Nhc2VcIioqXCI6cmV0dXJuIGcrZ2xvYnN0YXIodSk7Y2FzZVwiKiovKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHtsfSR7JH1gO2Nhc2VcIioqLyouKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHskfSR7aX0ke2x9JHskfWA7Y2FzZVwiKiovLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtpfSR7bH0keyR9YDtkZWZhdWx0Ontjb25zdCBlPS9eKC4qPylcXC4oXFx3KykkLy5leGVjKHQpO2lmKCFlKXJldHVybjtjb25zdCB1PWNyZWF0ZShlWzFdKTtpZighdSlyZXR1cm47cmV0dXJuIHUraStlWzJdfX19O2NvbnN0IHg9by5yZW1vdmVQcmVmaXgodCx5KTtsZXQgUz1jcmVhdGUoeCk7aWYoUyYmdS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSl7Uys9YCR7cH0/YH1yZXR1cm4gU307dC5leHBvcnRzPXBhcnNlfSw1MTA6KHQsZSx1KT0+e2NvbnN0IG49dSg3MTYpO2NvbnN0IG89dSg2OTcpO2NvbnN0IHM9dSg5Nik7Y29uc3Qgcj11KDE1NCk7Y29uc3QgaXNPYmplY3Q9dD0+dCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtjb25zdCBwaWNvbWF0Y2g9KHQsZSx1PWZhbHNlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG49dC5tYXAoKHQ9PnBpY29tYXRjaCh0LGUsdSkpKTtjb25zdCBhcnJheU1hdGNoZXI9dD0+e2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IHU9ZSh0KTtpZih1KXJldHVybiB1fXJldHVybiBmYWxzZX07cmV0dXJuIGFycmF5TWF0Y2hlcn1jb25zdCBuPWlzT2JqZWN0KHQpJiZ0LnRva2VucyYmdC5pbnB1dDtpZih0PT09XCJcInx8dHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhbil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIHBhdHRlcm4gdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nXCIpfWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLndpbmRvd3M7Y29uc3Qgcj1uP3BpY29tYXRjaC5jb21waWxlUmUodCxlKTpwaWNvbWF0Y2gubWFrZVJlKHQsZSxmYWxzZSx0cnVlKTtjb25zdCBhPXIuc3RhdGU7ZGVsZXRlIHIuc3RhdGU7bGV0IGlzSWdub3JlZD0oKT0+ZmFsc2U7aWYoby5pZ25vcmUpe2NvbnN0IHQ9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2lzSWdub3JlZD1waWNvbWF0Y2goby5pZ25vcmUsdCx1KX1jb25zdCBtYXRjaGVyPSh1LG49ZmFsc2UpPT57Y29uc3R7aXNNYXRjaDppLG1hdGNoOmMsb3V0cHV0OnB9PXBpY29tYXRjaC50ZXN0KHUscixlLHtnbG9iOnQscG9zaXg6c30pO2NvbnN0IGw9e2dsb2I6dCxzdGF0ZTphLHJlZ2V4OnIscG9zaXg6cyxpbnB1dDp1LG91dHB1dDpwLG1hdGNoOmMsaXNNYXRjaDppfTtpZih0eXBlb2Ygby5vblJlc3VsdD09PVwiZnVuY3Rpb25cIil7by5vblJlc3VsdChsKX1pZihpPT09ZmFsc2Upe2wuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKGlzSWdub3JlZCh1KSl7aWYodHlwZW9mIG8ub25JZ25vcmU9PT1cImZ1bmN0aW9uXCIpe28ub25JZ25vcmUobCl9bC5pc01hdGNoPWZhbHNlO3JldHVybiBuP2w6ZmFsc2V9aWYodHlwZW9mIG8ub25NYXRjaD09PVwiZnVuY3Rpb25cIil7by5vbk1hdGNoKGwpfXJldHVybiBuP2w6dHJ1ZX07aWYodSl7bWF0Y2hlci5zdGF0ZT1hfXJldHVybiBtYXRjaGVyfTtwaWNvbWF0Y2gudGVzdD0odCxlLHUse2dsb2I6bixwb3NpeDpvfT17fSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBpbnB1dCB0byBiZSBhIHN0cmluZ1wiKX1pZih0PT09XCJcIil7cmV0dXJue2lzTWF0Y2g6ZmFsc2Usb3V0cHV0OlwiXCJ9fWNvbnN0IHI9dXx8e307Y29uc3QgYT1yLmZvcm1hdHx8KG8/cy50b1Bvc2l4U2xhc2hlczpudWxsKTtsZXQgaT10PT09bjtsZXQgYz1pJiZhP2EodCk6dDtpZihpPT09ZmFsc2Upe2M9YT9hKHQpOnQ7aT1jPT09bn1pZihpPT09ZmFsc2V8fHIuY2FwdHVyZT09PXRydWUpe2lmKHIubWF0Y2hCYXNlPT09dHJ1ZXx8ci5iYXNlbmFtZT09PXRydWUpe2k9cGljb21hdGNoLm1hdGNoQmFzZSh0LGUsdSxvKX1lbHNle2k9ZS5leGVjKGMpfX1yZXR1cm57aXNNYXRjaDpCb29sZWFuKGkpLG1hdGNoOmksb3V0cHV0OmN9fTtwaWNvbWF0Y2gubWF0Y2hCYXNlPSh0LGUsdSk9Pntjb25zdCBuPWUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpwaWNvbWF0Y2gubWFrZVJlKGUsdSk7cmV0dXJuIG4udGVzdChzLmJhc2VuYW1lKHQpKX07cGljb21hdGNoLmlzTWF0Y2g9KHQsZSx1KT0+cGljb21hdGNoKGUsdSkodCk7cGljb21hdGNoLnBhcnNlPSh0LGUpPT57aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAoKHQ9PnBpY29tYXRjaC5wYXJzZSh0LGUpKSk7cmV0dXJuIG8odCx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KX07cGljb21hdGNoLnNjYW49KHQsZSk9Pm4odCxlKTtwaWNvbWF0Y2guY29tcGlsZVJlPSh0LGUsdT1mYWxzZSxuPWZhbHNlKT0+e2lmKHU9PT10cnVlKXtyZXR1cm4gdC5vdXRwdXR9Y29uc3Qgbz1lfHx7fTtjb25zdCBzPW8uY29udGFpbnM/XCJcIjpcIl5cIjtjb25zdCByPW8uY29udGFpbnM/XCJcIjpcIiRcIjtsZXQgYT1gJHtzfSg/OiR7dC5vdXRwdXR9KSR7cn1gO2lmKHQmJnQubmVnYXRlZD09PXRydWUpe2E9YF4oPyEke2F9KS4qJGB9Y29uc3QgaT1waWNvbWF0Y2gudG9SZWdleChhLGUpO2lmKG49PT10cnVlKXtpLnN0YXRlPXR9cmV0dXJuIGl9O3BpY29tYXRjaC5tYWtlUmU9KHQsZT17fSx1PWZhbHNlLG49ZmFsc2UpPT57aWYoIXR8fHR5cGVvZiB0IT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1sZXQgcz17bmVnYXRlZDpmYWxzZSxmYXN0cGF0aHM6dHJ1ZX07aWYoZS5mYXN0cGF0aHMhPT1mYWxzZSYmKHRbMF09PT1cIi5cInx8dFswXT09PVwiKlwiKSl7cy5vdXRwdXQ9by5mYXN0cGF0aHModCxlKX1pZighcy5vdXRwdXQpe3M9byh0LGUpfXJldHVybiBwaWNvbWF0Y2guY29tcGlsZVJlKHMsZSx1LG4pfTtwaWNvbWF0Y2gudG9SZWdleD0odCxlKT0+e3RyeXtjb25zdCB1PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHQsdS5mbGFnc3x8KHUubm9jYXNlP1wiaVwiOlwiXCIpKX1jYXRjaCh0KXtpZihlJiZlLmRlYnVnPT09dHJ1ZSl0aHJvdyB0O3JldHVybi8kXi99fTtwaWNvbWF0Y2guY29uc3RhbnRzPXI7dC5leHBvcnRzPXBpY29tYXRjaH0sNzE2Oih0LGUsdSk9Pntjb25zdCBuPXUoOTYpO2NvbnN0e0NIQVJfQVNURVJJU0s6byxDSEFSX0FUOnMsQ0hBUl9CQUNLV0FSRF9TTEFTSDpyLENIQVJfQ09NTUE6YSxDSEFSX0RPVDppLENIQVJfRVhDTEFNQVRJT05fTUFSSzpjLENIQVJfRk9SV0FSRF9TTEFTSDpwLENIQVJfTEVGVF9DVVJMWV9CUkFDRTpsLENIQVJfTEVGVF9QQVJFTlRIRVNFUzpmLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpBLENIQVJfUExVUzpfLENIQVJfUVVFU1RJT05fTUFSSzpSLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6RSxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOmgsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpnfT11KDE1NCk7Y29uc3QgaXNQYXRoU2VwYXJhdG9yPXQ9PnQ9PT1wfHx0PT09cjtjb25zdCBkZXB0aD10PT57aWYodC5pc1ByZWZpeCE9PXRydWUpe3QuZGVwdGg9dC5pc0dsb2JzdGFyP0luZmluaXR5OjF9fTtjb25zdCBzY2FuPSh0LGUpPT57Y29uc3QgdT1lfHx7fTtjb25zdCBiPXQubGVuZ3RoLTE7Y29uc3QgQz11LnBhcnRzPT09dHJ1ZXx8dS5zY2FuVG9FbmQ9PT10cnVlO2NvbnN0IHk9W107Y29uc3QgJD1bXTtjb25zdCB4PVtdO2xldCBTPXQ7bGV0IEg9LTE7bGV0IHY9MDtsZXQgZD0wO2xldCBMPWZhbHNlO2xldCBUPWZhbHNlO2xldCBPPWZhbHNlO2xldCBrPWZhbHNlO2xldCBtPWZhbHNlO2xldCB3PWZhbHNlO2xldCBOPWZhbHNlO2xldCBJPWZhbHNlO2xldCBCPWZhbHNlO2xldCBHPWZhbHNlO2xldCBEPTA7bGV0IE07bGV0IFA7bGV0IEs9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2NvbnN0IGVvcz0oKT0+SD49Yjtjb25zdCBwZWVrPSgpPT5TLmNoYXJDb2RlQXQoSCsxKTtjb25zdCBhZHZhbmNlPSgpPT57TT1QO3JldHVybiBTLmNoYXJDb2RlQXQoKytIKX07d2hpbGUoSDxiKXtQPWFkdmFuY2UoKTtsZXQgdDtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7aWYoUD09PWwpe3c9dHJ1ZX1jb250aW51ZX1pZih3PT09dHJ1ZXx8UD09PWwpe0QrKzt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWwpe0QrKztjb250aW51ZX1pZih3IT09dHJ1ZSYmUD09PWkmJihQPWFkdmFuY2UoKSk9PT1pKXtMPUsuaXNCcmFjZT10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHchPT10cnVlJiZQPT09YSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09RSl7RC0tO2lmKEQ9PT0wKXt3PWZhbHNlO0w9Sy5pc0JyYWNlPXRydWU7Rz10cnVlO2JyZWFrfX19aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1wKXt5LnB1c2goSCk7JC5wdXNoKEspO0s9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2lmKEc9PT10cnVlKWNvbnRpbnVlO2lmKE09PT1pJiZIPT09disxKXt2Kz0yO2NvbnRpbnVlfWQ9SCsxO2NvbnRpbnVlfWlmKHUubm9leHQhPT10cnVlKXtjb25zdCB0PVA9PT1ffHxQPT09c3x8UD09PW98fFA9PT1SfHxQPT09YztpZih0PT09dHJ1ZSYmcGVlaygpPT09Zil7Tz1LLmlzR2xvYj10cnVlO2s9Sy5pc0V4dGdsb2I9dHJ1ZTtHPXRydWU7aWYoUD09PWMmJkg9PT12KXtCPXRydWV9aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1jb250aW51ZX1icmVha319aWYoUD09PW8pe2lmKE09PT1vKW09Sy5pc0dsb2JzdGFyPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PVIpe089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1BKXt3aGlsZShlb3MoKSE9PXRydWUmJih0PWFkdmFuY2UoKSkpe2lmKHQ9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYodD09PWcpe1Q9Sy5pc0JyYWNrZXQ9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1pZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYodS5ub25lZ2F0ZSE9PXRydWUmJlA9PT1jJiZIPT09dil7ST1LLm5lZ2F0ZWQ9dHJ1ZTt2Kys7Y29udGludWV9aWYodS5ub3BhcmVuIT09dHJ1ZSYmUD09PWYpe089Sy5pc0dsb2I9dHJ1ZTtpZihDPT09dHJ1ZSl7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09Zil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWgpe0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9aWYoTz09PXRydWUpe0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9fWlmKHUubm9leHQ9PT10cnVlKXtrPWZhbHNlO089ZmFsc2V9bGV0IFU9UztsZXQgWD1cIlwiO2xldCBGPVwiXCI7aWYodj4wKXtYPVMuc2xpY2UoMCx2KTtTPVMuc2xpY2Uodik7ZC09dn1pZihVJiZPPT09dHJ1ZSYmZD4wKXtVPVMuc2xpY2UoMCxkKTtGPVMuc2xpY2UoZCl9ZWxzZSBpZihPPT09dHJ1ZSl7VT1cIlwiO0Y9U31lbHNle1U9U31pZihVJiZVIT09XCJcIiYmVSE9PVwiL1wiJiZVIT09Uyl7aWYoaXNQYXRoU2VwYXJhdG9yKFUuY2hhckNvZGVBdChVLmxlbmd0aC0xKSkpe1U9VS5zbGljZSgwLC0xKX19aWYodS51bmVzY2FwZT09PXRydWUpe2lmKEYpRj1uLnJlbW92ZUJhY2tzbGFzaGVzKEYpO2lmKFUmJk49PT10cnVlKXtVPW4ucmVtb3ZlQmFja3NsYXNoZXMoVSl9fWNvbnN0IFE9e3ByZWZpeDpYLGlucHV0OnQsc3RhcnQ6dixiYXNlOlUsZ2xvYjpGLGlzQnJhY2U6TCxpc0JyYWNrZXQ6VCxpc0dsb2I6Tyxpc0V4dGdsb2I6ayxpc0dsb2JzdGFyOm0sbmVnYXRlZDpJLG5lZ2F0ZWRFeHRnbG9iOkJ9O2lmKHUudG9rZW5zPT09dHJ1ZSl7US5tYXhEZXB0aD0wO2lmKCFpc1BhdGhTZXBhcmF0b3IoUCkpeyQucHVzaChLKX1RLnRva2Vucz0kfWlmKHUucGFydHM9PT10cnVlfHx1LnRva2Vucz09PXRydWUpe2xldCBlO2ZvcihsZXQgbj0wO248eS5sZW5ndGg7bisrKXtjb25zdCBvPWU/ZSsxOnY7Y29uc3Qgcz15W25dO2NvbnN0IHI9dC5zbGljZShvLHMpO2lmKHUudG9rZW5zKXtpZihuPT09MCYmdiE9PTApeyRbbl0uaXNQcmVmaXg9dHJ1ZTskW25dLnZhbHVlPVh9ZWxzZXskW25dLnZhbHVlPXJ9ZGVwdGgoJFtuXSk7US5tYXhEZXB0aCs9JFtuXS5kZXB0aH1pZihuIT09MHx8ciE9PVwiXCIpe3gucHVzaChyKX1lPXN9aWYoZSYmZSsxPHQubGVuZ3RoKXtjb25zdCBuPXQuc2xpY2UoZSsxKTt4LnB1c2gobik7aWYodS50b2tlbnMpeyRbJC5sZW5ndGgtMV0udmFsdWU9bjtkZXB0aCgkWyQubGVuZ3RoLTFdKTtRLm1heERlcHRoKz0kWyQubGVuZ3RoLTFdLmRlcHRofX1RLnNsYXNoZXM9eTtRLnBhcnRzPXh9cmV0dXJuIFF9O3QuZXhwb3J0cz1zY2FufSw5NjoodCxlLHUpPT57Y29uc3R7UkVHRVhfQkFDS1NMQVNIOm4sUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDpvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6cyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDpyfT11KDE1NCk7ZS5pc09iamVjdD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtlLmhhc1JlZ2V4Q2hhcnM9dD0+cy50ZXN0KHQpO2UuaXNSZWdleENoYXI9dD0+dC5sZW5ndGg9PT0xJiZlLmhhc1JlZ2V4Q2hhcnModCk7ZS5lc2NhcGVSZWdleD10PT50LnJlcGxhY2UocixcIlxcXFwkMVwiKTtlLnRvUG9zaXhTbGFzaGVzPXQ9PnQucmVwbGFjZShuLFwiL1wiKTtlLnJlbW92ZUJhY2tzbGFzaGVzPXQ9PnQucmVwbGFjZShvLCh0PT50PT09XCJcXFxcXCI/XCJcIjp0KSk7ZS5lc2NhcGVMYXN0PSh0LHUsbik9Pntjb25zdCBvPXQubGFzdEluZGV4T2YodSxuKTtpZihvPT09LTEpcmV0dXJuIHQ7aWYodFtvLTFdPT09XCJcXFxcXCIpcmV0dXJuIGUuZXNjYXBlTGFzdCh0LHUsby0xKTtyZXR1cm5gJHt0LnNsaWNlKDAsbyl9XFxcXCR7dC5zbGljZShvKX1gfTtlLnJlbW92ZVByZWZpeD0odCxlPXt9KT0+e2xldCB1PXQ7aWYodS5zdGFydHNXaXRoKFwiLi9cIikpe3U9dS5zbGljZSgyKTtlLnByZWZpeD1cIi4vXCJ9cmV0dXJuIHV9O2Uud3JhcE91dHB1dD0odCxlPXt9LHU9e30pPT57Y29uc3Qgbj11LmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgbz11LmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IHM9YCR7bn0oPzoke3R9KSR7b31gO2lmKGUubmVnYXRlZD09PXRydWUpe3M9YCg/Ol4oPyEke3N9KS4qJClgfXJldHVybiBzfTtlLmJhc2VuYW1lPSh0LHt3aW5kb3dzOmV9PXt9KT0+e2NvbnN0IHU9dC5zcGxpdChlPy9bXFxcXC9dLzpcIi9cIik7Y29uc3Qgbj11W3UubGVuZ3RoLTFdO2lmKG49PT1cIlwiKXtyZXR1cm4gdVt1Lmxlbmd0aC0yXX1yZXR1cm4gbn19fTt2YXIgZT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHUpe3ZhciBuPWVbdV07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgbz1lW3VdPXtleHBvcnRzOnt9fTt2YXIgcz10cnVlO3RyeXt0W3VdKG8sby5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3M9ZmFsc2V9ZmluYWxseXtpZihzKWRlbGV0ZSBlW3VdfXJldHVybiBvLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB1PV9fbmNjd3Bja19yZXF1aXJlX18oMTcwKTttb2R1bGUuZXhwb3J0cz11fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/process/browser.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){var e={229:function(e){var t=e.exports={};var r;var n;function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}(function(){try{if(typeof setTimeout===\"function\"){r=setTimeout}else{r=defaultSetTimout}}catch(e){r=defaultSetTimout}try{if(typeof clearTimeout===\"function\"){n=clearTimeout}else{n=defaultClearTimeout}}catch(e){n=defaultClearTimeout}})();function runTimeout(e){if(r===setTimeout){return setTimeout(e,0)}if((r===defaultSetTimout||!r)&&setTimeout){r=setTimeout;return setTimeout(e,0)}try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout){return clearTimeout(e)}if((n===defaultClearTimeout||!n)&&clearTimeout){n=clearTimeout;return clearTimeout(e)}try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[];var o=false;var u;var a=-1;function cleanUpNextTick(){if(!o||!u){return}o=false;if(u.length){i=u.concat(i)}else{a=-1}if(i.length){drainQueue()}}function drainQueue(){if(o){return}var e=runTimeout(cleanUpNextTick);o=true;var t=i.length;while(t){u=i;i=[];while(++a<t){if(u){u[a].run()}}a=-1;t=i.length}u=null;o=false;runClearTimeout(e)}t.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1){for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}}i.push(new Item(e,t));if(i.length===1&&!o){runTimeout(drainQueue)}};function Item(e,t){this.fun=e;this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};t.title=\"browser\";t.browser=true;t.env={};t.argv=[];t.version=\"\";t.versions={};function noop(){}t.on=noop;t.addListener=noop;t.once=noop;t.off=noop;t.removeListener=noop;t.removeAllListeners=noop;t.emit=noop;t.prependListener=noop;t.prependOnceListener=noop;t.listeners=function(e){return[]};t.binding=function(e){throw new Error(\"process.binding is not supported\")};t.cwd=function(){return\"/\"};t.chdir=function(e){throw new Error(\"process.chdir is not supported\")};t.umask=function(){return 0}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(229);module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2Vzcy9icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxZQUFZLE9BQU8sZ0JBQWdCLG1CQUFtQixNQUFNLE1BQU0sNEJBQTRCLG1EQUFtRCwrQkFBK0IscURBQXFELFlBQVksSUFBSSxtQ0FBbUMsYUFBYSxLQUFLLG9CQUFvQixTQUFTLG1CQUFtQixJQUFJLHFDQUFxQyxlQUFlLEtBQUssdUJBQXVCLFNBQVMsdUJBQXVCLElBQUksdUJBQXVCLG1CQUFtQix1QkFBdUIsMkNBQTJDLGFBQWEsdUJBQXVCLElBQUksY0FBYyxTQUFTLElBQUksd0JBQXdCLFNBQVMsMEJBQTBCLDRCQUE0QixxQkFBcUIsdUJBQXVCLGdEQUFnRCxlQUFlLHVCQUF1QixJQUFJLFlBQVksU0FBUyxJQUFJLHNCQUFzQixTQUFTLHdCQUF3QixTQUFTLFlBQVksTUFBTSxTQUFTLDJCQUEyQixXQUFXLE9BQU8sUUFBUSxhQUFhLGNBQWMsS0FBSyxLQUFLLGFBQWEsY0FBYyxzQkFBc0IsTUFBTSxPQUFPLGtDQUFrQyxPQUFPLGVBQWUsU0FBUyxJQUFJLEtBQUssYUFBYSxNQUFNLFlBQVksS0FBSyxXQUFXLE9BQU8sUUFBUSxtQkFBbUIsdUJBQXVCLG9DQUFvQyx1QkFBdUIsWUFBWSxtQkFBbUIsS0FBSyxxQkFBcUIsc0JBQXNCLHFCQUFxQix5QkFBeUIsbUJBQW1CLFdBQVcsYUFBYSw4QkFBOEIsaUNBQWlDLGtCQUFrQixlQUFlLFNBQVMsVUFBVSxhQUFhLGNBQWMsaUJBQWlCLFVBQVUsbUJBQW1CLFlBQVksV0FBVyxzQkFBc0IsMEJBQTBCLFlBQVksdUJBQXVCLDJCQUEyQix3QkFBd0IsVUFBVSxzQkFBc0IscURBQXFELGlCQUFpQixXQUFXLG9CQUFvQixtREFBbUQsbUJBQW1CLFlBQVksU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvYnJvd3Nlci5qcz85NDZmIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe3ZhciBlPXsyMjk6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5leHBvcnRzPXt9O3ZhciByO3ZhciBuO2Z1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpfWZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIil9KGZ1bmN0aW9uKCl7dHJ5e2lmKHR5cGVvZiBzZXRUaW1lb3V0PT09XCJmdW5jdGlvblwiKXtyPXNldFRpbWVvdXR9ZWxzZXtyPWRlZmF1bHRTZXRUaW1vdXR9fWNhdGNoKGUpe3I9ZGVmYXVsdFNldFRpbW91dH10cnl7aWYodHlwZW9mIGNsZWFyVGltZW91dD09PVwiZnVuY3Rpb25cIil7bj1jbGVhclRpbWVvdXR9ZWxzZXtuPWRlZmF1bHRDbGVhclRpbWVvdXR9fWNhdGNoKGUpe249ZGVmYXVsdENsZWFyVGltZW91dH19KSgpO2Z1bmN0aW9uIHJ1blRpbWVvdXQoZSl7aWYocj09PXNldFRpbWVvdXQpe3JldHVybiBzZXRUaW1lb3V0KGUsMCl9aWYoKHI9PT1kZWZhdWx0U2V0VGltb3V0fHwhcikmJnNldFRpbWVvdXQpe3I9c2V0VGltZW91dDtyZXR1cm4gc2V0VGltZW91dChlLDApfXRyeXtyZXR1cm4gcihlLDApfWNhdGNoKHQpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsZSwwKX1jYXRjaCh0KXtyZXR1cm4gci5jYWxsKHRoaXMsZSwwKX19fWZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChlKXtpZihuPT09Y2xlYXJUaW1lb3V0KXtyZXR1cm4gY2xlYXJUaW1lb3V0KGUpfWlmKChuPT09ZGVmYXVsdENsZWFyVGltZW91dHx8IW4pJiZjbGVhclRpbWVvdXQpe249Y2xlYXJUaW1lb3V0O3JldHVybiBjbGVhclRpbWVvdXQoZSl9dHJ5e3JldHVybiBuKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIG4uY2FsbCh0aGlzLGUpfX19dmFyIGk9W107dmFyIG89ZmFsc2U7dmFyIHU7dmFyIGE9LTE7ZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCl7aWYoIW98fCF1KXtyZXR1cm59bz1mYWxzZTtpZih1Lmxlbmd0aCl7aT11LmNvbmNhdChpKX1lbHNle2E9LTF9aWYoaS5sZW5ndGgpe2RyYWluUXVldWUoKX19ZnVuY3Rpb24gZHJhaW5RdWV1ZSgpe2lmKG8pe3JldHVybn12YXIgZT1ydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7bz10cnVlO3ZhciB0PWkubGVuZ3RoO3doaWxlKHQpe3U9aTtpPVtdO3doaWxlKCsrYTx0KXtpZih1KXt1W2FdLnJ1bigpfX1hPS0xO3Q9aS5sZW5ndGh9dT1udWxsO289ZmFsc2U7cnVuQ2xlYXJUaW1lb3V0KGUpfXQubmV4dFRpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXt0W3ItMV09YXJndW1lbnRzW3JdfX1pLnB1c2gobmV3IEl0ZW0oZSx0KSk7aWYoaS5sZW5ndGg9PT0xJiYhbyl7cnVuVGltZW91dChkcmFpblF1ZXVlKX19O2Z1bmN0aW9uIEl0ZW0oZSx0KXt0aGlzLmZ1bj1lO3RoaXMuYXJyYXk9dH1JdGVtLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfTt0LnRpdGxlPVwiYnJvd3NlclwiO3QuYnJvd3Nlcj10cnVlO3QuZW52PXt9O3QuYXJndj1bXTt0LnZlcnNpb249XCJcIjt0LnZlcnNpb25zPXt9O2Z1bmN0aW9uIG5vb3AoKXt9dC5vbj1ub29wO3QuYWRkTGlzdGVuZXI9bm9vcDt0Lm9uY2U9bm9vcDt0Lm9mZj1ub29wO3QucmVtb3ZlTGlzdGVuZXI9bm9vcDt0LnJlbW92ZUFsbExpc3RlbmVycz1ub29wO3QuZW1pdD1ub29wO3QucHJlcGVuZExpc3RlbmVyPW5vb3A7dC5wcmVwZW5kT25jZUxpc3RlbmVyPW5vb3A7dC5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuW119O3QuYmluZGluZz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZFwiKX07dC5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm5cIi9cIn07dC5jaGRpcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWRcIil9O3QudW1hc2s9ZnVuY3Rpb24oKXtyZXR1cm4gMH19fTt2YXIgdD17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHIpe3ZhciBuPXRbcl07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgaT10W3JdPXtleHBvcnRzOnt9fTt2YXIgbz10cnVlO3RyeXtlW3JdKGksaS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO289ZmFsc2V9ZmluYWxseXtpZihvKWRlbGV0ZSB0W3JdfXJldHVybiBpLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciByPV9fbmNjd3Bja19yZXF1aXJlX18oMjI5KTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg": -/*!************************************************!*\ - !*** ./src/images/avatars/adnan_fatayerji.jpg ***! - \************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/adnan_fatayerji.2fcd49a9.jpg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fadnan_fatayerji.2fcd49a9.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hZG5hbl9mYXRheWVyamkuanBnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLGtOQUFrTiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZz8xY2YzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9hZG5hbl9mYXRheWVyamkuMmZjZDQ5YTkuanBnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZhZG5hbl9mYXRheWVyamkuMmZjZDQ5YTkuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjh9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/andrew-greene.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/andrew-greene.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/andrew-greene.b3513453.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fandrew-greene.b3513453.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hbmRyZXctZ3JlZW5lLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2FuZHJldy1ncmVlbmUuanBnPzBiYmMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2FuZHJldy1ncmVlbmUuYjM1MTM0NTMuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYW5kcmV3LWdyZWVuZS5iMzUxMzQ1My5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/cathlene-burrage.jpg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/cathlene-burrage.1651afc0.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fcathlene-burrage.1651afc0.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxTkFBcU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2NhdGhsZW5lLWJ1cnJhZ2UuanBnPzRjZDYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2NhdGhsZW5lLWJ1cnJhZ2UuMTY1MWFmYzAuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGY2F0aGxlbmUtYnVycmFnZS4xNjUxYWZjMC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/damaris-kimura.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/damaris-kimura.5df6b6b2.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fdamaris-kimura.5df6b6b2.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGc/MmY2MCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZGFtYXJpcy1raW11cmEuNWRmNmI2YjIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZGFtYXJpcy1raW11cmEuNWRmNmI2YjIuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg": -/*!***************************************************!*\ - !*** ./src/images/avatars/dianne-guilianelli.jpg ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/dianne-guilianelli.b4c5891f.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fdianne-guilianelli.b4c5891f.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9kaWFubmUtZ3VpbGlhbmVsbGkuanBnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLHlOQUF5TiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvZGlhbm5lLWd1aWxpYW5lbGxpLmpwZz80MzI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9kaWFubmUtZ3VpbGlhbmVsbGkuYjRjNTg5MWYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZGlhbm5lLWd1aWxpYW5lbGxpLmI0YzU4OTFmLmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/erhart-cockrin.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/erhart-cockrin.3697fef6.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Ferhart-cockrin.3697fef6.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9lcmhhcnQtY29ja3Jpbi5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9lcmhhcnQtY29ja3Jpbi5qcGc/YTM4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZXJoYXJ0LWNvY2tyaW4uMzY5N2ZlZjYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZXJoYXJ0LWNvY2tyaW4uMzY5N2ZlZjYuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg": -/*!**************************************************!*\ - !*** ./src/images/avatars/florian_fournier.jpeg ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/florian_fournier.a44a2086.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fflorian_fournier.a44a2086.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9mbG9yaWFuX2ZvdXJuaWVyLmpwZWciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsc05BQXNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9mbG9yaWFuX2ZvdXJuaWVyLmpwZWc/NmQxZSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvZmxvcmlhbl9mb3Vybmllci5hNDRhMjA4Ni5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZmbG9yaWFuX2ZvdXJuaWVyLmE0NGEyMDg2LmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/giordano-sagucio.jpg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/giordano-sagucio.2d66325a.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fgiordano-sagucio.2d66325a.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9naW9yZGFuby1zYWd1Y2lvLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxTkFBcU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2dpb3JkYW5vLXNhZ3VjaW8uanBnPzgxMzIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2dpb3JkYW5vLXNhZ3VjaW8uMmQ2NjMyNWEuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZ2lvcmRhbm8tc2FndWNpby4yZDY2MzI1YS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/gordon-sanderson.jpg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/gordon-sanderson.88b5e762.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fgordon-sanderson.88b5e762.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxTkFBcU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2dvcmRvbi1zYW5kZXJzb24uanBnPzdlNDgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2dvcmRvbi1zYW5kZXJzb24uODhiNWU3NjIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGZ29yZG9uLXNhbmRlcnNvbi44OGI1ZTc2Mi5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/heather-terry.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/heather-terry.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/heather-terry.3aaa9642.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fheather-terry.3aaa9642.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9oZWF0aGVyLXRlcnJ5LmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnP2M1YmEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2hlYXRoZXItdGVycnkuM2FhYTk2NDIuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGaGVhdGhlci10ZXJyeS4zYWFhOTY0Mi5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/heather-terry.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/ibrahim-frasch.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/ibrahim-frasch.56350f5a.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fibrahim-frasch.56350f5a.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9pYnJhaGltLWZyYXNjaC5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9pYnJhaGltLWZyYXNjaC5qcGc/MzY2YSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvaWJyYWhpbS1mcmFzY2guNTYzNTBmNWEuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGaWJyYWhpbS1mcmFzY2guNTYzNTBmNWEuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/jaquelin-isch.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/jaquelin-isch.880e5248.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fjaquelin-isch.880e5248.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9qYXF1ZWxpbi1pc2NoLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnPzQ1N2EiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2phcXVlbGluLWlzY2guODgwZTUyNDguanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGamFxdWVsaW4taXNjaC44ODBlNTI0OC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg": -/*!*************************************************!*\ - !*** ./src/images/avatars/kimberly-parsons.jpg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/kimberly-parsons.0e123ad0.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fkimberly-parsons.0e123ad0.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9raW1iZXJseS1wYXJzb25zLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxTkFBcU4iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2tpbWJlcmx5LXBhcnNvbnMuanBnP2Q3N2YiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2tpbWJlcmx5LXBhcnNvbnMuMGUxMjNhZDAuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGa2ltYmVybHktcGFyc29ucy4wZTEyM2FkMC5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg": -/*!*******************************************************!*\ - !*** ./src/images/avatars/kristof_de_spiegeleer.jpeg ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/kristof_de_spiegeleer.f8a3f975.jpeg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fkristof_de_spiegeleer.f8a3f975.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxnT0FBZ08iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL2tyaXN0b2ZfZGVfc3BpZWdlbGVlci5qcGVnPzI5ODMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2tyaXN0b2ZfZGVfc3BpZWdlbGVlci5mOGEzZjk3NS5qcGVnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZrcmlzdG9mX2RlX3NwaWVnZWxlZXIuZjhhM2Y5NzUuanBlZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg": -/*!*************************************************!*\ - !*** ./src/images/avatars/matthew_schutte.jpeg ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/matthew_schutte.b0043b24.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmatthew_schutte.b0043b24.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9tYXR0aGV3X3NjaHV0dGUuanBlZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxvTkFBb04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL21hdHRoZXdfc2NodXR0ZS5qcGVnP2RkNjUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21hdHRoZXdfc2NodXR0ZS5iMDA0M2IyNC5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZtYXR0aGV3X3NjaHV0dGUuYjAwNDNiMjQuanBlZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg": -/*!***********************************************!*\ - !*** ./src/images/avatars/omrei_abumadi.jpeg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/omrei_abumadi.c2ce865b.jpeg\",\"height\":640,\"width\":640,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fomrei_abumadi.c2ce865b.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ05BQWdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWc/NWFhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvb21yZWlfYWJ1bWFkaS5jMmNlODY1Yi5qcGVnXCIsXCJoZWlnaHRcIjo2NDAsXCJ3aWR0aFwiOjY0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZvbXJlaV9hYnVtYWRpLmMyY2U4NjViLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/parker-johnson.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/parker-johnson.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/parker-johnson.3f6d7276.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fparker-johnson.3f6d7276.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9wYXJrZXItam9obnNvbi5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9wYXJrZXItam9obnNvbi5qcGc/MjkzYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcGFya2VyLWpvaG5zb24uM2Y2ZDcyNzYuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcGFya2VyLWpvaG5zb24uM2Y2ZDcyNzYuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/piers-wilkins.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/piers-wilkins.c197a055.jpg\",\"height\":616,\"width\":1232,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fpiers-wilkins.c197a055.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9waWVycy13aWxraW5zLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL3BpZXJzLXdpbGtpbnMuanBnPzA5NzQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3BpZXJzLXdpbGtpbnMuYzE5N2EwNTUuanBnXCIsXCJoZWlnaHRcIjo2MTYsXCJ3aWR0aFwiOjEyMzIsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcGllcnMtd2lsa2lucy5jMTk3YTA1NS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/richard-astley.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/richard-astley.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/richard-astley.599fe903.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Frichard-astley.599fe903.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaWNoYXJkLWFzdGxleS5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaWNoYXJkLWFzdGxleS5qcGc/YzIzMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcmljaGFyZC1hc3RsZXkuNTk5ZmU5MDMuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcmljaGFyZC1hc3RsZXkuNTk5ZmU5MDMuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/richard-astley.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg": -/*!***********************************************!*\ - !*** ./src/images/avatars/rinaldo-beynon.jpg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/rinaldo-beynon.c48f36b7.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Frinaldo-beynon.c48f36b7.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsaU5BQWlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGc/YjBjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcmluYWxkby1iZXlub24uYzQ4ZjM2YjcuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcmluYWxkby1iZXlub24uYzQ4ZjM2YjcuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg": -/*!************************************************!*\ - !*** ./src/images/avatars/ronni-cantadore.jpg ***! - \************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/ronni-cantadore.0d04b7fe.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fronni-cantadore.0d04b7fe.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9yb25uaS1jYW50YWRvcmUuanBnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLG1OQUFtTiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvcm9ubmktY2FudGFkb3JlLmpwZz82Zjg2Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9yb25uaS1jYW50YWRvcmUuMGQwNGI3ZmUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGcm9ubmktY2FudGFkb3JlLjBkMDRiN2ZlLmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg": -/*!***********************************************!*\ - !*** ./src/images/avatars/sasha_astiadi.jpeg ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/sasha_astiadi.ecd50daf.jpeg\",\"height\":598,\"width\":598,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsasha_astiadi.ecd50daf.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ05BQWdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWc/ZDE3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvc2FzaGFfYXN0aWFkaS5lY2Q1MGRhZi5qcGVnXCIsXCJoZWlnaHRcIjo1OTgsXCJ3aWR0aFwiOjU5OCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZzYXNoYV9hc3RpYWRpLmVjZDUwZGFmLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/steven-mchail.jpg": -/*!**********************************************!*\ - !*** ./src/images/avatars/steven-mchail.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/steven-mchail.4e94472e.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsteven-mchail.4e94472e.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQywrTUFBK00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9hdmF0YXJzL3N0ZXZlbi1tY2hhaWwuanBnP2ZmM2IiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0ZXZlbi1tY2hhaWwuNGU5NDQ3MmUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGc3RldmVuLW1jaGFpbC40ZTk0NDcyZS5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg": -/*!**************************************************!*\ - !*** ./src/images/avatars/victor_muhagachi.jpeg ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/victor_muhagachi.46938b4a.jpeg\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fvictor_muhagachi.46938b4a.jpeg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsc05BQXNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWc/NTZmYiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdmljdG9yX211aGFnYWNoaS40NjkzOGI0YS5qcGVnXCIsXCJoZWlnaHRcIjo4MDAsXCJ3aWR0aFwiOjgwMCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZ2aWN0b3JfbXVoYWdhY2hpLjQ2OTM4YjRhLmpwZWcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg": -/*!*********************************************!*\ - !*** ./src/images/avatars/waylon-hyden.jpg ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/waylon-hyden.4c037cf5.jpg\",\"height\":560,\"width\":1120,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwaylon-hyden.4c037cf5.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy93YXlsb24taHlkZW4uanBnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLDZNQUE2TSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZz84ZDgyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS93YXlsb24taHlkZW4uNGMwMzdjZjUuanBnXCIsXCJoZWlnaHRcIjo1NjAsXCJ3aWR0aFwiOjExMjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGd2F5bG9uLWh5ZGVuLjRjMDM3Y2Y1LmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo0fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/background-newsletter.jpg": -/*!**********************************************!*\ - !*** ./src/images/background-newsletter.jpg ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/background-newsletter.488a0204.jpg\",\"height\":2702,\"width\":1838,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-newsletter.488a0204.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC1uZXdzbGV0dGVyLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxnT0FBZ08iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnP2RkODgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2JhY2tncm91bmQtbmV3c2xldHRlci40ODhhMDIwNC5qcGdcIixcImhlaWdodFwiOjI3MDIsXCJ3aWR0aFwiOjE4MzgsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC1uZXdzbGV0dGVyLjQ4OGEwMjA0LmpwZyZ3PTUmcT03MFwiLFwiYmx1cldpZHRoXCI6NSxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background-newsletter.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/background.jpg": -/*!***********************************!*\ - !*** ./src/images/background.jpg ***! - \***********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/background.6c3571e0.jpg\",\"height\":2990,\"width\":1836,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.6c3571e0.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsME1BQTBNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGc/MDVmNyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYmFja2dyb3VuZC42YzM1NzFlMC5qcGdcIixcImhlaWdodFwiOjI5OTAsXCJ3aWR0aFwiOjE4MzYsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC42YzM1NzFlMC5qcGcmdz01JnE9NzBcIixcImJsdXJXaWR0aFwiOjUsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/logos/mirage.svg": -/*!*************************************!*\ - !*** ./src/images/logos/mirage.svg ***! - \*************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/mirage.b4872b78.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvbWlyYWdlLnN2ZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxR0FBcUciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnPzg1NDgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21pcmFnZS5iNDg3MmI3OC5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/mirage.svg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/logos/statickit.svg": -/*!****************************************!*\ - !*** ./src/images/logos/statickit.svg ***! - \****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/statickit.f39ab0e3.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3Mvc3RhdGlja2l0LnN2ZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyx3R0FBd0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9sb2dvcy9zdGF0aWNraXQuc3ZnP2U2ODAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0YXRpY2tpdC5mMzlhYjBlMy5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/statickit.svg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/logos/transistor.svg": -/*!*****************************************!*\ - !*** ./src/images/logos/transistor.svg ***! - \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/transistor.20c106ae.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMseUdBQXlHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmc/MDhmNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdHJhbnNpc3Rvci4yMGMxMDZhZS5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/transistor.svg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/logos/tuple.svg": -/*!************************************!*\ - !*** ./src/images/logos/tuple.svg ***! - \************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/tuple.7c6d6466.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvdHVwbGUuc3ZnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLG9HQUFvRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Zz83MDQ3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS90dXBsZS43YzZkNjQ2Ni5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/tuple.svg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/add-locale.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/client/add-locale.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FHYUE7OztlQUFBQTs7O29EQUY4QjtBQUVwQyxNQUFNQSxZQUF1QixTQUFDQyxJQUFBQTtxQ0FBU0MsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsSUFBQUEsT0FBQUEsSUFBQUEsSUFBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7UUFBQUEsSUFBQUEsQ0FBQUEsT0FBQUEsRUFBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O0lBQzVDLElBQUlDLEtBQStCLEVBQUUsRUFJckM7SUFDQSxPQUFPRjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FkZC1sb2NhbGUudHM/ZmFhZSJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwiYXJncyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/client/get-domain-locale.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDomainLocale\", ({\n enumerable: true,\n get: function() {\n return getDomainLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2dldC1kb21haW4tbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBT2dCQTs7O2VBQUFBOzs7b0RBSjJCO0FBRTNDLE1BQU1DLFdBQVdDLE1BQW1DLElBQWU7QUFFNUQsU0FBU0YsZ0JBQ2RLLElBQVksRUFDWkMsTUFBdUIsRUFDdkJDLE9BQWtCLEVBQ2xCQyxhQUE4QjtJQUU5QixJQUFJTixLQUErQixFQUFFLEVBZ0JyQyxNQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUudHM/MWQ0ZSJdLCJuYW1lcyI6WyJnZXREb21haW5Mb2NhbGUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsImxvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJyZXF1aXJlIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwidGFyZ2V0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJkb21haW4iLCJ1bmRlZmluZWQiLCJwcm90byIsImh0dHAiLCJmaW5hbExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/image-component.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/image-component.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Image\", ({\n enumerable: true,\n get: function() {\n return Image;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\");\nconst _warnonce = __webpack_require__(/*! ../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\n// This is replaced by webpack define plugin\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]};\nif (typeof window === \"undefined\") {\n globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput) {\n const src = img == null ? void 0 : img.src;\n if (!img || img[\"data-loaded-src\"] === src) {\n return;\n }\n img[\"data-loaded-src\"] = src;\n const p = \"decode\" in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder !== \"empty\") {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event(\"load\");\n Object.defineProperty(event, \"target\", {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n });\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (true) {\n const origSrc = new URL(src, \"http://n\").searchParams.get(\"url\") || src;\n if (img.getAttribute(\"data-nimg\") === \"fill\") {\n if (!unoptimized && (!sizesInput || sizesInput === \"100vw\")) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === \"100vw\") {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n } else {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n \"absolute\",\n \"fixed\",\n \"relative\"\n ];\n if (!valid.includes(position)) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and parent element with invalid \"position\". Provided \"' + position + '\" should be one of ' + valid.map(String).join(\",\") + \".\");\n }\n }\n if (img.height === 0) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.');\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute(\"height\");\n const widthModified = img.width.toString() !== img.getAttribute(\"width\");\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles \\'width: \"auto\"\\' or \\'height: \"auto\"\\' to maintain the aspect ratio.');\n }\n }\n });\n}\nfunction getDynamicProps(fetchPriority) {\n const [majorStr, minorStr] = _react.version.split(\".\", 2);\n const major = parseInt(majorStr, 10);\n const minor = parseInt(minorStr, 10);\n if (major > 18 || major === 18 && minor >= 3) {\n // In React 18.3.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return {\n fetchPriority\n };\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return {\n fetchpriority: fetchPriority\n };\n}\nconst ImageElement = /*#__PURE__*/ (0, _react.forwardRef)((param, forwardedRef)=>{\n let { src, srcSet, sizes, height, width, decoding, className, style, fetchPriority, placeholder, loading, unoptimized, fill, onLoadRef, onLoadingCompleteRef, setBlurComplete, setShowAltText, sizesInput, onLoad, onError, ...rest } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"img\", {\n ...rest,\n ...getDynamicProps(fetchPriority),\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading: loading,\n width: width,\n height: height,\n decoding: decoding,\n \"data-nimg\": fill ? \"fill\" : \"1\",\n className: className,\n style: style,\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes: sizes,\n srcSet: srcSet,\n src: src,\n ref: (0, _react.useCallback)((img)=>{\n if (forwardedRef) {\n if (typeof forwardedRef === \"function\") forwardedRef(img);\n else if (typeof forwardedRef === \"object\") {\n // @ts-ignore - .current is read only it's usually assigned by react internally\n forwardedRef.current = img;\n }\n }\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (true) {\n if (!src) {\n console.error('Image is missing required \"src\" property:', img);\n }\n if (img.getAttribute(\"alt\") === null) {\n console.error('Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.');\n }\n }\n if (img.complete) {\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n }\n }, [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n forwardedRef\n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder !== \"empty\") {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n });\n});\nfunction ImagePreload(param) {\n let { isAppRouter, imgAttributes } = param;\n const opts = {\n as: \"image\",\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority)\n };\n if (isAppRouter && _reactdom.default.preload) {\n // See https://github.com/facebook/react/pull/26940\n _reactdom.default.preload(imgAttributes.src, opts);\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href: imgAttributes.srcSet ? undefined : imgAttributes.src,\n ...opts\n }, \"__nimg-\" + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes)\n });\n}\n_c = ImagePreload;\nconst Image = /*#__PURE__*/ (0, _react.forwardRef)((props, forwardedRef)=>{\n const pagesRouter = (0, _react.useContext)(_routercontextsharedruntime.RouterContext);\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const configContext = (0, _react.useContext)(_imageconfigcontextsharedruntime.ImageConfigContext);\n const config = (0, _react.useMemo)(()=>{\n const c = configEnv || configContext || _imageconfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n return {\n ...c,\n allSizes,\n deviceSizes\n };\n }, [\n configContext\n ]);\n const { onLoad, onLoadingComplete } = props;\n const onLoadRef = (0, _react.useRef)(onLoad);\n (0, _react.useEffect)(()=>{\n onLoadRef.current = onLoad;\n }, [\n onLoad\n ]);\n const onLoadingCompleteRef = (0, _react.useRef)(onLoadingComplete);\n (0, _react.useEffect)(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n const [blurComplete, setBlurComplete] = (0, _react.useState)(false);\n const [showAltText, setShowAltText] = (0, _react.useState)(false);\n const { props: imgAttributes, meta: imgMeta } = (0, _getimgprops.getImgProps)(props, {\n defaultLoader: _imageloader.default,\n imgConf: config,\n blurComplete,\n showAltText\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(ImageElement, {\n ...imgAttributes,\n unoptimized: imgMeta.unoptimized,\n placeholder: imgMeta.placeholder,\n fill: imgMeta.fill,\n onLoadRef: onLoadRef,\n onLoadingCompleteRef: onLoadingCompleteRef,\n setBlurComplete: setBlurComplete,\n setShowAltText: setShowAltText,\n sizesInput: props.sizes,\n ref: forwardedRef\n }),\n imgMeta.priority ? /*#__PURE__*/ (0, _jsxruntime.jsx)(ImagePreload, {\n isAppRouter: isAppRouter,\n imgAttributes: imgAttributes\n }) : null\n ]\n });\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=image-component.js.map\nvar _c;\n$RefreshReg$(_c, \"ImagePreload\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2ltYWdlLWNvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OzsrRUFhaUI7cURBQ1dBLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7eUNBWU87O3lDQUVWQSxtQkFBQUEsQ0FBQTs7O0FBTXpCLE1BQUFDLGVBQUEsY0FBQUMseUJBQTRDSCxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO0FBQzVDLDRDQUE4Qkc7QUFFOUIsTUFBSUMsWUFBT0MsME5BQXdCO0lBQy9CRSxPQUFBQSxXQUFtQkMsYUFBQUE7SUFDdkJELFdBQUFDLHFCQUFBO0FBbUJBO0FBQ0EsMEVBQWlEO0FBQ2pELGlEQUdFQztTQU1BQyxjQUFZQyxHQUFBQSxFQUFBQSxXQUFBQSxFQUFBQSxTQUFRLEVBQUFDLG9CQUFBLEVBQUFDLGVBQUEsRUFBQUMsV0FBQSxFQUFBQyxVQUFBO0lBQ3BCLE1BQUtKLE1BQU9BLE9BQUksZ0JBQWtCQSxJQUFLSyxHQUFBQTtRQUNyQyxDQUFBTCxPQUFBQSxHQUFBLHdCQUFBSyxLQUFBO1FBQ0Y7SUFDQUw7SUFDQUEsR0FBQSxtQkFBc0JBLEdBQUFBO0lBQ3RCTSxNQUFFQyxJQUFNLFlBQWVQLE1BQUFBLElBQUFRLE1BQUEsS0FBQUMsUUFBQUMsT0FBQTtXQUNyQixDQUFJLEtBQUtDLEdBQUFBLElBQUFBLENBQUFBO1lBQ1AsQ0FBQVgsSUFBQVcsYUFBQSxLQUFBWCxJQUFBWSxXQUFBLEVBQXdDO1lBQ3hDLHdDQUF1QjtZQUN2QjtZQUNBLHNDQUFzQjtZQUN0QjtZQUNBO1lBQ0Y7UUFDQTtZQUNFVixnQkFBZ0I7WUFDbEJBLGdCQUFBO1FBQ0E7WUFDRUosYUFBQSxnQkFBQUEsVUFBQWUsT0FBQSxFQUErQztZQUMvQywrQ0FBMEM7WUFDMUM7WUFDQSwyQ0FBd0I7WUFDeEJDLE1BQUFBLFFBQU9DLElBQUFBLE1BQWVDO21CQUFtQkMsY0FBVSxDQUFBRCxPQUFBO2dCQUFP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YSxTQUFBQyxhQUFBRixXQUFBLEVBQUFHLE9BQUE7UUFDYkMsZUFBU3ZCLGFBQUFBLE9BQUFBO1FBQ1R3QixTQUFBQTtRQUNBVDtRQUNGQTtJQUVBOzs7dUJBSVl2QyxHQUFBQSxDQUFBQSxHQUFBQSxZQUFhZCxHQUFBLEVBQUErRCxjQUFBO2dCQUNqQmhJLEdBQUFBLGFBQWF5SDtnQkFDYi9DLGFBQWErQyxRQUFRL0MsV0FBVztnQkFDaEN1RCxhQUFNUixRQUFZL0MsV0FBQTtnQkFDbEIvRSxNQUFBQSxRQUFXQSxJQUFBQTtnQkFDWEcsV0FBQUE7Z0JBQ0FDLHNCQUFpQkE7Z0JBQ2pCNkUsaUJBQWdCQTtnQkFDaEIzRSxnQkFBWTRIO2dCQUNaekQsWUFBS0UsTUFBQUEsS0FBQUE7O1lBR1JtRDtvQkFFR25DLFFBQUFBLEdBQWFBLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLGNBQUFBO2dCQUNiUCxhQUFBQTsrQkFFQUE7OztJQUdWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2ltYWdlLWNvbXBvbmVudC50c3g/NTFlMSJdLCJuYW1lcyI6WyJfIiwicmVxdWlyZSIsIl9pbWFnZWxvYWRlciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl9fTkVYVF9JTUFHRV9PUFRTIiwiY29uZmlnRW52Iiwid2luZG93IiwiZW52IiwiZ2xvYmFsVGhpcyIsIl9fTkVYVF9JTUFHRV9JTVBPUlRFRCIsIm9uTG9hZFJlZiIsImhhbmRsZUxvYWRpbmciLCJpbWciLCJvbkxvYWRpbmdDb21wbGV0ZVJlZiIsInNldEJsdXJDb21wbGV0ZSIsInVub3B0aW1pemVkIiwic2l6ZXNJbnB1dCIsInNyYyIsInAiLCJjYXRjaCIsImRlY29kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicGFyZW50RWxlbWVudCIsImlzQ29ubmVjdGVkIiwiY3VycmVudCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXZlbnQiLCJ3cml0YWJsZSIsInZhbHVlIiwic3RvcHBlZCIsIm5hdGl2ZUV2ZW50IiwiY3VycmVudFRhcmdldCIsInRhcmdldCIsImlzRGVmYXVsdFByZXZlbnRlZCIsImlzUHJvcGFnYXRpb25TdG9wcGVkIiwicHJldmVudGVkIiwicGVyc2lzdCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJvY2VzcyIsImdldEF0dHJpYnV0ZSIsIlVSTCIsInNlYXJjaFBhcmFtcyIsImdldCIsIndpZHRoVmlld3BvcnRSYXRpbyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIndpZHRoIiwiaW5uZXJXaWR0aCIsIndhcm5PbmNlIiwiX3dhcm5vbmNlIiwib3JpZ1NyYyIsInZhbGlkIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInBvc2l0aW9uIiwibWFwIiwiU3RyaW5nIiwiam9pbiIsIndpZHRoTW9kaWZpZWQiLCJ0b1N0cmluZyIsImhlaWdodE1vZGlmaWVkIiwiZ2V0RHluYW1pY1Byb3BzIiwibWlub3JTdHIiLCJ2ZXJzaW9uIiwibWFqb3IiLCJwYXJzZUludCIsIm1ham9yU3RyIiwic3BsaXQiLCJtaW5vciIsImZldGNoUHJpb3JpdHkiLCJmZXRjaHByaW9yaXR5IiwiaGVpZ2h0IiwiZGVjb2RpbmciLCJjbGFzc05hbWUiLCJzdHlsZSIsInNyY1NldCIsInNpemVzIiwicmVzdCIsIl9qc3hydW50aW1lIiwianN4IiwibG9hZGluZyIsImRhdGEtbmltZyIsInJlZiIsInVzZUNhbGxiYWNrIiwiZm9yd2FyZGVkUmVmIiwib25FcnJvciIsImNvbnNvbGUiLCJlcnJvciIsInBsYWNlaG9sZGVyIiwib25Mb2FkIiwic2V0U2hvd0FsdFRleHQiLCJJbWFnZVByZWxvYWQiLCJwYXJhbSIsImltZ0F0dHJpYnV0ZXMiLCJvcHRzIiwiYXMiLCJpbWFnZVNyY1NldCIsImltYWdlU2l6ZXMiLCJjcm9zc09yaWdpbiIsInJlZmVycmVyUG9saWN5IiwiaXNBcHBSb3V0ZXIiLCJfcmVhY3Rkb20iLCJkZWZhdWx0IiwicHJlbG9hZCIsIlJlYWN0RE9NIiwiX2hlYWQiLCJsaW5rIiwicmVsIiwiaHJlZiIsInVuZGVmaW5lZCIsIkltYWdlIiwidXNlQ29udGV4dCIsInBhZ2VzUm91dGVyIiwiUm91dGVyQ29udGV4dCIsIl9yZWFjdCIsIl9yb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsImNvbmZpZ0NvbnRleHQiLCJjb25maWciLCJ1c2VNZW1vIiwiX2ltYWdlY29uZmlnY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJJbWFnZUNvbmZpZ0NvbnRleHQiLCJhbGxTaXplcyIsIl9pbWFnZWNvbmZpZyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImRldmljZVNpemVzIiwiYyIsImEiLCJiIiwic29ydCIsInVzZVJlZiIsInVzZUVmZmVjdCIsIm9uTG9hZGluZ0NvbXBsZXRlIiwic2hvd0FsdFRleHQiLCJ1c2VTdGF0ZSIsIm1ldGEiLCJpbWdNZXRhIiwiZ2V0SW1nUHJvcHMiLCJkZWZhdWx0TG9hZGVyIiwiX2dldGltZ3Byb3BzIiwicHJvcHMiLCJpbWdDb25mIiwiYmx1ckNvbXBsZXRlIiwiSW1hZ2VFbGVtZW50IiwiZmlsbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/image-component.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/link.js": -/*!***********************************************!*\ - !*** ./node_modules/next/dist/client/link.js ***! - \***********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n if (typeof window === \"undefined\") {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n const prefetchPromise = isAppRouter ? router.prefetch(href, appOptions) : router.prefetch(href, as, options);\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(prefetchPromise).catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll: routerScroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n scroll: routerScroll\n });\n }\n };\n if (isAppRouter) {\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `<a>` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: `<Link>`](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _s(_react.default.forwardRef(_c = _s(function LinkComponent(props, forwardedRef) {\n _s();\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + (typeof window !== \"undefined\" ? \"\\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current && !isAppRouter) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + (typeof window !== \"undefined\" ? \" \\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n}, \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\")), \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\");\n_c1 = Link;\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Link$_react.default.forwardRef\");\n$RefreshReg$(_c1, \"Link\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7NkJBUzRCQSx5QkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FDRDt3Q0FDRDt1Q0FDSTs7Ozt1Q0FRRUEsbUJBQUFBLENBQUE7NkNBQ0E7NkNBQ0o7O0FBMkY1QixNQUFNQyxzQkFBaUJDLG1CQUFBQSxDQUFBQSwrSkFBQUE7QUFVdkIsTUFBQUQsYUFDRUUsSUFBQUE7U0FPSUMsU0FBT0MsTUFBQUEsRUFBV0MsSUFBQSxFQUFBQyxFQUFBLEVBQUFDLE9BQWEsRUFBQUMsVUFBQSxFQUFBQyxXQUFBO1FBQ2pDLE9BQUFMLFdBQUE7UUFDRjtJQUVBO0lBQ0EsZ0pBQXVDO1FBQ3JDLENBQUFLLGVBQUEsS0FBQUMsWUFBQUMsVUFBQSxFQUFBTixPQUFBO1FBQ0Y7SUFFQTtJQUNBLDRFQUFZO0lBQ1osWUFBS0U7UUFDSCxDQUFBQSxRQUFNSyxxQkFDSjtRQUNBLE1BQUFBLFNBT0YsT0FBTUMsUUFBQUEsTUFBQUEsS0FBZ0JSLGNBQWtCRSxRQUFNSyxNQUFBQSxHQUFBQSxZQUFBQSxTQUFBQSxPQUFBQSxNQUFBQSxHQUFBQTtRQUU5QyxNQUFBQyxnQkFBQVIsT0FBQSxNQUFBQyxLQUFBLE1BQUFNO1FBQ0Esa0VBQW1DO1lBQ2pDWixXQUFBYyxHQUFBLENBQUFELGdCQUFBO1lBQ0Y7UUFFQTtRQUNBYiwrQkFBZWE7UUFDakJiLFdBQUFlLEdBQUEsQ0FBQUY7SUFFQTtJQUlBLE1BQUFHLGtCQUFBUCxjQUFBUCxPQUFBQyxRQUFBLENBQUFFLE1BQXVERyxjQUFBTixPQUFBQyxRQUFBLENBQUFFLE1BQUFDLElBQUFDO0lBQ3ZEO0lBQ0EsMERBQXNEO0lBQ3REO0lBQ0FVLHlEQUF3Q0M7WUFDbENDLE9BQUFBLENBQVFDLGlCQUFpQkMsS0FBQSxFQUFBSDtZQUMzQkMsSUFBQSxFQUFxQztZQUNyQyxxQ0FBTUQ7WUFD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QUFBdEMsT0FBQXlCLGNBQUEsa0JBQUFjLFlBQUFDLEdBQUE7UUFBRyxHQUFHZixTQUFBQTtxQkFDbkIxRTs7SUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9saW5rLnRzeD9hY2YwIl0sIm5hbWVzIjpbIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl8iLCJyZXF1aXJlIiwicHJlZmV0Y2hlZCIsIlNldCIsInJvdXRlciIsInByZWZldGNoIiwid2luZG93IiwiaHJlZiIsImFzIiwib3B0aW9ucyIsImFwcE9wdGlvbnMiLCJpc0FwcFJvdXRlciIsIl9pc2xvY2FsdXJsIiwiaXNMb2NhbFVSTCIsImxvY2FsZSIsInByZWZldGNoZWRLZXkiLCJoYXMiLCJhZGQiLCJwcmVmZXRjaFByb21pc2UiLCJQcm9taXNlIiwiZXJyIiwicHJvY2VzcyIsImVudiIsImNhdGNoIiwiaXNNb2RpZmllZEV2ZW50IiwiZXZlbnQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiZXZlbnRUYXJnZXQiLCJuYXRpdmVFdmVudCIsIndoaWNoIiwibWV0YUtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImFsdEtleSIsImxpbmtDbGlja2VkIiwiZSIsInJlcGxhY2UiLCJzaGFsbG93Iiwic2Nyb2xsIiwibm9kZU5hbWUiLCJpc0FuY2hvck5vZGVOYW1lIiwicHJldmVudERlZmF1bHQiLCJuYXZpZ2F0ZSIsInJvdXRlclNjcm9sbCIsIlJlYWN0IiwiX3JlYWN0IiwiZGVmYXVsdCIsInN0YXJ0VHJhbnNpdGlvbiIsImZvcm1hdFN0cmluZ09yVXJsIiwidXJsT2JqT3JTdHJpbmciLCJfZm9ybWF0dXJsIiwiZm9ybWF0VXJsIiwiY2hpbGRyZW4iLCJjaGlsZHJlblByb3AiLCJsZWdhY3lCZWhhdmlvciIsImEiLCJhcHBSb3V0ZXIiLCJ1c2VDb250ZXh0IiwiQXBwUm91dGVyQ29udGV4dCIsInBhZ2VzUm91dGVyIiwicHJlZmV0Y2hFbmFibGVkIiwicHJlZmV0Y2hQcm9wIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJGVUxMIiwiYXJncyIsImNyZWF0ZVByb3BFcnJvciIsIkVycm9yIiwia2V5IiwiZXhwZWN0ZWQiLCJhY3R1YWwiLCJyZXF1aXJlZFByb3BzIiwiT2JqZWN0IiwicHJvcHMiLCJwYXNzSHJlZiIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvblRvdWNoU3RhcnQiLCJvcHRpb25hbFByb3BzIiwidmFsVHlwZSIsImhhc1dhcm5lZCIsImN1cnJlbnQiLCJjb25zb2xlIiwid2FybiIsImFzUHJvcCIsImhyZWZQcm9wIiwicGF0aG5hbWUiLCJoYXNEeW5hbWljU2VnbWVudCIsInNwbGl0Iiwic29tZSIsInNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJ1c2VNZW1vIiwicmVzb2x2ZWRIcmVmIiwicmVzb2x2ZWRBcyIsIl9yZXNvbHZlaHJlZiIsInJlc29sdmVIcmVmIiwicHJldmlvdXNBcyIsInVzZVJlZiIsImNoaWxkIiwiTk9ERV9FTlYiLCJDaGlsZHJlbiIsIm9ubHkiLCJ0eXBlIiwiY2hpbGRSZWYiLCJzZXRJbnRlcnNlY3Rpb25SZWYiLCJpc1Zpc2libGUiLCJyZXNldFZpc2libGUiLCJ1c2VJbnRlcnNlY3Rpb24iLCJyb290TWFyZ2luIiwiX3VzZWludGVyc2VjdGlvbiIsInNldFJlZiIsInVzZUNhbGxiYWNrIiwiZWwiLCJwcmV2aW91c0hyZWYiLCJ1c2VFZmZlY3QiLCJhcHBQcmVmZXRjaEtpbmQiLCJyZWYiLCJkZWZhdWx0UHJldmVudGVkIiwib25Nb3VzZUVudGVyUHJvcCIsInByaW9yaXR5IiwiYnlwYXNzUHJlZmV0Y2hlZENoZWNrIiwib25Ub3VjaFN0YXJ0UHJvcCIsInVuZGVmaW5lZCIsImNoaWxkUHJvcHMiLCJjdXJMb2NhbGUiLCJpc0xvY2FsZURvbWFpbiIsImxvY2FsZURvbWFpbiIsImFkZEJhc2VQYXRoIiwiYWRkTG9jYWxlIiwiX2dldGRvbWFpbmxvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJsb2NhbGVzIiwiZG9tYWluTG9jYWxlcyIsIl9hZGRiYXNlcGF0aCIsIl9hZGRsb2NhbGUiLCJyZXN0UHJvcHMiLCJjbG9uZUVsZW1lbnQiLCJfanN4cnVudGltZSIsImpzeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/link.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/request-idle-callback.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQmFBLG9CQUFrQjtlQUFsQkE7O0lBaEJBQyxxQkFBbUI7ZUFBbkJBOzs7QUFBTixNQUFNQSxzQkFDWCxPQUFRQyxTQUFTLGVBQ2ZBLEtBQUtELG1CQUFtQixJQUN4QkMsS0FBS0QsbUJBQW1CLENBQUNFLElBQUksQ0FBQ0MsV0FDaEMsU0FBVUMsRUFBdUI7SUFDL0IsSUFBSUMsUUFBUUMsS0FBS0MsR0FBRztJQUNwQixPQUFPTixLQUFLTyxVQUFVLENBQUM7UUFDckJKLEdBQUc7WUFDREssWUFBWTtZQUNaQyxlQUFlO2dCQUNiLE9BQU9DLEtBQUtDLEdBQUcsQ0FBQyxHQUFHLEtBQU1OLENBQUFBLEtBQUtDLEdBQUcsS0FBS0YsS0FBQUE7WUFDeEM7UUFDRjtJQUNGLEdBQUc7QUFDTDtBQUVLLE1BQU1OLHFCQUNYLE9BQVFFLFNBQVMsZUFDZkEsS0FBS0Ysa0JBQWtCLElBQ3ZCRSxLQUFLRixrQkFBa0IsQ0FBQ0csSUFBSSxDQUFDQyxXQUMvQixTQUFVVSxFQUFVO0lBQ2xCLE9BQU9DLGFBQWFEO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay50cz8wNWY0Il0sIm5hbWVzIjpbImNhbmNlbElkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJzZWxmIiwiYmluZCIsIndpbmRvdyIsImNiIiwic3RhcnQiLCJEYXRlIiwibm93Iiwic2V0VGltZW91dCIsImRpZFRpbWVvdXQiLCJ0aW1lUmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImlkIiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/resolve-href.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3Jlc29sdmUtaHJlZi5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQXlCZ0JBOzs7ZUFBQUE7Ozt5Q0F2QnVCO3VDQUNGO2tDQUNoQjttQ0FDb0I7b0RBQ0U7d0NBQ2hCO29DQUNJOzJDQUNEO0FBZ0J2QixTQUFTQSxZQUNkQyxNQUFrQixFQUNsQkMsSUFBUyxFQUNUQyxTQUFtQjtJQUVuQiw0Q0FBNEM7SUFDNUMsSUFBSUM7SUFDSixJQUFJQyxjQUFjLE9BQU9ILFNBQVMsV0FBV0EsT0FBT0ksQ0FBQUEsR0FBQUEsV0FBQUEsb0JBQW9CLEVBQUNKO0lBRXpFLDZEQUE2RDtJQUM3RCxtREFBbUQ7SUFDbkQsTUFBTUssZ0JBQWdCRixZQUFZRyxLQUFLLENBQUM7SUFDeEMsTUFBTUMscUJBQXFCRixnQkFDdkJGLFlBQVlLLEtBQUssQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsQ0FBQ0ksTUFBTSxJQUN6Q047SUFFSixNQUFNTyxXQUFXSCxtQkFBbUJJLEtBQUssQ0FBQyxLQUFLO0lBRS9DLElBQUksQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsSUFBSSxJQUFJSixLQUFLLENBQUMsY0FBYztRQUMxQ00sUUFBUUMsS0FBSyxDQUNYLG1CQUFpQlYsY0FBWSx1Q0FBb0NKLE9BQU9lLFFBQVEsR0FBQztRQUVuRixNQUFNQyxnQkFBZ0JDLENBQUFBLEdBQUFBLE9BQUFBLHdCQUF3QixFQUFDVDtRQUMvQ0osY0FBYyxDQUFDRSxnQkFBZ0JBLGFBQWEsQ0FBQyxFQUFFLEdBQUcsTUFBTVU7SUFDMUQ7SUFFQSwyREFBMkQ7SUFDM0QsSUFBSSxDQUFDRSxDQUFBQSxHQUFBQSxZQUFBQSxVQUFVLEVBQUNkLGNBQWM7UUFDNUIsT0FBUUYsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3RDO0lBRUEsSUFBSTtRQUNGRCxPQUFPLElBQUlnQixJQUNUZixZQUFZZ0IsVUFBVSxDQUFDLE9BQU9wQixPQUFPcUIsTUFBTSxHQUFHckIsT0FBT2UsUUFBUSxFQUM3RDtJQUVKLEVBQUUsT0FBT08sR0FBRztRQUNWLGtEQUFrRDtRQUNsRG5CLE9BQU8sSUFBSWdCLElBQUksS0FBSztJQUN0QjtJQUVBLElBQUk7UUFDRixNQUFNSSxXQUFXLElBQUlKLElBQUlmLGFBQWFEO1FBQ3RDb0IsU0FBU1IsUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSx3QkFBQUEsMEJBQTBCLEVBQUNELFNBQVNSLFFBQVE7UUFDaEUsSUFBSVUsaUJBQWlCO1FBRXJCLElBQ0VDLENBQUFBLEdBQUFBLFFBQUFBLGNBQWMsRUFBQ0gsU0FBU1IsUUFBUSxLQUNoQ1EsU0FBU0ksWUFBWSxJQUNyQnpCLFdBQ0E7WUFDQSxNQUFNMEIsUUFBUUMsQ0FBQUEsR0FBQUEsYUFBQUEsc0JBQXNCLEVBQUNOLFNBQVNJLFlBQVk7WUFFMUQsTUFBTSxFQUFFRyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQ3RDVCxTQUFTUixRQUFRLEVBQ2pCUSxTQUFTUixRQUFRLEVBQ2pCYTtZQUdGLElBQUlFLFFBQVE7Z0JBQ1ZMLGlCQUFpQnBCLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDO29CQUNwQ1UsVUFBVWU7b0JBQ1ZHLE1BQU1WLFNBQVNVLElBQUk7b0JBQ25CTCxPQUFPTSxDQUFBQSxHQUFBQSxNQUFBQSxJQUFJLEVBQUNOLE9BQU9HO2dCQUNyQjtZQUNGO1FBQ0Y7UUFFQSxvRUFBb0U7UUFDcEUsTUFBTUksZUFDSlosU0FBU2EsTUFBTSxLQUFLakMsS0FBS2lDLE1BQU0sR0FDM0JiLFNBQVN0QixJQUFJLENBQUNRLEtBQUssQ0FBQ2MsU0FBU2EsTUFBTSxDQUFDMUIsTUFBTSxJQUMxQ2EsU0FBU3RCLElBQUk7UUFFbkIsT0FBT0MsWUFDSDtZQUFDaUM7WUFBY1Ysa0JBQWtCVTtTQUFhLEdBQzlDQTtJQUNOLEVBQUUsT0FBT2IsR0FBRztRQUNWLE9BQU9wQixZQUFZO1lBQUNFO1NBQVksR0FBR0E7SUFDckM7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZXNvbHZlLWhyZWYudHM/ZTZkMiJdLCJuYW1lcyI6WyJyZXNvbHZlSHJlZiIsInJvdXRlciIsImhyZWYiLCJyZXNvbHZlQXMiLCJiYXNlIiwidXJsQXNTdHJpbmciLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwibGVuZ3RoIiwidXJsUGFydHMiLCJzcGxpdCIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhuYW1lIiwibm9ybWFsaXplZFVybCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImlzTG9jYWxVUkwiLCJVUkwiLCJzdGFydHNXaXRoIiwiYXNQYXRoIiwiXyIsImZpbmFsVXJsIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJpbnRlcnBvbGF0ZWRBcyIsImlzRHluYW1pY1JvdXRlIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwicmVzdWx0IiwicGFyYW1zIiwiaW50ZXJwb2xhdGVBcyIsImhhc2giLCJvbWl0IiwicmVzb2x2ZWRIcmVmIiwib3JpZ2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/use-intersection.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useIntersection\", ({\n enumerable: true,\n get: function() {\n return useIntersection;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id, observer, elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef, rootMargin, disabled } = param;\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react.useState)(false);\n const elementRef = (0, _react.useRef)(null);\n const setElement = (0, _react.useCallback)((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react.useEffect)(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestidlecallback.requestIdleCallback)(()=>setVisible(true));\n return ()=>(0, _requestidlecallback.cancelIdleCallback)(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react.useCallback)(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7OzttREErRmdCQTs7O2VBQUFBOzs7bUNBL0Z5QztpREFJbEQ7QUFxQlAsTUFBTUMsMEJBQTBCLE9BQU9DLHlCQUF5QjtBQUVoRSxNQUFNQyxZQUFZLElBQUlDO0FBQ3RCLE1BQU1DLFNBQXVCLEVBQUU7QUFFL0IsU0FBU0MsZUFBZUMsT0FBb0M7SUFDMUQsTUFBTUMsS0FBSztRQUNUQyxNQUFNRixRQUFRRSxJQUFJLElBQUk7UUFDdEJDLFFBQVFILFFBQVFJLFVBQVUsSUFBSTtJQUNoQztJQUNBLE1BQU1DLFdBQVdQLE9BQU9RLElBQUksQ0FDMUIsQ0FBQ0MsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtJQUUzRCxJQUFJSztJQUVKLElBQUlILFVBQVU7UUFDWkcsV0FBV1osVUFBVWEsR0FBRyxDQUFDSjtRQUN6QixJQUFJRyxVQUFVO1lBQ1osT0FBT0E7UUFDVDtJQUNGO0lBRUEsTUFBTUUsV0FBVyxJQUFJYjtJQUNyQixNQUFNYyxXQUFXLElBQUloQixxQkFBcUIsQ0FBQ2lCO1FBQ3pDQSxRQUFRQyxPQUFPLENBQUMsQ0FBQ0M7WUFDZixNQUFNQyxXQUFXTCxTQUFTRCxHQUFHLENBQUNLLE1BQU1FLE1BQU07WUFDMUMsTUFBTUMsWUFBWUgsTUFBTUksY0FBYyxJQUFJSixNQUFNSyxpQkFBaUIsR0FBRztZQUNwRSxJQUFJSixZQUFZRSxXQUFXO2dCQUN6QkYsU0FBU0U7WUFDWDtRQUNGO0lBQ0YsR0FBR2pCO0lBQ0hRLFdBQVc7UUFDVFA7UUFDQVU7UUFDQUQ7SUFDRjtJQUVBWixPQUFPc0IsSUFBSSxDQUFDbkI7SUFDWkwsVUFBVXlCLEdBQUcsQ0FBQ3BCLElBQUlPO0lBQ2xCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTYyxRQUNQQyxPQUFnQixFQUNoQlIsUUFBeUIsRUFDekJmLE9BQW9DO0lBRXBDLE1BQU0sRUFBRUMsRUFBRSxFQUFFVSxRQUFRLEVBQUVELFFBQVEsRUFBRSxHQUFHWCxlQUFlQztJQUNsRFUsU0FBU1csR0FBRyxDQUFDRSxTQUFTUjtJQUV0QkosU0FBU1csT0FBTyxDQUFDQztJQUNqQixPQUFPLFNBQVNDO1FBQ2RkLFNBQVNlLE1BQU0sQ0FBQ0Y7UUFDaEJaLFNBQVNhLFNBQVMsQ0FBQ0Q7UUFFbkIsdURBQXVEO1FBQ3ZELElBQUliLFNBQVNnQixJQUFJLEtBQUssR0FBRztZQUN2QmYsU0FBU2dCLFVBQVU7WUFDbkIvQixVQUFVNkIsTUFBTSxDQUFDeEI7WUFDakIsTUFBTTJCLFFBQVE5QixPQUFPK0IsU0FBUyxDQUM1QixDQUFDdEIsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtZQUUzRCxJQUFJeUIsUUFBUSxDQUFDLEdBQUc7Z0JBQ2Q5QixPQUFPZ0MsTUFBTSxDQUFDRixPQUFPO1lBQ3ZCO1FBQ0Y7SUFDRjtBQUNGO0FBRU8sU0FBU25DLGdCQUFtQ3NDLEtBSWpDO0lBSmlDLE1BQ2pEQyxPQUFPLEVBQ1A1QixVQUFVLEVBQ1Y2QixRQUFRLEVBQ1EsR0FKaUNGO0lBS2pELE1BQU1HLGFBQXNCRCxZQUFZLENBQUN2QztJQUV6QyxNQUFNLENBQUN5QyxTQUFTQyxXQUFXLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBQztJQUN2QyxNQUFNQyxhQUFhQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFNLEVBQVc7SUFDcEMsTUFBTUMsYUFBYUMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDLENBQUNsQjtRQUM5QmUsV0FBV0ksT0FBTyxHQUFHbkI7SUFDdkIsR0FBRyxFQUFFO0lBRUxvQixDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUixJQUFJakQseUJBQXlCO1lBQzNCLElBQUl3QyxjQUFjQyxTQUFTO1lBRTNCLE1BQU1aLFVBQVVlLFdBQVdJLE9BQU87WUFDbEMsSUFBSW5CLFdBQVdBLFFBQVFxQixPQUFPLEVBQUU7Z0JBQzlCLE1BQU1wQixZQUFZRixRQUNoQkMsU0FDQSxDQUFDTixZQUFjQSxhQUFhbUIsV0FBV25CLFlBQ3ZDO29CQUFFZixNQUFNOEIsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU1UsT0FBTztvQkFBRXRDO2dCQUFXO2dCQUd2QyxPQUFPb0I7WUFDVDtRQUNGLE9BQU87WUFDTCxJQUFJLENBQUNXLFNBQVM7Z0JBQ1osTUFBTVUsZUFBZUMsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDLElBQU1WLFdBQVc7Z0JBQzFELE9BQU8sSUFBTVcsQ0FBQUEsR0FBQUEscUJBQUFBLGtCQUFrQixFQUFDRjtZQUNsQztRQUNGO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1g7UUFBWTlCO1FBQVk0QjtRQUFTRztRQUFTRyxXQUFXSSxPQUFPO0tBQUM7SUFFakUsTUFBTU0sZUFBZVAsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQy9CTCxXQUFXO0lBQ2IsR0FBRyxFQUFFO0lBRUwsT0FBTztRQUFDSTtRQUFZTDtRQUFTYTtLQUFhO0FBQzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24udHN4PzU3ZWUiXSwibmFtZXMiOlsidXNlSW50ZXJzZWN0aW9uIiwiaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIm9ic2VydmVycyIsIk1hcCIsImlkTGlzdCIsImNyZWF0ZU9ic2VydmVyIiwib3B0aW9ucyIsImlkIiwicm9vdCIsIm1hcmdpbiIsInJvb3RNYXJnaW4iLCJleGlzdGluZyIsImZpbmQiLCJvYmoiLCJpbnN0YW5jZSIsImdldCIsImVsZW1lbnRzIiwib2JzZXJ2ZXIiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImVudHJ5IiwiY2FsbGJhY2siLCJ0YXJnZXQiLCJpc1Zpc2libGUiLCJpc0ludGVyc2VjdGluZyIsImludGVyc2VjdGlvblJhdGlvIiwicHVzaCIsInNldCIsIm9ic2VydmUiLCJlbGVtZW50IiwidW5vYnNlcnZlIiwiZGVsZXRlIiwic2l6ZSIsImRpc2Nvbm5lY3QiLCJpbmRleCIsImZpbmRJbmRleCIsInNwbGljZSIsInBhcmFtIiwicm9vdFJlZiIsImRpc2FibGVkIiwiaXNEaXNhYmxlZCIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwidXNlU3RhdGUiLCJlbGVtZW50UmVmIiwidXNlUmVmIiwic2V0RWxlbWVudCIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsInVzZUVmZmVjdCIsInRhZ05hbWUiLCJpZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwicmVzZXRWaXNpYmxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = \"AmpStateContext\";\n} //# sourceMappingURL=amp-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQUVhQTs7O2VBQUFBOzs7OzRFQUZLO0FBRVgsTUFBTUEsa0JBQXNDQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRXhFLElBQUlDLElBQXlCLEVBQWM7SUFDekNILGdCQUFnQkksV0FBVyxHQUFHO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS50cz85NjQxIl0sIm5hbWVzIjpbIkFtcFN0YXRlQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtbW9kZS5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsWUFBWUMsS0FBQTtJQUFBLE1BQzFCQyxXQUFXLEtBQUssRUFDaEJDLFNBQVMsS0FBSyxFQUNkQyxXQUFXLEtBQUssRUFDakIsR0FKMkJILFVBQUEsU0FJeEIsQ0FBQyxJQUp1QkE7SUFLMUIsT0FBT0MsWUFBYUMsVUFBVUM7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2FtcC1tb2RlLnRzP2NlMDQiXSwibmFtZXMiOlsiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLmpzIiwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTs7Ozs7c0RBSTFEQTs7O2VBQUFBOzs7QUFIaEIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxrQkFBa0I7QUFFakIsU0FBU0YsbUJBQW1CRyxHQUFXO0lBQzVDLCtHQUErRztJQUMvRyxJQUFJRixZQUFZRyxJQUFJLENBQUNELE1BQU07UUFDekIsT0FBT0EsSUFBSUUsT0FBTyxDQUFDSCxpQkFBaUI7SUFDdEM7SUFDQSxPQUFPQztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLnRzP2RjYjEiXSwibmFtZXMiOlsiZXNjYXBlU3RyaW5nUmVnZXhwIiwicmVIYXNSZWdFeHAiLCJyZVJlcGxhY2VSZWdFeHAiLCJzdHIiLCJ0ZXN0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/get-img-props.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n \"lazy\",\n \"eager\",\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === \"object\" && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: \"w\"\n };\n }\n return {\n widths: allSizes,\n kind: \"w\"\n };\n }\n if (typeof width !== \"number\") {\n return {\n widths: deviceSizes,\n kind: \"w\"\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: \"x\"\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === \"w\" ? w : i + 1) + kind).join(\", \"),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, overrideSrc, onLoad, onLoadingComplete, placeholder = \"empty\", blurDataURL, fetchPriority, layout, objectFit, objectPosition, lazyBoundary, lazyRoot, ...rest } = param;\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state;\n let config;\n let c = imgConf || _imageconfig.imageConfigDefault;\n if (\"allSizes\" in c) {\n config = c;\n } else {\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n config = {\n ...c,\n allSizes,\n deviceSizes\n };\n }\n if (typeof defaultLoader === \"undefined\") {\n throw new Error(\"images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config\");\n }\n let loader = rest.loader || defaultLoader;\n // Remove property so it's not spread on <img> element\n delete rest.loader;\n delete rest.srcSet;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = \"__next_img_default\" in loader;\n if (isDefaultLoader) {\n if (config.loader === \"custom\") {\n throw new Error('Image with src \"' + src + '\" is missing \"loader\" prop.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\");\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n loader = (obj)=>{\n const { config: _, ...opts } = obj;\n return customImageLoader(opts);\n };\n }\n if (layout) {\n if (layout === \"fill\") {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: \"100%\",\n height: \"auto\"\n },\n responsive: {\n width: \"100%\",\n height: \"auto\"\n }\n };\n const layoutToSizes = {\n responsive: \"100vw\",\n fill: \"100vw\"\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = {\n ...style,\n ...layoutStyle\n };\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = \"\";\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received \" + JSON.stringify(staticImageData));\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received \" + JSON.stringify(staticImageData));\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === \"string\" ? src : staticSrc;\n let isLazy = !priority && (loading === \"lazy\" || typeof loading === \"undefined\");\n if (!src || src.startsWith(\"data:\") || src.startsWith(\"blob:\")) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && src.endsWith(\".svg\") && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n if (priority) {\n fetchPriority = \"high\";\n }\n const qualityInt = getInt(quality);\n if (true) {\n if (config.output === \"export\" && isDefaultLoader && !unoptimized) {\n throw new Error(\"Image Optimization using the default loader is not compatible with `{ output: 'export' }`.\\n Possible solutions:\\n - Remove `{ output: 'export' }` and run \\\"next start\\\" to run server mode including the Image Optimization API.\\n - Configure `{ images: { unoptimized: true } }` in `next.config.js` to disable the Image Optimization API.\\n Read more: https://nextjs.org/docs/messages/export-image-api\");\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw new Error('Image with src \"' + src + '\" has both \"width\" and \"fill\" properties. Only one should be used.');\n }\n if (height) {\n throw new Error('Image with src \"' + src + '\" has both \"height\" and \"fill\" properties. Only one should be used.');\n }\n if ((style == null ? void 0 : style.position) && style.position !== \"absolute\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.width) && style.width !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.height) && style.height !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.');\n }\n } else {\n if (typeof widthInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"width\" property.');\n } else if (isNaN(widthInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"width\" property. Expected a numeric value in pixels but received \"' + width + '\".');\n }\n if (typeof heightInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"height\" property.');\n } else if (isNaN(heightInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"height\" property. Expected a numeric value in pixels but received \"' + height + '\".');\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"loading\" property. Provided \"' + loading + '\" should be one of ' + VALID_LOADING_VALUES.map(String).join(\",\") + \".\");\n }\n if (priority && loading === \"lazy\") {\n throw new Error('Image with src \"' + src + '\" has both \"priority\" and \"loading=\\'lazy\\'\" properties. Only one should be used.');\n }\n if (placeholder !== \"empty\" && placeholder !== \"blur\" && !placeholder.startsWith(\"data:image/\")) {\n throw new Error('Image with src \"' + src + '\" has invalid \"placeholder\" property \"' + placeholder + '\".');\n }\n if (placeholder !== \"empty\") {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.');\n }\n }\n if (placeholder === \"blur\" && !blurDataURL) {\n const VALID_BLUR_EXT = [\n \"jpeg\",\n \"png\",\n \"webp\",\n \"avif\"\n ] // should match next-image-loader\n ;\n throw new Error('Image with src \"' + src + '\" has \"placeholder=\\'blur\\'\" property but is missing the \"blurDataURL\" property.\\n Possible solutions:\\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\\n - Change the \"src\" property to a static import with one of the supported file types: ' + VALID_BLUR_EXT.join(\",\") + ' (animated images not supported)\\n - Remove the \"placeholder\" property, effectively no blur effect\\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url');\n }\n if (\"ref\" in rest) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.');\n }\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width\");\n }\n }\n if (onLoadingComplete) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.');\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has legacy prop \"' + legacyKey + '\". Did you forget to run the codemod?' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13\");\n }\n }\n if (typeof window !== \"undefined\" && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var _entry_element;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry == null ? void 0 : (_entry_element = entry.element) == null ? void 0 : _entry_element.src) || \"\";\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder === \"empty\" && !lcpImage.src.startsWith(\"data:\") && !lcpImage.src.startsWith(\"blob:\")) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n (0, _warnonce.warnOnce)('Image with src \"' + lcpImage.src + '\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.' + \"\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority\");\n }\n }\n });\n try {\n perfObserver.observe({\n type: \"largest-contentful-paint\",\n buffered: true\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n const imgStyle = Object.assign(fill ? {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: \"transparent\"\n }, style);\n const backgroundImage = !blurComplete && placeholder !== \"empty\" ? placeholder === \"blur\" ? 'url(\"data:image/svg+xml;charset=utf-8,' + (0, _imageblursvg.getImageBlurSvg)({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || \"\",\n objectFit: imgStyle.objectFit\n }) + '\")' : 'url(\"' + placeholder + '\")' // assume `data:image/`\n : null;\n let placeholderStyle = backgroundImage ? {\n backgroundSize: imgStyle.objectFit || \"cover\",\n backgroundPosition: imgStyle.objectPosition || \"50% 50%\",\n backgroundRepeat: \"no-repeat\",\n backgroundImage\n } : {};\n if (true) {\n if (placeholderStyle.backgroundImage && placeholder === \"blur\" && (blurDataURL == null ? void 0 : blurDataURL.startsWith(\"/\"))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = 'url(\"' + blurDataURL + '\")';\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n if (true) {\n if (typeof window !== \"undefined\") {\n let fullUrl;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n priority,\n placeholder\n });\n }\n }\n const props = {\n ...rest,\n loading: isLazy ? \"lazy\" : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding: \"async\",\n className,\n style: {\n ...imgStyle,\n ...placeholderStyle\n },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src\n };\n const meta = {\n unoptimized,\n priority,\n placeholder,\n fill\n };\n return {\n props,\n meta\n };\n} //# sourceMappingURL=get-img-props.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBMk9nQkE7OztlQUFBQTs7O3NDQTNPUzswQ0FDTzt5Q0FDRztBQTZFbkMsTUFBTUMsdUJBQXVCO0lBQUM7SUFBUTtJQUFTQztDQUFVO0FBa0J6RCxTQUFTQyxnQkFDUEMsR0FBb0M7SUFFcEMsT0FBT0EsSUFBdUJDLE9BQU8sS0FBS0g7QUFDNUM7QUFFQSxTQUFTSSxrQkFDUEYsR0FBb0M7SUFFcEMsT0FBT0EsSUFBeUJBLEdBQUcsS0FBS0Y7QUFDMUM7QUFFQSxTQUFTSyxlQUFlSCxHQUEwQjtJQUNoRCxPQUNFLE9BQU9BLFFBQVEsWUFDZEQsQ0FBQUEsZ0JBQWdCQyxRQUNmRSxrQkFBa0JGLElBQUFBO0FBRXhCO0FBRUEsTUFBTUksVUFBVSxJQUFJQztBQUlwQixJQUFJQztBQUVKLFNBQVNDLE9BQU9DLENBQVU7SUFDeEIsSUFBSSxPQUFPQSxNQUFNLGFBQWE7UUFDNUIsT0FBT0E7SUFDVDtJQUNBLElBQUksT0FBT0EsTUFBTSxVQUFVO1FBQ3pCLE9BQU9DLE9BQU9DLFFBQVEsQ0FBQ0YsS0FBS0EsSUFBSUc7SUFDbEM7SUFDQSxJQUFJLE9BQU9ILE1BQU0sWUFBWSxXQUFXSSxJQUFJLENBQUNKLElBQUk7UUFDL0MsT0FBT0ssU0FBU0wsR0FBRztJQUNyQjtJQUNBLE9BQU9HO0FBQ1Q7QUFFQSxTQUFTRyxVQUNQQyxLQUFzQyxFQUN0Q0MsS0FBeUIsRUFDekJDLEtBQXlCO0lBRnpCLE1BQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFlLEdBQXRDSjtJQUlBLElBQUlFLE9BQU87UUFDVCx5REFBeUQ7UUFDekQsTUFBTUcsa0JBQWtCO1FBQ3hCLE1BQU1DLGVBQWUsRUFBRTtRQUN2QixJQUFLLElBQUlDLE9BQVFBLFFBQVFGLGdCQUFnQkcsSUFBSSxDQUFDTixRQUFTSyxNQUFPO1lBQzVERCxhQUFhRyxJ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QUFPMEU7UUFDUGpELFNBQVM4RDtRQUNUdEY7UUFDQXlCO0lBQ0Y7SUFFQSxJQUFJOEQsSUFBeUIsRUFBYztRQUN6QyxJQUFJLE9BQU9rQixXQUFXLGFBQWE7WUFDakMsSUFBSTRCO1lBQ0osSUFBSTtnQkFDRkEsVUFBVSxJQUFJcEMsSUFBSW1DLGNBQWNySixHQUFHO1lBQ3JDLEVBQUUsT0FBT3VKLEdBQUc7Z0JBQ1ZELFVBQVUsSUFBSXBDLElBQUltQyxjQUFjckosR0FBRyxFQUFFMEgsT0FBTzhCLFFBQVEsQ0FBQ0MsSUFBSTtZQUMzRDtZQUNBckosUUFBUXNKLEdBQUcsQ0FBQ0osUUFBUUcsSUFBSSxFQUFFO2dCQUFFeko7Z0JBQUtnRDtnQkFBVVM7WUFBWTtRQUN6RDtJQUNGO0lBRUEsTUFBTWtHLFFBQWtCO1FBQ3RCLEdBQUcxRixJQUFJO1FBQ1BoQixTQUFTa0QsU0FBUyxTQUFTbEQ7UUFDM0JVO1FBQ0EzQyxPQUFPMEU7UUFDUHZDLFFBQVF3QztRQUNSaUUsVUFBVTtRQUNWMUc7UUFDQUcsT0FBTztZQUFFLEdBQUdtRixRQUFRO1lBQUUsR0FBR1MsZ0JBQWdCO1FBQUM7UUFDMUNoSSxPQUFPb0ksY0FBY3BJLEtBQUs7UUFDMUIwQixRQUFRMEcsY0FBYzFHLE1BQU07UUFDNUIzQyxLQUFLc0QsZUFBZStGLGNBQWNySixHQUFHO0lBQ3ZDO0lBQ0EsTUFBTTZKLE9BQU87UUFBRXJIO1FBQWFRO1FBQVVTO1FBQWFMO0lBQUs7SUFDeEQsT0FBTztRQUFFdUc7UUFBT0U7SUFBSztBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZ2V0LWltZy1wcm9wcy50cz9lYzkxIl0sIm5hbWVzIjpbImdldEltZ1Byb3BzIiwiVkFMSURfTE9BRElOR19WQUxVRVMiLCJ1bmRlZmluZWQiLCJpc1N0YXRpY1JlcXVpcmUiLCJzcmMiLCJkZWZhdWx0IiwiaXNTdGF0aWNJbWFnZURhdGEiLCJpc1N0YXRpY0ltcG9ydCIsImFsbEltZ3MiLCJNYXAiLCJwZXJmT2JzZXJ2ZXIiLCJnZXRJbnQiLCJ4IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJOYU4iLCJ0ZXN0IiwicGFyc2VJbnQiLCJnZXRXaWR0aHMiLCJwYXJhbSIsIndpZHRoIiwic2l6ZXMiLCJkZXZpY2VTaXplcyIsImFsbFNpemVzIiwidmlld3BvcnRXaWR0aFJlIiwicGVyY2VudFNpemVzIiwibWF0Y2giLCJleGVjIiwicHVzaCIsImxlbmd0aCIsInNtYWxsZXN0UmF0aW8iLCJNYXRoIiwibWluIiwid2lkdGhzIiwiZmlsdGVyIiwicyIsImtpbmQiLCJTZXQiLCJtYXAiLCJ3IiwiZmluZCIsInAiLCJnZW5lcmF0ZUltZ0F0dHJzIiwiY29uZmlnIiwidW5vcHRpbWl6ZWQiLCJxdWFsaXR5IiwibG9hZGVyIiwic3JjU2V0IiwibGFzdCIsImkiLCJqb2luIiwiX3N0YXRlIiwicHJpb3JpdHkiLCJsb2FkaW5nIiwiY2xhc3NOYW1lIiwiaGVpZ2h0IiwiZmlsbCIsInN0eWxlIiwib3ZlcnJpZGVTcmMiLCJvbkxvYWQiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInBsYWNlaG9sZGVyIiwiYmx1ckRhdGFVUkwiLCJmZXRjaFByaW9yaXR5IiwibGF5b3V0Iiwib2JqZWN0Rml0Iiwib2JqZWN0UG9zaXRpb24iLCJsYXp5Qm91bmRhcnkiLCJsYXp5Um9vdCIsInJlc3QiLCJpbWdDb25mIiwic2hvd0FsdFRleHQiLCJibHVyQ29tcGxldGUiLCJkZWZhdWx0TG9hZGVyIiwiYyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImltYWdlU2l6ZXMiLCJzb3J0IiwiYSIsImIiLCJFcnJvciIsImlzRGVmYXVsdExvYWRlciIsImN1c3RvbUltYWdlTG9hZGVyIiwib2JqIiwiXyIsIm9wdHMiLCJsYXlvdXRUb1N0eWxlIiwiaW50cmluc2ljIiwibWF4V2lkdGgiLCJyZXNwb25zaXZlIiwibGF5b3V0VG9TaXplcyIsImxheW91dFN0eWxlIiwibGF5b3V0U2l6ZXMiLCJzdGF0aWNTcmMiLCJ3aWR0aEludCIsImhlaWdodEludCIsImJsdXJXaWR0aCIsImJsdXJIZWlnaHQiLCJzdGF0aWNJbWFnZURhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicmF0aW8iLCJyb3VuZCIsImlzTGF6eSIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJxdWFsaXR5SW50IiwicHJvY2VzcyIsIm91dHB1dCIsInBvc2l0aW9uIiwiaXNOYU4iLCJpbmNsdWRlcyIsIlN0cmluZyIsIndhcm5PbmNlIiwiVkFMSURfQkxVUl9FWFQiLCJ1cmxTdHIiLCJ1cmwiLCJVUkwiLCJlcnIiLCJwYXRobmFtZSIsInNlYXJjaCIsImxlZ2FjeUtleSIsImxlZ2FjeVZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIndpbmRvdyIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJlbnRyeUxpc3QiLCJlbnRyeSIsImdldEVudHJpZXMiLCJpbWdTcmMiLCJlbGVtZW50IiwibGNwSW1hZ2UiLCJnZXQiLCJvYnNlcnZlIiwidHlwZSIsImJ1ZmZlcmVkIiwiY29uc29sZSIsImVycm9yIiwiaW1nU3R5bGUiLCJhc3NpZ24iLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJjb2xvciIsImJhY2tncm91bmRJbWFnZSIsImdldEltYWdlQmx1clN2ZyIsInBsYWNlaG9sZGVyU3R5bGUiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRQb3NpdGlvbiIsImJhY2tncm91bmRSZXBlYXQiLCJpbWdBdHRyaWJ1dGVzIiwiZnVsbFVybCIsImUiLCJsb2NhdGlvbiIsImhyZWYiLCJzZXQiLCJwcm9wcyIsImRlY29kaW5nIiwibWV0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\n_c = Head;\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\nvar _c;\n$RefreshReg$(_c, \"Head\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oZWFkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBcU1BQSxTQUFtQjs7O0lBeExIQztpQkFBQUE7Ozs7Ozs7OzJEQVRnQkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTs7eUNBRUpBLG1CQUFBQSxDQUFBOztBQU9yQixNQUFBQyxZQUFTSCxtQkFBQUEsQ0FBWUkscUdBQUFBO1NBQUFBLFlBQUFBLFNBQUFBO0lBQzFCLElBQUFBLGNBQWEsUUFBQUEsWUFBQTs7bUJBQU9DLEdBQVEsSUFBQUMsWUFBQUMsR0FBQTs7UUFBVztLQUN2QztRQUNFQyxDQUFBQSxXQUFTO2FBQU9DLElBQUFBLENBQUssa0JBQUFILFlBQUFDLEdBQUE7WUFBV0csTUFBQUE7O1FBQ2xDO0lBQ0E7SUFDRixPQUFBRjtBQUVBO1NBSUVHLGlCQUFBQyxJQUFBLEVBQUFDLEtBQUE7SUFDQSw4RkFBNEQ7UUFDMUQsT0FBT0QsVUFBQUEsWUFBQUEsT0FBQUEsVUFBQUEsVUFBQUE7UUFDVCxPQUFBQTtJQUNBO0lBQ0Esa0NBQXlCRTtRQUN2QkQsTUFBQUUsSUFBT0gsS0FBS0ksT0FDVkMsT0FBQSxDQUFBSCxRQUFBO1FBQ0FJLE9BQUFBLEtBQUFBLE1BQU1DLENBRUpDLE9BQ0VDLE9BQUFBLENBQ0FDLFFBQUFBLENBQUFBLE9BQUFBLENBQUFBLE1BQUFBLEtBQUFBLENBQUFBLFFBQUFBLEVBQUFBLE1BQUFBLGdCQUdTQTtnQkFHUCxPQUFPRCxrQkFBQUEsWUFBQUEsT0FBQUEsa0JBQUFBLFVBQUFBO2dCQUNULE9BQUFBO1lBQ0E7WUFFRixPQUFFQSxhQUFBTCxNQUFBLENBQUFNO1FBR1I7SUFDQTtJQUNGLE9BQUFWLEtBQUFJLE1BQUEsQ0FBQUg7QUFFQTtNQUFtQlUsWUFBQTtJQUFRO0lBQWE7SUFBVztJQUFXO0NBRTlEOzs7OztZQU1RQztJQUNOLE1BQU1DLE9BQU8sSUFBSUM7SUFDakIsTUFB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QSxDQUNFLEdBQUF6QyxPQUFBd0MsVUFBQSxFQUFDRyxpQ0FBTUQsa0JBQUE7V0FDTEUsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBeUJDLEdBQUFBLEVBQUFBLFlBQUFBLE9BQUFBLEVBQUFBO1FBQ3pCSix5QkFBYUE7UUFDYnpELGFBQVc4RDttQkFFVlQsQ0FBQUEsR0FBQUEsU0FBQUEsV0FBQUEsRUFBQUE7O0lBR1A7O0tBWmdCQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaGVhZC50c3g/MzY3MCJdLCJuYW1lcyI6WyJleHBvcnRzIiwiZGVmYXVsdEhlYWQiLCJfIiwicmVxdWlyZSIsIl93YXJub25jZSIsImluQW1wTW9kZSIsImNoYXJTZXQiLCJfanN4cnVudGltZSIsImpzeCIsImhlYWQiLCJuYW1lIiwiY29udGVudCIsIm9ubHlSZWFjdEVsZW1lbnQiLCJsaXN0IiwiY2hpbGQiLCJGcmFnbWVudCIsInR5cGUiLCJjb25jYXQiLCJkZWZhdWx0IiwiUmVhY3QiLCJDaGlsZHJlbiIsIl9yZWFjdCIsImZyYWdtZW50TGlzdCIsImZyYWdtZW50Q2hpbGQiLCJNRVRBVFlQRVMiLCJrZXlzIiwidGFncyIsIlNldCIsIm1ldGFUeXBlcyIsIm1ldGFDYXRlZ29yaWVzIiwiaCIsImlzVW5pcXVlIiwiaGFzS2V5Iiwia2V5IiwiaW5kZXhPZiIsImFkZCIsImkiLCJtZXRhdHlwZSIsImxlbiIsImhhc093blByb3BlcnR5IiwiY2F0ZWdvcmllcyIsImhhcyIsImNhdGVnb3J5IiwicHJvcHMiLCJoZWFkQ2hpbGRyZW5FbGVtZW50cyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImMiLCJfX05FWFRfT1BUSU1JWkVfRk9OVFMiLCJzb21lIiwidXJsIiwibmV3UHJvcHMiLCJzdGFydHNXaXRoIiwidW5kZWZpbmVkIiwiY2xvbmVFbGVtZW50Iiwic3JjTWVzc2FnZSIsIndhcm5PbmNlIiwiY2hpbGRyZW4iLCJwYXJhbSIsImFtcFN0YXRlIiwidXNlQ29udGV4dCIsImhlYWRNYW5hZ2VyIiwiSGVhZE1hbmFnZXJDb250ZXh0IiwiRWZmZWN0IiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJyZWR1Y2VDb21wb25lbnRzIiwiaXNJbkFtcE1vZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-blur-svg.js ***! - \*************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImageBlurSvg\", ({\n enumerable: true,\n get: function() {\n return getImageBlurSvg;\n }\n}));\nfunction getImageBlurSvg(param) {\n let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL, objectFit } = param;\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n const viewBox = svgWidth && svgHeight ? \"viewBox='0 0 \" + svgWidth + \" \" + svgHeight + \"'\" : \"\";\n const preserveAspectRatio = viewBox ? \"none\" : objectFit === \"contain\" ? \"xMidYMid\" : objectFit === \"cover\" ? \"xMidYMid slice\" : \"none\";\n return \"%3Csvg xmlns='http://www.w3.org/2000/svg' \" + viewBox + \"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='\" + preserveAspectRatio + \"' style='filter: url(%23b);' href='\" + blurDataURL + \"'/%3E%3C/svg%3E\";\n} //# sourceMappingURL=image-blur-svg.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OzttREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsZ0JBQWdCQyxLQWMvQjtJQWQrQixNQUM5QkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLFNBQVMsRUFDVEMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLFNBQVMsRUFRVixHQWQrQk47SUFlOUIsTUFBTU8sTUFBTTtJQUNaLE1BQU1DLFdBQVdMLFlBQVlBLFlBQVksS0FBS0Y7SUFDOUMsTUFBTVEsWUFBWUwsYUFBYUEsYUFBYSxLQUFLRjtJQUVqRCxNQUFNUSxVQUNKRixZQUFZQyxZQUFZLGtCQUFnQkQsV0FBUyxNQUFHQyxZQUFVLE1BQUs7SUFDckUsTUFBTUUsc0JBQXNCRCxVQUN4QixTQUNBSixjQUFjLFlBQ2QsYUFDQUEsY0FBYyxVQUNkLG1CQUNBO0lBRUosT0FBTywrQ0FBNkNJLFVBQVEsOEZBQTJGSCxNQUFJLG9RQUFpUUEsTUFBSSxnR0FBNkZJLHNCQUFvQix3Q0FBcUNOLGNBQVk7QUFDcGtCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy50cz9jNzljIl0sIm5hbWVzIjpbImdldEltYWdlQmx1clN2ZyIsInBhcmFtIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0IiwiYmx1ckRhdGFVUkwiLCJvYmplY3RGaXQiLCJzdGQiLCJzdmdXaWR0aCIsInN2Z0hlaWdodCIsInZpZXdCb3giLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageConfigContext\", ({\n enumerable: true,\n get: function() {\n return ImageConfigContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst ImageConfigContext = _react.default.createContext(_imageconfig.imageConfigDefault);\nif (true) {\n ImageConfigContext.displayName = \"ImageConfigContext\";\n} //# sourceMappingURL=image-config-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUlhQTs7O2VBQUFBOzs7OzRFQUpLO3lDQUVpQjtBQUU1QixNQUFNQSxxQkFDWEMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQXNCQyxhQUFBQSxrQkFBa0I7QUFFN0QsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0osbUJBQW1CSyxXQUFXLEdBQUc7QUFDbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy1jb250ZXh0LnNoYXJlZC1ydW50aW1lLnRzPzNkNzUiXSwibmFtZXMiOlsiSW1hZ2VDb25maWdDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwiaW1hZ2VDb25maWdEZWZhdWx0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLGVBQWE7ZUFBYkE7O0lBc0dBQyxvQkFBa0I7ZUFBbEJBOzs7QUF0R04sTUFBTUQsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQWdHTSxNQUFNQyxxQkFBMEM7SUFDckRDLGFBQWE7UUFBQztRQUFLO1FBQUs7UUFBSztRQUFNO1FBQU07UUFBTTtRQUFNO0tBQUs7SUFDMURDLFlBQVk7UUFBQztRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUk7UUFBSztRQUFLO0tBQUk7SUFDL0NDLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFNBQVMsRUFBRTtJQUNYQyxxQkFBcUI7SUFDckJDLGlCQUFpQjtJQUNqQkMsU0FBUztRQUFDO0tBQWE7SUFDdkJDLHFCQUFxQjtJQUNyQkMsdUJBQXdCO0lBQ3hCQyx3QkFBd0I7SUFDeEJDLGdCQUFnQixFQUFFO0lBQ2xCQyxhQUFhO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy50cz8xMzRhIl0sIm5hbWVzIjpbIlZBTElEX0xPQURFUlMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJkZXZpY2VTaXplcyIsImltYWdlU2l6ZXMiLCJwYXRoIiwibG9hZGVyIiwibG9hZGVyRmlsZSIsImRvbWFpbnMiLCJkaXNhYmxlU3RhdGljSW1hZ2VzIiwibWluaW11bUNhY2hlVFRMIiwiZm9ybWF0cyIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJjb250ZW50U2VjdXJpdHlQb2xpY3kiLCJjb250ZW50RGlzcG9zaXRpb25UeXBlIiwicmVtb3RlUGF0dGVybnMiLCJ1bm9wdGltaXplZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-external.js ***! - \*************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n getImageProps: function() {\n return getImageProps;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getimgprops = __webpack_require__(/*! ./get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imagecomponent = __webpack_require__(/*! ../../client/image-component */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\nfunction getImageProps(imgProps) {\n const { props } = (0, _getimgprops.getImgProps)(imgProps, {\n defaultLoader: _imageloader.default,\n // This is replaced by webpack define plugin\n imgConf: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]}\n });\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)){\n if (value === undefined) {\n delete props[key];\n }\n }\n return {\n props\n };\n}\nconst _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ0FBLFNBQW9CO2VBQXBCQzs7SUFqQmdCQyxlQUFhO2VBQWJBOzs7O3lDQWJZOzRDQUNOO2tGQUdJO0FBU25CLFNBQVNBLGNBQWNDLFFBQW9CO0lBQ2hELE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLGFBQUFBLFdBQVcsRUFBQ0YsVUFBVTtRQUN0Q0csZUFBQUEsYUFBQUEsT0FBYTtRQUNiLDRDQUE0QztRQUM1Q0MsU0FBU0MsME5BQTZCO0lBQ3hDO0lBQ0EsdUVBQXVFO0lBQ3ZFLHdFQUF3RTtJQUN4RSx3REFBd0Q7SUFDeEQsS0FBSyxNQUFNLENBQUNHLEtBQUtDLE1BQU0sSUFBSUMsT0FBT0MsT0FBTyxDQUFDVixPQUFRO1FBQ2hELElBQUlRLFVBQVVHLFdBQVc7WUFDdkIsT0FBT1gsS0FBSyxDQUFDTyxJQUEwQjtRQUN6QztJQUNGO0lBQ0EsT0FBTztRQUFFUDtJQUFNO0FBQ2pCO01BRUFILFdBQWVlLGdCQUFBQSxLQUFLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC50c3g/MzgyNiJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiX2RlZmF1bHQiLCJnZXRJbWFnZVByb3BzIiwiaW1nUHJvcHMiLCJwcm9wcyIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsImltZ0NvbmYiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0lNQUdFX09QVFMiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJJbWFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-loader.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nfunction defaultLoader(param) {\n let { config, src, width, quality } = param;\n if (true) {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push(\"src\");\n if (!width) missingValues.push(\"width\");\n if (missingValues.length > 0) {\n throw new Error(\"Next Image Optimization requires \" + missingValues.join(\", \") + \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \" + JSON.stringify({\n src,\n width,\n quality\n }));\n }\n if (src.startsWith(\"//\")) {\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)');\n }\n if (!src.startsWith(\"/\") && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)');\n }\n if (true) {\n // We use dynamic require because this should only error in development\n const { hasMatch } = __webpack_require__(/*! ./match-remote-pattern */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\");\n if (!hasMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\"Invalid src prop (\" + src + ') on `next/image`, hostname \"' + parsedSrc.hostname + '\" is not configured under images in your `next.config.js`\\n' + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host\");\n }\n }\n }\n }\n return config.path + \"?url=\" + encodeURIComponent(src) + \"&w=\" + width + \"&q=\" + (quality || 75) + ( false ? 0 : \"\");\n}\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true;\nconst _default = defaultLoader; //# sourceMappingURL=image-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0F3RUE7OztlQUFBQTs7O0FBdEVBLFNBQVNDLGNBQWNDLEtBS007SUFMTixNQUNyQkMsTUFBTSxFQUNOQyxHQUFHLEVBQ0hDLEtBQUssRUFDTEMsT0FBTyxFQUNvQixHQUxOSjtJQU1yQixJQUFJSyxJQUF5QixFQUFjO1FBQ3pDLE1BQU1DLGdCQUFnQixFQUFFO1FBRXhCLHlEQUF5RDtRQUN6RCxJQUFJLENBQUNKLEtBQUtJLGNBQWNDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUNKLE9BQU9HLGNBQWNDLElBQUksQ0FBQztRQUUvQixJQUFJRCxjQUFjRSxNQUFNLEdBQUcsR0FBRztZQUM1QixNQUFNLElBQUlDLE1BQ1Isc0NBQW9DSCxjQUFjSSxJQUFJLENBQ3BELFFBQ0EsZ0dBQStGQyxLQUFLQyxTQUFTLENBQzdHO2dCQUFFVjtnQkFBS0M7Z0JBQU9DO1lBQVE7UUFHNUI7UUFFQSxJQUFJRixJQUFJVyxVQUFVLENBQUMsT0FBTztZQUN4QixNQUFNLElBQUlKLE1BQ1IsMEJBQXdCUCxNQUFJO1FBRWhDO1FBRUEsSUFBSSxDQUFDQSxJQUFJVyxVQUFVLENBQUMsUUFBU1osQ0FBQUEsT0FBT2EsT0FBTyxJQUFJYixPQUFPYyxjQUFjLEdBQUc7WUFDckUsSUFBSUM7WUFDSixJQUFJO2dCQUNGQSxZQUFZLElBQUlDLElBQUlmO1lBQ3RCLEVBQUUsT0FBT2dCLEtBQUs7Z0JBQ1pDLFFBQVFDLEtBQUssQ0FBQ0Y7Z0JBQ2QsTUFBTSxJQUFJVCxNQUNSLDBCQUF3QlAsTUFBSTtZQUVoQztZQUVBLElBQ0VHLElBRTZCLEVBQzdCO2dCQUNBLHVFQUF1RTtnQkFDdkUsTUFBTSxFQUFFa0IsUUFBUSxFQUFFLEdBQUdDLG1CQUFBQSxDQUFRO2dCQUM3QixJQUFJLENBQUNELFNBQVN0QixPQUFPYSxPQUFPLEVBQUViLE9BQU9jLGNBQWMsRUFBRUMsWUFBWTtvQkFDL0QsTUFBTSxJQUFJUCxNQUNSLHVCQUFxQlAsTUFBSSxrQ0FBaUNjLFVBQVVTLFFBQVEsR0FBQyxnRUFDMUU7Z0JBRVA7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxPQUFPeEIsT0FBVXlCLElBQUksR0FBQyxVQUFPQyxtQkFBbUJ6QixPQUFLLFFBQUtDLFFBQU0sUUFDOURDLENBQUFBLFdBQVcsTUFFWEMsQ0FBQUEsTUFBOEIsR0FDMUIsQ0FBc0MsR0FDdEM7QUFFUjtBQUVBLCtEQUErRDtBQUMvRCwyREFBMkQ7QUFDM0ROLGNBQWM4QixrQkFBa0IsR0FBRztNQUVuQy9CLFdBQWVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIudHM/ZDI4MCJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsImRlZmF1bHRMb2FkZXIiLCJwYXJhbSIsImNvbmZpZyIsInNyYyIsIndpZHRoIiwicXVhbGl0eSIsInByb2Nlc3MiLCJtaXNzaW5nVmFsdWVzIiwicHVzaCIsImxlbmd0aCIsIkVycm9yIiwiam9pbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydHNXaXRoIiwiZG9tYWlucyIsInJlbW90ZVBhdHRlcm5zIiwicGFyc2VkU3JjIiwiVVJMIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiaGFzTWF0Y2giLCJyZXF1aXJlIiwiaG9zdG5hbWUiLCJwYXRoIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiX19uZXh0X2ltZ19kZWZhdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/match-remote-pattern.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hasMatch: function() {\n return hasMatch;\n },\n matchRemotePattern: function() {\n return matchRemotePattern;\n }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\");\nfunction matchRemotePattern(pattern, url) {\n if (pattern.protocol !== undefined) {\n const actualProto = url.protocol.slice(0, -1);\n if (pattern.protocol !== actualProto) {\n return false;\n }\n }\n if (pattern.port !== undefined) {\n if (pattern.port !== url.port) {\n return false;\n }\n }\n if (pattern.hostname === undefined) {\n throw new Error(\"Pattern should define hostname but found\\n\" + JSON.stringify(pattern));\n } else {\n if (!(0, _picomatch.makeRe)(pattern.hostname).test(url.hostname)) {\n return false;\n }\n }\n var _pattern_pathname;\n if (!(0, _picomatch.makeRe)((_pattern_pathname = pattern.pathname) != null ? _pattern_pathname : \"**\", {\n dot: true\n }).test(url.pathname)) {\n return false;\n }\n return true;\n}\nfunction hasMatch(domains, remotePatterns, url) {\n return domains.some((domain)=>url.hostname === domain) || remotePatterns.some((p)=>matchRemotePattern(p, url));\n} //# sourceMappingURL=match-remote-pattern.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ2dCQSxVQUFRO2VBQVJBOztJQTlCQUMsb0JBQWtCO2VBQWxCQTs7O3VDQUZPO0FBRWhCLFNBQVNBLG1CQUFtQkMsT0FBc0IsRUFBRUMsR0FBUTtJQUNqRSxJQUFJRCxRQUFRRSxRQUFRLEtBQUtDLFdBQVc7UUFDbEMsTUFBTUMsY0FBY0gsSUFBSUMsUUFBUSxDQUFDRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzNDLElBQUlMLFFBQVFFLFFBQVEsS0FBS0UsYUFBYTtZQUNwQyxPQUFPO1FBQ1Q7SUFDRjtJQUNBLElBQUlKLFFBQVFNLElBQUksS0FBS0gsV0FBVztRQUM5QixJQUFJSCxRQUFRTSxJQUFJLEtBQUtMLElBQUlLLElBQUksRUFBRTtZQUM3QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlOLFFBQVFPLFFBQVEsS0FBS0osV0FBVztRQUNsQyxNQUFNLElBQUlLLE1BQ1IsK0NBQTZDQyxLQUFLQyxTQUFTLENBQUNWO0lBRWhFLE9BQU87UUFDTCxJQUFJLENBQUNXLENBQUFBLEdBQUFBLFdBQUFBLE1BQU0sRUFBQ1gsUUFBUU8sUUFBUSxFQUFFSyxJQUFJLENBQUNYLElBQUlNLFFBQVEsR0FBRztZQUNoRCxPQUFPO1FBQ1Q7SUFDRjtRQUVZUDtJQUFaLElBQUksQ0FBQ1csQ0FBQUEsR0FBQUEsV0FBQUEsTUFBTSxFQUFDWCxDQUFBQSxvQkFBQUEsUUFBUWEsUUFBUSxZQUFoQmIsb0JBQW9CLE1BQU07UUFBRWMsS0FBSztJQUFLLEdBQUdGLElBQUksQ0FBQ1gsSUFBSVksUUFBUSxHQUFHO1FBQ3ZFLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVPLFNBQVNmLFNBQ2RpQixPQUFpQixFQUNqQkMsY0FBK0IsRUFDL0JmLEdBQVE7SUFFUixPQUNFYyxRQUFRRSxJQUFJLENBQUMsQ0FBQ0MsU0FBV2pCLElBQUlNLFFBQVEsS0FBS1csV0FDMUNGLGVBQWVDLElBQUksQ0FBQyxDQUFDRSxJQUFNcEIsbUJBQW1Cb0IsR0FBR2xCO0FBRXJEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi50cz9kNjFkIl0sIm5hbWVzIjpbImhhc01hdGNoIiwibWF0Y2hSZW1vdGVQYXR0ZXJuIiwicGF0dGVybiIsInVybCIsInByb3RvY29sIiwidW5kZWZpbmVkIiwiYWN0dWFsUHJvdG8iLCJzbGljZSIsInBvcnQiLCJob3N0bmFtZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VSZSIsInRlc3QiLCJwYXRobmFtZSIsImRvdCIsImRvbWFpbnMiLCJyZW1vdGVQYXR0ZXJucyIsInNvbWUiLCJkb21haW4iLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***! - \****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUdhQTs7O2VBQUFBOzs7OzRFQUhLO0FBR1gsTUFBTUEsZ0JBQWdCQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBb0I7QUFFcEUsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0gsY0FBY0ksV0FBVyxHQUFHO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz82MzZjIl0sIm5hbWVzIjpbIlJvdXRlckNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUM7QUFDdkMsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsZ0VBQWdFO0FBQ2hFLHNFQUFzRTtBQUN0RSxzRUFBc0U7QUFDdEUsNEVBQTRFO0FBQzVFLHFFQUFxRTtBQUNyRSx3QkFBd0I7QUFDeEIsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSx5REFBeUQ7QUFDekQsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSw2REFBNkQ7QUFDN0QsNEVBQTRFO0FBQzVFLDJFQUEyRTtBQUMzRSx3RUFBd0U7QUFDeEUsNEVBQTRFO0FBQzVFLHlDQUF5Qzs7Ozs7Ozs7Ozs7OztJQVF6QkEsV0FBUztlQUFUQTs7SUE2REFDLHNCQUFvQjtlQUFwQkE7O0lBZkhDLGVBQWE7ZUFBYkE7Ozs7bUZBbERnQjtBQUU3QixNQUFNQyxtQkFBbUI7QUFFbEIsU0FBU0gsVUFBVUksTUFBaUI7SUFDekMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFHRjtJQUN6QixJQUFJRyxXQUFXSCxPQUFPRyxRQUFRLElBQUk7SUFDbEMsSUFBSUMsV0FBV0osT0FBT0ksUUFBUSxJQUFJO0lBQ2xDLElBQUlDLE9BQU9MLE9BQU9LLElBQUksSUFBSTtJQUMxQixJQUFJQyxRQUFRTixPQUFPTSxLQUFLLElBQUk7SUFDNUIsSUFBSUMsT0FBdUI7SUFFM0JOLE9BQU9BLE9BQU9PLG1CQUFtQlAsTUFBTVEsT0FBTyxDQUFDLFFBQVEsT0FBTyxNQUFNO0lBRXBFLElBQUlULE9BQU9PLElBQUksRUFBRTtRQUNmQSxPQUFPTixPQUFPRCxPQUFPTyxJQUFJO0lBQzNCLE9BQU8sSUFBSUwsVUFBVTtRQUNuQkssT0FBT04sT0FBUSxFQUFDQyxTQUFTUSxPQUFPLENBQUMsT0FBTyxNQUFJUixXQUFTLE1BQUtBLFFBQUFBO1FBQzFELElBQUlGLE9BQU9XLElBQUksRUFBRTtZQUNmSixRQUFRLE1BQU1QLE9BQU9XLElBQUk7UUFDM0I7SUFDRjtJQUVBLElBQUlMLFNBQVMsT0FBT0EsVUFBVSxVQUFVO1FBQ3RDQSxRQUFRTSxPQUFPQyxhQUFZQyxzQkFBc0IsQ0FBQ1I7SUFDcEQ7SUFFQSxJQUFJUyxTQUFTZixPQUFPZSxNQUFNLElBQUtULFNBQVMsTUFBSUEsU0FBWTtJQUV4RCxJQUFJSCxZQUFZLENBQUNBLFNBQVNhLFFBQVEsQ0FBQyxNQUFNYixZQUFZO0lBRXJELElBQ0VILE9BQU9pQixPQUFPLElBQ2IsQ0FBQyxDQUFDZCxZQUFZSixpQkFBaUJtQixJQUFJLENBQUNmLFNBQUFBLEtBQWNJLFNBQVMsT0FDNUQ7UUFDQUEsT0FBTyxPQUFRQSxDQUFBQSxRQUFRO1FBQ3ZCLElBQUlILFlBQVlBLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBS0EsV0FBVyxNQUFNQTtJQUN4RCxPQUFPLElBQUksQ0FBQ0csTUFBTTtRQUNoQkEsT0FBTztJQUNUO0lBRUEsSUFBSUYsUUFBUUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxPQUFPLE1BQU1BO0lBQzFDLElBQUlVLFVBQVVBLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBS0EsU0FBUyxNQUFNQTtJQUVoRFgsV0FBV0EsU0FBU0ssT0FBTyxDQUFDLFNBQVNEO0lBQ3JDTyxTQUFTQSxPQUFPTixPQUFPLENBQUMsS0FBSztJQUU3QixPQUFPLEtBQUdOLFdBQVdJLE9BQU9ILFdBQVdXLFNBQVNWO0FBQ2xEO0FBRU8sTUFBTVAsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sU0FBU0QscUJBQXFCc0IsR0FBYztJQUNqRCxJQUFJQyxJQUF5QixFQUFlO1FBQzFDLElBQUlELFFBQVEsUUFBUSxPQUFPQSxRQUFRLFVBQVU7WUFDM0NFLE9BQU9DLElBQUksQ0FBQ0gsS0FBS0ksT0FBTyxDQUFDLENBQUNDO2dCQUN4QixJQUFJLENBQUMxQixjQUFjMkIsUUFBUSxDQUFDRCxNQUFNO29CQUNoQ0UsUUFBUUMsSUFBSSxDQUNWLHVEQUFxREg7Z0JBRXpEO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBTzVCLFVBQVV1QjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwudHM/MWI4NyJdLCJuYW1lcyI6WyJmb3JtYXRVcmwiLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybE9iamVjdEtleXMiLCJzbGFzaGVkUHJvdG9jb2xzIiwidXJsT2JqIiwiYXV0aCIsImhvc3RuYW1lIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsImhvc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwiaW5kZXhPZiIsInBvcnQiLCJTdHJpbmciLCJxdWVyeXN0cmluZyIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2giLCJlbmRzV2l0aCIsInNsYXNoZXMiLCJ0ZXN0IiwidXJsIiwicHJvY2VzcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaW5jbHVkZXMiLCJjb25zb2xlIiwid2FybiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQVNBLGlCQUFlO2VBQWZBLGNBQUFBLGVBQWU7O0lBQ2ZDLGdCQUFjO2VBQWRBLFdBQUFBLGNBQWM7OzswQ0FEUzt1Q0FDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LnRzPzcyZDUiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFLZ0JBOzs7ZUFBQUE7OzswQ0FIZ0I7d0NBQ0Y7QUFFdkIsU0FBU0EsY0FDZEMsS0FBYSxFQUNiQyxVQUFrQixFQUNsQkMsS0FBcUI7SUFFckIsSUFBSUMsb0JBQW9CO0lBRXhCLE1BQU1DLGVBQWVDLENBQUFBLEdBQUFBLFlBQUFBLGFBQWEsRUFBQ0w7SUFDbkMsTUFBTU0sZ0JBQWdCRixhQUFhRyxNQUFNO0lBQ3pDLE1BQU1DLGlCQUVIUCxDQUFBQSxlQUFlRCxRQUFRUyxDQUFBQSxHQUFBQSxjQUFBQSxlQUFlLEVBQUNMLGNBQWNILGNBQWMsT0FDcEUsZ0RBQWdEO0lBQ2hELHNFQUFzRTtJQUN0RUM7SUFFRkMsb0JBQW9CSDtJQUNwQixNQUFNVSxTQUFTQyxPQUFPQyxJQUFJLENBQUNOO0lBRTNCLElBQ0UsQ0FBQ0ksT0FBT0csS0FBSyxDQUFDLENBQUNDO1FBQ2IsSUFBSUMsUUFBUVAsY0FBYyxDQUFDTSxNQUFNLElBQUk7UUFDckMsTUFBTSxFQUFFRSxNQUFNLEVBQUVDLFFBQVEsRUFBRSxHQUFHWCxhQUFhLENBQUNRLE1BQU07UUFFakQsaUNBQWlDO1FBQ2pDLDBEQUEwRDtRQUMxRCxJQUFJSSxXQUFXLE1BQUlGLENBQUFBLFNBQVMsUUFBUSxNQUFLRixRQUFNO1FBQy9DLElBQUlHLFVBQVU7WUFDWkMsV0FBVyxDQUFHLENBQUNILFFBQVEsTUFBTSxNQUFHLE1BQUdHLFdBQVM7UUFDOUM7UUFDQSxJQUFJRixVQUFVLENBQUNHLE1BQU1DLE9BQU8sQ0FBQ0wsUUFBUUEsUUFBUTtZQUFDQTtTQUFNO1FBRXBELE9BQ0UsQ0FBQ0UsWUFBWUgsU0FBU04sY0FBQUEsS0FDdEIsNkNBQTZDO1FBQzVDTCxDQUFBQSxvQkFDQ0Esa0JBQW1Ca0IsT0FBTyxDQUN4QkgsVUFDQUYsU0FDSUQsTUFDR08sR0FBRyxDQUVGLHVEQUF1RDtRQUN2RCxrREFBa0Q7UUFDbEQsb0NBQW9DO1FBQ3BDLENBQUNDLFVBQVlDLG1CQUFtQkQsVUFFakNFLElBQUksQ0FBQyxPQUNSRCxtQkFBbUJULFdBQ3BCO0lBRVgsSUFDQTtRQUNBWixvQkFBb0IsR0FBRyxtQ0FBbUM7O0lBRTFELHVFQUF1RTtJQUN2RSxrREFBa0Q7SUFDcEQ7SUFDQSxPQUFPO1FBQ0xPO1FBQ0FnQixRQUFRdkI7SUFDVjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMudHM/OWUzMSJdLCJuYW1lcyI6WyJpbnRlcnBvbGF0ZUFzIiwicm91dGUiLCJhc1BhdGhuYW1lIiwicXVlcnkiLCJpbnRlcnBvbGF0ZWRSb3V0ZSIsImR5bmFtaWNSZWdleCIsImdldFJvdXRlUmVnZXgiLCJkeW5hbWljR3JvdXBzIiwiZ3JvdXBzIiwiZHluYW1pY01hdGNoZXMiLCJnZXRSb3V0ZU1hdGNoZXIiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZXZlcnkiLCJwYXJhbSIsInZhbHVlIiwicmVwZWF0Iiwib3B0aW9uYWwiLCJyZXBsYWNlZCIsIkFycmF5IiwiaXNBcnJheSIsInJlcGxhY2UiLCJtYXAiLCJzZWdtZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsInJlc3VsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVFnQkE7OztlQUFBQTs7O2dEQUxUO0FBRVAscUNBQXFDO0FBQ3JDLE1BQU1DLGFBQWE7QUFFWixTQUFTRCxlQUFlRSxLQUFhO0lBQzFDLElBQUlDLENBQUFBLEdBQUFBLG9CQUFBQSwwQkFBMEIsRUFBQ0QsUUFBUTtRQUNyQ0EsUUFBUUUsQ0FBQUEsR0FBQUEsb0JBQUFBLG1DQUFtQyxFQUFDRixPQUFPRyxnQkFBZ0I7SUFDckU7SUFFQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy50cz84MmRjIl0sIm5hbWVzIjpbImlzRHluYW1pY1JvdXRlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OENBTWdCQTs7O2VBQUFBOzs7bUNBTmlDO3lDQUNyQjtBQUtyQixTQUFTQSxXQUFXQyxHQUFXO0lBQ3BDLGdFQUFnRTtJQUNoRSxJQUFJLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGFBQWEsRUFBQ0QsTUFBTSxPQUFPO0lBQ2hDLElBQUk7UUFDRiw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCQyxDQUFBQSxHQUFBQSxPQUFBQSxpQkFBaUI7UUFDeEMsTUFBTUMsV0FBVyxJQUFJQyxJQUFJTCxLQUFLRTtRQUM5QixPQUFPRSxTQUFTRSxNQUFNLEtBQUtKLGtCQUFrQkssQ0FBQUEsR0FBQUEsYUFBQUEsV0FBVyxFQUFDSCxTQUFTSSxRQUFRO0lBQzVFLEVBQUUsT0FBT0MsR0FBRztRQUNWLE9BQU87SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLnRzPzA0ZTUiXSwibmFtZXMiOlsiaXNMb2NhbFVSTCIsInVybCIsImlzQWJzb2x1dGVVcmwiLCJsb2NhdGlvbk9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWQiLCJVUkwiLCJvcmlnaW4iLCJoYXNCYXNlUGF0aCIsInBhdGhuYW1lIiwiXyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3dDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsS0FDZEMsTUFBUyxFQUNUQyxJQUFTO0lBRVQsTUFBTUMsVUFBc0MsQ0FBQztJQUM3Q0MsT0FBT0YsSUFBSSxDQUFDRCxRQUFRSSxPQUFPLENBQUMsQ0FBQ0M7UUFDM0IsSUFBSSxDQUFDSixLQUFLSyxRQUFRLENBQUNELE1BQVc7WUFDNUJILE9BQU8sQ0FBQ0csSUFBSSxHQUFHTCxNQUFNLENBQUNLLElBQUk7UUFDNUI7SUFDRjtJQUNBLE9BQU9IO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9vbWl0LnRzP2I3YTgiXSwibmFtZXMiOlsib21pdCIsIm9iamVjdCIsImtleXMiLCJvbWl0dGVkIiwiT2JqZWN0IiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNENnQkEsUUFBTTtlQUFOQTs7SUExQ0FDLHdCQUFzQjtlQUF0QkE7O0lBNEJBQyx3QkFBc0I7ZUFBdEJBOzs7QUE1QlQsU0FBU0QsdUJBQ2RFLFlBQTZCO0lBRTdCLE1BQU1DLFFBQXdCLENBQUM7SUFDL0JELGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQztRQUMzQixJQUFJLE9BQU9ILEtBQUssQ0FBQ0csSUFBSSxLQUFLLGFBQWE7WUFDckNILEtBQUssQ0FBQ0csSUFBSSxHQUFHRDtRQUNmLE9BQU8sSUFBSUUsTUFBTUMsT0FBTyxDQUFDTCxLQUFLLENBQUNHLElBQUksR0FBRztZQUNsQ0gsS0FBSyxDQUFDRyxJQUFJLENBQWNHLElBQUksQ0FBQ0o7UUFDakMsT0FBTztZQUNMRixLQUFLLENBQUNHLElBQUksR0FBRztnQkFBQ0gsS0FBSyxDQUFDRyxJQUFJO2dCQUFZRDthQUFNO1FBQzVDO0lBQ0Y7SUFDQSxPQUFPRjtBQUNUO0FBRUEsU0FBU08sdUJBQXVCQyxLQUFjO0lBQzVDLElBQ0UsT0FBT0EsVUFBVSxZQUNoQixPQUFPQSxVQUFVLFlBQVksQ0FBQ0MsTUFBTUQsVUFDckMsT0FBT0EsVUFBVSxXQUNqQjtRQUNBLE9BQU9FLE9BQU9GO0lBQ2hCLE9BQU87UUFDTCxPQUFPO0lBQ1Q7QUFDRjtBQUVPLFNBQVNWLHVCQUNkYSxRQUF3QjtJQUV4QixNQUFNQyxTQUFTLElBQUlDO0lBQ25CQyxPQUFPQyxPQUFPLENBQUNKLFVBQVVWLE9BQU8sQ0FBQyxDQUFBTztZQUFDLENBQUNMLEtBQUtELE1BQU0sR0FBQU07UUFDNUMsSUFBSUosTUFBTUMsT0FBTyxDQUFDSCxRQUFRO1lBQ3hCQSxNQUFNRCxPQUFPLENBQUMsQ0FBQ2UsT0FBU0osT0FBT0ssTUFBTSxDQUFDZCxLQUFLSSx1QkFBdUJTO1FBQ3BFLE9BQU87WUFDTEosT0FBT00sR0FBRyxDQUFDZixLQUFLSSx1QkFBdUJMO1FBQ3pDO0lBQ0Y7SUFDQSxPQUFPVTtBQUNUO0FBRU8sU0FBU2hCLE9BQ2R1QixNQUF1QjtJQUN2QixRQUFBQyxPQUFBQyxVQUFBQyxNQUFBLEVBQUFDLG1CQUFBLElBQUFuQixNQUFBZ0IsT0FBQSxJQUFBQSxPQUFBLFFBQUFJLE9BQUEsR0FBQUEsT0FBQUosTUFBQUksT0FBQTtRQUFHRCxnQkFBQUEsQ0FBSEMsT0FBQSxLQUFBSCxTQUFBLENBQUFHLEtBQXNDOztJQUV0Q0QsaUJBQWlCdEIsT0FBTyxDQUFDLENBQUNGO1FBQ3hCSyxNQUFNcUIsSUFBSSxDQUFDMUIsYUFBYTJCLElBQUksSUFBSXpCLE9BQU8sQ0FBQyxDQUFDRSxNQUFRZ0IsT0FBT1EsTUFBTSxDQUFDeEI7UUFDL0RKLGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQyxNQUFRZ0IsT0FBT0YsTUFBTSxDQUFDZCxLQUFLRDtJQUMxRDtJQUNBLE9BQU9pQjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcudHM/ODJmYSJdLCJuYW1lcyI6WyJhc3NpZ24iLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsInZhbHVlIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwidXJsUXVlcnkiLCJyZXN1bHQiLCJVUkxTZWFyY2hQYXJhbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaXRlbSIsImFwcGVuZCIsInNldCIsInRhcmdldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZWFyY2hQYXJhbXNMaXN0IiwiX2tleSIsImZyb20iLCJrZXlzIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQVdnQkE7OztlQUFBQTs7O21DQVZZO0FBVXJCLFNBQVNBLGdCQUFnQkMsS0FBMEI7SUFBMUIsTUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQWMsR0FBMUJGO0lBQzlCLE9BQU8sQ0FBQ0c7UUFDTixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNmLE9BQU87UUFDVDtRQUVBLE1BQU1FLFNBQVMsQ0FBQ047WUFDZCxJQUFJO2dCQUNGLE9BQU9PLG1CQUFtQlA7WUFDNUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNWLE1BQU0sSUFBSUMsT0FBQUEsV0FBVyxDQUFDO1lBQ3hCO1FBQ0Y7UUFDQSxNQUFNQyxTQUFxRCxDQUFDO1FBRTVEQyxPQUFPQyxJQUFJLENBQUNWLFFBQVFXLE9BQU8sQ0FBQyxDQUFDQztZQUMzQixNQUFNQyxJQUFJYixNQUFNLENBQUNZLFNBQVM7WUFDMUIsTUFBTUUsSUFBSVosVUFBVSxDQUFDVyxFQUFFRSxHQUFHLENBQUM7WUFDM0IsSUFBSUQsTUFBTUUsV0FBVztnQkFDbkJSLE1BQU0sQ0FBQ0ksU0FBUyxHQUFHLENBQUNFLEVBQUVHLE9BQU8sQ0FBQyxPQUMxQkgsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFVaEIsT0FBT2dCLFVBQ25DUCxFQUFFUSxNQUFNLEdBQ1I7b0JBQUNqQixPQUFPVTtpQkFBRyxHQUNYVixPQUFPVTtZQUNiO1FBQ0Y7UUFDQSxPQUFPTjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLnRzPzMxNzkiXSwibmFtZXMiOlsiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW0iLCJyZSIsImdyb3VwcyIsInBhdGhuYW1lIiwicm91dGVNYXRjaCIsImV4ZWMiLCJkZWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfIiwiRGVjb2RlRXJyb3IiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInNsdWdOYW1lIiwiZyIsIm0iLCJwb3MiLCJ1bmRlZmluZWQiLCJpbmRleE9mIiwic3BsaXQiLCJtYXAiLCJlbnRyeSIsInJlcGVhdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBMk5nQkEseUJBQXVCO2VBQXZCQTs7SUFoQkFDLG9CQUFrQjtlQUFsQkE7O0lBbklBQyxlQUFhO2VBQWJBOzs7Z0RBeEUyQjswQ0FDUjtpREFDQztBQUVwQyxNQUFNQywwQkFBMEI7QUFDaEMsTUFBTUMsa0NBQWtDO0FBYXhDOzs7Ozs7O0NBT0MsR0FDRCxTQUFTQyxlQUFlQyxLQUFhO0lBQ25DLE1BQU1DLFdBQVdELE1BQU1FLFVBQVUsQ0FBQyxRQUFRRixNQUFNRyxRQUFRLENBQUM7SUFDekQsSUFBSUYsVUFBVTtRQUNaRCxRQUFRQSxNQUFNSSxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFCO0lBQ0EsTUFBTUMsU0FBU0wsTUFBTUUsVUFBVSxDQUFDO0lBQ2hDLElBQUlHLFFBQVE7UUFDVkwsUUFBUUEsTUFBTUksS0FBSyxDQUFDO0lBQ3RCO0lBQ0EsT0FBTztRQUFFRSxLQUFLTjtRQUFPSztRQUFRSjtJQUFTO0FBQ3hDO0FBRUEsU0FBU00scUJBQXFCQyxLQUFhO0lBQ3pDLE1BQU1DLFdBQVdDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ0YsT0FBT0osS0FBSyxDQUFDLEdBQUdPLEtBQUssQ0FBQztJQUMzRCxNQUFNQyxTQUF5QyxDQUFDO0lBQ2hELElBQUlDLGFBQWE7SUFDakIsT0FBTztRQUNMQyxvQkFBb0JMLFNBQ2pCTSxHQUFHLENBQUMsQ0FBQ0M7WUFDSixNQUFNQyxjQUFjQyxvQkFBQUEsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDQyxJQUNuREosUUFBUWQsVUFBVSxDQUFDa0I7WUFFckIsTUFBTUMsZUFBZUwsUUFBUU0sS0FBSyxDQUFDLHVCQUF1Qix1QkFBdUI7O1lBRWpGLElBQUlMLGVBQWVJLGNBQWM7Z0JBQy9CLE1BQU0sRUFBRWYs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TSxFQUFFN0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFa0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSTdDLHVCQUF1QixLQUFLO1FBQzlCLElBQUkrQyxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0xGLFlBQVksT0FBS0csZ0JBQWM7UUFDakM7SUFDRjtJQUVBLE1BQU0sRUFBRVYsdUJBQXVCLEVBQUUsR0FBR0YsMEJBQ2xDdkIsaUJBQ0E7SUFFRixJQUFJb0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNMRixZQUFZLE1BQUlQLDBCQUEwQlcsdUJBQXFCO0lBQ2pFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC50cz8xNmExIl0sIm5hbWVzIjpbImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVSZWdleCIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsInVuZGVmaW5lZCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQXFNZ0JBOzs7ZUFBQUE7OztBQXJNaEIsTUFBTUM7SUFPSkMsT0FBT0MsT0FBZSxFQUFRO1FBQzVCLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN2RDtJQUVBQyxTQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQ0MsT0FBTztJQUNyQjtJQUVRQSxRQUFRQyxNQUFvQixFQUFZO1FBQWhDQSxJQUFBQSxXQUFBQSxLQUFBQSxHQUFBQSxTQUFpQjtRQUMvQixNQUFNQyxnQkFBZ0I7ZUFBSSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsSUFBSTtTQUFHLENBQUNDLElBQUk7UUFDcEQsSUFBSSxJQUFJLENBQUNDLFFBQVEsS0FBSyxNQUFNO1lBQzFCSixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxPQUFPO1FBQ3BEO1FBQ0EsSUFBSSxJQUFJLENBQUNDLFlBQVksS0FBSyxNQUFNO1lBQzlCUCxjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxVQUFVO1FBQ3ZEO1FBQ0EsSUFBSSxJQUFJLENBQUNFLG9CQUFvQixLQUFLLE1BQU07WUFDdENSLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDLFlBQVk7UUFDekQ7UUFFQSxNQUFNRyxTQUFTVCxjQUNaVSxHQUFHLENBQUMsQ0FBQ0MsSUFBTSxJQUFJLENBQUNWLFFBQVEsQ0FBQ1csR0FBRyxDQUFDRCxHQUFJYixPQUFPLENBQUMsS0FBR0MsU0FBU1ksSUFBRSxNQUN2REUsTUFBTSxDQUFDLENBQUNDLE1BQU1DLE9BQVM7bUJBQUlEO21CQUFTQzthQUFLLEVBQUUsRUFBRTtRQUVoRCxJQUFJLElBQUksQ0FBQ1gsUUFBUSxLQUFL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Q0FBQ3pCLFFBQVEsQ0FBQ3NDLEdBQUcsQ0FBQ2IsYUFBYSxJQUFJcEM7UUFDckM7UUFFQSxJQUFJLENBQUNXLFFBQVEsQ0FDVlcsR0FBRyxDQUFDYyxhQUNKakMsT0FBTyxDQUFDNkIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQzNDOzthQWpNQVAsV0FBQUEsR0FBdUI7YUFDdkJoQixRQUFBQSxHQUFpQyxJQUFJdUM7YUFDckNwQyxRQUFBQSxHQUEwQjthQUMxQkcsWUFBQUEsR0FBOEI7YUFDOUJDLG9CQUFBQSxHQUFzQzs7QUE4THhDO0FBRU8sU0FBU25CLGdCQUNkb0QsZUFBc0M7SUFFdEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFFM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBRWpCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQk4sT0FBTyxDQUFDLENBQUNRLFdBQWFELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNsRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLnRzP2Q1M2IiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiVXJsTm9kZSIsImluc2VydCIsInVybFBhdGgiLCJfaW5zZXJ0Iiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic21vb3NoIiwiX3Ntb29zaCIsInByZWZpeCIsImNoaWxkcmVuUGF0aHMiLCJjaGlsZHJlbiIsImtleXMiLCJzb3J0Iiwic2x1Z05hbWUiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVzdFNsdWdOYW1lIiwib3B0aW9uYWxSZXN0U2x1Z05hbWUiLCJyb3V0ZXMiLCJtYXAiLCJjIiwiZ2V0IiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJwdXNoIiwicGxhY2Vob2xkZXIiLCJyIiwic2xpY2UiLCJFcnJvciIsInVuc2hpZnQiLCJ1cmxQYXRocyIsInNsdWdOYW1lcyIsImlzQ2F0Y2hBbGwiLCJsZW5ndGgiLCJuZXh0U2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlZ21lbnROYW1lIiwiaXNPcHRpb25hbCIsInN1YnN0cmluZyIsImhhbmRsZVNsdWciLCJwcmV2aW91c1NsdWciLCJuZXh0U2x1ZyIsImZvckVhY2giLCJzbHVnIiwicmVwbGFjZSIsImhhcyIsInNldCIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst isServer = typeof window === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n _s();\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n_s(SideEffect, \"gHVkikNHNxjVdD11eJBzaqkCiPY=\", false, function() {\n return [\n useClientOnlyLayoutEffect,\n useClientOnlyLayoutEffect,\n useClientOnlyEffect\n ];\n});\n_c = SideEffect;\nvar _c;\n$RefreshReg$(_c, \"SideEffect\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MkNBb0JBOzs7ZUFBd0JBOzs7bUNBbkI2QjtBQWVyRCxNQUFNQyxXQUFXLE9BQU9DLFdBQVc7QUFDbkMsTUFBTUMsNEJBQTRCRixXQUFXLEtBQU8sSUFBSUcsT0FBQUEsZUFBZTtBQUN2RSxNQUFNQyxzQkFBc0JKLFdBQVcsS0FBTyxJQUFJSyxPQUFBQSxTQUFTO0FBRTVDLFNBQVNOLFdBQVdPLEtBQXNCOztJQUN2RCxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsdUJBQXVCLEVBQUUsR0FBR0Y7SUFFakQsU0FBU0c7UUFDUCxJQUFJRixlQUFlQSxZQUFZRyxnQkFBZ0IsRUFBRTtZQUMvQyxNQUFNQyxlQUFlQyxPQUFBQSxRQUFRLENBQUNDLE9BQU8sQ0FDbkNDLE1BQU1DLElBQUksQ0FBQ1IsWUFBWUcsZ0JBQWdCLEVBQTBCTSxNQUFNLENBQ3JFQztZQUdKVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDL0Q7SUFDRjtJQUVBLElBQUlOLFVBQVU7WUFDWk87UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pEWDtJQUNGO0lBRUFQLDBCQUEwQjtZQUN4Qks7UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pELE9BQU87Z0JBQ0xiO1lBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGdDQUFBQSxZQUFhRyxnQkFBZ0IscUJBQTdCSCw4QkFBK0JjLE1BQU0sQ0FBQ2YsTUFBTWMsUUFBUTtRQUN0RDtJQUNGO0lBRUEsa0ZBQWtGO0lBQ2xGLG9GQUFvRjtJQUNwRixnRUFBZ0U7SUFDaEUscUZBQXFGO0lBQ3JGLG1GQUFtRjtJQUNuRmxCLDBCQUEwQjtRQUN4QixJQUFJSyxhQUFhO1lBQ2ZBLFlBQVllLGNBQWMsR0FBR2I7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSUYsYUFBYTtnQkFDZkEsWUFBWWUsY0FBYyxHQUFHYjtZQUMvQjtRQUNGO0lBQ0Y7SUFFQUwsb0JBQW9CO1FBQ2xCLElBQUlHLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtZQUM3Q2YsWUFBWWUsY0FBYztZQUMxQmYsWUFBWWUsY0FBYyxHQUFHO1FBQy9CO1FBQ0EsT0FBTztZQUNMLElBQUlmLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtnQkFDN0NmLFlBQVllLGNBQWM7Z0JBQzFCZixZQUFZZSxjQUFjLEdBQUc7WUFDL0I7UUFDRjtJQUNGO0lBRUEsT0FBTztBQUNUO0dBeER3QnZCOztRQW1CdEJHO1FBWUFBO1FBV0FFOzs7S0ExQ3NCTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvc2lkZS1lZmZlY3QudHN4P2U4ZGQiXSwibmFtZXMiOlsiU2lkZUVmZmVjdCIsImlzU2VydmVyIiwid2luZG93IiwidXNlQ2xpZW50T25seUxheW91dEVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZUNsaWVudE9ubHlFZmZlY3QiLCJ1c2VFZmZlY3QiLCJwcm9wcyIsImhlYWRNYW5hZ2VyIiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJlbWl0Q2hhbmdlIiwibW91bnRlZEluc3RhbmNlcyIsImhlYWRFbGVtZW50cyIsIkNoaWxkcmVuIiwidG9BcnJheSIsIkFycmF5IiwiZnJvbSIsImZpbHRlciIsIkJvb2xlYW4iLCJ1cGRhdGVIZWFkIiwiYWRkIiwiY2hpbGRyZW4iLCJkZWxldGUiLCJfcGVuZGluZ1VwZGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFvYWFBLGFBQVc7ZUFBWEE7O0lBb0JBQyx5QkFBdUI7ZUFBdkJBOztJQVBBQyxtQkFBaUI7ZUFBakJBOztJQVpBQyxnQkFBYztlQUFkQTs7SUFDQUMsbUJBQWlCO2VBQWpCQTs7SUFUQUMsSUFBRTtlQUFGQTs7SUFDQUMsSUFBRTtlQUFGQTs7SUFsWEFDLFlBQVU7ZUFBVkE7O0lBc1FHQyxVQUFRO2VBQVJBOztJQStCQUMsZ0JBQWM7ZUFBZEE7O0lBWEFDLG1CQUFpQjtlQUFqQkE7O0lBS0FDLFFBQU07ZUFBTkE7O0lBUEhDLGVBQWE7ZUFBYkE7O0lBbUJHQyxXQUFTO2VBQVRBOztJQWtCTUMscUJBQW1CO2VBQW5CQTs7SUFkTkMsMEJBQXdCO2VBQXhCQTs7SUErR0FDLGdCQUFjO2VBQWRBOzs7QUE5WlQsTUFBTVQsYUFBYTtJQUFDO0lBQU87SUFBTztJQUFPO0lBQU87SUFBTztDQUFPO0FBc1E5RCxTQUFTQyxTQUNkUyxFQUFLO0lBRUwsSUFBSUMsT0FBTztJQUNYLElBQUlDO0lBRUosT0FBUTt5Q0FBSUMsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7WUFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O1FBQ1YsSUFBSSxDQUFDRixNQUFNO1lBQ1RBLE9BQU87WUFDUEMsU0FBU0YsTUFBTUc7UUFDakI7UUFDQSxPQUFPRDtJQUNUO0FBQ0Y7QUFFQSwwREFBMEQ7QUFDMUQsZ0VBQWdFO0FBQ2hFLE1BQU1FLHFCQUFxQjtBQUNwQixNQUFNVCxnQkFBZ0IsQ0FBQ1UsTUFBZ0JELG1CQUFtQkUsSUFBSSxDQUFDRDtBQUUvRCxTQUFTWjtJQUNkLE1BQU0sRUFBRWMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFB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O0lBQ3JDVSxZQUFZQyxJQUFZLEVBQUVaLE9BQWUsQ0FBRTtRQUN6QyxLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQXdDWSxPQUFLLE1BQUdaO0lBQ2pFO0FBQ0Y7QUFFTyxNQUFNakQsZ0NBQWdDa0Q7SUFFM0NVLGFBQWM7UUFDWixLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNiLE9BQU8sR0FBSTtJQUNsQjtBQUNGO0FBV08sU0FBU2xDLGVBQWVnRCxLQUFZO0lBQ3pDLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUFFaEIsU0FBU2MsTUFBTWQsT0FBTztRQUFFaUIsT0FBT0gsTUFBTUcsS0FBSztJQUFDO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cz8xYmQ1Il0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/BackgroundImage.jsx": -/*!********************************************!*\ - !*** ./src/components/BackgroundImage.jsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundImage: function() { return /* binding */ BackgroundImage; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/images/background.jpg */ \"(app-pages-browser)/./src/images/background.jpg\");\n\n\n\n\nfunction BackgroundImage(param) {\n let { className, position = \"left\" } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute inset-0 overflow-hidden bg-indigo-50\", className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"absolute top-0\", position === \"left\" && \"left-0 translate-x-[-55%] translate-y-[-10%] -scale-x-100 sm:left-1/2 sm:translate-x-[-98%] sm:translate-y-[-6%] lg:translate-x-[-106%] xl:translate-x-[-122%]\", position === \"right\" && \"left-full -translate-x-1/2 sm:left-1/2 sm:translate-x-[-20%] sm:translate-y-[-15%] md:translate-x-0 lg:translate-x-[5%] lg:translate-y-[4%] xl:translate-x-[27%] xl:translate-y-[-8%]\"),\n src: _images_background_jpg__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n alt: \"\",\n width: 918,\n height: 1495,\n priority: true,\n unoptimized: true\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 top-0 h-20 bg-gradient-to-b from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 29,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-white\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx\",\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n_c = BackgroundImage;\nvar _c;\n$RefreshReg$(_c, \"BackgroundImage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0JhY2tncm91bmRJbWFnZS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQThCO0FBQ1A7QUFFOEI7QUFFOUMsU0FBU0csZ0JBQWdCLEtBQWdDO1FBQWhDLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxNQUFNLEVBQUUsR0FBaEM7SUFDOUIscUJBQ0UsOERBQUNDO1FBQ0NGLFdBQVdILGdEQUFJQSxDQUNiLGlEQUNBRzs7MEJBR0YsOERBQUNKLGtEQUFLQTtnQkFDSkksV0FBV0gsZ0RBQUlBLENBQ2Isa0JBQ0FJLGFBQWEsVUFDWCxrS0FDRkEsYUFBYSxXQUNYO2dCQUVKRSxLQUFLTCw4REFBZUE7Z0JBQ3BCTSxLQUFJO2dCQUNKQyxPQUFPO2dCQUNQQyxRQUFRO2dCQUNSQyxRQUFRO2dCQUNSQyxXQUFXOzs7Ozs7MEJBRWIsOERBQUNOO2dCQUFJRixXQUFVOzs7Ozs7MEJBQ2YsOERBQUNFO2dCQUFJRixXQUFVOzs7Ozs7Ozs7Ozs7QUFHckI7S0EzQmdCRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9CYWNrZ3JvdW5kSW1hZ2UuanN4P2MzNDYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEltYWdlIGZyb20gJ25leHQvaW1hZ2UnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5pbXBvcnQgYmFja2dyb3VuZEltYWdlIGZyb20gJ0AvaW1hZ2VzL2JhY2tncm91bmQuanBnJ1xuXG5leHBvcnQgZnVuY3Rpb24gQmFja2dyb3VuZEltYWdlKHsgY2xhc3NOYW1lLCBwb3NpdGlvbiA9ICdsZWZ0JyB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAnYWJzb2x1dGUgaW5zZXQtMCBvdmVyZmxvdy1oaWRkZW4gYmctaW5kaWdvLTUwJyxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICA+XG4gICAgICA8SW1hZ2VcbiAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICdhYnNvbHV0ZSB0b3AtMCcsXG4gICAgICAgICAgcG9zaXRpb24gPT09ICdsZWZ0JyAmJlxuICAgICAgICAgICAgJ2xlZnQtMCB0cmFuc2xhdGUteC1bLTU1JV0gdHJhbnNsYXRlLXktWy0xMCVdIC1zY2FsZS14LTEwMCBzbTpsZWZ0LTEvMiBzbTp0cmFuc2xhdGUteC1bLTk4JV0gc206dHJhbnNsYXRlLXktWy02JV0gbGc6dHJhbnNsYXRlLXgtWy0xMDYlXSB4bDp0cmFuc2xhdGUteC1bLTEyMiVdJyxcbiAgICAgICAgICBwb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJlxuICAgICAgICAgICAgJ2xlZnQtZnVsbCAtdHJhbnNsYXRlLXgtMS8yIHNtOmxlZnQtMS8yIHNtOnRyYW5zbGF0ZS14LVstMjAlXSBzbTp0cmFuc2xhdGUteS1bLTE1JV0gbWQ6dHJhbnNsYXRlLXgtMCBsZzp0cmFuc2xhdGUteC1bNSVdIGxnOnRyYW5zbGF0ZS15LVs0JV0geGw6dHJhbnNsYXRlLXgtWzI3JV0geGw6dHJhbnNsYXRlLXktWy04JV0nLFxuICAgICAgICApfVxuICAgICAgICBzcmM9e2JhY2tncm91bmRJbWFnZX1cbiAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgd2lkdGg9ezkxOH1cbiAgICAgICAgaGVpZ2h0PXsxNDk1fVxuICAgICAgICBwcmlvcml0eVxuICAgICAgICB1bm9wdGltaXplZFxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQteC0wIHRvcC0wIGgtMjAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlXCIgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQteC0wIGJvdHRvbS0wIGgtMjAgYmctZ3JhZGllbnQtdG8tdCBmcm9tLXdoaXRlXCIgLz5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkltYWdlIiwiY2xzeCIsImJhY2tncm91bmRJbWFnZSIsIkJhY2tncm91bmRJbWFnZSIsImNsYXNzTmFtZSIsInBvc2l0aW9uIiwiZGl2Iiwic3JjIiwiYWx0Iiwid2lkdGgiLCJoZWlnaHQiLCJwcmlvcml0eSIsInVub3B0aW1pemVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/BackgroundImage.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Button.jsx": -/*!***********************************!*\ - !*** ./src/components/Button.jsx ***! - \***********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: function() { return /* binding */ Button; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n\n\n\nfunction Button(param) {\n let { className, ...props } = param;\n className = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"inline-flex justify-center rounded-2xl bg-blue-700 py-2 px-4 text-sm font-semibold text-white hover:bg-blue-500 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:text-white/70\", className);\n return typeof props.href === \"undefined\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n_c = Button;\nvar _c;\n$RefreshReg$(_c, \"Button\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNEI7QUFDTDtBQUVoQixTQUFTRSxPQUFPLEtBQXVCO1FBQXZCLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEdBQXZCO0lBQ3JCRCxZQUFZRixnREFBSUEsQ0FDZCxpUEFDQUU7SUFHRixPQUFPLE9BQU9DLE1BQU1DLElBQUksS0FBSyw0QkFDM0IsOERBQUNDO1FBQU9ILFdBQVdBO1FBQVksR0FBR0MsS0FBSzs7Ozs7NkJBRXZDLDhEQUFDSixpREFBSUE7UUFBQ0csV0FBV0E7UUFBWSxHQUFHQyxLQUFLOzs7Ozs7QUFFekM7S0FYZ0JGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3g/NGUxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9KSB7XG4gIGNsYXNzTmFtZSA9IGNsc3goXG4gICAgJ2lubGluZS1mbGV4IGp1c3RpZnktY2VudGVyIHJvdW5kZWQtMnhsIGJnLWJsdWUtNzAwIHB5LTIgcHgtNCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBob3ZlcjpiZy1ibHVlLTUwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1ibHVlLTUwMCBhY3RpdmU6dGV4dC13aGl0ZS83MCcsXG4gICAgY2xhc3NOYW1lLFxuICApXG5cbiAgcmV0dXJuIHR5cGVvZiBwcm9wcy5ocmVmID09PSAndW5kZWZpbmVkJyA/IChcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4ucHJvcHN9IC8+XG4gICkgOiAoXG4gICAgPExpbmsgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5wcm9wc30gLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJjbHN4IiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJocmVmIiwiYnV0dG9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Button.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Container.jsx": -/*!**************************************!*\ - !*** ./src/components/Container.jsx ***! - \**************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: function() { return /* binding */ Container; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container(param) {\n let { className, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n_c = Container;\nvar _c;\n$RefreshReg$(_c, \"Container\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0NvbnRhaW5lci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF1QjtBQUVoQixTQUFTQyxVQUFVLEtBQXVCO1FBQXZCLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEdBQXZCO0lBQ3hCLHFCQUNFLDhEQUFDQztRQUNDRixXQUFXRixnREFBSUEsQ0FBQywwQ0FBMENFO1FBQ3pELEdBQUdDLEtBQUs7Ozs7OztBQUdmO0tBUGdCRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Container.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/DiamondIcon.jsx": -/*!****************************************!*\ - !*** ./src/components/DiamondIcon.jsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DiamondIcon: function() { return /* binding */ DiamondIcon; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n\nfunction DiamondIcon(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 6 6\",\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M3 0L6 3L3 6L0 3Z\",\n strokeWidth: 2,\n strokeLinejoin: \"round\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/DiamondIcon.jsx\",\n lineNumber: 4,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/DiamondIcon.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n_c = DiamondIcon;\nvar _c;\n$RefreshReg$(_c, \"DiamondIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0RpYW1vbmRJY29uLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTyxTQUFTQSxZQUFZQyxLQUFLO0lBQy9CLHFCQUNFLDhEQUFDQztRQUFJQyxlQUFZO1FBQU9DLFNBQVE7UUFBVyxHQUFHSCxLQUFLO2tCQUNqRCw0RUFBQ0k7WUFBS0MsR0FBRTtZQUFvQkMsYUFBYTtZQUFHQyxnQkFBZTs7Ozs7Ozs7Ozs7QUFHakU7S0FOZ0JSIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0RpYW1vbmRJY29uLmpzeD84OGJmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBEaWFtb25kSWNvbihwcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmlld0JveD1cIjAgMCA2IDZcIiB7Li4ucHJvcHN9PlxuICAgICAgPHBhdGggZD1cIk0zIDBMNiAzTDMgNkwwIDNaXCIgc3Ryb2tlV2lkdGg9ezJ9IHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgIDwvc3ZnPlxuICApXG59XG4iXSwibmFtZXMiOlsiRGlhbW9uZEljb24iLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwidmlld0JveCIsInBhdGgiLCJkIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/DiamondIcon.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Header.jsx": -/*!***********************************!*\ - !*** ./src/components/Header.jsx ***! - \***********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: function() { return /* binding */ Header; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(app-pages-browser)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Logo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Logo */ \"(app-pages-browser)/./src/components/Logo.jsx\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n// Example navigation items\nconst navigationItems = [\n {\n name: \"Home\",\n href: \"/\"\n },\n {\n name: \"Features\",\n href: \"#\"\n },\n {\n name: \"Usecases\",\n href: \"#\"\n },\n {\n name: \"Events\",\n href: \"#\"\n }\n];\nfunction Header() {\n _s();\n const [mobileMenuOpen, setMobileMenuOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"relative z-50 flex-none lg:py-4 bg-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"flex flex-wrap items-center justify-between lg:justify-center lg:flex-nowrap\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"my-5 lg:my-0 lg:grow lg:basis-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:flex lg:items-center lg:gap-8 lg:grow lg:basis-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-8 mx-auto\",\n children: navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-700 font-semibold hover:text-blue-900\",\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 29,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 27,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 34,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 26,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:hidden flex items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(true),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Open menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 42,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 43,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 37,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this),\n mobileMenuOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-10 bg-white shadow-lg lg:hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 52,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(false),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Close menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 58,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 59,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 53,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col p-6 space-y-4\",\n children: [\n navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-500 hover:text-blue-800 text-lg font-semibold\",\n onClick: ()=>setMobileMenuOpen(false),\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 64,\n columnNumber: 15\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n className: \"mt-4\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 73,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n_s(Header, \"d7gXMF6mPDUhHBNUSEb8mLK4AII=\");\n_c = Header;\nvar _c;\n$RefreshReg$(_c, \"Header\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0hlYWRlci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFaUM7QUFDWTtBQUNNO0FBQ1Y7QUFDMEI7QUFFbkUsMkJBQTJCO0FBQzNCLE1BQU1NLGtCQUFrQjtJQUN0QjtRQUFFQyxNQUFNO1FBQVFDLE1BQU07SUFBSTtJQUMxQjtRQUFFRCxNQUFNO1FBQVlDLE1BQU07SUFBSTtJQUM5QjtRQUFFRCxNQUFNO1FBQVlDLE1BQU07SUFBSTtJQUM5QjtRQUFFRCxNQUFNO1FBQVVDLE1BQU07SUFBSTtDQUM3QjtBQUVNLFNBQVNDOztJQUNkLE1BQU0sQ0FBQ0MsZ0JBQWdCQyxrQkFBa0IsR0FBR1gsK0NBQVFBLENBQUM7SUFFckQscUJBQ0UsOERBQUNZO1FBQU9DLFdBQVU7OzBCQUNoQiw4REFBQ1gsNERBQVNBO2dCQUFDVyxXQUFVOztrQ0FDbkIsOERBQUNDO3dCQUFJRCxXQUFVO2tDQUNiLDRFQUFDVixrREFBSUE7NEJBQUNVLFdBQVU7Ozs7Ozs7Ozs7O2tDQUVsQiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDQztnQ0FBSUQsV0FBVTswQ0FDWlAsZ0JBQWdCUyxHQUFHLENBQUMsQ0FBQ0MscUJBQ3BCLDhEQUFDQzt3Q0FBa0JULE1BQU1RLEtBQUtSLElBQUk7d0NBQUVLLFdBQVU7a0RBQzNDRyxLQUFLVCxJQUFJO3VDQURKUyxLQUFLVCxJQUFJOzs7Ozs7Ozs7OzBDQUtyQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLOzBDQUFJOzs7Ozs7Ozs7Ozs7a0NBRW5CLDhEQUFDTTt3QkFBSUQsV0FBVTtrQ0FDYiw0RUFBQ0s7NEJBQ0NDLE1BQUs7NEJBQ0xDLFNBQVMsSUFBTVQsa0JBQWtCOzRCQUNqQ0UsV0FBVTs7OENBRVYsOERBQUNRO29DQUFLUixXQUFVOzhDQUFVOzs7Ozs7OENBQzFCLDhEQUFDVCw2R0FBU0E7b0NBQUNrQixlQUFZO29DQUFPVCxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQU03Q0gsZ0NBQ0MsOERBQUNJO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDVixrREFBSUE7Z0NBQUNVLFdBQVU7Ozs7OzswQ0FDaEIsOERBQUNLO2dDQUNDQyxNQUFLO2dDQUNMQyxTQUFTLElBQU1ULGtCQUFrQjtnQ0FDakNFLFdBQVU7O2tEQUVWLDhEQUFDUTt3Q0FBS1IsV0FBVTtrREFBVTs7Ozs7O2tEQUMxQiw4REFBQ1IsNkdBQVNBO3dDQUFDaUIsZUFBWTt3Q0FBT1QsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUc1Qyw4REFBQ0M7d0JBQUlELFdBQVU7OzRCQUNaUCxnQkFBZ0JTLEdBQUcsQ0FBQyxDQUFDQyxxQkFDcEIsOERBQUNDO29DQUVDVCxNQUFNUSxLQUFLUixJQUFJO29DQUNmSyxXQUFVO29DQUNWTyxTQUFTLElBQU1ULGtCQUFrQjs4Q0FFaENLLEtBQUtULElBQUk7bUNBTExTLEtBQUtULElBQUk7Ozs7OzBDQVFsQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLO2dDQUFJSyxXQUFVOzBDQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFROUM7R0FoRWdCSjtLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4PzNjYjYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnOyAvLyBFbnN1cmUgdGhpcyBmaWxlIGlzIHRyZWF0ZWQgYXMgYSBDbGllbnQgQ29tcG9uZW50XG5cbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJztcbmltcG9ydCB7IExvZ28gfSBmcm9tICdAL2NvbXBvbmVudHMvTG9nbyc7XG5pbXBvcnQgeyBCYXJzM0ljb24sIFhNYXJrSWNvbiB9IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSc7XG5cbi8vIEV4YW1wbGUgbmF2aWdhdGlvbiBpdGVtc1xuY29uc3QgbmF2aWdhdGlvbkl0ZW1zID0gW1xuICB7IG5hbWU6ICdIb21lJywgaHJlZjogJy8nIH0sXG4gIHsgbmFtZTogJ0ZlYXR1cmVzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ1VzZWNhc2VzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ0V2ZW50cycsIGhyZWY6ICcjJyB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIEhlYWRlcigpIHtcbiAgY29uc3QgW21vYmlsZU1lbnVPcGVuLCBzZXRNb2JpbGVNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotNTAgZmxleC1ub25lIGxnOnB5LTQgYmctd2hpdGVcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBsZzpqdXN0aWZ5LWNlbnRlciBsZzpmbGV4LW5vd3JhcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LTUgbGc6bXktMCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhpZGRlbiBsZzpmbGV4IGxnOml0ZW1zLWNlbnRlciBsZzpnYXAtOCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTggbXgtYXV0b1wiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGEga2V5PXtpdGVtLm5hbWV9IGhyZWY9e2l0ZW0uaHJlZn0gY2xhc3NOYW1lPVwidGV4dC1ibHVlLTcwMCBmb250LXNlbWlib2xkIGhvdmVyOnRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAgICB7aXRlbS5uYW1lfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCI+Sm9pbiBPdXJWZXJzZTwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzpoaWRkZW4gZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE1vYmlsZU1lbnVPcGVuKHRydWUpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiLW0tMi41IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIHAtMi41IHRleHQtZ3JheS03MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5PcGVuIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICA8QmFyczNJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzTmFtZT1cImgtNiB3LTZcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuXG4gICAgICB7LyogTW9iaWxlIG1lbnUgKi99XG4gICAgICB7bW9iaWxlTWVudU9wZW4gJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei0xMCBiZy13aGl0ZSBzaGFkb3ctbGcgbGc6aGlkZGVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC02XCI+XG4gICAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVNZW51T3BlbihmYWxzZSl9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cIi1tLTIuNSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBwLTIuNSB0ZXh0LWdyYXktNzAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICAgIDxYTWFya0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3NOYW1lPVwiaC02IHctNlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgcC02IHNwYWNlLXktNFwiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1ibHVlLTUwMCBob3Zlcjp0ZXh0LWJsdWUtODAwIHRleHQtbGcgZm9udC1zZW1pYm9sZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTWVudU9wZW4oZmFsc2UpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCIgY2xhc3NOYW1lPVwibXQtNFwiPlxuICAgICAgICAgICAgICBKb2luIE91clZlcnNlXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvaGVhZGVyPlxuICApO1xufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwiQnV0dG9uIiwiQ29udGFpbmVyIiwiTG9nbyIsIkJhcnMzSWNvbiIsIlhNYXJrSWNvbiIsIm5hdmlnYXRpb25JdGVtcyIsIm5hbWUiLCJocmVmIiwiSGVhZGVyIiwibW9iaWxlTWVudU9wZW4iLCJzZXRNb2JpbGVNZW51T3BlbiIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsIm1hcCIsIml0ZW0iLCJhIiwiYnV0dG9uIiwidHlwZSIsIm9uQ2xpY2siLCJzcGFuIiwiYXJpYS1oaWRkZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Header.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Logo.jsx": -/*!*********************************!*\ - !*** ./src/components/Logo.jsx ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: function() { return /* binding */ Logo; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n\nfunction Logo(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: \"130\",\n height: \"43.33\",\n version: \"1\",\n viewBox: \"0 0 90 30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"filter\", {\n id: \"bdef170c39\",\n width: \"100%\",\n height: \"100%\",\n x: \"0%\",\n y: \"0%\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n colorInterpolationFilters: \"sRGB\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"ae85f5a47d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9479493a42\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.07 23.469a2.665 2.665 0 01-2.383-1.504L4.657 9.25a2.62 2.62 0 011.257-3.492A2.621 2.621 0 019.41 7.016l6.027 12.714a2.618 2.618 0 01-2.367 3.739zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"90a54febec\",\n x1: \"117.677\",\n x2: \"-10.526\",\n y1: \"202.569\",\n y2: \"6.809\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 34,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 37,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#1E3A8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 40,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 43,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#203E91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#204092\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 47,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#214295\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 51,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#224498\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 52,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 54,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 55,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 56,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#24479E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 59,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 60,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.299\",\n stopColor: \"#2549A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#254AA1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#254BA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 65,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 66,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#274FAA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 72,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2751AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 78,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 80,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2A56B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 81,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 85,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 86,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2B5AB9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2C5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 88,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 91,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 92,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 93,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 94,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 95,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 96,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 97,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 98,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#2E61C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 99,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 100,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 101,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#2F63C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 102,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 103,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3065CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 105,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 106,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#3167CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 107,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 108,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 109,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 111,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 112,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.701\",\n stopColor: \"#326BD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 114,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 115,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 116,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 117,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#346FD8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 120,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3570DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 123,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 124,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 125,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 127,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 128,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3674E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 130,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 131,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 132,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 133,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 134,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#3878E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 135,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 136,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#387AE8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 138,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 139,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#397CEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 140,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 142,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 143,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 145,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 146,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 147,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 148,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.977\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 149,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.984\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 150,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 24,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"71699c0992\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 154,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 153,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"39c4965344\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.469c-.375 0-.77-.078-1.13-.266-1.312-.617-1.878-2.195-1.257-3.492l6.031-12.715c.617-1.312 2.196-1.879 3.492-1.258 1.317.621 1.88 2.2 1.258 3.492l-6.027 12.715c-.434.977-1.371 1.524-2.367 1.524zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 157,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 156,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"5c493e8459\",\n x1: \"188.996\",\n x2: \"130.793\",\n y1: \"-0.323\",\n y2: \"214.691\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 168,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.008\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 169,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.016\",\n stopColor: \"#1E3B8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 170,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.023\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 171,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.031\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 172,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.039\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 173,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.047\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 174,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.055\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 175,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 176,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.07\",\n stopColor: \"#203F91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 177,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.078\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 178,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.086\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 179,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.102\",\n stopColor: \"#214195\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 181,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#214296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 182,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 183,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#224398\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 186,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 187,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.15\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 188,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 189,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 190,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 191,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 192,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#24489E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 193,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 194,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 195,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#2449A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 196,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 198,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 199,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#254CA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 201,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 202,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 203,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 204,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#274EA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 205,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 206,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2750AA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 207,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 208,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#2851AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 209,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 210,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 212,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 213,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 214,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 215,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 216,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#2955B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 217,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 218,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 219,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 220,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 221,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 222,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 223,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2B59B9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 224,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2B5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 225,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 226,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 227,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 228,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 229,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 230,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 232,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 233,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2E5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 234,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 235,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 236,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2F62C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 238,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 240,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 241,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2F64C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 242,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 243,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 244,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 245,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#3066CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 246,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 247,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 248,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 249,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 251,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 252,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#326AD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 253,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 254,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#336BD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 255,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 256,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 257,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 258,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 259,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#346ED8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 260,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 261,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 262,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 263,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#3571DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 264,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 265,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 266,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 267,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 268,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 269,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 270,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3675E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 272,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 273,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 274,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 275,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 276,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 277,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.85\",\n stopColor: \"#3879E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 278,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 279,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 281,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 282,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#397BEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 284,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#3A7CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 286,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 287,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 288,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 289,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 290,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 291,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 292,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 293,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 294,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 295,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 159,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8d0c53bb2c\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8007d6ee0b\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.074 23.621c-.98 0-1.941-.566-2.394-1.512L4.62 9.336a2.628 2.628 0 011.262-3.508A2.632 2.632 0 019.395 7.09l6.058 12.773a2.639 2.639 0 01-1.265 3.512c-.36.168-.735.246-1.114.246zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 301,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 300,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 303,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"c882ea39a8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 313,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9791d5a09d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 321,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 320,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"e6e7ec391e\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9791d5a09d)\",\n mask: \"url(#c882ea39a8)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 335,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 334,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 323,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"b6080a64a5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 342,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 341,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"2ec3ecbd14\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.621c-.375 0-.774-.078-1.133-.266-1.32-.62-1.887-2.207-1.262-3.507L16.72 7.074c.62-1.324 2.207-1.89 3.508-1.265 1.32.62 1.886 2.207 1.265 3.507L15.434 22.09c-.434.98-1.38 1.531-2.38 1.531zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 345,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 344,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 347,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"d7dda1a063\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 357,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 356,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 355,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"c87c18b6c8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 365,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 364,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"f8c42d9774\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#c87c18b6c8)\",\n mask: \"url(#d7dda1a063)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 379,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 378,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 367,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#ae85f5a47d)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9479493a42)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#90a54febec)\",\n d: \"M4.355 5.473v17.996H16.06V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 388,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 387,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 386,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#71699c0992)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#39c4965344)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#5c493e8459)\",\n d: \"M10.047 5.473v17.996h11.726V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 396,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 395,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 394,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M5.766.172c-1.024 0-1.914-.219-2.672-.656a4.783 4.783 0 01-1.797-1.86c-.43-.789-.64-1.707-.64-2.75 0-1.031.21-1.941.64-2.734a4.837 4.837 0 011.797-1.86c.758-.445 1.648-.671 2.672-.671 1 0 1.882.226 2.656.671.77.45 1.367 1.07 1.797 1.86.426.793.64 1.703.64 2.734 0 1.043-.214 1.961-.64 2.75a4.677 4.677 0 01-1.797 1.86c-.774.437-1.656.656-2.656.656zm0-1.672c.968 0 1.738-.316 2.312-.953.582-.645.875-1.524.875-2.64 0-1.114-.293-1.989-.875-2.626-.574-.644-1.344-.968-2.312-.968-.97 0-1.746.324-2.329.968-.585.637-.874 1.512-.874 2.625 0 1.117.289 1.996.874 2.64.583.638 1.36.954 2.329.954zm0 0\",\n transform: \"translate(24.636 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 402,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.656.172c-.906 0-1.605-.281-2.094-.844C1.07-1.234.829-2.055.829-3.14v-4.078h1.844v3.907c0 .617.125 1.09.375 1.421.258.336.66.5 1.203.5.508 0 .93-.18 1.266-.546.332-.375.5-.891.5-1.547V-7.22H7.89V0H6.234l-.14-1.219a2.45 2.45 0 01-.969 1.016c-.418.25-.906.375-1.469.375zm0 0\",\n transform: \"translate(35.114 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 407,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(42.932 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 412,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.938 0L.217-10.188h2l2.876 8.282 2.89-8.281h1.97L6.218 0zm0 0\",\n transform: \"translate(47.67 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 417,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(56.811 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 422,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(64.484 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 427,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.922.172c-.637 0-1.2-.106-1.688-.313-.48-.207-.867-.492-1.156-.859a2.58 2.58 0 01-.531-1.281h1.875c.062.281.219.523.469.719.257.199.597.296 1.015.296.406 0 .703-.082.89-.25.188-.164.282-.351.282-.562 0-.313-.137-.52-.406-.625a7.994 7.994 0 00-1.14-.344 11.28 11.28 0 01-.954-.234 5.044 5.044 0 01-.875-.375 2.081 2.081 0 01-.64-.578c-.168-.239-.25-.536-.25-.891 0-.633.253-1.172.765-1.61.508-.437 1.223-.656 2.14-.656.852 0 1.536.2 2.048.594.507.399.812.945.906 1.64h-1.75c-.117-.53-.524-.796-1.219-.796-.344 0-.61.07-.797.203-.187.137-.281.309-.281.516 0 .21.14.382.422.515.281.125.648.242 1.11.344.507.117.972.246 1.39.39.426.137.766.344 1.016.626.25.273.375.664.375 1.171.007.45-.11.856-.36 1.22-.242.355-.59.636-1.047.843-.449.195-.984.297-1.61.297zm0 0\",\n transform: \"translate(69.222 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 432,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(75.834 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 437,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8d0c53bb2c)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8007d6ee0b)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#e6e7ec391e)\",\n d: \"M4.355 5.473h11.72v18.144H4.354zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 444,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 443,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 442,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#b6080a64a5)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#2ec3ecbd14)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#f8c42d9774)\",\n d: \"M10.035 5.473h11.738v18.144H10.035zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 452,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 451,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 450,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n_c = Logo;\nvar _c;\n$RefreshReg$(_c, \"Logo\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0xvZ28uanN4IiwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLFNBQVNBLEtBQUtDLEtBQUs7SUFDeEIscUJBQ0UsOERBQUNDO1FBQ0RDLE9BQU07UUFDTkMsWUFBVztRQUNYQyxPQUFNO1FBQ05DLFFBQU87UUFDUEMsU0FBUTtRQUNSQyxTQUFROzswQkFFUiw4REFBQ0M7O2tDQUNDLDhEQUFDQzt3QkFBT0MsSUFBRzt3QkFBYU4sT0FBTTt3QkFBT0MsUUFBTzt3QkFBT00sR0FBRTt3QkFBS0MsR0FBRTtrQ0FDMUQsNEVBQUNDOzRCQUNDQywyQkFBMEI7NEJBQzFCQyxRQUFPOzs7Ozs7Ozs7OztrQ0FHWCw4REFBQ0M7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0M7d0JBQ0NULElBQUc7d0JBQ0hVLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLG1CQUFrQjt3QkFDbEJDLGVBQWM7OzBDQUVkLDhEQUFDQztnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7OzBDQUMzQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBTUMsV0FBVTs7Ozs7OzBDQUM3Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQUlDLFdBQVU7Ozs7Ozs7Ozs7OztrQ0FFN0IsOERBQUNaO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNGO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNDO3dCQUNDVCxJQUFHO3dCQUNIVSxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxtQkFBa0I7d0JBQ2xCQyxlQUFjOzswQ0FFZCw4REFBQ0M7Z0NBQUtDLFFBQU87Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDM0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBTUMsV0FBVTs7Ozs7OzBDQUM3Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7a0NBRTdCLDhEQUFDWjt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDRjt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDVzt3QkFDQ3pCLE9BQU07d0JBQ05DLFFBQU87d0JBQ1BNLEdBQUU7d0JBQ0ZDLEdBQUU7d0JBQ0ZrQixxQkFBb0I7d0JBQ3BCQyxXQUFVOzs7Ozs7a0NBRVosOERBQUNDO3dCQUFLdEIsSUFBRztrQ0FDUCw0RUFBQ3VCOzRCQUFFeEIsUUFBTztzQ0FDUiw0RUFBQ29CO2dDQUNDekIsT0FBTTtnQ0FDTkMsUUFBTztnQ0FDUDBCLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBSWhCLDhEQUFDZjt3QkFBU04sSUFBRztrQ0FDWCw0RUFBQ087NEJBQUtDLEdBQUU7Ozs7Ozs7Ozs7O2tDQUVWLDhEQUFDZ0I7d0JBQ0N4QixJQUFHO3dCQUNITixPQUFNO3dCQUNOQyxRQUFPO3dCQUNQTSxHQUFFO3dCQUNGQyxHQUFFO3dCQUNGdUIsa0JBQWlCO3dCQUNqQkMsY0FBYTt3QkFDYk4scUJBQW9CO3dCQUNwQnZCLFNBQVE7a0NBRVIsNEVBQUMwQjs0QkFBRWpCLFVBQVM7NEJBQW1CZ0IsTUFBSztzQ0FDbEMsNEVBQUNmO2dDQUNDb0IsTUFBSztnQ0FDTG5CLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBSVIsOERBQUNGO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNGO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNXO3dCQUNDekIsT0FBTTt3QkFDTkMsUUFBTzt3QkFDUE0sR0FBRTt3QkFDRkMsR0FBRTt3QkFDRmtCLHFCQUFvQjt3QkFDcEJDLFdBQVU7Ozs7OztrQ0FFWiw4REFBQ0M7d0JBQUt0QixJQUFHO2tDQUNQLDRFQUFDdUI7NEJBQUV4QixRQUFPO3NDQUNSLDRFQUFDb0I7Z0NBQ0N6QixPQUFNO2dDQUNOQyxRQUFPO2dDQUNQMEIsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztrQ0FJaEIsOERBQUNmO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNnQjt3QkFDQ3hCLElBQUc7d0JBQ0hOLE9BQU07d0JBQ05DLFFBQU87d0JBQ1BNLEdBQUU7d0JBQ0ZDLEdBQUU7d0JBQ0Z1QixrQkFBaUI7d0JBQ2pCQyxjQUFhO3dCQUNiTixxQkFBb0I7d0JBQ3BCdkIsU0FBUTtrQ0FFUiw0RUFBQzBCOzRCQUFFakIsVUFBUzs0QkFBbUJnQixNQUFLO3NDQUNsQyw0RUFBQ2Y7Z0NBQ0NvQixNQUFLO2dDQUNMbkIsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFLViw4REFBQ2U7Z0JBQUVqQixVQUFTOzBCQUNWLDRFQUFDaUI7b0JBQUVqQixVQUFTOzhCQUNWLDRFQUFDQzt3QkFDQ29CLE1BQUs7d0JBQ0xuQixHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzBCQUlSLDhEQUFDZTtnQkFBRWpCLFVBQVM7MEJBQ1YsNEVBQUNpQjtvQkFBRWpCLFVBQVM7OEJBQ1YsNEVBQUNDO3dCQUNDb0IsTUFBSzt3QkFDTG5CLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBSVIsOERBQUNEO2dCQUNDb0IsTUFBSztnQkFDTG5CLEdBQUU7Z0JBQ0ZvQixXQUFVOzs7Ozs7MEJBRVosOERBQUNyQjtnQkFDQ29CLE1BQUs7Z0JBQ0xuQixHQUFFO2dCQUNGb0IsV0FBVTs7Ozs7OzBCQUVaLDhEQUFDckI7Z0JBQ0NvQixNQUFLO2dCQUNMbkIsR0FBRTtnQkFDRm9CLFdBQVU7Ozs7OzswQkFFWiw4REFBQ3JCO2dCQUNDb0IsTUFBSztnQkFDTG5CLEdBQUU7Z0JBQ0ZvQixXQUFVOzs7Ozs7MEJBRVosOERBQUNyQjtnQkFDQ29CLE1BQUs7Z0JBQ0xuQixHQUFFO2dCQUNGb0IsV0FBVTs7Ozs7OzBCQUVaLDhEQUFDckI7Z0JBQ0NvQixNQUFLO2dCQUNMbkIsR0FBRTtnQkFDRm9CLFdBQVU7Ozs7OzswQkFFWiw4REFBQ3JCO2dCQUNDb0IsTUFBSztnQkFDTG5CLEdBQUU7Z0JBQ0ZvQixXQUFVOzs7Ozs7MEJBRVosOERBQUNyQjtnQkFDQ29CLE1BQUs7Z0JBQ0xuQixHQUFFO2dCQUNGb0IsV0FBVTs7Ozs7OzBCQUVaLDhEQUFDTDtnQkFBRWpCLFVBQVM7MEJBQ1YsNEVBQUNpQjtvQkFBRWpCLFVBQVM7OEJBQ1YsNEVBQUNDO3dCQUNDb0IsTUFBSzt3QkFDTG5CLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBSVIsOERBQUNlO2dCQUFFakIsVUFBUzswQkFDViw0RUFBQ2lCO29CQUFFakIsVUFBUzs4QkFDViw0RUFBQ0M7d0JBQ0NvQixNQUFLO3dCQUNMbkIsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1aO0tBM2NnQm5CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0xvZ28uanN4PzIwNDEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIExvZ28ocHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgeG1sbnNYbGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgIHdpZHRoPVwiMTMwXCJcbiAgICBoZWlnaHQ9XCI0My4zM1wiXG4gICAgdmVyc2lvbj1cIjFcIlxuICAgIHZpZXdCb3g9XCIwIDAgOTAgMzBcIlxuICA+XG4gICAgPGRlZnM+XG4gICAgICA8ZmlsdGVyIGlkPVwiYmRlZjE3MGMzOVwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiB4PVwiMCVcIiB5PVwiMCVcIj5cbiAgICAgICAgPGZlQ29sb3JNYXRyaXhcbiAgICAgICAgICBjb2xvckludGVycG9sYXRpb25GaWx0ZXJzPVwic1JHQlwiXG4gICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMSAwXCJcbiAgICAgICAgPjwvZmVDb2xvck1hdHJpeD5cbiAgICAgIDwvZmlsdGVyPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiYWU4NWY1YTQ3ZFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTQuMzU1IDUuNDczSDE2djE4LjE0NEg0LjM1NXptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjk0Nzk0OTNhNDJcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNyAyMy40NjlhMi42NjUgMi42NjUgMCAwMS0yLjM4My0xLjUwNEw0LjY1NyA5LjI1YTIuNjIgMi42MiAwIDAxMS4yNTctMy40OTJBMi42MjEgMi42MjEgMCAwMTkuNDEgNy4wMTZsNi4wMjcgMTIuNzE0YTIuNjE4IDIuNjE4IDAgMDEtMi4zNjcgMy43Mzl6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgaWQ9XCI5MGE1NGZlYmVjXCJcbiAgICAgICAgeDE9XCIxMTcuNjc3XCJcbiAgICAgICAgeDI9XCItMTAuNTI2XCJcbiAgICAgICAgeTE9XCIyMDIuNTY5XCJcbiAgICAgICAgeTI9XCI2LjgwOVwiXG4gICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuMzU1IDUuNDc5KSBzY2FsZSguMDkxNzQpXCJcbiAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDYzXCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wOTRcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwOVwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTE3XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMjVcIiBzdG9wQ29sb3I9XCIjMUUzQThCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEzM1wiIHN0b3BDb2xvcj1cIiMxRjNCOENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQxXCIgc3RvcENvbG9yPVwiIzFGM0M4RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDhcIiBzdG9wQ29sb3I9XCIjMUYzQzhFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1NlwiIHN0b3BDb2xvcj1cIiMxRjNEOEZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTY0XCIgc3RvcENvbG9yPVwiIzIwM0U5MFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNzJcIiBzdG9wQ29sb3I9XCIjMjAzRTkxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE4XCIgc3RvcENvbG9yPVwiIzIwM0Y5MlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xODhcIiBzdG9wQ29sb3I9XCIjMjA0MDkyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE5NVwiIHN0b3BDb2xvcj1cIiMyMTQwOTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjAzXCIgc3RvcENvbG9yPVwiIzIxNDE5NFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTFcIiBzdG9wQ29sb3I9XCIjMjE0Mjk1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIxOVwiIHN0b3BDb2xvcj1cIiMyMjQyOTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjI3XCIgc3RvcENvbG9yPVwiIzIyNDM5N1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMzRcIiBzdG9wQ29sb3I9XCIjMjI0NDk4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI0MlwiIHN0b3BDb2xvcj1cIiMyNDlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjVcIiBzdG9wQ29sb3I9XCIjMjM0NTlBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1OFwiIHN0b3BDb2xvcj1cIiMyMzQ1OUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjY2XCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNzNcIiBzdG9wQ29sb3I9XCIjMjM0NzlEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4MVwiIHN0b3BDb2xvcj1cIiMyNDQ3OUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjg5XCIgc3RvcENvbG9yPVwiIzI0NDg5RlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTdcIiBzdG9wQ29sb3I9XCIjMjQ0OUEwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI5OVwiIHN0b3BDb2xvcj1cIiMyNTQ5QTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzA1XCIgc3RvcENvbG9yPVwiIzI1NEFBMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMTNcIiBzdG9wQ29sb3I9XCIjMjU0QUEyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMyXCIgc3RvcENvbG9yPVwiIzI1NEJBM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMjhcIiBzdG9wQ29sb3I9XCIjMjU0QkE0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMzNlwiIHN0b3BDb2xvcj1cIiMyNjRDQTVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzQ0XCIgc3RvcENvbG9yPVwiIzI2NERBNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTJcIiBzdG9wQ29sb3I9XCIjMjY0REE3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM1OVwiIHN0b3BDb2xvcj1cIiMyNjRFQThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzY3XCIgc3RvcENvbG9yPVwiIzI3NEZBOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNzVcIiBzdG9wQ29sb3I9XCIjMjc0RkFBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM4M1wiIHN0b3BDb2xvcj1cIiMyNzUwQUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzkxXCIgc3RvcENvbG9yPVwiIzI3NTFBQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zOThcIiBzdG9wQ29sb3I9XCIjMjg1MUFEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQwNlwiIHN0b3BDb2xvcj1cIiMyODUyQUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDE0XCIgc3RvcENvbG9yPVwiIzI4NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MjJcIiBzdG9wQ29sb3I9XCIjMjk1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQzXCIgc3RvcENvbG9yPVwiIzI5NTRCMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MzhcIiBzdG9wQ29sb3I9XCIjMjk1NEIxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ0NVwiIHN0b3BDb2xvcj1cIiMyOTU1QjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDUzXCIgc3RvcENvbG9yPVwiIzJBNTZCM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjFcIiBzdG9wQ29sb3I9XCIjMkE1NkI0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ2OVwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDc3XCIgc3RvcENvbG9yPVwiIzJBNThCNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40ODRcIiBzdG9wQ29sb3I9XCIjMkI1OEI3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ5MlwiIHN0b3BDb2xvcj1cIiMyQjU5QjhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNVwiIHN0b3BDb2xvcj1cIiMyQjVBQjlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTA4XCIgc3RvcENvbG9yPVwiIzJDNUFCQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MTZcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUyM1wiIHN0b3BDb2xvcj1cIiMyQzVDQkNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTMxXCIgc3RvcENvbG9yPVwiIzJDNUNCRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MzlcIiBzdG9wQ29sb3I9XCIjMkQ1REJFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU0N1wiIHN0b3BDb2xvcj1cIiMyRDVFQkZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTU1XCIgc3RvcENvbG9yPVwiIzJENUVDMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NjNcIiBzdG9wQ29sb3I9XCIjMkQ1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU3XCIgc3RvcENvbG9yPVwiIzJFNjBDMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NzhcIiBzdG9wQ29sb3I9XCIjMkU2MEMzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU4NlwiIHN0b3BDb2xvcj1cIiMyRTYxQzRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTk0XCIgc3RvcENvbG9yPVwiIzJFNjFDNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDJcIiBzdG9wQ29sb3I9XCIjMkY2MkM2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYwOVwiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjE3XCIgc3RvcENvbG9yPVwiIzJGNjNDOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MjVcIiBzdG9wQ29sb3I9XCIjMzA2NEM5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYzM1wiIHN0b3BDb2xvcj1cIiMzMDY1Q0FcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQxXCIgc3RvcENvbG9yPVwiIzMwNjVDQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NDhcIiBzdG9wQ29sb3I9XCIjMzA2NkNCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY1NlwiIHN0b3BDb2xvcj1cIiMzMTY3Q0NcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjY0XCIgc3RvcENvbG9yPVwiIzMxNjdDRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NzJcIiBzdG9wQ29sb3I9XCIjMzE2OENFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY4XCIgc3RvcENvbG9yPVwiIzMxNjlDRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42ODhcIiBzdG9wQ29sb3I9XCIjMzI2OUQwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY5NVwiIHN0b3BDb2xvcj1cIiMzMjZBRDFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzAxXCIgc3RvcENvbG9yPVwiIzMyNkJEMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MDNcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxMVwiIHN0b3BDb2xvcj1cIiMzMjZCRDNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzE5XCIgc3RvcENvbG9yPVwiIzMzNkNENFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MjdcIiBzdG9wQ29sb3I9XCIjMzM2REQ1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjczNFwiIHN0b3BDb2xvcj1cIiMzMzZERDZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzQyXCIgc3RvcENvbG9yPVwiIzM0NkVEN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NVwiIHN0b3BDb2xvcj1cIiMzNDZGRDhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzU4XCIgc3RvcENvbG9yPVwiIzM0NkZEOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NjZcIiBzdG9wQ29sb3I9XCIjMzQ3MERBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc3M1wiIHN0b3BDb2xvcj1cIiMzNTcwREJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzgxXCIgc3RvcENvbG9yPVwiIzM1NzFEQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODlcIiBzdG9wQ29sb3I9XCIjMzU3MkREXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc5N1wiIHN0b3BDb2xvcj1cIiMzNTcyREVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODA1XCIgc3RvcENvbG9yPVwiIzM2NzNERlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MTNcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyXCIgc3RvcENvbG9yPVwiIzM2NzRFMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MjhcIiBzdG9wQ29sb3I9XCIjMzc3NUUyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgzNlwiIHN0b3BDb2xvcj1cIiMzNzc2RTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODQ0XCIgc3RvcENvbG9yPVwiIzM3NzZFNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTJcIiBzdG9wQ29sb3I9XCIjMzc3N0U1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg1OVwiIHN0b3BDb2xvcj1cIiMzODc4RTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODY3XCIgc3RvcENvbG9yPVwiIzM4NzhFN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NzVcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg4M1wiIHN0b3BDb2xvcj1cIiMzODdBRThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODkxXCIgc3RvcENvbG9yPVwiIzM5N0FFOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44OThcIiBzdG9wQ29sb3I9XCIjMzk3QkVBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkwNlwiIHN0b3BDb2xvcj1cIiMzOTdDRUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTE0XCIgc3RvcENvbG9yPVwiIzM5N0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MjJcIiBzdG9wQ29sb3I9XCIjM0E3REVEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkzXCIgc3RvcENvbG9yPVwiIzNBN0RFRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MzhcIiBzdG9wQ29sb3I9XCIjM0E3RUVGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk0NVwiIHN0b3BDb2xvcj1cIiMzQjdGRjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTUzXCIgc3RvcENvbG9yPVwiIzNCN0ZGMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjFcIiBzdG9wQ29sb3I9XCIjM0I4MEYyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk2OVwiIHN0b3BDb2xvcj1cIiMzQjgxRjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTc3XCIgc3RvcENvbG9yPVwiIzNDODFGNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45ODRcIiBzdG9wQ29sb3I9XCIjM0M4MkY1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI3MTY5OWMwOTkyXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTAgNS40NzNoMTEuNzczdjE4LjE0NEgxMHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjM5YzQ5NjUzNDRcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNTUgMjMuNDY5Yy0uMzc1IDAtLjc3LS4wNzgtMS4xMy0uMjY2LTEuMzEyLS42MTctMS44NzgtMi4xOTUtMS4yNTctMy40OTJsNi4wMzEtMTIuNzE1Yy42MTctMS4zMTIgMi4xOTYtMS44NzkgMy40OTItMS4yNTggMS4zMTcuNjIxIDEuODggMi4yIDEuMjU4IDMuNDkybC02LjAyNyAxMi43MTVjLS40MzQuOTc3LTEuMzcxIDEuNTI0LTIuMzY3IDEuNTI0em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGxpbmVhckdyYWRpZW50XG4gICAgICAgIGlkPVwiNWM0OTNlODQ1OVwiXG4gICAgICAgIHgxPVwiMTg4Ljk5NlwiXG4gICAgICAgIHgyPVwiMTMwLjc5M1wiXG4gICAgICAgIHkxPVwiLTAuMzIzXCJcbiAgICAgICAgeTI9XCIyMTQuNjkxXCJcbiAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoNC4zNTUgNS40NzkpIHNjYWxlKC4wOTE3NClcIlxuICAgICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMDhcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAxNlwiIHN0b3BDb2xvcj1cIiMxRTNCOEJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDIzXCIgc3RvcENvbG9yPVwiIzFGM0I4Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMzFcIiBzdG9wQ29sb3I9XCIjMUYzQzhEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAzOVwiIHN0b3BDb2xvcj1cIiMxRjNDOEVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDQ3XCIgc3RvcENvbG9yPVwiIzFGM0Q4RlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNTVcIiBzdG9wQ29sb3I9XCIjMjAzRTkwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA2M1wiIHN0b3BDb2xvcj1cIiMyMDNFOTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDdcIiBzdG9wQ29sb3I9XCIjMjAzRjkxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA3OFwiIHN0b3BDb2xvcj1cIiMyMDNGOTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDg2XCIgc3RvcENvbG9yPVwiIzIxNDA5M1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wOTRcIiBzdG9wQ29sb3I9XCIjMjE0MTk0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwMlwiIHN0b3BDb2xvcj1cIiMyMTQxOTVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTA5XCIgc3RvcENvbG9yPVwiIzIxNDI5NlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMTdcIiBzdG9wQ29sb3I9XCIjMjI0Mjk2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEyNVwiIHN0b3BDb2xvcj1cIiMyMjQzOTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTMzXCIgc3RvcENvbG9yPVwiIzIyNDM5OFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDFcIiBzdG9wQ29sb3I9XCIjMjQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE0OFwiIHN0b3BDb2xvcj1cIiMyMzQ1OUFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTVcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1NlwiIHN0b3BDb2xvcj1cIiMyMzQ1OUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTY0XCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNzJcIiBzdG9wQ29sb3I9XCIjMjM0NjlDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE4XCIgc3RvcENvbG9yPVwiIzIzNDc5RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xODhcIiBzdG9wQ29sb3I9XCIjMjQ0ODlFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE5NVwiIHN0b3BDb2xvcj1cIiMyNDQ4OUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjAzXCIgc3RvcENvbG9yPVwiIzI0NDlBMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTFcIiBzdG9wQ29sb3I9XCIjMjQ0OUExXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIxOVwiIHN0b3BDb2xvcj1cIiMyNTRBQTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjI3XCIgc3RvcENvbG9yPVwiIzI1NEFBMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMzRcIiBzdG9wQ29sb3I9XCIjMjU0QkEzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI0MlwiIHN0b3BDb2xvcj1cIiMyNTRDQTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjVcIiBzdG9wQ29sb3I9XCIjMjY0Q0E1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1OFwiIHN0b3BDb2xvcj1cIiMyNjREQTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjY2XCIgc3RvcENvbG9yPVwiIzI2NERBN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNzNcIiBzdG9wQ29sb3I9XCIjMjY0RUE4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4MVwiIHN0b3BDb2xvcj1cIiMyNzRFQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjg5XCIgc3RvcENvbG9yPVwiIzI3NEZBOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTdcIiBzdG9wQ29sb3I9XCIjMjc1MEFBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMwNVwiIHN0b3BDb2xvcj1cIiMyNzUwQUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzEzXCIgc3RvcENvbG9yPVwiIzI4NTFBQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMlwiIHN0b3BDb2xvcj1cIiMyODUxQURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzI4XCIgc3RvcENvbG9yPVwiIzI4NTJBRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMzZcIiBzdG9wQ29sb3I9XCIjMjg1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM0NFwiIHN0b3BDb2xvcj1cIiMyOTUzQUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzUyXCIgc3RvcENvbG9yPVwiIzI5NTRCMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTlcIiBzdG9wQ29sb3I9XCIjMjk1NEIxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM2N1wiIHN0b3BDb2xvcj1cIiMyOTU1QjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzc1XCIgc3RvcENvbG9yPVwiIzI5NTVCM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zODNcIiBzdG9wQ29sb3I9XCIjMkE1NkI0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5MVwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzk4XCIgc3RvcENvbG9yPVwiIzJBNTdCNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MDZcIiBzdG9wQ29sb3I9XCIjMkE1OEI2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQxNFwiIHN0b3BDb2xvcj1cIiMyQjU4QjdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDIyXCIgc3RvcENvbG9yPVwiIzJCNTlCOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40M1wiIHN0b3BDb2xvcj1cIiMyQjU5QjlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDM4XCIgc3RvcENvbG9yPVwiIzJCNUFCQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NDVcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ1M1wiIHN0b3BDb2xvcj1cIiMyQzVCQkJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDYxXCIgc3RvcENvbG9yPVwiIzJDNUNCQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjlcIiBzdG9wQ29sb3I9XCIjMkM1Q0JEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ3N1wiIHN0b3BDb2xvcj1cIiMyRDVEQkVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDg0XCIgc3RvcENvbG9yPVwiIzJENUVCRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40OTJcIiBzdG9wQ29sb3I9XCIjMkQ1RUMwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wQ29sb3I9XCIjMkQ1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUwOFwiIHN0b3BDb2xvcj1cIiMyRTVGQzFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTE2XCIgc3RvcENvbG9yPVwiIzJFNjBDMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MjNcIiBzdG9wQ29sb3I9XCIjMkU2MEMzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzMVwiIHN0b3BDb2xvcj1cIiMyRTYxQzRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTM5XCIgc3RvcENvbG9yPVwiIzJGNjJDNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NDdcIiBzdG9wQ29sb3I9XCIjMkY2MkM2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU1NVwiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTYzXCIgc3RvcENvbG9yPVwiIzJGNjNDN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41N1wiIHN0b3BDb2xvcj1cIiMyRjY0QzhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTc4XCIgc3RvcENvbG9yPVwiIzMwNjRDOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41ODZcIiBzdG9wQ29sb3I9XCIjMzA2NUNBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU5NFwiIHN0b3BDb2xvcj1cIiMzMDY2Q0JcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjAyXCIgc3RvcENvbG9yPVwiIzMwNjZDQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDlcIiBzdG9wQ29sb3I9XCIjMzE2N0NEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYxN1wiIHN0b3BDb2xvcj1cIiMzMTY3Q0RcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjI1XCIgc3RvcENvbG9yPVwiIzMxNjhDRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MzNcIiBzdG9wQ29sb3I9XCIjMzE2OUNGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0MVwiIHN0b3BDb2xvcj1cIiMzMjY5RDBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQ4XCIgc3RvcENvbG9yPVwiIzMyNkFEMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NTZcIiBzdG9wQ29sb3I9XCIjMzI2QUQyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY2NFwiIHN0b3BDb2xvcj1cIiMzMjZCRDNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjcyXCIgc3RvcENvbG9yPVwiIzMzNkJENFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OFwiIHN0b3BDb2xvcj1cIiMzMzZDRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjg4XCIgc3RvcENvbG9yPVwiIzMzNkRENVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OTVcIiBzdG9wQ29sb3I9XCIjMzM2REQ2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcwM1wiIHN0b3BDb2xvcj1cIiMzNDZFRDdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzExXCIgc3RvcENvbG9yPVwiIzM0NkVEOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MTlcIiBzdG9wQ29sb3I9XCIjMzQ2RkQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcyN1wiIHN0b3BDb2xvcj1cIiMzNDcwREFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzM0XCIgc3RvcENvbG9yPVwiIzM0NzBEQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NDJcIiBzdG9wQ29sb3I9XCIjMzU3MURCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc1XCIgc3RvcENvbG9yPVwiIzM1NzFEQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NThcIiBzdG9wQ29sb3I9XCIjMzU3MkREXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc2NlwiIHN0b3BDb2xvcj1cIiMzNTcyREVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzczXCIgc3RvcENvbG9yPVwiIzM2NzNERlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODFcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc4OVwiIHN0b3BDb2xvcj1cIiMzNjc0RTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzk3XCIgc3RvcENvbG9yPVwiIzM2NzVFMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MDVcIiBzdG9wQ29sb3I9XCIjMzc3NUUyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgxM1wiIHN0b3BDb2xvcj1cIiMzNzc2RTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODJcIiBzdG9wQ29sb3I9XCIjMzc3NkU0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyOFwiIHN0b3BDb2xvcj1cIiMzNzc3RTVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODM2XCIgc3RvcENvbG9yPVwiIzM4NzhFNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NDRcIiBzdG9wQ29sb3I9XCIjMzg3OEU2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg1XCIgc3RvcENvbG9yPVwiIzM4NzlFN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTJcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg1OVwiIHN0b3BDb2xvcj1cIiMzODc5RThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODY3XCIgc3RvcENvbG9yPVwiIzM5N0FFOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NzVcIiBzdG9wQ29sb3I9XCIjMzk3QkVBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg4M1wiIHN0b3BDb2xvcj1cIiMzOTdCRUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODkxXCIgc3RvcENvbG9yPVwiIzM5N0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44OThcIiBzdG9wQ29sb3I9XCIjM0E3Q0VDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkwNlwiIHN0b3BDb2xvcj1cIiMzQTdERURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTE0XCIgc3RvcENvbG9yPVwiIzNBN0RFRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MjJcIiBzdG9wQ29sb3I9XCIjM0E3RUVGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkzXCIgc3RvcENvbG9yPVwiIzNBN0ZGMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MzhcIiBzdG9wQ29sb3I9XCIjM0I3RkYxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk0NVwiIHN0b3BDb2xvcj1cIiMzQjgwRjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTUzXCIgc3RvcENvbG9yPVwiIzNCODBGMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjFcIiBzdG9wQ29sb3I9XCIjM0I4MUYzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk2OVwiIHN0b3BDb2xvcj1cIiMzQzgxRjRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wQ29sb3I9XCIjM0M4MkY1XCI+PC9zdG9wPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjhkMGM1M2JiMmNcIj5cbiAgICAgICAgPHBhdGggZD1cIk00LjM1NSA1LjQ3M0gxNnYxOC4xNDRINC4zNTV6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI4MDA3ZDZlZTBiXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDc0IDIzLjYyMWMtLjk4IDAtMS45NDEtLjU2Ni0yLjM5NC0xLjUxMkw0LjYyIDkuMzM2YTIuNjI4IDIuNjI4IDAgMDExLjI2Mi0zLjUwOEEyLjYzMiAyLjYzMiAwIDAxOS4zOTUgNy4wOWw2LjA1OCAxMi43NzNhMi42MzkgMi42MzkgMCAwMS0xLjI2NSAzLjUxMmMtLjM2LjE2OC0uNzM1LjI0Ni0xLjExNC4yNDZ6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8aW1hZ2VcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFVQ0FZQUFBQ0FsMjFLQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQWxVbEVRVlE0amEyVHdRcUVNQXdGUjEzdC83Ti9xdXpkaTRHYXRja0xLQlI4Z3ROTTJrekFGemlBdlZ1V2Y0alBERFJndTFaeitWTUJQUUg2WEs2b2NRZlkrMUlCUlhwTkJVVUF5M08xSXEvWGY1TXFHdjNjYnhCV2xSMi96NUthb2pkbGFxcmVzRmZxOGFkNnZ0a0s4TEdxVWJPejI1NVdwT3I5d2FKWkt3MXoxT3hNYi9PZ1YvVHMybGNCbGxjUFdrU2Q0VENmNDh3TkQycXZFbHdBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICA+PC9pbWFnZT5cbiAgICAgIDxtYXNrIGlkPVwiYzg4MmVhMzlhOFwiPlxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2JkZWYxNzBjMzkpXCI+XG4gICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFsVWxFUVZRNGphMlR3UXFFTUF3RlIxM3QvN04vcXV6ZGk0R2F0Y2tMS0JSOGd0Tk0ya3pBRnppQXZWdVdmNGpQRERSZ3UxWnorVk1CUFFINlhLNm9jUWZZKzFJQlJYcE5CVVVBeTNPMUlxL1hmNU1xR3YzY2J4QldsUjIvejVLYW9qZGxhcXJlc0ZmcThhZDZ2dGtLOExHcVViT3oyNTVXcE9yOXdhSlpLdzF6MU94TWIvT2dWL1RzMmxjQmxsY1BXa1NkNFRDZjQ4d05EMnF2RWx3QUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgICAgID48L2ltYWdlPlxuICAgICAgICA8L2c+XG4gICAgICA8L21hc2s+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI5NzkxZDVhMDlkXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMCAwSDE4VjIwSDB6XCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxwYXR0ZXJuXG4gICAgICAgIGlkPVwiZTZlN2VjMzkxZVwiXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwYXR0ZXJuVHJhbnNmb3JtPVwibWF0cml4KC45Njc3NCAwIDAgLS45Njc3NCA0LjM1NSAyNC4xMTYpXCJcbiAgICAgICAgcGF0dGVyblVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTggMjBcIlxuICAgICAgPlxuICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjOTc5MWQ1YTA5ZClcIiBtYXNrPVwidXJsKCNjODgyZWEzOWE4KVwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBmaWxsPVwiIzNjODJmNVwiXG4gICAgICAgICAgICBkPVwiTS0yNC45NiAtMTIuOUgxMDguOTU5OTk5OTk5OTk5OThWMzEuNzQwMDAwMDAwMDAwMDAySC0yNC45NnpcIlxuICAgICAgICAgID48L3BhdGg+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvcGF0dGVybj5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImI2MDgwYTY0YTVcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMCA1LjQ3M2gxMS43NzN2MTguMTQ0SDEwem0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiMmVjM2VjYmQxNFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjA1NSAyMy42MjFjLS4zNzUgMC0uNzc0LS4wNzgtMS4xMzMtLjI2Ni0xLjMyLS42Mi0xLjg4Ny0yLjIwNy0xLjI2Mi0zLjUwN0wxNi43MiA3LjA3NGMuNjItMS4zMjQgMi4yMDctMS44OSAzLjUwOC0xLjI2NSAxLjMyLjYyIDEuODg2IDIuMjA3IDEuMjY1IDMuNTA3TDE1LjQzNCAyMi4wOWMtLjQzNC45OC0xLjM4IDEuNTMxLTIuMzggMS41MzF6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8aW1hZ2VcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFVQ0FZQUFBQ0FsMjFLQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQWRrbEVRVlE0amIzUzBRckFJQWdGVUFmNy84L2RCclhhUzRFVEs2K09YWWhFNkJUU1JrU1Y1c2x0SmJHL2V2c0VrQWNocUtLQWhJb1g0TkFWQVRoMFJJQ3ZvYXhCRU5CckRya0FEcDBSUUw3b04yaDV5UW95ejIwRVFYOUlnMkNnMXhISS9MT1J1ZDBJcFBVS3RYaWdSRW9zRUsrSGVRRDJDVU5hdStBRDBRQUFBQUJKUlU1RXJrSmdnZz09XCJcbiAgICAgID48L2ltYWdlPlxuICAgICAgPG1hc2sgaWQ9XCJkN2RkYTFhMDYzXCI+XG4gICAgICAgIDxnIGZpbHRlcj1cInVybCgjYmRlZjE3MGMzOSlcIj5cbiAgICAgICAgICA8aW1hZ2VcbiAgICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFVQ0FZQUFBQ0FsMjFLQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQWRrbEVRVlE0amIzUzBRckFJQWdGVUFmNy84L2RCclhhUzRFVEs2K09YWWhFNkJUU1JrU1Y1c2x0SmJHL2V2c0VrQWNocUtLQWhJb1g0TkFWQVRoMFJJQ3ZvYXhCRU5CckRya0FEcDBSUUw3b04yaDV5UW95ejIwRVFYOUlnMkNnMXhISS9MT1J1ZDBJcFBVS3RYaWdSRW9zRUsrSGVRRDJDVU5hdStBRDBRQUFBQUJKUlU1RXJrSmdnZz09XCJcbiAgICAgICAgICA+PC9pbWFnZT5cbiAgICAgICAgPC9nPlxuICAgICAgPC9tYXNrPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiYzg3YzE4YjZjOFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTAgMEgxOFYyMEgwelwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8cGF0dGVyblxuICAgICAgICBpZD1cImY4YzQyZDk3NzRcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgcGF0dGVyblRyYW5zZm9ybT1cIm1hdHJpeCguOTY3NzQgMCAwIC0uOTY3NzQgNC4zNTUgMjQuMTE2KVwiXG4gICAgICAgIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDIwXCJcbiAgICAgID5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2M4N2MxOGI2YzgpXCIgbWFzaz1cInVybCgjZDdkZGExYTA2MylcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIiMzYzgyZjVcIlxuICAgICAgICAgICAgZD1cIk0tMjQuOTYgLTEyLjlIMTA4Ljk1OTk5OTk5OTk5OTk4VjMxLjc0MDAwMDAwMDAwMDAwMkgtMjQuOTZ6XCJcbiAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L3BhdHRlcm4+XG4gICAgPC9kZWZzPlxuICAgIDxnIGNsaXBQYXRoPVwidXJsKCNhZTg1ZjVhNDdkKVwiPlxuICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzk0Nzk0OTNhNDIpXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbD1cInVybCgjOTBhNTRmZWJlYylcIlxuICAgICAgICAgIGQ9XCJNNC4zNTUgNS40NzN2MTcuOTk2SDE2LjA2VjUuNDczem0wIDBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjNzE2OTljMDk5MilcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCMzOWM0OTY1MzQ0KVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoIzVjNDkzZTg0NTkpXCJcbiAgICAgICAgICBkPVwiTTEwLjA0NyA1LjQ3M3YxNy45OTZoMTEuNzI2VjUuNDczem0wIDBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk01Ljc2Ni4xNzJjLTEuMDI0IDAtMS45MTQtLjIxOS0yLjY3Mi0uNjU2YTQuNzgzIDQuNzgzIDAgMDEtMS43OTctMS44NmMtLjQzLS43ODktLjY0LTEuNzA3LS42NC0yLjc1IDAtMS4wMzEuMjEtMS45NDEuNjQtMi43MzRhNC44MzcgNC44MzcgMCAwMTEuNzk3LTEuODZjLjc1OC0uNDQ1IDEuNjQ4LS42NzEgMi42NzItLjY3MSAxIDAgMS44ODIuMjI2IDIuNjU2LjY3MS43Ny40NSAxLjM2NyAxLjA3IDEuNzk3IDEuODYuNDI2Ljc5My42NCAxLjcwMy42NCAyLjczNCAwIDEuMDQzLS4yMTQgMS45NjEtLjY0IDIuNzVhNC42NzcgNC42NzcgMCAwMS0xLjc5NyAxLjg2Yy0uNzc0LjQzNy0xLjY1Ni42NTYtMi42NTYuNjU2em0wLTEuNjcyYy45NjggMCAxLjczOC0uMzE2IDIuMzEyLS45NTMuNTgyLS42NDUuODc1LTEuNTI0Ljg3NS0yLjY0IDAtMS4xMTQtLjI5My0xLjk4OS0uODc1LTIuNjI2LS41NzQtLjY0NC0xLjM0NC0uOTY4LTIuMzEyLS45NjgtLjk3IDAtMS43NDYuMzI0LTIuMzI5Ljk2OC0uNTg1LjYzNy0uODc0IDEuNTEyLS44NzQgMi42MjUgMCAxLjExNy4yODkgMS45OTYuODc0IDIuNjQuNTgzLjYzOCAxLjM2Ljk1NCAyLjMyOS45NTR6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjQuNjM2IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjY1Ni4xNzJjLS45MDYgMC0xLjYwNS0uMjgxLTIuMDk0LS44NDRDMS4wNy0xLjIzNC44MjktMi4wNTUuODI5LTMuMTR2LTQuMDc4aDEuODQ0djMuOTA3YzAgLjYxNy4xMjUgMS4wOS4zNzUgMS40MjEuMjU4LjMzNi42Ni41IDEuMjAzLjUuNTA4IDAgLjkzLS4xOCAxLjI2Ni0uNTQ2LjMzMi0uMzc1LjUtLjg5MS41LTEuNTQ3Vi03LjIySDcuODlWMEg2LjIzNGwtLjE0LTEuMjE5YTIuNDUgMi40NSAwIDAxLS45NjkgMS4wMTZjLS40MTguMjUtLjkwNi4zNzUtMS40NjkuMzc1em0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDM1LjExNCAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNLjk1MyAwdi03LjIxOUgyLjYxbC4xNzIgMS4zNmEyLjkyOSAyLjkyOSAwIDAxMS4wNjMtMS4xMWMuNDU3LS4yODEuOTg4LS40MjIgMS41OTQtLjQyMnYxLjk3aC0uNTE2YTMgMyAwIDAwLTEuMDk0LjE4NyAxLjQzIDEuNDMgMCAwMC0uNzUuNjU2Yy0uMTguMzEyLS4yNjUuNzQ2LS4yNjUgMS4yOTdWMHptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0Mi45MzIgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTMuOTM4IDBMLjIxNy0xMC4xODhoMmwyLjg3NiA4LjI4MiAyLjg5LTguMjgxaDEuOTdMNi4yMTggMHptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0Ny42NyAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNNC40NTMuMTcyYy0uNzMgMC0xLjM3NS0uMTUyLTEuOTM3LS40NTNhMy40MDQgMy40MDQgMCAwMS0xLjMyOS0xLjMxM0MuODc1LTIuMTU2LjcyLTIuODA0LjcyLTMuNTQ3YzAtLjc1LjE1Ni0xLjQxNC40NjktMmEzLjM5NyAzLjM5NyAwIDAxMS4yOTYtMS4zNmMuNTYzLS4zMiAxLjIyMy0uNDg0IDEuOTg1LS40ODQuNzA3IDAgMS4zMzIuMTU3IDEuODc1LjQ3LjUzOS4zMTIuOTYuNzQxIDEuMjY1IDEuMjguMzEzLjUzMi40NyAxLjEyNS40NyAxLjc4MiAwIC4xMTctLjAwOS4yMy0uMDE3LjM0MyAwIC4xMTgtLjAwNy4yMzUtLjAxNS4zNkgyLjU2MmMuMDQuNTYyLjIzOSAxLjAwOC41OTQgMS4zMjguMzUyLjMxMi43ODEuNDY5IDEuMjgxLjQ2OS4zNzUgMCAuNjkyLS4wODIuOTU0LS4yNS4yNTctLjE2NC40NTMtLjM4My41NzgtLjY1N2gxLjg5QTMuNDQ3IDMuNDQ3IDAgMDE2LjAxNS0uMTRhMy43NyAzLjc3IDAgMDEtMS41NjIuMzEzem0uMDE2LTYuMDQ3Yy0uNDYxIDAtLjg2Ny4xMzMtMS4yMTkuMzktLjM0NC4yNS0uNTYzLjYzNy0uNjU2IDEuMTU3aDMuNTk0Yy0uMDMyLS40NjktLjIxMS0uODQ0LS41MzItMS4xMjUtLjMyNC0uMjgxLS43MTgtLjQyMi0xLjE4Ny0uNDIyem0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2LjgxMSAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNLjk1MyAwdi03LjIxOUgyLjYxbC4xNzIgMS4zNmEyLjkyOSAyLjkyOSAwIDAxMS4wNjMtMS4xMWMuNDU3LS4yODEuOTg4LS40MjIgMS41OTQtLjQyMnYxLjk3aC0uNTE2YTMgMyAwIDAwLTEuMDk0LjE4NyAxLjQzIDEuNDMgMCAwMC0uNzUuNjU2Yy0uMTguMzEyLS4yNjUuNzQ2LS4yNjUgMS4yOTdWMHptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2NC40ODQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTMuOTIyLjE3MmMtLjYzNyAwLTEuMi0uMTA2LTEuNjg4LS4zMTMtLjQ4LS4yMDctLjg2Ny0uNDkyLTEuMTU2LS44NTlhMi41OCAyLjU4IDAgMDEtLjUzMS0xLjI4MWgxLjg3NWMuMDYyLjI4MS4yMTkuNTIzLjQ2OS43MTkuMjU3LjE5OS41OTcuMjk2IDEuMDE1LjI5Ni40MDYgMCAuNzAzLS4wODIuODktLjI1LjE4OC0uMTY0LjI4Mi0uMzUxLjI4Mi0uNTYyIDAtLjMxMy0uMTM3LS41Mi0uNDA2LS42MjVhNy45OTQgNy45OTQgMCAwMC0xLjE0LS4zNDQgMTEuMjggMTEuMjggMCAwMS0uOTU0LS4yMzQgNS4wNDQgNS4wNDQgMCAwMS0uODc1LS4zNzUgMi4wODEgMi4wODEgMCAwMS0uNjQtLjU3OGMtLjE2OC0uMjM5LS4yNS0uNTM2LS4yNS0uODkxIDAtLjYzMy4yNTMtMS4xNzIuNzY1LTEuNjEuNTA4LS40MzcgMS4yMjMtLjY1NiAyLjE0LS42NTYuODUyIDAgMS41MzYuMiAyLjA0OC41OTQuNTA3LjM5OS44MTIuOTQ1LjkwNiAxLjY0aC0xLjc1Yy0uMTE3LS41My0uNTI0LS43OTYtMS4yMTktLjc5Ni0uMzQ0IDAtLjYxLjA3LS43OTcuMjAzLS4xODcuMTM3LS4yODEuMzA5LS4yODEuNTE2IDAgLjIxLjE0LjM4Mi40MjIuNTE1LjI4MS4xMjUuNjQ4LjI0MiAxLjExLjM0NC41MDcuMTE3Ljk3Mi4yNDYgMS4zOS4zOS40MjYuMTM3Ljc2Ni4zNDQgMS4wMTYuNjI2LjI1LjI3My4zNzUuNjY0LjM3NSAxLjE3MS4wMDcuNDUtLjExLjg1Ni0uMzYgMS4yMi0uMjQyLjM1NS0uNTkuNjM2LTEuMDQ3Ljg0My0uNDQ5LjE5NS0uOTg0LjI5Ny0xLjYxLjI5N3ptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2OS4yMjIgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTQuNDUzLjE3MmMtLjczIDAtMS4zNzUtLjE1Mi0xLjkzNy0uNDUzYTMuNDA0IDMuNDA0IDAgMDEtMS4zMjktMS4zMTNDLjg3NS0yLjE1Ni43Mi0yLjgwNC43Mi0zLjU0N2MwLS43NS4xNTYtMS40MTQuNDY5LTJhMy4zOTcgMy4zOTcgMCAwMTEuMjk2LTEuMzZjLjU2My0uMzIgMS4yMjMtLjQ4NCAxLjk4NS0uNDg0LjcwNyAwIDEuMzMyLjE1NyAxLjg3NS40Ny41MzkuMzEyLjk2Ljc0MSAxLjI2NSAxLjI4LjMxMy41MzIuNDcgMS4xMjUuNDcgMS43ODIgMCAuMTE3LS4wMDkuMjMtLjAxNy4zNDMgMCAuMTE4LS4wMDcuMjM1LS4wMTUuMzZIMi41NjJjLjA0LjU2Mi4yMzkgMS4wMDguNTk0IDEuMzI4LjM1Mi4zMTIuNzgxLjQ2OSAxLjI4MS40NjkuMzc1IDAgLjY5Mi0uMDgyLjk1NC0uMjUuMjU3LS4xNjQuNDUzLS4zODMuNTc4LS42NTdoMS44OUEzLjQ0NyAzLjQ0NyAwIDAxNi4wMTUtLjE0YTMuNzcgMy43NyAwIDAxLTEuNTYyLjMxM3ptLjAxNi02LjA0N2MtLjQ2MSAwLS44NjcuMTMzLTEuMjE5LjM5LS4zNDQuMjUtLjU2My42MzctLjY1NiAxLjE1N2gzLjU5NGMtLjAzMi0uNDY5LS4yMTEtLjg0NC0uNTMyLTEuMTI1LS4zMjQtLjI4MS0uNzE4LS40MjItMS4xODctLjQyMnptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3NS44MzQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxnIGNsaXBQYXRoPVwidXJsKCM4ZDBjNTNiYjJjKVwiPlxuICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzgwMDdkNmVlMGIpXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbD1cInVybCgjZTZlN2VjMzkxZSlcIlxuICAgICAgICAgIGQ9XCJNNC4zNTUgNS40NzNoMTEuNzJ2MTguMTQ0SDQuMzU0em0wIDBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjYjYwODBhNjRhNSlcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCMyZWMzZWNiZDE0KVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoI2Y4YzQyZDk3NzQpXCJcbiAgICAgICAgICBkPVwiTTEwLjAzNSA1LjQ3M2gxMS43Mzh2MTguMTQ0SDEwLjAzNXptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuICApXG59XG4iXSwibmFtZXMiOlsiTG9nbyIsInByb3BzIiwic3ZnIiwieG1sbnMiLCJ4bWxuc1hsaW5rIiwid2lkdGgiLCJoZWlnaHQiLCJ2ZXJzaW9uIiwidmlld0JveCIsImRlZnMiLCJmaWx0ZXIiLCJpZCIsIngiLCJ5IiwiZmVDb2xvck1hdHJpeCIsImNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnMiLCJ2YWx1ZXMiLCJjbGlwUGF0aCIsInBhdGgiLCJkIiwibGluZWFyR3JhZGllbnQiLCJ4MSIsIngyIiwieTEiLCJ5MiIsImdyYWRpZW50VHJhbnNmb3JtIiwiZ3JhZGllbnRVbml0cyIsInN0b3AiLCJvZmZzZXQiLCJzdG9wQ29sb3IiLCJpbWFnZSIsInByZXNlcnZlQXNwZWN0UmF0aW8iLCJ4bGlua0hyZWYiLCJtYXNrIiwiZyIsInBhdHRlcm4iLCJwYXR0ZXJuVHJhbnNmb3JtIiwicGF0dGVyblVuaXRzIiwiZmlsbCIsInRyYW5zZm9ybSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Logo.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Schedule.jsx": -/*!*************************************!*\ - !*** ./src/components/Schedule.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Schedule: function() { return /* binding */ Schedule; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(app-pages-browser)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* __next_internal_client_entry_do_not_use__ Schedule auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\nconst schedule = [\n {\n date: \"April 4\",\n dateTime: \"2022-04-04\",\n summary: \"The first day of the conference is focused on dark patterns for ecommerce.\",\n timeSlots: [\n {\n name: \"Steven McHail\",\n description: \"Not so one-time payments\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Jaquelin Isch\",\n description: \"The finer print\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Dianne Guilianelli\",\n description: \"Post-purchase blackmail\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Ronni Cantadore\",\n description: \"Buy or die\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Erhart Cockrin\",\n description: \"In-person cancellation\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Parker Johnson\",\n description: \"The pay/cancel switcheroo\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 5\",\n dateTime: \"2022-04-05\",\n summary: \"Next we spend the day talking about deceiving people with technology.\",\n timeSlots: [\n {\n name: \"Damaris Kimura\",\n description: \"The invisible card reader\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Ibrahim Frasch\",\n description: \"Stealing fingerprints\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Cathlene Burrage\",\n description: \"Voting machines\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Rinaldo Beynon\",\n description: \"Blackhat SEO that works\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Waylon Hyden\",\n description: \"Turning your audience into a botnet\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Giordano Sagucio\",\n description: \"Fly phishing\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 6\",\n dateTime: \"2022-04-06\",\n summary: \"We close out the event previewing new techniques that are still in development.\",\n timeSlots: [\n {\n name: \"Andrew Greene\",\n description: \"Neuralink dark patterns\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Heather Terry\",\n description: \"DALL-E for passports\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Piers Wilkins\",\n description: \"Quantum password cracking\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Gordon Sanderson\",\n description: \"SkyNet is coming\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Kimberly Parsons\",\n description: \"Dark patterns for the metaverse\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Richard Astley\",\n description: \"Knowing the game and playing it\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n }\n];\nfunction ScheduleTabbed() {\n _s();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let smMediaQuery = window.matchMedia(\"(min-width: 640px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(smMediaQuery);\n smMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n smMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabGroup, {\n className: \"mx-auto grid max-w-2xl grid-cols-1 gap-y-6 sm:grid-cols-2 lg:hidden\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabList, {\n className: \"-mx-4 flex gap-x-4 gap-y-10 overflow-x-auto pb-4 pl-4 sm:mx-0 sm:flex-col sm:pb-0 sm:pl-0 sm:pr-8\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: schedule.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"relative w-3/4 flex-none pr-4 sm:w-auto sm:pr-0\", dayIndex !== selectedIndex && \"opacity-70\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: {\n ...day,\n date: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 202,\n columnNumber: 25\n }, void 0),\n day.date\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 201,\n columnNumber: 23\n }, void 0)\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 197,\n columnNumber: 17\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 190,\n columnNumber: 15\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 186,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanels, {\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanel, {\n className: \"ui-not-focus-visible:outline-none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 219,\n columnNumber: 13\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 213,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 182,\n columnNumber: 5\n }, this);\n}\n_s(ScheduleTabbed, \"PA0UdhBatJoZrK3UQwLJY5ZxHuI=\");\n_c = ScheduleTabbed;\nfunction DaySummary(param) {\n let { day } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-semibold tracking-tight text-blue-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 230,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1.5 text-base tracking-tight text-blue-900\",\n children: day.summary\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 233,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\n_c1 = DaySummary;\nfunction TimeSlots(param) {\n let { day, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ol\", {\n role: \"list\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(className, \"space-y-8 bg-white/60 px-10 py-14 text-center shadow-xl shadow-blue-900/5 backdrop-blur\"),\n children: day.timeSlots.map((timeSlot, timeSlotIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n \"aria-label\": `${timeSlot.name} talking about ${timeSlot.description} at ${timeSlot.start} - ${timeSlot.end} PST`,\n children: [\n timeSlotIndex > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto mb-8 h-px w-48 bg-indigo-500/10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 255,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-lg font-semibold tracking-tight text-blue-900\",\n children: timeSlot.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this),\n timeSlot.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 tracking-tight text-blue-900\",\n children: timeSlot.description\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 261,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 font-mono text-sm text-slate-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.start}-08:00`,\n children: timeSlot.start\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 266,\n columnNumber: 13\n }, this),\n \" \",\n \"-\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.end}-08:00`,\n children: timeSlot.end\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 270,\n columnNumber: 13\n }, this),\n \" \",\n \"PST\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 265,\n columnNumber: 11\n }, this)\n ]\n }, timeSlot.start, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 242,\n columnNumber: 5\n }, this);\n}\n_c2 = TimeSlots;\nfunction ScheduleStatic() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:grid lg:grid-cols-3 lg:gap-x-8\",\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 286,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day,\n className: \"mt-10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 287,\n columnNumber: 11\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 283,\n columnNumber: 5\n }, this);\n}\n_c3 = ScheduleStatic;\nfunction Schedule() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"schedule\",\n \"aria-label\": \"Schedule\",\n className: \"py-12 mb-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative z-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0 lg:max-w-4xl lg:pr-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Our three-day schedule is jam-packed with insightful sessions from industry leaders.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 299,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Each day is designed to immerse you in the latest trends, innovations, and opportunities in the metaverse, Web3, AI, and beyond.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 302,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"From hands-on workshops to panel discussions and networking events, VerseFest 2024 offers something for everyone.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 306,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mt-14 sm:mt-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__.BackgroundImage, {\n position: \"right\",\n className: \"-bottom-32 -top-40\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleTabbed, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 314,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleStatic, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 315,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 313,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 296,\n columnNumber: 5\n }, this);\n}\n_c4 = Schedule;\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"ScheduleTabbed\");\n$RefreshReg$(_c1, \"DaySummary\");\n$RefreshReg$(_c2, \"TimeSlots\");\n$RefreshReg$(_c3, \"ScheduleStatic\");\n$RefreshReg$(_c4, \"Schedule\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ29DO0FBQ3hEO0FBRXVDO0FBQ1o7QUFFbEQsTUFBTVUsV0FBVztJQUNmO1FBQ0VDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1NBQ0Q7SUFDSDtJQUNBO1FBQ0VQLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1NBQ0Q7SUFDSDtJQUNBO1FBQ0VQLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1NBQ0Q7SUFDSDtDQUNEO0FBRUQsU0FBU0M7O0lBQ1AsSUFBSSxDQUFDQyxnQkFBZ0JDLGtCQUFrQixHQUFHcEIsK0NBQVFBLENBQUM7SUFFbkRELGdEQUFTQSxDQUFDO1FBQ1IsSUFBSXNCLGVBQWVDLE9BQU9DLFVBQVUsQ0FBQztRQUVyQyxTQUFTQyxtQkFBbUIsS0FBVztnQkFBWCxFQUFFQyxPQUFPLEVBQUUsR0FBWDtZQUMxQkwsa0JBQWtCSyxVQUFVLGFBQWE7UUFDM0M7UUFFQUQsbUJBQW1CSDtRQUNuQkEsYUFBYUssZ0JBQWdCLENBQUMsVUFBVUY7UUFFeEMsT0FBTztZQUNMSCxhQUFhTSxtQkFBbUIsQ0FBQyxVQUFVSDtRQUM3QztJQUNGLEdBQUcsRUFBRTtJQUVMLHFCQUNFLDhEQUFDdEIscUhBQVFBO1FBQ1AwQixXQUFVO1FBQ1ZDLFVBQVVWLG1CQUFtQjs7MEJBRTdCLDhEQUFDaEIsb0hBQU9BO2dCQUFDeUIsV0FBVTswQkFDaEI7d0JBQUMsRUFBRUUsYUFBYSxFQUFFO3lDQUNqQjtrQ0FDR3JCLFNBQVNzQixHQUFHLENBQUMsQ0FBQ0MsS0FBS0MseUJBQ2xCLDhEQUFDQztnQ0FFQ04sV0FBV3RCLGdEQUFJQSxDQUNiLG1EQUNBMkIsYUFBYUgsaUJBQWlCOzBDQUdoQyw0RUFBQ0s7b0NBQ0NILEtBQUs7d0NBQ0gsR0FBR0EsR0FBRzt3Q0FDTnRCLG9CQUNFLDhEQUFDVCxnSEFBR0E7NENBQUMyQixXQUFVOzs4REFDYiw4REFBQ1E7b0RBQUtSLFdBQVU7Ozs7OztnREFDZkksSUFBSXRCLElBQUk7Ozs7Ozs7b0NBR2Y7Ozs7OzsrQkFmR3NCLElBQUlyQixRQUFROzs7Ozs7Ozs7Ozs7MEJBc0IzQiw4REFBQ04sc0hBQVNBOzBCQUNQSSxTQUFTc0IsR0FBRyxDQUFDLENBQUNDLG9CQUNiLDhEQUFDNUIscUhBQVFBO3dCQUVQd0IsV0FBVTtrQ0FFViw0RUFBQ1M7NEJBQVVMLEtBQUtBOzs7Ozs7dUJBSFhBLElBQUlyQixRQUFROzs7Ozs7Ozs7Ozs7Ozs7O0FBUzdCO0dBOURTTztLQUFBQTtBQWdFVCxTQUFTaUIsV0FBVyxLQUFPO1FBQVAsRUFBRUgsR0FBRyxFQUFFLEdBQVA7SUFDbEIscUJBQ0U7OzBCQUNFLDhEQUFDTTtnQkFBR1YsV0FBVTswQkFDWiw0RUFBQ1c7b0JBQUs1QixVQUFVcUIsSUFBSXJCLFFBQVE7OEJBQUdxQixJQUFJdEIsSUFBSTs7Ozs7Ozs7Ozs7MEJBRXpDLDhEQUFDOEI7Z0JBQUVaLFdBQVU7MEJBQ1ZJLElBQUlwQixPQUFPOzs7Ozs7OztBQUlwQjtNQVhTdUI7QUFhVCxTQUFTRSxVQUFVLEtBQWtCO1FBQWxCLEVBQUVMLEdBQUcsRUFBRUosU0FBUyxFQUFFLEdBQWxCO0lBQ2pCLHFCQUNFLDhEQUFDYTtRQUNDQyxNQUFLO1FBQ0xkLFdBQVd0QixnREFBSUEsQ0FDYnNCLFdBQ0E7a0JBR0RJLElBQUluQixTQUFTLENBQUNrQixHQUFHLENBQUMsQ0FBQ1ksVUFBVUMsOEJBQzVCLDhEQUFDQztnQkFFQ0MsY0FBWSxDQUFDLEVBQUVILFNBQVM3QixJQUFJLENBQUMsZUFBZSxFQUFFNkIsU0FBUzVCLFdBQVcsQ0FBQyxJQUFJLEVBQUU0QixTQUFTM0IsS0FBSyxDQUFDLEdBQUcsRUFBRTJCLFNBQVMxQixHQUFHLENBQUMsSUFBSSxDQUFDOztvQkFFOUcyQixnQkFBZ0IsbUJBQ2YsOERBQUNWO3dCQUFJTixXQUFVOzs7Ozs7a0NBRWpCLDhEQUFDbUI7d0JBQUduQixXQUFVO2tDQUNYZSxTQUFTN0IsSUFBSTs7Ozs7O29CQUVmNkIsU0FBUzVCLFdBQVcsa0JBQ25CLDhEQUFDeUI7d0JBQUVaLFdBQVU7a0NBQ1ZlLFNBQVM1QixXQUFXOzs7Ozs7a0NBR3pCLDhEQUFDeUI7d0JBQUVaLFdBQVU7OzBDQUNYLDhEQUFDVztnQ0FBSzVCLFVBQVUsQ0FBQyxFQUFFcUIsSUFBSXJCLFFBQVEsQ0FBQyxDQUFDLEVBQUVnQyxTQUFTM0IsS0FBSyxDQUFDLE1BQU0sQ0FBQzswQ0FDdEQyQixTQUFTM0IsS0FBSzs7Ozs7OzRCQUNUOzRCQUFJOzRCQUNWOzBDQUNGLDhEQUFDdUI7Z0NBQUs1QixVQUFVLENBQUMsRUFBRXFCLElBQUlyQixRQUFRLENBQUMsQ0FBQyxFQUFFZ0MsU0FBUzFCLEdBQUcsQ0FBQyxNQUFNLENBQUM7MENBQ3BEMEIsU0FBUzFCLEdBQUc7Ozs7Ozs0QkFDUDs0QkFBSTs7Ozs7Ozs7ZUFyQlQwQixTQUFTM0IsS0FBSzs7Ozs7Ozs7OztBQTRCN0I7TUF2Q1NxQjtBQXlDVCxTQUFTVztJQUNQLHFCQUNFLDhEQUFDZDtRQUFJTixXQUFVO2tCQUNabkIsU0FBU3NCLEdBQUcsQ0FBQyxDQUFDQyxvQkFDYiw4REFBQ2lCOztrQ0FDQyw4REFBQ2Q7d0JBQVdILEtBQUtBOzs7Ozs7a0NBQ2pCLDhEQUFDSzt3QkFBVUwsS0FBS0E7d0JBQUtKLFdBQVU7Ozs7Ozs7ZUFGbkJJLElBQUlyQixRQUFROzs7Ozs7Ozs7O0FBT2xDO01BWFNxQztBQWFGLFNBQVNFO0lBQ2QscUJBQ0UsOERBQUNEO1FBQVFFLElBQUc7UUFBV0wsY0FBVztRQUFXbEIsV0FBVTs7MEJBQ3JELDhEQUFDcEIsNERBQVNBO2dCQUFDb0IsV0FBVTswQkFDbkIsNEVBQUNNO29CQUFJTixXQUFVOztzQ0FDYiw4REFBQ3dCOzRCQUFHeEIsV0FBVTtzQ0FBK0U7Ozs7OztzQ0FHN0YsOERBQUNZOzRCQUFFWixXQUFVO3NDQUEwRDs7Ozs7O3NDQUl2RSw4REFBQ1k7NEJBQUVaLFdBQVU7c0NBQTBEOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLM0UsOERBQUNNO2dCQUFJTixXQUFVOztrQ0FDYiw4REFBQ3JCLHdFQUFlQTt3QkFBQzhDLFVBQVM7d0JBQVF6QixXQUFVOzs7Ozs7a0NBQzVDLDhEQUFDcEIsNERBQVNBO3dCQUFDb0IsV0FBVTs7MENBQ25CLDhEQUFDVjs7Ozs7MENBQ0QsOERBQUM4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLWDtNQTFCZ0JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeD82MWIzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUYWIsIFRhYkdyb3VwLCBUYWJMaXN0LCBUYWJQYW5lbCwgVGFiUGFuZWxzIH0gZnJvbSAnQGhlYWRsZXNzdWkvcmVhY3QnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5pbXBvcnQgeyBCYWNrZ3JvdW5kSW1hZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvQmFja2dyb3VuZEltYWdlJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcblxuY29uc3Qgc2NoZWR1bGUgPSBbXG4gIHtcbiAgICBkYXRlOiAnQXByaWwgNCcsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA0JyxcbiAgICBzdW1tYXJ5OlxuICAgICAgJ1RoZSBmaXJzdCBkYXkgb2YgdGhlIGNvbmZlcmVuY2UgaXMgZm9jdXNlZCBvbiBkYXJrIHBhdHRlcm5zIGZvciBlY29tbWVyY2UuJyxcbiAgICB0aW1lU2xvdHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1N0ZXZlbiBNY0hhaWwnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdCBzbyBvbmUtdGltZSBwYXltZW50cycsXG4gICAgICAgIHN0YXJ0OiAnOTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTA6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSmFxdWVsaW4gSXNjaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGZpbmVyIHByaW50JyxcbiAgICAgICAgc3RhcnQ6ICcxMDowMEFNJyxcbiAgICAgICAgZW5kOiAnMTE6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRGlhbm5lIEd1aWxpYW5lbGxpJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQb3N0LXB1cmNoYXNlIGJsYWNrbWFpbCcsXG4gICAgICAgIHN0YXJ0OiAnMTE6MDBBTScsXG4gICAgICAgIGVuZDogJzEyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0x1bmNoJyxcbiAgICAgICAgZGVzY3JpcHRpb246IG51bGwsXG4gICAgICAgIHN0YXJ0OiAnMTI6MDBQTScsXG4gICAgICAgIGVuZDogJzE6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUm9ubmkgQ2FudGFkb3JlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCdXkgb3IgZGllJyxcbiAgICAgICAgc3RhcnQ6ICcxOjAwUE0nLFxuICAgICAgICBlbmQ6ICcyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0VyaGFydCBDb2NrcmluJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdJbi1wZXJzb24gY2FuY2VsbGF0aW9uJyxcbiAgICAgICAgc3RhcnQ6ICcyOjAwUE0nLFxuICAgICAgICBlbmQ6ICczOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1BhcmtlciBKb2huc29uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgcGF5L2NhbmNlbCBzd2l0Y2hlcm9vJyxcbiAgICAgICAgc3RhcnQ6ICczOjAwUE0nLFxuICAgICAgICBlbmQ6ICc0OjAwUE0nLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgZGF0ZTogJ0FwcmlsIDUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3VtbWFyeTpcbiAgICAgICdOZXh0IHdlIHNwZW5kIHRoZSBkYXkgdGFsa2luZyBhYm91dCBkZWNlaXZpbmcgcGVvcGxlIHdpdGggdGVjaG5vbG9neS4nLFxuICAgIHRpbWVTbG90czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBpbnZpc2libGUgY2FyZCByZWFkZXInLFxuICAgICAgICBzdGFydDogJzk6MDBBTScsXG4gICAgICAgIGVuZDogJzEwOjAwQU0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTdGVhbGluZyBmaW5nZXJwcmludHMnLFxuICAgICAgICBzdGFydDogJzEwOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMTowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdWb3RpbmcgbWFjaGluZXMnLFxuICAgICAgICBzdGFydDogJzExOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMjowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdMdW5jaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgICBzdGFydDogJzEyOjAwUE0nLFxuICAgICAgICBlbmQ6ICcxOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1JpbmFsZG8gQmV5bm9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCbGFja2hhdCBTRU8gdGhhdCB3b3JrcycsXG4gICAgICAgIHN0YXJ0OiAnMTowMFBNJyxcbiAgICAgICAgZW5kOiAnMjowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1R1cm5pbmcgeW91ciBhdWRpZW5jZSBpbnRvIGEgYm90bmV0JyxcbiAgICAgICAgc3RhcnQ6ICcyOjAwUE0nLFxuICAgICAgICBlbmQ6ICczOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0ZseSBwaGlzaGluZycsXG4gICAgICAgIHN0YXJ0OiAnMzowMFBNJyxcbiAgICAgICAgZW5kOiAnNDowMFBNJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIGRhdGU6ICdBcHJpbCA2JyxcbiAgICBkYXRlVGltZTogJzIwMjItMDQtMDYnLFxuICAgIHN1bW1hcnk6XG4gICAgICAnV2UgY2xvc2Ugb3V0IHRoZSBldmVudCBwcmV2aWV3aW5nIG5ldyB0ZWNobmlxdWVzIHRoYXQgYXJlIHN0aWxsIGluIGRldmVsb3BtZW50LicsXG4gICAgdGltZVNsb3RzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBbmRyZXcgR3JlZW5lJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOZXVyYWxpbmsgZGFyayBwYXR0ZXJucycsXG4gICAgICAgIHN0YXJ0OiAnOTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTA6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSGVhdGhlciBUZXJyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnREFMTC1FIGZvciBwYXNzcG9ydHMnLFxuICAgICAgICBzdGFydDogJzEwOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMTowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdRdWFudHVtIHBhc3N3b3JkIGNyYWNraW5nJyxcbiAgICAgICAgc3RhcnQ6ICcxMTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTI6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnTHVuY2gnLFxuICAgICAgICBkZXNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgc3RhcnQ6ICcxMjowMFBNJyxcbiAgICAgICAgZW5kOiAnMTowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTa3lOZXQgaXMgY29taW5nJyxcbiAgICAgICAgc3RhcnQ6ICcxOjAwUE0nLFxuICAgICAgICBlbmQ6ICcyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tpbWJlcmx5IFBhcnNvbnMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0RhcmsgcGF0dGVybnMgZm9yIHRoZSBtZXRhdmVyc2UnLFxuICAgICAgICBzdGFydDogJzI6MDBQTScsXG4gICAgICAgIGVuZDogJzM6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0tub3dpbmcgdGhlIGdhbWUgYW5kIHBsYXlpbmcgaXQnLFxuICAgICAgICBzdGFydDogJzM6MDBQTScsXG4gICAgICAgIGVuZDogJzQ6MDBQTScsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIFNjaGVkdWxlVGFiYmVkKCkge1xuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgc21NZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDY0MHB4KScpXG5cbiAgICBmdW5jdGlvbiBvbk1lZGlhUXVlcnlDaGFuZ2UoeyBtYXRjaGVzIH0pIHtcbiAgICAgIHNldFRhYk9yaWVudGF0aW9uKG1hdGNoZXMgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnKVxuICAgIH1cblxuICAgIG9uTWVkaWFRdWVyeUNoYW5nZShzbU1lZGlhUXVlcnkpXG4gICAgc21NZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBzbU1lZGlhUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgcmV0dXJuIChcbiAgICA8VGFiR3JvdXBcbiAgICAgIGNsYXNzTmFtZT1cIm14LWF1dG8gZ3JpZCBtYXgtdy0yeGwgZ3JpZC1jb2xzLTEgZ2FwLXktNiBzbTpncmlkLWNvbHMtMiBsZzpoaWRkZW5cIlxuICAgICAgdmVydGljYWw9e3RhYk9yaWVudGF0aW9uID09PSAndmVydGljYWwnfVxuICAgID5cbiAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cIi1teC00IGZsZXggZ2FwLXgtNCBnYXAteS0xMCBvdmVyZmxvdy14LWF1dG8gcGItNCBwbC00IHNtOm14LTAgc206ZmxleC1jb2wgc206cGItMCBzbTpwbC0wIHNtOnByLThcIj5cbiAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7c2NoZWR1bGUubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBrZXk9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAncmVsYXRpdmUgdy0zLzQgZmxleC1ub25lIHByLTQgc206dy1hdXRvIHNtOnByLTAnLFxuICAgICAgICAgICAgICAgICAgZGF5SW5kZXggIT09IHNlbGVjdGVkSW5kZXggJiYgJ29wYWNpdHktNzAnLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RGF5U3VtbWFyeVxuICAgICAgICAgICAgICAgICAgZGF5PXt7XG4gICAgICAgICAgICAgICAgICAgIC4uLmRheSxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvVGFiTGlzdD5cbiAgICAgIDxUYWJQYW5lbHM+XG4gICAgICAgIHtzY2hlZHVsZS5tYXAoKGRheSkgPT4gKFxuICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUaW1lU2xvdHMgZGF5PXtkYXl9IC8+XG4gICAgICAgICAgPC9UYWJQYW5lbD5cbiAgICAgICAgKSl9XG4gICAgICA8L1RhYlBhbmVscz5cbiAgICA8L1RhYkdyb3VwPlxuICApXG59XG5cbmZ1bmN0aW9uIERheVN1bW1hcnkoeyBkYXkgfSkge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgIDx0aW1lIGRhdGVUaW1lPXtkYXkuZGF0ZVRpbWV9PntkYXkuZGF0ZX08L3RpbWU+XG4gICAgICA8L2gzPlxuICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMS41IHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgIHtkYXkuc3VtbWFyeX1cbiAgICAgIDwvcD5cbiAgICA8Lz5cbiAgKVxufVxuXG5mdW5jdGlvbiBUaW1lU2xvdHMoeyBkYXksIGNsYXNzTmFtZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPG9sXG4gICAgICByb2xlPVwibGlzdFwiXG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgJ3NwYWNlLXktOCBiZy13aGl0ZS82MCBweC0xMCBweS0xNCB0ZXh0LWNlbnRlciBzaGFkb3cteGwgc2hhZG93LWJsdWUtOTAwLzUgYmFja2Ryb3AtYmx1cicsXG4gICAgICApfVxuICAgID5cbiAgICAgIHtkYXkudGltZVNsb3RzLm1hcCgodGltZVNsb3QsIHRpbWVTbG90SW5kZXgpID0+IChcbiAgICAgICAgPGxpXG4gICAgICAgICAga2V5PXt0aW1lU2xvdC5zdGFydH1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHt0aW1lU2xvdC5uYW1lfSB0YWxraW5nIGFib3V0ICR7dGltZVNsb3QuZGVzY3JpcHRpb259IGF0ICR7dGltZVNsb3Quc3RhcnR9IC0gJHt0aW1lU2xvdC5lbmR9IFBTVGB9XG4gICAgICAgID5cbiAgICAgICAgICB7dGltZVNsb3RJbmRleCA+IDAgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1iLTggaC1weCB3LTQ4IGJnLWluZGlnby01MDAvMTBcIiAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGg0IGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICB7dGltZVNsb3QubmFtZX1cbiAgICAgICAgICA8L2g0PlxuICAgICAgICAgIHt0aW1lU2xvdC5kZXNjcmlwdGlvbiAmJiAoXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAge3RpbWVTbG90LmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMSBmb250LW1vbm8gdGV4dC1zbSB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgPHRpbWUgZGF0ZVRpbWU9e2Ake2RheS5kYXRlVGltZX1UJHt0aW1lU2xvdC5zdGFydH0tMDg6MDBgfT5cbiAgICAgICAgICAgICAge3RpbWVTbG90LnN0YXJ0fVxuICAgICAgICAgICAgPC90aW1lPnsnICd9XG4gICAgICAgICAgICAteycgJ31cbiAgICAgICAgICAgIDx0aW1lIGRhdGVUaW1lPXtgJHtkYXkuZGF0ZVRpbWV9VCR7dGltZVNsb3QuZW5kfS0wODowMGB9PlxuICAgICAgICAgICAgICB7dGltZVNsb3QuZW5kfVxuICAgICAgICAgICAgPC90aW1lPnsnICd9XG4gICAgICAgICAgICBQU1RcbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvbGk+XG4gICAgICApKX1cbiAgICA8L29sPlxuICApXG59XG5cbmZ1bmN0aW9uIFNjaGVkdWxlU3RhdGljKCkge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOmdyaWQgbGc6Z3JpZC1jb2xzLTMgbGc6Z2FwLXgtOFwiPlxuICAgICAge3NjaGVkdWxlLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgIDxzZWN0aW9uIGtleT17ZGF5LmRhdGVUaW1lfT5cbiAgICAgICAgICA8RGF5U3VtbWFyeSBkYXk9e2RheX0gLz5cbiAgICAgICAgICA8VGltZVNsb3RzIGRheT17ZGF5fSBjbGFzc05hbWU9XCJtdC0xMFwiIC8+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICkpfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTY2hlZHVsZSgpIHtcbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBpZD1cInNjaGVkdWxlXCIgYXJpYS1sYWJlbD1cIlNjaGVkdWxlXCIgY2xhc3NOYW1lPVwicHktMTIgbWItMjRcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTAgbGc6bWF4LXctNHhsIGxnOnByLTI0XCI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS02MDAgc206dGV4dC01eGxcIj5cbiAgICAgICAgICBPdXIgdGhyZWUtZGF5IHNjaGVkdWxlIGlzIGphbS1wYWNrZWQgd2l0aCBpbnNpZ2h0ZnVsIHNlc3Npb25zIGZyb20gaW5kdXN0cnkgbGVhZGVycy4gXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgRWFjaCBkYXkgaXMgZGVzaWduZWQgdG8gaW1tZXJzZSB5b3UgaW4gdGhlIGxhdGVzdCB0cmVuZHMsIFxuICAgICAgICAgIGlubm92YXRpb25zLCBhbmQgb3Bwb3J0dW5pdGllcyBpbiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIGJleW9uZC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNCBmb250LWRpc3BsYXkgdGV4dC0yeGwgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgIEZyb20gaGFuZHMtb24gd29ya3Nob3BzIHRvIHBhbmVsIGRpc2N1c3Npb25zIGFuZCBuZXR3b3JraW5nIGV2ZW50cywgVmVyc2VGZXN0IDIwMjQgb2ZmZXJzIHNvbWV0aGluZyBmb3IgZXZlcnlvbmUuIFxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgbXQtMTQgc206bXQtMjRcIj5cbiAgICAgICAgPEJhY2tncm91bmRJbWFnZSBwb3NpdGlvbj1cInJpZ2h0XCIgY2xhc3NOYW1lPVwiLWJvdHRvbS0zMiAtdG9wLTQwXCIgLz5cbiAgICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgIDxTY2hlZHVsZVRhYmJlZCAvPlxuICAgICAgICAgIDxTY2hlZHVsZVN0YXRpYyAvPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiLCJjbHN4IiwiQmFja2dyb3VuZEltYWdlIiwiQ29udGFpbmVyIiwic2NoZWR1bGUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzdW1tYXJ5IiwidGltZVNsb3RzIiwibmFtZSIsImRlc2NyaXB0aW9uIiwic3RhcnQiLCJlbmQiLCJTY2hlZHVsZVRhYmJlZCIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJzbU1lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY2xhc3NOYW1lIiwidmVydGljYWwiLCJzZWxlY3RlZEluZGV4IiwibWFwIiwiZGF5IiwiZGF5SW5kZXgiLCJkaXYiLCJEYXlTdW1tYXJ5Iiwic3BhbiIsIlRpbWVTbG90cyIsImgzIiwidGltZSIsInAiLCJvbCIsInJvbGUiLCJ0aW1lU2xvdCIsInRpbWVTbG90SW5kZXgiLCJsaSIsImFyaWEtbGFiZWwiLCJoNCIsIlNjaGVkdWxlU3RhdGljIiwic2VjdGlvbiIsIlNjaGVkdWxlIiwiaWQiLCJoMiIsInBvc2l0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Schedule.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, PO at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9WLDZFQUFtQkE7WUFDNUI7WUFDQTtnQkFDRUssTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFP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QUMsRUFBRW9DLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDOUUsa0RBQUtBO29FQUNKaUUsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXJDLEtBQUs7b0VBQ2xCeUMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTFDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2lDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdEMsSUFBSTs7Ozs7OzsrQ0E3QlB1Qzs7Ozs7dUNBTFBOLElBQUluQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JnQjs7UUFDTHZELHdDQUFLQTs7O01BREF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IG1hdHRoZXdzY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFBPIGF0IE91clZlcnNlJyxcbiAgICAgICAgaW1hZ2U6IHNhc2hhYXN0aWFkaUltYWdlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnVmljdG9yIE11aGFnYWNoaScsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IER1bmlhIFlldHUnLFxuICAgICAgICBpbWFnZTogdmljdG9ybXVoYWdhY2hpSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnU3BlYWtlcnMgJiBXb3Jrc2hvcHMnLFxuICAgIGRhdGU6ICdPY3QgMjUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0RhbWFyaXMgS2ltdXJhJyxcbiAgICAgICAgcm9sZTogJ1NlbmlvciBFbmdpbmVlciBhdCBPQ1AnLFxuICAgICAgICBpbWFnZTogZGFtYXJpc0tpbXVyYUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgcm9sZTogJ1Byb2dyYW1tZXIgYXQgVW1icmVsbGEgQ29ycCcsXG4gICAgICAgIGltYWdlOiBpYnJhaGltRnJhc2NoSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnQ2F0aGxlbmUgQnVycmFnZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgQnV5IG4gTGFyZ2UnLFxuICAgICAgICBpbWFnZTogY2F0aGxlbmVCdXJyYWdlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmluYWxkbyBCZXlub24nLFxuICAgICAgICByb2xlOiAnRGF0YSBTY2llbnRpc3QgYXQgUmVrYWxsJyxcbiAgICAgICAgaW1hZ2U6IHJpbmFsZG9CZXlub25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICByb2xlOiAnRGV2T3BzIGF0IFJEQSBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiB3YXlsb25IeWRlbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICByb2xlOiAnR2FtZSBEZXZlbG9wZXIgYXQgU295bGVudCBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGdpb3JkYW5vU2FndWNpb0ltYWdlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0ludGVydmlld3MnLFxuICAgIGRhdGU6ICdPY3QgMjYnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNicsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0FuZHJldyBHcmVlbmUnLFxuICAgICAgICByb2xlOiAnRnJvbnRlbmQgRGV2ZWxvcGVyIGF0IFVsdHJhdGVjaCcsXG4gICAgICAgIGltYWdlOiBhbmRyZXdHcmVlbmVJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdIZWF0aGVyIFRlcnJ5JyxcbiAgICAgICAgcm9sZTogJ0JhY2tlbmQgRGV2ZWxvcGVyIGF0IFhhbmF0b3MgRW50ZXJwcmlzZXMnLFxuICAgICAgICBpbWFnZTogaGVhdGhlclRlcnJ5SW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUGllcnMgV2lsa2lucycsXG4gICAgICAgIHJvbGU6ICdGdWxsIHN0YWNrIERldmVsb3BlciBhdCBCaWZmQ28nLFxuICAgICAgICBpbWFnZTogcGllcnNXaWxraW5zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR29yZG9uIFNhbmRlcnNvbicsXG4gICAgICAgIHJvbGU6ICdNb2JpbGUgRGV2ZWxvcGVyIGF0IENvYnJhIEluZHVzdHJpZXMnLFxuICAgICAgICBpbWFnZTogZ29yZG9uU2FuZGVyc29uSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnS2ltYmVybHkgUGFyc29ucycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBUeXJlbGwgQ29ycG9yYXRpb24nLFxuICAgICAgICBpbWFnZToga2ltYmVybHlQYXJzb25zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IFJvbGwgT3V0JyxcbiAgICAgICAgaW1hZ2U6IHJpY2hhcmRBc3RsZXksXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIEltYWdlQ2xpcFBhdGhzKHsgaWQsIC4uLnByb3BzIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHdpZHRoPXswfSBoZWlnaHQ9ezB9IHsuLi5wcm9wc30+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMGB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMCwwIGgwLjcyOSB2MC4xMjkgaDAuMTIxIGwtMC4wMTYsMC4wMzIgQzAuODE1LDAuMTk4LDAuODQzLDAuMjQzLDAuODg1LDAuMjQzIEgxIHYwLjc1NyBIMC4yNzEgdi0wLjA4NiBsLTAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLC0wLjAyNiwtMC4wNTcsLTAuMDU3LC0wLjA1NyBIMCBWMFwiIC8+XG4gICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgIDxjbGlwUGF0aCBpZD17YCR7aWR9LTFgfSBjbGlwUGF0aFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTEsMSBIMC4yNzEgdi0wLjEyOSBIMC4xNSBsMC4wMTYsLTAuMDMyIEMwLjE4NSwwLjgwMiwwLjE1NywwLjc1NywwLjExNSwwLjc1NyBIMCBWMCBoMC43MjkgdjAuMDg2IGwwLjEyMSwtMC4wNTcgdjAuMjE0IGMwLDAuMDMyLDAuMDI2LDAuMDU3LDAuMDU3LDAuMDU3IGgwLjA5MyB2MC43XCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMmB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwwIEgwLjI3MSB2MC4xMjkgSDAuMTUgbDAuMDE2LDAuMDMyIEMwLjE4NSwwLjE5OCwwLjE1NywwLjI0MywwLjExNSwwLjI0MyBIMCB2MC43NTcgaDAuNzI5IHYtMC4wODYgbDAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLDAuMDI2LC0wLjA1NywwLjA1NywtMC4wNTcgaDAuMDkzIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3BlYWtlcnMoKSB7XG4gIGxldCBpZCA9IHVzZUlkKClcbiAgbGV0IFt0YWJPcmllbnRhdGlvbiwgc2V0VGFiT3JpZW50YXRpb25dID0gdXNlU3RhdGUoJ2hvcml6b250YWwnKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGxnTWVkaWFRdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcobWluLXdpZHRoOiAxMDI0cHgpJylcblxuICAgIGZ1bmN0aW9uIG9uTWVkaWFRdWVyeUNoYW5nZSh7IG1hdGNoZXMgfSkge1xuICAgICAgc2V0VGFiT3JpZW50YXRpb24obWF0Y2hlcyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcpXG4gICAgfVxuXG4gICAgb25NZWRpYVF1ZXJ5Q2hhbmdlKGxnTWVkaWFRdWVyeSlcbiAgICBsZ01lZGlhUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGxnTWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uXG4gICAgICBpZD1cInNwZWFrZXJzXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgIGNsYXNzTmFtZT1cInB5LTIwIGxnOnB5LTEyXCJcbiAgICA+XG4gICAgICA8SW1hZ2VDbGlwUGF0aHMgaWQ9e2lkfSAvPlxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBsZzpteC0wXCI+XG4gICAgICAgICAgPGgyXG4gICAgICAgICAgICBpZD1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgc206dGV4dC01eGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNwZWFrZXJzXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgR2V0IHJlYWR5IHRvIGJlIGluc3BpcmVkIGJ5IHNvbWUgb2YgdGhlIGluZHVzdHJ5IGxlYWRlcnMgYW5kIGlubm92YXRvcnMgd2hvIGFyZSBzaGFwaW5nIHRoZSBmdXR1cmUgb2YgdGhlIG1ldGF2ZXJzZSwgV2ViMywgQUksIGFuZCBtb3JlLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxUYWJHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTE0IGdyaWQgZ3JpZC1jb2xzLTEgaXRlbXMtc3RhcnQgZ2FwLXgtOCBnYXAteS04IHNtOm10LTE2IHNtOmdhcC15LTE2IGxnOm10LTI0IGxnOmdyaWQtY29scy00XCJcbiAgICAgICAgICB2ZXJ0aWNhbD17dGFiT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCd9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIC1teC00IGZsZXggb3ZlcmZsb3cteC1hdXRvIHBiLTQgc206bXgtMCBzbTpibG9jayBzbTpvdmVyZmxvdy12aXNpYmxlIHNtOnBiLTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wLjUgdG9wLTIgaGlkZGVuIHctcHggYmctc2xhdGUtMjAwIGxnOmJsb2NrXCIgLz5cbiAgICAgICAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cImdyaWQgYXV0by1jb2xzLWF1dG8gZ3JpZC1mbG93LWNvbCBqdXN0aWZ5LXN0YXJ0IGdhcC14LTggZ2FwLXktMTAgd2hpdGVzcGFjZS1ub3dyYXAgcHgtNCBzbTpteC1hdXRvIHNtOm1heC13LTJ4bCBzbTpncmlkLWNvbHMtMyBzbTpweC0wIHNtOnRleHQtY2VudGVyIGxnOmdyaWQtZmxvdy1yb3cgbGc6Z3JpZC1jb2xzLTEgbGc6dGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIHsoeyBzZWxlY3RlZEluZGV4IH0pID0+IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAge2RheXMubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtkYXkuZGF0ZVRpbWV9IGNsYXNzTmFtZT1cInJlbGF0aXZlIGxnOnBsLThcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8RGlhbW9uZEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGxlZnQtWy0wLjVweF0gdG9wLVswLjU2MjVyZW1dIGhpZGRlbiBoLTEuNSB3LTEuNSBvdmVyZmxvdy12aXNpYmxlIGxnOmJsb2NrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdmaWxsLWJsdWUtNTAwIHN0cm9rZS1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdmaWxsLXRyYW5zcGFyZW50IHN0cm9rZS1zbGF0ZS00MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LW1vbm8gdGV4dC1zbScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3RleHQtYmx1ZS01MDAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0ZXh0LXNsYXRlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVRpbWU9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtMS41IGJsb2NrIHRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGltZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVGFiTGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8VGFiUGFuZWxzIGNsYXNzTmFtZT1cImxnOmNvbC1zcGFuLTNcIj5cbiAgICAgICAgICAgIHtkYXlzLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAgICAgIGtleT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLXgtOCBnYXAteS0xMCB1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgc206Z3JpZC1jb2xzLTIgc206Z2FwLXktMTYgbWQ6Z3JpZC1jb2xzLTNcIlxuICAgICAgICAgICAgICAgIHVubW91bnQ9e2ZhbHNlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2RheS5zcGVha2Vycy5tYXAoKHNwZWFrZXIsIHNwZWFrZXJJbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e3NwZWFrZXJJbmRleH0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgaC1bMTcuNXJlbV0gdHJhbnNmb3JtIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLTR4bFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGJvdHRvbS02IGxlZnQtMCByaWdodC00IHRvcC0wIHJvdW5kZWQtNHhsIGJvcmRlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS05NSB4bDpyaWdodC02JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItYmx1ZS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItaW5kaWdvLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1za3ktMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVtzcGVha2VySW5kZXggJSAzXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWluZGlnby01MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjbGlwUGF0aDogYHVybCgjJHtpZH0tJHtzcGVha2VySW5kZXggJSAzfSlgIH19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtzcGVha2VyLmltYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz1cIihtaW4td2lkdGg6IDEyODBweCkgMTcuNXJlbSwgKG1pbi13aWR0aDogMTAyNHB4KSAyNXZ3LCAobWluLXdpZHRoOiA3NjhweCkgMzN2dywgKG1pbi13aWR0aDogNjQwcHgpIDUwdncsIDEwMHZ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwibXQtOCBmb250LWRpc3BsYXkgdGV4dC14bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1zbGF0ZS05MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7c3BlYWtlci5uYW1lfVxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLnJvbGV9XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1RhYlBhbmVsPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9UYWJQYW5lbHM+XG4gICAgICAgIDwvVGFiR3JvdXA+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZVN0YXRlIiwiSW1hZ2UiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsImNsc3giLCJDb250YWluZXIiLCJEaWFtb25kSWNvbiIsImFuZHJld0dyZWVuZUltYWdlIiwiY2F0aGxlbmVCdXJyYWdlSW1hZ2UiLCJkYW1hcmlzS2ltdXJhSW1hZ2UiLCJkaWFubmVHdWlsaWFuZWxsaUltYWdlIiwiZXJoYXJ0Q29ja3JpbkltYWdlIiwiZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UiLCJnb3Jkb25TYW5kZXJzb25JbWFnZSIsImhlYXRoZXJUZXJyeUltYWdlIiwiaWJyYWhpbUZyYXNjaEltYWdlIiwiamFxdWVsaW5Jc2NoSW1hZ2UiLCJraW1iZXJseVBhcnNvbnNJbWFnZSIsInBhcmtlckpvaG5zb25JbWFnZSIsInBpZXJzV2lsa2luc0ltYWdlIiwicmljaGFyZEFzdGxleSIsInJpbmFsZG9CZXlub25JbWFnZSIsInJvbm5pQ2FudGFkb3JlSW1hZ2UiLCJzdGV2ZW5NY2hhaWxJbWFnZSIsIndheWxvbkh5ZGVuSW1hZ2UiLCJrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UiLCJhZG5hbmZhdGF5ZXJqaUltYWdlIiwiZmxvcmlhbmZvdXJuaWVySW1hZ2UiLCJtYXR0aGV3c2NodXR0ZUltYWdlIiwib21yZWlhYnVtYWRpSW1hZ2UiLCJ2aWN0b3JtdWhhZ2FjaGlJbWFnZSIsInNhc2hhYXN0aWFkaUltYWdlIiwiZGF5cyIsIm5hbWUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzcGVha2VycyIsInJvbGUiLCJpbWFnZSIsIkltYWdlQ2xpcFBhdGhzIiwiaWQiLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwid2lkdGgiLCJoZWlnaHQiLCJkZWZzIiwiY2xpcFBhdGgiLCJjbGlwUGF0aFVuaXRzIiwicGF0aCIsImQiLCJTcGVha2VycyIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJsZ01lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VjdGlvbiIsImFyaWEtbGFiZWxsZWRieSIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInZlcnRpY2FsIiwic2VsZWN0ZWRJbmRleCIsIm1hcCIsImRheSIsImRheUluZGV4Iiwic3BhbiIsInRpbWUiLCJ1bm1vdW50Iiwic3BlYWtlciIsInNwZWFrZXJJbmRleCIsInN0eWxlIiwic3JjIiwiYWx0IiwicHJpb3JpdHkiLCJzaXplcyIsImgzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar assign = Object.assign;\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\nvar didWarnAboutKeySpread = {};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV$1(type, config, maybeKey, isStaticChildren, source, self) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n var children = config.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n } // Warn about key spread regardless of whether the type is valid.\n\n\n if (hasOwnProperty.call(config, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref')) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n var element = ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar jsxDEV = jsxDEV$1 ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxzR0FBMEI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBLHFFQUFxRTs7QUFFckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0dBQWtHOztBQUVsRztBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLGVBQWU7QUFDMUIsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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QUFXLGNBQWM7QUFDekI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixpQkFBaUI7QUFDckM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz82ZDBkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdFwiKTtcblxuLy8gQVRURU5USU9OXG4vLyBXaGVuIGFkZGluZyBuZXcgc3ltYm9scyB0byB0aGlzIGZpbGUsXG4vLyBQbGVhc2UgY29uc2lkZXIgYWxzbyBhZGRpbmcgdG8gJ3JlYWN0LWRldnRvb2xzLXNoYXJlZC9zcmMvYmFja2VuZC9SZWFjdFN5bWJvbHMnXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy5cbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50Jyk7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKTtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKTtcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTsgLy8gVE9ETzogRGVsZXRlIHdpdGggZW5hYmxlUmVuZGVyYWJsZUNvbnRleHRcblxudmFyIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb25zdW1lcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0NBQ0hFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jYWNoZScpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG52YXIgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgPSBmYWxzZTtcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59XG5cbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIgPSBTeW1ib2wuZm9yKCdyZWFjdC5jbGllbnQucmVmZXJlbmNlJyk7IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMikge1xuICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgY29udmVudGlvbiBmb3IgbmFtaW5nIGNsaWVudCByZWZlcmVuY2VzIHdpdGggZGVidWcgaW5mby5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICAgIGNhc2UgUkVBQ1RfQ0FDSEVfVFlQRTpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuICdDYWNoZSc7XG4gICAgICB9XG5cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcblxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICB2YXIgb3V0ZXJOYW1lID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChvdXRlck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gb3V0ZXJOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdNZW1vJztcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGluaXQocGF5bG9hZCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuXG5cbmZ1bmN0aW9uIHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSB7XG4gIHtcbiAgICB0cnkge1xuICAgICAgdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIC8vIElmIHlvdSBlbmRlZCB1cCBoZXJlIGJ5IGZvbGxvd2luZyBhbiBleGNlcHRpb24gY2FsbCBzdGFjaywgaGVyZSdzIHdoYXQnc1xuICAvLyBoYXBwZW5lZDogeW91IHN1cHBsaWVkIGFuIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gUmVhY3QgKGFzIGEgcHJvcCwga2V5LFxuICAvLyBET00gYXR0cmlidXRlLCBDU1MgcHJvcGVydHksIHN0cmluZyByZWYsIGV0Yy4pIGFuZCB3aGVuIFJlYWN0IHRyaWVkIHRvXG4gIC8vIGNvZXJjZSBpdCB0byBhIHN0cmluZyB1c2luZyBgJycgKyB2YWx1ZWAsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duLlxuICAvL1xuICAvLyBUaGUgbW9zdCBjb21tb24gdHlwZXMgdGhhdCB3aWxsIGNhdXNlIHRoaXMgZXhjZXB0aW9uIGFyZSBgU3ltYm9sYCBpbnN0YW5jZXNcbiAgLy8gYW5kIFRlbXBvcmFsIG9iamVjdHMgbGlrZSBgVGVtcG9yYWwuSW5zdGFudGAuIEJ1dCBhbnkgb2JqZWN0IHRoYXQgaGFzIGFcbiAgLy8gYHZhbHVlT2ZgIG9yIGBbU3ltYm9sLnRvUHJpbWl0aXZlXWAgbWV0aG9kIHRoYXQgdGhyb3dzIHdpbGwgYWxzbyBjYXVzZSB0aGlzXG4gIC8vIGV4Y2VwdGlvbi4gKExpYnJhcnkgYXV0aG9ycyBkbyB0aGlzIHRvIHByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyBidWlsdC1pblxuICAvLyBudW1lcmljIG9wZXJhdG9ycyBsaWtlIGArYCBvciBjb21wYXJpc29uIG9wZXJhdG9ycyBsaWtlIGA+PWAgYmVjYXVzZSBjdXN0b21cbiAgLy8gbWV0aG9kcyBhcmUgbmVlZGVkIHRvIHBlcmZvcm0gYWNjdXJhdGUgYXJpdGhtZXRpYyBvciBjb21wYXJpc29uLilcbiAgLy9cbiAgLy8gVG8gZml4IHRoZSBwcm9ibGVtLCBjb2VyY2UgdGhpcyBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nIGJlZm9yZVxuICAvLyBwYXNzaW5nIGl0IHRvIFJlYWN0LiBUaGUgbW9zdCByZWxpYWJsZSB3YXkgaXMgdXN1YWxseSBgU3RyaW5nKHZhbHVlKWAuXG4gIC8vXG4gIC8vIFRvIGZpbmQgd2hpY2ggdmFsdWUgaXMgdGhyb3dpbmcsIGNoZWNrIHRoZSBicm93c2VyIG9yIGRlYnVnZ2VyIGNvbnNvbGUuXG4gIC8vIEJlZm9yZSB0aGlzIGV4Y2VwdGlvbiB3YXMgdGhyb3duLCB0aGVyZSBzaG91bGQgYmUgYGNvbnNvbGUuZXJyb3JgIG91dHB1dFxuICAvLyB0aGF0IHNob3dzIHRoZSB0eXBlIChTeW1ib2wsIFRlbXBvcmFsLlBsYWluRGF0ZSwgZXRjLikgdGhhdCBjYXVzZWQgdGhlXG4gIC8vIHByb2JsZW0gYW5kIGhvdyB0aGF0IHR5cGUgd2FzIHVzZWQ6IGtleSwgYXRycmlidXRlLCBpbnB1dCB2YWx1ZSBwcm9wLCBldGMuXG4gIC8vIEluIG1vc3QgY2FzZXMsIHRoaXMgY29uc29sZSBvdXRwdXQgYWxzbyBzaG93cyB0aGUgY29tcG9uZW50IGFuZCBpdHNcbiAgLy8gYW5jZXN0b3IgY29tcG9uZW50cyB3aGVyZSB0aGUgZXhjZXB0aW9uIGhhcHBlbmVkLlxuICAvL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBjaGVja0tleVN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQxID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vLyBIZWxwZXJzIHRvIHBhdGNoIGNvbnNvbGUubG9ncyB0byBhdm9pZCBsb2dnaW5nIGR1cmluZyBzaWRlLWVmZmVjdCBmcmVlXG4vLyByZXBsYXlpbmcgb24gcmVuZGVyIGZ1bmN0aW9uLiBUaGlzIGN1cnJlbnRseSBvbmx5IHBhdGNoZXMgdGhlIG9iamVjdFxuLy8gbGF6aWx5IHdoaWNoIHdvbid0IGNvdmVyIGlmIHRoZSBsb2cgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBlYWdlcmx5LlxuLy8gV2UgY291bGQgYWxzbyBlYWdlcmx5IHBhdGNoIHRoZSBtZXRob2QuXG52YXIgZGlzYWJsZWREZXB0aCA9IDA7XG52YXIgcHJldkxvZztcbnZhciBwcmV2SW5mbztcbnZhciBwcmV2V2FybjtcbnZhciBwcmV2RXJyb3I7XG52YXIgcHJldkdyb3VwO1xudmFyIHByZXZHcm91cENvbGxhcHNlZDtcbnZhciBwcmV2R3JvdXBFbmQ7XG5cbmZ1bmN0aW9uIGRpc2FibGVkTG9nKCkge31cblxuZGlzYWJsZWRMb2cuX19yZWFjdERpc2FibGVkTG9nID0gdHJ1ZTtcbmZ1bmN0aW9uIGRpc2FibGVMb2dzKCkge1xuICB7XG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgcHJldkxvZyA9IGNvbnNvbGUubG9nO1xuICAgICAgcHJldkluZm8gPSBjb25zb2xlLmluZm87XG4gICAgICBwcmV2V2FybiA9IGNvbnNvbGUud2FybjtcbiAgICAgIHByZXZFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICBwcmV2R3JvdXAgPSBjb25zb2xlLmdyb3VwO1xuICAgICAgcHJldkdyb3VwQ29sbGFwc2VkID0gY29uc29sZS5ncm91cENvbGxhcHNlZDtcbiAgICAgIHByZXZHcm91cEVuZCA9IGNvbnNvbGUuZ3JvdXBFbmQ7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTkwOTlcblxuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBkaXNhYmxlZExvZyxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cbi8qKlxuICogTGV2ZXJhZ2VzIG5hdGl2ZSBicm93c2VyL1ZNIHN0YWNrIGZyYW1lcyB0byBnZXQgcHJvcGVyIGRldGFpbHMgKGUuZy5cbiAqIGZpbGVuYW1lLCBsaW5lICsgY29sIG51bWJlcikgZm9yIGEgc2luZ2xlIGNvbXBvbmVudCBpbiBhIGNvbXBvbmVudCBzdGFjay4gV2VcbiAqIGRvIHRoaXMgYnk6XG4gKiAgICgxKSB0aHJvd2luZyBhbmQgY2F0Y2hpbmcgYW4gZXJyb3IgaW4gdGhlIGZ1bmN0aW9uIC0gdGhpcyB3aWxsIGJlIG91clxuICogICAgICAgY29udHJvbCBlcnJvci5cbiAqICAgKDIpIGNhbGxpbmcgdGhlIGNvbXBvbmVudCB3aGljaCB3aWxsIGV2ZW50dWFsbHkgdGhyb3cgYW4gZXJyb3IgdGhhdCB3ZSdsbFxuICogICAgICAgY2F0Y2ggLSB0aGlzIHdpbGwgYmUgb3VyIHNhbXBsZSBlcnJvci5cbiAqICAgKDMpIGRpZmZpbmcgdGhlIGNvbnRyb2wgYW5kIHNhbXBsZSBlcnJvciBzdGFja3MgdG8gZmluZCB0aGUgc3RhY2sgZnJhbWVcbiAqICAgICAgIHdoaWNoIHJlcHJlc2VudHMgb3VyIGNvbXBvbmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cbiAgLyoqXG4gICAqIEZpbmRpbmcgYSBjb21tb24gc3RhY2sgZnJhbWUgYmV0d2VlbiBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGNhbiBiZVxuICAgKiB0cmlja3kgZ2l2ZW4gdGhlIGRpZmZlcmVudCB0eXBlcyBhbmQgbGV2ZWxzIG9mIHN0YWNrIHRyYWNlIHRydW5jYXRpb24gZnJvbVxuICAgKiBkaWZmZXJlbnQgSlMgVk1zLiBTbyBpbnN0ZWFkIHdlJ2xsIGF0dGVtcHQgdG8gY29udHJvbCB3aGF0IHRoYXQgY29tbW9uXG4gICAqIGZyYW1lIHNob3VsZCBiZSB0aHJvdWdoIHRoaXMgb2JqZWN0IG1ldGhvZDpcbiAgICogSGF2aW5nIGJvdGggdGhlIHNhbXBsZSBhbmQgY29udHJvbCBlcnJvcnMgYmUgaW4gdGhlIGZ1bmN0aW9uIHVuZGVyIHRoZVxuICAgKiBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIHByb3BlcnR5LCArIHNldHRpbmcgdGhlIGBuYW1lYCBhbmRcbiAgICogYGRpc3BsYXlOYW1lYCBwcm9wZXJ0aWVzIG9mIHRoZSBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYSBzdGFja1xuICAgKiBmcmFtZSBleGlzdHMgdGhhdCBoYXMgdGhlIG1ldGhvZCBuYW1lIGBEZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lUm9vdGAgaW5cbiAgICogaXQgZm9yIGJvdGggY29udHJvbCBhbmQgc2FtcGxlIHN0YWNrcy5cbiAgICovXG5cblxuICB2YXIgUnVuSW5Sb290RnJhbWUgPSB7XG4gICAgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290OiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgY29udHJvbDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgICAgICAvLyBTb21ldGhpbmcgc2hvdWxkIGJlIHNldHRpbmcgdGhlIHByb3BzIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGYWtlLnByb3RvdHlwZSwgJ3Byb3BzJywge1xuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHdvbid0IHRocm93IGluIGEgbm9uLXN0cmljdCBtb2RlIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAgICAgLy8gZnJhbWVzIGFkZGVkIGJ5IHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KGZuLCBbXSwgRmFrZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIEZha2UuY2FsbCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICAgICAgICBmbi5jYWxsKEZha2UucHJvdG90eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgfSAvLyBUT0RPKGx1bmEpOiBUaGlzIHdpbGwgY3VycmVudGx5IG9ubHkgdGhyb3cgaWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgICAgICAgIC8vIHRyaWVzIHRvIGFjY2VzcyBSZWFjdC9SZWFjdERPTS9wcm9wcy4gV2Ugc2hvdWxkIHByb2JhYmx5IG1ha2UgdGhpcyB0aHJvd1xuICAgICAgICAgIC8vIGluIHNpbXBsZSBjb21wb25lbnRzIHRvb1xuXG5cbiAgICAgICAgICB2YXIgbWF5YmVQcm9taXNlID0gZm4oKTsgLy8gSWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudCByZXR1cm5zIGEgcHJvbWlzZSwgaXQncyBsaWtlbHkgYW4gYXN5bmNcbiAgICAgICAgICAvLyBjb21wb25lbnQsIHdoaWNoIHdlIGRvbid0IHlldCBzdXBwb3J0LiBBdHRhY2ggYSBub29wIGNhdGNoIGhhbmRsZXIgdG9cbiAgICAgICAgICAvLyBzaWxlbmNlIHRoZSBlcnJvci5cbiAgICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgY29tcG9uZW50IHN0YWNrcyBmb3IgYXN5bmMgY2xpZW50IGNvbXBvbmVudHM/XG5cbiAgICAgICAgICBpZiAobWF5YmVQcm9taXNlICYmIHR5cGVvZiBtYXliZVByb21pc2UuY2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1heWJlUHJvbWlzZS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChzYW1wbGUpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICAgICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIFtzYW1wbGUuc3RhY2ssIGNvbnRyb2wuc3RhY2tdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuICB9OyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuICBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWUgPSAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JztcbiAgdmFyIG5hbWVQcm9wRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCAnbmFtZScpOyAvLyBCZWZvcmUgRVM2LCB0aGUgYG5hbWVgIHByb3BlcnR5IHdhcyBub3QgY29uZmlndXJhYmxlLlxuXG4gIGlmIChuYW1lUHJvcERlc2NyaXB0b3IgJiYgbmFtZVByb3BEZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIC8vIFY4IHV0aWxpemVzIGEgZnVuY3Rpb24ncyBgbmFtZWAgcHJvcGVydHkgd2hlbiBnZW5lcmF0aW5nIGEgc3RhY2sgdHJhY2UuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgLy8gQ29uZmlndXJhYmxlIHByb3BlcnRpZXMgY2FuIGJlIHVwZGF0ZWQgZXZlbiBpZiBpdHMgd3JpdGFibGUgZGVzY3JpcHRvclxuICAgIC8vIGlzIHNldCB0byBgZmFsc2VgLlxuICAgIC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXVxuICAgICduYW1lJywge1xuICAgICAgdmFsdWU6ICdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnXG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIHZhciBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPSBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxcbiAgICAgICAgc2FtcGxlU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMF0sXG4gICAgICAgIGNvbnRyb2xTdGFjayA9IF9SdW5JblJvb3RGcmFtZSREZXRlclsxXTtcblxuICAgIGlmIChzYW1wbGVTdGFjayAmJiBjb250cm9sU3RhY2spIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZVN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBjb250cm9sTGluZXMgPSBjb250cm9sU3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgdmFyIGMgPSAwO1xuXG4gICAgICB3aGlsZSAocyA8IHNhbXBsZUxpbmVzLmxlbmd0aCAmJiAhc2FtcGxlTGluZXNbc10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIHMrKztcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKGMgPCBjb250cm9sTGluZXMubGVuZ3RoICYmICFjb250cm9sTGluZXNbY10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIGMrKztcbiAgICAgIH0gLy8gV2UgY291bGRuJ3QgZmluZCBvdXIgaW50ZW50aW9uYWxseSBpbmplY3RlZCBjb21tb24gcm9vdCBmcmFtZSwgYXR0ZW1wdFxuICAgICAgLy8gdG8gZmluZCBhbm90aGVyIGNvbW1vbiByb290IGZyYW1lIGJ5IHNlYXJjaCBmcm9tIHRoZSBib3R0b20gb2YgdGhlXG4gICAgICAvLyBjb250cm9sIHN0YWNrLi4uXG5cblxuICAgICAgaWYgKHMgPT09IHNhbXBsZUxpbmVzLmxlbmd0aCB8fCBjID09PSBjb250cm9sTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgICBjID0gY29udHJvbExpbmVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAgIC8vIFR5cGljYWxseSB0aGlzIHdpbGwgYmUgdGhlIHJvb3QgbW9zdCBvbmUuIEhvd2V2ZXIsIHN0YWNrIGZyYW1lcyBtYXkgYmVcbiAgICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYW5kIHRoZXJlIGZvciBjdXQgb2ZmIGVhcmxpZXIuIFNvIHdlIHNob3VsZCBmaW5kIHRoZSByb290IG1vc3QgZnJhbWUgaW5cbiAgICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgICBjLS07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICg7IHMgPj0gMSAmJiBjID49IDA7IHMtLSwgYy0tKSB7XG4gICAgICAgIC8vIE5leHQgd2UgZmluZCB0aGUgZmlyc3Qgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgd2hpY2ggc2hvdWxkIGJlIHRoZVxuICAgICAgICAvLyBmcmFtZSB0aGF0IGNhbGxlZCBvdXIgc2FtcGxlIGZ1bmN0aW9uIGFuZCB0aGUgY29udHJvbC5cbiAgICAgICAgaWYgKHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBJbiBWOCwgdGhlIGZpcnN0IGxpbmUgaXMgZGVzY3JpYmluZyB0aGUgbWVzc2FnZSBidXQgb3RoZXIgVk1zIGRvbid0LlxuICAgICAgICAgIC8vIElmIHdlJ3JlIGFib3V0IHRvIHJldHVybiB0aGUgZmlyc3QgbGluZSwgYW5kIHRoZSBjb250cm9sIGlzIGFsc28gb24gdGhlIHNhbWVcbiAgICAgICAgICAvLyBsaW5lLCB0aGF0J3MgYSBwcmV0dHkgZ29vZCBpbmRpY2F0b3IgdGhhdCBvdXIgc2FtcGxlIHRocmV3IGF0IHNhbWUgbGluZSBhc1xuICAgICAgICAgIC8vIHRoZSBjb250cm9sLiBJLmUuIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSBzYW1wbGUgZnJhbWUuIFNvIHdlIGlnbm9yZSB0aGlzIHJlc3VsdC5cbiAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgeW91IHBhc3NlZCBhIGNsYXNzIHRvIGZ1bmN0aW9uIGNvbXBvbmVudCwgb3Igbm9uLWZ1bmN0aW9uLlxuICAgICAgICAgIGlmIChzICE9PSAxIHx8IGMgIT09IDEpIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgcy0tO1xuICAgICAgICAgICAgICBjLS07IC8vIFdlIG1heSBzdGlsbCBoYXZlIHNpbWlsYXIgaW50ZXJtZWRpYXRlIGZyYW1lcyBmcm9tIHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgICAgLy8gVGhlIG5leHQgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgc2hvdWxkIGJlIG91ciBtYXRjaCB0aG91Z2guXG5cbiAgICAgICAgICAgICAgaWYgKGMgPCAwIHx8IHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAgICAgICAvLyBWOCBhZGRzIGEgXCJuZXdcIiBwcmVmaXggZm9yIG5hdGl2ZSBjbGFzc2VzLiBMZXQncyByZW1vdmUgaXQgdG8gbWFrZSBpdCBwcmV0dGllci5cbiAgICAgICAgICAgICAgICB2YXIgX2ZyYW1lID0gJ1xcbicgKyBzYW1wbGVMaW5lc1tzXS5yZXBsYWNlKCcgYXQgbmV3ICcsICcgYXQgJyk7IC8vIElmIG91ciBjb21wb25lbnQgZnJhbWUgaXMgbGFiZWxlZCBcIjxhbm9ueW1vdXM+XCJcbiAgICAgICAgICAgICAgICAvLyBidXQgd2UgaGF2ZSBhIHVzZXItcHJvdmlkZWQgXCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgICAgLy8gc3BsaWNlIGl0IGluIHRvIG1ha2UgdGhlIHN0YWNrIG1vcmUgcmVhZGFibGUuXG5cblxuICAgICAgICAgICAgICAgIGlmIChmbi5kaXNwbGF5TmFtZSAmJiBfZnJhbWUuaW5jbHVkZXMoJzxhbm9ueW1vdXM+JykpIHtcbiAgICAgICAgICAgICAgICAgIF9mcmFtZSA9IF9mcmFtZS5yZXBsYWNlKCc8YW5vbnltb3VzPicsIGZuLmRpc3BsYXlOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duO1xudmFyIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG5cbntcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZFJlZihjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ3JlZicpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdyZWYnKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLnJlZiAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdrZXknKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpLCBjb25maWcucmVmKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBga2V5YCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ2tleScsIHtcbiAgICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB7XG4gICAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nUmVmID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAncmVmJywge1xuICAgICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFJlYWN0IGVsZW1lbnQuIFRoaXMgbm8gbG9uZ2VyIGFkaGVyZXMgdG9cbiAqIHRoZSBjbGFzcyBwYXR0ZXJuLCBzbyBkbyBub3QgdXNlIG5ldyB0byBjYWxsIGl0LiBBbHNvLCBpbnN0YW5jZW9mIGNoZWNrXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcbiAqIGlmIHNvbWV0aGluZyBpcyBhIFJlYWN0IEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0geyp9IHByb3BzXG4gKiBAcGFyYW0geyp9IGtleVxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcbiAqIEBwYXJhbSB7Kn0gb3duZXJcbiAqIEBwYXJhbSB7Kn0gc2VsZiBBICp0ZW1wb3JhcnkqIGhlbHBlciB0byBkZXRlY3QgcGxhY2VzIHdoZXJlIGB0aGlzYCBpc1xuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxuICogY2FuIHdhcm4uIFdlIHdhbnQgdG8gZ2V0IHJpZCBvZiBvd25lciBhbmQgcmVwbGFjZSBzdHJpbmcgYHJlZmBzIHdpdGggYXJyb3dcbiAqIGZ1bmN0aW9ucywgYW5kIGFzIGxvbmcgYXMgYHRoaXNgIGFuZCBvd25lciBhcmUgdGhlIHNhbWUsIHRoZXJlIHdpbGwgYmUgbm9cbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cbiAqIEBwYXJhbSB7Kn0gc291cmNlIEFuIGFubm90YXRpb24gb2JqZWN0IChhZGRlZCBieSBhIHRyYW5zcGlsZXIgb3Igb3RoZXJ3aXNlKVxuICogaW5kaWNhdGluZyBmaWxlbmFtZSwgbGluZSBudW1iZXIsIGFuZC9vciBvdGhlciBpbmZvcm1hdGlvbi5cbiAqIEBpbnRlcm5hbFxuICovXG5cblxuZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgX3JlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpIHtcbiAgdmFyIHJlZjtcblxuICB7XG4gICAgcmVmID0gX3JlZjtcbiAgfVxuXG4gIHZhciBlbGVtZW50O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kLCBgcmVmYCBpcyBhIHJlZ3VsYXIgcHJvcGVydHkuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhXG4gICAgLy8gZnV0dXJlIHJlbGVhc2UuXG4gICAgZWxlbWVudCA9IHtcbiAgICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIHJlZjogcmVmLFxuICAgICAgcHJvcHM6IHByb3BzLFxuICAgICAgLy8gUmVjb3JkIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZWxlbWVudC5cbiAgICAgIF9vd25lcjogb3duZXJcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cbiAgICAvLyBhbiBleHRlcm5hbCBiYWNraW5nIHN0b3JlIHNvIHRoYXQgd2UgY2FuIGZyZWV6ZSB0aGUgd2hvbGUgb2JqZWN0LlxuICAgIC8vIFRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBXZWFrTWFwIG9uY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgaW5cbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICBlbGVtZW50Ll9zdG9yZSA9IHt9OyAvLyBUbyBtYWtlIGNvbXBhcmluZyBSZWFjdEVsZW1lbnRzIGVhc2llciBmb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UgbWFrZVxuICAgIC8vIHRoZSB2YWxpZGF0aW9uIGZsYWcgbm9uLWVudW1lcmFibGUgKHdoZXJlIHBvc3NpYmxlLCB3aGljaCBzaG91bGRcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xuICAgIC8vIGlnbm9yZXMgaXQuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0pOyAvLyBkZWJ1Z0luZm8gY29udGFpbnMgU2VydmVyIENvbXBvbmVudCBkZWJ1ZyBpbmZvcm1hdGlvbi5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX2RlYnVnSW5mbycsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcblxuICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQucHJvcHMpO1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbnZhciBkaWRXYXJuQWJvdXRLZXlTcHJlYWQgPSB7fTtcbi8qKlxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmZjcy9wdWxsLzEwN1xuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAqL1xuXG5mdW5jdGlvbiBqc3hERVYkMSh0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB2YWxpZCBlbGVtZW50IHR5cGUuXG4gICAgICAvLyBTa2lwIGtleSB3YXJuaW5nIGlmIHRoZSB0eXBlIGlzbid0IHZhbGlkIHNpbmNlIG91ciBrZXkgdmFsaWRhdGlvbiBsb2dpY1xuICAgICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9ycy4gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZFxuICAgICAgLy8gcHJvZC4gKFJlbmRlcmluZyB3aWxsIHRocm93IHdpdGggYSBoZWxwZnVsIG1lc3NhZ2UgYW5kIGFzIHNvb24gYXMgdGhlXG4gICAgICAvLyB0eXBlIGlzIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcbiAgICAgIHZhciBjaGlsZHJlbiA9IGNvbmZpZy5jaGlsZHJlbjtcblxuICAgICAgaWYgKGNoaWxkcmVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baV0sIHR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0LmpzeDogU3RhdGljIGNoaWxkcmVuIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkuICcgKyAnWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiAnICsgJ1VzZSB0aGUgQmFiZWwgdHJhbnNmb3JtIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gV2FybiBhYm91dCBrZXkgc3ByZWFkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHlwZSBpcyB2YWxpZC5cblxuXG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpLmZpbHRlcihmdW5jdGlvbiAoaykge1xuICAgICAgICByZXR1cm4gayAhPT0gJ2tleSc7XG4gICAgICB9KTtcbiAgICAgIHZhciBiZWZvcmVFeGFtcGxlID0ga2V5cy5sZW5ndGggPiAwID8gJ3trZXk6IHNvbWVLZXksICcgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3trZXk6IHNvbWVLZXl9JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdKSB7XG4gICAgICAgIHZhciBhZnRlckV4YW1wbGUgPSBrZXlzLmxlbmd0aCA+IDAgPyAneycgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3t9JztcblxuICAgICAgICBlcnJvcignQSBwcm9wcyBvYmplY3QgY29udGFpbmluZyBhIFwia2V5XCIgcHJvcCBpcyBiZWluZyBzcHJlYWQgaW50byBKU1g6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMgey4uLnByb3BzfSAvPlxcbicgKyAnUmVhY3Qga2V5cyBtdXN0IGJlIHBhc3NlZCBkaXJlY3RseSB0byBKU1ggd2l0aG91dCB1c2luZyBzcHJlYWQ6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JywgYmVmb3JlRXhhbXBsZSwgY29tcG9uZW50TmFtZSwgYWZ0ZXJFeGFtcGxlLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICAgIHZhciBwcm9wcyA9IHt9O1xuICAgIHZhciBrZXkgPSBudWxsO1xuICAgIHZhciByZWYgPSBudWxsOyAvLyBDdXJyZW50bHksIGtleSBjYW4gYmUgc3ByZWFkIGluIGFzIGEgcHJvcC4gVGhpcyBjYXVzZXMgYSBwb3RlbnRpYWxcbiAgICAvLyBpc3N1ZSBpZiBrZXkgaXMgYWxzbyBleHBsaWNpdGx5IGRlY2xhcmVkIChpZS4gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz5cbiAgICAvLyBvciA8ZGl2IGtleT1cIkhpXCIgey4uLnByb3BzfSAvPiApLiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBrZXkgc3ByZWFkLFxuICAgIC8vIGJ1dCBhcyBhbiBpbnRlcm1lZGlhcnkgc3RlcCwgd2Ugd2lsbCB1c2UganN4REVWIGZvciBldmVyeXRoaW5nIGV4Y2VwdFxuICAgIC8vIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+LCBiZWNhdXNlIHdlIGFyZW4ndCBjdXJyZW50bHkgYWJsZSB0byB0ZWxsIGlmXG4gICAgLy8ga2V5IGlzIGV4cGxpY2l0bHkgZGVjbGFyZWQgdG8gYmUgdW5kZWZpbmVkIG9yIG5vdC5cblxuICAgIGlmIChtYXliZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIG1heWJlS2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgfVxuXG4gICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKTtcbiAgICB9IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmIC8vIFNraXAgb3ZlciByZXNlcnZlZCBwcm9wIG5hbWVzXG4gICAgICBwcm9wTmFtZSAhPT0gJ2tleScgJiYgKHByb3BOYW1lICE9PSAncmVmJykpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgICBpZiAodHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wcykge1xuICAgICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGtleSB8fCByZWYpIHtcbiAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgJ1Vua25vd24nIDogdHlwZTtcblxuICAgICAgaWYgKGtleSkge1xuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuXG4gICAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXG4gKiBhcnJheSB3aXRoIGFuIGV4cGxpY2l0IGtleXMgcHJvcGVydHkgZGVmaW5lZCwgb3IgaW4gYW4gb2JqZWN0IGxpdGVyYWxcbiAqIHdpdGggdmFsaWQga2V5IHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdE5vZGV9IG5vZGUgU3RhdGljYWxseSBwYXNzZWQgY2hpbGQgb2YgYW55IHR5cGUuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnIHx8ICFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UpIDsgZWxzZSBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obm9kZSk7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAgIC8vIGJ1dCBub3cgd2UgcHJpbnQgYSBzZXBhcmF0ZSB3YXJuaW5nIGZvciB0aGVtIGxhdGVyLlxuICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gbm9kZS5lbnRyaWVzKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuXG4gICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFZlcmlmaWVzIHRoZSBvYmplY3QgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgb2JqZWN0YCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIEBmaW5hbFxuICovXG5cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRXhwbGljaXRLZXkoZWxlbWVudCwgcGFyZW50VHlwZSkge1xuICB7XG4gICAgaWYgKCFlbGVtZW50Ll9zdG9yZSB8fCBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgfHwgZWxlbWVudC5rZXkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gICAgLy8gcHJvcGVydHksIGl0IG1heSBiZSB0aGUgY3JlYXRvciBvZiB0aGUgY2hpbGQgdGhhdCdzIHJlc3BvbnNpYmxlIGZvclxuICAgIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cblxuICAgIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHBhcmVudFR5cGUpO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBmcmFnbWVudCwgdmFsaWRhdGUgdGhhdCBpdCBjYW4gb25seSBiZSBwcm92aWRlZCB3aXRoIGZyYWdtZW50IHByb3BzXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhmcmFnbWVudCkge1xuICAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gcmVuZGVyIHBoYXNlIGluc3RlYWQgb2YgYXQgZWxlbWVudCBjcmVhdGlvbi5cbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG52YXIganN4REVWID0ganN4REVWJDEgO1xuXG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuanN4REVWID0ganN4REVWO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSw4TEFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanM/NWRiNyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Disclosure: function() { return /* binding */ We; },\n/* harmony export */ DisclosureButton: function() { return /* binding */ Ce; },\n/* harmony export */ DisclosurePanel: function() { return /* binding */ Ie; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @react-aria/focus */ \"(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../hooks/use-id.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../hooks/use-transition.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js\");\n/* harmony import */ var _internal_close_provider_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../internal/close-provider.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js\");\n/* harmony import */ var _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../internal/open-closed.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js\");\n/* harmony import */ var _utils_bugs_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/bugs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _utils_start_transition_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/start-transition.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/start-transition.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../keyboard.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js\");\n/* __next_internal_client_entry_do_not_use__ Disclosure,DisclosureButton,DisclosurePanel auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar de = ((r)=>(r[r.Open = 0] = \"Open\", r[r.Closed = 1] = \"Closed\", r))(de || {}), fe = ((t)=>(t[t.ToggleDisclosure = 0] = \"ToggleDisclosure\", t[t.CloseDisclosure = 1] = \"CloseDisclosure\", t[t.SetButtonId = 2] = \"SetButtonId\", t[t.SetPanelId = 3] = \"SetPanelId\", t[t.LinkPanel = 4] = \"LinkPanel\", t[t.UnlinkPanel = 5] = \"UnlinkPanel\", t))(fe || {});\nlet Te = {\n [0]: (e)=>({\n ...e,\n disclosureState: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(e.disclosureState, {\n [0]: 1,\n [1]: 0\n })\n }),\n [1]: (e)=>e.disclosureState === 1 ? e : {\n ...e,\n disclosureState: 1\n },\n [4] (e) {\n return e.linkedPanel === !0 ? e : {\n ...e,\n linkedPanel: !0\n };\n },\n [5] (e) {\n return e.linkedPanel === !1 ? e : {\n ...e,\n linkedPanel: !1\n };\n },\n [2] (e, n) {\n return e.buttonId === n.buttonId ? e : {\n ...e,\n buttonId: n.buttonId\n };\n },\n [3] (e, n) {\n return e.panelId === n.panelId ? e : {\n ...e,\n panelId: n.panelId\n };\n }\n}, M = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nM.displayName = \"DisclosureContext\";\nfunction F(e) {\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(M);\n if (n === null) {\n let r = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(r, F), r;\n }\n return n;\n}\n_c = F;\nlet k = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nk.displayName = \"DisclosureAPIContext\";\nfunction V(e) {\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(k);\n if (n === null) {\n let r = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(r, V), r;\n }\n return n;\n}\n_c1 = V;\nlet H = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nH.displayName = \"DisclosurePanelContext\";\nfunction De() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(H);\n}\n_c2 = De;\nfunction Pe(e, n) {\n return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(n.type, Te, e, n);\n}\n_c3 = Pe;\nlet ye = react__WEBPACK_IMPORTED_MODULE_0__.Fragment;\nfunction me(e, n) {\n let { defaultOpen: r = !1, ...c } = e, s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), d = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(n, (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.optionalRef)((u)=>{\n s.current = u;\n }, e.as === void 0 || e.as === react__WEBPACK_IMPORTED_MODULE_0__.Fragment)), t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(Pe, {\n disclosureState: r ? 0 : 1,\n linkedPanel: !1,\n buttonRef: o,\n panelRef: t,\n buttonId: null,\n panelId: null\n }), [{ disclosureState: f, buttonId: i }, T] = l, p = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((u)=>{\n T({\n type: 1\n });\n let P = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_4__.getOwnerDocument)(s);\n if (!P || !i) return;\n let y = (()=>u ? u instanceof HTMLElement ? u : u.current instanceof HTMLElement ? u.current : P.getElementById(i) : P.getElementById(i))();\n y == null || y.focus();\n }), E = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n close: p\n }), [\n p\n ]), D = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: f === 0,\n close: p\n }), [\n f,\n p\n ]), g = {\n ref: d\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(M.Provider, {\n value: l\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(k.Provider, {\n value: E\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_close_provider_js__WEBPACK_IMPORTED_MODULE_5__.CloseProvider, {\n value: p\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.OpenClosedProvider, {\n value: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(f, {\n [0]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Open,\n [1]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Closed\n })\n }, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.render)({\n ourProps: g,\n theirProps: c,\n slot: D,\n defaultTag: ye,\n name: \"Disclosure\"\n })))));\n}\nlet Ee = \"button\";\nfunction ge(e, n) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: c = `headlessui-disclosure-button-${r}`, disabled: s = !1, autoFocus: d = !1, ...t } = e, [o, l] = F(\"Disclosure.Button\"), f = De(), i = f === null ? !1 : f === o.panelId, T = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), p = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(T, n, i ? null : o.buttonRef), E = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useMergeRefsFn)();\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n if (!i) return l({\n type: 2,\n buttonId: c\n }), ()=>{\n l({\n type: 2,\n buttonId: null\n });\n };\n }, [\n c,\n l,\n i\n ]);\n let D = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((a)=>{\n var S;\n if (i) {\n if (o.disclosureState === 1) return;\n switch(a.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Space:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Enter:\n a.preventDefault(), a.stopPropagation(), l({\n type: 0\n }), (S = o.buttonRef.current) == null || S.focus();\n break;\n }\n } else switch(a.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Space:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Enter:\n a.preventDefault(), a.stopPropagation(), l({\n type: 0\n });\n break;\n }\n }), g = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((a)=>{\n switch(a.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Space:\n a.preventDefault();\n break;\n }\n }), u = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((a)=>{\n var S;\n (0,_utils_bugs_js__WEBPACK_IMPORTED_MODULE_9__.isDisabledReactIssue7711)(a.currentTarget) || s || (i ? (l({\n type: 0\n }), (S = o.buttonRef.current) == null || S.focus()) : l({\n type: 0\n }));\n }), { isFocusVisible: P, focusProps: y } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_10__.useFocusRing)({\n autoFocus: d\n }), { isHovered: U, hoverProps: h } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_11__.useHover)({\n isDisabled: s\n }), { pressed: N, pressProps: w } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_12__.useActivePress)({\n disabled: s\n }), q = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: o.disclosureState === 0,\n hover: U,\n active: N,\n disabled: s,\n focus: P,\n autofocus: d\n }), [\n o,\n U,\n N,\n P,\n s,\n d\n ]), G = (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_13__.useResolveButtonType)(e, T), z = i ? (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.mergeProps)({\n ref: p,\n type: G,\n disabled: s || void 0,\n autoFocus: d,\n onKeyDown: D,\n onClick: u\n }, y, h, w) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.mergeProps)({\n ref: p,\n id: c,\n type: G,\n \"aria-expanded\": o.disclosureState === 0,\n \"aria-controls\": o.linkedPanel ? o.panelId : void 0,\n disabled: s || void 0,\n autoFocus: d,\n onKeyDown: D,\n onKeyUp: g,\n onClick: u\n }, y, h, w);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.render)({\n mergeRefs: E,\n ourProps: z,\n theirProps: t,\n slot: q,\n defaultTag: Ee,\n name: \"Disclosure.Button\"\n });\n}\nlet Se = \"div\", be = _utils_render_js__WEBPACK_IMPORTED_MODULE_7__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_7__.RenderFeatures.Static;\nfunction Re(e, n) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: c = `headlessui-disclosure-panel-${r}`, transition: s = !1, ...d } = e, [t, o] = F(\"Disclosure.Panel\"), { close: l } = V(\"Disclosure.Panel\"), f = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useMergeRefsFn)(), i = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(n, t.panelRef, (u)=>{\n (0,_utils_start_transition_js__WEBPACK_IMPORTED_MODULE_14__.startTransition)(()=>o({\n type: u ? 4 : 5\n }));\n });\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>(o({\n type: 3,\n panelId: c\n }), ()=>{\n o({\n type: 3,\n panelId: null\n });\n }), [\n c,\n o\n ]);\n let T = (0,_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.useOpenClosed)(), [p, E] = (0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_15__.useTransition)(s, t.panelRef, T !== null ? (T & _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Open) === _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Open : t.disclosureState === 0), D = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: t.disclosureState === 0,\n close: l\n }), [\n t.disclosureState,\n l\n ]), g = {\n ref: i,\n id: c,\n ...(0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_15__.transitionDataAttributes)(E)\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.ResetOpenClosedProvider, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(H.Provider, {\n value: t.panelId\n }, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.render)({\n mergeRefs: f,\n ourProps: g,\n theirProps: d,\n slot: D,\n defaultTag: Se,\n features: be,\n visible: p,\n name: \"Disclosure.Panel\"\n })));\n}\n_c4 = Re;\nlet Ae = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(me), Ce = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(ge), Ie = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(Re), We = Object.assign(Ae, {\n Button: Ce,\n Panel: Ie\n});\n\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"F\");\n$RefreshReg$(_c1, \"V\");\n$RefreshReg$(_c2, \"De\");\n$RefreshReg$(_c3, \"Pe\");\n$RefreshReg$(_c4, \"Re\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvZGlzY2xvc3VyZS9kaXNjbG9zdXJlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUdBQThEO0FBQW9EO0FBQStIO0FBQWtFO0FBQW9EO0FBQThDO0FBQStFO0FBQTZFO0FBQThGO0FBQWtFO0FBQWlJO0FBQWdFO0FBQTZDO0FBQXlEO0FBQTZIO0FBQW1FO0FBQXNDO0FBQUEsSUFBSWlFLEtBQUcsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9ELENBQUMsQ0FBQ0EsRUFBRUUsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTRixDQUFBQSxDQUFDLEVBQUdELE1BQUksQ0FBQyxJQUFHSSxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsZ0JBQWdCLEdBQUMsRUFBRSxHQUFDLG9CQUFtQkQsQ0FBQyxDQUFDQSxFQUFFRSxlQUFlLEdBQUMsRUFBRSxHQUFDLG1CQUFrQkYsQ0FBQyxDQUFDQSxFQUFFRyxXQUFXLEdBQUMsRUFBRSxHQUFDLGVBQWNILENBQUMsQ0FBQ0EsRUFBRUksVUFBVSxHQUFDLEVBQUUsR0FBQyxjQUFhSixDQUFDLENBQUNBLEVBQUVLLFNBQVMsR0FBQyxFQUFFLEdBQUMsYUFBWUwsQ0FBQyxDQUFDQSxFQUFFTSxXQUFXLEdBQUMsRUFBRSxHQUFDLGVBQWNOLENBQUFBLENBQUMsRUFBR0QsTUFBSSxDQUFDO0FBQUcsSUFBSVEsS0FBRztJQUFDLENBQUMsRUFBRSxFQUFDQyxDQUFBQSxJQUFJO1lBQUMsR0FBR0EsQ0FBQztZQUFDQyxpQkFBZ0IvQixzREFBQ0EsQ0FBQzhCLEVBQUVDLGVBQWUsRUFBQztnQkFBQyxDQUFDLEVBQUUsRUFBQztnQkFBRSxDQUFDLEVBQUUsRUFBQztZQUFDO1FBQUU7SUFBRyxD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QUNBLENBQUM7UUFBQzBHLFdBQVV4RDtRQUFFa0IsVUFBU0w7UUFBRU0sWUFBVzNCO1FBQUU0QixNQUFLVDtRQUFFVSxZQUFXb0M7UUFBR00sVUFBU0w7UUFBR00sU0FBUTdEO1FBQUVtQixNQUFLO0lBQWtCO0FBQUk7TUFBcG5CdUM7QUFBcW5CLElBQUlJLEtBQUd2SCxrRUFBQ0EsQ0FBQzBDLEtBQUk4RSxLQUFHeEgsa0VBQUNBLENBQUM4RSxLQUFJMkMsS0FBR3pILGtFQUFDQSxDQUFDbUgsS0FBSU8sS0FBR0MsT0FBT0MsTUFBTSxDQUFDTCxJQUFHO0lBQUNNLFFBQU9MO0lBQUdNLE9BQU1MO0FBQUU7QUFBeUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvY29tcG9uZW50cy9kaXNjbG9zdXJlL2Rpc2Nsb3N1cmUuanM/MTdkZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtpbXBvcnR7dXNlRm9jdXNSaW5nIGFzIFF9ZnJvbVwiQHJlYWN0LWFyaWEvZm9jdXNcIjtpbXBvcnR7dXNlSG92ZXIgYXMgWX1mcm9tXCJAcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnNcIjtpbXBvcnQgbSx7RnJhZ21lbnQgYXMgSyxjcmVhdGVDb250ZXh0IGFzIHgsdXNlQ29udGV4dCBhcyBMLHVzZUVmZmVjdCBhcyBqLHVzZU1lbW8gYXMgUix1c2VSZWR1Y2VyIGFzIFosdXNlUmVmIGFzIEF9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlQWN0aXZlUHJlc3MgYXMgZWV9ZnJvbScuLi8uLi9ob29rcy91c2UtYWN0aXZlLXByZXNzLmpzJztpbXBvcnR7dXNlRXZlbnQgYXMgQ31mcm9tJy4uLy4uL2hvb2tzL3VzZS1ldmVudC5qcyc7aW1wb3J0e3VzZUlkIGFzIFd9ZnJvbScuLi8uLi9ob29rcy91c2UtaWQuanMnO2ltcG9ydHt1c2VSZXNvbHZlQnV0dG9uVHlwZSBhcyB0ZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzJztpbXBvcnR7b3B0aW9uYWxSZWYgYXMgbmUsdXNlU3luY1JlZnMgYXMgdn1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHt0cmFuc2l0aW9uRGF0YUF0dHJpYnV0ZXMgYXMgb2UsdXNlVHJhbnNpdGlvbiBhcyByZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS10cmFuc2l0aW9uLmpzJztpbXBvcnR7Q2xvc2VQcm92aWRlciBhcyBsZX1mcm9tJy4uLy4uL2ludGVybmFsL2Nsb3NlLXByb3ZpZGVyLmpzJztpbXBvcnR7T3BlbkNsb3NlZFByb3ZpZGVyIGFzIHNlLFJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyIGFzIGllLFN0YXRlIGFzIEksdXNlT3BlbkNsb3NlZCBhcyB1ZX1mcm9tJy4uLy4uL2ludGVybmFsL29wZW4tY2xvc2VkLmpzJztpbXBvcnR7aXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIGFzIGFlfWZyb20nLi4vLi4vdXRpbHMvYnVncy5qcyc7aW1wb3J0e21hdGNoIGFzIE99ZnJvbScuLi8uLi91dGlscy9tYXRjaC5qcyc7aW1wb3J0e2dldE93bmVyRG9jdW1lbnQgYXMgcGV9ZnJvbScuLi8uLi91dGlscy9vd25lci5qcyc7aW1wb3J0e1JlbmRlckZlYXR1cmVzIGFzICQsZm9yd2FyZFJlZldpdGhBcyBhcyBfLG1lcmdlUHJvcHMgYXMgSixyZW5kZXIgYXMgQix1c2VNZXJnZVJlZnNGbiBhcyBYfWZyb20nLi4vLi4vdXRpbHMvcmVuZGVyLmpzJztpbXBvcnR7c3RhcnRUcmFuc2l0aW9uIGFzIGNlfWZyb20nLi4vLi4vdXRpbHMvc3RhcnQtdHJhbnNpdGlvbi5qcyc7aW1wb3J0e0tleXMgYXMgYn1mcm9tJy4uL2tleWJvYXJkLmpzJzt2YXIgZGU9KHI9PihyW3IuT3Blbj0wXT1cIk9wZW5cIixyW3IuQ2xvc2VkPTFdPVwiQ2xvc2VkXCIscikpKGRlfHx7fSksZmU9KHQ9Pih0W3QuVG9nZ2xlRGlzY2xvc3VyZT0wXT1cIlRvZ2dsZURpc2Nsb3N1cmVcIix0W3QuQ2xvc2VEaXNjbG9zdXJlPTFdPVwiQ2xvc2VEaXNjbG9zdXJlXCIsdFt0LlNldEJ1dHRvbklkPTJdPVwiU2V0QnV0dG9uSWRcIix0W3QuU2V0UGFuZWxJZD0zXT1cIlNldFBhbmVsSWRcIix0W3QuTGlua1BhbmVsPTRdPVwiTGlua1BhbmVsXCIsdFt0LlVubGlua1BhbmVsPTVdPVwiVW5saW5rUGFuZWxcIix0KSkoZmV8fHt9KTtsZXQgVGU9e1swXTplPT4oey4uLmUsZGlzY2xvc3VyZVN0YXRlOk8oZS5kaXNjbG9zdXJlU3RhdGUse1swXToxLFsxXTowfSl9KSxbMV06ZT0+ZS5kaXNjbG9zdXJlU3RhdGU9PT0xP2U6ey4uLmUsZGlzY2xvc3VyZVN0YXRlOjF9LFs0XShlKXtyZXR1cm4gZS5saW5rZWRQYW5lbD09PSEwP2U6ey4uLmUsbGlua2VkUGFuZWw6ITB9fSxbNV0oZSl7cmV0dXJuIGUubGlua2VkUGFuZWw9PT0hMT9lOnsuLi5lLGxpbmtlZFBhbmVsOiExfX0sWzJdKGUsbil7cmV0dXJuIGUuYnV0dG9uSWQ9PT1uLmJ1dHRvbklkP2U6ey4uLmUsYnV0dG9uSWQ6bi5idXR0b25JZH19LFszXShlLG4pe3JldHVybiBlLnBhbmVsSWQ9PT1uLnBhbmVsSWQ/ZTp7Li4uZSxwYW5lbElkOm4ucGFuZWxJZH19fSxNPXgobnVsbCk7TS5kaXNwbGF5TmFtZT1cIkRpc2Nsb3N1cmVDb250ZXh0XCI7ZnVuY3Rpb24gRihlKXtsZXQgbj1MKE0pO2lmKG49PT1udWxsKXtsZXQgcj1uZXcgRXJyb3IoYDwke2V9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPERpc2Nsb3N1cmUgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShyLEYpLHJ9cmV0dXJuIG59bGV0IGs9eChudWxsKTtrLmRpc3BsYXlOYW1lPVwiRGlzY2xvc3VyZUFQSUNvbnRleHRcIjtmdW5jdGlvbiBWKGUpe2xldCBuPUwoayk7aWYobj09PW51bGwpe2xldCByPW5ldyBFcnJvcihgPCR7ZX0gLz4gaXMgbWlzc2luZyBhIHBhcmVudCA8RGlzY2xvc3VyZSAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHIsVikscn1yZXR1cm4gbn1sZXQgSD14KG51bGwpO0guZGlzcGxheU5hbWU9XCJEaXNjbG9zdXJlUGFuZWxDb250ZXh0XCI7ZnVuY3Rpb24gRGUoKXtyZXR1cm4gTChIKX1mdW5jdGlvbiBQZShlLG4pe3JldHVybiBPKG4udHlwZSxUZSxlLG4pfWxldCB5ZT1LO2Z1bmN0aW9uIG1lKGUsbil7bGV0e2RlZmF1bHRPcGVuOnI9ITEsLi4uY309ZSxzPUEobnVsbCksZD12KG4sbmUodT0+e3MuY3VycmVudD11fSxlLmFzPT09dm9pZCAwfHxlLmFzPT09SykpLHQ9QShudWxsKSxvPUEobnVsbCksbD1aKFBlLHtkaXNjbG9zdXJlU3RhdGU6cj8wOjEsbGlua2VkUGFuZWw6ITEsYnV0dG9uUmVmOm8scGFuZWxSZWY6dCxidXR0b25JZDpudWxsLHBhbmVsSWQ6bnVsbH0pLFt7ZGlzY2xvc3VyZVN0YXRlOmYsYnV0dG9uSWQ6aX0sVF09bCxwPUModT0+e1Qoe3R5cGU6MX0pO2xldCBQPXBlKHMpO2lmKCFQfHwhaSlyZXR1cm47bGV0IHk9KCgpPT51P3UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD91OnUuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P3UuY3VycmVudDpQLmdldEVsZW1lbnRCeUlkKGkpOlAuZ2V0RWxlbWVudEJ5SWQoaSkpKCk7eT09bnVsbHx8eS5mb2N1cygpfSksRT1SKCgpPT4oe2Nsb3NlOnB9KSxbcF0pLEQ9UigoKT0+KHtvcGVuOmY9PT0wLGNsb3NlOnB9KSxbZixwXSksZz17cmVmOmR9O3JldHVybiBtLmNyZWF0ZUVsZW1lbnQoTS5Qcm92aWRlcix7dmFsdWU6bH0sbS5jcmVhdGVFbGVtZW50KGsuUHJvdmlkZXIse3ZhbHVlOkV9LG0uY3JlYXRlRWxlbWVudChsZSx7dmFsdWU6cH0sbS5jcmVhdGVFbGVtZW50KHNlLHt2YWx1ZTpPKGYse1swXTpJLk9wZW4sWzFdOkkuQ2xvc2VkfSl9LEIoe291clByb3BzOmcsdGhlaXJQcm9wczpjLHNsb3Q6RCxkZWZhdWx0VGFnOnllLG5hbWU6XCJEaXNjbG9zdXJlXCJ9KSkpKSl9bGV0IEVlPVwiYnV0dG9uXCI7ZnVuY3Rpb24gZ2UoZSxuKXtsZXQgcj1XKCkse2lkOmM9YGhlYWRsZXNzdWktZGlzY2xvc3VyZS1idXR0b24tJHtyfWAsZGlzYWJsZWQ6cz0hMSxhdXRvRm9jdXM6ZD0hMSwuLi50fT1lLFtvLGxdPUYoXCJEaXNjbG9zdXJlLkJ1dHRvblwiKSxmPURlKCksaT1mPT09bnVsbD8hMTpmPT09by5wYW5lbElkLFQ9QShudWxsKSxwPXYoVCxuLGk/bnVsbDpvLmJ1dHRvblJlZiksRT1YKCk7aigoKT0+e2lmKCFpKXJldHVybiBsKHt0eXBlOjIsYnV0dG9uSWQ6Y30pLCgpPT57bCh7dHlwZToyLGJ1dHRvbklkOm51bGx9KX19LFtjLGwsaV0pO2xldCBEPUMoYT0+e3ZhciBTO2lmKGkpe2lmKG8uZGlzY2xvc3VyZVN0YXRlPT09MSlyZXR1cm47c3dpdGNoKGEua2V5KXtjYXNlIGIuU3BhY2U6Y2FzZSBiLkVudGVyOmEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpLGwoe3R5cGU6MH0pLChTPW8uYnV0dG9uUmVmLmN1cnJlbnQpPT1udWxsfHxTLmZvY3VzKCk7YnJlYWt9fWVsc2Ugc3dpdGNoKGEua2V5KXtjYXNlIGIuU3BhY2U6Y2FzZSBiLkVudGVyOmEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpLGwoe3R5cGU6MH0pO2JyZWFrfX0pLGc9QyhhPT57c3dpdGNoKGEua2V5KXtjYXNlIGIuU3BhY2U6YS5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrfX0pLHU9QyhhPT57dmFyIFM7YWUoYS5jdXJyZW50VGFyZ2V0KXx8c3x8KGk/KGwoe3R5cGU6MH0pLChTPW8uYnV0dG9uUmVmLmN1cnJlbnQpPT1udWxsfHxTLmZvY3VzKCkpOmwoe3R5cGU6MH0pKX0pLHtpc0ZvY3VzVmlzaWJsZTpQLGZvY3VzUHJvcHM6eX09USh7YXV0b0ZvY3VzOmR9KSx7aXNIb3ZlcmVkOlUsaG92ZXJQcm9wczpofT1ZKHtpc0Rpc2FibGVkOnN9KSx7cHJlc3NlZDpOLHByZXNzUHJvcHM6d309ZWUoe2Rpc2FibGVkOnN9KSxxPVIoKCk9Pih7b3BlbjpvLmRpc2Nsb3N1cmVTdGF0ZT09PTAsaG92ZXI6VSxhY3RpdmU6TixkaXNhYmxlZDpzLGZvY3VzOlAsYXV0b2ZvY3VzOmR9KSxbbyxVLE4sUCxzLGRdKSxHPXRlKGUsVCksej1pP0ooe3JlZjpwLHR5cGU6RyxkaXNhYmxlZDpzfHx2b2lkIDAsYXV0b0ZvY3VzOmQsb25LZXlEb3duOkQsb25DbGljazp1fSx5LGgsdyk6Sih7cmVmOnAsaWQ6Yyx0eXBlOkcsXCJhcmlhLWV4cGFuZGVkXCI6by5kaXNjbG9zdXJlU3RhdGU9PT0wLFwiYXJpYS1jb250cm9sc1wiOm8ubGlua2VkUGFuZWw/by5wYW5lbElkOnZvaWQgMCxkaXNhYmxlZDpzfHx2b2lkIDAsYXV0b0ZvY3VzOmQsb25LZXlEb3duOkQsb25LZXlVcDpnLG9uQ2xpY2s6dX0seSxoLHcpO3JldHVybiBCKHttZXJnZVJlZnM6RSxvdXJQcm9wczp6LHRoZWlyUHJvcHM6dCxzbG90OnEsZGVmYXVsdFRhZzpFZSxuYW1lOlwiRGlzY2xvc3VyZS5CdXR0b25cIn0pfWxldCBTZT1cImRpdlwiLGJlPSQuUmVuZGVyU3RyYXRlZ3l8JC5TdGF0aWM7ZnVuY3Rpb24gUmUoZSxuKXtsZXQgcj1XKCkse2lkOmM9YGhlYWRsZXNzdWktZGlzY2xvc3VyZS1wYW5lbC0ke3J9YCx0cmFuc2l0aW9uOnM9ITEsLi4uZH09ZSxbdCxvXT1GKFwiRGlzY2xvc3VyZS5QYW5lbFwiKSx7Y2xvc2U6bH09VihcIkRpc2Nsb3N1cmUuUGFuZWxcIiksZj1YKCksaT12KG4sdC5wYW5lbFJlZix1PT57Y2UoKCk9Pm8oe3R5cGU6dT80OjV9KSl9KTtqKCgpPT4obyh7dHlwZTozLHBhbmVsSWQ6Y30pLCgpPT57byh7dHlwZTozLHBhbmVsSWQ6bnVsbH0pfSksW2Msb10pO2xldCBUPXVlKCksW3AsRV09cmUocyx0LnBhbmVsUmVmLFQhPT1udWxsPyhUJkkuT3Blbik9PT1JLk9wZW46dC5kaXNjbG9zdXJlU3RhdGU9PT0wKSxEPVIoKCk9Pih7b3Blbjp0LmRpc2Nsb3N1cmVTdGF0ZT09PTAsY2xvc2U6bH0pLFt0LmRpc2Nsb3N1cmVTdGF0ZSxsXSksZz17cmVmOmksaWQ6YywuLi5vZShFKX07cmV0dXJuIG0uY3JlYXRlRWxlbWVudChpZSxudWxsLG0uY3JlYXRlRWxlbWVudChILlByb3ZpZGVyLHt2YWx1ZTp0LnBhbmVsSWR9LEIoe21lcmdlUmVmczpmLG91clByb3BzOmcsdGhlaXJQcm9wczpkLHNsb3Q6RCxkZWZhdWx0VGFnOlNlLGZlYXR1cmVzOmJlLHZpc2libGU6cCxuYW1lOlwiRGlzY2xvc3VyZS5QYW5lbFwifSkpKX1sZXQgQWU9XyhtZSksQ2U9XyhnZSksSWU9XyhSZSksV2U9T2JqZWN0LmFzc2lnbihBZSx7QnV0dG9uOkNlLFBhbmVsOkllfSk7ZXhwb3J0e1dlIGFzIERpc2Nsb3N1cmUsQ2UgYXMgRGlzY2xvc3VyZUJ1dHRvbixJZSBhcyBEaXNjbG9zdXJlUGFuZWx9O1xuIl0sIm5hbWVzIjpbInVzZUZvY3VzUmluZyIsIlEiLCJ1c2VIb3ZlciIsIlkiLCJtIiwiRnJhZ21lbnQiLCJLIiwiY3JlYXRlQ29udGV4dCIsIngiLCJ1c2VDb250ZXh0IiwiTCIsInVzZUVmZmVjdCIsImoiLCJ1c2VNZW1vIiwiUiIsInVzZVJlZHVjZXIiLCJaIiwidXNlUmVmIiwiQSIsInVzZUFjdGl2ZVByZXNzIiwiZWUiLCJ1c2VFdmVudCIsIkMiLCJ1c2VJZCIsIlciLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSIsInRlIiwib3B0aW9uYWxSZWYiLCJuZSIsInVzZVN5bmNSZWZzIiwidiIsInRyYW5zaXRpb25EYXRhQXR0cmlidXRlcyIsIm9lIiwidXNlVHJhbnNpdGlvbiIsInJlIiwiQ2xvc2VQcm92aWRlciIsImxlIiwiT3BlbkNsb3NlZFByb3ZpZGVyIiwic2UiLCJSZXNldE9wZW5DbG9zZWRQcm92aWRlciIsImllIiwiU3RhdGUiLCJJIiwidXNlT3BlbkNsb3NlZCIsInVlIiwiaXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIiwiYWUiLCJtYXRjaCIsIk8iLCJnZXRPd25lckRvY3VtZW50IiwicGUiLCJSZW5kZXJGZWF0dXJlcyIsIiQiLCJmb3J3YXJkUmVmV2l0aEFzIiwiXyIsIm1lcmdlUHJvcHMiLCJKIiwicmVuZGVyIiwiQiIsInVzZU1lcmdlUmVmc0ZuIiwiWCIsInN0YXJ0VHJhbnNpdGlvbiIsImNlIiwiS2V5cyIsImIiLCJkZSIsInIiLCJPcGVuIiwiQ2xvc2VkIiwiZmUiLCJ0IiwiVG9nZ2xlRGlzY2xvc3VyZSIsIkNsb3NlRGlzY2xvc3VyZSIsIlNldEJ1dHRvbklkIiwiU2V0UGFuZWxJZCIsIkxpbmtQYW5lbCIsIlVubGlua1BhbmVsIiwiVGUiLCJlIiwiZGlzY2xvc3VyZVN0YXRlIiwibGlua2VkUGFuZWwiLCJuIiwiYnV0dG9uSWQiLCJwYW5lbElkIiwiTSIsImRpc3BsYXlOYW1lIiwiRiIsIkVycm9yIiwiY2FwdHVyZVN0YWNrVHJhY2UiLCJrIiwiViIsIkgiLCJEZSIsIlBlIiwidHlwZSIsInllIiwibWUiLCJkZWZhdWx0T3BlbiIsImMiLCJzIiwiZCIsInUiLCJjdXJyZW50IiwiYXMiLCJvIiwibCIsImJ1dHRvblJlZiIsInBhbmVsUmVmIiwiZiIsImkiLCJUIiwicCIsIlAiLCJ5IiwiSFRNTEVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImZvY3VzIiwiRSIsImNsb3NlIiwiRCIsIm9wZW4iLCJnIiwicmVmIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJvdXJQcm9wcyIsInRoZWlyUHJvcHMiLCJzbG90IiwiZGVmYXVsdFRhZyIsIm5hbWUiLCJFZSIsImdlIiwiaWQiLCJkaXNhYmxlZCIsImF1dG9Gb2N1cyIsImEiLCJTIiwia2V5IiwiU3BhY2UiLCJFbnRlciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudFRhcmdldCIsImlzRm9jdXNWaXNpYmxlIiwiZm9jdXNQcm9wcyIsImlzSG92ZXJlZCIsIlUiLCJob3ZlclByb3BzIiwiaCIsImlzRGlzYWJsZWQiLCJwcmVzc2VkIiwiTiIsInByZXNzUHJvcHMiLCJ3IiwicSIsImhvdmVyIiwiYWN0aXZlIiwiYXV0b2ZvY3VzIiwiRyIsInoiLCJvbktleURvd24iLCJvbkNsaWNrIiwib25LZXlVcCIsIm1lcmdlUmVmcyIsIlNlIiwiYmUiLCJSZW5kZXJTdHJhdGVneSIsIlN0YXRpYyIsIlJlIiwidHJhbnNpdGlvbiIsImZlYXR1cmVzIiwidmlzaWJsZSIsIkFlIiwiQ2UiLCJJZSIsIldlIiwiT2JqZWN0IiwiYXNzaWduIiwiQnV0dG9uIiwiUGFuZWwiLCJEaXNjbG9zdXJlIiwiRGlzY2xvc3VyZUJ1dHRvbiIsIkRpc2Nsb3N1cmVQYW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/keyboard.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Keys: function() { return /* binding */ o; }\n/* harmony export */ });\nvar o = ((r)=>(r.Space = \" \", r.Enter = \"Enter\", r.Escape = \"Escape\", r.Backspace = \"Backspace\", r.Delete = \"Delete\", r.ArrowLeft = \"ArrowLeft\", r.ArrowUp = \"ArrowUp\", r.ArrowRight = \"ArrowRight\", r.ArrowDown = \"ArrowDown\", r.Home = \"Home\", r.End = \"End\", r.PageUp = \"PageUp\", r.PageDown = \"PageDown\", r.Tab = \"Tab\", r))(o || {});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMva2V5Ym9hcmQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUlBLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsRUFBRUMsS0FBSyxHQUFDLEtBQUlELEVBQUVFLEtBQUssR0FBQyxTQUFRRixFQUFFRyxNQUFNLEdBQUMsVUFBU0gsRUFBRUksU0FBUyxHQUFDLGFBQVlKLEVBQUVLLE1BQU0sR0FBQyxVQUFTTCxFQUFFTSxTQUFTLEdBQUMsYUFBWU4sRUFBRU8sT0FBTyxHQUFDLFdBQVVQLEVBQUVRLFVBQVUsR0FBQyxjQUFhUixFQUFFUyxTQUFTLEdBQUMsYUFBWVQsRUFBRVUsSUFBSSxHQUFDLFFBQU9WLEVBQUVXLEdBQUcsR0FBQyxPQUFNWCxFQUFFWSxNQUFNLEdBQUMsVUFBU1osRUFBRWEsUUFBUSxHQUFDLFlBQVdiLEVBQUVjLEdBQUcsR0FBQyxPQUFNZCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2tleWJvYXJkLmpzPzZlNTQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIG89KHI9PihyLlNwYWNlPVwiIFwiLHIuRW50ZXI9XCJFbnRlclwiLHIuRXNjYXBlPVwiRXNjYXBlXCIsci5CYWNrc3BhY2U9XCJCYWNrc3BhY2VcIixyLkRlbGV0ZT1cIkRlbGV0ZVwiLHIuQXJyb3dMZWZ0PVwiQXJyb3dMZWZ0XCIsci5BcnJvd1VwPVwiQXJyb3dVcFwiLHIuQXJyb3dSaWdodD1cIkFycm93UmlnaHRcIixyLkFycm93RG93bj1cIkFycm93RG93blwiLHIuSG9tZT1cIkhvbWVcIixyLkVuZD1cIkVuZFwiLHIuUGFnZVVwPVwiUGFnZVVwXCIsci5QYWdlRG93bj1cIlBhZ2VEb3duXCIsci5UYWI9XCJUYWJcIixyKSkob3x8e30pO2V4cG9ydHtvIGFzIEtleXN9O1xuIl0sIm5hbWVzIjpbIm8iLCJyIiwiU3BhY2UiLCJFbnRlciIsIkVzY2FwZSIsIkJhY2tzcGFjZSIsIkRlbGV0ZSIsIkFycm93TGVmdCIsIkFycm93VXAiLCJBcnJvd1JpZ2h0IiwiQXJyb3dEb3duIiwiSG9tZSIsIkVuZCIsIlBhZ2VVcCIsIlBhZ2VEb3duIiwiVGFiIiwiS2V5cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/tabs/tabs.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Tab: function() { return /* binding */ st; },\n/* harmony export */ TabGroup: function() { return /* binding */ Oe; },\n/* harmony export */ TabList: function() { return /* binding */ Ne; },\n/* harmony export */ TabPanel: function() { return /* binding */ Be; },\n/* harmony export */ TabPanels: function() { return /* binding */ ke; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @react-aria/focus */ \"(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../hooks/use-id.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* harmony import */ var _hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../internal/focus-sentinel.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js\");\n/* harmony import */ var _internal_hidden_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../internal/hidden.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n/* harmony import */ var _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/focus-management.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_micro_task_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/micro-task.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/stable-collection.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/stable-collection.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../keyboard.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js\");\n/* __next_internal_client_entry_do_not_use__ Tab,TabGroup,TabList,TabPanel,TabPanels auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Ae = ((t)=>(t[t.Forwards = 0] = \"Forwards\", t[t.Backwards = 1] = \"Backwards\", t))(Ae || {}), Ee = ((o)=>(o[o.Less = -1] = \"Less\", o[o.Equal = 0] = \"Equal\", o[o.Greater = 1] = \"Greater\", o))(Ee || {}), Re = ((n)=>(n[n.SetSelectedIndex = 0] = \"SetSelectedIndex\", n[n.RegisterTab = 1] = \"RegisterTab\", n[n.UnregisterTab = 2] = \"UnregisterTab\", n[n.RegisterPanel = 3] = \"RegisterPanel\", n[n.UnregisterPanel = 4] = \"UnregisterPanel\", n))(Re || {});\nlet Le = {\n [0] (e, r) {\n var c;\n let t = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.tabs, (T)=>T.current), o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.panels, (T)=>T.current), a = t.filter((T)=>{\n var d;\n return !((d = T.current) != null && d.hasAttribute(\"disabled\"));\n }), n = {\n ...e,\n tabs: t,\n panels: o\n };\n if (r.index < 0 || r.index > t.length - 1) {\n let T = (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(Math.sign(r.index - e.selectedIndex), {\n [-1]: ()=>1,\n [0]: ()=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(Math.sign(r.index), {\n [-1]: ()=>0,\n [0]: ()=>0,\n [1]: ()=>1\n }),\n [1]: ()=>0\n });\n if (a.length === 0) return n;\n let d = (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(T, {\n [0]: ()=>t.indexOf(a[0]),\n [1]: ()=>t.indexOf(a[a.length - 1])\n });\n return {\n ...n,\n selectedIndex: d === -1 ? e.selectedIndex : d\n };\n }\n let u = t.slice(0, r.index), x = [\n ...t.slice(r.index),\n ...u\n ].find((T)=>a.includes(T));\n if (!x) return n;\n let f = (c = t.indexOf(x)) != null ? c : e.selectedIndex;\n return f === -1 && (f = e.selectedIndex), {\n ...n,\n selectedIndex: f\n };\n },\n [1] (e, r) {\n if (e.tabs.includes(r.tab)) return e;\n let t = e.tabs[e.selectedIndex], o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)([\n ...e.tabs,\n r.tab\n ], (n)=>n.current), a = e.selectedIndex;\n return e.info.current.isControlled || (a = o.indexOf(t), a === -1 && (a = e.selectedIndex)), {\n ...e,\n tabs: o,\n selectedIndex: a\n };\n },\n [2] (e, r) {\n return {\n ...e,\n tabs: e.tabs.filter((t)=>t !== r.tab)\n };\n },\n [3] (e, r) {\n return e.panels.includes(r.panel) ? e : {\n ...e,\n panels: (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)([\n ...e.panels,\n r.panel\n ], (t)=>t.current)\n };\n },\n [4] (e, r) {\n return {\n ...e,\n panels: e.panels.filter((t)=>t !== r.panel)\n };\n }\n}, z = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nz.displayName = \"TabsDataContext\";\nfunction C(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(z);\n if (r === null) {\n let t = new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, C), t;\n }\n return r;\n}\n_c = C;\nlet V = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nV.displayName = \"TabsActionsContext\";\nfunction Q(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(V);\n if (r === null) {\n let t = new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, Q), t;\n }\n return r;\n}\n_c1 = Q;\nfunction _e(e, r) {\n return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(r.type, Le, e, r);\n}\nlet De = \"div\";\nfunction Se(e, r) {\n let { defaultIndex: t = 0, vertical: o = !1, manual: a = !1, onChange: n, selectedIndex: u = null, ..._ } = e;\n const x = o ? \"vertical\" : \"horizontal\", f = a ? \"manual\" : \"auto\";\n let c = u !== null, T = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)({\n isControlled: c\n }), d = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), [i, s] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(_e, {\n info: T,\n selectedIndex: u != null ? u : t,\n tabs: [],\n panels: []\n }), F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: i.selectedIndex\n }), [\n i.selectedIndex\n ]), M = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(n || (()=>{})), b = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(i.tabs), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n orientation: x,\n activation: f,\n ...i\n }), [\n x,\n f,\n i\n ]), E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>(s({\n type: 1,\n tab: p\n }), ()=>s({\n type: 2,\n tab: p\n }))), I = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>(s({\n type: 3,\n panel: p\n }), ()=>s({\n type: 4,\n panel: p\n }))), g = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>{\n R.current !== p && M.current(p), c || s({\n type: 0,\n index: p\n });\n }), R = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(c ? e.selectedIndex : i.selectedIndex), J = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n registerTab: E,\n registerPanel: I,\n change: g\n }), []);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n s({\n type: 0,\n index: u != null ? u : t\n });\n }, [\n u\n ]), (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n if (R.current === void 0 || i.tabs.length <= 0) return;\n let p = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(i.tabs, (L)=>L.current);\n p.some((L, B)=>i.tabs[B] !== L) && g(p.indexOf(i.tabs[R.current]));\n });\n let k = {\n ref: d\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.StableCollection, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(V.Provider, {\n value: J\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(z.Provider, {\n value: m\n }, m.tabs.length <= 0 && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_8__.FocusSentinel, {\n onFocus: ()=>{\n var p, h;\n for (let L of b.current)if (((p = L.current) == null ? void 0 : p.tabIndex) === 0) return (h = L.current) == null || h.focus(), !0;\n return !1;\n }\n }), (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: k,\n theirProps: _,\n slot: F,\n defaultTag: De,\n name: \"Tabs\"\n }))));\n}\n_c2 = Se;\nlet Fe = \"div\";\nfunction Ie(e, r) {\n let { orientation: t, selectedIndex: o } = C(\"Tab.List\"), a = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: o\n }), [\n o\n ]);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: {\n ref: a,\n role: \"tablist\",\n \"aria-orientation\": t\n },\n theirProps: e,\n slot: n,\n defaultTag: Fe,\n name: \"Tabs.List\"\n });\n}\n_c3 = Ie;\nlet he = \"button\";\nfunction ve(e, r) {\n var Y, Z;\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: o = `headlessui-tabs-tab-${t}`, disabled: a = !1, autoFocus: n = !1, ...u } = e, { orientation: _, activation: x, selectedIndex: f, tabs: c, panels: T } = C(\"Tab\"), d = Q(\"Tab\"), i = C(\"Tab\"), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), F = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(s, r);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>d.registerTab(s), [\n d,\n s\n ]);\n let M = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.useStableCollectionIndex)(\"tabs\"), b = c.indexOf(s);\n b === -1 && (b = M);\n let m = b === f, E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n var X;\n let A = l();\n if (A === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Success && x === \"auto\") {\n let $ = (X = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_10__.getOwnerDocument)(s)) == null ? void 0 : X.activeElement, ee = i.tabs.findIndex((Te)=>Te.current === $);\n ee !== -1 && d.change(ee);\n }\n return A;\n }), I = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n let A = c.map(($)=>$.current).filter(Boolean);\n if (l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Space || l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Enter) {\n l.preventDefault(), l.stopPropagation(), d.change(b);\n return;\n }\n switch(l.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Home:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.PageUp:\n return l.preventDefault(), l.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.First));\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.End:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.PageDown:\n return l.preventDefault(), l.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Last));\n }\n if (E(()=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(_, {\n vertical () {\n return l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowUp ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowDown ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Next | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Error;\n },\n horizontal () {\n return l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowLeft ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowRight ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Next | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Error;\n }\n })) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Success) return l.preventDefault();\n }), g = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), R = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)(()=>{\n var l;\n g.current || (g.current = !0, (l = s.current) == null || l.focus({\n preventScroll: !0\n }), d.change(b), (0,_utils_micro_task_js__WEBPACK_IMPORTED_MODULE_12__.microTask)(()=>{\n g.current = !1;\n }));\n }), J = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n l.preventDefault();\n }), { isFocusVisible: k, focusProps: p } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)({\n autoFocus: n\n }), { isHovered: h, hoverProps: L } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_14__.useHover)({\n isDisabled: a\n }), { pressed: B, pressProps: ie } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_15__.useActivePress)({\n disabled: a\n }), pe = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selected: m,\n hover: h,\n active: B,\n focus: k,\n autofocus: n,\n disabled: a\n }), [\n m,\n h,\n k,\n B,\n n,\n a\n ]), ue = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.mergeProps)({\n ref: F,\n onKeyDown: I,\n onMouseDown: J,\n onClick: R,\n id: o,\n role: \"tab\",\n type: (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_16__.useResolveButtonType)(e, s),\n \"aria-controls\": (Z = (Y = T[b]) == null ? void 0 : Y.current) == null ? void 0 : Z.id,\n \"aria-selected\": m,\n tabIndex: m ? 0 : -1,\n disabled: a || void 0,\n autoFocus: n\n }, p, L, ie);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: ue,\n theirProps: u,\n slot: pe,\n defaultTag: he,\n name: \"Tabs.Tab\"\n });\n}\nlet Ce = \"div\";\nfunction Me(e, r) {\n let { selectedIndex: t } = C(\"Tab.Panels\"), o = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: t\n }), [\n t\n ]);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: {\n ref: o\n },\n theirProps: e,\n slot: a,\n defaultTag: Ce,\n name: \"Tabs.Panels\"\n });\n}\n_c4 = Me;\nlet Ge = \"div\", Ue = _utils_render_js__WEBPACK_IMPORTED_MODULE_9__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_9__.RenderFeatures.Static;\nfunction He(e, r) {\n var E, I, g, R;\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: o = `headlessui-tabs-panel-${t}`, tabIndex: a = 0, ...n } = e, { selectedIndex: u, tabs: _, panels: x } = C(\"Tab.Panel\"), f = Q(\"Tab.Panel\"), c = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), T = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(c, r);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>f.registerPanel(c), [\n f,\n c\n ]);\n let d = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.useStableCollectionIndex)(\"panels\"), i = x.indexOf(c);\n i === -1 && (i = d);\n let s = i === u, { isFocusVisible: F, focusProps: M } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)(), b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selected: s,\n focus: F\n }), [\n s,\n F\n ]), m = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.mergeProps)({\n ref: T,\n id: o,\n role: \"tabpanel\",\n \"aria-labelledby\": (I = (E = _[i]) == null ? void 0 : E.current) == null ? void 0 : I.id,\n tabIndex: s ? a : -1\n }, M);\n return !s && ((g = n.unmount) == null || g) && !((R = n.static) != null && R) ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_17__.Hidden, {\n as: \"span\",\n \"aria-hidden\": \"true\",\n ...m\n }) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: m,\n theirProps: n,\n slot: b,\n defaultTag: Ge,\n features: Ue,\n visible: s,\n name: \"Tabs.Panel\"\n });\n}\n_c5 = He;\nlet we = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(ve), Oe = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Se), Ne = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Ie), ke = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Me), Be = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(He), st = Object.assign(we, {\n Group: Oe,\n List: Ne,\n Panels: ke,\n Panel: Be\n});\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"C\");\n$RefreshReg$(_c1, \"Q\");\n$RefreshReg$(_c2, \"Se\");\n$RefreshReg$(_c3, \"Ie\");\n$RefreshReg$(_c4, \"Me\");\n$RefreshReg$(_c5, \"He\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvdGFicy90YWJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzZGQUErRDtBQUFxRDtBQUFxRztBQUFrRTtBQUFvRDtBQUErQztBQUE0RTtBQUFpRTtBQUErRTtBQUEyRDtBQUFrRTtBQUFtRDtBQUF5RztBQUE2QztBQUF1RDtBQUF5RDtBQUEyRztBQUFvRztBQUFzQztBQUFBLElBQUk2RCxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsUUFBUSxHQUFDLEVBQUUsR0FBQyxZQUFXRCxDQUFDLENBQUNBLEVBQUVFLFNBQVMsR0FBQyxFQUFFLEdBQUMsYUFBWUYsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUMsSUFBR0ksS0FBRyxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxDQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUYsQ0FBQyxDQUFDQSxFQUFFRyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVILENBQUFBLENBQUMsRUFBR0QsTUFBSSxDQUFDLElBQUdLLEtBQUcsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxnQkFBZ0IsR0FBQyxFQUFFLEdBQUMsb0JBQW1CRCxDQUFDLENBQUNBLEVBQUVFLFdBQVcsR0FBQyxFQUFFLEdBQUMsZUFBY0YsQ0FBQyxDQUFDQSxFQUFFRyxhQUFhLEdBQUMsRUFBRSxHQUFDLGlCQUFnQkgsQ0FBQyxDQUFDQSxFQUFFSSxhQUFhLEdBQUMsRUFBRSxHQUFDLGlCQUFnQkosQ0FBQyxDQUFDQSxFQUFFSyxlQUFlLEdBQUMsRUFBRSxHQUFDLG1CQUFrQkwsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUM7QUFBRyxJ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V2hGO1FBQUVpRixNQUFLM0I7UUFBRTRCLFlBQVc4RDtRQUFHUSxVQUFTUDtRQUFHUSxTQUFRdEc7UUFBRWdDLE1BQUs7SUFBWTtBQUFFO01BQWhxQmlFO0FBQWlxQixJQUFJTSxLQUFHL0ssa0VBQUNBLENBQUM2RyxLQUFJbUUsS0FBR2hMLGtFQUFDQSxDQUFDaUUsS0FBSWdILEtBQUdqTCxrRUFBQ0EsQ0FBQzBHLEtBQUl3RSxLQUFHbEwsa0VBQUNBLENBQUNvSyxLQUFJZSxLQUFHbkwsa0VBQUNBLENBQUN5SyxLQUFJVyxLQUFHQyxPQUFPQyxNQUFNLENBQUNQLElBQUc7SUFBQ1EsT0FBTVA7SUFBR1EsTUFBS1A7SUFBR1EsUUFBT1A7SUFBR1EsT0FBTVA7QUFBRTtBQUFpRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL3RhYnMvdGFicy5qcz83MzUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO2ltcG9ydHt1c2VGb2N1c1JpbmcgYXMgdGV9ZnJvbVwiQHJlYWN0LWFyaWEvZm9jdXNcIjtpbXBvcnR7dXNlSG92ZXIgYXMgZGV9ZnJvbVwiQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zXCI7aW1wb3J0IEcse2NyZWF0ZUNvbnRleHQgYXMgcmUsdXNlQ29udGV4dCBhcyBuZSx1c2VNZW1vIGFzIEQsdXNlUmVkdWNlciBhcyBjZSx1c2VSZWYgYXMgcX1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VBY3RpdmVQcmVzcyBhcyBmZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMnO2ltcG9ydHt1c2VFdmVudCBhcyBTfWZyb20nLi4vLi4vaG9va3MvdXNlLWV2ZW50LmpzJztpbXBvcnR7dXNlSWQgYXMgYWV9ZnJvbScuLi8uLi9ob29rcy91c2UtaWQuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIFd9ZnJvbScuLi8uLi9ob29rcy91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgan1mcm9tJy4uLy4uL2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMnO2ltcG9ydHt1c2VSZXNvbHZlQnV0dG9uVHlwZSBhcyBiZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzJztpbXBvcnR7dXNlU3luY1JlZnMgYXMgVX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHtGb2N1c1NlbnRpbmVsIGFzIG1lfWZyb20nLi4vLi4vaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanMnO2ltcG9ydHtIaWRkZW4gYXMgUGV9ZnJvbScuLi8uLi9pbnRlcm5hbC9oaWRkZW4uanMnO2ltcG9ydHtGb2N1cyBhcyBQLEZvY3VzUmVzdWx0IGFzIEssZm9jdXNJbiBhcyB2LHNvcnRCeURvbU5vZGUgYXMgSH1mcm9tJy4uLy4uL3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMnO2ltcG9ydHttYXRjaCBhcyB3fWZyb20nLi4vLi4vdXRpbHMvbWF0Y2guanMnO2ltcG9ydHttaWNyb1Rhc2sgYXMgeWV9ZnJvbScuLi8uLi91dGlscy9taWNyby10YXNrLmpzJztpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyB4ZX1mcm9tJy4uLy4uL3V0aWxzL293bmVyLmpzJztpbXBvcnR7UmVuZGVyRmVhdHVyZXMgYXMgb2UsZm9yd2FyZFJlZldpdGhBcyBhcyBPLG1lcmdlUHJvcHMgYXMgbGUscmVuZGVyIGFzIE59ZnJvbScuLi8uLi91dGlscy9yZW5kZXIuanMnO2ltcG9ydHtTdGFibGVDb2xsZWN0aW9uIGFzIGdlLHVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCBhcyBzZX1mcm9tJy4uLy4uL3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzJztpbXBvcnR7S2V5cyBhcyB5fWZyb20nLi4va2V5Ym9hcmQuanMnO3ZhciBBZT0odD0+KHRbdC5Gb3J3YXJkcz0wXT1cIkZvcndhcmRzXCIsdFt0LkJhY2t3YXJkcz0xXT1cIkJhY2t3YXJkc1wiLHQpKShBZXx8e30pLEVlPShvPT4ob1tvLkxlc3M9LTFdPVwiTGVzc1wiLG9bby5FcXVhbD0wXT1cIkVxdWFsXCIsb1tvLkdyZWF0ZXI9MV09XCJHcmVhdGVyXCIsbykpKEVlfHx7fSksUmU9KG49PihuW24uU2V0U2VsZWN0ZWRJbmRleD0wXT1cIlNldFNlbGVjdGVkSW5kZXhcIixuW24uUmVnaXN0ZXJUYWI9MV09XCJSZWdpc3RlclRhYlwiLG5bbi5VbnJlZ2lzdGVyVGFiPTJdPVwiVW5yZWdpc3RlclRhYlwiLG5bbi5SZWdpc3RlclBhbmVsPTNdPVwiUmVnaXN0ZXJQYW5lbFwiLG5bbi5VbnJlZ2lzdGVyUGFuZWw9NF09XCJVbnJlZ2lzdGVyUGFuZWxcIixuKSkoUmV8fHt9KTtsZXQgTGU9e1swXShlLHIpe3ZhciBjO2xldCB0PUgoZS50YWJzLFQ9PlQuY3VycmVudCksbz1IKGUucGFuZWxzLFQ9PlQuY3VycmVudCksYT10LmZpbHRlcihUPT57dmFyIGQ7cmV0dXJuISgoZD1ULmN1cnJlbnQpIT1udWxsJiZkLmhhc0F0dHJpYnV0ZShcImRpc2FibGVkXCIpKX0pLG49ey4uLmUsdGFiczp0LHBhbmVsczpvfTtpZihyLmluZGV4PDB8fHIuaW5kZXg+dC5sZW5ndGgtMSl7bGV0IFQ9dyhNYXRoLnNpZ24oci5pbmRleC1lLnNlbGVjdGVkSW5kZXgpLHtbLTFdOigpPT4xLFswXTooKT0+dyhNYXRoLnNpZ24oci5pbmRleCkse1stMV06KCk9PjAsWzBdOigpPT4wLFsxXTooKT0+MX0pLFsxXTooKT0+MH0pO2lmKGEubGVuZ3RoPT09MClyZXR1cm4gbjtsZXQgZD13KFQse1swXTooKT0+dC5pbmRleE9mKGFbMF0pLFsxXTooKT0+dC5pbmRleE9mKGFbYS5sZW5ndGgtMV0pfSk7cmV0dXJuey4uLm4sc2VsZWN0ZWRJbmRleDpkPT09LTE/ZS5zZWxlY3RlZEluZGV4OmR9fWxldCB1PXQuc2xpY2UoMCxyLmluZGV4KSx4PVsuLi50LnNsaWNlKHIuaW5kZXgpLC4uLnVdLmZpbmQoVD0+YS5pbmNsdWRlcyhUKSk7aWYoIXgpcmV0dXJuIG47bGV0IGY9KGM9dC5pbmRleE9mKHgpKSE9bnVsbD9jOmUuc2VsZWN0ZWRJbmRleDtyZXR1cm4gZj09PS0xJiYoZj1lLnNlbGVjdGVkSW5kZXgpLHsuLi5uLHNlbGVjdGVkSW5kZXg6Zn19LFsxXShlLHIpe2lmKGUudGFicy5pbmNsdWRlcyhyLnRhYikpcmV0dXJuIGU7bGV0IHQ9ZS50YWJzW2Uuc2VsZWN0ZWRJbmRleF0sbz1IKFsuLi5lLnRhYnMsci50YWJdLG49Pm4uY3VycmVudCksYT1lLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGUuaW5mby5jdXJyZW50LmlzQ29udHJvbGxlZHx8KGE9by5pbmRleE9mKHQpLGE9PT0tMSYmKGE9ZS5zZWxlY3RlZEluZGV4KSksey4uLmUsdGFiczpvLHNlbGVjdGVkSW5kZXg6YX19LFsyXShlLHIpe3JldHVybnsuLi5lLHRhYnM6ZS50YWJzLmZpbHRlcih0PT50IT09ci50YWIpfX0sWzNdKGUscil7cmV0dXJuIGUucGFuZWxzLmluY2x1ZGVzKHIucGFuZWwpP2U6ey4uLmUscGFuZWxzOkgoWy4uLmUucGFuZWxzLHIucGFuZWxdLHQ9PnQuY3VycmVudCl9fSxbNF0oZSxyKXtyZXR1cm57Li4uZSxwYW5lbHM6ZS5wYW5lbHMuZmlsdGVyKHQ9PnQhPT1yLnBhbmVsKX19fSx6PXJlKG51bGwpO3ouZGlzcGxheU5hbWU9XCJUYWJzRGF0YUNvbnRleHRcIjtmdW5jdGlvbiBDKGUpe2xldCByPW5lKHopO2lmKHI9PT1udWxsKXtsZXQgdD1uZXcgRXJyb3IoYDwke2V9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPFRhYi5Hcm91cCAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHQsQyksdH1yZXR1cm4gcn1sZXQgVj1yZShudWxsKTtWLmRpc3BsYXlOYW1lPVwiVGFic0FjdGlvbnNDb250ZXh0XCI7ZnVuY3Rpb24gUShlKXtsZXQgcj1uZShWKTtpZihyPT09bnVsbCl7bGV0IHQ9bmV3IEVycm9yKGA8JHtlfSAvPiBpcyBtaXNzaW5nIGEgcGFyZW50IDxUYWIuR3JvdXAgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0LFEpLHR9cmV0dXJuIHJ9ZnVuY3Rpb24gX2UoZSxyKXtyZXR1cm4gdyhyLnR5cGUsTGUsZSxyKX1sZXQgRGU9XCJkaXZcIjtmdW5jdGlvbiBTZShlLHIpe2xldHtkZWZhdWx0SW5kZXg6dD0wLHZlcnRpY2FsOm89ITEsbWFudWFsOmE9ITEsb25DaGFuZ2U6bixzZWxlY3RlZEluZGV4OnU9bnVsbCwuLi5ffT1lO2NvbnN0IHg9bz9cInZlcnRpY2FsXCI6XCJob3Jpem9udGFsXCIsZj1hP1wibWFudWFsXCI6XCJhdXRvXCI7bGV0IGM9dSE9PW51bGwsVD1qKHtpc0NvbnRyb2xsZWQ6Y30pLGQ9VShyKSxbaSxzXT1jZShfZSx7aW5mbzpULHNlbGVjdGVkSW5kZXg6dSE9bnVsbD91OnQsdGFiczpbXSxwYW5lbHM6W119KSxGPUQoKCk9Pih7c2VsZWN0ZWRJbmRleDppLnNlbGVjdGVkSW5kZXh9KSxbaS5zZWxlY3RlZEluZGV4XSksTT1qKG58fCgoKT0+e30pKSxiPWooaS50YWJzKSxtPUQoKCk9Pih7b3JpZW50YXRpb246eCxhY3RpdmF0aW9uOmYsLi4uaX0pLFt4LGYsaV0pLEU9UyhwPT4ocyh7dHlwZToxLHRhYjpwfSksKCk9PnMoe3R5cGU6Mix0YWI6cH0pKSksST1TKHA9PihzKHt0eXBlOjMscGFuZWw6cH0pLCgpPT5zKHt0eXBlOjQscGFuZWw6cH0pKSksZz1TKHA9PntSLmN1cnJlbnQhPT1wJiZNLmN1cnJlbnQocCksY3x8cyh7dHlwZTowLGluZGV4OnB9KX0pLFI9aihjP2Uuc2VsZWN0ZWRJbmRleDppLnNlbGVjdGVkSW5kZXgpLEo9RCgoKT0+KHtyZWdpc3RlclRhYjpFLHJlZ2lzdGVyUGFuZWw6SSxjaGFuZ2U6Z30pLFtdKTtXKCgpPT57cyh7dHlwZTowLGluZGV4OnUhPW51bGw/dTp0fSl9LFt1XSksVygoKT0+e2lmKFIuY3VycmVudD09PXZvaWQgMHx8aS50YWJzLmxlbmd0aDw9MClyZXR1cm47bGV0IHA9SChpLnRhYnMsTD0+TC5jdXJyZW50KTtwLnNvbWUoKEwsQik9PmkudGFic1tCXSE9PUwpJiZnKHAuaW5kZXhPZihpLnRhYnNbUi5jdXJyZW50XSkpfSk7bGV0IGs9e3JlZjpkfTtyZXR1cm4gRy5jcmVhdGVFbGVtZW50KGdlLG51bGwsRy5jcmVhdGVFbGVtZW50KFYuUHJvdmlkZXIse3ZhbHVlOkp9LEcuY3JlYXRlRWxlbWVudCh6LlByb3ZpZGVyLHt2YWx1ZTptfSxtLnRhYnMubGVuZ3RoPD0wJiZHLmNyZWF0ZUVsZW1lbnQobWUse29uRm9jdXM6KCk9Pnt2YXIgcCxoO2ZvcihsZXQgTCBvZiBiLmN1cnJlbnQpaWYoKChwPUwuY3VycmVudCk9PW51bGw/dm9pZCAwOnAudGFiSW5kZXgpPT09MClyZXR1cm4oaD1MLmN1cnJlbnQpPT1udWxsfHxoLmZvY3VzKCksITA7cmV0dXJuITF9fSksTih7b3VyUHJvcHM6ayx0aGVpclByb3BzOl8sc2xvdDpGLGRlZmF1bHRUYWc6RGUsbmFtZTpcIlRhYnNcIn0pKSkpfWxldCBGZT1cImRpdlwiO2Z1bmN0aW9uIEllKGUscil7bGV0e29yaWVudGF0aW9uOnQsc2VsZWN0ZWRJbmRleDpvfT1DKFwiVGFiLkxpc3RcIiksYT1VKHIpLG49RCgoKT0+KHtzZWxlY3RlZEluZGV4Om99KSxbb10pO3JldHVybiBOKHtvdXJQcm9wczp7cmVmOmEscm9sZTpcInRhYmxpc3RcIixcImFyaWEtb3JpZW50YXRpb25cIjp0fSx0aGVpclByb3BzOmUsc2xvdDpuLGRlZmF1bHRUYWc6RmUsbmFtZTpcIlRhYnMuTGlzdFwifSl9bGV0IGhlPVwiYnV0dG9uXCI7ZnVuY3Rpb24gdmUoZSxyKXt2YXIgWSxaO2xldCB0PWFlKCkse2lkOm89YGhlYWRsZXNzdWktdGFicy10YWItJHt0fWAsZGlzYWJsZWQ6YT0hMSxhdXRvRm9jdXM6bj0hMSwuLi51fT1lLHtvcmllbnRhdGlvbjpfLGFjdGl2YXRpb246eCxzZWxlY3RlZEluZGV4OmYsdGFiczpjLHBhbmVsczpUfT1DKFwiVGFiXCIpLGQ9UShcIlRhYlwiKSxpPUMoXCJUYWJcIikscz1xKG51bGwpLEY9VShzLHIpO1coKCk9PmQucmVnaXN0ZXJUYWIocyksW2Qsc10pO2xldCBNPXNlKFwidGFic1wiKSxiPWMuaW5kZXhPZihzKTtiPT09LTEmJihiPU0pO2xldCBtPWI9PT1mLEU9UyhsPT57dmFyIFg7bGV0IEE9bCgpO2lmKEE9PT1LLlN1Y2Nlc3MmJng9PT1cImF1dG9cIil7bGV0ICQ9KFg9eGUocykpPT1udWxsP3ZvaWQgMDpYLmFjdGl2ZUVsZW1lbnQsZWU9aS50YWJzLmZpbmRJbmRleChUZT0+VGUuY3VycmVudD09PSQpO2VlIT09LTEmJmQuY2hhbmdlKGVlKX1yZXR1cm4gQX0pLEk9UyhsPT57bGV0IEE9Yy5tYXAoJD0+JC5jdXJyZW50KS5maWx0ZXIoQm9vbGVhbik7aWYobC5rZXk9PT15LlNwYWNlfHxsLmtleT09PXkuRW50ZXIpe2wucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLGQuY2hhbmdlKGIpO3JldHVybn1zd2l0Y2gobC5rZXkpe2Nhc2UgeS5Ib21lOmNhc2UgeS5QYWdlVXA6cmV0dXJuIGwucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLEUoKCk9PnYoQSxQLkZpcnN0KSk7Y2FzZSB5LkVuZDpjYXNlIHkuUGFnZURvd246cmV0dXJuIGwucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLEUoKCk9PnYoQSxQLkxhc3QpKX1pZihFKCgpPT53KF8se3ZlcnRpY2FsKCl7cmV0dXJuIGwua2V5PT09eS5BcnJvd1VwP3YoQSxQLlByZXZpb3VzfFAuV3JhcEFyb3VuZCk6bC5rZXk9PT15LkFycm93RG93bj92KEEsUC5OZXh0fFAuV3JhcEFyb3VuZCk6Sy5FcnJvcn0saG9yaXpvbnRhbCgpe3JldHVybiBsLmtleT09PXkuQXJyb3dMZWZ0P3YoQSxQLlByZXZpb3VzfFAuV3JhcEFyb3VuZCk6bC5rZXk9PT15LkFycm93UmlnaHQ/dihBLFAuTmV4dHxQLldyYXBBcm91bmQpOksuRXJyb3J9fSkpPT09Sy5TdWNjZXNzKXJldHVybiBsLnByZXZlbnREZWZhdWx0KCl9KSxnPXEoITEpLFI9UygoKT0+e3ZhciBsO2cuY3VycmVudHx8KGcuY3VycmVudD0hMCwobD1zLmN1cnJlbnQpPT1udWxsfHxsLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksZC5jaGFuZ2UoYikseWUoKCk9PntnLmN1cnJlbnQ9ITF9KSl9KSxKPVMobD0+e2wucHJldmVudERlZmF1bHQoKX0pLHtpc0ZvY3VzVmlzaWJsZTprLGZvY3VzUHJvcHM6cH09dGUoe2F1dG9Gb2N1czpufSkse2lzSG92ZXJlZDpoLGhvdmVyUHJvcHM6TH09ZGUoe2lzRGlzYWJsZWQ6YX0pLHtwcmVzc2VkOkIscHJlc3NQcm9wczppZX09ZmUoe2Rpc2FibGVkOmF9KSxwZT1EKCgpPT4oe3NlbGVjdGVkOm0saG92ZXI6aCxhY3RpdmU6Qixmb2N1czprLGF1dG9mb2N1czpuLGRpc2FibGVkOmF9KSxbbSxoLGssQixuLGFdKSx1ZT1sZSh7cmVmOkYsb25LZXlEb3duOkksb25Nb3VzZURvd246SixvbkNsaWNrOlIsaWQ6byxyb2xlOlwidGFiXCIsdHlwZTpiZShlLHMpLFwiYXJpYS1jb250cm9sc1wiOihaPShZPVRbYl0pPT1udWxsP3ZvaWQgMDpZLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpaLmlkLFwiYXJpYS1zZWxlY3RlZFwiOm0sdGFiSW5kZXg6bT8wOi0xLGRpc2FibGVkOmF8fHZvaWQgMCxhdXRvRm9jdXM6bn0scCxMLGllKTtyZXR1cm4gTih7b3VyUHJvcHM6dWUsdGhlaXJQcm9wczp1LHNsb3Q6cGUsZGVmYXVsdFRhZzpoZSxuYW1lOlwiVGFicy5UYWJcIn0pfWxldCBDZT1cImRpdlwiO2Z1bmN0aW9uIE1lKGUscil7bGV0e3NlbGVjdGVkSW5kZXg6dH09QyhcIlRhYi5QYW5lbHNcIiksbz1VKHIpLGE9RCgoKT0+KHtzZWxlY3RlZEluZGV4OnR9KSxbdF0pO3JldHVybiBOKHtvdXJQcm9wczp7cmVmOm99LHRoZWlyUHJvcHM6ZSxzbG90OmEsZGVmYXVsdFRhZzpDZSxuYW1lOlwiVGFicy5QYW5lbHNcIn0pfWxldCBHZT1cImRpdlwiLFVlPW9lLlJlbmRlclN0cmF0ZWd5fG9lLlN0YXRpYztmdW5jdGlvbiBIZShlLHIpe3ZhciBFLEksZyxSO2xldCB0PWFlKCkse2lkOm89YGhlYWRsZXNzdWktdGFicy1wYW5lbC0ke3R9YCx0YWJJbmRleDphPTAsLi4ubn09ZSx7c2VsZWN0ZWRJbmRleDp1LHRhYnM6XyxwYW5lbHM6eH09QyhcIlRhYi5QYW5lbFwiKSxmPVEoXCJUYWIuUGFuZWxcIiksYz1xKG51bGwpLFQ9VShjLHIpO1coKCk9PmYucmVnaXN0ZXJQYW5lbChjKSxbZixjXSk7bGV0IGQ9c2UoXCJwYW5lbHNcIiksaT14LmluZGV4T2YoYyk7aT09PS0xJiYoaT1kKTtsZXQgcz1pPT09dSx7aXNGb2N1c1Zpc2libGU6Rixmb2N1c1Byb3BzOk19PXRlKCksYj1EKCgpPT4oe3NlbGVjdGVkOnMsZm9jdXM6Rn0pLFtzLEZdKSxtPWxlKHtyZWY6VCxpZDpvLHJvbGU6XCJ0YWJwYW5lbFwiLFwiYXJpYS1sYWJlbGxlZGJ5XCI6KEk9KEU9X1tpXSk9PW51bGw/dm9pZCAwOkUuY3VycmVudCk9PW51bGw/dm9pZCAwOkkuaWQsdGFiSW5kZXg6cz9hOi0xfSxNKTtyZXR1cm4hcyYmKChnPW4udW5tb3VudCk9PW51bGx8fGcpJiYhKChSPW4uc3RhdGljKSE9bnVsbCYmUik/Ry5jcmVhdGVFbGVtZW50KFBlLHthczpcInNwYW5cIixcImFyaWEtaGlkZGVuXCI6XCJ0cnVlXCIsLi4ubX0pOk4oe291clByb3BzOm0sdGhlaXJQcm9wczpuLHNsb3Q6YixkZWZhdWx0VGFnOkdlLGZlYXR1cmVzOlVlLHZpc2libGU6cyxuYW1lOlwiVGFicy5QYW5lbFwifSl9bGV0IHdlPU8odmUpLE9lPU8oU2UpLE5lPU8oSWUpLGtlPU8oTWUpLEJlPU8oSGUpLHN0PU9iamVjdC5hc3NpZ24od2Use0dyb3VwOk9lLExpc3Q6TmUsUGFuZWxzOmtlLFBhbmVsOkJlfSk7ZXhwb3J0e3N0IGFzIFRhYixPZSBhcyBUYWJHcm91cCxOZSBhcyBUYWJMaXN0LEJlIGFzIFRhYlBhbmVsLGtlIGFzIFRhYlBhbmVsc307XG4iXSwibmFtZXMiOlsidXNlRm9jdXNSaW5nIiwidGUiLCJ1c2VIb3ZlciIsImRlIiwiRyIsImNyZWF0ZUNvbnRleHQiLCJyZSIsInVzZUNvbnRleHQiLCJuZSIsInVzZU1lbW8iLCJEIiwidXNlUmVkdWNlciIsImNlIiwidXNlUmVmIiwicSIsInVzZUFjdGl2ZVByZXNzIiwiZmUiLCJ1c2VFdmVudCIsIlMiLCJ1c2VJZCIsImFlIiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsIlciLCJ1c2VMYXRlc3RWYWx1ZSIsImoiLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSIsImJlIiwidXNlU3luY1JlZnMiLCJVIiwiRm9jdXNTZW50aW5lbCIsIm1lIiwiSGlkZGVuIiwiUGUiLCJGb2N1cyIsIlAiLCJGb2N1c1Jlc3VsdCIsIksiLCJmb2N1c0luIiwidiIsInNvcnRCeURvbU5vZGUiLCJIIiwibWF0Y2giLCJ3IiwibWljcm9UYXNrIiwieWUiLCJnZXRPd25lckRvY3VtZW50IiwieGUiLCJSZW5kZXJGZWF0dXJlcyIsIm9lIiwiZm9yd2FyZFJlZldpdGhBcyIsIk8iLCJtZXJnZVByb3BzIiwibGUiLCJyZW5kZXIiLCJOIiwiU3RhYmxlQ29sbGVjdGlvbiIsImdlIiwidXNlU3RhYmxlQ29sbGVjdGlvbkluZGV4Iiwic2UiLCJLZXlzIiwieSIsIkFlIiwidCIsIkZvcndhcmRzIiwiQmFja3dhcmRzIiwiRWUiLCJvIiwiTGVzcyIsIkVxdWFsIiwiR3JlYXRlciIsIlJlIiwibiIsIlNldFNlbGVjdGVkSW5kZXgiLCJSZWdpc3RlclRhYiIsIlVucmVnaXN0ZXJUYWIiLCJSZWdpc3RlclBhbmVsIiwiVW5yZWdpc3RlclBhbmVsIiwiTGUiLCJlIiwiciIsImMiLCJ0YWJzIiwiVCIsImN1cnJlbnQiLCJwYW5lbHMiLCJhIiwiZmlsdGVyIiwiZCIsImhhc0F0dHJpYnV0ZSIsImluZGV4IiwibGVuZ3RoIiwiTWF0aCIsInNpZ24iLCJzZWxlY3RlZEluZGV4IiwiaW5kZXhPZiIsInUiLCJzbGljZSIsIngiLCJmaW5kIiwiaW5jbHVkZXMiLCJmIiwidGFiIiwiaW5mbyIsImlzQ29udHJvbGxlZCIsInBhbmVsIiwieiIsImRpc3BsYXlOYW1lIiwiQyIsIkVycm9yIiwiY2FwdHVyZVN0YWNrVHJhY2UiLCJWIiwiUSIsIl9lIiwidHlwZSIsIkRlIiwiU2UiLCJkZWZhdWx0SW5kZXgiLCJ2ZXJ0aWNhbCIsIm1hbnVhbCIsIm9uQ2hhbmdlIiwiXyIsImkiLCJzIiwiRiIsIk0iLCJiIiwibSIsIm9yaWVudGF0aW9uIiwiYWN0aXZhdGlvbiIsIkUiLCJwIiwiSSIsImciLCJSIiwiSiIsInJlZ2lzdGVyVGFiIiwicmVnaXN0ZXJQYW5lbCIsImNoYW5nZSIsIkwiLCJzb21lIiwiQiIsImsiLCJyZWYiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIm9uRm9jdXMiLCJoIiwidGFiSW5kZXgiLCJmb2N1cyIsIm91clByb3BzIiwidGhlaXJQcm9wcyIsInNsb3QiLCJkZWZhdWx0VGFnIiwibmFtZSIsIkZlIiwiSWUiLCJyb2xlIiwiaGUiLCJ2ZSIsIlkiLCJaIiwiaWQiLCJkaXNhYmxlZCIsImF1dG9Gb2N1cyIsImwiLCJYIiwiQSIsIlN1Y2Nlc3MiLCIkIiwiYWN0aXZlRWxlbWVudCIsImVlIiwiZmluZEluZGV4IiwiVGUiLCJtYXAiLCJCb29sZWFuIiwia2V5IiwiU3BhY2UiLCJFbnRlciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiSG9tZSIsIlBhZ2VVcCIsIkZpcnN0IiwiRW5kIiwiUGFnZURvd24iLCJMYXN0IiwiQXJyb3dVcCIsIlByZXZpb3VzIiwiV3JhcEFyb3VuZCIsIkFycm93RG93biIsIk5leHQiLCJob3Jpem9udGFsIiwiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsInByZXZlbnRTY3JvbGwiLCJpc0ZvY3VzVmlzaWJsZSIsImZvY3VzUHJvcHMiLCJpc0hvdmVyZWQiLCJob3ZlclByb3BzIiwiaXNEaXNhYmxlZCIsInByZXNzZWQiLCJwcmVzc1Byb3BzIiwiaWUiLCJwZSIsInNlbGVjdGVkIiwiaG92ZXIiLCJhY3RpdmUiLCJhdXRvZm9jdXMiLCJ1ZSIsIm9uS2V5RG93biIsIm9uTW91c2VEb3duIiwib25DbGljayIsIkNlIiwiTWUiLCJHZSIsIlVlIiwiUmVuZGVyU3RyYXRlZ3kiLCJTdGF0aWMiLCJIZSIsInVubW91bnQiLCJzdGF0aWMiLCJhcyIsImZlYXR1cmVzIiwidmlzaWJsZSIsIndlIiwiT2UiLCJOZSIsImtlIiwiQmUiLCJzdCIsIk9iamVjdCIsImFzc2lnbiIsIkdyb3VwIiwiTGlzdCIsIlBhbmVscyIsIlBhbmVsIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-active-press.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useActivePress: function() { return /* binding */ w; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _use_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\n\n\nfunction E(e) {\n let t = e.width / 2, n = e.height / 2;\n return {\n top: e.clientY - n,\n right: e.clientX + t,\n bottom: e.clientY + n,\n left: e.clientX - t\n };\n}\n_c = E;\nfunction P(e, t) {\n return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);\n}\n_c1 = P;\nfunction w() {\n let { disabled: e = !1 } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), [n, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1), r = (0,_use_disposables_js__WEBPACK_IMPORTED_MODULE_1__.useDisposables)(), o = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)(()=>{\n t.current = null, l(!1), r.dispose();\n }), f = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)((s)=>{\n if (r.dispose(), t.current === null) {\n t.current = s.currentTarget, l(!0);\n {\n let i = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(s.currentTarget);\n r.addEventListener(i, \"pointerup\", o, !1), r.addEventListener(i, \"pointermove\", (c)=>{\n if (t.current) {\n let p = E(c);\n l(P(p, t.current.getBoundingClientRect()));\n }\n }, !1), r.addEventListener(i, \"pointercancel\", o, !1);\n }\n }\n });\n return {\n pressed: n,\n pressProps: e ? {} : {\n onPointerDown: f,\n onPointerUp: o,\n onClick: o\n }\n };\n}\n\nvar _c, _c1;\n$RefreshReg$(_c, \"E\");\n$RefreshReg$(_c1, \"P\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNkM7QUFBcUQ7QUFBc0Q7QUFBMEM7QUFBQSxTQUFTVSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRUUsS0FBSyxHQUFDLEdBQUVDLElBQUVILEVBQUVJLE1BQU0sR0FBQztJQUFFLE9BQU07UUFBQ0MsS0FBSUwsRUFBRU0sT0FBTyxHQUFDSDtRQUFFSSxPQUFNUCxFQUFFUSxPQUFPLEdBQUNQO1FBQUVRLFFBQU9ULEVBQUVNLE9BQU8sR0FBQ0g7UUFBRU8sTUFBS1YsRUFBRVEsT0FBTyxHQUFDUDtJQUFDO0FBQUM7S0FBL0dGO0FBQWdILFNBQVNZLEVBQUVYLENBQUMsRUFBQ0MsQ0FBQztJQUFFLE9BQU0sQ0FBRSxFQUFDRCxLQUFHLENBQUNDLEtBQUdELEVBQUVPLEtBQUssR0FBQ04sRUFBRVMsSUFBSSxJQUFFVixFQUFFVSxJQUFJLEdBQUNULEVBQUVNLEtBQUssSUFBRVAsRUFBRVMsTUFBTSxHQUFDUixFQUFFSSxHQUFHLElBQUVMLEVBQUVLLEdBQUcsR0FBQ0osRUFBRVEsTUFBTTtBQUFDO01BQXRGRTtBQUF1RixTQUFTQztRQUFFLEVBQUNDLFVBQVNiLElBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBZixpRUFBZ0IsQ0FBQztJQUFHLElBQUlDLElBQUVYLDZDQUFDQSxDQUFDLE9BQU0sQ0FBQ2EsR0FBRVcsRUFBRSxHQUFDdEIsK0NBQUNBLENBQUMsQ0FBQyxJQUFHdUIsSUFBRW5CLG1FQUFDQSxJQUFHb0IsSUFBRWxCLHVEQUFDQSxDQUFDO1FBQUtHLEVBQUVnQixPQUFPLEdBQUMsTUFBS0gsRUFBRSxDQUFDLElBQUdDLEVBQUVHLE9BQU87SUFBRSxJQUFHQyxJQUFFckIsdURBQUNBLENBQUNzQixDQUFBQTtRQUFJLElBQUdMLEVBQUVHLE9BQU8sSUFBR2pCLEVBQUVnQixPQUFPLEtBQUcsTUFBSztZQUFDaEIsRUFBRWdCLE9BQU8sR0FBQ0csRUFBRUMsYUFBYSxFQUFDUCxFQUFFLENBQUM7WUFBRztnQkFBQyxJQUFJUSxJQUFFNUIsaUVBQUNBLENBQUMwQixFQUFFQyxhQUFhO2dCQUFFTixFQUFFUSxnQkFBZ0IsQ0FBQ0QsR0FBRSxhQUFZTixHQUFFLENBQUMsSUFBR0QsRUFBRVEsZ0JBQWdCLENBQUNELEdBQUUsZUFBY0UsQ0FBQUE7b0JBQUksSUFBR3ZCLEVBQUVnQixPQUFPLEVBQUM7d0JBQUMsSUFBSVEsSUFBRTFCLEVBQUV5Qjt3QkFBR1YsRUFBRUgsRUFBRWMsR0FBRXhCLEVBQUVnQixPQUFPLENBQUNTLHFCQUFxQjtvQkFBSTtnQkFBQyxHQUFFLENBQUMsSUFBR1gsRUFBRVEsZ0JBQWdCLENBQUNELEdBQUUsaUJBQWdCTixHQUFFLENBQUM7WUFBRTtRQUFDO0lBQUM7SUFBRyxPQUFNO1FBQUNXLFNBQVF4QjtRQUFFeUIsWUFBVzVCLElBQUUsQ0FBQyxJQUFFO1lBQUM2QixlQUFjVjtZQUFFVyxhQUFZZDtZQUFFZSxTQUFRZjtRQUFDO0lBQUM7QUFBQztBQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtYWN0aXZlLXByZXNzLmpzP2VlZGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyBhLHVzZVN0YXRlIGFzIG19ZnJvbVwicmVhY3RcIjtpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBkfWZyb20nLi4vdXRpbHMvb3duZXIuanMnO2ltcG9ydHt1c2VEaXNwb3NhYmxlcyBhcyBnfWZyb20nLi91c2UtZGlzcG9zYWJsZXMuanMnO2ltcG9ydHt1c2VFdmVudCBhcyB1fWZyb20nLi91c2UtZXZlbnQuanMnO2Z1bmN0aW9uIEUoZSl7bGV0IHQ9ZS53aWR0aC8yLG49ZS5oZWlnaHQvMjtyZXR1cm57dG9wOmUuY2xpZW50WS1uLHJpZ2h0OmUuY2xpZW50WCt0LGJvdHRvbTplLmNsaWVudFkrbixsZWZ0OmUuY2xpZW50WC10fX1mdW5jdGlvbiBQKGUsdCl7cmV0dXJuISghZXx8IXR8fGUucmlnaHQ8dC5sZWZ0fHxlLmxlZnQ+dC5yaWdodHx8ZS5ib3R0b208dC50b3B8fGUudG9wPnQuYm90dG9tKX1mdW5jdGlvbiB3KHtkaXNhYmxlZDplPSExfT17fSl7bGV0IHQ9YShudWxsKSxbbixsXT1tKCExKSxyPWcoKSxvPXUoKCk9Pnt0LmN1cnJlbnQ9bnVsbCxsKCExKSxyLmRpc3Bvc2UoKX0pLGY9dShzPT57aWYoci5kaXNwb3NlKCksdC5jdXJyZW50PT09bnVsbCl7dC5jdXJyZW50PXMuY3VycmVudFRhcmdldCxsKCEwKTt7bGV0IGk9ZChzLmN1cnJlbnRUYXJnZXQpO3IuYWRkRXZlbnRMaXN0ZW5lcihpLFwicG9pbnRlcnVwXCIsbywhMSksci5hZGRFdmVudExpc3RlbmVyKGksXCJwb2ludGVybW92ZVwiLGM9PntpZih0LmN1cnJlbnQpe2xldCBwPUUoYyk7bChQKHAsdC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSl9fSwhMSksci5hZGRFdmVudExpc3RlbmVyKGksXCJwb2ludGVyY2FuY2VsXCIsbywhMSl9fX0pO3JldHVybntwcmVzc2VkOm4scHJlc3NQcm9wczplP3t9OntvblBvaW50ZXJEb3duOmYsb25Qb2ludGVyVXA6byxvbkNsaWNrOm99fX1leHBvcnR7dyBhcyB1c2VBY3RpdmVQcmVzc307XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiYSIsInVzZVN0YXRlIiwibSIsImdldE93bmVyRG9jdW1lbnQiLCJkIiwidXNlRGlzcG9zYWJsZXMiLCJnIiwidXNlRXZlbnQiLCJ1IiwiRSIsImUiLCJ0Iiwid2lkdGgiLCJuIiwiaGVpZ2h0IiwidG9wIiwiY2xpZW50WSIsInJpZ2h0IiwiY2xpZW50WCIsImJvdHRvbSIsImxlZnQiLCJQIiwidyIsImRpc2FibGVkIiwibCIsInIiLCJvIiwiY3VycmVudCIsImRpc3Bvc2UiLCJmIiwicyIsImN1cnJlbnRUYXJnZXQiLCJpIiwiYWRkRXZlbnRMaXN0ZW5lciIsImMiLCJwIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicHJlc3NlZCIsInByZXNzUHJvcHMiLCJvblBvaW50ZXJEb3duIiwib25Qb2ludGVyVXAiLCJvbkNsaWNrIiwidXNlQWN0aXZlUHJlc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-disposables.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useDisposables: function() { return /* binding */ p; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n\n\nfunction p() {\n let [e] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__.disposables);\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>()=>e.dispose(), [\n e\n ]), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBZ0Q7QUFBc0Q7QUFBQSxTQUFTTTtJQUFJLElBQUcsQ0FBQ0MsRUFBRSxHQUFDSiwrQ0FBQ0EsQ0FBQ0UsOERBQUNBO0lBQUUsT0FBT0osZ0RBQUNBLENBQUMsSUFBSSxJQUFJTSxFQUFFQyxPQUFPLElBQUc7UUFBQ0Q7S0FBRSxHQUFFQTtBQUFDO0FBQTZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcz82YzZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgcyx1c2VTdGF0ZSBhcyBvfWZyb21cInJlYWN0XCI7aW1wb3J0e2Rpc3Bvc2FibGVzIGFzIHR9ZnJvbScuLi91dGlscy9kaXNwb3NhYmxlcy5qcyc7ZnVuY3Rpb24gcCgpe2xldFtlXT1vKHQpO3JldHVybiBzKCgpPT4oKT0+ZS5kaXNwb3NlKCksW2VdKSxlfWV4cG9ydHtwIGFzIHVzZURpc3Bvc2FibGVzfTtcbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJzIiwidXNlU3RhdGUiLCJvIiwiZGlzcG9zYWJsZXMiLCJ0IiwicCIsImUiLCJkaXNwb3NlIiwidXNlRGlzcG9zYWJsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js": -/*!****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-event.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEvent: function() { return /* binding */ o; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\nvar _s = $RefreshSig$();\n\n\nlet o = function(t) {\n _s();\n let e = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__.useLatestValue)(t);\n return react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n return e.current(...r);\n }, [\n e\n ]);\n};\n_s(o, \"epj4qY15NHsef74wNqHIp5fdZmg=\");\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1ldmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXFCO0FBQXVEO0FBQUEsSUFBSUcsSUFBRSxTQUFTQyxDQUFDOztJQUFFLElBQUlDLElBQUVILG9FQUFDQSxDQUFDRTtJQUFHLE9BQU9KLDhDQUFhLENBQUM7eUNBQUlPO1lBQUFBOztlQUFJRixFQUFFRyxPQUFPLElBQUlEO09BQUc7UUFBQ0Y7S0FBRTtBQUFDO0dBQTFFRjtBQUFrRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZXZlbnQuanM/NGFmYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYSBmcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VMYXRlc3RWYWx1ZSBhcyBufWZyb20nLi91c2UtbGF0ZXN0LXZhbHVlLmpzJztsZXQgbz1mdW5jdGlvbih0KXtsZXQgZT1uKHQpO3JldHVybiBhLnVzZUNhbGxiYWNrKCguLi5yKT0+ZS5jdXJyZW50KC4uLnIpLFtlXSl9O2V4cG9ydHtvIGFzIHVzZUV2ZW50fTtcbiJdLCJuYW1lcyI6WyJhIiwidXNlTGF0ZXN0VmFsdWUiLCJuIiwibyIsInQiLCJlIiwidXNlQ2FsbGJhY2siLCJyIiwiY3VycmVudCIsInVzZUV2ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js": -/*!****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-flags.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFlags: function() { return /* binding */ c; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction c() {\n let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;\n let [t, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(u), g = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l(e), [\n t\n ]), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a | e), [\n t\n ]), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>(t & e) === e, [\n t\n ]), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a & ~e), [\n l\n ]), F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a ^ e), [\n l\n ]);\n return {\n flags: t,\n setFlag: g,\n addFlag: s,\n hasFlag: m,\n removeFlag: n,\n toggleFlag: F\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1mbGFncy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrRDtBQUFBLFNBQVNJO1FBQUVDLElBQUFBLGlFQUFFO0lBQUcsSUFBRyxDQUFDQyxHQUFFQyxFQUFFLEdBQUNKLCtDQUFDQSxDQUFDRSxJQUFHRyxJQUFFUCxrREFBQ0EsQ0FBQ1EsQ0FBQUEsSUFBR0YsRUFBRUUsSUFBRztRQUFDSDtLQUFFLEdBQUVJLElBQUVULGtEQUFDQSxDQUFDUSxDQUFBQSxJQUFHRixFQUFFSSxDQUFBQSxJQUFHQSxJQUFFRixJQUFHO1FBQUNIO0tBQUUsR0FBRU0sSUFBRVgsa0RBQUNBLENBQUNRLENBQUFBLElBQUcsQ0FBQ0gsSUFBRUcsQ0FBQUEsTUFBS0EsR0FBRTtRQUFDSDtLQUFFLEdBQUVPLElBQUVaLGtEQUFDQSxDQUFDUSxDQUFBQSxJQUFHRixFQUFFSSxDQUFBQSxJQUFHQSxJQUFFLENBQUNGLElBQUc7UUFBQ0Y7S0FBRSxHQUFFTyxJQUFFYixrREFBQ0EsQ0FBQ1EsQ0FBQUEsSUFBR0YsRUFBRUksQ0FBQUEsSUFBR0EsSUFBRUYsSUFBRztRQUFDRjtLQUFFO0lBQUUsT0FBTTtRQUFDUSxPQUFNVDtRQUFFVSxTQUFRUjtRQUFFUyxTQUFRUDtRQUFFUSxTQUFRTjtRQUFFTyxZQUFXTjtRQUFFTyxZQUFXTjtJQUFDO0FBQUM7QUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWZsYWdzLmpzPzgwZmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZUNhbGxiYWNrIGFzIHIsdXNlU3RhdGUgYXMgYn1mcm9tXCJyZWFjdFwiO2Z1bmN0aW9uIGModT0wKXtsZXRbdCxsXT1iKHUpLGc9cihlPT5sKGUpLFt0XSkscz1yKGU9PmwoYT0+YXxlKSxbdF0pLG09cihlPT4odCZlKT09PWUsW3RdKSxuPXIoZT0+bChhPT5hJn5lKSxbbF0pLEY9cihlPT5sKGE9PmFeZSksW2xdKTtyZXR1cm57ZmxhZ3M6dCxzZXRGbGFnOmcsYWRkRmxhZzpzLGhhc0ZsYWc6bSxyZW1vdmVGbGFnOm4sdG9nZ2xlRmxhZzpGfX1leHBvcnR7YyBhcyB1c2VGbGFnc307XG4iXSwibmFtZXMiOlsidXNlQ2FsbGJhY2siLCJyIiwidXNlU3RhdGUiLCJiIiwiYyIsInUiLCJ0IiwibCIsImciLCJlIiwicyIsImEiLCJtIiwibiIsIkYiLCJmbGFncyIsInNldEZsYWciLCJhZGRGbGFnIiwiaGFzRmxhZyIsInJlbW92ZUZsYWciLCJ0b2dnbGVGbGFnIiwidXNlRmxhZ3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsMounted: function() { return /* binding */ f; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction f() {\n let e = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1);\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>(e.current = !0, ()=>{\n e.current = !1;\n }), []), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pcy1tb3VudGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUErQjtBQUFrRTtBQUFBLFNBQVNJO0lBQUksSUFBSUMsSUFBRUosNkNBQUNBLENBQUMsQ0FBQztJQUFHLE9BQU9FLCtFQUFDQSxDQUFDLElBQUtFLENBQUFBLEVBQUVDLE9BQU8sR0FBQyxDQUFDLEdBQUU7WUFBS0QsRUFBRUMsT0FBTyxHQUFDLENBQUM7UUFBQyxJQUFHLEVBQUUsR0FBRUQ7QUFBQztBQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtaXMtbW91bnRlZC5qcz8wZmY5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VSZWYgYXMgcn1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIHR9ZnJvbScuL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2Z1bmN0aW9uIGYoKXtsZXQgZT1yKCExKTtyZXR1cm4gdCgoKT0+KGUuY3VycmVudD0hMCwoKT0+e2UuY3VycmVudD0hMX0pLFtdKSxlfWV4cG9ydHtmIGFzIHVzZUlzTW91bnRlZH07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiciIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJ0IiwiZiIsImUiLCJjdXJyZW50IiwidXNlSXNNb3VudGVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsoMorphicEffect: function() { return /* binding */ n; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/env.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\");\n\n\nlet n = (e, t)=>{\n _utils_env_js__WEBPACK_IMPORTED_MODULE_1__.env.isServer ? (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(e, t) : (0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(e, t);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXVEO0FBQXNDO0FBQUEsSUFBSU0sSUFBRSxDQUFDQyxHQUFFQztJQUFLSCw4Q0FBQ0EsQ0FBQ0ksUUFBUSxHQUFDUixnREFBQ0EsQ0FBQ00sR0FBRUMsS0FBR0wsc0RBQUNBLENBQUNJLEdBQUVDO0FBQUU7QUFBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcz9mNWFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgZix1c2VMYXlvdXRFZmZlY3QgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHtlbnYgYXMgaX1mcm9tJy4uL3V0aWxzL2Vudi5qcyc7bGV0IG49KGUsdCk9PntpLmlzU2VydmVyP2YoZSx0KTpjKGUsdCl9O2V4cG9ydHtuIGFzIHVzZUlzb01vcnBoaWNFZmZlY3R9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImYiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjIiwiZW52IiwiaSIsIm4iLCJlIiwidCIsImlzU2VydmVyIiwidXNlSXNvTW9ycGhpY0VmZmVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-latest-value.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLatestValue: function() { return /* binding */ s; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction s(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(e);\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n r.current = e;\n }, [\n e\n ]), r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStCO0FBQWtFO0FBQUEsU0FBU0ksRUFBRUMsQ0FBQztJQUFFLElBQUlDLElBQUVMLDZDQUFDQSxDQUFDSTtJQUFHLE9BQU9GLCtFQUFDQSxDQUFDO1FBQUtHLEVBQUVDLE9BQU8sR0FBQ0Y7SUFBQyxHQUFFO1FBQUNBO0tBQUUsR0FBRUM7QUFBQztBQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtbGF0ZXN0LXZhbHVlLmpzPzdiOGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyB0fWZyb21cInJlYWN0XCI7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgb31mcm9tJy4vdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7ZnVuY3Rpb24gcyhlKXtsZXQgcj10KGUpO3JldHVybiBvKCgpPT57ci5jdXJyZW50PWV9LFtlXSkscn1leHBvcnR7cyBhcyB1c2VMYXRlc3RWYWx1ZX07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwidCIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJvIiwicyIsImUiLCJyIiwiY3VycmVudCIsInVzZUxhdGVzdFZhbHVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useResolveButtonType: function() { return /* binding */ T; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction i(t) {\n var n;\n if (t.type) return t.type;\n let e = (n = t.as) != null ? n : \"button\";\n if (typeof e == \"string\" && e.toLowerCase() === \"button\") return \"button\";\n}\nfunction T(t, e) {\n let [n, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>i(t));\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n u(i(t));\n }, [\n t.type,\n t.as\n ]), (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n n || e.current && e.current instanceof HTMLButtonElement && !e.current.hasAttribute(\"type\") && u(\"button\");\n }, [\n n,\n e\n ]), n;\n}\n_c = T;\n\nvar _c;\n$RefreshReg$(_c, \"T\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFpQztBQUFrRTtBQUFBLFNBQVNJLEVBQUVDLENBQUM7SUFBRSxJQUFJQztJQUFFLElBQUdELEVBQUVFLElBQUksRUFBQyxPQUFPRixFQUFFRSxJQUFJO0lBQUMsSUFBSUMsSUFBRSxDQUFDRixJQUFFRCxFQUFFSSxFQUFFLEtBQUcsT0FBS0gsSUFBRTtJQUFTLElBQUcsT0FBT0UsS0FBRyxZQUFVQSxFQUFFRSxXQUFXLE9BQUssVUFBUyxPQUFNO0FBQVE7QUFBQyxTQUFTQyxFQUFFTixDQUFDLEVBQUNHLENBQUM7SUFBRSxJQUFHLENBQUNGLEdBQUVNLEVBQUUsR0FBQ1gsK0NBQUNBLENBQUMsSUFBSUcsRUFBRUM7SUFBSSxPQUFPRiwrRUFBQ0EsQ0FBQztRQUFLUyxFQUFFUixFQUFFQztJQUFHLEdBQUU7UUFBQ0EsRUFBRUUsSUFBSTtRQUFDRixFQUFFSSxFQUFFO0tBQUMsR0FBRU4sK0VBQUNBLENBQUM7UUFBS0csS0FBR0UsRUFBRUssT0FBTyxJQUFFTCxFQUFFSyxPQUFPLFlBQVlDLHFCQUFtQixDQUFDTixFQUFFSyxPQUFPLENBQUNFLFlBQVksQ0FBQyxXQUFTSCxFQUFFO0lBQVMsR0FBRTtRQUFDTjtRQUFFRTtLQUFFLEdBQUVGO0FBQUM7S0FBckxLO0FBQXdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzP2E0NTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVN0YXRlIGFzIG99ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlSXNvTW9ycGhpY0VmZmVjdCBhcyByfWZyb20nLi91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztmdW5jdGlvbiBpKHQpe3ZhciBuO2lmKHQudHlwZSlyZXR1cm4gdC50eXBlO2xldCBlPShuPXQuYXMpIT1udWxsP246XCJidXR0b25cIjtpZih0eXBlb2YgZT09XCJzdHJpbmdcIiYmZS50b0xvd2VyQ2FzZSgpPT09XCJidXR0b25cIilyZXR1cm5cImJ1dHRvblwifWZ1bmN0aW9uIFQodCxlKXtsZXRbbix1XT1vKCgpPT5pKHQpKTtyZXR1cm4gcigoKT0+e3UoaSh0KSl9LFt0LnR5cGUsdC5hc10pLHIoKCk9PntufHxlLmN1cnJlbnQmJmUuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50JiYhZS5jdXJyZW50Lmhhc0F0dHJpYnV0ZShcInR5cGVcIikmJnUoXCJidXR0b25cIil9LFtuLGVdKSxufWV4cG9ydHtUIGFzIHVzZVJlc29sdmVCdXR0b25UeXBlfTtcbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsIm8iLCJ1c2VJc29Nb3JwaGljRWZmZWN0IiwiciIsImkiLCJ0IiwibiIsInR5cGUiLCJlIiwiYXMiLCJ0b0xvd2VyQ2FzZSIsIlQiLCJ1IiwiY3VycmVudCIsIkhUTUxCdXR0b25FbGVtZW50IiwiaGFzQXR0cmlidXRlIiwidXNlUmVzb2x2ZUJ1dHRvblR5cGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js": -/*!********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ optionalRef: function() { return /* binding */ T; },\n/* harmony export */ useSyncRefs: function() { return /* binding */ y; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\nlet u = Symbol();\nfunction T(t) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;\n return Object.assign(t, {\n [u]: n\n });\n}\n_c = T;\nfunction y() {\n for(var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++){\n t[_key] = arguments[_key];\n }\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(t);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n n.current = t;\n }, [\n t\n ]);\n let c = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_1__.useEvent)((e)=>{\n for (let o of n.current)o != null && (typeof o == \"function\" ? o(e) : o.current = e);\n });\n return t.every((e)=>e == null || (e == null ? void 0 : e[u])) ? void 0 : c;\n}\n\nvar _c;\n$RefreshReg$(_c, \"T\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zeW5jLXJlZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QztBQUEwQztBQUFBLElBQUlNLElBQUVDO0FBQVMsU0FBU0MsRUFBRUMsQ0FBQztRQUFDQyxJQUFBQSxpRUFBRSxDQUFDO0lBQUcsT0FBT0MsT0FBT0MsTUFBTSxDQUFDSCxHQUFFO1FBQUMsQ0FBQ0gsRUFBRSxFQUFDSTtJQUFDO0FBQUU7S0FBekNGO0FBQTBDLFNBQVNLO0lBQUU7UUFBR0osRUFBSCx1QkFBSTs7SUFBRSxJQUFJQyxJQUFFUCw2Q0FBQ0EsQ0FBQ007SUFBR1IsZ0RBQUNBLENBQUM7UUFBS1MsRUFBRUksT0FBTyxHQUFDTDtJQUFDLEdBQUU7UUFBQ0E7S0FBRTtJQUFFLElBQUlNLElBQUVWLHVEQUFDQSxDQUFDVyxDQUFBQTtRQUFJLEtBQUksSUFBSUMsS0FBS1AsRUFBRUksT0FBTyxDQUFDRyxLQUFHLFFBQU8sUUFBT0EsS0FBRyxhQUFXQSxFQUFFRCxLQUFHQyxFQUFFSCxPQUFPLEdBQUNFLENBQUFBO0lBQUU7SUFBRyxPQUFPUCxFQUFFUyxLQUFLLENBQUNGLENBQUFBLElBQUdBLEtBQUcsUUFBT0EsQ0FBQUEsS0FBRyxPQUFLLEtBQUssSUFBRUEsQ0FBQyxDQUFDVixFQUFFLEtBQUcsS0FBSyxJQUFFUztBQUFDO0FBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zeW5jLXJlZnMuanM/ZWY1OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIGwsdXNlUmVmIGFzIGl9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlRXZlbnQgYXMgcn1mcm9tJy4vdXNlLWV2ZW50LmpzJztsZXQgdT1TeW1ib2woKTtmdW5jdGlvbiBUKHQsbj0hMCl7cmV0dXJuIE9iamVjdC5hc3NpZ24odCx7W3VdOm59KX1mdW5jdGlvbiB5KC4uLnQpe2xldCBuPWkodCk7bCgoKT0+e24uY3VycmVudD10fSxbdF0pO2xldCBjPXIoZT0+e2ZvcihsZXQgbyBvZiBuLmN1cnJlbnQpbyE9bnVsbCYmKHR5cGVvZiBvPT1cImZ1bmN0aW9uXCI/byhlKTpvLmN1cnJlbnQ9ZSl9KTtyZXR1cm4gdC5ldmVyeShlPT5lPT1udWxsfHwoZT09bnVsbD92b2lkIDA6ZVt1XSkpP3ZvaWQgMDpjfWV4cG9ydHtUIGFzIG9wdGlvbmFsUmVmLHkgYXMgdXNlU3luY1JlZnN9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImwiLCJ1c2VSZWYiLCJpIiwidXNlRXZlbnQiLCJyIiwidSIsIlN5bWJvbCIsIlQiLCJ0IiwibiIsIk9iamVjdCIsImFzc2lnbiIsInkiLCJjdXJyZW50IiwiYyIsImUiLCJvIiwiZXZlcnkiLCJvcHRpb25hbFJlZiIsInVzZVN5bmNSZWZzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-transition.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ transitionDataAttributes: function() { return /* binding */ A; },\n/* harmony export */ useTransition: function() { return /* binding */ V; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _utils_once_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/once.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js\");\n/* harmony import */ var _use_disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _use_flags_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-flags.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\n\n\n\n\nvar D = ((i)=>(i[i.None = 0] = \"None\", i[i.Closed = 1] = \"Closed\", i[i.Enter = 2] = \"Enter\", i[i.Leave = 4] = \"Leave\", i))(D || {});\nfunction A(e) {\n let a = {};\n for(let t in e)e[t] === !0 && (a[`data-${t}`] = \"\");\n return a;\n}\n_c = A;\nfunction V(e, a, t, r) {\n let [i, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(t), { hasFlag: d, addFlag: f, removeFlag: s } = (0,_use_flags_js__WEBPACK_IMPORTED_MODULE_1__.useFlags)(e && i ? 3 : 0), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), o = (0,_use_disposables_js__WEBPACK_IMPORTED_MODULE_2__.useDisposables)();\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__.useIsoMorphicEffect)(function p() {\n var T;\n if (!e) return;\n t && u(!0);\n let c = a.current;\n return c ? ((T = r == null ? void 0 : r.start) == null || T.call(r, t), M(c, {\n inFlight: l,\n prepare () {\n n.current ? n.current = !1 : n.current = l.current, l.current = !0, !n.current && (t ? (f(3), s(4)) : (f(4), s(2)));\n },\n run () {\n n.current ? t ? (s(3), f(4)) : (s(4), f(3)) : t ? s(1) : f(1);\n },\n done () {\n var m;\n n.current && typeof c.getAnimations == \"function\" && c.getAnimations().length > 0 || (l.current = !1, s(7), t || u(!1), (m = r == null ? void 0 : r.end) == null || m.call(r, t));\n }\n })) : t ? (f(3), o.nextFrame(()=>p())) : void 0;\n }, [\n e,\n t,\n a,\n o\n ]), e ? [\n i,\n {\n closed: d(1),\n enter: d(2),\n leave: d(4),\n transition: d(2) || d(4)\n }\n ] : [\n t,\n {\n closed: void 0,\n enter: void 0,\n leave: void 0,\n transition: void 0\n }\n ];\n}\n_c1 = V;\nfunction M(e, param) {\n let { prepare: a, run: t, done: r, inFlight: i } = param;\n let u = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n return R(e, {\n prepare: a,\n inFlight: i\n }), u.nextFrame(()=>{\n u.add(F(e, r)), t();\n }), u.dispose;\n}\n_c2 = M;\nfunction F(e, a) {\n let t = (0,_utils_once_js__WEBPACK_IMPORTED_MODULE_5__.once)(a), r = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n if (!e) return r.dispose;\n let { transitionDuration: i, transitionDelay: u } = getComputedStyle(e), [d, f] = [\n i,\n u\n ].map((l)=>{\n let [n = 0] = l.split(\",\").filter(Boolean).map((o)=>o.includes(\"ms\") ? parseFloat(o) : parseFloat(o) * 1e3).sort((o, p)=>p - o);\n return n;\n }), s = d + f;\n if (s !== 0) {\n let l = r.group((n)=>{\n let o = n.setTimeout(()=>{\n t(), n.dispose();\n }, s);\n n.addEventListener(e, \"transitionrun\", (p)=>{\n p.target === p.currentTarget && (o(), n.addEventListener(e, \"transitioncancel\", (c)=>{\n c.target === c.currentTarget && (t(), l());\n }));\n });\n });\n r.addEventListener(e, \"transitionend\", (n)=>{\n n.target === n.currentTarget && (t(), r.dispose());\n });\n } else t();\n return r.dispose;\n}\n_c3 = F;\nfunction R(e, param) {\n let { inFlight: a, prepare: t } = param;\n if (a != null && a.current) {\n t();\n return;\n }\n let r = e.style.transition;\n e.style.transition = \"none\", t(), e.offsetHeight, e.style.transition = r;\n}\n_c4 = R;\n\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"A\");\n$RefreshReg$(_c1, \"V\");\n$RefreshReg$(_c2, \"M\");\n$RefreshReg$(_c3, \"F\");\n$RefreshReg$(_c4, \"R\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS10cmFuc2l0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQTZDO0FBQXNEO0FBQXdDO0FBQXNEO0FBQTBDO0FBQWtFO0FBQUEsSUFBSWMsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxNQUFNLEdBQUMsRUFBRSxHQUFDLFVBQVNGLENBQUMsQ0FBQ0EsRUFBRUcsS0FBSyxHQUFDLEVBQUUsR0FBQyxTQUFRSCxDQUFDLENBQUNBLEVBQUVJLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUosQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTTSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRSxDQUFDO0lBQUUsSUFBSSxJQUFJQyxLQUFLRixFQUFFQSxDQUFDLENBQUNFLEVBQUUsS0FBRyxDQUFDLEtBQUlELENBQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRUMsRUFBRSxDQUFDLENBQUMsR0FBQyxFQUFDO0lBQUcsT0FBT0Q7QUFBQztLQUFwRUY7QUFBcUUsU0FBU0ksRUFBRUgsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0UsQ0FBQztJQUFFLElBQUcsQ0FBQ1YsR0FBRVcsRUFBRSxHQUFDdkIsK0NBQUNBLENBQUNvQixJQUFHLEVBQUNJLFNBQVFDLENBQUMsRUFBQ0MsU0FBUUMsQ0FBQyxFQUFDQyxZQUFXQyxDQUFDLEVBQUMsR0FBQ3JCLHVEQUFDQSxDQUFDVSxLQUFHTixJQUFFLElBQUUsSUFBR2tCLElBQUVoQyw2Q0FBQ0EsQ0FBQyxDQUFDLElBQUdpQyxJQUFFakMsNkNBQUNBLENBQUMsQ0FBQyxJQUFHa0MsSUFBRTFCLG1FQUFDQTtJQUFHLE9BQU9JLCtFQUFDQSxDQUFDLFNBQVN1QjtRQUFJLElBQUlDO1FBQUUsSUFBRyxDQUFDaEIsR0FBRTtRQUFPRSxLQUFHRyxFQUFFLENBQUM7UUFBRyxJQUFJWSxJQUFFaEIsRUFBRWlCLE9BQU87UUFBQyxPQUFPRCxJQUFHLEVBQUNELElBQUVaLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVlLEtBQUssS0FBRyxRQUFNSCxFQUFFSSxJQUFJLENBQUNoQixHQUFFRixJQUFHbUIsRUFBRUosR0FBRTtZQUFDSyxVQUFTVjtZQUFFVztnQkFBVVYsRUFBRUssT0FBTyxHQUFDTCxFQUFFSyxPQUFPLEdBQUMsQ0FBQyxJQUFFTCxFQUFFSyxPQUFPLEdBQUNOLEVBQUVNLE9BQU8sRUFBQ04sRUFBRU0sT0FBTyxHQUFDLENBQUMsR0FBRSxDQUFDTCxFQUFFSyxPQUFPLElBQUdoQixDQUFBQSxJQUFHTyxDQUFBQSxFQUFFLElBQUdFLEVBQUUsRUFBQyxJQUFJRixDQUFBQSxFQUFFLElBQUdFLEVBQUUsRUFBQyxDQUFDO1lBQUU7WUFBRWE7Z0JBQU1YLEVBQUVLLE9BQU8sR0FBQ2hCLElBQUdTLENBQUFBLEVBQUUsSUFBR0YsRUFBRSxFQUFDLElBQUlFLENBQUFBLEVBQUUsSUFBR0YsRUFBRSxFQUFDLElBQUdQLElBQUVTLEVBQUUsS0FBR0YsRUFBRTtZQUFFO1lBQUVnQjtnQkFBTyxJQUFJQztnQkFBRWIsRUFBRUssT0FBTyxJQUFFLE9BQU9ELEVBQUVVLGFBQWEsSUFBRSxjQUFZVixFQUFFVSxhQUFhLEdBQUdDLE1BQU0sR0FBQyxLQUFJaEIsQ0FBQUEsRUFBRU0sT0FBTyxHQUFDLENBQUMsR0FBRVAsRUFBRSxJQUFHVCxLQUFHRyxFQUFFLENBQUMsSUFBRyxDQUFDcUIsSUFBRXRCLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUV5QixHQUFHLEtBQUcsUUFBTUgsRUFBRU4sSUFBSSxDQUFDaEIsR0FBRUYsRUFBQztZQUFFO1FBQUMsRUFBQyxJQUFHQSxJQUFHTyxDQUFBQSxFQUFFLElBQUdLLEVBQUVnQixTQUFTLENBQUMsSUFBSWYsSUFBRyxJQUFHLEtBQUs7SUFBQyxHQUFFO1FBQUNmO1FBQUVFO1FBQUVEO1FBQUVhO0tBQUUsR0FBRWQsSUFBRTtRQUFDTjtRQUFFO1lBQUNxQyxRQUFPeEIsRUFBRTtZQUFHeUIsT0FBTXpCLEVBQUU7WUFBRzBCLE9BQU0xQixFQUFFO1lBQUcyQixZQUFXM0IsRUFBRSxNQUFJQSxFQUFFO1FBQUU7S0FBRSxHQUFDO1FBQUNMO1FBQUU7WUFBQzZCLFFBQU8sS0FBSztZQUFFQyxPQUFNLEtBQUs7WUFBRUMsT0FBTSxLQUFLO1lBQUVDLFlBQVcsS0FBSztRQUFDO0tBQUU7QUFBQTtNQUEvdEIvQjtBQUFndUIsU0FBU2tCLEVBQUVyQixDQUFDLEVBQUMsS0FBbUM7UUFBbkMsRUFBQ3VCLFNBQVF0QixDQUFDLEVBQUN1QixLQUFJdEIsQ0FBQyxFQUFDdUIsTUFBS3JCLENBQUMsRUFBQ2tCLFVBQVM1QixDQUFDLEVBQUMsR0FBbkM7SUFBcUMsSUFBSVcsSUFBRXJCLGtFQUFDQTtJQUFHLE9BQU9tRCxFQUFFbkMsR0FBRTtRQUFDdUIsU0FBUXRCO1FBQUVxQixVQUFTNUI7SUFBQyxJQUFHVyxFQUFFeUIsU0FBUyxDQUFDO1FBQUt6QixFQUFFK0IsR0FBRyxDQUFDQyxFQUFFckMsR0FBRUksS0FBSUY7SUFBRyxJQUFHRyxFQUFFaUMsT0FBTztBQUFBO01BQXBJakI7QUFBcUksU0FBU2dCLEVBQUVyQyxDQUFDLEVBQUNDLENBQUM7SUFBRSxJQUFJQyxJQUFFaEIsb0RBQUNBLENBQUNlLElBQUdHLElBQUVwQixrRUFBQ0E7SUFBRyxJQUFHLENBQUNnQixHQUFFLE9BQU9JLEVBQUVrQyxPQUFPO0lBQUMsSUFBRyxFQUFDQyxvQkFBbUI3QyxDQUFDLEVBQUM4QyxpQkFBZ0JuQyxDQUFDLEVBQUMsR0FBQ29DLGlCQUFpQnpDLElBQUcsQ0FBQ08sR0FBRUUsRUFBRSxHQUFDO1FBQUNmO1FBQUVXO0tBQUUsQ0FBQ3FDLEdBQUcsQ0FBQzlCLENBQUFBO1FBQUksSUFBRyxDQUFDQyxJQUFFLENBQUMsQ0FBQyxHQUFDRCxFQUFFK0IsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQ0MsU0FBU0gsR0FBRyxDQUFDNUIsQ0FBQUEsSUFBR0EsRUFBRWdDLFFBQVEsQ0FBQyxRQUFNQyxXQUFXakMsS0FBR2lDLFdBQVdqQyxLQUFHLEtBQUtrQyxJQUFJLENBQUMsQ0FBQ2xDLEdBQUVDLElBQUlBLElBQUVEO1FBQUcsT0FBT0Q7SUFBQyxJQUFHRixJQUFFSixJQUFFRTtJQUFFLElBQUdFLE1BQUksR0FBRTtRQUFDLElBQUlDLElBQUVSLEVBQUU2QyxLQUFLLENBQUNwQyxDQUFBQTtZQUFJLElBQUlDLElBQUVELEVBQUVxQyxVQUFVLENBQUM7Z0JBQUtoRCxLQUFJVyxFQUFFeUIsT0FBTztZQUFFLEdBQUUzQjtZQUFHRSxFQUFFc0MsZ0JBQWdCLENBQUNuRCxHQUFFLGlCQUFnQmUsQ0FBQUE7Z0JBQUlBLEVBQUVxQyxNQUFNLEtBQUdyQyxFQUFFc0MsYUFBYSxJQUFHdkMsQ0FBQUEsS0FBSUQsRUFBRXNDLGdCQUFnQixDQUFDbkQsR0FBRSxvQkFBbUJpQixDQUFBQTtvQkFBSUEsRUFBRW1DLE1BQU0sS0FBR25DLEVBQUVvQyxhQUFhLElBQUduRCxDQUFBQSxLQUFJVSxHQUFFO2dCQUFFLEVBQUM7WUFBRTtRQUFFO1FBQUdSLEVBQUUrQyxnQkFBZ0IsQ0FBQ25ELEdBQUUsaUJBQWdCYSxDQUFBQTtZQUFJQSxFQUFFdUMsTUFBTSxLQUFHdkMsRUFBRXdDLGFBQWEsSUFBR25ELENBQUFBLEtBQUlFLEVBQUVrQyxPQUFPLEVBQUM7UUFBRTtJQUFFLE9BQU1wQztJQUFJLE9BQU9FLEVBQUVrQyxPQUFPO0FBQUE7TUFBam1CRDtBQUFrbUIsU0FBU0YsRUFBRW5DLENBQUMsRUFBQyxLQUFzQjtRQUF0QixFQUFDc0IsVUFBU3JCLENBQUMsRUFBQ3NCLFNBQVFyQixDQUFDLEVBQUMsR0FBdEI7SUFBd0IsSUFBR0QsS0FBRyxRQUFNQSxFQUFFaUIsT0FBTyxFQUFDO1FBQUNoQjtRQUFJO0lBQU07SUFBQyxJQUFJRSxJQUFFSixFQUFFc0QsS0FBSyxDQUFDcEIsVUFBVTtJQUFDbEMsRUFBRXNELEtBQUssQ0FBQ3BCLFVBQVUsR0FBQyxRQUFPaEMsS0FBSUYsRUFBRXVELFlBQVksRUFBQ3ZELEVBQUVzRCxLQUFLLENBQUNwQixVQUFVLEdBQUM5QjtBQUFDO01BQXhKK0I7QUFBa04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXRyYW5zaXRpb24uanM/NmE3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlUmVmIGFzIGIsdXNlU3RhdGUgYXMgU31mcm9tXCJyZWFjdFwiO2ltcG9ydHtkaXNwb3NhYmxlcyBhcyBFfWZyb20nLi4vdXRpbHMvZGlzcG9zYWJsZXMuanMnO2ltcG9ydHtvbmNlIGFzIGd9ZnJvbScuLi91dGlscy9vbmNlLmpzJztpbXBvcnR7dXNlRGlzcG9zYWJsZXMgYXMgTH1mcm9tJy4vdXNlLWRpc3Bvc2FibGVzLmpzJztpbXBvcnR7dXNlRmxhZ3MgYXMgeX1mcm9tJy4vdXNlLWZsYWdzLmpzJztpbXBvcnR7dXNlSXNvTW9ycGhpY0VmZmVjdCBhcyBDfWZyb20nLi91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJzt2YXIgRD0oaT0+KGlbaS5Ob25lPTBdPVwiTm9uZVwiLGlbaS5DbG9zZWQ9MV09XCJDbG9zZWRcIixpW2kuRW50ZXI9Ml09XCJFbnRlclwiLGlbaS5MZWF2ZT00XT1cIkxlYXZlXCIsaSkpKER8fHt9KTtmdW5jdGlvbiBBKGUpe2xldCBhPXt9O2ZvcihsZXQgdCBpbiBlKWVbdF09PT0hMCYmKGFbYGRhdGEtJHt0fWBdPVwiXCIpO3JldHVybiBhfWZ1bmN0aW9uIFYoZSxhLHQscil7bGV0W2ksdV09Uyh0KSx7aGFzRmxhZzpkLGFkZEZsYWc6ZixyZW1vdmVGbGFnOnN9PXkoZSYmaT8zOjApLGw9YighMSksbj1iKCExKSxvPUwoKTtyZXR1cm4gQyhmdW5jdGlvbiBwKCl7dmFyIFQ7aWYoIWUpcmV0dXJuO3QmJnUoITApO2xldCBjPWEuY3VycmVudDtyZXR1cm4gYz8oKFQ9cj09bnVsbD92b2lkIDA6ci5zdGFydCk9PW51bGx8fFQuY2FsbChyLHQpLE0oYyx7aW5GbGlnaHQ6bCxwcmVwYXJlKCl7bi5jdXJyZW50P24uY3VycmVudD0hMTpuLmN1cnJlbnQ9bC5jdXJyZW50LGwuY3VycmVudD0hMCwhbi5jdXJyZW50JiYodD8oZigzKSxzKDQpKTooZig0KSxzKDIpKSl9LHJ1bigpe24uY3VycmVudD90PyhzKDMpLGYoNCkpOihzKDQpLGYoMykpOnQ/cygxKTpmKDEpfSxkb25lKCl7dmFyIG07bi5jdXJyZW50JiZ0eXBlb2YgYy5nZXRBbmltYXRpb25zPT1cImZ1bmN0aW9uXCImJmMuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aD4wfHwobC5jdXJyZW50PSExLHMoNyksdHx8dSghMSksKG09cj09bnVsbD92b2lkIDA6ci5lbmQpPT1udWxsfHxtLmNhbGwocix0KSl9fSkpOnQ/KGYoMyksby5uZXh0RnJhbWUoKCk9PnAoKSkpOnZvaWQgMH0sW2UsdCxhLG9dKSxlP1tpLHtjbG9zZWQ6ZCgxKSxlbnRlcjpkKDIpLGxlYXZlOmQoNCksdHJhbnNpdGlvbjpkKDIpfHxkKDQpfV06W3Qse2Nsb3NlZDp2b2lkIDAsZW50ZXI6dm9pZCAwLGxlYXZlOnZvaWQgMCx0cmFuc2l0aW9uOnZvaWQgMH1dfWZ1bmN0aW9uIE0oZSx7cHJlcGFyZTphLHJ1bjp0LGRvbmU6cixpbkZsaWdodDppfSl7bGV0IHU9RSgpO3JldHVybiBSKGUse3ByZXBhcmU6YSxpbkZsaWdodDppfSksdS5uZXh0RnJhbWUoKCk9Pnt1LmFkZChGKGUscikpLHQoKX0pLHUuZGlzcG9zZX1mdW5jdGlvbiBGKGUsYSl7bGV0IHQ9ZyhhKSxyPUUoKTtpZighZSlyZXR1cm4gci5kaXNwb3NlO2xldHt0cmFuc2l0aW9uRHVyYXRpb246aSx0cmFuc2l0aW9uRGVsYXk6dX09Z2V0Q29tcHV0ZWRTdHlsZShlKSxbZCxmXT1baSx1XS5tYXAobD0+e2xldFtuPTBdPWwuc3BsaXQoXCIsXCIpLmZpbHRlcihCb29sZWFuKS5tYXAobz0+by5pbmNsdWRlcyhcIm1zXCIpP3BhcnNlRmxvYXQobyk6cGFyc2VGbG9hdChvKSoxZTMpLnNvcnQoKG8scCk9PnAtbyk7cmV0dXJuIG59KSxzPWQrZjtpZihzIT09MCl7bGV0IGw9ci5ncm91cChuPT57bGV0IG89bi5zZXRUaW1lb3V0KCgpPT57dCgpLG4uZGlzcG9zZSgpfSxzKTtuLmFkZEV2ZW50TGlzdGVuZXIoZSxcInRyYW5zaXRpb25ydW5cIixwPT57cC50YXJnZXQ9PT1wLmN1cnJlbnRUYXJnZXQmJihvKCksbi5hZGRFdmVudExpc3RlbmVyKGUsXCJ0cmFuc2l0aW9uY2FuY2VsXCIsYz0+e2MudGFyZ2V0PT09Yy5jdXJyZW50VGFyZ2V0JiYodCgpLGwoKSl9KSl9KX0pO3IuYWRkRXZlbnRMaXN0ZW5lcihlLFwidHJhbnNpdGlvbmVuZFwiLG49PntuLnRhcmdldD09PW4uY3VycmVudFRhcmdldCYmKHQoKSxyLmRpc3Bvc2UoKSl9KX1lbHNlIHQoKTtyZXR1cm4gci5kaXNwb3NlfWZ1bmN0aW9uIFIoZSx7aW5GbGlnaHQ6YSxwcmVwYXJlOnR9KXtpZihhIT1udWxsJiZhLmN1cnJlbnQpe3QoKTtyZXR1cm59bGV0IHI9ZS5zdHlsZS50cmFuc2l0aW9uO2Uuc3R5bGUudHJhbnNpdGlvbj1cIm5vbmVcIix0KCksZS5vZmZzZXRIZWlnaHQsZS5zdHlsZS50cmFuc2l0aW9uPXJ9ZXhwb3J0e0EgYXMgdHJhbnNpdGlvbkRhdGFBdHRyaWJ1dGVzLFYgYXMgdXNlVHJhbnNpdGlvbn07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiYiIsInVzZVN0YXRlIiwiUyIsImRpc3Bvc2FibGVzIiwiRSIsIm9uY2UiLCJnIiwidXNlRGlzcG9zYWJsZXMiLCJMIiwidXNlRmxhZ3MiLCJ5IiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsIkMiLCJEIiwiaSIsIk5vbmUiLCJDbG9zZWQiLCJFbnRlciIsIkxlYXZlIiwiQSIsImUiLCJhIiwidCIsIlYiLCJyIiwidSIsImhhc0ZsYWciLCJkIiwiYWRkRmxhZyIsImYiLCJyZW1vdmVGbGFnIiwicyIsImwiLCJuIiwibyIsInAiLCJUIiwiYyIsImN1cnJlbnQiLCJzdGFydCIsImNhbGwiLCJNIiwiaW5GbGlnaHQiLCJwcmVwYXJlIiwicnVuIiwiZG9uZSIsIm0iLCJnZXRBbmltYXRpb25zIiwibGVuZ3RoIiwiZW5kIiwibmV4dEZyYW1lIiwiY2xvc2VkIiwiZW50ZXIiLCJsZWF2ZSIsInRyYW5zaXRpb24iLCJSIiwiYWRkIiwiRiIsImRpc3Bvc2UiLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJ0cmFuc2l0aW9uRGVsYXkiLCJnZXRDb21wdXRlZFN0eWxlIiwibWFwIiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwiaW5jbHVkZXMiLCJwYXJzZUZsb2F0Iiwic29ydCIsImdyb3VwIiwic2V0VGltZW91dCIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0YXJnZXQiLCJjdXJyZW50VGFyZ2V0Iiwic3R5bGUiLCJvZmZzZXRIZWlnaHQiLCJ0cmFuc2l0aW9uRGF0YUF0dHJpYnV0ZXMiLCJ1c2VUcmFuc2l0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js": -/*!************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/close-provider.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CloseProvider: function() { return /* binding */ u; },\n/* harmony export */ useClose: function() { return /* binding */ l; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nlet e = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(()=>{});\nfunction l() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(e);\n}\nfunction u(param) {\n let { value: o, children: t } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(e.Provider, {\n value: o\n }, t);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2Nsb3NlLXByb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5RDtBQUFBLElBQUlLLGtCQUFFSCxvREFBQ0EsQ0FBQyxLQUFLO0FBQUcsU0FBU0k7SUFBSSxPQUFPRixpREFBQ0EsQ0FBQ0M7QUFBRTtBQUFDLFNBQVNFLEVBQUUsS0FBb0I7UUFBcEIsRUFBQ0MsT0FBTUMsQ0FBQyxFQUFDQyxVQUFTQyxDQUFDLEVBQUMsR0FBcEI7SUFBc0IscUJBQU9YLGdEQUFlLENBQUNLLEVBQUVRLFFBQVEsRUFBQztRQUFDTCxPQUFNQztJQUFDLEdBQUVFO0FBQUU7QUFBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvY2xvc2UtcHJvdmlkZXIuanM/N2E4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcix7Y3JlYXRlQ29udGV4dCBhcyBuLHVzZUNvbnRleHQgYXMgaX1mcm9tXCJyZWFjdFwiO2xldCBlPW4oKCk9Pnt9KTtmdW5jdGlvbiBsKCl7cmV0dXJuIGkoZSl9ZnVuY3Rpb24gdSh7dmFsdWU6byxjaGlsZHJlbjp0fSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChlLlByb3ZpZGVyLHt2YWx1ZTpvfSx0KX1leHBvcnR7dSBhcyBDbG9zZVByb3ZpZGVyLGwgYXMgdXNlQ2xvc2V9O1xuIl0sIm5hbWVzIjpbInIiLCJjcmVhdGVDb250ZXh0IiwibiIsInVzZUNvbnRleHQiLCJpIiwiZSIsImwiLCJ1IiwidmFsdWUiLCJvIiwiY2hpbGRyZW4iLCJ0IiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwiQ2xvc2VQcm92aWRlciIsInVzZUNsb3NlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js": -/*!************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/focus-sentinel.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FocusSentinel: function() { return /* binding */ b; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_is_mounted_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks/use-is-mounted.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js\");\n/* harmony import */ var _hidden_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hidden.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n\n\n\nfunction b(param) {\n let { onFocus: n } = param;\n let [r, o] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!0), u = (0,_hooks_use_is_mounted_js__WEBPACK_IMPORTED_MODULE_1__.useIsMounted)();\n return r ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_hidden_js__WEBPACK_IMPORTED_MODULE_2__.Hidden, {\n as: \"button\",\n type: \"button\",\n features: _hidden_js__WEBPACK_IMPORTED_MODULE_2__.HiddenFeatures.Focusable,\n onFocus: (a)=>{\n a.preventDefault();\n let e, i = 50;\n function t() {\n if (i-- <= 0) {\n e && cancelAnimationFrame(e);\n return;\n }\n if (n()) {\n if (cancelAnimationFrame(e), !u.current) return;\n o(!1);\n return;\n }\n e = requestAnimationFrame(t);\n }\n e = requestAnimationFrame(t);\n }\n }) : null;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2ZvY3VzLXNlbnRpbmVsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBb0M7QUFBMEQ7QUFBeUQ7QUFBQSxTQUFTUyxFQUFFLEtBQVc7UUFBWCxFQUFDQyxTQUFRQyxDQUFDLEVBQUMsR0FBWDtJQUFhLElBQUcsQ0FBQ0MsR0FBRUMsRUFBRSxHQUFDWCwrQ0FBQ0EsQ0FBQyxDQUFDLElBQUdZLElBQUVWLHNFQUFDQTtJQUFHLE9BQU9RLGtCQUFFWixnREFBZSxDQUFDTSw4Q0FBQ0EsRUFBQztRQUFDVSxJQUFHO1FBQVNDLE1BQUs7UUFBU0MsVUFBU1Ysc0RBQUNBLENBQUNXLFNBQVM7UUFBQ1QsU0FBUVUsQ0FBQUE7WUFBSUEsRUFBRUMsY0FBYztZQUFHLElBQUlDLEdBQUVDLElBQUU7WUFBRyxTQUFTQztnQkFBSSxJQUFHRCxPQUFLLEdBQUU7b0JBQUNELEtBQUdHLHFCQUFxQkg7b0JBQUc7Z0JBQU07Z0JBQUMsSUFBR1gsS0FBSTtvQkFBQyxJQUFHYyxxQkFBcUJILElBQUcsQ0FBQ1IsRUFBRVksT0FBTyxFQUFDO29CQUFPYixFQUFFLENBQUM7b0JBQUc7Z0JBQU07Z0JBQUNTLElBQUVLLHNCQUFzQkg7WUFBRTtZQUFDRixJQUFFSyxzQkFBc0JIO1FBQUU7SUFBQyxLQUFHO0FBQUk7QUFBNEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanM/YzEzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcyx7dXNlU3RhdGUgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc01vdW50ZWQgYXMgbX1mcm9tJy4uL2hvb2tzL3VzZS1pcy1tb3VudGVkLmpzJztpbXBvcnR7SGlkZGVuIGFzIGYsSGlkZGVuRmVhdHVyZXMgYXMgbH1mcm9tJy4vaGlkZGVuLmpzJztmdW5jdGlvbiBiKHtvbkZvY3VzOm59KXtsZXRbcixvXT1jKCEwKSx1PW0oKTtyZXR1cm4gcj9zLmNyZWF0ZUVsZW1lbnQoZix7YXM6XCJidXR0b25cIix0eXBlOlwiYnV0dG9uXCIsZmVhdHVyZXM6bC5Gb2N1c2FibGUsb25Gb2N1czphPT57YS5wcmV2ZW50RGVmYXVsdCgpO2xldCBlLGk9NTA7ZnVuY3Rpb24gdCgpe2lmKGktLTw9MCl7ZSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSk7cmV0dXJufWlmKG4oKSl7aWYoY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSksIXUuY3VycmVudClyZXR1cm47byghMSk7cmV0dXJufWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfX0pOm51bGx9ZXhwb3J0e2IgYXMgRm9jdXNTZW50aW5lbH07XG4iXSwibmFtZXMiOlsicyIsInVzZVN0YXRlIiwiYyIsInVzZUlzTW91bnRlZCIsIm0iLCJIaWRkZW4iLCJmIiwiSGlkZGVuRmVhdHVyZXMiLCJsIiwiYiIsIm9uRm9jdXMiLCJuIiwiciIsIm8iLCJ1IiwiY3JlYXRlRWxlbWVudCIsImFzIiwidHlwZSIsImZlYXR1cmVzIiwiRm9jdXNhYmxlIiwiYSIsInByZXZlbnREZWZhdWx0IiwiZSIsImkiLCJ0IiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJjdXJyZW50IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiRm9jdXNTZW50aW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js": -/*!****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/hidden.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Hidden: function() { return /* binding */ T; },\n/* harmony export */ HiddenFeatures: function() { return /* binding */ s; }\n/* harmony export */ });\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n\nlet a = \"div\";\nvar s = ((e)=>(e[e.None = 1] = \"None\", e[e.Focusable = 2] = \"Focusable\", e[e.Hidden = 4] = \"Hidden\", e))(s || {});\nfunction l(t, r) {\n var n;\n let { features: d = 1, ...e } = t, o = {\n ref: r,\n \"aria-hidden\": (d & 2) === 2 ? !0 : (n = e[\"aria-hidden\"]) != null ? n : void 0,\n hidden: (d & 4) === 4 ? !0 : void 0,\n style: {\n position: \"fixed\",\n top: 1,\n left: 1,\n width: 1,\n height: 0,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n borderWidth: \"0\",\n ...(d & 4) === 4 && (d & 2) !== 2 && {\n display: \"none\"\n }\n }\n };\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_0__.render)({\n ourProps: o,\n theirProps: e,\n slot: {},\n defaultTag: a,\n name: \"Hidden\"\n });\n}\nlet T = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_0__.forwardRefWithAs)(l);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2hpZGRlbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0U7QUFBQSxJQUFJSSxJQUFFO0FBQU0sSUFBSUMsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxTQUFTLEdBQUMsRUFBRSxHQUFDLGFBQVlGLENBQUMsQ0FBQ0EsRUFBRUcsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTSCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNLLEVBQUVDLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlDO0lBQUUsSUFBRyxFQUFDQyxVQUFTQyxJQUFFLENBQUMsRUFBQyxHQUFHVCxHQUFFLEdBQUNLLEdBQUVLLElBQUU7UUFBQ0MsS0FBSUw7UUFBRSxlQUFjLENBQUNHLElBQUUsT0FBSyxJQUFFLENBQUMsSUFBRSxDQUFDRixJQUFFUCxDQUFDLENBQUMsY0FBYyxLQUFHLE9BQUtPLElBQUUsS0FBSztRQUFFSyxRQUFPLENBQUNILElBQUUsT0FBSyxJQUFFLENBQUMsSUFBRSxLQUFLO1FBQUVJLE9BQU07WUFBQ0MsVUFBUztZQUFRQyxLQUFJO1lBQUVDLE1BQUs7WUFBRUMsT0FBTTtZQUFFQyxRQUFPO1lBQUVDLFNBQVE7WUFBRUMsUUFBTyxDQUFDO1lBQUVDLFVBQVM7WUFBU0MsTUFBSztZQUFtQkMsWUFBVztZQUFTQyxhQUFZO1lBQUksR0FBRyxDQUFDZixJQUFFLE9BQUssS0FBRyxDQUFDQSxJQUFFLE9BQUssS0FBRztnQkFBQ2dCLFNBQVE7WUFBTSxDQUFDO1FBQUE7SUFBQztJQUFFLE9BQU81Qix3REFBQ0EsQ0FBQztRQUFDNkIsVUFBU2hCO1FBQUVpQixZQUFXM0I7UUFBRTRCLE1BQUssQ0FBQztRQUFFQyxZQUFXL0I7UUFBRWdDLE1BQUs7SUFBUTtBQUFFO0FBQUMsSUFBSUMsSUFBRXBDLGtFQUFDQSxDQUFDUztBQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9oaWRkZW4uanM/MzBlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7Zm9yd2FyZFJlZldpdGhBcyBhcyBpLHJlbmRlciBhcyBwfWZyb20nLi4vdXRpbHMvcmVuZGVyLmpzJztsZXQgYT1cImRpdlwiO3ZhciBzPShlPT4oZVtlLk5vbmU9MV09XCJOb25lXCIsZVtlLkZvY3VzYWJsZT0yXT1cIkZvY3VzYWJsZVwiLGVbZS5IaWRkZW49NF09XCJIaWRkZW5cIixlKSkoc3x8e30pO2Z1bmN0aW9uIGwodCxyKXt2YXIgbjtsZXR7ZmVhdHVyZXM6ZD0xLC4uLmV9PXQsbz17cmVmOnIsXCJhcmlhLWhpZGRlblwiOihkJjIpPT09Mj8hMDoobj1lW1wiYXJpYS1oaWRkZW5cIl0pIT1udWxsP246dm9pZCAwLGhpZGRlbjooZCY0KT09PTQ/ITA6dm9pZCAwLHN0eWxlOntwb3NpdGlvbjpcImZpeGVkXCIsdG9wOjEsbGVmdDoxLHdpZHRoOjEsaGVpZ2h0OjAscGFkZGluZzowLG1hcmdpbjotMSxvdmVyZmxvdzpcImhpZGRlblwiLGNsaXA6XCJyZWN0KDAsIDAsIDAsIDApXCIsd2hpdGVTcGFjZTpcIm5vd3JhcFwiLGJvcmRlcldpZHRoOlwiMFwiLC4uLihkJjQpPT09NCYmKGQmMikhPT0yJiZ7ZGlzcGxheTpcIm5vbmVcIn19fTtyZXR1cm4gcCh7b3VyUHJvcHM6byx0aGVpclByb3BzOmUsc2xvdDp7fSxkZWZhdWx0VGFnOmEsbmFtZTpcIkhpZGRlblwifSl9bGV0IFQ9aShsKTtleHBvcnR7VCBhcyBIaWRkZW4scyBhcyBIaWRkZW5GZWF0dXJlc307XG4iXSwibmFtZXMiOlsiZm9yd2FyZFJlZldpdGhBcyIsImkiLCJyZW5kZXIiLCJwIiwiYSIsInMiLCJlIiwiTm9uZSIsIkZvY3VzYWJsZSIsIkhpZGRlbiIsImwiLCJ0IiwiciIsIm4iLCJmZWF0dXJlcyIsImQiLCJvIiwicmVmIiwiaGlkZGVuIiwic3R5bGUiLCJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJ3aWR0aCIsImhlaWdodCIsInBhZGRpbmciLCJtYXJnaW4iLCJvdmVyZmxvdyIsImNsaXAiLCJ3aGl0ZVNwYWNlIiwiYm9yZGVyV2lkdGgiLCJkaXNwbGF5Iiwib3VyUHJvcHMiLCJ0aGVpclByb3BzIiwic2xvdCIsImRlZmF1bHRUYWciLCJuYW1lIiwiVCIsIkhpZGRlbkZlYXR1cmVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/open-closed.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpenClosedProvider: function() { return /* binding */ c; },\n/* harmony export */ ResetOpenClosedProvider: function() { return /* binding */ s; },\n/* harmony export */ State: function() { return /* binding */ i; },\n/* harmony export */ useOpenClosed: function() { return /* binding */ u; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nlet n = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nn.displayName = \"OpenClosedContext\";\nvar i = ((e)=>(e[e.Open = 1] = \"Open\", e[e.Closed = 2] = \"Closed\", e[e.Closing = 4] = \"Closing\", e[e.Opening = 8] = \"Opening\", e))(i || {});\nfunction u() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(n);\n}\nfunction c(param) {\n let { value: o, children: t } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(n.Provider, {\n value: o\n }, t);\n}\nfunction s(param) {\n let { children: o } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(n.Provider, {\n value: null\n }, o);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL29wZW4tY2xvc2VkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXlEO0FBQUEsSUFBSUssa0JBQUVILG9EQUFDQSxDQUFDO0FBQU1HLEVBQUVDLFdBQVcsR0FBQztBQUFvQixJQUFJQyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQyxDQUFDQSxFQUFFRyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVILENBQUMsQ0FBQ0EsRUFBRUksT0FBTyxHQUFDLEVBQUUsR0FBQyxXQUFVSixDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNNO0lBQUksT0FBT1QsaURBQUNBLENBQUNDO0FBQUU7QUFBQyxTQUFTUyxFQUFFLEtBQW9CO1FBQXBCLEVBQUNDLE9BQU1DLENBQUMsRUFBQ0MsVUFBU0MsQ0FBQyxFQUFDLEdBQXBCO0lBQXNCLHFCQUFPbEIsZ0RBQWUsQ0FBQ0ssRUFBRWUsUUFBUSxFQUFDO1FBQUNMLE9BQU1DO0lBQUMsR0FBRUU7QUFBRTtBQUFDLFNBQVNHLEVBQUUsS0FBWTtRQUFaLEVBQUNKLFVBQVNELENBQUMsRUFBQyxHQUFaO0lBQWMscUJBQU9oQixnREFBZSxDQUFDSyxFQUFFZSxRQUFRLEVBQUM7UUFBQ0wsT0FBTTtJQUFJLEdBQUVDO0FBQUU7QUFBNEYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvb3Blbi1jbG9zZWQuanM/ZGE5MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcix7Y3JlYXRlQ29udGV4dCBhcyBsLHVzZUNvbnRleHQgYXMgZH1mcm9tXCJyZWFjdFwiO2xldCBuPWwobnVsbCk7bi5kaXNwbGF5TmFtZT1cIk9wZW5DbG9zZWRDb250ZXh0XCI7dmFyIGk9KGU9PihlW2UuT3Blbj0xXT1cIk9wZW5cIixlW2UuQ2xvc2VkPTJdPVwiQ2xvc2VkXCIsZVtlLkNsb3Npbmc9NF09XCJDbG9zaW5nXCIsZVtlLk9wZW5pbmc9OF09XCJPcGVuaW5nXCIsZSkpKGl8fHt9KTtmdW5jdGlvbiB1KCl7cmV0dXJuIGQobil9ZnVuY3Rpb24gYyh7dmFsdWU6byxjaGlsZHJlbjp0fSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChuLlByb3ZpZGVyLHt2YWx1ZTpvfSx0KX1mdW5jdGlvbiBzKHtjaGlsZHJlbjpvfSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChuLlByb3ZpZGVyLHt2YWx1ZTpudWxsfSxvKX1leHBvcnR7YyBhcyBPcGVuQ2xvc2VkUHJvdmlkZXIscyBhcyBSZXNldE9wZW5DbG9zZWRQcm92aWRlcixpIGFzIFN0YXRlLHUgYXMgdXNlT3BlbkNsb3NlZH07XG4iXSwibmFtZXMiOlsiciIsImNyZWF0ZUNvbnRleHQiLCJsIiwidXNlQ29udGV4dCIsImQiLCJuIiwiZGlzcGxheU5hbWUiLCJpIiwiZSIsIk9wZW4iLCJDbG9zZWQiLCJDbG9zaW5nIiwiT3BlbmluZyIsInUiLCJjIiwidmFsdWUiLCJvIiwiY2hpbGRyZW4iLCJ0IiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwicyIsIk9wZW5DbG9zZWRQcm92aWRlciIsIlJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyIiwiU3RhdGUiLCJ1c2VPcGVuQ2xvc2VkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js": -/*!***********************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/bugs.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isDisabledReactIssue7711: function() { return /* binding */ r; }\n/* harmony export */ });\nfunction r(n) {\n let e = n.parentElement, l = null;\n for(; e && !(e instanceof HTMLFieldSetElement);)e instanceof HTMLLegendElement && (l = e), e = e.parentElement;\n let t = (e == null ? void 0 : e.getAttribute(\"disabled\")) === \"\";\n return t && i(l) ? !1 : t;\n}\nfunction i(n) {\n if (!n) return !1;\n let e = n.previousElementSibling;\n for(; e !== null;){\n if (e instanceof HTMLLegendElement) return !1;\n e = e.previousElementSibling;\n }\n return !0;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2J1Z3MuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFRCxFQUFFRSxhQUFhLEVBQUNDLElBQUU7SUFBSyxNQUFLRixLQUFHLENBQUVBLENBQUFBLGFBQWFHLG1CQUFrQixHQUFJSCxhQUFhSSxxQkFBb0JGLENBQUFBLElBQUVGLENBQUFBLEdBQUdBLElBQUVBLEVBQUVDLGFBQWE7SUFBQyxJQUFJSSxJQUFFLENBQUNMLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVNLFlBQVksQ0FBQyxXQUFVLE1BQUs7SUFBRyxPQUFPRCxLQUFHRSxFQUFFTCxLQUFHLENBQUMsSUFBRUc7QUFBQztBQUFDLFNBQVNFLEVBQUVSLENBQUM7SUFBRSxJQUFHLENBQUNBLEdBQUUsT0FBTSxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRVMsc0JBQXNCO0lBQUMsTUFBS1IsTUFBSSxNQUFNO1FBQUMsSUFBR0EsYUFBYUksbUJBQWtCLE9BQU0sQ0FBQztRQUFFSixJQUFFQSxFQUFFUSxzQkFBc0I7SUFBQTtJQUFDLE9BQU0sQ0FBQztBQUFDO0FBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2J1Z3MuanM/NzE1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiByKG4pe2xldCBlPW4ucGFyZW50RWxlbWVudCxsPW51bGw7Zm9yKDtlJiYhKGUgaW5zdGFuY2VvZiBIVE1MRmllbGRTZXRFbGVtZW50KTspZSBpbnN0YW5jZW9mIEhUTUxMZWdlbmRFbGVtZW50JiYobD1lKSxlPWUucGFyZW50RWxlbWVudDtsZXQgdD0oZT09bnVsbD92b2lkIDA6ZS5nZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKSk9PT1cIlwiO3JldHVybiB0JiZpKGwpPyExOnR9ZnVuY3Rpb24gaShuKXtpZighbilyZXR1cm4hMTtsZXQgZT1uLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7Zm9yKDtlIT09bnVsbDspe2lmKGUgaW5zdGFuY2VvZiBIVE1MTGVnZW5kRWxlbWVudClyZXR1cm4hMTtlPWUucHJldmlvdXNFbGVtZW50U2libGluZ31yZXR1cm4hMH1leHBvcnR7ciBhcyBpc0Rpc2FibGVkUmVhY3RJc3N1ZTc3MTF9O1xuIl0sIm5hbWVzIjpbInIiLCJuIiwiZSIsInBhcmVudEVsZW1lbnQiLCJsIiwiSFRNTEZpZWxkU2V0RWxlbWVudCIsIkhUTUxMZWdlbmRFbGVtZW50IiwidCIsImdldEF0dHJpYnV0ZSIsImkiLCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwiaXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/class-names.js": -/*!******************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/class-names.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ classNames: function() { return /* binding */ t; }\n/* harmony export */ });\nfunction t() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n return Array.from(new Set(r.flatMap((n)=>typeof n == \"string\" ? n.split(\" \") : []))).filter(Boolean).join(\" \");\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2NsYXNzLW5hbWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQTtJQUFFO1FBQUdDLEVBQUgsdUJBQUk7O0lBQUUsT0FBT0MsTUFBTUMsSUFBSSxDQUFDLElBQUlDLElBQUlILEVBQUVJLE9BQU8sQ0FBQ0MsQ0FBQUEsSUFBRyxPQUFPQSxLQUFHLFdBQVNBLEVBQUVDLEtBQUssQ0FBQyxPQUFLLEVBQUUsSUFBSUMsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7QUFBSTtBQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9jbGFzcy1uYW1lcy5qcz9jMmQ1Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHQoLi4ucil7cmV0dXJuIEFycmF5LmZyb20obmV3IFNldChyLmZsYXRNYXAobj0+dHlwZW9mIG49PVwic3RyaW5nXCI/bi5zcGxpdChcIiBcIik6W10pKSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpfWV4cG9ydHt0IGFzIGNsYXNzTmFtZXN9O1xuIl0sIm5hbWVzIjpbInQiLCJyIiwiQXJyYXkiLCJmcm9tIiwiU2V0IiwiZmxhdE1hcCIsIm4iLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiY2xhc3NOYW1lcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/class-names.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js": -/*!******************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/disposables.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ disposables: function() { return /* binding */ o; }\n/* harmony export */ });\n/* harmony import */ var _micro_task_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./micro-task.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\");\n\nfunction o() {\n let n = [], r = {\n addEventListener (e, t, s, a) {\n return e.addEventListener(t, s, a), r.add(()=>e.removeEventListener(t, s, a));\n },\n requestAnimationFrame () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n let t = requestAnimationFrame(...e);\n return r.add(()=>cancelAnimationFrame(t));\n },\n nextFrame () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e));\n },\n setTimeout () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n let t = setTimeout(...e);\n return r.add(()=>clearTimeout(t));\n },\n microTask () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n let t = {\n current: !0\n };\n return (0,_micro_task_js__WEBPACK_IMPORTED_MODULE_0__.microTask)(()=>{\n t.current && e[0]();\n }), r.add(()=>{\n t.current = !1;\n });\n },\n style (e, t, s) {\n let a = e.style.getPropertyValue(t);\n return Object.assign(e.style, {\n [t]: s\n }), this.add(()=>{\n Object.assign(e.style, {\n [t]: a\n });\n });\n },\n group (e) {\n let t = o();\n return e(t), this.add(()=>t.dispose());\n },\n add (e) {\n return n.includes(e) || n.push(e), ()=>{\n let t = n.indexOf(e);\n if (t >= 0) for (let s of n.splice(t, 1))s();\n };\n },\n dispose () {\n for (let e of n.splice(0))e();\n }\n };\n return r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Rpc3Bvc2FibGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTRDO0FBQUEsU0FBU0U7SUFBSSxJQUFJQyxJQUFFLEVBQUUsRUFBQ0MsSUFBRTtRQUFDQyxrQkFBaUJDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUM7WUFBRSxPQUFPSCxFQUFFRCxnQkFBZ0IsQ0FBQ0UsR0FBRUMsR0FBRUMsSUFBR0wsRUFBRU0sR0FBRyxDQUFDLElBQUlKLEVBQUVLLG1CQUFtQixDQUFDSixHQUFFQyxHQUFFQztRQUFHO1FBQUVHO1lBQXNCO2dCQUFHTixFQUFILHVCQUFJOztZQUFFLElBQUlDLElBQUVLLHlCQUF5Qk47WUFBRyxPQUFPRixFQUFFTSxHQUFHLENBQUMsSUFBSUcscUJBQXFCTjtRQUFHO1FBQUVPO1lBQVU7Z0JBQUdSLEVBQUgsdUJBQUk7O1lBQUUsT0FBT0YsRUFBRVEscUJBQXFCLENBQUMsSUFBSVIsRUFBRVEscUJBQXFCLElBQUlOO1FBQUc7UUFBRVM7WUFBVztnQkFBR1QsRUFBSCx1QkFBSTs7WUFBRSxJQUFJQyxJQUFFUSxjQUFjVDtZQUFHLE9BQU9GLEVBQUVNLEdBQUcsQ0FBQyxJQUFJTSxhQUFhVDtRQUFHO1FBQUVQO1lBQVU7Z0JBQUdNLEVBQUgsdUJBQUk7O1lBQUUsSUFBSUMsSUFBRTtnQkFBQ1UsU0FBUSxDQUFDO1lBQUM7WUFBRSxPQUFPaEIseURBQUNBLENBQUM7Z0JBQUtNLEVBQUVVLE9BQU8sSUFBRVgsQ0FBQyxDQUFDLEVBQUU7WUFBRSxJQUFHRixFQUFFTSxHQUFHLENBQUM7Z0JBQUtILEVBQUVVLE9BQU8sR0FBQyxDQUFDO1lBQUM7UUFBRTtRQUFFQyxPQUFNWixDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQztZQUFFLElBQUlDLElBQUVILEVBQUVZLEtBQUssQ0FBQ0MsZ0JBQWdCLENBQUNaO1lBQUcsT0FBT2EsT0FBT0MsTUFBTSxDQUFDZixFQUFFWSxLQUFLLEVBQUM7Z0JBQUMsQ0FBQ1gsRUFBRSxFQUFDQztZQUFDLElBQUcsSUFBSSxDQUFDRSxHQUFHLENBQUM7Z0JBQUtVLE9BQU9DLE1BQU0sQ0FBQ2YsRUFBRVksS0FBSyxFQUFDO29CQUFDLENBQUNYLEVBQUUsRUFBQ0U7Z0JBQUM7WUFBRTtRQUFFO1FBQUVhLE9BQU1oQixDQUFDO1lBQUUsSUFBSUMsSUFBRUw7WUFBSSxPQUFPSSxFQUFFQyxJQUFHLElBQUksQ0FBQ0csR0FBRyxDQUFDLElBQUlILEVBQUVnQixPQUFPO1FBQUc7UUFBRWIsS0FBSUosQ0FBQztZQUFFLE9BQU9ILEVBQUVxQixRQUFRLENBQUNsQixNQUFJSCxFQUFFc0IsSUFBSSxDQUFDbkIsSUFBRztnQkFBSyxJQUFJQyxJQUFFSixFQUFFdUIsT0FBTyxDQUFDcEI7Z0JBQUcsSUFBR0MsS0FBRyxHQUFFLEtBQUksSUFBSUMsS0FBS0wsRUFBRXdCLE1BQU0sQ0FBQ3BCLEdBQUUsR0FBR0M7WUFBRztRQUFDO1FBQUVlO1lBQVUsS0FBSSxJQUFJakIsS0FBS0gsRUFBRXdCLE1BQU0sQ0FBQyxHQUFHckI7UUFBRztJQUFDO0lBQUUsT0FBT0Y7QUFBQztBQUEwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9kaXNwb3NhYmxlcy5qcz8yYTk0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHttaWNyb1Rhc2sgYXMgaX1mcm9tJy4vbWljcm8tdGFzay5qcyc7ZnVuY3Rpb24gbygpe2xldCBuPVtdLHI9e2FkZEV2ZW50TGlzdGVuZXIoZSx0LHMsYSl7cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcih0LHMsYSksci5hZGQoKCk9PmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LHMsYSkpfSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoLi4uZSl7bGV0IHQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKC4uLmUpO3JldHVybiByLmFkZCgoKT0+Y2FuY2VsQW5pbWF0aW9uRnJhbWUodCkpfSxuZXh0RnJhbWUoLi4uZSl7cmV0dXJuIHIucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5yLnJlcXVlc3RBbmltYXRpb25GcmFtZSguLi5lKSl9LHNldFRpbWVvdXQoLi4uZSl7bGV0IHQ9c2V0VGltZW91dCguLi5lKTtyZXR1cm4gci5hZGQoKCk9PmNsZWFyVGltZW91dCh0KSl9LG1pY3JvVGFzayguLi5lKXtsZXQgdD17Y3VycmVudDohMH07cmV0dXJuIGkoKCk9Pnt0LmN1cnJlbnQmJmVbMF0oKX0pLHIuYWRkKCgpPT57dC5jdXJyZW50PSExfSl9LHN0eWxlKGUsdCxzKXtsZXQgYT1lLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oZS5zdHlsZSx7W3RdOnN9KSx0aGlzLmFkZCgoKT0+e09iamVjdC5hc3NpZ24oZS5zdHlsZSx7W3RdOmF9KX0pfSxncm91cChlKXtsZXQgdD1vKCk7cmV0dXJuIGUodCksdGhpcy5hZGQoKCk9PnQuZGlzcG9zZSgpKX0sYWRkKGUpe3JldHVybiBuLmluY2x1ZGVzKGUpfHxuLnB1c2goZSksKCk9PntsZXQgdD1uLmluZGV4T2YoZSk7aWYodD49MClmb3IobGV0IHMgb2Ygbi5zcGxpY2UodCwxKSlzKCl9fSxkaXNwb3NlKCl7Zm9yKGxldCBlIG9mIG4uc3BsaWNlKDApKWUoKX19O3JldHVybiByfWV4cG9ydHtvIGFzIGRpc3Bvc2FibGVzfTtcbiJdLCJuYW1lcyI6WyJtaWNyb1Rhc2siLCJpIiwibyIsIm4iLCJyIiwiYWRkRXZlbnRMaXN0ZW5lciIsImUiLCJ0IiwicyIsImEiLCJhZGQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJuZXh0RnJhbWUiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiY3VycmVudCIsInN0eWxlIiwiZ2V0UHJvcGVydHlWYWx1ZSIsIk9iamVjdCIsImFzc2lnbiIsImdyb3VwIiwiZGlzcG9zZSIsImluY2x1ZGVzIiwicHVzaCIsImluZGV4T2YiLCJzcGxpY2UiLCJkaXNwb3NhYmxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js": -/*!**********************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/env.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ env: function() { return /* binding */ s; }\n/* harmony export */ });\nvar i = Object.defineProperty;\nvar d = (t, e, n)=>e in t ? i(t, e, {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: n\n }) : t[e] = n;\nvar r = (t, e, n)=>(d(t, typeof e != \"symbol\" ? e + \"\" : e, n), n);\nclass o {\n constructor(){\n r(this, \"current\", this.detect());\n r(this, \"handoffState\", \"pending\");\n r(this, \"currentId\", 0);\n }\n set(e) {\n this.current !== e && (this.handoffState = \"pending\", this.currentId = 0, this.current = e);\n }\n reset() {\n this.set(this.detect());\n }\n nextId() {\n return ++this.currentId;\n }\n get isServer() {\n return this.current === \"server\";\n }\n get isClient() {\n return this.current === \"client\";\n }\n detect() {\n return typeof window == \"undefined\" || typeof document == \"undefined\" ? \"server\" : \"client\";\n }\n handoff() {\n this.handoffState === \"pending\" && (this.handoffState = \"complete\");\n }\n get isHandoffComplete() {\n return this.handoffState === \"complete\";\n }\n}\nlet s = new o;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Vudi5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBSUEsSUFBRUMsT0FBT0MsY0FBYztBQUFDLElBQUlDLElBQUUsQ0FBQ0MsR0FBRUMsR0FBRUMsSUFBSUQsS0FBS0QsSUFBRUosRUFBRUksR0FBRUMsR0FBRTtRQUFDRSxZQUFXLENBQUM7UUFBRUMsY0FBYSxDQUFDO1FBQUVDLFVBQVMsQ0FBQztRQUFFQyxPQUFNSjtJQUFDLEtBQUdGLENBQUMsQ0FBQ0MsRUFBRSxHQUFDQztBQUFFLElBQUlLLElBQUUsQ0FBQ1AsR0FBRUMsR0FBRUMsSUFBS0gsQ0FBQUEsRUFBRUMsR0FBRSxPQUFPQyxLQUFHLFdBQVNBLElBQUUsS0FBR0EsR0FBRUMsSUFBR0EsQ0FBQUE7QUFBRyxNQUFNTTtJQUFFQyxhQUFhO1FBQUNGLEVBQUUsSUFBSSxFQUFDLFdBQVUsSUFBSSxDQUFDRyxNQUFNO1FBQUlILEVBQUUsSUFBSSxFQUFDLGdCQUFlO1FBQVdBLEVBQUUsSUFBSSxFQUFDLGFBQVk7SUFBRTtJQUFDSSxJQUFJVixDQUFDLEVBQUM7UUFBQyxJQUFJLENBQUNXLE9BQU8sS0FBR1gsS0FBSSxLQUFJLENBQUNZLFlBQVksR0FBQyxXQUFVLElBQUksQ0FBQ0MsU0FBUyxHQUFDLEdBQUUsSUFBSSxDQUFDRixPQUFPLEdBQUNYLENBQUFBO0lBQUU7SUFBQ2MsUUFBTztRQUFDLElBQUksQ0FBQ0osR0FBRyxDQUFDLElBQUksQ0FBQ0QsTUFBTTtJQUFHO0lBQUNNLFNBQVE7UUFBQyxPQUFNLEVBQUUsSUFBSSxDQUFDRixTQUFTO0lBQUE7SUFBQyxJQUFJRyxXQUFVO1FBQUMsT0FBTyxJQUFJLENBQUNMLE9BQU8sS0FBRztJQUFRO0lBQUMsSUFBSU0sV0FBVTtRQUFDLE9BQU8sSUFBSSxDQUFDTixPQUFPLEtBQUc7SUFBUTtJQUFDRixTQUFRO1FBQUMsT0FBTyxPQUFPUyxVQUFRLGVBQWEsT0FBT0MsWUFBVSxjQUFZLFdBQVM7SUFBUTtJQUFDQyxVQUFTO1FBQUMsSUFBSSxDQUFDUixZQUFZLEtBQUcsYUFBWSxLQUFJLENBQUNBLFlBQVksR0FBQyxVQUFTO0lBQUU7SUFBQyxJQUFJUyxvQkFBbUI7UUFBQyxPQUFPLElBQUksQ0FBQ1QsWUFBWSxLQUFHO0lBQVU7QUFBQztBQUFDLElBQUlVLElBQUUsSUFBSWY7QUFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvZW52LmpzPzM4NTIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGk9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBkPSh0LGUsbik9PmUgaW4gdD9pKHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pOnRbZV09bjt2YXIgcj0odCxlLG4pPT4oZCh0LHR5cGVvZiBlIT1cInN5bWJvbFwiP2UrXCJcIjplLG4pLG4pO2NsYXNzIG97Y29uc3RydWN0b3IoKXtyKHRoaXMsXCJjdXJyZW50XCIsdGhpcy5kZXRlY3QoKSk7cih0aGlzLFwiaGFuZG9mZlN0YXRlXCIsXCJwZW5kaW5nXCIpO3IodGhpcyxcImN1cnJlbnRJZFwiLDApfXNldChlKXt0aGlzLmN1cnJlbnQhPT1lJiYodGhpcy5oYW5kb2ZmU3RhdGU9XCJwZW5kaW5nXCIsdGhpcy5jdXJyZW50SWQ9MCx0aGlzLmN1cnJlbnQ9ZSl9cmVzZXQoKXt0aGlzLnNldCh0aGlzLmRldGVjdCgpKX1uZXh0SWQoKXtyZXR1cm4rK3RoaXMuY3VycmVudElkfWdldCBpc1NlcnZlcigpe3JldHVybiB0aGlzLmN1cnJlbnQ9PT1cInNlcnZlclwifWdldCBpc0NsaWVudCgpe3JldHVybiB0aGlzLmN1cnJlbnQ9PT1cImNsaWVudFwifWRldGVjdCgpe3JldHVybiB0eXBlb2Ygd2luZG93PT1cInVuZGVmaW5lZFwifHx0eXBlb2YgZG9jdW1lbnQ9PVwidW5kZWZpbmVkXCI/XCJzZXJ2ZXJcIjpcImNsaWVudFwifWhhbmRvZmYoKXt0aGlzLmhhbmRvZmZTdGF0ZT09PVwicGVuZGluZ1wiJiYodGhpcy5oYW5kb2ZmU3RhdGU9XCJjb21wbGV0ZVwiKX1nZXQgaXNIYW5kb2ZmQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5oYW5kb2ZmU3RhdGU9PT1cImNvbXBsZXRlXCJ9fWxldCBzPW5ldyBvO2V4cG9ydHtzIGFzIGVudn07XG4iXSwibmFtZXMiOlsiaSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZCIsInQiLCJlIiwibiIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInZhbHVlIiwiciIsIm8iLCJjb25zdHJ1Y3RvciIsImRldGVjdCIsInNldCIsImN1cnJlbnQiLCJoYW5kb2ZmU3RhdGUiLCJjdXJyZW50SWQiLCJyZXNldCIsIm5leHRJZCIsImlzU2VydmVyIiwiaXNDbGllbnQiLCJ3aW5kb3ciLCJkb2N1bWVudCIsImhhbmRvZmYiLCJpc0hhbmRvZmZDb21wbGV0ZSIsInMiLCJlbnYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/focus-management.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Focus: function() { return /* binding */ F; },\n/* harmony export */ FocusResult: function() { return /* binding */ T; },\n/* harmony export */ FocusableMode: function() { return /* binding */ h; },\n/* harmony export */ focusElement: function() { return /* binding */ I; },\n/* harmony export */ focusFrom: function() { return /* binding */ j; },\n/* harmony export */ focusIn: function() { return /* binding */ P; },\n/* harmony export */ getAutoFocusableElements: function() { return /* binding */ S; },\n/* harmony export */ getFocusableElements: function() { return /* binding */ b; },\n/* harmony export */ isFocusableElement: function() { return /* binding */ A; },\n/* harmony export */ restoreFocusIfNecessary: function() { return /* binding */ G; },\n/* harmony export */ sortByDomNode: function() { return /* binding */ _; }\n/* harmony export */ });\n/* harmony import */ var _disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _owner_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n\n\n\nlet f = [\n \"[contentEditable=true]\",\n \"[tabindex]\",\n \"a[href]\",\n \"area[href]\",\n \"button:not([disabled])\",\n \"iframe\",\n \"input:not([disabled])\",\n \"select:not([disabled])\",\n \"textarea:not([disabled])\"\n].map((e)=>`${e}:not([tabindex='-1'])`).join(\",\"), p = [\n \"[data-autofocus]\"\n].map((e)=>`${e}:not([tabindex='-1'])`).join(\",\");\nvar F = ((n)=>(n[n.First = 1] = \"First\", n[n.Previous = 2] = \"Previous\", n[n.Next = 4] = \"Next\", n[n.Last = 8] = \"Last\", n[n.WrapAround = 16] = \"WrapAround\", n[n.NoScroll = 32] = \"NoScroll\", n[n.AutoFocus = 64] = \"AutoFocus\", n))(F || {}), T = ((o)=>(o[o.Error = 0] = \"Error\", o[o.Overflow = 1] = \"Overflow\", o[o.Success = 2] = \"Success\", o[o.Underflow = 3] = \"Underflow\", o))(T || {}), y = ((t)=>(t[t.Previous = -1] = \"Previous\", t[t.Next = 1] = \"Next\", t))(y || {});\nfunction b() {\n let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : document.body;\n return e == null ? [] : Array.from(e.querySelectorAll(f)).sort((r, t)=>Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));\n}\nfunction S() {\n let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : document.body;\n return e == null ? [] : Array.from(e.querySelectorAll(p)).sort((r, t)=>Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));\n}\n_c = S;\nvar h = ((t)=>(t[t.Strict = 0] = \"Strict\", t[t.Loose = 1] = \"Loose\", t))(h || {});\nfunction A(e) {\n let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var t;\n return e === ((t = (0,_owner_js__WEBPACK_IMPORTED_MODULE_0__.getOwnerDocument)(e)) == null ? void 0 : t.body) ? !1 : (0,_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(r, {\n [0] () {\n return e.matches(f);\n },\n [1] () {\n let u = e;\n for(; u !== null;){\n if (u.matches(f)) return !0;\n u = u.parentElement;\n }\n return !1;\n }\n });\n}\n_c1 = A;\nfunction G(e) {\n let r = (0,_owner_js__WEBPACK_IMPORTED_MODULE_0__.getOwnerDocument)(e);\n (0,_disposables_js__WEBPACK_IMPORTED_MODULE_2__.disposables)().nextFrame(()=>{\n r && !A(r.activeElement, 0) && I(e);\n });\n}\n_c2 = G;\nvar H = ((t)=>(t[t.Keyboard = 0] = \"Keyboard\", t[t.Mouse = 1] = \"Mouse\", t))(H || {});\ntypeof window != \"undefined\" && typeof document != \"undefined\" && (document.addEventListener(\"keydown\", (e)=>{\n e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = \"\");\n}, !0), document.addEventListener(\"click\", (e)=>{\n e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = \"\");\n}, !0));\nfunction I(e) {\n e == null || e.focus({\n preventScroll: !0\n });\n}\n_c3 = I;\nlet w = [\n \"textarea\",\n \"input\"\n].join(\",\");\nfunction O(e) {\n var r, t;\n return (t = (r = e == null ? void 0 : e.matches) == null ? void 0 : r.call(e, w)) != null ? t : !1;\n}\n_c4 = O;\nfunction _(e) {\n let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : (t)=>t;\n return e.slice().sort((t, u)=>{\n let o = r(t), c = r(u);\n if (o === null || c === null) return 0;\n let l = o.compareDocumentPosition(c);\n return l & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : l & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;\n });\n}\nfunction j(e, r) {\n return P(b(), r, {\n relativeTo: e\n });\n}\nfunction P(e, r) {\n let { sorted: t = !0, relativeTo: u = null, skipElements: o = [] } = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n let c = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, l = Array.isArray(e) ? t ? _(e) : e : r & 64 ? S(e) : b(e);\n o.length > 0 && l.length > 1 && (l = l.filter((s)=>!o.some((a)=>a != null && \"current\" in a ? (a == null ? void 0 : a.current) === s : a === s))), u = u != null ? u : c.activeElement;\n let n = (()=>{\n if (r & 5) return 1;\n if (r & 10) return -1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), x = (()=>{\n if (r & 1) return 0;\n if (r & 2) return Math.max(0, l.indexOf(u)) - 1;\n if (r & 4) return Math.max(0, l.indexOf(u)) + 1;\n if (r & 8) return l.length - 1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), M = r & 32 ? {\n preventScroll: !0\n } : {}, m = 0, d = l.length, i;\n do {\n if (m >= d || m + d <= 0) return 0;\n let s = x + m;\n if (r & 16) s = (s + d) % d;\n else {\n if (s < 0) return 3;\n if (s >= d) return 1;\n }\n i = l[s], i == null || i.focus(M), m += n;\n }while (i !== c.activeElement);\n return r & 6 && O(i) && i.select(), 2;\n}\n_c5 = P;\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"S\");\n$RefreshReg$(_c1, \"A\");\n$RefreshReg$(_c2, \"G\");\n$RefreshReg$(_c3, \"I\");\n$RefreshReg$(_c4, \"O\");\n$RefreshReg$(_c5, \"P\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0M7QUFBbUM7QUFBOEM7QUFBQSxJQUFJTSxJQUFFO0lBQUM7SUFBeUI7SUFBYTtJQUFVO0lBQWE7SUFBeUI7SUFBUztJQUF3QjtJQUF5QjtDQUEyQixDQUFDQyxHQUFHLENBQUNDLENBQUFBLElBQUcsQ0FBQyxFQUFFQSxFQUFFLHFCQUFxQixDQUFDLEVBQUVDLElBQUksQ0FBQyxNQUFLQyxJQUFFO0lBQUM7Q0FBbUIsQ0FBQ0gsR0FBRyxDQUFDQyxDQUFBQSxJQUFHLENBQUMsRUFBRUEsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFQyxJQUFJLENBQUM7QUFBSyxJQUFJRSxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsS0FBSyxHQUFDLEVBQUUsR0FBQyxTQUFRRCxDQUFDLENBQUNBLEVBQUVFLFFBQVEsR0FBQyxFQUFFLEdBQUMsWUFBV0YsQ0FBQyxDQUFDQSxFQUFFRyxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9ILENBQUMsQ0FBQ0EsRUFBRUksSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPSixDQUFDLENBQUNBLEVBQUVLLFVBQVUsR0FBQyxHQUFHLEdBQUMsY0FBYUwsQ0FBQyxDQUFDQSxFQUFFTSxRQUFRLEdBQUMsR0FBRyxHQUFDLFlBQVdOLENBQUMsQ0FBQ0EsRUFBRU8sU0FBUyxHQUFDLEdBQUcsR0FBQyxhQUFZUCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQyxJQUFHUyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsS0FBSyxHQUFDLEVBQUUsR0FBQyxTQUFRRCxDQUFDLENBQUNBLEVBQUVFLFFBQVEsR0FBQyxFQUFFLEdBQUMsWUFBV0YsQ0FBQyxDQUFDQSxFQUFFRyxPQUFP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QUFPLENBQUM5QyxNQUFJO1FBQUUsSUFBR1osSUFBRSxHQUFFLE9BQU9DLEtBQUt3RCxHQUFHLENBQUMsR0FBRW5CLEVBQUVvQixPQUFPLENBQUM5QyxNQUFJO1FBQUUsSUFBR1osSUFBRSxHQUFFLE9BQU9zQyxFQUFFVyxNQUFNLEdBQUM7UUFBRSxNQUFNLElBQUk5RCxNQUFNO0lBQWdFLE1BQUt3RSxJQUFFM0QsSUFBRSxLQUFHO1FBQUMrQixlQUFjLENBQUM7SUFBQyxJQUFFLENBQUMsR0FBRTZCLElBQUUsR0FBRUMsSUFBRXZCLEVBQUVXLE1BQU0sRUFBQ2E7SUFBRSxHQUFFO1FBQUMsSUFBR0YsS0FBR0MsS0FBR0QsSUFBRUMsS0FBRyxHQUFFLE9BQU87UUFBRSxJQUFJVCxJQUFFSSxJQUFFSTtRQUFFLElBQUc1RCxJQUFFLElBQUdvRCxJQUFFLENBQUNBLElBQUVTLENBQUFBLElBQUdBO2FBQU07WUFBQyxJQUFHVCxJQUFFLEdBQUUsT0FBTztZQUFFLElBQUdBLEtBQUdTLEdBQUUsT0FBTztRQUFDO1FBQUNDLElBQUV4QixDQUFDLENBQUNjLEVBQUUsRUFBQ1UsS0FBRyxRQUFNQSxFQUFFaEMsS0FBSyxDQUFDNkIsSUFBR0MsS0FBR25GO0lBQUMsUUFBT3FGLE1BQUl6QixFQUFFckIsYUFBYSxFQUFFO0lBQUEsT0FBT2hCLElBQUUsS0FBR2lDLEVBQUU2QixNQUFJQSxFQUFFQyxNQUFNLElBQUc7QUFBQztNQUFqNEJuQjtBQUF1bUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvZm9jdXMtbWFuYWdlbWVudC5qcz9jMDk4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtkaXNwb3NhYmxlcyBhcyBOfWZyb20nLi9kaXNwb3NhYmxlcy5qcyc7aW1wb3J0e21hdGNoIGFzIEx9ZnJvbScuL21hdGNoLmpzJztpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBFfWZyb20nLi9vd25lci5qcyc7bGV0IGY9W1wiW2NvbnRlbnRFZGl0YWJsZT10cnVlXVwiLFwiW3RhYmluZGV4XVwiLFwiYVtocmVmXVwiLFwiYXJlYVtocmVmXVwiLFwiYnV0dG9uOm5vdChbZGlzYWJsZWRdKVwiLFwiaWZyYW1lXCIsXCJpbnB1dDpub3QoW2Rpc2FibGVkXSlcIixcInNlbGVjdDpub3QoW2Rpc2FibGVkXSlcIixcInRleHRhcmVhOm5vdChbZGlzYWJsZWRdKVwiXS5tYXAoZT0+YCR7ZX06bm90KFt0YWJpbmRleD0nLTEnXSlgKS5qb2luKFwiLFwiKSxwPVtcIltkYXRhLWF1dG9mb2N1c11cIl0ubWFwKGU9PmAke2V9Om5vdChbdGFiaW5kZXg9Jy0xJ10pYCkuam9pbihcIixcIik7dmFyIEY9KG49PihuW24uRmlyc3Q9MV09XCJGaXJzdFwiLG5bbi5QcmV2aW91cz0yXT1cIlByZXZpb3VzXCIsbltuLk5leHQ9NF09XCJOZXh0XCIsbltuLkxhc3Q9OF09XCJMYXN0XCIsbltuLldyYXBBcm91bmQ9MTZdPVwiV3JhcEFyb3VuZFwiLG5bbi5Ob1Njcm9sbD0zMl09XCJOb1Njcm9sbFwiLG5bbi5BdXRvRm9jdXM9NjRdPVwiQXV0b0ZvY3VzXCIsbikpKEZ8fHt9KSxUPShvPT4ob1tvLkVycm9yPTBdPVwiRXJyb3JcIixvW28uT3ZlcmZsb3c9MV09XCJPdmVyZmxvd1wiLG9bby5TdWNjZXNzPTJdPVwiU3VjY2Vzc1wiLG9bby5VbmRlcmZsb3c9M109XCJVbmRlcmZsb3dcIixvKSkoVHx8e30pLHk9KHQ9Pih0W3QuUHJldmlvdXM9LTFdPVwiUHJldmlvdXNcIix0W3QuTmV4dD0xXT1cIk5leHRcIix0KSkoeXx8e30pO2Z1bmN0aW9uIGIoZT1kb2N1bWVudC5ib2R5KXtyZXR1cm4gZT09bnVsbD9bXTpBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbChmKSkuc29ydCgocix0KT0+TWF0aC5zaWduKChyLnRhYkluZGV4fHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiktKHQudGFiSW5kZXh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSkpfWZ1bmN0aW9uIFMoZT1kb2N1bWVudC5ib2R5KXtyZXR1cm4gZT09bnVsbD9bXTpBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbChwKSkuc29ydCgocix0KT0+TWF0aC5zaWduKChyLnRhYkluZGV4fHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiktKHQudGFiSW5kZXh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSkpfXZhciBoPSh0PT4odFt0LlN0cmljdD0wXT1cIlN0cmljdFwiLHRbdC5Mb29zZT0xXT1cIkxvb3NlXCIsdCkpKGh8fHt9KTtmdW5jdGlvbiBBKGUscj0wKXt2YXIgdDtyZXR1cm4gZT09PSgodD1FKGUpKT09bnVsbD92b2lkIDA6dC5ib2R5KT8hMTpMKHIse1swXSgpe3JldHVybiBlLm1hdGNoZXMoZil9LFsxXSgpe2xldCB1PWU7Zm9yKDt1IT09bnVsbDspe2lmKHUubWF0Y2hlcyhmKSlyZXR1cm4hMDt1PXUucGFyZW50RWxlbWVudH1yZXR1cm4hMX19KX1mdW5jdGlvbiBHKGUpe2xldCByPUUoZSk7TigpLm5leHRGcmFtZSgoKT0+e3ImJiFBKHIuYWN0aXZlRWxlbWVudCwwKSYmSShlKX0pfXZhciBIPSh0PT4odFt0LktleWJvYXJkPTBdPVwiS2V5Ym9hcmRcIix0W3QuTW91c2U9MV09XCJNb3VzZVwiLHQpKShIfHx7fSk7dHlwZW9mIHdpbmRvdyE9XCJ1bmRlZmluZWRcIiYmdHlwZW9mIGRvY3VtZW50IT1cInVuZGVmaW5lZFwiJiYoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixlPT57ZS5tZXRhS2V5fHxlLmFsdEtleXx8ZS5jdHJsS2V5fHwoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQuaGVhZGxlc3N1aUZvY3VzVmlzaWJsZT1cIlwiKX0sITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLGU9PntlLmRldGFpbD09PTE/ZGVsZXRlIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LmhlYWRsZXNzdWlGb2N1c1Zpc2libGU6ZS5kZXRhaWw9PT0wJiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQuaGVhZGxlc3N1aUZvY3VzVmlzaWJsZT1cIlwiKX0sITApKTtmdW5jdGlvbiBJKGUpe2U9PW51bGx8fGUuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX1sZXQgdz1bXCJ0ZXh0YXJlYVwiLFwiaW5wdXRcIl0uam9pbihcIixcIik7ZnVuY3Rpb24gTyhlKXt2YXIgcix0O3JldHVybih0PShyPWU9PW51bGw/dm9pZCAwOmUubWF0Y2hlcyk9PW51bGw/dm9pZCAwOnIuY2FsbChlLHcpKSE9bnVsbD90OiExfWZ1bmN0aW9uIF8oZSxyPXQ9PnQpe3JldHVybiBlLnNsaWNlKCkuc29ydCgodCx1KT0+e2xldCBvPXIodCksYz1yKHUpO2lmKG89PT1udWxsfHxjPT09bnVsbClyZXR1cm4gMDtsZXQgbD1vLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMpO3JldHVybiBsJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HPy0xOmwmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkc/MTowfSl9ZnVuY3Rpb24gaihlLHIpe3JldHVybiBQKGIoKSxyLHtyZWxhdGl2ZVRvOmV9KX1mdW5jdGlvbiBQKGUscix7c29ydGVkOnQ9ITAscmVsYXRpdmVUbzp1PW51bGwsc2tpcEVsZW1lbnRzOm89W119PXt9KXtsZXQgYz1BcnJheS5pc0FycmF5KGUpP2UubGVuZ3RoPjA/ZVswXS5vd25lckRvY3VtZW50OmRvY3VtZW50OmUub3duZXJEb2N1bWVudCxsPUFycmF5LmlzQXJyYXkoZSk/dD9fKGUpOmU6ciY2ND9TKGUpOmIoZSk7by5sZW5ndGg+MCYmbC5sZW5ndGg+MSYmKGw9bC5maWx0ZXIocz0+IW8uc29tZShhPT5hIT1udWxsJiZcImN1cnJlbnRcImluIGE/KGE9PW51bGw/dm9pZCAwOmEuY3VycmVudCk9PT1zOmE9PT1zKSkpLHU9dSE9bnVsbD91OmMuYWN0aXZlRWxlbWVudDtsZXQgbj0oKCk9PntpZihyJjUpcmV0dXJuIDE7aWYociYxMClyZXR1cm4tMTt0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIEZvY3VzLkZpcnN0LCBGb2N1cy5QcmV2aW91cywgRm9jdXMuTmV4dCBvciBGb2N1cy5MYXN0XCIpfSkoKSx4PSgoKT0+e2lmKHImMSlyZXR1cm4gMDtpZihyJjIpcmV0dXJuIE1hdGgubWF4KDAsbC5pbmRleE9mKHUpKS0xO2lmKHImNClyZXR1cm4gTWF0aC5tYXgoMCxsLmluZGV4T2YodSkpKzE7aWYociY4KXJldHVybiBsLmxlbmd0aC0xO3Rocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRm9jdXMuRmlyc3QsIEZvY3VzLlByZXZpb3VzLCBGb2N1cy5OZXh0IG9yIEZvY3VzLkxhc3RcIil9KSgpLE09ciYzMj97cHJldmVudFNjcm9sbDohMH06e30sbT0wLGQ9bC5sZW5ndGgsaTtkb3tpZihtPj1kfHxtK2Q8PTApcmV0dXJuIDA7bGV0IHM9eCttO2lmKHImMTYpcz0ocytkKSVkO2Vsc2V7aWYoczwwKXJldHVybiAzO2lmKHM+PWQpcmV0dXJuIDF9aT1sW3NdLGk9PW51bGx8fGkuZm9jdXMoTSksbSs9bn13aGlsZShpIT09Yy5hY3RpdmVFbGVtZW50KTtyZXR1cm4gciY2JiZPKGkpJiZpLnNlbGVjdCgpLDJ9ZXhwb3J0e0YgYXMgRm9jdXMsVCBhcyBGb2N1c1Jlc3VsdCxoIGFzIEZvY3VzYWJsZU1vZGUsSSBhcyBmb2N1c0VsZW1lbnQsaiBhcyBmb2N1c0Zyb20sUCBhcyBmb2N1c0luLFMgYXMgZ2V0QXV0b0ZvY3VzYWJsZUVsZW1lbnRzLGIgYXMgZ2V0Rm9jdXNhYmxlRWxlbWVudHMsQSBhcyBpc0ZvY3VzYWJsZUVsZW1lbnQsRyBhcyByZXN0b3JlRm9jdXNJZk5lY2Vzc2FyeSxfIGFzIHNvcnRCeURvbU5vZGV9O1xuIl0sIm5hbWVzIjpbImRpc3Bvc2FibGVzIiwiTiIsIm1hdGNoIiwiTCIsImdldE93bmVyRG9jdW1lbnQiLCJFIiwiZiIsIm1hcCIsImUiLCJqb2luIiwicCIsIkYiLCJuIiwiRmlyc3QiLCJQcmV2aW91cyIsIk5leHQiLCJMYXN0IiwiV3JhcEFyb3VuZCIsIk5vU2Nyb2xsIiwiQXV0b0ZvY3VzIiwiVCIsIm8iLCJFcnJvciIsIk92ZXJmbG93IiwiU3VjY2VzcyIsIlVuZGVyZmxvdyIsInkiLCJ0IiwiYiIsImRvY3VtZW50IiwiYm9keSIsIkFycmF5IiwiZnJvbSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzb3J0IiwiciIsIk1hdGgiLCJzaWduIiwidGFiSW5kZXgiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwiUyIsImgiLCJTdHJpY3QiLCJMb29zZSIsIkEiLCJtYXRjaGVzIiwidSIsInBhcmVudEVsZW1lbnQiLCJHIiwibmV4dEZyYW1lIiwiYWN0aXZlRWxlbWVudCIsIkkiLCJIIiwiS2V5Ym9hcmQiLCJNb3VzZSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJtZXRhS2V5IiwiYWx0S2V5IiwiY3RybEtleSIsImRvY3VtZW50RWxlbWVudCIsImRhdGFzZXQiLCJoZWFkbGVzc3VpRm9jdXNWaXNpYmxlIiwiZGV0YWlsIiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwidyIsIk8iLCJjYWxsIiwiXyIsInNsaWNlIiwiYyIsImwiLCJjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiIsIk5vZGUiLCJET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkciLCJET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkciLCJqIiwiUCIsInJlbGF0aXZlVG8iLCJzb3J0ZWQiLCJza2lwRWxlbWVudHMiLCJpc0FycmF5IiwibGVuZ3RoIiwib3duZXJEb2N1bWVudCIsImZpbHRlciIsInMiLCJzb21lIiwiYSIsImN1cnJlbnQiLCJ4IiwibWF4IiwiaW5kZXhPZiIsIk0iLCJtIiwiZCIsImkiLCJzZWxlY3QiLCJGb2N1cyIsIkZvY3VzUmVzdWx0IiwiRm9jdXNhYmxlTW9kZSIsImZvY3VzRWxlbWVudCIsImZvY3VzRnJvbSIsImZvY3VzSW4iLCJnZXRBdXRvRm9jdXNhYmxlRWxlbWVudHMiLCJnZXRGb2N1c2FibGVFbGVtZW50cyIsImlzRm9jdXNhYmxlRWxlbWVudCIsInJlc3RvcmVGb2N1c0lmTmVjZXNzYXJ5Iiwic29ydEJ5RG9tTm9kZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js": -/*!************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/match.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ match: function() { return /* binding */ u; }\n/* harmony export */ });\nfunction u(r, n) {\n for(var _len = arguments.length, a = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){\n a[_key - 2] = arguments[_key];\n }\n if (r in n) {\n let e = n[r];\n return typeof e == \"function\" ? e(...a) : e;\n }\n let t = new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map((e)=>`\"${e}\"`).join(\", \")}.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, u), t;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21hdGNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDLEVBQUNDLENBQUM7SUFBQztRQUFHQyxFQUFILDJCQUFJOztJQUFFLElBQUdGLEtBQUtDLEdBQUU7UUFBQyxJQUFJRSxJQUFFRixDQUFDLENBQUNELEVBQUU7UUFBQyxPQUFPLE9BQU9HLEtBQUcsYUFBV0EsS0FBS0QsS0FBR0M7SUFBQztJQUFDLElBQUlDLElBQUUsSUFBSUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFTCxFQUFFLDhEQUE4RCxFQUFFTSxPQUFPQyxJQUFJLENBQUNOLEdBQUdPLEdBQUcsQ0FBQ0wsQ0FBQUEsSUFBRyxDQUFDLENBQUMsRUFBRUEsRUFBRSxDQUFDLENBQUMsRUFBRU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQUUsTUFBTUosTUFBTUssaUJBQWlCLElBQUVMLE1BQU1LLGlCQUFpQixDQUFDTixHQUFFTCxJQUFHSztBQUFDO0FBQW9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21hdGNoLmpzPzVmZTQiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdShyLG4sLi4uYSl7aWYociBpbiBuKXtsZXQgZT1uW3JdO3JldHVybiB0eXBlb2YgZT09XCJmdW5jdGlvblwiP2UoLi4uYSk6ZX1sZXQgdD1uZXcgRXJyb3IoYFRyaWVkIHRvIGhhbmRsZSBcIiR7cn1cIiBidXQgdGhlcmUgaXMgbm8gaGFuZGxlciBkZWZpbmVkLiBPbmx5IGRlZmluZWQgaGFuZGxlcnMgYXJlOiAke09iamVjdC5rZXlzKG4pLm1hcChlPT5gXCIke2V9XCJgKS5qb2luKFwiLCBcIil9LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0LHUpLHR9ZXhwb3J0e3UgYXMgbWF0Y2h9O1xuIl0sIm5hbWVzIjpbInUiLCJyIiwibiIsImEiLCJlIiwidCIsIkVycm9yIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImpvaW4iLCJjYXB0dXJlU3RhY2tUcmFjZSIsIm1hdGNoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/micro-task.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ microTask: function() { return /* binding */ t; }\n/* harmony export */ });\nfunction t(e) {\n typeof queueMicrotask == \"function\" ? queueMicrotask(e) : Promise.resolve().then(e).catch((o)=>setTimeout(()=>{\n throw o;\n }));\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21pY3JvLXRhc2suanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxPQUFPQyxrQkFBZ0IsYUFBV0EsZUFBZUQsS0FBR0UsUUFBUUMsT0FBTyxHQUFHQyxJQUFJLENBQUNKLEdBQUdLLEtBQUssQ0FBQ0MsQ0FBQUEsSUFBR0MsV0FBVztZQUFLLE1BQU1EO1FBQUM7QUFBRztBQUF3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9taWNyby10YXNrLmpzP2U3YjgiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdChlKXt0eXBlb2YgcXVldWVNaWNyb3Rhc2s9PVwiZnVuY3Rpb25cIj9xdWV1ZU1pY3JvdGFzayhlKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKGUpLmNhdGNoKG89PnNldFRpbWVvdXQoKCk9Pnt0aHJvdyBvfSkpfWV4cG9ydHt0IGFzIG1pY3JvVGFza307XG4iXSwibmFtZXMiOlsidCIsImUiLCJxdWV1ZU1pY3JvdGFzayIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsImNhdGNoIiwibyIsInNldFRpbWVvdXQiLCJtaWNyb1Rhc2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js": -/*!***********************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/once.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ once: function() { return /* binding */ l; }\n/* harmony export */ });\nfunction l(r) {\n let e = {\n called: !1\n };\n return function() {\n for(var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++){\n t[_key] = arguments[_key];\n }\n if (!e.called) return e.called = !0, r(...t);\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL29uY2UuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFO1FBQUNDLFFBQU8sQ0FBQztJQUFDO0lBQUUsT0FBTTt5Q0FBSUM7WUFBQUE7O1FBQUssSUFBRyxDQUFDRixFQUFFQyxNQUFNLEVBQUMsT0FBT0QsRUFBRUMsTUFBTSxHQUFDLENBQUMsR0FBRUYsS0FBS0c7SUFBRTtBQUFDO0FBQW1CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL29uY2UuanM/NTY2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBsKHIpe2xldCBlPXtjYWxsZWQ6ITF9O3JldHVybiguLi50KT0+e2lmKCFlLmNhbGxlZClyZXR1cm4gZS5jYWxsZWQ9ITAsciguLi50KX19ZXhwb3J0e2wgYXMgb25jZX07XG4iXSwibmFtZXMiOlsibCIsInIiLCJlIiwiY2FsbGVkIiwidCIsIm9uY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js": -/*!************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/owner.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getOwnerDocument: function() { return /* binding */ u; }\n/* harmony export */ });\n/* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\");\n\nfunction u(r) {\n return _env_js__WEBPACK_IMPORTED_MODULE_0__.env.isServer ? null : r instanceof Node ? r.ownerDocument : r != null && r.hasOwnProperty(\"current\") && r.current instanceof Node ? r.current.ownerDocument : document;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL293bmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQUEsU0FBU0UsRUFBRUMsQ0FBQztJQUFFLE9BQU9GLHdDQUFDQSxDQUFDRyxRQUFRLEdBQUMsT0FBS0QsYUFBYUUsT0FBS0YsRUFBRUcsYUFBYSxHQUFDSCxLQUFHLFFBQU1BLEVBQUVJLGNBQWMsQ0FBQyxjQUFZSixFQUFFSyxPQUFPLFlBQVlILE9BQUtGLEVBQUVLLE9BQU8sQ0FBQ0YsYUFBYSxHQUFDRztBQUFRO0FBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL293bmVyLmpzP2ZhNWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e2VudiBhcyBufWZyb20nLi9lbnYuanMnO2Z1bmN0aW9uIHUocil7cmV0dXJuIG4uaXNTZXJ2ZXI/bnVsbDpyIGluc3RhbmNlb2YgTm9kZT9yLm93bmVyRG9jdW1lbnQ6ciE9bnVsbCYmci5oYXNPd25Qcm9wZXJ0eShcImN1cnJlbnRcIikmJnIuY3VycmVudCBpbnN0YW5jZW9mIE5vZGU/ci5jdXJyZW50Lm93bmVyRG9jdW1lbnQ6ZG9jdW1lbnR9ZXhwb3J0e3UgYXMgZ2V0T3duZXJEb2N1bWVudH07XG4iXSwibmFtZXMiOlsiZW52IiwibiIsInUiLCJyIiwiaXNTZXJ2ZXIiLCJOb2RlIiwib3duZXJEb2N1bWVudCIsImhhc093blByb3BlcnR5IiwiY3VycmVudCIsImRvY3VtZW50IiwiZ2V0T3duZXJEb2N1bWVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js": -/*!*************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/render.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RenderFeatures: function() { return /* binding */ O; },\n/* harmony export */ RenderStrategy: function() { return /* binding */ M; },\n/* harmony export */ compact: function() { return /* binding */ m; },\n/* harmony export */ forwardRefWithAs: function() { return /* binding */ I; },\n/* harmony export */ mergeProps: function() { return /* binding */ D; },\n/* harmony export */ render: function() { return /* binding */ H; },\n/* harmony export */ useMergeRefsFn: function() { return /* binding */ U; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _class_names_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./class-names.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/class-names.js\");\n/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n\n\n\nvar O = ((a)=>(a[a.None = 0] = \"None\", a[a.RenderStrategy = 1] = \"RenderStrategy\", a[a.Static = 2] = \"Static\", a))(O || {}), M = ((e)=>(e[e.Unmount = 0] = \"Unmount\", e[e.Hidden = 1] = \"Hidden\", e))(M || {});\nfunction H(param) {\n let { ourProps: r, theirProps: n, slot: e, defaultTag: a, features: s, visible: t = !0, name: l, mergeRefs: i } = param;\n i = i != null ? i : A;\n let o = N(n, r);\n if (t) return b(o, e, a, l, i);\n let y = s != null ? s : 0;\n if (y & 2) {\n let { static: f = !1, ...u } = o;\n if (f) return b(u, e, a, l, i);\n }\n if (y & 1) {\n let { unmount: f = !0, ...u } = o;\n return (0,_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(f ? 0 : 1, {\n [0] () {\n return null;\n },\n [1] () {\n return b({\n ...u,\n hidden: !0,\n style: {\n display: \"none\"\n }\n }, e, a, l, i);\n }\n });\n }\n return b(o, e, a, l, i);\n}\n_c = H;\nfunction b(r) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, e = arguments.length > 2 ? arguments[2] : void 0, a = arguments.length > 3 ? arguments[3] : void 0, s = arguments.length > 4 ? arguments[4] : void 0;\n let { as: t = e, children: l, refName: i = \"ref\", ...o } = h(r, [\n \"unmount\",\n \"static\"\n ]), y = r.ref !== void 0 ? {\n [i]: r.ref\n } : {}, f = typeof l == \"function\" ? l(n) : l;\n \"className\" in o && o.className && typeof o.className == \"function\" && (o.className = o.className(n)), o[\"aria-labelledby\"] && o[\"aria-labelledby\"] === o.id && (o[\"aria-labelledby\"] = void 0);\n let u = {};\n if (n) {\n let d = !1, p = [];\n for (let [c, T] of Object.entries(n))typeof T == \"boolean\" && (d = !0), T === !0 && p.push(c.replace(/([A-Z])/g, (g)=>`-${g.toLowerCase()}`));\n if (d) {\n u[\"data-headlessui-state\"] = p.join(\" \");\n for (let c of p)u[`data-${c}`] = \"\";\n }\n }\n if (t === react__WEBPACK_IMPORTED_MODULE_0__.Fragment && (Object.keys(m(o)).length > 0 || Object.keys(m(u)).length > 0)) if (!/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(f) || Array.isArray(f) && f.length > 1) {\n if (Object.keys(m(o)).length > 0) throw new Error([\n 'Passing props on \"Fragment\"!',\n \"\",\n `The current component <${a} /> is rendering a \"Fragment\".`,\n \"However we need to passthrough the following props:\",\n Object.keys(m(o)).concat(Object.keys(m(u))).map((d)=>` - ${d}`).join(`\n`),\n \"\",\n \"You can apply a few solutions:\",\n [\n 'Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\n \"Render a single element as the child so that we can forward the props onto that element.\"\n ].map((d)=>` - ${d}`).join(`\n`)\n ].join(`\n`));\n } else {\n let d = f.props, p = d == null ? void 0 : d.className, c = typeof p == \"function\" ? function() {\n for(var _len = arguments.length, F = new Array(_len), _key = 0; _key < _len; _key++){\n F[_key] = arguments[_key];\n }\n return (0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p(...F), o.className);\n } : (0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p, o.className), T = c ? {\n className: c\n } : {}, g = N(f.props, m(h(o, [\n \"ref\"\n ])));\n for(let F in u)F in g && delete u[F];\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(f, Object.assign({}, g, u, y, {\n ref: s(f.ref, y.ref)\n }, T));\n }\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(t, Object.assign({}, h(o, [\n \"ref\"\n ]), t !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment && y, t !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment && u), f);\n}\nfunction U() {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n for (let a of r.current)a != null && (typeof a == \"function\" ? a(e) : a.current = e);\n }, []);\n return function() {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n if (!e.every((a)=>a == null)) return r.current = e, n;\n };\n}\n_c1 = U;\nfunction A() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n return r.every((n)=>n == null) ? void 0 : (n)=>{\n for (let e of r)e != null && (typeof e == \"function\" ? e(n) : e.current = n);\n };\n}\n_c2 = A;\nfunction N() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n var a;\n if (r.length === 0) return {};\n if (r.length === 1) return r[0];\n let n = {}, e = {};\n for (let s of r)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : n[t] = s[t];\n if (n.disabled || n[\"aria-disabled\"]) for(let s in e)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(s) && (e[s] = [\n (t)=>{\n var l;\n return (l = t == null ? void 0 : t.preventDefault) == null ? void 0 : l.call(t);\n }\n ]);\n for(let s in e)Object.assign(n, {\n [s] (t) {\n for(var _len = arguments.length, l = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n l[_key - 1] = arguments[_key];\n }\n let i = e[s];\n for (let o of i){\n if ((t instanceof Event || (t == null ? void 0 : t.nativeEvent) instanceof Event) && t.defaultPrevented) return;\n o(t, ...l);\n }\n }\n });\n return n;\n}\n_c3 = N;\nfunction D() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n var a;\n if (r.length === 0) return {};\n if (r.length === 1) return r[0];\n let n = {}, e = {};\n for (let s of r)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : n[t] = s[t];\n for(let s in e)Object.assign(n, {\n [s] () {\n for(var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++){\n t[_key] = arguments[_key];\n }\n let l = e[s];\n for (let i of l)i == null || i(...t);\n }\n });\n return n;\n}\n_c4 = D;\nfunction I(r) {\n var n;\n return Object.assign(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(r), {\n displayName: (n = r.displayName) != null ? n : r.name\n });\n}\n_c5 = I;\nfunction m(r) {\n let n = Object.assign({}, r);\n for(let e in n)n[e] === void 0 && delete n[e];\n return n;\n}\nfunction h(r) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n let e = Object.assign({}, r);\n for (let a of n)a in e && delete e[a];\n return e;\n}\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"H\");\n$RefreshReg$(_c1, \"U\");\n$RefreshReg$(_c2, \"A\");\n$RefreshReg$(_c3, \"N\");\n$RefreshReg$(_c4, \"D\");\n$RefreshReg$(_c5, \"I\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3JlbmRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQXVJO0FBQThDO0FBQW1DO0FBQUEsSUFBSWtCLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9ELENBQUMsQ0FBQ0EsRUFBRUUsY0FBYyxHQUFDLEVBQUUsR0FBQyxrQkFBaUJGLENBQUMsQ0FBQ0EsRUFBRUcsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTSCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQyxJQUFHSyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsT0FBTyxHQUFDLEVBQUUsR0FBQyxXQUFVRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTSSxFQUFFLEtBQXdGO1FBQXhGLEVBQUNDLFVBQVNDLENBQUMsRUFBQ0MsWUFBV0MsQ0FBQyxFQUFDQyxNQUFLUixDQUFDLEVBQUNTLFlBQVdkLENBQUMsRUFBQ2UsVUFBU0MsQ0FBQyxFQUFDQyxTQUFRQyxJQUFFLENBQUMsQ0FBQyxFQUFDQyxNQUFLQyxDQUFDLEVBQUNDLFdBQVVDLENBQUMsRUFBQyxHQUF4RjtJQUEwRkEsSUFBRUEsS0FBRyxPQUFLQSxJQUFFQztJQUFFLElBQUlDLElBQUVDLEVBQUViLEdBQUVGO0lBQUcsSUFBR1EsR0FBRSxPQUFPUSxFQUFFRixHQUFFbkIsR0FBRUwsR0FBRW9CLEdBQUVFO0lBQUcsSUFBSUssSUFBRVgsS0FBRyxPQUFLQSxJQUFFO0lBQUUsSUFBR1csSUFBRSxHQUFFO1FBQUMsSUFBRyxFQUFDQyxRQUFPQyxJQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUdDLEdBQUUsR0FBQ047UUFB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QUFDLEdBQUVyRDtJQUFHLEtBQUksSUFBSVYsS0FBS1ksRUFBRVosS0FBS0ssS0FBRyxPQUFPQSxDQUFDLENBQUNMLEVBQUU7SUFBQyxPQUFPSztBQUFDO0FBQW9JIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3JlbmRlci5qcz9kZjM2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtGcmFnbWVudCBhcyBSLGNsb25lRWxlbWVudCBhcyB4LGNyZWF0ZUVsZW1lbnQgYXMgRSxmb3J3YXJkUmVmIGFzIGosaXNWYWxpZEVsZW1lbnQgYXMgUyx1c2VDYWxsYmFjayBhcyB2LHVzZVJlZiBhcyB3fWZyb21cInJlYWN0XCI7aW1wb3J0e2NsYXNzTmFtZXMgYXMgUH1mcm9tJy4vY2xhc3MtbmFtZXMuanMnO2ltcG9ydHttYXRjaCBhcyBrfWZyb20nLi9tYXRjaC5qcyc7dmFyIE89KGE9PihhW2EuTm9uZT0wXT1cIk5vbmVcIixhW2EuUmVuZGVyU3RyYXRlZ3k9MV09XCJSZW5kZXJTdHJhdGVneVwiLGFbYS5TdGF0aWM9Ml09XCJTdGF0aWNcIixhKSkoT3x8e30pLE09KGU9PihlW2UuVW5tb3VudD0wXT1cIlVubW91bnRcIixlW2UuSGlkZGVuPTFdPVwiSGlkZGVuXCIsZSkpKE18fHt9KTtmdW5jdGlvbiBIKHtvdXJQcm9wczpyLHRoZWlyUHJvcHM6bixzbG90OmUsZGVmYXVsdFRhZzphLGZlYXR1cmVzOnMsdmlzaWJsZTp0PSEwLG5hbWU6bCxtZXJnZVJlZnM6aX0pe2k9aSE9bnVsbD9pOkE7bGV0IG89TihuLHIpO2lmKHQpcmV0dXJuIGIobyxlLGEsbCxpKTtsZXQgeT1zIT1udWxsP3M6MDtpZih5JjIpe2xldHtzdGF0aWM6Zj0hMSwuLi51fT1vO2lmKGYpcmV0dXJuIGIodSxlLGEsbCxpKX1pZih5JjEpe2xldHt1bm1vdW50OmY9ITAsLi4udX09bztyZXR1cm4gayhmPzA6MSx7WzBdKCl7cmV0dXJuIG51bGx9LFsxXSgpe3JldHVybiBiKHsuLi51LGhpZGRlbjohMCxzdHlsZTp7ZGlzcGxheTpcIm5vbmVcIn19LGUsYSxsLGkpfX0pfXJldHVybiBiKG8sZSxhLGwsaSl9ZnVuY3Rpb24gYihyLG49e30sZSxhLHMpe2xldHthczp0PWUsY2hpbGRyZW46bCxyZWZOYW1lOmk9XCJyZWZcIiwuLi5vfT1oKHIsW1widW5tb3VudFwiLFwic3RhdGljXCJdKSx5PXIucmVmIT09dm9pZCAwP3tbaV06ci5yZWZ9Ont9LGY9dHlwZW9mIGw9PVwiZnVuY3Rpb25cIj9sKG4pOmw7XCJjbGFzc05hbWVcImluIG8mJm8uY2xhc3NOYW1lJiZ0eXBlb2Ygby5jbGFzc05hbWU9PVwiZnVuY3Rpb25cIiYmKG8uY2xhc3NOYW1lPW8uY2xhc3NOYW1lKG4pKSxvW1wiYXJpYS1sYWJlbGxlZGJ5XCJdJiZvW1wiYXJpYS1sYWJlbGxlZGJ5XCJdPT09by5pZCYmKG9bXCJhcmlhLWxhYmVsbGVkYnlcIl09dm9pZCAwKTtsZXQgdT17fTtpZihuKXtsZXQgZD0hMSxwPVtdO2ZvcihsZXRbYyxUXW9mIE9iamVjdC5lbnRyaWVzKG4pKXR5cGVvZiBUPT1cImJvb2xlYW5cIiYmKGQ9ITApLFQ9PT0hMCYmcC5wdXNoKGMucmVwbGFjZSgvKFtBLVpdKS9nLGc9PmAtJHtnLnRvTG93ZXJDYXNlKCl9YCkpO2lmKGQpe3VbXCJkYXRhLWhlYWRsZXNzdWktc3RhdGVcIl09cC5qb2luKFwiIFwiKTtmb3IobGV0IGMgb2YgcCl1W2BkYXRhLSR7Y31gXT1cIlwifX1pZih0PT09UiYmKE9iamVjdC5rZXlzKG0obykpLmxlbmd0aD4wfHxPYmplY3Qua2V5cyhtKHUpKS5sZW5ndGg+MCkpaWYoIVMoZil8fEFycmF5LmlzQXJyYXkoZikmJmYubGVuZ3RoPjEpe2lmKE9iamVjdC5rZXlzKG0obykpLmxlbmd0aD4wKXRocm93IG5ldyBFcnJvcihbJ1Bhc3NpbmcgcHJvcHMgb24gXCJGcmFnbWVudFwiIScsXCJcIixgVGhlIGN1cnJlbnQgY29tcG9uZW50IDwke2F9IC8+IGlzIHJlbmRlcmluZyBhIFwiRnJhZ21lbnRcIi5gLFwiSG93ZXZlciB3ZSBuZWVkIHRvIHBhc3N0aHJvdWdoIHRoZSBmb2xsb3dpbmcgcHJvcHM6XCIsT2JqZWN0LmtleXMobShvKSkuY29uY2F0KE9iamVjdC5rZXlzKG0odSkpKS5tYXAoZD0+YCAgLSAke2R9YCkuam9pbihgXG5gKSxcIlwiLFwiWW91IGNhbiBhcHBseSBhIGZldyBzb2x1dGlvbnM6XCIsWydBZGQgYW4gYGFzPVwiLi4uXCJgIHByb3AsIHRvIGVuc3VyZSB0aGF0IHdlIHJlbmRlciBhbiBhY3R1YWwgZWxlbWVudCBpbnN0ZWFkIG9mIGEgXCJGcmFnbWVudFwiLicsXCJSZW5kZXIgYSBzaW5nbGUgZWxlbWVudCBhcyB0aGUgY2hpbGQgc28gdGhhdCB3ZSBjYW4gZm9yd2FyZCB0aGUgcHJvcHMgb250byB0aGF0IGVsZW1lbnQuXCJdLm1hcChkPT5gICAtICR7ZH1gKS5qb2luKGBcbmApXS5qb2luKGBcbmApKX1lbHNle2xldCBkPWYucHJvcHMscD1kPT1udWxsP3ZvaWQgMDpkLmNsYXNzTmFtZSxjPXR5cGVvZiBwPT1cImZ1bmN0aW9uXCI/KC4uLkYpPT5QKHAoLi4uRiksby5jbGFzc05hbWUpOlAocCxvLmNsYXNzTmFtZSksVD1jP3tjbGFzc05hbWU6Y306e30sZz1OKGYucHJvcHMsbShoKG8sW1wicmVmXCJdKSkpO2ZvcihsZXQgRiBpbiB1KUYgaW4gZyYmZGVsZXRlIHVbRl07cmV0dXJuIHgoZixPYmplY3QuYXNzaWduKHt9LGcsdSx5LHtyZWY6cyhmLnJlZix5LnJlZil9LFQpKX1yZXR1cm4gRSh0LE9iamVjdC5hc3NpZ24oe30saChvLFtcInJlZlwiXSksdCE9PVImJnksdCE9PVImJnUpLGYpfWZ1bmN0aW9uIFUoKXtsZXQgcj13KFtdKSxuPXYoZT0+e2ZvcihsZXQgYSBvZiByLmN1cnJlbnQpYSE9bnVsbCYmKHR5cGVvZiBhPT1cImZ1bmN0aW9uXCI/YShlKTphLmN1cnJlbnQ9ZSl9LFtdKTtyZXR1cm4oLi4uZSk9PntpZighZS5ldmVyeShhPT5hPT1udWxsKSlyZXR1cm4gci5jdXJyZW50PWUsbn19ZnVuY3Rpb24gQSguLi5yKXtyZXR1cm4gci5ldmVyeShuPT5uPT1udWxsKT92b2lkIDA6bj0+e2ZvcihsZXQgZSBvZiByKWUhPW51bGwmJih0eXBlb2YgZT09XCJmdW5jdGlvblwiP2Uobik6ZS5jdXJyZW50PW4pfX1mdW5jdGlvbiBOKC4uLnIpe3ZhciBhO2lmKHIubGVuZ3RoPT09MClyZXR1cm57fTtpZihyLmxlbmd0aD09PTEpcmV0dXJuIHJbMF07bGV0IG49e30sZT17fTtmb3IobGV0IHMgb2Ygcilmb3IobGV0IHQgaW4gcyl0LnN0YXJ0c1dpdGgoXCJvblwiKSYmdHlwZW9mIHNbdF09PVwiZnVuY3Rpb25cIj8oKGE9ZVt0XSkhPW51bGx8fChlW3RdPVtdKSxlW3RdLnB1c2goc1t0XSkpOm5bdF09c1t0XTtpZihuLmRpc2FibGVkfHxuW1wiYXJpYS1kaXNhYmxlZFwiXSlmb3IobGV0IHMgaW4gZSkvXihvbig/OkNsaWNrfFBvaW50ZXJ8TW91c2V8S2V5KSg/OkRvd258VXB8UHJlc3MpPykkLy50ZXN0KHMpJiYoZVtzXT1bdD0+e3ZhciBsO3JldHVybihsPXQ9PW51bGw/dm9pZCAwOnQucHJldmVudERlZmF1bHQpPT1udWxsP3ZvaWQgMDpsLmNhbGwodCl9XSk7Zm9yKGxldCBzIGluIGUpT2JqZWN0LmFzc2lnbihuLHtbc10odCwuLi5sKXtsZXQgaT1lW3NdO2ZvcihsZXQgbyBvZiBpKXtpZigodCBpbnN0YW5jZW9mIEV2ZW50fHwodD09bnVsbD92b2lkIDA6dC5uYXRpdmVFdmVudClpbnN0YW5jZW9mIEV2ZW50KSYmdC5kZWZhdWx0UHJldmVudGVkKXJldHVybjtvKHQsLi4ubCl9fX0pO3JldHVybiBufWZ1bmN0aW9uIEQoLi4ucil7dmFyIGE7aWYoci5sZW5ndGg9PT0wKXJldHVybnt9O2lmKHIubGVuZ3RoPT09MSlyZXR1cm4gclswXTtsZXQgbj17fSxlPXt9O2ZvcihsZXQgcyBvZiByKWZvcihsZXQgdCBpbiBzKXQuc3RhcnRzV2l0aChcIm9uXCIpJiZ0eXBlb2Ygc1t0XT09XCJmdW5jdGlvblwiPygoYT1lW3RdKSE9bnVsbHx8KGVbdF09W10pLGVbdF0ucHVzaChzW3RdKSk6blt0XT1zW3RdO2ZvcihsZXQgcyBpbiBlKU9iamVjdC5hc3NpZ24obix7W3NdKC4uLnQpe2xldCBsPWVbc107Zm9yKGxldCBpIG9mIGwpaT09bnVsbHx8aSguLi50KX19KTtyZXR1cm4gbn1mdW5jdGlvbiBJKHIpe3ZhciBuO3JldHVybiBPYmplY3QuYXNzaWduKGoocikse2Rpc3BsYXlOYW1lOihuPXIuZGlzcGxheU5hbWUpIT1udWxsP246ci5uYW1lfSl9ZnVuY3Rpb24gbShyKXtsZXQgbj1PYmplY3QuYXNzaWduKHt9LHIpO2ZvcihsZXQgZSBpbiBuKW5bZV09PT12b2lkIDAmJmRlbGV0ZSBuW2VdO3JldHVybiBufWZ1bmN0aW9uIGgocixuPVtdKXtsZXQgZT1PYmplY3QuYXNzaWduKHt9LHIpO2ZvcihsZXQgYSBvZiBuKWEgaW4gZSYmZGVsZXRlIGVbYV07cmV0dXJuIGV9ZXhwb3J0e08gYXMgUmVuZGVyRmVhdHVyZXMsTSBhcyBSZW5kZXJTdHJhdGVneSxtIGFzIGNvbXBhY3QsSSBhcyBmb3J3YXJkUmVmV2l0aEFzLEQgYXMgbWVyZ2VQcm9wcyxIIGFzIHJlbmRlcixVIGFzIHVzZU1lcmdlUmVmc0ZufTtcbiJdLCJuYW1lcyI6WyJGcmFnbWVudCIsIlIiLCJjbG9uZUVsZW1lbnQiLCJ4IiwiY3JlYXRlRWxlbWVudCIsIkUiLCJmb3J3YXJkUmVmIiwiaiIsImlzVmFsaWRFbGVtZW50IiwiUyIsInVzZUNhbGxiYWNrIiwidiIsInVzZVJlZiIsInciLCJjbGFzc05hbWVzIiwiUCIsIm1hdGNoIiwiayIsIk8iLCJhIiwiTm9uZSIsIlJlbmRlclN0cmF0ZWd5IiwiU3RhdGljIiwiTSIsImUiLCJVbm1vdW50IiwiSGlkZGVuIiwiSCIsIm91clByb3BzIiwiciIsInRoZWlyUHJvcHMiLCJuIiwic2xvdCIsImRlZmF1bHRUYWciLCJmZWF0dXJlcyIsInMiLCJ2aXNpYmxlIiwidCIsIm5hbWUiLCJsIiwibWVyZ2VSZWZzIiwiaSIsIkEiLCJvIiwiTiIsImIiLCJ5Iiwic3RhdGljIiwiZiIsInUiLCJ1bm1vdW50IiwiaGlkZGVuIiwic3R5bGUiLCJkaXNwbGF5IiwiYXMiLCJjaGlsZHJlbiIsInJlZk5hbWUiLCJoIiwicmVmIiwiY2xhc3NOYW1lIiwiaWQiLCJkIiwicCIsImMiLCJUIiwiT2JqZWN0IiwiZW50cmllcyIsInB1c2giLCJyZXBsYWNlIiwiZyIsInRvTG93ZXJDYXNlIiwiam9pbiIsImtleXMiLCJtIiwibGVuZ3RoIiwiQXJyYXkiLCJpc0FycmF5IiwiRXJyb3IiLCJjb25jYXQiLCJtYXAiLCJwcm9wcyIsIkYiLCJhc3NpZ24iLCJVIiwiY3VycmVudCIsImV2ZXJ5Iiwic3RhcnRzV2l0aCIsImRpc2FibGVkIiwidGVzdCIsInByZXZlbnREZWZhdWx0IiwiY2FsbCIsIkV2ZW50IiwibmF0aXZlRXZlbnQiLCJkZWZhdWx0UHJldmVudGVkIiwiRCIsIkkiLCJkaXNwbGF5TmFtZSIsIlJlbmRlckZlYXR1cmVzIiwiY29tcGFjdCIsImZvcndhcmRSZWZXaXRoQXMiLCJtZXJnZVByb3BzIiwicmVuZGVyIiwidXNlTWVyZ2VSZWZzRm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/stable-collection.js": -/*!************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/stable-collection.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StableCollection: function() { return /* binding */ f; },\n/* harmony export */ useStableCollectionIndex: function() { return /* binding */ C; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nvar _s = $RefreshSig$(), _s1 = $RefreshSig$();\n\nconst s = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nfunction a() {\n return {\n groups: new Map,\n get (o, e) {\n var i;\n let t = this.groups.get(o);\n t || (t = new Map, this.groups.set(o, t));\n let n = (i = t.get(e)) != null ? i : 0;\n t.set(e, n + 1);\n let r = Array.from(t.keys()).indexOf(e);\n function u() {\n let c = t.get(e);\n c > 1 ? t.set(e, c - 1) : t.delete(e);\n }\n return [\n r,\n u\n ];\n }\n };\n}\nfunction f(param) {\n let { children: o } = param;\n _s();\n let e = react__WEBPACK_IMPORTED_MODULE_0__.useRef(a());\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(s.Provider, {\n value: e\n }, o);\n}\n_s(f, \"H+vjk2y7X6cSaIZejH4sINd7rMc=\");\nfunction C(o) {\n _s1();\n let e = react__WEBPACK_IMPORTED_MODULE_0__.useContext(s);\n if (!e) throw new Error(\"You must wrap your component in a <StableCollection>\");\n let t = react__WEBPACK_IMPORTED_MODULE_0__.useId(), [n, r] = e.current.get(o, t);\n return react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>r, []), n;\n}\n_s1(C, \"l4+NJh/UDM7GCuB0Y5HWwLeiUIk=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_0__.useId,\n react__WEBPACK_IMPORTED_MODULE_0__.useId\n ];\n});\n_c = C;\n\nvar _c;\n$RefreshReg$(_c, \"C\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBd0I7QUFBQSxNQUFNQyxrQkFBRUQsZ0RBQWUsQ0FBQztBQUFNLFNBQVNHO0lBQUksT0FBTTtRQUFDQyxRQUFPLElBQUlDO1FBQUlDLEtBQUlDLENBQUMsRUFBQ0MsQ0FBQztZQUFFLElBQUlDO1lBQUUsSUFBSUMsSUFBRSxJQUFJLENBQUNOLE1BQU0sQ0FBQ0UsR0FBRyxDQUFDQztZQUFHRyxLQUFJQSxDQUFBQSxJQUFFLElBQUlMLEtBQUksSUFBSSxDQUFDRCxNQUFNLENBQUNPLEdBQUcsQ0FBQ0osR0FBRUcsRUFBQztZQUFHLElBQUlFLElBQUUsQ0FBQ0gsSUFBRUMsRUFBRUosR0FBRyxDQUFDRSxFQUFDLEtBQUksT0FBS0MsSUFBRTtZQUFFQyxFQUFFQyxHQUFHLENBQUNILEdBQUVJLElBQUU7WUFBRyxJQUFJQyxJQUFFQyxNQUFNQyxJQUFJLENBQUNMLEVBQUVNLElBQUksSUFBSUMsT0FBTyxDQUFDVDtZQUFHLFNBQVNVO2dCQUFJLElBQUlDLElBQUVULEVBQUVKLEdBQUcsQ0FBQ0U7Z0JBQUdXLElBQUUsSUFBRVQsRUFBRUMsR0FBRyxDQUFDSCxHQUFFVyxJQUFFLEtBQUdULEVBQUVVLE1BQU0sQ0FBQ1o7WUFBRTtZQUFDLE9BQU07Z0JBQUNLO2dCQUFFSzthQUFFO1FBQUE7SUFBQztBQUFDO0FBQUMsU0FBU0csRUFBRSxLQUFZO1FBQVosRUFBQ0MsVUFBU2YsQ0FBQyxFQUFDLEdBQVo7O0lBQWMsSUFBSUMsSUFBRVIseUNBQVEsQ0FBQ0c7SUFBSyxxQkFBT0gsZ0RBQWUsQ0FBQ0MsRUFBRXdCLFFBQVEsRUFBQztRQUFDQyxPQUFNbEI7SUFBQyxHQUFFRDtBQUFFO0dBQWxGYztBQUFtRixTQUFTTSxFQUFFcEIsQ0FBQzs7SUFBRSxJQUFJQyxJQUFFUiw2Q0FBWSxDQUFDQztJQUFHLElBQUcsQ0FBQ08sR0FBRSxNQUFNLElBQUlxQixNQUFNO0lBQXdELElBQUluQixJQUFFVix3Q0FBTyxJQUFHLENBQUNZLEdBQUVDLEVBQUUsR0FBQ0wsRUFBRXVCLE9BQU8sQ0FBQ3pCLEdBQUcsQ0FBQ0MsR0FBRUc7SUFBRyxPQUFPViw0Q0FBVyxDQUFDLElBQUlhLEdBQUUsRUFBRSxHQUFFRDtBQUFDO0lBQWhMZTs7UUFBK0czQix3Q0FBTzhCO1FBQVA5Qix3Q0FBTzhCOzs7S0FBdEhIO0FBQTZPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzPzUwNzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KmFzIGwgZnJvbVwicmVhY3RcIjtjb25zdCBzPWwuY3JlYXRlQ29udGV4dChudWxsKTtmdW5jdGlvbiBhKCl7cmV0dXJue2dyb3VwczpuZXcgTWFwLGdldChvLGUpe3ZhciBpO2xldCB0PXRoaXMuZ3JvdXBzLmdldChvKTt0fHwodD1uZXcgTWFwLHRoaXMuZ3JvdXBzLnNldChvLHQpKTtsZXQgbj0oaT10LmdldChlKSkhPW51bGw/aTowO3Quc2V0KGUsbisxKTtsZXQgcj1BcnJheS5mcm9tKHQua2V5cygpKS5pbmRleE9mKGUpO2Z1bmN0aW9uIHUoKXtsZXQgYz10LmdldChlKTtjPjE/dC5zZXQoZSxjLTEpOnQuZGVsZXRlKGUpfXJldHVybltyLHVdfX19ZnVuY3Rpb24gZih7Y2hpbGRyZW46b30pe2xldCBlPWwudXNlUmVmKGEoKSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChzLlByb3ZpZGVyLHt2YWx1ZTplfSxvKX1mdW5jdGlvbiBDKG8pe2xldCBlPWwudXNlQ29udGV4dChzKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoXCJZb3UgbXVzdCB3cmFwIHlvdXIgY29tcG9uZW50IGluIGEgPFN0YWJsZUNvbGxlY3Rpb24+XCIpO2xldCB0PWwudXNlSWQoKSxbbixyXT1lLmN1cnJlbnQuZ2V0KG8sdCk7cmV0dXJuIGwudXNlRWZmZWN0KCgpPT5yLFtdKSxufWV4cG9ydHtmIGFzIFN0YWJsZUNvbGxlY3Rpb24sQyBhcyB1c2VTdGFibGVDb2xsZWN0aW9uSW5kZXh9O1xuIl0sIm5hbWVzIjpbImwiLCJzIiwiY3JlYXRlQ29udGV4dCIsImEiLCJncm91cHMiLCJNYXAiLCJnZXQiLCJvIiwiZSIsImkiLCJ0Iiwic2V0IiwibiIsInIiLCJBcnJheSIsImZyb20iLCJrZXlzIiwiaW5kZXhPZiIsInUiLCJjIiwiZGVsZXRlIiwiZiIsImNoaWxkcmVuIiwidXNlUmVmIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJDIiwidXNlQ29udGV4dCIsIkVycm9yIiwidXNlSWQiLCJjdXJyZW50IiwidXNlRWZmZWN0IiwiU3RhYmxlQ29sbGVjdGlvbiIsInVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/stable-collection.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/start-transition.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/start-transition.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ startTransition: function() { return /* binding */ a; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nvar t;\n\nlet a = (t = react__WEBPACK_IMPORTED_MODULE_0__.startTransition) != null ? t : function(i) {\n i();\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YXJ0LXRyYW5zaXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxJQUFJQTtBQUF1QjtBQUFBLElBQUlFLElBQUUsQ0FBQ0YsSUFBRUMsa0RBQWlCLEtBQUcsT0FBS0QsSUFBRSxTQUFTSSxDQUFDO0lBQUVBO0FBQUc7QUFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvc3RhcnQtdHJhbnNpdGlvbi5qcz83NDUzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB0O2ltcG9ydCByIGZyb21cInJlYWN0XCI7bGV0IGE9KHQ9ci5zdGFydFRyYW5zaXRpb24pIT1udWxsP3Q6ZnVuY3Rpb24oaSl7aSgpfTtleHBvcnR7YSBhcyBzdGFydFRyYW5zaXRpb259O1xuIl0sIm5hbWVzIjpbInQiLCJyIiwiYSIsInN0YXJ0VHJhbnNpdGlvbiIsImkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/start-transition.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction Bars3Icon(param, svgRef) {\n let { title, titleId, ...props } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\n }));\n}\n_c = Bars3Icon;\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(Bars3Icon);\n_c1 = ForwardRef;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForwardRef);\nvar _c, _c1;\n$RefreshReg$(_c, \"Bars3Icon\");\n$RefreshReg$(_c1, \"ForwardRef\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL0JhcnMzSWNvbi5qcyIsIm1hcHBpbmdzIjoiOztBQUErQjtBQUMvQixTQUFTQyxVQUFVLEtBSWxCLEVBQUVDLE1BQU07UUFKVSxFQUNqQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixHQUprQjtJQUtqQixPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxhQUFhO1FBQ2JDLFFBQVE7UUFDUixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLWjtRQUNMLG1CQUFtQkU7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVILGdEQUFtQixDQUFDLFNBQVM7UUFDM0RlLElBQUlYO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUgsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGdCLGVBQWU7UUFDZkMsZ0JBQWdCO1FBQ2hCQyxHQUFHO0lBQ0w7QUFDRjtLQXRCU2pCO0FBdUJULE1BQU1rQixhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQzs7QUFDbEQsK0RBQWVrQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL0JhcnMzSWNvbi5qcz8yNjQwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gQmFyczNJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgZmlsbDogXCJub25lXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICBzdHJva2VXaWR0aDogMS41LFxuICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgZDogXCJNMy43NSA2Ljc1aDE2LjVNMy43NSAxMmgxNi41bS0xNi41IDUuMjVoMTYuNVwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoQmFyczNJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiQmFyczNJY29uIiwic3ZnUmVmIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicmVmIiwiaWQiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction XMarkIcon(param, svgRef) {\n let { title, titleId, ...props } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M6 18 18 6M6 6l12 12\"\n }));\n}\n_c = XMarkIcon;\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(XMarkIcon);\n_c1 = ForwardRef;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForwardRef);\nvar _c, _c1;\n$RefreshReg$(_c, \"XMarkIcon\");\n$RefreshReg$(_c1, \"ForwardRef\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL1hNYXJrSWNvbi5qcyIsIm1hcHBpbmdzIjoiOztBQUErQjtBQUMvQixTQUFTQyxVQUFVLEtBSWxCLEVBQUVDLE1BQU07UUFKVSxFQUNqQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixHQUprQjtJQUtqQixPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxhQUFhO1FBQ2JDLFFBQVE7UUFDUixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLWjtRQUNMLG1CQUFtQkU7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVILGdEQUFtQixDQUFDLFNBQVM7UUFDM0RlLElBQUlYO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUgsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGdCLGVBQWU7UUFDZkMsZ0JBQWdCO1FBQ2hCQyxHQUFHO0lBQ0w7QUFDRjtLQXRCU2pCO0FBdUJULE1BQU1rQixhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQzs7QUFDbEQsK0RBQWVrQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL1hNYXJrSWNvbi5qcz8wYzliIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gWE1hcmtJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgZmlsbDogXCJub25lXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICBzdHJva2VXaWR0aDogMS41LFxuICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgZDogXCJNNiAxOCAxOCA2TTYgNmwxMiAxMlwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoWE1hcmtJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiWE1hcmtJY29uIiwic3ZnUmVmIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicmVmIiwiaWQiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs": -/*!**************************************************************!*\ - !*** ./node_modules/@react-aria/focus/dist/useFocusRing.mjs ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocusRing: function() { return /* binding */ $f7dceffc5ad7768b$export$4e328f61c538687f; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocus.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n\n\n\nfunction $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__.isFocusVisible)()\n });\n let [isFocused, setFocused] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__.useFocusVisibleListener)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [], {\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_2__.useFocus)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_3__.useFocusWithin)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\n\n//# sourceMappingURL=useFocusRing.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9mb2N1cy9kaXN0L3VzZUZvY3VzUmluZy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBa047QUFDcEc7Ozs7QUFJOUcsNkRBQTZEO0FBQzdELFVBQVUseUVBQXlFO0FBQ25GLG9CQUFvQix5Q0FBYTtBQUNqQztBQUNBLHlDQUF5QyxvRUFBcUI7QUFDOUQsS0FBSztBQUNMLHNDQUFzQywyQ0FBZTtBQUNyRCxxREFBcUQsMkNBQWU7QUFDcEUsMEJBQTBCLDhDQUFrQjtBQUM1Qyw0QkFBNEIsOENBQWtCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsUUFBUSw2RUFBOEI7QUFDdEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTCxVQUFVLHlCQUF5QixNQUFNLDhEQUFlO0FBQ3hEO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsVUFBVSxxQ0FBcUMsTUFBTSxvRUFBcUI7QUFDMUU7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdtRTtBQUNuRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvZm9jdXMvZGlzdC91c2VGb2N1c1JpbmcubWpzPzI3NGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0ZvY3VzVmlzaWJsZSBhcyAkaXNXRTUkaXNGb2N1c1Zpc2libGUsIHVzZUZvY3VzVmlzaWJsZUxpc3RlbmVyIGFzICRpc1dFNSR1c2VGb2N1c1Zpc2libGVMaXN0ZW5lciwgdXNlRm9jdXMgYXMgJGlzV0U1JHVzZUZvY3VzLCB1c2VGb2N1c1dpdGhpbiBhcyAkaXNXRTUkdXNlRm9jdXNXaXRoaW59IGZyb20gXCJAcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnNcIjtcbmltcG9ydCB7dXNlUmVmIGFzICRpc1dFNSR1c2VSZWYsIHVzZVN0YXRlIGFzICRpc1dFNSR1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgYXMgJGlzV0U1JHVzZUNhbGxiYWNrfSBmcm9tIFwicmVhY3RcIjtcblxuXG5cbmZ1bmN0aW9uICRmN2RjZWZmYzVhZDc3NjhiJGV4cG9ydCQ0ZTMyOGY2MWM1Mzg2ODdmKHByb3BzID0ge30pIHtcbiAgICBsZXQgeyBhdXRvRm9jdXM6IGF1dG9Gb2N1cyA9IGZhbHNlLCBpc1RleHRJbnB1dDogaXNUZXh0SW5wdXQsIHdpdGhpbjogd2l0aGluIH0gPSBwcm9wcztcbiAgICBsZXQgc3RhdGUgPSAoMCwgJGlzV0U1JHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzZWQ6IGZhbHNlLFxuICAgICAgICBpc0ZvY3VzVmlzaWJsZTogYXV0b0ZvY3VzIHx8ICgwLCAkaXNXRTUkaXNGb2N1c1Zpc2libGUpKClcbiAgICB9KTtcbiAgICBsZXQgW2lzRm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSAoMCwgJGlzV0U1JHVzZVN0YXRlKShmYWxzZSk7XG4gICAgbGV0IFtpc0ZvY3VzVmlzaWJsZVN0YXRlLCBzZXRGb2N1c1Zpc2libGVdID0gKDAsICRpc1dFNSR1c2VTdGF0ZSkoKCk9PnN0YXRlLmN1cnJlbnQuaXNGb2N1c2VkICYmIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1Zpc2libGUpO1xuICAgIGxldCB1cGRhdGVTdGF0ZSA9ICgwLCAkaXNXRTUkdXNlQ2FsbGJhY2spKCgpPT5zZXRGb2N1c1Zpc2libGUoc3RhdGUuY3VycmVudC5pc0ZvY3VzZWQgJiYgc3RhdGUuY3VycmVudC5pc0ZvY3VzVmlzaWJsZSksIFtdKTtcbiAgICBsZXQgb25Gb2N1c0NoYW5nZSA9ICgwLCAkaXNXRTUkdXNlQ2FsbGJhY2spKChpc0ZvY3VzZWQpPT57XG4gICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgICAgICBzZXRGb2N1c2VkKGlzRm9jdXNlZCk7XG4gICAgICAgIHVwZGF0ZVN0YXRlKCk7XG4gICAgfSwgW1xuICAgICAgICB1cGRhdGVTdGF0ZVxuICAgIF0pO1xuICAgICgwLCAkaXNXRTUkdXNlRm9jdXNWaXNpYmxlTGlzdGVuZXIpKChpc0ZvY3VzVmlzaWJsZSk9PntcbiAgICAgICAgc3RhdGUuY3VycmVudC5pc0ZvY3VzVmlzaWJsZSA9IGlzRm9jdXNWaXNpYmxlO1xuICAgICAgICB1cGRhdGVTdGF0ZSgpO1xuICAgIH0sIFtdLCB7XG4gICAgICAgIGlzVGV4dElucHV0OiBpc1RleHRJbnB1dFxuICAgIH0pO1xuICAgIGxldCB7IGZvY3VzUHJvcHM6IGZvY3VzUHJvcHMgfSA9ICgwLCAkaXNXRTUkdXNlRm9jdXMpKHtcbiAgICAgICAgaXNEaXNhYmxlZDogd2l0aGluLFxuICAgICAgICBvbkZvY3VzQ2hhbmdlOiBvbkZvY3VzQ2hhbmdlXG4gICAgfSk7XG4gICAgbGV0IHsgZm9jdXNXaXRoaW5Qcm9wczogZm9jdXNXaXRoaW5Qcm9wcyB9ID0gKDAsICRpc1dFNSR1c2VGb2N1c1dpdGhpbikoe1xuICAgICAgICBpc0Rpc2FibGVkOiAhd2l0aGluLFxuICAgICAgICBvbkZvY3VzV2l0aGluQ2hhbmdlOiBvbkZvY3VzQ2hhbmdlXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgIGlzRm9jdXNWaXNpYmxlOiBpc0ZvY3VzVmlzaWJsZVN0YXRlLFxuICAgICAgICBmb2N1c1Byb3BzOiB3aXRoaW4gPyBmb2N1c1dpdGhpblByb3BzIDogZm9jdXNQcm9wc1xuICAgIH07XG59XG5cblxuZXhwb3J0IHskZjdkY2VmZmM1YWQ3NzY4YiRleHBvcnQkNGUzMjhmNjFjNTM4Njg3ZiBhcyB1c2VGb2N1c1Jpbmd9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXNSaW5nLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocus.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useFocus.mjs ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocus: function() { return /* binding */ $a1ea59d68270f0dd$export$f8168d8dd8fd66e6; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_1__.useSyntheticBlurEvent)(onBlur);\n const onFocus = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n const ownerDocument = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.getOwnerDocument)(e.target);\n if (e.target === e.currentTarget && ownerDocument.activeElement === e.target) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\n\n//# sourceMappingURL=useFocus.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1cy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUErRjtBQUN2QztBQUNzQjs7QUFFOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0EsVUFBVSxpR0FBaUc7QUFDM0csdUJBQXVCLDhDQUFrQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw2REFBeUM7QUFDMUUsd0JBQXdCLDhDQUFrQjtBQUMxQztBQUNBO0FBQ0Esa0NBQWtDLCtEQUF1QjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUcrRDtBQUMvRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXMubWpzPzcwYjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VTeW50aGV0aWNCbHVyRXZlbnQgYXMgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2N9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHt1c2VDYWxsYmFjayBhcyAkaGYwbGokdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtnZXRPd25lckRvY3VtZW50IGFzICRoZjBsaiRnZXRPd25lckRvY3VtZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIC8vIFBvcnRpb25zIG9mIHRoZSBjb2RlIGluIHRoaXMgZmlsZSBhcmUgYmFzZWQgb24gY29kZSBmcm9tIHJlYWN0LlxuLy8gT3JpZ2luYWwgbGljZW5zaW5nIGZvciB0aGUgZm9sbG93aW5nIGNhbiBiZSBmb3VuZCBpbiB0aGVcbi8vIE5PVElDRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL2NjN2MxYWVjZTQ2YTZiNjliNDE5NThkNzMxZTBmZDI3Yzk0YmZjNmMvcGFja2FnZXMvcmVhY3QtaW50ZXJhY3Rpb25zXG5cblxuXG5mdW5jdGlvbiAkYTFlYTU5ZDY4MjcwZjBkZCRleHBvcnQkZjgxNjhkOGRkOGZkNjZlNihwcm9wcykge1xuICAgIGxldCB7IGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsIG9uRm9jdXM6IG9uRm9jdXNQcm9wLCBvbkJsdXI6IG9uQmx1clByb3AsIG9uRm9jdXNDaGFuZ2U6IG9uRm9jdXNDaGFuZ2UgfSA9IHByb3BzO1xuICAgIGNvbnN0IG9uQmx1ciA9ICgwLCAkaGYwbGokdXNlQ2FsbGJhY2spKChlKT0+e1xuICAgICAgICBpZiAoZS50YXJnZXQgPT09IGUuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uQmx1clByb3ApIG9uQmx1clByb3AoZSk7XG4gICAgICAgICAgICBpZiAob25Gb2N1c0NoYW5nZSkgb25Gb2N1c0NoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25CbHVyUHJvcCxcbiAgICAgICAgb25Gb2N1c0NoYW5nZVxuICAgIF0pO1xuICAgIGNvbnN0IG9uU3ludGhldGljRm9jdXMgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MpKG9uQmx1cik7XG4gICAgY29uc3Qgb25Gb2N1cyA9ICgwLCAkaGYwbGokdXNlQ2FsbGJhY2spKChlKT0+e1xuICAgICAgICAvLyBEb3VibGUgY2hlY2sgdGhhdCBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFjdHVhbGx5IG1hdGNoZXMgZS50YXJnZXQgaW4gY2FzZSBhIHByZXZpb3VzbHkgY2hhaW5lZFxuICAgICAgICAvLyBmb2N1cyBoYW5kbGVyIGFscmVhZHkgbW92ZWQgZm9jdXMgc29tZXdoZXJlIGVsc2UuXG4gICAgICAgIGNvbnN0IG93bmVyRG9jdW1lbnQgPSAoMCwgJGhmMGxqJGdldE93bmVyRG9jdW1lbnQpKGUudGFyZ2V0KTtcbiAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBlLmN1cnJlbnRUYXJnZXQgJiYgb3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNQcm9wKSBvbkZvY3VzUHJvcChlKTtcbiAgICAgICAgICAgIGlmIChvbkZvY3VzQ2hhbmdlKSBvbkZvY3VzQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgb25TeW50aGV0aWNGb2N1cyhlKTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25Gb2N1c0NoYW5nZSxcbiAgICAgICAgb25Gb2N1c1Byb3AsXG4gICAgICAgIG9uU3ludGhldGljRm9jdXNcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmb2N1c1Byb3BzOiB7XG4gICAgICAgICAgICBvbkZvY3VzOiAhaXNEaXNhYmxlZCAmJiAob25Gb2N1c1Byb3AgfHwgb25Gb2N1c0NoYW5nZSB8fCBvbkJsdXJQcm9wKSA/IG9uRm9jdXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBvbkJsdXI6ICFpc0Rpc2FibGVkICYmIChvbkJsdXJQcm9wIHx8IG9uRm9jdXNDaGFuZ2UpID8gb25CbHVyIDogdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7JGExZWE1OWQ2ODI3MGYwZGQkZXhwb3J0JGY4MTY4ZDhkZDhmZDY2ZTYgYXMgdXNlRm9jdXN9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXMubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocus.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs": -/*!************************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addWindowFocusTracking: function() { return /* binding */ $507fabe10e71c6fb$export$2f1888112f558a7d; },\n/* harmony export */ getInteractionModality: function() { return /* binding */ $507fabe10e71c6fb$export$630ff653c5ada6a9; },\n/* harmony export */ hasSetupGlobalListeners: function() { return /* binding */ $507fabe10e71c6fb$export$d90243b58daecda7; },\n/* harmony export */ isFocusVisible: function() { return /* binding */ $507fabe10e71c6fb$export$b9b3dfddab17db27; },\n/* harmony export */ setInteractionModality: function() { return /* binding */ $507fabe10e71c6fb$export$8397ddfc504fdb9a; },\n/* harmony export */ useFocusVisible: function() { return /* binding */ $507fabe10e71c6fb$export$ffd9e5021c1fb2d6; },\n/* harmony export */ useFocusVisibleListener: function() { return /* binding */ $507fabe10e71c6fb$export$ec71b4b83ac08ec3; },\n/* harmony export */ useInteractionModality: function() { return /* binding */ $507fabe10e71c6fb$export$98e20ec92f614cfe; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_ssr__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-aria/ssr */ \"(app-pages-browser)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs\");\n\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nlet $507fabe10e71c6fb$var$currentModality = null;\nlet $507fabe10e71c6fb$var$changeHandlers = new Set();\nlet $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\nlet $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {\n for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */ function $507fabe10e71c6fb$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.isMac)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $507fabe10e71c6fb$var$handleKeyboardEvent(e) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n if ($507fabe10e71c6fb$var$isValidKey(e)) {\n $507fabe10e71c6fb$var$currentModality = 'keyboard';\n $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n $507fabe10e71c6fb$var$currentModality = 'pointer';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handleClickEvent(e) {\n if ((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.isVirtualClick)(e)) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n }\n}\nfunction $507fabe10e71c6fb$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n if (e.target === window || e.target === document) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n $507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);\n }\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n}\nfunction $507fabe10e71c6fb$var$handleWindowBlur() {\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {\n if (typeof window === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element))) return;\n const windowObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element);\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function() {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n // Add unmount handler\n windowObject.addEventListener('beforeunload', ()=>{\n $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);\n }, {\n once: true\n });\n $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {\n focus: focus\n });\n}\nconst $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n const windowObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element);\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;\n windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;\n documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $507fabe10e71c6fb$export$2f1888112f558a7d(element) {\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n let loadListener;\n if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n else {\n loadListener = ()=>{\n $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n };\n documentObject.addEventListener('DOMContentLoaded', loadListener);\n }\n return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();\nfunction $507fabe10e71c6fb$export$b9b3dfddab17db27() {\n return $507fabe10e71c6fb$var$currentModality !== 'pointer';\n}\nfunction $507fabe10e71c6fb$export$630ff653c5ada6a9() {\n return $507fabe10e71c6fb$var$currentModality;\n}\nfunction $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {\n $507fabe10e71c6fb$var$currentModality = modality;\n $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);\n}\nfunction $507fabe10e71c6fb$export$98e20ec92f614cfe() {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)($507fabe10e71c6fb$var$currentModality);\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let handler = ()=>{\n setModality($507fabe10e71c6fb$var$currentModality);\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n }, []);\n return (0, _react_aria_ssr__WEBPACK_IMPORTED_MODULE_4__.useIsSSR)() ? null : modality;\n}\nconst $507fabe10e71c6fb$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n var _e_target;\n const IHTMLInputElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;\n const IHTMLTextAreaElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;\n const IHTMLElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;\n const IKeyboardEvent = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;\n isTextInput = isTextInput || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.type) || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLTextAreaElement || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLElement && (e === null || e === void 0 ? void 0 : e.target.isContentEditable);\n return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $507fabe10e71c6fb$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(autoFocus || $507fabe10e71c6fb$export$b9b3dfddab17db27());\n $507fabe10e71c6fb$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let handler = (modality, e)=>{\n if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;\n fn($507fabe10e71c6fb$export$b9b3dfddab17db27());\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\n\n//# sourceMappingURL=useFocusVisible.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1Zpc2libGUubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUw7QUFDdEc7QUFDckI7O0FBRTVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0EsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0Isb0RBQVk7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLDZEQUFxQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyRkFBMkYsNkRBQXFCO0FBQ2hILDZCQUE2Qiw2REFBcUI7QUFDbEQsK0JBQStCLCtEQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLDZCQUE2Qiw2REFBcUI7QUFDbEQsK0JBQStCLCtEQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsK0RBQXVCO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLDJDQUFlO0FBQ3JELFFBQVEsNENBQWdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLGVBQWUscURBQWU7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRSw2REFBcUI7QUFDdkYscUVBQXFFLDZEQUFxQjtBQUMxRiw2REFBNkQsNkRBQXFCO0FBQ2xGLCtEQUErRCw2REFBcUI7QUFDcEY7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEO0FBQzdELFVBQVUsaURBQWlEO0FBQzNELHFEQUFxRCwyQ0FBZTtBQUNwRTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRDQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdtaUI7QUFDbmlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1Zpc2libGUubWpzPzkwZjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc01hYyBhcyAkMjhBblIkaXNNYWMsIGlzVmlydHVhbENsaWNrIGFzICQyOEFuUiRpc1ZpcnR1YWxDbGljaywgZ2V0T3duZXJXaW5kb3cgYXMgJDI4QW5SJGdldE93bmVyV2luZG93LCBnZXRPd25lckRvY3VtZW50IGFzICQyOEFuUiRnZXRPd25lckRvY3VtZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcbmltcG9ydCB7dXNlU3RhdGUgYXMgJDI4QW5SJHVzZVN0YXRlLCB1c2VFZmZlY3QgYXMgJDI4QW5SJHVzZUVmZmVjdH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZUlzU1NSIGFzICQyOEFuUiR1c2VJc1NTUn0gZnJvbSBcIkByZWFjdC1hcmlhL3NzclwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG5cbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gbnVsbDtcbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMgPSBuZXcgU2V0KCk7XG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcgPSBuZXcgTWFwKCk7IC8vIFdlIHVzZSBhIG1hcCBoZXJlIHRvIHN1cHBvcnQgc2V0dGluZyBldmVudCBsaXN0ZW5lcnMgYWNyb3NzIG11bHRpcGxlIGRvY3VtZW50IG9iamVjdHMuXG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSBmYWxzZTtcbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzQmx1cnJlZFdpbmRvd1JlY2VudGx5ID0gZmFsc2U7XG4vLyBPbmx5IFRhYiBvciBFc2Mga2V5cyB3aWxsIG1ha2UgZm9jdXMgdmlzaWJsZSBvbiB0ZXh0IGlucHV0IGVsZW1lbnRzXG5jb25zdCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkRk9DVVNfVklTSUJMRV9JTlBVVF9LRVlTID0ge1xuICAgIFRhYjogdHJ1ZSxcbiAgICBFc2NhcGU6IHRydWVcbn07XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKG1vZGFsaXR5LCBlKSB7XG4gICAgZm9yIChsZXQgaGFuZGxlciBvZiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMpaGFuZGxlcihtb2RhbGl0eSwgZSk7XG59XG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYSBLZXlib2FyZEV2ZW50IGlzIHVubW9kaWZpZWQgYW5kIGNvdWxkIG1ha2Uga2V5Ym9hcmQgZm9jdXMgc3R5bGVzIHZpc2libGUuXG4gKi8gZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGlzVmFsaWRLZXkoZSkge1xuICAgIC8vIENvbnRyb2wgYW5kIFNoaWZ0IGtleXMgdHJpZ2dlciB3aGVuIG5hdmlnYXRpbmcgYmFjayB0byB0aGUgdGFiIHdpdGgga2V5Ym9hcmQuXG4gICAgcmV0dXJuICEoZS5tZXRhS2V5IHx8ICEoMCwgJDI4QW5SJGlzTWFjKSgpICYmIGUuYWx0S2V5IHx8IGUuY3RybEtleSB8fCBlLmtleSA9PT0gJ0NvbnRyb2wnIHx8IGUua2V5ID09PSAnU2hpZnQnIHx8IGUua2V5ID09PSAnTWV0YScpO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUtleWJvYXJkRXZlbnQoZSkge1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gdHJ1ZTtcbiAgICBpZiAoJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGlzVmFsaWRLZXkoZSkpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9ICdrZXlib2FyZCc7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0cmlnZ2VyQ2hhbmdlSGFuZGxlcnMoJ2tleWJvYXJkJywgZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudChlKSB7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9ICdwb2ludGVyJztcbiAgICBpZiAoZS50eXBlID09PSAnbW91c2Vkb3duJyB8fCBlLnR5cGUgPT09ICdwb2ludGVyZG93bicpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKCdwb2ludGVyJywgZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUNsaWNrRXZlbnQoZSkge1xuICAgIGlmICgoMCwgJDI4QW5SJGlzVmlydHVhbENsaWNrKShlKSkge1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IHRydWU7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgPSAndmlydHVhbCc7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUZvY3VzRXZlbnQoZSkge1xuICAgIC8vIEZpcmVmb3ggZmlyZXMgdHdvIGV4dHJhIGZvY3VzIGV2ZW50cyB3aGVuIHRoZSB1c2VyIGZpcnN0IGNsaWNrcyBpbnRvIGFuIGlmcmFtZTpcbiAgICAvLyBmaXJzdCBvbiB0aGUgd2luZG93LCB0aGVuIG9uIHRoZSBkb2N1bWVudC4gV2UgaWdub3JlIHRoZXNlIGV2ZW50cyBzbyB0aGV5IGRvbid0XG4gICAgLy8gY2F1c2Uga2V5Ym9hcmQgZm9jdXMgcmluZ3MgdG8gYXBwZWFyLlxuICAgIGlmIChlLnRhcmdldCA9PT0gd2luZG93IHx8IGUudGFyZ2V0ID09PSBkb2N1bWVudCkgcmV0dXJuO1xuICAgIC8vIElmIGEgZm9jdXMgZXZlbnQgb2NjdXJzIHdpdGhvdXQgYSBwcmVjZWRpbmcga2V5Ym9hcmQgb3IgcG9pbnRlciBldmVudCwgc3dpdGNoIHRvIHZpcnR1YWwgbW9kYWxpdHkuXG4gICAgLy8gVGhpcyBvY2N1cnMsIGZvciBleGFtcGxlLCB3aGVuIG5hdmlnYXRpbmcgYSBmb3JtIHdpdGggdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBvbiBpT1MuXG4gICAgaWYgKCEkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0JsdXJyZWRXaW5kb3dSZWNlbnRseSkge1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gJ3ZpcnR1YWwnO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKCd2aXJ0dWFsJywgZSk7XG4gICAgfVxuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gZmFsc2U7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0JsdXJyZWRXaW5kb3dSZWNlbnRseSA9IGZhbHNlO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVdpbmRvd0JsdXIoKSB7XG4gICAgLy8gV2hlbiB0aGUgd2luZG93IGlzIGJsdXJyZWQsIHJlc2V0IHN0YXRlLiBUaGlzIGlzIG5lY2Vzc2FyeSB3aGVuIHRhYmJpbmcgb3V0IG9mIHRoZSB3aW5kb3csXG4gICAgLy8gZm9yIGV4YW1wbGUsIHNpbmNlIGEgc3Vic2VxdWVudCBmb2N1cyBldmVudCB3b24ndCBiZSBmaXJlZC5cbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IGZhbHNlO1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNCbHVycmVkV2luZG93UmVjZW50bHkgPSB0cnVlO1xufVxuLyoqXG4gKiBTZXR1cCBnbG9iYWwgZXZlbnQgbGlzdGVuZXJzIHRvIGNvbnRyb2wgd2hlbiBrZXlib2FyZCBmb2N1cyBzdHlsZSBzaG91bGQgYmUgdmlzaWJsZS5cbiAqLyBmdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cyhlbGVtZW50KSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmdldCgoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KSkpIHJldHVybjtcbiAgICBjb25zdCB3aW5kb3dPYmplY3QgPSAoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KTtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgLy8gUHJvZ3JhbW1hdGljIGZvY3VzKCkgY2FsbHMgc2hvdWxkbid0IGFmZmVjdCB0aGUgY3VycmVudCBpbnB1dCBtb2RhbGl0eS5cbiAgICAvLyBIb3dldmVyLCB3ZSBuZWVkIHRvIGRldGVjdCBvdGhlciBjYXNlcyB3aGVuIGEgZm9jdXMgZXZlbnQgb2NjdXJzIHdpdGhvdXRcbiAgICAvLyBhIHByZWNlZGluZyB1c2VyIGV2ZW50IChlLmcuIHNjcmVlbiByZWFkZXIgZm9jdXMpLiBPdmVycmlkaW5nIHRoZSBmb2N1c1xuICAgIC8vIG1ldGhvZCBvbiBIVE1MRWxlbWVudC5wcm90b3R5cGUgaXMgYSBiaXQgaGFja3ksIGJ1dCB3b3Jrcy5cbiAgICBsZXQgZm9jdXMgPSB3aW5kb3dPYmplY3QuSFRNTEVsZW1lbnQucHJvdG90eXBlLmZvY3VzO1xuICAgIHdpbmRvd09iamVjdC5IVE1MRWxlbWVudC5wcm90b3R5cGUuZm9jdXMgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICBmb2N1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVDbGlja0V2ZW50LCB0cnVlKTtcbiAgICAvLyBSZWdpc3RlciBmb2N1cyBldmVudHMgb24gdGhlIHdpbmRvdyBzbyB0aGV5IGFyZSBzdXJlIHRvIGhhcHBlblxuICAgIC8vIGJlZm9yZSBSZWFjdCdzIGV2ZW50IGxpc3RlbmVycyAocmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnQpLlxuICAgIHdpbmRvd09iamVjdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVGb2N1c0V2ZW50LCB0cnVlKTtcbiAgICB3aW5kb3dPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVXaW5kb3dCbHVyLCBmYWxzZSk7XG4gICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgICAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH1cbiAgICAvLyBBZGQgdW5tb3VudCBoYW5kbGVyXG4gICAgd2luZG93T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsICgpPT57XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0ZWFyRG93bldpbmRvd0ZvY3VzVHJhY2tpbmcoZWxlbWVudCk7XG4gICAgfSwge1xuICAgICAgICBvbmNlOiB0cnVlXG4gICAgfSk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcuc2V0KHdpbmRvd09iamVjdCwge1xuICAgICAgICBmb2N1czogZm9jdXNcbiAgICB9KTtcbn1cbmNvbnN0ICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0ZWFyRG93bldpbmRvd0ZvY3VzVHJhY2tpbmcgPSAoZWxlbWVudCwgbG9hZExpc3RlbmVyKT0+e1xuICAgIGNvbnN0IHdpbmRvd09iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJXaW5kb3cpKGVsZW1lbnQpO1xuICAgIGNvbnN0IGRvY3VtZW50T2JqZWN0ID0gKDAsICQyOEFuUiRnZXRPd25lckRvY3VtZW50KShlbGVtZW50KTtcbiAgICBpZiAobG9hZExpc3RlbmVyKSBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbG9hZExpc3RlbmVyKTtcbiAgICBpZiAoISQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3Lmhhcyh3aW5kb3dPYmplY3QpKSByZXR1cm47XG4gICAgd2luZG93T2JqZWN0LkhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cyA9ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmdldCh3aW5kb3dPYmplY3QpLmZvY3VzO1xuICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlS2V5Ym9hcmRFdmVudCwgdHJ1ZSk7XG4gICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlS2V5Ym9hcmRFdmVudCwgdHJ1ZSk7XG4gICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlQ2xpY2tFdmVudCwgdHJ1ZSk7XG4gICAgd2luZG93T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUZvY3VzRXZlbnQsIHRydWUpO1xuICAgIHdpbmRvd09iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVdpbmRvd0JsdXIsIGZhbHNlKTtcbiAgICBpZiAodHlwZW9mIFBvaW50ZXJFdmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcm1vdmUnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgICAgICBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgfVxuICAgICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmRlbGV0ZSh3aW5kb3dPYmplY3QpO1xufTtcbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQyZjE4ODgxMTJmNTU4YTdkKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgbGV0IGxvYWRMaXN0ZW5lcjtcbiAgICBpZiAoZG9jdW1lbnRPYmplY3QucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnKSAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cyhlbGVtZW50KTtcbiAgICBlbHNlIHtcbiAgICAgICAgbG9hZExpc3RlbmVyID0gKCk9PntcbiAgICAgICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRzZXR1cEdsb2JhbEZvY3VzRXZlbnRzKGVsZW1lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbG9hZExpc3RlbmVyKTtcbiAgICB9XG4gICAgcmV0dXJuICgpPT4kNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdGVhckRvd25XaW5kb3dGb2N1c1RyYWNraW5nKGVsZW1lbnQsIGxvYWRMaXN0ZW5lcik7XG59XG4vLyBTZXJ2ZXItc2lkZSByZW5kZXJpbmcgZG9lcyBub3QgaGF2ZSB0aGUgZG9jdW1lbnQgb2JqZWN0IGRlZmluZWRcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHNcbmlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkMmYxODg4MTEyZjU1OGE3ZCgpO1xuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcoKSB7XG4gICAgcmV0dXJuICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgIT09ICdwb2ludGVyJztcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQ2MzBmZjY1M2M1YWRhNmE5KCkge1xuICAgIHJldHVybiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5O1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JDgzOTdkZGZjNTA0ZmRiOWEobW9kYWxpdHkpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gbW9kYWxpdHk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHRyaWdnZXJDaGFuZ2VIYW5kbGVycyhtb2RhbGl0eSwgbnVsbCk7XG59XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkOThlMjBlYzkyZjYxNGNmZSgpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cygpO1xuICAgIGxldCBbbW9kYWxpdHksIHNldE1vZGFsaXR5XSA9ICgwLCAkMjhBblIkdXNlU3RhdGUpKCQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkpO1xuICAgICgwLCAkMjhBblIkdXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBsZXQgaGFuZGxlciA9ICgpPT57XG4gICAgICAgICAgICBzZXRNb2RhbGl0eSgkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5KTtcbiAgICAgICAgfTtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGNoYW5nZUhhbmRsZXJzLmFkZChoYW5kbGVyKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMuZGVsZXRlKGhhbmRsZXIpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gKDAsICQyOEFuUiR1c2VJc1NTUikoKSA/IG51bGwgOiBtb2RhbGl0eTtcbn1cbmNvbnN0ICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRub25UZXh0SW5wdXRUeXBlcyA9IG5ldyBTZXQoW1xuICAgICdjaGVja2JveCcsXG4gICAgJ3JhZGlvJyxcbiAgICAncmFuZ2UnLFxuICAgICdjb2xvcicsXG4gICAgJ2ZpbGUnLFxuICAgICdpbWFnZScsXG4gICAgJ2J1dHRvbicsXG4gICAgJ3N1Ym1pdCcsXG4gICAgJ3Jlc2V0J1xuXSk7XG4vKipcbiAqIElmIHRoaXMgaXMgYXR0YWNoZWQgdG8gdGV4dCBpbnB1dCBjb21wb25lbnQsIHJldHVybiBpZiB0aGUgZXZlbnQgaXMgYSBmb2N1cyBldmVudCAoVGFiL0VzY2FwZSBrZXlzIHByZXNzZWQpIHNvIHRoYXRcbiAqIGZvY3VzIHZpc2libGUgc3R5bGUgY2FuIGJlIHByb3Blcmx5IHNldC5cbiAqLyBmdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaXNLZXlib2FyZEZvY3VzRXZlbnQoaXNUZXh0SW5wdXQsIG1vZGFsaXR5LCBlKSB7XG4gICAgdmFyIF9lX3RhcmdldDtcbiAgICBjb25zdCBJSFRNTElucHV0RWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTElucHV0RWxlbWVudCA6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgSUhUTUxUZXh0QXJlYUVsZW1lbnQgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/ICgwLCAkMjhBblIkZ2V0T3duZXJXaW5kb3cpKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpLkhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICAgIGNvbnN0IElIVE1MRWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTEVsZW1lbnQgOiBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBJS2V5Ym9hcmRFdmVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuS2V5Ym9hcmRFdmVudCA6IEtleWJvYXJkRXZlbnQ7XG4gICAgaXNUZXh0SW5wdXQgPSBpc1RleHRJbnB1dCB8fCAoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkgaW5zdGFuY2VvZiBJSFRNTElucHV0RWxlbWVudCAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJG5vblRleHRJbnB1dFR5cGVzLmhhcyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfZV90YXJnZXQgPSBlLnRhcmdldCkgPT09IG51bGwgfHwgX2VfdGFyZ2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZV90YXJnZXQudHlwZSkgfHwgKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpIGluc3RhbmNlb2YgSUhUTUxUZXh0QXJlYUVsZW1lbnQgfHwgKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpIGluc3RhbmNlb2YgSUhUTUxFbGVtZW50ICYmIChlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGFyZ2V0LmlzQ29udGVudEVkaXRhYmxlKTtcbiAgICByZXR1cm4gIShpc1RleHRJbnB1dCAmJiBtb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyAmJiBlIGluc3RhbmNlb2YgSUtleWJvYXJkRXZlbnQgJiYgISQ1MDdmYWJlMTBlNzFjNmZiJHZhciRGT0NVU19WSVNJQkxFX0lOUFVUX0tFWVNbZS5rZXldKTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRmZmQ5ZTUwMjFjMWZiMmQ2KHByb3BzID0ge30pIHtcbiAgICBsZXQgeyBpc1RleHRJbnB1dDogaXNUZXh0SW5wdXQsIGF1dG9Gb2N1czogYXV0b0ZvY3VzIH0gPSBwcm9wcztcbiAgICBsZXQgW2lzRm9jdXNWaXNpYmxlU3RhdGUsIHNldEZvY3VzVmlzaWJsZV0gPSAoMCwgJDI4QW5SJHVzZVN0YXRlKShhdXRvRm9jdXMgfHwgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcoKSk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGVjNzFiNGI4M2FjMDhlYzMoKGlzRm9jdXNWaXNpYmxlKT0+e1xuICAgICAgICBzZXRGb2N1c1Zpc2libGUoaXNGb2N1c1Zpc2libGUpO1xuICAgIH0sIFtcbiAgICAgICAgaXNUZXh0SW5wdXRcbiAgICBdLCB7XG4gICAgICAgIGlzVGV4dElucHV0OiBpc1RleHRJbnB1dFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlzRm9jdXNWaXNpYmxlOiBpc0ZvY3VzVmlzaWJsZVN0YXRlXG4gICAgfTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRlYzcxYjRiODNhYzA4ZWMzKGZuLCBkZXBzLCBvcHRzKSB7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHNldHVwR2xvYmFsRm9jdXNFdmVudHMoKTtcbiAgICAoMCwgJDI4QW5SJHVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgbGV0IGhhbmRsZXIgPSAobW9kYWxpdHksIGUpPT57XG4gICAgICAgICAgICBpZiAoISQ1MDdmYWJlMTBlNzFjNmZiJHZhciRpc0tleWJvYXJkRm9jdXNFdmVudCghIShvcHRzID09PSBudWxsIHx8IG9wdHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdHMuaXNUZXh0SW5wdXQpLCBtb2RhbGl0eSwgZSkpIHJldHVybjtcbiAgICAgICAgICAgIGZuKCQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRiOWIzZGZkZGFiMTdkYjI3KCkpO1xuICAgICAgICB9O1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMuYWRkKGhhbmRsZXIpO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjaGFuZ2VIYW5kbGVycy5kZWxldGUoaGFuZGxlcik7XG4gICAgICAgIH07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIGRlcHMpO1xufVxuXG5cbmV4cG9ydCB7JDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcgYXMgaGFzU2V0dXBHbG9iYWxMaXN0ZW5lcnMsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQyZjE4ODgxMTJmNTU4YTdkIGFzIGFkZFdpbmRvd0ZvY3VzVHJhY2tpbmcsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRiOWIzZGZkZGFiMTdkYjI3IGFzIGlzRm9jdXNWaXNpYmxlLCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkNjMwZmY2NTNjNWFkYTZhOSBhcyBnZXRJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkODM5N2RkZmM1MDRmZGI5YSBhcyBzZXRJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkOThlMjBlYzkyZjYxNGNmZSBhcyB1c2VJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkZmZkOWU1MDIxYzFmYjJkNiBhcyB1c2VGb2N1c1Zpc2libGUsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRlYzcxYjRiODNhYzA4ZWMzIGFzIHVzZUZvY3VzVmlzaWJsZUxpc3RlbmVyfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUZvY3VzVmlzaWJsZS5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs": -/*!***********************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocusWithin: function() { return /* binding */ $9ab94262bd0047c7$export$420e68273165f4ec; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $9ab94262bd0047c7$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocusWithin: false\n });\n let onBlur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {\n state.current.isFocusWithin = false;\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state\n ]);\n let onSyntheticFocus = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_1__.useSyntheticBlurEvent)(onBlur);\n let onFocus = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n if (!state.current.isFocusWithin && document.activeElement === e.target) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n // These should not have been null, that would conflict in mergeProps\n onFocus: undefined,\n onBlur: undefined\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\n\n//# sourceMappingURL=useFocusWithin.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1dpdGhpbi5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStGO0FBQ2Q7O0FBRWpGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsVUFBVSw2SEFBNkg7QUFDdkksb0JBQW9CLHlDQUFhO0FBQ2pDO0FBQ0EsS0FBSztBQUNMLHFCQUFxQiw4Q0FBa0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiw2REFBeUM7QUFDeEUsc0JBQXNCLDhDQUFrQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR3FFO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1dpdGhpbi5tanM/MjdhNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZVN5bnRoZXRpY0JsdXJFdmVudCBhcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkNzE1YzY4MmQwOWQ2MzljY30gZnJvbSBcIi4vdXRpbHMubWpzXCI7XG5pbXBvcnQge3VzZVJlZiBhcyAkM2I5UTAkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkM2I5UTAkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG5mdW5jdGlvbiAkOWFiOTQyNjJiZDAwNDdjNyRleHBvcnQkNDIwZTY4MjczMTY1ZjRlYyhwcm9wcykge1xuICAgIGxldCB7IGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsIG9uQmx1cldpdGhpbjogb25CbHVyV2l0aGluLCBvbkZvY3VzV2l0aGluOiBvbkZvY3VzV2l0aGluLCBvbkZvY3VzV2l0aGluQ2hhbmdlOiBvbkZvY3VzV2l0aGluQ2hhbmdlIH0gPSBwcm9wcztcbiAgICBsZXQgc3RhdGUgPSAoMCwgJDNiOVEwJHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzV2l0aGluOiBmYWxzZVxuICAgIH0pO1xuICAgIGxldCBvbkJsdXIgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyIG9uQmx1cldpdGhpbiBhbmQgdGhlbiBpbW1lZGlhdGVseSBvbkZvY3VzV2l0aGluIGFnYWluXG4gICAgICAgIC8vIHdoZW4gbW92aW5nIGZvY3VzIGluc2lkZSB0aGUgZWxlbWVudC4gT25seSB0cmlnZ2VyIGlmIHRoZSBjdXJyZW50VGFyZ2V0IGRvZXNuJ3RcbiAgICAgICAgLy8gaW5jbHVkZSB0aGUgcmVsYXRlZFRhcmdldCAod2hlcmUgZm9jdXMgaXMgbW92aW5nKS5cbiAgICAgICAgaWYgKHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiAmJiAhZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKG9uQmx1cldpdGhpbikgb25CbHVyV2l0aGluKGUpO1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNXaXRoaW5DaGFuZ2UpIG9uRm9jdXNXaXRoaW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkJsdXJXaXRoaW4sXG4gICAgICAgIG9uRm9jdXNXaXRoaW5DaGFuZ2UsXG4gICAgICAgIHN0YXRlXG4gICAgXSk7XG4gICAgbGV0IG9uU3ludGhldGljRm9jdXMgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MpKG9uQmx1cik7XG4gICAgbGV0IG9uRm9jdXMgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gRG91YmxlIGNoZWNrIHRoYXQgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhY3R1YWxseSBtYXRjaGVzIGUudGFyZ2V0IGluIGNhc2UgYSBwcmV2aW91c2x5IGNoYWluZWRcbiAgICAgICAgLy8gZm9jdXMgaGFuZGxlciBhbHJlYWR5IG1vdmVkIGZvY3VzIHNvbWV3aGVyZSBlbHNlLlxuICAgICAgICBpZiAoIXN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNXaXRoaW4pIG9uRm9jdXNXaXRoaW4oZSk7XG4gICAgICAgICAgICBpZiAob25Gb2N1c1dpdGhpbkNoYW5nZSkgb25Gb2N1c1dpdGhpbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiA9IHRydWU7XG4gICAgICAgICAgICBvblN5bnRoZXRpY0ZvY3VzKGUpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkZvY3VzV2l0aGluLFxuICAgICAgICBvbkZvY3VzV2l0aGluQ2hhbmdlLFxuICAgICAgICBvblN5bnRoZXRpY0ZvY3VzXG4gICAgXSk7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHJldHVybiB7XG4gICAgICAgIGZvY3VzV2l0aGluUHJvcHM6IHtcbiAgICAgICAgICAgIC8vIFRoZXNlIHNob3VsZCBub3QgaGF2ZSBiZWVuIG51bGwsIHRoYXQgd291bGQgY29uZmxpY3QgaW4gbWVyZ2VQcm9wc1xuICAgICAgICAgICAgb25Gb2N1czogdW5kZWZpbmVkLFxuICAgICAgICAgICAgb25CbHVyOiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZm9jdXNXaXRoaW5Qcm9wczoge1xuICAgICAgICAgICAgb25Gb2N1czogb25Gb2N1cyxcbiAgICAgICAgICAgIG9uQmx1cjogb25CbHVyXG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7JDlhYjk0MjYyYmQwMDQ3YzckZXhwb3J0JDQyMGU2ODI3MzE2NWY0ZWMgYXMgdXNlRm9jdXNXaXRoaW59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXNXaXRoaW4ubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/useHover.mjs ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useHover: function() { return /* binding */ $6179b936705e76d3$export$ae780daf29e6d456; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered) return;\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state\n ]);\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\n\n//# sourceMappingURL=useHover.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VIb3Zlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBcUk7O0FBRXJJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsMkdBQTJHO0FBQ3JILHNDQUFzQywyQ0FBZTtBQUNyRCxvQkFBb0IseUNBQWE7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsUUFBUSw0Q0FBZ0I7QUFDeEIsVUFBVSwyREFBMkQsTUFBTSwwQ0FBYztBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNENBQWdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHK0Q7QUFDL0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3VzZUhvdmVyLm1qcz85M2Q2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlU3RhdGUgYXMgJEFXeG5UJHVzZVN0YXRlLCB1c2VSZWYgYXMgJEFXeG5UJHVzZVJlZiwgdXNlRWZmZWN0IGFzICRBV3huVCR1c2VFZmZlY3QsIHVzZU1lbW8gYXMgJEFXeG5UJHVzZU1lbW99IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuLy8gaU9TIGZpcmVzIG9uUG9pbnRlckVudGVyIHR3aWNlOiBvbmNlIHdpdGggcG9pbnRlclR5cGU9XCJ0b3VjaFwiIGFuZCBhZ2FpbiB3aXRoIHBvaW50ZXJUeXBlPVwibW91c2VcIi5cbi8vIFdlIHdhbnQgdG8gaWdub3JlIHRoZXNlIGVtdWxhdGVkIGV2ZW50cyBzbyB0aGV5IGRvIG5vdCB0cmlnZ2VyIGhvdmVyIGJlaGF2aW9yLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2MDkuXG5sZXQgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSBmYWxzZTtcbmxldCAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudCA9IDA7XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cygpIHtcbiAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgLy8gQ2xlYXIgZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyBhZnRlciBhIHNob3J0IHRpbWVvdXQuIGlPUyBmaXJlcyBvblBvaW50ZXJFbnRlclxuICAgIC8vIHdpdGggcG9pbnRlclR5cGU9XCJtb3VzZVwiIGltbWVkaWF0ZWx5IGFmdGVyIG9uUG9pbnRlclVwIGFuZCBiZWZvcmUgb25Gb2N1cy4gT24gb3RoZXJcbiAgICAvLyBkZXZpY2VzIHRoYXQgZG9uJ3QgaGF2ZSB0aGlzIHF1aXJrLCB3ZSBkb24ndCB3YW50IHRvIGlnbm9yZSBhIG1vdXNlIGhvdmVyIHNvbWV0aW1lIGluXG4gICAgLy8gdGhlIGRpc3RhbnQgZnV0dXJlIGJlY2F1c2UgYSB1c2VyIHByZXZpb3VzbHkgdG91Y2hlZCB0aGUgZWxlbWVudC5cbiAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gICAgfSwgNTApO1xufVxuZnVuY3Rpb24gJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudChlKSB7XG4gICAgaWYgKGUucG9pbnRlclR5cGUgPT09ICd0b3VjaCcpICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKCk7XG59XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0dXBHbG9iYWxUb3VjaEV2ZW50cygpIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKTtcbiAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudCsrO1xuICAgIHJldHVybiAoKT0+e1xuICAgICAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudC0tO1xuICAgICAgICBpZiAoJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhvdmVyQ291bnQgPiAwKSByZXR1cm47XG4gICAgICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgICAgIGVsc2UgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uICQ2MTc5YjkzNjcwNWU3NmQzJGV4cG9ydCRhZTc4MGRhZjI5ZTZkNDU2KHByb3BzKSB7XG4gICAgbGV0IHsgb25Ib3ZlclN0YXJ0OiBvbkhvdmVyU3RhcnQsIG9uSG92ZXJDaGFuZ2U6IG9uSG92ZXJDaGFuZ2UsIG9uSG92ZXJFbmQ6IG9uSG92ZXJFbmQsIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQgfSA9IHByb3BzO1xuICAgIGxldCBbaXNIb3ZlcmVkLCBzZXRIb3ZlcmVkXSA9ICgwLCAkQVd4blQkdXNlU3RhdGUpKGZhbHNlKTtcbiAgICBsZXQgc3RhdGUgPSAoMCwgJEFXeG5UJHVzZVJlZikoe1xuICAgICAgICBpc0hvdmVyZWQ6IGZhbHNlLFxuICAgICAgICBpZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzOiBmYWxzZSxcbiAgICAgICAgcG9pbnRlclR5cGU6ICcnLFxuICAgICAgICB0YXJnZXQ6IG51bGxcbiAgICB9KS5jdXJyZW50O1xuICAgICgwLCAkQVd4blQkdXNlRWZmZWN0KSgkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0dXBHbG9iYWxUb3VjaEV2ZW50cywgW10pO1xuICAgIGxldCB7IGhvdmVyUHJvcHM6IGhvdmVyUHJvcHMsIHRyaWdnZXJIb3ZlckVuZDogdHJpZ2dlckhvdmVyRW5kIH0gPSAoMCwgJEFXeG5UJHVzZU1lbW8pKCgpPT57XG4gICAgICAgIGxldCB0cmlnZ2VySG92ZXJTdGFydCA9IChldmVudCwgcG9pbnRlclR5cGUpPT57XG4gICAgICAgICAgICBzdGF0ZS5wb2ludGVyVHlwZSA9IHBvaW50ZXJUeXBlO1xuICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQgfHwgcG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHwgc3RhdGUuaXNIb3ZlcmVkIHx8ICFldmVudC5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHJldHVybjtcbiAgICAgICAgICAgIHN0YXRlLmlzSG92ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIHN0YXRlLnRhcmdldCA9IHRhcmdldDtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyU3RhcnQpIG9uSG92ZXJTdGFydCh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2hvdmVyc3RhcnQnLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlOiBwb2ludGVyVHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob25Ib3ZlckNoYW5nZSkgb25Ib3ZlckNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIHNldEhvdmVyZWQodHJ1ZSk7XG4gICAgICAgIH07XG4gICAgICAgIGxldCB0cmlnZ2VySG92ZXJFbmQgPSAoZXZlbnQsIHBvaW50ZXJUeXBlKT0+e1xuICAgICAgICAgICAgc3RhdGUucG9pbnRlclR5cGUgPSAnJztcbiAgICAgICAgICAgIHN0YXRlLnRhcmdldCA9IG51bGw7XG4gICAgICAgICAgICBpZiAocG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHwgIXN0YXRlLmlzSG92ZXJlZCkgcmV0dXJuO1xuICAgICAgICAgICAgc3RhdGUuaXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyRW5kKSBvbkhvdmVyRW5kKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaG92ZXJlbmQnLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlOiBwb2ludGVyVHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob25Ib3ZlckNoYW5nZSkgb25Ib3ZlckNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGhvdmVyUHJvcHMgPSB7fTtcbiAgICAgICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uUG9pbnRlckVudGVyID0gKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKCQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzICYmIGUucG9pbnRlclR5cGUgPT09ICdtb3VzZScpIHJldHVybjtcbiAgICAgICAgICAgICAgICB0cmlnZ2VySG92ZXJTdGFydChlLCBlLnBvaW50ZXJUeXBlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uUG9pbnRlckxlYXZlID0gKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKCFpc0Rpc2FibGVkICYmIGUuY3VycmVudFRhcmdldC5jb250YWlucyhlLnRhcmdldCkpIHRyaWdnZXJIb3ZlckVuZChlLCBlLnBvaW50ZXJUeXBlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uVG91Y2hTdGFydCA9ICgpPT57XG4gICAgICAgICAgICAgICAgc3RhdGUuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlRW50ZXIgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXN0YXRlLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgJiYgISQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKSB0cmlnZ2VySG92ZXJTdGFydChlLCAnbW91c2UnKTtcbiAgICAgICAgICAgICAgICBzdGF0ZS5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlTGVhdmUgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIWlzRGlzYWJsZWQgJiYgZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSkgdHJpZ2dlckhvdmVyRW5kKGUsICdtb3VzZScpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaG92ZXJQcm9wczogaG92ZXJQcm9wcyxcbiAgICAgICAgICAgIHRyaWdnZXJIb3ZlckVuZDogdHJpZ2dlckhvdmVyRW5kXG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBvbkhvdmVyU3RhcnQsXG4gICAgICAgIG9uSG92ZXJDaGFuZ2UsXG4gICAgICAgIG9uSG92ZXJFbmQsXG4gICAgICAgIGlzRGlzYWJsZWQsXG4gICAgICAgIHN0YXRlXG4gICAgXSk7XG4gICAgKDAsICRBV3huVCR1c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIC8vIENhbGwgdGhlIHRyaWdnZXJIb3ZlckVuZCBhcyBzb29uIGFzIGlzRGlzYWJsZWQgY2hhbmdlcyB0byB0cnVlXG4gICAgICAgIC8vIFNhZmUgdG8gY2FsbCB0cmlnZ2VySG92ZXJFbmQsIGl0IHdpbGwgZWFybHkgcmV0dXJuIGlmIHdlIGFyZW4ndCBjdXJyZW50bHkgaG92ZXJpbmdcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHRyaWdnZXJIb3ZlckVuZCh7XG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0OiBzdGF0ZS50YXJnZXRcbiAgICAgICAgfSwgc3RhdGUucG9pbnRlclR5cGUpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbXG4gICAgICAgIGlzRGlzYWJsZWRcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBob3ZlclByb3BzOiBob3ZlclByb3BzLFxuICAgICAgICBpc0hvdmVyZWQ6IGlzSG92ZXJlZFxuICAgIH07XG59XG5cblxuZXhwb3J0IHskNjE3OWI5MzY3MDVlNzZkMyRleHBvcnQkYWU3ODBkYWYyOWU2ZDQ1NiBhcyB1c2VIb3Zlcn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VIb3Zlci5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs": -/*!**************************************************************!*\ - !*** ./node_modules/@react-aria/interactions/dist/utils.mjs ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SyntheticFocusEvent: function() { return /* binding */ $8a9cb279dc87e130$export$905e7fc544a71f36; },\n/* harmony export */ useSyntheticBlurEvent: function() { return /* binding */ $8a9cb279dc87e130$export$715c682d09d639cc; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs\");\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $8a9cb279dc87e130$export$905e7fc544a71f36 {\n isDefaultPrevented() {\n return this.nativeEvent.defaultPrevented;\n }\n preventDefault() {\n this.defaultPrevented = true;\n this.nativeEvent.preventDefault();\n }\n stopPropagation() {\n this.nativeEvent.stopPropagation();\n this.isPropagationStopped = ()=>true;\n }\n isPropagationStopped() {\n return false;\n }\n persist() {}\n constructor(type, nativeEvent){\n this.nativeEvent = nativeEvent;\n this.target = nativeEvent.target;\n this.currentTarget = nativeEvent.currentTarget;\n this.relatedTarget = nativeEvent.relatedTarget;\n this.bubbles = nativeEvent.bubbles;\n this.cancelable = nativeEvent.cancelable;\n this.defaultPrevented = nativeEvent.defaultPrevented;\n this.eventPhase = nativeEvent.eventPhase;\n this.isTrusted = nativeEvent.isTrusted;\n this.timeStamp = nativeEvent.timeStamp;\n this.type = type;\n }\n}\nfunction $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocused: false,\n observer: null\n });\n // Clean up MutationObserver on unmount. See below.\n // eslint-disable-next-line arrow-body-style\n (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n let dispatchBlur = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.useEffectEvent)((e)=>{\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n });\n // This function is called during a React onFocus event.\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = e.target;\n let onBlurHandler = (e)=>{\n stateRef.current.isFocused = false;\n if (target.disabled) // For backward compatibility, dispatch a (fake) React synthetic event.\n dispatchBlur(new $8a9cb279dc87e130$export$905e7fc544a71f36('blur', e));\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener('focusout', onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n var _stateRef_current_observer;\n (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();\n let relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: relatedTargetEl\n }));\n target.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: relatedTargetEl\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n 'disabled'\n ]\n });\n }\n }, [\n dispatchBlur\n ]);\n}\n\n\n\n//# sourceMappingURL=utils.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91dGlscy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBaUY7QUFDb0M7O0FBRXJIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIseUNBQWE7QUFDcEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsUUFBUSw4REFBc0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsMkJBQTJCLDZEQUFxQjtBQUNoRDtBQUNBLEtBQUs7QUFDTDtBQUNBLGVBQWUsOENBQWtCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7O0FBRzhJO0FBQzlJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91dGlscy5tanM/NmUzOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZVJlZiBhcyAkNmRmSWUkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkNmRmSWUkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHt1c2VMYXlvdXRFZmZlY3QgYXMgJDZkZkllJHVzZUxheW91dEVmZmVjdCwgdXNlRWZmZWN0RXZlbnQgYXMgJDZkZkllJHVzZUVmZmVjdEV2ZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuXG5jbGFzcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkOTA1ZTdmYzU0NGE3MWYzNiB7XG4gICAgaXNEZWZhdWx0UHJldmVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkO1xuICAgIH1cbiAgICBwcmV2ZW50RGVmYXVsdCgpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgICBzdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQgPSAoKT0+dHJ1ZTtcbiAgICB9XG4gICAgaXNQcm9wYWdhdGlvblN0b3BwZWQoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcGVyc2lzdCgpIHt9XG4gICAgY29uc3RydWN0b3IodHlwZSwgbmF0aXZlRXZlbnQpe1xuICAgICAgICB0aGlzLm5hdGl2ZUV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnQudGFyZ2V0O1xuICAgICAgICB0aGlzLmN1cnJlbnRUYXJnZXQgPSBuYXRpdmVFdmVudC5jdXJyZW50VGFyZ2V0O1xuICAgICAgICB0aGlzLnJlbGF0ZWRUYXJnZXQgPSBuYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0O1xuICAgICAgICB0aGlzLmJ1YmJsZXMgPSBuYXRpdmVFdmVudC5idWJibGVzO1xuICAgICAgICB0aGlzLmNhbmNlbGFibGUgPSBuYXRpdmVFdmVudC5jYW5jZWxhYmxlO1xuICAgICAgICB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSBuYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkO1xuICAgICAgICB0aGlzLmV2ZW50UGhhc2UgPSBuYXRpdmVFdmVudC5ldmVudFBoYXNlO1xuICAgICAgICB0aGlzLmlzVHJ1c3RlZCA9IG5hdGl2ZUV2ZW50LmlzVHJ1c3RlZDtcbiAgICAgICAgdGhpcy50aW1lU3RhbXAgPSBuYXRpdmVFdmVudC50aW1lU3RhbXA7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgfVxufVxuZnVuY3Rpb24gJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2Mob25CbHVyKSB7XG4gICAgbGV0IHN0YXRlUmVmID0gKDAsICQ2ZGZJZSR1c2VSZWYpKHtcbiAgICAgICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgICAgICAgb2JzZXJ2ZXI6IG51bGxcbiAgICB9KTtcbiAgICAvLyBDbGVhbiB1cCBNdXRhdGlvbk9ic2VydmVyIG9uIHVubW91bnQuIFNlZSBiZWxvdy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXJyb3ctYm9keS1zdHlsZVxuICAgICgwLCAkNmRmSWUkdXNlTGF5b3V0RWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHN0YXRlUmVmLmN1cnJlbnQ7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgaWYgKHN0YXRlLm9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgIHN0YXRlLm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgbGV0IGRpc3BhdGNoQmx1ciA9ICgwLCAkNmRmSWUkdXNlRWZmZWN0RXZlbnQpKChlKT0+e1xuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZSk7XG4gICAgfSk7XG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZHVyaW5nIGEgUmVhY3Qgb25Gb2N1cyBldmVudC5cbiAgICByZXR1cm4gKDAsICQ2ZGZJZSR1c2VDYWxsYmFjaykoKGUpPT57XG4gICAgICAgIC8vIFJlYWN0IGRvZXMgbm90IGZpcmUgb25CbHVyIHdoZW4gYW4gZWxlbWVudCBpcyBkaXNhYmxlZC4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy85MTQyXG4gICAgICAgIC8vIE1vc3QgYnJvd3NlcnMgZmlyZSBhIG5hdGl2ZSBmb2N1c291dCBldmVudCBpbiB0aGlzIGNhc2UsIGV4Y2VwdCBmb3IgRmlyZWZveC4gSW4gdGhhdCBjYXNlLCB3ZSB1c2UgYVxuICAgICAgICAvLyBNdXRhdGlvbk9ic2VydmVyIHRvIHdhdGNoIGZvciB0aGUgZGlzYWJsZWQgYXR0cmlidXRlLCBhbmQgZGlzcGF0Y2ggdGhlc2UgZXZlbnRzIG91cnNlbHZlcy5cbiAgICAgICAgLy8gRm9yIGJyb3dzZXJzIHRoYXQgZG8sIGZvY3Vzb3V0IGZpcmVzIGJlZm9yZSB0aGUgTXV0YXRpb25PYnNlcnZlciwgc28gb25CbHVyIHNob3VsZCBub3QgZmlyZSB0d2ljZS5cbiAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQgfHwgZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCB8fCBlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50LmlzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZS50YXJnZXQ7XG4gICAgICAgICAgICBsZXQgb25CbHVySGFuZGxlciA9IChlKT0+e1xuICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldC5kaXNhYmxlZCkgLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGRpc3BhdGNoIGEgKGZha2UpIFJlYWN0IHN5bnRoZXRpYyBldmVudC5cbiAgICAgICAgICAgICAgICBkaXNwYXRjaEJsdXIobmV3ICQ4YTljYjI3OWRjODdlMTMwJGV4cG9ydCQ5MDVlN2ZjNTQ0YTcxZjM2KCdibHVyJywgZSkpO1xuICAgICAgICAgICAgICAgIC8vIFdlIG5vIGxvbmdlciBuZWVkIHRoZSBNdXRhdGlvbk9ic2VydmVyIG9uY2UgdGhlIHRhcmdldCBpcyBibHVycmVkLlxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0Jywgb25CbHVySGFuZGxlciwge1xuICAgICAgICAgICAgICAgIG9uY2U6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc3RhdGVSZWYuY3VycmVudC5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpPT57XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlUmVmLmN1cnJlbnQuaXNGb2N1c2VkICYmIHRhcmdldC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3N0YXRlUmVmX2N1cnJlbnRfb2JzZXJ2ZXI7XG4gICAgICAgICAgICAgICAgICAgIChfc3RhdGVSZWZfY3VycmVudF9vYnNlcnZlciA9IHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIpID09PSBudWxsIHx8IF9zdGF0ZVJlZl9jdXJyZW50X29ic2VydmVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfc3RhdGVSZWZfY3VycmVudF9vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZWxhdGVkVGFyZ2V0RWwgPSB0YXJnZXQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBudWxsIDogZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEZvY3VzRXZlbnQoJ2JsdXInLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiByZWxhdGVkVGFyZ2V0RWxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRm9jdXNFdmVudCgnZm9jdXNvdXQnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldEVsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQsIHtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogW1xuICAgICAgICAgICAgICAgICAgICAnZGlzYWJsZWQnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoQmx1clxuICAgIF0pO1xufVxuXG5cbmV4cG9ydCB7JDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDkwNWU3ZmM1NDRhNzFmMzYgYXMgU3ludGhldGljRm9jdXNFdmVudCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MgYXMgdXNlU3ludGhldGljQmx1ckV2ZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs": -/*!***********************************************************!*\ - !*** ./node_modules/@react-aria/ssr/dist/SSRProvider.mjs ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SSRProvider: function() { return /* binding */ $b5e257d569688ac6$export$9f8ac96af4b1b2ae; },\n/* harmony export */ useIsSSR: function() { return /* binding */ $b5e257d569688ac6$export$535bd6ca7f90a273; },\n/* harmony export */ useSSRSafeId: function() { return /* binding */ $b5e257d569688ac6$export$619500959fc48b26; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $b5e257d569688ac6$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $b5e257d569688ac6$var$SSRContext = /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createContext($b5e257d569688ac6$var$defaultContext);\nconst $b5e257d569688ac6$var$IsSSRContext = /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createContext(false);\n// This is only used in React < 18.\nfunction $b5e257d569688ac6$var$LegacySSRProvider(props) {\n let cur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n let counter = $b5e257d569688ac6$var$useCounter(cur === $b5e257d569688ac6$var$defaultContext);\n let [isSSR, setIsSSR] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n let value = (0, react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $b5e257d569688ac6$var$defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [\n cur,\n counter\n ]);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$SSRContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$IsSSRContext.Provider, {\n value: isSSR\n }, props.children));\n}\nlet $b5e257d569688ac6$var$warnedAboutSSRProvider = false;\nfunction $b5e257d569688ac6$export$9f8ac96af4b1b2ae(props) {\n if (typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useId'] === 'function') {\n if ( true && !$b5e257d569688ac6$var$warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n $b5e257d569688ac6$var$warnedAboutSSRProvider = true;\n }\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement((0, react__WEBPACK_IMPORTED_MODULE_0__).Fragment, null, props.children);\n }\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$LegacySSRProvider, props);\n}\nlet $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $b5e257d569688ac6$var$componentIds = new WeakMap();\nfunction $b5e257d569688ac6$var$useCounter(isDisabled = false) {\n let ctx = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n let ref = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n // eslint-disable-next-line rulesdir/pure-render\n if (ref.current === null && !isDisabled) {\n var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n // @ts-ignore\n let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = (0, react__WEBPACK_IMPORTED_MODULE_0__).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;\n if (currentOwner) {\n let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);\n if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.\n $b5e257d569688ac6$var$componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n $b5e257d569688ac6$var$componentIds.delete(currentOwner);\n }\n }\n // eslint-disable-next-line rulesdir/pure-render\n ref.current = ++ctx.current;\n }\n // eslint-disable-next-line rulesdir/pure-render\n return ref.current;\n}\nfunction $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {\n let ctx = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM) console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);\n let prefix = ctx === $b5e257d569688ac6$var$defaultContext && \"development\" === 'test' ? 0 : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\nfunction $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {\n // @ts-ignore\n let id = (0, react__WEBPACK_IMPORTED_MODULE_0__).useId();\n let [didSSR] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)($b5e257d569688ac6$export$535bd6ca7f90a273());\n let prefix = didSSR || \"development\" === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\nconst $b5e257d569688ac6$export$619500959fc48b26 = typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useId'] === 'function' ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;\nfunction $b5e257d569688ac6$var$getSnapshot() {\n return false;\n}\nfunction $b5e257d569688ac6$var$getServerSnapshot() {\n return true;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction $b5e257d569688ac6$var$subscribe(onStoreChange) {\n // noop\n return ()=>{};\n}\nfunction $b5e257d569688ac6$export$535bd6ca7f90a273() {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n if (typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useSyncExternalStore'] === 'function') return (0, react__WEBPACK_IMPORTED_MODULE_0__)['useSyncExternalStore']($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$IsSSRContext);\n}\n\n\n\n//# sourceMappingURL=SSRProvider.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9zc3IvZGlzdC9TU1JQcm92aWRlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFnTTs7QUFFaE07QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELGtDQUFZO0FBQ3ZFLDZEQUE2RCxrQ0FBWTtBQUN6RTtBQUNBO0FBQ0Esa0JBQWtCLDZDQUFpQjtBQUNuQztBQUNBLGdDQUFnQywyQ0FBZTtBQUMvQyxvQkFBb0IsMENBQWM7QUFDbEM7QUFDQTtBQUNBLDJFQUEyRSxXQUFXLEdBQUcsUUFBUTtBQUNqRztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxrREFBc0I7QUFDOUI7QUFDQSxLQUFLO0FBQ0wsNkJBQTZCLGtDQUFZO0FBQ3pDO0FBQ0EsS0FBSyxvQkFBb0Isa0NBQVk7QUFDckM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGtDQUFZO0FBQy9CLFlBQVksS0FBK0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGtDQUFZLG9CQUFvQixrQ0FBWTtBQUM3RTtBQUNBLDZCQUE2QixrQ0FBWTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiw2Q0FBaUI7QUFDbkMsa0JBQWtCLHlDQUFhO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGLGtDQUFZO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsNkNBQWlCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFLGFBQW9CLGNBQWMsQ0FBWSxnQkFBZ0IsV0FBVztBQUMxSSwyQkFBMkIsT0FBTyxHQUFHLFFBQVE7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGtDQUFZO0FBQzdCLHVCQUF1QiwyQ0FBZTtBQUN0QywyQkFBMkIsYUFBb0IsMENBQTBDLDRDQUE0QztBQUNySSwyQkFBMkIsT0FBTyxHQUFHLEdBQUc7QUFDeEM7QUFDQSw2REFBNkQsa0NBQVk7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsa0NBQVkscURBQXFELGtDQUFZO0FBQ2hHO0FBQ0EsZUFBZSw2Q0FBaUI7QUFDaEM7OztBQUdvTDtBQUNwTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvc3NyL2Rpc3QvU1NSUHJvdmlkZXIubWpzP2E0YmEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQ2NzBnQiRyZWFjdCwge3VzZUNvbnRleHQgYXMgJDY3MGdCJHVzZUNvbnRleHQsIHVzZVN0YXRlIGFzICQ2NzBnQiR1c2VTdGF0ZSwgdXNlTWVtbyBhcyAkNjcwZ0IkdXNlTWVtbywgdXNlTGF5b3V0RWZmZWN0IGFzICQ2NzBnQiR1c2VMYXlvdXRFZmZlY3QsIHVzZVJlZiBhcyAkNjcwZ0IkdXNlUmVmfSBmcm9tIFwicmVhY3RcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIC8vIFdlIG11c3QgYXZvaWQgYSBjaXJjdWxhciBkZXBlbmRlbmN5IHdpdGggQHJlYWN0LWFyaWEvdXRpbHMsIGFuZCB0aGlzIHVzZUxheW91dEVmZmVjdCBpc1xuLy8gZ3VhcmRlZCBieSBhIGNoZWNrIHRoYXQgaXQgb25seSBydW5zIG9uIHRoZSBjbGllbnQgc2lkZS5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBydWxlc2Rpci91c2VMYXlvdXRFZmZlY3RSdWxlXG5cbi8vIERlZmF1bHQgY29udGV4dCB2YWx1ZSB0byB1c2UgaW4gY2FzZSB0aGVyZSBpcyBubyBTU1JQcm92aWRlci4gVGhpcyBpcyBmaW5lIGZvclxuLy8gY2xpZW50LW9ubHkgYXBwcy4gSW4gb3JkZXIgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb3BpZXMgb2YgUmVhY3QgQXJpYSBwb3RlbnRpYWxseVxuLy8gYmVpbmcgb24gdGhlIHBhZ2UgYXQgb25jZSwgdGhlIHByZWZpeCBpcyBzZXQgdG8gYSByYW5kb20gbnVtYmVyLiBTU1JQcm92aWRlclxuLy8gd2lsbCByZXNldCB0aGlzIHRvIHplcm8gZm9yIGNvbnNpc3RlbmN5IGJldHdlZW4gc2VydmVyIGFuZCBjbGllbnQsIHNvIGluIHRoZVxuLy8gU1NSIGNhc2UgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IEFyaWEgaXMgbm90IHN1cHBvcnRlZC5cbmNvbnN0ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCA9IHtcbiAgICBwcmVmaXg6IFN0cmluZyhNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwMCkpLFxuICAgIGN1cnJlbnQ6IDBcbn07XG5jb25zdCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkU1NSQ29udGV4dCA9IC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlQ29udGV4dCgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZGVmYXVsdENvbnRleHQpO1xuY29uc3QgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJElzU1NSQ29udGV4dCA9IC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlQ29udGV4dChmYWxzZSk7XG4vLyBUaGlzIGlzIG9ubHkgdXNlZCBpbiBSZWFjdCA8IDE4LlxuZnVuY3Rpb24gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJExlZ2FjeVNTUlByb3ZpZGVyKHByb3BzKSB7XG4gICAgbGV0IGN1ciA9ICgwLCAkNjcwZ0IkdXNlQ29udGV4dCkoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJFNTUkNvbnRleHQpO1xuICAgIGxldCBjb3VudGVyID0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHVzZUNvdW50ZXIoY3VyID09PSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZGVmYXVsdENvbnRleHQpO1xuICAgIGxldCBbaXNTU1IsIHNldElzU1NSXSA9ICgwLCAkNjcwZ0IkdXNlU3RhdGUpKHRydWUpO1xuICAgIGxldCB2YWx1ZSA9ICgwLCAkNjcwZ0IkdXNlTWVtbykoKCk9Pih7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBmaXJzdCBTU1JQcm92aWRlciwgc3RhcnQgd2l0aCBhbiBlbXB0eSBzdHJpbmcgcHJlZml4LCBvdGhlcndpc2VcbiAgICAgICAgICAgIC8vIGFwcGVuZCBhbmQgaW5jcmVtZW50IHRoZSBjb3VudGVyLlxuICAgICAgICAgICAgcHJlZml4OiBjdXIgPT09ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCA/ICcnIDogYCR7Y3VyLnByZWZpeH0tJHtjb3VudGVyfWAsXG4gICAgICAgICAgICBjdXJyZW50OiAwXG4gICAgICAgIH0pLCBbXG4gICAgICAgIGN1cixcbiAgICAgICAgY291bnRlclxuICAgIF0pO1xuICAgIC8vIElmIG9uIHRoZSBjbGllbnQsIGFuZCB0aGUgY29tcG9uZW50IHdhcyBpbml0aWFsbHkgc2VydmVyIHJlbmRlcmVkLFxuICAgIC8vIHRoZW4gc2NoZWR1bGUgYSBsYXlvdXQgZWZmZWN0IHRvIHVwZGF0ZSB0aGUgY29tcG9uZW50IGFmdGVyIGh5ZHJhdGlvbi5cbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgLy8gVGhpcyBpZiBzdGF0ZW1lbnQgdGVjaG5pY2FsbHkgYnJlYWtzIHRoZSBydWxlcyBvZiBob29rcywgYnV0IGlzIHNhZmVcbiAgICAvLyBiZWNhdXNlIHRoZSBjb25kaXRpb24gbmV2ZXIgY2hhbmdlcyBhZnRlciBtb3VudGluZy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAoMCwgJDY3MGdCJHVzZUxheW91dEVmZmVjdCkoKCk9PntcbiAgICAgICAgc2V0SXNTU1IoZmFsc2UpO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgIH0sIC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlRWxlbWVudCgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkSXNTU1JDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiBpc1NTUlxuICAgIH0sIHByb3BzLmNoaWxkcmVuKSk7XG59XG5sZXQgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHdhcm5lZEFib3V0U1NSUHJvdmlkZXIgPSBmYWxzZTtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ5ZjhhYzk2YWY0YjFiMmFlKHByb3BzKSB7XG4gICAgaWYgKHR5cGVvZiAoMCwgJDY3MGdCJHJlYWN0KVsndXNlSWQnXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICd0ZXN0JyAmJiAhJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHdhcm5lZEFib3V0U1NSUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignSW4gUmVhY3QgMTgsIFNTUlByb3ZpZGVyIGlzIG5vdCBuZWNlc3NhcnkgYW5kIGlzIGEgbm9vcC4gWW91IGNhbiByZW1vdmUgaXQgZnJvbSB5b3VyIGFwcC4nKTtcbiAgICAgICAgICAgICRiNWUyNTdkNTY5Njg4YWM2JHZhciR3YXJuZWRBYm91dFNTUlByb3ZpZGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCgwLCAkNjcwZ0IkcmVhY3QpLkZyYWdtZW50LCBudWxsLCBwcm9wcy5jaGlsZHJlbik7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCAkNjcwZ0IkcmVhY3QpLmNyZWF0ZUVsZW1lbnQoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJExlZ2FjeVNTUlByb3ZpZGVyLCBwcm9wcyk7XG59XG5sZXQgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNhblVzZURPTSA9IEJvb2xlYW4odHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbmxldCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzID0gbmV3IFdlYWtNYXAoKTtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VDb3VudGVyKGlzRGlzYWJsZWQgPSBmYWxzZSkge1xuICAgIGxldCBjdHggPSAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0KTtcbiAgICBsZXQgcmVmID0gKDAsICQ2NzBnQiR1c2VSZWYpKG51bGwpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBydWxlc2Rpci9wdXJlLXJlbmRlclxuICAgIGlmIChyZWYuY3VycmVudCA9PT0gbnVsbCAmJiAhaXNEaXNhYmxlZCkge1xuICAgICAgICB2YXIgX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEX1JlYWN0Q3VycmVudE93bmVyLCBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ7XG4gICAgICAgIC8vIEluIHN0cmljdCBtb2RlLCBSZWFjdCByZW5kZXJzIGNvbXBvbmVudHMgdHdpY2UsIGFuZCB0aGUgcmVmIHdpbGwgYmUgcmVzZXQgdG8gbnVsbCBvbiB0aGUgc2Vjb25kIHJlbmRlci5cbiAgICAgICAgLy8gVGhpcyBtZWFucyBvdXIgaWQgY291bnRlciB3aWxsIGJlIGluY3JlbWVudGVkIHR3aWNlIGluc3RlYWQgb2Ygb25jZS4gVGhpcyBpcyBhIHByb2JsZW0gYmVjYXVzZSBvbiB0aGVcbiAgICAgICAgLy8gc2VydmVyLCBjb21wb25lbnRzIGFyZSBvbmx5IHJlbmRlcmVkIG9uY2UgYW5kIHNvIGlkcyBnZW5lcmF0ZWQgb24gdGhlIHNlcnZlciB3b24ndCBtYXRjaCB0aGUgY2xpZW50LlxuICAgICAgICAvLyBJbiBSZWFjdCAxOCwgdXNlSWQgd2FzIGludHJvZHVjZWQgdG8gc29sdmUgdGhpcywgYnV0IGl0IGlzIG5vdCBhdmFpbGFibGUgaW4gb2xkZXIgdmVyc2lvbnMuIFNvIHRvIHNvbHZlIHRoaXNcbiAgICAgICAgLy8gd2UgbmVlZCB0byB1c2Ugc29tZSBSZWFjdCBpbnRlcm5hbHMgdG8gYWNjZXNzIHRoZSB1bmRlcmx5aW5nIEZpYmVyIGluc3RhbmNlLCB3aGljaCBpcyBzdGFibGUgYmV0d2VlbiByZW5kZXJzLlxuICAgICAgICAvLyBUaGlzIGlzIGV4cG9zZWQgYXMgUmVhY3RDdXJyZW50T3duZXIgaW4gZGV2ZWxvcG1lbnQsIHdoaWNoIGlzIGFsbCB3ZSBuZWVkIHNpbmNlIFN0cmljdE1vZGUgb25seSBydW5zIGluIGRldmVsb3BtZW50LlxuICAgICAgICAvLyBUbyBlbnN1cmUgdGhhdCB3ZSBvbmx5IGluY3JlbWVudCB0aGUgZ2xvYmFsIGNvdW50ZXIgb25jZSwgd2Ugc3RvcmUgdGhlIHN0YXJ0aW5nIGlkIGZvciB0aGlzIGNvbXBvbmVudCBpblxuICAgICAgICAvLyBhIHdlYWsgbWFwIGFzc29jaWF0ZWQgd2l0aCB0aGUgRmliZXIuIE9uIHRoZSBzZWNvbmQgcmVuZGVyLCB3ZSByZXNldCB0aGUgZ2xvYmFsIGNvdW50ZXIgdG8gdGhpcyB2YWx1ZS5cbiAgICAgICAgLy8gU2luY2UgUmVhY3QgcnVucyB0aGUgc2Vjb25kIHJlbmRlciBpbW1lZGlhdGVseSBhZnRlciB0aGUgZmlyc3QsIHRoaXMgaXMgc2FmZS5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgY3VycmVudE93bmVyID0gKF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9ICgwLCAkNjcwZ0IkcmVhY3QpLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEKSA9PT0gbnVsbCB8fCBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURfUmVhY3RDdXJyZW50T3duZXIgPSBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQuUmVhY3RDdXJyZW50T3duZXIpID09PSBudWxsIHx8IF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRF9SZWFjdEN1cnJlbnRPd25lciA9PT0gdm9pZCAwID8gdm9pZCAwIDogX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEX1JlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQ7XG4gICAgICAgIGlmIChjdXJyZW50T3duZXIpIHtcbiAgICAgICAgICAgIGxldCBwcmV2Q29tcG9uZW50VmFsdWUgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzLmdldChjdXJyZW50T3duZXIpO1xuICAgICAgICAgICAgaWYgKHByZXZDb21wb25lbnRWYWx1ZSA9PSBudWxsKSAvLyBPbiB0aGUgZmlyc3QgcmVuZGVyLCBhbmQgZmlyc3QgY2FsbCB0byB1c2VJZCwgc3RvcmUgdGhlIGlkIGFuZCBzdGF0ZSBpbiBvdXIgd2VhayBtYXAuXG4gICAgICAgICAgICAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzLnNldChjdXJyZW50T3duZXIsIHtcbiAgICAgICAgICAgICAgICBpZDogY3R4LmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgc3RhdGU6IGN1cnJlbnRPd25lci5tZW1vaXplZFN0YXRlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJlbnRPd25lci5tZW1vaXplZFN0YXRlICE9PSBwcmV2Q29tcG9uZW50VmFsdWUuc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBPbiB0aGUgc2Vjb25kIHJlbmRlciwgdGhlIG1lbW9pemVkU3RhdGUgZ2V0cyByZXNldCBieSBSZWFjdC5cbiAgICAgICAgICAgICAgICAvLyBSZXNldCB0aGUgY291bnRlciwgYW5kIHJlbW92ZSBmcm9tIHRoZSB3ZWFrIG1hcCBzbyB3ZSBkb24ndFxuICAgICAgICAgICAgICAgIC8vIGRvIHRoaXMgZm9yIHN1YnNlcXVlbnQgdXNlSWQgY2FsbHMuXG4gICAgICAgICAgICAgICAgY3R4LmN1cnJlbnQgPSBwcmV2Q29tcG9uZW50VmFsdWUuaWQ7XG4gICAgICAgICAgICAgICAgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNvbXBvbmVudElkcy5kZWxldGUoY3VycmVudE93bmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnVsZXNkaXIvcHVyZS1yZW5kZXJcbiAgICAgICAgcmVmLmN1cnJlbnQgPSArK2N0eC5jdXJyZW50O1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnVsZXNkaXIvcHVyZS1yZW5kZXJcbiAgICByZXR1cm4gcmVmLmN1cnJlbnQ7XG59XG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlTGVnYWN5U1NSU2FmZUlkKGRlZmF1bHRJZCkge1xuICAgIGxldCBjdHggPSAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0KTtcbiAgICAvLyBJZiB3ZSBhcmUgcmVuZGVyaW5nIGluIGEgbm9uLURPTSBlbnZpcm9ubWVudCwgYW5kIHRoZXJlJ3Mgbm8gU1NSUHJvdmlkZXIsXG4gICAgLy8gcHJvdmlkZSBhIHdhcm5pbmcgdG8gaGludCB0byB0aGUgZGV2ZWxvcGVyIHRvIGFkZCBvbmUuXG4gICAgaWYgKGN0eCA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ICYmICEkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY2FuVXNlRE9NKSBjb25zb2xlLndhcm4oJ1doZW4gc2VydmVyIHJlbmRlcmluZywgeW91IG11c3Qgd3JhcCB5b3VyIGFwcGxpY2F0aW9uIGluIGFuIDxTU1JQcm92aWRlcj4gdG8gZW5zdXJlIGNvbnNpc3RlbnQgaWRzIGFyZSBnZW5lcmF0ZWQgYmV0d2VlbiB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIuJyk7XG4gICAgbGV0IGNvdW50ZXIgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlQ291bnRlcighIWRlZmF1bHRJZCk7XG4gICAgbGV0IHByZWZpeCA9IGN0eCA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcgPyAncmVhY3QtYXJpYScgOiBgcmVhY3QtYXJpYSR7Y3R4LnByZWZpeH1gO1xuICAgIHJldHVybiBkZWZhdWx0SWQgfHwgYCR7cHJlZml4fS0ke2NvdW50ZXJ9YDtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VNb2Rlcm5TU1JTYWZlSWQoZGVmYXVsdElkKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxldCBpZCA9ICgwLCAkNjcwZ0IkcmVhY3QpLnVzZUlkKCk7XG4gICAgbGV0IFtkaWRTU1JdID0gKDAsICQ2NzBnQiR1c2VTdGF0ZSkoJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDUzNWJkNmNhN2Y5MGEyNzMoKSk7XG4gICAgbGV0IHByZWZpeCA9IGRpZFNTUiB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnID8gJ3JlYWN0LWFyaWEnIDogYHJlYWN0LWFyaWEkeyRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dC5wcmVmaXh9YDtcbiAgICByZXR1cm4gZGVmYXVsdElkIHx8IGAke3ByZWZpeH0tJHtpZH1gO1xufVxuY29uc3QgJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDYxOTUwMDk1OWZjNDhiMjYgPSB0eXBlb2YgKDAsICQ2NzBnQiRyZWFjdClbJ3VzZUlkJ10gPT09ICdmdW5jdGlvbicgPyAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlTW9kZXJuU1NSU2FmZUlkIDogJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHVzZUxlZ2FjeVNTUlNhZmVJZDtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciRnZXRTbmFwc2hvdCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZ2V0U2VydmVyU25hcHNob3QoKSB7XG4gICAgcmV0dXJuIHRydWU7XG59XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkc3Vic2NyaWJlKG9uU3RvcmVDaGFuZ2UpIHtcbiAgICAvLyBub29wXG4gICAgcmV0dXJuICgpPT57fTtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ1MzViZDZjYTdmOTBhMjczKCkge1xuICAgIC8vIEluIFJlYWN0IDE4LCB3ZSBjYW4gdXNlIHVzZVN5bmNFeHRlcm5hbFN0b3JlIHRvIGRldGVjdCBpZiB3ZSdyZSBzZXJ2ZXIgcmVuZGVyaW5nIG9yIGh5ZHJhdGluZy5cbiAgICBpZiAodHlwZW9mICgwLCAkNjcwZ0IkcmVhY3QpWyd1c2VTeW5jRXh0ZXJuYWxTdG9yZSddID09PSAnZnVuY3Rpb24nKSByZXR1cm4gKDAsICQ2NzBnQiRyZWFjdClbJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJ10oJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHN1YnNjcmliZSwgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGdldFNuYXBzaG90LCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHJldHVybiAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRJc1NTUkNvbnRleHQpO1xufVxuXG5cbmV4cG9ydCB7JGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDlmOGFjOTZhZjRiMWIyYWUgYXMgU1NSUHJvdmlkZXIsICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ1MzViZDZjYTdmOTBhMjczIGFzIHVzZUlzU1NSLCAkYjVlMjU3ZDU2OTY4OGFjNiRleHBvcnQkNjE5NTAwOTU5ZmM0OGIyNiBhcyB1c2VTU1JTYWZlSWR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U1NSUHJvdmlkZXIubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs": -/*!************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/domHelpers.mjs ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getOwnerDocument: function() { return /* binding */ $431fbd86ca7dc216$export$b204af158042fbac; },\n/* harmony export */ getOwnerWindow: function() { return /* binding */ $431fbd86ca7dc216$export$f21a1ffae260145a; }\n/* harmony export */ });\nconst $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n var _el_ownerDocument;\n return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n\n\n\n//# sourceMappingURL=domHelpers.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L2RvbUhlbHBlcnMubWpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHb0k7QUFDcEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvZG9tSGVscGVycy5tanM/MWE5YyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYjIwNGFmMTU4MDQyZmJhYyA9IChlbCk9PntcbiAgICB2YXIgX2VsX293bmVyRG9jdW1lbnQ7XG4gICAgcmV0dXJuIChfZWxfb3duZXJEb2N1bWVudCA9IGVsID09PSBudWxsIHx8IGVsID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlbC5vd25lckRvY3VtZW50KSAhPT0gbnVsbCAmJiBfZWxfb3duZXJEb2N1bWVudCAhPT0gdm9pZCAwID8gX2VsX293bmVyRG9jdW1lbnQgOiBkb2N1bWVudDtcbn07XG5jb25zdCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkZjIxYTFmZmFlMjYwMTQ1YSA9IChlbCk9PntcbiAgICBpZiAoZWwgJiYgJ3dpbmRvdycgaW4gZWwgJiYgZWwud2luZG93ID09PSBlbCkgcmV0dXJuIGVsO1xuICAgIGNvbnN0IGRvYyA9ICQ0MzFmYmQ4NmNhN2RjMjE2JGV4cG9ydCRiMjA0YWYxNTgwNDJmYmFjKGVsKTtcbiAgICByZXR1cm4gZG9jLmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbn07XG5cblxuZXhwb3J0IHskNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYjIwNGFmMTU4MDQyZmJhYyBhcyBnZXRPd25lckRvY3VtZW50LCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkZjIxYTFmZmFlMjYwMTQ1YSBhcyBnZXRPd25lcldpbmRvd307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kb21IZWxwZXJzLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs": -/*!****************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isVirtualClick: function() { return /* binding */ $6a7db85432448f7f$export$60278871457622de; },\n/* harmony export */ isVirtualPointerEvent: function() { return /* binding */ $6a7db85432448f7f$export$29bf1b5f2c56cf63; }\n/* harmony export */ });\n/* harmony import */ var _platform_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs\");\n\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, _platform_mjs__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return !(0, _platform_mjs__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\n\n//# sourceMappingURL=isVirtualEvent.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L2lzVmlydHVhbEV2ZW50Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBc0Y7O0FBRXRGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLG9EQUF5QztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isb0RBQXlDO0FBQ3pEOzs7QUFHeUk7QUFDekkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvaXNWaXJ0dWFsRXZlbnQubWpzP2I1YTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0FuZHJvaWQgYXMgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzh9IGZyb20gXCIuL3BsYXRmb3JtLm1qc1wiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjIgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gXG5mdW5jdGlvbiAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkNjAyNzg4NzE0NTc2MjJkZShldmVudCkge1xuICAgIC8vIEpBV1MvTlZEQSB3aXRoIEZpcmVmb3guXG4gICAgaWYgKGV2ZW50Lm1veklucHV0U291cmNlID09PSAwICYmIGV2ZW50LmlzVHJ1c3RlZCkgcmV0dXJuIHRydWU7XG4gICAgLy8gQW5kcm9pZCBUYWxrQmFjaydzIGRldGFpbCB2YWx1ZSB2YXJpZXMgZGVwZW5kaW5nIG9uIHRoZSBldmVudCBsaXN0ZW5lciBwcm92aWRpbmcgdGhlIGV2ZW50IHNvIHdlIGhhdmUgc3BlY2lmaWMgbG9naWMgaGVyZSBpbnN0ZWFkXG4gICAgLy8gSWYgcG9pbnRlclR5cGUgaXMgZGVmaW5lZCwgZXZlbnQgaXMgZnJvbSBhIGNsaWNrIGxpc3RlbmVyLiBGb3IgZXZlbnRzIGZyb20gbW91c2Vkb3duIGxpc3RlbmVyLCBkZXRhaWwgPT09IDAgaXMgYSBzdWZmaWNpZW50IGNoZWNrXG4gICAgLy8gdG8gZGV0ZWN0IFRhbGtCYWNrIHZpcnR1YWwgY2xpY2tzLlxuICAgIGlmICgoMCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzgpKCkgJiYgZXZlbnQucG9pbnRlclR5cGUpIHJldHVybiBldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmJ1dHRvbnMgPT09IDE7XG4gICAgcmV0dXJuIGV2ZW50LmRldGFpbCA9PT0gMCAmJiAhZXZlbnQucG9pbnRlclR5cGU7XG59XG5mdW5jdGlvbiAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkMjliZjFiNWYyYzU2Y2Y2MyhldmVudCkge1xuICAgIC8vIElmIHRoZSBwb2ludGVyIHNpemUgaXMgemVybywgdGhlbiB3ZSBhc3N1bWUgaXQncyBmcm9tIGEgc2NyZWVuIHJlYWRlci5cbiAgICAvLyBBbmRyb2lkIFRhbGtCYWNrIGRvdWJsZSB0YXAgd2lsbCBzb21ldGltZXMgcmV0dXJuIGEgZXZlbnQgd2l0aCB3aWR0aCBhbmQgaGVpZ2h0IG9mIDFcbiAgICAvLyBhbmQgcG9pbnRlclR5cGUgPT09ICdtb3VzZScgc28gd2UgbmVlZCB0byBjaGVjayBmb3IgYSBzcGVjaWZpYyBjb21iaW5hdGlvbiBvZiBldmVudCBhdHRyaWJ1dGVzLlxuICAgIC8vIENhbm5vdCB1c2UgXCJldmVudC5wcmVzc3VyZSA9PT0gMFwiIGFzIHRoZSBzb2xlIGNoZWNrIGR1ZSB0byBTYWZhcmkgcG9pbnRlciBldmVudHMgYWx3YXlzIHJldHVybmluZyBwcmVzc3VyZSA9PT0gMFxuICAgIC8vIGluc3RlYWQgb2YgLjUsIHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjE2LiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyBpcyB0byBkaXN0aW5ndXNoXG4gICAgLy8gVGFsa2JhY2sgZG91YmxlIHRhcCBmcm9tIFdpbmRvd3MgRmlyZWZveCB0b3VjaCBzY3JlZW4gcHJlc3NcbiAgICByZXR1cm4gISgwLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYTExYjAwNTk5MDBjZWVjOCkoKSAmJiBldmVudC53aWR0aCA9PT0gMCAmJiBldmVudC5oZWlnaHQgPT09IDAgfHwgZXZlbnQud2lkdGggPT09IDEgJiYgZXZlbnQuaGVpZ2h0ID09PSAxICYmIGV2ZW50LnByZXNzdXJlID09PSAwICYmIGV2ZW50LmRldGFpbCA9PT0gMCAmJiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJztcbn1cblxuXG5leHBvcnQgeyQ2YTdkYjg1NDMyNDQ4ZjdmJGV4cG9ydCQ2MDI3ODg3MTQ1NzYyMmRlIGFzIGlzVmlydHVhbENsaWNrLCAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkMjliZjFiNWYyYzU2Y2Y2MyBhcyBpc1ZpcnR1YWxQb2ludGVyRXZlbnR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNWaXJ0dWFsRXZlbnQubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs": -/*!**********************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/platform.mjs ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isAndroid: function() { return /* binding */ $c87311424ea30a05$export$a11b0059900ceec8; },\n/* harmony export */ isAppleDevice: function() { return /* binding */ $c87311424ea30a05$export$e1865c3bedcd822b; },\n/* harmony export */ isChrome: function() { return /* binding */ $c87311424ea30a05$export$6446a186d09e379e; },\n/* harmony export */ isFirefox: function() { return /* binding */ $c87311424ea30a05$export$b7d78993b74f766d; },\n/* harmony export */ isIOS: function() { return /* binding */ $c87311424ea30a05$export$fedb369cb70207f1; },\n/* harmony export */ isIPad: function() { return /* binding */ $c87311424ea30a05$export$7bef049ce92e4224; },\n/* harmony export */ isIPhone: function() { return /* binding */ $c87311424ea30a05$export$186c6964ca17d99; },\n/* harmony export */ isMac: function() { return /* binding */ $c87311424ea30a05$export$9ac100e40613ea10; },\n/* harmony export */ isWebKit: function() { return /* binding */ $c87311424ea30a05$export$78551043582a6a98; }\n/* harmony export */ });\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n var _window_navigator_userAgentData;\n if (typeof window === 'undefined' || window.navigator == null) return false;\n return ((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand)=>re.test(brand.brand))) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n var _window_navigator_userAgentData;\n return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$export$9ac100e40613ea10() {\n return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n}\nfunction $c87311424ea30a05$export$186c6964ca17d99() {\n return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n}\nfunction $c87311424ea30a05$export$7bef049ce92e4224() {\n return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n}\nfunction $c87311424ea30a05$export$fedb369cb70207f1() {\n return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n}\nfunction $c87311424ea30a05$export$e1865c3bedcd822b() {\n return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n}\nfunction $c87311424ea30a05$export$78551043582a6a98() {\n return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n}\nfunction $c87311424ea30a05$export$6446a186d09e379e() {\n return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n}\nfunction $c87311424ea30a05$export$a11b0059900ceec8() {\n return $c87311424ea30a05$var$testUserAgent(/Android/i);\n}\nfunction $c87311424ea30a05$export$b7d78993b74f766d() {\n return $c87311424ea30a05$var$testUserAgent(/Firefox/i);\n}\n\n\n\n//# sourceMappingURL=platform.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3BsYXRmb3JtLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHcWY7QUFDcmYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvcGxhdGZvcm0ubWpzPzIxMmUiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIGZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KHJlKSB7XG4gICAgdmFyIF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGE7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IHdpbmRvdy5uYXZpZ2F0b3IgPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiAoKF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPSB3aW5kb3cubmF2aWdhdG9yWyd1c2VyQWdlbnREYXRhJ10pID09PSBudWxsIHx8IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEuYnJhbmRzLnNvbWUoKGJyYW5kKT0+cmUudGVzdChicmFuZC5icmFuZCkpKSB8fCByZS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0UGxhdGZvcm0ocmUpIHtcbiAgICB2YXIgX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YTtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lm5hdmlnYXRvciAhPSBudWxsID8gcmUudGVzdCgoKF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPSB3aW5kb3cubmF2aWdhdG9yWyd1c2VyQWdlbnREYXRhJ10pID09PSBudWxsIHx8IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGEucGxhdGZvcm0pIHx8IHdpbmRvdy5uYXZpZ2F0b3IucGxhdGZvcm0pIDogZmFsc2U7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkOWFjMTAwZTQwNjEzZWExMCgpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RQbGF0Zm9ybSgvXk1hYy9pKTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQxODZjNjk2NGNhMTdkOTkoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0UGxhdGZvcm0oL15pUGhvbmUvaSk7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkN2JlZjA0OWNlOTJlNDIyNCgpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RQbGF0Zm9ybSgvXmlQYWQvaSkgfHwgLy8gaVBhZE9TIDEzIGxpZXMgYW5kIHNheXMgaXQncyBhIE1hYywgYnV0IHdlIGNhbiBkaXN0aW5ndWlzaCBieSBkZXRlY3RpbmcgdG91Y2ggc3VwcG9ydC5cbiAgICAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkOWFjMTAwZTQwNjEzZWExMCgpICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDE7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZmVkYjM2OWNiNzAyMDdmMSgpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDE4NmM2OTY0Y2ExN2Q5OSgpIHx8ICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3YmVmMDQ5Y2U5MmU0MjI0KCk7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZTE4NjVjM2JlZGNkODIyYigpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDlhYzEwMGU0MDYxM2VhMTAoKSB8fCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZmVkYjM2OWNiNzAyMDdmMSgpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDc4NTUxMDQzNTgyYTZhOTgoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9BcHBsZVdlYktpdC9pKSAmJiAhJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDY0NDZhMTg2ZDA5ZTM3OWUoKTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ2NDQ2YTE4NmQwOWUzNzllKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFVzZXJBZ2VudCgvQ2hyb21lL2kpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzgoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9BbmRyb2lkL2kpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGI3ZDc4OTkzYjc0Zjc2NmQoKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9GaXJlZm94L2kpO1xufVxuXG5cbmV4cG9ydCB7JGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDlhYzEwMGU0MDYxM2VhMTAgYXMgaXNNYWMsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQxODZjNjk2NGNhMTdkOTkgYXMgaXNJUGhvbmUsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3YmVmMDQ5Y2U5MmU0MjI0IGFzIGlzSVBhZCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGZlZGIzNjljYjcwMjA3ZjEgYXMgaXNJT1MsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRlMTg2NWMzYmVkY2Q4MjJiIGFzIGlzQXBwbGVEZXZpY2UsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3ODU1MTA0MzU4MmE2YTk4IGFzIGlzV2ViS2l0LCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkNjQ0NmExODZkMDllMzc5ZSBhcyBpc0Nocm9tZSwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzggYXMgaXNBbmRyb2lkLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYjdkNzg5OTNiNzRmNzY2ZCBhcyBpc0ZpcmVmb3h9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGxhdGZvcm0ubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs": -/*!****************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/useEffectEvent.mjs ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEffectEvent: function() { return /* binding */ $8ae05eaa5c114e9c$export$7f54fc3180508a52; }\n/* harmony export */ });\n/* harmony import */ var _useLayoutEffect_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useLayoutEffect.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n const ref = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0, _useLayoutEffect_mjs__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((...args)=>{\n const f = ref.current;\n return f === null || f === void 0 ? void 0 : f(...args);\n }, []);\n}\n\n\n\n//# sourceMappingURL=useEffectEvent.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUVmZmVjdEV2ZW50Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBbUc7QUFDbEI7O0FBRWpGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IseUNBQWE7QUFDakMsUUFBUSxpRUFBeUM7QUFDakQ7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSw4Q0FBa0I7QUFDakM7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR3FFO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUVmZmVjdEV2ZW50Lm1qcz8xNDFiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlTGF5b3V0RWZmZWN0IGFzICRmMGEwNGNjZDhkYmRkODNiJGV4cG9ydCRlNWM1YTVmOTE3YTU4NzFjfSBmcm9tIFwiLi91c2VMYXlvdXRFZmZlY3QubWpzXCI7XG5pbXBvcnQge3VzZVJlZiBhcyAkbG1hWXIkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkbG1hWXIkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjMgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gXG5cbmZ1bmN0aW9uICQ4YWUwNWVhYTVjMTE0ZTljJGV4cG9ydCQ3ZjU0ZmMzMTgwNTA4YTUyKGZuKSB7XG4gICAgY29uc3QgcmVmID0gKDAsICRsbWFZciR1c2VSZWYpKG51bGwpO1xuICAgICgwLCAkZjBhMDRjY2Q4ZGJkZDgzYiRleHBvcnQkZTVjNWE1ZjkxN2E1ODcxYykoKCk9PntcbiAgICAgICAgcmVmLmN1cnJlbnQgPSBmbjtcbiAgICB9LCBbXG4gICAgICAgIGZuXG4gICAgXSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiAoMCwgJGxtYVlyJHVzZUNhbGxiYWNrKSgoLi4uYXJncyk9PntcbiAgICAgICAgY29uc3QgZiA9IHJlZi5jdXJyZW50O1xuICAgICAgICByZXR1cm4gZiA9PT0gbnVsbCB8fCBmID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmKC4uLmFyZ3MpO1xuICAgIH0sIFtdKTtcbn1cblxuXG5leHBvcnQgeyQ4YWUwNWVhYTVjMTE0ZTljJGV4cG9ydCQ3ZjU0ZmMzMTgwNTA4YTUyIGFzIHVzZUVmZmVjdEV2ZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUVmZmVjdEV2ZW50Lm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLayoutEffect: function() { return /* binding */ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, react__WEBPACK_IMPORTED_MODULE_0__).useLayoutEffect : ()=>{};\n\n\n\n//# sourceMappingURL=useLayoutEffect.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUxheW91dEVmZmVjdC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3RkFBd0Ysa0NBQVk7OztBQUc5QjtBQUN0RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VMYXlvdXRFZmZlY3QubWpzPzFmMWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICRIZ0FOZCRyZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuY29uc3QgJGYwYTA0Y2NkOGRiZGQ4M2IkZXhwb3J0JGU1YzVhNWY5MTdhNTg3MWMgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gKDAsICRIZ0FOZCRyZWFjdCkudXNlTGF5b3V0RWZmZWN0IDogKCk9Pnt9O1xuXG5cbmV4cG9ydCB7JGYwYTA0Y2NkOGRiZGQ4M2IkZXhwb3J0JGU1YzVhNWY5MTdhNTg3MWMgYXMgdXNlTGF5b3V0RWZmZWN0fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUxheW91dEVmZmVjdC5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs": -/*!*****************************************!*\ - !*** ./node_modules/clsx/dist/clsx.mjs ***! - \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clsx: function() { return /* binding */ clsx; }\n/* harmony export */ });\nfunction r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}/* harmony default export */ __webpack_exports__[\"default\"] = (clsx);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9jbHN4L2Rpc3QvY2xzeC5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGNBQWMsYUFBYSwrQ0FBK0MsZ0RBQWdELGVBQWUsUUFBUSxJQUFJLDBDQUEwQyx5Q0FBeUMsU0FBZ0IsZ0JBQWdCLHdDQUF3QyxJQUFJLG1EQUFtRCxTQUFTLCtEQUFlLElBQUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2Nsc3gvZGlzdC9jbHN4Lm1qcz80NDYxIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHIoZSl7dmFyIHQsZixuPVwiXCI7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGV8fFwibnVtYmVyXCI9PXR5cGVvZiBlKW4rPWU7ZWxzZSBpZihcIm9iamVjdFwiPT10eXBlb2YgZSlpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgbz1lLmxlbmd0aDtmb3IodD0wO3Q8bzt0KyspZVt0XSYmKGY9cihlW3RdKSkmJihuJiYobis9XCIgXCIpLG4rPWYpfWVsc2UgZm9yKGYgaW4gZSllW2ZdJiYobiYmKG4rPVwiIFwiKSxuKz1mKTtyZXR1cm4gbn1leHBvcnQgZnVuY3Rpb24gY2xzeCgpe2Zvcih2YXIgZSx0LGY9MCxuPVwiXCIsbz1hcmd1bWVudHMubGVuZ3RoO2Y8bztmKyspKGU9YXJndW1lbnRzW2ZdKSYmKHQ9cihlKSkmJihuJiYobis9XCIgXCIpLG4rPXQpO3JldHVybiBufWV4cG9ydCBkZWZhdWx0IGNsc3g7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/app/layout.js b/.next/static/chunks/app/layout.js deleted file mode 100644 index 2a50cca..0000000 --- a/.next/static/chunks/app/layout.js +++ /dev/null @@ -1,69 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/layout"],{ - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"} */ \"(app-pages-browser)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src/app/layout.jsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"],\\\"display\\\":\\\"swap\\\",\\\"variable\\\":\\\"--font-inter\\\"}],\\\"variableName\\\":\\\"inter\\\"}\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"} */ \"(app-pages-browser)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src/app/layout.jsx\\\",\\\"import\\\":\\\"DM_Sans\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"],\\\"weight\\\":[\\\"400\\\",\\\"500\\\",\\\"700\\\"],\\\"display\\\":\\\"swap\\\",\\\"variable\\\":\\\"--font-dm-sans\\\"}],\\\"variableName\\\":\\\"dmSans\\\"}\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/styles/tailwind.css */ \"(app-pages-browser)/./src/styles/tailwind.css\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmZvbnQlMkZnb29nbGUlMkZ0YXJnZXQuY3NzJTNGJTdCJTVDJTIycGF0aCU1QyUyMiUzQSU1QyUyMnNyYyUyRmFwcCUyRmxheW91dC5qc3glNUMlMjIlMkMlNUMlMjJpbXBvcnQlNUMlMjIlM0ElNUMlMjJJbnRlciU1QyUyMiUyQyU1QyUyMmFyZ3VtZW50cyU1QyUyMiUzQSU1QiU3QiU1QyUyMnN1YnNldHMlNUMlMjIlM0ElNUIlNUMlMjJsYXRpbiU1QyUyMiU1RCUyQyU1QyUyMmRpc3BsYXklNUMlMjIlM0ElNUMlMjJzd2FwJTVDJTIyJTJDJTVDJTIydmFyaWFibGUlNUMlMjIlM0ElNUMlMjItLWZvbnQtaW50ZXIlNUMlMjIlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTJGYXBwJTJGbGF5b3V0LmpzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkRNX1NhbnMlNUMlMjIlMkMlNUMlMjJhcmd1bWVudHMlNUMlMjIlM0ElNUIlN0IlNUMlMjJzdWJzZXRzJTVDJTIyJTNBJTVCJTVDJTIybGF0aW4lNUMlMjIlNUQlMkMlNUMlMjJ3ZWlnaHQlNUMlMjIlM0ElNUIlNUMlMjI0MDAlNUMlMjIlMkMlNUMlMjI1MDAlNUMlMjIlMkMlNUMlMjI3MDAlNUMlMjIlNUQlMkMlNUMlMjJkaXNwbGF5JTVDJTIyJTNBJTVDJTIyc3dhcCU1QyUyMiUyQyU1QyUyMnZhcmlhYmxlJTVDJTIyJTNBJTVDJTIyLS1mb250LWRtLXNhbnMlNUMlMjIlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJkbVNhbnMlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGc3R5bGVzJTJGdGFpbHdpbmQuY3NzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj1mYWxzZSEiLCJtYXBwaW5ncyI6IkFBQUEsd2hCQUFrVDtBQUNsVDtBQUNBLG9tQkFBNFY7QUFDNVY7QUFDQSw0S0FBa0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz8yYWUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZm9udC9nb29nbGUvdGFyZ2V0LmNzcz97XFxcInBhdGhcXFwiOlxcXCJzcmMvYXBwL2xheW91dC5qc3hcXFwiLFxcXCJpbXBvcnRcXFwiOlxcXCJJbnRlclxcXCIsXFxcImFyZ3VtZW50c1xcXCI6W3tcXFwic3Vic2V0c1xcXCI6W1xcXCJsYXRpblxcXCJdLFxcXCJkaXNwbGF5XFxcIjpcXFwic3dhcFxcXCIsXFxcInZhcmlhYmxlXFxcIjpcXFwiLS1mb250LWludGVyXFxcIn1dLFxcXCJ2YXJpYWJsZU5hbWVcXFwiOlxcXCJpbnRlclxcXCJ9XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9mb250L2dvb2dsZS90YXJnZXQuY3NzP3tcXFwicGF0aFxcXCI6XFxcInNyYy9hcHAvbGF5b3V0LmpzeFxcXCIsXFxcImltcG9ydFxcXCI6XFxcIkRNX1NhbnNcXFwiLFxcXCJhcmd1bWVudHNcXFwiOlt7XFxcInN1YnNldHNcXFwiOltcXFwibGF0aW5cXFwiXSxcXFwid2VpZ2h0XFxcIjpbXFxcIjQwMFxcXCIsXFxcIjUwMFxcXCIsXFxcIjcwMFxcXCJdLFxcXCJkaXNwbGF5XFxcIjpcXFwic3dhcFxcXCIsXFxcInZhcmlhYmxlXFxcIjpcXFwiLS1mb250LWRtLXNhbnNcXFwifV0sXFxcInZhcmlhYmxlTmFtZVxcXCI6XFxcImRtU2Fuc1xcXCJ9XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js ***! - \*********************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";var e={592:(e,r,t)=>{var n=t(722);var i=Object.create(null);var a=typeof document===\"undefined\";var o=Array.prototype.forEach;function debounce(e,r){var t=0;return function(){var n=this;var i=arguments;var a=function functionCall(){return e.apply(n,i)};clearTimeout(t);t=setTimeout(a,r)}}function noop(){}function getCurrentScriptUrl(e){var r=i[e];if(!r){if(document.currentScript){r=document.currentScript.src}else{var t=document.getElementsByTagName(\"script\");var a=t[t.length-1];if(a){r=a.src}}i[e]=r}return function(e){if(!r){return null}var t=r.split(/([^\\\\/]+)\\.js$/);var i=t&&t[1];if(!i){return[r.replace(\".js\",\".css\")]}if(!e){return[r.replace(\".js\",\".css\")]}return e.split(\",\").map((function(e){var t=new RegExp(\"\".concat(i,\"\\\\.js$\"),\"g\");return n(r.replace(t,\"\".concat(e.replace(/{fileName}/g,i),\".css\")))}))}}function updateCss(e,r){if(!r){if(!e.href){return}r=e.href.split(\"?\")[0]}if(!isUrlRequest(r)){return}if(e.isLoaded===false){return}if(!r||!(r.indexOf(\".css\")>-1)){return}e.visited=true;var t=e.cloneNode();t.isLoaded=false;t.addEventListener(\"load\",(function(){if(t.isLoaded){return}t.isLoaded=true;e.parentNode.removeChild(e)}));t.addEventListener(\"error\",(function(){if(t.isLoaded){return}t.isLoaded=true;e.parentNode.removeChild(e)}));t.href=\"\".concat(r,\"?\").concat(Date.now());if(e.nextSibling){e.parentNode.insertBefore(t,e.nextSibling)}else{e.parentNode.appendChild(t)}}function getReloadUrl(e,r){var t;e=n(e,{stripWWW:false});r.some((function(n){if(e.indexOf(r)>-1){t=n}}));return t}function reloadStyle(e){if(!e){return false}var r=document.querySelectorAll(\"link\");var t=false;o.call(r,(function(r){if(!r.href){return}var n=getReloadUrl(r.href,e);if(!isUrlRequest(n)){return}if(r.visited===true){return}if(n){updateCss(r,n);t=true}}));return t}function reloadAll(){var e=document.querySelectorAll(\"link\");o.call(e,(function(e){if(e.visited===true){return}updateCss(e)}))}function isUrlRequest(e){if(!/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(e)){return false}return true}e.exports=function(e,r){if(a){console.log(\"no window.document found, will not HMR CSS\");return noop}var t=getCurrentScriptUrl(e);function update(){var e=t(r.filename);var n=reloadStyle(e);if(r.locals){console.log(\"[HMR] Detected local css modules. Reload all css\");reloadAll();return}if(n){console.log(\"[HMR] css reload %s\",e.join(\" \"))}else{console.log(\"[HMR] Reload all css\");reloadAll()}}return debounce(update,50)}},722:e=>{function normalizeUrl(e){return e.reduce((function(e,r){switch(r){case\"..\":e.pop();break;case\".\":break;default:e.push(r)}return e}),[]).join(\"/\")}e.exports=function(e){e=e.trim();if(/^data:/i.test(e)){return e}var r=e.indexOf(\"//\")!==-1?e.split(\"//\")[0]+\"//\":\"\";var t=e.replace(new RegExp(r,\"i\"),\"\").split(\"/\");var n=t[0].toLowerCase().replace(/\\.$/,\"\");t[0]=\"\";var i=normalizeUrl(t);return r+n+i}}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var i=r[t]={exports:{}};var a=true;try{e[t](i,i.exports,__nccwpck_require__);a=false}finally{if(a)delete r[t]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(592);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vaG1yL2hvdE1vZHVsZVJlcGxhY2VtZW50LmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLGFBQWEsT0FBTyxjQUFjLGFBQWEsMEJBQTBCLG9DQUFvQyw4QkFBOEIsdUJBQXVCLFFBQVEsa0JBQWtCLFdBQVcsZ0JBQWdCLDhCQUE4QixxQkFBcUIsZ0JBQWdCLG1CQUFtQixpQkFBaUIsZ0NBQWdDLFdBQVcsT0FBTywyQkFBMkIsNkJBQTZCLEtBQUssOENBQThDLG9CQUFvQixNQUFNLFNBQVMsT0FBTyxtQkFBbUIsT0FBTyxZQUFZLGdDQUFnQyxjQUFjLE9BQU8sZ0NBQWdDLE9BQU8sZ0NBQWdDLHFDQUFxQyw0Q0FBNEMsMkNBQTJDLFNBQVMsZ0JBQWdCLElBQUksd0JBQXdCLE9BQU8sWUFBWSxPQUFPLHVCQUF1QixxQkFBcUIsT0FBTyx1QkFBdUIsT0FBTyxnQ0FBZ0MsT0FBTyxlQUFlLG9CQUFvQixpQkFBaUIsc0NBQXNDLGVBQWUsT0FBTyxnQkFBZ0IsNEJBQTRCLEdBQUcsdUNBQXVDLGVBQWUsT0FBTyxnQkFBZ0IsNEJBQTRCLEdBQUcsMkNBQTJDLGtCQUFrQiwyQ0FBMkMsS0FBSyw2QkFBNkIsMkJBQTJCLE1BQU0sT0FBTyxlQUFlLEVBQUUsb0JBQW9CLG9CQUFvQixLQUFLLEdBQUcsU0FBUyx3QkFBd0IsT0FBTyxhQUFhLHdDQUF3QyxZQUFZLHNCQUFzQixZQUFZLE9BQU8sNkJBQTZCLHFCQUFxQixPQUFPLHFCQUFxQixPQUFPLE1BQU0sZUFBZSxRQUFRLEdBQUcsU0FBUyxxQkFBcUIsd0NBQXdDLHNCQUFzQixxQkFBcUIsT0FBTyxhQUFhLEdBQUcseUJBQXlCLHlDQUF5QyxhQUFhLFlBQVksd0JBQXdCLE1BQU0sMERBQTBELFlBQVksNkJBQTZCLGtCQUFrQixvQkFBb0IscUJBQXFCLGFBQWEsZ0VBQWdFLFlBQVksT0FBTyxNQUFNLCtDQUErQyxLQUFLLG9DQUFvQyxhQUFhLDRCQUE0QixTQUFTLHlCQUF5QiwrQkFBK0IsVUFBVSxpQkFBaUIsTUFBTSxjQUFjLGtCQUFrQixTQUFTLGdCQUFnQixzQkFBc0IsV0FBVyxzQkFBc0IsU0FBUyxvREFBb0QsaURBQWlELDJDQUEyQyxRQUFRLHNCQUFzQixnQkFBZ0IsU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2htci9ob3RNb2R1bGVSZXBsYWNlbWVudC5qcz83NTQwIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO3ZhciBlPXs1OTI6KGUscix0KT0+e3ZhciBuPXQoNzIyKTt2YXIgaT1PYmplY3QuY3JlYXRlKG51bGwpO3ZhciBhPXR5cGVvZiBkb2N1bWVudD09PVwidW5kZWZpbmVkXCI7dmFyIG89QXJyYXkucHJvdG90eXBlLmZvckVhY2g7ZnVuY3Rpb24gZGVib3VuY2UoZSxyKXt2YXIgdD0wO3JldHVybiBmdW5jdGlvbigpe3ZhciBuPXRoaXM7dmFyIGk9YXJndW1lbnRzO3ZhciBhPWZ1bmN0aW9uIGZ1bmN0aW9uQ2FsbCgpe3JldHVybiBlLmFwcGx5KG4saSl9O2NsZWFyVGltZW91dCh0KTt0PXNldFRpbWVvdXQoYSxyKX19ZnVuY3Rpb24gbm9vcCgpe31mdW5jdGlvbiBnZXRDdXJyZW50U2NyaXB0VXJsKGUpe3ZhciByPWlbZV07aWYoIXIpe2lmKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpe3I9ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmN9ZWxzZXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKTt2YXIgYT10W3QubGVuZ3RoLTFdO2lmKGEpe3I9YS5zcmN9fWlbZV09cn1yZXR1cm4gZnVuY3Rpb24oZSl7aWYoIXIpe3JldHVybiBudWxsfXZhciB0PXIuc3BsaXQoLyhbXlxcXFwvXSspXFwuanMkLyk7dmFyIGk9dCYmdFsxXTtpZighaSl7cmV0dXJuW3IucmVwbGFjZShcIi5qc1wiLFwiLmNzc1wiKV19aWYoIWUpe3JldHVybltyLnJlcGxhY2UoXCIuanNcIixcIi5jc3NcIildfXJldHVybiBlLnNwbGl0KFwiLFwiKS5tYXAoKGZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBSZWdFeHAoXCJcIi5jb25jYXQoaSxcIlxcXFwuanMkXCIpLFwiZ1wiKTtyZXR1cm4gbihyLnJlcGxhY2UodCxcIlwiLmNvbmNhdChlLnJlcGxhY2UoL3tmaWxlTmFtZX0vZyxpKSxcIi5jc3NcIikpKX0pKX19ZnVuY3Rpb24gdXBkYXRlQ3NzKGUscil7aWYoIXIpe2lmKCFlLmhyZWYpe3JldHVybn1yPWUuaHJlZi5zcGxpdChcIj9cIilbMF19aWYoIWlzVXJsUmVxdWVzdChyKSl7cmV0dXJufWlmKGUuaXNMb2FkZWQ9PT1mYWxzZSl7cmV0dXJufWlmKCFyfHwhKHIuaW5kZXhPZihcIi5jc3NcIik+LTEpKXtyZXR1cm59ZS52aXNpdGVkPXRydWU7dmFyIHQ9ZS5jbG9uZU5vZGUoKTt0LmlzTG9hZGVkPWZhbHNlO3QuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwoZnVuY3Rpb24oKXtpZih0LmlzTG9hZGVkKXtyZXR1cm59dC5pc0xvYWRlZD10cnVlO2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0pKTt0LmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLChmdW5jdGlvbigpe2lmKHQuaXNMb2FkZWQpe3JldHVybn10LmlzTG9hZGVkPXRydWU7ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfSkpO3QuaHJlZj1cIlwiLmNvbmNhdChyLFwiP1wiKS5jb25jYXQoRGF0ZS5ub3coKSk7aWYoZS5uZXh0U2libGluZyl7ZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0LGUubmV4dFNpYmxpbmcpfWVsc2V7ZS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHQpfX1mdW5jdGlvbiBnZXRSZWxvYWRVcmwoZSxyKXt2YXIgdDtlPW4oZSx7c3RyaXBXV1c6ZmFsc2V9KTtyLnNvbWUoKGZ1bmN0aW9uKG4pe2lmKGUuaW5kZXhPZihyKT4tMSl7dD1ufX0pKTtyZXR1cm4gdH1mdW5jdGlvbiByZWxvYWRTdHlsZShlKXtpZighZSl7cmV0dXJuIGZhbHNlfXZhciByPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJsaW5rXCIpO3ZhciB0PWZhbHNlO28uY2FsbChyLChmdW5jdGlvbihyKXtpZighci5ocmVmKXtyZXR1cm59dmFyIG49Z2V0UmVsb2FkVXJsKHIuaHJlZixlKTtpZighaXNVcmxSZXF1ZXN0KG4pKXtyZXR1cm59aWYoci52aXNpdGVkPT09dHJ1ZSl7cmV0dXJufWlmKG4pe3VwZGF0ZUNzcyhyLG4pO3Q9dHJ1ZX19KSk7cmV0dXJuIHR9ZnVuY3Rpb24gcmVsb2FkQWxsKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcImxpbmtcIik7by5jYWxsKGUsKGZ1bmN0aW9uKGUpe2lmKGUudmlzaXRlZD09PXRydWUpe3JldHVybn11cGRhdGVDc3MoZSl9KSl9ZnVuY3Rpb24gaXNVcmxSZXF1ZXN0KGUpe2lmKCEvXlthLXpBLVpdW2EtekEtWlxcZCtcXC0uXSo6Ly50ZXN0KGUpKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9ZS5leHBvcnRzPWZ1bmN0aW9uKGUscil7aWYoYSl7Y29uc29sZS5sb2coXCJubyB3aW5kb3cuZG9jdW1lbnQgZm91bmQsIHdpbGwgbm90IEhNUiBDU1NcIik7cmV0dXJuIG5vb3B9dmFyIHQ9Z2V0Q3VycmVudFNjcmlwdFVybChlKTtmdW5jdGlvbiB1cGRhdGUoKXt2YXIgZT10KHIuZmlsZW5hbWUpO3ZhciBuPXJlbG9hZFN0eWxlKGUpO2lmKHIubG9jYWxzKXtjb25zb2xlLmxvZyhcIltITVJdIERldGVjdGVkIGxvY2FsIGNzcyBtb2R1bGVzLiBSZWxvYWQgYWxsIGNzc1wiKTtyZWxvYWRBbGwoKTtyZXR1cm59aWYobil7Y29uc29sZS5sb2coXCJbSE1SXSBjc3MgcmVsb2FkICVzXCIsZS5qb2luKFwiIFwiKSl9ZWxzZXtjb25zb2xlLmxvZyhcIltITVJdIFJlbG9hZCBhbGwgY3NzXCIpO3JlbG9hZEFsbCgpfX1yZXR1cm4gZGVib3VuY2UodXBkYXRlLDUwKX19LDcyMjplPT57ZnVuY3Rpb24gbm9ybWFsaXplVXJsKGUpe3JldHVybiBlLnJlZHVjZSgoZnVuY3Rpb24oZSxyKXtzd2l0Y2gocil7Y2FzZVwiLi5cIjplLnBvcCgpO2JyZWFrO2Nhc2VcIi5cIjpicmVhaztkZWZhdWx0OmUucHVzaChyKX1yZXR1cm4gZX0pLFtdKS5qb2luKFwiL1wiKX1lLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZT1lLnRyaW0oKTtpZigvXmRhdGE6L2kudGVzdChlKSl7cmV0dXJuIGV9dmFyIHI9ZS5pbmRleE9mKFwiLy9cIikhPT0tMT9lLnNwbGl0KFwiLy9cIilbMF0rXCIvL1wiOlwiXCI7dmFyIHQ9ZS5yZXBsYWNlKG5ldyBSZWdFeHAocixcImlcIiksXCJcIikuc3BsaXQoXCIvXCIpO3ZhciBuPXRbMF0udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXC4kLyxcIlwiKTt0WzBdPVwiXCI7dmFyIGk9bm9ybWFsaXplVXJsKHQpO3JldHVybiByK24raX19fTt2YXIgcj17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHQpe3ZhciBuPXJbdF07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgaT1yW3RdPXtleHBvcnRzOnt9fTt2YXIgYT10cnVlO3RyeXtlW3RdKGksaS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO2E9ZmFsc2V9ZmluYWxseXtpZihhKWRlbGV0ZSByW3RdfXJldHVybiBpLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB0PV9fbmNjd3Bja19yZXF1aXJlX18oNTkyKTttb2R1bGUuZXhwb3J0cz10fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"7caca9b69c04\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiN2NhY2E5YjY5YzA0XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"}": -/*!*****************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/font/google/target.css?{"path":"src/app/layout.jsx","import":"DM_Sans","arguments":[{"subsets":["latin"],"weight":["400","500","700"],"display":"swap","variable":"--font-dm-sans"}],"variableName":"dmSans"} ***! - \*****************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// extracted by mini-css-extract-plugin\nmodule.exports = {\"style\":{\"fontFamily\":\"'__DM_Sans_8a1573', '__DM_Sans_Fallback_8a1573'\",\"fontStyle\":\"normal\"},\"className\":\"__className_8a1573\",\"variable\":\"__variable_8a1573\"};\n if(true) {\n // 1724929219473\n var cssReload = __webpack_require__(/*! ./node_modules/next/dist/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js\")(module.id, {\"publicPath\":\"/_next/\",\"esModule\":false,\"locals\":true});\n module.hot.dispose(cssReload);\n \n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2ZvbnQvZ29vZ2xlL3RhcmdldC5jc3M/e1wicGF0aFwiOlwic3JjL2FwcC9sYXlvdXQuanN4XCIsXCJpbXBvcnRcIjpcIkRNX1NhbnNcIixcImFyZ3VtZW50c1wiOlt7XCJzdWJzZXRzXCI6W1wibGF0aW5cIl0sXCJ3ZWlnaHRcIjpbXCI0MDBcIixcIjUwMFwiLFwiNzAwXCJdLFwiZGlzcGxheVwiOlwic3dhcFwiLFwidmFyaWFibGVcIjpcIi0tZm9udC1kbS1zYW5zXCJ9XSxcInZhcmlhYmxlTmFtZVwiOlwiZG1TYW5zXCJ9IiwibWFwcGluZ3MiOiJBQUFBO0FBQ0Esa0JBQWtCLFNBQVMsb0ZBQW9GO0FBQy9HLE9BQU8sSUFBVTtBQUNqQjtBQUNBLHNCQUFzQixtQkFBTyxDQUFDLHdNQUEySSxjQUFjLHNEQUFzRDtBQUM3TyxNQUFNLFVBQVU7QUFDaEI7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2ZvbnQvZ29vZ2xlL3RhcmdldC5jc3M/MGMzNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wic3R5bGVcIjp7XCJmb250RmFtaWx5XCI6XCInX19ETV9TYW5zXzhhMTU3MycsICdfX0RNX1NhbnNfRmFsbGJhY2tfOGExNTczJ1wiLFwiZm9udFN0eWxlXCI6XCJub3JtYWxcIn0sXCJjbGFzc05hbWVcIjpcIl9fY2xhc3NOYW1lXzhhMTU3M1wiLFwidmFyaWFibGVcIjpcIl9fdmFyaWFibGVfOGExNTczXCJ9O1xuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIC8vIDE3MjQ5MjkyMTk0NzNcbiAgICAgIHZhciBjc3NSZWxvYWQgPSByZXF1aXJlKFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9obXIvaG90TW9kdWxlUmVwbGFjZW1lbnQuanNcIikobW9kdWxlLmlkLCB7XCJwdWJsaWNQYXRoXCI6XCIvX25leHQvXCIsXCJlc01vZHVsZVwiOmZhbHNlLFwibG9jYWxzXCI6dHJ1ZX0pO1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGNzc1JlbG9hZCk7XG4gICAgICBcbiAgICB9XG4gICJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"}\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}": -/*!*******************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/font/google/target.css?{"path":"src/app/layout.jsx","import":"Inter","arguments":[{"subsets":["latin"],"display":"swap","variable":"--font-inter"}],"variableName":"inter"} ***! - \*******************************************************************************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// extracted by mini-css-extract-plugin\nmodule.exports = {\"style\":{\"fontFamily\":\"'__Inter_36bd41', '__Inter_Fallback_36bd41'\",\"fontStyle\":\"normal\"},\"className\":\"__className_36bd41\",\"variable\":\"__variable_36bd41\"};\n if(true) {\n // 1724929219471\n var cssReload = __webpack_require__(/*! ./node_modules/next/dist/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js\")(module.id, {\"publicPath\":\"/_next/\",\"esModule\":false,\"locals\":true});\n module.hot.dispose(cssReload);\n \n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2ZvbnQvZ29vZ2xlL3RhcmdldC5jc3M/e1wicGF0aFwiOlwic3JjL2FwcC9sYXlvdXQuanN4XCIsXCJpbXBvcnRcIjpcIkludGVyXCIsXCJhcmd1bWVudHNcIjpbe1wic3Vic2V0c1wiOltcImxhdGluXCJdLFwiZGlzcGxheVwiOlwic3dhcFwiLFwidmFyaWFibGVcIjpcIi0tZm9udC1pbnRlclwifV0sXCJ2YXJpYWJsZU5hbWVcIjpcImludGVyXCJ9IiwibWFwcGluZ3MiOiJBQUFBO0FBQ0Esa0JBQWtCLFNBQVMsZ0ZBQWdGO0FBQzNHLE9BQU8sSUFBVTtBQUNqQjtBQUNBLHNCQUFzQixtQkFBTyxDQUFDLHdNQUEySSxjQUFjLHNEQUFzRDtBQUM3TyxNQUFNLFVBQVU7QUFDaEI7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2ZvbnQvZ29vZ2xlL3RhcmdldC5jc3M/MGRlMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wic3R5bGVcIjp7XCJmb250RmFtaWx5XCI6XCInX19JbnRlcl8zNmJkNDEnLCAnX19JbnRlcl9GYWxsYmFja18zNmJkNDEnXCIsXCJmb250U3R5bGVcIjpcIm5vcm1hbFwifSxcImNsYXNzTmFtZVwiOlwiX19jbGFzc05hbWVfMzZiZDQxXCIsXCJ2YXJpYWJsZVwiOlwiX192YXJpYWJsZV8zNmJkNDFcIn07XG4gICAgaWYobW9kdWxlLmhvdCkge1xuICAgICAgLy8gMTcyNDkyOTIxOTQ3MVxuICAgICAgdmFyIGNzc1JlbG9hZCA9IHJlcXVpcmUoXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2htci9ob3RNb2R1bGVSZXBsYWNlbWVudC5qc1wiKShtb2R1bGUuaWQsIHtcInB1YmxpY1BhdGhcIjpcIi9fbmV4dC9cIixcImVzTW9kdWxlXCI6ZmFsc2UsXCJsb2NhbHNcIjp0cnVlfSk7XG4gICAgICBtb2R1bGUuaG90LmRpc3Bvc2UoY3NzUmVsb2FkKTtcbiAgICAgIFxuICAgIH1cbiAgIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/app/not-found.js b/.next/static/chunks/app/not-found.js deleted file mode 100644 index d435778..0000000 --- a/.next/static/chunks/app/not-found.js +++ /dev/null @@ -1,510 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/not-found"],{ - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!": -/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false! ***! - \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(app-pages-browser)/./src/components/Header.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background.jpg */ \"(app-pages-browser)/./src/images/background.jpg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZpbWFnZS1jb21wb25lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZsaW5rLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZjb21wb25lbnRzJTJGSGVhZGVyLmpzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkhlYWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZiYWNrZ3JvdW5kLmpwZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0Qmc2VydmVyPWZhbHNlISIsIm1hcHBpbmdzIjoiQUFBQSxvT0FBMkk7QUFDM0k7QUFDQSw4TUFBZ0k7QUFDaEk7QUFDQSxnTEFBZ0o7QUFDaEo7QUFDQSxnTEFBb0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz8zYjNiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaW1hZ2UtY29tcG9uZW50LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJIZWFkZXJcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2JhY2tncm91bmQuanBnXCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/api/link.js": -/*!********************************************!*\ - !*** ./node_modules/next/dist/api/link.js ***! - \********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _client_link__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=link.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXlDO0FBQ1Y7O0FBRS9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanM/MjAyYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/link.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/build/polyfills/process.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _global_process, _global_process1;\nmodule.exports = ((_global_process = __webpack_require__.g.process) == null ? void 0 : _global_process.env) && typeof ((_global_process1 = __webpack_require__.g.process) == null ? void 0 : _global_process1.env) === \"object\" ? __webpack_require__.g.process : __webpack_require__(/*! next/dist/compiled/process */ \"(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js\");\n\n//# sourceMappingURL=process.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3Byb2Nlc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLHFDQUFxQyxxQkFBTSxpRkFBaUYscUJBQU0sa0VBQWtFLHFCQUFNLFdBQVcsbUJBQU8sQ0FBQyw0R0FBNEI7O0FBRXpQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3Byb2Nlc3MuanM/Y2ViYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfZ2xvYmFsX3Byb2Nlc3MsIF9nbG9iYWxfcHJvY2VzczE7XG5tb2R1bGUuZXhwb3J0cyA9ICgoX2dsb2JhbF9wcm9jZXNzID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MuZW52KSAmJiB0eXBlb2YgKChfZ2xvYmFsX3Byb2Nlc3MxID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MxLmVudikgPT09IFwib2JqZWN0XCIgPyBnbG9iYWwucHJvY2VzcyA6IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2Vzc1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvY2Vzcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/picomatch/index.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\");\n(()=>{\"use strict\";var t={170:(t,e,u)=>{const n=u(510);const isWindows=()=>{if(typeof navigator!==\"undefined\"&&navigator.platform){const t=navigator.platform.toLowerCase();return t===\"win32\"||t===\"windows\"}if(typeof process!==\"undefined\"&&process.platform){return process.platform===\"win32\"}return false};function picomatch(t,e,u=false){if(e&&(e.windows===null||e.windows===undefined)){e={...e,windows:isWindows()}}return n(t,e,u)}Object.assign(picomatch,n);t.exports=picomatch},154:t=>{const e=\"\\\\\\\\/\";const u=`[^${e}]`;const n=\"\\\\.\";const o=\"\\\\+\";const s=\"\\\\?\";const r=\"\\\\/\";const a=\"(?=.)\";const i=\"[^/]\";const c=`(?:${r}|$)`;const p=`(?:^|${r})`;const l=`${n}{1,2}${c}`;const f=`(?!${n})`;const A=`(?!${p}${l})`;const _=`(?!${n}{0,1}${c})`;const R=`(?!${l})`;const E=`[^.${r}]`;const h=`${i}*?`;const g=\"/\";const b={DOT_LITERAL:n,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:r,ONE_CHAR:a,QMARK:i,END_ANCHOR:c,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:A,NO_DOT_SLASH:_,NO_DOTS_SLASH:R,QMARK_NO_DOT:E,STAR:h,START_ANCHOR:p,SEP:g};const C={...b,SLASH_LITERAL:`[${e}]`,QMARK:u,STAR:`${u}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`,SEP:\"\\\\\"};const y={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:y,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${t.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(t){return t===true?C:b}}},697:(t,e,u)=>{const n=u(154);const o=u(96);const{MAX_LENGTH:s,POSIX_REGEX_SOURCE:r,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:i,REPLACEMENTS:c}=n;const expandRange=(t,e)=>{if(typeof e.expandRange===\"function\"){return e.expandRange(...t,e)}t.sort();const u=`[${t.join(\"-\")}]`;try{new RegExp(u)}catch(e){return t.map((t=>o.escapeRegex(t))).join(\"..\")}return u};const syntaxError=(t,e)=>`Missing ${t}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`;const parse=(t,e)=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected a string\")}t=c[t]||t;const u={...e};const p=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;let l=t.length;if(l>p){throw new SyntaxError(`Input length: ${l}, exceeds maximum allowed length: ${p}`)}const f={type:\"bos\",value:\"\",output:u.prepend||\"\"};const A=[f];const _=u.capture?\"\":\"?:\";const R=n.globChars(u.windows);const E=n.extglobChars(R);const{DOT_LITERAL:h,PLUS_LITERAL:g,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:y,NO_DOT:$,NO_DOT_SLASH:x,NO_DOTS_SLASH:S,QMARK:H,QMARK_NO_DOT:v,STAR:d,START_ANCHOR:L}=R;const globstar=t=>`(${_}(?:(?!${L}${t.dot?y:h}).)*?)`;const T=u.dot?\"\":$;const O=u.dot?H:v;let k=u.bash===true?globstar(u):d;if(u.capture){k=`(${k})`}if(typeof u.noext===\"boolean\"){u.noextglob=u.noext}const m={input:t,index:-1,start:0,dot:u.dot===true,consumed:\"\",output:\"\",prefix:\"\",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:A};t=o.removePrefix(t,m);l=t.length;const w=[];const N=[];const I=[];let B=f;let G;const eos=()=>m.index===l-1;const D=m.peek=(e=1)=>t[m.index+e];const M=m.advance=()=>t[++m.index]||\"\";const remaining=()=>t.slice(m.index+1);const consume=(t=\"\",e=0)=>{m.consumed+=t;m.index+=e};const append=t=>{m.output+=t.output!=null?t.output:t.value;consume(t.value)};const negate=()=>{let t=1;while(D()===\"!\"&&(D(2)!==\"(\"||D(3)===\"?\")){M();m.start++;t++}if(t%2===0){return false}m.negated=true;m.start++;return true};const increment=t=>{m[t]++;I.push(t)};const decrement=t=>{m[t]--;I.pop()};const push=t=>{if(B.type===\"globstar\"){const e=m.braces>0&&(t.type===\"comma\"||t.type===\"brace\");const u=t.extglob===true||w.length&&(t.type===\"pipe\"||t.type===\"paren\");if(t.type!==\"slash\"&&t.type!==\"paren\"&&!e&&!u){m.output=m.output.slice(0,-B.output.length);B.type=\"star\";B.value=\"*\";B.output=k;m.output+=B.output}}if(w.length&&t.type!==\"paren\"){w[w.length-1].inner+=t.value}if(t.value||t.output)append(t);if(B&&B.type===\"text\"&&t.type===\"text\"){B.output=(B.output||B.value)+t.value;B.value+=t.value;return}t.prev=B;A.push(t);B=t};const extglobOpen=(t,e)=>{const n={...E[e],conditions:1,inner:\"\"};n.prev=B;n.parens=m.parens;n.output=m.output;const o=(u.capture?\"(\":\"\")+n.open;increment(\"parens\");push({type:t,value:e,output:m.output?\"\":C});push({type:\"paren\",extglob:true,value:M(),output:o});w.push(n)};const extglobClose=t=>{let n=t.close+(u.capture?\")\":\"\");let o;if(t.type===\"negate\"){let s=k;if(t.inner&&t.inner.length>1&&t.inner.includes(\"/\")){s=globstar(u)}if(s!==k||eos()||/^\\)+$/.test(remaining())){n=t.close=`)$))${s}`}if(t.inner.includes(\"*\")&&(o=remaining())&&/^\\.[^\\\\/.]+$/.test(o)){const u=parse(o,{...e,fastpaths:false}).output;n=t.close=`)${u})${s})`}if(t.prev.type===\"bos\"){m.negatedExtglob=true}}push({type:\"paren\",extglob:true,value:G,output:n});decrement(\"parens\")};if(u.fastpaths!==false&&!/(^[*!]|[/()[\\]{}\"])/.test(t)){let n=false;let s=t.replace(i,((t,e,u,o,s,r)=>{if(o===\"\\\\\"){n=true;return t}if(o===\"?\"){if(e){return e+o+(s?H.repeat(s.length):\"\")}if(r===0){return O+(s?H.repeat(s.length):\"\")}return H.repeat(u.length)}if(o===\".\"){return h.repeat(u.length)}if(o===\"*\"){if(e){return e+o+(s?k:\"\")}return k}return e?t:`\\\\${t}`}));if(n===true){if(u.unescape===true){s=s.replace(/\\\\/g,\"\")}else{s=s.replace(/\\\\+/g,(t=>t.length%2===0?\"\\\\\\\\\":t?\"\\\\\":\"\"))}}if(s===t&&u.contains===true){m.output=t;return m}m.output=o.wrapOutput(s,m,e);return m}while(!eos()){G=M();if(G===\"\\0\"){continue}if(G===\"\\\\\"){const t=D();if(t===\"/\"&&u.bash!==true){continue}if(t===\".\"||t===\";\"){continue}if(!t){G+=\"\\\\\";push({type:\"text\",value:G});continue}const e=/^\\\\+/.exec(remaining());let n=0;if(e&&e[0].length>2){n=e[0].length;m.index+=n;if(n%2!==0){G+=\"\\\\\"}}if(u.unescape===true){G=M()}else{G+=M()}if(m.brackets===0){push({type:\"text\",value:G});continue}}if(m.brackets>0&&(G!==\"]\"||B.value===\"[\"||B.value===\"[^\")){if(u.posix!==false&&G===\":\"){const t=B.value.slice(1);if(t.includes(\"[\")){B.posix=true;if(t.includes(\":\")){const t=B.value.lastIndexOf(\"[\");const e=B.value.slice(0,t);const u=B.value.slice(t+2);const n=r[u];if(n){B.value=e+n;m.backtrack=true;M();if(!f.output&&A.indexOf(B)===1){f.output=C}continue}}}}if(G===\"[\"&&D()!==\":\"||G===\"-\"&&D()===\"]\"){G=`\\\\${G}`}if(G===\"]\"&&(B.value===\"[\"||B.value===\"[^\")){G=`\\\\${G}`}if(u.posix===true&&G===\"!\"&&B.value===\"[\"){G=\"^\"}B.value+=G;append({value:G});continue}if(m.quotes===1&&G!=='\"'){G=o.escapeRegex(G);B.value+=G;append({value:G});continue}if(G==='\"'){m.quotes=m.quotes===1?0:1;if(u.keepQuotes===true){push({type:\"text\",value:G})}continue}if(G===\"(\"){increment(\"parens\");push({type:\"paren\",value:G});continue}if(G===\")\"){if(m.parens===0&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"(\"))}const t=w[w.length-1];if(t&&m.parens===t.parens+1){extglobClose(w.pop());continue}push({type:\"paren\",value:G,output:m.parens?\")\":\"\\\\)\"});decrement(\"parens\");continue}if(G===\"[\"){if(u.nobracket===true||!remaining().includes(\"]\")){if(u.nobracket!==true&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"closing\",\"]\"))}G=`\\\\${G}`}else{increment(\"brackets\")}push({type:\"bracket\",value:G});continue}if(G===\"]\"){if(u.nobracket===true||B&&B.type===\"bracket\"&&B.value.length===1){push({type:\"text\",value:G,output:`\\\\${G}`});continue}if(m.brackets===0){if(u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"[\"))}push({type:\"text\",value:G,output:`\\\\${G}`});continue}decrement(\"brackets\");const t=B.value.slice(1);if(B.posix!==true&&t[0]===\"^\"&&!t.includes(\"/\")){G=`/${G}`}B.value+=G;append({value:G});if(u.literalBrackets===false||o.hasRegexChars(t)){continue}const e=o.escapeRegex(B.value);m.output=m.output.slice(0,-B.value.length);if(u.literalBrackets===true){m.output+=e;B.value=e;continue}B.value=`(${_}${e}|${B.value})`;m.output+=B.value;continue}if(G===\"{\"&&u.nobrace!==true){increment(\"braces\");const t={type:\"brace\",value:G,output:\"(\",outputIndex:m.output.length,tokensIndex:m.tokens.length};N.push(t);push(t);continue}if(G===\"}\"){const t=N[N.length-1];if(u.nobrace===true||!t){push({type:\"text\",value:G,output:G});continue}let e=\")\";if(t.dots===true){const t=A.slice();const n=[];for(let e=t.length-1;e>=0;e--){A.pop();if(t[e].type===\"brace\"){break}if(t[e].type!==\"dots\"){n.unshift(t[e].value)}}e=expandRange(n,u);m.backtrack=true}if(t.comma!==true&&t.dots!==true){const u=m.output.slice(0,t.outputIndex);const n=m.tokens.slice(t.tokensIndex);t.value=t.output=\"\\\\{\";G=e=\"\\\\}\";m.output=u;for(const t of n){m.output+=t.output||t.value}}push({type:\"brace\",value:G,output:e});decrement(\"braces\");N.pop();continue}if(G===\"|\"){if(w.length>0){w[w.length-1].conditions++}push({type:\"text\",value:G});continue}if(G===\",\"){let t=G;const e=N[N.length-1];if(e&&I[I.length-1]===\"braces\"){e.comma=true;t=\"|\"}push({type:\"comma\",value:G,output:t});continue}if(G===\"/\"){if(B.type===\"dot\"&&m.index===m.start+1){m.start=m.index+1;m.consumed=\"\";m.output=\"\";A.pop();B=f;continue}push({type:\"slash\",value:G,output:b});continue}if(G===\".\"){if(m.braces>0&&B.type===\"dot\"){if(B.value===\".\")B.output=h;const t=N[N.length-1];B.type=\"dots\";B.output+=G;B.value+=G;t.dots=true;continue}if(m.braces+m.parens===0&&B.type!==\"bos\"&&B.type!==\"slash\"){push({type:\"text\",value:G,output:h});continue}push({type:\"dot\",value:G,output:h});continue}if(G===\"?\"){const t=B&&B.value===\"(\";if(!t&&u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"qmark\",G);continue}if(B&&B.type===\"paren\"){const t=D();let e=G;if(B.value===\"(\"&&!/[!=<:]/.test(t)||t===\"<\"&&!/<([!=]|\\w+>)/.test(remaining())){e=`\\\\${G}`}push({type:\"text\",value:G,output:e});continue}if(u.dot!==true&&(B.type===\"slash\"||B.type===\"bos\")){push({type:\"qmark\",value:G,output:v});continue}push({type:\"qmark\",value:G,output:H});continue}if(G===\"!\"){if(u.noextglob!==true&&D()===\"(\"){if(D(2)!==\"?\"||!/[!=<:]/.test(D(3))){extglobOpen(\"negate\",G);continue}}if(u.nonegate!==true&&m.index===0){negate();continue}}if(G===\"+\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"plus\",G);continue}if(B&&B.value===\"(\"||u.regex===false){push({type:\"plus\",value:G,output:g});continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\"||B.type===\"brace\")||m.parens>0){push({type:\"plus\",value:G});continue}push({type:\"plus\",value:g});continue}if(G===\"@\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){push({type:\"at\",extglob:true,value:G,output:\"\"});continue}push({type:\"text\",value:G});continue}if(G!==\"*\"){if(G===\"$\"||G===\"^\"){G=`\\\\${G}`}const t=a.exec(remaining());if(t){G+=t[0];m.index+=t[0].length}push({type:\"text\",value:G});continue}if(B&&(B.type===\"globstar\"||B.star===true)){B.type=\"star\";B.star=true;B.value+=G;B.output=k;m.backtrack=true;m.globstar=true;consume(G);continue}let e=remaining();if(u.noextglob!==true&&/^\\([^?]/.test(e)){extglobOpen(\"star\",G);continue}if(B.type===\"star\"){if(u.noglobstar===true){consume(G);continue}const n=B.prev;const o=n.prev;const s=n.type===\"slash\"||n.type===\"bos\";const r=o&&(o.type===\"star\"||o.type===\"globstar\");if(u.bash===true&&(!s||e[0]&&e[0]!==\"/\")){push({type:\"star\",value:G,output:\"\"});continue}const a=m.braces>0&&(n.type===\"comma\"||n.type===\"brace\");const i=w.length&&(n.type===\"pipe\"||n.type===\"paren\");if(!s&&n.type!==\"paren\"&&!a&&!i){push({type:\"star\",value:G,output:\"\"});continue}while(e.slice(0,3)===\"/**\"){const u=t[m.index+4];if(u&&u!==\"/\"){break}e=e.slice(3);consume(\"/**\",3)}if(n.type===\"bos\"&&eos()){B.type=\"globstar\";B.value+=G;B.output=globstar(u);m.output=B.output;m.globstar=true;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&!r&&eos()){m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=globstar(u)+(u.strictSlashes?\")\":\"|$)\");B.value+=G;m.globstar=true;m.output+=n.output+B.output;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&e[0]===\"/\"){const t=e[1]!==void 0?\"|$\":\"\";m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=`${globstar(u)}${b}|${b}${t})`;B.value+=G;m.output+=n.output+B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}if(n.type===\"bos\"&&e[0]===\"/\"){B.type=\"globstar\";B.value+=G;B.output=`(?:^|${b}|${globstar(u)}${b})`;m.output=B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}m.output=m.output.slice(0,-B.output.length);B.type=\"globstar\";B.output=globstar(u);B.value+=G;m.output+=B.output;m.globstar=true;consume(G);continue}const n={type:\"star\",value:G,output:k};if(u.bash===true){n.output=\".*?\";if(B.type===\"bos\"||B.type===\"slash\"){n.output=T+n.output}push(n);continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\")&&u.regex===true){n.output=G;push(n);continue}if(m.index===m.start||B.type===\"slash\"||B.type===\"dot\"){if(B.type===\"dot\"){m.output+=x;B.output+=x}else if(u.dot===true){m.output+=S;B.output+=S}else{m.output+=T;B.output+=T}if(D()!==\"*\"){m.output+=C;B.output+=C}}push(n)}while(m.brackets>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"]\"));m.output=o.escapeLast(m.output,\"[\");decrement(\"brackets\")}while(m.parens>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\")\"));m.output=o.escapeLast(m.output,\"(\");decrement(\"parens\")}while(m.braces>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"}\"));m.output=o.escapeLast(m.output,\"{\");decrement(\"braces\")}if(u.strictSlashes!==true&&(B.type===\"star\"||B.type===\"bracket\")){push({type:\"maybe_slash\",value:\"\",output:`${b}?`})}if(m.backtrack===true){m.output=\"\";for(const t of m.tokens){m.output+=t.output!=null?t.output:t.value;if(t.suffix){m.output+=t.suffix}}}return m};parse.fastpaths=(t,e)=>{const u={...e};const r=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;const a=t.length;if(a>r){throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${r}`)}t=c[t]||t;const{DOT_LITERAL:i,SLASH_LITERAL:p,ONE_CHAR:l,DOTS_SLASH:f,NO_DOT:A,NO_DOTS:_,NO_DOTS_SLASH:R,STAR:E,START_ANCHOR:h}=n.globChars(u.windows);const g=u.dot?_:A;const b=u.dot?R:A;const C=u.capture?\"\":\"?:\";const y={negated:false,prefix:\"\"};let $=u.bash===true?\".*?\":E;if(u.capture){$=`(${$})`}const globstar=t=>{if(t.noglobstar===true)return $;return`(${C}(?:(?!${h}${t.dot?f:i}).)*?)`};const create=t=>{switch(t){case\"*\":return`${g}${l}${$}`;case\".*\":return`${i}${l}${$}`;case\"*.*\":return`${g}${$}${i}${l}${$}`;case\"*/*\":return`${g}${$}${p}${l}${b}${$}`;case\"**\":return g+globstar(u);case\"**/*\":return`(?:${g}${globstar(u)}${p})?${b}${l}${$}`;case\"**/*.*\":return`(?:${g}${globstar(u)}${p})?${b}${$}${i}${l}${$}`;case\"**/.*\":return`(?:${g}${globstar(u)}${p})?${i}${l}${$}`;default:{const e=/^(.*?)\\.(\\w+)$/.exec(t);if(!e)return;const u=create(e[1]);if(!u)return;return u+i+e[2]}}};const x=o.removePrefix(t,y);let S=create(x);if(S&&u.strictSlashes!==true){S+=`${p}?`}return S};t.exports=parse},510:(t,e,u)=>{const n=u(716);const o=u(697);const s=u(96);const r=u(154);const isObject=t=>t&&typeof t===\"object\"&&!Array.isArray(t);const picomatch=(t,e,u=false)=>{if(Array.isArray(t)){const n=t.map((t=>picomatch(t,e,u)));const arrayMatcher=t=>{for(const e of n){const u=e(t);if(u)return u}return false};return arrayMatcher}const n=isObject(t)&&t.tokens&&t.input;if(t===\"\"||typeof t!==\"string\"&&!n){throw new TypeError(\"Expected pattern to be a non-empty string\")}const o=e||{};const s=o.windows;const r=n?picomatch.compileRe(t,e):picomatch.makeRe(t,e,false,true);const a=r.state;delete r.state;let isIgnored=()=>false;if(o.ignore){const t={...e,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(o.ignore,t,u)}const matcher=(u,n=false)=>{const{isMatch:i,match:c,output:p}=picomatch.test(u,r,e,{glob:t,posix:s});const l={glob:t,state:a,regex:r,posix:s,input:u,output:p,match:c,isMatch:i};if(typeof o.onResult===\"function\"){o.onResult(l)}if(i===false){l.isMatch=false;return n?l:false}if(isIgnored(u)){if(typeof o.onIgnore===\"function\"){o.onIgnore(l)}l.isMatch=false;return n?l:false}if(typeof o.onMatch===\"function\"){o.onMatch(l)}return n?l:true};if(u){matcher.state=a}return matcher};picomatch.test=(t,e,u,{glob:n,posix:o}={})=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected input to be a string\")}if(t===\"\"){return{isMatch:false,output:\"\"}}const r=u||{};const a=r.format||(o?s.toPosixSlashes:null);let i=t===n;let c=i&&a?a(t):t;if(i===false){c=a?a(t):t;i=c===n}if(i===false||r.capture===true){if(r.matchBase===true||r.basename===true){i=picomatch.matchBase(t,e,u,o)}else{i=e.exec(c)}}return{isMatch:Boolean(i),match:i,output:c}};picomatch.matchBase=(t,e,u)=>{const n=e instanceof RegExp?e:picomatch.makeRe(e,u);return n.test(s.basename(t))};picomatch.isMatch=(t,e,u)=>picomatch(e,u)(t);picomatch.parse=(t,e)=>{if(Array.isArray(t))return t.map((t=>picomatch.parse(t,e)));return o(t,{...e,fastpaths:false})};picomatch.scan=(t,e)=>n(t,e);picomatch.compileRe=(t,e,u=false,n=false)=>{if(u===true){return t.output}const o=e||{};const s=o.contains?\"\":\"^\";const r=o.contains?\"\":\"$\";let a=`${s}(?:${t.output})${r}`;if(t&&t.negated===true){a=`^(?!${a}).*$`}const i=picomatch.toRegex(a,e);if(n===true){i.state=t}return i};picomatch.makeRe=(t,e={},u=false,n=false)=>{if(!t||typeof t!==\"string\"){throw new TypeError(\"Expected a non-empty string\")}let s={negated:false,fastpaths:true};if(e.fastpaths!==false&&(t[0]===\".\"||t[0]===\"*\")){s.output=o.fastpaths(t,e)}if(!s.output){s=o(t,e)}return picomatch.compileRe(s,e,u,n)};picomatch.toRegex=(t,e)=>{try{const u=e||{};return new RegExp(t,u.flags||(u.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===true)throw t;return/$^/}};picomatch.constants=r;t.exports=picomatch},716:(t,e,u)=>{const n=u(96);const{CHAR_ASTERISK:o,CHAR_AT:s,CHAR_BACKWARD_SLASH:r,CHAR_COMMA:a,CHAR_DOT:i,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:f,CHAR_LEFT_SQUARE_BRACKET:A,CHAR_PLUS:_,CHAR_QUESTION_MARK:R,CHAR_RIGHT_CURLY_BRACE:E,CHAR_RIGHT_PARENTHESES:h,CHAR_RIGHT_SQUARE_BRACKET:g}=u(154);const isPathSeparator=t=>t===p||t===r;const depth=t=>{if(t.isPrefix!==true){t.depth=t.isGlobstar?Infinity:1}};const scan=(t,e)=>{const u=e||{};const b=t.length-1;const C=u.parts===true||u.scanToEnd===true;const y=[];const $=[];const x=[];let S=t;let H=-1;let v=0;let d=0;let L=false;let T=false;let O=false;let k=false;let m=false;let w=false;let N=false;let I=false;let B=false;let G=false;let D=0;let M;let P;let K={value:\"\",depth:0,isGlob:false};const eos=()=>H>=b;const peek=()=>S.charCodeAt(H+1);const advance=()=>{M=P;return S.charCodeAt(++H)};while(H<b){P=advance();let t;if(P===r){N=K.backslashes=true;P=advance();if(P===l){w=true}continue}if(w===true||P===l){D++;while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;advance();continue}if(P===l){D++;continue}if(w!==true&&P===i&&(P=advance())===i){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(w!==true&&P===a){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===E){D--;if(D===0){w=false;L=K.isBrace=true;G=true;break}}}if(C===true){continue}break}if(P===p){y.push(H);$.push(K);K={value:\"\",depth:0,isGlob:false};if(G===true)continue;if(M===i&&H===v+1){v+=2;continue}d=H+1;continue}if(u.noext!==true){const t=P===_||P===s||P===o||P===R||P===c;if(t===true&&peek()===f){O=K.isGlob=true;k=K.isExtglob=true;G=true;if(P===c&&H===v){B=true}if(C===true){while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;P=advance();continue}if(P===h){O=K.isGlob=true;G=true;break}}continue}break}}if(P===o){if(M===o)m=K.isGlobstar=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===R){O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===A){while(eos()!==true&&(t=advance())){if(t===r){N=K.backslashes=true;advance();continue}if(t===g){T=K.isBracket=true;O=K.isGlob=true;G=true;break}}if(C===true){continue}break}if(u.nonegate!==true&&P===c&&H===v){I=K.negated=true;v++;continue}if(u.noparen!==true&&P===f){O=K.isGlob=true;if(C===true){while(eos()!==true&&(P=advance())){if(P===f){N=K.backslashes=true;P=advance();continue}if(P===h){G=true;break}}continue}break}if(O===true){G=true;if(C===true){continue}break}}if(u.noext===true){k=false;O=false}let U=S;let X=\"\";let F=\"\";if(v>0){X=S.slice(0,v);S=S.slice(v);d-=v}if(U&&O===true&&d>0){U=S.slice(0,d);F=S.slice(d)}else if(O===true){U=\"\";F=S}else{U=S}if(U&&U!==\"\"&&U!==\"/\"&&U!==S){if(isPathSeparator(U.charCodeAt(U.length-1))){U=U.slice(0,-1)}}if(u.unescape===true){if(F)F=n.removeBackslashes(F);if(U&&N===true){U=n.removeBackslashes(U)}}const Q={prefix:X,input:t,start:v,base:U,glob:F,isBrace:L,isBracket:T,isGlob:O,isExtglob:k,isGlobstar:m,negated:I,negatedExtglob:B};if(u.tokens===true){Q.maxDepth=0;if(!isPathSeparator(P)){$.push(K)}Q.tokens=$}if(u.parts===true||u.tokens===true){let e;for(let n=0;n<y.length;n++){const o=e?e+1:v;const s=y[n];const r=t.slice(o,s);if(u.tokens){if(n===0&&v!==0){$[n].isPrefix=true;$[n].value=X}else{$[n].value=r}depth($[n]);Q.maxDepth+=$[n].depth}if(n!==0||r!==\"\"){x.push(r)}e=s}if(e&&e+1<t.length){const n=t.slice(e+1);x.push(n);if(u.tokens){$[$.length-1].value=n;depth($[$.length-1]);Q.maxDepth+=$[$.length-1].depth}}Q.slashes=y;Q.parts=x}return Q};t.exports=scan},96:(t,e,u)=>{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:r}=u(154);e.isObject=t=>t!==null&&typeof t===\"object\"&&!Array.isArray(t);e.hasRegexChars=t=>s.test(t);e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t);e.escapeRegex=t=>t.replace(r,\"\\\\$1\");e.toPosixSlashes=t=>t.replace(n,\"/\");e.removeBackslashes=t=>t.replace(o,(t=>t===\"\\\\\"?\"\":t));e.escapeLast=(t,u,n)=>{const o=t.lastIndexOf(u,n);if(o===-1)return t;if(t[o-1]===\"\\\\\")return e.escapeLast(t,u,o-1);return`${t.slice(0,o)}\\\\${t.slice(o)}`};e.removePrefix=(t,e={})=>{let u=t;if(u.startsWith(\"./\")){u=u.slice(2);e.prefix=\"./\"}return u};e.wrapOutput=(t,e={},u={})=>{const n=u.contains?\"\":\"^\";const o=u.contains?\"\":\"$\";let s=`${n}(?:${t})${o}`;if(e.negated===true){s=`(?:^(?!${s}).*$)`}return s};e.basename=(t,{windows:e}={})=>{const u=t.split(e?/[\\\\/]/:\"/\");const n=u[u.length-1];if(n===\"\"){return u[u.length-2]}return n}}};var e={};function __nccwpck_require__(u){var n=e[u];if(n!==undefined){return n.exports}var o=e[u]={exports:{}};var s=true;try{t[u](o,o.exports,__nccwpck_require__);s=false}finally{if(s)delete e[u]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var u=__nccwpck_require__(170);module.exports=u})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGljb21hdGNoL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxhQUFhLE9BQU8sY0FBYyxlQUFlLHFCQUFxQix1REFBdUQseUNBQXlDLGtDQUFrQyxVQUFVLE9BQU8sZ0JBQWdCLE9BQU8sV0FBVyxPQUFPLE9BQU8sb0JBQW9CLGNBQWMsZ0NBQWdDLGlEQUFpRCxHQUFHLDBCQUEwQixnQkFBZ0IsMkJBQTJCLG9CQUFvQixTQUFTLGdCQUFnQixhQUFhLEVBQUUsR0FBRyxjQUFjLGNBQWMsY0FBYyxjQUFjLGdCQUFnQixlQUFlLGNBQWMsRUFBRSxLQUFLLGdCQUFnQixFQUFFLEdBQUcsV0FBVyxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLFdBQVcsRUFBRSxJQUFJLFlBQVksU0FBUyx3TUFBd00sU0FBUyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLFNBQVMseUxBQXlMLGFBQWEsRUFBRSw4RUFBOEUsV0FBVyxzRUFBc0UscURBQXFELHlDQUF5QyxnR0FBZ0csNEVBQTRFLHVDQUF1QyxtM0JBQW0zQixPQUFPLEtBQUssMENBQTBDLE9BQU8sR0FBRyxNQUFNLG1DQUFtQyxNQUFNLGtDQUFrQyxNQUFNLGtDQUFrQyxNQUFNLGlDQUFpQyxjQUFjLHNCQUFzQixlQUFlLGVBQWUs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QUFPLGFBQWEsU0FBUyxPQUFPLG1CQUFtQixRQUFRLFFBQVEsUUFBUSxTQUFTLFNBQVMsUUFBUSxlQUFlLGFBQWEsS0FBSyxxQkFBcUIsZUFBZSxhQUFhLGtCQUFrQixLQUFLLElBQUksS0FBSyxJQUFJLDhCQUE4Qiw4Q0FBOEMsaUJBQWlCLHNCQUFzQiw4QkFBOEIsZ0JBQWdCLDBCQUEwQixTQUFTLDJIQUEySCxvQkFBb0IsYUFBYSx3QkFBd0IsVUFBVSxXQUFXLG9DQUFvQyxNQUFNLFlBQVksV0FBVyxLQUFLLGdCQUFnQixhQUFhLHFCQUFxQixhQUFhLGlCQUFpQixtQkFBbUIsYUFBYSxLQUFLLGFBQWEsWUFBWSx1QkFBdUIsa0JBQWtCLFVBQVUsSUFBSSxvQkFBb0IscUJBQXFCLFVBQVUsYUFBYSxzQkFBc0IscUJBQXFCLGlDQUFpQyxZQUFZLFVBQVUsVUFBVSxlQUFlLGNBQWMsTUFBTSw4RkFBOEYsUUFBUSwrREFBK0QsNkJBQTZCLGtEQUFrRCxxQ0FBcUMscUNBQXFDLHVEQUF1RCx1QkFBdUIsMkJBQTJCLG1CQUFtQiw4Q0FBOEMsU0FBUyxhQUFhLElBQUksV0FBVyxHQUFHLHNCQUFzQixJQUFJLFFBQVEsdUJBQXVCLGFBQWEsY0FBYyxVQUFVLG9CQUFvQixLQUFLLElBQUksMEJBQTBCLDBCQUEwQixTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLHFCQUFxQixZQUFZLEVBQUUsT0FBTyxVQUFVLGVBQWUsVUFBVSxHQUFHLElBQUksK0JBQStCLHNCQUFzQixXQUFXLHFCQUFxQixZQUFZLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLFlBQVksV0FBVyxJQUFJLHNDQUFzQyxRQUFRLFFBQVEsaUJBQWlCLGlCQUFpQixtRUFBbUUsU0FBUyxLQUFLLCtCQUErQixpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanM/NDVjZSJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgdD17MTcwOih0LGUsdSk9Pntjb25zdCBuPXUoNTEwKTtjb25zdCBpc1dpbmRvd3M9KCk9PntpZih0eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmbmF2aWdhdG9yLnBsYXRmb3JtKXtjb25zdCB0PW5hdmlnYXRvci5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09XCJ3aW4zMlwifHx0PT09XCJ3aW5kb3dzXCJ9aWYodHlwZW9mIHByb2Nlc3MhPT1cInVuZGVmaW5lZFwiJiZwcm9jZXNzLnBsYXRmb3JtKXtyZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybT09PVwid2luMzJcIn1yZXR1cm4gZmFsc2V9O2Z1bmN0aW9uIHBpY29tYXRjaCh0LGUsdT1mYWxzZSl7aWYoZSYmKGUud2luZG93cz09PW51bGx8fGUud2luZG93cz09PXVuZGVmaW5lZCkpe2U9ey4uLmUsd2luZG93czppc1dpbmRvd3MoKX19cmV0dXJuIG4odCxlLHUpfU9iamVjdC5hc3NpZ24ocGljb21hdGNoLG4pO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDE1NDp0PT57Y29uc3QgZT1cIlxcXFxcXFxcL1wiO2NvbnN0IHU9YFteJHtlfV1gO2NvbnN0IG49XCJcXFxcLlwiO2NvbnN0IG89XCJcXFxcK1wiO2NvbnN0IHM9XCJcXFxcP1wiO2NvbnN0IHI9XCJcXFxcL1wiO2NvbnN0IGE9XCIoPz0uKVwiO2NvbnN0IGk9XCJbXi9dXCI7Y29uc3QgYz1gKD86JHtyfXwkKWA7Y29uc3QgcD1gKD86Xnwke3J9KWA7Y29uc3QgbD1gJHtufXsxLDJ9JHtjfWA7Y29uc3QgZj1gKD8hJHtufSlgO2NvbnN0IEE9YCg/ISR7cH0ke2x9KWA7Y29uc3QgXz1gKD8hJHtufXswLDF9JHtjfSlgO2NvbnN0IFI9YCg/ISR7bH0pYDtjb25zdCBFPWBbXi4ke3J9XWA7Y29uc3QgaD1gJHtpfSo/YDtjb25zdCBnPVwiL1wiO2NvbnN0IGI9e0RPVF9MSVRFUkFMOm4sUExVU19MSVRFUkFMOm8sUU1BUktfTElURVJBTDpzLFNMQVNIX0xJVEVSQUw6cixPTkVfQ0hBUjphLFFNQVJLOmksRU5EX0FOQ0hPUjpjLERPVFNfU0xBU0g6bCxOT19ET1Q6ZixOT19ET1RTOkEsTk9fRE9UX1NMQVNIOl8sTk9fRE9UU19TTEFTSDpSLFFNQVJLX05PX0RPVDpFLFNUQVI6aCxTVEFSVF9BTkNIT1I6cCxTRVA6Z307Y29uc3QgQz17Li4uYixTTEFTSF9MSVRFUkFMOmBbJHtlfV1gLFFNQVJLOnUsU1RBUjpgJHt1fSo/YCxET1RTX1NMQVNIOmAke259ezEsMn0oPzpbJHtlfV18JClgLE5PX0RPVDpgKD8hJHtufSlgLE5PX0RPVFM6YCg/ISg/Ol58WyR7ZX1dKSR7bn17MSwyfSg/Olske2V9XXwkKSlgLE5PX0RPVF9TTEFTSDpgKD8hJHtufXswLDF9KD86WyR7ZX1dfCQpKWAsTk9fRE9UU19TTEFTSDpgKD8hJHtufXsxLDJ9KD86WyR7ZX1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2V9XWAsU1RBUlRfQU5DSE9SOmAoPzpefFske2V9XSlgLEVORF9BTkNIT1I6YCg/Olske2V9XXwkKWAsU0VQOlwiXFxcXFwifTtjb25zdCB5PXthbG51bTpcImEtekEtWjAtOVwiLGFscGhhOlwiYS16QS1aXCIsYXNjaWk6XCJcXFxceDAwLVxcXFx4N0ZcIixibGFuazpcIiBcXFxcdFwiLGNudHJsOlwiXFxcXHgwMC1cXFxceDFGXFxcXHg3RlwiLGRpZ2l0OlwiMC05XCIsZ3JhcGg6XCJcXFxceDIxLVxcXFx4N0VcIixsb3dlcjpcImEtelwiLHByaW50OlwiXFxcXHgyMC1cXFxceDdFIFwiLHB1bmN0OlwiXFxcXC0hXFxcIiMkJSYnKClcXFxcKissLi86Ozw9Pj9AW1xcXFxdXl9ge3x9flwiLHNwYWNlOlwiIFxcXFx0XFxcXHJcXFxcblxcXFx2XFxcXGZcIix1cHBlcjpcIkEtWlwiLHdvcmQ6XCJBLVphLXowLTlfXCIseGRpZ2l0OlwiQS1GYS1mMC05XCJ9O3QuZXhwb3J0cz17TUFYX0xFTkdUSDoxMDI0KjY0LFBPU0lYX1JFR0VYX1NPVVJDRTp5LFJFR0VYX0JBQ0tTTEFTSDovXFxcXCg/IVsqKz9eJHt9KHwpW1xcXV0pL2csUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6L15bXkAhW1xcXS4sJCorP157fSgpfFxcXFwvXSsvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6L1stKis/Ll4ke30ofClbXFxdXS8sUkVHRVhfU1BFQ0lBTF9DSEFSU19CQUNLUkVGOi8oXFxcXD8pKChcXFcpKFxcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXF1dKS9nLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6Lyg/OlxcWy4qP1teXFxcXF1cXF18XFxcXCg/PS4pKS9nLFJFUExBQ0VNRU5UUzp7XCIqKipcIjpcIipcIixcIioqLyoqXCI6XCIqKlwiLFwiKiovKiovKipcIjpcIioqXCJ9LENIQVJfMDo0OCxDSEFSXzk6NTcsQ0hBUl9VUFBFUkNBU0VfQTo2NSxDSEFSX0xPV0VSQ0FTRV9BOjk3LENIQVJfVVBQRVJDQVNFX1o6OTAsQ0hBUl9MT1dFUkNBU0VfWjoxMjIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOjQwLENIQVJfUklHSFRfUEFSRU5USEVTRVM6NDEsQ0hBUl9BU1RFUklTSzo0MixDSEFSX0FNUEVSU0FORDozOCxDSEFSX0FUOjY0LENIQVJfQkFDS1dBUkRfU0xBU0g6OTIsQ0hBUl9DQVJSSUFHRV9SRVRVUk46MTMsQ0hBUl9DSVJDVU1GTEVYX0FDQ0VOVDo5NCxDSEFSX0NPTE9OOjU4LENIQVJfQ09NTUE6NDQsQ0hBUl9ET1Q6NDYsQ0hBUl9ET1VCTEVfUVVPVEU6MzQsQ0hBUl9FUVVBTDo2MSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6MzMsQ0hBUl9GT1JNX0ZFRUQ6MTIsQ0hBUl9GT1JXQVJEX1NMQVNIOjQ3LENIQVJfR1JBVkVfQUNDRU5UOjk2LENIQVJfSEFTSDozNSxDSEFSX0hZUEhFTl9NSU5VUzo0NSxDSEFSX0xFRlRfQU5HTEVfQlJBQ0tFVDo2MCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6MTIzLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDo5MSxDSEFSX0xJTkVfRkVFRDoxMCxDSEFSX05PX0JSRUFLX1NQQUNFOjE2MCxDSEFSX1BFUkNFTlQ6MzcsQ0hBUl9QTFVTOjQzLENIQVJfUVVFU1RJT05fTUFSSzo2MyxDSEFSX1JJR0hUX0FOR0xFX0JSQUNLRVQ6NjIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToxMjUsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDo5MyxDSEFSX1NFTUlDT0xPTjo1OSxDSEFSX1NJTkdMRV9RVU9URTozOSxDSEFSX1NQQUNFOjMyLENIQVJfVEFCOjksQ0hBUl9VTkRFUlNDT1JFOjk1LENIQVJfVkVSVElDQUxfTElORToxMjQsQ0hBUl9aRVJPX1dJRFRIX05PQlJFQUtfU1BBQ0U6NjUyNzksZXh0Z2xvYkNoYXJzKHQpe3JldHVybntcIiFcIjp7dHlwZTpcIm5lZ2F0ZVwiLG9wZW46XCIoPzooPyEoPzpcIixjbG9zZTpgKSkke3QuU1RBUn0pYH0sXCI/XCI6e3R5cGU6XCJxbWFya1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIik/XCJ9LFwiK1wiOnt0eXBlOlwicGx1c1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIikrXCJ9LFwiKlwiOnt0eXBlOlwic3RhclwiLG9wZW46XCIoPzpcIixjbG9zZTpcIikqXCJ9LFwiQFwiOnt0eXBlOlwiYXRcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpXCJ9fX0sZ2xvYkNoYXJzKHQpe3JldHVybiB0PT09dHJ1ZT9DOmJ9fX0sNjk3Oih0LGUsdSk9Pntjb25zdCBuPXUoMTU0KTtjb25zdCBvPXUoOTYpO2NvbnN0e01BWF9MRU5HVEg6cyxQT1NJWF9SRUdFWF9TT1VSQ0U6cixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzphLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjppLFJFUExBQ0VNRU5UUzpjfT1uO2NvbnN0IGV4cGFuZFJhbmdlPSh0LGUpPT57aWYodHlwZW9mIGUuZXhwYW5kUmFuZ2U9PT1cImZ1bmN0aW9uXCIpe3JldHVybiBlLmV4cGFuZFJhbmdlKC4uLnQsZSl9dC5zb3J0KCk7Y29uc3QgdT1gWyR7dC5qb2luKFwiLVwiKX1dYDt0cnl7bmV3IFJlZ0V4cCh1KX1jYXRjaChlKXtyZXR1cm4gdC5tYXAoKHQ9Pm8uZXNjYXBlUmVnZXgodCkpKS5qb2luKFwiLi5cIil9cmV0dXJuIHV9O2NvbnN0IHN5bnRheEVycm9yPSh0LGUpPT5gTWlzc2luZyAke3R9OiBcIiR7ZX1cIiAtIHVzZSBcIlxcXFxcXFxcJHtlfVwiIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2A7Y29uc3QgcGFyc2U9KHQsZSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKX10PWNbdF18fHQ7Y29uc3QgdT17Li4uZX07Y29uc3QgcD10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7bGV0IGw9dC5sZW5ndGg7aWYobD5wKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtsfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3B9YCl9Y29uc3QgZj17dHlwZTpcImJvc1wiLHZhbHVlOlwiXCIsb3V0cHV0OnUucHJlcGVuZHx8XCJcIn07Y29uc3QgQT1bZl07Y29uc3QgXz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgUj1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IEU9bi5leHRnbG9iQ2hhcnMoUik7Y29uc3R7RE9UX0xJVEVSQUw6aCxQTFVTX0xJVEVSQUw6ZyxTTEFTSF9MSVRFUkFMOmIsT05FX0NIQVI6QyxET1RTX1NMQVNIOnksTk9fRE9UOiQsTk9fRE9UX1NMQVNIOngsTk9fRE9UU19TTEFTSDpTLFFNQVJLOkgsUU1BUktfTk9fRE9UOnYsU1RBUjpkLFNUQVJUX0FOQ0hPUjpMfT1SO2NvbnN0IGdsb2JzdGFyPXQ9PmAoJHtffSg/Oig/ISR7TH0ke3QuZG90P3k6aH0pLikqPylgO2NvbnN0IFQ9dS5kb3Q/XCJcIjokO2NvbnN0IE89dS5kb3Q/SDp2O2xldCBrPXUuYmFzaD09PXRydWU/Z2xvYnN0YXIodSk6ZDtpZih1LmNhcHR1cmUpe2s9YCgke2t9KWB9aWYodHlwZW9mIHUubm9leHQ9PT1cImJvb2xlYW5cIil7dS5ub2V4dGdsb2I9dS5ub2V4dH1jb25zdCBtPXtpbnB1dDp0LGluZGV4Oi0xLHN0YXJ0OjAsZG90OnUuZG90PT09dHJ1ZSxjb25zdW1lZDpcIlwiLG91dHB1dDpcIlwiLHByZWZpeDpcIlwiLGJhY2t0cmFjazpmYWxzZSxuZWdhdGVkOmZhbHNlLGJyYWNrZXRzOjAsYnJhY2VzOjAscGFyZW5zOjAscXVvdGVzOjAsZ2xvYnN0YXI6ZmFsc2UsdG9rZW5zOkF9O3Q9by5yZW1vdmVQcmVmaXgodCxtKTtsPXQubGVuZ3RoO2NvbnN0IHc9W107Y29uc3QgTj1bXTtjb25zdCBJPVtdO2xldCBCPWY7bGV0IEc7Y29uc3QgZW9zPSgpPT5tLmluZGV4PT09bC0xO2NvbnN0IEQ9bS5wZWVrPShlPTEpPT50W20uaW5kZXgrZV07Y29uc3QgTT1tLmFkdmFuY2U9KCk9PnRbKyttLmluZGV4XXx8XCJcIjtjb25zdCByZW1haW5pbmc9KCk9PnQuc2xpY2UobS5pbmRleCsxKTtjb25zdCBjb25zdW1lPSh0PVwiXCIsZT0wKT0+e20uY29uc3VtZWQrPXQ7bS5pbmRleCs9ZX07Y29uc3QgYXBwZW5kPXQ9PnttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtjb25zdW1lKHQudmFsdWUpfTtjb25zdCBuZWdhdGU9KCk9PntsZXQgdD0xO3doaWxlKEQoKT09PVwiIVwiJiYoRCgyKSE9PVwiKFwifHxEKDMpPT09XCI/XCIpKXtNKCk7bS5zdGFydCsrO3QrK31pZih0JTI9PT0wKXtyZXR1cm4gZmFsc2V9bS5uZWdhdGVkPXRydWU7bS5zdGFydCsrO3JldHVybiB0cnVlfTtjb25zdCBpbmNyZW1lbnQ9dD0+e21bdF0rKztJLnB1c2godCl9O2NvbnN0IGRlY3JlbWVudD10PT57bVt0XS0tO0kucG9wKCl9O2NvbnN0IHB1c2g9dD0+e2lmKEIudHlwZT09PVwiZ2xvYnN0YXJcIil7Y29uc3QgZT1tLmJyYWNlcz4wJiYodC50eXBlPT09XCJjb21tYVwifHx0LnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IHU9dC5leHRnbG9iPT09dHJ1ZXx8dy5sZW5ndGgmJih0LnR5cGU9PT1cInBpcGVcInx8dC50eXBlPT09XCJwYXJlblwiKTtpZih0LnR5cGUhPT1cInNsYXNoXCImJnQudHlwZSE9PVwicGFyZW5cIiYmIWUmJiF1KXttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cInN0YXJcIjtCLnZhbHVlPVwiKlwiO0Iub3V0cHV0PWs7bS5vdXRwdXQrPUIub3V0cHV0fX1pZih3Lmxlbmd0aCYmdC50eXBlIT09XCJwYXJlblwiKXt3W3cubGVuZ3RoLTFdLmlubmVyKz10LnZhbHVlfWlmKHQudmFsdWV8fHQub3V0cHV0KWFwcGVuZCh0KTtpZihCJiZCLnR5cGU9PT1cInRleHRcIiYmdC50eXBlPT09XCJ0ZXh0XCIpe0Iub3V0cHV0PShCLm91dHB1dHx8Qi52YWx1ZSkrdC52YWx1ZTtCLnZhbHVlKz10LnZhbHVlO3JldHVybn10LnByZXY9QjtBLnB1c2godCk7Qj10fTtjb25zdCBleHRnbG9iT3Blbj0odCxlKT0+e2NvbnN0IG49ey4uLkVbZV0sY29uZGl0aW9uczoxLGlubmVyOlwiXCJ9O24ucHJldj1CO24ucGFyZW5zPW0ucGFyZW5zO24ub3V0cHV0PW0ub3V0cHV0O2NvbnN0IG89KHUuY2FwdHVyZT9cIihcIjpcIlwiKStuLm9wZW47aW5jcmVtZW50KFwicGFyZW5zXCIpO3B1c2goe3R5cGU6dCx2YWx1ZTplLG91dHB1dDptLm91dHB1dD9cIlwiOkN9KTtwdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6TSgpLG91dHB1dDpvfSk7dy5wdXNoKG4pfTtjb25zdCBleHRnbG9iQ2xvc2U9dD0+e2xldCBuPXQuY2xvc2UrKHUuY2FwdHVyZT9cIilcIjpcIlwiKTtsZXQgbztpZih0LnR5cGU9PT1cIm5lZ2F0ZVwiKXtsZXQgcz1rO2lmKHQuaW5uZXImJnQuaW5uZXIubGVuZ3RoPjEmJnQuaW5uZXIuaW5jbHVkZXMoXCIvXCIpKXtzPWdsb2JzdGFyKHUpfWlmKHMhPT1rfHxlb3MoKXx8L15cXCkrJC8udGVzdChyZW1haW5pbmcoKSkpe249dC5jbG9zZT1gKSQpKSR7c31gfWlmKHQuaW5uZXIuaW5jbHVkZXMoXCIqXCIpJiYobz1yZW1haW5pbmcoKSkmJi9eXFwuW15cXFxcLy5dKyQvLnRlc3Qobykpe2NvbnN0IHU9cGFyc2Uobyx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KS5vdXRwdXQ7bj10LmNsb3NlPWApJHt1fSkke3N9KWB9aWYodC5wcmV2LnR5cGU9PT1cImJvc1wiKXttLm5lZ2F0ZWRFeHRnbG9iPXRydWV9fXB1c2goe3R5cGU6XCJwYXJlblwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpufSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpfTtpZih1LmZhc3RwYXRocyE9PWZhbHNlJiYhLyheWyohXXxbLygpW1xcXXt9XCJdKS8udGVzdCh0KSl7bGV0IG49ZmFsc2U7bGV0IHM9dC5yZXBsYWNlKGksKCh0LGUsdSxvLHMscik9PntpZihvPT09XCJcXFxcXCIpe249dHJ1ZTtyZXR1cm4gdH1pZihvPT09XCI/XCIpe2lmKGUpe3JldHVybiBlK28rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfWlmKHI9PT0wKXtyZXR1cm4gTysocz9ILnJlcGVhdChzLmxlbmd0aCk6XCJcIil9cmV0dXJuIEgucmVwZWF0KHUubGVuZ3RoKX1pZihvPT09XCIuXCIpe3JldHVybiBoLnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiKlwiKXtpZihlKXtyZXR1cm4gZStvKyhzP2s6XCJcIil9cmV0dXJuIGt9cmV0dXJuIGU/dDpgXFxcXCR7dH1gfSkpO2lmKG49PT10cnVlKXtpZih1LnVuZXNjYXBlPT09dHJ1ZSl7cz1zLnJlcGxhY2UoL1xcXFwvZyxcIlwiKX1lbHNle3M9cy5yZXBsYWNlKC9cXFxcKy9nLCh0PT50Lmxlbmd0aCUyPT09MD9cIlxcXFxcXFxcXCI6dD9cIlxcXFxcIjpcIlwiKSl9fWlmKHM9PT10JiZ1LmNvbnRhaW5zPT09dHJ1ZSl7bS5vdXRwdXQ9dDtyZXR1cm4gbX1tLm91dHB1dD1vLndyYXBPdXRwdXQocyxtLGUpO3JldHVybiBtfXdoaWxlKCFlb3MoKSl7Rz1NKCk7aWYoRz09PVwiXFwwXCIpe2NvbnRpbnVlfWlmKEc9PT1cIlxcXFxcIil7Y29uc3QgdD1EKCk7aWYodD09PVwiL1wiJiZ1LmJhc2ghPT10cnVlKXtjb250aW51ZX1pZih0PT09XCIuXCJ8fHQ9PT1cIjtcIil7Y29udGludWV9aWYoIXQpe0crPVwiXFxcXFwiO3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWNvbnN0IGU9L15cXFxcKy8uZXhlYyhyZW1haW5pbmcoKSk7bGV0IG49MDtpZihlJiZlWzBdLmxlbmd0aD4yKXtuPWVbMF0ubGVuZ3RoO20uaW5kZXgrPW47aWYobiUyIT09MCl7Rys9XCJcXFxcXCJ9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtHPU0oKX1lbHNle0crPU0oKX1pZihtLmJyYWNrZXRzPT09MCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9fWlmKG0uYnJhY2tldHM+MCYmKEchPT1cIl1cInx8Qi52YWx1ZT09PVwiW1wifHxCLnZhbHVlPT09XCJbXlwiKSl7aWYodS5wb3NpeCE9PWZhbHNlJiZHPT09XCI6XCIpe2NvbnN0IHQ9Qi52YWx1ZS5zbGljZSgxKTtpZih0LmluY2x1ZGVzKFwiW1wiKSl7Qi5wb3NpeD10cnVlO2lmKHQuaW5jbHVkZXMoXCI6XCIpKXtjb25zdCB0PUIudmFsdWUubGFzdEluZGV4T2YoXCJbXCIpO2NvbnN0IGU9Qi52YWx1ZS5zbGljZSgwLHQpO2NvbnN0IHU9Qi52YWx1ZS5zbGljZSh0KzIpO2NvbnN0IG49clt1XTtpZihuKXtCLnZhbHVlPWUrbjttLmJhY2t0cmFjaz10cnVlO00oKTtpZighZi5vdXRwdXQmJkEuaW5kZXhPZihCKT09PTEpe2Yub3V0cHV0PUN9Y29udGludWV9fX19aWYoRz09PVwiW1wiJiZEKCkhPT1cIjpcInx8Rz09PVwiLVwiJiZEKCk9PT1cIl1cIil7Rz1gXFxcXCR7R31gfWlmKEc9PT1cIl1cIiYmKEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe0c9YFxcXFwke0d9YH1pZih1LnBvc2l4PT09dHJ1ZSYmRz09PVwiIVwiJiZCLnZhbHVlPT09XCJbXCIpe0c9XCJeXCJ9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihtLnF1b3Rlcz09PTEmJkchPT0nXCInKXtHPW8uZXNjYXBlUmVnZXgoRyk7Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09J1wiJyl7bS5xdW90ZXM9bS5xdW90ZXM9PT0xPzA6MTtpZih1LmtlZXBRdW90ZXM9PT10cnVlKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KX1jb250aW51ZX1pZihHPT09XCIoXCIpe2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOlwicGFyZW5cIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiKVwiKXtpZihtLnBhcmVucz09PTAmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCIoXCIpKX1jb25zdCB0PXdbdy5sZW5ndGgtMV07aWYodCYmbS5wYXJlbnM9PT10LnBhcmVucysxKXtleHRnbG9iQ2xvc2Uody5wb3AoKSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6RyxvdXRwdXQ6bS5wYXJlbnM/XCIpXCI6XCJcXFxcKVwifSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpO2NvbnRpbnVlfWlmKEc9PT1cIltcIil7aWYodS5ub2JyYWNrZXQ9PT10cnVlfHwhcmVtYWluaW5nKCkuaW5jbHVkZXMoXCJdXCIpKXtpZih1Lm5vYnJhY2tldCE9PXRydWUmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKX1HPWBcXFxcJHtHfWB9ZWxzZXtpbmNyZW1lbnQoXCJicmFja2V0c1wiKX1wdXNoKHt0eXBlOlwiYnJhY2tldFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCJdXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8QiYmQi50eXBlPT09XCJicmFja2V0XCImJkIudmFsdWUubGVuZ3RoPT09MSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9aWYobS5icmFja2V0cz09PTApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCJbXCIpKX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmBcXFxcJHtHfWB9KTtjb250aW51ZX1kZWNyZW1lbnQoXCJicmFja2V0c1wiKTtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYoQi5wb3NpeCE9PXRydWUmJnRbMF09PT1cIl5cIiYmIXQuaW5jbHVkZXMoXCIvXCIpKXtHPWAvJHtHfWB9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtpZih1LmxpdGVyYWxCcmFja2V0cz09PWZhbHNlfHxvLmhhc1JlZ2V4Q2hhcnModCkpe2NvbnRpbnVlfWNvbnN0IGU9by5lc2NhcGVSZWdleChCLnZhbHVlKTttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLnZhbHVlLmxlbmd0aCk7aWYodS5saXRlcmFsQnJhY2tldHM9PT10cnVlKXttLm91dHB1dCs9ZTtCLnZhbHVlPWU7Y29udGludWV9Qi52YWx1ZT1gKCR7X30ke2V9fCR7Qi52YWx1ZX0pYDttLm91dHB1dCs9Qi52YWx1ZTtjb250aW51ZX1pZihHPT09XCJ7XCImJnUubm9icmFjZSE9PXRydWUpe2luY3JlbWVudChcImJyYWNlc1wiKTtjb25zdCB0PXt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDpcIihcIixvdXRwdXRJbmRleDptLm91dHB1dC5sZW5ndGgsdG9rZW5zSW5kZXg6bS50b2tlbnMubGVuZ3RofTtOLnB1c2godCk7cHVzaCh0KTtjb250aW51ZX1pZihHPT09XCJ9XCIpe2NvbnN0IHQ9TltOLmxlbmd0aC0xXTtpZih1Lm5vYnJhY2U9PT10cnVlfHwhdCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpHfSk7Y29udGludWV9bGV0IGU9XCIpXCI7aWYodC5kb3RzPT09dHJ1ZSl7Y29uc3QgdD1BLnNsaWNlKCk7Y29uc3Qgbj1bXTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7QS5wb3AoKTtpZih0W2VdLnR5cGU9PT1cImJyYWNlXCIpe2JyZWFrfWlmKHRbZV0udHlwZSE9PVwiZG90c1wiKXtuLnVuc2hpZnQodFtlXS52YWx1ZSl9fWU9ZXhwYW5kUmFuZ2Uobix1KTttLmJhY2t0cmFjaz10cnVlfWlmKHQuY29tbWEhPT10cnVlJiZ0LmRvdHMhPT10cnVlKXtjb25zdCB1PW0ub3V0cHV0LnNsaWNlKDAsdC5vdXRwdXRJbmRleCk7Y29uc3Qgbj1tLnRva2Vucy5zbGljZSh0LnRva2Vuc0luZGV4KTt0LnZhbHVlPXQub3V0cHV0PVwiXFxcXHtcIjtHPWU9XCJcXFxcfVwiO20ub3V0cHV0PXU7Zm9yKGNvbnN0IHQgb2Ygbil7bS5vdXRwdXQrPXQub3V0cHV0fHx0LnZhbHVlfX1wdXNoKHt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDplfSk7ZGVjcmVtZW50KFwiYnJhY2VzXCIpO04ucG9wKCk7Y29udGludWV9aWYoRz09PVwifFwiKXtpZih3Lmxlbmd0aD4wKXt3W3cubGVuZ3RoLTFdLmNvbmRpdGlvbnMrK31wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCIsXCIpe2xldCB0PUc7Y29uc3QgZT1OW04ubGVuZ3RoLTFdO2lmKGUmJklbSS5sZW5ndGgtMV09PT1cImJyYWNlc1wiKXtlLmNvbW1hPXRydWU7dD1cInxcIn1wdXNoKHt0eXBlOlwiY29tbWFcIix2YWx1ZTpHLG91dHB1dDp0fSk7Y29udGludWV9aWYoRz09PVwiL1wiKXtpZihCLnR5cGU9PT1cImRvdFwiJiZtLmluZGV4PT09bS5zdGFydCsxKXttLnN0YXJ0PW0uaW5kZXgrMTttLmNvbnN1bWVkPVwiXCI7bS5vdXRwdXQ9XCJcIjtBLnBvcCgpO0I9Zjtjb250aW51ZX1wdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpHLG91dHB1dDpifSk7Y29udGludWV9aWYoRz09PVwiLlwiKXtpZihtLmJyYWNlcz4wJiZCLnR5cGU9PT1cImRvdFwiKXtpZihCLnZhbHVlPT09XCIuXCIpQi5vdXRwdXQ9aDtjb25zdCB0PU5bTi5sZW5ndGgtMV07Qi50eXBlPVwiZG90c1wiO0Iub3V0cHV0Kz1HO0IudmFsdWUrPUc7dC5kb3RzPXRydWU7Y29udGludWV9aWYobS5icmFjZXMrbS5wYXJlbnM9PT0wJiZCLnR5cGUhPT1cImJvc1wiJiZCLnR5cGUhPT1cInNsYXNoXCIpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJkb3RcIix2YWx1ZTpHLG91dHB1dDpofSk7Y29udGludWV9aWYoRz09PVwiP1wiKXtjb25zdCB0PUImJkIudmFsdWU9PT1cIihcIjtpZighdCYmdS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIiYmRCgyKSE9PVwiP1wiKXtleHRnbG9iT3BlbihcInFtYXJrXCIsRyk7Y29udGludWV9aWYoQiYmQi50eXBlPT09XCJwYXJlblwiKXtjb25zdCB0PUQoKTtsZXQgZT1HO2lmKEIudmFsdWU9PT1cIihcIiYmIS9bIT08Ol0vLnRlc3QodCl8fHQ9PT1cIjxcIiYmIS88KFshPV18XFx3Kz4pLy50ZXN0KHJlbWFpbmluZygpKSl7ZT1gXFxcXCR7R31gfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2NvbnRpbnVlfWlmKHUuZG90IT09dHJ1ZSYmKEIudHlwZT09PVwic2xhc2hcInx8Qi50eXBlPT09XCJib3NcIikpe3B1c2goe3R5cGU6XCJxbWFya1wiLHZhbHVlOkcsb3V0cHV0OnZ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDpIfSk7Y29udGludWV9aWYoRz09PVwiIVwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiKXtpZihEKDIpIT09XCI/XCJ8fCEvWyE9PDpdLy50ZXN0KEQoMykpKXtleHRnbG9iT3BlbihcIm5lZ2F0ZVwiLEcpO2NvbnRpbnVlfX1pZih1Lm5vbmVnYXRlIT09dHJ1ZSYmbS5pbmRleD09PTApe25lZ2F0ZSgpO2NvbnRpbnVlfX1pZihHPT09XCIrXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJwbHVzXCIsRyk7Y29udGludWV9aWYoQiYmQi52YWx1ZT09PVwiKFwifHx1LnJlZ2V4PT09ZmFsc2Upe3B1c2goe3R5cGU6XCJwbHVzXCIsdmFsdWU6RyxvdXRwdXQ6Z30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwifHxCLnR5cGU9PT1cImJyYWNlXCIpfHxtLnBhcmVucz4wKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkd9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOmd9KTtjb250aW51ZX1pZihHPT09XCJAXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7cHVzaCh7dHlwZTpcImF0XCIsZXh0Z2xvYjp0cnVlLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHIT09XCIqXCIpe2lmKEc9PT1cIiRcInx8Rz09PVwiXlwiKXtHPWBcXFxcJHtHfWB9Y29uc3QgdD1hLmV4ZWMocmVtYWluaW5nKCkpO2lmKHQpe0crPXRbMF07bS5pbmRleCs9dFswXS5sZW5ndGh9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiZ2xvYnN0YXJcInx8Qi5zdGFyPT09dHJ1ZSkpe0IudHlwZT1cInN0YXJcIjtCLnN0YXI9dHJ1ZTtCLnZhbHVlKz1HO0Iub3V0cHV0PWs7bS5iYWNrdHJhY2s9dHJ1ZTttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1sZXQgZT1yZW1haW5pbmcoKTtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJi9eXFwoW14/XS8udGVzdChlKSl7ZXh0Z2xvYk9wZW4oXCJzdGFyXCIsRyk7Y29udGludWV9aWYoQi50eXBlPT09XCJzdGFyXCIpe2lmKHUubm9nbG9ic3Rhcj09PXRydWUpe2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj1CLnByZXY7Y29uc3Qgbz1uLnByZXY7Y29uc3Qgcz1uLnR5cGU9PT1cInNsYXNoXCJ8fG4udHlwZT09PVwiYm9zXCI7Y29uc3Qgcj1vJiYoby50eXBlPT09XCJzdGFyXCJ8fG8udHlwZT09PVwiZ2xvYnN0YXJcIik7aWYodS5iYXNoPT09dHJ1ZSYmKCFzfHxlWzBdJiZlWzBdIT09XCIvXCIpKXtwdXNoKHt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1jb25zdCBhPW0uYnJhY2VzPjAmJihuLnR5cGU9PT1cImNvbW1hXCJ8fG4udHlwZT09PVwiYnJhY2VcIik7Y29uc3QgaT13Lmxlbmd0aCYmKG4udHlwZT09PVwicGlwZVwifHxuLnR5cGU9PT1cInBhcmVuXCIpO2lmKCFzJiZuLnR5cGUhPT1cInBhcmVuXCImJiFhJiYhaSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9d2hpbGUoZS5zbGljZSgwLDMpPT09XCIvKipcIil7Y29uc3QgdT10W20uaW5kZXgrNF07aWYodSYmdSE9PVwiL1wiKXticmVha31lPWUuc2xpY2UoMyk7Y29uc3VtZShcIi8qKlwiLDMpfWlmKG4udHlwZT09PVwiYm9zXCImJmVvcygpKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7bS5vdXRwdXQ9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9aWYobi50eXBlPT09XCJzbGFzaFwiJiZuLnByZXYudHlwZSE9PVwiYm9zXCImJiFyJiZlb3MoKSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KSsodS5zdHJpY3RTbGFzaGVzP1wiKVwiOlwifCQpXCIpO0IudmFsdWUrPUc7bS5nbG9ic3Rhcj10cnVlO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe2NvbnN0IHQ9ZVsxXSE9PXZvaWQgMD9cInwkXCI6XCJcIjttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC0obi5vdXRwdXQrQi5vdXRwdXQpLmxlbmd0aCk7bi5vdXRwdXQ9YCg/OiR7bi5vdXRwdXR9YDtCLnR5cGU9XCJnbG9ic3RhclwiO0Iub3V0cHV0PWAke2dsb2JzdGFyKHUpfSR7Yn18JHtifSR7dH0pYDtCLnZhbHVlKz1HO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1pZihuLnR5cGU9PT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe0IudHlwZT1cImdsb2JzdGFyXCI7Qi52YWx1ZSs9RztCLm91dHB1dD1gKD86Xnwke2J9fCR7Z2xvYnN0YXIodSl9JHtifSlgO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcrTSgpKTtwdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpcIi9cIixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfW0ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLUIub3V0cHV0Lmxlbmd0aCk7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KTtCLnZhbHVlKz1HO20ub3V0cHV0Kz1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1jb25zdCBuPXt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0Omt9O2lmKHUuYmFzaD09PXRydWUpe24ub3V0cHV0PVwiLio/XCI7aWYoQi50eXBlPT09XCJib3NcInx8Qi50eXBlPT09XCJzbGFzaFwiKXtuLm91dHB1dD1UK24ub3V0cHV0fXB1c2gobik7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiYnJhY2tldFwifHxCLnR5cGU9PT1cInBhcmVuXCIpJiZ1LnJlZ2V4PT09dHJ1ZSl7bi5vdXRwdXQ9RztwdXNoKG4pO2NvbnRpbnVlfWlmKG0uaW5kZXg9PT1tLnN0YXJ0fHxCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiZG90XCIpe2lmKEIudHlwZT09PVwiZG90XCIpe20ub3V0cHV0Kz14O0Iub3V0cHV0Kz14fWVsc2UgaWYodS5kb3Q9PT10cnVlKXttLm91dHB1dCs9UztCLm91dHB1dCs9U31lbHNle20ub3V0cHV0Kz1UO0Iub3V0cHV0Kz1UfWlmKEQoKSE9PVwiKlwiKXttLm91dHB1dCs9QztCLm91dHB1dCs9Q319cHVzaChuKX13aGlsZShtLmJyYWNrZXRzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIl1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIltcIik7ZGVjcmVtZW50KFwiYnJhY2tldHNcIil9d2hpbGUobS5wYXJlbnM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiKVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwiKFwiKTtkZWNyZW1lbnQoXCJwYXJlbnNcIil9d2hpbGUobS5icmFjZXM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwifVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwie1wiKTtkZWNyZW1lbnQoXCJicmFjZXNcIil9aWYodS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSYmKEIudHlwZT09PVwic3RhclwifHxCLnR5cGU9PT1cImJyYWNrZXRcIikpe3B1c2goe3R5cGU6XCJtYXliZV9zbGFzaFwiLHZhbHVlOlwiXCIsb3V0cHV0OmAke2J9P2B9KX1pZihtLmJhY2t0cmFjaz09PXRydWUpe20ub3V0cHV0PVwiXCI7Zm9yKGNvbnN0IHQgb2YgbS50b2tlbnMpe20ub3V0cHV0Kz10Lm91dHB1dCE9bnVsbD90Lm91dHB1dDp0LnZhbHVlO2lmKHQuc3VmZml4KXttLm91dHB1dCs9dC5zdWZmaXh9fX1yZXR1cm4gbX07cGFyc2UuZmFzdHBhdGhzPSh0LGUpPT57Y29uc3QgdT17Li4uZX07Y29uc3Qgcj10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7Y29uc3QgYT10Lmxlbmd0aDtpZihhPnIpe3Rocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke2F9LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7cn1gKX10PWNbdF18fHQ7Y29uc3R7RE9UX0xJVEVSQUw6aSxTTEFTSF9MSVRFUkFMOnAsT05FX0NIQVI6bCxET1RTX1NMQVNIOmYsTk9fRE9UOkEsTk9fRE9UUzpfLE5PX0RPVFNfU0xBU0g6UixTVEFSOkUsU1RBUlRfQU5DSE9SOmh9PW4uZ2xvYkNoYXJzKHUud2luZG93cyk7Y29uc3QgZz11LmRvdD9fOkE7Y29uc3QgYj11LmRvdD9SOkE7Y29uc3QgQz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgeT17bmVnYXRlZDpmYWxzZSxwcmVmaXg6XCJcIn07bGV0ICQ9dS5iYXNoPT09dHJ1ZT9cIi4qP1wiOkU7aWYodS5jYXB0dXJlKXskPWAoJHskfSlgfWNvbnN0IGdsb2JzdGFyPXQ9PntpZih0Lm5vZ2xvYnN0YXI9PT10cnVlKXJldHVybiAkO3JldHVybmAoJHtDfSg/Oig/ISR7aH0ke3QuZG90P2Y6aX0pLikqPylgfTtjb25zdCBjcmVhdGU9dD0+e3N3aXRjaCh0KXtjYXNlXCIqXCI6cmV0dXJuYCR7Z30ke2x9JHskfWA7Y2FzZVwiLipcIjpyZXR1cm5gJHtpfSR7bH0keyR9YDtjYXNlXCIqLipcIjpyZXR1cm5gJHtnfSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIiovKlwiOnJldHVybmAke2d9JHskfSR7cH0ke2x9JHtifSR7JH1gO2Nhc2VcIioqXCI6cmV0dXJuIGcrZ2xvYnN0YXIodSk7Y2FzZVwiKiovKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHtsfSR7JH1gO2Nhc2VcIioqLyouKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHskfSR7aX0ke2x9JHskfWA7Y2FzZVwiKiovLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtpfSR7bH0keyR9YDtkZWZhdWx0Ontjb25zdCBlPS9eKC4qPylcXC4oXFx3KykkLy5leGVjKHQpO2lmKCFlKXJldHVybjtjb25zdCB1PWNyZWF0ZShlWzFdKTtpZighdSlyZXR1cm47cmV0dXJuIHUraStlWzJdfX19O2NvbnN0IHg9by5yZW1vdmVQcmVmaXgodCx5KTtsZXQgUz1jcmVhdGUoeCk7aWYoUyYmdS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSl7Uys9YCR7cH0/YH1yZXR1cm4gU307dC5leHBvcnRzPXBhcnNlfSw1MTA6KHQsZSx1KT0+e2NvbnN0IG49dSg3MTYpO2NvbnN0IG89dSg2OTcpO2NvbnN0IHM9dSg5Nik7Y29uc3Qgcj11KDE1NCk7Y29uc3QgaXNPYmplY3Q9dD0+dCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtjb25zdCBwaWNvbWF0Y2g9KHQsZSx1PWZhbHNlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG49dC5tYXAoKHQ9PnBpY29tYXRjaCh0LGUsdSkpKTtjb25zdCBhcnJheU1hdGNoZXI9dD0+e2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IHU9ZSh0KTtpZih1KXJldHVybiB1fXJldHVybiBmYWxzZX07cmV0dXJuIGFycmF5TWF0Y2hlcn1jb25zdCBuPWlzT2JqZWN0KHQpJiZ0LnRva2VucyYmdC5pbnB1dDtpZih0PT09XCJcInx8dHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhbil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIHBhdHRlcm4gdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nXCIpfWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLndpbmRvd3M7Y29uc3Qgcj1uP3BpY29tYXRjaC5jb21waWxlUmUodCxlKTpwaWNvbWF0Y2gubWFrZVJlKHQsZSxmYWxzZSx0cnVlKTtjb25zdCBhPXIuc3RhdGU7ZGVsZXRlIHIuc3RhdGU7bGV0IGlzSWdub3JlZD0oKT0+ZmFsc2U7aWYoby5pZ25vcmUpe2NvbnN0IHQ9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2lzSWdub3JlZD1waWNvbWF0Y2goby5pZ25vcmUsdCx1KX1jb25zdCBtYXRjaGVyPSh1LG49ZmFsc2UpPT57Y29uc3R7aXNNYXRjaDppLG1hdGNoOmMsb3V0cHV0OnB9PXBpY29tYXRjaC50ZXN0KHUscixlLHtnbG9iOnQscG9zaXg6c30pO2NvbnN0IGw9e2dsb2I6dCxzdGF0ZTphLHJlZ2V4OnIscG9zaXg6cyxpbnB1dDp1LG91dHB1dDpwLG1hdGNoOmMsaXNNYXRjaDppfTtpZih0eXBlb2Ygby5vblJlc3VsdD09PVwiZnVuY3Rpb25cIil7by5vblJlc3VsdChsKX1pZihpPT09ZmFsc2Upe2wuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKGlzSWdub3JlZCh1KSl7aWYodHlwZW9mIG8ub25JZ25vcmU9PT1cImZ1bmN0aW9uXCIpe28ub25JZ25vcmUobCl9bC5pc01hdGNoPWZhbHNlO3JldHVybiBuP2w6ZmFsc2V9aWYodHlwZW9mIG8ub25NYXRjaD09PVwiZnVuY3Rpb25cIil7by5vbk1hdGNoKGwpfXJldHVybiBuP2w6dHJ1ZX07aWYodSl7bWF0Y2hlci5zdGF0ZT1hfXJldHVybiBtYXRjaGVyfTtwaWNvbWF0Y2gudGVzdD0odCxlLHUse2dsb2I6bixwb3NpeDpvfT17fSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBpbnB1dCB0byBiZSBhIHN0cmluZ1wiKX1pZih0PT09XCJcIil7cmV0dXJue2lzTWF0Y2g6ZmFsc2Usb3V0cHV0OlwiXCJ9fWNvbnN0IHI9dXx8e307Y29uc3QgYT1yLmZvcm1hdHx8KG8/cy50b1Bvc2l4U2xhc2hlczpudWxsKTtsZXQgaT10PT09bjtsZXQgYz1pJiZhP2EodCk6dDtpZihpPT09ZmFsc2Upe2M9YT9hKHQpOnQ7aT1jPT09bn1pZihpPT09ZmFsc2V8fHIuY2FwdHVyZT09PXRydWUpe2lmKHIubWF0Y2hCYXNlPT09dHJ1ZXx8ci5iYXNlbmFtZT09PXRydWUpe2k9cGljb21hdGNoLm1hdGNoQmFzZSh0LGUsdSxvKX1lbHNle2k9ZS5leGVjKGMpfX1yZXR1cm57aXNNYXRjaDpCb29sZWFuKGkpLG1hdGNoOmksb3V0cHV0OmN9fTtwaWNvbWF0Y2gubWF0Y2hCYXNlPSh0LGUsdSk9Pntjb25zdCBuPWUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpwaWNvbWF0Y2gubWFrZVJlKGUsdSk7cmV0dXJuIG4udGVzdChzLmJhc2VuYW1lKHQpKX07cGljb21hdGNoLmlzTWF0Y2g9KHQsZSx1KT0+cGljb21hdGNoKGUsdSkodCk7cGljb21hdGNoLnBhcnNlPSh0LGUpPT57aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAoKHQ9PnBpY29tYXRjaC5wYXJzZSh0LGUpKSk7cmV0dXJuIG8odCx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KX07cGljb21hdGNoLnNjYW49KHQsZSk9Pm4odCxlKTtwaWNvbWF0Y2guY29tcGlsZVJlPSh0LGUsdT1mYWxzZSxuPWZhbHNlKT0+e2lmKHU9PT10cnVlKXtyZXR1cm4gdC5vdXRwdXR9Y29uc3Qgbz1lfHx7fTtjb25zdCBzPW8uY29udGFpbnM/XCJcIjpcIl5cIjtjb25zdCByPW8uY29udGFpbnM/XCJcIjpcIiRcIjtsZXQgYT1gJHtzfSg/OiR7dC5vdXRwdXR9KSR7cn1gO2lmKHQmJnQubmVnYXRlZD09PXRydWUpe2E9YF4oPyEke2F9KS4qJGB9Y29uc3QgaT1waWNvbWF0Y2gudG9SZWdleChhLGUpO2lmKG49PT10cnVlKXtpLnN0YXRlPXR9cmV0dXJuIGl9O3BpY29tYXRjaC5tYWtlUmU9KHQsZT17fSx1PWZhbHNlLG49ZmFsc2UpPT57aWYoIXR8fHR5cGVvZiB0IT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1sZXQgcz17bmVnYXRlZDpmYWxzZSxmYXN0cGF0aHM6dHJ1ZX07aWYoZS5mYXN0cGF0aHMhPT1mYWxzZSYmKHRbMF09PT1cIi5cInx8dFswXT09PVwiKlwiKSl7cy5vdXRwdXQ9by5mYXN0cGF0aHModCxlKX1pZighcy5vdXRwdXQpe3M9byh0LGUpfXJldHVybiBwaWNvbWF0Y2guY29tcGlsZVJlKHMsZSx1LG4pfTtwaWNvbWF0Y2gudG9SZWdleD0odCxlKT0+e3RyeXtjb25zdCB1PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHQsdS5mbGFnc3x8KHUubm9jYXNlP1wiaVwiOlwiXCIpKX1jYXRjaCh0KXtpZihlJiZlLmRlYnVnPT09dHJ1ZSl0aHJvdyB0O3JldHVybi8kXi99fTtwaWNvbWF0Y2guY29uc3RhbnRzPXI7dC5leHBvcnRzPXBpY29tYXRjaH0sNzE2Oih0LGUsdSk9Pntjb25zdCBuPXUoOTYpO2NvbnN0e0NIQVJfQVNURVJJU0s6byxDSEFSX0FUOnMsQ0hBUl9CQUNLV0FSRF9TTEFTSDpyLENIQVJfQ09NTUE6YSxDSEFSX0RPVDppLENIQVJfRVhDTEFNQVRJT05fTUFSSzpjLENIQVJfRk9SV0FSRF9TTEFTSDpwLENIQVJfTEVGVF9DVVJMWV9CUkFDRTpsLENIQVJfTEVGVF9QQVJFTlRIRVNFUzpmLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpBLENIQVJfUExVUzpfLENIQVJfUVVFU1RJT05fTUFSSzpSLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6RSxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOmgsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpnfT11KDE1NCk7Y29uc3QgaXNQYXRoU2VwYXJhdG9yPXQ9PnQ9PT1wfHx0PT09cjtjb25zdCBkZXB0aD10PT57aWYodC5pc1ByZWZpeCE9PXRydWUpe3QuZGVwdGg9dC5pc0dsb2JzdGFyP0luZmluaXR5OjF9fTtjb25zdCBzY2FuPSh0LGUpPT57Y29uc3QgdT1lfHx7fTtjb25zdCBiPXQubGVuZ3RoLTE7Y29uc3QgQz11LnBhcnRzPT09dHJ1ZXx8dS5zY2FuVG9FbmQ9PT10cnVlO2NvbnN0IHk9W107Y29uc3QgJD1bXTtjb25zdCB4PVtdO2xldCBTPXQ7bGV0IEg9LTE7bGV0IHY9MDtsZXQgZD0wO2xldCBMPWZhbHNlO2xldCBUPWZhbHNlO2xldCBPPWZhbHNlO2xldCBrPWZhbHNlO2xldCBtPWZhbHNlO2xldCB3PWZhbHNlO2xldCBOPWZhbHNlO2xldCBJPWZhbHNlO2xldCBCPWZhbHNlO2xldCBHPWZhbHNlO2xldCBEPTA7bGV0IE07bGV0IFA7bGV0IEs9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2NvbnN0IGVvcz0oKT0+SD49Yjtjb25zdCBwZWVrPSgpPT5TLmNoYXJDb2RlQXQoSCsxKTtjb25zdCBhZHZhbmNlPSgpPT57TT1QO3JldHVybiBTLmNoYXJDb2RlQXQoKytIKX07d2hpbGUoSDxiKXtQPWFkdmFuY2UoKTtsZXQgdDtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7aWYoUD09PWwpe3c9dHJ1ZX1jb250aW51ZX1pZih3PT09dHJ1ZXx8UD09PWwpe0QrKzt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWwpe0QrKztjb250aW51ZX1pZih3IT09dHJ1ZSYmUD09PWkmJihQPWFkdmFuY2UoKSk9PT1pKXtMPUsuaXNCcmFjZT10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHchPT10cnVlJiZQPT09YSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09RSl7RC0tO2lmKEQ9PT0wKXt3PWZhbHNlO0w9Sy5pc0JyYWNlPXRydWU7Rz10cnVlO2JyZWFrfX19aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1wKXt5LnB1c2goSCk7JC5wdXNoKEspO0s9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2lmKEc9PT10cnVlKWNvbnRpbnVlO2lmKE09PT1pJiZIPT09disxKXt2Kz0yO2NvbnRpbnVlfWQ9SCsxO2NvbnRpbnVlfWlmKHUubm9leHQhPT10cnVlKXtjb25zdCB0PVA9PT1ffHxQPT09c3x8UD09PW98fFA9PT1SfHxQPT09YztpZih0PT09dHJ1ZSYmcGVlaygpPT09Zil7Tz1LLmlzR2xvYj10cnVlO2s9Sy5pc0V4dGdsb2I9dHJ1ZTtHPXRydWU7aWYoUD09PWMmJkg9PT12KXtCPXRydWV9aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1jb250aW51ZX1icmVha319aWYoUD09PW8pe2lmKE09PT1vKW09Sy5pc0dsb2JzdGFyPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PVIpe089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1BKXt3aGlsZShlb3MoKSE9PXRydWUmJih0PWFkdmFuY2UoKSkpe2lmKHQ9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYodD09PWcpe1Q9Sy5pc0JyYWNrZXQ9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1pZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYodS5ub25lZ2F0ZSE9PXRydWUmJlA9PT1jJiZIPT09dil7ST1LLm5lZ2F0ZWQ9dHJ1ZTt2Kys7Y29udGludWV9aWYodS5ub3BhcmVuIT09dHJ1ZSYmUD09PWYpe089Sy5pc0dsb2I9dHJ1ZTtpZihDPT09dHJ1ZSl7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09Zil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWgpe0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9aWYoTz09PXRydWUpe0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9fWlmKHUubm9leHQ9PT10cnVlKXtrPWZhbHNlO089ZmFsc2V9bGV0IFU9UztsZXQgWD1cIlwiO2xldCBGPVwiXCI7aWYodj4wKXtYPVMuc2xpY2UoMCx2KTtTPVMuc2xpY2Uodik7ZC09dn1pZihVJiZPPT09dHJ1ZSYmZD4wKXtVPVMuc2xpY2UoMCxkKTtGPVMuc2xpY2UoZCl9ZWxzZSBpZihPPT09dHJ1ZSl7VT1cIlwiO0Y9U31lbHNle1U9U31pZihVJiZVIT09XCJcIiYmVSE9PVwiL1wiJiZVIT09Uyl7aWYoaXNQYXRoU2VwYXJhdG9yKFUuY2hhckNvZGVBdChVLmxlbmd0aC0xKSkpe1U9VS5zbGljZSgwLC0xKX19aWYodS51bmVzY2FwZT09PXRydWUpe2lmKEYpRj1uLnJlbW92ZUJhY2tzbGFzaGVzKEYpO2lmKFUmJk49PT10cnVlKXtVPW4ucmVtb3ZlQmFja3NsYXNoZXMoVSl9fWNvbnN0IFE9e3ByZWZpeDpYLGlucHV0OnQsc3RhcnQ6dixiYXNlOlUsZ2xvYjpGLGlzQnJhY2U6TCxpc0JyYWNrZXQ6VCxpc0dsb2I6Tyxpc0V4dGdsb2I6ayxpc0dsb2JzdGFyOm0sbmVnYXRlZDpJLG5lZ2F0ZWRFeHRnbG9iOkJ9O2lmKHUudG9rZW5zPT09dHJ1ZSl7US5tYXhEZXB0aD0wO2lmKCFpc1BhdGhTZXBhcmF0b3IoUCkpeyQucHVzaChLKX1RLnRva2Vucz0kfWlmKHUucGFydHM9PT10cnVlfHx1LnRva2Vucz09PXRydWUpe2xldCBlO2ZvcihsZXQgbj0wO248eS5sZW5ndGg7bisrKXtjb25zdCBvPWU/ZSsxOnY7Y29uc3Qgcz15W25dO2NvbnN0IHI9dC5zbGljZShvLHMpO2lmKHUudG9rZW5zKXtpZihuPT09MCYmdiE9PTApeyRbbl0uaXNQcmVmaXg9dHJ1ZTskW25dLnZhbHVlPVh9ZWxzZXskW25dLnZhbHVlPXJ9ZGVwdGgoJFtuXSk7US5tYXhEZXB0aCs9JFtuXS5kZXB0aH1pZihuIT09MHx8ciE9PVwiXCIpe3gucHVzaChyKX1lPXN9aWYoZSYmZSsxPHQubGVuZ3RoKXtjb25zdCBuPXQuc2xpY2UoZSsxKTt4LnB1c2gobik7aWYodS50b2tlbnMpeyRbJC5sZW5ndGgtMV0udmFsdWU9bjtkZXB0aCgkWyQubGVuZ3RoLTFdKTtRLm1heERlcHRoKz0kWyQubGVuZ3RoLTFdLmRlcHRofX1RLnNsYXNoZXM9eTtRLnBhcnRzPXh9cmV0dXJuIFF9O3QuZXhwb3J0cz1zY2FufSw5NjoodCxlLHUpPT57Y29uc3R7UkVHRVhfQkFDS1NMQVNIOm4sUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDpvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6cyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDpyfT11KDE1NCk7ZS5pc09iamVjdD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtlLmhhc1JlZ2V4Q2hhcnM9dD0+cy50ZXN0KHQpO2UuaXNSZWdleENoYXI9dD0+dC5sZW5ndGg9PT0xJiZlLmhhc1JlZ2V4Q2hhcnModCk7ZS5lc2NhcGVSZWdleD10PT50LnJlcGxhY2UocixcIlxcXFwkMVwiKTtlLnRvUG9zaXhTbGFzaGVzPXQ9PnQucmVwbGFjZShuLFwiL1wiKTtlLnJlbW92ZUJhY2tzbGFzaGVzPXQ9PnQucmVwbGFjZShvLCh0PT50PT09XCJcXFxcXCI/XCJcIjp0KSk7ZS5lc2NhcGVMYXN0PSh0LHUsbik9Pntjb25zdCBvPXQubGFzdEluZGV4T2YodSxuKTtpZihvPT09LTEpcmV0dXJuIHQ7aWYodFtvLTFdPT09XCJcXFxcXCIpcmV0dXJuIGUuZXNjYXBlTGFzdCh0LHUsby0xKTtyZXR1cm5gJHt0LnNsaWNlKDAsbyl9XFxcXCR7dC5zbGljZShvKX1gfTtlLnJlbW92ZVByZWZpeD0odCxlPXt9KT0+e2xldCB1PXQ7aWYodS5zdGFydHNXaXRoKFwiLi9cIikpe3U9dS5zbGljZSgyKTtlLnByZWZpeD1cIi4vXCJ9cmV0dXJuIHV9O2Uud3JhcE91dHB1dD0odCxlPXt9LHU9e30pPT57Y29uc3Qgbj11LmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgbz11LmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IHM9YCR7bn0oPzoke3R9KSR7b31gO2lmKGUubmVnYXRlZD09PXRydWUpe3M9YCg/Ol4oPyEke3N9KS4qJClgfXJldHVybiBzfTtlLmJhc2VuYW1lPSh0LHt3aW5kb3dzOmV9PXt9KT0+e2NvbnN0IHU9dC5zcGxpdChlPy9bXFxcXC9dLzpcIi9cIik7Y29uc3Qgbj11W3UubGVuZ3RoLTFdO2lmKG49PT1cIlwiKXtyZXR1cm4gdVt1Lmxlbmd0aC0yXX1yZXR1cm4gbn19fTt2YXIgZT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHUpe3ZhciBuPWVbdV07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgbz1lW3VdPXtleHBvcnRzOnt9fTt2YXIgcz10cnVlO3RyeXt0W3VdKG8sby5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3M9ZmFsc2V9ZmluYWxseXtpZihzKWRlbGV0ZSBlW3VdfXJldHVybiBvLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB1PV9fbmNjd3Bja19yZXF1aXJlX18oMTcwKTttb2R1bGUuZXhwb3J0cz11fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/process/browser.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){var e={229:function(e){var t=e.exports={};var r;var n;function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}(function(){try{if(typeof setTimeout===\"function\"){r=setTimeout}else{r=defaultSetTimout}}catch(e){r=defaultSetTimout}try{if(typeof clearTimeout===\"function\"){n=clearTimeout}else{n=defaultClearTimeout}}catch(e){n=defaultClearTimeout}})();function runTimeout(e){if(r===setTimeout){return setTimeout(e,0)}if((r===defaultSetTimout||!r)&&setTimeout){r=setTimeout;return setTimeout(e,0)}try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout){return clearTimeout(e)}if((n===defaultClearTimeout||!n)&&clearTimeout){n=clearTimeout;return clearTimeout(e)}try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[];var o=false;var u;var a=-1;function cleanUpNextTick(){if(!o||!u){return}o=false;if(u.length){i=u.concat(i)}else{a=-1}if(i.length){drainQueue()}}function drainQueue(){if(o){return}var e=runTimeout(cleanUpNextTick);o=true;var t=i.length;while(t){u=i;i=[];while(++a<t){if(u){u[a].run()}}a=-1;t=i.length}u=null;o=false;runClearTimeout(e)}t.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1){for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}}i.push(new Item(e,t));if(i.length===1&&!o){runTimeout(drainQueue)}};function Item(e,t){this.fun=e;this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};t.title=\"browser\";t.browser=true;t.env={};t.argv=[];t.version=\"\";t.versions={};function noop(){}t.on=noop;t.addListener=noop;t.once=noop;t.off=noop;t.removeListener=noop;t.removeAllListeners=noop;t.emit=noop;t.prependListener=noop;t.prependOnceListener=noop;t.listeners=function(e){return[]};t.binding=function(e){throw new Error(\"process.binding is not supported\")};t.cwd=function(){return\"/\"};t.chdir=function(e){throw new Error(\"process.chdir is not supported\")};t.umask=function(){return 0}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(229);module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2Vzcy9icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxZQUFZLE9BQU8sZ0JBQWdCLG1CQUFtQixNQUFNLE1BQU0sNEJBQTRCLG1EQUFtRCwrQkFBK0IscURBQXFELFlBQVksSUFBSSxtQ0FBbUMsYUFBYSxLQUFLLG9CQUFvQixTQUFTLG1CQUFtQixJQUFJLHFDQUFxQyxlQUFlLEtBQUssdUJBQXVCLFNBQVMsdUJBQXVCLElBQUksdUJBQXVCLG1CQUFtQix1QkFBdUIsMkNBQTJDLGFBQWEsdUJBQXVCLElBQUksY0FBYyxTQUFTLElBQUksd0JBQXdCLFNBQVMsMEJBQTBCLDRCQUE0QixxQkFBcUIsdUJBQXVCLGdEQUFnRCxlQUFlLHVCQUF1QixJQUFJLFlBQVksU0FBUyxJQUFJLHNCQUFzQixTQUFTLHdCQUF3QixTQUFTLFlBQVksTUFBTSxTQUFTLDJCQUEyQixXQUFXLE9BQU8sUUFBUSxhQUFhLGNBQWMsS0FBSyxLQUFLLGFBQWEsY0FBYyxzQkFBc0IsTUFBTSxPQUFPLGtDQUFrQyxPQUFPLGVBQWUsU0FBUyxJQUFJLEtBQUssYUFBYSxNQUFNLFlBQVksS0FBSyxXQUFXLE9BQU8sUUFBUSxtQkFBbUIsdUJBQXVCLG9DQUFvQyx1QkFBdUIsWUFBWSxtQkFBbUIsS0FBSyxxQkFBcUIsc0JBQXNCLHFCQUFxQix5QkFBeUIsbUJBQW1CLFdBQVcsYUFBYSw4QkFBOEIsaUNBQWlDLGtCQUFrQixlQUFlLFNBQVMsVUFBVSxhQUFhLGNBQWMsaUJBQWlCLFVBQVUsbUJBQW1CLFlBQVksV0FBVyxzQkFBc0IsMEJBQTBCLFlBQVksdUJBQXVCLDJCQUEyQix3QkFBd0IsVUFBVSxzQkFBc0IscURBQXFELGlCQUFpQixXQUFXLG9CQUFvQixtREFBbUQsbUJBQW1CLFlBQVksU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvYnJvd3Nlci5qcz85NDZmIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe3ZhciBlPXsyMjk6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5leHBvcnRzPXt9O3ZhciByO3ZhciBuO2Z1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpfWZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIil9KGZ1bmN0aW9uKCl7dHJ5e2lmKHR5cGVvZiBzZXRUaW1lb3V0PT09XCJmdW5jdGlvblwiKXtyPXNldFRpbWVvdXR9ZWxzZXtyPWRlZmF1bHRTZXRUaW1vdXR9fWNhdGNoKGUpe3I9ZGVmYXVsdFNldFRpbW91dH10cnl7aWYodHlwZW9mIGNsZWFyVGltZW91dD09PVwiZnVuY3Rpb25cIil7bj1jbGVhclRpbWVvdXR9ZWxzZXtuPWRlZmF1bHRDbGVhclRpbWVvdXR9fWNhdGNoKGUpe249ZGVmYXVsdENsZWFyVGltZW91dH19KSgpO2Z1bmN0aW9uIHJ1blRpbWVvdXQoZSl7aWYocj09PXNldFRpbWVvdXQpe3JldHVybiBzZXRUaW1lb3V0KGUsMCl9aWYoKHI9PT1kZWZhdWx0U2V0VGltb3V0fHwhcikmJnNldFRpbWVvdXQpe3I9c2V0VGltZW91dDtyZXR1cm4gc2V0VGltZW91dChlLDApfXRyeXtyZXR1cm4gcihlLDApfWNhdGNoKHQpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsZSwwKX1jYXRjaCh0KXtyZXR1cm4gci5jYWxsKHRoaXMsZSwwKX19fWZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChlKXtpZihuPT09Y2xlYXJUaW1lb3V0KXtyZXR1cm4gY2xlYXJUaW1lb3V0KGUpfWlmKChuPT09ZGVmYXVsdENsZWFyVGltZW91dHx8IW4pJiZjbGVhclRpbWVvdXQpe249Y2xlYXJUaW1lb3V0O3JldHVybiBjbGVhclRpbWVvdXQoZSl9dHJ5e3JldHVybiBuKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIG4uY2FsbCh0aGlzLGUpfX19dmFyIGk9W107dmFyIG89ZmFsc2U7dmFyIHU7dmFyIGE9LTE7ZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCl7aWYoIW98fCF1KXtyZXR1cm59bz1mYWxzZTtpZih1Lmxlbmd0aCl7aT11LmNvbmNhdChpKX1lbHNle2E9LTF9aWYoaS5sZW5ndGgpe2RyYWluUXVldWUoKX19ZnVuY3Rpb24gZHJhaW5RdWV1ZSgpe2lmKG8pe3JldHVybn12YXIgZT1ydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7bz10cnVlO3ZhciB0PWkubGVuZ3RoO3doaWxlKHQpe3U9aTtpPVtdO3doaWxlKCsrYTx0KXtpZih1KXt1W2FdLnJ1bigpfX1hPS0xO3Q9aS5sZW5ndGh9dT1udWxsO289ZmFsc2U7cnVuQ2xlYXJUaW1lb3V0KGUpfXQubmV4dFRpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXt0W3ItMV09YXJndW1lbnRzW3JdfX1pLnB1c2gobmV3IEl0ZW0oZSx0KSk7aWYoaS5sZW5ndGg9PT0xJiYhbyl7cnVuVGltZW91dChkcmFpblF1ZXVlKX19O2Z1bmN0aW9uIEl0ZW0oZSx0KXt0aGlzLmZ1bj1lO3RoaXMuYXJyYXk9dH1JdGVtLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfTt0LnRpdGxlPVwiYnJvd3NlclwiO3QuYnJvd3Nlcj10cnVlO3QuZW52PXt9O3QuYXJndj1bXTt0LnZlcnNpb249XCJcIjt0LnZlcnNpb25zPXt9O2Z1bmN0aW9uIG5vb3AoKXt9dC5vbj1ub29wO3QuYWRkTGlzdGVuZXI9bm9vcDt0Lm9uY2U9bm9vcDt0Lm9mZj1ub29wO3QucmVtb3ZlTGlzdGVuZXI9bm9vcDt0LnJlbW92ZUFsbExpc3RlbmVycz1ub29wO3QuZW1pdD1ub29wO3QucHJlcGVuZExpc3RlbmVyPW5vb3A7dC5wcmVwZW5kT25jZUxpc3RlbmVyPW5vb3A7dC5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuW119O3QuYmluZGluZz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZFwiKX07dC5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm5cIi9cIn07dC5jaGRpcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWRcIil9O3QudW1hc2s9ZnVuY3Rpb24oKXtyZXR1cm4gMH19fTt2YXIgdD17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHIpe3ZhciBuPXRbcl07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgaT10W3JdPXtleHBvcnRzOnt9fTt2YXIgbz10cnVlO3RyeXtlW3JdKGksaS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO289ZmFsc2V9ZmluYWxseXtpZihvKWRlbGV0ZSB0W3JdfXJldHVybiBpLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciByPV9fbmNjd3Bja19yZXF1aXJlX18oMjI5KTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/images/background.jpg": -/*!***********************************!*\ - !*** ./src/images/background.jpg ***! - \***********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/background.6c3571e0.jpg\",\"height\":2990,\"width\":1836,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.6c3571e0.jpg&w=5&q=70\",\"blurWidth\":5,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsME1BQTBNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGc/MDVmNyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYmFja2dyb3VuZC42YzM1NzFlMC5qcGdcIixcImhlaWdodFwiOjI5OTAsXCJ3aWR0aFwiOjE4MzYsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC42YzM1NzFlMC5qcGcmdz01JnE9NzBcIixcImJsdXJXaWR0aFwiOjUsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background.jpg\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/add-locale.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/client/add-locale.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FHYUE7OztlQUFBQTs7O29EQUY4QjtBQUVwQyxNQUFNQSxZQUF1QixTQUFDQyxJQUFBQTtxQ0FBU0MsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsSUFBQUEsT0FBQUEsSUFBQUEsSUFBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7UUFBQUEsSUFBQUEsQ0FBQUEsT0FBQUEsRUFBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O0lBQzVDLElBQUlDLEtBQStCLEVBQUUsRUFJckM7SUFDQSxPQUFPRjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FkZC1sb2NhbGUudHM/ZmFhZSJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwiYXJncyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/client/get-domain-locale.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDomainLocale\", ({\n enumerable: true,\n get: function() {\n return getDomainLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2dldC1kb21haW4tbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBT2dCQTs7O2VBQUFBOzs7b0RBSjJCO0FBRTNDLE1BQU1DLFdBQVdDLE1BQW1DLElBQWU7QUFFNUQsU0FBU0YsZ0JBQ2RLLElBQVksRUFDWkMsTUFBdUIsRUFDdkJDLE9BQWtCLEVBQ2xCQyxhQUE4QjtJQUU5QixJQUFJTixLQUErQixFQUFFLEVBZ0JyQyxNQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUudHM/MWQ0ZSJdLCJuYW1lcyI6WyJnZXREb21haW5Mb2NhbGUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsImxvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJyZXF1aXJlIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwidGFyZ2V0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJkb21haW4iLCJ1bmRlZmluZWQiLCJwcm90byIsImh0dHAiLCJmaW5hbExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/image-component.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/image-component.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Image\", ({\n enumerable: true,\n get: function() {\n return Image;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\");\nconst _warnonce = __webpack_require__(/*! ../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\n// This is replaced by webpack define plugin\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]};\nif (typeof window === \"undefined\") {\n globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput) {\n const src = img == null ? void 0 : img.src;\n if (!img || img[\"data-loaded-src\"] === src) {\n return;\n }\n img[\"data-loaded-src\"] = src;\n const p = \"decode\" in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder !== \"empty\") {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event(\"load\");\n Object.defineProperty(event, \"target\", {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n });\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (true) {\n const origSrc = new URL(src, \"http://n\").searchParams.get(\"url\") || src;\n if (img.getAttribute(\"data-nimg\") === \"fill\") {\n if (!unoptimized && (!sizesInput || sizesInput === \"100vw\")) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === \"100vw\") {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n } else {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n \"absolute\",\n \"fixed\",\n \"relative\"\n ];\n if (!valid.includes(position)) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and parent element with invalid \"position\". Provided \"' + position + '\" should be one of ' + valid.map(String).join(\",\") + \".\");\n }\n }\n if (img.height === 0) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.');\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute(\"height\");\n const widthModified = img.width.toString() !== img.getAttribute(\"width\");\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles \\'width: \"auto\"\\' or \\'height: \"auto\"\\' to maintain the aspect ratio.');\n }\n }\n });\n}\nfunction getDynamicProps(fetchPriority) {\n const [majorStr, minorStr] = _react.version.split(\".\", 2);\n const major = parseInt(majorStr, 10);\n const minor = parseInt(minorStr, 10);\n if (major > 18 || major === 18 && minor >= 3) {\n // In React 18.3.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return {\n fetchPriority\n };\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return {\n fetchpriority: fetchPriority\n };\n}\nconst ImageElement = /*#__PURE__*/ (0, _react.forwardRef)((param, forwardedRef)=>{\n let { src, srcSet, sizes, height, width, decoding, className, style, fetchPriority, placeholder, loading, unoptimized, fill, onLoadRef, onLoadingCompleteRef, setBlurComplete, setShowAltText, sizesInput, onLoad, onError, ...rest } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"img\", {\n ...rest,\n ...getDynamicProps(fetchPriority),\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading: loading,\n width: width,\n height: height,\n decoding: decoding,\n \"data-nimg\": fill ? \"fill\" : \"1\",\n className: className,\n style: style,\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes: sizes,\n srcSet: srcSet,\n src: src,\n ref: (0, _react.useCallback)((img)=>{\n if (forwardedRef) {\n if (typeof forwardedRef === \"function\") forwardedRef(img);\n else if (typeof forwardedRef === \"object\") {\n // @ts-ignore - .current is read only it's usually assigned by react internally\n forwardedRef.current = img;\n }\n }\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (true) {\n if (!src) {\n console.error('Image is missing required \"src\" property:', img);\n }\n if (img.getAttribute(\"alt\") === null) {\n console.error('Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.');\n }\n }\n if (img.complete) {\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n }\n }, [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n forwardedRef\n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder !== \"empty\") {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n });\n});\nfunction ImagePreload(param) {\n let { isAppRouter, imgAttributes } = param;\n const opts = {\n as: \"image\",\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority)\n };\n if (isAppRouter && _reactdom.default.preload) {\n // See https://github.com/facebook/react/pull/26940\n _reactdom.default.preload(imgAttributes.src, opts);\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href: imgAttributes.srcSet ? undefined : imgAttributes.src,\n ...opts\n }, \"__nimg-\" + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes)\n });\n}\n_c = ImagePreload;\nconst Image = /*#__PURE__*/ (0, _react.forwardRef)((props, forwardedRef)=>{\n const pagesRouter = (0, _react.useContext)(_routercontextsharedruntime.RouterContext);\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const configContext = (0, _react.useContext)(_imageconfigcontextsharedruntime.ImageConfigContext);\n const config = (0, _react.useMemo)(()=>{\n const c = configEnv || configContext || _imageconfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n return {\n ...c,\n allSizes,\n deviceSizes\n };\n }, [\n configContext\n ]);\n const { onLoad, onLoadingComplete } = props;\n const onLoadRef = (0, _react.useRef)(onLoad);\n (0, _react.useEffect)(()=>{\n onLoadRef.current = onLoad;\n }, [\n onLoad\n ]);\n const onLoadingCompleteRef = (0, _react.useRef)(onLoadingComplete);\n (0, _react.useEffect)(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n const [blurComplete, setBlurComplete] = (0, _react.useState)(false);\n const [showAltText, setShowAltText] = (0, _react.useState)(false);\n const { props: imgAttributes, meta: imgMeta } = (0, _getimgprops.getImgProps)(props, {\n defaultLoader: _imageloader.default,\n imgConf: config,\n blurComplete,\n showAltText\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(ImageElement, {\n ...imgAttributes,\n unoptimized: imgMeta.unoptimized,\n placeholder: imgMeta.placeholder,\n fill: imgMeta.fill,\n onLoadRef: onLoadRef,\n onLoadingCompleteRef: onLoadingCompleteRef,\n setBlurComplete: setBlurComplete,\n setShowAltText: setShowAltText,\n sizesInput: props.sizes,\n ref: forwardedRef\n }),\n imgMeta.priority ? /*#__PURE__*/ (0, _jsxruntime.jsx)(ImagePreload, {\n isAppRouter: isAppRouter,\n imgAttributes: imgAttributes\n }) : null\n ]\n });\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=image-component.js.map\nvar _c;\n$RefreshReg$(_c, \"ImagePreload\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2ltYWdlLWNvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OzsrRUFhaUI7cURBQ1dBLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7eUNBWU87O3lDQUVWQSxtQkFBQUEsQ0FBQTs7O0FBTXpCLE1BQUFDLGVBQUEsY0FBQUMseUJBQTRDSCxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO0FBQzVDLDRDQUE4Qkc7QUFFOUIsTUFBSUMsWUFBT0MsME5BQXdCO0lBQy9CRSxPQUFBQSxXQUFtQkMsYUFBQUE7SUFDdkJELFdBQUFDLHFCQUFBO0FBbUJBO0FBQ0EsMEVBQWlEO0FBQ2pELGlEQUdFQztTQU1BQyxjQUFZQyxHQUFBQSxFQUFBQSxXQUFBQSxFQUFBQSxTQUFRLEVBQUFDLG9CQUFBLEVBQUFDLGVBQUEsRUFBQUMsV0FBQSxFQUFBQyxVQUFBO0lBQ3BCLE1BQUtKLE1BQU9BLE9BQUksZ0JBQWtCQSxJQUFLSyxHQUFBQTtRQUNyQyxDQUFBTCxPQUFBQSxHQUFBLHdCQUFBSyxLQUFBO1FBQ0Y7SUFDQUw7SUFDQUEsR0FBQSxtQkFBc0JBLEdBQUFBO0lBQ3RCTSxNQUFFQyxJQUFNLFlBQWVQLE1BQUFBLElBQUFRLE1BQUEsS0FBQUMsUUFBQUMsT0FBQTtXQUNyQixDQUFJLEtBQUtDLEdBQUFBLElBQUFBLENBQUFBO1lBQ1AsQ0FBQVgsSUFBQVcsYUFBQSxLQUFBWCxJQUFBWSxXQUFBLEVBQXdDO1lBQ3hDLHdDQUF1QjtZQUN2QjtZQUNBLHNDQUFzQjtZQUN0QjtZQUNBO1lBQ0Y7UUFDQTtZQUNFVixnQkFBZ0I7WUFDbEJBLGdCQUFBO1FBQ0E7WUFDRUosYUFBQSxnQkFBQUEsVUFBQWUsT0FBQSxFQUErQztZQUMvQywrQ0FBMEM7WUFDMUM7WUFDQSwyQ0FBd0I7WUFDeEJDLE1BQUFBLFFBQU9DLElBQUFBLE1BQWVDO21CQUFtQkMsY0FBVSxDQUFBRCxPQUFBO2dCQUFP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YSxTQUFBQyxhQUFBRixXQUFBLEVBQUFHLE9BQUE7UUFDYkMsZUFBU3ZCLGFBQUFBLE9BQUFBO1FBQ1R3QixTQUFBQTtRQUNBVDtRQUNGQTtJQUVBOzs7dUJBSVl2QyxHQUFBQSxDQUFBQSxHQUFBQSxZQUFhZCxHQUFBLEVBQUErRCxjQUFBO2dCQUNqQmhJLEdBQUFBLGFBQWF5SDtnQkFDYi9DLGFBQWErQyxRQUFRL0MsV0FBVztnQkFDaEN1RCxhQUFNUixRQUFZL0MsV0FBQTtnQkFDbEIvRSxNQUFBQSxRQUFXQSxJQUFBQTtnQkFDWEcsV0FBQUE7Z0JBQ0FDLHNCQUFpQkE7Z0JBQ2pCNkUsaUJBQWdCQTtnQkFDaEIzRSxnQkFBWTRIO2dCQUNaekQsWUFBS0UsTUFBQUEsS0FBQUE7O1lBR1JtRDtvQkFFR25DLFFBQUFBLEdBQWFBLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLGNBQUFBO2dCQUNiUCxhQUFBQTsrQkFFQUE7OztJQUdWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2ltYWdlLWNvbXBvbmVudC50c3g/NTFlMSJdLCJuYW1lcyI6WyJfIiwicmVxdWlyZSIsIl9pbWFnZWxvYWRlciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl9fTkVYVF9JTUFHRV9PUFRTIiwiY29uZmlnRW52Iiwid2luZG93IiwiZW52IiwiZ2xvYmFsVGhpcyIsIl9fTkVYVF9JTUFHRV9JTVBPUlRFRCIsIm9uTG9hZFJlZiIsImhhbmRsZUxvYWRpbmciLCJpbWciLCJvbkxvYWRpbmdDb21wbGV0ZVJlZiIsInNldEJsdXJDb21wbGV0ZSIsInVub3B0aW1pemVkIiwic2l6ZXNJbnB1dCIsInNyYyIsInAiLCJjYXRjaCIsImRlY29kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicGFyZW50RWxlbWVudCIsImlzQ29ubmVjdGVkIiwiY3VycmVudCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXZlbnQiLCJ3cml0YWJsZSIsInZhbHVlIiwic3RvcHBlZCIsIm5hdGl2ZUV2ZW50IiwiY3VycmVudFRhcmdldCIsInRhcmdldCIsImlzRGVmYXVsdFByZXZlbnRlZCIsImlzUHJvcGFnYXRpb25TdG9wcGVkIiwicHJldmVudGVkIiwicGVyc2lzdCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJvY2VzcyIsImdldEF0dHJpYnV0ZSIsIlVSTCIsInNlYXJjaFBhcmFtcyIsImdldCIsIndpZHRoVmlld3BvcnRSYXRpbyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIndpZHRoIiwiaW5uZXJXaWR0aCIsIndhcm5PbmNlIiwiX3dhcm5vbmNlIiwib3JpZ1NyYyIsInZhbGlkIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInBvc2l0aW9uIiwibWFwIiwiU3RyaW5nIiwiam9pbiIsIndpZHRoTW9kaWZpZWQiLCJ0b1N0cmluZyIsImhlaWdodE1vZGlmaWVkIiwiZ2V0RHluYW1pY1Byb3BzIiwibWlub3JTdHIiLCJ2ZXJzaW9uIiwibWFqb3IiLCJwYXJzZUludCIsIm1ham9yU3RyIiwic3BsaXQiLCJtaW5vciIsImZldGNoUHJpb3JpdHkiLCJmZXRjaHByaW9yaXR5IiwiaGVpZ2h0IiwiZGVjb2RpbmciLCJjbGFzc05hbWUiLCJzdHlsZSIsInNyY1NldCIsInNpemVzIiwicmVzdCIsIl9qc3hydW50aW1lIiwianN4IiwibG9hZGluZyIsImRhdGEtbmltZyIsInJlZiIsInVzZUNhbGxiYWNrIiwiZm9yd2FyZGVkUmVmIiwib25FcnJvciIsImNvbnNvbGUiLCJlcnJvciIsInBsYWNlaG9sZGVyIiwib25Mb2FkIiwic2V0U2hvd0FsdFRleHQiLCJJbWFnZVByZWxvYWQiLCJwYXJhbSIsImltZ0F0dHJpYnV0ZXMiLCJvcHRzIiwiYXMiLCJpbWFnZVNyY1NldCIsImltYWdlU2l6ZXMiLCJjcm9zc09yaWdpbiIsInJlZmVycmVyUG9saWN5IiwiaXNBcHBSb3V0ZXIiLCJfcmVhY3Rkb20iLCJkZWZhdWx0IiwicHJlbG9hZCIsIlJlYWN0RE9NIiwiX2hlYWQiLCJsaW5rIiwicmVsIiwiaHJlZiIsInVuZGVmaW5lZCIsIkltYWdlIiwidXNlQ29udGV4dCIsInBhZ2VzUm91dGVyIiwiUm91dGVyQ29udGV4dCIsIl9yZWFjdCIsIl9yb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsImNvbmZpZ0NvbnRleHQiLCJjb25maWciLCJ1c2VNZW1vIiwiX2ltYWdlY29uZmlnY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJJbWFnZUNvbmZpZ0NvbnRleHQiLCJhbGxTaXplcyIsIl9pbWFnZWNvbmZpZyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImRldmljZVNpemVzIiwiYyIsImEiLCJiIiwic29ydCIsInVzZVJlZiIsInVzZUVmZmVjdCIsIm9uTG9hZGluZ0NvbXBsZXRlIiwic2hvd0FsdFRleHQiLCJ1c2VTdGF0ZSIsIm1ldGEiLCJpbWdNZXRhIiwiZ2V0SW1nUHJvcHMiLCJkZWZhdWx0TG9hZGVyIiwiX2dldGltZ3Byb3BzIiwicHJvcHMiLCJpbWdDb25mIiwiYmx1ckNvbXBsZXRlIiwiSW1hZ2VFbGVtZW50IiwiZmlsbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/image-component.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/link.js": -/*!***********************************************!*\ - !*** ./node_modules/next/dist/client/link.js ***! - \***********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n if (typeof window === \"undefined\") {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n const prefetchPromise = isAppRouter ? router.prefetch(href, appOptions) : router.prefetch(href, as, options);\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(prefetchPromise).catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll: routerScroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n scroll: routerScroll\n });\n }\n };\n if (isAppRouter) {\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `<a>` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: `<Link>`](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _s(_react.default.forwardRef(_c = _s(function LinkComponent(props, forwardedRef) {\n _s();\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + (typeof window !== \"undefined\" ? \"\\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current && !isAppRouter) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + (typeof window !== \"undefined\" ? \" \\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n}, \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\")), \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\");\n_c1 = Link;\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Link$_react.default.forwardRef\");\n$RefreshReg$(_c1, \"Link\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7NkJBUzRCQSx5QkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FDRDt3Q0FDRDt1Q0FDSTs7Ozt1Q0FRRUEsbUJBQUFBLENBQUE7NkNBQ0E7NkNBQ0o7O0FBMkY1QixNQUFNQyxzQkFBaUJDLG1CQUFBQSxDQUFBQSwrSkFBQUE7QUFVdkIsTUFBQUQsYUFDRUUsSUFBQUE7U0FPSUMsU0FBT0MsTUFBQUEsRUFBV0MsSUFBQSxFQUFBQyxFQUFBLEVBQUFDLE9BQWEsRUFBQUMsVUFBQSxFQUFBQyxXQUFBO1FBQ2pDLE9BQUFMLFdBQUE7UUFDRjtJQUVBO0lBQ0EsZ0pBQXVDO1FBQ3JDLENBQUFLLGVBQUEsS0FBQUMsWUFBQUMsVUFBQSxFQUFBTixPQUFBO1FBQ0Y7SUFFQTtJQUNBLDRFQUFZO0lBQ1osWUFBS0U7UUFDSCxDQUFBQSxRQUFNSyxxQkFDSjtRQUNBLE1BQUFBLFNBT0YsT0FBTUMsUUFBQUEsTUFBQUEsS0FBZ0JSLGNBQWtCRSxRQUFNSyxNQUFBQSxHQUFBQSxZQUFBQSxTQUFBQSxPQUFBQSxNQUFBQSxHQUFBQTtRQUU5QyxNQUFBQyxnQkFBQVIsT0FBQSxNQUFBQyxLQUFBLE1BQUFNO1FBQ0Esa0VBQW1DO1lBQ2pDWixXQUFBYyxHQUFBLENBQUFELGdCQUFBO1lBQ0Y7UUFFQTtRQUNBYiwrQkFBZWE7UUFDakJiLFdBQUFlLEdBQUEsQ0FBQUY7SUFFQTtJQUlBLE1BQUFHLGtCQUFBUCxjQUFBUCxPQUFBQyxRQUFBLENBQUFFLE1BQXVERyxjQUFBTixPQUFBQyxRQUFBLENBQUFFLE1BQUFDLElBQUFDO0lBQ3ZEO0lBQ0EsMERBQXNEO0lBQ3REO0lBQ0FVLHlEQUF3Q0M7WUFDbENDLE9BQUFBLENBQVFDLGlCQUFpQkMsS0FBQSxFQUFBSDtZQUMzQkMsSUFBQSxFQUFxQztZQUNyQyxxQ0FBTUQ7WUFDUixNQUFBQTtRQUNGO0lBQ0Y7QUFFQTtTQUNFSSxnQkFBb0JDLEtBQU1DO0lBQzFCLE1BQU1DLGNBQVNDLE1BQUFBLGFBQXdCO0lBQ3ZDLE1BQUFELFNBQ0dBLFlBQVVBLFlBQ1hGLENBQUFBO0lBSUNBLE9BQU1JLFVBQVdGLFdBQVVFLFdBQVlDLE1BQUtDLE9BQUssSUFBQU4sTUFBQU8sT0FBQSxJQUFBUCxNQUFBUSxRQUFBLElBQUFSLE1BQUFTLE1BQUE7SUFFdERULE1BQUFJLFdBQUEsSUFBQUosTUFBQUksV0FBQSxDQUFBQyxLQUFBO0FBRUE7U0FXRUssWUFBZ0JDLENBQUUsRUFBQWhDLE1BQUtzQixFQUFBQSxJQUFBQSxFQUFBQSxFQUFhLEVBQUFXLE9BQUEsRUFBQUMsT0FBQSxFQUFBQyxNQUFBLEVBQUF6QixNQUFBLEVBQUFILFdBQUE7SUFFcEMsUUFBQTZCLFFBQUEsS0FBQUosRUFBQVYsYUFBQTtJQUNBLGtEQUE2QztJQUU3QyxNQUNFZSxtQkFDQ2pCLFNBQUFBLFdBQWdCWSxPQUNmO0lBQ0MsSUFBQ3pCLG9CQUFnQkUsQ0FBQUEsZ0JBQUFBLE1BQVdOLGdKQUMvQjtvQkFDQSxLQUFBSyxZQUFBQyxVQUFBLEVBQUFOLEtBQUEsR0FBOEM7UUFDOUM7UUFDRjtJQUVBNkI7SUFFQUEsRUFBQU0sY0FBTUM7VUFDSkEsV0FBQTtRQUNBLHdFQUErQjtRQUMvQixNQUFJQyxlQUFBTCxVQUFvQm5DLE9BQVFtQyxTQUFBO1lBQzlCbkMsb0JBQWlCQSxRQUFBO2tCQUNma0MsQ0FBQUEsVUFBQUEsWUFBQUEsT0FBQUEsQ0FBQUEsTUFBQUEsSUFBQUE7Z0JBQ0F4QjtnQkFDQXlCO2dCQUNGQSxRQUFBSztZQUNGO2VBQ0V4QztrQkFDRW1DLENBQUFBLFVBQVFLLFlBQUFBLE9BQUFBLENBQUFBLE1BQUFBLE1BQUFBO2dCQUNWTCxRQUFBSztZQUNGO1FBQ0Y7SUFFQTtRQUNFQyxhQUFBQTtRQUNGQyxPQUFPQyxPQUFBLENBQUFDLGVBQUEsQ0FBQUw7V0FDTEE7UUFDRkE7SUFDRjtBQU9BO1NBQ01NLGtCQUFPQyxjQUFtQjtRQUM1QixPQUFPQSxtQkFBQUEsVUFBQUE7UUFDVCxPQUFBQTtJQUVBO0lBQ0YsV0FBQUMsV0FBQUMsU0FBQSxFQUFBRjtBQUVBOzs7Ozs7OztJQVVJLE1BQUlHLE9BQUFBLFdBQUFBLEdBQUFBLEdBQUFBLE9BQUFBLE9BQUFBLENBQUFBLFVBQUFBLFNBQUFBLFNBQUFBLGNBQUFBLEtBQUFBLEVBQUFBLFlBQUFBOztJQUVKLElBQUFBO0lBaUJBQSxNQUFBQSxFQUFBQSxNQUFXQyxRQUFBQSxFQUFBQSxJQUFBQSxNQUFBQSxFQUFBQSxVQUFBQSxZQUFBQSxFQUFBQSxVQUFBQSxlQUFBQSxJQUFBQSxFQUFBQSxRQUFBQSxFQUFBQSxPQUFBQSxFQUFBQSxPQUFBQSxFQUFBQSxNQUFBQSxFQUFBQSxNQUFBQSxFQUFBQSxPQUFBQSxFQUFBQSxjQUFBQSxnQkFBQUEsRUFBQUEsY0FBQUEsZ0JBQUFBLEVBQUFBLGlCQUFBQSxLQUFBQSxFQUFBQSxHQUFBQSxXQUFBQSxHQUFBQTtJQUVYRCxXQUNFRTtRQUdBRixrQkFBQUEsQ0FBQUEsT0FBV0EsYUFBQSxZQUFDRyxPQUFBQSxhQUFBQSxRQUFBQSxHQUFBQTttQkFBR0gsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsS0FBQUE7O1FBQ2pCO0lBRUE7SUFDQSxNQUFNSSxjQUFZWixPQUFBQSxPQUFNYSxDQUFBQSxVQUFXQyxDQUFBQSw0QkFBQUEsYUFBQUE7SUFDbkMsTUFBTXZELFlBQVN3RCxPQUFBQSxPQUFBQSxDQUFBQSxVQUFBQSxDQUFBQSwrQkFBZUgsZ0JBQUFBO0lBRTlCLE1BQUFyRCxTQUFBd0QsZUFBQSxPQUFBQSxjQUFBSDtJQUNBLDBEQUFxQkc7SUFFckIsTUFBTUMsY0FBQUEsQ0FBQUE7SUFDTixNQUFBQSxrQkFBQUMsaUJBQUE7Ozs7OztLQVNBLEdBQUl6QyxNQUFBQSxrQkFBb0J5QyxpQkFBbUIsT0FBQUMsb0JBQUFDLFlBQUEsQ0FBQUMsSUFBQSxHQUFBRixvQkFBQUMsWUFBQSxDQUFBRSxJQUFBO1FBQ3pDN0MsSUFBeUI4QyxFQUl4QjtpQkFDQ0MsZ0JBQ0dELElBQUE7WUFLTCxXQUFBRSxNQUFBLGlDQUFBRixLQUFBRyxHQUFBLG9CQUFBSCxLQUFBSSxRQUFBLCtCQUFBSixLQUFBSyxNQUFBLDBCQUFBbEUsV0FBQTtRQUVBO1FBQ0Esc0NBQTREO2NBQzFEQyxxQkFBTTtZQUNSQSxNQUFBO1FBQ0E7UUFHQWtFLE1BQUFBLGdCQUFzQkMsT0FBQ0osSUFBQUEsQ0FBQUE7c0JBQ2pCQSxPQUFRLEVBQUFBO2dCQUNWQSxRQUNFSyxRQUFVO29CQUdWQSxLQUFBLENBQU1QLElBQUFBLElBQUFBLFFBQWdCLE9BQUFPLEtBQUEsQ0FBQUwsSUFBQSx3QkFBQUssS0FBQSxDQUFBTCxJQUFBOzBCQUNwQkEsZ0JBQUFBO3dCQUNBQzt3QkFDQUMsVUFBUUc7d0JBQ1ZILFFBQUFHLEtBQUEsQ0FBQUwsSUFBQSw0QkFBQUssS0FBQSxDQUFBTCxJQUFBO29CQUNGO2dCQUNGO21CQUNFO2dCQUNBO2dCQUNBLDZEQUFpQkE7Z0JBQ25CLE1BQUF0RSxJQUFBc0U7WUFDRjtRQUVBO1FBQ0Esc0NBQTREO2NBQzFEOUQscUJBQUk7WUFDSjZCLElBQUFBO1lBQ0FFLFNBQVE7WUFDUkQsUUFBQUE7WUFDQXNDLFNBQUFBO1lBQ0F2RSxVQUFVO1lBQ1ZTLFVBQVE7WUFDUitELFFBQUFBO1lBQ0FDLFNBQUFBO1lBQ0FDLGNBQWM7WUFDZHhCLGNBQUFBO1lBQ0ZBLGdCQUFBO1FBQ0E7UUFHQXlCLE1BQUFBLGdCQUFzQk4sT0FBQ0osSUFBQUEsQ0FBQUE7c0JBQ2ZXLE9BQVUsRUFBQVg7WUFFaEIsTUFBSUEsVUFBUSxPQUFNSyxLQUFBLENBQUFMLElBQUE7Z0JBQ2hCQSxRQUFJSyxNQUFVO29CQUNaQSxLQUFBLENBQU1QLElBQUFBLElBQUFBLFlBQWdCLFlBQUFhLFlBQUE7MEJBQ3BCWCxnQkFBQUE7d0JBQ0FDO3dCQUNBQyxVQUFRUzt3QkFDVlQsUUFBQVM7b0JBQ0Y7Z0JBQ0Y7bUJBQ0UsSUFBSU4sUUFBVSxVQUFJTTtvQkFDaEJOLEtBQUEsQ0FBTVAsSUFBQUEsSUFBQUEsWUFBZ0I7MEJBQ3BCRSxnQkFBQUE7d0JBQ0FDO3dCQUNBQyxVQUFRUzt3QkFDVlQsUUFBQVM7b0JBQ0Y7Z0JBQ0Y7bUJBS0UsSUFBSU4sUUFBVSxhQUFJTSxRQUFZLGtCQUFZWCxRQUFBO29CQUN4Q0ssS0FBQSxDQUFNUCxJQUFBQSxJQUFBQSxZQUFnQjswQkFDcEJFLGdCQUFBQTt3QkFDQUM7d0JBQ0FDLFVBQVFTO3dCQUNWVCxRQUFBUztvQkFDRjtnQkFDRjttQkFRRSxJQUFJTixRQUFVLGFBQVlNLFFBQUFBLFlBQVlYLFFBQVcsYUFBQUEsUUFBQSxjQUFBQSxRQUFBLGNBQUFBLFFBQUE7b0JBQy9DSyxLQUFBLENBQU1QLElBQUFBLElBQUFBLFFBQWdCYSxZQUFBOzBCQUNwQlgsZ0JBQUFBO3dCQUNBQzt3QkFDQUMsVUFBUVM7d0JBQ1ZULFFBQUFTO29CQUNGO2dCQUNGO21CQUNFO2dCQUNBO2dCQUNBLDZEQUFpQlg7Z0JBQ25CLE1BQUF0RSxJQUFBc0U7WUFDRjtRQUVBO1FBQ0EsNEZBQXNEO1FBQ3RELHNEQUErQjtRQUMvQixNQUFJSyxZQUFjN0IsT0FBS29DLE9BQUFBLENBQVVDLE1BQUFBLENBQU87WUFDdENELE1BQUFBLFFBQVVDLElBQU8sQ0FBQUQsVUFBR0MsT0FBQSxLQUFBeEUsYUFBQTtZQUNwQnlFLFVBQVFDLE9BQ047WUFFSkQsUUFBQUMsSUFBQTtRQUNGO0lBRUE7UUFDRWhFLElBQW9CaUUsRUFBUTtZQUMxQjNFLGVBQUlKLENBQUFBLFFBQUFBO1lBQ0osSUFBSUE7Z0JBQ0ZBLE9BQU9nRixhQUFBQSxVQUFBQTtnQkFDVGhGLE9BQ0VnRjttQkFHQWhGLElBQU9nRixPQUFBQSxhQUFpQixtQkFBQUEsU0FBQUMsUUFBQTtnQkFDMUJqRixPQUFBZ0YsU0FBQUMsUUFBQTtZQUVBO2dCQUNFakYsTUFBTWtGO2dCQUlOLE1BQUlBLG9CQUFtQmxGLEtBQUFtRixLQUFBLE1BQUFDLElBQUEsRUFBQUMsVUFBQUEsUUFBQUMsVUFBQSxTQUFBRCxRQUFBRSxRQUFBO29CQUNyQkwsbUJBQ0c7b0JBRUwsVUFBQXBCLE1BQUEsbUJBQUE5RCxPQUFBO2dCQUNGO1lBQ0Y7UUFDRjtJQUVBO1VBQ0UsRUFBSUEsSUFBQ3FELEVBQUFBLEVBQUFBLEVBQUFBLEdBQUFBLE9BQWFiLE9BQUEsQ0FBQWdELE9BQUE7WUFDaEIsQ0FBQW5DLGFBQU1vQztZQUNOLE1BQUFBLGVBQU8vQyxrQkFBQXNDO21CQUNMaEY7Z0JBQ0FDLE1BQUk4RTtnQkFDTjlFLElBQUE4RSxTQUFBckMsa0JBQUFxQyxVQUFBVTtZQUNGO1FBRUE7UUFNQSxPQUFPQSxjQUFBQyxXQUFBLE9BQUFDLGFBQUFDLFdBQUEsRUFBQXZDLGFBQUEyQixVQUFBO2VBQ0xoRjtZQUNBQyxNQUFJOEU7WUFHTjlFLElBQUE4RSxTQUFBLElBQUFZLGFBQUFDLFdBQUEsRUFBQXZDLGFBQUEwQixVQUFBVyxjQUFBRDtRQUNDOztRQUFjVDtRQUFVRDtRQUFPQTtLQUVsQztJQUNBLE1BQU1jLGVBQWF2RCxPQUFBQSxPQUFNd0QsQ0FBQUEsTUFBZTdGLENBQUFBO0lBRXhDLE1BQUE0RixhQUFBdEQsT0FBQUMsT0FBQSxDQUFBc0QsTUFBQSxDQUFBN0Y7SUFDQSxvRkFBSThGO0lBQ0osSUFBSS9DO1FBQ0ZBLGdCQUFnQmdEO1lBQ2RsRixJQUFhO2dCQUNYK0QsU0FBUUM7Z0JBR1ZELFFBQUFDLElBQUEscURBQUFFLFdBQUE7WUFDQTtnQkFDRUgsa0JBQ0c7Z0JBRUxBLFFBQUFDLElBQUEsMERBQUFFLFdBQUE7WUFDQTtnQkFDRWU7Z0JBQ0FBLFFBQU9sRixPQUFLMkIsT0FBQSxDQUFBeUQsUUFBQSxDQUFBQyxJQUFBLENBQUFwRDtxQkFDUEEsS0FBQUE7b0JBQ0gsQ0FBQUEsVUFBVWdCO29CQUdaLFVBQUFBLE1BQUEsdURBQUFrQixXQUFBO2dCQUNBO2dCQU1GLFVBQUFsQixNQUFBLDZEQUFBa0IsV0FBQSxzR0FBQWpGLFdBQUE7WUFDRjtlQUNFZ0csRUFFSjtXQUNFO1lBQ0VqRixJQUFLZ0MsRUFBQUE7Z0JBQ0gsQ0FBQUEsWUFBVWdCLE9BQ1IsU0FBQWhCLFNBQUFxRCxJQUFBO2dCQUVKLFVBQUFyQyxNQUFBO1lBQ0Y7UUFDRjtJQUVBO0lBSUEsTUFBTXNDLFdBQUNDLGlCQUFvQkMsU0FBV0MsT0FBQUEsVUFBZ0JDLFlBQUFBLE1BQUFBLEdBQUFBLEdBQUFBO1VBQ3BEQyxDQUFBQSxvQkFBWUgsV0FBQUMsYUFBQSxPQUFBRyxpQkFBQUYsZUFBQTtRQUNkQyxZQUFBO0lBRUE7VUFFSUUsU0FBQXBFLE9BQUFDLE9BQUEsQ0FBQW9FLFdBQUEsRUFBQUM7UUFDQSw0RUFBZ0U7WUFDOUROLFdBQUFBLE9BQUFBLEtBQUFBLE1BQUFBLGFBQUFBLE9BQUFBLEtBQUFBLE1BQUFBO1lBQ0FWO1lBQ0FpQixXQUFBQSxPQUFhbEMsR0FBTzNFO1lBQ3RCNkcsYUFBQWxDLE9BQUEsR0FBQTVFO1FBRUFxRztRQUNBQSxtQkFBY1E7WUFDWlQsVUFBSTt1QkFDS0EsYUFBT0EsWUFBYUEsU0FBVVM7aUJBQ3JDVCxJQUFBQSxPQUFTeEIsYUFBVWlDLFVBQUFBO2dCQUNyQlQsU0FBQXhCLE9BQUEsR0FBQWlDO1lBQ0Y7UUFFRjs7UUFBS1Q7UUFBVXBHO1FBQU11RztRQUFjRjtRQUFtQkE7S0FHeEQ7SUFDQS9ELDJEQUFnQjtXQUNkRSxPQUFBLENBQUF1RSxTQUFBO1FBQ0EsZ0hBQTJDO1lBQ3pDakcsSUFBQTtZQUNGO1FBRUE7WUFDRSxDQUFBakIsUUFBQTtZQUNGO1FBRUE7UUFDQSwyREFBb0M7WUFDbEMsQ0FBQXlHLGFBQUEsQ0FBQWhELGlCQUFBO1lBQ0Y7UUFFQTtRQUNBeEQsb0JBRUVFO2lCQUVFTyxRQUFBQSxNQUFBQSxJQUFBQTtZQUNGQTs7WUFHQUgsTUFBQUE7UUFFRCxHQUFBQTs7UUFFREo7UUFDQXNHO1FBQ0EvRjtRQUNBK0M7UUFDQUQ7UUFDQXhELGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFlBQUFBLE1BQUFBO1FBQ0FPO1FBQ0E0RztRQUNEQTtLQUVEO1VBT0VDLGFBQUtOO1FBQ0xyQyxLQUFBQTtpQkFDTXhELENBQUFBO2dCQUNGQSxJQUFRO29CQUNOLENBQUFlLEdBQUE7b0JBR0YsVUFBQWlDLE1BQUE7Z0JBQ0Y7WUFFQTtnQkFDRVEsQ0FBQUEsa0JBQVF6QyxPQUFBQSxZQUFBQSxZQUFBQTtnQkFDVnlDLFFBQUF6QztZQUVBO2dCQUtFa0Usa0JBQVl6QixNQUFRekMsS0FBQUEsSUFBQUEsT0FBQUEsTUFBQUEsS0FBQUEsQ0FBQUEsT0FBQUEsS0FBQUEsWUFBQUE7Z0JBQ3RCa0UsTUFBQTNCLEtBQUEsQ0FBQUUsT0FBQSxDQUFBekM7WUFFQTtnQkFDRSxDQUFBaEMsUUFBQTtnQkFDRjtZQUVBO2dCQUNFZ0MsRUFBQXFGLGdCQUFBO2dCQUNGO1lBRUF0RjtZQVdGQSxZQUFBQyxHQUFBaEMsUUFBQUcsTUFBQUMsSUFBQTZCLFNBQUFDLFNBQUFDLFFBQUF6QixRQUFBSDtRQUNBbUU7c0JBQ092QixDQUFBQTtnQkFDSG1FLENBQUFBLGtCQUFpQnRGLE9BQUFBLHFCQUFBQSxZQUFBQTtnQkFDbkJzRixpQkFBQXRGO1lBRUE7Z0JBS0VrRSxrQkFBWXhCLE1BQVlILEtBQUN2QyxJQUFBQSxPQUFBQSxNQUFBQSxLQUFBQSxDQUFBQSxZQUFBQSxLQUFBQSxZQUFBQTtnQkFDM0JrRSxNQUFBM0IsS0FBQSxDQUFBRyxZQUFBLENBQUExQztZQUVBO2dCQUNFLENBQUFoQyxRQUFBO2dCQUNGO1lBRUE7Z0JBSUUsRUFBQXlELG1CQUFBeEMsa0JBQUEsa0JBQUFWLGFBQUE7Z0JBQ0Y7WUFFQU47cUJBS0lTLFFBQUFBLE1BQUFBLElBQUFBO2dCQUNBNkc7Z0JBQ0FBLFVBQUE7Z0JBQ0FDLGdHQUF1QjtnQkFFekJBLHVCQUFBOztnQkFHQWpILE1BQUFBO1lBRUosR0FBQUE7UUFDQW9FO3NCQUdXeEIsTUFBeUJzRSxHQUFxQkMsQ0FBQUEsR0FBWSxTQUFBL0MsYUFBQTNDLENBQUE7Z0JBQzdEeUYsQ0FBQUEsa0JBQWlCekYsT0FBQUEscUJBQUFBLFlBQUFBO2dCQUNuQnlGLGlCQUFBekY7WUFFQTtnQkFLRWtFLGtCQUFZdkIsTUFBWUosS0FBQ3ZDLElBQUFBLE9BQUFBLE1BQUFBLEtBQUFBLENBQUFBLFlBQUFBLEtBQUFBLFlBQUFBO2dCQUMzQmtFLE1BQUEzQixLQUFBLENBQUFJLFlBQUEsQ0FBQTNDO1lBRUE7Z0JBQ0UsQ0FBQWhDLFFBQUE7Z0JBQ0Y7WUFFQTtnQkFDRSxDQUFBeUQsbUJBQUFsRCxhQUFBO2dCQUNGO1lBRUFOO3FCQUtJUyxRQUFBQSxNQUFBQSxJQUFBQTtnQkFDQTZHO2dCQUNBQSxVQUFBO2dCQUNBQyxnR0FBdUI7Z0JBRXpCQSx1QkFBQTs7Z0JBR0FqSCxNQUFBQTtZQUVKLEdBQUFBO1FBQ047SUFFQTtJQUNBLDZGQUF3RjtJQUN4Rix3RkFBb0Y7SUFDcEYsb0ZBQXVCO1FBQ3JCb0gsQ0FBQUEsR0FBQUEsT0FBV3hILGFBQU9DLEVBQUFBLEtBQUFBO1FBQ3BCdUgsV0FDR3hFLElBQUFBLEdBQUFBO1dBSUQsSUFBTXlFLENBQUFBLGtCQUNHbEgsWUFBV3dGLE1BQUFJLElBQUEsS0FBYzVGLE9BQVM4QyxDQUFBQSxDQUFBQSxVQUFBQSxNQUFBQSxLQUFBQSxHQUFBQTtRQUUzQyxNQUFBb0UsWUFBQSxPQUFBbEgsV0FBQSxjQUFBQSxTQUFBOEMsZUFBdUUsZ0JBQUFBLFlBQUE5QyxNQUFBO1FBQ3ZFLHVFQUF1RTtRQUN2RSx1RUFDZW1IO1FBUWZGLE1BQUFBLGVBQ0VHLENBQUFBLGVBQ0FDLE9BQUFBLEtBQUFBLElBQUFBLFlBQVlDLGNBQUFBLEtBQUFBLENBQUFBLEdBQVNDLGlCQUFnQnpFLGVBQUFBLEVBQUFBLElBQUFBLFdBQUFBLGVBQWEwRSxPQUFBQSxLQUFhLElBQUExRSxZQUFBMkUsT0FBQSxFQUFBM0UsZUFBQSxnQkFBQUEsWUFBQTRFLGFBQUE7UUFDbkVULFdBQUF4SCxJQUFBLEdBQUEySCxnQkFBQSxJQUFBTyxhQUFBTixXQUFBLE1BQUFPLFdBQUFOLFNBQUEsRUFBQTVILElBQUF3SCxXQUFBcEUsZUFBQSxnQkFBQUEsWUFBQTBFLGFBQUE7SUFFQTtXQUdTSyxpQkFBUyxjQUFBN0YsT0FBQUMsT0FBQSxDQUFBNkYsWUFBQSxDQUFBdEMsT0FBQXlCLGNBQUEsa0JBQUFjLFlBQUFDLEdBQUE7UUFBRyxHQUFHZixTQUFBQTtxQkFDbkIxRTs7SUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9saW5rLnRzeD9hY2YwIl0sIm5hbWVzIjpbIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl8iLCJyZXF1aXJlIiwicHJlZmV0Y2hlZCIsIlNldCIsInJvdXRlciIsInByZWZldGNoIiwid2luZG93IiwiaHJlZiIsImFzIiwib3B0aW9ucyIsImFwcE9wdGlvbnMiLCJpc0FwcFJvdXRlciIsIl9pc2xvY2FsdXJsIiwiaXNMb2NhbFVSTCIsImxvY2FsZSIsInByZWZldGNoZWRLZXkiLCJoYXMiLCJhZGQiLCJwcmVmZXRjaFByb21pc2UiLCJQcm9taXNlIiwiZXJyIiwicHJvY2VzcyIsImVudiIsImNhdGNoIiwiaXNNb2RpZmllZEV2ZW50IiwiZXZlbnQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiZXZlbnRUYXJnZXQiLCJuYXRpdmVFdmVudCIsIndoaWNoIiwibWV0YUtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImFsdEtleSIsImxpbmtDbGlja2VkIiwiZSIsInJlcGxhY2UiLCJzaGFsbG93Iiwic2Nyb2xsIiwibm9kZU5hbWUiLCJpc0FuY2hvck5vZGVOYW1lIiwicHJldmVudERlZmF1bHQiLCJuYXZpZ2F0ZSIsInJvdXRlclNjcm9sbCIsIlJlYWN0IiwiX3JlYWN0IiwiZGVmYXVsdCIsInN0YXJ0VHJhbnNpdGlvbiIsImZvcm1hdFN0cmluZ09yVXJsIiwidXJsT2JqT3JTdHJpbmciLCJfZm9ybWF0dXJsIiwiZm9ybWF0VXJsIiwiY2hpbGRyZW4iLCJjaGlsZHJlblByb3AiLCJsZWdhY3lCZWhhdmlvciIsImEiLCJhcHBSb3V0ZXIiLCJ1c2VDb250ZXh0IiwiQXBwUm91dGVyQ29udGV4dCIsInBhZ2VzUm91dGVyIiwicHJlZmV0Y2hFbmFibGVkIiwicHJlZmV0Y2hQcm9wIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJGVUxMIiwiYXJncyIsImNyZWF0ZVByb3BFcnJvciIsIkVycm9yIiwia2V5IiwiZXhwZWN0ZWQiLCJhY3R1YWwiLCJyZXF1aXJlZFByb3BzIiwiT2JqZWN0IiwicHJvcHMiLCJwYXNzSHJlZiIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvblRvdWNoU3RhcnQiLCJvcHRpb25hbFByb3BzIiwidmFsVHlwZSIsImhhc1dhcm5lZCIsImN1cnJlbnQiLCJjb25zb2xlIiwid2FybiIsImFzUHJvcCIsImhyZWZQcm9wIiwicGF0aG5hbWUiLCJoYXNEeW5hbWljU2VnbWVudCIsInNwbGl0Iiwic29tZSIsInNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJ1c2VNZW1vIiwicmVzb2x2ZWRIcmVmIiwicmVzb2x2ZWRBcyIsIl9yZXNvbHZlaHJlZiIsInJlc29sdmVIcmVmIiwicHJldmlvdXNBcyIsInVzZVJlZiIsImNoaWxkIiwiTk9ERV9FTlYiLCJDaGlsZHJlbiIsIm9ubHkiLCJ0eXBlIiwiY2hpbGRSZWYiLCJzZXRJbnRlcnNlY3Rpb25SZWYiLCJpc1Zpc2libGUiLCJyZXNldFZpc2libGUiLCJ1c2VJbnRlcnNlY3Rpb24iLCJyb290TWFyZ2luIiwiX3VzZWludGVyc2VjdGlvbiIsInNldFJlZiIsInVzZUNhbGxiYWNrIiwiZWwiLCJwcmV2aW91c0hyZWYiLCJ1c2VFZmZlY3QiLCJhcHBQcmVmZXRjaEtpbmQiLCJyZWYiLCJkZWZhdWx0UHJldmVudGVkIiwib25Nb3VzZUVudGVyUHJvcCIsInByaW9yaXR5IiwiYnlwYXNzUHJlZmV0Y2hlZENoZWNrIiwib25Ub3VjaFN0YXJ0UHJvcCIsInVuZGVmaW5lZCIsImNoaWxkUHJvcHMiLCJjdXJMb2NhbGUiLCJpc0xvY2FsZURvbWFpbiIsImxvY2FsZURvbWFpbiIsImFkZEJhc2VQYXRoIiwiYWRkTG9jYWxlIiwiX2dldGRvbWFpbmxvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJsb2NhbGVzIiwiZG9tYWluTG9jYWxlcyIsIl9hZGRiYXNlcGF0aCIsIl9hZGRsb2NhbGUiLCJyZXN0UHJvcHMiLCJjbG9uZUVsZW1lbnQiLCJfanN4cnVudGltZSIsImpzeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/link.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/request-idle-callback.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQmFBLG9CQUFrQjtlQUFsQkE7O0lBaEJBQyxxQkFBbUI7ZUFBbkJBOzs7QUFBTixNQUFNQSxzQkFDWCxPQUFRQyxTQUFTLGVBQ2ZBLEtBQUtELG1CQUFtQixJQUN4QkMsS0FBS0QsbUJBQW1CLENBQUNFLElBQUksQ0FBQ0MsV0FDaEMsU0FBVUMsRUFBdUI7SUFDL0IsSUFBSUMsUUFBUUMsS0FBS0MsR0FBRztJQUNwQixPQUFPTixLQUFLTyxVQUFVLENBQUM7UUFDckJKLEdBQUc7WUFDREssWUFBWTtZQUNaQyxlQUFlO2dCQUNiLE9BQU9DLEtBQUtDLEdBQUcsQ0FBQyxHQUFHLEtBQU1OLENBQUFBLEtBQUtDLEdBQUcsS0FBS0YsS0FBQUE7WUFDeEM7UUFDRjtJQUNGLEdBQUc7QUFDTDtBQUVLLE1BQU1OLHFCQUNYLE9BQVFFLFNBQVMsZUFDZkEsS0FBS0Ysa0JBQWtCLElBQ3ZCRSxLQUFLRixrQkFBa0IsQ0FBQ0csSUFBSSxDQUFDQyxXQUMvQixTQUFVVSxFQUFVO0lBQ2xCLE9BQU9DLGFBQWFEO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay50cz8wNWY0Il0sIm5hbWVzIjpbImNhbmNlbElkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJzZWxmIiwiYmluZCIsIndpbmRvdyIsImNiIiwic3RhcnQiLCJEYXRlIiwibm93Iiwic2V0VGltZW91dCIsImRpZFRpbWVvdXQiLCJ0aW1lUmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImlkIiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/resolve-href.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3Jlc29sdmUtaHJlZi5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQXlCZ0JBOzs7ZUFBQUE7Ozt5Q0F2QnVCO3VDQUNGO2tDQUNoQjttQ0FDb0I7b0RBQ0U7d0NBQ2hCO29DQUNJOzJDQUNEO0FBZ0J2QixTQUFTQSxZQUNkQyxNQUFrQixFQUNsQkMsSUFBUyxFQUNUQyxTQUFtQjtJQUVuQiw0Q0FBNEM7SUFDNUMsSUFBSUM7SUFDSixJQUFJQyxjQUFjLE9BQU9ILFNBQVMsV0FBV0EsT0FBT0ksQ0FBQUEsR0FBQUEsV0FBQUEsb0JBQW9CLEVBQUNKO0lBRXpFLDZEQUE2RDtJQUM3RCxtREFBbUQ7SUFDbkQsTUFBTUssZ0JBQWdCRixZQUFZRyxLQUFLLENBQUM7SUFDeEMsTUFBTUMscUJBQXFCRixnQkFDdkJGLFlBQVlLLEtBQUssQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsQ0FBQ0ksTUFBTSxJQUN6Q047SUFFSixNQUFNTyxXQUFXSCxtQkFBbUJJLEtBQUssQ0FBQyxLQUFLO0lBRS9DLElBQUksQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsSUFBSSxJQUFJSixLQUFLLENBQUMsY0FBYztRQUMxQ00sUUFBUUMsS0FBSyxDQUNYLG1CQUFpQlYsY0FBWSx1Q0FBb0NKLE9BQU9lLFFBQVEsR0FBQztRQUVuRixNQUFNQyxnQkFBZ0JDLENBQUFBLEdBQUFBLE9BQUFBLHdCQUF3QixFQUFDVDtRQUMvQ0osY0FBYyxDQUFDRSxnQkFBZ0JBLGFBQWEsQ0FBQyxFQUFFLEdBQUcsTUFBTVU7SUFDMUQ7SUFFQSwyREFBMkQ7SUFDM0QsSUFBSSxDQUFDRSxDQUFBQSxHQUFBQSxZQUFBQSxVQUFVLEVBQUNkLGNBQWM7UUFDNUIsT0FBUUYsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3RDO0lBRUEsSUFBSTtRQUNGRCxPQUFPLElBQUlnQixJQUNUZixZQUFZZ0IsVUFBVSxDQUFDLE9BQU9wQixPQUFPcUIsTUFBTSxHQUFHckIsT0FBT2UsUUFBUSxFQUM3RDtJQUVKLEVBQUUsT0FBT08sR0FBRztRQUNWLGtEQUFrRDtRQUNsRG5CLE9BQU8sSUFBSWdCLElBQUksS0FBSztJQUN0QjtJQUVBLElBQUk7UUFDRixNQUFNSSxXQUFXLElBQUlKLElBQUlmLGFBQWFEO1FBQ3RDb0IsU0FBU1IsUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSx3QkFBQUEsMEJBQTBCLEVBQUNELFNBQVNSLFFBQVE7UUFDaEUsSUFBSVUsaUJBQWlCO1FBRXJCLElBQ0VDLENBQUFBLEdBQUFBLFFBQUFBLGNBQWMsRUFBQ0gsU0FBU1IsUUFBUSxLQUNoQ1EsU0FBU0ksWUFBWSxJQUNyQnpCLFdBQ0E7WUFDQSxNQUFNMEIsUUFBUUMsQ0FBQUEsR0FBQUEsYUFBQUEsc0JBQXNCLEVBQUNOLFNBQVNJLFlBQVk7WUFFMUQsTUFBTSxFQUFFRyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQ3RDVCxTQUFTUixRQUFRLEVBQ2pCUSxTQUFTUixRQUFRLEVBQ2pCYTtZQUdGLElBQUlFLFFBQVE7Z0JBQ1ZMLGlCQUFpQnBCLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDO29CQUNwQ1UsVUFBVWU7b0JBQ1ZHLE1BQU1WLFNBQVNVLElBQUk7b0JBQ25CTCxPQUFPTSxDQUFBQSxHQUFBQSxNQUFBQSxJQUFJLEVBQUNOLE9BQU9HO2dCQUNyQjtZQUNGO1FBQ0Y7UUFFQSxvRUFBb0U7UUFDcEUsTUFBTUksZUFDSlosU0FBU2EsTUFBTSxLQUFLakMsS0FBS2lDLE1BQU0sR0FDM0JiLFNBQVN0QixJQUFJLENBQUNRLEtBQUssQ0FBQ2MsU0FBU2EsTUFBTSxDQUFDMUIsTUFBTSxJQUMxQ2EsU0FBU3RCLElBQUk7UUFFbkIsT0FBT0MsWUFDSDtZQUFDaUM7WUFBY1Ysa0JBQWtCVTtTQUFhLEdBQzlDQTtJQUNOLEVBQUUsT0FBT2IsR0FBRztRQUNWLE9BQU9wQixZQUFZO1lBQUNFO1NBQVksR0FBR0E7SUFDckM7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZXNvbHZlLWhyZWYudHM/ZTZkMiJdLCJuYW1lcyI6WyJyZXNvbHZlSHJlZiIsInJvdXRlciIsImhyZWYiLCJyZXNvbHZlQXMiLCJiYXNlIiwidXJsQXNTdHJpbmciLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwibGVuZ3RoIiwidXJsUGFydHMiLCJzcGxpdCIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhuYW1lIiwibm9ybWFsaXplZFVybCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImlzTG9jYWxVUkwiLCJVUkwiLCJzdGFydHNXaXRoIiwiYXNQYXRoIiwiXyIsImZpbmFsVXJsIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJpbnRlcnBvbGF0ZWRBcyIsImlzRHluYW1pY1JvdXRlIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwicmVzdWx0IiwicGFyYW1zIiwiaW50ZXJwb2xhdGVBcyIsImhhc2giLCJvbWl0IiwicmVzb2x2ZWRIcmVmIiwib3JpZ2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/use-intersection.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useIntersection\", ({\n enumerable: true,\n get: function() {\n return useIntersection;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id, observer, elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef, rootMargin, disabled } = param;\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react.useState)(false);\n const elementRef = (0, _react.useRef)(null);\n const setElement = (0, _react.useCallback)((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react.useEffect)(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestidlecallback.requestIdleCallback)(()=>setVisible(true));\n return ()=>(0, _requestidlecallback.cancelIdleCallback)(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react.useCallback)(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7OzttREErRmdCQTs7O2VBQUFBOzs7bUNBL0Z5QztpREFJbEQ7QUFxQlAsTUFBTUMsMEJBQTBCLE9BQU9DLHlCQUF5QjtBQUVoRSxNQUFNQyxZQUFZLElBQUlDO0FBQ3RCLE1BQU1DLFNBQXVCLEVBQUU7QUFFL0IsU0FBU0MsZUFBZUMsT0FBb0M7SUFDMUQsTUFBTUMsS0FBSztRQUNUQyxNQUFNRixRQUFRRSxJQUFJLElBQUk7UUFDdEJDLFFBQVFILFFBQVFJLFVBQVUsSUFBSTtJQUNoQztJQUNBLE1BQU1DLFdBQVdQLE9BQU9RLElBQUksQ0FDMUIsQ0FBQ0MsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtJQUUzRCxJQUFJSztJQUVKLElBQUlILFVBQVU7UUFDWkcsV0FBV1osVUFBVWEsR0FBRyxDQUFDSjtRQUN6QixJQUFJRyxVQUFVO1lBQ1osT0FBT0E7UUFDVDtJQUNGO0lBRUEsTUFBTUUsV0FBVyxJQUFJYjtJQUNyQixNQUFNYyxXQUFXLElBQUloQixxQkFBcUIsQ0FBQ2lCO1FBQ3pDQSxRQUFRQyxPQUFPLENBQUMsQ0FBQ0M7WUFDZixNQUFNQyxXQUFXTCxTQUFTRCxHQUFHLENBQUNLLE1BQU1FLE1BQU07WUFDMUMsTUFBTUMsWUFBWUgsTUFBTUksY0FBYyxJQUFJSixNQUFNSyxpQkFBaUIsR0FBRztZQUNwRSxJQUFJSixZQUFZRSxXQUFXO2dCQUN6QkYsU0FBU0U7WUFDWDtRQUNGO0lBQ0YsR0FBR2pCO0lBQ0hRLFdBQVc7UUFDVFA7UUFDQVU7UUFDQUQ7SUFDRjtJQUVBWixPQUFPc0IsSUFBSSxDQUFDbkI7SUFDWkwsVUFBVXlCLEdBQUcsQ0FBQ3BCLElBQUlPO0lBQ2xCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTYyxRQUNQQyxPQUFnQixFQUNoQlIsUUFBeUIsRUFDekJmLE9BQW9DO0lBRXBDLE1BQU0sRUFBRUMsRUFBRSxFQUFFVSxRQUFRLEVBQUVELFFBQVEsRUFBRSxHQUFHWCxlQUFlQztJQUNsRFUsU0FBU1csR0FBRyxDQUFDRSxTQUFTUjtJQUV0QkosU0FBU1csT0FBTyxDQUFDQztJQUNqQixPQUFPLFNBQVNDO1FBQ2RkLFNBQVNlLE1BQU0sQ0FBQ0Y7UUFDaEJaLFNBQVNhLFNBQVMsQ0FBQ0Q7UUFFbkIsdURBQXVEO1FBQ3ZELElBQUliLFNBQVNnQixJQUFJLEtBQUssR0FBRztZQUN2QmYsU0FBU2dCLFVBQVU7WUFDbkIvQixVQUFVNkIsTUFBTSxDQUFDeEI7WUFDakIsTUFBTTJCLFFBQVE5QixPQUFPK0IsU0FBUyxDQUM1QixDQUFDdEIsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtZQUUzRCxJQUFJeUIsUUFBUSxDQUFDLEdBQUc7Z0JBQ2Q5QixPQUFPZ0MsTUFBTSxDQUFDRixPQUFPO1lBQ3ZCO1FBQ0Y7SUFDRjtBQUNGO0FBRU8sU0FBU25DLGdCQUFtQ3NDLEtBSWpDO0lBSmlDLE1BQ2pEQyxPQUFPLEVBQ1A1QixVQUFVLEVBQ1Y2QixRQUFRLEVBQ1EsR0FKaUNGO0lBS2pELE1BQU1HLGFBQXNCRCxZQUFZLENBQUN2QztJQUV6QyxNQUFNLENBQUN5QyxTQUFTQyxXQUFXLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBQztJQUN2QyxNQUFNQyxhQUFhQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFNLEVBQVc7SUFDcEMsTUFBTUMsYUFBYUMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDLENBQUNsQjtRQUM5QmUsV0FBV0ksT0FBTyxHQUFHbkI7SUFDdkIsR0FBRyxFQUFFO0lBRUxvQixDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUixJQUFJakQseUJBQXlCO1lBQzNCLElBQUl3QyxjQUFjQyxTQUFTO1lBRTNCLE1BQU1aLFVBQVVlLFdBQVdJLE9BQU87WUFDbEMsSUFBSW5CLFdBQVdBLFFBQVFxQixPQUFPLEVBQUU7Z0JBQzlCLE1BQU1wQixZQUFZRixRQUNoQkMsU0FDQSxDQUFDTixZQUFjQSxhQUFhbUIsV0FBV25CLFlBQ3ZDO29CQUFFZixNQUFNOEIsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU1UsT0FBTztvQkFBRXRDO2dCQUFXO2dCQUd2QyxPQUFPb0I7WUFDVDtRQUNGLE9BQU87WUFDTCxJQUFJLENBQUNXLFNBQVM7Z0JBQ1osTUFBTVUsZUFBZUMsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDLElBQU1WLFdBQVc7Z0JBQzFELE9BQU8sSUFBTVcsQ0FBQUEsR0FBQUEscUJBQUFBLGtCQUFrQixFQUFDRjtZQUNsQztRQUNGO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1g7UUFBWTlCO1FBQVk0QjtRQUFTRztRQUFTRyxXQUFXSSxPQUFPO0tBQUM7SUFFakUsTUFBTU0sZUFBZVAsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQy9CTCxXQUFXO0lBQ2IsR0FBRyxFQUFFO0lBRUwsT0FBTztRQUFDSTtRQUFZTDtRQUFTYTtLQUFhO0FBQzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24udHN4PzU3ZWUiXSwibmFtZXMiOlsidXNlSW50ZXJzZWN0aW9uIiwiaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIm9ic2VydmVycyIsIk1hcCIsImlkTGlzdCIsImNyZWF0ZU9ic2VydmVyIiwib3B0aW9ucyIsImlkIiwicm9vdCIsIm1hcmdpbiIsInJvb3RNYXJnaW4iLCJleGlzdGluZyIsImZpbmQiLCJvYmoiLCJpbnN0YW5jZSIsImdldCIsImVsZW1lbnRzIiwib2JzZXJ2ZXIiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImVudHJ5IiwiY2FsbGJhY2siLCJ0YXJnZXQiLCJpc1Zpc2libGUiLCJpc0ludGVyc2VjdGluZyIsImludGVyc2VjdGlvblJhdGlvIiwicHVzaCIsInNldCIsIm9ic2VydmUiLCJlbGVtZW50IiwidW5vYnNlcnZlIiwiZGVsZXRlIiwic2l6ZSIsImRpc2Nvbm5lY3QiLCJpbmRleCIsImZpbmRJbmRleCIsInNwbGljZSIsInBhcmFtIiwicm9vdFJlZiIsImRpc2FibGVkIiwiaXNEaXNhYmxlZCIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwidXNlU3RhdGUiLCJlbGVtZW50UmVmIiwidXNlUmVmIiwic2V0RWxlbWVudCIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsInVzZUVmZmVjdCIsInRhZ05hbWUiLCJpZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwicmVzZXRWaXNpYmxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = \"AmpStateContext\";\n} //# sourceMappingURL=amp-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQUVhQTs7O2VBQUFBOzs7OzRFQUZLO0FBRVgsTUFBTUEsa0JBQXNDQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRXhFLElBQUlDLElBQXlCLEVBQWM7SUFDekNILGdCQUFnQkksV0FBVyxHQUFHO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS50cz85NjQxIl0sIm5hbWVzIjpbIkFtcFN0YXRlQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtbW9kZS5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsWUFBWUMsS0FBQTtJQUFBLE1BQzFCQyxXQUFXLEtBQUssRUFDaEJDLFNBQVMsS0FBSyxFQUNkQyxXQUFXLEtBQUssRUFDakIsR0FKMkJILFVBQUEsU0FJeEIsQ0FBQyxJQUp1QkE7SUFLMUIsT0FBT0MsWUFBYUMsVUFBVUM7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2FtcC1tb2RlLnRzP2NlMDQiXSwibmFtZXMiOlsiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLmpzIiwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTs7Ozs7c0RBSTFEQTs7O2VBQUFBOzs7QUFIaEIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxrQkFBa0I7QUFFakIsU0FBU0YsbUJBQW1CRyxHQUFXO0lBQzVDLCtHQUErRztJQUMvRyxJQUFJRixZQUFZRyxJQUFJLENBQUNELE1BQU07UUFDekIsT0FBT0EsSUFBSUUsT0FBTyxDQUFDSCxpQkFBaUI7SUFDdEM7SUFDQSxPQUFPQztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLnRzP2RjYjEiXSwibmFtZXMiOlsiZXNjYXBlU3RyaW5nUmVnZXhwIiwicmVIYXNSZWdFeHAiLCJyZVJlcGxhY2VSZWdFeHAiLCJzdHIiLCJ0ZXN0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/get-img-props.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n \"lazy\",\n \"eager\",\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === \"object\" && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: \"w\"\n };\n }\n return {\n widths: allSizes,\n kind: \"w\"\n };\n }\n if (typeof width !== \"number\") {\n return {\n widths: deviceSizes,\n kind: \"w\"\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: \"x\"\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === \"w\" ? w : i + 1) + kind).join(\", \"),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, overrideSrc, onLoad, onLoadingComplete, placeholder = \"empty\", blurDataURL, fetchPriority, layout, objectFit, objectPosition, lazyBoundary, lazyRoot, ...rest } = param;\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state;\n let config;\n let c = imgConf || _imageconfig.imageConfigDefault;\n if (\"allSizes\" in c) {\n config = c;\n } else {\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n config = {\n ...c,\n allSizes,\n deviceSizes\n };\n }\n if (typeof defaultLoader === \"undefined\") {\n throw new Error(\"images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config\");\n }\n let loader = rest.loader || defaultLoader;\n // Remove property so it's not spread on <img> element\n delete rest.loader;\n delete rest.srcSet;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = \"__next_img_default\" in loader;\n if (isDefaultLoader) {\n if (config.loader === \"custom\") {\n throw new Error('Image with src \"' + src + '\" is missing \"loader\" prop.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\");\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n loader = (obj)=>{\n const { config: _, ...opts } = obj;\n return customImageLoader(opts);\n };\n }\n if (layout) {\n if (layout === \"fill\") {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: \"100%\",\n height: \"auto\"\n },\n responsive: {\n width: \"100%\",\n height: \"auto\"\n }\n };\n const layoutToSizes = {\n responsive: \"100vw\",\n fill: \"100vw\"\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = {\n ...style,\n ...layoutStyle\n };\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = \"\";\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received \" + JSON.stringify(staticImageData));\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received \" + JSON.stringify(staticImageData));\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === \"string\" ? src : staticSrc;\n let isLazy = !priority && (loading === \"lazy\" || typeof loading === \"undefined\");\n if (!src || src.startsWith(\"data:\") || src.startsWith(\"blob:\")) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && src.endsWith(\".svg\") && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n if (priority) {\n fetchPriority = \"high\";\n }\n const qualityInt = getInt(quality);\n if (true) {\n if (config.output === \"export\" && isDefaultLoader && !unoptimized) {\n throw new Error(\"Image Optimization using the default loader is not compatible with `{ output: 'export' }`.\\n Possible solutions:\\n - Remove `{ output: 'export' }` and run \\\"next start\\\" to run server mode including the Image Optimization API.\\n - Configure `{ images: { unoptimized: true } }` in `next.config.js` to disable the Image Optimization API.\\n Read more: https://nextjs.org/docs/messages/export-image-api\");\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw new Error('Image with src \"' + src + '\" has both \"width\" and \"fill\" properties. Only one should be used.');\n }\n if (height) {\n throw new Error('Image with src \"' + src + '\" has both \"height\" and \"fill\" properties. Only one should be used.');\n }\n if ((style == null ? void 0 : style.position) && style.position !== \"absolute\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.width) && style.width !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.height) && style.height !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.');\n }\n } else {\n if (typeof widthInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"width\" property.');\n } else if (isNaN(widthInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"width\" property. Expected a numeric value in pixels but received \"' + width + '\".');\n }\n if (typeof heightInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"height\" property.');\n } else if (isNaN(heightInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"height\" property. Expected a numeric value in pixels but received \"' + height + '\".');\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"loading\" property. Provided \"' + loading + '\" should be one of ' + VALID_LOADING_VALUES.map(String).join(\",\") + \".\");\n }\n if (priority && loading === \"lazy\") {\n throw new Error('Image with src \"' + src + '\" has both \"priority\" and \"loading=\\'lazy\\'\" properties. Only one should be used.');\n }\n if (placeholder !== \"empty\" && placeholder !== \"blur\" && !placeholder.startsWith(\"data:image/\")) {\n throw new Error('Image with src \"' + src + '\" has invalid \"placeholder\" property \"' + placeholder + '\".');\n }\n if (placeholder !== \"empty\") {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.');\n }\n }\n if (placeholder === \"blur\" && !blurDataURL) {\n const VALID_BLUR_EXT = [\n \"jpeg\",\n \"png\",\n \"webp\",\n \"avif\"\n ] // should match next-image-loader\n ;\n throw new Error('Image with src \"' + src + '\" has \"placeholder=\\'blur\\'\" property but is missing the \"blurDataURL\" property.\\n Possible solutions:\\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\\n - Change the \"src\" property to a static import with one of the supported file types: ' + VALID_BLUR_EXT.join(\",\") + ' (animated images not supported)\\n - Remove the \"placeholder\" property, effectively no blur effect\\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url');\n }\n if (\"ref\" in rest) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.');\n }\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width\");\n }\n }\n if (onLoadingComplete) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.');\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has legacy prop \"' + legacyKey + '\". Did you forget to run the codemod?' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13\");\n }\n }\n if (typeof window !== \"undefined\" && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var _entry_element;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry == null ? void 0 : (_entry_element = entry.element) == null ? void 0 : _entry_element.src) || \"\";\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder === \"empty\" && !lcpImage.src.startsWith(\"data:\") && !lcpImage.src.startsWith(\"blob:\")) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n (0, _warnonce.warnOnce)('Image with src \"' + lcpImage.src + '\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.' + \"\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority\");\n }\n }\n });\n try {\n perfObserver.observe({\n type: \"largest-contentful-paint\",\n buffered: true\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n const imgStyle = Object.assign(fill ? {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: \"transparent\"\n }, style);\n const backgroundImage = !blurComplete && placeholder !== \"empty\" ? placeholder === \"blur\" ? 'url(\"data:image/svg+xml;charset=utf-8,' + (0, _imageblursvg.getImageBlurSvg)({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || \"\",\n objectFit: imgStyle.objectFit\n }) + '\")' : 'url(\"' + placeholder + '\")' // assume `data:image/`\n : null;\n let placeholderStyle = backgroundImage ? {\n backgroundSize: imgStyle.objectFit || \"cover\",\n backgroundPosition: imgStyle.objectPosition || \"50% 50%\",\n backgroundRepeat: \"no-repeat\",\n backgroundImage\n } : {};\n if (true) {\n if (placeholderStyle.backgroundImage && placeholder === \"blur\" && (blurDataURL == null ? void 0 : blurDataURL.startsWith(\"/\"))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = 'url(\"' + blurDataURL + '\")';\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n if (true) {\n if (typeof window !== \"undefined\") {\n let fullUrl;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n priority,\n placeholder\n });\n }\n }\n const props = {\n ...rest,\n loading: isLazy ? \"lazy\" : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding: \"async\",\n className,\n style: {\n ...imgStyle,\n ...placeholderStyle\n },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src\n };\n const meta = {\n unoptimized,\n priority,\n placeholder,\n fill\n };\n return {\n props,\n meta\n };\n} //# sourceMappingURL=get-img-props.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBMk9nQkE7OztlQUFBQTs7O3NDQTNPUzswQ0FDTzt5Q0FDRztBQTZFbkMsTUFBTUMsdUJBQXVCO0lBQUM7SUFBUTtJQUFTQztDQUFVO0FBa0J6RCxTQUFTQyxnQkFDUEMsR0FBb0M7SUFFcEMsT0FBT0EsSUFBdUJDLE9BQU8sS0FBS0g7QUFDNUM7QUFFQSxTQUFTSSxrQkFDUEYsR0FBb0M7SUFFcEMsT0FBT0EsSUFBeUJBLEdBQUcsS0FBS0Y7QUFDMUM7QUFFQSxTQUFTSyxlQUFlSCxHQUEwQjtJQUNoRCxPQUNFLE9BQU9BLFFBQVEsWUFDZEQsQ0FBQUEsZ0JBQWdCQyxRQUNmRSxrQkFBa0JGLElBQUFBO0FBRXhCO0FBRUEsTUFBTUksVUFBVSxJQUFJQztBQUlwQixJQUFJQztBQUVKLFNBQVNDLE9BQU9DLENBQVU7SUFDeEIsSUFBSSxPQUFPQSxNQUFNLGFBQWE7UUFDNUIsT0FBT0E7SUFDVDtJQUNBLElBQUksT0FBT0EsTUFBTSxVQUFVO1FBQ3pCLE9BQU9DLE9BQU9DLFFBQVEsQ0FBQ0YsS0FBS0EsSUFBSUc7SUFDbEM7SUFDQSxJQUFJLE9BQU9ILE1BQU0sWUFBWSxXQUFXSSxJQUFJLENBQUNKLElBQUk7UUFDL0MsT0FBT0ssU0FBU0wsR0FBRztJQUNyQjtJQUNBLE9BQU9HO0FBQ1Q7QUFFQSxTQUFTRyxVQUNQQyxLQUFzQyxFQUN0Q0MsS0FBeUIsRUFDekJDLEtBQXlCO0lBRnpCLE1BQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFlLEdBQXRDSjtJQUlBLElBQUlFLE9BQU87UUFDVCx5REFBeUQ7UUFDekQsTUFBTUcsa0JBQWtCO1FBQ3hCLE1BQU1DLGVBQWUsRUFBRTtRQUN2QixJQUFLLElBQUlDLE9BQVFBLFFBQVFGLGdCQUFnQkcsSUFBSSxDQUFDTixRQUFTSyxNQUFPO1lBQzVERCxhQUFhRyxJ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QUFPMEU7UUFDUGpELFNBQVM4RDtRQUNUdEY7UUFDQXlCO0lBQ0Y7SUFFQSxJQUFJOEQsSUFBeUIsRUFBYztRQUN6QyxJQUFJLE9BQU9rQixXQUFXLGFBQWE7WUFDakMsSUFBSTRCO1lBQ0osSUFBSTtnQkFDRkEsVUFBVSxJQUFJcEMsSUFBSW1DLGNBQWNySixHQUFHO1lBQ3JDLEVBQUUsT0FBT3VKLEdBQUc7Z0JBQ1ZELFVBQVUsSUFBSXBDLElBQUltQyxjQUFjckosR0FBRyxFQUFFMEgsT0FBTzhCLFFBQVEsQ0FBQ0MsSUFBSTtZQUMzRDtZQUNBckosUUFBUXNKLEdBQUcsQ0FBQ0osUUFBUUcsSUFBSSxFQUFFO2dCQUFFeko7Z0JBQUtnRDtnQkFBVVM7WUFBWTtRQUN6RDtJQUNGO0lBRUEsTUFBTWtHLFFBQWtCO1FBQ3RCLEdBQUcxRixJQUFJO1FBQ1BoQixTQUFTa0QsU0FBUyxTQUFTbEQ7UUFDM0JVO1FBQ0EzQyxPQUFPMEU7UUFDUHZDLFFBQVF3QztRQUNSaUUsVUFBVTtRQUNWMUc7UUFDQUcsT0FBTztZQUFFLEdBQUdtRixRQUFRO1lBQUUsR0FBR1MsZ0JBQWdCO1FBQUM7UUFDMUNoSSxPQUFPb0ksY0FBY3BJLEtBQUs7UUFDMUIwQixRQUFRMEcsY0FBYzFHLE1BQU07UUFDNUIzQyxLQUFLc0QsZUFBZStGLGNBQWNySixHQUFHO0lBQ3ZDO0lBQ0EsTUFBTTZKLE9BQU87UUFBRXJIO1FBQWFRO1FBQVVTO1FBQWFMO0lBQUs7SUFDeEQsT0FBTztRQUFFdUc7UUFBT0U7SUFBSztBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZ2V0LWltZy1wcm9wcy50cz9lYzkxIl0sIm5hbWVzIjpbImdldEltZ1Byb3BzIiwiVkFMSURfTE9BRElOR19WQUxVRVMiLCJ1bmRlZmluZWQiLCJpc1N0YXRpY1JlcXVpcmUiLCJzcmMiLCJkZWZhdWx0IiwiaXNTdGF0aWNJbWFnZURhdGEiLCJpc1N0YXRpY0ltcG9ydCIsImFsbEltZ3MiLCJNYXAiLCJwZXJmT2JzZXJ2ZXIiLCJnZXRJbnQiLCJ4IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJOYU4iLCJ0ZXN0IiwicGFyc2VJbnQiLCJnZXRXaWR0aHMiLCJwYXJhbSIsIndpZHRoIiwic2l6ZXMiLCJkZXZpY2VTaXplcyIsImFsbFNpemVzIiwidmlld3BvcnRXaWR0aFJlIiwicGVyY2VudFNpemVzIiwibWF0Y2giLCJleGVjIiwicHVzaCIsImxlbmd0aCIsInNtYWxsZXN0UmF0aW8iLCJNYXRoIiwibWluIiwid2lkdGhzIiwiZmlsdGVyIiwicyIsImtpbmQiLCJTZXQiLCJtYXAiLCJ3IiwiZmluZCIsInAiLCJnZW5lcmF0ZUltZ0F0dHJzIiwiY29uZmlnIiwidW5vcHRpbWl6ZWQiLCJxdWFsaXR5IiwibG9hZGVyIiwic3JjU2V0IiwibGFzdCIsImkiLCJqb2luIiwiX3N0YXRlIiwicHJpb3JpdHkiLCJsb2FkaW5nIiwiY2xhc3NOYW1lIiwiaGVpZ2h0IiwiZmlsbCIsInN0eWxlIiwib3ZlcnJpZGVTcmMiLCJvbkxvYWQiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInBsYWNlaG9sZGVyIiwiYmx1ckRhdGFVUkwiLCJmZXRjaFByaW9yaXR5IiwibGF5b3V0Iiwib2JqZWN0Rml0Iiwib2JqZWN0UG9zaXRpb24iLCJsYXp5Qm91bmRhcnkiLCJsYXp5Um9vdCIsInJlc3QiLCJpbWdDb25mIiwic2hvd0FsdFRleHQiLCJibHVyQ29tcGxldGUiLCJkZWZhdWx0TG9hZGVyIiwiYyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImltYWdlU2l6ZXMiLCJzb3J0IiwiYSIsImIiLCJFcnJvciIsImlzRGVmYXVsdExvYWRlciIsImN1c3RvbUltYWdlTG9hZGVyIiwib2JqIiwiXyIsIm9wdHMiLCJsYXlvdXRUb1N0eWxlIiwiaW50cmluc2ljIiwibWF4V2lkdGgiLCJyZXNwb25zaXZlIiwibGF5b3V0VG9TaXplcyIsImxheW91dFN0eWxlIiwibGF5b3V0U2l6ZXMiLCJzdGF0aWNTcmMiLCJ3aWR0aEludCIsImhlaWdodEludCIsImJsdXJXaWR0aCIsImJsdXJIZWlnaHQiLCJzdGF0aWNJbWFnZURhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicmF0aW8iLCJyb3VuZCIsImlzTGF6eSIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJxdWFsaXR5SW50IiwicHJvY2VzcyIsIm91dHB1dCIsInBvc2l0aW9uIiwiaXNOYU4iLCJpbmNsdWRlcyIsIlN0cmluZyIsIndhcm5PbmNlIiwiVkFMSURfQkxVUl9FWFQiLCJ1cmxTdHIiLCJ1cmwiLCJVUkwiLCJlcnIiLCJwYXRobmFtZSIsInNlYXJjaCIsImxlZ2FjeUtleSIsImxlZ2FjeVZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIndpbmRvdyIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJlbnRyeUxpc3QiLCJlbnRyeSIsImdldEVudHJpZXMiLCJpbWdTcmMiLCJlbGVtZW50IiwibGNwSW1hZ2UiLCJnZXQiLCJvYnNlcnZlIiwidHlwZSIsImJ1ZmZlcmVkIiwiY29uc29sZSIsImVycm9yIiwiaW1nU3R5bGUiLCJhc3NpZ24iLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJjb2xvciIsImJhY2tncm91bmRJbWFnZSIsImdldEltYWdlQmx1clN2ZyIsInBsYWNlaG9sZGVyU3R5bGUiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRQb3NpdGlvbiIsImJhY2tncm91bmRSZXBlYXQiLCJpbWdBdHRyaWJ1dGVzIiwiZnVsbFVybCIsImUiLCJsb2NhdGlvbiIsImhyZWYiLCJzZXQiLCJwcm9wcyIsImRlY29kaW5nIiwibWV0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\n_c = Head;\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\nvar _c;\n$RefreshReg$(_c, \"Head\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oZWFkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBcU1BQSxTQUFtQjs7O0lBeExIQztpQkFBQUE7Ozs7Ozs7OzJEQVRnQkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTs7eUNBRUpBLG1CQUFBQSxDQUFBOztBQU9yQixNQUFBQyxZQUFTSCxtQkFBQUEsQ0FBWUkscUdBQUFBO1NBQUFBLFlBQUFBLFNBQUFBO0lBQzFCLElBQUFBLGNBQWEsUUFBQUEsWUFBQTs7bUJBQU9DLEdBQVEsSUFBQUMsWUFBQUMsR0FBQTs7UUFBVztLQUN2QztRQUNFQyxDQUFBQSxXQUFTO2FBQU9DLElBQUFBLENBQUssa0JBQUFILFlBQUFDLEdBQUE7WUFBV0csTUFBQUE7O1FBQ2xDO0lBQ0E7SUFDRixPQUFBRjtBQUVBO1NBSUVHLGlCQUFBQyxJQUFBLEVBQUFDLEtBQUE7SUFDQSw4RkFBNEQ7UUFDMUQsT0FBT0QsVUFBQUEsWUFBQUEsT0FBQUEsVUFBQUEsVUFBQUE7UUFDVCxPQUFBQTtJQUNBO0lBQ0Esa0NBQXlCRTtRQUN2QkQsTUFBQUUsSUFBT0gsS0FBS0ksT0FDVkMsT0FBQSxDQUFBSCxRQUFBO1FBQ0FJLE9BQUFBLEtBQUFBLE1BQU1DLENBRUpDLE9BQ0VDLE9BQUFBLENBQ0FDLFFBQUFBLENBQUFBLE9BQUFBLENBQUFBLE1BQUFBLEtBQUFBLENBQUFBLFFBQUFBLEVBQUFBLE1BQUFBLGdCQUdTQTtnQkFHUCxPQUFPRCxrQkFBQUEsWUFBQUEsT0FBQUEsa0JBQUFBLFVBQUFBO2dCQUNULE9BQUFBO1lBQ0E7WUFFRixPQUFFQSxhQUFBTCxNQUFBLENBQUFNO1FBR1I7SUFDQTtJQUNGLE9BQUFWLEtBQUFJLE1BQUEsQ0FBQUg7QUFFQTtNQUFtQlUsWUFBQTtJQUFRO0lBQWE7SUFBVztJQUFXO0NBRTlEOzs7OztZQU1RQztJQUNOLE1BQU1DLE9BQU8sSUFBSUM7SUFDakIsTUFB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QSxDQUNFLEdBQUF6QyxPQUFBd0MsVUFBQSxFQUFDRyxpQ0FBTUQsa0JBQUE7V0FDTEUsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBeUJDLEdBQUFBLEVBQUFBLFlBQUFBLE9BQUFBLEVBQUFBO1FBQ3pCSix5QkFBYUE7UUFDYnpELGFBQVc4RDttQkFFVlQsQ0FBQUEsR0FBQUEsU0FBQUEsV0FBQUEsRUFBQUE7O0lBR1A7O0tBWmdCQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaGVhZC50c3g/MzY3MCJdLCJuYW1lcyI6WyJleHBvcnRzIiwiZGVmYXVsdEhlYWQiLCJfIiwicmVxdWlyZSIsIl93YXJub25jZSIsImluQW1wTW9kZSIsImNoYXJTZXQiLCJfanN4cnVudGltZSIsImpzeCIsImhlYWQiLCJuYW1lIiwiY29udGVudCIsIm9ubHlSZWFjdEVsZW1lbnQiLCJsaXN0IiwiY2hpbGQiLCJGcmFnbWVudCIsInR5cGUiLCJjb25jYXQiLCJkZWZhdWx0IiwiUmVhY3QiLCJDaGlsZHJlbiIsIl9yZWFjdCIsImZyYWdtZW50TGlzdCIsImZyYWdtZW50Q2hpbGQiLCJNRVRBVFlQRVMiLCJrZXlzIiwidGFncyIsIlNldCIsIm1ldGFUeXBlcyIsIm1ldGFDYXRlZ29yaWVzIiwiaCIsImlzVW5pcXVlIiwiaGFzS2V5Iiwia2V5IiwiaW5kZXhPZiIsImFkZCIsImkiLCJtZXRhdHlwZSIsImxlbiIsImhhc093blByb3BlcnR5IiwiY2F0ZWdvcmllcyIsImhhcyIsImNhdGVnb3J5IiwicHJvcHMiLCJoZWFkQ2hpbGRyZW5FbGVtZW50cyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImMiLCJfX05FWFRfT1BUSU1JWkVfRk9OVFMiLCJzb21lIiwidXJsIiwibmV3UHJvcHMiLCJzdGFydHNXaXRoIiwidW5kZWZpbmVkIiwiY2xvbmVFbGVtZW50Iiwic3JjTWVzc2FnZSIsIndhcm5PbmNlIiwiY2hpbGRyZW4iLCJwYXJhbSIsImFtcFN0YXRlIiwidXNlQ29udGV4dCIsImhlYWRNYW5hZ2VyIiwiSGVhZE1hbmFnZXJDb250ZXh0IiwiRWZmZWN0IiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJyZWR1Y2VDb21wb25lbnRzIiwiaXNJbkFtcE1vZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-blur-svg.js ***! - \*************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImageBlurSvg\", ({\n enumerable: true,\n get: function() {\n return getImageBlurSvg;\n }\n}));\nfunction getImageBlurSvg(param) {\n let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL, objectFit } = param;\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n const viewBox = svgWidth && svgHeight ? \"viewBox='0 0 \" + svgWidth + \" \" + svgHeight + \"'\" : \"\";\n const preserveAspectRatio = viewBox ? \"none\" : objectFit === \"contain\" ? \"xMidYMid\" : objectFit === \"cover\" ? \"xMidYMid slice\" : \"none\";\n return \"%3Csvg xmlns='http://www.w3.org/2000/svg' \" + viewBox + \"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='\" + preserveAspectRatio + \"' style='filter: url(%23b);' href='\" + blurDataURL + \"'/%3E%3C/svg%3E\";\n} //# sourceMappingURL=image-blur-svg.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OzttREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsZ0JBQWdCQyxLQWMvQjtJQWQrQixNQUM5QkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLFNBQVMsRUFDVEMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLFNBQVMsRUFRVixHQWQrQk47SUFlOUIsTUFBTU8sTUFBTTtJQUNaLE1BQU1DLFdBQVdMLFlBQVlBLFlBQVksS0FBS0Y7SUFDOUMsTUFBTVEsWUFBWUwsYUFBYUEsYUFBYSxLQUFLRjtJQUVqRCxNQUFNUSxVQUNKRixZQUFZQyxZQUFZLGtCQUFnQkQsV0FBUyxNQUFHQyxZQUFVLE1BQUs7SUFDckUsTUFBTUUsc0JBQXNCRCxVQUN4QixTQUNBSixjQUFjLFlBQ2QsYUFDQUEsY0FBYyxVQUNkLG1CQUNBO0lBRUosT0FBTywrQ0FBNkNJLFVBQVEsOEZBQTJGSCxNQUFJLG9RQUFpUUEsTUFBSSxnR0FBNkZJLHNCQUFvQix3Q0FBcUNOLGNBQVk7QUFDcGtCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy50cz9jNzljIl0sIm5hbWVzIjpbImdldEltYWdlQmx1clN2ZyIsInBhcmFtIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0IiwiYmx1ckRhdGFVUkwiLCJvYmplY3RGaXQiLCJzdGQiLCJzdmdXaWR0aCIsInN2Z0hlaWdodCIsInZpZXdCb3giLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageConfigContext\", ({\n enumerable: true,\n get: function() {\n return ImageConfigContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst ImageConfigContext = _react.default.createContext(_imageconfig.imageConfigDefault);\nif (true) {\n ImageConfigContext.displayName = \"ImageConfigContext\";\n} //# sourceMappingURL=image-config-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUlhQTs7O2VBQUFBOzs7OzRFQUpLO3lDQUVpQjtBQUU1QixNQUFNQSxxQkFDWEMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQXNCQyxhQUFBQSxrQkFBa0I7QUFFN0QsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0osbUJBQW1CSyxXQUFXLEdBQUc7QUFDbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy1jb250ZXh0LnNoYXJlZC1ydW50aW1lLnRzPzNkNzUiXSwibmFtZXMiOlsiSW1hZ2VDb25maWdDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwiaW1hZ2VDb25maWdEZWZhdWx0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLGVBQWE7ZUFBYkE7O0lBc0dBQyxvQkFBa0I7ZUFBbEJBOzs7QUF0R04sTUFBTUQsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQWdHTSxNQUFNQyxxQkFBMEM7SUFDckRDLGFBQWE7UUFBQztRQUFLO1FBQUs7UUFBSztRQUFNO1FBQU07UUFBTTtRQUFNO0tBQUs7SUFDMURDLFlBQVk7UUFBQztRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUk7UUFBSztRQUFLO0tBQUk7SUFDL0NDLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFNBQVMsRUFBRTtJQUNYQyxxQkFBcUI7SUFDckJDLGlCQUFpQjtJQUNqQkMsU0FBUztRQUFDO0tBQWE7SUFDdkJDLHFCQUFxQjtJQUNyQkMsdUJBQXdCO0lBQ3hCQyx3QkFBd0I7SUFDeEJDLGdCQUFnQixFQUFFO0lBQ2xCQyxhQUFhO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy50cz8xMzRhIl0sIm5hbWVzIjpbIlZBTElEX0xPQURFUlMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJkZXZpY2VTaXplcyIsImltYWdlU2l6ZXMiLCJwYXRoIiwibG9hZGVyIiwibG9hZGVyRmlsZSIsImRvbWFpbnMiLCJkaXNhYmxlU3RhdGljSW1hZ2VzIiwibWluaW11bUNhY2hlVFRMIiwiZm9ybWF0cyIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJjb250ZW50U2VjdXJpdHlQb2xpY3kiLCJjb250ZW50RGlzcG9zaXRpb25UeXBlIiwicmVtb3RlUGF0dGVybnMiLCJ1bm9wdGltaXplZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-loader.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nfunction defaultLoader(param) {\n let { config, src, width, quality } = param;\n if (true) {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push(\"src\");\n if (!width) missingValues.push(\"width\");\n if (missingValues.length > 0) {\n throw new Error(\"Next Image Optimization requires \" + missingValues.join(\", \") + \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \" + JSON.stringify({\n src,\n width,\n quality\n }));\n }\n if (src.startsWith(\"//\")) {\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)');\n }\n if (!src.startsWith(\"/\") && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)');\n }\n if (true) {\n // We use dynamic require because this should only error in development\n const { hasMatch } = __webpack_require__(/*! ./match-remote-pattern */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\");\n if (!hasMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\"Invalid src prop (\" + src + ') on `next/image`, hostname \"' + parsedSrc.hostname + '\" is not configured under images in your `next.config.js`\\n' + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host\");\n }\n }\n }\n }\n return config.path + \"?url=\" + encodeURIComponent(src) + \"&w=\" + width + \"&q=\" + (quality || 75) + ( false ? 0 : \"\");\n}\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true;\nconst _default = defaultLoader; //# sourceMappingURL=image-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0F3RUE7OztlQUFBQTs7O0FBdEVBLFNBQVNDLGNBQWNDLEtBS007SUFMTixNQUNyQkMsTUFBTSxFQUNOQyxHQUFHLEVBQ0hDLEtBQUssRUFDTEMsT0FBTyxFQUNvQixHQUxOSjtJQU1yQixJQUFJSyxJQUF5QixFQUFjO1FBQ3pDLE1BQU1DLGdCQUFnQixFQUFFO1FBRXhCLHlEQUF5RDtRQUN6RCxJQUFJLENBQUNKLEtBQUtJLGNBQWNDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUNKLE9BQU9HLGNBQWNDLElBQUksQ0FBQztRQUUvQixJQUFJRCxjQUFjRSxNQUFNLEdBQUcsR0FBRztZQUM1QixNQUFNLElBQUlDLE1BQ1Isc0NBQW9DSCxjQUFjSSxJQUFJLENBQ3BELFFBQ0EsZ0dBQStGQyxLQUFLQyxTQUFTLENBQzdHO2dCQUFFVjtnQkFBS0M7Z0JBQU9DO1lBQVE7UUFHNUI7UUFFQSxJQUFJRixJQUFJVyxVQUFVLENBQUMsT0FBTztZQUN4QixNQUFNLElBQUlKLE1BQ1IsMEJBQXdCUCxNQUFJO1FBRWhDO1FBRUEsSUFBSSxDQUFDQSxJQUFJVyxVQUFVLENBQUMsUUFBU1osQ0FBQUEsT0FBT2EsT0FBTyxJQUFJYixPQUFPYyxjQUFjLEdBQUc7WUFDckUsSUFBSUM7WUFDSixJQUFJO2dCQUNGQSxZQUFZLElBQUlDLElBQUlmO1lBQ3RCLEVBQUUsT0FBT2dCLEtBQUs7Z0JBQ1pDLFFBQVFDLEtBQUssQ0FBQ0Y7Z0JBQ2QsTUFBTSxJQUFJVCxNQUNSLDBCQUF3QlAsTUFBSTtZQUVoQztZQUVBLElBQ0VHLElBRTZCLEVBQzdCO2dCQUNBLHVFQUF1RTtnQkFDdkUsTUFBTSxFQUFFa0IsUUFBUSxFQUFFLEdBQUdDLG1CQUFBQSxDQUFRO2dCQUM3QixJQUFJLENBQUNELFNBQVN0QixPQUFPYSxPQUFPLEVBQUViLE9BQU9jLGNBQWMsRUFBRUMsWUFBWTtvQkFDL0QsTUFBTSxJQUFJUCxNQUNSLHVCQUFxQlAsTUFBSSxrQ0FBaUNjLFVBQVVTLFFBQVEsR0FBQyxnRUFDMUU7Z0JBRVA7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxPQUFPeEIsT0FBVXlCLElBQUksR0FBQyxVQUFPQyxtQkFBbUJ6QixPQUFLLFFBQUtDLFFBQU0sUUFDOURDLENBQUFBLFdBQVcsTUFFWEMsQ0FBQUEsTUFBOEIsR0FDMUIsQ0FBc0MsR0FDdEM7QUFFUjtBQUVBLCtEQUErRDtBQUMvRCwyREFBMkQ7QUFDM0ROLGNBQWM4QixrQkFBa0IsR0FBRztNQUVuQy9CLFdBQWVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIudHM/ZDI4MCJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsImRlZmF1bHRMb2FkZXIiLCJwYXJhbSIsImNvbmZpZyIsInNyYyIsIndpZHRoIiwicXVhbGl0eSIsInByb2Nlc3MiLCJtaXNzaW5nVmFsdWVzIiwicHVzaCIsImxlbmd0aCIsIkVycm9yIiwiam9pbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydHNXaXRoIiwiZG9tYWlucyIsInJlbW90ZVBhdHRlcm5zIiwicGFyc2VkU3JjIiwiVVJMIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiaGFzTWF0Y2giLCJyZXF1aXJlIiwiaG9zdG5hbWUiLCJwYXRoIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiX19uZXh0X2ltZ19kZWZhdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/match-remote-pattern.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hasMatch: function() {\n return hasMatch;\n },\n matchRemotePattern: function() {\n return matchRemotePattern;\n }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\");\nfunction matchRemotePattern(pattern, url) {\n if (pattern.protocol !== undefined) {\n const actualProto = url.protocol.slice(0, -1);\n if (pattern.protocol !== actualProto) {\n return false;\n }\n }\n if (pattern.port !== undefined) {\n if (pattern.port !== url.port) {\n return false;\n }\n }\n if (pattern.hostname === undefined) {\n throw new Error(\"Pattern should define hostname but found\\n\" + JSON.stringify(pattern));\n } else {\n if (!(0, _picomatch.makeRe)(pattern.hostname).test(url.hostname)) {\n return false;\n }\n }\n var _pattern_pathname;\n if (!(0, _picomatch.makeRe)((_pattern_pathname = pattern.pathname) != null ? _pattern_pathname : \"**\", {\n dot: true\n }).test(url.pathname)) {\n return false;\n }\n return true;\n}\nfunction hasMatch(domains, remotePatterns, url) {\n return domains.some((domain)=>url.hostname === domain) || remotePatterns.some((p)=>matchRemotePattern(p, url));\n} //# sourceMappingURL=match-remote-pattern.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ2dCQSxVQUFRO2VBQVJBOztJQTlCQUMsb0JBQWtCO2VBQWxCQTs7O3VDQUZPO0FBRWhCLFNBQVNBLG1CQUFtQkMsT0FBc0IsRUFBRUMsR0FBUTtJQUNqRSxJQUFJRCxRQUFRRSxRQUFRLEtBQUtDLFdBQVc7UUFDbEMsTUFBTUMsY0FBY0gsSUFBSUMsUUFBUSxDQUFDRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzNDLElBQUlMLFFBQVFFLFFBQVEsS0FBS0UsYUFBYTtZQUNwQyxPQUFPO1FBQ1Q7SUFDRjtJQUNBLElBQUlKLFFBQVFNLElBQUksS0FBS0gsV0FBVztRQUM5QixJQUFJSCxRQUFRTSxJQUFJLEtBQUtMLElBQUlLLElBQUksRUFBRTtZQUM3QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlOLFFBQVFPLFFBQVEsS0FBS0osV0FBVztRQUNsQyxNQUFNLElBQUlLLE1BQ1IsK0NBQTZDQyxLQUFLQyxTQUFTLENBQUNWO0lBRWhFLE9BQU87UUFDTCxJQUFJLENBQUNXLENBQUFBLEdBQUFBLFdBQUFBLE1BQU0sRUFBQ1gsUUFBUU8sUUFBUSxFQUFFSyxJQUFJLENBQUNYLElBQUlNLFFBQVEsR0FBRztZQUNoRCxPQUFPO1FBQ1Q7SUFDRjtRQUVZUDtJQUFaLElBQUksQ0FBQ1csQ0FBQUEsR0FBQUEsV0FBQUEsTUFBTSxFQUFDWCxDQUFBQSxvQkFBQUEsUUFBUWEsUUFBUSxZQUFoQmIsb0JBQW9CLE1BQU07UUFBRWMsS0FBSztJQUFLLEdBQUdGLElBQUksQ0FBQ1gsSUFBSVksUUFBUSxHQUFHO1FBQ3ZFLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVPLFNBQVNmLFNBQ2RpQixPQUFpQixFQUNqQkMsY0FBK0IsRUFDL0JmLEdBQVE7SUFFUixPQUNFYyxRQUFRRSxJQUFJLENBQUMsQ0FBQ0MsU0FBV2pCLElBQUlNLFFBQVEsS0FBS1csV0FDMUNGLGVBQWVDLElBQUksQ0FBQyxDQUFDRSxJQUFNcEIsbUJBQW1Cb0IsR0FBR2xCO0FBRXJEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi50cz9kNjFkIl0sIm5hbWVzIjpbImhhc01hdGNoIiwibWF0Y2hSZW1vdGVQYXR0ZXJuIiwicGF0dGVybiIsInVybCIsInByb3RvY29sIiwidW5kZWZpbmVkIiwiYWN0dWFsUHJvdG8iLCJzbGljZSIsInBvcnQiLCJob3N0bmFtZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VSZSIsInRlc3QiLCJwYXRobmFtZSIsImRvdCIsImRvbWFpbnMiLCJyZW1vdGVQYXR0ZXJucyIsInNvbWUiLCJkb21haW4iLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***! - \****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUdhQTs7O2VBQUFBOzs7OzRFQUhLO0FBR1gsTUFBTUEsZ0JBQWdCQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBb0I7QUFFcEUsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0gsY0FBY0ksV0FBVyxHQUFHO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz82MzZjIl0sIm5hbWVzIjpbIlJvdXRlckNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUM7QUFDdkMsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsZ0VBQWdFO0FBQ2hFLHNFQUFzRTtBQUN0RSxzRUFBc0U7QUFDdEUsNEVBQTRFO0FBQzVFLHFFQUFxRTtBQUNyRSx3QkFBd0I7QUFDeEIsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSx5REFBeUQ7QUFDekQsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSw2REFBNkQ7QUFDN0QsNEVBQTRFO0FBQzVFLDJFQUEyRTtBQUMzRSx3RUFBd0U7QUFDeEUsNEVBQTRFO0FBQzVFLHlDQUF5Qzs7Ozs7Ozs7Ozs7OztJQVF6QkEsV0FBUztlQUFUQTs7SUE2REFDLHNCQUFvQjtlQUFwQkE7O0lBZkhDLGVBQWE7ZUFBYkE7Ozs7bUZBbERnQjtBQUU3QixNQUFNQyxtQkFBbUI7QUFFbEIsU0FBU0gsVUFBVUksTUFBaUI7SUFDekMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFHRjtJQUN6QixJQUFJRyxXQUFXSCxPQUFPRyxRQUFRLElBQUk7SUFDbEMsSUFBSUMsV0FBV0osT0FBT0ksUUFBUSxJQUFJO0lBQ2xDLElBQUlDLE9BQU9MLE9BQU9LLElBQUksSUFBSTtJQUMxQixJQUFJQyxRQUFRTixPQUFPTSxLQUFLLElBQUk7SUFDNUIsSUFBSUMsT0FBdUI7SUFFM0JOLE9BQU9BLE9BQU9PLG1CQUFtQlAsTUFBTVEsT0FBTyxDQUFDLFFBQVEsT0FBTyxNQUFNO0lBRXBFLElBQUlULE9BQU9PLElBQUksRUFBRTtRQUNmQSxPQUFPTixPQUFPRCxPQUFPTyxJQUFJO0lBQzNCLE9BQU8sSUFBSUwsVUFBVTtRQUNuQkssT0FBT04sT0FBUSxFQUFDQyxTQUFTUSxPQUFPLENBQUMsT0FBTyxNQUFJUixXQUFTLE1BQUtBLFFBQUFBO1FBQzFELElBQUlGLE9BQU9XLElBQUksRUFBRTtZQUNmSixRQUFRLE1BQU1QLE9BQU9XLElBQUk7UUFDM0I7SUFDRjtJQUVBLElBQUlMLFNBQVMsT0FBT0EsVUFBVSxVQUFVO1FBQ3RDQSxRQUFRTSxPQUFPQyxhQUFZQyxzQkFBc0IsQ0FBQ1I7SUFDcEQ7SUFFQSxJQUFJUyxTQUFTZixPQUFPZSxNQUFNLElBQUtULFNBQVMsTUFBSUEsU0FBWTtJQUV4RCxJQUFJSCxZQUFZLENBQUNBLFNBQVNhLFFBQVEsQ0FBQyxNQUFNYixZQUFZO0lBRXJELElBQ0VILE9BQU9pQixPQUFPLElBQ2IsQ0FBQyxDQUFDZCxZQUFZSixpQkFBaUJtQixJQUFJLENBQUNmLFNBQUFBLEtBQWNJLFNBQVMsT0FDNUQ7UUFDQUEsT0FBTyxPQUFRQSxDQUFBQSxRQUFRO1FBQ3ZCLElBQUlILFlBQVlBLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBS0EsV0FBVyxNQUFNQTtJQUN4RCxPQUFPLElBQUksQ0FBQ0csTUFBTTtRQUNoQkEsT0FBTztJQUNUO0lBRUEsSUFBSUYsUUFBUUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxPQUFPLE1BQU1BO0lBQzFDLElBQUlVLFVBQVVBLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBS0EsU0FBUyxNQUFNQTtJQUVoRFgsV0FBV0EsU0FBU0ssT0FBTyxDQUFDLFNBQVNEO0lBQ3JDTyxTQUFTQSxPQUFPTixPQUFPLENBQUMsS0FBSztJQUU3QixPQUFPLEtBQUdOLFdBQVdJLE9BQU9ILFdBQVdXLFNBQVNWO0FBQ2xEO0FBRU8sTUFBTVAsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sU0FBU0QscUJBQXFCc0IsR0FBYztJQUNqRCxJQUFJQyxJQUF5QixFQUFlO1FBQzFDLElBQUlELFFBQVEsUUFBUSxPQUFPQSxRQUFRLFVBQVU7WUFDM0NFLE9BQU9DLElBQUksQ0FBQ0gsS0FBS0ksT0FBTyxDQUFDLENBQUNDO2dCQUN4QixJQUFJLENBQUMxQixjQUFjMkIsUUFBUSxDQUFDRCxNQUFNO29CQUNoQ0UsUUFBUUMsSUFBSSxDQUNWLHVEQUFxREg7Z0JBRXpEO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBTzVCLFVBQVV1QjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwudHM/MWI4NyJdLCJuYW1lcyI6WyJmb3JtYXRVcmwiLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybE9iamVjdEtleXMiLCJzbGFzaGVkUHJvdG9jb2xzIiwidXJsT2JqIiwiYXV0aCIsImhvc3RuYW1lIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsImhvc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwiaW5kZXhPZiIsInBvcnQiLCJTdHJpbmciLCJxdWVyeXN0cmluZyIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2giLCJlbmRzV2l0aCIsInNsYXNoZXMiLCJ0ZXN0IiwidXJsIiwicHJvY2VzcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaW5jbHVkZXMiLCJjb25zb2xlIiwid2FybiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQVNBLGlCQUFlO2VBQWZBLGNBQUFBLGVBQWU7O0lBQ2ZDLGdCQUFjO2VBQWRBLFdBQUFBLGNBQWM7OzswQ0FEUzt1Q0FDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LnRzPzcyZDUiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFLZ0JBOzs7ZUFBQUE7OzswQ0FIZ0I7d0NBQ0Y7QUFFdkIsU0FBU0EsY0FDZEMsS0FBYSxFQUNiQyxVQUFrQixFQUNsQkMsS0FBcUI7SUFFckIsSUFBSUMsb0JBQW9CO0lBRXhCLE1BQU1DLGVBQWVDLENBQUFBLEdBQUFBLFlBQUFBLGFBQWEsRUFBQ0w7SUFDbkMsTUFBTU0sZ0JBQWdCRixhQUFhRyxNQUFNO0lBQ3pDLE1BQU1DLGlCQUVIUCxDQUFBQSxlQUFlRCxRQUFRUyxDQUFBQSxHQUFBQSxjQUFBQSxlQUFlLEVBQUNMLGNBQWNILGNBQWMsT0FDcEUsZ0RBQWdEO0lBQ2hELHNFQUFzRTtJQUN0RUM7SUFFRkMsb0JBQW9CSDtJQUNwQixNQUFNVSxTQUFTQyxPQUFPQyxJQUFJLENBQUNOO0lBRTNCLElBQ0UsQ0FBQ0ksT0FBT0csS0FBSyxDQUFDLENBQUNDO1FBQ2IsSUFBSUMsUUFBUVAsY0FBYyxDQUFDTSxNQUFNLElBQUk7UUFDckMsTUFBTSxFQUFFRSxNQUFNLEVBQUVDLFFBQVEsRUFBRSxHQUFHWCxhQUFhLENBQUNRLE1BQU07UUFFakQsaUNBQWlDO1FBQ2pDLDBEQUEwRDtRQUMxRCxJQUFJSSxXQUFXLE1BQUlGLENBQUFBLFNBQVMsUUFBUSxNQUFLRixRQUFNO1FBQy9DLElBQUlHLFVBQVU7WUFDWkMsV0FBVyxDQUFHLENBQUNILFFBQVEsTUFBTSxNQUFHLE1BQUdHLFdBQVM7UUFDOUM7UUFDQSxJQUFJRixVQUFVLENBQUNHLE1BQU1DLE9BQU8sQ0FBQ0wsUUFBUUEsUUFBUTtZQUFDQTtTQUFNO1FBRXBELE9BQ0UsQ0FBQ0UsWUFBWUgsU0FBU04sY0FBQUEsS0FDdEIsNkNBQTZDO1FBQzVDTCxDQUFBQSxvQkFDQ0Esa0JBQW1Ca0IsT0FBTyxDQUN4QkgsVUFDQUYsU0FDSUQsTUFDR08sR0FBRyxDQUVGLHVEQUF1RDtRQUN2RCxrREFBa0Q7UUFDbEQsb0NBQW9DO1FBQ3BDLENBQUNDLFVBQVlDLG1CQUFtQkQsVUFFakNFLElBQUksQ0FBQyxPQUNSRCxtQkFBbUJULFdBQ3BCO0lBRVgsSUFDQTtRQUNBWixvQkFBb0IsR0FBRyxtQ0FBbUM7O0lBRTFELHVFQUF1RTtJQUN2RSxrREFBa0Q7SUFDcEQ7SUFDQSxPQUFPO1FBQ0xPO1FBQ0FnQixRQUFRdkI7SUFDVjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMudHM/OWUzMSJdLCJuYW1lcyI6WyJpbnRlcnBvbGF0ZUFzIiwicm91dGUiLCJhc1BhdGhuYW1lIiwicXVlcnkiLCJpbnRlcnBvbGF0ZWRSb3V0ZSIsImR5bmFtaWNSZWdleCIsImdldFJvdXRlUmVnZXgiLCJkeW5hbWljR3JvdXBzIiwiZ3JvdXBzIiwiZHluYW1pY01hdGNoZXMiLCJnZXRSb3V0ZU1hdGNoZXIiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZXZlcnkiLCJwYXJhbSIsInZhbHVlIiwicmVwZWF0Iiwib3B0aW9uYWwiLCJyZXBsYWNlZCIsIkFycmF5IiwiaXNBcnJheSIsInJlcGxhY2UiLCJtYXAiLCJzZWdtZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsInJlc3VsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVFnQkE7OztlQUFBQTs7O2dEQUxUO0FBRVAscUNBQXFDO0FBQ3JDLE1BQU1DLGFBQWE7QUFFWixTQUFTRCxlQUFlRSxLQUFhO0lBQzFDLElBQUlDLENBQUFBLEdBQUFBLG9CQUFBQSwwQkFBMEIsRUFBQ0QsUUFBUTtRQUNyQ0EsUUFBUUUsQ0FBQUEsR0FBQUEsb0JBQUFBLG1DQUFtQyxFQUFDRixPQUFPRyxnQkFBZ0I7SUFDckU7SUFFQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy50cz84MmRjIl0sIm5hbWVzIjpbImlzRHluYW1pY1JvdXRlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OENBTWdCQTs7O2VBQUFBOzs7bUNBTmlDO3lDQUNyQjtBQUtyQixTQUFTQSxXQUFXQyxHQUFXO0lBQ3BDLGdFQUFnRTtJQUNoRSxJQUFJLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGFBQWEsRUFBQ0QsTUFBTSxPQUFPO0lBQ2hDLElBQUk7UUFDRiw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCQyxDQUFBQSxHQUFBQSxPQUFBQSxpQkFBaUI7UUFDeEMsTUFBTUMsV0FBVyxJQUFJQyxJQUFJTCxLQUFLRTtRQUM5QixPQUFPRSxTQUFTRSxNQUFNLEtBQUtKLGtCQUFrQkssQ0FBQUEsR0FBQUEsYUFBQUEsV0FBVyxFQUFDSCxTQUFTSSxRQUFRO0lBQzVFLEVBQUUsT0FBT0MsR0FBRztRQUNWLE9BQU87SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLnRzPzA0ZTUiXSwibmFtZXMiOlsiaXNMb2NhbFVSTCIsInVybCIsImlzQWJzb2x1dGVVcmwiLCJsb2NhdGlvbk9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWQiLCJVUkwiLCJvcmlnaW4iLCJoYXNCYXNlUGF0aCIsInBhdGhuYW1lIiwiXyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3dDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsS0FDZEMsTUFBUyxFQUNUQyxJQUFTO0lBRVQsTUFBTUMsVUFBc0MsQ0FBQztJQUM3Q0MsT0FBT0YsSUFBSSxDQUFDRCxRQUFRSSxPQUFPLENBQUMsQ0FBQ0M7UUFDM0IsSUFBSSxDQUFDSixLQUFLSyxRQUFRLENBQUNELE1BQVc7WUFDNUJILE9BQU8sQ0FBQ0csSUFBSSxHQUFHTCxNQUFNLENBQUNLLElBQUk7UUFDNUI7SUFDRjtJQUNBLE9BQU9IO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9vbWl0LnRzP2I3YTgiXSwibmFtZXMiOlsib21pdCIsIm9iamVjdCIsImtleXMiLCJvbWl0dGVkIiwiT2JqZWN0IiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNENnQkEsUUFBTTtlQUFOQTs7SUExQ0FDLHdCQUFzQjtlQUF0QkE7O0lBNEJBQyx3QkFBc0I7ZUFBdEJBOzs7QUE1QlQsU0FBU0QsdUJBQ2RFLFlBQTZCO0lBRTdCLE1BQU1DLFFBQXdCLENBQUM7SUFDL0JELGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQztRQUMzQixJQUFJLE9BQU9ILEtBQUssQ0FBQ0csSUFBSSxLQUFLLGFBQWE7WUFDckNILEtBQUssQ0FBQ0csSUFBSSxHQUFHRDtRQUNmLE9BQU8sSUFBSUUsTUFBTUMsT0FBTyxDQUFDTCxLQUFLLENBQUNHLElBQUksR0FBRztZQUNsQ0gsS0FBSyxDQUFDRyxJQUFJLENBQWNHLElBQUksQ0FBQ0o7UUFDakMsT0FBTztZQUNMRixLQUFLLENBQUNHLElBQUksR0FBRztnQkFBQ0gsS0FBSyxDQUFDRyxJQUFJO2dCQUFZRDthQUFNO1FBQzVDO0lBQ0Y7SUFDQSxPQUFPRjtBQUNUO0FBRUEsU0FBU08sdUJBQXVCQyxLQUFjO0lBQzVDLElBQ0UsT0FBT0EsVUFBVSxZQUNoQixPQUFPQSxVQUFVLFlBQVksQ0FBQ0MsTUFBTUQsVUFDckMsT0FBT0EsVUFBVSxXQUNqQjtRQUNBLE9BQU9FLE9BQU9GO0lBQ2hCLE9BQU87UUFDTCxPQUFPO0lBQ1Q7QUFDRjtBQUVPLFNBQVNWLHVCQUNkYSxRQUF3QjtJQUV4QixNQUFNQyxTQUFTLElBQUlDO0lBQ25CQyxPQUFPQyxPQUFPLENBQUNKLFVBQVVWLE9BQU8sQ0FBQyxDQUFBTztZQUFDLENBQUNMLEtBQUtELE1BQU0sR0FBQU07UUFDNUMsSUFBSUosTUFBTUMsT0FBTyxDQUFDSCxRQUFRO1lBQ3hCQSxNQUFNRCxPQUFPLENBQUMsQ0FBQ2UsT0FBU0osT0FBT0ssTUFBTSxDQUFDZCxLQUFLSSx1QkFBdUJTO1FBQ3BFLE9BQU87WUFDTEosT0FBT00sR0FBRyxDQUFDZixLQUFLSSx1QkFBdUJMO1FBQ3pDO0lBQ0Y7SUFDQSxPQUFPVTtBQUNUO0FBRU8sU0FBU2hCLE9BQ2R1QixNQUF1QjtJQUN2QixRQUFBQyxPQUFBQyxVQUFBQyxNQUFBLEVBQUFDLG1CQUFBLElBQUFuQixNQUFBZ0IsT0FBQSxJQUFBQSxPQUFBLFFBQUFJLE9BQUEsR0FBQUEsT0FBQUosTUFBQUksT0FBQTtRQUFHRCxnQkFBQUEsQ0FBSEMsT0FBQSxLQUFBSCxTQUFBLENBQUFHLEtBQXNDOztJQUV0Q0QsaUJBQWlCdEIsT0FBTyxDQUFDLENBQUNGO1FBQ3hCSyxNQUFNcUIsSUFBSSxDQUFDMUIsYUFBYTJCLElBQUksSUFBSXpCLE9BQU8sQ0FBQyxDQUFDRSxNQUFRZ0IsT0FBT1EsTUFBTSxDQUFDeEI7UUFDL0RKLGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQyxNQUFRZ0IsT0FBT0YsTUFBTSxDQUFDZCxLQUFLRDtJQUMxRDtJQUNBLE9BQU9pQjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcudHM/ODJmYSJdLCJuYW1lcyI6WyJhc3NpZ24iLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsInZhbHVlIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwidXJsUXVlcnkiLCJyZXN1bHQiLCJVUkxTZWFyY2hQYXJhbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaXRlbSIsImFwcGVuZCIsInNldCIsInRhcmdldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZWFyY2hQYXJhbXNMaXN0IiwiX2tleSIsImZyb20iLCJrZXlzIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQVdnQkE7OztlQUFBQTs7O21DQVZZO0FBVXJCLFNBQVNBLGdCQUFnQkMsS0FBMEI7SUFBMUIsTUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQWMsR0FBMUJGO0lBQzlCLE9BQU8sQ0FBQ0c7UUFDTixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNmLE9BQU87UUFDVDtRQUVBLE1BQU1FLFNBQVMsQ0FBQ047WUFDZCxJQUFJO2dCQUNGLE9BQU9PLG1CQUFtQlA7WUFDNUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNWLE1BQU0sSUFBSUMsT0FBQUEsV0FBVyxDQUFDO1lBQ3hCO1FBQ0Y7UUFDQSxNQUFNQyxTQUFxRCxDQUFDO1FBRTVEQyxPQUFPQyxJQUFJLENBQUNWLFFBQVFXLE9BQU8sQ0FBQyxDQUFDQztZQUMzQixNQUFNQyxJQUFJYixNQUFNLENBQUNZLFNBQVM7WUFDMUIsTUFBTUUsSUFBSVosVUFBVSxDQUFDVyxFQUFFRSxHQUFHLENBQUM7WUFDM0IsSUFBSUQsTUFBTUUsV0FBVztnQkFDbkJSLE1BQU0sQ0FBQ0ksU0FBUyxHQUFHLENBQUNFLEVBQUVHLE9BQU8sQ0FBQyxPQUMxQkgsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFVaEIsT0FBT2dCLFVBQ25DUCxFQUFFUSxNQUFNLEdBQ1I7b0JBQUNqQixPQUFPVTtpQkFBRyxHQUNYVixPQUFPVTtZQUNiO1FBQ0Y7UUFDQSxPQUFPTjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLnRzPzMxNzkiXSwibmFtZXMiOlsiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW0iLCJyZSIsImdyb3VwcyIsInBhdGhuYW1lIiwicm91dGVNYXRjaCIsImV4ZWMiLCJkZWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfIiwiRGVjb2RlRXJyb3IiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInNsdWdOYW1lIiwiZyIsIm0iLCJwb3MiLCJ1bmRlZmluZWQiLCJpbmRleE9mIiwic3BsaXQiLCJtYXAiLCJlbnRyeSIsInJlcGVhdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBMk5nQkEseUJBQXVCO2VBQXZCQTs7SUFoQkFDLG9CQUFrQjtlQUFsQkE7O0lBbklBQyxlQUFhO2VBQWJBOzs7Z0RBeEUyQjswQ0FDUjtpREFDQztBQUVwQyxNQUFNQywwQkFBMEI7QUFDaEMsTUFBTUMsa0NBQWtDO0FBYXhDOzs7Ozs7O0NBT0MsR0FDRCxTQUFTQyxlQUFlQyxLQUFhO0lBQ25DLE1BQU1DLFdBQVdELE1BQU1FLFVBQVUsQ0FBQyxRQUFRRixNQUFNRyxRQUFRLENBQUM7SUFDekQsSUFBSUYsVUFBVTtRQUNaRCxRQUFRQSxNQUFNSSxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFCO0lBQ0EsTUFBTUMsU0FBU0wsTUFBTUUsVUFBVSxDQUFDO0lBQ2hDLElBQUlHLFFBQVE7UUFDVkwsUUFBUUEsTUFBTUksS0FBSyxDQUFDO0lBQ3RCO0lBQ0EsT0FBTztRQUFFRSxLQUFLTjtRQUFPSztRQUFRSjtJQUFTO0FBQ3hDO0FBRUEsU0FBU00scUJBQXFCQyxLQUFhO0lBQ3pDLE1BQU1DLFdBQVdDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ0YsT0FBT0osS0FBSyxDQUFDLEdBQUdPLEtBQUssQ0FBQztJQUMzRCxNQUFNQyxTQUF5QyxDQUFDO0lBQ2hELElBQUlDLGFBQWE7SUFDakIsT0FBTztRQUNMQyxvQkFBb0JMLFNBQ2pCTSxHQUFHLENBQUMsQ0FBQ0M7WUFDSixNQUFNQyxjQUFjQyxvQkFBQUEsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDQyxJQUNuREosUUFBUWQsVUFBVSxDQUFDa0I7WUFFckIsTUFBTUMsZUFBZUwsUUFBUU0sS0FBSyxDQUFDLHVCQUF1Qix1QkFBdUI7O1lBRWpGLElBQUlMLGVBQWVJLGNBQWM7Z0JBQy9CLE1BQU0sRUFBRWYs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TSxFQUFFN0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFa0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSTdDLHVCQUF1QixLQUFLO1FBQzlCLElBQUkrQyxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0xGLFlBQVksT0FBS0csZ0JBQWM7UUFDakM7SUFDRjtJQUVBLE1BQU0sRUFBRVYsdUJBQXVCLEVBQUUsR0FBR0YsMEJBQ2xDdkIsaUJBQ0E7SUFFRixJQUFJb0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNMRixZQUFZLE1BQUlQLDBCQUEwQlcsdUJBQXFCO0lBQ2pFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC50cz8xNmExIl0sIm5hbWVzIjpbImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVSZWdleCIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsInVuZGVmaW5lZCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQXFNZ0JBOzs7ZUFBQUE7OztBQXJNaEIsTUFBTUM7SUFPSkMsT0FBT0MsT0FBZSxFQUFRO1FBQzVCLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN2RDtJQUVBQyxTQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQ0MsT0FBTztJQUNyQjtJQUVRQSxRQUFRQyxNQUFvQixFQUFZO1FBQWhDQSxJQUFBQSxXQUFBQSxLQUFBQSxHQUFBQSxTQUFpQjtRQUMvQixNQUFNQyxnQkFBZ0I7ZUFBSSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsSUFBSTtTQUFHLENBQUNDLElBQUk7UUFDcEQsSUFBSSxJQUFJLENBQUNDLFFBQVEsS0FBSyxNQUFNO1lBQzFCSixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxPQUFPO1FBQ3BEO1FBQ0EsSUFBSSxJQUFJLENBQUNDLFlBQVksS0FBSyxNQUFNO1lBQzlCUCxjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxVQUFVO1FBQ3ZEO1FBQ0EsSUFBSSxJQUFJLENBQUNFLG9CQUFvQixLQUFLLE1BQU07WUFDdENSLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDLFlBQVk7UUFDekQ7UUFFQSxNQUFNRyxTQUFTVCxjQUNaVSxHQUFHLENBQUMsQ0FBQ0MsSUFBTSxJQUFJLENBQUNWLFFBQVEsQ0FBQ1csR0FBRyxDQUFDRCxHQUFJYixPQUFPLENBQUMsS0FBR0MsU0FBU1ksSUFBRSxNQUN2REUsTUFBTSxDQUFDLENBQUNDLE1BQU1DLE9BQVM7bUJBQUlEO21CQUFTQzthQUFLLEVBQUUsRUFBRTtRQUVoRCxJQUFJLElBQUksQ0FBQ1gsUUFBUSxLQUFL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Q0FBQ3pCLFFBQVEsQ0FBQ3NDLEdBQUcsQ0FBQ2IsYUFBYSxJQUFJcEM7UUFDckM7UUFFQSxJQUFJLENBQUNXLFFBQVEsQ0FDVlcsR0FBRyxDQUFDYyxhQUNKakMsT0FBTyxDQUFDNkIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQzNDOzthQWpNQVAsV0FBQUEsR0FBdUI7YUFDdkJoQixRQUFBQSxHQUFpQyxJQUFJdUM7YUFDckNwQyxRQUFBQSxHQUEwQjthQUMxQkcsWUFBQUEsR0FBOEI7YUFDOUJDLG9CQUFBQSxHQUFzQzs7QUE4THhDO0FBRU8sU0FBU25CLGdCQUNkb0QsZUFBc0M7SUFFdEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFFM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBRWpCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQk4sT0FBTyxDQUFDLENBQUNRLFdBQWFELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNsRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLnRzP2Q1M2IiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiVXJsTm9kZSIsImluc2VydCIsInVybFBhdGgiLCJfaW5zZXJ0Iiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic21vb3NoIiwiX3Ntb29zaCIsInByZWZpeCIsImNoaWxkcmVuUGF0aHMiLCJjaGlsZHJlbiIsImtleXMiLCJzb3J0Iiwic2x1Z05hbWUiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVzdFNsdWdOYW1lIiwib3B0aW9uYWxSZXN0U2x1Z05hbWUiLCJyb3V0ZXMiLCJtYXAiLCJjIiwiZ2V0IiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJwdXNoIiwicGxhY2Vob2xkZXIiLCJyIiwic2xpY2UiLCJFcnJvciIsInVuc2hpZnQiLCJ1cmxQYXRocyIsInNsdWdOYW1lcyIsImlzQ2F0Y2hBbGwiLCJsZW5ndGgiLCJuZXh0U2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlZ21lbnROYW1lIiwiaXNPcHRpb25hbCIsInN1YnN0cmluZyIsImhhbmRsZVNsdWciLCJwcmV2aW91c1NsdWciLCJuZXh0U2x1ZyIsImZvckVhY2giLCJzbHVnIiwicmVwbGFjZSIsImhhcyIsInNldCIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst isServer = typeof window === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n _s();\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n_s(SideEffect, \"gHVkikNHNxjVdD11eJBzaqkCiPY=\", false, function() {\n return [\n useClientOnlyLayoutEffect,\n useClientOnlyLayoutEffect,\n useClientOnlyEffect\n ];\n});\n_c = SideEffect;\nvar _c;\n$RefreshReg$(_c, \"SideEffect\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MkNBb0JBOzs7ZUFBd0JBOzs7bUNBbkI2QjtBQWVyRCxNQUFNQyxXQUFXLE9BQU9DLFdBQVc7QUFDbkMsTUFBTUMsNEJBQTRCRixXQUFXLEtBQU8sSUFBSUcsT0FBQUEsZUFBZTtBQUN2RSxNQUFNQyxzQkFBc0JKLFdBQVcsS0FBTyxJQUFJSyxPQUFBQSxTQUFTO0FBRTVDLFNBQVNOLFdBQVdPLEtBQXNCOztJQUN2RCxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsdUJBQXVCLEVBQUUsR0FBR0Y7SUFFakQsU0FBU0c7UUFDUCxJQUFJRixlQUFlQSxZQUFZRyxnQkFBZ0IsRUFBRTtZQUMvQyxNQUFNQyxlQUFlQyxPQUFBQSxRQUFRLENBQUNDLE9BQU8sQ0FDbkNDLE1BQU1DLElBQUksQ0FBQ1IsWUFBWUcsZ0JBQWdCLEVBQTBCTSxNQUFNLENBQ3JFQztZQUdKVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDL0Q7SUFDRjtJQUVBLElBQUlOLFVBQVU7WUFDWk87UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pEWDtJQUNGO0lBRUFQLDBCQUEwQjtZQUN4Qks7UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pELE9BQU87Z0JBQ0xiO1lBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGdDQUFBQSxZQUFhRyxnQkFBZ0IscUJBQTdCSCw4QkFBK0JjLE1BQU0sQ0FBQ2YsTUFBTWMsUUFBUTtRQUN0RDtJQUNGO0lBRUEsa0ZBQWtGO0lBQ2xGLG9GQUFvRjtJQUNwRixnRUFBZ0U7SUFDaEUscUZBQXFGO0lBQ3JGLG1GQUFtRjtJQUNuRmxCLDBCQUEwQjtRQUN4QixJQUFJSyxhQUFhO1lBQ2ZBLFlBQVllLGNBQWMsR0FBR2I7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSUYsYUFBYTtnQkFDZkEsWUFBWWUsY0FBYyxHQUFHYjtZQUMvQjtRQUNGO0lBQ0Y7SUFFQUwsb0JBQW9CO1FBQ2xCLElBQUlHLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtZQUM3Q2YsWUFBWWUsY0FBYztZQUMxQmYsWUFBWWUsY0FBYyxHQUFHO1FBQy9CO1FBQ0EsT0FBTztZQUNMLElBQUlmLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtnQkFDN0NmLFlBQVllLGNBQWM7Z0JBQzFCZixZQUFZZSxjQUFjLEdBQUc7WUFDL0I7UUFDRjtJQUNGO0lBRUEsT0FBTztBQUNUO0dBeER3QnZCOztRQW1CdEJHO1FBWUFBO1FBV0FFOzs7S0ExQ3NCTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvc2lkZS1lZmZlY3QudHN4P2U4ZGQiXSwibmFtZXMiOlsiU2lkZUVmZmVjdCIsImlzU2VydmVyIiwid2luZG93IiwidXNlQ2xpZW50T25seUxheW91dEVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZUNsaWVudE9ubHlFZmZlY3QiLCJ1c2VFZmZlY3QiLCJwcm9wcyIsImhlYWRNYW5hZ2VyIiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJlbWl0Q2hhbmdlIiwibW91bnRlZEluc3RhbmNlcyIsImhlYWRFbGVtZW50cyIsIkNoaWxkcmVuIiwidG9BcnJheSIsIkFycmF5IiwiZnJvbSIsImZpbHRlciIsIkJvb2xlYW4iLCJ1cGRhdGVIZWFkIiwiYWRkIiwiY2hpbGRyZW4iLCJkZWxldGUiLCJfcGVuZGluZ1VwZGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFvYWFBLGFBQVc7ZUFBWEE7O0lBb0JBQyx5QkFBdUI7ZUFBdkJBOztJQVBBQyxtQkFBaUI7ZUFBakJBOztJQVpBQyxnQkFBYztlQUFkQTs7SUFDQUMsbUJBQWlCO2VBQWpCQTs7SUFUQUMsSUFBRTtlQUFGQTs7SUFDQUMsSUFBRTtlQUFGQTs7SUFsWEFDLFlBQVU7ZUFBVkE7O0lBc1FHQyxVQUFRO2VBQVJBOztJQStCQUMsZ0JBQWM7ZUFBZEE7O0lBWEFDLG1CQUFpQjtlQUFqQkE7O0lBS0FDLFFBQU07ZUFBTkE7O0lBUEhDLGVBQWE7ZUFBYkE7O0lBbUJHQyxXQUFTO2VBQVRBOztJQWtCTUMscUJBQW1CO2VBQW5CQTs7SUFkTkMsMEJBQXdCO2VBQXhCQTs7SUErR0FDLGdCQUFjO2VBQWRBOzs7QUE5WlQsTUFBTVQsYUFBYTtJQUFDO0lBQU87SUFBTztJQUFPO0lBQU87SUFBTztDQUFPO0FBc1E5RCxTQUFTQyxTQUNkUyxFQUFLO0lBRUwsSUFBSUMsT0FBTztJQUNYLElBQUlDO0lBRUosT0FBUTt5Q0FBSUMsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7WUFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O1FBQ1YsSUFBSSxDQUFDRixNQUFNO1lBQ1RBLE9BQU87WUFDUEMsU0FBU0YsTUFBTUc7UUFDakI7UUFDQSxPQUFPRDtJQUNUO0FBQ0Y7QUFFQSwwREFBMEQ7QUFDMUQsZ0VBQWdFO0FBQ2hFLE1BQU1FLHFCQUFxQjtBQUNwQixNQUFNVCxnQkFBZ0IsQ0FBQ1UsTUFBZ0JELG1CQUFtQkUsSUFBSSxDQUFDRDtBQUUvRCxTQUFTWjtJQUNkLE1BQU0sRUFBRWMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFB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O0lBQ3JDVSxZQUFZQyxJQUFZLEVBQUVaLE9BQWUsQ0FBRTtRQUN6QyxLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQXdDWSxPQUFLLE1BQUdaO0lBQ2pFO0FBQ0Y7QUFFTyxNQUFNakQsZ0NBQWdDa0Q7SUFFM0NVLGFBQWM7UUFDWixLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNiLE9BQU8sR0FBSTtJQUNsQjtBQUNGO0FBV08sU0FBU2xDLGVBQWVnRCxLQUFZO0lBQ3pDLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUFFaEIsU0FBU2MsTUFBTWQsT0FBTztRQUFFaUIsT0FBT0gsTUFBTUcsS0FBSztJQUFDO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cz8xYmQ1Il0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Button.jsx": -/*!***********************************!*\ - !*** ./src/components/Button.jsx ***! - \***********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: function() { return /* binding */ Button; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n\n\n\nfunction Button(param) {\n let { className, ...props } = param;\n className = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"inline-flex justify-center rounded-2xl bg-blue-700 py-2 px-4 text-sm font-semibold text-white hover:bg-blue-500 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:text-white/70\", className);\n return typeof props.href === \"undefined\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n_c = Button;\nvar _c;\n$RefreshReg$(_c, \"Button\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNEI7QUFDTDtBQUVoQixTQUFTRSxPQUFPLEtBQXVCO1FBQXZCLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEdBQXZCO0lBQ3JCRCxZQUFZRixnREFBSUEsQ0FDZCxpUEFDQUU7SUFHRixPQUFPLE9BQU9DLE1BQU1DLElBQUksS0FBSyw0QkFDM0IsOERBQUNDO1FBQU9ILFdBQVdBO1FBQVksR0FBR0MsS0FBSzs7Ozs7NkJBRXZDLDhEQUFDSixpREFBSUE7UUFBQ0csV0FBV0E7UUFBWSxHQUFHQyxLQUFLOzs7Ozs7QUFFekM7S0FYZ0JGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3g/NGUxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9KSB7XG4gIGNsYXNzTmFtZSA9IGNsc3goXG4gICAgJ2lubGluZS1mbGV4IGp1c3RpZnktY2VudGVyIHJvdW5kZWQtMnhsIGJnLWJsdWUtNzAwIHB5LTIgcHgtNCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBob3ZlcjpiZy1ibHVlLTUwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1ibHVlLTUwMCBhY3RpdmU6dGV4dC13aGl0ZS83MCcsXG4gICAgY2xhc3NOYW1lLFxuICApXG5cbiAgcmV0dXJuIHR5cGVvZiBwcm9wcy5ocmVmID09PSAndW5kZWZpbmVkJyA/IChcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4ucHJvcHN9IC8+XG4gICkgOiAoXG4gICAgPExpbmsgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5wcm9wc30gLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJjbHN4IiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJocmVmIiwiYnV0dG9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Button.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Container.jsx": -/*!**************************************!*\ - !*** ./src/components/Container.jsx ***! - \**************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: function() { return /* binding */ Container; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container(param) {\n let { className, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n_c = Container;\nvar _c;\n$RefreshReg$(_c, \"Container\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0NvbnRhaW5lci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF1QjtBQUVoQixTQUFTQyxVQUFVLEtBQXVCO1FBQXZCLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEdBQXZCO0lBQ3hCLHFCQUNFLDhEQUFDQztRQUNDRixXQUFXRixnREFBSUEsQ0FBQywwQ0FBMENFO1FBQ3pELEdBQUdDLEtBQUs7Ozs7OztBQUdmO0tBUGdCRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Container.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Header.jsx": -/*!***********************************!*\ - !*** ./src/components/Header.jsx ***! - \***********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: function() { return /* binding */ Header; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/Button */ \"(app-pages-browser)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Logo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Logo */ \"(app-pages-browser)/./src/components/Logo.jsx\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n// Example navigation items\nconst navigationItems = [\n {\n name: \"Home\",\n href: \"/\"\n },\n {\n name: \"Features\",\n href: \"#\"\n },\n {\n name: \"Usecases\",\n href: \"#\"\n },\n {\n name: \"Events\",\n href: \"#\"\n }\n];\nfunction Header() {\n _s();\n const [mobileMenuOpen, setMobileMenuOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"relative z-50 flex-none lg:py-4 bg-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"flex flex-wrap items-center justify-between lg:justify-center lg:flex-nowrap\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"my-5 lg:my-0 lg:grow lg:basis-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:flex lg:items-center lg:gap-8 lg:grow lg:basis-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-8 mx-auto\",\n children: navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-700 font-semibold hover:text-blue-900\",\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 29,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 27,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 34,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 26,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:hidden flex items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(true),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Open menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 42,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 43,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 37,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this),\n mobileMenuOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-10 bg-white shadow-lg lg:hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n className: \"h-12 w-auto text-slate-900\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 52,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setMobileMenuOpen(false),\n className: \"-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Close menu\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 58,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"aria-hidden\": \"true\",\n className: \"h-6 w-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 59,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 53,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col p-6 space-y-4\",\n children: [\n navigationItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: \"text-blue-500 hover:text-blue-800 text-lg font-semibold\",\n onClick: ()=>setMobileMenuOpen(false),\n children: item.name\n }, item.name, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 64,\n columnNumber: 15\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n href: \"#\",\n className: \"mt-4\",\n children: \"Join OurVerse\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 73,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n_s(Header, \"d7gXMF6mPDUhHBNUSEb8mLK4AII=\");\n_c = Header;\nvar _c;\n$RefreshReg$(_c, \"Header\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0hlYWRlci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFaUM7QUFDWTtBQUNNO0FBQ1Y7QUFDMEI7QUFFbkUsMkJBQTJCO0FBQzNCLE1BQU1NLGtCQUFrQjtJQUN0QjtRQUFFQyxNQUFNO1FBQVFDLE1BQU07SUFBSTtJQUMxQjtRQUFFRCxNQUFNO1FBQVlDLE1BQU07SUFBSTtJQUM5QjtRQUFFRCxNQUFNO1FBQVlDLE1BQU07SUFBSTtJQUM5QjtRQUFFRCxNQUFNO1FBQVVDLE1BQU07SUFBSTtDQUM3QjtBQUVNLFNBQVNDOztJQUNkLE1BQU0sQ0FBQ0MsZ0JBQWdCQyxrQkFBa0IsR0FBR1gsK0NBQVFBLENBQUM7SUFFckQscUJBQ0UsOERBQUNZO1FBQU9DLFdBQVU7OzBCQUNoQiw4REFBQ1gsNERBQVNBO2dCQUFDVyxXQUFVOztrQ0FDbkIsOERBQUNDO3dCQUFJRCxXQUFVO2tDQUNiLDRFQUFDVixrREFBSUE7NEJBQUNVLFdBQVU7Ozs7Ozs7Ozs7O2tDQUVsQiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDQztnQ0FBSUQsV0FBVTswQ0FDWlAsZ0JBQWdCUyxHQUFHLENBQUMsQ0FBQ0MscUJBQ3BCLDhEQUFDQzt3Q0FBa0JULE1BQU1RLEtBQUtSLElBQUk7d0NBQUVLLFdBQVU7a0RBQzNDRyxLQUFLVCxJQUFJO3VDQURKUyxLQUFLVCxJQUFJOzs7Ozs7Ozs7OzBDQUtyQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLOzBDQUFJOzs7Ozs7Ozs7Ozs7a0NBRW5CLDhEQUFDTTt3QkFBSUQsV0FBVTtrQ0FDYiw0RUFBQ0s7NEJBQ0NDLE1BQUs7NEJBQ0xDLFNBQVMsSUFBTVQsa0JBQWtCOzRCQUNqQ0UsV0FBVTs7OENBRVYsOERBQUNRO29DQUFLUixXQUFVOzhDQUFVOzs7Ozs7OENBQzFCLDhEQUFDVCw2R0FBU0E7b0NBQUNrQixlQUFZO29DQUFPVCxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQU03Q0gsZ0NBQ0MsOERBQUNJO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDVixrREFBSUE7Z0NBQUNVLFdBQVU7Ozs7OzswQ0FDaEIsOERBQUNLO2dDQUNDQyxNQUFLO2dDQUNMQyxTQUFTLElBQU1ULGtCQUFrQjtnQ0FDakNFLFdBQVU7O2tEQUVWLDhEQUFDUTt3Q0FBS1IsV0FBVTtrREFBVTs7Ozs7O2tEQUMxQiw4REFBQ1IsNkdBQVNBO3dDQUFDaUIsZUFBWTt3Q0FBT1QsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUc1Qyw4REFBQ0M7d0JBQUlELFdBQVU7OzRCQUNaUCxnQkFBZ0JTLEdBQUcsQ0FBQyxDQUFDQyxxQkFDcEIsOERBQUNDO29DQUVDVCxNQUFNUSxLQUFLUixJQUFJO29DQUNmSyxXQUFVO29DQUNWTyxTQUFTLElBQU1ULGtCQUFrQjs4Q0FFaENLLEtBQUtULElBQUk7bUNBTExTLEtBQUtULElBQUk7Ozs7OzBDQVFsQiw4REFBQ04sc0RBQU1BO2dDQUFDTyxNQUFLO2dDQUFJSyxXQUFVOzBDQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFROUM7R0FoRWdCSjtLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4PzNjYjYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnOyAvLyBFbnN1cmUgdGhpcyBmaWxlIGlzIHRyZWF0ZWQgYXMgYSBDbGllbnQgQ29tcG9uZW50XG5cbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJztcbmltcG9ydCB7IExvZ28gfSBmcm9tICdAL2NvbXBvbmVudHMvTG9nbyc7XG5pbXBvcnQgeyBCYXJzM0ljb24sIFhNYXJrSWNvbiB9IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSc7XG5cbi8vIEV4YW1wbGUgbmF2aWdhdGlvbiBpdGVtc1xuY29uc3QgbmF2aWdhdGlvbkl0ZW1zID0gW1xuICB7IG5hbWU6ICdIb21lJywgaHJlZjogJy8nIH0sXG4gIHsgbmFtZTogJ0ZlYXR1cmVzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ1VzZWNhc2VzJywgaHJlZjogJyMnIH0sXG4gIHsgbmFtZTogJ0V2ZW50cycsIGhyZWY6ICcjJyB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIEhlYWRlcigpIHtcbiAgY29uc3QgW21vYmlsZU1lbnVPcGVuLCBzZXRNb2JpbGVNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotNTAgZmxleC1ub25lIGxnOnB5LTQgYmctd2hpdGVcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBsZzpqdXN0aWZ5LWNlbnRlciBsZzpmbGV4LW5vd3JhcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LTUgbGc6bXktMCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhpZGRlbiBsZzpmbGV4IGxnOml0ZW1zLWNlbnRlciBsZzpnYXAtOCBsZzpncm93IGxnOmJhc2lzLTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTggbXgtYXV0b1wiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGEga2V5PXtpdGVtLm5hbWV9IGhyZWY9e2l0ZW0uaHJlZn0gY2xhc3NOYW1lPVwidGV4dC1ibHVlLTcwMCBmb250LXNlbWlib2xkIGhvdmVyOnRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAgICB7aXRlbS5uYW1lfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCI+Sm9pbiBPdXJWZXJzZTwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzpoaWRkZW4gZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE1vYmlsZU1lbnVPcGVuKHRydWUpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiLW0tMi41IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIHAtMi41IHRleHQtZ3JheS03MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5PcGVuIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICA8QmFyczNJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzTmFtZT1cImgtNiB3LTZcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuXG4gICAgICB7LyogTW9iaWxlIG1lbnUgKi99XG4gICAgICB7bW9iaWxlTWVudU9wZW4gJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei0xMCBiZy13aGl0ZSBzaGFkb3ctbGcgbGc6aGlkZGVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC02XCI+XG4gICAgICAgICAgICA8TG9nbyBjbGFzc05hbWU9XCJoLTEyIHctYXV0byB0ZXh0LXNsYXRlLTkwMFwiIC8+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVNZW51T3BlbihmYWxzZSl9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cIi1tLTIuNSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBwLTIuNSB0ZXh0LWdyYXktNzAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlIG1lbnU8L3NwYW4+XG4gICAgICAgICAgICAgIDxYTWFya0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3NOYW1lPVwiaC02IHctNlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgcC02IHNwYWNlLXktNFwiPlxuICAgICAgICAgICAge25hdmlnYXRpb25JdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1ibHVlLTUwMCBob3Zlcjp0ZXh0LWJsdWUtODAwIHRleHQtbGcgZm9udC1zZW1pYm9sZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTWVudU9wZW4oZmFsc2UpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIjXCIgY2xhc3NOYW1lPVwibXQtNFwiPlxuICAgICAgICAgICAgICBKb2luIE91clZlcnNlXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvaGVhZGVyPlxuICApO1xufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwiQnV0dG9uIiwiQ29udGFpbmVyIiwiTG9nbyIsIkJhcnMzSWNvbiIsIlhNYXJrSWNvbiIsIm5hdmlnYXRpb25JdGVtcyIsIm5hbWUiLCJocmVmIiwiSGVhZGVyIiwibW9iaWxlTWVudU9wZW4iLCJzZXRNb2JpbGVNZW51T3BlbiIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsIm1hcCIsIml0ZW0iLCJhIiwiYnV0dG9uIiwidHlwZSIsIm9uQ2xpY2siLCJzcGFuIiwiYXJpYS1oaWRkZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Header.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./src/components/Logo.jsx": -/*!*********************************!*\ - !*** ./src/components/Logo.jsx ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: function() { return /* binding */ Logo; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n\nfunction Logo(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: \"130\",\n height: \"43.33\",\n version: \"1\",\n viewBox: \"0 0 90 30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"filter\", {\n id: \"bdef170c39\",\n width: \"100%\",\n height: \"100%\",\n x: \"0%\",\n y: \"0%\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n colorInterpolationFilters: \"sRGB\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"ae85f5a47d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9479493a42\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.07 23.469a2.665 2.665 0 01-2.383-1.504L4.657 9.25a2.62 2.62 0 011.257-3.492A2.621 2.621 0 019.41 7.016l6.027 12.714a2.618 2.618 0 01-2.367 3.739zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"90a54febec\",\n x1: \"117.677\",\n x2: \"-10.526\",\n y1: \"202.569\",\n y2: \"6.809\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 34,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 37,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#1E3A8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 40,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 43,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#203E91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#204092\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 47,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#214295\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 50,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 51,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#224498\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 52,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 54,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 55,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 56,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#24479E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 59,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 60,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.299\",\n stopColor: \"#2549A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#254AA1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#254BA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 65,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 66,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#274FAA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 72,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2751AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 78,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 80,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2A56B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 81,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 85,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 86,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2B5AB9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2C5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 88,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 91,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 92,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 93,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 94,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 95,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 96,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 97,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 98,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#2E61C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 99,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 100,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 101,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#2F63C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 102,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 103,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3065CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 105,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 106,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#3167CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 107,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 108,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 109,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 111,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 112,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.701\",\n stopColor: \"#326BD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 114,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 115,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 116,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 117,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#346FD8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 120,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3570DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 123,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 124,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 125,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 127,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 128,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3674E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 130,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 131,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 132,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 133,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 134,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#3878E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 135,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 136,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#387AE8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 138,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 139,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#397CEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 140,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 142,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 143,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 145,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 146,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 147,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 148,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.977\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 149,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.984\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 150,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 24,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"71699c0992\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 154,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 153,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"39c4965344\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.469c-.375 0-.77-.078-1.13-.266-1.312-.617-1.878-2.195-1.257-3.492l6.031-12.715c.617-1.312 2.196-1.879 3.492-1.258 1.317.621 1.88 2.2 1.258 3.492l-6.027 12.715c-.434.977-1.371 1.524-2.367 1.524zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 157,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 156,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: \"5c493e8459\",\n x1: \"188.996\",\n x2: \"130.793\",\n y1: \"-0.323\",\n y2: \"214.691\",\n gradientTransform: \"translate(4.355 5.479) scale(.09174)\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 168,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.008\",\n stopColor: \"#1E3A8A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 169,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.016\",\n stopColor: \"#1E3B8B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 170,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.023\",\n stopColor: \"#1F3B8C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 171,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.031\",\n stopColor: \"#1F3C8D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 172,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.039\",\n stopColor: \"#1F3C8E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 173,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.047\",\n stopColor: \"#1F3D8F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 174,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.055\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 175,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.063\",\n stopColor: \"#203E90\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 176,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.07\",\n stopColor: \"#203F91\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 177,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.078\",\n stopColor: \"#203F92\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 178,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.086\",\n stopColor: \"#214093\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 179,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.094\",\n stopColor: \"#214194\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.102\",\n stopColor: \"#214195\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 181,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.109\",\n stopColor: \"#214296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 182,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.117\",\n stopColor: \"#224296\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 183,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.125\",\n stopColor: \"#224397\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.133\",\n stopColor: \"#224398\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.141\",\n stopColor: \"#249\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 186,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.148\",\n stopColor: \"#23459A\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 187,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.15\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 188,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.156\",\n stopColor: \"#23459B\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 189,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.164\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 190,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.172\",\n stopColor: \"#23469C\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 191,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.18\",\n stopColor: \"#23479D\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 192,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.188\",\n stopColor: \"#24489E\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 193,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.195\",\n stopColor: \"#24489F\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 194,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.203\",\n stopColor: \"#2449A0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 195,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.211\",\n stopColor: \"#2449A1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 196,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.219\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.227\",\n stopColor: \"#254AA2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 198,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.234\",\n stopColor: \"#254BA3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 199,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.242\",\n stopColor: \"#254CA4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.25\",\n stopColor: \"#264CA5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 201,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.258\",\n stopColor: \"#264DA6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 202,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.266\",\n stopColor: \"#264DA7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 203,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.273\",\n stopColor: \"#264EA8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 204,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.281\",\n stopColor: \"#274EA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 205,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.289\",\n stopColor: \"#274FA9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 206,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.297\",\n stopColor: \"#2750AA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 207,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.305\",\n stopColor: \"#2750AB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 208,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.313\",\n stopColor: \"#2851AC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 209,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.32\",\n stopColor: \"#2851AD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 210,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.328\",\n stopColor: \"#2852AE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.336\",\n stopColor: \"#2853AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 212,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.344\",\n stopColor: \"#2953AF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 213,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.352\",\n stopColor: \"#2954B0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 214,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.359\",\n stopColor: \"#2954B1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 215,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.367\",\n stopColor: \"#2955B2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 216,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.375\",\n stopColor: \"#2955B3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 217,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.383\",\n stopColor: \"#2A56B4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 218,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.391\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 219,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.398\",\n stopColor: \"#2A57B5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 220,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.406\",\n stopColor: \"#2A58B6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 221,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.414\",\n stopColor: \"#2B58B7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 222,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.422\",\n stopColor: \"#2B59B8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 223,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43\",\n stopColor: \"#2B59B9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 224,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.438\",\n stopColor: \"#2B5ABA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 225,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.445\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 226,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.453\",\n stopColor: \"#2C5BBB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 227,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.461\",\n stopColor: \"#2C5CBC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 228,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.469\",\n stopColor: \"#2C5CBD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 229,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.477\",\n stopColor: \"#2D5DBE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 230,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.484\",\n stopColor: \"#2D5EBF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.492\",\n stopColor: \"#2D5EC0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 232,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.5\",\n stopColor: \"#2D5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 233,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.508\",\n stopColor: \"#2E5FC1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 234,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.516\",\n stopColor: \"#2E60C2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 235,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.523\",\n stopColor: \"#2E60C3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 236,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.531\",\n stopColor: \"#2E61C4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.539\",\n stopColor: \"#2F62C5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 238,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.547\",\n stopColor: \"#2F62C6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.555\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 240,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.563\",\n stopColor: \"#2F63C7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 241,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.57\",\n stopColor: \"#2F64C8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 242,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.578\",\n stopColor: \"#3064C9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 243,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.586\",\n stopColor: \"#3065CA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 244,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.594\",\n stopColor: \"#3066CB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 245,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.602\",\n stopColor: \"#3066CC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 246,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.609\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 247,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.617\",\n stopColor: \"#3167CD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 248,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.625\",\n stopColor: \"#3168CE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 249,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.633\",\n stopColor: \"#3169CF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.641\",\n stopColor: \"#3269D0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 251,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.648\",\n stopColor: \"#326AD1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 252,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.656\",\n stopColor: \"#326AD2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 253,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.664\",\n stopColor: \"#326BD3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 254,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.672\",\n stopColor: \"#336BD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 255,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.68\",\n stopColor: \"#336CD4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 256,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.688\",\n stopColor: \"#336DD5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 257,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.695\",\n stopColor: \"#336DD6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 258,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.703\",\n stopColor: \"#346ED7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 259,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.711\",\n stopColor: \"#346ED8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 260,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.719\",\n stopColor: \"#346FD9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 261,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.727\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 262,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.734\",\n stopColor: \"#3470DA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 263,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.742\",\n stopColor: \"#3571DB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 264,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.75\",\n stopColor: \"#3571DC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 265,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.758\",\n stopColor: \"#3572DD\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 266,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.766\",\n stopColor: \"#3572DE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 267,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.773\",\n stopColor: \"#3673DF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 268,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.781\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 269,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.789\",\n stopColor: \"#3674E0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 270,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.797\",\n stopColor: \"#3675E1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.805\",\n stopColor: \"#3775E2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 272,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.813\",\n stopColor: \"#3776E3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 273,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.82\",\n stopColor: \"#3776E4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 274,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.828\",\n stopColor: \"#3777E5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 275,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.836\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 276,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.844\",\n stopColor: \"#3878E6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 277,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.85\",\n stopColor: \"#3879E7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 278,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.852\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 279,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.859\",\n stopColor: \"#3879E8\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.867\",\n stopColor: \"#397AE9\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 281,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.875\",\n stopColor: \"#397BEA\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 282,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.883\",\n stopColor: \"#397BEB\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.891\",\n stopColor: \"#397CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 284,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.898\",\n stopColor: \"#3A7CEC\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.906\",\n stopColor: \"#3A7DED\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 286,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.914\",\n stopColor: \"#3A7DEE\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 287,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.922\",\n stopColor: \"#3A7EEF\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 288,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.93\",\n stopColor: \"#3A7FF0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 289,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.938\",\n stopColor: \"#3B7FF1\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 290,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.945\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 291,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.953\",\n stopColor: \"#3B80F2\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 292,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.961\",\n stopColor: \"#3B81F3\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 293,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.969\",\n stopColor: \"#3C81F4\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 294,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"1\",\n stopColor: \"#3C82F5\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 295,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 159,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8d0c53bb2c\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M4.355 5.473H16v18.144H4.355zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"8007d6ee0b\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.074 23.621c-.98 0-1.941-.566-2.394-1.512L4.62 9.336a2.628 2.628 0 011.262-3.508A2.632 2.632 0 019.395 7.09l6.058 12.773a2.639 2.639 0 01-1.265 3.512c-.36.168-.735.246-1.114.246zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 301,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 300,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 303,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"c882ea39a8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAlUlEQVQ4ja2TwQqEMAwFR13t/7N/quzdi4GatckLKBR8gtNM2kzAFziAvVuWf4jPDDRgu1Zz+VMBPQH6XK6ocQfY+1IBRXpNBUUAy3O1Iq/Xf5MqGv3cbxBWlR2/z5KaojdlaqresFfq8ad6vtkK8LGqUbOz255WpOr9waJZKw1z1OxMb/OgV/Ts2lcBllcPWkSd4TCf48wND2qvElwAAAAASUVORK5CYII=\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 313,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"9791d5a09d\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 321,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 320,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"e6e7ec391e\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9791d5a09d)\",\n mask: \"url(#c882ea39a8)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 335,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 334,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 323,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"b6080a64a5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 5.473h11.773v18.144H10zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 342,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 341,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"2ec3ecbd14\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M13.055 23.621c-.375 0-.774-.078-1.133-.266-1.32-.62-1.887-2.207-1.262-3.507L16.72 7.074c.62-1.324 2.207-1.89 3.508-1.265 1.32.62 1.886 2.207 1.265 3.507L15.434 22.09c-.434.98-1.38 1.531-2.38 1.531zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 345,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 344,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n preserveAspectRatio: \"xMidYMid meet\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 347,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n id: \"d7dda1a063\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n filter: \"url(#bdef170c39)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"image\", {\n width: \"18\",\n height: \"20\",\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QA/wD/AP+gvaeTAAAAdklEQVQ4jb3S0QrAIAgFUAf7/8/dBrXaS4ETK6+OXYhE6BTSRkSV5sltJbG/evsEkAchqKKAhIoX4NAVATh0RICvoaxBENBrDrkADp0RQL7oN2h5yQoyz20EQX9Ig2Cg1xHI/LORud0IpPUKtXigREosEK+HeQD2CUNau+AD0QAAAABJRU5ErkJggg==\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 357,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 356,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 355,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"c87c18b6c8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 0H18V20H0z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 365,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 364,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pattern\", {\n id: \"f8c42d9774\",\n width: \"18\",\n height: \"20\",\n x: \"0\",\n y: \"0\",\n patternTransform: \"matrix(.96774 0 0 -.96774 4.355 24.116)\",\n patternUnits: \"userSpaceOnUse\",\n preserveAspectRatio: \"xMidYMid meet\",\n viewBox: \"0 0 18 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#c87c18b6c8)\",\n mask: \"url(#d7dda1a063)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#3c82f5\",\n d: \"M-24.96 -12.9H108.95999999999998V31.740000000000002H-24.96z\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 379,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 378,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 367,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#ae85f5a47d)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#9479493a42)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#90a54febec)\",\n d: \"M4.355 5.473v17.996H16.06V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 388,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 387,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 386,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#71699c0992)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#39c4965344)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#5c493e8459)\",\n d: \"M10.047 5.473v17.996h11.726V5.473zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 396,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 395,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 394,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M5.766.172c-1.024 0-1.914-.219-2.672-.656a4.783 4.783 0 01-1.797-1.86c-.43-.789-.64-1.707-.64-2.75 0-1.031.21-1.941.64-2.734a4.837 4.837 0 011.797-1.86c.758-.445 1.648-.671 2.672-.671 1 0 1.882.226 2.656.671.77.45 1.367 1.07 1.797 1.86.426.793.64 1.703.64 2.734 0 1.043-.214 1.961-.64 2.75a4.677 4.677 0 01-1.797 1.86c-.774.437-1.656.656-2.656.656zm0-1.672c.968 0 1.738-.316 2.312-.953.582-.645.875-1.524.875-2.64 0-1.114-.293-1.989-.875-2.626-.574-.644-1.344-.968-2.312-.968-.97 0-1.746.324-2.329.968-.585.637-.874 1.512-.874 2.625 0 1.117.289 1.996.874 2.64.583.638 1.36.954 2.329.954zm0 0\",\n transform: \"translate(24.636 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 402,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.656.172c-.906 0-1.605-.281-2.094-.844C1.07-1.234.829-2.055.829-3.14v-4.078h1.844v3.907c0 .617.125 1.09.375 1.421.258.336.66.5 1.203.5.508 0 .93-.18 1.266-.546.332-.375.5-.891.5-1.547V-7.22H7.89V0H6.234l-.14-1.219a2.45 2.45 0 01-.969 1.016c-.418.25-.906.375-1.469.375zm0 0\",\n transform: \"translate(35.114 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 407,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(42.932 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 412,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.938 0L.217-10.188h2l2.876 8.282 2.89-8.281h1.97L6.218 0zm0 0\",\n transform: \"translate(47.67 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 417,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(56.811 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 422,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M.953 0v-7.219H2.61l.172 1.36a2.929 2.929 0 011.063-1.11c.457-.281.988-.422 1.594-.422v1.97h-.516a3 3 0 00-1.094.187 1.43 1.43 0 00-.75.656c-.18.312-.265.746-.265 1.297V0zm0 0\",\n transform: \"translate(64.484 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 427,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M3.922.172c-.637 0-1.2-.106-1.688-.313-.48-.207-.867-.492-1.156-.859a2.58 2.58 0 01-.531-1.281h1.875c.062.281.219.523.469.719.257.199.597.296 1.015.296.406 0 .703-.082.89-.25.188-.164.282-.351.282-.562 0-.313-.137-.52-.406-.625a7.994 7.994 0 00-1.14-.344 11.28 11.28 0 01-.954-.234 5.044 5.044 0 01-.875-.375 2.081 2.081 0 01-.64-.578c-.168-.239-.25-.536-.25-.891 0-.633.253-1.172.765-1.61.508-.437 1.223-.656 2.14-.656.852 0 1.536.2 2.048.594.507.399.812.945.906 1.64h-1.75c-.117-.53-.524-.796-1.219-.796-.344 0-.61.07-.797.203-.187.137-.281.309-.281.516 0 .21.14.382.422.515.281.125.648.242 1.11.344.507.117.972.246 1.39.39.426.137.766.344 1.016.626.25.273.375.664.375 1.171.007.45-.11.856-.36 1.22-.242.355-.59.636-1.047.843-.449.195-.984.297-1.61.297zm0 0\",\n transform: \"translate(69.222 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 432,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#1e3a8a\",\n d: \"M4.453.172c-.73 0-1.375-.152-1.937-.453a3.404 3.404 0 01-1.329-1.313C.875-2.156.72-2.804.72-3.547c0-.75.156-1.414.469-2a3.397 3.397 0 011.296-1.36c.563-.32 1.223-.484 1.985-.484.707 0 1.332.157 1.875.47.539.312.96.741 1.265 1.28.313.532.47 1.125.47 1.782 0 .117-.009.23-.017.343 0 .118-.007.235-.015.36H2.562c.04.562.239 1.008.594 1.328.352.312.781.469 1.281.469.375 0 .692-.082.954-.25.257-.164.453-.383.578-.657h1.89A3.447 3.447 0 016.015-.14a3.77 3.77 0 01-1.562.313zm.016-6.047c-.461 0-.867.133-1.219.39-.344.25-.563.637-.656 1.157h3.594c-.032-.469-.211-.844-.532-1.125-.324-.281-.718-.422-1.187-.422zm0 0\",\n transform: \"translate(75.834 19.16)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 437,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8d0c53bb2c)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#8007d6ee0b)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#e6e7ec391e)\",\n d: \"M4.355 5.473h11.72v18.144H4.354zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 444,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 443,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 442,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#b6080a64a5)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#2ec3ecbd14)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"url(#f8c42d9774)\",\n d: \"M10.035 5.473h11.738v18.144H10.035zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 452,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 451,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 450,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n_c = Logo;\nvar _c;\n$RefreshReg$(_c, \"Logo\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0xvZ28uanN4IiwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLFNBQVNBLEtBQUtDLEtBQUs7SUFDeEIscUJBQ0UsOERBQUNDO1FBQ0RDLE9BQU07UUFDTkMsWUFBVztRQUNYQyxPQUFNO1FBQ05DLFFBQU87UUFDUEMsU0FBUTtRQUNSQyxTQUFROzswQkFFUiw4REFBQ0M7O2tDQUNDLDhEQUFDQzt3QkFBT0MsSUFBRzt3QkFBYU4sT0FBTTt3QkFBT0MsUUFBTzt3QkFBT00sR0FBRTt3QkFBS0MsR0FBRTtrQ0FDMUQsNEVBQUNDOzRCQUNDQywyQkFBMEI7NEJBQzFCQyxRQUFPOzs7Ozs7Ozs7OztrQ0FHWCw4REFBQ0M7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0Y7d0JBQVNOLElBQUc7a0NBQ1gsNEVBQUNPOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0M7d0JBQ0NULElBQUc7d0JBQ0hVLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLG1CQUFrQjt3QkFDbEJDLGVBQWM7OzBDQUVkLDhEQUFDQztnQ0FBS0MsUUFBTztnQ0FBSUMsV0FBVTs7Ozs7OzBDQUMzQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBTUMsV0FBVTs7Ozs7OzBDQUM3Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQUlDLFdBQVU7Ozs7Ozs7Ozs7OztrQ0FFN0IsOERBQUNaO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNGO3dCQUFTTixJQUFHO2tDQUNYLDRFQUFDTzs0QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7a0NBRVYsOERBQUNDO3dCQUNDVCxJQUFHO3dCQUNIVSxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxtQkFBa0I7d0JBQ2xCQyxlQUFjOzswQ0FFZCw4REFBQ0M7Z0NBQUtDLFFBQU87Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDM0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQU9DLFdBQVU7Ozs7OzswQ0FDOUIsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBTUMsV0FBVTs7Ozs7OzBDQUM3Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFPQyxXQUFVOzs7Ozs7MENBQzlCLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBDQUMvQiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBT0MsV0FBVTs7Ozs7OzBDQUM5Qiw4REFBQ0Y7Z0NBQUtDLFFBQU87Z0NBQVFDLFdBQVU7Ozs7OzswQ0FDL0IsOERBQUNGO2dDQUFLQyxRQUFPO2dDQUFRQyxXQUFVOzs7Ozs7MENBQy9CLDhEQUFDRjtnQ0FBS0MsUUFBTztnQ0FBUUMsV0FBVTs7Ozs7OzBD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Viw0RUFBQ0M7d0JBQ0NvQixNQUFLO3dCQUNMbkIsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1aO0tBM2NnQm5CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0xvZ28uanN4PzIwNDEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIExvZ28ocHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgeG1sbnNYbGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgIHdpZHRoPVwiMTMwXCJcbiAgICBoZWlnaHQ9XCI0My4zM1wiXG4gICAgdmVyc2lvbj1cIjFcIlxuICAgIHZpZXdCb3g9XCIwIDAgOTAgMzBcIlxuICA+XG4gICAgPGRlZnM+XG4gICAgICA8ZmlsdGVyIGlkPVwiYmRlZjE3MGMzOVwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiB4PVwiMCVcIiB5PVwiMCVcIj5cbiAgICAgICAgPGZlQ29sb3JNYXRyaXhcbiAgICAgICAgICBjb2xvckludGVycG9sYXRpb25GaWx0ZXJzPVwic1JHQlwiXG4gICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMSAwXCJcbiAgICAgICAgPjwvZmVDb2xvck1hdHJpeD5cbiAgICAgIDwvZmlsdGVyPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiYWU4NWY1YTQ3ZFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTQuMzU1IDUuNDczSDE2djE4LjE0NEg0LjM1NXptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjk0Nzk0OTNhNDJcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNyAyMy40NjlhMi42NjUgMi42NjUgMCAwMS0yLjM4My0xLjUwNEw0LjY1NyA5LjI1YTIuNjIgMi42MiAwIDAxMS4yNTctMy40OTJBMi42MjEgMi42MjEgMCAwMTkuNDEgNy4wMTZsNi4wMjcgMTIuNzE0YTIuNjE4IDIuNjE4IDAgMDEtMi4zNjcgMy43Mzl6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgaWQ9XCI5MGE1NGZlYmVjXCJcbiAgICAgICAgeDE9XCIxMTcuNjc3XCJcbiAgICAgICAgeDI9XCItMTAuNTI2XCJcbiAgICAgICAgeTE9XCIyMDIuNTY5XCJcbiAgICAgICAgeTI9XCI2LjgwOVwiXG4gICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuMzU1IDUuNDc5KSBzY2FsZSguMDkxNzQpXCJcbiAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDYzXCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wOTRcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwOVwiIHN0b3BDb2xvcj1cIiMxRTNBOEFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTE3XCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMjVcIiBzdG9wQ29sb3I9XCIjMUUzQThCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEzM1wiIHN0b3BDb2xvcj1cIiMxRjNCOENcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTQxXCIgc3RvcENvbG9yPVwiIzFGM0M4RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDhcIiBzdG9wQ29sb3I9XCIjMUYzQzhFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1NlwiIHN0b3BDb2xvcj1cIiMxRjNEOEZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTY0XCIgc3RvcENvbG9yPVwiIzIwM0U5MFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNzJcIiBzdG9wQ29sb3I9XCIjMjAzRTkxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE4XCIgc3RvcENvbG9yPVwiIzIwM0Y5MlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xODhcIiBzdG9wQ29sb3I9XCIjMjA0MDkyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE5NVwiIHN0b3BDb2xvcj1cIiMyMTQwOTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjAzXCIgc3RvcENvbG9yPVwiIzIxNDE5NFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTFcIiBzdG9wQ29sb3I9XCIjMjE0Mjk1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIxOVwiIHN0b3BDb2xvcj1cIiMyMjQyOTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjI3XCIgc3RvcENvbG9yPVwiIzIyNDM5N1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMzRcIiBzdG9wQ29sb3I9XCIjMjI0NDk4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI0MlwiIHN0b3BDb2xvcj1cIiMyNDlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjVcIiBzdG9wQ29sb3I9XCIjMjM0NTlBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1OFwiIHN0b3BDb2xvcj1cIiMyMzQ1OUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjY2XCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNzNcIiBzdG9wQ29sb3I9XCIjMjM0NzlEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4MVwiIHN0b3BDb2xvcj1cIiMyNDQ3OUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjg5XCIgc3RvcENvbG9yPVwiIzI0NDg5RlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTdcIiBzdG9wQ29sb3I9XCIjMjQ0OUEwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI5OVwiIHN0b3BDb2xvcj1cIiMyNTQ5QTFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzA1XCIgc3RvcENvbG9yPVwiIzI1NEFBMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMTNcIiBzdG9wQ29sb3I9XCIjMjU0QUEyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMyXCIgc3RvcENvbG9yPVwiIzI1NEJBM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMjhcIiBzdG9wQ29sb3I9XCIjMjU0QkE0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMzNlwiIHN0b3BDb2xvcj1cIiMyNjRDQTVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzQ0XCIgc3RvcENvbG9yPVwiIzI2NERBNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTJcIiBzdG9wQ29sb3I9XCIjMjY0REE3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM1OVwiIHN0b3BDb2xvcj1cIiMyNjRFQThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzY3XCIgc3RvcENvbG9yPVwiIzI3NEZBOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNzVcIiBzdG9wQ29sb3I9XCIjMjc0RkFBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM4M1wiIHN0b3BDb2xvcj1cIiMyNzUwQUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzkxXCIgc3RvcENvbG9yPVwiIzI3NTFBQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zOThcIiBzdG9wQ29sb3I9XCIjMjg1MUFEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQwNlwiIHN0b3BDb2xvcj1cIiMyODUyQUVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDE0XCIgc3RvcENvbG9yPVwiIzI4NTNBRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MjJcIiBzdG9wQ29sb3I9XCIjMjk1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQzXCIgc3RvcENvbG9yPVwiIzI5NTRCMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MzhcIiBzdG9wQ29sb3I9XCIjMjk1NEIxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ0NVwiIHN0b3BDb2xvcj1cIiMyOTU1QjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDUzXCIgc3RvcENvbG9yPVwiIzJBNTZCM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjFcIiBzdG9wQ29sb3I9XCIjMkE1NkI0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ2OVwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDc3XCIgc3RvcENvbG9yPVwiIzJBNThCNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40ODRcIiBzdG9wQ29sb3I9XCIjMkI1OEI3XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ5MlwiIHN0b3BDb2xvcj1cIiMyQjU5QjhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNVwiIHN0b3BDb2xvcj1cIiMyQjVBQjlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTA4XCIgc3RvcENvbG9yPVwiIzJDNUFCQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MTZcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUyM1wiIHN0b3BDb2xvcj1cIiMyQzVDQkNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTMxXCIgc3RvcENvbG9yPVwiIzJDNUNCRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MzlcIiBzdG9wQ29sb3I9XCIjMkQ1REJFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU0N1wiIHN0b3BDb2xvcj1cIiMyRDVFQkZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTU1XCIgc3RvcENvbG9yPVwiIzJENUVDMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NjNcIiBzdG9wQ29sb3I9XCIjMkQ1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU3XCIgc3RvcENvbG9yPVwiIzJFNjBDMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NzhcIiBzdG9wQ29sb3I9XCIjMkU2MEMzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU4NlwiIHN0b3BDb2xvcj1cIiMyRTYxQzRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTk0XCIgc3RvcENvbG9yPVwiIzJFNjFDNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDJcIiBzdG9wQ29sb3I9XCIjMkY2MkM2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYwOVwiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjE3XCIgc3RvcENvbG9yPVwiIzJGNjNDOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MjVcIiBzdG9wQ29sb3I9XCIjMzA2NEM5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYzM1wiIHN0b3BDb2xvcj1cIiMzMDY1Q0FcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQxXCIgc3RvcENvbG9yPVwiIzMwNjVDQlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NDhcIiBzdG9wQ29sb3I9XCIjMzA2NkNCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY1NlwiIHN0b3BDb2xvcj1cIiMzMTY3Q0NcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjY0XCIgc3RvcENvbG9yPVwiIzMxNjdDRFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NzJcIiBzdG9wQ29sb3I9XCIjMzE2OENFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY4XCIgc3RvcENvbG9yPVwiIzMxNjlDRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42ODhcIiBzdG9wQ29sb3I9XCIjMzI2OUQwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY5NVwiIHN0b3BDb2xvcj1cIiMzMjZBRDFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzAxXCIgc3RvcENvbG9yPVwiIzMyNkJEMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MDNcIiBzdG9wQ29sb3I9XCIjMzI2QkQzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcxMVwiIHN0b3BDb2xvcj1cIiMzMjZCRDNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzE5XCIgc3RvcENvbG9yPVwiIzMzNkNENFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MjdcIiBzdG9wQ29sb3I9XCIjMzM2REQ1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjczNFwiIHN0b3BDb2xvcj1cIiMzMzZERDZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzQyXCIgc3RvcENvbG9yPVwiIzM0NkVEN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NVwiIHN0b3BDb2xvcj1cIiMzNDZGRDhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzU4XCIgc3RvcENvbG9yPVwiIzM0NkZEOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NjZcIiBzdG9wQ29sb3I9XCIjMzQ3MERBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc3M1wiIHN0b3BDb2xvcj1cIiMzNTcwREJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzgxXCIgc3RvcENvbG9yPVwiIzM1NzFEQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODlcIiBzdG9wQ29sb3I9XCIjMzU3MkREXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc5N1wiIHN0b3BDb2xvcj1cIiMzNTcyREVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODA1XCIgc3RvcENvbG9yPVwiIzM2NzNERlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MTNcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyXCIgc3RvcENvbG9yPVwiIzM2NzRFMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MjhcIiBzdG9wQ29sb3I9XCIjMzc3NUUyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgzNlwiIHN0b3BDb2xvcj1cIiMzNzc2RTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODQ0XCIgc3RvcENvbG9yPVwiIzM3NzZFNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTJcIiBzdG9wQ29sb3I9XCIjMzc3N0U1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg1OVwiIHN0b3BDb2xvcj1cIiMzODc4RTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODY3XCIgc3RvcENvbG9yPVwiIzM4NzhFN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NzVcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg4M1wiIHN0b3BDb2xvcj1cIiMzODdBRThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODkxXCIgc3RvcENvbG9yPVwiIzM5N0FFOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44OThcIiBzdG9wQ29sb3I9XCIjMzk3QkVBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkwNlwiIHN0b3BDb2xvcj1cIiMzOTdDRUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTE0XCIgc3RvcENvbG9yPVwiIzM5N0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MjJcIiBzdG9wQ29sb3I9XCIjM0E3REVEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkzXCIgc3RvcENvbG9yPVwiIzNBN0RFRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MzhcIiBzdG9wQ29sb3I9XCIjM0E3RUVGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk0NVwiIHN0b3BDb2xvcj1cIiMzQjdGRjBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTUzXCIgc3RvcENvbG9yPVwiIzNCN0ZGMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjFcIiBzdG9wQ29sb3I9XCIjM0I4MEYyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk2OVwiIHN0b3BDb2xvcj1cIiMzQjgxRjNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTc3XCIgc3RvcENvbG9yPVwiIzNDODFGNFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45ODRcIiBzdG9wQ29sb3I9XCIjM0M4MkY1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcENvbG9yPVwiIzNDODJGNVwiPjwvc3RvcD5cbiAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI3MTY5OWMwOTkyXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTAgNS40NzNoMTEuNzczdjE4LjE0NEgxMHptMCAwXCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjM5YzQ5NjUzNDRcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy4wNTUgMjMuNDY5Yy0uMzc1IDAtLjc3LS4wNzgtMS4xMy0uMjY2LTEuMzEyLS42MTctMS44NzgtMi4xOTUtMS4yNTctMy40OTJsNi4wMzEtMTIuNzE1Yy42MTctMS4zMTIgMi4xOTYtMS44NzkgMy40OTItMS4yNTggMS4zMTcuNjIxIDEuODggMi4yIDEuMjU4IDMuNDkybC02LjAyNyAxMi43MTVjLS40MzQuOTc3LTEuMzcxIDEuNTI0LTIuMzY3IDEuNTI0em0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGxpbmVhckdyYWRpZW50XG4gICAgICAgIGlkPVwiNWM0OTNlODQ1OVwiXG4gICAgICAgIHgxPVwiMTg4Ljk5NlwiXG4gICAgICAgIHgyPVwiMTMwLjc5M1wiXG4gICAgICAgIHkxPVwiLTAuMzIzXCJcbiAgICAgICAgeTI9XCIyMTQuNjkxXCJcbiAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoNC4zNTUgNS40NzkpIHNjYWxlKC4wOTE3NClcIlxuICAgICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcENvbG9yPVwiIzFFM0E4QVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMDhcIiBzdG9wQ29sb3I9XCIjMUUzQThBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAxNlwiIHN0b3BDb2xvcj1cIiMxRTNCOEJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDIzXCIgc3RvcENvbG9yPVwiIzFGM0I4Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wMzFcIiBzdG9wQ29sb3I9XCIjMUYzQzhEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjAzOVwiIHN0b3BDb2xvcj1cIiMxRjNDOEVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDQ3XCIgc3RvcENvbG9yPVwiIzFGM0Q4RlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wNTVcIiBzdG9wQ29sb3I9XCIjMjAzRTkwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA2M1wiIHN0b3BDb2xvcj1cIiMyMDNFOTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDdcIiBzdG9wQ29sb3I9XCIjMjAzRjkxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA3OFwiIHN0b3BDb2xvcj1cIiMyMDNGOTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMDg2XCIgc3RvcENvbG9yPVwiIzIxNDA5M1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4wOTRcIiBzdG9wQ29sb3I9XCIjMjE0MTk0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEwMlwiIHN0b3BDb2xvcj1cIiMyMTQxOTVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTA5XCIgc3RvcENvbG9yPVwiIzIxNDI5NlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xMTdcIiBzdG9wQ29sb3I9XCIjMjI0Mjk2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjEyNVwiIHN0b3BDb2xvcj1cIiMyMjQzOTdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTMzXCIgc3RvcENvbG9yPVwiIzIyNDM5OFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNDFcIiBzdG9wQ29sb3I9XCIjMjQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE0OFwiIHN0b3BDb2xvcj1cIiMyMzQ1OUFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTVcIiBzdG9wQ29sb3I9XCIjMjM0NTlCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE1NlwiIHN0b3BDb2xvcj1cIiMyMzQ1OUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMTY0XCIgc3RvcENvbG9yPVwiIzIzNDY5Q1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xNzJcIiBzdG9wQ29sb3I9XCIjMjM0NjlDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE4XCIgc3RvcENvbG9yPVwiIzIzNDc5RFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4xODhcIiBzdG9wQ29sb3I9XCIjMjQ0ODlFXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjE5NVwiIHN0b3BDb2xvcj1cIiMyNDQ4OUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjAzXCIgc3RvcENvbG9yPVwiIzI0NDlBMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMTFcIiBzdG9wQ29sb3I9XCIjMjQ0OUExXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjIxOVwiIHN0b3BDb2xvcj1cIiMyNTRBQTJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjI3XCIgc3RvcENvbG9yPVwiIzI1NEFBMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yMzRcIiBzdG9wQ29sb3I9XCIjMjU0QkEzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI0MlwiIHN0b3BDb2xvcj1cIiMyNTRDQTRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjVcIiBzdG9wQ29sb3I9XCIjMjY0Q0E1XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI1OFwiIHN0b3BDb2xvcj1cIiMyNjREQTZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjY2XCIgc3RvcENvbG9yPVwiIzI2NERBN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yNzNcIiBzdG9wQ29sb3I9XCIjMjY0RUE4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjI4MVwiIHN0b3BDb2xvcj1cIiMyNzRFQTlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjg5XCIgc3RvcENvbG9yPVwiIzI3NEZBOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4yOTdcIiBzdG9wQ29sb3I9XCIjMjc1MEFBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjMwNVwiIHN0b3BDb2xvcj1cIiMyNzUwQUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzEzXCIgc3RvcENvbG9yPVwiIzI4NTFBQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMlwiIHN0b3BDb2xvcj1cIiMyODUxQURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzI4XCIgc3RvcENvbG9yPVwiIzI4NTJBRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zMzZcIiBzdG9wQ29sb3I9XCIjMjg1M0FGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM0NFwiIHN0b3BDb2xvcj1cIiMyOTUzQUZcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzUyXCIgc3RvcENvbG9yPVwiIzI5NTRCMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zNTlcIiBzdG9wQ29sb3I9XCIjMjk1NEIxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM2N1wiIHN0b3BDb2xvcj1cIiMyOTU1QjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzc1XCIgc3RvcENvbG9yPVwiIzI5NTVCM1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC4zODNcIiBzdG9wQ29sb3I9XCIjMkE1NkI0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM5MVwiIHN0b3BDb2xvcj1cIiMyQTU3QjVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzk4XCIgc3RvcENvbG9yPVwiIzJBNTdCNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40MDZcIiBzdG9wQ29sb3I9XCIjMkE1OEI2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQxNFwiIHN0b3BDb2xvcj1cIiMyQjU4QjdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDIyXCIgc3RvcENvbG9yPVwiIzJCNTlCOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40M1wiIHN0b3BDb2xvcj1cIiMyQjU5QjlcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDM4XCIgc3RvcENvbG9yPVwiIzJCNUFCQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NDVcIiBzdG9wQ29sb3I9XCIjMkM1QkJCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ1M1wiIHN0b3BDb2xvcj1cIiMyQzVCQkJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDYxXCIgc3RvcENvbG9yPVwiIzJDNUNCQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40NjlcIiBzdG9wQ29sb3I9XCIjMkM1Q0JEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQ3N1wiIHN0b3BDb2xvcj1cIiMyRDVEQkVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNDg0XCIgc3RvcENvbG9yPVwiIzJENUVCRlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC40OTJcIiBzdG9wQ29sb3I9XCIjMkQ1RUMwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wQ29sb3I9XCIjMkQ1RkMxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUwOFwiIHN0b3BDb2xvcj1cIiMyRTVGQzFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTE2XCIgc3RvcENvbG9yPVwiIzJFNjBDMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41MjNcIiBzdG9wQ29sb3I9XCIjMkU2MEMzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjUzMVwiIHN0b3BDb2xvcj1cIiMyRTYxQzRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTM5XCIgc3RvcENvbG9yPVwiIzJGNjJDNVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41NDdcIiBzdG9wQ29sb3I9XCIjMkY2MkM2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU1NVwiIHN0b3BDb2xvcj1cIiMyRjYzQzdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTYzXCIgc3RvcENvbG9yPVwiIzJGNjNDN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41N1wiIHN0b3BDb2xvcj1cIiMyRjY0QzhcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNTc4XCIgc3RvcENvbG9yPVwiIzMwNjRDOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC41ODZcIiBzdG9wQ29sb3I9XCIjMzA2NUNBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjU5NFwiIHN0b3BDb2xvcj1cIiMzMDY2Q0JcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjAyXCIgc3RvcENvbG9yPVwiIzMwNjZDQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MDlcIiBzdG9wQ29sb3I9XCIjMzE2N0NEXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjYxN1wiIHN0b3BDb2xvcj1cIiMzMTY3Q0RcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjI1XCIgc3RvcENvbG9yPVwiIzMxNjhDRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42MzNcIiBzdG9wQ29sb3I9XCIjMzE2OUNGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY0MVwiIHN0b3BDb2xvcj1cIiMzMjY5RDBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjQ4XCIgc3RvcENvbG9yPVwiIzMyNkFEMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42NTZcIiBzdG9wQ29sb3I9XCIjMzI2QUQyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjY2NFwiIHN0b3BDb2xvcj1cIiMzMjZCRDNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjcyXCIgc3RvcENvbG9yPVwiIzMzNkJENFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OFwiIHN0b3BDb2xvcj1cIiMzMzZDRDRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNjg4XCIgc3RvcENvbG9yPVwiIzMzNkRENVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC42OTVcIiBzdG9wQ29sb3I9XCIjMzM2REQ2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcwM1wiIHN0b3BDb2xvcj1cIiMzNDZFRDdcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzExXCIgc3RvcENvbG9yPVwiIzM0NkVEOFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43MTlcIiBzdG9wQ29sb3I9XCIjMzQ2RkQ5XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjcyN1wiIHN0b3BDb2xvcj1cIiMzNDcwREFcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzM0XCIgc3RvcENvbG9yPVwiIzM0NzBEQVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NDJcIiBzdG9wQ29sb3I9XCIjMzU3MURCXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc1XCIgc3RvcENvbG9yPVwiIzM1NzFEQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43NThcIiBzdG9wQ29sb3I9XCIjMzU3MkREXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc2NlwiIHN0b3BDb2xvcj1cIiMzNTcyREVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzczXCIgc3RvcENvbG9yPVwiIzM2NzNERlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC43ODFcIiBzdG9wQ29sb3I9XCIjMzY3NEUwXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjc4OVwiIHN0b3BDb2xvcj1cIiMzNjc0RTBcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuNzk3XCIgc3RvcENvbG9yPVwiIzM2NzVFMVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44MDVcIiBzdG9wQ29sb3I9XCIjMzc3NUUyXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgxM1wiIHN0b3BDb2xvcj1cIiMzNzc2RTNcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODJcIiBzdG9wQ29sb3I9XCIjMzc3NkU0XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjgyOFwiIHN0b3BDb2xvcj1cIiMzNzc3RTVcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODM2XCIgc3RvcENvbG9yPVwiIzM4NzhFNlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NDRcIiBzdG9wQ29sb3I9XCIjMzg3OEU2XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg1XCIgc3RvcENvbG9yPVwiIzM4NzlFN1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NTJcIiBzdG9wQ29sb3I9XCIjMzg3OUU4XCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg1OVwiIHN0b3BDb2xvcj1cIiMzODc5RThcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODY3XCIgc3RvcENvbG9yPVwiIzM5N0FFOVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44NzVcIiBzdG9wQ29sb3I9XCIjMzk3QkVBXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjg4M1wiIHN0b3BDb2xvcj1cIiMzOTdCRUJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuODkxXCIgc3RvcENvbG9yPVwiIzM5N0NFQ1wiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC44OThcIiBzdG9wQ29sb3I9XCIjM0E3Q0VDXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkwNlwiIHN0b3BDb2xvcj1cIiMzQTdERURcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTE0XCIgc3RvcENvbG9yPVwiIzNBN0RFRVwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MjJcIiBzdG9wQ29sb3I9XCIjM0E3RUVGXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkzXCIgc3RvcENvbG9yPVwiIzNBN0ZGMFwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MzhcIiBzdG9wQ29sb3I9XCIjM0I3RkYxXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk0NVwiIHN0b3BDb2xvcj1cIiMzQjgwRjJcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjAuOTUzXCIgc3RvcENvbG9yPVwiIzNCODBGMlwiPjwvc3RvcD5cbiAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45NjFcIiBzdG9wQ29sb3I9XCIjM0I4MUYzXCI+PC9zdG9wPlxuICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjk2OVwiIHN0b3BDb2xvcj1cIiMzQzgxRjRcIj48L3N0b3A+XG4gICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wQ29sb3I9XCIjM0M4MkY1XCI+PC9zdG9wPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cIjhkMGM1M2JiMmNcIj5cbiAgICAgICAgPHBhdGggZD1cIk00LjM1NSA1LjQ3M0gxNnYxOC4xNDRINC4zNTV6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI4MDA3ZDZlZTBiXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuMDc0IDIzLjYyMWMtLjk4IDAtMS45NDEtLjU2Ni0yLjM5NC0xLjUxMkw0LjYyIDkuMzM2YTIuNjI4IDIuNjI4IDAgMDExLjI2Mi0zLjUwOEEyLjYzMiAyLjYzMiAwIDAxOS4zOTUgNy4wOWw2LjA1OCAxMi43NzNhMi42MzkgMi42MzkgMCAwMS0xLjI2NSAzLjUxMmMtLjM2LjE2OC0uNzM1LjI0Ni0xLjExNC4yNDZ6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8aW1hZ2VcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFVQ0FZQUFBQ0FsMjFLQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQWxVbEVRVlE0amEyVHdRcUVNQXdGUjEzdC83Ti9xdXpkaTRHYXRja0xLQlI4Z3ROTTJrekFGemlBdlZ1V2Y0alBERFJndTFaeitWTUJQUUg2WEs2b2NRZlkrMUlCUlhwTkJVVUF5M08xSXEvWGY1TXFHdjNjYnhCV2xSMi96NUthb2pkbGFxcmVzRmZxOGFkNnZ0a0s4TEdxVWJPejI1NVdwT3I5d2FKWkt3MXoxT3hNYi9PZ1YvVHMybGNCbGxjUFdrU2Q0VENmNDh3TkQycXZFbHdBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICA+PC9pbWFnZT5cbiAgICAgIDxtYXNrIGlkPVwiYzg4MmVhMzlhOFwiPlxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2JkZWYxNzBjMzkpXCI+XG4gICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBVUNBWUFBQUNBbDIxS0FBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFsVWxFUVZRNGphMlR3UXFFTUF3RlIxM3QvN04vcXV6ZGk0R2F0Y2tMS0JSOGd0Tk0ya3pBRnppQXZWdVdmNGpQRERSZ3UxWnorVk1CUFFINlhLNm9jUWZZKzFJQlJYcE5CVVVBeTNPMUlxL1hmNU1xR3YzY2J4QldsUjIvejVLYW9qZGxhcXJlc0ZmcThhZDZ2dGtLOExHcVViT3oyNTVXcE9yOXdhSlpLdzF6MU94TWIvT2dWL1RzMmxjQmxsY1BXa1NkNFRDZjQ4d05EMnF2RWx3QUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgICAgID48L2ltYWdlPlxuICAgICAgICA8L2c+XG4gICAgICA8L21hc2s+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCI5NzkxZDVhMDlkXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMCAwSDE4VjIwSDB6XCI+PC9wYXRoPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxwYXR0ZXJuXG4gICAgICAgIGlkPVwiZTZlN2VjMzkxZVwiXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBwYXR0ZXJuVHJhbnNmb3JtPVwibWF0cml4KC45Njc3NCAwIDAgLS45Njc3NCA0LjM1NSAyNC4xMTYpXCJcbiAgICAgICAgcGF0dGVyblVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTggMjBcIlxuICAgICAgPlxuICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjOTc5MWQ1YTA5ZClcIiBtYXNrPVwidXJsKCNjODgyZWEzOWE4KVwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBmaWxsPVwiIzNjODJmNVwiXG4gICAgICAgICAgICBkPVwiTS0yNC45NiAtMTIuOUgxMDguOTU5OTk5OTk5OTk5OThWMzEuNzQwMDAwMDAwMDAwMDAySC0yNC45NnpcIlxuICAgICAgICAgID48L3BhdGg+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvcGF0dGVybj5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImI2MDgwYTY0YTVcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMCA1LjQ3M2gxMS43NzN2MTguMTQ0SDEwem0wIDBcIj48L3BhdGg+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiMmVjM2VjYmQxNFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjA1NSAyMy42MjFjLS4zNzUgMC0uNzc0LS4wNzgtMS4xMzMtLjI2Ni0xLjMyLS42Mi0xLjg4Ny0yLjIwNy0xLjI2Mi0zLjUwN0wxNi43MiA3LjA3NGMuNjItMS4zMjQgMi4yMDctMS44OSAzLjUwOC0xLjI2NSAxLjMyLjYyIDEuODg2IDIuMjA3IDEuMjY1IDMuNTA3TDE1LjQzNCAyMi4wOWMtLjQzNC45OC0xLjM4IDEuNTMxLTIuMzggMS41MzF6bTAgMFwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8aW1hZ2VcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFVQ0FZQUFBQ0FsMjFLQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQWRrbEVRVlE0amIzUzBRckFJQWdGVUFmNy84L2RCclhhUzRFVEs2K09YWWhFNkJUU1JrU1Y1c2x0SmJHL2V2c0VrQWNocUtLQWhJb1g0TkFWQVRoMFJJQ3ZvYXhCRU5CckRya0FEcDBSUUw3b04yaDV5UW95ejIwRVFYOUlnMkNnMXhISS9MT1J1ZDBJcFBVS3RYaWdSRW9zRUsrSGVRRDJDVU5hdStBRDBRQUFBQUJKUlU1RXJrSmdnZz09XCJcbiAgICAgID48L2ltYWdlPlxuICAgICAgPG1hc2sgaWQ9XCJkN2RkYTFhMDYzXCI+XG4gICAgICAgIDxnIGZpbHRlcj1cInVybCgjYmRlZjE3MGMzOSlcIj5cbiAgICAgICAgICA8aW1hZ2VcbiAgICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFVQ0FZQUFBQ0FsMjFLQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQWRrbEVRVlE0amIzUzBRckFJQWdGVUFmNy84L2RCclhhUzRFVEs2K09YWWhFNkJUU1JrU1Y1c2x0SmJHL2V2c0VrQWNocUtLQWhJb1g0TkFWQVRoMFJJQ3ZvYXhCRU5CckRya0FEcDBSUUw3b04yaDV5UW95ejIwRVFYOUlnMkNnMXhISS9MT1J1ZDBJcFBVS3RYaWdSRW9zRUsrSGVRRDJDVU5hdStBRDBRQUFBQUJKUlU1RXJrSmdnZz09XCJcbiAgICAgICAgICA+PC9pbWFnZT5cbiAgICAgICAgPC9nPlxuICAgICAgPC9tYXNrPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiYzg3YzE4YjZjOFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTAgMEgxOFYyMEgwelwiPjwvcGF0aD5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8cGF0dGVyblxuICAgICAgICBpZD1cImY4YzQyZDk3NzRcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgcGF0dGVyblRyYW5zZm9ybT1cIm1hdHJpeCguOTY3NzQgMCAwIC0uOTY3NzQgNC4zNTUgMjQuMTE2KVwiXG4gICAgICAgIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDIwXCJcbiAgICAgID5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2M4N2MxOGI2YzgpXCIgbWFzaz1cInVybCgjZDdkZGExYTA2MylcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIiMzYzgyZjVcIlxuICAgICAgICAgICAgZD1cIk0tMjQuOTYgLTEyLjlIMTA4Ljk1OTk5OTk5OTk5OTk4VjMxLjc0MDAwMDAwMDAwMDAwMkgtMjQuOTZ6XCJcbiAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L3BhdHRlcm4+XG4gICAgPC9kZWZzPlxuICAgIDxnIGNsaXBQYXRoPVwidXJsKCNhZTg1ZjVhNDdkKVwiPlxuICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzk0Nzk0OTNhNDIpXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbD1cInVybCgjOTBhNTRmZWJlYylcIlxuICAgICAgICAgIGQ9XCJNNC4zNTUgNS40NzN2MTcuOTk2SDE2LjA2VjUuNDczem0wIDBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjNzE2OTljMDk5MilcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCMzOWM0OTY1MzQ0KVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoIzVjNDkzZTg0NTkpXCJcbiAgICAgICAgICBkPVwiTTEwLjA0NyA1LjQ3M3YxNy45OTZoMTEuNzI2VjUuNDczem0wIDBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk01Ljc2Ni4xNzJjLTEuMDI0IDAtMS45MTQtLjIxOS0yLjY3Mi0uNjU2YTQuNzgzIDQuNzgzIDAgMDEtMS43OTctMS44NmMtLjQzLS43ODktLjY0LTEuNzA3LS42NC0yLjc1IDAtMS4wMzEuMjEtMS45NDEuNjQtMi43MzRhNC44MzcgNC44MzcgMCAwMTEuNzk3LTEuODZjLjc1OC0uNDQ1IDEuNjQ4LS42NzEgMi42NzItLjY3MSAxIDAgMS44ODIuMjI2IDIuNjU2LjY3MS43Ny40NSAxLjM2NyAxLjA3IDEuNzk3IDEuODYuNDI2Ljc5My42NCAxLjcwMy42NCAyLjczNCAwIDEuMDQzLS4yMTQgMS45NjEtLjY0IDIuNzVhNC42NzcgNC42NzcgMCAwMS0xLjc5NyAxLjg2Yy0uNzc0LjQzNy0xLjY1Ni42NTYtMi42NTYuNjU2em0wLTEuNjcyYy45NjggMCAxLjczOC0uMzE2IDIuMzEyLS45NTMuNTgyLS42NDUuODc1LTEuNTI0Ljg3NS0yLjY0IDAtMS4xMTQtLjI5My0xLjk4OS0uODc1LTIuNjI2LS41NzQtLjY0NC0xLjM0NC0uOTY4LTIuMzEyLS45NjgtLjk3IDAtMS43NDYuMzI0LTIuMzI5Ljk2OC0uNTg1LjYzNy0uODc0IDEuNTEyLS44NzQgMi42MjUgMCAxLjExNy4yODkgMS45OTYuODc0IDIuNjQuNTgzLjYzOCAxLjM2Ljk1NCAyLjMyOS45NTR6bTAgMFwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjQuNjM2IDE5LjE2KVwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cIiMxZTNhOGFcIlxuICAgICAgZD1cIk0zLjY1Ni4xNzJjLS45MDYgMC0xLjYwNS0uMjgxLTIuMDk0LS44NDRDMS4wNy0xLjIzNC44MjktMi4wNTUuODI5LTMuMTR2LTQuMDc4aDEuODQ0djMuOTA3YzAgLjYxNy4xMjUgMS4wOS4zNzUgMS40MjEuMjU4LjMzNi42Ni41IDEuMjAzLjUuNTA4IDAgLjkzLS4xOCAxLjI2Ni0uNTQ2LjMzMi0uMzc1LjUtLjg5MS41LTEuNTQ3Vi03LjIySDcuODlWMEg2LjIzNGwtLjE0LTEuMjE5YTIuNDUgMi40NSAwIDAxLS45NjkgMS4wMTZjLS40MTguMjUtLjkwNi4zNzUtMS40NjkuMzc1em0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDM1LjExNCAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNLjk1MyAwdi03LjIxOUgyLjYxbC4xNzIgMS4zNmEyLjkyOSAyLjkyOSAwIDAxMS4wNjMtMS4xMWMuNDU3LS4yODEuOTg4LS40MjIgMS41OTQtLjQyMnYxLjk3aC0uNTE2YTMgMyAwIDAwLTEuMDk0LjE4NyAxLjQzIDEuNDMgMCAwMC0uNzUuNjU2Yy0uMTguMzEyLS4yNjUuNzQ2LS4yNjUgMS4yOTdWMHptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0Mi45MzIgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTMuOTM4IDBMLjIxNy0xMC4xODhoMmwyLjg3NiA4LjI4MiAyLjg5LTguMjgxaDEuOTdMNi4yMTggMHptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0Ny42NyAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNNC40NTMuMTcyYy0uNzMgMC0xLjM3NS0uMTUyLTEuOTM3LS40NTNhMy40MDQgMy40MDQgMCAwMS0xLjMyOS0xLjMxM0MuODc1LTIuMTU2LjcyLTIuODA0LjcyLTMuNTQ3YzAtLjc1LjE1Ni0xLjQxNC40NjktMmEzLjM5NyAzLjM5NyAwIDAxMS4yOTYtMS4zNmMuNTYzLS4zMiAxLjIyMy0uNDg0IDEuOTg1LS40ODQuNzA3IDAgMS4zMzIuMTU3IDEuODc1LjQ3LjUzOS4zMTIuOTYuNzQxIDEuMjY1IDEuMjguMzEzLjUzMi40NyAxLjEyNS40NyAxLjc4MiAwIC4xMTctLjAwOS4yMy0uMDE3LjM0MyAwIC4xMTgtLjAwNy4yMzUtLjAxNS4zNkgyLjU2MmMuMDQuNTYyLjIzOSAxLjAwOC41OTQgMS4zMjguMzUyLjMxMi43ODEuNDY5IDEuMjgxLjQ2OS4zNzUgMCAuNjkyLS4wODIuOTU0LS4yNS4yNTctLjE2NC40NTMtLjM4My41NzgtLjY1N2gxLjg5QTMuNDQ3IDMuNDQ3IDAgMDE2LjAxNS0uMTRhMy43NyAzLjc3IDAgMDEtMS41NjIuMzEzem0uMDE2LTYuMDQ3Yy0uNDYxIDAtLjg2Ny4xMzMtMS4yMTkuMzktLjM0NC4yNS0uNTYzLjYzNy0uNjU2IDEuMTU3aDMuNTk0Yy0uMDMyLS40NjktLjIxMS0uODQ0LS41MzItMS4xMjUtLjMyNC0uMjgxLS43MTgtLjQyMi0xLjE4Ny0uNDIyem0wIDBcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2LjgxMSAxOS4xNilcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGZpbGw9XCIjMWUzYThhXCJcbiAgICAgIGQ9XCJNLjk1MyAwdi03LjIxOUgyLjYxbC4xNzIgMS4zNmEyLjkyOSAyLjkyOSAwIDAxMS4wNjMtMS4xMWMuNDU3LS4yODEuOTg4LS40MjIgMS41OTQtLjQyMnYxLjk3aC0uNTE2YTMgMyAwIDAwLTEuMDk0LjE4NyAxLjQzIDEuNDMgMCAwMC0uNzUuNjU2Yy0uMTguMzEyLS4yNjUuNzQ2LS4yNjUgMS4yOTdWMHptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2NC40ODQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTMuOTIyLjE3MmMtLjYzNyAwLTEuMi0uMTA2LTEuNjg4LS4zMTMtLjQ4LS4yMDctLjg2Ny0uNDkyLTEuMTU2LS44NTlhMi41OCAyLjU4IDAgMDEtLjUzMS0xLjI4MWgxLjg3NWMuMDYyLjI4MS4yMTkuNTIzLjQ2OS43MTkuMjU3LjE5OS41OTcuMjk2IDEuMDE1LjI5Ni40MDYgMCAuNzAzLS4wODIuODktLjI1LjE4OC0uMTY0LjI4Mi0uMzUxLjI4Mi0uNTYyIDAtLjMxMy0uMTM3LS41Mi0uNDA2LS42MjVhNy45OTQgNy45OTQgMCAwMC0xLjE0LS4zNDQgMTEuMjggMTEuMjggMCAwMS0uOTU0LS4yMzQgNS4wNDQgNS4wNDQgMCAwMS0uODc1LS4zNzUgMi4wODEgMi4wODEgMCAwMS0uNjQtLjU3OGMtLjE2OC0uMjM5LS4yNS0uNTM2LS4yNS0uODkxIDAtLjYzMy4yNTMtMS4xNzIuNzY1LTEuNjEuNTA4LS40MzcgMS4yMjMtLjY1NiAyLjE0LS42NTYuODUyIDAgMS41MzYuMiAyLjA0OC41OTQuNTA3LjM5OS44MTIuOTQ1LjkwNiAxLjY0aC0xLjc1Yy0uMTE3LS41My0uNTI0LS43OTYtMS4yMTktLjc5Ni0uMzQ0IDAtLjYxLjA3LS43OTcuMjAzLS4xODcuMTM3LS4yODEuMzA5LS4yODEuNTE2IDAgLjIxLjE0LjM4Mi40MjIuNTE1LjI4MS4xMjUuNjQ4LjI0MiAxLjExLjM0NC41MDcuMTE3Ljk3Mi4yNDYgMS4zOS4zOS40MjYuMTM3Ljc2Ni4zNDQgMS4wMTYuNjI2LjI1LjI3My4zNzUuNjY0LjM3NSAxLjE3MS4wMDcuNDUtLjExLjg1Ni0uMzYgMS4yMi0uMjQyLjM1NS0uNTkuNjM2LTEuMDQ3Ljg0My0uNDQ5LjE5NS0uOTg0LjI5Ny0xLjYxLjI5N3ptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2OS4yMjIgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiIzFlM2E4YVwiXG4gICAgICBkPVwiTTQuNDUzLjE3MmMtLjczIDAtMS4zNzUtLjE1Mi0xLjkzNy0uNDUzYTMuNDA0IDMuNDA0IDAgMDEtMS4zMjktMS4zMTNDLjg3NS0yLjE1Ni43Mi0yLjgwNC43Mi0zLjU0N2MwLS43NS4xNTYtMS40MTQuNDY5LTJhMy4zOTcgMy4zOTcgMCAwMTEuMjk2LTEuMzZjLjU2My0uMzIgMS4yMjMtLjQ4NCAxLjk4NS0uNDg0LjcwNyAwIDEuMzMyLjE1NyAxLjg3NS40Ny41MzkuMzEyLjk2Ljc0MSAxLjI2NSAxLjI4LjMxMy41MzIuNDcgMS4xMjUuNDcgMS43ODIgMCAuMTE3LS4wMDkuMjMtLjAxNy4zNDMgMCAuMTE4LS4wMDcuMjM1LS4wMTUuMzZIMi41NjJjLjA0LjU2Mi4yMzkgMS4wMDguNTk0IDEuMzI4LjM1Mi4zMTIuNzgxLjQ2OSAxLjI4MS40NjkuMzc1IDAgLjY5Mi0uMDgyLjk1NC0uMjUuMjU3LS4xNjQuNDUzLS4zODMuNTc4LS42NTdoMS44OUEzLjQ0NyAzLjQ0NyAwIDAxNi4wMTUtLjE0YTMuNzcgMy43NyAwIDAxLTEuNTYyLjMxM3ptLjAxNi02LjA0N2MtLjQ2MSAwLS44NjcuMTMzLTEuMjE5LjM5LS4zNDQuMjUtLjU2My42MzctLjY1NiAxLjE1N2gzLjU5NGMtLjAzMi0uNDY5LS4yMTEtLjg0NC0uNTMyLTEuMTI1LS4zMjQtLjI4MS0uNzE4LS40MjItMS4xODctLjQyMnptMCAwXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3NS44MzQgMTkuMTYpXCJcbiAgICA+PC9wYXRoPlxuICAgIDxnIGNsaXBQYXRoPVwidXJsKCM4ZDBjNTNiYjJjKVwiPlxuICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzgwMDdkNmVlMGIpXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbD1cInVybCgjZTZlN2VjMzkxZSlcIlxuICAgICAgICAgIGQ9XCJNNC4zNTUgNS40NzNoMTEuNzJ2MTguMTQ0SDQuMzU0em0wIDBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgICA8ZyBjbGlwUGF0aD1cInVybCgjYjYwODBhNjRhNSlcIj5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCMyZWMzZWNiZDE0KVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCJ1cmwoI2Y4YzQyZDk3NzQpXCJcbiAgICAgICAgICBkPVwiTTEwLjAzNSA1LjQ3M2gxMS43Mzh2MTguMTQ0SDEwLjAzNXptMCAwXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuICApXG59XG4iXSwibmFtZXMiOlsiTG9nbyIsInByb3BzIiwic3ZnIiwieG1sbnMiLCJ4bWxuc1hsaW5rIiwid2lkdGgiLCJoZWlnaHQiLCJ2ZXJzaW9uIiwidmlld0JveCIsImRlZnMiLCJmaWx0ZXIiLCJpZCIsIngiLCJ5IiwiZmVDb2xvck1hdHJpeCIsImNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnMiLCJ2YWx1ZXMiLCJjbGlwUGF0aCIsInBhdGgiLCJkIiwibGluZWFyR3JhZGllbnQiLCJ4MSIsIngyIiwieTEiLCJ5MiIsImdyYWRpZW50VHJhbnNmb3JtIiwiZ3JhZGllbnRVbml0cyIsInN0b3AiLCJvZmZzZXQiLCJzdG9wQ29sb3IiLCJpbWFnZSIsInByZXNlcnZlQXNwZWN0UmF0aW8iLCJ4bGlua0hyZWYiLCJtYXNrIiwiZyIsInBhdHRlcm4iLCJwYXR0ZXJuVHJhbnNmb3JtIiwicGF0dGVyblVuaXRzIiwiZmlsbCIsInRyYW5zZm9ybSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Logo.jsx\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar assign = Object.assign;\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\nvar didWarnAboutKeySpread = {};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV$1(type, config, maybeKey, isStaticChildren, source, self) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n var children = config.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n } // Warn about key spread regardless of whether the type is valid.\n\n\n if (hasOwnProperty.call(config, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref')) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n var element = ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar jsxDEV = jsxDEV$1 ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxzR0FBMEI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBLHFFQUFxRTs7QUFFckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0dBQWtHOztBQUVsRztBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLGVBQWU7QUFDMUIsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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QUFXLGNBQWM7QUFDekI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixpQkFBaUI7QUFDckM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz82ZDBkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdFwiKTtcblxuLy8gQVRURU5USU9OXG4vLyBXaGVuIGFkZGluZyBuZXcgc3ltYm9scyB0byB0aGlzIGZpbGUsXG4vLyBQbGVhc2UgY29uc2lkZXIgYWxzbyBhZGRpbmcgdG8gJ3JlYWN0LWRldnRvb2xzLXNoYXJlZC9zcmMvYmFja2VuZC9SZWFjdFN5bWJvbHMnXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy5cbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50Jyk7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKTtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKTtcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTsgLy8gVE9ETzogRGVsZXRlIHdpdGggZW5hYmxlUmVuZGVyYWJsZUNvbnRleHRcblxudmFyIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb25zdW1lcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0NBQ0hFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jYWNoZScpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG52YXIgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgPSBmYWxzZTtcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59XG5cbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIgPSBTeW1ib2wuZm9yKCdyZWFjdC5jbGllbnQucmVmZXJlbmNlJyk7IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMikge1xuICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgY29udmVudGlvbiBmb3IgbmFtaW5nIGNsaWVudCByZWZlcmVuY2VzIHdpdGggZGVidWcgaW5mby5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICAgIGNhc2UgUkVBQ1RfQ0FDSEVfVFlQRTpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuICdDYWNoZSc7XG4gICAgICB9XG5cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcblxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICB2YXIgb3V0ZXJOYW1lID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChvdXRlck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gb3V0ZXJOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdNZW1vJztcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGluaXQocGF5bG9hZCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuXG5cbmZ1bmN0aW9uIHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSB7XG4gIHtcbiAgICB0cnkge1xuICAgICAgdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIC8vIElmIHlvdSBlbmRlZCB1cCBoZXJlIGJ5IGZvbGxvd2luZyBhbiBleGNlcHRpb24gY2FsbCBzdGFjaywgaGVyZSdzIHdoYXQnc1xuICAvLyBoYXBwZW5lZDogeW91IHN1cHBsaWVkIGFuIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gUmVhY3QgKGFzIGEgcHJvcCwga2V5LFxuICAvLyBET00gYXR0cmlidXRlLCBDU1MgcHJvcGVydHksIHN0cmluZyByZWYsIGV0Yy4pIGFuZCB3aGVuIFJlYWN0IHRyaWVkIHRvXG4gIC8vIGNvZXJjZSBpdCB0byBhIHN0cmluZyB1c2luZyBgJycgKyB2YWx1ZWAsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duLlxuICAvL1xuICAvLyBUaGUgbW9zdCBjb21tb24gdHlwZXMgdGhhdCB3aWxsIGNhdXNlIHRoaXMgZXhjZXB0aW9uIGFyZSBgU3ltYm9sYCBpbnN0YW5jZXNcbiAgLy8gYW5kIFRlbXBvcmFsIG9iamVjdHMgbGlrZSBgVGVtcG9yYWwuSW5zdGFudGAuIEJ1dCBhbnkgb2JqZWN0IHRoYXQgaGFzIGFcbiAgLy8gYHZhbHVlT2ZgIG9yIGBbU3ltYm9sLnRvUHJpbWl0aXZlXWAgbWV0aG9kIHRoYXQgdGhyb3dzIHdpbGwgYWxzbyBjYXVzZSB0aGlzXG4gIC8vIGV4Y2VwdGlvbi4gKExpYnJhcnkgYXV0aG9ycyBkbyB0aGlzIHRvIHByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyBidWlsdC1pblxuICAvLyBudW1lcmljIG9wZXJhdG9ycyBsaWtlIGArYCBvciBjb21wYXJpc29uIG9wZXJhdG9ycyBsaWtlIGA+PWAgYmVjYXVzZSBjdXN0b21cbiAgLy8gbWV0aG9kcyBhcmUgbmVlZGVkIHRvIHBlcmZvcm0gYWNjdXJhdGUgYXJpdGhtZXRpYyBvciBjb21wYXJpc29uLilcbiAgLy9cbiAgLy8gVG8gZml4IHRoZSBwcm9ibGVtLCBjb2VyY2UgdGhpcyBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nIGJlZm9yZVxuICAvLyBwYXNzaW5nIGl0IHRvIFJlYWN0LiBUaGUgbW9zdCByZWxpYWJsZSB3YXkgaXMgdXN1YWxseSBgU3RyaW5nKHZhbHVlKWAuXG4gIC8vXG4gIC8vIFRvIGZpbmQgd2hpY2ggdmFsdWUgaXMgdGhyb3dpbmcsIGNoZWNrIHRoZSBicm93c2VyIG9yIGRlYnVnZ2VyIGNvbnNvbGUuXG4gIC8vIEJlZm9yZSB0aGlzIGV4Y2VwdGlvbiB3YXMgdGhyb3duLCB0aGVyZSBzaG91bGQgYmUgYGNvbnNvbGUuZXJyb3JgIG91dHB1dFxuICAvLyB0aGF0IHNob3dzIHRoZSB0eXBlIChTeW1ib2wsIFRlbXBvcmFsLlBsYWluRGF0ZSwgZXRjLikgdGhhdCBjYXVzZWQgdGhlXG4gIC8vIHByb2JsZW0gYW5kIGhvdyB0aGF0IHR5cGUgd2FzIHVzZWQ6IGtleSwgYXRycmlidXRlLCBpbnB1dCB2YWx1ZSBwcm9wLCBldGMuXG4gIC8vIEluIG1vc3QgY2FzZXMsIHRoaXMgY29uc29sZSBvdXRwdXQgYWxzbyBzaG93cyB0aGUgY29tcG9uZW50IGFuZCBpdHNcbiAgLy8gYW5jZXN0b3IgY29tcG9uZW50cyB3aGVyZSB0aGUgZXhjZXB0aW9uIGhhcHBlbmVkLlxuICAvL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBjaGVja0tleVN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQxID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vLyBIZWxwZXJzIHRvIHBhdGNoIGNvbnNvbGUubG9ncyB0byBhdm9pZCBsb2dnaW5nIGR1cmluZyBzaWRlLWVmZmVjdCBmcmVlXG4vLyByZXBsYXlpbmcgb24gcmVuZGVyIGZ1bmN0aW9uLiBUaGlzIGN1cnJlbnRseSBvbmx5IHBhdGNoZXMgdGhlIG9iamVjdFxuLy8gbGF6aWx5IHdoaWNoIHdvbid0IGNvdmVyIGlmIHRoZSBsb2cgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBlYWdlcmx5LlxuLy8gV2UgY291bGQgYWxzbyBlYWdlcmx5IHBhdGNoIHRoZSBtZXRob2QuXG52YXIgZGlzYWJsZWREZXB0aCA9IDA7XG52YXIgcHJldkxvZztcbnZhciBwcmV2SW5mbztcbnZhciBwcmV2V2FybjtcbnZhciBwcmV2RXJyb3I7XG52YXIgcHJldkdyb3VwO1xudmFyIHByZXZHcm91cENvbGxhcHNlZDtcbnZhciBwcmV2R3JvdXBFbmQ7XG5cbmZ1bmN0aW9uIGRpc2FibGVkTG9nKCkge31cblxuZGlzYWJsZWRMb2cuX19yZWFjdERpc2FibGVkTG9nID0gdHJ1ZTtcbmZ1bmN0aW9uIGRpc2FibGVMb2dzKCkge1xuICB7XG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgcHJldkxvZyA9IGNvbnNvbGUubG9nO1xuICAgICAgcHJldkluZm8gPSBjb25zb2xlLmluZm87XG4gICAgICBwcmV2V2FybiA9IGNvbnNvbGUud2FybjtcbiAgICAgIHByZXZFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICBwcmV2R3JvdXAgPSBjb25zb2xlLmdyb3VwO1xuICAgICAgcHJldkdyb3VwQ29sbGFwc2VkID0gY29uc29sZS5ncm91cENvbGxhcHNlZDtcbiAgICAgIHByZXZHcm91cEVuZCA9IGNvbnNvbGUuZ3JvdXBFbmQ7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTkwOTlcblxuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBkaXNhYmxlZExvZyxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cbi8qKlxuICogTGV2ZXJhZ2VzIG5hdGl2ZSBicm93c2VyL1ZNIHN0YWNrIGZyYW1lcyB0byBnZXQgcHJvcGVyIGRldGFpbHMgKGUuZy5cbiAqIGZpbGVuYW1lLCBsaW5lICsgY29sIG51bWJlcikgZm9yIGEgc2luZ2xlIGNvbXBvbmVudCBpbiBhIGNvbXBvbmVudCBzdGFjay4gV2VcbiAqIGRvIHRoaXMgYnk6XG4gKiAgICgxKSB0aHJvd2luZyBhbmQgY2F0Y2hpbmcgYW4gZXJyb3IgaW4gdGhlIGZ1bmN0aW9uIC0gdGhpcyB3aWxsIGJlIG91clxuICogICAgICAgY29udHJvbCBlcnJvci5cbiAqICAgKDIpIGNhbGxpbmcgdGhlIGNvbXBvbmVudCB3aGljaCB3aWxsIGV2ZW50dWFsbHkgdGhyb3cgYW4gZXJyb3IgdGhhdCB3ZSdsbFxuICogICAgICAgY2F0Y2ggLSB0aGlzIHdpbGwgYmUgb3VyIHNhbXBsZSBlcnJvci5cbiAqICAgKDMpIGRpZmZpbmcgdGhlIGNvbnRyb2wgYW5kIHNhbXBsZSBlcnJvciBzdGFja3MgdG8gZmluZCB0aGUgc3RhY2sgZnJhbWVcbiAqICAgICAgIHdoaWNoIHJlcHJlc2VudHMgb3VyIGNvbXBvbmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cbiAgLyoqXG4gICAqIEZpbmRpbmcgYSBjb21tb24gc3RhY2sgZnJhbWUgYmV0d2VlbiBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGNhbiBiZVxuICAgKiB0cmlja3kgZ2l2ZW4gdGhlIGRpZmZlcmVudCB0eXBlcyBhbmQgbGV2ZWxzIG9mIHN0YWNrIHRyYWNlIHRydW5jYXRpb24gZnJvbVxuICAgKiBkaWZmZXJlbnQgSlMgVk1zLiBTbyBpbnN0ZWFkIHdlJ2xsIGF0dGVtcHQgdG8gY29udHJvbCB3aGF0IHRoYXQgY29tbW9uXG4gICAqIGZyYW1lIHNob3VsZCBiZSB0aHJvdWdoIHRoaXMgb2JqZWN0IG1ldGhvZDpcbiAgICogSGF2aW5nIGJvdGggdGhlIHNhbXBsZSBhbmQgY29udHJvbCBlcnJvcnMgYmUgaW4gdGhlIGZ1bmN0aW9uIHVuZGVyIHRoZVxuICAgKiBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIHByb3BlcnR5LCArIHNldHRpbmcgdGhlIGBuYW1lYCBhbmRcbiAgICogYGRpc3BsYXlOYW1lYCBwcm9wZXJ0aWVzIG9mIHRoZSBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYSBzdGFja1xuICAgKiBmcmFtZSBleGlzdHMgdGhhdCBoYXMgdGhlIG1ldGhvZCBuYW1lIGBEZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lUm9vdGAgaW5cbiAgICogaXQgZm9yIGJvdGggY29udHJvbCBhbmQgc2FtcGxlIHN0YWNrcy5cbiAgICovXG5cblxuICB2YXIgUnVuSW5Sb290RnJhbWUgPSB7XG4gICAgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290OiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgY29udHJvbDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgICAgICAvLyBTb21ldGhpbmcgc2hvdWxkIGJlIHNldHRpbmcgdGhlIHByb3BzIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGYWtlLnByb3RvdHlwZSwgJ3Byb3BzJywge1xuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHdvbid0IHRocm93IGluIGEgbm9uLXN0cmljdCBtb2RlIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAgICAgLy8gZnJhbWVzIGFkZGVkIGJ5IHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KGZuLCBbXSwgRmFrZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIEZha2UuY2FsbCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICAgICAgICBmbi5jYWxsKEZha2UucHJvdG90eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgfSAvLyBUT0RPKGx1bmEpOiBUaGlzIHdpbGwgY3VycmVudGx5IG9ubHkgdGhyb3cgaWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgICAgICAgIC8vIHRyaWVzIHRvIGFjY2VzcyBSZWFjdC9SZWFjdERPTS9wcm9wcy4gV2Ugc2hvdWxkIHByb2JhYmx5IG1ha2UgdGhpcyB0aHJvd1xuICAgICAgICAgIC8vIGluIHNpbXBsZSBjb21wb25lbnRzIHRvb1xuXG5cbiAgICAgICAgICB2YXIgbWF5YmVQcm9taXNlID0gZm4oKTsgLy8gSWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudCByZXR1cm5zIGEgcHJvbWlzZSwgaXQncyBsaWtlbHkgYW4gYXN5bmNcbiAgICAgICAgICAvLyBjb21wb25lbnQsIHdoaWNoIHdlIGRvbid0IHlldCBzdXBwb3J0LiBBdHRhY2ggYSBub29wIGNhdGNoIGhhbmRsZXIgdG9cbiAgICAgICAgICAvLyBzaWxlbmNlIHRoZSBlcnJvci5cbiAgICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgY29tcG9uZW50IHN0YWNrcyBmb3IgYXN5bmMgY2xpZW50IGNvbXBvbmVudHM/XG5cbiAgICAgICAgICBpZiAobWF5YmVQcm9taXNlICYmIHR5cGVvZiBtYXliZVByb21pc2UuY2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1heWJlUHJvbWlzZS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChzYW1wbGUpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICAgICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIFtzYW1wbGUuc3RhY2ssIGNvbnRyb2wuc3RhY2tdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuICB9OyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuICBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWUgPSAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JztcbiAgdmFyIG5hbWVQcm9wRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCAnbmFtZScpOyAvLyBCZWZvcmUgRVM2LCB0aGUgYG5hbWVgIHByb3BlcnR5IHdhcyBub3QgY29uZmlndXJhYmxlLlxuXG4gIGlmIChuYW1lUHJvcERlc2NyaXB0b3IgJiYgbmFtZVByb3BEZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIC8vIFY4IHV0aWxpemVzIGEgZnVuY3Rpb24ncyBgbmFtZWAgcHJvcGVydHkgd2hlbiBnZW5lcmF0aW5nIGEgc3RhY2sgdHJhY2UuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgLy8gQ29uZmlndXJhYmxlIHByb3BlcnRpZXMgY2FuIGJlIHVwZGF0ZWQgZXZlbiBpZiBpdHMgd3JpdGFibGUgZGVzY3JpcHRvclxuICAgIC8vIGlzIHNldCB0byBgZmFsc2VgLlxuICAgIC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXVxuICAgICduYW1lJywge1xuICAgICAgdmFsdWU6ICdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnXG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIHZhciBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPSBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxcbiAgICAgICAgc2FtcGxlU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMF0sXG4gICAgICAgIGNvbnRyb2xTdGFjayA9IF9SdW5JblJvb3RGcmFtZSREZXRlclsxXTtcblxuICAgIGlmIChzYW1wbGVTdGFjayAmJiBjb250cm9sU3RhY2spIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZVN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBjb250cm9sTGluZXMgPSBjb250cm9sU3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgdmFyIGMgPSAwO1xuXG4gICAgICB3aGlsZSAocyA8IHNhbXBsZUxpbmVzLmxlbmd0aCAmJiAhc2FtcGxlTGluZXNbc10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIHMrKztcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKGMgPCBjb250cm9sTGluZXMubGVuZ3RoICYmICFjb250cm9sTGluZXNbY10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIGMrKztcbiAgICAgIH0gLy8gV2UgY291bGRuJ3QgZmluZCBvdXIgaW50ZW50aW9uYWxseSBpbmplY3RlZCBjb21tb24gcm9vdCBmcmFtZSwgYXR0ZW1wdFxuICAgICAgLy8gdG8gZmluZCBhbm90aGVyIGNvbW1vbiByb290IGZyYW1lIGJ5IHNlYXJjaCBmcm9tIHRoZSBib3R0b20gb2YgdGhlXG4gICAgICAvLyBjb250cm9sIHN0YWNrLi4uXG5cblxuICAgICAgaWYgKHMgPT09IHNhbXBsZUxpbmVzLmxlbmd0aCB8fCBjID09PSBjb250cm9sTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgICBjID0gY29udHJvbExpbmVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAgIC8vIFR5cGljYWxseSB0aGlzIHdpbGwgYmUgdGhlIHJvb3QgbW9zdCBvbmUuIEhvd2V2ZXIsIHN0YWNrIGZyYW1lcyBtYXkgYmVcbiAgICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYW5kIHRoZXJlIGZvciBjdXQgb2ZmIGVhcmxpZXIuIFNvIHdlIHNob3VsZCBmaW5kIHRoZSByb290IG1vc3QgZnJhbWUgaW5cbiAgICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgICBjLS07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICg7IHMgPj0gMSAmJiBjID49IDA7IHMtLSwgYy0tKSB7XG4gICAgICAgIC8vIE5leHQgd2UgZmluZCB0aGUgZmlyc3Qgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgd2hpY2ggc2hvdWxkIGJlIHRoZVxuICAgICAgICAvLyBmcmFtZSB0aGF0IGNhbGxlZCBvdXIgc2FtcGxlIGZ1bmN0aW9uIGFuZCB0aGUgY29udHJvbC5cbiAgICAgICAgaWYgKHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBJbiBWOCwgdGhlIGZpcnN0IGxpbmUgaXMgZGVzY3JpYmluZyB0aGUgbWVzc2FnZSBidXQgb3RoZXIgVk1zIGRvbid0LlxuICAgICAgICAgIC8vIElmIHdlJ3JlIGFib3V0IHRvIHJldHVybiB0aGUgZmlyc3QgbGluZSwgYW5kIHRoZSBjb250cm9sIGlzIGFsc28gb24gdGhlIHNhbWVcbiAgICAgICAgICAvLyBsaW5lLCB0aGF0J3MgYSBwcmV0dHkgZ29vZCBpbmRpY2F0b3IgdGhhdCBvdXIgc2FtcGxlIHRocmV3IGF0IHNhbWUgbGluZSBhc1xuICAgICAgICAgIC8vIHRoZSBjb250cm9sLiBJLmUuIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSBzYW1wbGUgZnJhbWUuIFNvIHdlIGlnbm9yZSB0aGlzIHJlc3VsdC5cbiAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgeW91IHBhc3NlZCBhIGNsYXNzIHRvIGZ1bmN0aW9uIGNvbXBvbmVudCwgb3Igbm9uLWZ1bmN0aW9uLlxuICAgICAgICAgIGlmIChzICE9PSAxIHx8IGMgIT09IDEpIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgcy0tO1xuICAgICAgICAgICAgICBjLS07IC8vIFdlIG1heSBzdGlsbCBoYXZlIHNpbWlsYXIgaW50ZXJtZWRpYXRlIGZyYW1lcyBmcm9tIHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgICAgLy8gVGhlIG5leHQgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgc2hvdWxkIGJlIG91ciBtYXRjaCB0aG91Z2guXG5cbiAgICAgICAgICAgICAgaWYgKGMgPCAwIHx8IHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAgICAgICAvLyBWOCBhZGRzIGEgXCJuZXdcIiBwcmVmaXggZm9yIG5hdGl2ZSBjbGFzc2VzLiBMZXQncyByZW1vdmUgaXQgdG8gbWFrZSBpdCBwcmV0dGllci5cbiAgICAgICAgICAgICAgICB2YXIgX2ZyYW1lID0gJ1xcbicgKyBzYW1wbGVMaW5lc1tzXS5yZXBsYWNlKCcgYXQgbmV3ICcsICcgYXQgJyk7IC8vIElmIG91ciBjb21wb25lbnQgZnJhbWUgaXMgbGFiZWxlZCBcIjxhbm9ueW1vdXM+XCJcbiAgICAgICAgICAgICAgICAvLyBidXQgd2UgaGF2ZSBhIHVzZXItcHJvdmlkZWQgXCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgICAgLy8gc3BsaWNlIGl0IGluIHRvIG1ha2UgdGhlIHN0YWNrIG1vcmUgcmVhZGFibGUuXG5cblxuICAgICAgICAgICAgICAgIGlmIChmbi5kaXNwbGF5TmFtZSAmJiBfZnJhbWUuaW5jbHVkZXMoJzxhbm9ueW1vdXM+JykpIHtcbiAgICAgICAgICAgICAgICAgIF9mcmFtZSA9IF9mcmFtZS5yZXBsYWNlKCc8YW5vbnltb3VzPicsIGZuLmRpc3BsYXlOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duO1xudmFyIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG5cbntcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZFJlZihjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ3JlZicpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdyZWYnKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLnJlZiAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdrZXknKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpLCBjb25maWcucmVmKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBga2V5YCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ2tleScsIHtcbiAgICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB7XG4gICAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nUmVmID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAncmVmJywge1xuICAgICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFJlYWN0IGVsZW1lbnQuIFRoaXMgbm8gbG9uZ2VyIGFkaGVyZXMgdG9cbiAqIHRoZSBjbGFzcyBwYXR0ZXJuLCBzbyBkbyBub3QgdXNlIG5ldyB0byBjYWxsIGl0LiBBbHNvLCBpbnN0YW5jZW9mIGNoZWNrXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcbiAqIGlmIHNvbWV0aGluZyBpcyBhIFJlYWN0IEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0geyp9IHByb3BzXG4gKiBAcGFyYW0geyp9IGtleVxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcbiAqIEBwYXJhbSB7Kn0gb3duZXJcbiAqIEBwYXJhbSB7Kn0gc2VsZiBBICp0ZW1wb3JhcnkqIGhlbHBlciB0byBkZXRlY3QgcGxhY2VzIHdoZXJlIGB0aGlzYCBpc1xuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxuICogY2FuIHdhcm4uIFdlIHdhbnQgdG8gZ2V0IHJpZCBvZiBvd25lciBhbmQgcmVwbGFjZSBzdHJpbmcgYHJlZmBzIHdpdGggYXJyb3dcbiAqIGZ1bmN0aW9ucywgYW5kIGFzIGxvbmcgYXMgYHRoaXNgIGFuZCBvd25lciBhcmUgdGhlIHNhbWUsIHRoZXJlIHdpbGwgYmUgbm9cbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cbiAqIEBwYXJhbSB7Kn0gc291cmNlIEFuIGFubm90YXRpb24gb2JqZWN0IChhZGRlZCBieSBhIHRyYW5zcGlsZXIgb3Igb3RoZXJ3aXNlKVxuICogaW5kaWNhdGluZyBmaWxlbmFtZSwgbGluZSBudW1iZXIsIGFuZC9vciBvdGhlciBpbmZvcm1hdGlvbi5cbiAqIEBpbnRlcm5hbFxuICovXG5cblxuZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgX3JlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpIHtcbiAgdmFyIHJlZjtcblxuICB7XG4gICAgcmVmID0gX3JlZjtcbiAgfVxuXG4gIHZhciBlbGVtZW50O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kLCBgcmVmYCBpcyBhIHJlZ3VsYXIgcHJvcGVydHkuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhXG4gICAgLy8gZnV0dXJlIHJlbGVhc2UuXG4gICAgZWxlbWVudCA9IHtcbiAgICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIHJlZjogcmVmLFxuICAgICAgcHJvcHM6IHByb3BzLFxuICAgICAgLy8gUmVjb3JkIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZWxlbWVudC5cbiAgICAgIF9vd25lcjogb3duZXJcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cbiAgICAvLyBhbiBleHRlcm5hbCBiYWNraW5nIHN0b3JlIHNvIHRoYXQgd2UgY2FuIGZyZWV6ZSB0aGUgd2hvbGUgb2JqZWN0LlxuICAgIC8vIFRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBXZWFrTWFwIG9uY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgaW5cbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICBlbGVtZW50Ll9zdG9yZSA9IHt9OyAvLyBUbyBtYWtlIGNvbXBhcmluZyBSZWFjdEVsZW1lbnRzIGVhc2llciBmb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UgbWFrZVxuICAgIC8vIHRoZSB2YWxpZGF0aW9uIGZsYWcgbm9uLWVudW1lcmFibGUgKHdoZXJlIHBvc3NpYmxlLCB3aGljaCBzaG91bGRcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xuICAgIC8vIGlnbm9yZXMgaXQuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0pOyAvLyBkZWJ1Z0luZm8gY29udGFpbnMgU2VydmVyIENvbXBvbmVudCBkZWJ1ZyBpbmZvcm1hdGlvbi5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX2RlYnVnSW5mbycsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcblxuICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQucHJvcHMpO1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbnZhciBkaWRXYXJuQWJvdXRLZXlTcHJlYWQgPSB7fTtcbi8qKlxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmZjcy9wdWxsLzEwN1xuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAqL1xuXG5mdW5jdGlvbiBqc3hERVYkMSh0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB2YWxpZCBlbGVtZW50IHR5cGUuXG4gICAgICAvLyBTa2lwIGtleSB3YXJuaW5nIGlmIHRoZSB0eXBlIGlzbid0IHZhbGlkIHNpbmNlIG91ciBrZXkgdmFsaWRhdGlvbiBsb2dpY1xuICAgICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9ycy4gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZFxuICAgICAgLy8gcHJvZC4gKFJlbmRlcmluZyB3aWxsIHRocm93IHdpdGggYSBoZWxwZnVsIG1lc3NhZ2UgYW5kIGFzIHNvb24gYXMgdGhlXG4gICAgICAvLyB0eXBlIGlzIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcbiAgICAgIHZhciBjaGlsZHJlbiA9IGNvbmZpZy5jaGlsZHJlbjtcblxuICAgICAgaWYgKGNoaWxkcmVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baV0sIHR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0LmpzeDogU3RhdGljIGNoaWxkcmVuIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkuICcgKyAnWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiAnICsgJ1VzZSB0aGUgQmFiZWwgdHJhbnNmb3JtIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gV2FybiBhYm91dCBrZXkgc3ByZWFkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHlwZSBpcyB2YWxpZC5cblxuXG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpLmZpbHRlcihmdW5jdGlvbiAoaykge1xuICAgICAgICByZXR1cm4gayAhPT0gJ2tleSc7XG4gICAgICB9KTtcbiAgICAgIHZhciBiZWZvcmVFeGFtcGxlID0ga2V5cy5sZW5ndGggPiAwID8gJ3trZXk6IHNvbWVLZXksICcgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3trZXk6IHNvbWVLZXl9JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdKSB7XG4gICAgICAgIHZhciBhZnRlckV4YW1wbGUgPSBrZXlzLmxlbmd0aCA+IDAgPyAneycgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3t9JztcblxuICAgICAgICBlcnJvcignQSBwcm9wcyBvYmplY3QgY29udGFpbmluZyBhIFwia2V5XCIgcHJvcCBpcyBiZWluZyBzcHJlYWQgaW50byBKU1g6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMgey4uLnByb3BzfSAvPlxcbicgKyAnUmVhY3Qga2V5cyBtdXN0IGJlIHBhc3NlZCBkaXJlY3RseSB0byBKU1ggd2l0aG91dCB1c2luZyBzcHJlYWQ6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JywgYmVmb3JlRXhhbXBsZSwgY29tcG9uZW50TmFtZSwgYWZ0ZXJFeGFtcGxlLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICAgIHZhciBwcm9wcyA9IHt9O1xuICAgIHZhciBrZXkgPSBudWxsO1xuICAgIHZhciByZWYgPSBudWxsOyAvLyBDdXJyZW50bHksIGtleSBjYW4gYmUgc3ByZWFkIGluIGFzIGEgcHJvcC4gVGhpcyBjYXVzZXMgYSBwb3RlbnRpYWxcbiAgICAvLyBpc3N1ZSBpZiBrZXkgaXMgYWxzbyBleHBsaWNpdGx5IGRlY2xhcmVkIChpZS4gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz5cbiAgICAvLyBvciA8ZGl2IGtleT1cIkhpXCIgey4uLnByb3BzfSAvPiApLiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBrZXkgc3ByZWFkLFxuICAgIC8vIGJ1dCBhcyBhbiBpbnRlcm1lZGlhcnkgc3RlcCwgd2Ugd2lsbCB1c2UganN4REVWIGZvciBldmVyeXRoaW5nIGV4Y2VwdFxuICAgIC8vIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+LCBiZWNhdXNlIHdlIGFyZW4ndCBjdXJyZW50bHkgYWJsZSB0byB0ZWxsIGlmXG4gICAgLy8ga2V5IGlzIGV4cGxpY2l0bHkgZGVjbGFyZWQgdG8gYmUgdW5kZWZpbmVkIG9yIG5vdC5cblxuICAgIGlmIChtYXliZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIG1heWJlS2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgfVxuXG4gICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKTtcbiAgICB9IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmIC8vIFNraXAgb3ZlciByZXNlcnZlZCBwcm9wIG5hbWVzXG4gICAgICBwcm9wTmFtZSAhPT0gJ2tleScgJiYgKHByb3BOYW1lICE9PSAncmVmJykpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgICBpZiAodHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wcykge1xuICAgICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGtleSB8fCByZWYpIHtcbiAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgJ1Vua25vd24nIDogdHlwZTtcblxuICAgICAgaWYgKGtleSkge1xuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuXG4gICAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXG4gKiBhcnJheSB3aXRoIGFuIGV4cGxpY2l0IGtleXMgcHJvcGVydHkgZGVmaW5lZCwgb3IgaW4gYW4gb2JqZWN0IGxpdGVyYWxcbiAqIHdpdGggdmFsaWQga2V5IHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdE5vZGV9IG5vZGUgU3RhdGljYWxseSBwYXNzZWQgY2hpbGQgb2YgYW55IHR5cGUuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnIHx8ICFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UpIDsgZWxzZSBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obm9kZSk7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAgIC8vIGJ1dCBub3cgd2UgcHJpbnQgYSBzZXBhcmF0ZSB3YXJuaW5nIGZvciB0aGVtIGxhdGVyLlxuICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gbm9kZS5lbnRyaWVzKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuXG4gICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFZlcmlmaWVzIHRoZSBvYmplY3QgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgb2JqZWN0YCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIEBmaW5hbFxuICovXG5cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRXhwbGljaXRLZXkoZWxlbWVudCwgcGFyZW50VHlwZSkge1xuICB7XG4gICAgaWYgKCFlbGVtZW50Ll9zdG9yZSB8fCBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgfHwgZWxlbWVudC5rZXkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gICAgLy8gcHJvcGVydHksIGl0IG1heSBiZSB0aGUgY3JlYXRvciBvZiB0aGUgY2hpbGQgdGhhdCdzIHJlc3BvbnNpYmxlIGZvclxuICAgIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cblxuICAgIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHBhcmVudFR5cGUpO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBmcmFnbWVudCwgdmFsaWRhdGUgdGhhdCBpdCBjYW4gb25seSBiZSBwcm92aWRlZCB3aXRoIGZyYWdtZW50IHByb3BzXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhmcmFnbWVudCkge1xuICAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gcmVuZGVyIHBoYXNlIGluc3RlYWQgb2YgYXQgZWxlbWVudCBjcmVhdGlvbi5cbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG52YXIganN4REVWID0ganN4REVWJDEgO1xuXG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuanN4REVWID0ganN4REVWO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSw4TEFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanM/NWRiNyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction Bars3Icon(param, svgRef) {\n let { title, titleId, ...props } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\n }));\n}\n_c = Bars3Icon;\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(Bars3Icon);\n_c1 = ForwardRef;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForwardRef);\nvar _c, _c1;\n$RefreshReg$(_c, \"Bars3Icon\");\n$RefreshReg$(_c1, \"ForwardRef\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL0JhcnMzSWNvbi5qcyIsIm1hcHBpbmdzIjoiOztBQUErQjtBQUMvQixTQUFTQyxVQUFVLEtBSWxCLEVBQUVDLE1BQU07UUFKVSxFQUNqQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixHQUprQjtJQUtqQixPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxhQUFhO1FBQ2JDLFFBQVE7UUFDUixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLWjtRQUNMLG1CQUFtQkU7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVILGdEQUFtQixDQUFDLFNBQVM7UUFDM0RlLElBQUlYO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUgsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGdCLGVBQWU7UUFDZkMsZ0JBQWdCO1FBQ2hCQyxHQUFHO0lBQ0w7QUFDRjtLQXRCU2pCO0FBdUJULE1BQU1rQixhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQzs7QUFDbEQsK0RBQWVrQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL0JhcnMzSWNvbi5qcz8yNjQwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gQmFyczNJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgZmlsbDogXCJub25lXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICBzdHJva2VXaWR0aDogMS41LFxuICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgZDogXCJNMy43NSA2Ljc1aDE2LjVNMy43NSAxMmgxNi41bS0xNi41IDUuMjVoMTYuNVwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoQmFyczNJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiQmFyczNJY29uIiwic3ZnUmVmIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicmVmIiwiaWQiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction XMarkIcon(param, svgRef) {\n let { title, titleId, ...props } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M6 18 18 6M6 6l12 12\"\n }));\n}\n_c = XMarkIcon;\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(XMarkIcon);\n_c1 = ForwardRef;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForwardRef);\nvar _c, _c1;\n$RefreshReg$(_c, \"XMarkIcon\");\n$RefreshReg$(_c1, \"ForwardRef\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL1hNYXJrSWNvbi5qcyIsIm1hcHBpbmdzIjoiOztBQUErQjtBQUMvQixTQUFTQyxVQUFVLEtBSWxCLEVBQUVDLE1BQU07UUFKVSxFQUNqQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixHQUprQjtJQUtqQixPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxhQUFhO1FBQ2JDLFFBQVE7UUFDUixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLWjtRQUNMLG1CQUFtQkU7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVILGdEQUFtQixDQUFDLFNBQVM7UUFDM0RlLElBQUlYO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUgsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGdCLGVBQWU7UUFDZkMsZ0JBQWdCO1FBQ2hCQyxHQUFHO0lBQ0w7QUFDRjtLQXRCU2pCO0FBdUJULE1BQU1rQixhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQzs7QUFDbEQsK0RBQWVrQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUvZXNtL1hNYXJrSWNvbi5qcz8wYzliIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gWE1hcmtJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgZmlsbDogXCJub25lXCIsXG4gICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICBzdHJva2VXaWR0aDogMS41LFxuICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIFwiZGF0YS1zbG90XCI6IFwiaWNvblwiLFxuICAgIHJlZjogc3ZnUmVmLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWRcbiAgfSwgcHJvcHMpLCB0aXRsZSA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwge1xuICAgIGlkOiB0aXRsZUlkXG4gIH0sIHRpdGxlKSA6IG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgZDogXCJNNiAxOCAxOCA2TTYgNmwxMiAxMlwiXG4gIH0pKTtcbn1cbmNvbnN0IEZvcndhcmRSZWYgPSAvKiNfX1BVUkVfXyovIFJlYWN0LmZvcndhcmRSZWYoWE1hcmtJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiWE1hcmtJY29uIiwic3ZnUmVmIiwidGl0bGUiLCJ0aXRsZUlkIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicmVmIiwiaWQiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiRm9yd2FyZFJlZiIsImZvcndhcmRSZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs": -/*!*****************************************!*\ - !*** ./node_modules/clsx/dist/clsx.mjs ***! - \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clsx: function() { return /* binding */ clsx; }\n/* harmony export */ });\nfunction r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}/* harmony default export */ __webpack_exports__[\"default\"] = (clsx);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9jbHN4L2Rpc3QvY2xzeC5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGNBQWMsYUFBYSwrQ0FBK0MsZ0RBQWdELGVBQWUsUUFBUSxJQUFJLDBDQUEwQyx5Q0FBeUMsU0FBZ0IsZ0JBQWdCLHdDQUF3QyxJQUFJLG1EQUFtRCxTQUFTLCtEQUFlLElBQUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2Nsc3gvZGlzdC9jbHN4Lm1qcz80NDYxIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHIoZSl7dmFyIHQsZixuPVwiXCI7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGV8fFwibnVtYmVyXCI9PXR5cGVvZiBlKW4rPWU7ZWxzZSBpZihcIm9iamVjdFwiPT10eXBlb2YgZSlpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgbz1lLmxlbmd0aDtmb3IodD0wO3Q8bzt0KyspZVt0XSYmKGY9cihlW3RdKSkmJihuJiYobis9XCIgXCIpLG4rPWYpfWVsc2UgZm9yKGYgaW4gZSllW2ZdJiYobiYmKG4rPVwiIFwiKSxuKz1mKTtyZXR1cm4gbn1leHBvcnQgZnVuY3Rpb24gY2xzeCgpe2Zvcih2YXIgZSx0LGY9MCxuPVwiXCIsbz1hcmd1bWVudHMubGVuZ3RoO2Y8bztmKyspKGU9YXJndW1lbnRzW2ZdKSYmKHQ9cihlKSkmJihuJiYobis9XCIgXCIpLG4rPXQpO3JldHVybiBufWV4cG9ydCBkZWZhdWx0IGNsc3g7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/fallback/amp.js b/.next/static/chunks/fallback/amp.js deleted file mode 100644 index 2b4f888..0000000 --- a/.next/static/chunks/fallback/amp.js +++ /dev/null @@ -1,841 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["amp"],{ - -/***/ "./node_modules/next/dist/build/deployment-id.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/build/deployment-id.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDeploymentIdQueryOrEmptyString\", ({\n enumerable: true,\n get: function() {\n return getDeploymentIdQueryOrEmptyString;\n }\n}));\nfunction getDeploymentIdQueryOrEmptyString() {\n if (false) {}\n return \"\";\n}\n\n//# sourceMappingURL=deployment-id.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL2RlcGxveW1lbnQtaWQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixxRUFBb0U7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBLFFBQVEsS0FBOEIsRUFBRSxFQUVuQztBQUNMO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9kZXBsb3ltZW50LWlkLmpzP2FhZDgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmdcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZztcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZygpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEKSB7XG4gICAgICAgIHJldHVybiBgP2RwbD0ke3Byb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRH1gO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVwbG95bWVudC1pZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/deployment-id.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/add-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/add-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBS2dCQTs7O2VBQUFBOzs7MkNBTGM7b0RBQ2E7QUFFM0MsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZLEVBQUVDLFFBQWtCO0lBQzFELE9BQU9DLENBQUFBLEdBQUFBLHdCQUFBQSwwQkFBMEIsRUFDL0JMLE1BQStDSSxHQUMzQ0QsQ0FBQUEsR0FDQUksQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDSixNQUFNSjtBQUU1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9hZGQtYmFzZS1wYXRoLnRzPzUxNzEiXSwibmFtZXMiOlsiYWRkQmFzZVBhdGgiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInJlcXVpcmVkIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJhZGRQYXRoUHJlZml4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/add-locale.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/client/add-locale.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBR2FBOzs7ZUFBQUE7OztvREFGOEI7QUFFcEMsTUFBTUEsWUFBdUIsU0FBQ0MsSUFBQUE7cUNBQVNDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLElBQUFBLE9BQUFBLElBQUFBLElBQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1FBQUFBLElBQUFBLENBQUFBLE9BQUFBLEVBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztJQUM1QyxJQUFJQyxLQUErQixFQUFFLEVBSXJDO0lBQ0EsT0FBT0Y7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9hZGQtbG9jYWxlLnRzP2ZhYWUiXSwibmFtZXMiOlsiYWRkTG9jYWxlIiwicGF0aCIsImFyZ3MiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwicmVxdWlyZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js ***! - \***************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n addMessageListener: function() {\n return addMessageListener;\n },\n connectHMR: function() {\n return connectHMR;\n },\n sendMessage: function() {\n return sendMessage;\n }\n});\nlet source;\nconst eventCallbacks = [];\nfunction getSocketProtocol(assetPrefix) {\n let protocol = location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (e) {}\n return protocol === \"http:\" ? \"ws\" : \"wss\";\n}\nfunction addMessageListener(callback) {\n eventCallbacks.push(callback);\n}\nfunction sendMessage(data) {\n if (!source || source.readyState !== source.OPEN) return;\n return source.send(data);\n}\nlet reconnections = 0;\nfunction connectHMR(options) {\n function init() {\n if (source) source.close();\n function handleOnline() {\n reconnections = 0;\n window.console.log(\"[HMR] connected\");\n }\n function handleMessage(event) {\n // Coerce into HMR_ACTION_TYPES as that is the format.\n const msg = JSON.parse(event.data);\n for (const eventCallback of eventCallbacks){\n eventCallback(msg);\n }\n }\n let timer;\n function handleDisconnect() {\n source.onerror = null;\n source.onclose = null;\n source.close();\n reconnections++;\n // After 25 reconnects we'll want to reload the page as it indicates the dev server is no longer running.\n if (reconnections > 25) {\n window.location.reload();\n return;\n }\n clearTimeout(timer);\n // Try again after 5 seconds\n timer = setTimeout(init, reconnections > 5 ? 5000 : 1000);\n }\n const { hostname, port } = location;\n const protocol = getSocketProtocol(options.assetPrefix || \"\");\n const assetPrefix = options.assetPrefix.replace(/^\\/+/, \"\");\n let url = protocol + \"://\" + hostname + \":\" + port + (assetPrefix ? \"/\" + assetPrefix : \"\");\n if (assetPrefix.startsWith(\"http\")) {\n url = protocol + \"://\" + assetPrefix.split(\"://\", 2)[1];\n }\n source = new window.WebSocket(\"\" + url + options.path);\n source.onopen = handleOnline;\n source.onerror = handleDisconnect;\n source.onclose = handleDisconnect;\n source.onmessage = handleMessage;\n }\n init();\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=websocket.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL3dlYnNvY2tldC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFtQmdCQSxvQkFBa0I7ZUFBbEJBOztJQVdBQyxZQUFVO2VBQVZBOztJQVBBQyxhQUFXO2VBQVhBOzs7QUFyQmhCLElBQUlDO0FBSUosTUFBTUMsaUJBQXdDLEVBQUU7QUFFaEQsU0FBU0Msa0JBQWtCQyxXQUFtQjtJQUM1QyxJQUFJQyxXQUFXQyxTQUFTRCxRQUFRO0lBRWhDLElBQUk7UUFDRix1QkFBdUI7UUFDdkJBLFdBQVcsSUFBSUUsSUFBSUgsYUFBYUMsUUFBUTtJQUMxQyxFQUFFLE9BQUFHLEdBQU0sQ0FBQztJQUVULE9BQU9ILGFBQWEsVUFBVSxPQUFPO0FBQ3ZDO0FBRU8sU0FBU1AsbUJBQW1CVyxRQUF3QjtJQUN6RFAsZUFBZVEsSUFBSSxDQUFDRDtBQUN0QjtBQUVPLFNBQVNULFlBQVlXLElBQVk7SUFDdEMsSUFBSSxDQUFDVixVQUFVQSxPQUFPVyxVQUFVLEtBQUtYLE9BQU9ZLElBQUksRUFBRTtJQUNsRCxPQUFPWixPQUFPYSxJQUFJLENBQUNIO0FBQ3JCO0FBRUEsSUFBSUksZ0JBQWdCO0FBRWIsU0FBU2hCLFdBQVdpQixPQUE4QztJQUN2RSxTQUFTQztRQUNQLElBQUloQixRQUFRQSxPQUFPaUIsS0FBSztRQUV4QixTQUFTQztZQUNQSixnQkFBZ0I7WUFDaEJLLE9BQU9DLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDO1FBQ3JCO1FBRUEsU0FBU0MsY0FBY0MsS0FBMkI7WUFDaEQsc0RBQXNEO1lBQ3RELE1BQU1DLE1BQXdCQyxLQUFLQyxLQUFLLENBQUNILE1BQU1iLElBQUk7WUFDbkQsS0FBSyxNQUFNaUIsaUJBQWlCMUIsZUFBZ0I7Z0JBQzFDMEIsY0FBY0g7WUFDaEI7UUFDRjtRQUVBLElBQUlJO1FBQ0osU0FBU0M7WUFDUDdCLE9BQU84QixPQUFPLEdBQUc7WUFDakI5QixPQUFPK0IsT0FBTyxHQUFHO1lBQ2pCL0IsT0FBT2lCLEtBQUs7WUFDWkg7WUFDQSx5R0FBeUc7WUFDekcsSUFBSUEsZ0JBQWdCLElBQUk7Z0JBQ3RCSyxPQUFPZCxRQUFRLENBQUMyQixNQUFNO2dCQUN0QjtZQUNGO1lBRUFDLGFBQWFMO1lBQ2IsNEJBQTRCO1lBQzVCQSxRQUFRTSxXQUFXbEIsTUFBTUYsZ0JBQWdCLElBQUksT0FBTztRQUN0RDtRQUVBLE1BQU0sRUFBRXFCLFFBQVEsRUFBRUMsSUFBSSxFQUFFLEdBQUcvQjtRQUMzQixNQUFNRCxXQUFXRixrQkFBa0JhLFFBQVFaLFdBQVcsSUFBSTtRQUMxRCxNQUFNQSxjQUFjWSxRQUFRWixXQUFXLENBQUNrQyxPQUFPLENBQUMsUUFBUTtRQUV4RCxJQUFJQyxNQUFNbEMsV0FBWSxRQUFLK0IsV0FBUyxNQUFHQyxPQUNyQ2pDLENBQUFBLGNBQWMsTUFBSUEsY0FBZ0I7UUFHcEMsSUFBSUEsWUFBWW9DLFVBQVUsQ0FBQyxTQUFTO1lBQ2xDRCxNQUFNbEMsV0FBWSxRQUFLRCxZQUFZcUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDdkQ7UUFFQXhDLFNBQVMsSUFBSW1CLE9BQU9zQixTQUFTLENBQUMsS0FBR0gsTUFBTXZCLFFBQVEyQixJQUFJO1FBQ25EMUMsT0FBTzJDLE1BQU0sR0FBR3pCO1FBQ2hCbEIsT0FBTzhCLE9BQU8sR0FBR0Q7UUFDakI3QixPQUFPK0IsT0FBTyxHQUFHRjtRQUNqQjdCLE9BQU80QyxTQUFTLEdBQUd0QjtJQUNyQjtJQUVBTjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvcGFnZXMvd2Vic29ja2V0LnRzP2UzOWMiXSwibmFtZXMiOlsiYWRkTWVzc2FnZUxpc3RlbmVyIiwiY29ubmVjdEhNUiIsInNlbmRNZXNzYWdlIiwic291cmNlIiwiZXZlbnRDYWxsYmFja3MiLCJnZXRTb2NrZXRQcm90b2NvbCIsImFzc2V0UHJlZml4IiwicHJvdG9jb2wiLCJsb2NhdGlvbiIsIlVSTCIsImUiLCJjYWxsYmFjayIsInB1c2giLCJkYXRhIiwicmVhZHlTdGF0ZSIsIk9QRU4iLCJzZW5kIiwicmVjb25uZWN0aW9ucyIsIm9wdGlvbnMiLCJpbml0IiwiY2xvc2UiLCJoYW5kbGVPbmxpbmUiLCJ3aW5kb3ciLCJjb25zb2xlIiwibG9nIiwiaGFuZGxlTWVzc2FnZSIsImV2ZW50IiwibXNnIiwiSlNPTiIsInBhcnNlIiwiZXZlbnRDYWxsYmFjayIsInRpbWVyIiwiaGFuZGxlRGlzY29ubmVjdCIsIm9uZXJyb3IiLCJvbmNsb3NlIiwicmVsb2FkIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImhvc3RuYW1lIiwicG9ydCIsInJlcGxhY2UiLCJ1cmwiLCJzdGFydHNXaXRoIiwic3BsaXQiLCJXZWJTb2NrZXQiLCJwYXRoIiwib25vcGVuIiwib25tZXNzYWdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/detect-domain-locale.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/detect-domain-locale.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"detectDomainLocale\", ({\n enumerable: true,\n get: function() {\n return detectDomainLocale;\n }\n}));\nconst detectDomainLocale = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (false) {}\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=detect-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUVhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxxQkFBZ0M7cUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1FBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztJQUMvQyxJQUFJQyxLQUErQixFQUFFLEVBSXJDO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvZGV0ZWN0LWRvbWFpbi1sb2NhbGUudHM/NjhmYyJdLCJuYW1lcyI6WyJkZXRlY3REb21haW5Mb2NhbGUiLCJhcmdzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/detect-domain-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/amp-dev.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/dev/amp-dev.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* globals __webpack_hash__ */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _fouc = __webpack_require__(/*! ./fouc */ \"./node_modules/next/dist/client/dev/fouc.js\");\nconst _ondemandentriesclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./on-demand-entries-client */ \"./node_modules/next/dist/client/dev/on-demand-entries-client.js\"));\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../../server/dev/hot-reloader-types */ \"./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst data = JSON.parse(document.getElementById(\"__NEXT_DATA__\").textContent);\nwindow.__NEXT_DATA__ = data;\nlet { assetPrefix, page } = data;\nassetPrefix = assetPrefix || \"\";\nlet mostRecentHash = null;\n/* eslint-disable-next-line */ let curHash = __webpack_require__.h();\nconst hotUpdatePath = assetPrefix + (assetPrefix.endsWith(\"/\") ? \"\" : \"/\") + \"_next/static/webpack/\";\n// Is there a newer version of this code available?\nfunction isUpdateAvailable() {\n // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n /* eslint-disable-next-line */ return mostRecentHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n return module.hot.status() === \"idle\";\n}\n// This function reads code updates on the fly and hard\n// reloads the page when it has changed.\nasync function tryApplyUpdates() {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n return;\n }\n try {\n const res = await fetch(typeof __webpack_require__.j !== \"undefined\" ? \"\" + hotUpdatePath + curHash + \".\" + __webpack_require__.j + \".hot-update.json\" : \"\" + hotUpdatePath + curHash + \".hot-update.json\");\n const jsonData = await res.json();\n const curPage = page === \"/\" ? \"index\" : page;\n // webpack 5 uses an array instead\n const pageUpdated = (Array.isArray(jsonData.c) ? jsonData.c : Object.keys(jsonData.c)).some((mod)=>{\n return mod.indexOf(\"pages\" + (curPage.startsWith(\"/\") ? curPage : \"/\" + curPage)) !== -1 || mod.indexOf((\"pages\" + (curPage.startsWith(\"/\") ? curPage : \"/\" + curPage)).replace(/\\//g, \"\\\\\")) !== -1;\n });\n if (pageUpdated) {\n window.location.reload();\n } else {\n curHash = mostRecentHash;\n }\n } catch (err) {\n console.error(\"Error occurred checking for update\", err);\n window.location.reload();\n }\n}\n(0, _websocket.addMessageListener)((message)=>{\n if (!(\"action\" in message)) {\n return;\n }\n try {\n // actions which are not related to amp-dev\n if (message.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR || message.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE) {\n return;\n }\n if (message.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC || message.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT) {\n if (!message.hash) {\n return;\n }\n mostRecentHash = message.hash;\n tryApplyUpdates();\n } else if (message.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE) {\n window.location.reload();\n }\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + message + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n});\n(0, _websocket.connectHMR)({\n assetPrefix,\n path: \"/_next/webpack-hmr\"\n});\n(0, _fouc.displayContent)();\n(0, _ondemandentriesclient.default)(data.page);\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=amp-dev.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvYW1wLWRldi5qcyIsIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7Ozs7O2tDQUNHOzRGQUNDO3VDQUl6Qjs4Q0FDcUM7QUFNNUMsTUFBTUEsT0FBT0MsS0FBS0MsS0FBSyxDQUNyQkMsU0FBVUMsY0FBYyxDQUFDLGlCQUF5QkMsV0FBVztBQUUvREMsT0FBT0MsYUFBYSxHQUFHUDtBQUV2QixJQUFJLEVBQUVRLFdBQVcsRUFBRUMsSUFBSSxFQUFFLEdBQUdUO0FBQzVCUSxjQUFjQSxlQUFlO0FBQzdCLElBQUlFLGlCQUFnQztBQUNwQyw0QkFBNEIsR0FDNUIsSUFBSUMsVUFBVUMsdUJBQUFBO0FBQ2QsTUFBTUMsZ0JBQ0pMLGNBQWVBLENBQUFBLFlBQVlNLFFBQVEsQ0FBQyxPQUFPLEtBQUssT0FBTztBQUV6RCxtREFBbUQ7QUFDbkQsU0FBU0M7SUFDUCwyREFBMkQ7SUFDM0QsOENBQThDO0lBQzlDLDRCQUE0QixHQUM1QixPQUFPTCxtQkFBbUJFLHVCQUFBQTtBQUM1QjtBQUVBLDZDQUE2QztBQUM3QyxTQUFTSTtJQUNQLHlJQUF5STtJQUN6SSxPQUFPQyxVQUFVLENBQUNFLE1BQU0sT0FBTztBQUNqQztBQUVBLHVEQUF1RDtBQUN2RCx3Q0FBd0M7QUFDeEMsZUFBZUM7SUFDYixJQUFJLENBQUNMLHVCQUF1QixDQUFDQyxtQkFBbUI7UUFDOUM7SUFDRjtJQUNBLElBQUk7UUFDRixNQUFNSyxNQUFNLE1BQU1DLE1BQ2hCLE9BQU9DLHFCQUFBQSxLQUEyQixjQUU5QixLQUFHVixnQkFBZ0JGLFVBQVEsTUFBR1kscUJBQUFBLEdBQXVCLHFCQUNyRCxLQUFHVixnQkFBZ0JGLFVBQVE7UUFFakMsTUFBTWEsV0FBVyxNQUFNSCxJQUFJSSxJQUFJO1FBQy9CLE1BQU1DLFVBQVVqQixTQUFTLE1BQU0sVUFBVUE7UUFDekMsa0NBQWtDO1FBQ2xDLE1BQU1rQixjQUFjLENBQ2xCQyxNQUFNQyxPQUFPLENBQUNMLFNBQVNNLENBQUMsSUFBSU4sU0FBU00sQ0FBQyxHQUFHQyxPQUFPQyxJQUFJLENBQUNSLFNBQVNNLENBQUMsR0FDL0RHLElBQUksQ0FBQyxDQUFDQztZQUNOLE9BQ0VBLElBQUlDLE9BQU8sQ0FDVCxVQUFRVCxDQUFBQSxRQUFRVSxVQUFVLENBQUMsT0FBT1YsVUFBVSxNQUFJQSxPQUFBQSxPQUM1QyxDQUFDLEtBQ1BRLElBQUlDLE9BQU8sQ0FDVCxXQUFRVCxDQUFBQSxRQUFRVSxVQUFVLENBQUMsT0FBT1YsVUFBVSxNQUFJQSxPQUFBQSxDQUFRLEVBQUlXLE9BQU8sQ0FDakUsT0FDQSxXQUVFLENBQUM7UUFFWDtRQUVBLElBQUlWLGFBQWE7WUFDZnJCLE9BQU9nQyxRQUFRLENBQUNDLE1BQU07UUFDeEIsT0FBTztZQUNMNUIsVUFBVUQ7UUFDWjtJQUNGLEVBQUUsT0FBTzhCLEtBQUs7UUFDWkMsUUFBUUMsS0FBSyxDQUFDLHNDQUFzQ0Y7UUFDcERsQyxPQUFPZ0MsUUFBUSxDQUFDQyxNQUFNO0lBQ3hCO0FBQ0Y7QUFFQUksQ0FBQUEsR0FBQUEsV0FBQUEsa0JBQWtCLEVBQUMsQ0FBQ0M7SUFDbEIsSUFBSSxDQUFFLGFBQVlBLE9BQUFBLEdBQVU7UUFDMUI7SUFDRjtJQUVBLElBQUk7UUFDRiwyQ0FBMkM7UUFDM0MsSUFDRUEsUUFBUUMsTUFBTSxLQUFLQyxrQkFBQUEsMkJBQTJCLENBQUNDLFlBQVksSUFDM0RILFFBQVFDLE1BQU0sS0FBS0Msa0JBQUFBLDJCQUEyQixDQUFDRSx5QkFBeUIsRUFDeEU7WUFDQTtRQUNGO1FBQ0EsSUFDRUosUUFBUUMsTUFBTSxLQUFLQyxrQkFBQUEsMkJBQTJCLENBQUNHLElBQUksSUFDbkRMLFFBQVFDLE1BQU0sS0FBS0Msa0JBQUFBLDJCQUEyQixDQUFDSSxLQUFLLEVBQ3BEO1lBQ0EsSUFBSSxDQUFDTixRQUFRTyxJQUFJLEVBQUU7Z0JBQ2pCO1lBQ0Y7WUFDQXpDLGlCQUFpQmtDLFFBQVFPLElBQUk7WUFDN0IvQjtRQUNGLE9BQU8sSUFBSXdCLFFBQVFDLE1BQU0sS0FBS0Msa0JBQUFBLDJCQUEyQixDQUFDTSxXQUFXLEVBQUU7WUFDckU5QyxPQUFPZ0MsUUFBUSxDQUFDQyxNQUFNO1FBQ3hCO0lBQ0YsRUFBRSxPQUFPQyxLQUFVO1lBRStCQTtRQURoREMsUUFBUVksSUFBSSxDQUNWLDRCQUE0QlQsVUFBVSxPQUFRSixDQUFBQSxDQUFBQSxhQUFBQSxPQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxJQUFLYyxLQUFLLFlBQVZkLGFBQWM7SUFFaEU7QUFDRjtBQUVBZSxDQUFBQSxHQUFBQSxXQUFBQSxVQUFVLEVBQUM7SUFDVC9DO0lBQ0FnRCxNQUFNO0FBQ1I7QUFDQUMsQ0FBQUEsR0FBQUEsTUFBQUEsY0FBYztBQUVkQyxDQUFBQSxHQUFBQSx1QkFBQUEsT0FBbUIsRUFBQzFELEtBQUtTLElBQUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvZGV2L2FtcC1kZXYudHM/Y2FhYyJdLCJuYW1lcyI6WyJkYXRhIiwiSlNPTiIsInBhcnNlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInRleHRDb250ZW50Iiwid2luZG93IiwiX19ORVhUX0RBVEFfXyIsImFzc2V0UHJlZml4IiwicGFnZSIsIm1vc3RSZWNlbnRIYXNoIiwiY3VySGFzaCIsIl9fd2VicGFja19oYXNoX18iLCJob3RVcGRhdGVQYXRoIiwiZW5kc1dpdGgiLCJpc1VwZGF0ZUF2YWlsYWJsZSIsImNhbkFwcGx5VXBkYXRlcyIsIm1vZHVsZSIsImhvdCIsInN0YXR1cyIsInRyeUFwcGx5VXBkYXRlcyIsInJlcyIsImZldGNoIiwiX193ZWJwYWNrX3J1bnRpbWVfaWRfXyIsImpzb25EYXRhIiwianNvbiIsImN1clBhZ2UiLCJwYWdlVXBkYXRlZCIsIkFycmF5IiwiaXNBcnJheSIsImMiLCJPYmplY3QiLCJrZXlzIiwic29tZSIsIm1vZCIsImluZGV4T2YiLCJzdGFydHNXaXRoIiwicmVwbGFjZSIsImxvY2F0aW9uIiwicmVsb2FkIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiYWRkTWVzc2FnZUxpc3RlbmVyIiwibWVzc2FnZSIsImFjdGlvbiIsIkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiIsIlNFUlZFUl9FUlJPUiIsIkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEUiLCJTWU5DIiwiQlVJTFQiLCJoYXNoIiwiUkVMT0FEX1BBR0UiLCJ3YXJuIiwic3RhY2siLCJjb25uZWN0SE1SIiwicGF0aCIsImRpc3BsYXlDb250ZW50IiwiaW5pdE9uRGVtYW5kRW50cmllcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/amp-dev.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/fouc.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/client/dev/fouc.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// This wrapper function is used to safely select the best available function\n// to schedule removal of the no-FOUC styles workaround. requestAnimationFrame\n// is the ideal choice, but when used in iframes, there are no guarantees that\n// the callback will actually be called, which could stall the promise returned\n// from displayContent.\n//\n// See: https://www.vector-logic.com/blog/posts/on-request-animation-frame-and-embedded-iframes\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"displayContent\", ({\n enumerable: true,\n get: function() {\n return displayContent;\n }\n}));\nconst safeCallbackQueue = (callback)=>{\n if (window.requestAnimationFrame && window.self === window.top) {\n window.requestAnimationFrame(callback);\n } else {\n window.setTimeout(callback);\n }\n};\nfunction displayContent() {\n return new Promise((resolve)=>{\n safeCallbackQueue(function() {\n for(var x = document.querySelectorAll(\"[data-next-hide-fouc]\"), i = x.length; i--;){\n x[i].parentNode.removeChild(x[i]);\n }\n resolve();\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fouc.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZm91Yy5qcyIsIm1hcHBpbmdzIjoiQUFBQSw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSwrRUFBK0U7QUFDL0UsdUJBQXVCO0FBQ3ZCLEVBQUU7QUFDRiwrRkFBK0Y7Ozs7O2tEQVkvRUE7OztlQUFBQTs7O0FBWGhCLE1BQU1DLG9CQUFvQixDQUFDQztJQUN6QixJQUFJQyxPQUFPQyxxQkFBcUIsSUFBSUQsT0FBT0UsSUFBSSxLQUFLRixPQUFPRyxHQUFHLEVBQUU7UUFDOURILE9BQU9DLHFCQUFxQixDQUFDRjtJQUMvQixPQUFPO1FBQ0xDLE9BQU9JLFVBQVUsQ0FBQ0w7SUFDcEI7QUFDRjtBQUtPLFNBQVNGO0lBQ2QsT0FBTyxJQUFJUSxRQUFRLENBQUNDO1FBQ2xCUixrQkFBa0I7WUFDaEIsSUFDRSxJQUFJUyxJQUFJQyxTQUFTQyxnQkFBZ0IsQ0FBQywwQkFDaENDLElBQUlILEVBQUVJLE1BQU0sRUFDZEQsS0FFQTtnQkFDQUgsQ0FBQyxDQUFDRyxFQUFFLENBQUNFLFVBQVUsQ0FBRUMsV0FBVyxDQUFDTixDQUFDLENBQUNHLEVBQUU7WUFDbkM7WUFDQUo7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvZGV2L2ZvdWMudHM/MjY3MCJdLCJuYW1lcyI6WyJkaXNwbGF5Q29udGVudCIsInNhZmVDYWxsYmFja1F1ZXVlIiwiY2FsbGJhY2siLCJ3aW5kb3ciLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJzZWxmIiwidG9wIiwic2V0VGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwieCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImkiLCJsZW5ndGgiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/fouc.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/on-demand-entries-client.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/on-demand-entries-client.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../router */ \"./node_modules/next/dist/client/router.js\"));\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nconst _default = async (page)=>{\n if (page) {\n // in AMP the router isn't initialized on the client and\n // client-transitions don't occur so ping initial page\n setInterval(()=>{\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page\n }));\n }, 2500);\n } else {\n _router.default.ready(()=>{\n setInterval(()=>{\n // when notFound: true is returned we should use the notFoundPage\n // as the Router.pathname will point to the 404 page but we want\n // to ping the source page that returned notFound: true instead\n const notFoundSrcPage = self.__NEXT_DATA__.notFoundSrcPage;\n const pathname = (_router.default.pathname === \"/404\" || _router.default.pathname === \"/_error\") && notFoundSrcPage ? notFoundSrcPage : _router.default.pathname;\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page: pathname\n }));\n }, 2500);\n });\n }\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=on-demand-entries-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBR0E7OztlQUFBQTs7Ozs2RUFIbUI7dUNBQ1M7TUFFNUJBLFdBQWUsT0FBT0M7SUFDcEIsSUFBSUEsTUFBTTtRQUNSLHdEQUF3RDtRQUN4RCxzREFBc0Q7UUFDdERDLFlBQVk7WUFDVkMsQ0FBQUEsR0FBQUEsV0FBQUEsV0FBVyxFQUFDQyxLQUFLQyxTQUFTLENBQUM7Z0JBQUVDLE9BQU87Z0JBQVFMO1lBQUs7UUFDbkQsR0FBRztJQUNMLE9BQU87UUFDTE0sUUFBQUEsT0FBTSxDQUFDQyxLQUFLLENBQUM7WUFDWE4sWUFBWTtnQkFDVixpRUFBaUU7Z0JBQ2pFLGdFQUFnRTtnQkFDaEUsK0RBQStEO2dCQUMvRCxNQUFNTyxrQkFBa0JDLEtBQUtDLGFBQWEsQ0FBQ0YsZUFBZTtnQkFDMUQsTUFBTUcsV0FDSixDQUFDTCxRQUFBQSxPQUFNLENBQUNLLFFBQVEsS0FBSyxVQUFVTCxRQUFBQSxPQUFNLENBQUNLLFFBQVEsS0FBSyxjQUNuREgsa0JBQ0lBLGtCQUNBRixRQUFBQSxPQUFNLENBQUNLLFFBQVE7Z0JBRXJCVCxDQUFBQSxHQUFBQSxXQUFBQSxXQUFXLEVBQUNDLEtBQUtDLFNBQVMsQ0FBQztvQkFBRUMsT0FBTztvQkFBUUwsTUFBTVc7Z0JBQVM7WUFDN0QsR0FBRztRQUNMO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LnRzP2UwNDUiXSwibmFtZXMiOlsiX2RlZmF1bHQiLCJwYWdlIiwic2V0SW50ZXJ2YWwiLCJzZW5kTWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJldmVudCIsIlJvdXRlciIsInJlYWR5Iiwibm90Rm91bmRTcmNQYWdlIiwic2VsZiIsIl9fTkVYVF9EQVRBX18iLCJwYXRobmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/on-demand-entries-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/has-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/has-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasBasePath\", ({\n enumerable: true,\n get: function() {\n return hasBasePath;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst basePath = false || \"\";\nfunction hasBasePath(path) {\n return (0, _pathhasprefix.pathHasPrefix)(path, basePath);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBSWdCQTs7O2VBQUFBOzs7MkNBSmM7QUFFOUIsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZO0lBQ3RDLE9BQU9DLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ0QsTUFBTUo7QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaGFzLWJhc2UtcGF0aC50cz9hMzEyIl0sIm5hbWVzIjpbImhhc0Jhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJwYXRoSGFzUHJlZml4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/has-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/head-manager.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/head-manager.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DOMAttributeNames: function() {\n return DOMAttributeNames;\n },\n default: function() {\n return initHeadManager;\n },\n isEqualNode: function() {\n return isEqualNode;\n }\n});\nconst DOMAttributeNames = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\",\n noModule: \"noModule\"\n};\nfunction reactElementToDOM(param) {\n let { type, props } = param;\n const el = document.createElement(type);\n for(const p in props){\n if (!props.hasOwnProperty(p)) continue;\n if (p === \"children\" || p === \"dangerouslySetInnerHTML\") continue;\n // we don't render undefined props to the DOM\n if (props[p] === undefined) continue;\n const attr = DOMAttributeNames[p] || p.toLowerCase();\n if (type === \"script\" && (attr === \"async\" || attr === \"defer\" || attr === \"noModule\")) {\n el[attr] = !!props[p];\n } else {\n el.setAttribute(attr, props[p]);\n }\n }\n const { children, dangerouslySetInnerHTML } = props;\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return el;\n}\nfunction isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(\"nonce\");\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(\"nonce\")) {\n const cloneTag = newTag.cloneNode(true);\n cloneTag.setAttribute(\"nonce\", \"\");\n cloneTag.nonce = nonce;\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag);\n }\n }\n return oldTag.isEqualNode(newTag);\n}\nlet updateElements;\nif (false) {} else {\n updateElements = (type, components)=>{\n const headEl = document.getElementsByTagName(\"head\")[0];\n const headCountEl = headEl.querySelector(\"meta[name=next-head-count]\");\n if (true) {\n if (!headCountEl) {\n console.error(\"Warning: next-head-count is missing. https://nextjs.org/docs/messages/next-head-count-missing\");\n return;\n }\n }\n const headCount = Number(headCountEl.content);\n const oldTags = [];\n for(let i = 0, j = headCountEl.previousElementSibling; i < headCount; i++, j = (j == null ? void 0 : j.previousElementSibling) || null){\n var _j_tagName;\n if ((j == null ? void 0 : (_j_tagName = j.tagName) == null ? void 0 : _j_tagName.toLowerCase()) === type) {\n oldTags.push(j);\n }\n }\n const newTags = components.map(reactElementToDOM).filter((newTag)=>{\n for(let k = 0, len = oldTags.length; k < len; k++){\n const oldTag = oldTags[k];\n if (isEqualNode(oldTag, newTag)) {\n oldTags.splice(k, 1);\n return false;\n }\n }\n return true;\n });\n oldTags.forEach((t)=>{\n var _t_parentNode;\n return (_t_parentNode = t.parentNode) == null ? void 0 : _t_parentNode.removeChild(t);\n });\n newTags.forEach((t)=>headEl.insertBefore(t, headCountEl));\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString();\n };\n}\nfunction initHeadManager() {\n return {\n mountedInstances: new Set(),\n updateHead: (head)=>{\n const tags = {};\n head.forEach((h)=>{\n if (// it won't be inlined. In this case revert to the original behavior\n h.type === \"link\" && h.props[\"data-optimized-fonts\"]) {\n if (document.querySelector('style[data-href=\"' + h.props[\"data-href\"] + '\"]')) {\n return;\n } else {\n h.props.href = h.props[\"data-href\"];\n h.props[\"data-href\"] = undefined;\n }\n }\n const components = tags[h.type] || [];\n components.push(h);\n tags[h.type] = components;\n });\n const titleComponent = tags.title ? tags.title[0] : null;\n let title = \"\";\n if (titleComponent) {\n const { children } = titleComponent.props;\n title = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n if (title !== document.title) document.title = title;\n [\n \"meta\",\n \"base\",\n \"link\",\n \"style\",\n \"script\"\n ].forEach((type)=>{\n updateElements(type, tags[type] || []);\n });\n }\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head-manager.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oZWFkLW1hbmFnZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLG1CQUFpQjtlQUFqQkE7O0lBbUxiQyxTQWdEQztlQWhEdUJDOztJQTNIUkMsYUFBVztlQUFYQTs7O0FBeERULE1BQU1ILG9CQUE0QztJQUN2REksZUFBZTtJQUNmQyxXQUFXO0lBQ1hDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxVQUFVO0FBQ1o7QUFFQSxTQUFTQyxrQkFBa0JDLEtBQTRCO0lBQTVCLE1BQUVDLElBQUksRUFBRUMsS0FBSyxFQUFlLEdBQTVCRjtJQUN6QixNQUFNRyxLQUFrQkMsU0FBU0MsYUFBYSxDQUFDSjtJQUMvQyxJQUFLLE1BQU1LLEtBQUtKLE1BQU87UUFDckIsSUFBSSxDQUFDQSxNQUFNSyxjQUFjLENBQUNELElBQUk7UUFDOUIsSUFBSUEsTUFBTSxjQUFjQSxNQUFNLDJCQUEyQjtRQUV6RCw2Q0FBNkM7UUFDN0MsSUFBSUosS0FBSyxDQUFDSSxFQUFFLEtBQUtFLFdBQVc7UUFFNUIsTUFBTUMsT0FBT25CLGlCQUFpQixDQUFDZ0IsRUFBRSxJQUFJQSxFQUFFSSxXQUFXO1FBQ2xELElBQ0VULFNBQVMsWUFDUlEsQ0FBQUEsU0FBUyxXQUFXQSxTQUFTLFdBQVdBLFNBQVMsYUFDbEQ7WUFDRU4sRUFBd0IsQ0FBQ00sS0FBSyxHQUFHLENBQUMsQ0FBQ1AsS0FBSyxDQUFDSSxFQUFFO1FBQy9DLE9BQU87WUFDTEgsR0FBR1EsWUFBWSxDQUFDRixNQUFNUCxLQUFLLENBQUNJLEVBQUU7UUFDaEM7SUFDRjtJQUVBLE1BQU0sRUFBRU0sUUFBUSxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHWDtJQUM5QyxJQUFJVyx5QkFBeUI7UUFDM0JWLEdBQUdXLFNBQVMsR0FBR0Qsd0JBQXdCRSxNQUFNLElBQUk7SUFDbkQsT0FBTyxJQUFJSCxVQUFVO1FBQ25CVCxHQUFHYSxXQUFXLEdBQ1osT0FBT0osYUFBYSxXQUNoQkEsV0FDQUssTUFBTUMsT0FBTyxDQUFDTixZQUNkQSxTQUFTTyxJQUFJLENBQUMsTUFDZDtJQUNSO0lBQ0EsT0FBT2hCO0FBQ1Q7QUFnQk8sU0FBU1YsWUFBWTJCLE1BQWUsRUFBRUMsTUFBZTtJQUMxRCxJQUFJRCxrQkFBa0JFLGVBQWVELGtCQUFrQkMsYUFBYTtRQUNsRSxNQUFNQyxRQUFRRixPQUFPRyxZQUFZLENBQUM7UUFDbEMsOEZBQThGO1FBQzlGLDRGQUE0RjtRQUM1RixJQUFJRCxTQUFTLENBQUNILE9BQU9JLFlBQVksQ0FBQyxVQUFVO1lBQzFDLE1BQU1DLFdBQVdKLE9BQU9LLFNBQVMsQ0FBQztZQUNsQ0QsU0FBU2QsWUFBWSxDQUFDLFNBQVM7WUFDL0JjLFNBQVNGLEtBQUssR0FBR0E7WUFDakIsT0FBT0EsVUFBVUgsT0FBT0csS0FBSyxJQUFJSCxPQUFPM0IsV0FBVyxDQUFDZ0M7UUFDdEQ7SUFDRjtJQUVBLE9BQU9MLE9BQU8zQixXQUFXLENBQUM0QjtBQUM1QjtBQUVBLElBQUlNO0FBRUosSUFBSUMsS0FBbUMsRUFBRSxFQXVEekMsTUFBTztJQUNMRCxpQkFBaUIsQ0FBQzFCLE1BQWM4QjtRQUM5QixNQUFNQyxTQUFTNUIsU0FBU3dELG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZELE1BQU1DLGNBQStCN0IsT0FBT0MsYUFBYSxDQUN2RDtRQUVGLElBQUlMLElBQXlCLEVBQWM7WUFDekMsSUFBSSxDQUFDaUMsYUFBYTtnQkFDaEJDLFFBQVFDLEtBQUssQ0FDWDtnQkFFRjtZQUNGO1FBQ0Y7UUFFQSxNQUFNQyxZQUFZQyxPQUFPSixZQUFZSCxPQUFPO1FBQzVDLE1BQU10QixVQUFxQixFQUFFO1FBRTdCLElBQ0UsSUFBSUcsSUFBSSxHQUFHMkIsSUFBSUwsWUFBWU0sc0JBQXNCLEVBQ2pENUIsSUFBSXlCLFdBQ0p6QixLQUFLMkIsSUFBSUEsQ0FBQUEsS0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsRUFBR0Msc0JBQXNCLEtBQUksS0FDdEM7Z0JBQ0lEO1lBQUosSUFBSUEsQ0FBQUEsS0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsYUFBQUEsRUFBR3RCLE9BQU8scUJBQVZzQixXQUFZeEQsV0FBVyxRQUFPVCxNQUFNO2dCQUN0Q21DLFFBQVFFLElBQUksQ0FBQzRCO1lBQ2Y7UUFDRjtRQUNBLE1BQU1yQixVQUFVZCxXQUFZZSxHQUFHLENBQUMvQyxtQkFBcUNnRCxNQUFNLENBQ3pFLENBQUMxQjtZQUNDLElBQUssSUFBSTJCLElBQUksR0FBR0MsTUFBTWIsUUFBUUksTUFBTSxFQUFFUSxJQUFJQyxLQUFLRCxJQUFLO2dCQUNsRCxNQUFNNUIsU0FBU2dCLE9BQU8sQ0FBQ1ksRUFBRTtnQkFDekIsSUFBSXZELFlBQVkyQixRQUFRQyxTQUFTO29CQUMvQmUsUUFBUWMsTUFBTSxDQUFDRixHQUFHO29CQUNsQixPQUFPO2dCQUNUO1lBQ0Y7WUFDQSxPQUFPO1FBQ1Q7UUFHRlosUUFBUWUsT0FBTyxDQUFDLENBQUNDO2dCQUFNQTttQkFBQUEsQ0FBQUEsZ0JBQUFBLEVBQUVFLFVBQVUscUJBQVpGLGNBQWNHLFdBQVcsQ0FBQ0g7O1FBQ2pEUCxRQUFRTSxPQUFPLENBQUMsQ0FBQ0MsSUFBTXBCLE9BQU9vQyxZQUFZLENBQUNoQixHQUFHUztRQUM5Q0EsWUFBWUgsT0FBTyxHQUFHLENBQ3BCTSxZQUNBNUIsUUFBUUksTUFBTSxHQUNkSyxRQUFRTCxNQUFNLEVBQ2Q2QixRQUFRO0lBQ1o7QUFDRjtBQUVlLFNBQVM3RTtJQUl0QixPQUFPO1FBQ0w4RSxrQkFBa0IsSUFBSUM7UUFDdEJDLFlBQVksQ0FBQ0M7WUFDWCxNQUFNQyxPQUFzQyxDQUFDO1lBRTdDRCxLQUFLdEIsT0FBTyxDQUFDLENBQUN3QjtnQkFDWixJQUVFLG9FQUFvRTtnQkFDcEVBLEVBQUUxRSxJQUFJLEtBQUssVUFDWDBFLEVBQUV6RSxLQUFLLENBQUMsdUJBQXVCLEVBQy9CO29CQUNBLElBQ0VFLFNBQVM2QixhQUFhLENBQUMsc0JBQW9CMEMsRUFBRXpFLEtBQUssQ0FBQyxZQUFZLEdBQUMsT0FDaEU7d0JBQ0E7b0JBQ0YsT0FBTzt3QkFDTHlFLEVBQUV6RSxLQUFLLENBQUMwRSxJQUFJLEdBQUdELEVBQUV6RSxLQUFLLENBQUMsWUFBWTt3QkFDbkN5RSxFQUFFekUsS0FBSyxDQUFDLFlBQVksR0FBR007b0JBQ3pCO2dCQUNGO2dCQUVBLE1BQU11QixhQUFhMkMsSUFBSSxDQUFDQyxFQUFFMUUsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDckM4QixXQUFXTyxJQUFJLENBQUNxQztnQkFDaEJELElBQUksQ0FBQ0MsRUFBRTFFLElBQUksQ0FBQyxHQUFHOEI7WUFDakI7WUFFQSxNQUFNOEMsaUJBQWlCSCxLQUFLSSxLQUFLLEdBQUdKLEtBQUtJLEtBQUssQ0FBQyxFQUFFLEdBQUc7WUFDcEQsSUFBSUEsUUFBUTtZQUNaLElBQUlELGdCQUFnQjtnQkFDbEIsTUFBTSxFQUFFakUsUUFBUSxFQUFFLEdBQUdpRSxlQUFlM0UsS0FBSztnQkFDekM0RSxRQUNFLE9BQU9sRSxhQUFhLFdBQ2hCQSxXQUNBSyxNQUFNQyxPQUFPLENBQUNOLFlBQ2RBLFNBQVNPLElBQUksQ0FBQyxNQUNkO1lBQ1I7WUFDQSxJQUFJMkQsVUFBVTFFLFNBQVMwRSxLQUFLLEVBQUUxRSxTQUFTMEUsS0FBSyxHQUFHQTtZQUM5QztnQkFBQztnQkFBUTtnQkFBUTtnQkFBUTtnQkFBUzthQUFTLENBQUMzQixPQUFPLENBQUMsQ0FBQ2xEO2dCQUNwRDBCLGVBQWUxQixNQUFNeUUsSUFBSSxDQUFDekUsS0FBSyxJQUFJLEVBQUU7WUFDdkM7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaGVhZC1tYW5hZ2VyLnRzPzcxMDkiXSwibmFtZXMiOlsiRE9NQXR0cmlidXRlTmFtZXMiLCJkZWZhdWx0IiwiaW5pdEhlYWRNYW5hZ2VyIiwiaXNFcXVhbE5vZGUiLCJhY2NlcHRDaGFyc2V0IiwiY2xhc3NOYW1lIiwiaHRtbEZvciIsImh0dHBFcXVpdiIsIm5vTW9kdWxlIiwicmVhY3RFbGVtZW50VG9ET00iLCJwYXJhbSIsInR5cGUiLCJwcm9wcyIsImVsIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwicCIsImhhc093blByb3BlcnR5IiwidW5kZWZpbmVkIiwiYXR0ciIsInRvTG93ZXJDYXNlIiwic2V0QXR0cmlidXRlIiwiY2hpbGRyZW4iLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImlubmVySFRNTCIsIl9faHRtbCIsInRleHRDb250ZW50IiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsIm9sZFRhZyIsIm5ld1RhZyIsIkhUTUxFbGVtZW50Iiwibm9uY2UiLCJnZXRBdHRyaWJ1dGUiLCJjbG9uZVRhZyIsImNsb25lTm9kZSIsInVwZGF0ZUVsZW1lbnRzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9TVFJJQ1RfTkVYVF9IRUFEIiwiY29tcG9uZW50cyIsImhlYWRFbCIsInF1ZXJ5U2VsZWN0b3IiLCJoZWFkTWV0YVRhZ3MiLCJxdWVyeVNlbGVjdG9yQWxsIiwib2xkVGFncyIsIm1ldGFDaGFyc2V0IiwicHVzaCIsImkiLCJsZW5ndGgiLCJoZWFkVGFnIiwibWV0YVRhZyIsIm5leHRTaWJsaW5nIiwidGFnTmFtZSIsIm5ld1RhZ3MiLCJtYXAiLCJmaWx0ZXIiLCJrIiwibGVuIiwic3BsaWNlIiwiZm9yRWFjaCIsInQiLCJwcmV2aW91c1NpYmxpbmciLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJtZXRhIiwibmFtZSIsImNvbnRlbnQiLCJhcHBlbmRDaGlsZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaGVhZENvdW50RWwiLCJjb25zb2xlIiwiZXJyb3IiLCJoZWFkQ291bnQiLCJOdW1iZXIiLCJqIiwicHJldmlvdXNFbGVtZW50U2libGluZyIsImluc2VydEJlZm9yZSIsInRvU3RyaW5nIiwibW91bnRlZEluc3RhbmNlcyIsIlNldCIsInVwZGF0ZUhlYWQiLCJoZWFkIiwidGFncyIsImgiLCJocmVmIiwidGl0bGVDb21wb25lbnQiLCJ0aXRsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/head-manager.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/normalize-trailing-slash.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return normalizePathTrailingSlash;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst normalizePathTrailingSlash = (path)=>{\n if (!path.startsWith(\"/\") || undefined) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n if (false) {}\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=normalize-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanMiLCJtYXBwaW5ncyI6Ijs7Ozs4REFPYUE7OztlQUFBQTs7O2lEQVB1Qjt1Q0FDVjtBQU1uQixNQUFNQSw2QkFBNkIsQ0FBQ0M7SUFDekMsSUFBSSxDQUFDQSxLQUFLQyxVQUFVLENBQUMsUUFBUUMsU0FBd0MsRUFBRTtRQUNyRSxPQUFPRjtJQUNUO0lBRUEsTUFBTSxFQUFFSyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLFdBQUFBLFNBQVMsRUFBQ1I7SUFDNUMsSUFBSUUsS0FBaUMsRUFBRSxFQVF2QztJQUVBLE9BQU8sS0FBR1MsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDTixZQUFZQyxRQUFRQztBQUNwRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2gudHM/YmEwMSJdLCJuYW1lcyI6WyJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsInBhdGgiLCJzdGFydHNXaXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9NQU5VQUxfVFJBSUxJTkdfU0xBU0giLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCIsIl9fTkVYVF9UUkFJTElOR19TTEFTSCIsInRlc3QiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/normalize-trailing-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/remove-base-path.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-base-path.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeBasePath\", ({\n enumerable: true,\n get: function() {\n return removeBasePath;\n }\n}));\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || \"\";\nfunction removeBasePath(path) {\n if (false) {}\n // Can't trim the basePath if it has zero length!\n if (basePath.length === 0) return path;\n path = path.slice(basePath.length);\n if (!path.startsWith(\"/\")) path = \"/\" + path;\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBSWdCQTs7O2VBQUFBOzs7eUNBSlk7QUFFNUIsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixlQUFlSyxJQUFZO0lBQ3pDLElBQUlILEtBQTBDLEVBQUUsRUFJaEQ7SUFFQSxpREFBaUQ7SUFDakQsSUFBSUQsU0FBU08sTUFBTSxLQUFLLEdBQUcsT0FBT0g7SUFFbENBLE9BQU9BLEtBQUtJLEtBQUssQ0FBQ1IsU0FBU08sTUFBTTtJQUNqQyxJQUFJLENBQUNILEtBQUtLLFVBQVUsQ0FBQyxNQUFNTCxPQUFPLE1BQUlBO0lBQ3RDLE9BQU9BO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvcmVtb3ZlLWJhc2UtcGF0aC50cz9mYTcyIl0sIm5hbWVzIjpbInJlbW92ZUJhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJoYXNCYXNlUGF0aCIsImxlbmd0aCIsInNsaWNlIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/remove-locale.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-locale.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeLocale\", ({\n enumerable: true,\n get: function() {\n return removeLocale;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction removeLocale(path, locale) {\n if (false) {}\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0RBRWdCQTs7O2VBQUFBOzs7dUNBRlU7QUFFbkIsU0FBU0EsYUFBYUMsSUFBWSxFQUFFQyxNQUFlO0lBQ3hELElBQUlDLEtBQStCLEVBQUUsRUFZckM7SUFDQSxPQUFPRjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JlbW92ZS1sb2NhbGUudHM/YWRkYyJdLCJuYW1lcyI6WyJyZW1vdmVMb2NhbGUiLCJwYXRoIiwibG9jYWxlIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJwYXRobmFtZSIsInBhcnNlUGF0aCIsInBhdGhMb3dlciIsInRvTG93ZXJDYXNlIiwibG9jYWxlTG93ZXIiLCJzdGFydHNXaXRoIiwibGVuZ3RoIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/request-idle-callback.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/request-idle-callback.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZ0JhQSxvQkFBa0I7ZUFBbEJBOztJQWhCQUMscUJBQW1CO2VBQW5CQTs7O0FBQU4sTUFBTUEsc0JBQ1gsT0FBUUMsU0FBUyxlQUNmQSxLQUFLRCxtQkFBbUIsSUFDeEJDLEtBQUtELG1CQUFtQixDQUFDRSxJQUFJLENBQUNDLFdBQ2hDLFNBQVVDLEVBQXVCO0lBQy9CLElBQUlDLFFBQVFDLEtBQUtDLEdBQUc7SUFDcEIsT0FBT04sS0FBS08sVUFBVSxDQUFDO1FBQ3JCSixHQUFHO1lBQ0RLLFlBQVk7WUFDWkMsZUFBZTtnQkFDYixPQUFPQyxLQUFLQyxHQUFHLENBQUMsR0FBRyxLQUFNTixDQUFBQSxLQUFLQyxHQUFHLEtBQUtGLEtBQUFBO1lBQ3hDO1FBQ0Y7SUFDRixHQUFHO0FBQ0w7QUFFSyxNQUFNTixxQkFDWCxPQUFRRSxTQUFTLGVBQ2ZBLEtBQUtGLGtCQUFrQixJQUN2QkUsS0FBS0Ysa0JBQWtCLENBQUNHLElBQUksQ0FBQ0MsV0FDL0IsU0FBVVUsRUFBVTtJQUNsQixPQUFPQyxhQUFhRDtBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2sudHM/MDVmNCJdLCJuYW1lcyI6WyJjYW5jZWxJZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwic2VsZiIsImJpbmQiLCJ3aW5kb3ciLCJjYiIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInNldFRpbWVvdXQiLCJkaWRUaW1lb3V0IiwidGltZVJlbWFpbmluZyIsIk1hdGgiLCJtYXgiLCJpZCIsImNsZWFyVGltZW91dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/request-idle-callback.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/resolve-href.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/resolve-href.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXNvbHZlLWhyZWYuanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0F5QmdCQTs7O2VBQUFBOzs7eUNBdkJ1Qjt1Q0FDRjtrQ0FDaEI7bUNBQ29CO29EQUNFO3dDQUNoQjtvQ0FDSTsyQ0FDRDtBQWdCdkIsU0FBU0EsWUFDZEMsTUFBa0IsRUFDbEJDLElBQVMsRUFDVEMsU0FBbUI7SUFFbkIsNENBQTRDO0lBQzVDLElBQUlDO0lBQ0osSUFBSUMsY0FBYyxPQUFPSCxTQUFTLFdBQVdBLE9BQU9JLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDSjtJQUV6RSw2REFBNkQ7SUFDN0QsbURBQW1EO0lBQ25ELE1BQU1LLGdCQUFnQkYsWUFBWUcsS0FBSyxDQUFDO0lBQ3hDLE1BQU1DLHFCQUFxQkYsZ0JBQ3ZCRixZQUFZSyxLQUFLLENBQUNILGFBQWEsQ0FBQyxFQUFFLENBQUNJLE1BQU0sSUFDekNOO0lBRUosTUFBTU8sV0FBV0gsbUJBQW1CSSxLQUFLLENBQUMsS0FBSztJQUUvQyxJQUFJLENBQUNELFFBQVEsQ0FBQyxFQUFFLElBQUksSUFBSUosS0FBSyxDQUFDLGNBQWM7UUFDMUNNLFFBQVFDLEtBQUssQ0FDWCxtQkFBaUJWLGNBQVksdUNBQW9DSixPQUFPZSxRQUFRLEdBQUM7UUFFbkYsTUFBTUMsZ0JBQWdCQyxDQUFBQSxHQUFBQSxPQUFBQSx3QkFBd0IsRUFBQ1Q7UUFDL0NKLGNBQWMsQ0FBQ0UsZ0JBQWdCQSxhQUFhLENBQUMsRUFBRSxHQUFHLE1BQU1VO0lBQzFEO0lBRUEsMkRBQTJEO0lBQzNELElBQUksQ0FBQ0UsQ0FBQUEsR0FBQUEsWUFBQUEsVUFBVSxFQUFDZCxjQUFjO1FBQzVCLE9BQVFGLFlBQVk7WUFBQ0U7U0FBWSxHQUFHQTtJQUN0QztJQUVBLElBQUk7UUFDRkQsT0FBTyxJQUFJZ0IsSUFDVGYsWUFBWWdCLFVBQVUsQ0FBQyxPQUFPcEIsT0FBT3FCLE1BQU0sR0FBR3JCLE9BQU9lLFFBQVEsRUFDN0Q7SUFFSixFQUFFLE9BQU9PLEdBQUc7UUFDVixrREFBa0Q7UUFDbERuQixPQUFPLElBQUlnQixJQUFJLEtBQUs7SUFDdEI7SUFFQSxJQUFJO1FBQ0YsTUFBTUksV0FBVyxJQUFJSixJQUFJZixhQUFhRDtRQUN0Q29CLFNBQVNSLFFBQVEsR0FBR1MsQ0FBQUEsR0FBQUEsd0JBQUFBLDBCQUEwQixFQUFDRCxTQUFTUixRQUFRO1FBQ2hFLElBQUlVLGlCQUFpQjtRQUVyQixJQUNFQyxDQUFBQSxHQUFBQSxRQUFBQSxjQUFjLEVBQUNILFNBQVNSLFFBQVEsS0FDaENRLFNBQVNJLFlBQVksSUFDckJ6QixXQUNBO1lBQ0EsTUFBTTBCLFFBQVFDLENBQUFBLEdBQUFBLGFBQUFBLHNCQUFzQixFQUFDTixTQUFTSSxZQUFZO1lBRTFELE1BQU0sRUFBRUcsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUN0Q1QsU0FBU1IsUUFBUSxFQUNqQlEsU0FBU1IsUUFBUSxFQUNqQmE7WUFHRixJQUFJRSxRQUFRO2dCQUNWTCxpQkFBaUJwQixDQUFBQSxHQUFBQSxXQUFBQSxvQkFBb0IsRUFBQztvQkFDcENVLFVBQVVlO29CQUNWRyxNQUFNVixTQUFTVSxJQUFJO29CQUNuQkwsT0FBT00sQ0FBQUEsR0FBQUEsTUFBQUEsSUFBSSxFQUFDTixPQUFPRztnQkFDckI7WUFDRjtRQUNGO1FBRUEsb0VBQW9FO1FBQ3BFLE1BQU1JLGVBQ0paLFNBQVNhLE1BQU0sS0FBS2pDLEtBQUtpQyxNQUFNLEdBQzNCYixTQUFTdEIsSUFBSSxDQUFDUSxLQUFLLENBQUNjLFNBQVNhLE1BQU0sQ0FBQzFCLE1BQU0sSUFDMUNhLFNBQVN0QixJQUFJO1FBRW5CLE9BQU9DLFlBQ0g7WUFBQ2lDO1lBQWNWLGtCQUFrQlU7U0FBYSxHQUM5Q0E7SUFDTixFQUFFLE9BQU9iLEdBQUc7UUFDVixPQUFPcEIsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3JDO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvcmVzb2x2ZS1ocmVmLnRzP2U2ZDIiXSwibmFtZXMiOlsicmVzb2x2ZUhyZWYiLCJyb3V0ZXIiLCJocmVmIiwicmVzb2x2ZUFzIiwiYmFzZSIsInVybEFzU3RyaW5nIiwiZm9ybWF0V2l0aFZhbGlkYXRpb24iLCJ1cmxQcm90b01hdGNoIiwibWF0Y2giLCJ1cmxBc1N0cmluZ05vUHJvdG8iLCJzbGljZSIsImxlbmd0aCIsInVybFBhcnRzIiwic3BsaXQiLCJjb25zb2xlIiwiZXJyb3IiLCJwYXRobmFtZSIsIm5vcm1hbGl6ZWRVcmwiLCJub3JtYWxpemVSZXBlYXRlZFNsYXNoZXMiLCJpc0xvY2FsVVJMIiwiVVJMIiwic3RhcnRzV2l0aCIsImFzUGF0aCIsIl8iLCJmaW5hbFVybCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiaW50ZXJwb2xhdGVkQXMiLCJpc0R5bmFtaWNSb3V0ZSIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5Iiwic2VhcmNoUGFyYW1zVG9VcmxRdWVyeSIsInJlc3VsdCIsInBhcmFtcyIsImludGVycG9sYXRlQXMiLCJoYXNoIiwib21pdCIsInJlc29sdmVkSHJlZiIsIm9yaWdpbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/resolve-href.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/route-loader.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/route-loader.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createRouteLoader: function() {\n return createRouteLoader;\n },\n getClientBuildManifest: function() {\n return getClientBuildManifest;\n },\n isAssetError: function() {\n return isAssetError;\n },\n markAssetError: function() {\n return markAssetError;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getassetpathfromroute = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/utils/get-asset-path-from-route */ \"./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"));\nconst _trustedtypes = __webpack_require__(/*! ./trusted-types */ \"./node_modules/next/dist/client/trusted-types.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\nconst _deploymentid = __webpack_require__(/*! ../build/deployment-id */ \"./node_modules/next/dist/build/deployment-id.js\");\n// 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\nconst MS_MAX_IDLE_DELAY = 3800;\nfunction withFuture(key, map, generator) {\n let entry = map.get(key);\n if (entry) {\n if (\"future\" in entry) {\n return entry.future;\n }\n return Promise.resolve(entry);\n }\n let resolver;\n const prom = new Promise((resolve)=>{\n resolver = resolve;\n });\n map.set(key, entry = {\n resolve: resolver,\n future: prom\n });\n return generator ? generator() // eslint-disable-next-line no-sequences\n .then((value)=>(resolver(value), value)).catch((err)=>{\n map.delete(key);\n throw err;\n }) : prom;\n}\nconst ASSET_LOAD_ERROR = Symbol(\"ASSET_LOAD_ERROR\");\nfunction markAssetError(err) {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {});\n}\nfunction isAssetError(err) {\n return err && ASSET_LOAD_ERROR in err;\n}\nfunction hasPrefetch(link) {\n try {\n link = document.createElement(\"link\");\n return(// with relList.support\n !!window.MSInputMethodContext && !!document.documentMode || link.relList.supports(\"prefetch\"));\n } catch (e) {\n return false;\n }\n}\nconst canPrefetch = hasPrefetch();\nconst getAssetQueryString = ()=>{\n return (0, _deploymentid.getDeploymentIdQueryOrEmptyString)();\n};\nfunction prefetchViaDom(href, as, link) {\n return new Promise((resolve, reject)=>{\n const selector = '\\n link[rel=\"prefetch\"][href^=\"' + href + '\"],\\n link[rel=\"preload\"][href^=\"' + href + '\"],\\n script[src^=\"' + href + '\"]';\n if (document.querySelector(selector)) {\n return resolve();\n }\n link = document.createElement(\"link\");\n // The order of property assignment here is intentional:\n if (as) link.as = as;\n link.rel = \"prefetch\";\n link.crossOrigin = undefined;\n link.onload = resolve;\n link.onerror = ()=>reject(markAssetError(new Error(\"Failed to prefetch: \" + href)));\n // `href` should always be last:\n link.href = href;\n document.head.appendChild(link);\n });\n}\nfunction appendScript(src, script) {\n return new Promise((resolve, reject)=>{\n script = document.createElement(\"script\");\n // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n script.onload = resolve;\n script.onerror = ()=>reject(markAssetError(new Error(\"Failed to load script: \" + src)));\n // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n script.crossOrigin = undefined;\n // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n script.src = src;\n document.body.appendChild(script);\n });\n}\n// We wait for pages to be built in dev before we start the route transition\n// timeout to prevent an un-necessary hard navigation in development.\nlet devBuildPromise;\n// Resolve a promise that times out after given amount of milliseconds.\nfunction resolvePromiseWithTimeout(p, ms, err) {\n return new Promise((resolve, reject)=>{\n let cancelled = false;\n p.then((r)=>{\n // Resolved, cancel the timeout\n cancelled = true;\n resolve(r);\n }).catch(reject);\n // We wrap these checks separately for better dead-code elimination in\n // production bundles.\n if (true) {\n (devBuildPromise || Promise.resolve()).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>setTimeout(()=>{\n if (!cancelled) {\n reject(err);\n }\n }, ms));\n });\n }\n if (false) {}\n });\n}\nfunction getClientBuildManifest() {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST);\n }\n const onBuildManifest = new Promise((resolve)=>{\n // Mandatory because this is not concurrent safe:\n const cb = self.__BUILD_MANIFEST_CB;\n self.__BUILD_MANIFEST_CB = ()=>{\n resolve(self.__BUILD_MANIFEST);\n cb && cb();\n };\n });\n return resolvePromiseWithTimeout(onBuildManifest, MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Failed to load client build manifest\")));\n}\nfunction getFilesForRoute(assetPrefix, route) {\n if (true) {\n const scriptUrl = assetPrefix + \"/_next/static/chunks/pages\" + encodeURI((0, _getassetpathfromroute.default)(route, \".js\")) + getAssetQueryString();\n return Promise.resolve({\n scripts: [\n (0, _trustedtypes.__unsafeCreateTrustedScriptURL)(scriptUrl)\n ],\n // Styles are handled by `style-loader` in development:\n css: []\n });\n }\n return getClientBuildManifest().then((manifest)=>{\n if (!(route in manifest)) {\n throw markAssetError(new Error(\"Failed to lookup route: \" + route));\n }\n const allFiles = manifest[route].map((entry)=>assetPrefix + \"/_next/\" + encodeURI(entry));\n return {\n scripts: allFiles.filter((v)=>v.endsWith(\".js\")).map((v)=>(0, _trustedtypes.__unsafeCreateTrustedScriptURL)(v) + getAssetQueryString()),\n css: allFiles.filter((v)=>v.endsWith(\".css\")).map((v)=>v + getAssetQueryString())\n };\n });\n}\nfunction createRouteLoader(assetPrefix) {\n const entrypoints = new Map();\n const loadedScripts = new Map();\n const styleSheets = new Map();\n const routes = new Map();\n function maybeExecuteScript(src) {\n // With HMR we might need to \"reload\" scripts when they are\n // disposed and readded. Executing scripts twice has no functional\n // differences\n if (false) {} else {\n return appendScript(src);\n }\n }\n function fetchStyleSheet(href) {\n let prom = styleSheets.get(href);\n if (prom) {\n return prom;\n }\n styleSheets.set(href, prom = fetch(href, {\n credentials: \"same-origin\"\n }).then((res)=>{\n if (!res.ok) {\n throw new Error(\"Failed to load stylesheet: \" + href);\n }\n return res.text().then((text)=>({\n href: href,\n content: text\n }));\n }).catch((err)=>{\n throw markAssetError(err);\n }));\n return prom;\n }\n return {\n whenEntrypoint (route) {\n return withFuture(route, entrypoints);\n },\n onEntrypoint (route, execute) {\n (execute ? Promise.resolve().then(()=>execute()).then((exports1)=>({\n component: exports1 && exports1.default || exports1,\n exports: exports1\n }), (err)=>({\n error: err\n })) : Promise.resolve(undefined)).then((input)=>{\n const old = entrypoints.get(route);\n if (old && \"resolve\" in old) {\n if (input) {\n entrypoints.set(route, input);\n old.resolve(input);\n }\n } else {\n if (input) {\n entrypoints.set(route, input);\n } else {\n entrypoints.delete(route);\n }\n // when this entrypoint has been resolved before\n // the route is outdated and we want to invalidate\n // this cache entry\n routes.delete(route);\n }\n });\n },\n loadRoute (route, prefetch) {\n return withFuture(route, routes, ()=>{\n let devBuildPromiseResolve;\n if (true) {\n devBuildPromise = new Promise((resolve)=>{\n devBuildPromiseResolve = resolve;\n });\n }\n return resolvePromiseWithTimeout(getFilesForRoute(assetPrefix, route).then((param)=>{\n let { scripts, css } = param;\n return Promise.all([\n entrypoints.has(route) ? [] : Promise.all(scripts.map(maybeExecuteScript)),\n Promise.all(css.map(fetchStyleSheet))\n ]);\n }).then((res)=>{\n return this.whenEntrypoint(route).then((entrypoint)=>({\n entrypoint,\n styles: res[1]\n }));\n }), MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Route did not complete loading: \" + route))).then((param)=>{\n let { entrypoint, styles } = param;\n const res = Object.assign({\n styles: styles\n }, entrypoint);\n return \"error\" in entrypoint ? entrypoint : res;\n }).catch((err)=>{\n if (prefetch) {\n // we don't want to cache errors during prefetch\n throw err;\n }\n return {\n error: err\n };\n }).finally(()=>devBuildPromiseResolve == null ? void 0 : devBuildPromiseResolve());\n });\n },\n prefetch (route) {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn;\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve();\n }\n return getFilesForRoute(assetPrefix, route).then((output)=>Promise.all(canPrefetch ? output.scripts.map((script)=>prefetchViaDom(script.toString(), \"script\")) : [])).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>this.loadRoute(route, true).catch(()=>{}));\n }).catch(()=>{});\n }\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=route-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBOFJnQkEsbUJBQWlCO2VBQWpCQTs7SUEzREFDLHdCQUFzQjtlQUF0QkE7O0lBbklBQyxjQUFZO2VBQVpBOztJQUpBQyxnQkFBYztlQUFkQTs7Ozs0RkExRmtCOzBDQUNhO2lEQUNYOzBDQUNjO0FBRWxELHVFQUF1RTtBQUN2RSx5RUFBeUU7QUFDekUsMkVBQTJFO0FBQzNFLG9DQUFvQztBQUNwQyxNQUFNQyxvQkFBb0I7QUE0QzFCLFNBQVNDLFdBQ1BDLEdBQVcsRUFDWEMsR0FBK0IsRUFDL0JDLFNBQTRCO0lBRTVCLElBQUlDLFFBQVFGLElBQUlHLEdBQUcsQ0FBQ0o7SUFDcEIsSUFBSUcsT0FBTztRQUNULElBQUksWUFBWUEsT0FBTztZQUNyQixPQUFPQSxNQUFNRSxNQUFNO1FBQ3JCO1FBQ0EsT0FBT0MsUUFBUUMsT0FBTyxDQUFDSjtJQUN6QjtJQUNBLElBQUlLO0lBQ0osTUFBTUMsT0FBbUIsSUFBSUgsUUFBVyxDQUFDQztRQUN2Q0MsV0FBV0Q7SUFDYjtJQUNBTixJQUFJUyxHQUFHLENBQUNWLEtBQU1HLFFBQVE7UUFBRUksU0FBU0M7UUFBV0gsUUFBUUk7SUFBSztJQUN6RCxPQUFPUCxZQUNIQSxZQUNFLHdDQUF3QztLQUN2Q1MsSUFBSSxDQUFDLENBQUNDLFFBQVdKLENBQUFBLFNBQVNJLFFBQVFBLEtBQUFBLEdBQ2xDQyxLQUFLLENBQUMsQ0FBQ0M7UUFDTmIsSUFBSWMsTUFBTSxDQUFDZjtRQUNYLE1BQU1jO0lBQ1IsS0FDRkw7QUFDTjtBQVNBLE1BQU1PLG1CQUFtQkMsT0FBTztBQUV6QixTQUFTcEIsZUFBZWlCLEdBQVU7SUFDdkMsT0FBT0ksT0FBT0MsY0FBYyxDQUFDTCxLQUFLRSxrQkFBa0IsQ0FBQztBQUN2RDtBQUVPLFNBQVNwQixhQUFha0IsR0FBVztJQUN0QyxPQUFPQSxPQUFPRSxvQkFBb0JGO0FBQ3BDO0FBRUEsU0FBU00sWUFBWUMsSUFBc0I7SUFDekMsSUFBSTtRQUNGQSxPQUFPQyxTQUFTQyxhQUFhLENBQUM7UUFDOUIsT0FFRSx1QkFBdUI7UUFDdEIsQ0FBQyxDQUFDQyxPQUFPQyxvQkFBb0IsSUFBSSxDQUFDLENBQUNILFNBQWtCSSxZQUFZLElBQ2xFTCxLQUFLTSxPQUFPLENBQUNDLFFBQVEsQ0FBQztJQUUxQixFQUFFLE9BQUFDLEdBQU07UUFDTixPQUFPO0lBQ1Q7QUFDRjtBQUVBLE1BQU1DLGNBQXVCVjtBQUU3QixNQUFNVyxzQkFBc0I7SUFDMUIsT0FBT0MsQ0FBQUEsR0FBQUEsY0FBQUEsaUNBQWlDO0FBQzFDO0FBRUEsU0FBU0MsZUFDUEMsSUFBWSxFQUNaQyxFQUFVLEVBQ1ZkLElBQXNCO0lBRXRCLE9BQU8sSUFBSWYsUUFBYyxDQUFDQyxTQUFTNkI7UUFDakMsTUFBTUMsV0FBVyx5Q0FDZUgsT0FBSywyQ0FDTkEsT0FBSyw2QkFDbkJBLE9BQUs7UUFDdEIsSUFBSVosU0FBU2dCLGFBQWEsQ0FBQ0QsV0FBVztZQUNwQyxPQUFPOUI7UUFDVDtRQUVBYyxPQUFPQyxTQUFTQyxhQUFhLENBQUM7UUFFOUIsd0RBQXdEO1FBQ3hELElBQUlZLElBQUlkLEtBQU1jLEVBQUUsR0FBR0E7UUFDbkJkLEtBQU1rQixHQUFHLEdBQUk7UUFDYmxCLEtBQU1tQixXQUFXLEdBQUdDLFNBQStCO1FBQ25EcEIsS0FBTXVCLE1BQU0sR0FBR3JDO1FBQ2ZjLEtBQU13QixPQUFPLEdBQUcsSUFDZFQsT0FBT3ZDLGVBQWUsSUFBSWlELE1BQU0seUJBQXVCWjtRQUV6RCxnQ0FBZ0M7UUFDaENiLEtBQU1hLElBQUksR0FBR0E7UUFFYlosU0FBU3lCLElBQUksQ0FBQ0MsV0FBVyxDQUFDM0I7SUFDNUI7QUFDRjtBQUVBLFNBQVM0QixhQUNQQyxHQUE4QixFQUM5QkMsTUFBMEI7SUFFMUIsT0FBTyxJQUFJN0MsUUFBUSxDQUFDQyxTQUFTNkI7UUFDM0JlLFNBQVM3QixTQUFTQyxhQUFhLENBQUM7UUFFaEMsd0RBQXdEO1FBQ3hELG1FQUFtRTtRQUNuRSxpQ0FBaUM7UUFDakM0QixPQUFPUCxNQUFNLEdBQUdyQztRQUNoQjRDLE9BQU9OLE9BQU8sR0FBRyxJQUNmVCxPQUFPdkMsZUFBZSxJQUFJaUQsTUFBTSw0QkFBMEJJO1FBRTVELDJFQUEyRTtRQUMzRSw4QkFBOEI7UUFDOUJDLE9BQU9YLFdBQVcsR0FBR0MsU0FBK0I7UUFFcEQsdUVBQXVFO1FBQ3ZFLDZDQUE2QztRQUM3Q1UsT0FBT0QsR0FBRyxHQUFHQTtRQUNiNUIsU0FBUzhCLElBQUksQ0FBQ0osV0FBVyxDQUFDRztJQUM1QjtBQUNGO0FBRUEsNEVBQTRFO0FBQzVFLHFFQUFxRTtBQUNyRSxJQUFJRTtBQUVKLHVFQUF1RTtBQUN2RSxTQUFTQywwQkFDUEMsQ0FBYSxFQUNiQyxFQUFVLEVBQ1YxQyxHQUFVO0lBRVYsT0FBTyxJQUFJUixRQUFRLENBQUNDLFNBQVM2QjtRQUMzQixJQUFJcUIsWUFBWTtRQUVoQkYsRUFBRTVDLElBQUksQ0FBQyxDQUFDK0M7WUFDTiwrQkFBK0I7WUFDL0JELFlBQVk7WUFDWmxELFFBQVFtRDtRQUNWLEdBQUc3QyxLQUFLLENBQUN1QjtRQUVULHNFQUFzRTtRQUN0RSxzQkFBc0I7UUFDdEIsSUFBSUssSUFBeUIsRUFBZTtZQUN4Q1ksQ0FBQUEsbUJBQW1CL0MsUUFBUUMsT0FBTyxJQUFJSSxJQUFJLENBQUM7Z0JBQzNDZ0QsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDLElBQ2xCQyxXQUFXO3dCQUNULElBQUksQ0FBQ0gsV0FBVzs0QkFDZHJCLE9BQU90Qjt3QkFDVDtvQkFDRixHQUFHMEM7WUFFUDtRQUNGO1FBRUEsSUFBSWYsS0FBeUIsRUFBZSxFQVE1QztJQUNGO0FBQ0Y7QUFRTyxTQUFTOUM7SUFDZCxJQUFJa0UsS0FBS0MsZ0JBQWdCLEVBQUU7UUFDekIsT0FBT3hELFFBQVFDLE9BQU8sQ0FBQ3NELEtBQUtDLGdCQUFnQjtJQUM5QztJQUVBLE1BQU1DLGtCQUFrQixJQUFJekQsUUFBa0MsQ0FBQ0M7UUFDN0QsaURBQWlEO1FBQ2pELE1BQU15RCxLQUFLSCxLQUFLSSxtQkFBbUI7UUFDbkNKLEtBQUtJLG1CQUFtQixHQUFHO1lBQ3pCMUQsUUFBUXNELEtBQUtDLGdCQUFnQjtZQUM3QkUsTUFBTUE7UUFDUjtJQUNGO0lBRUEsT0FBT1YsMEJBQ0xTLGlCQUNBakUsbUJBQ0FELGVBQWUsSUFBSWlELE1BQU07QUFFN0I7QUFNQSxTQUFTb0IsaUJBQ1BDLFdBQW1CLEVBQ25CQyxLQUFhO0lBRWIsSUFBSTNCLElBQXlCLEVBQWU7UUFDMUMsTUFBTTRCLFlBQ0pGLGNBQ0EsK0JBQ0FHLFVBQVVDLENBQUFBLEdBQUFBLHVCQUFBQSxPQUFxQixFQUFDSCxPQUFPLFVBQ3ZDckM7UUFDRixPQUFPekIsUUFBUUMsT0FBTyxDQUFDO1lBQ3JCaUUsU0FBUztnQkFBQ0MsQ0FBQUEsR0FBQUEsY0FBQUEsOEJBQThCLEVBQUNKO2FBQVc7WUFDcEQsdURBQXVEO1lBQ3ZESyxLQUFLLEVBQUU7UUFDVDtJQUNGO0lBQ0EsT0FBTy9FLHlCQUF5QmdCLElBQUksQ0FBQyxDQUFDZ0U7UUFDcEMsSUFBSSxDQUFFUCxDQUFBQSxTQUFTTyxRQUFBQSxHQUFXO1lBQ3hCLE1BQU05RSxlQUFlLElBQUlpRCxNQUFNLDZCQUEyQnNCO1FBQzVEO1FBQ0EsTUFBTVEsV0FBV0QsUUFBUSxDQUFDUCxNQUFNLENBQUNuRSxHQUFHLENBQ2xDLENBQUNFLFFBQVVnRSxjQUFjLFlBQVlHLFVBQVVuRTtRQUVqRCxPQUFPO1lBQ0xxRSxTQUFTSSxTQUNOQyxNQUFNLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsUUFBUSxDQUFDLFFBQ3pCOUUsR0FBRyxDQUFDLENBQUM2RSxJQUFNTCxDQUFBQSxHQUFBQSxjQUFBQSw4QkFBOEIsRUFBQ0ssS0FBSy9DO1lBQ2xEMkMsS0FBS0UsU0FDRkMsTUFBTSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLFFBQVEsQ0FBQyxTQUN6QjlFLEdBQUcsQ0FBQyxDQUFDNkUsSUFBTUEsSUFBSS9DO1FBQ3BCO0lBQ0Y7QUFDRjtBQUVPLFNBQVNyQyxrQkFBa0J5RSxXQUFtQjtJQUNuRCxNQUFNYSxjQUNKLElBQUlDO0lBQ04sTUFBTUMsZ0JBQStDLElBQUlEO0lBQ3pELE1BQU1FLGNBQXFELElBQUlGO0lBQy9ELE1BQU1HLFNBQ0osSUFBSUg7SUFFTixTQUFTSSxtQkFDUG5DLEdBQThCO1FBRTlCLDJEQUEyRDtRQUMzRCxrRUFBa0U7UUFDbEUsY0FBYztRQUNkLElBQUlULEtBQXlCLEVBQWUsRUFhNUMsTUFBTztZQUNMLE9BQU9RLGFBQWFDO1FBQ3RCO0lBQ0Y7SUFFQSxTQUFTcUMsZ0JBQWdCckQsSUFBWTtRQUNuQyxJQUFJekIsT0FBNkMwRSxZQUFZL0UsR0FBRyxDQUFDOEI7UUFDakUsSUFBSXpCLE1BQU07WUFDUixPQUFPQTtRQUNUO1FBRUEwRSxZQUFZekUsR0FBRyxDQUNid0IsTUFDQ3pCLE9BQU8rRSxNQUFNdEQsTUFBTTtZQUFFdUQsYUFBYTtRQUFjLEdBQzlDOUUsSUFBSSxDQUFDLENBQUMrRTtZQUNMLElBQUksQ0FBQ0EsSUFBSUMsRUFBRSxFQUFFO2dCQUNYLE1BQU0sSUFBSTdDLE1BQU0sZ0NBQThCWjtZQUNoRDtZQUNBLE9BQU93RCxJQUFJRSxJQUFJLEdBQUdqRixJQUFJLENBQUMsQ0FBQ2lGLE9BQVU7b0JBQUUxRCxNQUFNQTtvQkFBTTJELFNBQVNEO2dCQUFLO1FBQ2hFLEdBQ0MvRSxLQUFLLENBQUMsQ0FBQ0M7WUFDTixNQUFNakIsZUFBZWlCO1FBQ3ZCO1FBRUosT0FBT0w7SUFDVDtJQUVBLE9BQU87UUFDTHFGLGdCQUFlMUIsS0FBYTtZQUMxQixPQUFPckUsV0FBV3FFLE9BQU9ZO1FBQzNCO1FBQ0FlLGNBQWEzQixLQUFhLEVBQUU0QixPQUFvQztZQUM1REEsQ0FBQUEsVUFDRTFGLFFBQVFDLE9BQU8sR0FDWkksSUFBSSxDQUFDLElBQU1xRixXQUNYckYsSUFBSSxDQUNILENBQUNzRixXQUFrQjtvQkFDakJDLFdBQVdDLFlBQVlGLFNBQVFHLE9BQU8sSUFBS0g7b0JBQzNDQSxTQUFTQTtnQkFDWCxJQUNBLENBQUNuRixNQUFTO29CQUFFdUYsT0FBT3ZGO2dCQUFJLE1BRTNCUixRQUFRQyxPQUFPLENBQUMrRixVQUFBQSxFQUNsQjNGLElBQUksQ0FBQyxDQUFDNEY7Z0JBQ04sTUFBTUMsTUFBTXhCLFlBQVk1RSxHQUFHLENBQUNnRTtnQkFDNUIsSUFBSW9DLE9BQU8sYUFBYUEsS0FBSztvQkFDM0IsSUFBSUQsT0FBTzt3QkFDVHZCLFlBQVl0RSxHQUFHLENBQUMwRCxPQUFPbUM7d0JBQ3ZCQyxJQUFJakcsT0FBTyxDQUFDZ0c7b0JBQ2Q7Z0JBQ0YsT0FBTztvQkFDTCxJQUFJQSxPQUFPO3dCQUNUdkIsWUFBWXRFLEdBQUcsQ0FBQzBELE9BQU9tQztvQkFDekIsT0FBTzt3QkFDTHZCLFlBQVlqRSxNQUFNLENBQUNxRDtvQkFDckI7b0JBQ0EsZ0RBQWdEO29CQUNoRCxrREFBa0Q7b0JBQ2xELG1CQUFtQjtvQkFDbkJnQixPQUFPckUsTUFBTSxDQUFDcUQ7Z0JBQ2hCO1lBQ0Y7UUFDRjtRQUNBcUMsV0FBVXJDLEtBQWEsRUFBRXNDLFFBQWtCO1lBQ3pDLE9BQU8zRyxXQUE2QnFFLE9BQU9nQixRQUFRO2dCQUNqRCxJQUFJdUI7Z0JBRUosSUFBSWxFLElBQXlCLEVBQWU7b0JBQzFDWSxrQkFBa0IsSUFBSS9DLFFBQWMsQ0FBQ0M7d0JBQ25Db0cseUJBQXlCcEc7b0JBQzNCO2dCQUNGO2dCQUVBLE9BQU8rQywwQkFDTFksaUJBQWlCQyxhQUFhQyxPQUMzQnpELElBQUksQ0FBQyxDQUFBaUc7d0JBQUMsRUFBRXBDLE9BQU8sRUFBRUUsR0FBRyxFQUFFLEdBQUFrQztvQkFDckIsT0FBT3RHLFFBQVF1RyxHQUFHLENBQUM7d0JBQ2pCN0IsWUFBWThCLEdBQUcsQ0FBQzFDLFNBQ1osRUFBRSxHQUNGOUQsUUFBUXVHLEdBQUcsQ0FBQ3JDLFFBQVF2RSxHQUFHLENBQUNvRjt3QkFDNUIvRSxRQUFRdUcsR0FBRyxDQUFDbkMsSUFBSXpFLEdBQUcsQ0FBQ3NGO3FCQUNyQjtnQkFDSCxHQUNDNUUsSUFBSSxDQUFDLENBQUMrRTtvQkFDTCxPQUFPLElBQUksQ0FBQ0ksY0FBYyxDQUFDMUIsT0FBT3pELElBQUksQ0FBQyxDQUFDb0csYUFBZ0I7NEJBQ3REQTs0QkFDQUMsUUFBUXRCLEdBQUcsQ0FBQyxFQUFFO3dCQUNoQjtnQkFDRixJQUNGNUYsbUJBQ0FELGVBQWUsSUFBSWlELE1BQU0scUNBQW1Dc0IsU0FFM0R6RCxJQUFJLENBQUMsQ0FBQWlHO3dCQUFDLEVBQUVHLFVBQVUsRUFBRUMsTUFBTSxFQUFFLEdBQUFKO29CQUMzQixNQUFNbEIsTUFBd0J4RSxPQUFPK0YsTUFBTSxDQUd6Qzt3QkFBRUQsUUFBUUE7b0JBQVEsR0FBR0Q7b0JBQ3ZCLE9BQU8sV0FBV0EsYUFBYUEsYUFBYXJCO2dCQUM5QyxHQUNDN0UsS0FBSyxDQUFDLENBQUNDO29CQUNOLElBQUk0RixVQUFVO3dCQUNaLGdEQUFnRDt3QkFDaEQsTUFBTTVGO29CQUNSO29CQUNBLE9BQU87d0JBQUV1RixPQUFPdkY7b0JBQUk7Z0JBQ3RCLEdBQ0NvRyxPQUFPLENBQUMsSUFBTVAsMEJBQUFBLE9BQUFBLEtBQUFBLElBQUFBO1lBQ25CO1FBQ0Y7UUFDQUQsVUFBU3RDLEtBQWE7WUFDcEIsc0hBQXNIO1lBQ3RILHNCQUFzQjtZQUN0QixJQUFJK0M7WUFDSixJQUFLQSxLQUFLQyxVQUFtQkMsVUFBVSxFQUFHO2dCQUN4Qyx5REFBeUQ7Z0JBQ3pELElBQUlGLEdBQUdHLFFBQVEsSUFBSSxLQUFLQyxJQUFJLENBQUNKLEdBQUdLLGFBQWEsR0FBRyxPQUFPbEgsUUFBUUMsT0FBTztZQUN4RTtZQUNBLE9BQU8yRCxpQkFBaUJDLGFBQWFDLE9BQ2xDekQsSUFBSSxDQUFDLENBQUM4RyxTQUNMbkgsUUFBUXVHLEdBQUcsQ0FDVC9FLGNBQ0kyRixPQUFPakQsT0FBTyxDQUFDdkUsR0FBRyxDQUFDLENBQUNrRCxTQUNsQmxCLGVBQWVrQixPQUFPbUMsUUFBUSxJQUFJLGFBRXBDLEVBQUUsR0FHVDNFLElBQUksQ0FBQztnQkFDSmdELENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQyxJQUFNLElBQUksQ0FBQzhDLFNBQVMsQ0FBQ3JDLE9BQU8sTUFBTXZELEtBQUssQ0FBQyxLQUFPO1lBQ3JFLEdBQ0NBLEtBQUssQ0FFSixLQUFPO1FBRWI7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JvdXRlLWxvYWRlci50cz85YTU3Il0sIm5hbWVzIjpbImNyZWF0ZVJvdXRlTG9hZGVyIiwiZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCIsImlzQXNzZXRFcnJvciIsIm1hcmtBc3NldEVycm9yIiwiTVNfTUFYX0lETEVfREVMQVkiLCJ3aXRoRnV0dXJlIiwia2V5IiwibWFwIiwiZ2VuZXJhdG9yIiwiZW50cnkiLCJnZXQiLCJmdXR1cmUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc29sdmVyIiwicHJvbSIsInNldCIsInRoZW4iLCJ2YWx1ZSIsImNhdGNoIiwiZXJyIiwiZGVsZXRlIiwiQVNTRVRfTE9BRF9FUlJPUiIsIlN5bWJvbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiaGFzUHJlZmV0Y2giLCJsaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid2luZG93IiwiTVNJbnB1dE1ldGhvZENvbnRleHQiLCJkb2N1bWVudE1vZGUiLCJyZWxMaXN0Iiwic3VwcG9ydHMiLCJlIiwiY2FuUHJlZmV0Y2giLCJnZXRBc3NldFF1ZXJ5U3RyaW5nIiwiZ2V0RGVwbG95bWVudElkUXVlcnlPckVtcHR5U3RyaW5nIiwicHJlZmV0Y2hWaWFEb20iLCJocmVmIiwiYXMiLCJyZWplY3QiLCJzZWxlY3RvciIsInF1ZXJ5U2VsZWN0b3IiLCJyZWwiLCJjcm9zc09yaWdpbiIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQ1JPU1NfT1JJR0lOIiwib25sb2FkIiwib25lcnJvciIsIkVycm9yIiwiaGVhZCIsImFwcGVuZENoaWxkIiwiYXBwZW5kU2NyaXB0Iiwic3JjIiwic2NyaXB0IiwiYm9keSIsImRldkJ1aWxkUHJvbWlzZSIsInJlc29sdmVQcm9taXNlV2l0aFRpbWVvdXQiLCJwIiwibXMiLCJjYW5jZWxsZWQiLCJyIiwicmVxdWVzdElkbGVDYWxsYmFjayIsInNldFRpbWVvdXQiLCJzZWxmIiwiX19CVUlMRF9NQU5JRkVTVCIsIm9uQnVpbGRNYW5pZmVzdCIsImNiIiwiX19CVUlMRF9NQU5JRkVTVF9DQiIsImdldEZpbGVzRm9yUm91dGUiLCJhc3NldFByZWZpeCIsInJvdXRlIiwic2NyaXB0VXJsIiwiZW5jb2RlVVJJIiwiZ2V0QXNzZXRQYXRoRnJvbVJvdXRlIiwic2NyaXB0cyIsIl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCIsImNzcyIsIm1hbmlmZXN0IiwiYWxsRmlsZXMiLCJmaWx0ZXIiLCJ2IiwiZW5kc1dpdGgiLCJlbnRyeXBvaW50cyIsIk1hcCIsImxvYWRlZFNjcmlwdHMiLCJzdHlsZVNoZWV0cyIsInJvdXRlcyIsIm1heWJlRXhlY3V0ZVNjcmlwdCIsInRvU3RyaW5nIiwiZmV0Y2hTdHlsZVNoZWV0IiwiZmV0Y2giLCJjcmVkZW50aWFscyIsInJlcyIsIm9rIiwidGV4dCIsImNvbnRlbnQiLCJ3aGVuRW50cnlwb2ludCIsIm9uRW50cnlwb2ludCIsImV4ZWN1dGUiLCJleHBvcnRzIiwiY29tcG9uZW50IiwiZXhwb3J0czEiLCJkZWZhdWx0IiwiZXJyb3IiLCJ1bmRlZmluZWQiLCJpbnB1dCIsIm9sZCIsImxvYWRSb3V0ZSIsInByZWZldGNoIiwiZGV2QnVpbGRQcm9taXNlUmVzb2x2ZSIsInBhcmFtIiwiYWxsIiwiaGFzIiwiZW50cnlwb2ludCIsInN0eWxlcyIsImFzc2lnbiIsImZpbmFsbHkiLCJjbiIsIm5hdmlnYXRvciIsImNvbm5lY3Rpb24iLCJzYXZlRGF0YSIsInRlc3QiLCJlZmZlY3RpdmVUeXBlIiwib3V0cHV0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/route-loader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/router.js": -/*!*************************************************!*\ - !*** ./node_modules/next/dist/client/router.js ***! - \*************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* global window */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Router: function() {\n return _router.default;\n },\n createRouter: function() {\n return createRouter;\n },\n // Export the singletonRouter and this is the public API.\n default: function() {\n return _default;\n },\n makePublicRouterInstance: function() {\n return makePublicRouterInstance;\n },\n useRouter: function() {\n return useRouter;\n },\n withRouter: function() {\n return _withrouter.default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/router */ \"./node_modules/next/dist/shared/lib/router/router.js\"));\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _withrouter = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./with-router */ \"./node_modules/next/dist/client/with-router.js\"));\nconst singletonRouter = {\n router: null,\n readyCallbacks: [],\n ready (callback) {\n if (this.router) return callback();\n if (true) {\n this.readyCallbacks.push(callback);\n }\n }\n};\n// Create public properties and methods of the router in the singletonRouter\nconst urlPropertyFields = [\n \"pathname\",\n \"route\",\n \"query\",\n \"asPath\",\n \"components\",\n \"isFallback\",\n \"basePath\",\n \"locale\",\n \"locales\",\n \"defaultLocale\",\n \"isReady\",\n \"isPreview\",\n \"isLocaleDomain\",\n \"domainLocales\"\n];\nconst routerEvents = [\n \"routeChangeStart\",\n \"beforeHistoryChange\",\n \"routeChangeComplete\",\n \"routeChangeError\",\n \"hashChangeStart\",\n \"hashChangeComplete\"\n];\nconst coreMethodFields = [\n \"push\",\n \"replace\",\n \"reload\",\n \"back\",\n \"prefetch\",\n \"beforePopState\"\n];\n// Events is a static property on the router, the router doesn't have to be initialized to use it\nObject.defineProperty(singletonRouter, \"events\", {\n get () {\n return _router.default.events;\n }\n});\nfunction getRouter() {\n if (!singletonRouter.router) {\n const message = \"No router instance found.\\n\" + 'You should only use \"next/router\" on the client side of your app.\\n';\n throw new Error(message);\n }\n return singletonRouter.router;\n}\nurlPropertyFields.forEach((field)=>{\n // Here we need to use Object.defineProperty because we need to return\n // the property assigned to the actual router\n // The value might get changed as we change routes and this is the\n // proper way to access it\n Object.defineProperty(singletonRouter, field, {\n get () {\n const router = getRouter();\n return router[field];\n }\n });\n});\ncoreMethodFields.forEach((field)=>{\n singletonRouter[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const router = getRouter();\n return router[field](...args);\n };\n});\nrouterEvents.forEach((event)=>{\n singletonRouter.ready(()=>{\n _router.default.events.on(event, function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const eventField = \"on\" + event.charAt(0).toUpperCase() + event.substring(1);\n const _singletonRouter = singletonRouter;\n if (_singletonRouter[eventField]) {\n try {\n _singletonRouter[eventField](...args);\n } catch (err) {\n console.error(\"Error when running the Router event: \" + eventField);\n console.error((0, _iserror.default)(err) ? err.message + \"\\n\" + err.stack : err + \"\");\n }\n }\n });\n });\n});\nconst _default = singletonRouter;\nfunction useRouter() {\n _s();\n const router = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n if (!router) {\n throw new Error(\"NextRouter was not mounted. https://nextjs.org/docs/messages/next-router-not-mounted\");\n }\n return router;\n}\n_s(useRouter, \"rbAhEc3dLGnVlsHWaSDsgP4MZS0=\");\nfunction createRouter() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n singletonRouter.router = new _router.default(...args);\n singletonRouter.readyCallbacks.forEach((cb)=>cb());\n singletonRouter.readyCallbacks = [];\n return singletonRouter.router;\n}\nfunction makePublicRouterInstance(router) {\n const scopedRouter = router;\n const instance = {};\n for (const property of urlPropertyFields){\n if (typeof scopedRouter[property] === \"object\") {\n instance[property] = Object.assign(Array.isArray(scopedRouter[property]) ? [] : {}, scopedRouter[property]) // makes sure query is not stateful\n ;\n continue;\n }\n instance[property] = scopedRouter[property];\n }\n // Events is a static property on the router, the router doesn't have to be initialized to use it\n instance.events = _router.default.events;\n coreMethodFields.forEach((field)=>{\n instance[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n return scopedRouter[field](...args);\n };\n });\n return instance;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCOztBQUFBOzs7Ozs7Ozs7Ozs7SUFhUkEsUUFBTTtlQUFOQSxRQUFBQSxPQUFNOztJQTZJQ0MsY0FBWTtlQUFaQTs7SUE3QmhCLHlEQUF5RDtJQUN6REMsU0FBaUQ7ZUFBakRDOztJQTBDZ0JDLDBCQUF3QjtlQUF4QkE7O0lBL0JBQyxXQUFTO2VBQVRBOztJQVJJQyxZQUFVO2VBQVZBLFlBQUFBLE9BQVU7Ozs7NEVBaElaOzZFQUNDO3dEQUVXOzhFQUNWO2lGQTRIa0I7QUE5R3RDLE1BQU1DLGtCQUF1QztJQUMzQ0MsUUFBUTtJQUNSQyxnQkFBZ0IsRUFBRTtJQUNsQkMsT0FBTUMsUUFBb0I7UUFDeEIsSUFBSSxJQUFJLENBQUNILE1BQU0sRUFBRSxPQUFPRztRQUN4QixJQUFJLElBQWtCLEVBQWE7WUFDakMsSUFBSSxDQUFDRixjQUFjLENBQUNHLElBQUksQ0FBQ0Q7UUFDM0I7SUFDRjtBQUNGO0FBRUEsNEVBQTRFO0FBQzVFLE1BQU1FLG9CQUFvQjtJQUN4QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFDRCxNQUFNQyxlQUFlO0lBQ25CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBR0QsTUFBTUMsbUJBQW1CO0lBQ3ZCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRUQsaUdBQWlHO0FBQ2pHQyxPQUFPQyxjQUFjLENBQUNWLGlCQUFpQixVQUFVO0lBQy9DVztRQUNFLE9BQU9sQixRQUFBQSxPQUFNLENBQUNtQixNQUFNO0lBQ3RCO0FBQ0Y7QUFFQSxTQUFTQztJQUNQLElBQUksQ0FBQ2IsZ0JBQWdCQyxNQUFNLEVBQUU7UUFDM0IsTUFBTWEsVUFDSixnQ0FDQTtRQUNGLE1BQU0sSUFBSUMsTUFBTUQ7SUFDbEI7SUFDQSxPQUFPZCxn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LFlBQVksQ0FBQ0UsU0FBUztJQUM3QztJQUVBLGlHQUFpRztJQUNqR0QsU0FBUzdCLE1BQU0sR0FBR25CLFFBQUFBLE9BQU0sQ0FBQ21CLE1BQU07SUFFL0JKLGlCQUFpQlEsT0FBTyxDQUFDLENBQUNDO1FBQ3hCd0IsUUFBUSxDQUFDeEIsTUFBTSxHQUFHOzZDQUFJQyxPQUFBQSxJQUFBQSxNQUFBQSxPQUFBQSxPQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxPQUFBQTtnQkFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O1lBQ3BCLE9BQU9zQixZQUFZLENBQUN2QixNQUFNLElBQUlDO1FBQ2hDO0lBQ0Y7SUFFQSxPQUFPdUI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yb3V0ZXIudHM/NmQ5MyJdLCJuYW1lcyI6WyJSb3V0ZXIiLCJjcmVhdGVSb3V0ZXIiLCJkZWZhdWx0IiwiX2RlZmF1bHQiLCJtYWtlUHVibGljUm91dGVySW5zdGFuY2UiLCJ1c2VSb3V0ZXIiLCJ3aXRoUm91dGVyIiwic2luZ2xldG9uUm91dGVyIiwicm91dGVyIiwicmVhZHlDYWxsYmFja3MiLCJyZWFkeSIsImNhbGxiYWNrIiwicHVzaCIsInVybFByb3BlcnR5RmllbGRzIiwicm91dGVyRXZlbnRzIiwiY29yZU1ldGhvZEZpZWxkcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0IiwiZXZlbnRzIiwiZ2V0Um91dGVyIiwibWVzc2FnZSIsIkVycm9yIiwiZm9yRWFjaCIsImZpZWxkIiwiYXJncyIsImV2ZW50Iiwib24iLCJldmVudEZpZWxkIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciLCJfc2luZ2xldG9uUm91dGVyIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiaXNFcnJvciIsInN0YWNrIiwiUmVhY3QiLCJ1c2VDb250ZXh0IiwiUm91dGVyQ29udGV4dCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJBcnJheSIsIl9rZXkiLCJjYiIsInNjb3BlZFJvdXRlciIsImluc3RhbmNlIiwicHJvcGVydHkiLCJhc3NpZ24iLCJpc0FycmF5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/script.js": -/*!*************************************************!*\ - !*** ./node_modules/next/dist/client/script.js ***! - \*************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n handleClientScriptLoad: function() {\n return handleClientScriptLoad;\n },\n initScriptLoader: function() {\n return initScriptLoader;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ../shared/lib/head-manager-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _headmanager = __webpack_require__(/*! ./head-manager */ \"./node_modules/next/dist/client/head-manager.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\nconst ScriptCache = new Map();\nconst LoadCache = new Set();\nconst ignoreProps = [\n \"onLoad\",\n \"onReady\",\n \"dangerouslySetInnerHTML\",\n \"children\",\n \"onError\",\n \"strategy\",\n \"stylesheets\"\n];\nconst insertStylesheets = (stylesheets)=>{\n // Case 1: Styles for afterInteractive/lazyOnload with appDir injected via handleClientScriptLoad\n //\n // Using ReactDOM.preinit to feature detect appDir and inject styles\n // Stylesheets might have already been loaded if initialized with Script component\n // Re-inject styles here to handle scripts loaded via handleClientScriptLoad\n // ReactDOM.preinit handles dedup and ensures the styles are loaded only once\n if (_reactdom.default.preinit) {\n stylesheets.forEach((stylesheet)=>{\n _reactdom.default.preinit(stylesheet, {\n as: \"style\"\n });\n });\n return;\n }\n // Case 2: Styles for afterInteractive/lazyOnload with pages injected via handleClientScriptLoad\n //\n // We use this function to load styles when appdir is not detected\n // TODO: Use React float APIs to load styles once available for pages dir\n if (true) {\n let head = document.head;\n stylesheets.forEach((stylesheet)=>{\n let link = document.createElement(\"link\");\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = stylesheet;\n head.appendChild(link);\n });\n }\n};\nconst loadScript = (props)=>{\n const { src, id, onLoad = ()=>{}, onReady = null, dangerouslySetInnerHTML, children = \"\", strategy = \"afterInteractive\", onError, stylesheets } = props;\n const cacheKey = id || src;\n // Script has already loaded\n if (cacheKey && LoadCache.has(cacheKey)) {\n return;\n }\n // Contents of this script are already loading/loaded\n if (ScriptCache.has(src)) {\n LoadCache.add(cacheKey);\n // It is possible that multiple `next/script` components all have same \"src\", but has different \"onLoad\"\n // This is to make sure the same remote script will only load once, but \"onLoad\" are executed in order\n ScriptCache.get(src).then(onLoad, onError);\n return;\n }\n /** Execute after the script first loaded */ const afterLoad = ()=>{\n // Run onReady for the first time after load event\n if (onReady) {\n onReady();\n }\n // add cacheKey to LoadCache when load successfully\n LoadCache.add(cacheKey);\n };\n const el = document.createElement(\"script\");\n const loadPromise = new Promise((resolve, reject)=>{\n el.addEventListener(\"load\", function(e) {\n resolve();\n if (onLoad) {\n onLoad.call(this, e);\n }\n afterLoad();\n });\n el.addEventListener(\"error\", function(e) {\n reject(e);\n });\n }).catch(function(e) {\n if (onError) {\n onError(e);\n }\n });\n if (dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n afterLoad();\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n afterLoad();\n } else if (src) {\n el.src = src;\n // do not add cacheKey into LoadCache for remote script here\n // cacheKey will be added to LoadCache when it is actually loaded (see loadPromise above)\n ScriptCache.set(src, loadPromise);\n }\n for (const [k, value] of Object.entries(props)){\n if (value === undefined || ignoreProps.includes(k)) {\n continue;\n }\n const attr = _headmanager.DOMAttributeNames[k] || k.toLowerCase();\n el.setAttribute(attr, value);\n }\n if (strategy === \"worker\") {\n el.setAttribute(\"type\", \"text/partytown\");\n }\n el.setAttribute(\"data-nscript\", strategy);\n // Load styles associated with this script\n if (stylesheets) {\n insertStylesheets(stylesheets);\n }\n document.body.appendChild(el);\n};\nfunction handleClientScriptLoad(props) {\n const { strategy = \"afterInteractive\" } = props;\n if (strategy === \"lazyOnload\") {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n } else {\n loadScript(props);\n }\n}\nfunction loadLazyScript(props) {\n if (document.readyState === \"complete\") {\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n } else {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n }\n}\nfunction addBeforeInteractiveToCache() {\n const scripts = [\n ...document.querySelectorAll('[data-nscript=\"beforeInteractive\"]'),\n ...document.querySelectorAll('[data-nscript=\"beforePageRender\"]')\n ];\n scripts.forEach((script)=>{\n const cacheKey = script.id || script.getAttribute(\"src\");\n LoadCache.add(cacheKey);\n });\n}\nfunction initScriptLoader(scriptLoaderItems) {\n scriptLoaderItems.forEach(handleClientScriptLoad);\n addBeforeInteractiveToCache();\n}\n/**\n * Load a third-party scripts in an optimized way.\n *\n * Read more: [Next.js Docs: `next/script`](https://nextjs.org/docs/app/api-reference/components/script)\n */ function Script(props) {\n const { id, src = \"\", onLoad = ()=>{}, onReady = null, strategy = \"afterInteractive\", onError, stylesheets, ...restProps } = props;\n // Context is available only during SSR\n const { updateScripts, scripts, getIsSsr, appDir, nonce } = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n /**\n * - First mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script hasn't loaded yet (not in LoadCache)\n * onReady is skipped, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. hasLoadScriptEffectCalled.current is false, loadScript executes\n * Once the script is loaded, the onLoad and onReady will be called by then\n * [If strict mode is enabled / is wrapped in <OffScreen /> component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n *\n * - Second mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script has already loaded (found in LoadCache)\n * onReady is called, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. The script is already loaded, loadScript bails out\n * [If strict mode is enabled / is wrapped in <OffScreen /> component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n */ const hasOnReadyEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n const cacheKey = id || src;\n if (!hasOnReadyEffectCalled.current) {\n // Run onReady if script has loaded before but component is re-mounted\n if (onReady && cacheKey && LoadCache.has(cacheKey)) {\n onReady();\n }\n hasOnReadyEffectCalled.current = true;\n }\n }, [\n onReady,\n id,\n src\n ]);\n const hasLoadScriptEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n if (!hasLoadScriptEffectCalled.current) {\n if (strategy === \"afterInteractive\") {\n loadScript(props);\n } else if (strategy === \"lazyOnload\") {\n loadLazyScript(props);\n }\n hasLoadScriptEffectCalled.current = true;\n }\n }, [\n props,\n strategy\n ]);\n if (strategy === \"beforeInteractive\" || strategy === \"worker\") {\n if (updateScripts) {\n scripts[strategy] = (scripts[strategy] || []).concat([\n {\n id,\n src,\n onLoad,\n onReady,\n onError,\n ...restProps\n }\n ]);\n updateScripts(scripts);\n } else if (getIsSsr && getIsSsr()) {\n // Script has already loaded during SSR\n LoadCache.add(id || src);\n } else if (getIsSsr && !getIsSsr()) {\n loadScript(props);\n }\n }\n // For the app directory, we need React Float to preload these scripts.\n if (appDir) {\n // Injecting stylesheets here handles beforeInteractive and worker scripts correctly\n // For other strategies injecting here ensures correct stylesheet order\n // ReactDOM.preinit handles loading the styles in the correct order,\n // also ensures the stylesheet is loaded only once and in a consistent manner\n //\n // Case 1: Styles for beforeInteractive/worker with appDir - handled here\n // Case 2: Styles for beforeInteractive/worker with pages dir - Not handled yet\n // Case 3: Styles for afterInteractive/lazyOnload with appDir - handled here\n // Case 4: Styles for afterInteractive/lazyOnload with pages dir - handled in insertStylesheets function\n if (stylesheets) {\n stylesheets.forEach((styleSrc)=>{\n _reactdom.default.preinit(styleSrc, {\n as: \"style\"\n });\n });\n }\n // Before interactive scripts need to be loaded by Next.js' runtime instead\n // of native <script> tags, because they no longer have `defer`.\n if (strategy === \"beforeInteractive\") {\n if (!src) {\n // For inlined scripts, we put the content in `children`.\n if (restProps.dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n restProps.children = restProps.dangerouslySetInnerHTML.__html;\n delete restProps.dangerouslySetInnerHTML;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n nonce: nonce,\n dangerouslySetInnerHTML: {\n __html: \"(self.__next_s=self.__next_s||[]).push(\" + JSON.stringify([\n 0,\n {\n ...restProps,\n id\n }\n ]) + \")\"\n }\n });\n } else {\n // @ts-ignore\n _reactdom.default.preload(src, restProps.integrity ? {\n as: \"script\",\n integrity: restProps.integrity,\n nonce\n } : {\n as: \"script\",\n nonce\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n nonce: nonce,\n dangerouslySetInnerHTML: {\n __html: \"(self.__next_s=self.__next_s||[]).push(\" + JSON.stringify([\n src,\n {\n ...restProps,\n id\n }\n ]) + \")\"\n }\n });\n }\n } else if (strategy === \"afterInteractive\") {\n if (src) {\n // @ts-ignore\n _reactdom.default.preload(src, restProps.integrity ? {\n as: \"script\",\n integrity: restProps.integrity,\n nonce\n } : {\n as: \"script\",\n nonce\n });\n }\n }\n }\n return null;\n}\n_c = Script;\nObject.defineProperty(Script, \"__nextScript\", {\n value: true\n});\nconst _default = Script;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=script.js.map\nvar _c;\n$RefreshReg$(_c, \"Script\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9zY3JpcHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFnWUFBLFNBQXFCOzs7SUFuTkxDOzRCQUFBQTs7SUFnQ0FDO3NCQUFBQTs7Ozs7OzsrRUExTXFDO3VEQUVsQkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FDREEsbUJBQUFBLENBQUE7O0FBR2xDLE1BQU1DLHVCQUFrQkMsbUJBQUFBLENBQUFBLHlGQUFBQTtBQUN4QixNQUFNQyxjQUFZLElBQUlDO0FBaUJ0QixNQUFNQyxZQUFBQSxJQUFjRDtNQUNsQkMsY0FBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0NBRUQ7TUFDRUMsb0JBQUEsQ0FBQUM7SUFDQSxpR0FBRTtJQUNGO0lBQ0E7SUFDQSxrRkFBNEU7SUFDNUU7SUFDQSw2RUFBc0I7UUFDcEJBLFVBQUFBLE9BQVlDLENBQUFBLE9BQVNDLEVBQUFBO29CQUNuQkMsT0FBQUEsQ0FBQUEsQ0FBUUQ7c0JBQTJCRSxPQUFBLENBQUFDLE9BQUEsQ0FBQUgsWUFBQTtnQkFBUUksSUFBQTtZQUM3QztRQUVBO1FBQ0Y7SUFFQTtJQUNBLGdHQUFFO0lBQ0Y7SUFDQTtJQUNBLHlFQUFtQztRQUNqQyxJQUFXQyxFQUFhO1FBQ3hCUCxJQUFBQSxPQUFBQSxTQUFvQlEsSUFBQ047b0JBQ2ZPLE9BQU9GLENBQUFBLENBQUFBO1lBRVhFLElBQUFBLE9BQVNGLFNBQUdHLGFBQUE7WUFDWkQsS0FBS0UsSUFBRyxHQUFHO1lBQ1hGLEtBQUtHLEdBQUFBLEdBQUk7WUFFVEosS0FBS0ssSUFBQUEsR0FBQUE7WUFDUEwsS0FBQUssV0FBQSxDQUFBSjtRQUNGO0lBQ0Y7QUFFQTtNQUNFSyxhQUVJLENBQUFDO0lBVUosTUFBTUMsRUFBQUEsR0FBQUEsRUFBQUEsRUFBQUEsRUFBV0MsU0FBTUMsS0FBQUEsQ0FBQUEsRUFBQUEsVUFBQUEsSUFBQUEsRUFBQUEsdUJBQUFBLEVBQUFBLFdBQUFBLEVB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b0JBQUVyRDtvQkFBY3FELElBQUFBO29CQUFNQTtnQkFFNUI7dUJBRVdBLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLFVBQUFBO29CQUNQdkIsT0FBQUE7NkNBQ1c7Z0NBQ1BsQiw0Q0FBQUEsS0FBQUEsU0FBQUEsQ0FBQUE7NEJBQ0FBOztnQ0FBZ0JELEdBQUFBLFNBQUFBO2dDQUFHQTs0QkFDcEI7eUJBQ0g7O2dCQUdOO1lBQ0Y7ZUFDRSxJQUFJQyxhQUFLO2dCQUNQQSxLQUFBO2dCQUNBZixhQUFBQTswQkFHWUMsT0FBQSxDQUFBdUUsT0FBQSxDQUFBekQsS0FBQXFDLFVBQUFxQixTQUFBO29CQUFVQSxJQUFBQTtvQkFBZ0NqQixXQUFBQSxVQUFBQSxTQUFBQTtvQkFDaERBO29CQUFFckQ7b0JBQWNxRCxJQUFBQTtvQkFBTUE7Z0JBRTlCO1lBQ0Y7UUFDRjtJQUVBO0lBQ0Y7QUFFQWtCO0tBcktJNUQ7T0FxSzRDc0IsY0FBTyxDQUFBdUMsUUFBQTtJQUFLdkMsT0FBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9zY3JpcHQudHN4PzRhMzYiXSwibmFtZXMiOlsiZXhwb3J0cyIsImhhbmRsZUNsaWVudFNjcmlwdExvYWQiLCJpbml0U2NyaXB0TG9hZGVyIiwiXyIsInJlcXVpcmUiLCJTY3JpcHRDYWNoZSIsIk1hcCIsIkxvYWRDYWNoZSIsIlNldCIsImlnbm9yZVByb3BzIiwiaW5zZXJ0U3R5bGVzaGVldHMiLCJzdHlsZXNoZWV0cyIsImZvckVhY2giLCJzdHlsZXNoZWV0IiwiUmVhY3RET00iLCJkZWZhdWx0IiwicHJlaW5pdCIsImFzIiwiZG9jdW1lbnQiLCJoZWFkIiwibGluayIsImNyZWF0ZUVsZW1lbnQiLCJyZWwiLCJocmVmIiwiYXBwZW5kQ2hpbGQiLCJsb2FkU2NyaXB0IiwicHJvcHMiLCJjYWNoZUtleSIsImlkIiwic3JjIiwiaGFzIiwiYWRkIiwib25FcnJvciIsImdldCIsInRoZW4iLCJvbkxvYWQiLCJhZnRlckxvYWQiLCJvblJlYWR5IiwibG9hZFByb21pc2UiLCJyZXNvbHZlIiwiZWwiLCJhZGRFdmVudExpc3RlbmVyIiwiUHJvbWlzZSIsInJlamVjdCIsImNhbGwiLCJlIiwiY2F0Y2giLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsInRleHRDb250ZW50Iiwic2V0IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJpbmNsdWRlcyIsImsiLCJzZXRBdHRyaWJ1dGUiLCJhdHRyIiwic3RyYXRlZ3kiLCJib2R5Iiwid2luZG93IiwicmVxdWVzdElkbGVDYWxsYmFjayIsIl9yZXF1ZXN0aWRsZWNhbGxiYWNrIiwicmVhZHlTdGF0ZSIsImFkZEJlZm9yZUludGVyYWN0aXZlVG9DYWNoZSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzY3JpcHRzIiwic2NyaXB0TG9hZGVySXRlbXMiLCJyZXN0UHJvcHMiLCJnZXRJc1NzciIsInVwZGF0ZVNjcmlwdHMiLCJhcHBEaXIiLCJub25jZSIsIl9yZWFjdCIsInVzZUNvbnRleHQiLCJfaGVhZG1hbmFnZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsInVzZUVmZmVjdCIsInVzZVJlZiIsImhhc09uUmVhZHlFZmZlY3RDYWxsZWQiLCJjdXJyZW50IiwiaGFzTG9hZFNjcmlwdEVmZmVjdENhbGxlZCIsImxvYWRMYXp5U2NyaXB0IiwiY29uY2F0Iiwic3R5bGVTcmMiLCJfX2h0bWwiLCJKU09OIiwic3RyaW5naWZ5IiwicHJlbG9hZCIsImludGVncml0eSIsIk9iamVjdCIsIlNjcmlwdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/script.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/trusted-types.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/trusted-types.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Stores the Trusted Types Policy. Starts as undefined and can be set to null\n * if Trusted Types is not supported in the browser.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"__unsafeCreateTrustedScriptURL\", ({\n enumerable: true,\n get: function() {\n return __unsafeCreateTrustedScriptURL;\n }\n}));\nlet policy;\n/**\n * Getter for the Trusted Types Policy. If it is undefined, it is instantiated\n * here or set to null if Trusted Types is not supported in the browser.\n */ function getPolicy() {\n if (typeof policy === \"undefined\" && \"object\" !== \"undefined\") {\n var _window_trustedTypes;\n policy = ((_window_trustedTypes = window.trustedTypes) == null ? void 0 : _window_trustedTypes.createPolicy(\"nextjs\", {\n createHTML: (input)=>input,\n createScript: (input)=>input,\n createScriptURL: (input)=>input\n })) || null;\n }\n return policy;\n}\nfunction __unsafeCreateTrustedScriptURL(url) {\n var _getPolicy;\n return ((_getPolicy = getPolicy()) == null ? void 0 : _getPolicy.createScriptURL(url)) || url;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=trusted-types.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC90cnVzdGVkLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztrRUE2QmVBOzs7ZUFBQUE7OztBQTVCaEIsSUFBSUM7QUFFSjs7O0NBR0MsR0FDRCxTQUFTQztJQUNQLElBQUksT0FBT0QsV0FBVyxlQUFlLGFBQWtCLGFBQWE7WUFFaEVFO1FBREZGLFNBQ0VFLENBQUFBLENBQUFBLHVCQUFBQSxPQUFPQyxZQUFZLHFCQUFuQkQscUJBQXFCRSxZQUFZLENBQUMsVUFBVTtZQUMxQ0MsWUFBWSxDQUFDQyxRQUFVQTtZQUN2QkMsY0FBYyxDQUFDRCxRQUFVQTtZQUN6QkUsaUJBQWlCLENBQUNGLFFBQVVBO1FBQzlCLE9BQU07SUFDVjtJQUVBLE9BQU9OO0FBQ1Q7QUFXTyxTQUFTRCwrQkFDZFUsR0FBVztRQUVKUjtJQUFQLE9BQU9BLENBQUFBLENBQUFBLGFBQUFBLFdBQUFBLEtBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFdBQWFPLGVBQWUsQ0FBQ0MsSUFBQUEsS0FBUUE7QUFDOUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvdHJ1c3RlZC10eXBlcy50cz82ZThmIl0sIm5hbWVzIjpbIl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCIsInBvbGljeSIsImdldFBvbGljeSIsIndpbmRvdyIsInRydXN0ZWRUeXBlcyIsImNyZWF0ZVBvbGljeSIsImNyZWF0ZUhUTUwiLCJpbnB1dCIsImNyZWF0ZVNjcmlwdCIsImNyZWF0ZVNjcmlwdFVSTCIsInVybCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/trusted-types.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/with-router.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/with-router.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return withRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nfunction withRouter(ComposedComponent) {\n function WithRouterWrapper(props) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ComposedComponent, {\n router: (0, _router.useRouter)(),\n ...props\n });\n }\n WithRouterWrapper.getInitialProps = ComposedComponent.getInitialProps;\n WithRouterWrapper.origGetInitialProps = ComposedComponent.origGetInitialProps;\n if (true) {\n const name = ComposedComponent.displayName || ComposedComponent.name || \"Unknown\";\n WithRouterWrapper.displayName = \"withRouter(\" + name + \")\";\n }\n return WithRouterWrapper;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=with-router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC93aXRoLXJvdXRlci5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQWtCQTs7O2VBQXdCQTs7Ozs7NEVBbEJOO29DQU9RO0FBV1gsU0FBU0EsV0FJdEJDLGlCQUErQztJQUUvQyxTQUFTQyxrQkFBa0JDLEtBQVU7UUFDbkMsT0FBTyxXQUFQLEdBQU8sSUFBQUMsWUFBQUMsR0FBQSxFQUFDSixtQkFBQUE7WUFBa0JLLFFBQVFDLENBQUFBLEdBQUFBLFFBQUFBLFNBQVM7WUFBSyxHQUFHSixLQUFLOztJQUMxRDtJQUVBRCxrQkFBa0JNLGVBQWUsR0FBR1Asa0JBQWtCTyxlQUFlO0lBRW5FTixrQkFBMEJPLG1CQUFtQixHQUFHUixrQkFFaERRLG1CQUFtQjtJQUNyQixJQUFJQyxJQUF5QixFQUFjO1FBQ3pDLE1BQU1DLE9BQ0pWLGtCQUFrQlcsV0FBVyxJQUFJWCxrQkFBa0JVLElBQUksSUFBSTtRQUM3RFQsa0JBQWtCVSxXQUFXLEdBQUcsZ0JBQWNELE9BQUs7SUFDckQ7SUFFQSxPQUFPVDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3dpdGgtcm91dGVyLnRzeD8zNjIyIl0sIm5hbWVzIjpbIndpdGhSb3V0ZXIiLCJDb21wb3NlZENvbXBvbmVudCIsIldpdGhSb3V0ZXJXcmFwcGVyIiwicHJvcHMiLCJfanN4cnVudGltZSIsImpzeCIsInJvdXRlciIsInVzZVJvdXRlciIsImdldEluaXRpYWxQcm9wcyIsIm9yaWdHZXRJbml0aWFsUHJvcHMiLCJwcm9jZXNzIiwibmFtZSIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/with-router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/bloom-filter.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/bloom-filter.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// minimal implementation MurmurHash2 hash function\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"BloomFilter\", ({\n enumerable: true,\n get: function() {\n return BloomFilter;\n }\n}));\nfunction murmurhash2(str) {\n let h = 0;\n for(let i = 0; i < str.length; i++){\n const c = str.charCodeAt(i);\n h = Math.imul(h ^ c, 0x5bd1e995);\n h ^= h >>> 13;\n h = Math.imul(h, 0x5bd1e995);\n }\n return h >>> 0;\n}\n// default to 0.01% error rate as the filter compresses very well\nconst DEFAULT_ERROR_RATE = 0.0001;\nclass BloomFilter {\n static from(items, errorRate) {\n if (errorRate === void 0) errorRate = DEFAULT_ERROR_RATE;\n const filter = new BloomFilter(items.length, errorRate);\n for (const item of items){\n filter.add(item);\n }\n return filter;\n }\n export() {\n const data = {\n numItems: this.numItems,\n errorRate: this.errorRate,\n numBits: this.numBits,\n numHashes: this.numHashes,\n bitArray: this.bitArray\n };\n if (false) {}\n return data;\n }\n import(data) {\n this.numItems = data.numItems;\n this.errorRate = data.errorRate;\n this.numBits = data.numBits;\n this.numHashes = data.numHashes;\n this.bitArray = data.bitArray;\n }\n add(item) {\n const hashValues = this.getHashValues(item);\n hashValues.forEach((hash)=>{\n this.bitArray[hash] = 1;\n });\n }\n contains(item) {\n const hashValues = this.getHashValues(item);\n return hashValues.every((hash)=>this.bitArray[hash]);\n }\n getHashValues(item) {\n const hashValues = [];\n for(let i = 1; i <= this.numHashes; i++){\n const hash = murmurhash2(\"\" + item + i) % this.numBits;\n hashValues.push(hash);\n }\n return hashValues;\n }\n constructor(numItems, errorRate = DEFAULT_ERROR_RATE){\n this.numItems = numItems;\n this.errorRate = errorRate;\n this.numBits = Math.ceil(-(numItems * Math.log(errorRate)) / (Math.log(2) * Math.log(2)));\n this.numHashes = Math.ceil(this.numBits / numItems * Math.log(2));\n this.bitArray = new Array(this.numBits).fill(0);\n }\n} //# sourceMappingURL=bloom-filter.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYmxvb20tZmlsdGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRDs7Ozs7K0NBZXRDQTs7O2VBQUFBOzs7QUFkYixTQUFTQyxZQUFZQyxHQUFXO0lBQzlCLElBQUlDLElBQUk7SUFDUixJQUFLLElBQUlDLElBQUksR0FBR0EsSUFBSUYsSUFBSUcsTUFBTSxFQUFFRCxJQUFLO1FBQ25DLE1BQU1FLElBQUlKLElBQUlLLFVBQVUsQ0FBQ0g7UUFDekJELElBQUlLLEtBQUtDLElBQUksQ0FBQ04sSUFBSUcsR0FBRztRQUNyQkgsS0FBS0EsTUFBTTtRQUNYQSxJQUFJSyxLQUFLQyxJQUFJLENBQUNOLEdBQUc7SUFDbkI7SUFDQSxPQUFPQSxNQUFNO0FBQ2Y7QUFFQSxpRUFBaUU7QUFDakUsTUFBTU8scUJBQXFCO0FBRXBCLE1BQU1WO0lBaUJYLE9BQU9XLEtBQUtDLEtBQWUsRUFBRUMsU0FBOEIsRUFBRTtRQUFoQ0EsSUFBQUEsY0FBQUEsS0FBQUEsR0FBQUEsWUFBWUg7UUFDdkMsTUFBTUksU0FBUyxJQUFJZCxZQUFZWSxNQUFNUCxNQUFNLEVBQUVRO1FBRTdDLEtBQUssTUFBTUUsUUFBUUgsTUFBTztZQUN4QkUsT0FBT0UsR0FBRyxDQUFDRDtRQUNiO1FBQ0EsT0FBT0Q7SUFDVDtJQUVBRyxTQUFTO1FBQ1AsTUFBTUMsT0FBTztZQUNYQyxVQUFVLElBQUksQ0FBQ0EsUUFBUTtZQUN2Qk4sV0FBVyxJQUFJLENBQUNBLFNBQVM7WUFDekJPLFNBQVMsSUFBSSxDQUFDQSxPQUFPO1lBQ3JCQyxXQUFXLElBQUksQ0FBQ0EsU0FBUztZQUN6QkMsVUFBVSxJQUFJLENBQUNBLFFBQVE7UUFDekI7UUFFQSxJQUFJQyxLQUE2QixFQUFVLEVBYTNDO1FBRUEsT0FBT0w7SUFDVDtJQUVBZ0IsT0FBT2hCLElBQXlDLEVBQUU7UUFDaEQsSUFBSSxDQUFDQyxRQUFRLEdBQUdELEtBQUtDLFFBQVE7UUFDN0IsSUFBSSxDQUFDTixTQUFTLEdBQUdLLEtBQUtMLFNBQVM7UUFDL0IsSUFBSSxDQUFDTyxPQUFPLEdBQUdGLEtBQUtFLE9BQU87UUFDM0IsSUFBSSxDQUFDQyxTQUFTLEdBQUdILEtBQUtHLFNBQVM7UUFDL0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdKLEtBQUtJLFFBQVE7SUFDL0I7SUFFQU4sSUFBSUQsSUFBWSxFQUFFO1FBQ2hCLE1BQU1vQixhQUFhLElBQUksQ0FBQ0MsYUFBYSxDQUFDckI7UUFDdENvQixXQUFXRSxPQUFPLENBQUMsQ0FBQ0M7WUFDbEIsSUFBSSxDQUFDaEIsUUFBUSxDQUFDZ0IsS0FBSyxHQUFHO1FBQ3hCO0lBQ0Y7SUFFQUMsU0FBU3hCLElBQVksRUFBRTtRQUNyQixNQUFNb0IsYUFBYSxJQUFJLENBQUNDLGFBQWEsQ0FBQ3JCO1FBQ3RDLE9BQU9vQixXQUFXSyxLQUFLLENBQUMsQ0FBQ0YsT0FBUyxJQUFJLENBQUNoQixRQUFRLENBQUNnQixLQUFLO0lBQ3ZEO0lBRUFGLGNBQWNyQixJQUFZLEVBQUU7UUFDMUIsTUFBTW9CLGFBQWEsRUFBRTtRQUNyQixJQUFLLElBQUkvQixJQUFJLEdBQUdBLEtBQUssSUFBSSxDQUFDaUIsU0FBUyxFQUFFakIsSUFBSztZQUN4QyxNQUFNa0MsT0FBT3JDLFlBQVksS0FBR2MsT0FBT1gsS0FBTyxJQUFJLENBQUNnQixPQUFPO1lBQ3REZSxXQUFXTSxJQUFJLENBQUNIO1FBQ2xCO1FBQ0EsT0FBT0g7SUFDVDtJQXpFQU8sWUFBWXZCLFFBQWdCLEVBQUVOLFlBQW9CSCxrQkFBa0IsQ0FBRTtRQUNwRSxJQUFJLENBQUNTLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDTixTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ08sT0FBTyxHQUFHWixLQUFLbUMsSUFBSSxDQUN0QixDQUFFeEIsQ0FBQUEsV0FBV1gsS0FBS29DLEdBQUcsQ0FBQy9CLFVBQUFBLElBQWVMLENBQUFBLEtBQUtvQyxHQUFHLENBQUMsS0FBS3BDLEtBQUtvQyxHQUFHLENBQUM7UUFFOUQsSUFBSSxDQUFDdkIsU0FBUyxHQUFHYixLQUFLbUMsSUFBSSxDQUFDLElBQUssQ0FBQ3ZCLE9BQU8sR0FBR0QsV0FBWVgsS0FBS29DLEdBQUcsQ0FBQztRQUNoRSxJQUFJLENBQUN0QixRQUFRLEdBQUcsSUFBSXVCLE1BQU0sSUFBSSxDQUFDekIsT0FBTyxFQUFFMEIsSUFBSSxDQUFDO0lBQy9DO0FBa0VGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9ibG9vbS1maWx0ZXIudHM/NjQwNyJdLCJuYW1lcyI6WyJCbG9vbUZpbHRlciIsIm11cm11cmhhc2gyIiwic3RyIiwiaCIsImkiLCJsZW5ndGgiLCJjIiwiY2hhckNvZGVBdCIsIk1hdGgiLCJpbXVsIiwiREVGQVVMVF9FUlJPUl9SQVRFIiwiZnJvbSIsIml0ZW1zIiwiZXJyb3JSYXRlIiwiZmlsdGVyIiwiaXRlbSIsImFkZCIsImV4cG9ydCIsImRhdGEiLCJudW1JdGVtcyIsIm51bUJpdHMiLCJudW1IYXNoZXMiLCJiaXRBcnJheSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJmaWx0ZXJEYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsImd6aXBTaXplIiwicmVxdWlyZSIsInN5bmMiLCJjb25zb2xlIiwid2FybiIsImltcG9ydCIsImhhc2hWYWx1ZXMiLCJnZXRIYXNoVmFsdWVzIiwiZm9yRWFjaCIsImhhc2giLCJjb250YWlucyIsImV2ZXJ5IiwicHVzaCIsImNvbnN0cnVjdG9yIiwiY2VpbCIsImxvZyIsIkFycmF5IiwiZmlsbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/bloom-filter.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcyIsIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7Ozs7O3NEQUkxREE7OztlQUFBQTs7O0FBSGhCLE1BQU1DLGNBQWM7QUFDcEIsTUFBTUMsa0JBQWtCO0FBRWpCLFNBQVNGLG1CQUFtQkcsR0FBVztJQUM1QywrR0FBK0c7SUFDL0csSUFBSUYsWUFBWUcsSUFBSSxDQUFDRCxNQUFNO1FBQ3pCLE9BQU9BLElBQUlFLE9BQU8sQ0FBQ0gsaUJBQWlCO0lBQ3RDO0lBQ0EsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC50cz9kY2IxIl0sIm5hbWVzIjpbImVzY2FwZVN0cmluZ1JlZ2V4cCIsInJlSGFzUmVnRXhwIiwicmVSZXBsYWNlUmVnRXhwIiwic3RyIiwidGVzdCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/escape-regexp.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HeadManagerContext\", ({\n enumerable: true,\n get: function() {\n return HeadManagerContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst HeadManagerContext = _react.default.createContext({});\nif (true) {\n HeadManagerContext.displayName = \"HeadManagerContext\";\n} //# sourceMappingURL=head-manager-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC1tYW5hZ2VyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFFYUE7OztlQUFBQTs7Ozs0RUFGSztBQUVYLE1BQU1BLHFCQVVSQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRTFCLElBQUlDLElBQXlCLEVBQWM7SUFDekNILG1CQUFtQkksV0FBVyxHQUFHO0FBQ25DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9oZWFkLW1hbmFnZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz8xNmYxIl0sIm5hbWVzIjpbIkhlYWRNYW5hZ2VyQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizeLocalePath\", ({\n enumerable: true,\n get: function() {\n return normalizeLocalePath;\n }\n}));\nfunction normalizeLocalePath(pathname, locales) {\n let detectedLocale;\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split(\"/\");\n (locales || []).some((locale)=>{\n if (pathnameParts[1] && pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join(\"/\") || \"/\";\n return true;\n }\n return false;\n });\n return {\n pathname,\n detectedLocale\n };\n} //# sourceMappingURL=normalize-locale-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFjZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG9CQUNkQyxRQUFnQixFQUNoQkMsT0FBa0I7SUFFbEIsSUFBSUM7SUFDSiwrREFBK0Q7SUFDL0QsTUFBTUMsZ0JBQWdCSCxTQUFTSSxLQUFLLENBQUM7SUFFbkNILENBQUFBLFdBQVcsRUFBRSxFQUFFSSxJQUFJLENBQUMsQ0FBQ0M7UUFDckIsSUFDRUgsYUFBYSxDQUFDLEVBQUUsSUFDaEJBLGFBQWEsQ0FBQyxFQUFFLENBQUNJLFdBQVcsT0FBT0QsT0FBT0MsV0FBVyxJQUNyRDtZQUNBTCxpQkFBaUJJO1lBQ2pCSCxjQUFjSyxNQUFNLENBQUMsR0FBRztZQUN4QlIsV0FBV0csY0FBY00sSUFBSSxDQUFDLFFBQVE7WUFDdEMsT0FBTztRQUNUO1FBQ0EsT0FBTztJQUNUO0lBRUEsT0FBTztRQUNMVDtRQUNBRTtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoLnRzPzBiNzMiXSwibmFtZXMiOlsibm9ybWFsaXplTG9jYWxlUGF0aCIsInBhdGhuYW1lIiwibG9jYWxlcyIsImRldGVjdGVkTG9jYWxlIiwicGF0aG5hbWVQYXJ0cyIsInNwbGl0Iiwic29tZSIsImxvY2FsZSIsInRvTG93ZXJDYXNlIiwic3BsaWNlIiwiam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/is-plain-object.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/is-plain-object.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getObjectClassLabel: function() {\n return getObjectClassLabel;\n },\n isPlainObject: function() {\n return isPlainObject;\n }\n});\nfunction getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nfunction isPlainObject(value) {\n if (getObjectClassLabel(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty(\"isPrototypeOf\");\n} //# sourceMappingURL=is-plain-object.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFnQkEscUJBQW1CO2VBQW5CQTs7SUFJQUMsZUFBYTtlQUFiQTs7O0FBSlQsU0FBU0Qsb0JBQW9CRSxLQUFVO0lBQzVDLE9BQU9DLE9BQU9DLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUNKO0FBQ3hDO0FBRU8sU0FBU0QsY0FBY0MsS0FBVTtJQUN0QyxJQUFJRixvQkFBb0JFLFdBQVcsbUJBQW1CO1FBQ3BELE9BQU87SUFDVDtJQUVBLE1BQU1FLFlBQVlELE9BQU9JLGNBQWMsQ0FBQ0w7SUFFeEM7Ozs7Ozs7O0dBUUMsR0FDRCxPQUFPRSxjQUFjLFFBQVFBLFVBQVVJLGNBQWMsQ0FBQztBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LnRzPzJmYjIiXSwibmFtZXMiOlsiZ2V0T2JqZWN0Q2xhc3NMYWJlbCIsImlzUGxhaW5PYmplY3QiLCJ2YWx1ZSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsImdldFByb3RvdHlwZU9mIiwiaGFzT3duUHJvcGVydHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/is-plain-object.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/mitt.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/mitt.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/*\nMIT License\n\nCopyright (c) Jason Miller (https://jasonformat.com/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ // This file is based on https://github.com/developit/mitt/blob/v1.1.3/src/index.js\n// It's been edited for the needs of this script\n// See the LICENSE at the top of the file\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return mitt;\n }\n}));\nfunction mitt() {\n const all = Object.create(null);\n return {\n on (type, handler) {\n (all[type] || (all[type] = [])).push(handler);\n },\n off (type, handler) {\n if (all[type]) {\n all[type].splice(all[type].indexOf(handler) >>> 0, 1);\n }\n },\n emit (type) {\n for(var _len = arguments.length, evts = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n evts[_key - 1] = arguments[_key];\n }\n (all[type] || []).slice().map((handler)=>{\n handler(...evts);\n });\n }\n };\n} //# sourceMappingURL=mitt.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWl0dC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztBQVVBLEdBRUEsbUZBQW1GO0FBQ25GLGdEQUFnRDtBQUNoRCx5Q0FBeUM7Ozs7OzJDQVV6Qzs7O2VBQXdCQTs7O0FBQVQsU0FBU0E7SUFDdEIsTUFBTUMsTUFBa0NDLE9BQU9DLE1BQU0sQ0FBQztJQUV0RCxPQUFPO1FBQ0xDLElBQUdDLElBQVksRUFBRUMsT0FBZ0I7WUFDN0JMLENBQUFBLEdBQUcsQ0FBQ0ksS0FBSyxJQUFLSixDQUFBQSxHQUFHLENBQUNJLEtBQUssR0FBRyxFQUFFLEdBQUdFLElBQUksQ0FBQ0Q7UUFDeEM7UUFFQUUsS0FBSUgsSUFBWSxFQUFFQyxPQUFnQjtZQUNoQyxJQUFJTCxHQUFHLENBQUNJLEtBQUssRUFBRTtnQkFDYkosR0FBRyxDQUFDSSxLQUFLLENBQUNJLE1BQU0sQ0FBQ1IsR0FBRyxDQUFDSSxLQUFLLENBQUNLLE9BQU8sQ0FBQ0osYUFBYSxHQUFHO1lBQ3JEO1FBQ0Y7UUFFQUssTUFBS04sSUFBWTtZQUFFLFFBQUFPLE9BQUFDLFVBQUFDLE1BQUEsRUFBQUMsT0FBQSxJQUFBQyxNQUFBSixPQUFBLElBQUFBLE9BQUEsUUFBQUssT0FBQSxHQUFBQSxPQUFBTCxNQUFBSyxPQUFBO2dCQUFHRixJQUFBQSxDQUFIRSxPQUFBLEtBQUFKLFNBQUEsQ0FBQUksS0FBYzs7WUFFN0JoQixDQUFBQSxHQUFHLENBQUNJLEtBQUssSUFBSSxFQUFFLEVBQUVhLEtBQUssR0FBR0MsR0FBRyxDQUFDLENBQUNiO2dCQUM5QkEsV0FBV1M7WUFDYjtRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvbWl0dC50cz9lOWNmIl0sIm5hbWVzIjpbIm1pdHQiLCJhbGwiLCJPYmplY3QiLCJjcmVhdGUiLCJvbiIsInR5cGUiLCJoYW5kbGVyIiwicHVzaCIsIm9mZiIsInNwbGljZSIsImluZGV4T2YiLCJlbWl0IiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImV2dHMiLCJBcnJheSIsIl9rZXkiLCJzbGljZSIsIm1hcCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/mitt.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"denormalizePagePath\", ({\n enumerable: true,\n get: function() {\n return denormalizePagePath;\n }\n}));\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _normalizepathsep = __webpack_require__(/*! ./normalize-path-sep */ \"./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nfunction denormalizePagePath(page) {\n let _page = (0, _normalizepathsep.normalizePathSep)(page);\n return _page.startsWith(\"/index/\") && !(0, _utils.isDynamicRoute)(_page) ? _page.slice(6) : _page !== \"/index\" ? _page : \"/\";\n} //# sourceMappingURL=denormalize-page-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcyIsIm1hcHBpbmdzIjoiOzs7O3VEQVdnQkE7OztlQUFBQTs7O21DQVhlOzhDQUNFO0FBVTFCLFNBQVNBLG9CQUFvQkMsSUFBWTtJQUM5QyxJQUFJQyxRQUFRQyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQWdCLEVBQUNGO0lBQzdCLE9BQU9DLE1BQU1FLFVBQVUsQ0FBQyxjQUFjLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGNBQWMsRUFBQ0gsU0FDbERBLE1BQU1JLEtBQUssQ0FBQyxLQUNaSixVQUFVLFdBQ1ZBLFFBQ0E7QUFDTiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC50cz84NDQwIl0sIm5hbWVzIjpbImRlbm9ybWFsaXplUGFnZVBhdGgiLCJwYWdlIiwiX3BhZ2UiLCJub3JtYWxpemVQYXRoU2VwIiwic3RhcnRzV2l0aCIsImlzRHluYW1pY1JvdXRlIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! - \*****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQW1CQyxJQUFZO0lBQzdDLE9BQU9BLEtBQUtDLFVBQVUsQ0FBQyxPQUFPRCxPQUFPLE1BQUlBO0FBQzNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9wYWdlLXBhdGgvZW5zdXJlLWxlYWRpbmctc2xhc2gudHM/MThmMiJdLCJuYW1lcyI6WyJlbnN1cmVMZWFkaW5nU2xhc2giLCJwYXRoIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * For a given page path, this function ensures that there is no backslash\n * escaping slashes in the path. Example:\n * - `foo\\/bar\\/baz` -> `foo/bar/baz`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathSep\", ({\n enumerable: true,\n get: function() {\n return normalizePathSep;\n }\n}));\nfunction normalizePathSep(path) {\n return path.replace(/\\\\/g, \"/\");\n} //# sourceMappingURL=normalize-path-sep.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDOzs7O29EQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxpQkFBaUJDLElBQVk7SUFDM0MsT0FBT0EsS0FBS0MsT0FBTyxDQUFDLE9BQU87QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3BhZ2UtcGF0aC9ub3JtYWxpemUtcGF0aC1zZXAudHM/NWNmMCJdLCJuYW1lcyI6WyJub3JtYWxpemVQYXRoU2VwIiwicGF0aCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router-context.shared-runtime.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***! - \****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFHYUE7OztlQUFBQTs7Ozs0RUFISztBQUdYLE1BQU1BLGdCQUFnQkMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQW9CO0FBRXBFLElBQUlDLElBQXlCLEVBQWM7SUFDekNILGNBQWNJLFdBQVcsR0FBRztBQUM5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/NjM2YyJdLCJuYW1lcyI6WyJSb3V0ZXJDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/router.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/router.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// tslint:disable:no-console\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createKey: function() {\n return createKey;\n },\n default: function() {\n return Router;\n },\n matchesMiddleware: function() {\n return matchesMiddleware;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _routeloader = __webpack_require__(/*! ../../../client/route-loader */ \"./node_modules/next/dist/client/route-loader.js\");\nconst _script = __webpack_require__(/*! ../../../client/script */ \"./node_modules/next/dist/client/script.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../../../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _denormalizepagepath = __webpack_require__(/*! ../page-path/denormalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\");\nconst _normalizelocalepath = __webpack_require__(/*! ../i18n/normalize-locale-path */ \"./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _mitt = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../mitt */ \"./node_modules/next/dist/shared/lib/mitt.js\"));\nconst _utils = __webpack_require__(/*! ../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _isdynamic = __webpack_require__(/*! ./utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _parserelativeurl = __webpack_require__(/*! ./utils/parse-relative-url */ \"./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\");\nconst _resolverewrites = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./utils/resolve-rewrites */ \"?506d\"));\nconst _routematcher = __webpack_require__(/*! ./utils/route-matcher */ \"./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./utils/route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nconst _formaturl = __webpack_require__(/*! ./utils/format-url */ \"./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _detectdomainlocale = __webpack_require__(/*! ../../../client/detect-domain-locale */ \"./node_modules/next/dist/client/detect-domain-locale.js\");\nconst _parsepath = __webpack_require__(/*! ./utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst _addlocale = __webpack_require__(/*! ../../../client/add-locale */ \"./node_modules/next/dist/client/add-locale.js\");\nconst _removelocale = __webpack_require__(/*! ../../../client/remove-locale */ \"./node_modules/next/dist/client/remove-locale.js\");\nconst _removebasepath = __webpack_require__(/*! ../../../client/remove-base-path */ \"./node_modules/next/dist/client/remove-base-path.js\");\nconst _addbasepath = __webpack_require__(/*! ../../../client/add-base-path */ \"./node_modules/next/dist/client/add-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../client/has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst _resolvehref = __webpack_require__(/*! ../../../client/resolve-href */ \"./node_modules/next/dist/client/resolve-href.js\");\nconst _isapiroute = __webpack_require__(/*! ../../../lib/is-api-route */ \"./node_modules/next/dist/lib/is-api-route.js\");\nconst _getnextpathnameinfo = __webpack_require__(/*! ./utils/get-next-pathname-info */ \"./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\");\nconst _formatnextpathnameinfo = __webpack_require__(/*! ./utils/format-next-pathname-info */ \"./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\");\nconst _comparestates = __webpack_require__(/*! ./utils/compare-states */ \"./node_modules/next/dist/shared/lib/router/utils/compare-states.js\");\nconst _islocalurl = __webpack_require__(/*! ./utils/is-local-url */ \"./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _isbot = __webpack_require__(/*! ./utils/is-bot */ \"./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _omit = __webpack_require__(/*! ./utils/omit */ \"./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _interpolateas = __webpack_require__(/*! ./utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ./utils/handle-smooth-scroll */ \"./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nfunction buildCancellationError() {\n return Object.assign(new Error(\"Route Cancelled\"), {\n cancelled: true\n });\n}\nasync function matchesMiddleware(options) {\n const matchers = await Promise.resolve(options.router.pageLoader.getMiddleware());\n if (!matchers) return false;\n const { pathname: asPathname } = (0, _parsepath.parsePath)(options.asPath);\n // remove basePath first since path prefix has to be in the order of `/${basePath}/${locale}`\n const cleanedAs = (0, _hasbasepath.hasBasePath)(asPathname) ? (0, _removebasepath.removeBasePath)(asPathname) : asPathname;\n const asWithBasePathAndLocale = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(cleanedAs, options.locale));\n // Check only path match on client. Matching \"has\" should be done on server\n // where we can access more info such as headers, HttpOnly cookie, etc.\n return matchers.some((m)=>new RegExp(m.regexp).test(asWithBasePathAndLocale));\n}\nfunction stripOrigin(url) {\n const origin = (0, _utils.getLocationOrigin)();\n return url.startsWith(origin) ? url.substring(origin.length) : url;\n}\nfunction prepareUrlAs(router, url, as) {\n // If url and as provided as an object representation,\n // we'll format them into the string version here.\n let [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(router, url, true);\n const origin = (0, _utils.getLocationOrigin)();\n const hrefWasAbsolute = resolvedHref.startsWith(origin);\n const asWasAbsolute = resolvedAs && resolvedAs.startsWith(origin);\n resolvedHref = stripOrigin(resolvedHref);\n resolvedAs = resolvedAs ? stripOrigin(resolvedAs) : resolvedAs;\n const preparedUrl = hrefWasAbsolute ? resolvedHref : (0, _addbasepath.addBasePath)(resolvedHref);\n const preparedAs = as ? stripOrigin((0, _resolvehref.resolveHref)(router, as)) : resolvedAs || resolvedHref;\n return {\n url: preparedUrl,\n as: asWasAbsolute ? preparedAs : (0, _addbasepath.addBasePath)(preparedAs)\n };\n}\nfunction resolveDynamicRoute(pathname, pages) {\n const cleanPathname = (0, _removetrailingslash.removeTrailingSlash)((0, _denormalizepagepath.denormalizePagePath)(pathname));\n if (cleanPathname === \"/404\" || cleanPathname === \"/_error\") {\n return pathname;\n }\n // handle resolving href for dynamic routes\n if (!pages.includes(cleanPathname)) {\n // eslint-disable-next-line array-callback-return\n pages.some((page)=>{\n if ((0, _isdynamic.isDynamicRoute)(page) && (0, _routeregex.getRouteRegex)(page).re.test(cleanPathname)) {\n pathname = page;\n return true;\n }\n });\n }\n return (0, _removetrailingslash.removeTrailingSlash)(pathname);\n}\nfunction getMiddlewareData(source, response, options) {\n const nextConfig = {\n basePath: options.router.basePath,\n i18n: {\n locales: options.router.locales\n },\n trailingSlash: Boolean(false)\n };\n const rewriteHeader = response.headers.get(\"x-nextjs-rewrite\");\n let rewriteTarget = rewriteHeader || response.headers.get(\"x-nextjs-matched-path\");\n const matchedPath = response.headers.get(\"x-matched-path\");\n if (matchedPath && !rewriteTarget && !matchedPath.includes(\"__next_data_catchall\") && !matchedPath.includes(\"/_error\") && !matchedPath.includes(\"/404\")) {\n // leverage x-matched-path to detect next.config.js rewrites\n rewriteTarget = matchedPath;\n }\n if (rewriteTarget) {\n if (rewriteTarget.startsWith(\"/\") || false) {\n const parsedRewriteTarget = (0, _parserelativeurl.parseRelativeUrl)(rewriteTarget);\n const pathnameInfo = (0, _getnextpathnameinfo.getNextPathnameInfo)(parsedRewriteTarget.pathname, {\n nextConfig,\n parseData: true\n });\n let fsPathname = (0, _removetrailingslash.removeTrailingSlash)(pathnameInfo.pathname);\n return Promise.all([\n options.router.pageLoader.getPageList(),\n (0, _routeloader.getClientBuildManifest)()\n ]).then((param)=>{\n let [pages, { __rewrites: rewrites }] = param;\n let as = (0, _addlocale.addLocale)(pathnameInfo.pathname, pathnameInfo.locale);\n if ((0, _isdynamic.isDynamicRoute)(as) || !rewriteHeader && pages.includes((0, _normalizelocalepath.normalizeLocalePath)((0, _removebasepath.removeBasePath)(as), options.router.locales).pathname)) {\n const parsedSource = (0, _getnextpathnameinfo.getNextPathnameInfo)((0, _parserelativeurl.parseRelativeUrl)(source).pathname, {\n nextConfig: false ? 0 : nextConfig,\n parseData: true\n });\n as = (0, _addbasepath.addBasePath)(parsedSource.pathname);\n parsedRewriteTarget.pathname = as;\n }\n if (false) {} else if (!pages.includes(fsPathname)) {\n const resolvedPathname = resolveDynamicRoute(fsPathname, pages);\n if (resolvedPathname !== fsPathname) {\n fsPathname = resolvedPathname;\n }\n }\n const resolvedHref = !pages.includes(fsPathname) ? resolveDynamicRoute((0, _normalizelocalepath.normalizeLocalePath)((0, _removebasepath.removeBasePath)(parsedRewriteTarget.pathname), options.router.locales).pathname, pages) : fsPathname;\n if ((0, _isdynamic.isDynamicRoute)(resolvedHref)) {\n const matches = (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(resolvedHref))(as);\n Object.assign(parsedRewriteTarget.query, matches || {});\n }\n return {\n type: \"rewrite\",\n parsedAs: parsedRewriteTarget,\n resolvedHref\n };\n });\n }\n const src = (0, _parsepath.parsePath)(source);\n const pathname = (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n ...(0, _getnextpathnameinfo.getNextPathnameInfo)(src.pathname, {\n nextConfig,\n parseData: true\n }),\n defaultLocale: options.router.defaultLocale,\n buildId: \"\"\n });\n return Promise.resolve({\n type: \"redirect-external\",\n destination: \"\" + pathname + src.query + src.hash\n });\n }\n const redirectTarget = response.headers.get(\"x-nextjs-redirect\");\n if (redirectTarget) {\n if (redirectTarget.startsWith(\"/\")) {\n const src = (0, _parsepath.parsePath)(redirectTarget);\n const pathname = (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n ...(0, _getnextpathnameinfo.getNextPathnameInfo)(src.pathname, {\n nextConfig,\n parseData: true\n }),\n defaultLocale: options.router.defaultLocale,\n buildId: \"\"\n });\n return Promise.resolve({\n type: \"redirect-internal\",\n newAs: \"\" + pathname + src.query + src.hash,\n newUrl: \"\" + pathname + src.query + src.hash\n });\n }\n return Promise.resolve({\n type: \"redirect-external\",\n destination: redirectTarget\n });\n }\n return Promise.resolve({\n type: \"next\"\n });\n}\nasync function withMiddlewareEffects(options) {\n const matches = await matchesMiddleware(options);\n if (!matches || !options.fetchData) {\n return null;\n }\n const data = await options.fetchData();\n const effect = await getMiddlewareData(data.dataHref, data.response, options);\n return {\n dataHref: data.dataHref,\n json: data.json,\n response: data.response,\n text: data.text,\n cacheKey: data.cacheKey,\n effect\n };\n}\nconst manualScrollRestoration = false && 0;\nconst SSG_DATA_NOT_FOUND = Symbol(\"SSG_DATA_NOT_FOUND\");\nfunction fetchRetry(url, attempts, options) {\n return fetch(url, {\n // Cookies are required to be present for Next.js' SSG \"Preview Mode\".\n // Cookies may also be required for `getServerSideProps`.\n //\n // > `fetch` won’t send cookies, unless you set the credentials init\n // > option.\n // https://developer.mozilla.org/docs/Web/API/Fetch_API/Using_Fetch\n //\n // > For maximum browser compatibility when it comes to sending &\n // > receiving cookies, always supply the `credentials: 'same-origin'`\n // > option instead of relying on the default.\n // https://github.com/github/fetch#caveats\n credentials: \"same-origin\",\n method: options.method || \"GET\",\n headers: Object.assign({}, options.headers, {\n \"x-nextjs-data\": \"1\"\n })\n }).then((response)=>{\n return !response.ok && attempts > 1 && response.status >= 500 ? fetchRetry(url, attempts - 1, options) : response;\n });\n}\nfunction tryToParseAsJSON(text) {\n try {\n return JSON.parse(text);\n } catch (error) {\n return null;\n }\n}\nfunction fetchNextData(param) {\n let { dataHref, inflightCache, isPrefetch, hasMiddleware, isServerRender, parseJSON, persistCache, isBackground, unstable_skipClientCache } = param;\n const { href: cacheKey } = new URL(dataHref, window.location.href);\n const getData = (params)=>{\n var _params_method;\n return fetchRetry(dataHref, isServerRender ? 3 : 1, {\n headers: Object.assign({}, isPrefetch ? {\n purpose: \"prefetch\"\n } : {}, isPrefetch && hasMiddleware ? {\n \"x-middleware-prefetch\": \"1\"\n } : {}),\n method: (_params_method = params == null ? void 0 : params.method) != null ? _params_method : \"GET\"\n }).then((response)=>{\n if (response.ok && (params == null ? void 0 : params.method) === \"HEAD\") {\n return {\n dataHref,\n response,\n text: \"\",\n json: {},\n cacheKey\n };\n }\n return response.text().then((text)=>{\n if (!response.ok) {\n /**\n * When the data response is a redirect because of a middleware\n * we do not consider it an error. The headers must bring the\n * mapped location.\n * TODO: Change the status code in the handler.\n */ if (hasMiddleware && [\n 301,\n 302,\n 307,\n 308\n ].includes(response.status)) {\n return {\n dataHref,\n response,\n text,\n json: {},\n cacheKey\n };\n }\n if (response.status === 404) {\n var _tryToParseAsJSON;\n if ((_tryToParseAsJSON = tryToParseAsJSON(text)) == null ? void 0 : _tryToParseAsJSON.notFound) {\n return {\n dataHref,\n json: {\n notFound: SSG_DATA_NOT_FOUND\n },\n response,\n text,\n cacheKey\n };\n }\n }\n const error = new Error(\"Failed to load static props\");\n /**\n * We should only trigger a server-side transition if this was\n * caused on a client-side transition. Otherwise, we'd get into\n * an infinite loop.\n */ if (!isServerRender) {\n (0, _routeloader.markAssetError)(error);\n }\n throw error;\n }\n return {\n dataHref,\n json: parseJSON ? tryToParseAsJSON(text) : null,\n response,\n text,\n cacheKey\n };\n });\n }).then((data)=>{\n if (!persistCache || \"development\" !== \"production\" || 0) {\n delete inflightCache[cacheKey];\n }\n return data;\n }).catch((err)=>{\n if (!unstable_skipClientCache) {\n delete inflightCache[cacheKey];\n }\n if (err.message === \"Failed to fetch\" || // firefox\n err.message === \"NetworkError when attempting to fetch resource.\" || // safari\n err.message === \"Load failed\") {\n (0, _routeloader.markAssetError)(err);\n }\n throw err;\n });\n };\n // when skipping client cache we wait to update\n // inflight cache until successful data response\n // this allows racing click event with fetching newer data\n // without blocking navigation when stale data is available\n if (unstable_skipClientCache && persistCache) {\n return getData({}).then((data)=>{\n inflightCache[cacheKey] = Promise.resolve(data);\n return data;\n });\n }\n if (inflightCache[cacheKey] !== undefined) {\n return inflightCache[cacheKey];\n }\n return inflightCache[cacheKey] = getData(isBackground ? {\n method: \"HEAD\"\n } : {});\n}\nfunction createKey() {\n return Math.random().toString(36).slice(2, 10);\n}\nfunction handleHardNavigation(param) {\n let { url, router } = param;\n // ensure we don't trigger a hard navigation to the same\n // URL as this can end up with an infinite refresh\n if (url === (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(router.asPath, router.locale))) {\n throw new Error(\"Invariant: attempted to hard navigate to the same URL \" + url + \" \" + location.href);\n }\n window.location.href = url;\n}\nconst getCancelledHandler = (param)=>{\n let { route, router } = param;\n let cancelled = false;\n const cancel = router.clc = ()=>{\n cancelled = true;\n };\n const handleCancelled = ()=>{\n if (cancelled) {\n const error = new Error('Abort fetching component for route: \"' + route + '\"');\n error.cancelled = true;\n throw error;\n }\n if (cancel === router.clc) {\n router.clc = null;\n }\n };\n return handleCancelled;\n};\nclass Router {\n reload() {\n window.location.reload();\n }\n /**\n * Go back in history\n */ back() {\n window.history.back();\n }\n /**\n * Go forward in history\n */ forward() {\n window.history.forward();\n }\n /**\n * Performs a `pushState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */ push(url, as, options) {\n if (options === void 0) options = {};\n if (false) {}\n ({ url, as } = prepareUrlAs(this, url, as));\n return this.change(\"pushState\", url, as, options);\n }\n /**\n * Performs a `replaceState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */ replace(url, as, options) {\n if (options === void 0) options = {};\n ({ url, as } = prepareUrlAs(this, url, as));\n return this.change(\"replaceState\", url, as, options);\n }\n async _bfl(as, resolvedAs, locale, skipNavigate) {\n if (true) {\n let matchesBflStatic = false;\n let matchesBflDynamic = false;\n for (const curAs of [\n as,\n resolvedAs\n ]){\n if (curAs) {\n const asNoSlash = (0, _removetrailingslash.removeTrailingSlash)(new URL(curAs, \"http://n\").pathname);\n const asNoSlashLocale = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(asNoSlash, locale || this.locale));\n if (asNoSlash !== (0, _removetrailingslash.removeTrailingSlash)(new URL(this.asPath, \"http://n\").pathname)) {\n var _this__bfl_s, _this__bfl_s1;\n matchesBflStatic = matchesBflStatic || !!((_this__bfl_s = this._bfl_s) == null ? void 0 : _this__bfl_s.contains(asNoSlash)) || !!((_this__bfl_s1 = this._bfl_s) == null ? void 0 : _this__bfl_s1.contains(asNoSlashLocale));\n for (const normalizedAS of [\n asNoSlash,\n asNoSlashLocale\n ]){\n // if any sub-path of as matches a dynamic filter path\n // it should be hard navigated\n const curAsParts = normalizedAS.split(\"/\");\n for(let i = 0; !matchesBflDynamic && i < curAsParts.length + 1; i++){\n var _this__bfl_d;\n const currentPart = curAsParts.slice(0, i).join(\"/\");\n if (currentPart && ((_this__bfl_d = this._bfl_d) == null ? void 0 : _this__bfl_d.contains(currentPart))) {\n matchesBflDynamic = true;\n break;\n }\n }\n }\n // if the client router filter is matched then we trigger\n // a hard navigation\n if (matchesBflStatic || matchesBflDynamic) {\n if (skipNavigate) {\n return true;\n }\n handleHardNavigation({\n url: (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, locale || this.locale, this.defaultLocale)),\n router: this\n });\n return new Promise(()=>{});\n }\n }\n }\n }\n }\n return false;\n }\n async change(method, url, as, options, forcedScroll) {\n var _this_components_pathname;\n if (!(0, _islocalurl.isLocalURL)(url)) {\n handleHardNavigation({\n url,\n router: this\n });\n return false;\n }\n // WARNING: `_h` is an internal option for handing Next.js client-side\n // hydration. Your app should _never_ use this property. It may change at\n // any time without notice.\n const isQueryUpdating = options._h === 1;\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(as, undefined, options.locale);\n }\n let shouldResolveHref = isQueryUpdating || options._shouldResolveHref || (0, _parsepath.parsePath)(url).pathname === (0, _parsepath.parsePath)(as).pathname;\n const nextState = {\n ...this.state\n };\n // for static pages with query params in the URL we delay\n // marking the router ready until after the query is updated\n // or a navigation has occurred\n const readyStateChange = this.isReady !== true;\n this.isReady = true;\n const isSsr = this.isSsr;\n if (!isQueryUpdating) {\n this.isSsr = false;\n }\n // if a route transition is already in progress before\n // the query updating is triggered ignore query updating\n if (isQueryUpdating && this.clc) {\n return false;\n }\n const prevLocale = nextState.locale;\n if (false) { var _this_locales; }\n // marking route changes as a navigation start entry\n if (_utils.ST) {\n performance.mark(\"routeChange\");\n }\n const { shallow = false, scroll = true } = options;\n const routeProps = {\n shallow\n };\n if (this._inFlightRoute && this.clc) {\n if (!isSsr) {\n Router.events.emit(\"routeChangeError\", buildCancellationError(), this._inFlightRoute, routeProps);\n }\n this.clc();\n this.clc = null;\n }\n as = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)((0, _hasbasepath.hasBasePath)(as) ? (0, _removebasepath.removeBasePath)(as) : as, options.locale, this.defaultLocale));\n const cleanedAs = (0, _removelocale.removeLocale)((0, _hasbasepath.hasBasePath)(as) ? (0, _removebasepath.removeBasePath)(as) : as, nextState.locale);\n this._inFlightRoute = as;\n const localeChange = prevLocale !== nextState.locale;\n // If the url change is only related to a hash change\n // We should not proceed. We should only change the state.\n if (!isQueryUpdating && this.onlyAHashChange(cleanedAs) && !localeChange) {\n nextState.asPath = cleanedAs;\n Router.events.emit(\"hashChangeStart\", as, routeProps);\n // TODO: do we need the resolved href when only a hash change?\n this.changeState(method, url, as, {\n ...options,\n scroll: false\n });\n if (scroll) {\n this.scrollToHash(cleanedAs);\n }\n try {\n await this.set(nextState, this.components[nextState.route], null);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n Router.events.emit(\"routeChangeError\", err, cleanedAs, routeProps);\n }\n throw err;\n }\n Router.events.emit(\"hashChangeComplete\", as, routeProps);\n return true;\n }\n let parsed = (0, _parserelativeurl.parseRelativeUrl)(url);\n let { pathname, query } = parsed;\n // The build manifest needs to be loaded before auto-static dynamic pages\n // get their query parameters to allow ensuring they can be parsed properly\n // when rewritten to\n let pages, rewrites;\n try {\n [pages, { __rewrites: rewrites }] = await Promise.all([\n this.pageLoader.getPageList(),\n (0, _routeloader.getClientBuildManifest)(),\n this.pageLoader.getMiddleware()\n ]);\n } catch (err) {\n // If we fail to resolve the page list or client-build manifest, we must\n // do a server-side transition:\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n }\n // If asked to change the current URL we should reload the current page\n // (not location.reload() but reload getInitialProps and other Next.js stuffs)\n // We also need to set the method = replaceState always\n // as this should not go into the history (That's how browsers work)\n // We should compare the new asPath to the current asPath, not the url\n if (!this.urlIsNew(cleanedAs) && !localeChange) {\n method = \"replaceState\";\n }\n // we need to resolve the as value using rewrites for dynamic SSG\n // pages to allow building the data URL correctly\n let resolvedAs = as;\n // url and as should always be prefixed with basePath by this\n // point by either next/link or router.push/replace so strip the\n // basePath from the pathname to match the pages dir 1-to-1\n pathname = pathname ? (0, _removetrailingslash.removeTrailingSlash)((0, _removebasepath.removeBasePath)(pathname)) : pathname;\n let route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n const parsedAsPathname = as.startsWith(\"/\") && (0, _parserelativeurl.parseRelativeUrl)(as).pathname;\n // if we detected the path as app route during prefetching\n // trigger hard navigation\n if ((_this_components_pathname = this.components[pathname]) == null ? void 0 : _this_components_pathname.__appRouter) {\n handleHardNavigation({\n url: as,\n router: this\n });\n return new Promise(()=>{});\n }\n const isMiddlewareRewrite = !!(parsedAsPathname && route !== parsedAsPathname && (!(0, _isdynamic.isDynamicRoute)(route) || !(0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(route))(parsedAsPathname)));\n // we don't attempt resolve asPath when we need to execute\n // middleware as the resolving will occur server-side\n const isMiddlewareMatch = !options.shallow && await matchesMiddleware({\n asPath: as,\n locale: nextState.locale,\n router: this\n });\n if (isQueryUpdating && isMiddlewareMatch) {\n shouldResolveHref = false;\n }\n if (shouldResolveHref && pathname !== \"/_error\") {\n options._shouldResolveHref = true;\n if (false) {} else {\n parsed.pathname = resolveDynamicRoute(pathname, pages);\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname;\n parsed.pathname = (0, _addbasepath.addBasePath)(pathname);\n if (!isMiddlewareMatch) {\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n }\n }\n }\n if (!(0, _islocalurl.isLocalURL)(as)) {\n if (true) {\n throw new Error('Invalid href: \"' + url + '\" and as: \"' + as + '\", received relative href and external as' + \"\\nSee more info: https://nextjs.org/docs/messages/invalid-relative-url-external-as\");\n }\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n }\n resolvedAs = (0, _removelocale.removeLocale)((0, _removebasepath.removeBasePath)(resolvedAs), nextState.locale);\n route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n let routeMatch = false;\n if ((0, _isdynamic.isDynamicRoute)(route)) {\n const parsedAs = (0, _parserelativeurl.parseRelativeUrl)(resolvedAs);\n const asPathname = parsedAs.pathname;\n const routeRegex = (0, _routeregex.getRouteRegex)(route);\n routeMatch = (0, _routematcher.getRouteMatcher)(routeRegex)(asPathname);\n const shouldInterpolate = route === asPathname;\n const interpolatedAs = shouldInterpolate ? (0, _interpolateas.interpolateAs)(route, asPathname, query) : {};\n if (!routeMatch || shouldInterpolate && !interpolatedAs.result) {\n const missingParams = Object.keys(routeRegex.groups).filter((param)=>!query[param] && !routeRegex.groups[param].optional);\n if (missingParams.length > 0 && !isMiddlewareMatch) {\n if (true) {\n console.warn(\"\" + (shouldInterpolate ? \"Interpolating href\" : \"Mismatching `as` and `href`\") + \" failed to manually provide \" + (\"the params: \" + missingParams.join(\", \") + \" in the `href`'s `query`\"));\n }\n throw new Error((shouldInterpolate ? \"The provided `href` (\" + url + \") value is missing query values (\" + missingParams.join(\", \") + \") to be interpolated properly. \" : \"The provided `as` value (\" + asPathname + \") is incompatible with the `href` value (\" + route + \"). \") + (\"Read more: https://nextjs.org/docs/messages/\" + (shouldInterpolate ? \"href-interpolation-failed\" : \"incompatible-href-as\")));\n }\n } else if (shouldInterpolate) {\n as = (0, _formaturl.formatWithValidation)(Object.assign({}, parsedAs, {\n pathname: interpolatedAs.result,\n query: (0, _omit.omit)(query, interpolatedAs.params)\n }));\n } else {\n // Merge params into `query`, overwriting any specified in search\n Object.assign(query, routeMatch);\n }\n }\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeStart\", as, routeProps);\n }\n const isErrorRoute = this.pathname === \"/404\" || this.pathname === \"/_error\";\n try {\n var _self___NEXT_DATA___props_pageProps, _self___NEXT_DATA___props, _routeInfo_props;\n let routeInfo = await this.getRouteInfo({\n route,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps,\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n hasMiddleware: isMiddlewareMatch,\n unstable_skipClientCache: options.unstable_skipClientCache,\n isQueryUpdating: isQueryUpdating && !this.isFallback,\n isMiddlewareRewrite\n });\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(as, \"resolvedAs\" in routeInfo ? routeInfo.resolvedAs : undefined, nextState.locale);\n }\n if (\"route\" in routeInfo && isMiddlewareMatch) {\n pathname = routeInfo.route || route;\n route = pathname;\n if (!routeProps.shallow) {\n query = Object.assign({}, routeInfo.query || {}, query);\n }\n const cleanedParsedPathname = (0, _hasbasepath.hasBasePath)(parsed.pathname) ? (0, _removebasepath.removeBasePath)(parsed.pathname) : parsed.pathname;\n if (routeMatch && pathname !== cleanedParsedPathname) {\n Object.keys(routeMatch).forEach((key)=>{\n if (routeMatch && query[key] === routeMatch[key]) {\n delete query[key];\n }\n });\n }\n if ((0, _isdynamic.isDynamicRoute)(pathname)) {\n const prefixedAs = !routeProps.shallow && routeInfo.resolvedAs ? routeInfo.resolvedAs : (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(new URL(as, location.href).pathname, nextState.locale), true);\n let rewriteAs = prefixedAs;\n if ((0, _hasbasepath.hasBasePath)(rewriteAs)) {\n rewriteAs = (0, _removebasepath.removeBasePath)(rewriteAs);\n }\n if (false) {}\n const routeRegex = (0, _routeregex.getRouteRegex)(pathname);\n const curRouteMatch = (0, _routematcher.getRouteMatcher)(routeRegex)(new URL(rewriteAs, location.href).pathname);\n if (curRouteMatch) {\n Object.assign(query, curRouteMatch);\n }\n }\n }\n // If the routeInfo brings a redirect we simply apply it.\n if (\"type\" in routeInfo) {\n if (routeInfo.type === \"redirect-internal\") {\n return this.change(method, routeInfo.newUrl, routeInfo.newAs, options);\n } else {\n handleHardNavigation({\n url: routeInfo.destination,\n router: this\n });\n return new Promise(()=>{});\n }\n }\n const component = routeInfo.Component;\n if (component && component.unstable_scriptLoader) {\n const scripts = [].concat(component.unstable_scriptLoader());\n scripts.forEach((script)=>{\n (0, _script.handleClientScriptLoad)(script.props);\n });\n }\n // handle redirect on client-transition\n if ((routeInfo.__N_SSG || routeInfo.__N_SSP) && routeInfo.props) {\n if (routeInfo.props.pageProps && routeInfo.props.pageProps.__N_REDIRECT) {\n // Use the destination from redirect without adding locale\n options.locale = false;\n const destination = routeInfo.props.pageProps.__N_REDIRECT;\n // check if destination is internal (resolves to a page) and attempt\n // client-navigation if it is falling back to hard navigation if\n // it's not\n if (destination.startsWith(\"/\") && routeInfo.props.pageProps.__N_REDIRECT_BASE_PATH !== false) {\n const parsedHref = (0, _parserelativeurl.parseRelativeUrl)(destination);\n parsedHref.pathname = resolveDynamicRoute(parsedHref.pathname, pages);\n const { url: newUrl, as: newAs } = prepareUrlAs(this, destination, destination);\n return this.change(method, newUrl, newAs, options);\n }\n handleHardNavigation({\n url: destination,\n router: this\n });\n return new Promise(()=>{});\n }\n nextState.isPreview = !!routeInfo.props.__N_PREVIEW;\n // handle SSG data 404\n if (routeInfo.props.notFound === SSG_DATA_NOT_FOUND) {\n let notFoundRoute;\n try {\n await this.fetchComponent(\"/404\");\n notFoundRoute = \"/404\";\n } catch (_) {\n notFoundRoute = \"/_error\";\n }\n routeInfo = await this.getRouteInfo({\n route: notFoundRoute,\n pathname: notFoundRoute,\n query,\n as,\n resolvedAs,\n routeProps: {\n shallow: false\n },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isNotFound: true\n });\n if (\"type\" in routeInfo) {\n throw new Error(\"Unexpected middleware effect on /404\");\n }\n }\n }\n if (isQueryUpdating && this.pathname === \"/_error\" && ((_self___NEXT_DATA___props = self.__NEXT_DATA__.props) == null ? void 0 : (_self___NEXT_DATA___props_pageProps = _self___NEXT_DATA___props.pageProps) == null ? void 0 : _self___NEXT_DATA___props_pageProps.statusCode) === 500 && ((_routeInfo_props = routeInfo.props) == null ? void 0 : _routeInfo_props.pageProps)) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500;\n }\n var _routeInfo_route;\n // shallow routing is only allowed for same page URL changes.\n const isValidShallowRoute = options.shallow && nextState.route === ((_routeInfo_route = routeInfo.route) != null ? _routeInfo_route : route);\n var _options_scroll;\n const shouldScroll = (_options_scroll = options.scroll) != null ? _options_scroll : !isQueryUpdating && !isValidShallowRoute;\n const resetScroll = shouldScroll ? {\n x: 0,\n y: 0\n } : null;\n const upcomingScrollState = forcedScroll != null ? forcedScroll : resetScroll;\n // the new state that the router gonna set\n const upcomingRouterState = {\n ...nextState,\n route,\n pathname,\n query,\n asPath: cleanedAs,\n isFallback: false\n };\n // When the page being rendered is the 404 page, we should only update the\n // query parameters. Route changes here might add the basePath when it\n // wasn't originally present. This is also why this block is before the\n // below `changeState` call which updates the browser's history (changing\n // the URL).\n if (isQueryUpdating && isErrorRoute) {\n var _self___NEXT_DATA___props_pageProps1, _self___NEXT_DATA___props1, _routeInfo_props1;\n routeInfo = await this.getRouteInfo({\n route: this.pathname,\n pathname: this.pathname,\n query,\n as,\n resolvedAs,\n routeProps: {\n shallow: false\n },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isQueryUpdating: isQueryUpdating && !this.isFallback\n });\n if (\"type\" in routeInfo) {\n throw new Error(\"Unexpected middleware effect on \" + this.pathname);\n }\n if (this.pathname === \"/_error\" && ((_self___NEXT_DATA___props1 = self.__NEXT_DATA__.props) == null ? void 0 : (_self___NEXT_DATA___props_pageProps1 = _self___NEXT_DATA___props1.pageProps) == null ? void 0 : _self___NEXT_DATA___props_pageProps1.statusCode) === 500 && ((_routeInfo_props1 = routeInfo.props) == null ? void 0 : _routeInfo_props1.pageProps)) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500;\n }\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n Router.events.emit(\"routeChangeError\", err, cleanedAs, routeProps);\n }\n throw err;\n }\n return true;\n }\n Router.events.emit(\"beforeHistoryChange\", as, routeProps);\n this.changeState(method, url, as, options);\n // for query updates we can skip it if the state is unchanged and we don't\n // need to scroll\n // https://github.com/vercel/next.js/issues/37139\n const canSkipUpdating = isQueryUpdating && !upcomingScrollState && !readyStateChange && !localeChange && (0, _comparestates.compareRouterStates)(upcomingRouterState, this.state);\n if (!canSkipUpdating) {\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState);\n } catch (e) {\n if (e.cancelled) routeInfo.error = routeInfo.error || e;\n else throw e;\n }\n if (routeInfo.error) {\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeError\", routeInfo.error, cleanedAs, routeProps);\n }\n throw routeInfo.error;\n }\n if (false) {}\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeComplete\", as, routeProps);\n }\n // A hash mark # is the optional last part of a URL\n const hashRegex = /#.+$/;\n if (shouldScroll && hashRegex.test(as)) {\n this.scrollToHash(as);\n }\n }\n return true;\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n return false;\n }\n throw err;\n }\n }\n changeState(method, url, as, options) {\n if (options === void 0) options = {};\n if (true) {\n if (typeof window.history === \"undefined\") {\n console.error(\"Warning: window.history is not available.\");\n return;\n }\n if (typeof window.history[method] === \"undefined\") {\n console.error(\"Warning: window.history.\" + method + \" is not available\");\n return;\n }\n }\n if (method !== \"pushState\" || (0, _utils.getURL)() !== as) {\n this._shallow = options.shallow;\n window.history[method]({\n url,\n as,\n options,\n __N: true,\n key: this._key = method !== \"pushState\" ? this._key : createKey()\n }, // Passing the empty string here should be safe against future changes to the method.\n // https://developer.mozilla.org/docs/Web/API/History/replaceState\n \"\", as);\n }\n }\n async handleRouteInfoError(err, pathname, query, as, routeProps, loadErrorFail) {\n console.error(err);\n if (err.cancelled) {\n // bubble up cancellation errors\n throw err;\n }\n if ((0, _routeloader.isAssetError)(err) || loadErrorFail) {\n Router.events.emit(\"routeChangeError\", err, as, routeProps);\n // If we can't load the page it could be one of following reasons\n // 1. Page doesn't exists\n // 2. Page does exist in a different zone\n // 3. Internal error while loading the page\n // So, doing a hard reload is the proper way to deal with this.\n handleHardNavigation({\n url: as,\n router: this\n });\n // Changing the URL doesn't block executing the current code path.\n // So let's throw a cancellation error stop the routing logic.\n throw buildCancellationError();\n }\n try {\n let props;\n const { page: Component, styleSheets } = await this.fetchComponent(\"/_error\");\n const routeInfo = {\n props,\n Component,\n styleSheets,\n err,\n error: err\n };\n if (!routeInfo.props) {\n try {\n routeInfo.props = await this.getInitialProps(Component, {\n err,\n pathname,\n query\n });\n } catch (gipErr) {\n console.error(\"Error in error page `getInitialProps`: \", gipErr);\n routeInfo.props = {};\n }\n }\n return routeInfo;\n } catch (routeInfoErr) {\n return this.handleRouteInfoError((0, _iserror.default)(routeInfoErr) ? routeInfoErr : new Error(routeInfoErr + \"\"), pathname, query, as, routeProps, true);\n }\n }\n async getRouteInfo(param) {\n let { route: requestedRoute, pathname, query, as, resolvedAs, routeProps, locale, hasMiddleware, isPreview, unstable_skipClientCache, isQueryUpdating, isMiddlewareRewrite, isNotFound } = param;\n /**\n * This `route` binding can change if there's a rewrite\n * so we keep a reference to the original requested route\n * so we can store the cache for it and avoid re-requesting every time\n * for shallow routing purposes.\n */ let route = requestedRoute;\n try {\n var _data_effect, _data_effect1, _data_effect2, _data_response;\n let existingInfo = this.components[route];\n if (routeProps.shallow && existingInfo && this.route === route) {\n return existingInfo;\n }\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n if (hasMiddleware) {\n existingInfo = undefined;\n }\n let cachedRouteInfo = existingInfo && !(\"initial\" in existingInfo) && \"development\" !== \"development\" ? 0 : undefined;\n const isBackground = isQueryUpdating;\n const fetchNextDataParams = {\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname,\n query\n }),\n skipInterpolation: true,\n asPath: isNotFound ? \"/404\" : resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: isBackground ? this.sbc : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache,\n isBackground\n };\n let data = isQueryUpdating && !isMiddlewareRewrite ? null : await withMiddlewareEffects({\n fetchData: ()=>fetchNextData(fetchNextDataParams),\n asPath: isNotFound ? \"/404\" : resolvedAs,\n locale: locale,\n router: this\n }).catch((err)=>{\n // we don't hard error during query updating\n // as it's un-necessary and doesn't need to be fatal\n // unless it is a fallback route and the props can't\n // be loaded\n if (isQueryUpdating) {\n return null;\n }\n throw err;\n });\n // when rendering error routes we don't apply middleware\n // effects\n if (data && (pathname === \"/_error\" || pathname === \"/404\")) {\n data.effect = undefined;\n }\n if (isQueryUpdating) {\n if (!data) {\n data = {\n json: self.__NEXT_DATA__.props\n };\n } else {\n data.json = self.__NEXT_DATA__.props;\n }\n }\n handleCancelled();\n if ((data == null ? void 0 : (_data_effect = data.effect) == null ? void 0 : _data_effect.type) === \"redirect-internal\" || (data == null ? void 0 : (_data_effect1 = data.effect) == null ? void 0 : _data_effect1.type) === \"redirect-external\") {\n return data.effect;\n }\n if ((data == null ? void 0 : (_data_effect2 = data.effect) == null ? void 0 : _data_effect2.type) === \"rewrite\") {\n const resolvedRoute = (0, _removetrailingslash.removeTrailingSlash)(data.effect.resolvedHref);\n const pages = await this.pageLoader.getPageList();\n // during query updating the page must match although during\n // client-transition a redirect that doesn't match a page\n // can be returned and this should trigger a hard navigation\n // which is valid for incremental migration\n if (!isQueryUpdating || pages.includes(resolvedRoute)) {\n route = resolvedRoute;\n pathname = data.effect.resolvedHref;\n query = {\n ...query,\n ...data.effect.parsedAs.query\n };\n resolvedAs = (0, _removebasepath.removeBasePath)((0, _normalizelocalepath.normalizeLocalePath)(data.effect.parsedAs.pathname, this.locales).pathname);\n // Check again the cache with the new destination.\n existingInfo = this.components[route];\n if (routeProps.shallow && existingInfo && this.route === route && !hasMiddleware) {\n // If we have a match with the current route due to rewrite,\n // we can copy the existing information to the rewritten one.\n // Then, we return the information along with the matched route.\n return {\n ...existingInfo,\n route\n };\n }\n }\n }\n if ((0, _isapiroute.isAPIRoute)(route)) {\n handleHardNavigation({\n url: as,\n router: this\n });\n return new Promise(()=>{});\n }\n const routeInfo = cachedRouteInfo || await this.fetchComponent(route).then((res)=>({\n Component: res.page,\n styleSheets: res.styleSheets,\n __N_SSG: res.mod.__N_SSG,\n __N_SSP: res.mod.__N_SSP\n }));\n if (true) {\n const { isValidElementType } = __webpack_require__(/*! next/dist/compiled/react-is */ \"./node_modules/next/dist/compiled/react-is/index.js\");\n if (!isValidElementType(routeInfo.Component)) {\n throw new Error('The default export is not a React Component in page: \"' + pathname + '\"');\n }\n }\n const wasBailedPrefetch = data == null ? void 0 : (_data_response = data.response) == null ? void 0 : _data_response.headers.get(\"x-middleware-skip\");\n const shouldFetchData = routeInfo.__N_SSG || routeInfo.__N_SSP;\n // For non-SSG prefetches that bailed before sending data\n // we clear the cache to fetch full response\n if (wasBailedPrefetch && (data == null ? void 0 : data.dataHref)) {\n delete this.sdc[data.dataHref];\n }\n const { props, cacheKey } = await this._getData(async ()=>{\n if (shouldFetchData) {\n if ((data == null ? void 0 : data.json) && !wasBailedPrefetch) {\n return {\n cacheKey: data.cacheKey,\n props: data.json\n };\n }\n const dataHref = (data == null ? void 0 : data.dataHref) ? data.dataHref : this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname,\n query\n }),\n asPath: resolvedAs,\n locale\n });\n const fetched = await fetchNextData({\n dataHref,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: wasBailedPrefetch ? {} : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache\n });\n return {\n cacheKey: fetched.cacheKey,\n props: fetched.json || {}\n };\n }\n return {\n headers: {},\n props: await this.getInitialProps(routeInfo.Component, {\n pathname,\n query,\n asPath: as,\n locale,\n locales: this.locales,\n defaultLocale: this.defaultLocale\n })\n };\n });\n // Only bust the data cache for SSP routes although\n // middleware can skip cache per request with\n // x-middleware-cache: no-cache as well\n if (routeInfo.__N_SSP && fetchNextDataParams.dataHref && cacheKey) {\n delete this.sdc[cacheKey];\n }\n // we kick off a HEAD request in the background\n // when a non-prefetch request is made to signal revalidation\n if (!this.isPreview && routeInfo.__N_SSG && \"development\" !== \"development\" && 0) {}\n props.pageProps = Object.assign({}, props.pageProps);\n routeInfo.props = props;\n routeInfo.route = route;\n routeInfo.query = query;\n routeInfo.resolvedAs = resolvedAs;\n this.components[route] = routeInfo;\n return routeInfo;\n } catch (err) {\n return this.handleRouteInfoError((0, _iserror.getProperError)(err), pathname, query, as, routeProps);\n }\n }\n set(state, data, resetScroll) {\n this.state = state;\n return this.sub(data, this.components[\"/_app\"].Component, resetScroll);\n }\n /**\n * Callback to execute before replacing router state\n * @param cb callback to be executed\n */ beforePopState(cb) {\n this._bps = cb;\n }\n onlyAHashChange(as) {\n if (!this.asPath) return false;\n const [oldUrlNoHash, oldHash] = this.asPath.split(\"#\", 2);\n const [newUrlNoHash, newHash] = as.split(\"#\", 2);\n // Makes sure we scroll to the provided hash if the url/hash are the same\n if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {\n return true;\n }\n // If the urls are change, there's more than a hash change\n if (oldUrlNoHash !== newUrlNoHash) {\n return false;\n }\n // If the hash has changed, then it's a hash only change.\n // This check is necessary to handle both the enter and\n // leave hash === '' cases. The identity case falls through\n // and is treated as a next reload.\n return oldHash !== newHash;\n }\n scrollToHash(as) {\n const [, hash = \"\"] = as.split(\"#\", 2);\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // Scroll to top if the hash is just `#` with no value or `#top`\n // To mirror browsers\n if (hash === \"\" || hash === \"top\") {\n window.scrollTo(0, 0);\n return;\n }\n // Decode hash to make non-latin anchor works.\n const rawHash = decodeURIComponent(hash);\n // First we check if the element by id is found\n const idEl = document.getElementById(rawHash);\n if (idEl) {\n idEl.scrollIntoView();\n return;\n }\n // If there's no element with the id, we check the `name` property\n // To mirror browsers\n const nameEl = document.getElementsByName(rawHash)[0];\n if (nameEl) {\n nameEl.scrollIntoView();\n }\n }, {\n onlyHashChange: this.onlyAHashChange(as)\n });\n }\n urlIsNew(asPath) {\n return this.asPath !== asPath;\n }\n /**\n * Prefetch page code, you may wait for the data during page rendering.\n * This feature only works in production!\n * @param url the href of prefetched page\n * @param asPath the as path of the prefetched page\n */ async prefetch(url, asPath, options) {\n if (asPath === void 0) asPath = url;\n if (options === void 0) options = {};\n // Prefetch is not supported in development mode because it would trigger on-demand-entries\n if (true) {\n return;\n }\n if ( true && (0, _isbot.isBot)(window.navigator.userAgent)) {\n // No prefetches for bots that render the link since they are typically navigating\n // links via the equivalent of a hard navigation and hence never utilize these\n // prefetches.\n return;\n }\n let parsed = (0, _parserelativeurl.parseRelativeUrl)(url);\n const urlPathname = parsed.pathname;\n let { pathname, query } = parsed;\n const originalPathname = pathname;\n if (false) {}\n const pages = await this.pageLoader.getPageList();\n let resolvedAs = asPath;\n const locale = typeof options.locale !== \"undefined\" ? options.locale || undefined : this.locale;\n const isMiddlewareMatch = await matchesMiddleware({\n asPath: asPath,\n locale: locale,\n router: this\n });\n if (false) {}\n parsed.pathname = resolveDynamicRoute(parsed.pathname, pages);\n if ((0, _isdynamic.isDynamicRoute)(parsed.pathname)) {\n pathname = parsed.pathname;\n parsed.pathname = pathname;\n Object.assign(query, (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(parsed.pathname))((0, _parsepath.parsePath)(asPath).pathname) || {});\n if (!isMiddlewareMatch) {\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n }\n const data = false ? 0 : await withMiddlewareEffects({\n fetchData: ()=>fetchNextData({\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname: originalPathname,\n query\n }),\n skipInterpolation: true,\n asPath: resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true\n }),\n asPath: asPath,\n locale: locale,\n router: this\n });\n /**\n * If there was a rewrite we apply the effects of the rewrite on the\n * current parameters for the prefetch.\n */ if ((data == null ? void 0 : data.effect.type) === \"rewrite\") {\n parsed.pathname = data.effect.resolvedHref;\n pathname = data.effect.resolvedHref;\n query = {\n ...query,\n ...data.effect.parsedAs.query\n };\n resolvedAs = data.effect.parsedAs.pathname;\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n /**\n * If there is a redirect to an external destination then we don't have\n * to prefetch content as it will be unused.\n */ if ((data == null ? void 0 : data.effect.type) === \"redirect-external\") {\n return;\n }\n const route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n if (await this._bfl(asPath, resolvedAs, options.locale, true)) {\n this.components[urlPathname] = {\n __appRouter: true\n };\n }\n await Promise.all([\n this.pageLoader._isSsg(route).then((isSsg)=>{\n return isSsg ? fetchNextData({\n dataHref: (data == null ? void 0 : data.json) ? data == null ? void 0 : data.dataHref : this.pageLoader.getDataHref({\n href: url,\n asPath: resolvedAs,\n locale: locale\n }),\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true,\n unstable_skipClientCache: options.unstable_skipClientCache || options.priority && !!true\n }).then(()=>false).catch(()=>false) : false;\n }),\n this.pageLoader[options.priority ? \"loadPage\" : \"prefetch\"](route)\n ]);\n }\n async fetchComponent(route) {\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n try {\n const componentResult = await this.pageLoader.loadPage(route);\n handleCancelled();\n return componentResult;\n } catch (err) {\n handleCancelled();\n throw err;\n }\n }\n _getData(fn) {\n let cancelled = false;\n const cancel = ()=>{\n cancelled = true;\n };\n this.clc = cancel;\n return fn().then((data)=>{\n if (cancel === this.clc) {\n this.clc = null;\n }\n if (cancelled) {\n const err = new Error(\"Loading initial props cancelled\");\n err.cancelled = true;\n throw err;\n }\n return data;\n });\n }\n _getFlightData(dataHref) {\n // Do not cache RSC flight response since it's not a static resource\n return fetchNextData({\n dataHref,\n isServerRender: true,\n parseJSON: false,\n inflightCache: this.sdc,\n persistCache: false,\n isPrefetch: false\n }).then((param)=>{\n let { text } = param;\n return {\n data: text\n };\n });\n }\n getInitialProps(Component, ctx) {\n const { Component: App } = this.components[\"/_app\"];\n const AppTree = this._wrapApp(App);\n ctx.AppTree = AppTree;\n return (0, _utils.loadGetInitialProps)(App, {\n AppTree,\n Component,\n router: this,\n ctx\n });\n }\n get route() {\n return this.state.route;\n }\n get pathname() {\n return this.state.pathname;\n }\n get query() {\n return this.state.query;\n }\n get asPath() {\n return this.state.asPath;\n }\n get locale() {\n return this.state.locale;\n }\n get isFallback() {\n return this.state.isFallback;\n }\n get isPreview() {\n return this.state.isPreview;\n }\n constructor(pathname, query, as, { initialProps, pageLoader, App, wrapApp, Component, err, subscription, isFallback, locale, locales, defaultLocale, domainLocales, isPreview }){\n // Server Data Cache (full data requests)\n this.sdc = {};\n // Server Background Cache (HEAD requests)\n this.sbc = {};\n this.isFirstPopStateEvent = true;\n this._key = createKey();\n this.onPopState = (e)=>{\n const { isFirstPopStateEvent } = this;\n this.isFirstPopStateEvent = false;\n const state = e.state;\n if (!state) {\n // We get state as undefined for two reasons.\n // 1. With older safari (< 8) and older chrome (< 34)\n // 2. When the URL changed with #\n //\n // In the both cases, we don't need to proceed and change the route.\n // (as it's already changed)\n // But we can simply replace the state with the new changes.\n // Actually, for (1) we don't need to nothing. But it's hard to detect that event.\n // So, doing the following for (1) does no harm.\n const { pathname, query } = this;\n this.changeState(\"replaceState\", (0, _formaturl.formatWithValidation)({\n pathname: (0, _addbasepath.addBasePath)(pathname),\n query\n }), (0, _utils.getURL)());\n return;\n }\n // __NA is used to identify if the history entry can be handled by the app-router.\n if (state.__NA) {\n window.location.reload();\n return;\n }\n if (!state.__N) {\n return;\n }\n // Safari fires popstateevent when reopening the browser.\n if (isFirstPopStateEvent && this.locale === state.options.locale && state.as === this.asPath) {\n return;\n }\n let forcedScroll;\n const { url, as, options, key } = state;\n if (false) {}\n this._key = key;\n const { pathname } = (0, _parserelativeurl.parseRelativeUrl)(url);\n // Make sure we don't re-render on initial load,\n // can be caused by navigating back from an external site\n if (this.isSsr && as === (0, _addbasepath.addBasePath)(this.asPath) && pathname === (0, _addbasepath.addBasePath)(this.pathname)) {\n return;\n }\n // If the downstream application returns falsy, return.\n // They will then be responsible for handling the event.\n if (this._bps && !this._bps(state)) {\n return;\n }\n this.change(\"replaceState\", url, as, Object.assign({}, options, {\n shallow: options.shallow && this._shallow,\n locale: options.locale || this.defaultLocale,\n // @ts-ignore internal value not exposed on types\n _h: 0\n }), forcedScroll);\n };\n // represents the current component key\n const route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n // set up the component cache (by route keys)\n this.components = {};\n // We should not keep the cache, if there's an error\n // Otherwise, this cause issues when when going back and\n // come again to the errored page.\n if (pathname !== \"/_error\") {\n this.components[route] = {\n Component,\n initial: true,\n props: initialProps,\n err,\n __N_SSG: initialProps && initialProps.__N_SSG,\n __N_SSP: initialProps && initialProps.__N_SSP\n };\n }\n this.components[\"/_app\"] = {\n Component: App,\n styleSheets: []\n };\n if (true) {\n const { BloomFilter } = __webpack_require__(/*! ../../lib/bloom-filter */ \"./node_modules/next/dist/shared/lib/bloom-filter.js\");\n const routerFilterSValue = false;\n const staticFilterData = routerFilterSValue ? routerFilterSValue : undefined;\n const routerFilterDValue = false;\n const dynamicFilterData = routerFilterDValue ? routerFilterDValue : undefined;\n if (staticFilterData == null ? void 0 : staticFilterData.numHashes) {\n this._bfl_s = new BloomFilter(staticFilterData.numItems, staticFilterData.errorRate);\n this._bfl_s.import(staticFilterData);\n }\n if (dynamicFilterData == null ? void 0 : dynamicFilterData.numHashes) {\n this._bfl_d = new BloomFilter(dynamicFilterData.numItems, dynamicFilterData.errorRate);\n this._bfl_d.import(dynamicFilterData);\n }\n }\n // Backwards compat for Router.router.events\n // TODO: Should be remove the following major version as it was never documented\n this.events = Router.events;\n this.pageLoader = pageLoader;\n // if auto prerendered and dynamic route wait to update asPath\n // until after mount to prevent hydration mismatch\n const autoExportDynamic = (0, _isdynamic.isDynamicRoute)(pathname) && self.__NEXT_DATA__.autoExport;\n this.basePath = false || \"\";\n this.sub = subscription;\n this.clc = null;\n this._wrapApp = wrapApp;\n // make sure to ignore extra popState in safari on navigating\n // back from external site\n this.isSsr = true;\n this.isLocaleDomain = false;\n this.isReady = !!(self.__NEXT_DATA__.gssp || self.__NEXT_DATA__.gip || self.__NEXT_DATA__.isExperimentalCompile || self.__NEXT_DATA__.appGip && !self.__NEXT_DATA__.gsp || !autoExportDynamic && !self.location.search && !false);\n if (false) {}\n this.state = {\n route,\n pathname,\n query,\n asPath: autoExportDynamic ? pathname : as,\n isPreview: !!isPreview,\n locale: false ? 0 : undefined,\n isFallback\n };\n this._initialMatchesMiddlewarePromise = Promise.resolve(false);\n if (true) {\n // make sure \"as\" doesn't start with double slashes or else it can\n // throw an error as it's considered invalid\n if (!as.startsWith(\"//\")) {\n // in order for `e.state` to work on the `onpopstate` event\n // we have to register the initial route upon initialization\n const options = {\n locale\n };\n const asPath = (0, _utils.getURL)();\n this._initialMatchesMiddlewarePromise = matchesMiddleware({\n router: this,\n locale,\n asPath\n }).then((matches)=>{\n options._shouldResolveHref = as !== pathname;\n this.changeState(\"replaceState\", matches ? asPath : (0, _formaturl.formatWithValidation)({\n pathname: (0, _addbasepath.addBasePath)(pathname),\n query\n }), asPath, options);\n return matches;\n });\n }\n window.addEventListener(\"popstate\", this.onPopState);\n // enable custom scroll restoration handling when available\n // otherwise fallback to browser's default handling\n if (false) {}\n }\n }\n}\nRouter.events = (0, _mitt.default)(); //# sourceMappingURL=router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3JvdXRlci5qcyIsIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7Ozs7Ozs7Ozs7Ozs7SUErbEJaQSxXQUFTO2VBQVRBOzs7ZUFpREtDOztJQXZqQkNDLG1CQUFpQjtlQUFqQkE7Ozs7O2lEQS9FYzt5Q0FLN0I7b0NBQ2dDOytFQUNDO2lEQUNKO2lEQUNBOzJFQUNuQjttQ0FDa0Q7dUNBQ3BDOzhDQUNFO3NGQUNMOzBDQUNJO3dDQUNGO3VDQUNPO2dEQUNGO3VDQUNUO3VDQUNBOzBDQUNHOzRDQUNFO3lDQUNIO3lDQUNBO3lDQUNBO3dDQUNEO2lEQUNTO29EQUNHOzJDQUNIO3dDQUNUO21DQUNMO2tDQUNEOzJDQUNTO2dEQUNLO0FBZ0NuQyxTQUFTQztJQUNQLE9BQU9DLE9BQU9DLE1BQU0sQ0FBQyxJQUFJQyxNQUFNLG9CQUFvQjtRQUNqREMsV0FBVztJQUNiO0FBQ0Y7QUFTTyxlQUFlTCxrQkFDcEJNLE9BQWtDO0lBRWxDLE1BQU1DLFdBQVcsTUFBTUMsUUFBUUMsT0FBTyxDQUNwQ0gsUUFBUUksTUFBTSxDQUFDQyxVQUFVLENBQUNDLGFBQWE7SUFFekMsSUFBSSxDQUFDTCxVQUFVLE9BQU87SUFFdEIsTUFBTSxFQUFFTSxVQUFVQyxVQUFVLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBUyxFQUFDVCxRQUFRVSxNQUFNO0lBQ3pELDZGQUE2RjtJQUM3RixNQUFNQyxZQUFZQyxDQUFBQSxHQUFBQSxhQUFBQSxXQUFXLEVBQUNKLGNBQzFCSyxDQUFBQSxHQUFBQSxnQkFBQUEsY0FBYyxFQUFDTCxjQUNmQTtJQUNKLE1BQU1NLDBCQUEwQkMsQ0FBQUEsR0FBQUEsYUFBQUEsV0FBVyxFQUN6Q0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBUyxFQUFDTCxXQUFXWCxRQUFRaUIsTUFBTTtJQUdyQywyRUFBMkU7SUFDM0UsdUVBQXVFO0lBQ3ZFLE9BQU9oQixTQUFTaUIsSUFBSSxDQUFDLENB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QUFBLEdBQUFBLE1BQUFBLE9BQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvcm91dGVyLnRzP2VkZmYiXSwibmFtZXMiOlsiY3JlYXRlS2V5IiwiUm91dGVyIiwibWF0Y2hlc01pZGRsZXdhcmUiLCJidWlsZENhbmNlbGxhdGlvbkVycm9yIiwiT2JqZWN0IiwiYXNzaWduIiwiRXJyb3IiLCJjYW5jZWxsZWQiLCJvcHRpb25zIiwibWF0Y2hlcnMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJvdXRlciIsInBhZ2VMb2FkZXIiLCJnZXRNaWRkbGV3YXJlIiwicGF0aG5hbWUiLCJhc1BhdGhuYW1lIiwicGFyc2VQYXRoIiwiYXNQYXRoIiwiY2xlYW5lZEFzIiwiaGFzQmFzZVBhdGgiLCJyZW1vdmVCYXNlUGF0aCIsImFzV2l0aEJhc2VQYXRoQW5kTG9jYWxlIiwiYWRkQmFzZVBhdGgiLCJhZGRMb2NhbGUiLCJsb2NhbGUiLCJzb21lIiwibSIsIlJlZ0V4cCIsInJlZ2V4cCIsInRlc3QiLCJzdHJpcE9yaWdpbiIsInVybCIsIm9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwic3RhcnRzV2l0aCIsInN1YnN0cmluZyIsImxlbmd0aCIsInByZXBhcmVVcmxBcyIsImFzIiwicmVzb2x2ZWRIcmVmIiwicmVzb2x2ZWRBcyIsInJlc29sdmVIcmVmIiwiaHJlZldhc0Fic29sdXRlIiwiYXNXYXNBYnNvbHV0ZSIsInByZXBhcmVkVXJsIiwicHJlcGFyZWRBcyIsInJlc29sdmVEeW5hbWljUm91dGUiLCJwYWdlcyIsImNsZWFuUGF0aG5hbWUiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwiZGVub3JtYWxpemVQYWdlUGF0aCIsImluY2x1ZGVzIiwicGFnZSIsImlzRHluYW1pY1JvdXRlIiwiZ2V0Um91dGVSZWdleCIsInJlIiwiZ2V0TWlkZGxld2FyZURhdGEiLCJzb3VyY2UiLCJyZXNwb25zZSIsIm5leHRDb25maWciLCJiYXNlUGF0aCIsImkxOG4iLCJsb2NhbGVzIiwidHJhaWxpbmdTbGFzaCIsIkJvb2xlYW4iLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1RSQUlMSU5HX1NMQVNIIiwicmV3cml0ZUhlYWRlciIsImhlYWRlcnMiLCJnZXQiLCJyZXdyaXRlVGFyZ2V0IiwibWF0Y2hlZFBhdGgiLCJfX05FWFRfRVhURVJOQUxfTUlERExFV0FSRV9SRVdSSVRFX1JFU09MVkUiLCJwYXJzZWRSZXdyaXRlVGFyZ2V0IiwicGFyc2VSZWxhdGl2ZVVybCIsInBhdGhuYW1lSW5mbyIsImdldE5leHRQYXRobmFtZUluZm8iLCJwYXJzZURhdGEiLCJmc1BhdGhuYW1lIiwiYWxsIiwiZ2V0UGFnZUxpc3QiLCJnZXRDbGllbnRCdWlsZE1hbmlmZXN0IiwidGhlbiIsInBhcmFtIiwiX19yZXdyaXRlcyIsInJld3JpdGVzIiwibm9ybWFsaXplTG9jYWxlUGF0aCIsInBhcnNlZFNvdXJjZSIsIl9fTkVYVF9IQVNfUkVXUklURVMiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJyZXNvbHZlUmV3cml0ZXMiLCJxdWVyeSIsInBhdGgiLCJtYXRjaGVkUGFnZSIsInBhcnNlZEFzIiwicmVzb2x2ZWRQYXRobmFtZSIsIm1hdGNoZXMiLCJnZXRSb3V0ZU1hdGNoZXIiLCJ0eXBlIiwic3JjIiwiZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyIsImRlZmF1bHRMb2NhbGUiLCJidWlsZElkIiwiZGVzdGluYXRpb24iLCJoYXNoIiwicmVkaXJlY3RUYXJnZXQiLCJuZXdBcyIsIm5ld1VybCIsIndpdGhNaWRkbGV3YXJlRWZmZWN0cyIsImZldGNoRGF0YSIsImRhdGEiLCJlZmZlY3QiLCJkYXRhSHJlZiIsImpzb24iLCJ0ZXh0IiwiY2FjaGVLZXkiLCJtYW51YWxTY3JvbGxSZXN0b3JhdGlvbiIsIl9fTkVYVF9TQ1JPTExfUkVTVE9SQVRJT04iLCJ3aW5kb3ciLCJoaXN0b3J5IiwidiIsInNlc3Npb25TdG9yYWdlIiwic2V0SXRlbSIsInJlbW92ZUl0ZW0iLCJuIiwiU1NHX0RBVEFfTk9UX0ZPVU5EIiwiU3ltYm9sIiwiZmV0Y2hSZXRyeSIsImF0dGVtcHRzIiwiZmV0Y2giLCJjcmVkZW50aWFscyIsIm1ldGhvZCIsIm9rIiwic3RhdHVzIiwidHJ5VG9QYXJzZUFzSlNPTiIsIkpTT04iLCJwYXJzZSIsImVycm9yIiwiZmV0Y2hOZXh0RGF0YSIsImluZmxpZ2h0Q2FjaGUiLCJpc1ByZWZldGNoIiwiaGFzTWlkZGxld2FyZSIsImlzU2VydmVyUmVuZGVyIiwicGFyc2VKU09OIiwicGVyc2lzdENhY2hlIiwiaXNCYWNrZ3JvdW5kIiwidW5zdGFibGVfc2tpcENsaWVudENhY2hlIiwiaHJlZiIsIlVSTCIsImxvY2F0aW9uIiwiZ2V0RGF0YSIsInBhcmFtcyIsInB1cnBvc2UiLCJub3RGb3VuZCIsIm1hcmtBc3NldEVycm9yIiwiY2F0Y2giLCJlcnIiLCJtZXNzYWdlIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic2xpY2UiLCJoYW5kbGVIYXJkTmF2aWdhdGlvbiIsImdldENhbmNlbGxlZEhhbmRsZXIiLCJyb3V0ZSIsImNhbmNlbCIsImNsYyIsImhhbmRsZUNhbmNlbGxlZCIsInJlbG9hZCIsImJhY2siLCJmb3J3YXJkIiwicHVzaCIsIl9rZXkiLCJzdHJpbmdpZnkiLCJ4Iiwic2VsZiIsInBhZ2VYT2Zmc2V0IiwieSIsInBhZ2VZT2Zmc2V0IiwiZSIsImNoYW5nZSIsInJlcGxhY2UiLCJfYmZsIiwic2tpcE5hdmlnYXRlIiwiX19ORVhUX0NMSUVOVF9ST1VURVJfRklMVEVSX0VOQUJMRUQiLCJtYXRjaGVzQmZsU3RhdGljIiwibWF0Y2hlc0JmbER5bmFtaWMiLCJjdXJBcyIsImFzTm9TbGFzaCIsImFzTm9TbGFzaExvY2FsZSIsIl90aGlzX19iZmxfcyIsIl90aGlzX19iZmxfczEiLCJfYmZsX3MiLCJjb250YWlucyIsIm5vcm1hbGl6ZWRBUyIsImN1ckFzUGFydHMiLCJzcGxpdCIsImkiLCJfdGhpc19fYmZsX2QiLCJjdXJyZW50UGFydCIsImpvaW4iLCJfYmZsX2QiLCJmb3JjZWRTY3JvbGwiLCJfdGhpc19jb21wb25lbnRzX3BhdGhuYW1lIiwiaXNMb2NhbFVSTCIsImlzUXVlcnlVcGRhdGluZyIsIl9oIiwic2hhbGxvdyIsInNob3VsZFJlc29sdmVIcmVmIiwiX3Nob3VsZFJlc29sdmVIcmVmIiwibmV4dFN0YXRlIiwic3RhdGUiLCJyZWFkeVN0YXRlQ2hhbmdlIiwiaXNSZWFkeSIsImlzU3NyIiwicHJldkxvY2FsZSIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJsb2NhbGVQYXRoUmVzdWx0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsImRpZE5hdmlnYXRlIiwiX3RoaXNfbG9jYWxlcyIsImRldGVjdGVkRG9tYWluIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwiZG9tYWluTG9jYWxlcyIsImlzTG9jYWxlRG9tYWluIiwiaG9zdG5hbWUiLCJkb21haW4iLCJhc05vQmFzZVBhdGgiLCJodHRwIiwiU1QiLCJwZXJmb3JtYW5jZSIsIm1hcmsiLCJzY3JvbGwiLCJyb3V0ZVByb3BzIiwiX2luRmxpZ2h0Um91dGUiLCJldmVudHMiLCJlbWl0IiwicmVtb3ZlTG9jYWxlIiwibG9jYWxlQ2hhbmdlIiwib25seUFIYXNoQ2hhbmdlIiwiY2hhbmdlU3RhdGUiLCJzY3JvbGxUb0hhc2giLCJzZXQiLCJjb21wb25lbnRzIiwiaXNFcnJvciIsInBhcnNlZCIsInVybElzTmV3IiwicGFyc2VkQXNQYXRobmFtZSIsIl9fYXBwUm91dGVyIiwiaXNNaWRkbGV3YXJlUmV3cml0ZSIsImlzTWlkZGxld2FyZU1hdGNoIiwicmV3cml0ZXNSZXN1bHQiLCJwIiwiZXh0ZXJuYWxEZXN0Iiwicm91dGVNYXRjaCIsInJvdXRlUmVnZXgiLCJzaG91bGRJbnRlcnBvbGF0ZSIsImludGVycG9sYXRlZEFzIiwiaW50ZXJwb2xhdGVBcyIsIm1pc3NpbmdQYXJhbXMiLCJrZXlzIiwiZ3JvdXBzIiwiZmlsdGVyIiwib3B0aW9uYWwiLCJjb25zb2xlIiwid2FybiIsIm9taXQiLCJpc0Vycm9yUm91dGUiLCJyb3V0ZUluZm8iLCJnZXRSb3V0ZUluZm8iLCJpc1ByZXZpZXciLCJpc0ZhbGxiYWNrIiwiY2xlYW5lZFBhcnNlZFBhdGhuYW1lIiwiZm9yRWFjaCIsImtleSIsInByZWZpeGVkQXMiLCJyZXdyaXRlQXMiLCJsb2NhbGVSZXN1bHQiLCJjdXJSb3V0ZU1hdGNoIiwiY29tcG9uZW50IiwiQ29tcG9uZW50IiwidW5zdGFibGVfc2NyaXB0TG9hZGVyIiwic2NyaXB0cyIsImNvbmNhdCIsInNjcmlwdCIsImhhbmRsZUNsaWVudFNjcmlwdExvYWQiLCJwcm9wcyIsIl9fTl9TU0ciLCJfX05fU1NQIiwicGFnZVByb3BzIiwiX19OX1JFRElSRUNUIiwiX19OX1JFRElSRUNUX0JBU0VfUEFUSCIsInBhcnNlZEhyZWYiLCJfX05fUFJFVklFVyIsIm5vdEZvdW5kUm91dGUiLCJmZXRjaENvbXBvbmVudCIsIl8iLCJpc05vdEZvdW5kIiwiX19ORVhUX0RBVEFfXyIsInN0YXR1c0NvZGUiLCJpc1ZhbGlkU2hhbGxvd1JvdXRlIiwic2hvdWxkU2Nyb2xsIiwicmVzZXRTY3JvbGwiLCJ1cGNvbWluZ1Njcm9sbFN0YXRlIiwidXBjb21pbmdSb3V0ZXJTdGF0ZSIsImNhblNraXBVcGRhdGluZyIsImNvbXBhcmVSb3V0ZXJTdGF0ZXMiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImxhbmciLCJoYXNoUmVnZXgiLCJnZXRVUkwiLCJfc2hhbGxvdyIsIl9fTiIsImhhbmRsZVJvdXRlSW5mb0Vycm9yIiwibG9hZEVycm9yRmFpbCIsImlzQXNzZXRFcnJvciIsInN0eWxlU2hlZXRzIiwiZ2V0SW5pdGlhbFByb3BzIiwiZ2lwRXJyIiwicm91dGVJbmZvRXJyIiwicmVxdWVzdGVkUm91dGUiLCJleGlzdGluZ0luZm8iLCJjYWNoZWRSb3V0ZUluZm8iLCJmZXRjaE5leHREYXRhUGFyYW1zIiwiZ2V0RGF0YUhyZWYiLCJza2lwSW50ZXJwb2xhdGlvbiIsInNiYyIsInNkYyIsInJlc29sdmVkUm91dGUiLCJpc0FQSVJvdXRlIiwicmVzIiwibW9kIiwiaXNWYWxpZEVsZW1lbnRUeXBlIiwicmVxdWlyZSIsIndhc0JhaWxlZFByZWZldGNoIiwic2hvdWxkRmV0Y2hEYXRhIiwiX2dldERhdGEiLCJmZXRjaGVkIiwiZ2V0UHJvcGVyRXJyb3IiLCJzdWIiLCJiZWZvcmVQb3BTdGF0ZSIsImNiIiwiX2JwcyIsIm9sZFVybE5vSGFzaCIsIm9sZEhhc2giLCJuZXdVcmxOb0hhc2giLCJuZXdIYXNoIiwiaGFuZGxlU21vb3RoU2Nyb2xsIiwic2Nyb2xsVG8iLCJyYXdIYXNoIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiaWRFbCIsImdldEVsZW1lbnRCeUlkIiwic2Nyb2xsSW50b1ZpZXciLCJuYW1lRWwiLCJnZXRFbGVtZW50c0J5TmFtZSIsIm9ubHlIYXNoQ2hhbmdlIiwicHJlZmV0Y2giLCJpc0JvdCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsInVybFBhdGhuYW1lIiwib3JpZ2luYWxQYXRobmFtZSIsIl9fTkVYVF9NSURETEVXQVJFX1BSRUZFVENIIiwiX2lzU3NnIiwiaXNTc2ciLCJwcmlvcml0eSIsIl9fTkVYVF9PUFRJTUlTVElDX0NMSUVOVF9DQUNIRSIsImNvbXBvbmVudFJlc3VsdCIsImxvYWRQYWdlIiwiZm4iLCJfZ2V0RmxpZ2h0RGF0YSIsImN0eCIsIkFwcCIsIkFwcFRyZWUiLCJfd3JhcEFwcCIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJjb25zdHJ1Y3RvciIsImluaXRpYWxQcm9wcyIsIndyYXBBcHAiLCJzdWJzY3JpcHRpb24iLCJpc0ZpcnN0UG9wU3RhdGVFdmVudCIsIm9uUG9wU3RhdGUiLCJfX05BIiwiZ2V0SXRlbSIsImluaXRpYWwiLCJCbG9vbUZpbHRlciIsInJvdXRlckZpbHRlclNWYWx1ZSIsIl9fTkVYVF9DTElFTlRfUk9VVEVSX1NfRklMVEVSIiwic3RhdGljRmlsdGVyRGF0YSIsInJvdXRlckZpbHRlckRWYWx1ZSIsIl9fTkVYVF9DTElFTlRfUk9VVEVSX0RfRklMVEVSIiwiZHluYW1pY0ZpbHRlckRhdGEiLCJudW1IYXNoZXMiLCJudW1JdGVtcyIsImVycm9yUmF0ZSIsImltcG9ydCIsImF1dG9FeHBvcnREeW5hbWljIiwiYXV0b0V4cG9ydCIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJnc3NwIiwiZ2lwIiwiaXNFeHBlcmltZW50YWxDb21waWxlIiwiYXBwR2lwIiwiZ3NwIiwic2VhcmNoIiwiX2luaXRpYWxNYXRjaGVzTWlkZGxld2FyZVByb21pc2UiLCJhZGRFdmVudExpc3RlbmVyIiwic2Nyb2xsUmVzdG9yYXRpb24iLCJtaXR0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-locale.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-locale.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction addLocale(path, locale, defaultLocale, ignorePrefix) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path;\n const lower = path.toLowerCase();\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/api\")) return path;\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/\" + locale.toLowerCase())) return path;\n }\n // Add the locale prefix to the path.\n return (0, _addpathprefix.addPathPrefix)(path, \"/\" + locale);\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FRZ0JBOzs7ZUFBQUE7OzsyQ0FSYzsyQ0FDQTtBQU92QixTQUFTQSxVQUNkQyxJQUFZLEVBQ1pDLE1BQXVCLEVBQ3ZCQyxhQUFzQixFQUN0QkMsWUFBc0I7SUFFdEIsNEVBQTRFO0lBQzVFLHNCQUFzQjtJQUN0QixJQUFJLENBQUNGLFVBQVVBLFdBQVdDLGVBQWUsT0FBT0Y7SUFFaEQsTUFBTUksUUFBUUosS0FBS0ssV0FBVztJQUU5QiwyRUFBMkU7SUFDM0UsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQ0YsY0FBYztRQUNqQixJQUFJRyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNGLE9BQU8sU0FBUyxPQUFPSjtRQUN6QyxJQUFJTSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNGLE9BQU8sTUFBSUgsT0FBT0ksV0FBVyxLQUFPLE9BQU9MO0lBQy9EO0lBRUEscUNBQXFDO0lBQ3JDLE9BQU9PLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ1AsTUFBTSxNQUFJQztBQUNqQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGUudHM/M2ExMCJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwibG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsImlnbm9yZVByZWZpeCIsImxvd2VyIiwidG9Mb3dlckNhc2UiLCJwYXRoSGFzUHJlZml4IiwiYWRkUGF0aFByZWZpeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQU1nQkE7OztlQUFBQTs7O3VDQU5VO0FBTW5CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBZTtJQUN6RCxJQUFJLENBQUNELEtBQUtFLFVBQVUsQ0FBQyxRQUFRLENBQUNELFFBQVE7UUFDcEMsT0FBT0Q7SUFDVDtJQUVBLE1BQU0sRUFBRUcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNOO0lBQzVDLE9BQU8sS0FBR0MsU0FBU0UsV0FBV0MsUUFBUUM7QUFDeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1wcmVmaXgudHM/YjQ1NSJdLCJuYW1lcyI6WyJhZGRQYXRoUHJlZml4IiwicGF0aCIsInByZWZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathSuffix\", ({\n enumerable: true,\n get: function() {\n return addPathSuffix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathSuffix(path, suffix) {\n if (!path.startsWith(\"/\") || !suffix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + pathname + suffix + query + hash;\n} //# sourceMappingURL=add-path-suffix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXN1ZmZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQU9nQkE7OztlQUFBQTs7O3VDQVBVO0FBT25CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBZTtJQUN6RCxJQUFJLENBQUNELEtBQUtFLFVBQVUsQ0FBQyxRQUFRLENBQUNELFFBQVE7UUFDcEMsT0FBT0Q7SUFDVDtJQUVBLE1BQU0sRUFBRUcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNOO0lBQzVDLE9BQU8sS0FBR0csV0FBV0YsU0FBU0csUUFBUUM7QUFDeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1zdWZmaXgudHM/NTBkYiJdLCJuYW1lcyI6WyJhZGRQYXRoU3VmZml4IiwicGF0aCIsInN1ZmZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/app-paths.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! - \*********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFzQmdCQSxrQkFBZ0I7ZUFBaEJBOztJQW1DQUMsaUJBQWU7ZUFBZkE7OztnREF6RG1CO3FDQUNKO0FBcUJ4QixTQUFTRCxpQkFBaUJFLEtBQWE7SUFDNUMsT0FBT0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFrQixFQUN2QkQsTUFBTUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQyxDQUFDQyxVQUFVQyxTQUFTQyxPQUFPQztRQUNqRCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDRixTQUFTO1lBQ1osT0FBT0Q7UUFDVDtRQUVBLHNCQUFzQjtRQUN0QixJQUFJSSxDQUFBQSxHQUFBQSxTQUFBQSxjQUFjLEVBQUNILFVBQVU7WUFDM0IsT0FBT0Q7UUFDVDtRQUVBLGlDQUFpQztRQUNqQyxJQUFJQyxPQUFPLENBQUMsRUFBRSxLQUFLLEtBQUs7WUFDdEIsT0FBT0Q7UUFDVDtRQUVBLHVEQUF1RDtRQUN2RCxJQUNFLENBQUNDLFlBQVksVUFBVUEsWUFBWSxZQUNuQ0MsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQzVCO1lBQ0EsT0FBT0w7UUFDVDtRQUVBLE9BQU9BLFdBQVksTUFBR0M7SUFDeEIsR0FBRztBQUVQO0FBTU8sU0FBU04sZ0JBQWdCVyxHQUFXO0lBQ3pDLE9BQU9BLElBQUlDLE9BQU8sQ0FDaEIsZUFFQTtBQUVKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYXBwLXBhdGhzLnRzP2Q0NmQiXSwibmFtZXMiOlsibm9ybWFsaXplQXBwUGF0aCIsIm5vcm1hbGl6ZVJzY1VSTCIsInJvdXRlIiwiZW5zdXJlTGVhZGluZ1NsYXNoIiwic3BsaXQiLCJyZWR1Y2UiLCJwYXRobmFtZSIsInNlZ21lbnQiLCJpbmRleCIsInNlZ21lbnRzIiwiaXNHcm91cFNlZ21lbnQiLCJsZW5ndGgiLCJ1cmwiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/compare-states.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/compare-states.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"compareRouterStates\", ({\n enumerable: true,\n get: function() {\n return compareRouterStates;\n }\n}));\nfunction compareRouterStates(a, b) {\n const stateKeys = Object.keys(a);\n if (stateKeys.length !== Object.keys(b).length) return false;\n for(let i = stateKeys.length; i--;){\n const key = stateKeys[i];\n if (key === \"query\") {\n const queryKeys = Object.keys(a.query);\n if (queryKeys.length !== Object.keys(b.query).length) {\n return false;\n }\n for(let j = queryKeys.length; j--;){\n const queryKey = queryKeys[j];\n if (!b.query.hasOwnProperty(queryKey) || a.query[queryKey] !== b.query[queryKey]) {\n return false;\n }\n }\n } else if (!b.hasOwnProperty(key) || a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n} //# sourceMappingURL=compare-states.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2NvbXBhcmUtc3RhdGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxvQkFBb0JDLENBQWtCLEVBQUVDLENBQWtCO0lBQ3hFLE1BQU1DLFlBQVlDLE9BQU9DLElBQUksQ0FBQ0o7SUFDOUIsSUFBSUUsVUFBVUcsTUFBTSxLQUFLRixPQUFPQyxJQUFJLENBQUNILEdBQUdJLE1BQU0sRUFBRSxPQUFPO0lBRXZELElBQUssSUFBSUMsSUFBSUosVUFBVUcsTUFBTSxFQUFFQyxLQUFPO1FBQ3BDLE1BQU1DLE1BQU1MLFNBQVMsQ0FBQ0ksRUFBRTtRQUN4QixJQUFJQyxRQUFRLFNBQVM7WUFDbkIsTUFBTUMsWUFBWUwsT0FBT0MsSUFBSSxDQUFDSixFQUFFUyxLQUFLO1lBQ3JDLElBQUlELFVBQVVILE1BQU0sS0FBS0YsT0FBT0MsSUFBSSxDQUFDSCxFQUFFUSxLQUFLLEVBQUVKLE1BQU0sRUFBRTtnQkFDcEQsT0FBTztZQUNUO1lBQ0EsSUFBSyxJQUFJSyxJQUFJRixVQUFVSCxNQUFNLEVBQUVLLEtBQU87Z0JBQ3BDLE1BQU1DLFdBQVdILFNBQVMsQ0FBQ0UsRUFBRTtnQkFDN0IsSUFDRSxDQUFDVCxFQUFFUSxLQUFLLENBQUNHLGNBQWMsQ0FBQ0QsYUFDeEJYLEVBQUVTLEtBQUssQ0FBQ0UsU0FBUyxLQUFLVixFQUFFUSxLQUFLLENBQUNFLFNBQVMsRUFDdkM7b0JBQ0EsT0FBTztnQkFDVDtZQUNGO1FBQ0YsT0FBTyxJQUNMLENBQUNWLEVBQUVXLGNBQWMsQ0FBQ0wsUUFDbEJQLENBQUMsQ0FBQ08sSUFBNkIsS0FBS04sQ0FBQyxDQUFDTSxJQUE2QixFQUNuRTtZQUNBLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvY29tcGFyZS1zdGF0ZXMudHM/YThkYSJdLCJuYW1lcyI6WyJjb21wYXJlUm91dGVyU3RhdGVzIiwiYSIsImIiLCJzdGF0ZUtleXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiaSIsImtleSIsInF1ZXJ5S2V5cyIsInF1ZXJ5IiwiaiIsInF1ZXJ5S2V5IiwiaGFzT3duUHJvcGVydHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/compare-states.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js ***! - \*************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"formatNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return formatNextPathnameInfo;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _addpathsuffix = __webpack_require__(/*! ./add-path-suffix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"./node_modules/next/dist/shared/lib/router/utils/add-locale.js\");\nfunction formatNextPathnameInfo(info) {\n let pathname = (0, _addlocale.addLocale)(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix);\n if (info.buildId || !info.trailingSlash) {\n pathname = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n }\n if (info.buildId) {\n pathname = (0, _addpathsuffix.addPathSuffix)((0, _addpathprefix.addPathPrefix)(pathname, \"/_next/data/\" + info.buildId), info.pathname === \"/\" ? \"index.json\" : \".json\");\n }\n pathname = (0, _addpathprefix.addPathPrefix)(pathname, info.basePath);\n return !info.buildId && info.trailingSlash ? !pathname.endsWith(\"/\") ? (0, _addpathsuffix.addPathSuffix)(pathname, \"/\") : pathname : (0, _removetrailingslash.removeTrailingSlash)(pathname);\n} //# sourceMappingURL=format-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6Ijs7OzswREFXZ0JBOzs7ZUFBQUE7OztpREFWb0I7MkNBQ047MkNBQ0E7dUNBQ0o7QUFPbkIsU0FBU0EsdUJBQXVCQyxJQUFrQjtJQUN2RCxJQUFJQyxXQUFXQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQ3RCRixLQUFLQyxRQUFRLEVBQ2JELEtBQUtHLE1BQU0sRUFDWEgsS0FBS0ksT0FBTyxHQUFHQyxZQUFZTCxLQUFLTSxhQUFhLEVBQzdDTixLQUFLTyxZQUFZO0lBR25CLElBQUlQLEtBQUtJLE9BQU8sSUFBSSxDQUFDSixLQUFLUSxhQUFhLEVBQUU7UUFDdkNQLFdBQVdRLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1I7SUFDakM7SUFFQSxJQUFJRCxLQUFLSSxPQUFPLEVBQUU7UUFDaEJILFdBQVdTLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFDdEJDLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ1YsVUFBVSxpQkFBZUQsS0FBS0ksT0FBTyxHQUNuREosS0FBS0MsUUFBUSxLQUFLLE1BQU0sZUFBZTtJQUUzQztJQUVBQSxXQUFXVSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNWLFVBQVVELEtBQUtZLFFBQVE7SUFDaEQsT0FBTyxDQUFDWixLQUFLSSxPQUFPLElBQUlKLEtBQUtRLGFBQWEsR0FDdEMsQ0FBQ1AsU0FBU1ksUUFBUSxDQUFDLE9BQ2pCSCxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNULFVBQVUsT0FDeEJBLFdBQ0ZRLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1I7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtbmV4dC1wYXRobmFtZS1pbmZvLnRzPzBlNjUiXSwibmFtZXMiOlsiZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyIsImluZm8iLCJwYXRobmFtZSIsImFkZExvY2FsZSIsImxvY2FsZSIsImJ1aWxkSWQiLCJ1bmRlZmluZWQiLCJkZWZhdWx0TG9jYWxlIiwiaWdub3JlUHJlZml4IiwidHJhaWxpbmdTbGFzaCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJhZGRQYXRoU3VmZml4IiwiYWRkUGF0aFByZWZpeCIsImJhc2VQYXRoIiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/format-url.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLHNEQUFzRDtBQUN0RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLGdFQUFnRTtBQUNoRSxzRUFBc0U7QUFDdEUsc0VBQXNFO0FBQ3RFLDRFQUE0RTtBQUM1RSxxRUFBcUU7QUFDckUsd0JBQXdCO0FBQ3hCLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsNkRBQTZEO0FBQzdELDRFQUE0RTtBQUM1RSwyRUFBMkU7QUFDM0Usd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUM1RSx5Q0FBeUM7Ozs7Ozs7Ozs7Ozs7SUFRekJBLFdBQVM7ZUFBVEE7O0lBNkRBQyxzQkFBb0I7ZUFBcEJBOztJQWZIQyxlQUFhO2VBQWJBOzs7O21GQWxEZ0I7QUFFN0IsTUFBTUMsbUJBQW1CO0FBRWxCLFNBQVNILFVBQVVJLE1BQWlCO0lBQ3pDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUUsR0FBR0Y7SUFDekIsSUFBSUcsV0FBV0gsT0FBT0csUUFBUSxJQUFJO0lBQ2xDLElBQUlDLFdBQVdKLE9BQU9JLFFBQVEsSUFBSTtJQUNsQyxJQUFJQyxPQUFPTCxPQUFPSyxJQUFJLElBQUk7SUFDMUIsSUFBSUMsUUFBUU4sT0FBT00sS0FBSyxJQUFJO0lBQzVCLElBQUlDLE9BQXVCO0lBRTNCTixPQUFPQSxPQUFPTyxtQkFBbUJQLE1BQU1RLE9BQU8sQ0FBQyxRQUFRLE9BQU8sTUFBTTtJQUVwRSxJQUFJVCxPQUFPTyxJQUFJLEVBQUU7UUFDZkEsT0FBT04sT0FBT0QsT0FBT08sSUFBSTtJQUMzQixPQUFPLElBQUlMLFVBQVU7UUFDbkJLLE9BQU9OLE9BQVEsRUFBQ0MsU0FBU1EsT0FBTyxDQUFDLE9BQU8sTUFBSVIsV0FBUyxNQUFLQSxRQUFBQTtRQUMxRCxJQUFJRixPQUFPVyxJQUFJLEVBQUU7WUFDZkosUUFBUSxNQUFNUCxPQUFPVyxJQUFJO1FBQzNCO0lBQ0Y7SUFFQSxJQUFJTCxTQUFTLE9BQU9BLFVBQVUsVUFBVTtRQUN0Q0EsUUFBUU0sT0FBT0MsYUFBWUMsc0JBQXNCLENBQUNSO0lBQ3BEO0lBRUEsSUFBSVMsU0FBU2YsT0FBT2UsTUFBTSxJQUFLVCxTQUFTLE1BQUlBLFNBQVk7SUFFeEQsSUFBSUgsWUFBWSxDQUFDQSxTQUFTYSxRQUFRLENBQUMsTUFBTWIsWUFBWTtJQUVyRCxJQUNFSCxPQUFPaUIsT0FBTyxJQUNiLENBQUMsQ0FBQ2QsWUFBWUosaUJBQWlCbUIsSUFBSSxDQUFDZixTQUFBQSxLQUFjSSxTQUFTLE9BQzVEO1FBQ0FBLE9BQU8sT0FBUUEsQ0FBQUEsUUFBUTtRQUN2QixJQUFJSCxZQUFZQSxRQUFRLENBQUMsRUFBRSxLQUFLLEtBQUtBLFdBQVcsTUFBTUE7SUFDeEQsT0FBTyxJQUFJLENBQUNHLE1BQU07UUFDaEJBLE9BQU87SUFDVDtJQUVBLElBQUlGLFFBQVFBLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBS0EsT0FBTyxNQUFNQTtJQUMxQyxJQUFJVSxVQUFVQSxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUtBLFNBQVMsTUFBTUE7SUFFaERYLFdBQVdBLFNBQVNLLE9BQU8sQ0FBQyxTQUFTRDtJQUNyQ08sU0FBU0EsT0FBT04sT0FBTyxDQUFDLEtBQUs7SUFFN0IsT0FBTyxLQUFHTixXQUFXSSxPQUFPSCxXQUFXVyxTQUFTVjtBQUNsRDtBQUVPLE1BQU1QLGdCQUFnQjtJQUMzQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQUVNLFNBQVNELHFCQUFxQnNCLEdBQWM7SUFDakQsSUFBSUMsSUFBeUIsRUFBZTtRQUMxQyxJQUFJRCxRQUFRLFFBQVEsT0FBT0EsUUFBUSxVQUFVO1lBQzNDRSxPQUFPQyxJQUFJLENBQUNILEtBQUtJLE9BQU8sQ0FBQyxDQUFDQztnQkFDeEIsSUFBSSxDQUFDMUIsY0FBYzJCLFFBQVEsQ0FBQ0QsTUFBTTtvQkFDaENFLFFBQVFDLElBQUksQ0FDVix1REFBcURIO2dCQUV6RDtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU81QixVQUFVdUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsLnRzPzFiODciXSwibmFtZXMiOlsiZm9ybWF0VXJsIiwiZm9ybWF0V2l0aFZhbGlkYXRpb24iLCJ1cmxPYmplY3RLZXlzIiwic2xhc2hlZFByb3RvY29scyIsInVybE9iaiIsImF1dGgiLCJob3N0bmFtZSIsInByb3RvY29sIiwicGF0aG5hbWUiLCJoYXNoIiwicXVlcnkiLCJob3N0IiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsImluZGV4T2YiLCJwb3J0IiwiU3RyaW5nIiwicXVlcnlzdHJpbmciLCJ1cmxRdWVyeVRvU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiZW5kc1dpdGgiLCJzbGFzaGVzIiwidGVzdCIsInVybCIsInByb2Nlc3MiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIiwiY29uc29sZSIsIndhcm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/format-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js ***! - \*************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Translates a logical route into its pages asset path (relative from a common prefix)\n// \"asset path\" being its javascript file, data file, prerendered html,...\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return getAssetPathFromRoute;\n }\n}));\nfunction getAssetPathFromRoute(route, ext) {\n if (ext === void 0) ext = \"\";\n const path = route === \"/\" ? \"/index\" : /^\\/index(\\/|$)/.test(route) ? \"/index\" + route : route;\n return path + ext;\n} //# sourceMappingURL=get-asset-path-from-route.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1hc3NldC1wYXRoLWZyb20tcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUZBQXVGO0FBQ3ZGLDBFQUEwRTs7Ozs7MkNBQzFFOzs7ZUFBd0JBOzs7QUFBVCxTQUFTQSxzQkFDdEJDLEtBQWEsRUFDYkMsR0FBZ0I7SUFBaEJBLElBQUFBLFFBQUFBLEtBQUFBLEdBQUFBLE1BQWM7SUFFZCxNQUFNQyxPQUNKRixVQUFVLE1BQ04sV0FDQSxpQkFBaUJHLElBQUksQ0FBQ0gsU0FDdEIsV0FBU0EsUUFDVEE7SUFDTixPQUFPRSxPQUFPRDtBQUNoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1hc3NldC1wYXRoLWZyb20tcm91dGUudHM/MjM5MSJdLCJuYW1lcyI6WyJnZXRBc3NldFBhdGhGcm9tUm91dGUiLCJyb3V0ZSIsImV4dCIsInBhdGgiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return getNextPathnameInfo;\n }\n}));\nconst _normalizelocalepath = __webpack_require__(/*! ../../i18n/normalize-locale-path */ \"./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _removepathprefix = __webpack_require__(/*! ./remove-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction getNextPathnameInfo(pathname, options) {\n var _options_nextConfig;\n const { basePath, i18n, trailingSlash } = (_options_nextConfig = options.nextConfig) != null ? _options_nextConfig : {};\n const info = {\n pathname,\n trailingSlash: pathname !== \"/\" ? pathname.endsWith(\"/\") : trailingSlash\n };\n if (basePath && (0, _pathhasprefix.pathHasPrefix)(info.pathname, basePath)) {\n info.pathname = (0, _removepathprefix.removePathPrefix)(info.pathname, basePath);\n info.basePath = basePath;\n }\n let pathnameNoDataPrefix = info.pathname;\n if (info.pathname.startsWith(\"/_next/data/\") && info.pathname.endsWith(\".json\")) {\n const paths = info.pathname.replace(/^\\/_next\\/data\\//, \"\").replace(/\\.json$/, \"\").split(\"/\");\n const buildId = paths[0];\n info.buildId = buildId;\n pathnameNoDataPrefix = paths[1] !== \"index\" ? \"/\" + paths.slice(1).join(\"/\") : \"/\";\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix;\n }\n }\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, _normalizelocalepath.normalizeLocalePath)(info.pathname, i18n.locales);\n info.locale = result.detectedLocale;\n var _result_pathname;\n info.pathname = (_result_pathname = result.pathname) != null ? _result_pathname : info.pathname;\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, _normalizelocalepath.normalizeLocalePath)(pathnameNoDataPrefix, i18n.locales);\n if (result.detectedLocale) {\n info.locale = result.detectedLocale;\n }\n }\n }\n return info;\n} //# sourceMappingURL=get-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFvRGdCQTs7O2VBQUFBOzs7aURBcERvQjs4Q0FDSDsyQ0FDSDtBQWtEdkIsU0FBU0Esb0JBQ2RDLFFBQWdCLEVBQ2hCQyxPQUFnQjtRQUUwQkE7SUFBMUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsYUFBYSxFQUFFLEdBQUdILENBQUFBLHNCQUFBQSxRQUFRSSxVQUFVLFlBQWxCSixzQkFBc0IsQ0FBQztJQUNqRSxNQUFNSyxPQUF5QjtRQUM3Qk47UUFDQUksZUFBZUosYUFBYSxNQUFNQSxTQUFTTyxRQUFRLENBQUMsT0FBT0g7SUFDN0Q7SUFFQSxJQUFJRixZQUFZTSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNGLEtBQUtOLFFBQVEsRUFBRUUsV0FBVztRQUN0REksS0FBS04sUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQWdCLEVBQUNILEtBQUtOLFFBQVEsRUFBRUU7UUFDaERJLEtBQUtKLFFBQVEsR0FBR0E7SUFDbEI7SUFDQSxJQUFJUSx1QkFBdUJKLEtBQUtOLFFBQVE7SUFFeEMsSUFDRU0sS0FBS04sUUFBUSxDQUFDVyxVQUFVLENBQUMsbUJBQ3pCTCxLQUFLTixRQUFRLENBQUNPLFFBQVEsQ0FBQyxVQUN2QjtRQUNBLE1BQU1LLFFBQVFOLEtBQUtOLFFBQVEsQ0FDeEJhLE9BQU8sQ0FBQyxvQkFBb0IsSUFDNUJBLE9BQU8sQ0FBQyxXQUFXLElBQ25CQyxLQUFLLENBQUM7UUFFVCxNQUFNQyxVQUFVSCxLQUFLLENBQUMsRUFBRTtRQUN4Qk4sS0FBS1MsT0FBTyxHQUFHQTtRQUNmTCx1QkFDRUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxVQUFVLE1BQUlBLE1BQU1JLEtBQUssQ0FBQyxHQUFHQyxJQUFJLENBQUMsT0FBUztRQUUxRCxzREFBc0Q7UUFDdEQsa0RBQWtEO1FBQ2xELElBQUloQixRQUFRaUIsU0FBUyxLQUFLLE1BQU07WUFDOUJaLEtBQUtOLFFBQVEsR0FBR1U7UUFDbEI7SUFDRjtJQUVBLDRFQUE0RTtJQUM1RSx5QkFBeUI7SUFDekIsSUFBSVAsTUFBTTtRQUNSLElBQUlnQixTQUFTbEIsUUFBUW1CLFlBQVksR0FDN0JuQixRQUFRbUIsWUFBWSxDQUFDQyxPQUFPLENBQUNmLEtBQUtOLFFBQVEsSUFDMUNzQixDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNoQixLQUFLTixRQUFRLEVBQUVHLEtBQUtvQixPQUFPO1FBRW5EakIsS0FBS2tCLE1BQU0sR0FBR0wsT0FBT00sY0FBYztZQUNuQk47UUFBaEJiLEtBQUtOLFFBQVEsR0FBR21CLENBQUFBLG1CQUFBQSxPQUFPbkIsUUFBUSxZQUFmbUIsbUJBQW1CYixLQUFLTixRQUFRO1FBRWhELElBQUksQ0FBQ21CLE9BQU9NLGNBQWMsSUFBSW5CLEtBQUtTLE9BQU8sRUFBRTtZQUMxQ0ksU0FBU2xCLFFBQVFtQixZQUFZLEdBQ3pCbkIsUUFBUW1CLFlBQVksQ0FBQ0MsT0FBTyxDQUFDWCx3QkFDN0JZLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1osc0JBQXNCUCxLQUFLb0IsT0FBTztZQUUxRCxJQUFJSixPQUFPTSxjQUFjLEVBQUU7Z0JBQ3pCbkIsS0FBS2tCLE1BQU0sR0FBR0wsT0FBT00sY0FBYztZQUNyQztRQUNGO0lBQ0Y7SUFDQSxPQUFPbkI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8udHM/NTFmNiJdLCJuYW1lcyI6WyJnZXROZXh0UGF0aG5hbWVJbmZvIiwicGF0aG5hbWUiLCJvcHRpb25zIiwiYmFzZVBhdGgiLCJpMThuIiwidHJhaWxpbmdTbGFzaCIsIm5leHRDb25maWciLCJpbmZvIiwiZW5kc1dpdGgiLCJwYXRoSGFzUHJlZml4IiwicmVtb3ZlUGF0aFByZWZpeCIsInBhdGhuYW1lTm9EYXRhUHJlZml4Iiwic3RhcnRzV2l0aCIsInBhdGhzIiwicmVwbGFjZSIsInNwbGl0IiwiYnVpbGRJZCIsInNsaWNlIiwiam9pbiIsInBhcnNlRGF0YSIsInJlc3VsdCIsImkxOG5Qcm92aWRlciIsImFuYWx5emUiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwibG9jYWxlcyIsImxvY2FsZSIsImRldGVjdGVkTG9jYWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js ***! - \********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Run function with `scroll-behavior: auto` applied to `<html/>`.\n * This css change will be reverted after the function finishes.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSmoothScroll\", ({\n enumerable: true,\n get: function() {\n return handleSmoothScroll;\n }\n}));\nfunction handleSmoothScroll(fn, options) {\n if (options === void 0) options = {};\n // if only the hash is changed, we don't need to disable smooth scrolling\n // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX\n if (options.onlyHashChange) {\n fn();\n return;\n }\n const htmlElement = document.documentElement;\n const existing = htmlElement.style.scrollBehavior;\n htmlElement.style.scrollBehavior = \"auto\";\n if (!options.dontForceLayout) {\n // In Chrome-based browsers we need to force reflow before calling `scrollTo`.\n // Otherwise it will not pickup the change in scrollBehavior\n // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042\n htmlElement.getClientRects();\n }\n fn();\n htmlElement.style.scrollBehavior = existing;\n} //# sourceMappingURL=handle-smooth-scroll.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQ2RDLEVBQWMsRUFDZEMsT0FBcUU7SUFBckVBLElBQUFBLFlBQUFBLEtBQUFBLEdBQUFBLFVBQW1FLENBQUM7SUFFcEUseUVBQXlFO0lBQ3pFLDZGQUE2RjtJQUM3RixJQUFJQSxRQUFRQyxjQUFjLEVBQUU7UUFDMUJGO1FBQ0E7SUFDRjtJQUNBLE1BQU1HLGNBQWNDLFNBQVNDLGVBQWU7SUFDNUMsTUFBTUMsV0FBV0gsWUFBWUksS0FBSyxDQUFDQyxjQUFjO0lBQ2pETCxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBRztJQUNuQyxJQUFJLENBQUNQLFFBQVFRLGVBQWUsRUFBRTtRQUM1Qiw4RUFBOEU7UUFDOUUsNERBQTREO1FBQzVELHlGQUF5RjtRQUN6Rk4sWUFBWU8sY0FBYztJQUM1QjtJQUNBVjtJQUNBRyxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBR0Y7QUFDckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9oYW5kbGUtc21vb3RoLXNjcm9sbC50cz9jM2Y0Il0sIm5hbWVzIjpbImhhbmRsZVNtb290aFNjcm9sbCIsImZuIiwib3B0aW9ucyIsIm9ubHlIYXNoQ2hhbmdlIiwiaHRtbEVsZW1lbnQiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImV4aXN0aW5nIiwic3R5bGUiLCJzY3JvbGxCZWhhdmlvciIsImRvbnRGb3JjZUxheW91dCIsImdldENsaWVudFJlY3RzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxpQkFBZTtlQUFmQSxjQUFBQSxlQUFlOztJQUNmQyxnQkFBYztlQUFkQSxXQUFBQSxjQUFjOzs7MENBRFM7dUNBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbmRleC50cz83MmQ1Il0sIm5hbWVzIjpbImdldFNvcnRlZFJvdXRlcyIsImlzRHluYW1pY1JvdXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBS2dCQTs7O2VBQUFBOzs7MENBSGdCO3dDQUNGO0FBRXZCLFNBQVNBLGNBQ2RDLEtBQWEsRUFDYkMsVUFBa0IsRUFDbEJDLEtBQXFCO0lBRXJCLElBQUlDLG9CQUFvQjtJQUV4QixNQUFNQyxlQUFlQyxDQUFBQSxHQUFBQSxZQUFBQSxhQUFhLEVBQUNMO0lBQ25DLE1BQU1NLGdCQUFnQkYsYUFBYUcsTUFBTTtJQUN6QyxNQUFNQyxpQkFFSFAsQ0FBQUEsZUFBZUQsUUFBUVMsQ0FBQUEsR0FBQUEsY0FBQUEsZUFBZSxFQUFDTCxjQUFjSCxjQUFjLE9BQ3BFLGdEQUFnRDtJQUNoRCxzRUFBc0U7SUFDdEVDO0lBRUZDLG9CQUFvQkg7SUFDcEIsTUFBTVUsU0FBU0MsT0FBT0MsSUFBSSxDQUFDTjtJQUUzQixJQUNFLENBQUNJLE9BQU9HLEtBQUssQ0FBQyxDQUFDQztRQUNiLElBQUlDLFFBQVFQLGNBQWMsQ0FBQ00sTUFBTSxJQUFJO1FBQ3JDLE1BQU0sRUFBRUUsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR1gsYUFBYSxDQUFDUSxNQUFNO1FBRWpELGlDQUFpQztRQUNqQywwREFBMEQ7UUFDMUQsSUFBSUksV0FBVyxNQUFJRixDQUFBQSxTQUFTLFFBQVEsTUFBS0YsUUFBTTtRQUMvQyxJQUFJRyxVQUFVO1lBQ1pDLFdBQVcsQ0FBRyxDQUFDSCxRQUFRLE1BQU0sTUFBRyxNQUFHRyxXQUFTO1FBQzlDO1FBQ0EsSUFBSUYsVUFBVSxDQUFDRyxNQUFNQyxPQUFPLENBQUNMLFFBQVFBLFFBQVE7WUFBQ0E7U0FBTTtRQUVwRCxPQUNFLENBQUNFLFlBQVlILFNBQVNOLGNBQUFBLEtBQ3RCLDZDQUE2QztRQUM1Q0wsQ0FBQUEsb0JBQ0NBLGtCQUFtQmtCLE9BQU8sQ0FDeEJILFVBQ0FGLFNBQ0lELE1BQ0dPLEdBQUcsQ0FFRix1REFBdUQ7UUFDdkQsa0RBQWtEO1FBQ2xELG9DQUFvQztRQUNwQyxDQUFDQyxVQUFZQyxtQkFBbUJELFVBRWpDRSxJQUFJLENBQUMsT0FDUkQsbUJBQW1CVCxXQUNwQjtJQUVYLElBQ0E7UUFDQVosb0JBQW9CLEdBQUcsbUNBQW1DOztJQUUxRCx1RUFBdUU7SUFDdkUsa0RBQWtEO0lBQ3BEO0lBQ0EsT0FBTztRQUNMTztRQUNBZ0IsUUFBUXZCO0lBQ1Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLnRzPzllMzEiXSwibmFtZXMiOlsiaW50ZXJwb2xhdGVBcyIsInJvdXRlIiwiYXNQYXRobmFtZSIsInF1ZXJ5IiwiaW50ZXJwb2xhdGVkUm91dGUiLCJkeW5hbWljUmVnZXgiLCJnZXRSb3V0ZVJlZ2V4IiwiZHluYW1pY0dyb3VwcyIsImdyb3VwcyIsImR5bmFtaWNNYXRjaGVzIiwiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW1zIiwiT2JqZWN0Iiwia2V5cyIsImV2ZXJ5IiwicGFyYW0iLCJ2YWx1ZSIsInJlcGVhdCIsIm9wdGlvbmFsIiwicmVwbGFjZWQiLCJBcnJheSIsImlzQXJyYXkiLCJyZXBsYWNlIiwibWFwIiwic2VnbWVudCIsImVuY29kZVVSSUNvbXBvbmVudCIsImpvaW4iLCJyZXN1bHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-bot.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-bot.js ***! - \******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isBot\", ({\n enumerable: true,\n get: function() {\n return isBot;\n }\n}));\nfunction isBot(userAgent) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(userAgent);\n} //# sourceMappingURL=is-bot.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3lDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsTUFBTUMsU0FBaUI7SUFDckMsT0FBTyxvVkFBb1ZDLElBQUksQ0FDN1ZEO0FBRUoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1ib3QudHM/OGEzNyJdLCJuYW1lcyI6WyJpc0JvdCIsInVzZXJBZ2VudCIsInRlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-bot.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFRZ0JBOzs7ZUFBQUE7OztnREFMVDtBQUVQLHFDQUFxQztBQUNyQyxNQUFNQyxhQUFhO0FBRVosU0FBU0QsZUFBZUUsS0FBYTtJQUMxQyxJQUFJQyxDQUFBQSxHQUFBQSxvQkFBQUEsMEJBQTBCLEVBQUNELFFBQVE7UUFDckNBLFFBQVFFLENBQUFBLEdBQUFBLG9CQUFBQSxtQ0FBbUMsRUFBQ0YsT0FBT0csZ0JBQWdCO0lBQ3JFO0lBRUEsT0FBT0osV0FBV0ssSUFBSSxDQUFDSjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMudHM/ODJkYyJdLCJuYW1lcyI6WyJpc0R5bmFtaWNSb3V0ZSIsIlRFU1RfUk9VVEUiLCJyb3V0ZSIsImlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIiwiZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb24iLCJpbnRlcmNlcHRlZFJvdXRlIiwidGVzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQU1nQkE7OztlQUFBQTs7O21DQU5pQzt5Q0FDckI7QUFLckIsU0FBU0EsV0FBV0MsR0FBVztJQUNwQyxnRUFBZ0U7SUFDaEUsSUFBSSxDQUFDQyxDQUFBQSxHQUFBQSxPQUFBQSxhQUFhLEVBQUNELE1BQU0sT0FBTztJQUNoQyxJQUFJO1FBQ0YsNERBQTREO1FBQzVELE1BQU1FLGlCQUFpQkMsQ0FBQUEsR0FBQUEsT0FBQUEsaUJBQWlCO1FBQ3hDLE1BQU1DLFdBQVcsSUFBSUMsSUFBSUwsS0FBS0U7UUFDOUIsT0FBT0UsU0FBU0UsTUFBTSxLQUFLSixrQkFBa0JLLENBQUFBLEdBQUFBLGFBQUFBLFdBQVcsRUFBQ0gsU0FBU0ksUUFBUTtJQUM1RSxFQUFFLE9BQU9DLEdBQUc7UUFDVixPQUFPO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC50cz8wNGU1Il0sIm5hbWVzIjpbImlzTG9jYWxVUkwiLCJ1cmwiLCJpc0Fic29sdXRlVXJsIiwibG9jYXRpb25PcmlnaW4iLCJnZXRMb2NhdGlvbk9yaWdpbiIsInJlc29sdmVkIiwiVVJMIiwib3JpZ2luIiwiaGFzQmFzZVBhdGgiLCJwYXRobmFtZSIsIl8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/omit.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL29taXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozt3Q0FBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLEtBQ2RDLE1BQVMsRUFDVEMsSUFBUztJQUVULE1BQU1DLFVBQXNDLENBQUM7SUFDN0NDLE9BQU9GLElBQUksQ0FBQ0QsUUFBUUksT0FBTyxDQUFDLENBQUNDO1FBQzNCLElBQUksQ0FBQ0osS0FBS0ssUUFBUSxDQUFDRCxNQUFXO1lBQzVCSCxPQUFPLENBQUNHLElBQUksR0FBR0wsTUFBTSxDQUFDSyxJQUFJO1FBQzVCO0lBQ0Y7SUFDQSxPQUFPSDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC50cz9iN2E4Il0sIm5hbWVzIjpbIm9taXQiLCJvYmplY3QiLCJrZXlzIiwib21pdHRlZCIsIk9iamVjdCIsImZvckVhY2giLCJrZXkiLCJpbmNsdWRlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/omit.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/parse-path.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Q0FJQzs7Ozs2Q0FDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsVUFBVUMsSUFBWTtJQUNwQyxNQUFNQyxZQUFZRCxLQUFLRSxPQUFPLENBQUM7SUFDL0IsTUFBTUMsYUFBYUgsS0FBS0UsT0FBTyxDQUFDO0lBQ2hDLE1BQU1FLFdBQVdELGFBQWEsQ0FBQyxLQUFNRixDQUFBQSxZQUFZLEtBQUtFLGFBQWFGLFNBQUFBO0lBRW5FLElBQUlHLFlBQVlILFlBQVksQ0FBQyxHQUFHO1FBQzlCLE9BQU87WUFDTEksVUFBVUwsS0FBS00sU0FBUyxDQUFDLEdBQUdGLFdBQVdELGFBQWFGO1lBQ3BETSxPQUFPSCxXQUNISixLQUFLTSxTQUFTLENBQUNILFlBQVlGLFlBQVksQ0FBQyxJQUFJQSxZQUFZTyxhQUN4RDtZQUNKQyxNQUFNUixZQUFZLENBQUMsSUFBSUQsS0FBS1UsS0FBSyxDQUFDVCxhQUFhO1FBQ2pEO0lBQ0Y7SUFFQSxPQUFPO1FBQUVJLFVBQVVMO1FBQU1PLE9BQU87UUFBSUUsTUFBTTtJQUFHO0FBQy9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aC50cz9hMzllIl0sIm5hbWVzIjpbInBhcnNlUGF0aCIsInBhdGgiLCJoYXNoSW5kZXgiLCJpbmRleE9mIiwicXVlcnlJbmRleCIsImhhc1F1ZXJ5IiwicGF0aG5hbWUiLCJzdWJzdHJpbmciLCJxdWVyeSIsInVuZGVmaW5lZCIsImhhc2giLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseRelativeUrl\", ({\n enumerable: true,\n get: function() {\n return parseRelativeUrl;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _querystring = __webpack_require__(/*! ./querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nfunction parseRelativeUrl(url, base) {\n const globalBase = new URL( false ? 0 : (0, _utils.getLocationOrigin)());\n const resolvedBase = base ? new URL(base, globalBase) : url.startsWith(\".\") ? new URL( false ? 0 : window.location.href) : globalBase;\n const { pathname, searchParams, search, hash, href, origin } = new URL(url, resolvedBase);\n if (origin !== globalBase.origin) {\n throw new Error(\"invariant: invalid relative URL, router received \" + url);\n }\n return {\n pathname,\n query: (0, _querystring.searchParamsToUrlQuery)(searchParams),\n search,\n hash,\n href: href.slice(globalBase.origin.length)\n };\n} //# sourceMappingURL=parse-relative-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQWtCZ0JBOzs7ZUFBQUE7OzttQ0FqQmtCO3lDQUNLO0FBZ0JoQyxTQUFTQSxpQkFDZEMsR0FBVyxFQUNYQyxJQUFhO0lBRWIsTUFBTUMsYUFBYSxJQUFJQyxJQUNyQixNQUFrQixHQUFjLElBQWFDLENBQUFBLEdBQUFBLE9BQUFBLGlCQUFpQjtJQUdoRSxNQUFNQyxlQUFlSixPQUNqQixJQUFJRSxJQUFJRixNQUFNQyxjQUNkRixJQUFJTSxVQUFVLENBQUMsT0FDZixJQUFJSCxJQUFJLE1BQWtCLEdBQWMsSUFBYUksT0FBT0MsUUFBUSxDQUFDQyxJQUFJLElBQ3pFUDtJQUVKLE1BQU0sRUFBRVEsUUFBUSxFQUFFQyxZQUFZLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFSixJQUFJLEVBQUVLLE1BQU0sRUFBRSxHQUFHLElBQUlYLElBQ2pFSCxLQUNBSztJQUVGLElBQUlTLFdBQVdaLFdBQVdZLE1BQU0sRUFBRTtRQUNoQyxNQUFNLElBQUlDLE1BQU0sc0RBQW9EZjtJQUN0RTtJQUNBLE9BQU87UUFDTFU7UUFDQU0sT0FBT0MsQ0FBQUEsR0FBQUEsYUFBQUEsc0JBQXNCLEVBQUNOO1FBQzlCQztRQUNBQztRQUNBSixNQUFNQSxLQUFLUyxLQUFLLENBQUNoQixXQUFXWSxNQUFNLENBQUNLLE1BQU07SUFDM0M7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC50cz9hZjNjIl0sIm5hbWVzIjpbInBhcnNlUmVsYXRpdmVVcmwiLCJ1cmwiLCJiYXNlIiwiZ2xvYmFsQmFzZSIsIlVSTCIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWRCYXNlIiwic3RhcnRzV2l0aCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGFzaCIsIm9yaWdpbiIsIkVycm9yIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5Iiwic2xpY2UiLCJsZW5ndGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQVNnQkE7OztlQUFBQTs7O3VDQVRVO0FBU25CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBYztJQUN4RCxJQUFJLE9BQU9ELFNBQVMsVUFBVTtRQUM1QixPQUFPO0lBQ1Q7SUFFQSxNQUFNLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNIO0lBQy9CLE9BQU9FLGFBQWFELFVBQVVDLFNBQVNFLFVBQVUsQ0FBQ0gsU0FBUztBQUM3RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC50cz85MDlhIl0sIm5hbWVzIjpbInBhdGhIYXNQcmVmaXgiLCJwYXRoIiwicHJlZml4IiwicGF0aG5hbWUiLCJwYXJzZVBhdGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTRDZ0JBLFFBQU07ZUFBTkE7O0lBMUNBQyx3QkFBc0I7ZUFBdEJBOztJQTRCQUMsd0JBQXNCO2VBQXRCQTs7O0FBNUJULFNBQVNELHVCQUNkRSxZQUE2QjtJQUU3QixNQUFNQyxRQUF3QixDQUFDO0lBQy9CRCxhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0M7UUFDM0IsSUFBSSxPQUFPSCxLQUFLLENBQUNHLElBQUksS0FBSyxhQUFhO1lBQ3JDSCxLQUFLLENBQUNHLElBQUksR0FBR0Q7UUFDZixPQUFPLElBQUlFLE1BQU1DLE9BQU8sQ0FBQ0wsS0FBSyxDQUFDRyxJQUFJLEdBQUc7WUFDbENILEtBQUssQ0FBQ0csSUFBSSxDQUFjRyxJQUFJLENBQUNKO1FBQ2pDLE9BQU87WUFDTEYsS0FBSyxDQUFDRyxJQUFJLEdBQUc7Z0JBQUNILEtBQUssQ0FBQ0csSUFBSTtnQkFBWUQ7YUFBTTtRQUM1QztJQUNGO0lBQ0EsT0FBT0Y7QUFDVDtBQUVBLFNBQVNPLHVCQUF1QkMsS0FBYztJQUM1QyxJQUNFLE9BQU9BLFVBQVUsWUFDaEIsT0FBT0EsVUFBVSxZQUFZLENBQUNDLE1BQU1ELFVBQ3JDLE9BQU9BLFVBQVUsV0FDakI7UUFDQSxPQUFPRSxPQUFPRjtJQUNoQixPQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0Y7QUFFTyxTQUFTVix1QkFDZGEsUUFBd0I7SUFFeEIsTUFBTUMsU0FBUyxJQUFJQztJQUNuQkMsT0FBT0MsT0FBTyxDQUFDSixVQUFVVixPQUFPLENBQUMsQ0FBQU87WUFBQyxDQUFDTCxLQUFLRCxNQUFNLEdBQUFNO1FBQzVDLElBQUlKLE1BQU1DLE9BQU8sQ0FBQ0gsUUFBUTtZQUN4QkEsTUFBTUQsT0FBTyxDQUFDLENBQUNlLE9BQVNKLE9BQU9LLE1BQU0sQ0FBQ2QsS0FBS0ksdUJBQXVCUztRQUNwRSxPQUFPO1lBQ0xKLE9BQU9NLEdBQUcsQ0FBQ2YsS0FBS0ksdUJBQXVCTDtRQUN6QztJQUNGO0lBQ0EsT0FBT1U7QUFDVDtBQUVPLFNBQVNoQixPQUNkdUIsTUFBdUI7SUFDdkIsUUFBQUMsT0FBQUMsVUFBQUMsTUFBQSxFQUFBQyxtQkFBQSxJQUFBbkIsTUFBQWdCLE9BQUEsSUFBQUEsT0FBQSxRQUFBSSxPQUFBLEdBQUFBLE9BQUFKLE1BQUFJLE9BQUE7UUFBR0QsZ0JBQUFBLENBQUhDLE9BQUEsS0FBQUgsU0FBQSxDQUFBRyxLQUFzQzs7SUFFdENELGlCQUFpQnRCLE9BQU8sQ0FBQyxDQUFDRjtRQUN4QkssTUFBTXFCLElBQUksQ0FBQzFCLGFBQWEyQixJQUFJLElBQUl6QixPQUFPLENBQUMsQ0FBQ0UsTUFBUWdCLE9BQU9RLE1BQU0sQ0FBQ3hCO1FBQy9ESixhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0MsTUFBUWdCLE9BQU9GLE1BQU0sQ0FBQ2QsS0FBS0Q7SUFDMUQ7SUFDQSxPQUFPaUI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLnRzPzgyZmEiXSwibmFtZXMiOlsiYXNzaWduIiwic2VhcmNoUGFyYW1zVG9VcmxRdWVyeSIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2hQYXJhbXMiLCJxdWVyeSIsImZvckVhY2giLCJ2YWx1ZSIsImtleSIsIkFycmF5IiwiaXNBcnJheSIsInB1c2giLCJzdHJpbmdpZnlVcmxRdWVyeVBhcmFtIiwicGFyYW0iLCJpc05hTiIsIlN0cmluZyIsInVybFF1ZXJ5IiwicmVzdWx0IiwiVVJMU2VhcmNoUGFyYW1zIiwiT2JqZWN0IiwiZW50cmllcyIsIml0ZW0iLCJhcHBlbmQiLCJzZXQiLCJ0YXJnZXQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic2VhcmNoUGFyYW1zTGlzdCIsIl9rZXkiLCJmcm9tIiwia2V5cyIsImRlbGV0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/querystring.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removePathPrefix\", ({\n enumerable: true,\n get: function() {\n return removePathPrefix;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction removePathPrefix(path, prefix) {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!(0, _pathhasprefix.pathHasPrefix)(path, prefix)) {\n return path;\n }\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length);\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith(\"/\")) {\n return withoutPrefix;\n }\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return \"/\" + withoutPrefix;\n} //# sourceMappingURL=remove-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQVVnQkE7OztlQUFBQTs7OzJDQVZjO0FBVXZCLFNBQVNBLGlCQUFpQkMsSUFBWSxFQUFFQyxNQUFjO0lBQzNELHlFQUF5RTtJQUN6RSwwRUFBMEU7SUFDMUUsa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRixvQkFBb0I7SUFDcEIsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2Qix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDRixNQUFNQyxTQUFTO1FBQ2hDLE9BQU9EO0lBQ1Q7SUFFQSwrQ0FBK0M7SUFDL0MsTUFBTUcsZ0JBQWdCSCxLQUFLSSxLQUFLLENBQUNILE9BQU9JLE1BQU07SUFFOUMsMkVBQTJFO0lBQzNFLElBQUlGLGNBQWNHLFVBQVUsQ0FBQyxNQUFNO1FBQ2pDLE9BQU9IO0lBQ1Q7SUFFQSw0RUFBNEU7SUFDNUUsbURBQW1EO0lBQ25ELE9BQU8sTUFBSUE7QUFDYiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC50cz8wNzE0Il0sIm5hbWVzIjpbInJlbW92ZVBhdGhQcmVmaXgiLCJwYXRoIiwicHJlZml4IiwicGF0aEhhc1ByZWZpeCIsIndpdGhvdXRQcmVmaXgiLCJzbGljZSIsImxlbmd0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! - \*********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUM7Ozs7dURBQ2VBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG9CQUFvQkMsS0FBYTtJQUMvQyxPQUFPQSxNQUFNQyxPQUFPLENBQUMsT0FBTyxPQUFPO0FBQ3JDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoLnRzP2U5ODIiXSwibmFtZXMiOlsicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInJvdXRlIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFXZ0JBOzs7ZUFBQUE7OzttQ0FWWTtBQVVyQixTQUFTQSxnQkFBZ0JDLEtBQTBCO0lBQTFCLE1BQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFjLEdBQTFCRjtJQUM5QixPQUFPLENBQUNHO1FBQ04sTUFBTUMsYUFBYUgsR0FBR0ksSUFBSSxDQUFDRjtRQUMzQixJQUFJLENBQUNDLFlBQVk7WUFDZixPQUFPO1FBQ1Q7UUFFQSxNQUFNRSxTQUFTLENBQUNOO1lBQ2QsSUFBSTtnQkFDRixPQUFPTyxtQkFBbUJQO1lBQzVCLEVBQUUsT0FBT1EsR0FBRztnQkFDVixNQUFNLElBQUlDLE9BQUFBLFdBQVcsQ0FBQztZQUN4QjtRQUNGO1FBQ0EsTUFBTUMsU0FBcUQsQ0FBQztRQUU1REMsT0FBT0MsSUFBSSxDQUFDVixRQUFRVyxPQUFPLENBQUMsQ0FBQ0M7WUFDM0IsTUFBTUMsSUFBSWIsTUFBTSxDQUFDWSxTQUFTO1lBQzFCLE1BQU1FLElBQUlaLFVBQVUsQ0FBQ1csRUFBRUUsR0FBRyxDQUFDO1lBQzNCLElBQUlELE1BQU1FLFdBQVc7Z0JBQ25CUixNQUFNLENBQUNJLFNBQVMsR0FBRyxDQUFDRSxFQUFFRyxPQUFPLENBQUMsT0FDMUJILEVBQUVJLEtBQUssQ0FBQyxLQUFLQyxHQUFHLENBQUMsQ0FBQ0MsUUFBVWhCLE9BQU9nQixVQUNuQ1AsRUFBRVEsTUFBTSxHQUNSO29CQUFDakIsT0FBT1U7aUJBQUcsR0FDWFYsT0FBT1U7WUFDYjtRQUNGO1FBQ0EsT0FBT047SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci50cz8zMTc5Il0sIm5hbWVzIjpbImdldFJvdXRlTWF0Y2hlciIsInBhcmFtIiwicmUiLCJncm91cHMiLCJwYXRobmFtZSIsInJvdXRlTWF0Y2giLCJleGVjIiwiZGVjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiXyIsIkRlY29kZUVycm9yIiwicGFyYW1zIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJzbHVnTmFtZSIsImciLCJtIiwicG9zIiwidW5kZWZpbmVkIiwiaW5kZXhPZiIsInNwbGl0IiwibWFwIiwiZW50cnkiLCJyZXBlYXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTJOZ0JBLHlCQUF1QjtlQUF2QkE7O0lBaEJBQyxvQkFBa0I7ZUFBbEJBOztJQW5JQUMsZUFBYTtlQUFiQTs7O2dEQXhFMkI7MENBQ1I7aURBQ0M7QUFFcEMsTUFBTUMsMEJBQTBCO0FBQ2hDLE1BQU1DLGtDQUFrQztBQWF4Qzs7Ozs7OztDQU9DLEdBQ0QsU0FBU0MsZUFBZUMsS0FBYTtJQUNuQyxNQUFNQyxXQUFXRCxNQUFNRSxVQUFVLENBQUMsUUFBUUYsTUFBTUcsUUFBUSxDQUFDO0lBQ3pELElBQUlGLFVBQVU7UUFDWkQsUUFBUUEsTUFBTUksS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxQjtJQUNBLE1BQU1DLFNBQVNMLE1BQU1FLFVBQVUsQ0FBQztJQUNoQyxJQUFJRyxRQUFRO1FBQ1ZMLFFBQVFBLE1BQU1JLEtBQUssQ0FBQztJQUN0QjtJQUNBLE9BQU87UUFBRUUsS0FBS047UUFBT0s7UUFBUUo7SUFBUztBQUN4QztBQUVBLFNBQVNNLHFCQUFxQkMsS0FBYTtJQUN6QyxNQUFNQyxXQUFXQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNGLE9BQU9KLEtBQUssQ0FBQyxHQUFHTyxLQUFLLENBQUM7SUFDM0QsTUFBTUMsU0FBeUMsQ0FBQztJQUNoRCxJQUFJQyxhQUFhO0lBQ2pCLE9BQU87UUFDTEMsb0JBQW9CTCxTQUNqQk0sR0FBRyxDQUFDLENBQUNDO1lBQ0osTUFBTUMsY0FBY0Msb0JBQUFBLDBCQUEwQixDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsSUFDbkRKLFFBQVFkLFVBQVUsQ0FBQ2tCO1lBRXJCLE1BQU1DLGVBQWVMLFFBQVFNLEtBQUssQ0FBQyx1QkFBdUIsdUJBQXVCOztZQUVqRixJQUFJTCxlQUFlSSxjQUFjO2dCQUMvQixNQUFNLEVBQUVmLEdBQUcsRUFBRUwsUUFBUSxFQUFF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LEdBQUdQLHFCQUFxQm1CO0lBQ3BELE1BQU0sRUFBRWtDLFdBQVcsSUFBSSxFQUFFLEdBQUdEO0lBQzVCLElBQUk3Qyx1QkFBdUIsS0FBSztRQUM5QixJQUFJK0MsZ0JBQWdCRCxXQUFXLE9BQU87UUFDdEMsT0FBTztZQUNMRixZQUFZLE9BQUtHLGdCQUFjO1FBQ2pDO0lBQ0Y7SUFFQSxNQUFNLEVBQUVWLHVCQUF1QixFQUFFLEdBQUdGLDBCQUNsQ3ZCLGlCQUNBO0lBRUYsSUFBSW9DLHVCQUF1QkYsV0FBVyxlQUFlO0lBQ3JELE9BQU87UUFDTEYsWUFBWSxNQUFJUCwwQkFBMEJXLHVCQUFxQjtJQUNqRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXgudHM/MTZhMSJdLCJuYW1lcyI6WyJnZXROYW1lZE1pZGRsZXdhcmVSZWdleCIsImdldE5hbWVkUm91dGVSZWdleCIsImdldFJvdXRlUmVnZXgiLCJORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCIsIk5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVgiLCJwYXJzZVBhcmFtZXRlciIsInBhcmFtIiwib3B0aW9uYWwiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzbGljZSIsInJlcGVhdCIsImtleSIsImdldFBhcmFtZXRyaXplZFJvdXRlIiwicm91dGUiLCJzZWdtZW50cyIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJzcGxpdCIsImdyb3VwcyIsImdyb3VwSW5kZXgiLCJwYXJhbWV0ZXJpemVkUm91dGUiLCJtYXAiLCJzZWdtZW50IiwibWFya2VyTWF0Y2giLCJJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyIsImZpbmQiLCJtIiwicGFyYW1NYXRjaGVzIiwibWF0Y2giLCJwb3MiLCJlc2NhcGVTdHJpbmdSZWdleHAiLCJqb2luIiwibm9ybWFsaXplZFJvdXRlIiwicmUiLCJSZWdFeHAiLCJidWlsZEdldFNhZmVSb3V0ZUtleSIsImkiLCJyb3V0ZUtleSIsImoiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJNYXRoIiwiZmxvb3IiLCJnZXRTYWZlS2V5RnJvbVNlZ21lbnQiLCJpbnRlcmNlcHRpb25NYXJrZXIiLCJnZXRTYWZlUm91dGVLZXkiLCJyb3V0ZUtleXMiLCJrZXlQcmVmaXgiLCJjbGVhbmVkS2V5IiwicmVwbGFjZSIsImludmFsaWRLZXkiLCJsZW5ndGgiLCJpc05hTiIsInBhcnNlSW50IiwiaW50ZXJjZXB0aW9uUHJlZml4IiwiZ2V0TmFtZWRQYXJhbWV0cml6ZWRSb3V0ZSIsInByZWZpeFJvdXRlS2V5cyIsIm5hbWVkUGFyYW1ldGVyaXplZFJvdXRlIiwiaGFzSW50ZXJjZXB0aW9uTWFya2VyIiwic29tZSIsInVzZWRNYXJrZXIiLCJ1bmRlZmluZWQiLCJwcmVmaXhSb3V0ZUtleSIsInJlc3VsdCIsIm5hbWVkUmVnZXgiLCJvcHRpb25zIiwiY2F0Y2hBbGwiLCJjYXRjaEFsbFJlZ2V4IiwiY2F0Y2hBbGxHcm91cGVkUmVnZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFxTWdCQTs7O2VBQUFBOzs7QUFyTWhCLE1BQU1DO0lBT0pDLE9BQU9DLE9BQWUsRUFBUTtRQUM1QixJQUFJLENBQUNDLE9BQU8sQ0FBQ0QsUUFBUUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQ0MsVUFBVSxFQUFFLEVBQUU7SUFDdkQ7SUFFQUMsU0FBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDckI7SUFFUUEsUUFBUUMsTUFBb0IsRUFBWTtRQUFoQ0EsSUFBQUEsV0FBQUEsS0FBQUEsR0FBQUEsU0FBaUI7UUFDL0IsTUFBTUMsZ0JBQWdCO2VBQUksSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FBRyxDQUFDQyxJQUFJO1FBQ3BELElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUMxQkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUNwRDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM5QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN2RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3RDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQ3pEO1FBRUEsTUFBTUcsU0FBU1QsY0FDWlUsR0FBRyxDQUFDLENBQUNDLElBQU0sSUFBSSxDQUFDVixRQUFRLENBQUNXLEdBQUcsQ0FBQ0QsR0FBSWIsT0FBTyxDQUFDLEtBQUdDLFNBQVNZLElBQUUsTUFDdkRFLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxPQUFTO21CQUFJRDttQkFBU0M7YUFBSyxFQUFFLEVBQUU7UUFFaEQsSUFBSSxJQUFJLENBQUNYLFFBQVEsS0FBSyxNQUFNO1lBQzFCSyxPQUFPTyxJ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QUFHLENBQUNiLGFBQWEsSUFBSXBDO1FBQ3JDO1FBRUEsSUFBSSxDQUFDVyxRQUFRLENBQ1ZXLEdBQUcsQ0FBQ2MsYUFDSmpDLE9BQU8sQ0FBQzZCLFNBQVNILEtBQUssQ0FBQyxJQUFJSSxXQUFXQztJQUMzQzs7YUFqTUFQLFdBQUFBLEdBQXVCO2FBQ3ZCaEIsUUFBQUEsR0FBaUMsSUFBSXVDO2FBQ3JDcEMsUUFBQUEsR0FBMEI7YUFDMUJHLFlBQUFBLEdBQThCO2FBQzlCQyxvQkFBQUEsR0FBc0M7O0FBOEx4QztBQUVPLFNBQVNuQixnQkFDZG9ELGVBQXNDO0lBRXRDLGtGQUFrRjtJQUNsRiw0RUFBNEU7SUFDNUUsMkNBQTJDO0lBRTNDLHlFQUF5RTtJQUN6RSwyQkFBMkI7SUFDM0Isb0NBQW9DO0lBQ3BDLDhFQUE4RTtJQUM5RSx3RUFBd0U7SUFDeEUsZ0hBQWdIO0lBQ2hILDRFQUE0RTtJQUM1RSxNQUFNQyxPQUFPLElBQUlwRDtJQUVqQiw2RkFBNkY7SUFDN0ZtRCxnQkFBZ0JOLE9BQU8sQ0FBQyxDQUFDUSxXQUFhRCxLQUFLbkQsTUFBTSxDQUFDb0Q7SUFDbEQsNEdBQTRHO0lBQzVHLE9BQU9ELEtBQUs3QyxNQUFNO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy50cz9kNTNiIl0sIm5hbWVzIjpbImdldFNvcnRlZFJvdXRlcyIsIlVybE5vZGUiLCJpbnNlcnQiLCJ1cmxQYXRoIiwiX2luc2VydCIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsInNtb29zaCIsIl9zbW9vc2giLCJwcmVmaXgiLCJjaGlsZHJlblBhdGhzIiwiY2hpbGRyZW4iLCJrZXlzIiwic29ydCIsInNsdWdOYW1lIiwic3BsaWNlIiwiaW5kZXhPZiIsInJlc3RTbHVnTmFtZSIsIm9wdGlvbmFsUmVzdFNsdWdOYW1lIiwicm91dGVzIiwibWFwIiwiYyIsImdldCIsInJlZHVjZSIsInByZXYiLCJjdXJyIiwicHVzaCIsInBsYWNlaG9sZGVyIiwiciIsInNsaWNlIiwiRXJyb3IiLCJ1bnNoaWZ0IiwidXJsUGF0aHMiLCJzbHVnTmFtZXMiLCJpc0NhdGNoQWxsIiwibGVuZ3RoIiwibmV4dFNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzZWdtZW50TmFtZSIsImlzT3B0aW9uYWwiLCJzdWJzdHJpbmciLCJoYW5kbGVTbHVnIiwicHJldmlvdXNTbHVnIiwibmV4dFNsdWciLCJmb3JFYWNoIiwic2x1ZyIsInJlcGxhY2UiLCJoYXMiLCJzZXQiLCJNYXAiLCJub3JtYWxpemVkUGFnZXMiLCJyb290IiwicGFnZVBhdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/segment.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/segment.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n isGroupSegment: function() {\n return isGroupSegment;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFNYUEscUJBQW1CO2VBQW5CQTs7SUFEQUMsa0JBQWdCO2VBQWhCQTs7SUFMR0MsZ0JBQWM7ZUFBZEE7OztBQUFULFNBQVNBLGVBQWVDLE9BQWU7SUFDNUMsc0NBQXNDO0lBQ3RDLE9BQU9BLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBT0EsUUFBUUMsUUFBUSxDQUFDO0FBQ2hEO0FBRU8sTUFBTUgsbUJBQW1CO0FBQ3pCLE1BQU1ELHNCQUFzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvc2VnbWVudC50cz9hZDI1Il0sIm5hbWVzIjpbIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJQQUdFX1NFR01FTlRfS0VZIiwiaXNHcm91cFNlZ21lbnQiLCJzZWdtZW50IiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/segment.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBb2FhQSxhQUFXO2VBQVhBOztJQW9CQUMseUJBQXVCO2VBQXZCQTs7SUFQQUMsbUJBQWlCO2VBQWpCQTs7SUFaQUMsZ0JBQWM7ZUFBZEE7O0lBQ0FDLG1CQUFpQjtlQUFqQkE7O0lBVEFDLElBQUU7ZUFBRkE7O0lBQ0FDLElBQUU7ZUFBRkE7O0lBbFhBQyxZQUFVO2VBQVZBOztJQXNRR0MsVUFBUTtlQUFSQTs7SUErQkFDLGdCQUFjO2VBQWRBOztJQVhBQyxtQkFBaUI7ZUFBakJBOztJQUtBQyxRQUFNO2VBQU5BOztJQVBIQyxlQUFhO2VBQWJBOztJQW1CR0MsV0FBUztlQUFUQTs7SUFrQk1DLHFCQUFtQjtlQUFuQkE7O0lBZE5DLDBCQUF3QjtlQUF4QkE7O0lBK0dBQyxnQkFBYztlQUFkQTs7O0FBOVpULE1BQU1ULGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQXNROUQsU0FBU0MsU0FDZFMsRUFBSztJQUVMLElBQUlDLE9BQU87SUFDWCxJQUFJQztJQUVKLE9BQVE7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUNWLElBQUksQ0FBQ0YsTUFBTTtZQUNUQSxPQUFPO1lBQ1BDLFNBQVNGLE1BQU1HO1FBQ2pCO1FBQ0EsT0FBT0Q7SUFDVDtBQUNGO0FBRUEsMERBQTBEO0FBQzFELGdFQUFnRTtBQUNoRSxNQUFNRSxxQkFBcUI7QUFDcEIsTUFBTVQsZ0JBQWdCLENBQUNVLE1BQWdCRCxtQkFBbUJFLElBQUksQ0FBQ0Q7QUFFL0QsU0FBU1o7SUFDZCxNQUFNLEVBQUVjLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsT0FBT0MsUUFBUTtJQUNwRCxPQUFPSixXQUFZLE9BQUlDLFdBQVdDLENBQUFBLE9BQU8sTUFBTUEsT0FBTztBQUN4RDtBQUVPLFNBQVNmO0lBQ2QsTUFBTSxFQUFFa0IsSUFBSSxFQUFFLEdBQUdGLE9BQU9DLFFBQVE7SUFDaEMsTUFBTUUsU0FBU3BCO0lBQ2YsT0FBT21CLEtBQUtFLFNBQVMsQ0FBQ0QsT0FBT0UsTUFBTTtBQUNyQztBQUVPLFNBQVN2QixlQUFrQndCLFNBQTJCO0lBQzNELE9BQU8sT0FBT0EsY0FBYyxXQUN4QkEsWUFDQUEsVUFBVUMsV0FBVyxJQUFJRCxVQUFVRSxJQUFJLElBQUk7QUFDakQ7QUFFTyxTQUFTdEIsVUFBVXVCLEdBQW1CO0lBQzNDLE9BQU9BLElBQUlDLFFBQVEsSUFBSUQsSUFBSUUsV0FBVztBQUN4QztBQUVPLFNBQVN2Qix5QkFBeUJPLEdBQVc7SUFDbEQsTUFBTWlCLFdBQVdqQixJQUFJa0IsS0FBSyxDQUFDO0lBQzNCLE1BQU1DLGFBQWFGLFFBQVEsQ0FBQyxFQUFFO0lBRTlCLE9BQ0VFLFdBQ0UsNERBQTREO0lBQzVELDBDQUEwQztLQUN6Q0MsT0FBTyxDQUFDLE9BQU8sS0FDZkEsT0FBTyxDQUFDLFVBQVUsT0FDcEJILENBQUFBLFFBQVEsQ0FBQyxFQUFFLEdBQUcsTUFBSUEsU0FBU0ksS0FBSyxDQUFDLEdBQUdDLElBQUksQ0FBQyxPQUFTO0FBRXZEO0FBRU8sZUFBZTlCLG9CQUlwQitCLEdBQWdDLEVBQUVDLEdBQU07SUFDeEMsSUFBSUMsSUFBeUIsRUFBYztZQUNyQ0Y7UUFBSixLQUFJQSxpQkFBQUEsSUFBSUcsU0FBUyxxQkFBYkgsZUFBZUksZUFBZSxFQUFFO1lBQ2xDLE1BQU1DLFVBQVUsTUFBSXpDLGVBQ2xCb0MsT0FDQTtZQUNGLE1BQU0sSUFBSU0sTUFBTUQ7UUFDbEI7SUFDRjtJQUNBLGlEQUFpRDtJQUNqRCxNQUFNZCxNQUFNVSxJQUFJVixHQUFHLElBQUtVLElBQUlBLEdBQUcsSUFBSUEsSUFBSUEsR0FBRyxDQUFDVixHQUFHO0lBRTlDLElBQUksQ0FBQ1MsSUFBSUksZUFBZSxFQUFFO1FBQ3hCLElBQUlILElBQUlBLEdBQUcsSUFBSUEsSUFBSWIsU0FBUyxFQUFFO1lBQzVCLCtCQUErQjtZQUMvQixPQUFPO2dCQUNMbUIsV0FBVyxNQUFNdEMsb0JBQW9CZ0MsSUFBSWIsU0FBUyxFQUFFYSxJQUFJQSxHQUFHO1lBQzdEO1FBQ0Y7UUFDQSxPQUFPLENBQUM7SUFDVjtJQUVBLE1BQU1PLFFBQVEsTUFBTVIsSUFBSUksZUFBZSxDQUFDSDtJQUV4QyxJQUFJVixPQUFPdkIsVUFBVXVCLE1BQU07UUFDekIsT0FBT2lCO0lBQ1Q7SUFFQSxJQUFJLENBQUNBLE9BQU87UUFDVixNQUFNSCxVQUFVLE1BQUl6QyxlQUNsQm9DLE9BQ0EsaUVBQThEUSxRQUFNO1FBQ3RFLE1BQU0sSUFBSUYsTUFBTUQ7SUFDbEI7SUFFQSxJQUFJSCxJQUF5QixFQUFjO1FBQ3pDLElBQUlPLE9BQU9DLElBQUksQ0FBQ0YsT0FBT3JCLE1BQU0sS0FBSyxLQUFLLENBQUNjLElBQUlBLEdBQUcsRUFBRTtZQUMvQ1UsUUFBUUMsSUFBSSxDQUNWLEtBQUdoRCxlQUNEb0MsT0FDQTtRQUVOO0lBQ0Y7SUFFQSxPQUFPUTtBQUNUO0FBRU8sTUFBTWhELEtBQUssT0FBT3FELGdCQUFnQjtBQUNsQyxNQUFNcEQsS0FDWEQsTUFDQTtJQUFFO0lBQVE7SUFBVztDQUFtQixDQUFXc0QsS0FBSyxDQUN0RCxDQUFDQyxTQUFXLE9BQU9GLFdBQVcsQ0FBQ0UsT0FBTyxLQUFLO0FBR3hDLE1BQU01RCxvQkFBb0JtRDtBQUFPO0FBQ2pDLE1BQU1oRCx1QkFBdUJnRDtBQUFPO0FBQ3BDLE1BQU0vQywwQkFBMEIrQztJQUdyQ1UsWUFBWUMsSUFBWSxDQUFFO1FBQ3hCLEtBQUs7UUFDTCxJQUFJLENBQUNDLElBQUksR0FBRztRQUNaLElBQUksQ0FBQzVCLElBQUksR0FBRztRQUNaLElBQUksQ0FBQ2UsT0FBTyxHQUFHLGtDQUFnQ1k7SUFDakQ7QUFDRjtBQUVPLE1BQU01RCwwQkFBMEJpRDtJQUNyQ1UsWUFBWUMsSUFBWSxFQUFFWixPQUFlLENBQUU7UUFDekMsS0FBSztRQUNMLElBQUksQ0FBQ0EsT0FBTyxHQUFHLDBDQUF3Q1ksT0FBSyxNQUFHWjtJQUNqRTtBQUNGO0FBRU8sTUFBTWpELGdDQUFnQ2tEO0lBRTNDVSxhQUFjO1FBQ1osS0FBSztRQUNMLElBQUksQ0FBQ0UsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDYixPQUFPLEdBQUk7SUFDbEI7QUFDRjtBQVdPLFNBQVNsQyxlQUFlZ0QsS0FBWTtJQUN6QyxPQUFPQyxLQUFLQyxTQUFTLENBQUM7UUFBRWhCLFNBQVNjLE1BQU1kLE9BQU87UUFBRWlCLE9BQU9ILE1BQU1HLEtBQUs7SUFBQztBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvdXRpbHMudHM/MWJkNSJdLCJuYW1lcyI6WyJEZWNvZGVFcnJvciIsIk1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIiwiTWlzc2luZ1N0YXRpY1BhZ2UiLCJOb3JtYWxpemVFcnJvciIsIlBhZ2VOb3RGb3VuZEVycm9yIiwiU1AiLCJTVCIsIldFQl9WSVRBTFMiLCJleGVjT25jZSIsImdldERpc3BsYXlOYW1lIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJnZXRVUkwiLCJpc0Fic29sdXRlVXJsIiwiaXNSZXNTZW50IiwibG9hZEdldEluaXRpYWxQcm9wcyIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsInN0cmluZ2lmeUVycm9yIiwiZm4iLCJ1c2VkIiwicmVzdWx0IiwiYXJncyIsIkFCU09MVVRFX1VSTF9SRUdFWCIsInVybCIsInRlc3QiLCJwcm90b2NvbCIsImhvc3RuYW1lIiwicG9ydCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsIm9yaWdpbiIsInN1YnN0cmluZyIsImxlbmd0aCIsIkNvbXBvbmVudCIsImRpc3BsYXlOYW1lIiwibmFtZSIsInJlcyIsImZpbmlzaGVkIiwiaGVhZGVyc1NlbnQiLCJ1cmxQYXJ0cyIsInNwbGl0IiwidXJsTm9RdWVyeSIsInJlcGxhY2UiLCJzbGljZSIsImpvaW4iLCJBcHAiLCJjdHgiLCJwcm9jZXNzIiwicHJvdG90eXBlIiwiZ2V0SW5pdGlhbFByb3BzIiwibWVzc2FnZSIsIkVycm9yIiwicGFnZVByb3BzIiwicHJvcHMiLCJPYmplY3QiLCJrZXlzIiwiY29uc29sZSIsIndhcm4iLCJwZXJmb3JtYW5jZSIsImV2ZXJ5IiwibWV0aG9kIiwiY29uc3RydWN0b3IiLCJwYWdlIiwiY29kZSIsImVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-is.development.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\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUI7QUFDdkIsdUJBQXVCO0FBQ3ZCLGVBQWU7QUFDZixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixZQUFZO0FBQ1osY0FBYztBQUNkLGdCQUFnQjtBQUNoQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQixtQkFBbUI7QUFDbkIsd0JBQXdCO0FBQ3hCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsaUJBQWlCO0FBQ2pCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLDBCQUEwQjtBQUMxQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtaXMvY2pzL3JlYWN0LWlzLmRldmVsb3BtZW50LmpzP2VjODUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9TRVJWRVJfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2VydmVyX2NvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG4vLyBzdHVmZi4gSW50ZW5kZWQgdG8gZW5hYmxlIFJlYWN0IGNvcmUgbWVtYmVycyB0byBtb3JlIGVhc2lseSBkZWJ1ZyBzY2hlZHVsaW5nXG4vLyBpc3N1ZXMgaW4gREVWIGJ1aWxkcy5cblxudmFyIGVuYWJsZURlYnVnVHJhY2luZyA9IGZhbHNlOyAvLyBUcmFjayB3aGljaCBGaWJlcihzKSBzY2hlZHVsZSByZW5kZXIgd29yay5cblxudmFyIFJFQUNUX01PRFVMRV9SRUZFUkVOQ0U7XG5cbntcbiAgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm1vZHVsZS5yZWZlcmVuY2UnKTtcbn1cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBUaGlzIG5lZWRzIHRvIGluY2x1ZGUgYWxsIHBvc3NpYmxlIG1vZHVsZSByZWZlcmVuY2Ugb2JqZWN0XG4gICAgLy8gdHlwZXMgc3VwcG9ydGVkIGJ5IGFueSBGbGlnaHQgY29uZmlndXJhdGlvbiBhbnl3aGVyZSBzaW5jZVxuICAgIC8vIHdlIGRvbid0IGtub3cgd2hpY2ggRmxpZ2h0IGJ1aWxkIHRoaXMgd2lsbCBlbmQgdXAgYmVpbmcgdXNlZFxuICAgIC8vIHdpdGguXG4gICAgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdHlwZU9mKG9iamVjdCkge1xuICBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcgJiYgb2JqZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyICQkdHlwZW9mID0gb2JqZWN0LiQkdHlwZW9mO1xuXG4gICAgc3dpdGNoICgkJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgIHZhciB0eXBlID0gb2JqZWN0LnR5cGU7XG5cbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFyICQkdHlwZW9mVHlwZSA9IHR5cGUgJiYgdHlwZS4kJHR5cGVvZjtcblxuICAgICAgICAgICAgc3dpdGNoICgkJHR5cGVvZlR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9TRVJWRVJfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJCR0eXBlb2ZUeXBlO1xuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG52YXIgQ29udGV4dENvbnN1bWVyID0gUkVBQ1RfQ09OVEVYVF9UWVBFO1xudmFyIENvbnRleHRQcm92aWRlciA9IFJFQUNUX1BST1ZJREVSX1RZUEU7XG52YXIgRWxlbWVudCA9IFJFQUNUX0VMRU1FTlRfVFlQRTtcbnZhciBGb3J3YXJkUmVmID0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbnZhciBGcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG52YXIgTGF6eSA9IFJFQUNUX0xBWllfVFlQRTtcbnZhciBNZW1vID0gUkVBQ1RfTUVNT19UWVBFO1xudmFyIFBvcnRhbCA9IFJFQUNUX1BPUlRBTF9UWVBFO1xudmFyIFByb2ZpbGVyID0gUkVBQ1RfUFJPRklMRVJfVFlQRTtcbnZhciBTdHJpY3RNb2RlID0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbnZhciBTdXNwZW5zZSA9IFJFQUNUX1NVU1BFTlNFX1RZUEU7XG52YXIgU3VzcGVuc2VMaXN0ID0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFO1xudmFyIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlID0gZmFsc2U7XG52YXIgaGFzV2FybmVkQWJvdXREZXByZWNhdGVkSXNDb25jdXJyZW50TW9kZSA9IGZhbHNlOyAvLyBBc3luY01vZGUgc2hvdWxkIGJlIGRlcHJlY2F0ZWRcblxuZnVuY3Rpb24gaXNBc3luY01vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlKSB7XG4gICAgICBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IHRydWU7IC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG5cbiAgICAgIGNvbnNvbGVbJ3dhcm4nXSgnVGhlIFJlYWN0SXMuaXNBc3luY01vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTgrLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzQ29uY3VycmVudE1vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQ29uY3VycmVudE1vZGUpIHtcbiAgICAgIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQ29uY3VycmVudE1vZGUgPSB0cnVlOyAvLyBVc2luZyBjb25zb2xlWyd3YXJuJ10gdG8gZXZhZGUgQmFiZWwgYW5kIEVTTGludFxuXG4gICAgICBjb25zb2xlWyd3YXJuJ10oJ1RoZSBSZWFjdElzLmlzQ29uY3VycmVudE1vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTgrLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dENvbnN1bWVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX0NPTlRFWFRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dFByb3ZpZGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST1ZJREVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG5mdW5jdGlvbiBpc0ZvcndhcmRSZWYob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzRnJhZ21lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzTGF6eShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9MQVpZX1RZUEU7XG59XG5mdW5jdGlvbiBpc01lbW8ob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfTUVNT19UWVBFO1xufVxuZnVuY3Rpb24gaXNQb3J0YWwob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfUE9SVEFMX1RZUEU7XG59XG5mdW5jdGlvbiBpc1Byb2ZpbGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc1N0cmljdE1vZGUob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2Uob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2VMaXN0KG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTtcbn1cblxuZXhwb3J0cy5Db250ZXh0Q29uc3VtZXIgPSBDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLkNvbnRleHRQcm92aWRlciA9IENvbnRleHRQcm92aWRlcjtcbmV4cG9ydHMuRWxlbWVudCA9IEVsZW1lbnQ7XG5leHBvcnRzLkZvcndhcmRSZWYgPSBGb3J3YXJkUmVmO1xuZXhwb3J0cy5GcmFnbWVudCA9IEZyYWdtZW50O1xuZXhwb3J0cy5MYXp5ID0gTGF6eTtcbmV4cG9ydHMuTWVtbyA9IE1lbW87XG5leHBvcnRzLlBvcnRhbCA9IFBvcnRhbDtcbmV4cG9ydHMuUHJvZmlsZXIgPSBQcm9maWxlcjtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFN0cmljdE1vZGU7XG5leHBvcnRzLlN1c3BlbnNlID0gU3VzcGVuc2U7XG5leHBvcnRzLlN1c3BlbnNlTGlzdCA9IFN1c3BlbnNlTGlzdDtcbmV4cG9ydHMuaXNBc3luY01vZGUgPSBpc0FzeW5jTW9kZTtcbmV4cG9ydHMuaXNDb25jdXJyZW50TW9kZSA9IGlzQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLmlzQ29udGV4dENvbnN1bWVyID0gaXNDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLmlzQ29udGV4dFByb3ZpZGVyID0gaXNDb250ZXh0UHJvdmlkZXI7XG5leHBvcnRzLmlzRWxlbWVudCA9IGlzRWxlbWVudDtcbmV4cG9ydHMuaXNGb3J3YXJkUmVmID0gaXNGb3J3YXJkUmVmO1xuZXhwb3J0cy5pc0ZyYWdtZW50ID0gaXNGcmFnbWVudDtcbmV4cG9ydHMuaXNMYXp5ID0gaXNMYXp5O1xuZXhwb3J0cy5pc01lbW8gPSBpc01lbW87XG5leHBvcnRzLmlzUG9ydGFsID0gaXNQb3J0YWw7XG5leHBvcnRzLmlzUHJvZmlsZXIgPSBpc1Byb2ZpbGVyO1xuZXhwb3J0cy5pc1N0cmljdE1vZGUgPSBpc1N0cmljdE1vZGU7XG5leHBvcnRzLmlzU3VzcGVuc2UgPSBpc1N1c3BlbnNlO1xuZXhwb3J0cy5pc1N1c3BlbnNlTGlzdCA9IGlzU3VzcGVuc2VMaXN0O1xuZXhwb3J0cy5pc1ZhbGlkRWxlbWVudFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGU7XG5leHBvcnRzLnR5cGVPZiA9IHR5cGVPZjtcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-is/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-is/index.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxtSkFBeUQ7QUFDM0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1pcy9pbmRleC5qcz80MjNkIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-is/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-api-route.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/is-api-route.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isAPIRoute\", ({\n enumerable: true,\n get: function() {\n return isAPIRoute;\n }\n}));\nfunction isAPIRoute(value) {\n return value === \"/api\" || Boolean(value == null ? void 0 : value.startsWith(\"/api/\"));\n}\n\n//# sourceMappingURL=is-api-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1hcGktcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRiw4Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtYXBpLXJvdXRlLmpzPzE2ODEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0FQSVJvdXRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0FQSVJvdXRlO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaXNBUElSb3V0ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gXCIvYXBpXCIgfHwgQm9vbGVhbih2YWx1ZSA9PSBudWxsID8gdm9pZCAwIDogdmFsdWUuc3RhcnRzV2l0aChcIi9hcGkvXCIpKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtYXBpLXJvdXRlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-api-route.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"./node_modules/next/dist/shared/lib/is-plain-object.js\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyw2RkFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtZXJyb3IuanM/MTc4ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgZ2V0UHJvcGVyRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Vycm9yO1xuICAgIH0sXG4gICAgZ2V0UHJvcGVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UHJvcGVyRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaXNwbGFpbm9iamVjdCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2lzLXBsYWluLW9iamVjdFwiKTtcbmZ1bmN0aW9uIGlzRXJyb3IoZXJyKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBlcnIgPT09IFwib2JqZWN0XCIgJiYgZXJyICE9PSBudWxsICYmIFwibmFtZVwiIGluIGVyciAmJiBcIm1lc3NhZ2VcIiBpbiBlcnI7XG59XG5mdW5jdGlvbiBnZXRQcm9wZXJFcnJvcihlcnIpIHtcbiAgICBpZiAoaXNFcnJvcihlcnIpKSB7XG4gICAgICAgIHJldHVybiBlcnI7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIC8vIHByb3ZpZGUgYmV0dGVyIGVycm9yIGZvciBjYXNlIHdoZXJlIGB0aHJvdyB1bmRlZmluZWRgXG4gICAgICAgIC8vIGlzIGNhbGxlZCBpbiBkZXZlbG9wbWVudFxuICAgICAgICBpZiAodHlwZW9mIGVyciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkFuIHVuZGVmaW5lZCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnIgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXCJBIG51bGwgZXJyb3Igd2FzIHRocm93biwgXCIgKyBcInNlZSBoZXJlIGZvciBtb3JlIGluZm86IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3RocmV3LXVuZGVmaW5lZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEVycm9yKCgwLCBfaXNwbGFpbm9iamVjdC5pc1BsYWluT2JqZWN0KShlcnIpID8gSlNPTi5zdHJpbmdpZnkoZXJyKSA6IGVyciArIFwiXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1lcnJvci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/server/dev/hot-reloader-types.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/server/dev/hot-reloader-types.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HMR_ACTIONS_SENT_TO_BROWSER\", ({\n enumerable: true,\n get: function() {\n return HMR_ACTIONS_SENT_TO_BROWSER;\n }\n}));\nvar HMR_ACTIONS_SENT_TO_BROWSER;\n(function(HMR_ACTIONS_SENT_TO_BROWSER) {\n HMR_ACTIONS_SENT_TO_BROWSER[\"ADDED_PAGE\"] = \"addedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"REMOVED_PAGE\"] = \"removedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"RELOAD_PAGE\"] = \"reloadPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_COMPONENT_CHANGES\"] = \"serverComponentChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"MIDDLEWARE_CHANGES\"] = \"middlewareChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"CLIENT_CHANGES\"] = \"clientChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ONLY_CHANGES\"] = \"serverOnlyChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SYNC\"] = \"sync\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILT\"] = \"built\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILDING\"] = \"building\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"DEV_PAGES_MANIFEST_UPDATE\"] = \"devPagesManifestUpdate\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_MESSAGE\"] = \"turbopack-message\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ERROR\"] = \"serverError\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_CONNECTED\"] = \"turbopack-connected\";\n})(HMR_ACTIONS_SENT_TO_BROWSER || (HMR_ACTIONS_SENT_TO_BROWSER = {}));\n\n//# sourceMappingURL=hot-reloader-types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsK0RBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLGtFQUFrRTs7QUFFbkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZGV2L2hvdC1yZWxvYWRlci10eXBlcy5qcz9iZmFhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVI7XG4gICAgfVxufSk7XG52YXIgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSO1xuKGZ1bmN0aW9uKEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUikge1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkFEREVEX1BBR0VcIl0gPSBcImFkZGVkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlJFTU9WRURfUEFHRVwiXSA9IFwicmVtb3ZlZFBhZ2VcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJSRUxPQURfUEFHRVwiXSA9IFwicmVsb2FkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFU1wiXSA9IFwic2VydmVyQ29tcG9uZW50Q2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIk1JRERMRVdBUkVfQ0hBTkdFU1wiXSA9IFwibWlkZGxld2FyZUNoYW5nZXNcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJDTElFTlRfQ0hBTkdFU1wiXSA9IFwiY2xpZW50Q2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9PTkxZX0NIQU5HRVNcIl0gPSBcInNlcnZlck9ubHlDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU1lOQ1wiXSA9IFwic3luY1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkJVSUxUXCJdID0gXCJidWlsdFwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkJVSUxESU5HXCJdID0gXCJidWlsZGluZ1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEVcIl0gPSBcImRldlBhZ2VzTWFuaWZlc3RVcGRhdGVcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJUVVJCT1BBQ0tfTUVTU0FHRVwiXSA9IFwidHVyYm9wYWNrLW1lc3NhZ2VcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJTRVJWRVJfRVJST1JcIl0gPSBcInNlcnZlckVycm9yXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiVFVSQk9QQUNLX0NPTk5FQ1RFRFwiXSA9IFwidHVyYm9wYWNrLWNvbm5lY3RlZFwiO1xufSkoSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIHx8IChITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob3QtcmVsb2FkZXItdHlwZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/dev/hot-reloader-types.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/helpers/interception-routes.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWtCLG1CQUFPLENBQUMsaUhBQTRDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsS0FBSztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUI7QUFDeEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsS0FBSztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXMuanM/MzVjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBudWxsLFxuICAgIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uOiBudWxsLFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTO1xuICAgIH0sXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb247XG4gICAgfSxcbiAgICBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF9hcHBwYXRocyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIik7XG5jb25zdCBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyA9IFtcbiAgICBcIiguLikoLi4pXCIsXG4gICAgXCIoLilcIixcbiAgICBcIiguLilcIixcbiAgICBcIiguLi4pXCJcbl07XG5mdW5jdGlvbiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aChwYXRoKSB7XG4gICAgLy8gVE9ETy1BUFA6IGFkZCBtb3JlIHNlcmlvdXMgdmFsaWRhdGlvblxuICAgIHJldHVybiBwYXRoLnNwbGl0KFwiL1wiKS5maW5kKChzZWdtZW50KT0+SU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSkpICE9PSB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbihwYXRoKSB7XG4gICAgbGV0IGludGVyY2VwdGluZ1JvdXRlLCBtYXJrZXIsIGludGVyY2VwdGVkUm91dGU7XG4gICAgZm9yIChjb25zdCBzZWdtZW50IG9mIHBhdGguc3BsaXQoXCIvXCIpKXtcbiAgICAgICAgbWFya2VyID0gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgIGlmIChtYXJrZXIpIHtcbiAgICAgICAgICAgIFtpbnRlcmNlcHRpbmdSb3V0ZSwgaW50ZXJjZXB0ZWRSb3V0ZV0gPSBwYXRoLnNwbGl0KG1hcmtlciwgMik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWludGVyY2VwdGluZ1JvdXRlIHx8ICFtYXJrZXIgfHwgIWludGVyY2VwdGVkUm91dGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApO1xuICAgIH1cbiAgICBpbnRlcmNlcHRpbmdSb3V0ZSA9ICgwLCBfYXBwcGF0aHMubm9ybWFsaXplQXBwUGF0aCkoaW50ZXJjZXB0aW5nUm91dGUpIC8vIG5vcm1hbGl6ZSB0aGUgcGF0aCwgZS5nLiAvKGJsb2cpL2ZlZWQgLT4gL2ZlZWRcbiAgICA7XG4gICAgc3dpdGNoKG1hcmtlcil7XG4gICAgICAgIGNhc2UgXCIoLilcIjpcbiAgICAgICAgICAgIC8vICguKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggd2l0aCBzaWJsaW5nIHJvdXRlcywgc28gd2UganVzdCBuZWVkIHRvIGFwcGVuZCB0aGUgaW50ZXJjZXB0ZWQgcm91dGUgdG8gdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgaWYgKGludGVyY2VwdGluZ1JvdXRlID09PSBcIi9cIikge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBgLyR7aW50ZXJjZXB0ZWRSb3V0ZX1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUgKyBcIi9cIiArIGludGVyY2VwdGVkUm91dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLilcIjpcbiAgICAgICAgICAgIC8vICguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IG9uZSBsZXZlbCB1cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCwgdXNlICguKSBpbnN0ZWFkLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKS5zbGljZSgwLCAtMSkuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uLikgd2lsbCBtYXRjaCB0aGUgcm91dGUgc2VnbWVudCBpbiB0aGUgcm9vdCBkaXJlY3RvcnksIHNvIHdlIG5lZWQgdG8gdXNlIHRoZSByb290IGRpcmVjdG9yeSB0byBwcmVwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKSguLilcIjpcbiAgICAgICAgICAgIC8vICguLikoLi4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCBhdCB0d28gbGV2ZWxzIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCB0d28gc2VnbWVudHMgb2YgdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgY29uc3Qgc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgIGlmIChzcGxpdEludGVyY2VwdGluZ1JvdXRlLmxlbmd0aCA8PSAyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwgb3Igb25lIGxldmVsIHVwLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IHNwbGl0SW50ZXJjZXB0aW5nUm91dGUuc2xpY2UoMCwgLTIpLmNvbmNhdChpbnRlcmNlcHRlZFJvdXRlKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaW50ZXJjZXB0aW5nUm91dGUsXG4gICAgICAgIGludGVyY2VwdGVkUm91dGVcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnRlcmNlcHRpb24tcm91dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/helpers/interception-routes.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/cjs/react-dom.development.js": -/*!*************************************************************!*\ - !*** ./node_modules/react-dom/cjs/react-dom.development.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-dom.development.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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar Scheduler = __webpack_require__(/*! scheduler */ \"./node_modules/scheduler/index.js\");\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\n\n// -----------------------------------------------------------------------------\n\nvar enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing\n// the react-reconciler package.\n\nvar enableNewReconciler = false; // Support legacy Primer support on internal FB www\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\nvar enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection.\n// and client rendering, mostly to allow JSX attributes to apply to the custom\n// element's object properties instead of only HTML attributes.\n// https://github.com/facebook/react/issues/11347\n\nvar enableCustomElementPropertySupport = false; // Disables children for <textarea> elements\nvar warnAboutStringRefs = false; // -----------------------------------------------------------------------------\n// Debugging and DevTools\n// -----------------------------------------------------------------------------\n// Adds user timing marks for e.g. state updates, suspense, and work loop stuff,\n// for an experimental timeline tool.\n\nvar enableSchedulingProfiler = true; // Helps identify side effects in render-phase lifecycle hooks and setState\n\nvar enableProfilerTimer = true; // Record durations for commit and passive effects phases.\n\nvar enableProfilerCommitHooks = true; // Phase param passed to onRender callback differentiates between an \"update\" and a \"cascading-update\".\n\nvar allNativeEvents = new Set();\n/**\n * Mapping from registration name to event name\n */\n\n\nvar registrationNameDependencies = {};\n/**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in true.\n * @type {Object}\n */\n\nvar possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true\n\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + 'Capture', dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n {\n if (registrationNameDependencies[registrationName]) {\n error('EventRegistry: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName);\n }\n }\n\n registrationNameDependencies[registrationName] = dependencies;\n\n {\n var lowerCasedName = registrationName.toLowerCase();\n possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n\n for (var i = 0; i < dependencies.length; i++) {\n allNativeEvents.add(dependencies[i]);\n }\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\n\nfunction checkAttributeStringCoercion(value, attributeName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` attribute is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', attributeName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkPropStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` prop is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkCSSPropertyStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` CSS property is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkHtmlStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided HTML markup uses a value of unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkFormFieldValueStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('Form field values (value, checked, defaultValue, or defaultChecked props)' + ' must be strings, not %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nvar RESERVED = 0; // A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\n\nvar STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\n\nvar BOOLEANISH_STRING = 2; // A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n\nvar BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\n\nvar OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\n\nvar NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\n\nvar POSITIVE_NUMERIC = 6;\n\n/* eslint-disable max-len */\nvar ATTRIBUTE_NAME_START_CHAR = \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n/* eslint-enable max-len */\n\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + \"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {\n return true;\n }\n\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {\n return false;\n }\n\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n\n illegalAttributeNameCache[attributeName] = true;\n\n {\n error('Invalid attribute name: `%s`', attributeName);\n }\n\n return false;\n}\nfunction shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null) {\n return propertyInfo.type === RESERVED;\n }\n\n if (isCustomComponentTag) {\n return false;\n }\n\n if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {\n return true;\n }\n\n return false;\n}\nfunction shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null && propertyInfo.type === RESERVED) {\n return false;\n }\n\n switch (typeof value) {\n case 'function': // $FlowIssue symbol is perfectly valid here\n\n case 'symbol':\n // eslint-disable-line\n return true;\n\n case 'boolean':\n {\n if (isCustomComponentTag) {\n return false;\n }\n\n if (propertyInfo !== null) {\n return !propertyInfo.acceptsBooleans;\n } else {\n var prefix = name.toLowerCase().slice(0, 5);\n return prefix !== 'data-' && prefix !== 'aria-';\n }\n }\n\n default:\n return false;\n }\n}\nfunction shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) {\n if (value === null || typeof value === 'undefined') {\n return true;\n }\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {\n return true;\n }\n\n if (isCustomComponentTag) {\n\n return false;\n }\n\n if (propertyInfo !== null) {\n\n switch (propertyInfo.type) {\n case BOOLEAN:\n return !value;\n\n case OVERLOADED_BOOLEAN:\n return value === false;\n\n case NUMERIC:\n return isNaN(value);\n\n case POSITIVE_NUMERIC:\n return isNaN(value) || value < 1;\n }\n }\n\n return false;\n}\nfunction getPropertyInfo(name) {\n return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) {\n this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;\n this.attributeName = attributeName;\n this.attributeNamespace = attributeNamespace;\n this.mustUseProperty = mustUseProperty;\n this.propertyName = name;\n this.type = type;\n this.sanitizeURL = sanitizeURL;\n this.removeEmptyString = removeEmptyString;\n} // When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\n\n\nvar properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.\n\nvar reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular\n// elements (not just inputs). Now that ReactDOMInput assigns to the\n// defaultValue property -- do we need this?\n'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];\n\nreservedProps.forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n\n[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {\n var name = _ref[0],\n attributeName = _ref[1];\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n\n['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML boolean attributes.\n\n['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM\n// on the client side because the browsers are inconsistent. Instead we call focus().\n'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'disableRemotePlayback', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata\n'itemScope'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n\n['checked', // Note: `option.selected` is not updated if `select.multiple` is\n// disabled with `removeAttribute`. We have special logic for handling this.\n'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n\n['capture', 'download' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be positive numbers.\n\n['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be numbers.\n\n['rowSpan', 'start'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n});\nvar CAMELIZE = /[\\-\\:]([a-z])/g;\n\nvar capitalize = function (token) {\n return token[1].toUpperCase();\n}; // This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n\n\n['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // String SVG attributes with the xlink namespace.\n\n['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/1999/xlink', false, // sanitizeURL\n false);\n}); // String SVG attributes with the xml namespace.\n\n['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/XML/1998/namespace', false, // sanitizeURL\n false);\n}); // These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n\n['tabIndex', 'crossOrigin'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\n\nvar xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty\n'xlink:href', 'http://www.w3.org/1999/xlink', true, // sanitizeURL\nfalse);\n['src', 'href', 'action', 'formAction'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n true, // sanitizeURL\n true);\n});\n\n// and any newline or tab are filtered out as if they're not part of the URL.\n// https://url.spec.whatwg.org/#url-parsing\n// Tab or newline are defined as \\r\\n\\t:\n// https://infra.spec.whatwg.org/#ascii-tab-or-newline\n// A C0 control is a code point in the range \\u0000 NULL to \\u001F\n// INFORMATION SEPARATOR ONE, inclusive:\n// https://infra.spec.whatwg.org/#c0-control-or-space\n\n/* eslint-disable max-len */\n\nvar isJavaScriptProtocol = /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*\\:/i;\nvar didWarn = false;\n\nfunction sanitizeURL(url) {\n {\n if (!didWarn && isJavaScriptProtocol.test(url)) {\n didWarn = true;\n\n error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));\n }\n }\n}\n\n/**\n * Get the value for a property on a node. Only used in DEV for SSR validation.\n * The \"expected\" argument is used as a hint of what the expected value is.\n * Some properties have multiple equivalent values.\n */\nfunction getValueForProperty(node, name, expected, propertyInfo) {\n {\n if (propertyInfo.mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n return node[propertyName];\n } else {\n // This check protects multiple uses of `expected`, which is why the\n // react-internal/safe-string-coercion rule is disabled in several spots\n // below.\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if ( propertyInfo.sanitizeURL) {\n // If we haven't fully disabled javascript: URLs, and if\n // the hydration is successful of a javascript: URL, we\n // still want to warn on the client.\n // eslint-disable-next-line react-internal/safe-string-coercion\n sanitizeURL('' + expected);\n }\n\n var attributeName = propertyInfo.attributeName;\n var stringValue = null;\n\n if (propertyInfo.type === OVERLOADED_BOOLEAN) {\n if (node.hasAttribute(attributeName)) {\n var value = node.getAttribute(attributeName);\n\n if (value === '') {\n return true;\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return value;\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n } else if (node.hasAttribute(attributeName)) {\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n // We had an attribute but shouldn't have had one, so read it\n // for the error message.\n return node.getAttribute(attributeName);\n }\n\n if (propertyInfo.type === BOOLEAN) {\n // If this was a boolean, it doesn't matter what the value is\n // the fact that we have it is the same as the expected.\n return expected;\n } // Even if this property uses a namespace we use getAttribute\n // because we assume its namespaced name is the same as our config.\n // To use getAttributeNS we need the local name which we don't have\n // in our config atm.\n\n\n stringValue = node.getAttribute(attributeName);\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return stringValue === null ? expected : stringValue; // eslint-disable-next-line react-internal/safe-string-coercion\n } else if (stringValue === '' + expected) {\n return expected;\n } else {\n return stringValue;\n }\n }\n }\n}\n/**\n * Get the value for a attribute on a node. Only used in DEV for SSR validation.\n * The third argument is used as a hint of what the expected value is. Some\n * attributes have multiple equivalent values.\n */\n\nfunction getValueForAttribute(node, name, expected, isCustomComponentTag) {\n {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n\n if (!node.hasAttribute(name)) {\n return expected === undefined ? undefined : null;\n }\n\n var value = node.getAttribute(name);\n\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n}\n/**\n * Sets the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n * @param {*} value\n */\n\nfunction setValueForProperty(node, name, value, isCustomComponentTag) {\n var propertyInfo = getPropertyInfo(name);\n\n if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) {\n return;\n }\n\n if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) {\n value = null;\n }\n\n\n if (isCustomComponentTag || propertyInfo === null) {\n if (isAttributeNameSafe(name)) {\n var _attributeName = name;\n\n if (value === null) {\n node.removeAttribute(_attributeName);\n } else {\n {\n checkAttributeStringCoercion(value, name);\n }\n\n node.setAttribute(_attributeName, '' + value);\n }\n }\n\n return;\n }\n\n var mustUseProperty = propertyInfo.mustUseProperty;\n\n if (mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n\n if (value === null) {\n var type = propertyInfo.type;\n node[propertyName] = type === BOOLEAN ? false : '';\n } else {\n // Contrary to `setAttribute`, object properties are properly\n // `toString`ed by IE8/9.\n node[propertyName] = value;\n }\n\n return;\n } // The rest are treated as attributes with special cases.\n\n\n var attributeName = propertyInfo.attributeName,\n attributeNamespace = propertyInfo.attributeNamespace;\n\n if (value === null) {\n node.removeAttribute(attributeName);\n } else {\n var _type = propertyInfo.type;\n var attributeValue;\n\n if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) {\n // If attribute type is boolean, we know for sure it won't be an execution sink\n // and we won't require Trusted Type here.\n attributeValue = '';\n } else {\n // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n {\n {\n checkAttributeStringCoercion(value, attributeName);\n }\n\n attributeValue = '' + value;\n }\n\n if (propertyInfo.sanitizeURL) {\n sanitizeURL(attributeValue.toString());\n }\n }\n\n if (attributeNamespace) {\n node.setAttributeNS(attributeNamespace, attributeName, attributeValue);\n } else {\n node.setAttribute(attributeName, attributeValue);\n }\n }\n}\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_SCOPE_TYPE = Symbol.for('react.scope');\nvar REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\n\nfunction describeClassComponentFrame(ctor, source, ownerFn) {\n {\n return describeNativeComponentFrame(ctor, true);\n }\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nfunction describeFiber(fiber) {\n var owner = fiber._debugOwner ? fiber._debugOwner.type : null ;\n var source = fiber._debugSource ;\n\n switch (fiber.tag) {\n case HostComponent:\n return describeBuiltInComponentFrame(fiber.type);\n\n case LazyComponent:\n return describeBuiltInComponentFrame('Lazy');\n\n case SuspenseComponent:\n return describeBuiltInComponentFrame('Suspense');\n\n case SuspenseListComponent:\n return describeBuiltInComponentFrame('SuspenseList');\n\n case FunctionComponent:\n case IndeterminateComponent:\n case SimpleMemoComponent:\n return describeFunctionComponentFrame(fiber.type);\n\n case ForwardRef:\n return describeFunctionComponentFrame(fiber.type.render);\n\n case ClassComponent:\n return describeClassComponentFrame(fiber.type);\n\n default:\n return '';\n }\n}\n\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = '';\n var node = workInProgress;\n\n do {\n info += describeFiber(node);\n node = node.return;\n } while (node);\n\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nfunction getWrappedName$1(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n} // Keep in sync with shared/getComponentNameFromType\n\n\nfunction getContextName$1(type) {\n return type.displayName || 'Context';\n}\n\nfunction getComponentNameFromFiber(fiber) {\n var tag = fiber.tag,\n type = fiber.type;\n\n switch (tag) {\n case CacheComponent:\n return 'Cache';\n\n case ContextConsumer:\n var context = type;\n return getContextName$1(context) + '.Consumer';\n\n case ContextProvider:\n var provider = type;\n return getContextName$1(provider._context) + '.Provider';\n\n case DehydratedFragment:\n return 'DehydratedFragment';\n\n case ForwardRef:\n return getWrappedName$1(type, type.render, 'ForwardRef');\n\n case Fragment:\n return 'Fragment';\n\n case HostComponent:\n // Host component type is the display name (e.g. \"div\", \"View\")\n return type;\n\n case HostPortal:\n return 'Portal';\n\n case HostRoot:\n return 'Root';\n\n case HostText:\n return 'Text';\n\n case LazyComponent:\n // Name comes from the type in this case; we don't have a tag.\n return getComponentNameFromType(type);\n\n case Mode:\n if (type === REACT_STRICT_MODE_TYPE) {\n // Don't be less specific than shared/getComponentNameFromType\n return 'StrictMode';\n }\n\n return 'Mode';\n\n case OffscreenComponent:\n return 'Offscreen';\n\n case Profiler:\n return 'Profiler';\n\n case ScopeComponent:\n return 'Scope';\n\n case SuspenseComponent:\n return 'Suspense';\n\n case SuspenseListComponent:\n return 'SuspenseList';\n\n case TracingMarkerComponent:\n return 'TracingMarker';\n // The display name for this tags come from the user-provided type:\n\n case ClassComponent:\n case FunctionComponent:\n case IncompleteClassComponent:\n case IndeterminateComponent:\n case MemoComponent:\n case SimpleMemoComponent:\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n break;\n\n }\n\n return null;\n}\n\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar current = null;\nvar isRendering = false;\nfunction getCurrentFiberOwnerNameInDevOrNull() {\n {\n if (current === null) {\n return null;\n }\n\n var owner = current._debugOwner;\n\n if (owner !== null && typeof owner !== 'undefined') {\n return getComponentNameFromFiber(owner);\n }\n }\n\n return null;\n}\n\nfunction getCurrentFiberStackInDev() {\n {\n if (current === null) {\n return '';\n } // Safe because if current fiber exists, we are reconciling,\n // and it is guaranteed to be the work-in-progress version.\n\n\n return getStackByFiberInDevAndProd(current);\n }\n}\n\nfunction resetCurrentFiber() {\n {\n ReactDebugCurrentFrame.getCurrentStack = null;\n current = null;\n isRendering = false;\n }\n}\nfunction setCurrentFiber(fiber) {\n {\n ReactDebugCurrentFrame.getCurrentStack = fiber === null ? null : getCurrentFiberStackInDev;\n current = fiber;\n isRendering = false;\n }\n}\nfunction getCurrentFiber() {\n {\n return current;\n }\n}\nfunction setIsRendering(rendering) {\n {\n isRendering = rendering;\n }\n}\n\n// Flow does not allow string concatenation of most non-string types. To work\n// around this limitation, we use an opaque type that can only be obtained by\n// passing the value through getToStringValue first.\nfunction toString(value) {\n // The coercion safety check is performed in getToStringValue().\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n\n case 'object':\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n return value;\n\n default:\n // function, symbol are assigned as empty strings\n return '';\n }\n}\n\nvar hasReadOnlyValue = {\n button: true,\n checkbox: true,\n image: true,\n hidden: true,\n radio: true,\n reset: true,\n submit: true\n};\nfunction checkControlledValueProps(tagName, props) {\n {\n if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) {\n error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n\n if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) {\n error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n }\n}\n\nfunction isCheckable(elem) {\n var type = elem.type;\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\n}\n\nfunction getTracker(node) {\n return node._valueTracker;\n}\n\nfunction detachTracker(node) {\n node._valueTracker = null;\n}\n\nfunction getValueFromNode(node) {\n var value = '';\n\n if (!node) {\n return value;\n }\n\n if (isCheckable(node)) {\n value = node.checked ? 'true' : 'false';\n } else {\n value = node.value;\n }\n\n return value;\n}\n\nfunction trackValueOnNode(node) {\n var valueField = isCheckable(node) ? 'checked' : 'value';\n var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n\n {\n checkFormFieldValueStringCoercion(node[valueField]);\n }\n\n var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail\n // and don't track value will cause over reporting of changes,\n // but it's better then a hard failure\n // (needed for certain tests that spyOn input values and Safari)\n\n if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\n return;\n }\n\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: true,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n set.call(this, value);\n }\n }); // We could've passed this the first time\n // but it triggers a bug in IE11 and Edge 14/15.\n // Calling defineProperty() again should be equivalent.\n // https://github.com/facebook/react/issues/11768\n\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n var tracker = {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n },\n stopTracking: function () {\n detachTracker(node);\n delete node[valueField];\n }\n };\n return tracker;\n}\n\nfunction track(node) {\n if (getTracker(node)) {\n return;\n } // TODO: Once it's just Fiber we can move this to node._wrapperState\n\n\n node._valueTracker = trackValueOnNode(node);\n}\nfunction updateValueIfChanged(node) {\n if (!node) {\n return false;\n }\n\n var tracker = getTracker(node); // if there is no tracker at this point it's unlikely\n // that trying again will succeed\n\n if (!tracker) {\n return true;\n }\n\n var lastValue = tracker.getValue();\n var nextValue = getValueFromNode(node);\n\n if (nextValue !== lastValue) {\n tracker.setValue(nextValue);\n return true;\n }\n\n return false;\n}\n\nfunction getActiveElement(doc) {\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n if (typeof doc === 'undefined') {\n return null;\n }\n\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nvar didWarnValueDefaultValue = false;\nvar didWarnCheckedDefaultChecked = false;\nvar didWarnControlledToUncontrolled = false;\nvar didWarnUncontrolledToControlled = false;\n\nfunction isControlled(props) {\n var usesChecked = props.type === 'checkbox' || props.type === 'radio';\n return usesChecked ? props.checked != null : props.value != null;\n}\n/**\n * Implements an <input> host component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\n\n\nfunction getHostProps(element, props) {\n var node = element;\n var checked = props.checked;\n var hostProps = assign({}, props, {\n defaultChecked: undefined,\n defaultValue: undefined,\n value: undefined,\n checked: checked != null ? checked : node._wrapperState.initialChecked\n });\n return hostProps;\n}\nfunction initWrapperState(element, props) {\n {\n checkControlledValueProps('input', props);\n\n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnCheckedDefaultChecked = true;\n }\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnValueDefaultValue = true;\n }\n }\n\n var node = element;\n var defaultValue = props.defaultValue == null ? '' : props.defaultValue;\n node._wrapperState = {\n initialChecked: props.checked != null ? props.checked : props.defaultChecked,\n initialValue: getToStringValue(props.value != null ? props.value : defaultValue),\n controlled: isControlled(props)\n };\n}\nfunction updateChecked(element, props) {\n var node = element;\n var checked = props.checked;\n\n if (checked != null) {\n setValueForProperty(node, 'checked', checked, false);\n }\n}\nfunction updateWrapper(element, props) {\n var node = element;\n\n {\n var controlled = isControlled(props);\n\n if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\n error('A component is changing an uncontrolled input to be controlled. ' + 'This is likely caused by the value changing from undefined to ' + 'a defined value, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnUncontrolledToControlled = true;\n }\n\n if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\n error('A component is changing a controlled input to be uncontrolled. ' + 'This is likely caused by the value changing from a defined to ' + 'undefined, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnControlledToUncontrolled = true;\n }\n }\n\n updateChecked(element, props);\n var value = getToStringValue(props.value);\n var type = props.type;\n\n if (value != null) {\n if (type === 'number') {\n if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible.\n // eslint-disable-next-line\n node.value != value) {\n node.value = toString(value);\n }\n } else if (node.value !== toString(value)) {\n node.value = toString(value);\n }\n } else if (type === 'submit' || type === 'reset') {\n // Submit/reset inputs need the attribute removed completely to avoid\n // blank-text buttons.\n node.removeAttribute('value');\n return;\n }\n\n {\n // When syncing the value attribute, the value comes from a cascade of\n // properties:\n // 1. The value React property\n // 2. The defaultValue React property\n // 3. Otherwise there should be no change\n if (props.hasOwnProperty('value')) {\n setDefaultValue(node, props.type, value);\n } else if (props.hasOwnProperty('defaultValue')) {\n setDefaultValue(node, props.type, getToStringValue(props.defaultValue));\n }\n }\n\n {\n // When syncing the checked attribute, it only changes when it needs\n // to be removed, such as transitioning from a checkbox into a text input\n if (props.checked == null && props.defaultChecked != null) {\n node.defaultChecked = !!props.defaultChecked;\n }\n }\n}\nfunction postMountWrapper(element, props, isHydrating) {\n var node = element; // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) {\n var type = props.type;\n var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the\n // default value provided by the browser. See: #12872\n\n if (isButton && (props.value === undefined || props.value === null)) {\n return;\n }\n\n var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (!isHydrating) {\n {\n // When syncing the value attribute, the value property should use\n // the wrapperState._initialValue property. This uses:\n //\n // 1. The value React property when present\n // 2. The defaultValue React property when present\n // 3. An empty string\n if (initialValue !== node.value) {\n node.value = initialValue;\n }\n }\n }\n\n {\n // Otherwise, the value attribute is synchronized to the property,\n // so we assign defaultValue to the same thing as the value property\n // assignment step above.\n node.defaultValue = initialValue;\n }\n } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n // this is needed to work around a chrome bug where setting defaultChecked\n // will sometimes influence the value of checked (even after detachment).\n // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n // We need to temporarily unset name to avoid disrupting radio button groups.\n\n\n var name = node.name;\n\n if (name !== '') {\n node.name = '';\n }\n\n {\n // When syncing the checked attribute, both the checked property and\n // attribute are assigned at the same time using defaultChecked. This uses:\n //\n // 1. The checked React property when present\n // 2. The defaultChecked React property when present\n // 3. Otherwise, false\n node.defaultChecked = !node.defaultChecked;\n node.defaultChecked = !!node._wrapperState.initialChecked;\n }\n\n if (name !== '') {\n node.name = name;\n }\n}\nfunction restoreControlledState(element, props) {\n var node = element;\n updateWrapper(node, props);\n updateNamedCousins(node, props);\n}\n\nfunction updateNamedCousins(rootNode, props) {\n var name = props.name;\n\n if (props.type === 'radio' && name != null) {\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n } // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form. It might not even be in the\n // document. Let's just use the local `querySelectorAll` to ensure we don't\n // miss anything.\n\n\n {\n checkAttributeStringCoercion(name, 'name');\n }\n\n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n } // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React radio buttons with non-React ones.\n\n\n var otherProps = getFiberCurrentPropsFromNode(otherNode);\n\n if (!otherProps) {\n throw new Error('ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.');\n } // We need update the tracked value on the named cousin since the value\n // was changed but the input saw no event or value set\n\n\n updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n\n updateWrapper(otherNode, otherProps);\n }\n }\n} // In Chrome, assigning defaultValue to certain input types triggers input validation.\n// For number inputs, the display value loses trailing decimal points. For email inputs,\n// Chrome raises \"The specified value <x> is not a valid email address\".\n//\n// Here we check to see if the defaultValue has actually changed, avoiding these problems\n// when the user is inputting text\n//\n// https://github.com/facebook/react/issues/7253\n\n\nfunction setDefaultValue(node, type, value) {\n if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js\n type !== 'number' || getActiveElement(node.ownerDocument) !== node) {\n if (value == null) {\n node.defaultValue = toString(node._wrapperState.initialValue);\n } else if (node.defaultValue !== toString(value)) {\n node.defaultValue = toString(value);\n }\n }\n}\n\nvar didWarnSelectedSetOnOption = false;\nvar didWarnInvalidChild = false;\nvar didWarnInvalidInnerHTML = false;\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\n\nfunction validateProps(element, props) {\n {\n // If a value is not provided, then the children must be simple.\n if (props.value == null) {\n if (typeof props.children === 'object' && props.children !== null) {\n React.Children.forEach(props.children, function (child) {\n if (child == null) {\n return;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n return;\n }\n\n if (!didWarnInvalidChild) {\n didWarnInvalidChild = true;\n\n error('Cannot infer the option value of complex children. ' + 'Pass a `value` prop or use a plain string as children to <option>.');\n }\n });\n } else if (props.dangerouslySetInnerHTML != null) {\n if (!didWarnInvalidInnerHTML) {\n didWarnInvalidInnerHTML = true;\n\n error('Pass a `value` prop if you set dangerouslyInnerHTML so React knows ' + 'which value should be selected.');\n }\n }\n } // TODO: Remove support for `selected` in <option>.\n\n\n if (props.selected != null && !didWarnSelectedSetOnOption) {\n error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');\n\n didWarnSelectedSetOnOption = true;\n }\n }\n}\nfunction postMountWrapper$1(element, props) {\n // value=\"\" should make a value attribute (#6219)\n if (props.value != null) {\n element.setAttribute('value', toString(getToStringValue(props.value)));\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\nvar didWarnValueDefaultValue$1;\n\n{\n didWarnValueDefaultValue$1 = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n return '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n/**\n * Validation function for `value` and `defaultValue`.\n */\n\nfunction checkSelectPropTypes(props) {\n {\n checkControlledValueProps('select', props);\n\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n\n if (props[propName] == null) {\n continue;\n }\n\n var propNameIsArray = isArray(props[propName]);\n\n if (props.multiple && !propNameIsArray) {\n error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());\n } else if (!props.multiple && propNameIsArray) {\n error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());\n }\n }\n }\n}\n\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n var options = node.options;\n\n if (multiple) {\n var selectedValues = propValue;\n var selectedValue = {};\n\n for (var i = 0; i < selectedValues.length; i++) {\n // Prefix to avoid chaos with special keys.\n selectedValue['$' + selectedValues[i]] = true;\n }\n\n for (var _i = 0; _i < options.length; _i++) {\n var selected = selectedValue.hasOwnProperty('$' + options[_i].value);\n\n if (options[_i].selected !== selected) {\n options[_i].selected = selected;\n }\n\n if (selected && setDefaultSelected) {\n options[_i].defaultSelected = true;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n var _selectedValue = toString(getToStringValue(propValue));\n\n var defaultSelected = null;\n\n for (var _i2 = 0; _i2 < options.length; _i2++) {\n if (options[_i2].value === _selectedValue) {\n options[_i2].selected = true;\n\n if (setDefaultSelected) {\n options[_i2].defaultSelected = true;\n }\n\n return;\n }\n\n if (defaultSelected === null && !options[_i2].disabled) {\n defaultSelected = options[_i2];\n }\n }\n\n if (defaultSelected !== null) {\n defaultSelected.selected = true;\n }\n }\n}\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\n\n\nfunction getHostProps$1(element, props) {\n return assign({}, props, {\n value: undefined\n });\n}\nfunction initWrapperState$1(element, props) {\n var node = element;\n\n {\n checkSelectPropTypes(props);\n }\n\n node._wrapperState = {\n wasMultiple: !!props.multiple\n };\n\n {\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) {\n error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components');\n\n didWarnValueDefaultValue$1 = true;\n }\n }\n}\nfunction postMountWrapper$2(element, props) {\n var node = element;\n node.multiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n }\n}\nfunction postUpdateWrapper(element, props) {\n var node = element;\n var wasMultiple = node._wrapperState.wasMultiple;\n node._wrapperState.wasMultiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (wasMultiple !== !!props.multiple) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(node, !!props.multiple, props.multiple ? [] : '', false);\n }\n }\n}\nfunction restoreControlledState$1(element, props) {\n var node = element;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n }\n}\n\nvar didWarnValDefaultVal = false;\n\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\nfunction getHostProps$2(element, props) {\n var node = element;\n\n if (props.dangerouslySetInnerHTML != null) {\n throw new Error('`dangerouslySetInnerHTML` does not make sense on <textarea>.');\n } // Always set children to the same thing. In IE9, the selection range will\n // get reset if `textContent` is mutated. We could add a check in setTextContent\n // to only set the value if/when the value differs from the node value (which would\n // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this\n // solution. The value can be a boolean or object so that's why it's forced\n // to be a string.\n\n\n var hostProps = assign({}, props, {\n value: undefined,\n defaultValue: undefined,\n children: toString(node._wrapperState.initialValue)\n });\n\n return hostProps;\n}\nfunction initWrapperState$2(element, props) {\n var node = element;\n\n {\n checkControlledValueProps('textarea', props);\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component');\n\n didWarnValDefaultVal = true;\n }\n }\n\n var initialValue = props.value; // Only bother fetching default value if we're going to use it\n\n if (initialValue == null) {\n var children = props.children,\n defaultValue = props.defaultValue;\n\n if (children != null) {\n {\n error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');\n }\n\n {\n if (defaultValue != null) {\n throw new Error('If you supply `defaultValue` on a <textarea>, do not pass children.');\n }\n\n if (isArray(children)) {\n if (children.length > 1) {\n throw new Error('<textarea> can only have at most one child.');\n }\n\n children = children[0];\n }\n\n defaultValue = children;\n }\n }\n\n if (defaultValue == null) {\n defaultValue = '';\n }\n\n initialValue = defaultValue;\n }\n\n node._wrapperState = {\n initialValue: getToStringValue(initialValue)\n };\n}\nfunction updateWrapper$1(element, props) {\n var node = element;\n var value = getToStringValue(props.value);\n var defaultValue = getToStringValue(props.defaultValue);\n\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed\n\n if (newValue !== node.value) {\n node.value = newValue;\n }\n\n if (props.defaultValue == null && node.defaultValue !== newValue) {\n node.defaultValue = newValue;\n }\n }\n\n if (defaultValue != null) {\n node.defaultValue = toString(defaultValue);\n }\n}\nfunction postMountWrapper$3(element, props) {\n var node = element; // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n\n var textContent = node.textContent; // Only set node.value if textContent is equal to the expected\n // initial value. In IE10/IE11 there is a bug where the placeholder attribute\n // will populate textContent as well.\n // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\n\n if (textContent === node._wrapperState.initialValue) {\n if (textContent !== '' && textContent !== null) {\n node.value = textContent;\n }\n }\n}\nfunction restoreControlledState$2(element, props) {\n // DOM component is still mounted; update\n updateWrapper$1(element, props);\n}\n\nvar HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\nvar MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\nvar SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; // Assumes there is no parent namespace.\n\nfunction getIntrinsicNamespace(type) {\n switch (type) {\n case 'svg':\n return SVG_NAMESPACE;\n\n case 'math':\n return MATH_NAMESPACE;\n\n default:\n return HTML_NAMESPACE;\n }\n}\nfunction getChildNamespace(parentNamespace, type) {\n if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) {\n // No (or default) parent namespace: potential entry point.\n return getIntrinsicNamespace(type);\n }\n\n if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') {\n // We're leaving SVG.\n return HTML_NAMESPACE;\n } // By default, pass namespace below.\n\n\n return parentNamespace;\n}\n\n/* globals MSApp */\n\n/**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\nvar createMicrosoftUnsafeLocalFunction = function (func) {\n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n return function (arg0, arg1, arg2, arg3) {\n MSApp.execUnsafeLocalFunction(function () {\n return func(arg0, arg1, arg2, arg3);\n });\n };\n } else {\n return func;\n }\n};\n\nvar reusableSVGContainer;\n/**\n * Set the innerHTML property of a node\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\n\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n if (node.namespaceURI === SVG_NAMESPACE) {\n\n if (!('innerHTML' in node)) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>';\n var svgNode = reusableSVGContainer.firstChild;\n\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n\n return;\n }\n }\n\n node.innerHTML = html;\n});\n\n/**\n * HTML nodeType values that represent the type of the node\n */\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar DOCUMENT_NODE = 9;\nvar DOCUMENT_FRAGMENT_NODE = 11;\n\n/**\n * Set the textContent property of a node. For text updates, it's faster\n * to set the `nodeValue` of the Text node directly instead of using\n * `.textContent` which will remove the existing node and create a new one.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\n\nvar setTextContent = function (node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {\n firstChild.nodeValue = text;\n return;\n }\n }\n\n node.textContent = text;\n};\n\n// List derived from Gecko source code:\n// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js\nvar shorthandToLonghand = {\n animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],\n background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'],\n backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],\n border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],\n borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],\n borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],\n borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],\n borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],\n borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],\n borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'],\n borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],\n columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'],\n columns: ['columnCount', 'columnWidth'],\n flex: ['flexBasis', 'flexGrow', 'flexShrink'],\n flexFlow: ['flexDirection', 'flexWrap'],\n font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'],\n fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],\n gap: ['columnGap', 'rowGap'],\n grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],\n gridColumn: ['gridColumnEnd', 'gridColumnStart'],\n gridColumnGap: ['columnGap'],\n gridGap: ['columnGap', 'rowGap'],\n gridRow: ['gridRowEnd', 'gridRowStart'],\n gridRowGap: ['rowGap'],\n gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n marker: ['markerEnd', 'markerMid', 'markerStart'],\n mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'],\n maskPosition: ['maskPositionX', 'maskPositionY'],\n outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],\n overflow: ['overflowX', 'overflowY'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n placeContent: ['alignContent', 'justifyContent'],\n placeItems: ['alignItems', 'justifyItems'],\n placeSelf: ['alignSelf', 'justifySelf'],\n textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],\n textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'],\n wordWrap: ['overflowWrap']\n};\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\nvar isUnitlessNumber = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridArea: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\n\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\n\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\n\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n {\n checkCSSPropertyStringCoercion(value, name);\n }\n\n return ('' + value).trim();\n}\n\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n */\n\nfunction hyphenateStyleName(name) {\n return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n}\n\nvar warnValidStyle = function () {};\n\n{\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n var msPattern$1 = /^-ms-/;\n var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon\n\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n var warnedForNaNValue = false;\n var warnedForInfinityValue = false;\n\n var camelize = function (string) {\n return string.replace(hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n };\n\n var warnHyphenatedStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests\n // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n // is converted to lowercase `ms`.\n camelize(name.replace(msPattern$1, 'ms-')));\n };\n\n var warnBadVendoredStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));\n };\n\n var warnStyleValueWithSemicolon = function (name, value) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n\n error(\"Style property values shouldn't contain a semicolon. \" + 'Try \"%s: %s\" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));\n };\n\n var warnStyleValueIsNaN = function (name, value) {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n\n error('`NaN` is an invalid value for the `%s` css style property.', name);\n };\n\n var warnStyleValueIsInfinity = function (name, value) {\n if (warnedForInfinityValue) {\n return;\n }\n\n warnedForInfinityValue = true;\n\n error('`Infinity` is an invalid value for the `%s` css style property.', name);\n };\n\n warnValidStyle = function (name, value) {\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value);\n }\n\n if (typeof value === 'number') {\n if (isNaN(value)) {\n warnStyleValueIsNaN(name, value);\n } else if (!isFinite(value)) {\n warnStyleValueIsInfinity(name, value);\n }\n }\n };\n}\n\nvar warnValidStyle$1 = warnValidStyle;\n\n/**\n * Operations for dealing with CSS properties.\n */\n\n/**\n * This creates a string that is expected to be equivalent to the style\n * attribute generated by server-side rendering. It by-passes warnings and\n * security checks so it's not safe to use this value for anything other than\n * comparison. It is only used in DEV for SSR validation.\n */\n\nfunction createDangerousStringForStyles(styles) {\n {\n var serialized = '';\n var delimiter = '';\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var styleValue = styles[styleName];\n\n if (styleValue != null) {\n var isCustomProperty = styleName.indexOf('--') === 0;\n serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':';\n serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty);\n delimiter = ';';\n }\n }\n\n return serialized || null;\n }\n}\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\n\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n\n {\n if (!isCustomProperty) {\n warnValidStyle$1(styleName, styles[styleName]);\n }\n }\n\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nfunction isValueEmpty(value) {\n return value == null || typeof value === 'boolean' || value === '';\n}\n/**\n * Given {color: 'red', overflow: 'hidden'} returns {\n * color: 'color',\n * overflowX: 'overflow',\n * overflowY: 'overflow',\n * }. This can be read as \"the overflowY property was set by the overflow\n * shorthand\". That is, the values are the property that each was derived from.\n */\n\n\nfunction expandShorthandMap(styles) {\n var expanded = {};\n\n for (var key in styles) {\n var longhands = shorthandToLonghand[key] || [key];\n\n for (var i = 0; i < longhands.length; i++) {\n expanded[longhands[i]] = key;\n }\n }\n\n return expanded;\n}\n/**\n * When mixing shorthand and longhand property names, we warn during updates if\n * we expect an incorrect result to occur. In particular, we warn for:\n *\n * Updating a shorthand property (longhand gets overwritten):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}\n * becomes .style.font = 'baz'\n * Removing a shorthand property (longhand gets lost too):\n * {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}\n * becomes .style.font = ''\n * Removing a longhand property (should revert to shorthand; doesn't):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}\n * becomes .style.fontVariant = ''\n */\n\n\nfunction validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) {\n {\n if (!nextStyles) {\n return;\n }\n\n var expandedUpdates = expandShorthandMap(styleUpdates);\n var expandedStyles = expandShorthandMap(nextStyles);\n var warnedAbout = {};\n\n for (var key in expandedUpdates) {\n var originalKey = expandedUpdates[key];\n var correctOriginalKey = expandedStyles[key];\n\n if (correctOriginalKey && originalKey !== correctOriginalKey) {\n var warningKey = originalKey + ',' + correctOriginalKey;\n\n if (warnedAbout[warningKey]) {\n continue;\n }\n\n warnedAbout[warningKey] = true;\n\n error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + \"avoid this, don't mix shorthand and non-shorthand properties \" + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);\n }\n }\n }\n}\n\n// For HTML, certain tags should omit their close tag. We keep a list for\n// those special-case tags.\nvar omittedCloseTags = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems.\n\n};\n\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\nvar voidElementTags = assign({\n menuitem: true\n}, omittedCloseTags);\n\nvar HTML = '__html';\n\nfunction assertValidProps(tag, props) {\n if (!props) {\n return;\n } // Note the use of `==` which checks for null or undefined.\n\n\n if (voidElementTags[tag]) {\n if (props.children != null || props.dangerouslySetInnerHTML != null) {\n throw new Error(tag + \" is a void element tag and must neither have `children` nor \" + 'use `dangerouslySetInnerHTML`.');\n }\n }\n\n if (props.dangerouslySetInnerHTML != null) {\n if (props.children != null) {\n throw new Error('Can only set one of `children` or `props.dangerouslySetInnerHTML`.');\n }\n\n if (typeof props.dangerouslySetInnerHTML !== 'object' || !(HTML in props.dangerouslySetInnerHTML)) {\n throw new Error('`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://reactjs.org/link/dangerously-set-inner-html ' + 'for more information.');\n }\n }\n\n {\n if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {\n error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');\n }\n }\n\n if (props.style != null && typeof props.style !== 'object') {\n throw new Error('The `style` prop expects a mapping from style properties to values, ' + \"not a string. For example, style={{marginRight: spacing + 'em'}} when \" + 'using JSX.');\n }\n}\n\nfunction isCustomComponent(tagName, props) {\n if (tagName.indexOf('-') === -1) {\n return typeof props.is === 'string';\n }\n\n switch (tagName) {\n // These are reserved SVG and MathML elements.\n // We don't mind this list too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n case 'annotation-xml':\n case 'color-profile':\n case 'font-face':\n case 'font-face-src':\n case 'font-face-uri':\n case 'font-face-format':\n case 'font-face-name':\n case 'missing-glyph':\n return false;\n\n default:\n return true;\n }\n}\n\n// When adding attributes to the HTML or SVG allowed attribute list, be sure to\n// also add them to this module to ensure casing and incorrect name\n// warnings.\nvar possibleStandardNames = {\n // HTML\n accept: 'accept',\n acceptcharset: 'acceptCharset',\n 'accept-charset': 'acceptCharset',\n accesskey: 'accessKey',\n action: 'action',\n allowfullscreen: 'allowFullScreen',\n alt: 'alt',\n as: 'as',\n async: 'async',\n autocapitalize: 'autoCapitalize',\n autocomplete: 'autoComplete',\n autocorrect: 'autoCorrect',\n autofocus: 'autoFocus',\n autoplay: 'autoPlay',\n autosave: 'autoSave',\n capture: 'capture',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n challenge: 'challenge',\n charset: 'charSet',\n checked: 'checked',\n children: 'children',\n cite: 'cite',\n class: 'className',\n classid: 'classID',\n classname: 'className',\n cols: 'cols',\n colspan: 'colSpan',\n content: 'content',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n controls: 'controls',\n controlslist: 'controlsList',\n coords: 'coords',\n crossorigin: 'crossOrigin',\n dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n data: 'data',\n datetime: 'dateTime',\n default: 'default',\n defaultchecked: 'defaultChecked',\n defaultvalue: 'defaultValue',\n defer: 'defer',\n dir: 'dir',\n disabled: 'disabled',\n disablepictureinpicture: 'disablePictureInPicture',\n disableremoteplayback: 'disableRemotePlayback',\n download: 'download',\n draggable: 'draggable',\n enctype: 'encType',\n enterkeyhint: 'enterKeyHint',\n for: 'htmlFor',\n form: 'form',\n formmethod: 'formMethod',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n headers: 'headers',\n height: 'height',\n hidden: 'hidden',\n high: 'high',\n href: 'href',\n hreflang: 'hrefLang',\n htmlfor: 'htmlFor',\n httpequiv: 'httpEquiv',\n 'http-equiv': 'httpEquiv',\n icon: 'icon',\n id: 'id',\n imagesizes: 'imageSizes',\n imagesrcset: 'imageSrcSet',\n innerhtml: 'innerHTML',\n inputmode: 'inputMode',\n integrity: 'integrity',\n is: 'is',\n itemid: 'itemID',\n itemprop: 'itemProp',\n itemref: 'itemRef',\n itemscope: 'itemScope',\n itemtype: 'itemType',\n keyparams: 'keyParams',\n keytype: 'keyType',\n kind: 'kind',\n label: 'label',\n lang: 'lang',\n list: 'list',\n loop: 'loop',\n low: 'low',\n manifest: 'manifest',\n marginwidth: 'marginWidth',\n marginheight: 'marginHeight',\n max: 'max',\n maxlength: 'maxLength',\n media: 'media',\n mediagroup: 'mediaGroup',\n method: 'method',\n min: 'min',\n minlength: 'minLength',\n multiple: 'multiple',\n muted: 'muted',\n name: 'name',\n nomodule: 'noModule',\n nonce: 'nonce',\n novalidate: 'noValidate',\n open: 'open',\n optimum: 'optimum',\n pattern: 'pattern',\n placeholder: 'placeholder',\n playsinline: 'playsInline',\n poster: 'poster',\n preload: 'preload',\n profile: 'profile',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n referrerpolicy: 'referrerPolicy',\n rel: 'rel',\n required: 'required',\n reversed: 'reversed',\n role: 'role',\n rows: 'rows',\n rowspan: 'rowSpan',\n sandbox: 'sandbox',\n scope: 'scope',\n scoped: 'scoped',\n scrolling: 'scrolling',\n seamless: 'seamless',\n selected: 'selected',\n shape: 'shape',\n size: 'size',\n sizes: 'sizes',\n span: 'span',\n spellcheck: 'spellCheck',\n src: 'src',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n start: 'start',\n step: 'step',\n style: 'style',\n summary: 'summary',\n tabindex: 'tabIndex',\n target: 'target',\n title: 'title',\n type: 'type',\n usemap: 'useMap',\n value: 'value',\n width: 'width',\n wmode: 'wmode',\n wrap: 'wrap',\n // SVG\n about: 'about',\n accentheight: 'accentHeight',\n 'accent-height': 'accentHeight',\n accumulate: 'accumulate',\n additive: 'additive',\n alignmentbaseline: 'alignmentBaseline',\n 'alignment-baseline': 'alignmentBaseline',\n allowreorder: 'allowReorder',\n alphabetic: 'alphabetic',\n amplitude: 'amplitude',\n arabicform: 'arabicForm',\n 'arabic-form': 'arabicForm',\n ascent: 'ascent',\n attributename: 'attributeName',\n attributetype: 'attributeType',\n autoreverse: 'autoReverse',\n azimuth: 'azimuth',\n basefrequency: 'baseFrequency',\n baselineshift: 'baselineShift',\n 'baseline-shift': 'baselineShift',\n baseprofile: 'baseProfile',\n bbox: 'bbox',\n begin: 'begin',\n bias: 'bias',\n by: 'by',\n calcmode: 'calcMode',\n capheight: 'capHeight',\n 'cap-height': 'capHeight',\n clip: 'clip',\n clippath: 'clipPath',\n 'clip-path': 'clipPath',\n clippathunits: 'clipPathUnits',\n cliprule: 'clipRule',\n 'clip-rule': 'clipRule',\n color: 'color',\n colorinterpolation: 'colorInterpolation',\n 'color-interpolation': 'colorInterpolation',\n colorinterpolationfilters: 'colorInterpolationFilters',\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorprofile: 'colorProfile',\n 'color-profile': 'colorProfile',\n colorrendering: 'colorRendering',\n 'color-rendering': 'colorRendering',\n contentscripttype: 'contentScriptType',\n contentstyletype: 'contentStyleType',\n cursor: 'cursor',\n cx: 'cx',\n cy: 'cy',\n d: 'd',\n datatype: 'datatype',\n decelerate: 'decelerate',\n descent: 'descent',\n diffuseconstant: 'diffuseConstant',\n direction: 'direction',\n display: 'display',\n divisor: 'divisor',\n dominantbaseline: 'dominantBaseline',\n 'dominant-baseline': 'dominantBaseline',\n dur: 'dur',\n dx: 'dx',\n dy: 'dy',\n edgemode: 'edgeMode',\n elevation: 'elevation',\n enablebackground: 'enableBackground',\n 'enable-background': 'enableBackground',\n end: 'end',\n exponent: 'exponent',\n externalresourcesrequired: 'externalResourcesRequired',\n fill: 'fill',\n fillopacity: 'fillOpacity',\n 'fill-opacity': 'fillOpacity',\n fillrule: 'fillRule',\n 'fill-rule': 'fillRule',\n filter: 'filter',\n filterres: 'filterRes',\n filterunits: 'filterUnits',\n floodopacity: 'floodOpacity',\n 'flood-opacity': 'floodOpacity',\n floodcolor: 'floodColor',\n 'flood-color': 'floodColor',\n focusable: 'focusable',\n fontfamily: 'fontFamily',\n 'font-family': 'fontFamily',\n fontsize: 'fontSize',\n 'font-size': 'fontSize',\n fontsizeadjust: 'fontSizeAdjust',\n 'font-size-adjust': 'fontSizeAdjust',\n fontstretch: 'fontStretch',\n 'font-stretch': 'fontStretch',\n fontstyle: 'fontStyle',\n 'font-style': 'fontStyle',\n fontvariant: 'fontVariant',\n 'font-variant': 'fontVariant',\n fontweight: 'fontWeight',\n 'font-weight': 'fontWeight',\n format: 'format',\n from: 'from',\n fx: 'fx',\n fy: 'fy',\n g1: 'g1',\n g2: 'g2',\n glyphname: 'glyphName',\n 'glyph-name': 'glyphName',\n glyphorientationhorizontal: 'glyphOrientationHorizontal',\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphorientationvertical: 'glyphOrientationVertical',\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n hanging: 'hanging',\n horizadvx: 'horizAdvX',\n 'horiz-adv-x': 'horizAdvX',\n horizoriginx: 'horizOriginX',\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 'ideographic',\n imagerendering: 'imageRendering',\n 'image-rendering': 'imageRendering',\n in2: 'in2',\n in: 'in',\n inlist: 'inlist',\n intercept: 'intercept',\n k1: 'k1',\n k2: 'k2',\n k3: 'k3',\n k4: 'k4',\n k: 'k',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n kerning: 'kerning',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n letterspacing: 'letterSpacing',\n 'letter-spacing': 'letterSpacing',\n lightingcolor: 'lightingColor',\n 'lighting-color': 'lightingColor',\n limitingconeangle: 'limitingConeAngle',\n local: 'local',\n markerend: 'markerEnd',\n 'marker-end': 'markerEnd',\n markerheight: 'markerHeight',\n markermid: 'markerMid',\n 'marker-mid': 'markerMid',\n markerstart: 'markerStart',\n 'marker-start': 'markerStart',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n mask: 'mask',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n mathematical: 'mathematical',\n mode: 'mode',\n numoctaves: 'numOctaves',\n offset: 'offset',\n opacity: 'opacity',\n operator: 'operator',\n order: 'order',\n orient: 'orient',\n orientation: 'orientation',\n origin: 'origin',\n overflow: 'overflow',\n overlineposition: 'overlinePosition',\n 'overline-position': 'overlinePosition',\n overlinethickness: 'overlineThickness',\n 'overline-thickness': 'overlineThickness',\n paintorder: 'paintOrder',\n 'paint-order': 'paintOrder',\n panose1: 'panose1',\n 'panose-1': 'panose1',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointerevents: 'pointerEvents',\n 'pointer-events': 'pointerEvents',\n points: 'points',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n prefix: 'prefix',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n property: 'property',\n r: 'r',\n radius: 'radius',\n refx: 'refX',\n refy: 'refY',\n renderingintent: 'renderingIntent',\n 'rendering-intent': 'renderingIntent',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n resource: 'resource',\n restart: 'restart',\n result: 'result',\n results: 'results',\n rotate: 'rotate',\n rx: 'rx',\n ry: 'ry',\n scale: 'scale',\n security: 'security',\n seed: 'seed',\n shaperendering: 'shapeRendering',\n 'shape-rendering': 'shapeRendering',\n slope: 'slope',\n spacing: 'spacing',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n speed: 'speed',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stemh: 'stemh',\n stemv: 'stemv',\n stitchtiles: 'stitchTiles',\n stopcolor: 'stopColor',\n 'stop-color': 'stopColor',\n stopopacity: 'stopOpacity',\n 'stop-opacity': 'stopOpacity',\n strikethroughposition: 'strikethroughPosition',\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughthickness: 'strikethroughThickness',\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 'string',\n stroke: 'stroke',\n strokedasharray: 'strokeDasharray',\n 'stroke-dasharray': 'strokeDasharray',\n strokedashoffset: 'strokeDashoffset',\n 'stroke-dashoffset': 'strokeDashoffset',\n strokelinecap: 'strokeLinecap',\n 'stroke-linecap': 'strokeLinecap',\n strokelinejoin: 'strokeLinejoin',\n 'stroke-linejoin': 'strokeLinejoin',\n strokemiterlimit: 'strokeMiterlimit',\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokewidth: 'strokeWidth',\n 'stroke-width': 'strokeWidth',\n strokeopacity: 'strokeOpacity',\n 'stroke-opacity': 'strokeOpacity',\n suppresscontenteditablewarning: 'suppressContentEditableWarning',\n suppresshydrationwarning: 'suppressHydrationWarning',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textanchor: 'textAnchor',\n 'text-anchor': 'textAnchor',\n textdecoration: 'textDecoration',\n 'text-decoration': 'textDecoration',\n textlength: 'textLength',\n textrendering: 'textRendering',\n 'text-rendering': 'textRendering',\n to: 'to',\n transform: 'transform',\n typeof: 'typeof',\n u1: 'u1',\n u2: 'u2',\n underlineposition: 'underlinePosition',\n 'underline-position': 'underlinePosition',\n underlinethickness: 'underlineThickness',\n 'underline-thickness': 'underlineThickness',\n unicode: 'unicode',\n unicodebidi: 'unicodeBidi',\n 'unicode-bidi': 'unicodeBidi',\n unicoderange: 'unicodeRange',\n 'unicode-range': 'unicodeRange',\n unitsperem: 'unitsPerEm',\n 'units-per-em': 'unitsPerEm',\n unselectable: 'unselectable',\n valphabetic: 'vAlphabetic',\n 'v-alphabetic': 'vAlphabetic',\n values: 'values',\n vectoreffect: 'vectorEffect',\n 'vector-effect': 'vectorEffect',\n version: 'version',\n vertadvy: 'vertAdvY',\n 'vert-adv-y': 'vertAdvY',\n vertoriginx: 'vertOriginX',\n 'vert-origin-x': 'vertOriginX',\n vertoriginy: 'vertOriginY',\n 'vert-origin-y': 'vertOriginY',\n vhanging: 'vHanging',\n 'v-hanging': 'vHanging',\n videographic: 'vIdeographic',\n 'v-ideographic': 'vIdeographic',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n visibility: 'visibility',\n vmathematical: 'vMathematical',\n 'v-mathematical': 'vMathematical',\n vocab: 'vocab',\n widths: 'widths',\n wordspacing: 'wordSpacing',\n 'word-spacing': 'wordSpacing',\n writingmode: 'writingMode',\n 'writing-mode': 'writingMode',\n x1: 'x1',\n x2: 'x2',\n x: 'x',\n xchannelselector: 'xChannelSelector',\n xheight: 'xHeight',\n 'x-height': 'xHeight',\n xlinkactuate: 'xlinkActuate',\n 'xlink:actuate': 'xlinkActuate',\n xlinkarcrole: 'xlinkArcrole',\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkhref: 'xlinkHref',\n 'xlink:href': 'xlinkHref',\n xlinkrole: 'xlinkRole',\n 'xlink:role': 'xlinkRole',\n xlinkshow: 'xlinkShow',\n 'xlink:show': 'xlinkShow',\n xlinktitle: 'xlinkTitle',\n 'xlink:title': 'xlinkTitle',\n xlinktype: 'xlinkType',\n 'xlink:type': 'xlinkType',\n xmlbase: 'xmlBase',\n 'xml:base': 'xmlBase',\n xmllang: 'xmlLang',\n 'xml:lang': 'xmlLang',\n xmlns: 'xmlns',\n 'xml:space': 'xmlSpace',\n xmlnsxlink: 'xmlnsXlink',\n 'xmlns:xlink': 'xmlnsXlink',\n xmlspace: 'xmlSpace',\n y1: 'y1',\n y2: 'y2',\n y: 'y',\n ychannelselector: 'yChannelSelector',\n z: 'z',\n zoomandpan: 'zoomAndPan'\n};\n\nvar ariaProperties = {\n 'aria-current': 0,\n // state\n 'aria-description': 0,\n 'aria-details': 0,\n 'aria-disabled': 0,\n // state\n 'aria-hidden': 0,\n // state\n 'aria-invalid': 0,\n // state\n 'aria-keyshortcuts': 0,\n 'aria-label': 0,\n 'aria-roledescription': 0,\n // Widget Attributes\n 'aria-autocomplete': 0,\n 'aria-checked': 0,\n 'aria-expanded': 0,\n 'aria-haspopup': 0,\n 'aria-level': 0,\n 'aria-modal': 0,\n 'aria-multiline': 0,\n 'aria-multiselectable': 0,\n 'aria-orientation': 0,\n 'aria-placeholder': 0,\n 'aria-pressed': 0,\n 'aria-readonly': 0,\n 'aria-required': 0,\n 'aria-selected': 0,\n 'aria-sort': 0,\n 'aria-valuemax': 0,\n 'aria-valuemin': 0,\n 'aria-valuenow': 0,\n 'aria-valuetext': 0,\n // Live Region Attributes\n 'aria-atomic': 0,\n 'aria-busy': 0,\n 'aria-live': 0,\n 'aria-relevant': 0,\n // Drag-and-Drop Attributes\n 'aria-dropeffect': 0,\n 'aria-grabbed': 0,\n // Relationship Attributes\n 'aria-activedescendant': 0,\n 'aria-colcount': 0,\n 'aria-colindex': 0,\n 'aria-colspan': 0,\n 'aria-controls': 0,\n 'aria-describedby': 0,\n 'aria-errormessage': 0,\n 'aria-flowto': 0,\n 'aria-labelledby': 0,\n 'aria-owns': 0,\n 'aria-posinset': 0,\n 'aria-rowcount': 0,\n 'aria-rowindex': 0,\n 'aria-rowspan': 0,\n 'aria-setsize': 0\n};\n\nvar warnedProperties = {};\nvar rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\nfunction validateProperty(tagName, name) {\n {\n if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) {\n return true;\n }\n\n if (rARIACamel.test(name)) {\n var ariaName = 'aria-' + name.slice(4).toLowerCase();\n var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (correctName == null) {\n error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);\n\n warnedProperties[name] = true;\n return true;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== correctName) {\n error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n\n if (rARIA.test(name)) {\n var lowerCasedName = name.toLowerCase();\n var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (standardName == null) {\n warnedProperties[name] = true;\n return false;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== standardName) {\n error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n }\n\n return true;\n}\n\nfunction warnInvalidARIAProps(type, props) {\n {\n var invalidProps = [];\n\n for (var key in props) {\n var isValid = validateProperty(type, key);\n\n if (!isValid) {\n invalidProps.push(key);\n }\n }\n\n var unknownPropString = invalidProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (invalidProps.length === 1) {\n error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n } else if (invalidProps.length > 1) {\n error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n }\n }\n}\n\nfunction validateProperties(type, props) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnInvalidARIAProps(type, props);\n}\n\nvar didWarnValueNull = false;\nfunction validateProperties$1(type, props) {\n {\n if (type !== 'input' && type !== 'textarea' && type !== 'select') {\n return;\n }\n\n if (props != null && props.value === null && !didWarnValueNull) {\n didWarnValueNull = true;\n\n if (type === 'select' && props.multiple) {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);\n } else {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);\n }\n }\n }\n}\n\nvar validateProperty$1 = function () {};\n\n{\n var warnedProperties$1 = {};\n var EVENT_NAME_REGEX = /^on./;\n var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;\n var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\n var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\n validateProperty$1 = function (tagName, name, value, eventRegistry) {\n if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {\n return true;\n }\n\n var lowerCasedName = name.toLowerCase();\n\n if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {\n error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');\n\n warnedProperties$1[name] = true;\n return true;\n } // We can't rely on the event system being injected on the server.\n\n\n if (eventRegistry != null) {\n var registrationNameDependencies = eventRegistry.registrationNameDependencies,\n possibleRegistrationNames = eventRegistry.possibleRegistrationNames;\n\n if (registrationNameDependencies.hasOwnProperty(name)) {\n return true;\n }\n\n var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;\n\n if (registrationName != null) {\n error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (EVENT_NAME_REGEX.test(name)) {\n error('Unknown event handler property `%s`. It will be ignored.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (EVENT_NAME_REGEX.test(name)) {\n // If no event plugins have been injected, we are in a server environment.\n // So we can't tell if the event name is correct for sure, but we can filter\n // out known bad ones like `onclick`. We can't suggest a specific replacement though.\n if (INVALID_EVENT_NAME_REGEX.test(name)) {\n error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Let the ARIA attribute hook validate ARIA attributes\n\n\n if (rARIA$1.test(name) || rARIACamel$1.test(name)) {\n return true;\n }\n\n if (lowerCasedName === 'innerhtml') {\n error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'aria') {\n error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {\n error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n var propertyInfo = getPropertyInfo(name);\n var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config.\n\n if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n var standardName = possibleStandardNames[lowerCasedName];\n\n if (standardName !== name) {\n error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (!isReserved && name !== lowerCasedName) {\n // Unknown attributes should have lowercase casing since that's how they\n // will be cased anyway with server rendering.\n error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n if (value) {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.', value, name, name, value, name);\n } else {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Now that we've validated casing, do not validate\n // data types for reserved props\n\n\n if (isReserved) {\n return true;\n } // Warn when a known attribute is a bad type\n\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n warnedProperties$1[name] = true;\n return false;\n } // Warn when passing the strings 'false' or 'true' into a boolean prop\n\n\n if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {\n error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string \"false\".', name, value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n return true;\n };\n}\n\nvar warnUnknownProperties = function (type, props, eventRegistry) {\n {\n var unknownProps = [];\n\n for (var key in props) {\n var isValid = validateProperty$1(type, key, props[key], eventRegistry);\n\n if (!isValid) {\n unknownProps.push(key);\n }\n }\n\n var unknownPropString = unknownProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (unknownProps.length === 1) {\n error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n } else if (unknownProps.length > 1) {\n error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n }\n }\n};\n\nfunction validateProperties$2(type, props, eventRegistry) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnUnknownProperties(type, props, eventRegistry);\n}\n\nvar IS_EVENT_HANDLE_NON_MANAGED_NODE = 1;\nvar IS_NON_DELEGATED = 1 << 1;\nvar IS_CAPTURE_PHASE = 1 << 2;\n// set to LEGACY_FB_SUPPORT. LEGACY_FB_SUPPORT only gets set when\n// we call willDeferLaterForLegacyFBSupport, thus not bailing out\n// will result in endless cycles like an infinite loop.\n// We also don't want to defer during event replaying.\n\nvar SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS = IS_EVENT_HANDLE_NON_MANAGED_NODE | IS_NON_DELEGATED | IS_CAPTURE_PHASE;\n\n// This exists to avoid circular dependency between ReactDOMEventReplaying\n// and DOMPluginEventSystem.\nvar currentReplayingEvent = null;\nfunction setReplayingEvent(event) {\n {\n if (currentReplayingEvent !== null) {\n error('Expected currently replaying event to be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = event;\n}\nfunction resetReplayingEvent() {\n {\n if (currentReplayingEvent === null) {\n error('Expected currently replaying event to not be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = null;\n}\nfunction isReplayingEvent(event) {\n return event === currentReplayingEvent;\n}\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n // Fallback to nativeEvent.srcElement for IE9\n // https://github.com/facebook/react/issues/12506\n var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963\n\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n\n\n return target.nodeType === TEXT_NODE ? target.parentNode : target;\n}\n\nvar restoreImpl = null;\nvar restoreTarget = null;\nvar restoreQueue = null;\n\nfunction restoreStateOfTarget(target) {\n // We perform this translation at the end of the event loop so that we\n // always receive the correct fiber here\n var internalInstance = getInstanceFromNode(target);\n\n if (!internalInstance) {\n // Unmounted\n return;\n }\n\n if (typeof restoreImpl !== 'function') {\n throw new Error('setRestoreImplementation() needs to be called to handle a target for controlled ' + 'events. This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted.\n\n if (stateNode) {\n var _props = getFiberCurrentPropsFromNode(stateNode);\n\n restoreImpl(internalInstance.stateNode, internalInstance.type, _props);\n }\n}\n\nfunction setRestoreImplementation(impl) {\n restoreImpl = impl;\n}\nfunction enqueueStateRestore(target) {\n if (restoreTarget) {\n if (restoreQueue) {\n restoreQueue.push(target);\n } else {\n restoreQueue = [target];\n }\n } else {\n restoreTarget = target;\n }\n}\nfunction needsStateRestore() {\n return restoreTarget !== null || restoreQueue !== null;\n}\nfunction restoreStateIfNeeded() {\n if (!restoreTarget) {\n return;\n }\n\n var target = restoreTarget;\n var queuedTargets = restoreQueue;\n restoreTarget = null;\n restoreQueue = null;\n restoreStateOfTarget(target);\n\n if (queuedTargets) {\n for (var i = 0; i < queuedTargets.length; i++) {\n restoreStateOfTarget(queuedTargets[i]);\n }\n }\n}\n\n// the renderer. Such as when we're dispatching events or if third party\n// libraries need to call batchedUpdates. Eventually, this API will go away when\n// everything is batched by default. We'll then have a similar API to opt-out of\n// scheduled work and instead do synchronous work.\n// Defaults\n\nvar batchedUpdatesImpl = function (fn, bookkeeping) {\n return fn(bookkeeping);\n};\n\nvar flushSyncImpl = function () {};\n\nvar isInsideEventHandler = false;\n\nfunction finishEventHandler() {\n // Here we wait until all updates have propagated, which is important\n // when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n // Then we restore state of any controlled component.\n var controlledComponentsHavePendingUpdates = needsStateRestore();\n\n if (controlledComponentsHavePendingUpdates) {\n // If a controlled event was fired, we may need to restore the state of\n // the DOM node back to the controlled value. This is necessary when React\n // bails out of the update without touching the DOM.\n // TODO: Restore state in the microtask, after the discrete updates flush,\n // instead of early flushing them here.\n flushSyncImpl();\n restoreStateIfNeeded();\n }\n}\n\nfunction batchedUpdates(fn, a, b) {\n if (isInsideEventHandler) {\n // If we are currently inside another batch, we need to wait until it\n // fully completes before restoring state.\n return fn(a, b);\n }\n\n isInsideEventHandler = true;\n\n try {\n return batchedUpdatesImpl(fn, a, b);\n } finally {\n isInsideEventHandler = false;\n finishEventHandler();\n }\n} // TODO: Replace with flushSync\nfunction setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushSyncImpl) {\n batchedUpdatesImpl = _batchedUpdatesImpl;\n flushSyncImpl = _flushSyncImpl;\n}\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nfunction shouldPreventMouseEvent(name, type, props) {\n switch (name) {\n case 'onClick':\n case 'onClickCapture':\n case 'onDoubleClick':\n case 'onDoubleClickCapture':\n case 'onMouseDown':\n case 'onMouseDownCapture':\n case 'onMouseMove':\n case 'onMouseMoveCapture':\n case 'onMouseUp':\n case 'onMouseUpCapture':\n case 'onMouseEnter':\n return !!(props.disabled && isInteractive(type));\n\n default:\n return false;\n }\n}\n/**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n\n\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n\n if (stateNode === null) {\n // Work in progress (ex: onload events in incremental mode).\n return null;\n }\n\n var props = getFiberCurrentPropsFromNode(stateNode);\n\n if (props === null) {\n // Work in progress.\n return null;\n }\n\n var listener = props[registrationName];\n\n if (shouldPreventMouseEvent(registrationName, inst.type, props)) {\n return null;\n }\n\n if (listener && typeof listener !== 'function') {\n throw new Error(\"Expected `\" + registrationName + \"` listener to be a function, instead got a value of `\" + typeof listener + \"` type.\");\n }\n\n return listener;\n}\n\nvar passiveBrowserEventsSupported = false; // Check if browser support events with passive listeners\n// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n\nif (canUseDOM) {\n try {\n var options = {}; // $FlowFixMe: Ignore Flow complaining about needing a value\n\n Object.defineProperty(options, 'passive', {\n get: function () {\n passiveBrowserEventsSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (e) {\n passiveBrowserEventsSupported = false;\n }\n}\n\nfunction invokeGuardedCallbackProd(name, func, context, a, b, c, d, e, f) {\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n try {\n func.apply(context, funcArgs);\n } catch (error) {\n this.onError(error);\n }\n}\n\nvar invokeGuardedCallbackImpl = invokeGuardedCallbackProd;\n\n{\n // In DEV mode, we swap out invokeGuardedCallback for a special version\n // that plays more nicely with the browser's DevTools. The idea is to preserve\n // \"Pause on exceptions\" behavior. Because React wraps all user-provided\n // functions in invokeGuardedCallback, and the production version of\n // invokeGuardedCallback uses a try-catch, all user exceptions are treated\n // like caught exceptions, and the DevTools won't pause unless the developer\n // takes the extra step of enabling pause on caught exceptions. This is\n // unintuitive, though, because even though React has caught the error, from\n // the developer's perspective, the error is uncaught.\n //\n // To preserve the expected \"Pause on exceptions\" behavior, we don't use a\n // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake\n // DOM node, and call the user-provided callback from inside an event handler\n // for that fake event. If the callback throws, the error is \"captured\" using\n // a global event handler. But because the error happens in a different\n // event loop context, it does not interrupt the normal program flow.\n // Effectively, this gives us try-catch behavior without actually using\n // try-catch. Neat!\n // Check that the browser supports the APIs we need to implement our special\n // DEV version of invokeGuardedCallback\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n var fakeNode = document.createElement('react');\n\n invokeGuardedCallbackImpl = function invokeGuardedCallbackDev(name, func, context, a, b, c, d, e, f) {\n // If document doesn't exist we know for sure we will crash in this method\n // when we call document.createEvent(). However this can cause confusing\n // errors: https://github.com/facebook/create-react-app/issues/3482\n // So we preemptively throw with a better message instead.\n if (typeof document === 'undefined' || document === null) {\n throw new Error('The `document` global was defined when React was initialized, but is not ' + 'defined anymore. This can happen in a test environment if a component ' + 'schedules an update from an asynchronous callback, but the test has already ' + 'finished running. To solve this, you can either unmount the component at ' + 'the end of your test (and ensure that any asynchronous operations get ' + 'canceled in `componentWillUnmount`), or you can change the test itself ' + 'to be asynchronous.');\n }\n\n var evt = document.createEvent('Event');\n var didCall = false; // Keeps track of whether the user-provided callback threw an error. We\n // set this to true at the beginning, then set it to false right after\n // calling the function. If the function errors, `didError` will never be\n // set to false. This strategy works even if the browser is flaky and\n // fails to call our global error handler, because it doesn't rely on\n // the error event at all.\n\n var didError = true; // Keeps track of the value of window.event so that we can reset it\n // during the callback to let user code access window.event in the\n // browsers that support it.\n\n var windowEvent = window.event; // Keeps track of the descriptor of window.event to restore it after event\n // dispatching: https://github.com/facebook/react/issues/13688\n\n var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event');\n\n function restoreAfterDispatch() {\n // We immediately remove the callback from event listeners so that\n // nested `invokeGuardedCallback` calls do not clash. Otherwise, a\n // nested call would trigger the fake event handlers of any call higher\n // in the stack.\n fakeNode.removeEventListener(evtType, callCallback, false); // We check for window.hasOwnProperty('event') to prevent the\n // window.event assignment in both IE <= 10 as they throw an error\n // \"Member not found\" in strict mode, and in Firefox which does not\n // support window.event.\n\n if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) {\n window.event = windowEvent;\n }\n } // Create an event handler for our fake event. We will synchronously\n // dispatch our fake event using `dispatchEvent`. Inside the handler, we\n // call the user-provided callback.\n\n\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n function callCallback() {\n didCall = true;\n restoreAfterDispatch();\n func.apply(context, funcArgs);\n didError = false;\n } // Create a global error event handler. We use this to capture the value\n // that was thrown. It's possible that this error handler will fire more\n // than once; for example, if non-React code also calls `dispatchEvent`\n // and a handler for that event throws. We should be resilient to most of\n // those cases. Even if our error event handler fires more than once, the\n // last error event is always used. If the callback actually does error,\n // we know that the last error event is the correct one, because it's not\n // possible for anything else to have happened in between our callback\n // erroring and the code that follows the `dispatchEvent` call below. If\n // the callback doesn't error, but the error event was fired, we know to\n // ignore it because `didError` will be false, as described above.\n\n\n var error; // Use this to track whether the error event is ever called.\n\n var didSetError = false;\n var isCrossOriginError = false;\n\n function handleWindowError(event) {\n error = event.error;\n didSetError = true;\n\n if (error === null && event.colno === 0 && event.lineno === 0) {\n isCrossOriginError = true;\n }\n\n if (event.defaultPrevented) {\n // Some other error handler has prevented default.\n // Browsers silence the error report if this happens.\n // We'll remember this to later decide whether to log it or not.\n if (error != null && typeof error === 'object') {\n try {\n error._suppressLogging = true;\n } catch (inner) {// Ignore.\n }\n }\n }\n } // Create a fake event type.\n\n\n var evtType = \"react-\" + (name ? name : 'invokeguardedcallback'); // Attach our event handlers\n\n window.addEventListener('error', handleWindowError);\n fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function\n // errors, it will trigger our global error handler.\n\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n\n if (windowEventDescriptor) {\n Object.defineProperty(window, 'event', windowEventDescriptor);\n }\n\n if (didCall && didError) {\n if (!didSetError) {\n // The callback errored, but the error event never fired.\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error('An error was thrown inside one of your components, but React ' + \"doesn't know what it was. This is likely due to browser \" + 'flakiness. React does its best to preserve the \"Pause on ' + 'exceptions\" behavior of the DevTools, which requires some ' + \"DEV-mode only tricks. It's possible that these don't work in \" + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.');\n } else if (isCrossOriginError) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(\"A cross-origin error was thrown. React doesn't have access to \" + 'the actual error object in development. ' + 'See https://reactjs.org/link/crossorigin-error for more information.');\n }\n\n this.onError(error);\n } // Remove our event listeners\n\n\n window.removeEventListener('error', handleWindowError);\n\n if (!didCall) {\n // Something went really wrong, and our event was not dispatched.\n // https://github.com/facebook/react/issues/16734\n // https://github.com/facebook/react/issues/16585\n // Fall back to the production implementation.\n restoreAfterDispatch();\n return invokeGuardedCallbackProd.apply(this, arguments);\n }\n };\n }\n}\n\nvar invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl;\n\nvar hasError = false;\nvar caughtError = null; // Used by event system to capture/rethrow the first error.\n\nvar hasRethrowError = false;\nvar rethrowError = null;\nvar reporter = {\n onError: function (error) {\n hasError = true;\n caughtError = error;\n }\n};\n/**\n * Call a function while guarding against errors that happens within it.\n * Returns an error if it throws, otherwise null.\n *\n * In production, this is implemented using a try-catch. The reason we don't\n * use a try-catch directly is so that we can swap out a different\n * implementation in DEV mode.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {\n hasError = false;\n caughtError = null;\n invokeGuardedCallbackImpl$1.apply(reporter, arguments);\n}\n/**\n * Same as invokeGuardedCallback, but instead of returning an error, it stores\n * it in a global so it can be rethrown by `rethrowCaughtError` later.\n * TODO: See if caughtError and rethrowError can be unified.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {\n invokeGuardedCallback.apply(this, arguments);\n\n if (hasError) {\n var error = clearCaughtError();\n\n if (!hasRethrowError) {\n hasRethrowError = true;\n rethrowError = error;\n }\n }\n}\n/**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n\nfunction rethrowCaughtError() {\n if (hasRethrowError) {\n var error = rethrowError;\n hasRethrowError = false;\n rethrowError = null;\n throw error;\n }\n}\nfunction hasCaughtError() {\n return hasError;\n}\nfunction clearCaughtError() {\n if (hasError) {\n var error = caughtError;\n hasError = false;\n caughtError = null;\n return error;\n } else {\n throw new Error('clearCaughtError was called but no error was captured. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n}\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n *\n * Note that this module is currently shared and assumed to be stateless.\n * If this becomes an actual Map, that will break.\n */\nfunction get(key) {\n return key._reactInternals;\n}\nfunction has(key) {\n return key._reactInternals !== undefined;\n}\nfunction set(key, value) {\n key._reactInternals = value;\n}\n\n// Don't change these two values. They're used by React Dev Tools.\nvar NoFlags =\n/* */\n0;\nvar PerformedWork =\n/* */\n1; // You can change the rest (and add more).\n\nvar Placement =\n/* */\n2;\nvar Update =\n/* */\n4;\nvar ChildDeletion =\n/* */\n16;\nvar ContentReset =\n/* */\n32;\nvar Callback =\n/* */\n64;\nvar DidCapture =\n/* */\n128;\nvar ForceClientRender =\n/* */\n256;\nvar Ref =\n/* */\n512;\nvar Snapshot =\n/* */\n1024;\nvar Passive =\n/* */\n2048;\nvar Hydrating =\n/* */\n4096;\nvar Visibility =\n/* */\n8192;\nvar StoreConsistency =\n/* */\n16384;\nvar LifecycleEffectMask = Passive | Update | Callback | Ref | Snapshot | StoreConsistency; // Union of all commit flags (flags with the lifetime of a particular commit)\n\nvar HostEffectMask =\n/* */\n32767; // These are not really side effects, but we still reuse this field.\n\nvar Incomplete =\n/* */\n32768;\nvar ShouldCapture =\n/* */\n65536;\nvar ForceUpdateForLegacySuspense =\n/* */\n131072;\nvar Forked =\n/* */\n1048576; // Static tags describe aspects of a fiber that are not specific to a render,\n// e.g. a fiber uses a passive effect (even if there are no updates on this particular render).\n// This enables us to defer more work in the unmount case,\n// since we can defer traversing the tree during layout to look for Passive effects,\n// and instead rely on the static flag as a signal that there may be cleanup work.\n\nvar RefStatic =\n/* */\n2097152;\nvar LayoutStatic =\n/* */\n4194304;\nvar PassiveStatic =\n/* */\n8388608; // These flags allow us to traverse to fibers that have effects on mount\n// without traversing the entire tree after every commit for\n// double invoking\n\nvar MountLayoutDev =\n/* */\n16777216;\nvar MountPassiveDev =\n/* */\n33554432; // Groups of flags that are used in the commit phase to skip over trees that\n// don't contain effects, by checking subtreeFlags.\n\nvar BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visibility\n// flag logic (see #20043)\nUpdate | Snapshot | ( 0);\nvar MutationMask = Placement | Update | ChildDeletion | ContentReset | Ref | Hydrating | Visibility;\nvar LayoutMask = Update | Callback | Ref | Visibility; // TODO: Split into PassiveMountMask and PassiveUnmountMask\n\nvar PassiveMask = Passive | ChildDeletion; // Union of tags that don't get reset on clones.\n// This allows certain concepts to persist without recalculating them,\n// e.g. whether a subtree contains passive effects or portals.\n\nvar StaticMask = LayoutStatic | PassiveStatic | RefStatic;\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nfunction getNearestMountedFiber(fiber) {\n var node = fiber;\n var nearestMounted = fiber;\n\n if (!fiber.alternate) {\n // If there is no alternate, this might be a new tree that isn't inserted\n // yet. If it is, then it will have a pending insertion effect on it.\n var nextNode = node;\n\n do {\n node = nextNode;\n\n if ((node.flags & (Placement | Hydrating)) !== NoFlags) {\n // This is an insertion or in-progress hydration. The nearest possible\n // mounted fiber is the parent but we need to continue to figure out\n // if that one is still mounted.\n nearestMounted = node.return;\n }\n\n nextNode = node.return;\n } while (nextNode);\n } else {\n while (node.return) {\n node = node.return;\n }\n }\n\n if (node.tag === HostRoot) {\n // TODO: Check if this was a nested HostRoot when used with\n // renderContainerIntoSubtree.\n return nearestMounted;\n } // If we didn't hit the root, that means that we're in an disconnected tree\n // that has been unmounted.\n\n\n return null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (fiber.tag === SuspenseComponent) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState === null) {\n var current = fiber.alternate;\n\n if (current !== null) {\n suspenseState = current.memoizedState;\n }\n }\n\n if (suspenseState !== null) {\n return suspenseState.dehydrated;\n }\n }\n\n return null;\n}\nfunction getContainerFromFiber(fiber) {\n return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null;\n}\nfunction isFiberMounted(fiber) {\n return getNearestMountedFiber(fiber) === fiber;\n}\nfunction isMounted(component) {\n {\n var owner = ReactCurrentOwner.current;\n\n if (owner !== null && owner.tag === ClassComponent) {\n var ownerFiber = owner;\n var instance = ownerFiber.stateNode;\n\n if (!instance._warnedAboutRefsInRender) {\n error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromFiber(ownerFiber) || 'A component');\n }\n\n instance._warnedAboutRefsInRender = true;\n }\n }\n\n var fiber = get(component);\n\n if (!fiber) {\n return false;\n }\n\n return getNearestMountedFiber(fiber) === fiber;\n}\n\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n}\n\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n\n if (!alternate) {\n // If there is no alternate, then we only need to check if it is mounted.\n var nearestMounted = getNearestMountedFiber(fiber);\n\n if (nearestMounted === null) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (nearestMounted !== fiber) {\n return null;\n }\n\n return fiber;\n } // If we have two possible branches, we'll walk backwards up to the root\n // to see what path the root points to. On the way we may hit one of the\n // special cases and we'll deal with them.\n\n\n var a = fiber;\n var b = alternate;\n\n while (true) {\n var parentA = a.return;\n\n if (parentA === null) {\n // We're at the root.\n break;\n }\n\n var parentB = parentA.alternate;\n\n if (parentB === null) {\n // There is no alternate. This is an unusual case. Currently, it only\n // happens when a Suspense component is hidden. An extra fragment fiber\n // is inserted in between the Suspense fiber and its children. Skip\n // over this extra fragment fiber and proceed to the next parent.\n var nextParent = parentA.return;\n\n if (nextParent !== null) {\n a = b = nextParent;\n continue;\n } // If there's no parent, we're at the root.\n\n\n break;\n } // If both copies of the parent fiber point to the same child, we can\n // assume that the child is current. This happens when we bailout on low\n // priority: the bailed out fiber's child reuses the current child.\n\n\n if (parentA.child === parentB.child) {\n var child = parentA.child;\n\n while (child) {\n if (child === a) {\n // We've determined that A is the current branch.\n assertIsMounted(parentA);\n return fiber;\n }\n\n if (child === b) {\n // We've determined that B is the current branch.\n assertIsMounted(parentA);\n return alternate;\n }\n\n child = child.sibling;\n } // We should never have an alternate for any mounting node. So the only\n // way this could possibly happen is if this was unmounted, if at all.\n\n\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.return !== b.return) {\n // The return pointer of A and the return pointer of B point to different\n // fibers. We assume that return pointers never criss-cross, so A must\n // belong to the child set of A.return, and B must belong to the child\n // set of B.return.\n a = parentA;\n b = parentB;\n } else {\n // The return pointers point to the same fiber. We'll have to use the\n // default, slow path: scan the child sets of each parent alternate to see\n // which child belongs to which set.\n //\n // Search parent A's child set\n var didFindChild = false;\n var _child = parentA.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentA;\n b = parentB;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentA;\n a = parentB;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n // Search parent B's child set\n _child = parentB.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentB;\n b = parentA;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentB;\n a = parentA;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n throw new Error('Child was not found in either parent set. This indicates a bug ' + 'in React related to the return pointer. Please file an issue.');\n }\n }\n }\n\n if (a.alternate !== b) {\n throw new Error(\"Return fibers should always be each others' alternates. \" + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n } // If the root is not a host container, we're in a disconnected tree. I.e.\n // unmounted.\n\n\n if (a.tag !== HostRoot) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.stateNode.current === a) {\n // We've determined that A is the current branch.\n return fiber;\n } // Otherwise B has to be current branch.\n\n\n return alternate;\n}\nfunction findCurrentHostFiber(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n var match = findCurrentHostFiberImpl(child);\n\n if (match !== null) {\n return match;\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\nfunction findCurrentHostFiberWithNoPortals(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberWithNoPortalsImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberWithNoPortalsImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n if (child.tag !== HostPortal) {\n var match = findCurrentHostFiberWithNoPortalsImpl(child);\n\n if (match !== null) {\n return match;\n }\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\n// This module only exists as an ESM wrapper around the external CommonJS\nvar scheduleCallback = Scheduler.unstable_scheduleCallback;\nvar cancelCallback = Scheduler.unstable_cancelCallback;\nvar shouldYield = Scheduler.unstable_shouldYield;\nvar requestPaint = Scheduler.unstable_requestPaint;\nvar now = Scheduler.unstable_now;\nvar getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel;\nvar ImmediatePriority = Scheduler.unstable_ImmediatePriority;\nvar UserBlockingPriority = Scheduler.unstable_UserBlockingPriority;\nvar NormalPriority = Scheduler.unstable_NormalPriority;\nvar LowPriority = Scheduler.unstable_LowPriority;\nvar IdlePriority = Scheduler.unstable_IdlePriority;\n// this doesn't actually exist on the scheduler, but it *does*\n// on scheduler/unstable_mock, which we'll need for internal testing\nvar unstable_yieldValue = Scheduler.unstable_yieldValue;\nvar unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue;\n\nvar rendererID = null;\nvar injectedHook = null;\nvar injectedProfilingHooks = null;\nvar hasLoggedError = false;\nvar isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined';\nfunction injectInternals(internals) {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // No DevTools\n return false;\n }\n\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // https://github.com/facebook/react/issues/3877\n return true;\n }\n\n if (!hook.supportsFiber) {\n {\n error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://reactjs.org/link/react-devtools');\n } // DevTools exists, even though it doesn't support Fiber.\n\n\n return true;\n }\n\n try {\n if (enableSchedulingProfiler) {\n // Conditionally inject these hooks only if Timeline profiler is supported by this build.\n // This gives DevTools a way to feature detect that isn't tied to version number\n // (since profiling and timeline are controlled by different feature flags).\n internals = assign({}, internals, {\n getLaneLabelMap: getLaneLabelMap,\n injectProfilingHooks: injectProfilingHooks\n });\n }\n\n rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks.\n\n injectedHook = hook;\n } catch (err) {\n // Catch all errors because it is unsafe to throw during initialization.\n {\n error('React instrumentation encountered an error: %s.', err);\n }\n }\n\n if (hook.checkDCE) {\n // This is the real DevTools.\n return true;\n } else {\n // This is likely a hook installed by Fast Refresh runtime.\n return false;\n }\n}\nfunction onScheduleRoot(root, children) {\n {\n if (injectedHook && typeof injectedHook.onScheduleFiberRoot === 'function') {\n try {\n injectedHook.onScheduleFiberRoot(rendererID, root, children);\n } catch (err) {\n if ( !hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitRoot(root, eventPriority) {\n if (injectedHook && typeof injectedHook.onCommitFiberRoot === 'function') {\n try {\n var didError = (root.current.flags & DidCapture) === DidCapture;\n\n if (enableProfilerTimer) {\n var schedulerPriority;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n schedulerPriority = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriority = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriority = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriority = IdlePriority;\n break;\n\n default:\n schedulerPriority = NormalPriority;\n break;\n }\n\n injectedHook.onCommitFiberRoot(rendererID, root, schedulerPriority, didError);\n } else {\n injectedHook.onCommitFiberRoot(rendererID, root, undefined, didError);\n }\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onPostCommitRoot(root) {\n if (injectedHook && typeof injectedHook.onPostCommitFiberRoot === 'function') {\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitUnmount(fiber) {\n if (injectedHook && typeof injectedHook.onCommitFiberUnmount === 'function') {\n try {\n injectedHook.onCommitFiberUnmount(rendererID, fiber);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n {\n if (typeof unstable_yieldValue === 'function') {\n // We're in a test because Scheduler.unstable_yieldValue only exists\n // in SchedulerMock. To reduce the noise in strict mode tests,\n // suppress warnings and disable scheduler yielding during the double render\n unstable_setDisableYieldValue(newIsStrictMode);\n setSuppressWarning(newIsStrictMode);\n }\n\n if (injectedHook && typeof injectedHook.setStrictMode === 'function') {\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n }\n} // Profiler API hooks\n\nfunction injectProfilingHooks(profilingHooks) {\n injectedProfilingHooks = profilingHooks;\n}\n\nfunction getLaneLabelMap() {\n {\n var map = new Map();\n var lane = 1;\n\n for (var index = 0; index < TotalLanes; index++) {\n var label = getLabelForLane(lane);\n map.set(lane, label);\n lane *= 2;\n }\n\n return map;\n }\n}\n\nfunction markCommitStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStarted === 'function') {\n injectedProfilingHooks.markCommitStarted(lanes);\n }\n }\n}\nfunction markCommitStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStopped === 'function') {\n injectedProfilingHooks.markCommitStopped();\n }\n }\n}\nfunction markComponentRenderStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStarted === 'function') {\n injectedProfilingHooks.markComponentRenderStarted(fiber);\n }\n }\n}\nfunction markComponentRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStopped === 'function') {\n injectedProfilingHooks.markComponentRenderStopped();\n }\n }\n}\nfunction markComponentPassiveEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStopped();\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStopped();\n }\n }\n}\nfunction markComponentErrored(fiber, thrownValue, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentErrored === 'function') {\n injectedProfilingHooks.markComponentErrored(fiber, thrownValue, lanes);\n }\n }\n}\nfunction markComponentSuspended(fiber, wakeable, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentSuspended === 'function') {\n injectedProfilingHooks.markComponentSuspended(fiber, wakeable, lanes);\n }\n }\n}\nfunction markLayoutEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStarted === 'function') {\n injectedProfilingHooks.markLayoutEffectsStarted(lanes);\n }\n }\n}\nfunction markLayoutEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStopped === 'function') {\n injectedProfilingHooks.markLayoutEffectsStopped();\n }\n }\n}\nfunction markPassiveEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStarted === 'function') {\n injectedProfilingHooks.markPassiveEffectsStarted(lanes);\n }\n }\n}\nfunction markPassiveEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStopped === 'function') {\n injectedProfilingHooks.markPassiveEffectsStopped();\n }\n }\n}\nfunction markRenderStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStarted === 'function') {\n injectedProfilingHooks.markRenderStarted(lanes);\n }\n }\n}\nfunction markRenderYielded() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderYielded === 'function') {\n injectedProfilingHooks.markRenderYielded();\n }\n }\n}\nfunction markRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStopped === 'function') {\n injectedProfilingHooks.markRenderStopped();\n }\n }\n}\nfunction markRenderScheduled(lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderScheduled === 'function') {\n injectedProfilingHooks.markRenderScheduled(lane);\n }\n }\n}\nfunction markForceUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markForceUpdateScheduled === 'function') {\n injectedProfilingHooks.markForceUpdateScheduled(fiber, lane);\n }\n }\n}\nfunction markStateUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markStateUpdateScheduled === 'function') {\n injectedProfilingHooks.markStateUpdateScheduled(fiber, lane);\n }\n }\n}\n\nvar NoMode =\n/* */\n0; // TODO: Remove ConcurrentMode by reading from the root tag instead\n\nvar ConcurrentMode =\n/* */\n1;\nvar ProfileMode =\n/* */\n2;\nvar StrictLegacyMode =\n/* */\n8;\nvar StrictEffectsMode =\n/* */\n16;\n\n// TODO: This is pretty well supported by browsers. Maybe we can drop it.\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback; // Count leading zeros.\n// Based on:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nfunction clz32Fallback(x) {\n var asUint = x >>> 0;\n\n if (asUint === 0) {\n return 32;\n }\n\n return 31 - (log(asUint) / LN2 | 0) | 0;\n}\n\n// If those values are changed that package should be rebuilt and redeployed.\n\nvar TotalLanes = 31;\nvar NoLanes =\n/* */\n0;\nvar NoLane =\n/* */\n0;\nvar SyncLane =\n/* */\n1;\nvar InputContinuousHydrationLane =\n/* */\n2;\nvar InputContinuousLane =\n/* */\n4;\nvar DefaultHydrationLane =\n/* */\n8;\nvar DefaultLane =\n/* */\n16;\nvar TransitionHydrationLane =\n/* */\n32;\nvar TransitionLanes =\n/* */\n4194240;\nvar TransitionLane1 =\n/* */\n64;\nvar TransitionLane2 =\n/* */\n128;\nvar TransitionLane3 =\n/* */\n256;\nvar TransitionLane4 =\n/* */\n512;\nvar TransitionLane5 =\n/* */\n1024;\nvar TransitionLane6 =\n/* */\n2048;\nvar TransitionLane7 =\n/* */\n4096;\nvar TransitionLane8 =\n/* */\n8192;\nvar TransitionLane9 =\n/* */\n16384;\nvar TransitionLane10 =\n/* */\n32768;\nvar TransitionLane11 =\n/* */\n65536;\nvar TransitionLane12 =\n/* */\n131072;\nvar TransitionLane13 =\n/* */\n262144;\nvar TransitionLane14 =\n/* */\n524288;\nvar TransitionLane15 =\n/* */\n1048576;\nvar TransitionLane16 =\n/* */\n2097152;\nvar RetryLanes =\n/* */\n130023424;\nvar RetryLane1 =\n/* */\n4194304;\nvar RetryLane2 =\n/* */\n8388608;\nvar RetryLane3 =\n/* */\n16777216;\nvar RetryLane4 =\n/* */\n33554432;\nvar RetryLane5 =\n/* */\n67108864;\nvar SomeRetryLane = RetryLane1;\nvar SelectiveHydrationLane =\n/* */\n134217728;\nvar NonIdleLanes =\n/* */\n268435455;\nvar IdleHydrationLane =\n/* */\n268435456;\nvar IdleLane =\n/* */\n536870912;\nvar OffscreenLane =\n/* */\n1073741824; // This function is used for the experimental timeline (react-devtools-timeline)\n// It should be kept in sync with the Lanes values above.\n\nfunction getLabelForLane(lane) {\n {\n if (lane & SyncLane) {\n return 'Sync';\n }\n\n if (lane & InputContinuousHydrationLane) {\n return 'InputContinuousHydration';\n }\n\n if (lane & InputContinuousLane) {\n return 'InputContinuous';\n }\n\n if (lane & DefaultHydrationLane) {\n return 'DefaultHydration';\n }\n\n if (lane & DefaultLane) {\n return 'Default';\n }\n\n if (lane & TransitionHydrationLane) {\n return 'TransitionHydration';\n }\n\n if (lane & TransitionLanes) {\n return 'Transition';\n }\n\n if (lane & RetryLanes) {\n return 'Retry';\n }\n\n if (lane & SelectiveHydrationLane) {\n return 'SelectiveHydration';\n }\n\n if (lane & IdleHydrationLane) {\n return 'IdleHydration';\n }\n\n if (lane & IdleLane) {\n return 'Idle';\n }\n\n if (lane & OffscreenLane) {\n return 'Offscreen';\n }\n }\n}\nvar NoTimestamp = -1;\nvar nextTransitionLane = TransitionLane1;\nvar nextRetryLane = RetryLane1;\n\nfunction getHighestPriorityLanes(lanes) {\n switch (getHighestPriorityLane(lanes)) {\n case SyncLane:\n return SyncLane;\n\n case InputContinuousHydrationLane:\n return InputContinuousHydrationLane;\n\n case InputContinuousLane:\n return InputContinuousLane;\n\n case DefaultHydrationLane:\n return DefaultHydrationLane;\n\n case DefaultLane:\n return DefaultLane;\n\n case TransitionHydrationLane:\n return TransitionHydrationLane;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return lanes & TransitionLanes;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n return lanes & RetryLanes;\n\n case SelectiveHydrationLane:\n return SelectiveHydrationLane;\n\n case IdleHydrationLane:\n return IdleHydrationLane;\n\n case IdleLane:\n return IdleLane;\n\n case OffscreenLane:\n return OffscreenLane;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n } // This shouldn't be reachable, but as a fallback, return the entire bitmask.\n\n\n return lanes;\n }\n}\n\nfunction getNextLanes(root, wipLanes) {\n // Early bailout if there's no pending work left.\n var pendingLanes = root.pendingLanes;\n\n if (pendingLanes === NoLanes) {\n return NoLanes;\n }\n\n var nextLanes = NoLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes; // Do not work on any idle work until all the non-idle work has finished,\n // even if the work is suspended.\n\n var nonIdlePendingLanes = pendingLanes & NonIdleLanes;\n\n if (nonIdlePendingLanes !== NoLanes) {\n var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes;\n\n if (nonIdleUnblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes);\n } else {\n var nonIdlePingedLanes = nonIdlePendingLanes & pingedLanes;\n\n if (nonIdlePingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdlePingedLanes);\n }\n }\n } else {\n // The only remaining work is Idle.\n var unblockedLanes = pendingLanes & ~suspendedLanes;\n\n if (unblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(unblockedLanes);\n } else {\n if (pingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(pingedLanes);\n }\n }\n }\n\n if (nextLanes === NoLanes) {\n // This should only be reachable if we're suspended\n // TODO: Consider warning in this path if a fallback timer is not scheduled.\n return NoLanes;\n } // If we're already in the middle of a render, switching lanes will interrupt\n // it and we'll lose our progress. We should only do this if the new lanes are\n // higher priority.\n\n\n if (wipLanes !== NoLanes && wipLanes !== nextLanes && // If we already suspended with a delay, then interrupting is fine. Don't\n // bother waiting until the root is complete.\n (wipLanes & suspendedLanes) === NoLanes) {\n var nextLane = getHighestPriorityLane(nextLanes);\n var wipLane = getHighestPriorityLane(wipLanes);\n\n if ( // Tests whether the next lane is equal or lower priority than the wip\n // one. This works because the bits decrease in priority as you go left.\n nextLane >= wipLane || // Default priority updates should not interrupt transition updates. The\n // only difference between default updates and transition updates is that\n // default updates do not support refresh transitions.\n nextLane === DefaultLane && (wipLane & TransitionLanes) !== NoLanes) {\n // Keep working on the existing in-progress tree. Do not interrupt.\n return wipLanes;\n }\n }\n\n if ((nextLanes & InputContinuousLane) !== NoLanes) {\n // When updates are sync by default, we entangle continuous priority updates\n // and default updates, so they render in the same batch. The only reason\n // they use separate lanes is because continuous updates should interrupt\n // transitions, but default updates should not.\n nextLanes |= pendingLanes & DefaultLane;\n } // Check for entangled lanes and add them to the batch.\n //\n // A lane is said to be entangled with another when it's not allowed to render\n // in a batch that does not also include the other lane. Typically we do this\n // when multiple updates have the same source, and we only want to respond to\n // the most recent event from that source.\n //\n // Note that we apply entanglements *after* checking for partial work above.\n // This means that if a lane is entangled during an interleaved event while\n // it's already rendering, we won't interrupt it. This is intentional, since\n // entanglement is usually \"best effort\": we'll try our best to render the\n // lanes in the same batch, but it's not worth throwing out partially\n // completed work in order to do it.\n // TODO: Reconsider this. The counter-argument is that the partial work\n // represents an intermediate state, which we don't want to show to the user.\n // And by spending extra time finishing it, we're increasing the amount of\n // time it takes to show the final state, which is what they are actually\n // waiting for.\n //\n // For those exceptions where entanglement is semantically important, like\n // useMutableSource, we should ensure that there is no partial work at the\n // time we apply the entanglement.\n\n\n var entangledLanes = root.entangledLanes;\n\n if (entangledLanes !== NoLanes) {\n var entanglements = root.entanglements;\n var lanes = nextLanes & entangledLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n nextLanes |= entanglements[index];\n lanes &= ~lane;\n }\n }\n\n return nextLanes;\n}\nfunction getMostRecentEventTime(root, lanes) {\n var eventTimes = root.eventTimes;\n var mostRecentEventTime = NoTimestamp;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var eventTime = eventTimes[index];\n\n if (eventTime > mostRecentEventTime) {\n mostRecentEventTime = eventTime;\n }\n\n lanes &= ~lane;\n }\n\n return mostRecentEventTime;\n}\n\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case SyncLane:\n case InputContinuousHydrationLane:\n case InputContinuousLane:\n // User interactions should expire slightly more quickly.\n //\n // NOTE: This is set to the corresponding constant as in Scheduler.js.\n // When we made it larger, a product metric in www regressed, suggesting\n // there's a user interaction that's being starved by a series of\n // synchronous updates. If that theory is correct, the proper solution is\n // to fix the starvation. However, this scenario supports the idea that\n // expiration times are an important safeguard when starvation\n // does happen.\n return currentTime + 250;\n\n case DefaultHydrationLane:\n case DefaultLane:\n case TransitionHydrationLane:\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return currentTime + 5000;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n // TODO: Retries should be allowed to expire if they are CPU bound for\n // too long, but when I made this change it caused a spike in browser\n // crashes. There must be some other underlying bug; not super urgent but\n // ideally should figure out why and fix it. Unfortunately we don't have\n // a repro for the crashes, only detected via production metrics.\n return NoTimestamp;\n\n case SelectiveHydrationLane:\n case IdleHydrationLane:\n case IdleLane:\n case OffscreenLane:\n // Anything idle priority or lower should never expire.\n return NoTimestamp;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n }\n\n return NoTimestamp;\n }\n}\n\nfunction markStarvedLanesAsExpired(root, currentTime) {\n // TODO: This gets called every time we yield. We can optimize by storing\n // the earliest expiration time on the root. Then use that to quickly bail out\n // of this function.\n var pendingLanes = root.pendingLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes;\n var expirationTimes = root.expirationTimes; // Iterate through the pending lanes and check if we've reached their\n // expiration time. If so, we'll assume the update is being starved and mark\n // it as expired to force it to finish.\n\n var lanes = pendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var expirationTime = expirationTimes[index];\n\n if (expirationTime === NoTimestamp) {\n // Found a pending lane with no expiration time. If it's not suspended, or\n // if it's pinged, assume it's CPU-bound. Compute a new expiration time\n // using the current time.\n if ((lane & suspendedLanes) === NoLanes || (lane & pingedLanes) !== NoLanes) {\n // Assumes timestamps are monotonically increasing.\n expirationTimes[index] = computeExpirationTime(lane, currentTime);\n }\n } else if (expirationTime <= currentTime) {\n // This lane expired\n root.expiredLanes |= lane;\n }\n\n lanes &= ~lane;\n }\n} // This returns the highest priority pending lanes regardless of whether they\n// are suspended.\n\nfunction getHighestPriorityPendingLanes(root) {\n return getHighestPriorityLanes(root.pendingLanes);\n}\nfunction getLanesToRetrySynchronouslyOnError(root) {\n var everythingButOffscreen = root.pendingLanes & ~OffscreenLane;\n\n if (everythingButOffscreen !== NoLanes) {\n return everythingButOffscreen;\n }\n\n if (everythingButOffscreen & OffscreenLane) {\n return OffscreenLane;\n }\n\n return NoLanes;\n}\nfunction includesSyncLane(lanes) {\n return (lanes & SyncLane) !== NoLanes;\n}\nfunction includesNonIdleWork(lanes) {\n return (lanes & NonIdleLanes) !== NoLanes;\n}\nfunction includesOnlyRetries(lanes) {\n return (lanes & RetryLanes) === lanes;\n}\nfunction includesOnlyNonUrgentLanes(lanes) {\n var UrgentLanes = SyncLane | InputContinuousLane | DefaultLane;\n return (lanes & UrgentLanes) === NoLanes;\n}\nfunction includesOnlyTransitions(lanes) {\n return (lanes & TransitionLanes) === lanes;\n}\nfunction includesBlockingLane(root, lanes) {\n\n var SyncDefaultLanes = InputContinuousHydrationLane | InputContinuousLane | DefaultHydrationLane | DefaultLane;\n return (lanes & SyncDefaultLanes) !== NoLanes;\n}\nfunction includesExpiredLane(root, lanes) {\n // This is a separate check from includesBlockingLane because a lane can\n // expire after a render has already started.\n return (lanes & root.expiredLanes) !== NoLanes;\n}\nfunction isTransitionLane(lane) {\n return (lane & TransitionLanes) !== NoLanes;\n}\nfunction claimNextTransitionLane() {\n // Cycle through the lanes, assigning each new transition to the next lane.\n // In most cases, this means every transition gets its own lane, until we\n // run out of lanes and cycle back to the beginning.\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n\n if ((nextTransitionLane & TransitionLanes) === NoLanes) {\n nextTransitionLane = TransitionLane1;\n }\n\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n\n if ((nextRetryLane & RetryLanes) === NoLanes) {\n nextRetryLane = RetryLane1;\n }\n\n return lane;\n}\nfunction getHighestPriorityLane(lanes) {\n return lanes & -lanes;\n}\nfunction pickArbitraryLane(lanes) {\n // This wrapper function gets inlined. Only exists so to communicate that it\n // doesn't matter which bit is selected; you can pick any bit without\n // affecting the algorithms where its used. Here I'm using\n // getHighestPriorityLane because it requires the fewest operations.\n return getHighestPriorityLane(lanes);\n}\n\nfunction pickArbitraryLaneIndex(lanes) {\n return 31 - clz32(lanes);\n}\n\nfunction laneToIndex(lane) {\n return pickArbitraryLaneIndex(lane);\n}\n\nfunction includesSomeLane(a, b) {\n return (a & b) !== NoLanes;\n}\nfunction isSubsetOfLanes(set, subset) {\n return (set & subset) === subset;\n}\nfunction mergeLanes(a, b) {\n return a | b;\n}\nfunction removeLanes(set, subset) {\n return set & ~subset;\n}\nfunction intersectLanes(a, b) {\n return a & b;\n} // Seems redundant, but it changes the type from a single lane (used for\n// updates) to a group of lanes (used for flushing work).\n\nfunction laneToLanes(lane) {\n return lane;\n}\nfunction higherPriorityLane(a, b) {\n // This works because the bit ranges decrease in priority as you go left.\n return a !== NoLane && a < b ? a : b;\n}\nfunction createLaneMap(initial) {\n // Intentionally pushing one by one.\n // https://v8.dev/blog/elements-kinds#avoid-creating-holes\n var laneMap = [];\n\n for (var i = 0; i < TotalLanes; i++) {\n laneMap.push(initial);\n }\n\n return laneMap;\n}\nfunction markRootUpdated(root, updateLane, eventTime) {\n root.pendingLanes |= updateLane; // If there are any suspended transitions, it's possible this new update\n // could unblock them. Clear the suspended lanes so that we can try rendering\n // them again.\n //\n // TODO: We really only need to unsuspend only lanes that are in the\n // `subtreeLanes` of the updated fiber, or the update lanes of the return\n // path. This would exclude suspended updates in an unrelated sibling tree,\n // since there's no way for this update to unblock it.\n //\n // We don't do this if the incoming update is idle, because we never process\n // idle updates until after all the regular updates have finished; there's no\n // way it could unblock a transition.\n\n if (updateLane !== IdleLane) {\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n }\n\n var eventTimes = root.eventTimes;\n var index = laneToIndex(updateLane); // We can always overwrite an existing timestamp because we prefer the most\n // recent event, and we assume time is monotonically increasing.\n\n eventTimes[index] = eventTime;\n}\nfunction markRootSuspended(root, suspendedLanes) {\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes; // The suspended lanes are no longer CPU-bound. Clear their expiration times.\n\n var expirationTimes = root.expirationTimes;\n var lanes = suspendedLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootPinged(root, pingedLanes, eventTime) {\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n}\nfunction markRootFinished(root, remainingLanes) {\n var noLongerPendingLanes = root.pendingLanes & ~remainingLanes;\n root.pendingLanes = remainingLanes; // Let's try everything again\n\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n root.expiredLanes &= remainingLanes;\n root.mutableReadLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n var entanglements = root.entanglements;\n var eventTimes = root.eventTimes;\n var expirationTimes = root.expirationTimes; // Clear the lanes that no longer have pending work\n\n var lanes = noLongerPendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n entanglements[index] = NoLanes;\n eventTimes[index] = NoTimestamp;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootEntangled(root, entangledLanes) {\n // In addition to entangling each of the given lanes with each other, we also\n // have to consider _transitive_ entanglements. For each lane that is already\n // entangled with *any* of the given lanes, that lane is now transitively\n // entangled with *all* the given lanes.\n //\n // Translated: If C is entangled with A, then entangling A with B also\n // entangles C with B.\n //\n // If this is hard to grasp, it might help to intentionally break this\n // function and look at the tests that fail in ReactTransition-test.js. Try\n // commenting out one of the conditions below.\n var rootEntangledLanes = root.entangledLanes |= entangledLanes;\n var entanglements = root.entanglements;\n var lanes = rootEntangledLanes;\n\n while (lanes) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n\n if ( // Is this one of the newly entangled lanes?\n lane & entangledLanes | // Is this lane transitively entangled with the newly entangled lanes?\n entanglements[index] & entangledLanes) {\n entanglements[index] |= entangledLanes;\n }\n\n lanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = getHighestPriorityLane(renderLanes);\n var lane;\n\n switch (renderLane) {\n case InputContinuousLane:\n lane = InputContinuousHydrationLane;\n break;\n\n case DefaultLane:\n lane = DefaultHydrationLane;\n break;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n lane = TransitionHydrationLane;\n break;\n\n case IdleLane:\n lane = IdleHydrationLane;\n break;\n\n default:\n // Everything else is already either a hydration lane, or shouldn't\n // be retried at a hydration lane.\n lane = NoLane;\n break;\n } // Check if the lane we chose is suspended. If so, that indicates that we\n // already attempted and failed to hydrate at that level. Also check if we're\n // already rendering that lane, which is rare but could happen.\n\n\n if ((lane & (root.suspendedLanes | renderLanes)) !== NoLane) {\n // Give up trying to hydrate and fall back to client render.\n return NoLane;\n }\n\n return lane;\n}\nfunction addFiberToLanesMap(root, fiber, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n updaters.add(fiber);\n lanes &= ~lane;\n }\n}\nfunction movePendingFibersToMemoized(root, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n var memoizedUpdaters = root.memoizedUpdaters;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n\n if (updaters.size > 0) {\n updaters.forEach(function (fiber) {\n var alternate = fiber.alternate;\n\n if (alternate === null || !memoizedUpdaters.has(alternate)) {\n memoizedUpdaters.add(fiber);\n }\n });\n updaters.clear();\n }\n\n lanes &= ~lane;\n }\n}\nfunction getTransitionsForLanes(root, lanes) {\n {\n return null;\n }\n}\n\nvar DiscreteEventPriority = SyncLane;\nvar ContinuousEventPriority = InputContinuousLane;\nvar DefaultEventPriority = DefaultLane;\nvar IdleEventPriority = IdleLane;\nvar currentUpdatePriority = NoLane;\nfunction getCurrentUpdatePriority() {\n return currentUpdatePriority;\n}\nfunction setCurrentUpdatePriority(newPriority) {\n currentUpdatePriority = newPriority;\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = currentUpdatePriority;\n\n try {\n currentUpdatePriority = priority;\n return fn();\n } finally {\n currentUpdatePriority = previousPriority;\n }\n}\nfunction higherEventPriority(a, b) {\n return a !== 0 && a < b ? a : b;\n}\nfunction lowerEventPriority(a, b) {\n return a === 0 || a > b ? a : b;\n}\nfunction isHigherEventPriority(a, b) {\n return a !== 0 && a < b;\n}\nfunction lanesToEventPriority(lanes) {\n var lane = getHighestPriorityLane(lanes);\n\n if (!isHigherEventPriority(DiscreteEventPriority, lane)) {\n return DiscreteEventPriority;\n }\n\n if (!isHigherEventPriority(ContinuousEventPriority, lane)) {\n return ContinuousEventPriority;\n }\n\n if (includesNonIdleWork(lane)) {\n return DefaultEventPriority;\n }\n\n return IdleEventPriority;\n}\n\n// This is imported by the event replaying implementation in React DOM. It's\n// in a separate file to break a circular dependency between the renderer and\n// the reconciler.\nfunction isRootDehydrated(root) {\n var currentState = root.current.memoizedState;\n return currentState.isDehydrated;\n}\n\nvar _attemptSynchronousHydration;\n\nfunction setAttemptSynchronousHydration(fn) {\n _attemptSynchronousHydration = fn;\n}\nfunction attemptSynchronousHydration(fiber) {\n _attemptSynchronousHydration(fiber);\n}\nvar attemptContinuousHydration;\nfunction setAttemptContinuousHydration(fn) {\n attemptContinuousHydration = fn;\n}\nvar attemptHydrationAtCurrentPriority;\nfunction setAttemptHydrationAtCurrentPriority(fn) {\n attemptHydrationAtCurrentPriority = fn;\n}\nvar getCurrentUpdatePriority$1;\nfunction setGetCurrentUpdatePriority(fn) {\n getCurrentUpdatePriority$1 = fn;\n}\nvar attemptHydrationAtPriority;\nfunction setAttemptHydrationAtPriority(fn) {\n attemptHydrationAtPriority = fn;\n} // TODO: Upgrade this definition once we're on a newer version of Flow that\n// has this definition built-in.\n\nvar hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed.\n\nvar queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout.\n// if the last target was dehydrated.\n\nvar queuedFocus = null;\nvar queuedDrag = null;\nvar queuedMouse = null; // For pointer events there can be one latest event per pointerId.\n\nvar queuedPointers = new Map();\nvar queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too.\n\nvar queuedExplicitHydrationTargets = [];\nvar discreteReplayableEvents = ['mousedown', 'mouseup', 'touchcancel', 'touchend', 'touchstart', 'auxclick', 'dblclick', 'pointercancel', 'pointerdown', 'pointerup', 'dragend', 'dragstart', 'drop', 'compositionend', 'compositionstart', 'keydown', 'keypress', 'keyup', 'input', 'textInput', // Intentionally camelCase\n'copy', 'cut', 'paste', 'click', 'change', 'contextmenu', 'reset', 'submit'];\nfunction isDiscreteEventThatRequiresHydration(eventType) {\n return discreteReplayableEvents.indexOf(eventType) > -1;\n}\n\nfunction createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n return {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n };\n}\n\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'focusin':\n case 'focusout':\n queuedFocus = null;\n break;\n\n case 'dragenter':\n case 'dragleave':\n queuedDrag = null;\n break;\n\n case 'mouseover':\n case 'mouseout':\n queuedMouse = null;\n break;\n\n case 'pointerover':\n case 'pointerout':\n {\n var pointerId = nativeEvent.pointerId;\n queuedPointers.delete(pointerId);\n break;\n }\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n {\n var _pointerId = nativeEvent.pointerId;\n queuedPointerCaptures.delete(_pointerId);\n break;\n }\n }\n}\n\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) {\n var queuedEvent = createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn !== null) {\n var _fiber2 = getInstanceFromNode(blockedOn);\n\n if (_fiber2 !== null) {\n // Attempt to increase the priority of this target.\n attemptContinuousHydration(_fiber2);\n }\n }\n\n return queuedEvent;\n } // If we have already queued this exact event, then it's because\n // the different event systems have different DOM event listeners.\n // We can accumulate the flags, and the targetContainers, and\n // store a single event to be replayed.\n\n\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n var targetContainers = existingQueuedEvent.targetContainers;\n\n if (targetContainer !== null && targetContainers.indexOf(targetContainer) === -1) {\n targetContainers.push(targetContainer);\n }\n\n return existingQueuedEvent;\n}\n\nfunction queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // These set relatedTarget to null because the replayed event will be treated as if we\n // moved from outside the window (no target) onto the target once it hydrates.\n // Instead of mutating we could clone the event.\n switch (domEventName) {\n case 'focusin':\n {\n var focusEvent = nativeEvent;\n queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, domEventName, eventSystemFlags, targetContainer, focusEvent);\n return true;\n }\n\n case 'dragenter':\n {\n var dragEvent = nativeEvent;\n queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, domEventName, eventSystemFlags, targetContainer, dragEvent);\n return true;\n }\n\n case 'mouseover':\n {\n var mouseEvent = nativeEvent;\n queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, domEventName, eventSystemFlags, targetContainer, mouseEvent);\n return true;\n }\n\n case 'pointerover':\n {\n var pointerEvent = nativeEvent;\n var pointerId = pointerEvent.pointerId;\n queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, pointerEvent));\n return true;\n }\n\n case 'gotpointercapture':\n {\n var _pointerEvent = nativeEvent;\n var _pointerId2 = _pointerEvent.pointerId;\n queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, _pointerEvent));\n return true;\n }\n }\n\n return false;\n} // Check if this target is unblocked. Returns true if it's unblocked.\n\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n // TODO: This function shares a lot of logic with findInstanceBlockingEvent.\n // Try to unify them. It's a bit tricky since it would require two return\n // values.\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted !== null) {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // We're blocked on hydrating this boundary.\n // Increase its priority.\n queuedTarget.blockedOn = instance;\n attemptHydrationAtPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of\n // a root other than sync.\n\n return;\n }\n }\n }\n }\n\n queuedTarget.blockedOn = null;\n}\n\nfunction queueExplicitHydrationTarget(target) {\n // TODO: This will read the priority if it's dispatched by the React\n // event system but not native events. Should read window.event.type, like\n // we do for updates (getCurrentEventPriority).\n var updatePriority = getCurrentUpdatePriority$1();\n var queuedTarget = {\n blockedOn: null,\n target: target,\n priority: updatePriority\n };\n var i = 0;\n\n for (; i < queuedExplicitHydrationTargets.length; i++) {\n // Stop once we hit the first target with lower priority than\n if (!isHigherEventPriority(updatePriority, queuedExplicitHydrationTargets[i].priority)) {\n break;\n }\n }\n\n queuedExplicitHydrationTargets.splice(i, 0, queuedTarget);\n\n if (i === 0) {\n attemptExplicitHydrationTarget(queuedTarget);\n }\n}\n\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (queuedEvent.blockedOn !== null) {\n return false;\n }\n\n var targetContainers = queuedEvent.targetContainers;\n\n while (targetContainers.length > 0) {\n var targetContainer = targetContainers[0];\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.domEventName, queuedEvent.eventSystemFlags, targetContainer, queuedEvent.nativeEvent);\n\n if (nextBlockedOn === null) {\n {\n var nativeEvent = queuedEvent.nativeEvent;\n var nativeEventClone = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n setReplayingEvent(nativeEventClone);\n nativeEvent.target.dispatchEvent(nativeEventClone);\n resetReplayingEvent();\n }\n } else {\n // We're still blocked. Try again later.\n var _fiber3 = getInstanceFromNode(nextBlockedOn);\n\n if (_fiber3 !== null) {\n attemptContinuousHydration(_fiber3);\n }\n\n queuedEvent.blockedOn = nextBlockedOn;\n return false;\n } // This target container was successfully dispatched. Try the next.\n\n\n targetContainers.shift();\n }\n\n return true;\n}\n\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n if (attemptReplayContinuousQueuedEvent(queuedEvent)) {\n map.delete(key);\n }\n}\n\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = false;\n\n\n if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) {\n queuedFocus = null;\n }\n\n if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) {\n queuedDrag = null;\n }\n\n if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) {\n queuedMouse = null;\n }\n\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\n\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n\n if (!hasScheduledReplayAttempt) {\n hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are\n // now unblocked. This first might not actually be unblocked yet.\n // We could check it early to avoid scheduling an unnecessary callback.\n\n Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents);\n }\n }\n}\n\nfunction retryIfBlockedOn(unblocked) {\n // Mark anything that was blocked on this as no longer blocked\n // and eligible for a replay.\n if (queuedDiscreteEvents.length > 0) {\n scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's\n // worth it because we expect very few discrete events to queue up and once\n // we are actually fully unblocked it will be fast to replay them.\n\n for (var i = 1; i < queuedDiscreteEvents.length; i++) {\n var queuedEvent = queuedDiscreteEvents[i];\n\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n }\n }\n }\n\n if (queuedFocus !== null) {\n scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n }\n\n if (queuedDrag !== null) {\n scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n }\n\n if (queuedMouse !== null) {\n scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n }\n\n var unblock = function (queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n };\n\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n\n for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) {\n var queuedTarget = queuedExplicitHydrationTargets[_i];\n\n if (queuedTarget.blockedOn === unblocked) {\n queuedTarget.blockedOn = null;\n }\n }\n\n while (queuedExplicitHydrationTargets.length > 0) {\n var nextExplicitTarget = queuedExplicitHydrationTargets[0];\n\n if (nextExplicitTarget.blockedOn !== null) {\n // We're still blocked.\n break;\n } else {\n attemptExplicitHydrationTarget(nextExplicitTarget);\n\n if (nextExplicitTarget.blockedOn === null) {\n // We're unblocked.\n queuedExplicitHydrationTargets.shift();\n }\n }\n }\n}\n\nvar ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig; // TODO: can we stop exporting these?\n\nvar _enabled = true; // This is exported in FB builds for use by legacy FB layer infra.\n// We'd like to remove this but it's not clear if this is safe.\n\nfunction setEnabled(enabled) {\n _enabled = !!enabled;\n}\nfunction isEnabled() {\n return _enabled;\n}\nfunction createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags) {\n var eventPriority = getEventPriority(domEventName);\n var listenerWrapper;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n listenerWrapper = dispatchDiscreteEvent;\n break;\n\n case ContinuousEventPriority:\n listenerWrapper = dispatchContinuousEvent;\n break;\n\n case DefaultEventPriority:\n default:\n listenerWrapper = dispatchEvent;\n break;\n }\n\n return listenerWrapper.bind(null, domEventName, eventSystemFlags, targetContainer);\n}\n\nfunction dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(DiscreteEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(ContinuousEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (!_enabled) {\n return;\n }\n\n {\n dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n }\n}\n\nfunction dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n var blockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n clearIfContinuousEvent(domEventName, nativeEvent);\n return;\n }\n\n if (queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent)) {\n nativeEvent.stopPropagation();\n return;\n } // We need to clear only if we didn't queue because\n // queueing is accumulative.\n\n\n clearIfContinuousEvent(domEventName, nativeEvent);\n\n if (eventSystemFlags & IS_CAPTURE_PHASE && isDiscreteEventThatRequiresHydration(domEventName)) {\n while (blockedOn !== null) {\n var fiber = getInstanceFromNode(blockedOn);\n\n if (fiber !== null) {\n attemptSynchronousHydration(fiber);\n }\n\n var nextBlockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (nextBlockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n }\n\n if (nextBlockedOn === blockedOn) {\n break;\n }\n\n blockedOn = nextBlockedOn;\n }\n\n if (blockedOn !== null) {\n nativeEvent.stopPropagation();\n }\n\n return;\n } // This is not replayable so we'll invoke it but without a target,\n // in case the event system needs to trace it.\n\n\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, null, targetContainer);\n}\n\nvar return_targetInst = null; // Returns a SuspenseInstance or Container if it's blocked.\n// The return_targetInst field above is conceptually part of the return value.\n\nfunction findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // TODO: Warn if _enabled is false.\n return_targetInst = null;\n var nativeEventTarget = getEventTarget(nativeEvent);\n var targetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted === null) {\n // This tree has been unmounted already. Dispatch without a target.\n targetInst = null;\n } else {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // Queue the event to be replayed later. Abort dispatching since we\n // don't want this event dispatched twice through the event system.\n // TODO: If this is the first discrete event in the queue. Schedule an increased\n // priority for this boundary.\n return instance;\n } // This shouldn't happen, something went wrong but to avoid blocking\n // the whole system, dispatch the event without a target.\n // TODO: Warn.\n\n\n targetInst = null;\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n // If this happens during a replay something went wrong and it might block\n // the whole system.\n return getContainerFromFiber(nearestMounted);\n }\n\n targetInst = null;\n } else if (nearestMounted !== targetInst) {\n // If we get an event (ex: img onload) before committing that\n // component's mount, ignore it for now (that is, treat it as if it was an\n // event on a non-React tree). We might also consider queueing events and\n // dispatching them after the mount.\n targetInst = null;\n }\n }\n }\n\n return_targetInst = targetInst; // We're not blocked on anything.\n\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n // Used by SimpleEventPlugin:\n case 'cancel':\n case 'click':\n case 'close':\n case 'contextmenu':\n case 'copy':\n case 'cut':\n case 'auxclick':\n case 'dblclick':\n case 'dragend':\n case 'dragstart':\n case 'drop':\n case 'focusin':\n case 'focusout':\n case 'input':\n case 'invalid':\n case 'keydown':\n case 'keypress':\n case 'keyup':\n case 'mousedown':\n case 'mouseup':\n case 'paste':\n case 'pause':\n case 'play':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointerup':\n case 'ratechange':\n case 'reset':\n case 'resize':\n case 'seeked':\n case 'submit':\n case 'touchcancel':\n case 'touchend':\n case 'touchstart':\n case 'volumechange': // Used by polyfills:\n // eslint-disable-next-line no-fallthrough\n\n case 'change':\n case 'selectionchange':\n case 'textInput':\n case 'compositionstart':\n case 'compositionend':\n case 'compositionupdate': // Only enableCreateEventHandleAPI:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeblur':\n case 'afterblur': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeinput':\n case 'blur':\n case 'fullscreenchange':\n case 'focus':\n case 'hashchange':\n case 'popstate':\n case 'select':\n case 'selectstart':\n return DiscreteEventPriority;\n\n case 'drag':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'mousemove':\n case 'mouseout':\n case 'mouseover':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'scroll':\n case 'toggle':\n case 'touchmove':\n case 'wheel': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'mouseenter':\n case 'mouseleave':\n case 'pointerenter':\n case 'pointerleave':\n return ContinuousEventPriority;\n\n case 'message':\n {\n // We might be in the Scheduler callback.\n // Eventually this mechanism will be replaced by a check\n // of the current priority on the native scheduler.\n var schedulerPriority = getCurrentPriorityLevel();\n\n switch (schedulerPriority) {\n case ImmediatePriority:\n return DiscreteEventPriority;\n\n case UserBlockingPriority:\n return ContinuousEventPriority;\n\n case NormalPriority:\n case LowPriority:\n // TODO: Handle LowSchedulerPriority, somehow. Maybe the same lane as hydration.\n return DefaultEventPriority;\n\n case IdlePriority:\n return IdleEventPriority;\n\n default:\n return DefaultEventPriority;\n }\n }\n\n default:\n return DefaultEventPriority;\n }\n}\n\nfunction addEventBubbleListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, false);\n return listener;\n}\nfunction addEventCaptureListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, true);\n return listener;\n}\nfunction addEventCaptureListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n capture: true,\n passive: passive\n });\n return listener;\n}\nfunction addEventBubbleListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n passive: passive\n });\n return listener;\n}\n\n/**\n * These variables store information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n *\n */\nvar root = null;\nvar startText = null;\nvar fallbackText = null;\nfunction initialize(nativeEventTarget) {\n root = nativeEventTarget;\n startText = getText();\n return true;\n}\nfunction reset() {\n root = null;\n startText = null;\n fallbackText = null;\n}\nfunction getData() {\n if (fallbackText) {\n return fallbackText;\n }\n\n var start;\n var startValue = startText;\n var startLength = startValue.length;\n var end;\n var endValue = getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n fallbackText = endValue.slice(start, sliceTail);\n return fallbackText;\n}\nfunction getText() {\n if ('value' in root) {\n return root.value;\n }\n\n return root.textContent;\n}\n\n/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)\n // report Enter as charCode 10 when ctrl is pressed.\n\n\n if (charCode === 10) {\n charCode = 13;\n } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n\n\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nfunction functionThatReturnsTrue() {\n return true;\n}\n\nfunction functionThatReturnsFalse() {\n return false;\n} // This is intentionally a factory so that we have different returned constructors.\n// If we had a single constructor, it would be megamorphic and engines would deopt.\n\n\nfunction createSyntheticEvent(Interface) {\n /**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n */\n function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n\n for (var _propName in Interface) {\n if (!Interface.hasOwnProperty(_propName)) {\n continue;\n }\n\n var normalize = Interface[_propName];\n\n if (normalize) {\n this[_propName] = normalize(nativeEvent);\n } else {\n this[_propName] = nativeEvent[_propName];\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n\n if (defaultPrevented) {\n this.isDefaultPrevented = functionThatReturnsTrue;\n } else {\n this.isDefaultPrevented = functionThatReturnsFalse;\n }\n\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.returnValue !== 'unknown') {\n event.returnValue = false;\n }\n\n this.isDefaultPrevented = functionThatReturnsTrue;\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.cancelBubble !== 'unknown') {\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = functionThatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {// Modern event system doesn't use pooling.\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n};\nvar SyntheticEvent = createSyntheticEvent(EventInterface);\n\nvar UIEventInterface = assign({}, EventInterface, {\n view: 0,\n detail: 0\n});\n\nvar SyntheticUIEvent = createSyntheticEvent(UIEventInterface);\nvar lastMovementX;\nvar lastMovementY;\nvar lastMouseEvent;\n\nfunction updateMouseMovementPolyfillState(event) {\n if (event !== lastMouseEvent) {\n if (lastMouseEvent && event.type === 'mousemove') {\n lastMovementX = event.screenX - lastMouseEvent.screenX;\n lastMovementY = event.screenY - lastMouseEvent.screenY;\n } else {\n lastMovementX = 0;\n lastMovementY = 0;\n }\n\n lastMouseEvent = event;\n }\n}\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n if (event.relatedTarget === undefined) return event.fromElement === event.srcElement ? event.toElement : event.fromElement;\n return event.relatedTarget;\n },\n movementX: function (event) {\n if ('movementX' in event) {\n return event.movementX;\n }\n\n updateMouseMovementPolyfillState(event);\n return lastMovementX;\n },\n movementY: function (event) {\n if ('movementY' in event) {\n return event.movementY;\n } // Don't need to call updateMouseMovementPolyfillState() here\n // because it's guaranteed to have already run when movementX\n // was copied.\n\n\n return lastMovementY;\n }\n});\n\nvar SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface);\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar DragEventInterface = assign({}, MouseEventInterface, {\n dataTransfer: 0\n});\n\nvar SyntheticDragEvent = createSyntheticEvent(DragEventInterface);\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar FocusEventInterface = assign({}, UIEventInterface, {\n relatedTarget: 0\n});\n\nvar SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n */\n\nvar AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\n\nvar ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n});\n\nvar SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\n\nvar CompositionEventInterface = assign({}, EventInterface, {\n data: 0\n});\n\nvar SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\n// Happens to share the same list for now.\n\nvar SyntheticInputEvent = SyntheticCompositionEvent;\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar normalizeKey = {\n Esc: 'Escape',\n Spacebar: ' ',\n Left: 'ArrowLeft',\n Up: 'ArrowUp',\n Right: 'ArrowRight',\n Down: 'ArrowDown',\n Del: 'Delete',\n Win: 'OS',\n Menu: 'ContextMenu',\n Apps: 'ContextMenu',\n Scroll: 'ScrollLock',\n MozPrintableKey: 'Unidentified'\n};\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar translateToKey = {\n '8': 'Backspace',\n '9': 'Tab',\n '12': 'Clear',\n '13': 'Enter',\n '16': 'Shift',\n '17': 'Control',\n '18': 'Alt',\n '19': 'Pause',\n '20': 'CapsLock',\n '27': 'Escape',\n '32': ' ',\n '33': 'PageUp',\n '34': 'PageDown',\n '35': 'End',\n '36': 'Home',\n '37': 'ArrowLeft',\n '38': 'ArrowUp',\n '39': 'ArrowRight',\n '40': 'ArrowDown',\n '45': 'Insert',\n '46': 'Delete',\n '112': 'F1',\n '113': 'F2',\n '114': 'F3',\n '115': 'F4',\n '116': 'F5',\n '117': 'F6',\n '118': 'F7',\n '119': 'F8',\n '120': 'F9',\n '121': 'F10',\n '122': 'F11',\n '123': 'F12',\n '144': 'NumLock',\n '145': 'ScrollLock',\n '224': 'Meta'\n};\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\n\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n\n if (key !== 'Unidentified') {\n return key;\n }\n } // Browser does not implement `key`, polyfill as much of it as we can.\n\n\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n\n return '';\n}\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\n\nvar modifierKeyToProp = {\n Alt: 'altKey',\n Control: 'ctrlKey',\n Meta: 'metaKey',\n Shift: 'shiftKey'\n}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support\n// getModifierState. If getModifierState is not supported, we map it to a set of\n// modifier keys exposed by the event. In this case, Lock-keys are not supported.\n\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: getEventKey,\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function (event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n return 0;\n },\n keyCode: function (event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n },\n which: function (event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n }\n});\n\nvar SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface);\n/**\n * @interface PointerEvent\n * @see http://www.w3.org/TR/pointerevents/\n */\n\nvar PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n});\n\nvar SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface);\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\n\nvar TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n});\n\nvar SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n */\n\nvar TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface);\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n },\n deltaY: function (event) {\n return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? -event.wheelDelta : 0;\n },\n deltaZ: 0,\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: 0\n});\n\nvar SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface);\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\n\nvar START_KEYCODE = 229;\nvar canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;\nvar documentMode = null;\n\nif (canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n} // Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\n\n\nvar canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\n\nvar useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\nfunction registerEvents() {\n registerTwoPhaseEvent('onBeforeInput', ['compositionend', 'keypress', 'textInput', 'paste']);\n registerTwoPhaseEvent('onCompositionEnd', ['compositionend', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionStart', ['compositionstart', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionUpdate', ['compositionupdate', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n} // Track whether we've ever handled a keypress on the space key.\n\n\nvar hasSpaceKeypress = false;\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\n\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n/**\n * Translate native top level events into event types.\n */\n\n\nfunction getCompositionEventType(domEventName) {\n switch (domEventName) {\n case 'compositionstart':\n return 'onCompositionStart';\n\n case 'compositionend':\n return 'onCompositionEnd';\n\n case 'compositionupdate':\n return 'onCompositionUpdate';\n }\n}\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n */\n\n\nfunction isFallbackCompositionStart(domEventName, nativeEvent) {\n return domEventName === 'keydown' && nativeEvent.keyCode === START_KEYCODE;\n}\n/**\n * Does our fallback mode think that this event is the end of composition?\n */\n\n\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'keyup':\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n\n case 'keydown':\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n\n case 'keypress':\n case 'mousedown':\n case 'focusout':\n // Events are not possible without cancelling IME.\n return true;\n\n default:\n return false;\n }\n}\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\n\n\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n\n return null;\n}\n/**\n * Check if a composition event was triggered by Korean IME.\n * Our fallback mode does not work well with IE's Korean IME,\n * so just use native composition events when Korean IME is used.\n * Although CompositionEvent.locale property is deprecated,\n * it is available in IE, where our fallback mode is enabled.\n *\n * @param {object} nativeEvent\n * @return {boolean}\n */\n\n\nfunction isUsingKoreanIME(nativeEvent) {\n return nativeEvent.locale === 'ko';\n} // Track the current IME composition status, if any.\n\n\nvar isComposing = false;\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\n\nfunction extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(domEventName);\n } else if (!isComposing) {\n if (isFallbackCompositionStart(domEventName, nativeEvent)) {\n eventType = 'onCompositionStart';\n }\n } else if (isFallbackCompositionEnd(domEventName, nativeEvent)) {\n eventType = 'onCompositionEnd';\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!isComposing && eventType === 'onCompositionStart') {\n isComposing = initialize(nativeEventTarget);\n } else if (eventType === 'onCompositionEnd') {\n if (isComposing) {\n fallbackData = getData();\n }\n }\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, eventType);\n\n if (listeners.length > 0) {\n var event = new SyntheticCompositionEvent(eventType, domEventName, null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n\n if (customData !== null) {\n event.data = customData;\n }\n }\n }\n}\n\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'compositionend':\n return getDataFromCustomEvent(nativeEvent);\n\n case 'keypress':\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case 'textInput':\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to ignore it.\n\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n */\n\n\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n // If composition event is available, we extract a string only at\n // compositionevent, otherwise extract it at fallback events.\n if (isComposing) {\n if (domEventName === 'compositionend' || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent)) {\n var chars = getData();\n reset();\n isComposing = false;\n return chars;\n }\n\n return null;\n }\n\n switch (domEventName) {\n case 'paste':\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n\n case 'keypress':\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (!isKeypressCommand(nativeEvent)) {\n // IE fires the `keypress` event when a user types an emoji via\n // Touch keyboard of Windows. In such a case, the `char` property\n // holds an emoji character like `\\uD83D\\uDE0A`. Because its length\n // is 2, the property `which` does not represent an emoji correctly.\n // In such a case, we directly return the `char` property instead of\n // using `which`.\n if (nativeEvent.char && nativeEvent.char.length > 1) {\n return nativeEvent.char;\n } else if (nativeEvent.which) {\n return String.fromCharCode(nativeEvent.which);\n }\n }\n\n return null;\n\n case 'compositionend':\n return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;\n\n default:\n return null;\n }\n}\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\n\n\nfunction extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(domEventName, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(domEventName, nativeEvent);\n } // If no characters are being inserted, no BeforeInput event should\n // be fired.\n\n\n if (!chars) {\n return null;\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, 'onBeforeInput');\n\n if (listeners.length > 0) {\n var event = new SyntheticInputEvent('onBeforeInput', 'beforeinput', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.data = chars;\n }\n}\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\n\n\nfunction extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n}\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\nvar supportedInputTypes = {\n color: true,\n date: true,\n datetime: true,\n 'datetime-local': true,\n email: true,\n month: true,\n number: true,\n password: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\n\nfunction isEventSupported(eventNameSuffix) {\n if (!canUseDOM) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n return isSupported;\n}\n\nfunction registerEvents$1() {\n registerTwoPhaseEvent('onChange', ['change', 'click', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'selectionchange']);\n}\n\nfunction createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) {\n // Flag this event loop as needing state restore.\n enqueueStateRestore(target);\n var listeners = accumulateTwoPhaseListeners(inst, 'onChange');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onChange', 'change', null, nativeEvent, target);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n}\n/**\n * For IE shims\n */\n\n\nvar activeElement = null;\nvar activeElementInst = null;\n/**\n * SECTION: handle `change` event\n */\n\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(dispatchQueue, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n\n batchedUpdates(runEventInBatch, dispatchQueue);\n}\n\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\n\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n\n if (updateValueIfChanged(targetNode)) {\n return targetInst;\n }\n}\n\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (domEventName === 'change') {\n return targetInst;\n }\n}\n/**\n * SECTION: handle `input` event\n */\n\n\nvar isInputEventSupported = false;\n\nif (canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);\n}\n/**\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\n\n\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n}\n/**\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\n\n\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n activeElement = null;\n activeElementInst = null;\n}\n/**\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\n\n\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n\n if (getInstIfValueChanged(activeElementInst)) {\n manualDispatchChangeEvent(nativeEvent);\n }\n}\n\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n if (domEventName === 'focusin') {\n // In IE9, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (domEventName === 'focusout') {\n stopWatchingForValueChange();\n }\n} // For IE8 and IE9.\n\n\nfunction getTargetInstForInputEventPolyfill(domEventName, targetInst) {\n if (domEventName === 'selectionchange' || domEventName === 'keyup' || domEventName === 'keydown') {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n return getInstIfValueChanged(activeElementInst);\n }\n}\n/**\n * SECTION: handle `click` event\n */\n\n\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (domEventName === 'click') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (domEventName === 'input' || domEventName === 'change') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction handleControlledInputBlur(node) {\n var state = node._wrapperState;\n\n if (!state || !state.controlled || node.type !== 'number') {\n return;\n }\n\n {\n // If controlled, assign the value attribute to the current value on blur\n setDefaultValue(node, 'number', node.value);\n }\n}\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\n\n\nfunction extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n var getTargetInstFunc, handleEventFunc;\n\n if (shouldUseChangeEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n handleEventFunc = handleEventsForInputEventPolyfill;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n }\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(domEventName, targetInst);\n\n if (inst) {\n createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, nativeEventTarget);\n return;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(domEventName, targetNode, targetInst);\n } // When blurring, set the value attribute for number inputs\n\n\n if (domEventName === 'focusout') {\n handleControlledInputBlur(targetNode);\n }\n}\n\nfunction registerEvents$2() {\n registerDirectEvent('onMouseEnter', ['mouseout', 'mouseover']);\n registerDirectEvent('onMouseLeave', ['mouseout', 'mouseover']);\n registerDirectEvent('onPointerEnter', ['pointerout', 'pointerover']);\n registerDirectEvent('onPointerLeave', ['pointerout', 'pointerover']);\n}\n/**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n\n\nfunction extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var isOverEvent = domEventName === 'mouseover' || domEventName === 'pointerover';\n var isOutEvent = domEventName === 'mouseout' || domEventName === 'pointerout';\n\n if (isOverEvent && !isReplayingEvent(nativeEvent)) {\n // If this is an over event with a target, we might have already dispatched\n // the event in the out event of the other target. If this is replayed,\n // then it's because we couldn't dispatch against this target previously\n // so we have to do it now instead.\n var related = nativeEvent.relatedTarget || nativeEvent.fromElement;\n\n if (related) {\n // If the related node is managed by React, we can assume that we have\n // already dispatched the corresponding events during its mouseout.\n if (getClosestInstanceFromNode(related) || isContainerMarkedAsRoot(related)) {\n return;\n }\n }\n }\n\n if (!isOutEvent && !isOverEvent) {\n // Must not be a mouse or pointer in or out - ignoring.\n return;\n }\n\n var win; // TODO: why is this nullable in the types but we read from it?\n\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n\n if (isOutEvent) {\n var _related = nativeEvent.relatedTarget || nativeEvent.toElement;\n\n from = targetInst;\n to = _related ? getClosestInstanceFromNode(_related) : null;\n\n if (to !== null) {\n var nearestMounted = getNearestMountedFiber(to);\n\n if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) {\n to = null;\n }\n }\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return;\n }\n\n var SyntheticEventCtor = SyntheticMouseEvent;\n var leaveEventType = 'onMouseLeave';\n var enterEventType = 'onMouseEnter';\n var eventTypePrefix = 'mouse';\n\n if (domEventName === 'pointerout' || domEventName === 'pointerover') {\n SyntheticEventCtor = SyntheticPointerEvent;\n leaveEventType = 'onPointerLeave';\n enterEventType = 'onPointerEnter';\n eventTypePrefix = 'pointer';\n }\n\n var fromNode = from == null ? win : getNodeFromInstance(from);\n var toNode = to == null ? win : getNodeFromInstance(to);\n var leave = new SyntheticEventCtor(leaveEventType, eventTypePrefix + 'leave', from, nativeEvent, nativeEventTarget);\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n var enter = null; // We should only process this nativeEvent if we are processing\n // the first ancestor. Next time, we will ignore the event.\n\n var nativeTargetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (nativeTargetInst === targetInst) {\n var enterEvent = new SyntheticEventCtor(enterEventType, eventTypePrefix + 'enter', to, nativeEvent, nativeEventTarget);\n enterEvent.target = toNode;\n enterEvent.relatedTarget = fromNode;\n enter = enterEvent;\n }\n\n accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leave, enter, from, to);\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\n\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\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 } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n var currentKey = keysA[i];\n\n if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\n\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n\n return node;\n}\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\n\n\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n\n node = node.parentNode;\n }\n}\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\n\n\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === TEXT_NODE) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\n/**\n * @param {DOMElement} outerNode\n * @return {?object}\n */\n\nfunction getOffsets(outerNode) {\n var ownerDocument = outerNode.ownerDocument;\n var win = ownerDocument && ownerDocument.defaultView || window;\n var selection = win.getSelection && win.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode,\n anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode,\n focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be \"anonymous divs\", e.g. the\n // up/down buttons on an <input type=\"number\">. Anonymous divs do not seem to\n // expose properties, triggering a \"Permission denied error\" if any of its\n // properties are accessed. The only seemingly possible way to avoid erroring\n // is to access a property that typically works for non-anonymous divs and\n // catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n\n try {\n /* eslint-disable no-unused-expressions */\n anchorNode.nodeType;\n focusNode.nodeType;\n /* eslint-enable no-unused-expressions */\n } catch (e) {\n return null;\n }\n\n return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset);\n}\n/**\n * Returns {start, end} where `start` is the character/codepoint index of\n * (anchorNode, anchorOffset) within the textContent of `outerNode`, and\n * `end` is the index of (focusNode, focusOffset).\n *\n * Returns null if you pass in garbage input but we should probably just crash.\n *\n * Exported only for testing.\n */\n\nfunction getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) {\n var length = 0;\n var start = -1;\n var end = -1;\n var indexWithinAnchor = 0;\n var indexWithinFocus = 0;\n var node = outerNode;\n var parentNode = null;\n\n outer: while (true) {\n var next = null;\n\n while (true) {\n if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) {\n start = length + anchorOffset;\n }\n\n if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {\n end = length + focusOffset;\n }\n\n if (node.nodeType === TEXT_NODE) {\n length += node.nodeValue.length;\n }\n\n if ((next = node.firstChild) === null) {\n break;\n } // Moving from `node` to its first child `next`.\n\n\n parentNode = node;\n node = next;\n }\n\n while (true) {\n if (node === outerNode) {\n // If `outerNode` has children, this is always the second time visiting\n // it. If it has no children, this is still the first loop, and the only\n // valid selection is anchorNode and focusNode both equal to this node\n // and both offsets 0, in which case we will have handled above.\n break outer;\n }\n\n if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) {\n start = length;\n }\n\n if (parentNode === focusNode && ++indexWithinFocus === focusOffset) {\n end = length;\n }\n\n if ((next = node.nextSibling) !== null) {\n break;\n }\n\n node = parentNode;\n parentNode = node.parentNode;\n } // Moving from `node` to its next sibling `next`.\n\n\n node = next;\n }\n\n if (start === -1 || end === -1) {\n // This should never happen. (Would happen if the anchor/focus nodes aren't\n // actually inside the passed-in node.)\n return null;\n }\n\n return {\n start: start,\n end: end\n };\n}\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programmatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n\nfunction setOffsets(node, offsets) {\n var doc = node.ownerDocument || document;\n var win = doc && doc.defaultView || window; // Edge fails with \"Object expected\" in some scenarios.\n // (For instance: TinyMCE editor used in a list component that supports pasting to add more,\n // fails when pasting 100+ items)\n\n if (!win.getSelection) {\n return;\n }\n\n var selection = win.getSelection();\n var length = node.textContent.length;\n var start = Math.min(offsets.start, length);\n var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {\n return;\n }\n\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nfunction isTextNode(node) {\n return node && node.nodeType === TEXT_NODE;\n}\n\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nfunction isInDocument(node) {\n return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);\n}\n\nfunction isSameOriginFrame(iframe) {\n try {\n // Accessing the contentDocument of a HTMLIframeElement can cause the browser\n // to throw, e.g. if it has a cross-origin src attribute.\n // Safari will show an error in the console when the access results in \"Blocked a frame with origin\". e.g:\n // iframe.contentDocument.defaultView;\n // A safety way is to access one of the cross origin properties: Window or Location\n // Which might result in \"SecurityError\" DOM Exception and it is compatible to Safari.\n // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl\n return typeof iframe.contentWindow.location.href === 'string';\n } catch (err) {\n return false;\n }\n}\n\nfunction getActiveElementDeep() {\n var win = window;\n var element = getActiveElement();\n\n while (element instanceof win.HTMLIFrameElement) {\n if (isSameOriginFrame(element)) {\n win = element.contentWindow;\n } else {\n return element;\n }\n\n element = getActiveElement(win.document);\n }\n\n return element;\n}\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\n\n/**\n * @hasSelectionCapabilities: we get the element types that support selection\n * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`\n * and `selectionEnd` rows.\n */\n\n\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true');\n}\nfunction getSelectionInformation() {\n var focusedElem = getActiveElementDeep();\n return {\n focusedElem: focusedElem,\n selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null\n };\n}\n/**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n\nfunction restoreSelection(priorSelectionInformation) {\n var curFocusedElem = getActiveElementDeep();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) {\n setSelection(priorFocusedElem, priorSelectionRange);\n } // Focusing a node can change the scroll position, which is undesirable\n\n\n var ancestors = [];\n var ancestor = priorFocusedElem;\n\n while (ancestor = ancestor.parentNode) {\n if (ancestor.nodeType === ELEMENT_NODE) {\n ancestors.push({\n element: ancestor,\n left: ancestor.scrollLeft,\n top: ancestor.scrollTop\n });\n }\n }\n\n if (typeof priorFocusedElem.focus === 'function') {\n priorFocusedElem.focus();\n }\n\n for (var i = 0; i < ancestors.length; i++) {\n var info = ancestors[i];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n}\n/**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n\nfunction getSelection(input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else {\n // Content editable or old IE textarea.\n selection = getOffsets(input);\n }\n\n return selection || {\n start: 0,\n end: 0\n };\n}\n/**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n\nfunction setSelection(input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n\n if (end === undefined) {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else {\n setOffsets(input, offsets);\n }\n}\n\nvar skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\nfunction registerEvents$3() {\n registerTwoPhaseEvent('onSelect', ['focusout', 'contextmenu', 'dragend', 'focusin', 'keydown', 'keyup', 'mousedown', 'mouseup', 'selectionchange']);\n}\n\nvar activeElement$1 = null;\nvar activeElementInst$1 = null;\nvar lastSelection = null;\nvar mouseDown = false;\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n */\n\nfunction getSelection$1(node) {\n if ('selectionStart' in node && hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else {\n var win = node.ownerDocument && node.ownerDocument.defaultView || window;\n var selection = win.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n }\n}\n/**\n * Get document associated with the event target.\n */\n\n\nfunction getEventTargetDocument(eventTarget) {\n return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument;\n}\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @param {object} nativeEventTarget\n * @return {?SyntheticEvent}\n */\n\n\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n var doc = getEventTargetDocument(nativeEventTarget);\n\n if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) {\n return;\n } // Only fire when selection has actually changed.\n\n\n var currentSelection = getSelection$1(activeElement$1);\n\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n var listeners = accumulateTwoPhaseListeners(activeElementInst$1, 'onSelect');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onSelect', 'select', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.target = activeElement$1;\n }\n }\n}\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\n\n\nfunction extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n\n switch (domEventName) {\n // Track the input node that has focus.\n case 'focusin':\n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n activeElement$1 = targetNode;\n activeElementInst$1 = targetInst;\n lastSelection = null;\n }\n\n break;\n\n case 'focusout':\n activeElement$1 = null;\n activeElementInst$1 = null;\n lastSelection = null;\n break;\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n\n case 'mousedown':\n mouseDown = true;\n break;\n\n case 'contextmenu':\n case 'mouseup':\n case 'dragend':\n mouseDown = false;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n\n case 'selectionchange':\n if (skipSelectionChangeEvent) {\n break;\n }\n\n // falls through\n\n case 'keydown':\n case 'keyup':\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n}\n\n/**\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n *\n * @param {string} styleProp\n * @param {string} eventName\n * @returns {object}\n */\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n return prefixes;\n}\n/**\n * A list of event names to a configurable list of vendor prefixes.\n */\n\n\nvar vendorPrefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n animationstart: makePrefixMap('Animation', 'AnimationStart'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n};\n/**\n * Event names that have already been detected and prefixed (if applicable).\n */\n\nvar prefixedEventNames = {};\n/**\n * Element to check for prefixes on.\n */\n\nvar style = {};\n/**\n * Bootstrap if a DOM exists.\n */\n\nif (canUseDOM) {\n style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are usable, and if not remove them from the map.\n\n if (!('AnimationEvent' in window)) {\n delete vendorPrefixes.animationend.animation;\n delete vendorPrefixes.animationiteration.animation;\n delete vendorPrefixes.animationstart.animation;\n } // Same as above\n\n\n if (!('TransitionEvent' in window)) {\n delete vendorPrefixes.transitionend.transition;\n }\n}\n/**\n * Attempts to determine the correct vendor prefixed event name.\n *\n * @param {string} eventName\n * @returns {string}\n */\n\n\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n } else if (!vendorPrefixes[eventName]) {\n return eventName;\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n for (var styleProp in prefixMap) {\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n return prefixedEventNames[eventName] = prefixMap[styleProp];\n }\n }\n\n return eventName;\n}\n\nvar ANIMATION_END = getVendorPrefixedEventName('animationend');\nvar ANIMATION_ITERATION = getVendorPrefixedEventName('animationiteration');\nvar ANIMATION_START = getVendorPrefixedEventName('animationstart');\nvar TRANSITION_END = getVendorPrefixedEventName('transitionend');\n\nvar topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important in this list!\n//\n// E.g. it needs \"pointerDown\", not \"pointerdown\".\n// This is because we derive both React name (\"onPointerDown\")\n// and DOM name (\"pointerdown\") from the same list.\n//\n// Exceptions that don't match this convention are listed separately.\n//\n// prettier-ignore\n\nvar simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'toggle', 'touchMove', 'waiting', 'wheel'];\n\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\n\nfunction registerSimpleEvents() {\n for (var i = 0; i < simpleEventPluginEvents.length; i++) {\n var eventName = simpleEventPluginEvents[i];\n var domEventName = eventName.toLowerCase();\n var capitalizedEvent = eventName[0].toUpperCase() + eventName.slice(1);\n registerSimpleEvent(domEventName, 'on' + capitalizedEvent);\n } // Special cases where event names don't match.\n\n\n registerSimpleEvent(ANIMATION_END, 'onAnimationEnd');\n registerSimpleEvent(ANIMATION_ITERATION, 'onAnimationIteration');\n registerSimpleEvent(ANIMATION_START, 'onAnimationStart');\n registerSimpleEvent('dblclick', 'onDoubleClick');\n registerSimpleEvent('focusin', 'onFocus');\n registerSimpleEvent('focusout', 'onBlur');\n registerSimpleEvent(TRANSITION_END, 'onTransitionEnd');\n}\n\nfunction extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n\n if (reactName === undefined) {\n return;\n }\n\n var SyntheticEventCtor = SyntheticEvent;\n var reactEventType = domEventName;\n\n switch (domEventName) {\n case 'keypress':\n // Firefox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n if (getEventCharCode(nativeEvent) === 0) {\n return;\n }\n\n /* falls through */\n\n case 'keydown':\n case 'keyup':\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n\n case 'focusin':\n reactEventType = 'focus';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'focusout':\n reactEventType = 'blur';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'beforeblur':\n case 'afterblur':\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'click':\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n if (nativeEvent.button === 2) {\n return;\n }\n\n /* falls through */\n\n case 'auxclick':\n case 'dblclick':\n case 'mousedown':\n case 'mousemove':\n case 'mouseup': // TODO: Disabled elements should not respond to mouse events\n\n /* falls through */\n\n case 'mouseout':\n case 'mouseover':\n case 'contextmenu':\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n\n case 'drag':\n case 'dragend':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'dragstart':\n case 'drop':\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n\n case 'touchcancel':\n case 'touchend':\n case 'touchmove':\n case 'touchstart':\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n\n case 'scroll':\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n\n case 'wheel':\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n\n case 'copy':\n case 'cut':\n case 'paste':\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'pointerup':\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n }\n\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n {\n // Some events don't bubble in the browser.\n // In the past, React has always bubbled them, but this can be surprising.\n // We're going to try aligning closer to the browser behavior by not bubbling\n // them in React either. We'll start by not bubbling onScroll, and then expand.\n var accumulateTargetOnly = !inCapturePhase && // TODO: ideally, we'd eventually add all events from\n // nonDelegatedEvents list in DOMPluginEventSystem.\n // Then we can remove this special list.\n // This is a breaking change that can wait until React 18.\n domEventName === 'scroll';\n\n var _listeners = accumulateSinglePhaseListeners(targetInst, reactName, nativeEvent.type, inCapturePhase, accumulateTargetOnly);\n\n if (_listeners.length > 0) {\n // Intentionally create event lazily.\n var _event = new SyntheticEventCtor(reactName, reactEventType, null, nativeEvent, nativeEventTarget);\n\n dispatchQueue.push({\n event: _event,\n listeners: _listeners\n });\n }\n }\n}\n\n// TODO: remove top-level side effect.\nregisterSimpleEvents();\nregisterEvents$2();\nregisterEvents$1();\nregisterEvents$3();\nregisterEvents();\n\nfunction extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n // TODO: we should remove the concept of a \"SimpleEventPlugin\".\n // This is the basic functionality of the event system. All\n // the other plugins are essentially polyfills. So the plugin\n // should probably be inlined somewhere and have its logic\n // be core the to event system. This would potentially allow\n // us to ship builds of React without the polyfilled plugins below.\n extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n var shouldProcessPolyfillPlugins = (eventSystemFlags & SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS) === 0; // We don't process these events unless we are in the\n // event's native \"bubble\" phase, which means that we're\n // not in the capture phase. That's because we emulate\n // the capture phase here still. This is a trade-off,\n // because in an ideal world we would not emulate and use\n // the phases properly, like we do with the SimpleEvent\n // plugin. However, the plugins below either expect\n // emulation (EnterLeave) or use state localized to that\n // plugin (BeforeInput, Change, Select). The state in\n // these modules complicates things, as you'll essentially\n // get the case where the capture phase event might change\n // state, only for the following bubble event to come in\n // later and not trigger anything as the state now\n // invalidates the heuristics of the event plugin. We\n // could alter all these plugins to work in such ways, but\n // that might cause other unknown side-effects that we\n // can't foresee right now.\n\n if (shouldProcessPolyfillPlugins) {\n extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n }\n} // List of events that need to be individually attached to media elements.\n\n\nvar mediaEventTypes = ['abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'encrypted', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'playing', 'progress', 'ratechange', 'resize', 'seeked', 'seeking', 'stalled', 'suspend', 'timeupdate', 'volumechange', 'waiting']; // We should not delegate these events to the container, but rather\n// set them on the actual target element itself. This is primarily\n// because these events do not consistently bubble in the DOM.\n\nvar nonDelegatedEvents = new Set(['cancel', 'close', 'invalid', 'load', 'scroll', 'toggle'].concat(mediaEventTypes));\n\nfunction executeDispatch(event, listener, currentTarget) {\n var type = event.type || 'unknown-event';\n event.currentTarget = currentTarget;\n invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);\n event.currentTarget = null;\n}\n\nfunction processDispatchQueueItemsInOrder(event, dispatchListeners, inCapturePhase) {\n var previousInstance;\n\n if (inCapturePhase) {\n for (var i = dispatchListeners.length - 1; i >= 0; i--) {\n var _dispatchListeners$i = dispatchListeners[i],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget,\n listener = _dispatchListeners$i.listener;\n\n if (instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, listener, currentTarget);\n previousInstance = instance;\n }\n } else {\n for (var _i = 0; _i < dispatchListeners.length; _i++) {\n var _dispatchListeners$_i = dispatchListeners[_i],\n _instance = _dispatchListeners$_i.instance,\n _currentTarget = _dispatchListeners$_i.currentTarget,\n _listener = _dispatchListeners$_i.listener;\n\n if (_instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, _listener, _currentTarget);\n previousInstance = _instance;\n }\n }\n}\n\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event,\n listeners = _dispatchQueue$i.listeners;\n processDispatchQueueItemsInOrder(event, listeners, inCapturePhase); // event system doesn't use pooling.\n } // This would be a good time to rethrow if any of the event handlers threw.\n\n\n rethrowCaughtError();\n}\n\nfunction dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var nativeEventTarget = getEventTarget(nativeEvent);\n var dispatchQueue = [];\n extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n}\n\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n {\n if (!nonDelegatedEvents.has(domEventName)) {\n error('Did not expect a listenToNonDelegatedEvent() call for \"%s\". ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var isCapturePhaseListener = false;\n var listenerSet = getEventListenerSet(targetElement);\n var listenerSetKey = getListenerSetKey(domEventName, isCapturePhaseListener);\n\n if (!listenerSet.has(listenerSetKey)) {\n addTrappedEventListener(targetElement, domEventName, IS_NON_DELEGATED, isCapturePhaseListener);\n listenerSet.add(listenerSetKey);\n }\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n {\n if (nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener) {\n error('Did not expect a listenToNativeEvent() call for \"%s\" in the bubble phase. ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var eventSystemFlags = 0;\n\n if (isCapturePhaseListener) {\n eventSystemFlags |= IS_CAPTURE_PHASE;\n }\n\n addTrappedEventListener(target, domEventName, eventSystemFlags, isCapturePhaseListener);\n} // This is only used by createEventHandle when the\nvar listeningMarker = '_reactListening' + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = true;\n allNativeEvents.forEach(function (domEventName) {\n // We handle selectionchange separately because it\n // doesn't bubble and needs to be on the document.\n if (domEventName !== 'selectionchange') {\n if (!nonDelegatedEvents.has(domEventName)) {\n listenToNativeEvent(domEventName, false, rootContainerElement);\n }\n\n listenToNativeEvent(domEventName, true, rootContainerElement);\n }\n });\n var ownerDocument = rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n\n if (ownerDocument !== null) {\n // The selectionchange event also needs deduplication\n // but it is attached to the document.\n if (!ownerDocument[listeningMarker]) {\n ownerDocument[listeningMarker] = true;\n listenToNativeEvent('selectionchange', false, ownerDocument);\n }\n }\n }\n}\n\nfunction addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener, isDeferredListenerForLegacyFBSupport) {\n var listener = createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags); // If passive option is not supported, then the event will be\n // active and not passive.\n\n var isPassiveListener = undefined;\n\n if (passiveBrowserEventsSupported) {\n // Browsers introduced an intervention, making these events\n // passive by default on document. React doesn't bind them\n // to document anymore, but changing this now would undo\n // the performance wins from the change. So we emulate\n // the existing behavior manually on the roots now.\n // https://github.com/facebook/react/issues/19651\n if (domEventName === 'touchstart' || domEventName === 'touchmove' || domEventName === 'wheel') {\n isPassiveListener = true;\n }\n }\n\n targetContainer = targetContainer;\n var unsubscribeListener; // When legacyFBSupport is enabled, it's for when we\n\n\n if (isCapturePhaseListener) {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventCaptureListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventCaptureListener(targetContainer, domEventName, listener);\n }\n } else {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventBubbleListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventBubbleListener(targetContainer, domEventName, listener);\n }\n }\n}\n\nfunction isMatchingRootContainer(grandContainer, targetContainer) {\n return grandContainer === targetContainer || grandContainer.nodeType === COMMENT_NODE && grandContainer.parentNode === targetContainer;\n}\n\nfunction dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var ancestorInst = targetInst;\n\n if ((eventSystemFlags & IS_EVENT_HANDLE_NON_MANAGED_NODE) === 0 && (eventSystemFlags & IS_NON_DELEGATED) === 0) {\n var targetContainerNode = targetContainer; // If we are using the legacy FB support flag, we\n\n if (targetInst !== null) {\n // The below logic attempts to work out if we need to change\n // the target fiber to a different ancestor. We had similar logic\n // in the legacy event system, except the big difference between\n // systems is that the modern event system now has an event listener\n // attached to each React Root and React Portal Root. Together,\n // the DOM nodes representing these roots are the \"rootContainer\".\n // To figure out which ancestor instance we should use, we traverse\n // up the fiber tree from the target instance and attempt to find\n // root boundaries that match that of our current \"rootContainer\".\n // If we find that \"rootContainer\", we find the parent fiber\n // sub-tree for that root and make that our ancestor instance.\n var node = targetInst;\n\n mainLoop: while (true) {\n if (node === null) {\n return;\n }\n\n var nodeTag = node.tag;\n\n if (nodeTag === HostRoot || nodeTag === HostPortal) {\n var container = node.stateNode.containerInfo;\n\n if (isMatchingRootContainer(container, targetContainerNode)) {\n break;\n }\n\n if (nodeTag === HostPortal) {\n // The target is a portal, but it's not the rootContainer we're looking for.\n // Normally portals handle their own events all the way down to the root.\n // So we should be able to stop now. However, we don't know if this portal\n // was part of *our* root.\n var grandNode = node.return;\n\n while (grandNode !== null) {\n var grandTag = grandNode.tag;\n\n if (grandTag === HostRoot || grandTag === HostPortal) {\n var grandContainer = grandNode.stateNode.containerInfo;\n\n if (isMatchingRootContainer(grandContainer, targetContainerNode)) {\n // This is the rootContainer we're looking for and we found it as\n // a parent of the Portal. That means we can ignore it because the\n // Portal will bubble through to us.\n return;\n }\n }\n\n grandNode = grandNode.return;\n }\n } // Now we need to find it's corresponding host fiber in the other\n // tree. To do this we can use getClosestInstanceFromNode, but we\n // need to validate that the fiber is a host instance, otherwise\n // we need to traverse up through the DOM till we find the correct\n // node that is from the other tree.\n\n\n while (container !== null) {\n var parentNode = getClosestInstanceFromNode(container);\n\n if (parentNode === null) {\n return;\n }\n\n var parentTag = parentNode.tag;\n\n if (parentTag === HostComponent || parentTag === HostText) {\n node = ancestorInst = parentNode;\n continue mainLoop;\n }\n\n container = container.parentNode;\n }\n }\n\n node = node.return;\n }\n }\n }\n\n batchedUpdates(function () {\n return dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, ancestorInst);\n });\n}\n\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\n\nfunction accumulateSinglePhaseListeners(targetFiber, reactName, nativeEventType, inCapturePhase, accumulateTargetOnly, nativeEvent) {\n var captureName = reactName !== null ? reactName + 'Capture' : null;\n var reactEventName = inCapturePhase ? captureName : reactName;\n var listeners = [];\n var instance = targetFiber;\n var lastHostComponent = null; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance2 = instance,\n stateNode = _instance2.stateNode,\n tag = _instance2.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n lastHostComponent = stateNode; // createEventHandle listeners\n\n\n if (reactEventName !== null) {\n var listener = getListener(instance, reactEventName);\n\n if (listener != null) {\n listeners.push(createDispatchListener(instance, listener, lastHostComponent));\n }\n }\n } // If we are only accumulating events for the target, then we don't\n // continue to propagate through the React fiber tree to find other\n // listeners.\n\n\n if (accumulateTargetOnly) {\n break;\n } // If we are processing the onBeforeBlur event, then we need to take\n\n instance = instance.return;\n }\n\n return listeners;\n} // We should only use this function for:\n// - BeforeInputEventPlugin\n// - ChangeEventPlugin\n// - SelectEventPlugin\n// This is because we only process these plugins\n// in the bubble phase, so we need to accumulate two\n// phase event listeners (via emulation).\n\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n var captureName = reactName + 'Capture';\n var listeners = [];\n var instance = targetFiber; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance3 = instance,\n stateNode = _instance3.stateNode,\n tag = _instance3.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n var captureListener = getListener(instance, captureName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n\n var bubbleListener = getListener(instance, reactName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n\n instance = instance.return;\n }\n\n return listeners;\n}\n\nfunction getParent(inst) {\n if (inst === null) {\n return null;\n }\n\n do {\n inst = inst.return; // TODO: If this is a HostRoot we might want to bail out.\n // That is depending on if we want nested subtrees (layers) to bubble\n // events to their parent. We could also go through parentNode on the\n // host node but that wouldn't work for React Native and doesn't let us\n // do the portal feature.\n } while (inst && inst.tag !== HostComponent);\n\n if (inst) {\n return inst;\n }\n\n return null;\n}\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\n\n\nfunction getLowestCommonAncestor(instA, instB) {\n var nodeA = instA;\n var nodeB = instB;\n var depthA = 0;\n\n for (var tempA = nodeA; tempA; tempA = getParent(tempA)) {\n depthA++;\n }\n\n var depthB = 0;\n\n for (var tempB = nodeB; tempB; tempB = getParent(tempB)) {\n depthB++;\n } // If A is deeper, crawl up.\n\n\n while (depthA - depthB > 0) {\n nodeA = getParent(nodeA);\n depthA--;\n } // If B is deeper, crawl up.\n\n\n while (depthB - depthA > 0) {\n nodeB = getParent(nodeB);\n depthB--;\n } // Walk in lockstep until we find a match.\n\n\n var depth = depthA;\n\n while (depth--) {\n if (nodeA === nodeB || nodeB !== null && nodeA === nodeB.alternate) {\n return nodeA;\n }\n\n nodeA = getParent(nodeA);\n nodeB = getParent(nodeB);\n }\n\n return null;\n}\n\nfunction accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) {\n var registrationName = event._reactName;\n var listeners = [];\n var instance = target;\n\n while (instance !== null) {\n if (instance === common) {\n break;\n }\n\n var _instance4 = instance,\n alternate = _instance4.alternate,\n stateNode = _instance4.stateNode,\n tag = _instance4.tag;\n\n if (alternate !== null && alternate === common) {\n break;\n }\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n\n if (inCapturePhase) {\n var captureListener = getListener(instance, registrationName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n } else if (!inCapturePhase) {\n var bubbleListener = getListener(instance, registrationName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n }\n\n instance = instance.return;\n }\n\n if (listeners.length !== 0) {\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n} // We should only use this function for:\n// - EnterLeaveEventPlugin\n// This is because we only process this plugin\n// in the bubble phase, so we need to accumulate two\n// phase event listeners.\n\n\nfunction accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leaveEvent, enterEvent, from, to) {\n var common = from && to ? getLowestCommonAncestor(from, to) : null;\n\n if (from !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, leaveEvent, from, common, false);\n }\n\n if (to !== null && enterEvent !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, enterEvent, to, common, true);\n }\n}\nfunction getListenerSetKey(domEventName, capture) {\n return domEventName + \"__\" + (capture ? 'capture' : 'bubble');\n}\n\nvar didWarnInvalidHydration = false;\nvar DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML';\nvar SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning';\nvar SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';\nvar AUTOFOCUS = 'autoFocus';\nvar CHILDREN = 'children';\nvar STYLE = 'style';\nvar HTML$1 = '__html';\nvar warnedUnknownTags;\nvar validatePropertiesInDevelopment;\nvar warnForPropDifference;\nvar warnForExtraAttributes;\nvar warnForInvalidEventListener;\nvar canDiffStyleForHydrationWarning;\nvar normalizeHTML;\n\n{\n warnedUnknownTags = {\n // There are working polyfills for <dialog>. Let people use it.\n dialog: true,\n // Electron ships a custom <webview> tag to display external web content in\n // an isolated frame and process.\n // This tag is not present in non Electron environments such as JSDom which\n // is often used for testing purposes.\n // @see https://electronjs.org/docs/api/webview-tag\n webview: true\n };\n\n validatePropertiesInDevelopment = function (type, props) {\n validateProperties(type, props);\n validateProperties$1(type, props);\n validateProperties$2(type, props, {\n registrationNameDependencies: registrationNameDependencies,\n possibleRegistrationNames: possibleRegistrationNames\n });\n }; // IE 11 parses & normalizes the style attribute as opposed to other\n // browsers. It adds spaces and sorts the properties in some\n // non-alphabetical order. Handling that would require sorting CSS\n // properties in the client & server versions or applying\n // `expectedStyle` to a temporary DOM node to read its `style` attribute\n // normalized. Since it only affects IE, we're skipping style warnings\n // in that browser completely in favor of doing all that work.\n // See https://github.com/facebook/react/issues/11807\n\n\n canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode;\n\n warnForPropDifference = function (propName, serverValue, clientValue) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue);\n var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue);\n\n if (normalizedServerValue === normalizedClientValue) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue));\n };\n\n warnForExtraAttributes = function (attributeNames) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n var names = [];\n attributeNames.forEach(function (name) {\n names.push(name);\n });\n\n error('Extra attributes from the server: %s', names);\n };\n\n warnForInvalidEventListener = function (registrationName, listener) {\n if (listener === false) {\n error('Expected `%s` listener to be a function, instead got `false`.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName);\n } else {\n error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener);\n }\n }; // Parse the HTML and read it back to normalize the HTML string so that it\n // can be used for comparison.\n\n\n normalizeHTML = function (parent, html) {\n // We could have created a separate document here to avoid\n // re-initializing custom elements if they exist. But this breaks\n // how <noscript> is being handled. So we use the same document.\n // See the discussion in https://github.com/facebook/react/pull/11157.\n var testElement = parent.namespaceURI === HTML_NAMESPACE ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName);\n testElement.innerHTML = html;\n return testElement.innerHTML;\n };\n} // HTML parsing normalizes CR and CRLF to LF.\n// It also can turn \\u0000 into \\uFFFD inside attributes.\n// https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream\n// If we have a mismatch, it might be caused by that.\n// We will still patch up in this case but not fire the warning.\n\n\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g;\nvar NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\n\nfunction normalizeMarkupForTextOrAttribute(markup) {\n {\n checkHtmlStringCoercion(markup);\n }\n\n var markupString = typeof markup === 'string' ? markup : '' + markup;\n return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, '');\n}\n\nfunction checkForUnmatchedText(serverText, clientText, isConcurrentMode, shouldWarnDev) {\n var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText);\n var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText);\n\n if (normalizedServerText === normalizedClientText) {\n return;\n }\n\n if (shouldWarnDev) {\n {\n if (!didWarnInvalidHydration) {\n didWarnInvalidHydration = true;\n\n error('Text content did not match. Server: \"%s\" Client: \"%s\"', normalizedServerText, normalizedClientText);\n }\n }\n }\n\n if (isConcurrentMode && enableClientRenderFallbackOnTextMismatch) {\n // In concurrent roots, we throw when there's a text mismatch and revert to\n // client rendering, up to the nearest Suspense boundary.\n throw new Error('Text content does not match server-rendered HTML.');\n }\n}\n\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n}\n\nfunction noop() {}\n\nfunction trapClickOnNonInteractiveElement(node) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n // https://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n // Just set it using the onclick property so that we don't have to manage any\n // bookkeeping for it. Not sure if we need to clear it when the listener is\n // removed.\n // TODO: Only do this for the relevant Safaris maybe?\n node.onclick = noop;\n}\n\nfunction setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) {\n for (var propKey in nextProps) {\n if (!nextProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = nextProps[propKey];\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n } // Relies on `updateStylesByID` not mutating `styleUpdates`.\n\n\n setValueForStyles(domElement, nextProp);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n setInnerHTML(domElement, nextHtml);\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string') {\n // Avoid setting initial textContent when the text is empty. In IE11 setting\n // textContent on a <textarea> will cause the placeholder to not\n // show within the <textarea> until it has been focused and blurred again.\n // https://github.com/facebook/react/issues/6731#issuecomment-254874553\n var canSetTextContent = tag !== 'textarea' || nextProp !== '';\n\n if (canSetTextContent) {\n setTextContent(domElement, nextProp);\n }\n } else if (typeof nextProp === 'number') {\n setTextContent(domElement, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (nextProp != null) {\n setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag);\n }\n }\n}\n\nfunction updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) {\n // TODO: Handle wasCustomComponentTag\n for (var i = 0; i < updatePayload.length; i += 2) {\n var propKey = updatePayload[i];\n var propValue = updatePayload[i + 1];\n\n if (propKey === STYLE) {\n setValueForStyles(domElement, propValue);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n setInnerHTML(domElement, propValue);\n } else if (propKey === CHILDREN) {\n setTextContent(domElement, propValue);\n } else {\n setValueForProperty(domElement, propKey, propValue, isCustomComponentTag);\n }\n }\n}\n\nfunction createElement(type, props, rootContainerElement, parentNamespace) {\n var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML\n // tags get no namespace.\n\n var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement);\n var domElement;\n var namespaceURI = parentNamespace;\n\n if (namespaceURI === HTML_NAMESPACE) {\n namespaceURI = getIntrinsicNamespace(type);\n }\n\n if (namespaceURI === HTML_NAMESPACE) {\n {\n isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to\n // allow <SVG> or <mATH>.\n\n if (!isCustomComponentTag && type !== type.toLowerCase()) {\n error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);\n }\n }\n\n if (type === 'script') {\n // Create the script via .innerHTML so its \"parser-inserted\" flag is\n // set to true and it does not execute\n var div = ownerDocument.createElement('div');\n\n div.innerHTML = '<script><' + '/script>'; // eslint-disable-line\n // This is guaranteed to yield a script element.\n\n var firstChild = div.firstChild;\n domElement = div.removeChild(firstChild);\n } else if (typeof props.is === 'string') {\n // $FlowIssue `createElement` should be updated for Web Components\n domElement = ownerDocument.createElement(type, {\n is: props.is\n });\n } else {\n // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size`\n // attributes on `select`s needs to be added before `option`s are inserted.\n // This prevents:\n // - a bug where the `select` does not scroll to the correct option because singular\n // `select` elements automatically pick the first item #13222\n // - a bug where the `select` set the first item as selected despite the `size` attribute #14239\n // See https://github.com/facebook/react/issues/13222\n // and https://github.com/facebook/react/issues/14239\n\n if (type === 'select') {\n var node = domElement;\n\n if (props.multiple) {\n node.multiple = true;\n } else if (props.size) {\n // Setting a size greater than 1 causes a select to behave like `multiple=true`, where\n // it is possible that no option is selected.\n //\n // This is only necessary when a select in \"single selection mode\".\n node.size = props.size;\n }\n }\n }\n } else {\n domElement = ownerDocument.createElementNS(namespaceURI, type);\n }\n\n {\n if (namespaceURI === HTML_NAMESPACE) {\n if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !hasOwnProperty.call(warnedUnknownTags, type)) {\n warnedUnknownTags[type] = true;\n\n error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type);\n }\n }\n }\n\n return domElement;\n}\nfunction createTextNode(text, rootContainerElement) {\n return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text);\n}\nfunction setInitialProperties(domElement, tag, rawProps, rootContainerElement) {\n var isCustomComponentTag = isCustomComponent(tag, rawProps);\n\n {\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n var props;\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n props = rawProps;\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n props = rawProps;\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n props = rawProps;\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n props = rawProps;\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps);\n props = getHostProps(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n props = rawProps;\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps);\n props = getHostProps$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps);\n props = getHostProps$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n default:\n props = rawProps;\n }\n\n assertValidProps(tag, props);\n setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag);\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, false);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'option':\n postMountWrapper$1(domElement, rawProps);\n break;\n\n case 'select':\n postMountWrapper$2(domElement, rawProps);\n break;\n\n default:\n if (typeof props.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n} // Calculate the diff between the two objects.\n\nfunction diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {\n {\n validatePropertiesInDevelopment(tag, nextRawProps);\n }\n\n var updatePayload = null;\n var lastProps;\n var nextProps;\n\n switch (tag) {\n case 'input':\n lastProps = getHostProps(domElement, lastRawProps);\n nextProps = getHostProps(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'select':\n lastProps = getHostProps$1(domElement, lastRawProps);\n nextProps = getHostProps$1(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'textarea':\n lastProps = getHostProps$2(domElement, lastRawProps);\n nextProps = getHostProps$2(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n default:\n lastProps = lastRawProps;\n nextProps = nextRawProps;\n\n if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n assertValidProps(tag, nextProps);\n var propKey;\n var styleName;\n var styleUpdates = null;\n\n for (propKey in lastProps) {\n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n var lastStyle = lastProps[propKey];\n\n for (styleName in lastStyle) {\n if (lastStyle.hasOwnProperty(styleName)) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" fiber pointer gets updated so we need a commit\n // to update this element.\n if (!updatePayload) {\n updatePayload = [];\n }\n } else {\n // For all other deleted properties we add it to the queue. We use\n // the allowed property list in the commit phase instead.\n (updatePayload = updatePayload || []).push(propKey, null);\n }\n }\n\n for (propKey in nextProps) {\n var nextProp = nextProps[propKey];\n var lastProp = lastProps != null ? lastProps[propKey] : undefined;\n\n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n }\n\n if (lastProp) {\n // Unset styles on `lastProp` but not on `nextProp`.\n for (styleName in lastProp) {\n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n } // Update styles that changed since `lastProp`.\n\n\n for (styleName in nextProp) {\n if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = nextProp[styleName];\n }\n }\n } else {\n // Relies on `updateStylesByID` not mutating `styleUpdates`.\n if (!styleUpdates) {\n if (!updatePayload) {\n updatePayload = [];\n }\n\n updatePayload.push(propKey, styleUpdates);\n }\n\n styleUpdates = nextProp;\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n var lastHtml = lastProp ? lastProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n if (lastHtml !== nextHtml) {\n (updatePayload = updatePayload || []).push(propKey, nextHtml);\n }\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string' || typeof nextProp === 'number') {\n (updatePayload = updatePayload || []).push(propKey, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n // We eagerly listen to this even though we haven't committed yet.\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n\n if (!updatePayload && lastProp !== nextProp) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" props pointer gets updated so we need a commit\n // to update this element.\n updatePayload = [];\n }\n } else {\n // For any other property we always add it to the queue and then we\n // filter it out using the allowed property list during the commit.\n (updatePayload = updatePayload || []).push(propKey, nextProp);\n }\n }\n\n if (styleUpdates) {\n {\n validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]);\n }\n\n (updatePayload = updatePayload || []).push(STYLE, styleUpdates);\n }\n\n return updatePayload;\n} // Apply the diff.\n\nfunction updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) {\n // Update checked *before* name.\n // In the middle of an update, it is possible to have multiple checked.\n // When a checked radio tries to change name, browser makes another radio's checked false.\n if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) {\n updateChecked(domElement, nextRawProps);\n }\n\n var wasCustomComponentTag = isCustomComponent(tag, lastRawProps);\n var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff.\n\n updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props\n // changed.\n\n switch (tag) {\n case 'input':\n // Update the wrapper around inputs *after* updating props. This has to\n // happen after `updateDOMProperties`. Otherwise HTML5 input validations\n // raise warnings and prevent the new value from being assigned.\n updateWrapper(domElement, nextRawProps);\n break;\n\n case 'textarea':\n updateWrapper$1(domElement, nextRawProps);\n break;\n\n case 'select':\n // <select> value update needs to occur after <option> children\n // reconciliation\n postUpdateWrapper(domElement, nextRawProps);\n break;\n }\n}\n\nfunction getPossibleStandardName(propName) {\n {\n var lowerCasedName = propName.toLowerCase();\n\n if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n return null;\n }\n\n return possibleStandardNames[lowerCasedName] || null;\n }\n}\n\nfunction diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement, isConcurrentMode, shouldWarnDev) {\n var isCustomComponentTag;\n var extraAttributeNames;\n\n {\n isCustomComponentTag = isCustomComponent(tag, rawProps);\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n }\n\n assertValidProps(tag, rawProps);\n\n {\n extraAttributeNames = new Set();\n var attributes = domElement.attributes;\n\n for (var _i = 0; _i < attributes.length; _i++) {\n var name = attributes[_i].name.toLowerCase();\n\n switch (name) {\n // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n case 'value':\n break;\n\n case 'checked':\n break;\n\n case 'selected':\n break;\n\n default:\n // Intentionally use the original name.\n // See discussion in https://github.com/facebook/react/pull/10676.\n extraAttributeNames.add(attributes[_i].name);\n }\n }\n }\n\n var updatePayload = null;\n\n for (var propKey in rawProps) {\n if (!rawProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = rawProps[propKey];\n\n if (propKey === CHILDREN) {\n // For text content children we compare against textContent. This\n // might match additional HTML that is hidden when we read it using\n // textContent. E.g. \"foo\" will match \"f<span>oo</span>\" but that still\n // satisfies our requirement. Our requirement is not to produce perfect\n // HTML and attributes. Ideally we should preserve structure but it's\n // ok not to if the visible content is still enough to indicate what\n // even listeners these nodes might be wired up to.\n // TODO: Warn if there is more than a single textNode as a child.\n // TODO: Should we use domElement.firstChild.nodeValue to compare?\n if (typeof nextProp === 'string') {\n if (domElement.textContent !== nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, nextProp];\n }\n } else if (typeof nextProp === 'number') {\n if (domElement.textContent !== '' + nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, '' + nextProp];\n }\n }\n } else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (shouldWarnDev && true && // Convince Flow we've calculated it (it's DEV-only in this method.)\n typeof isCustomComponentTag === 'boolean') {\n // Validate that the properties correspond to their expected values.\n var serverValue = void 0;\n var propertyInfo = isCustomComponentTag && enableCustomElementPropertySupport ? null : getPropertyInfo(propKey);\n\n if (rawProps[SUPPRESS_HYDRATION_WARNING] === true) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var serverHTML = domElement.innerHTML;\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n var expectedHTML = normalizeHTML(domElement, nextHtml);\n\n if (expectedHTML !== serverHTML) {\n warnForPropDifference(propKey, serverHTML, expectedHTML);\n }\n }\n } else if (propKey === STYLE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey);\n\n if (canDiffStyleForHydrationWarning) {\n var expectedStyle = createDangerousStringForStyles(nextProp);\n serverValue = domElement.getAttribute('style');\n\n if (expectedStyle !== serverValue) {\n warnForPropDifference(propKey, serverValue, expectedStyle);\n }\n }\n } else if (isCustomComponentTag && !enableCustomElementPropertySupport) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n\n if (nextProp !== serverValue) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) {\n var isMismatchDueToBadCasing = false;\n\n if (propertyInfo !== null) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propertyInfo.attributeName);\n serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo);\n } else {\n var ownNamespace = parentNamespace;\n\n if (ownNamespace === HTML_NAMESPACE) {\n ownNamespace = getIntrinsicNamespace(tag);\n }\n\n if (ownNamespace === HTML_NAMESPACE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n } else {\n var standardName = getPossibleStandardName(propKey);\n\n if (standardName !== null && standardName !== propKey) {\n // If an SVG prop is supplied with bad casing, it will\n // be successfully parsed from HTML, but will produce a mismatch\n // (and would be incorrectly rendered on the client).\n // However, we already warn about bad casing elsewhere.\n // So we'll skip the misleading extra mismatch warning in this case.\n isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined.\n\n extraAttributeNames.delete(standardName);\n } // $FlowFixMe - Should be inferred as not undefined.\n\n\n extraAttributeNames.delete(propKey);\n }\n\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n }\n\n var dontWarnCustomElement = enableCustomElementPropertySupport ;\n\n if (!dontWarnCustomElement && nextProp !== serverValue && !isMismatchDueToBadCasing) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n }\n }\n }\n\n {\n if (shouldWarnDev) {\n if ( // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.size > 0 && rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n // $FlowFixMe - Should be inferred as not undefined.\n warnForExtraAttributes(extraAttributeNames);\n }\n }\n }\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, true);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'select':\n case 'option':\n // For input and textarea we current always set the value property at\n // post mount to force it to diverge from attributes. However, for\n // option and select we don't quite do the same thing and select\n // is not resilient to the DOM state changing so we don't do that here.\n // TODO: Consider not doing this for input and textarea.\n break;\n\n default:\n if (typeof rawProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n return updatePayload;\n}\nfunction diffHydratedText(textNode, text, isConcurrentMode) {\n var isDifferent = textNode.nodeValue !== text;\n return isDifferent;\n}\nfunction warnForDeletedHydratableElement(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForDeletedHydratableText(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain the text node \"%s\" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedElement(parentNode, tag, props) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedText(parentNode, text) {\n {\n if (text === '') {\n // We expect to insert empty text nodes since they're not represented in\n // the HTML.\n // TODO: Remove this special case if we can just avoid inserting empty\n // text nodes.\n return;\n }\n\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching text node for \"%s\" in <%s>.', text, parentNode.nodeName.toLowerCase());\n }\n}\nfunction restoreControlledState$3(domElement, tag, props) {\n switch (tag) {\n case 'input':\n restoreControlledState(domElement, props);\n return;\n\n case 'textarea':\n restoreControlledState$2(domElement, props);\n return;\n\n case 'select':\n restoreControlledState$1(domElement, props);\n return;\n }\n}\n\nvar validateDOMNesting = function () {};\n\nvar updatedAncestorInfo = function () {};\n\n{\n // This validation code was written based on the HTML5 parsing spec:\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n //\n // Note: this does not catch all invalid nesting, nor does it try to (as it's\n // not clear what practical benefit doing so provides); instead, we warn only\n // for cases where the parser will give a parse tree differing from what React\n // intended. For example, <b><div></div></b> is invalid but we don't warn\n // because it still parses correctly; we do warn for other cases like nested\n // <p> tags where the beginning of the second element implicitly closes the\n // first, causing a confusing mess.\n // https://html.spec.whatwg.org/multipage/syntax.html#special\n var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n\n var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n // TODO: Distinguish by namespace here -- for <title>, including it here\n // errs on the side of fewer warnings\n 'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n\n var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n\n var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n var emptyAncestorInfo = {\n current: null,\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null\n };\n\n updatedAncestorInfo = function (oldInfo, tag) {\n var ancestorInfo = assign({}, oldInfo || emptyAncestorInfo);\n\n var info = {\n tag: tag\n };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n } // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.current = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n return ancestorInfo;\n };\n /**\n * Returns whether\n */\n\n\n var isTagValidWithParent = function (tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'option' || tag === 'optgroup' || tag === '#text';\n\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n\n case 'option':\n return tag === '#text';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n\n case 'html':\n return tag === 'head' || tag === 'body' || tag === 'frameset';\n\n case 'frameset':\n return tag === 'frame';\n\n case '#document':\n return tag === 'html';\n } // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'body':\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frameset':\n case 'frame':\n case 'head':\n case 'html':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n };\n /**\n * Returns whether\n */\n\n\n var findInvalidAncestorForTag = function (tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n case 'pre':\n case 'listing':\n case 'table':\n case 'hr':\n case 'xmp':\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n };\n\n var didWarn$1 = {};\n\n validateDOMNesting = function (childTag, childText, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n\n if (childText != null) {\n if (childTag != null) {\n error('validateDOMNesting: when childText is passed, childTag should be null');\n }\n\n childTag = '#text';\n }\n\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var invalidParentOrAncestor = invalidParent || invalidAncestor;\n\n if (!invalidParentOrAncestor) {\n return;\n }\n\n var ancestorTag = invalidParentOrAncestor.tag;\n var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag;\n\n if (didWarn$1[warnKey]) {\n return;\n }\n\n didWarn$1[warnKey] = true;\n var tagDisplayName = childTag;\n var whitespaceInfo = '';\n\n if (childTag === '#text') {\n if (/\\S/.test(childText)) {\n tagDisplayName = 'Text nodes';\n } else {\n tagDisplayName = 'Whitespace text nodes';\n whitespaceInfo = \" Make sure you don't have any extra whitespace between tags on \" + 'each line of your source code.';\n }\n } else {\n tagDisplayName = '<' + childTag + '>';\n }\n\n if (invalidParent) {\n var info = '';\n\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n\n error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info);\n } else {\n error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag);\n }\n };\n}\n\nvar SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning';\nvar SUSPENSE_START_DATA = '$';\nvar SUSPENSE_END_DATA = '/$';\nvar SUSPENSE_PENDING_START_DATA = '$?';\nvar SUSPENSE_FALLBACK_START_DATA = '$!';\nvar STYLE$1 = 'style';\nvar eventsEnabled = null;\nvar selectionInformation = null;\nfunction getRootHostContext(rootContainerInstance) {\n var type;\n var namespace;\n var nodeType = rootContainerInstance.nodeType;\n\n switch (nodeType) {\n case DOCUMENT_NODE:\n case DOCUMENT_FRAGMENT_NODE:\n {\n type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment';\n var root = rootContainerInstance.documentElement;\n namespace = root ? root.namespaceURI : getChildNamespace(null, '');\n break;\n }\n\n default:\n {\n var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance;\n var ownNamespace = container.namespaceURI || null;\n type = container.tagName;\n namespace = getChildNamespace(ownNamespace, type);\n break;\n }\n }\n\n {\n var validatedTag = type.toLowerCase();\n var ancestorInfo = updatedAncestorInfo(null, validatedTag);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getChildHostContext(parentHostContext, type, rootContainerInstance) {\n {\n var parentHostContextDev = parentHostContext;\n var namespace = getChildNamespace(parentHostContextDev.namespace, type);\n var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getPublicInstance(instance) {\n return instance;\n}\nfunction prepareForCommit(containerInfo) {\n eventsEnabled = isEnabled();\n selectionInformation = getSelectionInformation();\n var activeInstance = null;\n\n setEnabled(false);\n return activeInstance;\n}\nfunction resetAfterCommit(containerInfo) {\n restoreSelection(selectionInformation);\n setEnabled(eventsEnabled);\n eventsEnabled = null;\n selectionInformation = null;\n}\nfunction createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) {\n var parentNamespace;\n\n {\n // TODO: take namespace into account when validating.\n var hostContextDev = hostContext;\n validateDOMNesting(type, null, hostContextDev.ancestorInfo);\n\n if (typeof props.children === 'string' || typeof props.children === 'number') {\n var string = '' + props.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n\n parentNamespace = hostContextDev.namespace;\n }\n\n var domElement = createElement(type, props, rootContainerInstance, parentNamespace);\n precacheFiberNode(internalInstanceHandle, domElement);\n updateFiberProps(domElement, props);\n return domElement;\n}\nfunction appendInitialChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) {\n setInitialProperties(domElement, type, props, rootContainerInstance);\n\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n return !!props.autoFocus;\n\n case 'img':\n return true;\n\n default:\n return false;\n }\n}\nfunction prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) {\n {\n var hostContextDev = hostContext;\n\n if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) {\n var string = '' + newProps.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n }\n\n return diffProperties(domElement, type, oldProps, newProps);\n}\nfunction shouldSetTextContent(type, props) {\n return type === 'textarea' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null;\n}\nfunction createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {\n {\n var hostContextDev = hostContext;\n validateDOMNesting(null, text, hostContextDev.ancestorInfo);\n }\n\n var textNode = createTextNode(text, rootContainerInstance);\n precacheFiberNode(internalInstanceHandle, textNode);\n return textNode;\n}\nfunction getCurrentEventPriority() {\n var currentEvent = window.event;\n\n if (currentEvent === undefined) {\n return DefaultEventPriority;\n }\n\n return getEventPriority(currentEvent.type);\n}\n// if a component just imports ReactDOM (e.g. for findDOMNode).\n// Some environments might not have setTimeout or clearTimeout.\n\nvar scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;\nvar cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;\nvar noTimeout = -1;\nvar localPromise = typeof Promise === 'function' ? Promise : undefined; // -------------------\nvar scheduleMicrotask = typeof queueMicrotask === 'function' ? queueMicrotask : typeof localPromise !== 'undefined' ? function (callback) {\n return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);\n} : scheduleTimeout; // TODO: Determine the best fallback here.\n\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n} // -------------------\nfunction commitMount(domElement, type, newProps, internalInstanceHandle) {\n // Despite the naming that might imply otherwise, this method only\n // fires if there is an `Update` effect scheduled during mounting.\n // This happens if `finalizeInitialChildren` returns `true` (which it\n // does to implement the `autoFocus` attribute on the client). But\n // there are also other cases when this might happen (such as patching\n // up text content during hydration mismatch). So we'll check this again.\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n if (newProps.autoFocus) {\n domElement.focus();\n }\n\n return;\n\n case 'img':\n {\n if (newProps.src) {\n domElement.src = newProps.src;\n }\n\n return;\n }\n }\n}\nfunction commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) {\n // Apply the diff to the DOM node.\n updateProperties(domElement, updatePayload, type, oldProps, newProps); // Update the props handle so that we know which props are the ones with\n // with current event handlers.\n\n updateFiberProps(domElement, newProps);\n}\nfunction resetTextContent(domElement) {\n setTextContent(domElement, '');\n}\nfunction commitTextUpdate(textInstance, oldText, newText) {\n textInstance.nodeValue = newText;\n}\nfunction appendChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction appendChildToContainer(container, child) {\n var parentNode;\n\n if (container.nodeType === COMMENT_NODE) {\n parentNode = container.parentNode;\n parentNode.insertBefore(child, container);\n } else {\n parentNode = container;\n parentNode.appendChild(child);\n } // This container might be used for a portal.\n // If something inside a portal is clicked, that click should bubble\n // through the React tree. However, on Mobile Safari the click would\n // never bubble through the *DOM* tree unless an ancestor with onclick\n // event exists. So we wouldn't see it and dispatch it.\n // This is why we ensure that non React root containers have inline onclick\n // defined.\n // https://github.com/facebook/react/issues/11918\n\n\n var reactRootContainer = container._reactRootContainer;\n\n if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(parentNode);\n }\n}\nfunction insertBefore(parentInstance, child, beforeChild) {\n parentInstance.insertBefore(child, beforeChild);\n}\nfunction insertInContainerBefore(container, child, beforeChild) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.insertBefore(child, beforeChild);\n } else {\n container.insertBefore(child, beforeChild);\n }\n}\n\nfunction removeChild(parentInstance, child) {\n parentInstance.removeChild(child);\n}\nfunction removeChildFromContainer(container, child) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.removeChild(child);\n } else {\n container.removeChild(child);\n }\n}\nfunction clearSuspenseBoundary(parentInstance, suspenseInstance) {\n var node = suspenseInstance; // Delete all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n\n if (nextNode && nextNode.nodeType === COMMENT_NODE) {\n var data = nextNode.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n parentInstance.removeChild(nextNode); // Retry if any event replaying was blocked on this.\n\n retryIfBlockedOn(suspenseInstance);\n return;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_PENDING_START_DATA || data === SUSPENSE_FALLBACK_START_DATA) {\n depth++;\n }\n }\n\n node = nextNode;\n } while (node); // TODO: Warn, we didn't find the end comment boundary.\n // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(suspenseInstance);\n}\nfunction clearSuspenseBoundaryFromContainer(container, suspenseInstance) {\n if (container.nodeType === COMMENT_NODE) {\n clearSuspenseBoundary(container.parentNode, suspenseInstance);\n } else if (container.nodeType === ELEMENT_NODE) {\n clearSuspenseBoundary(container, suspenseInstance);\n } // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(container);\n}\nfunction hideInstance(instance) {\n // TODO: Does this work for all element types? What about MathML? Should we\n // pass host context to this method?\n instance = instance;\n var style = instance.style;\n\n if (typeof style.setProperty === 'function') {\n style.setProperty('display', 'none', 'important');\n } else {\n style.display = 'none';\n }\n}\nfunction hideTextInstance(textInstance) {\n textInstance.nodeValue = '';\n}\nfunction unhideInstance(instance, props) {\n instance = instance;\n var styleProp = props[STYLE$1];\n var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null;\n instance.style.display = dangerousStyleValue('display', display);\n}\nfunction unhideTextInstance(textInstance, text) {\n textInstance.nodeValue = text;\n}\nfunction clearContainer(container) {\n if (container.nodeType === ELEMENT_NODE) {\n container.textContent = '';\n } else if (container.nodeType === DOCUMENT_NODE) {\n if (container.documentElement) {\n container.removeChild(container.documentElement);\n }\n }\n} // -------------------\nfunction canHydrateInstance(instance, type, props) {\n if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) {\n return null;\n } // This has now been refined to an element node.\n\n\n return instance;\n}\nfunction canHydrateTextInstance(instance, text) {\n if (text === '' || instance.nodeType !== TEXT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a text node.\n\n\n return instance;\n}\nfunction canHydrateSuspenseInstance(instance) {\n if (instance.nodeType !== COMMENT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a suspense node.\n\n\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return instance.data === SUSPENSE_PENDING_START_DATA;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return instance.data === SUSPENSE_FALLBACK_START_DATA;\n}\nfunction getSuspenseInstanceFallbackErrorDetails(instance) {\n var dataset = instance.nextSibling && instance.nextSibling.dataset;\n var digest, message, stack;\n\n if (dataset) {\n digest = dataset.dgst;\n\n {\n message = dataset.msg;\n stack = dataset.stck;\n }\n }\n\n {\n return {\n message: message,\n digest: digest,\n stack: stack\n };\n } // let value = {message: undefined, hash: undefined};\n // const nextSibling = instance.nextSibling;\n // if (nextSibling) {\n // const dataset = ((nextSibling: any): HTMLTemplateElement).dataset;\n // value.message = dataset.msg;\n // value.hash = dataset.hash;\n // if (true) {\n // value.stack = dataset.stack;\n // }\n // }\n // return value;\n\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n instance._reactRetry = callback;\n}\n\nfunction getNextHydratable(node) {\n // Skip non-hydratable nodes.\n for (; node != null; node = node.nextSibling) {\n var nodeType = node.nodeType;\n\n if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) {\n break;\n }\n\n if (nodeType === COMMENT_NODE) {\n var nodeData = node.data;\n\n if (nodeData === SUSPENSE_START_DATA || nodeData === SUSPENSE_FALLBACK_START_DATA || nodeData === SUSPENSE_PENDING_START_DATA) {\n break;\n }\n\n if (nodeData === SUSPENSE_END_DATA) {\n return null;\n }\n }\n }\n\n return node;\n}\n\nfunction getNextHydratableSibling(instance) {\n return getNextHydratable(instance.nextSibling);\n}\nfunction getFirstHydratableChild(parentInstance) {\n return getNextHydratable(parentInstance.firstChild);\n}\nfunction getFirstHydratableChildWithinContainer(parentContainer) {\n return getNextHydratable(parentContainer.firstChild);\n}\nfunction getFirstHydratableChildWithinSuspenseInstance(parentInstance) {\n return getNextHydratable(parentInstance.nextSibling);\n}\nfunction hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events\n // get attached.\n\n updateFiberProps(instance, props);\n var parentNamespace;\n\n {\n var hostContextDev = hostContext;\n parentNamespace = hostContextDev.namespace;\n } // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance, isConcurrentMode, shouldWarnDev);\n}\nfunction hydrateTextInstance(textInstance, text, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, textInstance); // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedText(textInstance, text);\n}\nfunction hydrateSuspenseInstance(suspenseInstance, internalInstanceHandle) {\n precacheFiberNode(internalInstanceHandle, suspenseInstance);\n}\nfunction getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {\n var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n return getNextHydratableSibling(node);\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n depth++;\n }\n }\n\n node = node.nextSibling;\n } // TODO: Warn, we didn't find the end comment boundary.\n\n\n return null;\n} // Returns the SuspenseInstance if this node is a direct child of a\n// SuspenseInstance. I.e. if its previous sibling is a Comment with\n// SUSPENSE_x_START_DATA. Otherwise, null.\n\nfunction getParentSuspenseInstance(targetInstance) {\n var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n if (depth === 0) {\n return node;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_END_DATA) {\n depth++;\n }\n }\n\n node = node.previousSibling;\n }\n\n return null;\n}\nfunction commitHydratedContainer(container) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(container);\n}\nfunction commitHydratedSuspenseInstance(suspenseInstance) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(suspenseInstance);\n}\nfunction shouldDeleteUnhydratedTailInstances(parentType) {\n return parentType !== 'head' && parentType !== 'body';\n}\nfunction didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text, isConcurrentMode) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n}\nfunction didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text, isConcurrentMode) {\n if (parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n }\n}\nfunction didNotHydrateInstanceWithinContainer(parentContainer, instance) {\n {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentContainer, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentContainer, instance);\n }\n }\n}\nfunction didNotHydrateInstanceWithinSuspenseInstance(parentInstance, instance) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n\n if (parentNode !== null) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentNode, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentNode, instance);\n }\n }\n }\n}\nfunction didNotHydrateInstance(parentType, parentProps, parentInstance, instance, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentInstance, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentInstance, instance);\n }\n }\n }\n}\nfunction didNotFindHydratableInstanceWithinContainer(parentContainer, type, props) {\n {\n warnForInsertedHydratedElement(parentContainer, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinContainer(parentContainer, text) {\n {\n warnForInsertedHydratedText(parentContainer, text);\n }\n}\nfunction didNotFindHydratableInstanceWithinSuspenseInstance(parentInstance, type, props) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedElement(parentNode, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinSuspenseInstance(parentInstance, text) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedText(parentNode, text);\n }\n}\nfunction didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedElement(parentInstance, type);\n }\n }\n}\nfunction didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedText(parentInstance, text);\n }\n }\n}\nfunction errorHydratingContainer(parentContainer) {\n {\n // TODO: This gets logged by onRecoverableError, too, so we should be\n // able to remove it.\n error('An error occurred during hydration. The server HTML was replaced with client content in <%s>.', parentContainer.nodeName.toLowerCase());\n }\n}\nfunction preparePortalMount(portalInstance) {\n listenToAllSupportedEvents(portalInstance);\n}\n\nvar randomKey = Math.random().toString(36).slice(2);\nvar internalInstanceKey = '__reactFiber$' + randomKey;\nvar internalPropsKey = '__reactProps$' + randomKey;\nvar internalContainerInstanceKey = '__reactContainer$' + randomKey;\nvar internalEventHandlersKey = '__reactEvents$' + randomKey;\nvar internalEventHandlerListenersKey = '__reactListeners$' + randomKey;\nvar internalEventHandlesSetKey = '__reactHandles$' + randomKey;\nfunction detachDeletedInstance(node) {\n // TODO: This function is only called on host components. I don't think all of\n // these fields are relevant.\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction precacheFiberNode(hostInst, node) {\n node[internalInstanceKey] = hostInst;\n}\nfunction markContainerAsRoot(hostRoot, node) {\n node[internalContainerInstanceKey] = hostRoot;\n}\nfunction unmarkContainerAsRoot(node) {\n node[internalContainerInstanceKey] = null;\n}\nfunction isContainerMarkedAsRoot(node) {\n return !!node[internalContainerInstanceKey];\n} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor.\n// If the target node is part of a hydrated or not yet rendered subtree, then\n// this may also return a SuspenseComponent or HostRoot to indicate that.\n// Conceptually the HostRoot fiber is a child of the Container node. So if you\n// pass the Container node as the targetNode, you will not actually get the\n// HostRoot back. To get to the HostRoot, you need to pass a child of it.\n// The same thing applies to Suspense boundaries.\n\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n\n if (targetInst) {\n // Don't return HostRoot or SuspenseComponent here.\n return targetInst;\n } // If the direct event target isn't a React owned DOM node, we need to look\n // to see if one of its parents is a React owned DOM node.\n\n\n var parentNode = targetNode.parentNode;\n\n while (parentNode) {\n // We'll check if this is a container root that could include\n // React nodes in the future. We need to check this first because\n // if we're a child of a dehydrated container, we need to first\n // find that inner container before moving on to finding the parent\n // instance. Note that we don't check this field on the targetNode\n // itself because the fibers are conceptually between the container\n // node and the first child. It isn't surrounding the container node.\n // If it's not a container, we check if it's an instance.\n targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey];\n\n if (targetInst) {\n // Since this wasn't the direct target of the event, we might have\n // stepped past dehydrated DOM nodes to get here. However they could\n // also have been non-React nodes. We need to answer which one.\n // If we the instance doesn't have any children, then there can't be\n // a nested suspense boundary within it. So we can use this as a fast\n // bailout. Most of the time, when people add non-React children to\n // the tree, it is using a ref to a child-less DOM node.\n // Normally we'd only need to check one of the fibers because if it\n // has ever gone from having children to deleting them or vice versa\n // it would have deleted the dehydrated boundary nested inside already.\n // However, since the HostRoot starts out with an alternate it might\n // have one on the alternate so we need to check in case this was a\n // root.\n var alternate = targetInst.alternate;\n\n if (targetInst.child !== null || alternate !== null && alternate.child !== null) {\n // Next we need to figure out if the node that skipped past is\n // nested within a dehydrated boundary and if so, which one.\n var suspenseInstance = getParentSuspenseInstance(targetNode);\n\n while (suspenseInstance !== null) {\n // We found a suspense instance. That means that we haven't\n // hydrated it yet. Even though we leave the comments in the\n // DOM after hydrating, and there are boundaries in the DOM\n // that could already be hydrated, we wouldn't have found them\n // through this pass since if the target is hydrated it would\n // have had an internalInstanceKey on it.\n // Let's get the fiber associated with the SuspenseComponent\n // as the deepest instance.\n var targetSuspenseInst = suspenseInstance[internalInstanceKey];\n\n if (targetSuspenseInst) {\n return targetSuspenseInst;\n } // If we don't find a Fiber on the comment, it might be because\n // we haven't gotten to hydrate it yet. There might still be a\n // parent boundary that hasn't above this one so we need to find\n // the outer most that is known.\n\n\n suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent\n // host component also hasn't hydrated yet. We can return it\n // below since it will bail out on the isMounted check later.\n }\n }\n\n return targetInst;\n }\n\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n\n return null;\n}\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\n\nfunction getInstanceFromNode(node) {\n var inst = node[internalInstanceKey] || node[internalContainerInstanceKey];\n\n if (inst) {\n if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) {\n return inst;\n } else {\n return null;\n }\n }\n\n return null;\n}\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\n\nfunction getNodeFromInstance(inst) {\n if (inst.tag === HostComponent || inst.tag === HostText) {\n // In Fiber this, is just the state node right now. We assume it will be\n // a host component or host text.\n return inst.stateNode;\n } // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n\n\n throw new Error('getNodeFromInstance: Invalid argument.');\n}\nfunction getFiberCurrentPropsFromNode(node) {\n return node[internalPropsKey] || null;\n}\nfunction updateFiberProps(node, props) {\n node[internalPropsKey] = props;\n}\nfunction getEventListenerSet(node) {\n var elementListenerSet = node[internalEventHandlersKey];\n\n if (elementListenerSet === undefined) {\n elementListenerSet = node[internalEventHandlersKey] = new Set();\n }\n\n return elementListenerSet;\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar valueStack = [];\nvar fiberStack;\n\n{\n fiberStack = [];\n}\n\nvar index = -1;\n\nfunction createCursor(defaultValue) {\n return {\n current: defaultValue\n };\n}\n\nfunction pop(cursor, fiber) {\n if (index < 0) {\n {\n error('Unexpected pop.');\n }\n\n return;\n }\n\n {\n if (fiber !== fiberStack[index]) {\n error('Unexpected Fiber popped.');\n }\n }\n\n cursor.current = valueStack[index];\n valueStack[index] = null;\n\n {\n fiberStack[index] = null;\n }\n\n index--;\n}\n\nfunction push(cursor, value, fiber) {\n index++;\n valueStack[index] = cursor.current;\n\n {\n fiberStack[index] = fiber;\n }\n\n cursor.current = value;\n}\n\nvar warnedAboutMissingGetChildContext;\n\n{\n warnedAboutMissingGetChildContext = {};\n}\n\nvar emptyContextObject = {};\n\n{\n Object.freeze(emptyContextObject);\n} // A cursor to the current merged context object on the stack.\n\n\nvar contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed.\n\nvar didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack.\n// We use this to get access to the parent context after we have already\n// pushed the next context provider, and now need to merge their contexts.\n\nvar previousContext = emptyContextObject;\n\nfunction getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) {\n {\n if (didPushOwnContextIfProvider && isContextProvider(Component)) {\n // If the fiber is a context provider itself, when we read its context\n // we may have already pushed its own child context on the stack. A context\n // provider should not \"see\" its own child context. Therefore we read the\n // previous (parent) context instead for a context provider.\n return previousContext;\n }\n\n return contextStackCursor.current;\n }\n}\n\nfunction cacheContext(workInProgress, unmaskedContext, maskedContext) {\n {\n var instance = workInProgress.stateNode;\n instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext;\n instance.__reactInternalMemoizedMaskedChildContext = maskedContext;\n }\n}\n\nfunction getMaskedContext(workInProgress, unmaskedContext) {\n {\n var type = workInProgress.type;\n var contextTypes = type.contextTypes;\n\n if (!contextTypes) {\n return emptyContextObject;\n } // Avoid recreating masked context unless unmasked context has changed.\n // Failing to do this will result in unnecessary calls to componentWillReceiveProps.\n // This may trigger infinite loops if componentWillReceiveProps calls setState.\n\n\n var instance = workInProgress.stateNode;\n\n if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) {\n return instance.__reactInternalMemoizedMaskedChildContext;\n }\n\n var context = {};\n\n for (var key in contextTypes) {\n context[key] = unmaskedContext[key];\n }\n\n {\n var name = getComponentNameFromFiber(workInProgress) || 'Unknown';\n checkPropTypes(contextTypes, context, 'context', name);\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // Context is created before the class component is instantiated so check for instance.\n\n\n if (instance) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return context;\n }\n}\n\nfunction hasContextChanged() {\n {\n return didPerformWorkStackCursor.current;\n }\n}\n\nfunction isContextProvider(type) {\n {\n var childContextTypes = type.childContextTypes;\n return childContextTypes !== null && childContextTypes !== undefined;\n }\n}\n\nfunction popContext(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction popTopLevelContextObject(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction pushTopLevelContextObject(fiber, context, didChange) {\n {\n if (contextStackCursor.current !== emptyContextObject) {\n throw new Error('Unexpected context found on stack. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n push(contextStackCursor, context, fiber);\n push(didPerformWorkStackCursor, didChange, fiber);\n }\n}\n\nfunction processChildContext(fiber, type, parentContext) {\n {\n var instance = fiber.stateNode;\n var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future.\n // It has only been added in Fiber to match the (unintentional) behavior in Stack.\n\n if (typeof instance.getChildContext !== 'function') {\n {\n var componentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n if (!warnedAboutMissingGetChildContext[componentName]) {\n warnedAboutMissingGetChildContext[componentName] = true;\n\n error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);\n }\n }\n\n return parentContext;\n }\n\n var childContext = instance.getChildContext();\n\n for (var contextKey in childContext) {\n if (!(contextKey in childContextTypes)) {\n throw new Error((getComponentNameFromFiber(fiber) || 'Unknown') + \".getChildContext(): key \\\"\" + contextKey + \"\\\" is not defined in childContextTypes.\");\n }\n }\n\n {\n var name = getComponentNameFromFiber(fiber) || 'Unknown';\n checkPropTypes(childContextTypes, childContext, 'child context', name);\n }\n\n return assign({}, parentContext, childContext);\n }\n}\n\nfunction pushContextProvider(workInProgress) {\n {\n var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity.\n // If the instance does not exist yet, we will push null at first,\n // and replace it on the stack later when invalidating the context.\n\n var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later.\n // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates.\n\n previousContext = contextStackCursor.current;\n push(contextStackCursor, memoizedMergedChildContext, workInProgress);\n push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress);\n return true;\n }\n}\n\nfunction invalidateContextProvider(workInProgress, type, didChange) {\n {\n var instance = workInProgress.stateNode;\n\n if (!instance) {\n throw new Error('Expected to have an instance by this point. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n if (didChange) {\n // Merge parent and own context.\n // Skip this if we're not updating due to sCU.\n // This avoids unnecessarily recomputing memoized values.\n var mergedContext = processChildContext(workInProgress, type, previousContext);\n instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one.\n // It is important to unwind the context in the reverse order.\n\n pop(didPerformWorkStackCursor, workInProgress);\n pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed.\n\n push(contextStackCursor, mergedContext, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n } else {\n pop(didPerformWorkStackCursor, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n }\n }\n}\n\nfunction findCurrentUnmaskedContext(fiber) {\n {\n // Currently this is only used with renderSubtreeIntoContainer; not sure if it\n // makes sense elsewhere\n if (!isFiberMounted(fiber) || fiber.tag !== ClassComponent) {\n throw new Error('Expected subtree parent to be a mounted class component. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var node = fiber;\n\n do {\n switch (node.tag) {\n case HostRoot:\n return node.stateNode.context;\n\n case ClassComponent:\n {\n var Component = node.type;\n\n if (isContextProvider(Component)) {\n return node.stateNode.__reactInternalMemoizedMergedChildContext;\n }\n\n break;\n }\n }\n\n node = node.return;\n } while (node !== null);\n\n throw new Error('Found unexpected detached subtree parent. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n}\n\nvar LegacyRoot = 0;\nvar ConcurrentRoot = 1;\n\nvar syncQueue = null;\nvar includesLegacySyncCallbacks = false;\nvar isFlushingSyncQueue = false;\nfunction scheduleSyncCallback(callback) {\n // Push this callback into an internal queue. We'll flush these either in\n // the next tick, or earlier if something calls `flushSyncCallbackQueue`.\n if (syncQueue === null) {\n syncQueue = [callback];\n } else {\n // Push onto existing queue. Don't need to schedule a callback because\n // we already scheduled one when we created the queue.\n syncQueue.push(callback);\n }\n}\nfunction scheduleLegacySyncCallback(callback) {\n includesLegacySyncCallbacks = true;\n scheduleSyncCallback(callback);\n}\nfunction flushSyncCallbacksOnlyInLegacyMode() {\n // Only flushes the queue if there's a legacy sync callback scheduled.\n // TODO: There's only a single type of callback: performSyncOnWorkOnRoot. So\n // it might make more sense for the queue to be a list of roots instead of a\n // list of generic callbacks. Then we can have two: one for legacy roots, one\n // for concurrent roots. And this method would only flush the legacy ones.\n if (includesLegacySyncCallbacks) {\n flushSyncCallbacks();\n }\n}\nfunction flushSyncCallbacks() {\n if (!isFlushingSyncQueue && syncQueue !== null) {\n // Prevent re-entrance.\n isFlushingSyncQueue = true;\n var i = 0;\n var previousUpdatePriority = getCurrentUpdatePriority();\n\n try {\n var isSync = true;\n var queue = syncQueue; // TODO: Is this necessary anymore? The only user code that runs in this\n // queue is in the render or commit phases.\n\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(isSync);\n } while (callback !== null);\n }\n\n syncQueue = null;\n includesLegacySyncCallbacks = false;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n if (syncQueue !== null) {\n syncQueue = syncQueue.slice(i + 1);\n } // Resume flushing in the next tick\n\n\n scheduleCallback(ImmediatePriority, flushSyncCallbacks);\n throw error;\n } finally {\n setCurrentUpdatePriority(previousUpdatePriority);\n isFlushingSyncQueue = false;\n }\n }\n\n return null;\n}\n\n// TODO: Use the unified fiber stack module instead of this local one?\n// Intentionally not using it yet to derisk the initial implementation, because\n// the way we push/pop these values is a bit unusual. If there's a mistake, I'd\n// rather the ids be wrong than crash the whole reconciler.\nvar forkStack = [];\nvar forkStackIndex = 0;\nvar treeForkProvider = null;\nvar treeForkCount = 0;\nvar idStack = [];\nvar idStackIndex = 0;\nvar treeContextProvider = null;\nvar treeContextId = 1;\nvar treeContextOverflow = '';\nfunction isForkedChild(workInProgress) {\n warnIfNotHydrating();\n return (workInProgress.flags & Forked) !== NoFlags;\n}\nfunction getForksAtLevel(workInProgress) {\n warnIfNotHydrating();\n return treeForkCount;\n}\nfunction getTreeId() {\n var overflow = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n var id = idWithLeadingBit & ~getLeadingBit(idWithLeadingBit);\n return id.toString(32) + overflow;\n}\nfunction pushTreeFork(workInProgress, totalChildren) {\n // This is called right after we reconcile an array (or iterator) of child\n // fibers, because that's the only place where we know how many children in\n // the whole set without doing extra work later, or storing addtional\n // information on the fiber.\n //\n // That's why this function is separate from pushTreeId — it's called during\n // the render phase of the fork parent, not the child, which is where we push\n // the other context values.\n //\n // In the Fizz implementation this is much simpler because the child is\n // rendered in the same callstack as the parent.\n //\n // It might be better to just add a `forks` field to the Fiber type. It would\n // make this module simpler.\n warnIfNotHydrating();\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n var baseOverflow = treeContextOverflow; // The leftmost 1 marks the end of the sequence, non-inclusive. It's not part\n // of the id; we use it to account for leading 0s.\n\n var baseLength = getBitLength(baseIdWithLeadingBit) - 1;\n var baseId = baseIdWithLeadingBit & ~(1 << baseLength);\n var slot = index + 1;\n var length = getBitLength(totalChildren) + baseLength; // 30 is the max length we can store without overflowing, taking into\n // consideration the leading 1 we use to mark the end of the sequence.\n\n if (length > 30) {\n // We overflowed the bitwise-safe range. Fall back to slower algorithm.\n // This branch assumes the length of the base id is greater than 5; it won't\n // work for smaller ids, because you need 5 bits per character.\n //\n // We encode the id in multiple steps: first the base id, then the\n // remaining digits.\n //\n // Each 5 bit sequence corresponds to a single base 32 character. So for\n // example, if the current id is 23 bits long, we can convert 20 of those\n // bits into a string of 4 characters, with 3 bits left over.\n //\n // First calculate how many bits in the base id represent a complete\n // sequence of characters.\n var numberOfOverflowBits = baseLength - baseLength % 5; // Then create a bitmask that selects only those bits.\n\n var newOverflowBits = (1 << numberOfOverflowBits) - 1; // Select the bits, and convert them to a base 32 string.\n\n var newOverflow = (baseId & newOverflowBits).toString(32); // Now we can remove those bits from the base id.\n\n var restOfBaseId = baseId >> numberOfOverflowBits;\n var restOfBaseLength = baseLength - numberOfOverflowBits; // Finally, encode the rest of the bits using the normal algorithm. Because\n // we made more room, this time it won't overflow.\n\n var restOfLength = getBitLength(totalChildren) + restOfBaseLength;\n var restOfNewBits = slot << restOfBaseLength;\n var id = restOfNewBits | restOfBaseId;\n var overflow = newOverflow + baseOverflow;\n treeContextId = 1 << restOfLength | id;\n treeContextOverflow = overflow;\n } else {\n // Normal path\n var newBits = slot << baseLength;\n\n var _id = newBits | baseId;\n\n var _overflow = baseOverflow;\n treeContextId = 1 << length | _id;\n treeContextOverflow = _overflow;\n }\n}\nfunction pushMaterializedTreeId(workInProgress) {\n warnIfNotHydrating(); // This component materialized an id. This will affect any ids that appear\n // in its children.\n\n var returnFiber = workInProgress.return;\n\n if (returnFiber !== null) {\n var numberOfForks = 1;\n var slotIndex = 0;\n pushTreeFork(workInProgress, numberOfForks);\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n}\n\nfunction getBitLength(number) {\n return 32 - clz32(number);\n}\n\nfunction getLeadingBit(id) {\n return 1 << getBitLength(id) - 1;\n}\n\nfunction popTreeContext(workInProgress) {\n // Restore the previous values.\n // This is a bit more complicated than other context-like modules in Fiber\n // because the same Fiber may appear on the stack multiple times and for\n // different reasons. We have to keep popping until the work-in-progress is\n // no longer at the top of the stack.\n while (workInProgress === treeForkProvider) {\n treeForkProvider = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n treeForkCount = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n }\n\n while (workInProgress === treeContextProvider) {\n treeContextProvider = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextOverflow = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextId = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n }\n}\nfunction getSuspendedTreeContext() {\n warnIfNotHydrating();\n\n if (treeContextProvider !== null) {\n return {\n id: treeContextId,\n overflow: treeContextOverflow\n };\n } else {\n return null;\n }\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\n\nfunction warnIfNotHydrating() {\n {\n if (!getIsHydrating()) {\n error('Expected to be hydrating. This is a bug in React. Please file ' + 'an issue.');\n }\n }\n}\n\n// This may have been an insertion or a hydration.\n\nvar hydrationParentFiber = null;\nvar nextHydratableInstance = null;\nvar isHydrating = false; // This flag allows for warning supression when we expect there to be mismatches\n// due to earlier mismatches or a suspended fiber.\n\nvar didSuspendOrErrorDEV = false; // Hydration errors that were thrown inside this boundary\n\nvar hydrationErrors = null;\n\nfunction warnIfHydrating() {\n {\n if (isHydrating) {\n error('We should not be hydrating here. This is a bug in React. Please file a bug.');\n }\n }\n}\n\nfunction markDidThrowWhileHydratingDEV() {\n {\n didSuspendOrErrorDEV = true;\n }\n}\nfunction didSuspendOrErrorWhileHydratingDEV() {\n {\n return didSuspendOrErrorDEV;\n }\n}\n\nfunction enterHydrationState(fiber) {\n\n var parentInstance = fiber.stateNode.containerInfo;\n nextHydratableInstance = getFirstHydratableChildWithinContainer(parentInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n return true;\n}\n\nfunction reenterHydrationStateFromDehydratedSuspenseInstance(fiber, suspenseInstance, treeContext) {\n\n nextHydratableInstance = getFirstHydratableChildWithinSuspenseInstance(suspenseInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n\n if (treeContext !== null) {\n restoreSuspendedTreeContext(fiber, treeContext);\n }\n\n return true;\n}\n\nfunction warnUnhydratedInstance(returnFiber, instance) {\n {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n didNotHydrateInstanceWithinContainer(returnFiber.stateNode.containerInfo, instance);\n break;\n }\n\n case HostComponent:\n {\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n if (suspenseState.dehydrated !== null) didNotHydrateInstanceWithinSuspenseInstance(suspenseState.dehydrated, instance);\n break;\n }\n }\n }\n}\n\nfunction deleteHydratableInstance(returnFiber, instance) {\n warnUnhydratedInstance(returnFiber, instance);\n var childToDelete = createFiberFromHostInstanceForDeletion();\n childToDelete.stateNode = instance;\n childToDelete.return = returnFiber;\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n}\n\nfunction warnNonhydratedInstance(returnFiber, fiber) {\n {\n if (didSuspendOrErrorDEV) {\n // Inside a boundary that already suspended. We're currently rendering the\n // siblings of a suspended node. The mismatch may be due to the missing\n // data, so it's probably a false positive.\n return;\n }\n\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n\n switch (fiber.tag) {\n case HostComponent:\n var type = fiber.type;\n var props = fiber.pendingProps;\n didNotFindHydratableInstanceWithinContainer(parentContainer, type);\n break;\n\n case HostText:\n var text = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinContainer(parentContainer, text);\n break;\n }\n\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n switch (fiber.tag) {\n case HostComponent:\n {\n var _type = fiber.type;\n var _props = fiber.pendingProps;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostText:\n {\n var _text = fiber.pendingProps;\n\n var _isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode);\n break;\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n var _parentInstance = suspenseState.dehydrated;\n if (_parentInstance !== null) switch (fiber.tag) {\n case HostComponent:\n var _type2 = fiber.type;\n var _props2 = fiber.pendingProps;\n didNotFindHydratableInstanceWithinSuspenseInstance(_parentInstance, _type2);\n break;\n\n case HostText:\n var _text2 = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinSuspenseInstance(_parentInstance, _text2);\n break;\n }\n break;\n }\n\n default:\n return;\n }\n }\n}\n\nfunction insertNonHydratedInstance(returnFiber, fiber) {\n fiber.flags = fiber.flags & ~Hydrating | Placement;\n warnNonhydratedInstance(returnFiber, fiber);\n}\n\nfunction tryHydrate(fiber, nextInstance) {\n switch (fiber.tag) {\n case HostComponent:\n {\n var type = fiber.type;\n var props = fiber.pendingProps;\n var instance = canHydrateInstance(nextInstance, type);\n\n if (instance !== null) {\n fiber.stateNode = instance;\n hydrationParentFiber = fiber;\n nextHydratableInstance = getFirstHydratableChild(instance);\n return true;\n }\n\n return false;\n }\n\n case HostText:\n {\n var text = fiber.pendingProps;\n var textInstance = canHydrateTextInstance(nextInstance, text);\n\n if (textInstance !== null) {\n fiber.stateNode = textInstance;\n hydrationParentFiber = fiber; // Text Instances don't have children so there's nothing to hydrate.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n case SuspenseComponent:\n {\n var suspenseInstance = canHydrateSuspenseInstance(nextInstance);\n\n if (suspenseInstance !== null) {\n var suspenseState = {\n dehydrated: suspenseInstance,\n treeContext: getSuspendedTreeContext(),\n retryLane: OffscreenLane\n };\n fiber.memoizedState = suspenseState; // Store the dehydrated fragment as a child fiber.\n // This simplifies the code for getHostSibling and deleting nodes,\n // since it doesn't have to consider all Suspense boundaries and\n // check if they're dehydrated ones or not.\n\n var dehydratedFragment = createFiberFromDehydratedFragment(suspenseInstance);\n dehydratedFragment.return = fiber;\n fiber.child = dehydratedFragment;\n hydrationParentFiber = fiber; // While a Suspense Instance does have children, we won't step into\n // it during the first pass. Instead, we'll reenter it later.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n default:\n return false;\n }\n}\n\nfunction shouldClientRenderOnMismatch(fiber) {\n return (fiber.mode & ConcurrentMode) !== NoMode && (fiber.flags & DidCapture) === NoFlags;\n}\n\nfunction throwOnHydrationMismatch(fiber) {\n throw new Error('Hydration failed because the initial UI does not match what was ' + 'rendered on the server.');\n}\n\nfunction tryToClaimNextHydratableInstance(fiber) {\n if (!isHydrating) {\n return;\n }\n\n var nextInstance = nextHydratableInstance;\n\n if (!nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // Nothing to hydrate. Make it an insertion.\n\n\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n }\n\n var firstAttemptedInstance = nextInstance;\n\n if (!tryHydrate(fiber, nextInstance)) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // If we can't hydrate this instance let's try the next one.\n // We use this as a heuristic. It's based on intuition and not data so it\n // might be flawed or unnecessary.\n\n\n nextInstance = getNextHydratableSibling(firstAttemptedInstance);\n var prevHydrationParentFiber = hydrationParentFiber;\n\n if (!nextInstance || !tryHydrate(fiber, nextInstance)) {\n // Nothing to hydrate. Make it an insertion.\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n } // We matched the next one, we'll now assume that the first one was\n // superfluous and we'll delete it. Since we can't eagerly delete it\n // we'll have to schedule a deletion. To do that, this node needs a dummy\n // fiber associated with it.\n\n\n deleteHydratableInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n}\n\nfunction prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) {\n\n var instance = fiber.stateNode;\n var shouldWarnIfMismatchDev = !didSuspendOrErrorDEV;\n var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber, shouldWarnIfMismatchDev); // TODO: Type this specific to this type of component.\n\n fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update.\n\n if (updatePayload !== null) {\n return true;\n }\n\n return false;\n}\n\nfunction prepareToHydrateHostTextInstance(fiber) {\n\n var textInstance = fiber.stateNode;\n var textContent = fiber.memoizedProps;\n var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber);\n\n if (shouldUpdate) {\n // We assume that prepareToHydrateHostTextInstance is called in a context where the\n // hydration parent is the parent host component of this host text.\n var returnFiber = hydrationParentFiber;\n\n if (returnFiber !== null) {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n var _isConcurrentMode2 = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode2);\n break;\n }\n }\n }\n }\n\n return shouldUpdate;\n}\n\nfunction prepareToHydrateHostSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n hydrateSuspenseInstance(suspenseInstance, fiber);\n}\n\nfunction skipPastDehydratedSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance);\n}\n\nfunction popToNextHostParent(fiber) {\n var parent = fiber.return;\n\n while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) {\n parent = parent.return;\n }\n\n hydrationParentFiber = parent;\n}\n\nfunction popHydrationState(fiber) {\n\n if (fiber !== hydrationParentFiber) {\n // We're deeper than the current hydration context, inside an inserted\n // tree.\n return false;\n }\n\n if (!isHydrating) {\n // If we're not currently hydrating but we're in a hydration context, then\n // we were an insertion and now need to pop up reenter hydration of our\n // siblings.\n popToNextHostParent(fiber);\n isHydrating = true;\n return false;\n } // If we have any remaining hydratable nodes, we need to delete them now.\n // We only do this deeper than head and body since they tend to have random\n // other nodes in them. We also ignore components with pure text content in\n // side of them. We also don't delete anything inside the root container.\n\n\n if (fiber.tag !== HostRoot && (fiber.tag !== HostComponent || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps))) {\n var nextInstance = nextHydratableInstance;\n\n if (nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnIfUnhydratedTailNodes(fiber);\n throwOnHydrationMismatch();\n } else {\n while (nextInstance) {\n deleteHydratableInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n }\n }\n }\n\n popToNextHostParent(fiber);\n\n if (fiber.tag === SuspenseComponent) {\n nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber);\n } else {\n nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;\n }\n\n return true;\n}\n\nfunction hasUnhydratedTailNodes() {\n return isHydrating && nextHydratableInstance !== null;\n}\n\nfunction warnIfUnhydratedTailNodes(fiber) {\n var nextInstance = nextHydratableInstance;\n\n while (nextInstance) {\n warnUnhydratedInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n}\n\nfunction resetHydrationState() {\n\n hydrationParentFiber = null;\n nextHydratableInstance = null;\n isHydrating = false;\n didSuspendOrErrorDEV = false;\n}\n\nfunction upgradeHydrationErrorsToRecoverable() {\n if (hydrationErrors !== null) {\n // Successfully completed a forced client render. The errors that occurred\n // during the hydration attempt are now recovered. We will log them in\n // commit phase, once the entire tree has finished.\n queueRecoverableErrors(hydrationErrors);\n hydrationErrors = null;\n }\n}\n\nfunction getIsHydrating() {\n return isHydrating;\n}\n\nfunction queueHydrationError(error) {\n if (hydrationErrors === null) {\n hydrationErrors = [error];\n } else {\n hydrationErrors.push(error);\n }\n}\n\nvar ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar NoTransition = null;\nfunction requestCurrentTransition() {\n return ReactCurrentBatchConfig$1.transition;\n}\n\nvar ReactStrictModeWarnings = {\n recordUnsafeLifecycleWarnings: function (fiber, instance) {},\n flushPendingUnsafeLifecycleWarnings: function () {},\n recordLegacyContextWarning: function (fiber, instance) {},\n flushLegacyContextWarning: function () {},\n discardPendingWarnings: function () {}\n};\n\n{\n var findStrictRoot = function (fiber) {\n var maybeStrictRoot = null;\n var node = fiber;\n\n while (node !== null) {\n if (node.mode & StrictLegacyMode) {\n maybeStrictRoot = node;\n }\n\n node = node.return;\n }\n\n return maybeStrictRoot;\n };\n\n var setToSortedString = function (set) {\n var array = [];\n set.forEach(function (value) {\n array.push(value);\n });\n return array.sort().join(', ');\n };\n\n var pendingComponentWillMountWarnings = [];\n var pendingUNSAFE_ComponentWillMountWarnings = [];\n var pendingComponentWillReceivePropsWarnings = [];\n var pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n var pendingComponentWillUpdateWarnings = [];\n var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about.\n\n var didWarnAboutUnsafeLifecycles = new Set();\n\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) {\n // Dedupe strategy: Warn once per component.\n if (didWarnAboutUnsafeLifecycles.has(fiber.type)) {\n return;\n }\n\n if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components.\n instance.componentWillMount.__suppressDeprecationWarning !== true) {\n pendingComponentWillMountWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillMount === 'function') {\n pendingUNSAFE_ComponentWillMountWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n pendingComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n pendingComponentWillUpdateWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillUpdate === 'function') {\n pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {\n // We do an initial pass to gather component names\n var componentWillMountUniqueNames = new Set();\n\n if (pendingComponentWillMountWarnings.length > 0) {\n pendingComponentWillMountWarnings.forEach(function (fiber) {\n componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillMountWarnings = [];\n }\n\n var UNSAFE_componentWillMountUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) {\n pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {\n UNSAFE_componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillMountWarnings = [];\n }\n\n var componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingComponentWillReceivePropsWarnings.length > 0) {\n pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {\n componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillReceivePropsWarnings = [];\n }\n\n var UNSAFE_componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) {\n UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n }\n\n var componentWillUpdateUniqueNames = new Set();\n\n if (pendingComponentWillUpdateWarnings.length > 0) {\n pendingComponentWillUpdateWarnings.forEach(function (fiber) {\n componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillUpdateWarnings = [];\n }\n\n var UNSAFE_componentWillUpdateUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) {\n pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {\n UNSAFE_componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n } // Finally, we flush all the warnings\n // UNSAFE_ ones before the deprecated ones, since they'll be 'louder'\n\n\n if (UNSAFE_componentWillMountUniqueNames.size > 0) {\n var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);\n\n error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '\\nPlease update the following components: %s', sortedNames);\n }\n\n if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames);\n\n error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, \" + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '\\nPlease update the following components: %s', _sortedNames);\n }\n\n if (UNSAFE_componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames);\n\n error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '\\nPlease update the following components: %s', _sortedNames2);\n }\n\n if (componentWillMountUniqueNames.size > 0) {\n var _sortedNames3 = setToSortedString(componentWillMountUniqueNames);\n\n warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames3);\n }\n\n if (componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames);\n\n warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, refactor your \" + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames4);\n }\n\n if (componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames);\n\n warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames5);\n }\n };\n\n var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about.\n\n var didWarnAboutLegacyContext = new Set();\n\n ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) {\n var strictRoot = findStrictRoot(fiber);\n\n if (strictRoot === null) {\n error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n\n return;\n } // Dedup strategy: Warn once per component.\n\n\n if (didWarnAboutLegacyContext.has(fiber.type)) {\n return;\n }\n\n var warningsForRoot = pendingLegacyContextWarning.get(strictRoot);\n\n if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') {\n if (warningsForRoot === undefined) {\n warningsForRoot = [];\n pendingLegacyContextWarning.set(strictRoot, warningsForRoot);\n }\n\n warningsForRoot.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushLegacyContextWarning = function () {\n pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) {\n if (fiberArray.length === 0) {\n return;\n }\n\n var firstFiber = fiberArray[0];\n var uniqueNames = new Set();\n fiberArray.forEach(function (fiber) {\n uniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutLegacyContext.add(fiber.type);\n });\n var sortedNames = setToSortedString(uniqueNames);\n\n try {\n setCurrentFiber(firstFiber);\n\n error('Legacy context API has been detected within a strict-mode tree.' + '\\n\\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\\n\\nPlease update the following components: %s' + '\\n\\nLearn more about this warning here: https://reactjs.org/link/legacy-context', sortedNames);\n } finally {\n resetCurrentFiber();\n }\n });\n };\n\n ReactStrictModeWarnings.discardPendingWarnings = function () {\n pendingComponentWillMountWarnings = [];\n pendingUNSAFE_ComponentWillMountWarnings = [];\n pendingComponentWillReceivePropsWarnings = [];\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n pendingComponentWillUpdateWarnings = [];\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n pendingLegacyContextWarning = new Map();\n };\n}\n\nfunction resolveDefaultProps(Component, baseProps) {\n if (Component && Component.defaultProps) {\n // Resolve default props. Taken from ReactElement\n var props = assign({}, baseProps);\n var defaultProps = Component.defaultProps;\n\n for (var propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n }\n\n return baseProps;\n}\n\nvar valueCursor = createCursor(null);\nvar rendererSigil;\n\n{\n // Use this to detect multiple renderers using the same context\n rendererSigil = {};\n}\n\nvar currentlyRenderingFiber = null;\nvar lastContextDependency = null;\nvar lastFullyObservedContext = null;\nvar isDisallowedContextReadInDEV = false;\nfunction resetContextDependencies() {\n // This is called right before React yields execution, to ensure `readContext`\n // cannot be called outside the render phase.\n currentlyRenderingFiber = null;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction enterDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = true;\n }\n}\nfunction exitDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction pushProvider(providerFiber, context, nextValue) {\n {\n push(valueCursor, context._currentValue, providerFiber);\n context._currentValue = nextValue;\n\n {\n if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {\n error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');\n }\n\n context._currentRenderer = rendererSigil;\n }\n }\n}\nfunction popProvider(context, providerFiber) {\n var currentValue = valueCursor.current;\n pop(valueCursor, providerFiber);\n\n {\n {\n context._currentValue = currentValue;\n }\n }\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n // Update the child lanes of all the ancestors, including the alternates.\n var node = parent;\n\n while (node !== null) {\n var alternate = node.alternate;\n\n if (!isSubsetOfLanes(node.childLanes, renderLanes)) {\n node.childLanes = mergeLanes(node.childLanes, renderLanes);\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n } else if (alternate !== null && !isSubsetOfLanes(alternate.childLanes, renderLanes)) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n\n if (node === propagationRoot) {\n break;\n }\n\n node = node.return;\n }\n\n {\n if (node !== propagationRoot) {\n error('Expected to find the propagation root when scheduling context work. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n }\n}\nfunction propagateContextChange(workInProgress, context, renderLanes) {\n {\n propagateContextChange_eager(workInProgress, context, renderLanes);\n }\n}\n\nfunction propagateContextChange_eager(workInProgress, context, renderLanes) {\n\n var fiber = workInProgress.child;\n\n if (fiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n fiber.return = workInProgress;\n }\n\n while (fiber !== null) {\n var nextFiber = void 0; // Visit this fiber.\n\n var list = fiber.dependencies;\n\n if (list !== null) {\n nextFiber = fiber.child;\n var dependency = list.firstContext;\n\n while (dependency !== null) {\n // Check if the context matches.\n if (dependency.context === context) {\n // Match! Schedule an update on this fiber.\n if (fiber.tag === ClassComponent) {\n // Schedule a force update on the work-in-progress.\n var lane = pickArbitraryLane(renderLanes);\n var update = createUpdate(NoTimestamp, lane);\n update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the\n // update to the current fiber, too, which means it will persist even if\n // this render is thrown away. Since it's a race condition, not sure it's\n // worth fixing.\n // Inlined `enqueueUpdate` to remove interleaved update check\n\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) ; else {\n var sharedQueue = updateQueue.shared;\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update;\n }\n }\n\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, workInProgress); // Mark the updated lanes on the list, too.\n\n list.lanes = mergeLanes(list.lanes, renderLanes); // Since we already found a match, we can stop traversing the\n // dependency list.\n\n break;\n }\n\n dependency = dependency.next;\n }\n } else if (fiber.tag === ContextProvider) {\n // Don't scan deeper if this is a matching provider\n nextFiber = fiber.type === workInProgress.type ? null : fiber.child;\n } else if (fiber.tag === DehydratedFragment) {\n // If a dehydrated suspense boundary is in this subtree, we don't know\n // if it will have any context consumers in it. The best we can do is\n // mark it as having updates.\n var parentSuspense = fiber.return;\n\n if (parentSuspense === null) {\n throw new Error('We just came from a parent so we must have had a parent. This is a bug in React.');\n }\n\n parentSuspense.lanes = mergeLanes(parentSuspense.lanes, renderLanes);\n var _alternate = parentSuspense.alternate;\n\n if (_alternate !== null) {\n _alternate.lanes = mergeLanes(_alternate.lanes, renderLanes);\n } // This is intentionally passing this fiber as the parent\n // because we want to schedule this fiber as having work\n // on its children. We'll use the childLanes on\n // this fiber to indicate that a context has changed.\n\n\n scheduleContextWorkOnParentPath(parentSuspense, renderLanes, workInProgress);\n nextFiber = fiber.sibling;\n } else {\n // Traverse down.\n nextFiber = fiber.child;\n }\n\n if (nextFiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n nextFiber.return = fiber;\n } else {\n // No child. Traverse to next sibling.\n nextFiber = fiber;\n\n while (nextFiber !== null) {\n if (nextFiber === workInProgress) {\n // We're back to the root of this subtree. Exit.\n nextFiber = null;\n break;\n }\n\n var sibling = nextFiber.sibling;\n\n if (sibling !== null) {\n // Set the return pointer of the sibling to the work-in-progress fiber.\n sibling.return = nextFiber.return;\n nextFiber = sibling;\n break;\n } // No more siblings. Traverse up.\n\n\n nextFiber = nextFiber.return;\n }\n }\n\n fiber = nextFiber;\n }\n}\nfunction prepareToReadContext(workInProgress, renderLanes) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n var dependencies = workInProgress.dependencies;\n\n if (dependencies !== null) {\n {\n var firstContext = dependencies.firstContext;\n\n if (firstContext !== null) {\n if (includesSomeLane(dependencies.lanes, renderLanes)) {\n // Context list has a pending update. Mark that this fiber performed work.\n markWorkInProgressReceivedUpdate();\n } // Reset the work-in-progress list\n\n\n dependencies.firstContext = null;\n }\n }\n }\n}\nfunction readContext(context) {\n {\n // This warning would fire if you read context inside a Hook like useMemo.\n // Unlike the class check below, it's not enforced in production for perf.\n if (isDisallowedContextReadInDEV) {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n }\n }\n\n var value = context._currentValue ;\n\n if (lastFullyObservedContext === context) ; else {\n var contextItem = {\n context: context,\n memoizedValue: value,\n next: null\n };\n\n if (lastContextDependency === null) {\n if (currentlyRenderingFiber === null) {\n throw new Error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n } // This is the first dependency for this component. Create a new list.\n\n\n lastContextDependency = contextItem;\n currentlyRenderingFiber.dependencies = {\n lanes: NoLanes,\n firstContext: contextItem\n };\n } else {\n // Append a new context item.\n lastContextDependency = lastContextDependency.next = contextItem;\n }\n }\n\n return value;\n}\n\n// render. When this render exits, either because it finishes or because it is\n// interrupted, the interleaved updates will be transferred onto the main part\n// of the queue.\n\nvar concurrentQueues = null;\nfunction pushConcurrentUpdateQueue(queue) {\n if (concurrentQueues === null) {\n concurrentQueues = [queue];\n } else {\n concurrentQueues.push(queue);\n }\n}\nfunction finishQueueingConcurrentUpdates() {\n // Transfer the interleaved updates onto the main queue. Each queue has a\n // `pending` field and an `interleaved` field. When they are not null, they\n // point to the last node in a circular linked list. We need to append the\n // interleaved list to the end of the pending list by joining them into a\n // single, circular list.\n if (concurrentQueues !== null) {\n for (var i = 0; i < concurrentQueues.length; i++) {\n var queue = concurrentQueues[i];\n var lastInterleavedUpdate = queue.interleaved;\n\n if (lastInterleavedUpdate !== null) {\n queue.interleaved = null;\n var firstInterleavedUpdate = lastInterleavedUpdate.next;\n var lastPendingUpdate = queue.pending;\n\n if (lastPendingUpdate !== null) {\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = firstInterleavedUpdate;\n lastInterleavedUpdate.next = firstPendingUpdate;\n }\n\n queue.pending = lastInterleavedUpdate;\n }\n }\n\n concurrentQueues = null;\n }\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n}\nfunction enqueueConcurrentClassUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n} // Calling this function outside this module should only be done for backwards\n// compatibility and should always be accompanied by a warning.\n\nvar unsafe_markUpdateLaneFromFiberToRoot = markUpdateLaneFromFiberToRoot;\n\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, lane) {\n // Update the source fiber's lanes\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, lane);\n var alternate = sourceFiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, lane);\n }\n\n {\n if (alternate === null && (sourceFiber.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n } // Walk the parent path to the root and update the child lanes.\n\n\n var node = sourceFiber;\n var parent = sourceFiber.return;\n\n while (parent !== null) {\n parent.childLanes = mergeLanes(parent.childLanes, lane);\n alternate = parent.alternate;\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, lane);\n } else {\n {\n if ((parent.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n }\n }\n\n node = parent;\n parent = parent.return;\n }\n\n if (node.tag === HostRoot) {\n var root = node.stateNode;\n return root;\n } else {\n return null;\n }\n}\n\nvar UpdateState = 0;\nvar ReplaceState = 1;\nvar ForceUpdate = 2;\nvar CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`.\n// It should only be read right after calling `processUpdateQueue`, via\n// `checkHasForceUpdateAfterProcessing`.\n\nvar hasForceUpdate = false;\nvar didWarnUpdateInsideUpdate;\nvar currentlyProcessingQueue;\n\n{\n didWarnUpdateInsideUpdate = false;\n currentlyProcessingQueue = null;\n}\n\nfunction initializeUpdateQueue(fiber) {\n var queue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: {\n pending: null,\n interleaved: null,\n lanes: NoLanes\n },\n effects: null\n };\n fiber.updateQueue = queue;\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n // Clone the update queue from current. Unless it's already a clone.\n var queue = workInProgress.updateQueue;\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n var clone = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: currentQueue.firstBaseUpdate,\n lastBaseUpdate: currentQueue.lastBaseUpdate,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = clone;\n }\n}\nfunction createUpdate(eventTime, lane) {\n var update = {\n eventTime: eventTime,\n lane: lane,\n tag: UpdateState,\n payload: null,\n callback: null,\n next: null\n };\n return update;\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return null;\n }\n\n var sharedQueue = updateQueue.shared;\n\n {\n if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) {\n error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.');\n\n didWarnUpdateInsideUpdate = true;\n }\n }\n\n if (isUnsafeClassRenderPhaseUpdate()) {\n // This is an unsafe render phase update. Add directly to the update\n // queue so we can process it immediately during the current render.\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update; // Update the childLanes even though we're most likely already rendering\n // this fiber. This is for backwards compatibility in the case where you\n // update a different component during render phase than the one that is\n // currently renderings (a pattern that is accompanied by a warning).\n\n return unsafe_markUpdateLaneFromFiberToRoot(fiber, lane);\n } else {\n return enqueueConcurrentClassUpdate(fiber, sharedQueue, update, lane);\n }\n}\nfunction entangleTransitions(root, fiber, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return;\n }\n\n var sharedQueue = updateQueue.shared;\n\n if (isTransitionLane(lane)) {\n var queueLanes = sharedQueue.lanes; // If any entangled lanes are no longer pending on the root, then they must\n // have finished. We can remove them from the shared queue, which represents\n // a superset of the actually pending lanes. In some cases we may entangle\n // more than we need to, but that's OK. In fact it's worse if we *don't*\n // entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n sharedQueue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n // Captured updates are updates that are thrown by a child during the render\n // phase. They should be discarded if the render is aborted. Therefore,\n // we should only put them on the work-in-progress queue, not the current one.\n var queue = workInProgress.updateQueue; // Check if the work-in-progress queue is a clone.\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n // The work-in-progress queue is the same as current. This happens when\n // we bail out on a parent fiber that then captures an error thrown by\n // a child. Since we want to append the update only to the work-in\n // -progress queue, we need to clone the updates. We usually clone during\n // processUpdateQueue, but that didn't happen in this case because we\n // skipped over the parent when we bailed out.\n var newFirst = null;\n var newLast = null;\n var firstBaseUpdate = queue.firstBaseUpdate;\n\n if (firstBaseUpdate !== null) {\n // Loop through the updates and clone them.\n var update = firstBaseUpdate;\n\n do {\n var clone = {\n eventTime: update.eventTime,\n lane: update.lane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLast === null) {\n newFirst = newLast = clone;\n } else {\n newLast.next = clone;\n newLast = clone;\n }\n\n update = update.next;\n } while (update !== null); // Append the captured update the end of the cloned list.\n\n\n if (newLast === null) {\n newFirst = newLast = capturedUpdate;\n } else {\n newLast.next = capturedUpdate;\n newLast = capturedUpdate;\n }\n } else {\n // There are no base updates.\n newFirst = newLast = capturedUpdate;\n }\n\n queue = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = queue;\n return;\n }\n } // Append the update to the end of the list.\n\n\n var lastBaseUpdate = queue.lastBaseUpdate;\n\n if (lastBaseUpdate === null) {\n queue.firstBaseUpdate = capturedUpdate;\n } else {\n lastBaseUpdate.next = capturedUpdate;\n }\n\n queue.lastBaseUpdate = capturedUpdate;\n}\n\nfunction getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) {\n switch (update.tag) {\n case ReplaceState:\n {\n var payload = update.payload;\n\n if (typeof payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n var nextState = payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n\n return nextState;\n } // State object\n\n\n return payload;\n }\n\n case CaptureUpdate:\n {\n workInProgress.flags = workInProgress.flags & ~ShouldCapture | DidCapture;\n }\n // Intentional fallthrough\n\n case UpdateState:\n {\n var _payload = update.payload;\n var partialState;\n\n if (typeof _payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n partialState = _payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n _payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n } else {\n // Partial state object\n partialState = _payload;\n }\n\n if (partialState === null || partialState === undefined) {\n // Null and undefined are treated as no-ops.\n return prevState;\n } // Merge the partial state and the previous state.\n\n\n return assign({}, prevState, partialState);\n }\n\n case ForceUpdate:\n {\n hasForceUpdate = true;\n return prevState;\n }\n }\n\n return prevState;\n}\n\nfunction processUpdateQueue(workInProgress, props, instance, renderLanes) {\n // This is always non-null on a ClassComponent or HostRoot\n var queue = workInProgress.updateQueue;\n hasForceUpdate = false;\n\n {\n currentlyProcessingQueue = queue.shared;\n }\n\n var firstBaseUpdate = queue.firstBaseUpdate;\n var lastBaseUpdate = queue.lastBaseUpdate; // Check if there are pending updates. If so, transfer them to the base queue.\n\n var pendingQueue = queue.shared.pending;\n\n if (pendingQueue !== null) {\n queue.shared.pending = null; // The pending queue is circular. Disconnect the pointer between first\n // and last so that it's non-circular.\n\n var lastPendingUpdate = pendingQueue;\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null; // Append pending updates to base queue\n\n if (lastBaseUpdate === null) {\n firstBaseUpdate = firstPendingUpdate;\n } else {\n lastBaseUpdate.next = firstPendingUpdate;\n }\n\n lastBaseUpdate = lastPendingUpdate; // If there's a current queue, and it's different from the base queue, then\n // we need to transfer the updates to that queue, too. Because the base\n // queue is a singly-linked list with no cycles, we can append to both\n // lists and take advantage of structural sharing.\n // TODO: Pass `current` as argument\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n // This is always non-null on a ClassComponent or HostRoot\n var currentQueue = current.updateQueue;\n var currentLastBaseUpdate = currentQueue.lastBaseUpdate;\n\n if (currentLastBaseUpdate !== lastBaseUpdate) {\n if (currentLastBaseUpdate === null) {\n currentQueue.firstBaseUpdate = firstPendingUpdate;\n } else {\n currentLastBaseUpdate.next = firstPendingUpdate;\n }\n\n currentQueue.lastBaseUpdate = lastPendingUpdate;\n }\n }\n } // These values may change as we process the queue.\n\n\n if (firstBaseUpdate !== null) {\n // Iterate through the list of updates to compute the result.\n var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes\n // from the original lanes.\n\n var newLanes = NoLanes;\n var newBaseState = null;\n var newFirstBaseUpdate = null;\n var newLastBaseUpdate = null;\n var update = firstBaseUpdate;\n\n do {\n var updateLane = update.lane;\n var updateEventTime = update.eventTime;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n eventTime: updateEventTime,\n lane: updateLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLastBaseUpdate === null) {\n newFirstBaseUpdate = newLastBaseUpdate = clone;\n newBaseState = newState;\n } else {\n newLastBaseUpdate = newLastBaseUpdate.next = clone;\n } // Update the remaining priority in the queue.\n\n\n newLanes = mergeLanes(newLanes, updateLane);\n } else {\n // This update does have sufficient priority.\n if (newLastBaseUpdate !== null) {\n var _clone = {\n eventTime: updateEventTime,\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n newLastBaseUpdate = newLastBaseUpdate.next = _clone;\n } // Process this update.\n\n\n newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance);\n var callback = update.callback;\n\n if (callback !== null && // If the update was already committed, we should not queue its\n // callback again.\n update.lane !== NoLane) {\n workInProgress.flags |= Callback;\n var effects = queue.effects;\n\n if (effects === null) {\n queue.effects = [update];\n } else {\n effects.push(update);\n }\n }\n }\n\n update = update.next;\n\n if (update === null) {\n pendingQueue = queue.shared.pending;\n\n if (pendingQueue === null) {\n break;\n } else {\n // An update was scheduled from inside a reducer. Add the new\n // pending updates to the end of the list and keep processing.\n var _lastPendingUpdate = pendingQueue; // Intentionally unsound. Pending updates form a circular list, but we\n // unravel them when transferring them to the base queue.\n\n var _firstPendingUpdate = _lastPendingUpdate.next;\n _lastPendingUpdate.next = null;\n update = _firstPendingUpdate;\n queue.lastBaseUpdate = _lastPendingUpdate;\n queue.shared.pending = null;\n }\n }\n } while (true);\n\n if (newLastBaseUpdate === null) {\n newBaseState = newState;\n }\n\n queue.baseState = newBaseState;\n queue.firstBaseUpdate = newFirstBaseUpdate;\n queue.lastBaseUpdate = newLastBaseUpdate; // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n var lastInterleaved = queue.shared.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n newLanes = mergeLanes(newLanes, interleaved.lane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (firstBaseUpdate === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.shared.lanes = NoLanes;\n } // Set the remaining expiration time to be whatever is remaining in the queue.\n // This should be fine because the only two other things that contribute to\n // expiration time are props and context. We're already in the middle of the\n // begin phase by the time we start processing the queue, so we've already\n // dealt with the props. Context in components that specify\n // shouldComponentUpdate is tricky; but we'll have to account for\n // that regardless.\n\n\n markSkippedUpdateLanes(newLanes);\n workInProgress.lanes = newLanes;\n workInProgress.memoizedState = newState;\n }\n\n {\n currentlyProcessingQueue = null;\n }\n}\n\nfunction callCallback(callback, context) {\n if (typeof callback !== 'function') {\n throw new Error('Invalid argument passed as callback. Expected a function. Instead ' + (\"received: \" + callback));\n }\n\n callback.call(context);\n}\n\nfunction resetHasForceUpdateBeforeProcessing() {\n hasForceUpdate = false;\n}\nfunction checkHasForceUpdateAfterProcessing() {\n return hasForceUpdate;\n}\nfunction commitUpdateQueue(finishedWork, finishedQueue, instance) {\n // Commit the effects\n var effects = finishedQueue.effects;\n finishedQueue.effects = null;\n\n if (effects !== null) {\n for (var i = 0; i < effects.length; i++) {\n var effect = effects[i];\n var callback = effect.callback;\n\n if (callback !== null) {\n effect.callback = null;\n callCallback(callback, instance);\n }\n }\n }\n}\n\nvar fakeInternalInstance = {}; // React.Component uses a shared frozen object by default.\n// We'll use it to determine whether we need to initialize legacy refs.\n\nvar emptyRefsObject = new React.Component().refs;\nvar didWarnAboutStateAssignmentForComponent;\nvar didWarnAboutUninitializedState;\nvar didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;\nvar didWarnAboutLegacyLifecyclesAndDerivedState;\nvar didWarnAboutUndefinedDerivedState;\nvar warnOnUndefinedDerivedState;\nvar warnOnInvalidCallback;\nvar didWarnAboutDirectlyAssigningPropsToState;\nvar didWarnAboutContextTypeAndContextTypes;\nvar didWarnAboutInvalidateContextType;\n\n{\n didWarnAboutStateAssignmentForComponent = new Set();\n didWarnAboutUninitializedState = new Set();\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();\n didWarnAboutLegacyLifecyclesAndDerivedState = new Set();\n didWarnAboutDirectlyAssigningPropsToState = new Set();\n didWarnAboutUndefinedDerivedState = new Set();\n didWarnAboutContextTypeAndContextTypes = new Set();\n didWarnAboutInvalidateContextType = new Set();\n var didWarnOnInvalidCallback = new Set();\n\n warnOnInvalidCallback = function (callback, callerName) {\n if (callback === null || typeof callback === 'function') {\n return;\n }\n\n var key = callerName + '_' + callback;\n\n if (!didWarnOnInvalidCallback.has(key)) {\n didWarnOnInvalidCallback.add(key);\n\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n };\n\n warnOnUndefinedDerivedState = function (type, partialState) {\n if (partialState === undefined) {\n var componentName = getComponentNameFromType(type) || 'Component';\n\n if (!didWarnAboutUndefinedDerivedState.has(componentName)) {\n didWarnAboutUndefinedDerivedState.add(componentName);\n\n error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);\n }\n }\n }; // This is so gross but it's at least non-critical and can be removed if\n // it causes problems. This is meant to give a nicer error message for\n // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component,\n // ...)) which otherwise throws a \"_processChildContext is not a function\"\n // exception.\n\n\n Object.defineProperty(fakeInternalInstance, '_processChildContext', {\n enumerable: false,\n value: function () {\n throw new Error('_processChildContext is not available in React 16+. This likely ' + 'means you have multiple copies of React and are attempting to nest ' + 'a React 15 tree inside a React 16 tree using ' + \"unstable_renderSubtreeIntoContainer, which isn't supported. Try \" + 'to make sure you have only one copy of React (and ideally, switch ' + 'to ReactDOM.createPortal).');\n }\n });\n Object.freeze(fakeInternalInstance);\n}\n\nfunction applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {\n var prevState = workInProgress.memoizedState;\n var partialState = getDerivedStateFromProps(nextProps, prevState);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n partialState = getDerivedStateFromProps(nextProps, prevState);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n warnOnUndefinedDerivedState(ctor, partialState);\n } // Merge the partial state and the previous state.\n\n\n var memoizedState = partialState === null || partialState === undefined ? prevState : assign({}, prevState, partialState);\n workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the\n // base state.\n\n if (workInProgress.lanes === NoLanes) {\n // Queue is always non-null for classes\n var updateQueue = workInProgress.updateQueue;\n updateQueue.baseState = memoizedState;\n }\n}\n\nvar classComponentUpdater = {\n isMounted: isMounted,\n enqueueSetState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'setState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueReplaceState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ReplaceState;\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'replaceState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueForceUpdate: function (inst, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ForceUpdate;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'forceUpdate');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markForceUpdateScheduled(fiber, lane);\n }\n }\n};\n\nfunction checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {\n var instance = workInProgress.stateNode;\n\n if (typeof instance.shouldComponentUpdate === 'function') {\n var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n if (shouldUpdate === undefined) {\n error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentNameFromType(ctor) || 'Component');\n }\n }\n\n return shouldUpdate;\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent) {\n return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState);\n }\n\n return true;\n}\n\nfunction checkClassInstance(workInProgress, ctor, newProps) {\n var instance = workInProgress.stateNode;\n\n {\n var name = getComponentNameFromType(ctor) || 'Component';\n var renderPresent = instance.render;\n\n if (!renderPresent) {\n if (ctor.prototype && typeof ctor.prototype.render === 'function') {\n error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);\n } else {\n error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);\n }\n }\n\n if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {\n error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);\n }\n\n if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);\n }\n\n if (instance.propTypes) {\n error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);\n }\n\n if (instance.contextType) {\n error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);\n }\n\n {\n if (instance.contextTypes) {\n error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);\n }\n\n if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {\n didWarnAboutContextTypeAndContextTypes.add(ctor);\n\n error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);\n }\n }\n\n if (typeof instance.componentShouldUpdate === 'function') {\n error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {\n error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentNameFromType(ctor) || 'A pure component');\n }\n\n if (typeof instance.componentDidUnmount === 'function') {\n error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);\n }\n\n if (typeof instance.componentDidReceiveProps === 'function') {\n error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);\n }\n\n if (typeof instance.componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);\n }\n\n if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);\n }\n\n var hasMutatedProps = instance.props !== newProps;\n\n if (instance.props !== undefined && hasMutatedProps) {\n error('%s(...): When calling super() in `%s`, make sure to pass ' + \"up the same props that your component's constructor was passed.\", name, name);\n }\n\n if (instance.defaultProps) {\n error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);\n\n error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentNameFromType(ctor));\n }\n\n if (typeof instance.getDerivedStateFromProps === 'function') {\n error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof instance.getDerivedStateFromError === 'function') {\n error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof ctor.getSnapshotBeforeUpdate === 'function') {\n error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);\n }\n\n var _state = instance.state;\n\n if (_state && (typeof _state !== 'object' || isArray(_state))) {\n error('%s.state: must be set to an object or null', name);\n }\n\n if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {\n error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);\n }\n }\n}\n\nfunction adoptClassInstance(workInProgress, instance) {\n instance.updater = classComponentUpdater;\n workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates\n\n set(instance, workInProgress);\n\n {\n instance._reactInternalInstance = fakeInternalInstance;\n }\n}\n\nfunction constructClassInstance(workInProgress, ctor, props) {\n var isLegacyContextConsumer = false;\n var unmaskedContext = emptyContextObject;\n var context = emptyContextObject;\n var contextType = ctor.contextType;\n\n {\n if ('contextType' in ctor) {\n var isValid = // Allow null for conditional declaration\n contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer>\n\n if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {\n didWarnAboutInvalidateContextType.add(ctor);\n var addendum = '';\n\n if (contextType === undefined) {\n addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';\n } else if (typeof contextType !== 'object') {\n addendum = ' However, it is set to a ' + typeof contextType + '.';\n } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) {\n addendum = ' Did you accidentally pass the Context.Provider instead?';\n } else if (contextType._context !== undefined) {\n // <Context.Consumer>\n addendum = ' Did you accidentally pass the Context.Consumer instead?';\n } else {\n addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';\n }\n\n error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentNameFromType(ctor) || 'Component', addendum);\n }\n }\n }\n\n if (typeof contextType === 'object' && contextType !== null) {\n context = readContext(contextType);\n } else {\n unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n var contextTypes = ctor.contextTypes;\n isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined;\n context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject;\n }\n\n var instance = new ctor(props, context); // Instantiate twice to help detect side-effects.\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance = new ctor(props, context); // eslint-disable-line no-new\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null;\n adoptClassInstance(workInProgress, instance);\n\n {\n if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutUninitializedState.has(componentName)) {\n didWarnAboutUninitializedState.add(componentName);\n\n error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);\n }\n } // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Warn about these lifecycles if they are present.\n // Don't warn about react-lifecycles-compat polyfilled methods though.\n\n\n if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n\n if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {\n foundWillMountName = 'componentWillMount';\n } else if (typeof instance.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n\n if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {\n var _componentName = getComponentNameFromType(ctor) || 'Component';\n\n var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';\n\n if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {\n didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);\n\n error('Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\\n\\n' + 'The above lifecycles should be removed. Learn more about this warning here:\\n' + 'https://reactjs.org/link/unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? \"\\n \" + foundWillMountName : '', foundWillReceivePropsName !== null ? \"\\n \" + foundWillReceivePropsName : '', foundWillUpdateName !== null ? \"\\n \" + foundWillUpdateName : '');\n }\n }\n }\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // ReactFiberContext usually updates this cache but can't for newly-created instances.\n\n\n if (isLegacyContextConsumer) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return instance;\n}\n\nfunction callComponentWillMount(workInProgress, instance) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n\n if (oldState !== instance.state) {\n {\n error('%s.componentWillMount(): Assigning directly to this.state is ' + \"deprecated (except inside a component's \" + 'constructor). Use setState instead.', getComponentNameFromFiber(workInProgress) || 'Component');\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n}\n\nfunction callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillReceiveProps === 'function') {\n instance.componentWillReceiveProps(newProps, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n }\n\n if (instance.state !== oldState) {\n {\n var componentName = getComponentNameFromFiber(workInProgress) || 'Component';\n\n if (!didWarnAboutStateAssignmentForComponent.has(componentName)) {\n didWarnAboutStateAssignmentForComponent.add(componentName);\n\n error('%s.componentWillReceiveProps(): Assigning directly to ' + \"this.state is deprecated (except inside a component's \" + 'constructor). Use setState instead.', componentName);\n }\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n} // Invokes the mount life-cycles on a previously never rendered instance.\n\n\nfunction mountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n {\n checkClassInstance(workInProgress, ctor, newProps);\n }\n\n var instance = workInProgress.stateNode;\n instance.props = newProps;\n instance.state = workInProgress.memoizedState;\n instance.refs = emptyRefsObject;\n initializeUpdateQueue(workInProgress);\n var contextType = ctor.contextType;\n\n if (typeof contextType === 'object' && contextType !== null) {\n instance.context = readContext(contextType);\n } else {\n var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n instance.context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n {\n if (instance.state === newProps) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {\n didWarnAboutDirectlyAssigningPropsToState.add(componentName);\n\n error('%s: It is not recommended to assign props directly to state ' + \"because updates to props won't be reflected in state. \" + 'In most cases, it is better to use props directly.', componentName);\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance);\n }\n\n {\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance);\n }\n }\n\n instance.state = workInProgress.memoizedState;\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n instance.state = workInProgress.memoizedState;\n } // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n\n if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's\n // process them now.\n\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n instance.state = workInProgress.memoizedState;\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n}\n\nfunction resumeMountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n var oldProps = workInProgress.memoizedProps;\n instance.props = oldProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (oldProps !== newProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags = Update;\n\n {\n _fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags2 = Update;\n\n {\n _fiberFlags2 |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags2 |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags2;\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n} // Invokes the update life-cycles and returns false if it shouldn't rerender.\n\n\nfunction updateClassInstance(current, workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n var unresolvedOldProps = workInProgress.memoizedProps;\n var oldProps = workInProgress.type === workInProgress.elementType ? unresolvedOldProps : resolveDefaultProps(workInProgress.type, unresolvedOldProps);\n instance.props = oldProps;\n var unresolvedNewProps = workInProgress.pendingProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (unresolvedOldProps !== unresolvedNewProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (unresolvedOldProps === unresolvedNewProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing() && !(enableLazyContextPropagation )) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) || // TODO: In some cases, we'll end up checking if context has changed twice,\n // both before and after `shouldComponentUpdate` has been called. Not ideal,\n // but I'm loath to refactor this function. This only happens for memoized\n // components so it's not that common.\n enableLazyContextPropagation ;\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) {\n if (typeof instance.componentWillUpdate === 'function') {\n instance.componentWillUpdate(newProps, newState, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext);\n }\n }\n\n if (typeof instance.componentDidUpdate === 'function') {\n workInProgress.flags |= Update;\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n workInProgress.flags |= Snapshot;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized props/state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n}\n\nvar didWarnAboutMaps;\nvar didWarnAboutGenerators;\nvar didWarnAboutStringRefs;\nvar ownerHasKeyUseWarning;\nvar ownerHasFunctionTypeWarning;\n\nvar warnForMissingKey = function (child, returnFiber) {};\n\n{\n didWarnAboutMaps = false;\n didWarnAboutGenerators = false;\n didWarnAboutStringRefs = {};\n /**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n ownerHasKeyUseWarning = {};\n ownerHasFunctionTypeWarning = {};\n\n warnForMissingKey = function (child, returnFiber) {\n if (child === null || typeof child !== 'object') {\n return;\n }\n\n if (!child._store || child._store.validated || child.key != null) {\n return;\n }\n\n if (typeof child._store !== 'object') {\n throw new Error('React Component in warnForMissingKey should have a _store. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n child._store.validated = true;\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasKeyUseWarning[componentName]) {\n return;\n }\n\n ownerHasKeyUseWarning[componentName] = true;\n\n error('Each child in a list should have a unique ' + '\"key\" prop. See https://reactjs.org/link/warning-keys for ' + 'more information.');\n };\n}\n\nfunction coerceRef(returnFiber, current, element) {\n var mixedRef = element.ref;\n\n if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') {\n {\n // TODO: Clean this up once we turn on the string ref warning for\n // everyone, because the strict mode case will no longer be relevant\n if ((returnFiber.mode & StrictLegacyMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs\n // because these cannot be automatically converted to an arrow function\n // using a codemod. Therefore, we don't have to warn about string refs again.\n !(element._owner && element._self && element._owner.stateNode !== element._self)) {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (!didWarnAboutStringRefs[componentName]) {\n {\n error('A string ref, \"%s\", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', mixedRef);\n }\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n\n if (element._owner) {\n var owner = element._owner;\n var inst;\n\n if (owner) {\n var ownerFiber = owner;\n\n if (ownerFiber.tag !== ClassComponent) {\n throw new Error('Function components cannot have string refs. ' + 'We recommend using useRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref');\n }\n\n inst = ownerFiber.stateNode;\n }\n\n if (!inst) {\n throw new Error(\"Missing owner for string ref \" + mixedRef + \". This error is likely caused by a \" + 'bug in React. Please file an issue.');\n } // Assigning this to a const so Flow knows it won't change in the closure\n\n\n var resolvedInst = inst;\n\n {\n checkPropStringCoercion(mixedRef, 'ref');\n }\n\n var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref\n\n if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) {\n return current.ref;\n }\n\n var ref = function (value) {\n var refs = resolvedInst.refs;\n\n if (refs === emptyRefsObject) {\n // This is a lazy pooled frozen object, so we need to initialize.\n refs = resolvedInst.refs = {};\n }\n\n if (value === null) {\n delete refs[stringRef];\n } else {\n refs[stringRef] = value;\n }\n };\n\n ref._stringRef = stringRef;\n return ref;\n } else {\n if (typeof mixedRef !== 'string') {\n throw new Error('Expected ref to be a function, a string, an object returned by React.createRef(), or null.');\n }\n\n if (!element._owner) {\n throw new Error(\"Element ref was specified as a string (\" + mixedRef + \") but no owner was set. This could happen for one of\" + ' the following reasons:\\n' + '1. You may be adding a ref to a function component\\n' + \"2. You may be adding a ref to a component that was not created inside a component's render method\\n\" + '3. You have multiple copies of React loaded\\n' + 'See https://reactjs.org/link/refs-must-have-owner for more information.');\n }\n }\n }\n\n return mixedRef;\n}\n\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n var childString = Object.prototype.toString.call(newChild);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childString === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : childString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n}\n\nfunction warnOnFunctionType(returnFiber) {\n {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasFunctionTypeWarning[componentName]) {\n return;\n }\n\n ownerHasFunctionTypeWarning[componentName] = true;\n\n error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.');\n }\n}\n\nfunction resolveLazy(lazyType) {\n var payload = lazyType._payload;\n var init = lazyType._init;\n return init(payload);\n} // This wrapper function exists because I expect to clone the code in each path\n// to be able to optimize each path individually by branching early. This needs\n// a compiler or we can do it manually. Helpers that don't need this branching\n// live outside of this function.\n\n\nfunction ChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return;\n }\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n }\n\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return null;\n } // TODO: For the shouldClone case, this could be micro-optimized a bit by\n // assuming that after the first child we've already added everything.\n\n\n var childToDelete = currentFirstChild;\n\n while (childToDelete !== null) {\n deleteChild(returnFiber, childToDelete);\n childToDelete = childToDelete.sibling;\n }\n\n return null;\n }\n\n function mapRemainingChildren(returnFiber, currentFirstChild) {\n // Add the remaining children to a temporary map so that we can find them by\n // keys quickly. Implicit (null) keys get added to this set with their index\n // instead.\n var existingChildren = new Map();\n var existingChild = currentFirstChild;\n\n while (existingChild !== null) {\n if (existingChild.key !== null) {\n existingChildren.set(existingChild.key, existingChild);\n } else {\n existingChildren.set(existingChild.index, existingChild);\n }\n\n existingChild = existingChild.sibling;\n }\n\n return existingChildren;\n }\n\n function useFiber(fiber, pendingProps) {\n // We currently set sibling to null and index to 0 here because it is easy\n // to forget to do before returning it. E.g. for the single child case.\n var clone = createWorkInProgress(fiber, pendingProps);\n clone.index = 0;\n clone.sibling = null;\n return clone;\n }\n\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n\n if (!shouldTrackSideEffects) {\n // During hydration, the useId algorithm needs to know which fibers are\n // part of a list of children (arrays, iterators).\n newFiber.flags |= Forked;\n return lastPlacedIndex;\n }\n\n var current = newFiber.alternate;\n\n if (current !== null) {\n var oldIndex = current.index;\n\n if (oldIndex < lastPlacedIndex) {\n // This is a move.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n } else {\n // This item can stay in place.\n return oldIndex;\n }\n } else {\n // This is an insertion.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n }\n }\n\n function placeSingleChild(newFiber) {\n // This is simpler for the single child case. We only need to do a\n // placement for inserting new children.\n if (shouldTrackSideEffects && newFiber.alternate === null) {\n newFiber.flags |= Placement;\n }\n\n return newFiber;\n }\n\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (current === null || current.tag !== HostText) {\n // Insert\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, textContent);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n return updateFragment(returnFiber, current, element.props.children, lanes, element.key);\n }\n\n if (current !== null) {\n if (current.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(current, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current.type) {\n // Move based on index\n var existing = useFiber(current, element.props);\n existing.ref = coerceRef(returnFiber, current, element);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } // Insert\n\n\n var created = createFiberFromElement(element, returnFiber.mode, lanes);\n created.ref = coerceRef(returnFiber, current, element);\n created.return = returnFiber;\n return created;\n }\n\n function updatePortal(returnFiber, current, portal, lanes) {\n if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) {\n // Insert\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, portal.children || []);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (current === null || current.tag !== Fragment) {\n // Insert\n var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, fragment);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function createChild(returnFiber, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n var created = createFiberFromText('' + newChild, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _created = createFiberFromElement(newChild, returnFiber.mode, lanes);\n\n _created.ref = coerceRef(returnFiber, null, newChild);\n _created.return = returnFiber;\n return _created;\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _created2 = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n\n _created2.return = returnFiber;\n return _created2;\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return createChild(returnFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _created3 = createFiberFromFragment(newChild, returnFiber.mode, lanes, null);\n\n _created3.return = returnFiber;\n return _created3;\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n // Update the fiber if the keys match, otherwise return null.\n var key = oldFiber !== null ? oldFiber.key : null;\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n if (key !== null) {\n return null;\n }\n\n return updateTextNode(returnFiber, oldFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n if (newChild.key === key) {\n return updateElement(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_PORTAL_TYPE:\n {\n if (newChild.key === key) {\n return updatePortal(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return updateSlot(returnFiber, oldFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n if (key !== null) {\n return null;\n }\n\n return updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys, so we neither have to check the old nor\n // new node for the key. If both are text nodes, they match.\n var matchedFiber = existingChildren.get(newIdx) || null;\n return updateTextNode(returnFiber, matchedFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updateElement(returnFiber, _matchedFiber, newChild, lanes);\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updatePortal(returnFiber, _matchedFiber2, newChild, lanes);\n }\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init;\n return updateFromMap(existingChildren, returnFiber, newIdx, init(payload), lanes);\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _matchedFiber3 = existingChildren.get(newIdx) || null;\n\n return updateFragment(returnFiber, _matchedFiber3, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n /**\n * Warns if there is a duplicate or missing key\n */\n\n\n function warnOnInvalidKey(child, knownKeys, returnFiber) {\n {\n if (typeof child !== 'object' || child === null) {\n return knownKeys;\n }\n\n switch (child.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n warnForMissingKey(child, returnFiber);\n var key = child.key;\n\n if (typeof key !== 'string') {\n break;\n }\n\n if (knownKeys === null) {\n knownKeys = new Set();\n knownKeys.add(key);\n break;\n }\n\n if (!knownKeys.has(key)) {\n knownKeys.add(key);\n break;\n }\n\n error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key);\n\n break;\n\n case REACT_LAZY_TYPE:\n var payload = child._payload;\n var init = child._init;\n warnOnInvalidKey(init(payload), knownKeys, returnFiber);\n break;\n }\n }\n\n return knownKeys;\n }\n\n function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {\n // This algorithm can't optimize by searching from both ends since we\n // don't have backpointers on fibers. I'm trying to see how far we can get\n // with that model. If it ends up not being worth the tradeoffs, we can\n // add it later.\n // Even with a two ended optimization, we'd want to optimize for the case\n // where there are few changes and brute force the comparison instead of\n // going for the Map. It'd like to explore hitting that path first in\n // forward-only mode and only go for the Map once we notice that we need\n // lots of look ahead. This doesn't handle reversal as well as two ended\n // search but that's unusual. Besides, for the two ended optimization to\n // work on Iterables, we'd need to copy the whole set.\n // In this first iteration, we'll just live with hitting the bad case\n // (adding everything to a Map) in for every insert/move.\n // If you change this code, also update reconcileChildrenIterator() which\n // uses the same algorithm.\n {\n // First, validate keys.\n var knownKeys = null;\n\n for (var i = 0; i < newChildren.length; i++) {\n var child = newChildren[i];\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n\n for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (newIdx === newChildren.length) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber = createChild(returnFiber, newChildren[newIdx], lanes);\n\n if (_newFiber === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber;\n } else {\n previousNewFiber.sibling = _newFiber;\n }\n\n previousNewFiber = _newFiber;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks = newIdx;\n pushTreeFork(returnFiber, _numberOfForks);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], lanes);\n\n if (_newFiber2 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber2.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber2;\n } else {\n previousNewFiber.sibling = _newFiber2;\n }\n\n previousNewFiber = _newFiber2;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks2 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks2);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, lanes) {\n // This is the same implementation as reconcileChildrenArray(),\n // but using the iterator instead.\n var iteratorFn = getIteratorFn(newChildrenIterable);\n\n if (typeof iteratorFn !== 'function') {\n throw new Error('An object is not an iterable. This error is likely caused by a bug in ' + 'React. Please file an issue.');\n }\n\n {\n // We don't support rendering Generators because it's a mutation.\n // See https://github.com/facebook/react/issues/12995\n if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag\n newChildrenIterable[Symbol.toStringTag] === 'Generator') {\n if (!didWarnAboutGenerators) {\n error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');\n }\n\n didWarnAboutGenerators = true;\n } // Warn about using Maps as children\n\n\n if (newChildrenIterable.entries === iteratorFn) {\n if (!didWarnAboutMaps) {\n error('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n } // First, validate keys.\n // We'll get a different iterator later for the main pass.\n\n\n var _newChildren = iteratorFn.call(newChildrenIterable);\n\n if (_newChildren) {\n var knownKeys = null;\n\n var _step = _newChildren.next();\n\n for (; !_step.done; _step = _newChildren.next()) {\n var child = _step.value;\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n }\n\n var newChildren = iteratorFn.call(newChildrenIterable);\n\n if (newChildren == null) {\n throw new Error('An iterable object provided no iterator.');\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n var step = newChildren.next();\n\n for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (step.done) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber3 = createChild(returnFiber, step.value, lanes);\n\n if (_newFiber3 === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber3;\n } else {\n previousNewFiber.sibling = _newFiber3;\n }\n\n previousNewFiber = _newFiber3;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks3 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks3);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, lanes);\n\n if (_newFiber4 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber4.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber4;\n } else {\n previousNewFiber.sibling = _newFiber4;\n }\n\n previousNewFiber = _newFiber4;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks4 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks4);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, lanes) {\n // There's no need to check for keys on text nodes since we don't have a\n // way to define them.\n if (currentFirstChild !== null && currentFirstChild.tag === HostText) {\n // We already have an existing node so let's just update it and delete\n // the rest.\n deleteRemainingChildren(returnFiber, currentFirstChild.sibling);\n var existing = useFiber(currentFirstChild, textContent);\n existing.return = returnFiber;\n return existing;\n } // The existing first child is not a text node so we need to create one\n // and delete the existing ones.\n\n\n deleteRemainingChildren(returnFiber, currentFirstChild);\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n function reconcileSingleElement(returnFiber, currentFirstChild, element, lanes) {\n var key = element.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n if (child.tag === Fragment) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, element.props.children);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } else {\n if (child.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(child, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === child.type) {\n deleteRemainingChildren(returnFiber, child.sibling);\n\n var _existing = useFiber(child, element.props);\n\n _existing.ref = coerceRef(returnFiber, child, element);\n _existing.return = returnFiber;\n\n {\n _existing._debugSource = element._source;\n _existing._debugOwner = element._owner;\n }\n\n return _existing;\n }\n } // Didn't match.\n\n\n deleteRemainingChildren(returnFiber, child);\n break;\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n if (element.type === REACT_FRAGMENT_TYPE) {\n var created = createFiberFromFragment(element.props.children, returnFiber.mode, lanes, element.key);\n created.return = returnFiber;\n return created;\n } else {\n var _created4 = createFiberFromElement(element, returnFiber.mode, lanes);\n\n _created4.ref = coerceRef(returnFiber, currentFirstChild, element);\n _created4.return = returnFiber;\n return _created4;\n }\n }\n\n function reconcileSinglePortal(returnFiber, currentFirstChild, portal, lanes) {\n var key = portal.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, portal.children || []);\n existing.return = returnFiber;\n return existing;\n } else {\n deleteRemainingChildren(returnFiber, child);\n break;\n }\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } // This API will tag the children with the side-effect of the reconciliation\n // itself. They will be added to the side-effect list as we pass through the\n // children and the parent.\n\n\n function reconcileChildFibers(returnFiber, currentFirstChild, newChild, lanes) {\n // This function is not recursive.\n // If the top level item is an array, we treat it as a set of children,\n // not as a fragment. Nested arrays on the other hand will be treated as\n // fragment nodes. Recursion happens at the normal flow.\n // Handle top level unkeyed fragments as if they were arrays.\n // This leads to an ambiguity between <>{[...]}</> and <>...</>.\n // We treat the ambiguous cases above the same.\n var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null;\n\n if (isUnkeyedTopLevelFragment) {\n newChild = newChild.props.children;\n } // Handle object types\n\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_PORTAL_TYPE:\n return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init; // TODO: This function is supposed to be non-recursive.\n\n return reconcileChildFibers(returnFiber, currentFirstChild, init(payload), lanes);\n }\n\n if (isArray(newChild)) {\n return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n if (getIteratorFn(newChild)) {\n return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, lanes));\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n } // Remaining cases are all treated as empty.\n\n\n return deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n\n return reconcileChildFibers;\n}\n\nvar reconcileChildFibers = ChildReconciler(true);\nvar mountChildFibers = ChildReconciler(false);\nfunction cloneChildFibers(current, workInProgress) {\n if (current !== null && workInProgress.child !== current.child) {\n throw new Error('Resuming work not yet implemented.');\n }\n\n if (workInProgress.child === null) {\n return;\n }\n\n var currentChild = workInProgress.child;\n var newChild = createWorkInProgress(currentChild, currentChild.pendingProps);\n workInProgress.child = newChild;\n newChild.return = workInProgress;\n\n while (currentChild.sibling !== null) {\n currentChild = currentChild.sibling;\n newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps);\n newChild.return = workInProgress;\n }\n\n newChild.sibling = null;\n} // Reset a workInProgress child set to prepare it for a second pass.\n\nfunction resetChildFibers(workInProgress, lanes) {\n var child = workInProgress.child;\n\n while (child !== null) {\n resetWorkInProgress(child, lanes);\n child = child.sibling;\n }\n}\n\nvar NO_CONTEXT = {};\nvar contextStackCursor$1 = createCursor(NO_CONTEXT);\nvar contextFiberStackCursor = createCursor(NO_CONTEXT);\nvar rootInstanceStackCursor = createCursor(NO_CONTEXT);\n\nfunction requiredContext(c) {\n if (c === NO_CONTEXT) {\n throw new Error('Expected host context to exist. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n\n return c;\n}\n\nfunction getRootHostContainer() {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n return rootInstance;\n}\n\nfunction pushHostContainer(fiber, nextRootInstance) {\n // Push current root instance onto the stack;\n // This allows us to reset root when portals are popped.\n push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack.\n // However, we can't just call getRootHostContext() and push it because\n // we'd have a different number of entries on the stack depending on\n // whether getRootHostContext() throws somewhere in renderer code or not.\n // So we push an empty value first. This lets us safely unwind on errors.\n\n push(contextStackCursor$1, NO_CONTEXT, fiber);\n var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it.\n\n pop(contextStackCursor$1, fiber);\n push(contextStackCursor$1, nextRootContext, fiber);\n}\n\nfunction popHostContainer(fiber) {\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n pop(rootInstanceStackCursor, fiber);\n}\n\nfunction getHostContext() {\n var context = requiredContext(contextStackCursor$1.current);\n return context;\n}\n\nfunction pushHostContext(fiber) {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n var context = requiredContext(contextStackCursor$1.current);\n var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique.\n\n if (context === nextContext) {\n return;\n } // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n\n push(contextFiberStackCursor, fiber, fiber);\n push(contextStackCursor$1, nextContext, fiber);\n}\n\nfunction popHostContext(fiber) {\n // Do not pop unless this Fiber provided the current context.\n // pushHostContext() only pushes Fibers that provide unique contexts.\n if (contextFiberStackCursor.current !== fiber) {\n return;\n }\n\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n}\n\nvar DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is\n// inherited deeply down the subtree. The upper bits only affect\n// this immediate suspense boundary and gets reset each new\n// boundary or suspense list.\n\nvar SubtreeSuspenseContextMask = 1; // Subtree Flags:\n// InvisibleParentSuspenseContext indicates that one of our parent Suspense\n// boundaries is not currently showing visible main content.\n// Either because it is already showing a fallback or is not mounted at all.\n// We can use this to determine if it is desirable to trigger a fallback at\n// the parent. If not, then we might need to trigger undesirable boundaries\n// and/or suspend the commit to avoid hiding the parent content.\n\nvar InvisibleParentSuspenseContext = 1; // Shallow Flags:\n// ForceSuspenseFallback can be used by SuspenseList to force newly added\n// items into their fallback state during one of the render passes.\n\nvar ForceSuspenseFallback = 2;\nvar suspenseStackCursor = createCursor(DefaultSuspenseContext);\nfunction hasSuspenseContext(parentContext, flag) {\n return (parentContext & flag) !== 0;\n}\nfunction setDefaultShallowSuspenseContext(parentContext) {\n return parentContext & SubtreeSuspenseContextMask;\n}\nfunction setShallowSuspenseContext(parentContext, shallowContext) {\n return parentContext & SubtreeSuspenseContextMask | shallowContext;\n}\nfunction addSubtreeSuspenseContext(parentContext, subtreeContext) {\n return parentContext | subtreeContext;\n}\nfunction pushSuspenseContext(fiber, newContext) {\n push(suspenseStackCursor, newContext, fiber);\n}\nfunction popSuspenseContext(fiber) {\n pop(suspenseStackCursor, fiber);\n}\n\nfunction shouldCaptureSuspense(workInProgress, hasInvisibleParent) {\n // If it was the primary children that just suspended, capture and render the\n // fallback. Otherwise, don't capture and bubble to the next boundary.\n var nextState = workInProgress.memoizedState;\n\n if (nextState !== null) {\n if (nextState.dehydrated !== null) {\n // A dehydrated boundary always captures.\n return true;\n }\n\n return false;\n }\n\n var props = workInProgress.memoizedProps; // Regular boundaries always capture.\n\n {\n return true;\n } // If it's a boundary we should avoid, then we prefer to bubble up to the\n}\nfunction findFirstSuspended(row) {\n var node = row;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n var dehydrated = state.dehydrated;\n\n if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) {\n return node;\n }\n }\n } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't\n // keep track of whether it suspended or not.\n node.memoizedProps.revealOrder !== undefined) {\n var didSuspend = (node.flags & DidCapture) !== NoFlags;\n\n if (didSuspend) {\n return node;\n }\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === row) {\n return null;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === row) {\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n\n return null;\n}\n\nvar NoFlags$1 =\n/* */\n0; // Represents whether effect should fire.\n\nvar HasEffect =\n/* */\n1; // Represents the phase in which the effect (not the clean-up) fires.\n\nvar Insertion =\n/* */\n2;\nvar Layout =\n/* */\n4;\nvar Passive$1 =\n/* */\n8;\n\n// and should be reset before starting a new render.\n// This tracks which mutable sources need to be reset after a render.\n\nvar workInProgressSources = [];\nfunction resetWorkInProgressVersions() {\n for (var i = 0; i < workInProgressSources.length; i++) {\n var mutableSource = workInProgressSources[i];\n\n {\n mutableSource._workInProgressVersionPrimary = null;\n }\n }\n\n workInProgressSources.length = 0;\n}\n// This ensures that the version used for server rendering matches the one\n// that is eventually read during hydration.\n// If they don't match there's a potential tear and a full deopt render is required.\n\nfunction registerMutableSourceForHydration(root, mutableSource) {\n var getVersion = mutableSource._getVersion;\n var version = getVersion(mutableSource._source); // TODO Clear this data once all pending hydration work is finished.\n // Retaining it forever may interfere with GC.\n\n if (root.mutableSourceEagerHydrationData == null) {\n root.mutableSourceEagerHydrationData = [mutableSource, version];\n } else {\n root.mutableSourceEagerHydrationData.push(mutableSource, version);\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar didWarnAboutMismatchedHooksForComponent;\nvar didWarnUncachedGetSnapshot;\n\n{\n didWarnAboutMismatchedHooksForComponent = new Set();\n}\n\n// These are set right before calling the component.\nvar renderLanes = NoLanes; // The work-in-progress fiber. I've named it differently to distinguish it from\n// the work-in-progress hook.\n\nvar currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The\n// current hook list is the list that belongs to the current fiber. The\n// work-in-progress hook list is a new list that will be added to the\n// work-in-progress fiber.\n\nvar currentHook = null;\nvar workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This\n// does not get reset if we do another render pass; only when we're completely\n// finished evaluating this component. This is an optimization so we know\n// whether we need to clear render phase updates after a throw.\n\nvar didScheduleRenderPhaseUpdate = false; // Where an update was scheduled only during the current render pass. This\n// gets reset after each attempt.\n// TODO: Maybe there's some way to consolidate this with\n// `didScheduleRenderPhaseUpdate`. Or with `numberOfReRenders`.\n\nvar didScheduleRenderPhaseUpdateDuringThisPass = false; // Counts the number of useId hooks in this component.\n\nvar localIdCounter = 0; // Used for ids that are generated completely client-side (i.e. not during\n// hydration). This counter is global, so client ids are not stable across\n// render attempts.\n\nvar globalClientIdCounter = 0;\nvar RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook\n\nvar currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders.\n// The list stores the order of hooks used during the initial render (mount).\n// Subsequent renders (updates) reference this list.\n\nvar hookTypesDev = null;\nvar hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore\n// the dependencies for Hooks that need them (e.g. useEffect or useMemo).\n// When true, such Hooks will always be \"remounted\". Only used during hot reload.\n\nvar ignorePreviousDependencies = false;\n\nfunction mountHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev === null) {\n hookTypesDev = [hookName];\n } else {\n hookTypesDev.push(hookName);\n }\n }\n}\n\nfunction updateHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev !== null) {\n hookTypesUpdateIndexDev++;\n\n if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {\n warnOnHookMismatchInDev(hookName);\n }\n }\n }\n}\n\nfunction checkDepsAreArrayDev(deps) {\n {\n if (deps !== undefined && deps !== null && !isArray(deps)) {\n // Verify deps, but only on mount to avoid extra checks.\n // It's unlikely their type would change as usually you define them inline.\n error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps);\n }\n }\n}\n\nfunction warnOnHookMismatchInDev(currentHookName) {\n {\n var componentName = getComponentNameFromFiber(currentlyRenderingFiber$1);\n\n if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {\n didWarnAboutMismatchedHooksForComponent.add(componentName);\n\n if (hookTypesDev !== null) {\n var table = '';\n var secondColumnStart = 30;\n\n for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {\n var oldHookName = hookTypesDev[i];\n var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;\n var row = i + 1 + \". \" + oldHookName; // Extra space so second column lines up\n // lol @ IE not supporting String#repeat\n\n while (row.length < secondColumnStart) {\n row += ' ';\n }\n\n row += newHookName + '\\n';\n table += row;\n }\n\n error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks\\n\\n' + ' Previous render Next render\\n' + ' ------------------------------------------------------\\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', componentName, table);\n }\n }\n }\n}\n\nfunction throwInvalidHookError() {\n throw new Error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n}\n\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n {\n if (ignorePreviousDependencies) {\n // Only true when this component is being hot reloaded.\n return false;\n }\n }\n\n if (prevDeps === null) {\n {\n error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);\n }\n\n return false;\n }\n\n {\n // Don't bother comparing lengths in prod because these arrays should be\n // passed inline.\n if (nextDeps.length !== prevDeps.length) {\n error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\\n\\n' + 'Previous: %s\\n' + 'Incoming: %s', currentHookNameInDev, \"[\" + prevDeps.join(', ') + \"]\", \"[\" + nextDeps.join(', ') + \"]\");\n }\n }\n\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {\n if (objectIs(nextDeps[i], prevDeps[i])) {\n continue;\n }\n\n return false;\n }\n\n return true;\n}\n\nfunction renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderLanes) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n\n {\n hookTypesDev = current !== null ? current._debugHookTypes : null;\n hookTypesUpdateIndexDev = -1; // Used for hot reloading:\n\n ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;\n }\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = NoLanes; // The following should have already been reset\n // currentHook = null;\n // workInProgressHook = null;\n // didScheduleRenderPhaseUpdate = false;\n // localIdCounter = 0;\n // TODO Warn if no hooks are used at all during mount, then some are used during update.\n // Currently we will identify the update render as a mount because memoizedState === null.\n // This is tricky because it's valid for certain types of components (e.g. React.lazy)\n // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used.\n // Non-stateful hooks (e.g. context) don't get added to memoizedState,\n // so memoizedState would be null during updates and mounts.\n\n {\n if (current !== null && current.memoizedState !== null) {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV;\n } else if (hookTypesDev !== null) {\n // This dispatcher handles an edge case where a component is updating,\n // but no stateful hooks have been used.\n // We want to match the production code behavior (which will use HooksDispatcherOnMount),\n // but with the extra DEV validation to ensure hooks ordering hasn't changed.\n // This dispatcher does that.\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountWithHookTypesInDEV;\n } else {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV;\n }\n }\n\n var children = Component(props, secondArg); // Check if there was a render phase update\n\n if (didScheduleRenderPhaseUpdateDuringThisPass) {\n // Keep rendering in a loop for as long as render phase updates continue to\n // be scheduled. Use a counter to prevent infinite loops.\n var numberOfReRenders = 0;\n\n do {\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n\n if (numberOfReRenders >= RE_RENDER_LIMIT) {\n throw new Error('Too many re-renders. React limits the number of renders to prevent ' + 'an infinite loop.');\n }\n\n numberOfReRenders += 1;\n\n {\n // Even when hot reloading, allow dependencies to stabilize\n // after first render to prevent infinite render phase updates.\n ignorePreviousDependencies = false;\n } // Start over from the beginning of the list\n\n\n currentHook = null;\n workInProgressHook = null;\n workInProgress.updateQueue = null;\n\n {\n // Also validate hook order for cascading updates.\n hookTypesUpdateIndexDev = -1;\n }\n\n ReactCurrentDispatcher$1.current = HooksDispatcherOnRerenderInDEV ;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n } // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n\n\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n {\n workInProgress._debugHookTypes = hookTypesDev;\n } // This check uses currentHook so that it works the same in DEV and prod bundles.\n // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.\n\n\n var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n currentHookNameInDev = null;\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1; // Confirm that a static flag was not added or removed since the last\n // render. If this fires, it suggests that we incorrectly reset the static\n // flags in some other part of the codebase. This has happened before, for\n // example, in the SuspenseList implementation.\n\n if (current !== null && (current.flags & StaticMask) !== (workInProgress.flags & StaticMask) && // Disable this warning in legacy mode, because legacy Suspense is weird\n // and creates false positives. To make this work in legacy mode, we'd\n // need to mark fibers that commit in an incomplete state, somehow. For\n // now I'll disable the warning that most of the bugs that would trigger\n // it are either exclusive to concurrent mode or exist in both.\n (current.mode & ConcurrentMode) !== NoMode) {\n error('Internal React error: Expected static flag was missing. Please ' + 'notify the React team.');\n }\n }\n\n didScheduleRenderPhaseUpdate = false; // This is reset by checkDidRenderIdHook\n // localIdCounter = 0;\n\n if (didRenderTooFewHooks) {\n throw new Error('Rendered fewer hooks than expected. This may be caused by an accidental ' + 'early return statement.');\n }\n\n return children;\n}\nfunction checkDidRenderIdHook() {\n // This should be called immediately after every renderWithHooks call.\n // Conceptually, it's part of the return value of renderWithHooks; it's only a\n // separate function to avoid using an array tuple.\n var didRenderIdHook = localIdCounter !== 0;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the\n // complete phase (bubbleProperties).\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags &= ~(MountPassiveDev | MountLayoutDev | Passive | Update);\n } else {\n workInProgress.flags &= ~(Passive | Update);\n }\n\n current.lanes = removeLanes(current.lanes, lanes);\n}\nfunction resetHooksAfterThrow() {\n // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n if (didScheduleRenderPhaseUpdate) {\n // There were render phase updates. These are only valid for this render\n // phase, which we are now aborting. Remove the updates from the queues so\n // they do not persist to the next render. Do not remove updates from hooks\n // that weren't processed.\n //\n // Only reset the updates from the queue if it has a clone. If it does\n // not have a clone, that means it wasn't processed, and the updates were\n // scheduled before we entered the render phase.\n var hook = currentlyRenderingFiber$1.memoizedState;\n\n while (hook !== null) {\n var queue = hook.queue;\n\n if (queue !== null) {\n queue.pending = null;\n }\n\n hook = hook.next;\n }\n\n didScheduleRenderPhaseUpdate = false;\n }\n\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1;\n currentHookNameInDev = null;\n isUpdatingOpaqueValueInRenderPhase = false;\n }\n\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n}\n\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook;\n } else {\n // Append to the end of the list\n workInProgressHook = workInProgressHook.next = hook;\n }\n\n return workInProgressHook;\n}\n\nfunction updateWorkInProgressHook() {\n // This function is used both for updates and for re-renders triggered by a\n // render phase update. It assumes there is either a current hook we can\n // clone, or a work-in-progress hook from a previous render pass that we can\n // use as a base. When we reach the end of the base list, we must switch to\n // the dispatcher used for mounts.\n var nextCurrentHook;\n\n if (currentHook === null) {\n var current = currentlyRenderingFiber$1.alternate;\n\n if (current !== null) {\n nextCurrentHook = current.memoizedState;\n } else {\n nextCurrentHook = null;\n }\n } else {\n nextCurrentHook = currentHook.next;\n }\n\n var nextWorkInProgressHook;\n\n if (workInProgressHook === null) {\n nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState;\n } else {\n nextWorkInProgressHook = workInProgressHook.next;\n }\n\n if (nextWorkInProgressHook !== null) {\n // There's already a work-in-progress. Reuse it.\n workInProgressHook = nextWorkInProgressHook;\n nextWorkInProgressHook = workInProgressHook.next;\n currentHook = nextCurrentHook;\n } else {\n // Clone from the current hook.\n if (nextCurrentHook === null) {\n throw new Error('Rendered more hooks than during the previous render.');\n }\n\n currentHook = nextCurrentHook;\n var newHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list.\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook;\n } else {\n // Append to the end of the list.\n workInProgressHook = workInProgressHook.next = newHook;\n }\n }\n\n return workInProgressHook;\n}\n\nfunction createFunctionComponentUpdateQueue() {\n return {\n lastEffect: null,\n stores: null\n };\n}\n\nfunction basicStateReducer(state, action) {\n // $FlowFixMe: Flow doesn't like mixed types\n return typeof action === 'function' ? action(state) : action;\n}\n\nfunction mountReducer(reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n var initialState;\n\n if (init !== undefined) {\n initialState = init(initialArg);\n } else {\n initialState = initialArg;\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchReducerAction.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer;\n var current = currentHook; // The last rebase update that is NOT part of the base state.\n\n var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet.\n\n var pendingQueue = queue.pending;\n\n if (pendingQueue !== null) {\n // We have new updates that haven't been processed yet.\n // We'll add them to the base queue.\n if (baseQueue !== null) {\n // Merge the pending queue and the base queue.\n var baseFirst = baseQueue.next;\n var pendingFirst = pendingQueue.next;\n baseQueue.next = pendingFirst;\n pendingQueue.next = baseFirst;\n }\n\n {\n if (current.baseQueue !== baseQueue) {\n // Internal invariant that should never happen, but feasibly could in\n // the future if we implement resuming, or some form of that.\n error('Internal error: Expected work-in-progress queue to be a clone. ' + 'This is a bug in React.');\n }\n }\n\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n\n if (baseQueue !== null) {\n // We have a queue to process.\n var first = baseQueue.next;\n var newState = current.baseState;\n var newBaseState = null;\n var newBaseQueueFirst = null;\n var newBaseQueueLast = null;\n var update = first;\n\n do {\n var updateLane = update.lane;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n lane: updateLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n\n if (newBaseQueueLast === null) {\n newBaseQueueFirst = newBaseQueueLast = clone;\n newBaseState = newState;\n } else {\n newBaseQueueLast = newBaseQueueLast.next = clone;\n } // Update the remaining priority in the queue.\n // TODO: Don't need to accumulate this. Instead, we can remove\n // renderLanes from the original lanes.\n\n\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, updateLane);\n markSkippedUpdateLanes(updateLane);\n } else {\n // This update does have sufficient priority.\n if (newBaseQueueLast !== null) {\n var _clone = {\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n newBaseQueueLast = newBaseQueueLast.next = _clone;\n } // Process this update.\n\n\n if (update.hasEagerState) {\n // If this update is a state update (not a reducer) and was processed eagerly,\n // we can use the eagerly computed state\n newState = update.eagerState;\n } else {\n var action = update.action;\n newState = reducer(newState, action);\n }\n }\n\n update = update.next;\n } while (update !== null && update !== first);\n\n if (newBaseQueueLast === null) {\n newBaseState = newState;\n } else {\n newBaseQueueLast.next = newBaseQueueFirst;\n } // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState;\n hook.baseState = newBaseState;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = newState;\n } // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n\n var lastInterleaved = queue.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n var interleavedLane = interleaved.lane;\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, interleavedLane);\n markSkippedUpdateLanes(interleavedLane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (baseQueue === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.lanes = NoLanes;\n }\n\n var dispatch = queue.dispatch;\n return [hook.memoizedState, dispatch];\n}\n\nfunction rerenderReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous\n // work-in-progress hook.\n\n var dispatch = queue.dispatch;\n var lastRenderPhaseUpdate = queue.pending;\n var newState = hook.memoizedState;\n\n if (lastRenderPhaseUpdate !== null) {\n // The queue doesn't persist past this render pass.\n queue.pending = null;\n var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next;\n var update = firstRenderPhaseUpdate;\n\n do {\n // Process this render phase update. We don't have to check the\n // priority because it will always be the same as the current\n // render's.\n var action = update.action;\n newState = reducer(newState, action);\n update = update.next;\n } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to\n // the base state unless the queue is empty.\n // TODO: Not sure if this is the desired semantics, but it's what we\n // do for gDSFP. I can't remember why.\n\n if (hook.baseQueue === null) {\n hook.baseState = newState;\n }\n\n queue.lastRenderedState = newState;\n }\n\n return [newState, dispatch];\n}\n\nfunction mountMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction updateMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = mountWorkInProgressHook();\n var nextSnapshot;\n var isHydrating = getIsHydrating();\n\n if (isHydrating) {\n if (getServerSnapshot === undefined) {\n throw new Error('Missing getServerSnapshot, which is required for ' + 'server-rendered content. Will revert to client rendering.');\n }\n\n nextSnapshot = getServerSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n if (nextSnapshot !== getServerSnapshot()) {\n error('The result of getServerSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n } else {\n nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n //\n // We won't do this if we're hydrating server-rendered content, because if\n // the content is stale, it's already visible anyway. Instead we'll patch\n // it up in a passive effect.\n\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n } // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n\n hook.memoizedState = nextSnapshot;\n var inst = {\n value: nextSnapshot,\n getSnapshot: getSnapshot\n };\n hook.queue = inst; // Schedule an effect to subscribe to the store.\n\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Schedule an effect to update the mutable instance fields. We will update\n // this whenever subscribe, getSnapshot, or value changes. Because there's no\n // clean-up function, and we track the deps correctly, we can call pushEffect\n // directly, without storing any additional state. For the same reason, we\n // don't need to set a static flag, either.\n // TODO: We can move this to the passive phase once we add a pre-commit\n // consistency check. See the next comment.\n\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null);\n return nextSnapshot;\n}\n\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = updateWorkInProgressHook(); // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n var nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n var prevSnapshot = hook.memoizedState;\n var snapshotChanged = !objectIs(prevSnapshot, nextSnapshot);\n\n if (snapshotChanged) {\n hook.memoizedState = nextSnapshot;\n markWorkInProgressReceivedUpdate();\n }\n\n var inst = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (inst.getSnapshot !== getSnapshot || snapshotChanged || // Check if the susbcribe function changed. We can save some memory by\n // checking whether we scheduled a subscription effect above.\n workInProgressHook !== null && workInProgressHook.memoizedState.tag & HasEffect) {\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null); // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n }\n\n return nextSnapshot;\n}\n\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= StoreConsistency;\n var check = {\n getSnapshot: getSnapshot,\n value: renderedSnapshot\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.stores = [check];\n } else {\n var stores = componentUpdateQueue.stores;\n\n if (stores === null) {\n componentUpdateQueue.stores = [check];\n } else {\n stores.push(check);\n }\n }\n}\n\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n // These are updated in the passive phase\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot; // Something may have been mutated in between render and commit. This could\n // have been in an event that fired before the passive effects, or it could\n // have been in a layout effect. In that case, we would have used the old\n // snapsho and getSnapshot values to bail out. We need to check one more time.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n}\n\nfunction subscribeToStore(fiber, inst, subscribe) {\n var handleStoreChange = function () {\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n}\n\nfunction mountState(initialState) {\n var hook = mountWorkInProgressHook();\n\n if (typeof initialState === 'function') {\n // $FlowFixMe: Flow doesn't like mixed types\n initialState = initialState();\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateState(initialState) {\n return updateReducer(basicStateReducer);\n}\n\nfunction rerenderState(initialState) {\n return rerenderReducer(basicStateReducer);\n}\n\nfunction pushEffect(tag, create, destroy, deps) {\n var effect = {\n tag: tag,\n create: create,\n destroy: destroy,\n deps: deps,\n // Circular\n next: null\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var lastEffect = componentUpdateQueue.lastEffect;\n\n if (lastEffect === null) {\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var firstEffect = lastEffect.next;\n lastEffect.next = effect;\n effect.next = firstEffect;\n componentUpdateQueue.lastEffect = effect;\n }\n }\n\n return effect;\n}\n\nfunction mountRef(initialValue) {\n var hook = mountWorkInProgressHook();\n\n {\n var _ref2 = {\n current: initialValue\n };\n hook.memoizedState = _ref2;\n return _ref2;\n }\n}\n\nfunction updateRef(initialValue) {\n var hook = updateWorkInProgressHook();\n return hook.memoizedState;\n}\n\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, undefined, nextDeps);\n}\n\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var destroy = undefined;\n\n if (currentHook !== null) {\n var prevEffect = currentHook.memoizedState;\n destroy = prevEffect.destroy;\n\n if (nextDeps !== null) {\n var prevDeps = prevEffect.deps;\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n hook.memoizedState = pushEffect(hookFlags, create, destroy, nextDeps);\n return;\n }\n }\n }\n\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, destroy, nextDeps);\n}\n\nfunction mountEffect(create, deps) {\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n return mountEffectImpl(MountPassiveDev | Passive | PassiveStatic, Passive$1, create, deps);\n } else {\n return mountEffectImpl(Passive | PassiveStatic, Passive$1, create, deps);\n }\n}\n\nfunction updateEffect(create, deps) {\n return updateEffectImpl(Passive, Passive$1, create, deps);\n}\n\nfunction mountInsertionEffect(create, deps) {\n return mountEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction mountLayoutEffect(create, deps) {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, create, deps);\n}\n\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(Update, Layout, create, deps);\n}\n\nfunction imperativeHandleEffect(create, ref) {\n if (typeof ref === 'function') {\n var refCallback = ref;\n\n var _inst = create();\n\n refCallback(_inst);\n return function () {\n refCallback(null);\n };\n } else if (ref !== null && ref !== undefined) {\n var refObject = ref;\n\n {\n if (!refObject.hasOwnProperty('current')) {\n error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}');\n }\n }\n\n var _inst2 = create();\n\n refObject.current = _inst2;\n return function () {\n refObject.current = null;\n };\n }\n}\n\nfunction mountImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction updateImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction mountDebugValue(value, formatterFn) {// This hook is normally a no-op.\n // The react-debug-hooks package injects its own implementation\n // so that e.g. DevTools can display custom hook values.\n}\n\nvar updateDebugValue = mountDebugValue;\n\nfunction mountCallback(callback, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction mountMemo(nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n // Assume these are defined. If they're not, areHookInputsEqual will warn.\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction mountDeferredValue(value) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = value;\n return value;\n}\n\nfunction updateDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n var resolvedCurrentHook = currentHook;\n var prevValue = resolvedCurrentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n}\n\nfunction rerenderDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n\n if (currentHook === null) {\n // This is a rerender during a mount.\n hook.memoizedState = value;\n return value;\n } else {\n // This is a rerender during an update.\n var prevValue = currentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n }\n}\n\nfunction updateDeferredValueImpl(hook, prevValue, value) {\n var shouldDeferValue = !includesOnlyNonUrgentLanes(renderLanes);\n\n if (shouldDeferValue) {\n // This is an urgent update. If the value has changed, keep using the\n // previous value and spawn a deferred render to update it later.\n if (!objectIs(value, prevValue)) {\n // Schedule a deferred render\n var deferredLane = claimNextTransitionLane();\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, deferredLane);\n markSkippedUpdateLanes(deferredLane); // Set this to true to indicate that the rendered value is inconsistent\n // from the latest value. The name \"baseState\" doesn't really match how we\n // use it because we're reusing a state hook field instead of creating a\n // new one.\n\n hook.baseState = true;\n } // Reuse the previous value\n\n\n return prevValue;\n } else {\n // This is not an urgent update, so we can use the latest value regardless\n // of what it is. No need to defer it.\n // However, if we're currently inside a spawned render, then we need to mark\n // this as an update to prevent the fiber from bailing out.\n //\n // `baseState` is true when the current value is different from the rendered\n // value. The name doesn't really match how we use it because we're reusing\n // a state hook field instead of creating a new one.\n if (hook.baseState) {\n // Flip this back to false.\n hook.baseState = false;\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = value;\n return value;\n }\n}\n\nfunction startTransition(setPending, callback, options) {\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(higherEventPriority(previousPriority, ContinuousEventPriority));\n setPending(true);\n var prevTransition = ReactCurrentBatchConfig$2.transition;\n ReactCurrentBatchConfig$2.transition = {};\n var currentTransition = ReactCurrentBatchConfig$2.transition;\n\n {\n ReactCurrentBatchConfig$2.transition._updatedFibers = new Set();\n }\n\n try {\n setPending(false);\n callback();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$2.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nfunction mountTransition() {\n var _mountState = mountState(false),\n isPending = _mountState[0],\n setPending = _mountState[1]; // The `start` method never changes.\n\n\n var start = startTransition.bind(null, setPending);\n var hook = mountWorkInProgressHook();\n hook.memoizedState = start;\n return [isPending, start];\n}\n\nfunction updateTransition() {\n var _updateState = updateState(),\n isPending = _updateState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nfunction rerenderTransition() {\n var _rerenderState = rerenderState(),\n isPending = _rerenderState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nvar isUpdatingOpaqueValueInRenderPhase = false;\nfunction getIsUpdatingOpaqueValueInRenderPhaseInDEV() {\n {\n return isUpdatingOpaqueValueInRenderPhase;\n }\n}\n\nfunction mountId() {\n var hook = mountWorkInProgressHook();\n var root = getWorkInProgressRoot(); // TODO: In Fizz, id generation is specific to each server config. Maybe we\n // should do this in Fiber, too? Deferring this decision for now because\n // there's no other place to store the prefix except for an internal field on\n // the public createRoot object, which the fiber tree does not currently have\n // a reference to.\n\n var identifierPrefix = root.identifierPrefix;\n var id;\n\n if (getIsHydrating()) {\n var treeId = getTreeId(); // Use a captial R prefix for server-generated ids.\n\n id = ':' + identifierPrefix + 'R' + treeId; // Unless this is the first id at this level, append a number at the end\n // that represents the position of this useId hook among all the useId\n // hooks for this fiber.\n\n var localId = localIdCounter++;\n\n if (localId > 0) {\n id += 'H' + localId.toString(32);\n }\n\n id += ':';\n } else {\n // Use a lowercase r prefix for client-generated ids.\n var globalClientId = globalClientIdCounter++;\n id = ':' + identifierPrefix + 'r' + globalClientId.toString(32) + ':';\n }\n\n hook.memoizedState = id;\n return id;\n}\n\nfunction updateId() {\n var hook = updateWorkInProgressHook();\n var id = hook.memoizedState;\n return id;\n}\n\nfunction dispatchReducerAction(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction dispatchSetState(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var alternate = fiber.alternate;\n\n if (fiber.lanes === NoLanes && (alternate === null || alternate.lanes === NoLanes)) {\n // The queue is currently empty, which means we can eagerly compute the\n // next state before entering the render phase. If the new state is the\n // same as the current state, we may be able to bail out entirely.\n var lastRenderedReducer = queue.lastRenderedReducer;\n\n if (lastRenderedReducer !== null) {\n var prevDispatcher;\n\n {\n prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n }\n\n try {\n var currentState = queue.lastRenderedState;\n var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute\n // it, on the update object. If the reducer hasn't changed by the\n // time we enter the render phase, then the eager state can be used\n // without calling the reducer again.\n\n update.hasEagerState = true;\n update.eagerState = eagerState;\n\n if (objectIs(eagerState, currentState)) {\n // Fast path. We can bail out without scheduling React to re-render.\n // It's still possible that we'll need to rebase this update later,\n // if the component re-renders for a different reason and by that\n // time the reducer has changed.\n // TODO: Do we still need to entangle transitions in this case?\n enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane);\n return;\n }\n } catch (error) {// Suppress the error. It will throw again in the render phase.\n } finally {\n {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n }\n }\n }\n\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1;\n}\n\nfunction enqueueRenderPhaseUpdate(queue, update) {\n // This is a render phase update. Stash it in a lazily-created map of\n // queue -> linked list of updates. After this render pass, we'll restart\n // and apply the stashed updates on top of the work-in-progress hook.\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;\n var pending = queue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n queue.pending = update;\n} // TODO: Move to ReactFiberConcurrentUpdates?\n\n\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (isTransitionLane(lane)) {\n var queueLanes = queue.lanes; // If any entangled lanes are no longer pending on the root, then they\n // must have finished. We can remove them from the shared queue, which\n // represents a superset of the actually pending lanes. In some cases we\n // may entangle more than we need to, but that's OK. In fact it's worse if\n // we *don't* entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n queue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\n\nfunction markUpdateInDevTools(fiber, lane, action) {\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n}\n\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useMutableSource: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n unstable_isNewReconciler: enableNewReconciler\n};\n\nvar HooksDispatcherOnMountInDEV = null;\nvar HooksDispatcherOnMountWithHookTypesInDEV = null;\nvar HooksDispatcherOnUpdateInDEV = null;\nvar HooksDispatcherOnRerenderInDEV = null;\nvar InvalidNestedHooksDispatcherOnMountInDEV = null;\nvar InvalidNestedHooksDispatcherOnUpdateInDEV = null;\nvar InvalidNestedHooksDispatcherOnRerenderInDEV = null;\n\n{\n var warnInvalidContextAccess = function () {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n };\n\n var warnInvalidHookAccess = function () {\n error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://reactjs.org/link/rules-of-hooks');\n };\n\n HooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnMountWithHookTypesInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n}\n\nvar now$1 = Scheduler.unstable_now;\nvar commitTime = 0;\nvar layoutEffectStartTime = -1;\nvar profilerStartTime = -1;\nvar passiveEffectStartTime = -1;\n/**\n * Tracks whether the current update was a nested/cascading update (scheduled from a layout effect).\n *\n * The overall sequence is:\n * 1. render\n * 2. commit (and call `onRender`, `onCommit`)\n * 3. check for nested updates\n * 4. flush passive effects (and call `onPostCommit`)\n *\n * Nested updates are identified in step 3 above,\n * but step 4 still applies to the work that was just committed.\n * We use two flags to track nested updates then:\n * one tracks whether the upcoming update is a nested update,\n * and the other tracks whether the current update was a nested update.\n * The first value gets synced to the second at the start of the render phase.\n */\n\nvar currentUpdateIsNested = false;\nvar nestedUpdateScheduled = false;\n\nfunction isCurrentUpdateNested() {\n return currentUpdateIsNested;\n}\n\nfunction markNestedUpdateScheduled() {\n {\n nestedUpdateScheduled = true;\n }\n}\n\nfunction resetNestedUpdateFlag() {\n {\n currentUpdateIsNested = false;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction syncNestedUpdateFlag() {\n {\n currentUpdateIsNested = nestedUpdateScheduled;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction getCommitTime() {\n return commitTime;\n}\n\nfunction recordCommitTime() {\n\n commitTime = now$1();\n}\n\nfunction startProfilerTimer(fiber) {\n\n profilerStartTime = now$1();\n\n if (fiber.actualStartTime < 0) {\n fiber.actualStartTime = now$1();\n }\n}\n\nfunction stopProfilerTimerIfRunning(fiber) {\n\n profilerStartTime = -1;\n}\n\nfunction stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) {\n\n if (profilerStartTime >= 0) {\n var elapsedTime = now$1() - profilerStartTime;\n fiber.actualDuration += elapsedTime;\n\n if (overrideBaseTime) {\n fiber.selfBaseDuration = elapsedTime;\n }\n\n profilerStartTime = -1;\n }\n}\n\nfunction recordLayoutEffectDuration(fiber) {\n\n if (layoutEffectStartTime >= 0) {\n var elapsedTime = now$1() - layoutEffectStartTime;\n layoutEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += elapsedTime;\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += elapsedTime;\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction recordPassiveEffectDuration(fiber) {\n\n if (passiveEffectStartTime >= 0) {\n var elapsedTime = now$1() - passiveEffectStartTime;\n passiveEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n\n if (root !== null) {\n root.passiveEffectDuration += elapsedTime;\n }\n\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n\n if (parentStateNode !== null) {\n // Detached fibers have their state node cleared out.\n // In this case, the return pointer is also cleared out,\n // so we won't be able to report the time spent in this Profiler's subtree.\n parentStateNode.passiveEffectDuration += elapsedTime;\n }\n\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction startLayoutEffectTimer() {\n\n layoutEffectStartTime = now$1();\n}\n\nfunction startPassiveEffectTimer() {\n\n passiveEffectStartTime = now$1();\n}\n\nfunction transferActualDuration(fiber) {\n // Transfer time spent rendering these children so we don't lose it\n // after we rerender. This is used as a helper in special cases\n // where we should count the work of multiple passes.\n var child = fiber.child;\n\n while (child) {\n fiber.actualDuration += child.actualDuration;\n child = child.sibling;\n }\n}\n\nfunction createCapturedValueAtFiber(value, source) {\n // If the value is an error, call this function immediately after it is thrown\n // so the stack is accurate.\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source),\n digest: null\n };\n}\nfunction createCapturedValue(value, digest, stack) {\n return {\n value: value,\n source: null,\n stack: stack != null ? stack : null,\n digest: digest != null ? digest : null\n };\n}\n\n// This module is forked in different environments.\n// By default, return `true` to log errors to the console.\n// Forks can return `false` if this isn't desirable.\nfunction showErrorDialog(boundary, errorInfo) {\n return true;\n}\n\nfunction logCapturedError(boundary, errorInfo) {\n try {\n var logError = showErrorDialog(boundary, errorInfo); // Allow injected showErrorDialog() to prevent default console.error logging.\n // This enables renderers like ReactNative to better manage redbox behavior.\n\n if (logError === false) {\n return;\n }\n\n var error = errorInfo.value;\n\n if (true) {\n var source = errorInfo.source;\n var stack = errorInfo.stack;\n var componentStack = stack !== null ? stack : ''; // Browsers support silencing uncaught errors by calling\n // `preventDefault()` in window `error` handler.\n // We record this information as an expando on the error.\n\n if (error != null && error._suppressLogging) {\n if (boundary.tag === ClassComponent) {\n // The error is recoverable and was silenced.\n // Ignore it and don't print the stack addendum.\n // This is handy for testing error boundaries without noise.\n return;\n } // The error is fatal. Since the silencing might have\n // been accidental, we'll surface it anyway.\n // However, the browser would have silenced the original error\n // so we'll print it first, and then print the stack addendum.\n\n\n console['error'](error); // Don't transform to our wrapper\n // For a more detailed description of this block, see:\n // https://github.com/facebook/react/pull/13384\n }\n\n var componentName = source ? getComponentNameFromFiber(source) : null;\n var componentNameMessage = componentName ? \"The above error occurred in the <\" + componentName + \"> component:\" : 'The above error occurred in one of your React components:';\n var errorBoundaryMessage;\n\n if (boundary.tag === HostRoot) {\n errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\\n' + 'Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.';\n } else {\n var errorBoundaryName = getComponentNameFromFiber(boundary) || 'Anonymous';\n errorBoundaryMessage = \"React will try to recreate this component tree from scratch \" + (\"using the error boundary you provided, \" + errorBoundaryName + \".\");\n }\n\n var combinedMessage = componentNameMessage + \"\\n\" + componentStack + \"\\n\\n\" + (\"\" + errorBoundaryMessage); // In development, we provide our own message with just the component stack.\n // We don't include the original error message and JS stack because the browser\n // has already printed it. Even if the application swallows the error, it is still\n // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils.\n\n console['error'](combinedMessage); // Don't transform to our wrapper\n } else {}\n } catch (e) {\n // This method must not throw, or React internal state will get messed up.\n // If console.error is overridden, or logCapturedError() shows a dialog that throws,\n // we want to report this error outside of the normal stack as a last resort.\n // https://github.com/facebook/react/issues/13188\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nvar PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map;\n\nfunction createRootErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane); // Unmount the root by rendering null.\n\n update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: null\n };\n var error = errorInfo.value;\n\n update.callback = function () {\n onUncaughtError(error);\n logCapturedError(fiber, errorInfo);\n };\n\n return update;\n}\n\nfunction createClassErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane);\n update.tag = CaptureUpdate;\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n\n if (typeof getDerivedStateFromError === 'function') {\n var error$1 = errorInfo.value;\n\n update.payload = function () {\n return getDerivedStateFromError(error$1);\n };\n\n update.callback = function () {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n };\n }\n\n var inst = fiber.stateNode;\n\n if (inst !== null && typeof inst.componentDidCatch === 'function') {\n update.callback = function callback() {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n\n if (typeof getDerivedStateFromError !== 'function') {\n // To preserve the preexisting retry behavior of error boundaries,\n // we keep track of which ones already failed during this batch.\n // This gets reset before we yield back to the browser.\n // TODO: Warn in strict mode if getDerivedStateFromError is\n // not defined.\n markLegacyErrorBoundaryAsFailed(this);\n }\n\n var error$1 = errorInfo.value;\n var stack = errorInfo.stack;\n this.componentDidCatch(error$1, {\n componentStack: stack !== null ? stack : ''\n });\n\n {\n if (typeof getDerivedStateFromError !== 'function') {\n // If componentDidCatch is the only error boundary method defined,\n // then it needs to call setState to recover from errors.\n // If no state update is scheduled then the boundary will swallow the error.\n if (!includesSomeLane(fiber.lanes, SyncLane)) {\n error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentNameFromFiber(fiber) || 'Unknown');\n }\n }\n }\n };\n }\n\n return update;\n}\n\nfunction attachPingListener(root, wakeable, lanes) {\n // Attach a ping listener\n //\n // The data might resolve before we have a chance to commit the fallback. Or,\n // in the case of a refresh, we'll never commit a fallback. So we need to\n // attach a listener now. When it resolves (\"pings\"), we can decide whether to\n // try rendering the tree again.\n //\n // Only attach a listener if one does not already exist for the lanes\n // we're currently rendering (which acts like a \"thread ID\" here).\n //\n // We only need to do this in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n var pingCache = root.pingCache;\n var threadIDs;\n\n if (pingCache === null) {\n pingCache = root.pingCache = new PossiblyWeakMap$1();\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else {\n threadIDs = pingCache.get(wakeable);\n\n if (threadIDs === undefined) {\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n }\n }\n\n if (!threadIDs.has(lanes)) {\n // Memoize using the thread ID to prevent redundant listeners.\n threadIDs.add(lanes);\n var ping = pingSuspendedRoot.bind(null, root, wakeable, lanes);\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, lanes);\n }\n }\n\n wakeable.then(ping, ping);\n }\n}\n\nfunction attachRetryListener(suspenseBoundary, root, wakeable, lanes) {\n // Retry listener\n //\n // If the fallback does commit, we need to attach a different type of\n // listener. This one schedules an update on the Suspense boundary to turn\n // the fallback state off.\n //\n // Stash the wakeable on the boundary fiber so we can access it in the\n // commit phase.\n //\n // When the wakeable resolves, we'll attempt to render the boundary\n // again (\"retry\").\n var wakeables = suspenseBoundary.updateQueue;\n\n if (wakeables === null) {\n var updateQueue = new Set();\n updateQueue.add(wakeable);\n suspenseBoundary.updateQueue = updateQueue;\n } else {\n wakeables.add(wakeable);\n }\n}\n\nfunction resetSuspendedComponent(sourceFiber, rootRenderLanes) {\n // A legacy mode Suspense quirk, only relevant to hook components.\n\n\n var tag = sourceFiber.tag;\n\n if ((sourceFiber.mode & ConcurrentMode) === NoMode && (tag === FunctionComponent || tag === ForwardRef || tag === SimpleMemoComponent)) {\n var currentSource = sourceFiber.alternate;\n\n if (currentSource) {\n sourceFiber.updateQueue = currentSource.updateQueue;\n sourceFiber.memoizedState = currentSource.memoizedState;\n sourceFiber.lanes = currentSource.lanes;\n } else {\n sourceFiber.updateQueue = null;\n sourceFiber.memoizedState = null;\n }\n }\n}\n\nfunction getNearestSuspenseBoundaryToCapture(returnFiber) {\n var node = returnFiber;\n\n do {\n if (node.tag === SuspenseComponent && shouldCaptureSuspense(node)) {\n return node;\n } // This boundary already captured during this render. Continue to the next\n // boundary.\n\n\n node = node.return;\n } while (node !== null);\n\n return null;\n}\n\nfunction markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes) {\n // This marks a Suspense boundary so that when we're unwinding the stack,\n // it captures the suspended \"exception\" and does a second (fallback) pass.\n if ((suspenseBoundary.mode & ConcurrentMode) === NoMode) {\n // Legacy Mode Suspense\n //\n // If the boundary is in legacy mode, we should *not*\n // suspend the commit. Pretend as if the suspended component rendered\n // null and keep rendering. When the Suspense boundary completes,\n // we'll do a second pass to render the fallback.\n if (suspenseBoundary === returnFiber) {\n // Special case where we suspended while reconciling the children of\n // a Suspense boundary's inner Offscreen wrapper fiber. This happens\n // when a React.lazy component is a direct child of a\n // Suspense boundary.\n //\n // Suspense boundaries are implemented as multiple fibers, but they\n // are a single conceptual unit. The legacy mode behavior where we\n // pretend the suspended fiber committed as `null` won't work,\n // because in this case the \"suspended\" fiber is the inner\n // Offscreen wrapper.\n //\n // Because the contents of the boundary haven't started rendering\n // yet (i.e. nothing in the tree has partially rendered) we can\n // switch to the regular, concurrent mode behavior: mark the\n // boundary with ShouldCapture and enter the unwind phase.\n suspenseBoundary.flags |= ShouldCapture;\n } else {\n suspenseBoundary.flags |= DidCapture;\n sourceFiber.flags |= ForceUpdateForLegacySuspense; // We're going to commit this fiber even though it didn't complete.\n // But we shouldn't call any lifecycle methods or callbacks. Remove\n // all lifecycle effect tags.\n\n sourceFiber.flags &= ~(LifecycleEffectMask | Incomplete);\n\n if (sourceFiber.tag === ClassComponent) {\n var currentSourceFiber = sourceFiber.alternate;\n\n if (currentSourceFiber === null) {\n // This is a new mount. Change the tag so it's not mistaken for a\n // completed class component. For example, we should not call\n // componentWillUnmount if it is deleted.\n sourceFiber.tag = IncompleteClassComponent;\n } else {\n // When we try rendering again, we should not reuse the current fiber,\n // since it's known to be in an inconsistent state. Use a force update to\n // prevent a bail out.\n var update = createUpdate(NoTimestamp, SyncLane);\n update.tag = ForceUpdate;\n enqueueUpdate(sourceFiber, update, SyncLane);\n }\n } // The source fiber did not complete. Mark it with Sync priority to\n // indicate that it still has pending work.\n\n\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, SyncLane);\n }\n\n return suspenseBoundary;\n } // Confirmed that the boundary is in a concurrent mode tree. Continue\n // with the normal suspend path.\n //\n // After this we'll use a set of heuristics to determine whether this\n // render pass will run to completion or restart or \"suspend\" the commit.\n // The actual logic for this is spread out in different places.\n //\n // This first principle is that if we're going to suspend when we complete\n // a root, then we should also restart if we get an update or ping that\n // might unsuspend it, and vice versa. The only reason to suspend is\n // because you think you might want to restart before committing. However,\n // it doesn't make sense to restart only while in the period we're suspended.\n //\n // Restarting too aggressively is also not good because it starves out any\n // intermediate loading state. So we use heuristics to determine when.\n // Suspense Heuristics\n //\n // If nothing threw a Promise or all the same fallbacks are already showing,\n // then don't suspend/restart.\n //\n // If this is an initial render of a new tree of Suspense boundaries and\n // those trigger a fallback, then don't suspend/restart. We want to ensure\n // that we can show the initial loading state as quickly as possible.\n //\n // If we hit a \"Delayed\" case, such as when we'd switch from content back into\n // a fallback, then we should always suspend/restart. Transitions apply\n // to this case. If none is defined, JND is used instead.\n //\n // If we're already showing a fallback and it gets \"retried\", allowing us to show\n // another level, but there's still an inner boundary that would show a fallback,\n // then we suspend/restart for 500ms since the last time we showed a fallback\n // anywhere in the tree. This effectively throttles progressive loading into a\n // consistent train of commits. This also gives us an opportunity to restart to\n // get to the completed state slightly earlier.\n //\n // If there's ambiguity due to batching it's resolved in preference of:\n // 1) \"delayed\", 2) \"initial render\", 3) \"retry\".\n //\n // We want to ensure that a \"busy\" state doesn't get force committed. We want to\n // ensure that new initial loading states can commit as soon as possible.\n\n\n suspenseBoundary.flags |= ShouldCapture; // TODO: I think we can remove this, since we now use `DidCapture` in\n // the begin phase to prevent an early bailout.\n\n suspenseBoundary.lanes = rootRenderLanes;\n return suspenseBoundary;\n}\n\nfunction throwException(root, returnFiber, sourceFiber, value, rootRenderLanes) {\n // The source fiber did not complete.\n sourceFiber.flags |= Incomplete;\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, rootRenderLanes);\n }\n }\n\n if (value !== null && typeof value === 'object' && typeof value.then === 'function') {\n // This is a wakeable. The component suspended.\n var wakeable = value;\n resetSuspendedComponent(sourceFiber);\n\n {\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n }\n }\n\n\n var suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber);\n\n if (suspenseBoundary !== null) {\n suspenseBoundary.flags &= ~ForceClientRender;\n markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // We only attach ping listeners in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n\n if (suspenseBoundary.mode & ConcurrentMode) {\n attachPingListener(root, wakeable, rootRenderLanes);\n }\n\n attachRetryListener(suspenseBoundary, root, wakeable);\n return;\n } else {\n // No boundary was found. Unless this is a sync update, this is OK.\n // We can suspend and wait for more data to arrive.\n if (!includesSyncLane(rootRenderLanes)) {\n // This is not a sync update. Suspend. Since we're not activating a\n // Suspense boundary, this will unwind all the way to the root without\n // performing a second pass to render a fallback. (This is arguably how\n // refresh transitions should work, too, since we're not going to commit\n // the fallbacks anyway.)\n //\n // This case also applies to initial hydration.\n attachPingListener(root, wakeable, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return;\n } // This is a sync/discrete update. We treat this case like an error\n // because discrete renders are expected to produce a complete tree\n // synchronously to maintain consistency with external state.\n\n\n var uncaughtSuspenseError = new Error('A component suspended while responding to synchronous input. This ' + 'will cause the UI to be replaced with a loading indicator. To ' + 'fix, updates that suspend should be wrapped ' + 'with startTransition.'); // If we're outside a transition, fall through to the regular error path.\n // The error will be caught by the nearest suspense boundary.\n\n value = uncaughtSuspenseError;\n }\n } else {\n // This is a regular error, not a Suspense wakeable.\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n\n var _suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber); // If the error was thrown during hydration, we may be able to recover by\n // discarding the dehydrated content and switching to a client render.\n // Instead of surfacing the error, find the nearest Suspense boundary\n // and render it again without hydration.\n\n\n if (_suspenseBoundary !== null) {\n if ((_suspenseBoundary.flags & ShouldCapture) === NoFlags) {\n // Set a flag to indicate that we should try rendering the normal\n // children again, not the fallback.\n _suspenseBoundary.flags |= ForceClientRender;\n }\n\n markSuspenseBoundaryShouldCapture(_suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // Even though the user may not be affected by this error, we should\n // still log it so it can be fixed.\n\n queueHydrationError(createCapturedValueAtFiber(value, sourceFiber));\n return;\n }\n }\n }\n\n value = createCapturedValueAtFiber(value, sourceFiber);\n renderDidError(value); // We didn't find a boundary that could handle this type of exception. Start\n // over and traverse parent path again, this time treating the exception\n // as an error.\n\n var workInProgress = returnFiber;\n\n do {\n switch (workInProgress.tag) {\n case HostRoot:\n {\n var _errorInfo = value;\n workInProgress.flags |= ShouldCapture;\n var lane = pickArbitraryLane(rootRenderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane);\n var update = createRootErrorUpdate(workInProgress, _errorInfo, lane);\n enqueueCapturedUpdate(workInProgress, update);\n return;\n }\n\n case ClassComponent:\n // Capture and retry\n var errorInfo = value;\n var ctor = workInProgress.type;\n var instance = workInProgress.stateNode;\n\n if ((workInProgress.flags & DidCapture) === NoFlags && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) {\n workInProgress.flags |= ShouldCapture;\n\n var _lane = pickArbitraryLane(rootRenderLanes);\n\n workInProgress.lanes = mergeLanes(workInProgress.lanes, _lane); // Schedule the error boundary to re-render using updated state\n\n var _update = createClassErrorUpdate(workInProgress, errorInfo, _lane);\n\n enqueueCapturedUpdate(workInProgress, _update);\n return;\n }\n\n break;\n }\n\n workInProgress = workInProgress.return;\n } while (workInProgress !== null);\n}\n\nfunction getSuspendedCache() {\n {\n return null;\n } // This function is called when a Suspense boundary suspends. It returns the\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar didReceiveUpdate = false;\nvar didWarnAboutBadClass;\nvar didWarnAboutModulePatternComponent;\nvar didWarnAboutContextTypeOnFunctionComponent;\nvar didWarnAboutGetDerivedStateOnFunctionComponent;\nvar didWarnAboutFunctionRefs;\nvar didWarnAboutReassigningProps;\nvar didWarnAboutRevealOrder;\nvar didWarnAboutTailOptions;\n\n{\n didWarnAboutBadClass = {};\n didWarnAboutModulePatternComponent = {};\n didWarnAboutContextTypeOnFunctionComponent = {};\n didWarnAboutGetDerivedStateOnFunctionComponent = {};\n didWarnAboutFunctionRefs = {};\n didWarnAboutReassigningProps = false;\n didWarnAboutRevealOrder = {};\n didWarnAboutTailOptions = {};\n}\n\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n if (current === null) {\n // If this is a fresh new component that hasn't been rendered yet, we\n // won't update its child set by applying minimal side-effects. Instead,\n // we will add them all to the child before it gets rendered. That means\n // we can optimize this reconciliation pass by not tracking side-effects.\n workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n // If the current child is the same as the work in progress, it means that\n // we haven't yet started any work on these children. Therefore, we use\n // the clone algorithm to create a copy of all the current children.\n // If we had any progressed work already, that is invalid at this point so\n // let's throw it out.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderLanes);\n }\n}\n\nfunction forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes) {\n // This function is fork of reconcileChildren. It's used in cases where we\n // want to reconcile without matching against the existing set. This has the\n // effect of all current children being unmounted; even if the type and key\n // are the same, the old child is unmounted and a new child is created.\n //\n // To do this, we're going to go through the reconcile algorithm twice. In\n // the first pass, we schedule a deletion for all the current children by\n // passing null.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderLanes); // In the second pass, we mount the new children. The trick here is that we\n // pass null in place of where we usually pass the current child set. This has\n // the effect of remounting all children regardless of whether their\n // identities match.\n\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n}\n\nfunction updateForwardRef(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens after the first render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var render = Component.render;\n var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n if (current === null) {\n var type = Component.type;\n\n if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.\n Component.defaultProps === undefined) {\n var resolvedType = type;\n\n {\n resolvedType = resolveFunctionForHotReloading(type);\n } // If this is a plain function component without default props,\n // and with only the default shallow comparison, we upgrade it\n // to a SimpleMemoComponent to allow fast path updates.\n\n\n workInProgress.tag = SimpleMemoComponent;\n workInProgress.type = resolvedType;\n\n {\n validateFunctionComponentInDev(workInProgress, type);\n }\n\n return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, renderLanes);\n }\n\n {\n var innerPropTypes = type.propTypes;\n\n if (innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(type));\n }\n }\n\n var child = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress, workInProgress.mode, renderLanes);\n child.ref = workInProgress.ref;\n child.return = workInProgress;\n workInProgress.child = child;\n return child;\n }\n\n {\n var _type = Component.type;\n var _innerPropTypes = _type.propTypes;\n\n if (_innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(_innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(_type));\n }\n }\n\n var currentChild = current.child; // This is always exactly one child\n\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext) {\n // This will be the props with resolved defaultProps,\n // unlike current.memoizedProps which will be the unresolved ones.\n var prevProps = currentChild.memoizedProps; // Default to shallow comparison\n\n var compare = Component.compare;\n compare = compare !== null ? compare : shallowEqual;\n\n if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n var newChild = createWorkInProgress(currentChild, nextProps);\n newChild.ref = workInProgress.ref;\n newChild.return = workInProgress;\n workInProgress.child = newChild;\n return newChild;\n}\n\nfunction updateSimpleMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens when the inner render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var outerMemoType = workInProgress.elementType;\n\n if (outerMemoType.$$typeof === REACT_LAZY_TYPE) {\n // We warn when you define propTypes on lazy()\n // so let's just skip over it to find memo() outer wrapper.\n // Inner props for memo are validated later.\n var lazyComponent = outerMemoType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n outerMemoType = init(payload);\n } catch (x) {\n outerMemoType = null;\n } // Inner propTypes will be validated in the function component path.\n\n\n var outerPropTypes = outerMemoType && outerMemoType.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps)\n 'prop', getComponentNameFromType(outerMemoType));\n }\n }\n }\n }\n\n if (current !== null) {\n var prevProps = current.memoizedProps;\n\n if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload.\n workInProgress.type === current.type )) {\n didReceiveUpdate = false; // The props are shallowly equal. Reuse the previous props object, like we\n // would during a normal fiber bailout.\n //\n // We don't have strong guarantees that the props object is referentially\n // equal during updates where we can't bail out anyway — like if the props\n // are shallowly equal, but there's a local state or context update in the\n // same batch.\n //\n // However, as a principle, we should aim to make the behavior consistent\n // across different ways of memoizing a component. For example, React.memo\n // has a different internal Fiber layout if you pass a normal function\n // component (SimpleMemoComponent) versus if you pass a different type\n // like forwardRef (MemoComponent). But this is an implementation detail.\n // Wrapping a component in forwardRef (or React.lazy, etc) shouldn't\n // affect whether the props object is reused during a bailout.\n\n workInProgress.pendingProps = nextProps = prevProps;\n\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n // The pending lanes were cleared at the beginning of beginWork. We're\n // about to bail out, but there might be other lanes that weren't\n // included in the current render. Usually, the priority level of the\n // remaining updates is accumulated during the evaluation of the\n // component (i.e. when processing the update queue). But since since\n // we're bailing out early *without* evaluating the component, we need\n // to account for it here, too. Reset to the value of the current fiber.\n // NOTE: This only applies to SimpleMemoComponent, not MemoComponent,\n // because a MemoComponent fiber does not have hooks or an update queue;\n // rather, it wraps around an inner component, which may or may not\n // contains hooks.\n // TODO: Move the reset at in beginWork out of the common path so that\n // this is no longer necessary.\n workInProgress.lanes = current.lanes;\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n } else if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n }\n }\n }\n\n return updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes);\n}\n\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n var prevState = current !== null ? current.memoizedState : null;\n\n if (nextProps.mode === 'hidden' || enableLegacyHidden ) {\n // Rendering a hidden tree.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy sync mode, don't defer the subtree. Render it now.\n // TODO: Consider how Offscreen should work with transitions in the future\n var nextState = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = nextState;\n\n pushRenderLanes(workInProgress, renderLanes);\n } else if (!includesSomeLane(renderLanes, OffscreenLane)) {\n var spawnedCachePool = null; // We're hidden, and we're not rendering at Offscreen. We will bail out\n // and resume this tree later.\n\n var nextBaseLanes;\n\n if (prevState !== null) {\n var prevBaseLanes = prevState.baseLanes;\n nextBaseLanes = mergeLanes(prevBaseLanes, renderLanes);\n } else {\n nextBaseLanes = renderLanes;\n } // Schedule this fiber to re-render at offscreen priority. Then bailout.\n\n\n workInProgress.lanes = workInProgress.childLanes = laneToLanes(OffscreenLane);\n var _nextState = {\n baseLanes: nextBaseLanes,\n cachePool: spawnedCachePool,\n transitions: null\n };\n workInProgress.memoizedState = _nextState;\n workInProgress.updateQueue = null;\n // to avoid a push/pop misalignment.\n\n\n pushRenderLanes(workInProgress, nextBaseLanes);\n\n return null;\n } else {\n // This is the second render. The surrounding visible content has already\n // committed. Now we resume rendering the hidden tree.\n // Rendering at offscreen, so we can clear the base lanes.\n var _nextState2 = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = _nextState2; // Push the lanes that were skipped when we bailed out.\n\n var subtreeRenderLanes = prevState !== null ? prevState.baseLanes : renderLanes;\n\n pushRenderLanes(workInProgress, subtreeRenderLanes);\n }\n } else {\n // Rendering a visible tree.\n var _subtreeRenderLanes;\n\n if (prevState !== null) {\n // We're going from hidden -> visible.\n _subtreeRenderLanes = mergeLanes(prevState.baseLanes, renderLanes);\n\n workInProgress.memoizedState = null;\n } else {\n // We weren't previously hidden, and we still aren't, so there's nothing\n // special to do. Need to push to the stack regardless, though, to avoid\n // a push/pop misalignment.\n _subtreeRenderLanes = renderLanes;\n }\n\n pushRenderLanes(workInProgress, _subtreeRenderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n} // Note: These happen to have identical begin phases, for now. We shouldn't hold\n\nfunction updateFragment(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMode(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateProfiler(current, workInProgress, renderLanes) {\n {\n workInProgress.flags |= Update;\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n\n if (current === null && ref !== null || current !== null && current.ref !== ref) {\n // Schedule a Ref effect\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n }\n}\n\nfunction updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, true);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateClassComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n // This is used by DevTools to force a boundary to error.\n switch (shouldError(workInProgress)) {\n case false:\n {\n var _instance = workInProgress.stateNode;\n var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack.\n // Is there a better way to do this?\n\n var tempInstance = new ctor(workInProgress.memoizedProps, _instance.context);\n var state = tempInstance.state;\n\n _instance.updater.enqueueSetState(_instance, state, null);\n\n break;\n }\n\n case true:\n {\n workInProgress.flags |= DidCapture;\n workInProgress.flags |= ShouldCapture; // eslint-disable-next-line react-internal/prod-error-codes\n\n var error$1 = new Error('Simulated error coming from DevTools');\n var lane = pickArbitraryLane(renderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane); // Schedule the error boundary to re-render using updated state\n\n var update = createClassErrorUpdate(workInProgress, createCapturedValueAtFiber(error$1, workInProgress), lane);\n enqueueCapturedUpdate(workInProgress, update);\n break;\n }\n }\n\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n } // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var instance = workInProgress.stateNode;\n var shouldUpdate;\n\n if (instance === null) {\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress); // In the initial pass we might need to construct the instance.\n\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n shouldUpdate = true;\n } else if (current === null) {\n // In a resume, we'll already have an instance we can reuse.\n shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderLanes);\n } else {\n shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderLanes);\n }\n\n var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes);\n\n {\n var inst = workInProgress.stateNode;\n\n if (shouldUpdate && inst.props !== nextProps) {\n if (!didWarnAboutReassigningProps) {\n error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentNameFromFiber(workInProgress) || 'a component');\n }\n\n didWarnAboutReassigningProps = true;\n }\n }\n\n return nextUnitOfWork;\n}\n\nfunction finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes) {\n // Refs should update even if shouldComponentUpdate returns false\n markRef(current, workInProgress);\n var didCaptureError = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (!shouldUpdate && !didCaptureError) {\n // Context providers should defer to sCU for rendering\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, false);\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n var instance = workInProgress.stateNode; // Rerender\n\n ReactCurrentOwner$1.current = workInProgress;\n var nextChildren;\n\n if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') {\n // If we captured an error, but getDerivedStateFromError is not defined,\n // unmount all the children. componentDidCatch will schedule an update to\n // re-render a fallback. This is temporary until we migrate everyone to\n // the new API.\n // TODO: Warn in a future release.\n nextChildren = null;\n\n {\n stopProfilerTimerIfRunning();\n }\n } else {\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n setIsRendering(true);\n nextChildren = instance.render();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance.render();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n if (current !== null && didCaptureError) {\n // If we're recovering from an error, reconcile without reusing any of\n // the existing children. Conceptually, the normal children and the children\n // that are shown on error are two different sets, so we shouldn't reuse\n // normal children even if their identities match.\n forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n } // Memoize state using the values we just used to render.\n // TODO: Restructure so we never read values from the instance.\n\n\n workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it.\n\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, true);\n }\n\n return workInProgress.child;\n}\n\nfunction pushHostRootContext(workInProgress) {\n var root = workInProgress.stateNode;\n\n if (root.pendingContext) {\n pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context);\n } else if (root.context) {\n // Should always be set\n pushTopLevelContextObject(workInProgress, root.context, false);\n }\n\n pushHostContainer(workInProgress, root.containerInfo);\n}\n\nfunction updateHostRoot(current, workInProgress, renderLanes) {\n pushHostRootContext(workInProgress);\n\n if (current === null) {\n throw new Error('Should have a current fiber. This is a bug in React.');\n }\n\n var nextProps = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n var prevChildren = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n var root = workInProgress.stateNode;\n // being called \"element\".\n\n\n var nextChildren = nextState.element;\n\n if ( prevState.isDehydrated) {\n // This is a hydration root whose shell has not yet hydrated. We should\n // attempt to hydrate.\n // Flip isDehydrated to false to indicate that when this render\n // finishes, the root will no longer be dehydrated.\n var overrideState = {\n element: nextChildren,\n isDehydrated: false,\n cache: nextState.cache,\n pendingSuspenseBoundaries: nextState.pendingSuspenseBoundaries,\n transitions: nextState.transitions\n };\n var updateQueue = workInProgress.updateQueue; // `baseState` can always be the last state because the root doesn't\n // have reducer functions so it doesn't need rebasing.\n\n updateQueue.baseState = overrideState;\n workInProgress.memoizedState = overrideState;\n\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during a previous attempt to hydrate the shell, so we\n // forced a client render.\n var recoverableError = createCapturedValueAtFiber(new Error('There was an error while hydrating. Because the error happened outside ' + 'of a Suspense boundary, the entire root will switch to ' + 'client rendering.'), workInProgress);\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError);\n } else if (nextChildren !== prevChildren) {\n var _recoverableError = createCapturedValueAtFiber(new Error('This root received an early update, before anything was able ' + 'hydrate. Switched the entire root to client rendering.'), workInProgress);\n\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, _recoverableError);\n } else {\n // The outermost shell has not hydrated yet. Start hydrating.\n enterHydrationState(workInProgress);\n\n var child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n workInProgress.child = child;\n var node = child;\n\n while (node) {\n // Mark each child as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n node.flags = node.flags & ~Placement | Hydrating;\n node = node.sibling;\n }\n }\n } else {\n // Root is not dehydrated. Either this is a client-only root, or it\n // already hydrated.\n resetHydrationState();\n\n if (nextChildren === prevChildren) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nfunction mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError) {\n // Revert to client rendering.\n resetHydrationState();\n queueHydrationError(recoverableError);\n workInProgress.flags |= ForceClientRender;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostComponent(current, workInProgress, renderLanes) {\n pushHostContext(workInProgress);\n\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n }\n\n var type = workInProgress.type;\n var nextProps = workInProgress.pendingProps;\n var prevProps = current !== null ? current.memoizedProps : null;\n var nextChildren = nextProps.children;\n var isDirectTextChild = shouldSetTextContent(type, nextProps);\n\n if (isDirectTextChild) {\n // We special case a direct text child of a host node. This is a common\n // case. We won't handle it as a reified child. We will instead handle\n // this in the host environment that also has access to this prop. That\n // avoids allocating another HostText fiber and traversing it.\n nextChildren = null;\n } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) {\n // If we're switching from a direct text child to a normal child, or to\n // empty, we need to schedule the text content to be reset.\n workInProgress.flags |= ContentReset;\n }\n\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostText(current, workInProgress) {\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n } // Nothing to do here. This is terminal. We'll do the completion step\n // immediately after.\n\n\n return null;\n}\n\nfunction mountLazyComponent(_current, workInProgress, elementType, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var lazyComponent = elementType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n var Component = init(payload); // Store the unwrapped component in the type.\n\n workInProgress.type = Component;\n var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component);\n var resolvedProps = resolveDefaultProps(Component, props);\n var child;\n\n switch (resolvedTag) {\n case FunctionComponent:\n {\n {\n validateFunctionComponentInDev(workInProgress, Component);\n workInProgress.type = Component = resolveFunctionForHotReloading(Component);\n }\n\n child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ClassComponent:\n {\n {\n workInProgress.type = Component = resolveClassForHotReloading(Component);\n }\n\n child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ForwardRef:\n {\n {\n workInProgress.type = Component = resolveForwardRefForHotReloading(Component);\n }\n\n child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case MemoComponent:\n {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = Component.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too\n renderLanes);\n return child;\n }\n }\n\n var hint = '';\n\n {\n if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) {\n hint = ' Did you wrap a component in React.lazy() more than once?';\n }\n } // This message intentionally doesn't mention ForwardRef or MemoComponent\n // because the fact that it's a separate type of work is an\n // implementation detail.\n\n\n throw new Error(\"Element type is invalid. Received a promise that resolves to: \" + Component + \". \" + (\"Lazy element type must resolve to a class or function.\" + hint));\n}\n\nfunction mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress); // Promote the fiber to a class and try rendering again.\n\n workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent`\n // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n}\n\nfunction mountIndeterminateComponent(_current, workInProgress, Component, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, false);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var value;\n var hasId;\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n if (Component.prototype && typeof Component.prototype.render === 'function') {\n var componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutBadClass[componentName]) {\n error(\"The <%s /> component appears to have a render method, but doesn't extend React.Component. \" + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);\n\n didWarnAboutBadClass[componentName] = true;\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);\n }\n\n setIsRendering(true);\n ReactCurrentOwner$1.current = workInProgress;\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n {\n // Support for module components is deprecated and is removed behind a flag.\n // Whether or not it would crash later, we want to show a good message in DEV first.\n if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n var _componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);\n\n didWarnAboutModulePatternComponent[_componentName] = true;\n }\n }\n }\n\n if ( // Run these checks in production only if the flag is off.\n // Eventually we'll delete this branch altogether.\n typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n {\n var _componentName2 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName2]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName2, _componentName2, _componentName2);\n\n didWarnAboutModulePatternComponent[_componentName2] = true;\n }\n } // Proceed under the assumption that this is a class instance\n\n\n workInProgress.tag = ClassComponent; // Throw out any hooks that were used.\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext = false;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null;\n initializeUpdateQueue(workInProgress);\n adoptClassInstance(workInProgress, value);\n mountClassInstance(workInProgress, Component, props, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n } else {\n // Proceed under the assumption that this is a function component\n workInProgress.tag = FunctionComponent;\n\n {\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n }\n\n reconcileChildren(null, workInProgress, value, renderLanes);\n\n {\n validateFunctionComponentInDev(workInProgress, Component);\n }\n\n return workInProgress.child;\n }\n}\n\nfunction validateFunctionComponentInDev(workInProgress, Component) {\n {\n if (Component) {\n if (Component.childContextTypes) {\n error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component');\n }\n }\n\n if (workInProgress.ref !== null) {\n var info = '';\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n var warningKey = ownerName || '';\n var debugSource = workInProgress._debugSource;\n\n if (debugSource) {\n warningKey = debugSource.fileName + ':' + debugSource.lineNumber;\n }\n\n if (!didWarnAboutFunctionRefs[warningKey]) {\n didWarnAboutFunctionRefs[warningKey] = true;\n\n error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info);\n }\n }\n\n if (typeof Component.getDerivedStateFromProps === 'function') {\n var _componentName3 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3]) {\n error('%s: Function components do not support getDerivedStateFromProps.', _componentName3);\n\n didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3] = true;\n }\n }\n\n if (typeof Component.contextType === 'object' && Component.contextType !== null) {\n var _componentName4 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutContextTypeOnFunctionComponent[_componentName4]) {\n error('%s: Function components do not support contextType.', _componentName4);\n\n didWarnAboutContextTypeOnFunctionComponent[_componentName4] = true;\n }\n }\n }\n}\n\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: NoLane\n};\n\nfunction mountSuspenseOffscreenState(renderLanes) {\n return {\n baseLanes: renderLanes,\n cachePool: getSuspendedCache(),\n transitions: null\n };\n}\n\nfunction updateSuspenseOffscreenState(prevOffscreenState, renderLanes) {\n var cachePool = null;\n\n return {\n baseLanes: mergeLanes(prevOffscreenState.baseLanes, renderLanes),\n cachePool: cachePool,\n transitions: prevOffscreenState.transitions\n };\n} // TODO: Probably should inline this back\n\n\nfunction shouldRemainOnFallback(suspenseContext, current, workInProgress, renderLanes) {\n // If we're already showing a fallback, there are cases where we need to\n // remain on that fallback regardless of whether the content has resolved.\n // For example, SuspenseList coordinates when nested content appears.\n if (current !== null) {\n var suspenseState = current.memoizedState;\n\n if (suspenseState === null) {\n // Currently showing content. Don't hide it, even if ForceSuspenseFallback\n // is true. More precise name might be \"ForceRemainSuspenseFallback\".\n // Note: This is a factoring smell. Can't remain on a fallback if there's\n // no fallback to remain on.\n return false;\n }\n } // Not currently showing content. Consult the Suspense context.\n\n\n return hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n}\n\nfunction getRemainingWorkInPrimaryTree(current, renderLanes) {\n // TODO: Should not remove render lanes that were pinged during this render\n return removeLanes(current.childLanes, renderLanes);\n}\n\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend.\n\n {\n if (shouldSuspend(workInProgress)) {\n workInProgress.flags |= DidCapture;\n }\n }\n\n var suspenseContext = suspenseStackCursor.current;\n var showFallback = false;\n var didSuspend = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) {\n // Something in this boundary's subtree already suspended. Switch to\n // rendering the fallback children.\n showFallback = true;\n workInProgress.flags &= ~DidCapture;\n } else {\n // Attempting the main content\n if (current === null || current.memoizedState !== null) {\n // This is a new mount or this boundary is already showing a fallback state.\n // Mark this subtree context as having at least one invisible parent that could\n // handle the fallback state.\n // Avoided boundaries are not considered since they cannot handle preferred fallback states.\n {\n suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext);\n }\n }\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n pushSuspenseContext(workInProgress, suspenseContext); // OK, the next part is confusing. We're about to reconcile the Suspense\n // boundary's children. This involves some custom reconciliation logic. Two\n // main reasons this is so complicated.\n //\n // First, Legacy Mode has different semantics for backwards compatibility. The\n // primary tree will commit in an inconsistent state, so when we do the\n // second pass to render the fallback, we do some exceedingly, uh, clever\n // hacks to make that not totally break. Like transferring effects and\n // deletions from hidden tree. In Concurrent Mode, it's much simpler,\n // because we bailout on the primary tree completely and leave it in its old\n // state, no effects. Same as what we do for Offscreen (except that\n // Offscreen doesn't have the first render pass).\n //\n // Second is hydration. During hydration, the Suspense fiber has a slightly\n // different layout, where the child points to a dehydrated fragment, which\n // contains the DOM rendered by the server.\n //\n // Third, even if you set all that aside, Suspense is like error boundaries in\n // that we first we try to render one tree, and if that fails, we render again\n // and switch to a different tree. Like a try/catch block. So we have to track\n // which branch we're currently rendering. Ideally we would model this using\n // a stack.\n\n if (current === null) {\n // Initial mount\n // Special path for hydration\n // If we're currently hydrating, try to hydrate this boundary.\n tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component.\n\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null) {\n var dehydrated = suspenseState.dehydrated;\n\n if (dehydrated !== null) {\n return mountDehydratedSuspenseComponent(workInProgress, dehydrated);\n }\n }\n\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n\n if (showFallback) {\n var fallbackFragment = mountSuspenseFallbackChildren(workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var primaryChildFragment = workInProgress.child;\n primaryChildFragment.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n\n return fallbackFragment;\n } else {\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n } else {\n // This is an update.\n // Special path for hydration\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var _dehydrated = prevState.dehydrated;\n\n if (_dehydrated !== null) {\n return updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, _dehydrated, prevState, renderLanes);\n }\n }\n\n if (showFallback) {\n var _nextFallbackChildren = nextProps.fallback;\n var _nextPrimaryChildren = nextProps.children;\n var fallbackChildFragment = updateSuspenseFallbackChildren(current, workInProgress, _nextPrimaryChildren, _nextFallbackChildren, renderLanes);\n var _primaryChildFragment2 = workInProgress.child;\n var prevOffscreenState = current.child.memoizedState;\n _primaryChildFragment2.memoizedState = prevOffscreenState === null ? mountSuspenseOffscreenState(renderLanes) : updateSuspenseOffscreenState(prevOffscreenState, renderLanes);\n\n _primaryChildFragment2.childLanes = getRemainingWorkInPrimaryTree(current, renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n } else {\n var _nextPrimaryChildren2 = nextProps.children;\n\n var _primaryChildFragment3 = updateSuspensePrimaryChildren(current, workInProgress, _nextPrimaryChildren2, renderLanes);\n\n workInProgress.memoizedState = null;\n return _primaryChildFragment3;\n }\n }\n}\n\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren, renderLanes) {\n var mode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n primaryChildFragment.return = workInProgress;\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackChildren(workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var progressedPrimaryFragment = workInProgress.child;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n var fallbackChildFragment;\n\n if ((mode & ConcurrentMode) === NoMode && progressedPrimaryFragment !== null) {\n // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = 0;\n primaryChildFragment.treeBaseDuration = 0;\n }\n\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n } else {\n primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n }\n\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode, renderLanes) {\n // The props argument to `createFiberFromOffscreen` is `any` typed, so we use\n // this wrapper function to constrain it.\n return createFiberFromOffscreen(offscreenProps, mode, NoLanes, null);\n}\n\nfunction updateWorkInProgressOffscreenFiber(current, offscreenProps) {\n // The props argument to `createWorkInProgress` is `any` typed, so we use this\n // wrapper function to constrain it.\n return createWorkInProgress(current, offscreenProps);\n}\n\nfunction updateSuspensePrimaryChildren(current, workInProgress, primaryChildren, renderLanes) {\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, {\n mode: 'visible',\n children: primaryChildren\n });\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n primaryChildFragment.lanes = renderLanes;\n }\n\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = null;\n\n if (currentFallbackChildFragment !== null) {\n // Delete the fallback child fragment\n var deletions = workInProgress.deletions;\n\n if (deletions === null) {\n workInProgress.deletions = [currentFallbackChildFragment];\n workInProgress.flags |= ChildDeletion;\n } else {\n deletions.push(currentFallbackChildFragment);\n }\n }\n\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction updateSuspenseFallbackChildren(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n\n if ( // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n (mode & ConcurrentMode) === NoMode && // Make sure we're on the second pass, i.e. the primary child fragment was\n // already cloned. In legacy mode, the only case where this isn't true is\n // when DevTools forces us to display a fallback; we skip the first render\n // pass entirely and go straight to rendering the fallback. (In Concurrent\n // Mode, SuspenseList can also trigger this scenario, but this is a legacy-\n // only codepath.)\n workInProgress.child !== currentPrimaryChildFragment) {\n var progressedPrimaryFragment = workInProgress.child;\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = currentPrimaryChildFragment.selfBaseDuration;\n primaryChildFragment.treeBaseDuration = currentPrimaryChildFragment.treeBaseDuration;\n } // The fallback fiber was added as a deletion during the first pass.\n // However, since we're going to remain on the fallback, we no longer want\n // to delete it.\n\n\n workInProgress.deletions = null;\n } else {\n primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, primaryChildProps); // Since we're reusing a current tree, we need to reuse the flags, too.\n // (We don't do this in legacy mode, because in legacy mode we don't re-use\n // the current tree; see previous branch.)\n\n primaryChildFragment.subtreeFlags = currentPrimaryChildFragment.subtreeFlags & StaticMask;\n }\n\n var fallbackChildFragment;\n\n if (currentFallbackChildFragment !== null) {\n fallbackChildFragment = createWorkInProgress(currentFallbackChildFragment, fallbackChildren);\n } else {\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n }\n\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, recoverableError) {\n // Falling back to client rendering. Because this has performance\n // implications, it's considered a recoverable error, even though the user\n // likely won't observe anything wrong with the UI.\n //\n // The error is passed in as an argument to enforce that every caller provide\n // a custom message, or explicitly opt out (currently the only path that opts\n // out is legacy mode; every concurrent path provides an error).\n if (recoverableError !== null) {\n queueHydrationError(recoverableError);\n } // This will add the old fiber to the deletion list\n\n\n reconcileChildFibers(workInProgress, current.child, null, renderLanes); // We're now not suspended nor dehydrated.\n\n var nextProps = workInProgress.pendingProps;\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n primaryChildFragment.flags |= Placement;\n workInProgress.memoizedState = null;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var fiberMode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, fiberMode);\n var fallbackChildFragment = createFiberFromFragment(fallbackChildren, fiberMode, renderLanes, null); // Needs a placement effect because the parent (the Suspense\n // boundary) already mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // We will have dropped the effect list which contains the\n // deletion. We need to reconcile to delete the current child.\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n }\n\n return fallbackChildFragment;\n}\n\nfunction mountDehydratedSuspenseComponent(workInProgress, suspenseInstance, renderLanes) {\n // During the first pass, we'll bail out and not drill into the children.\n // Instead, we'll leave the content in place and try to hydrate it later.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n {\n error('Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOMClient.hydrateRoot(container, <App />)' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');\n }\n\n workInProgress.lanes = laneToLanes(SyncLane);\n } else if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This is a client-only boundary. Since we won't get any content from the server\n // for this, we need to schedule that at a higher priority based on when it would\n // have timed out. In theory we could render it in this pass but it would have the\n // wrong priority associated with it and will prevent hydration of parent path.\n // Instead, we'll leave work left on it to render it in a separate commit.\n // TODO This time should be the time at which the server rendered response that is\n // a parent to this boundary was displayed. However, since we currently don't have\n // a protocol to transfer that time, we'll just estimate it by using the current\n // time. This will mean that Suspense timeouts are slightly shifted to later than\n // they should be.\n // Schedule a normal pri update to render this content.\n workInProgress.lanes = laneToLanes(DefaultHydrationLane);\n } else {\n // We'll continue hydrating the rest at offscreen priority since we'll already\n // be showing the right content coming from the server, it is no rush.\n workInProgress.lanes = laneToLanes(OffscreenLane);\n }\n\n return null;\n}\n\nfunction updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, suspenseInstance, suspenseState, renderLanes) {\n if (!didSuspend) {\n // This is the first render pass. Attempt to hydrate.\n // We should never be hydrating at this point because it is the first pass,\n // but after we've already committed once.\n warnIfHydrating();\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, // TODO: When we delete legacy mode, we should make this error argument\n // required — every concurrent mode path that causes hydration to\n // de-opt to client rendering should have an error message.\n null);\n }\n\n if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This boundary is in a permanent fallback state. In this case, we'll never\n // get an update and we'll never be able to hydrate the final content. Let's just try the\n // client side render instead.\n var digest, message, stack;\n\n {\n var _getSuspenseInstanceF = getSuspenseInstanceFallbackErrorDetails(suspenseInstance);\n\n digest = _getSuspenseInstanceF.digest;\n message = _getSuspenseInstanceF.message;\n stack = _getSuspenseInstanceF.stack;\n }\n\n var error;\n\n if (message) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(message);\n } else {\n error = new Error('The server could not finish this Suspense boundary, likely ' + 'due to an error during server rendering. Switched to ' + 'client rendering.');\n }\n\n var capturedValue = createCapturedValue(error, digest, stack);\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, capturedValue);\n }\n // any context has changed, we need to treat is as if the input might have changed.\n\n\n var hasContextChanged = includesSomeLane(renderLanes, current.childLanes);\n\n if (didReceiveUpdate || hasContextChanged) {\n // This boundary has changed since the first render. This means that we are now unable to\n // hydrate it. We might still be able to hydrate it using a higher priority lane.\n var root = getWorkInProgressRoot();\n\n if (root !== null) {\n var attemptHydrationAtLane = getBumpedLaneForHydration(root, renderLanes);\n\n if (attemptHydrationAtLane !== NoLane && attemptHydrationAtLane !== suspenseState.retryLane) {\n // Intentionally mutating since this render will get interrupted. This\n // is one of the very rare times where we mutate the current tree\n // during the render phase.\n suspenseState.retryLane = attemptHydrationAtLane; // TODO: Ideally this would inherit the event time of the current render\n\n var eventTime = NoTimestamp;\n enqueueConcurrentRenderForLane(current, attemptHydrationAtLane);\n scheduleUpdateOnFiber(root, current, attemptHydrationAtLane, eventTime);\n }\n } // If we have scheduled higher pri work above, this will probably just abort the render\n // since we now have higher priority work, but in case it doesn't, we need to prepare to\n // render something, if we time out. Even if that requires us to delete everything and\n // skip hydration.\n // Delay having to do this as long as the suspense timeout allows us.\n\n\n renderDidSuspendDelayIfPossible();\n\n var _capturedValue = createCapturedValue(new Error('This Suspense boundary received an update before it finished ' + 'hydrating. This caused the boundary to switch to client rendering. ' + 'The usual way to fix this is to wrap the original update ' + 'in startTransition.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue);\n } else if (isSuspenseInstancePending(suspenseInstance)) {\n // This component is still pending more data from the server, so we can't hydrate its\n // content. We treat it as if this component suspended itself. It might seem as if\n // we could just try to render it client-side instead. However, this will perform a\n // lot of unnecessary work and is unlikely to complete since it often will suspend\n // on missing data anyway. Additionally, the server might be able to render more\n // than we can on the client yet. In that case we'd end up with more fallback states\n // on the client than if we just leave it alone. If the server times out or errors\n // these should update this boundary to the permanent Fallback state instead.\n // Mark it as having captured (i.e. suspended).\n workInProgress.flags |= DidCapture; // Leave the child in place. I.e. the dehydrated fragment.\n\n workInProgress.child = current.child; // Register a callback to retry this boundary once the server has sent the result.\n\n var retry = retryDehydratedSuspenseBoundary.bind(null, current);\n registerSuspenseInstanceRetry(suspenseInstance, retry);\n return null;\n } else {\n // This is the first attempt.\n reenterHydrationStateFromDehydratedSuspenseInstance(workInProgress, suspenseInstance, suspenseState.treeContext);\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Mark the children as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n\n primaryChildFragment.flags |= Hydrating;\n return primaryChildFragment;\n }\n } else {\n // This is the second render pass. We already attempted to hydrated, but\n // something either suspended or errored.\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during hydration. Try again without hydrating.\n workInProgress.flags &= ~ForceClientRender;\n\n var _capturedValue2 = createCapturedValue(new Error('There was an error while hydrating this Suspense boundary. ' + 'Switched to client rendering.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue2);\n } else if (workInProgress.memoizedState !== null) {\n // Something suspended and we should still be in dehydrated mode.\n // Leave the existing child in place.\n workInProgress.child = current.child; // The dehydrated completion pass expects this flag to be there\n // but the normal suspense pass doesn't.\n\n workInProgress.flags |= DidCapture;\n return null;\n } else {\n // Suspended but we should no longer be in dehydrated mode.\n // Therefore we now have to render the fallback.\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n var fallbackChildFragment = mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var _primaryChildFragment4 = workInProgress.child;\n _primaryChildFragment4.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n }\n }\n}\n\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\n\nfunction propagateSuspenseContextChange(workInProgress, firstChild, renderLanes) {\n // Mark any Suspense boundaries with fallbacks as having work to do.\n // If they were previously forced into fallbacks, they may now be able\n // to unblock.\n var node = firstChild;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n }\n } else if (node.tag === SuspenseListComponent) {\n // If the tail is hidden there might not be an Suspense boundaries\n // to schedule work on. In this case we have to schedule it on the\n // list itself.\n // We don't have to traverse to the children of the list since\n // the list will propagate the change when it rerenders.\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n}\n\nfunction findLastContentRow(firstChild) {\n // This is going to find the last row among these children that is already\n // showing content on the screen, as opposed to being in fallback state or\n // new. If a row has multiple Suspense boundaries, any of them being in the\n // fallback state, counts as the whole row being in a fallback state.\n // Note that the \"rows\" will be workInProgress, but any nested children\n // will still be current since we haven't rendered them yet. The mounted\n // order may not be the same as the new order. We use the new order.\n var row = firstChild;\n var lastContentRow = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n lastContentRow = row;\n }\n\n row = row.sibling;\n }\n\n return lastContentRow;\n}\n\nfunction validateRevealOrder(revealOrder) {\n {\n if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) {\n didWarnAboutRevealOrder[revealOrder] = true;\n\n if (typeof revealOrder === 'string') {\n switch (revealOrder.toLowerCase()) {\n case 'together':\n case 'forwards':\n case 'backwards':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase \"%s\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n case 'forward':\n case 'backward':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use \"%ss\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n default:\n error('\"%s\" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n\n break;\n }\n } else {\n error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n }\n }\n }\n}\n\nfunction validateTailOptions(tailMode, revealOrder) {\n {\n if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) {\n if (tailMode !== 'collapsed' && tailMode !== 'hidden') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('\"%s\" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean \"collapsed\" or \"hidden\"?', tailMode);\n } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('<SuspenseList tail=\"%s\" /> is only valid if revealOrder is ' + '\"forwards\" or \"backwards\". ' + 'Did you mean to specify revealOrder=\"forwards\"?', tailMode);\n }\n }\n }\n}\n\nfunction validateSuspenseListNestedChild(childSlot, index) {\n {\n var isAnArray = isArray(childSlot);\n var isIterable = !isAnArray && typeof getIteratorFn(childSlot) === 'function';\n\n if (isAnArray || isIterable) {\n var type = isAnArray ? 'array' : 'iterable';\n\n error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type);\n\n return false;\n }\n }\n\n return true;\n}\n\nfunction validateSuspenseListChildren(children, revealOrder) {\n {\n if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n if (!validateSuspenseListNestedChild(children[i], i)) {\n return;\n }\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var childrenIterator = iteratorFn.call(children);\n\n if (childrenIterator) {\n var step = childrenIterator.next();\n var _i = 0;\n\n for (; !step.done; step = childrenIterator.next()) {\n if (!validateSuspenseListNestedChild(step.value, _i)) {\n return;\n }\n\n _i++;\n }\n }\n } else {\n error('A single row was passed to a <SuspenseList revealOrder=\"%s\" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder);\n }\n }\n }\n }\n}\n\nfunction initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode) {\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n };\n } else {\n // We can reuse the existing object from previous renders.\n renderState.isBackwards = isBackwards;\n renderState.rendering = null;\n renderState.renderingStartTime = 0;\n renderState.last = lastContentRow;\n renderState.tail = tail;\n renderState.tailMode = tailMode;\n }\n} // This can end up rendering this component multiple passes.\n// The first pass splits the children fibers into two sets. A head and tail.\n// We first render the head. If anything is in fallback state, we do another\n// pass through beginWork to rerender all children (including the tail) with\n// the force suspend context. If the first render didn't have anything in\n// in fallback state. Then we render each row in the tail one-by-one.\n// That happens in the completeWork phase without going back to beginWork.\n\n\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var revealOrder = nextProps.revealOrder;\n var tailMode = nextProps.tail;\n var newChildren = nextProps.children;\n validateRevealOrder(revealOrder);\n validateTailOptions(tailMode, revealOrder);\n validateSuspenseListChildren(newChildren, revealOrder);\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n var suspenseContext = suspenseStackCursor.current;\n var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n\n if (shouldForceFallback) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n workInProgress.flags |= DidCapture;\n } else {\n var didSuspendBefore = current !== null && (current.flags & DidCapture) !== NoFlags;\n\n if (didSuspendBefore) {\n // If we previously forced a fallback, we need to schedule work\n // on any nested boundaries to let them know to try to render\n // again. This is the same as context updating.\n propagateSuspenseContextChange(workInProgress, workInProgress.child, renderLanes);\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext);\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy mode, SuspenseList doesn't work so we just\n // use make it a noop by treating it as the default revealOrder.\n workInProgress.memoizedState = null;\n } else {\n switch (revealOrder) {\n case 'forwards':\n {\n var lastContentRow = findLastContentRow(workInProgress.child);\n var tail;\n\n if (lastContentRow === null) {\n // The whole list is part of the tail.\n // TODO: We could fast path by just rendering the tail now.\n tail = workInProgress.child;\n workInProgress.child = null;\n } else {\n // Disconnect the tail rows after the content row.\n // We're going to render them separately later.\n tail = lastContentRow.sibling;\n lastContentRow.sibling = null;\n }\n\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n tail, lastContentRow, tailMode);\n break;\n }\n\n case 'backwards':\n {\n // We're going to find the first row that has existing content.\n // At the same time we're going to reverse the list of everything\n // we pass in the meantime. That's going to be our tail in reverse\n // order.\n var _tail = null;\n var row = workInProgress.child;\n workInProgress.child = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n // This is the beginning of the main content.\n workInProgress.child = row;\n break;\n }\n\n var nextRow = row.sibling;\n row.sibling = _tail;\n _tail = row;\n row = nextRow;\n } // TODO: If workInProgress.child is null, we can continue on the tail immediately.\n\n\n initSuspenseListRenderState(workInProgress, true, // isBackwards\n _tail, null, // last\n tailMode);\n break;\n }\n\n case 'together':\n {\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n null, // tail\n null, // last\n undefined);\n break;\n }\n\n default:\n {\n // The default reveal order is the same as not having\n // a boundary.\n workInProgress.memoizedState = null;\n }\n }\n }\n\n return workInProgress.child;\n}\n\nfunction updatePortalComponent(current, workInProgress, renderLanes) {\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n var nextChildren = workInProgress.pendingProps;\n\n if (current === null) {\n // Portals are special because we don't append the children during mount\n // but at commit. Therefore we need to track insertions which the normal\n // flow doesn't do during mount. This doesn't happen at the root because\n // the root always starts with a \"current\" with a null child.\n // TODO: Consider unifying this with how the root works.\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingNoValuePropOnContextProvider = false;\n\nfunction updateContextProvider(current, workInProgress, renderLanes) {\n var providerType = workInProgress.type;\n var context = providerType._context;\n var newProps = workInProgress.pendingProps;\n var oldProps = workInProgress.memoizedProps;\n var newValue = newProps.value;\n\n {\n if (!('value' in newProps)) {\n if (!hasWarnedAboutUsingNoValuePropOnContextProvider) {\n hasWarnedAboutUsingNoValuePropOnContextProvider = true;\n\n error('The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?');\n }\n }\n\n var providerPropTypes = workInProgress.type.propTypes;\n\n if (providerPropTypes) {\n checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider');\n }\n }\n\n pushProvider(workInProgress, context, newValue);\n\n {\n if (oldProps !== null) {\n var oldValue = oldProps.value;\n\n if (objectIs(oldValue, newValue)) {\n // No change. Bailout early if children are the same.\n if (oldProps.children === newProps.children && !hasContextChanged()) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } else {\n // The context value changed. Search for matching consumers and schedule\n // them to update.\n propagateContextChange(workInProgress, context, renderLanes);\n }\n }\n }\n\n var newChildren = newProps.children;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingContextAsConsumer = false;\n\nfunction updateContextConsumer(current, workInProgress, renderLanes) {\n var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In\n // DEV mode, we create a separate object for Context.Consumer that acts\n // like a proxy to Context. This proxy object adds unnecessary code in PROD\n // so we use the old behaviour (Context.Consumer references Context) to\n // reduce size and overhead. The separate object references context via\n // a property called \"_context\", which also gives us the ability to check\n // in DEV mode if this property exists or not and warn if it does not.\n\n {\n if (context._context === undefined) {\n // This may be because it's a Context (rather than a Consumer).\n // Or it may be because it's older React where they're the same thing.\n // We only want to warn if we're sure it's a new React.\n if (context !== context.Consumer) {\n if (!hasWarnedAboutUsingContextAsConsumer) {\n hasWarnedAboutUsingContextAsConsumer = true;\n\n error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n }\n } else {\n context = context._context;\n }\n }\n\n var newProps = workInProgress.pendingProps;\n var render = newProps.children;\n\n {\n if (typeof render !== 'function') {\n error('A context consumer was rendered with multiple children, or a child ' + \"that isn't a function. A context consumer expects a single child \" + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');\n }\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var newValue = readContext(context);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n var newChildren;\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n newChildren = render(newValue);\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markWorkInProgressReceivedUpdate() {\n didReceiveUpdate = true;\n}\n\nfunction resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress) {\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n if (current !== null) {\n // A lazy component only mounts if it suspended inside a non-\n // concurrent tree, in an inconsistent state. We want to treat it like\n // a new mount, even though an empty version of it already committed.\n // Disconnect the alternate pointers.\n current.alternate = null;\n workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\n\n workInProgress.flags |= Placement;\n }\n }\n}\n\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n if (current !== null) {\n // Reuse previous dependencies\n workInProgress.dependencies = current.dependencies;\n }\n\n {\n // Don't update \"base\" render times for bailouts.\n stopProfilerTimerIfRunning();\n }\n\n markSkippedUpdateLanes(workInProgress.lanes); // Check if the children have any pending work.\n\n if (!includesSomeLane(renderLanes, workInProgress.childLanes)) {\n // The children don't have any work either. We can skip them.\n // TODO: Once we add back resuming, we should check if the children are\n // a work-in-progress set. If so, we need to transfer their effects.\n {\n return null;\n }\n } // This fiber doesn't have work, but its subtree does. Clone the child\n // fibers and continue.\n\n\n cloneChildFibers(current, workInProgress);\n return workInProgress.child;\n}\n\nfunction remountFiber(current, oldWorkInProgress, newWorkInProgress) {\n {\n var returnFiber = oldWorkInProgress.return;\n\n if (returnFiber === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Cannot swap the root fiber.');\n } // Disconnect from the old current.\n // It will get deleted.\n\n\n current.alternate = null;\n oldWorkInProgress.alternate = null; // Connect to the new tree.\n\n newWorkInProgress.index = oldWorkInProgress.index;\n newWorkInProgress.sibling = oldWorkInProgress.sibling;\n newWorkInProgress.return = oldWorkInProgress.return;\n newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it.\n\n if (oldWorkInProgress === returnFiber.child) {\n returnFiber.child = newWorkInProgress;\n } else {\n var prevSibling = returnFiber.child;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected parent to have a child.');\n }\n\n while (prevSibling.sibling !== oldWorkInProgress) {\n prevSibling = prevSibling.sibling;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected to find the previous sibling.');\n }\n }\n\n prevSibling.sibling = newWorkInProgress;\n } // Delete the old fiber and place the new one.\n // Since the old fiber is disconnected, we have to schedule it manually.\n\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [current];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(current);\n }\n\n newWorkInProgress.flags |= Placement; // Restart work from the new fiber.\n\n return newWorkInProgress;\n }\n}\n\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n // Before performing an early bailout, we must check if there are pending\n // updates or context.\n var updateLanes = current.lanes;\n\n if (includesSomeLane(updateLanes, renderLanes)) {\n return true;\n } // No pending update, but because context is propagated lazily, we need\n\n return false;\n}\n\nfunction attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes) {\n // This fiber does not have any pending work. Bailout without entering\n // the begin phase. There's still some bookkeeping we that needs to be done\n // in this optimized path, mostly pushing stuff onto the stack.\n switch (workInProgress.tag) {\n case HostRoot:\n pushHostRootContext(workInProgress);\n var root = workInProgress.stateNode;\n\n resetHydrationState();\n break;\n\n case HostComponent:\n pushHostContext(workInProgress);\n break;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n pushContextProvider(workInProgress);\n }\n\n break;\n }\n\n case HostPortal:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n\n case ContextProvider:\n {\n var newValue = workInProgress.memoizedProps.value;\n var context = workInProgress.type._context;\n pushProvider(workInProgress, context, newValue);\n break;\n }\n\n case Profiler:\n {\n // Profiler should only call onRender when one of its descendants actually rendered.\n var hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (hasChildWork) {\n workInProgress.flags |= Update;\n }\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n break;\n\n case SuspenseComponent:\n {\n var state = workInProgress.memoizedState;\n\n if (state !== null) {\n if (state.dehydrated !== null) {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // We know that this component will suspend again because if it has\n // been unsuspended it has committed as a resolved Suspense component.\n // If it needs to be retried, it should have work scheduled on it.\n\n workInProgress.flags |= DidCapture; // We should never render the children of a dehydrated boundary until we\n // upgrade it. We return null instead of bailoutOnAlreadyFinishedWork.\n\n return null;\n } // If this boundary is currently timed out, we need to decide\n // whether to retry the primary children, or to skip over it and\n // go straight to the fallback. Check the priority of the primary\n // child fragment.\n\n\n var primaryChildFragment = workInProgress.child;\n var primaryChildLanes = primaryChildFragment.childLanes;\n\n if (includesSomeLane(renderLanes, primaryChildLanes)) {\n // The primary children have pending work. Use the normal path\n // to attempt to render the primary children again.\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n } else {\n // The primary child fragment does not have pending work marked\n // on it\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient\n // priority. Bailout.\n\n var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n\n if (child !== null) {\n // The fallback children have pending work. Skip over the\n // primary children and work on the fallback.\n return child.sibling;\n } else {\n // Note: We can return `null` here because we already checked\n // whether there were nested context consumers, via the call to\n // `bailoutOnAlreadyFinishedWork` above.\n return null;\n }\n }\n } else {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current));\n }\n\n break;\n }\n\n case SuspenseListComponent:\n {\n var didSuspendBefore = (current.flags & DidCapture) !== NoFlags;\n\n var _hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (didSuspendBefore) {\n if (_hasChildWork) {\n // If something was in fallback state last time, and we have all the\n // same children then we're still in progressive loading state.\n // Something might get unblocked by state updates or retries in the\n // tree which will affect the tail. So we need to use the normal\n // path to compute the correct tail.\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n } // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n\n\n workInProgress.flags |= DidCapture;\n } // If nothing suspended before and we're rendering the same children,\n // then the tail doesn't matter. Anything new that suspends will work\n // in the \"together\" mode, so we can continue from the state we had.\n\n\n var renderState = workInProgress.memoizedState;\n\n if (renderState !== null) {\n // Reset to the \"together\" mode in case we've started a different\n // update in the past but didn't complete it.\n renderState.rendering = null;\n renderState.tail = null;\n renderState.lastEffect = null;\n }\n\n pushSuspenseContext(workInProgress, suspenseStackCursor.current);\n\n if (_hasChildWork) {\n break;\n } else {\n // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n return null;\n }\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n // Need to check if the tree still needs to be deferred. This is\n // almost identical to the logic used in the normal update path,\n // so we'll just enter that. The only difference is we'll bail out\n // at the next level instead of this one, because the child props\n // have not changed. Which is fine.\n // TODO: Probably should refactor `beginWork` to split the bailout\n // path from the normal path. I'm tempted to do a labeled break here\n // but I won't :)\n workInProgress.lanes = NoLanes;\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\n\nfunction beginWork(current, workInProgress, renderLanes) {\n {\n if (workInProgress._debugNeedsRemount && current !== null) {\n // This will restart the begin phase with a new fiber.\n return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.lanes));\n }\n }\n\n if (current !== null) {\n var oldProps = current.memoizedProps;\n var newProps = workInProgress.pendingProps;\n\n if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload:\n workInProgress.type !== current.type )) {\n // If props or context changed, mark the fiber as having performed work.\n // This may be unset if the props are determined to be equal later (memo).\n didReceiveUpdate = true;\n } else {\n // Neither props nor legacy context changes. Check if there's a pending\n // update or context change.\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext && // If this is the second pass of an error or suspense boundary, there\n // may not be work scheduled on `current`, so we check for this flag.\n (workInProgress.flags & DidCapture) === NoFlags) {\n // No pending updates or context. Bail out now.\n didReceiveUpdate = false;\n return attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes);\n }\n\n if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n } else {\n // An update was scheduled on this fiber, but there are no new props\n // nor legacy context. Set this to false. If an update queue or context\n // consumer produces a changed value, it will set this to true. Otherwise,\n // the component will assume the children have not changed and bail out.\n didReceiveUpdate = false;\n }\n }\n } else {\n didReceiveUpdate = false;\n\n if (getIsHydrating() && isForkedChild(workInProgress)) {\n // Check if this child belongs to a list of muliple children in\n // its parent.\n //\n // In a true multi-threaded implementation, we would render children on\n // parallel threads. This would represent the beginning of a new render\n // thread for this subtree.\n //\n // We only use this for id generation during hydration, which is why the\n // logic is located in this special branch.\n var slotIndex = workInProgress.index;\n var numberOfForks = getForksAtLevel();\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n } // Before entering the begin phase, clear pending update priority.\n // TODO: This assumes that we're about to evaluate the component and process\n // the update queue. However, there's an exception: SimpleMemoComponent\n // sometimes bails out later in the begin phase. This indicates that we should\n // move this assignment out of the common path and into each branch.\n\n\n workInProgress.lanes = NoLanes;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n {\n return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderLanes);\n }\n\n case LazyComponent:\n {\n var elementType = workInProgress.elementType;\n return mountLazyComponent(current, workInProgress, elementType, renderLanes);\n }\n\n case FunctionComponent:\n {\n var Component = workInProgress.type;\n var unresolvedProps = workInProgress.pendingProps;\n var resolvedProps = workInProgress.elementType === Component ? unresolvedProps : resolveDefaultProps(Component, unresolvedProps);\n return updateFunctionComponent(current, workInProgress, Component, resolvedProps, renderLanes);\n }\n\n case ClassComponent:\n {\n var _Component = workInProgress.type;\n var _unresolvedProps = workInProgress.pendingProps;\n\n var _resolvedProps = workInProgress.elementType === _Component ? _unresolvedProps : resolveDefaultProps(_Component, _unresolvedProps);\n\n return updateClassComponent(current, workInProgress, _Component, _resolvedProps, renderLanes);\n }\n\n case HostRoot:\n return updateHostRoot(current, workInProgress, renderLanes);\n\n case HostComponent:\n return updateHostComponent(current, workInProgress, renderLanes);\n\n case HostText:\n return updateHostText(current, workInProgress);\n\n case SuspenseComponent:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n\n case HostPortal:\n return updatePortalComponent(current, workInProgress, renderLanes);\n\n case ForwardRef:\n {\n var type = workInProgress.type;\n var _unresolvedProps2 = workInProgress.pendingProps;\n\n var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);\n\n return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderLanes);\n }\n\n case Fragment:\n return updateFragment(current, workInProgress, renderLanes);\n\n case Mode:\n return updateMode(current, workInProgress, renderLanes);\n\n case Profiler:\n return updateProfiler(current, workInProgress, renderLanes);\n\n case ContextProvider:\n return updateContextProvider(current, workInProgress, renderLanes);\n\n case ContextConsumer:\n return updateContextConsumer(current, workInProgress, renderLanes);\n\n case MemoComponent:\n {\n var _type2 = workInProgress.type;\n var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.\n\n var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3);\n\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = _type2.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only\n 'prop', getComponentNameFromType(_type2));\n }\n }\n }\n\n _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3);\n return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, renderLanes);\n }\n\n case SimpleMemoComponent:\n {\n return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes);\n }\n\n case IncompleteClassComponent:\n {\n var _Component2 = workInProgress.type;\n var _unresolvedProps4 = workInProgress.pendingProps;\n\n var _resolvedProps4 = workInProgress.elementType === _Component2 ? _unresolvedProps4 : resolveDefaultProps(_Component2, _unresolvedProps4);\n\n return mountIncompleteClassComponent(current, workInProgress, _Component2, _resolvedProps4, renderLanes);\n }\n\n case SuspenseListComponent:\n {\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n {\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction markUpdate(workInProgress) {\n // Tag the fiber with an update effect. This turns a Placement into\n // a PlacementAndUpdate.\n workInProgress.flags |= Update;\n}\n\nfunction markRef$1(workInProgress) {\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n}\n\nvar appendAllChildren;\nvar updateHostContainer;\nvar updateHostComponent$1;\nvar updateHostText$1;\n\n{\n // Mutation mode\n appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) {\n // We only have the top Fiber that was created but we need recurse down its\n // children to find all the terminal nodes.\n var node = workInProgress.child;\n\n while (node !== null) {\n if (node.tag === HostComponent || node.tag === HostText) {\n appendInitialChild(parent, node.stateNode);\n } else if (node.tag === HostPortal) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n };\n\n updateHostContainer = function (current, workInProgress) {// Noop\n };\n\n updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) {\n // If we have an alternate, that means this is an update and we need to\n // schedule a side-effect to do the updates.\n var oldProps = current.memoizedProps;\n\n if (oldProps === newProps) {\n // In mutation mode, this is sufficient for a bailout because\n // we won't touch this node even if children changed.\n return;\n } // If we get updated because one of our children updated, we don't\n // have newProps so we'll have to reuse them.\n // TODO: Split the update API as separate for the props vs. children.\n // Even better would be if children weren't special cased at all tho.\n\n\n var instance = workInProgress.stateNode;\n var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host\n // component is hitting the resume path. Figure out why. Possibly\n // related to `hidden`.\n\n var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component.\n\n workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update. All the work is done in commitWork.\n\n if (updatePayload) {\n markUpdate(workInProgress);\n }\n };\n\n updateHostText$1 = function (current, workInProgress, oldText, newText) {\n // If the text differs, mark it as an update. All the work in done in commitWork.\n if (oldText !== newText) {\n markUpdate(workInProgress);\n }\n };\n}\n\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (getIsHydrating()) {\n // If we're hydrating, we should consume as many items as we can\n // so we don't leave any behind.\n return;\n }\n\n switch (renderState.tailMode) {\n case 'hidden':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var tailNode = renderState.tail;\n var lastTailNode = null;\n\n while (tailNode !== null) {\n if (tailNode.alternate !== null) {\n lastTailNode = tailNode;\n }\n\n tailNode = tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (lastTailNode === null) {\n // All remaining items in the tail are insertions.\n renderState.tail = null;\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n lastTailNode.sibling = null;\n }\n\n break;\n }\n\n case 'collapsed':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var _tailNode = renderState.tail;\n var _lastTailNode = null;\n\n while (_tailNode !== null) {\n if (_tailNode.alternate !== null) {\n _lastTailNode = _tailNode;\n }\n\n _tailNode = _tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (_lastTailNode === null) {\n // All remaining items in the tail are insertions.\n if (!hasRenderedATailFallback && renderState.tail !== null) {\n // We suspended during the head. We want to show at least one\n // row at the tail. So we'll keep on and cut off the rest.\n renderState.tail.sibling = null;\n } else {\n renderState.tail = null;\n }\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n _lastTailNode.sibling = null;\n }\n\n break;\n }\n }\n}\n\nfunction bubbleProperties(completedWork) {\n var didBailout = completedWork.alternate !== null && completedWork.alternate.child === completedWork.child;\n var newChildLanes = NoLanes;\n var subtreeFlags = NoFlags;\n\n if (!didBailout) {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var actualDuration = completedWork.actualDuration;\n var treeBaseDuration = completedWork.selfBaseDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(child.lanes, child.childLanes));\n subtreeFlags |= child.subtreeFlags;\n subtreeFlags |= child.flags; // When a fiber is cloned, its actualDuration is reset to 0. This value will\n // only be updated if work is done on the fiber (i.e. it doesn't bailout).\n // When work is done, it should bubble to the parent's actualDuration. If\n // the fiber has not been cloned though, (meaning no work was done), then\n // this value will reflect the amount of time spent working on a previous\n // render. In that case it should not bubble. We determine whether it was\n // cloned by comparing the child pointer.\n\n actualDuration += child.actualDuration;\n treeBaseDuration += child.treeBaseDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n completedWork.treeBaseDuration = treeBaseDuration;\n } else {\n var _child = completedWork.child;\n\n while (_child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child.lanes, _child.childLanes));\n subtreeFlags |= _child.subtreeFlags;\n subtreeFlags |= _child.flags; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child.return = completedWork;\n _child = _child.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n } else {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var _treeBaseDuration = completedWork.selfBaseDuration;\n var _child2 = completedWork.child;\n\n while (_child2 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child2.lanes, _child2.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child2.subtreeFlags & StaticMask;\n subtreeFlags |= _child2.flags & StaticMask;\n _treeBaseDuration += _child2.treeBaseDuration;\n _child2 = _child2.sibling;\n }\n\n completedWork.treeBaseDuration = _treeBaseDuration;\n } else {\n var _child3 = completedWork.child;\n\n while (_child3 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child3.lanes, _child3.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child3.subtreeFlags & StaticMask;\n subtreeFlags |= _child3.flags & StaticMask; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child3.return = completedWork;\n _child3 = _child3.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n }\n\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\n\nfunction completeDehydratedSuspenseBoundary(current, workInProgress, nextState) {\n if (hasUnhydratedTailNodes() && (workInProgress.mode & ConcurrentMode) !== NoMode && (workInProgress.flags & DidCapture) === NoFlags) {\n warnIfUnhydratedTailNodes(workInProgress);\n resetHydrationState();\n workInProgress.flags |= ForceClientRender | Incomplete | ShouldCapture;\n return false;\n }\n\n var wasHydrated = popHydrationState(workInProgress);\n\n if (nextState !== null && nextState.dehydrated !== null) {\n // We might be inside a hydration state the first time we're picking up this\n // Suspense boundary, and also after we've reentered it for further hydration.\n if (current === null) {\n if (!wasHydrated) {\n throw new Error('A dehydrated suspense component was completed without a hydrated node. ' + 'This is probably a bug in React.');\n }\n\n prepareToHydrateHostSuspenseInstance(workInProgress);\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var isTimedOutSuspense = nextState !== null;\n\n if (isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n } else {\n // We might have reentered this boundary to hydrate it. If so, we need to reset the hydration\n // state since we're now exiting out of it. popHydrationState doesn't do that for us.\n resetHydrationState();\n\n if ((workInProgress.flags & DidCapture) === NoFlags) {\n // This boundary did not suspend so it's now hydrated and unsuspended.\n workInProgress.memoizedState = null;\n } // If nothing suspended, we need to schedule an effect to mark this boundary\n // as having hydrated so events know that they're free to be invoked.\n // It's also a signal to replay events and the suspense callback.\n // If something suspended, schedule an effect to attach retry listeners.\n // So we might as well always mark this.\n\n\n workInProgress.flags |= Update;\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var _isTimedOutSuspense = nextState !== null;\n\n if (_isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var _primaryChildFragment = workInProgress.child;\n\n if (_primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= _primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n }\n } else {\n // Successfully completed this tree. If this was a forced client render,\n // there may have been recoverable errors during first hydration\n // attempt. If so, add them to a queue so we can log them in the\n // commit phase.\n upgradeHydrationErrorsToRecoverable(); // Fall through to normal Suspense path\n\n return true;\n }\n}\n\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps; // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case LazyComponent:\n case SimpleMemoComponent:\n case FunctionComponent:\n case ForwardRef:\n case Fragment:\n case Mode:\n case Profiler:\n case ContextConsumer:\n case MemoComponent:\n bubbleProperties(workInProgress);\n return null;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostRoot:\n {\n var fiberRoot = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n\n if (fiberRoot.pendingContext) {\n fiberRoot.context = fiberRoot.pendingContext;\n fiberRoot.pendingContext = null;\n }\n\n if (current === null || current.child === null) {\n // If we hydrated, pop so that we can delete any remaining children\n // that weren't hydrated.\n var wasHydrated = popHydrationState(workInProgress);\n\n if (wasHydrated) {\n // If we hydrated, then we'll need to schedule an update for\n // the commit side-effects on the root.\n markUpdate(workInProgress);\n } else {\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if ( // Check if this is a client root\n !prevState.isDehydrated || // Check if we reverted to client rendering (e.g. due to an error)\n (workInProgress.flags & ForceClientRender) !== NoFlags) {\n // Schedule an effect to clear this container at the start of the\n // next commit. This handles the case of React rendering into a\n // container with previous children. It's also safe to do for\n // updates too, because current.child would only be null if the\n // previous render was null (so the container would already\n // be empty).\n workInProgress.flags |= Snapshot; // If this was a forced client render, there may have been\n // recoverable errors during first hydration attempt. If so, add\n // them to a queue so we can log them in the commit phase.\n\n upgradeHydrationErrorsToRecoverable();\n }\n }\n }\n }\n\n updateHostContainer(current, workInProgress);\n bubbleProperties(workInProgress);\n\n return null;\n }\n\n case HostComponent:\n {\n popHostContext(workInProgress);\n var rootContainerInstance = getRootHostContainer();\n var type = workInProgress.type;\n\n if (current !== null && workInProgress.stateNode != null) {\n updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance);\n\n if (current.ref !== workInProgress.ref) {\n markRef$1(workInProgress);\n }\n } else {\n if (!newProps) {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context\n // \"stack\" as the parent. Then append children as we go in beginWork\n // or completeWork depending on whether we want to add them top->down or\n // bottom->up. Top->down is faster in IE11.\n\n var _wasHydrated = popHydrationState(workInProgress);\n\n if (_wasHydrated) {\n // TODO: Move this and createInstance step into the beginPhase\n // to consolidate.\n if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) {\n // If changes to the hydrated node need to be applied at the\n // commit-phase we mark this as such.\n markUpdate(workInProgress);\n }\n } else {\n var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress);\n appendAllChildren(instance, workInProgress, false, false);\n workInProgress.stateNode = instance; // Certain renderers require commit-time effects for initial mount.\n // (eg DOM renderer supports auto-focus for certain elements).\n // Make sure such renderers get scheduled for later work.\n\n if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) {\n markUpdate(workInProgress);\n }\n }\n\n if (workInProgress.ref !== null) {\n // If there is a ref on a host node we need to schedule a callback\n markRef$1(workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostText:\n {\n var newText = newProps;\n\n if (current && workInProgress.stateNode != null) {\n var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need\n // to schedule a side-effect to do the updates.\n\n updateHostText$1(current, workInProgress, oldText, newText);\n } else {\n if (typeof newText !== 'string') {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n }\n\n var _rootContainerInstance = getRootHostContainer();\n\n var _currentHostContext = getHostContext();\n\n var _wasHydrated2 = popHydrationState(workInProgress);\n\n if (_wasHydrated2) {\n if (prepareToHydrateHostTextInstance(workInProgress)) {\n markUpdate(workInProgress);\n }\n } else {\n workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var nextState = workInProgress.memoizedState; // Special path for dehydrated boundaries. We may eventually move this\n // to its own fiber type so that we can add other kinds of hydration\n // boundaries that aren't associated with a Suspense tree. In anticipation\n // of such a refactor, all the hydration logic is contained in\n // this branch.\n\n if (current === null || current.memoizedState !== null && current.memoizedState.dehydrated !== null) {\n var fallthroughToNormalSuspensePath = completeDehydratedSuspenseBoundary(current, workInProgress, nextState);\n\n if (!fallthroughToNormalSuspensePath) {\n if (workInProgress.flags & ShouldCapture) {\n // Special case. There were remaining unhydrated nodes. We treat\n // this as a mismatch. Revert to client rendering.\n return workInProgress;\n } else {\n // Did not finish hydrating, either because this is the initial\n // render or because something suspended.\n return null;\n }\n } // Continue with the normal Suspense path.\n\n }\n\n if ((workInProgress.flags & DidCapture) !== NoFlags) {\n // Something suspended. Re-render with the fallback children.\n workInProgress.lanes = renderLanes; // Do not reset the effect list.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n } // Don't bubble properties in this case.\n\n\n return workInProgress;\n }\n\n var nextDidTimeout = nextState !== null;\n var prevDidTimeout = current !== null && current.memoizedState !== null;\n // a passive effect, which is when we process the transitions\n\n\n if (nextDidTimeout !== prevDidTimeout) {\n // an effect to toggle the subtree's visibility. When we switch from\n // fallback -> primary, the inner Offscreen fiber schedules this effect\n // as part of its normal complete phase. But when we switch from\n // primary -> fallback, the inner Offscreen fiber does not have a complete\n // phase. So we need to schedule its effect here.\n //\n // We also use this flag to connect/disconnect the effects, but the same\n // logic applies: when re-connecting, the Offscreen fiber's complete\n // phase will handle scheduling the effect. It's only when the fallback\n // is active that we have to do anything special.\n\n\n if (nextDidTimeout) {\n var _offscreenFiber2 = workInProgress.child;\n _offscreenFiber2.flags |= Visibility; // TODO: This will still suspend a synchronous tree if anything\n // in the concurrent tree already suspended during this render.\n // This is a known bug.\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // TODO: Move this back to throwException because this is too late\n // if this is a large tree which is common for initial loads. We\n // don't know if we should restart a render or not until we get\n // this marker, and this is too late.\n // If this render already had a ping or lower pri updates,\n // and this is the first time we know we're going to suspend we\n // should be able to immediately restart from within throwException.\n var hasInvisibleChildContext = current === null && (workInProgress.memoizedProps.unstable_avoidThisFallback !== true || !enableSuspenseAvoidThisFallback);\n\n if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) {\n // If this was in an invisible tree or a new render, then showing\n // this boundary is ok.\n renderDidSuspend();\n } else {\n // Otherwise, we're going to have to hide content so we should\n // suspend for longer if possible.\n renderDidSuspendDelayIfPossible();\n }\n }\n }\n }\n\n var wakeables = workInProgress.updateQueue;\n\n if (wakeables !== null) {\n // Schedule an effect to attach a retry listener to the promise.\n // TODO: Move to passive phase\n workInProgress.flags |= Update;\n }\n\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n if (nextDidTimeout) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n updateHostContainer(current, workInProgress);\n\n if (current === null) {\n preparePortalMount(workInProgress.stateNode.containerInfo);\n }\n\n bubbleProperties(workInProgress);\n return null;\n\n case ContextProvider:\n // Pop provider fiber\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n bubbleProperties(workInProgress);\n return null;\n\n case IncompleteClassComponent:\n {\n // Same as class component case. I put it down here so that the tags are\n // sequential to ensure this switch is compiled to a jump table.\n var _Component = workInProgress.type;\n\n if (isContextProvider(_Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress);\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n // We're running in the default, \"independent\" mode.\n // We don't do anything in this mode.\n bubbleProperties(workInProgress);\n return null;\n }\n\n var didSuspendAlready = (workInProgress.flags & DidCapture) !== NoFlags;\n var renderedTail = renderState.rendering;\n\n if (renderedTail === null) {\n // We just rendered the head.\n if (!didSuspendAlready) {\n // This is the first pass. We need to figure out if anything is still\n // suspended in the rendered set.\n // If new content unsuspended, but there's still some content that\n // didn't. Then we need to do a second pass that forces everything\n // to keep showing their fallbacks.\n // We might be suspended if something in this render pass suspended, or\n // something in the previous committed pass suspended. Otherwise,\n // there's no chance so we can skip the expensive call to\n // findFirstSuspended.\n var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.flags & DidCapture) === NoFlags);\n\n if (!cannotBeSuspended) {\n var row = workInProgress.child;\n\n while (row !== null) {\n var suspended = findFirstSuspended(row);\n\n if (suspended !== null) {\n didSuspendAlready = true;\n workInProgress.flags |= DidCapture;\n cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as\n // part of the second pass. In that case nothing will subscribe to\n // its thenables. Instead, we'll transfer its thenables to the\n // SuspenseList so that it can retry if they resolve.\n // There might be multiple of these in the list but since we're\n // going to wait for all of them anyway, it doesn't really matter\n // which ones gets to ping. In theory we could get clever and keep\n // track of how many dependencies remain but it gets tricky because\n // in the meantime, we can add/remove/change items and dependencies.\n // We might bail out of the loop before finding any but that\n // doesn't matter since that means that the other boundaries that\n // we did find already has their listeners attached.\n\n var newThenables = suspended.updateQueue;\n\n if (newThenables !== null) {\n workInProgress.updateQueue = newThenables;\n workInProgress.flags |= Update;\n } // Rerender the whole list, but this time, we'll force fallbacks\n // to stay in place.\n // Reset the effect flags before doing the second pass since that's now invalid.\n // Reset the child fibers to their original state.\n\n\n workInProgress.subtreeFlags = NoFlags;\n resetChildFibers(workInProgress, renderLanes); // Set up the Suspense Context to force suspense and immediately\n // rerender the children.\n\n pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback)); // Don't bubble properties in this case.\n\n return workInProgress.child;\n }\n\n row = row.sibling;\n }\n }\n\n if (renderState.tail !== null && now() > getRenderTargetTime()) {\n // We have already passed our CPU deadline but we still have rows\n // left in the tail. We'll just give up further attempts to render\n // the main content and only render fallbacks.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n } else {\n cutOffTailIfNeeded(renderState, false);\n } // Next we're going to render the tail.\n\n } else {\n // Append the rendered row to the child list.\n if (!didSuspendAlready) {\n var _suspended = findFirstSuspended(renderedTail);\n\n if (_suspended !== null) {\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't\n // get lost if this row ends up dropped during a second pass.\n\n var _newThenables = _suspended.updateQueue;\n\n if (_newThenables !== null) {\n workInProgress.updateQueue = _newThenables;\n workInProgress.flags |= Update;\n }\n\n cutOffTailIfNeeded(renderState, true); // This might have been modified.\n\n if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate && !getIsHydrating() // We don't cut it if we're hydrating.\n ) {\n // We're done.\n bubbleProperties(workInProgress);\n return null;\n }\n } else if ( // The time it took to render last row is greater than the remaining\n // time we have to render. So rendering one more row would likely\n // exceed it.\n now() * 2 - renderState.renderingStartTime > getRenderTargetTime() && renderLanes !== OffscreenLane) {\n // We have now passed our CPU deadline and we'll just give up further\n // attempts to render the main content and only render fallbacks.\n // The assumption is that this is usually faster.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n }\n\n if (renderState.isBackwards) {\n // The effect list of the backwards tail will have been added\n // to the end. This breaks the guarantee that life-cycles fire in\n // sibling order but that isn't a strong guarantee promised by React.\n // Especially since these might also just pop in during future commits.\n // Append to the beginning of the list.\n renderedTail.sibling = workInProgress.child;\n workInProgress.child = renderedTail;\n } else {\n var previousSibling = renderState.last;\n\n if (previousSibling !== null) {\n previousSibling.sibling = renderedTail;\n } else {\n workInProgress.child = renderedTail;\n }\n\n renderState.last = renderedTail;\n }\n }\n\n if (renderState.tail !== null) {\n // We still have tail rows to render.\n // Pop a row.\n var next = renderState.tail;\n renderState.rendering = next;\n renderState.tail = next.sibling;\n renderState.renderingStartTime = now();\n next.sibling = null; // Restore the context.\n // TODO: We can probably just avoid popping it instead and only\n // setting it the first time we go from not suspended to suspended.\n\n var suspenseContext = suspenseStackCursor.current;\n\n if (didSuspendAlready) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n } else {\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row.\n // Don't bubble properties in this case.\n\n return next;\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n popRenderLanes(workInProgress);\n var _nextState = workInProgress.memoizedState;\n var nextIsHidden = _nextState !== null;\n\n if (current !== null) {\n var _prevState = current.memoizedState;\n var prevIsHidden = _prevState !== null;\n\n if (prevIsHidden !== nextIsHidden && ( // LegacyHidden doesn't do any hiding — it only pre-renders.\n !enableLegacyHidden )) {\n workInProgress.flags |= Visibility;\n }\n }\n\n if (!nextIsHidden || (workInProgress.mode & ConcurrentMode) === NoMode) {\n bubbleProperties(workInProgress);\n } else {\n // Don't bubble properties for hidden children unless we're rendering\n // at offscreen priority.\n if (includesSomeLane(subtreeRenderLanes, OffscreenLane)) {\n bubbleProperties(workInProgress);\n\n {\n // Check if there was an insertion or update in the hidden subtree.\n // If so, we need to hide those nodes in the commit phase, so\n // schedule a visibility effect.\n if ( workInProgress.subtreeFlags & (Placement | Update)) {\n workInProgress.flags |= Visibility;\n }\n }\n }\n }\n return null;\n }\n\n case CacheComponent:\n {\n\n return null;\n }\n\n case TracingMarkerComponent:\n {\n\n return null;\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction unwindWork(current, workInProgress, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n var flags = workInProgress.flags;\n\n if (flags & ShouldCapture) {\n workInProgress.flags = flags & ~ShouldCapture | DidCapture;\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case HostRoot:\n {\n var root = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n var _flags = workInProgress.flags;\n\n if ((_flags & ShouldCapture) !== NoFlags && (_flags & DidCapture) === NoFlags) {\n // There was an error during render that wasn't captured by a suspense\n // boundary. Do a second pass on the root to unmount the children.\n workInProgress.flags = _flags & ~ShouldCapture | DidCapture;\n return workInProgress;\n } // We unwound to the root without completing it. Exit.\n\n\n return null;\n }\n\n case HostComponent:\n {\n // TODO: popHydrationState\n popHostContext(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n if (workInProgress.alternate === null) {\n throw new Error('Threw in newly mounted dehydrated component. This is likely a bug in ' + 'React. Please file an issue.');\n }\n\n resetHydrationState();\n }\n\n var _flags2 = workInProgress.flags;\n\n if (_flags2 & ShouldCapture) {\n workInProgress.flags = _flags2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been\n // caught by a nested boundary. If not, it should bubble through.\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n return null;\n\n case ContextProvider:\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n return null;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(workInProgress);\n return null;\n\n case CacheComponent:\n\n return null;\n\n default:\n return null;\n }\n}\n\nfunction unwindInterruptedWork(current, interruptedWork, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(interruptedWork);\n\n switch (interruptedWork.tag) {\n case ClassComponent:\n {\n var childContextTypes = interruptedWork.type.childContextTypes;\n\n if (childContextTypes !== null && childContextTypes !== undefined) {\n popContext(interruptedWork);\n }\n\n break;\n }\n\n case HostRoot:\n {\n var root = interruptedWork.stateNode;\n popHostContainer(interruptedWork);\n popTopLevelContextObject(interruptedWork);\n resetWorkInProgressVersions();\n break;\n }\n\n case HostComponent:\n {\n popHostContext(interruptedWork);\n break;\n }\n\n case HostPortal:\n popHostContainer(interruptedWork);\n break;\n\n case SuspenseComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case SuspenseListComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case ContextProvider:\n var context = interruptedWork.type._context;\n popProvider(context, interruptedWork);\n break;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(interruptedWork);\n break;\n }\n}\n\nvar didWarnAboutUndefinedSnapshotBeforeUpdate = null;\n\n{\n didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();\n} // Used during the commit phase to track the state of the Offscreen component stack.\n// Allows us to avoid traversing the return path to find the nearest Offscreen ancestor.\n// Only used when enableSuspenseLayoutEffectSemantics is enabled.\n\n\nvar offscreenSubtreeIsHidden = false;\nvar offscreenSubtreeWasHidden = false;\nvar PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set;\nvar nextEffect = null; // Used for Profiling builds to track updaters.\n\nvar inProgressLanes = null;\nvar inProgressRoot = null;\nfunction reportUncaughtErrorInDEV(error) {\n // Wrapping each small part of the commit phase into a guarded\n // callback is a bit too slow (https://github.com/facebook/react/pull/21666).\n // But we rely on it to surface errors to DEV tools like overlays\n // (https://github.com/facebook/react/issues/21712).\n // As a compromise, rethrow only caught errors in a guard.\n {\n invokeGuardedCallback(null, function () {\n throw error;\n });\n clearCaughtError();\n }\n}\n\nvar callComponentWillUnmountWithTimer = function (current, instance) {\n instance.props = current.memoizedProps;\n instance.state = current.memoizedState;\n\n if ( current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentWillUnmount();\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n instance.componentWillUnmount();\n }\n}; // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallCommitHookLayoutEffectListMount(current, nearestMountedAncestor) {\n try {\n commitHookEffectListMount(Layout, current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt unmounting.\n\n\nfunction safelyCallComponentWillUnmount(current, nearestMountedAncestor, instance) {\n try {\n callComponentWillUnmountWithTimer(current, instance);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallComponentDidMount(current, nearestMountedAncestor, instance) {\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n commitAttachRef(current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref;\n\n if (ref !== null) {\n if (typeof ref === 'function') {\n var retVal;\n\n try {\n if (enableProfilerTimer && enableProfilerCommitHooks && current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(null);\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n retVal = ref(null);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(current));\n }\n }\n } else {\n ref.current = null;\n }\n }\n}\n\nfunction safelyCallDestroy(current, nearestMountedAncestor, destroy) {\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nvar focusedInstanceHandle = null;\nvar shouldFireAfterActiveInstanceBlur = false;\nfunction commitBeforeMutationEffects(root, firstChild) {\n focusedInstanceHandle = prepareForCommit(root.containerInfo);\n nextEffect = firstChild;\n commitBeforeMutationEffects_begin(); // We no longer need to track the active instance fiber\n\n var shouldFire = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = false;\n focusedInstanceHandle = null;\n return shouldFire;\n}\n\nfunction commitBeforeMutationEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect; // This phase is only used for beforeActiveInstanceBlur.\n\n var child = fiber.child;\n\n if ((fiber.subtreeFlags & BeforeMutationMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitBeforeMutationEffects_complete();\n }\n }\n}\n\nfunction commitBeforeMutationEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n setCurrentFiber(fiber);\n\n try {\n commitBeforeMutationEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitBeforeMutationEffectsOnFiber(finishedWork) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags;\n\n if ((flags & Snapshot) !== NoFlags) {\n setCurrentFiber(finishedWork);\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n break;\n }\n\n case ClassComponent:\n {\n if (current !== null) {\n var prevProps = current.memoizedProps;\n var prevState = current.memoizedState;\n var instance = finishedWork.stateNode; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);\n\n {\n var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;\n\n if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {\n didWarnSet.add(finishedWork.type);\n\n error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentNameFromFiber(finishedWork));\n }\n }\n\n instance.__reactInternalSnapshotBeforeUpdate = snapshot;\n }\n\n break;\n }\n\n case HostRoot:\n {\n {\n var root = finishedWork.stateNode;\n clearContainer(root.containerInfo);\n }\n\n break;\n }\n\n case HostComponent:\n case HostText:\n case HostPortal:\n case IncompleteClassComponent:\n // Nothing to do for these component types\n break;\n\n default:\n {\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n // Unmount\n var destroy = effect.destroy;\n effect.destroy = undefined;\n\n if (destroy !== undefined) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStarted(finishedWork);\n }\n }\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n safelyCallDestroy(finishedWork, nearestMountedAncestor, destroy);\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitHookEffectListMount(flags, finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStarted(finishedWork);\n }\n } // Mount\n\n\n var create = effect.create;\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n effect.destroy = create();\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStopped();\n }\n }\n\n {\n var destroy = effect.destroy;\n\n if (destroy !== undefined && typeof destroy !== 'function') {\n var hookName = void 0;\n\n if ((effect.tag & Layout) !== NoFlags) {\n hookName = 'useLayoutEffect';\n } else if ((effect.tag & Insertion) !== NoFlags) {\n hookName = 'useInsertionEffect';\n } else {\n hookName = 'useEffect';\n }\n\n var addendum = void 0;\n\n if (destroy === null) {\n addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).';\n } else if (typeof destroy.then === 'function') {\n addendum = '\\n\\nIt looks like you wrote ' + hookName + '(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\\n\\n' + hookName + '(() => {\\n' + ' async function fetchData() {\\n' + ' // You can await here\\n' + ' const response = await MyAPI.getData(someId);\\n' + ' // ...\\n' + ' }\\n' + ' fetchData();\\n' + \"}, [someId]); // Or [] if effect doesn't need props or state\\n\\n\" + 'Learn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching';\n } else {\n addendum = ' You returned: ' + destroy;\n }\n\n error('%s must not return anything besides a function, ' + 'which is used for clean-up.%s', hookName, addendum);\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitPassiveEffectDurations(finishedRoot, finishedWork) {\n {\n // Only Profilers with work in their subtree will have an Update effect scheduled.\n if ((finishedWork.flags & Update) !== NoFlags) {\n switch (finishedWork.tag) {\n case Profiler:\n {\n var passiveEffectDuration = finishedWork.stateNode.passiveEffectDuration;\n var _finishedWork$memoize = finishedWork.memoizedProps,\n id = _finishedWork$memoize.id,\n onPostCommit = _finishedWork$memoize.onPostCommit; // This value will still reflect the previous commit phase.\n // It does not get reset until the start of the next commit phase.\n\n var commitTime = getCommitTime();\n var phase = finishedWork.alternate === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onPostCommit === 'function') {\n onPostCommit(id, phase, passiveEffectDuration, commitTime);\n } // Bubble times to the next nearest ancestor Profiler.\n // After we process that Profiler, we'll bubble further up.\n\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.passiveEffectDuration += passiveEffectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.passiveEffectDuration += passiveEffectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork, committedLanes) {\n if ((finishedWork.flags & LayoutMask) !== NoFlags) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( !offscreenSubtreeWasHidden) {\n // At this point layout effects have already been destroyed (during mutation phase).\n // This is done to prevent sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n }\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = finishedWork.stateNode;\n\n if (finishedWork.flags & Update) {\n if (!offscreenSubtreeWasHidden) {\n if (current === null) {\n // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidMount();\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidMount();\n }\n } else {\n var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps);\n var prevState = current.memoizedState; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n }\n }\n }\n } // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n\n\n var updateQueue = finishedWork.updateQueue;\n\n if (updateQueue !== null) {\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n } // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n\n commitUpdateQueue(finishedWork, updateQueue, instance);\n }\n\n break;\n }\n\n case HostRoot:\n {\n // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n var _updateQueue = finishedWork.updateQueue;\n\n if (_updateQueue !== null) {\n var _instance = null;\n\n if (finishedWork.child !== null) {\n switch (finishedWork.child.tag) {\n case HostComponent:\n _instance = getPublicInstance(finishedWork.child.stateNode);\n break;\n\n case ClassComponent:\n _instance = finishedWork.child.stateNode;\n break;\n }\n }\n\n commitUpdateQueue(finishedWork, _updateQueue, _instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted\n // (eg DOM renderer may schedule auto-focus for inputs and form controls).\n // These effects should only be committed when components are first mounted,\n // aka when there is no current/alternate.\n\n if (current === null && finishedWork.flags & Update) {\n var type = finishedWork.type;\n var props = finishedWork.memoizedProps;\n commitMount(_instance2, type, props);\n }\n\n break;\n }\n\n case HostText:\n {\n // We have no life-cycles associated with text.\n break;\n }\n\n case HostPortal:\n {\n // We have no life-cycles associated with portals.\n break;\n }\n\n case Profiler:\n {\n {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n onCommit = _finishedWork$memoize2.onCommit,\n onRender = _finishedWork$memoize2.onRender;\n var effectDuration = finishedWork.stateNode.effectDuration;\n var commitTime = getCommitTime();\n var phase = current === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onRender === 'function') {\n onRender(finishedWork.memoizedProps.id, phase, finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, commitTime);\n }\n\n {\n if (typeof onCommit === 'function') {\n onCommit(finishedWork.memoizedProps.id, phase, effectDuration, commitTime);\n } // Schedule a passive effect for this Profiler to call onPostCommit hooks.\n // This effect should be scheduled even if there is no onPostCommit callback for this Profiler,\n // because the effect is also where times bubble to parent Profilers.\n\n\n enqueuePendingPassiveProfilerEffect(finishedWork); // Propagate layout effect durations to the next nearest Profiler ancestor.\n // Do not reset these values until the next render so DevTools has a chance to read them first.\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += effectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += effectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n }\n\n case SuspenseListComponent:\n case IncompleteClassComponent:\n case ScopeComponent:\n case OffscreenComponent:\n case LegacyHiddenComponent:\n case TracingMarkerComponent:\n {\n break;\n }\n\n default:\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n if ( !offscreenSubtreeWasHidden) {\n {\n if (finishedWork.flags & Ref) {\n commitAttachRef(finishedWork);\n }\n }\n }\n}\n\nfunction reappearLayoutEffectsOnFiber(node) {\n // Turn on layout effects in a tree that previously disappeared.\n // TODO (Offscreen) Check: flags & LayoutStatic\n switch (node.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( node.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n } finally {\n recordLayoutEffectDuration(node);\n }\n } else {\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = node.stateNode;\n\n if (typeof instance.componentDidMount === 'function') {\n safelyCallComponentDidMount(node, node.return, instance);\n }\n\n safelyAttachRef(node, node.return);\n break;\n }\n\n case HostComponent:\n {\n safelyAttachRef(node, node.return);\n break;\n }\n }\n}\n\nfunction hideOrUnhideAllChildren(finishedWork, isHidden) {\n // Only hide or unhide the top-most host nodes.\n var hostSubtreeRoot = null;\n\n {\n // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n var node = finishedWork;\n\n while (true) {\n if (node.tag === HostComponent) {\n if (hostSubtreeRoot === null) {\n hostSubtreeRoot = node;\n\n try {\n var instance = node.stateNode;\n\n if (isHidden) {\n hideInstance(instance);\n } else {\n unhideInstance(node.stateNode, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if (node.tag === HostText) {\n if (hostSubtreeRoot === null) {\n try {\n var _instance3 = node.stateNode;\n\n if (isHidden) {\n hideTextInstance(_instance3);\n } else {\n unhideTextInstance(_instance3, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if ((node.tag === OffscreenComponent || node.tag === LegacyHiddenComponent) && node.memoizedState !== null && node !== finishedWork) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === finishedWork) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node = node.return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n}\n\nfunction commitAttachRef(finishedWork) {\n var ref = finishedWork.ref;\n\n if (ref !== null) {\n var instance = finishedWork.stateNode;\n var instanceToUse;\n\n switch (finishedWork.tag) {\n case HostComponent:\n instanceToUse = getPublicInstance(instance);\n break;\n\n default:\n instanceToUse = instance;\n } // Moved outside to ensure DCE works with this flag\n\n if (typeof ref === 'function') {\n var retVal;\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(instanceToUse);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n retVal = ref(instanceToUse);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(finishedWork));\n }\n }\n } else {\n {\n if (!ref.hasOwnProperty('current')) {\n error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().', getComponentNameFromFiber(finishedWork));\n }\n }\n\n ref.current = instanceToUse;\n }\n }\n}\n\nfunction detachFiberMutation(fiber) {\n // Cut off the return pointer to disconnect it from the tree.\n // This enables us to detect and warn against state updates on an unmounted component.\n // It also prevents events from bubbling from within disconnected components.\n //\n // Ideally, we should also clear the child pointer of the parent alternate to let this\n // get GC:ed but we don't know which for sure which parent is the current\n // one so we'll settle for GC:ing the subtree of this child.\n // This child itself will be GC:ed when the parent updates the next time.\n //\n // Note that we can't clear child or sibling pointers yet.\n // They're needed for passive effects and for findDOMNode.\n // We defer those fields, and all other cleanup, to the passive phase (see detachFiberAfterEffects).\n //\n // Don't reset the alternate yet, either. We need that so we can detach the\n // alternate's fields in the passive phase. Clearing the return pointer is\n // sufficient for findDOMNode semantics.\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.return = null;\n }\n\n fiber.return = null;\n}\n\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n fiber.alternate = null;\n detachFiberAfterEffects(alternate);\n } // Note: Defensively using negation instead of < in case\n // `deletedTreeCleanUpLevel` is undefined.\n\n\n {\n // Clear cyclical Fiber fields. This level alone is designed to roughly\n // approximate the planned Fiber refactor. In that world, `setState` will be\n // bound to a special \"instance\" object instead of a Fiber. The Instance\n // object will not have any of these fields. It will only be connected to\n // the fiber tree via a single link at the root. So if this level alone is\n // sufficient to fix memory issues, that bodes well for our plans.\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null; // The `stateNode` is cyclical because on host nodes it points to the host\n // tree, which has its own pointers to children, parents, and siblings.\n // The other host nodes also point back to fibers, so we should detach that\n // one, too.\n\n if (fiber.tag === HostComponent) {\n var hostInstance = fiber.stateNode;\n\n if (hostInstance !== null) {\n detachDeletedInstance(hostInstance);\n }\n }\n\n fiber.stateNode = null; // I'm intentionally not clearing the `return` field in this level. We\n // already disconnect the `return` pointer at the root of the deleted\n // subtree (in `detachFiberMutation`). Besides, `return` by itself is not\n // cyclical — it's only cyclical when combined with `child`, `sibling`, and\n // `alternate`. But we'll clear it in the next level anyway, just in case.\n\n {\n fiber._debugOwner = null;\n }\n\n {\n // Theoretically, nothing in here should be necessary, because we already\n // disconnected the fiber from the tree. So even if something leaks this\n // particular fiber, it won't leak anything else\n //\n // The purpose of this branch is to be super aggressive so we can measure\n // if there's any difference in memory impact. If there is, that could\n // indicate a React leak we don't know about.\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead.\n\n fiber.updateQueue = null;\n }\n }\n}\n\nfunction getHostParentFiber(fiber) {\n var parent = fiber.return;\n\n while (parent !== null) {\n if (isHostParent(parent)) {\n return parent;\n }\n\n parent = parent.return;\n }\n\n throw new Error('Expected to find a host parent. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n}\n\nfunction isHostParent(fiber) {\n return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal;\n}\n\nfunction getHostSibling(fiber) {\n // We're going to search forward into the tree until we find a sibling host\n // node. Unfortunately, if multiple insertions are done in a row we have to\n // search past them. This leads to exponential search for the next sibling.\n // TODO: Find a more efficient way to do this.\n var node = fiber;\n\n siblings: while (true) {\n // If we didn't find anything, let's try the next sibling.\n while (node.sibling === null) {\n if (node.return === null || isHostParent(node.return)) {\n // If we pop out of the root or hit the parent the fiber we are the\n // last sibling.\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n\n while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) {\n // If it is not host node and, we might have a host node inside it.\n // Try to search down until we find one.\n if (node.flags & Placement) {\n // If we don't have a child, try the siblings instead.\n continue siblings;\n } // If we don't have a child, try the siblings instead.\n // We also skip portals because they are not part of this host tree.\n\n\n if (node.child === null || node.tag === HostPortal) {\n continue siblings;\n } else {\n node.child.return = node;\n node = node.child;\n }\n } // Check if this host node is stable or about to be placed.\n\n\n if (!(node.flags & Placement)) {\n // Found it!\n return node.stateNode;\n }\n }\n}\n\nfunction commitPlacement(finishedWork) {\n\n\n var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together.\n\n switch (parentFiber.tag) {\n case HostComponent:\n {\n var parent = parentFiber.stateNode;\n\n if (parentFiber.flags & ContentReset) {\n // Reset the text content of the parent before doing any insertions\n resetTextContent(parent); // Clear ContentReset from the effect tag\n\n parentFiber.flags &= ~ContentReset;\n }\n\n var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n }\n\n case HostRoot:\n case HostPortal:\n {\n var _parent = parentFiber.stateNode.containerInfo;\n\n var _before = getHostSibling(finishedWork);\n\n insertOrAppendPlacementNodeIntoContainer(finishedWork, _before, _parent);\n break;\n }\n // eslint-disable-next-line-no-fallthrough\n\n default:\n throw new Error('Invalid host parent fiber. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n}\n\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertInContainerBefore(parent, stateNode, before);\n } else {\n appendChildToContainer(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNodeIntoContainer(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNodeIntoContainer(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n}\n\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertBefore(parent, stateNode, before);\n } else {\n appendChild(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNode(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNode(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n} // These are tracked on the stack as we recursively traverse a\n// deleted subtree.\n// TODO: Update these during the whole mutation phase, not just during\n// a deletion.\n\n\nvar hostParent = null;\nvar hostParentIsContainer = false;\n\nfunction commitDeletionEffects(root, returnFiber, deletedFiber) {\n {\n // We only have the top Fiber that was deleted but we need to recurse down its\n // children to find all the terminal nodes.\n // Recursively delete all host nodes from the parent, detach refs, clean\n // up mounted layout effects, and call componentWillUnmount.\n // We only need to remove the topmost host child in each branch. But then we\n // still need to keep traversing to unmount effects, refs, and cWU. TODO: We\n // could split this into two separate traversals functions, where the second\n // one doesn't include any removeChild logic. This is maybe the same\n // function as \"disappearLayoutEffects\" (or whatever that turns into after\n // the layout phase is refactored to use recursion).\n // Before starting, find the nearest host parent on the stack so we know\n // which instance/container to remove the children from.\n // TODO: Instead of searching up the fiber return path on every deletion, we\n // can track the nearest host component on the JS stack as we traverse the\n // tree during the commit phase. This would make insertions faster, too.\n var parent = returnFiber;\n\n findParent: while (parent !== null) {\n switch (parent.tag) {\n case HostComponent:\n {\n hostParent = parent.stateNode;\n hostParentIsContainer = false;\n break findParent;\n }\n\n case HostRoot:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n\n case HostPortal:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n }\n\n parent = parent.return;\n }\n\n if (hostParent === null) {\n throw new Error('Expected to find a host parent. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n }\n\n commitDeletionEffectsOnFiber(root, returnFiber, deletedFiber);\n hostParent = null;\n hostParentIsContainer = false;\n }\n\n detachFiberMutation(deletedFiber);\n}\n\nfunction recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {\n // TODO: Use a static flag to skip trees that don't have unmount effects\n var child = parent.child;\n\n while (child !== null) {\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, child);\n child = child.sibling;\n }\n}\n\nfunction commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {\n onCommitUnmount(deletedFiber); // The cases in this outer switch modify the stack before they traverse\n // into their subtree. There are simpler cases in the inner switch\n // that don't modify the stack.\n\n switch (deletedFiber.tag) {\n case HostComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n } // Intentional fallthrough to next branch\n\n }\n // eslint-disable-next-line-no-fallthrough\n\n case HostText:\n {\n // We only need to remove the nearest host child. Set the host parent\n // to `null` on the stack to indicate that nested children don't\n // need to be removed.\n {\n var prevHostParent = hostParent;\n var prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n\n if (hostParent !== null) {\n // Now that all the child effects have unmounted, we can remove the\n // node from the tree.\n if (hostParentIsContainer) {\n removeChildFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n removeChild(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case DehydratedFragment:\n {\n // Delete the dehydrated suspense boundary and all of its content.\n\n\n {\n if (hostParent !== null) {\n if (hostParentIsContainer) {\n clearSuspenseBoundaryFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n clearSuspenseBoundary(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n {\n // When we go into a portal, it becomes the parent to remove from.\n var _prevHostParent = hostParent;\n var _prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = true;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = _prevHostParent;\n hostParentIsContainer = _prevHostParentIsContainer;\n }\n\n return;\n }\n\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n var updateQueue = deletedFiber.updateQueue;\n\n if (updateQueue !== null) {\n var lastEffect = updateQueue.lastEffect;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n var _effect = effect,\n destroy = _effect.destroy,\n tag = _effect.tag;\n\n if (destroy !== undefined) {\n if ((tag & Insertion) !== NoFlags$1) {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n } else if ((tag & Layout) !== NoFlags$1) {\n {\n markComponentLayoutEffectUnmountStarted(deletedFiber);\n }\n\n if ( deletedFiber.mode & ProfileMode) {\n startLayoutEffectTimer();\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n recordLayoutEffectDuration(deletedFiber);\n } else {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n }\n\n {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ClassComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var instance = deletedFiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(deletedFiber, nearestMountedAncestor, instance);\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ScopeComponent:\n {\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case OffscreenComponent:\n {\n if ( // TODO: Remove this dead flag\n deletedFiber.mode & ConcurrentMode) {\n // If this offscreen component is hidden, we already unmounted it. Before\n // deleting the children, track that it's already unmounted so that we\n // don't attempt to unmount the effects again.\n // TODO: If the tree is hidden, in most cases we should be able to skip\n // over the nested children entirely. An exception is we haven't yet found\n // the topmost host node to delete, which we already track on the stack.\n // But the other case is portals, which need to be detached no matter how\n // deeply they are nested. We should use a subtree flag to track whether a\n // subtree includes a nested portal.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || deletedFiber.memoizedState !== null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n }\n}\n\nfunction commitSuspenseCallback(finishedWork) {\n // TODO: Move this to passive phase\n var newState = finishedWork.memoizedState;\n}\n\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n\n var newState = finishedWork.memoizedState;\n\n if (newState === null) {\n var current = finishedWork.alternate;\n\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var suspenseInstance = prevState.dehydrated;\n\n if (suspenseInstance !== null) {\n commitHydratedSuspenseInstance(suspenseInstance);\n }\n }\n }\n }\n}\n\nfunction attachSuspenseRetryListeners(finishedWork) {\n // If this boundary just timed out, then it will have a set of wakeables.\n // For each wakeable, attach a listener so that when it resolves, React\n // attempts to re-render the boundary in the primary (pre-timeout) state.\n var wakeables = finishedWork.updateQueue;\n\n if (wakeables !== null) {\n finishedWork.updateQueue = null;\n var retryCache = finishedWork.stateNode;\n\n if (retryCache === null) {\n retryCache = finishedWork.stateNode = new PossiblyWeakSet();\n }\n\n wakeables.forEach(function (wakeable) {\n // Memoize using the boundary fiber to prevent redundant listeners.\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n\n {\n if (isDevToolsPresent) {\n if (inProgressLanes !== null && inProgressRoot !== null) {\n // If we have pending work still, associate the original updaters with it.\n restorePendingUpdaters(inProgressRoot, inProgressLanes);\n } else {\n throw Error('Expected finished root and lanes to be set. This is a bug in React.');\n }\n }\n }\n\n wakeable.then(retry, retry);\n }\n });\n }\n} // This function detects when a Suspense boundary goes from visible to hidden.\nfunction commitMutationEffects(root, finishedWork, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n setCurrentFiber(finishedWork);\n commitMutationEffectsOnFiber(finishedWork, root);\n setCurrentFiber(finishedWork);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction recursivelyTraverseMutationEffects(root, parentFiber, lanes) {\n // Deletions effects can be scheduled on any fiber type. They need to happen\n // before the children effects hae fired.\n var deletions = parentFiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n\n try {\n commitDeletionEffects(root, parentFiber, childToDelete);\n } catch (error) {\n captureCommitPhaseError(childToDelete, parentFiber, error);\n }\n }\n }\n\n var prevDebugFiber = getCurrentFiber();\n\n if (parentFiber.subtreeFlags & MutationMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n commitMutationEffectsOnFiber(child, root);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction commitMutationEffectsOnFiber(finishedWork, root, lanes) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags; // The effect flag should be checked *after* we refine the type of fiber,\n // because the fiber tag is more specific. An exception is any flag related\n // to reconcilation, because those can be set on all fiber types.\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n try {\n commitHookEffectListUnmount(Insertion | HasEffect, finishedWork, finishedWork.return);\n commitHookEffectListMount(Insertion | HasEffect, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Layout effects are destroyed during the mutation phase so that all\n // destroy functions for all fibers are called before any create functions.\n // This prevents sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordLayoutEffectDuration(finishedWork);\n } else {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case ClassComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n return;\n }\n\n case HostComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n {\n // TODO: ContentReset gets cleared by the children during the commit\n // phase. This is a refactor hazard because it means we must read\n // flags the flags after `commitReconciliationEffects` has already run;\n // the order matters. We should refactor so that ContentReset does not\n // rely on mutating the flag during commit. Like by setting a flag\n // during the render phase instead.\n if (finishedWork.flags & ContentReset) {\n var instance = finishedWork.stateNode;\n\n try {\n resetTextContent(instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n\n if (flags & Update) {\n var _instance4 = finishedWork.stateNode;\n\n if (_instance4 != null) {\n // Commit the work prepared earlier.\n var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldProps = current !== null ? current.memoizedProps : newProps;\n var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components.\n\n var updatePayload = finishedWork.updateQueue;\n finishedWork.updateQueue = null;\n\n if (updatePayload !== null) {\n try {\n commitUpdate(_instance4, updatePayload, type, oldProps, newProps, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostText:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (finishedWork.stateNode === null) {\n throw new Error('This should have a text node initialized. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n }\n\n var textInstance = finishedWork.stateNode;\n var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldText = current !== null ? current.memoizedProps : newText;\n\n try {\n commitTextUpdate(textInstance, oldText, newText);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case HostRoot:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (current !== null) {\n var prevRootState = current.memoizedState;\n\n if (prevRootState.isDehydrated) {\n try {\n commitHydratedContainer(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n return;\n }\n\n case SuspenseComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n var offscreenFiber = finishedWork.child;\n\n if (offscreenFiber.flags & Visibility) {\n var offscreenInstance = offscreenFiber.stateNode;\n var newState = offscreenFiber.memoizedState;\n var isHidden = newState !== null; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n offscreenInstance.isHidden = isHidden;\n\n if (isHidden) {\n var wasHidden = offscreenFiber.alternate !== null && offscreenFiber.alternate.memoizedState !== null;\n\n if (!wasHidden) {\n // TODO: Move to passive phase\n markCommitTimeOfFallback();\n }\n }\n }\n\n if (flags & Update) {\n try {\n commitSuspenseCallback(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case OffscreenComponent:\n {\n var _wasHidden = current !== null && current.memoizedState !== null;\n\n if ( // TODO: Remove this dead flag\n finishedWork.mode & ConcurrentMode) {\n // Before committing the children, track on the stack whether this\n // offscreen subtree was already hidden, so that we don't unmount the\n // effects again.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || _wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseMutationEffects(root, finishedWork);\n }\n\n commitReconciliationEffects(finishedWork);\n\n if (flags & Visibility) {\n var _offscreenInstance = finishedWork.stateNode;\n var _newState = finishedWork.memoizedState;\n\n var _isHidden = _newState !== null;\n\n var offscreenBoundary = finishedWork; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n _offscreenInstance.isHidden = _isHidden;\n\n {\n if (_isHidden) {\n if (!_wasHidden) {\n if ((offscreenBoundary.mode & ConcurrentMode) !== NoMode) {\n nextEffect = offscreenBoundary;\n var offscreenChild = offscreenBoundary.child;\n\n while (offscreenChild !== null) {\n nextEffect = offscreenChild;\n disappearLayoutEffects_begin(offscreenChild);\n offscreenChild = offscreenChild.sibling;\n }\n }\n }\n }\n }\n\n {\n // TODO: This needs to run whenever there's an insertion or update\n // inside a hidden Offscreen tree.\n hideOrUnhideAllChildren(offscreenBoundary, _isHidden);\n }\n }\n\n return;\n }\n\n case SuspenseListComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case ScopeComponent:\n {\n\n return;\n }\n\n default:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n return;\n }\n }\n}\n\nfunction commitReconciliationEffects(finishedWork) {\n // Placement effects (insertions, reorders) can be scheduled on any fiber\n // type. They needs to happen after the children effects have fired, but\n // before the effects on this fiber have fired.\n var flags = finishedWork.flags;\n\n if (flags & Placement) {\n try {\n commitPlacement(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Clear the \"placement\" from effect tag so that we know that this is\n // inserted, before any life-cycles like componentDidMount gets called.\n // TODO: findDOMNode doesn't rely on this any more but isMounted does\n // and isMounted is deprecated anyway so we should be able to kill this.\n\n\n finishedWork.flags &= ~Placement;\n }\n\n if (flags & Hydrating) {\n finishedWork.flags &= ~Hydrating;\n }\n}\n\nfunction commitLayoutEffects(finishedWork, root, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n nextEffect = finishedWork;\n commitLayoutEffects_begin(finishedWork, root, committedLanes);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction commitLayoutEffects_begin(subtreeRoot, root, committedLanes) {\n // Suspense layout effects semantics don't change for legacy roots.\n var isModernRoot = (subtreeRoot.mode & ConcurrentMode) !== NoMode;\n\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ( fiber.tag === OffscreenComponent && isModernRoot) {\n // Keep track of the current Offscreen stack's state.\n var isHidden = fiber.memoizedState !== null;\n var newOffscreenSubtreeIsHidden = isHidden || offscreenSubtreeIsHidden;\n\n if (newOffscreenSubtreeIsHidden) {\n // The Offscreen tree is hidden. Skip over its layout effects.\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n } else {\n // TODO (Offscreen) Also check: subtreeFlags & LayoutMask\n var current = fiber.alternate;\n var wasHidden = current !== null && current.memoizedState !== null;\n var newOffscreenSubtreeWasHidden = wasHidden || offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; // Traverse the Offscreen subtree with the current Offscreen as the root.\n\n offscreenSubtreeIsHidden = newOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden;\n\n if (offscreenSubtreeWasHidden && !prevOffscreenSubtreeWasHidden) {\n // This is the root of a reappearing boundary. Turn its layout effects\n // back on.\n nextEffect = fiber;\n reappearLayoutEffects_begin(fiber);\n }\n\n var child = firstChild;\n\n while (child !== null) {\n nextEffect = child;\n commitLayoutEffects_begin(child, // New root; bubble back up to here and stop.\n root, committedLanes);\n child = child.sibling;\n } // Restore Offscreen state and resume in our-progress traversal.\n\n\n nextEffect = fiber;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n }\n }\n\n if ((fiber.subtreeFlags & LayoutMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n }\n }\n}\n\nfunction commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & LayoutMask) !== NoFlags) {\n var current = fiber.alternate;\n setCurrentFiber(fiber);\n\n try {\n commitLayoutEffectOnFiber(root, current, fiber, committedLanes);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction disappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child; // TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)\n\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ( fiber.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n } finally {\n recordLayoutEffectDuration(fiber);\n }\n } else {\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n // TODO (Offscreen) Check: flags & RefStatic\n safelyDetachRef(fiber, fiber.return);\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n safelyDetachRef(fiber, fiber.return);\n break;\n }\n\n case OffscreenComponent:\n {\n // Check if this is a\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is already hidden. Don't disappear\n // its effects.\n disappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n\n break;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n disappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction disappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction reappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if (fiber.tag === OffscreenComponent) {\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is still hidden. Don't re-appear its effects.\n reappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n reappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction reappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // TODO (Offscreen) Check: flags & LayoutStatic\n\n setCurrentFiber(fiber);\n\n try {\n reappearLayoutEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountEffects(root, finishedWork, committedLanes, committedTransitions) {\n nextEffect = finishedWork;\n commitPassiveMountEffects_begin(finishedWork, root, committedLanes, committedTransitions);\n}\n\nfunction commitPassiveMountEffects_begin(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions);\n }\n }\n}\n\nfunction commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n\n try {\n commitPassiveMountOnFiber(root, fiber, committedLanes, committedTransitions);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n } finally {\n recordPassiveEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffects(firstChild) {\n nextEffect = firstChild;\n commitPassiveUnmountEffects_begin();\n}\n\nfunction commitPassiveUnmountEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var child = fiber.child;\n\n if ((nextEffect.flags & ChildDeletion) !== NoFlags) {\n var deletions = fiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var fiberToDelete = deletions[i];\n nextEffect = fiberToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(fiberToDelete, fiber);\n }\n\n {\n // A fiber was deleted from this parent fiber, but it's still part of\n // the previous (alternate) parent fiber's list of children. Because\n // children are a linked list, an earlier sibling that's still alive\n // will be connected to the deleted fiber via its `alternate`:\n //\n // live fiber\n // --alternate--> previous live fiber\n // --sibling--> deleted fiber\n //\n // We can't disconnect `alternate` on nodes that haven't been deleted\n // yet, but we can disconnect the `sibling` and `child` pointers.\n var previousFiber = fiber.alternate;\n\n if (previousFiber !== null) {\n var detachedChild = previousFiber.child;\n\n if (detachedChild !== null) {\n previousFiber.child = null;\n\n do {\n var detachedSibling = detachedChild.sibling;\n detachedChild.sibling = null;\n detachedChild = detachedSibling;\n } while (detachedChild !== null);\n }\n }\n }\n\n nextEffect = fiber;\n }\n }\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffects_complete();\n }\n }\n}\n\nfunction commitPassiveUnmountEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n commitPassiveUnmountOnFiber(fiber);\n resetCurrentFiber();\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n recordPassiveEffectDuration(finishedWork);\n } else {\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // Deletion effects fire in parent -> child order\n // TODO: Check if fiber has a PassiveStatic flag\n\n setCurrentFiber(fiber);\n commitPassiveUnmountInsideDeletedTreeOnFiber(fiber, nearestMountedAncestor);\n resetCurrentFiber();\n var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we\n // do this, still need to handle `deletedTreeCleanUpLevel` correctly.)\n\n if (child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot);\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var sibling = fiber.sibling;\n var returnFiber = fiber.return;\n\n {\n // Recursively traverse the entire deleted tree and clean up fiber fields.\n // This is more aggressive than ideal, and the long term goal is to only\n // have to detach the deleted tree at the root.\n detachFiberAfterEffects(fiber);\n\n if (fiber === deletedSubtreeRoot) {\n nextEffect = null;\n return;\n }\n }\n\n if (sibling !== null) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = returnFiber;\n }\n}\n\nfunction commitPassiveUnmountInsideDeletedTreeOnFiber(current, nearestMountedAncestor) {\n switch (current.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( current.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n recordPassiveEffectDuration(current);\n } else {\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n }\n\n break;\n }\n }\n} // TODO: Reuse reappearLayoutEffects traversal here?\n\n\nfunction invokeLayoutEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Layout | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokeLayoutEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Passive$1 | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n }\n }\n }\n}\n\nvar COMPONENT_TYPE = 0;\nvar HAS_PSEUDO_CLASS_TYPE = 1;\nvar ROLE_TYPE = 2;\nvar TEST_NAME_TYPE = 3;\nvar TEXT_TYPE = 4;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n COMPONENT_TYPE = symbolFor('selector.component');\n HAS_PSEUDO_CLASS_TYPE = symbolFor('selector.has_pseudo_class');\n ROLE_TYPE = symbolFor('selector.role');\n TEST_NAME_TYPE = symbolFor('selector.test_id');\n TEXT_TYPE = symbolFor('selector.text');\n}\nvar commitHooks = [];\nfunction onCommitRoot$1() {\n {\n commitHooks.forEach(function (commitHook) {\n return commitHook();\n });\n }\n}\n\nvar ReactCurrentActQueue = ReactSharedInternals.ReactCurrentActQueue;\nfunction isLegacyActEnvironment(fiber) {\n {\n // Legacy mode. We preserve the behavior of React 17's act. It assumes an\n // act environment whenever `jest` is defined, but you can still turn off\n // spurious warnings by setting IS_REACT_ACT_ENVIRONMENT explicitly\n // to false.\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined; // $FlowExpectedError - Flow doesn't know about jest\n\n var jestIsDefined = typeof jest !== 'undefined';\n return jestIsDefined && isReactActEnvironmentGlobal !== false;\n }\n}\nfunction isConcurrentActEnvironment() {\n {\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined;\n\n if (!isReactActEnvironmentGlobal && ReactCurrentActQueue.current !== null) {\n // TODO: Include link to relevant documentation page.\n error('The current testing environment is not configured to support ' + 'act(...)');\n }\n\n return isReactActEnvironmentGlobal;\n }\n}\n\nvar ceil = Math.ceil;\nvar ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,\n ReactCurrentBatchConfig$3 = ReactSharedInternals.ReactCurrentBatchConfig,\n ReactCurrentActQueue$1 = ReactSharedInternals.ReactCurrentActQueue;\nvar NoContext =\n/* */\n0;\nvar BatchedContext =\n/* */\n1;\nvar RenderContext =\n/* */\n2;\nvar CommitContext =\n/* */\n4;\nvar RootInProgress = 0;\nvar RootFatalErrored = 1;\nvar RootErrored = 2;\nvar RootSuspended = 3;\nvar RootSuspendedWithDelay = 4;\nvar RootCompleted = 5;\nvar RootDidNotComplete = 6; // Describes where we are in the React execution stack\n\nvar executionContext = NoContext; // The root we're working on\n\nvar workInProgressRoot = null; // The fiber we're working on\n\nvar workInProgress = null; // The lanes we're rendering\n\nvar workInProgressRootRenderLanes = NoLanes; // Stack that allows components to change the render lanes for its subtree\n// This is a superset of the lanes we started working on at the root. The only\n// case where it's different from `workInProgressRootRenderLanes` is when we\n// enter a subtree that is hidden and needs to be unhidden: Suspense and\n// Offscreen component.\n//\n// Most things in the work loop should deal with workInProgressRootRenderLanes.\n// Most things in begin/complete phases should deal with subtreeRenderLanes.\n\nvar subtreeRenderLanes = NoLanes;\nvar subtreeRenderLanesCursor = createCursor(NoLanes); // Whether to root completed, errored, suspended, etc.\n\nvar workInProgressRootExitStatus = RootInProgress; // A fatal error, if one is thrown\n\nvar workInProgressRootFatalError = null; // \"Included\" lanes refer to lanes that were worked on during this render. It's\n// slightly different than `renderLanes` because `renderLanes` can change as you\n// enter and exit an Offscreen tree. This value is the combination of all render\n// lanes for the entire render phase.\n\nvar workInProgressRootIncludedLanes = NoLanes; // The work left over by components that were visited during this render. Only\n// includes unprocessed updates, not work in bailed out children.\n\nvar workInProgressRootSkippedLanes = NoLanes; // Lanes that were updated (in an interleaved event) during this render.\n\nvar workInProgressRootInterleavedUpdatedLanes = NoLanes; // Lanes that were updated during the render phase (*not* an interleaved event).\n\nvar workInProgressRootPingedLanes = NoLanes; // Errors that are thrown during the render phase.\n\nvar workInProgressRootConcurrentErrors = null; // These are errors that we recovered from without surfacing them to the UI.\n// We will log them once the tree commits.\n\nvar workInProgressRootRecoverableErrors = null; // The most recent time we committed a fallback. This lets us ensure a train\n// model where we don't commit new loading states in too quick succession.\n\nvar globalMostRecentFallbackTime = 0;\nvar FALLBACK_THROTTLE_MS = 500; // The absolute time for when we should start giving up on rendering\n// more and prefer CPU suspense heuristics instead.\n\nvar workInProgressRootRenderTargetTime = Infinity; // How long a render is supposed to take before we start following CPU\n// suspense heuristics and opt out of rendering more content.\n\nvar RENDER_TIMEOUT_MS = 500;\nvar workInProgressTransitions = null;\n\nfunction resetRenderTimer() {\n workInProgressRootRenderTargetTime = now() + RENDER_TIMEOUT_MS;\n}\n\nfunction getRenderTargetTime() {\n return workInProgressRootRenderTargetTime;\n}\nvar hasUncaughtError = false;\nvar firstUncaughtError = null;\nvar legacyErrorBoundariesThatAlreadyFailed = null; // Only used when enableProfilerNestedUpdateScheduledHook is true;\nvar rootDoesHavePassiveEffects = false;\nvar rootWithPendingPassiveEffects = null;\nvar pendingPassiveEffectsLanes = NoLanes;\nvar pendingPassiveProfilerEffects = [];\nvar pendingPassiveTransitions = null; // Use these to prevent an infinite loop of nested updates\n\nvar NESTED_UPDATE_LIMIT = 50;\nvar nestedUpdateCount = 0;\nvar rootWithNestedUpdates = null;\nvar isFlushingPassiveEffects = false;\nvar didScheduleUpdateDuringPassiveEffects = false;\nvar NESTED_PASSIVE_UPDATE_LIMIT = 50;\nvar nestedPassiveUpdateCount = 0;\nvar rootWithPassiveNestedUpdates = null; // If two updates are scheduled within the same event, we should treat their\n// event times as simultaneous, even if the actual clock time has advanced\n// between the first and second call.\n\nvar currentEventTime = NoTimestamp;\nvar currentEventTransitionLane = NoLanes;\nvar isRunningInsertionEffect = false;\nfunction getWorkInProgressRoot() {\n return workInProgressRoot;\n}\nfunction requestEventTime() {\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n // We're inside React, so it's fine to read the actual time.\n return now();\n } // We're not inside React, so we may be in the middle of a browser event.\n\n\n if (currentEventTime !== NoTimestamp) {\n // Use the same start time for all updates until we enter React again.\n return currentEventTime;\n } // This is the first update since React yielded. Compute a new start time.\n\n\n currentEventTime = now();\n return currentEventTime;\n}\nfunction requestUpdateLane(fiber) {\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n } else if ( (executionContext & RenderContext) !== NoContext && workInProgressRootRenderLanes !== NoLanes) {\n // This is a render phase update. These are not officially supported. The\n // old behavior is to give this the same \"thread\" (lanes) as\n // whatever is currently rendering. So if you call `setState` on a component\n // that happens later in the same render, it will flush. Ideally, we want to\n // remove the special case and treat them as if they came from an\n // interleaved event. Regardless, this pattern is not officially supported.\n // This behavior is only a fallback. The flag only exists until we can roll\n // out the setState warning, since existing code might accidentally rely on\n // the current behavior.\n return pickArbitraryLane(workInProgressRootRenderLanes);\n }\n\n var isTransition = requestCurrentTransition() !== NoTransition;\n\n if (isTransition) {\n if ( ReactCurrentBatchConfig$3.transition !== null) {\n var transition = ReactCurrentBatchConfig$3.transition;\n\n if (!transition._updatedFibers) {\n transition._updatedFibers = new Set();\n }\n\n transition._updatedFibers.add(fiber);\n } // The algorithm for assigning an update to a lane should be stable for all\n // updates at the same priority within the same event. To do this, the\n // inputs to the algorithm must be the same.\n //\n // The trick we use is to cache the first of each of these inputs within an\n // event. Then reset the cached values once we can be sure the event is\n // over. Our heuristic for that is whenever we enter a concurrent work loop.\n\n\n if (currentEventTransitionLane === NoLane) {\n // All transitions within the same event are assigned the same lane.\n currentEventTransitionLane = claimNextTransitionLane();\n }\n\n return currentEventTransitionLane;\n } // Updates originating inside certain React methods, like flushSync, have\n // their priority set by tracking it with a context variable.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var updateLane = getCurrentUpdatePriority();\n\n if (updateLane !== NoLane) {\n return updateLane;\n } // This update originated outside React. Ask the host environment for an\n // appropriate priority, based on the type of event.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var eventLane = getCurrentEventPriority();\n return eventLane;\n}\n\nfunction requestRetryLane(fiber) {\n // This is a fork of `requestUpdateLane` designed specifically for Suspense\n // \"retries\" — a special update that attempts to flip a Suspense boundary\n // from its placeholder state to its primary/resolved state.\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n }\n\n return claimNextRetryLane();\n}\n\nfunction scheduleUpdateOnFiber(root, fiber, lane, eventTime) {\n checkForNestedUpdates();\n\n {\n if (isRunningInsertionEffect) {\n error('useInsertionEffect must not schedule updates.');\n }\n }\n\n {\n if (isFlushingPassiveEffects) {\n didScheduleUpdateDuringPassiveEffects = true;\n }\n } // Mark that the root has a pending update.\n\n\n markRootUpdated(root, lane, eventTime);\n\n if ((executionContext & RenderContext) !== NoLanes && root === workInProgressRoot) {\n // This update was dispatched during the render phase. This is a mistake\n // if the update originates from user space (with the exception of local\n // hook updates, which are handled differently and don't reach this\n // function), but there are some internal React features that use this as\n // an implementation detail, like selective hydration.\n warnAboutRenderPhaseUpdatesInDEV(fiber); // Track lanes that were updated during the render phase\n } else {\n // This is a normal update, scheduled from outside the render phase. For\n // example, during an input event.\n {\n if (isDevToolsPresent) {\n addFiberToLanesMap(root, fiber, lane);\n }\n }\n\n warnIfUpdatesNotWrappedWithActDEV(fiber);\n\n if (root === workInProgressRoot) {\n // Received an update to a tree that's in the middle of rendering. Mark\n // that there was an interleaved update work on this root. Unless the\n // `deferRenderPhaseUpdateToNextBatch` flag is off and this is a render\n // phase update. In that case, we don't treat render phase updates as if\n // they were interleaved, for backwards compat reasons.\n if ( (executionContext & RenderContext) === NoContext) {\n workInProgressRootInterleavedUpdatedLanes = mergeLanes(workInProgressRootInterleavedUpdatedLanes, lane);\n }\n\n if (workInProgressRootExitStatus === RootSuspendedWithDelay) {\n // The root already suspended with a delay, which means this render\n // definitely won't finish. Since we have a new update, let's mark it as\n // suspended now, right before marking the incoming update. This has the\n // effect of interrupting the current render and switching to the update.\n // TODO: Make sure this doesn't override pings that happen while we've\n // already started rendering.\n markRootSuspended$1(root, workInProgressRootRenderLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n\n if (lane === SyncLane && executionContext === NoContext && (fiber.mode & ConcurrentMode) === NoMode && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n // Flush the synchronous work now, unless we're already working or inside\n // a batch. This is intentionally inside scheduleUpdateOnFiber instead of\n // scheduleCallbackForFiber to preserve the ability to schedule a callback\n // without immediately flushing it. We only do this for user-initiated\n // updates, to preserve historical behavior of legacy mode.\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction scheduleInitialHydrationOnRoot(root, lane, eventTime) {\n // This is a special fork of scheduleUpdateOnFiber that is only used to\n // schedule the initial hydration of a root that has just been created. Most\n // of the stuff in scheduleUpdateOnFiber can be skipped.\n //\n // The main reason for this separate path, though, is to distinguish the\n // initial children from subsequent updates. In fully client-rendered roots\n // (createRoot instead of hydrateRoot), all top-level renders are modeled as\n // updates, but hydration roots are special because the initial render must\n // match what was rendered on the server.\n var current = root.current;\n current.lanes = lane;\n markRootUpdated(root, lane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n}\nfunction isUnsafeClassRenderPhaseUpdate(fiber) {\n // Check if this is a render phase update. Only called by class components,\n // which special (deprecated) behavior for UNSAFE_componentWillReceive props.\n return (// TODO: Remove outdated deferRenderPhaseUpdateToNextBatch experiment. We\n // decided not to enable it.\n (executionContext & RenderContext) !== NoContext\n );\n} // Use this function to schedule a task for a root. There's only one task per\n// root; if a task was already scheduled, we'll check to make sure the priority\n// of the existing task is the same as the priority of the next level that the\n// root has work on. This function is called on every update, and right before\n// exiting a task.\n\nfunction ensureRootIsScheduled(root, currentTime) {\n var existingCallbackNode = root.callbackNode; // Check if any lanes are being starved by other work. If so, mark them as\n // expired so we know to work on those next.\n\n markStarvedLanesAsExpired(root, currentTime); // Determine the next lanes to work on, and their priority.\n\n var nextLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (nextLanes === NoLanes) {\n // Special case: There's nothing to work on.\n if (existingCallbackNode !== null) {\n cancelCallback$1(existingCallbackNode);\n }\n\n root.callbackNode = null;\n root.callbackPriority = NoLane;\n return;\n } // We use the highest priority lane to represent the priority of the callback.\n\n\n var newCallbackPriority = getHighestPriorityLane(nextLanes); // Check if there's an existing task. We may be able to reuse it.\n\n var existingCallbackPriority = root.callbackPriority;\n\n if (existingCallbackPriority === newCallbackPriority && // Special case related to `act`. If the currently scheduled task is a\n // Scheduler task, rather than an `act` task, cancel it and re-scheduled\n // on the `act` queue.\n !( ReactCurrentActQueue$1.current !== null && existingCallbackNode !== fakeActCallbackNode)) {\n {\n // If we're going to re-use an existing task, it needs to exist.\n // Assume that discrete update microtasks are non-cancellable and null.\n // TODO: Temporary until we confirm this warning is not fired.\n if (existingCallbackNode == null && existingCallbackPriority !== SyncLane) {\n error('Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue.');\n }\n } // The priority hasn't changed. We can reuse the existing task. Exit.\n\n\n return;\n }\n\n if (existingCallbackNode != null) {\n // Cancel the existing callback. We'll schedule a new one below.\n cancelCallback$1(existingCallbackNode);\n } // Schedule a new callback.\n\n\n var newCallbackNode;\n\n if (newCallbackPriority === SyncLane) {\n // Special case: Sync React callbacks are scheduled on a special\n // internal queue\n if (root.tag === LegacyRoot) {\n if ( ReactCurrentActQueue$1.isBatchingLegacy !== null) {\n ReactCurrentActQueue$1.didScheduleLegacyUpdate = true;\n }\n\n scheduleLegacySyncCallback(performSyncWorkOnRoot.bind(null, root));\n } else {\n scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));\n }\n\n {\n // Flush the queue in a microtask.\n if ( ReactCurrentActQueue$1.current !== null) {\n // Inside `act`, use our internal `act` queue so that these get flushed\n // at the end of the current scope even when using the sync version\n // of `act`.\n ReactCurrentActQueue$1.current.push(flushSyncCallbacks);\n } else {\n scheduleMicrotask(function () {\n // In Safari, appending an iframe forces microtasks to run.\n // https://github.com/facebook/react/issues/22459\n // We don't support running callbacks in the middle of render\n // or commit so we need to check against that.\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n // Note that this would still prematurely flush the callbacks\n // if this happens outside render or commit phase (e.g. in an event).\n flushSyncCallbacks();\n }\n });\n }\n }\n\n newCallbackNode = null;\n } else {\n var schedulerPriorityLevel;\n\n switch (lanesToEventPriority(nextLanes)) {\n case DiscreteEventPriority:\n schedulerPriorityLevel = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriorityLevel = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriorityLevel = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriorityLevel = IdlePriority;\n break;\n\n default:\n schedulerPriorityLevel = NormalPriority;\n break;\n }\n\n newCallbackNode = scheduleCallback$1(schedulerPriorityLevel, performConcurrentWorkOnRoot.bind(null, root));\n }\n\n root.callbackPriority = newCallbackPriority;\n root.callbackNode = newCallbackNode;\n} // This is the entry point for every concurrent task, i.e. anything that\n// goes through Scheduler.\n\n\nfunction performConcurrentWorkOnRoot(root, didTimeout) {\n {\n resetNestedUpdateFlag();\n } // Since we know we're in a React event, we can clear the current\n // event time. The next update will compute a new event time.\n\n\n currentEventTime = NoTimestamp;\n currentEventTransitionLane = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n } // Flush any pending passive effects before deciding which lanes to work on,\n // in case they schedule additional work.\n\n\n var originalCallbackNode = root.callbackNode;\n var didFlushPassiveEffects = flushPassiveEffects();\n\n if (didFlushPassiveEffects) {\n // Something in the passive effect phase may have canceled the current task.\n // Check if the task node for this root was changed.\n if (root.callbackNode !== originalCallbackNode) {\n // The current task was canceled. Exit. We don't need to call\n // `ensureRootIsScheduled` because the check above implies either that\n // there's a new task, or that there's no remaining work on this root.\n return null;\n }\n } // Determine the next lanes to work on, using the fields stored\n // on the root.\n\n\n var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (lanes === NoLanes) {\n // Defensive coding. This is never expected to happen.\n return null;\n } // We disable time-slicing in some cases: if the work has been CPU-bound\n // for too long (\"expired\" work, to prevent starvation), or we're in\n // sync-updates-by-default mode.\n // TODO: We only check `didTimeout` defensively, to account for a Scheduler\n // bug we're still investigating. Once the bug in Scheduler is fixed,\n // we can remove this, since we track expiration ourselves.\n\n\n var shouldTimeSlice = !includesBlockingLane(root, lanes) && !includesExpiredLane(root, lanes) && ( !didTimeout);\n var exitStatus = shouldTimeSlice ? renderRootConcurrent(root, lanes) : renderRootSync(root, lanes);\n\n if (exitStatus !== RootInProgress) {\n if (exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll\n // render synchronously to block concurrent data mutations, and we'll\n // includes all pending updates are included. If it still fails after\n // the second attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n // The render unwound without completing the tree. This happens in special\n // cases where need to exit the current render without producing a\n // consistent tree or committing.\n //\n // This should only happen during a concurrent render, not a discrete or\n // synchronous update. We should have already checked for this when we\n // unwound the stack.\n markRootSuspended$1(root, lanes);\n } else {\n // The render completed.\n // Check if this render may have yielded to a concurrent event, and if so,\n // confirm that any newly rendered stores are consistent.\n // TODO: It's possible that even a concurrent render may never have yielded\n // to the main thread, if it was fast enough, or if it expired. We could\n // skip the consistency check in that case, too.\n var renderWasConcurrent = !includesBlockingLane(root, lanes);\n var finishedWork = root.current.alternate;\n\n if (renderWasConcurrent && !isRenderConsistentWithExternalStores(finishedWork)) {\n // A store was mutated in an interleaved event. Render again,\n // synchronously, to block further mutations.\n exitStatus = renderRootSync(root, lanes); // We need to check again if something threw\n\n if (exitStatus === RootErrored) {\n var _errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (_errorRetryLanes !== NoLanes) {\n lanes = _errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, _errorRetryLanes); // We assume the tree is now consistent because we didn't yield to any\n // concurrent events.\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var _fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw _fatalError;\n }\n } // We now have a consistent tree. The next step is either to commit it,\n // or, if something suspended, wait to commit it after a timeout.\n\n\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n finishConcurrentRender(root, exitStatus, lanes);\n }\n }\n\n ensureRootIsScheduled(root, now());\n\n if (root.callbackNode === originalCallbackNode) {\n // The task node scheduled for this root is the same one that's\n // currently executed. Need to return a continuation.\n return performConcurrentWorkOnRoot.bind(null, root);\n }\n\n return null;\n}\n\nfunction recoverFromConcurrentError(root, errorRetryLanes) {\n // If an error occurred during hydration, discard server response and fall\n // back to client side render.\n // Before rendering again, save the errors from the previous attempt.\n var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;\n\n if (isRootDehydrated(root)) {\n // The shell failed to hydrate. Set a flag to force a client rendering\n // during the next attempt. To do this, we call prepareFreshStack now\n // to create the root work-in-progress fiber. This is a bit weird in terms\n // of factoring, because it relies on renderRootSync not calling\n // prepareFreshStack again in the call below, which happens because the\n // root and lanes haven't changed.\n //\n // TODO: I think what we should do is set ForceClientRender inside\n // throwException, like we do for nested Suspense boundaries. The reason\n // it's here instead is so we can switch to the synchronous work loop, too.\n // Something to consider for a future refactor.\n var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);\n rootWorkInProgress.flags |= ForceClientRender;\n\n {\n errorHydratingContainer(root.containerInfo);\n }\n }\n\n var exitStatus = renderRootSync(root, errorRetryLanes);\n\n if (exitStatus !== RootErrored) {\n // Successfully finished rendering on retry\n // The errors from the failed first attempt have been recovered. Add\n // them to the collection of recoverable errors. We'll log them in the\n // commit phase.\n var errorsFromSecondAttempt = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = errorsFromFirstAttempt; // The errors from the second attempt should be queued after the errors\n // from the first attempt, to preserve the causal sequence.\n\n if (errorsFromSecondAttempt !== null) {\n queueRecoverableErrors(errorsFromSecondAttempt);\n }\n }\n\n return exitStatus;\n}\n\nfunction queueRecoverableErrors(errors) {\n if (workInProgressRootRecoverableErrors === null) {\n workInProgressRootRecoverableErrors = errors;\n } else {\n workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, errors);\n }\n}\n\nfunction finishConcurrentRender(root, exitStatus, lanes) {\n switch (exitStatus) {\n case RootInProgress:\n case RootFatalErrored:\n {\n throw new Error('Root did not complete. This is a bug in React.');\n }\n // Flow knows about invariant, so it complains if I add a break\n // statement, but eslint doesn't know about invariant, so it complains\n // if I do. eslint-disable-next-line no-fallthrough\n\n case RootErrored:\n {\n // We should have already attempted to retry this tree. If we reached\n // this point, it errored again. Commit it.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspended:\n {\n markRootSuspended$1(root, lanes); // We have an acceptable loading state. We need to figure out if we\n // should immediately commit it or wait a bit.\n\n if (includesOnlyRetries(lanes) && // do not delay if we're inside an act() scope\n !shouldForceFlushFallbacksInDEV()) {\n // This render only included retries, no updates. Throttle committing\n // retries so that we don't show too many loading states too quickly.\n var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time.\n\n if (msUntilTimeout > 10) {\n var nextLanes = getNextLanes(root, NoLanes);\n\n if (nextLanes !== NoLanes) {\n // There's additional work on this root.\n break;\n }\n\n var suspendedLanes = root.suspendedLanes;\n\n if (!isSubsetOfLanes(suspendedLanes, lanes)) {\n // We should prefer to render the fallback of at the last\n // suspended level. Ping the last suspended level to try\n // rendering it again.\n // FIXME: What if the suspended lanes are Idle? Should not restart.\n var eventTime = requestEventTime();\n markRootPinged(root, suspendedLanes);\n break;\n } // The render is suspended, it hasn't timed out, and there's no\n // lower priority work to do. Instead of committing the fallback\n // immediately, wait for more data to arrive.\n\n\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), msUntilTimeout);\n break;\n }\n } // The work expired. Commit immediately.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspendedWithDelay:\n {\n markRootSuspended$1(root, lanes);\n\n if (includesOnlyTransitions(lanes)) {\n // This is a transition, so we should exit without committing a\n // placeholder and without scheduling a timeout. Delay indefinitely\n // until we receive more data.\n break;\n }\n\n if (!shouldForceFlushFallbacksInDEV()) {\n // This is not a transition, but we did trigger an avoided state.\n // Schedule a placeholder to display after a short delay, using the Just\n // Noticeable Difference.\n // TODO: Is the JND optimization worth the added complexity? If this is\n // the only reason we track the event time, then probably not.\n // Consider removing.\n var mostRecentEventTime = getMostRecentEventTime(root, lanes);\n var eventTimeMs = mostRecentEventTime;\n var timeElapsedMs = now() - eventTimeMs;\n\n var _msUntilTimeout = jnd(timeElapsedMs) - timeElapsedMs; // Don't bother with a very short suspense time.\n\n\n if (_msUntilTimeout > 10) {\n // Instead of committing the fallback immediately, wait for more data\n // to arrive.\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), _msUntilTimeout);\n break;\n }\n } // Commit the placeholder.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootCompleted:\n {\n // The work completed. Ready to commit.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n default:\n {\n throw new Error('Unknown root exit status.');\n }\n }\n}\n\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n // Search the rendered tree for external store reads, and check whether the\n // stores were mutated in a concurrent event. Intentionally using an iterative\n // loop instead of recursion so we can exit early.\n var node = finishedWork;\n\n while (true) {\n if (node.flags & StoreConsistency) {\n var updateQueue = node.updateQueue;\n\n if (updateQueue !== null) {\n var checks = updateQueue.stores;\n\n if (checks !== null) {\n for (var i = 0; i < checks.length; i++) {\n var check = checks[i];\n var getSnapshot = check.getSnapshot;\n var renderedValue = check.value;\n\n try {\n if (!objectIs(getSnapshot(), renderedValue)) {\n // Found an inconsistent store.\n return false;\n }\n } catch (error) {\n // If `getSnapshot` throws, return `false`. This will schedule\n // a re-render, and the error will be rethrown during render.\n return false;\n }\n }\n }\n }\n }\n\n var child = node.child;\n\n if (node.subtreeFlags & StoreConsistency && child !== null) {\n child.return = node;\n node = child;\n continue;\n }\n\n if (node === finishedWork) {\n return true;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return true;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n } // Flow doesn't know this is unreachable, but eslint does\n // eslint-disable-next-line no-unreachable\n\n\n return true;\n}\n\nfunction markRootSuspended$1(root, suspendedLanes) {\n // When suspending, we should always exclude lanes that were pinged or (more\n // rarely, since we try to avoid it) updated during the render phase.\n // TODO: Lol maybe there's a better way to factor this besides this\n // obnoxiously named function :)\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootPingedLanes);\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootInterleavedUpdatedLanes);\n markRootSuspended(root, suspendedLanes);\n} // This is the entry point for synchronous tasks that don't go\n// through Scheduler\n\n\nfunction performSyncWorkOnRoot(root) {\n {\n syncNestedUpdateFlag();\n }\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n flushPassiveEffects();\n var lanes = getNextLanes(root, NoLanes);\n\n if (!includesSomeLane(lanes, SyncLane)) {\n // There's no remaining sync work left.\n ensureRootIsScheduled(root, now());\n return null;\n }\n\n var exitStatus = renderRootSync(root, lanes);\n\n if (root.tag !== LegacyRoot && exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll render\n // synchronously to block concurrent data mutations, and we'll includes\n // all pending updates are included. If it still fails after the second\n // attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n throw new Error('Root did not complete. This is a bug in React.');\n } // We now have a consistent tree. Because this is a sync render, we\n // will commit it even if something suspended.\n\n\n var finishedWork = root.current.alternate;\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions); // Before exiting, make sure there's a callback scheduled for the next\n // pending level.\n\n ensureRootIsScheduled(root, now());\n return null;\n}\n\nfunction flushRoot(root, lanes) {\n if (lanes !== NoLanes) {\n markRootEntangled(root, mergeLanes(lanes, SyncLane));\n ensureRootIsScheduled(root, now());\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n resetRenderTimer();\n flushSyncCallbacks();\n }\n }\n}\nfunction batchedUpdates$1(fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n\n try {\n return fn(a);\n } finally {\n executionContext = prevExecutionContext; // If there were legacy sync updates, flush them at the end of the outer\n // most batchedUpdates-like method.\n\n if (executionContext === NoContext && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction discreteUpdates(fn, a, b, c, d) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n return fn(a, b, c, d);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n\n if (executionContext === NoContext) {\n resetRenderTimer();\n }\n }\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync(fn) {\n // In legacy mode, we flush pending passive effects at the beginning of the\n // next event, not at the end of the previous one.\n if (rootWithPendingPassiveEffects !== null && rootWithPendingPassiveEffects.tag === LegacyRoot && (executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushPassiveEffects();\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n if (fn) {\n return fn();\n } else {\n return undefined;\n }\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.\n // Note that this will happen even if batchedUpdates is higher up\n // the stack.\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushSyncCallbacks();\n }\n }\n}\nfunction isAlreadyRendering() {\n // Used by the renderer to print a warning if certain APIs are called from\n // the wrong context.\n return (executionContext & (RenderContext | CommitContext)) !== NoContext;\n}\nfunction pushRenderLanes(fiber, lanes) {\n push(subtreeRenderLanesCursor, subtreeRenderLanes, fiber);\n subtreeRenderLanes = mergeLanes(subtreeRenderLanes, lanes);\n workInProgressRootIncludedLanes = mergeLanes(workInProgressRootIncludedLanes, lanes);\n}\nfunction popRenderLanes(fiber) {\n subtreeRenderLanes = subtreeRenderLanesCursor.current;\n pop(subtreeRenderLanesCursor, fiber);\n}\n\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n var timeoutHandle = root.timeoutHandle;\n\n if (timeoutHandle !== noTimeout) {\n // The root previous suspended and scheduled a timeout to commit a fallback\n // state. Now that we have additional work, cancel the timeout.\n root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above\n\n cancelTimeout(timeoutHandle);\n }\n\n if (workInProgress !== null) {\n var interruptedWork = workInProgress.return;\n\n while (interruptedWork !== null) {\n var current = interruptedWork.alternate;\n unwindInterruptedWork(current, interruptedWork);\n interruptedWork = interruptedWork.return;\n }\n }\n\n workInProgressRoot = root;\n var rootWorkInProgress = createWorkInProgress(root.current, null);\n workInProgress = rootWorkInProgress;\n workInProgressRootRenderLanes = subtreeRenderLanes = workInProgressRootIncludedLanes = lanes;\n workInProgressRootExitStatus = RootInProgress;\n workInProgressRootFatalError = null;\n workInProgressRootSkippedLanes = NoLanes;\n workInProgressRootInterleavedUpdatedLanes = NoLanes;\n workInProgressRootPingedLanes = NoLanes;\n workInProgressRootConcurrentErrors = null;\n workInProgressRootRecoverableErrors = null;\n finishQueueingConcurrentUpdates();\n\n {\n ReactStrictModeWarnings.discardPendingWarnings();\n }\n\n return rootWorkInProgress;\n}\n\nfunction handleError(root, thrownValue) {\n do {\n var erroredWork = workInProgress;\n\n try {\n // Reset module-level state that was set during the render phase.\n resetContextDependencies();\n resetHooksAfterThrow();\n resetCurrentFiber(); // TODO: I found and added this missing line while investigating a\n // separate issue. Write a regression test using string refs.\n\n ReactCurrentOwner$2.current = null;\n\n if (erroredWork === null || erroredWork.return === null) {\n // Expected to be working on a non-root fiber. This is a fatal error\n // because there's no ancestor that can handle it; the root is\n // supposed to capture all errors that weren't caught by an error\n // boundary.\n workInProgressRootExitStatus = RootFatalErrored;\n workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next\n // sibling, or the parent if there are no siblings. But since the root\n // has no siblings nor a parent, we set it to null. Usually this is\n // handled by `completeUnitOfWork` or `unwindWork`, but since we're\n // intentionally not calling those, we need set it here.\n // TODO: Consider calling `unwindWork` to pop the contexts.\n\n workInProgress = null;\n return;\n }\n\n if (enableProfilerTimer && erroredWork.mode & ProfileMode) {\n // Record the time spent rendering before an error was thrown. This\n // avoids inaccurate Profiler durations in the case of a\n // suspended render.\n stopProfilerTimerIfRunningAndRecordDelta(erroredWork, true);\n }\n\n if (enableSchedulingProfiler) {\n markComponentRenderStopped();\n\n if (thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.then === 'function') {\n var wakeable = thrownValue;\n markComponentSuspended(erroredWork, wakeable, workInProgressRootRenderLanes);\n } else {\n markComponentErrored(erroredWork, thrownValue, workInProgressRootRenderLanes);\n }\n }\n\n throwException(root, erroredWork.return, erroredWork, thrownValue, workInProgressRootRenderLanes);\n completeUnitOfWork(erroredWork);\n } catch (yetAnotherThrownValue) {\n // Something in the return path also threw.\n thrownValue = yetAnotherThrownValue;\n\n if (workInProgress === erroredWork && erroredWork !== null) {\n // If this boundary has already errored, then we had trouble processing\n // the error. Bubble it to the next boundary.\n erroredWork = erroredWork.return;\n workInProgress = erroredWork;\n } else {\n erroredWork = workInProgress;\n }\n\n continue;\n } // Return to the normal work loop.\n\n\n return;\n } while (true);\n}\n\nfunction pushDispatcher() {\n var prevDispatcher = ReactCurrentDispatcher$2.current;\n ReactCurrentDispatcher$2.current = ContextOnlyDispatcher;\n\n if (prevDispatcher === null) {\n // The React isomorphic package does not include a default dispatcher.\n // Instead the first renderer will lazily attach one, in order to give\n // nicer error messages.\n return ContextOnlyDispatcher;\n } else {\n return prevDispatcher;\n }\n}\n\nfunction popDispatcher(prevDispatcher) {\n ReactCurrentDispatcher$2.current = prevDispatcher;\n}\n\nfunction markCommitTimeOfFallback() {\n globalMostRecentFallbackTime = now();\n}\nfunction markSkippedUpdateLanes(lane) {\n workInProgressRootSkippedLanes = mergeLanes(lane, workInProgressRootSkippedLanes);\n}\nfunction renderDidSuspend() {\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootSuspended;\n }\n}\nfunction renderDidSuspendDelayIfPossible() {\n if (workInProgressRootExitStatus === RootInProgress || workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootErrored) {\n workInProgressRootExitStatus = RootSuspendedWithDelay;\n } // Check if there are updates that we skipped tree that might have unblocked\n // this render.\n\n\n if (workInProgressRoot !== null && (includesNonIdleWork(workInProgressRootSkippedLanes) || includesNonIdleWork(workInProgressRootInterleavedUpdatedLanes))) {\n // Mark the current render as suspended so that we switch to working on\n // the updates that were skipped. Usually we only suspend at the end of\n // the render phase.\n // TODO: We should probably always mark the root as suspended immediately\n // (inside this function), since by suspending at the end of the render\n // phase introduces a potential mistake where we suspend lanes that were\n // pinged or updated while we were rendering.\n markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes);\n }\n}\nfunction renderDidError(error) {\n if (workInProgressRootExitStatus !== RootSuspendedWithDelay) {\n workInProgressRootExitStatus = RootErrored;\n }\n\n if (workInProgressRootConcurrentErrors === null) {\n workInProgressRootConcurrentErrors = [error];\n } else {\n workInProgressRootConcurrentErrors.push(error);\n }\n} // Called during render to determine if anything has suspended.\n// Returns false if we're not sure.\n\nfunction renderHasNotSuspendedYet() {\n // If something errored or completed, we can't really be sure,\n // so those are false.\n return workInProgressRootExitStatus === RootInProgress;\n}\n\nfunction renderRootSync(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopSync();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n executionContext = prevExecutionContext;\n popDispatcher(prevDispatcher);\n\n if (workInProgress !== null) {\n // This is a sync render, so we should have finished the whole tree.\n throw new Error('Cannot commit an incomplete root. This error is likely caused by a ' + 'bug in React. Please file an issue.');\n }\n\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes;\n return workInProgressRootExitStatus;\n} // The work loop is an extremely hot path. Tell Closure not to inline it.\n\n/** @noinline */\n\n\nfunction workLoopSync() {\n // Already timed out, so perform work without checking if we need to yield.\n while (workInProgress !== null) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n resetRenderTimer();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopConcurrent();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n popDispatcher(prevDispatcher);\n executionContext = prevExecutionContext;\n\n\n if (workInProgress !== null) {\n // Still work remaining.\n {\n markRenderYielded();\n }\n\n return RootInProgress;\n } else {\n // Completed the tree.\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes; // Return the final exit status.\n\n return workInProgressRootExitStatus;\n }\n}\n/** @noinline */\n\n\nfunction workLoopConcurrent() {\n // Perform work until Scheduler asks us to yield\n while (workInProgress !== null && !shouldYield()) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction performUnitOfWork(unitOfWork) {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = unitOfWork.alternate;\n setCurrentFiber(unitOfWork);\n var next;\n\n if ( (unitOfWork.mode & ProfileMode) !== NoMode) {\n startProfilerTimer(unitOfWork);\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);\n } else {\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n }\n\n resetCurrentFiber();\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n\n if (next === null) {\n // If this doesn't spawn new work, complete the current work.\n completeUnitOfWork(unitOfWork);\n } else {\n workInProgress = next;\n }\n\n ReactCurrentOwner$2.current = null;\n}\n\nfunction completeUnitOfWork(unitOfWork) {\n // Attempt to complete the current unit of work, then move to the next\n // sibling. If there are no more siblings, return to the parent fiber.\n var completedWork = unitOfWork;\n\n do {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = completedWork.alternate;\n var returnFiber = completedWork.return; // Check if the work completed or if something threw.\n\n if ((completedWork.flags & Incomplete) === NoFlags) {\n setCurrentFiber(completedWork);\n var next = void 0;\n\n if ( (completedWork.mode & ProfileMode) === NoMode) {\n next = completeWork(current, completedWork, subtreeRenderLanes);\n } else {\n startProfilerTimer(completedWork);\n next = completeWork(current, completedWork, subtreeRenderLanes); // Update render duration assuming we didn't error.\n\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false);\n }\n\n resetCurrentFiber();\n\n if (next !== null) {\n // Completing this fiber spawned new work. Work on that next.\n workInProgress = next;\n return;\n }\n } else {\n // This fiber did not complete because something threw. Pop values off\n // the stack without entering the complete phase. If this is a boundary,\n // capture values if possible.\n var _next = unwindWork(current, completedWork); // Because this fiber did not complete, don't reset its lanes.\n\n\n if (_next !== null) {\n // If completing this work spawned new work, do that next. We'll come\n // back here again.\n // Since we're restarting, remove anything that is not a host effect\n // from the effect tag.\n _next.flags &= HostEffectMask;\n workInProgress = _next;\n return;\n }\n\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // Record the render duration for the fiber that errored.\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false); // Include the time spent working on failed children before continuing.\n\n var actualDuration = completedWork.actualDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n actualDuration += child.actualDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n }\n\n if (returnFiber !== null) {\n // Mark the parent fiber as incomplete and clear its subtree flags.\n returnFiber.flags |= Incomplete;\n returnFiber.subtreeFlags = NoFlags;\n returnFiber.deletions = null;\n } else {\n // We've unwound all the way to the root.\n workInProgressRootExitStatus = RootDidNotComplete;\n workInProgress = null;\n return;\n }\n }\n\n var siblingFiber = completedWork.sibling;\n\n if (siblingFiber !== null) {\n // If there is more work to do in this returnFiber, do that next.\n workInProgress = siblingFiber;\n return;\n } // Otherwise, return to the parent\n\n\n completedWork = returnFiber; // Update the next thing we're working on in case something throws.\n\n workInProgress = completedWork;\n } while (completedWork !== null); // We've reached the root.\n\n\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootCompleted;\n }\n}\n\nfunction commitRoot(root, recoverableErrors, transitions) {\n // TODO: This no longer makes any sense. We already wrap the mutation and\n // layout phases. Should be able to remove.\n var previousUpdateLanePriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n commitRootImpl(root, recoverableErrors, transitions, previousUpdateLanePriority);\n } finally {\n ReactCurrentBatchConfig$3.transition = prevTransition;\n setCurrentUpdatePriority(previousUpdateLanePriority);\n }\n\n return null;\n}\n\nfunction commitRootImpl(root, recoverableErrors, transitions, renderPriorityLevel) {\n do {\n // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which\n // means `flushPassiveEffects` will sometimes result in additional\n // passive effects. So we need to keep flushing in a loop until there are\n // no more pending effects.\n // TODO: Might be better if `flushPassiveEffects` did not automatically\n // flush synchronous work at the end, to avoid factoring hazards like this.\n flushPassiveEffects();\n } while (rootWithPendingPassiveEffects !== null);\n\n flushRenderPhaseStrictModeWarningsInDEV();\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n var finishedWork = root.finishedWork;\n var lanes = root.finishedLanes;\n\n {\n markCommitStarted(lanes);\n }\n\n if (finishedWork === null) {\n\n {\n markCommitStopped();\n }\n\n return null;\n } else {\n {\n if (lanes === NoLanes) {\n error('root.finishedLanes should not be empty during a commit. This is a ' + 'bug in React.');\n }\n }\n }\n\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n\n if (finishedWork === root.current) {\n throw new Error('Cannot commit the same tree as before. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n } // commitRoot never returns a continuation; it always finishes synchronously.\n // So we can clear these now to allow a new callback to be scheduled.\n\n\n root.callbackNode = null;\n root.callbackPriority = NoLane; // Update the first and last pending times on this root. The new first\n // pending time is whatever is left on the root fiber.\n\n var remainingLanes = mergeLanes(finishedWork.lanes, finishedWork.childLanes);\n markRootFinished(root, remainingLanes);\n\n if (root === workInProgressRoot) {\n // We can reset these now that they are finished.\n workInProgressRoot = null;\n workInProgress = null;\n workInProgressRootRenderLanes = NoLanes;\n } // If there are pending passive effects, schedule a callback to process them.\n // Do this as early as possible, so it is queued before anything else that\n // might get scheduled in the commit phase. (See #16714.)\n // TODO: Delete all other places that schedule the passive effect callback\n // They're redundant.\n\n\n if ((finishedWork.subtreeFlags & PassiveMask) !== NoFlags || (finishedWork.flags & PassiveMask) !== NoFlags) {\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n // to store it in pendingPassiveTransitions until they get processed\n // We need to pass this through as an argument to commitRoot\n // because workInProgressTransitions might have changed between\n // the previous render and commit if we throttle the commit\n // with setTimeout\n\n pendingPassiveTransitions = transitions;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects(); // This render triggered passive effects: release the root cache pool\n // *after* passive effects fire to avoid freeing a cache pool that may\n // be referenced by a node in the tree (HostRoot, Cache boundary etc)\n\n return null;\n });\n }\n } // Check if there are any effects in the whole tree.\n // TODO: This is left over from the effect list implementation, where we had\n // to check for the existence of `firstEffect` to satisfy Flow. I think the\n // only other reason this optimization exists is because it affects profiling.\n // Reconsider whether this is necessary.\n\n\n var subtreeHasEffects = (finishedWork.subtreeFlags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n var rootHasEffect = (finishedWork.flags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n\n if (subtreeHasEffects || rootHasEffect) {\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n ReactCurrentBatchConfig$3.transition = null;\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(DiscreteEventPriority);\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext; // Reset this to null before calling lifecycles\n\n ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass\n // of the effect list for each phase: all mutation effects come before all\n // layout effects, and so on.\n // The first phase a \"before mutation\" phase. We use this phase to read the\n // state of the host tree right before we mutate it. This is where\n // getSnapshotBeforeUpdate is called.\n\n var shouldFireAfterActiveInstanceBlur = commitBeforeMutationEffects(root, finishedWork);\n\n {\n // Mark the current commit time to be shared by all Profilers in this\n // batch. This enables them to be grouped later.\n recordCommitTime();\n }\n\n\n commitMutationEffects(root, finishedWork, lanes);\n\n resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after\n // the mutation phase, so that the previous tree is still current during\n // componentWillUnmount, but before the layout phase, so that the finished\n // work is current during componentDidMount/Update.\n\n root.current = finishedWork; // The next phase is the layout phase, where we call effects that read\n\n {\n markLayoutEffectsStarted(lanes);\n }\n\n commitLayoutEffects(finishedWork, root, lanes);\n\n {\n markLayoutEffectsStopped();\n }\n // opportunity to paint.\n\n\n requestPaint();\n executionContext = prevExecutionContext; // Reset the priority to the previous non-sync value.\n\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n } else {\n // No effects.\n root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were\n // no effects.\n // TODO: Maybe there's a better way to report this.\n\n {\n recordCommitTime();\n }\n }\n\n var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;\n\n if (rootDoesHavePassiveEffects) {\n // This commit has passive effects. Stash a reference to them. But don't\n // schedule a callback until after flushing layout work.\n rootDoesHavePassiveEffects = false;\n rootWithPendingPassiveEffects = root;\n pendingPassiveEffectsLanes = lanes;\n } else {\n\n {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n }\n } // Read this again, since an effect might have updated it\n\n\n remainingLanes = root.pendingLanes; // Check if there's remaining work on this root\n // TODO: This is part of the `componentDidCatch` implementation. Its purpose\n // is to detect whether something might have called setState inside\n // `componentDidCatch`. The mechanism is known to be flawed because `setState`\n // inside `componentDidCatch` is itself flawed — that's why we recommend\n // `getDerivedStateFromError` instead. However, it could be improved by\n // checking if remainingLanes includes Sync work, instead of whether there's\n // any work remaining at all (which would also include stuff like Suspense\n // retries or transitions). It's been like this for a while, though, so fixing\n // it probably isn't that urgent.\n\n if (remainingLanes === NoLanes) {\n // If there's no remaining work, we can clear the set of already failed\n // error boundaries.\n legacyErrorBoundariesThatAlreadyFailed = null;\n }\n\n {\n if (!rootDidHavePassiveEffects) {\n commitDoubleInvokeEffectsInDEV(root.current, false);\n }\n }\n\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n\n {\n if (isDevToolsPresent) {\n root.memoizedUpdaters.clear();\n }\n }\n\n {\n onCommitRoot$1();\n } // Always call this before exiting `commitRoot`, to ensure that any\n // additional work on this root is scheduled.\n\n\n ensureRootIsScheduled(root, now());\n\n if (recoverableErrors !== null) {\n // There were errors during this render, but recovered from them without\n // needing to surface it to the UI. We log them here.\n var onRecoverableError = root.onRecoverableError;\n\n for (var i = 0; i < recoverableErrors.length; i++) {\n var recoverableError = recoverableErrors[i];\n var componentStack = recoverableError.stack;\n var digest = recoverableError.digest;\n onRecoverableError(recoverableError.value, {\n componentStack: componentStack,\n digest: digest\n });\n }\n }\n\n if (hasUncaughtError) {\n hasUncaughtError = false;\n var error$1 = firstUncaughtError;\n firstUncaughtError = null;\n throw error$1;\n } // If the passive effects are the result of a discrete render, flush them\n // synchronously at the end of the current task so that the result is\n // immediately observable. Otherwise, we assume that they are not\n // order-dependent and do not need to be observed by external systems, so we\n // can wait until after paint.\n // TODO: We can optimize this by not scheduling the callback earlier. Since we\n // currently schedule the callback in multiple places, will wait until those\n // are consolidated.\n\n\n if (includesSomeLane(pendingPassiveEffectsLanes, SyncLane) && root.tag !== LegacyRoot) {\n flushPassiveEffects();\n } // Read this again, since a passive effect might have updated it\n\n\n remainingLanes = root.pendingLanes;\n\n if (includesSomeLane(remainingLanes, SyncLane)) {\n {\n markNestedUpdateScheduled();\n } // Count the number of times the root synchronously re-renders without\n // finishing. If there are too many, it indicates an infinite update loop.\n\n\n if (root === rootWithNestedUpdates) {\n nestedUpdateCount++;\n } else {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = root;\n }\n } else {\n nestedUpdateCount = 0;\n } // If layout work was scheduled, flush it now.\n\n\n flushSyncCallbacks();\n\n {\n markCommitStopped();\n }\n\n return null;\n}\n\nfunction flushPassiveEffects() {\n // Returns whether passive effects were flushed.\n // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should\n // probably just combine the two functions. I believe they were only separate\n // in the first place because we used to wrap it with\n // `Scheduler.runWithPriority`, which accepts a function. But now we track the\n // priority within React itself, so we can mutate the variable directly.\n if (rootWithPendingPassiveEffects !== null) {\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes);\n var priority = lowerEventPriority(DefaultEventPriority, renderPriority);\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(priority);\n return flushPassiveEffectsImpl();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition; // Once passive effects have run for the tree - giving components a\n }\n }\n\n return false;\n}\nfunction enqueuePendingPassiveProfilerEffect(fiber) {\n {\n pendingPassiveProfilerEffects.push(fiber);\n\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects();\n return null;\n });\n }\n }\n}\n\nfunction flushPassiveEffectsImpl() {\n if (rootWithPendingPassiveEffects === null) {\n return false;\n } // Cache and clear the transitions flag\n\n\n var transitions = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root = rootWithPendingPassiveEffects;\n var lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects.\n // Figure out why and fix it. It's not causing any known issues (probably\n // because it's only used for profiling), but it's a refactor hazard.\n\n pendingPassiveEffectsLanes = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Cannot flush passive effects while already rendering.');\n }\n\n {\n isFlushingPassiveEffects = true;\n didScheduleUpdateDuringPassiveEffects = false;\n }\n\n {\n markPassiveEffectsStarted(lanes);\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n commitPassiveUnmountEffects(root.current);\n commitPassiveMountEffects(root, root.current, lanes, transitions); // TODO: Move to commitPassiveMountEffects\n\n {\n var profilerEffects = pendingPassiveProfilerEffects;\n pendingPassiveProfilerEffects = [];\n\n for (var i = 0; i < profilerEffects.length; i++) {\n var _fiber = profilerEffects[i];\n commitPassiveEffectDurations(root, _fiber);\n }\n }\n\n {\n markPassiveEffectsStopped();\n }\n\n {\n commitDoubleInvokeEffectsInDEV(root.current, true);\n }\n\n executionContext = prevExecutionContext;\n flushSyncCallbacks();\n\n {\n // If additional passive effects were scheduled, increment a counter. If this\n // exceeds the limit, we'll fire a warning.\n if (didScheduleUpdateDuringPassiveEffects) {\n if (root === rootWithPassiveNestedUpdates) {\n nestedPassiveUpdateCount++;\n } else {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = root;\n }\n } else {\n nestedPassiveUpdateCount = 0;\n }\n\n isFlushingPassiveEffects = false;\n didScheduleUpdateDuringPassiveEffects = false;\n } // TODO: Move to commitPassiveMountEffects\n\n\n onPostCommitRoot(root);\n\n {\n var stateNode = root.current.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n\n return true;\n}\n\nfunction isAlreadyFailedLegacyErrorBoundary(instance) {\n return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);\n}\nfunction markLegacyErrorBoundaryAsFailed(instance) {\n if (legacyErrorBoundariesThatAlreadyFailed === null) {\n legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);\n } else {\n legacyErrorBoundariesThatAlreadyFailed.add(instance);\n }\n}\n\nfunction prepareToThrowUncaughtError(error) {\n if (!hasUncaughtError) {\n hasUncaughtError = true;\n firstUncaughtError = error;\n }\n}\n\nvar onUncaughtError = prepareToThrowUncaughtError;\n\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n var errorInfo = createCapturedValueAtFiber(error, sourceFiber);\n var update = createRootErrorUpdate(rootFiber, errorInfo, SyncLane);\n var root = enqueueUpdate(rootFiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error$1) {\n {\n reportUncaughtErrorInDEV(error$1);\n setIsRunningInsertionEffect(false);\n }\n\n if (sourceFiber.tag === HostRoot) {\n // Error was thrown at the root. There is no parent, so the root\n // itself should capture it.\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error$1);\n return;\n }\n\n var fiber = null;\n\n {\n fiber = nearestMountedAncestor;\n }\n\n while (fiber !== null) {\n if (fiber.tag === HostRoot) {\n captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error$1);\n return;\n } else if (fiber.tag === ClassComponent) {\n var ctor = fiber.type;\n var instance = fiber.stateNode;\n\n if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {\n var errorInfo = createCapturedValueAtFiber(error$1, sourceFiber);\n var update = createClassErrorUpdate(fiber, errorInfo, SyncLane);\n var root = enqueueUpdate(fiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n\n return;\n }\n }\n\n fiber = fiber.return;\n }\n\n {\n // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning\n // will fire for errors that are thrown by destroy functions inside deleted\n // trees. What it should instead do is propagate the error to the parent of\n // the deleted tree. In the meantime, do not add this warning to the\n // allowlist; this is only for our internal use.\n error('Internal React error: Attempted to capture a commit phase error ' + 'inside a detached tree. This indicates a bug in React. Likely ' + 'causes include deleting the same fiber more than once, committing an ' + 'already-finished tree, or an inconsistent return pointer.\\n\\n' + 'Error message:\\n\\n%s', error$1);\n }\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n\n if (pingCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n pingCache.delete(wakeable);\n }\n\n var eventTime = requestEventTime();\n markRootPinged(root, pingedLanes);\n warnIfSuspenseResolutionNotWrappedWithActDEV(root);\n\n if (workInProgressRoot === root && isSubsetOfLanes(workInProgressRootRenderLanes, pingedLanes)) {\n // Received a ping at the same priority level at which we're currently\n // rendering. We might want to restart this render. This should mirror\n // the logic of whether or not a root suspends once it completes.\n // TODO: If we're rendering sync either due to Sync, Batched or expired,\n // we should probably never restart.\n // If we're suspended with delay, or if it's a retry, we'll always suspend\n // so we can always restart.\n if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && includesOnlyRetries(workInProgressRootRenderLanes) && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {\n // Restart from the root.\n prepareFreshStack(root, NoLanes);\n } else {\n // Even though we can't restart right now, we might get an\n // opportunity later. So we mark this render as having a ping.\n workInProgressRootPingedLanes = mergeLanes(workInProgressRootPingedLanes, pingedLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n}\n\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n // The boundary fiber (a Suspense component or SuspenseList component)\n // previously was rendered in its fallback state. One of the promises that\n // suspended it has resolved, which means at least part of the tree was\n // likely unblocked. Try rendering again, at a new lanes.\n if (retryLane === NoLane) {\n // TODO: Assign this to `suspenseState.retryLane`? to avoid\n // unnecessary entanglement?\n retryLane = requestRetryLane(boundaryFiber);\n } // TODO: Special case idle priority?\n\n\n var eventTime = requestEventTime();\n var root = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n\n if (root !== null) {\n markRootUpdated(root, retryLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState;\n var retryLane = NoLane;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = NoLane; // Default\n\n var retryCache;\n\n switch (boundaryFiber.tag) {\n case SuspenseComponent:\n retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n break;\n\n case SuspenseListComponent:\n retryCache = boundaryFiber.stateNode;\n break;\n\n default:\n throw new Error('Pinged unknown suspense boundary type. ' + 'This is probably a bug in React.');\n }\n\n if (retryCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n retryCache.delete(wakeable);\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n} // Computes the next Just Noticeable Difference (JND) boundary.\n// The theory is that a person can't tell the difference between small differences in time.\n// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable\n// difference in the experience. However, waiting for longer might mean that we can avoid\n// showing an intermediate loading state. The longer we have already waited, the harder it\n// is to tell small differences in time. Therefore, the longer we've already waited,\n// the longer we can wait additionally. At some point we have to give up though.\n// We pick a train model where the next boundary commits at a consistent schedule.\n// These particular numbers are vague estimates. We expect to adjust them based on research.\n\nfunction jnd(timeElapsed) {\n return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960;\n}\n\nfunction checkForNestedUpdates() {\n if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = null;\n throw new Error('Maximum update depth exceeded. This can happen when a component ' + 'repeatedly calls setState inside componentWillUpdate or ' + 'componentDidUpdate. React limits the number of nested updates to ' + 'prevent infinite loops.');\n }\n\n {\n if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n\n error('Maximum update depth exceeded. This can happen when a component ' + \"calls setState inside useEffect, but useEffect either doesn't \" + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');\n }\n }\n}\n\nfunction flushRenderPhaseStrictModeWarningsInDEV() {\n {\n ReactStrictModeWarnings.flushLegacyContextWarning();\n\n {\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\n }\n }\n}\n\nfunction commitDoubleInvokeEffectsInDEV(fiber, hasPassiveEffects) {\n {\n // TODO (StrictEffects) Should we set a marker on the root if it contains strict effects\n // so we don't traverse unnecessarily? similar to subtreeFlags but just at the root level.\n // Maybe not a big deal since this is DEV only behavior.\n setCurrentFiber(fiber);\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectUnmountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectUnmountInDEV);\n }\n\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectMountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectMountInDEV);\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction invokeEffectsInDev(firstChild, fiberFlags, invokeEffectFn) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n var current = firstChild;\n var subtreeRoot = null;\n\n while (current !== null) {\n var primarySubtreeFlag = current.subtreeFlags & fiberFlags;\n\n if (current !== subtreeRoot && current.child !== null && primarySubtreeFlag !== NoFlags) {\n current = current.child;\n } else {\n if ((current.flags & fiberFlags) !== NoFlags) {\n invokeEffectFn(current);\n }\n\n if (current.sibling !== null) {\n current = current.sibling;\n } else {\n current = subtreeRoot = current.return;\n }\n }\n }\n }\n}\n\nvar didWarnStateUpdateForNotYetMountedComponent = null;\nfunction warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {\n {\n if ((executionContext & RenderContext) !== NoContext) {\n // We let the other warning about render phase updates deal with this one.\n return;\n }\n\n if (!(fiber.mode & ConcurrentMode)) {\n return;\n }\n\n var tag = fiber.tag;\n\n if (tag !== IndeterminateComponent && tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent) {\n // Only warn for user-defined components, not internal ones like Suspense.\n return;\n } // We show the whole stack but dedupe on the top component's name because\n // the problematic code almost always lies inside that component.\n\n\n var componentName = getComponentNameFromFiber(fiber) || 'ReactComponent';\n\n if (didWarnStateUpdateForNotYetMountedComponent !== null) {\n if (didWarnStateUpdateForNotYetMountedComponent.has(componentName)) {\n return;\n }\n\n didWarnStateUpdateForNotYetMountedComponent.add(componentName);\n } else {\n didWarnStateUpdateForNotYetMountedComponent = new Set([componentName]);\n }\n\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error(\"Can't perform a React state update on a component that hasn't mounted yet. \" + 'This indicates that you have a side-effect in your render function that ' + 'asynchronously later calls tries to update the component. Move this work to ' + 'useEffect instead.');\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n}\nvar beginWork$1;\n\n{\n var dummyFiber = null;\n\n beginWork$1 = function (current, unitOfWork, lanes) {\n // If a component throws an error, we replay it again in a synchronously\n // dispatched event, so that the debugger will treat it as an uncaught\n // error See ReactErrorUtils for more information.\n // Before entering the begin phase, copy the work-in-progress onto a dummy\n // fiber. If beginWork throws, we'll use this to reset the state.\n var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);\n\n try {\n return beginWork(current, unitOfWork, lanes);\n } catch (originalError) {\n if (didSuspendOrErrorWhileHydratingDEV() || originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {\n // Don't replay promises.\n // Don't replay errors if we are hydrating and have already suspended or handled an error\n throw originalError;\n } // Keep this code in sync with handleError; any changes here must have\n // corresponding changes there.\n\n\n resetContextDependencies();\n resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the\n // same fiber again.\n // Unwind the failed stack frame\n\n unwindInterruptedWork(current, unitOfWork); // Restore the original properties of the fiber.\n\n assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);\n\n if ( unitOfWork.mode & ProfileMode) {\n // Reset the profiler timer.\n startProfilerTimer(unitOfWork);\n } // Run beginWork again.\n\n\n invokeGuardedCallback(null, beginWork, null, current, unitOfWork, lanes);\n\n if (hasCaughtError()) {\n var replayError = clearCaughtError();\n\n if (typeof replayError === 'object' && replayError !== null && replayError._suppressLogging && typeof originalError === 'object' && originalError !== null && !originalError._suppressLogging) {\n // If suppressed, let the flag carry over to the original error which is the one we'll rethrow.\n originalError._suppressLogging = true;\n }\n } // We always throw the original error in case the second render pass is not idempotent.\n // This can happen if a memoized function or CommonJS module doesn't throw after first invocation.\n\n\n throw originalError;\n }\n };\n}\n\nvar didWarnAboutUpdateInRender = false;\nvar didWarnAboutUpdateInRenderForAnotherComponent;\n\n{\n didWarnAboutUpdateInRenderForAnotherComponent = new Set();\n}\n\nfunction warnAboutRenderPhaseUpdatesInDEV(fiber) {\n {\n if (isRendering && !getIsUpdatingOpaqueValueInRenderPhaseInDEV()) {\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n var renderingComponentName = workInProgress && getComponentNameFromFiber(workInProgress) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.\n\n var dedupeKey = renderingComponentName;\n\n if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {\n didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);\n var setStateComponentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://reactjs.org/link/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n if (!didWarnAboutUpdateInRender) {\n error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');\n\n didWarnAboutUpdateInRender = true;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction restorePendingUpdaters(root, lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n memoizedUpdaters.forEach(function (schedulingFiber) {\n addFiberToLanesMap(root, schedulingFiber, lanes);\n }); // This function intentionally does not clear memoized updaters.\n // Those may still be relevant to the current commit\n // and a future one (e.g. Suspense).\n }\n }\n}\nvar fakeActCallbackNode = {};\n\nfunction scheduleCallback$1(priorityLevel, callback) {\n {\n // If we're currently inside an `act` scope, bypass Scheduler and push to\n // the `act` queue instead.\n var actQueue = ReactCurrentActQueue$1.current;\n\n if (actQueue !== null) {\n actQueue.push(callback);\n return fakeActCallbackNode;\n } else {\n return scheduleCallback(priorityLevel, callback);\n }\n }\n}\n\nfunction cancelCallback$1(callbackNode) {\n if ( callbackNode === fakeActCallbackNode) {\n return;\n } // In production, always call Scheduler. This function will be stripped out.\n\n\n return cancelCallback(callbackNode);\n}\n\nfunction shouldForceFlushFallbacksInDEV() {\n // Never force flush in production. This function should get stripped out.\n return ReactCurrentActQueue$1.current !== null;\n}\n\nfunction warnIfUpdatesNotWrappedWithActDEV(fiber) {\n {\n if (fiber.mode & ConcurrentMode) {\n if (!isConcurrentActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n } else {\n // Legacy mode has additional cases where we suppress a warning.\n if (!isLegacyActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n\n if (executionContext !== NoContext) {\n // Legacy mode doesn't warn if the update is batched, i.e.\n // batchedUpdates or flushSync.\n return;\n }\n\n if (fiber.tag !== FunctionComponent && fiber.tag !== ForwardRef && fiber.tag !== SimpleMemoComponent) {\n // For backwards compatibility with pre-hooks code, legacy mode only\n // warns for updates that originate from a hook.\n return;\n }\n }\n\n if (ReactCurrentActQueue$1.current === null) {\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error('An update to %s inside a test was not wrapped in act(...).\\n\\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\\n\\n' + 'act(() => {\\n' + ' /* fire events that update state */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act', getComponentNameFromFiber(fiber));\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n}\n\nfunction warnIfSuspenseResolutionNotWrappedWithActDEV(root) {\n {\n if (root.tag !== LegacyRoot && isConcurrentActEnvironment() && ReactCurrentActQueue$1.current === null) {\n error('A suspended resource finished loading inside a test, but the event ' + 'was not wrapped in act(...).\\n\\n' + 'When testing, code that resolves suspended data should be wrapped ' + 'into act(...):\\n\\n' + 'act(() => {\\n' + ' /* finish loading suspended data */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act');\n }\n }\n}\n\nfunction setIsRunningInsertionEffect(isRunning) {\n {\n isRunningInsertionEffect = isRunning;\n }\n}\n\n/* eslint-disable react-internal/prod-error-codes */\nvar resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below.\n\nvar failedBoundaries = null;\nvar setRefreshHandler = function (handler) {\n {\n resolveFamily = handler;\n }\n};\nfunction resolveFunctionForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction resolveClassForHotReloading(type) {\n // No implementation differences.\n return resolveFunctionForHotReloading(type);\n}\nfunction resolveForwardRefForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n // Check if we're dealing with a real forwardRef. Don't want to crash early.\n if (type !== null && type !== undefined && typeof type.render === 'function') {\n // ForwardRef is special because its resolved .type is an object,\n // but it's possible that we only have its inner render function in the map.\n // If that inner render function is different, we'll build a new forwardRef type.\n var currentRender = resolveFunctionForHotReloading(type.render);\n\n if (type.render !== currentRender) {\n var syntheticType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: currentRender\n };\n\n if (type.displayName !== undefined) {\n syntheticType.displayName = type.displayName;\n }\n\n return syntheticType;\n }\n }\n\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction isCompatibleFamilyForHotReloading(fiber, element) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return false;\n }\n\n var prevType = fiber.elementType;\n var nextType = element.type; // If we got here, we know types aren't === equal.\n\n var needsCompareFamilies = false;\n var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;\n\n switch (fiber.tag) {\n case ClassComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case FunctionComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n // We don't know the inner type yet.\n // We're going to assume that the lazy inner type is stable,\n // and so it is sufficient to avoid reconciling it away.\n // We're not going to unwrap or actually use the new lazy type.\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case ForwardRef:\n {\n if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ($$typeofNextType === REACT_MEMO_TYPE) {\n // TODO: if it was but can no longer be simple,\n // we shouldn't set this.\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n default:\n return false;\n } // Check if both types have a family and it's the same one.\n\n\n if (needsCompareFamilies) {\n // Note: memo() and forwardRef() we'll compare outer rather than inner type.\n // This means both of them need to be registered to preserve state.\n // If we unwrapped and compared the inner types for wrappers instead,\n // then we would risk falsely saying two separate memo(Foo)\n // calls are equivalent because they wrap the same Foo function.\n var prevFamily = resolveFamily(prevType);\n\n if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {\n return true;\n }\n }\n\n return false;\n }\n}\nfunction markFailedErrorBoundaryForHotReloading(fiber) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n if (typeof WeakSet !== 'function') {\n return;\n }\n\n if (failedBoundaries === null) {\n failedBoundaries = new WeakSet();\n }\n\n failedBoundaries.add(fiber);\n }\n}\nvar scheduleRefresh = function (root, update) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n var staleFamilies = update.staleFamilies,\n updatedFamilies = update.updatedFamilies;\n flushPassiveEffects();\n flushSync(function () {\n scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);\n });\n }\n};\nvar scheduleRoot = function (root, element) {\n {\n if (root.context !== emptyContextObject) {\n // Super edge case: root has a legacy _renderSubtree context\n // but we don't know the parentComponent so we can't pass it.\n // Just ignore. We'll delete this with _renderSubtree code path later.\n return;\n }\n\n flushPassiveEffects();\n flushSync(function () {\n updateContainer(element, root, null, null);\n });\n }\n};\n\nfunction scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {\n {\n var alternate = fiber.alternate,\n child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n if (resolveFamily === null) {\n throw new Error('Expected resolveFamily to be set during hot reload.');\n }\n\n var needsRender = false;\n var needsRemount = false;\n\n if (candidateType !== null) {\n var family = resolveFamily(candidateType);\n\n if (family !== undefined) {\n if (staleFamilies.has(family)) {\n needsRemount = true;\n } else if (updatedFamilies.has(family)) {\n if (tag === ClassComponent) {\n needsRemount = true;\n } else {\n needsRender = true;\n }\n }\n }\n }\n\n if (failedBoundaries !== null) {\n if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) {\n needsRemount = true;\n }\n }\n\n if (needsRemount) {\n fiber._debugNeedsRemount = true;\n }\n\n if (needsRemount || needsRender) {\n var _root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (_root !== null) {\n scheduleUpdateOnFiber(_root, fiber, SyncLane, NoTimestamp);\n }\n }\n\n if (child !== null && !needsRemount) {\n scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);\n }\n\n if (sibling !== null) {\n scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);\n }\n }\n}\n\nvar findHostInstancesForRefresh = function (root, families) {\n {\n var hostInstances = new Set();\n var types = new Set(families.map(function (family) {\n return family.current;\n }));\n findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);\n return hostInstances;\n }\n};\n\nfunction findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {\n {\n var child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n var didMatch = false;\n\n if (candidateType !== null) {\n if (types.has(candidateType)) {\n didMatch = true;\n }\n }\n\n if (didMatch) {\n // We have a match. This only drills down to the closest host components.\n // There's no need to search deeper because for the purpose of giving\n // visual feedback, \"flashing\" outermost parent rectangles is sufficient.\n findHostInstancesForFiberShallowly(fiber, hostInstances);\n } else {\n // If there's no match, maybe there will be one further down in the child tree.\n if (child !== null) {\n findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);\n }\n }\n\n if (sibling !== null) {\n findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);\n }\n }\n}\n\nfunction findHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);\n\n if (foundHostInstances) {\n return;\n } // If we didn't find any host children, fallback to closest host parent.\n\n\n var node = fiber;\n\n while (true) {\n switch (node.tag) {\n case HostComponent:\n hostInstances.add(node.stateNode);\n return;\n\n case HostPortal:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n\n case HostRoot:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n }\n\n if (node.return === null) {\n throw new Error('Expected to reach root first.');\n }\n\n node = node.return;\n }\n }\n}\n\nfunction findChildHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var node = fiber;\n var foundHostInstances = false;\n\n while (true) {\n if (node.tag === HostComponent) {\n // We got a match.\n foundHostInstances = true;\n hostInstances.add(node.stateNode); // There may still be more, so keep searching.\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === fiber) {\n return foundHostInstances;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === fiber) {\n return foundHostInstances;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n\n return false;\n}\n\nvar hasBadMapPolyfill;\n\n{\n hasBadMapPolyfill = false;\n\n try {\n var nonExtensibleObject = Object.preventExtensions({});\n /* eslint-disable no-new */\n\n new Map([[nonExtensibleObject, null]]);\n new Set([nonExtensibleObject]);\n /* eslint-enable no-new */\n } catch (e) {\n // TODO: Consider warning about bad polyfills\n hasBadMapPolyfill = true;\n }\n}\n\nfunction FiberNode(tag, pendingProps, key, mode) {\n // Instance\n this.tag = tag;\n this.key = key;\n this.elementType = null;\n this.type = null;\n this.stateNode = null; // Fiber\n\n this.return = null;\n this.child = null;\n this.sibling = null;\n this.index = 0;\n this.ref = null;\n this.pendingProps = pendingProps;\n this.memoizedProps = null;\n this.updateQueue = null;\n this.memoizedState = null;\n this.dependencies = null;\n this.mode = mode; // Effects\n\n this.flags = NoFlags;\n this.subtreeFlags = NoFlags;\n this.deletions = null;\n this.lanes = NoLanes;\n this.childLanes = NoLanes;\n this.alternate = null;\n\n {\n // Note: The following is done to avoid a v8 performance cliff.\n //\n // Initializing the fields below to smis and later updating them with\n // double values will cause Fibers to end up having separate shapes.\n // This behavior/bug has something to do with Object.preventExtension().\n // Fortunately this only impacts DEV builds.\n // Unfortunately it makes React unusably slow for some applications.\n // To work around this, initialize the fields below with doubles.\n //\n // Learn more about this here:\n // https://github.com/facebook/react/issues/14365\n // https://bugs.chromium.org/p/v8/issues/detail?id=8538\n this.actualDuration = Number.NaN;\n this.actualStartTime = Number.NaN;\n this.selfBaseDuration = Number.NaN;\n this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.\n // This won't trigger the performance cliff mentioned above,\n // and it simplifies other profiler code (including DevTools).\n\n this.actualDuration = 0;\n this.actualStartTime = -1;\n this.selfBaseDuration = 0;\n this.treeBaseDuration = 0;\n }\n\n {\n // This isn't directly used but is handy for debugging internals:\n this._debugSource = null;\n this._debugOwner = null;\n this._debugNeedsRemount = false;\n this._debugHookTypes = null;\n\n if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {\n Object.preventExtensions(this);\n }\n }\n} // This is a constructor function, rather than a POJO constructor, still\n// please ensure we do the following:\n// 1) Nobody should add any instance methods on this. Instance methods can be\n// more difficult to predict when they get optimized and they are almost\n// never inlined properly in static compilers.\n// 2) Nobody should rely on `instanceof Fiber` for type testing. We should\n// always know when it is a fiber.\n// 3) We might want to experiment with using numeric keys since they are easier\n// to optimize in a non-JIT environment.\n// 4) We can easily go from a constructor to a createFiber object literal if that\n// is faster.\n// 5) It should be easy to port this to a C struct and keep a C implementation\n// compatible.\n\n\nvar createFiber = function (tag, pendingProps, key, mode) {\n // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors\n return new FiberNode(tag, pendingProps, key, mode);\n};\n\nfunction shouldConstruct$1(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction isSimpleFunctionComponent(type) {\n return typeof type === 'function' && !shouldConstruct$1(type) && type.defaultProps === undefined;\n}\nfunction resolveLazyComponentTag(Component) {\n if (typeof Component === 'function') {\n return shouldConstruct$1(Component) ? ClassComponent : FunctionComponent;\n } else if (Component !== undefined && Component !== null) {\n var $$typeof = Component.$$typeof;\n\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n return ForwardRef;\n }\n\n if ($$typeof === REACT_MEMO_TYPE) {\n return MemoComponent;\n }\n }\n\n return IndeterminateComponent;\n} // This is used to create an alternate fiber to do work on.\n\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n\n if (workInProgress === null) {\n // We use a double buffering pooling technique because we know that we'll\n // only ever need at most two versions of a tree. We pool the \"other\" unused\n // node that we're free to reuse. This is lazily created to avoid allocating\n // extra objects for things that are never updated. It also allow us to\n // reclaim the extra memory if needed.\n workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);\n workInProgress.elementType = current.elementType;\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n\n {\n // DEV-only fields\n workInProgress._debugSource = current._debugSource;\n workInProgress._debugOwner = current._debugOwner;\n workInProgress._debugHookTypes = current._debugHookTypes;\n }\n\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // We already have an alternate.\n // Reset the effect tag.\n\n workInProgress.flags = NoFlags; // The effects are no longer valid.\n\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n\n {\n // We intentionally reset, rather than copy, actualDuration & actualStartTime.\n // This prevents time from endlessly accumulating in new commits.\n // This has the downside of resetting values for different priority renders,\n // But works for yielding (the common case) and should support resuming.\n workInProgress.actualDuration = 0;\n workInProgress.actualStartTime = -1;\n }\n } // Reset all effects except static ones.\n // Static effects are not specific to a render.\n\n\n workInProgress.flags = current.flags & StaticMask;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n }; // These will be overridden during the parent's reconciliation\n\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n\n {\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n\n {\n workInProgress._debugNeedsRemount = current._debugNeedsRemount;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case FunctionComponent:\n case SimpleMemoComponent:\n workInProgress.type = resolveFunctionForHotReloading(current.type);\n break;\n\n case ClassComponent:\n workInProgress.type = resolveClassForHotReloading(current.type);\n break;\n\n case ForwardRef:\n workInProgress.type = resolveForwardRefForHotReloading(current.type);\n break;\n }\n }\n\n return workInProgress;\n} // Used to reuse a Fiber for a second pass.\n\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n // This resets the Fiber to what createFiber or createWorkInProgress would\n // have set the values to before during the first pass. Ideally this wouldn't\n // be necessary but unfortunately many code paths reads from the workInProgress\n // when they should be reading from current and writing to workInProgress.\n // We assume pendingProps, index, key, ref, return are still untouched to\n // avoid doing another reconciliation.\n // Reset the effect flags but keep any Placement tags, since that's something\n // that child fiber is setting, not the reconciliation.\n workInProgress.flags &= StaticMask | Placement; // The effects are no longer valid.\n\n var current = workInProgress.alternate;\n\n if (current === null) {\n // Reset to createFiber's initial values.\n workInProgress.childLanes = NoLanes;\n workInProgress.lanes = renderLanes;\n workInProgress.child = null;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.memoizedProps = null;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.dependencies = null;\n workInProgress.stateNode = null;\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = 0;\n workInProgress.treeBaseDuration = 0;\n }\n } else {\n // Reset to the cloned values that createWorkInProgress would've.\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n };\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n }\n\n return workInProgress;\n}\nfunction createHostRootFiber(tag, isStrictMode, concurrentUpdatesByDefaultOverride) {\n var mode;\n\n if (tag === ConcurrentRoot) {\n mode = ConcurrentMode;\n\n if (isStrictMode === true) {\n mode |= StrictLegacyMode;\n\n {\n mode |= StrictEffectsMode;\n }\n }\n } else {\n mode = NoMode;\n }\n\n if ( isDevToolsPresent) {\n // Always collect profile timings when DevTools are present.\n // This enables DevTools to start capturing timing at any point–\n // Without some nodes in the tree having empty base times.\n mode |= ProfileMode;\n }\n\n return createFiber(HostRoot, null, null, mode);\n}\nfunction createFiberFromTypeAndProps(type, // React$ElementType\nkey, pendingProps, owner, mode, lanes) {\n var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.\n\n var resolvedType = type;\n\n if (typeof type === 'function') {\n if (shouldConstruct$1(type)) {\n fiberTag = ClassComponent;\n\n {\n resolvedType = resolveClassForHotReloading(resolvedType);\n }\n } else {\n {\n resolvedType = resolveFunctionForHotReloading(resolvedType);\n }\n }\n } else if (typeof type === 'string') {\n fiberTag = HostComponent;\n } else {\n getTag: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n\n case REACT_STRICT_MODE_TYPE:\n fiberTag = Mode;\n mode |= StrictLegacyMode;\n\n if ( (mode & ConcurrentMode) !== NoMode) {\n // Strict effects should never run on legacy roots\n mode |= StrictEffectsMode;\n }\n\n break;\n\n case REACT_PROFILER_TYPE:\n return createFiberFromProfiler(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_TYPE:\n return createFiberFromSuspense(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_LIST_TYPE:\n return createFiberFromSuspenseList(pendingProps, mode, lanes, key);\n\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n\n case REACT_LEGACY_HIDDEN_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_SCOPE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_CACHE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_TRACING_MARKER_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_DEBUG_TRACING_MODE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n default:\n {\n if (typeof type === 'object' && type !== null) {\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n fiberTag = ContextProvider;\n break getTag;\n\n case REACT_CONTEXT_TYPE:\n // This is a consumer\n fiberTag = ContextConsumer;\n break getTag;\n\n case REACT_FORWARD_REF_TYPE:\n fiberTag = ForwardRef;\n\n {\n resolvedType = resolveForwardRefForHotReloading(resolvedType);\n }\n\n break getTag;\n\n case REACT_MEMO_TYPE:\n fiberTag = MemoComponent;\n break getTag;\n\n case REACT_LAZY_TYPE:\n fiberTag = LazyComponent;\n resolvedType = null;\n break getTag;\n }\n }\n\n var info = '';\n\n {\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and \" + 'named imports.';\n }\n\n var ownerName = owner ? getComponentNameFromFiber(owner) : null;\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n }\n\n throw new Error('Element type is invalid: expected a string (for built-in ' + 'components) or a class/function (for composite components) ' + (\"but got: \" + (type == null ? type : typeof type) + \".\" + info));\n }\n }\n }\n\n var fiber = createFiber(fiberTag, pendingProps, key, mode);\n fiber.elementType = type;\n fiber.type = resolvedType;\n fiber.lanes = lanes;\n\n {\n fiber._debugOwner = owner;\n }\n\n return fiber;\n}\nfunction createFiberFromElement(element, mode, lanes) {\n var owner = null;\n\n {\n owner = element._owner;\n }\n\n var type = element.type;\n var key = element.key;\n var pendingProps = element.props;\n var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes);\n\n {\n fiber._debugSource = element._source;\n fiber._debugOwner = element._owner;\n }\n\n return fiber;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n var fiber = createFiber(Fragment, elements, key, mode);\n fiber.lanes = lanes;\n return fiber;\n}\n\nfunction createFiberFromProfiler(pendingProps, mode, lanes, key) {\n {\n if (typeof pendingProps.id !== 'string') {\n error('Profiler must specify an \"id\" of type `string` as a prop. Received the type `%s` instead.', typeof pendingProps.id);\n }\n }\n\n var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode);\n fiber.elementType = REACT_PROFILER_TYPE;\n fiber.lanes = lanes;\n\n {\n fiber.stateNode = {\n effectDuration: 0,\n passiveEffectDuration: 0\n };\n }\n\n return fiber;\n}\n\nfunction createFiberFromSuspense(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromSuspenseList(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_LIST_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n var fiber = createFiber(OffscreenComponent, pendingProps, key, mode);\n fiber.elementType = REACT_OFFSCREEN_TYPE;\n fiber.lanes = lanes;\n var primaryChildInstance = {\n isHidden: false\n };\n fiber.stateNode = primaryChildInstance;\n return fiber;\n}\nfunction createFiberFromText(content, mode, lanes) {\n var fiber = createFiber(HostText, content, null, mode);\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromHostInstanceForDeletion() {\n var fiber = createFiber(HostComponent, null, null, NoMode);\n fiber.elementType = 'DELETED';\n return fiber;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiber(DehydratedFragment, null, null, NoMode);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n var pendingProps = portal.children !== null ? portal.children : [];\n var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);\n fiber.lanes = lanes;\n fiber.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n // Used by persistent updates\n implementation: portal.implementation\n };\n return fiber;\n} // Used for stashing WIP properties to replay failed work in DEV.\n\nfunction assignFiberPropertiesInDEV(target, source) {\n if (target === null) {\n // This Fiber's initial properties will always be overwritten.\n // We only use a Fiber to ensure the same hidden class so DEV isn't slow.\n target = createFiber(IndeterminateComponent, null, null, NoMode);\n } // This is intentionally written as a list of all properties.\n // We tried to use Object.assign() instead but this is called in\n // the hottest path, and Object.assign() was too slow:\n // https://github.com/facebook/react/issues/12502\n // This code is DEV-only so size is not a concern.\n\n\n target.tag = source.tag;\n target.key = source.key;\n target.elementType = source.elementType;\n target.type = source.type;\n target.stateNode = source.stateNode;\n target.return = source.return;\n target.child = source.child;\n target.sibling = source.sibling;\n target.index = source.index;\n target.ref = source.ref;\n target.pendingProps = source.pendingProps;\n target.memoizedProps = source.memoizedProps;\n target.updateQueue = source.updateQueue;\n target.memoizedState = source.memoizedState;\n target.dependencies = source.dependencies;\n target.mode = source.mode;\n target.flags = source.flags;\n target.subtreeFlags = source.subtreeFlags;\n target.deletions = source.deletions;\n target.lanes = source.lanes;\n target.childLanes = source.childLanes;\n target.alternate = source.alternate;\n\n {\n target.actualDuration = source.actualDuration;\n target.actualStartTime = source.actualStartTime;\n target.selfBaseDuration = source.selfBaseDuration;\n target.treeBaseDuration = source.treeBaseDuration;\n }\n\n target._debugSource = source._debugSource;\n target._debugOwner = source._debugOwner;\n target._debugNeedsRemount = source._debugNeedsRemount;\n target._debugHookTypes = source._debugHookTypes;\n return target;\n}\n\nfunction FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.pendingChildren = null;\n this.current = null;\n this.pingCache = null;\n this.finishedWork = null;\n this.timeoutHandle = noTimeout;\n this.context = null;\n this.pendingContext = null;\n this.callbackNode = null;\n this.callbackPriority = NoLane;\n this.eventTimes = createLaneMap(NoLanes);\n this.expirationTimes = createLaneMap(NoTimestamp);\n this.pendingLanes = NoLanes;\n this.suspendedLanes = NoLanes;\n this.pingedLanes = NoLanes;\n this.expiredLanes = NoLanes;\n this.mutableReadLanes = NoLanes;\n this.finishedLanes = NoLanes;\n this.entangledLanes = NoLanes;\n this.entanglements = createLaneMap(NoLanes);\n this.identifierPrefix = identifierPrefix;\n this.onRecoverableError = onRecoverableError;\n\n {\n this.mutableSourceEagerHydrationData = null;\n }\n\n {\n this.effectDuration = 0;\n this.passiveEffectDuration = 0;\n }\n\n {\n this.memoizedUpdaters = new Set();\n var pendingUpdatersLaneMap = this.pendingUpdatersLaneMap = [];\n\n for (var _i = 0; _i < TotalLanes; _i++) {\n pendingUpdatersLaneMap.push(new Set());\n }\n }\n\n {\n switch (tag) {\n case ConcurrentRoot:\n this._debugRootType = hydrate ? 'hydrateRoot()' : 'createRoot()';\n break;\n\n case LegacyRoot:\n this._debugRootType = hydrate ? 'hydrate()' : 'render()';\n break;\n }\n }\n}\n\nfunction createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, // TODO: We have several of these arguments that are conceptually part of the\n// host config, but because they are passed in at runtime, we have to thread\n// them through the root constructor. Perhaps we should put them all into a\n// single type, like a DynamicHostConfig that is defined by the renderer.\nidentifierPrefix, onRecoverableError, transitionCallbacks) {\n var root = new FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError);\n // stateNode is any.\n\n\n var uninitializedFiber = createHostRootFiber(tag, isStrictMode);\n root.current = uninitializedFiber;\n uninitializedFiber.stateNode = root;\n\n {\n var _initialState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: null,\n // not enabled yet\n transitions: null,\n pendingSuspenseBoundaries: null\n };\n uninitializedFiber.memoizedState = _initialState;\n }\n\n initializeUpdateQueue(uninitializedFiber);\n return root;\n}\n\nvar ReactVersion = '18.2.0';\n\nfunction createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.\nimplementation) {\n var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n {\n checkKeyStringCoercion(key);\n }\n\n return {\n // This tag allow us to uniquely identify this as a React Portal\n $$typeof: REACT_PORTAL_TYPE,\n key: key == null ? null : '' + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\n\nvar didWarnAboutNestedUpdates;\nvar didWarnAboutFindNodeInStrictMode;\n\n{\n didWarnAboutNestedUpdates = false;\n didWarnAboutFindNodeInStrictMode = {};\n}\n\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) {\n return emptyContextObject;\n }\n\n var fiber = get(parentComponent);\n var parentContext = findCurrentUnmaskedContext(fiber);\n\n if (fiber.tag === ClassComponent) {\n var Component = fiber.type;\n\n if (isContextProvider(Component)) {\n return processChildContext(fiber, Component, parentContext);\n }\n }\n\n return parentContext;\n}\n\nfunction findHostInstanceWithWarning(component, methodName) {\n {\n var fiber = get(component);\n\n if (fiber === undefined) {\n if (typeof component.render === 'function') {\n throw new Error('Unable to find node on an unmounted component.');\n } else {\n var keys = Object.keys(component).join(',');\n throw new Error(\"Argument appears to not be a ReactComponent. Keys: \" + keys);\n }\n }\n\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n if (hostFiber.mode & StrictLegacyMode) {\n var componentName = getComponentNameFromFiber(fiber) || 'Component';\n\n if (!didWarnAboutFindNodeInStrictMode[componentName]) {\n didWarnAboutFindNodeInStrictMode[componentName] = true;\n var previousFiber = current;\n\n try {\n setCurrentFiber(hostFiber);\n\n if (fiber.mode & StrictLegacyMode) {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n } else {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n }\n } finally {\n // Ideally this should reset to previous but this shouldn't be called in\n // render and there's another warning for that anyway.\n if (previousFiber) {\n setCurrentFiber(previousFiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n\n return hostFiber.stateNode;\n }\n}\n\nfunction createContainer(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = false;\n var initialChildren = null;\n return createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n}\nfunction createHydrationContainer(initialChildren, // TODO: Remove `callback` when we delete legacy mode.\ncallback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = true;\n var root = createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); // TODO: Move this to FiberRoot constructor\n\n root.context = getContextForSubtree(null); // Schedule the initial render. In a hydration root, this is different from\n // a regular update because the initial render must match was was rendered\n // on the server.\n // NOTE: This update intentionally doesn't have a payload. We're only using\n // the update to schedule work on the root fiber (and, for legacy roots, to\n // enqueue the callback if one is provided).\n\n var current = root.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current);\n var update = createUpdate(eventTime, lane);\n update.callback = callback !== undefined && callback !== null ? callback : null;\n enqueueUpdate(current, update, lane);\n scheduleInitialHydrationOnRoot(root, lane, eventTime);\n return root;\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n {\n onScheduleRoot(container, element);\n }\n\n var current$1 = container.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current$1);\n\n {\n markRenderScheduled(lane);\n }\n\n var context = getContextForSubtree(parentComponent);\n\n if (container.context === null) {\n container.context = context;\n } else {\n container.pendingContext = context;\n }\n\n {\n if (isRendering && current !== null && !didWarnAboutNestedUpdates) {\n didWarnAboutNestedUpdates = true;\n\n error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\\n\\n' + 'Check the render method of %s.', getComponentNameFromFiber(current) || 'Unknown');\n }\n }\n\n var update = createUpdate(eventTime, lane); // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: element\n };\n callback = callback === undefined ? null : callback;\n\n if (callback !== null) {\n {\n if (typeof callback !== 'function') {\n error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\n }\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(current$1, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, current$1, lane, eventTime);\n entangleTransitions(root, current$1, lane);\n }\n\n return lane;\n}\nfunction getPublicRootInstance(container) {\n var containerFiber = container.current;\n\n if (!containerFiber.child) {\n return null;\n }\n\n switch (containerFiber.child.tag) {\n case HostComponent:\n return getPublicInstance(containerFiber.child.stateNode);\n\n default:\n return containerFiber.child.stateNode;\n }\n}\nfunction attemptSynchronousHydration$1(fiber) {\n switch (fiber.tag) {\n case HostRoot:\n {\n var root = fiber.stateNode;\n\n if (isRootDehydrated(root)) {\n // Flush the first scheduled \"update\".\n var lanes = getHighestPriorityPendingLanes(root);\n flushRoot(root, lanes);\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n flushSync(function () {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, SyncLane, eventTime);\n }\n }); // If we're still blocked after this, we need to increase\n // the priority of any promises resolving within this\n // boundary so that they next attempt also has higher pri.\n\n var retryLane = SyncLane;\n markRetryLaneIfNotHydrated(fiber, retryLane);\n break;\n }\n }\n}\n\nfunction markRetryLaneImpl(fiber, retryLane) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n suspenseState.retryLane = higherPriorityLane(suspenseState.retryLane, retryLane);\n }\n} // Increases the priority of thenables when they resolve within this boundary.\n\n\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n var alternate = fiber.alternate;\n\n if (alternate) {\n markRetryLaneImpl(alternate, retryLane);\n }\n}\nfunction attemptContinuousHydration$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority and they should not suspend on I/O,\n // since you have to wrap anything that might suspend in\n // Suspense.\n return;\n }\n\n var lane = SelectiveHydrationLane;\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction attemptHydrationAtCurrentPriority$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority other than synchronously flush it.\n return;\n }\n\n var lane = requestUpdateLane(fiber);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction findHostInstanceWithNoPortals(fiber) {\n var hostFiber = findCurrentHostFiberWithNoPortals(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nvar shouldErrorImpl = function (fiber) {\n return null;\n};\n\nfunction shouldError(fiber) {\n return shouldErrorImpl(fiber);\n}\n\nvar shouldSuspendImpl = function (fiber) {\n return false;\n};\n\nfunction shouldSuspend(fiber) {\n return shouldSuspendImpl(fiber);\n}\nvar overrideHookState = null;\nvar overrideHookStateDeletePath = null;\nvar overrideHookStateRenamePath = null;\nvar overrideProps = null;\nvar overridePropsDeletePath = null;\nvar overridePropsRenamePath = null;\nvar scheduleUpdate = null;\nvar setErrorHandler = null;\nvar setSuspenseHandler = null;\n\n{\n var copyWithDeleteImpl = function (obj, path, index) {\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === path.length) {\n if (isArray(updated)) {\n updated.splice(key, 1);\n } else {\n delete updated[key];\n }\n\n return updated;\n } // $FlowFixMe number or string is fine here\n\n\n updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);\n return updated;\n };\n\n var copyWithDelete = function (obj, path) {\n return copyWithDeleteImpl(obj, path, 0);\n };\n\n var copyWithRenameImpl = function (obj, oldPath, newPath, index) {\n var oldKey = oldPath[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === oldPath.length) {\n var newKey = newPath[index]; // $FlowFixMe number or string is fine here\n\n updated[newKey] = updated[oldKey];\n\n if (isArray(updated)) {\n updated.splice(oldKey, 1);\n } else {\n delete updated[oldKey];\n }\n } else {\n // $FlowFixMe number or string is fine here\n updated[oldKey] = copyWithRenameImpl( // $FlowFixMe number or string is fine here\n obj[oldKey], oldPath, newPath, index + 1);\n }\n\n return updated;\n };\n\n var copyWithRename = function (obj, oldPath, newPath) {\n if (oldPath.length !== newPath.length) {\n warn('copyWithRename() expects paths of the same length');\n\n return;\n } else {\n for (var i = 0; i < newPath.length - 1; i++) {\n if (oldPath[i] !== newPath[i]) {\n warn('copyWithRename() expects paths to be the same except for the deepest key');\n\n return;\n }\n }\n }\n\n return copyWithRenameImpl(obj, oldPath, newPath, 0);\n };\n\n var copyWithSetImpl = function (obj, path, index, value) {\n if (index >= path.length) {\n return value;\n }\n\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj); // $FlowFixMe number or string is fine here\n\n updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);\n return updated;\n };\n\n var copyWithSet = function (obj, path, value) {\n return copyWithSetImpl(obj, path, 0, value);\n };\n\n var findHook = function (fiber, id) {\n // For now, the \"id\" of stateful hooks is just the stateful hook index.\n // This may change in the future with e.g. nested hooks.\n var currentHook = fiber.memoizedState;\n\n while (currentHook !== null && id > 0) {\n currentHook = currentHook.next;\n id--;\n }\n\n return currentHook;\n }; // Support DevTools editable values for useState and useReducer.\n\n\n overrideHookState = function (fiber, id, path, value) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithSet(hook.memoizedState, path, value);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateDeletePath = function (fiber, id, path) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithDelete(hook.memoizedState, path);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateRenamePath = function (fiber, id, oldPath, newPath) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithRename(hook.memoizedState, oldPath, newPath);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n }; // Support DevTools props for function components, forwardRef, memo, host components, etc.\n\n\n overrideProps = function (fiber, path, value) {\n fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsDeletePath = function (fiber, path) {\n fiber.pendingProps = copyWithDelete(fiber.memoizedProps, path);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsRenamePath = function (fiber, oldPath, newPath) {\n fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n scheduleUpdate = function (fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n setErrorHandler = function (newShouldErrorImpl) {\n shouldErrorImpl = newShouldErrorImpl;\n };\n\n setSuspenseHandler = function (newShouldSuspendImpl) {\n shouldSuspendImpl = newShouldSuspendImpl;\n };\n}\n\nfunction findHostInstanceByFiber(fiber) {\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nfunction emptyFindFiberByHostInstance(instance) {\n return null;\n}\n\nfunction getCurrentFiberForDevTools() {\n return current;\n}\n\nfunction injectIntoDevTools(devToolsConfig) {\n var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;\n var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\n return injectInternals({\n bundleType: devToolsConfig.bundleType,\n version: devToolsConfig.version,\n rendererPackageName: devToolsConfig.rendererPackageName,\n rendererConfig: devToolsConfig.rendererConfig,\n overrideHookState: overrideHookState,\n overrideHookStateDeletePath: overrideHookStateDeletePath,\n overrideHookStateRenamePath: overrideHookStateRenamePath,\n overrideProps: overrideProps,\n overridePropsDeletePath: overridePropsDeletePath,\n overridePropsRenamePath: overridePropsRenamePath,\n setErrorHandler: setErrorHandler,\n setSuspenseHandler: setSuspenseHandler,\n scheduleUpdate: scheduleUpdate,\n currentDispatcherRef: ReactCurrentDispatcher,\n findHostInstanceByFiber: findHostInstanceByFiber,\n findFiberByHostInstance: findFiberByHostInstance || emptyFindFiberByHostInstance,\n // React Refresh\n findHostInstancesForRefresh: findHostInstancesForRefresh ,\n scheduleRefresh: scheduleRefresh ,\n scheduleRoot: scheduleRoot ,\n setRefreshHandler: setRefreshHandler ,\n // Enables DevTools to append owner stacks to error messages in DEV mode.\n getCurrentFiber: getCurrentFiberForDevTools ,\n // Enables DevTools to detect reconciler version rather than renderer version\n // which may not match for third party renderers.\n reconcilerVersion: ReactVersion\n });\n}\n\n/* global reportError */\n\nvar defaultOnRecoverableError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n};\n\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function (children) {\n var root = this._internalRoot;\n\n if (root === null) {\n throw new Error('Cannot update an unmounted root.');\n }\n\n {\n if (typeof arguments[1] === 'function') {\n error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n } else if (isValidContainer(arguments[1])) {\n error('You passed a container to the second argument of root.render(...). ' + \"You don't need to pass it again since you already passed it to create the root.\");\n } else if (typeof arguments[1] !== 'undefined') {\n error('You passed a second argument to root.render(...) but it only accepts ' + 'one argument.');\n }\n\n var container = root.containerInfo;\n\n if (container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(root.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + \"root.unmount() to empty a root's container.\");\n }\n }\n }\n }\n\n updateContainer(children, root, null, null);\n};\n\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function () {\n {\n if (typeof arguments[0] === 'function') {\n error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n }\n }\n\n var root = this._internalRoot;\n\n if (root !== null) {\n this._internalRoot = null;\n var container = root.containerInfo;\n\n {\n if (isAlreadyRendering()) {\n error('Attempted to synchronously unmount a root while React was already ' + 'rendering. React cannot finish unmounting the root until the ' + 'current render has completed, which may lead to a race condition.');\n }\n }\n\n flushSync(function () {\n updateContainer(null, root, null, null);\n });\n unmarkContainerAsRoot(container);\n }\n};\n\nfunction createRoot(container, options) {\n if (!isValidContainer(container)) {\n throw new Error('createRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n var transitionCallbacks = null;\n\n if (options !== null && options !== undefined) {\n {\n if (options.hydrate) {\n warn('hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead.');\n } else {\n if (typeof options === 'object' && options !== null && options.$$typeof === REACT_ELEMENT_TYPE) {\n error('You passed a JSX element to createRoot. You probably meant to ' + 'call root.render instead. ' + 'Example usage:\\n\\n' + ' let root = createRoot(domContainer);\\n' + ' root.render(<App />);');\n }\n }\n }\n\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n\n if (options.transitionCallbacks !== undefined) {\n transitionCallbacks = options.transitionCallbacks;\n }\n }\n\n var root = createContainer(container, ConcurrentRoot, null, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n return new ReactDOMRoot(root);\n}\n\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nfunction scheduleHydration(target) {\n if (target) {\n queueExplicitHydrationTarget(target);\n }\n}\n\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = scheduleHydration;\nfunction hydrateRoot(container, initialChildren, options) {\n if (!isValidContainer(container)) {\n throw new Error('hydrateRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n\n {\n if (initialChildren === undefined) {\n error('Must provide initial children as second argument to hydrateRoot. ' + 'Example usage: hydrateRoot(domContainer, <App />)');\n }\n } // For now we reuse the whole bag of options since they contain\n // the hydration callbacks.\n\n\n var hydrationCallbacks = options != null ? options : null; // TODO: Delete this option\n\n var mutableSources = options != null && options.hydratedSources || null;\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n\n if (options !== null && options !== undefined) {\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n }\n\n var root = createHydrationContainer(initialChildren, null, container, ConcurrentRoot, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container); // This can't be a comment node since hydration doesn't work on comment nodes anyway.\n\n listenToAllSupportedEvents(container);\n\n if (mutableSources) {\n for (var i = 0; i < mutableSources.length; i++) {\n var mutableSource = mutableSources[i];\n registerMutableSourceForHydration(root, mutableSource);\n }\n }\n\n return new ReactDOMHydrationRoot(root);\n}\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || !disableCommentsAsDOMContainers ));\n} // TODO: Remove this function which also includes comment nodes.\n// We only use it in places that are currently more relaxed.\n\nfunction isValidContainerLegacy(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));\n}\n\nfunction warnIfReactDOMContainerInDEV(container) {\n {\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('createRoot(): Creating roots directly with document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try using a container element created ' + 'for your app.');\n }\n\n if (isContainerMarkedAsRoot(container)) {\n if (container._reactRootContainer) {\n error('You are calling ReactDOMClient.createRoot() on a container that was previously ' + 'passed to ReactDOM.render(). This is not supported.');\n } else {\n error('You are calling ReactDOMClient.createRoot() on a container that ' + 'has already been passed to createRoot() before. Instead, call ' + 'root.render() on the existing root instead if you want to update it.');\n }\n }\n }\n}\n\nvar ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;\nvar topLevelUpdateWarnings;\n\n{\n topLevelUpdateWarnings = function (container) {\n if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');\n }\n }\n }\n\n var isRootRenderedBySomeReact = !!container._reactRootContainer;\n var rootEl = getReactRootElementInContainer(container);\n var hasNonRootReactChild = !!(rootEl && getInstanceFromNode(rootEl));\n\n if (hasNonRootReactChild && !isRootRenderedBySomeReact) {\n error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');\n }\n\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.');\n }\n };\n}\n\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOCUMENT_NODE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction noopOnRecoverableError() {// This isn't reachable because onRecoverableError isn't called in the\n // legacy API.\n}\n\nfunction legacyCreateRootFromDOMContainer(container, initialChildren, parentComponent, callback, isHydrationContainer) {\n if (isHydrationContainer) {\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n }\n\n var root = createHydrationContainer(initialChildren, callback, container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n container._reactRootContainer = root;\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n flushSync();\n return root;\n } else {\n // First clear any existing content.\n var rootSibling;\n\n while (rootSibling = container.lastChild) {\n container.removeChild(rootSibling);\n }\n\n if (typeof callback === 'function') {\n var _originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(_root);\n\n _originalCallback.call(instance);\n };\n }\n\n var _root = createContainer(container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n\n container._reactRootContainer = _root;\n markContainerAsRoot(_root.current, container);\n\n var _rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n\n listenToAllSupportedEvents(_rootContainerElement); // Initial mount should not be batched.\n\n flushSync(function () {\n updateContainer(initialChildren, _root, parentComponent, callback);\n });\n return _root;\n }\n}\n\nfunction warnOnInvalidCallback$1(callback, callerName) {\n {\n if (callback !== null && typeof callback !== 'function') {\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n }\n}\n\nfunction legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {\n {\n topLevelUpdateWarnings(container);\n warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render');\n }\n\n var maybeRoot = container._reactRootContainer;\n var root;\n\n if (!maybeRoot) {\n // Initial mount\n root = legacyCreateRootFromDOMContainer(container, children, parentComponent, callback, forceHydrate);\n } else {\n root = maybeRoot;\n\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n } // Update\n\n\n updateContainer(children, root, parentComponent, callback);\n }\n\n return getPublicRootInstance(root);\n}\n\nfunction findDOMNode(componentOrElement) {\n {\n var owner = ReactCurrentOwner$3.current;\n\n if (owner !== null && owner.stateNode !== null) {\n var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;\n\n if (!warnedAboutRefsInRender) {\n error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromType(owner.type) || 'A component');\n }\n\n owner.stateNode._warnedAboutRefsInRender = true;\n }\n }\n\n if (componentOrElement == null) {\n return null;\n }\n\n if (componentOrElement.nodeType === ELEMENT_NODE) {\n return componentOrElement;\n }\n\n {\n return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');\n }\n}\nfunction hydrate(element, container, callback) {\n {\n error('ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call hydrateRoot(container, element)?');\n }\n } // TODO: throw or warn if we couldn't hydrate?\n\n\n return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);\n}\nfunction render(element, container, callback) {\n {\n error('ReactDOM.render is no longer supported in React 18. Use createRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');\n }\n }\n\n return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);\n}\nfunction unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n {\n error('ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported ' + 'in React 18. Consider using a portal instead. Until you switch to ' + \"the createRoot API, your app will behave as if it's running React \" + '17. Learn more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(containerNode)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n if (parentComponent == null || !has(parentComponent)) {\n throw new Error('parentComponent must be a valid React Component');\n }\n\n return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);\n}\nfunction unmountComponentAtNode(container) {\n if (!isValidContainerLegacy(container)) {\n throw new Error('unmountComponentAtNode(...): Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?');\n }\n }\n\n if (container._reactRootContainer) {\n {\n var rootEl = getReactRootElementInContainer(container);\n var renderedByDifferentReact = rootEl && !getInstanceFromNode(rootEl);\n\n if (renderedByDifferentReact) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by another copy of React.');\n }\n } // Unmount should not be batched.\n\n\n flushSync(function () {\n legacyRenderSubtreeIntoContainer(null, null, container, false, function () {\n // $FlowFixMe This should probably use `delete container._reactRootContainer`\n container._reactRootContainer = null;\n unmarkContainerAsRoot(container);\n });\n }); // If you call unmountComponentAtNode twice in quick succession, you'll\n // get `true` twice. That's probably fine?\n\n return true;\n } else {\n {\n var _rootEl = getReactRootElementInContainer(container);\n\n var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode(_rootEl)); // Check if the container itself is a React root node.\n\n var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainerLegacy(container.parentNode) && !!container.parentNode._reactRootContainer;\n\n if (hasNonRootReactChild) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');\n }\n }\n\n return false;\n }\n}\n\nsetAttemptSynchronousHydration(attemptSynchronousHydration$1);\nsetAttemptContinuousHydration(attemptContinuousHydration$1);\nsetAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1);\nsetGetCurrentUpdatePriority(getCurrentUpdatePriority);\nsetAttemptHydrationAtPriority(runWithPriority);\n\n{\n if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype\n Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype\n Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {\n error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n}\n\nsetRestoreImplementation(restoreControlledState$3);\nsetBatchingImplementation(batchedUpdates$1, discreteUpdates, flushSync);\n\nfunction createPortal$1(children, container) {\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!isValidContainer(container)) {\n throw new Error('Target container is not a DOM element.');\n } // TODO: pass ReactDOM portal implementation as third argument\n // $FlowFixMe The Flow type is opaque but there's no way to actually create it.\n\n\n return createPortal(children, container, null, key);\n}\n\nfunction renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);\n}\n\nvar Internals = {\n usingClientEntryPoint: false,\n // Keep in sync with ReactTestUtils.js.\n // This is an array for better minification.\n Events: [getInstanceFromNode, getNodeFromInstance, getFiberCurrentPropsFromNode, enqueueStateRestore, restoreStateIfNeeded, batchedUpdates$1]\n};\n\nfunction createRoot$1(container, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing createRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return createRoot(container, options);\n}\n\nfunction hydrateRoot$1(container, initialChildren, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing hydrateRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return hydrateRoot(container, initialChildren, options);\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync$1(fn) {\n {\n if (isAlreadyRendering()) {\n error('flushSync was called from inside a lifecycle method. React cannot ' + 'flush when React is already rendering. Consider moving this call to ' + 'a scheduler task or micro task.');\n }\n }\n\n return flushSync(fn);\n}\nvar foundDevTools = injectIntoDevTools({\n findFiberByHostInstance: getClosestInstanceFromNode,\n bundleType: 1 ,\n version: ReactVersion,\n rendererPackageName: 'react-dom'\n});\n\n{\n if (!foundDevTools && canUseDOM && window.top === window.self) {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.\n\n if (/^(https?|file):$/.test(protocol)) {\n // eslint-disable-next-line react-internal/no-production-logging\n console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://reactjs.org/link/react-devtools' + (protocol === 'file:' ? '\\nYou might need to use a local HTTP server (instead of file://): ' + 'https://reactjs.org/link/react-devtools-faq' : ''), 'font-weight:bold');\n }\n }\n }\n}\n\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;\nexports.createPortal = createPortal$1;\nexports.createRoot = createRoot$1;\nexports.findDOMNode = findDOMNode;\nexports.flushSync = flushSync$1;\nexports.hydrate = hydrate;\nexports.hydrateRoot = hydrateRoot$1;\nexports.render = render;\nexports.unmountComponentAtNode = unmountComponentAtNode;\nexports.unstable_batchedUpdates = batchedUpdates$1;\nexports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixtQkFBTyxDQUFDLDRDQUFPO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLG9EQUFXOztBQUVuQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZGQUE2RixhQUFhO0FBQzFHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDOztBQUVoQyxrQkFBa0I7O0FBRWxCLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxxREFBcUQ7QUFDckQ7O0FBRUEsaUNBQWlDOztBQUVqQywwQ0FBMEM7O0FBRTFDLGdDQUFnQzs7QUFFaEMsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdEO0FBQ2hE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QUNBO0FBQ0EsQ0FBQyxHQUFHOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRztBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRzs7QUFFSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZOzs7QUFHWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBLDhEQUE4RDtBQUM5RCxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsR0FBRztBQUNkOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsa0VBQWtFO0FBQ2xFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxvQkFBb0Isa0JBQWtCO0FBQ3RDOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSwrQkFBK0I7QUFDL0I7OztBQUdBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7OztBQUdBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsUUFBUTtBQUNSO0FBQ0E7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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7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Q0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUlBQWlJLDhCQUE4QjtBQUMvSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1GQUFtRjtBQUNuRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRLDBDQUEwQzs7O0FBR2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdHQUFnRztBQUNoRzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDBDQUEwQzs7O0FBR2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxN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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEOztBQUV2RCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTixJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEseUNBQXlDOztBQUV6QztBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLG9CQUFvQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFEQUFxRDtBQUNyRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixnQkFBZ0I7QUFDbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUVBQXFFO0FBQ3JFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7O0FBRTlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUEsdUNBQXVDOztBQUV2QywrQkFBK0I7QUFDL0I7O0FBRUE7QUFDQTtBQUNBLHdCQUF3Qjs7QUFFeEI7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBLDBFQUEwRTtBQUMxRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLDJDQUEyQztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTs7QUFFQSxvQkFBb0IsaUNBQWlDO0FBQ3JEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUJBQW1CLDRDQUE0QztBQUMvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0RUFBNEU7O0FBRTVFLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQSw4QkFBOEI7QUFDOUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxrREFBa0Q7QUFDbEQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0EsZ0ZBQWdGO0FBQ2hGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFNBQVM7QUFDckI7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhHQUE4RztBQUM5RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osa0JBQWtCLGtCQUFrQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsd0JBQXdCO0FBQ25DLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHdCQUF3QjtBQUNuQyxZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkMsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixZQUFZO0FBQ1o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksWUFBWTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkMsV0FBVyxRQUFRO0FBQ25COztBQUVBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsK0VBQStFO0FBQy9FOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLG9DQUFvQztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVB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O0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsT0FBTztBQUNqQztBQUNBOztBQUVBOztBQUVBLDBCQUEwQixPQUFPO0FBQ2pDO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNB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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTSwyRUFBMkUsb0dBQW9HLGtDQUFrQztBQUN2TjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNLG9HQUFvRztBQUMxRztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUVBQW1FOztBQUVuRSwrRkFBK0Y7QUFDL0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLDRCQUE0QjtBQUNsRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsd0JBQXdCO0FBQzdDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyREFBMkQ7QUFDM0Q7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0EsY0FBYzs7O0FBR2Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBEO0FBQzFEO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsMnZCQUEydkI7O0FBRTN2QjtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7O0FBRXJDLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBLEVBQUUsbUJBQW1COztBQUVyQjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlFQUF5RTtBQUN6RTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksY0FBYztBQUNsQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksZ0JBQWdCO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTLGNBQWM7QUFDdkI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RDtBQUN2RDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLCtDQUErQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsK0NBQStDO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSwrQ0FBK0M7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7OztBQUdBLDBFQUEwRTtBQUMxRTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJIQUEySDtBQUMzSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG9FQUFvRTs7QUFFcEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0YsMkRBQTJEOztBQUUzRCxxREFBcUQ7QUFDckQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQjtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTs7QUFFQSwySEFBMkg7QUFDM0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRTtBQUMxRTs7QUFFQTtBQUNBLCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZCQUE2QjtBQUM3Qjs7QUFFQTs7QUFFQSxhQUFhLGtCQUFrQjtBQUMvQjs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDLGdCQUFnQjs7QUFFaEI7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDs7QUFFNUQsMkRBQTJEOztBQUUzRCwrREFBK0Q7O0FBRS9EO0FBQ0EsOERBQThEO0FBQzlEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4Qjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUEsa0NBQWtDOztBQUVsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3Q0FBd0M7O0FBRXhDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0Esc0pBQXNKOztBQUV0SixxQ0FBcUM7QUFDckM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFBOEQ7QUFDOUQscURBQXFEO0FBQ3JELDJEQUEyRDtBQUMzRCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLCtDQUErQzs7QUFFL0M7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRCQUE0Qjs7QUFFNUI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0ZBQXNGOztBQUV0Riw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2QkFBNkI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTtBQUNBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKLGlHQUFpRztBQUNqRyxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhJQUE4STs7QUFFOUk7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFVBQVU7QUFDVixrRUFBa0UsNENBQTRDO0FBQzlHOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QyxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQSxzREFBc0Q7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtSUFBbUk7QUFDbkk7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1JQUFtSTtBQUNuSTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7OztBQUdSOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEhBQThILHlDQUF5QztBQUN2Szs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLHdCQUF3QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVyxrREFBa0Q7QUFDN0Q7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsNkJBQTZCO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR04sd0VBQXdFOztBQUV4RSxXQUFXLDZCQUE2QjtBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBLGVBQWUsYUFBYTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxXQUFXLGlDQUFpQztBQUM1QztBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYSxZQUFZO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR04sd0VBQXdFOztBQUV4RSxXQUFXLFlBQVk7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFD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Q0E7QUFDQSxNQUFNO0FBQ04sSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BEOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2QkFBNkI7O0FBRTdCLHFDQUFxQzs7QUFFckM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ04sSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVDQUF1QztBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sMkNBQTJDO0FBQ2pEOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjs7QUFFckIsaUZBQWlGO0FBQ2pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtGQUFrRjtBQUNsRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnSUFBZ0k7QUFDaEk7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBLHlLQUF5SywwQ0FBMEM7QUFDbk47QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7OztBQUduQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDhCQUE4Qjs7QUFFOUIsZ0RBQWdEO0FBQ2hEO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNFQUFzRTtBQUN0RTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLGVBQWU7QUFDekIsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTtBQUNBLGlDQUFpQztBQUNqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLFFBQVEsSUFBSTtBQUNaO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOzs7QUFHQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQSxpSEFBaUg7QUFDakg7QUFDQTtBQUNBOztBQUVBLHlDQUF5QztBQUN6QyxNQUFNLEtBQUssRUFLTjtBQUNMLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQsOEJBQThCO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtB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QTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0M7O0FBRXBDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7OztBQUdWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ04sbUNBQW1DO0FBQ25DOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7O0FBRWpEO0FBQ0E7QUFDQSx5RUFBeUU7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1RUFBdUU7O0FBRXZFO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMkNBQTJDOztBQUUzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7OztBQUdBLGlEQUFpRDs7QUFFakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQSxzRUFBc0U7O0FBRXRFLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTix5Q0FBeUM7O0FBRXpDO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7O0FBRXREOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBLElBQUk7QUFDSiwrR0FBK0c7QUFDL0c7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSixnR0FBZ0c7QUFDaEc7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLElBQUk7OztBQUdKLDBFQUEwRTs7QUFFMUU7QUFDQTtBQUNBLDRGQUE0RjtBQUM1Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVHQUF1RztBQUN2Rzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDs7QUFFNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQzs7QUFFMUMsNENBQTRDOztBQUU1QztBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsZ0dBQWdHO0FBQ2hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEseU5BQXlOLEdBQUc7O0FBRTVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHFCQUFxQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsWUFBWTtBQUMvQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNENBQTRDOztBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTs7O0FBR1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdEOztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0Esd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7O0FBRW5EO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQSwwQ0FBMEM7O0FBRTFDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdIQUFnSDtBQUNoSDtBQUNBOztBQUVBLGdEQUFnRDtBQUNoRDs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLGdIQUFnSDtBQUNoSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7OztBQUdBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEOztBQUU3RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLG9DQUFvQztBQUM1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOzs7QUFHQTtBQUNBLCtDQUErQztBQUMvQztBQUNBOztBQUVBLHNIQUFzSDs7QUFFdEgsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrR0FBa0c7QUFDbEc7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxrR0FBa0c7QUFDbEc7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0RBQW9EO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDOztBQUUzQztBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsY0FBYzs7O0FBR2Q7QUFDQTtBQUNBOztBQUVBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FB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Q0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSx3RUFBd0U7O0FBRXhFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEJBQTRCOztBQUU1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7OztBQUdWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZCxrT0FBa08scUNBQXFDLHdGQUF3RiwyQkFBMkIscUJBQXFCLFFBQVEsYUFBYTtBQUNwYSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FO0FBQ25FOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0EsdURBQXVEO0FBQ3ZEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7OztBQUdBLGlFQUFpRTtBQUNqRTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRJQUE0STtBQUNwSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FB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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7QUFDQTs7QUFFQTtBQUNBLDRDQUE0Qzs7QUFFNUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1RUFBdUU7O0FBRXZFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0QkFBNEI7O0FBRTVCOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRCQUE0QjtBQUM1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRGQUE0Rjs7QUFFNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUIsa0NBQWtDOztBQUVsQywrQkFBK0I7O0FBRS9CLDJCQUEyQjs7QUFFM0IsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0RBQXNEOztBQUV0RCxtREFBbUQ7O0FBRW5ELHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7O0FBRUEsK0NBQStDO0FBQy9DOztBQUVBLDhDQUE4Qzs7QUFFOUMseURBQXlEOztBQUV6RCw2Q0FBNkM7O0FBRTdDLCtDQUErQztBQUMvQzs7QUFFQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEM7O0FBRUEsbURBQW1EO0FBQ25EOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0YsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDtBQUNoRDs7QUFFQSxnREFBZ0Q7O0FBRWhEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osK0RBQStEOztBQUUvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2RUFBNkU7QUFDN0U7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0VBQWtFO0FBQ2xFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGOztBQUU1RjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0VBQW9FOzs7QUFHcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQixtQkFBbUI7QUFDN0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxvRkFBb0Y7QUFDcEY7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscUVBQXFFOztBQUVyRTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLDRCQUE0QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjs7QUFFMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNENBQTRDO0FBQ3BEOzs7QUFHQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBOztBQUVBLGtEQUFrRDs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1IQUFtSDs7QUFFbkg7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLEdBQUc7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSw4TEFBOEwsb0RBQW9ELEVBQUU7QUFDcFAsUUFBUTtBQUNSO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1PQUFtTyxvREFBb0QsRUFBRTtBQUN6UjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQyxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9COztBQUVwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osZ0RBQWdEOztBQUVoRCx3Q0FBd0M7QUFDeEM7O0FBRUEsb0NBQW9DOztBQUVwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7O0FBRXRELHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5Qzs7QUFFekM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixpQkFBaUI7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0xBQXdMOztBQUV4TCw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsMEVBQTBFO0FBQzFFO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsR0FBRztBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEOztBQUV4RDtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQSxtQ0FBbUM7O0FBRW5DOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTixzQkFBc0Isd0JBQXdCO0FBQzlDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RCxRQUFROztBQUVoRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxnTEFBZ0wsOEJBQThCO0FBQzlNO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0EsNkRBQTZEOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQ7O0FBRUE7QUFDQSxvQkFBb0IsMkJBQTJCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUEsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQSw4RUFBOEU7O0FBRTlFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDBEQUEwRDtBQUMxRCxvQkFBb0I7QUFDcEIsa0JBQWtCO0FBQ2xCLG1CQUFtQjtBQUNuQixpQkFBaUI7QUFDakIsZUFBZTtBQUNmLG1CQUFtQjtBQUNuQixjQUFjO0FBQ2QsOEJBQThCO0FBQzlCLCtCQUErQjtBQUMvQiwyQ0FBMkM7QUFDM0MsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanM/YWM4OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1kb20uZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIFNjaGVkdWxlciA9IHJlcXVpcmUoJ3NjaGVkdWxlcicpO1xuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxudmFyIHN1cHByZXNzV2FybmluZyA9IGZhbHNlO1xuZnVuY3Rpb24gc2V0U3VwcHJlc3NXYXJuaW5nKG5ld1N1cHByZXNzV2FybmluZykge1xuICB7XG4gICAgc3VwcHJlc3NXYXJuaW5nID0gbmV3U3VwcHJlc3NXYXJuaW5nO1xuICB9XG59IC8vIEluIERFViwgY2FsbHMgdG8gY29uc29sZS53YXJuIGFuZCBjb25zb2xlLmVycm9yIGdldCByZXBsYWNlZFxuLy8gYnkgY2FsbHMgdG8gdGhlc2UgbWV0aG9kcyBieSBhIEJhYmVsIHBsdWdpbi5cbi8vXG4vLyBJbiBQUk9EIChvciBpbiBwYWNrYWdlcyB3aXRob3V0IGFjY2VzcyB0byBSZWFjdCBpbnRlcm5hbHMpLFxuLy8gdGhleSBhcmUgbGVmdCBhcyB0aGV5IGFyZSBpbnN0ZWFkLlxuXG5mdW5jdGlvbiB3YXJuKGZvcm1hdCkge1xuICB7XG4gICAgaWYgKCFzdXBwcmVzc1dhcm5pbmcpIHtcbiAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnd2FybicsIGZvcm1hdCwgYXJncyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIGlmICghc3VwcHJlc3NXYXJuaW5nKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG52YXIgRnVuY3Rpb25Db21wb25lbnQgPSAwO1xudmFyIENsYXNzQ29tcG9uZW50ID0gMTtcbnZhciBJbmRldGVybWluYXRlQ29tcG9uZW50ID0gMjsgLy8gQmVmb3JlIHdlIGtub3cgd2hldGhlciBpdCBpcyBmdW5jdGlvbiBvciBjbGFzc1xuXG52YXIgSG9zdFJvb3QgPSAzOyAvLyBSb290IG9mIGEgaG9zdCB0cmVlLiBDb3VsZCBiZSBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgbm9kZS5cblxudmFyIEhvc3RQb3J0YWwgPSA0OyAvLyBBIHN1YnRyZWUuIENvdWxkIGJlIGFuIGVudHJ5IHBvaW50IHRvIGEgZGlmZmVyZW50IHJlbmRlcmVyLlxuXG52YXIgSG9zdENvbXBvbmVudCA9IDU7XG52YXIgSG9zdFRleHQgPSA2O1xudmFyIEZyYWdtZW50ID0gNztcbnZhciBNb2RlID0gODtcbnZhciBDb250ZXh0Q29uc3VtZXIgPSA5O1xudmFyIENvbnRleHRQcm92aWRlciA9IDEwO1xudmFyIEZvcndhcmRSZWYgPSAxMTtcbnZhciBQcm9maWxlciA9IDEyO1xudmFyIFN1c3BlbnNlQ29tcG9uZW50ID0gMTM7XG52YXIgTWVtb0NvbXBvbmVudCA9IDE0O1xudmFyIFNpbXBsZU1lbW9Db21wb25lbnQgPSAxNTtcbnZhciBMYXp5Q29tcG9uZW50ID0gMTY7XG52YXIgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50ID0gMTc7XG52YXIgRGVoeWRyYXRlZEZyYWdtZW50ID0gMTg7XG52YXIgU3VzcGVuc2VMaXN0Q29tcG9uZW50ID0gMTk7XG52YXIgU2NvcGVDb21wb25lbnQgPSAyMTtcbnZhciBPZmZzY3JlZW5Db21wb25lbnQgPSAyMjtcbnZhciBMZWdhY3lIaWRkZW5Db21wb25lbnQgPSAyMztcbnZhciBDYWNoZUNvbXBvbmVudCA9IDI0O1xudmFyIFRyYWNpbmdNYXJrZXJDb21wb25lbnQgPSAyNTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudmFyIGVuYWJsZUNsaWVudFJlbmRlckZhbGxiYWNrT25UZXh0TWlzbWF0Y2ggPSB0cnVlOyAvLyBUT0RPOiBOZWVkIHRvIHJldmlldyB0aGlzIGNvZGUgb25lIG1vcmUgdGltZSBiZWZvcmUgbGFuZGluZ1xuLy8gdGhlIHJlYWN0LXJlY29uY2lsZXIgcGFja2FnZS5cblxudmFyIGVuYWJsZU5ld1JlY29uY2lsZXIgPSBmYWxzZTsgLy8gU3VwcG9ydCBsZWdhY3kgUHJpbWVyIHN1cHBvcnQgb24gaW50ZXJuYWwgRkIgd3d3XG5cbnZhciBlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uID0gZmFsc2U7IC8vIEZCLW9ubHkgdXNhZ2UuIFRoZSBuZXcgQVBJIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzLlxuXG52YXIgZW5hYmxlTGVnYWN5SGlkZGVuID0gZmFsc2U7IC8vIEVuYWJsZXMgdW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgZmVhdHVyZSBpbiBGaWJlclxuXG52YXIgZW5hYmxlU3VzcGVuc2VBdm9pZFRoaXNGYWxsYmFjayA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRml6elxuLy8gUmVhY3QgRE9NIENob3BwaW5nIEJsb2NrXG4vL1xuLy8gU2ltaWxhciB0byBtYWluIENob3BwaW5nIEJsb2NrIGJ1dCBvbmx5IGZsYWdzIHJlbGF0ZWQgdG8gUmVhY3QgRE9NLiBUaGVzZSBhcmVcbi8vIGdyb3VwZWQgYmVjYXVzZSB3ZSB3aWxsIGxpa2VseSBiYXRjaCBhbGwgb2YgdGhlbSBpbnRvIGEgc2luZ2xlIG1ham9yIHJlbGVhc2UuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGlzYWJsZSBzdXBwb3J0IGZvciBjb21tZW50IG5vZGVzIGFzIFJlYWN0IERPTSBjb250YWluZXJzLiBBbHJlYWR5IGRpc2FibGVkXG4vLyBpbiBvcGVuIHNvdXJjZSwgYnV0IHd3dyBjb2RlYmFzZSBzdGlsbCByZWxpZXMgb24gaXQuIE5lZWQgdG8gcmVtb3ZlLlxuXG52YXIgZGlzYWJsZUNvbW1lbnRzQXNET01Db250YWluZXJzID0gdHJ1ZTsgLy8gRGlzYWJsZSBqYXZhc2NyaXB0OiBVUkwgc3RyaW5ncyBpbiBocmVmIGZvciBYU1MgcHJvdGVjdGlvbi5cbi8vIGFuZCBjbGllbnQgcmVuZGVyaW5nLCBtb3N0bHkgdG8gYWxsb3cgSlNYIGF0dHJpYnV0ZXMgdG8gYXBwbHkgdG8gdGhlIGN1c3RvbVxuLy8gZWxlbWVudCdzIG9iamVjdCBwcm9wZXJ0aWVzIGluc3RlYWQgb2Ygb25seSBIVE1MIGF0dHJpYnV0ZXMuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzExMzQ3XG5cbnZhciBlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0ID0gZmFsc2U7IC8vIERpc2FibGVzIGNoaWxkcmVuIGZvciA8dGV4dGFyZWE+IGVsZW1lbnRzXG52YXIgd2FybkFib3V0U3RyaW5nUmVmcyA9IGZhbHNlOyAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVidWdnaW5nIGFuZCBEZXZUb29sc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFkZHMgdXNlciB0aW1pbmcgbWFya3MgZm9yIGUuZy4gc3RhdGUgdXBkYXRlcywgc3VzcGVuc2UsIGFuZCB3b3JrIGxvb3Agc3R1ZmYsXG4vLyBmb3IgYW4gZXhwZXJpbWVudGFsIHRpbWVsaW5lIHRvb2wuXG5cbnZhciBlbmFibGVTY2hlZHVsaW5nUHJvZmlsZXIgPSB0cnVlOyAvLyBIZWxwcyBpZGVudGlmeSBzaWRlIGVmZmVjdHMgaW4gcmVuZGVyLXBoYXNlIGxpZmVjeWNsZSBob29rcyBhbmQgc2V0U3RhdGVcblxudmFyIGVuYWJsZVByb2ZpbGVyVGltZXIgPSB0cnVlOyAvLyBSZWNvcmQgZHVyYXRpb25zIGZvciBjb21taXQgYW5kIHBhc3NpdmUgZWZmZWN0cyBwaGFzZXMuXG5cbnZhciBlbmFibGVQcm9maWxlckNvbW1pdEhvb2tzID0gdHJ1ZTsgLy8gUGhhc2UgcGFyYW0gcGFzc2VkIHRvIG9uUmVuZGVyIGNhbGxiYWNrIGRpZmZlcmVudGlhdGVzIGJldHdlZW4gYW4gXCJ1cGRhdGVcIiBhbmQgYSBcImNhc2NhZGluZy11cGRhdGVcIi5cblxudmFyIGFsbE5hdGl2ZUV2ZW50cyA9IG5ldyBTZXQoKTtcbi8qKlxuICogTWFwcGluZyBmcm9tIHJlZ2lzdHJhdGlvbiBuYW1lIHRvIGV2ZW50IG5hbWVcbiAqL1xuXG5cbnZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0ge307XG4vKipcbiAqIE1hcHBpbmcgZnJvbSBsb3dlcmNhc2UgcmVnaXN0cmF0aW9uIG5hbWVzIHRvIHRoZSBwcm9wZXJseSBjYXNlZCB2ZXJzaW9uLFxuICogdXNlZCB0byB3YXJuIGluIHRoZSBjYXNlIG9mIG1pc3NpbmcgZXZlbnQgaGFuZGxlcnMuIEF2YWlsYWJsZVxuICogb25seSBpbiB0cnVlLlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuXG52YXIgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyA9ICB7fSA7IC8vIFRydXN0IHRoZSBkZXZlbG9wZXIgdG8gb25seSB1c2UgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyBpbiB0cnVlXG5cbmZ1bmN0aW9uIHJlZ2lzdGVyVHdvUGhhc2VFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpIHtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUgKyAnQ2FwdHVyZScsIGRlcGVuZGVuY2llcyk7XG59XG5mdW5jdGlvbiByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUsIGRlcGVuZGVuY2llcykge1xuICB7XG4gICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0pIHtcbiAgICAgIGVycm9yKCdFdmVudFJlZ2lzdHJ5OiBNb3JlIHRoYW4gb25lIHBsdWdpbiBhdHRlbXB0ZWQgdG8gcHVibGlzaCB0aGUgc2FtZSAnICsgJ3JlZ2lzdHJhdGlvbiBuYW1lLCBgJXNgLicsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0gPSBkZXBlbmRlbmNpZXM7XG5cbiAge1xuICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IHJlZ2lzdHJhdGlvbk5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzW2xvd2VyQ2FzZWROYW1lXSA9IHJlZ2lzdHJhdGlvbk5hbWU7XG5cbiAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSA9PT0gJ29uRG91YmxlQ2xpY2snKSB7XG4gICAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzLm9uZGJsY2xpY2sgPSByZWdpc3RyYXRpb25OYW1lO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZGVwZW5kZW5jaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgYWxsTmF0aXZlRXZlbnRzLmFkZChkZXBlbmRlbmNpZXNbaV0pO1xuICB9XG59XG5cbnZhciBjYW5Vc2VET00gPSAhISh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgIT09ICd1bmRlZmluZWQnKTtcblxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBgJXNgIGF0dHJpYnV0ZSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCBhdHRyaWJ1dGVOYW1lLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gY2hlY2tQcm9wU3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BOYW1lKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGAlc2AgcHJvcCBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCBwcm9wTmFtZSwgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjaGVja0NTU1Byb3BlcnR5U3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BOYW1lKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGAlc2AgQ1NTIHByb3BlcnR5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHByb3BOYW1lLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrSHRtbFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIEhUTUwgbWFya3VwIHVzZXMgYSB2YWx1ZSBvZiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ0Zvcm0gZmllbGQgdmFsdWVzICh2YWx1ZSwgY2hlY2tlZCwgZGVmYXVsdFZhbHVlLCBvciBkZWZhdWx0Q2hlY2tlZCBwcm9wcyknICsgJyBtdXN0IGJlIHN0cmluZ3MsIG5vdCAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbi8vIEEgcmVzZXJ2ZWQgYXR0cmlidXRlLlxuLy8gSXQgaXMgaGFuZGxlZCBieSBSZWFjdCBzZXBhcmF0ZWx5IGFuZCBzaG91bGRuJ3QgYmUgd3JpdHRlbiB0byB0aGUgRE9NLlxudmFyIFJFU0VSVkVEID0gMDsgLy8gQSBzaW1wbGUgc3RyaW5nIGF0dHJpYnV0ZS5cbi8vIEF0dHJpYnV0ZXMgdGhhdCBhcmVuJ3QgaW4gdGhlIGZpbHRlciBhcmUgcHJlc3VtZWQgdG8gaGF2ZSB0aGlzIHR5cGUuXG5cbnZhciBTVFJJTkcgPSAxOyAvLyBBIHN0cmluZyBhdHRyaWJ1dGUgdGhhdCBhY2NlcHRzIGJvb2xlYW5zIGluIFJlYWN0LiBJbiBIVE1MLCB0aGVzZSBhcmUgY2FsbGVkXG4vLyBcImVudW1lcmF0ZWRcIiBhdHRyaWJ1dGVzIHdpdGggXCJ0cnVlXCIgYW5kIFwiZmFsc2VcIiBhcyBwb3NzaWJsZSB2YWx1ZXMuXG4vLyBXaGVuIHRydWUsIGl0IHNob3VsZCBiZSBzZXQgdG8gYSBcInRydWVcIiBzdHJpbmcuXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgc2V0IHRvIGEgXCJmYWxzZVwiIHN0cmluZy5cblxudmFyIEJPT0xFQU5JU0hfU1RSSU5HID0gMjsgLy8gQSByZWFsIGJvb2xlYW4gYXR0cmlidXRlLlxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgcHJlc2VudCAoc2V0IGVpdGhlciB0byBhbiBlbXB0eSBzdHJpbmcgb3IgaXRzIG5hbWUpLlxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXG5cbnZhciBCT09MRUFOID0gMzsgLy8gQW4gYXR0cmlidXRlIHRoYXQgY2FuIGJlIHVzZWQgYXMgYSBmbGFnIGFzIHdlbGwgYXMgd2l0aCBhIHZhbHVlLlxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgcHJlc2VudCAoc2V0IGVpdGhlciB0byBhbiBlbXB0eSBzdHJpbmcgb3IgaXRzIG5hbWUpLlxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXG4vLyBGb3IgYW55IG90aGVyIHZhbHVlLCBzaG91bGQgYmUgcHJlc2VudCB3aXRoIHRoYXQgdmFsdWUuXG5cbnZhciBPVkVSTE9BREVEX0JPT0xFQU4gPSA0OyAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBtdXN0IGJlIG51bWVyaWMgb3IgcGFyc2UgYXMgYSBudW1lcmljLlxuLy8gV2hlbiBmYWxzeSwgaXQgc2hvdWxkIGJlIHJlbW92ZWQuXG5cbnZhciBOVU1FUklDID0gNTsgLy8gQW4gYXR0cmlidXRlIHRoYXQgbXVzdCBiZSBwb3NpdGl2ZSBudW1lcmljIG9yIHBhcnNlIGFzIGEgcG9zaXRpdmUgbnVtZXJpYy5cbi8vIFdoZW4gZmFsc3ksIGl0IHNob3VsZCBiZSByZW1vdmVkLlxuXG52YXIgUE9TSVRJVkVfTlVNRVJJQyA9IDY7XG5cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbnZhciBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSID0gXCI6QS1aX2EtelxcXFx1MDBDMC1cXFxcdTAwRDZcXFxcdTAwRDgtXFxcXHUwMEY2XFxcXHUwMEY4LVxcXFx1MDJGRlxcXFx1MDM3MC1cXFxcdTAzN0RcXFxcdTAzN0YtXFxcXHUxRkZGXFxcXHUyMDBDLVxcXFx1MjAwRFxcXFx1MjA3MC1cXFxcdTIxOEZcXFxcdTJDMDAtXFxcXHUyRkVGXFxcXHUzMDAxLVxcXFx1RDdGRlxcXFx1RjkwMC1cXFxcdUZEQ0ZcXFxcdUZERjAtXFxcXHVGRkZEXCI7XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblxudmFyIEFUVFJJQlVURV9OQU1FX0NIQVIgPSBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSICsgXCJcXFxcLS4wLTlcXFxcdTAwQjdcXFxcdTAzMDAtXFxcXHUwMzZGXFxcXHUyMDNGLVxcXFx1MjA0MFwiO1xudmFyIFZBTElEX0FUVFJJQlVURV9OQU1FX1JFR0VYID0gbmV3IFJlZ0V4cCgnXlsnICsgQVRUUklCVVRFX05BTUVfU1RBUlRfQ0hBUiArICddWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xudmFyIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbnZhciB2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGlzQXR0cmlidXRlTmFtZVNhZmUoYXR0cmlidXRlTmFtZSkge1xuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUsIGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChpbGxlZ2FsQXR0cmlidXRlTmFtZUNhY2hlLCBhdHRyaWJ1dGVOYW1lKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChWQUxJRF9BVFRSSUJVVEVfTkFNRV9SRUdFWC50ZXN0KGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgdmFsaWRhdGVkQXR0cmlidXRlTmFtZUNhY2hlW2F0dHJpYnV0ZU5hbWVdID0gdHJ1ZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGVbYXR0cmlidXRlTmFtZV0gPSB0cnVlO1xuXG4gIHtcbiAgICBlcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgbmFtZTogYCVzYCcsIGF0dHJpYnV0ZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gc2hvdWxkSWdub3JlQXR0cmlidXRlKG5hbWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgIHJldHVybiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gUkVTRVJWRUQ7XG4gIH1cblxuICBpZiAoaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAobmFtZS5sZW5ndGggPiAyICYmIChuYW1lWzBdID09PSAnbycgfHwgbmFtZVswXSA9PT0gJ08nKSAmJiAobmFtZVsxXSA9PT0gJ24nIHx8IG5hbWVbMV0gPT09ICdOJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVdpdGhXYXJuaW5nKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICBjYXNlICdmdW5jdGlvbic6IC8vICRGbG93SXNzdWUgc3ltYm9sIGlzIHBlcmZlY3RseSB2YWxpZCBoZXJlXG5cbiAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgcmV0dXJuIHRydWU7XG5cbiAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiAhcHJvcGVydHlJbmZvLmFjY2VwdHNCb29sZWFucztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgcHJlZml4ID0gbmFtZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsIDUpO1xuICAgICAgICAgIHJldHVybiBwcmVmaXggIT09ICdkYXRhLScgJiYgcHJlZml4ICE9PSAnYXJpYS0nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGVXaXRoV2FybmluZyhuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuXG4gICAgc3dpdGNoIChwcm9wZXJ0eUluZm8udHlwZSkge1xuICAgICAgY2FzZSBCT09MRUFOOlxuICAgICAgICByZXR1cm4gIXZhbHVlO1xuXG4gICAgICBjYXNlIE9WRVJMT0FERURfQk9PTEVBTjpcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBmYWxzZTtcblxuICAgICAgY2FzZSBOVU1FUklDOlxuICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpO1xuXG4gICAgICBjYXNlIFBPU0lUSVZFX05VTUVSSUM6XG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgfHwgdmFsdWUgPCAxO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGdldFByb3BlcnR5SW5mbyhuYW1lKSB7XG4gIHJldHVybiBwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KG5hbWUpID8gcHJvcGVydGllc1tuYW1lXSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCB0eXBlLCBtdXN0VXNlUHJvcGVydHksIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZU5hbWVzcGFjZSwgc2FuaXRpemVVUkwsIHJlbW92ZUVtcHR5U3RyaW5nKSB7XG4gIHRoaXMuYWNjZXB0c0Jvb2xlYW5zID0gdHlwZSA9PT0gQk9PTEVBTklTSF9TVFJJTkcgfHwgdHlwZSA9PT0gQk9PTEVBTiB8fCB0eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU47XG4gIHRoaXMuYXR0cmlidXRlTmFtZSA9IGF0dHJpYnV0ZU5hbWU7XG4gIHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlID0gYXR0cmlidXRlTmFtZXNwYWNlO1xuICB0aGlzLm11c3RVc2VQcm9wZXJ0eSA9IG11c3RVc2VQcm9wZXJ0eTtcbiAgdGhpcy5wcm9wZXJ0eU5hbWUgPSBuYW1lO1xuICB0aGlzLnR5cGUgPSB0eXBlO1xuICB0aGlzLnNhbml0aXplVVJMID0gc2FuaXRpemVVUkw7XG4gIHRoaXMucmVtb3ZlRW1wdHlTdHJpbmcgPSByZW1vdmVFbXB0eVN0cmluZztcbn0gLy8gV2hlbiBhZGRpbmcgYXR0cmlidXRlcyB0byB0aGlzIGxpc3QsIGJlIHN1cmUgdG8gYWxzbyBhZGQgdGhlbSB0b1xuLy8gdGhlIGBwb3NzaWJsZVN0YW5kYXJkTmFtZXNgIG1vZHVsZSB0byBlbnN1cmUgY2FzaW5nIGFuZCBpbmNvcnJlY3Rcbi8vIG5hbWUgd2FybmluZ3MuXG5cblxudmFyIHByb3BlcnRpZXMgPSB7fTsgLy8gVGhlc2UgcHJvcHMgYXJlIHJlc2VydmVkIGJ5IFJlYWN0LiBUaGV5IHNob3VsZG4ndCBiZSB3cml0dGVuIHRvIHRoZSBET00uXG5cbnZhciByZXNlcnZlZFByb3BzID0gWydjaGlsZHJlbicsICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsIC8vIFRPRE86IFRoaXMgcHJldmVudHMgdGhlIGFzc2lnbm1lbnQgb2YgZGVmYXVsdFZhbHVlIHRvIHJlZ3VsYXJcbi8vIGVsZW1lbnRzIChub3QganVzdCBpbnB1dHMpLiBOb3cgdGhhdCBSZWFjdERPTUlucHV0IGFzc2lnbnMgdG8gdGhlXG4vLyBkZWZhdWx0VmFsdWUgcHJvcGVydHkgLS0gZG8gd2UgbmVlZCB0aGlzP1xuJ2RlZmF1bHRWYWx1ZScsICdkZWZhdWx0Q2hlY2tlZCcsICdpbm5lckhUTUwnLCAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJywgJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsICdzdHlsZSddO1xuXG5yZXNlcnZlZFByb3BzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgUkVTRVJWRUQsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBBIGZldyBSZWFjdCBzdHJpbmcgYXR0cmlidXRlcyBoYXZlIGEgZGlmZmVyZW50IG5hbWUuXG4vLyBUaGlzIGlzIGEgbWFwcGluZyBmcm9tIFJlYWN0IHByb3AgbmFtZXMgdG8gdGhlIGF0dHJpYnV0ZSBuYW1lcy5cblxuW1snYWNjZXB0Q2hhcnNldCcsICdhY2NlcHQtY2hhcnNldCddLCBbJ2NsYXNzTmFtZScsICdjbGFzcyddLCBbJ2h0bWxGb3InLCAnZm9yJ10sIFsnaHR0cEVxdWl2JywgJ2h0dHAtZXF1aXYnXV0uZm9yRWFjaChmdW5jdGlvbiAoX3JlZikge1xuICB2YXIgbmFtZSA9IF9yZWZbMF0sXG4gICAgICBhdHRyaWJ1dGVOYW1lID0gX3JlZlsxXTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIFwiZW51bWVyYXRlZFwiIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFjY2VwdCBcInRydWVcIiBhbmQgXCJmYWxzZVwiLlxuLy8gSW4gUmVhY3QsIHdlIGxldCB1c2VycyBwYXNzIGB0cnVlYCBhbmQgYGZhbHNlYCBldmVuIHRob3VnaCB0ZWNobmljYWxseVxuLy8gdGhlc2UgYXJlbid0IGJvb2xlYW4gYXR0cmlidXRlcyAodGhleSBhcmUgY29lcmNlZCB0byBzdHJpbmdzKS5cblxuWydjb250ZW50RWRpdGFibGUnLCAnZHJhZ2dhYmxlJywgJ3NwZWxsQ2hlY2snLCAndmFsdWUnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIEJPT0xFQU5JU0hfU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgXCJlbnVtZXJhdGVkXCIgU1ZHIGF0dHJpYnV0ZXMgdGhhdCBhY2NlcHQgXCJ0cnVlXCIgYW5kIFwiZmFsc2VcIi5cbi8vIEluIFJlYWN0LCB3ZSBsZXQgdXNlcnMgcGFzcyBgdHJ1ZWAgYW5kIGBmYWxzZWAgZXZlbiB0aG91Z2ggdGVjaG5pY2FsbHlcbi8vIHRoZXNlIGFyZW4ndCBib29sZWFuIGF0dHJpYnV0ZXMgKHRoZXkgYXJlIGNvZXJjZWQgdG8gc3RyaW5ncykuXG4vLyBTaW5jZSB0aGVzZSBhcmUgU1ZHIGF0dHJpYnV0ZXMsIHRoZWlyIGF0dHJpYnV0ZSBuYW1lcyBhcmUgY2FzZS1zZW5zaXRpdmUuXG5cblsnYXV0b1JldmVyc2UnLCAnZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCcsICdmb2N1c2FibGUnLCAncHJlc2VydmVBbHBoYSddLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTklTSF9TVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgSFRNTCBib29sZWFuIGF0dHJpYnV0ZXMuXG5cblsnYWxsb3dGdWxsU2NyZWVuJywgJ2FzeW5jJywgLy8gTm90ZTogdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2UgdGhhdCBwcmV2ZW50cyBpdCBmcm9tIGJlaW5nIHdyaXR0ZW4gdG8gdGhlIERPTVxuLy8gb24gdGhlIGNsaWVudCBzaWRlIGJlY2F1c2UgdGhlIGJyb3dzZXJzIGFyZSBpbmNvbnNpc3RlbnQuIEluc3RlYWQgd2UgY2FsbCBmb2N1cygpLlxuJ2F1dG9Gb2N1cycsICdhdXRvUGxheScsICdjb250cm9scycsICdkZWZhdWx0JywgJ2RlZmVyJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVQaWN0dXJlSW5QaWN0dXJlJywgJ2Rpc2FibGVSZW1vdGVQbGF5YmFjaycsICdmb3JtTm9WYWxpZGF0ZScsICdoaWRkZW4nLCAnbG9vcCcsICdub01vZHVsZScsICdub1ZhbGlkYXRlJywgJ29wZW4nLCAncGxheXNJbmxpbmUnLCAncmVhZE9ubHknLCAncmVxdWlyZWQnLCAncmV2ZXJzZWQnLCAnc2NvcGVkJywgJ3NlYW1sZXNzJywgLy8gTWljcm9kYXRhXG4naXRlbVNjb3BlJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBCT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgdGhlIGZldyBSZWFjdCBwcm9wcyB0aGF0IHdlIHNldCBhcyBET00gcHJvcGVydGllc1xuLy8gcmF0aGVyIHRoYW4gYXR0cmlidXRlcy4gVGhlc2UgYXJlIGFsbCBib29sZWFucy5cblxuWydjaGVja2VkJywgLy8gTm90ZTogYG9wdGlvbi5zZWxlY3RlZGAgaXMgbm90IHVwZGF0ZWQgaWYgYHNlbGVjdC5tdWx0aXBsZWAgaXNcbi8vIGRpc2FibGVkIHdpdGggYHJlbW92ZUF0dHJpYnV0ZWAuIFdlIGhhdmUgc3BlY2lhbCBsb2dpYyBmb3IgaGFuZGxpbmcgdGhpcy5cbidtdWx0aXBsZScsICdtdXRlZCcsICdzZWxlY3RlZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTiwgdHJ1ZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFyZSBcIm92ZXJsb2FkZWQgYm9vbGVhbnNcIjogdGhleSBiZWhhdmUgbGlrZVxuLy8gYm9vbGVhbnMsIGJ1dCBjYW4gYWxzbyBhY2NlcHQgYSBzdHJpbmcgdmFsdWUuXG5cblsnY2FwdHVyZScsICdkb3dubG9hZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgT1ZFUkxPQURFRF9CT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgcG9zaXRpdmUgbnVtYmVycy5cblxuWydjb2xzJywgJ3Jvd3MnLCAnc2l6ZScsICdzcGFuJyAvLyBOT1RFOiBpZiB5b3UgYWRkIGEgY2FtZWxDYXNlZCBwcm9wIHRvIHRoaXMgbGlzdCxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cbl0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBQT1NJVElWRV9OVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgbnVtYmVycy5cblxuWydyb3dTcGFuJywgJ3N0YXJ0J10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBOVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pO1xudmFyIENBTUVMSVpFID0gL1tcXC1cXDpdKFthLXpdKS9nO1xuXG52YXIgY2FwaXRhbGl6ZSA9IGZ1bmN0aW9uICh0b2tlbikge1xuICByZXR1cm4gdG9rZW5bMV0udG9VcHBlckNhc2UoKTtcbn07IC8vIFRoaXMgaXMgYSBsaXN0IG9mIGFsbCBTVkcgYXR0cmlidXRlcyB0aGF0IG5lZWQgc3BlY2lhbCBjYXNpbmcsIG5hbWVzcGFjaW5nLFxuLy8gb3IgYm9vbGVhbiB2YWx1ZSBhc3NpZ25tZW50LiBSZWd1bGFyIGF0dHJpYnV0ZXMgdGhhdCBqdXN0IGFjY2VwdCBzdHJpbmdzXG4vLyBhbmQgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcmUgb21pdHRlZCwganVzdCBsaWtlIGluIHRoZSBIVE1MIGF0dHJpYnV0ZSBmaWx0ZXIuXG4vLyBTb21lIG9mIHRoZXNlIGF0dHJpYnV0ZXMgY2FuIGJlIGhhcmQgdG8gZmluZC4gVGhpcyBsaXN0IHdhcyBjcmVhdGVkIGJ5XG4vLyBzY3JhcGluZyB0aGUgTUROIGRvY3VtZW50YXRpb24uXG5cblxuWydhY2NlbnQtaGVpZ2h0JywgJ2FsaWdubWVudC1iYXNlbGluZScsICdhcmFiaWMtZm9ybScsICdiYXNlbGluZS1zaGlmdCcsICdjYXAtaGVpZ2h0JywgJ2NsaXAtcGF0aCcsICdjbGlwLXJ1bGUnLCAnY29sb3ItaW50ZXJwb2xhdGlvbicsICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnLCAnY29sb3ItcHJvZmlsZScsICdjb2xvci1yZW5kZXJpbmcnLCAnZG9taW5hbnQtYmFzZWxpbmUnLCAnZW5hYmxlLWJhY2tncm91bmQnLCAnZmlsbC1vcGFjaXR5JywgJ2ZpbGwtcnVsZScsICdmbG9vZC1jb2xvcicsICdmbG9vZC1vcGFjaXR5JywgJ2ZvbnQtZmFtaWx5JywgJ2ZvbnQtc2l6ZScsICdmb250LXNpemUtYWRqdXN0JywgJ2ZvbnQtc3RyZXRjaCcsICdmb250LXN0eWxlJywgJ2ZvbnQtdmFyaWFudCcsICdmb250LXdlaWdodCcsICdnbHlwaC1uYW1lJywgJ2dseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwnLCAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwnLCAnaG9yaXotYWR2LXgnLCAnaG9yaXotb3JpZ2luLXgnLCAnaW1hZ2UtcmVuZGVyaW5nJywgJ2xldHRlci1zcGFjaW5nJywgJ2xpZ2h0aW5nLWNvbG9yJywgJ21hcmtlci1lbmQnLCAnbWFya2VyLW1pZCcsICdtYXJrZXItc3RhcnQnLCAnb3ZlcmxpbmUtcG9zaXRpb24nLCAnb3ZlcmxpbmUtdGhpY2tuZXNzJywgJ3BhaW50LW9yZGVyJywgJ3Bhbm9zZS0xJywgJ3BvaW50ZXItZXZlbnRzJywgJ3JlbmRlcmluZy1pbnRlbnQnLCAnc2hhcGUtcmVuZGVyaW5nJywgJ3N0b3AtY29sb3InLCAnc3RvcC1vcGFjaXR5JywgJ3N0cmlrZXRocm91Z2gtcG9zaXRpb24nLCAnc3RyaWtldGhyb3VnaC10aGlja25lc3MnLCAnc3Ryb2tlLWRhc2hhcnJheScsICdzdHJva2UtZGFzaG9mZnNldCcsICdzdHJva2UtbGluZWNhcCcsICdzdHJva2UtbGluZWpvaW4nLCAnc3Ryb2tlLW1pdGVybGltaXQnLCAnc3Ryb2tlLW9wYWNpdHknLCAnc3Ryb2tlLXdpZHRoJywgJ3RleHQtYW5jaG9yJywgJ3RleHQtZGVjb3JhdGlvbicsICd0ZXh0LXJlbmRlcmluZycsICd1bmRlcmxpbmUtcG9zaXRpb24nLCAndW5kZXJsaW5lLXRoaWNrbmVzcycsICd1bmljb2RlLWJpZGknLCAndW5pY29kZS1yYW5nZScsICd1bml0cy1wZXItZW0nLCAndi1hbHBoYWJldGljJywgJ3YtaGFuZ2luZycsICd2LWlkZW9ncmFwaGljJywgJ3YtbWF0aGVtYXRpY2FsJywgJ3ZlY3Rvci1lZmZlY3QnLCAndmVydC1hZHYteScsICd2ZXJ0LW9yaWdpbi14JywgJ3ZlcnQtb3JpZ2luLXknLCAnd29yZC1zcGFjaW5nJywgJ3dyaXRpbmctbW9kZScsICd4bWxuczp4bGluaycsICd4LWhlaWdodCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcbiAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVOYW1lLnJlcGxhY2UoQ0FNRUxJWkUsIGNhcGl0YWxpemUpO1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZSwgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gU3RyaW5nIFNWRyBhdHRyaWJ1dGVzIHdpdGggdGhlIHhsaW5rIG5hbWVzcGFjZS5cblxuWyd4bGluazphY3R1YXRlJywgJ3hsaW5rOmFyY3JvbGUnLCAneGxpbms6cm9sZScsICd4bGluazpzaG93JywgJ3hsaW5rOnRpdGxlJywgJ3hsaW5rOnR5cGUnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93LlxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBTdHJpbmcgU1ZHIGF0dHJpYnV0ZXMgd2l0aCB0aGUgeG1sIG5hbWVzcGFjZS5cblxuWyd4bWw6YmFzZScsICd4bWw6bGFuZycsICd4bWw6c3BhY2UnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93LlxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UnLCBmYWxzZSwgLy8gc2FuaXRpemVVUkxcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGF0dHJpYnV0ZSBleGlzdHMgYm90aCBpbiBIVE1MIGFuZCBTVkcuXG4vLyBUaGUgYXR0cmlidXRlIG5hbWUgaXMgY2FzZS1zZW5zaXRpdmUgaW4gU1ZHIHNvIHdlIGNhbid0IGp1c3QgdXNlXG4vLyB0aGUgUmVhY3QgbmFtZSBsaWtlIHdlIGRvIGZvciBhdHRyaWJ1dGVzIHRoYXQgZXhpc3Qgb25seSBpbiBIVE1MLlxuXG5bJ3RhYkluZGV4JywgJ2Nyb3NzT3JpZ2luJ10uZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlTmFtZSkge1xuICBwcm9wZXJ0aWVzW2F0dHJpYnV0ZU5hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChhdHRyaWJ1dGVOYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSwgLy8gc2FuaXRpemVVUkxcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGF0dHJpYnV0ZXMgYWNjZXB0IFVSTHMuIFRoZXNlIG11c3Qgbm90IGFsbG93IGphdmFzY3JpcHQ6IFVSTFMuXG4vLyBUaGVzZSB3aWxsIGFsc28gbmVlZCB0byBhY2NlcHQgVHJ1c3RlZCBUeXBlcyBvYmplY3QgaW4gdGhlIGZ1dHVyZS5cblxudmFyIHhsaW5rSHJlZiA9ICd4bGlua0hyZWYnO1xucHJvcGVydGllc1t4bGlua0hyZWZdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZCgneGxpbmtIcmVmJywgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4neGxpbms6aHJlZicsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgdHJ1ZSwgLy8gc2FuaXRpemVVUkxcbmZhbHNlKTtcblsnc3JjJywgJ2hyZWYnLCAnYWN0aW9uJywgJ2Zvcm1BY3Rpb24nXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHByb3BlcnRpZXNbYXR0cmlidXRlTmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKGF0dHJpYnV0ZU5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBhdHRyaWJ1dGVOYW1lLnRvTG93ZXJDYXNlKCksIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIHRydWUsIC8vIHNhbml0aXplVVJMXG4gIHRydWUpO1xufSk7XG5cbi8vIGFuZCBhbnkgbmV3bGluZSBvciB0YWIgYXJlIGZpbHRlcmVkIG91dCBhcyBpZiB0aGV5J3JlIG5vdCBwYXJ0IG9mIHRoZSBVUkwuXG4vLyBodHRwczovL3VybC5zcGVjLndoYXR3Zy5vcmcvI3VybC1wYXJzaW5nXG4vLyBUYWIgb3IgbmV3bGluZSBhcmUgZGVmaW5lZCBhcyBcXHJcXG5cXHQ6XG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYXNjaWktdGFiLW9yLW5ld2xpbmVcbi8vIEEgQzAgY29udHJvbCBpcyBhIGNvZGUgcG9pbnQgaW4gdGhlIHJhbmdlIFxcdTAwMDAgTlVMTCB0byBcXHUwMDFGXG4vLyBJTkZPUk1BVElPTiBTRVBBUkFUT1IgT05FLCBpbmNsdXNpdmU6XG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYzAtY29udHJvbC1vci1zcGFjZVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5cbnZhciBpc0phdmFTY3JpcHRQcm90b2NvbCA9IC9eW1xcdTAwMDAtXFx1MDAxRiBdKmpbXFxyXFxuXFx0XSphW1xcclxcblxcdF0qdltcXHJcXG5cXHRdKmFbXFxyXFxuXFx0XSpzW1xcclxcblxcdF0qY1tcXHJcXG5cXHRdKnJbXFxyXFxuXFx0XSppW1xcclxcblxcdF0qcFtcXHJcXG5cXHRdKnRbXFxyXFxuXFx0XSpcXDovaTtcbnZhciBkaWRXYXJuID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHNhbml0aXplVVJMKHVybCkge1xuICB7XG4gICAgaWYgKCFkaWRXYXJuICYmIGlzSmF2YVNjcmlwdFByb3RvY29sLnRlc3QodXJsKSkge1xuICAgICAgZGlkV2FybiA9IHRydWU7XG5cbiAgICAgIGVycm9yKCdBIGZ1dHVyZSB2ZXJzaW9uIG9mIFJlYWN0IHdpbGwgYmxvY2sgamF2YXNjcmlwdDogVVJMcyBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uICcgKyAnVXNlIGV2ZW50IGhhbmRsZXJzIGluc3RlYWQgaWYgeW91IGNhbi4gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgdW5zYWZlIEhUTUwgdHJ5ICcgKyAndXNpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgaW5zdGVhZC4gUmVhY3Qgd2FzIHBhc3NlZCAlcy4nLCBKU09OLnN0cmluZ2lmeSh1cmwpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIHByb3BlcnR5IG9uIGEgbm9kZS4gT25seSB1c2VkIGluIERFViBmb3IgU1NSIHZhbGlkYXRpb24uXG4gKiBUaGUgXCJleHBlY3RlZFwiIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLlxuICogU29tZSBwcm9wZXJ0aWVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlRm9yUHJvcGVydHkobm9kZSwgbmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbykge1xuICB7XG4gICAgaWYgKHByb3BlcnR5SW5mby5tdXN0VXNlUHJvcGVydHkpIHtcbiAgICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eUluZm8ucHJvcGVydHlOYW1lO1xuICAgICAgcmV0dXJuIG5vZGVbcHJvcGVydHlOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBjaGVjayBwcm90ZWN0cyBtdWx0aXBsZSB1c2VzIG9mIGBleHBlY3RlZGAsIHdoaWNoIGlzIHdoeSB0aGVcbiAgICAgIC8vIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uIHJ1bGUgaXMgZGlzYWJsZWQgaW4gc2V2ZXJhbCBzcG90c1xuICAgICAgLy8gYmVsb3cuXG4gICAgICB7XG4gICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24oZXhwZWN0ZWQsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIHByb3BlcnR5SW5mby5zYW5pdGl6ZVVSTCkge1xuICAgICAgICAvLyBJZiB3ZSBoYXZlbid0IGZ1bGx5IGRpc2FibGVkIGphdmFzY3JpcHQ6IFVSTHMsIGFuZCBpZlxuICAgICAgICAvLyB0aGUgaHlkcmF0aW9uIGlzIHN1Y2Nlc3NmdWwgb2YgYSBqYXZhc2NyaXB0OiBVUkwsIHdlXG4gICAgICAgIC8vIHN0aWxsIHdhbnQgdG8gd2FybiBvbiB0aGUgY2xpZW50LlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgICAgc2FuaXRpemVVUkwoJycgKyBleHBlY3RlZCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBhdHRyaWJ1dGVOYW1lID0gcHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWU7XG4gICAgICB2YXIgc3RyaW5nVmFsdWUgPSBudWxsO1xuXG4gICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IE9WRVJMT0FERURfQk9PTEVBTikge1xuICAgICAgICBpZiAobm9kZS5oYXNBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgICAgICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgLy8gV2UgaGFkIGFuIGF0dHJpYnV0ZSBidXQgc2hvdWxkbid0IGhhdmUgaGFkIG9uZSwgc28gcmVhZCBpdFxuICAgICAgICAgIC8vIGZvciB0aGUgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgICByZXR1cm4gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IEJPT0xFQU4pIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBhIGJvb2xlYW4sIGl0IGRvZXNuJ3QgbWF0dGVyIHdoYXQgdGhlIHZhbHVlIGlzXG4gICAgICAgICAgLy8gdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIGl0IGlzIHRoZSBzYW1lIGFzIHRoZSBleHBlY3RlZC5cbiAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgIH0gLy8gRXZlbiBpZiB0aGlzIHByb3BlcnR5IHVzZXMgYSBuYW1lc3BhY2Ugd2UgdXNlIGdldEF0dHJpYnV0ZVxuICAgICAgICAvLyBiZWNhdXNlIHdlIGFzc3VtZSBpdHMgbmFtZXNwYWNlZCBuYW1lIGlzIHRoZSBzYW1lIGFzIG91ciBjb25maWcuXG4gICAgICAgIC8vIFRvIHVzZSBnZXRBdHRyaWJ1dGVOUyB3ZSBuZWVkIHRoZSBsb2NhbCBuYW1lIHdoaWNoIHdlIGRvbid0IGhhdmVcbiAgICAgICAgLy8gaW4gb3VyIGNvbmZpZyBhdG0uXG5cblxuICAgICAgICBzdHJpbmdWYWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIGV4cGVjdGVkLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWUgPT09IG51bGwgPyBleHBlY3RlZCA6IHN0cmluZ1ZhbHVlOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgIH0gZWxzZSBpZiAoc3RyaW5nVmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZ1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIGF0dHJpYnV0ZSBvbiBhIG5vZGUuIE9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxuICogVGhlIHRoaXJkIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLiBTb21lXG4gKiBhdHRyaWJ1dGVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0VmFsdWVGb3JBdHRyaWJ1dGUobm9kZSwgbmFtZSwgZXhwZWN0ZWQsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIHtcbiAgICBpZiAoIWlzQXR0cmlidXRlTmFtZVNhZmUobmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIW5vZGUuaGFzQXR0cmlidXRlKG5hbWUpKSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWQgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IG51bGw7XG4gICAgfVxuXG4gICAgdmFyIHZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUobmFtZSk7XG5cbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKGV4cGVjdGVkLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcbiAgICAgIHJldHVybiBleHBlY3RlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbi8qKlxuICogU2V0cyB0aGUgdmFsdWUgZm9yIGEgcHJvcGVydHkgb24gYSBub2RlLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7Kn0gdmFsdWVcbiAqL1xuXG5mdW5jdGlvbiBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsIG5hbWUsIHZhbHVlLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICB2YXIgcHJvcGVydHlJbmZvID0gZ2V0UHJvcGVydHlJbmZvKG5hbWUpO1xuXG4gIGlmIChzaG91bGRJZ25vcmVBdHRyaWJ1dGUobmFtZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSkge1xuICAgIHZhbHVlID0gbnVsbDtcbiAgfVxuXG5cbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnIHx8IHByb3BlcnR5SW5mbyA9PT0gbnVsbCkge1xuICAgIGlmIChpc0F0dHJpYnV0ZU5hbWVTYWZlKG5hbWUpKSB7XG4gICAgICB2YXIgX2F0dHJpYnV0ZU5hbWUgPSBuYW1lO1xuXG4gICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAge1xuICAgICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24odmFsdWUsIG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUsICAnJyArIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbXVzdFVzZVByb3BlcnR5ID0gcHJvcGVydHlJbmZvLm11c3RVc2VQcm9wZXJ0eTtcblxuICBpZiAobXVzdFVzZVByb3BlcnR5KSB7XG4gICAgdmFyIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5SW5mby5wcm9wZXJ0eU5hbWU7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHZhciB0eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgICBub2RlW3Byb3BlcnR5TmFtZV0gPSB0eXBlID09PSBCT09MRUFOID8gZmFsc2UgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29udHJhcnkgdG8gYHNldEF0dHJpYnV0ZWAsIG9iamVjdCBwcm9wZXJ0aWVzIGFyZSBwcm9wZXJseVxuICAgICAgLy8gYHRvU3RyaW5nYGVkIGJ5IElFOC85LlxuICAgICAgbm9kZVtwcm9wZXJ0eU5hbWVdID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoZSByZXN0IGFyZSB0cmVhdGVkIGFzIGF0dHJpYnV0ZXMgd2l0aCBzcGVjaWFsIGNhc2VzLlxuXG5cbiAgdmFyIGF0dHJpYnV0ZU5hbWUgPSBwcm9wZXJ0eUluZm8uYXR0cmlidXRlTmFtZSxcbiAgICAgIGF0dHJpYnV0ZU5hbWVzcGFjZSA9IHByb3BlcnR5SW5mby5hdHRyaWJ1dGVOYW1lc3BhY2U7XG5cbiAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIF90eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgdmFyIGF0dHJpYnV0ZVZhbHVlO1xuXG4gICAgaWYgKF90eXBlID09PSBCT09MRUFOIHx8IF90eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU4gJiYgdmFsdWUgPT09IHRydWUpIHtcbiAgICAgIC8vIElmIGF0dHJpYnV0ZSB0eXBlIGlzIGJvb2xlYW4sIHdlIGtub3cgZm9yIHN1cmUgaXQgd29uJ3QgYmUgYW4gZXhlY3V0aW9uIHNpbmtcbiAgICAgIC8vIGFuZCB3ZSB3b24ndCByZXF1aXJlIFRydXN0ZWQgVHlwZSBoZXJlLlxuICAgICAgYXR0cmlidXRlVmFsdWUgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gYHNldEF0dHJpYnV0ZWAgd2l0aCBvYmplY3RzIGJlY29tZXMgb25seSBgW29iamVjdF1gIGluIElFOC85LFxuICAgICAgLy8gKCcnICsgdmFsdWUpIG1ha2VzIGl0IG91dHB1dCB0aGUgY29ycmVjdCB0b1N0cmluZygpLXZhbHVlLlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eUluZm8uc2FuaXRpemVVUkwpIHtcbiAgICAgICAgc2FuaXRpemVVUkwoYXR0cmlidXRlVmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWVzcGFjZSkge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGVOUyhhdHRyaWJ1dGVOYW1lc3BhY2UsIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKTtcbnZhciBSRUFDVF9ERUJVR19UUkFDSU5HX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmRlYnVnX3RyYWNlX21vZGUnKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0xFR0FDWV9ISURERU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxlZ2FjeV9oaWRkZW4nKTtcbnZhciBSRUFDVF9DQUNIRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY2FjaGUnKTtcbnZhciBSRUFDVF9UUkFDSU5HX01BUktFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QudHJhY2luZ19tYXJrZXInKTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSBTeW1ib2wuaXRlcmF0b3I7XG52YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7XG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbWF5YmVJdGVyYXRvciA9IE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF07XG5cbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1heWJlSXRlcmF0b3I7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIGFzc2lnbiA9IE9iamVjdC5hc3NpZ247XG5cbi8vIEhlbHBlcnMgdG8gcGF0Y2ggY29uc29sZS5sb2dzIHRvIGF2b2lkIGxvZ2dpbmcgZHVyaW5nIHNpZGUtZWZmZWN0IGZyZWVcbi8vIHJlcGxheWluZyBvbiByZW5kZXIgZnVuY3Rpb24uIFRoaXMgY3VycmVudGx5IG9ubHkgcGF0Y2hlcyB0aGUgb2JqZWN0XG4vLyBsYXppbHkgd2hpY2ggd29uJ3QgY292ZXIgaWYgdGhlIGxvZyBmdW5jdGlvbiB3YXMgZXh0cmFjdGVkIGVhZ2VybHkuXG4vLyBXZSBjb3VsZCBhbHNvIGVhZ2VybHkgcGF0Y2ggdGhlIG1ldGhvZC5cbnZhciBkaXNhYmxlZERlcHRoID0gMDtcbnZhciBwcmV2TG9nO1xudmFyIHByZXZJbmZvO1xudmFyIHByZXZXYXJuO1xudmFyIHByZXZFcnJvcjtcbnZhciBwcmV2R3JvdXA7XG52YXIgcHJldkdyb3VwQ29sbGFwc2VkO1xudmFyIHByZXZHcm91cEVuZDtcblxuZnVuY3Rpb24gZGlzYWJsZWRMb2coKSB7fVxuXG5kaXNhYmxlZExvZy5fX3JlYWN0RGlzYWJsZWRMb2cgPSB0cnVlO1xuZnVuY3Rpb24gZGlzYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICBwcmV2TG9nID0gY29uc29sZS5sb2c7XG4gICAgICBwcmV2SW5mbyA9IGNvbnNvbGUuaW5mbztcbiAgICAgIHByZXZXYXJuID0gY29uc29sZS53YXJuO1xuICAgICAgcHJldkVycm9yID0gY29uc29sZS5lcnJvcjtcbiAgICAgIHByZXZHcm91cCA9IGNvbnNvbGUuZ3JvdXA7XG4gICAgICBwcmV2R3JvdXBDb2xsYXBzZWQgPSBjb25zb2xlLmdyb3VwQ29sbGFwc2VkO1xuICAgICAgcHJldkdyb3VwRW5kID0gY29uc29sZS5ncm91cEVuZDsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTA5OVxuXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IGRpc2FibGVkTG9nLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfTsgLy8gJEZsb3dGaXhNZSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGxvZzogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2TG9nXG4gICAgICAgIH0pLFxuICAgICAgICBpbmZvOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZJbmZvXG4gICAgICAgIH0pLFxuICAgICAgICB3YXJuOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZXYXJuXG4gICAgICAgIH0pLFxuICAgICAgICBlcnJvcjogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2RXJyb3JcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwQ29sbGFwc2VkXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cEVuZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBFbmRcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA8IDApIHtcbiAgICAgIGVycm9yKCdkaXNhYmxlZERlcHRoIGZlbGwgYmVsb3cgemVyby4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyO1xudmFyIHByZWZpeDtcbmZ1bmN0aW9uIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUsIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgY29uc3RydWN0KSB7XG4gIC8vIElmIHNvbWV0aGluZyBhc2tlZCBmb3IgYSBzdGFjayBpbnNpZGUgYSBmYWtlIHJlbmRlciwgaXQgc2hvdWxkIGdldCBpZ25vcmVkLlxuICBpZiAoICFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbnRyb2w7XG4gIHJlZW50cnkgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZSA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlOyAvLyAkRmxvd0ZpeE1lIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cblxuICB0cnkge1xuICAgIC8vIFRoaXMgc2hvdWxkIHRocm93LlxuICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBzaG91bGQgYmUgc2V0dGluZyB0aGUgcHJvcHMgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAgdmFyIEZha2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lXG5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZha2UucHJvdG90eXBlLCAncHJvcHMnLCB7XG4gICAgICAgIHNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAvLyBiZWNhdXNlIHRoYXQgd29uJ3QgdGhyb3cgaW4gYSBub24tc3RyaWN0IG1vZGUgZnVuY3Rpb24uXG4gICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgJiYgUmVmbGVjdC5jb25zdHJ1Y3QpIHtcbiAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAvLyBmcmFtZXMgYWRkZWQgYnkgdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICB0cnkge1xuICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoZm4sIFtdLCBGYWtlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgRmFrZS5jYWxsKCk7XG4gICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZuLmNhbGwoRmFrZS5wcm90b3R5cGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBjb250cm9sID0geDtcbiAgICAgIH1cblxuICAgICAgZm4oKTtcbiAgICB9XG4gIH0gY2F0Y2ggKHNhbXBsZSkge1xuICAgIC8vIFRoaXMgaXMgaW5saW5lZCBtYW51YWxseSBiZWNhdXNlIGNsb3N1cmUgZG9lc24ndCBkbyBpdCBmb3IgdXMuXG4gICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBUaGlzIGV4dHJhY3RzIHRoZSBmaXJzdCBmcmFtZSBmcm9tIHRoZSBzYW1wbGUgdGhhdCBpc24ndCBhbHNvIGluIHRoZSBjb250cm9sLlxuICAgICAgLy8gU2tpcHBpbmcgb25lIGZyYW1lIHRoYXQgd2UgYXNzdW1lIGlzIHRoZSBmcmFtZSB0aGF0IGNhbGxzIHRoZSB0d28uXG4gICAgICB2YXIgc2FtcGxlTGluZXMgPSBzYW1wbGUuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIGNvbnRyb2xMaW5lcyA9IGNvbnRyb2wuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgdmFyIGMgPSBjb250cm9sTGluZXMubGVuZ3RoIC0gMTtcblxuICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAvLyBXZSBleHBlY3QgYXQgbGVhc3Qgb25lIHN0YWNrIGZyYW1lIHRvIGJlIHNoYXJlZC5cbiAgICAgICAgLy8gVHlwaWNhbGx5IHRoaXMgd2lsbCBiZSB0aGUgcm9vdCBtb3N0IG9uZS4gSG93ZXZlciwgc3RhY2sgZnJhbWVzIG1heSBiZVxuICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAvLyBlYXJsaWVyIHRoYW4gdGhlIG90aGVyLiBXZSBhc3N1bWUgdGhhdCB0aGUgc2FtcGxlIGlzIGxvbmdlciBvciB0aGUgc2FtZVxuICAgICAgICAvLyBhbmQgdGhlcmUgZm9yIGN1dCBvZmYgZWFybGllci4gU28gd2Ugc2hvdWxkIGZpbmQgdGhlIHJvb3QgbW9zdCBmcmFtZSBpblxuICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgYy0tO1xuICAgICAgfVxuXG4gICAgICBmb3IgKDsgcyA+PSAxICYmIGMgPj0gMDsgcy0tLCBjLS0pIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBmaW5kIHRoZSBmaXJzdCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSB3aGljaCBzaG91bGQgYmUgdGhlXG4gICAgICAgIC8vIGZyYW1lIHRoYXQgY2FsbGVkIG91ciBzYW1wbGUgZnVuY3Rpb24gYW5kIHRoZSBjb250cm9sLlxuICAgICAgICBpZiAoc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIEluIFY4LCB0aGUgZmlyc3QgbGluZSBpcyBkZXNjcmliaW5nIHRoZSBtZXNzYWdlIGJ1dCBvdGhlciBWTXMgZG9uJ3QuXG4gICAgICAgICAgLy8gSWYgd2UncmUgYWJvdXQgdG8gcmV0dXJuIHRoZSBmaXJzdCBsaW5lLCBhbmQgdGhlIGNvbnRyb2wgaXMgYWxzbyBvbiB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxpbmUsIHRoYXQncyBhIHByZXR0eSBnb29kIGluZGljYXRvciB0aGF0IG91ciBzYW1wbGUgdGhyZXcgYXQgc2FtZSBsaW5lIGFzXG4gICAgICAgICAgLy8gdGhlIGNvbnRyb2wuIEkuZS4gYmVmb3JlIHdlIGVudGVyZWQgdGhlIHNhbXBsZSBmcmFtZS4gU28gd2UgaWdub3JlIHRoaXMgcmVzdWx0LlxuICAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB5b3UgcGFzc2VkIGEgY2xhc3MgdG8gZnVuY3Rpb24gY29tcG9uZW50LCBvciBub24tZnVuY3Rpb24uXG4gICAgICAgICAgaWYgKHMgIT09IDEgfHwgYyAhPT0gMSkge1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICBzLS07XG4gICAgICAgICAgICAgIGMtLTsgLy8gV2UgbWF5IHN0aWxsIGhhdmUgc2ltaWxhciBpbnRlcm1lZGlhdGUgZnJhbWVzIGZyb20gdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICAgICAgICAvLyBUaGUgbmV4dCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSBzaG91bGQgYmUgb3VyIG1hdGNoIHRob3VnaC5cblxuICAgICAgICAgICAgICBpZiAoYyA8IDAgfHwgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgICAgICAgIC8vIFY4IGFkZHMgYSBcIm5ld1wiIHByZWZpeCBmb3IgbmF0aXZlIGNsYXNzZXMuIExldCdzIHJlbW92ZSBpdCB0byBtYWtlIGl0IHByZXR0aWVyLlxuICAgICAgICAgICAgICAgIHZhciBfZnJhbWUgPSAnXFxuJyArIHNhbXBsZUxpbmVzW3NdLnJlcGxhY2UoJyBhdCBuZXcgJywgJyBhdCAnKTsgLy8gSWYgb3VyIGNvbXBvbmVudCBmcmFtZSBpcyBsYWJlbGVkIFwiPGFub255bW91cz5cIlxuICAgICAgICAgICAgICAgIC8vIGJ1dCB3ZSBoYXZlIGEgdXNlci1wcm92aWRlZCBcImRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgICAgICAvLyBzcGxpY2UgaXQgaW4gdG8gbWFrZSB0aGUgc3RhY2sgbW9yZSByZWFkYWJsZS5cblxuXG4gICAgICAgICAgICAgICAgaWYgKGZuLmRpc3BsYXlOYW1lICYmIF9mcmFtZS5pbmNsdWRlcygnPGFub255bW91cz4nKSkge1xuICAgICAgICAgICAgICAgICAgX2ZyYW1lID0gX2ZyYW1lLnJlcGxhY2UoJzxhbm9ueW1vdXM+JywgZm4uZGlzcGxheU5hbWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIF9mcmFtZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAvLyBSZXR1cm4gdGhlIGxpbmUgd2UgZm91bmQuXG5cblxuICAgICAgICAgICAgICAgIHJldHVybiBfZnJhbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gd2hpbGUgKHMgPj0gMSAmJiBjID49IDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHJlZW50cnkgPSBmYWxzZTtcblxuICAgIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZpb3VzRGlzcGF0Y2hlcjtcbiAgICAgIHJlZW5hYmxlTG9ncygpO1xuICAgIH1cblxuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZTtcbiAgfSAvLyBGYWxsYmFjayB0byBqdXN0IHVzaW5nIHRoZSBuYW1lIGlmIHdlIGNvdWxkbid0IG1ha2UgaXQgdGhyb3cuXG5cblxuICB2YXIgbmFtZSA9IGZuID8gZm4uZGlzcGxheU5hbWUgfHwgZm4ubmFtZSA6ICcnO1xuICB2YXIgc3ludGhldGljRnJhbWUgPSBuYW1lID8gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSkgOiAnJztcblxuICB7XG4gICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIHN5bnRoZXRpY0ZyYW1lKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3ludGhldGljRnJhbWU7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlQ2xhc3NDb21wb25lbnRGcmFtZShjdG9yLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGN0b3IsIHRydWUpO1xuICB9XG59XG5mdW5jdGlvbiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZm4sIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIHNvdXJjZSwgb3duZXJGbikge1xuXG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB7XG4gICAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZSh0eXBlLCBzaG91bGRDb25zdHJ1Y3QodHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUodHlwZSk7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlJyk7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2VMaXN0Jyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgLy8gTWVtbyBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLnR5cGUsIHNvdXJjZSwgb3duZXJGbik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gTGF6eSBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoaW5pdChwYXlsb2FkKSwgc291cmNlLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZUZpYmVyKGZpYmVyKSB7XG4gIHZhciBvd25lciA9ICBmaWJlci5fZGVidWdPd25lciA/IGZpYmVyLl9kZWJ1Z093bmVyLnR5cGUgOiBudWxsIDtcbiAgdmFyIHNvdXJjZSA9ICBmaWJlci5fZGVidWdTb3VyY2UgO1xuXG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKGZpYmVyLnR5cGUpO1xuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdMYXp5Jyk7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuXG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmaWJlci50eXBlKTtcblxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZmliZXIudHlwZS5yZW5kZXIpO1xuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHJldHVybiBkZXNjcmliZUNsYXNzQ29tcG9uZW50RnJhbWUoZmliZXIudHlwZSk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZCh3b3JrSW5Qcm9ncmVzcykge1xuICB0cnkge1xuICAgIHZhciBpbmZvID0gJyc7XG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcztcblxuICAgIGRvIHtcbiAgICAgIGluZm8gKz0gZGVzY3JpYmVGaWJlcihub2RlKTtcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9IHdoaWxlIChub2RlKTtcblxuICAgIHJldHVybiBpbmZvO1xuICB9IGNhdGNoICh4KSB7XG4gICAgcmV0dXJuICdcXG5FcnJvciBnZW5lcmF0aW5nIHN0YWNrOiAnICsgeC5tZXNzYWdlICsgJ1xcbicgKyB4LnN0YWNrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSkge1xuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgLy8gSG9zdCByb290LCB0ZXh0IG5vZGUgb3IganVzdCBpbnZhbGlkIHR5cGUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB7XG4gICAgaWYgKHR5cGVvZiB0eXBlLnRhZyA9PT0gJ251bWJlcicpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIG9iamVjdCBpbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoKS4gJyArICdUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XG5cbiAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICByZXR1cm4gJ1Byb2ZpbGVyJztcblxuICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgIHJldHVybiAnU3RyaWN0TW9kZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZUxpc3QnO1xuXG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgdmFyIGNvbnRleHQgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcblxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB2YXIgcHJvdmlkZXIgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldFdyYXBwZWROYW1lKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgdmFyIG91dGVyTmFtZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbDtcblxuICAgICAgICBpZiAob3V0ZXJOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG91dGVyTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnTWVtbyc7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShpbml0KHBheWxvYWQpKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lJDEob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBvdXRlclR5cGUuZGlzcGxheU5hbWUgfHwgKGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZSk7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHNoYXJlZC9nZXRDb21wb25lbnROYW1lRnJvbVR5cGVcblxuXG5mdW5jdGlvbiBnZXRDb250ZXh0TmFtZSQxKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB7XG4gIHZhciB0YWcgPSBmaWJlci50YWcsXG4gICAgICB0eXBlID0gZmliZXIudHlwZTtcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ0NhY2hlJztcblxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgICAgdmFyIGNvbnRleHQgPSB0eXBlO1xuICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lJDEoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgIHJldHVybiBnZXRDb250ZXh0TmFtZSQxKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgY2FzZSBEZWh5ZHJhdGVkRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gJ0RlaHlkcmF0ZWRGcmFnbWVudCc7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUkMSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgIGNhc2UgRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIC8vIEhvc3QgY29tcG9uZW50IHR5cGUgaXMgdGhlIGRpc3BsYXkgbmFtZSAoZS5nLiBcImRpdlwiLCBcIlZpZXdcIilcbiAgICAgIHJldHVybiB0eXBlO1xuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHJldHVybiAnUm9vdCc7XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgcmV0dXJuICdUZXh0JztcblxuICAgIGNhc2UgTGF6eUNvbXBvbmVudDpcbiAgICAgIC8vIE5hbWUgY29tZXMgZnJvbSB0aGUgdHlwZSBpbiB0aGlzIGNhc2U7IHdlIGRvbid0IGhhdmUgYSB0YWcuXG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuXG4gICAgY2FzZSBNb2RlOlxuICAgICAgaWYgKHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUpIHtcbiAgICAgICAgLy8gRG9uJ3QgYmUgbGVzcyBzcGVjaWZpYyB0aGFuIHNoYXJlZC9nZXRDb21wb25lbnROYW1lRnJvbVR5cGVcbiAgICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdNb2RlJztcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAgcmV0dXJuICdPZmZzY3JlZW4nO1xuXG4gICAgY2FzZSBQcm9maWxlcjpcbiAgICAgIHJldHVybiAnUHJvZmlsZXInO1xuXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiAnU2NvcGUnO1xuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ1RyYWNpbmdNYXJrZXInO1xuICAgIC8vIFRoZSBkaXNwbGF5IG5hbWUgZm9yIHRoaXMgdGFncyBjb21lIGZyb20gdGhlIHVzZXItcHJvdmlkZWQgdHlwZTpcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG52YXIgY3VycmVudCA9IG51bGw7XG52YXIgaXNSZW5kZXJpbmcgPSBmYWxzZTtcbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCkge1xuICB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBvd25lciA9IGN1cnJlbnQuX2RlYnVnT3duZXI7XG5cbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgdHlwZW9mIG93bmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIob3duZXIpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KCkge1xuICB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IC8vIFNhZmUgYmVjYXVzZSBpZiBjdXJyZW50IGZpYmVyIGV4aXN0cywgd2UgYXJlIHJlY29uY2lsaW5nLFxuICAgIC8vIGFuZCBpdCBpcyBndWFyYW50ZWVkIHRvIGJlIHRoZSB3b3JrLWluLXByb2dyZXNzIHZlcnNpb24uXG5cblxuICAgIHJldHVybiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoY3VycmVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzZXRDdXJyZW50RmliZXIoKSB7XG4gIHtcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IG51bGw7XG4gICAgY3VycmVudCA9IG51bGw7XG4gICAgaXNSZW5kZXJpbmcgPSBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gc2V0Q3VycmVudEZpYmVyKGZpYmVyKSB7XG4gIHtcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IGZpYmVyID09PSBudWxsID8gbnVsbCA6IGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXY7XG4gICAgY3VycmVudCA9IGZpYmVyO1xuICAgIGlzUmVuZGVyaW5nID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlcigpIHtcbiAge1xuICAgIHJldHVybiBjdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiBzZXRJc1JlbmRlcmluZyhyZW5kZXJpbmcpIHtcbiAge1xuICAgIGlzUmVuZGVyaW5nID0gcmVuZGVyaW5nO1xuICB9XG59XG5cbi8vIEZsb3cgZG9lcyBub3QgYWxsb3cgc3RyaW5nIGNvbmNhdGVuYXRpb24gb2YgbW9zdCBub24tc3RyaW5nIHR5cGVzLiBUbyB3b3JrXG4vLyBhcm91bmQgdGhpcyBsaW1pdGF0aW9uLCB3ZSB1c2UgYW4gb3BhcXVlIHR5cGUgdGhhdCBjYW4gb25seSBiZSBvYnRhaW5lZCBieVxuLy8gcGFzc2luZyB0aGUgdmFsdWUgdGhyb3VnaCBnZXRUb1N0cmluZ1ZhbHVlIGZpcnN0LlxuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgLy8gVGhlIGNvZXJjaW9uIHNhZmV0eSBjaGVjayBpcyBwZXJmb3JtZWQgaW4gZ2V0VG9TdHJpbmdWYWx1ZSgpLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBnZXRUb1N0cmluZ1ZhbHVlKHZhbHVlKSB7XG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgY2FzZSAnYm9vbGVhbic6XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdzdHJpbmcnOlxuICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBjYXNlICdvYmplY3QnOlxuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gZnVuY3Rpb24sIHN5bWJvbCBhcmUgYXNzaWduZWQgYXMgZW1wdHkgc3RyaW5nc1xuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbnZhciBoYXNSZWFkT25seVZhbHVlID0ge1xuICBidXR0b246IHRydWUsXG4gIGNoZWNrYm94OiB0cnVlLFxuICBpbWFnZTogdHJ1ZSxcbiAgaGlkZGVuOiB0cnVlLFxuICByYWRpbzogdHJ1ZSxcbiAgcmVzZXQ6IHRydWUsXG4gIHN1Ym1pdDogdHJ1ZVxufTtcbmZ1bmN0aW9uIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHModGFnTmFtZSwgcHJvcHMpIHtcbiAge1xuICAgIGlmICghKGhhc1JlYWRPbmx5VmFsdWVbcHJvcHMudHlwZV0gfHwgcHJvcHMub25DaGFuZ2UgfHwgcHJvcHMub25JbnB1dCB8fCBwcm9wcy5yZWFkT25seSB8fCBwcm9wcy5kaXNhYmxlZCB8fCBwcm9wcy52YWx1ZSA9PSBudWxsKSkge1xuICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGB2YWx1ZWAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0VmFsdWVgLiBPdGhlcndpc2UsICcgKyAnc2V0IGVpdGhlciBgb25DaGFuZ2VgIG9yIGByZWFkT25seWAuJyk7XG4gICAgfVxuXG4gICAgaWYgKCEocHJvcHMub25DaGFuZ2UgfHwgcHJvcHMucmVhZE9ubHkgfHwgcHJvcHMuZGlzYWJsZWQgfHwgcHJvcHMuY2hlY2tlZCA9PSBudWxsKSkge1xuICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGBjaGVja2VkYCBwcm9wIHRvIGEgZm9ybSBmaWVsZCB3aXRob3V0IGFuICcgKyAnYG9uQ2hhbmdlYCBoYW5kbGVyLiBUaGlzIHdpbGwgcmVuZGVyIGEgcmVhZC1vbmx5IGZpZWxkLiBJZiAnICsgJ3RoZSBmaWVsZCBzaG91bGQgYmUgbXV0YWJsZSB1c2UgYGRlZmF1bHRDaGVja2VkYC4gT3RoZXJ3aXNlLCAnICsgJ3NldCBlaXRoZXIgYG9uQ2hhbmdlYCBvciBgcmVhZE9ubHlgLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NoZWNrYWJsZShlbGVtKSB7XG4gIHZhciB0eXBlID0gZWxlbS50eXBlO1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgbm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lucHV0JyAmJiAodHlwZSA9PT0gJ2NoZWNrYm94JyB8fCB0eXBlID09PSAncmFkaW8nKTtcbn1cblxuZnVuY3Rpb24gZ2V0VHJhY2tlcihub2RlKSB7XG4gIHJldHVybiBub2RlLl92YWx1ZVRyYWNrZXI7XG59XG5cbmZ1bmN0aW9uIGRldGFjaFRyYWNrZXIobm9kZSkge1xuICBub2RlLl92YWx1ZVRyYWNrZXIgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRWYWx1ZUZyb21Ob2RlKG5vZGUpIHtcbiAgdmFyIHZhbHVlID0gJyc7XG5cbiAgaWYgKCFub2RlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgaWYgKGlzQ2hlY2thYmxlKG5vZGUpKSB7XG4gICAgdmFsdWUgPSBub2RlLmNoZWNrZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICB9IGVsc2Uge1xuICAgIHZhbHVlID0gbm9kZS52YWx1ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gdHJhY2tWYWx1ZU9uTm9kZShub2RlKSB7XG4gIHZhciB2YWx1ZUZpZWxkID0gaXNDaGVja2FibGUobm9kZSkgPyAnY2hlY2tlZCcgOiAndmFsdWUnO1xuICB2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobm9kZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHZhbHVlRmllbGQpO1xuXG4gIHtcbiAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24obm9kZVt2YWx1ZUZpZWxkXSk7XG4gIH1cblxuICB2YXIgY3VycmVudFZhbHVlID0gJycgKyBub2RlW3ZhbHVlRmllbGRdOyAvLyBpZiBzb21lb25lIGhhcyBhbHJlYWR5IGRlZmluZWQgYSB2YWx1ZSBvciBTYWZhcmksIHRoZW4gYmFpbFxuICAvLyBhbmQgZG9uJ3QgdHJhY2sgdmFsdWUgd2lsbCBjYXVzZSBvdmVyIHJlcG9ydGluZyBvZiBjaGFuZ2VzLFxuICAvLyBidXQgaXQncyBiZXR0ZXIgdGhlbiBhIGhhcmQgZmFpbHVyZVxuICAvLyAobmVlZGVkIGZvciBjZXJ0YWluIHRlc3RzIHRoYXQgc3B5T24gaW5wdXQgdmFsdWVzIGFuZCBTYWZhcmkpXG5cbiAgaWYgKG5vZGUuaGFzT3duUHJvcGVydHkodmFsdWVGaWVsZCkgfHwgdHlwZW9mIGRlc2NyaXB0b3IgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBkZXNjcmlwdG9yLmdldCAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgZGVzY3JpcHRvci5zZXQgIT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZ2V0ID0gZGVzY3JpcHRvci5nZXQsXG4gICAgICBzZXQgPSBkZXNjcmlwdG9yLnNldDtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5vZGUsIHZhbHVlRmllbGQsIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZ2V0LmNhbGwodGhpcyk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50VmFsdWUgPSAnJyArIHZhbHVlO1xuICAgICAgc2V0LmNhbGwodGhpcywgdmFsdWUpO1xuICAgIH1cbiAgfSk7IC8vIFdlIGNvdWxkJ3ZlIHBhc3NlZCB0aGlzIHRoZSBmaXJzdCB0aW1lXG4gIC8vIGJ1dCBpdCB0cmlnZ2VycyBhIGJ1ZyBpbiBJRTExIGFuZCBFZGdlIDE0LzE1LlxuICAvLyBDYWxsaW5nIGRlZmluZVByb3BlcnR5KCkgYWdhaW4gc2hvdWxkIGJlIGVxdWl2YWxlbnQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE3NjhcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobm9kZSwgdmFsdWVGaWVsZCwge1xuICAgIGVudW1lcmFibGU6IGRlc2NyaXB0b3IuZW51bWVyYWJsZVxuICB9KTtcbiAgdmFyIHRyYWNrZXIgPSB7XG4gICAgZ2V0VmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XG4gICAgfSxcbiAgICBzZXRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgfSxcbiAgICBzdG9wVHJhY2tpbmc6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGRldGFjaFRyYWNrZXIobm9kZSk7XG4gICAgICBkZWxldGUgbm9kZVt2YWx1ZUZpZWxkXTtcbiAgICB9XG4gIH07XG4gIHJldHVybiB0cmFja2VyO1xufVxuXG5mdW5jdGlvbiB0cmFjayhub2RlKSB7XG4gIGlmIChnZXRUcmFja2VyKG5vZGUpKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIFRPRE86IE9uY2UgaXQncyBqdXN0IEZpYmVyIHdlIGNhbiBtb3ZlIHRoaXMgdG8gbm9kZS5fd3JhcHBlclN0YXRlXG5cblxuICBub2RlLl92YWx1ZVRyYWNrZXIgPSB0cmFja1ZhbHVlT25Ob2RlKG5vZGUpO1xufVxuZnVuY3Rpb24gdXBkYXRlVmFsdWVJZkNoYW5nZWQobm9kZSkge1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgdHJhY2tlciA9IGdldFRyYWNrZXIobm9kZSk7IC8vIGlmIHRoZXJlIGlzIG5vIHRyYWNrZXIgYXQgdGhpcyBwb2ludCBpdCdzIHVubGlrZWx5XG4gIC8vIHRoYXQgdHJ5aW5nIGFnYWluIHdpbGwgc3VjY2VlZFxuXG4gIGlmICghdHJhY2tlcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFyIGxhc3RWYWx1ZSA9IHRyYWNrZXIuZ2V0VmFsdWUoKTtcbiAgdmFyIG5leHRWYWx1ZSA9IGdldFZhbHVlRnJvbU5vZGUobm9kZSk7XG5cbiAgaWYgKG5leHRWYWx1ZSAhPT0gbGFzdFZhbHVlKSB7XG4gICAgdHJhY2tlci5zZXRWYWx1ZShuZXh0VmFsdWUpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVFbGVtZW50KGRvYykge1xuICBkb2MgPSBkb2MgfHwgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudCA6IHVuZGVmaW5lZCk7XG5cbiAgaWYgKHR5cGVvZiBkb2MgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBkb2MuYWN0aXZlRWxlbWVudCB8fCBkb2MuYm9keTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkb2MuYm9keTtcbiAgfVxufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gZmFsc2U7XG52YXIgZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCA9IGZhbHNlO1xudmFyIGRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQgPSBmYWxzZTtcbnZhciBkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGlzQ29udHJvbGxlZChwcm9wcykge1xuICB2YXIgdXNlc0NoZWNrZWQgPSBwcm9wcy50eXBlID09PSAnY2hlY2tib3gnIHx8IHByb3BzLnR5cGUgPT09ICdyYWRpbyc7XG4gIHJldHVybiB1c2VzQ2hlY2tlZCA/IHByb3BzLmNoZWNrZWQgIT0gbnVsbCA6IHByb3BzLnZhbHVlICE9IG51bGw7XG59XG4vKipcbiAqIEltcGxlbWVudHMgYW4gPGlucHV0PiBob3N0IGNvbXBvbmVudCB0aGF0IGFsbG93cyBzZXR0aW5nIHRoZXNlIG9wdGlvbmFsXG4gKiBwcm9wczogYGNoZWNrZWRgLCBgdmFsdWVgLCBgZGVmYXVsdENoZWNrZWRgLCBhbmQgYGRlZmF1bHRWYWx1ZWAuXG4gKlxuICogSWYgYGNoZWNrZWRgIG9yIGB2YWx1ZWAgYXJlIG5vdCBzdXBwbGllZCAob3IgbnVsbC91bmRlZmluZWQpLCB1c2VyIGFjdGlvbnNcbiAqIHRoYXQgYWZmZWN0IHRoZSBjaGVja2VkIHN0YXRlIG9yIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIHRoZXkgYXJlIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIGVsZW1lbnQgd2lsbCBub3RcbiAqIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgZWxlbWVudC4gSW5zdGVhZCwgdGhlIHByb3BzIG11c3QgY2hhbmdlIGluIG9yZGVyIGZvclxuICogdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIGFzIHVuY2hlY2tlZCAob3IgYGRlZmF1bHRDaGVja2VkYClcbiAqIHdpdGggYW4gZW1wdHkgdmFsdWUgKG9yIGBkZWZhdWx0VmFsdWVgKS5cbiAqXG4gKiBTZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1odG1sNS0yMDEyMTAyNS90aGUtaW5wdXQtZWxlbWVudC5odG1sXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgY2hlY2tlZCA9IHByb3BzLmNoZWNrZWQ7XG4gIHZhciBob3N0UHJvcHMgPSBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgZGVmYXVsdENoZWNrZWQ6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgIGNoZWNrZWQ6IGNoZWNrZWQgIT0gbnVsbCA/IGNoZWNrZWQgOiBub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWRcbiAgfSk7XG4gIHJldHVybiBob3N0UHJvcHM7XG59XG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHtcbiAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdpbnB1dCcsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdENoZWNrZWQgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCkge1xuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGFuIGlucHV0IG9mIHR5cGUgJXMgd2l0aCBib3RoIGNoZWNrZWQgYW5kIGRlZmF1bHRDaGVja2VkIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSBjaGVja2VkIHByb3AsIG9yIHRoZSBkZWZhdWx0Q2hlY2tlZCBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycsIGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCkgfHwgJ0EgY29tcG9uZW50JywgcHJvcHMudHlwZSk7XG5cbiAgICAgIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUpIHtcbiAgICAgIGVycm9yKCclcyBjb250YWlucyBhbiBpbnB1dCBvZiB0eXBlICVzIHdpdGggYm90aCB2YWx1ZSBhbmQgZGVmYXVsdFZhbHVlIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgYW5kIHJlbW92ZSBvbmUgb2YgdGhlc2UgcHJvcHMuIE1vcmUgaW5mbzogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvY29udHJvbGxlZC1jb21wb25lbnRzJywgZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKSB8fCAnQSBjb21wb25lbnQnLCBwcm9wcy50eXBlKTtcblxuICAgICAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG4gIHZhciBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMuZGVmYXVsdFZhbHVlO1xuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XG4gICAgaW5pdGlhbENoZWNrZWQ6IHByb3BzLmNoZWNrZWQgIT0gbnVsbCA/IHByb3BzLmNoZWNrZWQgOiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCxcbiAgICBpbml0aWFsVmFsdWU6IGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUgIT0gbnVsbCA/IHByb3BzLnZhbHVlIDogZGVmYXVsdFZhbHVlKSxcbiAgICBjb250cm9sbGVkOiBpc0NvbnRyb2xsZWQocHJvcHMpXG4gIH07XG59XG5mdW5jdGlvbiB1cGRhdGVDaGVja2VkKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIGNoZWNrZWQgPSBwcm9wcy5jaGVja2VkO1xuXG4gIGlmIChjaGVja2VkICE9IG51bGwpIHtcbiAgICBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsICdjaGVja2VkJywgY2hlY2tlZCwgZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcblxuICB7XG4gICAgdmFyIGNvbnRyb2xsZWQgPSBpc0NvbnRyb2xsZWQocHJvcHMpO1xuXG4gICAgaWYgKCFub2RlLl93cmFwcGVyU3RhdGUuY29udHJvbGxlZCAmJiBjb250cm9sbGVkICYmICFkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkKSB7XG4gICAgICBlcnJvcignQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYW4gdW5jb250cm9sbGVkIGlucHV0IHRvIGJlIGNvbnRyb2xsZWQuICcgKyAnVGhpcyBpcyBsaWtlbHkgY2F1c2VkIGJ5IHRoZSB2YWx1ZSBjaGFuZ2luZyBmcm9tIHVuZGVmaW5lZCB0byAnICsgJ2EgZGVmaW5lZCB2YWx1ZSwgd2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4uICcgKyAnRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgY29tcG9uZW50LiBNb3JlIGluZm86IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jb250cm9sbGVkLWNvbXBvbmVudHMnKTtcblxuICAgICAgZGlkV2FyblVuY29udHJvbGxlZFRvQ29udHJvbGxlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuX3dyYXBwZXJTdGF0ZS5jb250cm9sbGVkICYmICFjb250cm9sbGVkICYmICFkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkKSB7XG4gICAgICBlcnJvcignQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYSBjb250cm9sbGVkIGlucHV0IHRvIGJlIHVuY29udHJvbGxlZC4gJyArICdUaGlzIGlzIGxpa2VseSBjYXVzZWQgYnkgdGhlIHZhbHVlIGNoYW5naW5nIGZyb20gYSBkZWZpbmVkIHRvICcgKyAndW5kZWZpbmVkLCB3aGljaCBzaG91bGQgbm90IGhhcHBlbi4gJyArICdEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIGlucHV0ICcgKyAnZWxlbWVudCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb21wb25lbnQuIE1vcmUgaW5mbzogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycpO1xuXG4gICAgICBkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDaGVja2VkKGVsZW1lbnQsIHByb3BzKTtcbiAgdmFyIHZhbHVlID0gZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy52YWx1ZSk7XG4gIHZhciB0eXBlID0gcHJvcHMudHlwZTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIGlmICh0eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKHZhbHVlID09PSAwICYmIG5vZGUudmFsdWUgPT09ICcnIHx8IC8vIFdlIGV4cGxpY2l0bHkgd2FudCB0byBjb2VyY2UgdG8gbnVtYmVyIGhlcmUgaWYgcG9zc2libGUuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIG5vZGUudmFsdWUgIT0gdmFsdWUpIHtcbiAgICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0Jykge1xuICAgIC8vIFN1Ym1pdC9yZXNldCBpbnB1dHMgbmVlZCB0aGUgYXR0cmlidXRlIHJlbW92ZWQgY29tcGxldGVseSB0byBhdm9pZFxuICAgIC8vIGJsYW5rLXRleHQgYnV0dG9ucy5cbiAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZSgndmFsdWUnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB7XG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSB2YWx1ZSBhdHRyaWJ1dGUsIHRoZSB2YWx1ZSBjb21lcyBmcm9tIGEgY2FzY2FkZSBvZlxuICAgIC8vIHByb3BlcnRpZXM6XG4gICAgLy8gIDEuIFRoZSB2YWx1ZSBSZWFjdCBwcm9wZXJ0eVxuICAgIC8vICAyLiBUaGUgZGVmYXVsdFZhbHVlIFJlYWN0IHByb3BlcnR5XG4gICAgLy8gIDMuIE90aGVyd2lzZSB0aGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlXG4gICAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XG4gICAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgcHJvcHMudHlwZSwgdmFsdWUpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRWYWx1ZScpKSB7XG4gICAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgcHJvcHMudHlwZSwgZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy5kZWZhdWx0VmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSBjaGVja2VkIGF0dHJpYnV0ZSwgaXQgb25seSBjaGFuZ2VzIHdoZW4gaXQgbmVlZHNcbiAgICAvLyB0byBiZSByZW1vdmVkLCBzdWNoIGFzIHRyYW5zaXRpb25pbmcgZnJvbSBhIGNoZWNrYm94IGludG8gYSB0ZXh0IGlucHV0XG4gICAgaWYgKHByb3BzLmNoZWNrZWQgPT0gbnVsbCAmJiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCAhPSBudWxsKSB7XG4gICAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFwcm9wcy5kZWZhdWx0Q2hlY2tlZDtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RNb3VudFdyYXBwZXIoZWxlbWVudCwgcHJvcHMsIGlzSHlkcmF0aW5nKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDsgLy8gRG8gbm90IGFzc2lnbiB2YWx1ZSBpZiBpdCBpcyBhbHJlYWR5IHNldC4gVGhpcyBwcmV2ZW50cyB1c2VyIHRleHQgaW5wdXRcbiAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxuXG4gIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSB8fCBwcm9wcy5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdFZhbHVlJykpIHtcbiAgICB2YXIgdHlwZSA9IHByb3BzLnR5cGU7XG4gICAgdmFyIGlzQnV0dG9uID0gdHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0JzsgLy8gQXZvaWQgc2V0dGluZyB2YWx1ZSBhdHRyaWJ1dGUgb24gc3VibWl0L3Jlc2V0IGlucHV0cyBhcyBpdCBvdmVycmlkZXMgdGhlXG4gICAgLy8gZGVmYXVsdCB2YWx1ZSBwcm92aWRlZCBieSB0aGUgYnJvd3Nlci4gU2VlOiAjMTI4NzJcblxuICAgIGlmIChpc0J1dHRvbiAmJiAocHJvcHMudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBwcm9wcy52YWx1ZSA9PT0gbnVsbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgaW5pdGlhbFZhbHVlID0gdG9TdHJpbmcobm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSk7IC8vIERvIG5vdCBhc3NpZ24gdmFsdWUgaWYgaXQgaXMgYWxyZWFkeSBzZXQuIFRoaXMgcHJldmVudHMgdXNlciB0ZXh0IGlucHV0XG4gICAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxuXG4gICAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgICAge1xuICAgICAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIHZhbHVlIGF0dHJpYnV0ZSwgdGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCB1c2VcbiAgICAgICAgLy8gdGhlIHdyYXBwZXJTdGF0ZS5faW5pdGlhbFZhbHVlIHByb3BlcnR5LiBUaGlzIHVzZXM6XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgMS4gVGhlIHZhbHVlIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgICAgICAvLyAgIDIuIFRoZSBkZWZhdWx0VmFsdWUgUmVhY3QgcHJvcGVydHkgd2hlbiBwcmVzZW50XG4gICAgICAgIC8vICAgMy4gQW4gZW1wdHkgc3RyaW5nXG4gICAgICAgIGlmIChpbml0aWFsVmFsdWUgIT09IG5vZGUudmFsdWUpIHtcbiAgICAgICAgICBub2RlLnZhbHVlID0gaW5pdGlhbFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gT3RoZXJ3aXNlLCB0aGUgdmFsdWUgYXR0cmlidXRlIGlzIHN5bmNocm9uaXplZCB0byB0aGUgcHJvcGVydHksXG4gICAgICAvLyBzbyB3ZSBhc3NpZ24gZGVmYXVsdFZhbHVlIHRvIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSB2YWx1ZSBwcm9wZXJ0eVxuICAgICAgLy8gYXNzaWdubWVudCBzdGVwIGFib3ZlLlxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSBpbml0aWFsVmFsdWU7XG4gICAgfVxuICB9IC8vIE5vcm1hbGx5LCB3ZSdkIGp1c3QgZG8gYG5vZGUuY2hlY2tlZCA9IG5vZGUuY2hlY2tlZGAgdXBvbiBpbml0aWFsIG1vdW50LCBsZXNzIHRoaXMgYnVnXG4gIC8vIHRoaXMgaXMgbmVlZGVkIHRvIHdvcmsgYXJvdW5kIGEgY2hyb21lIGJ1ZyB3aGVyZSBzZXR0aW5nIGRlZmF1bHRDaGVja2VkXG4gIC8vIHdpbGwgc29tZXRpbWVzIGluZmx1ZW5jZSB0aGUgdmFsdWUgb2YgY2hlY2tlZCAoZXZlbiBhZnRlciBkZXRhY2htZW50KS5cbiAgLy8gUmVmZXJlbmNlOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD02MDg0MTZcbiAgLy8gV2UgbmVlZCB0byB0ZW1wb3JhcmlseSB1bnNldCBuYW1lIHRvIGF2b2lkIGRpc3J1cHRpbmcgcmFkaW8gYnV0dG9uIGdyb3Vwcy5cblxuXG4gIHZhciBuYW1lID0gbm9kZS5uYW1lO1xuXG4gIGlmIChuYW1lICE9PSAnJykge1xuICAgIG5vZGUubmFtZSA9ICcnO1xuICB9XG5cbiAge1xuICAgIC8vIFdoZW4gc3luY2luZyB0aGUgY2hlY2tlZCBhdHRyaWJ1dGUsIGJvdGggdGhlIGNoZWNrZWQgcHJvcGVydHkgYW5kXG4gICAgLy8gYXR0cmlidXRlIGFyZSBhc3NpZ25lZCBhdCB0aGUgc2FtZSB0aW1lIHVzaW5nIGRlZmF1bHRDaGVja2VkLiBUaGlzIHVzZXM6XG4gICAgLy9cbiAgICAvLyAgIDEuIFRoZSBjaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgIC8vICAgMi4gVGhlIGRlZmF1bHRDaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgIC8vICAgMy4gT3RoZXJ3aXNlLCBmYWxzZVxuICAgIG5vZGUuZGVmYXVsdENoZWNrZWQgPSAhbm9kZS5kZWZhdWx0Q2hlY2tlZDtcbiAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWQ7XG4gIH1cblxuICBpZiAobmFtZSAhPT0gJycpIHtcbiAgICBub2RlLm5hbWUgPSBuYW1lO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdXBkYXRlV3JhcHBlcihub2RlLCBwcm9wcyk7XG4gIHVwZGF0ZU5hbWVkQ291c2lucyhub2RlLCBwcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU5hbWVkQ291c2lucyhyb290Tm9kZSwgcHJvcHMpIHtcbiAgdmFyIG5hbWUgPSBwcm9wcy5uYW1lO1xuXG4gIGlmIChwcm9wcy50eXBlID09PSAncmFkaW8nICYmIG5hbWUgIT0gbnVsbCkge1xuICAgIHZhciBxdWVyeVJvb3QgPSByb290Tm9kZTtcblxuICAgIHdoaWxlIChxdWVyeVJvb3QucGFyZW50Tm9kZSkge1xuICAgICAgcXVlcnlSb290ID0gcXVlcnlSb290LnBhcmVudE5vZGU7XG4gICAgfSAvLyBJZiBgcm9vdE5vZGUuZm9ybWAgd2FzIG5vbi1udWxsLCB0aGVuIHdlIGNvdWxkIHRyeSBgZm9ybS5lbGVtZW50c2AsXG4gICAgLy8gYnV0IHRoYXQgc29tZXRpbWVzIGJlaGF2ZXMgc3RyYW5nZWx5IGluIElFOC4gV2UgY291bGQgYWxzbyB0cnkgdXNpbmdcbiAgICAvLyBgZm9ybS5nZXRFbGVtZW50c0J5TmFtZWAsIGJ1dCB0aGF0IHdpbGwgb25seSByZXR1cm4gZGlyZWN0IGNoaWxkcmVuXG4gICAgLy8gYW5kIHdvbid0IGluY2x1ZGUgaW5wdXRzIHRoYXQgdXNlIHRoZSBIVE1MNSBgZm9ybT1gIGF0dHJpYnV0ZS4gU2luY2VcbiAgICAvLyB0aGUgaW5wdXQgbWlnaHQgbm90IGV2ZW4gYmUgaW4gYSBmb3JtLiBJdCBtaWdodCBub3QgZXZlbiBiZSBpbiB0aGVcbiAgICAvLyBkb2N1bWVudC4gTGV0J3MganVzdCB1c2UgdGhlIGxvY2FsIGBxdWVyeVNlbGVjdG9yQWxsYCB0byBlbnN1cmUgd2UgZG9uJ3RcbiAgICAvLyBtaXNzIGFueXRoaW5nLlxuXG5cbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKG5hbWUsICduYW1lJyk7XG4gICAgfVxuXG4gICAgdmFyIGdyb3VwID0gcXVlcnlSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9JyArIEpTT04uc3RyaW5naWZ5KCcnICsgbmFtZSkgKyAnXVt0eXBlPVwicmFkaW9cIl0nKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ3JvdXAubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBvdGhlck5vZGUgPSBncm91cFtpXTtcblxuICAgICAgaWYgKG90aGVyTm9kZSA9PT0gcm9vdE5vZGUgfHwgb3RoZXJOb2RlLmZvcm0gIT09IHJvb3ROb2RlLmZvcm0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IC8vIFRoaXMgd2lsbCB0aHJvdyBpZiByYWRpbyBidXR0b25zIHJlbmRlcmVkIGJ5IGRpZmZlcmVudCBjb3BpZXMgb2YgUmVhY3RcbiAgICAgIC8vIGFuZCB0aGUgc2FtZSBuYW1lIGFyZSByZW5kZXJlZCBpbnRvIHRoZSBzYW1lIGZvcm0gKHNhbWUgYXMgIzE5MzkpLlxuICAgICAgLy8gVGhhdCdzIHByb2JhYmx5IG9rYXk7IHdlIGRvbid0IHN1cHBvcnQgaXQganVzdCBhcyB3ZSBkb24ndCBzdXBwb3J0XG4gICAgICAvLyBtaXhpbmcgUmVhY3QgcmFkaW8gYnV0dG9ucyB3aXRoIG5vbi1SZWFjdCBvbmVzLlxuXG5cbiAgICAgIHZhciBvdGhlclByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShvdGhlck5vZGUpO1xuXG4gICAgICBpZiAoIW90aGVyUHJvcHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZWFjdERPTUlucHV0OiBNaXhpbmcgUmVhY3QgYW5kIG5vbi1SZWFjdCByYWRpbyBpbnB1dHMgd2l0aCB0aGUgJyArICdzYW1lIGBuYW1lYCBpcyBub3Qgc3VwcG9ydGVkLicpO1xuICAgICAgfSAvLyBXZSBuZWVkIHVwZGF0ZSB0aGUgdHJhY2tlZCB2YWx1ZSBvbiB0aGUgbmFtZWQgY291c2luIHNpbmNlIHRoZSB2YWx1ZVxuICAgICAgLy8gd2FzIGNoYW5nZWQgYnV0IHRoZSBpbnB1dCBzYXcgbm8gZXZlbnQgb3IgdmFsdWUgc2V0XG5cblxuICAgICAgdXBkYXRlVmFsdWVJZkNoYW5nZWQob3RoZXJOb2RlKTsgLy8gSWYgdGhpcyBpcyBhIGNvbnRyb2xsZWQgcmFkaW8gYnV0dG9uIGdyb3VwLCBmb3JjaW5nIHRoZSBpbnB1dCB0aGF0XG4gICAgICAvLyB3YXMgcHJldmlvdXNseSBjaGVja2VkIHRvIHVwZGF0ZSB3aWxsIGNhdXNlIGl0IHRvIGJlIGNvbWUgcmUtY2hlY2tlZFxuICAgICAgLy8gYXMgYXBwcm9wcmlhdGUuXG5cbiAgICAgIHVwZGF0ZVdyYXBwZXIob3RoZXJOb2RlLCBvdGhlclByb3BzKTtcbiAgICB9XG4gIH1cbn0gLy8gSW4gQ2hyb21lLCBhc3NpZ25pbmcgZGVmYXVsdFZhbHVlIHRvIGNlcnRhaW4gaW5wdXQgdHlwZXMgdHJpZ2dlcnMgaW5wdXQgdmFsaWRhdGlvbi5cbi8vIEZvciBudW1iZXIgaW5wdXRzLCB0aGUgZGlzcGxheSB2YWx1ZSBsb3NlcyB0cmFpbGluZyBkZWNpbWFsIHBvaW50cy4gRm9yIGVtYWlsIGlucHV0cyxcbi8vIENocm9tZSByYWlzZXMgXCJUaGUgc3BlY2lmaWVkIHZhbHVlIDx4PiBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXCIuXG4vL1xuLy8gSGVyZSB3ZSBjaGVjayB0byBzZWUgaWYgdGhlIGRlZmF1bHRWYWx1ZSBoYXMgYWN0dWFsbHkgY2hhbmdlZCwgYXZvaWRpbmcgdGhlc2UgcHJvYmxlbXNcbi8vIHdoZW4gdGhlIHVzZXIgaXMgaW5wdXR0aW5nIHRleHRcbi8vXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzcyNTNcblxuXG5mdW5jdGlvbiBzZXREZWZhdWx0VmFsdWUobm9kZSwgdHlwZSwgdmFsdWUpIHtcbiAgaWYgKCAvLyBGb2N1c2VkIG51bWJlciBpbnB1dHMgc3luY2hyb25pemUgb24gYmx1ci4gU2VlIENoYW5nZUV2ZW50UGx1Z2luLmpzXG4gIHR5cGUgIT09ICdudW1iZXInIHx8IGdldEFjdGl2ZUVsZW1lbnQobm9kZS5vd25lckRvY3VtZW50KSAhPT0gbm9kZSkge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IHRvU3RyaW5nKG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5kZWZhdWx0VmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBkaWRXYXJuU2VsZWN0ZWRTZXRPbk9wdGlvbiA9IGZhbHNlO1xudmFyIGRpZFdhcm5JbnZhbGlkQ2hpbGQgPSBmYWxzZTtcbnZhciBkaWRXYXJuSW52YWxpZElubmVySFRNTCA9IGZhbHNlO1xuLyoqXG4gKiBJbXBsZW1lbnRzIGFuIDxvcHRpb24+IGhvc3QgY29tcG9uZW50IHRoYXQgd2FybnMgd2hlbiBgc2VsZWN0ZWRgIGlzIHNldC5cbiAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BzKGVsZW1lbnQsIHByb3BzKSB7XG4gIHtcbiAgICAvLyBJZiBhIHZhbHVlIGlzIG5vdCBwcm92aWRlZCwgdGhlbiB0aGUgY2hpbGRyZW4gbXVzdCBiZSBzaW1wbGUuXG4gICAgaWYgKHByb3BzLnZhbHVlID09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdvYmplY3QnICYmIHByb3BzLmNoaWxkcmVuICE9PSBudWxsKSB7XG4gICAgICAgIFJlYWN0LkNoaWxkcmVuLmZvckVhY2gocHJvcHMuY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgIGlmIChjaGlsZCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGNoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghZGlkV2FybkludmFsaWRDaGlsZCkge1xuICAgICAgICAgICAgZGlkV2FybkludmFsaWRDaGlsZCA9IHRydWU7XG5cbiAgICAgICAgICAgIGVycm9yKCdDYW5ub3QgaW5mZXIgdGhlIG9wdGlvbiB2YWx1ZSBvZiBjb21wbGV4IGNoaWxkcmVuLiAnICsgJ1Bhc3MgYSBgdmFsdWVgIHByb3Agb3IgdXNlIGEgcGxhaW4gc3RyaW5nIGFzIGNoaWxkcmVuIHRvIDxvcHRpb24+LicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCFkaWRXYXJuSW52YWxpZElubmVySFRNTCkge1xuICAgICAgICAgIGRpZFdhcm5JbnZhbGlkSW5uZXJIVE1MID0gdHJ1ZTtcblxuICAgICAgICAgIGVycm9yKCdQYXNzIGEgYHZhbHVlYCBwcm9wIGlmIHlvdSBzZXQgZGFuZ2Vyb3VzbHlJbm5lckhUTUwgc28gUmVhY3Qga25vd3MgJyArICd3aGljaCB2YWx1ZSBzaG91bGQgYmUgc2VsZWN0ZWQuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIFRPRE86IFJlbW92ZSBzdXBwb3J0IGZvciBgc2VsZWN0ZWRgIGluIDxvcHRpb24+LlxuXG5cbiAgICBpZiAocHJvcHMuc2VsZWN0ZWQgIT0gbnVsbCAmJiAhZGlkV2FyblNlbGVjdGVkU2V0T25PcHRpb24pIHtcbiAgICAgIGVycm9yKCdVc2UgdGhlIGBkZWZhdWx0VmFsdWVgIG9yIGB2YWx1ZWAgcHJvcHMgb24gPHNlbGVjdD4gaW5zdGVhZCBvZiAnICsgJ3NldHRpbmcgYHNlbGVjdGVkYCBvbiA8b3B0aW9uPi4nKTtcblxuICAgICAgZGlkV2FyblNlbGVjdGVkU2V0T25PcHRpb24gPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlciQxKGVsZW1lbnQsIHByb3BzKSB7XG4gIC8vIHZhbHVlPVwiXCIgc2hvdWxkIG1ha2UgYSB2YWx1ZSBhdHRyaWJ1dGUgKCM2MjE5KVxuICBpZiAocHJvcHMudmFsdWUgIT0gbnVsbCkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUpKSk7XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDE7XG5cbntcbiAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDEgPSBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkge1xuICB2YXIgb3duZXJOYW1lID0gZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKTtcblxuICBpZiAob3duZXJOYW1lKSB7XG4gICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG93bmVyTmFtZSArICdgLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciB2YWx1ZVByb3BOYW1lcyA9IFsndmFsdWUnLCAnZGVmYXVsdFZhbHVlJ107XG4vKipcbiAqIFZhbGlkYXRpb24gZnVuY3Rpb24gZm9yIGB2YWx1ZWAgYW5kIGBkZWZhdWx0VmFsdWVgLlxuICovXG5cbmZ1bmN0aW9uIGNoZWNrU2VsZWN0UHJvcFR5cGVzKHByb3BzKSB7XG4gIHtcbiAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdzZWxlY3QnLCBwcm9wcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlUHJvcE5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgcHJvcE5hbWUgPSB2YWx1ZVByb3BOYW1lc1tpXTtcblxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgcHJvcE5hbWVJc0FycmF5ID0gaXNBcnJheShwcm9wc1twcm9wTmFtZV0pO1xuXG4gICAgICBpZiAocHJvcHMubXVsdGlwbGUgJiYgIXByb3BOYW1lSXNBcnJheSkge1xuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGFuIGFycmF5IGlmICcgKyAnYG11bHRpcGxlYCBpcyB0cnVlLiVzJywgcHJvcE5hbWUsIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpKTtcbiAgICAgIH0gZWxzZSBpZiAoIXByb3BzLm11bHRpcGxlICYmIHByb3BOYW1lSXNBcnJheSkge1xuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGEgc2NhbGFyICcgKyAndmFsdWUgaWYgYG11bHRpcGxlYCBpcyBmYWxzZS4lcycsIHByb3BOYW1lLCBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU9wdGlvbnMobm9kZSwgbXVsdGlwbGUsIHByb3BWYWx1ZSwgc2V0RGVmYXVsdFNlbGVjdGVkKSB7XG4gIHZhciBvcHRpb25zID0gbm9kZS5vcHRpb25zO1xuXG4gIGlmIChtdWx0aXBsZSkge1xuICAgIHZhciBzZWxlY3RlZFZhbHVlcyA9IHByb3BWYWx1ZTtcbiAgICB2YXIgc2VsZWN0ZWRWYWx1ZSA9IHt9O1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gUHJlZml4IHRvIGF2b2lkIGNoYW9zIHdpdGggc3BlY2lhbCBrZXlzLlxuICAgICAgc2VsZWN0ZWRWYWx1ZVsnJCcgKyBzZWxlY3RlZFZhbHVlc1tpXV0gPSB0cnVlO1xuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBvcHRpb25zLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIHNlbGVjdGVkID0gc2VsZWN0ZWRWYWx1ZS5oYXNPd25Qcm9wZXJ0eSgnJCcgKyBvcHRpb25zW19pXS52YWx1ZSk7XG5cbiAgICAgIGlmIChvcHRpb25zW19pXS5zZWxlY3RlZCAhPT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgb3B0aW9uc1tfaV0uc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdGVkICYmIHNldERlZmF1bHRTZWxlY3RlZCkge1xuICAgICAgICBvcHRpb25zW19pXS5kZWZhdWx0U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBEbyBub3Qgc2V0IGBzZWxlY3QudmFsdWVgIGFzIGV4YWN0IGJlaGF2aW9yIGlzbid0IGNvbnNpc3RlbnQgYWNyb3NzIGFsbFxuICAgIC8vIGJyb3dzZXJzIGZvciBhbGwgY2FzZXMuXG4gICAgdmFyIF9zZWxlY3RlZFZhbHVlID0gdG9TdHJpbmcoZ2V0VG9TdHJpbmdWYWx1ZShwcm9wVmFsdWUpKTtcblxuICAgIHZhciBkZWZhdWx0U2VsZWN0ZWQgPSBudWxsO1xuXG4gICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgb3B0aW9ucy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICBpZiAob3B0aW9uc1tfaTJdLnZhbHVlID09PSBfc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICBvcHRpb25zW19pMl0uc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChzZXREZWZhdWx0U2VsZWN0ZWQpIHtcbiAgICAgICAgICBvcHRpb25zW19pMl0uZGVmYXVsdFNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRlZmF1bHRTZWxlY3RlZCA9PT0gbnVsbCAmJiAhb3B0aW9uc1tfaTJdLmRpc2FibGVkKSB7XG4gICAgICAgIGRlZmF1bHRTZWxlY3RlZCA9IG9wdGlvbnNbX2kyXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdFNlbGVjdGVkICE9PSBudWxsKSB7XG4gICAgICBkZWZhdWx0U2VsZWN0ZWQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBJbXBsZW1lbnRzIGEgPHNlbGVjdD4gaG9zdCBjb21wb25lbnQgdGhhdCBhbGxvd3Mgb3B0aW9uYWxseSBzZXR0aW5nIHRoZVxuICogcHJvcHMgYHZhbHVlYCBhbmQgYGRlZmF1bHRWYWx1ZWAuIElmIGBtdWx0aXBsZWAgaXMgZmFsc2UsIHRoZSBwcm9wIG11c3QgYmUgYVxuICogc3RyaW5nYWJsZS4gSWYgYG11bHRpcGxlYCBpcyB0cnVlLCB0aGUgcHJvcCBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ2FibGVzLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGNoYW5nZSB0aGVcbiAqIHNlbGVjdGVkIG9wdGlvbiB3aWxsIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgcmVuZGVyZWQgb3B0aW9ucy5cbiAqXG4gKiBJZiBpdCBpcyBzdXBwbGllZCAoYW5kIG5vdCBudWxsL3VuZGVmaW5lZCksIHRoZSByZW5kZXJlZCBvcHRpb25zIHdpbGwgbm90XG4gKiB1cGRhdGUgaW4gcmVzcG9uc2UgdG8gdXNlciBhY3Rpb25zLiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIG9wdGlvbnMgdG8gdXBkYXRlLlxuICpcbiAqIElmIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCBhbnkgb3B0aW9ucyB3aXRoIHRoZSBzdXBwbGllZCB2YWx1ZXMgd2lsbCBiZVxuICogc2VsZWN0ZWQuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMkMShlbGVtZW50LCBwcm9wcykge1xuICByZXR1cm4gYXNzaWduKHt9LCBwcm9wcywge1xuICAgIHZhbHVlOiB1bmRlZmluZWRcbiAgfSk7XG59XG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlJDEoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIHtcbiAgICBjaGVja1NlbGVjdFByb3BUeXBlcyhwcm9wcyk7XG4gIH1cblxuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XG4gICAgd2FzTXVsdGlwbGU6ICEhcHJvcHMubXVsdGlwbGVcbiAgfTtcblxuICB7XG4gICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWRpZFdhcm5WYWx1ZURlZmF1bHRWYWx1ZSQxKSB7XG4gICAgICBlcnJvcignU2VsZWN0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBzZWxlY3QgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycpO1xuXG4gICAgICBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSA9IHRydWU7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICBub2RlLm11bHRpcGxlID0gISFwcm9wcy5tdWx0aXBsZTtcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XG5cbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XG4gIH0gZWxzZSBpZiAocHJvcHMuZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHByb3BzLmRlZmF1bHRWYWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RVcGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIHdhc011bHRpcGxlID0gbm9kZS5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlO1xuICBub2RlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGUgPSAhIXByb3BzLm11bHRpcGxlO1xuICB2YXIgdmFsdWUgPSBwcm9wcy52YWx1ZTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgdmFsdWUsIGZhbHNlKTtcbiAgfSBlbHNlIGlmICh3YXNNdWx0aXBsZSAhPT0gISFwcm9wcy5tdWx0aXBsZSkge1xuICAgIC8vIEZvciBzaW1wbGljaXR5LCByZWFwcGx5IGBkZWZhdWx0VmFsdWVgIGlmIGBtdWx0aXBsZWAgaXMgdG9nZ2xlZC5cbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgcHJvcHMuZGVmYXVsdFZhbHVlLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmV2ZXJ0IHRoZSBzZWxlY3QgYmFjayB0byBpdHMgZGVmYXVsdCB1bnNlbGVjdGVkIHN0YXRlLlxuICAgICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCBwcm9wcy5tdWx0aXBsZSA/IFtdIDogJycsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMShlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG4gIHZhciB2YWx1ZSA9IHByb3BzLnZhbHVlO1xuXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCB2YWx1ZSwgZmFsc2UpO1xuICB9XG59XG5cbnZhciBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IGZhbHNlO1xuXG4vKipcbiAqIEltcGxlbWVudHMgYSA8dGV4dGFyZWE+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIHNldHRpbmcgYHZhbHVlYCwgYW5kXG4gKiBgZGVmYXVsdFZhbHVlYC4gVGhpcyBkaWZmZXJzIGZyb20gdGhlIHRyYWRpdGlvbmFsIERPTSBBUEkgYmVjYXVzZSB2YWx1ZSBpc1xuICogdXN1YWxseSBzZXQgYXMgUENEQVRBIGNoaWxkcmVuLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGFmZmVjdCB0aGVcbiAqIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgc3VwcGxpZWQgKGFuZCBub3QgbnVsbC91bmRlZmluZWQpLCB0aGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsXG4gKiBub3QgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIHdpdGggYW4gZW1wdHkgdmFsdWUsIHRoZSBwcm9wXG4gKiBgZGVmYXVsdFZhbHVlYCBpZiBzcGVjaWZpZWQsIG9yIHRoZSBjaGlsZHJlbiBjb250ZW50IChkZXByZWNhdGVkKS5cbiAqL1xuZnVuY3Rpb24gZ2V0SG9zdFByb3BzJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugb24gPHRleHRhcmVhPi4nKTtcbiAgfSAvLyBBbHdheXMgc2V0IGNoaWxkcmVuIHRvIHRoZSBzYW1lIHRoaW5nLiBJbiBJRTksIHRoZSBzZWxlY3Rpb24gcmFuZ2Ugd2lsbFxuICAvLyBnZXQgcmVzZXQgaWYgYHRleHRDb250ZW50YCBpcyBtdXRhdGVkLiAgV2UgY291bGQgYWRkIGEgY2hlY2sgaW4gc2V0VGV4dENvbnRlbnRcbiAgLy8gdG8gb25seSBzZXQgdGhlIHZhbHVlIGlmL3doZW4gdGhlIHZhbHVlIGRpZmZlcnMgZnJvbSB0aGUgbm9kZSB2YWx1ZSAod2hpY2ggd291bGRcbiAgLy8gY29tcGxldGVseSBzb2x2ZSB0aGlzIElFOSBidWcpLCBidXQgU2ViYXN0aWFuK1NvcGhpZSBzZWVtZWQgdG8gbGlrZSB0aGlzXG4gIC8vIHNvbHV0aW9uLiBUaGUgdmFsdWUgY2FuIGJlIGEgYm9vbGVhbiBvciBvYmplY3Qgc28gdGhhdCdzIHdoeSBpdCdzIGZvcmNlZFxuICAvLyB0byBiZSBhIHN0cmluZy5cblxuXG4gIHZhciBob3N0UHJvcHMgPSBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICBjaGlsZHJlbjogdG9TdHJpbmcobm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSlcbiAgfSk7XG5cbiAgcmV0dXJuIGhvc3RQcm9wcztcbn1cbmZ1bmN0aW9uIGluaXRXcmFwcGVyU3RhdGUkMihlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG5cbiAge1xuICAgIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHMoJ3RleHRhcmVhJywgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWRpZFdhcm5WYWxEZWZhdWx0VmFsKSB7XG4gICAgICBlcnJvcignJXMgY29udGFpbnMgYSB0ZXh0YXJlYSB3aXRoIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wcy4gJyArICdUZXh0YXJlYSBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgdGV4dGFyZWEgJyArICdhbmQgcmVtb3ZlIG9uZSBvZiB0aGVzZSBwcm9wcy4gTW9yZSBpbmZvOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcpO1xuXG4gICAgICBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGluaXRpYWxWYWx1ZSA9IHByb3BzLnZhbHVlOyAvLyBPbmx5IGJvdGhlciBmZXRjaGluZyBkZWZhdWx0IHZhbHVlIGlmIHdlJ3JlIGdvaW5nIHRvIHVzZSBpdFxuXG4gIGlmIChpbml0aWFsVmFsdWUgPT0gbnVsbCkge1xuICAgIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgICAgICBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWU7XG5cbiAgICBpZiAoY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICBlcnJvcignVXNlIHRoZSBgZGVmYXVsdFZhbHVlYCBvciBgdmFsdWVgIHByb3BzIGluc3RlYWQgb2Ygc2V0dGluZyAnICsgJ2NoaWxkcmVuIG9uIDx0ZXh0YXJlYT4uJyk7XG4gICAgICB9XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJZiB5b3Ugc3VwcGx5IGBkZWZhdWx0VmFsdWVgIG9uIGEgPHRleHRhcmVhPiwgZG8gbm90IHBhc3MgY2hpbGRyZW4uJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCc8dGV4dGFyZWE+IGNhbiBvbmx5IGhhdmUgYXQgbW9zdCBvbmUgY2hpbGQuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlblswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGNoaWxkcmVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZWZhdWx0VmFsdWUgPT0gbnVsbCkge1xuICAgICAgZGVmYXVsdFZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgaW5pdGlhbFZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgbm9kZS5fd3JhcHBlclN0YXRlID0ge1xuICAgIGluaXRpYWxWYWx1ZTogZ2V0VG9TdHJpbmdWYWx1ZShpbml0aWFsVmFsdWUpXG4gIH07XG59XG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgdmFsdWUgPSBnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLnZhbHVlKTtcbiAgdmFyIGRlZmF1bHRWYWx1ZSA9IGdldFRvU3RyaW5nVmFsdWUocHJvcHMuZGVmYXVsdFZhbHVlKTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIC8vIENhc3QgYHZhbHVlYCB0byBhIHN0cmluZyB0byBlbnN1cmUgdGhlIHZhbHVlIGlzIHNldCBjb3JyZWN0bHkuIFdoaWxlXG4gICAgLy8gYnJvd3NlcnMgdHlwaWNhbGx5IGRvIHRoaXMgYXMgbmVjZXNzYXJ5LCBqc2RvbSBkb2Vzbid0LlxuICAgIHZhciBuZXdWYWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTsgLy8gVG8gYXZvaWQgc2lkZSBlZmZlY3RzIChzdWNoIGFzIGxvc2luZyB0ZXh0IHNlbGVjdGlvbiksIG9ubHkgc2V0IHZhbHVlIGlmIGNoYW5nZWRcblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gbm9kZS52YWx1ZSkge1xuICAgICAgbm9kZS52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCAmJiBub2RlLmRlZmF1bHRWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIG5vZGUuZGVmYXVsdFZhbHVlID0gbmV3VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyhkZWZhdWx0VmFsdWUpO1xuICB9XG59XG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDMoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50OyAvLyBUaGlzIGlzIGluIHBvc3RNb3VudCBiZWNhdXNlIHdlIG5lZWQgYWNjZXNzIHRvIHRoZSBET00gbm9kZSwgd2hpY2ggaXMgbm90XG4gIC8vIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBtb3VudGVkLlxuXG4gIHZhciB0ZXh0Q29udGVudCA9IG5vZGUudGV4dENvbnRlbnQ7IC8vIE9ubHkgc2V0IG5vZGUudmFsdWUgaWYgdGV4dENvbnRlbnQgaXMgZXF1YWwgdG8gdGhlIGV4cGVjdGVkXG4gIC8vIGluaXRpYWwgdmFsdWUuIEluIElFMTAvSUUxMSB0aGVyZSBpcyBhIGJ1ZyB3aGVyZSB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlXG4gIC8vIHdpbGwgcG9wdWxhdGUgdGV4dENvbnRlbnQgYXMgd2VsbC5cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTAxNTI1L1xuXG4gIGlmICh0ZXh0Q29udGVudCA9PT0gbm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSkge1xuICAgIGlmICh0ZXh0Q29udGVudCAhPT0gJycgJiYgdGV4dENvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgIG5vZGUudmFsdWUgPSB0ZXh0Q29udGVudDtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMihlbGVtZW50LCBwcm9wcykge1xuICAvLyBET00gY29tcG9uZW50IGlzIHN0aWxsIG1vdW50ZWQ7IHVwZGF0ZVxuICB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpO1xufVxuXG52YXIgSFRNTF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc7XG52YXIgTUFUSF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCc7XG52YXIgU1ZHX05BTUVTUEFDRSA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7IC8vIEFzc3VtZXMgdGhlcmUgaXMgbm8gcGFyZW50IG5hbWVzcGFjZS5cblxuZnVuY3Rpb24gZ2V0SW50cmluc2ljTmFtZXNwYWNlKHR5cGUpIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnc3ZnJzpcbiAgICAgIHJldHVybiBTVkdfTkFNRVNQQUNFO1xuXG4gICAgY2FzZSAnbWF0aCc6XG4gICAgICByZXR1cm4gTUFUSF9OQU1FU1BBQ0U7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIEhUTUxfTkFNRVNQQUNFO1xuICB9XG59XG5mdW5jdGlvbiBnZXRDaGlsZE5hbWVzcGFjZShwYXJlbnROYW1lc3BhY2UsIHR5cGUpIHtcbiAgaWYgKHBhcmVudE5hbWVzcGFjZSA9PSBudWxsIHx8IHBhcmVudE5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcbiAgICAvLyBObyAob3IgZGVmYXVsdCkgcGFyZW50IG5hbWVzcGFjZTogcG90ZW50aWFsIGVudHJ5IHBvaW50LlxuICAgIHJldHVybiBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSk7XG4gIH1cblxuICBpZiAocGFyZW50TmFtZXNwYWNlID09PSBTVkdfTkFNRVNQQUNFICYmIHR5cGUgPT09ICdmb3JlaWduT2JqZWN0Jykge1xuICAgIC8vIFdlJ3JlIGxlYXZpbmcgU1ZHLlxuICAgIHJldHVybiBIVE1MX05BTUVTUEFDRTtcbiAgfSAvLyBCeSBkZWZhdWx0LCBwYXNzIG5hbWVzcGFjZSBiZWxvdy5cblxuXG4gIHJldHVybiBwYXJlbnROYW1lc3BhY2U7XG59XG5cbi8qIGdsb2JhbHMgTVNBcHAgKi9cblxuLyoqXG4gKiBDcmVhdGUgYSBmdW5jdGlvbiB3aGljaCBoYXMgJ3Vuc2FmZScgcHJpdmlsZWdlcyAocmVxdWlyZWQgYnkgd2luZG93czggYXBwcylcbiAqL1xudmFyIGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24gPSBmdW5jdGlvbiAoZnVuYykge1xuICBpZiAodHlwZW9mIE1TQXBwICE9PSAndW5kZWZpbmVkJyAmJiBNU0FwcC5leGVjVW5zYWZlTG9jYWxGdW5jdGlvbikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMiwgYXJnMykge1xuICAgICAgTVNBcHAuZXhlY1Vuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZnVuYyhhcmcwLCBhcmcxLCBhcmcyLCBhcmczKTtcbiAgICAgIH0pO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH1cbn07XG5cbnZhciByZXVzYWJsZVNWR0NvbnRhaW5lcjtcbi8qKlxuICogU2V0IHRoZSBpbm5lckhUTUwgcHJvcGVydHkgb2YgYSBub2RlXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxuICogQGludGVybmFsXG4gKi9cblxudmFyIHNldElubmVySFRNTCA9IGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKG5vZGUsIGh0bWwpIHtcbiAgaWYgKG5vZGUubmFtZXNwYWNlVVJJID09PSBTVkdfTkFNRVNQQUNFKSB7XG5cbiAgICBpZiAoISgnaW5uZXJIVE1MJyBpbiBub2RlKSkge1xuICAgICAgLy8gSUUgZG9lcyBub3QgaGF2ZSBpbm5lckhUTUwgZm9yIFNWRyBub2Rlcywgc28gaW5zdGVhZCB3ZSBpbmplY3QgdGhlXG4gICAgICAvLyBuZXcgbWFya3VwIGluIGEgdGVtcCBub2RlIGFuZCB0aGVuIG1vdmUgdGhlIGNoaWxkIG5vZGVzIGFjcm9zcyBpbnRvXG4gICAgICAvLyB0aGUgdGFyZ2V0IG5vZGVcbiAgICAgIHJldXNhYmxlU1ZHQ29udGFpbmVyID0gcmV1c2FibGVTVkdDb250YWluZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICByZXVzYWJsZVNWR0NvbnRhaW5lci5pbm5lckhUTUwgPSAnPHN2Zz4nICsgaHRtbC52YWx1ZU9mKCkudG9TdHJpbmcoKSArICc8L3N2Zz4nO1xuICAgICAgdmFyIHN2Z05vZGUgPSByZXVzYWJsZVNWR0NvbnRhaW5lci5maXJzdENoaWxkO1xuXG4gICAgICB3aGlsZSAobm9kZS5maXJzdENoaWxkKSB7XG4gICAgICAgIG5vZGUucmVtb3ZlQ2hpbGQobm9kZS5maXJzdENoaWxkKTtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKHN2Z05vZGUuZmlyc3RDaGlsZCkge1xuICAgICAgICBub2RlLmFwcGVuZENoaWxkKHN2Z05vZGUuZmlyc3RDaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBub2RlLmlubmVySFRNTCA9IGh0bWw7XG59KTtcblxuLyoqXG4gKiBIVE1MIG5vZGVUeXBlIHZhbHVlcyB0aGF0IHJlcHJlc2VudCB0aGUgdHlwZSBvZiB0aGUgbm9kZVxuICovXG52YXIgRUxFTUVOVF9OT0RFID0gMTtcbnZhciBURVhUX05PREUgPSAzO1xudmFyIENPTU1FTlRfTk9ERSA9IDg7XG52YXIgRE9DVU1FTlRfTk9ERSA9IDk7XG52YXIgRE9DVU1FTlRfRlJBR01FTlRfTk9ERSA9IDExO1xuXG4vKipcbiAqIFNldCB0aGUgdGV4dENvbnRlbnQgcHJvcGVydHkgb2YgYSBub2RlLiBGb3IgdGV4dCB1cGRhdGVzLCBpdCdzIGZhc3RlclxuICogdG8gc2V0IHRoZSBgbm9kZVZhbHVlYCBvZiB0aGUgVGV4dCBub2RlIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmdcbiAqIGAudGV4dENvbnRlbnRgIHdoaWNoIHdpbGwgcmVtb3ZlIHRoZSBleGlzdGluZyBub2RlIGFuZCBjcmVhdGUgYSBuZXcgb25lLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAqIEBpbnRlcm5hbFxuICovXG5cbnZhciBzZXRUZXh0Q29udGVudCA9IGZ1bmN0aW9uIChub2RlLCB0ZXh0KSB7XG4gIGlmICh0ZXh0KSB7XG4gICAgdmFyIGZpcnN0Q2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICBpZiAoZmlyc3RDaGlsZCAmJiBmaXJzdENoaWxkID09PSBub2RlLmxhc3RDaGlsZCAmJiBmaXJzdENoaWxkLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcbiAgICAgIGZpcnN0Q2hpbGQubm9kZVZhbHVlID0gdGV4dDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcbn07XG5cbi8vIExpc3QgZGVyaXZlZCBmcm9tIEdlY2tvIHNvdXJjZSBjb2RlOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvNGU2MzhlZmM3MS9sYXlvdXQvc3R5bGUvdGVzdC9wcm9wZXJ0eV9kYXRhYmFzZS5qc1xudmFyIHNob3J0aGFuZFRvTG9uZ2hhbmQgPSB7XG4gIGFuaW1hdGlvbjogWydhbmltYXRpb25EZWxheScsICdhbmltYXRpb25EaXJlY3Rpb24nLCAnYW5pbWF0aW9uRHVyYXRpb24nLCAnYW5pbWF0aW9uRmlsbE1vZGUnLCAnYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQnLCAnYW5pbWF0aW9uTmFtZScsICdhbmltYXRpb25QbGF5U3RhdGUnLCAnYW5pbWF0aW9uVGltaW5nRnVuY3Rpb24nXSxcbiAgYmFja2dyb3VuZDogWydiYWNrZ3JvdW5kQXR0YWNobWVudCcsICdiYWNrZ3JvdW5kQ2xpcCcsICdiYWNrZ3JvdW5kQ29sb3InLCAnYmFja2dyb3VuZEltYWdlJywgJ2JhY2tncm91bmRPcmlnaW4nLCAnYmFja2dyb3VuZFBvc2l0aW9uWCcsICdiYWNrZ3JvdW5kUG9zaXRpb25ZJywgJ2JhY2tncm91bmRSZXBlYXQnLCAnYmFja2dyb3VuZFNpemUnXSxcbiAgYmFja2dyb3VuZFBvc2l0aW9uOiBbJ2JhY2tncm91bmRQb3NpdGlvblgnLCAnYmFja2dyb3VuZFBvc2l0aW9uWSddLFxuICBib3JkZXI6IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyQm90dG9tV2lkdGgnLCAnYm9yZGVySW1hZ2VPdXRzZXQnLCAnYm9yZGVySW1hZ2VSZXBlYXQnLCAnYm9yZGVySW1hZ2VTbGljZScsICdib3JkZXJJbWFnZVNvdXJjZScsICdib3JkZXJJbWFnZVdpZHRoJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJMZWZ0U3R5bGUnLCAnYm9yZGVyTGVmdFdpZHRoJywgJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJywgJ2JvcmRlclRvcENvbG9yJywgJ2JvcmRlclRvcFN0eWxlJywgJ2JvcmRlclRvcFdpZHRoJ10sXG4gIGJvcmRlckJsb2NrRW5kOiBbJ2JvcmRlckJsb2NrRW5kQ29sb3InLCAnYm9yZGVyQmxvY2tFbmRTdHlsZScsICdib3JkZXJCbG9ja0VuZFdpZHRoJ10sXG4gIGJvcmRlckJsb2NrU3RhcnQ6IFsnYm9yZGVyQmxvY2tTdGFydENvbG9yJywgJ2JvcmRlckJsb2NrU3RhcnRTdHlsZScsICdib3JkZXJCbG9ja1N0YXJ0V2lkdGgnXSxcbiAgYm9yZGVyQm90dG9tOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckJvdHRvbVN0eWxlJywgJ2JvcmRlckJvdHRvbVdpZHRoJ10sXG4gIGJvcmRlckNvbG9yOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJSaWdodENvbG9yJywgJ2JvcmRlclRvcENvbG9yJ10sXG4gIGJvcmRlckltYWdlOiBbJ2JvcmRlckltYWdlT3V0c2V0JywgJ2JvcmRlckltYWdlUmVwZWF0JywgJ2JvcmRlckltYWdlU2xpY2UnLCAnYm9yZGVySW1hZ2VTb3VyY2UnLCAnYm9yZGVySW1hZ2VXaWR0aCddLFxuICBib3JkZXJJbmxpbmVFbmQ6IFsnYm9yZGVySW5saW5lRW5kQ29sb3InLCAnYm9yZGVySW5saW5lRW5kU3R5bGUnLCAnYm9yZGVySW5saW5lRW5kV2lkdGgnXSxcbiAgYm9yZGVySW5saW5lU3RhcnQ6IFsnYm9yZGVySW5saW5lU3RhcnRDb2xvcicsICdib3JkZXJJbmxpbmVTdGFydFN0eWxlJywgJ2JvcmRlcklubGluZVN0YXJ0V2lkdGgnXSxcbiAgYm9yZGVyTGVmdDogWydib3JkZXJMZWZ0Q29sb3InLCAnYm9yZGVyTGVmdFN0eWxlJywgJ2JvcmRlckxlZnRXaWR0aCddLFxuICBib3JkZXJSYWRpdXM6IFsnYm9yZGVyQm90dG9tTGVmdFJhZGl1cycsICdib3JkZXJCb3R0b21SaWdodFJhZGl1cycsICdib3JkZXJUb3BMZWZ0UmFkaXVzJywgJ2JvcmRlclRvcFJpZ2h0UmFkaXVzJ10sXG4gIGJvcmRlclJpZ2h0OiBbJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJ10sXG4gIGJvcmRlclN0eWxlOiBbJ2JvcmRlckJvdHRvbVN0eWxlJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclRvcFN0eWxlJ10sXG4gIGJvcmRlclRvcDogWydib3JkZXJUb3BDb2xvcicsICdib3JkZXJUb3BTdHlsZScsICdib3JkZXJUb3BXaWR0aCddLFxuICBib3JkZXJXaWR0aDogWydib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRXaWR0aCcsICdib3JkZXJUb3BXaWR0aCddLFxuICBjb2x1bW5SdWxlOiBbJ2NvbHVtblJ1bGVDb2xvcicsICdjb2x1bW5SdWxlU3R5bGUnLCAnY29sdW1uUnVsZVdpZHRoJ10sXG4gIGNvbHVtbnM6IFsnY29sdW1uQ291bnQnLCAnY29sdW1uV2lkdGgnXSxcbiAgZmxleDogWydmbGV4QmFzaXMnLCAnZmxleEdyb3cnLCAnZmxleFNocmluayddLFxuICBmbGV4RmxvdzogWydmbGV4RGlyZWN0aW9uJywgJ2ZsZXhXcmFwJ10sXG4gIGZvbnQ6IFsnZm9udEZhbWlseScsICdmb250RmVhdHVyZVNldHRpbmdzJywgJ2ZvbnRLZXJuaW5nJywgJ2ZvbnRMYW5ndWFnZU92ZXJyaWRlJywgJ2ZvbnRTaXplJywgJ2ZvbnRTaXplQWRqdXN0JywgJ2ZvbnRTdHJldGNoJywgJ2ZvbnRTdHlsZScsICdmb250VmFyaWFudCcsICdmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJywgJ2ZvbnRXZWlnaHQnLCAnbGluZUhlaWdodCddLFxuICBmb250VmFyaWFudDogWydmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJ10sXG4gIGdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXG4gIGdyaWQ6IFsnZ3JpZEF1dG9Db2x1bW5zJywgJ2dyaWRBdXRvRmxvdycsICdncmlkQXV0b1Jvd3MnLCAnZ3JpZFRlbXBsYXRlQXJlYXMnLCAnZ3JpZFRlbXBsYXRlQ29sdW1ucycsICdncmlkVGVtcGxhdGVSb3dzJ10sXG4gIGdyaWRBcmVhOiBbJ2dyaWRDb2x1bW5FbmQnLCAnZ3JpZENvbHVtblN0YXJ0JywgJ2dyaWRSb3dFbmQnLCAnZ3JpZFJvd1N0YXJ0J10sXG4gIGdyaWRDb2x1bW46IFsnZ3JpZENvbHVtbkVuZCcsICdncmlkQ29sdW1uU3RhcnQnXSxcbiAgZ3JpZENvbHVtbkdhcDogWydjb2x1bW5HYXAnXSxcbiAgZ3JpZEdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXG4gIGdyaWRSb3c6IFsnZ3JpZFJvd0VuZCcsICdncmlkUm93U3RhcnQnXSxcbiAgZ3JpZFJvd0dhcDogWydyb3dHYXAnXSxcbiAgZ3JpZFRlbXBsYXRlOiBbJ2dyaWRUZW1wbGF0ZUFyZWFzJywgJ2dyaWRUZW1wbGF0ZUNvbHVtbnMnLCAnZ3JpZFRlbXBsYXRlUm93cyddLFxuICBsaXN0U3R5bGU6IFsnbGlzdFN0eWxlSW1hZ2UnLCAnbGlzdFN0eWxlUG9zaXRpb24nLCAnbGlzdFN0eWxlVHlwZSddLFxuICBtYXJnaW46IFsnbWFyZ2luQm90dG9tJywgJ21hcmdpbkxlZnQnLCAnbWFyZ2luUmlnaHQnLCAnbWFyZ2luVG9wJ10sXG4gIG1hcmtlcjogWydtYXJrZXJFbmQnLCAnbWFya2VyTWlkJywgJ21hcmtlclN0YXJ0J10sXG4gIG1hc2s6IFsnbWFza0NsaXAnLCAnbWFza0NvbXBvc2l0ZScsICdtYXNrSW1hZ2UnLCAnbWFza01vZGUnLCAnbWFza09yaWdpbicsICdtYXNrUG9zaXRpb25YJywgJ21hc2tQb3NpdGlvblknLCAnbWFza1JlcGVhdCcsICdtYXNrU2l6ZSddLFxuICBtYXNrUG9zaXRpb246IFsnbWFza1Bvc2l0aW9uWCcsICdtYXNrUG9zaXRpb25ZJ10sXG4gIG91dGxpbmU6IFsnb3V0bGluZUNvbG9yJywgJ291dGxpbmVTdHlsZScsICdvdXRsaW5lV2lkdGgnXSxcbiAgb3ZlcmZsb3c6IFsnb3ZlcmZsb3dYJywgJ292ZXJmbG93WSddLFxuICBwYWRkaW5nOiBbJ3BhZGRpbmdCb3R0b20nLCAncGFkZGluZ0xlZnQnLCAncGFkZGluZ1JpZ2h0JywgJ3BhZGRpbmdUb3AnXSxcbiAgcGxhY2VDb250ZW50OiBbJ2FsaWduQ29udGVudCcsICdqdXN0aWZ5Q29udGVudCddLFxuICBwbGFjZUl0ZW1zOiBbJ2FsaWduSXRlbXMnLCAnanVzdGlmeUl0ZW1zJ10sXG4gIHBsYWNlU2VsZjogWydhbGlnblNlbGYnLCAnanVzdGlmeVNlbGYnXSxcbiAgdGV4dERlY29yYXRpb246IFsndGV4dERlY29yYXRpb25Db2xvcicsICd0ZXh0RGVjb3JhdGlvbkxpbmUnLCAndGV4dERlY29yYXRpb25TdHlsZSddLFxuICB0ZXh0RW1waGFzaXM6IFsndGV4dEVtcGhhc2lzQ29sb3InLCAndGV4dEVtcGhhc2lzU3R5bGUnXSxcbiAgdHJhbnNpdGlvbjogWyd0cmFuc2l0aW9uRGVsYXknLCAndHJhbnNpdGlvbkR1cmF0aW9uJywgJ3RyYW5zaXRpb25Qcm9wZXJ0eScsICd0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24nXSxcbiAgd29yZFdyYXA6IFsnb3ZlcmZsb3dXcmFwJ11cbn07XG5cbi8qKlxuICogQ1NTIHByb3BlcnRpZXMgd2hpY2ggYWNjZXB0IG51bWJlcnMgYnV0IGFyZSBub3QgaW4gdW5pdHMgb2YgXCJweFwiLlxuICovXG52YXIgaXNVbml0bGVzc051bWJlciA9IHtcbiAgYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6IHRydWUsXG4gIGFzcGVjdFJhdGlvOiB0cnVlLFxuICBib3JkZXJJbWFnZU91dHNldDogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VTbGljZTogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VXaWR0aDogdHJ1ZSxcbiAgYm94RmxleDogdHJ1ZSxcbiAgYm94RmxleEdyb3VwOiB0cnVlLFxuICBib3hPcmRpbmFsR3JvdXA6IHRydWUsXG4gIGNvbHVtbkNvdW50OiB0cnVlLFxuICBjb2x1bW5zOiB0cnVlLFxuICBmbGV4OiB0cnVlLFxuICBmbGV4R3JvdzogdHJ1ZSxcbiAgZmxleFBvc2l0aXZlOiB0cnVlLFxuICBmbGV4U2hyaW5rOiB0cnVlLFxuICBmbGV4TmVnYXRpdmU6IHRydWUsXG4gIGZsZXhPcmRlcjogdHJ1ZSxcbiAgZ3JpZEFyZWE6IHRydWUsXG4gIGdyaWRSb3c6IHRydWUsXG4gIGdyaWRSb3dFbmQ6IHRydWUsXG4gIGdyaWRSb3dTcGFuOiB0cnVlLFxuICBncmlkUm93U3RhcnQ6IHRydWUsXG4gIGdyaWRDb2x1bW46IHRydWUsXG4gIGdyaWRDb2x1bW5FbmQ6IHRydWUsXG4gIGdyaWRDb2x1bW5TcGFuOiB0cnVlLFxuICBncmlkQ29sdW1uU3RhcnQ6IHRydWUsXG4gIGZvbnRXZWlnaHQ6IHRydWUsXG4gIGxpbmVDbGFtcDogdHJ1ZSxcbiAgbGluZUhlaWdodDogdHJ1ZSxcbiAgb3BhY2l0eTogdHJ1ZSxcbiAgb3JkZXI6IHRydWUsXG4gIG9ycGhhbnM6IHRydWUsXG4gIHRhYlNpemU6IHRydWUsXG4gIHdpZG93czogdHJ1ZSxcbiAgekluZGV4OiB0cnVlLFxuICB6b29tOiB0cnVlLFxuICAvLyBTVkctcmVsYXRlZCBwcm9wZXJ0aWVzXG4gIGZpbGxPcGFjaXR5OiB0cnVlLFxuICBmbG9vZE9wYWNpdHk6IHRydWUsXG4gIHN0b3BPcGFjaXR5OiB0cnVlLFxuICBzdHJva2VEYXNoYXJyYXk6IHRydWUsXG4gIHN0cm9rZURhc2hvZmZzZXQ6IHRydWUsXG4gIHN0cm9rZU1pdGVybGltaXQ6IHRydWUsXG4gIHN0cm9rZU9wYWNpdHk6IHRydWUsXG4gIHN0cm9rZVdpZHRoOiB0cnVlXG59O1xuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJlZml4IHZlbmRvci1zcGVjaWZpYyBwcmVmaXgsIGVnOiBXZWJraXRcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgc3R5bGUgbmFtZSwgZWc6IHRyYW5zaXRpb25EdXJhdGlvblxuICogQHJldHVybiB7c3RyaW5nfSBzdHlsZSBuYW1lIHByZWZpeGVkIHdpdGggYHByZWZpeGAsIHByb3Blcmx5IGNhbWVsQ2FzZWQsIGVnOlxuICogV2Via2l0VHJhbnNpdGlvbkR1cmF0aW9uXG4gKi9cblxuZnVuY3Rpb24gcHJlZml4S2V5KHByZWZpeCwga2V5KSB7XG4gIHJldHVybiBwcmVmaXggKyBrZXkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBrZXkuc3Vic3RyaW5nKDEpO1xufVxuLyoqXG4gKiBTdXBwb3J0IHN0eWxlIG5hbWVzIHRoYXQgbWF5IGNvbWUgcGFzc2VkIGluIHByZWZpeGVkIGJ5IGFkZGluZyBwZXJtdXRhdGlvbnNcbiAqIG9mIHZlbmRvciBwcmVmaXhlcy5cbiAqL1xuXG5cbnZhciBwcmVmaXhlcyA9IFsnV2Via2l0JywgJ21zJywgJ01veicsICdPJ107IC8vIFVzaW5nIE9iamVjdC5rZXlzIGhlcmUsIG9yIGVsc2UgdGhlIHZhbmlsbGEgZm9yLWluIGxvb3AgbWFrZXMgSUU4IGdvIGludG8gYW5cbi8vIGluZmluaXRlIGxvb3AsIGJlY2F1c2UgaXQgaXRlcmF0ZXMgb3ZlciB0aGUgbmV3bHkgYWRkZWQgcHJvcHMgdG9vLlxuXG5PYmplY3Qua2V5cyhpc1VuaXRsZXNzTnVtYmVyKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gIHByZWZpeGVzLmZvckVhY2goZnVuY3Rpb24gKHByZWZpeCkge1xuICAgIGlzVW5pdGxlc3NOdW1iZXJbcHJlZml4S2V5KHByZWZpeCwgcHJvcCldID0gaXNVbml0bGVzc051bWJlcltwcm9wXTtcbiAgfSk7XG59KTtcblxuLyoqXG4gKiBDb252ZXJ0IGEgdmFsdWUgaW50byB0aGUgcHJvcGVyIGNzcyB3cml0YWJsZSB2YWx1ZS4gVGhlIHN0eWxlIG5hbWUgYG5hbWVgXG4gKiBzaG91bGQgYmUgbG9naWNhbCAobm8gaHlwaGVucyksIGFzIHNwZWNpZmllZFxuICogaW4gYENTU1Byb3BlcnR5LmlzVW5pdGxlc3NOdW1iZXJgLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIENTUyBwcm9wZXJ0eSBuYW1lIHN1Y2ggYXMgYHRvcE1hcmdpbmAuXG4gKiBAcGFyYW0geyp9IHZhbHVlIENTUyBwcm9wZXJ0eSB2YWx1ZSBzdWNoIGFzIGAxMHB4YC5cbiAqIEByZXR1cm4ge3N0cmluZ30gTm9ybWFsaXplZCBzdHlsZSB2YWx1ZSB3aXRoIGRpbWVuc2lvbnMgYXBwbGllZC5cbiAqL1xuXG5mdW5jdGlvbiBkYW5nZXJvdXNTdHlsZVZhbHVlKG5hbWUsIHZhbHVlLCBpc0N1c3RvbVByb3BlcnR5KSB7XG4gIC8vIE5vdGUgdGhhdCB3ZSd2ZSByZW1vdmVkIGVzY2FwZVRleHRGb3JCcm93c2VyKCkgY2FsbHMgaGVyZSBzaW5jZSB0aGVcbiAgLy8gd2hvbGUgc3RyaW5nIHdpbGwgYmUgZXNjYXBlZCB3aGVuIHRoZSBhdHRyaWJ1dGUgaXMgaW5qZWN0ZWQgaW50b1xuICAvLyB0aGUgbWFya3VwLiBJZiB5b3UgcHJvdmlkZSB1bnNhZmUgdXNlciBkYXRhIGhlcmUgdGhleSBjYW4gaW5qZWN0XG4gIC8vIGFyYml0cmFyeSBDU1Mgd2hpY2ggbWF5IGJlIHByb2JsZW1hdGljIChJIGNvdWxkbid0IHJlcHJvIHRoaXMpOlxuICAvLyBodHRwczovL3d3dy5vd2FzcC5vcmcvaW5kZXgucGhwL1hTU19GaWx0ZXJfRXZhc2lvbl9DaGVhdF9TaGVldFxuICAvLyBodHRwOi8vd3d3LnRoZXNwYW5uZXIuY28udWsvMjAwNy8xMS8yNi91bHRpbWF0ZS14c3MtY3NzLWluamVjdGlvbi9cbiAgLy8gVGhpcyBpcyBub3QgYW4gWFNTIGhvbGUgYnV0IGluc3RlYWQgYSBwb3RlbnRpYWwgQ1NTIGluamVjdGlvbiBpc3N1ZVxuICAvLyB3aGljaCBoYXMgbGVhZCB0byBhIGdyZWF0ZXIgZGlzY3Vzc2lvbiBhYm91dCBob3cgd2UncmUgZ29pbmcgdG9cbiAgLy8gdHJ1c3QgVVJMcyBtb3ZpbmcgZm9yd2FyZC4gU2VlICMyMTE1OTAxXG4gIHZhciBpc0VtcHR5ID0gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XG5cbiAgaWYgKGlzRW1wdHkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhKGlzVW5pdGxlc3NOdW1iZXIuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgaXNVbml0bGVzc051bWJlcltuYW1lXSkpIHtcbiAgICByZXR1cm4gdmFsdWUgKyAncHgnOyAvLyBQcmVzdW1lcyBpbXBsaWNpdCAncHgnIHN1ZmZpeCBmb3IgdW5pdGxlc3MgbnVtYmVyc1xuICB9XG5cbiAge1xuICAgIGNoZWNrQ1NTUHJvcGVydHlTdHJpbmdDb2VyY2lvbih2YWx1ZSwgbmFtZSk7XG4gIH1cblxuICByZXR1cm4gKCcnICsgdmFsdWUpLnRyaW0oKTtcbn1cblxudmFyIHVwcGVyY2FzZVBhdHRlcm4gPSAvKFtBLVpdKS9nO1xudmFyIG1zUGF0dGVybiA9IC9ebXMtLztcbi8qKlxuICogSHlwaGVuYXRlcyBhIGNhbWVsY2FzZWQgQ1NTIHByb3BlcnR5IG5hbWUsIGZvciBleGFtcGxlOlxuICpcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ2JhY2tncm91bmRDb2xvcicpXG4gKiAgIDwgXCJiYWNrZ3JvdW5kLWNvbG9yXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ01velRyYW5zaXRpb24nKVxuICogICA8IFwiLW1vei10cmFuc2l0aW9uXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ21zVHJhbnNpdGlvbicpXG4gKiAgIDwgXCItbXMtdHJhbnNpdGlvblwiXG4gKlxuICogQXMgTW9kZXJuaXpyIHN1Z2dlc3RzIChodHRwOi8vbW9kZXJuaXpyLmNvbS9kb2NzLyNwcmVmaXhlZCksIGFuIGBtc2AgcHJlZml4XG4gKiBpcyBjb252ZXJ0ZWQgdG8gYC1tcy1gLlxuICovXG5cbmZ1bmN0aW9uIGh5cGhlbmF0ZVN0eWxlTmFtZShuYW1lKSB7XG4gIHJldHVybiBuYW1lLnJlcGxhY2UodXBwZXJjYXNlUGF0dGVybiwgJy0kMScpLnRvTG93ZXJDYXNlKCkucmVwbGFjZShtc1BhdHRlcm4sICctbXMtJyk7XG59XG5cbnZhciB3YXJuVmFsaWRTdHlsZSA9IGZ1bmN0aW9uICgpIHt9O1xuXG57XG4gIC8vICdtc1RyYW5zZm9ybScgaXMgY29ycmVjdCwgYnV0IHRoZSBvdGhlciBwcmVmaXhlcyBzaG91bGQgYmUgY2FwaXRhbGl6ZWRcbiAgdmFyIGJhZFZlbmRvcmVkU3R5bGVOYW1lUGF0dGVybiA9IC9eKD86d2Via2l0fG1venxvKVtBLVpdLztcbiAgdmFyIG1zUGF0dGVybiQxID0gL14tbXMtLztcbiAgdmFyIGh5cGhlblBhdHRlcm4gPSAvLSguKS9nOyAvLyBzdHlsZSB2YWx1ZXMgc2hvdWxkbid0IGNvbnRhaW4gYSBzZW1pY29sb25cblxuICB2YXIgYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuID0gLztcXHMqJC87XG4gIHZhciB3YXJuZWRTdHlsZU5hbWVzID0ge307XG4gIHZhciB3YXJuZWRTdHlsZVZhbHVlcyA9IHt9O1xuICB2YXIgd2FybmVkRm9yTmFOVmFsdWUgPSBmYWxzZTtcbiAgdmFyIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSBmYWxzZTtcblxuICB2YXIgY2FtZWxpemUgPSBmdW5jdGlvbiAoc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGh5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChfLCBjaGFyYWN0ZXIpIHtcbiAgICAgIHJldHVybiBjaGFyYWN0ZXIudG9VcHBlckNhc2UoKTtcbiAgICB9KTtcbiAgfTtcblxuICB2YXIgd2Fybkh5cGhlbmF0ZWRTdHlsZU5hbWUgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIGlmICh3YXJuZWRTdHlsZU5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpICYmIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZU5hbWVzW25hbWVdID0gdHJ1ZTtcblxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIC8vIEFzIEFuZGkgU21pdGggc3VnZ2VzdHNcbiAgICAvLyAoaHR0cDovL3d3dy5hbmRpc21pdGguY29tL2Jsb2cvMjAxMi8wMi9tb2Rlcm5penItcHJlZml4ZWQvKSwgYW4gYC1tc2AgcHJlZml4XG4gICAgLy8gaXMgY29udmVydGVkIHRvIGxvd2VyY2FzZSBgbXNgLlxuICAgIGNhbWVsaXplKG5hbWUucmVwbGFjZShtc1BhdHRlcm4kMSwgJ21zLScpKSk7XG4gIH07XG5cbiAgdmFyIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgaWYgKHdhcm5lZFN0eWxlTmFtZXMuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIHZlbmRvci1wcmVmaXhlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIG5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKDEpKTtcbiAgfTtcblxuICB2YXIgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XG4gICAgaWYgKHdhcm5lZFN0eWxlVmFsdWVzLmhhc093blByb3BlcnR5KHZhbHVlKSAmJiB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoXCJTdHlsZSBwcm9wZXJ0eSB2YWx1ZXMgc2hvdWxkbid0IGNvbnRhaW4gYSBzZW1pY29sb24uIFwiICsgJ1RyeSBcIiVzOiAlc1wiIGluc3RlYWQuJywgbmFtZSwgdmFsdWUucmVwbGFjZShiYWRTdHlsZVZhbHVlV2l0aFNlbWljb2xvblBhdHRlcm4sICcnKSk7XG4gIH07XG5cbiAgdmFyIHdhcm5TdHlsZVZhbHVlSXNOYU4gPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAod2FybmVkRm9yTmFOVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRGb3JOYU5WYWx1ZSA9IHRydWU7XG5cbiAgICBlcnJvcignYE5hTmAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xuICB9O1xuXG4gIHZhciB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkgPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAod2FybmVkRm9ySW5maW5pdHlWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSB0cnVlO1xuXG4gICAgZXJyb3IoJ2BJbmZpbml0eWAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xuICB9O1xuXG4gIHdhcm5WYWxpZFN0eWxlID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XG4gICAgaWYgKG5hbWUuaW5kZXhPZignLScpID4gLTEpIHtcbiAgICAgIHdhcm5IeXBoZW5hdGVkU3R5bGVOYW1lKG5hbWUpO1xuICAgIH0gZWxzZSBpZiAoYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuLnRlc3QobmFtZSkpIHtcbiAgICAgIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZShuYW1lKTtcbiAgICB9IGVsc2UgaWYgKGJhZFN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uUGF0dGVybi50ZXN0KHZhbHVlKSkge1xuICAgICAgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgICB3YXJuU3R5bGVWYWx1ZUlzTmFOKG5hbWUsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRmluaXRlKHZhbHVlKSkge1xuICAgICAgICB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkobmFtZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxudmFyIHdhcm5WYWxpZFN0eWxlJDEgPSB3YXJuVmFsaWRTdHlsZTtcblxuLyoqXG4gKiBPcGVyYXRpb25zIGZvciBkZWFsaW5nIHdpdGggQ1NTIHByb3BlcnRpZXMuXG4gKi9cblxuLyoqXG4gKiBUaGlzIGNyZWF0ZXMgYSBzdHJpbmcgdGhhdCBpcyBleHBlY3RlZCB0byBiZSBlcXVpdmFsZW50IHRvIHRoZSBzdHlsZVxuICogYXR0cmlidXRlIGdlbmVyYXRlZCBieSBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuIEl0IGJ5LXBhc3NlcyB3YXJuaW5ncyBhbmRcbiAqIHNlY3VyaXR5IGNoZWNrcyBzbyBpdCdzIG5vdCBzYWZlIHRvIHVzZSB0aGlzIHZhbHVlIGZvciBhbnl0aGluZyBvdGhlciB0aGFuXG4gKiBjb21wYXJpc29uLiBJdCBpcyBvbmx5IHVzZWQgaW4gREVWIGZvciBTU1IgdmFsaWRhdGlvbi5cbiAqL1xuXG5mdW5jdGlvbiBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMoc3R5bGVzKSB7XG4gIHtcbiAgICB2YXIgc2VyaWFsaXplZCA9ICcnO1xuICAgIHZhciBkZWxpbWl0ZXIgPSAnJztcblxuICAgIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcbiAgICAgIGlmICghc3R5bGVzLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBzdHlsZVZhbHVlID0gc3R5bGVzW3N0eWxlTmFtZV07XG5cbiAgICAgIGlmIChzdHlsZVZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgdmFyIGlzQ3VzdG9tUHJvcGVydHkgPSBzdHlsZU5hbWUuaW5kZXhPZignLS0nKSA9PT0gMDtcbiAgICAgICAgc2VyaWFsaXplZCArPSBkZWxpbWl0ZXIgKyAoaXNDdXN0b21Qcm9wZXJ0eSA/IHN0eWxlTmFtZSA6IGh5cGhlbmF0ZVN0eWxlTmFtZShzdHlsZU5hbWUpKSArICc6JztcbiAgICAgICAgc2VyaWFsaXplZCArPSBkYW5nZXJvdXNTdHlsZVZhbHVlKHN0eWxlTmFtZSwgc3R5bGVWYWx1ZSwgaXNDdXN0b21Qcm9wZXJ0eSk7XG4gICAgICAgIGRlbGltaXRlciA9ICc7JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2VyaWFsaXplZCB8fCBudWxsO1xuICB9XG59XG4vKipcbiAqIFNldHMgdGhlIHZhbHVlIGZvciBtdWx0aXBsZSBzdHlsZXMgb24gYSBub2RlLiAgSWYgYSB2YWx1ZSBpcyBzcGVjaWZpZWQgYXNcbiAqICcnIChlbXB0eSBzdHJpbmcpLCB0aGUgY29ycmVzcG9uZGluZyBzdHlsZSBwcm9wZXJ0eSB3aWxsIGJlIHVuc2V0LlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IHN0eWxlc1xuICovXG5cbmZ1bmN0aW9uIHNldFZhbHVlRm9yU3R5bGVzKG5vZGUsIHN0eWxlcykge1xuICB2YXIgc3R5bGUgPSBub2RlLnN0eWxlO1xuXG4gIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcbiAgICBpZiAoIXN0eWxlcy5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgaXNDdXN0b21Qcm9wZXJ0eSA9IHN0eWxlTmFtZS5pbmRleE9mKCctLScpID09PSAwO1xuXG4gICAge1xuICAgICAgaWYgKCFpc0N1c3RvbVByb3BlcnR5KSB7XG4gICAgICAgIHdhcm5WYWxpZFN0eWxlJDEoc3R5bGVOYW1lLCBzdHlsZXNbc3R5bGVOYW1lXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHN0eWxlVmFsdWUgPSBkYW5nZXJvdXNTdHlsZVZhbHVlKHN0eWxlTmFtZSwgc3R5bGVzW3N0eWxlTmFtZV0sIGlzQ3VzdG9tUHJvcGVydHkpO1xuXG4gICAgaWYgKHN0eWxlTmFtZSA9PT0gJ2Zsb2F0Jykge1xuICAgICAgc3R5bGVOYW1lID0gJ2Nzc0Zsb2F0JztcbiAgICB9XG5cbiAgICBpZiAoaXNDdXN0b21Qcm9wZXJ0eSkge1xuICAgICAgc3R5bGUuc2V0UHJvcGVydHkoc3R5bGVOYW1lLCBzdHlsZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVbc3R5bGVOYW1lXSA9IHN0eWxlVmFsdWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzVmFsdWVFbXB0eSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XG59XG4vKipcbiAqIEdpdmVuIHtjb2xvcjogJ3JlZCcsIG92ZXJmbG93OiAnaGlkZGVuJ30gcmV0dXJucyB7XG4gKiAgIGNvbG9yOiAnY29sb3InLFxuICogICBvdmVyZmxvd1g6ICdvdmVyZmxvdycsXG4gKiAgIG92ZXJmbG93WTogJ292ZXJmbG93JyxcbiAqIH0uIFRoaXMgY2FuIGJlIHJlYWQgYXMgXCJ0aGUgb3ZlcmZsb3dZIHByb3BlcnR5IHdhcyBzZXQgYnkgdGhlIG92ZXJmbG93XG4gKiBzaG9ydGhhbmRcIi4gVGhhdCBpcywgdGhlIHZhbHVlcyBhcmUgdGhlIHByb3BlcnR5IHRoYXQgZWFjaCB3YXMgZGVyaXZlZCBmcm9tLlxuICovXG5cblxuZnVuY3Rpb24gZXhwYW5kU2hvcnRoYW5kTWFwKHN0eWxlcykge1xuICB2YXIgZXhwYW5kZWQgPSB7fTtcblxuICBmb3IgKHZhciBrZXkgaW4gc3R5bGVzKSB7XG4gICAgdmFyIGxvbmdoYW5kcyA9IHNob3J0aGFuZFRvTG9uZ2hhbmRba2V5XSB8fCBba2V5XTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbG9uZ2hhbmRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBleHBhbmRlZFtsb25naGFuZHNbaV1dID0ga2V5O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHBhbmRlZDtcbn1cbi8qKlxuICogV2hlbiBtaXhpbmcgc2hvcnRoYW5kIGFuZCBsb25naGFuZCBwcm9wZXJ0eSBuYW1lcywgd2Ugd2FybiBkdXJpbmcgdXBkYXRlcyBpZlxuICogd2UgZXhwZWN0IGFuIGluY29ycmVjdCByZXN1bHQgdG8gb2NjdXIuIEluIHBhcnRpY3VsYXIsIHdlIHdhcm4gZm9yOlxuICpcbiAqIFVwZGF0aW5nIGEgc2hvcnRoYW5kIHByb3BlcnR5IChsb25naGFuZCBnZXRzIG92ZXJ3cml0dGVuKTpcbiAqICAge2ZvbnQ6ICdmb28nLCBmb250VmFyaWFudDogJ2Jhcid9IC0+IHtmb250OiAnYmF6JywgZm9udFZhcmlhbnQ6ICdiYXInfVxuICogICBiZWNvbWVzIC5zdHlsZS5mb250ID0gJ2JheidcbiAqIFJlbW92aW5nIGEgc2hvcnRoYW5kIHByb3BlcnR5IChsb25naGFuZCBnZXRzIGxvc3QgdG9vKTpcbiAqICAge2ZvbnQ6ICdmb28nLCBmb250VmFyaWFudDogJ2Jhcid9IC0+IHtmb250VmFyaWFudDogJ2Jhcid9XG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnQgPSAnJ1xuICogUmVtb3ZpbmcgYSBsb25naGFuZCBwcm9wZXJ0eSAoc2hvdWxkIHJldmVydCB0byBzaG9ydGhhbmQ7IGRvZXNuJ3QpOlxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnQ6ICdmb28nfVxuICogICBiZWNvbWVzIC5zdHlsZS5mb250VmFyaWFudCA9ICcnXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNob3J0aGFuZFByb3BlcnR5Q29sbGlzaW9uSW5EZXYoc3R5bGVVcGRhdGVzLCBuZXh0U3R5bGVzKSB7XG4gIHtcbiAgICBpZiAoIW5leHRTdHlsZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZXhwYW5kZWRVcGRhdGVzID0gZXhwYW5kU2hvcnRoYW5kTWFwKHN0eWxlVXBkYXRlcyk7XG4gICAgdmFyIGV4cGFuZGVkU3R5bGVzID0gZXhwYW5kU2hvcnRoYW5kTWFwKG5leHRTdHlsZXMpO1xuICAgIHZhciB3YXJuZWRBYm91dCA9IHt9O1xuXG4gICAgZm9yICh2YXIga2V5IGluIGV4cGFuZGVkVXBkYXRlcykge1xuICAgICAgdmFyIG9yaWdpbmFsS2V5ID0gZXhwYW5kZWRVcGRhdGVzW2tleV07XG4gICAgICB2YXIgY29ycmVjdE9yaWdpbmFsS2V5ID0gZXhwYW5kZWRTdHlsZXNba2V5XTtcblxuICAgICAgaWYgKGNvcnJlY3RPcmlnaW5hbEtleSAmJiBvcmlnaW5hbEtleSAhPT0gY29ycmVjdE9yaWdpbmFsS2V5KSB7XG4gICAgICAgIHZhciB3YXJuaW5nS2V5ID0gb3JpZ2luYWxLZXkgKyAnLCcgKyBjb3JyZWN0T3JpZ2luYWxLZXk7XG5cbiAgICAgICAgaWYgKHdhcm5lZEFib3V0W3dhcm5pbmdLZXldKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB3YXJuZWRBYm91dFt3YXJuaW5nS2V5XSA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzIGEgc3R5bGUgcHJvcGVydHkgZHVyaW5nIHJlcmVuZGVyICglcykgd2hlbiBhICcgKyAnY29uZmxpY3RpbmcgcHJvcGVydHkgaXMgc2V0ICglcykgY2FuIGxlYWQgdG8gc3R5bGluZyBidWdzLiBUbyAnICsgXCJhdm9pZCB0aGlzLCBkb24ndCBtaXggc2hvcnRoYW5kIGFuZCBub24tc2hvcnRoYW5kIHByb3BlcnRpZXMgXCIgKyAnZm9yIHRoZSBzYW1lIHZhbHVlOyBpbnN0ZWFkLCByZXBsYWNlIHRoZSBzaG9ydGhhbmQgd2l0aCAnICsgJ3NlcGFyYXRlIHZhbHVlcy4nLCBpc1ZhbHVlRW1wdHkoc3R5bGVVcGRhdGVzW29yaWdpbmFsS2V5XSkgPyAnUmVtb3ZpbmcnIDogJ1VwZGF0aW5nJywgb3JpZ2luYWxLZXksIGNvcnJlY3RPcmlnaW5hbEtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZvciBIVE1MLCBjZXJ0YWluIHRhZ3Mgc2hvdWxkIG9taXQgdGhlaXIgY2xvc2UgdGFnLiBXZSBrZWVwIGEgbGlzdCBmb3Jcbi8vIHRob3NlIHNwZWNpYWwtY2FzZSB0YWdzLlxudmFyIG9taXR0ZWRDbG9zZVRhZ3MgPSB7XG4gIGFyZWE6IHRydWUsXG4gIGJhc2U6IHRydWUsXG4gIGJyOiB0cnVlLFxuICBjb2w6IHRydWUsXG4gIGVtYmVkOiB0cnVlLFxuICBocjogdHJ1ZSxcbiAgaW1nOiB0cnVlLFxuICBpbnB1dDogdHJ1ZSxcbiAga2V5Z2VuOiB0cnVlLFxuICBsaW5rOiB0cnVlLFxuICBtZXRhOiB0cnVlLFxuICBwYXJhbTogdHJ1ZSxcbiAgc291cmNlOiB0cnVlLFxuICB0cmFjazogdHJ1ZSxcbiAgd2JyOiB0cnVlIC8vIE5PVEU6IG1lbnVpdGVtJ3MgY2xvc2UgdGFnIHNob3VsZCBiZSBvbWl0dGVkLCBidXQgdGhhdCBjYXVzZXMgcHJvYmxlbXMuXG5cbn07XG5cbi8vIGBvbWl0dGVkQ2xvc2VUYWdzYCBleGNlcHQgdGhhdCBgbWVudWl0ZW1gIHNob3VsZCBzdGlsbCBoYXZlIGl0cyBjbG9zaW5nIHRhZy5cblxudmFyIHZvaWRFbGVtZW50VGFncyA9IGFzc2lnbih7XG4gIG1lbnVpdGVtOiB0cnVlXG59LCBvbWl0dGVkQ2xvc2VUYWdzKTtcblxudmFyIEhUTUwgPSAnX19odG1sJztcblxuZnVuY3Rpb24gYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKSB7XG4gIGlmICghcHJvcHMpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gTm90ZSB0aGUgdXNlIG9mIGA9PWAgd2hpY2ggY2hlY2tzIGZvciBudWxsIG9yIHVuZGVmaW5lZC5cblxuXG4gIGlmICh2b2lkRWxlbWVudFRhZ3NbdGFnXSkge1xuICAgIGlmIChwcm9wcy5jaGlsZHJlbiAhPSBudWxsIHx8IHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0YWcgKyBcIiBpcyBhIHZvaWQgZWxlbWVudCB0YWcgYW5kIG11c3QgbmVpdGhlciBoYXZlIGBjaGlsZHJlbmAgbm9yIFwiICsgJ3VzZSBgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XG4gICAgaWYgKHByb3BzLmNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG9ubHkgc2V0IG9uZSBvZiBgY2hpbGRyZW5gIG9yIGBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTGAuJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gJ29iamVjdCcgfHwgIShIVE1MIGluIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdgcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgIG11c3QgYmUgaW4gdGhlIGZvcm0gYHtfX2h0bWw6IC4uLn1gLiAnICsgJ1BsZWFzZSB2aXNpdCBodHRwczovL3JlYWN0anMub3JnL2xpbmsvZGFuZ2Vyb3VzbHktc2V0LWlubmVyLWh0bWwgJyArICdmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKCFwcm9wcy5zdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcgJiYgcHJvcHMuY29udGVudEVkaXRhYmxlICYmIHByb3BzLmNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIGVycm9yKCdBIGNvbXBvbmVudCBpcyBgY29udGVudEVkaXRhYmxlYCBhbmQgY29udGFpbnMgYGNoaWxkcmVuYCBtYW5hZ2VkIGJ5ICcgKyAnUmVhY3QuIEl0IGlzIG5vdyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIGd1YXJhbnRlZSB0aGF0IG5vbmUgb2YgJyArICd0aG9zZSBub2RlcyBhcmUgdW5leHBlY3RlZGx5IG1vZGlmaWVkIG9yIGR1cGxpY2F0ZWQuIFRoaXMgaXMgJyArICdwcm9iYWJseSBub3QgaW50ZW50aW9uYWwuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb3BzLnN0eWxlICE9IG51bGwgJiYgdHlwZW9mIHByb3BzLnN0eWxlICE9PSAnb2JqZWN0Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGBzdHlsZWAgcHJvcCBleHBlY3RzIGEgbWFwcGluZyBmcm9tIHN0eWxlIHByb3BlcnRpZXMgdG8gdmFsdWVzLCAnICsgXCJub3QgYSBzdHJpbmcuIEZvciBleGFtcGxlLCBzdHlsZT17e21hcmdpblJpZ2h0OiBzcGFjaW5nICsgJ2VtJ319IHdoZW4gXCIgKyAndXNpbmcgSlNYLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzQ3VzdG9tQ29tcG9uZW50KHRhZ05hbWUsIHByb3BzKSB7XG4gIGlmICh0YWdOYW1lLmluZGV4T2YoJy0nKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gdHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJztcbiAgfVxuXG4gIHN3aXRjaCAodGFnTmFtZSkge1xuICAgIC8vIFRoZXNlIGFyZSByZXNlcnZlZCBTVkcgYW5kIE1hdGhNTCBlbGVtZW50cy5cbiAgICAvLyBXZSBkb24ndCBtaW5kIHRoaXMgbGlzdCB0b28gbXVjaCBiZWNhdXNlIHdlIGV4cGVjdCBpdCB0byBuZXZlciBncm93LlxuICAgIC8vIFRoZSBhbHRlcm5hdGl2ZSBpcyB0byB0cmFjayB0aGUgbmFtZXNwYWNlIGluIGEgZmV3IHBsYWNlcyB3aGljaCBpcyBjb252b2x1dGVkLlxuICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvY3VzdG9tLyNjdXN0b20tZWxlbWVudHMtY29yZS1jb25jZXB0c1xuICAgIGNhc2UgJ2Fubm90YXRpb24teG1sJzpcbiAgICBjYXNlICdjb2xvci1wcm9maWxlJzpcbiAgICBjYXNlICdmb250LWZhY2UnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1zcmMnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS11cmknOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1mb3JtYXQnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1uYW1lJzpcbiAgICBjYXNlICdtaXNzaW5nLWdseXBoJzpcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vLyBXaGVuIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBIVE1MIG9yIFNWRyBhbGxvd2VkIGF0dHJpYnV0ZSBsaXN0LCBiZSBzdXJlIHRvXG4vLyBhbHNvIGFkZCB0aGVtIHRvIHRoaXMgbW9kdWxlIHRvIGVuc3VyZSBjYXNpbmcgYW5kIGluY29ycmVjdCBuYW1lXG4vLyB3YXJuaW5ncy5cbnZhciBwb3NzaWJsZVN0YW5kYXJkTmFtZXMgPSB7XG4gIC8vIEhUTUxcbiAgYWNjZXB0OiAnYWNjZXB0JyxcbiAgYWNjZXB0Y2hhcnNldDogJ2FjY2VwdENoYXJzZXQnLFxuICAnYWNjZXB0LWNoYXJzZXQnOiAnYWNjZXB0Q2hhcnNldCcsXG4gIGFjY2Vzc2tleTogJ2FjY2Vzc0tleScsXG4gIGFjdGlvbjogJ2FjdGlvbicsXG4gIGFsbG93ZnVsbHNjcmVlbjogJ2FsbG93RnVsbFNjcmVlbicsXG4gIGFsdDogJ2FsdCcsXG4gIGFzOiAnYXMnLFxuICBhc3luYzogJ2FzeW5jJyxcbiAgYXV0b2NhcGl0YWxpemU6ICdhdXRvQ2FwaXRhbGl6ZScsXG4gIGF1dG9jb21wbGV0ZTogJ2F1dG9Db21wbGV0ZScsXG4gIGF1dG9jb3JyZWN0OiAnYXV0b0NvcnJlY3QnLFxuICBhdXRvZm9jdXM6ICdhdXRvRm9jdXMnLFxuICBhdXRvcGxheTogJ2F1dG9QbGF5JyxcbiAgYXV0b3NhdmU6ICdhdXRvU2F2ZScsXG4gIGNhcHR1cmU6ICdjYXB0dXJlJyxcbiAgY2VsbHBhZGRpbmc6ICdjZWxsUGFkZGluZycsXG4gIGNlbGxzcGFjaW5nOiAnY2VsbFNwYWNpbmcnLFxuICBjaGFsbGVuZ2U6ICdjaGFsbGVuZ2UnLFxuICBjaGFyc2V0OiAnY2hhclNldCcsXG4gIGNoZWNrZWQ6ICdjaGVja2VkJyxcbiAgY2hpbGRyZW46ICdjaGlsZHJlbicsXG4gIGNpdGU6ICdjaXRlJyxcbiAgY2xhc3M6ICdjbGFzc05hbWUnLFxuICBjbGFzc2lkOiAnY2xhc3NJRCcsXG4gIGNsYXNzbmFtZTogJ2NsYXNzTmFtZScsXG4gIGNvbHM6ICdjb2xzJyxcbiAgY29sc3BhbjogJ2NvbFNwYW4nLFxuICBjb250ZW50OiAnY29udGVudCcsXG4gIGNvbnRlbnRlZGl0YWJsZTogJ2NvbnRlbnRFZGl0YWJsZScsXG4gIGNvbnRleHRtZW51OiAnY29udGV4dE1lbnUnLFxuICBjb250cm9sczogJ2NvbnRyb2xzJyxcbiAgY29udHJvbHNsaXN0OiAnY29udHJvbHNMaXN0JyxcbiAgY29vcmRzOiAnY29vcmRzJyxcbiAgY3Jvc3NvcmlnaW46ICdjcm9zc09yaWdpbicsXG4gIGRhbmdlcm91c2x5c2V0aW5uZXJodG1sOiAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnLFxuICBkYXRhOiAnZGF0YScsXG4gIGRhdGV0aW1lOiAnZGF0ZVRpbWUnLFxuICBkZWZhdWx0OiAnZGVmYXVsdCcsXG4gIGRlZmF1bHRjaGVja2VkOiAnZGVmYXVsdENoZWNrZWQnLFxuICBkZWZhdWx0dmFsdWU6ICdkZWZhdWx0VmFsdWUnLFxuICBkZWZlcjogJ2RlZmVyJyxcbiAgZGlyOiAnZGlyJyxcbiAgZGlzYWJsZWQ6ICdkaXNhYmxlZCcsXG4gIGRpc2FibGVwaWN0dXJlaW5waWN0dXJlOiAnZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUnLFxuICBkaXNhYmxlcmVtb3RlcGxheWJhY2s6ICdkaXNhYmxlUmVtb3RlUGxheWJhY2snLFxuICBkb3dubG9hZDogJ2Rvd25sb2FkJyxcbiAgZHJhZ2dhYmxlOiAnZHJhZ2dhYmxlJyxcbiAgZW5jdHlwZTogJ2VuY1R5cGUnLFxuICBlbnRlcmtleWhpbnQ6ICdlbnRlcktleUhpbnQnLFxuICBmb3I6ICdodG1sRm9yJyxcbiAgZm9ybTogJ2Zvcm0nLFxuICBmb3JtbWV0aG9kOiAnZm9ybU1ldGhvZCcsXG4gIGZvcm1hY3Rpb246ICdmb3JtQWN0aW9uJyxcbiAgZm9ybWVuY3R5cGU6ICdmb3JtRW5jVHlwZScsXG4gIGZvcm1ub3ZhbGlkYXRlOiAnZm9ybU5vVmFsaWRhdGUnLFxuICBmb3JtdGFyZ2V0OiAnZm9ybVRhcmdldCcsXG4gIGZyYW1lYm9yZGVyOiAnZnJhbWVCb3JkZXInLFxuICBoZWFkZXJzOiAnaGVhZGVycycsXG4gIGhlaWdodDogJ2hlaWdodCcsXG4gIGhpZGRlbjogJ2hpZGRlbicsXG4gIGhpZ2g6ICdoaWdoJyxcbiAgaHJlZjogJ2hyZWYnLFxuICBocmVmbGFuZzogJ2hyZWZMYW5nJyxcbiAgaHRtbGZvcjogJ2h0bWxGb3InLFxuICBodHRwZXF1aXY6ICdodHRwRXF1aXYnLFxuICAnaHR0cC1lcXVpdic6ICdodHRwRXF1aXYnLFxuICBpY29uOiAnaWNvbicsXG4gIGlkOiAnaWQnLFxuICBpbWFnZXNpemVzOiAnaW1hZ2VTaXplcycsXG4gIGltYWdlc3Jjc2V0OiAnaW1hZ2VTcmNTZXQnLFxuICBpbm5lcmh0bWw6ICdpbm5lckhUTUwnLFxuICBpbnB1dG1vZGU6ICdpbnB1dE1vZGUnLFxuICBpbnRlZ3JpdHk6ICdpbnRlZ3JpdHknLFxuICBpczogJ2lzJyxcbiAgaXRlbWlkOiAnaXRlbUlEJyxcbiAgaXRlbXByb3A6ICdpdGVtUHJvcCcsXG4gIGl0ZW1yZWY6ICdpdGVtUmVmJyxcbiAgaXRlbXNjb3BlOiAnaXRlbVNjb3BlJyxcbiAgaXRlbXR5cGU6ICdpdGVtVHlwZScsXG4gIGtleXBhcmFtczogJ2tleVBhcmFtcycsXG4gIGtleXR5cGU6ICdrZXlUeXBlJyxcbiAga2luZDogJ2tpbmQnLFxuICBsYWJlbDogJ2xhYmVsJyxcbiAgbGFuZzogJ2xhbmcnLFxuICBsaXN0OiAnbGlzdCcsXG4gIGxvb3A6ICdsb29wJyxcbiAgbG93OiAnbG93JyxcbiAgbWFuaWZlc3Q6ICdtYW5pZmVzdCcsXG4gIG1hcmdpbndpZHRoOiAnbWFyZ2luV2lkdGgnLFxuICBtYXJnaW5oZWlnaHQ6ICdtYXJnaW5IZWlnaHQnLFxuICBtYXg6ICdtYXgnLFxuICBtYXhsZW5ndGg6ICdtYXhMZW5ndGgnLFxuICBtZWRpYTogJ21lZGlhJyxcbiAgbWVkaWFncm91cDogJ21lZGlhR3JvdXAnLFxuICBtZXRob2Q6ICdtZXRob2QnLFxuICBtaW46ICdtaW4nLFxuICBtaW5sZW5ndGg6ICdtaW5MZW5ndGgnLFxuICBtdWx0aXBsZTogJ211bHRpcGxlJyxcbiAgbXV0ZWQ6ICdtdXRlZCcsXG4gIG5hbWU6ICduYW1lJyxcbiAgbm9tb2R1bGU6ICdub01vZHVsZScsXG4gIG5vbmNlOiAnbm9uY2UnLFxuICBub3ZhbGlkYXRlOiAnbm9WYWxpZGF0ZScsXG4gIG9wZW46ICdvcGVuJyxcbiAgb3B0aW11bTogJ29wdGltdW0nLFxuICBwYXR0ZXJuOiAncGF0dGVybicsXG4gIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLFxuICBwbGF5c2lubGluZTogJ3BsYXlzSW5saW5lJyxcbiAgcG9zdGVyOiAncG9zdGVyJyxcbiAgcHJlbG9hZDogJ3ByZWxvYWQnLFxuICBwcm9maWxlOiAncHJvZmlsZScsXG4gIHJhZGlvZ3JvdXA6ICdyYWRpb0dyb3VwJyxcbiAgcmVhZG9ubHk6ICdyZWFkT25seScsXG4gIHJlZmVycmVycG9saWN5OiAncmVmZXJyZXJQb2xpY3knLFxuICByZWw6ICdyZWwnLFxuICByZXF1aXJlZDogJ3JlcXVpcmVkJyxcbiAgcmV2ZXJzZWQ6ICdyZXZlcnNlZCcsXG4gIHJvbGU6ICdyb2xlJyxcbiAgcm93czogJ3Jvd3MnLFxuICByb3dzcGFuOiAncm93U3BhbicsXG4gIHNhbmRib3g6ICdzYW5kYm94JyxcbiAgc2NvcGU6ICdzY29wZScsXG4gIHNjb3BlZDogJ3Njb3BlZCcsXG4gIHNjcm9sbGluZzogJ3Njcm9sbGluZycsXG4gIHNlYW1sZXNzOiAnc2VhbWxlc3MnLFxuICBzZWxlY3RlZDogJ3NlbGVjdGVkJyxcbiAgc2hhcGU6ICdzaGFwZScsXG4gIHNpemU6ICdzaXplJyxcbiAgc2l6ZXM6ICdzaXplcycsXG4gIHNwYW46ICdzcGFuJyxcbiAgc3BlbGxjaGVjazogJ3NwZWxsQ2hlY2snLFxuICBzcmM6ICdzcmMnLFxuICBzcmNkb2M6ICdzcmNEb2MnLFxuICBzcmNsYW5nOiAnc3JjTGFuZycsXG4gIHNyY3NldDogJ3NyY1NldCcsXG4gIHN0YXJ0OiAnc3RhcnQnLFxuICBzdGVwOiAnc3RlcCcsXG4gIHN0eWxlOiAnc3R5bGUnLFxuICBzdW1tYXJ5OiAnc3VtbWFyeScsXG4gIHRhYmluZGV4OiAndGFiSW5kZXgnLFxuICB0YXJnZXQ6ICd0YXJnZXQnLFxuICB0aXRsZTogJ3RpdGxlJyxcbiAgdHlwZTogJ3R5cGUnLFxuICB1c2VtYXA6ICd1c2VNYXAnLFxuICB2YWx1ZTogJ3ZhbHVlJyxcbiAgd2lkdGg6ICd3aWR0aCcsXG4gIHdtb2RlOiAnd21vZGUnLFxuICB3cmFwOiAnd3JhcCcsXG4gIC8vIFNWR1xuICBhYm91dDogJ2Fib3V0JyxcbiAgYWNjZW50aGVpZ2h0OiAnYWNjZW50SGVpZ2h0JyxcbiAgJ2FjY2VudC1oZWlnaHQnOiAnYWNjZW50SGVpZ2h0JyxcbiAgYWNjdW11bGF0ZTogJ2FjY3VtdWxhdGUnLFxuICBhZGRpdGl2ZTogJ2FkZGl0aXZlJyxcbiAgYWxpZ25tZW50YmFzZWxpbmU6ICdhbGlnbm1lbnRCYXNlbGluZScsXG4gICdhbGlnbm1lbnQtYmFzZWxpbmUnOiAnYWxpZ25tZW50QmFzZWxpbmUnLFxuICBhbGxvd3Jlb3JkZXI6ICdhbGxvd1Jlb3JkZXInLFxuICBhbHBoYWJldGljOiAnYWxwaGFiZXRpYycsXG4gIGFtcGxpdHVkZTogJ2FtcGxpdHVkZScsXG4gIGFyYWJpY2Zvcm06ICdhcmFiaWNGb3JtJyxcbiAgJ2FyYWJpYy1mb3JtJzogJ2FyYWJpY0Zvcm0nLFxuICBhc2NlbnQ6ICdhc2NlbnQnLFxuICBhdHRyaWJ1dGVuYW1lOiAnYXR0cmlidXRlTmFtZScsXG4gIGF0dHJpYnV0ZXR5cGU6ICdhdHRyaWJ1dGVUeXBlJyxcbiAgYXV0b3JldmVyc2U6ICdhdXRvUmV2ZXJzZScsXG4gIGF6aW11dGg6ICdhemltdXRoJyxcbiAgYmFzZWZyZXF1ZW5jeTogJ2Jhc2VGcmVxdWVuY3knLFxuICBiYXNlbGluZXNoaWZ0OiAnYmFzZWxpbmVTaGlmdCcsXG4gICdiYXNlbGluZS1zaGlmdCc6ICdiYXNlbGluZVNoaWZ0JyxcbiAgYmFzZXByb2ZpbGU6ICdiYXNlUHJvZmlsZScsXG4gIGJib3g6ICdiYm94JyxcbiAgYmVnaW46ICdiZWdpbicsXG4gIGJpYXM6ICdiaWFzJyxcbiAgYnk6ICdieScsXG4gIGNhbGNtb2RlOiAnY2FsY01vZGUnLFxuICBjYXBoZWlnaHQ6ICdjYXBIZWlnaHQnLFxuICAnY2FwLWhlaWdodCc6ICdjYXBIZWlnaHQnLFxuICBjbGlwOiAnY2xpcCcsXG4gIGNsaXBwYXRoOiAnY2xpcFBhdGgnLFxuICAnY2xpcC1wYXRoJzogJ2NsaXBQYXRoJyxcbiAgY2xpcHBhdGh1bml0czogJ2NsaXBQYXRoVW5pdHMnLFxuICBjbGlwcnVsZTogJ2NsaXBSdWxlJyxcbiAgJ2NsaXAtcnVsZSc6ICdjbGlwUnVsZScsXG4gIGNvbG9yOiAnY29sb3InLFxuICBjb2xvcmludGVycG9sYXRpb246ICdjb2xvckludGVycG9sYXRpb24nLFxuICAnY29sb3ItaW50ZXJwb2xhdGlvbic6ICdjb2xvckludGVycG9sYXRpb24nLFxuICBjb2xvcmludGVycG9sYXRpb25maWx0ZXJzOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXG4gIGNvbG9ycHJvZmlsZTogJ2NvbG9yUHJvZmlsZScsXG4gICdjb2xvci1wcm9maWxlJzogJ2NvbG9yUHJvZmlsZScsXG4gIGNvbG9ycmVuZGVyaW5nOiAnY29sb3JSZW5kZXJpbmcnLFxuICAnY29sb3ItcmVuZGVyaW5nJzogJ2NvbG9yUmVuZGVyaW5nJyxcbiAgY29udGVudHNjcmlwdHR5cGU6ICdjb250ZW50U2NyaXB0VHlwZScsXG4gIGNvbnRlbnRzdHlsZXR5cGU6ICdjb250ZW50U3R5bGVUeXBlJyxcbiAgY3Vyc29yOiAnY3Vyc29yJyxcbiAgY3g6ICdjeCcsXG4gIGN5OiAnY3knLFxuICBkOiAnZCcsXG4gIGRhdGF0eXBlOiAnZGF0YXR5cGUnLFxuICBkZWNlbGVyYXRlOiAnZGVjZWxlcmF0ZScsXG4gIGRlc2NlbnQ6ICdkZXNjZW50JyxcbiAgZGlmZnVzZWNvbnN0YW50OiAnZGlmZnVzZUNvbnN0YW50JyxcbiAgZGlyZWN0aW9uOiAnZGlyZWN0aW9uJyxcbiAgZGlzcGxheTogJ2Rpc3BsYXknLFxuICBkaXZpc29yOiAnZGl2aXNvcicsXG4gIGRvbWluYW50YmFzZWxpbmU6ICdkb21pbmFudEJhc2VsaW5lJyxcbiAgJ2RvbWluYW50LWJhc2VsaW5lJzogJ2RvbWluYW50QmFzZWxpbmUnLFxuICBkdXI6ICdkdXInLFxuICBkeDogJ2R4JyxcbiAgZHk6ICdkeScsXG4gIGVkZ2Vtb2RlOiAnZWRnZU1vZGUnLFxuICBlbGV2YXRpb246ICdlbGV2YXRpb24nLFxuICBlbmFibGViYWNrZ3JvdW5kOiAnZW5hYmxlQmFja2dyb3VuZCcsXG4gICdlbmFibGUtYmFja2dyb3VuZCc6ICdlbmFibGVCYWNrZ3JvdW5kJyxcbiAgZW5kOiAnZW5kJyxcbiAgZXhwb25lbnQ6ICdleHBvbmVudCcsXG4gIGV4dGVybmFscmVzb3VyY2VzcmVxdWlyZWQ6ICdleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkJyxcbiAgZmlsbDogJ2ZpbGwnLFxuICBmaWxsb3BhY2l0eTogJ2ZpbGxPcGFjaXR5JyxcbiAgJ2ZpbGwtb3BhY2l0eSc6ICdmaWxsT3BhY2l0eScsXG4gIGZpbGxydWxlOiAnZmlsbFJ1bGUnLFxuICAnZmlsbC1ydWxlJzogJ2ZpbGxSdWxlJyxcbiAgZmlsdGVyOiAnZmlsdGVyJyxcbiAgZmlsdGVycmVzOiAnZmlsdGVyUmVzJyxcbiAgZmlsdGVydW5pdHM6ICdmaWx0ZXJVbml0cycsXG4gIGZsb29kb3BhY2l0eTogJ2Zsb29kT3BhY2l0eScsXG4gICdmbG9vZC1vcGFjaXR5JzogJ2Zsb29kT3BhY2l0eScsXG4gIGZsb29kY29sb3I6ICdmbG9vZENvbG9yJyxcbiAgJ2Zsb29kLWNvbG9yJzogJ2Zsb29kQ29sb3InLFxuICBmb2N1c2FibGU6ICdmb2N1c2FibGUnLFxuICBmb250ZmFtaWx5OiAnZm9udEZhbWlseScsXG4gICdmb250LWZhbWlseSc6ICdmb250RmFtaWx5JyxcbiAgZm9udHNpemU6ICdmb250U2l6ZScsXG4gICdmb250LXNpemUnOiAnZm9udFNpemUnLFxuICBmb250c2l6ZWFkanVzdDogJ2ZvbnRTaXplQWRqdXN0JyxcbiAgJ2ZvbnQtc2l6ZS1hZGp1c3QnOiAnZm9udFNpemVBZGp1c3QnLFxuICBmb250c3RyZXRjaDogJ2ZvbnRTdHJldGNoJyxcbiAgJ2ZvbnQtc3RyZXRjaCc6ICdmb250U3RyZXRjaCcsXG4gIGZvbnRzdHlsZTogJ2ZvbnRTdHlsZScsXG4gICdmb250LXN0eWxlJzogJ2ZvbnRTdHlsZScsXG4gIGZvbnR2YXJpYW50OiAnZm9udFZhcmlhbnQnLFxuICAnZm9udC12YXJpYW50JzogJ2ZvbnRWYXJpYW50JyxcbiAgZm9udHdlaWdodDogJ2ZvbnRXZWlnaHQnLFxuICAnZm9udC13ZWlnaHQnOiAnZm9udFdlaWdodCcsXG4gIGZvcm1hdDogJ2Zvcm1hdCcsXG4gIGZyb206ICdmcm9tJyxcbiAgZng6ICdmeCcsXG4gIGZ5OiAnZnknLFxuICBnMTogJ2cxJyxcbiAgZzI6ICdnMicsXG4gIGdseXBobmFtZTogJ2dseXBoTmFtZScsXG4gICdnbHlwaC1uYW1lJzogJ2dseXBoTmFtZScsXG4gIGdseXBob3JpZW50YXRpb25ob3Jpem9udGFsOiAnZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwnLFxuICAnZ2x5cGgtb3JpZW50YXRpb24taG9yaXpvbnRhbCc6ICdnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCcsXG4gIGdseXBob3JpZW50YXRpb252ZXJ0aWNhbDogJ2dseXBoT3JpZW50YXRpb25WZXJ0aWNhbCcsXG4gICdnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCc6ICdnbHlwaE9yaWVudGF0aW9uVmVydGljYWwnLFxuICBnbHlwaHJlZjogJ2dseXBoUmVmJyxcbiAgZ3JhZGllbnR0cmFuc2Zvcm06ICdncmFkaWVudFRyYW5zZm9ybScsXG4gIGdyYWRpZW50dW5pdHM6ICdncmFkaWVudFVuaXRzJyxcbiAgaGFuZ2luZzogJ2hhbmdpbmcnLFxuICBob3JpemFkdng6ICdob3JpekFkdlgnLFxuICAnaG9yaXotYWR2LXgnOiAnaG9yaXpBZHZYJyxcbiAgaG9yaXpvcmlnaW54OiAnaG9yaXpPcmlnaW5YJyxcbiAgJ2hvcml6LW9yaWdpbi14JzogJ2hvcml6T3JpZ2luWCcsXG4gIGlkZW9ncmFwaGljOiAnaWRlb2dyYXBoaWMnLFxuICBpbWFnZXJlbmRlcmluZzogJ2ltYWdlUmVuZGVyaW5nJyxcbiAgJ2ltYWdlLXJlbmRlcmluZyc6ICdpbWFnZVJlbmRlcmluZycsXG4gIGluMjogJ2luMicsXG4gIGluOiAnaW4nLFxuICBpbmxpc3Q6ICdpbmxpc3QnLFxuICBpbnRlcmNlcHQ6ICdpbnRlcmNlcHQnLFxuICBrMTogJ2sxJyxcbiAgazI6ICdrMicsXG4gIGszOiAnazMnLFxuICBrNDogJ2s0JyxcbiAgazogJ2snLFxuICBrZXJuZWxtYXRyaXg6ICdrZXJuZWxNYXRyaXgnLFxuICBrZXJuZWx1bml0bGVuZ3RoOiAna2VybmVsVW5pdExlbmd0aCcsXG4gIGtlcm5pbmc6ICdrZXJuaW5nJyxcbiAga2V5cG9pbnRzOiAna2V5UG9pbnRzJyxcbiAga2V5c3BsaW5lczogJ2tleVNwbGluZXMnLFxuICBrZXl0aW1lczogJ2tleVRpbWVzJyxcbiAgbGVuZ3RoYWRqdXN0OiAnbGVuZ3RoQWRqdXN0JyxcbiAgbGV0dGVyc3BhY2luZzogJ2xldHRlclNwYWNpbmcnLFxuICAnbGV0dGVyLXNwYWNpbmcnOiAnbGV0dGVyU3BhY2luZycsXG4gIGxpZ2h0aW5nY29sb3I6ICdsaWdodGluZ0NvbG9yJyxcbiAgJ2xpZ2h0aW5nLWNvbG9yJzogJ2xpZ2h0aW5nQ29sb3InLFxuICBsaW1pdGluZ2NvbmVhbmdsZTogJ2xpbWl0aW5nQ29uZUFuZ2xlJyxcbiAgbG9jYWw6ICdsb2NhbCcsXG4gIG1hcmtlcmVuZDogJ21hcmtlckVuZCcsXG4gICdtYXJrZXItZW5kJzogJ21hcmtlckVuZCcsXG4gIG1hcmtlcmhlaWdodDogJ21hcmtlckhlaWdodCcsXG4gIG1hcmtlcm1pZDogJ21hcmtlck1pZCcsXG4gICdtYXJrZXItbWlkJzogJ21hcmtlck1pZCcsXG4gIG1hcmtlcnN0YXJ0OiAnbWFya2VyU3RhcnQnLFxuICAnbWFya2VyLXN0YXJ0JzogJ21hcmtlclN0YXJ0JyxcbiAgbWFya2VydW5pdHM6ICdtYXJrZXJVbml0cycsXG4gIG1hcmtlcndpZHRoOiAnbWFya2VyV2lkdGgnLFxuICBtYXNrOiAnbWFzaycsXG4gIG1hc2tjb250ZW50dW5pdHM6ICdtYXNrQ29udGVudFVuaXRzJyxcbiAgbWFza3VuaXRzOiAnbWFza1VuaXRzJyxcbiAgbWF0aGVtYXRpY2FsOiAnbWF0aGVtYXRpY2FsJyxcbiAgbW9kZTogJ21vZGUnLFxuICBudW1vY3RhdmVzOiAnbnVtT2N0YXZlcycsXG4gIG9mZnNldDogJ29mZnNldCcsXG4gIG9wYWNpdHk6ICdvcGFjaXR5JyxcbiAgb3BlcmF0b3I6ICdvcGVyYXRvcicsXG4gIG9yZGVyOiAnb3JkZXInLFxuICBvcmllbnQ6ICdvcmllbnQnLFxuICBvcmllbnRhdGlvbjogJ29yaWVudGF0aW9uJyxcbiAgb3JpZ2luOiAnb3JpZ2luJyxcbiAgb3ZlcmZsb3c6ICdvdmVyZmxvdycsXG4gIG92ZXJsaW5lcG9zaXRpb246ICdvdmVybGluZVBvc2l0aW9uJyxcbiAgJ292ZXJsaW5lLXBvc2l0aW9uJzogJ292ZXJsaW5lUG9zaXRpb24nLFxuICBvdmVybGluZXRoaWNrbmVzczogJ292ZXJsaW5lVGhpY2tuZXNzJyxcbiAgJ292ZXJsaW5lLXRoaWNrbmVzcyc6ICdvdmVybGluZVRoaWNrbmVzcycsXG4gIHBhaW50b3JkZXI6ICdwYWludE9yZGVyJyxcbiAgJ3BhaW50LW9yZGVyJzogJ3BhaW50T3JkZXInLFxuICBwYW5vc2UxOiAncGFub3NlMScsXG4gICdwYW5vc2UtMSc6ICdwYW5vc2UxJyxcbiAgcGF0aGxlbmd0aDogJ3BhdGhMZW5ndGgnLFxuICBwYXR0ZXJuY29udGVudHVuaXRzOiAncGF0dGVybkNvbnRlbnRVbml0cycsXG4gIHBhdHRlcm50cmFuc2Zvcm06ICdwYXR0ZXJuVHJhbnNmb3JtJyxcbiAgcGF0dGVybnVuaXRzOiAncGF0dGVyblVuaXRzJyxcbiAgcG9pbnRlcmV2ZW50czogJ3BvaW50ZXJFdmVudHMnLFxuICAncG9pbnRlci1ldmVudHMnOiAncG9pbnRlckV2ZW50cycsXG4gIHBvaW50czogJ3BvaW50cycsXG4gIHBvaW50c2F0eDogJ3BvaW50c0F0WCcsXG4gIHBvaW50c2F0eTogJ3BvaW50c0F0WScsXG4gIHBvaW50c2F0ejogJ3BvaW50c0F0WicsXG4gIHByZWZpeDogJ3ByZWZpeCcsXG4gIHByZXNlcnZlYWxwaGE6ICdwcmVzZXJ2ZUFscGhhJyxcbiAgcHJlc2VydmVhc3BlY3RyYXRpbzogJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLFxuICBwcmltaXRpdmV1bml0czogJ3ByaW1pdGl2ZVVuaXRzJyxcbiAgcHJvcGVydHk6ICdwcm9wZXJ0eScsXG4gIHI6ICdyJyxcbiAgcmFkaXVzOiAncmFkaXVzJyxcbiAgcmVmeDogJ3JlZlgnLFxuICByZWZ5OiAncmVmWScsXG4gIHJlbmRlcmluZ2ludGVudDogJ3JlbmRlcmluZ0ludGVudCcsXG4gICdyZW5kZXJpbmctaW50ZW50JzogJ3JlbmRlcmluZ0ludGVudCcsXG4gIHJlcGVhdGNvdW50OiAncmVwZWF0Q291bnQnLFxuICByZXBlYXRkdXI6ICdyZXBlYXREdXInLFxuICByZXF1aXJlZGV4dGVuc2lvbnM6ICdyZXF1aXJlZEV4dGVuc2lvbnMnLFxuICByZXF1aXJlZGZlYXR1cmVzOiAncmVxdWlyZWRGZWF0dXJlcycsXG4gIHJlc291cmNlOiAncmVzb3VyY2UnLFxuICByZXN0YXJ0OiAncmVzdGFydCcsXG4gIHJlc3VsdDogJ3Jlc3VsdCcsXG4gIHJlc3VsdHM6ICdyZXN1bHRzJyxcbiAgcm90YXRlOiAncm90YXRlJyxcbiAgcng6ICdyeCcsXG4gIHJ5OiAncnknLFxuICBzY2FsZTogJ3NjYWxlJyxcbiAgc2VjdXJpdHk6ICdzZWN1cml0eScsXG4gIHNlZWQ6ICdzZWVkJyxcbiAgc2hhcGVyZW5kZXJpbmc6ICdzaGFwZVJlbmRlcmluZycsXG4gICdzaGFwZS1yZW5kZXJpbmcnOiAnc2hhcGVSZW5kZXJpbmcnLFxuICBzbG9wZTogJ3Nsb3BlJyxcbiAgc3BhY2luZzogJ3NwYWNpbmcnLFxuICBzcGVjdWxhcmNvbnN0YW50OiAnc3BlY3VsYXJDb25zdGFudCcsXG4gIHNwZWN1bGFyZXhwb25lbnQ6ICdzcGVjdWxhckV4cG9uZW50JyxcbiAgc3BlZWQ6ICdzcGVlZCcsXG4gIHNwcmVhZG1ldGhvZDogJ3NwcmVhZE1ldGhvZCcsXG4gIHN0YXJ0b2Zmc2V0OiAnc3RhcnRPZmZzZXQnLFxuICBzdGRkZXZpYXRpb246ICdzdGREZXZpYXRpb24nLFxuICBzdGVtaDogJ3N0ZW1oJyxcbiAgc3RlbXY6ICdzdGVtdicsXG4gIHN0aXRjaHRpbGVzOiAnc3RpdGNoVGlsZXMnLFxuICBzdG9wY29sb3I6ICdzdG9wQ29sb3InLFxuICAnc3RvcC1jb2xvcic6ICdzdG9wQ29sb3InLFxuICBzdG9wb3BhY2l0eTogJ3N0b3BPcGFjaXR5JyxcbiAgJ3N0b3Atb3BhY2l0eSc6ICdzdG9wT3BhY2l0eScsXG4gIHN0cmlrZXRocm91Z2hwb3NpdGlvbjogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXG4gICdzdHJpa2V0aHJvdWdoLXBvc2l0aW9uJzogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXG4gIHN0cmlrZXRocm91Z2h0aGlja25lc3M6ICdzdHJpa2V0aHJvdWdoVGhpY2tuZXNzJyxcbiAgJ3N0cmlrZXRocm91Z2gtdGhpY2tuZXNzJzogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxuICBzdHJpbmc6ICdzdHJpbmcnLFxuICBzdHJva2U6ICdzdHJva2UnLFxuICBzdHJva2VkYXNoYXJyYXk6ICdzdHJva2VEYXNoYXJyYXknLFxuICAnc3Ryb2tlLWRhc2hhcnJheSc6ICdzdHJva2VEYXNoYXJyYXknLFxuICBzdHJva2VkYXNob2Zmc2V0OiAnc3Ryb2tlRGFzaG9mZnNldCcsXG4gICdzdHJva2UtZGFzaG9mZnNldCc6ICdzdHJva2VEYXNob2Zmc2V0JyxcbiAgc3Ryb2tlbGluZWNhcDogJ3N0cm9rZUxpbmVjYXAnLFxuICAnc3Ryb2tlLWxpbmVjYXAnOiAnc3Ryb2tlTGluZWNhcCcsXG4gIHN0cm9rZWxpbmVqb2luOiAnc3Ryb2tlTGluZWpvaW4nLFxuICAnc3Ryb2tlLWxpbmVqb2luJzogJ3N0cm9rZUxpbmVqb2luJyxcbiAgc3Ryb2tlbWl0ZXJsaW1pdDogJ3N0cm9rZU1pdGVybGltaXQnLFxuICAnc3Ryb2tlLW1pdGVybGltaXQnOiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXG4gIHN0cm9rZXdpZHRoOiAnc3Ryb2tlV2lkdGgnLFxuICAnc3Ryb2tlLXdpZHRoJzogJ3N0cm9rZVdpZHRoJyxcbiAgc3Ryb2tlb3BhY2l0eTogJ3N0cm9rZU9wYWNpdHknLFxuICAnc3Ryb2tlLW9wYWNpdHknOiAnc3Ryb2tlT3BhY2l0eScsXG4gIHN1cHByZXNzY29udGVudGVkaXRhYmxld2FybmluZzogJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZycsXG4gIHN1cHByZXNzaHlkcmF0aW9ud2FybmluZzogJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsXG4gIHN1cmZhY2VzY2FsZTogJ3N1cmZhY2VTY2FsZScsXG4gIHN5c3RlbWxhbmd1YWdlOiAnc3lzdGVtTGFuZ3VhZ2UnLFxuICB0YWJsZXZhbHVlczogJ3RhYmxlVmFsdWVzJyxcbiAgdGFyZ2V0eDogJ3RhcmdldFgnLFxuICB0YXJnZXR5OiAndGFyZ2V0WScsXG4gIHRleHRhbmNob3I6ICd0ZXh0QW5jaG9yJyxcbiAgJ3RleHQtYW5jaG9yJzogJ3RleHRBbmNob3InLFxuICB0ZXh0ZGVjb3JhdGlvbjogJ3RleHREZWNvcmF0aW9uJyxcbiAgJ3RleHQtZGVjb3JhdGlvbic6ICd0ZXh0RGVjb3JhdGlvbicsXG4gIHRleHRsZW5ndGg6ICd0ZXh0TGVuZ3RoJyxcbiAgdGV4dHJlbmRlcmluZzogJ3RleHRSZW5kZXJpbmcnLFxuICAndGV4dC1yZW5kZXJpbmcnOiAndGV4dFJlbmRlcmluZycsXG4gIHRvOiAndG8nLFxuICB0cmFuc2Zvcm06ICd0cmFuc2Zvcm0nLFxuICB0eXBlb2Y6ICd0eXBlb2YnLFxuICB1MTogJ3UxJyxcbiAgdTI6ICd1MicsXG4gIHVuZGVybGluZXBvc2l0aW9uOiAndW5kZXJsaW5lUG9zaXRpb24nLFxuICAndW5kZXJsaW5lLXBvc2l0aW9uJzogJ3VuZGVybGluZVBvc2l0aW9uJyxcbiAgdW5kZXJsaW5ldGhpY2tuZXNzOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcbiAgJ3VuZGVybGluZS10aGlja25lc3MnOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcbiAgdW5pY29kZTogJ3VuaWNvZGUnLFxuICB1bmljb2RlYmlkaTogJ3VuaWNvZGVCaWRpJyxcbiAgJ3VuaWNvZGUtYmlkaSc6ICd1bmljb2RlQmlkaScsXG4gIHVuaWNvZGVyYW5nZTogJ3VuaWNvZGVSYW5nZScsXG4gICd1bmljb2RlLXJhbmdlJzogJ3VuaWNvZGVSYW5nZScsXG4gIHVuaXRzcGVyZW06ICd1bml0c1BlckVtJyxcbiAgJ3VuaXRzLXBlci1lbSc6ICd1bml0c1BlckVtJyxcbiAgdW5zZWxlY3RhYmxlOiAndW5zZWxlY3RhYmxlJyxcbiAgdmFscGhhYmV0aWM6ICd2QWxwaGFiZXRpYycsXG4gICd2LWFscGhhYmV0aWMnOiAndkFscGhhYmV0aWMnLFxuICB2YWx1ZXM6ICd2YWx1ZXMnLFxuICB2ZWN0b3JlZmZlY3Q6ICd2ZWN0b3JFZmZlY3QnLFxuICAndmVjdG9yLWVmZmVjdCc6ICd2ZWN0b3JFZmZlY3QnLFxuICB2ZXJzaW9uOiAndmVyc2lvbicsXG4gIHZlcnRhZHZ5OiAndmVydEFkdlknLFxuICAndmVydC1hZHYteSc6ICd2ZXJ0QWR2WScsXG4gIHZlcnRvcmlnaW54OiAndmVydE9yaWdpblgnLFxuICAndmVydC1vcmlnaW4teCc6ICd2ZXJ0T3JpZ2luWCcsXG4gIHZlcnRvcmlnaW55OiAndmVydE9yaWdpblknLFxuICAndmVydC1vcmlnaW4teSc6ICd2ZXJ0T3JpZ2luWScsXG4gIHZoYW5naW5nOiAndkhhbmdpbmcnLFxuICAndi1oYW5naW5nJzogJ3ZIYW5naW5nJyxcbiAgdmlkZW9ncmFwaGljOiAndklkZW9ncmFwaGljJyxcbiAgJ3YtaWRlb2dyYXBoaWMnOiAndklkZW9ncmFwaGljJyxcbiAgdmlld2JveDogJ3ZpZXdCb3gnLFxuICB2aWV3dGFyZ2V0OiAndmlld1RhcmdldCcsXG4gIHZpc2liaWxpdHk6ICd2aXNpYmlsaXR5JyxcbiAgdm1hdGhlbWF0aWNhbDogJ3ZNYXRoZW1hdGljYWwnLFxuICAndi1tYXRoZW1hdGljYWwnOiAndk1hdGhlbWF0aWNhbCcsXG4gIHZvY2FiOiAndm9jYWInLFxuICB3aWR0aHM6ICd3aWR0aHMnLFxuICB3b3Jkc3BhY2luZzogJ3dvcmRTcGFjaW5nJyxcbiAgJ3dvcmQtc3BhY2luZyc6ICd3b3JkU3BhY2luZycsXG4gIHdyaXRpbmdtb2RlOiAnd3JpdGluZ01vZGUnLFxuICAnd3JpdGluZy1tb2RlJzogJ3dyaXRpbmdNb2RlJyxcbiAgeDE6ICd4MScsXG4gIHgyOiAneDInLFxuICB4OiAneCcsXG4gIHhjaGFubmVsc2VsZWN0b3I6ICd4Q2hhbm5lbFNlbGVjdG9yJyxcbiAgeGhlaWdodDogJ3hIZWlnaHQnLFxuICAneC1oZWlnaHQnOiAneEhlaWdodCcsXG4gIHhsaW5rYWN0dWF0ZTogJ3hsaW5rQWN0dWF0ZScsXG4gICd4bGluazphY3R1YXRlJzogJ3hsaW5rQWN0dWF0ZScsXG4gIHhsaW5rYXJjcm9sZTogJ3hsaW5rQXJjcm9sZScsXG4gICd4bGluazphcmNyb2xlJzogJ3hsaW5rQXJjcm9sZScsXG4gIHhsaW5raHJlZjogJ3hsaW5rSHJlZicsXG4gICd4bGluazpocmVmJzogJ3hsaW5rSHJlZicsXG4gIHhsaW5rcm9sZTogJ3hsaW5rUm9sZScsXG4gICd4bGluazpyb2xlJzogJ3hsaW5rUm9sZScsXG4gIHhsaW5rc2hvdzogJ3hsaW5rU2hvdycsXG4gICd4bGluazpzaG93JzogJ3hsaW5rU2hvdycsXG4gIHhsaW5rdGl0bGU6ICd4bGlua1RpdGxlJyxcbiAgJ3hsaW5rOnRpdGxlJzogJ3hsaW5rVGl0bGUnLFxuICB4bGlua3R5cGU6ICd4bGlua1R5cGUnLFxuICAneGxpbms6dHlwZSc6ICd4bGlua1R5cGUnLFxuICB4bWxiYXNlOiAneG1sQmFzZScsXG4gICd4bWw6YmFzZSc6ICd4bWxCYXNlJyxcbiAgeG1sbGFuZzogJ3htbExhbmcnLFxuICAneG1sOmxhbmcnOiAneG1sTGFuZycsXG4gIHhtbG5zOiAneG1sbnMnLFxuICAneG1sOnNwYWNlJzogJ3htbFNwYWNlJyxcbiAgeG1sbnN4bGluazogJ3htbG5zWGxpbmsnLFxuICAneG1sbnM6eGxpbmsnOiAneG1sbnNYbGluaycsXG4gIHhtbHNwYWNlOiAneG1sU3BhY2UnLFxuICB5MTogJ3kxJyxcbiAgeTI6ICd5MicsXG4gIHk6ICd5JyxcbiAgeWNoYW5uZWxzZWxlY3RvcjogJ3lDaGFubmVsU2VsZWN0b3InLFxuICB6OiAneicsXG4gIHpvb21hbmRwYW46ICd6b29tQW5kUGFuJ1xufTtcblxudmFyIGFyaWFQcm9wZXJ0aWVzID0ge1xuICAnYXJpYS1jdXJyZW50JzogMCxcbiAgLy8gc3RhdGVcbiAgJ2FyaWEtZGVzY3JpcHRpb24nOiAwLFxuICAnYXJpYS1kZXRhaWxzJzogMCxcbiAgJ2FyaWEtZGlzYWJsZWQnOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1oaWRkZW4nOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1pbnZhbGlkJzogMCxcbiAgLy8gc3RhdGVcbiAgJ2FyaWEta2V5c2hvcnRjdXRzJzogMCxcbiAgJ2FyaWEtbGFiZWwnOiAwLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiAwLFxuICAvLyBXaWRnZXQgQXR0cmlidXRlc1xuICAnYXJpYS1hdXRvY29tcGxldGUnOiAwLFxuICAnYXJpYS1jaGVja2VkJzogMCxcbiAgJ2FyaWEtZXhwYW5kZWQnOiAwLFxuICAnYXJpYS1oYXNwb3B1cCc6IDAsXG4gICdhcmlhLWxldmVsJzogMCxcbiAgJ2FyaWEtbW9kYWwnOiAwLFxuICAnYXJpYS1tdWx0aWxpbmUnOiAwLFxuICAnYXJpYS1tdWx0aXNlbGVjdGFibGUnOiAwLFxuICAnYXJpYS1vcmllbnRhdGlvbic6IDAsXG4gICdhcmlhLXBsYWNlaG9sZGVyJzogMCxcbiAgJ2FyaWEtcHJlc3NlZCc6IDAsXG4gICdhcmlhLXJlYWRvbmx5JzogMCxcbiAgJ2FyaWEtcmVxdWlyZWQnOiAwLFxuICAnYXJpYS1zZWxlY3RlZCc6IDAsXG4gICdhcmlhLXNvcnQnOiAwLFxuICAnYXJpYS12YWx1ZW1heCc6IDAsXG4gICdhcmlhLXZhbHVlbWluJzogMCxcbiAgJ2FyaWEtdmFsdWVub3cnOiAwLFxuICAnYXJpYS12YWx1ZXRleHQnOiAwLFxuICAvLyBMaXZlIFJlZ2lvbiBBdHRyaWJ1dGVzXG4gICdhcmlhLWF0b21pYyc6IDAsXG4gICdhcmlhLWJ1c3knOiAwLFxuICAnYXJpYS1saXZlJzogMCxcbiAgJ2FyaWEtcmVsZXZhbnQnOiAwLFxuICAvLyBEcmFnLWFuZC1Ecm9wIEF0dHJpYnV0ZXNcbiAgJ2FyaWEtZHJvcGVmZmVjdCc6IDAsXG4gICdhcmlhLWdyYWJiZWQnOiAwLFxuICAvLyBSZWxhdGlvbnNoaXAgQXR0cmlidXRlc1xuICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50JzogMCxcbiAgJ2FyaWEtY29sY291bnQnOiAwLFxuICAnYXJpYS1jb2xpbmRleCc6IDAsXG4gICdhcmlhLWNvbHNwYW4nOiAwLFxuICAnYXJpYS1jb250cm9scyc6IDAsXG4gICdhcmlhLWRlc2NyaWJlZGJ5JzogMCxcbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJzogMCxcbiAgJ2FyaWEtZmxvd3RvJzogMCxcbiAgJ2FyaWEtbGFiZWxsZWRieSc6IDAsXG4gICdhcmlhLW93bnMnOiAwLFxuICAnYXJpYS1wb3NpbnNldCc6IDAsXG4gICdhcmlhLXJvd2NvdW50JzogMCxcbiAgJ2FyaWEtcm93aW5kZXgnOiAwLFxuICAnYXJpYS1yb3dzcGFuJzogMCxcbiAgJ2FyaWEtc2V0c2l6ZSc6IDBcbn07XG5cbnZhciB3YXJuZWRQcm9wZXJ0aWVzID0ge307XG52YXIgckFSSUEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbnZhciByQVJJQUNhbWVsID0gbmV3IFJlZ0V4cCgnXihhcmlhKVtBLVpdWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHRhZ05hbWUsIG5hbWUpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHdhcm5lZFByb3BlcnRpZXMsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChyQVJJQUNhbWVsLnRlc3QobmFtZSkpIHtcbiAgICAgIHZhciBhcmlhTmFtZSA9ICdhcmlhLScgKyBuYW1lLnNsaWNlKDQpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgY29ycmVjdE5hbWUgPSBhcmlhUHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShhcmlhTmFtZSkgPyBhcmlhTmFtZSA6IG51bGw7IC8vIElmIHRoaXMgaXMgYW4gYXJpYS0qIGF0dHJpYnV0ZSwgYnV0IGlzIG5vdCBsaXN0ZWQgaW4gdGhlIGtub3duIERPTVxuICAgICAgLy8gRE9NIHByb3BlcnRpZXMsIHRoZW4gaXQgaXMgYW4gaW52YWxpZCBhcmlhLSogYXR0cmlidXRlLlxuXG4gICAgICBpZiAoY29ycmVjdE5hbWUgPT0gbnVsbCkge1xuICAgICAgICBlcnJvcignSW52YWxpZCBBUklBIGF0dHJpYnV0ZSBgJXNgLiBBUklBIGF0dHJpYnV0ZXMgZm9sbG93IHRoZSBwYXR0ZXJuIGFyaWEtKiBhbmQgbXVzdCBiZSBsb3dlcmNhc2UuJywgbmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gY29ycmVjdE5hbWUpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgQVJJQSBhdHRyaWJ1dGUgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgY29ycmVjdE5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAockFSSUEudGVzdChuYW1lKSkge1xuICAgICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IGFyaWFQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSA/IGxvd2VyQ2FzZWROYW1lIDogbnVsbDsgLy8gSWYgdGhpcyBpcyBhbiBhcmlhLSogYXR0cmlidXRlLCBidXQgaXMgbm90IGxpc3RlZCBpbiB0aGUga25vd24gRE9NXG4gICAgICAvLyBET00gcHJvcGVydGllcywgdGhlbiBpdCBpcyBhbiBpbnZhbGlkIGFyaWEtKiBhdHRyaWJ1dGUuXG5cbiAgICAgIGlmIChzdGFuZGFyZE5hbWUgPT0gbnVsbCkge1xuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gc3RhbmRhcmROYW1lKSB7XG4gICAgICAgIGVycm9yKCdVbmtub3duIEFSSUEgYXR0cmlidXRlIGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHN0YW5kYXJkTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiB3YXJuSW52YWxpZEFSSUFQcm9wcyh0eXBlLCBwcm9wcykge1xuICB7XG4gICAgdmFyIGludmFsaWRQcm9wcyA9IFtdO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgICB2YXIgaXNWYWxpZCA9IHZhbGlkYXRlUHJvcGVydHkodHlwZSwga2V5KTtcblxuICAgICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICAgIGludmFsaWRQcm9wcy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHVua25vd25Qcm9wU3RyaW5nID0gaW52YWxpZFByb3BzLm1hcChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgcmV0dXJuICdgJyArIHByb3AgKyAnYCc7XG4gICAgfSkuam9pbignLCAnKTtcblxuICAgIGlmIChpbnZhbGlkUHJvcHMubGVuZ3RoID09PSAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBhcmlhIHByb3AgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1hcmlhLXByb3BzJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH0gZWxzZSBpZiAoaW52YWxpZFByb3BzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIGFyaWEgcHJvcHMgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1hcmlhLXByb3BzJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnRpZXModHlwZSwgcHJvcHMpIHtcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdhcm5JbnZhbGlkQVJJQVByb3BzKHR5cGUsIHByb3BzKTtcbn1cblxudmFyIGRpZFdhcm5WYWx1ZU51bGwgPSBmYWxzZTtcbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyQxKHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAodHlwZSAhPT0gJ2lucHV0JyAmJiB0eXBlICE9PSAndGV4dGFyZWEnICYmIHR5cGUgIT09ICdzZWxlY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByb3BzICE9IG51bGwgJiYgcHJvcHMudmFsdWUgPT09IG51bGwgJiYgIWRpZFdhcm5WYWx1ZU51bGwpIHtcbiAgICAgIGRpZFdhcm5WYWx1ZU51bGwgPSB0cnVlO1xuXG4gICAgICBpZiAodHlwZSA9PT0gJ3NlbGVjdCcgJiYgcHJvcHMubXVsdGlwbGUpIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBhcnJheSB3aGVuIGBtdWx0aXBsZWAgaXMgc2V0IHRvIGB0cnVlYCAnICsgJ3RvIGNsZWFyIHRoZSBjb21wb25lbnQgb3IgYHVuZGVmaW5lZGAgZm9yIHVuY29udHJvbGxlZCBjb21wb25lbnRzLicsIHR5cGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBzdHJpbmcgdG8gY2xlYXIgdGhlIGNvbXBvbmVudCBvciBgdW5kZWZpbmVkYCAnICsgJ2ZvciB1bmNvbnRyb2xsZWQgY29tcG9uZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIHZhbGlkYXRlUHJvcGVydHkkMSA9IGZ1bmN0aW9uICgpIHt9O1xuXG57XG4gIHZhciB3YXJuZWRQcm9wZXJ0aWVzJDEgPSB7fTtcbiAgdmFyIEVWRU5UX05BTUVfUkVHRVggPSAvXm9uLi87XG4gIHZhciBJTlZBTElEX0VWRU5UX05BTUVfUkVHRVggPSAvXm9uW15BLVpdLztcbiAgdmFyIHJBUklBJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbiAgdmFyIHJBUklBQ2FtZWwkMSA9IG5ldyBSZWdFeHAoJ14oYXJpYSlbQS1aXVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcblxuICB2YWxpZGF0ZVByb3BlcnR5JDEgPSBmdW5jdGlvbiAodGFnTmFtZSwgbmFtZSwgdmFsdWUsIGV2ZW50UmVnaXN0cnkpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzJDEsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnb25mb2N1c2luJyB8fCBsb3dlckNhc2VkTmFtZSA9PT0gJ29uZm9jdXNvdXQnKSB7XG4gICAgICBlcnJvcignUmVhY3QgdXNlcyBvbkZvY3VzIGFuZCBvbkJsdXIgaW5zdGVhZCBvZiBvbkZvY3VzSW4gYW5kIG9uRm9jdXNPdXQuICcgKyAnQWxsIFJlYWN0IGV2ZW50cyBhcmUgbm9ybWFsaXplZCB0byBidWJibGUsIHNvIG9uRm9jdXNJbiBhbmQgb25Gb2N1c091dCAnICsgJ2FyZSBub3QgbmVlZGVkL3N1cHBvcnRlZCBieSBSZWFjdC4nKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gLy8gV2UgY2FuJ3QgcmVseSBvbiB0aGUgZXZlbnQgc3lzdGVtIGJlaW5nIGluamVjdGVkIG9uIHRoZSBzZXJ2ZXIuXG5cblxuICAgIGlmIChldmVudFJlZ2lzdHJ5ICE9IG51bGwpIHtcbiAgICAgIHZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0gZXZlbnRSZWdpc3RyeS5yZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLFxuICAgICAgICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMgPSBldmVudFJlZ2lzdHJ5LnBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXM7XG5cbiAgICAgIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVnaXN0cmF0aW9uTmFtZSA9IHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpID8gcG9zc2libGVSZWdpc3RyYXRpb25OYW1lc1tsb3dlckNhc2VkTmFtZV0gOiBudWxsO1xuXG4gICAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSAhPSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIGV2ZW50IGhhbmRsZXIgcHJvcGVydHkgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChFVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgICAgZXJyb3IoJ1Vua25vd24gZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiBJdCB3aWxsIGJlIGlnbm9yZWQuJywgbmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChFVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgIC8vIElmIG5vIGV2ZW50IHBsdWdpbnMgaGF2ZSBiZWVuIGluamVjdGVkLCB3ZSBhcmUgaW4gYSBzZXJ2ZXIgZW52aXJvbm1lbnQuXG4gICAgICAvLyBTbyB3ZSBjYW4ndCB0ZWxsIGlmIHRoZSBldmVudCBuYW1lIGlzIGNvcnJlY3QgZm9yIHN1cmUsIGJ1dCB3ZSBjYW4gZmlsdGVyXG4gICAgICAvLyBvdXQga25vd24gYmFkIG9uZXMgbGlrZSBgb25jbGlja2AuIFdlIGNhbid0IHN1Z2dlc3QgYSBzcGVjaWZpYyByZXBsYWNlbWVudCB0aG91Z2guXG4gICAgICBpZiAoSU5WQUxJRF9FVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiAnICsgJ1JlYWN0IGV2ZW50cyB1c2UgdGhlIGNhbWVsQ2FzZSBuYW1pbmcgY29udmVudGlvbiwgZm9yIGV4YW1wbGUgYG9uQ2xpY2tgLicsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBMZXQgdGhlIEFSSUEgYXR0cmlidXRlIGhvb2sgdmFsaWRhdGUgQVJJQSBhdHRyaWJ1dGVzXG5cblxuICAgIGlmIChyQVJJQSQxLnRlc3QobmFtZSkgfHwgckFSSUFDYW1lbCQxLnRlc3QobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lubmVyaHRtbCcpIHtcbiAgICAgIGVycm9yKCdEaXJlY3RseSBzZXR0aW5nIHByb3BlcnR5IGBpbm5lckhUTUxgIGlzIG5vdCBwZXJtaXR0ZWQuICcgKyAnRm9yIG1vcmUgaW5mb3JtYXRpb24sIGxvb2t1cCBkb2N1bWVudGF0aW9uIG9uIGBkYW5nZXJvdXNseVNldElubmVySFRNTGAuJyk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJDYXNlZE5hbWUgPT09ICdhcmlhJykge1xuICAgICAgZXJyb3IoJ1RoZSBgYXJpYWAgYXR0cmlidXRlIGlzIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlIGluIFJlYWN0LiAnICsgJ1Bhc3MgaW5kaXZpZHVhbCBgYXJpYS1gIGF0dHJpYnV0ZXMgaW5zdGVhZC4nKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lzJyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhIGAlc2AgZm9yIGEgc3RyaW5nIGF0dHJpYnV0ZSBgaXNgLiBJZiB0aGlzIGlzIGV4cGVjdGVkLCBjYXN0ICcgKyAndGhlIHZhbHVlIHRvIGEgc3RyaW5nLicsIHR5cGVvZiB2YWx1ZSk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBpc05hTih2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBOYU4gZm9yIHRoZSBgJXNgIGF0dHJpYnV0ZS4gSWYgdGhpcyBpcyBleHBlY3RlZCwgY2FzdCAnICsgJ3RoZSB2YWx1ZSB0byBhIHN0cmluZy4nLCBuYW1lKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhciBwcm9wZXJ0eUluZm8gPSBnZXRQcm9wZXJ0eUluZm8obmFtZSk7XG4gICAgdmFyIGlzUmVzZXJ2ZWQgPSBwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEOyAvLyBLbm93biBhdHRyaWJ1dGVzIHNob3VsZCBtYXRjaCB0aGUgY2FzaW5nIHNwZWNpZmllZCBpbiB0aGUgcHJvcGVydHkgY29uZmlnLlxuXG4gICAgaWYgKHBvc3NpYmxlU3RhbmRhcmROYW1lcy5oYXNPd25Qcm9wZXJ0eShsb3dlckNhc2VkTmFtZSkpIHtcbiAgICAgIHZhciBzdGFuZGFyZE5hbWUgPSBwb3NzaWJsZVN0YW5kYXJkTmFtZXNbbG93ZXJDYXNlZE5hbWVdO1xuXG4gICAgICBpZiAoc3RhbmRhcmROYW1lICE9PSBuYW1lKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIERPTSBwcm9wZXJ0eSBgJXNgLiBEaWQgeW91IG1lYW4gYCVzYD8nLCBuYW1lLCBzdGFuZGFyZE5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWlzUmVzZXJ2ZWQgJiYgbmFtZSAhPT0gbG93ZXJDYXNlZE5hbWUpIHtcbiAgICAgIC8vIFVua25vd24gYXR0cmlidXRlcyBzaG91bGQgaGF2ZSBsb3dlcmNhc2UgY2FzaW5nIHNpbmNlIHRoYXQncyBob3cgdGhleVxuICAgICAgLy8gd2lsbCBiZSBjYXNlZCBhbnl3YXkgd2l0aCBzZXJ2ZXIgcmVuZGVyaW5nLlxuICAgICAgZXJyb3IoJ1JlYWN0IGRvZXMgbm90IHJlY29nbml6ZSB0aGUgYCVzYCBwcm9wIG9uIGEgRE9NIGVsZW1lbnQuIElmIHlvdSAnICsgJ2ludGVudGlvbmFsbHkgd2FudCBpdCB0byBhcHBlYXIgaW4gdGhlIERPTSBhcyBhIGN1c3RvbSAnICsgJ2F0dHJpYnV0ZSwgc3BlbGwgaXQgYXMgbG93ZXJjYXNlIGAlc2AgaW5zdGVhZC4gJyArICdJZiB5b3UgYWNjaWRlbnRhbGx5IHBhc3NlZCBpdCBmcm9tIGEgcGFyZW50IGNvbXBvbmVudCwgcmVtb3ZlICcgKyAnaXQgZnJvbSB0aGUgRE9NIGVsZW1lbnQuJywgbmFtZSwgbG93ZXJDYXNlZE5hbWUpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nICYmIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVdpdGhXYXJuaW5nKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcblxcbicgKyAnSWYgeW91IHdhbnQgdG8gd3JpdGUgaXQgdG8gdGhlIERPTSwgcGFzcyBhIHN0cmluZyBpbnN0ZWFkOiAnICsgJyVzPVwiJXNcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uJywgdmFsdWUsIG5hbWUsIG5hbWUsIHZhbHVlLCBuYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcblxcbicgKyAnSWYgeW91IHdhbnQgdG8gd3JpdGUgaXQgdG8gdGhlIERPTSwgcGFzcyBhIHN0cmluZyBpbnN0ZWFkOiAnICsgJyVzPVwiJXNcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uXFxuXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCB2YWx1ZSwgbmFtZSwgbmFtZSwgdmFsdWUsIG5hbWUsIG5hbWUsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBOb3cgdGhhdCB3ZSd2ZSB2YWxpZGF0ZWQgY2FzaW5nLCBkbyBub3QgdmFsaWRhdGVcbiAgICAvLyBkYXRhIHR5cGVzIGZvciByZXNlcnZlZCBwcm9wc1xuXG5cbiAgICBpZiAoaXNSZXNlcnZlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBXYXJuIHdoZW4gYSBrbm93biBhdHRyaWJ1dGUgaXMgYSBiYWQgdHlwZVxuXG5cbiAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gV2FybiB3aGVuIHBhc3NpbmcgdGhlIHN0cmluZ3MgJ2ZhbHNlJyBvciAndHJ1ZScgaW50byBhIGJvb2xlYW4gcHJvcFxuXG5cbiAgICBpZiAoKHZhbHVlID09PSAnZmFsc2UnIHx8IHZhbHVlID09PSAndHJ1ZScpICYmIHByb3BlcnR5SW5mbyAhPT0gbnVsbCAmJiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gQk9PTEVBTikge1xuICAgICAgZXJyb3IoJ1JlY2VpdmVkIHRoZSBzdHJpbmcgYCVzYCBmb3IgdGhlIGJvb2xlYW4gYXR0cmlidXRlIGAlc2AuICcgKyAnJXMgJyArICdEaWQgeW91IG1lYW4gJXM9eyVzfT8nLCB2YWx1ZSwgbmFtZSwgdmFsdWUgPT09ICdmYWxzZScgPyAnVGhlIGJyb3dzZXIgd2lsbCBpbnRlcnByZXQgaXQgYXMgYSB0cnV0aHkgdmFsdWUuJyA6ICdBbHRob3VnaCB0aGlzIHdvcmtzLCBpdCB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkIGlmIHlvdSBwYXNzIHRoZSBzdHJpbmcgXCJmYWxzZVwiLicsIG5hbWUsIHZhbHVlKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xufVxuXG52YXIgd2FyblVua25vd25Qcm9wZXJ0aWVzID0gZnVuY3Rpb24gKHR5cGUsIHByb3BzLCBldmVudFJlZ2lzdHJ5KSB7XG4gIHtcbiAgICB2YXIgdW5rbm93blByb3BzID0gW107XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gdmFsaWRhdGVQcm9wZXJ0eSQxKHR5cGUsIGtleSwgcHJvcHNba2V5XSwgZXZlbnRSZWdpc3RyeSk7XG5cbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICB1bmtub3duUHJvcHMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciB1bmtub3duUHJvcFN0cmluZyA9IHVua25vd25Qcm9wcy5tYXAoZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgIHJldHVybiAnYCcgKyBwcm9wICsgJ2AnO1xuICAgIH0pLmpvaW4oJywgJyk7XG5cbiAgICBpZiAodW5rbm93blByb3BzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgZXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIHByb3AgJXMgb24gPCVzPiB0YWcuIEVpdGhlciByZW1vdmUgaXQgZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIGl0IGluIHRoZSBET00uICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvYXR0cmlidXRlLWJlaGF2aW9yICcsIHVua25vd25Qcm9wU3RyaW5nLCB0eXBlKTtcbiAgICB9IGVsc2UgaWYgKHVua25vd25Qcm9wcy5sZW5ndGggPiAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCB2YWx1ZXMgZm9yIHByb3BzICVzIG9uIDwlcz4gdGFnLiBFaXRoZXIgcmVtb3ZlIHRoZW0gZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIHRoZW0gaW4gdGhlIERPTS4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9hdHRyaWJ1dGUtYmVoYXZpb3IgJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wZXJ0aWVzJDIodHlwZSwgcHJvcHMsIGV2ZW50UmVnaXN0cnkpIHtcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdhcm5Vbmtub3duUHJvcGVydGllcyh0eXBlLCBwcm9wcywgZXZlbnRSZWdpc3RyeSk7XG59XG5cbnZhciBJU19FVkVOVF9IQU5ETEVfTk9OX01BTkFHRURfTk9ERSA9IDE7XG52YXIgSVNfTk9OX0RFTEVHQVRFRCA9IDEgPDwgMTtcbnZhciBJU19DQVBUVVJFX1BIQVNFID0gMSA8PCAyO1xuLy8gc2V0IHRvIExFR0FDWV9GQl9TVVBQT1JULiBMRUdBQ1lfRkJfU1VQUE9SVCBvbmx5IGdldHMgc2V0IHdoZW5cbi8vIHdlIGNhbGwgd2lsbERlZmVyTGF0ZXJGb3JMZWdhY3lGQlN1cHBvcnQsIHRodXMgbm90IGJhaWxpbmcgb3V0XG4vLyB3aWxsIHJlc3VsdCBpbiBlbmRsZXNzIGN5Y2xlcyBsaWtlIGFuIGluZmluaXRlIGxvb3AuXG4vLyBXZSBhbHNvIGRvbid0IHdhbnQgdG8gZGVmZXIgZHVyaW5nIGV2ZW50IHJlcGxheWluZy5cblxudmFyIFNIT1VMRF9OT1RfUFJPQ0VTU19QT0xZRklMTF9FVkVOVF9QTFVHSU5TID0gSVNfRVZFTlRfSEFORExFX05PTl9NQU5BR0VEX05PREUgfCBJU19OT05fREVMRUdBVEVEIHwgSVNfQ0FQVFVSRV9QSEFTRTtcblxuLy8gVGhpcyBleGlzdHMgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeSBiZXR3ZWVuIFJlYWN0RE9NRXZlbnRSZXBsYXlpbmdcbi8vIGFuZCBET01QbHVnaW5FdmVudFN5c3RlbS5cbnZhciBjdXJyZW50UmVwbGF5aW5nRXZlbnQgPSBudWxsO1xuZnVuY3Rpb24gc2V0UmVwbGF5aW5nRXZlbnQoZXZlbnQpIHtcbiAge1xuICAgIGlmIChjdXJyZW50UmVwbGF5aW5nRXZlbnQgIT09IG51bGwpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBjdXJyZW50bHkgcmVwbGF5aW5nIGV2ZW50IHRvIGJlIG51bGwuIFRoaXMgZXJyb3IgJyArICdpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBjdXJyZW50UmVwbGF5aW5nRXZlbnQgPSBldmVudDtcbn1cbmZ1bmN0aW9uIHJlc2V0UmVwbGF5aW5nRXZlbnQoKSB7XG4gIHtcbiAgICBpZiAoY3VycmVudFJlcGxheWluZ0V2ZW50ID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgY3VycmVudGx5IHJlcGxheWluZyBldmVudCB0byBub3QgYmUgbnVsbC4gVGhpcyBlcnJvciAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRSZXBsYXlpbmdFdmVudCA9IG51bGw7XG59XG5mdW5jdGlvbiBpc1JlcGxheWluZ0V2ZW50KGV2ZW50KSB7XG4gIHJldHVybiBldmVudCA9PT0gY3VycmVudFJlcGxheWluZ0V2ZW50O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHRhcmdldCBub2RlIGZyb20gYSBuYXRpdmUgYnJvd3NlciBldmVudCBieSBhY2NvdW50aW5nIGZvclxuICogaW5jb25zaXN0ZW5jaWVzIGluIGJyb3dzZXIgRE9NIEFQSXMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7RE9NRXZlbnRUYXJnZXR9IFRhcmdldCBub2RlLlxuICovXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSB7XG4gIC8vIEZhbGxiYWNrIHRvIG5hdGl2ZUV2ZW50LnNyY0VsZW1lbnQgZm9yIElFOVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTA2XG4gIHZhciB0YXJnZXQgPSBuYXRpdmVFdmVudC50YXJnZXQgfHwgbmF0aXZlRXZlbnQuc3JjRWxlbWVudCB8fCB3aW5kb3c7IC8vIE5vcm1hbGl6ZSBTVkcgPHVzZT4gZWxlbWVudCBldmVudHMgIzQ5NjNcblxuICBpZiAodGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSB7XG4gICAgdGFyZ2V0ID0gdGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50O1xuICB9IC8vIFNhZmFyaSBtYXkgZmlyZSBldmVudHMgb24gdGV4dCBub2RlcyAoTm9kZS5URVhUX05PREUgaXMgMykuXG4gIC8vIEBzZWUgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9qcy9ldmVudHNfcHJvcGVydGllcy5odG1sXG5cblxuICByZXR1cm4gdGFyZ2V0Lm5vZGVUeXBlID09PSBURVhUX05PREUgPyB0YXJnZXQucGFyZW50Tm9kZSA6IHRhcmdldDtcbn1cblxudmFyIHJlc3RvcmVJbXBsID0gbnVsbDtcbnZhciByZXN0b3JlVGFyZ2V0ID0gbnVsbDtcbnZhciByZXN0b3JlUXVldWUgPSBudWxsO1xuXG5mdW5jdGlvbiByZXN0b3JlU3RhdGVPZlRhcmdldCh0YXJnZXQpIHtcbiAgLy8gV2UgcGVyZm9ybSB0aGlzIHRyYW5zbGF0aW9uIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IGxvb3Agc28gdGhhdCB3ZVxuICAvLyBhbHdheXMgcmVjZWl2ZSB0aGUgY29ycmVjdCBmaWJlciBoZXJlXG4gIHZhciBpbnRlcm5hbEluc3RhbmNlID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSh0YXJnZXQpO1xuXG4gIGlmICghaW50ZXJuYWxJbnN0YW5jZSkge1xuICAgIC8vIFVubW91bnRlZFxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcmVzdG9yZUltcGwgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFJlc3RvcmVJbXBsZW1lbnRhdGlvbigpIG5lZWRzIHRvIGJlIGNhbGxlZCB0byBoYW5kbGUgYSB0YXJnZXQgZm9yIGNvbnRyb2xsZWQgJyArICdldmVudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICB2YXIgc3RhdGVOb2RlID0gaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGU7IC8vIEd1YXJkIGFnYWluc3QgRmliZXIgYmVpbmcgdW5tb3VudGVkLlxuXG4gIGlmIChzdGF0ZU5vZGUpIHtcbiAgICB2YXIgX3Byb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdGF0ZU5vZGUpO1xuXG4gICAgcmVzdG9yZUltcGwoaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGUsIGludGVybmFsSW5zdGFuY2UudHlwZSwgX3Byb3BzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRSZXN0b3JlSW1wbGVtZW50YXRpb24oaW1wbCkge1xuICByZXN0b3JlSW1wbCA9IGltcGw7XG59XG5mdW5jdGlvbiBlbnF1ZXVlU3RhdGVSZXN0b3JlKHRhcmdldCkge1xuICBpZiAocmVzdG9yZVRhcmdldCkge1xuICAgIGlmIChyZXN0b3JlUXVldWUpIHtcbiAgICAgIHJlc3RvcmVRdWV1ZS5wdXNoKHRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3RvcmVRdWV1ZSA9IFt0YXJnZXRdO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXN0b3JlVGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG59XG5mdW5jdGlvbiBuZWVkc1N0YXRlUmVzdG9yZSgpIHtcbiAgcmV0dXJuIHJlc3RvcmVUYXJnZXQgIT09IG51bGwgfHwgcmVzdG9yZVF1ZXVlICE9PSBudWxsO1xufVxuZnVuY3Rpb24gcmVzdG9yZVN0YXRlSWZOZWVkZWQoKSB7XG4gIGlmICghcmVzdG9yZVRhcmdldCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciB0YXJnZXQgPSByZXN0b3JlVGFyZ2V0O1xuICB2YXIgcXVldWVkVGFyZ2V0cyA9IHJlc3RvcmVRdWV1ZTtcbiAgcmVzdG9yZVRhcmdldCA9IG51bGw7XG4gIHJlc3RvcmVRdWV1ZSA9IG51bGw7XG4gIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHF1ZXVlZFRhcmdldHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZFRhcmdldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHF1ZXVlZFRhcmdldHNbaV0pO1xuICAgIH1cbiAgfVxufVxuXG4vLyB0aGUgcmVuZGVyZXIuIFN1Y2ggYXMgd2hlbiB3ZSdyZSBkaXNwYXRjaGluZyBldmVudHMgb3IgaWYgdGhpcmQgcGFydHlcbi8vIGxpYnJhcmllcyBuZWVkIHRvIGNhbGwgYmF0Y2hlZFVwZGF0ZXMuIEV2ZW50dWFsbHksIHRoaXMgQVBJIHdpbGwgZ28gYXdheSB3aGVuXG4vLyBldmVyeXRoaW5nIGlzIGJhdGNoZWQgYnkgZGVmYXVsdC4gV2UnbGwgdGhlbiBoYXZlIGEgc2ltaWxhciBBUEkgdG8gb3B0LW91dCBvZlxuLy8gc2NoZWR1bGVkIHdvcmsgYW5kIGluc3RlYWQgZG8gc3luY2hyb25vdXMgd29yay5cbi8vIERlZmF1bHRzXG5cbnZhciBiYXRjaGVkVXBkYXRlc0ltcGwgPSBmdW5jdGlvbiAoZm4sIGJvb2trZWVwaW5nKSB7XG4gIHJldHVybiBmbihib29ra2VlcGluZyk7XG59O1xuXG52YXIgZmx1c2hTeW5jSW1wbCA9IGZ1bmN0aW9uICgpIHt9O1xuXG52YXIgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSBmYWxzZTtcblxuZnVuY3Rpb24gZmluaXNoRXZlbnRIYW5kbGVyKCkge1xuICAvLyBIZXJlIHdlIHdhaXQgdW50aWwgYWxsIHVwZGF0ZXMgaGF2ZSBwcm9wYWdhdGVkLCB3aGljaCBpcyBpbXBvcnRhbnRcbiAgLy8gd2hlbiB1c2luZyBjb250cm9sbGVkIGNvbXBvbmVudHMgd2l0aGluIGxheWVyczpcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNjk4XG4gIC8vIFRoZW4gd2UgcmVzdG9yZSBzdGF0ZSBvZiBhbnkgY29udHJvbGxlZCBjb21wb25lbnQuXG4gIHZhciBjb250cm9sbGVkQ29tcG9uZW50c0hhdmVQZW5kaW5nVXBkYXRlcyA9IG5lZWRzU3RhdGVSZXN0b3JlKCk7XG5cbiAgaWYgKGNvbnRyb2xsZWRDb21wb25lbnRzSGF2ZVBlbmRpbmdVcGRhdGVzKSB7XG4gICAgLy8gSWYgYSBjb250cm9sbGVkIGV2ZW50IHdhcyBmaXJlZCwgd2UgbWF5IG5lZWQgdG8gcmVzdG9yZSB0aGUgc3RhdGUgb2ZcbiAgICAvLyB0aGUgRE9NIG5vZGUgYmFjayB0byB0aGUgY29udHJvbGxlZCB2YWx1ZS4gVGhpcyBpcyBuZWNlc3Nhcnkgd2hlbiBSZWFjdFxuICAgIC8vIGJhaWxzIG91dCBvZiB0aGUgdXBkYXRlIHdpdGhvdXQgdG91Y2hpbmcgdGhlIERPTS5cbiAgICAvLyBUT0RPOiBSZXN0b3JlIHN0YXRlIGluIHRoZSBtaWNyb3Rhc2ssIGFmdGVyIHRoZSBkaXNjcmV0ZSB1cGRhdGVzIGZsdXNoLFxuICAgIC8vIGluc3RlYWQgb2YgZWFybHkgZmx1c2hpbmcgdGhlbSBoZXJlLlxuICAgIGZsdXNoU3luY0ltcGwoKTtcbiAgICByZXN0b3JlU3RhdGVJZk5lZWRlZCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJhdGNoZWRVcGRhdGVzKGZuLCBhLCBiKSB7XG4gIGlmIChpc0luc2lkZUV2ZW50SGFuZGxlcikge1xuICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgaW5zaWRlIGFub3RoZXIgYmF0Y2gsIHdlIG5lZWQgdG8gd2FpdCB1bnRpbCBpdFxuICAgIC8vIGZ1bGx5IGNvbXBsZXRlcyBiZWZvcmUgcmVzdG9yaW5nIHN0YXRlLlxuICAgIHJldHVybiBmbihhLCBiKTtcbiAgfVxuXG4gIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gdHJ1ZTtcblxuICB0cnkge1xuICAgIHJldHVybiBiYXRjaGVkVXBkYXRlc0ltcGwoZm4sIGEsIGIpO1xuICB9IGZpbmFsbHkge1xuICAgIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gZmFsc2U7XG4gICAgZmluaXNoRXZlbnRIYW5kbGVyKCk7XG4gIH1cbn0gLy8gVE9ETzogUmVwbGFjZSB3aXRoIGZsdXNoU3luY1xuZnVuY3Rpb24gc2V0QmF0Y2hpbmdJbXBsZW1lbnRhdGlvbihfYmF0Y2hlZFVwZGF0ZXNJbXBsLCBfZGlzY3JldGVVcGRhdGVzSW1wbCwgX2ZsdXNoU3luY0ltcGwpIHtcbiAgYmF0Y2hlZFVwZGF0ZXNJbXBsID0gX2JhdGNoZWRVcGRhdGVzSW1wbDtcbiAgZmx1c2hTeW5jSW1wbCA9IF9mbHVzaFN5bmNJbXBsO1xufVxuXG5mdW5jdGlvbiBpc0ludGVyYWN0aXZlKHRhZykge1xuICByZXR1cm4gdGFnID09PSAnYnV0dG9uJyB8fCB0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAnc2VsZWN0JyB8fCB0YWcgPT09ICd0ZXh0YXJlYSc7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KG5hbWUsIHR5cGUsIHByb3BzKSB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ29uQ2xpY2snOlxuICAgIGNhc2UgJ29uQ2xpY2tDYXB0dXJlJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZURvd24nOlxuICAgIGNhc2UgJ29uTW91c2VEb3duQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZU1vdmUnOlxuICAgIGNhc2UgJ29uTW91c2VNb3ZlQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZVVwJzpcbiAgICBjYXNlICdvbk1vdXNlVXBDYXB0dXJlJzpcbiAgICBjYXNlICdvbk1vdXNlRW50ZXInOlxuICAgICAgcmV0dXJuICEhKHByb3BzLmRpc2FibGVkICYmIGlzSW50ZXJhY3RpdmUodHlwZSkpO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gaW5zdCBUaGUgaW5zdGFuY2UsIHdoaWNoIGlzIHRoZSBzb3VyY2Ugb2YgZXZlbnRzLlxuICogQHBhcmFtIHtzdHJpbmd9IHJlZ2lzdHJhdGlvbk5hbWUgTmFtZSBvZiBsaXN0ZW5lciAoZS5nLiBgb25DbGlja2ApLlxuICogQHJldHVybiB7P2Z1bmN0aW9ufSBUaGUgc3RvcmVkIGNhbGxiYWNrLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0TGlzdGVuZXIoaW5zdCwgcmVnaXN0cmF0aW9uTmFtZSkge1xuICB2YXIgc3RhdGVOb2RlID0gaW5zdC5zdGF0ZU5vZGU7XG5cbiAgaWYgKHN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MgKGV4OiBvbmxvYWQgZXZlbnRzIGluIGluY3JlbWVudGFsIG1vZGUpLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIHByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdGF0ZU5vZGUpO1xuXG4gIGlmIChwcm9wcyA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbGlzdGVuZXIgPSBwcm9wc1tyZWdpc3RyYXRpb25OYW1lXTtcblxuICBpZiAoc2hvdWxkUHJldmVudE1vdXNlRXZlbnQocmVnaXN0cmF0aW9uTmFtZSwgaW5zdC50eXBlLCBwcm9wcykpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChsaXN0ZW5lciAmJiB0eXBlb2YgbGlzdGVuZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBgXCIgKyByZWdpc3RyYXRpb25OYW1lICsgXCJgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGEgdmFsdWUgb2YgYFwiICsgdHlwZW9mIGxpc3RlbmVyICsgXCJgIHR5cGUuXCIpO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG52YXIgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTsgLy8gQ2hlY2sgaWYgYnJvd3NlciBzdXBwb3J0IGV2ZW50cyB3aXRoIHBhc3NpdmUgbGlzdGVuZXJzXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvYWRkRXZlbnRMaXN0ZW5lciNTYWZlbHlfZGV0ZWN0aW5nX29wdGlvbl9zdXBwb3J0XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3B0aW9ucyA9IHt9OyAvLyAkRmxvd0ZpeE1lOiBJZ25vcmUgRmxvdyBjb21wbGFpbmluZyBhYm91dCBuZWVkaW5nIGEgdmFsdWVcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRpb25zLCAncGFzc2l2ZScsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICBwYXNzaXZlQnJvd3NlckV2ZW50c1N1cHBvcnRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBvcHRpb25zLCBvcHRpb25zKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIG9wdGlvbnMsIG9wdGlvbnMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2tQcm9kKG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICB0cnkge1xuICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgZnVuY0FyZ3MpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRoaXMub25FcnJvcihlcnJvcik7XG4gIH1cbn1cblxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwgPSBpbnZva2VHdWFyZGVkQ2FsbGJhY2tQcm9kO1xuXG57XG4gIC8vIEluIERFViBtb2RlLCB3ZSBzd2FwIG91dCBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgZm9yIGEgc3BlY2lhbCB2ZXJzaW9uXG4gIC8vIHRoYXQgcGxheXMgbW9yZSBuaWNlbHkgd2l0aCB0aGUgYnJvd3NlcidzIERldlRvb2xzLiBUaGUgaWRlYSBpcyB0byBwcmVzZXJ2ZVxuICAvLyBcIlBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBiZWhhdmlvci4gQmVjYXVzZSBSZWFjdCB3cmFwcyBhbGwgdXNlci1wcm92aWRlZFxuICAvLyBmdW5jdGlvbnMgaW4gaW52b2tlR3VhcmRlZENhbGxiYWNrLCBhbmQgdGhlIHByb2R1Y3Rpb24gdmVyc2lvbiBvZlxuICAvLyBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgdXNlcyBhIHRyeS1jYXRjaCwgYWxsIHVzZXIgZXhjZXB0aW9ucyBhcmUgdHJlYXRlZFxuICAvLyBsaWtlIGNhdWdodCBleGNlcHRpb25zLCBhbmQgdGhlIERldlRvb2xzIHdvbid0IHBhdXNlIHVubGVzcyB0aGUgZGV2ZWxvcGVyXG4gIC8vIHRha2VzIHRoZSBleHRyYSBzdGVwIG9mIGVuYWJsaW5nIHBhdXNlIG9uIGNhdWdodCBleGNlcHRpb25zLiBUaGlzIGlzXG4gIC8vIHVuaW50dWl0aXZlLCB0aG91Z2gsIGJlY2F1c2UgZXZlbiB0aG91Z2ggUmVhY3QgaGFzIGNhdWdodCB0aGUgZXJyb3IsIGZyb21cbiAgLy8gdGhlIGRldmVsb3BlcidzIHBlcnNwZWN0aXZlLCB0aGUgZXJyb3IgaXMgdW5jYXVnaHQuXG4gIC8vXG4gIC8vIFRvIHByZXNlcnZlIHRoZSBleHBlY3RlZCBcIlBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBiZWhhdmlvciwgd2UgZG9uJ3QgdXNlIGFcbiAgLy8gdHJ5LWNhdGNoIGluIERFVi4gSW5zdGVhZCwgd2Ugc3luY2hyb25vdXNseSBkaXNwYXRjaCBhIGZha2UgZXZlbnQgdG8gYSBmYWtlXG4gIC8vIERPTSBub2RlLCBhbmQgY2FsbCB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayBmcm9tIGluc2lkZSBhbiBldmVudCBoYW5kbGVyXG4gIC8vIGZvciB0aGF0IGZha2UgZXZlbnQuIElmIHRoZSBjYWxsYmFjayB0aHJvd3MsIHRoZSBlcnJvciBpcyBcImNhcHR1cmVkXCIgdXNpbmdcbiAgLy8gYSBnbG9iYWwgZXZlbnQgaGFuZGxlci4gQnV0IGJlY2F1c2UgdGhlIGVycm9yIGhhcHBlbnMgaW4gYSBkaWZmZXJlbnRcbiAgLy8gZXZlbnQgbG9vcCBjb250ZXh0LCBpdCBkb2VzIG5vdCBpbnRlcnJ1cHQgdGhlIG5vcm1hbCBwcm9ncmFtIGZsb3cuXG4gIC8vIEVmZmVjdGl2ZWx5LCB0aGlzIGdpdmVzIHVzIHRyeS1jYXRjaCBiZWhhdmlvciB3aXRob3V0IGFjdHVhbGx5IHVzaW5nXG4gIC8vIHRyeS1jYXRjaC4gTmVhdCFcbiAgLy8gQ2hlY2sgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyB0aGUgQVBJcyB3ZSBuZWVkIHRvIGltcGxlbWVudCBvdXIgc3BlY2lhbFxuICAvLyBERVYgdmVyc2lvbiBvZiBpbnZva2VHdWFyZGVkQ2FsbGJhY2tcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cuZGlzcGF0Y2hFdmVudCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFdmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBmYWtlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3JlYWN0Jyk7XG5cbiAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2tJbXBsID0gZnVuY3Rpb24gaW52b2tlR3VhcmRlZENhbGxiYWNrRGV2KG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgICAgIC8vIElmIGRvY3VtZW50IGRvZXNuJ3QgZXhpc3Qgd2Uga25vdyBmb3Igc3VyZSB3ZSB3aWxsIGNyYXNoIGluIHRoaXMgbWV0aG9kXG4gICAgICAvLyB3aGVuIHdlIGNhbGwgZG9jdW1lbnQuY3JlYXRlRXZlbnQoKS4gSG93ZXZlciB0aGlzIGNhbiBjYXVzZSBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9yczogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2NyZWF0ZS1yZWFjdC1hcHAvaXNzdWVzLzM0ODJcbiAgICAgIC8vIFNvIHdlIHByZWVtcHRpdmVseSB0aHJvdyB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UgaW5zdGVhZC5cbiAgICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnIHx8IGRvY3VtZW50ID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGBkb2N1bWVudGAgZ2xvYmFsIHdhcyBkZWZpbmVkIHdoZW4gUmVhY3Qgd2FzIGluaXRpYWxpemVkLCBidXQgaXMgbm90ICcgKyAnZGVmaW5lZCBhbnltb3JlLiBUaGlzIGNhbiBoYXBwZW4gaW4gYSB0ZXN0IGVudmlyb25tZW50IGlmIGEgY29tcG9uZW50ICcgKyAnc2NoZWR1bGVzIGFuIHVwZGF0ZSBmcm9tIGFuIGFzeW5jaHJvbm91cyBjYWxsYmFjaywgYnV0IHRoZSB0ZXN0IGhhcyBhbHJlYWR5ICcgKyAnZmluaXNoZWQgcnVubmluZy4gVG8gc29sdmUgdGhpcywgeW91IGNhbiBlaXRoZXIgdW5tb3VudCB0aGUgY29tcG9uZW50IGF0ICcgKyAndGhlIGVuZCBvZiB5b3VyIHRlc3QgKGFuZCBlbnN1cmUgdGhhdCBhbnkgYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMgZ2V0ICcgKyAnY2FuY2VsZWQgaW4gYGNvbXBvbmVudFdpbGxVbm1vdW50YCksIG9yIHlvdSBjYW4gY2hhbmdlIHRoZSB0ZXN0IGl0c2VsZiAnICsgJ3RvIGJlIGFzeW5jaHJvbm91cy4nKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpO1xuICAgICAgdmFyIGRpZENhbGwgPSBmYWxzZTsgLy8gS2VlcHMgdHJhY2sgb2Ygd2hldGhlciB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayB0aHJldyBhbiBlcnJvci4gV2VcbiAgICAgIC8vIHNldCB0aGlzIHRvIHRydWUgYXQgdGhlIGJlZ2lubmluZywgdGhlbiBzZXQgaXQgdG8gZmFsc2UgcmlnaHQgYWZ0ZXJcbiAgICAgIC8vIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLiBJZiB0aGUgZnVuY3Rpb24gZXJyb3JzLCBgZGlkRXJyb3JgIHdpbGwgbmV2ZXIgYmVcbiAgICAgIC8vIHNldCB0byBmYWxzZS4gVGhpcyBzdHJhdGVneSB3b3JrcyBldmVuIGlmIHRoZSBicm93c2VyIGlzIGZsYWt5IGFuZFxuICAgICAgLy8gZmFpbHMgdG8gY2FsbCBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIsIGJlY2F1c2UgaXQgZG9lc24ndCByZWx5IG9uXG4gICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgYXQgYWxsLlxuXG4gICAgICB2YXIgZGlkRXJyb3IgPSB0cnVlOyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgdmFsdWUgb2Ygd2luZG93LmV2ZW50IHNvIHRoYXQgd2UgY2FuIHJlc2V0IGl0XG4gICAgICAvLyBkdXJpbmcgdGhlIGNhbGxiYWNrIHRvIGxldCB1c2VyIGNvZGUgYWNjZXNzIHdpbmRvdy5ldmVudCBpbiB0aGVcbiAgICAgIC8vIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBpdC5cblxuICAgICAgdmFyIHdpbmRvd0V2ZW50ID0gd2luZG93LmV2ZW50OyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgZGVzY3JpcHRvciBvZiB3aW5kb3cuZXZlbnQgdG8gcmVzdG9yZSBpdCBhZnRlciBldmVudFxuICAgICAgLy8gZGlzcGF0Y2hpbmc6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2ODhcblxuICAgICAgdmFyIHdpbmRvd0V2ZW50RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnZXZlbnQnKTtcblxuICAgICAgZnVuY3Rpb24gcmVzdG9yZUFmdGVyRGlzcGF0Y2goKSB7XG4gICAgICAgIC8vIFdlIGltbWVkaWF0ZWx5IHJlbW92ZSB0aGUgY2FsbGJhY2sgZnJvbSBldmVudCBsaXN0ZW5lcnMgc28gdGhhdFxuICAgICAgICAvLyBuZXN0ZWQgYGludm9rZUd1YXJkZWRDYWxsYmFja2AgY2FsbHMgZG8gbm90IGNsYXNoLiBPdGhlcndpc2UsIGFcbiAgICAgICAgLy8gbmVzdGVkIGNhbGwgd291bGQgdHJpZ2dlciB0aGUgZmFrZSBldmVudCBoYW5kbGVycyBvZiBhbnkgY2FsbCBoaWdoZXJcbiAgICAgICAgLy8gaW4gdGhlIHN0YWNrLlxuICAgICAgICBmYWtlTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2dFR5cGUsIGNhbGxDYWxsYmFjaywgZmFsc2UpOyAvLyBXZSBjaGVjayBmb3Igd2luZG93Lmhhc093blByb3BlcnR5KCdldmVudCcpIHRvIHByZXZlbnQgdGhlXG4gICAgICAgIC8vIHdpbmRvdy5ldmVudCBhc3NpZ25tZW50IGluIGJvdGggSUUgPD0gMTAgYXMgdGhleSB0aHJvdyBhbiBlcnJvclxuICAgICAgICAvLyBcIk1lbWJlciBub3QgZm91bmRcIiBpbiBzdHJpY3QgbW9kZSwgYW5kIGluIEZpcmVmb3ggd2hpY2ggZG9lcyBub3RcbiAgICAgICAgLy8gc3VwcG9ydCB3aW5kb3cuZXZlbnQuXG5cbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZXZlbnQgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnZXZlbnQnKSkge1xuICAgICAgICAgIHdpbmRvdy5ldmVudCA9IHdpbmRvd0V2ZW50O1xuICAgICAgICB9XG4gICAgICB9IC8vIENyZWF0ZSBhbiBldmVudCBoYW5kbGVyIGZvciBvdXIgZmFrZSBldmVudC4gV2Ugd2lsbCBzeW5jaHJvbm91c2x5XG4gICAgICAvLyBkaXNwYXRjaCBvdXIgZmFrZSBldmVudCB1c2luZyBgZGlzcGF0Y2hFdmVudGAuIEluc2lkZSB0aGUgaGFuZGxlciwgd2VcbiAgICAgIC8vIGNhbGwgdGhlIHVzZXItcHJvdmlkZWQgY2FsbGJhY2suXG5cblxuICAgICAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICAgICAgZnVuY3Rpb24gY2FsbENhbGxiYWNrKCkge1xuICAgICAgICBkaWRDYWxsID0gdHJ1ZTtcbiAgICAgICAgcmVzdG9yZUFmdGVyRGlzcGF0Y2goKTtcbiAgICAgICAgZnVuYy5hcHBseShjb250ZXh0LCBmdW5jQXJncyk7XG4gICAgICAgIGRpZEVycm9yID0gZmFsc2U7XG4gICAgICB9IC8vIENyZWF0ZSBhIGdsb2JhbCBlcnJvciBldmVudCBoYW5kbGVyLiBXZSB1c2UgdGhpcyB0byBjYXB0dXJlIHRoZSB2YWx1ZVxuICAgICAgLy8gdGhhdCB3YXMgdGhyb3duLiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhpcyBlcnJvciBoYW5kbGVyIHdpbGwgZmlyZSBtb3JlXG4gICAgICAvLyB0aGFuIG9uY2U7IGZvciBleGFtcGxlLCBpZiBub24tUmVhY3QgY29kZSBhbHNvIGNhbGxzIGBkaXNwYXRjaEV2ZW50YFxuICAgICAgLy8gYW5kIGEgaGFuZGxlciBmb3IgdGhhdCBldmVudCB0aHJvd3MuIFdlIHNob3VsZCBiZSByZXNpbGllbnQgdG8gbW9zdCBvZlxuICAgICAgLy8gdGhvc2UgY2FzZXMuIEV2ZW4gaWYgb3VyIGVycm9yIGV2ZW50IGhhbmRsZXIgZmlyZXMgbW9yZSB0aGFuIG9uY2UsIHRoZVxuICAgICAgLy8gbGFzdCBlcnJvciBldmVudCBpcyBhbHdheXMgdXNlZC4gSWYgdGhlIGNhbGxiYWNrIGFjdHVhbGx5IGRvZXMgZXJyb3IsXG4gICAgICAvLyB3ZSBrbm93IHRoYXQgdGhlIGxhc3QgZXJyb3IgZXZlbnQgaXMgdGhlIGNvcnJlY3Qgb25lLCBiZWNhdXNlIGl0J3Mgbm90XG4gICAgICAvLyBwb3NzaWJsZSBmb3IgYW55dGhpbmcgZWxzZSB0byBoYXZlIGhhcHBlbmVkIGluIGJldHdlZW4gb3VyIGNhbGxiYWNrXG4gICAgICAvLyBlcnJvcmluZyBhbmQgdGhlIGNvZGUgdGhhdCBmb2xsb3dzIHRoZSBgZGlzcGF0Y2hFdmVudGAgY2FsbCBiZWxvdy4gSWZcbiAgICAgIC8vIHRoZSBjYWxsYmFjayBkb2Vzbid0IGVycm9yLCBidXQgdGhlIGVycm9yIGV2ZW50IHdhcyBmaXJlZCwgd2Uga25vdyB0b1xuICAgICAgLy8gaWdub3JlIGl0IGJlY2F1c2UgYGRpZEVycm9yYCB3aWxsIGJlIGZhbHNlLCBhcyBkZXNjcmliZWQgYWJvdmUuXG5cblxuICAgICAgdmFyIGVycm9yOyAvLyBVc2UgdGhpcyB0byB0cmFjayB3aGV0aGVyIHRoZSBlcnJvciBldmVudCBpcyBldmVyIGNhbGxlZC5cblxuICAgICAgdmFyIGRpZFNldEVycm9yID0gZmFsc2U7XG4gICAgICB2YXIgaXNDcm9zc09yaWdpbkVycm9yID0gZmFsc2U7XG5cbiAgICAgIGZ1bmN0aW9uIGhhbmRsZVdpbmRvd0Vycm9yKGV2ZW50KSB7XG4gICAgICAgIGVycm9yID0gZXZlbnQuZXJyb3I7XG4gICAgICAgIGRpZFNldEVycm9yID0gdHJ1ZTtcblxuICAgICAgICBpZiAoZXJyb3IgPT09IG51bGwgJiYgZXZlbnQuY29sbm8gPT09IDAgJiYgZXZlbnQubGluZW5vID09PSAwKSB7XG4gICAgICAgICAgaXNDcm9zc09yaWdpbkVycm9yID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgLy8gU29tZSBvdGhlciBlcnJvciBoYW5kbGVyIGhhcyBwcmV2ZW50ZWQgZGVmYXVsdC5cbiAgICAgICAgICAvLyBCcm93c2VycyBzaWxlbmNlIHRoZSBlcnJvciByZXBvcnQgaWYgdGhpcyBoYXBwZW5zLlxuICAgICAgICAgIC8vIFdlJ2xsIHJlbWVtYmVyIHRoaXMgdG8gbGF0ZXIgZGVjaWRlIHdoZXRoZXIgdG8gbG9nIGl0IG9yIG5vdC5cbiAgICAgICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBlcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGlubmVyKSB7Ly8gSWdub3JlLlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSAvLyBDcmVhdGUgYSBmYWtlIGV2ZW50IHR5cGUuXG5cblxuICAgICAgdmFyIGV2dFR5cGUgPSBcInJlYWN0LVwiICsgKG5hbWUgPyBuYW1lIDogJ2ludm9rZWd1YXJkZWRjYWxsYmFjaycpOyAvLyBBdHRhY2ggb3VyIGV2ZW50IGhhbmRsZXJzXG5cbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGhhbmRsZVdpbmRvd0Vycm9yKTtcbiAgICAgIGZha2VOb2RlLmFkZEV2ZW50TGlzdGVuZXIoZXZ0VHlwZSwgY2FsbENhbGxiYWNrLCBmYWxzZSk7IC8vIFN5bmNocm9ub3VzbHkgZGlzcGF0Y2ggb3VyIGZha2UgZXZlbnQuIElmIHRoZSB1c2VyLXByb3ZpZGVkIGZ1bmN0aW9uXG4gICAgICAvLyBlcnJvcnMsIGl0IHdpbGwgdHJpZ2dlciBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIuXG5cbiAgICAgIGV2dC5pbml0RXZlbnQoZXZ0VHlwZSwgZmFsc2UsIGZhbHNlKTtcbiAgICAgIGZha2VOb2RlLmRpc3BhdGNoRXZlbnQoZXZ0KTtcblxuICAgICAgaWYgKHdpbmRvd0V2ZW50RGVzY3JpcHRvcikge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnZXZlbnQnLCB3aW5kb3dFdmVudERlc2NyaXB0b3IpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlkQ2FsbCAmJiBkaWRFcnJvcikge1xuICAgICAgICBpZiAoIWRpZFNldEVycm9yKSB7XG4gICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIGVycm9yZWQsIGJ1dCB0aGUgZXJyb3IgZXZlbnQgbmV2ZXIgZmlyZWQuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignQW4gZXJyb3Igd2FzIHRocm93biBpbnNpZGUgb25lIG9mIHlvdXIgY29tcG9uZW50cywgYnV0IFJlYWN0ICcgKyBcImRvZXNuJ3Qga25vdyB3aGF0IGl0IHdhcy4gVGhpcyBpcyBsaWtlbHkgZHVlIHRvIGJyb3dzZXIgXCIgKyAnZmxha2luZXNzLiBSZWFjdCBkb2VzIGl0cyBiZXN0IHRvIHByZXNlcnZlIHRoZSBcIlBhdXNlIG9uICcgKyAnZXhjZXB0aW9uc1wiIGJlaGF2aW9yIG9mIHRoZSBEZXZUb29scywgd2hpY2ggcmVxdWlyZXMgc29tZSAnICsgXCJERVYtbW9kZSBvbmx5IHRyaWNrcy4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZXNlIGRvbid0IHdvcmsgaW4gXCIgKyAneW91ciBicm93c2VyLiBUcnkgdHJpZ2dlcmluZyB0aGUgZXJyb3IgaW4gcHJvZHVjdGlvbiBtb2RlLCAnICsgJ29yIHN3aXRjaGluZyB0byBhIG1vZGVybiBicm93c2VyLiBJZiB5b3Ugc3VzcGVjdCB0aGF0IHRoaXMgaXMgJyArICdhY3R1YWxseSBhbiBpc3N1ZSB3aXRoIFJlYWN0LCBwbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0Nyb3NzT3JpZ2luRXJyb3IpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICAgIGVycm9yID0gbmV3IEVycm9yKFwiQSBjcm9zcy1vcmlnaW4gZXJyb3Igd2FzIHRocm93bi4gUmVhY3QgZG9lc24ndCBoYXZlIGFjY2VzcyB0byBcIiArICd0aGUgYWN0dWFsIGVycm9yIG9iamVjdCBpbiBkZXZlbG9wbWVudC4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Nyb3Nzb3JpZ2luLWVycm9yIGZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkVycm9yKGVycm9yKTtcbiAgICAgIH0gLy8gUmVtb3ZlIG91ciBldmVudCBsaXN0ZW5lcnNcblxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVXaW5kb3dFcnJvcik7XG5cbiAgICAgIGlmICghZGlkQ2FsbCkge1xuICAgICAgICAvLyBTb21ldGhpbmcgd2VudCByZWFsbHkgd3JvbmcsIGFuZCBvdXIgZXZlbnQgd2FzIG5vdCBkaXNwYXRjaGVkLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE2NzM0XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTY1ODVcbiAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHRoZSBwcm9kdWN0aW9uIGltcGxlbWVudGF0aW9uLlxuICAgICAgICByZXN0b3JlQWZ0ZXJEaXNwYXRjaCgpO1xuICAgICAgICByZXR1cm4gaW52b2tlR3VhcmRlZENhbGxiYWNrUHJvZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cblxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMSA9IGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGw7XG5cbnZhciBoYXNFcnJvciA9IGZhbHNlO1xudmFyIGNhdWdodEVycm9yID0gbnVsbDsgLy8gVXNlZCBieSBldmVudCBzeXN0ZW0gdG8gY2FwdHVyZS9yZXRocm93IHRoZSBmaXJzdCBlcnJvci5cblxudmFyIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xudmFyIHJldGhyb3dFcnJvciA9IG51bGw7XG52YXIgcmVwb3J0ZXIgPSB7XG4gIG9uRXJyb3I6IGZ1bmN0aW9uIChlcnJvcikge1xuICAgIGhhc0Vycm9yID0gdHJ1ZTtcbiAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xuICB9XG59O1xuLyoqXG4gKiBDYWxsIGEgZnVuY3Rpb24gd2hpbGUgZ3VhcmRpbmcgYWdhaW5zdCBlcnJvcnMgdGhhdCBoYXBwZW5zIHdpdGhpbiBpdC5cbiAqIFJldHVybnMgYW4gZXJyb3IgaWYgaXQgdGhyb3dzLCBvdGhlcndpc2UgbnVsbC5cbiAqXG4gKiBJbiBwcm9kdWN0aW9uLCB0aGlzIGlzIGltcGxlbWVudGVkIHVzaW5nIGEgdHJ5LWNhdGNoLiBUaGUgcmVhc29uIHdlIGRvbid0XG4gKiB1c2UgYSB0cnktY2F0Y2ggZGlyZWN0bHkgaXMgc28gdGhhdCB3ZSBjYW4gc3dhcCBvdXQgYSBkaWZmZXJlbnRcbiAqIGltcGxlbWVudGF0aW9uIGluIERFViBtb2RlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIG9mIHRoZSBndWFyZCB0byB1c2UgZm9yIGxvZ2dpbmcgb3IgZGVidWdnaW5nXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2VcbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBUaGUgY29udGV4dCB0byB1c2Ugd2hlbiBjYWxsaW5nIHRoZSBmdW5jdGlvblxuICogQHBhcmFtIHsuLi4qfSBhcmdzIEFyZ3VtZW50cyBmb3IgZnVuY3Rpb25cbiAqL1xuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xuICBoYXNFcnJvciA9IGZhbHNlO1xuICBjYXVnaHRFcnJvciA9IG51bGw7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMS5hcHBseShyZXBvcnRlciwgYXJndW1lbnRzKTtcbn1cbi8qKlxuICogU2FtZSBhcyBpbnZva2VHdWFyZGVkQ2FsbGJhY2ssIGJ1dCBpbnN0ZWFkIG9mIHJldHVybmluZyBhbiBlcnJvciwgaXQgc3RvcmVzXG4gKiBpdCBpbiBhIGdsb2JhbCBzbyBpdCBjYW4gYmUgcmV0aHJvd24gYnkgYHJldGhyb3dDYXVnaHRFcnJvcmAgbGF0ZXIuXG4gKiBUT0RPOiBTZWUgaWYgY2F1Z2h0RXJyb3IgYW5kIHJldGhyb3dFcnJvciBjYW4gYmUgdW5pZmllZC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZSBvZiB0aGUgZ3VhcmQgdG8gdXNlIGZvciBsb2dnaW5nIG9yIGRlYnVnZ2luZ1xuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlXG4gKiBAcGFyYW0geyp9IGNvbnRleHQgVGhlIGNvbnRleHQgdG8gdXNlIHdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25cbiAqIEBwYXJhbSB7Li4uKn0gYXJncyBBcmd1bWVudHMgZm9yIGZ1bmN0aW9uXG4gKi9cblxuZnVuY3Rpb24gaW52b2tlR3VhcmRlZENhbGxiYWNrQW5kQ2F0Y2hGaXJzdEVycm9yKG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgaW52b2tlR3VhcmRlZENhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgaWYgKGhhc0Vycm9yKSB7XG4gICAgdmFyIGVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgaWYgKCFoYXNSZXRocm93RXJyb3IpIHtcbiAgICAgIGhhc1JldGhyb3dFcnJvciA9IHRydWU7XG4gICAgICByZXRocm93RXJyb3IgPSBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRHVyaW5nIGV4ZWN1dGlvbiBvZiBndWFyZGVkIGZ1bmN0aW9ucyB3ZSB3aWxsIGNhcHR1cmUgdGhlIGZpcnN0IGVycm9yIHdoaWNoXG4gKiB3ZSB3aWxsIHJldGhyb3cgdG8gYmUgaGFuZGxlZCBieSB0aGUgdG9wIGxldmVsIGVycm9yIGhhbmRsZXIuXG4gKi9cblxuZnVuY3Rpb24gcmV0aHJvd0NhdWdodEVycm9yKCkge1xuICBpZiAoaGFzUmV0aHJvd0Vycm9yKSB7XG4gICAgdmFyIGVycm9yID0gcmV0aHJvd0Vycm9yO1xuICAgIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xuICAgIHJldGhyb3dFcnJvciA9IG51bGw7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cbmZ1bmN0aW9uIGhhc0NhdWdodEVycm9yKCkge1xuICByZXR1cm4gaGFzRXJyb3I7XG59XG5mdW5jdGlvbiBjbGVhckNhdWdodEVycm9yKCkge1xuICBpZiAoaGFzRXJyb3IpIHtcbiAgICB2YXIgZXJyb3IgPSBjYXVnaHRFcnJvcjtcbiAgICBoYXNFcnJvciA9IGZhbHNlO1xuICAgIGNhdWdodEVycm9yID0gbnVsbDtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbGVhckNhdWdodEVycm9yIHdhcyBjYWxsZWQgYnV0IG5vIGVycm9yIHdhcyBjYXB0dXJlZC4gVGhpcyBlcnJvciAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG59XG5cbi8qKlxuICogYFJlYWN0SW5zdGFuY2VNYXBgIG1haW50YWlucyBhIG1hcHBpbmcgZnJvbSBhIHB1YmxpYyBmYWNpbmcgc3RhdGVmdWxcbiAqIGluc3RhbmNlIChrZXkpIGFuZCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gKHZhbHVlKS4gVGhpcyBhbGxvd3MgcHVibGljXG4gKiBtZXRob2RzIHRvIGFjY2VwdCB0aGUgdXNlciBmYWNpbmcgaW5zdGFuY2UgYXMgYW4gYXJndW1lbnQgYW5kIG1hcCB0aGVtIGJhY2tcbiAqIHRvIGludGVybmFsIG1ldGhvZHMuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgbW9kdWxlIGlzIGN1cnJlbnRseSBzaGFyZWQgYW5kIGFzc3VtZWQgdG8gYmUgc3RhdGVsZXNzLlxuICogSWYgdGhpcyBiZWNvbWVzIGFuIGFjdHVhbCBNYXAsIHRoYXQgd2lsbCBicmVhay5cbiAqL1xuZnVuY3Rpb24gZ2V0KGtleSkge1xuICByZXR1cm4ga2V5Ll9yZWFjdEludGVybmFscztcbn1cbmZ1bmN0aW9uIGhhcyhrZXkpIHtcbiAgcmV0dXJuIGtleS5fcmVhY3RJbnRlcm5hbHMgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHNldChrZXksIHZhbHVlKSB7XG4gIGtleS5fcmVhY3RJbnRlcm5hbHMgPSB2YWx1ZTtcbn1cblxuLy8gRG9uJ3QgY2hhbmdlIHRoZXNlIHR3byB2YWx1ZXMuIFRoZXkncmUgdXNlZCBieSBSZWFjdCBEZXYgVG9vbHMuXG52YXIgTm9GbGFncyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAqL1xuMDtcbnZhciBQZXJmb3JtZWRXb3JrID1cbi8qICAgICAgICAgICAgICAgICovXG4xOyAvLyBZb3UgY2FuIGNoYW5nZSB0aGUgcmVzdCAoYW5kIGFkZCBtb3JlKS5cblxudmFyIFBsYWNlbWVudCA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgVXBkYXRlID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNDtcbnZhciBDaGlsZERlbGV0aW9uID1cbi8qICAgICAgICAgICAgICAgICovXG4xNjtcbnZhciBDb250ZW50UmVzZXQgPVxuLyogICAgICAgICAgICAgICAgICovXG4zMjtcbnZhciBDYWxsYmFjayA9XG4vKiAgICAgICAgICAgICAgICAgICAgICovXG42NDtcbnZhciBEaWRDYXB0dXJlID1cbi8qICAgICAgICAgICAgICAgICAgICovXG4xMjg7XG52YXIgRm9yY2VDbGllbnRSZW5kZXIgPVxuLyogICAgICAgICAgICAqL1xuMjU2O1xudmFyIFJlZiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjUxMjtcbnZhciBTbmFwc2hvdCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICovXG4xMDI0O1xudmFyIFBhc3NpdmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgKi9cbjIwNDg7XG52YXIgSHlkcmF0aW5nID1cbi8qICAgICAgICAgICAgICAgICAgICAqL1xuNDA5NjtcbnZhciBWaXNpYmlsaXR5ID1cbi8qICAgICAgICAgICAgICAgICAgICovXG44MTkyO1xudmFyIFN0b3JlQ29uc2lzdGVuY3kgPVxuLyogICAgICAgICAgICAgKi9cbjE2Mzg0O1xudmFyIExpZmVjeWNsZUVmZmVjdE1hc2sgPSBQYXNzaXZlIHwgVXBkYXRlIHwgQ2FsbGJhY2sgfCBSZWYgfCBTbmFwc2hvdCB8IFN0b3JlQ29uc2lzdGVuY3k7IC8vIFVuaW9uIG9mIGFsbCBjb21taXQgZmxhZ3MgKGZsYWdzIHdpdGggdGhlIGxpZmV0aW1lIG9mIGEgcGFydGljdWxhciBjb21taXQpXG5cbnZhciBIb3N0RWZmZWN0TWFzayA9XG4vKiAgICAgICAgICAgICAgICovXG4zMjc2NzsgLy8gVGhlc2UgYXJlIG5vdCByZWFsbHkgc2lkZSBlZmZlY3RzLCBidXQgd2Ugc3RpbGwgcmV1c2UgdGhpcyBmaWVsZC5cblxudmFyIEluY29tcGxldGUgPVxuLyogICAgICAgICAgICAgICAgICAgKi9cbjMyNzY4O1xudmFyIFNob3VsZENhcHR1cmUgPVxuLyogICAgICAgICAgICAgICAgKi9cbjY1NTM2O1xudmFyIEZvcmNlVXBkYXRlRm9yTGVnYWN5U3VzcGVuc2UgPVxuLyogKi9cbjEzMTA3MjtcbnZhciBGb3JrZWQgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMDQ4NTc2OyAvLyBTdGF0aWMgdGFncyBkZXNjcmliZSBhc3BlY3RzIG9mIGEgZmliZXIgdGhhdCBhcmUgbm90IHNwZWNpZmljIHRvIGEgcmVuZGVyLFxuLy8gZS5nLiBhIGZpYmVyIHVzZXMgYSBwYXNzaXZlIGVmZmVjdCAoZXZlbiBpZiB0aGVyZSBhcmUgbm8gdXBkYXRlcyBvbiB0aGlzIHBhcnRpY3VsYXIgcmVuZGVyKS5cbi8vIFRoaXMgZW5hYmxlcyB1cyB0byBkZWZlciBtb3JlIHdvcmsgaW4gdGhlIHVubW91bnQgY2FzZSxcbi8vIHNpbmNlIHdlIGNhbiBkZWZlciB0cmF2ZXJzaW5nIHRoZSB0cmVlIGR1cmluZyBsYXlvdXQgdG8gbG9vayBmb3IgUGFzc2l2ZSBlZmZlY3RzLFxuLy8gYW5kIGluc3RlYWQgcmVseSBvbiB0aGUgc3RhdGljIGZsYWcgYXMgYSBzaWduYWwgdGhhdCB0aGVyZSBtYXkgYmUgY2xlYW51cCB3b3JrLlxuXG52YXIgUmVmU3RhdGljID1cbi8qICAgICAgICAgICAgICAgICAgICAqL1xuMjA5NzE1MjtcbnZhciBMYXlvdXRTdGF0aWMgPVxuLyogICAgICAgICAgICAgICAgICovXG40MTk0MzA0O1xudmFyIFBhc3NpdmVTdGF0aWMgPVxuLyogICAgICAgICAgICAgICAgKi9cbjgzODg2MDg7IC8vIFRoZXNlIGZsYWdzIGFsbG93IHVzIHRvIHRyYXZlcnNlIHRvIGZpYmVycyB0aGF0IGhhdmUgZWZmZWN0cyBvbiBtb3VudFxuLy8gd2l0aG91dCB0cmF2ZXJzaW5nIHRoZSBlbnRpcmUgdHJlZSBhZnRlciBldmVyeSBjb21taXQgZm9yXG4vLyBkb3VibGUgaW52b2tpbmdcblxudmFyIE1vdW50TGF5b3V0RGV2ID1cbi8qICAgICAgICAgICAgICAgKi9cbjE2Nzc3MjE2O1xudmFyIE1vdW50UGFzc2l2ZURldiA9XG4vKiAgICAgICAgICAgICAgKi9cbjMzNTU0NDMyOyAvLyBHcm91cHMgb2YgZmxhZ3MgdGhhdCBhcmUgdXNlZCBpbiB0aGUgY29tbWl0IHBoYXNlIHRvIHNraXAgb3ZlciB0cmVlcyB0aGF0XG4vLyBkb24ndCBjb250YWluIGVmZmVjdHMsIGJ5IGNoZWNraW5nIHN1YnRyZWVGbGFncy5cblxudmFyIEJlZm9yZU11dGF0aW9uTWFzayA9IC8vIFRPRE86IFJlbW92ZSBVcGRhdGUgZmxhZyBmcm9tIGJlZm9yZSBtdXRhdGlvbiBwaGFzZSBieSByZS1sYW5kaW5nIFZpc2liaWxpdHlcbi8vIGZsYWcgbG9naWMgKHNlZSAjMjAwNDMpXG5VcGRhdGUgfCBTbmFwc2hvdCB8ICggMCk7XG52YXIgTXV0YXRpb25NYXNrID0gUGxhY2VtZW50IHwgVXBkYXRlIHwgQ2hpbGREZWxldGlvbiB8IENvbnRlbnRSZXNldCB8IFJlZiB8IEh5ZHJhdGluZyB8IFZpc2liaWxpdHk7XG52YXIgTGF5b3V0TWFzayA9IFVwZGF0ZSB8IENhbGxiYWNrIHwgUmVmIHwgVmlzaWJpbGl0eTsgLy8gVE9ETzogU3BsaXQgaW50byBQYXNzaXZlTW91bnRNYXNrIGFuZCBQYXNzaXZlVW5tb3VudE1hc2tcblxudmFyIFBhc3NpdmVNYXNrID0gUGFzc2l2ZSB8IENoaWxkRGVsZXRpb247IC8vIFVuaW9uIG9mIHRhZ3MgdGhhdCBkb24ndCBnZXQgcmVzZXQgb24gY2xvbmVzLlxuLy8gVGhpcyBhbGxvd3MgY2VydGFpbiBjb25jZXB0cyB0byBwZXJzaXN0IHdpdGhvdXQgcmVjYWxjdWxhdGluZyB0aGVtLFxuLy8gZS5nLiB3aGV0aGVyIGEgc3VidHJlZSBjb250YWlucyBwYXNzaXZlIGVmZmVjdHMgb3IgcG9ydGFscy5cblxudmFyIFN0YXRpY01hc2sgPSBMYXlvdXRTdGF0aWMgfCBQYXNzaXZlU3RhdGljIHwgUmVmU3RhdGljO1xuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbmZ1bmN0aW9uIGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpIHtcbiAgdmFyIG5vZGUgPSBmaWJlcjtcbiAgdmFyIG5lYXJlc3RNb3VudGVkID0gZmliZXI7XG5cbiAgaWYgKCFmaWJlci5hbHRlcm5hdGUpIHtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyBhbHRlcm5hdGUsIHRoaXMgbWlnaHQgYmUgYSBuZXcgdHJlZSB0aGF0IGlzbid0IGluc2VydGVkXG4gICAgLy8geWV0LiBJZiBpdCBpcywgdGhlbiBpdCB3aWxsIGhhdmUgYSBwZW5kaW5nIGluc2VydGlvbiBlZmZlY3Qgb24gaXQuXG4gICAgdmFyIG5leHROb2RlID0gbm9kZTtcblxuICAgIGRvIHtcbiAgICAgIG5vZGUgPSBuZXh0Tm9kZTtcblxuICAgICAgaWYgKChub2RlLmZsYWdzICYgKFBsYWNlbWVudCB8IEh5ZHJhdGluZykpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gaW5zZXJ0aW9uIG9yIGluLXByb2dyZXNzIGh5ZHJhdGlvbi4gVGhlIG5lYXJlc3QgcG9zc2libGVcbiAgICAgICAgLy8gbW91bnRlZCBmaWJlciBpcyB0aGUgcGFyZW50IGJ1dCB3ZSBuZWVkIHRvIGNvbnRpbnVlIHRvIGZpZ3VyZSBvdXRcbiAgICAgICAgLy8gaWYgdGhhdCBvbmUgaXMgc3RpbGwgbW91bnRlZC5cbiAgICAgICAgbmVhcmVzdE1vdW50ZWQgPSBub2RlLnJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dE5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9IHdoaWxlIChuZXh0Tm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKG5vZGUucmV0dXJuKSB7XG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgd2FzIGEgbmVzdGVkIEhvc3RSb290IHdoZW4gdXNlZCB3aXRoXG4gICAgLy8gcmVuZGVyQ29udGFpbmVySW50b1N1YnRyZWUuXG4gICAgcmV0dXJuIG5lYXJlc3RNb3VudGVkO1xuICB9IC8vIElmIHdlIGRpZG4ndCBoaXQgdGhlIHJvb3QsIHRoYXQgbWVhbnMgdGhhdCB3ZSdyZSBpbiBhbiBkaXNjb25uZWN0ZWQgdHJlZVxuICAvLyB0aGF0IGhhcyBiZWVuIHVubW91bnRlZC5cblxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihmaWJlcikge1xuICBpZiAoZmliZXIudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlID09PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgc3VzcGVuc2VTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldENvbnRhaW5lckZyb21GaWJlcihmaWJlcikge1xuICByZXR1cm4gZmliZXIudGFnID09PSBIb3N0Um9vdCA/IGZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIDogbnVsbDtcbn1cbmZ1bmN0aW9uIGlzRmliZXJNb3VudGVkKGZpYmVyKSB7XG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5mdW5jdGlvbiBpc01vdW50ZWQoY29tcG9uZW50KSB7XG4gIHtcbiAgICB2YXIgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHZhciBvd25lckZpYmVyID0gb3duZXI7XG4gICAgICB2YXIgaW5zdGFuY2UgPSBvd25lckZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgaWYgKCFpbnN0YW5jZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIpIHtcbiAgICAgICAgZXJyb3IoJyVzIGlzIGFjY2Vzc2luZyBpc01vdW50ZWQgaW5zaWRlIGl0cyByZW5kZXIoKSBmdW5jdGlvbi4gJyArICdyZW5kZXIoKSBzaG91bGQgYmUgYSBwdXJlIGZ1bmN0aW9uIG9mIHByb3BzIGFuZCBzdGF0ZS4gSXQgc2hvdWxkICcgKyAnbmV2ZXIgYWNjZXNzIHNvbWV0aGluZyB0aGF0IHJlcXVpcmVzIHN0YWxlIGRhdGEgZnJvbSB0aGUgcHJldmlvdXMgJyArICdyZW5kZXIsIHN1Y2ggYXMgcmVmcy4gTW92ZSB0aGlzIGxvZ2ljIHRvIGNvbXBvbmVudERpZE1vdW50IGFuZCAnICsgJ2NvbXBvbmVudERpZFVwZGF0ZSBpbnN0ZWFkLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIob3duZXJGaWJlcikgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIGluc3RhbmNlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlciA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gZ2V0KGNvbXBvbmVudCk7XG5cbiAgaWYgKCFmaWJlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5cbmZ1bmN0aW9uIGFzc2VydElzTW91bnRlZChmaWJlcikge1xuICBpZiAoZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcikgIT09IGZpYmVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoIWFsdGVybmF0ZSkge1xuICAgIC8vIElmIHRoZXJlIGlzIG5vIGFsdGVybmF0ZSwgdGhlbiB3ZSBvbmx5IG5lZWQgdG8gY2hlY2sgaWYgaXQgaXMgbW91bnRlZC5cbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKTtcblxuICAgIGlmIChuZWFyZXN0TW91bnRlZCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgfVxuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBmaWJlcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIElmIHdlIGhhdmUgdHdvIHBvc3NpYmxlIGJyYW5jaGVzLCB3ZSdsbCB3YWxrIGJhY2t3YXJkcyB1cCB0byB0aGUgcm9vdFxuICAvLyB0byBzZWUgd2hhdCBwYXRoIHRoZSByb290IHBvaW50cyB0by4gT24gdGhlIHdheSB3ZSBtYXkgaGl0IG9uZSBvZiB0aGVcbiAgLy8gc3BlY2lhbCBjYXNlcyBhbmQgd2UnbGwgZGVhbCB3aXRoIHRoZW0uXG5cblxuICB2YXIgYSA9IGZpYmVyO1xuICB2YXIgYiA9IGFsdGVybmF0ZTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIHZhciBwYXJlbnRBID0gYS5yZXR1cm47XG5cbiAgICBpZiAocGFyZW50QSA9PT0gbnVsbCkge1xuICAgICAgLy8gV2UncmUgYXQgdGhlIHJvb3QuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50QiA9IHBhcmVudEEuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKHBhcmVudEIgPT09IG51bGwpIHtcbiAgICAgIC8vIFRoZXJlIGlzIG5vIGFsdGVybmF0ZS4gVGhpcyBpcyBhbiB1bnVzdWFsIGNhc2UuIEN1cnJlbnRseSwgaXQgb25seVxuICAgICAgLy8gaGFwcGVucyB3aGVuIGEgU3VzcGVuc2UgY29tcG9uZW50IGlzIGhpZGRlbi4gQW4gZXh0cmEgZnJhZ21lbnQgZmliZXJcbiAgICAgIC8vIGlzIGluc2VydGVkIGluIGJldHdlZW4gdGhlIFN1c3BlbnNlIGZpYmVyIGFuZCBpdHMgY2hpbGRyZW4uIFNraXBcbiAgICAgIC8vIG92ZXIgdGhpcyBleHRyYSBmcmFnbWVudCBmaWJlciBhbmQgcHJvY2VlZCB0byB0aGUgbmV4dCBwYXJlbnQuXG4gICAgICB2YXIgbmV4dFBhcmVudCA9IHBhcmVudEEucmV0dXJuO1xuXG4gICAgICBpZiAobmV4dFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICBhID0gYiA9IG5leHRQYXJlbnQ7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSAvLyBJZiB0aGVyZSdzIG5vIHBhcmVudCwgd2UncmUgYXQgdGhlIHJvb3QuXG5cblxuICAgICAgYnJlYWs7XG4gICAgfSAvLyBJZiBib3RoIGNvcGllcyBvZiB0aGUgcGFyZW50IGZpYmVyIHBvaW50IHRvIHRoZSBzYW1lIGNoaWxkLCB3ZSBjYW5cbiAgICAvLyBhc3N1bWUgdGhhdCB0aGUgY2hpbGQgaXMgY3VycmVudC4gVGhpcyBoYXBwZW5zIHdoZW4gd2UgYmFpbG91dCBvbiBsb3dcbiAgICAvLyBwcmlvcml0eTogdGhlIGJhaWxlZCBvdXQgZmliZXIncyBjaGlsZCByZXVzZXMgdGhlIGN1cnJlbnQgY2hpbGQuXG5cblxuICAgIGlmIChwYXJlbnRBLmNoaWxkID09PSBwYXJlbnRCLmNoaWxkKSB7XG4gICAgICB2YXIgY2hpbGQgPSBwYXJlbnRBLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgICAgaWYgKGNoaWxkID09PSBhKSB7XG4gICAgICAgICAgLy8gV2UndmUgZGV0ZXJtaW5lZCB0aGF0IEEgaXMgdGhlIGN1cnJlbnQgYnJhbmNoLlxuICAgICAgICAgIGFzc2VydElzTW91bnRlZChwYXJlbnRBKTtcbiAgICAgICAgICByZXR1cm4gZmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQiBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgICAgICAgYXNzZXJ0SXNNb3VudGVkKHBhcmVudEEpO1xuICAgICAgICAgIHJldHVybiBhbHRlcm5hdGU7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9IC8vIFdlIHNob3VsZCBuZXZlciBoYXZlIGFuIGFsdGVybmF0ZSBmb3IgYW55IG1vdW50aW5nIG5vZGUuIFNvIHRoZSBvbmx5XG4gICAgICAvLyB3YXkgdGhpcyBjb3VsZCBwb3NzaWJseSBoYXBwZW4gaXMgaWYgdGhpcyB3YXMgdW5tb3VudGVkLCBpZiBhdCBhbGwuXG5cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgfVxuXG4gICAgaWYgKGEucmV0dXJuICE9PSBiLnJldHVybikge1xuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVyIG9mIEEgYW5kIHRoZSByZXR1cm4gcG9pbnRlciBvZiBCIHBvaW50IHRvIGRpZmZlcmVudFxuICAgICAgLy8gZmliZXJzLiBXZSBhc3N1bWUgdGhhdCByZXR1cm4gcG9pbnRlcnMgbmV2ZXIgY3Jpc3MtY3Jvc3MsIHNvIEEgbXVzdFxuICAgICAgLy8gYmVsb25nIHRvIHRoZSBjaGlsZCBzZXQgb2YgQS5yZXR1cm4sIGFuZCBCIG11c3QgYmVsb25nIHRvIHRoZSBjaGlsZFxuICAgICAgLy8gc2V0IG9mIEIucmV0dXJuLlxuICAgICAgYSA9IHBhcmVudEE7XG4gICAgICBiID0gcGFyZW50QjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVycyBwb2ludCB0byB0aGUgc2FtZSBmaWJlci4gV2UnbGwgaGF2ZSB0byB1c2UgdGhlXG4gICAgICAvLyBkZWZhdWx0LCBzbG93IHBhdGg6IHNjYW4gdGhlIGNoaWxkIHNldHMgb2YgZWFjaCBwYXJlbnQgYWx0ZXJuYXRlIHRvIHNlZVxuICAgICAgLy8gd2hpY2ggY2hpbGQgYmVsb25ncyB0byB3aGljaCBzZXQuXG4gICAgICAvL1xuICAgICAgLy8gU2VhcmNoIHBhcmVudCBBJ3MgY2hpbGQgc2V0XG4gICAgICB2YXIgZGlkRmluZENoaWxkID0gZmFsc2U7XG4gICAgICB2YXIgX2NoaWxkID0gcGFyZW50QS5jaGlsZDtcblxuICAgICAgd2hpbGUgKF9jaGlsZCkge1xuICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XG4gICAgICAgICAgZGlkRmluZENoaWxkID0gdHJ1ZTtcbiAgICAgICAgICBhID0gcGFyZW50QTtcbiAgICAgICAgICBiID0gcGFyZW50QjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgIGIgPSBwYXJlbnRBO1xuICAgICAgICAgIGEgPSBwYXJlbnRCO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGlmICghZGlkRmluZENoaWxkKSB7XG4gICAgICAgIC8vIFNlYXJjaCBwYXJlbnQgQidzIGNoaWxkIHNldFxuICAgICAgICBfY2hpbGQgPSBwYXJlbnRCLmNoaWxkO1xuXG4gICAgICAgIHdoaWxlIChfY2hpbGQpIHtcbiAgICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XG4gICAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgICAgYSA9IHBhcmVudEI7XG4gICAgICAgICAgICBiID0gcGFyZW50QTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChfY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XG4gICAgICAgICAgICBiID0gcGFyZW50QjtcbiAgICAgICAgICAgIGEgPSBwYXJlbnRBO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRpZEZpbmRDaGlsZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2hpbGQgd2FzIG5vdCBmb3VuZCBpbiBlaXRoZXIgcGFyZW50IHNldC4gVGhpcyBpbmRpY2F0ZXMgYSBidWcgJyArICdpbiBSZWFjdCByZWxhdGVkIHRvIHRoZSByZXR1cm4gcG9pbnRlci4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoYS5hbHRlcm5hdGUgIT09IGIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlJldHVybiBmaWJlcnMgc2hvdWxkIGFsd2F5cyBiZSBlYWNoIG90aGVycycgYWx0ZXJuYXRlcy4gXCIgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH0gLy8gSWYgdGhlIHJvb3QgaXMgbm90IGEgaG9zdCBjb250YWluZXIsIHdlJ3JlIGluIGEgZGlzY29ubmVjdGVkIHRyZWUuIEkuZS5cbiAgLy8gdW5tb3VudGVkLlxuXG5cbiAgaWYgKGEudGFnICE9PSBIb3N0Um9vdCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LicpO1xuICB9XG5cbiAgaWYgKGEuc3RhdGVOb2RlLmN1cnJlbnQgPT09IGEpIHtcbiAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQSBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIE90aGVyd2lzZSBCIGhhcyB0byBiZSBjdXJyZW50IGJyYW5jaC5cblxuXG4gIHJldHVybiBhbHRlcm5hdGU7XG59XG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcihwYXJlbnQpIHtcbiAgdmFyIGN1cnJlbnRQYXJlbnQgPSBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChwYXJlbnQpO1xuICByZXR1cm4gY3VycmVudFBhcmVudCAhPT0gbnVsbCA/IGZpbmRDdXJyZW50SG9zdEZpYmVySW1wbChjdXJyZW50UGFyZW50KSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVySW1wbChub2RlKSB7XG4gIC8vIE5leHQgd2UnbGwgZHJpbGwgZG93biB0aGlzIGNvbXBvbmVudCB0byBmaW5kIHRoZSBmaXJzdCBIb3N0Q29tcG9uZW50L1RleHQuXG4gIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgdmFyIG1hdGNoID0gZmluZEN1cnJlbnRIb3N0RmliZXJJbXBsKGNoaWxkKTtcblxuICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH1cblxuICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHMocGFyZW50KSB7XG4gIHZhciBjdXJyZW50UGFyZW50ID0gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgocGFyZW50KTtcbiAgcmV0dXJuIGN1cnJlbnRQYXJlbnQgIT09IG51bGwgPyBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHNJbXBsKGN1cnJlbnRQYXJlbnQpIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChub2RlKSB7XG4gIC8vIE5leHQgd2UnbGwgZHJpbGwgZG93biB0aGlzIGNvbXBvbmVudCB0byBmaW5kIHRoZSBmaXJzdCBIb3N0Q29tcG9uZW50L1RleHQuXG4gIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgaWYgKGNoaWxkLnRhZyAhPT0gSG9zdFBvcnRhbCkge1xuICAgICAgdmFyIG1hdGNoID0gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChjaGlsZCk7XG5cbiAgICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIFRoaXMgbW9kdWxlIG9ubHkgZXhpc3RzIGFzIGFuIEVTTSB3cmFwcGVyIGFyb3VuZCB0aGUgZXh0ZXJuYWwgQ29tbW9uSlNcbnZhciBzY2hlZHVsZUNhbGxiYWNrID0gU2NoZWR1bGVyLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XG52YXIgY2FuY2VsQ2FsbGJhY2sgPSBTY2hlZHVsZXIudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s7XG52YXIgc2hvdWxkWWllbGQgPSBTY2hlZHVsZXIudW5zdGFibGVfc2hvdWxkWWllbGQ7XG52YXIgcmVxdWVzdFBhaW50ID0gU2NoZWR1bGVyLnVuc3RhYmxlX3JlcXVlc3RQYWludDtcbnZhciBub3cgPSBTY2hlZHVsZXIudW5zdGFibGVfbm93O1xudmFyIGdldEN1cnJlbnRQcmlvcml0eUxldmVsID0gU2NoZWR1bGVyLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsO1xudmFyIEltbWVkaWF0ZVByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5O1xudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5O1xudmFyIE5vcm1hbFByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5O1xudmFyIExvd1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX0xvd1ByaW9yaXR5O1xudmFyIElkbGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JZGxlUHJpb3JpdHk7XG4vLyB0aGlzIGRvZXNuJ3QgYWN0dWFsbHkgZXhpc3Qgb24gdGhlIHNjaGVkdWxlciwgYnV0IGl0ICpkb2VzKlxuLy8gb24gc2NoZWR1bGVyL3Vuc3RhYmxlX21vY2ssIHdoaWNoIHdlJ2xsIG5lZWQgZm9yIGludGVybmFsIHRlc3RpbmdcbnZhciB1bnN0YWJsZV95aWVsZFZhbHVlID0gU2NoZWR1bGVyLnVuc3RhYmxlX3lpZWxkVmFsdWU7XG52YXIgdW5zdGFibGVfc2V0RGlzYWJsZVlpZWxkVmFsdWUgPSBTY2hlZHVsZXIudW5zdGFibGVfc2V0RGlzYWJsZVlpZWxkVmFsdWU7XG5cbnZhciByZW5kZXJlcklEID0gbnVsbDtcbnZhciBpbmplY3RlZEhvb2sgPSBudWxsO1xudmFyIGluamVjdGVkUHJvZmlsaW5nSG9va3MgPSBudWxsO1xudmFyIGhhc0xvZ2dlZEVycm9yID0gZmFsc2U7XG52YXIgaXNEZXZUb29sc1ByZXNlbnQgPSB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJztcbmZ1bmN0aW9uIGluamVjdEludGVybmFscyhpbnRlcm5hbHMpIHtcbiAgaWYgKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gTm8gRGV2VG9vbHNcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgaG9vayA9IF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztcblxuICBpZiAoaG9vay5pc0Rpc2FibGVkKSB7XG4gICAgLy8gVGhpcyBpc24ndCBhIHJlYWwgcHJvcGVydHkgb24gdGhlIGhvb2ssIGJ1dCBpdCBjYW4gYmUgc2V0IHRvIG9wdCBvdXRcbiAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzM4NzdcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICghaG9vay5zdXBwb3J0c0ZpYmVyKSB7XG4gICAge1xuICAgICAgZXJyb3IoJ1RoZSBpbnN0YWxsZWQgdmVyc2lvbiBvZiBSZWFjdCBEZXZUb29scyBpcyB0b28gb2xkIGFuZCB3aWxsIG5vdCB3b3JrICcgKyAnd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIFJlYWN0LiBQbGVhc2UgdXBkYXRlIFJlYWN0IERldlRvb2xzLiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9yZWFjdC1kZXZ0b29scycpO1xuICAgIH0gLy8gRGV2VG9vbHMgZXhpc3RzLCBldmVuIHRob3VnaCBpdCBkb2Vzbid0IHN1cHBvcnQgRmliZXIuXG5cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlU2NoZWR1bGluZ1Byb2ZpbGVyKSB7XG4gICAgICAvLyBDb25kaXRpb25hbGx5IGluamVjdCB0aGVzZSBob29rcyBvbmx5IGlmIFRpbWVsaW5lIHByb2ZpbGVyIGlzIHN1cHBvcnRlZCBieSB0aGlzIGJ1aWxkLlxuICAgICAgLy8gVGhpcyBnaXZlcyBEZXZUb29scyBhIHdheSB0byBmZWF0dXJlIGRldGVjdCB0aGF0IGlzbid0IHRpZWQgdG8gdmVyc2lvbiBudW1iZXJcbiAgICAgIC8vIChzaW5jZSBwcm9maWxpbmcgYW5kIHRpbWVsaW5lIGFyZSBjb250cm9sbGVkIGJ5IGRpZmZlcmVudCBmZWF0dXJlIGZsYWdzKS5cbiAgICAgIGludGVybmFscyA9IGFzc2lnbih7fSwgaW50ZXJuYWxzLCB7XG4gICAgICAgIGdldExhbmVMYWJlbE1hcDogZ2V0TGFuZUxhYmVsTWFwLFxuICAgICAgICBpbmplY3RQcm9maWxpbmdIb29rczogaW5qZWN0UHJvZmlsaW5nSG9va3NcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbmRlcmVySUQgPSBob29rLmluamVjdChpbnRlcm5hbHMpOyAvLyBXZSBoYXZlIHN1Y2Nlc3NmdWxseSBpbmplY3RlZCwgc28gbm93IGl0IGlzIHNhZmUgdG8gc2V0IHVwIGhvb2tzLlxuXG4gICAgaW5qZWN0ZWRIb29rID0gaG9vaztcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gQ2F0Y2ggYWxsIGVycm9ycyBiZWNhdXNlIGl0IGlzIHVuc2FmZSB0byB0aHJvdyBkdXJpbmcgaW5pdGlhbGl6YXRpb24uXG4gICAge1xuICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMuJywgZXJyKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaG9vay5jaGVja0RDRSkge1xuICAgIC8vIFRoaXMgaXMgdGhlIHJlYWwgRGV2VG9vbHMuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhpcyBpcyBsaWtlbHkgYSBob29rIGluc3RhbGxlZCBieSBGYXN0IFJlZnJlc2ggcnVudGltZS5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIG9uU2NoZWR1bGVSb290KHJvb3QsIGNoaWxkcmVuKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2sub25TY2hlZHVsZUZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLm9uU2NoZWR1bGVGaWJlclJvb3QocmVuZGVyZXJJRCwgcm9vdCwgY2hpbGRyZW4pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICggIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFJvb3Qocm9vdCwgZXZlbnRQcmlvcml0eSkge1xuICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2sub25Db21taXRGaWJlclJvb3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICB0cnkge1xuICAgICAgdmFyIGRpZEVycm9yID0gKHJvb3QuY3VycmVudC5mbGFncyAmIERpZENhcHR1cmUpID09PSBEaWRDYXB0dXJlO1xuXG4gICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lcikge1xuICAgICAgICB2YXIgc2NoZWR1bGVyUHJpb3JpdHk7XG5cbiAgICAgICAgc3dpdGNoIChldmVudFByaW9yaXR5KSB7XG4gICAgICAgICAgY2FzZSBEaXNjcmV0ZUV2ZW50UHJpb3JpdHk6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IEltbWVkaWF0ZVByaW9yaXR5O1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIENvbnRpbnVvdXNFdmVudFByaW9yaXR5OlxuICAgICAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHkgPSBVc2VyQmxvY2tpbmdQcmlvcml0eTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICAgICAgICAgIHNjaGVkdWxlclByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgSWRsZUV2ZW50UHJpb3JpdHk6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IElkbGVQcmlvcml0eTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHNjaGVkdWxlclByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBzY2hlZHVsZXJQcmlvcml0eSwgZGlkRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLm9uQ29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QsIHVuZGVmaW5lZCwgZGlkRXJyb3IpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvblBvc3RDb21taXRSb290KHJvb3QpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uUG9zdENvbW1pdEZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRyeSB7XG4gICAgICBpbmplY3RlZEhvb2sub25Qb3N0Q29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFVubW91bnQoZmliZXIpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uQ29tbWl0RmliZXJVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyVW5tb3VudChyZW5kZXJlcklELCBmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB7XG4gICAgICAgIGlmICghaGFzTG9nZ2VkRXJyb3IpIHtcbiAgICAgICAgICBoYXNMb2dnZWRFcnJvciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKG5ld0lzU3RyaWN0TW9kZSkge1xuICB7XG4gICAgaWYgKHR5cGVvZiB1bnN0YWJsZV95aWVsZFZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBXZSdyZSBpbiBhIHRlc3QgYmVjYXVzZSBTY2hlZHVsZXIudW5zdGFibGVfeWllbGRWYWx1ZSBvbmx5IGV4aXN0c1xuICAgICAgLy8gaW4gU2NoZWR1bGVyTW9jay4gVG8gcmVkdWNlIHRoZSBub2lzZSBpbiBzdHJpY3QgbW9kZSB0ZXN0cyxcbiAgICAgIC8vIHN1cHByZXNzIHdhcm5pbmdzIGFuZCBkaXNhYmxlIHNjaGVkdWxlciB5aWVsZGluZyBkdXJpbmcgdGhlIGRvdWJsZSByZW5kZXJcbiAgICAgIHVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlKG5ld0lzU3RyaWN0TW9kZSk7XG4gICAgICBzZXRTdXBwcmVzc1dhcm5pbmcobmV3SXNTdHJpY3RNb2RlKTtcbiAgICB9XG5cbiAgICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2suc2V0U3RyaWN0TW9kZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLnNldFN0cmljdE1vZGUocmVuZGVyZXJJRCwgbmV3SXNTdHJpY3RNb2RlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xuICAgICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIFByb2ZpbGVyIEFQSSBob29rc1xuXG5mdW5jdGlvbiBpbmplY3RQcm9maWxpbmdIb29rcyhwcm9maWxpbmdIb29rcykge1xuICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzID0gcHJvZmlsaW5nSG9va3M7XG59XG5cbmZ1bmN0aW9uIGdldExhbmVMYWJlbE1hcCgpIHtcbiAge1xuICAgIHZhciBtYXAgPSBuZXcgTWFwKCk7XG4gICAgdmFyIGxhbmUgPSAxO1xuXG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IFRvdGFsTGFuZXM7IGluZGV4KyspIHtcbiAgICAgIHZhciBsYWJlbCA9IGdldExhYmVsRm9yTGFuZShsYW5lKTtcbiAgICAgIG1hcC5zZXQobGFuZSwgbGFiZWwpO1xuICAgICAgbGFuZSAqPSAyO1xuICAgIH1cblxuICAgIHJldHVybiBtYXA7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya0NvbW1pdFN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21taXRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdGFydGVkKGZpYmVyKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50U3VzcGVuZGVkKGZpYmVyLCB3YWtlYWJsZSwgbGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRTdXNwZW5kZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFN1c3BlbmRlZChmaWJlciwgd2FrZWFibGUsIGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkKGxhbmVzKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJZaWVsZGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclNjaGVkdWxlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUmVuZGVyU2NoZWR1bGVkKGxhbmUpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrRm9yY2VVcGRhdGVTY2hlZHVsZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBOb01vZGUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjA7IC8vIFRPRE86IFJlbW92ZSBDb25jdXJyZW50TW9kZSBieSByZWFkaW5nIGZyb20gdGhlIHJvb3QgdGFnIGluc3RlYWRcblxudmFyIENvbmN1cnJlbnRNb2RlID1cbi8qICAgICAgICAgICAgICAgICAqL1xuMTtcbnZhciBQcm9maWxlTW9kZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgU3RyaWN0TGVnYWN5TW9kZSA9XG4vKiAgICAgICAgICAgICAgICovXG44O1xudmFyIFN0cmljdEVmZmVjdHNNb2RlID1cbi8qICAgICAgICAgICAgICAqL1xuMTY7XG5cbi8vIFRPRE86IFRoaXMgaXMgcHJldHR5IHdlbGwgc3VwcG9ydGVkIGJ5IGJyb3dzZXJzLiBNYXliZSB3ZSBjYW4gZHJvcCBpdC5cbnZhciBjbHozMiA9IE1hdGguY2x6MzIgPyBNYXRoLmNsejMyIDogY2x6MzJGYWxsYmFjazsgLy8gQ291bnQgbGVhZGluZyB6ZXJvcy5cbi8vIEJhc2VkIG9uOlxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvTWF0aC9jbHozMlxuXG52YXIgbG9nID0gTWF0aC5sb2c7XG52YXIgTE4yID0gTWF0aC5MTjI7XG5cbmZ1bmN0aW9uIGNsejMyRmFsbGJhY2soeCkge1xuICB2YXIgYXNVaW50ID0geCA+Pj4gMDtcblxuICBpZiAoYXNVaW50ID09PSAwKSB7XG4gICAgcmV0dXJuIDMyO1xuICB9XG5cbiAgcmV0dXJuIDMxIC0gKGxvZyhhc1VpbnQpIC8gTE4yIHwgMCkgfCAwO1xufVxuXG4vLyBJZiB0aG9zZSB2YWx1ZXMgYXJlIGNoYW5nZWQgdGhhdCBwYWNrYWdlIHNob3VsZCBiZSByZWJ1aWx0IGFuZCByZWRlcGxveWVkLlxuXG52YXIgVG90YWxMYW5lcyA9IDMxO1xudmFyIE5vTGFuZXMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAqL1xuMDtcbnZhciBOb0xhbmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICovXG4wO1xudmFyIFN5bmNMYW5lID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjE7XG52YXIgSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZSA9XG4vKiAgICAqL1xuMjtcbnZhciBJbnB1dENvbnRpbnVvdXNMYW5lID1cbi8qICAgICAgICAgICAgICovXG40O1xudmFyIERlZmF1bHRIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICAgKi9cbjg7XG52YXIgRGVmYXVsdExhbmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAqL1xuMTY7XG52YXIgVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmUgPVxuLyogICAgICAgICAgICAgICAgKi9cbjMyO1xudmFyIFRyYW5zaXRpb25MYW5lcyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjQxOTQyNDA7XG52YXIgVHJhbnNpdGlvbkxhbmUxID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjY0O1xudmFyIFRyYW5zaXRpb25MYW5lMiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xMjg7XG52YXIgVHJhbnNpdGlvbkxhbmUzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjI1NjtcbnZhciBUcmFuc2l0aW9uTGFuZTQgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAqL1xuNTEyO1xudmFyIFRyYW5zaXRpb25MYW5lNSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xMDI0O1xudmFyIFRyYW5zaXRpb25MYW5lNiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4yMDQ4O1xudmFyIFRyYW5zaXRpb25MYW5lNyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG40MDk2O1xudmFyIFRyYW5zaXRpb25MYW5lOCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG44MTkyO1xudmFyIFRyYW5zaXRpb25MYW5lOSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xNjM4NDtcbnZhciBUcmFuc2l0aW9uTGFuZTEwID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuMzI3Njg7XG52YXIgVHJhbnNpdGlvbkxhbmUxMSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjY1NTM2O1xudmFyIFRyYW5zaXRpb25MYW5lMTIgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMzEwNzI7XG52YXIgVHJhbnNpdGlvbkxhbmUxMyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjI2MjE0NDtcbnZhciBUcmFuc2l0aW9uTGFuZTE0ID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNTI0Mjg4O1xudmFyIFRyYW5zaXRpb25MYW5lMTUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMDQ4NTc2O1xudmFyIFRyYW5zaXRpb25MYW5lMTYgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4yMDk3MTUyO1xudmFyIFJldHJ5TGFuZXMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjEzMDAyMzQyNDtcbnZhciBSZXRyeUxhbmUxID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuNDE5NDMwNDtcbnZhciBSZXRyeUxhbmUyID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuODM4ODYwODtcbnZhciBSZXRyeUxhbmUzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuMTY3NzcyMTY7XG52YXIgUmV0cnlMYW5lNCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjMzNTU0NDMyO1xudmFyIFJldHJ5TGFuZTUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG42NzEwODg2NDtcbnZhciBTb21lUmV0cnlMYW5lID0gUmV0cnlMYW5lMTtcbnZhciBTZWxlY3RpdmVIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICovXG4xMzQyMTc3Mjg7XG52YXIgTm9uSWRsZUxhbmVzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuMjY4NDM1NDU1O1xudmFyIElkbGVIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICAgICAgKi9cbjI2ODQzNTQ1NjtcbnZhciBJZGxlTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG41MzY4NzA5MTI7XG52YXIgT2Zmc2NyZWVuTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAqL1xuMTA3Mzc0MTgyNDsgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvciB0aGUgZXhwZXJpbWVudGFsIHRpbWVsaW5lIChyZWFjdC1kZXZ0b29scy10aW1lbGluZSlcbi8vIEl0IHNob3VsZCBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgTGFuZXMgdmFsdWVzIGFib3ZlLlxuXG5mdW5jdGlvbiBnZXRMYWJlbEZvckxhbmUobGFuZSkge1xuICB7XG4gICAgaWYgKGxhbmUgJiBTeW5jTGFuZSkge1xuICAgICAgcmV0dXJuICdTeW5jJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0xhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIERlZmF1bHRIeWRyYXRpb25MYW5lKSB7XG4gICAgICByZXR1cm4gJ0RlZmF1bHRIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgRGVmYXVsdExhbmUpIHtcbiAgICAgIHJldHVybiAnRGVmYXVsdCc7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBUcmFuc2l0aW9uSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFRyYW5zaXRpb25MYW5lcykge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFJldHJ5TGFuZXMpIHtcbiAgICAgIHJldHVybiAnUmV0cnknO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgU2VsZWN0aXZlSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdTZWxlY3RpdmVIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgSWRsZUh5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSWRsZUh5ZHJhdGlvbic7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBJZGxlTGFuZSkge1xuICAgICAgcmV0dXJuICdJZGxlJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIE9mZnNjcmVlbkxhbmUpIHtcbiAgICAgIHJldHVybiAnT2Zmc2NyZWVuJztcbiAgICB9XG4gIH1cbn1cbnZhciBOb1RpbWVzdGFtcCA9IC0xO1xudmFyIG5leHRUcmFuc2l0aW9uTGFuZSA9IFRyYW5zaXRpb25MYW5lMTtcbnZhciBuZXh0UmV0cnlMYW5lID0gUmV0cnlMYW5lMTtcblxuZnVuY3Rpb24gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMobGFuZXMpIHtcbiAgc3dpdGNoIChnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKGxhbmVzKSkge1xuICAgIGNhc2UgU3luY0xhbmU6XG4gICAgICByZXR1cm4gU3luY0xhbmU7XG5cbiAgICBjYXNlIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgSW5wdXRDb250aW51b3VzTGFuZTpcbiAgICAgIHJldHVybiBJbnB1dENvbnRpbnVvdXNMYW5lO1xuXG4gICAgY2FzZSBEZWZhdWx0SHlkcmF0aW9uTGFuZTpcbiAgICAgIHJldHVybiBEZWZhdWx0SHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgRGVmYXVsdExhbmU6XG4gICAgICByZXR1cm4gRGVmYXVsdExhbmU7XG5cbiAgICBjYXNlIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lOlxuICAgICAgcmV0dXJuIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lO1xuXG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTc6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTg6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEwOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE2OlxuICAgICAgcmV0dXJuIGxhbmVzICYgVHJhbnNpdGlvbkxhbmVzO1xuXG4gICAgY2FzZSBSZXRyeUxhbmUxOlxuICAgIGNhc2UgUmV0cnlMYW5lMjpcbiAgICBjYXNlIFJldHJ5TGFuZTM6XG4gICAgY2FzZSBSZXRyeUxhbmU0OlxuICAgIGNhc2UgUmV0cnlMYW5lNTpcbiAgICAgIHJldHVybiBsYW5lcyAmIFJldHJ5TGFuZXM7XG5cbiAgICBjYXNlIFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gU2VsZWN0aXZlSHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgSWRsZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gSWRsZUh5ZHJhdGlvbkxhbmU7XG5cbiAgICBjYXNlIElkbGVMYW5lOlxuICAgICAgcmV0dXJuIElkbGVMYW5lO1xuXG4gICAgY2FzZSBPZmZzY3JlZW5MYW5lOlxuICAgICAgcmV0dXJuIE9mZnNjcmVlbkxhbmU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICBlcnJvcignU2hvdWxkIGhhdmUgZm91bmQgbWF0Y2hpbmcgbGFuZXMuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9IC8vIFRoaXMgc2hvdWxkbid0IGJlIHJlYWNoYWJsZSwgYnV0IGFzIGEgZmFsbGJhY2ssIHJldHVybiB0aGUgZW50aXJlIGJpdG1hc2suXG5cblxuICAgICAgcmV0dXJuIGxhbmVzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5leHRMYW5lcyhyb290LCB3aXBMYW5lcykge1xuICAvLyBFYXJseSBiYWlsb3V0IGlmIHRoZXJlJ3Mgbm8gcGVuZGluZyB3b3JrIGxlZnQuXG4gIHZhciBwZW5kaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lcztcblxuICBpZiAocGVuZGluZ0xhbmVzID09PSBOb0xhbmVzKSB7XG4gICAgcmV0dXJuIE5vTGFuZXM7XG4gIH1cblxuICB2YXIgbmV4dExhbmVzID0gTm9MYW5lcztcbiAgdmFyIHN1c3BlbmRlZExhbmVzID0gcm9vdC5zdXNwZW5kZWRMYW5lcztcbiAgdmFyIHBpbmdlZExhbmVzID0gcm9vdC5waW5nZWRMYW5lczsgLy8gRG8gbm90IHdvcmsgb24gYW55IGlkbGUgd29yayB1bnRpbCBhbGwgdGhlIG5vbi1pZGxlIHdvcmsgaGFzIGZpbmlzaGVkLFxuICAvLyBldmVuIGlmIHRoZSB3b3JrIGlzIHN1c3BlbmRlZC5cblxuICB2YXIgbm9uSWRsZVBlbmRpbmdMYW5lcyA9IHBlbmRpbmdMYW5lcyAmIE5vbklkbGVMYW5lcztcblxuICBpZiAobm9uSWRsZVBlbmRpbmdMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgIHZhciBub25JZGxlVW5ibG9ja2VkTGFuZXMgPSBub25JZGxlUGVuZGluZ0xhbmVzICYgfnN1c3BlbmRlZExhbmVzO1xuXG4gICAgaWYgKG5vbklkbGVVbmJsb2NrZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMobm9uSWRsZVVuYmxvY2tlZExhbmVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIG5vbklkbGVQaW5nZWRMYW5lcyA9IG5vbklkbGVQZW5kaW5nTGFuZXMgJiBwaW5nZWRMYW5lcztcblxuICAgICAgaWYgKG5vbklkbGVQaW5nZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgICBuZXh0TGFuZXMgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lcyhub25JZGxlUGluZ2VkTGFuZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGUgb25seSByZW1haW5pbmcgd29yayBpcyBJZGxlLlxuICAgIHZhciB1bmJsb2NrZWRMYW5lcyA9IHBlbmRpbmdMYW5lcyAmIH5zdXNwZW5kZWRMYW5lcztcblxuICAgIGlmICh1bmJsb2NrZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXModW5ibG9ja2VkTGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGluZ2VkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMocGluZ2VkTGFuZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChuZXh0TGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBvbmx5IGJlIHJlYWNoYWJsZSBpZiB3ZSdyZSBzdXNwZW5kZWRcbiAgICAvLyBUT0RPOiBDb25zaWRlciB3YXJuaW5nIGluIHRoaXMgcGF0aCBpZiBhIGZhbGxiYWNrIHRpbWVyIGlzIG5vdCBzY2hlZHVsZWQuXG4gICAgcmV0dXJuIE5vTGFuZXM7XG4gIH0gLy8gSWYgd2UncmUgYWxyZWFkeSBpbiB0aGUgbWlkZGxlIG9mIGEgcmVuZGVyLCBzd2l0Y2hpbmcgbGFuZXMgd2lsbCBpbnRlcnJ1cHRcbiAgLy8gaXQgYW5kIHdlJ2xsIGxvc2Ugb3VyIHByb2dyZXNzLiBXZSBzaG91bGQgb25seSBkbyB0aGlzIGlmIHRoZSBuZXcgbGFuZXMgYXJlXG4gIC8vIGhpZ2hlciBwcmlvcml0eS5cblxuXG4gIGlmICh3aXBMYW5lcyAhPT0gTm9MYW5lcyAmJiB3aXBMYW5lcyAhPT0gbmV4dExhbmVzICYmIC8vIElmIHdlIGFscmVhZHkgc3VzcGVuZGVkIHdpdGggYSBkZWxheSwgdGhlbiBpbnRlcnJ1cHRpbmcgaXMgZmluZS4gRG9uJ3RcbiAgLy8gYm90aGVyIHdhaXRpbmcgdW50aWwgdGhlIHJvb3QgaXMgY29tcGxldGUuXG4gICh3aXBMYW5lcyAmIHN1c3BlbmRlZExhbmVzKSA9PT0gTm9MYW5lcykge1xuICAgIHZhciBuZXh0TGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUobmV4dExhbmVzKTtcbiAgICB2YXIgd2lwTGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUod2lwTGFuZXMpO1xuXG4gICAgaWYgKCAvLyBUZXN0cyB3aGV0aGVyIHRoZSBuZXh0IGxhbmUgaXMgZXF1YWwgb3IgbG93ZXIgcHJpb3JpdHkgdGhhbiB0aGUgd2lwXG4gICAgLy8gb25lLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIGJpdHMgZGVjcmVhc2UgaW4gcHJpb3JpdHkgYXMgeW91IGdvIGxlZnQuXG4gICAgbmV4dExhbmUgPj0gd2lwTGFuZSB8fCAvLyBEZWZhdWx0IHByaW9yaXR5IHVwZGF0ZXMgc2hvdWxkIG5vdCBpbnRlcnJ1cHQgdHJhbnNpdGlvbiB1cGRhdGVzLiBUaGVcbiAgICAvLyBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiBkZWZhdWx0IHVwZGF0ZXMgYW5kIHRyYW5zaXRpb24gdXBkYXRlcyBpcyB0aGF0XG4gICAgLy8gZGVmYXVsdCB1cGRhdGVzIGRvIG5vdCBzdXBwb3J0IHJlZnJlc2ggdHJhbnNpdGlvbnMuXG4gICAgbmV4dExhbmUgPT09IERlZmF1bHRMYW5lICYmICh3aXBMYW5lICYgVHJhbnNpdGlvbkxhbmVzKSAhPT0gTm9MYW5lcykge1xuICAgICAgLy8gS2VlcCB3b3JraW5nIG9uIHRoZSBleGlzdGluZyBpbi1wcm9ncmVzcyB0cmVlLiBEbyBub3QgaW50ZXJydXB0LlxuICAgICAgcmV0dXJuIHdpcExhbmVzO1xuICAgIH1cbiAgfVxuXG4gIGlmICgobmV4dExhbmVzICYgSW5wdXRDb250aW51b3VzTGFuZSkgIT09IE5vTGFuZXMpIHtcbiAgICAvLyBXaGVuIHVwZGF0ZXMgYXJlIHN5bmMgYnkgZGVmYXVsdCwgd2UgZW50YW5nbGUgY29udGludW91cyBwcmlvcml0eSB1cGRhdGVzXG4gICAgLy8gYW5kIGRlZmF1bHQgdXBkYXRlcywgc28gdGhleSByZW5kZXIgaW4gdGhlIHNhbWUgYmF0Y2guIFRoZSBvbmx5IHJlYXNvblxuICAgIC8vIHRoZXkgdXNlIHNlcGFyYXRlIGxhbmVzIGlzIGJlY2F1c2UgY29udGludW91cyB1cGRhdGVzIHNob3VsZCBpbnRlcnJ1cHRcbiAgICAvLyB0cmFuc2l0aW9ucywgYnV0IGRlZmF1bHQgdXBkYXRlcyBzaG91bGQgbm90LlxuICAgIG5leHRMYW5lcyB8PSBwZW5kaW5nTGFuZXMgJiBEZWZhdWx0TGFuZTtcbiAgfSAvLyBDaGVjayBmb3IgZW50YW5nbGVkIGxhbmVzIGFuZCBhZGQgdGhlbSB0byB0aGUgYmF0Y2guXG4gIC8vXG4gIC8vIEEgbGFuZSBpcyBzYWlkIHRvIGJlIGVudGFuZ2xlZCB3aXRoIGFub3RoZXIgd2hlbiBpdCdzIG5vdCBhbGxvd2VkIHRvIHJlbmRlclxuICAvLyBpbiBhIGJhdGNoIHRoYXQgZG9lcyBub3QgYWxzbyBpbmNsdWRlIHRoZSBvdGhlciBsYW5lLiBUeXBpY2FsbHkgd2UgZG8gdGhpc1xuICAvLyB3aGVuIG11bHRpcGxlIHVwZGF0ZXMgaGF2ZSB0aGUgc2FtZSBzb3VyY2UsIGFuZCB3ZSBvbmx5IHdhbnQgdG8gcmVzcG9uZCB0b1xuICAvLyB0aGUgbW9zdCByZWNlbnQgZXZlbnQgZnJvbSB0aGF0IHNvdXJjZS5cbiAgLy9cbiAgLy8gTm90ZSB0aGF0IHdlIGFwcGx5IGVudGFuZ2xlbWVudHMgKmFmdGVyKiBjaGVja2luZyBmb3IgcGFydGlhbCB3b3JrIGFib3ZlLlxuICAvLyBUaGlzIG1lYW5zIHRoYXQgaWYgYSBsYW5lIGlzIGVudGFuZ2xlZCBkdXJpbmcgYW4gaW50ZXJsZWF2ZWQgZXZlbnQgd2hpbGVcbiAgLy8gaXQncyBhbHJlYWR5IHJlbmRlcmluZywgd2Ugd29uJ3QgaW50ZXJydXB0IGl0LiBUaGlzIGlzIGludGVudGlvbmFsLCBzaW5jZVxuICAvLyBlbnRhbmdsZW1lbnQgaXMgdXN1YWxseSBcImJlc3QgZWZmb3J0XCI6IHdlJ2xsIHRyeSBvdXIgYmVzdCB0byByZW5kZXIgdGhlXG4gIC8vIGxhbmVzIGluIHRoZSBzYW1lIGJhdGNoLCBidXQgaXQncyBub3Qgd29ydGggdGhyb3dpbmcgb3V0IHBhcnRpYWxseVxuICAvLyBjb21wbGV0ZWQgd29yayBpbiBvcmRlciB0byBkbyBpdC5cbiAgLy8gVE9ETzogUmVjb25zaWRlciB0aGlzLiBUaGUgY291bnRlci1hcmd1bWVudCBpcyB0aGF0IHRoZSBwYXJ0aWFsIHdvcmtcbiAgLy8gcmVwcmVzZW50cyBhbiBpbnRlcm1lZGlhdGUgc3RhdGUsIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gc2hvdyB0byB0aGUgdXNlci5cbiAgLy8gQW5kIGJ5IHNwZW5kaW5nIGV4dHJhIHRpbWUgZmluaXNoaW5nIGl0LCB3ZSdyZSBpbmNyZWFzaW5nIHRoZSBhbW91bnQgb2ZcbiAgLy8gdGltZSBpdCB0YWtlcyB0byBzaG93IHRoZSBmaW5hbCBzdGF0ZSwgd2hpY2ggaXMgd2hhdCB0aGV5IGFyZSBhY3R1YWxseVxuICAvLyB3YWl0aW5nIGZvci5cbiAgLy9cbiAgLy8gRm9yIHRob3NlIGV4Y2VwdGlvbnMgd2hlcmUgZW50YW5nbGVtZW50IGlzIHNlbWFudGljYWxseSBpbXBvcnRhbnQsIGxpa2VcbiAgLy8gdXNlTXV0YWJsZVNvdXJjZSwgd2Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZXJlIGlzIG5vIHBhcnRpYWwgd29yayBhdCB0aGVcbiAgLy8gdGltZSB3ZSBhcHBseSB0aGUgZW50YW5nbGVtZW50LlxuXG5cbiAgdmFyIGVudGFuZ2xlZExhbmVzID0gcm9vdC5lbnRhbmdsZWRMYW5lcztcblxuICBpZiAoZW50YW5nbGVkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICB2YXIgZW50YW5nbGVtZW50cyA9IHJvb3QuZW50YW5nbGVtZW50cztcbiAgICB2YXIgbGFuZXMgPSBuZXh0TGFuZXMgJiBlbnRhbmdsZWRMYW5lcztcblxuICAgIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgICAgbmV4dExhbmVzIHw9IGVudGFuZ2xlbWVudHNbaW5kZXhdO1xuICAgICAgbGFuZXMgJj0gfmxhbmU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5leHRMYW5lcztcbn1cbmZ1bmN0aW9uIGdldE1vc3RSZWNlbnRFdmVudFRpbWUocm9vdCwgbGFuZXMpIHtcbiAgdmFyIGV2ZW50VGltZXMgPSByb290LmV2ZW50VGltZXM7XG4gIHZhciBtb3N0UmVjZW50RXZlbnRUaW1lID0gTm9UaW1lc3RhbXA7XG5cbiAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgZXZlbnRUaW1lID0gZXZlbnRUaW1lc1tpbmRleF07XG5cbiAgICBpZiAoZXZlbnRUaW1lID4gbW9zdFJlY2VudEV2ZW50VGltZSkge1xuICAgICAgbW9zdFJlY2VudEV2ZW50VGltZSA9IGV2ZW50VGltZTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxuXG4gIHJldHVybiBtb3N0UmVjZW50RXZlbnRUaW1lO1xufVxuXG5mdW5jdGlvbiBjb21wdXRlRXhwaXJhdGlvblRpbWUobGFuZSwgY3VycmVudFRpbWUpIHtcbiAgc3dpdGNoIChsYW5lKSB7XG4gICAgY2FzZSBTeW5jTGFuZTpcbiAgICBjYXNlIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJbnB1dENvbnRpbnVvdXNMYW5lOlxuICAgICAgLy8gVXNlciBpbnRlcmFjdGlvbnMgc2hvdWxkIGV4cGlyZSBzbGlnaHRseSBtb3JlIHF1aWNrbHkuXG4gICAgICAvL1xuICAgICAgLy8gTk9URTogVGhpcyBpcyBzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgY29uc3RhbnQgYXMgaW4gU2NoZWR1bGVyLmpzLlxuICAgICAgLy8gV2hlbiB3ZSBtYWRlIGl0IGxhcmdlciwgYSBwcm9kdWN0IG1ldHJpYyBpbiB3d3cgcmVncmVzc2VkLCBzdWdnZXN0aW5nXG4gICAgICAvLyB0aGVyZSdzIGEgdXNlciBpbnRlcmFjdGlvbiB0aGF0J3MgYmVpbmcgc3RhcnZlZCBieSBhIHNlcmllcyBvZlxuICAgICAgLy8gc3luY2hyb25vdXMgdXBkYXRlcy4gSWYgdGhhdCB0aGVvcnkgaXMgY29ycmVjdCwgdGhlIHByb3BlciBzb2x1dGlvbiBpc1xuICAgICAgLy8gdG8gZml4IHRoZSBzdGFydmF0aW9uLiBIb3dldmVyLCB0aGlzIHNjZW5hcmlvIHN1cHBvcnRzIHRoZSBpZGVhIHRoYXRcbiAgICAgIC8vIGV4cGlyYXRpb24gdGltZXMgYXJlIGFuIGltcG9ydGFudCBzYWZlZ3VhcmQgd2hlbiBzdGFydmF0aW9uXG4gICAgICAvLyBkb2VzIGhhcHBlbi5cbiAgICAgIHJldHVybiBjdXJyZW50VGltZSArIDI1MDtcblxuICAgIGNhc2UgRGVmYXVsdEh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBEZWZhdWx0TGFuZTpcbiAgICBjYXNlIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUyOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU0OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU1OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU2OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU3OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU4OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU5OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEyOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMzpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE1OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNjpcbiAgICAgIHJldHVybiBjdXJyZW50VGltZSArIDUwMDA7XG5cbiAgICBjYXNlIFJldHJ5TGFuZTE6XG4gICAgY2FzZSBSZXRyeUxhbmUyOlxuICAgIGNhc2UgUmV0cnlMYW5lMzpcbiAgICBjYXNlIFJldHJ5TGFuZTQ6XG4gICAgY2FzZSBSZXRyeUxhbmU1OlxuICAgICAgLy8gVE9ETzogUmV0cmllcyBzaG91bGQgYmUgYWxsb3dlZCB0byBleHBpcmUgaWYgdGhleSBhcmUgQ1BVIGJvdW5kIGZvclxuICAgICAgLy8gdG9vIGxvbmcsIGJ1dCB3aGVuIEkgbWFkZSB0aGlzIGNoYW5nZSBpdCBjYXVzZWQgYSBzcGlrZSBpbiBicm93c2VyXG4gICAgICAvLyBjcmFzaGVzLiBUaGVyZSBtdXN0IGJlIHNvbWUgb3RoZXIgdW5kZXJseWluZyBidWc7IG5vdCBzdXBlciB1cmdlbnQgYnV0XG4gICAgICAvLyBpZGVhbGx5IHNob3VsZCBmaWd1cmUgb3V0IHdoeSBhbmQgZml4IGl0LiBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmVcbiAgICAgIC8vIGEgcmVwcm8gZm9yIHRoZSBjcmFzaGVzLCBvbmx5IGRldGVjdGVkIHZpYSBwcm9kdWN0aW9uIG1ldHJpY3MuXG4gICAgICByZXR1cm4gTm9UaW1lc3RhbXA7XG5cbiAgICBjYXNlIFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJZGxlSHlkcmF0aW9uTGFuZTpcbiAgICBjYXNlIElkbGVMYW5lOlxuICAgIGNhc2UgT2Zmc2NyZWVuTGFuZTpcbiAgICAgIC8vIEFueXRoaW5nIGlkbGUgcHJpb3JpdHkgb3IgbG93ZXIgc2hvdWxkIG5ldmVyIGV4cGlyZS5cbiAgICAgIHJldHVybiBOb1RpbWVzdGFtcDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIGVycm9yKCdTaG91bGQgaGF2ZSBmb3VuZCBtYXRjaGluZyBsYW5lcy4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIE5vVGltZXN0YW1wO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcmtTdGFydmVkTGFuZXNBc0V4cGlyZWQocm9vdCwgY3VycmVudFRpbWUpIHtcbiAgLy8gVE9ETzogVGhpcyBnZXRzIGNhbGxlZCBldmVyeSB0aW1lIHdlIHlpZWxkLiBXZSBjYW4gb3B0aW1pemUgYnkgc3RvcmluZ1xuICAvLyB0aGUgZWFybGllc3QgZXhwaXJhdGlvbiB0aW1lIG9uIHRoZSByb290LiBUaGVuIHVzZSB0aGF0IHRvIHF1aWNrbHkgYmFpbCBvdXRcbiAgLy8gb2YgdGhpcyBmdW5jdGlvbi5cbiAgdmFyIHBlbmRpbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzO1xuICB2YXIgc3VzcGVuZGVkTGFuZXMgPSByb290LnN1c3BlbmRlZExhbmVzO1xuICB2YXIgcGluZ2VkTGFuZXMgPSByb290LnBpbmdlZExhbmVzO1xuICB2YXIgZXhwaXJhdGlvblRpbWVzID0gcm9vdC5leHBpcmF0aW9uVGltZXM7IC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgcGVuZGluZyBsYW5lcyBhbmQgY2hlY2sgaWYgd2UndmUgcmVhY2hlZCB0aGVpclxuICAvLyBleHBpcmF0aW9uIHRpbWUuIElmIHNvLCB3ZSdsbCBhc3N1bWUgdGhlIHVwZGF0ZSBpcyBiZWluZyBzdGFydmVkIGFuZCBtYXJrXG4gIC8vIGl0IGFzIGV4cGlyZWQgdG8gZm9yY2UgaXQgdG8gZmluaXNoLlxuXG4gIHZhciBsYW5lcyA9IHBlbmRpbmdMYW5lcztcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIHZhciBleHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lc1tpbmRleF07XG5cbiAgICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IE5vVGltZXN0YW1wKSB7XG4gICAgICAvLyBGb3VuZCBhIHBlbmRpbmcgbGFuZSB3aXRoIG5vIGV4cGlyYXRpb24gdGltZS4gSWYgaXQncyBub3Qgc3VzcGVuZGVkLCBvclxuICAgICAgLy8gaWYgaXQncyBwaW5nZWQsIGFzc3VtZSBpdCdzIENQVS1ib3VuZC4gQ29tcHV0ZSBhIG5ldyBleHBpcmF0aW9uIHRpbWVcbiAgICAgIC8vIHVzaW5nIHRoZSBjdXJyZW50IHRpbWUuXG4gICAgICBpZiAoKGxhbmUgJiBzdXNwZW5kZWRMYW5lcykgPT09IE5vTGFuZXMgfHwgKGxhbmUgJiBwaW5nZWRMYW5lcykgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aW1lc3RhbXBzIGFyZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcuXG4gICAgICAgIGV4cGlyYXRpb25UaW1lc1tpbmRleF0gPSBjb21wdXRlRXhwaXJhdGlvblRpbWUobGFuZSwgY3VycmVudFRpbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWUpIHtcbiAgICAgIC8vIFRoaXMgbGFuZSBleHBpcmVkXG4gICAgICByb290LmV4cGlyZWRMYW5lcyB8PSBsYW5lO1xuICAgIH1cblxuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59IC8vIFRoaXMgcmV0dXJucyB0aGUgaGlnaGVzdCBwcmlvcml0eSBwZW5kaW5nIGxhbmVzIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGV5XG4vLyBhcmUgc3VzcGVuZGVkLlxuXG5mdW5jdGlvbiBnZXRIaWdoZXN0UHJpb3JpdHlQZW5kaW5nTGFuZXMocm9vdCkge1xuICByZXR1cm4gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMocm9vdC5wZW5kaW5nTGFuZXMpO1xufVxuZnVuY3Rpb24gZ2V0TGFuZXNUb1JldHJ5U3luY2hyb25vdXNseU9uRXJyb3Iocm9vdCkge1xuICB2YXIgZXZlcnl0aGluZ0J1dE9mZnNjcmVlbiA9IHJvb3QucGVuZGluZ0xhbmVzICYgfk9mZnNjcmVlbkxhbmU7XG5cbiAgaWYgKGV2ZXJ5dGhpbmdCdXRPZmZzY3JlZW4gIT09IE5vTGFuZXMpIHtcbiAgICByZXR1cm4gZXZlcnl0aGluZ0J1dE9mZnNjcmVlbjtcbiAgfVxuXG4gIGlmIChldmVyeXRoaW5nQnV0T2Zmc2NyZWVuICYgT2Zmc2NyZWVuTGFuZSkge1xuICAgIHJldHVybiBPZmZzY3JlZW5MYW5lO1xuICB9XG5cbiAgcmV0dXJuIE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc1N5bmNMYW5lKGxhbmVzKSB7XG4gIHJldHVybiAobGFuZXMgJiBTeW5jTGFuZSkgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc05vbklkbGVXb3JrKGxhbmVzKSB7XG4gIHJldHVybiAobGFuZXMgJiBOb25JZGxlTGFuZXMpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gaW5jbHVkZXNPbmx5UmV0cmllcyhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgUmV0cnlMYW5lcykgPT09IGxhbmVzO1xufVxuZnVuY3Rpb24gaW5jbHVkZXNPbmx5Tm9uVXJnZW50TGFuZXMobGFuZXMpIHtcbiAgdmFyIFVyZ2VudExhbmVzID0gU3luY0xhbmUgfCBJbnB1dENvbnRpbnVvdXNMYW5lIHwgRGVmYXVsdExhbmU7XG4gIHJldHVybiAobGFuZXMgJiBVcmdlbnRMYW5lcykgPT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc09ubHlUcmFuc2l0aW9ucyhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgVHJhbnNpdGlvbkxhbmVzKSA9PT0gbGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCBsYW5lcykge1xuXG4gIHZhciBTeW5jRGVmYXVsdExhbmVzID0gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZSB8IElucHV0Q29udGludW91c0xhbmUgfCBEZWZhdWx0SHlkcmF0aW9uTGFuZSB8IERlZmF1bHRMYW5lO1xuICByZXR1cm4gKGxhbmVzICYgU3luY0RlZmF1bHRMYW5lcykgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0V4cGlyZWRMYW5lKHJvb3QsIGxhbmVzKSB7XG4gIC8vIFRoaXMgaXMgYSBzZXBhcmF0ZSBjaGVjayBmcm9tIGluY2x1ZGVzQmxvY2tpbmdMYW5lIGJlY2F1c2UgYSBsYW5lIGNhblxuICAvLyBleHBpcmUgYWZ0ZXIgYSByZW5kZXIgaGFzIGFscmVhZHkgc3RhcnRlZC5cbiAgcmV0dXJuIChsYW5lcyAmIHJvb3QuZXhwaXJlZExhbmVzKSAhPT0gTm9MYW5lcztcbn1cbmZ1bmN0aW9uIGlzVHJhbnNpdGlvbkxhbmUobGFuZSkge1xuICByZXR1cm4gKGxhbmUgJiBUcmFuc2l0aW9uTGFuZXMpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gY2xhaW1OZXh0VHJhbnNpdGlvbkxhbmUoKSB7XG4gIC8vIEN5Y2xlIHRocm91Z2ggdGhlIGxhbmVzLCBhc3NpZ25pbmcgZWFjaCBuZXcgdHJhbnNpdGlvbiB0byB0aGUgbmV4dCBsYW5lLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIG1lYW5zIGV2ZXJ5IHRyYW5zaXRpb24gZ2V0cyBpdHMgb3duIGxhbmUsIHVudGlsIHdlXG4gIC8vIHJ1biBvdXQgb2YgbGFuZXMgYW5kIGN5Y2xlIGJhY2sgdG8gdGhlIGJlZ2lubmluZy5cbiAgdmFyIGxhbmUgPSBuZXh0VHJhbnNpdGlvbkxhbmU7XG4gIG5leHRUcmFuc2l0aW9uTGFuZSA8PD0gMTtcblxuICBpZiAoKG5leHRUcmFuc2l0aW9uTGFuZSAmIFRyYW5zaXRpb25MYW5lcykgPT09IE5vTGFuZXMpIHtcbiAgICBuZXh0VHJhbnNpdGlvbkxhbmUgPSBUcmFuc2l0aW9uTGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGNsYWltTmV4dFJldHJ5TGFuZSgpIHtcbiAgdmFyIGxhbmUgPSBuZXh0UmV0cnlMYW5lO1xuICBuZXh0UmV0cnlMYW5lIDw8PSAxO1xuXG4gIGlmICgobmV4dFJldHJ5TGFuZSAmIFJldHJ5TGFuZXMpID09PSBOb0xhbmVzKSB7XG4gICAgbmV4dFJldHJ5TGFuZSA9IFJldHJ5TGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGdldEhpZ2hlc3RQcmlvcml0eUxhbmUobGFuZXMpIHtcbiAgcmV0dXJuIGxhbmVzICYgLWxhbmVzO1xufVxuZnVuY3Rpb24gcGlja0FyYml0cmFyeUxhbmUobGFuZXMpIHtcbiAgLy8gVGhpcyB3cmFwcGVyIGZ1bmN0aW9uIGdldHMgaW5saW5lZC4gT25seSBleGlzdHMgc28gdG8gY29tbXVuaWNhdGUgdGhhdCBpdFxuICAvLyBkb2Vzbid0IG1hdHRlciB3aGljaCBiaXQgaXMgc2VsZWN0ZWQ7IHlvdSBjYW4gcGljayBhbnkgYml0IHdpdGhvdXRcbiAgLy8gYWZmZWN0aW5nIHRoZSBhbGdvcml0aG1zIHdoZXJlIGl0cyB1c2VkLiBIZXJlIEknbSB1c2luZ1xuICAvLyBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lIGJlY2F1c2UgaXQgcmVxdWlyZXMgdGhlIGZld2VzdCBvcGVyYXRpb25zLlxuICByZXR1cm4gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShsYW5lcyk7XG59XG5cbmZ1bmN0aW9uIHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpIHtcbiAgcmV0dXJuIDMxIC0gY2x6MzIobGFuZXMpO1xufVxuXG5mdW5jdGlvbiBsYW5lVG9JbmRleChsYW5lKSB7XG4gIHJldHVybiBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmUpO1xufVxuXG5mdW5jdGlvbiBpbmNsdWRlc1NvbWVMYW5lKGEsIGIpIHtcbiAgcmV0dXJuIChhICYgYikgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpc1N1YnNldE9mTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIChzZXQgJiBzdWJzZXQpID09PSBzdWJzZXQ7XG59XG5mdW5jdGlvbiBtZXJnZUxhbmVzKGEsIGIpIHtcbiAgcmV0dXJuIGEgfCBiO1xufVxuZnVuY3Rpb24gcmVtb3ZlTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIHNldCAmIH5zdWJzZXQ7XG59XG5mdW5jdGlvbiBpbnRlcnNlY3RMYW5lcyhhLCBiKSB7XG4gIHJldHVybiBhICYgYjtcbn0gLy8gU2VlbXMgcmVkdW5kYW50LCBidXQgaXQgY2hhbmdlcyB0aGUgdHlwZSBmcm9tIGEgc2luZ2xlIGxhbmUgKHVzZWQgZm9yXG4vLyB1cGRhdGVzKSB0byBhIGdyb3VwIG9mIGxhbmVzICh1c2VkIGZvciBmbHVzaGluZyB3b3JrKS5cblxuZnVuY3Rpb24gbGFuZVRvTGFuZXMobGFuZSkge1xuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGhpZ2hlclByaW9yaXR5TGFuZShhLCBiKSB7XG4gIC8vIFRoaXMgd29ya3MgYmVjYXVzZSB0aGUgYml0IHJhbmdlcyBkZWNyZWFzZSBpbiBwcmlvcml0eSBhcyB5b3UgZ28gbGVmdC5cbiAgcmV0dXJuIGEgIT09IE5vTGFuZSAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gY3JlYXRlTGFuZU1hcChpbml0aWFsKSB7XG4gIC8vIEludGVudGlvbmFsbHkgcHVzaGluZyBvbmUgYnkgb25lLlxuICAvLyBodHRwczovL3Y4LmRldi9ibG9nL2VsZW1lbnRzLWtpbmRzI2F2b2lkLWNyZWF0aW5nLWhvbGVzXG4gIHZhciBsYW5lTWFwID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBUb3RhbExhbmVzOyBpKyspIHtcbiAgICBsYW5lTWFwLnB1c2goaW5pdGlhbCk7XG4gIH1cblxuICByZXR1cm4gbGFuZU1hcDtcbn1cbmZ1bmN0aW9uIG1hcmtSb290VXBkYXRlZChyb290LCB1cGRhdGVMYW5lLCBldmVudFRpbWUpIHtcbiAgcm9vdC5wZW5kaW5nTGFuZXMgfD0gdXBkYXRlTGFuZTsgLy8gSWYgdGhlcmUgYXJlIGFueSBzdXNwZW5kZWQgdHJhbnNpdGlvbnMsIGl0J3MgcG9zc2libGUgdGhpcyBuZXcgdXBkYXRlXG4gIC8vIGNvdWxkIHVuYmxvY2sgdGhlbS4gQ2xlYXIgdGhlIHN1c3BlbmRlZCBsYW5lcyBzbyB0aGF0IHdlIGNhbiB0cnkgcmVuZGVyaW5nXG4gIC8vIHRoZW0gYWdhaW4uXG4gIC8vXG4gIC8vIFRPRE86IFdlIHJlYWxseSBvbmx5IG5lZWQgdG8gdW5zdXNwZW5kIG9ubHkgbGFuZXMgdGhhdCBhcmUgaW4gdGhlXG4gIC8vIGBzdWJ0cmVlTGFuZXNgIG9mIHRoZSB1cGRhdGVkIGZpYmVyLCBvciB0aGUgdXBkYXRlIGxhbmVzIG9mIHRoZSByZXR1cm5cbiAgLy8gcGF0aC4gVGhpcyB3b3VsZCBleGNsdWRlIHN1c3BlbmRlZCB1cGRhdGVzIGluIGFuIHVucmVsYXRlZCBzaWJsaW5nIHRyZWUsXG4gIC8vIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IGZvciB0aGlzIHVwZGF0ZSB0byB1bmJsb2NrIGl0LlxuICAvL1xuICAvLyBXZSBkb24ndCBkbyB0aGlzIGlmIHRoZSBpbmNvbWluZyB1cGRhdGUgaXMgaWRsZSwgYmVjYXVzZSB3ZSBuZXZlciBwcm9jZXNzXG4gIC8vIGlkbGUgdXBkYXRlcyB1bnRpbCBhZnRlciBhbGwgdGhlIHJlZ3VsYXIgdXBkYXRlcyBoYXZlIGZpbmlzaGVkOyB0aGVyZSdzIG5vXG4gIC8vIHdheSBpdCBjb3VsZCB1bmJsb2NrIGEgdHJhbnNpdGlvbi5cblxuICBpZiAodXBkYXRlTGFuZSAhPT0gSWRsZUxhbmUpIHtcbiAgICByb290LnN1c3BlbmRlZExhbmVzID0gTm9MYW5lcztcbiAgICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgfVxuXG4gIHZhciBldmVudFRpbWVzID0gcm9vdC5ldmVudFRpbWVzO1xuICB2YXIgaW5kZXggPSBsYW5lVG9JbmRleCh1cGRhdGVMYW5lKTsgLy8gV2UgY2FuIGFsd2F5cyBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgdGltZXN0YW1wIGJlY2F1c2Ugd2UgcHJlZmVyIHRoZSBtb3N0XG4gIC8vIHJlY2VudCBldmVudCwgYW5kIHdlIGFzc3VtZSB0aW1lIGlzIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy5cblxuICBldmVudFRpbWVzW2luZGV4XSA9IGV2ZW50VGltZTtcbn1cbmZ1bmN0aW9uIG1hcmtSb290U3VzcGVuZGVkKHJvb3QsIHN1c3BlbmRlZExhbmVzKSB7XG4gIHJvb3Quc3VzcGVuZGVkTGFuZXMgfD0gc3VzcGVuZGVkTGFuZXM7XG4gIHJvb3QucGluZ2VkTGFuZXMgJj0gfnN1c3BlbmRlZExhbmVzOyAvLyBUaGUgc3VzcGVuZGVkIGxhbmVzIGFyZSBubyBsb25nZXIgQ1BVLWJvdW5kLiBDbGVhciB0aGVpciBleHBpcmF0aW9uIHRpbWVzLlxuXG4gIHZhciBleHBpcmF0aW9uVGltZXMgPSByb290LmV4cGlyYXRpb25UaW1lcztcbiAgdmFyIGxhbmVzID0gc3VzcGVuZGVkTGFuZXM7XG5cbiAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICBleHBpcmF0aW9uVGltZXNbaW5kZXhdID0gTm9UaW1lc3RhbXA7XG4gICAgbGFuZXMgJj0gfmxhbmU7XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSb290UGluZ2VkKHJvb3QsIHBpbmdlZExhbmVzLCBldmVudFRpbWUpIHtcbiAgcm9vdC5waW5nZWRMYW5lcyB8PSByb290LnN1c3BlbmRlZExhbmVzICYgcGluZ2VkTGFuZXM7XG59XG5mdW5jdGlvbiBtYXJrUm9vdEZpbmlzaGVkKHJvb3QsIHJlbWFpbmluZ0xhbmVzKSB7XG4gIHZhciBub0xvbmdlclBlbmRpbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzICYgfnJlbWFpbmluZ0xhbmVzO1xuICByb290LnBlbmRpbmdMYW5lcyA9IHJlbWFpbmluZ0xhbmVzOyAvLyBMZXQncyB0cnkgZXZlcnl0aGluZyBhZ2FpblxuXG4gIHJvb3Quc3VzcGVuZGVkTGFuZXMgPSBOb0xhbmVzO1xuICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgcm9vdC5leHBpcmVkTGFuZXMgJj0gcmVtYWluaW5nTGFuZXM7XG4gIHJvb3QubXV0YWJsZVJlYWRMYW5lcyAmPSByZW1haW5pbmdMYW5lcztcbiAgcm9vdC5lbnRhbmdsZWRMYW5lcyAmPSByZW1haW5pbmdMYW5lcztcbiAgdmFyIGVudGFuZ2xlbWVudHMgPSByb290LmVudGFuZ2xlbWVudHM7XG4gIHZhciBldmVudFRpbWVzID0gcm9vdC5ldmVudFRpbWVzO1xuICB2YXIgZXhwaXJhdGlvblRpbWVzID0gcm9vdC5leHBpcmF0aW9uVGltZXM7IC8vIENsZWFyIHRoZSBsYW5lcyB0aGF0IG5vIGxvbmdlciBoYXZlIHBlbmRpbmcgd29ya1xuXG4gIHZhciBsYW5lcyA9IG5vTG9uZ2VyUGVuZGluZ0xhbmVzO1xuXG4gIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICB2YXIgaW5kZXggPSBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmVzKTtcbiAgICB2YXIgbGFuZSA9IDEgPDwgaW5kZXg7XG4gICAgZW50YW5nbGVtZW50c1tpbmRleF0gPSBOb0xhbmVzO1xuICAgIGV2ZW50VGltZXNbaW5kZXhdID0gTm9UaW1lc3RhbXA7XG4gICAgZXhwaXJhdGlvblRpbWVzW2luZGV4XSA9IE5vVGltZXN0YW1wO1xuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiBtYXJrUm9vdEVudGFuZ2xlZChyb290LCBlbnRhbmdsZWRMYW5lcykge1xuICAvLyBJbiBhZGRpdGlvbiB0byBlbnRhbmdsaW5nIGVhY2ggb2YgdGhlIGdpdmVuIGxhbmVzIHdpdGggZWFjaCBvdGhlciwgd2UgYWxzb1xuICAvLyBoYXZlIHRvIGNvbnNpZGVyIF90cmFuc2l0aXZlXyBlbnRhbmdsZW1lbnRzLiBGb3IgZWFjaCBsYW5lIHRoYXQgaXMgYWxyZWFkeVxuICAvLyBlbnRhbmdsZWQgd2l0aCAqYW55KiBvZiB0aGUgZ2l2ZW4gbGFuZXMsIHRoYXQgbGFuZSBpcyBub3cgdHJhbnNpdGl2ZWx5XG4gIC8vIGVudGFuZ2xlZCB3aXRoICphbGwqIHRoZSBnaXZlbiBsYW5lcy5cbiAgLy9cbiAgLy8gVHJhbnNsYXRlZDogSWYgQyBpcyBlbnRhbmdsZWQgd2l0aCBBLCB0aGVuIGVudGFuZ2xpbmcgQSB3aXRoIEIgYWxzb1xuICAvLyBlbnRhbmdsZXMgQyB3aXRoIEIuXG4gIC8vXG4gIC8vIElmIHRoaXMgaXMgaGFyZCB0byBncmFzcCwgaXQgbWlnaHQgaGVscCB0byBpbnRlbnRpb25hbGx5IGJyZWFrIHRoaXNcbiAgLy8gZnVuY3Rpb24gYW5kIGxvb2sgYXQgdGhlIHRlc3RzIHRoYXQgZmFpbCBpbiBSZWFjdFRyYW5zaXRpb24tdGVzdC5qcy4gVHJ5XG4gIC8vIGNvbW1lbnRpbmcgb3V0IG9uZSBvZiB0aGUgY29uZGl0aW9ucyBiZWxvdy5cbiAgdmFyIHJvb3RFbnRhbmdsZWRMYW5lcyA9IHJvb3QuZW50YW5nbGVkTGFuZXMgfD0gZW50YW5nbGVkTGFuZXM7XG4gIHZhciBlbnRhbmdsZW1lbnRzID0gcm9vdC5lbnRhbmdsZW1lbnRzO1xuICB2YXIgbGFuZXMgPSByb290RW50YW5nbGVkTGFuZXM7XG5cbiAgd2hpbGUgKGxhbmVzKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuXG4gICAgaWYgKCAvLyBJcyB0aGlzIG9uZSBvZiB0aGUgbmV3bHkgZW50YW5nbGVkIGxhbmVzP1xuICAgIGxhbmUgJiBlbnRhbmdsZWRMYW5lcyB8IC8vIElzIHRoaXMgbGFuZSB0cmFuc2l0aXZlbHkgZW50YW5nbGVkIHdpdGggdGhlIG5ld2x5IGVudGFuZ2xlZCBsYW5lcz9cbiAgICBlbnRhbmdsZW1lbnRzW2luZGV4XSAmIGVudGFuZ2xlZExhbmVzKSB7XG4gICAgICBlbnRhbmdsZW1lbnRzW2luZGV4XSB8PSBlbnRhbmdsZWRMYW5lcztcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0QnVtcGVkTGFuZUZvckh5ZHJhdGlvbihyb290LCByZW5kZXJMYW5lcykge1xuICB2YXIgcmVuZGVyTGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUocmVuZGVyTGFuZXMpO1xuICB2YXIgbGFuZTtcblxuICBzd2l0Y2ggKHJlbmRlckxhbmUpIHtcbiAgICBjYXNlIElucHV0Q29udGludW91c0xhbmU6XG4gICAgICBsYW5lID0gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBEZWZhdWx0TGFuZTpcbiAgICAgIGxhbmUgPSBEZWZhdWx0SHlkcmF0aW9uTGFuZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTc6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTg6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEwOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE2OlxuICAgIGNhc2UgUmV0cnlMYW5lMTpcbiAgICBjYXNlIFJldHJ5TGFuZTI6XG4gICAgY2FzZSBSZXRyeUxhbmUzOlxuICAgIGNhc2UgUmV0cnlMYW5lNDpcbiAgICBjYXNlIFJldHJ5TGFuZTU6XG4gICAgICBsYW5lID0gVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmU7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSWRsZUxhbmU6XG4gICAgICBsYW5lID0gSWRsZUh5ZHJhdGlvbkxhbmU7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBFdmVyeXRoaW5nIGVsc2UgaXMgYWxyZWFkeSBlaXRoZXIgYSBoeWRyYXRpb24gbGFuZSwgb3Igc2hvdWxkbid0XG4gICAgICAvLyBiZSByZXRyaWVkIGF0IGEgaHlkcmF0aW9uIGxhbmUuXG4gICAgICBsYW5lID0gTm9MYW5lO1xuICAgICAgYnJlYWs7XG4gIH0gLy8gQ2hlY2sgaWYgdGhlIGxhbmUgd2UgY2hvc2UgaXMgc3VzcGVuZGVkLiBJZiBzbywgdGhhdCBpbmRpY2F0ZXMgdGhhdCB3ZVxuICAvLyBhbHJlYWR5IGF0dGVtcHRlZCBhbmQgZmFpbGVkIHRvIGh5ZHJhdGUgYXQgdGhhdCBsZXZlbC4gQWxzbyBjaGVjayBpZiB3ZSdyZVxuICAvLyBhbHJlYWR5IHJlbmRlcmluZyB0aGF0IGxhbmUsIHdoaWNoIGlzIHJhcmUgYnV0IGNvdWxkIGhhcHBlbi5cblxuXG4gIGlmICgobGFuZSAmIChyb290LnN1c3BlbmRlZExhbmVzIHwgcmVuZGVyTGFuZXMpKSAhPT0gTm9MYW5lKSB7XG4gICAgLy8gR2l2ZSB1cCB0cnlpbmcgdG8gaHlkcmF0ZSBhbmQgZmFsbCBiYWNrIHRvIGNsaWVudCByZW5kZXIuXG4gICAgcmV0dXJuIE5vTGFuZTtcbiAgfVxuXG4gIHJldHVybiBsYW5lO1xufVxuZnVuY3Rpb24gYWRkRmliZXJUb0xhbmVzTWFwKHJvb3QsIGZpYmVyLCBsYW5lcykge1xuXG4gIGlmICghaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcCA9IHJvb3QucGVuZGluZ1VwZGF0ZXJzTGFuZU1hcDtcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gbGFuZVRvSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgdXBkYXRlcnMgPSBwZW5kaW5nVXBkYXRlcnNMYW5lTWFwW2luZGV4XTtcbiAgICB1cGRhdGVycy5hZGQoZmliZXIpO1xuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiBtb3ZlUGVuZGluZ0ZpYmVyc1RvTWVtb2l6ZWQocm9vdCwgbGFuZXMpIHtcblxuICBpZiAoIWlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHBlbmRpbmdVcGRhdGVyc0xhbmVNYXAgPSByb290LnBlbmRpbmdVcGRhdGVyc0xhbmVNYXA7XG4gIHZhciBtZW1vaXplZFVwZGF0ZXJzID0gcm9vdC5tZW1vaXplZFVwZGF0ZXJzO1xuXG4gIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICB2YXIgaW5kZXggPSBsYW5lVG9JbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIHZhciB1cGRhdGVycyA9IHBlbmRpbmdVcGRhdGVyc0xhbmVNYXBbaW5kZXhdO1xuXG4gICAgaWYgKHVwZGF0ZXJzLnNpemUgPiAwKSB7XG4gICAgICB1cGRhdGVycy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gICAgICAgIGlmIChhbHRlcm5hdGUgPT09IG51bGwgfHwgIW1lbW9pemVkVXBkYXRlcnMuaGFzKGFsdGVybmF0ZSkpIHtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmFkZChmaWJlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdXBkYXRlcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcyhyb290LCBsYW5lcykge1xuICB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxudmFyIERpc2NyZXRlRXZlbnRQcmlvcml0eSA9IFN5bmNMYW5lO1xudmFyIENvbnRpbnVvdXNFdmVudFByaW9yaXR5ID0gSW5wdXRDb250aW51b3VzTGFuZTtcbnZhciBEZWZhdWx0RXZlbnRQcmlvcml0eSA9IERlZmF1bHRMYW5lO1xudmFyIElkbGVFdmVudFByaW9yaXR5ID0gSWRsZUxhbmU7XG52YXIgY3VycmVudFVwZGF0ZVByaW9yaXR5ID0gTm9MYW5lO1xuZnVuY3Rpb24gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCkge1xuICByZXR1cm4gY3VycmVudFVwZGF0ZVByaW9yaXR5O1xufVxuZnVuY3Rpb24gc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KG5ld1ByaW9yaXR5KSB7XG4gIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IG5ld1ByaW9yaXR5O1xufVxuZnVuY3Rpb24gcnVuV2l0aFByaW9yaXR5KHByaW9yaXR5LCBmbikge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGN1cnJlbnRVcGRhdGVQcmlvcml0eTtcblxuICB0cnkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByaW9yaXR5O1xuICAgIHJldHVybiBmbigpO1xuICB9IGZpbmFsbHkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByZXZpb3VzUHJpb3JpdHk7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZ2hlckV2ZW50UHJpb3JpdHkoYSwgYikge1xuICByZXR1cm4gYSAhPT0gMCAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gbG93ZXJFdmVudFByaW9yaXR5KGEsIGIpIHtcbiAgcmV0dXJuIGEgPT09IDAgfHwgYSA+IGIgPyBhIDogYjtcbn1cbmZ1bmN0aW9uIGlzSGlnaGVyRXZlbnRQcmlvcml0eShhLCBiKSB7XG4gIHJldHVybiBhICE9PSAwICYmIGEgPCBiO1xufVxuZnVuY3Rpb24gbGFuZXNUb0V2ZW50UHJpb3JpdHkobGFuZXMpIHtcbiAgdmFyIGxhbmUgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKGxhbmVzKTtcblxuICBpZiAoIWlzSGlnaGVyRXZlbnRQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHksIGxhbmUpKSB7XG4gICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmICghaXNIaWdoZXJFdmVudFByaW9yaXR5KENvbnRpbnVvdXNFdmVudFByaW9yaXR5LCBsYW5lKSkge1xuICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmIChpbmNsdWRlc05vbklkbGVXb3JrKGxhbmUpKSB7XG4gICAgcmV0dXJuIERlZmF1bHRFdmVudFByaW9yaXR5O1xuICB9XG5cbiAgcmV0dXJuIElkbGVFdmVudFByaW9yaXR5O1xufVxuXG4vLyBUaGlzIGlzIGltcG9ydGVkIGJ5IHRoZSBldmVudCByZXBsYXlpbmcgaW1wbGVtZW50YXRpb24gaW4gUmVhY3QgRE9NLiBJdCdzXG4vLyBpbiBhIHNlcGFyYXRlIGZpbGUgdG8gYnJlYWsgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIHJlbmRlcmVyIGFuZFxuLy8gdGhlIHJlY29uY2lsZXIuXG5mdW5jdGlvbiBpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpIHtcbiAgdmFyIGN1cnJlbnRTdGF0ZSA9IHJvb3QuY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gY3VycmVudFN0YXRlLmlzRGVoeWRyYXRlZDtcbn1cblxudmFyIF9hdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb247XG5cbmZ1bmN0aW9uIHNldEF0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmbikge1xuICBfYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uID0gZm47XG59XG5mdW5jdGlvbiBhdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb24oZmliZXIpIHtcbiAgX2F0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmaWJlcik7XG59XG52YXIgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb247XG5mdW5jdGlvbiBzZXRBdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbihmbikge1xuICBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiA9IGZuO1xufVxudmFyIGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eTtcbmZ1bmN0aW9uIHNldEF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eShmbikge1xuICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkgPSBmbjtcbn1cbnZhciBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkkMTtcbmZ1bmN0aW9uIHNldEdldEN1cnJlbnRVcGRhdGVQcmlvcml0eShmbikge1xuICBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkkMSA9IGZuO1xufVxudmFyIGF0dGVtcHRIeWRyYXRpb25BdFByaW9yaXR5O1xuZnVuY3Rpb24gc2V0QXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkoZm4pIHtcbiAgYXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkgPSBmbjtcbn0gLy8gVE9ETzogVXBncmFkZSB0aGlzIGRlZmluaXRpb24gb25jZSB3ZSdyZSBvbiBhIG5ld2VyIHZlcnNpb24gb2YgRmxvdyB0aGF0XG4vLyBoYXMgdGhpcyBkZWZpbml0aW9uIGJ1aWx0LWluLlxuXG52YXIgaGFzU2NoZWR1bGVkUmVwbGF5QXR0ZW1wdCA9IGZhbHNlOyAvLyBUaGUgcXVldWUgb2YgZGlzY3JldGUgZXZlbnRzIHRvIGJlIHJlcGxheWVkLlxuXG52YXIgcXVldWVkRGlzY3JldGVFdmVudHMgPSBbXTsgLy8gSW5kaWNhdGVzIGlmIGFueSBjb250aW51b3VzIGV2ZW50IHRhcmdldHMgYXJlIG5vbi1udWxsIGZvciBlYXJseSBiYWlsb3V0LlxuLy8gaWYgdGhlIGxhc3QgdGFyZ2V0IHdhcyBkZWh5ZHJhdGVkLlxuXG52YXIgcXVldWVkRm9jdXMgPSBudWxsO1xudmFyIHF1ZXVlZERyYWcgPSBudWxsO1xudmFyIHF1ZXVlZE1vdXNlID0gbnVsbDsgLy8gRm9yIHBvaW50ZXIgZXZlbnRzIHRoZXJlIGNhbiBiZSBvbmUgbGF0ZXN0IGV2ZW50IHBlciBwb2ludGVySWQuXG5cbnZhciBxdWV1ZWRQb2ludGVycyA9IG5ldyBNYXAoKTtcbnZhciBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMgPSBuZXcgTWFwKCk7IC8vIFdlIGNvdWxkIGNvbnNpZGVyIHJlcGxheWluZyBzZWxlY3Rpb25jaGFuZ2UgYW5kIHRvdWNobW92ZXMgdG9vLlxuXG52YXIgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzID0gW107XG52YXIgZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzID0gWydtb3VzZWRvd24nLCAnbW91c2V1cCcsICd0b3VjaGNhbmNlbCcsICd0b3VjaGVuZCcsICd0b3VjaHN0YXJ0JywgJ2F1eGNsaWNrJywgJ2RibGNsaWNrJywgJ3BvaW50ZXJjYW5jZWwnLCAncG9pbnRlcmRvd24nLCAncG9pbnRlcnVwJywgJ2RyYWdlbmQnLCAnZHJhZ3N0YXJ0JywgJ2Ryb3AnLCAnY29tcG9zaXRpb25lbmQnLCAnY29tcG9zaXRpb25zdGFydCcsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2tleXVwJywgJ2lucHV0JywgJ3RleHRJbnB1dCcsIC8vIEludGVudGlvbmFsbHkgY2FtZWxDYXNlXG4nY29weScsICdjdXQnLCAncGFzdGUnLCAnY2xpY2snLCAnY2hhbmdlJywgJ2NvbnRleHRtZW51JywgJ3Jlc2V0JywgJ3N1Ym1pdCddO1xuZnVuY3Rpb24gaXNEaXNjcmV0ZUV2ZW50VGhhdFJlcXVpcmVzSHlkcmF0aW9uKGV2ZW50VHlwZSkge1xuICByZXR1cm4gZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzLmluZGV4T2YoZXZlbnRUeXBlKSA+IC0xO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBibG9ja2VkT246IGJsb2NrZWRPbixcbiAgICBkb21FdmVudE5hbWU6IGRvbUV2ZW50TmFtZSxcbiAgICBldmVudFN5c3RlbUZsYWdzOiBldmVudFN5c3RlbUZsYWdzLFxuICAgIG5hdGl2ZUV2ZW50OiBuYXRpdmVFdmVudCxcbiAgICB0YXJnZXRDb250YWluZXJzOiBbdGFyZ2V0Q29udGFpbmVyXVxuICB9O1xufVxuXG5mdW5jdGlvbiBjbGVhcklmQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpIHtcbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2xlYXZlJzpcbiAgICAgIHF1ZXVlZERyYWcgPSBudWxsO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICAgIHF1ZXVlZE1vdXNlID0gbnVsbDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAncG9pbnRlcm92ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgICAge1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gbmF0aXZlRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVycy5kZWxldGUocG9pbnRlcklkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgY2FzZSAnbG9zdHBvaW50ZXJjYXB0dXJlJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wb2ludGVySWQgPSBuYXRpdmVFdmVudC5wb2ludGVySWQ7XG4gICAgICAgIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5kZWxldGUoX3BvaW50ZXJJZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoZXhpc3RpbmdRdWV1ZWRFdmVudCwgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKGV4aXN0aW5nUXVldWVkRXZlbnQgPT09IG51bGwgfHwgZXhpc3RpbmdRdWV1ZWRFdmVudC5uYXRpdmVFdmVudCAhPT0gbmF0aXZlRXZlbnQpIHtcbiAgICB2YXIgcXVldWVkRXZlbnQgPSBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgdmFyIF9maWJlcjIgPSBnZXRJbnN0YW5jZUZyb21Ob2RlKGJsb2NrZWRPbik7XG5cbiAgICAgIGlmIChfZmliZXIyICE9PSBudWxsKSB7XG4gICAgICAgIC8vIEF0dGVtcHQgdG8gaW5jcmVhc2UgdGhlIHByaW9yaXR5IG9mIHRoaXMgdGFyZ2V0LlxuICAgICAgICBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbihfZmliZXIyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcXVldWVkRXZlbnQ7XG4gIH0gLy8gSWYgd2UgaGF2ZSBhbHJlYWR5IHF1ZXVlZCB0aGlzIGV4YWN0IGV2ZW50LCB0aGVuIGl0J3MgYmVjYXVzZVxuICAvLyB0aGUgZGlmZmVyZW50IGV2ZW50IHN5c3RlbXMgaGF2ZSBkaWZmZXJlbnQgRE9NIGV2ZW50IGxpc3RlbmVycy5cbiAgLy8gV2UgY2FuIGFjY3VtdWxhdGUgdGhlIGZsYWdzLCBhbmQgdGhlIHRhcmdldENvbnRhaW5lcnMsIGFuZFxuICAvLyBzdG9yZSBhIHNpbmdsZSBldmVudCB0byBiZSByZXBsYXllZC5cblxuXG4gIGV4aXN0aW5nUXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncyB8PSBldmVudFN5c3RlbUZsYWdzO1xuICB2YXIgdGFyZ2V0Q29udGFpbmVycyA9IGV4aXN0aW5nUXVldWVkRXZlbnQudGFyZ2V0Q29udGFpbmVycztcblxuICBpZiAodGFyZ2V0Q29udGFpbmVyICE9PSBudWxsICYmIHRhcmdldENvbnRhaW5lcnMuaW5kZXhPZih0YXJnZXRDb250YWluZXIpID09PSAtMSkge1xuICAgIHRhcmdldENvbnRhaW5lcnMucHVzaCh0YXJnZXRDb250YWluZXIpO1xuICB9XG5cbiAgcmV0dXJuIGV4aXN0aW5nUXVldWVkRXZlbnQ7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgLy8gVGhlc2Ugc2V0IHJlbGF0ZWRUYXJnZXQgdG8gbnVsbCBiZWNhdXNlIHRoZSByZXBsYXllZCBldmVudCB3aWxsIGJlIHRyZWF0ZWQgYXMgaWYgd2VcbiAgLy8gbW92ZWQgZnJvbSBvdXRzaWRlIHRoZSB3aW5kb3cgKG5vIHRhcmdldCkgb250byB0aGUgdGFyZ2V0IG9uY2UgaXQgaHlkcmF0ZXMuXG4gIC8vIEluc3RlYWQgb2YgbXV0YXRpbmcgd2UgY291bGQgY2xvbmUgdGhlIGV2ZW50LlxuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgICAge1xuICAgICAgICB2YXIgZm9jdXNFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRGb2N1cyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRm9jdXMsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIGZvY3VzRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgICB7XG4gICAgICAgIHZhciBkcmFnRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICAgICAgcXVldWVkRHJhZyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRHJhZywgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgZHJhZ0V2ZW50KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgICAge1xuICAgICAgICB2YXIgbW91c2VFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRNb3VzZSA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkTW91c2UsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIG1vdXNlRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIHBvaW50ZXJFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gcG9pbnRlckV2ZW50LnBvaW50ZXJJZDtcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuc2V0KHBvaW50ZXJJZCwgYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChxdWV1ZWRQb2ludGVycy5nZXQocG9pbnRlcklkKSB8fCBudWxsLCBibG9ja2VkT24sIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBwb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgICB7XG4gICAgICAgIHZhciBfcG9pbnRlckV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHZhciBfcG9pbnRlcklkMiA9IF9wb2ludGVyRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuc2V0KF9wb2ludGVySWQyLCBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5nZXQoX3BvaW50ZXJJZDIpIHx8IG51bGwsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIF9wb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59IC8vIENoZWNrIGlmIHRoaXMgdGFyZ2V0IGlzIHVuYmxvY2tlZC4gUmV0dXJucyB0cnVlIGlmIGl0J3MgdW5ibG9ja2VkLlxuXG5mdW5jdGlvbiBhdHRlbXB0RXhwbGljaXRIeWRyYXRpb25UYXJnZXQocXVldWVkVGFyZ2V0KSB7XG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gc2hhcmVzIGEgbG90IG9mIGxvZ2ljIHdpdGggZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudC5cbiAgLy8gVHJ5IHRvIHVuaWZ5IHRoZW0uIEl0J3MgYSBiaXQgdHJpY2t5IHNpbmNlIGl0IHdvdWxkIHJlcXVpcmUgdHdvIHJldHVyblxuICAvLyB2YWx1ZXMuXG4gIHZhciB0YXJnZXRJbnN0ID0gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUocXVldWVkVGFyZ2V0LnRhcmdldCk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBudWxsKSB7XG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xuXG4gICAgICBpZiAodGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcblxuICAgICAgICBpZiAoaW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSdyZSBibG9ja2VkIG9uIGh5ZHJhdGluZyB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIC8vIEluY3JlYXNlIGl0cyBwcmlvcml0eS5cbiAgICAgICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gaW5zdGFuY2U7XG4gICAgICAgICAgYXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkocXVldWVkVGFyZ2V0LnByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkobmVhcmVzdE1vdW50ZWQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIHZhciByb290ID0gbmVhcmVzdE1vdW50ZWQuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpKSB7XG4gICAgICAgICAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IGdldENvbnRhaW5lckZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7IC8vIFdlIGRvbid0IGN1cnJlbnRseSBoYXZlIGEgd2F5IHRvIGluY3JlYXNlIHRoZSBwcmlvcml0eSBvZlxuICAgICAgICAgIC8vIGEgcm9vdCBvdGhlciB0aGFuIHN5bmMuXG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcXVldWVFeHBsaWNpdEh5ZHJhdGlvblRhcmdldCh0YXJnZXQpIHtcbiAgLy8gVE9ETzogVGhpcyB3aWxsIHJlYWQgdGhlIHByaW9yaXR5IGlmIGl0J3MgZGlzcGF0Y2hlZCBieSB0aGUgUmVhY3RcbiAgLy8gZXZlbnQgc3lzdGVtIGJ1dCBub3QgbmF0aXZlIGV2ZW50cy4gU2hvdWxkIHJlYWQgd2luZG93LmV2ZW50LnR5cGUsIGxpa2VcbiAgLy8gd2UgZG8gZm9yIHVwZGF0ZXMgKGdldEN1cnJlbnRFdmVudFByaW9yaXR5KS5cbiAgdmFyIHVwZGF0ZVByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5JDEoKTtcbiAgdmFyIHF1ZXVlZFRhcmdldCA9IHtcbiAgICBibG9ja2VkT246IG51bGwsXG4gICAgdGFyZ2V0OiB0YXJnZXQsXG4gICAgcHJpb3JpdHk6IHVwZGF0ZVByaW9yaXR5XG4gIH07XG4gIHZhciBpID0gMDtcblxuICBmb3IgKDsgaSA8IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0cy5sZW5ndGg7IGkrKykge1xuICAgIC8vIFN0b3Agb25jZSB3ZSBoaXQgdGhlIGZpcnN0IHRhcmdldCB3aXRoIGxvd2VyIHByaW9yaXR5IHRoYW5cbiAgICBpZiAoIWlzSGlnaGVyRXZlbnRQcmlvcml0eSh1cGRhdGVQcmlvcml0eSwgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzW2ldLnByaW9yaXR5KSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNwbGljZShpLCAwLCBxdWV1ZWRUYXJnZXQpO1xuXG4gIGlmIChpID09PSAwKSB7XG4gICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KHF1ZXVlZFRhcmdldCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkge1xuICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHRhcmdldENvbnRhaW5lcnMgPSBxdWV1ZWRFdmVudC50YXJnZXRDb250YWluZXJzO1xuXG4gIHdoaWxlICh0YXJnZXRDb250YWluZXJzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgdGFyZ2V0Q29udGFpbmVyID0gdGFyZ2V0Q29udGFpbmVyc1swXTtcbiAgICB2YXIgbmV4dEJsb2NrZWRPbiA9IGZpbmRJbnN0YW5jZUJsb2NraW5nRXZlbnQocXVldWVkRXZlbnQuZG9tRXZlbnROYW1lLCBxdWV1ZWRFdmVudC5ldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIHF1ZXVlZEV2ZW50Lm5hdGl2ZUV2ZW50KTtcblxuICAgIGlmIChuZXh0QmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHZhciBuYXRpdmVFdmVudCA9IHF1ZXVlZEV2ZW50Lm5hdGl2ZUV2ZW50O1xuICAgICAgICB2YXIgbmF0aXZlRXZlbnRDbG9uZSA9IG5ldyBuYXRpdmVFdmVudC5jb25zdHJ1Y3RvcihuYXRpdmVFdmVudC50eXBlLCBuYXRpdmVFdmVudCk7XG4gICAgICAgIHNldFJlcGxheWluZ0V2ZW50KG5hdGl2ZUV2ZW50Q2xvbmUpO1xuICAgICAgICBuYXRpdmVFdmVudC50YXJnZXQuZGlzcGF0Y2hFdmVudChuYXRpdmVFdmVudENsb25lKTtcbiAgICAgICAgcmVzZXRSZXBsYXlpbmdFdmVudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSdyZSBzdGlsbCBibG9ja2VkLiBUcnkgYWdhaW4gbGF0ZXIuXG4gICAgICB2YXIgX2ZpYmVyMyA9IGdldEluc3RhbmNlRnJvbU5vZGUobmV4dEJsb2NrZWRPbik7XG5cbiAgICAgIGlmIChfZmliZXIzICE9PSBudWxsKSB7XG4gICAgICAgIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uKF9maWJlcjMpO1xuICAgICAgfVxuXG4gICAgICBxdWV1ZWRFdmVudC5ibG9ja2VkT24gPSBuZXh0QmxvY2tlZE9uO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gVGhpcyB0YXJnZXQgY29udGFpbmVyIHdhcyBzdWNjZXNzZnVsbHkgZGlzcGF0Y2hlZC4gVHJ5IHRoZSBuZXh0LlxuXG5cbiAgICB0YXJnZXRDb250YWluZXJzLnNoaWZ0KCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudEluTWFwKHF1ZXVlZEV2ZW50LCBrZXksIG1hcCkge1xuICBpZiAoYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkpIHtcbiAgICBtYXAuZGVsZXRlKGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwbGF5VW5ibG9ja2VkRXZlbnRzKCkge1xuICBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7XG5cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRGb2N1cykpIHtcbiAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCAmJiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50KHF1ZXVlZERyYWcpKSB7XG4gICAgcXVldWVkRHJhZyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkTW91c2UgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRNb3VzZSkpIHtcbiAgICBxdWV1ZWRNb3VzZSA9IG51bGw7XG4gIH1cblxuICBxdWV1ZWRQb2ludGVycy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG59XG5cbmZ1bmN0aW9uIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWRFdmVudCwgdW5ibG9ja2VkKSB7XG4gIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gPT09IHVuYmxvY2tlZCkge1xuICAgIHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9IG51bGw7XG5cbiAgICBpZiAoIWhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQpIHtcbiAgICAgIGhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQgPSB0cnVlOyAvLyBTY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGF0dGVtcHQgcmVwbGF5aW5nIGFzIG1hbnkgZXZlbnRzIGFzIGFyZVxuICAgICAgLy8gbm93IHVuYmxvY2tlZC4gVGhpcyBmaXJzdCBtaWdodCBub3QgYWN0dWFsbHkgYmUgdW5ibG9ja2VkIHlldC5cbiAgICAgIC8vIFdlIGNvdWxkIGNoZWNrIGl0IGVhcmx5IHRvIGF2b2lkIHNjaGVkdWxpbmcgYW4gdW5uZWNlc3NhcnkgY2FsbGJhY2suXG5cbiAgICAgIFNjaGVkdWxlci51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKFNjaGVkdWxlci51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSwgcmVwbGF5VW5ibG9ja2VkRXZlbnRzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmV0cnlJZkJsb2NrZWRPbih1bmJsb2NrZWQpIHtcbiAgLy8gTWFyayBhbnl0aGluZyB0aGF0IHdhcyBibG9ja2VkIG9uIHRoaXMgYXMgbm8gbG9uZ2VyIGJsb2NrZWRcbiAgLy8gYW5kIGVsaWdpYmxlIGZvciBhIHJlcGxheS5cbiAgaWYgKHF1ZXVlZERpc2NyZXRlRXZlbnRzLmxlbmd0aCA+IDApIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRGlzY3JldGVFdmVudHNbMF0sIHVuYmxvY2tlZCk7IC8vIFRoaXMgaXMgYSBleHBvbmVudGlhbCBzZWFyY2ggZm9yIGVhY2ggYm91bmRhcnkgdGhhdCBjb21taXRzLiBJIHRoaW5rIGl0J3NcbiAgICAvLyB3b3J0aCBpdCBiZWNhdXNlIHdlIGV4cGVjdCB2ZXJ5IGZldyBkaXNjcmV0ZSBldmVudHMgdG8gcXVldWUgdXAgYW5kIG9uY2VcbiAgICAvLyB3ZSBhcmUgYWN0dWFsbHkgZnVsbHkgdW5ibG9ja2VkIGl0IHdpbGwgYmUgZmFzdCB0byByZXBsYXkgdGhlbS5cblxuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgcXVldWVkRGlzY3JldGVFdmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBxdWV1ZWRFdmVudCA9IHF1ZXVlZERpc2NyZXRlRXZlbnRzW2ldO1xuXG4gICAgICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uID09PSB1bmJsb2NrZWQpIHtcbiAgICAgICAgcXVldWVkRXZlbnQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRm9jdXMsIHVuYmxvY2tlZCk7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWREcmFnLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgaWYgKHF1ZXVlZE1vdXNlICE9PSBudWxsKSB7XG4gICAgc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZE1vdXNlLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgdmFyIHVuYmxvY2sgPSBmdW5jdGlvbiAocXVldWVkRXZlbnQpIHtcbiAgICByZXR1cm4gc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZEV2ZW50LCB1bmJsb2NrZWQpO1xuICB9O1xuXG4gIHF1ZXVlZFBvaW50ZXJzLmZvckVhY2godW5ibG9jayk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKHVuYmxvY2spO1xuXG4gIGZvciAodmFyIF9pID0gMDsgX2kgPCBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgdmFyIHF1ZXVlZFRhcmdldCA9IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0c1tfaV07XG5cbiAgICBpZiAocXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XG4gICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICB3aGlsZSAocXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgbmV4dEV4cGxpY2l0VGFyZ2V0ID0gcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzWzBdO1xuXG4gICAgaWYgKG5leHRFeHBsaWNpdFRhcmdldC5ibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXG4gICAgICBicmVhaztcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KG5leHRFeHBsaWNpdFRhcmdldCk7XG5cbiAgICAgIGlmIChuZXh0RXhwbGljaXRUYXJnZXQuYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICAgIC8vIFdlJ3JlIHVuYmxvY2tlZC5cbiAgICAgICAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNoaWZ0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOyAvLyBUT0RPOiBjYW4gd2Ugc3RvcCBleHBvcnRpbmcgdGhlc2U/XG5cbnZhciBfZW5hYmxlZCA9IHRydWU7IC8vIFRoaXMgaXMgZXhwb3J0ZWQgaW4gRkIgYnVpbGRzIGZvciB1c2UgYnkgbGVnYWN5IEZCIGxheWVyIGluZnJhLlxuLy8gV2UnZCBsaWtlIHRvIHJlbW92ZSB0aGlzIGJ1dCBpdCdzIG5vdCBjbGVhciBpZiB0aGlzIGlzIHNhZmUuXG5cbmZ1bmN0aW9uIHNldEVuYWJsZWQoZW5hYmxlZCkge1xuICBfZW5hYmxlZCA9ICEhZW5hYmxlZDtcbn1cbmZ1bmN0aW9uIGlzRW5hYmxlZCgpIHtcbiAgcmV0dXJuIF9lbmFibGVkO1xufVxuZnVuY3Rpb24gY3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXJXaXRoUHJpb3JpdHkodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGV2ZW50UHJpb3JpdHkgPSBnZXRFdmVudFByaW9yaXR5KGRvbUV2ZW50TmFtZSk7XG4gIHZhciBsaXN0ZW5lcldyYXBwZXI7XG5cbiAgc3dpdGNoIChldmVudFByaW9yaXR5KSB7XG4gICAgY2FzZSBEaXNjcmV0ZUV2ZW50UHJpb3JpdHk6XG4gICAgICBsaXN0ZW5lcldyYXBwZXIgPSBkaXNwYXRjaERpc2NyZXRlRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGludW91c0V2ZW50UHJpb3JpdHk6XG4gICAgICBsaXN0ZW5lcldyYXBwZXIgPSBkaXNwYXRjaENvbnRpbnVvdXNFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICBkZWZhdWx0OlxuICAgICAgbGlzdGVuZXJXcmFwcGVyID0gZGlzcGF0Y2hFdmVudDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyV3JhcHBlci5iaW5kKG51bGwsIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hEaXNjcmV0ZUV2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIGRpc3BhdGNoRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShDb250aW51b3VzRXZlbnRQcmlvcml0eSk7XG4gICAgZGlzcGF0Y2hFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuICB9IGZpbmFsbHkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKCFfZW5hYmxlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICBkaXNwYXRjaEV2ZW50V2l0aEVuYWJsZUNhcHR1cmVQaGFzZVNlbGVjdGl2ZUh5ZHJhdGlvbldpdGhvdXREaXNjcmV0ZUV2ZW50UmVwbGF5KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudFdpdGhFbmFibGVDYXB0dXJlUGhhc2VTZWxlY3RpdmVIeWRyYXRpb25XaXRob3V0RGlzY3JldGVFdmVudFJlcGxheShkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgdmFyIGJsb2NrZWRPbiA9IGZpbmRJbnN0YW5jZUJsb2NraW5nRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcblxuICBpZiAoYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgZGlzcGF0Y2hFdmVudEZvclBsdWdpbkV2ZW50U3lzdGVtKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHJldHVybl90YXJnZXRJbnN0LCB0YXJnZXRDb250YWluZXIpO1xuICAgIGNsZWFySWZDb250aW51b3VzRXZlbnQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpKSB7XG4gICAgbmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgcmV0dXJuO1xuICB9IC8vIFdlIG5lZWQgdG8gY2xlYXIgb25seSBpZiB3ZSBkaWRuJ3QgcXVldWUgYmVjYXVzZVxuICAvLyBxdWV1ZWluZyBpcyBhY2N1bXVsYXRpdmUuXG5cblxuICBjbGVhcklmQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpO1xuXG4gIGlmIChldmVudFN5c3RlbUZsYWdzICYgSVNfQ0FQVFVSRV9QSEFTRSAmJiBpc0Rpc2NyZXRlRXZlbnRUaGF0UmVxdWlyZXNIeWRyYXRpb24oZG9tRXZlbnROYW1lKSkge1xuICAgIHdoaWxlIChibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIHZhciBmaWJlciA9IGdldEluc3RhbmNlRnJvbU5vZGUoYmxvY2tlZE9uKTtcblxuICAgICAgaWYgKGZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgIGF0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmaWJlcik7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXh0QmxvY2tlZE9uID0gZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgICBpZiAobmV4dEJsb2NrZWRPbiA9PT0gbnVsbCkge1xuICAgICAgICBkaXNwYXRjaEV2ZW50Rm9yUGx1Z2luRXZlbnRTeXN0ZW0oZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgcmV0dXJuX3RhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0QmxvY2tlZE9uID09PSBibG9ja2VkT24pIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGJsb2NrZWRPbiA9IG5leHRCbG9ja2VkT247XG4gICAgfVxuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgbmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoaXMgaXMgbm90IHJlcGxheWFibGUgc28gd2UnbGwgaW52b2tlIGl0IGJ1dCB3aXRob3V0IGEgdGFyZ2V0LFxuICAvLyBpbiBjYXNlIHRoZSBldmVudCBzeXN0ZW0gbmVlZHMgdG8gdHJhY2UgaXQuXG5cblxuICBkaXNwYXRjaEV2ZW50Rm9yUGx1Z2luRXZlbnRTeXN0ZW0oZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgbnVsbCwgdGFyZ2V0Q29udGFpbmVyKTtcbn1cblxudmFyIHJldHVybl90YXJnZXRJbnN0ID0gbnVsbDsgLy8gUmV0dXJucyBhIFN1c3BlbnNlSW5zdGFuY2Ugb3IgQ29udGFpbmVyIGlmIGl0J3MgYmxvY2tlZC5cbi8vIFRoZSByZXR1cm5fdGFyZ2V0SW5zdCBmaWVsZCBhYm92ZSBpcyBjb25jZXB0dWFsbHkgcGFydCBvZiB0aGUgcmV0dXJuIHZhbHVlLlxuXG5mdW5jdGlvbiBmaW5kSW5zdGFuY2VCbG9ja2luZ0V2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICAvLyBUT0RPOiBXYXJuIGlmIF9lbmFibGVkIGlzIGZhbHNlLlxuICByZXR1cm5fdGFyZ2V0SW5zdCA9IG51bGw7XG4gIHZhciBuYXRpdmVFdmVudFRhcmdldCA9IGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KTtcbiAgdmFyIHRhcmdldEluc3QgPSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkID09PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIHRyZWUgaGFzIGJlZW4gdW5tb3VudGVkIGFscmVhZHkuIERpc3BhdGNoIHdpdGhvdXQgYSB0YXJnZXQuXG4gICAgICB0YXJnZXRJbnN0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHRhZyA9IG5lYXJlc3RNb3VudGVkLnRhZztcblxuICAgICAgaWYgKHRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gUXVldWUgdGhlIGV2ZW50IHRvIGJlIHJlcGxheWVkIGxhdGVyLiBBYm9ydCBkaXNwYXRjaGluZyBzaW5jZSB3ZVxuICAgICAgICAgIC8vIGRvbid0IHdhbnQgdGhpcyBldmVudCBkaXNwYXRjaGVkIHR3aWNlIHRocm91Z2ggdGhlIGV2ZW50IHN5c3RlbS5cbiAgICAgICAgICAvLyBUT0RPOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBkaXNjcmV0ZSBldmVudCBpbiB0aGUgcXVldWUuIFNjaGVkdWxlIGFuIGluY3JlYXNlZFxuICAgICAgICAgIC8vIHByaW9yaXR5IGZvciB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgICAgfSAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIHNvbWV0aGluZyB3ZW50IHdyb25nIGJ1dCB0byBhdm9pZCBibG9ja2luZ1xuICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLCBkaXNwYXRjaCB0aGUgZXZlbnQgd2l0aG91dCBhIHRhcmdldC5cbiAgICAgICAgLy8gVE9ETzogV2Fybi5cblxuXG4gICAgICAgIHRhcmdldEluc3QgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIHZhciByb290ID0gbmVhcmVzdE1vdW50ZWQuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpKSB7XG4gICAgICAgICAgLy8gSWYgdGhpcyBoYXBwZW5zIGR1cmluZyBhIHJlcGxheSBzb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgaXQgbWlnaHQgYmxvY2tcbiAgICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLlxuICAgICAgICAgIHJldHVybiBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKG5lYXJlc3RNb3VudGVkICE9PSB0YXJnZXRJbnN0KSB7XG4gICAgICAgIC8vIElmIHdlIGdldCBhbiBldmVudCAoZXg6IGltZyBvbmxvYWQpIGJlZm9yZSBjb21taXR0aW5nIHRoYXRcbiAgICAgICAgLy8gY29tcG9uZW50J3MgbW91bnQsIGlnbm9yZSBpdCBmb3Igbm93ICh0aGF0IGlzLCB0cmVhdCBpdCBhcyBpZiBpdCB3YXMgYW5cbiAgICAgICAgLy8gZXZlbnQgb24gYSBub24tUmVhY3QgdHJlZSkuIFdlIG1pZ2h0IGFsc28gY29uc2lkZXIgcXVldWVpbmcgZXZlbnRzIGFuZFxuICAgICAgICAvLyBkaXNwYXRjaGluZyB0aGVtIGFmdGVyIHRoZSBtb3VudC5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuX3RhcmdldEluc3QgPSB0YXJnZXRJbnN0OyAvLyBXZSdyZSBub3QgYmxvY2tlZCBvbiBhbnl0aGluZy5cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldEV2ZW50UHJpb3JpdHkoZG9tRXZlbnROYW1lKSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgLy8gVXNlZCBieSBTaW1wbGVFdmVudFBsdWdpbjpcbiAgICBjYXNlICdjYW5jZWwnOlxuICAgIGNhc2UgJ2NsaWNrJzpcbiAgICBjYXNlICdjbG9zZSc6XG4gICAgY2FzZSAnY29udGV4dG1lbnUnOlxuICAgIGNhc2UgJ2NvcHknOlxuICAgIGNhc2UgJ2N1dCc6XG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdkcmFnZW5kJzpcbiAgICBjYXNlICdkcmFnc3RhcnQnOlxuICAgIGNhc2UgJ2Ryb3AnOlxuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgIGNhc2UgJ2ZvY3Vzb3V0JzpcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgY2FzZSAnaW52YWxpZCc6XG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5cHJlc3MnOlxuICAgIGNhc2UgJ2tleXVwJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNldXAnOlxuICAgIGNhc2UgJ3Bhc3RlJzpcbiAgICBjYXNlICdwYXVzZSc6XG4gICAgY2FzZSAncGxheSc6XG4gICAgY2FzZSAncG9pbnRlcmNhbmNlbCc6XG4gICAgY2FzZSAncG9pbnRlcmRvd24nOlxuICAgIGNhc2UgJ3BvaW50ZXJ1cCc6XG4gICAgY2FzZSAncmF0ZWNoYW5nZSc6XG4gICAgY2FzZSAncmVzZXQnOlxuICAgIGNhc2UgJ3Jlc2l6ZSc6XG4gICAgY2FzZSAnc2Vla2VkJzpcbiAgICBjYXNlICdzdWJtaXQnOlxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2hzdGFydCc6XG4gICAgY2FzZSAndm9sdW1lY2hhbmdlJzogLy8gVXNlZCBieSBwb2x5ZmlsbHM6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICBjYXNlICdjaGFuZ2UnOlxuICAgIGNhc2UgJ3NlbGVjdGlvbmNoYW5nZSc6XG4gICAgY2FzZSAndGV4dElucHV0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbnN0YXJ0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbmVuZCc6XG4gICAgY2FzZSAnY29tcG9zaXRpb251cGRhdGUnOiAvLyBPbmx5IGVuYWJsZUNyZWF0ZUV2ZW50SGFuZGxlQVBJOlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuXG4gICAgY2FzZSAnYmVmb3JlYmx1cic6XG4gICAgY2FzZSAnYWZ0ZXJibHVyJzogLy8gTm90IHVzZWQgYnkgUmVhY3QgYnV0IGNvdWxkIGJlIGJ5IHVzZXIgY29kZTpcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgIGNhc2UgJ2JlZm9yZWlucHV0JzpcbiAgICBjYXNlICdibHVyJzpcbiAgICBjYXNlICdmdWxsc2NyZWVuY2hhbmdlJzpcbiAgICBjYXNlICdmb2N1cyc6XG4gICAgY2FzZSAnaGFzaGNoYW5nZSc6XG4gICAgY2FzZSAncG9wc3RhdGUnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAnc2VsZWN0c3RhcnQnOlxuICAgICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2VvdXQnOlxuICAgIGNhc2UgJ21vdXNlb3Zlcic6XG4gICAgY2FzZSAncG9pbnRlcm1vdmUnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICBjYXNlICdzY3JvbGwnOlxuICAgIGNhc2UgJ3RvZ2dsZSc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd3aGVlbCc6IC8vIE5vdCB1c2VkIGJ5IFJlYWN0IGJ1dCBjb3VsZCBiZSBieSB1c2VyIGNvZGU6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICBjYXNlICdtb3VzZWVudGVyJzpcbiAgICBjYXNlICdtb3VzZWxlYXZlJzpcbiAgICBjYXNlICdwb2ludGVyZW50ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJsZWF2ZSc6XG4gICAgICByZXR1cm4gQ29udGludW91c0V2ZW50UHJpb3JpdHk7XG5cbiAgICBjYXNlICdtZXNzYWdlJzpcbiAgICAgIHtcbiAgICAgICAgLy8gV2UgbWlnaHQgYmUgaW4gdGhlIFNjaGVkdWxlciBjYWxsYmFjay5cbiAgICAgICAgLy8gRXZlbnR1YWxseSB0aGlzIG1lY2hhbmlzbSB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgY2hlY2tcbiAgICAgICAgLy8gb2YgdGhlIGN1cnJlbnQgcHJpb3JpdHkgb24gdGhlIG5hdGl2ZSBzY2hlZHVsZXIuXG4gICAgICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eSA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XG5cbiAgICAgICAgc3dpdGNoIChzY2hlZHVsZXJQcmlvcml0eSkge1xuICAgICAgICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgICAgICAgICByZXR1cm4gRGlzY3JldGVFdmVudFByaW9yaXR5O1xuXG4gICAgICAgICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICAgICAgICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICAgICAgY2FzZSBMb3dQcmlvcml0eTpcbiAgICAgICAgICAgIC8vIFRPRE86IEhhbmRsZSBMb3dTY2hlZHVsZXJQcmlvcml0eSwgc29tZWhvdy4gTWF5YmUgdGhlIHNhbWUgbGFuZSBhcyBoeWRyYXRpb24uXG4gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG5cbiAgICAgICAgICBjYXNlIElkbGVQcmlvcml0eTpcbiAgICAgICAgICAgIHJldHVybiBJZGxlRXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkRXZlbnRCdWJibGVMaXN0ZW5lcih0YXJnZXQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcbiAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgZmFsc2UpO1xuICByZXR1cm4gbGlzdGVuZXI7XG59XG5mdW5jdGlvbiBhZGRFdmVudENhcHR1cmVMaXN0ZW5lcih0YXJnZXQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcbiAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgdHJ1ZSk7XG4gIHJldHVybiBsaXN0ZW5lcjtcbn1cbmZ1bmN0aW9uIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyV2l0aFBhc3NpdmVGbGFnKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lciwgcGFzc2l2ZSkge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB7XG4gICAgY2FwdHVyZTogdHJ1ZSxcbiAgICBwYXNzaXZlOiBwYXNzaXZlXG4gIH0pO1xuICByZXR1cm4gbGlzdGVuZXI7XG59XG5mdW5jdGlvbiBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyV2l0aFBhc3NpdmVGbGFnKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lciwgcGFzc2l2ZSkge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB7XG4gICAgcGFzc2l2ZTogcGFzc2l2ZVxuICB9KTtcbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG4vKipcbiAqIFRoZXNlIHZhcmlhYmxlcyBzdG9yZSBpbmZvcm1hdGlvbiBhYm91dCB0ZXh0IGNvbnRlbnQgb2YgYSB0YXJnZXQgbm9kZSxcbiAqIGFsbG93aW5nIGNvbXBhcmlzb24gb2YgY29udGVudCBiZWZvcmUgYW5kIGFmdGVyIGEgZ2l2ZW4gZXZlbnQuXG4gKlxuICogSWRlbnRpZnkgdGhlIG5vZGUgd2hlcmUgc2VsZWN0aW9uIGN1cnJlbnRseSBiZWdpbnMsIHRoZW4gb2JzZXJ2ZVxuICogYm90aCBpdHMgdGV4dCBjb250ZW50IGFuZCBpdHMgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgRE9NLiBTaW5jZSB0aGVcbiAqIGJyb3dzZXIgbWF5IG5hdGl2ZWx5IHJlcGxhY2UgdGhlIHRhcmdldCBub2RlIGR1cmluZyBjb21wb3NpdGlvbiwgd2UgY2FuXG4gKiB1c2UgaXRzIHBvc2l0aW9uIHRvIGZpbmQgaXRzIHJlcGxhY2VtZW50LlxuICpcbiAqXG4gKi9cbnZhciByb290ID0gbnVsbDtcbnZhciBzdGFydFRleHQgPSBudWxsO1xudmFyIGZhbGxiYWNrVGV4dCA9IG51bGw7XG5mdW5jdGlvbiBpbml0aWFsaXplKG5hdGl2ZUV2ZW50VGFyZ2V0KSB7XG4gIHJvb3QgPSBuYXRpdmVFdmVudFRhcmdldDtcbiAgc3RhcnRUZXh0ID0gZ2V0VGV4dCgpO1xuICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIHJlc2V0KCkge1xuICByb290ID0gbnVsbDtcbiAgc3RhcnRUZXh0ID0gbnVsbDtcbiAgZmFsbGJhY2tUZXh0ID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldERhdGEoKSB7XG4gIGlmIChmYWxsYmFja1RleHQpIHtcbiAgICByZXR1cm4gZmFsbGJhY2tUZXh0O1xuICB9XG5cbiAgdmFyIHN0YXJ0O1xuICB2YXIgc3RhcnRWYWx1ZSA9IHN0YXJ0VGV4dDtcbiAgdmFyIHN0YXJ0TGVuZ3RoID0gc3RhcnRWYWx1ZS5sZW5ndGg7XG4gIHZhciBlbmQ7XG4gIHZhciBlbmRWYWx1ZSA9IGdldFRleHQoKTtcbiAgdmFyIGVuZExlbmd0aCA9IGVuZFZhbHVlLmxlbmd0aDtcblxuICBmb3IgKHN0YXJ0ID0gMDsgc3RhcnQgPCBzdGFydExlbmd0aDsgc3RhcnQrKykge1xuICAgIGlmIChzdGFydFZhbHVlW3N0YXJ0XSAhPT0gZW5kVmFsdWVbc3RhcnRdKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB2YXIgbWluRW5kID0gc3RhcnRMZW5ndGggLSBzdGFydDtcblxuICBmb3IgKGVuZCA9IDE7IGVuZCA8PSBtaW5FbmQ7IGVuZCsrKSB7XG4gICAgaWYgKHN0YXJ0VmFsdWVbc3RhcnRMZW5ndGggLSBlbmRdICE9PSBlbmRWYWx1ZVtlbmRMZW5ndGggLSBlbmRdKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB2YXIgc2xpY2VUYWlsID0gZW5kID4gMSA/IDEgLSBlbmQgOiB1bmRlZmluZWQ7XG4gIGZhbGxiYWNrVGV4dCA9IGVuZFZhbHVlLnNsaWNlKHN0YXJ0LCBzbGljZVRhaWwpO1xuICByZXR1cm4gZmFsbGJhY2tUZXh0O1xufVxuZnVuY3Rpb24gZ2V0VGV4dCgpIHtcbiAgaWYgKCd2YWx1ZScgaW4gcm9vdCkge1xuICAgIHJldHVybiByb290LnZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHJvb3QudGV4dENvbnRlbnQ7XG59XG5cbi8qKlxuICogYGNoYXJDb2RlYCByZXByZXNlbnRzIHRoZSBhY3R1YWwgXCJjaGFyYWN0ZXIgY29kZVwiIGFuZCBpcyBzYWZlIHRvIHVzZSB3aXRoXG4gKiBgU3RyaW5nLmZyb21DaGFyQ29kZWAuIEFzIHN1Y2gsIG9ubHkga2V5cyB0aGF0IGNvcnJlc3BvbmQgdG8gcHJpbnRhYmxlXG4gKiBjaGFyYWN0ZXJzIHByb2R1Y2UgYSB2YWxpZCBgY2hhckNvZGVgLCB0aGUgb25seSBleGNlcHRpb24gdG8gdGhpcyBpcyBFbnRlci5cbiAqIFRoZSBUYWIta2V5IGlzIGNvbnNpZGVyZWQgbm9uLXByaW50YWJsZSBhbmQgZG9lcyBub3QgaGF2ZSBhIGBjaGFyQ29kZWAsXG4gKiBwcmVzdW1hYmx5IGJlY2F1c2UgaXQgZG9lcyBub3QgcHJvZHVjZSBhIHRhYi1jaGFyYWN0ZXIgaW4gYnJvd3NlcnMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7bnVtYmVyfSBOb3JtYWxpemVkIGBjaGFyQ29kZWAgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEV2ZW50Q2hhckNvZGUobmF0aXZlRXZlbnQpIHtcbiAgdmFyIGNoYXJDb2RlO1xuICB2YXIga2V5Q29kZSA9IG5hdGl2ZUV2ZW50LmtleUNvZGU7XG5cbiAgaWYgKCdjaGFyQ29kZScgaW4gbmF0aXZlRXZlbnQpIHtcbiAgICBjaGFyQ29kZSA9IG5hdGl2ZUV2ZW50LmNoYXJDb2RlOyAvLyBGRiBkb2VzIG5vdCBzZXQgYGNoYXJDb2RlYCBmb3IgdGhlIEVudGVyLWtleSwgY2hlY2sgYWdhaW5zdCBga2V5Q29kZWAuXG5cbiAgICBpZiAoY2hhckNvZGUgPT09IDAgJiYga2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIGNoYXJDb2RlID0gMTM7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIElFOCBkb2VzIG5vdCBpbXBsZW1lbnQgYGNoYXJDb2RlYCwgYnV0IGBrZXlDb2RlYCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUuXG4gICAgY2hhckNvZGUgPSBrZXlDb2RlO1xuICB9IC8vIElFIGFuZCBFZGdlIChvbiBXaW5kb3dzKSBhbmQgQ2hyb21lIC8gU2FmYXJpIChvbiBXaW5kb3dzIGFuZCBMaW51eClcbiAgLy8gcmVwb3J0IEVudGVyIGFzIGNoYXJDb2RlIDEwIHdoZW4gY3RybCBpcyBwcmVzc2VkLlxuXG5cbiAgaWYgKGNoYXJDb2RlID09PSAxMCkge1xuICAgIGNoYXJDb2RlID0gMTM7XG4gIH0gLy8gU29tZSBub24tcHJpbnRhYmxlIGtleXMgYXJlIHJlcG9ydGVkIGluIGBjaGFyQ29kZWAvYGtleUNvZGVgLCBkaXNjYXJkIHRoZW0uXG4gIC8vIE11c3Qgbm90IGRpc2NhcmQgdGhlIChub24tKXByaW50YWJsZSBFbnRlci1rZXkuXG5cblxuICBpZiAoY2hhckNvZGUgPj0gMzIgfHwgY2hhckNvZGUgPT09IDEzKSB7XG4gICAgcmV0dXJuIGNoYXJDb2RlO1xuICB9XG5cbiAgcmV0dXJuIDA7XG59XG5cbmZ1bmN0aW9uIGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlKCkge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlKCkge1xuICByZXR1cm4gZmFsc2U7XG59IC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhIGZhY3Rvcnkgc28gdGhhdCB3ZSBoYXZlIGRpZmZlcmVudCByZXR1cm5lZCBjb25zdHJ1Y3RvcnMuXG4vLyBJZiB3ZSBoYWQgYSBzaW5nbGUgY29uc3RydWN0b3IsIGl0IHdvdWxkIGJlIG1lZ2Ftb3JwaGljIGFuZCBlbmdpbmVzIHdvdWxkIGRlb3B0LlxuXG5cbmZ1bmN0aW9uIGNyZWF0ZVN5bnRoZXRpY0V2ZW50KEludGVyZmFjZSkge1xuICAvKipcbiAgICogU3ludGhldGljIGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCBieSBldmVudCBwbHVnaW5zLCB0eXBpY2FsbHkgaW4gcmVzcG9uc2UgdG8gYVxuICAgKiB0b3AtbGV2ZWwgZXZlbnQgZGVsZWdhdGlvbiBoYW5kbGVyLlxuICAgKlxuICAgKiBUaGVzZSBzeXN0ZW1zIHNob3VsZCBnZW5lcmFsbHkgdXNlIHBvb2xpbmcgdG8gcmVkdWNlIHRoZSBmcmVxdWVuY3kgb2YgZ2FyYmFnZVxuICAgKiBjb2xsZWN0aW9uLiBUaGUgc3lzdGVtIHNob3VsZCBjaGVjayBgaXNQZXJzaXN0ZW50YCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGVcbiAgICogZXZlbnQgc2hvdWxkIGJlIHJlbGVhc2VkIGludG8gdGhlIHBvb2wgYWZ0ZXIgYmVpbmcgZGlzcGF0Y2hlZC4gVXNlcnMgdGhhdFxuICAgKiBuZWVkIGEgcGVyc2lzdGVkIGV2ZW50IHNob3VsZCBpbnZva2UgYHBlcnNpc3RgLlxuICAgKlxuICAgKiBTeW50aGV0aWMgZXZlbnRzIChhbmQgc3ViY2xhc3NlcykgaW1wbGVtZW50IHRoZSBET00gTGV2ZWwgMyBFdmVudHMgQVBJIGJ5XG4gICAqIG5vcm1hbGl6aW5nIGJyb3dzZXIgcXVpcmtzLiBTdWJjbGFzc2VzIGRvIG5vdCBuZWNlc3NhcmlseSBoYXZlIHRvIGltcGxlbWVudCBhXG4gICAqIERPTSBpbnRlcmZhY2U7IGN1c3RvbSBhcHBsaWNhdGlvbi1zcGVjaWZpYyBldmVudHMgY2FuIGFsc28gc3ViY2xhc3MgdGhpcy5cbiAgICovXG4gIGZ1bmN0aW9uIFN5bnRoZXRpY0Jhc2VFdmVudChyZWFjdE5hbWUsIHJlYWN0RXZlbnRUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgICB0aGlzLl9yZWFjdE5hbWUgPSByZWFjdE5hbWU7XG4gICAgdGhpcy5fdGFyZ2V0SW5zdCA9IHRhcmdldEluc3Q7XG4gICAgdGhpcy50eXBlID0gcmVhY3RFdmVudFR5cGU7XG4gICAgdGhpcy5uYXRpdmVFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnRUYXJnZXQ7XG4gICAgdGhpcy5jdXJyZW50VGFyZ2V0ID0gbnVsbDtcblxuICAgIGZvciAodmFyIF9wcm9wTmFtZSBpbiBJbnRlcmZhY2UpIHtcbiAgICAgIGlmICghSW50ZXJmYWNlLmhhc093blByb3BlcnR5KF9wcm9wTmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBub3JtYWxpemUgPSBJbnRlcmZhY2VbX3Byb3BOYW1lXTtcblxuICAgICAgaWYgKG5vcm1hbGl6ZSkge1xuICAgICAgICB0aGlzW19wcm9wTmFtZV0gPSBub3JtYWxpemUobmF0aXZlRXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpc1tfcHJvcE5hbWVdID0gbmF0aXZlRXZlbnRbX3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgZGVmYXVsdFByZXZlbnRlZCA9IG5hdGl2ZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgIT0gbnVsbCA/IG5hdGl2ZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgOiBuYXRpdmVFdmVudC5yZXR1cm5WYWx1ZSA9PT0gZmFsc2U7XG5cbiAgICBpZiAoZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFzc2lnbihTeW50aGV0aWNCYXNlRXZlbnQucHJvdG90eXBlLCB7XG4gICAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFByZXZlbnRlZCA9IHRydWU7XG4gICAgICB2YXIgZXZlbnQgPSB0aGlzLm5hdGl2ZUV2ZW50O1xuXG4gICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vICRGbG93Rml4TWUgLSBmbG93IGlzIG5vdCBhd2FyZSBvZiBgdW5rbm93bmAgaW4gSUVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LnJldHVyblZhbHVlICE9PSAndW5rbm93bicpIHtcbiAgICAgICAgZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgICB9LFxuICAgIHN0b3BQcm9wYWdhdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGV2ZW50ID0gdGhpcy5uYXRpdmVFdmVudDtcblxuICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vICRGbG93Rml4TWUgLSBmbG93IGlzIG5vdCBhd2FyZSBvZiBgdW5rbm93bmAgaW4gSUVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LmNhbmNlbEJ1YmJsZSAhPT0gJ3Vua25vd24nKSB7XG4gICAgICAgIC8vIFRoZSBDaGFuZ2VFdmVudFBsdWdpbiByZWdpc3RlcnMgYSBcInByb3BlcnR5Y2hhbmdlXCIgZXZlbnQgZm9yXG4gICAgICAgIC8vIElFLiBUaGlzIGV2ZW50IGRvZXMgbm90IHN1cHBvcnQgYnViYmxpbmcgb3IgY2FuY2VsbGluZywgYW5kXG4gICAgICAgIC8vIGFueSByZWZlcmVuY2VzIHRvIGNhbmNlbEJ1YmJsZSB0aHJvdyBcIk1lbWJlciBub3QgZm91bmRcIi4gIEFcbiAgICAgICAgLy8gdHlwZW9mIGNoZWNrIG9mIFwidW5rbm93blwiIGNpcmN1bXZlbnRzIHRoaXMgaXNzdWUgKGFuZCBpcyBhbHNvXG4gICAgICAgIC8vIElFIHNwZWNpZmljKS5cbiAgICAgICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBXZSByZWxlYXNlIGFsbCBkaXNwYXRjaGVkIGBTeW50aGV0aWNFdmVudGBzIGFmdGVyIGVhY2ggZXZlbnQgbG9vcCwgYWRkaW5nXG4gICAgICogdGhlbSBiYWNrIGludG8gdGhlIHBvb2wuIFRoaXMgYWxsb3dzIGEgd2F5IHRvIGhvbGQgb250byBhIHJlZmVyZW5jZSB0aGF0XG4gICAgICogd29uJ3QgYmUgYWRkZWQgYmFjayBpbnRvIHRoZSBwb29sLlxuICAgICAqL1xuICAgIHBlcnNpc3Q6IGZ1bmN0aW9uICgpIHsvLyBNb2Rlcm4gZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGlzIGV2ZW50IHNob3VsZCBiZSByZWxlYXNlZCBiYWNrIGludG8gdGhlIHBvb2wuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoaXMgc2hvdWxkIG5vdCBiZSByZWxlYXNlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGlzUGVyc2lzdGVudDogZnVuY3Rpb25UaGF0UmV0dXJuc1RydWVcbiAgfSk7XG4gIHJldHVybiBTeW50aGV0aWNCYXNlRXZlbnQ7XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xuICovXG5cblxudmFyIEV2ZW50SW50ZXJmYWNlID0ge1xuICBldmVudFBoYXNlOiAwLFxuICBidWJibGVzOiAwLFxuICBjYW5jZWxhYmxlOiAwLFxuICB0aW1lU3RhbXA6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiBldmVudC50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTtcbiAgfSxcbiAgZGVmYXVsdFByZXZlbnRlZDogMCxcbiAgaXNUcnVzdGVkOiAwXG59O1xudmFyIFN5bnRoZXRpY0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRXZlbnRJbnRlcmZhY2UpO1xuXG52YXIgVUlFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgdmlldzogMCxcbiAgZGV0YWlsOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1VJRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChVSUV2ZW50SW50ZXJmYWNlKTtcbnZhciBsYXN0TW92ZW1lbnRYO1xudmFyIGxhc3RNb3ZlbWVudFk7XG52YXIgbGFzdE1vdXNlRXZlbnQ7XG5cbmZ1bmN0aW9uIHVwZGF0ZU1vdXNlTW92ZW1lbnRQb2x5ZmlsbFN0YXRlKGV2ZW50KSB7XG4gIGlmIChldmVudCAhPT0gbGFzdE1vdXNlRXZlbnQpIHtcbiAgICBpZiAobGFzdE1vdXNlRXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScpIHtcbiAgICAgIGxhc3RNb3ZlbWVudFggPSBldmVudC5zY3JlZW5YIC0gbGFzdE1vdXNlRXZlbnQuc2NyZWVuWDtcbiAgICAgIGxhc3RNb3ZlbWVudFkgPSBldmVudC5zY3JlZW5ZIC0gbGFzdE1vdXNlRXZlbnQuc2NyZWVuWTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdE1vdmVtZW50WCA9IDA7XG4gICAgICBsYXN0TW92ZW1lbnRZID0gMDtcbiAgICB9XG5cbiAgICBsYXN0TW91c2VFdmVudCA9IGV2ZW50O1xuICB9XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgTW91c2VFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxuXG52YXIgTW91c2VFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICBzY3JlZW5YOiAwLFxuICBzY3JlZW5ZOiAwLFxuICBjbGllbnRYOiAwLFxuICBjbGllbnRZOiAwLFxuICBwYWdlWDogMCxcbiAgcGFnZVk6IDAsXG4gIGN0cmxLZXk6IDAsXG4gIHNoaWZ0S2V5OiAwLFxuICBhbHRLZXk6IDAsXG4gIG1ldGFLZXk6IDAsXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcbiAgYnV0dG9uOiAwLFxuICBidXR0b25zOiAwLFxuICByZWxhdGVkVGFyZ2V0OiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQucmVsYXRlZFRhcmdldCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZXZlbnQuZnJvbUVsZW1lbnQgPT09IGV2ZW50LnNyY0VsZW1lbnQgPyBldmVudC50b0VsZW1lbnQgOiBldmVudC5mcm9tRWxlbWVudDtcbiAgICByZXR1cm4gZXZlbnQucmVsYXRlZFRhcmdldDtcbiAgfSxcbiAgbW92ZW1lbnRYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoJ21vdmVtZW50WCcgaW4gZXZlbnQpIHtcbiAgICAgIHJldHVybiBldmVudC5tb3ZlbWVudFg7XG4gICAgfVxuXG4gICAgdXBkYXRlTW91c2VNb3ZlbWVudFBvbHlmaWxsU3RhdGUoZXZlbnQpO1xuICAgIHJldHVybiBsYXN0TW92ZW1lbnRYO1xuICB9LFxuICBtb3ZlbWVudFk6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIGlmICgnbW92ZW1lbnRZJyBpbiBldmVudCkge1xuICAgICAgcmV0dXJuIGV2ZW50Lm1vdmVtZW50WTtcbiAgICB9IC8vIERvbid0IG5lZWQgdG8gY2FsbCB1cGRhdGVNb3VzZU1vdmVtZW50UG9seWZpbGxTdGF0ZSgpIGhlcmVcbiAgICAvLyBiZWNhdXNlIGl0J3MgZ3VhcmFudGVlZCB0byBoYXZlIGFscmVhZHkgcnVuIHdoZW4gbW92ZW1lbnRYXG4gICAgLy8gd2FzIGNvcGllZC5cblxuXG4gICAgcmV0dXJuIGxhc3RNb3ZlbWVudFk7XG4gIH1cbn0pO1xuXG52YXIgU3ludGhldGljTW91c2VFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KE1vdXNlRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIERyYWdFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIERyYWdFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgTW91c2VFdmVudEludGVyZmFjZSwge1xuICBkYXRhVHJhbnNmZXI6IDBcbn0pO1xuXG52YXIgU3ludGhldGljRHJhZ0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRHJhZ0V2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBGb2N1c0V2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy9cbiAqL1xuXG52YXIgRm9jdXNFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICByZWxhdGVkVGFyZ2V0OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0ZvY3VzRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChGb2N1c0V2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI0FuaW1hdGlvbkV2ZW50LWludGVyZmFjZVxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQW5pbWF0aW9uRXZlbnRcbiAqL1xuXG52YXIgQW5pbWF0aW9uRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIEV2ZW50SW50ZXJmYWNlLCB7XG4gIGFuaW1hdGlvbk5hbWU6IDAsXG4gIGVsYXBzZWRUaW1lOiAwLFxuICBwc2V1ZG9FbGVtZW50OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0FuaW1hdGlvbkV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoQW5pbWF0aW9uRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL2NsaXBib2FyZC1hcGlzL1xuICovXG5cbnZhciBDbGlwYm9hcmRFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgY2xpcGJvYXJkRGF0YTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgcmV0dXJuICdjbGlwYm9hcmREYXRhJyBpbiBldmVudCA/IGV2ZW50LmNsaXBib2FyZERhdGEgOiB3aW5kb3cuY2xpcGJvYXJkRGF0YTtcbiAgfVxufSk7XG5cbnZhciBTeW50aGV0aWNDbGlwYm9hcmRFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KENsaXBib2FyZEV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1jb21wb3NpdGlvbmV2ZW50c1xuICovXG5cbnZhciBDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBkYXRhOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL1dELURPTS1MZXZlbC0zLUV2ZW50cy0yMDEzMTEwNVxuICogICAgICAvI2V2ZW50cy1pbnB1dGV2ZW50c1xuICovXG4vLyBIYXBwZW5zIHRvIHNoYXJlIHRoZSBzYW1lIGxpc3QgZm9yIG5vdy5cblxudmFyIFN5bnRoZXRpY0lucHV0RXZlbnQgPSBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50O1xuLyoqXG4gKiBOb3JtYWxpemF0aW9uIG9mIGRlcHJlY2F0ZWQgSFRNTDUgYGtleWAgdmFsdWVzXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciBub3JtYWxpemVLZXkgPSB7XG4gIEVzYzogJ0VzY2FwZScsXG4gIFNwYWNlYmFyOiAnICcsXG4gIExlZnQ6ICdBcnJvd0xlZnQnLFxuICBVcDogJ0Fycm93VXAnLFxuICBSaWdodDogJ0Fycm93UmlnaHQnLFxuICBEb3duOiAnQXJyb3dEb3duJyxcbiAgRGVsOiAnRGVsZXRlJyxcbiAgV2luOiAnT1MnLFxuICBNZW51OiAnQ29udGV4dE1lbnUnLFxuICBBcHBzOiAnQ29udGV4dE1lbnUnLFxuICBTY3JvbGw6ICdTY3JvbGxMb2NrJyxcbiAgTW96UHJpbnRhYmxlS2V5OiAnVW5pZGVudGlmaWVkJ1xufTtcbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBsZWdhY3kgYGtleUNvZGVgIHRvIEhUTUw1IGBrZXlgXG4gKiBPbmx5IHNwZWNpYWwga2V5cyBzdXBwb3J0ZWQsIGFsbCBvdGhlcnMgZGVwZW5kIG9uIGtleWJvYXJkIGxheW91dCBvciBicm93c2VyXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciB0cmFuc2xhdGVUb0tleSA9IHtcbiAgJzgnOiAnQmFja3NwYWNlJyxcbiAgJzknOiAnVGFiJyxcbiAgJzEyJzogJ0NsZWFyJyxcbiAgJzEzJzogJ0VudGVyJyxcbiAgJzE2JzogJ1NoaWZ0JyxcbiAgJzE3JzogJ0NvbnRyb2wnLFxuICAnMTgnOiAnQWx0JyxcbiAgJzE5JzogJ1BhdXNlJyxcbiAgJzIwJzogJ0NhcHNMb2NrJyxcbiAgJzI3JzogJ0VzY2FwZScsXG4gICczMic6ICcgJyxcbiAgJzMzJzogJ1BhZ2VVcCcsXG4gICczNCc6ICdQYWdlRG93bicsXG4gICczNSc6ICdFbmQnLFxuICAnMzYnOiAnSG9tZScsXG4gICczNyc6ICdBcnJvd0xlZnQnLFxuICAnMzgnOiAnQXJyb3dVcCcsXG4gICczOSc6ICdBcnJvd1JpZ2h0JyxcbiAgJzQwJzogJ0Fycm93RG93bicsXG4gICc0NSc6ICdJbnNlcnQnLFxuICAnNDYnOiAnRGVsZXRlJyxcbiAgJzExMic6ICdGMScsXG4gICcxMTMnOiAnRjInLFxuICAnMTE0JzogJ0YzJyxcbiAgJzExNSc6ICdGNCcsXG4gICcxMTYnOiAnRjUnLFxuICAnMTE3JzogJ0Y2JyxcbiAgJzExOCc6ICdGNycsXG4gICcxMTknOiAnRjgnLFxuICAnMTIwJzogJ0Y5JyxcbiAgJzEyMSc6ICdGMTAnLFxuICAnMTIyJzogJ0YxMScsXG4gICcxMjMnOiAnRjEyJyxcbiAgJzE0NCc6ICdOdW1Mb2NrJyxcbiAgJzE0NSc6ICdTY3JvbGxMb2NrJyxcbiAgJzIyNCc6ICdNZXRhJ1xufTtcbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7c3RyaW5nfSBOb3JtYWxpemVkIGBrZXlgIHByb3BlcnR5LlxuICovXG5cbmZ1bmN0aW9uIGdldEV2ZW50S2V5KG5hdGl2ZUV2ZW50KSB7XG4gIGlmIChuYXRpdmVFdmVudC5rZXkpIHtcbiAgICAvLyBOb3JtYWxpemUgaW5jb25zaXN0ZW50IHZhbHVlcyByZXBvcnRlZCBieSBicm93c2VycyBkdWUgdG9cbiAgICAvLyBpbXBsZW1lbnRhdGlvbnMgb2YgYSB3b3JraW5nIGRyYWZ0IHNwZWNpZmljYXRpb24uXG4gICAgLy8gRmlyZUZveCBpbXBsZW1lbnRzIGBrZXlgIGJ1dCByZXR1cm5zIGBNb3pQcmludGFibGVLZXlgIGZvciBhbGxcbiAgICAvLyBwcmludGFibGUgY2hhcmFjdGVycyAobm9ybWFsaXplZCB0byBgVW5pZGVudGlmaWVkYCksIGlnbm9yZSBpdC5cbiAgICB2YXIga2V5ID0gbm9ybWFsaXplS2V5W25hdGl2ZUV2ZW50LmtleV0gfHwgbmF0aXZlRXZlbnQua2V5O1xuXG4gICAgaWYgKGtleSAhPT0gJ1VuaWRlbnRpZmllZCcpIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuICB9IC8vIEJyb3dzZXIgZG9lcyBub3QgaW1wbGVtZW50IGBrZXlgLCBwb2x5ZmlsbCBhcyBtdWNoIG9mIGl0IGFzIHdlIGNhbi5cblxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgdmFyIGNoYXJDb2RlID0gZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCk7IC8vIFRoZSBlbnRlci1rZXkgaXMgdGVjaG5pY2FsbHkgYm90aCBwcmludGFibGUgYW5kIG5vbi1wcmludGFibGUgYW5kIGNhblxuICAgIC8vIHRodXMgYmUgY2FwdHVyZWQgYnkgYGtleXByZXNzYCwgbm8gb3RoZXIgbm9uLXByaW50YWJsZSBrZXkgc2hvdWxkLlxuXG4gICAgcmV0dXJuIGNoYXJDb2RlID09PSAxMyA/ICdFbnRlcicgOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNoYXJDb2RlKTtcbiAgfVxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5ZG93bicgfHwgbmF0aXZlRXZlbnQudHlwZSA9PT0gJ2tleXVwJykge1xuICAgIC8vIFdoaWxlIHVzZXIga2V5Ym9hcmQgbGF5b3V0IGRldGVybWluZXMgdGhlIGFjdHVhbCBtZWFuaW5nIG9mIGVhY2hcbiAgICAvLyBga2V5Q29kZWAgdmFsdWUsIGFsbW9zdCBhbGwgZnVuY3Rpb24ga2V5cyBoYXZlIGEgdW5pdmVyc2FsIHZhbHVlLlxuICAgIHJldHVybiB0cmFuc2xhdGVUb0tleVtuYXRpdmVFdmVudC5rZXlDb2RlXSB8fCAnVW5pZGVudGlmaWVkJztcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBtb2RpZmllciBrZXkgdG8gdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaW4gdGhlIGV2ZW50LlxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2tleXMtTW9kaWZpZXJzXG4gKi9cblxuXG52YXIgbW9kaWZpZXJLZXlUb1Byb3AgPSB7XG4gIEFsdDogJ2FsdEtleScsXG4gIENvbnRyb2w6ICdjdHJsS2V5JyxcbiAgTWV0YTogJ21ldGFLZXknLFxuICBTaGlmdDogJ3NoaWZ0S2V5J1xufTsgLy8gT2xkZXIgYnJvd3NlcnMgKFNhZmFyaSA8PSAxMCwgaU9TIFNhZmFyaSA8PSAxMC4yKSBkbyBub3Qgc3VwcG9ydFxuLy8gZ2V0TW9kaWZpZXJTdGF0ZS4gSWYgZ2V0TW9kaWZpZXJTdGF0ZSBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBtYXAgaXQgdG8gYSBzZXQgb2Zcbi8vIG1vZGlmaWVyIGtleXMgZXhwb3NlZCBieSB0aGUgZXZlbnQuIEluIHRoaXMgY2FzZSwgTG9jay1rZXlzIGFyZSBub3Qgc3VwcG9ydGVkLlxuXG5mdW5jdGlvbiBtb2RpZmllclN0YXRlR2V0dGVyKGtleUFyZykge1xuICB2YXIgc3ludGhldGljRXZlbnQgPSB0aGlzO1xuICB2YXIgbmF0aXZlRXZlbnQgPSBzeW50aGV0aWNFdmVudC5uYXRpdmVFdmVudDtcblxuICBpZiAobmF0aXZlRXZlbnQuZ2V0TW9kaWZpZXJTdGF0ZSkge1xuICAgIHJldHVybiBuYXRpdmVFdmVudC5nZXRNb2RpZmllclN0YXRlKGtleUFyZyk7XG4gIH1cblxuICB2YXIga2V5UHJvcCA9IG1vZGlmaWVyS2V5VG9Qcm9wW2tleUFyZ107XG4gIHJldHVybiBrZXlQcm9wID8gISFuYXRpdmVFdmVudFtrZXlQcm9wXSA6IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRFdmVudE1vZGlmaWVyU3RhdGUobmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIG1vZGlmaWVyU3RhdGVHZXR0ZXI7XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgS2V5Ym9hcmRFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxuXG52YXIgS2V5Ym9hcmRFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICBrZXk6IGdldEV2ZW50S2V5LFxuICBjb2RlOiAwLFxuICBsb2NhdGlvbjogMCxcbiAgY3RybEtleTogMCxcbiAgc2hpZnRLZXk6IDAsXG4gIGFsdEtleTogMCxcbiAgbWV0YUtleTogMCxcbiAgcmVwZWF0OiAwLFxuICBsb2NhbGU6IDAsXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcbiAgLy8gTGVnYWN5IEludGVyZmFjZVxuICBjaGFyQ29kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgLy8gYGNoYXJDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5UHJlc3MgZXZlbnQgYW5kIHJlcHJlc2VudHMgdGhlIHZhbHVlIG9mXG4gICAgLy8gdGhlIGFjdHVhbCBwcmludGFibGUgY2hhcmFjdGVyLlxuICAgIC8vIEtleVByZXNzIGlzIGRlcHJlY2F0ZWQsIGJ1dCBpdHMgcmVwbGFjZW1lbnQgaXMgbm90IHlldCBmaW5hbCBhbmQgbm90XG4gICAgLy8gaW1wbGVtZW50ZWQgaW4gYW55IG1ham9yIGJyb3dzZXIuIE9ubHkgS2V5UHJlc3MgaGFzIGNoYXJDb2RlLlxuICAgIGlmIChldmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgICByZXR1cm4gZ2V0RXZlbnRDaGFyQ29kZShldmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH0sXG4gIGtleUNvZGU6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGBrZXlDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5RG93bi9VcCBldmVudCBhbmQgcmVwcmVzZW50cyB0aGUgdmFsdWUgb2ZcbiAgICAvLyBwaHlzaWNhbCBrZXlib2FyZCBrZXkuXG4gICAgLy8gVGhlIGFjdHVhbCBtZWFuaW5nIG9mIHRoZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSB1c2Vycycga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gd2hpY2ggY2Fubm90IGJlIGRldGVjdGVkLiBBc3N1bWluZyB0aGF0IGl0IGlzIGEgVVMga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gcHJvdmlkZXMgYSBzdXJwcmlzaW5nbHkgYWNjdXJhdGUgbWFwcGluZyBmb3IgVVMgYW5kIEV1cm9wZWFuIHVzZXJzLlxuICAgIC8vIER1ZSB0byB0aGlzLCBpdCBpcyBsZWZ0IHRvIHRoZSB1c2VyIHRvIGltcGxlbWVudCBhdCB0aGlzIHRpbWUuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyB8fCBldmVudC50eXBlID09PSAna2V5dXAnKSB7XG4gICAgICByZXR1cm4gZXZlbnQua2V5Q29kZTtcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfSxcbiAgd2hpY2g6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGB3aGljaGAgaXMgYW4gYWxpYXMgZm9yIGVpdGhlciBga2V5Q29kZWAgb3IgYGNoYXJDb2RlYCBkZXBlbmRpbmcgb24gdGhlXG4gICAgLy8gdHlwZSBvZiB0aGUgZXZlbnQuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlwcmVzcycpIHtcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcbiAgICAgIHJldHVybiBldmVudC5rZXlDb2RlO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG59KTtcblxudmFyIFN5bnRoZXRpY0tleWJvYXJkRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChLZXlib2FyZEV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBQb2ludGVyRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50cy9cbiAqL1xuXG52YXIgUG9pbnRlckV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBNb3VzZUV2ZW50SW50ZXJmYWNlLCB7XG4gIHBvaW50ZXJJZDogMCxcbiAgd2lkdGg6IDAsXG4gIGhlaWdodDogMCxcbiAgcHJlc3N1cmU6IDAsXG4gIHRhbmdlbnRpYWxQcmVzc3VyZTogMCxcbiAgdGlsdFg6IDAsXG4gIHRpbHRZOiAwLFxuICB0d2lzdDogMCxcbiAgcG9pbnRlclR5cGU6IDAsXG4gIGlzUHJpbWFyeTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNQb2ludGVyRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChQb2ludGVyRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIFRvdWNoRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvdG91Y2gtZXZlbnRzL1xuICovXG5cbnZhciBUb3VjaEV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBVSUV2ZW50SW50ZXJmYWNlLCB7XG4gIHRvdWNoZXM6IDAsXG4gIHRhcmdldFRvdWNoZXM6IDAsXG4gIGNoYW5nZWRUb3VjaGVzOiAwLFxuICBhbHRLZXk6IDAsXG4gIG1ldGFLZXk6IDAsXG4gIGN0cmxLZXk6IDAsXG4gIHNoaWZ0S2V5OiAwLFxuICBnZXRNb2RpZmllclN0YXRlOiBnZXRFdmVudE1vZGlmaWVyU3RhdGVcbn0pO1xuXG52YXIgU3ludGhldGljVG91Y2hFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRvdWNoRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDkvV0QtY3NzMy10cmFuc2l0aW9ucy0yMDA5MDMyMC8jdHJhbnNpdGlvbi1ldmVudHMtXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9UcmFuc2l0aW9uRXZlbnRcbiAqL1xuXG52YXIgVHJhbnNpdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBwcm9wZXJ0eU5hbWU6IDAsXG4gIGVsYXBzZWRUaW1lOiAwLFxuICBwc2V1ZG9FbGVtZW50OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRyYW5zaXRpb25FdmVudEludGVyZmFjZSk7XG4vKipcbiAqIEBpbnRlcmZhY2UgV2hlZWxFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIFdoZWVsRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIE1vdXNlRXZlbnRJbnRlcmZhY2UsIHtcbiAgZGVsdGFYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICByZXR1cm4gJ2RlbHRhWCcgaW4gZXZlbnQgPyBldmVudC5kZWx0YVggOiAvLyBGYWxsYmFjayB0byBgd2hlZWxEZWx0YVhgIGZvciBXZWJraXQgYW5kIG5vcm1hbGl6ZSAocmlnaHQgaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhWCcgaW4gZXZlbnQgPyAtZXZlbnQud2hlZWxEZWx0YVggOiAwO1xuICB9LFxuICBkZWx0YVk6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiAnZGVsdGFZJyBpbiBldmVudCA/IGV2ZW50LmRlbHRhWSA6IC8vIEZhbGxiYWNrIHRvIGB3aGVlbERlbHRhWWAgZm9yIFdlYmtpdCBhbmQgbm9ybWFsaXplIChkb3duIGlzIHBvc2l0aXZlKS5cbiAgICAnd2hlZWxEZWx0YVknIGluIGV2ZW50ID8gLWV2ZW50LndoZWVsRGVsdGFZIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFgIGZvciBJRTw5IGFuZCBub3JtYWxpemUgKGRvd24gaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhJyBpbiBldmVudCA/IC1ldmVudC53aGVlbERlbHRhIDogMDtcbiAgfSxcbiAgZGVsdGFaOiAwLFxuICAvLyBCcm93c2VycyB3aXRob3V0IFwiZGVsdGFNb2RlXCIgaXMgcmVwb3J0aW5nIGluIHJhdyB3aGVlbCBkZWx0YSB3aGVyZSBvbmVcbiAgLy8gbm90Y2ggb24gdGhlIHNjcm9sbCBpcyBhbHdheXMgKy8tIDEyMCwgcm91Z2hseSBlcXVpdmFsZW50IHRvIHBpeGVscy5cbiAgLy8gQSBnb29kIGFwcHJveGltYXRpb24gb2YgRE9NX0RFTFRBX0xJTkUgKDEpIGlzIDUlIG9mIHZpZXdwb3J0IHNpemUgb3JcbiAgLy8gfjQwIHBpeGVscywgZm9yIERPTV9ERUxUQV9TQ1JFRU4gKDIpIGl0IGlzIDg3LjUlIG9mIHZpZXdwb3J0IHNpemUuXG4gIGRlbHRhTW9kZTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNXaGVlbEV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoV2hlZWxFdmVudEludGVyZmFjZSk7XG5cbnZhciBFTkRfS0VZQ09ERVMgPSBbOSwgMTMsIDI3LCAzMl07IC8vIFRhYiwgUmV0dXJuLCBFc2MsIFNwYWNlXG5cbnZhciBTVEFSVF9LRVlDT0RFID0gMjI5O1xudmFyIGNhblVzZUNvbXBvc2l0aW9uRXZlbnQgPSBjYW5Vc2VET00gJiYgJ0NvbXBvc2l0aW9uRXZlbnQnIGluIHdpbmRvdztcbnZhciBkb2N1bWVudE1vZGUgPSBudWxsO1xuXG5pZiAoY2FuVXNlRE9NICYmICdkb2N1bWVudE1vZGUnIGluIGRvY3VtZW50KSB7XG4gIGRvY3VtZW50TW9kZSA9IGRvY3VtZW50LmRvY3VtZW50TW9kZTtcbn0gLy8gV2Via2l0IG9mZmVycyBhIHZlcnkgdXNlZnVsIGB0ZXh0SW5wdXRgIGV2ZW50IHRoYXQgY2FuIGJlIHVzZWQgdG9cbi8vIGRpcmVjdGx5IHJlcHJlc2VudCBgYmVmb3JlSW5wdXRgLiBUaGUgSUUgYHRleHRpbnB1dGAgZXZlbnQgaXMgbm90IGFzXG4vLyB1c2VmdWwsIHNvIHdlIGRvbid0IHVzZSBpdC5cblxuXG52YXIgY2FuVXNlVGV4dElucHV0RXZlbnQgPSBjYW5Vc2VET00gJiYgJ1RleHRFdmVudCcgaW4gd2luZG93ICYmICFkb2N1bWVudE1vZGU7IC8vIEluIElFOSssIHdlIGhhdmUgYWNjZXNzIHRvIGNvbXBvc2l0aW9uIGV2ZW50cywgYnV0IHRoZSBkYXRhIHN1cHBsaWVkXG4vLyBieSB0aGUgbmF0aXZlIGNvbXBvc2l0aW9uZW5kIGV2ZW50IG1heSBiZSBpbmNvcnJlY3QuIEphcGFuZXNlIGlkZW9ncmFwaGljXG4vLyBzcGFjZXMsIGZvciBpbnN0YW5jZSAoXFx1MzAwMCkgYXJlIG5vdCByZWNvcmRlZCBjb3JyZWN0bHkuXG5cbnZhciB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSA9IGNhblVzZURPTSAmJiAoIWNhblVzZUNvbXBvc2l0aW9uRXZlbnQgfHwgZG9jdW1lbnRNb2RlICYmIGRvY3VtZW50TW9kZSA+IDggJiYgZG9jdW1lbnRNb2RlIDw9IDExKTtcbnZhciBTUEFDRUJBUl9DT0RFID0gMzI7XG52YXIgU1BBQ0VCQVJfQ0hBUiA9IFN0cmluZy5mcm9tQ2hhckNvZGUoU1BBQ0VCQVJfQ09ERSk7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzKCkge1xuICByZWdpc3RlclR3b1BoYXNlRXZlbnQoJ29uQmVmb3JlSW5wdXQnLCBbJ2NvbXBvc2l0aW9uZW5kJywgJ2tleXByZXNzJywgJ3RleHRJbnB1dCcsICdwYXN0ZSddKTtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNvbXBvc2l0aW9uRW5kJywgWydjb21wb3NpdGlvbmVuZCcsICdmb2N1c291dCcsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2tleXVwJywgJ21vdXNlZG93biddKTtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNvbXBvc2l0aW9uU3RhcnQnLCBbJ2NvbXBvc2l0aW9uc3RhcnQnLCAnZm9jdXNvdXQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdtb3VzZWRvd24nXSk7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25Db21wb3NpdGlvblVwZGF0ZScsIFsnY29tcG9zaXRpb251cGRhdGUnLCAnZm9jdXNvdXQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdtb3VzZWRvd24nXSk7XG59IC8vIFRyYWNrIHdoZXRoZXIgd2UndmUgZXZlciBoYW5kbGVkIGEga2V5cHJlc3Mgb24gdGhlIHNwYWNlIGtleS5cblxuXG52YXIgaGFzU3BhY2VLZXlwcmVzcyA9IGZhbHNlO1xuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBhIG5hdGl2ZSBrZXlwcmVzcyBldmVudCBpcyBhc3N1bWVkIHRvIGJlIGEgY29tbWFuZC5cbiAqIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBGaXJlZm94IGZpcmVzIGBrZXlwcmVzc2AgZXZlbnRzIGZvciBrZXkgY29tbWFuZHNcbiAqIChjdXQsIGNvcHksIHNlbGVjdC1hbGwsIGV0Yy4pIGV2ZW4gdGhvdWdoIG5vIGNoYXJhY3RlciBpcyBpbnNlcnRlZC5cbiAqL1xuXG5mdW5jdGlvbiBpc0tleXByZXNzQ29tbWFuZChuYXRpdmVFdmVudCkge1xuICByZXR1cm4gKG5hdGl2ZUV2ZW50LmN0cmxLZXkgfHwgbmF0aXZlRXZlbnQuYWx0S2V5IHx8IG5hdGl2ZUV2ZW50Lm1ldGFLZXkpICYmIC8vIGN0cmxLZXkgJiYgYWx0S2V5IGlzIGVxdWl2YWxlbnQgdG8gQWx0R3IsIGFuZCBpcyBub3QgYSBjb21tYW5kLlxuICAhKG5hdGl2ZUV2ZW50LmN0cmxLZXkgJiYgbmF0aXZlRXZlbnQuYWx0S2V5KTtcbn1cbi8qKlxuICogVHJhbnNsYXRlIG5hdGl2ZSB0b3AgbGV2ZWwgZXZlbnRzIGludG8gZXZlbnQgdHlwZXMuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRDb21wb3NpdGlvbkV2ZW50VHlwZShkb21FdmVudE5hbWUpIHtcbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdjb21wb3NpdGlvbnN0YXJ0JzpcbiAgICAgIHJldHVybiAnb25Db21wb3NpdGlvblN0YXJ0JztcblxuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiAnb25Db21wb3NpdGlvbkVuZCc7XG5cbiAgICBjYXNlICdjb21wb3NpdGlvbnVwZGF0ZSc6XG4gICAgICByZXR1cm4gJ29uQ29tcG9zaXRpb25VcGRhdGUnO1xuICB9XG59XG4vKipcbiAqIERvZXMgb3VyIGZhbGxiYWNrIGJlc3QtZ3Vlc3MgbW9kZWwgdGhpbmsgdGhpcyBldmVudCBzaWduaWZpZXMgdGhhdFxuICogY29tcG9zaXRpb24gaGFzIGJlZ3VuP1xuICovXG5cblxuZnVuY3Rpb24gaXNGYWxsYmFja0NvbXBvc2l0aW9uU3RhcnQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICByZXR1cm4gZG9tRXZlbnROYW1lID09PSAna2V5ZG93bicgJiYgbmF0aXZlRXZlbnQua2V5Q29kZSA9PT0gU1RBUlRfS0VZQ09ERTtcbn1cbi8qKlxuICogRG9lcyBvdXIgZmFsbGJhY2sgbW9kZSB0aGluayB0aGF0IHRoaXMgZXZlbnQgaXMgdGhlIGVuZCBvZiBjb21wb3NpdGlvbj9cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzRmFsbGJhY2tDb21wb3NpdGlvbkVuZChkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgLy8gQ29tbWFuZCBrZXlzIGluc2VydCBvciBjbGVhciBJTUUgaW5wdXQuXG4gICAgICByZXR1cm4gRU5EX0tFWUNPREVTLmluZGV4T2YobmF0aXZlRXZlbnQua2V5Q29kZSkgIT09IC0xO1xuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgICAvLyBFeHBlY3QgSU1FIGtleUNvZGUgb24gZWFjaCBrZXlkb3duLiBJZiB3ZSBnZXQgYW55IG90aGVyXG4gICAgICAvLyBjb2RlIHdlIG11c3QgaGF2ZSBleGl0ZWQgZWFybGllci5cbiAgICAgIHJldHVybiBuYXRpdmVFdmVudC5rZXlDb2RlICE9PSBTVEFSVF9LRVlDT0RFO1xuXG4gICAgY2FzZSAna2V5cHJlc3MnOlxuICAgIGNhc2UgJ21vdXNlZG93bic6XG4gICAgY2FzZSAnZm9jdXNvdXQnOlxuICAgICAgLy8gRXZlbnRzIGFyZSBub3QgcG9zc2libGUgd2l0aG91dCBjYW5jZWxsaW5nIElNRS5cbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuLyoqXG4gKiBHb29nbGUgSW5wdXQgVG9vbHMgcHJvdmlkZXMgY29tcG9zaXRpb24gZGF0YSB2aWEgYSBDdXN0b21FdmVudCxcbiAqIHdpdGggdGhlIGBkYXRhYCBwcm9wZXJ0eSBwb3B1bGF0ZWQgaW4gdGhlIGBkZXRhaWxgIG9iamVjdC4gSWYgdGhpc1xuICogaXMgYXZhaWxhYmxlIG9uIHRoZSBldmVudCBvYmplY3QsIHVzZSBpdC4gSWYgbm90LCB0aGlzIGlzIGEgcGxhaW5cbiAqIGNvbXBvc2l0aW9uIGV2ZW50IGFuZCB3ZSBoYXZlIG5vdGhpbmcgc3BlY2lhbCB0byBleHRyYWN0LlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxuICogQHJldHVybiB7P3N0cmluZ31cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldERhdGFGcm9tQ3VzdG9tRXZlbnQobmF0aXZlRXZlbnQpIHtcbiAgdmFyIGRldGFpbCA9IG5hdGl2ZUV2ZW50LmRldGFpbDtcblxuICBpZiAodHlwZW9mIGRldGFpbCA9PT0gJ29iamVjdCcgJiYgJ2RhdGEnIGluIGRldGFpbCkge1xuICAgIHJldHVybiBkZXRhaWwuZGF0YTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBDaGVjayBpZiBhIGNvbXBvc2l0aW9uIGV2ZW50IHdhcyB0cmlnZ2VyZWQgYnkgS29yZWFuIElNRS5cbiAqIE91ciBmYWxsYmFjayBtb2RlIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIElFJ3MgS29yZWFuIElNRSxcbiAqIHNvIGp1c3QgdXNlIG5hdGl2ZSBjb21wb3NpdGlvbiBldmVudHMgd2hlbiBLb3JlYW4gSU1FIGlzIHVzZWQuXG4gKiBBbHRob3VnaCBDb21wb3NpdGlvbkV2ZW50LmxvY2FsZSBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLFxuICogaXQgaXMgYXZhaWxhYmxlIGluIElFLCB3aGVyZSBvdXIgZmFsbGJhY2sgbW9kZSBpcyBlbmFibGVkLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVXNpbmdLb3JlYW5JTUUobmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIG5hdGl2ZUV2ZW50LmxvY2FsZSA9PT0gJ2tvJztcbn0gLy8gVHJhY2sgdGhlIGN1cnJlbnQgSU1FIGNvbXBvc2l0aW9uIHN0YXR1cywgaWYgYW55LlxuXG5cbnZhciBpc0NvbXBvc2luZyA9IGZhbHNlO1xuLyoqXG4gKiBAcmV0dXJuIHs/b2JqZWN0fSBBIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQuXG4gKi9cblxuZnVuY3Rpb24gZXh0cmFjdENvbXBvc2l0aW9uRXZlbnQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGV2ZW50VHlwZTtcbiAgdmFyIGZhbGxiYWNrRGF0YTtcblxuICBpZiAoY2FuVXNlQ29tcG9zaXRpb25FdmVudCkge1xuICAgIGV2ZW50VHlwZSA9IGdldENvbXBvc2l0aW9uRXZlbnRUeXBlKGRvbUV2ZW50TmFtZSk7XG4gIH0gZWxzZSBpZiAoIWlzQ29tcG9zaW5nKSB7XG4gICAgaWYgKGlzRmFsbGJhY2tDb21wb3NpdGlvblN0YXJ0KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpKSB7XG4gICAgICBldmVudFR5cGUgPSAnb25Db21wb3NpdGlvblN0YXJ0JztcbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNGYWxsYmFja0NvbXBvc2l0aW9uRW5kKGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpKSB7XG4gICAgZXZlbnRUeXBlID0gJ29uQ29tcG9zaXRpb25FbmQnO1xuICB9XG5cbiAgaWYgKCFldmVudFR5cGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkpIHtcbiAgICAvLyBUaGUgY3VycmVudCBjb21wb3NpdGlvbiBpcyBzdG9yZWQgc3RhdGljYWxseSBhbmQgbXVzdCBub3QgYmVcbiAgICAvLyBvdmVyd3JpdHRlbiB3aGlsZSBjb21wb3NpdGlvbiBjb250aW51ZXMuXG4gICAgaWYgKCFpc0NvbXBvc2luZyAmJiBldmVudFR5cGUgPT09ICdvbkNvbXBvc2l0aW9uU3RhcnQnKSB7XG4gICAgICBpc0NvbXBvc2luZyA9IGluaXRpYWxpemUobmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnb25Db21wb3NpdGlvbkVuZCcpIHtcbiAgICAgIGlmIChpc0NvbXBvc2luZykge1xuICAgICAgICBmYWxsYmFja0RhdGEgPSBnZXREYXRhKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCBldmVudFR5cGUpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50KGV2ZW50VHlwZSwgZG9tRXZlbnROYW1lLCBudWxsLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1xuICAgIH0pO1xuXG4gICAgaWYgKGZhbGxiYWNrRGF0YSkge1xuICAgICAgLy8gSW5qZWN0IGRhdGEgZ2VuZXJhdGVkIGZyb20gZmFsbGJhY2sgcGF0aCBpbnRvIHRoZSBzeW50aGV0aWMgZXZlbnQuXG4gICAgICAvLyBUaGlzIG1hdGNoZXMgdGhlIHByb3BlcnR5IG9mIG5hdGl2ZSBDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlLlxuICAgICAgZXZlbnQuZGF0YSA9IGZhbGxiYWNrRGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGN1c3RvbURhdGEgPSBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgICAgaWYgKGN1c3RvbURhdGEgIT09IG51bGwpIHtcbiAgICAgICAgZXZlbnQuZGF0YSA9IGN1c3RvbURhdGE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5hdGl2ZUJlZm9yZUlucHV0Q2hhcnMoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogSWYgbmF0aXZlIGB0ZXh0SW5wdXRgIGV2ZW50cyBhcmUgYXZhaWxhYmxlLCBvdXIgZ29hbCBpcyB0byBtYWtlXG4gICAgICAgKiB1c2Ugb2YgdGhlbS4gSG93ZXZlciwgdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2U6IHRoZSBzcGFjZWJhciBrZXkuXG4gICAgICAgKiBJbiBXZWJraXQsIHByZXZlbnRpbmcgZGVmYXVsdCBvbiBhIHNwYWNlYmFyIGB0ZXh0SW5wdXRgIGV2ZW50XG4gICAgICAgKiBjYW5jZWxzIGNoYXJhY3RlciBpbnNlcnRpb24sIGJ1dCBpdCAqYWxzbyogY2F1c2VzIHRoZSBicm93c2VyXG4gICAgICAgKiB0byBmYWxsIGJhY2sgdG8gaXRzIGRlZmF1bHQgc3BhY2ViYXIgYmVoYXZpb3Igb2Ygc2Nyb2xsaW5nIHRoZVxuICAgICAgICogcGFnZS5cbiAgICAgICAqXG4gICAgICAgKiBUcmFja2luZyBhdDpcbiAgICAgICAqIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNTUxMDNcbiAgICAgICAqXG4gICAgICAgKiBUbyBhdm9pZCB0aGlzIGlzc3VlLCB1c2UgdGhlIGtleXByZXNzIGV2ZW50IGFzIGlmIG5vIGB0ZXh0SW5wdXRgXG4gICAgICAgKiBldmVudCBpcyBhdmFpbGFibGUuXG4gICAgICAgKi9cbiAgICAgIHZhciB3aGljaCA9IG5hdGl2ZUV2ZW50LndoaWNoO1xuXG4gICAgICBpZiAod2hpY2ggIT09IFNQQUNFQkFSX0NPREUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGhhc1NwYWNlS2V5cHJlc3MgPSB0cnVlO1xuICAgICAgcmV0dXJuIFNQQUNFQkFSX0NIQVI7XG5cbiAgICBjYXNlICd0ZXh0SW5wdXQnOlxuICAgICAgLy8gUmVjb3JkIHRoZSBjaGFyYWN0ZXJzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00uXG4gICAgICB2YXIgY2hhcnMgPSBuYXRpdmVFdmVudC5kYXRhOyAvLyBJZiBpdCdzIGEgc3BhY2ViYXIgY2hhcmFjdGVyLCBhc3N1bWUgdGhhdCB3ZSBoYXZlIGFscmVhZHkgaGFuZGxlZFxuICAgICAgLy8gaXQgYXQgdGhlIGtleXByZXNzIGxldmVsIGFuZCBiYWlsIGltbWVkaWF0ZWx5LiBBbmRyb2lkIENocm9tZVxuICAgICAgLy8gZG9lc24ndCBnaXZlIHVzIGtleWNvZGVzLCBzbyB3ZSBuZWVkIHRvIGlnbm9yZSBpdC5cblxuICAgICAgaWYgKGNoYXJzID09PSBTUEFDRUJBUl9DSEFSICYmIGhhc1NwYWNlS2V5cHJlc3MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjaGFycztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBGb3Igb3RoZXIgbmF0aXZlIGV2ZW50IHR5cGVzLCBkbyBub3RoaW5nLlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbi8qKlxuICogRm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHByb3ZpZGUgdGhlIGB0ZXh0SW5wdXRgIGV2ZW50LCBleHRyYWN0IHRoZVxuICogYXBwcm9wcmlhdGUgc3RyaW5nIHRvIHVzZSBmb3IgU3ludGhldGljSW5wdXRFdmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSB7XG4gIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgY29tcG9zaW5nIChJTUUpIGFuZCB1c2luZyBhIGZhbGxiYWNrIHRvIGRvIHNvLFxuICAvLyB0cnkgdG8gZXh0cmFjdCB0aGUgY29tcG9zZWQgY2hhcmFjdGVycyBmcm9tIHRoZSBmYWxsYmFjayBvYmplY3QuXG4gIC8vIElmIGNvbXBvc2l0aW9uIGV2ZW50IGlzIGF2YWlsYWJsZSwgd2UgZXh0cmFjdCBhIHN0cmluZyBvbmx5IGF0XG4gIC8vIGNvbXBvc2l0aW9uZXZlbnQsIG90aGVyd2lzZSBleHRyYWN0IGl0IGF0IGZhbGxiYWNrIGV2ZW50cy5cbiAgaWYgKGlzQ29tcG9zaW5nKSB7XG4gICAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NvbXBvc2l0aW9uZW5kJyB8fCAhY2FuVXNlQ29tcG9zaXRpb25FdmVudCAmJiBpc0ZhbGxiYWNrQ29tcG9zaXRpb25FbmQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkpIHtcbiAgICAgIHZhciBjaGFycyA9IGdldERhdGEoKTtcbiAgICAgIHJlc2V0KCk7XG4gICAgICBpc0NvbXBvc2luZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGNoYXJzO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdwYXN0ZSc6XG4gICAgICAvLyBJZiBhIHBhc3RlIGV2ZW50IG9jY3VycyBhZnRlciBhIGtleXByZXNzLCB0aHJvdyBvdXQgdGhlIGlucHV0XG4gICAgICAvLyBjaGFycy4gUGFzdGUgZXZlbnRzIHNob3VsZCBub3QgbGVhZCB0byBCZWZvcmVJbnB1dCBldmVudHMuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogQXMgb2YgdjI3LCBGaXJlZm94IG1heSBmaXJlIGtleXByZXNzIGV2ZW50cyBldmVuIHdoZW4gbm8gY2hhcmFjdGVyXG4gICAgICAgKiB3aWxsIGJlIGluc2VydGVkLiBBIGZldyBwb3NzaWJpbGl0aWVzOlxuICAgICAgICpcbiAgICAgICAqIC0gYHdoaWNoYCBpcyBgMGAuIEFycm93IGtleXMsIEVzYyBrZXksIGV0Yy5cbiAgICAgICAqXG4gICAgICAgKiAtIGB3aGljaGAgaXMgdGhlIHByZXNzZWQga2V5IGNvZGUsIGJ1dCBubyBjaGFyIGlzIGF2YWlsYWJsZS5cbiAgICAgICAqICAgRXg6ICdBbHRHciArIGRgIGluIFBvbGlzaC4gVGhlcmUgaXMgbm8gbW9kaWZpZWQgY2hhcmFjdGVyIGZvclxuICAgICAgICogICB0aGlzIGtleSBjb21iaW5hdGlvbiBhbmQgbm8gY2hhcmFjdGVyIGlzIGluc2VydGVkIGludG8gdGhlXG4gICAgICAgKiAgIGRvY3VtZW50LCBidXQgRkYgZmlyZXMgdGhlIGtleXByZXNzIGZvciBjaGFyIGNvZGUgYDEwMGAgYW55d2F5LlxuICAgICAgICogICBObyBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKlxuICAgICAgICogLSBgd2hpY2hgIGlzIHRoZSBwcmVzc2VkIGtleSBjb2RlLCBidXQgYSBjb21tYW5kIGNvbWJpbmF0aW9uIGlzXG4gICAgICAgKiAgIGJlaW5nIHVzZWQuIEV4OiBgQ21kK0NgLiBObyBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQsIGFuZCBub1xuICAgICAgICogICBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKi9cbiAgICAgIGlmICghaXNLZXlwcmVzc0NvbW1hbmQobmF0aXZlRXZlbnQpKSB7XG4gICAgICAgIC8vIElFIGZpcmVzIHRoZSBga2V5cHJlc3NgIGV2ZW50IHdoZW4gYSB1c2VyIHR5cGVzIGFuIGVtb2ppIHZpYVxuICAgICAgICAvLyBUb3VjaCBrZXlib2FyZCBvZiBXaW5kb3dzLiAgSW4gc3VjaCBhIGNhc2UsIHRoZSBgY2hhcmAgcHJvcGVydHlcbiAgICAgICAgLy8gaG9sZHMgYW4gZW1vamkgY2hhcmFjdGVyIGxpa2UgYFxcdUQ4M0RcXHVERTBBYC4gIEJlY2F1c2UgaXRzIGxlbmd0aFxuICAgICAgICAvLyBpcyAyLCB0aGUgcHJvcGVydHkgYHdoaWNoYCBkb2VzIG5vdCByZXByZXNlbnQgYW4gZW1vamkgY29ycmVjdGx5LlxuICAgICAgICAvLyBJbiBzdWNoIGEgY2FzZSwgd2UgZGlyZWN0bHkgcmV0dXJuIHRoZSBgY2hhcmAgcHJvcGVydHkgaW5zdGVhZCBvZlxuICAgICAgICAvLyB1c2luZyBgd2hpY2hgLlxuICAgICAgICBpZiAobmF0aXZlRXZlbnQuY2hhciAmJiBuYXRpdmVFdmVudC5jaGFyLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICByZXR1cm4gbmF0aXZlRXZlbnQuY2hhcjtcbiAgICAgICAgfSBlbHNlIGlmIChuYXRpdmVFdmVudC53aGljaCkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKG5hdGl2ZUV2ZW50LndoaWNoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkgPyBudWxsIDogbmF0aXZlRXZlbnQuZGF0YTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuLyoqXG4gKiBFeHRyYWN0IGEgU3ludGhldGljSW5wdXRFdmVudCBmb3IgYGJlZm9yZUlucHV0YCwgYmFzZWQgb24gZWl0aGVyIG5hdGl2ZVxuICogYHRleHRJbnB1dGAgb3IgZmFsbGJhY2sgYmVoYXZpb3IuXG4gKlxuICogQHJldHVybiB7P29iamVjdH0gQSBTeW50aGV0aWNJbnB1dEV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEJlZm9yZUlucHV0RXZlbnQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGNoYXJzO1xuXG4gIGlmIChjYW5Vc2VUZXh0SW5wdXRFdmVudCkge1xuICAgIGNoYXJzID0gZ2V0TmF0aXZlQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSBlbHNlIHtcbiAgICBjaGFycyA9IGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSAvLyBJZiBubyBjaGFyYWN0ZXJzIGFyZSBiZWluZyBpbnNlcnRlZCwgbm8gQmVmb3JlSW5wdXQgZXZlbnQgc2hvdWxkXG4gIC8vIGJlIGZpcmVkLlxuXG5cbiAgaWYgKCFjaGFycykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCAnb25CZWZvcmVJbnB1dCcpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNJbnB1dEV2ZW50KCdvbkJlZm9yZUlucHV0JywgJ2JlZm9yZWlucHV0JywgbnVsbCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNcbiAgICB9KTtcbiAgICBldmVudC5kYXRhID0gY2hhcnM7XG4gIH1cbn1cbi8qKlxuICogQ3JlYXRlIGFuIGBvbkJlZm9yZUlucHV0YCBldmVudCB0byBtYXRjaFxuICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9XRC1ET00tTGV2ZWwtMy1FdmVudHMtMjAxMzExMDUvI2V2ZW50cy1pbnB1dGV2ZW50cy5cbiAqXG4gKiBUaGlzIGV2ZW50IHBsdWdpbiBpcyBiYXNlZCBvbiB0aGUgbmF0aXZlIGB0ZXh0SW5wdXRgIGV2ZW50XG4gKiBhdmFpbGFibGUgaW4gQ2hyb21lLCBTYWZhcmksIE9wZXJhLCBhbmQgSUUuIFRoaXMgZXZlbnQgZmlyZXMgYWZ0ZXJcbiAqIGBvbktleVByZXNzYCBhbmQgYG9uQ29tcG9zaXRpb25FbmRgLCBidXQgYmVmb3JlIGBvbklucHV0YC5cbiAqXG4gKiBgYmVmb3JlSW5wdXRgIGlzIHNwZWMnZCBidXQgbm90IGltcGxlbWVudGVkIGluIGFueSBicm93c2VycywgYW5kXG4gKiB0aGUgYGlucHV0YCBldmVudCBkb2VzIG5vdCBwcm92aWRlIGFueSB1c2VmdWwgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBoYXNcbiAqIGFjdHVhbGx5IGJlZW4gYWRkZWQsIGNvbnRyYXJ5IHRvIHRoZSBzcGVjLiBUaHVzLCBgdGV4dElucHV0YCBpcyB0aGUgYmVzdFxuICogYXZhaWxhYmxlIGV2ZW50IHRvIGlkZW50aWZ5IHRoZSBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBhY3R1YWxseSBiZWVuIGluc2VydGVkXG4gKiBpbnRvIHRoZSB0YXJnZXQgbm9kZS5cbiAqXG4gKiBUaGlzIHBsdWdpbiBpcyBhbHNvIHJlc3BvbnNpYmxlIGZvciBlbWl0dGluZyBgY29tcG9zaXRpb25gIGV2ZW50cywgdGh1c1xuICogYWxsb3dpbmcgdXMgdG8gc2hhcmUgY29tcG9zaXRpb24gZmFsbGJhY2sgY29kZSBmb3IgYm90aCBgYmVmb3JlSW5wdXRgIGFuZFxuICogYGNvbXBvc2l0aW9uYCBldmVudCB0eXBlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICBleHRyYWN0Q29tcG9zaXRpb25FdmVudChkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIGV4dHJhY3RCZWZvcmVJbnB1dEV2ZW50KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS1pbnB1dC1lbGVtZW50Lmh0bWwjaW5wdXQtdHlwZS1hdHRyLXN1bW1hcnlcbiAqL1xudmFyIHN1cHBvcnRlZElucHV0VHlwZXMgPSB7XG4gIGNvbG9yOiB0cnVlLFxuICBkYXRlOiB0cnVlLFxuICBkYXRldGltZTogdHJ1ZSxcbiAgJ2RhdGV0aW1lLWxvY2FsJzogdHJ1ZSxcbiAgZW1haWw6IHRydWUsXG4gIG1vbnRoOiB0cnVlLFxuICBudW1iZXI6IHRydWUsXG4gIHBhc3N3b3JkOiB0cnVlLFxuICByYW5nZTogdHJ1ZSxcbiAgc2VhcmNoOiB0cnVlLFxuICB0ZWw6IHRydWUsXG4gIHRleHQ6IHRydWUsXG4gIHRpbWU6IHRydWUsXG4gIHVybDogdHJ1ZSxcbiAgd2VlazogdHJ1ZVxufTtcblxuZnVuY3Rpb24gaXNUZXh0SW5wdXRFbGVtZW50KGVsZW0pIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbSAmJiBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICByZXR1cm4gISFzdXBwb3J0ZWRJbnB1dFR5cGVzW2VsZW0udHlwZV07XG4gIH1cblxuICBpZiAobm9kZU5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgc3VwcG9ydGVkIGluIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cbiAqXG4gKiBOT1RFOiBUaGlzIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5IGZvciBub24tZ2VuZXJpYyBldmVudHMgc3VjaCBhcyBgY2hhbmdlYCxcbiAqIGByZXNldGAsIGBsb2FkYCwgYGVycm9yYCwgYW5kIGBzZWxlY3RgLlxuICpcbiAqIEJvcnJvd3MgZnJvbSBNb2Rlcm5penIuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVN1ZmZpeCBFdmVudCBuYW1lLCBlLmcuIFwiY2xpY2tcIi5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGV2ZW50IGlzIHN1cHBvcnRlZC5cbiAqIEBpbnRlcm5hbFxuICogQGxpY2Vuc2UgTW9kZXJuaXpyIDMuMC4wcHJlIChDdXN0b20gQnVpbGQpIHwgTUlUXG4gKi9cblxuZnVuY3Rpb24gaXNFdmVudFN1cHBvcnRlZChldmVudE5hbWVTdWZmaXgpIHtcbiAgaWYgKCFjYW5Vc2VET00pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgZXZlbnROYW1lID0gJ29uJyArIGV2ZW50TmFtZVN1ZmZpeDtcbiAgdmFyIGlzU3VwcG9ydGVkID0gKGV2ZW50TmFtZSBpbiBkb2N1bWVudCk7XG5cbiAgaWYgKCFpc1N1cHBvcnRlZCkge1xuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoZXZlbnROYW1lLCAncmV0dXJuOycpO1xuICAgIGlzU3VwcG9ydGVkID0gdHlwZW9mIGVsZW1lbnRbZXZlbnROYW1lXSA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIHJldHVybiBpc1N1cHBvcnRlZDtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJFdmVudHMkMSgpIHtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNoYW5nZScsIFsnY2hhbmdlJywgJ2NsaWNrJywgJ2ZvY3VzaW4nLCAnZm9jdXNvdXQnLCAnaW5wdXQnLCAna2V5ZG93bicsICdrZXl1cCcsICdzZWxlY3Rpb25jaGFuZ2UnXSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBpbnN0LCBuYXRpdmVFdmVudCwgdGFyZ2V0KSB7XG4gIC8vIEZsYWcgdGhpcyBldmVudCBsb29wIGFzIG5lZWRpbmcgc3RhdGUgcmVzdG9yZS5cbiAgZW5xdWV1ZVN0YXRlUmVzdG9yZSh0YXJnZXQpO1xuICB2YXIgbGlzdGVuZXJzID0gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKGluc3QsICdvbkNoYW5nZScpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNFdmVudCgnb25DaGFuZ2UnLCAnY2hhbmdlJywgbnVsbCwgbmF0aXZlRXZlbnQsIHRhcmdldCk7XG4gICAgZGlzcGF0Y2hRdWV1ZS5wdXNoKHtcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzXG4gICAgfSk7XG4gIH1cbn1cbi8qKlxuICogRm9yIElFIHNoaW1zXG4gKi9cblxuXG52YXIgYWN0aXZlRWxlbWVudCA9IG51bGw7XG52YXIgYWN0aXZlRWxlbWVudEluc3QgPSBudWxsO1xuLyoqXG4gKiBTRUNUSU9OOiBoYW5kbGUgYGNoYW5nZWAgZXZlbnRcbiAqL1xuXG5mdW5jdGlvbiBzaG91bGRVc2VDaGFuZ2VFdmVudChlbGVtKSB7XG4gIHZhciBub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gbm9kZU5hbWUgPT09ICdzZWxlY3QnIHx8IG5vZGVOYW1lID09PSAnaW5wdXQnICYmIGVsZW0udHlwZSA9PT0gJ2ZpbGUnO1xufVxuXG5mdW5jdGlvbiBtYW51YWxEaXNwYXRjaENoYW5nZUV2ZW50KG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBkaXNwYXRjaFF1ZXVlID0gW107XG4gIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBhY3RpdmVFbGVtZW50SW5zdCwgbmF0aXZlRXZlbnQsIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSk7IC8vIElmIGNoYW5nZSBhbmQgcHJvcGVydHljaGFuZ2UgYnViYmxlZCwgd2UnZCBqdXN0IGJpbmQgdG8gaXQgbGlrZSBhbGwgdGhlXG4gIC8vIG90aGVyIGV2ZW50cyBhbmQgaGF2ZSBpdCBnbyB0aHJvdWdoIFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci4gU2luY2UgaXRcbiAgLy8gZG9lc24ndCwgd2UgbWFudWFsbHkgbGlzdGVuIGZvciB0aGUgZXZlbnRzIGFuZCBzbyB3ZSBoYXZlIHRvIGVucXVldWUgYW5kXG4gIC8vIHByb2Nlc3MgdGhlIGFic3RyYWN0IGV2ZW50IG1hbnVhbGx5LlxuICAvL1xuICAvLyBCYXRjaGluZyBpcyBuZWNlc3NhcnkgaGVyZSBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCBhbGwgZXZlbnQgaGFuZGxlcnMgcnVuXG4gIC8vIGJlZm9yZSB0aGUgbmV4dCByZXJlbmRlciAoaW5jbHVkaW5nIGV2ZW50IGhhbmRsZXJzIGF0dGFjaGVkIHRvIGFuY2VzdG9yXG4gIC8vIGVsZW1lbnRzIGluc3RlYWQgb2YgZGlyZWN0bHkgb24gdGhlIGlucHV0KS4gV2l0aG91dCB0aGlzLCBjb250cm9sbGVkXG4gIC8vIGNvbXBvbmVudHMgZG9uJ3Qgd29yayBwcm9wZXJseSBpbiBjb25qdW5jdGlvbiB3aXRoIGV2ZW50IGJ1YmJsaW5nIGJlY2F1c2VcbiAgLy8gdGhlIGNvbXBvbmVudCBpcyByZXJlbmRlcmVkIGFuZCB0aGUgdmFsdWUgcmV2ZXJ0ZWQgYmVmb3JlIGFsbCB0aGUgZXZlbnRcbiAgLy8gaGFuZGxlcnMgY2FuIHJ1bi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNzA4LlxuXG4gIGJhdGNoZWRVcGRhdGVzKHJ1bkV2ZW50SW5CYXRjaCwgZGlzcGF0Y2hRdWV1ZSk7XG59XG5cbmZ1bmN0aW9uIHJ1bkV2ZW50SW5CYXRjaChkaXNwYXRjaFF1ZXVlKSB7XG4gIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIDApO1xufVxuXG5mdW5jdGlvbiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCkge1xuICB2YXIgdGFyZ2V0Tm9kZSA9IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCk7XG5cbiAgaWYgKHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKHRhcmdldE5vZGUpKSB7XG4gICAgcmV0dXJuIHRhcmdldEluc3Q7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50KGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCkge1xuICBpZiAoZG9tRXZlbnROYW1lID09PSAnY2hhbmdlJykge1xuICAgIHJldHVybiB0YXJnZXRJbnN0O1xuICB9XG59XG4vKipcbiAqIFNFQ1RJT046IGhhbmRsZSBgaW5wdXRgIGV2ZW50XG4gKi9cblxuXG52YXIgaXNJbnB1dEV2ZW50U3VwcG9ydGVkID0gZmFsc2U7XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgLy8gSUU5IGNsYWltcyB0byBzdXBwb3J0IHRoZSBpbnB1dCBldmVudCBidXQgZmFpbHMgdG8gdHJpZ2dlciBpdCB3aGVuXG4gIC8vIGRlbGV0aW5nIHRleHQsIHNvIHdlIGlnbm9yZSBpdHMgaW5wdXQgZXZlbnRzLlxuICBpc0lucHV0RXZlbnRTdXBwb3J0ZWQgPSBpc0V2ZW50U3VwcG9ydGVkKCdpbnB1dCcpICYmICghZG9jdW1lbnQuZG9jdW1lbnRNb2RlIHx8IGRvY3VtZW50LmRvY3VtZW50TW9kZSA+IDkpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgU3RhcnRzIHRyYWNraW5nIHByb3BlcnR5Y2hhbmdlIGV2ZW50cyBvbiB0aGUgcGFzc2VkLWluIGVsZW1lbnRcbiAqIGFuZCBvdmVycmlkZSB0aGUgdmFsdWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZGlzdGluZ3Vpc2ggdXNlciBldmVudHMgZnJvbVxuICogdmFsdWUgY2hhbmdlcyBpbiBKUy5cbiAqL1xuXG5cbmZ1bmN0aW9uIHN0YXJ0V2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSh0YXJnZXQsIHRhcmdldEluc3QpIHtcbiAgYWN0aXZlRWxlbWVudCA9IHRhcmdldDtcbiAgYWN0aXZlRWxlbWVudEluc3QgPSB0YXJnZXRJbnN0O1xuICBhY3RpdmVFbGVtZW50LmF0dGFjaEV2ZW50KCdvbnByb3BlcnR5Y2hhbmdlJywgaGFuZGxlUHJvcGVydHlDaGFuZ2UpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgUmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXJzIGZyb20gdGhlIGN1cnJlbnRseS10cmFja2VkIGVsZW1lbnQsXG4gKiBpZiBhbnkgZXhpc3RzLlxuICovXG5cblxuZnVuY3Rpb24gc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKSB7XG4gIGlmICghYWN0aXZlRWxlbWVudCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGFjdGl2ZUVsZW1lbnQuZGV0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBoYW5kbGVQcm9wZXJ0eUNoYW5nZSk7XG4gIGFjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICBhY3RpdmVFbGVtZW50SW5zdCA9IG51bGw7XG59XG4vKipcbiAqIChGb3IgSUUgPD05KSBIYW5kbGVzIGEgcHJvcGVydHljaGFuZ2UgZXZlbnQsIHNlbmRpbmcgYSBgY2hhbmdlYCBldmVudCBpZlxuICogdGhlIHZhbHVlIG9mIHRoZSBhY3RpdmUgZWxlbWVudCBoYXMgY2hhbmdlZC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGhhbmRsZVByb3BlcnR5Q2hhbmdlKG5hdGl2ZUV2ZW50KSB7XG4gIGlmIChuYXRpdmVFdmVudC5wcm9wZXJ0eU5hbWUgIT09ICd2YWx1ZScpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKGFjdGl2ZUVsZW1lbnRJbnN0KSkge1xuICAgIG1hbnVhbERpc3BhdGNoQ2hhbmdlRXZlbnQobmF0aXZlRXZlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUV2ZW50c0ZvcklucHV0RXZlbnRQb2x5ZmlsbChkb21FdmVudE5hbWUsIHRhcmdldCwgdGFyZ2V0SW5zdCkge1xuICBpZiAoZG9tRXZlbnROYW1lID09PSAnZm9jdXNpbicpIHtcbiAgICAvLyBJbiBJRTksIHByb3BlcnR5Y2hhbmdlIGZpcmVzIGZvciBtb3N0IGlucHV0IGV2ZW50cyBidXQgaXMgYnVnZ3kgYW5kXG4gICAgLy8gZG9lc24ndCBmaXJlIHdoZW4gdGV4dCBpcyBkZWxldGVkLCBidXQgY29udmVuaWVudGx5LCBzZWxlY3Rpb25jaGFuZ2VcbiAgICAvLyBhcHBlYXJzIHRvIGZpcmUgaW4gYWxsIG9mIHRoZSByZW1haW5pbmcgY2FzZXMgc28gd2UgY2F0Y2ggdGhvc2UgYW5kXG4gICAgLy8gZm9yd2FyZCB0aGUgZXZlbnQgaWYgdGhlIHZhbHVlIGhhcyBjaGFuZ2VkXG4gICAgLy8gSW4gZWl0aGVyIGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gY2FsbCB0aGUgZXZlbnQgaGFuZGxlciBpZiB0aGUgdmFsdWVcbiAgICAvLyBpcyBjaGFuZ2VkIGZyb20gSlMgc28gd2UgcmVkZWZpbmUgYSBzZXR0ZXIgZm9yIGAudmFsdWVgIHRoYXQgdXBkYXRlc1xuICAgIC8vIG91ciBhY3RpdmVFbGVtZW50VmFsdWUgdmFyaWFibGUsIGFsbG93aW5nIHVzIHRvIGlnbm9yZSB0aG9zZSBjaGFuZ2VzXG4gICAgLy9cbiAgICAvLyBzdG9wV2F0Y2hpbmcoKSBzaG91bGQgYmUgYSBub29wIGhlcmUgYnV0IHdlIGNhbGwgaXQganVzdCBpbiBjYXNlIHdlXG4gICAgLy8gbWlzc2VkIGEgYmx1ciBldmVudCBzb21laG93LlxuICAgIHN0b3BXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKCk7XG4gICAgc3RhcnRXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKHRhcmdldCwgdGFyZ2V0SW5zdCk7XG4gIH0gZWxzZSBpZiAoZG9tRXZlbnROYW1lID09PSAnZm9jdXNvdXQnKSB7XG4gICAgc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKTtcbiAgfVxufSAvLyBGb3IgSUU4IGFuZCBJRTkuXG5cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvcklucHV0RXZlbnRQb2x5ZmlsbChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ3NlbGVjdGlvbmNoYW5nZScgfHwgZG9tRXZlbnROYW1lID09PSAna2V5dXAnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ2tleWRvd24nKSB7XG4gICAgLy8gT24gdGhlIHNlbGVjdGlvbmNoYW5nZSBldmVudCwgdGhlIHRhcmdldCBpcyBqdXN0IGRvY3VtZW50IHdoaWNoIGlzbid0XG4gICAgLy8gaGVscGZ1bCBmb3IgdXMgc28ganVzdCBjaGVjayBhY3RpdmVFbGVtZW50IGluc3RlYWQuXG4gICAgLy9cbiAgICAvLyA5OSUgb2YgdGhlIHRpbWUsIGtleWRvd24gYW5kIGtleXVwIGFyZW4ndCBuZWNlc3NhcnkuIElFOCBmYWlscyB0byBmaXJlXG4gICAgLy8gcHJvcGVydHljaGFuZ2Ugb24gdGhlIGZpcnN0IGlucHV0IGV2ZW50IGFmdGVyIHNldHRpbmcgYHZhbHVlYCBmcm9tIGFcbiAgICAvLyBzY3JpcHQgYW5kIGZpcmVzIG9ubHkga2V5ZG93biwga2V5cHJlc3MsIGtleXVwLiBDYXRjaGluZyBrZXl1cCB1c3VhbGx5XG4gICAgLy8gZ2V0cyBpdCBhbmQgY2F0Y2hpbmcga2V5ZG93biBsZXRzIHVzIGZpcmUgYW4gZXZlbnQgZm9yIHRoZSBmaXJzdFxuICAgIC8vIGtleXN0cm9rZSBpZiB1c2VyIGRvZXMgYSBrZXkgcmVwZWF0IChpdCdsbCBiZSBhIGxpdHRsZSBkZWxheWVkOiByaWdodFxuICAgIC8vIGJlZm9yZSB0aGUgc2Vjb25kIGtleXN0cm9rZSkuIE90aGVyIGlucHV0IG1ldGhvZHMgKGUuZy4sIHBhc3RlKSBzZWVtIHRvXG4gICAgLy8gZmlyZSBzZWxlY3Rpb25jaGFuZ2Ugbm9ybWFsbHkuXG4gICAgcmV0dXJuIGdldEluc3RJZlZhbHVlQ2hhbmdlZChhY3RpdmVFbGVtZW50SW5zdCk7XG4gIH1cbn1cbi8qKlxuICogU0VDVElPTjogaGFuZGxlIGBjbGlja2AgZXZlbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHNob3VsZFVzZUNsaWNrRXZlbnQoZWxlbSkge1xuICAvLyBVc2UgdGhlIGBjbGlja2AgZXZlbnQgdG8gZGV0ZWN0IGNoYW5nZXMgdG8gY2hlY2tib3ggYW5kIHJhZGlvIGlucHV0cy5cbiAgLy8gVGhpcyBhcHByb2FjaCB3b3JrcyBhY3Jvc3MgYWxsIGJyb3dzZXJzLCB3aGVyZWFzIGBjaGFuZ2VgIGRvZXMgbm90IGZpcmVcbiAgLy8gdW50aWwgYGJsdXJgIGluIElFOC5cbiAgdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZTtcbiAgcmV0dXJuIG5vZGVOYW1lICYmIG5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbnB1dCcgJiYgKGVsZW0udHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBlbGVtLnR5cGUgPT09ICdyYWRpbycpO1xufVxuXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NsaWNrJykge1xuICAgIHJldHVybiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvcklucHV0T3JDaGFuZ2VFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2lucHV0JyB8fCBkb21FdmVudE5hbWUgPT09ICdjaGFuZ2UnKSB7XG4gICAgcmV0dXJuIGdldEluc3RJZlZhbHVlQ2hhbmdlZCh0YXJnZXRJbnN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKG5vZGUpIHtcbiAgdmFyIHN0YXRlID0gbm9kZS5fd3JhcHBlclN0YXRlO1xuXG4gIGlmICghc3RhdGUgfHwgIXN0YXRlLmNvbnRyb2xsZWQgfHwgbm9kZS50eXBlICE9PSAnbnVtYmVyJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICAvLyBJZiBjb250cm9sbGVkLCBhc3NpZ24gdGhlIHZhbHVlIGF0dHJpYnV0ZSB0byB0aGUgY3VycmVudCB2YWx1ZSBvbiBibHVyXG4gICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsICdudW1iZXInLCBub2RlLnZhbHVlKTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIHBsdWdpbiBjcmVhdGVzIGFuIGBvbkNoYW5nZWAgZXZlbnQgdGhhdCBub3JtYWxpemVzIGNoYW5nZSBldmVudHNcbiAqIGFjcm9zcyBmb3JtIGVsZW1lbnRzLiBUaGlzIGV2ZW50IGZpcmVzIGF0IGEgdGltZSB3aGVuIGl0J3MgcG9zc2libGUgdG9cbiAqIGNoYW5nZSB0aGUgZWxlbWVudCdzIHZhbHVlIHdpdGhvdXQgc2VlaW5nIGEgZmxpY2tlci5cbiAqXG4gKiBTdXBwb3J0ZWQgZWxlbWVudHMgYXJlOlxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxuICogLSB0ZXh0YXJlYVxuICogLSBzZWxlY3RcbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XG4gIHZhciBnZXRUYXJnZXRJbnN0RnVuYywgaGFuZGxlRXZlbnRGdW5jO1xuXG4gIGlmIChzaG91bGRVc2VDaGFuZ2VFdmVudCh0YXJnZXROb2RlKSkge1xuICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50O1xuICB9IGVsc2UgaWYgKGlzVGV4dElucHV0RWxlbWVudCh0YXJnZXROb2RlKSkge1xuICAgIGlmIChpc0lucHV0RXZlbnRTdXBwb3J0ZWQpIHtcbiAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvcklucHV0T3JDaGFuZ2VFdmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgZ2V0VGFyZ2V0SW5zdEZ1bmMgPSBnZXRUYXJnZXRJbnN0Rm9ySW5wdXRFdmVudFBvbHlmaWxsO1xuICAgICAgaGFuZGxlRXZlbnRGdW5jID0gaGFuZGxlRXZlbnRzRm9ySW5wdXRFdmVudFBvbHlmaWxsO1xuICAgIH1cbiAgfSBlbHNlIGlmIChzaG91bGRVc2VDbGlja0V2ZW50KHRhcmdldE5vZGUpKSB7XG4gICAgZ2V0VGFyZ2V0SW5zdEZ1bmMgPSBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudDtcbiAgfVxuXG4gIGlmIChnZXRUYXJnZXRJbnN0RnVuYykge1xuICAgIHZhciBpbnN0ID0gZ2V0VGFyZ2V0SW5zdEZ1bmMoZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0KTtcblxuICAgIGlmIChpbnN0KSB7XG4gICAgICBjcmVhdGVBbmRBY2N1bXVsYXRlQ2hhbmdlRXZlbnQoZGlzcGF0Y2hRdWV1ZSwgaW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFuZGxlRXZlbnRGdW5jKSB7XG4gICAgaGFuZGxlRXZlbnRGdW5jKGRvbUV2ZW50TmFtZSwgdGFyZ2V0Tm9kZSwgdGFyZ2V0SW5zdCk7XG4gIH0gLy8gV2hlbiBibHVycmluZywgc2V0IHRoZSB2YWx1ZSBhdHRyaWJ1dGUgZm9yIG51bWJlciBpbnB1dHNcblxuXG4gIGlmIChkb21FdmVudE5hbWUgPT09ICdmb2N1c291dCcpIHtcbiAgICBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKHRhcmdldE5vZGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzJDIoKSB7XG4gIHJlZ2lzdGVyRGlyZWN0RXZlbnQoJ29uTW91c2VFbnRlcicsIFsnbW91c2VvdXQnLCAnbW91c2VvdmVyJ10pO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KCdvbk1vdXNlTGVhdmUnLCBbJ21vdXNlb3V0JywgJ21vdXNlb3ZlciddKTtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudCgnb25Qb2ludGVyRW50ZXInLCBbJ3BvaW50ZXJvdXQnLCAncG9pbnRlcm92ZXInXSk7XG4gIHJlZ2lzdGVyRGlyZWN0RXZlbnQoJ29uUG9pbnRlckxlYXZlJywgWydwb2ludGVyb3V0JywgJ3BvaW50ZXJvdmVyJ10pO1xufVxuLyoqXG4gKiBGb3IgYWxtb3N0IGV2ZXJ5IGludGVyYWN0aW9uIHdlIGNhcmUgYWJvdXQsIHRoZXJlIHdpbGwgYmUgYm90aCBhIHRvcC1sZXZlbFxuICogYG1vdXNlb3ZlcmAgYW5kIGBtb3VzZW91dGAgZXZlbnQgdGhhdCBvY2N1cnMuIE9ubHkgdXNlIGBtb3VzZW91dGAgc28gdGhhdFxuICogd2UgZG8gbm90IGV4dHJhY3QgZHVwbGljYXRlIGV2ZW50cy4gSG93ZXZlciwgbW92aW5nIHRoZSBtb3VzZSBpbnRvIHRoZVxuICogYnJvd3NlciBmcm9tIG91dHNpZGUgd2lsbCBub3QgZmlyZSBhIGBtb3VzZW91dGAgZXZlbnQuIEluIHRoaXMgY2FzZSwgd2UgdXNlXG4gKiB0aGUgYG1vdXNlb3ZlcmAgdG9wLWxldmVsIGV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEV2ZW50cyQyKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpIHtcbiAgdmFyIGlzT3ZlckV2ZW50ID0gZG9tRXZlbnROYW1lID09PSAnbW91c2VvdmVyJyB8fCBkb21FdmVudE5hbWUgPT09ICdwb2ludGVyb3Zlcic7XG4gIHZhciBpc091dEV2ZW50ID0gZG9tRXZlbnROYW1lID09PSAnbW91c2VvdXQnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdXQnO1xuXG4gIGlmIChpc092ZXJFdmVudCAmJiAhaXNSZXBsYXlpbmdFdmVudChuYXRpdmVFdmVudCkpIHtcbiAgICAvLyBJZiB0aGlzIGlzIGFuIG92ZXIgZXZlbnQgd2l0aCBhIHRhcmdldCwgd2UgbWlnaHQgaGF2ZSBhbHJlYWR5IGRpc3BhdGNoZWRcbiAgICAvLyB0aGUgZXZlbnQgaW4gdGhlIG91dCBldmVudCBvZiB0aGUgb3RoZXIgdGFyZ2V0LiBJZiB0aGlzIGlzIHJlcGxheWVkLFxuICAgIC8vIHRoZW4gaXQncyBiZWNhdXNlIHdlIGNvdWxkbid0IGRpc3BhdGNoIGFnYWluc3QgdGhpcyB0YXJnZXQgcHJldmlvdXNseVxuICAgIC8vIHNvIHdlIGhhdmUgdG8gZG8gaXQgbm93IGluc3RlYWQuXG4gICAgdmFyIHJlbGF0ZWQgPSBuYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0IHx8IG5hdGl2ZUV2ZW50LmZyb21FbGVtZW50O1xuXG4gICAgaWYgKHJlbGF0ZWQpIHtcbiAgICAgIC8vIElmIHRoZSByZWxhdGVkIG5vZGUgaXMgbWFuYWdlZCBieSBSZWFjdCwgd2UgY2FuIGFzc3VtZSB0aGF0IHdlIGhhdmVcbiAgICAgIC8vIGFscmVhZHkgZGlzcGF0Y2hlZCB0aGUgY29ycmVzcG9uZGluZyBldmVudHMgZHVyaW5nIGl0cyBtb3VzZW91dC5cbiAgICAgIGlmIChnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShyZWxhdGVkKSB8fCBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChyZWxhdGVkKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCFpc091dEV2ZW50ICYmICFpc092ZXJFdmVudCkge1xuICAgIC8vIE11c3Qgbm90IGJlIGEgbW91c2Ugb3IgcG9pbnRlciBpbiBvciBvdXQgLSBpZ25vcmluZy5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgd2luOyAvLyBUT0RPOiB3aHkgaXMgdGhpcyBudWxsYWJsZSBpbiB0aGUgdHlwZXMgYnV0IHdlIHJlYWQgZnJvbSBpdD9cblxuICBpZiAobmF0aXZlRXZlbnRUYXJnZXQud2luZG93ID09PSBuYXRpdmVFdmVudFRhcmdldCkge1xuICAgIC8vIGBuYXRpdmVFdmVudFRhcmdldGAgaXMgcHJvYmFibHkgYSB3aW5kb3cgb2JqZWN0LlxuICAgIHdpbiA9IG5hdGl2ZUV2ZW50VGFyZ2V0O1xuICB9IGVsc2Uge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgd2h5IGBvd25lckRvY3VtZW50YCBpcyBzb21ldGltZXMgdW5kZWZpbmVkIGluIElFOC5cbiAgICB2YXIgZG9jID0gbmF0aXZlRXZlbnRUYXJnZXQub3duZXJEb2N1bWVudDtcblxuICAgIGlmIChkb2MpIHtcbiAgICAgIHdpbiA9IGRvYy5kZWZhdWx0VmlldyB8fCBkb2MucGFyZW50V2luZG93O1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW4gPSB3aW5kb3c7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZyb207XG4gIHZhciB0bztcblxuICBpZiAoaXNPdXRFdmVudCkge1xuICAgIHZhciBfcmVsYXRlZCA9IG5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgbmF0aXZlRXZlbnQudG9FbGVtZW50O1xuXG4gICAgZnJvbSA9IHRhcmdldEluc3Q7XG4gICAgdG8gPSBfcmVsYXRlZCA/IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKF9yZWxhdGVkKSA6IG51bGw7XG5cbiAgICBpZiAodG8gIT09IG51bGwpIHtcbiAgICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodG8pO1xuXG4gICAgICBpZiAodG8gIT09IG5lYXJlc3RNb3VudGVkIHx8IHRvLnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiB0by50YWcgIT09IEhvc3RUZXh0KSB7XG4gICAgICAgIHRvID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gTW92aW5nIHRvIGEgbm9kZSBmcm9tIG91dHNpZGUgdGhlIHdpbmRvdy5cbiAgICBmcm9tID0gbnVsbDtcbiAgICB0byA9IHRhcmdldEluc3Q7XG4gIH1cblxuICBpZiAoZnJvbSA9PT0gdG8pIHtcbiAgICAvLyBOb3RoaW5nIHBlcnRhaW5zIHRvIG91ciBtYW5hZ2VkIGNvbXBvbmVudHMuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gIHZhciBsZWF2ZUV2ZW50VHlwZSA9ICdvbk1vdXNlTGVhdmUnO1xuICB2YXIgZW50ZXJFdmVudFR5cGUgPSAnb25Nb3VzZUVudGVyJztcbiAgdmFyIGV2ZW50VHlwZVByZWZpeCA9ICdtb3VzZSc7XG5cbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdXQnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdmVyJykge1xuICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1BvaW50ZXJFdmVudDtcbiAgICBsZWF2ZUV2ZW50VHlwZSA9ICdvblBvaW50ZXJMZWF2ZSc7XG4gICAgZW50ZXJFdmVudFR5cGUgPSAnb25Qb2ludGVyRW50ZXInO1xuICAgIGV2ZW50VHlwZVByZWZpeCA9ICdwb2ludGVyJztcbiAgfVxuXG4gIHZhciBmcm9tTm9kZSA9IGZyb20gPT0gbnVsbCA/IHdpbiA6IGdldE5vZGVGcm9tSW5zdGFuY2UoZnJvbSk7XG4gIHZhciB0b05vZGUgPSB0byA9PSBudWxsID8gd2luIDogZ2V0Tm9kZUZyb21JbnN0YW5jZSh0byk7XG4gIHZhciBsZWF2ZSA9IG5ldyBTeW50aGV0aWNFdmVudEN0b3IobGVhdmVFdmVudFR5cGUsIGV2ZW50VHlwZVByZWZpeCArICdsZWF2ZScsIGZyb20sIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIGxlYXZlLnRhcmdldCA9IGZyb21Ob2RlO1xuICBsZWF2ZS5yZWxhdGVkVGFyZ2V0ID0gdG9Ob2RlO1xuICB2YXIgZW50ZXIgPSBudWxsOyAvLyBXZSBzaG91bGQgb25seSBwcm9jZXNzIHRoaXMgbmF0aXZlRXZlbnQgaWYgd2UgYXJlIHByb2Nlc3NpbmdcbiAgLy8gdGhlIGZpcnN0IGFuY2VzdG9yLiBOZXh0IHRpbWUsIHdlIHdpbGwgaWdub3JlIHRoZSBldmVudC5cblxuICB2YXIgbmF0aXZlVGFyZ2V0SW5zdCA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKG5hdGl2ZUV2ZW50VGFyZ2V0KTtcblxuICBpZiAobmF0aXZlVGFyZ2V0SW5zdCA9PT0gdGFyZ2V0SW5zdCkge1xuICAgIHZhciBlbnRlckV2ZW50ID0gbmV3IFN5bnRoZXRpY0V2ZW50Q3RvcihlbnRlckV2ZW50VHlwZSwgZXZlbnRUeXBlUHJlZml4ICsgJ2VudGVyJywgdG8sIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZW50ZXJFdmVudC50YXJnZXQgPSB0b05vZGU7XG4gICAgZW50ZXJFdmVudC5yZWxhdGVkVGFyZ2V0ID0gZnJvbU5vZGU7XG4gICAgZW50ZXIgPSBlbnRlckV2ZW50O1xuICB9XG5cbiAgYWNjdW11bGF0ZUVudGVyTGVhdmVUd29QaGFzZUxpc3RlbmVycyhkaXNwYXRjaFF1ZXVlLCBsZWF2ZSwgZW50ZXIsIGZyb20sIHRvKTtcbn1cblxuLyoqXG4gKiBpbmxpbmVkIE9iamVjdC5pcyBwb2x5ZmlsbCB0byBhdm9pZCByZXF1aXJpbmcgY29uc3VtZXJzIHNoaXAgdGhlaXIgb3duXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXNcbiAqL1xuZnVuY3Rpb24gaXMoeCwgeSkge1xuICByZXR1cm4geCA9PT0geSAmJiAoeCAhPT0gMCB8fCAxIC8geCA9PT0gMSAvIHkpIHx8IHggIT09IHggJiYgeSAhPT0geSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxuICA7XG59XG5cbnZhciBvYmplY3RJcyA9IHR5cGVvZiBPYmplY3QuaXMgPT09ICdmdW5jdGlvbicgPyBPYmplY3QuaXMgOiBpcztcblxuLyoqXG4gKiBQZXJmb3JtcyBlcXVhbGl0eSBieSBpdGVyYXRpbmcgdGhyb3VnaCBrZXlzIG9uIGFuIG9iamVjdCBhbmQgcmV0dXJuaW5nIGZhbHNlXG4gKiB3aGVuIGFueSBrZXkgaGFzIHZhbHVlcyB3aGljaCBhcmUgbm90IHN0cmljdGx5IGVxdWFsIGJldHdlZW4gdGhlIGFyZ3VtZW50cy5cbiAqIFJldHVybnMgdHJ1ZSB3aGVuIHRoZSB2YWx1ZXMgb2YgYWxsIGtleXMgYXJlIHN0cmljdGx5IGVxdWFsLlxuICovXG5cbmZ1bmN0aW9uIHNoYWxsb3dFcXVhbChvYmpBLCBvYmpCKSB7XG4gIGlmIChvYmplY3RJcyhvYmpBLCBvYmpCKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBvYmpBICE9PSAnb2JqZWN0JyB8fCBvYmpBID09PSBudWxsIHx8IHR5cGVvZiBvYmpCICE9PSAnb2JqZWN0JyB8fCBvYmpCID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGtleXNBID0gT2JqZWN0LmtleXMob2JqQSk7XG4gIHZhciBrZXlzQiA9IE9iamVjdC5rZXlzKG9iakIpO1xuXG4gIGlmIChrZXlzQS5sZW5ndGggIT09IGtleXNCLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBUZXN0IGZvciBBJ3Mga2V5cyBkaWZmZXJlbnQgZnJvbSBCLlxuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzQS5sZW5ndGg7IGkrKykge1xuICAgIHZhciBjdXJyZW50S2V5ID0ga2V5c0FbaV07XG5cbiAgICBpZiAoIWhhc093blByb3BlcnR5LmNhbGwob2JqQiwgY3VycmVudEtleSkgfHwgIW9iamVjdElzKG9iakFbY3VycmVudEtleV0sIG9iakJbY3VycmVudEtleV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogR2l2ZW4gYW55IG5vZGUgcmV0dXJuIHRoZSBmaXJzdCBsZWFmIG5vZGUgd2l0aG91dCBjaGlsZHJlbi5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9XG4gKi9cblxuZnVuY3Rpb24gZ2V0TGVhZk5vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSAmJiBub2RlLmZpcnN0Q2hpbGQpIHtcbiAgICBub2RlID0gbm9kZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4vKipcbiAqIEdldCB0aGUgbmV4dCBzaWJsaW5nIHdpdGhpbiBhIGNvbnRhaW5lci4gVGhpcyB3aWxsIHdhbGsgdXAgdGhlXG4gKiBET00gaWYgYSBub2RlJ3Mgc2libGluZ3MgaGF2ZSBiZWVuIGV4aGF1c3RlZC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4gez9ET01FbGVtZW50fERPTVRleHROb2RlfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0U2libGluZ05vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5leHRTaWJsaW5nKSB7XG4gICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZztcbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlO1xuICB9XG59XG4vKipcbiAqIEdldCBvYmplY3QgZGVzY3JpYmluZyB0aGUgbm9kZXMgd2hpY2ggY29udGFpbiBjaGFyYWN0ZXJzIGF0IG9mZnNldC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IHJvb3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KHJvb3QsIG9mZnNldCkge1xuICB2YXIgbm9kZSA9IGdldExlYWZOb2RlKHJvb3QpO1xuICB2YXIgbm9kZVN0YXJ0ID0gMDtcbiAgdmFyIG5vZGVFbmQgPSAwO1xuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgbm9kZUVuZCA9IG5vZGVTdGFydCArIG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuXG4gICAgICBpZiAobm9kZVN0YXJ0IDw9IG9mZnNldCAmJiBub2RlRW5kID49IG9mZnNldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgICAgb2Zmc2V0OiBvZmZzZXQgLSBub2RlU3RhcnRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgbm9kZVN0YXJ0ID0gbm9kZUVuZDtcbiAgICB9XG5cbiAgICBub2RlID0gZ2V0TGVhZk5vZGUoZ2V0U2libGluZ05vZGUobm9kZSkpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBvdXRlck5vZGVcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0cyhvdXRlck5vZGUpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBvdXRlck5vZGUub3duZXJEb2N1bWVudDtcbiAgdmFyIHdpbiA9IG93bmVyRG9jdW1lbnQgJiYgb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG4gIHZhciBzZWxlY3Rpb24gPSB3aW4uZ2V0U2VsZWN0aW9uICYmIHdpbi5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGFuY2hvck5vZGUgPSBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXG4gICAgICBmb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXNOb2RlLFxuICAgICAgZm9jdXNPZmZzZXQgPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQ7IC8vIEluIEZpcmVmb3gsIGFuY2hvck5vZGUgYW5kIGZvY3VzTm9kZSBjYW4gYmUgXCJhbm9ueW1vdXMgZGl2c1wiLCBlLmcuIHRoZVxuICAvLyB1cC9kb3duIGJ1dHRvbnMgb24gYW4gPGlucHV0IHR5cGU9XCJudW1iZXJcIj4uIEFub255bW91cyBkaXZzIGRvIG5vdCBzZWVtIHRvXG4gIC8vIGV4cG9zZSBwcm9wZXJ0aWVzLCB0cmlnZ2VyaW5nIGEgXCJQZXJtaXNzaW9uIGRlbmllZCBlcnJvclwiIGlmIGFueSBvZiBpdHNcbiAgLy8gcHJvcGVydGllcyBhcmUgYWNjZXNzZWQuIFRoZSBvbmx5IHNlZW1pbmdseSBwb3NzaWJsZSB3YXkgdG8gYXZvaWQgZXJyb3JpbmdcbiAgLy8gaXMgdG8gYWNjZXNzIGEgcHJvcGVydHkgdGhhdCB0eXBpY2FsbHkgd29ya3MgZm9yIG5vbi1hbm9ueW1vdXMgZGl2cyBhbmRcbiAgLy8gY2F0Y2ggYW55IGVycm9yIHRoYXQgbWF5IG90aGVyd2lzZSBhcmlzZS4gU2VlXG4gIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQyN1xuXG4gIHRyeSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLWV4cHJlc3Npb25zICovXG4gICAgYW5jaG9yTm9kZS5ub2RlVHlwZTtcbiAgICBmb2N1c05vZGUubm9kZVR5cGU7XG4gICAgLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtZXhwcmVzc2lvbnMgKi9cbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KTtcbn1cbi8qKlxuICogUmV0dXJucyB7c3RhcnQsIGVuZH0gd2hlcmUgYHN0YXJ0YCBpcyB0aGUgY2hhcmFjdGVyL2NvZGVwb2ludCBpbmRleCBvZlxuICogKGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCkgd2l0aGluIHRoZSB0ZXh0Q29udGVudCBvZiBgb3V0ZXJOb2RlYCwgYW5kXG4gKiBgZW5kYCBpcyB0aGUgaW5kZXggb2YgKGZvY3VzTm9kZSwgZm9jdXNPZmZzZXQpLlxuICpcbiAqIFJldHVybnMgbnVsbCBpZiB5b3UgcGFzcyBpbiBnYXJiYWdlIGlucHV0IGJ1dCB3ZSBzaG91bGQgcHJvYmFibHkganVzdCBjcmFzaC5cbiAqXG4gKiBFeHBvcnRlZCBvbmx5IGZvciB0ZXN0aW5nLlxuICovXG5cbmZ1bmN0aW9uIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KSB7XG4gIHZhciBsZW5ndGggPSAwO1xuICB2YXIgc3RhcnQgPSAtMTtcbiAgdmFyIGVuZCA9IC0xO1xuICB2YXIgaW5kZXhXaXRoaW5BbmNob3IgPSAwO1xuICB2YXIgaW5kZXhXaXRoaW5Gb2N1cyA9IDA7XG4gIHZhciBub2RlID0gb3V0ZXJOb2RlO1xuICB2YXIgcGFyZW50Tm9kZSA9IG51bGw7XG5cbiAgb3V0ZXI6IHdoaWxlICh0cnVlKSB7XG4gICAgdmFyIG5leHQgPSBudWxsO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlID09PSBhbmNob3JOb2RlICYmIChhbmNob3JPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aCArIGFuY2hvck9mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZvY3VzTm9kZSAmJiAoZm9jdXNPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBlbmQgPSBsZW5ndGggKyBmb2N1c09mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgICBsZW5ndGggKz0gbm9kZS5ub2RlVmFsdWUubGVuZ3RoO1xuICAgICAgfVxuXG4gICAgICBpZiAoKG5leHQgPSBub2RlLmZpcnN0Q2hpbGQpID09PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSAvLyBNb3ZpbmcgZnJvbSBgbm9kZWAgdG8gaXRzIGZpcnN0IGNoaWxkIGBuZXh0YC5cblxuXG4gICAgICBwYXJlbnROb2RlID0gbm9kZTtcbiAgICAgIG5vZGUgPSBuZXh0O1xuICAgIH1cblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAobm9kZSA9PT0gb3V0ZXJOb2RlKSB7XG4gICAgICAgIC8vIElmIGBvdXRlck5vZGVgIGhhcyBjaGlsZHJlbiwgdGhpcyBpcyBhbHdheXMgdGhlIHNlY29uZCB0aW1lIHZpc2l0aW5nXG4gICAgICAgIC8vIGl0LiBJZiBpdCBoYXMgbm8gY2hpbGRyZW4sIHRoaXMgaXMgc3RpbGwgdGhlIGZpcnN0IGxvb3AsIGFuZCB0aGUgb25seVxuICAgICAgICAvLyB2YWxpZCBzZWxlY3Rpb24gaXMgYW5jaG9yTm9kZSBhbmQgZm9jdXNOb2RlIGJvdGggZXF1YWwgdG8gdGhpcyBub2RlXG4gICAgICAgIC8vIGFuZCBib3RoIG9mZnNldHMgMCwgaW4gd2hpY2ggY2FzZSB3ZSB3aWxsIGhhdmUgaGFuZGxlZCBhYm92ZS5cbiAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJlbnROb2RlID09PSBhbmNob3JOb2RlICYmICsraW5kZXhXaXRoaW5BbmNob3IgPT09IGFuY2hvck9mZnNldCkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudE5vZGUgPT09IGZvY3VzTm9kZSAmJiArK2luZGV4V2l0aGluRm9jdXMgPT09IGZvY3VzT2Zmc2V0KSB7XG4gICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKChuZXh0ID0gbm9kZS5uZXh0U2libGluZykgIT09IG51bGwpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBwYXJlbnROb2RlO1xuICAgICAgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcbiAgICB9IC8vIE1vdmluZyBmcm9tIGBub2RlYCB0byBpdHMgbmV4dCBzaWJsaW5nIGBuZXh0YC5cblxuXG4gICAgbm9kZSA9IG5leHQ7XG4gIH1cblxuICBpZiAoc3RhcnQgPT09IC0xIHx8IGVuZCA9PT0gLTEpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIChXb3VsZCBoYXBwZW4gaWYgdGhlIGFuY2hvci9mb2N1cyBub2RlcyBhcmVuJ3RcbiAgICAvLyBhY3R1YWxseSBpbnNpZGUgdGhlIHBhc3NlZC1pbiBub2RlLilcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc3RhcnQ6IHN0YXJ0LFxuICAgIGVuZDogZW5kXG4gIH07XG59XG4vKipcbiAqIEluIG1vZGVybiBub24tSUUgYnJvd3NlcnMsIHdlIGNhbiBzdXBwb3J0IGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmRcbiAqIHNlbGVjdGlvbnMuXG4gKlxuICogTm90ZTogSUUxMCsgc3VwcG9ydHMgdGhlIFNlbGVjdGlvbiBvYmplY3QsIGJ1dCBpdCBkb2VzIG5vdCBzdXBwb3J0XG4gKiB0aGUgYGV4dGVuZGAgbWV0aG9kLCB3aGljaCBtZWFucyB0aGF0IGV2ZW4gaW4gbW9kZXJuIElFLCBpdCdzIG5vdCBwb3NzaWJsZVxuICogdG8gcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBiYWNrd2FyZCBzZWxlY3Rpb24uIFRodXMsIGZvciBhbGwgSUVcbiAqIHZlcnNpb25zLCB3ZSB1c2UgdGhlIG9sZCBJRSBBUEkgdG8gY3JlYXRlIG91ciBzZWxlY3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IG9mZnNldHNcbiAqL1xuXG5mdW5jdGlvbiBzZXRPZmZzZXRzKG5vZGUsIG9mZnNldHMpIHtcbiAgdmFyIGRvYyA9IG5vZGUub3duZXJEb2N1bWVudCB8fCBkb2N1bWVudDtcbiAgdmFyIHdpbiA9IGRvYyAmJiBkb2MuZGVmYXVsdFZpZXcgfHwgd2luZG93OyAvLyBFZGdlIGZhaWxzIHdpdGggXCJPYmplY3QgZXhwZWN0ZWRcIiBpbiBzb21lIHNjZW5hcmlvcy5cbiAgLy8gKEZvciBpbnN0YW5jZTogVGlueU1DRSBlZGl0b3IgdXNlZCBpbiBhIGxpc3QgY29tcG9uZW50IHRoYXQgc3VwcG9ydHMgcGFzdGluZyB0byBhZGQgbW9yZSxcbiAgLy8gZmFpbHMgd2hlbiBwYXN0aW5nIDEwMCsgaXRlbXMpXG5cbiAgaWYgKCF3aW4uZ2V0U2VsZWN0aW9uKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcbiAgdmFyIGxlbmd0aCA9IG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuICB2YXIgc3RhcnQgPSBNYXRoLm1pbihvZmZzZXRzLnN0YXJ0LCBsZW5ndGgpO1xuICB2YXIgZW5kID0gb2Zmc2V0cy5lbmQgPT09IHVuZGVmaW5lZCA/IHN0YXJ0IDogTWF0aC5taW4ob2Zmc2V0cy5lbmQsIGxlbmd0aCk7IC8vIElFIDExIHVzZXMgbW9kZXJuIHNlbGVjdGlvbiwgYnV0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZXh0ZW5kIG1ldGhvZC5cbiAgLy8gRmxpcCBiYWNrd2FyZCBzZWxlY3Rpb25zLCBzbyB3ZSBjYW4gc2V0IHdpdGggYSBzaW5nbGUgcmFuZ2UuXG5cbiAgaWYgKCFzZWxlY3Rpb24uZXh0ZW5kICYmIHN0YXJ0ID4gZW5kKSB7XG4gICAgdmFyIHRlbXAgPSBlbmQ7XG4gICAgZW5kID0gc3RhcnQ7XG4gICAgc3RhcnQgPSB0ZW1wO1xuICB9XG5cbiAgdmFyIHN0YXJ0TWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBzdGFydCk7XG4gIHZhciBlbmRNYXJrZXIgPSBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KG5vZGUsIGVuZCk7XG5cbiAgaWYgKHN0YXJ0TWFya2VyICYmIGVuZE1hcmtlcikge1xuICAgIGlmIChzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMSAmJiBzZWxlY3Rpb24uYW5jaG9yTm9kZSA9PT0gc3RhcnRNYXJrZXIubm9kZSAmJiBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0ID09PSBzdGFydE1hcmtlci5vZmZzZXQgJiYgc2VsZWN0aW9uLmZvY3VzTm9kZSA9PT0gZW5kTWFya2VyLm5vZGUgJiYgc2VsZWN0aW9uLmZvY3VzT2Zmc2V0ID09PSBlbmRNYXJrZXIub2Zmc2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHJhbmdlID0gZG9jLmNyZWF0ZVJhbmdlKCk7XG4gICAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnRNYXJrZXIubm9kZSwgc3RhcnRNYXJrZXIub2Zmc2V0KTtcbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG5cbiAgICBpZiAoc3RhcnQgPiBlbmQpIHtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgICBzZWxlY3Rpb24uZXh0ZW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmFuZ2Uuc2V0RW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzVGV4dE5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm5vZGVUeXBlID09PSBURVhUX05PREU7XG59XG5cbmZ1bmN0aW9uIGNvbnRhaW5zTm9kZShvdXRlck5vZGUsIGlubmVyTm9kZSkge1xuICBpZiAoIW91dGVyTm9kZSB8fCAhaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKG91dGVyTm9kZSA9PT0gaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAoaXNUZXh0Tm9kZShvdXRlck5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUoaW5uZXJOb2RlKSkge1xuICAgIHJldHVybiBjb250YWluc05vZGUob3V0ZXJOb2RlLCBpbm5lck5vZGUucGFyZW50Tm9kZSk7XG4gIH0gZWxzZSBpZiAoJ2NvbnRhaW5zJyBpbiBvdXRlck5vZGUpIHtcbiAgICByZXR1cm4gb3V0ZXJOb2RlLmNvbnRhaW5zKGlubmVyTm9kZSk7XG4gIH0gZWxzZSBpZiAob3V0ZXJOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSB7XG4gICAgcmV0dXJuICEhKG91dGVyTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpbm5lck5vZGUpICYgMTYpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0luRG9jdW1lbnQobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm93bmVyRG9jdW1lbnQgJiYgY29udGFpbnNOb2RlKG5vZGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIG5vZGUpO1xufVxuXG5mdW5jdGlvbiBpc1NhbWVPcmlnaW5GcmFtZShpZnJhbWUpIHtcbiAgdHJ5IHtcbiAgICAvLyBBY2Nlc3NpbmcgdGhlIGNvbnRlbnREb2N1bWVudCBvZiBhIEhUTUxJZnJhbWVFbGVtZW50IGNhbiBjYXVzZSB0aGUgYnJvd3NlclxuICAgIC8vIHRvIHRocm93LCBlLmcuIGlmIGl0IGhhcyBhIGNyb3NzLW9yaWdpbiBzcmMgYXR0cmlidXRlLlxuICAgIC8vIFNhZmFyaSB3aWxsIHNob3cgYW4gZXJyb3IgaW4gdGhlIGNvbnNvbGUgd2hlbiB0aGUgYWNjZXNzIHJlc3VsdHMgaW4gXCJCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW5cIi4gZS5nOlxuICAgIC8vIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gICAgLy8gQSBzYWZldHkgd2F5IGlzIHRvIGFjY2VzcyBvbmUgb2YgdGhlIGNyb3NzIG9yaWdpbiBwcm9wZXJ0aWVzOiBXaW5kb3cgb3IgTG9jYXRpb25cbiAgICAvLyBXaGljaCBtaWdodCByZXN1bHQgaW4gXCJTZWN1cml0eUVycm9yXCIgRE9NIEV4Y2VwdGlvbiBhbmQgaXQgaXMgY29tcGF0aWJsZSB0byBTYWZhcmkuXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNpbnRlZ3JhdGlvbi13aXRoLWlkbFxuICAgIHJldHVybiB0eXBlb2YgaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZiA9PT0gJ3N0cmluZyc7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVFbGVtZW50RGVlcCgpIHtcbiAgdmFyIHdpbiA9IHdpbmRvdztcbiAgdmFyIGVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KCk7XG5cbiAgd2hpbGUgKGVsZW1lbnQgaW5zdGFuY2VvZiB3aW4uSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICBpZiAoaXNTYW1lT3JpZ2luRnJhbWUoZWxlbWVudCkpIHtcbiAgICAgIHdpbiA9IGVsZW1lbnQuY29udGVudFdpbmRvdztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZWxlbWVudCA9IGdldEFjdGl2ZUVsZW1lbnQod2luLmRvY3VtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxuLyoqXG4gKiBAUmVhY3RJbnB1dFNlbGVjdGlvbjogUmVhY3QgaW5wdXQgc2VsZWN0aW9uIG1vZHVsZS4gQmFzZWQgb24gU2VsZWN0aW9uLmpzLFxuICogYnV0IG1vZGlmaWVkIHRvIGJlIHN1aXRhYmxlIGZvciByZWFjdCBhbmQgaGFzIGEgY291cGxlIG9mIGJ1ZyBmaXhlcyAoZG9lc24ndFxuICogYXNzdW1lIGJ1dHRvbnMgaGF2ZSByYW5nZSBzZWxlY3Rpb25zIGFsbG93ZWQpLlxuICogSW5wdXQgc2VsZWN0aW9uIG1vZHVsZSBmb3IgUmVhY3QuXG4gKi9cblxuLyoqXG4gKiBAaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzOiB3ZSBnZXQgdGhlIGVsZW1lbnQgdHlwZXMgdGhhdCBzdXBwb3J0IHNlbGVjdGlvblxuICogZnJvbSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkby1ub3QtYXBwbHksIGxvb2tpbmcgYXQgYHNlbGVjdGlvblN0YXJ0YFxuICogYW5kIGBzZWxlY3Rpb25FbmRgIHJvd3MuXG4gKi9cblxuXG5mdW5jdGlvbiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMoZWxlbSkge1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtICYmIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgKG5vZGVOYW1lID09PSAnaW5wdXQnICYmIChlbGVtLnR5cGUgPT09ICd0ZXh0JyB8fCBlbGVtLnR5cGUgPT09ICdzZWFyY2gnIHx8IGVsZW0udHlwZSA9PT0gJ3RlbCcgfHwgZWxlbS50eXBlID09PSAndXJsJyB8fCBlbGVtLnR5cGUgPT09ICdwYXNzd29yZCcpIHx8IG5vZGVOYW1lID09PSAndGV4dGFyZWEnIHx8IGVsZW0uY29udGVudEVkaXRhYmxlID09PSAndHJ1ZScpO1xufVxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKSB7XG4gIHZhciBmb2N1c2VkRWxlbSA9IGdldEFjdGl2ZUVsZW1lbnREZWVwKCk7XG4gIHJldHVybiB7XG4gICAgZm9jdXNlZEVsZW06IGZvY3VzZWRFbGVtLFxuICAgIHNlbGVjdGlvblJhbmdlOiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMoZm9jdXNlZEVsZW0pID8gZ2V0U2VsZWN0aW9uKGZvY3VzZWRFbGVtKSA6IG51bGxcbiAgfTtcbn1cbi8qKlxuICogQHJlc3RvcmVTZWxlY3Rpb246IElmIGFueSBzZWxlY3Rpb24gaW5mb3JtYXRpb24gd2FzIHBvdGVudGlhbGx5IGxvc3QsXG4gKiByZXN0b3JlIGl0LiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHBlcmZvcm1pbmcgb3BlcmF0aW9ucyB0aGF0IGNvdWxkIHJlbW92ZSBkb21cbiAqIG5vZGVzIGFuZCBwbGFjZSB0aGVtIGJhY2sgaW4sIHJlc3VsdGluZyBpbiBmb2N1cyBiZWluZyBsb3N0LlxuICovXG5cbmZ1bmN0aW9uIHJlc3RvcmVTZWxlY3Rpb24ocHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbikge1xuICB2YXIgY3VyRm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xuICB2YXIgcHJpb3JGb2N1c2VkRWxlbSA9IHByaW9yU2VsZWN0aW9uSW5mb3JtYXRpb24uZm9jdXNlZEVsZW07XG4gIHZhciBwcmlvclNlbGVjdGlvblJhbmdlID0gcHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbi5zZWxlY3Rpb25SYW5nZTtcblxuICBpZiAoY3VyRm9jdXNlZEVsZW0gIT09IHByaW9yRm9jdXNlZEVsZW0gJiYgaXNJbkRvY3VtZW50KHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgaWYgKHByaW9yU2VsZWN0aW9uUmFuZ2UgIT09IG51bGwgJiYgaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzKHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgICBzZXRTZWxlY3Rpb24ocHJpb3JGb2N1c2VkRWxlbSwgcHJpb3JTZWxlY3Rpb25SYW5nZSk7XG4gICAgfSAvLyBGb2N1c2luZyBhIG5vZGUgY2FuIGNoYW5nZSB0aGUgc2Nyb2xsIHBvc2l0aW9uLCB3aGljaCBpcyB1bmRlc2lyYWJsZVxuXG5cbiAgICB2YXIgYW5jZXN0b3JzID0gW107XG4gICAgdmFyIGFuY2VzdG9yID0gcHJpb3JGb2N1c2VkRWxlbTtcblxuICAgIHdoaWxlIChhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudE5vZGUpIHtcbiAgICAgIGlmIChhbmNlc3Rvci5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIGFuY2VzdG9ycy5wdXNoKHtcbiAgICAgICAgICBlbGVtZW50OiBhbmNlc3RvcixcbiAgICAgICAgICBsZWZ0OiBhbmNlc3Rvci5zY3JvbGxMZWZ0LFxuICAgICAgICAgIHRvcDogYW5jZXN0b3Iuc2Nyb2xsVG9wXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5jZXN0b3JzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaW5mbyA9IGFuY2VzdG9yc1tpXTtcbiAgICAgIGluZm8uZWxlbWVudC5zY3JvbGxMZWZ0ID0gaW5mby5sZWZ0O1xuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbFRvcCA9IGluZm8udG9wO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBAZ2V0U2VsZWN0aW9uOiBHZXRzIHRoZSBzZWxlY3Rpb24gYm91bmRzIG9mIGEgZm9jdXNlZCB0ZXh0YXJlYSwgaW5wdXQgb3JcbiAqIGNvbnRlbnRFZGl0YWJsZSBub2RlLlxuICogLUBpbnB1dDogTG9vayB1cCBzZWxlY3Rpb24gYm91bmRzIG9mIHRoaXMgaW5wdXRcbiAqIC1AcmV0dXJuIHtzdGFydDogc2VsZWN0aW9uU3RhcnQsIGVuZDogc2VsZWN0aW9uRW5kfVxuICovXG5cbmZ1bmN0aW9uIGdldFNlbGVjdGlvbihpbnB1dCkge1xuICB2YXIgc2VsZWN0aW9uO1xuXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XG4gICAgLy8gTW9kZXJuIGJyb3dzZXIgd2l0aCBpbnB1dCBvciB0ZXh0YXJlYS5cbiAgICBzZWxlY3Rpb24gPSB7XG4gICAgICBzdGFydDogaW5wdXQuc2VsZWN0aW9uU3RhcnQsXG4gICAgICBlbmQ6IGlucHV0LnNlbGVjdGlvbkVuZFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gQ29udGVudCBlZGl0YWJsZSBvciBvbGQgSUUgdGV4dGFyZWEuXG4gICAgc2VsZWN0aW9uID0gZ2V0T2Zmc2V0cyhpbnB1dCk7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0aW9uIHx8IHtcbiAgICBzdGFydDogMCxcbiAgICBlbmQ6IDBcbiAgfTtcbn1cbi8qKlxuICogQHNldFNlbGVjdGlvbjogU2V0cyB0aGUgc2VsZWN0aW9uIGJvdW5kcyBvZiBhIHRleHRhcmVhIG9yIGlucHV0IGFuZCBmb2N1c2VzXG4gKiB0aGUgaW5wdXQuXG4gKiAtQGlucHV0ICAgICBTZXQgc2VsZWN0aW9uIGJvdW5kcyBvZiB0aGlzIGlucHV0IG9yIHRleHRhcmVhXG4gKiAtQG9mZnNldHMgICBPYmplY3Qgb2Ygc2FtZSBmb3JtIHRoYXQgaXMgcmV0dXJuZWQgZnJvbSBnZXQqXG4gKi9cblxuZnVuY3Rpb24gc2V0U2VsZWN0aW9uKGlucHV0LCBvZmZzZXRzKSB7XG4gIHZhciBzdGFydCA9IG9mZnNldHMuc3RhcnQ7XG4gIHZhciBlbmQgPSBvZmZzZXRzLmVuZDtcblxuICBpZiAoZW5kID09PSB1bmRlZmluZWQpIHtcbiAgICBlbmQgPSBzdGFydDtcbiAgfVxuXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XG4gICAgaW5wdXQuc2VsZWN0aW9uU3RhcnQgPSBzdGFydDtcbiAgICBpbnB1dC5zZWxlY3Rpb25FbmQgPSBNYXRoLm1pbihlbmQsIGlucHV0LnZhbHVlLmxlbmd0aCk7XG4gIH0gZWxzZSB7XG4gICAgc2V0T2Zmc2V0cyhpbnB1dCwgb2Zmc2V0cyk7XG4gIH1cbn1cblxudmFyIHNraXBTZWxlY3Rpb25DaGFuZ2VFdmVudCA9IGNhblVzZURPTSAmJiAnZG9jdW1lbnRNb2RlJyBpbiBkb2N1bWVudCAmJiBkb2N1bWVudC5kb2N1bWVudE1vZGUgPD0gMTE7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzJDMoKSB7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25TZWxlY3QnLCBbJ2ZvY3Vzb3V0JywgJ2NvbnRleHRtZW51JywgJ2RyYWdlbmQnLCAnZm9jdXNpbicsICdrZXlkb3duJywgJ2tleXVwJywgJ21vdXNlZG93bicsICdtb3VzZXVwJywgJ3NlbGVjdGlvbmNoYW5nZSddKTtcbn1cblxudmFyIGFjdGl2ZUVsZW1lbnQkMSA9IG51bGw7XG52YXIgYWN0aXZlRWxlbWVudEluc3QkMSA9IG51bGw7XG52YXIgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG52YXIgbW91c2VEb3duID0gZmFsc2U7XG4vKipcbiAqIEdldCBhbiBvYmplY3Qgd2hpY2ggaXMgYSB1bmlxdWUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLlxuICpcbiAqIFRoZSByZXR1cm4gdmFsdWUgd2lsbCBub3QgYmUgY29uc2lzdGVudCBhY3Jvc3Mgbm9kZXMgb3IgYnJvd3NlcnMsIGJ1dFxuICogdHdvIGlkZW50aWNhbCBzZWxlY3Rpb25zIG9uIHRoZSBzYW1lIG5vZGUgd2lsbCByZXR1cm4gaWRlbnRpY2FsIG9iamVjdHMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uJDEobm9kZSkge1xuICBpZiAoJ3NlbGVjdGlvblN0YXJ0JyBpbiBub2RlICYmIGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhub2RlKSkge1xuICAgIHJldHVybiB7XG4gICAgICBzdGFydDogbm9kZS5zZWxlY3Rpb25TdGFydCxcbiAgICAgIGVuZDogbm9kZS5zZWxlY3Rpb25FbmRcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHZhciB3aW4gPSBub2RlLm93bmVyRG9jdW1lbnQgJiYgbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgICB2YXIgc2VsZWN0aW9uID0gd2luLmdldFNlbGVjdGlvbigpO1xuICAgIHJldHVybiB7XG4gICAgICBhbmNob3JOb2RlOiBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldDogc2VsZWN0aW9uLmFuY2hvck9mZnNldCxcbiAgICAgIGZvY3VzTm9kZTogc2VsZWN0aW9uLmZvY3VzTm9kZSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBzZWxlY3Rpb24uZm9jdXNPZmZzZXRcbiAgICB9O1xuICB9XG59XG4vKipcbiAqIEdldCBkb2N1bWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGV2ZW50IHRhcmdldC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQoZXZlbnRUYXJnZXQpIHtcbiAgcmV0dXJuIGV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gZXZlbnRUYXJnZXQgPyBldmVudFRhcmdldC5kb2N1bWVudCA6IGV2ZW50VGFyZ2V0Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gZXZlbnRUYXJnZXQgOiBldmVudFRhcmdldC5vd25lckRvY3VtZW50O1xufVxuLyoqXG4gKiBQb2xsIHNlbGVjdGlvbiB0byBzZWUgd2hldGhlciBpdCdzIGNoYW5nZWQuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRUYXJnZXRcbiAqIEByZXR1cm4gez9TeW50aGV0aWNFdmVudH1cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xuICAvLyBFbnN1cmUgd2UgaGF2ZSB0aGUgcmlnaHQgZWxlbWVudCwgYW5kIHRoYXQgdGhlIHVzZXIgaXMgbm90IGRyYWdnaW5nIGFcbiAgLy8gc2VsZWN0aW9uICh0aGlzIG1hdGNoZXMgbmF0aXZlIGBzZWxlY3RgIGV2ZW50IGJlaGF2aW9yKS4gSW4gSFRNTDUsIHNlbGVjdFxuICAvLyBmaXJlcyBvbmx5IG9uIGlucHV0IGFuZCB0ZXh0YXJlYSB0aHVzIGlmIHRoZXJlJ3Mgbm8gZm9jdXNlZCBlbGVtZW50IHdlXG4gIC8vIHdvbid0IGRpc3BhdGNoLlxuICB2YXIgZG9jID0gZ2V0RXZlbnRUYXJnZXREb2N1bWVudChuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKG1vdXNlRG93biB8fCBhY3RpdmVFbGVtZW50JDEgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50JDEgIT09IGdldEFjdGl2ZUVsZW1lbnQoZG9jKSkge1xuICAgIHJldHVybjtcbiAgfSAvLyBPbmx5IGZpcmUgd2hlbiBzZWxlY3Rpb24gaGFzIGFjdHVhbGx5IGNoYW5nZWQuXG5cblxuICB2YXIgY3VycmVudFNlbGVjdGlvbiA9IGdldFNlbGVjdGlvbiQxKGFjdGl2ZUVsZW1lbnQkMSk7XG5cbiAgaWYgKCFsYXN0U2VsZWN0aW9uIHx8ICFzaGFsbG93RXF1YWwobGFzdFNlbGVjdGlvbiwgY3VycmVudFNlbGVjdGlvbikpIHtcbiAgICBsYXN0U2VsZWN0aW9uID0gY3VycmVudFNlbGVjdGlvbjtcbiAgICB2YXIgbGlzdGVuZXJzID0gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKGFjdGl2ZUVsZW1lbnRJbnN0JDEsICdvblNlbGVjdCcpO1xuXG4gICAgaWYgKGxpc3RlbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB2YXIgZXZlbnQgPSBuZXcgU3ludGhldGljRXZlbnQoJ29uU2VsZWN0JywgJ3NlbGVjdCcsIG51bGwsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzXG4gICAgICB9KTtcbiAgICAgIGV2ZW50LnRhcmdldCA9IGFjdGl2ZUVsZW1lbnQkMTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogVGhpcyBwbHVnaW4gY3JlYXRlcyBhbiBgb25TZWxlY3RgIGV2ZW50IHRoYXQgbm9ybWFsaXplcyBzZWxlY3QgZXZlbnRzXG4gKiBhY3Jvc3MgZm9ybSBlbGVtZW50cy5cbiAqXG4gKiBTdXBwb3J0ZWQgZWxlbWVudHMgYXJlOlxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxuICogLSB0ZXh0YXJlYVxuICogLSBjb250ZW50RWRpdGFibGVcbiAqXG4gKiBUaGlzIGRpZmZlcnMgZnJvbSBuYXRpdmUgYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMgaW4gdGhlIGZvbGxvd2luZyB3YXlzOlxuICogLSBGaXJlcyBvbiBjb250ZW50RWRpdGFibGUgZmllbGRzIGFzIHdlbGwgYXMgaW5wdXRzLlxuICogLSBGaXJlcyBmb3IgY29sbGFwc2VkIHNlbGVjdGlvbi5cbiAqIC0gRmlyZXMgYWZ0ZXIgdXNlciBpbnB1dC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMyhkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICAvLyBUcmFjayB0aGUgaW5wdXQgbm9kZSB0aGF0IGhhcyBmb2N1cy5cbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICAgIGlmIChpc1RleHRJbnB1dEVsZW1lbnQodGFyZ2V0Tm9kZSkgfHwgdGFyZ2V0Tm9kZS5jb250ZW50RWRpdGFibGUgPT09ICd0cnVlJykge1xuICAgICAgICBhY3RpdmVFbGVtZW50JDEgPSB0YXJnZXROb2RlO1xuICAgICAgICBhY3RpdmVFbGVtZW50SW5zdCQxID0gdGFyZ2V0SW5zdDtcbiAgICAgICAgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZm9jdXNvdXQnOlxuICAgICAgYWN0aXZlRWxlbWVudCQxID0gbnVsbDtcbiAgICAgIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSBudWxsO1xuICAgICAgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG4gICAgICBicmVhaztcbiAgICAvLyBEb24ndCBmaXJlIHRoZSBldmVudCB3aGlsZSB0aGUgdXNlciBpcyBkcmFnZ2luZy4gVGhpcyBtYXRjaGVzIHRoZVxuICAgIC8vIHNlbWFudGljcyBvZiB0aGUgbmF0aXZlIHNlbGVjdCBldmVudC5cblxuICAgIGNhc2UgJ21vdXNlZG93bic6XG4gICAgICBtb3VzZURvd24gPSB0cnVlO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjb250ZXh0bWVudSc6XG4gICAgY2FzZSAnbW91c2V1cCc6XG4gICAgY2FzZSAnZHJhZ2VuZCc6XG4gICAgICBtb3VzZURvd24gPSBmYWxzZTtcbiAgICAgIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgICBicmVhaztcbiAgICAvLyBDaHJvbWUgYW5kIElFIGZpcmUgbm9uLXN0YW5kYXJkIGV2ZW50IHdoZW4gc2VsZWN0aW9uIGlzIGNoYW5nZWQgKGFuZFxuICAgIC8vIHNvbWV0aW1lcyB3aGVuIGl0IGhhc24ndCkuIElFJ3MgZXZlbnQgZmlyZXMgb3V0IG9mIG9yZGVyIHdpdGggcmVzcGVjdFxuICAgIC8vIHRvIGtleSBhbmQgaW5wdXQgZXZlbnRzIG9uIGRlbGV0aW9uLCBzbyB3ZSBkaXNjYXJkIGl0LlxuICAgIC8vXG4gICAgLy8gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgc2VsZWN0aW9uY2hhbmdlLCBzbyBjaGVjayBzZWxlY3Rpb24gc3RhdHVzXG4gICAgLy8gYWZ0ZXIgZWFjaCBrZXkgZW50cnkuIFRoZSBzZWxlY3Rpb24gY2hhbmdlcyBhZnRlciBrZXlkb3duIGFuZCBiZWZvcmVcbiAgICAvLyBrZXl1cCwgYnV0IHdlIGNoZWNrIG9uIGtleWRvd24gYXMgd2VsbCBpbiB0aGUgY2FzZSBvZiBob2xkaW5nIGRvd24gYVxuICAgIC8vIGtleSwgd2hlbiBtdWx0aXBsZSBrZXlkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnV0IG9ubHkgb25lIGtleXVwIGlzLlxuICAgIC8vIFRoaXMgaXMgYWxzbyBvdXIgYXBwcm9hY2ggZm9yIElFIGhhbmRsaW5nLCBmb3IgdGhlIHJlYXNvbiBhYm92ZS5cblxuICAgIGNhc2UgJ3NlbGVjdGlvbmNoYW5nZSc6XG4gICAgICBpZiAoc2tpcFNlbGVjdGlvbkNoYW5nZUV2ZW50KSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgLy8gZmFsbHMgdGhyb3VnaFxuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgY29uc3RydWN0U2VsZWN0RXZlbnQoZGlzcGF0Y2hRdWV1ZSwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgbWFwcGluZyBvZiBzdGFuZGFyZCB2ZW5kb3IgcHJlZml4ZXMgdXNpbmcgdGhlIGRlZmluZWQgc3R5bGUgcHJvcGVydHkgYW5kIGV2ZW50IG5hbWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0eWxlUHJvcFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHJldHVybnMge29iamVjdH1cbiAqL1xuXG5mdW5jdGlvbiBtYWtlUHJlZml4TWFwKHN0eWxlUHJvcCwgZXZlbnROYW1lKSB7XG4gIHZhciBwcmVmaXhlcyA9IHt9O1xuICBwcmVmaXhlc1tzdHlsZVByb3AudG9Mb3dlckNhc2UoKV0gPSBldmVudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgcHJlZml4ZXNbJ1dlYmtpdCcgKyBzdHlsZVByb3BdID0gJ3dlYmtpdCcgKyBldmVudE5hbWU7XG4gIHByZWZpeGVzWydNb3onICsgc3R5bGVQcm9wXSA9ICdtb3onICsgZXZlbnROYW1lO1xuICByZXR1cm4gcHJlZml4ZXM7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBldmVudCBuYW1lcyB0byBhIGNvbmZpZ3VyYWJsZSBsaXN0IG9mIHZlbmRvciBwcmVmaXhlcy5cbiAqL1xuXG5cbnZhciB2ZW5kb3JQcmVmaXhlcyA9IHtcbiAgYW5pbWF0aW9uZW5kOiBtYWtlUHJlZml4TWFwKCdBbmltYXRpb24nLCAnQW5pbWF0aW9uRW5kJyksXG4gIGFuaW1hdGlvbml0ZXJhdGlvbjogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvbkl0ZXJhdGlvbicpLFxuICBhbmltYXRpb25zdGFydDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvblN0YXJ0JyksXG4gIHRyYW5zaXRpb25lbmQ6IG1ha2VQcmVmaXhNYXAoJ1RyYW5zaXRpb24nLCAnVHJhbnNpdGlvbkVuZCcpXG59O1xuLyoqXG4gKiBFdmVudCBuYW1lcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGRldGVjdGVkIGFuZCBwcmVmaXhlZCAoaWYgYXBwbGljYWJsZSkuXG4gKi9cblxudmFyIHByZWZpeGVkRXZlbnROYW1lcyA9IHt9O1xuLyoqXG4gKiBFbGVtZW50IHRvIGNoZWNrIGZvciBwcmVmaXhlcyBvbi5cbiAqL1xuXG52YXIgc3R5bGUgPSB7fTtcbi8qKlxuICogQm9vdHN0cmFwIGlmIGEgRE9NIGV4aXN0cy5cbiAqL1xuXG5pZiAoY2FuVXNlRE9NKSB7XG4gIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykuc3R5bGU7IC8vIE9uIHNvbWUgcGxhdGZvcm1zLCBpbiBwYXJ0aWN1bGFyIHNvbWUgcmVsZWFzZXMgb2YgQW5kcm9pZCA0LngsXG4gIC8vIHRoZSB1bi1wcmVmaXhlZCBcImFuaW1hdGlvblwiIGFuZCBcInRyYW5zaXRpb25cIiBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIG9uIHRoZVxuICAvLyBzdHlsZSBvYmplY3QgYnV0IHRoZSBldmVudHMgdGhhdCBmaXJlIHdpbGwgc3RpbGwgYmUgcHJlZml4ZWQsIHNvIHdlIG5lZWRcbiAgLy8gdG8gY2hlY2sgaWYgdGhlIHVuLXByZWZpeGVkIGV2ZW50cyBhcmUgdXNhYmxlLCBhbmQgaWYgbm90IHJlbW92ZSB0aGVtIGZyb20gdGhlIG1hcC5cblxuICBpZiAoISgnQW5pbWF0aW9uRXZlbnQnIGluIHdpbmRvdykpIHtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbjtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbjtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uO1xuICB9IC8vIFNhbWUgYXMgYWJvdmVcblxuXG4gIGlmICghKCdUcmFuc2l0aW9uRXZlbnQnIGluIHdpbmRvdykpIHtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMudHJhbnNpdGlvbmVuZC50cmFuc2l0aW9uO1xuICB9XG59XG4vKipcbiAqIEF0dGVtcHRzIHRvIGRldGVybWluZSB0aGUgY29ycmVjdCB2ZW5kb3IgcHJlZml4ZWQgZXZlbnQgbmFtZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoZXZlbnROYW1lKSB7XG4gIGlmIChwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSkge1xuICAgIHJldHVybiBwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXTtcbiAgfSBlbHNlIGlmICghdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXSkge1xuICAgIHJldHVybiBldmVudE5hbWU7XG4gIH1cblxuICB2YXIgcHJlZml4TWFwID0gdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXTtcblxuICBmb3IgKHZhciBzdHlsZVByb3AgaW4gcHJlZml4TWFwKSB7XG4gICAgaWYgKHByZWZpeE1hcC5oYXNPd25Qcm9wZXJ0eShzdHlsZVByb3ApICYmIHN0eWxlUHJvcCBpbiBzdHlsZSkge1xuICAgICAgcmV0dXJuIHByZWZpeGVkRXZlbnROYW1lc1tldmVudE5hbWVdID0gcHJlZml4TWFwW3N0eWxlUHJvcF07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV2ZW50TmFtZTtcbn1cblxudmFyIEFOSU1BVElPTl9FTkQgPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uZW5kJyk7XG52YXIgQU5JTUFUSU9OX0lURVJBVElPTiA9IGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCdhbmltYXRpb25pdGVyYXRpb24nKTtcbnZhciBBTklNQVRJT05fU1RBUlQgPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uc3RhcnQnKTtcbnZhciBUUkFOU0lUSU9OX0VORCA9IGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCd0cmFuc2l0aW9uZW5kJyk7XG5cbnZhciB0b3BMZXZlbEV2ZW50c1RvUmVhY3ROYW1lcyA9IG5ldyBNYXAoKTsgLy8gTk9URTogQ2FwaXRhbGl6YXRpb24gaXMgaW1wb3J0YW50IGluIHRoaXMgbGlzdCFcbi8vXG4vLyBFLmcuIGl0IG5lZWRzIFwicG9pbnRlckRvd25cIiwgbm90IFwicG9pbnRlcmRvd25cIi5cbi8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBkZXJpdmUgYm90aCBSZWFjdCBuYW1lIChcIm9uUG9pbnRlckRvd25cIilcbi8vIGFuZCBET00gbmFtZSAoXCJwb2ludGVyZG93blwiKSBmcm9tIHRoZSBzYW1lIGxpc3QuXG4vL1xuLy8gRXhjZXB0aW9ucyB0aGF0IGRvbid0IG1hdGNoIHRoaXMgY29udmVudGlvbiBhcmUgbGlzdGVkIHNlcGFyYXRlbHkuXG4vL1xuLy8gcHJldHRpZXItaWdub3JlXG5cbnZhciBzaW1wbGVFdmVudFBsdWdpbkV2ZW50cyA9IFsnYWJvcnQnLCAnYXV4Q2xpY2snLCAnY2FuY2VsJywgJ2NhblBsYXknLCAnY2FuUGxheVRocm91Z2gnLCAnY2xpY2snLCAnY2xvc2UnLCAnY29udGV4dE1lbnUnLCAnY29weScsICdjdXQnLCAnZHJhZycsICdkcmFnRW5kJywgJ2RyYWdFbnRlcicsICdkcmFnRXhpdCcsICdkcmFnTGVhdmUnLCAnZHJhZ092ZXInLCAnZHJhZ1N0YXJ0JywgJ2Ryb3AnLCAnZHVyYXRpb25DaGFuZ2UnLCAnZW1wdGllZCcsICdlbmNyeXB0ZWQnLCAnZW5kZWQnLCAnZXJyb3InLCAnZ290UG9pbnRlckNhcHR1cmUnLCAnaW5wdXQnLCAnaW52YWxpZCcsICdrZXlEb3duJywgJ2tleVByZXNzJywgJ2tleVVwJywgJ2xvYWQnLCAnbG9hZGVkRGF0YScsICdsb2FkZWRNZXRhZGF0YScsICdsb2FkU3RhcnQnLCAnbG9zdFBvaW50ZXJDYXB0dXJlJywgJ21vdXNlRG93bicsICdtb3VzZU1vdmUnLCAnbW91c2VPdXQnLCAnbW91c2VPdmVyJywgJ21vdXNlVXAnLCAncGFzdGUnLCAncGF1c2UnLCAncGxheScsICdwbGF5aW5nJywgJ3BvaW50ZXJDYW5jZWwnLCAncG9pbnRlckRvd24nLCAncG9pbnRlck1vdmUnLCAncG9pbnRlck91dCcsICdwb2ludGVyT3ZlcicsICdwb2ludGVyVXAnLCAncHJvZ3Jlc3MnLCAncmF0ZUNoYW5nZScsICdyZXNldCcsICdyZXNpemUnLCAnc2Vla2VkJywgJ3NlZWtpbmcnLCAnc3RhbGxlZCcsICdzdWJtaXQnLCAnc3VzcGVuZCcsICd0aW1lVXBkYXRlJywgJ3RvdWNoQ2FuY2VsJywgJ3RvdWNoRW5kJywgJ3RvdWNoU3RhcnQnLCAndm9sdW1lQ2hhbmdlJywgJ3Njcm9sbCcsICd0b2dnbGUnLCAndG91Y2hNb3ZlJywgJ3dhaXRpbmcnLCAnd2hlZWwnXTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJTaW1wbGVFdmVudChkb21FdmVudE5hbWUsIHJlYWN0TmFtZSkge1xuICB0b3BMZXZlbEV2ZW50c1RvUmVhY3ROYW1lcy5zZXQoZG9tRXZlbnROYW1lLCByZWFjdE5hbWUpO1xuICByZWdpc3RlclR3b1BoYXNlRXZlbnQocmVhY3ROYW1lLCBbZG9tRXZlbnROYW1lXSk7XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyU2ltcGxlRXZlbnRzKCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGV2ZW50TmFtZSA9IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRzW2ldO1xuICAgIHZhciBkb21FdmVudE5hbWUgPSBldmVudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICB2YXIgY2FwaXRhbGl6ZWRFdmVudCA9IGV2ZW50TmFtZVswXS50b1VwcGVyQ2FzZSgpICsgZXZlbnROYW1lLnNsaWNlKDEpO1xuICAgIHJlZ2lzdGVyU2ltcGxlRXZlbnQoZG9tRXZlbnROYW1lLCAnb24nICsgY2FwaXRhbGl6ZWRFdmVudCk7XG4gIH0gLy8gU3BlY2lhbCBjYXNlcyB3aGVyZSBldmVudCBuYW1lcyBkb24ndCBtYXRjaC5cblxuXG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX0VORCwgJ29uQW5pbWF0aW9uRW5kJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX0lURVJBVElPTiwgJ29uQW5pbWF0aW9uSXRlcmF0aW9uJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX1NUQVJULCAnb25BbmltYXRpb25TdGFydCcpO1xuICByZWdpc3RlclNpbXBsZUV2ZW50KCdkYmxjbGljaycsICdvbkRvdWJsZUNsaWNrJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoJ2ZvY3VzaW4nLCAnb25Gb2N1cycpO1xuICByZWdpc3RlclNpbXBsZUV2ZW50KCdmb2N1c291dCcsICdvbkJsdXInKTtcbiAgcmVnaXN0ZXJTaW1wbGVFdmVudChUUkFOU0lUSU9OX0VORCwgJ29uVHJhbnNpdGlvbkVuZCcpO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRzJDQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgcmVhY3ROYW1lID0gdG9wTGV2ZWxFdmVudHNUb1JlYWN0TmFtZXMuZ2V0KGRvbUV2ZW50TmFtZSk7XG5cbiAgaWYgKHJlYWN0TmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY0V2ZW50O1xuICB2YXIgcmVhY3RFdmVudFR5cGUgPSBkb21FdmVudE5hbWU7XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdrZXlwcmVzcyc6XG4gICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBrZXlwcmVzcyBldmVudCBmb3IgZnVuY3Rpb24ga2V5cyB0b28uIFRoaXMgcmVtb3Zlc1xuICAgICAgLy8gdGhlIHVud2FudGVkIGtleXByZXNzIGV2ZW50cy4gRW50ZXIgaXMgaG93ZXZlciBib3RoIHByaW50YWJsZSBhbmRcbiAgICAgIC8vIG5vbi1wcmludGFibGUuIE9uZSB3b3VsZCBleHBlY3QgVGFiIHRvIGJlIGFzIHdlbGwgKGJ1dCBpdCBpc24ndCkuXG4gICAgICBpZiAoZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCkgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljS2V5Ym9hcmRFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZm9jdXNpbic6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdmb2N1cyc7XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdibHVyJztcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY0ZvY3VzRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2JlZm9yZWJsdXInOlxuICAgIGNhc2UgJ2FmdGVyYmx1cic6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjbGljayc6XG4gICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBjbGljayBldmVudCBvbiByaWdodCBtb3VzZSBjbGlja3MuIFRoaXMgcmVtb3ZlcyB0aGVcbiAgICAgIC8vIHVud2FudGVkIGNsaWNrIGV2ZW50cy5cbiAgICAgIGlmIChuYXRpdmVFdmVudC5idXR0b24gPT09IDIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2V1cCc6IC8vIFRPRE86IERpc2FibGVkIGVsZW1lbnRzIHNob3VsZCBub3QgcmVzcG9uZCB0byBtb3VzZSBldmVudHNcblxuICAgIC8qIGZhbGxzIHRocm91Z2ggKi9cblxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ2NvbnRleHRtZW51JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbmQnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ2RyYWdzdGFydCc6XG4gICAgY2FzZSAnZHJvcCc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNEcmFnRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd0b3VjaHN0YXJ0JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RvdWNoRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQU5JTUFUSU9OX0VORDpcbiAgICBjYXNlIEFOSU1BVElPTl9JVEVSQVRJT046XG4gICAgY2FzZSBBTklNQVRJT05fU1RBUlQ6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNBbmltYXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUUkFOU0lUSU9OX0VORDpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2Nyb2xsJzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1VJRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3doZWVsJzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1doZWVsRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2NvcHknOlxuICAgIGNhc2UgJ2N1dCc6XG4gICAgY2FzZSAncGFzdGUnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljQ2xpcGJvYXJkRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2dvdHBvaW50ZXJjYXB0dXJlJzpcbiAgICBjYXNlICdsb3N0cG9pbnRlcmNhcHR1cmUnOlxuICAgIGNhc2UgJ3BvaW50ZXJjYW5jZWwnOlxuICAgIGNhc2UgJ3BvaW50ZXJkb3duJzpcbiAgICBjYXNlICdwb2ludGVybW92ZSc6XG4gICAgY2FzZSAncG9pbnRlcm91dCc6XG4gICAgY2FzZSAncG9pbnRlcm92ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJ1cCc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNQb2ludGVyRXZlbnQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBpbkNhcHR1cmVQaGFzZSA9IChldmVudFN5c3RlbUZsYWdzICYgSVNfQ0FQVFVSRV9QSEFTRSkgIT09IDA7XG5cbiAge1xuICAgIC8vIFNvbWUgZXZlbnRzIGRvbid0IGJ1YmJsZSBpbiB0aGUgYnJvd3Nlci5cbiAgICAvLyBJbiB0aGUgcGFzdCwgUmVhY3QgaGFzIGFsd2F5cyBidWJibGVkIHRoZW0sIGJ1dCB0aGlzIGNhbiBiZSBzdXJwcmlzaW5nLlxuICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHRyeSBhbGlnbmluZyBjbG9zZXIgdG8gdGhlIGJyb3dzZXIgYmVoYXZpb3IgYnkgbm90IGJ1YmJsaW5nXG4gICAgLy8gdGhlbSBpbiBSZWFjdCBlaXRoZXIuIFdlJ2xsIHN0YXJ0IGJ5IG5vdCBidWJibGluZyBvblNjcm9sbCwgYW5kIHRoZW4gZXhwYW5kLlxuICAgIHZhciBhY2N1bXVsYXRlVGFyZ2V0T25seSA9ICFpbkNhcHR1cmVQaGFzZSAmJiAvLyBUT0RPOiBpZGVhbGx5LCB3ZSdkIGV2ZW50dWFsbHkgYWRkIGFsbCBldmVudHMgZnJvbVxuICAgIC8vIG5vbkRlbGVnYXRlZEV2ZW50cyBsaXN0IGluIERPTVBsdWdpbkV2ZW50U3lzdGVtLlxuICAgIC8vIFRoZW4gd2UgY2FuIHJlbW92ZSB0aGlzIHNwZWNpYWwgbGlzdC5cbiAgICAvLyBUaGlzIGlzIGEgYnJlYWtpbmcgY2hhbmdlIHRoYXQgY2FuIHdhaXQgdW50aWwgUmVhY3QgMTguXG4gICAgZG9tRXZlbnROYW1lID09PSAnc2Nyb2xsJztcblxuICAgIHZhciBfbGlzdGVuZXJzID0gYWNjdW11bGF0ZVNpbmdsZVBoYXNlTGlzdGVuZXJzKHRhcmdldEluc3QsIHJlYWN0TmFtZSwgbmF0aXZlRXZlbnQudHlwZSwgaW5DYXB0dXJlUGhhc2UsIGFjY3VtdWxhdGVUYXJnZXRPbmx5KTtcblxuICAgIGlmIChfbGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgY3JlYXRlIGV2ZW50IGxhemlseS5cbiAgICAgIHZhciBfZXZlbnQgPSBuZXcgU3ludGhldGljRXZlbnRDdG9yKHJlYWN0TmFtZSwgcmVhY3RFdmVudFR5cGUsIG51bGwsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICAgIGV2ZW50OiBfZXZlbnQsXG4gICAgICAgIGxpc3RlbmVyczogX2xpc3RlbmVyc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRPRE86IHJlbW92ZSB0b3AtbGV2ZWwgc2lkZSBlZmZlY3QuXG5yZWdpc3RlclNpbXBsZUV2ZW50cygpO1xucmVnaXN0ZXJFdmVudHMkMigpO1xucmVnaXN0ZXJFdmVudHMkMSgpO1xucmVnaXN0ZXJFdmVudHMkMygpO1xucmVnaXN0ZXJFdmVudHMoKTtcblxuZnVuY3Rpb24gZXh0cmFjdEV2ZW50cyQ1KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpIHtcbiAgLy8gVE9ETzogd2Ugc2hvdWxkIHJlbW92ZSB0aGUgY29uY2VwdCBvZiBhIFwiU2ltcGxlRXZlbnRQbHVnaW5cIi5cbiAgLy8gVGhpcyBpcyB0aGUgYmFzaWMgZnVuY3Rpb25hbGl0eSBvZiB0aGUgZXZlbnQgc3lzdGVtLiBBbGxcbiAgLy8gdGhlIG90aGVyIHBsdWdpbnMgYXJlIGVzc2VudGlhbGx5IHBvbHlmaWxscy4gU28gdGhlIHBsdWdpblxuICAvLyBzaG91bGQgcHJvYmFibHkgYmUgaW5saW5lZCBzb21ld2hlcmUgYW5kIGhhdmUgaXRzIGxvZ2ljXG4gIC8vIGJlIGNvcmUgdGhlIHRvIGV2ZW50IHN5c3RlbS4gVGhpcyB3b3VsZCBwb3RlbnRpYWxseSBhbGxvd1xuICAvLyB1cyB0byBzaGlwIGJ1aWxkcyBvZiBSZWFjdCB3aXRob3V0IHRoZSBwb2x5ZmlsbGVkIHBsdWdpbnMgYmVsb3cuXG4gIGV4dHJhY3RFdmVudHMkNChkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XG4gIHZhciBzaG91bGRQcm9jZXNzUG9seWZpbGxQbHVnaW5zID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBTSE9VTERfTk9UX1BST0NFU1NfUE9MWUZJTExfRVZFTlRfUExVR0lOUykgPT09IDA7IC8vIFdlIGRvbid0IHByb2Nlc3MgdGhlc2UgZXZlbnRzIHVubGVzcyB3ZSBhcmUgaW4gdGhlXG4gIC8vIGV2ZW50J3MgbmF0aXZlIFwiYnViYmxlXCIgcGhhc2UsIHdoaWNoIG1lYW5zIHRoYXQgd2UncmVcbiAgLy8gbm90IGluIHRoZSBjYXB0dXJlIHBoYXNlLiBUaGF0J3MgYmVjYXVzZSB3ZSBlbXVsYXRlXG4gIC8vIHRoZSBjYXB0dXJlIHBoYXNlIGhlcmUgc3RpbGwuIFRoaXMgaXMgYSB0cmFkZS1vZmYsXG4gIC8vIGJlY2F1c2UgaW4gYW4gaWRlYWwgd29ybGQgd2Ugd291bGQgbm90IGVtdWxhdGUgYW5kIHVzZVxuICAvLyB0aGUgcGhhc2VzIHByb3Blcmx5LCBsaWtlIHdlIGRvIHdpdGggdGhlIFNpbXBsZUV2ZW50XG4gIC8vIHBsdWdpbi4gSG93ZXZlciwgdGhlIHBsdWdpbnMgYmVsb3cgZWl0aGVyIGV4cGVjdFxuICAvLyBlbXVsYXRpb24gKEVudGVyTGVhdmUpIG9yIHVzZSBzdGF0ZSBsb2NhbGl6ZWQgdG8gdGhhdFxuICAvLyBwbHVnaW4gKEJlZm9yZUlucHV0LCBDaGFuZ2UsIFNlbGVjdCkuIFRoZSBzdGF0ZSBpblxuICAvLyB0aGVzZSBtb2R1bGVzIGNvbXBsaWNhdGVzIHRoaW5ncywgYXMgeW91J2xsIGVzc2VudGlhbGx5XG4gIC8vIGdldCB0aGUgY2FzZSB3aGVyZSB0aGUgY2FwdHVyZSBwaGFzZSBldmVudCBtaWdodCBjaGFuZ2VcbiAgLy8gc3RhdGUsIG9ubHkgZm9yIHRoZSBmb2xsb3dpbmcgYnViYmxlIGV2ZW50IHRvIGNvbWUgaW5cbiAgLy8gbGF0ZXIgYW5kIG5vdCB0cmlnZ2VyIGFueXRoaW5nIGFzIHRoZSBzdGF0ZSBub3dcbiAgLy8gaW52YWxpZGF0ZXMgdGhlIGhldXJpc3RpY3Mgb2YgdGhlIGV2ZW50IHBsdWdpbi4gV2VcbiAgLy8gY291bGQgYWx0ZXIgYWxsIHRoZXNlIHBsdWdpbnMgdG8gd29yayBpbiBzdWNoIHdheXMsIGJ1dFxuICAvLyB0aGF0IG1pZ2h0IGNhdXNlIG90aGVyIHVua25vd24gc2lkZS1lZmZlY3RzIHRoYXQgd2VcbiAgLy8gY2FuJ3QgZm9yZXNlZSByaWdodCBub3cuXG5cbiAgaWYgKHNob3VsZFByb2Nlc3NQb2x5ZmlsbFBsdWdpbnMpIHtcbiAgICBleHRyYWN0RXZlbnRzJDIoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGV4dHJhY3RFdmVudHMkMShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZXh0cmFjdEV2ZW50cyQzKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBleHRyYWN0RXZlbnRzKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgfVxufSAvLyBMaXN0IG9mIGV2ZW50cyB0aGF0IG5lZWQgdG8gYmUgaW5kaXZpZHVhbGx5IGF0dGFjaGVkIHRvIG1lZGlhIGVsZW1lbnRzLlxuXG5cbnZhciBtZWRpYUV2ZW50VHlwZXMgPSBbJ2Fib3J0JywgJ2NhbnBsYXknLCAnY2FucGxheXRocm91Z2gnLCAnZHVyYXRpb25jaGFuZ2UnLCAnZW1wdGllZCcsICdlbmNyeXB0ZWQnLCAnZW5kZWQnLCAnZXJyb3InLCAnbG9hZGVkZGF0YScsICdsb2FkZWRtZXRhZGF0YScsICdsb2Fkc3RhcnQnLCAncGF1c2UnLCAncGxheScsICdwbGF5aW5nJywgJ3Byb2dyZXNzJywgJ3JhdGVjaGFuZ2UnLCAncmVzaXplJywgJ3NlZWtlZCcsICdzZWVraW5nJywgJ3N0YWxsZWQnLCAnc3VzcGVuZCcsICd0aW1ldXBkYXRlJywgJ3ZvbHVtZWNoYW5nZScsICd3YWl0aW5nJ107IC8vIFdlIHNob3VsZCBub3QgZGVsZWdhdGUgdGhlc2UgZXZlbnRzIHRvIHRoZSBjb250YWluZXIsIGJ1dCByYXRoZXJcbi8vIHNldCB0aGVtIG9uIHRoZSBhY3R1YWwgdGFyZ2V0IGVsZW1lbnQgaXRzZWxmLiBUaGlzIGlzIHByaW1hcmlseVxuLy8gYmVjYXVzZSB0aGVzZSBldmVudHMgZG8gbm90IGNvbnNpc3RlbnRseSBidWJibGUgaW4gdGhlIERPTS5cblxudmFyIG5vbkRlbGVnYXRlZEV2ZW50cyA9IG5ldyBTZXQoWydjYW5jZWwnLCAnY2xvc2UnLCAnaW52YWxpZCcsICdsb2FkJywgJ3Njcm9sbCcsICd0b2dnbGUnXS5jb25jYXQobWVkaWFFdmVudFR5cGVzKSk7XG5cbmZ1bmN0aW9uIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpIHtcbiAgdmFyIHR5cGUgPSBldmVudC50eXBlIHx8ICd1bmtub3duLWV2ZW50JztcbiAgZXZlbnQuY3VycmVudFRhcmdldCA9IGN1cnJlbnRUYXJnZXQ7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0FuZENhdGNoRmlyc3RFcnJvcih0eXBlLCBsaXN0ZW5lciwgdW5kZWZpbmVkLCBldmVudCk7XG4gIGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzRGlzcGF0Y2hRdWV1ZUl0ZW1zSW5PcmRlcihldmVudCwgZGlzcGF0Y2hMaXN0ZW5lcnMsIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciBwcmV2aW91c0luc3RhbmNlO1xuXG4gIGlmIChpbkNhcHR1cmVQaGFzZSkge1xuICAgIGZvciAodmFyIGkgPSBkaXNwYXRjaExpc3RlbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdmFyIF9kaXNwYXRjaExpc3RlbmVycyRpID0gZGlzcGF0Y2hMaXN0ZW5lcnNbaV0sXG4gICAgICAgICAgaW5zdGFuY2UgPSBfZGlzcGF0Y2hMaXN0ZW5lcnMkaS5pbnN0YW5jZSxcbiAgICAgICAgICBjdXJyZW50VGFyZ2V0ID0gX2Rpc3BhdGNoTGlzdGVuZXJzJGkuY3VycmVudFRhcmdldCxcbiAgICAgICAgICBsaXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRpLmxpc3RlbmVyO1xuXG4gICAgICBpZiAoaW5zdGFuY2UgIT09IHByZXZpb3VzSW5zdGFuY2UgJiYgZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpO1xuICAgICAgcHJldmlvdXNJbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgZGlzcGF0Y2hMaXN0ZW5lcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2Rpc3BhdGNoTGlzdGVuZXJzJF9pID0gZGlzcGF0Y2hMaXN0ZW5lcnNbX2ldLFxuICAgICAgICAgIF9pbnN0YW5jZSA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5pbnN0YW5jZSxcbiAgICAgICAgICBfY3VycmVudFRhcmdldCA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5jdXJyZW50VGFyZ2V0LFxuICAgICAgICAgIF9saXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5saXN0ZW5lcjtcblxuICAgICAgaWYgKF9pbnN0YW5jZSAhPT0gcHJldmlvdXNJbnN0YW5jZSAmJiBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBfbGlzdGVuZXIsIF9jdXJyZW50VGFyZ2V0KTtcbiAgICAgIHByZXZpb3VzSW5zdGFuY2UgPSBfaW5zdGFuY2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGluQ2FwdHVyZVBoYXNlID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19DQVBUVVJFX1BIQVNFKSAhPT0gMDtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRpc3BhdGNoUXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgX2Rpc3BhdGNoUXVldWUkaSA9IGRpc3BhdGNoUXVldWVbaV0sXG4gICAgICAgIGV2ZW50ID0gX2Rpc3BhdGNoUXVldWUkaS5ldmVudCxcbiAgICAgICAgbGlzdGVuZXJzID0gX2Rpc3BhdGNoUXVldWUkaS5saXN0ZW5lcnM7XG4gICAgcHJvY2Vzc0Rpc3BhdGNoUXVldWVJdGVtc0luT3JkZXIoZXZlbnQsIGxpc3RlbmVycywgaW5DYXB0dXJlUGhhc2UpOyAvLyAgZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gIH0gLy8gVGhpcyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byByZXRocm93IGlmIGFueSBvZiB0aGUgZXZlbnQgaGFuZGxlcnMgdGhyZXcuXG5cblxuICByZXRocm93Q2F1Z2h0RXJyb3IoKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudHNGb3JQbHVnaW5zKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHRhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgbmF0aXZlRXZlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCk7XG4gIHZhciBkaXNwYXRjaFF1ZXVlID0gW107XG4gIGV4dHJhY3RFdmVudHMkNShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XG4gIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIGV2ZW50U3lzdGVtRmxhZ3MpO1xufVxuXG5mdW5jdGlvbiBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KGRvbUV2ZW50TmFtZSwgdGFyZ2V0RWxlbWVudCkge1xuICB7XG4gICAgaWYgKCFub25EZWxlZ2F0ZWRFdmVudHMuaGFzKGRvbUV2ZW50TmFtZSkpIHtcbiAgICAgIGVycm9yKCdEaWQgbm90IGV4cGVjdCBhIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoKSBjYWxsIGZvciBcIiVzXCIuICcgKyAnVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZG9tRXZlbnROYW1lKTtcbiAgICB9XG4gIH1cblxuICB2YXIgaXNDYXB0dXJlUGhhc2VMaXN0ZW5lciA9IGZhbHNlO1xuICB2YXIgbGlzdGVuZXJTZXQgPSBnZXRFdmVudExpc3RlbmVyU2V0KHRhcmdldEVsZW1lbnQpO1xuICB2YXIgbGlzdGVuZXJTZXRLZXkgPSBnZXRMaXN0ZW5lclNldEtleShkb21FdmVudE5hbWUsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpO1xuXG4gIGlmICghbGlzdGVuZXJTZXQuaGFzKGxpc3RlbmVyU2V0S2V5KSkge1xuICAgIGFkZFRyYXBwZWRFdmVudExpc3RlbmVyKHRhcmdldEVsZW1lbnQsIGRvbUV2ZW50TmFtZSwgSVNfTk9OX0RFTEVHQVRFRCwgaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcik7XG4gICAgbGlzdGVuZXJTZXQuYWRkKGxpc3RlbmVyU2V0S2V5KTtcbiAgfVxufVxuZnVuY3Rpb24gbGlzdGVuVG9OYXRpdmVFdmVudChkb21FdmVudE5hbWUsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIsIHRhcmdldCkge1xuICB7XG4gICAgaWYgKG5vbkRlbGVnYXRlZEV2ZW50cy5oYXMoZG9tRXZlbnROYW1lKSAmJiAhaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IGEgbGlzdGVuVG9OYXRpdmVFdmVudCgpIGNhbGwgZm9yIFwiJXNcIiBpbiB0aGUgYnViYmxlIHBoYXNlLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGRvbUV2ZW50TmFtZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGV2ZW50U3lzdGVtRmxhZ3MgPSAwO1xuXG4gIGlmIChpc0NhcHR1cmVQaGFzZUxpc3RlbmVyKSB7XG4gICAgZXZlbnRTeXN0ZW1GbGFncyB8PSBJU19DQVBUVVJFX1BIQVNFO1xuICB9XG5cbiAgYWRkVHJhcHBlZEV2ZW50TGlzdGVuZXIodGFyZ2V0LCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpO1xufSAvLyBUaGlzIGlzIG9ubHkgdXNlZCBieSBjcmVhdGVFdmVudEhhbmRsZSB3aGVuIHRoZVxudmFyIGxpc3RlbmluZ01hcmtlciA9ICdfcmVhY3RMaXN0ZW5pbmcnICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMik7XG5mdW5jdGlvbiBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhyb290Q29udGFpbmVyRWxlbWVudCkge1xuICBpZiAoIXJvb3RDb250YWluZXJFbGVtZW50W2xpc3RlbmluZ01hcmtlcl0pIHtcbiAgICByb290Q29udGFpbmVyRWxlbWVudFtsaXN0ZW5pbmdNYXJrZXJdID0gdHJ1ZTtcbiAgICBhbGxOYXRpdmVFdmVudHMuZm9yRWFjaChmdW5jdGlvbiAoZG9tRXZlbnROYW1lKSB7XG4gICAgICAvLyBXZSBoYW5kbGUgc2VsZWN0aW9uY2hhbmdlIHNlcGFyYXRlbHkgYmVjYXVzZSBpdFxuICAgICAgLy8gZG9lc24ndCBidWJibGUgYW5kIG5lZWRzIHRvIGJlIG9uIHRoZSBkb2N1bWVudC5cbiAgICAgIGlmIChkb21FdmVudE5hbWUgIT09ICdzZWxlY3Rpb25jaGFuZ2UnKSB7XG4gICAgICAgIGlmICghbm9uRGVsZWdhdGVkRXZlbnRzLmhhcyhkb21FdmVudE5hbWUpKSB7XG4gICAgICAgICAgbGlzdGVuVG9OYXRpdmVFdmVudChkb21FdmVudE5hbWUsIGZhbHNlLCByb290Q29udGFpbmVyRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBsaXN0ZW5Ub05hdGl2ZUV2ZW50KGRvbUV2ZW50TmFtZSwgdHJ1ZSwgcm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyByb290Q29udGFpbmVyRWxlbWVudCA6IHJvb3RDb250YWluZXJFbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG5cbiAgICBpZiAob3duZXJEb2N1bWVudCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhlIHNlbGVjdGlvbmNoYW5nZSBldmVudCBhbHNvIG5lZWRzIGRlZHVwbGljYXRpb25cbiAgICAgIC8vIGJ1dCBpdCBpcyBhdHRhY2hlZCB0byB0aGUgZG9jdW1lbnQuXG4gICAgICBpZiAoIW93bmVyRG9jdW1lbnRbbGlzdGVuaW5nTWFya2VyXSkge1xuICAgICAgICBvd25lckRvY3VtZW50W2xpc3RlbmluZ01hcmtlcl0gPSB0cnVlO1xuICAgICAgICBsaXN0ZW5Ub05hdGl2ZUV2ZW50KCdzZWxlY3Rpb25jaGFuZ2UnLCBmYWxzZSwgb3duZXJEb2N1bWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZFRyYXBwZWRFdmVudExpc3RlbmVyKHRhcmdldENvbnRhaW5lciwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBpc0NhcHR1cmVQaGFzZUxpc3RlbmVyLCBpc0RlZmVycmVkTGlzdGVuZXJGb3JMZWdhY3lGQlN1cHBvcnQpIHtcbiAgdmFyIGxpc3RlbmVyID0gY3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXJXaXRoUHJpb3JpdHkodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MpOyAvLyBJZiBwYXNzaXZlIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLCB0aGVuIHRoZSBldmVudCB3aWxsIGJlXG4gIC8vIGFjdGl2ZSBhbmQgbm90IHBhc3NpdmUuXG5cbiAgdmFyIGlzUGFzc2l2ZUxpc3RlbmVyID0gdW5kZWZpbmVkO1xuXG4gIGlmIChwYXNzaXZlQnJvd3NlckV2ZW50c1N1cHBvcnRlZCkge1xuICAgIC8vIEJyb3dzZXJzIGludHJvZHVjZWQgYW4gaW50ZXJ2ZW50aW9uLCBtYWtpbmcgdGhlc2UgZXZlbnRzXG4gICAgLy8gcGFzc2l2ZSBieSBkZWZhdWx0IG9uIGRvY3VtZW50LiBSZWFjdCBkb2Vzbid0IGJpbmQgdGhlbVxuICAgIC8vIHRvIGRvY3VtZW50IGFueW1vcmUsIGJ1dCBjaGFuZ2luZyB0aGlzIG5vdyB3b3VsZCB1bmRvXG4gICAgLy8gdGhlIHBlcmZvcm1hbmNlIHdpbnMgZnJvbSB0aGUgY2hhbmdlLiBTbyB3ZSBlbXVsYXRlXG4gICAgLy8gdGhlIGV4aXN0aW5nIGJlaGF2aW9yIG1hbnVhbGx5IG9uIHRoZSByb290cyBub3cuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTY1MVxuICAgIGlmIChkb21FdmVudE5hbWUgPT09ICd0b3VjaHN0YXJ0JyB8fCBkb21FdmVudE5hbWUgPT09ICd0b3VjaG1vdmUnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3doZWVsJykge1xuICAgICAgaXNQYXNzaXZlTGlzdGVuZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRhcmdldENvbnRhaW5lciA9ICB0YXJnZXRDb250YWluZXI7XG4gIHZhciB1bnN1YnNjcmliZUxpc3RlbmVyOyAvLyBXaGVuIGxlZ2FjeUZCU3VwcG9ydCBpcyBlbmFibGVkLCBpdCdzIGZvciB3aGVuIHdlXG5cblxuICBpZiAoaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgIGlmIChpc1Bhc3NpdmVMaXN0ZW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB1bnN1YnNjcmliZUxpc3RlbmVyID0gYWRkRXZlbnRDYXB0dXJlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyLCBpc1Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuc3Vic2NyaWJlTGlzdGVuZXIgPSBhZGRFdmVudENhcHR1cmVMaXN0ZW5lcih0YXJnZXRDb250YWluZXIsIGRvbUV2ZW50TmFtZSwgbGlzdGVuZXIpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNQYXNzaXZlTGlzdGVuZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdW5zdWJzY3JpYmVMaXN0ZW5lciA9IGFkZEV2ZW50QnViYmxlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyLCBpc1Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuc3Vic2NyaWJlTGlzdGVuZXIgPSBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyKHRhcmdldENvbnRhaW5lciwgZG9tRXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzTWF0Y2hpbmdSb290Q29udGFpbmVyKGdyYW5kQ29udGFpbmVyLCB0YXJnZXRDb250YWluZXIpIHtcbiAgcmV0dXJuIGdyYW5kQ29udGFpbmVyID09PSB0YXJnZXRDb250YWluZXIgfHwgZ3JhbmRDb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBncmFuZENvbnRhaW5lci5wYXJlbnROb2RlID09PSB0YXJnZXRDb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCB0YXJnZXRDb250YWluZXIpIHtcbiAgdmFyIGFuY2VzdG9ySW5zdCA9IHRhcmdldEluc3Q7XG5cbiAgaWYgKChldmVudFN5c3RlbUZsYWdzICYgSVNfRVZFTlRfSEFORExFX05PTl9NQU5BR0VEX05PREUpID09PSAwICYmIChldmVudFN5c3RlbUZsYWdzICYgSVNfTk9OX0RFTEVHQVRFRCkgPT09IDApIHtcbiAgICB2YXIgdGFyZ2V0Q29udGFpbmVyTm9kZSA9IHRhcmdldENvbnRhaW5lcjsgLy8gSWYgd2UgYXJlIHVzaW5nIHRoZSBsZWdhY3kgRkIgc3VwcG9ydCBmbGFnLCB3ZVxuXG4gICAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoZSBiZWxvdyBsb2dpYyBhdHRlbXB0cyB0byB3b3JrIG91dCBpZiB3ZSBuZWVkIHRvIGNoYW5nZVxuICAgICAgLy8gdGhlIHRhcmdldCBmaWJlciB0byBhIGRpZmZlcmVudCBhbmNlc3Rvci4gV2UgaGFkIHNpbWlsYXIgbG9naWNcbiAgICAgIC8vIGluIHRoZSBsZWdhY3kgZXZlbnQgc3lzdGVtLCBleGNlcHQgdGhlIGJpZyBkaWZmZXJlbmNlIGJldHdlZW5cbiAgICAgIC8vIHN5c3RlbXMgaXMgdGhhdCB0aGUgbW9kZXJuIGV2ZW50IHN5c3RlbSBub3cgaGFzIGFuIGV2ZW50IGxpc3RlbmVyXG4gICAgICAvLyBhdHRhY2hlZCB0byBlYWNoIFJlYWN0IFJvb3QgYW5kIFJlYWN0IFBvcnRhbCBSb290LiBUb2dldGhlcixcbiAgICAgIC8vIHRoZSBET00gbm9kZXMgcmVwcmVzZW50aW5nIHRoZXNlIHJvb3RzIGFyZSB0aGUgXCJyb290Q29udGFpbmVyXCIuXG4gICAgICAvLyBUbyBmaWd1cmUgb3V0IHdoaWNoIGFuY2VzdG9yIGluc3RhbmNlIHdlIHNob3VsZCB1c2UsIHdlIHRyYXZlcnNlXG4gICAgICAvLyB1cCB0aGUgZmliZXIgdHJlZSBmcm9tIHRoZSB0YXJnZXQgaW5zdGFuY2UgYW5kIGF0dGVtcHQgdG8gZmluZFxuICAgICAgLy8gcm9vdCBib3VuZGFyaWVzIHRoYXQgbWF0Y2ggdGhhdCBvZiBvdXIgY3VycmVudCBcInJvb3RDb250YWluZXJcIi5cbiAgICAgIC8vIElmIHdlIGZpbmQgdGhhdCBcInJvb3RDb250YWluZXJcIiwgd2UgZmluZCB0aGUgcGFyZW50IGZpYmVyXG4gICAgICAvLyBzdWItdHJlZSBmb3IgdGhhdCByb290IGFuZCBtYWtlIHRoYXQgb3VyIGFuY2VzdG9yIGluc3RhbmNlLlxuICAgICAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0O1xuXG4gICAgICBtYWluTG9vcDogd2hpbGUgKHRydWUpIHtcbiAgICAgICAgaWYgKG5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbm9kZVRhZyA9IG5vZGUudGFnO1xuXG4gICAgICAgIGlmIChub2RlVGFnID09PSBIb3N0Um9vdCB8fCBub2RlVGFnID09PSBIb3N0UG9ydGFsKSB7XG4gICAgICAgICAgdmFyIGNvbnRhaW5lciA9IG5vZGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG5cbiAgICAgICAgICBpZiAoaXNNYXRjaGluZ1Jvb3RDb250YWluZXIoY29udGFpbmVyLCB0YXJnZXRDb250YWluZXJOb2RlKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5vZGVUYWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgICAgIC8vIFRoZSB0YXJnZXQgaXMgYSBwb3J0YWwsIGJ1dCBpdCdzIG5vdCB0aGUgcm9vdENvbnRhaW5lciB3ZSdyZSBsb29raW5nIGZvci5cbiAgICAgICAgICAgIC8vIE5vcm1hbGx5IHBvcnRhbHMgaGFuZGxlIHRoZWlyIG93biBldmVudHMgYWxsIHRoZSB3YXkgZG93biB0byB0aGUgcm9vdC5cbiAgICAgICAgICAgIC8vIFNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIHN0b3Agbm93LiBIb3dldmVyLCB3ZSBkb24ndCBrbm93IGlmIHRoaXMgcG9ydGFsXG4gICAgICAgICAgICAvLyB3YXMgcGFydCBvZiAqb3VyKiByb290LlxuICAgICAgICAgICAgdmFyIGdyYW5kTm9kZSA9IG5vZGUucmV0dXJuO1xuXG4gICAgICAgICAgICB3aGlsZSAoZ3JhbmROb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBncmFuZFRhZyA9IGdyYW5kTm9kZS50YWc7XG5cbiAgICAgICAgICAgICAgaWYgKGdyYW5kVGFnID09PSBIb3N0Um9vdCB8fCBncmFuZFRhZyA9PT0gSG9zdFBvcnRhbCkge1xuICAgICAgICAgICAgICAgIHZhciBncmFuZENvbnRhaW5lciA9IGdyYW5kTm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcblxuICAgICAgICAgICAgICAgIGlmIChpc01hdGNoaW5nUm9vdENvbnRhaW5lcihncmFuZENvbnRhaW5lciwgdGFyZ2V0Q29udGFpbmVyTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHJvb3RDb250YWluZXIgd2UncmUgbG9va2luZyBmb3IgYW5kIHdlIGZvdW5kIGl0IGFzXG4gICAgICAgICAgICAgICAgICAvLyBhIHBhcmVudCBvZiB0aGUgUG9ydGFsLiBUaGF0IG1lYW5zIHdlIGNhbiBpZ25vcmUgaXQgYmVjYXVzZSB0aGVcbiAgICAgICAgICAgICAgICAgIC8vIFBvcnRhbCB3aWxsIGJ1YmJsZSB0aHJvdWdoIHRvIHVzLlxuICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGdyYW5kTm9kZSA9IGdyYW5kTm9kZS5yZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBOb3cgd2UgbmVlZCB0byBmaW5kIGl0J3MgY29ycmVzcG9uZGluZyBob3N0IGZpYmVyIGluIHRoZSBvdGhlclxuICAgICAgICAgIC8vIHRyZWUuIFRvIGRvIHRoaXMgd2UgY2FuIHVzZSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSwgYnV0IHdlXG4gICAgICAgICAgLy8gbmVlZCB0byB2YWxpZGF0ZSB0aGF0IHRoZSBmaWJlciBpcyBhIGhvc3QgaW5zdGFuY2UsIG90aGVyd2lzZVxuICAgICAgICAgIC8vIHdlIG5lZWQgdG8gdHJhdmVyc2UgdXAgdGhyb3VnaCB0aGUgRE9NIHRpbGwgd2UgZmluZCB0aGUgY29ycmVjdFxuICAgICAgICAgIC8vIG5vZGUgdGhhdCBpcyBmcm9tIHRoZSBvdGhlciB0cmVlLlxuXG5cbiAgICAgICAgICB3aGlsZSAoY29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgcGFyZW50Tm9kZSA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKGNvbnRhaW5lcik7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHBhcmVudFRhZyA9IHBhcmVudE5vZGUudGFnO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50VGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHBhcmVudFRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgICAgICAgICAgbm9kZSA9IGFuY2VzdG9ySW5zdCA9IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG1haW5Mb29wO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250YWluZXIgPSBjb250YWluZXIucGFyZW50Tm9kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYmF0Y2hlZFVwZGF0ZXMoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBkaXNwYXRjaEV2ZW50c0ZvclBsdWdpbnMoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgYW5jZXN0b3JJbnN0KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGxpc3RlbmVyLCBjdXJyZW50VGFyZ2V0KSB7XG4gIHJldHVybiB7XG4gICAgaW5zdGFuY2U6IGluc3RhbmNlLFxuICAgIGxpc3RlbmVyOiBsaXN0ZW5lcixcbiAgICBjdXJyZW50VGFyZ2V0OiBjdXJyZW50VGFyZ2V0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVTaW5nbGVQaGFzZUxpc3RlbmVycyh0YXJnZXRGaWJlciwgcmVhY3ROYW1lLCBuYXRpdmVFdmVudFR5cGUsIGluQ2FwdHVyZVBoYXNlLCBhY2N1bXVsYXRlVGFyZ2V0T25seSwgbmF0aXZlRXZlbnQpIHtcbiAgdmFyIGNhcHR1cmVOYW1lID0gcmVhY3ROYW1lICE9PSBudWxsID8gcmVhY3ROYW1lICsgJ0NhcHR1cmUnIDogbnVsbDtcbiAgdmFyIHJlYWN0RXZlbnROYW1lID0gaW5DYXB0dXJlUGhhc2UgPyBjYXB0dXJlTmFtZSA6IHJlYWN0TmFtZTtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgaW5zdGFuY2UgPSB0YXJnZXRGaWJlcjtcbiAgdmFyIGxhc3RIb3N0Q29tcG9uZW50ID0gbnVsbDsgLy8gQWNjdW11bGF0ZSBhbGwgaW5zdGFuY2VzIGFuZCBsaXN0ZW5lcnMgdmlhIHRoZSB0YXJnZXQgLT4gcm9vdCBwYXRoLlxuXG4gIHdoaWxlIChpbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgIHZhciBfaW5zdGFuY2UyID0gaW5zdGFuY2UsXG4gICAgICAgIHN0YXRlTm9kZSA9IF9pbnN0YW5jZTIuc3RhdGVOb2RlLFxuICAgICAgICB0YWcgPSBfaW5zdGFuY2UyLnRhZzsgLy8gSGFuZGxlIGxpc3RlbmVycyB0aGF0IGFyZSBvbiBIb3N0Q29tcG9uZW50cyAoaS5lLiA8ZGl2PilcblxuICAgIGlmICh0YWcgPT09IEhvc3RDb21wb25lbnQgJiYgc3RhdGVOb2RlICE9PSBudWxsKSB7XG4gICAgICBsYXN0SG9zdENvbXBvbmVudCA9IHN0YXRlTm9kZTsgLy8gY3JlYXRlRXZlbnRIYW5kbGUgbGlzdGVuZXJzXG5cblxuICAgICAgaWYgKHJlYWN0RXZlbnROYW1lICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBsaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCByZWFjdEV2ZW50TmFtZSk7XG5cbiAgICAgICAgaWYgKGxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgICAgICBsaXN0ZW5lcnMucHVzaChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBsaXN0ZW5lciwgbGFzdEhvc3RDb21wb25lbnQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gSWYgd2UgYXJlIG9ubHkgYWNjdW11bGF0aW5nIGV2ZW50cyBmb3IgdGhlIHRhcmdldCwgdGhlbiB3ZSBkb24ndFxuICAgIC8vIGNvbnRpbnVlIHRvIHByb3BhZ2F0ZSB0aHJvdWdoIHRoZSBSZWFjdCBmaWJlciB0cmVlIHRvIGZpbmQgb3RoZXJcbiAgICAvLyBsaXN0ZW5lcnMuXG5cblxuICAgIGlmIChhY2N1bXVsYXRlVGFyZ2V0T25seSkge1xuICAgICAgYnJlYWs7XG4gICAgfSAvLyBJZiB3ZSBhcmUgcHJvY2Vzc2luZyB0aGUgb25CZWZvcmVCbHVyIGV2ZW50LCB0aGVuIHdlIG5lZWQgdG8gdGFrZVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJzO1xufSAvLyBXZSBzaG91bGQgb25seSB1c2UgdGhpcyBmdW5jdGlvbiBmb3I6XG4vLyAtIEJlZm9yZUlucHV0RXZlbnRQbHVnaW5cbi8vIC0gQ2hhbmdlRXZlbnRQbHVnaW5cbi8vIC0gU2VsZWN0RXZlbnRQbHVnaW5cbi8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBvbmx5IHByb2Nlc3MgdGhlc2UgcGx1Z2luc1xuLy8gaW4gdGhlIGJ1YmJsZSBwaGFzZSwgc28gd2UgbmVlZCB0byBhY2N1bXVsYXRlIHR3b1xuLy8gcGhhc2UgZXZlbnQgbGlzdGVuZXJzICh2aWEgZW11bGF0aW9uKS5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKHRhcmdldEZpYmVyLCByZWFjdE5hbWUpIHtcbiAgdmFyIGNhcHR1cmVOYW1lID0gcmVhY3ROYW1lICsgJ0NhcHR1cmUnO1xuICB2YXIgbGlzdGVuZXJzID0gW107XG4gIHZhciBpbnN0YW5jZSA9IHRhcmdldEZpYmVyOyAvLyBBY2N1bXVsYXRlIGFsbCBpbnN0YW5jZXMgYW5kIGxpc3RlbmVycyB2aWEgdGhlIHRhcmdldCAtPiByb290IHBhdGguXG5cbiAgd2hpbGUgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgdmFyIF9pbnN0YW5jZTMgPSBpbnN0YW5jZSxcbiAgICAgICAgc3RhdGVOb2RlID0gX2luc3RhbmNlMy5zdGF0ZU5vZGUsXG4gICAgICAgIHRhZyA9IF9pbnN0YW5jZTMudGFnOyAvLyBIYW5kbGUgbGlzdGVuZXJzIHRoYXQgYXJlIG9uIEhvc3RDb21wb25lbnRzIChpLmUuIDxkaXY+KVxuXG4gICAgaWYgKHRhZyA9PT0gSG9zdENvbXBvbmVudCAmJiBzdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBjdXJyZW50VGFyZ2V0ID0gc3RhdGVOb2RlO1xuICAgICAgdmFyIGNhcHR1cmVMaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTmFtZSk7XG5cbiAgICAgIGlmIChjYXB0dXJlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICBsaXN0ZW5lcnMudW5zaGlmdChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGJ1YmJsZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlYWN0TmFtZSk7XG5cbiAgICAgIGlmIChidWJibGVMaXN0ZW5lciAhPSBudWxsKSB7XG4gICAgICAgIGxpc3RlbmVycy5wdXNoKGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGJ1YmJsZUxpc3RlbmVyLCBjdXJyZW50VGFyZ2V0KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJzO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJlbnQoaW5zdCkge1xuICBpZiAoaW5zdCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZG8ge1xuICAgIGluc3QgPSBpbnN0LnJldHVybjsgLy8gVE9ETzogSWYgdGhpcyBpcyBhIEhvc3RSb290IHdlIG1pZ2h0IHdhbnQgdG8gYmFpbCBvdXQuXG4gICAgLy8gVGhhdCBpcyBkZXBlbmRpbmcgb24gaWYgd2Ugd2FudCBuZXN0ZWQgc3VidHJlZXMgKGxheWVycykgdG8gYnViYmxlXG4gICAgLy8gZXZlbnRzIHRvIHRoZWlyIHBhcmVudC4gV2UgY291bGQgYWxzbyBnbyB0aHJvdWdoIHBhcmVudE5vZGUgb24gdGhlXG4gICAgLy8gaG9zdCBub2RlIGJ1dCB0aGF0IHdvdWxkbid0IHdvcmsgZm9yIFJlYWN0IE5hdGl2ZSBhbmQgZG9lc24ndCBsZXQgdXNcbiAgICAvLyBkbyB0aGUgcG9ydGFsIGZlYXR1cmUuXG4gIH0gd2hpbGUgKGluc3QgJiYgaW5zdC50YWcgIT09IEhvc3RDb21wb25lbnQpO1xuXG4gIGlmIChpbnN0KSB7XG4gICAgcmV0dXJuIGluc3Q7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogUmV0dXJuIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIEEgYW5kIEIsIG9yIG51bGwgaWYgdGhleSBhcmUgaW5cbiAqIGRpZmZlcmVudCB0cmVlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldExvd2VzdENvbW1vbkFuY2VzdG9yKGluc3RBLCBpbnN0Qikge1xuICB2YXIgbm9kZUEgPSBpbnN0QTtcbiAgdmFyIG5vZGVCID0gaW5zdEI7XG4gIHZhciBkZXB0aEEgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBBID0gbm9kZUE7IHRlbXBBOyB0ZW1wQSA9IGdldFBhcmVudCh0ZW1wQSkpIHtcbiAgICBkZXB0aEErKztcbiAgfVxuXG4gIHZhciBkZXB0aEIgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBCID0gbm9kZUI7IHRlbXBCOyB0ZW1wQiA9IGdldFBhcmVudCh0ZW1wQikpIHtcbiAgICBkZXB0aEIrKztcbiAgfSAvLyBJZiBBIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhBIC0gZGVwdGhCID4gMCkge1xuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBkZXB0aEEtLTtcbiAgfSAvLyBJZiBCIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhCIC0gZGVwdGhBID4gMCkge1xuICAgIG5vZGVCID0gZ2V0UGFyZW50KG5vZGVCKTtcbiAgICBkZXB0aEItLTtcbiAgfSAvLyBXYWxrIGluIGxvY2tzdGVwIHVudGlsIHdlIGZpbmQgYSBtYXRjaC5cblxuXG4gIHZhciBkZXB0aCA9IGRlcHRoQTtcblxuICB3aGlsZSAoZGVwdGgtLSkge1xuICAgIGlmIChub2RlQSA9PT0gbm9kZUIgfHwgbm9kZUIgIT09IG51bGwgJiYgbm9kZUEgPT09IG5vZGVCLmFsdGVybmF0ZSkge1xuICAgICAgcmV0dXJuIG5vZGVBO1xuICAgIH1cblxuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBub2RlQiA9IGdldFBhcmVudChub2RlQik7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVMaXN0ZW5lcnNGb3JFdmVudChkaXNwYXRjaFF1ZXVlLCBldmVudCwgdGFyZ2V0LCBjb21tb24sIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciByZWdpc3RyYXRpb25OYW1lID0gZXZlbnQuX3JlYWN0TmFtZTtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgaW5zdGFuY2UgPSB0YXJnZXQ7XG5cbiAgd2hpbGUgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgaWYgKGluc3RhbmNlID09PSBjb21tb24pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBfaW5zdGFuY2U0ID0gaW5zdGFuY2UsXG4gICAgICAgIGFsdGVybmF0ZSA9IF9pbnN0YW5jZTQuYWx0ZXJuYXRlLFxuICAgICAgICBzdGF0ZU5vZGUgPSBfaW5zdGFuY2U0LnN0YXRlTm9kZSxcbiAgICAgICAgdGFnID0gX2luc3RhbmNlNC50YWc7XG5cbiAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZSA9PT0gY29tbW9uKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSBIb3N0Q29tcG9uZW50ICYmIHN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIGN1cnJlbnRUYXJnZXQgPSBzdGF0ZU5vZGU7XG5cbiAgICAgIGlmIChpbkNhcHR1cmVQaGFzZSkge1xuICAgICAgICB2YXIgY2FwdHVyZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuXG4gICAgICAgIGlmIChjYXB0dXJlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICAgIGxpc3RlbmVycy51bnNoaWZ0KGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGNhcHR1cmVMaXN0ZW5lciwgY3VycmVudFRhcmdldCkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFpbkNhcHR1cmVQaGFzZSkge1xuICAgICAgICB2YXIgYnViYmxlTGlzdGVuZXIgPSBnZXRMaXN0ZW5lcihpbnN0YW5jZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG5cbiAgICAgICAgaWYgKGJ1YmJsZUxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgICAgICBsaXN0ZW5lcnMucHVzaChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBidWJibGVMaXN0ZW5lciwgY3VycmVudFRhcmdldCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICBpZiAobGlzdGVuZXJzLmxlbmd0aCAhPT0gMCkge1xuICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1xuICAgIH0pO1xuICB9XG59IC8vIFdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGZ1bmN0aW9uIGZvcjpcbi8vIC0gRW50ZXJMZWF2ZUV2ZW50UGx1Z2luXG4vLyBUaGlzIGlzIGJlY2F1c2Ugd2Ugb25seSBwcm9jZXNzIHRoaXMgcGx1Z2luXG4vLyBpbiB0aGUgYnViYmxlIHBoYXNlLCBzbyB3ZSBuZWVkIHRvIGFjY3VtdWxhdGUgdHdvXG4vLyBwaGFzZSBldmVudCBsaXN0ZW5lcnMuXG5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVUd29QaGFzZUxpc3RlbmVycyhkaXNwYXRjaFF1ZXVlLCBsZWF2ZUV2ZW50LCBlbnRlckV2ZW50LCBmcm9tLCB0bykge1xuICB2YXIgY29tbW9uID0gZnJvbSAmJiB0byA/IGdldExvd2VzdENvbW1vbkFuY2VzdG9yKGZyb20sIHRvKSA6IG51bGw7XG5cbiAgaWYgKGZyb20gIT09IG51bGwpIHtcbiAgICBhY2N1bXVsYXRlRW50ZXJMZWF2ZUxpc3RlbmVyc0ZvckV2ZW50KGRpc3BhdGNoUXVldWUsIGxlYXZlRXZlbnQsIGZyb20sIGNvbW1vbiwgZmFsc2UpO1xuICB9XG5cbiAgaWYgKHRvICE9PSBudWxsICYmIGVudGVyRXZlbnQgIT09IG51bGwpIHtcbiAgICBhY2N1bXVsYXRlRW50ZXJMZWF2ZUxpc3RlbmVyc0ZvckV2ZW50KGRpc3BhdGNoUXVldWUsIGVudGVyRXZlbnQsIHRvLCBjb21tb24sIHRydWUpO1xuICB9XG59XG5mdW5jdGlvbiBnZXRMaXN0ZW5lclNldEtleShkb21FdmVudE5hbWUsIGNhcHR1cmUpIHtcbiAgcmV0dXJuIGRvbUV2ZW50TmFtZSArIFwiX19cIiArIChjYXB0dXJlID8gJ2NhcHR1cmUnIDogJ2J1YmJsZScpO1xufVxuXG52YXIgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSBmYWxzZTtcbnZhciBEQU5HRVJPVVNMWV9TRVRfSU5ORVJfSFRNTCA9ICdkYW5nZXJvdXNseVNldElubmVySFRNTCc7XG52YXIgU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HID0gJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyc7XG52YXIgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcgPSAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJztcbnZhciBBVVRPRk9DVVMgPSAnYXV0b0ZvY3VzJztcbnZhciBDSElMRFJFTiA9ICdjaGlsZHJlbic7XG52YXIgU1RZTEUgPSAnc3R5bGUnO1xudmFyIEhUTUwkMSA9ICdfX2h0bWwnO1xudmFyIHdhcm5lZFVua25vd25UYWdzO1xudmFyIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQ7XG52YXIgd2FybkZvclByb3BEaWZmZXJlbmNlO1xudmFyIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXM7XG52YXIgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyO1xudmFyIGNhbkRpZmZTdHlsZUZvckh5ZHJhdGlvbldhcm5pbmc7XG52YXIgbm9ybWFsaXplSFRNTDtcblxue1xuICB3YXJuZWRVbmtub3duVGFncyA9IHtcbiAgICAvLyBUaGVyZSBhcmUgd29ya2luZyBwb2x5ZmlsbHMgZm9yIDxkaWFsb2c+LiBMZXQgcGVvcGxlIHVzZSBpdC5cbiAgICBkaWFsb2c6IHRydWUsXG4gICAgLy8gRWxlY3Ryb24gc2hpcHMgYSBjdXN0b20gPHdlYnZpZXc+IHRhZyB0byBkaXNwbGF5IGV4dGVybmFsIHdlYiBjb250ZW50IGluXG4gICAgLy8gYW4gaXNvbGF0ZWQgZnJhbWUgYW5kIHByb2Nlc3MuXG4gICAgLy8gVGhpcyB0YWcgaXMgbm90IHByZXNlbnQgaW4gbm9uIEVsZWN0cm9uIGVudmlyb25tZW50cyBzdWNoIGFzIEpTRG9tIHdoaWNoXG4gICAgLy8gaXMgb2Z0ZW4gdXNlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAgICAvLyBAc2VlIGh0dHBzOi8vZWxlY3Ryb25qcy5vcmcvZG9jcy9hcGkvd2Vidmlldy10YWdcbiAgICB3ZWJ2aWV3OiB0cnVlXG4gIH07XG5cbiAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCA9IGZ1bmN0aW9uICh0eXBlLCBwcm9wcykge1xuICAgIHZhbGlkYXRlUHJvcGVydGllcyh0eXBlLCBwcm9wcyk7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzJDEodHlwZSwgcHJvcHMpO1xuICAgIHZhbGlkYXRlUHJvcGVydGllcyQyKHR5cGUsIHByb3BzLCB7XG4gICAgICByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzOiByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLFxuICAgICAgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lczogcG9zc2libGVSZWdpc3RyYXRpb25OYW1lc1xuICAgIH0pO1xuICB9OyAvLyBJRSAxMSBwYXJzZXMgJiBub3JtYWxpemVzIHRoZSBzdHlsZSBhdHRyaWJ1dGUgYXMgb3Bwb3NlZCB0byBvdGhlclxuICAvLyBicm93c2Vycy4gSXQgYWRkcyBzcGFjZXMgYW5kIHNvcnRzIHRoZSBwcm9wZXJ0aWVzIGluIHNvbWVcbiAgLy8gbm9uLWFscGhhYmV0aWNhbCBvcmRlci4gSGFuZGxpbmcgdGhhdCB3b3VsZCByZXF1aXJlIHNvcnRpbmcgQ1NTXG4gIC8vIHByb3BlcnRpZXMgaW4gdGhlIGNsaWVudCAmIHNlcnZlciB2ZXJzaW9ucyBvciBhcHBseWluZ1xuICAvLyBgZXhwZWN0ZWRTdHlsZWAgdG8gYSB0ZW1wb3JhcnkgRE9NIG5vZGUgdG8gcmVhZCBpdHMgYHN0eWxlYCBhdHRyaWJ1dGVcbiAgLy8gbm9ybWFsaXplZC4gU2luY2UgaXQgb25seSBhZmZlY3RzIElFLCB3ZSdyZSBza2lwcGluZyBzdHlsZSB3YXJuaW5nc1xuICAvLyBpbiB0aGF0IGJyb3dzZXIgY29tcGxldGVseSBpbiBmYXZvciBvZiBkb2luZyBhbGwgdGhhdCB3b3JrLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTgwN1xuXG5cbiAgY2FuRGlmZlN0eWxlRm9ySHlkcmF0aW9uV2FybmluZyA9IGNhblVzZURPTSAmJiAhZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xuXG4gIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZSA9IGZ1bmN0aW9uIChwcm9wTmFtZSwgc2VydmVyVmFsdWUsIGNsaWVudFZhbHVlKSB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5vcm1hbGl6ZWRDbGllbnRWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShjbGllbnRWYWx1ZSk7XG4gICAgdmFyIG5vcm1hbGl6ZWRTZXJ2ZXJWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShzZXJ2ZXJWYWx1ZSk7XG5cbiAgICBpZiAobm9ybWFsaXplZFNlcnZlclZhbHVlID09PSBub3JtYWxpemVkQ2xpZW50VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignUHJvcCBgJXNgIGRpZCBub3QgbWF0Y2guIFNlcnZlcjogJXMgQ2xpZW50OiAlcycsIHByb3BOYW1lLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkU2VydmVyVmFsdWUpLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkQ2xpZW50VmFsdWUpKTtcbiAgfTtcblxuICB3YXJuRm9yRXh0cmFBdHRyaWJ1dGVzID0gZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuICAgIHZhciBuYW1lcyA9IFtdO1xuICAgIGF0dHJpYnV0ZU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIG5hbWVzLnB1c2gobmFtZSk7XG4gICAgfSk7XG5cbiAgICBlcnJvcignRXh0cmEgYXR0cmlidXRlcyBmcm9tIHRoZSBzZXJ2ZXI6ICVzJywgbmFtZXMpO1xuICB9O1xuXG4gIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uIChyZWdpc3RyYXRpb25OYW1lLCBsaXN0ZW5lcikge1xuICAgIGlmIChsaXN0ZW5lciA9PT0gZmFsc2UpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBgJXNgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGBmYWxzZWAuXFxuXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3IoJ0V4cGVjdGVkIGAlc2AgbGlzdGVuZXIgdG8gYmUgYSBmdW5jdGlvbiwgaW5zdGVhZCBnb3QgYSB2YWx1ZSBvZiBgJXNgIHR5cGUuJywgcmVnaXN0cmF0aW9uTmFtZSwgdHlwZW9mIGxpc3RlbmVyKTtcbiAgICB9XG4gIH07IC8vIFBhcnNlIHRoZSBIVE1MIGFuZCByZWFkIGl0IGJhY2sgdG8gbm9ybWFsaXplIHRoZSBIVE1MIHN0cmluZyBzbyB0aGF0IGl0XG4gIC8vIGNhbiBiZSB1c2VkIGZvciBjb21wYXJpc29uLlxuXG5cbiAgbm9ybWFsaXplSFRNTCA9IGZ1bmN0aW9uIChwYXJlbnQsIGh0bWwpIHtcbiAgICAvLyBXZSBjb3VsZCBoYXZlIGNyZWF0ZWQgYSBzZXBhcmF0ZSBkb2N1bWVudCBoZXJlIHRvIGF2b2lkXG4gICAgLy8gcmUtaW5pdGlhbGl6aW5nIGN1c3RvbSBlbGVtZW50cyBpZiB0aGV5IGV4aXN0LiBCdXQgdGhpcyBicmVha3NcbiAgICAvLyBob3cgPG5vc2NyaXB0PiBpcyBiZWluZyBoYW5kbGVkLiBTbyB3ZSB1c2UgdGhlIHNhbWUgZG9jdW1lbnQuXG4gICAgLy8gU2VlIHRoZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzExMTU3LlxuICAgIHZhciB0ZXN0RWxlbWVudCA9IHBhcmVudC5uYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFID8gcGFyZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJlbnQudGFnTmFtZSkgOiBwYXJlbnQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMocGFyZW50Lm5hbWVzcGFjZVVSSSwgcGFyZW50LnRhZ05hbWUpO1xuICAgIHRlc3RFbGVtZW50LmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHRlc3RFbGVtZW50LmlubmVySFRNTDtcbiAgfTtcbn0gLy8gSFRNTCBwYXJzaW5nIG5vcm1hbGl6ZXMgQ1IgYW5kIENSTEYgdG8gTEYuXG4vLyBJdCBhbHNvIGNhbiB0dXJuIFxcdTAwMDAgaW50byBcXHVGRkZEIGluc2lkZSBhdHRyaWJ1dGVzLlxuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3NpbmdsZS1wYWdlLmh0bWwjcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtXG4vLyBJZiB3ZSBoYXZlIGEgbWlzbWF0Y2gsIGl0IG1pZ2h0IGJlIGNhdXNlZCBieSB0aGF0LlxuLy8gV2Ugd2lsbCBzdGlsbCBwYXRjaCB1cCBpbiB0aGlzIGNhc2UgYnV0IG5vdCBmaXJlIHRoZSB3YXJuaW5nLlxuXG5cbnZhciBOT1JNQUxJWkVfTkVXTElORVNfUkVHRVggPSAvXFxyXFxuPy9nO1xudmFyIE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCA9IC9cXHUwMDAwfFxcdUZGRkQvZztcblxuZnVuY3Rpb24gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKG1hcmt1cCkge1xuICB7XG4gICAgY2hlY2tIdG1sU3RyaW5nQ29lcmNpb24obWFya3VwKTtcbiAgfVxuXG4gIHZhciBtYXJrdXBTdHJpbmcgPSB0eXBlb2YgbWFya3VwID09PSAnc3RyaW5nJyA/IG1hcmt1cCA6ICcnICsgbWFya3VwO1xuICByZXR1cm4gbWFya3VwU3RyaW5nLnJlcGxhY2UoTk9STUFMSVpFX05FV0xJTkVTX1JFR0VYLCAnXFxuJykucmVwbGFjZShOT1JNQUxJWkVfTlVMTF9BTkRfUkVQTEFDRU1FTlRfUkVHRVgsICcnKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tGb3JVbm1hdGNoZWRUZXh0KHNlcnZlclRleHQsIGNsaWVudFRleHQsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgdmFyIG5vcm1hbGl6ZWRDbGllbnRUZXh0ID0gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKGNsaWVudFRleHQpO1xuICB2YXIgbm9ybWFsaXplZFNlcnZlclRleHQgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoc2VydmVyVGV4dCk7XG5cbiAgaWYgKG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0ID09PSBub3JtYWxpemVkQ2xpZW50VGV4dCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChzaG91bGRXYXJuRGV2KSB7XG4gICAge1xuICAgICAgaWYgKCFkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJ1RleHQgY29udGVudCBkaWQgbm90IG1hdGNoLiBTZXJ2ZXI6IFwiJXNcIiBDbGllbnQ6IFwiJXNcIicsIG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0LCBub3JtYWxpemVkQ2xpZW50VGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGlzQ29uY3VycmVudE1vZGUgJiYgZW5hYmxlQ2xpZW50UmVuZGVyRmFsbGJhY2tPblRleHRNaXNtYXRjaCkge1xuICAgIC8vIEluIGNvbmN1cnJlbnQgcm9vdHMsIHdlIHRocm93IHdoZW4gdGhlcmUncyBhIHRleHQgbWlzbWF0Y2ggYW5kIHJldmVydCB0b1xuICAgIC8vIGNsaWVudCByZW5kZXJpbmcsIHVwIHRvIHRoZSBuZWFyZXN0IFN1c3BlbnNlIGJvdW5kYXJ5LlxuICAgIHRocm93IG5ldyBFcnJvcignVGV4dCBjb250ZW50IGRvZXMgbm90IG1hdGNoIHNlcnZlci1yZW5kZXJlZCBIVE1MLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE93bmVyRG9jdW1lbnRGcm9tUm9vdENvbnRhaW5lcihyb290Q29udGFpbmVyRWxlbWVudCkge1xuICByZXR1cm4gcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyByb290Q29udGFpbmVyRWxlbWVudCA6IHJvb3RDb250YWluZXJFbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG59XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5mdW5jdGlvbiB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChub2RlKSB7XG4gIC8vIE1vYmlsZSBTYWZhcmkgZG9lcyBub3QgZmlyZSBwcm9wZXJseSBidWJibGUgY2xpY2sgZXZlbnRzIG9uXG4gIC8vIG5vbi1pbnRlcmFjdGl2ZSBlbGVtZW50cywgd2hpY2ggbWVhbnMgZGVsZWdhdGVkIGNsaWNrIGxpc3RlbmVycyBkbyBub3RcbiAgLy8gZmlyZS4gVGhlIHdvcmthcm91bmQgZm9yIHRoaXMgYnVnIGludm9sdmVzIGF0dGFjaGluZyBhbiBlbXB0eSBjbGlja1xuICAvLyBsaXN0ZW5lciBvbiB0aGUgdGFyZ2V0IG5vZGUuXG4gIC8vIGh0dHBzOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxMC8wOS9jbGlja19ldmVudF9kZWwuaHRtbFxuICAvLyBKdXN0IHNldCBpdCB1c2luZyB0aGUgb25jbGljayBwcm9wZXJ0eSBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gbWFuYWdlIGFueVxuICAvLyBib29ra2VlcGluZyBmb3IgaXQuIE5vdCBzdXJlIGlmIHdlIG5lZWQgdG8gY2xlYXIgaXQgd2hlbiB0aGUgbGlzdGVuZXIgaXNcbiAgLy8gcmVtb3ZlZC5cbiAgLy8gVE9ETzogT25seSBkbyB0aGlzIGZvciB0aGUgcmVsZXZhbnQgU2FmYXJpcyBtYXliZT9cbiAgbm9kZS5vbmNsaWNrID0gbm9vcDtcbn1cblxuZnVuY3Rpb24gc2V0SW5pdGlhbERPTVByb3BlcnRpZXModGFnLCBkb21FbGVtZW50LCByb290Q29udGFpbmVyRWxlbWVudCwgbmV4dFByb3BzLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICBmb3IgKHZhciBwcm9wS2V5IGluIG5leHRQcm9wcykge1xuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgbmV4dFByb3AgPSBuZXh0UHJvcHNbcHJvcEtleV07XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHtcbiAgICAgICAgaWYgKG5leHRQcm9wKSB7XG4gICAgICAgICAgLy8gRnJlZXplIHRoZSBuZXh0IHN0eWxlIG9iamVjdCBzbyB0aGF0IHdlIGNhbiBhc3N1bWUgaXQgd29uJ3QgYmVcbiAgICAgICAgICAvLyBtdXRhdGVkLiBXZSBoYXZlIGFscmVhZHkgd2FybmVkIGZvciB0aGlzIGluIHRoZSBwYXN0LlxuICAgICAgICAgIE9iamVjdC5mcmVlemUobmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IC8vIFJlbGllcyBvbiBgdXBkYXRlU3R5bGVzQnlJRGAgbm90IG11dGF0aW5nIGBzdHlsZVVwZGF0ZXNgLlxuXG5cbiAgICAgIHNldFZhbHVlRm9yU3R5bGVzKGRvbUVsZW1lbnQsIG5leHRQcm9wKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XG4gICAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBDSElMRFJFTikge1xuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gQXZvaWQgc2V0dGluZyBpbml0aWFsIHRleHRDb250ZW50IHdoZW4gdGhlIHRleHQgaXMgZW1wdHkuIEluIElFMTEgc2V0dGluZ1xuICAgICAgICAvLyB0ZXh0Q29udGVudCBvbiBhIDx0ZXh0YXJlYT4gd2lsbCBjYXVzZSB0aGUgcGxhY2Vob2xkZXIgdG8gbm90XG4gICAgICAgIC8vIHNob3cgd2l0aGluIHRoZSA8dGV4dGFyZWE+IHVudGlsIGl0IGhhcyBiZWVuIGZvY3VzZWQgYW5kIGJsdXJyZWQgYWdhaW4uXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNjczMSNpc3N1ZWNvbW1lbnQtMjU0ODc0NTUzXG4gICAgICAgIHZhciBjYW5TZXRUZXh0Q29udGVudCA9IHRhZyAhPT0gJ3RleHRhcmVhJyB8fCBuZXh0UHJvcCAhPT0gJyc7XG5cbiAgICAgICAgaWYgKGNhblNldFRleHRDb250ZW50KSB7XG4gICAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycgKyBuZXh0UHJvcCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBTVVBQUkVTU19DT05URU5UX0VESVRBQkxFX1dBUk5JTkcgfHwgcHJvcEtleSA9PT0gU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gQVVUT0ZPQ1VTKSA7IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGlmIChuZXh0UHJvcCAhPSBudWxsKSB7XG4gICAgICAgIGlmICggdHlwZW9mIG5leHRQcm9wICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wS2V5ID09PSAnb25TY3JvbGwnKSB7XG4gICAgICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnc2Nyb2xsJywgZG9tRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgIHNldFZhbHVlRm9yUHJvcGVydHkoZG9tRWxlbWVudCwgcHJvcEtleSwgbmV4dFByb3AsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlRE9NUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB3YXNDdXN0b21Db21wb25lbnRUYWcsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIC8vIFRPRE86IEhhbmRsZSB3YXNDdXN0b21Db21wb25lbnRUYWdcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB1cGRhdGVQYXlsb2FkLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIHByb3BLZXkgPSB1cGRhdGVQYXlsb2FkW2ldO1xuICAgIHZhciBwcm9wVmFsdWUgPSB1cGRhdGVQYXlsb2FkW2kgKyAxXTtcblxuICAgIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAgc2V0VmFsdWVGb3JTdHlsZXMoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICBzZXRJbm5lckhUTUwoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCBwcm9wVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRWYWx1ZUZvclByb3BlcnR5KGRvbUVsZW1lbnQsIHByb3BLZXksIHByb3BWYWx1ZSwgaXNDdXN0b21Db21wb25lbnRUYWcpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVyRWxlbWVudCwgcGFyZW50TmFtZXNwYWNlKSB7XG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZzsgLy8gV2UgY3JlYXRlIHRhZ3MgaW4gdGhlIG5hbWVzcGFjZSBvZiB0aGVpciBwYXJlbnQgY29udGFpbmVyLCBleGNlcHQgSFRNTFxuICAvLyB0YWdzIGdldCBubyBuYW1lc3BhY2UuXG5cbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICB2YXIgZG9tRWxlbWVudDtcbiAgdmFyIG5hbWVzcGFjZVVSSSA9IHBhcmVudE5hbWVzcGFjZTtcblxuICBpZiAobmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSkge1xuICAgIG5hbWVzcGFjZVVSSSA9IGdldEludHJpbnNpY05hbWVzcGFjZSh0eXBlKTtcbiAgfVxuXG4gIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAge1xuICAgICAgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0eXBlLCBwcm9wcyk7IC8vIFNob3VsZCB0aGlzIGNoZWNrIGJlIGdhdGVkIGJ5IHBhcmVudCBuYW1lc3BhY2U/IE5vdCBzdXJlIHdlIHdhbnQgdG9cbiAgICAgIC8vIGFsbG93IDxTVkc+IG9yIDxtQVRIPi5cblxuICAgICAgaWYgKCFpc0N1c3RvbUNvbXBvbmVudFRhZyAmJiB0eXBlICE9PSB0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgZXJyb3IoJzwlcyAvPiBpcyB1c2luZyBpbmNvcnJlY3QgY2FzaW5nLiAnICsgJ1VzZSBQYXNjYWxDYXNlIGZvciBSZWFjdCBjb21wb25lbnRzLCAnICsgJ29yIGxvd2VyY2FzZSBmb3IgSFRNTCBlbGVtZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgIC8vIENyZWF0ZSB0aGUgc2NyaXB0IHZpYSAuaW5uZXJIVE1MIHNvIGl0cyBcInBhcnNlci1pbnNlcnRlZFwiIGZsYWcgaXNcbiAgICAgIC8vIHNldCB0byB0cnVlIGFuZCBpdCBkb2VzIG5vdCBleGVjdXRlXG4gICAgICB2YXIgZGl2ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgZGl2LmlubmVySFRNTCA9ICc8c2NyaXB0PjwnICsgJy9zY3JpcHQ+JzsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgLy8gVGhpcyBpcyBndWFyYW50ZWVkIHRvIHlpZWxkIGEgc2NyaXB0IGVsZW1lbnQuXG5cbiAgICAgIHZhciBmaXJzdENoaWxkID0gZGl2LmZpcnN0Q2hpbGQ7XG4gICAgICBkb21FbGVtZW50ID0gZGl2LnJlbW92ZUNoaWxkKGZpcnN0Q2hpbGQpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gJEZsb3dJc3N1ZSBgY3JlYXRlRWxlbWVudGAgc2hvdWxkIGJlIHVwZGF0ZWQgZm9yIFdlYiBDb21wb25lbnRzXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUsIHtcbiAgICAgICAgaXM6IHByb3BzLmlzXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2VwYXJhdGUgZWxzZSBicmFuY2ggaW5zdGVhZCBvZiB1c2luZyBgcHJvcHMuaXMgfHwgdW5kZWZpbmVkYCBhYm92ZSBiZWNhdXNlIG9mIGEgRmlyZWZveCBidWcuXG4gICAgICAvLyBTZWUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC82ODk2XG4gICAgICAvLyBhbmQgZGlzY3Vzc2lvbiBpbiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MjQwXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOyAvLyBOb3JtYWxseSBhdHRyaWJ1dGVzIGFyZSBhc3NpZ25lZCBpbiBgc2V0SW5pdGlhbERPTVByb3BlcnRpZXNgLCBob3dldmVyIHRoZSBgbXVsdGlwbGVgIGFuZCBgc2l6ZWBcbiAgICAgIC8vIGF0dHJpYnV0ZXMgb24gYHNlbGVjdGBzIG5lZWRzIHRvIGJlIGFkZGVkIGJlZm9yZSBgb3B0aW9uYHMgYXJlIGluc2VydGVkLlxuICAgICAgLy8gVGhpcyBwcmV2ZW50czpcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIGRvZXMgbm90IHNjcm9sbCB0byB0aGUgY29ycmVjdCBvcHRpb24gYmVjYXVzZSBzaW5ndWxhclxuICAgICAgLy8gIGBzZWxlY3RgIGVsZW1lbnRzIGF1dG9tYXRpY2FsbHkgcGljayB0aGUgZmlyc3QgaXRlbSAjMTMyMjJcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIHNldCB0aGUgZmlyc3QgaXRlbSBhcyBzZWxlY3RlZCBkZXNwaXRlIHRoZSBgc2l6ZWAgYXR0cmlidXRlICMxNDIzOVxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTMyMjJcbiAgICAgIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE0MjM5XG5cbiAgICAgIGlmICh0eXBlID09PSAnc2VsZWN0Jykge1xuICAgICAgICB2YXIgbm9kZSA9IGRvbUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHByb3BzLm11bHRpcGxlKSB7XG4gICAgICAgICAgbm9kZS5tdWx0aXBsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMuc2l6ZSkge1xuICAgICAgICAgIC8vIFNldHRpbmcgYSBzaXplIGdyZWF0ZXIgdGhhbiAxIGNhdXNlcyBhIHNlbGVjdCB0byBiZWhhdmUgbGlrZSBgbXVsdGlwbGU9dHJ1ZWAsIHdoZXJlXG4gICAgICAgICAgLy8gaXQgaXMgcG9zc2libGUgdGhhdCBubyBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gYSBzZWxlY3QgaW4gXCJzaW5nbGUgc2VsZWN0aW9uIG1vZGVcIi5cbiAgICAgICAgICBub2RlLnNpemUgPSBwcm9wcy5zaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRvbUVsZW1lbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuYW1lc3BhY2VVUkksIHR5cGUpO1xuICB9XG5cbiAge1xuICAgIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAgICBpZiAoIWlzQ3VzdG9tQ29tcG9uZW50VGFnICYmIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkb21FbGVtZW50KSA9PT0gJ1tvYmplY3QgSFRNTFVua25vd25FbGVtZW50XScgJiYgIWhhc093blByb3BlcnR5LmNhbGwod2FybmVkVW5rbm93blRhZ3MsIHR5cGUpKSB7XG4gICAgICAgIHdhcm5lZFVua25vd25UYWdzW3R5cGVdID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignVGhlIHRhZyA8JXM+IGlzIHVucmVjb2duaXplZCBpbiB0aGlzIGJyb3dzZXIuICcgKyAnSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIFJlYWN0IGNvbXBvbmVudCwgc3RhcnQgaXRzIG5hbWUgd2l0aCAnICsgJ2FuIHVwcGVyY2FzZSBsZXR0ZXIuJywgdHlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XG59XG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSh0ZXh0LCByb290Q29udGFpbmVyRWxlbWVudCkge1xuICByZXR1cm4gZ2V0T3duZXJEb2N1bWVudEZyb21Sb290Q29udGFpbmVyKHJvb3RDb250YWluZXJFbGVtZW50KS5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcbn1cbmZ1bmN0aW9uIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHRhZywgcmF3UHJvcHMsIHJvb3RDb250YWluZXJFbGVtZW50KSB7XG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xuXG4gIHtcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50KHRhZywgcmF3UHJvcHMpO1xuICB9IC8vIFRPRE86IE1ha2Ugc3VyZSB0aGF0IHdlIGNoZWNrIGlzTW91bnRlZCBiZWZvcmUgZmlyaW5nIGFueSBvZiB0aGVzZSBldmVudHMuXG5cblxuICB2YXIgcHJvcHM7XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdkaWFsb2cnOlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnY2FuY2VsJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdjbG9zZScsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaWZyYW1lJzpcbiAgICBjYXNlICdvYmplY3QnOlxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBsb2FkIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndmlkZW8nOlxuICAgIGNhc2UgJ2F1ZGlvJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGVzZSBldmVudHMgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgYWxsIHRoZSBtZWRpYSBldmVudHMuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lZGlhRXZlbnRUeXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KG1lZGlhRXZlbnRUeXBlc1tpXSwgZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3NvdXJjZSc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgZXJyb3IgZXZlbnQuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdlcnJvcicsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdpbWFnZSc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhlc2UgZXZlbnRzIGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIGVycm9yIGFuZCBsb2FkIGV2ZW50cy5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdsb2FkJywgZG9tRWxlbWVudCk7XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkZXRhaWxzJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSB0b2dnbGUgZXZlbnQuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCd0b2dnbGUnLCBkb21FbGVtZW50KTtcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpOyAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgdmFsaWRhdGVQcm9wcyhkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcbiAgICAgIHByb3BzID0gZ2V0SG9zdFByb3BzJDEoZG9tRWxlbWVudCwgcmF3UHJvcHMpOyAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlJDIoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCByYXdQcm9wcyk7IC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBpbnZhbGlkIGV2ZW50LlxuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdpbnZhbGlkJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKTtcbiAgc2V0SW5pdGlhbERPTVByb3BlcnRpZXModGFnLCBkb21FbGVtZW50LCByb290Q29udGFpbmVyRWxlbWVudCwgcHJvcHMsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXG4gICAgICB0cmFjayhkb21FbGVtZW50KTtcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIoZG9tRWxlbWVudCwgcmF3UHJvcHMsIGZhbHNlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgcG9zdE1vdW50V3JhcHBlciQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAodHlwZW9mIHByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG59IC8vIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuIHRoZSB0d28gb2JqZWN0cy5cblxuZnVuY3Rpb24gZGlmZlByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcywgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcbiAge1xuICAgIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQodGFnLCBuZXh0UmF3UHJvcHMpO1xuICB9XG5cbiAgdmFyIHVwZGF0ZVBheWxvYWQgPSBudWxsO1xuICB2YXIgbGFzdFByb3BzO1xuICB2YXIgbmV4dFByb3BzO1xuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgICAgbGFzdFByb3BzID0gZ2V0SG9zdFByb3BzKGRvbUVsZW1lbnQsIGxhc3RSYXdQcm9wcyk7XG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIGxhc3RQcm9wcyA9IGdldEhvc3RQcm9wcyQxKGRvbUVsZW1lbnQsIGxhc3RSYXdQcm9wcyk7XG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCBsYXN0UmF3UHJvcHMpO1xuICAgICAgbmV4dFByb3BzID0gZ2V0SG9zdFByb3BzJDIoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGxhc3RQcm9wcyA9IGxhc3RSYXdQcm9wcztcbiAgICAgIG5leHRQcm9wcyA9IG5leHRSYXdQcm9wcztcblxuICAgICAgaWYgKHR5cGVvZiBsYXN0UHJvcHMub25DbGljayAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgbmV4dFByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIG5leHRQcm9wcyk7XG4gIHZhciBwcm9wS2V5O1xuICB2YXIgc3R5bGVOYW1lO1xuICB2YXIgc3R5bGVVcGRhdGVzID0gbnVsbDtcblxuICBmb3IgKHByb3BLZXkgaW4gbGFzdFByb3BzKSB7XG4gICAgaWYgKG5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSB8fCAhbGFzdFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IGxhc3RQcm9wc1twcm9wS2V5XSA9PSBudWxsKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHZhciBsYXN0U3R5bGUgPSBsYXN0UHJvcHNbcHJvcEtleV07XG5cbiAgICAgIGZvciAoc3R5bGVOYW1lIGluIGxhc3RTdHlsZSkge1xuICAgICAgICBpZiAobGFzdFN0eWxlLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xuICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3R5bGVVcGRhdGVzW3N0eWxlTmFtZV0gPSAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwgfHwgcHJvcEtleSA9PT0gQ0hJTERSRU4pIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HKSA7IGVsc2UgaWYgKHByb3BLZXkgPT09IEFVVE9GT0NVUykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlLiBJZiBhbnkgbGlzdGVuZXIgdXBkYXRlcyB3ZSBuZWVkIHRvIGVuc3VyZVxuICAgICAgLy8gdGhhdCB0aGUgXCJjdXJyZW50XCIgZmliZXIgcG9pbnRlciBnZXRzIHVwZGF0ZWQgc28gd2UgbmVlZCBhIGNvbW1pdFxuICAgICAgLy8gdG8gdXBkYXRlIHRoaXMgZWxlbWVudC5cbiAgICAgIGlmICghdXBkYXRlUGF5bG9hZCkge1xuICAgICAgICB1cGRhdGVQYXlsb2FkID0gW107XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBhbGwgb3RoZXIgZGVsZXRlZCBwcm9wZXJ0aWVzIHdlIGFkZCBpdCB0byB0aGUgcXVldWUuIFdlIHVzZVxuICAgICAgLy8gdGhlIGFsbG93ZWQgcHJvcGVydHkgbGlzdCBpbiB0aGUgY29tbWl0IHBoYXNlIGluc3RlYWQuXG4gICAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2gocHJvcEtleSwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChwcm9wS2V5IGluIG5leHRQcm9wcykge1xuICAgIHZhciBuZXh0UHJvcCA9IG5leHRQcm9wc1twcm9wS2V5XTtcbiAgICB2YXIgbGFzdFByb3AgPSBsYXN0UHJvcHMgIT0gbnVsbCA/IGxhc3RQcm9wc1twcm9wS2V5XSA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IG5leHRQcm9wID09PSBsYXN0UHJvcCB8fCBuZXh0UHJvcCA9PSBudWxsICYmIGxhc3RQcm9wID09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAge1xuICAgICAgICBpZiAobmV4dFByb3ApIHtcbiAgICAgICAgICAvLyBGcmVlemUgdGhlIG5leHQgc3R5bGUgb2JqZWN0IHNvIHRoYXQgd2UgY2FuIGFzc3VtZSBpdCB3b24ndCBiZVxuICAgICAgICAgIC8vIG11dGF0ZWQuIFdlIGhhdmUgYWxyZWFkeSB3YXJuZWQgZm9yIHRoaXMgaW4gdGhlIHBhc3QuXG4gICAgICAgICAgT2JqZWN0LmZyZWV6ZShuZXh0UHJvcCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGxhc3RQcm9wKSB7XG4gICAgICAgIC8vIFVuc2V0IHN0eWxlcyBvbiBgbGFzdFByb3BgIGJ1dCBub3Qgb24gYG5leHRQcm9wYC5cbiAgICAgICAgZm9yIChzdHlsZU5hbWUgaW4gbGFzdFByb3ApIHtcbiAgICAgICAgICBpZiAobGFzdFByb3AuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSAmJiAoIW5leHRQcm9wIHx8ICFuZXh0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpKSkge1xuICAgICAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcbiAgICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0eWxlVXBkYXRlc1tzdHlsZU5hbWVdID0gJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIFVwZGF0ZSBzdHlsZXMgdGhhdCBjaGFuZ2VkIHNpbmNlIGBsYXN0UHJvcGAuXG5cblxuICAgICAgICBmb3IgKHN0eWxlTmFtZSBpbiBuZXh0UHJvcCkge1xuICAgICAgICAgIGlmIChuZXh0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpICYmIGxhc3RQcm9wW3N0eWxlTmFtZV0gIT09IG5leHRQcm9wW3N0eWxlTmFtZV0pIHtcbiAgICAgICAgICAgIGlmICghc3R5bGVVcGRhdGVzKSB7XG4gICAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHlsZVVwZGF0ZXNbc3R5bGVOYW1lXSA9IG5leHRQcm9wW3N0eWxlTmFtZV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZWxpZXMgb24gYHVwZGF0ZVN0eWxlc0J5SURgIG5vdCBtdXRhdGluZyBgc3R5bGVVcGRhdGVzYC5cbiAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcbiAgICAgICAgICBpZiAoIXVwZGF0ZVBheWxvYWQpIHtcbiAgICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVQYXlsb2FkLnB1c2gocHJvcEtleSwgc3R5bGVVcGRhdGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlVXBkYXRlcyA9IG5leHRQcm9wO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcbiAgICAgIHZhciBuZXh0SHRtbCA9IG5leHRQcm9wID8gbmV4dFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcbiAgICAgIHZhciBsYXN0SHRtbCA9IGxhc3RQcm9wID8gbGFzdFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKG5leHRIdG1sICE9IG51bGwpIHtcbiAgICAgICAgaWYgKGxhc3RIdG1sICE9PSBuZXh0SHRtbCkge1xuICAgICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBuZXh0SHRtbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICBpZiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XG4gICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCAnJyArIG5leHRQcm9wKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyB8fCBwcm9wS2V5ID09PSBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBpZiAobmV4dFByb3AgIT0gbnVsbCkge1xuICAgICAgICAvLyBXZSBlYWdlcmx5IGxpc3RlbiB0byB0aGlzIGV2ZW4gdGhvdWdoIHdlIGhhdmVuJ3QgY29tbWl0dGVkIHlldC5cbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BLZXkgPT09ICdvblNjcm9sbCcpIHtcbiAgICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdzY3JvbGwnLCBkb21FbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXVwZGF0ZVBheWxvYWQgJiYgbGFzdFByb3AgIT09IG5leHRQcm9wKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2UuIElmIGFueSBsaXN0ZW5lciB1cGRhdGVzIHdlIG5lZWQgdG8gZW5zdXJlXG4gICAgICAgIC8vIHRoYXQgdGhlIFwiY3VycmVudFwiIHByb3BzIHBvaW50ZXIgZ2V0cyB1cGRhdGVkIHNvIHdlIG5lZWQgYSBjb21taXRcbiAgICAgICAgLy8gdG8gdXBkYXRlIHRoaXMgZWxlbWVudC5cbiAgICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGb3IgYW55IG90aGVyIHByb3BlcnR5IHdlIGFsd2F5cyBhZGQgaXQgdG8gdGhlIHF1ZXVlIGFuZCB0aGVuIHdlXG4gICAgICAvLyBmaWx0ZXIgaXQgb3V0IHVzaW5nIHRoZSBhbGxvd2VkIHByb3BlcnR5IGxpc3QgZHVyaW5nIHRoZSBjb21taXQuXG4gICAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2gocHJvcEtleSwgbmV4dFByb3ApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzdHlsZVVwZGF0ZXMpIHtcbiAgICB7XG4gICAgICB2YWxpZGF0ZVNob3J0aGFuZFByb3BlcnR5Q29sbGlzaW9uSW5EZXYoc3R5bGVVcGRhdGVzLCBuZXh0UHJvcHNbU1RZTEVdKTtcbiAgICB9XG5cbiAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2goU1RZTEUsIHN0eWxlVXBkYXRlcyk7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlUGF5bG9hZDtcbn0gLy8gQXBwbHkgdGhlIGRpZmYuXG5cbmZ1bmN0aW9uIHVwZGF0ZVByb3BlcnRpZXMoZG9tRWxlbWVudCwgdXBkYXRlUGF5bG9hZCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcykge1xuICAvLyBVcGRhdGUgY2hlY2tlZCAqYmVmb3JlKiBuYW1lLlxuICAvLyBJbiB0aGUgbWlkZGxlIG9mIGFuIHVwZGF0ZSwgaXQgaXMgcG9zc2libGUgdG8gaGF2ZSBtdWx0aXBsZSBjaGVja2VkLlxuICAvLyBXaGVuIGEgY2hlY2tlZCByYWRpbyB0cmllcyB0byBjaGFuZ2UgbmFtZSwgYnJvd3NlciBtYWtlcyBhbm90aGVyIHJhZGlvJ3MgY2hlY2tlZCBmYWxzZS5cbiAgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiBuZXh0UmF3UHJvcHMudHlwZSA9PT0gJ3JhZGlvJyAmJiBuZXh0UmF3UHJvcHMubmFtZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlQ2hlY2tlZChkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICB9XG5cbiAgdmFyIHdhc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgbGFzdFJhd1Byb3BzKTtcbiAgdmFyIGlzQ3VzdG9tQ29tcG9uZW50VGFnID0gaXNDdXN0b21Db21wb25lbnQodGFnLCBuZXh0UmF3UHJvcHMpOyAvLyBBcHBseSB0aGUgZGlmZi5cblxuICB1cGRhdGVET01Qcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHdhc0N1c3RvbUNvbXBvbmVudFRhZywgaXNDdXN0b21Db21wb25lbnRUYWcpOyAvLyBUT0RPOiBFbnN1cmUgdGhhdCBhbiB1cGRhdGUgZ2V0cyBzY2hlZHVsZWQgaWYgYW55IG9mIHRoZSBzcGVjaWFsIHByb3BzXG4gIC8vIGNoYW5nZWQuXG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICAvLyBVcGRhdGUgdGhlIHdyYXBwZXIgYXJvdW5kIGlucHV0cyAqYWZ0ZXIqIHVwZGF0aW5nIHByb3BzLiBUaGlzIGhhcyB0b1xuICAgICAgLy8gaGFwcGVuIGFmdGVyIGB1cGRhdGVET01Qcm9wZXJ0aWVzYC4gT3RoZXJ3aXNlIEhUTUw1IGlucHV0IHZhbGlkYXRpb25zXG4gICAgICAvLyByYWlzZSB3YXJuaW5ncyBhbmQgcHJldmVudCB0aGUgbmV3IHZhbHVlIGZyb20gYmVpbmcgYXNzaWduZWQuXG4gICAgICB1cGRhdGVXcmFwcGVyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIHVwZGF0ZVdyYXBwZXIkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgLy8gPHNlbGVjdD4gdmFsdWUgdXBkYXRlIG5lZWRzIHRvIG9jY3VyIGFmdGVyIDxvcHRpb24+IGNoaWxkcmVuXG4gICAgICAvLyByZWNvbmNpbGlhdGlvblxuICAgICAgcG9zdFVwZGF0ZVdyYXBwZXIoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BOYW1lKSB7XG4gIHtcbiAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSBwcm9wTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKCFwb3NzaWJsZVN0YW5kYXJkTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zc2libGVTdGFuZGFyZE5hbWVzW2xvd2VyQ2FzZWROYW1lXSB8fCBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpZmZIeWRyYXRlZFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCByYXdQcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVyRWxlbWVudCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldikge1xuICB2YXIgaXNDdXN0b21Db21wb25lbnRUYWc7XG4gIHZhciBleHRyYUF0dHJpYnV0ZU5hbWVzO1xuXG4gIHtcbiAgICBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xuICAgIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQodGFnLCByYXdQcm9wcyk7XG4gIH0gLy8gVE9ETzogTWFrZSBzdXJlIHRoYXQgd2UgY2hlY2sgaXNNb3VudGVkIGJlZm9yZSBmaXJpbmcgYW55IG9mIHRoZXNlIGV2ZW50cy5cblxuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2NhbmNlbCcsIGRvbUVsZW1lbnQpO1xuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnY2xvc2UnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaWZyYW1lJzpcbiAgICBjYXNlICdvYmplY3QnOlxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBsb2FkIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd2aWRlbyc6XG4gICAgY2FzZSAnYXVkaW8nOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoZXNlIGV2ZW50cyBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciBhbGwgdGhlIG1lZGlhIGV2ZW50cy5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVkaWFFdmVudFR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQobWVkaWFFdmVudFR5cGVzW2ldLCBkb21FbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzb3VyY2UnOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGVycm9yIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnZXJyb3InLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdpbWFnZSc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhlc2UgZXZlbnRzIGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIGVycm9yIGFuZCBsb2FkIGV2ZW50cy5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdsb2FkJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIHRvZ2dsZSBldmVudC5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3RvZ2dsZScsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgIHZhbGlkYXRlUHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQyKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHJhd1Byb3BzKTtcblxuICB7XG4gICAgZXh0cmFBdHRyaWJ1dGVOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICB2YXIgYXR0cmlidXRlcyA9IGRvbUVsZW1lbnQuYXR0cmlidXRlcztcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVzW19pXS5uYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgICAvLyBDb250cm9sbGVkIGF0dHJpYnV0ZXMgYXJlIG5vdCB2YWxpZGF0ZWRcbiAgICAgICAgLy8gVE9ETzogT25seSBpZ25vcmUgdGhlbSBvbiBjb250cm9sbGVkIHRhZ3MuXG4gICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdjaGVja2VkJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdzZWxlY3RlZCc6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IHVzZSB0aGUgb3JpZ2luYWwgbmFtZS5cbiAgICAgICAgICAvLyBTZWUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMDY3Ni5cbiAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmFkZChhdHRyaWJ1dGVzW19pXS5uYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlUGF5bG9hZCA9IG51bGw7XG5cbiAgZm9yICh2YXIgcHJvcEtleSBpbiByYXdQcm9wcykge1xuICAgIGlmICghcmF3UHJvcHMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciBuZXh0UHJvcCA9IHJhd1Byb3BzW3Byb3BLZXldO1xuXG4gICAgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICAvLyBGb3IgdGV4dCBjb250ZW50IGNoaWxkcmVuIHdlIGNvbXBhcmUgYWdhaW5zdCB0ZXh0Q29udGVudC4gVGhpc1xuICAgICAgLy8gbWlnaHQgbWF0Y2ggYWRkaXRpb25hbCBIVE1MIHRoYXQgaXMgaGlkZGVuIHdoZW4gd2UgcmVhZCBpdCB1c2luZ1xuICAgICAgLy8gdGV4dENvbnRlbnQuIEUuZy4gXCJmb29cIiB3aWxsIG1hdGNoIFwiZjxzcGFuPm9vPC9zcGFuPlwiIGJ1dCB0aGF0IHN0aWxsXG4gICAgICAvLyBzYXRpc2ZpZXMgb3VyIHJlcXVpcmVtZW50LiBPdXIgcmVxdWlyZW1lbnQgaXMgbm90IHRvIHByb2R1Y2UgcGVyZmVjdFxuICAgICAgLy8gSFRNTCBhbmQgYXR0cmlidXRlcy4gSWRlYWxseSB3ZSBzaG91bGQgcHJlc2VydmUgc3RydWN0dXJlIGJ1dCBpdCdzXG4gICAgICAvLyBvayBub3QgdG8gaWYgdGhlIHZpc2libGUgY29udGVudCBpcyBzdGlsbCBlbm91Z2ggdG8gaW5kaWNhdGUgd2hhdFxuICAgICAgLy8gZXZlbiBsaXN0ZW5lcnMgdGhlc2Ugbm9kZXMgbWlnaHQgYmUgd2lyZWQgdXAgdG8uXG4gICAgICAvLyBUT0RPOiBXYXJuIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBhIHNpbmdsZSB0ZXh0Tm9kZSBhcyBhIGNoaWxkLlxuICAgICAgLy8gVE9ETzogU2hvdWxkIHdlIHVzZSBkb21FbGVtZW50LmZpcnN0Q2hpbGQubm9kZVZhbHVlIHRvIGNvbXBhcmU/XG4gICAgICBpZiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoZG9tRWxlbWVudC50ZXh0Q29udGVudCAhPT0gbmV4dFByb3ApIHtcbiAgICAgICAgICBpZiAocmF3UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkddICE9PSB0cnVlKSB7XG4gICAgICAgICAgICBjaGVja0ZvclVubWF0Y2hlZFRleHQoZG9tRWxlbWVudC50ZXh0Q29udGVudCwgbmV4dFByb3AsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbQ0hJTERSRU4sIG5leHRQcm9wXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGlmIChkb21FbGVtZW50LnRleHRDb250ZW50ICE9PSAnJyArIG5leHRQcm9wKSB7XG4gICAgICAgICAgaWYgKHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY2hlY2tGb3JVbm1hdGNoZWRUZXh0KGRvbUVsZW1lbnQudGV4dENvbnRlbnQsIG5leHRQcm9wLCBpc0NvbmN1cnJlbnRNb2RlLCBzaG91bGRXYXJuRGV2KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVQYXlsb2FkID0gW0NISUxEUkVOLCAnJyArIG5leHRQcm9wXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVnaXN0cmF0aW9uTmFtZURlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSkge1xuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BLZXkgPT09ICdvblNjcm9sbCcpIHtcbiAgICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdzY3JvbGwnLCBkb21FbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc2hvdWxkV2FybkRldiAmJiB0cnVlICYmIC8vIENvbnZpbmNlIEZsb3cgd2UndmUgY2FsY3VsYXRlZCBpdCAoaXQncyBERVYtb25seSBpbiB0aGlzIG1ldGhvZC4pXG4gICAgdHlwZW9mIGlzQ3VzdG9tQ29tcG9uZW50VGFnID09PSAnYm9vbGVhbicpIHtcbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIHByb3BlcnRpZXMgY29ycmVzcG9uZCB0byB0aGVpciBleHBlY3RlZCB2YWx1ZXMuXG4gICAgICB2YXIgc2VydmVyVmFsdWUgPSB2b2lkIDA7XG4gICAgICB2YXIgcHJvcGVydHlJbmZvID0gaXNDdXN0b21Db21wb25lbnRUYWcgJiYgZW5hYmxlQ3VzdG9tRWxlbWVudFByb3BlcnR5U3VwcG9ydCA/IG51bGwgOiBnZXRQcm9wZXJ0eUluZm8ocHJvcEtleSk7XG5cbiAgICAgIGlmIChyYXdQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklOR10gPT09IHRydWUpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HIHx8IC8vIENvbnRyb2xsZWQgYXR0cmlidXRlcyBhcmUgbm90IHZhbGlkYXRlZFxuICAgICAgLy8gVE9ETzogT25seSBpZ25vcmUgdGhlbSBvbiBjb250cm9sbGVkIHRhZ3MuXG4gICAgICBwcm9wS2V5ID09PSAndmFsdWUnIHx8IHByb3BLZXkgPT09ICdjaGVja2VkJyB8fCBwcm9wS2V5ID09PSAnc2VsZWN0ZWQnKSA7IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICAgIHZhciBzZXJ2ZXJIVE1MID0gZG9tRWxlbWVudC5pbm5lckhUTUw7XG4gICAgICAgIHZhciBuZXh0SHRtbCA9IG5leHRQcm9wID8gbmV4dFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAobmV4dEh0bWwgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBleHBlY3RlZEhUTUwgPSBub3JtYWxpemVIVE1MKGRvbUVsZW1lbnQsIG5leHRIdG1sKTtcblxuICAgICAgICAgIGlmIChleHBlY3RlZEhUTUwgIT09IHNlcnZlckhUTUwpIHtcbiAgICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJIVE1MLCBleHBlY3RlZEhUTUwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHByb3BLZXkpO1xuXG4gICAgICAgIGlmIChjYW5EaWZmU3R5bGVGb3JIeWRyYXRpb25XYXJuaW5nKSB7XG4gICAgICAgICAgdmFyIGV4cGVjdGVkU3R5bGUgPSBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMobmV4dFByb3ApO1xuICAgICAgICAgIHNlcnZlclZhbHVlID0gZG9tRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7XG5cbiAgICAgICAgICBpZiAoZXhwZWN0ZWRTdHlsZSAhPT0gc2VydmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgZXhwZWN0ZWRTdHlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnICYmICFlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0KSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cbiAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcEtleS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgc2VydmVyVmFsdWUgPSBnZXRWYWx1ZUZvckF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCk7XG5cbiAgICAgICAgaWYgKG5leHRQcm9wICE9PSBzZXJ2ZXJWYWx1ZSkge1xuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRJZ25vcmVBdHRyaWJ1dGUocHJvcEtleSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykgJiYgIXNob3VsZFJlbW92ZUF0dHJpYnV0ZShwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICAgICAgdmFyIGlzTWlzbWF0Y2hEdWVUb0JhZENhc2luZyA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwpIHtcbiAgICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWUpO1xuICAgICAgICAgIHNlcnZlclZhbHVlID0gZ2V0VmFsdWVGb3JQcm9wZXJ0eShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gcGFyZW50TmFtZXNwYWNlO1xuXG4gICAgICAgICAgaWYgKG93bk5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcbiAgICAgICAgICAgIG93bk5hbWVzcGFjZSA9IGdldEludHJpbnNpY05hbWVzcGFjZSh0YWcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChvd25OYW1lc3BhY2UgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAgICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgc3RhbmRhcmROYW1lID0gZ2V0UG9zc2libGVTdGFuZGFyZE5hbWUocHJvcEtleSk7XG5cbiAgICAgICAgICAgIGlmIChzdGFuZGFyZE5hbWUgIT09IG51bGwgJiYgc3RhbmRhcmROYW1lICE9PSBwcm9wS2V5KSB7XG4gICAgICAgICAgICAgIC8vIElmIGFuIFNWRyBwcm9wIGlzIHN1cHBsaWVkIHdpdGggYmFkIGNhc2luZywgaXQgd2lsbFxuICAgICAgICAgICAgICAvLyBiZSBzdWNjZXNzZnVsbHkgcGFyc2VkIGZyb20gSFRNTCwgYnV0IHdpbGwgcHJvZHVjZSBhIG1pc21hdGNoXG4gICAgICAgICAgICAgIC8vIChhbmQgd291bGQgYmUgaW5jb3JyZWN0bHkgcmVuZGVyZWQgb24gdGhlIGNsaWVudCkuXG4gICAgICAgICAgICAgIC8vIEhvd2V2ZXIsIHdlIGFscmVhZHkgd2FybiBhYm91dCBiYWQgY2FzaW5nIGVsc2V3aGVyZS5cbiAgICAgICAgICAgICAgLy8gU28gd2UnbGwgc2tpcCB0aGUgbWlzbGVhZGluZyBleHRyYSBtaXNtYXRjaCB3YXJuaW5nIGluIHRoaXMgY2FzZS5cbiAgICAgICAgICAgICAgaXNNaXNtYXRjaER1ZVRvQmFkQ2FzaW5nID0gdHJ1ZTsgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxuXG4gICAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHN0YW5kYXJkTmFtZSk7XG4gICAgICAgICAgICB9IC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cblxuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGdldFZhbHVlRm9yQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkb250V2FybkN1c3RvbUVsZW1lbnQgPSBlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0ICA7XG5cbiAgICAgICAgaWYgKCFkb250V2FybkN1c3RvbUVsZW1lbnQgJiYgbmV4dFByb3AgIT09IHNlcnZlclZhbHVlICYmICFpc01pc21hdGNoRHVlVG9CYWRDYXNpbmcpIHtcbiAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIG5leHRQcm9wKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBpZiAoc2hvdWxkV2FybkRldikge1xuICAgICAgaWYgKCAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLnNpemUgPiAwICYmIHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXMoZXh0cmFBdHRyaWJ1dGVOYW1lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICAvLyBUT0RPOiBNYWtlIHN1cmUgd2UgY2hlY2sgaWYgdGhpcyBpcyBzdGlsbCB1bm1vdW50ZWQgb3IgZG8gYW55IGNsZWFuXG4gICAgICAvLyB1cCBuZWNlc3Nhcnkgc2luY2Ugd2UgbmV2ZXIgc3RvcCB0cmFja2luZyBhbnltb3JlLlxuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XG4gICAgICBwb3N0TW91bnRXcmFwcGVyKGRvbUVsZW1lbnQsIHJhd1Byb3BzLCB0cnVlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICAvLyBGb3IgaW5wdXQgYW5kIHRleHRhcmVhIHdlIGN1cnJlbnQgYWx3YXlzIHNldCB0aGUgdmFsdWUgcHJvcGVydHkgYXRcbiAgICAgIC8vIHBvc3QgbW91bnQgdG8gZm9yY2UgaXQgdG8gZGl2ZXJnZSBmcm9tIGF0dHJpYnV0ZXMuIEhvd2V2ZXIsIGZvclxuICAgICAgLy8gb3B0aW9uIGFuZCBzZWxlY3Qgd2UgZG9uJ3QgcXVpdGUgZG8gdGhlIHNhbWUgdGhpbmcgYW5kIHNlbGVjdFxuICAgICAgLy8gaXMgbm90IHJlc2lsaWVudCB0byB0aGUgRE9NIHN0YXRlIGNoYW5naW5nIHNvIHdlIGRvbid0IGRvIHRoYXQgaGVyZS5cbiAgICAgIC8vIFRPRE86IENvbnNpZGVyIG5vdCBkb2luZyB0aGlzIGZvciBpbnB1dCBhbmQgdGV4dGFyZWEuXG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAodHlwZW9mIHJhd1Byb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZVBheWxvYWQ7XG59XG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRUZXh0KHRleHROb2RlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHZhciBpc0RpZmZlcmVudCA9IHRleHROb2RlLm5vZGVWYWx1ZSAhPT0gdGV4dDtcbiAgcmV0dXJuIGlzRGlmZmVyZW50O1xufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gYSA8JXM+IGluIDwlcz4uJywgY2hpbGQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwgcGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gdGhlIHRleHQgbm9kZSBcIiVzXCIgaW4gPCVzPi4nLCBjaGlsZC5ub2RlVmFsdWUsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0YWcsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIDwlcz4gaW4gPCVzPi4nLCB0YWcsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KSB7XG4gIHtcbiAgICBpZiAodGV4dCA9PT0gJycpIHtcbiAgICAgIC8vIFdlIGV4cGVjdCB0byBpbnNlcnQgZW1wdHkgdGV4dCBub2RlcyBzaW5jZSB0aGV5J3JlIG5vdCByZXByZXNlbnRlZCBpblxuICAgICAgLy8gdGhlIEhUTUwuXG4gICAgICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgaWYgd2UgY2FuIGp1c3QgYXZvaWQgaW5zZXJ0aW5nIGVtcHR5XG4gICAgICAvLyB0ZXh0IG5vZGVzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcblxuICAgIGVycm9yKCdFeHBlY3RlZCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgbWF0Y2hpbmcgdGV4dCBub2RlIGZvciBcIiVzXCIgaW4gPCVzPi4nLCB0ZXh0LCBwYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMoZG9tRWxlbWVudCwgdGFnLCBwcm9wcykge1xuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIHJlc3RvcmVDb250cm9sbGVkU3RhdGUoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQyKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDEoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuICB9XG59XG5cbnZhciB2YWxpZGF0ZURPTU5lc3RpbmcgPSBmdW5jdGlvbiAoKSB7fTtcblxudmFyIHVwZGF0ZWRBbmNlc3RvckluZm8gPSBmdW5jdGlvbiAoKSB7fTtcblxue1xuICAvLyBUaGlzIHZhbGlkYXRpb24gY29kZSB3YXMgd3JpdHRlbiBiYXNlZCBvbiB0aGUgSFRNTDUgcGFyc2luZyBzcGVjOlxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNoYXMtYW4tZWxlbWVudC1pbi1zY29wZVxuICAvL1xuICAvLyBOb3RlOiB0aGlzIGRvZXMgbm90IGNhdGNoIGFsbCBpbnZhbGlkIG5lc3RpbmcsIG5vciBkb2VzIGl0IHRyeSB0byAoYXMgaXQnc1xuICAvLyBub3QgY2xlYXIgd2hhdCBwcmFjdGljYWwgYmVuZWZpdCBkb2luZyBzbyBwcm92aWRlcyk7IGluc3RlYWQsIHdlIHdhcm4gb25seVxuICAvLyBmb3IgY2FzZXMgd2hlcmUgdGhlIHBhcnNlciB3aWxsIGdpdmUgYSBwYXJzZSB0cmVlIGRpZmZlcmluZyBmcm9tIHdoYXQgUmVhY3RcbiAgLy8gaW50ZW5kZWQuIEZvciBleGFtcGxlLCA8Yj48ZGl2PjwvZGl2PjwvYj4gaXMgaW52YWxpZCBidXQgd2UgZG9uJ3Qgd2FyblxuICAvLyBiZWNhdXNlIGl0IHN0aWxsIHBhcnNlcyBjb3JyZWN0bHk7IHdlIGRvIHdhcm4gZm9yIG90aGVyIGNhc2VzIGxpa2UgbmVzdGVkXG4gIC8vIDxwPiB0YWdzIHdoZXJlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlY29uZCBlbGVtZW50IGltcGxpY2l0bHkgY2xvc2VzIHRoZVxuICAvLyBmaXJzdCwgY2F1c2luZyBhIGNvbmZ1c2luZyBtZXNzLlxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNzcGVjaWFsXG4gIHZhciBzcGVjaWFsVGFncyA9IFsnYWRkcmVzcycsICdhcHBsZXQnLCAnYXJlYScsICdhcnRpY2xlJywgJ2FzaWRlJywgJ2Jhc2UnLCAnYmFzZWZvbnQnLCAnYmdzb3VuZCcsICdibG9ja3F1b3RlJywgJ2JvZHknLCAnYnInLCAnYnV0dG9uJywgJ2NhcHRpb24nLCAnY2VudGVyJywgJ2NvbCcsICdjb2xncm91cCcsICdkZCcsICdkZXRhaWxzJywgJ2RpcicsICdkaXYnLCAnZGwnLCAnZHQnLCAnZW1iZWQnLCAnZmllbGRzZXQnLCAnZmlnY2FwdGlvbicsICdmaWd1cmUnLCAnZm9vdGVyJywgJ2Zvcm0nLCAnZnJhbWUnLCAnZnJhbWVzZXQnLCAnaDEnLCAnaDInLCAnaDMnLCAnaDQnLCAnaDUnLCAnaDYnLCAnaGVhZCcsICdoZWFkZXInLCAnaGdyb3VwJywgJ2hyJywgJ2h0bWwnLCAnaWZyYW1lJywgJ2ltZycsICdpbnB1dCcsICdpc2luZGV4JywgJ2xpJywgJ2xpbmsnLCAnbGlzdGluZycsICdtYWluJywgJ21hcnF1ZWUnLCAnbWVudScsICdtZW51aXRlbScsICdtZXRhJywgJ25hdicsICdub2VtYmVkJywgJ25vZnJhbWVzJywgJ25vc2NyaXB0JywgJ29iamVjdCcsICdvbCcsICdwJywgJ3BhcmFtJywgJ3BsYWludGV4dCcsICdwcmUnLCAnc2NyaXB0JywgJ3NlY3Rpb24nLCAnc2VsZWN0JywgJ3NvdXJjZScsICdzdHlsZScsICdzdW1tYXJ5JywgJ3RhYmxlJywgJ3Rib2R5JywgJ3RkJywgJ3RlbXBsYXRlJywgJ3RleHRhcmVhJywgJ3Rmb290JywgJ3RoJywgJ3RoZWFkJywgJ3RpdGxlJywgJ3RyJywgJ3RyYWNrJywgJ3VsJywgJ3dicicsICd4bXAnXTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tc2NvcGVcblxuICB2YXIgaW5TY29wZVRhZ3MgPSBbJ2FwcGxldCcsICdjYXB0aW9uJywgJ2h0bWwnLCAndGFibGUnLCAndGQnLCAndGgnLCAnbWFycXVlZScsICdvYmplY3QnLCAndGVtcGxhdGUnLCAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNodG1sLWludGVncmF0aW9uLXBvaW50XG4gIC8vIFRPRE86IERpc3Rpbmd1aXNoIGJ5IG5hbWVzcGFjZSBoZXJlIC0tIGZvciA8dGl0bGU+LCBpbmNsdWRpbmcgaXQgaGVyZVxuICAvLyBlcnJzIG9uIHRoZSBzaWRlIG9mIGZld2VyIHdhcm5pbmdzXG4gICdmb3JlaWduT2JqZWN0JywgJ2Rlc2MnLCAndGl0bGUnXTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tYnV0dG9uLXNjb3BlXG5cbiAgdmFyIGJ1dHRvblNjb3BlVGFncyA9IGluU2NvcGVUYWdzLmNvbmNhdChbJ2J1dHRvbiddKTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjZ2VuZXJhdGUtaW1wbGllZC1lbmQtdGFnc1xuXG4gIHZhciBpbXBsaWVkRW5kVGFncyA9IFsnZGQnLCAnZHQnLCAnbGknLCAnb3B0aW9uJywgJ29wdGdyb3VwJywgJ3AnLCAncnAnLCAncnQnXTtcbiAgdmFyIGVtcHR5QW5jZXN0b3JJbmZvID0ge1xuICAgIGN1cnJlbnQ6IG51bGwsXG4gICAgZm9ybVRhZzogbnVsbCxcbiAgICBhVGFnSW5TY29wZTogbnVsbCxcbiAgICBidXR0b25UYWdJblNjb3BlOiBudWxsLFxuICAgIG5vYnJUYWdJblNjb3BlOiBudWxsLFxuICAgIHBUYWdJbkJ1dHRvblNjb3BlOiBudWxsLFxuICAgIGxpc3RJdGVtVGFnQXV0b2Nsb3Npbmc6IG51bGwsXG4gICAgZGxJdGVtVGFnQXV0b2Nsb3Npbmc6IG51bGxcbiAgfTtcblxuICB1cGRhdGVkQW5jZXN0b3JJbmZvID0gZnVuY3Rpb24gKG9sZEluZm8sIHRhZykge1xuICAgIHZhciBhbmNlc3RvckluZm8gPSBhc3NpZ24oe30sIG9sZEluZm8gfHwgZW1wdHlBbmNlc3RvckluZm8pO1xuXG4gICAgdmFyIGluZm8gPSB7XG4gICAgICB0YWc6IHRhZ1xuICAgIH07XG5cbiAgICBpZiAoaW5TY29wZVRhZ3MuaW5kZXhPZih0YWcpICE9PSAtMSkge1xuICAgICAgYW5jZXN0b3JJbmZvLmFUYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5ub2JyVGFnSW5TY29wZSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGJ1dHRvblNjb3BlVGFncy5pbmRleE9mKHRhZykgIT09IC0xKSB7XG4gICAgICBhbmNlc3RvckluZm8ucFRhZ0luQnV0dG9uU2NvcGUgPSBudWxsO1xuICAgIH0gLy8gU2VlIHJ1bGVzIGZvciAnbGknLCAnZGQnLCAnZHQnIHN0YXJ0IHRhZ3MgaW5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5XG5cblxuICAgIGlmIChzcGVjaWFsVGFncy5pbmRleE9mKHRhZykgIT09IC0xICYmIHRhZyAhPT0gJ2FkZHJlc3MnICYmIHRhZyAhPT0gJ2RpdicgJiYgdGFnICE9PSAncCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IG51bGw7XG4gICAgfVxuXG4gICAgYW5jZXN0b3JJbmZvLmN1cnJlbnQgPSBpbmZvO1xuXG4gICAgaWYgKHRhZyA9PT0gJ2Zvcm0nKSB7XG4gICAgICBhbmNlc3RvckluZm8uZm9ybVRhZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2EnKSB7XG4gICAgICBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdidXR0b24nKSB7XG4gICAgICBhbmNlc3RvckluZm8uYnV0dG9uVGFnSW5TY29wZSA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ25vYnInKSB7XG4gICAgICBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdwJykge1xuICAgICAgYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlID0gaW5mbztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSAnbGknKSB7XG4gICAgICBhbmNlc3RvckluZm8ubGlzdEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2RkJyB8fCB0YWcgPT09ICdkdCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgcmV0dXJuIGFuY2VzdG9ySW5mbztcbiAgfTtcbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlclxuICAgKi9cblxuXG4gIHZhciBpc1RhZ1ZhbGlkV2l0aFBhcmVudCA9IGZ1bmN0aW9uICh0YWcsIHBhcmVudFRhZykge1xuICAgIC8vIEZpcnN0LCBsZXQncyBjaGVjayBpZiB3ZSdyZSBpbiBhbiB1bnVzdWFsIHBhcnNpbmcgbW9kZS4uLlxuICAgIHN3aXRjaCAocGFyZW50VGFnKSB7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5zZWxlY3RcbiAgICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdvcHRpb24nIHx8IHRhZyA9PT0gJ29wdGdyb3VwJyB8fCB0YWcgPT09ICcjdGV4dCc7XG5cbiAgICAgIGNhc2UgJ29wdGdyb3VwJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ29wdGlvbicgfHwgdGFnID09PSAnI3RleHQnO1xuICAgICAgLy8gU3RyaWN0bHkgc3BlYWtpbmcsIHNlZWluZyBhbiA8b3B0aW9uPiBkb2Vzbid0IG1lYW4gd2UncmUgaW4gYSA8c2VsZWN0PlxuICAgICAgLy8gYnV0XG5cbiAgICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICcjdGV4dCc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50ZFxuICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluY2FwdGlvblxuICAgICAgLy8gTm8gc3BlY2lhbCBiZWhhdmlvciBzaW5jZSB0aGVzZSBydWxlcyBmYWxsIGJhY2sgdG8gXCJpbiBib2R5XCIgbW9kZSBmb3JcbiAgICAgIC8vIGFsbCBleGNlcHQgc3BlY2lhbCB0YWJsZSBub2RlcyB3aGljaCBjYXVzZSBiYWQgcGFyc2luZyBiZWhhdmlvciBhbnl3YXkuXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50clxuXG4gICAgICBjYXNlICd0cic6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICd0aCcgfHwgdGFnID09PSAndGQnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRib2R5XG5cbiAgICAgIGNhc2UgJ3Rib2R5JzpcbiAgICAgIGNhc2UgJ3RoZWFkJzpcbiAgICAgIGNhc2UgJ3Rmb290JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ3RyJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5jb2xncm91cFxuXG4gICAgICBjYXNlICdjb2xncm91cCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdjb2wnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRhYmxlXG5cbiAgICAgIGNhc2UgJ3RhYmxlJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2NhcHRpb24nIHx8IHRhZyA9PT0gJ2NvbGdyb3VwJyB8fCB0YWcgPT09ICd0Ym9keScgfHwgdGFnID09PSAndGZvb3QnIHx8IHRhZyA9PT0gJ3RoZWFkJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5oZWFkXG5cbiAgICAgIGNhc2UgJ2hlYWQnOlxuICAgICAgICByZXR1cm4gdGFnID09PSAnYmFzZScgfHwgdGFnID09PSAnYmFzZWZvbnQnIHx8IHRhZyA9PT0gJ2Jnc291bmQnIHx8IHRhZyA9PT0gJ2xpbmsnIHx8IHRhZyA9PT0gJ21ldGEnIHx8IHRhZyA9PT0gJ3RpdGxlJyB8fCB0YWcgPT09ICdub3NjcmlwdCcgfHwgdGFnID09PSAnbm9mcmFtZXMnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1odG1sLWVsZW1lbnRcblxuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdoZWFkJyB8fCB0YWcgPT09ICdib2R5JyB8fCB0YWcgPT09ICdmcmFtZXNldCc7XG5cbiAgICAgIGNhc2UgJ2ZyYW1lc2V0JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2ZyYW1lJztcblxuICAgICAgY2FzZSAnI2RvY3VtZW50JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2h0bWwnO1xuICAgIH0gLy8gUHJvYmFibHkgaW4gdGhlIFwiaW4gYm9keVwiIHBhcnNpbmcgbW9kZSwgc28gd2Ugb3V0bGF3IG9ubHkgdGFnIGNvbWJvc1xuICAgIC8vIHdoZXJlIHRoZSBwYXJzaW5nIHJ1bGVzIGNhdXNlIGltcGxpY2l0IG9wZW5zIG9yIGNsb3NlcyB0byBiZSBhZGRlZC5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5XG5cblxuICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICBjYXNlICdoMSc6XG4gICAgICBjYXNlICdoMic6XG4gICAgICBjYXNlICdoMyc6XG4gICAgICBjYXNlICdoNCc6XG4gICAgICBjYXNlICdoNSc6XG4gICAgICBjYXNlICdoNic6XG4gICAgICAgIHJldHVybiBwYXJlbnRUYWcgIT09ICdoMScgJiYgcGFyZW50VGFnICE9PSAnaDInICYmIHBhcmVudFRhZyAhPT0gJ2gzJyAmJiBwYXJlbnRUYWcgIT09ICdoNCcgJiYgcGFyZW50VGFnICE9PSAnaDUnICYmIHBhcmVudFRhZyAhPT0gJ2g2JztcblxuICAgICAgY2FzZSAncnAnOlxuICAgICAgY2FzZSAncnQnOlxuICAgICAgICByZXR1cm4gaW1wbGllZEVuZFRhZ3MuaW5kZXhPZihwYXJlbnRUYWcpID09PSAtMTtcblxuICAgICAgY2FzZSAnYm9keSc6XG4gICAgICBjYXNlICdjYXB0aW9uJzpcbiAgICAgIGNhc2UgJ2NvbCc6XG4gICAgICBjYXNlICdjb2xncm91cCc6XG4gICAgICBjYXNlICdmcmFtZXNldCc6XG4gICAgICBjYXNlICdmcmFtZSc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGNhc2UgJ2h0bWwnOlxuICAgICAgY2FzZSAndGJvZHknOlxuICAgICAgY2FzZSAndGQnOlxuICAgICAgY2FzZSAndGZvb3QnOlxuICAgICAgY2FzZSAndGgnOlxuICAgICAgY2FzZSAndGhlYWQnOlxuICAgICAgY2FzZSAndHInOlxuICAgICAgICAvLyBUaGVzZSB0YWdzIGFyZSBvbmx5IHZhbGlkIHdpdGggYSBmZXcgcGFyZW50cyB0aGF0IGhhdmUgc3BlY2lhbCBjaGlsZFxuICAgICAgICAvLyBwYXJzaW5nIHJ1bGVzIC0tIGlmIHdlJ3JlIGRvd24gaGVyZSwgdGhlbiBub25lIG9mIHRob3NlIG1hdGNoZWQgYW5kXG4gICAgICAgIC8vIHNvIHdlIGFsbG93IGl0IG9ubHkgaWYgd2UgZG9uJ3Qga25vdyB3aGF0IHRoZSBwYXJlbnQgaXMsIGFzIGFsbCBvdGhlclxuICAgICAgICAvLyBjYXNlcyBhcmUgaW52YWxpZC5cbiAgICAgICAgcmV0dXJuIHBhcmVudFRhZyA9PSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyXG4gICAqL1xuXG5cbiAgdmFyIGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcgPSBmdW5jdGlvbiAodGFnLCBhbmNlc3RvckluZm8pIHtcbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSAnYWRkcmVzcyc6XG4gICAgICBjYXNlICdhcnRpY2xlJzpcbiAgICAgIGNhc2UgJ2FzaWRlJzpcbiAgICAgIGNhc2UgJ2Jsb2NrcXVvdGUnOlxuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgIGNhc2UgJ2Rpcic6XG4gICAgICBjYXNlICdkaXYnOlxuICAgICAgY2FzZSAnZGwnOlxuICAgICAgY2FzZSAnZmllbGRzZXQnOlxuICAgICAgY2FzZSAnZmlnY2FwdGlvbic6XG4gICAgICBjYXNlICdmaWd1cmUnOlxuICAgICAgY2FzZSAnZm9vdGVyJzpcbiAgICAgIGNhc2UgJ2hlYWRlcic6XG4gICAgICBjYXNlICdoZ3JvdXAnOlxuICAgICAgY2FzZSAnbWFpbic6XG4gICAgICBjYXNlICdtZW51JzpcbiAgICAgIGNhc2UgJ25hdic6XG4gICAgICBjYXNlICdvbCc6XG4gICAgICBjYXNlICdwJzpcbiAgICAgIGNhc2UgJ3NlY3Rpb24nOlxuICAgICAgY2FzZSAnc3VtbWFyeSc6XG4gICAgICBjYXNlICd1bCc6XG4gICAgICBjYXNlICdwcmUnOlxuICAgICAgY2FzZSAnbGlzdGluZyc6XG4gICAgICBjYXNlICd0YWJsZSc6XG4gICAgICBjYXNlICdocic6XG4gICAgICBjYXNlICd4bXAnOlxuICAgICAgY2FzZSAnaDEnOlxuICAgICAgY2FzZSAnaDInOlxuICAgICAgY2FzZSAnaDMnOlxuICAgICAgY2FzZSAnaDQnOlxuICAgICAgY2FzZSAnaDUnOlxuICAgICAgY2FzZSAnaDYnOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlO1xuXG4gICAgICBjYXNlICdmb3JtJzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5mb3JtVGFnIHx8IGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZTtcblxuICAgICAgY2FzZSAnbGknOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmxpc3RJdGVtVGFnQXV0b2Nsb3Npbmc7XG5cbiAgICAgIGNhc2UgJ2RkJzpcbiAgICAgIGNhc2UgJ2R0JzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZztcblxuICAgICAgY2FzZSAnYnV0dG9uJzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlO1xuXG4gICAgICBjYXNlICdhJzpcbiAgICAgICAgLy8gU3BlYyBzYXlzIHNvbWV0aGluZyBhYm91dCBzdG9yaW5nIGEgbGlzdCBvZiBtYXJrZXJzLCBidXQgaXQgc291bmRzXG4gICAgICAgIC8vIGVxdWl2YWxlbnQgdG8gdGhpcyBjaGVjay5cbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5hVGFnSW5TY29wZTtcblxuICAgICAgY2FzZSAnbm9icic6XG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgdmFyIGRpZFdhcm4kMSA9IHt9O1xuXG4gIHZhbGlkYXRlRE9NTmVzdGluZyA9IGZ1bmN0aW9uIChjaGlsZFRhZywgY2hpbGRUZXh0LCBhbmNlc3RvckluZm8pIHtcbiAgICBhbmNlc3RvckluZm8gPSBhbmNlc3RvckluZm8gfHwgZW1wdHlBbmNlc3RvckluZm87XG4gICAgdmFyIHBhcmVudEluZm8gPSBhbmNlc3RvckluZm8uY3VycmVudDtcbiAgICB2YXIgcGFyZW50VGFnID0gcGFyZW50SW5mbyAmJiBwYXJlbnRJbmZvLnRhZztcblxuICAgIGlmIChjaGlsZFRleHQgIT0gbnVsbCkge1xuICAgICAgaWYgKGNoaWxkVGFnICE9IG51bGwpIHtcbiAgICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZzogd2hlbiBjaGlsZFRleHQgaXMgcGFzc2VkLCBjaGlsZFRhZyBzaG91bGQgYmUgbnVsbCcpO1xuICAgICAgfVxuXG4gICAgICBjaGlsZFRhZyA9ICcjdGV4dCc7XG4gICAgfVxuXG4gICAgdmFyIGludmFsaWRQYXJlbnQgPSBpc1RhZ1ZhbGlkV2l0aFBhcmVudChjaGlsZFRhZywgcGFyZW50VGFnKSA/IG51bGwgOiBwYXJlbnRJbmZvO1xuICAgIHZhciBpbnZhbGlkQW5jZXN0b3IgPSBpbnZhbGlkUGFyZW50ID8gbnVsbCA6IGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcoY2hpbGRUYWcsIGFuY2VzdG9ySW5mbyk7XG4gICAgdmFyIGludmFsaWRQYXJlbnRPckFuY2VzdG9yID0gaW52YWxpZFBhcmVudCB8fCBpbnZhbGlkQW5jZXN0b3I7XG5cbiAgICBpZiAoIWludmFsaWRQYXJlbnRPckFuY2VzdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGFuY2VzdG9yVGFnID0gaW52YWxpZFBhcmVudE9yQW5jZXN0b3IudGFnO1xuICAgIHZhciB3YXJuS2V5ID0gISFpbnZhbGlkUGFyZW50ICsgJ3wnICsgY2hpbGRUYWcgKyAnfCcgKyBhbmNlc3RvclRhZztcblxuICAgIGlmIChkaWRXYXJuJDFbd2FybktleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuJDFbd2FybktleV0gPSB0cnVlO1xuICAgIHZhciB0YWdEaXNwbGF5TmFtZSA9IGNoaWxkVGFnO1xuICAgIHZhciB3aGl0ZXNwYWNlSW5mbyA9ICcnO1xuXG4gICAgaWYgKGNoaWxkVGFnID09PSAnI3RleHQnKSB7XG4gICAgICBpZiAoL1xcUy8udGVzdChjaGlsZFRleHQpKSB7XG4gICAgICAgIHRhZ0Rpc3BsYXlOYW1lID0gJ1RleHQgbm9kZXMnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFnRGlzcGxheU5hbWUgPSAnV2hpdGVzcGFjZSB0ZXh0IG5vZGVzJztcbiAgICAgICAgd2hpdGVzcGFjZUluZm8gPSBcIiBNYWtlIHN1cmUgeW91IGRvbid0IGhhdmUgYW55IGV4dHJhIHdoaXRlc3BhY2UgYmV0d2VlbiB0YWdzIG9uIFwiICsgJ2VhY2ggbGluZSBvZiB5b3VyIHNvdXJjZSBjb2RlLic7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhZ0Rpc3BsYXlOYW1lID0gJzwnICsgY2hpbGRUYWcgKyAnPic7XG4gICAgfVxuXG4gICAgaWYgKGludmFsaWRQYXJlbnQpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmIChhbmNlc3RvclRhZyA9PT0gJ3RhYmxlJyAmJiBjaGlsZFRhZyA9PT0gJ3RyJykge1xuICAgICAgICBpbmZvICs9ICcgQWRkIGEgPHRib2R5PiwgPHRoZWFkPiBvciA8dGZvb3Q+IHRvIHlvdXIgY29kZSB0byBtYXRjaCB0aGUgRE9NIHRyZWUgZ2VuZXJhdGVkIGJ5ICcgKyAndGhlIGJyb3dzZXIuJztcbiAgICAgIH1cblxuICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZyguLi4pOiAlcyBjYW5ub3QgYXBwZWFyIGFzIGEgY2hpbGQgb2YgPCVzPi4lcyVzJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnLCB3aGl0ZXNwYWNlSW5mbywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yKCd2YWxpZGF0ZURPTU5lc3RpbmcoLi4uKTogJXMgY2Fubm90IGFwcGVhciBhcyBhIGRlc2NlbmRhbnQgb2YgJyArICc8JXM+LicsIHRhZ0Rpc3BsYXlOYW1lLCBhbmNlc3RvclRhZyk7XG4gICAgfVxuICB9O1xufVxuXG52YXIgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMSA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xudmFyIFNVU1BFTlNFX1NUQVJUX0RBVEEgPSAnJCc7XG52YXIgU1VTUEVOU0VfRU5EX0RBVEEgPSAnLyQnO1xudmFyIFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSA9ICckPyc7XG52YXIgU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSA9ICckISc7XG52YXIgU1RZTEUkMSA9ICdzdHlsZSc7XG52YXIgZXZlbnRzRW5hYmxlZCA9IG51bGw7XG52YXIgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xuZnVuY3Rpb24gZ2V0Um9vdEhvc3RDb250ZXh0KHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB2YXIgdHlwZTtcbiAgdmFyIG5hbWVzcGFjZTtcbiAgdmFyIG5vZGVUeXBlID0gcm9vdENvbnRhaW5lckluc3RhbmNlLm5vZGVUeXBlO1xuXG4gIHN3aXRjaCAobm9kZVR5cGUpIHtcbiAgICBjYXNlIERPQ1VNRU5UX05PREU6XG4gICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOlxuICAgICAge1xuICAgICAgICB0eXBlID0gbm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyAnI2RvY3VtZW50JyA6ICcjZnJhZ21lbnQnO1xuICAgICAgICB2YXIgcm9vdCA9IHJvb3RDb250YWluZXJJbnN0YW5jZS5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIG5hbWVzcGFjZSA9IHJvb3QgPyByb290Lm5hbWVzcGFjZVVSSSA6IGdldENoaWxkTmFtZXNwYWNlKG51bGwsICcnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICB2YXIgY29udGFpbmVyID0gbm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IHJvb3RDb250YWluZXJJbnN0YW5jZS5wYXJlbnROb2RlIDogcm9vdENvbnRhaW5lckluc3RhbmNlO1xuICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gY29udGFpbmVyLm5hbWVzcGFjZVVSSSB8fCBudWxsO1xuICAgICAgICB0eXBlID0gY29udGFpbmVyLnRhZ05hbWU7XG4gICAgICAgIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKG93bk5hbWVzcGFjZSwgdHlwZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG5cbiAge1xuICAgIHZhciB2YWxpZGF0ZWRUYWcgPSB0eXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8obnVsbCwgdmFsaWRhdGVkVGFnKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldENoaWxkSG9zdENvbnRleHQocGFyZW50SG9zdENvbnRleHQsIHR5cGUsIHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB7XG4gICAgdmFyIHBhcmVudEhvc3RDb250ZXh0RGV2ID0gcGFyZW50SG9zdENvbnRleHQ7XG4gICAgdmFyIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKHBhcmVudEhvc3RDb250ZXh0RGV2Lm5hbWVzcGFjZSwgdHlwZSk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8ocGFyZW50SG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZTtcbn1cbmZ1bmN0aW9uIHByZXBhcmVGb3JDb21taXQoY29udGFpbmVySW5mbykge1xuICBldmVudHNFbmFibGVkID0gaXNFbmFibGVkKCk7XG4gIHNlbGVjdGlvbkluZm9ybWF0aW9uID0gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKTtcbiAgdmFyIGFjdGl2ZUluc3RhbmNlID0gbnVsbDtcblxuICBzZXRFbmFibGVkKGZhbHNlKTtcbiAgcmV0dXJuIGFjdGl2ZUluc3RhbmNlO1xufVxuZnVuY3Rpb24gcmVzZXRBZnRlckNvbW1pdChjb250YWluZXJJbmZvKSB7XG4gIHJlc3RvcmVTZWxlY3Rpb24oc2VsZWN0aW9uSW5mb3JtYXRpb24pO1xuICBzZXRFbmFibGVkKGV2ZW50c0VuYWJsZWQpO1xuICBldmVudHNFbmFibGVkID0gbnVsbDtcbiAgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xufVxuZnVuY3Rpb24gY3JlYXRlSW5zdGFuY2UodHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcblxuICB7XG4gICAgLy8gVE9ETzogdGFrZSBuYW1lc3BhY2UgaW50byBhY2NvdW50IHdoZW4gdmFsaWRhdGluZy5cbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICB2YWxpZGF0ZURPTU5lc3RpbmcodHlwZSwgbnVsbCwgaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvKTtcblxuICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpIHtcbiAgICAgIHZhciBzdHJpbmcgPSAnJyArIHByb3BzLmNoaWxkcmVuO1xuICAgICAgdmFyIG93bkFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8oaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcbiAgICAgIHZhbGlkYXRlRE9NTmVzdGluZyhudWxsLCBzdHJpbmcsIG93bkFuY2VzdG9ySW5mbyk7XG4gICAgfVxuXG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xuICB9XG5cbiAgdmFyIGRvbUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIHBhcmVudE5hbWVzcGFjZSk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIGRvbUVsZW1lbnQpO1xuICB1cGRhdGVGaWJlclByb3BzKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XG59XG5mdW5jdGlvbiBhcHBlbmRJbml0aWFsQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLmFwcGVuZENoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0KSB7XG4gIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2J1dHRvbic6XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmV0dXJuICEhcHJvcHMuYXV0b0ZvY3VzO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gcHJlcGFyZVVwZGF0ZShkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQpIHtcbiAge1xuICAgIHZhciBob3N0Q29udGV4dERldiA9IGhvc3RDb250ZXh0O1xuXG4gICAgaWYgKHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiAhPT0gdHlwZW9mIG9sZFByb3BzLmNoaWxkcmVuICYmICh0eXBlb2YgbmV3UHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpKSB7XG4gICAgICB2YXIgc3RyaW5nID0gJycgKyBuZXdQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBvd25BbmNlc3RvckluZm8gPSB1cGRhdGVkQW5jZXN0b3JJbmZvKGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbywgdHlwZSk7XG4gICAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgc3RyaW5nLCBvd25BbmNlc3RvckluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaWZmUHJvcGVydGllcyhkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMpO1xufVxuZnVuY3Rpb24gc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgcHJvcHMpIHtcbiAgcmV0dXJuIHR5cGUgPT09ICd0ZXh0YXJlYScgfHwgdHlwZSA9PT0gJ25vc2NyaXB0JyB8fCB0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID09PSAnb2JqZWN0JyAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gbnVsbCAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwgIT0gbnVsbDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVRleHRJbnN0YW5jZSh0ZXh0LCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHtcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgdGV4dCwgaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvKTtcbiAgfVxuXG4gIHZhciB0ZXh0Tm9kZSA9IGNyZWF0ZVRleHROb2RlKHRleHQsIHJvb3RDb250YWluZXJJbnN0YW5jZSk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHRleHROb2RlKTtcbiAgcmV0dXJuIHRleHROb2RlO1xufVxuZnVuY3Rpb24gZ2V0Q3VycmVudEV2ZW50UHJpb3JpdHkoKSB7XG4gIHZhciBjdXJyZW50RXZlbnQgPSB3aW5kb3cuZXZlbnQ7XG5cbiAgaWYgKGN1cnJlbnRFdmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIERlZmF1bHRFdmVudFByaW9yaXR5O1xuICB9XG5cbiAgcmV0dXJuIGdldEV2ZW50UHJpb3JpdHkoY3VycmVudEV2ZW50LnR5cGUpO1xufVxuLy8gaWYgYSBjb21wb25lbnQganVzdCBpbXBvcnRzIFJlYWN0RE9NIChlLmcuIGZvciBmaW5kRE9NTm9kZSkuXG4vLyBTb21lIGVudmlyb25tZW50cyBtaWdodCBub3QgaGF2ZSBzZXRUaW1lb3V0IG9yIGNsZWFyVGltZW91dC5cblxudmFyIHNjaGVkdWxlVGltZW91dCA9IHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nID8gc2V0VGltZW91dCA6IHVuZGVmaW5lZDtcbnZhciBjYW5jZWxUaW1lb3V0ID0gdHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJyA/IGNsZWFyVGltZW91dCA6IHVuZGVmaW5lZDtcbnZhciBub1RpbWVvdXQgPSAtMTtcbnZhciBsb2NhbFByb21pc2UgPSB0eXBlb2YgUHJvbWlzZSA9PT0gJ2Z1bmN0aW9uJyA/IFByb21pc2UgOiB1bmRlZmluZWQ7IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBzY2hlZHVsZU1pY3JvdGFzayA9IHR5cGVvZiBxdWV1ZU1pY3JvdGFzayA9PT0gJ2Z1bmN0aW9uJyA/IHF1ZXVlTWljcm90YXNrIDogdHlwZW9mIGxvY2FsUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgPyBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgcmV0dXJuIGxvY2FsUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oY2FsbGJhY2spLmNhdGNoKGhhbmRsZUVycm9ySW5OZXh0VGljayk7XG59IDogc2NoZWR1bGVUaW1lb3V0OyAvLyBUT0RPOiBEZXRlcm1pbmUgdGhlIGJlc3QgZmFsbGJhY2sgaGVyZS5cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3JJbk5leHRUaWNrKGVycm9yKSB7XG4gIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIHRocm93IGVycm9yO1xuICB9KTtcbn0gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gY29tbWl0TW91bnQoZG9tRWxlbWVudCwgdHlwZSwgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gRGVzcGl0ZSB0aGUgbmFtaW5nIHRoYXQgbWlnaHQgaW1wbHkgb3RoZXJ3aXNlLCB0aGlzIG1ldGhvZCBvbmx5XG4gIC8vIGZpcmVzIGlmIHRoZXJlIGlzIGFuIGBVcGRhdGVgIGVmZmVjdCBzY2hlZHVsZWQgZHVyaW5nIG1vdW50aW5nLlxuICAvLyBUaGlzIGhhcHBlbnMgaWYgYGZpbmFsaXplSW5pdGlhbENoaWxkcmVuYCByZXR1cm5zIGB0cnVlYCAod2hpY2ggaXRcbiAgLy8gZG9lcyB0byBpbXBsZW1lbnQgdGhlIGBhdXRvRm9jdXNgIGF0dHJpYnV0ZSBvbiB0aGUgY2xpZW50KS4gQnV0XG4gIC8vIHRoZXJlIGFyZSBhbHNvIG90aGVyIGNhc2VzIHdoZW4gdGhpcyBtaWdodCBoYXBwZW4gKHN1Y2ggYXMgcGF0Y2hpbmdcbiAgLy8gdXAgdGV4dCBjb250ZW50IGR1cmluZyBoeWRyYXRpb24gbWlzbWF0Y2gpLiBTbyB3ZSdsbCBjaGVjayB0aGlzIGFnYWluLlxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdidXR0b24nOlxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIGlmIChuZXdQcm9wcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgZG9tRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlICdpbWcnOlxuICAgICAge1xuICAgICAgICBpZiAobmV3UHJvcHMuc3JjKSB7XG4gICAgICAgICAgZG9tRWxlbWVudC5zcmMgPSBuZXdQcm9wcy5zcmM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNvbW1pdFVwZGF0ZShkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gQXBwbHkgdGhlIGRpZmYgdG8gdGhlIERPTSBub2RlLlxuICB1cGRhdGVQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHR5cGUsIG9sZFByb3BzLCBuZXdQcm9wcyk7IC8vIFVwZGF0ZSB0aGUgcHJvcHMgaGFuZGxlIHNvIHRoYXQgd2Uga25vdyB3aGljaCBwcm9wcyBhcmUgdGhlIG9uZXMgd2l0aFxuICAvLyB3aXRoIGN1cnJlbnQgZXZlbnQgaGFuZGxlcnMuXG5cbiAgdXBkYXRlRmliZXJQcm9wcyhkb21FbGVtZW50LCBuZXdQcm9wcyk7XG59XG5mdW5jdGlvbiByZXNldFRleHRDb250ZW50KGRvbUVsZW1lbnQpIHtcbiAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycpO1xufVxuZnVuY3Rpb24gY29tbWl0VGV4dFVwZGF0ZSh0ZXh0SW5zdGFuY2UsIG9sZFRleHQsIG5ld1RleHQpIHtcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9IG5ld1RleHQ7XG59XG5mdW5jdGlvbiBhcHBlbmRDaGlsZChwYXJlbnRJbnN0YW5jZSwgY2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuZnVuY3Rpb24gYXBwZW5kQ2hpbGRUb0NvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIHZhciBwYXJlbnROb2RlO1xuXG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIHBhcmVudE5vZGUgPSBjb250YWluZXIucGFyZW50Tm9kZTtcbiAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShjaGlsZCwgY29udGFpbmVyKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJlbnROb2RlID0gY29udGFpbmVyO1xuICAgIHBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoY2hpbGQpO1xuICB9IC8vIFRoaXMgY29udGFpbmVyIG1pZ2h0IGJlIHVzZWQgZm9yIGEgcG9ydGFsLlxuICAvLyBJZiBzb21ldGhpbmcgaW5zaWRlIGEgcG9ydGFsIGlzIGNsaWNrZWQsIHRoYXQgY2xpY2sgc2hvdWxkIGJ1YmJsZVxuICAvLyB0aHJvdWdoIHRoZSBSZWFjdCB0cmVlLiBIb3dldmVyLCBvbiBNb2JpbGUgU2FmYXJpIHRoZSBjbGljayB3b3VsZFxuICAvLyBuZXZlciBidWJibGUgdGhyb3VnaCB0aGUgKkRPTSogdHJlZSB1bmxlc3MgYW4gYW5jZXN0b3Igd2l0aCBvbmNsaWNrXG4gIC8vIGV2ZW50IGV4aXN0cy4gU28gd2Ugd291bGRuJ3Qgc2VlIGl0IGFuZCBkaXNwYXRjaCBpdC5cbiAgLy8gVGhpcyBpcyB3aHkgd2UgZW5zdXJlIHRoYXQgbm9uIFJlYWN0IHJvb3QgY29udGFpbmVycyBoYXZlIGlubGluZSBvbmNsaWNrXG4gIC8vIGRlZmluZWQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE5MThcblxuXG4gIHZhciByZWFjdFJvb3RDb250YWluZXIgPSBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcblxuICBpZiAoKHJlYWN0Um9vdENvbnRhaW5lciA9PT0gbnVsbCB8fCByZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZCkgJiYgcGFyZW50Tm9kZS5vbmNsaWNrID09PSBudWxsKSB7XG4gICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChwYXJlbnROb2RlKTtcbiAgfVxufVxuZnVuY3Rpb24gaW5zZXJ0QmVmb3JlKHBhcmVudEluc3RhbmNlLCBjaGlsZCwgYmVmb3JlQ2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG59XG5mdW5jdGlvbiBpbnNlcnRJbkNvbnRhaW5lckJlZm9yZShjb250YWluZXIsIGNoaWxkLCBiZWZvcmVDaGlsZCkge1xuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICBjb250YWluZXIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIGNvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICB9XG59XG5mdW5jdGlvbiBjbGVhclN1c3BlbnNlQm91bmRhcnkocGFyZW50SW5zdGFuY2UsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSBzdXNwZW5zZUluc3RhbmNlOyAvLyBEZWxldGUgYWxsIG5vZGVzIHdpdGhpbiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5LlxuICAvLyBUaGVyZSBtaWdodCBiZSBuZXN0ZWQgbm9kZXMgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvd1xuICAvLyBkZWVwIHdlIGFyZSBhbmQgb25seSBicmVhayBvdXQgd2hlbiB3ZSdyZSBiYWNrIG9uIHRvcC5cblxuICB2YXIgZGVwdGggPSAwO1xuXG4gIGRvIHtcbiAgICB2YXIgbmV4dE5vZGUgPSBub2RlLm5leHRTaWJsaW5nO1xuICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5vZGUpO1xuXG4gICAgaWYgKG5leHROb2RlICYmIG5leHROb2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbmV4dE5vZGUuZGF0YTtcblxuICAgICAgaWYgKGRhdGEgPT09IFNVU1BFTlNFX0VORF9EQVRBKSB7XG4gICAgICAgIGlmIChkZXB0aCA9PT0gMCkge1xuICAgICAgICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5leHROb2RlKTsgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuXG4gICAgICAgICAgcmV0cnlJZkJsb2NrZWRPbihzdXNwZW5zZUluc3RhbmNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IG5leHROb2RlO1xuICB9IHdoaWxlIChub2RlKTsgLy8gVE9ETzogV2Fybiwgd2UgZGlkbid0IGZpbmQgdGhlIGVuZCBjb21tZW50IGJvdW5kYXJ5LlxuICAvLyBSZXRyeSBpZiBhbnkgZXZlbnQgcmVwbGF5aW5nIHdhcyBibG9ja2VkIG9uIHRoaXMuXG5cblxuICByZXRyeUlmQmxvY2tlZE9uKHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gY2xlYXJTdXNwZW5zZUJvdW5kYXJ5RnJvbUNvbnRhaW5lcihjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5KGNvbnRhaW5lci5wYXJlbnROb2RlLCBzdXNwZW5zZUluc3RhbmNlKTtcbiAgfSBlbHNlIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgIGNsZWFyU3VzcGVuc2VCb3VuZGFyeShjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpO1xuICB9IC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cblxuXG4gIHJldHJ5SWZCbG9ja2VkT24oY29udGFpbmVyKTtcbn1cbmZ1bmN0aW9uIGhpZGVJbnN0YW5jZShpbnN0YW5jZSkge1xuICAvLyBUT0RPOiBEb2VzIHRoaXMgd29yayBmb3IgYWxsIGVsZW1lbnQgdHlwZXM/IFdoYXQgYWJvdXQgTWF0aE1MPyBTaG91bGQgd2VcbiAgLy8gcGFzcyBob3N0IGNvbnRleHQgdG8gdGhpcyBtZXRob2Q/XG4gIGluc3RhbmNlID0gaW5zdGFuY2U7XG4gIHZhciBzdHlsZSA9IGluc3RhbmNlLnN0eWxlO1xuXG4gIGlmICh0eXBlb2Ygc3R5bGUuc2V0UHJvcGVydHkgPT09ICdmdW5jdGlvbicpIHtcbiAgICBzdHlsZS5zZXRQcm9wZXJ0eSgnZGlzcGxheScsICdub25lJywgJ2ltcG9ydGFudCcpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZGVUZXh0SW5zdGFuY2UodGV4dEluc3RhbmNlKSB7XG4gIHRleHRJbnN0YW5jZS5ub2RlVmFsdWUgPSAnJztcbn1cbmZ1bmN0aW9uIHVuaGlkZUluc3RhbmNlKGluc3RhbmNlLCBwcm9wcykge1xuICBpbnN0YW5jZSA9IGluc3RhbmNlO1xuICB2YXIgc3R5bGVQcm9wID0gcHJvcHNbU1RZTEUkMV07XG4gIHZhciBkaXNwbGF5ID0gc3R5bGVQcm9wICE9PSB1bmRlZmluZWQgJiYgc3R5bGVQcm9wICE9PSBudWxsICYmIHN0eWxlUHJvcC5oYXNPd25Qcm9wZXJ0eSgnZGlzcGxheScpID8gc3R5bGVQcm9wLmRpc3BsYXkgOiBudWxsO1xuICBpbnN0YW5jZS5zdHlsZS5kaXNwbGF5ID0gZGFuZ2Vyb3VzU3R5bGVWYWx1ZSgnZGlzcGxheScsIGRpc3BsYXkpO1xufVxuZnVuY3Rpb24gdW5oaWRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dCkge1xuICB0ZXh0SW5zdGFuY2Uubm9kZVZhbHVlID0gdGV4dDtcbn1cbmZ1bmN0aW9uIGNsZWFyQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUpIHtcbiAgICBjb250YWluZXIudGV4dENvbnRlbnQgPSAnJztcbiAgfSBlbHNlIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUpIHtcbiAgICBpZiAoY29udGFpbmVyLmRvY3VtZW50RWxlbWVudCkge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKGNvbnRhaW5lci5kb2N1bWVudEVsZW1lbnQpO1xuICAgIH1cbiAgfVxufSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5mdW5jdGlvbiBjYW5IeWRyYXRlSW5zdGFuY2UoaW5zdGFuY2UsIHR5cGUsIHByb3BzKSB7XG4gIGlmIChpbnN0YW5jZS5ub2RlVHlwZSAhPT0gRUxFTUVOVF9OT0RFIHx8IHR5cGUudG9Mb3dlckNhc2UoKSAhPT0gaW5zdGFuY2Uubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIFRoaXMgaGFzIG5vdyBiZWVuIHJlZmluZWQgdG8gYW4gZWxlbWVudCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVRleHRJbnN0YW5jZShpbnN0YW5jZSwgdGV4dCkge1xuICBpZiAodGV4dCA9PT0gJycgfHwgaW5zdGFuY2Uubm9kZVR5cGUgIT09IFRFWFRfTk9ERSkge1xuICAgIC8vIEVtcHR5IHN0cmluZ3MgYXJlIG5vdCBwYXJzZWQgYnkgSFRNTCBzbyB0aGVyZSB3b24ndCBiZSBhIGNvcnJlY3QgbWF0Y2ggaGVyZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBUaGlzIGhhcyBub3cgYmVlbiByZWZpbmVkIHRvIGEgdGV4dCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVN1c3BlbnNlSW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgaWYgKGluc3RhbmNlLm5vZGVUeXBlICE9PSBDT01NRU5UX05PREUpIHtcbiAgICAvLyBFbXB0eSBzdHJpbmdzIGFyZSBub3QgcGFyc2VkIGJ5IEhUTUwgc28gdGhlcmUgd29uJ3QgYmUgYSBjb3JyZWN0IG1hdGNoIGhlcmUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gVGhpcyBoYXMgbm93IGJlZW4gcmVmaW5lZCB0byBhIHN1c3BlbnNlIG5vZGUuXG5cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5mdW5jdGlvbiBpc1N1c3BlbnNlSW5zdGFuY2VQZW5kaW5nKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZS5kYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEE7XG59XG5mdW5jdGlvbiBpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhpbnN0YW5jZSkge1xuICByZXR1cm4gaW5zdGFuY2UuZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQTtcbn1cbmZ1bmN0aW9uIGdldFN1c3BlbnNlSW5zdGFuY2VGYWxsYmFja0Vycm9yRGV0YWlscyhpbnN0YW5jZSkge1xuICB2YXIgZGF0YXNldCA9IGluc3RhbmNlLm5leHRTaWJsaW5nICYmIGluc3RhbmNlLm5leHRTaWJsaW5nLmRhdGFzZXQ7XG4gIHZhciBkaWdlc3QsIG1lc3NhZ2UsIHN0YWNrO1xuXG4gIGlmIChkYXRhc2V0KSB7XG4gICAgZGlnZXN0ID0gZGF0YXNldC5kZ3N0O1xuXG4gICAge1xuICAgICAgbWVzc2FnZSA9IGRhdGFzZXQubXNnO1xuICAgICAgc3RhY2sgPSBkYXRhc2V0LnN0Y2s7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgZGlnZXN0OiBkaWdlc3QsXG4gICAgICBzdGFjazogc3RhY2tcbiAgICB9O1xuICB9IC8vIGxldCB2YWx1ZSA9IHttZXNzYWdlOiB1bmRlZmluZWQsIGhhc2g6IHVuZGVmaW5lZH07XG4gIC8vIGNvbnN0IG5leHRTaWJsaW5nID0gaW5zdGFuY2UubmV4dFNpYmxpbmc7XG4gIC8vIGlmIChuZXh0U2libGluZykge1xuICAvLyAgIGNvbnN0IGRhdGFzZXQgPSAoKG5leHRTaWJsaW5nOiBhbnkpOiBIVE1MVGVtcGxhdGVFbGVtZW50KS5kYXRhc2V0O1xuICAvLyAgIHZhbHVlLm1lc3NhZ2UgPSBkYXRhc2V0Lm1zZztcbiAgLy8gICB2YWx1ZS5oYXNoID0gZGF0YXNldC5oYXNoO1xuICAvLyAgIGlmICh0cnVlKSB7XG4gIC8vICAgICB2YWx1ZS5zdGFjayA9IGRhdGFzZXQuc3RhY2s7XG4gIC8vICAgfVxuICAvLyB9XG4gIC8vIHJldHVybiB2YWx1ZTtcblxufVxuZnVuY3Rpb24gcmVnaXN0ZXJTdXNwZW5zZUluc3RhbmNlUmV0cnkoaW5zdGFuY2UsIGNhbGxiYWNrKSB7XG4gIGluc3RhbmNlLl9yZWFjdFJldHJ5ID0gY2FsbGJhY2s7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlKG5vZGUpIHtcbiAgLy8gU2tpcCBub24taHlkcmF0YWJsZSBub2Rlcy5cbiAgZm9yICg7IG5vZGUgIT0gbnVsbDsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpIHtcbiAgICB2YXIgbm9kZVR5cGUgPSBub2RlLm5vZGVUeXBlO1xuXG4gICAgaWYgKG5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBub2RlRGF0YSA9IG5vZGUuZGF0YTtcblxuICAgICAgaWYgKG5vZGVEYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlRGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhpbnN0YW5jZSkge1xuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGUoaW5zdGFuY2UubmV4dFNpYmxpbmcpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLmZpcnN0Q2hpbGQpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGRXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyKSB7XG4gIHJldHVybiBnZXROZXh0SHlkcmF0YWJsZShwYXJlbnRDb250YWluZXIuZmlyc3RDaGlsZCk7XG59XG5mdW5jdGlvbiBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLm5leHRTaWJsaW5nKTtcbn1cbmZ1bmN0aW9uIGh5ZHJhdGVJbnN0YW5jZShpbnN0YW5jZSwgdHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgaW5zdGFuY2UpOyAvLyBUT0RPOiBQb3NzaWJseSBkZWZlciB0aGlzIHVudGlsIHRoZSBjb21taXQgcGhhc2Ugd2hlcmUgYWxsIHRoZSBldmVudHNcbiAgLy8gZ2V0IGF0dGFjaGVkLlxuXG4gIHVwZGF0ZUZpYmVyUHJvcHMoaW5zdGFuY2UsIHByb3BzKTtcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcblxuICB7XG4gICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xuICB9IC8vIFRPRE86IFRlbXBvcmFyeSBoYWNrIHRvIGNoZWNrIGlmIHdlJ3JlIGluIGEgY29uY3VycmVudCByb290LiBXZSBjYW4gZGVsZXRlXG4gIC8vIHdoZW4gdGhlIGxlZ2FjeSByb290IEFQSSBpcyByZW1vdmVkLlxuXG5cbiAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG4gIHJldHVybiBkaWZmSHlkcmF0ZWRQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVySW5zdGFuY2UsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpO1xufVxuZnVuY3Rpb24gaHlkcmF0ZVRleHRJbnN0YW5jZSh0ZXh0SW5zdGFuY2UsIHRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgdGV4dEluc3RhbmNlKTsgLy8gVE9ETzogVGVtcG9yYXJ5IGhhY2sgdG8gY2hlY2sgaWYgd2UncmUgaW4gYSBjb25jdXJyZW50IHJvb3QuIFdlIGNhbiBkZWxldGVcbiAgLy8gd2hlbiB0aGUgbGVnYWN5IHJvb3QgQVBJIGlzIHJlbW92ZWQuXG5cbiAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG4gIHJldHVybiBkaWZmSHlkcmF0ZWRUZXh0KHRleHRJbnN0YW5jZSwgdGV4dCk7XG59XG5mdW5jdGlvbiBoeWRyYXRlU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlLCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gZ2V0TmV4dEh5ZHJhdGFibGVJbnN0YW5jZUFmdGVyU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKSB7XG4gIHZhciBub2RlID0gc3VzcGVuc2VJbnN0YW5jZS5uZXh0U2libGluZzsgLy8gU2tpcCBwYXN0IGFsbCBub2RlcyB3aXRoaW4gdGhpcyBzdXNwZW5zZSBib3VuZGFyeS5cbiAgLy8gVGhlcmUgbWlnaHQgYmUgbmVzdGVkIG5vZGVzIHNvIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBob3dcbiAgLy8gZGVlcCB3ZSBhcmUgYW5kIG9ubHkgYnJlYWsgb3V0IHdoZW4gd2UncmUgYmFjayBvbiB0b3AuXG5cbiAgdmFyIGRlcHRoID0gMDtcblxuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbm9kZS5kYXRhO1xuXG4gICAgICBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcbiAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhub2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXB0aC0tO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgfSAvLyBUT0RPOiBXYXJuLCB3ZSBkaWRuJ3QgZmluZCB0aGUgZW5kIGNvbW1lbnQgYm91bmRhcnkuXG5cblxuICByZXR1cm4gbnVsbDtcbn0gLy8gUmV0dXJucyB0aGUgU3VzcGVuc2VJbnN0YW5jZSBpZiB0aGlzIG5vZGUgaXMgYSBkaXJlY3QgY2hpbGQgb2YgYVxuLy8gU3VzcGVuc2VJbnN0YW5jZS4gSS5lLiBpZiBpdHMgcHJldmlvdXMgc2libGluZyBpcyBhIENvbW1lbnQgd2l0aFxuLy8gU1VTUEVOU0VfeF9TVEFSVF9EQVRBLiBPdGhlcndpc2UsIG51bGwuXG5cbmZ1bmN0aW9uIGdldFBhcmVudFN1c3BlbnNlSW5zdGFuY2UodGFyZ2V0SW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0YW5jZS5wcmV2aW91c1NpYmxpbmc7IC8vIFNraXAgcGFzdCBhbGwgbm9kZXMgd2l0aGluIHRoaXMgc3VzcGVuc2UgYm91bmRhcnkuXG4gIC8vIFRoZXJlIG1pZ2h0IGJlIG5lc3RlZCBub2RlcyBzbyB3ZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgaG93XG4gIC8vIGRlZXAgd2UgYXJlIGFuZCBvbmx5IGJyZWFrIG91dCB3aGVuIHdlJ3JlIGJhY2sgb24gdG9wLlxuXG4gIHZhciBkZXB0aCA9IDA7XG5cbiAgd2hpbGUgKG5vZGUpIHtcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgICB2YXIgZGF0YSA9IG5vZGUuZGF0YTtcblxuICAgICAgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhID09PSBTVVNQRU5TRV9FTkRfREFUQSkge1xuICAgICAgICBkZXB0aCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5vZGUgPSBub2RlLnByZXZpb3VzU2libGluZztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRDb250YWluZXIoY29udGFpbmVyKSB7XG4gIC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cbiAgcmV0cnlJZkJsb2NrZWRPbihjb250YWluZXIpO1xufVxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuICByZXRyeUlmQmxvY2tlZE9uKHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gc2hvdWxkRGVsZXRlVW5oeWRyYXRlZFRhaWxJbnN0YW5jZXMocGFyZW50VHlwZSkge1xuICByZXR1cm4gcGFyZW50VHlwZSAhPT0gJ2hlYWQnICYmIHBhcmVudFR5cGUgIT09ICdib2R5Jztcbn1cbmZ1bmN0aW9uIGRpZE5vdE1hdGNoSHlkcmF0ZWRDb250YWluZXJUZXh0SW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0ZXh0SW5zdGFuY2UsIHRleHQsIGlzQ29uY3VycmVudE1vZGUpIHtcbiAgdmFyIHNob3VsZFdhcm5EZXYgPSB0cnVlO1xuICBjaGVja0ZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLm5vZGVWYWx1ZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldik7XG59XG5mdW5jdGlvbiBkaWROb3RNYXRjaEh5ZHJhdGVkVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdGV4dEluc3RhbmNlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIGlmIChwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xuICAgIHZhciBzaG91bGRXYXJuRGV2ID0gdHJ1ZTtcbiAgICBjaGVja0ZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLm5vZGVWYWx1ZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldik7XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIGluc3RhbmNlKSB7XG4gIHtcbiAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnRDb250YWluZXIsIGluc3RhbmNlKTtcbiAgICB9IGVsc2UgaWYgKGluc3RhbmNlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIDsgZWxzZSB7XG4gICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVUZXh0KHBhcmVudENvbnRhaW5lciwgaW5zdGFuY2UpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWU6IE9ubHkgRWxlbWVudCBvciBEb2N1bWVudCBjYW4gYmUgcGFyZW50IG5vZGVzLlxuICAgIHZhciBwYXJlbnROb2RlID0gcGFyZW50SW5zdGFuY2UucGFyZW50Tm9kZTtcblxuICAgIGlmIChwYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVFbGVtZW50KHBhcmVudE5vZGUsIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBkaWROb3RIeWRyYXRlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBpbnN0YW5jZSwgaXNDb25jdXJyZW50TW9kZSkge1xuICB7XG4gICAgaWYgKGlzQ29uY3VycmVudE1vZGUgfHwgcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICAgIGlmIChpbnN0YW5jZS5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZUVsZW1lbnQocGFyZW50SW5zdGFuY2UsIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZEVsZW1lbnQocGFyZW50Q29udGFpbmVyLCB0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyLCB0ZXh0KSB7XG4gIHtcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZFRleHQocGFyZW50Q29udGFpbmVyLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UsIHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lOiBPbmx5IEVsZW1lbnQgb3IgRG9jdW1lbnQgY2FuIGJlIHBhcmVudCBub2Rlcy5cbiAgICB2YXIgcGFyZW50Tm9kZSA9IHBhcmVudEluc3RhbmNlLnBhcmVudE5vZGU7XG4gICAgaWYgKHBhcmVudE5vZGUgIT09IG51bGwpIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHBhcmVudEluc3RhbmNlLCB0ZXh0KSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lOiBPbmx5IEVsZW1lbnQgb3IgRG9jdW1lbnQgY2FuIGJlIHBhcmVudCBub2Rlcy5cbiAgICB2YXIgcGFyZW50Tm9kZSA9IHBhcmVudEluc3RhbmNlLnBhcmVudE5vZGU7XG4gICAgaWYgKHBhcmVudE5vZGUgIT09IG51bGwpIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHR5cGUsIHByb3BzLCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHtcbiAgICBpZiAoaXNDb25jdXJyZW50TW9kZSB8fCBwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xuICAgICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudEluc3RhbmNlLCB0eXBlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSkge1xuICB7XG4gICAgaWYgKGlzQ29uY3VycmVudE1vZGUgfHwgcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICAgIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnRJbnN0YW5jZSwgdGV4dCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBlcnJvckh5ZHJhdGluZ0NvbnRhaW5lcihwYXJlbnRDb250YWluZXIpIHtcbiAge1xuICAgIC8vIFRPRE86IFRoaXMgZ2V0cyBsb2dnZWQgYnkgb25SZWNvdmVyYWJsZUVycm9yLCB0b28sIHNvIHdlIHNob3VsZCBiZVxuICAgIC8vIGFibGUgdG8gcmVtb3ZlIGl0LlxuICAgIGVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgaHlkcmF0aW9uLiBUaGUgc2VydmVyIEhUTUwgd2FzIHJlcGxhY2VkIHdpdGggY2xpZW50IGNvbnRlbnQgaW4gPCVzPi4nLCBwYXJlbnRDb250YWluZXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHByZXBhcmVQb3J0YWxNb3VudChwb3J0YWxJbnN0YW5jZSkge1xuICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhwb3J0YWxJbnN0YW5jZSk7XG59XG5cbnZhciByYW5kb21LZXkgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtcbnZhciBpbnRlcm5hbEluc3RhbmNlS2V5ID0gJ19fcmVhY3RGaWJlciQnICsgcmFuZG9tS2V5O1xudmFyIGludGVybmFsUHJvcHNLZXkgPSAnX19yZWFjdFByb3BzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleSA9ICdfX3JlYWN0Q29udGFpbmVyJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5ID0gJ19fcmVhY3RFdmVudHMkJyArIHJhbmRvbUtleTtcbnZhciBpbnRlcm5hbEV2ZW50SGFuZGxlckxpc3RlbmVyc0tleSA9ICdfX3JlYWN0TGlzdGVuZXJzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXNTZXRLZXkgPSAnX19yZWFjdEhhbmRsZXMkJyArIHJhbmRvbUtleTtcbmZ1bmN0aW9uIGRldGFjaERlbGV0ZWRJbnN0YW5jZShub2RlKSB7XG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb24gaG9zdCBjb21wb25lbnRzLiBJIGRvbid0IHRoaW5rIGFsbCBvZlxuICAvLyB0aGVzZSBmaWVsZHMgYXJlIHJlbGV2YW50LlxuICBkZWxldGUgbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcbiAgZGVsZXRlIG5vZGVbaW50ZXJuYWxQcm9wc0tleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyc0tleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyTGlzdGVuZXJzS2V5XTtcbiAgZGVsZXRlIG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXNTZXRLZXldO1xufVxuZnVuY3Rpb24gcHJlY2FjaGVGaWJlck5vZGUoaG9zdEluc3QsIG5vZGUpIHtcbiAgbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSA9IGhvc3RJbnN0O1xufVxuZnVuY3Rpb24gbWFya0NvbnRhaW5lckFzUm9vdChob3N0Um9vdCwgbm9kZSkge1xuICBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldID0gaG9zdFJvb3Q7XG59XG5mdW5jdGlvbiB1bm1hcmtDb250YWluZXJBc1Jvb3Qobm9kZSkge1xuICBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzQ29udGFpbmVyTWFya2VkQXNSb290KG5vZGUpIHtcbiAgcmV0dXJuICEhbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XTtcbn0gLy8gR2l2ZW4gYSBET00gbm9kZSwgcmV0dXJuIHRoZSBjbG9zZXN0IEhvc3RDb21wb25lbnQgb3IgSG9zdFRleHQgZmliZXIgYW5jZXN0b3IuXG4vLyBJZiB0aGUgdGFyZ2V0IG5vZGUgaXMgcGFydCBvZiBhIGh5ZHJhdGVkIG9yIG5vdCB5ZXQgcmVuZGVyZWQgc3VidHJlZSwgdGhlblxuLy8gdGhpcyBtYXkgYWxzbyByZXR1cm4gYSBTdXNwZW5zZUNvbXBvbmVudCBvciBIb3N0Um9vdCB0byBpbmRpY2F0ZSB0aGF0LlxuLy8gQ29uY2VwdHVhbGx5IHRoZSBIb3N0Um9vdCBmaWJlciBpcyBhIGNoaWxkIG9mIHRoZSBDb250YWluZXIgbm9kZS4gU28gaWYgeW91XG4vLyBwYXNzIHRoZSBDb250YWluZXIgbm9kZSBhcyB0aGUgdGFyZ2V0Tm9kZSwgeW91IHdpbGwgbm90IGFjdHVhbGx5IGdldCB0aGVcbi8vIEhvc3RSb290IGJhY2suIFRvIGdldCB0byB0aGUgSG9zdFJvb3QsIHlvdSBuZWVkIHRvIHBhc3MgYSBjaGlsZCBvZiBpdC5cbi8vIFRoZSBzYW1lIHRoaW5nIGFwcGxpZXMgdG8gU3VzcGVuc2UgYm91bmRhcmllcy5cblxuZnVuY3Rpb24gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUodGFyZ2V0Tm9kZSkge1xuICB2YXIgdGFyZ2V0SW5zdCA9IHRhcmdldE5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV07XG5cbiAgaWYgKHRhcmdldEluc3QpIHtcbiAgICAvLyBEb24ndCByZXR1cm4gSG9zdFJvb3Qgb3IgU3VzcGVuc2VDb21wb25lbnQgaGVyZS5cbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgfSAvLyBJZiB0aGUgZGlyZWN0IGV2ZW50IHRhcmdldCBpc24ndCBhIFJlYWN0IG93bmVkIERPTSBub2RlLCB3ZSBuZWVkIHRvIGxvb2tcbiAgLy8gdG8gc2VlIGlmIG9uZSBvZiBpdHMgcGFyZW50cyBpcyBhIFJlYWN0IG93bmVkIERPTSBub2RlLlxuXG5cbiAgdmFyIHBhcmVudE5vZGUgPSB0YXJnZXROb2RlLnBhcmVudE5vZGU7XG5cbiAgd2hpbGUgKHBhcmVudE5vZGUpIHtcbiAgICAvLyBXZSdsbCBjaGVjayBpZiB0aGlzIGlzIGEgY29udGFpbmVyIHJvb3QgdGhhdCBjb3VsZCBpbmNsdWRlXG4gICAgLy8gUmVhY3Qgbm9kZXMgaW4gdGhlIGZ1dHVyZS4gV2UgbmVlZCB0byBjaGVjayB0aGlzIGZpcnN0IGJlY2F1c2VcbiAgICAvLyBpZiB3ZSdyZSBhIGNoaWxkIG9mIGEgZGVoeWRyYXRlZCBjb250YWluZXIsIHdlIG5lZWQgdG8gZmlyc3RcbiAgICAvLyBmaW5kIHRoYXQgaW5uZXIgY29udGFpbmVyIGJlZm9yZSBtb3Zpbmcgb24gdG8gZmluZGluZyB0aGUgcGFyZW50XG4gICAgLy8gaW5zdGFuY2UuIE5vdGUgdGhhdCB3ZSBkb24ndCBjaGVjayB0aGlzIGZpZWxkIG9uICB0aGUgdGFyZ2V0Tm9kZVxuICAgIC8vIGl0c2VsZiBiZWNhdXNlIHRoZSBmaWJlcnMgYXJlIGNvbmNlcHR1YWxseSBiZXR3ZWVuIHRoZSBjb250YWluZXJcbiAgICAvLyBub2RlIGFuZCB0aGUgZmlyc3QgY2hpbGQuIEl0IGlzbid0IHN1cnJvdW5kaW5nIHRoZSBjb250YWluZXIgbm9kZS5cbiAgICAvLyBJZiBpdCdzIG5vdCBhIGNvbnRhaW5lciwgd2UgY2hlY2sgaWYgaXQncyBhbiBpbnN0YW5jZS5cbiAgICB0YXJnZXRJbnN0ID0gcGFyZW50Tm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XSB8fCBwYXJlbnROb2RlW2ludGVybmFsSW5zdGFuY2VLZXldO1xuXG4gICAgaWYgKHRhcmdldEluc3QpIHtcbiAgICAgIC8vIFNpbmNlIHRoaXMgd2Fzbid0IHRoZSBkaXJlY3QgdGFyZ2V0IG9mIHRoZSBldmVudCwgd2UgbWlnaHQgaGF2ZVxuICAgICAgLy8gc3RlcHBlZCBwYXN0IGRlaHlkcmF0ZWQgRE9NIG5vZGVzIHRvIGdldCBoZXJlLiBIb3dldmVyIHRoZXkgY291bGRcbiAgICAgIC8vIGFsc28gaGF2ZSBiZWVuIG5vbi1SZWFjdCBub2Rlcy4gV2UgbmVlZCB0byBhbnN3ZXIgd2hpY2ggb25lLlxuICAgICAgLy8gSWYgd2UgdGhlIGluc3RhbmNlIGRvZXNuJ3QgaGF2ZSBhbnkgY2hpbGRyZW4sIHRoZW4gdGhlcmUgY2FuJ3QgYmVcbiAgICAgIC8vIGEgbmVzdGVkIHN1c3BlbnNlIGJvdW5kYXJ5IHdpdGhpbiBpdC4gU28gd2UgY2FuIHVzZSB0aGlzIGFzIGEgZmFzdFxuICAgICAgLy8gYmFpbG91dC4gTW9zdCBvZiB0aGUgdGltZSwgd2hlbiBwZW9wbGUgYWRkIG5vbi1SZWFjdCBjaGlsZHJlbiB0b1xuICAgICAgLy8gdGhlIHRyZWUsIGl0IGlzIHVzaW5nIGEgcmVmIHRvIGEgY2hpbGQtbGVzcyBET00gbm9kZS5cbiAgICAgIC8vIE5vcm1hbGx5IHdlJ2Qgb25seSBuZWVkIHRvIGNoZWNrIG9uZSBvZiB0aGUgZmliZXJzIGJlY2F1c2UgaWYgaXRcbiAgICAgIC8vIGhhcyBldmVyIGdvbmUgZnJvbSBoYXZpbmcgY2hpbGRyZW4gdG8gZGVsZXRpbmcgdGhlbSBvciB2aWNlIHZlcnNhXG4gICAgICAvLyBpdCB3b3VsZCBoYXZlIGRlbGV0ZWQgdGhlIGRlaHlkcmF0ZWQgYm91bmRhcnkgbmVzdGVkIGluc2lkZSBhbHJlYWR5LlxuICAgICAgLy8gSG93ZXZlciwgc2luY2UgdGhlIEhvc3RSb290IHN0YXJ0cyBvdXQgd2l0aCBhbiBhbHRlcm5hdGUgaXQgbWlnaHRcbiAgICAgIC8vIGhhdmUgb25lIG9uIHRoZSBhbHRlcm5hdGUgc28gd2UgbmVlZCB0byBjaGVjayBpbiBjYXNlIHRoaXMgd2FzIGFcbiAgICAgIC8vIHJvb3QuXG4gICAgICB2YXIgYWx0ZXJuYXRlID0gdGFyZ2V0SW5zdC5hbHRlcm5hdGU7XG5cbiAgICAgIGlmICh0YXJnZXRJbnN0LmNoaWxkICE9PSBudWxsIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhlIG5vZGUgdGhhdCBza2lwcGVkIHBhc3QgaXNcbiAgICAgICAgLy8gbmVzdGVkIHdpdGhpbiBhIGRlaHlkcmF0ZWQgYm91bmRhcnkgYW5kIGlmIHNvLCB3aGljaCBvbmUuXG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZSh0YXJnZXROb2RlKTtcblxuICAgICAgICB3aGlsZSAoc3VzcGVuc2VJbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIGZvdW5kIGEgc3VzcGVuc2UgaW5zdGFuY2UuIFRoYXQgbWVhbnMgdGhhdCB3ZSBoYXZlbid0XG4gICAgICAgICAgLy8gaHlkcmF0ZWQgaXQgeWV0LiBFdmVuIHRob3VnaCB3ZSBsZWF2ZSB0aGUgY29tbWVudHMgaW4gdGhlXG4gICAgICAgICAgLy8gRE9NIGFmdGVyIGh5ZHJhdGluZywgYW5kIHRoZXJlIGFyZSBib3VuZGFyaWVzIGluIHRoZSBET01cbiAgICAgICAgICAvLyB0aGF0IGNvdWxkIGFscmVhZHkgYmUgaHlkcmF0ZWQsIHdlIHdvdWxkbid0IGhhdmUgZm91bmQgdGhlbVxuICAgICAgICAgIC8vIHRocm91Z2ggdGhpcyBwYXNzIHNpbmNlIGlmIHRoZSB0YXJnZXQgaXMgaHlkcmF0ZWQgaXQgd291bGRcbiAgICAgICAgICAvLyBoYXZlIGhhZCBhbiBpbnRlcm5hbEluc3RhbmNlS2V5IG9uIGl0LlxuICAgICAgICAgIC8vIExldCdzIGdldCB0aGUgZmliZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBTdXNwZW5zZUNvbXBvbmVudFxuICAgICAgICAgIC8vIGFzIHRoZSBkZWVwZXN0IGluc3RhbmNlLlxuICAgICAgICAgIHZhciB0YXJnZXRTdXNwZW5zZUluc3QgPSBzdXNwZW5zZUluc3RhbmNlW2ludGVybmFsSW5zdGFuY2VLZXldO1xuXG4gICAgICAgICAgaWYgKHRhcmdldFN1c3BlbnNlSW5zdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFN1c3BlbnNlSW5zdDtcbiAgICAgICAgICB9IC8vIElmIHdlIGRvbid0IGZpbmQgYSBGaWJlciBvbiB0aGUgY29tbWVudCwgaXQgbWlnaHQgYmUgYmVjYXVzZVxuICAgICAgICAgIC8vIHdlIGhhdmVuJ3QgZ290dGVuIHRvIGh5ZHJhdGUgaXQgeWV0LiBUaGVyZSBtaWdodCBzdGlsbCBiZSBhXG4gICAgICAgICAgLy8gcGFyZW50IGJvdW5kYXJ5IHRoYXQgaGFzbid0IGFib3ZlIHRoaXMgb25lIHNvIHdlIG5lZWQgdG8gZmluZFxuICAgICAgICAgIC8vIHRoZSBvdXRlciBtb3N0IHRoYXQgaXMga25vd24uXG5cblxuICAgICAgICAgIHN1c3BlbnNlSW5zdGFuY2UgPSBnZXRQYXJlbnRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpOyAvLyBJZiB3ZSBkb24ndCBmaW5kIG9uZSwgdGhlbiB0aGF0IHNob3VsZCBtZWFuIHRoYXQgdGhlIHBhcmVudFxuICAgICAgICAgIC8vIGhvc3QgY29tcG9uZW50IGFsc28gaGFzbid0IGh5ZHJhdGVkIHlldC4gV2UgY2FuIHJldHVybiBpdFxuICAgICAgICAgIC8vIGJlbG93IHNpbmNlIGl0IHdpbGwgYmFpbCBvdXQgb24gdGhlIGlzTW91bnRlZCBjaGVjayBsYXRlci5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgICB9XG5cbiAgICB0YXJnZXROb2RlID0gcGFyZW50Tm9kZTtcbiAgICBwYXJlbnROb2RlID0gdGFyZ2V0Tm9kZS5wYXJlbnROb2RlO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIEdpdmVuIGEgRE9NIG5vZGUsIHJldHVybiB0aGUgUmVhY3RET01Db21wb25lbnQgb3IgUmVhY3RET01UZXh0Q29tcG9uZW50XG4gKiBpbnN0YW5jZSwgb3IgbnVsbCBpZiB0aGUgbm9kZSB3YXMgbm90IHJlbmRlcmVkIGJ5IHRoaXMgUmVhY3QuXG4gKi9cblxuZnVuY3Rpb24gZ2V0SW5zdGFuY2VGcm9tTm9kZShub2RlKSB7XG4gIHZhciBpbnN0ID0gbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSB8fCBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldO1xuXG4gIGlmIChpbnN0KSB7XG4gICAgaWYgKGluc3QudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IGluc3QudGFnID09PSBIb3N0VGV4dCB8fCBpbnN0LnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICByZXR1cm4gaW5zdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIEdpdmVuIGEgUmVhY3RET01Db21wb25lbnQgb3IgUmVhY3RET01UZXh0Q29tcG9uZW50LCByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmdcbiAqIERPTSBub2RlLlxuICovXG5cbmZ1bmN0aW9uIGdldE5vZGVGcm9tSW5zdGFuY2UoaW5zdCkge1xuICBpZiAoaW5zdC50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgLy8gSW4gRmliZXIgdGhpcywgaXMganVzdCB0aGUgc3RhdGUgbm9kZSByaWdodCBub3cuIFdlIGFzc3VtZSBpdCB3aWxsIGJlXG4gICAgLy8gYSBob3N0IGNvbXBvbmVudCBvciBob3N0IHRleHQuXG4gICAgcmV0dXJuIGluc3Quc3RhdGVOb2RlO1xuICB9IC8vIFdpdGhvdXQgdGhpcyBmaXJzdCBpbnZhcmlhbnQsIHBhc3NpbmcgYSBub24tRE9NLWNvbXBvbmVudCB0cmlnZ2VycyB0aGUgbmV4dFxuICAvLyBpbnZhcmlhbnQgZm9yIGEgbWlzc2luZyBwYXJlbnQsIHdoaWNoIGlzIHN1cGVyIGNvbmZ1c2luZy5cblxuXG4gIHRocm93IG5ldyBFcnJvcignZ2V0Tm9kZUZyb21JbnN0YW5jZTogSW52YWxpZCBhcmd1bWVudC4nKTtcbn1cbmZ1bmN0aW9uIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZVtpbnRlcm5hbFByb3BzS2V5XSB8fCBudWxsO1xufVxuZnVuY3Rpb24gdXBkYXRlRmliZXJQcm9wcyhub2RlLCBwcm9wcykge1xuICBub2RlW2ludGVybmFsUHJvcHNLZXldID0gcHJvcHM7XG59XG5mdW5jdGlvbiBnZXRFdmVudExpc3RlbmVyU2V0KG5vZGUpIHtcbiAgdmFyIGVsZW1lbnRMaXN0ZW5lclNldCA9IG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5XTtcblxuICBpZiAoZWxlbWVudExpc3RlbmVyU2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICBlbGVtZW50TGlzdGVuZXJTZXQgPSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyc0tleV0gPSBuZXcgU2V0KCk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudExpc3RlbmVyU2V0O1xufVxuXG52YXIgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1Byb3BUeXBlcyh0eXBlU3BlY3MsIHZhbHVlcywgbG9jYXRpb24sIGNvbXBvbmVudE5hbWUsIGVsZW1lbnQpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWUgVGhpcyBpcyBva2F5IGJ1dCBGbG93IGRvZXNuJ3Qga25vdyBpdC5cbiAgICB2YXIgaGFzID0gRnVuY3Rpb24uY2FsbC5iaW5kKGhhc093blByb3BlcnR5KTtcblxuICAgIGZvciAodmFyIHR5cGVTcGVjTmFtZSBpbiB0eXBlU3BlY3MpIHtcbiAgICAgIGlmIChoYXModHlwZVNwZWNzLCB0eXBlU3BlY05hbWUpKSB7XG4gICAgICAgIHZhciBlcnJvciQxID0gdm9pZCAwOyAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhbiBpbnZhcmlhbnQgdGhhdCBnZXRzIGNhdWdodC4gSXQncyB0aGUgc2FtZVxuICAgICAgICAgIC8vIGJlaGF2aW9yIGFzIHdpdGhvdXQgdGhpcyBzdGF0ZW1lbnQgZXhjZXB0IHdpdGggYSBiZXR0ZXIgbWVzc2FnZS5cbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogJyArIGxvY2F0aW9uICsgJyB0eXBlIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgJyArICdpdCBtdXN0IGJlIGEgZnVuY3Rpb24sIHVzdWFsbHkgZnJvbSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UsIGJ1dCByZWNlaXZlZCBgJyArIHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSArICdgLicgKyAnVGhpcyBvZnRlbiBoYXBwZW5zIGJlY2F1c2Ugb2YgdHlwb3Mgc3VjaCBhcyBgUHJvcFR5cGVzLmZ1bmN0aW9uYCBpbnN0ZWFkIG9mIGBQcm9wVHlwZXMuZnVuY2AuJyk7XG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlcnJvciQxID0gdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0odmFsdWVzLCB0eXBlU3BlY05hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBudWxsLCAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnKTtcbiAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICBlcnJvciQxID0gZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSAmJiAhKGVycm9yJDEgaW5zdGFuY2VvZiBFcnJvcikpIHtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCclczogdHlwZSBzcGVjaWZpY2F0aW9uIG9mICVzJyArICcgYCVzYCBpcyBpbnZhbGlkOyB0aGUgdHlwZSBjaGVja2VyICcgKyAnZnVuY3Rpb24gbXVzdCByZXR1cm4gYG51bGxgIG9yIGFuIGBFcnJvcmAgYnV0IHJldHVybmVkIGEgJXMuICcgKyAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArICdjcmVhdG9yIChhcnJheU9mLCBpbnN0YW5jZU9mLCBvYmplY3RPZiwgb25lT2YsIG9uZU9mVHlwZSwgYW5kICcgKyAnc2hhcGUgYWxsIHJlcXVpcmUgYW4gYXJndW1lbnQpLicsIGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJywgbG9jYXRpb24sIHR5cGVTcGVjTmFtZSwgdHlwZW9mIGVycm9yJDEpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yICYmICEoZXJyb3IkMS5tZXNzYWdlIGluIGxvZ2dlZFR5cGVGYWlsdXJlcykpIHtcbiAgICAgICAgICAvLyBPbmx5IG1vbml0b3IgdGhpcyBmYWlsdXJlIG9uY2UgYmVjYXVzZSB0aGVyZSB0ZW5kcyB0byBiZSBhIGxvdCBvZiB0aGVcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxuICAgICAgICAgIGxvZ2dlZFR5cGVGYWlsdXJlc1tlcnJvciQxLm1lc3NhZ2VdID0gdHJ1ZTtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCdGYWlsZWQgJXMgdHlwZTogJXMnLCBsb2NhdGlvbiwgZXJyb3IkMS5tZXNzYWdlKTtcblxuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciB2YWx1ZVN0YWNrID0gW107XG52YXIgZmliZXJTdGFjaztcblxue1xuICBmaWJlclN0YWNrID0gW107XG59XG5cbnZhciBpbmRleCA9IC0xO1xuXG5mdW5jdGlvbiBjcmVhdGVDdXJzb3IoZGVmYXVsdFZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudDogZGVmYXVsdFZhbHVlXG4gIH07XG59XG5cbmZ1bmN0aW9uIHBvcChjdXJzb3IsIGZpYmVyKSB7XG4gIGlmIChpbmRleCA8IDApIHtcbiAgICB7XG4gICAgICBlcnJvcignVW5leHBlY3RlZCBwb3AuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAge1xuICAgIGlmIChmaWJlciAhPT0gZmliZXJTdGFja1tpbmRleF0pIHtcbiAgICAgIGVycm9yKCdVbmV4cGVjdGVkIEZpYmVyIHBvcHBlZC4nKTtcbiAgICB9XG4gIH1cblxuICBjdXJzb3IuY3VycmVudCA9IHZhbHVlU3RhY2tbaW5kZXhdO1xuICB2YWx1ZVN0YWNrW2luZGV4XSA9IG51bGw7XG5cbiAge1xuICAgIGZpYmVyU3RhY2tbaW5kZXhdID0gbnVsbDtcbiAgfVxuXG4gIGluZGV4LS07XG59XG5cbmZ1bmN0aW9uIHB1c2goY3Vyc29yLCB2YWx1ZSwgZmliZXIpIHtcbiAgaW5kZXgrKztcbiAgdmFsdWVTdGFja1tpbmRleF0gPSBjdXJzb3IuY3VycmVudDtcblxuICB7XG4gICAgZmliZXJTdGFja1tpbmRleF0gPSBmaWJlcjtcbiAgfVxuXG4gIGN1cnNvci5jdXJyZW50ID0gdmFsdWU7XG59XG5cbnZhciB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHQ7XG5cbntcbiAgd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0ID0ge307XG59XG5cbnZhciBlbXB0eUNvbnRleHRPYmplY3QgPSB7fTtcblxue1xuICBPYmplY3QuZnJlZXplKGVtcHR5Q29udGV4dE9iamVjdCk7XG59IC8vIEEgY3Vyc29yIHRvIHRoZSBjdXJyZW50IG1lcmdlZCBjb250ZXh0IG9iamVjdCBvbiB0aGUgc3RhY2suXG5cblxudmFyIGNvbnRleHRTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihlbXB0eUNvbnRleHRPYmplY3QpOyAvLyBBIGN1cnNvciB0byBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjb250ZXh0IGhhcyBjaGFuZ2VkLlxuXG52YXIgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihmYWxzZSk7IC8vIEtlZXAgdHJhY2sgb2YgdGhlIHByZXZpb3VzIGNvbnRleHQgb2JqZWN0IHRoYXQgd2FzIG9uIHRoZSBzdGFjay5cbi8vIFdlIHVzZSB0aGlzIHRvIGdldCBhY2Nlc3MgdG8gdGhlIHBhcmVudCBjb250ZXh0IGFmdGVyIHdlIGhhdmUgYWxyZWFkeVxuLy8gcHVzaGVkIHRoZSBuZXh0IGNvbnRleHQgcHJvdmlkZXIsIGFuZCBub3cgbmVlZCB0byBtZXJnZSB0aGVpciBjb250ZXh0cy5cblxudmFyIHByZXZpb3VzQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuZnVuY3Rpb24gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlcikge1xuICB7XG4gICAgaWYgKGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlciAmJiBpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAvLyBJZiB0aGUgZmliZXIgaXMgYSBjb250ZXh0IHByb3ZpZGVyIGl0c2VsZiwgd2hlbiB3ZSByZWFkIGl0cyBjb250ZXh0XG4gICAgICAvLyB3ZSBtYXkgaGF2ZSBhbHJlYWR5IHB1c2hlZCBpdHMgb3duIGNoaWxkIGNvbnRleHQgb24gdGhlIHN0YWNrLiBBIGNvbnRleHRcbiAgICAgIC8vIHByb3ZpZGVyIHNob3VsZCBub3QgXCJzZWVcIiBpdHMgb3duIGNoaWxkIGNvbnRleHQuIFRoZXJlZm9yZSB3ZSByZWFkIHRoZVxuICAgICAgLy8gcHJldmlvdXMgKHBhcmVudCkgY29udGV4dCBpbnN0ZWFkIGZvciBhIGNvbnRleHQgcHJvdmlkZXIuXG4gICAgICByZXR1cm4gcHJldmlvdXNDb250ZXh0O1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWNoZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCwgbWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQgPSB1bm1hc2tlZENvbnRleHQ7XG4gICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQgPSBtYXNrZWRDb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgIHZhciBjb250ZXh0VHlwZXMgPSB0eXBlLmNvbnRleHRUeXBlcztcblxuICAgIGlmICghY29udGV4dFR5cGVzKSB7XG4gICAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xuICAgIH0gLy8gQXZvaWQgcmVjcmVhdGluZyBtYXNrZWQgY29udGV4dCB1bmxlc3MgdW5tYXNrZWQgY29udGV4dCBoYXMgY2hhbmdlZC5cbiAgICAvLyBGYWlsaW5nIHRvIGRvIHRoaXMgd2lsbCByZXN1bHQgaW4gdW5uZWNlc3NhcnkgY2FsbHMgdG8gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcy5cbiAgICAvLyBUaGlzIG1heSB0cmlnZ2VyIGluZmluaXRlIGxvb3BzIGlmIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgY2FsbHMgc2V0U3RhdGUuXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmIChpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0ID09PSB1bm1hc2tlZENvbnRleHQpIHtcbiAgICAgIHJldHVybiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY29udGV4dCA9IHt9O1xuXG4gICAgZm9yICh2YXIga2V5IGluIGNvbnRleHRUeXBlcykge1xuICAgICAgY29udGV4dFtrZXldID0gdW5tYXNrZWRDb250ZXh0W2tleV07XG4gICAgfVxuXG4gICAge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHdvcmtJblByb2dyZXNzKSB8fCAnVW5rbm93bic7XG4gICAgICBjaGVja1Byb3BUeXBlcyhjb250ZXh0VHlwZXMsIGNvbnRleHQsICdjb250ZXh0JywgbmFtZSk7XG4gICAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gICAgLy8gQ29udGV4dCBpcyBjcmVhdGVkIGJlZm9yZSB0aGUgY2xhc3MgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBzbyBjaGVjayBmb3IgaW5zdGFuY2UuXG5cblxuICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc0NvbnRleHRDaGFuZ2VkKCkge1xuICB7XG4gICAgcmV0dXJuIGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NvbnRleHRQcm92aWRlcih0eXBlKSB7XG4gIHtcbiAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSB0eXBlLmNoaWxkQ29udGV4dFR5cGVzO1xuICAgIHJldHVybiBjaGlsZENvbnRleHRUeXBlcyAhPT0gbnVsbCAmJiBjaGlsZENvbnRleHRUeXBlcyAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIHBvcChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBmaWJlcik7XG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlcikge1xuICB7XG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcbiAgICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHVzaFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlciwgY29udGV4dCwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICBpZiAoY29udGV4dFN0YWNrQ3Vyc29yLmN1cnJlbnQgIT09IGVtcHR5Q29udGV4dE9iamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIGNvbnRleHQgZm91bmQgb24gc3RhY2suICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciwgY29udGV4dCwgZmliZXIpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0NoaWxkQ29udGV4dChmaWJlciwgdHlwZSwgcGFyZW50Q29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICAgIHZhciBjaGlsZENvbnRleHRUeXBlcyA9IHR5cGUuY2hpbGRDb250ZXh0VHlwZXM7IC8vIFRPRE8gKGJ2YXVnaG4pIFJlcGxhY2UgdGhpcyBiZWhhdmlvciB3aXRoIGFuIGludmFyaWFudCgpIGluIHRoZSBmdXR1cmUuXG4gICAgLy8gSXQgaGFzIG9ubHkgYmVlbiBhZGRlZCBpbiBGaWJlciB0byBtYXRjaCB0aGUgKHVuaW50ZW50aW9uYWwpIGJlaGF2aW9yIGluIFN0YWNrLlxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bic7XG5cbiAgICAgICAgaWYgKCF3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzLmNoaWxkQ29udGV4dFR5cGVzIGlzIHNwZWNpZmllZCBidXQgdGhlcmUgaXMgbm8gZ2V0Q2hpbGRDb250ZXh0KCkgbWV0aG9kICcgKyAnb24gdGhlIGluc3RhbmNlLiBZb3UgY2FuIGVpdGhlciBkZWZpbmUgZ2V0Q2hpbGRDb250ZXh0KCkgb24gJXMgb3IgcmVtb3ZlICcgKyAnY2hpbGRDb250ZXh0VHlwZXMgZnJvbSBpdC4nLCBjb21wb25lbnROYW1lLCBjb21wb25lbnROYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyZW50Q29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY2hpbGRDb250ZXh0ID0gaW5zdGFuY2UuZ2V0Q2hpbGRDb250ZXh0KCk7XG5cbiAgICBmb3IgKHZhciBjb250ZXh0S2V5IGluIGNoaWxkQ29udGV4dCkge1xuICAgICAgaWYgKCEoY29udGV4dEtleSBpbiBjaGlsZENvbnRleHRUeXBlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bicpICsgXCIuZ2V0Q2hpbGRDb250ZXh0KCk6IGtleSBcXFwiXCIgKyBjb250ZXh0S2V5ICsgXCJcXFwiIGlzIG5vdCBkZWZpbmVkIGluIGNoaWxkQ29udGV4dFR5cGVzLlwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdVbmtub3duJztcbiAgICAgIGNoZWNrUHJvcFR5cGVzKGNoaWxkQ29udGV4dFR5cGVzLCBjaGlsZENvbnRleHQsICdjaGlsZCBjb250ZXh0JywgbmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFzc2lnbih7fSwgcGFyZW50Q29udGV4dCwgY2hpbGRDb250ZXh0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7IC8vIFdlIHB1c2ggdGhlIGNvbnRleHQgYXMgZWFybHkgYXMgcG9zc2libGUgdG8gZW5zdXJlIHN0YWNrIGludGVncml0eS5cbiAgICAvLyBJZiB0aGUgaW5zdGFuY2UgZG9lcyBub3QgZXhpc3QgeWV0LCB3ZSB3aWxsIHB1c2ggbnVsbCBhdCBmaXJzdCxcbiAgICAvLyBhbmQgcmVwbGFjZSBpdCBvbiB0aGUgc3RhY2sgbGF0ZXIgd2hlbiBpbnZhbGlkYXRpbmcgdGhlIGNvbnRleHQuXG5cbiAgICB2YXIgbWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCB8fCBlbXB0eUNvbnRleHRPYmplY3Q7IC8vIFJlbWVtYmVyIHRoZSBwYXJlbnQgY29udGV4dCBzbyB3ZSBjYW4gbWVyZ2Ugd2l0aCBpdCBsYXRlci5cbiAgICAvLyBJbmhlcml0IHRoZSBwYXJlbnQncyBkaWQtcGVyZm9ybS13b3JrIHZhbHVlIHRvIGF2b2lkIGluYWR2ZXJ0ZW50bHkgYmxvY2tpbmcgdXBkYXRlcy5cblxuICAgIHByZXZpb3VzQ29udGV4dCA9IGNvbnRleHRTdGFja0N1cnNvci5jdXJyZW50O1xuICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvci5jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgdHlwZSwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGhhdmUgYW4gaW5zdGFuY2UgYnkgdGhpcyBwb2ludC4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIGlmIChkaWRDaGFuZ2UpIHtcbiAgICAgIC8vIE1lcmdlIHBhcmVudCBhbmQgb3duIGNvbnRleHQuXG4gICAgICAvLyBTa2lwIHRoaXMgaWYgd2UncmUgbm90IHVwZGF0aW5nIGR1ZSB0byBzQ1UuXG4gICAgICAvLyBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyaWx5IHJlY29tcHV0aW5nIG1lbW9pemVkIHZhbHVlcy5cbiAgICAgIHZhciBtZXJnZWRDb250ZXh0ID0gcHJvY2Vzc0NoaWxkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdHlwZSwgcHJldmlvdXNDb250ZXh0KTtcbiAgICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0ID0gbWVyZ2VkQ29udGV4dDsgLy8gUmVwbGFjZSB0aGUgb2xkIChvciBlbXB0eSkgY29udGV4dCB3aXRoIHRoZSBuZXcgb25lLlxuICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRvIHVud2luZCB0aGUgY29udGV4dCBpbiB0aGUgcmV2ZXJzZSBvcmRlci5cblxuICAgICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHBvcChjb250ZXh0U3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTsgLy8gTm93IHB1c2ggdGhlIG5ldyBjb250ZXh0IGFuZCBtYXJrIHRoYXQgaXQgaGFzIGNoYW5nZWQuXG5cbiAgICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZXJnZWRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBwdXNoKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGRpZENoYW5nZSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3AoZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcHVzaChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBkaWRDaGFuZ2UsIHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRVbm1hc2tlZENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIC8vIEN1cnJlbnRseSB0aGlzIGlzIG9ubHkgdXNlZCB3aXRoIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyOyBub3Qgc3VyZSBpZiBpdFxuICAgIC8vIG1ha2VzIHNlbnNlIGVsc2V3aGVyZVxuICAgIGlmICghaXNGaWJlck1vdW50ZWQoZmliZXIpIHx8IGZpYmVyLnRhZyAhPT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgc3VidHJlZSBwYXJlbnQgdG8gYmUgYSBtb3VudGVkIGNsYXNzIGNvbXBvbmVudC4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIHZhciBub2RlID0gZmliZXI7XG5cbiAgICBkbyB7XG4gICAgICBzd2l0Y2ggKG5vZGUudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlLmNvbnRleHQ7XG5cbiAgICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgQ29tcG9uZW50ID0gbm9kZS50eXBlO1xuXG4gICAgICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgICAgICByZXR1cm4gbm9kZS5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgIH0gd2hpbGUgKG5vZGUgIT09IG51bGwpO1xuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdGb3VuZCB1bmV4cGVjdGVkIGRldGFjaGVkIHN1YnRyZWUgcGFyZW50LiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cbn1cblxudmFyIExlZ2FjeVJvb3QgPSAwO1xudmFyIENvbmN1cnJlbnRSb290ID0gMTtcblxudmFyIHN5bmNRdWV1ZSA9IG51bGw7XG52YXIgaW5jbHVkZXNMZWdhY3lTeW5jQ2FsbGJhY2tzID0gZmFsc2U7XG52YXIgaXNGbHVzaGluZ1N5bmNRdWV1ZSA9IGZhbHNlO1xuZnVuY3Rpb24gc2NoZWR1bGVTeW5jQ2FsbGJhY2soY2FsbGJhY2spIHtcbiAgLy8gUHVzaCB0aGlzIGNhbGxiYWNrIGludG8gYW4gaW50ZXJuYWwgcXVldWUuIFdlJ2xsIGZsdXNoIHRoZXNlIGVpdGhlciBpblxuICAvLyB0aGUgbmV4dCB0aWNrLCBvciBlYXJsaWVyIGlmIHNvbWV0aGluZyBjYWxscyBgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZWAuXG4gIGlmIChzeW5jUXVldWUgPT09IG51bGwpIHtcbiAgICBzeW5jUXVldWUgPSBbY2FsbGJhY2tdO1xuICB9IGVsc2Uge1xuICAgIC8vIFB1c2ggb250byBleGlzdGluZyBxdWV1ZS4gRG9uJ3QgbmVlZCB0byBzY2hlZHVsZSBhIGNhbGxiYWNrIGJlY2F1c2VcbiAgICAvLyB3ZSBhbHJlYWR5IHNjaGVkdWxlZCBvbmUgd2hlbiB3ZSBjcmVhdGVkIHRoZSBxdWV1ZS5cbiAgICBzeW5jUXVldWUucHVzaChjYWxsYmFjayk7XG4gIH1cbn1cbmZ1bmN0aW9uIHNjaGVkdWxlTGVnYWN5U3luY0NhbGxiYWNrKGNhbGxiYWNrKSB7XG4gIGluY2x1ZGVzTGVnYWN5U3luY0NhbGxiYWNrcyA9IHRydWU7XG4gIHNjaGVkdWxlU3luY0NhbGxiYWNrKGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIGZsdXNoU3luY0NhbGxiYWNrc09ubHlJbkxlZ2FjeU1vZGUoKSB7XG4gIC8vIE9ubHkgZmx1c2hlcyB0aGUgcXVldWUgaWYgdGhlcmUncyBhIGxlZ2FjeSBzeW5jIGNhbGxiYWNrIHNjaGVkdWxlZC5cbiAgLy8gVE9ETzogVGhlcmUncyBvbmx5IGEgc2luZ2xlIHR5cGUgb2YgY2FsbGJhY2s6IHBlcmZvcm1TeW5jT25Xb3JrT25Sb290LiBTb1xuICAvLyBpdCBtaWdodCBtYWtlIG1vcmUgc2Vuc2UgZm9yIHRoZSBxdWV1ZSB0byBiZSBhIGxpc3Qgb2Ygcm9vdHMgaW5zdGVhZCBvZiBhXG4gIC8vIGxpc3Qgb2YgZ2VuZXJpYyBjYWxsYmFja3MuIFRoZW4gd2UgY2FuIGhhdmUgdHdvOiBvbmUgZm9yIGxlZ2FjeSByb290cywgb25lXG4gIC8vIGZvciBjb25jdXJyZW50IHJvb3RzLiBBbmQgdGhpcyBtZXRob2Qgd291bGQgb25seSBmbHVzaCB0aGUgbGVnYWN5IG9uZXMuXG4gIGlmIChpbmNsdWRlc0xlZ2FjeVN5bmNDYWxsYmFja3MpIHtcbiAgICBmbHVzaFN5bmNDYWxsYmFja3MoKTtcbiAgfVxufVxuZnVuY3Rpb24gZmx1c2hTeW5jQ2FsbGJhY2tzKCkge1xuICBpZiAoIWlzRmx1c2hpbmdTeW5jUXVldWUgJiYgc3luY1F1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gUHJldmVudCByZS1lbnRyYW5jZS5cbiAgICBpc0ZsdXNoaW5nU3luY1F1ZXVlID0gdHJ1ZTtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIHByZXZpb3VzVXBkYXRlUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcblxuICAgIHRyeSB7XG4gICAgICB2YXIgaXNTeW5jID0gdHJ1ZTtcbiAgICAgIHZhciBxdWV1ZSA9IHN5bmNRdWV1ZTsgLy8gVE9ETzogSXMgdGhpcyBuZWNlc3NhcnkgYW55bW9yZT8gVGhlIG9ubHkgdXNlciBjb2RlIHRoYXQgcnVucyBpbiB0aGlzXG4gICAgICAvLyBxdWV1ZSBpcyBpbiB0aGUgcmVuZGVyIG9yIGNvbW1pdCBwaGFzZXMuXG5cbiAgICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuXG4gICAgICBmb3IgKDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHF1ZXVlW2ldO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrKGlzU3luYyk7XG4gICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcbiAgICAgIH1cblxuICAgICAgc3luY1F1ZXVlID0gbnVsbDtcbiAgICAgIGluY2x1ZGVzTGVnYWN5U3luY0NhbGxiYWNrcyA9IGZhbHNlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBJZiBzb21ldGhpbmcgdGhyb3dzLCBsZWF2ZSB0aGUgcmVtYWluaW5nIGNhbGxiYWNrcyBvbiB0aGUgcXVldWUuXG4gICAgICBpZiAoc3luY1F1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIHN5bmNRdWV1ZSA9IHN5bmNRdWV1ZS5zbGljZShpICsgMSk7XG4gICAgICB9IC8vIFJlc3VtZSBmbHVzaGluZyBpbiB0aGUgbmV4dCB0aWNrXG5cblxuICAgICAgc2NoZWR1bGVDYWxsYmFjayhJbW1lZGlhdGVQcmlvcml0eSwgZmx1c2hTeW5jQ2FsbGJhY2tzKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNVcGRhdGVQcmlvcml0eSk7XG4gICAgICBpc0ZsdXNoaW5nU3luY1F1ZXVlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIFRPRE86IFVzZSB0aGUgdW5pZmllZCBmaWJlciBzdGFjayBtb2R1bGUgaW5zdGVhZCBvZiB0aGlzIGxvY2FsIG9uZT9cbi8vIEludGVudGlvbmFsbHkgbm90IHVzaW5nIGl0IHlldCB0byBkZXJpc2sgdGhlIGluaXRpYWwgaW1wbGVtZW50YXRpb24sIGJlY2F1c2Vcbi8vIHRoZSB3YXkgd2UgcHVzaC9wb3AgdGhlc2UgdmFsdWVzIGlzIGEgYml0IHVudXN1YWwuIElmIHRoZXJlJ3MgYSBtaXN0YWtlLCBJJ2Rcbi8vIHJhdGhlciB0aGUgaWRzIGJlIHdyb25nIHRoYW4gY3Jhc2ggdGhlIHdob2xlIHJlY29uY2lsZXIuXG52YXIgZm9ya1N0YWNrID0gW107XG52YXIgZm9ya1N0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVGb3JrUHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVGb3JrQ291bnQgPSAwO1xudmFyIGlkU3RhY2sgPSBbXTtcbnZhciBpZFN0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVDb250ZXh0UHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVDb250ZXh0SWQgPSAxO1xudmFyIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSAnJztcbmZ1bmN0aW9uIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIHJldHVybiAod29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiBGb3JrZWQpICE9PSBOb0ZsYWdzO1xufVxuZnVuY3Rpb24gZ2V0Rm9ya3NBdExldmVsKHdvcmtJblByb2dyZXNzKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpO1xuICByZXR1cm4gdHJlZUZvcmtDb3VudDtcbn1cbmZ1bmN0aW9uIGdldFRyZWVJZCgpIHtcbiAgdmFyIG92ZXJmbG93ID0gdHJlZUNvbnRleHRPdmVyZmxvdztcbiAgdmFyIGlkV2l0aExlYWRpbmdCaXQgPSB0cmVlQ29udGV4dElkO1xuICB2YXIgaWQgPSBpZFdpdGhMZWFkaW5nQml0ICYgfmdldExlYWRpbmdCaXQoaWRXaXRoTGVhZGluZ0JpdCk7XG4gIHJldHVybiBpZC50b1N0cmluZygzMikgKyBvdmVyZmxvdztcbn1cbmZ1bmN0aW9uIHB1c2hUcmVlRm9yayh3b3JrSW5Qcm9ncmVzcywgdG90YWxDaGlsZHJlbikge1xuICAvLyBUaGlzIGlzIGNhbGxlZCByaWdodCBhZnRlciB3ZSByZWNvbmNpbGUgYW4gYXJyYXkgKG9yIGl0ZXJhdG9yKSBvZiBjaGlsZFxuICAvLyBmaWJlcnMsIGJlY2F1c2UgdGhhdCdzIHRoZSBvbmx5IHBsYWNlIHdoZXJlIHdlIGtub3cgaG93IG1hbnkgY2hpbGRyZW4gaW5cbiAgLy8gdGhlIHdob2xlIHNldCB3aXRob3V0IGRvaW5nIGV4dHJhIHdvcmsgbGF0ZXIsIG9yIHN0b3JpbmcgYWRkdGlvbmFsXG4gIC8vIGluZm9ybWF0aW9uIG9uIHRoZSBmaWJlci5cbiAgLy9cbiAgLy8gVGhhdCdzIHdoeSB0aGlzIGZ1bmN0aW9uIGlzIHNlcGFyYXRlIGZyb20gcHVzaFRyZWVJZCDigJQgaXQncyBjYWxsZWQgZHVyaW5nXG4gIC8vIHRoZSByZW5kZXIgcGhhc2Ugb2YgdGhlIGZvcmsgcGFyZW50LCBub3QgdGhlIGNoaWxkLCB3aGljaCBpcyB3aGVyZSB3ZSBwdXNoXG4gIC8vIHRoZSBvdGhlciBjb250ZXh0IHZhbHVlcy5cbiAgLy9cbiAgLy8gSW4gdGhlIEZpenogaW1wbGVtZW50YXRpb24gdGhpcyBpcyBtdWNoIHNpbXBsZXIgYmVjYXVzZSB0aGUgY2hpbGQgaXNcbiAgLy8gcmVuZGVyZWQgaW4gdGhlIHNhbWUgY2FsbHN0YWNrIGFzIHRoZSBwYXJlbnQuXG4gIC8vXG4gIC8vIEl0IG1pZ2h0IGJlIGJldHRlciB0byBqdXN0IGFkZCBhIGBmb3Jrc2AgZmllbGQgdG8gdGhlIEZpYmVyIHR5cGUuIEl0IHdvdWxkXG4gIC8vIG1ha2UgdGhpcyBtb2R1bGUgc2ltcGxlci5cbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleCsrXSA9IHRyZWVGb3JrQ291bnQ7XG4gIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleCsrXSA9IHRyZWVGb3JrUHJvdmlkZXI7XG4gIHRyZWVGb3JrUHJvdmlkZXIgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdHJlZUZvcmtDb3VudCA9IHRvdGFsQ2hpbGRyZW47XG59XG5mdW5jdGlvbiBwdXNoVHJlZUlkKHdvcmtJblByb2dyZXNzLCB0b3RhbENoaWxkcmVuLCBpbmRleCkge1xuICB3YXJuSWZOb3RIeWRyYXRpbmcoKTtcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dElkO1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0T3ZlcmZsb3c7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRQcm92aWRlcjtcbiAgdHJlZUNvbnRleHRQcm92aWRlciA9IHdvcmtJblByb2dyZXNzO1xuICB2YXIgYmFzZUlkV2l0aExlYWRpbmdCaXQgPSB0cmVlQ29udGV4dElkO1xuICB2YXIgYmFzZU92ZXJmbG93ID0gdHJlZUNvbnRleHRPdmVyZmxvdzsgLy8gVGhlIGxlZnRtb3N0IDEgbWFya3MgdGhlIGVuZCBvZiB0aGUgc2VxdWVuY2UsIG5vbi1pbmNsdXNpdmUuIEl0J3Mgbm90IHBhcnRcbiAgLy8gb2YgdGhlIGlkOyB3ZSB1c2UgaXQgdG8gYWNjb3VudCBmb3IgbGVhZGluZyAwcy5cblxuICB2YXIgYmFzZUxlbmd0aCA9IGdldEJpdExlbmd0aChiYXNlSWRXaXRoTGVhZGluZ0JpdCkgLSAxO1xuICB2YXIgYmFzZUlkID0gYmFzZUlkV2l0aExlYWRpbmdCaXQgJiB+KDEgPDwgYmFzZUxlbmd0aCk7XG4gIHZhciBzbG90ID0gaW5kZXggKyAxO1xuICB2YXIgbGVuZ3RoID0gZ2V0Qml0TGVuZ3RoKHRvdGFsQ2hpbGRyZW4pICsgYmFzZUxlbmd0aDsgLy8gMzAgaXMgdGhlIG1heCBsZW5ndGggd2UgY2FuIHN0b3JlIHdpdGhvdXQgb3ZlcmZsb3dpbmcsIHRha2luZyBpbnRvXG4gIC8vIGNvbnNpZGVyYXRpb24gdGhlIGxlYWRpbmcgMSB3ZSB1c2UgdG8gbWFyayB0aGUgZW5kIG9mIHRoZSBzZXF1ZW5jZS5cblxuICBpZiAobGVuZ3RoID4gMzApIHtcbiAgICAvLyBXZSBvdmVyZmxvd2VkIHRoZSBiaXR3aXNlLXNhZmUgcmFuZ2UuIEZhbGwgYmFjayB0byBzbG93ZXIgYWxnb3JpdGhtLlxuICAgIC8vIFRoaXMgYnJhbmNoIGFzc3VtZXMgdGhlIGxlbmd0aCBvZiB0aGUgYmFzZSBpZCBpcyBncmVhdGVyIHRoYW4gNTsgaXQgd29uJ3RcbiAgICAvLyB3b3JrIGZvciBzbWFsbGVyIGlkcywgYmVjYXVzZSB5b3UgbmVlZCA1IGJpdHMgcGVyIGNoYXJhY3Rlci5cbiAgICAvL1xuICAgIC8vIFdlIGVuY29kZSB0aGUgaWQgaW4gbXVsdGlwbGUgc3RlcHM6IGZpcnN0IHRoZSBiYXNlIGlkLCB0aGVuIHRoZVxuICAgIC8vIHJlbWFpbmluZyBkaWdpdHMuXG4gICAgLy9cbiAgICAvLyBFYWNoIDUgYml0IHNlcXVlbmNlIGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIGJhc2UgMzIgY2hhcmFjdGVyLiBTbyBmb3JcbiAgICAvLyBleGFtcGxlLCBpZiB0aGUgY3VycmVudCBpZCBpcyAyMyBiaXRzIGxvbmcsIHdlIGNhbiBjb252ZXJ0IDIwIG9mIHRob3NlXG4gICAgLy8gYml0cyBpbnRvIGEgc3RyaW5nIG9mIDQgY2hhcmFjdGVycywgd2l0aCAzIGJpdHMgbGVmdCBvdmVyLlxuICAgIC8vXG4gICAgLy8gRmlyc3QgY2FsY3VsYXRlIGhvdyBtYW55IGJpdHMgaW4gdGhlIGJhc2UgaWQgcmVwcmVzZW50IGEgY29tcGxldGVcbiAgICAvLyBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzLlxuICAgIHZhciBudW1iZXJPZk92ZXJmbG93Qml0cyA9IGJhc2VMZW5ndGggLSBiYXNlTGVuZ3RoICUgNTsgLy8gVGhlbiBjcmVhdGUgYSBiaXRtYXNrIHRoYXQgc2VsZWN0cyBvbmx5IHRob3NlIGJpdHMuXG5cbiAgICB2YXIgbmV3T3ZlcmZsb3dCaXRzID0gKDEgPDwgbnVtYmVyT2ZPdmVyZmxvd0JpdHMpIC0gMTsgLy8gU2VsZWN0IHRoZSBiaXRzLCBhbmQgY29udmVydCB0aGVtIHRvIGEgYmFzZSAzMiBzdHJpbmcuXG5cbiAgICB2YXIgbmV3T3ZlcmZsb3cgPSAoYmFzZUlkICYgbmV3T3ZlcmZsb3dCaXRzKS50b1N0cmluZygzMik7IC8vIE5vdyB3ZSBjYW4gcmVtb3ZlIHRob3NlIGJpdHMgZnJvbSB0aGUgYmFzZSBpZC5cblxuICAgIHZhciByZXN0T2ZCYXNlSWQgPSBiYXNlSWQgPj4gbnVtYmVyT2ZPdmVyZmxvd0JpdHM7XG4gICAgdmFyIHJlc3RPZkJhc2VMZW5ndGggPSBiYXNlTGVuZ3RoIC0gbnVtYmVyT2ZPdmVyZmxvd0JpdHM7IC8vIEZpbmFsbHksIGVuY29kZSB0aGUgcmVzdCBvZiB0aGUgYml0cyB1c2luZyB0aGUgbm9ybWFsIGFsZ29yaXRobS4gQmVjYXVzZVxuICAgIC8vIHdlIG1hZGUgbW9yZSByb29tLCB0aGlzIHRpbWUgaXQgd29uJ3Qgb3ZlcmZsb3cuXG5cbiAgICB2YXIgcmVzdE9mTGVuZ3RoID0gZ2V0Qml0TGVuZ3RoKHRvdGFsQ2hpbGRyZW4pICsgcmVzdE9mQmFzZUxlbmd0aDtcbiAgICB2YXIgcmVzdE9mTmV3Qml0cyA9IHNsb3QgPDwgcmVzdE9mQmFzZUxlbmd0aDtcbiAgICB2YXIgaWQgPSByZXN0T2ZOZXdCaXRzIHwgcmVzdE9mQmFzZUlkO1xuICAgIHZhciBvdmVyZmxvdyA9IG5ld092ZXJmbG93ICsgYmFzZU92ZXJmbG93O1xuICAgIHRyZWVDb250ZXh0SWQgPSAxIDw8IHJlc3RPZkxlbmd0aCB8IGlkO1xuICAgIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSBvdmVyZmxvdztcbiAgfSBlbHNlIHtcbiAgICAvLyBOb3JtYWwgcGF0aFxuICAgIHZhciBuZXdCaXRzID0gc2xvdCA8PCBiYXNlTGVuZ3RoO1xuXG4gICAgdmFyIF9pZCA9IG5ld0JpdHMgfCBiYXNlSWQ7XG5cbiAgICB2YXIgX292ZXJmbG93ID0gYmFzZU92ZXJmbG93O1xuICAgIHRyZWVDb250ZXh0SWQgPSAxIDw8IGxlbmd0aCB8IF9pZDtcbiAgICB0cmVlQ29udGV4dE92ZXJmbG93ID0gX292ZXJmbG93O1xuICB9XG59XG5mdW5jdGlvbiBwdXNoTWF0ZXJpYWxpemVkVHJlZUlkKHdvcmtJblByb2dyZXNzKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpOyAvLyBUaGlzIGNvbXBvbmVudCBtYXRlcmlhbGl6ZWQgYW4gaWQuIFRoaXMgd2lsbCBhZmZlY3QgYW55IGlkcyB0aGF0IGFwcGVhclxuICAvLyBpbiBpdHMgY2hpbGRyZW4uXG5cbiAgdmFyIHJldHVybkZpYmVyID0gd29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuXG4gIGlmIChyZXR1cm5GaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBudW1iZXJPZkZvcmtzID0gMTtcbiAgICB2YXIgc2xvdEluZGV4ID0gMDtcbiAgICBwdXNoVHJlZUZvcmsod29ya0luUHJvZ3Jlc3MsIG51bWJlck9mRm9ya3MpO1xuICAgIHB1c2hUcmVlSWQod29ya0luUHJvZ3Jlc3MsIG51bWJlck9mRm9ya3MsIHNsb3RJbmRleCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Qml0TGVuZ3RoKG51bWJlcikge1xuICByZXR1cm4gMzIgLSBjbHozMihudW1iZXIpO1xufVxuXG5mdW5jdGlvbiBnZXRMZWFkaW5nQml0KGlkKSB7XG4gIHJldHVybiAxIDw8IGdldEJpdExlbmd0aChpZCkgLSAxO1xufVxuXG5mdW5jdGlvbiBwb3BUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBSZXN0b3JlIHRoZSBwcmV2aW91cyB2YWx1ZXMuXG4gIC8vIFRoaXMgaXMgYSBiaXQgbW9yZSBjb21wbGljYXRlZCB0aGFuIG90aGVyIGNvbnRleHQtbGlrZSBtb2R1bGVzIGluIEZpYmVyXG4gIC8vIGJlY2F1c2UgdGhlIHNhbWUgRmliZXIgbWF5IGFwcGVhciBvbiB0aGUgc3RhY2sgbXVsdGlwbGUgdGltZXMgYW5kIGZvclxuICAvLyBkaWZmZXJlbnQgcmVhc29ucy4gV2UgaGF2ZSB0byBrZWVwIHBvcHBpbmcgdW50aWwgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgaXNcbiAgLy8gbm8gbG9uZ2VyIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrLlxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgPT09IHRyZWVGb3JrUHJvdmlkZXIpIHtcbiAgICB0cmVlRm9ya1Byb3ZpZGVyID0gZm9ya1N0YWNrWy0tZm9ya1N0YWNrSW5kZXhdO1xuICAgIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleF0gPSBudWxsO1xuICAgIHRyZWVGb3JrQ291bnQgPSBmb3JrU3RhY2tbLS1mb3JrU3RhY2tJbmRleF07XG4gICAgZm9ya1N0YWNrW2ZvcmtTdGFja0luZGV4XSA9IG51bGw7XG4gIH1cblxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgPT09IHRyZWVDb250ZXh0UHJvdmlkZXIpIHtcbiAgICB0cmVlQ29udGV4dFByb3ZpZGVyID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgICB0cmVlQ29udGV4dE92ZXJmbG93ID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgICB0cmVlQ29udGV4dElkID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0U3VzcGVuZGVkVHJlZUNvbnRleHQoKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpO1xuXG4gIGlmICh0cmVlQ29udGV4dFByb3ZpZGVyICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0cmVlQ29udGV4dElkLFxuICAgICAgb3ZlcmZsb3c6IHRyZWVDb250ZXh0T3ZlcmZsb3dcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlU3VzcGVuZGVkVHJlZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbmRlZENvbnRleHQpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRJZDtcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dE92ZXJmbG93O1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0UHJvdmlkZXI7XG4gIHRyZWVDb250ZXh0SWQgPSBzdXNwZW5kZWRDb250ZXh0LmlkO1xuICB0cmVlQ29udGV4dE92ZXJmbG93ID0gc3VzcGVuZGVkQ29udGV4dC5vdmVyZmxvdztcbiAgdHJlZUNvbnRleHRQcm92aWRlciA9IHdvcmtJblByb2dyZXNzO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZOb3RIeWRyYXRpbmcoKSB7XG4gIHtcbiAgICBpZiAoIWdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBiZSBoeWRyYXRpbmcuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlICcgKyAnYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgbWF5IGhhdmUgYmVlbiBhbiBpbnNlcnRpb24gb3IgYSBoeWRyYXRpb24uXG5cbnZhciBoeWRyYXRpb25QYXJlbnRGaWJlciA9IG51bGw7XG52YXIgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG52YXIgaXNIeWRyYXRpbmcgPSBmYWxzZTsgLy8gVGhpcyBmbGFnIGFsbG93cyBmb3Igd2FybmluZyBzdXByZXNzaW9uIHdoZW4gd2UgZXhwZWN0IHRoZXJlIHRvIGJlIG1pc21hdGNoZXNcbi8vIGR1ZSB0byBlYXJsaWVyIG1pc21hdGNoZXMgb3IgYSBzdXNwZW5kZWQgZmliZXIuXG5cbnZhciBkaWRTdXNwZW5kT3JFcnJvckRFViA9IGZhbHNlOyAvLyBIeWRyYXRpb24gZXJyb3JzIHRoYXQgd2VyZSB0aHJvd24gaW5zaWRlIHRoaXMgYm91bmRhcnlcblxudmFyIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG5cbmZ1bmN0aW9uIHdhcm5JZkh5ZHJhdGluZygpIHtcbiAge1xuICAgIGlmIChpc0h5ZHJhdGluZykge1xuICAgICAgZXJyb3IoJ1dlIHNob3VsZCBub3QgYmUgaHlkcmF0aW5nIGhlcmUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGEgYnVnLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrRGlkVGhyb3dXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIGRpZFN1c3BlbmRPckVycm9yREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkU3VzcGVuZE9yRXJyb3JXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIHJldHVybiBkaWRTdXNwZW5kT3JFcnJvckRFVjtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnRlckh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgdmFyIHBhcmVudEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG4gIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpbkNvbnRhaW5lcihwYXJlbnRJbnN0YW5jZSk7XG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gIGlzSHlkcmF0aW5nID0gdHJ1ZTtcbiAgaHlkcmF0aW9uRXJyb3JzID0gbnVsbDtcbiAgZGlkU3VzcGVuZE9yRXJyb3JERVYgPSBmYWxzZTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHJlZW50ZXJIeWRyYXRpb25TdGF0ZUZyb21EZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlciwgc3VzcGVuc2VJbnN0YW5jZSwgdHJlZUNvbnRleHQpIHtcblxuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGRXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpO1xuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICBpc0h5ZHJhdGluZyA9IHRydWU7XG4gIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG4gIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7XG5cbiAgaWYgKHRyZWVDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgcmVzdG9yZVN1c3BlbmRlZFRyZWVDb250ZXh0KGZpYmVyLCB0cmVlQ29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgaW5zdGFuY2UpIHtcbiAge1xuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluQ29udGFpbmVyKHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLCBpbnN0YW5jZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZShyZXR1cm5GaWJlci50eXBlLCByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzLCByZXR1cm5GaWJlci5zdGF0ZU5vZGUsIGluc3RhbmNlLCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgIGlzQ29uY3VycmVudE1vZGUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHJldHVybkZpYmVyLm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgaWYgKHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQsIGluc3RhbmNlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKSB7XG4gIHdhcm5Vbmh5ZHJhdGVkSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKTtcbiAgdmFyIGNoaWxkVG9EZWxldGUgPSBjcmVhdGVGaWJlckZyb21Ib3N0SW5zdGFuY2VGb3JEZWxldGlvbigpO1xuICBjaGlsZFRvRGVsZXRlLnN0YXRlTm9kZSA9IGluc3RhbmNlO1xuICBjaGlsZFRvRGVsZXRlLnJldHVybiA9IHJldHVybkZpYmVyO1xuICB2YXIgZGVsZXRpb25zID0gcmV0dXJuRmliZXIuZGVsZXRpb25zO1xuXG4gIGlmIChkZWxldGlvbnMgPT09IG51bGwpIHtcbiAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBbY2hpbGRUb0RlbGV0ZV07XG4gICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgfSBlbHNlIHtcbiAgICBkZWxldGlvbnMucHVzaChjaGlsZFRvRGVsZXRlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuTm9uaHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgZmliZXIpIHtcbiAge1xuICAgIGlmIChkaWRTdXNwZW5kT3JFcnJvckRFVikge1xuICAgICAgLy8gSW5zaWRlIGEgYm91bmRhcnkgdGhhdCBhbHJlYWR5IHN1c3BlbmRlZC4gV2UncmUgY3VycmVudGx5IHJlbmRlcmluZyB0aGVcbiAgICAgIC8vIHNpYmxpbmdzIG9mIGEgc3VzcGVuZGVkIG5vZGUuIFRoZSBtaXNtYXRjaCBtYXkgYmUgZHVlIHRvIHRoZSBtaXNzaW5nXG4gICAgICAvLyBkYXRhLCBzbyBpdCdzIHByb2JhYmx5IGEgZmFsc2UgcG9zaXRpdmUuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChyZXR1cm5GaWJlci50YWcpIHtcbiAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgcGFyZW50Q29udGFpbmVyID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG5cbiAgICAgICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIHR5cGUpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgICAgICAgICAgdmFyIHRleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlV2l0aGluQ29udGFpbmVyKHBhcmVudENvbnRhaW5lciwgdGV4dCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwYXJlbnRUeXBlID0gcmV0dXJuRmliZXIudHlwZTtcbiAgICAgICAgICB2YXIgcGFyZW50UHJvcHMgPSByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzO1xuICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YXIgX3R5cGUgPSBmaWJlci50eXBlO1xuICAgICAgICAgICAgICAgIHZhciBfcHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBfdHlwZSwgX3Byb3BzLCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgICAgIGlzQ29uY3VycmVudE1vZGUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgICAgICAgICB2YXIgX2lzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuXG4gICAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBfdGV4dCwgLy8gVE9ETzogRGVsZXRlIHRoaXMgYXJndW1lbnQgd2hlbiB3ZSByZW1vdmUgdGhlIGxlZ2FjeSByb290IEFQSS5cbiAgICAgICAgICAgICAgICBfaXNDb25jdXJyZW50TW9kZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHN1c3BlbnNlU3RhdGUgPSByZXR1cm5GaWJlci5tZW1vaXplZFN0YXRlO1xuICAgICAgICAgIHZhciBfcGFyZW50SW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQ7XG4gICAgICAgICAgaWYgKF9wYXJlbnRJbnN0YW5jZSAhPT0gbnVsbCkgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAgICAgICAgdmFyIF90eXBlMiA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBfcHJvcHMyID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShfcGFyZW50SW5zdGFuY2UsIF90eXBlMik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgICAgICAgICB2YXIgX3RleHQyID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZVRleHRJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UoX3BhcmVudEluc3RhbmNlLCBfdGV4dDIpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKHJldHVybkZpYmVyLCBmaWJlcikge1xuICBmaWJlci5mbGFncyA9IGZpYmVyLmZsYWdzICYgfkh5ZHJhdGluZyB8IFBsYWNlbWVudDtcbiAgd2Fybk5vbmh5ZHJhdGVkSW5zdGFuY2UocmV0dXJuRmliZXIsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSB7XG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgdmFyIGluc3RhbmNlID0gY2FuSHlkcmF0ZUluc3RhbmNlKG5leHRJbnN0YW5jZSwgdHlwZSk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgZmliZXIuc3RhdGVOb2RlID0gaW5zdGFuY2U7XG4gICAgICAgICAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcbiAgICAgICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQoaW5zdGFuY2UpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHRleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgIHZhciB0ZXh0SW5zdGFuY2UgPSBjYW5IeWRyYXRlVGV4dEluc3RhbmNlKG5leHRJbnN0YW5jZSwgdGV4dCk7XG5cbiAgICAgICAgaWYgKHRleHRJbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGZpYmVyLnN0YXRlTm9kZSA9IHRleHRJbnN0YW5jZTtcbiAgICAgICAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyOyAvLyBUZXh0IEluc3RhbmNlcyBkb24ndCBoYXZlIGNoaWxkcmVuIHNvIHRoZXJlJ3Mgbm90aGluZyB0byBoeWRyYXRlLlxuXG4gICAgICAgICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgc3VzcGVuc2VJbnN0YW5jZSA9IGNhbkh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKG5leHRJbnN0YW5jZSk7XG5cbiAgICAgICAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHtcbiAgICAgICAgICAgIGRlaHlkcmF0ZWQ6IHN1c3BlbnNlSW5zdGFuY2UsXG4gICAgICAgICAgICB0cmVlQ29udGV4dDogZ2V0U3VzcGVuZGVkVHJlZUNvbnRleHQoKSxcbiAgICAgICAgICAgIHJldHJ5TGFuZTogT2Zmc2NyZWVuTGFuZVxuICAgICAgICAgIH07XG4gICAgICAgICAgZmliZXIubWVtb2l6ZWRTdGF0ZSA9IHN1c3BlbnNlU3RhdGU7IC8vIFN0b3JlIHRoZSBkZWh5ZHJhdGVkIGZyYWdtZW50IGFzIGEgY2hpbGQgZmliZXIuXG4gICAgICAgICAgLy8gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGZvciBnZXRIb3N0U2libGluZyBhbmQgZGVsZXRpbmcgbm9kZXMsXG4gICAgICAgICAgLy8gc2luY2UgaXQgZG9lc24ndCBoYXZlIHRvIGNvbnNpZGVyIGFsbCBTdXNwZW5zZSBib3VuZGFyaWVzIGFuZFxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZXkncmUgZGVoeWRyYXRlZCBvbmVzIG9yIG5vdC5cblxuICAgICAgICAgIHZhciBkZWh5ZHJhdGVkRnJhZ21lbnQgPSBjcmVhdGVGaWJlckZyb21EZWh5ZHJhdGVkRnJhZ21lbnQoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgICAgICAgZGVoeWRyYXRlZEZyYWdtZW50LnJldHVybiA9IGZpYmVyO1xuICAgICAgICAgIGZpYmVyLmNoaWxkID0gZGVoeWRyYXRlZEZyYWdtZW50O1xuICAgICAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7IC8vIFdoaWxlIGEgU3VzcGVuc2UgSW5zdGFuY2UgZG9lcyBoYXZlIGNoaWxkcmVuLCB3ZSB3b24ndCBzdGVwIGludG9cbiAgICAgICAgICAvLyBpdCBkdXJpbmcgdGhlIGZpcnN0IHBhc3MuIEluc3RlYWQsIHdlJ2xsIHJlZW50ZXIgaXQgbGF0ZXIuXG5cbiAgICAgICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gbnVsbDtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikge1xuICByZXR1cm4gKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSAmJiAoZmliZXIuZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncztcbn1cblxuZnVuY3Rpb24gdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKGZpYmVyKSB7XG4gIHRocm93IG5ldyBFcnJvcignSHlkcmF0aW9uIGZhaWxlZCBiZWNhdXNlIHRoZSBpbml0aWFsIFVJIGRvZXMgbm90IG1hdGNoIHdoYXQgd2FzICcgKyAncmVuZGVyZWQgb24gdGhlIHNlcnZlci4nKTtcbn1cblxuZnVuY3Rpb24gdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2UoZmliZXIpIHtcbiAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xuXG4gIGlmICghbmV4dEluc3RhbmNlKSB7XG4gICAgaWYgKHNob3VsZENsaWVudFJlbmRlck9uTWlzbWF0Y2goZmliZXIpKSB7XG4gICAgICB3YXJuTm9uaHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKCk7XG4gICAgfSAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuXG5cbiAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBmaXJzdEF0dGVtcHRlZEluc3RhbmNlID0gbmV4dEluc3RhbmNlO1xuXG4gIGlmICghdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSkge1xuICAgIGlmIChzaG91bGRDbGllbnRSZW5kZXJPbk1pc21hdGNoKGZpYmVyKSkge1xuICAgICAgd2Fybk5vbmh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgIH0gLy8gSWYgd2UgY2FuJ3QgaHlkcmF0ZSB0aGlzIGluc3RhbmNlIGxldCdzIHRyeSB0aGUgbmV4dCBvbmUuXG4gICAgLy8gV2UgdXNlIHRoaXMgYXMgYSBoZXVyaXN0aWMuIEl0J3MgYmFzZWQgb24gaW50dWl0aW9uIGFuZCBub3QgZGF0YSBzbyBpdFxuICAgIC8vIG1pZ2h0IGJlIGZsYXdlZCBvciB1bm5lY2Vzc2FyeS5cblxuXG4gICAgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGZpcnN0QXR0ZW1wdGVkSW5zdGFuY2UpO1xuICAgIHZhciBwcmV2SHlkcmF0aW9uUGFyZW50RmliZXIgPSBoeWRyYXRpb25QYXJlbnRGaWJlcjtcblxuICAgIGlmICghbmV4dEluc3RhbmNlIHx8ICF0cnlIeWRyYXRlKGZpYmVyLCBuZXh0SW5zdGFuY2UpKSB7XG4gICAgICAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuICAgICAgaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBXZSBtYXRjaGVkIHRoZSBuZXh0IG9uZSwgd2UnbGwgbm93IGFzc3VtZSB0aGF0IHRoZSBmaXJzdCBvbmUgd2FzXG4gICAgLy8gc3VwZXJmbHVvdXMgYW5kIHdlJ2xsIGRlbGV0ZSBpdC4gU2luY2Ugd2UgY2FuJ3QgZWFnZXJseSBkZWxldGUgaXRcbiAgICAvLyB3ZSdsbCBoYXZlIHRvIHNjaGVkdWxlIGEgZGVsZXRpb24uIFRvIGRvIHRoYXQsIHRoaXMgbm9kZSBuZWVkcyBhIGR1bW15XG4gICAgLy8gZmliZXIgYXNzb2NpYXRlZCB3aXRoIGl0LlxuXG5cbiAgICBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocHJldkh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaXJzdEF0dGVtcHRlZEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKGZpYmVyLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0KSB7XG5cbiAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICB2YXIgc2hvdWxkV2FybklmTWlzbWF0Y2hEZXYgPSAhZGlkU3VzcGVuZE9yRXJyb3JERVY7XG4gIHZhciB1cGRhdGVQYXlsb2FkID0gaHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCBmaWJlci50eXBlLCBmaWJlci5tZW1vaXplZFByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBmaWJlciwgc2hvdWxkV2FybklmTWlzbWF0Y2hEZXYpOyAvLyBUT0RPOiBUeXBlIHRoaXMgc3BlY2lmaWMgdG8gdGhpcyB0eXBlIG9mIGNvbXBvbmVudC5cblxuICBmaWJlci51cGRhdGVRdWV1ZSA9IHVwZGF0ZVBheWxvYWQ7IC8vIElmIHRoZSB1cGRhdGUgcGF5bG9hZCBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhIGNoYW5nZSBvciBpZiB0aGVyZVxuICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS5cblxuICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdFRleHRJbnN0YW5jZShmaWJlcikge1xuXG4gIHZhciB0ZXh0SW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG4gIHZhciB0ZXh0Q29udGVudCA9IGZpYmVyLm1lbW9pemVkUHJvcHM7XG4gIHZhciBzaG91bGRVcGRhdGUgPSBoeWRyYXRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIGZpYmVyKTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gV2UgYXNzdW1lIHRoYXQgcHJlcGFyZVRvSHlkcmF0ZUhvc3RUZXh0SW5zdGFuY2UgaXMgY2FsbGVkIGluIGEgY29udGV4dCB3aGVyZSB0aGVcbiAgICAvLyBoeWRyYXRpb24gcGFyZW50IGlzIHRoZSBwYXJlbnQgaG9zdCBjb21wb25lbnQgb2YgdGhpcyBob3N0IHRleHQuXG4gICAgdmFyIHJldHVybkZpYmVyID0gaHlkcmF0aW9uUGFyZW50RmliZXI7XG5cbiAgICBpZiAocmV0dXJuRmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudENvbnRhaW5lciA9IHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgICAgZGlkTm90TWF0Y2hIeWRyYXRlZENvbnRhaW5lclRleHRJbnN0YW5jZShwYXJlbnRDb250YWluZXIsIHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIC8vIFRPRE86IERlbGV0ZSB0aGlzIGFyZ3VtZW50IHdoZW4gd2UgcmVtb3ZlIHRoZSBsZWdhY3kgcm9vdCBBUEkuXG4gICAgICAgICAgICBpc0NvbmN1cnJlbnRNb2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudFR5cGUgPSByZXR1cm5GaWJlci50eXBlO1xuICAgICAgICAgICAgdmFyIHBhcmVudFByb3BzID0gcmV0dXJuRmliZXIubWVtb2l6ZWRQcm9wcztcbiAgICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgdmFyIF9pc0NvbmN1cnJlbnRNb2RlMiA9IChyZXR1cm5GaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG5cbiAgICAgICAgICAgIGRpZE5vdE1hdGNoSHlkcmF0ZWRUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0ZXh0SW5zdGFuY2UsIHRleHRDb250ZW50LCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgX2lzQ29uY3VycmVudE1vZGUyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpIHtcblxuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzdXNwZW5zZUluc3RhbmNlID0gc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCA/IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCA6IG51bGw7XG5cbiAgaWYgKCFzdXNwZW5zZUluc3RhbmNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBoYXZlIGEgaHlkcmF0ZWQgc3VzcGVuc2UgaW5zdGFuY2UuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIGh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2tpcFBhc3REZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlcikge1xuXG4gIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHN1c3BlbnNlSW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlICE9PSBudWxsID8gc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkIDogbnVsbDtcblxuICBpZiAoIXN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGhhdmUgYSBoeWRyYXRlZCBzdXNwZW5zZSBpbnN0YW5jZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG5cbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlSW5zdGFuY2VBZnRlclN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG59XG5cbmZ1bmN0aW9uIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsICYmIHBhcmVudC50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgcGFyZW50LnRhZyAhPT0gSG9zdFJvb3QgJiYgcGFyZW50LnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICB9XG5cbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBwYXJlbnQ7XG59XG5cbmZ1bmN0aW9uIHBvcEh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgaWYgKGZpYmVyICE9PSBoeWRyYXRpb25QYXJlbnRGaWJlcikge1xuICAgIC8vIFdlJ3JlIGRlZXBlciB0aGFuIHRoZSBjdXJyZW50IGh5ZHJhdGlvbiBjb250ZXh0LCBpbnNpZGUgYW4gaW5zZXJ0ZWRcbiAgICAvLyB0cmVlLlxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaXNIeWRyYXRpbmcpIHtcbiAgICAvLyBJZiB3ZSdyZSBub3QgY3VycmVudGx5IGh5ZHJhdGluZyBidXQgd2UncmUgaW4gYSBoeWRyYXRpb24gY29udGV4dCwgdGhlblxuICAgIC8vIHdlIHdlcmUgYW4gaW5zZXJ0aW9uIGFuZCBub3cgbmVlZCB0byBwb3AgdXAgcmVlbnRlciBoeWRyYXRpb24gb2Ygb3VyXG4gICAgLy8gc2libGluZ3MuXG4gICAgcG9wVG9OZXh0SG9zdFBhcmVudChmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBJZiB3ZSBoYXZlIGFueSByZW1haW5pbmcgaHlkcmF0YWJsZSBub2Rlcywgd2UgbmVlZCB0byBkZWxldGUgdGhlbSBub3cuXG4gIC8vIFdlIG9ubHkgZG8gdGhpcyBkZWVwZXIgdGhhbiBoZWFkIGFuZCBib2R5IHNpbmNlIHRoZXkgdGVuZCB0byBoYXZlIHJhbmRvbVxuICAvLyBvdGhlciBub2RlcyBpbiB0aGVtLiBXZSBhbHNvIGlnbm9yZSBjb21wb25lbnRzIHdpdGggcHVyZSB0ZXh0IGNvbnRlbnQgaW5cbiAgLy8gc2lkZSBvZiB0aGVtLiBXZSBhbHNvIGRvbid0IGRlbGV0ZSBhbnl0aGluZyBpbnNpZGUgdGhlIHJvb3QgY29udGFpbmVyLlxuXG5cbiAgaWYgKGZpYmVyLnRhZyAhPT0gSG9zdFJvb3QgJiYgKGZpYmVyLnRhZyAhPT0gSG9zdENvbXBvbmVudCB8fCBzaG91bGREZWxldGVVbmh5ZHJhdGVkVGFpbEluc3RhbmNlcyhmaWJlci50eXBlKSAmJiAhc2hvdWxkU2V0VGV4dENvbnRlbnQoZmliZXIudHlwZSwgZmliZXIubWVtb2l6ZWRQcm9wcykpKSB7XG4gICAgdmFyIG5leHRJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XG5cbiAgICBpZiAobmV4dEluc3RhbmNlKSB7XG4gICAgICBpZiAoc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikpIHtcbiAgICAgICAgd2FybklmVW5oeWRyYXRlZFRhaWxOb2RlcyhmaWJlcik7XG4gICAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2hpbGUgKG5leHRJbnN0YW5jZSkge1xuICAgICAgICAgIGRlbGV0ZUh5ZHJhdGFibGVJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICAgICAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpO1xuXG4gIGlmIChmaWJlci50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IHNraXBQYXN0RGVoeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpO1xuICB9IGVsc2Uge1xuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBoeWRyYXRpb25QYXJlbnRGaWJlciA/IGdldE5leHRIeWRyYXRhYmxlU2libGluZyhmaWJlci5zdGF0ZU5vZGUpIDogbnVsbDtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBoYXNVbmh5ZHJhdGVkVGFpbE5vZGVzKCkge1xuICByZXR1cm4gaXNIeWRyYXRpbmcgJiYgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSAhPT0gbnVsbDtcbn1cblxuZnVuY3Rpb24gd2FybklmVW5oeWRyYXRlZFRhaWxOb2RlcyhmaWJlcikge1xuICB2YXIgbmV4dEluc3RhbmNlID0gbmV4dEh5ZHJhdGFibGVJbnN0YW5jZTtcblxuICB3aGlsZSAobmV4dEluc3RhbmNlKSB7XG4gICAgd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldEh5ZHJhdGlvblN0YXRlKCkge1xuXG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gbnVsbDtcbiAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG4gIGlzSHlkcmF0aW5nID0gZmFsc2U7XG4gIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHVwZ3JhZGVIeWRyYXRpb25FcnJvcnNUb1JlY292ZXJhYmxlKCkge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzICE9PSBudWxsKSB7XG4gICAgLy8gU3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCBhIGZvcmNlZCBjbGllbnQgcmVuZGVyLiBUaGUgZXJyb3JzIHRoYXQgb2NjdXJyZWRcbiAgICAvLyBkdXJpbmcgdGhlIGh5ZHJhdGlvbiBhdHRlbXB0IGFyZSBub3cgcmVjb3ZlcmVkLiBXZSB3aWxsIGxvZyB0aGVtIGluXG4gICAgLy8gY29tbWl0IHBoYXNlLCBvbmNlIHRoZSBlbnRpcmUgdHJlZSBoYXMgZmluaXNoZWQuXG4gICAgcXVldWVSZWNvdmVyYWJsZUVycm9ycyhoeWRyYXRpb25FcnJvcnMpO1xuICAgIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SXNIeWRyYXRpbmcoKSB7XG4gIHJldHVybiBpc0h5ZHJhdGluZztcbn1cblxuZnVuY3Rpb24gcXVldWVIeWRyYXRpb25FcnJvcihlcnJvcikge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzID09PSBudWxsKSB7XG4gICAgaHlkcmF0aW9uRXJyb3JzID0gW2Vycm9yXTtcbiAgfSBlbHNlIHtcbiAgICBoeWRyYXRpb25FcnJvcnMucHVzaChlcnJvcik7XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbnZhciBOb1RyYW5zaXRpb24gPSBudWxsO1xuZnVuY3Rpb24gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCkge1xuICByZXR1cm4gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS50cmFuc2l0aW9uO1xufVxuXG52YXIgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MgPSB7XG4gIHJlY29yZFVuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7fSxcbiAgZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3M6IGZ1bmN0aW9uICgpIHt9LFxuICByZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZzogZnVuY3Rpb24gKGZpYmVyLCBpbnN0YW5jZSkge30sXG4gIGZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmc6IGZ1bmN0aW9uICgpIHt9LFxuICBkaXNjYXJkUGVuZGluZ1dhcm5pbmdzOiBmdW5jdGlvbiAoKSB7fVxufTtcblxue1xuICB2YXIgZmluZFN0cmljdFJvb3QgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgICB2YXIgbWF5YmVTdHJpY3RSb290ID0gbnVsbDtcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgIG1heWJlU3RyaWN0Um9vdCA9IG5vZGU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gbWF5YmVTdHJpY3RSb290O1xuICB9O1xuXG4gIHZhciBzZXRUb1NvcnRlZFN0cmluZyA9IGZ1bmN0aW9uIChzZXQpIHtcbiAgICB2YXIgYXJyYXkgPSBbXTtcbiAgICBzZXQuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGFycmF5LnB1c2godmFsdWUpO1xuICAgIH0pO1xuICAgIHJldHVybiBhcnJheS5zb3J0KCkuam9pbignLCAnKTtcbiAgfTtcblxuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcyA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRVbnNhZmVMaWZlY3ljbGVXYXJuaW5ncyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICAvLyBEZWR1cGUgc3RyYXRlZ3k6IFdhcm4gb25jZSBwZXIgY29tcG9uZW50LlxuICAgIGlmIChkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nICYmIC8vIERvbid0IHdhcm4gYWJvdXQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLlxuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudC5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLnB1c2goZmliZXIpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG5cbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG4gIH07XG5cbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gV2UgZG8gYW4gaW5pdGlhbCBwYXNzIHRvIGdhdGhlciBjb21wb25lbnQgbmFtZXNcbiAgICB2YXIgY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xuXG4gICAgaWYgKHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIH0gLy8gRmluYWxseSwgd2UgZmx1c2ggYWxsIHRoZSB3YXJuaW5nc1xuICAgIC8vIFVOU0FGRV8gb25lcyBiZWZvcmUgdGhlIGRlcHJlY2F0ZWQgb25lcywgc2luY2UgdGhleSdsbCBiZSAnbG91ZGVyJ1xuXG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgc29ydGVkTmFtZXMgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICBlcnJvcignVXNpbmcgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgYW5kIG1heSBpbmRpY2F0ZSBidWdzIGluIHlvdXIgY29kZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZE1vdW50LCBhbmQgc2V0IGluaXRpYWwgc3RhdGUgaW4gdGhlIGNvbnN0cnVjdG9yLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgc29ydGVkTmFtZXMpO1xuICAgIH1cblxuICAgIGlmIChVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgX3NvcnRlZE5hbWVzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyk7XG5cbiAgICAgIGVycm9yKCdVc2luZyBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgJyArICdhbmQgbWF5IGluZGljYXRlIGJ1Z3MgaW4geW91ciBjb2RlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGRhdGEgZmV0Y2hpbmcgY29kZSBvciBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkVXBkYXRlLlxcbicgKyBcIiogSWYgeW91J3JlIHVwZGF0aW5nIHN0YXRlIHdoZW5ldmVyIHByb3BzIGNoYW5nZSwgXCIgKyAncmVmYWN0b3IgeW91ciBjb2RlIHRvIHVzZSBtZW1vaXphdGlvbiB0ZWNobmlxdWVzIG9yIG1vdmUgaXQgdG8gJyArICdzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiBMZWFybiBtb3JlIGF0OiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvZGVyaXZlZC1zdGF0ZVxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczIgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgZXJyb3IoJ1VzaW5nIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIGluIHN0cmljdCBtb2RlIGlzIG5vdCByZWNvbW1lbmRlZCAnICsgJ2FuZCBtYXkgaW5kaWNhdGUgYnVncyBpbiB5b3VyIGNvZGUuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXMyKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXMzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsTW91bnQgaGFzIGJlZW4gcmVuYW1lZCwgYW5kIGlzIG5vdCByZWNvbW1lbmRlZCBmb3IgdXNlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkTW91bnQsIGFuZCBzZXQgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgY29uc3RydWN0b3IuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsTW91bnQgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCB0byBzdXBwcmVzcyAnICsgJ3RoaXMgd2FybmluZyBpbiBub24tc3RyaWN0IG1vZGUuIEluIFJlYWN0IDE4LngsIG9ubHkgdGhlIFVOU0FGRV8gbmFtZSB3aWxsIHdvcmsuICcgKyAnVG8gcmVuYW1lIGFsbCBkZXByZWNhdGVkIGxpZmVjeWNsZXMgdG8gdGhlaXIgbmV3IG5hbWVzLCB5b3UgY2FuIHJ1biAnICsgJ2BucHggcmVhY3QtY29kZW1vZCByZW5hbWUtdW5zYWZlLWxpZmVjeWNsZXNgIGluIHlvdXIgcHJvamVjdCBzb3VyY2UgZm9sZGVyLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMyk7XG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczQgPSBzZXRUb1NvcnRlZFN0cmluZyhjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBkYXRhIGZldGNoaW5nIGNvZGUgb3Igc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZFVwZGF0ZS5cXG4nICsgXCIqIElmIHlvdSdyZSB1cGRhdGluZyBzdGF0ZSB3aGVuZXZlciBwcm9wcyBjaGFuZ2UsIHJlZmFjdG9yIHlvdXIgXCIgKyAnY29kZSB0byB1c2UgbWVtb2l6YXRpb24gdGVjaG5pcXVlcyBvciBtb3ZlIGl0IHRvICcgKyAnc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gTGVhcm4gbW9yZSBhdDogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Rlcml2ZWQtc3RhdGVcXG4nICsgJyogUmVuYW1lIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gc3VwcHJlc3MgJyArICd0aGlzIHdhcm5pbmcgaW4gbm9uLXN0cmljdCBtb2RlLiBJbiBSZWFjdCAxOC54LCBvbmx5IHRoZSBVTlNBRkVfIG5hbWUgd2lsbCB3b3JrLiAnICsgJ1RvIHJlbmFtZSBhbGwgZGVwcmVjYXRlZCBsaWZlY3ljbGVzIHRvIHRoZWlyIG5ldyBuYW1lcywgeW91IGNhbiBydW4gJyArICdgbnB4IHJlYWN0LWNvZGVtb2QgcmVuYW1lLXVuc2FmZS1saWZlY3ljbGVzYCBpbiB5b3VyIHByb2plY3Qgc291cmNlIGZvbGRlci5cXG4nICsgJ1xcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczQpO1xuICAgIH1cblxuICAgIGlmIChjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXM1ID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgd2FybignY29tcG9uZW50V2lsbFVwZGF0ZSBoYXMgYmVlbiByZW5hbWVkLCBhbmQgaXMgbm90IHJlY29tbWVuZGVkIGZvciB1c2UuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsVXBkYXRlIHRvIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIHRvIHN1cHByZXNzICcgKyAndGhpcyB3YXJuaW5nIGluIG5vbi1zdHJpY3QgbW9kZS4gSW4gUmVhY3QgMTgueCwgb25seSB0aGUgVU5TQUZFXyBuYW1lIHdpbGwgd29yay4gJyArICdUbyByZW5hbWUgYWxsIGRlcHJlY2F0ZWQgbGlmZWN5Y2xlcyB0byB0aGVpciBuZXcgbmFtZXMsIHlvdSBjYW4gcnVuICcgKyAnYG5weCByZWFjdC1jb2RlbW9kIHJlbmFtZS11bnNhZmUtbGlmZWN5Y2xlc2AgaW4geW91ciBwcm9qZWN0IHNvdXJjZSBmb2xkZXIuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXM1KTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dCA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICB2YXIgc3RyaWN0Um9vdCA9IGZpbmRTdHJpY3RSb290KGZpYmVyKTtcblxuICAgIGlmIChzdHJpY3RSb290ID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgdG8gZmluZCBhIFN0cmljdE1vZGUgY29tcG9uZW50IGluIGEgc3RyaWN0IG1vZGUgdHJlZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuXG4gICAgICByZXR1cm47XG4gICAgfSAvLyBEZWR1cCBzdHJhdGVneTogV2FybiBvbmNlIHBlciBjb21wb25lbnQuXG5cblxuICAgIGlmIChkaWRXYXJuQWJvdXRMZWdhY3lDb250ZXh0LmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB3YXJuaW5nc0ZvclJvb3QgPSBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuZ2V0KHN0cmljdFJvb3QpO1xuXG4gICAgaWYgKGZpYmVyLnR5cGUuY29udGV4dFR5cGVzICE9IG51bGwgfHwgZmliZXIudHlwZS5jaGlsZENvbnRleHRUeXBlcyAhPSBudWxsIHx8IGluc3RhbmNlICE9PSBudWxsICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh3YXJuaW5nc0ZvclJvb3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB3YXJuaW5nc0ZvclJvb3QgPSBbXTtcbiAgICAgICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLnNldChzdHJpY3RSb290LCB3YXJuaW5nc0ZvclJvb3QpO1xuICAgICAgfVxuXG4gICAgICB3YXJuaW5nc0ZvclJvb3QucHVzaChmaWJlcik7XG4gICAgfVxuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmcgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyQXJyYXksIHN0cmljdFJvb3QpIHtcbiAgICAgIGlmIChmaWJlckFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBmaXJzdEZpYmVyID0gZmliZXJBcnJheVswXTtcbiAgICAgIHZhciB1bmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICAgIGZpYmVyQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgdW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dC5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHZhciBzb3J0ZWROYW1lcyA9IHNldFRvU29ydGVkU3RyaW5nKHVuaXF1ZU5hbWVzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpcnN0RmliZXIpO1xuXG4gICAgICAgIGVycm9yKCdMZWdhY3kgY29udGV4dCBBUEkgaGFzIGJlZW4gZGV0ZWN0ZWQgd2l0aGluIGEgc3RyaWN0LW1vZGUgdHJlZS4nICsgJ1xcblxcblRoZSBvbGQgQVBJIHdpbGwgYmUgc3VwcG9ydGVkIGluIGFsbCAxNi54IHJlbGVhc2VzLCBidXQgYXBwbGljYXRpb25zICcgKyAndXNpbmcgaXQgc2hvdWxkIG1pZ3JhdGUgdG8gdGhlIG5ldyB2ZXJzaW9uLicgKyAnXFxuXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJyArICdcXG5cXG5MZWFybiBtb3JlIGFib3V0IHRoaXMgd2FybmluZyBoZXJlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvbGVnYWN5LWNvbnRleHQnLCBzb3J0ZWROYW1lcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmRpc2NhcmRQZW5kaW5nV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQsIGJhc2VQcm9wcykge1xuICBpZiAoQ29tcG9uZW50ICYmIENvbXBvbmVudC5kZWZhdWx0UHJvcHMpIHtcbiAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHMuIFRha2VuIGZyb20gUmVhY3RFbGVtZW50XG4gICAgdmFyIHByb3BzID0gYXNzaWduKHt9LCBiYXNlUHJvcHMpO1xuICAgIHZhciBkZWZhdWx0UHJvcHMgPSBDb21wb25lbnQuZGVmYXVsdFByb3BzO1xuXG4gICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7XG4gICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcHM7XG4gIH1cblxuICByZXR1cm4gYmFzZVByb3BzO1xufVxuXG52YXIgdmFsdWVDdXJzb3IgPSBjcmVhdGVDdXJzb3IobnVsbCk7XG52YXIgcmVuZGVyZXJTaWdpbDtcblxue1xuICAvLyBVc2UgdGhpcyB0byBkZXRlY3QgbXVsdGlwbGUgcmVuZGVyZXJzIHVzaW5nIHRoZSBzYW1lIGNvbnRleHRcbiAgcmVuZGVyZXJTaWdpbCA9IHt9O1xufVxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xudmFyIGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9IG51bGw7XG52YXIgbGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID0gbnVsbDtcbnZhciBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG5mdW5jdGlvbiByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKSB7XG4gIC8vIFRoaXMgaXMgY2FsbGVkIHJpZ2h0IGJlZm9yZSBSZWFjdCB5aWVsZHMgZXhlY3V0aW9uLCB0byBlbnN1cmUgYHJlYWRDb250ZXh0YFxuICAvLyBjYW5ub3QgYmUgY2FsbGVkIG91dHNpZGUgdGhlIHJlbmRlciBwaGFzZS5cbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xuICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xuICBsYXN0RnVsbHlPYnNlcnZlZENvbnRleHQgPSBudWxsO1xuXG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKSB7XG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCkge1xuICB7XG4gICAgaXNEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFViA9IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBwdXNoUHJvdmlkZXIocHJvdmlkZXJGaWJlciwgY29udGV4dCwgbmV4dFZhbHVlKSB7XG4gIHtcbiAgICBwdXNoKHZhbHVlQ3Vyc29yLCBjb250ZXh0Ll9jdXJyZW50VmFsdWUsIHByb3ZpZGVyRmliZXIpO1xuICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IG5leHRWYWx1ZTtcblxuICAgIHtcbiAgICAgIGlmIChjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IHVuZGVmaW5lZCAmJiBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IG51bGwgJiYgY29udGV4dC5fY3VycmVudFJlbmRlcmVyICE9PSByZW5kZXJlclNpZ2lsKSB7XG4gICAgICAgIGVycm9yKCdEZXRlY3RlZCBtdWx0aXBsZSByZW5kZXJlcnMgY29uY3VycmVudGx5IHJlbmRlcmluZyB0aGUgJyArICdzYW1lIGNvbnRleHQgcHJvdmlkZXIuIFRoaXMgaXMgY3VycmVudGx5IHVuc3VwcG9ydGVkLicpO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSByZW5kZXJlclNpZ2lsO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9wUHJvdmlkZXIoY29udGV4dCwgcHJvdmlkZXJGaWJlcikge1xuICB2YXIgY3VycmVudFZhbHVlID0gdmFsdWVDdXJzb3IuY3VycmVudDtcbiAgcG9wKHZhbHVlQ3Vyc29yLCBwcm92aWRlckZpYmVyKTtcblxuICB7XG4gICAge1xuICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVDb250ZXh0V29ya09uUGFyZW50UGF0aChwYXJlbnQsIHJlbmRlckxhbmVzLCBwcm9wYWdhdGlvblJvb3QpIHtcbiAgLy8gVXBkYXRlIHRoZSBjaGlsZCBsYW5lcyBvZiBhbGwgdGhlIGFuY2VzdG9ycywgaW5jbHVkaW5nIHRoZSBhbHRlcm5hdGVzLlxuICB2YXIgbm9kZSA9IHBhcmVudDtcblxuICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xuICAgIHZhciBhbHRlcm5hdGUgPSBub2RlLmFsdGVybmF0ZTtcblxuICAgIGlmICghaXNTdWJzZXRPZkxhbmVzKG5vZGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpKSB7XG4gICAgICBub2RlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5vZGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgIGFsdGVybmF0ZS5jaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhhbHRlcm5hdGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmICFpc1N1YnNldE9mTGFuZXMoYWx0ZXJuYXRlLmNoaWxkTGFuZXMsIHJlbmRlckxhbmVzKSkge1xuICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IHByb3BhZ2F0aW9uUm9vdCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICB9XG5cbiAge1xuICAgIGlmIChub2RlICE9PSBwcm9wYWdhdGlvblJvb3QpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBmaW5kIHRoZSBwcm9wYWdhdGlvbiByb290IHdoZW4gc2NoZWR1bGluZyBjb250ZXh0IHdvcmsuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGNvbnRleHQsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlX2VhZ2VyKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvcGFnYXRlQ29udGV4dENoYW5nZV9lYWdlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgcmVuZGVyTGFuZXMpIHtcblxuICB2YXIgZmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICBpZiAoZmliZXIgIT09IG51bGwpIHtcbiAgICAvLyBTZXQgdGhlIHJldHVybiBwb2ludGVyIG9mIHRoZSBjaGlsZCB0byB0aGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci5cbiAgICBmaWJlci5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIHdoaWxlIChmaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBuZXh0RmliZXIgPSB2b2lkIDA7IC8vIFZpc2l0IHRoaXMgZmliZXIuXG5cbiAgICB2YXIgbGlzdCA9IGZpYmVyLmRlcGVuZGVuY2llcztcblxuICAgIGlmIChsaXN0ICE9PSBudWxsKSB7XG4gICAgICBuZXh0RmliZXIgPSBmaWJlci5jaGlsZDtcbiAgICAgIHZhciBkZXBlbmRlbmN5ID0gbGlzdC5maXJzdENvbnRleHQ7XG5cbiAgICAgIHdoaWxlIChkZXBlbmRlbmN5ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjb250ZXh0IG1hdGNoZXMuXG4gICAgICAgIGlmIChkZXBlbmRlbmN5LmNvbnRleHQgPT09IGNvbnRleHQpIHtcbiAgICAgICAgICAvLyBNYXRjaCEgU2NoZWR1bGUgYW4gdXBkYXRlIG9uIHRoaXMgZmliZXIuXG4gICAgICAgICAgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIFNjaGVkdWxlIGEgZm9yY2UgdXBkYXRlIG9uIHRoZSB3b3JrLWluLXByb2dyZXNzLlxuICAgICAgICAgICAgdmFyIGxhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyZW5kZXJMYW5lcyk7XG4gICAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKE5vVGltZXN0YW1wLCBsYW5lKTtcbiAgICAgICAgICAgIHVwZGF0ZS50YWcgPSBGb3JjZVVwZGF0ZTsgLy8gVE9ETzogQmVjYXVzZSB3ZSBkb24ndCBoYXZlIGEgd29yay1pbi1wcm9ncmVzcywgdGhpcyB3aWxsIGFkZCB0aGVcbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0byB0aGUgY3VycmVudCBmaWJlciwgdG9vLCB3aGljaCBtZWFucyBpdCB3aWxsIHBlcnNpc3QgZXZlbiBpZlxuICAgICAgICAgICAgLy8gdGhpcyByZW5kZXIgaXMgdGhyb3duIGF3YXkuIFNpbmNlIGl0J3MgYSByYWNlIGNvbmRpdGlvbiwgbm90IHN1cmUgaXQnc1xuICAgICAgICAgICAgLy8gd29ydGggZml4aW5nLlxuICAgICAgICAgICAgLy8gSW5saW5lZCBgZW5xdWV1ZVVwZGF0ZWAgdG8gcmVtb3ZlIGludGVybGVhdmVkIHVwZGF0ZSBjaGVja1xuXG4gICAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBmaWJlci51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSA7IGVsc2Uge1xuICAgICAgICAgICAgICB2YXIgc2hhcmVkUXVldWUgPSB1cGRhdGVRdWV1ZS5zaGFyZWQ7XG4gICAgICAgICAgICAgIHZhciBwZW5kaW5nID0gc2hhcmVkUXVldWUucGVuZGluZztcblxuICAgICAgICAgICAgICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICAgICAgICAgICAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1cGRhdGUubmV4dCA9IHBlbmRpbmcubmV4dDtcbiAgICAgICAgICAgICAgICBwZW5kaW5nLm5leHQgPSB1cGRhdGU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzaGFyZWRRdWV1ZS5wZW5kaW5nID0gdXBkYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhmaWJlci5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhbHRlcm5hdGUubGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNjaGVkdWxlQ29udGV4dFdvcmtPblBhcmVudFBhdGgoZmliZXIucmV0dXJuLCByZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MpOyAvLyBNYXJrIHRoZSB1cGRhdGVkIGxhbmVzIG9uIHRoZSBsaXN0LCB0b28uXG5cbiAgICAgICAgICBsaXN0LmxhbmVzID0gbWVyZ2VMYW5lcyhsaXN0LmxhbmVzLCByZW5kZXJMYW5lcyk7IC8vIFNpbmNlIHdlIGFscmVhZHkgZm91bmQgYSBtYXRjaCwgd2UgY2FuIHN0b3AgdHJhdmVyc2luZyB0aGVcbiAgICAgICAgICAvLyBkZXBlbmRlbmN5IGxpc3QuXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlcGVuZGVuY3kgPSBkZXBlbmRlbmN5Lm5leHQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWJlci50YWcgPT09IENvbnRleHRQcm92aWRlcikge1xuICAgICAgLy8gRG9uJ3Qgc2NhbiBkZWVwZXIgaWYgdGhpcyBpcyBhIG1hdGNoaW5nIHByb3ZpZGVyXG4gICAgICBuZXh0RmliZXIgPSBmaWJlci50eXBlID09PSB3b3JrSW5Qcm9ncmVzcy50eXBlID8gbnVsbCA6IGZpYmVyLmNoaWxkO1xuICAgIH0gZWxzZSBpZiAoZmliZXIudGFnID09PSBEZWh5ZHJhdGVkRnJhZ21lbnQpIHtcbiAgICAgIC8vIElmIGEgZGVoeWRyYXRlZCBzdXNwZW5zZSBib3VuZGFyeSBpcyBpbiB0aGlzIHN1YnRyZWUsIHdlIGRvbid0IGtub3dcbiAgICAgIC8vIGlmIGl0IHdpbGwgaGF2ZSBhbnkgY29udGV4dCBjb25zdW1lcnMgaW4gaXQuIFRoZSBiZXN0IHdlIGNhbiBkbyBpc1xuICAgICAgLy8gbWFyayBpdCBhcyBoYXZpbmcgdXBkYXRlcy5cbiAgICAgIHZhciBwYXJlbnRTdXNwZW5zZSA9IGZpYmVyLnJldHVybjtcblxuICAgICAgaWYgKHBhcmVudFN1c3BlbnNlID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2UganVzdCBjYW1lIGZyb20gYSBwYXJlbnQgc28gd2UgbXVzdCBoYXZlIGhhZCBhIHBhcmVudC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgIH1cblxuICAgICAgcGFyZW50U3VzcGVuc2UubGFuZXMgPSBtZXJnZUxhbmVzKHBhcmVudFN1c3BlbnNlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB2YXIgX2FsdGVybmF0ZSA9IHBhcmVudFN1c3BlbnNlLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKF9hbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgX2FsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoX2FsdGVybmF0ZS5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfSAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgcGFzc2luZyB0aGlzIGZpYmVyIGFzIHRoZSBwYXJlbnRcbiAgICAgIC8vIGJlY2F1c2Ugd2Ugd2FudCB0byBzY2hlZHVsZSB0aGlzIGZpYmVyIGFzIGhhdmluZyB3b3JrXG4gICAgICAvLyBvbiBpdHMgY2hpbGRyZW4uIFdlJ2xsIHVzZSB0aGUgY2hpbGRMYW5lcyBvblxuICAgICAgLy8gdGhpcyBmaWJlciB0byBpbmRpY2F0ZSB0aGF0IGEgY29udGV4dCBoYXMgY2hhbmdlZC5cblxuXG4gICAgICBzY2hlZHVsZUNvbnRleHRXb3JrT25QYXJlbnRQYXRoKHBhcmVudFN1c3BlbnNlLCByZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgbmV4dEZpYmVyID0gZmliZXIuc2libGluZztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVHJhdmVyc2UgZG93bi5cbiAgICAgIG5leHRGaWJlciA9IGZpYmVyLmNoaWxkO1xuICAgIH1cblxuICAgIGlmIChuZXh0RmliZXIgIT09IG51bGwpIHtcbiAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIGNoaWxkIHRvIHRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLlxuICAgICAgbmV4dEZpYmVyLnJldHVybiA9IGZpYmVyO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBjaGlsZC4gVHJhdmVyc2UgdG8gbmV4dCBzaWJsaW5nLlxuICAgICAgbmV4dEZpYmVyID0gZmliZXI7XG5cbiAgICAgIHdoaWxlIChuZXh0RmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5leHRGaWJlciA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAvLyBXZSdyZSBiYWNrIHRvIHRoZSByb290IG9mIHRoaXMgc3VidHJlZS4gRXhpdC5cbiAgICAgICAgICBuZXh0RmliZXIgPSBudWxsO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNpYmxpbmcgPSBuZXh0RmliZXIuc2libGluZztcblxuICAgICAgICBpZiAoc2libGluZyAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIHNpYmxpbmcgdG8gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG4gICAgICAgICAgc2libGluZy5yZXR1cm4gPSBuZXh0RmliZXIucmV0dXJuO1xuICAgICAgICAgIG5leHRGaWJlciA9IHNpYmxpbmc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gLy8gTm8gbW9yZSBzaWJsaW5ncy4gVHJhdmVyc2UgdXAuXG5cblxuICAgICAgICBuZXh0RmliZXIgPSBuZXh0RmliZXIucmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZpYmVyID0gbmV4dEZpYmVyO1xuICB9XG59XG5mdW5jdGlvbiBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSB3b3JrSW5Qcm9ncmVzcztcbiAgbGFzdENvbnRleHREZXBlbmRlbmN5ID0gbnVsbDtcbiAgbGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID0gbnVsbDtcbiAgdmFyIGRlcGVuZGVuY2llcyA9IHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcztcblxuICBpZiAoZGVwZW5kZW5jaWVzICE9PSBudWxsKSB7XG4gICAge1xuICAgICAgdmFyIGZpcnN0Q29udGV4dCA9IGRlcGVuZGVuY2llcy5maXJzdENvbnRleHQ7XG5cbiAgICAgIGlmIChmaXJzdENvbnRleHQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGluY2x1ZGVzU29tZUxhbmUoZGVwZW5kZW5jaWVzLmxhbmVzLCByZW5kZXJMYW5lcykpIHtcbiAgICAgICAgICAvLyBDb250ZXh0IGxpc3QgaGFzIGEgcGVuZGluZyB1cGRhdGUuIE1hcmsgdGhhdCB0aGlzIGZpYmVyIHBlcmZvcm1lZCB3b3JrLlxuICAgICAgICAgIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCk7XG4gICAgICAgIH0gLy8gUmVzZXQgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgbGlzdFxuXG5cbiAgICAgICAgZGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiByZWFkQ29udGV4dChjb250ZXh0KSB7XG4gIHtcbiAgICAvLyBUaGlzIHdhcm5pbmcgd291bGQgZmlyZSBpZiB5b3UgcmVhZCBjb250ZXh0IGluc2lkZSBhIEhvb2sgbGlrZSB1c2VNZW1vLlxuICAgIC8vIFVubGlrZSB0aGUgY2xhc3MgY2hlY2sgYmVsb3csIGl0J3Mgbm90IGVuZm9yY2VkIGluIHByb2R1Y3Rpb24gZm9yIHBlcmYuXG4gICAgaWYgKGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYpIHtcbiAgICAgIGVycm9yKCdDb250ZXh0IGNhbiBvbmx5IGJlIHJlYWQgd2hpbGUgUmVhY3QgaXMgcmVuZGVyaW5nLiAnICsgJ0luIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuICcgKyAnSW4gZnVuY3Rpb24gY29tcG9uZW50cywgeW91IGNhbiByZWFkIGl0IGRpcmVjdGx5IGluIHRoZSBmdW5jdGlvbiBib2R5LCBidXQgbm90ICcgKyAnaW5zaWRlIEhvb2tzIGxpa2UgdXNlUmVkdWNlcigpIG9yIHVzZU1lbW8oKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdmFsdWUgPSAgY29udGV4dC5fY3VycmVudFZhbHVlIDtcblxuICBpZiAobGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID09PSBjb250ZXh0KSA7IGVsc2Uge1xuICAgIHZhciBjb250ZXh0SXRlbSA9IHtcbiAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICBtZW1vaXplZFZhbHVlOiB2YWx1ZSxcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9PT0gbnVsbCkge1xuICAgICAgaWYgKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gJyArICdJbiBjbGFzc2VzLCB5b3UgY2FuIHJlYWQgaXQgaW4gdGhlIHJlbmRlciBtZXRob2Qgb3IgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiAnICsgJ0luIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCAnICsgJ2luc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuJyk7XG4gICAgICB9IC8vIFRoaXMgaXMgdGhlIGZpcnN0IGRlcGVuZGVuY3kgZm9yIHRoaXMgY29tcG9uZW50LiBDcmVhdGUgYSBuZXcgbGlzdC5cblxuXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBjb250ZXh0SXRlbTtcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyLmRlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgbGFuZXM6IE5vTGFuZXMsXG4gICAgICAgIGZpcnN0Q29udGV4dDogY29udGV4dEl0ZW1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGVuZCBhIG5ldyBjb250ZXh0IGl0ZW0uXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBsYXN0Q29udGV4dERlcGVuZGVuY3kubmV4dCA9IGNvbnRleHRJdGVtO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLy8gcmVuZGVyLiBXaGVuIHRoaXMgcmVuZGVyIGV4aXRzLCBlaXRoZXIgYmVjYXVzZSBpdCBmaW5pc2hlcyBvciBiZWNhdXNlIGl0IGlzXG4vLyBpbnRlcnJ1cHRlZCwgdGhlIGludGVybGVhdmVkIHVwZGF0ZXMgd2lsbCBiZSB0cmFuc2ZlcnJlZCBvbnRvIHRoZSBtYWluIHBhcnRcbi8vIG9mIHRoZSBxdWV1ZS5cblxudmFyIGNvbmN1cnJlbnRRdWV1ZXMgPSBudWxsO1xuZnVuY3Rpb24gcHVzaENvbmN1cnJlbnRVcGRhdGVRdWV1ZShxdWV1ZSkge1xuICBpZiAoY29uY3VycmVudFF1ZXVlcyA9PT0gbnVsbCkge1xuICAgIGNvbmN1cnJlbnRRdWV1ZXMgPSBbcXVldWVdO1xuICB9IGVsc2Uge1xuICAgIGNvbmN1cnJlbnRRdWV1ZXMucHVzaChxdWV1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKSB7XG4gIC8vIFRyYW5zZmVyIHRoZSBpbnRlcmxlYXZlZCB1cGRhdGVzIG9udG8gdGhlIG1haW4gcXVldWUuIEVhY2ggcXVldWUgaGFzIGFcbiAgLy8gYHBlbmRpbmdgIGZpZWxkIGFuZCBhbiBgaW50ZXJsZWF2ZWRgIGZpZWxkLiBXaGVuIHRoZXkgYXJlIG5vdCBudWxsLCB0aGV5XG4gIC8vIHBvaW50IHRvIHRoZSBsYXN0IG5vZGUgaW4gYSBjaXJjdWxhciBsaW5rZWQgbGlzdC4gV2UgbmVlZCB0byBhcHBlbmQgdGhlXG4gIC8vIGludGVybGVhdmVkIGxpc3QgdG8gdGhlIGVuZCBvZiB0aGUgcGVuZGluZyBsaXN0IGJ5IGpvaW5pbmcgdGhlbSBpbnRvIGFcbiAgLy8gc2luZ2xlLCBjaXJjdWxhciBsaXN0LlxuICBpZiAoY29uY3VycmVudFF1ZXVlcyAhPT0gbnVsbCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29uY3VycmVudFF1ZXVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHF1ZXVlID0gY29uY3VycmVudFF1ZXVlc1tpXTtcbiAgICAgIHZhciBsYXN0SW50ZXJsZWF2ZWRVcGRhdGUgPSBxdWV1ZS5pbnRlcmxlYXZlZDtcblxuICAgICAgaWYgKGxhc3RJbnRlcmxlYXZlZFVwZGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBxdWV1ZS5pbnRlcmxlYXZlZCA9IG51bGw7XG4gICAgICAgIHZhciBmaXJzdEludGVybGVhdmVkVXBkYXRlID0gbGFzdEludGVybGVhdmVkVXBkYXRlLm5leHQ7XG4gICAgICAgIHZhciBsYXN0UGVuZGluZ1VwZGF0ZSA9IHF1ZXVlLnBlbmRpbmc7XG5cbiAgICAgICAgaWYgKGxhc3RQZW5kaW5nVXBkYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIGZpcnN0UGVuZGluZ1VwZGF0ZSA9IGxhc3RQZW5kaW5nVXBkYXRlLm5leHQ7XG4gICAgICAgICAgbGFzdFBlbmRpbmdVcGRhdGUubmV4dCA9IGZpcnN0SW50ZXJsZWF2ZWRVcGRhdGU7XG4gICAgICAgICAgbGFzdEludGVybGVhdmVkVXBkYXRlLm5leHQgPSBmaXJzdFBlbmRpbmdVcGRhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBxdWV1ZS5wZW5kaW5nID0gbGFzdEludGVybGVhdmVkVXBkYXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbmN1cnJlbnRRdWV1ZXMgPSBudWxsO1xuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIGludGVybGVhdmVkID0gcXVldWUuaW50ZXJsZWF2ZWQ7XG5cbiAgaWYgKGludGVybGVhdmVkID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlOyAvLyBBdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHJlbmRlciwgdGhpcyBxdWV1ZSdzIGludGVybGVhdmVkIHVwZGF0ZXMgd2lsbFxuICAgIC8vIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBwZW5kaW5nIHF1ZXVlLlxuXG4gICAgcHVzaENvbmN1cnJlbnRVcGRhdGVRdWV1ZShxdWV1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlLm5leHQgPSBpbnRlcmxlYXZlZC5uZXh0O1xuICAgIGludGVybGVhdmVkLm5leHQgPSB1cGRhdGU7XG4gIH1cblxuICBxdWV1ZS5pbnRlcmxlYXZlZCA9IHVwZGF0ZTtcbiAgcmV0dXJuIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBsYW5lKTtcbn1cbmZ1bmN0aW9uIGVucXVldWVDb25jdXJyZW50SG9va1VwZGF0ZUFuZEVhZ2VybHlCYWlsb3V0KGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKSB7XG4gIHZhciBpbnRlcmxlYXZlZCA9IHF1ZXVlLmludGVybGVhdmVkO1xuXG4gIGlmIChpbnRlcmxlYXZlZCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTsgLy8gQXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCByZW5kZXIsIHRoaXMgcXVldWUncyBpbnRlcmxlYXZlZCB1cGRhdGVzIHdpbGxcbiAgICAvLyBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgcGVuZGluZyBxdWV1ZS5cblxuICAgIHB1c2hDb25jdXJyZW50VXBkYXRlUXVldWUocXVldWUpO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICBpbnRlcmxlYXZlZC5uZXh0ID0gdXBkYXRlO1xuICB9XG5cbiAgcXVldWUuaW50ZXJsZWF2ZWQgPSB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudENsYXNzVXBkYXRlKGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKSB7XG4gIHZhciBpbnRlcmxlYXZlZCA9IHF1ZXVlLmludGVybGVhdmVkO1xuXG4gIGlmIChpbnRlcmxlYXZlZCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTsgLy8gQXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCByZW5kZXIsIHRoaXMgcXVldWUncyBpbnRlcmxlYXZlZCB1cGRhdGVzIHdpbGxcbiAgICAvLyBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgcGVuZGluZyBxdWV1ZS5cblxuICAgIHB1c2hDb25jdXJyZW50VXBkYXRlUXVldWUocXVldWUpO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICBpbnRlcmxlYXZlZC5uZXh0ID0gdXBkYXRlO1xuICB9XG5cbiAgcXVldWUuaW50ZXJsZWF2ZWQgPSB1cGRhdGU7XG4gIHJldHVybiBtYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChmaWJlciwgbGFuZSk7XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIGxhbmUpIHtcbiAgcmV0dXJuIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBsYW5lKTtcbn0gLy8gQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIG91dHNpZGUgdGhpcyBtb2R1bGUgc2hvdWxkIG9ubHkgYmUgZG9uZSBmb3IgYmFja3dhcmRzXG4vLyBjb21wYXRpYmlsaXR5IGFuZCBzaG91bGQgYWx3YXlzIGJlIGFjY29tcGFuaWVkIGJ5IGEgd2FybmluZy5cblxudmFyIHVuc2FmZV9tYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdCA9IG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290O1xuXG5mdW5jdGlvbiBtYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChzb3VyY2VGaWJlciwgbGFuZSkge1xuICAvLyBVcGRhdGUgdGhlIHNvdXJjZSBmaWJlcidzIGxhbmVzXG4gIHNvdXJjZUZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhzb3VyY2VGaWJlci5sYW5lcywgbGFuZSk7XG4gIHZhciBhbHRlcm5hdGUgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmxhbmVzLCBsYW5lKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAoYWx0ZXJuYXRlID09PSBudWxsICYmIChzb3VyY2VGaWJlci5mbGFncyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9GbGFncykge1xuICAgICAgd2FybkFib3V0VXBkYXRlT25Ob3RZZXRNb3VudGVkRmliZXJJbkRFVihzb3VyY2VGaWJlcik7XG4gICAgfVxuICB9IC8vIFdhbGsgdGhlIHBhcmVudCBwYXRoIHRvIHRoZSByb290IGFuZCB1cGRhdGUgdGhlIGNoaWxkIGxhbmVzLlxuXG5cbiAgdmFyIG5vZGUgPSBzb3VyY2VGaWJlcjtcbiAgdmFyIHBhcmVudCA9IHNvdXJjZUZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgcGFyZW50LmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKHBhcmVudC5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICBhbHRlcm5hdGUgPSBwYXJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICBpZiAoKHBhcmVudC5mbGFncyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgIHdhcm5BYm91dFVwZGF0ZU9uTm90WWV0TW91bnRlZEZpYmVySW5ERVYoc291cmNlRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IHBhcmVudDtcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICB9XG5cbiAgaWYgKG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgIHZhciByb290ID0gbm9kZS5zdGF0ZU5vZGU7XG4gICAgcmV0dXJuIHJvb3Q7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxudmFyIFVwZGF0ZVN0YXRlID0gMDtcbnZhciBSZXBsYWNlU3RhdGUgPSAxO1xudmFyIEZvcmNlVXBkYXRlID0gMjtcbnZhciBDYXB0dXJlVXBkYXRlID0gMzsgLy8gR2xvYmFsIHN0YXRlIHRoYXQgaXMgcmVzZXQgYXQgdGhlIGJlZ2lubmluZyBvZiBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLlxuLy8gSXQgc2hvdWxkIG9ubHkgYmUgcmVhZCByaWdodCBhZnRlciBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLCB2aWFcbi8vIGBjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nYC5cblxudmFyIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XG52YXIgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZTtcbnZhciBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWU7XG5cbntcbiAgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZSA9IGZhbHNlO1xuICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBpbml0aWFsaXplVXBkYXRlUXVldWUoZmliZXIpIHtcbiAgdmFyIHF1ZXVlID0ge1xuICAgIGJhc2VTdGF0ZTogZmliZXIubWVtb2l6ZWRTdGF0ZSxcbiAgICBmaXJzdEJhc2VVcGRhdGU6IG51bGwsXG4gICAgbGFzdEJhc2VVcGRhdGU6IG51bGwsXG4gICAgc2hhcmVkOiB7XG4gICAgICBwZW5kaW5nOiBudWxsLFxuICAgICAgaW50ZXJsZWF2ZWQ6IG51bGwsXG4gICAgICBsYW5lczogTm9MYW5lc1xuICAgIH0sXG4gICAgZWZmZWN0czogbnVsbFxuICB9O1xuICBmaWJlci51cGRhdGVRdWV1ZSA9IHF1ZXVlO1xufVxuZnVuY3Rpb24gY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBDbG9uZSB0aGUgdXBkYXRlIHF1ZXVlIGZyb20gY3VycmVudC4gVW5sZXNzIGl0J3MgYWxyZWFkeSBhIGNsb25lLlxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgdmFyIGN1cnJlbnRRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XG5cbiAgaWYgKHF1ZXVlID09PSBjdXJyZW50UXVldWUpIHtcbiAgICB2YXIgY2xvbmUgPSB7XG4gICAgICBiYXNlU3RhdGU6IGN1cnJlbnRRdWV1ZS5iYXNlU3RhdGUsXG4gICAgICBmaXJzdEJhc2VVcGRhdGU6IGN1cnJlbnRRdWV1ZS5maXJzdEJhc2VVcGRhdGUsXG4gICAgICBsYXN0QmFzZVVwZGF0ZTogY3VycmVudFF1ZXVlLmxhc3RCYXNlVXBkYXRlLFxuICAgICAgc2hhcmVkOiBjdXJyZW50UXVldWUuc2hhcmVkLFxuICAgICAgZWZmZWN0czogY3VycmVudFF1ZXVlLmVmZmVjdHNcbiAgICB9O1xuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY2xvbmU7XG4gIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZShldmVudFRpbWUsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZSA9IHtcbiAgICBldmVudFRpbWU6IGV2ZW50VGltZSxcbiAgICBsYW5lOiBsYW5lLFxuICAgIHRhZzogVXBkYXRlU3RhdGUsXG4gICAgcGF5bG9hZDogbnVsbCxcbiAgICBjYWxsYmFjazogbnVsbCxcbiAgICBuZXh0OiBudWxsXG4gIH07XG4gIHJldHVybiB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmliZXIudXBkYXRlUXVldWU7XG5cbiAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSB7XG4gICAgLy8gT25seSBvY2N1cnMgaWYgdGhlIGZpYmVyIGhhcyBiZWVuIHVubW91bnRlZC5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBzaGFyZWRRdWV1ZSA9IHVwZGF0ZVF1ZXVlLnNoYXJlZDtcblxuICB7XG4gICAgaWYgKGN1cnJlbnRseVByb2Nlc3NpbmdRdWV1ZSA9PT0gc2hhcmVkUXVldWUgJiYgIWRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUpIHtcbiAgICAgIGVycm9yKCdBbiB1cGRhdGUgKHNldFN0YXRlLCByZXBsYWNlU3RhdGUsIG9yIGZvcmNlVXBkYXRlKSB3YXMgc2NoZWR1bGVkICcgKyAnZnJvbSBpbnNpZGUgYW4gdXBkYXRlIGZ1bmN0aW9uLiBVcGRhdGUgZnVuY3Rpb25zIHNob3VsZCBiZSBwdXJlLCAnICsgJ3dpdGggemVybyBzaWRlLWVmZmVjdHMuIENvbnNpZGVyIHVzaW5nIGNvbXBvbmVudERpZFVwZGF0ZSBvciBhICcgKyAnY2FsbGJhY2suJyk7XG5cbiAgICAgIGRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChpc1Vuc2FmZUNsYXNzUmVuZGVyUGhhc2VVcGRhdGUoKSkge1xuICAgIC8vIFRoaXMgaXMgYW4gdW5zYWZlIHJlbmRlciBwaGFzZSB1cGRhdGUuIEFkZCBkaXJlY3RseSB0byB0aGUgdXBkYXRlXG4gICAgLy8gcXVldWUgc28gd2UgY2FuIHByb2Nlc3MgaXQgaW1tZWRpYXRlbHkgZHVyaW5nIHRoZSBjdXJyZW50IHJlbmRlci5cbiAgICB2YXIgcGVuZGluZyA9IHNoYXJlZFF1ZXVlLnBlbmRpbmc7XG5cbiAgICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgICAgdXBkYXRlLm5leHQgPSB1cGRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgICAgcGVuZGluZy5uZXh0ID0gdXBkYXRlO1xuICAgIH1cblxuICAgIHNoYXJlZFF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7IC8vIFVwZGF0ZSB0aGUgY2hpbGRMYW5lcyBldmVuIHRob3VnaCB3ZSdyZSBtb3N0IGxpa2VseSBhbHJlYWR5IHJlbmRlcmluZ1xuICAgIC8vIHRoaXMgZmliZXIuIFRoaXMgaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGluIHRoZSBjYXNlIHdoZXJlIHlvdVxuICAgIC8vIHVwZGF0ZSBhIGRpZmZlcmVudCBjb21wb25lbnQgZHVyaW5nIHJlbmRlciBwaGFzZSB0aGFuIHRoZSBvbmUgdGhhdCBpc1xuICAgIC8vIGN1cnJlbnRseSByZW5kZXJpbmdzIChhIHBhdHRlcm4gdGhhdCBpcyBhY2NvbXBhbmllZCBieSBhIHdhcm5pbmcpLlxuXG4gICAgcmV0dXJuIHVuc2FmZV9tYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChmaWJlciwgbGFuZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVucXVldWVDb25jdXJyZW50Q2xhc3NVcGRhdGUoZmliZXIsIHNoYXJlZFF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuICB9XG59XG5mdW5jdGlvbiBlbnRhbmdsZVRyYW5zaXRpb25zKHJvb3QsIGZpYmVyLCBsYW5lKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpYmVyLnVwZGF0ZVF1ZXVlO1xuXG4gIGlmICh1cGRhdGVRdWV1ZSA9PT0gbnVsbCkge1xuICAgIC8vIE9ubHkgb2NjdXJzIGlmIHRoZSBmaWJlciBoYXMgYmVlbiB1bm1vdW50ZWQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNoYXJlZFF1ZXVlID0gdXBkYXRlUXVldWUuc2hhcmVkO1xuXG4gIGlmIChpc1RyYW5zaXRpb25MYW5lKGxhbmUpKSB7XG4gICAgdmFyIHF1ZXVlTGFuZXMgPSBzaGFyZWRRdWV1ZS5sYW5lczsgLy8gSWYgYW55IGVudGFuZ2xlZCBsYW5lcyBhcmUgbm8gbG9uZ2VyIHBlbmRpbmcgb24gdGhlIHJvb3QsIHRoZW4gdGhleSBtdXN0XG4gICAgLy8gaGF2ZSBmaW5pc2hlZC4gV2UgY2FuIHJlbW92ZSB0aGVtIGZyb20gdGhlIHNoYXJlZCBxdWV1ZSwgd2hpY2ggcmVwcmVzZW50c1xuICAgIC8vIGEgc3VwZXJzZXQgb2YgdGhlIGFjdHVhbGx5IHBlbmRpbmcgbGFuZXMuIEluIHNvbWUgY2FzZXMgd2UgbWF5IGVudGFuZ2xlXG4gICAgLy8gbW9yZSB0aGFuIHdlIG5lZWQgdG8sIGJ1dCB0aGF0J3MgT0suIEluIGZhY3QgaXQncyB3b3JzZSBpZiB3ZSAqZG9uJ3QqXG4gICAgLy8gZW50YW5nbGUgd2hlbiB3ZSBzaG91bGQuXG5cbiAgICBxdWV1ZUxhbmVzID0gaW50ZXJzZWN0TGFuZXMocXVldWVMYW5lcywgcm9vdC5wZW5kaW5nTGFuZXMpOyAvLyBFbnRhbmdsZSB0aGUgbmV3IHRyYW5zaXRpb24gbGFuZSB3aXRoIHRoZSBvdGhlciB0cmFuc2l0aW9uIGxhbmVzLlxuXG4gICAgdmFyIG5ld1F1ZXVlTGFuZXMgPSBtZXJnZUxhbmVzKHF1ZXVlTGFuZXMsIGxhbmUpO1xuICAgIHNoYXJlZFF1ZXVlLmxhbmVzID0gbmV3UXVldWVMYW5lczsgLy8gRXZlbiBpZiBxdWV1ZS5sYW5lcyBhbHJlYWR5IGluY2x1ZGUgbGFuZSwgd2UgZG9uJ3Qga25vdyBmb3IgY2VydGFpbiBpZlxuICAgIC8vIHRoZSBsYW5lIGZpbmlzaGVkIHNpbmNlIHRoZSBsYXN0IHRpbWUgd2UgZW50YW5nbGVkIGl0LiBTbyB3ZSBuZWVkIHRvXG4gICAgLy8gZW50YW5nbGUgaXQgYWdhaW4sIGp1c3QgdG8gYmUgc3VyZS5cblxuICAgIG1hcmtSb290RW50YW5nbGVkKHJvb3QsIG5ld1F1ZXVlTGFuZXMpO1xuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGNhcHR1cmVkVXBkYXRlKSB7XG4gIC8vIENhcHR1cmVkIHVwZGF0ZXMgYXJlIHVwZGF0ZXMgdGhhdCBhcmUgdGhyb3duIGJ5IGEgY2hpbGQgZHVyaW5nIHRoZSByZW5kZXJcbiAgLy8gcGhhc2UuIFRoZXkgc2hvdWxkIGJlIGRpc2NhcmRlZCBpZiB0aGUgcmVuZGVyIGlzIGFib3J0ZWQuIFRoZXJlZm9yZSxcbiAgLy8gd2Ugc2hvdWxkIG9ubHkgcHV0IHRoZW0gb24gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUsIG5vdCB0aGUgY3VycmVudCBvbmUuXG4gIHZhciBxdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlOyAvLyBDaGVjayBpZiB0aGUgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSBpcyBhIGNsb25lLlxuXG4gIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnRRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XG5cbiAgICBpZiAocXVldWUgPT09IGN1cnJlbnRRdWV1ZSkge1xuICAgICAgLy8gVGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUgaXMgdGhlIHNhbWUgYXMgY3VycmVudC4gVGhpcyBoYXBwZW5zIHdoZW5cbiAgICAgIC8vIHdlIGJhaWwgb3V0IG9uIGEgcGFyZW50IGZpYmVyIHRoYXQgdGhlbiBjYXB0dXJlcyBhbiBlcnJvciB0aHJvd24gYnlcbiAgICAgIC8vIGEgY2hpbGQuIFNpbmNlIHdlIHdhbnQgdG8gYXBwZW5kIHRoZSB1cGRhdGUgb25seSB0byB0aGUgd29yay1pblxuICAgICAgLy8gLXByb2dyZXNzIHF1ZXVlLCB3ZSBuZWVkIHRvIGNsb25lIHRoZSB1cGRhdGVzLiBXZSB1c3VhbGx5IGNsb25lIGR1cmluZ1xuICAgICAgLy8gcHJvY2Vzc1VwZGF0ZVF1ZXVlLCBidXQgdGhhdCBkaWRuJ3QgaGFwcGVuIGluIHRoaXMgY2FzZSBiZWNhdXNlIHdlXG4gICAgICAvLyBza2lwcGVkIG92ZXIgdGhlIHBhcmVudCB3aGVuIHdlIGJhaWxlZCBvdXQuXG4gICAgICB2YXIgbmV3Rmlyc3QgPSBudWxsO1xuICAgICAgdmFyIG5ld0xhc3QgPSBudWxsO1xuICAgICAgdmFyIGZpcnN0QmFzZVVwZGF0ZSA9IHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZTtcblxuICAgICAgaWYgKGZpcnN0QmFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIHVwZGF0ZXMgYW5kIGNsb25lIHRoZW0uXG4gICAgICAgIHZhciB1cGRhdGUgPSBmaXJzdEJhc2VVcGRhdGU7XG5cbiAgICAgICAgZG8ge1xuICAgICAgICAgIHZhciBjbG9uZSA9IHtcbiAgICAgICAgICAgIGV2ZW50VGltZTogdXBkYXRlLmV2ZW50VGltZSxcbiAgICAgICAgICAgIGxhbmU6IHVwZGF0ZS5sYW5lLFxuICAgICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXG4gICAgICAgICAgICBjYWxsYmFjazogdXBkYXRlLmNhbGxiYWNrLFxuICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAobmV3TGFzdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgbmV3Rmlyc3QgPSBuZXdMYXN0ID0gY2xvbmU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0xhc3QubmV4dCA9IGNsb25lO1xuICAgICAgICAgICAgbmV3TGFzdCA9IGNsb25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0O1xuICAgICAgICB9IHdoaWxlICh1cGRhdGUgIT09IG51bGwpOyAvLyBBcHBlbmQgdGhlIGNhcHR1cmVkIHVwZGF0ZSB0aGUgZW5kIG9mIHRoZSBjbG9uZWQgbGlzdC5cblxuXG4gICAgICAgIGlmIChuZXdMYXN0ID09PSBudWxsKSB7XG4gICAgICAgICAgbmV3Rmlyc3QgPSBuZXdMYXN0ID0gY2FwdHVyZWRVcGRhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGFzdC5uZXh0ID0gY2FwdHVyZWRVcGRhdGU7XG4gICAgICAgICAgbmV3TGFzdCA9IGNhcHR1cmVkVXBkYXRlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGVyZSBhcmUgbm8gYmFzZSB1cGRhdGVzLlxuICAgICAgICBuZXdGaXJzdCA9IG5ld0xhc3QgPSBjYXB0dXJlZFVwZGF0ZTtcbiAgICAgIH1cblxuICAgICAgcXVldWUgPSB7XG4gICAgICAgIGJhc2VTdGF0ZTogY3VycmVudFF1ZXVlLmJhc2VTdGF0ZSxcbiAgICAgICAgZmlyc3RCYXNlVXBkYXRlOiBuZXdGaXJzdCxcbiAgICAgICAgbGFzdEJhc2VVcGRhdGU6IG5ld0xhc3QsXG4gICAgICAgIHNoYXJlZDogY3VycmVudFF1ZXVlLnNoYXJlZCxcbiAgICAgICAgZWZmZWN0czogY3VycmVudFF1ZXVlLmVmZmVjdHNcbiAgICAgIH07XG4gICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IHF1ZXVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSAvLyBBcHBlbmQgdGhlIHVwZGF0ZSB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuXG5cbiAgdmFyIGxhc3RCYXNlVXBkYXRlID0gcXVldWUubGFzdEJhc2VVcGRhdGU7XG5cbiAgaWYgKGxhc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgcXVldWUuZmlyc3RCYXNlVXBkYXRlID0gY2FwdHVyZWRVcGRhdGU7XG4gIH0gZWxzZSB7XG4gICAgbGFzdEJhc2VVcGRhdGUubmV4dCA9IGNhcHR1cmVkVXBkYXRlO1xuICB9XG5cbiAgcXVldWUubGFzdEJhc2VVcGRhdGUgPSBjYXB0dXJlZFVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGVGcm9tVXBkYXRlKHdvcmtJblByb2dyZXNzLCBxdWV1ZSwgdXBkYXRlLCBwcmV2U3RhdGUsIG5leHRQcm9wcywgaW5zdGFuY2UpIHtcbiAgc3dpdGNoICh1cGRhdGUudGFnKSB7XG4gICAgY2FzZSBSZXBsYWNlU3RhdGU6XG4gICAgICB7XG4gICAgICAgIHZhciBwYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gVXBkYXRlciBmdW5jdGlvblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgbmV4dFN0YXRlID0gcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKHRydWUpO1xuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHMoZmFsc2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXh0U3RhdGU7XG4gICAgICAgIH0gLy8gU3RhdGUgb2JqZWN0XG5cblxuICAgICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FwdHVyZVVwZGF0ZTpcbiAgICAgIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSB3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTtcbiAgICAgIH1cbiAgICAvLyBJbnRlbnRpb25hbCBmYWxsdGhyb3VnaFxuXG4gICAgY2FzZSBVcGRhdGVTdGF0ZTpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG4gICAgICAgIHZhciBwYXJ0aWFsU3RhdGU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBfcGF5bG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIFVwZGF0ZXIgZnVuY3Rpb25cbiAgICAgICAgICB7XG4gICAgICAgICAgICBlbnRlckRpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcGFydGlhbFN0YXRlID0gX3BheWxvYWQuY2FsbChpbnN0YW5jZSwgcHJldlN0YXRlLCBuZXh0UHJvcHMpO1xuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIF9wYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcbiAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFBhcnRpYWwgc3RhdGUgb2JqZWN0XG4gICAgICAgICAgcGFydGlhbFN0YXRlID0gX3BheWxvYWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFydGlhbFN0YXRlID09PSBudWxsIHx8IHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gTnVsbCBhbmQgdW5kZWZpbmVkIGFyZSB0cmVhdGVkIGFzIG5vLW9wcy5cbiAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICB9IC8vIE1lcmdlIHRoZSBwYXJ0aWFsIHN0YXRlIGFuZCB0aGUgcHJldmlvdXMgc3RhdGUuXG5cblxuICAgICAgICByZXR1cm4gYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XG4gICAgICB9XG5cbiAgICBjYXNlIEZvcmNlVXBkYXRlOlxuICAgICAge1xuICAgICAgICBoYXNGb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBwcmV2U3RhdGU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gcHJldlN0YXRlO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIHByb3BzLCBpbnN0YW5jZSwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyBpcyBhbHdheXMgbm9uLW51bGwgb24gYSBDbGFzc0NvbXBvbmVudCBvciBIb3N0Um9vdFxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgaGFzRm9yY2VVcGRhdGUgPSBmYWxzZTtcblxuICB7XG4gICAgY3VycmVudGx5UHJvY2Vzc2luZ1F1ZXVlID0gcXVldWUuc2hhcmVkO1xuICB9XG5cbiAgdmFyIGZpcnN0QmFzZVVwZGF0ZSA9IHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZTtcbiAgdmFyIGxhc3RCYXNlVXBkYXRlID0gcXVldWUubGFzdEJhc2VVcGRhdGU7IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBwZW5kaW5nIHVwZGF0ZXMuIElmIHNvLCB0cmFuc2ZlciB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxuXG4gIHZhciBwZW5kaW5nUXVldWUgPSBxdWV1ZS5zaGFyZWQucGVuZGluZztcblxuICBpZiAocGVuZGluZ1F1ZXVlICE9PSBudWxsKSB7XG4gICAgcXVldWUuc2hhcmVkLnBlbmRpbmcgPSBudWxsOyAvLyBUaGUgcGVuZGluZyBxdWV1ZSBpcyBjaXJjdWxhci4gRGlzY29ubmVjdCB0aGUgcG9pbnRlciBiZXR3ZWVuIGZpcnN0XG4gICAgLy8gYW5kIGxhc3Qgc28gdGhhdCBpdCdzIG5vbi1jaXJjdWxhci5cblxuICAgIHZhciBsYXN0UGVuZGluZ1VwZGF0ZSA9IHBlbmRpbmdRdWV1ZTtcbiAgICB2YXIgZmlyc3RQZW5kaW5nVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGUubmV4dDtcbiAgICBsYXN0UGVuZGluZ1VwZGF0ZS5uZXh0ID0gbnVsbDsgLy8gQXBwZW5kIHBlbmRpbmcgdXBkYXRlcyB0byBiYXNlIHF1ZXVlXG5cbiAgICBpZiAobGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgIGZpcnN0QmFzZVVwZGF0ZSA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdEJhc2VVcGRhdGUubmV4dCA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9XG5cbiAgICBsYXN0QmFzZVVwZGF0ZSA9IGxhc3RQZW5kaW5nVXBkYXRlOyAvLyBJZiB0aGVyZSdzIGEgY3VycmVudCBxdWV1ZSwgYW5kIGl0J3MgZGlmZmVyZW50IGZyb20gdGhlIGJhc2UgcXVldWUsIHRoZW5cbiAgICAvLyB3ZSBuZWVkIHRvIHRyYW5zZmVyIHRoZSB1cGRhdGVzIHRvIHRoYXQgcXVldWUsIHRvby4gQmVjYXVzZSB0aGUgYmFzZVxuICAgIC8vIHF1ZXVlIGlzIGEgc2luZ2x5LWxpbmtlZCBsaXN0IHdpdGggbm8gY3ljbGVzLCB3ZSBjYW4gYXBwZW5kIHRvIGJvdGhcbiAgICAvLyBsaXN0cyBhbmQgdGFrZSBhZHZhbnRhZ2Ugb2Ygc3RydWN0dXJhbCBzaGFyaW5nLlxuICAgIC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50XG5cbiAgICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIGFsd2F5cyBub24tbnVsbCBvbiBhIENsYXNzQ29tcG9uZW50IG9yIEhvc3RSb290XG4gICAgICB2YXIgY3VycmVudFF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcbiAgICAgIHZhciBjdXJyZW50TGFzdEJhc2VVcGRhdGUgPSBjdXJyZW50UXVldWUubGFzdEJhc2VVcGRhdGU7XG5cbiAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgIT09IGxhc3RCYXNlVXBkYXRlKSB7XG4gICAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICBjdXJyZW50UXVldWUuZmlyc3RCYXNlVXBkYXRlID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFRoZXNlIHZhbHVlcyBtYXkgY2hhbmdlIGFzIHdlIHByb2Nlc3MgdGhlIHF1ZXVlLlxuXG5cbiAgaWYgKGZpcnN0QmFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCBvZiB1cGRhdGVzIHRvIGNvbXB1dGUgdGhlIHJlc3VsdC5cbiAgICB2YXIgbmV3U3RhdGUgPSBxdWV1ZS5iYXNlU3RhdGU7IC8vIFRPRE86IERvbid0IG5lZWQgdG8gYWNjdW11bGF0ZSB0aGlzLiBJbnN0ZWFkLCB3ZSBjYW4gcmVtb3ZlIHJlbmRlckxhbmVzXG4gICAgLy8gZnJvbSB0aGUgb3JpZ2luYWwgbGFuZXMuXG5cbiAgICB2YXIgbmV3TGFuZXMgPSBOb0xhbmVzO1xuICAgIHZhciBuZXdCYXNlU3RhdGUgPSBudWxsO1xuICAgIHZhciBuZXdGaXJzdEJhc2VVcGRhdGUgPSBudWxsO1xuICAgIHZhciBuZXdMYXN0QmFzZVVwZGF0ZSA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0QmFzZVVwZGF0ZTtcblxuICAgIGRvIHtcbiAgICAgIHZhciB1cGRhdGVMYW5lID0gdXBkYXRlLmxhbmU7XG4gICAgICB2YXIgdXBkYXRlRXZlbnRUaW1lID0gdXBkYXRlLmV2ZW50VGltZTtcblxuICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMocmVuZGVyTGFuZXMsIHVwZGF0ZUxhbmUpKSB7XG4gICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcbiAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cbiAgICAgICAgdmFyIGNsb25lID0ge1xuICAgICAgICAgIGV2ZW50VGltZTogdXBkYXRlRXZlbnRUaW1lLFxuICAgICAgICAgIGxhbmU6IHVwZGF0ZUxhbmUsXG4gICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgIHBheWxvYWQ6IHVwZGF0ZS5wYXlsb2FkLFxuICAgICAgICAgIGNhbGxiYWNrOiB1cGRhdGUuY2FsbGJhY2ssXG4gICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChuZXdMYXN0QmFzZVVwZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld0ZpcnN0QmFzZVVwZGF0ZSA9IG5ld0xhc3RCYXNlVXBkYXRlID0gY2xvbmU7XG4gICAgICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGFzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gY2xvbmU7XG4gICAgICAgIH0gLy8gVXBkYXRlIHRoZSByZW1haW5pbmcgcHJpb3JpdHkgaW4gdGhlIHF1ZXVlLlxuXG5cbiAgICAgICAgbmV3TGFuZXMgPSBtZXJnZUxhbmVzKG5ld0xhbmVzLCB1cGRhdGVMYW5lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgdXBkYXRlIGRvZXMgaGF2ZSBzdWZmaWNpZW50IHByaW9yaXR5LlxuICAgICAgICBpZiAobmV3TGFzdEJhc2VVcGRhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgZXZlbnRUaW1lOiB1cGRhdGVFdmVudFRpbWUsXG4gICAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBpcyBnb2luZyB0byBiZSBjb21taXR0ZWQgc28gd2UgbmV2ZXIgd2FudCB1bmNvbW1pdFxuICAgICAgICAgICAgLy8gaXQuIFVzaW5nIE5vTGFuZSB3b3JrcyBiZWNhdXNlIDAgaXMgYSBzdWJzZXQgb2YgYWxsIGJpdG1hc2tzLCBzb1xuICAgICAgICAgICAgLy8gdGhpcyB3aWxsIG5ldmVyIGJlIHNraXBwZWQgYnkgdGhlIGNoZWNrIGFib3ZlLlxuICAgICAgICAgICAgbGFuZTogTm9MYW5lLFxuICAgICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXG4gICAgICAgICAgICBjYWxsYmFjazogdXBkYXRlLmNhbGxiYWNrLFxuICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgICAgbmV3TGFzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cblxuICAgICAgICBuZXdTdGF0ZSA9IGdldFN0YXRlRnJvbVVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgcXVldWUsIHVwZGF0ZSwgbmV3U3RhdGUsIHByb3BzLCBpbnN0YW5jZSk7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHVwZGF0ZS5jYWxsYmFjaztcblxuICAgICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwgJiYgLy8gSWYgdGhlIHVwZGF0ZSB3YXMgYWxyZWFkeSBjb21taXR0ZWQsIHdlIHNob3VsZCBub3QgcXVldWUgaXRzXG4gICAgICAgIC8vIGNhbGxiYWNrIGFnYWluLlxuICAgICAgICB1cGRhdGUubGFuZSAhPT0gTm9MYW5lKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gQ2FsbGJhY2s7XG4gICAgICAgICAgdmFyIGVmZmVjdHMgPSBxdWV1ZS5lZmZlY3RzO1xuXG4gICAgICAgICAgaWYgKGVmZmVjdHMgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXVlLmVmZmVjdHMgPSBbdXBkYXRlXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWZmZWN0cy5wdXNoKHVwZGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0O1xuXG4gICAgICBpZiAodXBkYXRlID09PSBudWxsKSB7XG4gICAgICAgIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnNoYXJlZC5wZW5kaW5nO1xuXG4gICAgICAgIGlmIChwZW5kaW5nUXVldWUgPT09IG51bGwpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBmcm9tIGluc2lkZSBhIHJlZHVjZXIuIEFkZCB0aGUgbmV3XG4gICAgICAgICAgLy8gcGVuZGluZyB1cGRhdGVzIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QgYW5kIGtlZXAgcHJvY2Vzc2luZy5cbiAgICAgICAgICB2YXIgX2xhc3RQZW5kaW5nVXBkYXRlID0gcGVuZGluZ1F1ZXVlOyAvLyBJbnRlbnRpb25hbGx5IHVuc291bmQuIFBlbmRpbmcgdXBkYXRlcyBmb3JtIGEgY2lyY3VsYXIgbGlzdCwgYnV0IHdlXG4gICAgICAgICAgLy8gdW5yYXZlbCB0aGVtIHdoZW4gdHJhbnNmZXJyaW5nIHRoZW0gdG8gdGhlIGJhc2UgcXVldWUuXG5cbiAgICAgICAgICB2YXIgX2ZpcnN0UGVuZGluZ1VwZGF0ZSA9IF9sYXN0UGVuZGluZ1VwZGF0ZS5uZXh0O1xuICAgICAgICAgIF9sYXN0UGVuZGluZ1VwZGF0ZS5uZXh0ID0gbnVsbDtcbiAgICAgICAgICB1cGRhdGUgPSBfZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICAgIHF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gX2xhc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICAgIHF1ZXVlLnNoYXJlZC5wZW5kaW5nID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gd2hpbGUgKHRydWUpO1xuXG4gICAgaWYgKG5ld0xhc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgICBuZXdCYXNlU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICB9XG5cbiAgICBxdWV1ZS5iYXNlU3RhdGUgPSBuZXdCYXNlU3RhdGU7XG4gICAgcXVldWUuZmlyc3RCYXNlVXBkYXRlID0gbmV3Rmlyc3RCYXNlVXBkYXRlO1xuICAgIHF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gbmV3TGFzdEJhc2VVcGRhdGU7IC8vIEludGVybGVhdmVkIHVwZGF0ZXMgYXJlIHN0b3JlZCBvbiBhIHNlcGFyYXRlIHF1ZXVlLiBXZSBhcmVuJ3QgZ29pbmcgdG9cbiAgICAvLyBwcm9jZXNzIHRoZW0gZHVyaW5nIHRoaXMgcmVuZGVyLCBidXQgd2UgZG8gbmVlZCB0byB0cmFjayB3aGljaCBsYW5lc1xuICAgIC8vIGFyZSByZW1haW5pbmcuXG5cbiAgICB2YXIgbGFzdEludGVybGVhdmVkID0gcXVldWUuc2hhcmVkLmludGVybGVhdmVkO1xuXG4gICAgaWYgKGxhc3RJbnRlcmxlYXZlZCAhPT0gbnVsbCkge1xuICAgICAgdmFyIGludGVybGVhdmVkID0gbGFzdEludGVybGVhdmVkO1xuXG4gICAgICBkbyB7XG4gICAgICAgIG5ld0xhbmVzID0gbWVyZ2VMYW5lcyhuZXdMYW5lcywgaW50ZXJsZWF2ZWQubGFuZSk7XG4gICAgICAgIGludGVybGVhdmVkID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICAgIH0gd2hpbGUgKGludGVybGVhdmVkICE9PSBsYXN0SW50ZXJsZWF2ZWQpO1xuICAgIH0gZWxzZSBpZiAoZmlyc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgICAvLyBgcXVldWUubGFuZXNgIGlzIHVzZWQgZm9yIGVudGFuZ2xpbmcgdHJhbnNpdGlvbnMuIFdlIGNhbiBzZXQgaXQgYmFjayB0b1xuICAgICAgLy8gemVybyBvbmNlIHRoZSBxdWV1ZSBpcyBlbXB0eS5cbiAgICAgIHF1ZXVlLnNoYXJlZC5sYW5lcyA9IE5vTGFuZXM7XG4gICAgfSAvLyBTZXQgdGhlIHJlbWFpbmluZyBleHBpcmF0aW9uIHRpbWUgdG8gYmUgd2hhdGV2ZXIgaXMgcmVtYWluaW5nIGluIHRoZSBxdWV1ZS5cbiAgICAvLyBUaGlzIHNob3VsZCBiZSBmaW5lIGJlY2F1c2UgdGhlIG9ubHkgdHdvIG90aGVyIHRoaW5ncyB0aGF0IGNvbnRyaWJ1dGUgdG9cbiAgICAvLyBleHBpcmF0aW9uIHRpbWUgYXJlIHByb3BzIGFuZCBjb250ZXh0LiBXZSdyZSBhbHJlYWR5IGluIHRoZSBtaWRkbGUgb2YgdGhlXG4gICAgLy8gYmVnaW4gcGhhc2UgYnkgdGhlIHRpbWUgd2Ugc3RhcnQgcHJvY2Vzc2luZyB0aGUgcXVldWUsIHNvIHdlJ3ZlIGFscmVhZHlcbiAgICAvLyBkZWFsdCB3aXRoIHRoZSBwcm9wcy4gQ29udGV4dCBpbiBjb21wb25lbnRzIHRoYXQgc3BlY2lmeVxuICAgIC8vIHNob3VsZENvbXBvbmVudFVwZGF0ZSBpcyB0cmlja3k7IGJ1dCB3ZSdsbCBoYXZlIHRvIGFjY291bnQgZm9yXG4gICAgLy8gdGhhdCByZWdhcmRsZXNzLlxuXG5cbiAgICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKG5ld0xhbmVzKTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG5ld0xhbmVzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfVxuXG4gIHtcbiAgICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbGxDYWxsYmFjayhjYWxsYmFjaywgY29udGV4dCkge1xuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCBhcyBjYWxsYmFjay4gRXhwZWN0ZWQgYSBmdW5jdGlvbi4gSW5zdGVhZCAnICsgKFwicmVjZWl2ZWQ6IFwiICsgY2FsbGJhY2spKTtcbiAgfVxuXG4gIGNhbGxiYWNrLmNhbGwoY29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCkge1xuICBoYXNGb3JjZVVwZGF0ZSA9IGZhbHNlO1xufVxuZnVuY3Rpb24gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHtcbiAgcmV0dXJuIGhhc0ZvcmNlVXBkYXRlO1xufVxuZnVuY3Rpb24gY29tbWl0VXBkYXRlUXVldWUoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFF1ZXVlLCBpbnN0YW5jZSkge1xuICAvLyBDb21taXQgdGhlIGVmZmVjdHNcbiAgdmFyIGVmZmVjdHMgPSBmaW5pc2hlZFF1ZXVlLmVmZmVjdHM7XG4gIGZpbmlzaGVkUXVldWUuZWZmZWN0cyA9IG51bGw7XG5cbiAgaWYgKGVmZmVjdHMgIT09IG51bGwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVmZmVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBlZmZlY3QgPSBlZmZlY3RzW2ldO1xuICAgICAgdmFyIGNhbGxiYWNrID0gZWZmZWN0LmNhbGxiYWNrO1xuXG4gICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICAgICAgZWZmZWN0LmNhbGxiYWNrID0gbnVsbDtcbiAgICAgICAgY2FsbENhbGxiYWNrKGNhbGxiYWNrLCBpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBmYWtlSW50ZXJuYWxJbnN0YW5jZSA9IHt9OyAvLyBSZWFjdC5Db21wb25lbnQgdXNlcyBhIHNoYXJlZCBmcm96ZW4gb2JqZWN0IGJ5IGRlZmF1bHQuXG4vLyBXZSdsbCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFsaXplIGxlZ2FjeSByZWZzLlxuXG52YXIgZW1wdHlSZWZzT2JqZWN0ID0gbmV3IFJlYWN0LkNvbXBvbmVudCgpLnJlZnM7XG52YXIgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGU7XG52YXIgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRVbmRlZmluZWREZXJpdmVkU3RhdGU7XG52YXIgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlO1xudmFyIHdhcm5PbkludmFsaWRDYWxsYmFjaztcbnZhciBkaWRXYXJuQWJvdXREaXJlY3RseUFzc2lnbmluZ1Byb3BzVG9TdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcztcbnZhciBkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGU7XG5cbntcbiAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGUgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGUgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZSA9IG5ldyBTZXQoKTtcbiAgdmFyIGRpZFdhcm5PbkludmFsaWRDYWxsYmFjayA9IG5ldyBTZXQoKTtcblxuICB3YXJuT25JbnZhbGlkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICBpZiAoY2FsbGJhY2sgPT09IG51bGwgfHwgdHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGtleSA9IGNhbGxlck5hbWUgKyAnXycgKyBjYWxsYmFjaztcblxuICAgIGlmICghZGlkV2Fybk9uSW52YWxpZENhbGxiYWNrLmhhcyhrZXkpKSB7XG4gICAgICBkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2suYWRkKGtleSk7XG5cbiAgICAgIGVycm9yKCclcyguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGVyTmFtZSwgY2FsbGJhY2spO1xuICAgIH1cbiAgfTtcblxuICB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGUgPSBmdW5jdGlvbiAodHlwZSwgcGFydGlhbFN0YXRlKSB7XG4gICAgaWYgKHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVbmRlZmluZWREZXJpdmVkU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJyVzLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpOiBBIHZhbGlkIHN0YXRlIG9iamVjdCAob3IgbnVsbCkgbXVzdCBiZSByZXR1cm5lZC4gJyArICdZb3UgaGF2ZSByZXR1cm5lZCB1bmRlZmluZWQuJywgY29tcG9uZW50TmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9OyAvLyBUaGlzIGlzIHNvIGdyb3NzIGJ1dCBpdCdzIGF0IGxlYXN0IG5vbi1jcml0aWNhbCBhbmQgY2FuIGJlIHJlbW92ZWQgaWZcbiAgLy8gaXQgY2F1c2VzIHByb2JsZW1zLiBUaGlzIGlzIG1lYW50IHRvIGdpdmUgYSBuaWNlciBlcnJvciBtZXNzYWdlIGZvclxuICAvLyBSZWFjdERPTTE1LnVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHJlYWN0RE9NMTZDb21wb25lbnQsXG4gIC8vIC4uLikpIHdoaWNoIG90aGVyd2lzZSB0aHJvd3MgYSBcIl9wcm9jZXNzQ2hpbGRDb250ZXh0IGlzIG5vdCBhIGZ1bmN0aW9uXCJcbiAgLy8gZXhjZXB0aW9uLlxuXG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZha2VJbnRlcm5hbEluc3RhbmNlLCAnX3Byb2Nlc3NDaGlsZENvbnRleHQnLCB7XG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGF2YWlsYWJsZSBpbiBSZWFjdCAxNisuIFRoaXMgbGlrZWx5ICcgKyAnbWVhbnMgeW91IGhhdmUgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IGFuZCBhcmUgYXR0ZW1wdGluZyB0byBuZXN0ICcgKyAnYSBSZWFjdCAxNSB0cmVlIGluc2lkZSBhIFJlYWN0IDE2IHRyZWUgdXNpbmcgJyArIFwidW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIsIHdoaWNoIGlzbid0IHN1cHBvcnRlZC4gVHJ5IFwiICsgJ3RvIG1ha2Ugc3VyZSB5b3UgaGF2ZSBvbmx5IG9uZSBjb3B5IG9mIFJlYWN0IChhbmQgaWRlYWxseSwgc3dpdGNoICcgKyAndG8gUmVhY3RET00uY3JlYXRlUG9ydGFsKS4nKTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZnJlZXplKGZha2VJbnRlcm5hbEluc3RhbmNlKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV4dFByb3BzKSB7XG4gIHZhciBwcmV2U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgcGFydGlhbFN0YXRlID0gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKTtcblxuICB7XG4gICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHModHJ1ZSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIEludm9rZSB0aGUgZnVuY3Rpb24gYW4gZXh0cmEgdGltZSB0byBoZWxwIGRldGVjdCBzaWRlLWVmZmVjdHMuXG4gICAgICAgIHBhcnRpYWxTdGF0ZSA9IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlKGN0b3IsIHBhcnRpYWxTdGF0ZSk7XG4gIH0gLy8gTWVyZ2UgdGhlIHBhcnRpYWwgc3RhdGUgYW5kIHRoZSBwcmV2aW91cyBzdGF0ZS5cblxuXG4gIHZhciBtZW1vaXplZFN0YXRlID0gcGFydGlhbFN0YXRlID09PSBudWxsIHx8IHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkID8gcHJldlN0YXRlIDogYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBtZW1vaXplZFN0YXRlOyAvLyBPbmNlIHRoZSB1cGRhdGUgcXVldWUgaXMgZW1wdHksIHBlcnNpc3QgdGhlIGRlcml2ZWQgc3RhdGUgb250byB0aGVcbiAgLy8gYmFzZSBzdGF0ZS5cblxuICBpZiAod29ya0luUHJvZ3Jlc3MubGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBRdWV1ZSBpcyBhbHdheXMgbm9uLW51bGwgZm9yIGNsYXNzZXNcbiAgICB2YXIgdXBkYXRlUXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgICB1cGRhdGVRdWV1ZS5iYXNlU3RhdGUgPSBtZW1vaXplZFN0YXRlO1xuICB9XG59XG5cbnZhciBjbGFzc0NvbXBvbmVudFVwZGF0ZXIgPSB7XG4gIGlzTW91bnRlZDogaXNNb3VudGVkLFxuICBlbnF1ZXVlU2V0U3RhdGU6IGZ1bmN0aW9uIChpbnN0LCBwYXlsb2FkLCBjYWxsYmFjaykge1xuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoZmliZXIpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XG5cbiAgICBpZiAoY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2soY2FsbGJhY2ssICdzZXRTdGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBmaWJlciwgbGFuZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH0sXG4gIGVucXVldWVSZXBsYWNlU3RhdGU6IGZ1bmN0aW9uIChpbnN0LCBwYXlsb2FkLCBjYWxsYmFjaykge1xuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoZmliZXIpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgICB1cGRhdGUudGFnID0gUmVwbGFjZVN0YXRlO1xuICAgIHVwZGF0ZS5wYXlsb2FkID0gcGF5bG9hZDtcblxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHdhcm5PbkludmFsaWRDYWxsYmFjayhjYWxsYmFjaywgJ3JlcGxhY2VTdGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBmaWJlciwgbGFuZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH0sXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKGluc3QsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGZpYmVyID0gZ2V0KGluc3QpO1xuICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShldmVudFRpbWUsIGxhbmUpO1xuICAgIHVwZGF0ZS50YWcgPSBGb3JjZVVwZGF0ZTtcblxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHdhcm5PbkludmFsaWRDYWxsYmFjayhjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlLCBsYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgICBlbnRhbmdsZVRyYW5zaXRpb25zKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBtYXJrRm9yY2VVcGRhdGVTY2hlZHVsZWQoZmliZXIsIGxhbmUpO1xuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gY2hlY2tTaG91bGRDb21wb25lbnRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG9sZFByb3BzLCBuZXdQcm9wcywgb2xkU3RhdGUsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCkge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5zaG91bGRDb21wb25lbnRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgc2hvdWxkVXBkYXRlID0gaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuXG4gICAge1xuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEludm9rZSB0aGUgZnVuY3Rpb24gYW4gZXh0cmEgdGltZSB0byBoZWxwIGRldGVjdCBzaWRlLWVmZmVjdHMuXG4gICAgICAgICAgc2hvdWxkVXBkYXRlID0gaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkVXBkYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZXJyb3IoJyVzLnNob3VsZENvbXBvbmVudFVwZGF0ZSgpOiBSZXR1cm5lZCB1bmRlZmluZWQgaW5zdGVhZCBvZiBhICcgKyAnYm9vbGVhbiB2YWx1ZS4gTWFrZSBzdXJlIHRvIHJldHVybiB0cnVlIG9yIGZhbHNlLicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbiAgfVxuXG4gIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCkge1xuICAgIHJldHVybiAhc2hhbGxvd0VxdWFsKG9sZFByb3BzLCBuZXdQcm9wcykgfHwgIXNoYWxsb3dFcXVhbChvbGRTdGF0ZSwgbmV3U3RhdGUpO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQ2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIHtcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50JztcbiAgICB2YXIgcmVuZGVyUHJlc2VudCA9IGluc3RhbmNlLnJlbmRlcjtcblxuICAgIGlmICghcmVuZGVyUHJlc2VudCkge1xuICAgICAgaWYgKGN0b3IucHJvdG90eXBlICYmIHR5cGVvZiBjdG9yLnByb3RvdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IE5vIGByZW5kZXJgIG1ldGhvZCBmb3VuZCBvbiB0aGUgcmV0dXJuZWQgY29tcG9uZW50ICcgKyAnaW5zdGFuY2U6IGRpZCB5b3UgYWNjaWRlbnRhbGx5IHJldHVybiBhbiBvYmplY3QgZnJvbSB0aGUgY29uc3RydWN0b3I/JywgbmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignJXMoLi4uKTogTm8gYHJlbmRlcmAgbWV0aG9kIGZvdW5kIG9uIHRoZSByZXR1cm5lZCBjb21wb25lbnQgJyArICdpbnN0YW5jZTogeW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBkZWZpbmUgYHJlbmRlcmAuJywgbmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLmdldEluaXRpYWxTdGF0ZSAmJiAhaW5zdGFuY2UuZ2V0SW5pdGlhbFN0YXRlLmlzUmVhY3RDbGFzc0FwcHJvdmVkICYmICFpbnN0YW5jZS5zdGF0ZSkge1xuICAgICAgZXJyb3IoJ2dldEluaXRpYWxTdGF0ZSB3YXMgZGVmaW5lZCBvbiAlcywgYSBwbGFpbiBKYXZhU2NyaXB0IGNsYXNzLiAnICsgJ1RoaXMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIGNsYXNzZXMgY3JlYXRlZCB1c2luZyBSZWFjdC5jcmVhdGVDbGFzcy4gJyArICdEaWQgeW91IG1lYW4gdG8gZGVmaW5lIGEgc3RhdGUgcHJvcGVydHkgaW5zdGVhZD8nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuZ2V0RGVmYXVsdFByb3BzICYmICFpbnN0YW5jZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgd2FzIGRlZmluZWQgb24gJXMsIGEgcGxhaW4gSmF2YVNjcmlwdCBjbGFzcy4gJyArICdUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBjbGFzc2VzIGNyZWF0ZWQgdXNpbmcgUmVhY3QuY3JlYXRlQ2xhc3MuICcgKyAnVXNlIGEgc3RhdGljIHByb3BlcnR5IHRvIGRlZmluZSBkZWZhdWx0UHJvcHMgaW5zdGVhZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UucHJvcFR5cGVzKSB7XG4gICAgICBlcnJvcigncHJvcFR5cGVzIHdhcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIHByb3BlcnR5IG9uICVzLiBVc2UgYSBzdGF0aWMgJyArICdwcm9wZXJ0eSB0byBkZWZpbmUgcHJvcFR5cGVzIGluc3RlYWQuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLmNvbnRleHRUeXBlKSB7XG4gICAgICBlcnJvcignY29udGV4dFR5cGUgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBjb250ZXh0VHlwZSBpbnN0ZWFkLicsIG5hbWUpO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChpbnN0YW5jZS5jb250ZXh0VHlwZXMpIHtcbiAgICAgICAgZXJyb3IoJ2NvbnRleHRUeXBlcyB3YXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBvbiAlcy4gVXNlIGEgc3RhdGljICcgKyAncHJvcGVydHkgdG8gZGVmaW5lIGNvbnRleHRUeXBlcyBpbnN0ZWFkLicsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY3Rvci5jb250ZXh0VHlwZSAmJiBjdG9yLmNvbnRleHRUeXBlcyAmJiAhZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMuaGFzKGN0b3IpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzLmFkZChjdG9yKTtcblxuICAgICAgICBlcnJvcignJXMgZGVjbGFyZXMgYm90aCBjb250ZXh0VHlwZXMgYW5kIGNvbnRleHRUeXBlIHN0YXRpYyBwcm9wZXJ0aWVzLiAnICsgJ1RoZSBsZWdhY3kgY29udGV4dFR5cGVzIHByb3BlcnR5IHdpbGwgYmUgaWdub3JlZC4nLCBuYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFNob3VsZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnRTaG91bGRVcGRhdGUoKS4gRGlkIHlvdSBtZWFuIHNob3VsZENvbXBvbmVudFVwZGF0ZSgpPyAnICsgJ1RoZSBuYW1lIGlzIHBocmFzZWQgYXMgYSBxdWVzdGlvbiBiZWNhdXNlIHRoZSBmdW5jdGlvbiBpcyAnICsgJ2V4cGVjdGVkIHRvIHJldHVybiBhIHZhbHVlLicsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCAmJiB0eXBlb2YgaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgc2hvdWxkQ29tcG9uZW50VXBkYXRlKCkuICcgKyAnc2hvdWxkQ29tcG9uZW50VXBkYXRlIHNob3VsZCBub3QgYmUgdXNlZCB3aGVuIGV4dGVuZGluZyBSZWFjdC5QdXJlQ29tcG9uZW50LiAnICsgJ1BsZWFzZSBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSBpcyB1c2VkLicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQSBwdXJlIGNvbXBvbmVudCcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnREaWRVbm1vdW50KCkuIEJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpZmVjeWNsZSBtZXRob2QuICcgKyAnRGlkIHlvdSBtZWFuIGNvbXBvbmVudFdpbGxVbm1vdW50KCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50RGlkUmVjZWl2ZVByb3BzKCkuIEJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpZmVjeWNsZSBtZXRob2QuICcgKyAnSWYgeW91IG1lYW50IHRvIHVwZGF0ZSB0aGUgc3RhdGUgaW4gcmVzcG9uc2UgdG8gY2hhbmdpbmcgcHJvcHMsICcgKyAndXNlIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKS4gSWYgeW91IG1lYW50IHRvIGZldGNoIGRhdGEgb3IgJyArICdydW4gc2lkZS1lZmZlY3RzIG9yIG11dGF0aW9ucyBhZnRlciBSZWFjdCBoYXMgdXBkYXRlZCB0aGUgVUksIHVzZSBjb21wb25lbnREaWRVcGRhdGUoKS4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcygpLiBEaWQgeW91IG1lYW4gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpPycsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMoKS4gRGlkIHlvdSBtZWFuIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgdmFyIGhhc011dGF0ZWRQcm9wcyA9IGluc3RhbmNlLnByb3BzICE9PSBuZXdQcm9wcztcblxuICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gdW5kZWZpbmVkICYmIGhhc011dGF0ZWRQcm9wcykge1xuICAgICAgZXJyb3IoJyVzKC4uLik6IFdoZW4gY2FsbGluZyBzdXBlcigpIGluIGAlc2AsIG1ha2Ugc3VyZSB0byBwYXNzICcgKyBcInVwIHRoZSBzYW1lIHByb3BzIHRoYXQgeW91ciBjb21wb25lbnQncyBjb25zdHJ1Y3RvciB3YXMgcGFzc2VkLlwiLCBuYW1lLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuZGVmYXVsdFByb3BzKSB7XG4gICAgICBlcnJvcignU2V0dGluZyBkZWZhdWx0UHJvcHMgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSBpZ25vcmVkLicgKyAnIEluc3RlYWQsIGRlZmluZSBkZWZhdWx0UHJvcHMgYXMgYSBzdGF0aWMgcHJvcGVydHkgb24gJXMuJywgbmFtZSwgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlICE9PSAnZnVuY3Rpb24nICYmICFkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuaGFzKGN0b3IpKSB7XG4gICAgICBkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuYWRkKGN0b3IpO1xuXG4gICAgICBlcnJvcignJXM6IGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgc2hvdWxkIGJlIHVzZWQgd2l0aCBjb21wb25lbnREaWRVcGRhdGUoKS4gJyArICdUaGlzIGNvbXBvbmVudCBkZWZpbmVzIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgb25seS4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXM6IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpIGlzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kICcgKyAnYW5kIHdpbGwgYmUgaWdub3JlZC4gSW5zdGVhZCwgZGVjbGFyZSBpdCBhcyBhIHN0YXRpYyBtZXRob2QuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKSBpcyBkZWZpbmVkIGFzIGEgc3RhdGljIG1ldGhvZCAnICsgJ2FuZCB3aWxsIGJlIGlnbm9yZWQuIEluc3RlYWQsIGRlY2xhcmUgaXQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kLicsIG5hbWUpO1xuICAgIH1cblxuICAgIHZhciBfc3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICAgIGlmIChfc3RhdGUgJiYgKHR5cGVvZiBfc3RhdGUgIT09ICdvYmplY3QnIHx8IGlzQXJyYXkoX3N0YXRlKSkpIHtcbiAgICAgIGVycm9yKCclcy5zdGF0ZTogbXVzdCBiZSBzZXQgdG8gYW4gb2JqZWN0IG9yIG51bGwnLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldENoaWxkQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgY3Rvci5jaGlsZENvbnRleHRUeXBlcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIGVycm9yKCclcy5nZXRDaGlsZENvbnRleHQoKTogY2hpbGRDb250ZXh0VHlwZXMgbXVzdCBiZSBkZWZpbmVkIGluIG9yZGVyIHRvICcgKyAndXNlIGdldENoaWxkQ29udGV4dCgpLicsIG5hbWUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnVwZGF0ZXIgPSBjbGFzc0NvbXBvbmVudFVwZGF0ZXI7XG4gIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlOyAvLyBUaGUgaW5zdGFuY2UgbmVlZHMgYWNjZXNzIHRvIHRoZSBmaWJlciBzbyB0aGF0IGl0IGNhbiBzY2hlZHVsZSB1cGRhdGVzXG5cbiAgc2V0KGluc3RhbmNlLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAge1xuICAgIGluc3RhbmNlLl9yZWFjdEludGVybmFsSW5zdGFuY2UgPSBmYWtlSW50ZXJuYWxJbnN0YW5jZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb25zdHJ1Y3RDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBwcm9wcykge1xuICB2YXIgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBmYWxzZTtcbiAgdmFyIHVubWFza2VkQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcbiAgdmFyIGNvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG5cbiAge1xuICAgIGlmICgnY29udGV4dFR5cGUnIGluIGN0b3IpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gLy8gQWxsb3cgbnVsbCBmb3IgY29uZGl0aW9uYWwgZGVjbGFyYXRpb25cbiAgICAgIGNvbnRleHRUeXBlID09PSBudWxsIHx8IGNvbnRleHRUeXBlICE9PSB1bmRlZmluZWQgJiYgY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSAmJiBjb250ZXh0VHlwZS5fY29udGV4dCA9PT0gdW5kZWZpbmVkOyAvLyBOb3QgYSA8Q29udGV4dC5Db25zdW1lcj5cblxuICAgICAgaWYgKCFpc1ZhbGlkICYmICFkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGUuaGFzKGN0b3IpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZS5hZGQoY3Rvcik7XG4gICAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuXG4gICAgICAgIGlmIChjb250ZXh0VHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIEhvd2V2ZXIsIGl0IGlzIHNldCB0byB1bmRlZmluZWQuICcgKyAnVGhpcyBjYW4gYmUgY2F1c2VkIGJ5IGEgdHlwbyBvciBieSBtaXhpbmcgdXAgbmFtZWQgYW5kIGRlZmF1bHQgaW1wb3J0cy4gJyArICdUaGlzIGNhbiBhbHNvIGhhcHBlbiBkdWUgdG8gYSBjaXJjdWxhciBkZXBlbmRlbmN5LCBzbyAnICsgJ3RyeSBtb3ZpbmcgdGhlIGNyZWF0ZUNvbnRleHQoKSBjYWxsIHRvIGEgc2VwYXJhdGUgZmlsZS4nO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZXh0VHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgSG93ZXZlciwgaXQgaXMgc2V0IHRvIGEgJyArIHR5cGVvZiBjb250ZXh0VHlwZSArICcuJztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSkge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIHRoZSBDb250ZXh0LlByb3ZpZGVyIGluc3RlYWQ/JztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS5fY29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gPENvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IHBhc3MgdGhlIENvbnRleHQuQ29uc3VtZXIgaW5zdGVhZD8nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBIb3dldmVyLCBpdCBpcyBzZXQgdG8gYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKGNvbnRleHRUeXBlKS5qb2luKCcsICcpICsgJ30uJztcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yKCclcyBkZWZpbmVzIGFuIGludmFsaWQgY29udGV4dFR5cGUuICcgKyAnY29udGV4dFR5cGUgc2hvdWxkIHBvaW50IHRvIHRoZSBDb250ZXh0IG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVDb250ZXh0KCkuJXMnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCcsIGFkZGVuZHVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcbiAgICB2YXIgY29udGV4dFR5cGVzID0gY3Rvci5jb250ZXh0VHlwZXM7XG4gICAgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBjb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY29udGV4dFR5cGVzICE9PSB1bmRlZmluZWQ7XG4gICAgY29udGV4dCA9IGlzTGVnYWN5Q29udGV4dENvbnN1bWVyID8gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KSA6IGVtcHR5Q29udGV4dE9iamVjdDtcbiAgfVxuXG4gIHZhciBpbnN0YW5jZSA9IG5ldyBjdG9yKHByb3BzLCBjb250ZXh0KTsgLy8gSW5zdGFudGlhdGUgdHdpY2UgdG8gaGVscCBkZXRlY3Qgc2lkZS1lZmZlY3RzLlxuXG4gIHtcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaW5zdGFuY2UgPSBuZXcgY3Rvcihwcm9wcywgY29udGV4dCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIHN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlICE9PSBudWxsICYmIGluc3RhbmNlLnN0YXRlICE9PSB1bmRlZmluZWQgPyBpbnN0YW5jZS5zdGF0ZSA6IG51bGw7XG4gIGFkb3B0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nICYmIHN0YXRlID09PSBudWxsKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJ2Alc2AgdXNlcyBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBidXQgaXRzIGluaXRpYWwgc3RhdGUgaXMgJyArICclcy4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQuIEluc3RlYWQsIGRlZmluZSB0aGUgaW5pdGlhbCBzdGF0ZSBieSAnICsgJ2Fzc2lnbmluZyBhbiBvYmplY3QgdG8gYHRoaXMuc3RhdGVgIGluIHRoZSBjb25zdHJ1Y3RvciBvZiBgJXNgLiAnICsgJ1RoaXMgZW5zdXJlcyB0aGF0IGBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNgIGFyZ3VtZW50cyBoYXZlIGEgY29uc2lzdGVudCBzaGFwZS4nLCBjb21wb25lbnROYW1lLCBpbnN0YW5jZS5zdGF0ZSA9PT0gbnVsbCA/ICdudWxsJyA6ICd1bmRlZmluZWQnLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9IC8vIElmIG5ldyBjb21wb25lbnQgQVBJcyBhcmUgZGVmaW5lZCwgXCJ1bnNhZmVcIiBsaWZlY3ljbGVzIHdvbid0IGJlIGNhbGxlZC5cbiAgICAvLyBXYXJuIGFib3V0IHRoZXNlIGxpZmVjeWNsZXMgaWYgdGhleSBhcmUgcHJlc2VudC5cbiAgICAvLyBEb24ndCB3YXJuIGFib3V0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgbWV0aG9kcyB0aG91Z2guXG5cblxuICAgIGlmICh0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgZm91bmRXaWxsTW91bnROYW1lID0gbnVsbDtcbiAgICAgIHZhciBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gbnVsbDtcbiAgICAgIHZhciBmb3VuZFdpbGxVcGRhdGVOYW1lID0gbnVsbDtcblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50Ll9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgICAgZm91bmRXaWxsTW91bnROYW1lID0gJ2NvbXBvbmVudFdpbGxNb3VudCc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZvdW5kV2lsbE1vdW50TmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JztcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgICBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gJ2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMnO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgICAgZm91bmRXaWxsVXBkYXRlTmFtZSA9ICdjb21wb25lbnRXaWxsVXBkYXRlJztcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSAnVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUnO1xuICAgICAgfVxuXG4gICAgICBpZiAoZm91bmRXaWxsTW91bnROYW1lICE9PSBudWxsIHx8IGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgIT09IG51bGwgfHwgZm91bmRXaWxsVXBkYXRlTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgX2NvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgICAgdmFyIG5ld0FwaU5hbWUgPSB0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgPyAnZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCknIDogJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlKCknO1xuXG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5oYXMoX2NvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5hZGQoX2NvbXBvbmVudE5hbWUpO1xuXG4gICAgICAgICAgZXJyb3IoJ1Vuc2FmZSBsZWdhY3kgbGlmZWN5Y2xlcyB3aWxsIG5vdCBiZSBjYWxsZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgbmV3IGNvbXBvbmVudCBBUElzLlxcblxcbicgKyAnJXMgdXNlcyAlcyBidXQgYWxzbyBjb250YWlucyB0aGUgZm9sbG93aW5nIGxlZ2FjeSBsaWZlY3ljbGVzOiVzJXMlc1xcblxcbicgKyAnVGhlIGFib3ZlIGxpZmVjeWNsZXMgc2hvdWxkIGJlIHJlbW92ZWQuIExlYXJuIG1vcmUgYWJvdXQgdGhpcyB3YXJuaW5nIGhlcmU6XFxuJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzJywgX2NvbXBvbmVudE5hbWUsIG5ld0FwaU5hbWUsIGZvdW5kV2lsbE1vdW50TmFtZSAhPT0gbnVsbCA/IFwiXFxuICBcIiArIGZvdW5kV2lsbE1vdW50TmFtZSA6ICcnLCBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lICE9PSBudWxsID8gXCJcXG4gIFwiICsgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA6ICcnLCBmb3VuZFdpbGxVcGRhdGVOYW1lICE9PSBudWxsID8gXCJcXG4gIFwiICsgZm91bmRXaWxsVXBkYXRlTmFtZSA6ICcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gIC8vIFJlYWN0RmliZXJDb250ZXh0IHVzdWFsbHkgdXBkYXRlcyB0aGlzIGNhY2hlIGJ1dCBjYW4ndCBmb3IgbmV3bHktY3JlYXRlZCBpbnN0YW5jZXMuXG5cblxuICBpZiAoaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIpIHtcbiAgICBjYWNoZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCwgY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIGNhbGxDb21wb25lbnRXaWxsTW91bnQod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKSB7XG4gIHZhciBvbGRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlO1xuXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50KCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCk7XG4gIH1cblxuICBpZiAob2xkU3RhdGUgIT09IGluc3RhbmNlLnN0YXRlKSB7XG4gICAge1xuICAgICAgZXJyb3IoJyVzLmNvbXBvbmVudFdpbGxNb3VudCgpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gdGhpcy5zdGF0ZSBpcyAnICsgXCJkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXCIgKyAnY29uc3RydWN0b3IpLiBVc2Ugc2V0U3RhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHdvcmtJblByb2dyZXNzKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgfVxuXG4gICAgY2xhc3NDb21wb25lbnRVcGRhdGVyLmVucXVldWVSZXBsYWNlU3RhdGUoaW5zdGFuY2UsIGluc3RhbmNlLnN0YXRlLCBudWxsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxsQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UsIG5ld1Byb3BzLCBuZXh0Q29udGV4dCkge1xuICB2YXIgb2xkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5ld1Byb3BzLCBuZXh0Q29udGV4dCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHMsIG5leHRDb250ZXh0KTtcbiAgfVxuXG4gIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gb2xkU3RhdGUpIHtcbiAgICB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIod29ya0luUHJvZ3Jlc3MpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFN0YXRlQXNzaWdubWVudEZvckNvbXBvbmVudC5oYXMoY29tcG9uZW50TmFtZSkpIHtcbiAgICAgICAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXMuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gJyArIFwidGhpcy5zdGF0ZSBpcyBkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXCIgKyAnY29uc3RydWN0b3IpLiBVc2Ugc2V0U3RhdGUgaW5zdGVhZC4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjbGFzc0NvbXBvbmVudFVwZGF0ZXIuZW5xdWV1ZVJlcGxhY2VTdGF0ZShpbnN0YW5jZSwgaW5zdGFuY2Uuc3RhdGUsIG51bGwpO1xuICB9XG59IC8vIEludm9rZXMgdGhlIG1vdW50IGxpZmUtY3ljbGVzIG9uIGEgcHJldmlvdXNseSBuZXZlciByZW5kZXJlZCBpbnN0YW5jZS5cblxuXG5mdW5jdGlvbiBtb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB7XG4gICAgY2hlY2tDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcyk7XG4gIH1cblxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgaW5zdGFuY2UucmVmcyA9IGVtcHR5UmVmc09iamVjdDtcbiAgaW5pdGlhbGl6ZVVwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGluc3RhbmNlLmNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XG4gICAgaW5zdGFuY2UuY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB7XG4gICAgaWYgKGluc3RhbmNlLnN0YXRlID09PSBuZXdQcm9wcykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlLmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXM6IEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBhc3NpZ24gcHJvcHMgZGlyZWN0bHkgdG8gc3RhdGUgJyArIFwiYmVjYXVzZSB1cGRhdGVzIHRvIHByb3BzIHdvbid0IGJlIHJlZmxlY3RlZCBpbiBzdGF0ZS4gXCIgKyAnSW4gbW9zdCBjYXNlcywgaXQgaXMgYmV0dGVyIHRvIHVzZSBwcm9wcyBkaXJlY3RseS4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3Mod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcbiAgICB9XG4gIH1cblxuICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcbiAgICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH0gLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cblxuICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSAhPT0gJ2Z1bmN0aW9uJyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICBjYWxsQ29tcG9uZW50V2lsbE1vdW50KHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7IC8vIElmIHdlIGhhZCBhZGRpdGlvbmFsIHN0YXRlIHVwZGF0ZXMgZHVyaW5nIHRoaXMgbGlmZS1jeWNsZSwgbGV0J3NcbiAgICAvLyBwcm9jZXNzIHRoZW0gbm93LlxuXG4gICAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckxhbmVzKTtcbiAgICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIGZpYmVyRmxhZ3MgPSBVcGRhdGU7XG5cbiAgICB7XG4gICAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgICB9XG5cbiAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gZmliZXJGbGFncztcbiAgfVxufVxuXG5mdW5jdGlvbiByZXN1bWVNb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIGluc3RhbmNlLnByb3BzID0gb2xkUHJvcHM7XG4gIHZhciBvbGRDb250ZXh0ID0gaW5zdGFuY2UuY29udGV4dDtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcbiAgdmFyIG5leHRDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xuXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XG4gICAgbmV4dENvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIGN0b3IsIHRydWUpO1xuICAgIG5leHRDb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgbmV4dExlZ2FjeVVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB2YXIgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7XG4gIHZhciBoYXNOZXdMaWZlY3ljbGVzID0gdHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbic7IC8vIE5vdGU6IER1cmluZyB0aGVzZSBsaWZlLWN5Y2xlcywgaW5zdGFuY2UucHJvcHMvaW5zdGFuY2Uuc3RhdGUgYXJlIHdoYXRcbiAgLy8gZXZlciB0aGUgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gcmVuZGVyIC0gbm90IHRoZSBcImN1cnJlbnRcIi4gSG93ZXZlcixcbiAgLy8gZHVyaW5nIGNvbXBvbmVudERpZFVwZGF0ZSB3ZSBwYXNzIHRoZSBcImN1cnJlbnRcIiBwcm9wcy5cbiAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cbiAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgaWYgKG9sZFByb3BzICE9PSBuZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCk7XG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcyk7XG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzICYmIG9sZFN0YXRlID09PSBuZXdTdGF0ZSAmJiAhaGFzQ29udGV4dENoYW5nZWQoKSAmJiAhY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpKSB7XG4gICAgLy8gSWYgYW4gdXBkYXRlIHdhcyBhbHJlYWR5IGluIHByb2dyZXNzLCB3ZSBzaG91bGQgc2NoZWR1bGUgYW4gVXBkYXRlXG4gICAgLy8gZWZmZWN0IGV2ZW4gdGhvdWdoIHdlJ3JlIGJhaWxpbmcgb3V0LCBzbyB0aGF0IGNXVS9jRFUgYXJlIGNhbGxlZC5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgZmliZXJGbGFncyA9IFVwZGF0ZTtcblxuICAgICAge1xuICAgICAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgICAgIH1cblxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgICB9XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IGZpYmVyRmxhZ3M7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXdQcm9wcyk7XG4gICAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB9XG5cbiAgdmFyIHNob3VsZFVwZGF0ZSA9IGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB8fCBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cbiAgICBpZiAoIWhhc05ld0xpZmVjeWNsZXMgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgX2ZpYmVyRmxhZ3MgPSBVcGRhdGU7XG5cbiAgICAgIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MgfD0gTGF5b3V0U3RhdGljO1xuICAgICAgfVxuXG4gICAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgICB9XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IF9maWJlckZsYWdzO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBfZmliZXJGbGFnczIgPSBVcGRhdGU7XG5cbiAgICAgIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MyIHw9IExheW91dFN0YXRpYztcbiAgICAgIH1cblxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIF9maWJlckZsYWdzMiB8PSBNb3VudExheW91dERldjtcbiAgICAgIH1cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gX2ZpYmVyRmxhZ3MyO1xuICAgIH0gLy8gSWYgc2hvdWxkQ29tcG9uZW50VXBkYXRlIHJldHVybmVkIGZhbHNlLCB3ZSBzaG91bGQgc3RpbGwgdXBkYXRlIHRoZVxuICAgIC8vIG1lbW9pemVkIHN0YXRlIHRvIGluZGljYXRlIHRoYXQgdGhpcyB3b3JrIGNhbiBiZSByZXVzZWQuXG5cblxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBuZXdQcm9wcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7XG4gIH0gLy8gVXBkYXRlIHRoZSBleGlzdGluZyBpbnN0YW5jZSdzIHN0YXRlLCBwcm9wcywgYW5kIGNvbnRleHQgcG9pbnRlcnMgZXZlblxuICAvLyBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZS5cblxuXG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gbmV3U3RhdGU7XG4gIGluc3RhbmNlLmNvbnRleHQgPSBuZXh0Q29udGV4dDtcbiAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbn0gLy8gSW52b2tlcyB0aGUgdXBkYXRlIGxpZmUtY3ljbGVzIGFuZCByZXR1cm5zIGZhbHNlIGlmIGl0IHNob3VsZG4ndCByZXJlbmRlci5cblxuXG5mdW5jdGlvbiB1cGRhdGVDbGFzc0luc3RhbmNlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHVucmVzb2x2ZWRPbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnR5cGUgPT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID8gdW5yZXNvbHZlZE9sZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyh3b3JrSW5Qcm9ncmVzcy50eXBlLCB1bnJlc29sdmVkT2xkUHJvcHMpO1xuICBpbnN0YW5jZS5wcm9wcyA9IG9sZFByb3BzO1xuICB2YXIgdW5yZXNvbHZlZE5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgb2xkQ29udGV4dCA9IGluc3RhbmNlLmNvbnRleHQ7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG4gIHZhciBuZXh0Q29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIG5leHRDb250ZXh0ID0gcmVhZENvbnRleHQoY29udGV4dFR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBuZXh0VW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcbiAgICBuZXh0Q29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIG5leHRVbm1hc2tlZENvbnRleHQpO1xuICB9XG5cbiAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO1xuICB2YXIgaGFzTmV3TGlmZWN5Y2xlcyA9IHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nOyAvLyBOb3RlOiBEdXJpbmcgdGhlc2UgbGlmZS1jeWNsZXMsIGluc3RhbmNlLnByb3BzL2luc3RhbmNlLnN0YXRlIGFyZSB3aGF0XG4gIC8vIGV2ZXIgdGhlIHByZXZpb3VzbHkgYXR0ZW1wdGVkIHRvIHJlbmRlciAtIG5vdCB0aGUgXCJjdXJyZW50XCIuIEhvd2V2ZXIsXG4gIC8vIGR1cmluZyBjb21wb25lbnREaWRVcGRhdGUgd2UgcGFzcyB0aGUgXCJjdXJyZW50XCIgcHJvcHMuXG4gIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAvLyBVbnNhZmUgbGlmZWN5Y2xlcyBzaG91bGQgbm90IGJlIGludm9rZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgdGhlIG5ldyBBUElzLlxuXG4gIGlmICghaGFzTmV3TGlmZWN5Y2xlcyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSkge1xuICAgIGlmICh1bnJlc29sdmVkT2xkUHJvcHMgIT09IHVucmVzb2x2ZWROZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCk7XG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcyk7XG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAodW5yZXNvbHZlZE9sZFByb3BzID09PSB1bnJlc29sdmVkTmV3UHJvcHMgJiYgb2xkU3RhdGUgPT09IG5ld1N0YXRlICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpICYmICFjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nKCkgJiYgIShlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uICAgKSkge1xuICAgIC8vIElmIGFuIHVwZGF0ZSB3YXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2Ugc2hvdWxkIHNjaGVkdWxlIGFuIFVwZGF0ZVxuICAgIC8vIGVmZmVjdCBldmVuIHRob3VnaCB3ZSdyZSBiYWlsaW5nIG91dCwgc28gdGhhdCBjV1UvY0RVIGFyZSBjYWxsZWQuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh1bnJlc29sdmVkT2xkUHJvcHMgIT09IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB8fCBvbGRTdGF0ZSAhPT0gY3VycmVudC5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAodW5yZXNvbHZlZE9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTbmFwc2hvdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcbiAgICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICB2YXIgc2hvdWxkVXBkYXRlID0gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHx8IGNoZWNrU2hvdWxkQ29tcG9uZW50VXBkYXRlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBvbGRQcm9wcywgbmV3UHJvcHMsIG9sZFN0YXRlLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpIHx8IC8vIFRPRE86IEluIHNvbWUgY2FzZXMsIHdlJ2xsIGVuZCB1cCBjaGVja2luZyBpZiBjb250ZXh0IGhhcyBjaGFuZ2VkIHR3aWNlLFxuICAvLyBib3RoIGJlZm9yZSBhbmQgYWZ0ZXIgYHNob3VsZENvbXBvbmVudFVwZGF0ZWAgaGFzIGJlZW4gY2FsbGVkLiBOb3QgaWRlYWwsXG4gIC8vIGJ1dCBJJ20gbG9hdGggdG8gcmVmYWN0b3IgdGhpcyBmdW5jdGlvbi4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIG1lbW9pemVkXG4gIC8vIGNvbXBvbmVudHMgc28gaXQncyBub3QgdGhhdCBjb21tb24uXG4gIGVuYWJsZUxhenlDb250ZXh0UHJvcGFnYXRpb24gICA7XG5cbiAgaWYgKHNob3VsZFVwZGF0ZSkge1xuICAgIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAgIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG4gICAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNuYXBzaG90O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAodW5yZXNvbHZlZE9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKHVucmVzb2x2ZWRPbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gU25hcHNob3Q7XG4gICAgICB9XG4gICAgfSAvLyBJZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJuZWQgZmFsc2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlXG4gICAgLy8gbWVtb2l6ZWQgcHJvcHMvc3RhdGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHdvcmsgY2FuIGJlIHJldXNlZC5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IG5ld1Byb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBVcGRhdGUgdGhlIGV4aXN0aW5nIGluc3RhbmNlJ3Mgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCBwb2ludGVycyBldmVuXG4gIC8vIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlLlxuXG5cbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcbiAgaW5zdGFuY2Uuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgaW5zdGFuY2UuY29udGV4dCA9IG5leHRDb250ZXh0O1xuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG52YXIgZGlkV2FybkFib3V0TWFwcztcbnZhciBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nO1xudmFyIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZztcblxudmFyIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkLCByZXR1cm5GaWJlcikge307XG5cbntcbiAgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xuICBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzID0gZmFsc2U7XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbiAgLyoqXG4gICAqIFdhcm4gaWYgdGhlcmUncyBubyBrZXkgZXhwbGljaXRseSBzZXQgb24gZHluYW1pYyBhcnJheXMgb2YgY2hpbGRyZW4gb3JcbiAgICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gICAqIHVwZGF0ZXMuXG4gICAqL1xuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmcgPSB7fTtcblxuICB3YXJuRm9yTWlzc2luZ0tleSA9IGZ1bmN0aW9uIChjaGlsZCwgcmV0dXJuRmliZXIpIHtcbiAgICBpZiAoY2hpbGQgPT09IG51bGwgfHwgdHlwZW9mIGNoaWxkICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghY2hpbGQuX3N0b3JlIHx8IGNoaWxkLl9zdG9yZS52YWxpZGF0ZWQgfHwgY2hpbGQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNoaWxkLl9zdG9yZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QgQ29tcG9uZW50IGluIHdhcm5Gb3JNaXNzaW5nS2V5IHNob3VsZCBoYXZlIGEgX3N0b3JlLiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgY2hpbGQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlICcgKyAnXCJrZXlcIiBwcm9wLiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3dhcm5pbmcta2V5cyBmb3IgJyArICdtb3JlIGluZm9ybWF0aW9uLicpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjb2VyY2VSZWYocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQpIHtcbiAgdmFyIG1peGVkUmVmID0gZWxlbWVudC5yZWY7XG5cbiAgaWYgKG1peGVkUmVmICE9PSBudWxsICYmIHR5cGVvZiBtaXhlZFJlZiAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgbWl4ZWRSZWYgIT09ICdvYmplY3QnKSB7XG4gICAge1xuICAgICAgLy8gVE9ETzogQ2xlYW4gdGhpcyB1cCBvbmNlIHdlIHR1cm4gb24gdGhlIHN0cmluZyByZWYgd2FybmluZyBmb3JcbiAgICAgIC8vIGV2ZXJ5b25lLCBiZWNhdXNlIHRoZSBzdHJpY3QgbW9kZSBjYXNlIHdpbGwgbm8gbG9uZ2VyIGJlIHJlbGV2YW50XG4gICAgICBpZiAoKHJldHVybkZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlIHx8IHdhcm5BYm91dFN0cmluZ1JlZnMpICYmIC8vIFdlIHdhcm4gaW4gUmVhY3RFbGVtZW50LmpzIGlmIG93bmVyIGFuZCBzZWxmIGFyZSBlcXVhbCBmb3Igc3RyaW5nIHJlZnNcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uXG4gICAgICAvLyB1c2luZyBhIGNvZGVtb2QuIFRoZXJlZm9yZSwgd2UgZG9uJ3QgaGF2ZSB0byB3YXJuIGFib3V0IHN0cmluZyByZWZzIGFnYWluLlxuICAgICAgIShlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9zZWxmICYmIGVsZW1lbnQuX293bmVyLnN0YXRlTm9kZSAhPT0gZWxlbWVudC5fc2VsZikpIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlcnJvcignQSBzdHJpbmcgcmVmLCBcIiVzXCIsIGhhcyBiZWVuIGZvdW5kIHdpdGhpbiBhIHN0cmljdCBtb2RlIHRyZWUuICcgKyAnU3RyaW5nIHJlZnMgYXJlIGEgc291cmNlIG9mIHBvdGVudGlhbCBidWdzIGFuZCBzaG91bGQgYmUgYXZvaWRlZC4gJyArICdXZSByZWNvbW1lbmQgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBtaXhlZFJlZik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC5fb3duZXIpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIGluc3Q7XG5cbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICB2YXIgb3duZXJGaWJlciA9IG93bmVyO1xuXG4gICAgICAgIGlmIChvd25lckZpYmVyLnRhZyAhPT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIGNvbXBvbmVudHMgY2Fubm90IGhhdmUgc3RyaW5nIHJlZnMuICcgKyAnV2UgcmVjb21tZW5kIHVzaW5nIHVzZVJlZigpIGluc3RlYWQuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zdHJpY3QtbW9kZS1zdHJpbmctcmVmJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnN0ID0gb3duZXJGaWJlci5zdGF0ZU5vZGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghaW5zdCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIG93bmVyIGZvciBzdHJpbmcgcmVmIFwiICsgbWl4ZWRSZWYgKyBcIi4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgXCIgKyAnYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH0gLy8gQXNzaWduaW5nIHRoaXMgdG8gYSBjb25zdCBzbyBGbG93IGtub3dzIGl0IHdvbid0IGNoYW5nZSBpbiB0aGUgY2xvc3VyZVxuXG5cbiAgICAgIHZhciByZXNvbHZlZEluc3QgPSBpbnN0O1xuXG4gICAgICB7XG4gICAgICAgIGNoZWNrUHJvcFN0cmluZ0NvZXJjaW9uKG1peGVkUmVmLCAncmVmJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBzdHJpbmdSZWYgPSAnJyArIG1peGVkUmVmOyAvLyBDaGVjayBpZiBwcmV2aW91cyBzdHJpbmcgcmVmIG1hdGNoZXMgbmV3IHN0cmluZyByZWZcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5yZWYgIT09IG51bGwgJiYgdHlwZW9mIGN1cnJlbnQucmVmID09PSAnZnVuY3Rpb24nICYmIGN1cnJlbnQucmVmLl9zdHJpbmdSZWYgPT09IHN0cmluZ1JlZikge1xuICAgICAgICByZXR1cm4gY3VycmVudC5yZWY7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWYgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIHJlZnMgPSByZXNvbHZlZEluc3QucmVmcztcblxuICAgICAgICBpZiAocmVmcyA9PT0gZW1wdHlSZWZzT2JqZWN0KSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBhIGxhenkgcG9vbGVkIGZyb3plbiBvYmplY3QsIHNvIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZS5cbiAgICAgICAgICByZWZzID0gcmVzb2x2ZWRJbnN0LnJlZnMgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGRlbGV0ZSByZWZzW3N0cmluZ1JlZl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVmc1tzdHJpbmdSZWZdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJlZi5fc3RyaW5nUmVmID0gc3RyaW5nUmVmO1xuICAgICAgcmV0dXJuIHJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiBtaXhlZFJlZiAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCByZWYgdG8gYmUgYSBmdW5jdGlvbiwgYSBzdHJpbmcsIGFuIG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVSZWYoKSwgb3IgbnVsbC4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFlbGVtZW50Ll9vd25lcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IHJlZiB3YXMgc3BlY2lmaWVkIGFzIGEgc3RyaW5nIChcIiArIG1peGVkUmVmICsgXCIpIGJ1dCBubyBvd25lciB3YXMgc2V0LiBUaGlzIGNvdWxkIGhhcHBlbiBmb3Igb25lIG9mXCIgKyAnIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcXG4nICsgJzEuIFlvdSBtYXkgYmUgYWRkaW5nIGEgcmVmIHRvIGEgZnVuY3Rpb24gY29tcG9uZW50XFxuJyArIFwiMi4gWW91IG1heSBiZSBhZGRpbmcgYSByZWYgdG8gYSBjb21wb25lbnQgdGhhdCB3YXMgbm90IGNyZWF0ZWQgaW5zaWRlIGEgY29tcG9uZW50J3MgcmVuZGVyIG1ldGhvZFxcblwiICsgJzMuIFlvdSBoYXZlIG11bHRpcGxlIGNvcGllcyBvZiBSZWFjdCBsb2FkZWRcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVmcy1tdXN0LWhhdmUtb3duZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1peGVkUmVmO1xufVxuXG5mdW5jdGlvbiB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKSB7XG4gIHZhciBjaGlsZFN0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXdDaGlsZCk7XG4gIHRocm93IG5ldyBFcnJvcihcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXCIgKyAoY2hpbGRTdHJpbmcgPT09ICdbb2JqZWN0IE9iamVjdF0nID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhuZXdDaGlsZCkuam9pbignLCAnKSArICd9JyA6IGNoaWxkU3RyaW5nKSArIFwiKS4gXCIgKyAnSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSAnICsgJ2luc3RlYWQuJyk7XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkZ1bmN0aW9uVHlwZShyZXR1cm5GaWJlcikge1xuICB7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmdbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmdbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0Z1bmN0aW9ucyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQuIFRoaXMgbWF5IGhhcHBlbiBpZiAnICsgJ3lvdSByZXR1cm4gYSBDb21wb25lbnQgaW5zdGVhZCBvZiA8Q29tcG9uZW50IC8+IGZyb20gcmVuZGVyLiAnICsgJ09yIG1heWJlIHlvdSBtZWFudCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gcmV0dXJuIGl0LicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVMYXp5KGxhenlUeXBlKSB7XG4gIHZhciBwYXlsb2FkID0gbGF6eVR5cGUuX3BheWxvYWQ7XG4gIHZhciBpbml0ID0gbGF6eVR5cGUuX2luaXQ7XG4gIHJldHVybiBpbml0KHBheWxvYWQpO1xufSAvLyBUaGlzIHdyYXBwZXIgZnVuY3Rpb24gZXhpc3RzIGJlY2F1c2UgSSBleHBlY3QgdG8gY2xvbmUgdGhlIGNvZGUgaW4gZWFjaCBwYXRoXG4vLyB0byBiZSBhYmxlIHRvIG9wdGltaXplIGVhY2ggcGF0aCBpbmRpdmlkdWFsbHkgYnkgYnJhbmNoaW5nIGVhcmx5LiBUaGlzIG5lZWRzXG4vLyBhIGNvbXBpbGVyIG9yIHdlIGNhbiBkbyBpdCBtYW51YWxseS4gSGVscGVycyB0aGF0IGRvbid0IG5lZWQgdGhpcyBicmFuY2hpbmdcbi8vIGxpdmUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLlxuXG5cbmZ1bmN0aW9uIENoaWxkUmVjb25jaWxlcihzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gIGZ1bmN0aW9uIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZFRvRGVsZXRlKSB7XG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBOb29wLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBkZWxldGlvbnMgPSByZXR1cm5GaWJlci5kZWxldGlvbnM7XG5cbiAgICBpZiAoZGVsZXRpb25zID09PSBudWxsKSB7XG4gICAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBbY2hpbGRUb0RlbGV0ZV07XG4gICAgICByZXR1cm5GaWJlci5mbGFncyB8PSBDaGlsZERlbGV0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGlvbnMucHVzaChjaGlsZFRvRGVsZXRlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpIHtcbiAgICBpZiAoIXNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgIC8vIE5vb3AuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IC8vIFRPRE86IEZvciB0aGUgc2hvdWxkQ2xvbmUgY2FzZSwgdGhpcyBjb3VsZCBiZSBtaWNyby1vcHRpbWl6ZWQgYSBiaXQgYnlcbiAgICAvLyBhc3N1bWluZyB0aGF0IGFmdGVyIHRoZSBmaXJzdCBjaGlsZCB3ZSd2ZSBhbHJlYWR5IGFkZGVkIGV2ZXJ5dGhpbmcuXG5cblxuICAgIHZhciBjaGlsZFRvRGVsZXRlID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGRUb0RlbGV0ZSAhPT0gbnVsbCkge1xuICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkVG9EZWxldGUpO1xuICAgICAgY2hpbGRUb0RlbGV0ZSA9IGNoaWxkVG9EZWxldGUuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCkge1xuICAgIC8vIEFkZCB0aGUgcmVtYWluaW5nIGNoaWxkcmVuIHRvIGEgdGVtcG9yYXJ5IG1hcCBzbyB0aGF0IHdlIGNhbiBmaW5kIHRoZW0gYnlcbiAgICAvLyBrZXlzIHF1aWNrbHkuIEltcGxpY2l0IChudWxsKSBrZXlzIGdldCBhZGRlZCB0byB0aGlzIHNldCB3aXRoIHRoZWlyIGluZGV4XG4gICAgLy8gaW5zdGVhZC5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG5ldyBNYXAoKTtcbiAgICB2YXIgZXhpc3RpbmdDaGlsZCA9IGN1cnJlbnRGaXJzdENoaWxkO1xuXG4gICAgd2hpbGUgKGV4aXN0aW5nQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGlmIChleGlzdGluZ0NoaWxkLmtleSAhPT0gbnVsbCkge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmtleSwgZXhpc3RpbmdDaGlsZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmluZGV4LCBleGlzdGluZ0NoaWxkKTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdDaGlsZCA9IGV4aXN0aW5nQ2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gZXhpc3RpbmdDaGlsZHJlbjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVzZUZpYmVyKGZpYmVyLCBwZW5kaW5nUHJvcHMpIHtcbiAgICAvLyBXZSBjdXJyZW50bHkgc2V0IHNpYmxpbmcgdG8gbnVsbCBhbmQgaW5kZXggdG8gMCBoZXJlIGJlY2F1c2UgaXQgaXMgZWFzeVxuICAgIC8vIHRvIGZvcmdldCB0byBkbyBiZWZvcmUgcmV0dXJuaW5nIGl0LiBFLmcuIGZvciB0aGUgc2luZ2xlIGNoaWxkIGNhc2UuXG4gICAgdmFyIGNsb25lID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoZmliZXIsIHBlbmRpbmdQcm9wcyk7XG4gICAgY2xvbmUuaW5kZXggPSAwO1xuICAgIGNsb25lLnNpYmxpbmcgPSBudWxsO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SW5kZXgpIHtcbiAgICBuZXdGaWJlci5pbmRleCA9IG5ld0luZGV4O1xuXG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBEdXJpbmcgaHlkcmF0aW9uLCB0aGUgdXNlSWQgYWxnb3JpdGhtIG5lZWRzIHRvIGtub3cgd2hpY2ggZmliZXJzIGFyZVxuICAgICAgLy8gcGFydCBvZiBhIGxpc3Qgb2YgY2hpbGRyZW4gKGFycmF5cywgaXRlcmF0b3JzKS5cbiAgICAgIG5ld0ZpYmVyLmZsYWdzIHw9IEZvcmtlZDtcbiAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgfVxuXG4gICAgdmFyIGN1cnJlbnQgPSBuZXdGaWJlci5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgdmFyIG9sZEluZGV4ID0gY3VycmVudC5pbmRleDtcblxuICAgICAgaWYgKG9sZEluZGV4IDwgbGFzdFBsYWNlZEluZGV4KSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBtb3ZlLlxuICAgICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIGl0ZW0gY2FuIHN0YXkgaW4gcGxhY2UuXG4gICAgICAgIHJldHVybiBvbGRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBpcyBhbiBpbnNlcnRpb24uXG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgICByZXR1cm4gbGFzdFBsYWNlZEluZGV4O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlU2luZ2xlQ2hpbGQobmV3RmliZXIpIHtcbiAgICAvLyBUaGlzIGlzIHNpbXBsZXIgZm9yIHRoZSBzaW5nbGUgY2hpbGQgY2FzZS4gV2Ugb25seSBuZWVkIHRvIGRvIGFcbiAgICAvLyBwbGFjZW1lbnQgZm9yIGluc2VydGluZyBuZXcgY2hpbGRyZW4uXG4gICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld0ZpYmVyO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnQsIHRleHRDb250ZW50LCBsYW5lcykge1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQudGFnICE9PSBIb3N0VGV4dCkge1xuICAgICAgLy8gSW5zZXJ0XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVRleHQodGV4dENvbnRlbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlXG4gICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjdXJyZW50LCB0ZXh0Q29udGVudCk7XG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LCBsYW5lcykge1xuICAgIHZhciBlbGVtZW50VHlwZSA9IGVsZW1lbnQudHlwZTtcblxuICAgIGlmIChlbGVtZW50VHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LnByb3BzLmNoaWxkcmVuLCBsYW5lcywgZWxlbWVudC5rZXkpO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBpZiAoY3VycmVudC5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGUgfHwgKCAvLyBLZWVwIHRoaXMgY2hlY2sgaW5saW5lIHNvIGl0IG9ubHkgcnVucyBvbiB0aGUgZmFsc2UgcGF0aDpcbiAgICAgICBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoY3VycmVudCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgIC8vIFdlIG5lZWQgdG8gZG8gdGhpcyBhZnRlciB0aGUgSG90IFJlbG9hZGluZyBjaGVjayBhYm92ZSxcbiAgICAgIC8vIGJlY2F1c2UgaG90IHJlbG9hZGluZyBoYXMgZGlmZmVyZW50IHNlbWFudGljcyB0aGFuIHByb2QgYmVjYXVzZVxuICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgdHlwZW9mIGVsZW1lbnRUeXBlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50VHlwZSAhPT0gbnVsbCAmJiBlbGVtZW50VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFICYmIHJlc29sdmVMYXp5KGVsZW1lbnRUeXBlKSA9PT0gY3VycmVudC50eXBlKSB7XG4gICAgICAgIC8vIE1vdmUgYmFzZWQgb24gaW5kZXhcbiAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgZWxlbWVudC5wcm9wcyk7XG4gICAgICAgIGV4aXN0aW5nLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudCwgZWxlbWVudCk7XG4gICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBleGlzdGluZy5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XG4gICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBleGlzdGluZztcbiAgICAgIH1cbiAgICB9IC8vIEluc2VydFxuXG5cbiAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQoZWxlbWVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmVmID0gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50KTtcbiAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgIHJldHVybiBjcmVhdGVkO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50LCBwb3J0YWwsIGxhbmVzKSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEhvc3RQb3J0YWwgfHwgY3VycmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyAhPT0gcG9ydGFsLmNvbnRhaW5lckluZm8gfHwgY3VycmVudC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gIT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xuICAgICAgLy8gSW5zZXJ0XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChwb3J0YWwsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlXG4gICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjdXJyZW50LCBwb3J0YWwuY2hpbGRyZW4gfHwgW10pO1xuICAgICAgZXhpc3RpbmcucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIGN1cnJlbnQsIGZyYWdtZW50LCBsYW5lcywga2V5KSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEZyYWdtZW50KSB7XG4gICAgICAvLyBJbnNlcnRcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZnJhZ21lbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzLCBrZXkpO1xuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBjcmVhdGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGVcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIGZyYWdtZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJyAmJiBuZXdDaGlsZCAhPT0gJycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMuIElmIHRoZSBwcmV2aW91cyBub2RlIGlzIGltcGxpY2l0bHkga2V5ZWRcbiAgICAgIC8vIHdlIGNhbiBjb250aW51ZSB0byByZXBsYWNlIGl0IHdpdGhvdXQgYWJvcnRpbmcgZXZlbiBpZiBpdCBpcyBub3QgYSB0ZXh0XG4gICAgICAvLyBub2RlLlxuICAgICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21UZXh0KCcnICsgbmV3Q2hpbGQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX2NyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBsYW5lcyk7XG5cbiAgICAgICAgICAgIF9jcmVhdGVkLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgbnVsbCwgbmV3Q2hpbGQpO1xuICAgICAgICAgICAgX2NyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9jcmVhdGVkMiA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuXG4gICAgICAgICAgICBfY3JlYXRlZDIucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQyO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcGF5bG9hZCA9IG5ld0NoaWxkLl9wYXlsb2FkO1xuICAgICAgICAgICAgdmFyIGluaXQgPSBuZXdDaGlsZC5faW5pdDtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVDaGlsZChyZXR1cm5GaWJlciwgaW5pdChwYXlsb2FkKSwgbGFuZXMpO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIHZhciBfY3JlYXRlZDMgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMsIG51bGwpO1xuXG4gICAgICAgIF9jcmVhdGVkMy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgICAgcmV0dXJuIF9jcmVhdGVkMztcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBsYW5lcykge1xuICAgIC8vIFVwZGF0ZSB0aGUgZmliZXIgaWYgdGhlIGtleXMgbWF0Y2gsIG90aGVyd2lzZSByZXR1cm4gbnVsbC5cbiAgICB2YXIga2V5ID0gb2xkRmliZXIgIT09IG51bGwgPyBvbGRGaWJlci5rZXkgOiBudWxsO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgJiYgbmV3Q2hpbGQgIT09ICcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIC8vIFRleHQgbm9kZXMgZG9uJ3QgaGF2ZSBrZXlzLiBJZiB0aGUgcHJldmlvdXMgbm9kZSBpcyBpbXBsaWNpdGx5IGtleWVkXG4gICAgICAvLyB3ZSBjYW4gY29udGludWUgdG8gcmVwbGFjZSBpdCB3aXRob3V0IGFib3J0aW5nIGV2ZW4gaWYgaXQgaXMgbm90IGEgdGV4dFxuICAgICAgLy8gbm9kZS5cbiAgICAgIGlmIChrZXkgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1cGRhdGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgb2xkRmliZXIsICcnICsgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAobmV3Q2hpbGQua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKG5ld0NoaWxkLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgICAgIHJldHVybiB1cGRhdGVQb3J0YWwocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBwYXlsb2FkID0gbmV3Q2hpbGQuX3BheWxvYWQ7XG4gICAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0O1xuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBpbml0KHBheWxvYWQpLCBsYW5lcyk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaXNBcnJheShuZXdDaGlsZCkgfHwgZ2V0SXRlcmF0b3JGbihuZXdDaGlsZCkpIHtcbiAgICAgICAgaWYgKGtleSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGxhbmVzLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJvbU1hcChleGlzdGluZ0NoaWxkcmVuLCByZXR1cm5GaWJlciwgbmV3SWR4LCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJyAmJiBuZXdDaGlsZCAhPT0gJycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMsIHNvIHdlIG5laXRoZXIgaGF2ZSB0byBjaGVjayB0aGUgb2xkIG5vclxuICAgICAgLy8gbmV3IG5vZGUgZm9yIHRoZSBrZXkuIElmIGJvdGggYXJlIHRleHQgbm9kZXMsIHRoZXkgbWF0Y2guXG4gICAgICB2YXIgbWF0Y2hlZEZpYmVyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3SWR4KSB8fCBudWxsO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRleHROb2RlKHJldHVybkZpYmVyLCBtYXRjaGVkRmliZXIsICcnICsgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX21hdGNoZWRGaWJlciA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0NoaWxkLmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IG5ld0NoaWxkLmtleSkgfHwgbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9tYXRjaGVkRmliZXIyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3Q2hpbGQua2V5ID09PSBudWxsID8gbmV3SWR4IDogbmV3Q2hpbGQua2V5KSB8fCBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyMiwgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0O1xuICAgICAgICAgIHJldHVybiB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIGluaXQocGF5bG9hZCksIGxhbmVzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIHZhciBfbWF0Y2hlZEZpYmVyMyA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0lkeCkgfHwgbnVsbDtcblxuICAgICAgICByZXR1cm4gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIzLCBuZXdDaGlsZCwgbGFuZXMsIG51bGwpO1xuICAgICAgfVxuXG4gICAgICB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHdhcm5PbkZ1bmN0aW9uVHlwZShyZXR1cm5GaWJlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIFdhcm5zIGlmIHRoZXJlIGlzIGEgZHVwbGljYXRlIG9yIG1pc3Npbmcga2V5XG4gICAqL1xuXG5cbiAgZnVuY3Rpb24gd2Fybk9uSW52YWxpZEtleShjaGlsZCwga25vd25LZXlzLCByZXR1cm5GaWJlcikge1xuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGQgIT09ICdvYmplY3QnIHx8IGNoaWxkID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBrbm93bktleXM7XG4gICAgICB9XG5cbiAgICAgIHN3aXRjaCAoY2hpbGQuJCR0eXBlb2YpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgd2FybkZvck1pc3NpbmdLZXkoY2hpbGQsIHJldHVybkZpYmVyKTtcbiAgICAgICAgICB2YXIga2V5ID0gY2hpbGQua2V5O1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoa25vd25LZXlzID09PSBudWxsKSB7XG4gICAgICAgICAgICBrbm93bktleXMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICBrbm93bktleXMuYWRkKGtleSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWtub3duS2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgICAga25vd25LZXlzLmFkZChrZXkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXJyb3IoJ0VuY291bnRlcmVkIHR3byBjaGlsZHJlbiB3aXRoIHRoZSBzYW1lIGtleSwgYCVzYC4gJyArICdLZXlzIHNob3VsZCBiZSB1bmlxdWUgc28gdGhhdCBjb21wb25lbnRzIG1haW50YWluIHRoZWlyIGlkZW50aXR5ICcgKyAnYWNyb3NzIHVwZGF0ZXMuIE5vbi11bmlxdWUga2V5cyBtYXkgY2F1c2UgY2hpbGRyZW4gdG8gYmUgJyArICdkdXBsaWNhdGVkIGFuZC9vciBvbWl0dGVkIOKAlCB0aGUgYmVoYXZpb3IgaXMgdW5zdXBwb3J0ZWQgYW5kICcgKyAnY291bGQgY2hhbmdlIGluIGEgZnV0dXJlIHZlcnNpb24uJywga2V5KTtcblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgIHZhciBwYXlsb2FkID0gY2hpbGQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBjaGlsZC5faW5pdDtcbiAgICAgICAgICB3YXJuT25JbnZhbGlkS2V5KGluaXQocGF5bG9hZCksIGtub3duS2V5cywgcmV0dXJuRmliZXIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBrbm93bktleXM7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkFycmF5KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW4sIGxhbmVzKSB7XG4gICAgLy8gVGhpcyBhbGdvcml0aG0gY2FuJ3Qgb3B0aW1pemUgYnkgc2VhcmNoaW5nIGZyb20gYm90aCBlbmRzIHNpbmNlIHdlXG4gICAgLy8gZG9uJ3QgaGF2ZSBiYWNrcG9pbnRlcnMgb24gZmliZXJzLiBJJ20gdHJ5aW5nIHRvIHNlZSBob3cgZmFyIHdlIGNhbiBnZXRcbiAgICAvLyB3aXRoIHRoYXQgbW9kZWwuIElmIGl0IGVuZHMgdXAgbm90IGJlaW5nIHdvcnRoIHRoZSB0cmFkZW9mZnMsIHdlIGNhblxuICAgIC8vIGFkZCBpdCBsYXRlci5cbiAgICAvLyBFdmVuIHdpdGggYSB0d28gZW5kZWQgb3B0aW1pemF0aW9uLCB3ZSdkIHdhbnQgdG8gb3B0aW1pemUgZm9yIHRoZSBjYXNlXG4gICAgLy8gd2hlcmUgdGhlcmUgYXJlIGZldyBjaGFuZ2VzIGFuZCBicnV0ZSBmb3JjZSB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mXG4gICAgLy8gZ29pbmcgZm9yIHRoZSBNYXAuIEl0J2QgbGlrZSB0byBleHBsb3JlIGhpdHRpbmcgdGhhdCBwYXRoIGZpcnN0IGluXG4gICAgLy8gZm9yd2FyZC1vbmx5IG1vZGUgYW5kIG9ubHkgZ28gZm9yIHRoZSBNYXAgb25jZSB3ZSBub3RpY2UgdGhhdCB3ZSBuZWVkXG4gICAgLy8gbG90cyBvZiBsb29rIGFoZWFkLiBUaGlzIGRvZXNuJ3QgaGFuZGxlIHJldmVyc2FsIGFzIHdlbGwgYXMgdHdvIGVuZGVkXG4gICAgLy8gc2VhcmNoIGJ1dCB0aGF0J3MgdW51c3VhbC4gQmVzaWRlcywgZm9yIHRoZSB0d28gZW5kZWQgb3B0aW1pemF0aW9uIHRvXG4gICAgLy8gd29yayBvbiBJdGVyYWJsZXMsIHdlJ2QgbmVlZCB0byBjb3B5IHRoZSB3aG9sZSBzZXQuXG4gICAgLy8gSW4gdGhpcyBmaXJzdCBpdGVyYXRpb24sIHdlJ2xsIGp1c3QgbGl2ZSB3aXRoIGhpdHRpbmcgdGhlIGJhZCBjYXNlXG4gICAgLy8gKGFkZGluZyBldmVyeXRoaW5nIHRvIGEgTWFwKSBpbiBmb3IgZXZlcnkgaW5zZXJ0L21vdmUuXG4gICAgLy8gSWYgeW91IGNoYW5nZSB0aGlzIGNvZGUsIGFsc28gdXBkYXRlIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IoKSB3aGljaFxuICAgIC8vIHVzZXMgdGhlIHNhbWUgYWxnb3JpdGhtLlxuICAgIHtcbiAgICAgIC8vIEZpcnN0LCB2YWxpZGF0ZSBrZXlzLlxuICAgICAgdmFyIGtub3duS2V5cyA9IG51bGw7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoaWxkID0gbmV3Q2hpbGRyZW5baV07XG4gICAgICAgIGtub3duS2V5cyA9IHdhcm5PbkludmFsaWRLZXkoY2hpbGQsIGtub3duS2V5cywgcmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByZXN1bHRpbmdGaXJzdENoaWxkID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNOZXdGaWJlciA9IG51bGw7XG4gICAgdmFyIG9sZEZpYmVyID0gY3VycmVudEZpcnN0Q2hpbGQ7XG4gICAgdmFyIGxhc3RQbGFjZWRJbmRleCA9IDA7XG4gICAgdmFyIG5ld0lkeCA9IDA7XG4gICAgdmFyIG5leHRPbGRGaWJlciA9IG51bGw7XG5cbiAgICBmb3IgKDsgb2xkRmliZXIgIT09IG51bGwgJiYgbmV3SWR4IDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBuZXdJZHgrKykge1xuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyO1xuICAgICAgICBvbGRGaWJlciA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlci5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICB2YXIgbmV3RmliZXIgPSB1cGRhdGVTbG90KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICBpZiAobmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBicmVha3Mgb24gZW1wdHkgc2xvdHMgbGlrZSBudWxsIGNoaWxkcmVuLiBUaGF0J3NcbiAgICAgICAgLy8gdW5mb3J0dW5hdGUgYmVjYXVzZSBpdCB0cmlnZ2VycyB0aGUgc2xvdyBwYXRoIGFsbCB0aGUgdGltZS4gV2UgbmVlZFxuICAgICAgICAvLyBhIGJldHRlciB3YXkgdG8gY29tbXVuaWNhdGUgd2hldGhlciB0aGlzIHdhcyBhIG1pc3Mgb3IgbnVsbCxcbiAgICAgICAgLy8gYm9vbGVhbiwgdW5kZWZpbmVkLCBldGMuXG4gICAgICAgIGlmIChvbGRGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAgIGlmIChvbGRGaWJlciAmJiBuZXdGaWJlci5hbHRlcm5hdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSBtYXRjaGVkIHRoZSBzbG90LCBidXQgd2UgZGlkbid0IHJldXNlIHRoZSBleGlzdGluZyBmaWJlciwgc28gd2VcbiAgICAgICAgICAvLyBuZWVkIHRvIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2hpbGQuXG4gICAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIG9sZEZpYmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKG5ld0ZpYmVyLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIC8vIFRPRE86IE1vdmUgb3V0IG9mIHRoZSBsb29wLiBUaGlzIG9ubHkgaGFwcGVucyBmb3IgdGhlIGZpcnN0IHJ1bi5cbiAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG5ld0ZpYmVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVE9ETzogRGVmZXIgc2libGluZ3MgaWYgd2UncmUgbm90IGF0IHRoZSByaWdodCBpbmRleCBmb3IgdGhpcyBzbG90LlxuICAgICAgICAvLyBJLmUuIGlmIHdlIGhhZCBudWxsIHZhbHVlcyBiZWZvcmUsIHRoZW4gd2Ugd2FudCB0byBkZWZlciB0aGlzXG4gICAgICAgIC8vIGZvciBlYWNoIG51bGwgdmFsdWUuIEhvd2V2ZXIsIHdlIGFsc28gZG9uJ3Qgd2FudCB0byBjYWxsIHVwZGF0ZVNsb3RcbiAgICAgICAgLy8gd2l0aCB0aGUgcHJldmlvdXMgb25lLlxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBuZXdGaWJlcjtcbiAgICAgIH1cblxuICAgICAgcHJldmlvdXNOZXdGaWJlciA9IG5ld0ZpYmVyO1xuICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgfVxuXG4gICAgaWYgKG5ld0lkeCA9PT0gbmV3Q2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG5cbiAgICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIG51bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cbiAgICAgIGZvciAoOyBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XG4gICAgICAgIHZhciBfbmV3RmliZXIgPSBjcmVhdGVDaGlsZChyZXR1cm5GaWJlciwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICAgIGlmIChfbmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUT0RPOiBNb3ZlIG91dCBvZiB0aGUgbG9vcC4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIHRoZSBmaXJzdCBydW4uXG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBfbmV3RmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSkge1xuICAgICAgICB2YXIgX251bWJlck9mRm9ya3MgPSBuZXdJZHg7XG4gICAgICAgIHB1c2hUcmVlRm9yayhyZXR1cm5GaWJlciwgX251bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxuXG5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cblxuICAgIGZvciAoOyBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XG4gICAgICB2YXIgX25ld0ZpYmVyMiA9IHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICBpZiAoX25ld0ZpYmVyMiAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgICAgIGlmIChfbmV3RmliZXIyLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gVGhlIG5ldyBmaWJlciBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MsIGJ1dCBpZiB0aGVyZSBleGlzdHMgYVxuICAgICAgICAgICAgLy8gY3VycmVudCwgdGhhdCBtZWFucyB0aGF0IHdlIHJldXNlZCB0aGUgZmliZXIuIFdlIG5lZWQgdG8gZGVsZXRlXG4gICAgICAgICAgICAvLyBpdCBmcm9tIHRoZSBjaGlsZCBsaXN0IHNvIHRoYXQgd2UgZG9uJ3QgYWRkIGl0IHRvIHRoZSBkZWxldGlvblxuICAgICAgICAgICAgLy8gbGlzdC5cbiAgICAgICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZGVsZXRlKF9uZXdGaWJlcjIua2V5ID09PSBudWxsID8gbmV3SWR4IDogX25ld0ZpYmVyMi5rZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMiwgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXIyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBBbnkgZXhpc3RpbmcgY2hpbGRyZW4gdGhhdCB3ZXJlbid0IGNvbnN1bWVkIGFib3ZlIHdlcmUgZGVsZXRlZC4gV2UgbmVlZFxuICAgICAgLy8gdG8gYWRkIHRoZW0gdG8gdGhlIGRlbGV0aW9uIGxpc3QuXG4gICAgICBleGlzdGluZ0NoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgIHJldHVybiBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIHZhciBfbnVtYmVyT2ZGb3JrczIgPSBuZXdJZHg7XG4gICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIF9udW1iZXJPZkZvcmtzMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkl0ZXJhdG9yKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW5JdGVyYWJsZSwgbGFuZXMpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBzYW1lIGltcGxlbWVudGF0aW9uIGFzIHJlY29uY2lsZUNoaWxkcmVuQXJyYXkoKSxcbiAgICAvLyBidXQgdXNpbmcgdGhlIGl0ZXJhdG9yIGluc3RlYWQuXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIG9iamVjdCBpcyBub3QgYW4gaXRlcmFibGUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiAnICsgJ1JlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHJlbmRlcmluZyBHZW5lcmF0b3JzIGJlY2F1c2UgaXQncyBhIG11dGF0aW9uLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTI5OTVcbiAgICAgIGlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgdG9TdHJpbmdUYWdcbiAgICAgIG5ld0NoaWxkcmVuSXRlcmFibGVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9PT0gJ0dlbmVyYXRvcicpIHtcbiAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRHZW5lcmF0b3JzKSB7XG4gICAgICAgICAgZXJyb3IoJ1VzaW5nIEdlbmVyYXRvcnMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgKyAndW5leHBlY3RlZCByZXN1bHRzIGJlY2F1c2UgZW51bWVyYXRpbmcgYSBnZW5lcmF0b3IgbXV0YXRlcyBpdC4gJyArICdZb3UgbWF5IGNvbnZlcnQgaXQgdG8gYW4gYXJyYXkgd2l0aCBgQXJyYXkuZnJvbSgpYCBvciB0aGUgJyArICdgWy4uLnNwcmVhZF1gIG9wZXJhdG9yIGJlZm9yZSByZW5kZXJpbmcuIEtlZXAgaW4gbWluZCAnICsgJ3lvdSBtaWdodCBuZWVkIHRvIHBvbHlmaWxsIHRoZXNlIGZlYXR1cmVzIGZvciBvbGRlciBicm93c2Vycy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpZFdhcm5BYm91dEdlbmVyYXRvcnMgPSB0cnVlO1xuICAgICAgfSAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cblxuXG4gICAgICBpZiAobmV3Q2hpbGRyZW5JdGVyYWJsZS5lbnRyaWVzID09PSBpdGVyYXRvckZuKSB7XG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TWFwcykge1xuICAgICAgICAgIGVycm9yKCdVc2luZyBNYXBzIGFzIGNoaWxkcmVuIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnVXNlIGFuIGFycmF5IG9mIGtleWVkIFJlYWN0RWxlbWVudHMgaW5zdGVhZC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpZFdhcm5BYm91dE1hcHMgPSB0cnVlO1xuICAgICAgfSAvLyBGaXJzdCwgdmFsaWRhdGUga2V5cy5cbiAgICAgIC8vIFdlJ2xsIGdldCBhIGRpZmZlcmVudCBpdGVyYXRvciBsYXRlciBmb3IgdGhlIG1haW4gcGFzcy5cblxuXG4gICAgICB2YXIgX25ld0NoaWxkcmVuID0gaXRlcmF0b3JGbi5jYWxsKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xuXG4gICAgICBpZiAoX25ld0NoaWxkcmVuKSB7XG4gICAgICAgIHZhciBrbm93bktleXMgPSBudWxsO1xuXG4gICAgICAgIHZhciBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCk7XG5cbiAgICAgICAgZm9yICg7ICFfc3RlcC5kb25lOyBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCkpIHtcbiAgICAgICAgICB2YXIgY2hpbGQgPSBfc3RlcC52YWx1ZTtcbiAgICAgICAgICBrbm93bktleXMgPSB3YXJuT25JbnZhbGlkS2V5KGNoaWxkLCBrbm93bktleXMsIHJldHVybkZpYmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBuZXdDaGlsZHJlbiA9IGl0ZXJhdG9yRm4uY2FsbChuZXdDaGlsZHJlbkl0ZXJhYmxlKTtcblxuICAgIGlmIChuZXdDaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIGl0ZXJhYmxlIG9iamVjdCBwcm92aWRlZCBubyBpdGVyYXRvci4nKTtcbiAgICB9XG5cbiAgICB2YXIgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG51bGw7XG4gICAgdmFyIHByZXZpb3VzTmV3RmliZXIgPSBudWxsO1xuICAgIHZhciBvbGRGaWJlciA9IGN1cnJlbnRGaXJzdENoaWxkO1xuICAgIHZhciBsYXN0UGxhY2VkSW5kZXggPSAwO1xuICAgIHZhciBuZXdJZHggPSAwO1xuICAgIHZhciBuZXh0T2xkRmliZXIgPSBudWxsO1xuICAgIHZhciBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpO1xuXG4gICAgZm9yICg7IG9sZEZpYmVyICE9PSBudWxsICYmICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XG4gICAgICBpZiAob2xkRmliZXIuaW5kZXggPiBuZXdJZHgpIHtcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXI7XG4gICAgICAgIG9sZEZpYmVyID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXdGaWJlciA9IHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBzdGVwLnZhbHVlLCBsYW5lcyk7XG5cbiAgICAgIGlmIChuZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGJyZWFrcyBvbiBlbXB0eSBzbG90cyBsaWtlIG51bGwgY2hpbGRyZW4uIFRoYXQnc1xuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXG4gICAgICAgIC8vIGEgYmV0dGVyIHdheSB0byBjb21tdW5pY2F0ZSB3aGV0aGVyIHRoaXMgd2FzIGEgbWlzcyBvciBudWxsLFxuICAgICAgICAvLyBib29sZWFuLCB1bmRlZmluZWQsIGV0Yy5cbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgaWYgKG9sZEZpYmVyICYmIG5ld0ZpYmVyLmFsdGVybmF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxuICAgICAgICAgIC8vIG5lZWQgdG8gZGVsZXRlIHRoZSBleGlzdGluZyBjaGlsZC5cbiAgICAgICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgb2xkRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gbmV3RmliZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXG4gICAgICAgIC8vIEkuZS4gaWYgd2UgaGFkIG51bGwgdmFsdWVzIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIGRlZmVyIHRoaXNcbiAgICAgICAgLy8gZm9yIGVhY2ggbnVsbCB2YWx1ZS4gSG93ZXZlciwgd2UgYWxzbyBkb24ndCB3YW50IHRvIGNhbGwgdXBkYXRlU2xvdFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IG5ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBwcmV2aW91c05ld0ZpYmVyID0gbmV3RmliZXI7XG4gICAgICBvbGRGaWJlciA9IG5leHRPbGRGaWJlcjtcbiAgICB9XG5cbiAgICBpZiAoc3RlcC5kb25lKSB7XG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG5cbiAgICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIG51bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cbiAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgICB2YXIgX25ld0ZpYmVyMyA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBzdGVwLnZhbHVlLCBsYW5lcyk7XG5cbiAgICAgICAgaWYgKF9uZXdGaWJlcjMgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMywgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXIzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjM7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyMztcbiAgICAgIH1cblxuICAgICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgICAgdmFyIF9udW1iZXJPZkZvcmtzMyA9IG5ld0lkeDtcbiAgICAgICAgcHVzaFRyZWVGb3JrKHJldHVybkZpYmVyLCBfbnVtYmVyT2ZGb3JrczMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxuXG5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cblxuICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgdmFyIF9uZXdGaWJlcjQgPSB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIHN0ZXAudmFsdWUsIGxhbmVzKTtcblxuICAgICAgaWYgKF9uZXdGaWJlcjQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgICBpZiAoX25ld0ZpYmVyNC5hbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIFRoZSBuZXcgZmliZXIgaXMgYSB3b3JrIGluIHByb2dyZXNzLCBidXQgaWYgdGhlcmUgZXhpc3RzIGFcbiAgICAgICAgICAgIC8vIGN1cnJlbnQsIHRoYXQgbWVhbnMgdGhhdCB3ZSByZXVzZWQgdGhlIGZpYmVyLiBXZSBuZWVkIHRvIGRlbGV0ZVxuICAgICAgICAgICAgLy8gaXQgZnJvbSB0aGUgY2hpbGQgbGlzdCBzbyB0aGF0IHdlIGRvbid0IGFkZCBpdCB0byB0aGUgZGVsZXRpb25cbiAgICAgICAgICAgIC8vIGxpc3QuXG4gICAgICAgICAgICBleGlzdGluZ0NoaWxkcmVuLmRlbGV0ZShfbmV3RmliZXI0LmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IF9uZXdGaWJlcjQua2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlcjQsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXI0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjQ7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgLy8gQW55IGV4aXN0aW5nIGNoaWxkcmVuIHRoYXQgd2VyZW4ndCBjb25zdW1lZCBhYm92ZSB3ZXJlIGRlbGV0ZWQuIFdlIG5lZWRcbiAgICAgIC8vIHRvIGFkZCB0aGVtIHRvIHRoZSBkZWxldGlvbiBsaXN0LlxuICAgICAgZXhpc3RpbmdDaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICByZXR1cm4gZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICB2YXIgX251bWJlck9mRm9ya3M0ID0gbmV3SWR4O1xuICAgICAgcHVzaFRyZWVGb3JrKHJldHVybkZpYmVyLCBfbnVtYmVyT2ZGb3JrczQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlU2luZ2xlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCB0ZXh0Q29udGVudCwgbGFuZXMpIHtcbiAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGtleXMgb24gdGV4dCBub2RlcyBzaW5jZSB3ZSBkb24ndCBoYXZlIGFcbiAgICAvLyB3YXkgdG8gZGVmaW5lIHRoZW0uXG4gICAgaWYgKGN1cnJlbnRGaXJzdENoaWxkICE9PSBudWxsICYmIGN1cnJlbnRGaXJzdENoaWxkLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBleGlzdGluZyBub2RlIHNvIGxldCdzIGp1c3QgdXBkYXRlIGl0IGFuZCBkZWxldGVcbiAgICAgIC8vIHRoZSByZXN0LlxuICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLnNpYmxpbmcpO1xuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudEZpcnN0Q2hpbGQsIHRleHRDb250ZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH0gLy8gVGhlIGV4aXN0aW5nIGZpcnN0IGNoaWxkIGlzIG5vdCBhIHRleHQgbm9kZSBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmVcbiAgICAvLyBhbmQgZGVsZXRlIHRoZSBleGlzdGluZyBvbmVzLlxuXG5cbiAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpO1xuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tVGV4dCh0ZXh0Q29udGVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgcmV0dXJuIGNyZWF0ZWQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgZWxlbWVudCwgbGFuZXMpIHtcbiAgICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSBlbGVtZW50LnR5cGU7XG5cbiAgICAgICAgaWYgKGVsZW1lbnRUeXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLnRhZyA9PT0gRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcbiAgICAgICAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcbiAgICAgICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoY2hpbGQuZWxlbWVudFR5cGUgPT09IGVsZW1lbnRUeXBlIHx8ICggLy8gS2VlcCB0aGlzIGNoZWNrIGlubGluZSBzbyBpdCBvbmx5IHJ1bnMgb24gdGhlIGZhbHNlIHBhdGg6XG4gICAgICAgICAgIGlzQ29tcGF0aWJsZUZhbWlseUZvckhvdFJlbG9hZGluZyhjaGlsZCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRvIHRoaXMgYWZ0ZXIgdGhlIEhvdCBSZWxvYWRpbmcgY2hlY2sgYWJvdmUsXG4gICAgICAgICAgLy8gYmVjYXVzZSBob3QgcmVsb2FkaW5nIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIHRoYW4gcHJvZCBiZWNhdXNlXG4gICAgICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgICAgIHR5cGVvZiBlbGVtZW50VHlwZSA9PT0gJ29iamVjdCcgJiYgZWxlbWVudFR5cGUgIT09IG51bGwgJiYgZWxlbWVudFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSAmJiByZXNvbHZlTGF6eShlbGVtZW50VHlwZSkgPT09IGNoaWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcblxuICAgICAgICAgICAgdmFyIF9leGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzKTtcblxuICAgICAgICAgICAgX2V4aXN0aW5nLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY2hpbGQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgX2V4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9leGlzdGluZy5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XG4gICAgICAgICAgICAgIF9leGlzdGluZy5fZGVidWdPd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gX2V4aXN0aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBEaWRuJ3QgbWF0Y2guXG5cblxuICAgICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC50eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGVsZW1lbnQucHJvcHMuY2hpbGRyZW4sIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzLCBlbGVtZW50LmtleSk7XG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGNyZWF0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY3JlYXRlZDQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KGVsZW1lbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcblxuICAgICAgX2NyZWF0ZWQ0LnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIGVsZW1lbnQpO1xuICAgICAgX2NyZWF0ZWQ0LnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIF9jcmVhdGVkNDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVQb3J0YWwocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBwb3J0YWwsIGxhbmVzKSB7XG4gICAgdmFyIGtleSA9IHBvcnRhbC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICBpZiAoY2hpbGQudGFnID09PSBIb3N0UG9ydGFsICYmIGNoaWxkLnN0YXRlTm9kZS5jb250YWluZXJJbmZvID09PSBwb3J0YWwuY29udGFpbmVySW5mbyAmJiBjaGlsZC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gPT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xuICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcbiAgICAgICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjaGlsZCwgcG9ydGFsLmNoaWxkcmVuIHx8IFtdKTtcbiAgICAgICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH1cblxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cblxuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgcmV0dXJuIGNyZWF0ZWQ7XG4gIH0gLy8gVGhpcyBBUEkgd2lsbCB0YWcgdGhlIGNoaWxkcmVuIHdpdGggdGhlIHNpZGUtZWZmZWN0IG9mIHRoZSByZWNvbmNpbGlhdGlvblxuICAvLyBpdHNlbGYuIFRoZXkgd2lsbCBiZSBhZGRlZCB0byB0aGUgc2lkZS1lZmZlY3QgbGlzdCBhcyB3ZSBwYXNzIHRocm91Z2ggdGhlXG4gIC8vIGNoaWxkcmVuIGFuZCB0aGUgcGFyZW50LlxuXG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlQ2hpbGRGaWJlcnMocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG5vdCByZWN1cnNpdmUuXG4gICAgLy8gSWYgdGhlIHRvcCBsZXZlbCBpdGVtIGlzIGFuIGFycmF5LCB3ZSB0cmVhdCBpdCBhcyBhIHNldCBvZiBjaGlsZHJlbixcbiAgICAvLyBub3QgYXMgYSBmcmFnbWVudC4gTmVzdGVkIGFycmF5cyBvbiB0aGUgb3RoZXIgaGFuZCB3aWxsIGJlIHRyZWF0ZWQgYXNcbiAgICAvLyBmcmFnbWVudCBub2Rlcy4gUmVjdXJzaW9uIGhhcHBlbnMgYXQgdGhlIG5vcm1hbCBmbG93LlxuICAgIC8vIEhhbmRsZSB0b3AgbGV2ZWwgdW5rZXllZCBmcmFnbWVudHMgYXMgaWYgdGhleSB3ZXJlIGFycmF5cy5cbiAgICAvLyBUaGlzIGxlYWRzIHRvIGFuIGFtYmlndWl0eSBiZXR3ZWVuIDw+e1suLi5dfTwvPiBhbmQgPD4uLi48Lz4uXG4gICAgLy8gV2UgdHJlYXQgdGhlIGFtYmlndW91cyBjYXNlcyBhYm92ZSB0aGUgc2FtZS5cbiAgICB2YXIgaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCA9IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ29iamVjdCcgJiYgbmV3Q2hpbGQgIT09IG51bGwgJiYgbmV3Q2hpbGQudHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSAmJiBuZXdDaGlsZC5rZXkgPT09IG51bGw7XG5cbiAgICBpZiAoaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCkge1xuICAgICAgbmV3Q2hpbGQgPSBuZXdDaGlsZC5wcm9wcy5jaGlsZHJlbjtcbiAgICB9IC8vIEhhbmRsZSBvYmplY3QgdHlwZXNcblxuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ29iamVjdCcgJiYgbmV3Q2hpbGQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAobmV3Q2hpbGQuJCR0eXBlb2YpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlRWxlbWVudChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcykpO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGQsIGxhbmVzKSk7XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0OyAvLyBUT0RPOiBUaGlzIGZ1bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIG5vbi1yZWN1cnNpdmUuXG5cbiAgICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnMocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBpbml0KHBheWxvYWQpLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0FycmF5KG5ld0NoaWxkKSkge1xuICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5BcnJheShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChnZXRJdGVyYXRvckZuKG5ld0NoaWxkKSkge1xuICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5JdGVyYXRvcihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIHRocm93T25JbnZhbGlkT2JqZWN0VHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnICYmIG5ld0NoaWxkICE9PSAnJyB8fCB0eXBlb2YgbmV3Q2hpbGQgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gcGxhY2VTaW5nbGVDaGlsZChyZWNvbmNpbGVTaW5nbGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsICcnICsgbmV3Q2hpbGQsIGxhbmVzKSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH0gLy8gUmVtYWluaW5nIGNhc2VzIGFyZSBhbGwgdHJlYXRlZCBhcyBlbXB0eS5cblxuXG4gICAgcmV0dXJuIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCk7XG4gIH1cblxuICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnM7XG59XG5cbnZhciByZWNvbmNpbGVDaGlsZEZpYmVycyA9IENoaWxkUmVjb25jaWxlcih0cnVlKTtcbnZhciBtb3VudENoaWxkRmliZXJzID0gQ2hpbGRSZWNvbmNpbGVyKGZhbHNlKTtcbmZ1bmN0aW9uIGNsb25lQ2hpbGRGaWJlcnMoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgIT09IGN1cnJlbnQuY2hpbGQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc3VtaW5nIHdvcmsgbm90IHlldCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9PT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBjdXJyZW50Q2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgdmFyIG5ld0NoaWxkID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcbiAgbmV3Q2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG5cbiAgd2hpbGUgKGN1cnJlbnRDaGlsZC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgY3VycmVudENoaWxkID0gY3VycmVudENoaWxkLnNpYmxpbmc7XG4gICAgbmV3Q2hpbGQgPSBuZXdDaGlsZC5zaWJsaW5nID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgICBuZXdDaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIG5ld0NoaWxkLnNpYmxpbmcgPSBudWxsO1xufSAvLyBSZXNldCBhIHdvcmtJblByb2dyZXNzIGNoaWxkIHNldCB0byBwcmVwYXJlIGl0IGZvciBhIHNlY29uZCBwYXNzLlxuXG5mdW5jdGlvbiByZXNldENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBsYW5lcykge1xuICB2YXIgY2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICByZXNldFdvcmtJblByb2dyZXNzKGNoaWxkLCBsYW5lcyk7XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbnZhciBOT19DT05URVhUID0ge307XG52YXIgY29udGV4dFN0YWNrQ3Vyc29yJDEgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG52YXIgY29udGV4dEZpYmVyU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG52YXIgcm9vdEluc3RhbmNlU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG5cbmZ1bmN0aW9uIHJlcXVpcmVkQ29udGV4dChjKSB7XG4gIGlmIChjID09PSBOT19DT05URVhUKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBob3N0IGNvbnRleHQgdG8gZXhpc3QuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyAnICsgJ2luIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHJldHVybiBjO1xufVxuXG5mdW5jdGlvbiBnZXRSb290SG9zdENvbnRhaW5lcigpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgcmV0dXJuIHJvb3RJbnN0YW5jZTtcbn1cblxuZnVuY3Rpb24gcHVzaEhvc3RDb250YWluZXIoZmliZXIsIG5leHRSb290SW5zdGFuY2UpIHtcbiAgLy8gUHVzaCBjdXJyZW50IHJvb3QgaW5zdGFuY2Ugb250byB0aGUgc3RhY2s7XG4gIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHJlc2V0IHJvb3Qgd2hlbiBwb3J0YWxzIGFyZSBwb3BwZWQuXG4gIHB1c2gocm9vdEluc3RhbmNlU3RhY2tDdXJzb3IsIG5leHRSb290SW5zdGFuY2UsIGZpYmVyKTsgLy8gVHJhY2sgdGhlIGNvbnRleHQgYW5kIHRoZSBGaWJlciB0aGF0IHByb3ZpZGVkIGl0LlxuICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gcG9wIG9ubHkgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG5cbiAgcHVzaChjb250ZXh0RmliZXJTdGFja0N1cnNvciwgZmliZXIsIGZpYmVyKTsgLy8gRmluYWxseSwgd2UgbmVlZCB0byBwdXNoIHRoZSBob3N0IGNvbnRleHQgdG8gdGhlIHN0YWNrLlxuICAvLyBIb3dldmVyLCB3ZSBjYW4ndCBqdXN0IGNhbGwgZ2V0Um9vdEhvc3RDb250ZXh0KCkgYW5kIHB1c2ggaXQgYmVjYXVzZVxuICAvLyB3ZSdkIGhhdmUgYSBkaWZmZXJlbnQgbnVtYmVyIG9mIGVudHJpZXMgb24gdGhlIHN0YWNrIGRlcGVuZGluZyBvblxuICAvLyB3aGV0aGVyIGdldFJvb3RIb3N0Q29udGV4dCgpIHRocm93cyBzb21ld2hlcmUgaW4gcmVuZGVyZXIgY29kZSBvciBub3QuXG4gIC8vIFNvIHdlIHB1c2ggYW4gZW1wdHkgdmFsdWUgZmlyc3QuIFRoaXMgbGV0cyB1cyBzYWZlbHkgdW53aW5kIG9uIGVycm9ycy5cblxuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBOT19DT05URVhULCBmaWJlcik7XG4gIHZhciBuZXh0Um9vdENvbnRleHQgPSBnZXRSb290SG9zdENvbnRleHQobmV4dFJvb3RJbnN0YW5jZSk7IC8vIE5vdyB0aGF0IHdlIGtub3cgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IHRocm93LCByZXBsYWNlIGl0LlxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBuZXh0Um9vdENvbnRleHQsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gcG9wSG9zdENvbnRhaW5lcihmaWJlcikge1xuICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcbiAgcG9wKGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIHBvcChyb290SW5zdGFuY2VTdGFja0N1cnNvciwgZmliZXIpO1xufVxuXG5mdW5jdGlvbiBnZXRIb3N0Q29udGV4dCgpIHtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdENvbnRleHQoZmliZXIpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHZhciBuZXh0Q29udGV4dCA9IGdldENoaWxkSG9zdENvbnRleHQoY29udGV4dCwgZmliZXIudHlwZSk7IC8vIERvbid0IHB1c2ggdGhpcyBGaWJlcidzIGNvbnRleHQgdW5sZXNzIGl0J3MgdW5pcXVlLlxuXG4gIGlmIChjb250ZXh0ID09PSBuZXh0Q29udGV4dCkge1xuICAgIHJldHVybjtcbiAgfSAvLyBUcmFjayB0aGUgY29udGV4dCBhbmQgdGhlIEZpYmVyIHRoYXQgcHJvdmlkZWQgaXQuXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cblxuXG4gIHB1c2goY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyLCBmaWJlcik7XG4gIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yJDEsIG5leHRDb250ZXh0LCBmaWJlcik7XG59XG5cbmZ1bmN0aW9uIHBvcEhvc3RDb250ZXh0KGZpYmVyKSB7XG4gIC8vIERvIG5vdCBwb3AgdW5sZXNzIHRoaXMgRmliZXIgcHJvdmlkZWQgdGhlIGN1cnJlbnQgY29udGV4dC5cbiAgLy8gcHVzaEhvc3RDb250ZXh0KCkgb25seSBwdXNoZXMgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG4gIGlmIChjb250ZXh0RmliZXJTdGFja0N1cnNvci5jdXJyZW50ICE9PSBmaWJlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwb3AoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxudmFyIERlZmF1bHRTdXNwZW5zZUNvbnRleHQgPSAwOyAvLyBUaGUgU3VzcGVuc2UgQ29udGV4dCBpcyBzcGxpdCBpbnRvIHR3byBwYXJ0cy4gVGhlIGxvd2VyIGJpdHMgaXNcbi8vIGluaGVyaXRlZCBkZWVwbHkgZG93biB0aGUgc3VidHJlZS4gVGhlIHVwcGVyIGJpdHMgb25seSBhZmZlY3Rcbi8vIHRoaXMgaW1tZWRpYXRlIHN1c3BlbnNlIGJvdW5kYXJ5IGFuZCBnZXRzIHJlc2V0IGVhY2ggbmV3XG4vLyBib3VuZGFyeSBvciBzdXNwZW5zZSBsaXN0LlxuXG52YXIgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgPSAxOyAvLyBTdWJ0cmVlIEZsYWdzOlxuLy8gSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0IGluZGljYXRlcyB0aGF0IG9uZSBvZiBvdXIgcGFyZW50IFN1c3BlbnNlXG4vLyBib3VuZGFyaWVzIGlzIG5vdCBjdXJyZW50bHkgc2hvd2luZyB2aXNpYmxlIG1haW4gY29udGVudC5cbi8vIEVpdGhlciBiZWNhdXNlIGl0IGlzIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrIG9yIGlzIG5vdCBtb3VudGVkIGF0IGFsbC5cbi8vIFdlIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUgaWYgaXQgaXMgZGVzaXJhYmxlIHRvIHRyaWdnZXIgYSBmYWxsYmFjayBhdFxuLy8gdGhlIHBhcmVudC4gSWYgbm90LCB0aGVuIHdlIG1pZ2h0IG5lZWQgdG8gdHJpZ2dlciB1bmRlc2lyYWJsZSBib3VuZGFyaWVzXG4vLyBhbmQvb3Igc3VzcGVuZCB0aGUgY29tbWl0IHRvIGF2b2lkIGhpZGluZyB0aGUgcGFyZW50IGNvbnRlbnQuXG5cbnZhciBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQgPSAxOyAvLyBTaGFsbG93IEZsYWdzOlxuLy8gRm9yY2VTdXNwZW5zZUZhbGxiYWNrIGNhbiBiZSB1c2VkIGJ5IFN1c3BlbnNlTGlzdCB0byBmb3JjZSBuZXdseSBhZGRlZFxuLy8gaXRlbXMgaW50byB0aGVpciBmYWxsYmFjayBzdGF0ZSBkdXJpbmcgb25lIG9mIHRoZSByZW5kZXIgcGFzc2VzLlxuXG52YXIgRm9yY2VTdXNwZW5zZUZhbGxiYWNrID0gMjtcbnZhciBzdXNwZW5zZVN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKERlZmF1bHRTdXNwZW5zZUNvbnRleHQpO1xuZnVuY3Rpb24gaGFzU3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIGZsYWcpIHtcbiAgcmV0dXJuIChwYXJlbnRDb250ZXh0ICYgZmxhZykgIT09IDA7XG59XG5mdW5jdGlvbiBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChwYXJlbnRDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2s7XG59XG5mdW5jdGlvbiBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIHNoYWxsb3dDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgfCBzaGFsbG93Q29udGV4dDtcbn1cbmZ1bmN0aW9uIGFkZFN1YnRyZWVTdXNwZW5zZUNvbnRleHQocGFyZW50Q29udGV4dCwgc3VidHJlZUNvbnRleHQpIHtcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgfCBzdWJ0cmVlQ29udGV4dDtcbn1cbmZ1bmN0aW9uIHB1c2hTdXNwZW5zZUNvbnRleHQoZmliZXIsIG5ld0NvbnRleHQpIHtcbiAgcHVzaChzdXNwZW5zZVN0YWNrQ3Vyc29yLCBuZXdDb250ZXh0LCBmaWJlcik7XG59XG5mdW5jdGlvbiBwb3BTdXNwZW5zZUNvbnRleHQoZmliZXIpIHtcbiAgcG9wKHN1c3BlbnNlU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2FwdHVyZVN1c3BlbnNlKHdvcmtJblByb2dyZXNzLCBoYXNJbnZpc2libGVQYXJlbnQpIHtcbiAgLy8gSWYgaXQgd2FzIHRoZSBwcmltYXJ5IGNoaWxkcmVuIHRoYXQganVzdCBzdXNwZW5kZWQsIGNhcHR1cmUgYW5kIHJlbmRlciB0aGVcbiAgLy8gZmFsbGJhY2suIE90aGVyd2lzZSwgZG9uJ3QgY2FwdHVyZSBhbmQgYnViYmxlIHRvIHRoZSBuZXh0IGJvdW5kYXJ5LlxuICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAobmV4dFN0YXRlICE9PSBudWxsKSB7XG4gICAgaWYgKG5leHRTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGRlaHlkcmF0ZWQgYm91bmRhcnkgYWx3YXlzIGNhcHR1cmVzLlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wczsgLy8gUmVndWxhciBib3VuZGFyaWVzIGFsd2F5cyBjYXB0dXJlLlxuXG4gIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBJZiBpdCdzIGEgYm91bmRhcnkgd2Ugc2hvdWxkIGF2b2lkLCB0aGVuIHdlIHByZWZlciB0byBidWJibGUgdXAgdG8gdGhlXG59XG5mdW5jdGlvbiBmaW5kRmlyc3RTdXNwZW5kZWQocm93KSB7XG4gIHZhciBub2RlID0gcm93O1xuXG4gIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgdmFyIHN0YXRlID0gbm9kZS5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGRlaHlkcmF0ZWQgPSBzdGF0ZS5kZWh5ZHJhdGVkO1xuXG4gICAgICAgIGlmIChkZWh5ZHJhdGVkID09PSBudWxsIHx8IGlzU3VzcGVuc2VJbnN0YW5jZVBlbmRpbmcoZGVoeWRyYXRlZCkgfHwgaXNTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2soZGVoeWRyYXRlZCkpIHtcbiAgICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlTGlzdENvbXBvbmVudCAmJiAvLyByZXZlYWxPcmRlciB1bmRlZmluZWQgY2FuJ3QgYmUgdHJ1c3RlZCBiZWNhdXNlIGl0IGRvbid0XG4gICAgLy8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIGl0IHN1c3BlbmRlZCBvciBub3QuXG4gICAgbm9kZS5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBkaWRTdXNwZW5kID0gKG5vZGUuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncztcblxuICAgICAgaWYgKGRpZFN1c3BlbmQpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSByb3cpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gcm93KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIE5vRmxhZ3MkMSA9XG4vKiAgICovXG4wOyAvLyBSZXByZXNlbnRzIHdoZXRoZXIgZWZmZWN0IHNob3VsZCBmaXJlLlxuXG52YXIgSGFzRWZmZWN0ID1cbi8qICovXG4xOyAvLyBSZXByZXNlbnRzIHRoZSBwaGFzZSBpbiB3aGljaCB0aGUgZWZmZWN0IChub3QgdGhlIGNsZWFuLXVwKSBmaXJlcy5cblxudmFyIEluc2VydGlvbiA9XG4vKiAgKi9cbjI7XG52YXIgTGF5b3V0ID1cbi8qICAgICovXG40O1xudmFyIFBhc3NpdmUkMSA9XG4vKiAgICovXG44O1xuXG4vLyBhbmQgc2hvdWxkIGJlIHJlc2V0IGJlZm9yZSBzdGFydGluZyBhIG5ldyByZW5kZXIuXG4vLyBUaGlzIHRyYWNrcyB3aGljaCBtdXRhYmxlIHNvdXJjZXMgbmVlZCB0byBiZSByZXNldCBhZnRlciBhIHJlbmRlci5cblxudmFyIHdvcmtJblByb2dyZXNzU291cmNlcyA9IFtdO1xuZnVuY3Rpb24gcmVzZXRXb3JrSW5Qcm9ncmVzc1ZlcnNpb25zKCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHdvcmtJblByb2dyZXNzU291cmNlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBtdXRhYmxlU291cmNlID0gd29ya0luUHJvZ3Jlc3NTb3VyY2VzW2ldO1xuXG4gICAge1xuICAgICAgbXV0YWJsZVNvdXJjZS5fd29ya0luUHJvZ3Jlc3NWZXJzaW9uUHJpbWFyeSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3NTb3VyY2VzLmxlbmd0aCA9IDA7XG59XG4vLyBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgdmVyc2lvbiB1c2VkIGZvciBzZXJ2ZXIgcmVuZGVyaW5nIG1hdGNoZXMgdGhlIG9uZVxuLy8gdGhhdCBpcyBldmVudHVhbGx5IHJlYWQgZHVyaW5nIGh5ZHJhdGlvbi5cbi8vIElmIHRoZXkgZG9uJ3QgbWF0Y2ggdGhlcmUncyBhIHBvdGVudGlhbCB0ZWFyIGFuZCBhIGZ1bGwgZGVvcHQgcmVuZGVyIGlzIHJlcXVpcmVkLlxuXG5mdW5jdGlvbiByZWdpc3Rlck11dGFibGVTb3VyY2VGb3JIeWRyYXRpb24ocm9vdCwgbXV0YWJsZVNvdXJjZSkge1xuICB2YXIgZ2V0VmVyc2lvbiA9IG11dGFibGVTb3VyY2UuX2dldFZlcnNpb247XG4gIHZhciB2ZXJzaW9uID0gZ2V0VmVyc2lvbihtdXRhYmxlU291cmNlLl9zb3VyY2UpOyAvLyBUT0RPIENsZWFyIHRoaXMgZGF0YSBvbmNlIGFsbCBwZW5kaW5nIGh5ZHJhdGlvbiB3b3JrIGlzIGZpbmlzaGVkLlxuICAvLyBSZXRhaW5pbmcgaXQgZm9yZXZlciBtYXkgaW50ZXJmZXJlIHdpdGggR0MuXG5cbiAgaWYgKHJvb3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YSA9PSBudWxsKSB7XG4gICAgcm9vdC5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhID0gW211dGFibGVTb3VyY2UsIHZlcnNpb25dO1xuICB9IGVsc2Uge1xuICAgIHJvb3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YS5wdXNoKG11dGFibGVTb3VyY2UsIHZlcnNpb24pO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbnZhciBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQ7XG52YXIgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3Q7XG5cbntcbiAgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xufVxuXG4vLyBUaGVzZSBhcmUgc2V0IHJpZ2h0IGJlZm9yZSBjYWxsaW5nIHRoZSBjb21wb25lbnQuXG52YXIgcmVuZGVyTGFuZXMgPSBOb0xhbmVzOyAvLyBUaGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gSSd2ZSBuYW1lZCBpdCBkaWZmZXJlbnRseSB0byBkaXN0aW5ndWlzaCBpdCBmcm9tXG4vLyB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7IC8vIEhvb2tzIGFyZSBzdG9yZWQgYXMgYSBsaW5rZWQgbGlzdCBvbiB0aGUgZmliZXIncyBtZW1vaXplZFN0YXRlIGZpZWxkLiBUaGVcbi8vIGN1cnJlbnQgaG9vayBsaXN0IGlzIHRoZSBsaXN0IHRoYXQgYmVsb25ncyB0byB0aGUgY3VycmVudCBmaWJlci4gVGhlXG4vLyB3b3JrLWluLXByb2dyZXNzIGhvb2sgbGlzdCBpcyBhIG5ldyBsaXN0IHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGVcbi8vIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG5cbnZhciBjdXJyZW50SG9vayA9IG51bGw7XG52YXIgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDsgLy8gV2hldGhlciBhbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBhdCBhbnkgcG9pbnQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuIFRoaXNcbi8vIGRvZXMgbm90IGdldCByZXNldCBpZiB3ZSBkbyBhbm90aGVyIHJlbmRlciBwYXNzOyBvbmx5IHdoZW4gd2UncmUgY29tcGxldGVseVxuLy8gZmluaXNoZWQgZXZhbHVhdGluZyB0aGlzIGNvbXBvbmVudC4gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gc28gd2Uga25vd1xuLy8gd2hldGhlciB3ZSBuZWVkIHRvIGNsZWFyIHJlbmRlciBwaGFzZSB1cGRhdGVzIGFmdGVyIGEgdGhyb3cuXG5cbnZhciBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gZmFsc2U7IC8vIFdoZXJlIGFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9ubHkgZHVyaW5nIHRoZSBjdXJyZW50IHJlbmRlciBwYXNzLiBUaGlzXG4vLyBnZXRzIHJlc2V0IGFmdGVyIGVhY2ggYXR0ZW1wdC5cbi8vIFRPRE86IE1heWJlIHRoZXJlJ3Mgc29tZSB3YXkgdG8gY29uc29saWRhdGUgdGhpcyB3aXRoXG4vLyBgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZWAuIE9yIHdpdGggYG51bWJlck9mUmVSZW5kZXJzYC5cblxudmFyIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlOyAvLyBDb3VudHMgdGhlIG51bWJlciBvZiB1c2VJZCBob29rcyBpbiB0aGlzIGNvbXBvbmVudC5cblxudmFyIGxvY2FsSWRDb3VudGVyID0gMDsgLy8gVXNlZCBmb3IgaWRzIHRoYXQgYXJlIGdlbmVyYXRlZCBjb21wbGV0ZWx5IGNsaWVudC1zaWRlIChpLmUuIG5vdCBkdXJpbmdcbi8vIGh5ZHJhdGlvbikuIFRoaXMgY291bnRlciBpcyBnbG9iYWwsIHNvIGNsaWVudCBpZHMgYXJlIG5vdCBzdGFibGUgYWNyb3NzXG4vLyByZW5kZXIgYXR0ZW1wdHMuXG5cbnZhciBnbG9iYWxDbGllbnRJZENvdW50ZXIgPSAwO1xudmFyIFJFX1JFTkRFUl9MSU1JVCA9IDI1OyAvLyBJbiBERVYsIHRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcHJpbWl0aXZlIGhvb2tcblxudmFyIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDsgLy8gSW4gREVWLCB0aGlzIGxpc3QgZW5zdXJlcyB0aGF0IGhvb2tzIGFyZSBjYWxsZWQgaW4gdGhlIHNhbWUgb3JkZXIgYmV0d2VlbiByZW5kZXJzLlxuLy8gVGhlIGxpc3Qgc3RvcmVzIHRoZSBvcmRlciBvZiBob29rcyB1c2VkIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgKG1vdW50KS5cbi8vIFN1YnNlcXVlbnQgcmVuZGVycyAodXBkYXRlcykgcmVmZXJlbmNlIHRoaXMgbGlzdC5cblxudmFyIGhvb2tUeXBlc0RldiA9IG51bGw7XG52YXIgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTsgLy8gSW4gREVWLCB0aGlzIHRyYWNrcyB3aGV0aGVyIGN1cnJlbnRseSByZW5kZXJpbmcgY29tcG9uZW50IG5lZWRzIHRvIGlnbm9yZVxuLy8gdGhlIGRlcGVuZGVuY2llcyBmb3IgSG9va3MgdGhhdCBuZWVkIHRoZW0gKGUuZy4gdXNlRWZmZWN0IG9yIHVzZU1lbW8pLlxuLy8gV2hlbiB0cnVlLCBzdWNoIEhvb2tzIHdpbGwgYWx3YXlzIGJlIFwicmVtb3VudGVkXCIuIE9ubHkgdXNlZCBkdXJpbmcgaG90IHJlbG9hZC5cblxudmFyIGlnbm9yZVByZXZpb3VzRGVwZW5kZW5jaWVzID0gZmFsc2U7XG5cbmZ1bmN0aW9uIG1vdW50SG9va1R5cGVzRGV2KCkge1xuICB7XG4gICAgdmFyIGhvb2tOYW1lID0gY3VycmVudEhvb2tOYW1lSW5EZXY7XG5cbiAgICBpZiAoaG9va1R5cGVzRGV2ID09PSBudWxsKSB7XG4gICAgICBob29rVHlwZXNEZXYgPSBbaG9va05hbWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICBob29rVHlwZXNEZXYucHVzaChob29rTmFtZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvb2tUeXBlc0RldigpIHtcbiAge1xuICAgIHZhciBob29rTmFtZSA9IGN1cnJlbnRIb29rTmFtZUluRGV2O1xuXG4gICAgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYrKztcblxuICAgICAgaWYgKGhvb2tUeXBlc0Rldltob29rVHlwZXNVcGRhdGVJbmRleERldl0gIT09IGhvb2tOYW1lKSB7XG4gICAgICAgIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGhvb2tOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcykge1xuICB7XG4gICAgaWYgKGRlcHMgIT09IHVuZGVmaW5lZCAmJiBkZXBzICE9PSBudWxsICYmICFpc0FycmF5KGRlcHMpKSB7XG4gICAgICAvLyBWZXJpZnkgZGVwcywgYnV0IG9ubHkgb24gbW91bnQgdG8gYXZvaWQgZXh0cmEgY2hlY2tzLlxuICAgICAgLy8gSXQncyB1bmxpa2VseSB0aGVpciB0eXBlIHdvdWxkIGNoYW5nZSBhcyB1c3VhbGx5IHlvdSBkZWZpbmUgdGhlbSBpbmxpbmUuXG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCB0aGF0IGlzIG5vdCBhbiBhcnJheSAoaW5zdGVhZCwgcmVjZWl2ZWQgYCVzYCkuIFdoZW4gJyArICdzcGVjaWZpZWQsIHRoZSBmaW5hbCBhcmd1bWVudCBtdXN0IGJlIGFuIGFycmF5LicsIGN1cnJlbnRIb29rTmFtZUluRGV2LCB0eXBlb2YgZGVwcyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGN1cnJlbnRIb29rTmFtZSkge1xuICB7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEpO1xuXG4gICAgaWYgKCFkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuYWRkKGNvbXBvbmVudE5hbWUpO1xuXG4gICAgICBpZiAoaG9va1R5cGVzRGV2ICE9PSBudWxsKSB7XG4gICAgICAgIHZhciB0YWJsZSA9ICcnO1xuICAgICAgICB2YXIgc2Vjb25kQ29sdW1uU3RhcnQgPSAzMDtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBob29rVHlwZXNVcGRhdGVJbmRleERldjsgaSsrKSB7XG4gICAgICAgICAgdmFyIG9sZEhvb2tOYW1lID0gaG9va1R5cGVzRGV2W2ldO1xuICAgICAgICAgIHZhciBuZXdIb29rTmFtZSA9IGkgPT09IGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID8gY3VycmVudEhvb2tOYW1lIDogb2xkSG9va05hbWU7XG4gICAgICAgICAgdmFyIHJvdyA9IGkgKyAxICsgXCIuIFwiICsgb2xkSG9va05hbWU7IC8vIEV4dHJhIHNwYWNlIHNvIHNlY29uZCBjb2x1bW4gbGluZXMgdXBcbiAgICAgICAgICAvLyBsb2wgQCBJRSBub3Qgc3VwcG9ydGluZyBTdHJpbmcjcmVwZWF0XG5cbiAgICAgICAgICB3aGlsZSAocm93Lmxlbmd0aCA8IHNlY29uZENvbHVtblN0YXJ0KSB7XG4gICAgICAgICAgICByb3cgKz0gJyAnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJvdyArPSBuZXdIb29rTmFtZSArICdcXG4nO1xuICAgICAgICAgIHRhYmxlICs9IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yKCdSZWFjdCBoYXMgZGV0ZWN0ZWQgYSBjaGFuZ2UgaW4gdGhlIG9yZGVyIG9mIEhvb2tzIGNhbGxlZCBieSAlcy4gJyArICdUaGlzIHdpbGwgbGVhZCB0byBidWdzIGFuZCBlcnJvcnMgaWYgbm90IGZpeGVkLiAnICsgJ0ZvciBtb3JlIGluZm9ybWF0aW9uLCByZWFkIHRoZSBSdWxlcyBvZiBIb29rczogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3J1bGVzLW9mLWhvb2tzXFxuXFxuJyArICcgICBQcmV2aW91cyByZW5kZXIgICAgICAgICAgICBOZXh0IHJlbmRlclxcbicgKyAnICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuJyArICclcycgKyAnICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXFxuJywgY29tcG9uZW50TmFtZSwgdGFibGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0aHJvd0ludmFsaWRIb29rRXJyb3IoKSB7XG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvcicgKyAnIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4nICsgJzIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4nICsgJzMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLicpO1xufVxuXG5mdW5jdGlvbiBhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSB7XG4gIHtcbiAgICBpZiAoaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMpIHtcbiAgICAgIC8vIE9ubHkgdHJ1ZSB3aGVuIHRoaXMgY29tcG9uZW50IGlzIGJlaW5nIGhvdCByZWxvYWRlZC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpZiAocHJldkRlcHMgPT09IG51bGwpIHtcbiAgICB7XG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCBub3QgZHVyaW5nICcgKyAndGhlIHByZXZpb3VzIHJlbmRlci4gRXZlbiB0aG91Z2ggdGhlIGZpbmFsIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCAnICsgJ2l0cyB0eXBlIGNhbm5vdCBjaGFuZ2UgYmV0d2VlbiByZW5kZXJzLicsIGN1cnJlbnRIb29rTmFtZUluRGV2KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB7XG4gICAgLy8gRG9uJ3QgYm90aGVyIGNvbXBhcmluZyBsZW5ndGhzIGluIHByb2QgYmVjYXVzZSB0aGVzZSBhcnJheXMgc2hvdWxkIGJlXG4gICAgLy8gcGFzc2VkIGlubGluZS5cbiAgICBpZiAobmV4dERlcHMubGVuZ3RoICE9PSBwcmV2RGVwcy5sZW5ndGgpIHtcbiAgICAgIGVycm9yKCdUaGUgZmluYWwgYXJndW1lbnQgcGFzc2VkIHRvICVzIGNoYW5nZWQgc2l6ZSBiZXR3ZWVuIHJlbmRlcnMuIFRoZSAnICsgJ29yZGVyIGFuZCBzaXplIG9mIHRoaXMgYXJyYXkgbXVzdCByZW1haW4gY29uc3RhbnQuXFxuXFxuJyArICdQcmV2aW91czogJXNcXG4nICsgJ0luY29taW5nOiAlcycsIGN1cnJlbnRIb29rTmFtZUluRGV2LCBcIltcIiArIHByZXZEZXBzLmpvaW4oJywgJykgKyBcIl1cIiwgXCJbXCIgKyBuZXh0RGVwcy5qb2luKCcsICcpICsgXCJdXCIpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJldkRlcHMubGVuZ3RoICYmIGkgPCBuZXh0RGVwcy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChvYmplY3RJcyhuZXh0RGVwc1tpXSwgcHJldkRlcHNbaV0pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBzZWNvbmRBcmcsIG5leHRSZW5kZXJMYW5lcykge1xuICByZW5kZXJMYW5lcyA9IG5leHRSZW5kZXJMYW5lcztcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IHdvcmtJblByb2dyZXNzO1xuXG4gIHtcbiAgICBob29rVHlwZXNEZXYgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5fZGVidWdIb29rVHlwZXMgOiBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIFVzZWQgZm9yIGhvdCByZWxvYWRpbmc6XG5cbiAgICBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBOb0xhbmVzOyAvLyBUaGUgZm9sbG93aW5nIHNob3VsZCBoYXZlIGFscmVhZHkgYmVlbiByZXNldFxuICAvLyBjdXJyZW50SG9vayA9IG51bGw7XG4gIC8vIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG4gIC8vIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcbiAgLy8gbG9jYWxJZENvdW50ZXIgPSAwO1xuICAvLyBUT0RPIFdhcm4gaWYgbm8gaG9va3MgYXJlIHVzZWQgYXQgYWxsIGR1cmluZyBtb3VudCwgdGhlbiBzb21lIGFyZSB1c2VkIGR1cmluZyB1cGRhdGUuXG4gIC8vIEN1cnJlbnRseSB3ZSB3aWxsIGlkZW50aWZ5IHRoZSB1cGRhdGUgcmVuZGVyIGFzIGEgbW91bnQgYmVjYXVzZSBtZW1vaXplZFN0YXRlID09PSBudWxsLlxuICAvLyBUaGlzIGlzIHRyaWNreSBiZWNhdXNlIGl0J3MgdmFsaWQgZm9yIGNlcnRhaW4gdHlwZXMgb2YgY29tcG9uZW50cyAoZS5nLiBSZWFjdC5sYXp5KVxuICAvLyBVc2luZyBtZW1vaXplZFN0YXRlIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBtb3VudC91cGRhdGUgb25seSB3b3JrcyBpZiBhdCBsZWFzdCBvbmUgc3RhdGVmdWwgaG9vayBpcyB1c2VkLlxuICAvLyBOb24tc3RhdGVmdWwgaG9va3MgKGUuZy4gY29udGV4dCkgZG9uJ3QgZ2V0IGFkZGVkIHRvIG1lbW9pemVkU3RhdGUsXG4gIC8vIHNvIG1lbW9pemVkU3RhdGUgd291bGQgYmUgbnVsbCBkdXJpbmcgdXBkYXRlcyBhbmQgbW91bnRzLlxuXG4gIHtcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcbiAgICB9IGVsc2UgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBkaXNwYXRjaGVyIGhhbmRsZXMgYW4gZWRnZSBjYXNlIHdoZXJlIGEgY29tcG9uZW50IGlzIHVwZGF0aW5nLFxuICAgICAgLy8gYnV0IG5vIHN0YXRlZnVsIGhvb2tzIGhhdmUgYmVlbiB1c2VkLlxuICAgICAgLy8gV2Ugd2FudCB0byBtYXRjaCB0aGUgcHJvZHVjdGlvbiBjb2RlIGJlaGF2aW9yICh3aGljaCB3aWxsIHVzZSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50KSxcbiAgICAgIC8vIGJ1dCB3aXRoIHRoZSBleHRyYSBERVYgdmFsaWRhdGlvbiB0byBlbnN1cmUgaG9va3Mgb3JkZXJpbmcgaGFzbid0IGNoYW5nZWQuXG4gICAgICAvLyBUaGlzIGRpc3BhdGNoZXIgZG9lcyB0aGF0LlxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcbiAgICB9XG4gIH1cblxuICB2YXIgY2hpbGRyZW4gPSBDb21wb25lbnQocHJvcHMsIHNlY29uZEFyZyk7IC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhIHJlbmRlciBwaGFzZSB1cGRhdGVcblxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZUR1cmluZ1RoaXNQYXNzKSB7XG4gICAgLy8gS2VlcCByZW5kZXJpbmcgaW4gYSBsb29wIGZvciBhcyBsb25nIGFzIHJlbmRlciBwaGFzZSB1cGRhdGVzIGNvbnRpbnVlIHRvXG4gICAgLy8gYmUgc2NoZWR1bGVkLiBVc2UgYSBjb3VudGVyIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXG4gICAgdmFyIG51bWJlck9mUmVSZW5kZXJzID0gMDtcblxuICAgIGRvIHtcbiAgICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlO1xuICAgICAgbG9jYWxJZENvdW50ZXIgPSAwO1xuXG4gICAgICBpZiAobnVtYmVyT2ZSZVJlbmRlcnMgPj0gUkVfUkVOREVSX0xJTUlUKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVG9vIG1hbnkgcmUtcmVuZGVycy4gUmVhY3QgbGltaXRzIHRoZSBudW1iZXIgb2YgcmVuZGVycyB0byBwcmV2ZW50ICcgKyAnYW4gaW5maW5pdGUgbG9vcC4nKTtcbiAgICAgIH1cblxuICAgICAgbnVtYmVyT2ZSZVJlbmRlcnMgKz0gMTtcblxuICAgICAge1xuICAgICAgICAvLyBFdmVuIHdoZW4gaG90IHJlbG9hZGluZywgYWxsb3cgZGVwZW5kZW5jaWVzIHRvIHN0YWJpbGl6ZVxuICAgICAgICAvLyBhZnRlciBmaXJzdCByZW5kZXIgdG8gcHJldmVudCBpbmZpbml0ZSByZW5kZXIgcGhhc2UgdXBkYXRlcy5cbiAgICAgICAgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBmYWxzZTtcbiAgICAgIH0gLy8gU3RhcnQgb3ZlciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3RcblxuXG4gICAgICBjdXJyZW50SG9vayA9IG51bGw7XG4gICAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuXG4gICAgICB7XG4gICAgICAgIC8vIEFsc28gdmFsaWRhdGUgaG9vayBvcmRlciBmb3IgY2FzY2FkaW5nIHVwZGF0ZXMuXG4gICAgICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7XG4gICAgICB9XG5cbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA7XG4gICAgICBjaGlsZHJlbiA9IENvbXBvbmVudChwcm9wcywgc2Vjb25kQXJnKTtcbiAgICB9IHdoaWxlIChkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MpO1xuICB9IC8vIFdlIGNhbiBhc3N1bWUgdGhlIHByZXZpb3VzIGRpc3BhdGNoZXIgaXMgYWx3YXlzIHRoaXMgb25lLCBzaW5jZSB3ZSBzZXQgaXRcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmNlLlxuXG5cbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBDb250ZXh0T25seURpc3BhdGNoZXI7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z0hvb2tUeXBlcyA9IGhvb2tUeXBlc0RldjtcbiAgfSAvLyBUaGlzIGNoZWNrIHVzZXMgY3VycmVudEhvb2sgc28gdGhhdCBpdCB3b3JrcyB0aGUgc2FtZSBpbiBERVYgYW5kIHByb2QgYnVuZGxlcy5cbiAgLy8gaG9va1R5cGVzRGV2IGNvdWxkIGNhdGNoIG1vcmUgY2FzZXMgKGUuZy4gY29udGV4dCkgYnV0IG9ubHkgaW4gREVWIGJ1bmRsZXMuXG5cblxuICB2YXIgZGlkUmVuZGVyVG9vRmV3SG9va3MgPSBjdXJyZW50SG9vayAhPT0gbnVsbCAmJiBjdXJyZW50SG9vay5uZXh0ICE9PSBudWxsO1xuICByZW5kZXJMYW5lcyA9IE5vTGFuZXM7XG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSBudWxsO1xuICBjdXJyZW50SG9vayA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG5cbiAge1xuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNEZXYgPSBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIENvbmZpcm0gdGhhdCBhIHN0YXRpYyBmbGFnIHdhcyBub3QgYWRkZWQgb3IgcmVtb3ZlZCBzaW5jZSB0aGUgbGFzdFxuICAgIC8vIHJlbmRlci4gSWYgdGhpcyBmaXJlcywgaXQgc3VnZ2VzdHMgdGhhdCB3ZSBpbmNvcnJlY3RseSByZXNldCB0aGUgc3RhdGljXG4gICAgLy8gZmxhZ3MgaW4gc29tZSBvdGhlciBwYXJ0IG9mIHRoZSBjb2RlYmFzZS4gVGhpcyBoYXMgaGFwcGVuZWQgYmVmb3JlLCBmb3JcbiAgICAvLyBleGFtcGxlLCBpbiB0aGUgU3VzcGVuc2VMaXN0IGltcGxlbWVudGF0aW9uLlxuXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgKGN1cnJlbnQuZmxhZ3MgJiBTdGF0aWNNYXNrKSAhPT0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgU3RhdGljTWFzaykgJiYgLy8gRGlzYWJsZSB0aGlzIHdhcm5pbmcgaW4gbGVnYWN5IG1vZGUsIGJlY2F1c2UgbGVnYWN5IFN1c3BlbnNlIGlzIHdlaXJkXG4gICAgLy8gYW5kIGNyZWF0ZXMgZmFsc2UgcG9zaXRpdmVzLiBUbyBtYWtlIHRoaXMgd29yayBpbiBsZWdhY3kgbW9kZSwgd2UnZFxuICAgIC8vIG5lZWQgdG8gbWFyayBmaWJlcnMgdGhhdCBjb21taXQgaW4gYW4gaW5jb21wbGV0ZSBzdGF0ZSwgc29tZWhvdy4gRm9yXG4gICAgLy8gbm93IEknbGwgZGlzYWJsZSB0aGUgd2FybmluZyB0aGF0IG1vc3Qgb2YgdGhlIGJ1Z3MgdGhhdCB3b3VsZCB0cmlnZ2VyXG4gICAgLy8gaXQgYXJlIGVpdGhlciBleGNsdXNpdmUgdG8gY29uY3VycmVudCBtb2RlIG9yIGV4aXN0IGluIGJvdGguXG4gICAgKGN1cnJlbnQubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICBlcnJvcignSW50ZXJuYWwgUmVhY3QgZXJyb3I6IEV4cGVjdGVkIHN0YXRpYyBmbGFnIHdhcyBtaXNzaW5nLiBQbGVhc2UgJyArICdub3RpZnkgdGhlIFJlYWN0IHRlYW0uJyk7XG4gICAgfVxuICB9XG5cbiAgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGlzIGlzIHJlc2V0IGJ5IGNoZWNrRGlkUmVuZGVySWRIb29rXG4gIC8vIGxvY2FsSWRDb3VudGVyID0gMDtcblxuICBpZiAoZGlkUmVuZGVyVG9vRmV3SG9va3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlbmRlcmVkIGZld2VyIGhvb2tzIHRoYW4gZXhwZWN0ZWQuIFRoaXMgbWF5IGJlIGNhdXNlZCBieSBhbiBhY2NpZGVudGFsICcgKyAnZWFybHkgcmV0dXJuIHN0YXRlbWVudC4nKTtcbiAgfVxuXG4gIHJldHVybiBjaGlsZHJlbjtcbn1cbmZ1bmN0aW9uIGNoZWNrRGlkUmVuZGVySWRIb29rKCkge1xuICAvLyBUaGlzIHNob3VsZCBiZSBjYWxsZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZXZlcnkgcmVuZGVyV2l0aEhvb2tzIGNhbGwuXG4gIC8vIENvbmNlcHR1YWxseSwgaXQncyBwYXJ0IG9mIHRoZSByZXR1cm4gdmFsdWUgb2YgcmVuZGVyV2l0aEhvb2tzOyBpdCdzIG9ubHkgYVxuICAvLyBzZXBhcmF0ZSBmdW5jdGlvbiB0byBhdm9pZCB1c2luZyBhbiBhcnJheSB0dXBsZS5cbiAgdmFyIGRpZFJlbmRlcklkSG9vayA9IGxvY2FsSWRDb3VudGVyICE9PSAwO1xuICBsb2NhbElkQ291bnRlciA9IDA7XG4gIHJldHVybiBkaWRSZW5kZXJJZEhvb2s7XG59XG5mdW5jdGlvbiBiYWlsb3V0SG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGxhbmVzKSB7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTsgLy8gVE9ETzogRG9uJ3QgbmVlZCB0byByZXNldCB0aGUgZmxhZ3MgaGVyZSwgYmVjYXVzZSB0aGV5J3JlIHJlc2V0IGluIHRoZVxuICAvLyBjb21wbGV0ZSBwaGFzZSAoYnViYmxlUHJvcGVydGllcykuXG5cbiAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gfihNb3VudFBhc3NpdmVEZXYgfCBNb3VudExheW91dERldiB8IFBhc3NpdmUgfCBVcGRhdGUpO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH4oUGFzc2l2ZSB8IFVwZGF0ZSk7XG4gIH1cblxuICBjdXJyZW50LmxhbmVzID0gcmVtb3ZlTGFuZXMoY3VycmVudC5sYW5lcywgbGFuZXMpO1xufVxuZnVuY3Rpb24gcmVzZXRIb29rc0FmdGVyVGhyb3coKSB7XG4gIC8vIFdlIGNhbiBhc3N1bWUgdGhlIHByZXZpb3VzIGRpc3BhdGNoZXIgaXMgYWx3YXlzIHRoaXMgb25lLCBzaW5jZSB3ZSBzZXQgaXRcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmNlLlxuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcblxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSkge1xuICAgIC8vIFRoZXJlIHdlcmUgcmVuZGVyIHBoYXNlIHVwZGF0ZXMuIFRoZXNlIGFyZSBvbmx5IHZhbGlkIGZvciB0aGlzIHJlbmRlclxuICAgIC8vIHBoYXNlLCB3aGljaCB3ZSBhcmUgbm93IGFib3J0aW5nLiBSZW1vdmUgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWVzIHNvXG4gICAgLy8gdGhleSBkbyBub3QgcGVyc2lzdCB0byB0aGUgbmV4dCByZW5kZXIuIERvIG5vdCByZW1vdmUgdXBkYXRlcyBmcm9tIGhvb2tzXG4gICAgLy8gdGhhdCB3ZXJlbid0IHByb2Nlc3NlZC5cbiAgICAvL1xuICAgIC8vIE9ubHkgcmVzZXQgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWUgaWYgaXQgaGFzIGEgY2xvbmUuIElmIGl0IGRvZXNcbiAgICAvLyBub3QgaGF2ZSBhIGNsb25lLCB0aGF0IG1lYW5zIGl0IHdhc24ndCBwcm9jZXNzZWQsIGFuZCB0aGUgdXBkYXRlcyB3ZXJlXG4gICAgLy8gc2NoZWR1bGVkIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgdmFyIGhvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XG5cbiAgICB3aGlsZSAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICAgICAgaWYgKHF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBob29rID0gaG9vay5uZXh0O1xuICAgIH1cblxuICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcbiAgfVxuXG4gIHJlbmRlckxhbmVzID0gTm9MYW5lcztcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7XG4gIGN1cnJlbnRIb29rID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDtcblxuICB7XG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xO1xuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcbiAgICBpc1VwZGF0aW5nT3BhcXVlVmFsdWVJblJlbmRlclBoYXNlID0gZmFsc2U7XG4gIH1cblxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MgPSBmYWxzZTtcbiAgbG9jYWxJZENvdW50ZXIgPSAwO1xufVxuXG5mdW5jdGlvbiBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpIHtcbiAgdmFyIGhvb2sgPSB7XG4gICAgbWVtb2l6ZWRTdGF0ZTogbnVsbCxcbiAgICBiYXNlU3RhdGU6IG51bGwsXG4gICAgYmFzZVF1ZXVlOiBudWxsLFxuICAgIHF1ZXVlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3NIb29rID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgaG9vayBpbiB0aGUgbGlzdFxuICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IGhvb2s7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3RcbiAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dCA9IGhvb2s7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NIb29rO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBib3RoIGZvciB1cGRhdGVzIGFuZCBmb3IgcmUtcmVuZGVycyB0cmlnZ2VyZWQgYnkgYVxuICAvLyByZW5kZXIgcGhhc2UgdXBkYXRlLiBJdCBhc3N1bWVzIHRoZXJlIGlzIGVpdGhlciBhIGN1cnJlbnQgaG9vayB3ZSBjYW5cbiAgLy8gY2xvbmUsIG9yIGEgd29yay1pbi1wcm9ncmVzcyBob29rIGZyb20gYSBwcmV2aW91cyByZW5kZXIgcGFzcyB0aGF0IHdlIGNhblxuICAvLyB1c2UgYXMgYSBiYXNlLiBXaGVuIHdlIHJlYWNoIHRoZSBlbmQgb2YgdGhlIGJhc2UgbGlzdCwgd2UgbXVzdCBzd2l0Y2ggdG9cbiAgLy8gdGhlIGRpc3BhdGNoZXIgdXNlZCBmb3IgbW91bnRzLlxuICB2YXIgbmV4dEN1cnJlbnRIb29rO1xuXG4gIGlmIChjdXJyZW50SG9vayA9PT0gbnVsbCkge1xuICAgIHZhciBjdXJyZW50ID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgbmV4dEN1cnJlbnRIb29rID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0Q3VycmVudEhvb2sgPSBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBuZXh0Q3VycmVudEhvb2sgPSBjdXJyZW50SG9vay5uZXh0O1xuICB9XG5cbiAgdmFyIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2s7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XG4gIH0gZWxzZSB7XG4gICAgbmV4dFdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0O1xuICB9XG5cbiAgaWYgKG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgIT09IG51bGwpIHtcbiAgICAvLyBUaGVyZSdzIGFscmVhZHkgYSB3b3JrLWluLXByb2dyZXNzLiBSZXVzZSBpdC5cbiAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBuZXh0V29ya0luUHJvZ3Jlc3NIb29rO1xuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dDtcbiAgICBjdXJyZW50SG9vayA9IG5leHRDdXJyZW50SG9vaztcbiAgfSBlbHNlIHtcbiAgICAvLyBDbG9uZSBmcm9tIHRoZSBjdXJyZW50IGhvb2suXG4gICAgaWYgKG5leHRDdXJyZW50SG9vayA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZW5kZXJlZCBtb3JlIGhvb2tzIHRoYW4gZHVyaW5nIHRoZSBwcmV2aW91cyByZW5kZXIuJyk7XG4gICAgfVxuXG4gICAgY3VycmVudEhvb2sgPSBuZXh0Q3VycmVudEhvb2s7XG4gICAgdmFyIG5ld0hvb2sgPSB7XG4gICAgICBtZW1vaXplZFN0YXRlOiBjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlLFxuICAgICAgYmFzZVN0YXRlOiBjdXJyZW50SG9vay5iYXNlU3RhdGUsXG4gICAgICBiYXNlUXVldWU6IGN1cnJlbnRIb29rLmJhc2VRdWV1ZSxcbiAgICAgIHF1ZXVlOiBjdXJyZW50SG9vay5xdWV1ZSxcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgaG9vayBpbiB0aGUgbGlzdC5cbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IG5ld0hvb2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGVuZCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuICAgICAgd29ya0luUHJvZ3Jlc3NIb29rID0gd29ya0luUHJvZ3Jlc3NIb29rLm5leHQgPSBuZXdIb29rO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc0hvb2s7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKSB7XG4gIHJldHVybiB7XG4gICAgbGFzdEVmZmVjdDogbnVsbCxcbiAgICBzdG9yZXM6IG51bGxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYmFzaWNTdGF0ZVJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xuICAvLyAkRmxvd0ZpeE1lOiBGbG93IGRvZXNuJ3QgbGlrZSBtaXhlZCB0eXBlc1xuICByZXR1cm4gdHlwZW9mIGFjdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGFjdGlvbihzdGF0ZSkgOiBhY3Rpb247XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGluaXRpYWxTdGF0ZTtcblxuICBpZiAoaW5pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaW5pdGlhbFN0YXRlID0gaW5pdChpbml0aWFsQXJnKTtcbiAgfSBlbHNlIHtcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsQXJnO1xuICB9XG5cbiAgaG9vay5tZW1vaXplZFN0YXRlID0gaG9vay5iYXNlU3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gIHZhciBxdWV1ZSA9IHtcbiAgICBwZW5kaW5nOiBudWxsLFxuICAgIGludGVybGVhdmVkOiBudWxsLFxuICAgIGxhbmVzOiBOb0xhbmVzLFxuICAgIGRpc3BhdGNoOiBudWxsLFxuICAgIGxhc3RSZW5kZXJlZFJlZHVjZXI6IHJlZHVjZXIsXG4gICAgbGFzdFJlbmRlcmVkU3RhdGU6IGluaXRpYWxTdGF0ZVxuICB9O1xuICBob29rLnF1ZXVlID0gcXVldWU7XG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoID0gZGlzcGF0Y2hSZWR1Y2VyQWN0aW9uLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgcXVldWUpO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICBpZiAocXVldWUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyO1xuICB2YXIgY3VycmVudCA9IGN1cnJlbnRIb29rOyAvLyBUaGUgbGFzdCByZWJhc2UgdXBkYXRlIHRoYXQgaXMgTk9UIHBhcnQgb2YgdGhlIGJhc2Ugc3RhdGUuXG5cbiAgdmFyIGJhc2VRdWV1ZSA9IGN1cnJlbnQuYmFzZVF1ZXVlOyAvLyBUaGUgbGFzdCBwZW5kaW5nIHVwZGF0ZSB0aGF0IGhhc24ndCBiZWVuIHByb2Nlc3NlZCB5ZXQuXG5cbiAgdmFyIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnBlbmRpbmc7XG5cbiAgaWYgKHBlbmRpbmdRdWV1ZSAhPT0gbnVsbCkge1xuICAgIC8vIFdlIGhhdmUgbmV3IHVwZGF0ZXMgdGhhdCBoYXZlbid0IGJlZW4gcHJvY2Vzc2VkIHlldC5cbiAgICAvLyBXZSdsbCBhZGQgdGhlbSB0byB0aGUgYmFzZSBxdWV1ZS5cbiAgICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAvLyBNZXJnZSB0aGUgcGVuZGluZyBxdWV1ZSBhbmQgdGhlIGJhc2UgcXVldWUuXG4gICAgICB2YXIgYmFzZUZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgICB2YXIgcGVuZGluZ0ZpcnN0ID0gcGVuZGluZ1F1ZXVlLm5leHQ7XG4gICAgICBiYXNlUXVldWUubmV4dCA9IHBlbmRpbmdGaXJzdDtcbiAgICAgIHBlbmRpbmdRdWV1ZS5uZXh0ID0gYmFzZUZpcnN0O1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChjdXJyZW50LmJhc2VRdWV1ZSAhPT0gYmFzZVF1ZXVlKSB7XG4gICAgICAgIC8vIEludGVybmFsIGludmFyaWFudCB0aGF0IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dCBmZWFzaWJseSBjb3VsZCBpblxuICAgICAgICAvLyB0aGUgZnV0dXJlIGlmIHdlIGltcGxlbWVudCByZXN1bWluZywgb3Igc29tZSBmb3JtIG9mIHRoYXQuXG4gICAgICAgIGVycm9yKCdJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSB0byBiZSBhIGNsb25lLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY3VycmVudC5iYXNlUXVldWUgPSBiYXNlUXVldWUgPSBwZW5kaW5nUXVldWU7XG4gICAgcXVldWUucGVuZGluZyA9IG51bGw7XG4gIH1cblxuICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gV2UgaGF2ZSBhIHF1ZXVlIHRvIHByb2Nlc3MuXG4gICAgdmFyIGZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgdmFyIG5ld1N0YXRlID0gY3VycmVudC5iYXNlU3RhdGU7XG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XG4gICAgdmFyIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbnVsbDtcbiAgICB2YXIgbmV3QmFzZVF1ZXVlTGFzdCA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xuXG4gICAgZG8ge1xuICAgICAgdmFyIHVwZGF0ZUxhbmUgPSB1cGRhdGUubGFuZTtcblxuICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMocmVuZGVyTGFuZXMsIHVwZGF0ZUxhbmUpKSB7XG4gICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcbiAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cbiAgICAgICAgdmFyIGNsb25lID0ge1xuICAgICAgICAgIGxhbmU6IHVwZGF0ZUxhbmUsXG4gICAgICAgICAgYWN0aW9uOiB1cGRhdGUuYWN0aW9uLFxuICAgICAgICAgIGhhc0VhZ2VyU3RhdGU6IHVwZGF0ZS5oYXNFYWdlclN0YXRlLFxuICAgICAgICAgIGVhZ2VyU3RhdGU6IHVwZGF0ZS5lYWdlclN0YXRlLFxuICAgICAgICAgIG5leHQ6IG51bGxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobmV3QmFzZVF1ZXVlTGFzdCA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbmV3QmFzZVF1ZXVlTGFzdCA9IGNsb25lO1xuICAgICAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0Jhc2VRdWV1ZUxhc3QgPSBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBjbG9uZTtcbiAgICAgICAgfSAvLyBVcGRhdGUgdGhlIHJlbWFpbmluZyBwcmlvcml0eSBpbiB0aGUgcXVldWUuXG4gICAgICAgIC8vIFRPRE86IERvbid0IG5lZWQgdG8gYWNjdW11bGF0ZSB0aGlzLiBJbnN0ZWFkLCB3ZSBjYW4gcmVtb3ZlXG4gICAgICAgIC8vIHJlbmRlckxhbmVzIGZyb20gdGhlIG9yaWdpbmFsIGxhbmVzLlxuXG5cbiAgICAgICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcyA9IG1lcmdlTGFuZXMoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcywgdXBkYXRlTGFuZSk7XG4gICAgICAgIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXModXBkYXRlTGFuZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIHVwZGF0ZSBkb2VzIGhhdmUgc3VmZmljaWVudCBwcmlvcml0eS5cbiAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgLy8gVGhpcyB1cGRhdGUgaXMgZ29pbmcgdG8gYmUgY29tbWl0dGVkIHNvIHdlIG5ldmVyIHdhbnQgdW5jb21taXRcbiAgICAgICAgICAgIC8vIGl0LiBVc2luZyBOb0xhbmUgd29ya3MgYmVjYXVzZSAwIGlzIGEgc3Vic2V0IG9mIGFsbCBiaXRtYXNrcywgc29cbiAgICAgICAgICAgIC8vIHRoaXMgd2lsbCBuZXZlciBiZSBza2lwcGVkIGJ5IHRoZSBjaGVjayBhYm92ZS5cbiAgICAgICAgICAgIGxhbmU6IE5vTGFuZSxcbiAgICAgICAgICAgIGFjdGlvbjogdXBkYXRlLmFjdGlvbixcbiAgICAgICAgICAgIGhhc0VhZ2VyU3RhdGU6IHVwZGF0ZS5oYXNFYWdlclN0YXRlLFxuICAgICAgICAgICAgZWFnZXJTdGF0ZTogdXBkYXRlLmVhZ2VyU3RhdGUsXG4gICAgICAgICAgICBuZXh0OiBudWxsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cblxuICAgICAgICBpZiAodXBkYXRlLmhhc0VhZ2VyU3RhdGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHVwZGF0ZSBpcyBhIHN0YXRlIHVwZGF0ZSAobm90IGEgcmVkdWNlcikgYW5kIHdhcyBwcm9jZXNzZWQgZWFnZXJseSxcbiAgICAgICAgICAvLyB3ZSBjYW4gdXNlIHRoZSBlYWdlcmx5IGNvbXB1dGVkIHN0YXRlXG4gICAgICAgICAgbmV3U3RhdGUgPSB1cGRhdGUuZWFnZXJTdGF0ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgYWN0aW9uID0gdXBkYXRlLmFjdGlvbjtcbiAgICAgICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBudWxsICYmIHVwZGF0ZSAhPT0gZmlyc3QpO1xuXG4gICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcbiAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBuZXdCYXNlUXVldWVGaXJzdDtcbiAgICB9IC8vIE1hcmsgdGhhdCB0aGUgZmliZXIgcGVyZm9ybWVkIHdvcmssIGJ1dCBvbmx5IGlmIHRoZSBuZXcgc3RhdGUgaXNcbiAgICAvLyBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCBzdGF0ZS5cblxuXG4gICAgaWYgKCFvYmplY3RJcyhuZXdTdGF0ZSwgaG9vay5tZW1vaXplZFN0YXRlKSkge1xuICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICBob29rLmJhc2VTdGF0ZSA9IG5ld0Jhc2VTdGF0ZTtcbiAgICBob29rLmJhc2VRdWV1ZSA9IG5ld0Jhc2VRdWV1ZUxhc3Q7XG4gICAgcXVldWUubGFzdFJlbmRlcmVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBJbnRlcmxlYXZlZCB1cGRhdGVzIGFyZSBzdG9yZWQgb24gYSBzZXBhcmF0ZSBxdWV1ZS4gV2UgYXJlbid0IGdvaW5nIHRvXG4gIC8vIHByb2Nlc3MgdGhlbSBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCB3ZSBkbyBuZWVkIHRvIHRyYWNrIHdoaWNoIGxhbmVzXG4gIC8vIGFyZSByZW1haW5pbmcuXG5cblxuICB2YXIgbGFzdEludGVybGVhdmVkID0gcXVldWUuaW50ZXJsZWF2ZWQ7XG5cbiAgaWYgKGxhc3RJbnRlcmxlYXZlZCAhPT0gbnVsbCkge1xuICAgIHZhciBpbnRlcmxlYXZlZCA9IGxhc3RJbnRlcmxlYXZlZDtcblxuICAgIGRvIHtcbiAgICAgIHZhciBpbnRlcmxlYXZlZExhbmUgPSBpbnRlcmxlYXZlZC5sYW5lO1xuICAgICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcyA9IG1lcmdlTGFuZXMoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcywgaW50ZXJsZWF2ZWRMYW5lKTtcbiAgICAgIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMoaW50ZXJsZWF2ZWRMYW5lKTtcbiAgICAgIGludGVybGVhdmVkID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICB9IHdoaWxlIChpbnRlcmxlYXZlZCAhPT0gbGFzdEludGVybGVhdmVkKTtcbiAgfSBlbHNlIGlmIChiYXNlUXVldWUgPT09IG51bGwpIHtcbiAgICAvLyBgcXVldWUubGFuZXNgIGlzIHVzZWQgZm9yIGVudGFuZ2xpbmcgdHJhbnNpdGlvbnMuIFdlIGNhbiBzZXQgaXQgYmFjayB0b1xuICAgIC8vIHplcm8gb25jZSB0aGUgcXVldWUgaXMgZW1wdHkuXG4gICAgcXVldWUubGFuZXMgPSBOb0xhbmVzO1xuICB9XG5cbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2g7XG4gIHJldHVybiBbaG9vay5tZW1vaXplZFN0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBxdWV1ZSA9IGhvb2sucXVldWU7XG5cbiAgaWYgKHF1ZXVlID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgaGF2ZSBhIHF1ZXVlLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICBxdWV1ZS5sYXN0UmVuZGVyZWRSZWR1Y2VyID0gcmVkdWNlcjsgLy8gVGhpcyBpcyBhIHJlLXJlbmRlci4gQXBwbHkgdGhlIG5ldyByZW5kZXIgcGhhc2UgdXBkYXRlcyB0byB0aGUgcHJldmlvdXNcbiAgLy8gd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoO1xuICB2YXIgbGFzdFJlbmRlclBoYXNlVXBkYXRlID0gcXVldWUucGVuZGluZztcbiAgdmFyIG5ld1N0YXRlID0gaG9vay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChsYXN0UmVuZGVyUGhhc2VVcGRhdGUgIT09IG51bGwpIHtcbiAgICAvLyBUaGUgcXVldWUgZG9lc24ndCBwZXJzaXN0IHBhc3QgdGhpcyByZW5kZXIgcGFzcy5cbiAgICBxdWV1ZS5wZW5kaW5nID0gbnVsbDtcbiAgICB2YXIgZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZSA9IGxhc3RSZW5kZXJQaGFzZVVwZGF0ZS5uZXh0O1xuICAgIHZhciB1cGRhdGUgPSBmaXJzdFJlbmRlclBoYXNlVXBkYXRlO1xuXG4gICAgZG8ge1xuICAgICAgLy8gUHJvY2VzcyB0aGlzIHJlbmRlciBwaGFzZSB1cGRhdGUuIFdlIGRvbid0IGhhdmUgdG8gY2hlY2sgdGhlXG4gICAgICAvLyBwcmlvcml0eSBiZWNhdXNlIGl0IHdpbGwgYWx3YXlzIGJlIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50XG4gICAgICAvLyByZW5kZXIncy5cbiAgICAgIHZhciBhY3Rpb24gPSB1cGRhdGUuYWN0aW9uO1xuICAgICAgbmV3U3RhdGUgPSByZWR1Y2VyKG5ld1N0YXRlLCBhY3Rpb24pO1xuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBmaXJzdFJlbmRlclBoYXNlVXBkYXRlKTsgLy8gTWFyayB0aGF0IHRoZSBmaWJlciBwZXJmb3JtZWQgd29yaywgYnV0IG9ubHkgaWYgdGhlIG5ldyBzdGF0ZSBpc1xuICAgIC8vIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IHN0YXRlLlxuXG5cbiAgICBpZiAoIW9iamVjdElzKG5ld1N0YXRlLCBob29rLm1lbW9pemVkU3RhdGUpKSB7XG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlOyAvLyBEb24ndCBwZXJzaXN0IHRoZSBzdGF0ZSBhY2N1bXVsYXRlZCBmcm9tIHRoZSByZW5kZXIgcGhhc2UgdXBkYXRlcyB0b1xuICAgIC8vIHRoZSBiYXNlIHN0YXRlIHVubGVzcyB0aGUgcXVldWUgaXMgZW1wdHkuXG4gICAgLy8gVE9ETzogTm90IHN1cmUgaWYgdGhpcyBpcyB0aGUgZGVzaXJlZCBzZW1hbnRpY3MsIGJ1dCBpdCdzIHdoYXQgd2VcbiAgICAvLyBkbyBmb3IgZ0RTRlAuIEkgY2FuJ3QgcmVtZW1iZXIgd2h5LlxuXG4gICAgaWYgKGhvb2suYmFzZVF1ZXVlID09PSBudWxsKSB7XG4gICAgICBob29rLmJhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH1cblxuICAgIHF1ZXVlLmxhc3RSZW5kZXJlZFN0YXRlID0gbmV3U3RhdGU7XG4gIH1cblxuICByZXR1cm4gW25ld1N0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIG1vdW50TXV0YWJsZVNvdXJjZShzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlTXV0YWJsZVNvdXJjZShzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxO1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0U25hcHNob3Q7XG4gIHZhciBpc0h5ZHJhdGluZyA9IGdldElzSHlkcmF0aW5nKCk7XG5cbiAgaWYgKGlzSHlkcmF0aW5nKSB7XG4gICAgaWYgKGdldFNlcnZlclNuYXBzaG90ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnZXRTZXJ2ZXJTbmFwc2hvdCwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yICcgKyAnc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQuIFdpbGwgcmV2ZXJ0IHRvIGNsaWVudCByZW5kZXJpbmcuJyk7XG4gICAgfVxuXG4gICAgbmV4dFNuYXBzaG90ID0gZ2V0U2VydmVyU25hcHNob3QoKTtcblxuICAgIHtcbiAgICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgICAgaWYgKG5leHRTbmFwc2hvdCAhPT0gZ2V0U2VydmVyU25hcHNob3QoKSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNlcnZlclNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5leHRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICB7XG4gICAgICBpZiAoIWRpZFdhcm5VbmNhY2hlZEdldFNuYXBzaG90KSB7XG4gICAgICAgIHZhciBjYWNoZWRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICAgICAgaWYgKCFvYmplY3RJcyhuZXh0U25hcHNob3QsIGNhY2hlZFNuYXBzaG90KSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBVbmxlc3Mgd2UncmUgcmVuZGVyaW5nIGEgYmxvY2tpbmcgbGFuZSwgc2NoZWR1bGUgYSBjb25zaXN0ZW5jeSBjaGVjay5cbiAgICAvLyBSaWdodCBiZWZvcmUgY29tbWl0dGluZywgd2Ugd2lsbCB3YWxrIHRoZSB0cmVlIGFuZCBjaGVjayBpZiBhbnkgb2YgdGhlXG4gICAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZC5cbiAgICAvL1xuICAgIC8vIFdlIHdvbid0IGRvIHRoaXMgaWYgd2UncmUgaHlkcmF0aW5nIHNlcnZlci1yZW5kZXJlZCBjb250ZW50LCBiZWNhdXNlIGlmXG4gICAgLy8gdGhlIGNvbnRlbnQgaXMgc3RhbGUsIGl0J3MgYWxyZWFkeSB2aXNpYmxlIGFueXdheS4gSW5zdGVhZCB3ZSdsbCBwYXRjaFxuICAgIC8vIGl0IHVwIGluIGEgcGFzc2l2ZSBlZmZlY3QuXG5cblxuICAgIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG5cbiAgICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHdvcmstaW4tcHJvZ3Jlc3Mgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCByZW5kZXJMYW5lcykpIHtcbiAgICAgIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuICAgIH1cbiAgfSAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gVGhpcyBicmVha3MgdGhlXG4gIC8vIG5vcm1hbCBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgYmVjYXVzZSBzdG9yZSB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gIHZhciBpbnN0ID0ge1xuICAgIHZhbHVlOiBuZXh0U25hcHNob3QsXG4gICAgZ2V0U25hcHNob3Q6IGdldFNuYXBzaG90XG4gIH07XG4gIGhvb2sucXVldWUgPSBpbnN0OyAvLyBTY2hlZHVsZSBhbiBlZmZlY3QgdG8gc3Vic2NyaWJlIHRvIHRoZSBzdG9yZS5cblxuICBtb3VudEVmZmVjdChzdWJzY3JpYmVUb1N0b3JlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIHN1YnNjcmliZSksIFtzdWJzY3JpYmVdKTsgLy8gU2NoZWR1bGUgYW4gZWZmZWN0IHRvIHVwZGF0ZSB0aGUgbXV0YWJsZSBpbnN0YW5jZSBmaWVsZHMuIFdlIHdpbGwgdXBkYXRlXG4gIC8vIHRoaXMgd2hlbmV2ZXIgc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgb3IgdmFsdWUgY2hhbmdlcy4gQmVjYXVzZSB0aGVyZSdzIG5vXG4gIC8vIGNsZWFuLXVwIGZ1bmN0aW9uLCBhbmQgd2UgdHJhY2sgdGhlIGRlcHMgY29ycmVjdGx5LCB3ZSBjYW4gY2FsbCBwdXNoRWZmZWN0XG4gIC8vIGRpcmVjdGx5LCB3aXRob3V0IHN0b3JpbmcgYW55IGFkZGl0aW9uYWwgc3RhdGUuIEZvciB0aGUgc2FtZSByZWFzb24sIHdlXG4gIC8vIGRvbid0IG5lZWQgdG8gc2V0IGEgc3RhdGljIGZsYWcsIGVpdGhlci5cbiAgLy8gVE9ETzogV2UgY2FuIG1vdmUgdGhpcyB0byB0aGUgcGFzc2l2ZSBwaGFzZSBvbmNlIHdlIGFkZCBhIHByZS1jb21taXRcbiAgLy8gY29uc2lzdGVuY3kgY2hlY2suIFNlZSB0aGUgbmV4dCBjb21tZW50LlxuXG4gIGZpYmVyLmZsYWdzIHw9IFBhc3NpdmU7XG4gIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSQxLCB1cGRhdGVTdG9yZUluc3RhbmNlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpLCB1bmRlZmluZWQsIG51bGwpO1xuICByZXR1cm4gbmV4dFNuYXBzaG90O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxO1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpOyAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gVGhpcyBicmVha3MgdGhlXG4gIC8vIG5vcm1hbCBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgYmVjYXVzZSBzdG9yZSB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cbiAgdmFyIG5leHRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAge1xuICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgIHZhciBjYWNoZWRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICAgIGlmICghb2JqZWN0SXMobmV4dFNuYXBzaG90LCBjYWNoZWRTbmFwc2hvdCkpIHtcbiAgICAgICAgZXJyb3IoJ1RoZSByZXN1bHQgb2YgZ2V0U25hcHNob3Qgc2hvdWxkIGJlIGNhY2hlZCB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wJyk7XG5cbiAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwcmV2U25hcHNob3QgPSBob29rLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzbmFwc2hvdENoYW5nZWQgPSAhb2JqZWN0SXMocHJldlNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuXG4gIGlmIChzbmFwc2hvdENoYW5nZWQpIHtcbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgfVxuXG4gIHZhciBpbnN0ID0gaG9vay5xdWV1ZTtcbiAgdXBkYXRlRWZmZWN0KHN1YnNjcmliZVRvU3RvcmUuYmluZChudWxsLCBmaWJlciwgaW5zdCwgc3Vic2NyaWJlKSwgW3N1YnNjcmliZV0pOyAvLyBXaGVuZXZlciBnZXRTbmFwc2hvdCBvciBzdWJzY3JpYmUgY2hhbmdlcywgd2UgbmVlZCB0byBjaGVjayBpbiB0aGVcbiAgLy8gY29tbWl0IHBoYXNlIGlmIHRoZXJlIHdhcyBhbiBpbnRlcmxlYXZlZCBtdXRhdGlvbi4gSW4gY29uY3VycmVudCBtb2RlXG4gIC8vIHRoaXMgY2FuIGhhcHBlbiBhbGwgdGhlIHRpbWUsIGJ1dCBldmVuIGluIHN5bmNocm9ub3VzIG1vZGUsIGFuIGVhcmxpZXJcbiAgLy8gZWZmZWN0IG1heSBoYXZlIG11dGF0ZWQgdGhlIHN0b3JlLlxuXG4gIGlmIChpbnN0LmdldFNuYXBzaG90ICE9PSBnZXRTbmFwc2hvdCB8fCBzbmFwc2hvdENoYW5nZWQgfHwgLy8gQ2hlY2sgaWYgdGhlIHN1c2JjcmliZSBmdW5jdGlvbiBjaGFuZ2VkLiBXZSBjYW4gc2F2ZSBzb21lIG1lbW9yeSBieVxuICAvLyBjaGVja2luZyB3aGV0aGVyIHdlIHNjaGVkdWxlZCBhIHN1YnNjcmlwdGlvbiBlZmZlY3QgYWJvdmUuXG4gIHdvcmtJblByb2dyZXNzSG9vayAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzc0hvb2subWVtb2l6ZWRTdGF0ZS50YWcgJiBIYXNFZmZlY3QpIHtcbiAgICBmaWJlci5mbGFncyB8PSBQYXNzaXZlO1xuICAgIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSQxLCB1cGRhdGVTdG9yZUluc3RhbmNlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpLCB1bmRlZmluZWQsIG51bGwpOyAvLyBVbmxlc3Mgd2UncmUgcmVuZGVyaW5nIGEgYmxvY2tpbmcgbGFuZSwgc2NoZWR1bGUgYSBjb25zaXN0ZW5jeSBjaGVjay5cbiAgICAvLyBSaWdodCBiZWZvcmUgY29tbWl0dGluZywgd2Ugd2lsbCB3YWxrIHRoZSB0cmVlIGFuZCBjaGVjayBpZiBhbnkgb2YgdGhlXG4gICAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZC5cblxuICAgIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG5cbiAgICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHdvcmstaW4tcHJvZ3Jlc3Mgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCByZW5kZXJMYW5lcykpIHtcbiAgICAgIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXh0U25hcHNob3Q7XG59XG5cbmZ1bmN0aW9uIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCByZW5kZXJlZFNuYXBzaG90KSB7XG4gIGZpYmVyLmZsYWdzIHw9IFN0b3JlQ29uc2lzdGVuY3k7XG4gIHZhciBjaGVjayA9IHtcbiAgICBnZXRTbmFwc2hvdDogZ2V0U25hcHNob3QsXG4gICAgdmFsdWU6IHJlbmRlcmVkU25hcHNob3RcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzID0gW2NoZWNrXTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgc3RvcmVzID0gY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzO1xuXG4gICAgaWYgKHN0b3JlcyA9PT0gbnVsbCkge1xuICAgICAgY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzID0gW2NoZWNrXTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RvcmVzLnB1c2goY2hlY2spO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVTdG9yZUluc3RhbmNlKGZpYmVyLCBpbnN0LCBuZXh0U25hcHNob3QsIGdldFNuYXBzaG90KSB7XG4gIC8vIFRoZXNlIGFyZSB1cGRhdGVkIGluIHRoZSBwYXNzaXZlIHBoYXNlXG4gIGluc3QudmFsdWUgPSBuZXh0U25hcHNob3Q7XG4gIGluc3QuZ2V0U25hcHNob3QgPSBnZXRTbmFwc2hvdDsgLy8gU29tZXRoaW5nIG1heSBoYXZlIGJlZW4gbXV0YXRlZCBpbiBiZXR3ZWVuIHJlbmRlciBhbmQgY29tbWl0LiBUaGlzIGNvdWxkXG4gIC8vIGhhdmUgYmVlbiBpbiBhbiBldmVudCB0aGF0IGZpcmVkIGJlZm9yZSB0aGUgcGFzc2l2ZSBlZmZlY3RzLCBvciBpdCBjb3VsZFxuICAvLyBoYXZlIGJlZW4gaW4gYSBsYXlvdXQgZWZmZWN0LiBJbiB0aGF0IGNhc2UsIHdlIHdvdWxkIGhhdmUgdXNlZCB0aGUgb2xkXG4gIC8vIHNuYXBzaG8gYW5kIGdldFNuYXBzaG90IHZhbHVlcyB0byBiYWlsIG91dC4gV2UgbmVlZCB0byBjaGVjayBvbmUgbW9yZSB0aW1lLlxuXG4gIGlmIChjaGVja0lmU25hcHNob3RDaGFuZ2VkKGluc3QpKSB7XG4gICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgZm9yY2VTdG9yZVJlcmVuZGVyKGZpYmVyKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdWJzY3JpYmVUb1N0b3JlKGZpYmVyLCBpbnN0LCBzdWJzY3JpYmUpIHtcbiAgdmFyIGhhbmRsZVN0b3JlQ2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgIC8vIFRoZSBzdG9yZSBjaGFuZ2VkLiBDaGVjayBpZiB0aGUgc25hcHNob3QgY2hhbmdlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlXG4gICAgLy8gcmVhZCBmcm9tIHRoZSBzdG9yZS5cbiAgICBpZiAoY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSkge1xuICAgICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgICBmb3JjZVN0b3JlUmVyZW5kZXIoZmliZXIpO1xuICAgIH1cbiAgfTsgLy8gU3Vic2NyaWJlIHRvIHRoZSBzdG9yZSBhbmQgcmV0dXJuIGEgY2xlYW4tdXAgZnVuY3Rpb24uXG5cblxuICByZXR1cm4gc3Vic2NyaWJlKGhhbmRsZVN0b3JlQ2hhbmdlKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSB7XG4gIHZhciBsYXRlc3RHZXRTbmFwc2hvdCA9IGluc3QuZ2V0U25hcHNob3Q7XG4gIHZhciBwcmV2VmFsdWUgPSBpbnN0LnZhbHVlO1xuXG4gIHRyeSB7XG4gICAgdmFyIG5leHRWYWx1ZSA9IGxhdGVzdEdldFNuYXBzaG90KCk7XG4gICAgcmV0dXJuICFvYmplY3RJcyhwcmV2VmFsdWUsIG5leHRWYWx1ZSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9yY2VTdG9yZVJlcmVuZGVyKGZpYmVyKSB7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuXG4gIGlmICh0eXBlb2YgaW5pdGlhbFN0YXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gJEZsb3dGaXhNZTogRmxvdyBkb2Vzbid0IGxpa2UgbWl4ZWQgdHlwZXNcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGUoKTtcbiAgfVxuXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IGhvb2suYmFzZVN0YXRlID0gaW5pdGlhbFN0YXRlO1xuICB2YXIgcXVldWUgPSB7XG4gICAgcGVuZGluZzogbnVsbCxcbiAgICBpbnRlcmxlYXZlZDogbnVsbCxcbiAgICBsYW5lczogTm9MYW5lcyxcbiAgICBkaXNwYXRjaDogbnVsbCxcbiAgICBsYXN0UmVuZGVyZWRSZWR1Y2VyOiBiYXNpY1N0YXRlUmVkdWNlcixcbiAgICBsYXN0UmVuZGVyZWRTdGF0ZTogaW5pdGlhbFN0YXRlXG4gIH07XG4gIGhvb2sucXVldWUgPSBxdWV1ZTtcbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2ggPSBkaXNwYXRjaFNldFN0YXRlLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgcXVldWUpO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgcmV0dXJuIHVwZGF0ZVJlZHVjZXIoYmFzaWNTdGF0ZVJlZHVjZXIpO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICByZXR1cm4gcmVyZW5kZXJSZWR1Y2VyKGJhc2ljU3RhdGVSZWR1Y2VyKTtcbn1cblxuZnVuY3Rpb24gcHVzaEVmZmVjdCh0YWcsIGNyZWF0ZSwgZGVzdHJveSwgZGVwcykge1xuICB2YXIgZWZmZWN0ID0ge1xuICAgIHRhZzogdGFnLFxuICAgIGNyZWF0ZTogY3JlYXRlLFxuICAgIGRlc3Ryb3k6IGRlc3Ryb3ksXG4gICAgZGVwczogZGVwcyxcbiAgICAvLyBDaXJjdWxhclxuICAgIG5leHQ6IG51bGxcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdC5uZXh0ID0gZWZmZWN0O1xuICB9IGVsc2Uge1xuICAgIHZhciBsYXN0RWZmZWN0ID0gY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgIGlmIChsYXN0RWZmZWN0ID09PSBudWxsKSB7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0Lm5leHQgPSBlZmZlY3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdEVmZmVjdCA9IGxhc3RFZmZlY3QubmV4dDtcbiAgICAgIGxhc3RFZmZlY3QubmV4dCA9IGVmZmVjdDtcbiAgICAgIGVmZmVjdC5uZXh0ID0gZmlyc3RFZmZlY3Q7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlZmZlY3Q7XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVmKGluaXRpYWxWYWx1ZSkge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAge1xuICAgIHZhciBfcmVmMiA9IHtcbiAgICAgIGN1cnJlbnQ6IGluaXRpYWxWYWx1ZVxuICAgIH07XG4gICAgaG9vay5tZW1vaXplZFN0YXRlID0gX3JlZjI7XG4gICAgcmV0dXJuIF9yZWYyO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVJlZihpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgcmV0dXJuIGhvb2subWVtb2l6ZWRTdGF0ZTtcbn1cblxuZnVuY3Rpb24gbW91bnRFZmZlY3RJbXBsKGZpYmVyRmxhZ3MsIGhvb2tGbGFncywgY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZmxhZ3MgfD0gZmliZXJGbGFncztcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gcHVzaEVmZmVjdChIYXNFZmZlY3QgfCBob29rRmxhZ3MsIGNyZWF0ZSwgdW5kZWZpbmVkLCBuZXh0RGVwcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUVmZmVjdEltcGwoZmliZXJGbGFncywgaG9va0ZsYWdzLCBjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIHZhciBkZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gIGlmIChjdXJyZW50SG9vayAhPT0gbnVsbCkge1xuICAgIHZhciBwcmV2RWZmZWN0ID0gY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgICBkZXN0cm95ID0gcHJldkVmZmVjdC5kZXN0cm95O1xuXG4gICAgaWYgKG5leHREZXBzICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldkRlcHMgPSBwcmV2RWZmZWN0LmRlcHM7XG5cbiAgICAgIGlmIChhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSkge1xuICAgICAgICBob29rLm1lbW9pemVkU3RhdGUgPSBwdXNoRWZmZWN0KGhvb2tGbGFncywgY3JlYXRlLCBkZXN0cm95LCBuZXh0RGVwcyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmZsYWdzIHw9IGZpYmVyRmxhZ3M7XG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgaG9va0ZsYWdzLCBjcmVhdGUsIGRlc3Ryb3ksIG5leHREZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIGlmICggKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgcmV0dXJuIG1vdW50RWZmZWN0SW1wbChNb3VudFBhc3NpdmVEZXYgfCBQYXNzaXZlIHwgUGFzc2l2ZVN0YXRpYywgUGFzc2l2ZSQxLCBjcmVhdGUsIGRlcHMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBtb3VudEVmZmVjdEltcGwoUGFzc2l2ZSB8IFBhc3NpdmVTdGF0aWMsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFBhc3NpdmUsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHJldHVybiBtb3VudEVmZmVjdEltcGwoVXBkYXRlLCBJbnNlcnRpb24sIGNyZWF0ZSwgZGVwcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgcmV0dXJuIHVwZGF0ZUVmZmVjdEltcGwoVXBkYXRlLCBJbnNlcnRpb24sIGNyZWF0ZSwgZGVwcyk7XG59XG5cbmZ1bmN0aW9uIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZmliZXJGbGFncyA9IFVwZGF0ZTtcblxuICB7XG4gICAgZmliZXJGbGFncyB8PSBMYXlvdXRTdGF0aWM7XG4gIH1cblxuICBpZiAoIChjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1vZGUgJiBTdHJpY3RFZmZlY3RzTW9kZSkgIT09IE5vTW9kZSkge1xuICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gIH1cblxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKGZpYmVyRmxhZ3MsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICByZXR1cm4gdXBkYXRlRWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gaW1wZXJhdGl2ZUhhbmRsZUVmZmVjdChjcmVhdGUsIHJlZikge1xuICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciByZWZDYWxsYmFjayA9IHJlZjtcblxuICAgIHZhciBfaW5zdCA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmQ2FsbGJhY2soX2luc3QpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZWZDYWxsYmFjayhudWxsKTtcbiAgICB9O1xuICB9IGVsc2UgaWYgKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHZhciByZWZPYmplY3QgPSByZWY7XG5cbiAgICB7XG4gICAgICBpZiAoIXJlZk9iamVjdC5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgZmlyc3QgYXJndW1lbnQgdG8gZWl0aGVyIGJlIGEgJyArICdyZWYgY2FsbGJhY2sgb3IgUmVhY3QuY3JlYXRlUmVmKCkgb2JqZWN0LiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCAnYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKHJlZk9iamVjdCkuam9pbignLCAnKSArICd9Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIF9pbnN0MiA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmT2JqZWN0LmN1cnJlbnQgPSBfaW5zdDI7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJlZk9iamVjdC5jdXJyZW50ID0gbnVsbDtcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xuXG5cbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XG4gIHZhciBmaWJlckZsYWdzID0gVXBkYXRlO1xuXG4gIHtcbiAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgfVxuXG4gIGlmICggKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgZmliZXJGbGFncyB8PSBNb3VudExheW91dERldjtcbiAgfVxuXG4gIHJldHVybiBtb3VudEVmZmVjdEltcGwoZmliZXJGbGFncywgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xuXG5cbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnREZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbikgey8vIFRoaXMgaG9vayBpcyBub3JtYWxseSBhIG5vLW9wLlxuICAvLyBUaGUgcmVhY3QtZGVidWctaG9va3MgcGFja2FnZSBpbmplY3RzIGl0cyBvd24gaW1wbGVtZW50YXRpb25cbiAgLy8gc28gdGhhdCBlLmcuIERldlRvb2xzIGNhbiBkaXNwbGF5IGN1c3RvbSBob29rIHZhbHVlcy5cbn1cblxudmFyIHVwZGF0ZURlYnVnVmFsdWUgPSBtb3VudERlYnVnVmFsdWU7XG5cbmZ1bmN0aW9uIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW2NhbGxiYWNrLCBuZXh0RGVwc107XG4gIHJldHVybiBjYWxsYmFjaztcbn1cblxuZnVuY3Rpb24gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIHZhciBwcmV2U3RhdGUgPSBob29rLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xuICAgIGlmIChuZXh0RGVwcyAhPT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZEZXBzID0gcHJldlN0YXRlWzFdO1xuXG4gICAgICBpZiAoYXJlSG9va0lucHV0c0VxdWFsKG5leHREZXBzLCBwcmV2RGVwcykpIHtcbiAgICAgICAgcmV0dXJuIHByZXZTdGF0ZVswXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBbY2FsbGJhY2ssIG5leHREZXBzXTtcbiAgcmV0dXJuIGNhbGxiYWNrO1xufVxuXG5mdW5jdGlvbiBtb3VudE1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICB2YXIgbmV4dFZhbHVlID0gbmV4dENyZWF0ZSgpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBbbmV4dFZhbHVlLCBuZXh0RGVwc107XG4gIHJldHVybiBuZXh0VmFsdWU7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgdmFyIHByZXZTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgLy8gQXNzdW1lIHRoZXNlIGFyZSBkZWZpbmVkLiBJZiB0aGV5J3JlIG5vdCwgYXJlSG9va0lucHV0c0VxdWFsIHdpbGwgd2Fybi5cbiAgICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBwcmV2RGVwcyA9IHByZXZTdGF0ZVsxXTtcblxuICAgICAgaWYgKGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpKSB7XG4gICAgICAgIHJldHVybiBwcmV2U3RhdGVbMF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5leHRWYWx1ZSA9IG5leHRDcmVhdGUoKTtcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW25leHRWYWx1ZSwgbmV4dERlcHNdO1xuICByZXR1cm4gbmV4dFZhbHVlO1xufVxuXG5mdW5jdGlvbiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSB2YWx1ZTtcbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciByZXNvbHZlZEN1cnJlbnRIb29rID0gY3VycmVudEhvb2s7XG4gIHZhciBwcmV2VmFsdWUgPSByZXNvbHZlZEN1cnJlbnRIb29rLm1lbW9pemVkU3RhdGU7XG4gIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlSW1wbChob29rLCBwcmV2VmFsdWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gcmVyZW5kZXJEZWZlcnJlZFZhbHVlKHZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAgaWYgKGN1cnJlbnRIb29rID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlcmVuZGVyIGR1cmluZyBhIG1vdW50LlxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVyZW5kZXIgZHVyaW5nIGFuIHVwZGF0ZS5cbiAgICB2YXIgcHJldlZhbHVlID0gY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgICByZXR1cm4gdXBkYXRlRGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgcHJldlZhbHVlLCB2YWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlRGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgcHJldlZhbHVlLCB2YWx1ZSkge1xuICB2YXIgc2hvdWxkRGVmZXJWYWx1ZSA9ICFpbmNsdWRlc09ubHlOb25VcmdlbnRMYW5lcyhyZW5kZXJMYW5lcyk7XG5cbiAgaWYgKHNob3VsZERlZmVyVmFsdWUpIHtcbiAgICAvLyBUaGlzIGlzIGFuIHVyZ2VudCB1cGRhdGUuIElmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZCwga2VlcCB1c2luZyB0aGVcbiAgICAvLyBwcmV2aW91cyB2YWx1ZSBhbmQgc3Bhd24gYSBkZWZlcnJlZCByZW5kZXIgdG8gdXBkYXRlIGl0IGxhdGVyLlxuICAgIGlmICghb2JqZWN0SXModmFsdWUsIHByZXZWYWx1ZSkpIHtcbiAgICAgIC8vIFNjaGVkdWxlIGEgZGVmZXJyZWQgcmVuZGVyXG4gICAgICB2YXIgZGVmZXJyZWRMYW5lID0gY2xhaW1OZXh0VHJhbnNpdGlvbkxhbmUoKTtcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMgPSBtZXJnZUxhbmVzKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMsIGRlZmVycmVkTGFuZSk7XG4gICAgICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKGRlZmVycmVkTGFuZSk7IC8vIFNldCB0aGlzIHRvIHRydWUgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcmVuZGVyZWQgdmFsdWUgaXMgaW5jb25zaXN0ZW50XG4gICAgICAvLyBmcm9tIHRoZSBsYXRlc3QgdmFsdWUuIFRoZSBuYW1lIFwiYmFzZVN0YXRlXCIgZG9lc24ndCByZWFsbHkgbWF0Y2ggaG93IHdlXG4gICAgICAvLyB1c2UgaXQgYmVjYXVzZSB3ZSdyZSByZXVzaW5nIGEgc3RhdGUgaG9vayBmaWVsZCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGFcbiAgICAgIC8vIG5ldyBvbmUuXG5cbiAgICAgIGhvb2suYmFzZVN0YXRlID0gdHJ1ZTtcbiAgICB9IC8vIFJldXNlIHRoZSBwcmV2aW91cyB2YWx1ZVxuXG5cbiAgICByZXR1cm4gcHJldlZhbHVlO1xuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgbm90IGFuIHVyZ2VudCB1cGRhdGUsIHNvIHdlIGNhbiB1c2UgdGhlIGxhdGVzdCB2YWx1ZSByZWdhcmRsZXNzXG4gICAgLy8gb2Ygd2hhdCBpdCBpcy4gTm8gbmVlZCB0byBkZWZlciBpdC5cbiAgICAvLyBIb3dldmVyLCBpZiB3ZSdyZSBjdXJyZW50bHkgaW5zaWRlIGEgc3Bhd25lZCByZW5kZXIsIHRoZW4gd2UgbmVlZCB0byBtYXJrXG4gICAgLy8gdGhpcyBhcyBhbiB1cGRhdGUgdG8gcHJldmVudCB0aGUgZmliZXIgZnJvbSBiYWlsaW5nIG91dC5cbiAgICAvL1xuICAgIC8vIGBiYXNlU3RhdGVgIGlzIHRydWUgd2hlbiB0aGUgY3VycmVudCB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcmVuZGVyZWRcbiAgICAvLyB2YWx1ZS4gVGhlIG5hbWUgZG9lc24ndCByZWFsbHkgbWF0Y2ggaG93IHdlIHVzZSBpdCBiZWNhdXNlIHdlJ3JlIHJldXNpbmdcbiAgICAvLyBhIHN0YXRlIGhvb2sgZmllbGQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmUuXG4gICAgaWYgKGhvb2suYmFzZVN0YXRlKSB7XG4gICAgICAvLyBGbGlwIHRoaXMgYmFjayB0byBmYWxzZS5cbiAgICAgIGhvb2suYmFzZVN0YXRlID0gZmFsc2U7XG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdGFydFRyYW5zaXRpb24oc2V0UGVuZGluZywgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIHByZXZpb3VzUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KGhpZ2hlckV2ZW50UHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSwgQ29udGludW91c0V2ZW50UHJpb3JpdHkpKTtcbiAgc2V0UGVuZGluZyh0cnVlKTtcbiAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMi50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQyLnRyYW5zaXRpb24gPSB7fTtcbiAgdmFyIGN1cnJlbnRUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMi50cmFuc2l0aW9uO1xuXG4gIHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQyLnRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMgPSBuZXcgU2V0KCk7XG4gIH1cblxuICB0cnkge1xuICAgIHNldFBlbmRpbmcoZmFsc2UpO1xuICAgIGNhbGxiYWNrKCk7XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDIudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuXG4gICAge1xuICAgICAgaWYgKHByZXZUcmFuc2l0aW9uID09PSBudWxsICYmIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzKSB7XG4gICAgICAgIHZhciB1cGRhdGVkRmliZXJzQ291bnQgPSBjdXJyZW50VHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5zaXplO1xuXG4gICAgICAgIGlmICh1cGRhdGVkRmliZXJzQ291bnQgPiAxMCkge1xuICAgICAgICAgIHdhcm4oJ0RldGVjdGVkIGEgbGFyZ2UgbnVtYmVyIG9mIHVwZGF0ZXMgaW5zaWRlIHN0YXJ0VHJhbnNpdGlvbi4gJyArICdJZiB0aGlzIGlzIGR1ZSB0byBhIHN1YnNjcmlwdGlvbiBwbGVhc2UgcmUtd3JpdGUgaXQgdG8gdXNlIFJlYWN0IHByb3ZpZGVkIGhvb2tzLiAnICsgJ090aGVyd2lzZSBjb25jdXJyZW50IG1vZGUgZ3VhcmFudGVlcyBhcmUgb2ZmIHRoZSB0YWJsZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50VHJhbnNpdGlvbigpIHtcbiAgdmFyIF9tb3VudFN0YXRlID0gbW91bnRTdGF0ZShmYWxzZSksXG4gICAgICBpc1BlbmRpbmcgPSBfbW91bnRTdGF0ZVswXSxcbiAgICAgIHNldFBlbmRpbmcgPSBfbW91bnRTdGF0ZVsxXTsgLy8gVGhlIGBzdGFydGAgbWV0aG9kIG5ldmVyIGNoYW5nZXMuXG5cblxuICB2YXIgc3RhcnQgPSBzdGFydFRyYW5zaXRpb24uYmluZChudWxsLCBzZXRQZW5kaW5nKTtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBzdGFydDtcbiAgcmV0dXJuIFtpc1BlbmRpbmcsIHN0YXJ0XTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVHJhbnNpdGlvbigpIHtcbiAgdmFyIF91cGRhdGVTdGF0ZSA9IHVwZGF0ZVN0YXRlKCksXG4gICAgICBpc1BlbmRpbmcgPSBfdXBkYXRlU3RhdGVbMF07XG5cbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHN0YXJ0ID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gW2lzUGVuZGluZywgc3RhcnRdO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclRyYW5zaXRpb24oKSB7XG4gIHZhciBfcmVyZW5kZXJTdGF0ZSA9IHJlcmVuZGVyU3RhdGUoKSxcbiAgICAgIGlzUGVuZGluZyA9IF9yZXJlbmRlclN0YXRlWzBdO1xuXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBzdGFydCA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgcmV0dXJuIFtpc1BlbmRpbmcsIHN0YXJ0XTtcbn1cblxudmFyIGlzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2UgPSBmYWxzZTtcbmZ1bmN0aW9uIGdldElzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2VJbkRFVigpIHtcbiAge1xuICAgIHJldHVybiBpc1VwZGF0aW5nT3BhcXVlVmFsdWVJblJlbmRlclBoYXNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50SWQoKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTsgLy8gVE9ETzogSW4gRml6eiwgaWQgZ2VuZXJhdGlvbiBpcyBzcGVjaWZpYyB0byBlYWNoIHNlcnZlciBjb25maWcuIE1heWJlIHdlXG4gIC8vIHNob3VsZCBkbyB0aGlzIGluIEZpYmVyLCB0b28/IERlZmVycmluZyB0aGlzIGRlY2lzaW9uIGZvciBub3cgYmVjYXVzZVxuICAvLyB0aGVyZSdzIG5vIG90aGVyIHBsYWNlIHRvIHN0b3JlIHRoZSBwcmVmaXggZXhjZXB0IGZvciBhbiBpbnRlcm5hbCBmaWVsZCBvblxuICAvLyB0aGUgcHVibGljIGNyZWF0ZVJvb3Qgb2JqZWN0LCB3aGljaCB0aGUgZmliZXIgdHJlZSBkb2VzIG5vdCBjdXJyZW50bHkgaGF2ZVxuICAvLyBhIHJlZmVyZW5jZSB0by5cblxuICB2YXIgaWRlbnRpZmllclByZWZpeCA9IHJvb3QuaWRlbnRpZmllclByZWZpeDtcbiAgdmFyIGlkO1xuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgdmFyIHRyZWVJZCA9IGdldFRyZWVJZCgpOyAvLyBVc2UgYSBjYXB0aWFsIFIgcHJlZml4IGZvciBzZXJ2ZXItZ2VuZXJhdGVkIGlkcy5cblxuICAgIGlkID0gJzonICsgaWRlbnRpZmllclByZWZpeCArICdSJyArIHRyZWVJZDsgLy8gVW5sZXNzIHRoaXMgaXMgdGhlIGZpcnN0IGlkIGF0IHRoaXMgbGV2ZWwsIGFwcGVuZCBhIG51bWJlciBhdCB0aGUgZW5kXG4gICAgLy8gdGhhdCByZXByZXNlbnRzIHRoZSBwb3NpdGlvbiBvZiB0aGlzIHVzZUlkIGhvb2sgYW1vbmcgYWxsIHRoZSB1c2VJZFxuICAgIC8vIGhvb2tzIGZvciB0aGlzIGZpYmVyLlxuXG4gICAgdmFyIGxvY2FsSWQgPSBsb2NhbElkQ291bnRlcisrO1xuXG4gICAgaWYgKGxvY2FsSWQgPiAwKSB7XG4gICAgICBpZCArPSAnSCcgKyBsb2NhbElkLnRvU3RyaW5nKDMyKTtcbiAgICB9XG5cbiAgICBpZCArPSAnOic7XG4gIH0gZWxzZSB7XG4gICAgLy8gVXNlIGEgbG93ZXJjYXNlIHIgcHJlZml4IGZvciBjbGllbnQtZ2VuZXJhdGVkIGlkcy5cbiAgICB2YXIgZ2xvYmFsQ2xpZW50SWQgPSBnbG9iYWxDbGllbnRJZENvdW50ZXIrKztcbiAgICBpZCA9ICc6JyArIGlkZW50aWZpZXJQcmVmaXggKyAncicgKyBnbG9iYWxDbGllbnRJZC50b1N0cmluZygzMikgKyAnOic7XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBpZDtcbiAgcmV0dXJuIGlkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJZCgpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGlkID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gaWQ7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoUmVkdWNlckFjdGlvbihmaWJlciwgcXVldWUsIGFjdGlvbikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXCIgKyAnc2Vjb25kIGNhbGxiYWNrIGFyZ3VtZW50LiBUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgJyArICdyZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gdGhlIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgbGFuZTogbGFuZSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICBlbnF1ZXVlUmVuZGVyUGhhc2VVcGRhdGUocXVldWUsIHVwZGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuXG4gICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgICBlbnRhbmdsZVRyYW5zaXRpb25VcGRhdGUocm9vdCwgcXVldWUsIGxhbmUpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtVcGRhdGVJbkRldlRvb2xzKGZpYmVyLCBsYW5lKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hTZXRTdGF0ZShmaWJlciwgcXVldWUsIGFjdGlvbikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXCIgKyAnc2Vjb25kIGNhbGxiYWNrIGFyZ3VtZW50LiBUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgJyArICdyZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gdGhlIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgbGFuZTogbGFuZSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICBlbnF1ZXVlUmVuZGVyUGhhc2VVcGRhdGUocXVldWUsIHVwZGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChmaWJlci5sYW5lcyA9PT0gTm9MYW5lcyAmJiAoYWx0ZXJuYXRlID09PSBudWxsIHx8IGFsdGVybmF0ZS5sYW5lcyA9PT0gTm9MYW5lcykpIHtcbiAgICAgIC8vIFRoZSBxdWV1ZSBpcyBjdXJyZW50bHkgZW1wdHksIHdoaWNoIG1lYW5zIHdlIGNhbiBlYWdlcmx5IGNvbXB1dGUgdGhlXG4gICAgICAvLyBuZXh0IHN0YXRlIGJlZm9yZSBlbnRlcmluZyB0aGUgcmVuZGVyIHBoYXNlLiBJZiB0aGUgbmV3IHN0YXRlIGlzIHRoZVxuICAgICAgLy8gc2FtZSBhcyB0aGUgY3VycmVudCBzdGF0ZSwgd2UgbWF5IGJlIGFibGUgdG8gYmFpbCBvdXQgZW50aXJlbHkuXG4gICAgICB2YXIgbGFzdFJlbmRlcmVkUmVkdWNlciA9IHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXI7XG5cbiAgICAgIGlmIChsYXN0UmVuZGVyZWRSZWR1Y2VyICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBwcmV2RGlzcGF0Y2hlcjtcblxuICAgICAgICB7XG4gICAgICAgICAgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YXIgY3VycmVudFN0YXRlID0gcXVldWUubGFzdFJlbmRlcmVkU3RhdGU7XG4gICAgICAgICAgdmFyIGVhZ2VyU3RhdGUgPSBsYXN0UmVuZGVyZWRSZWR1Y2VyKGN1cnJlbnRTdGF0ZSwgYWN0aW9uKTsgLy8gU3Rhc2ggdGhlIGVhZ2VybHkgY29tcHV0ZWQgc3RhdGUsIGFuZCB0aGUgcmVkdWNlciB1c2VkIHRvIGNvbXB1dGVcbiAgICAgICAgICAvLyBpdCwgb24gdGhlIHVwZGF0ZSBvYmplY3QuIElmIHRoZSByZWR1Y2VyIGhhc24ndCBjaGFuZ2VkIGJ5IHRoZVxuICAgICAgICAgIC8vIHRpbWUgd2UgZW50ZXIgdGhlIHJlbmRlciBwaGFzZSwgdGhlbiB0aGUgZWFnZXIgc3RhdGUgY2FuIGJlIHVzZWRcbiAgICAgICAgICAvLyB3aXRob3V0IGNhbGxpbmcgdGhlIHJlZHVjZXIgYWdhaW4uXG5cbiAgICAgICAgICB1cGRhdGUuaGFzRWFnZXJTdGF0ZSA9IHRydWU7XG4gICAgICAgICAgdXBkYXRlLmVhZ2VyU3RhdGUgPSBlYWdlclN0YXRlO1xuXG4gICAgICAgICAgaWYgKG9iamVjdElzKGVhZ2VyU3RhdGUsIGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgICAgIC8vIEZhc3QgcGF0aC4gV2UgY2FuIGJhaWwgb3V0IHdpdGhvdXQgc2NoZWR1bGluZyBSZWFjdCB0byByZS1yZW5kZXIuXG4gICAgICAgICAgICAvLyBJdCdzIHN0aWxsIHBvc3NpYmxlIHRoYXQgd2UnbGwgbmVlZCB0byByZWJhc2UgdGhpcyB1cGRhdGUgbGF0ZXIsXG4gICAgICAgICAgICAvLyBpZiB0aGUgY29tcG9uZW50IHJlLXJlbmRlcnMgZm9yIGEgZGlmZmVyZW50IHJlYXNvbiBhbmQgYnkgdGhhdFxuICAgICAgICAgICAgLy8gdGltZSB0aGUgcmVkdWNlciBoYXMgY2hhbmdlZC5cbiAgICAgICAgICAgIC8vIFRPRE86IERvIHdlIHN0aWxsIG5lZWQgdG8gZW50YW5nbGUgdHJhbnNpdGlvbnMgaW4gdGhpcyBjYXNlP1xuICAgICAgICAgICAgZW5xdWV1ZUNvbmN1cnJlbnRIb29rVXBkYXRlQW5kRWFnZXJseUJhaWxvdXQoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsvLyBTdXBwcmVzcyB0aGUgZXJyb3IuIEl0IHdpbGwgdGhyb3cgYWdhaW4gaW4gdGhlIHJlbmRlciBwaGFzZS5cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRIb29rVXBkYXRlKGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9uVXBkYXRlKHJvb3QsIHF1ZXVlLCBsYW5lKTtcbiAgICB9XG4gIH1cblxuICBtYXJrVXBkYXRlSW5EZXZUb29scyhmaWJlciwgbGFuZSk7XG59XG5cbmZ1bmN0aW9uIGlzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcbiAgcmV0dXJuIGZpYmVyID09PSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUgPT09IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDE7XG59XG5cbmZ1bmN0aW9uIGVucXVldWVSZW5kZXJQaGFzZVVwZGF0ZShxdWV1ZSwgdXBkYXRlKSB7XG4gIC8vIFRoaXMgaXMgYSByZW5kZXIgcGhhc2UgdXBkYXRlLiBTdGFzaCBpdCBpbiBhIGxhemlseS1jcmVhdGVkIG1hcCBvZlxuICAvLyBxdWV1ZSAtPiBsaW5rZWQgbGlzdCBvZiB1cGRhdGVzLiBBZnRlciB0aGlzIHJlbmRlciBwYXNzLCB3ZSdsbCByZXN0YXJ0XG4gIC8vIGFuZCBhcHBseSB0aGUgc3Rhc2hlZCB1cGRhdGVzIG9uIHRvcCBvZiB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MgPSBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gdHJ1ZTtcbiAgdmFyIHBlbmRpbmcgPSBxdWV1ZS5wZW5kaW5nO1xuXG4gIGlmIChwZW5kaW5nID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcbiAgfVxuXG4gIHF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XG59IC8vIFRPRE86IE1vdmUgdG8gUmVhY3RGaWJlckNvbmN1cnJlbnRVcGRhdGVzP1xuXG5cbmZ1bmN0aW9uIGVudGFuZ2xlVHJhbnNpdGlvblVwZGF0ZShyb290LCBxdWV1ZSwgbGFuZSkge1xuICBpZiAoaXNUcmFuc2l0aW9uTGFuZShsYW5lKSkge1xuICAgIHZhciBxdWV1ZUxhbmVzID0gcXVldWUubGFuZXM7IC8vIElmIGFueSBlbnRhbmdsZWQgbGFuZXMgYXJlIG5vIGxvbmdlciBwZW5kaW5nIG9uIHRoZSByb290LCB0aGVuIHRoZXlcbiAgICAvLyBtdXN0IGhhdmUgZmluaXNoZWQuIFdlIGNhbiByZW1vdmUgdGhlbSBmcm9tIHRoZSBzaGFyZWQgcXVldWUsIHdoaWNoXG4gICAgLy8gcmVwcmVzZW50cyBhIHN1cGVyc2V0IG9mIHRoZSBhY3R1YWxseSBwZW5kaW5nIGxhbmVzLiBJbiBzb21lIGNhc2VzIHdlXG4gICAgLy8gbWF5IGVudGFuZ2xlIG1vcmUgdGhhbiB3ZSBuZWVkIHRvLCBidXQgdGhhdCdzIE9LLiBJbiBmYWN0IGl0J3Mgd29yc2UgaWZcbiAgICAvLyB3ZSAqZG9uJ3QqIGVudGFuZ2xlIHdoZW4gd2Ugc2hvdWxkLlxuXG4gICAgcXVldWVMYW5lcyA9IGludGVyc2VjdExhbmVzKHF1ZXVlTGFuZXMsIHJvb3QucGVuZGluZ0xhbmVzKTsgLy8gRW50YW5nbGUgdGhlIG5ldyB0cmFuc2l0aW9uIGxhbmUgd2l0aCB0aGUgb3RoZXIgdHJhbnNpdGlvbiBsYW5lcy5cblxuICAgIHZhciBuZXdRdWV1ZUxhbmVzID0gbWVyZ2VMYW5lcyhxdWV1ZUxhbmVzLCBsYW5lKTtcbiAgICBxdWV1ZS5sYW5lcyA9IG5ld1F1ZXVlTGFuZXM7IC8vIEV2ZW4gaWYgcXVldWUubGFuZXMgYWxyZWFkeSBpbmNsdWRlIGxhbmUsIHdlIGRvbid0IGtub3cgZm9yIGNlcnRhaW4gaWZcbiAgICAvLyB0aGUgbGFuZSBmaW5pc2hlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIGVudGFuZ2xlZCBpdC4gU28gd2UgbmVlZCB0b1xuICAgIC8vIGVudGFuZ2xlIGl0IGFnYWluLCBqdXN0IHRvIGJlIHN1cmUuXG5cbiAgICBtYXJrUm9vdEVudGFuZ2xlZChyb290LCBuZXdRdWV1ZUxhbmVzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrVXBkYXRlSW5EZXZUb29scyhmaWJlciwgbGFuZSwgYWN0aW9uKSB7XG5cbiAge1xuICAgIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gIH1cbn1cblxudmFyIENvbnRleHRPbmx5RGlzcGF0Y2hlciA9IHtcbiAgcmVhZENvbnRleHQ6IHJlYWRDb250ZXh0LFxuICB1c2VDYWxsYmFjazogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VDb250ZXh0OiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUluc2VydGlvbkVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VMYXlvdXRFZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlTWVtbzogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VSZWR1Y2VyOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVJlZjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VTdGF0ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VEZWJ1Z1ZhbHVlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZURlZmVycmVkVmFsdWU6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlVHJhbnNpdGlvbjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VNdXRhYmxlU291cmNlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUlkOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxufTtcblxudmFyIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25Nb3VudFdpdGhIb29rVHlwZXNJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IG51bGw7XG5cbntcbiAgdmFyIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gJyArICdJbiBjbGFzc2VzLCB5b3UgY2FuIHJlYWQgaXQgaW4gdGhlIHJlbmRlciBtZXRob2Qgb3IgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiAnICsgJ0luIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCAnICsgJ2luc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuJyk7XG4gIH07XG5cbiAgdmFyIHdhcm5JbnZhbGlkSG9va0FjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignRG8gbm90IGNhbGwgSG9va3MgaW5zaWRlIHVzZUVmZmVjdCguLi4pLCB1c2VNZW1vKC4uLiksIG9yIG90aGVyIGJ1aWx0LWluIEhvb2tzLiAnICsgJ1lvdSBjYW4gb25seSBjYWxsIEhvb2tzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgeW91ciBSZWFjdCBmdW5jdGlvbi4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3J1bGVzLW9mLWhvb2tzJyk7XG4gIH07XG5cbiAgSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50SW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcyk7XG4gICAgICByZXR1cm4gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudFJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnREZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TXV0YWJsZVNvdXJjZSgpO1xuICAgIH0sXG4gICAgdXNlU3luY0V4dGVybmFsU3RvcmU6IGZ1bmN0aW9uIChzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3luY0V4dGVybmFsU3RvcmUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRXaXRoSG9va1R5cGVzSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudE11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50U3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlU3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlKTtcbiAgICB9LFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IHtcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcygpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbnNlcnRpb25FZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUluc2VydGlvbkVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50TWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKCk7XG4gICAgfSxcbiAgICB1c2VNdXRhYmxlU291cmNlOiBmdW5jdGlvbiAoc291cmNlLCBnZXRTbmFwc2hvdCwgc3Vic2NyaWJlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNdXRhYmxlU291cmNlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudE11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlUmVmKCk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVidWdWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRyYW5zaXRpb24oKTtcbiAgICB9LFxuICAgIHVzZU11dGFibGVTb3VyY2U6IGZ1bmN0aW9uIChzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU11dGFibGVTb3VyY2UnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXJlbmRlclJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZXJlbmRlckRlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZU11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCk7XG4gICAgfSxcbiAgICB1c2VJZDogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSWQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG59XG5cbnZhciBub3ckMSA9IFNjaGVkdWxlci51bnN0YWJsZV9ub3c7XG52YXIgY29tbWl0VGltZSA9IDA7XG52YXIgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gLTE7XG52YXIgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbnZhciBwYXNzaXZlRWZmZWN0U3RhcnRUaW1lID0gLTE7XG4vKipcbiAqIFRyYWNrcyB3aGV0aGVyIHRoZSBjdXJyZW50IHVwZGF0ZSB3YXMgYSBuZXN0ZWQvY2FzY2FkaW5nIHVwZGF0ZSAoc2NoZWR1bGVkIGZyb20gYSBsYXlvdXQgZWZmZWN0KS5cbiAqXG4gKiBUaGUgb3ZlcmFsbCBzZXF1ZW5jZSBpczpcbiAqICAgMS4gcmVuZGVyXG4gKiAgIDIuIGNvbW1pdCAoYW5kIGNhbGwgYG9uUmVuZGVyYCwgYG9uQ29tbWl0YClcbiAqICAgMy4gY2hlY2sgZm9yIG5lc3RlZCB1cGRhdGVzXG4gKiAgIDQuIGZsdXNoIHBhc3NpdmUgZWZmZWN0cyAoYW5kIGNhbGwgYG9uUG9zdENvbW1pdGApXG4gKlxuICogTmVzdGVkIHVwZGF0ZXMgYXJlIGlkZW50aWZpZWQgaW4gc3RlcCAzIGFib3ZlLFxuICogYnV0IHN0ZXAgNCBzdGlsbCBhcHBsaWVzIHRvIHRoZSB3b3JrIHRoYXQgd2FzIGp1c3QgY29tbWl0dGVkLlxuICogV2UgdXNlIHR3byBmbGFncyB0byB0cmFjayBuZXN0ZWQgdXBkYXRlcyB0aGVuOlxuICogb25lIHRyYWNrcyB3aGV0aGVyIHRoZSB1cGNvbWluZyB1cGRhdGUgaXMgYSBuZXN0ZWQgdXBkYXRlLFxuICogYW5kIHRoZSBvdGhlciB0cmFja3Mgd2hldGhlciB0aGUgY3VycmVudCB1cGRhdGUgd2FzIGEgbmVzdGVkIHVwZGF0ZS5cbiAqIFRoZSBmaXJzdCB2YWx1ZSBnZXRzIHN5bmNlZCB0byB0aGUgc2Vjb25kIGF0IHRoZSBzdGFydCBvZiB0aGUgcmVuZGVyIHBoYXNlLlxuICovXG5cbnZhciBjdXJyZW50VXBkYXRlSXNOZXN0ZWQgPSBmYWxzZTtcbnZhciBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcblxuZnVuY3Rpb24gaXNDdXJyZW50VXBkYXRlTmVzdGVkKCkge1xuICByZXR1cm4gY3VycmVudFVwZGF0ZUlzTmVzdGVkO1xufVxuXG5mdW5jdGlvbiBtYXJrTmVzdGVkVXBkYXRlU2NoZWR1bGVkKCkge1xuICB7XG4gICAgbmVzdGVkVXBkYXRlU2NoZWR1bGVkID0gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldE5lc3RlZFVwZGF0ZUZsYWcoKSB7XG4gIHtcbiAgICBjdXJyZW50VXBkYXRlSXNOZXN0ZWQgPSBmYWxzZTtcbiAgICBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzeW5jTmVzdGVkVXBkYXRlRmxhZygpIHtcbiAge1xuICAgIGN1cnJlbnRVcGRhdGVJc05lc3RlZCA9IG5lc3RlZFVwZGF0ZVNjaGVkdWxlZDtcbiAgICBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDb21taXRUaW1lKCkge1xuICByZXR1cm4gY29tbWl0VGltZTtcbn1cblxuZnVuY3Rpb24gcmVjb3JkQ29tbWl0VGltZSgpIHtcblxuICBjb21taXRUaW1lID0gbm93JDEoKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQcm9maWxlclRpbWVyKGZpYmVyKSB7XG5cbiAgcHJvZmlsZXJTdGFydFRpbWUgPSBub3ckMSgpO1xuXG4gIGlmIChmaWJlci5hY3R1YWxTdGFydFRpbWUgPCAwKSB7XG4gICAgZmliZXIuYWN0dWFsU3RhcnRUaW1lID0gbm93JDEoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZyhmaWJlcikge1xuXG4gIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XG59XG5cbmZ1bmN0aW9uIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEoZmliZXIsIG92ZXJyaWRlQmFzZVRpbWUpIHtcblxuICBpZiAocHJvZmlsZXJTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwcm9maWxlclN0YXJ0VGltZTtcbiAgICBmaWJlci5hY3R1YWxEdXJhdGlvbiArPSBlbGFwc2VkVGltZTtcblxuICAgIGlmIChvdmVycmlkZUJhc2VUaW1lKSB7XG4gICAgICBmaWJlci5zZWxmQmFzZUR1cmF0aW9uID0gZWxhcHNlZFRpbWU7XG4gICAgfVxuXG4gICAgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaWJlcikge1xuXG4gIGlmIChsYXlvdXRFZmZlY3RTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBsYXlvdXRFZmZlY3RTdGFydFRpbWU7XG4gICAgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gLTE7IC8vIFN0b3JlIGR1cmF0aW9uIG9uIHRoZSBuZXh0IG5lYXJlc3QgUHJvZmlsZXIgYW5jZXN0b3JcbiAgICAvLyBPciB0aGUgcm9vdCAoZm9yIHRoZSBEZXZUb29scyBQcm9maWxlciB0byByZWFkKVxuXG4gICAgdmFyIHBhcmVudEZpYmVyID0gZmliZXIucmV0dXJuO1xuXG4gICAgd2hpbGUgKHBhcmVudEZpYmVyICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKHBhcmVudEZpYmVyLnRhZykge1xuICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgIHZhciByb290ID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgIHJvb3QuZWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICBwYXJlbnRTdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBwYXJlbnRGaWJlciA9IHBhcmVudEZpYmVyLnJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVjb3JkUGFzc2l2ZUVmZmVjdER1cmF0aW9uKGZpYmVyKSB7XG5cbiAgaWYgKHBhc3NpdmVFZmZlY3RTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwYXNzaXZlRWZmZWN0U3RhcnRUaW1lO1xuICAgIHBhc3NpdmVFZmZlY3RTdGFydFRpbWUgPSAtMTsgLy8gU3RvcmUgZHVyYXRpb24gb24gdGhlIG5leHQgbmVhcmVzdCBQcm9maWxlciBhbmNlc3RvclxuICAgIC8vIE9yIHRoZSByb290IChmb3IgdGhlIERldlRvb2xzIFByb2ZpbGVyIHRvIHJlYWQpXG5cbiAgICB2YXIgcGFyZW50RmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgICB3aGlsZSAocGFyZW50RmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocGFyZW50RmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgdmFyIHJvb3QgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcm9vdC5wYXNzaXZlRWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmIChwYXJlbnRTdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIERldGFjaGVkIGZpYmVycyBoYXZlIHRoZWlyIHN0YXRlIG5vZGUgY2xlYXJlZCBvdXQuXG4gICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHRoZSByZXR1cm4gcG9pbnRlciBpcyBhbHNvIGNsZWFyZWQgb3V0LFxuICAgICAgICAgICAgLy8gc28gd2Ugd29uJ3QgYmUgYWJsZSB0byByZXBvcnQgdGhlIHRpbWUgc3BlbnQgaW4gdGhpcyBQcm9maWxlcidzIHN1YnRyZWUuXG4gICAgICAgICAgICBwYXJlbnRTdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uICs9IGVsYXBzZWRUaW1lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKSB7XG5cbiAgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gbm93JDEoKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQYXNzaXZlRWZmZWN0VGltZXIoKSB7XG5cbiAgcGFzc2l2ZUVmZmVjdFN0YXJ0VGltZSA9IG5vdyQxKCk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZmVyQWN0dWFsRHVyYXRpb24oZmliZXIpIHtcbiAgLy8gVHJhbnNmZXIgdGltZSBzcGVudCByZW5kZXJpbmcgdGhlc2UgY2hpbGRyZW4gc28gd2UgZG9uJ3QgbG9zZSBpdFxuICAvLyBhZnRlciB3ZSByZXJlbmRlci4gVGhpcyBpcyB1c2VkIGFzIGEgaGVscGVyIGluIHNwZWNpYWwgY2FzZXNcbiAgLy8gd2hlcmUgd2Ugc2hvdWxkIGNvdW50IHRoZSB3b3JrIG9mIG11bHRpcGxlIHBhc3Nlcy5cbiAgdmFyIGNoaWxkID0gZmliZXIuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkKSB7XG4gICAgZmliZXIuYWN0dWFsRHVyYXRpb24gKz0gY2hpbGQuYWN0dWFsRHVyYXRpb247XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKHZhbHVlLCBzb3VyY2UpIHtcbiAgLy8gSWYgdGhlIHZhbHVlIGlzIGFuIGVycm9yLCBjYWxsIHRoaXMgZnVuY3Rpb24gaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgdGhyb3duXG4gIC8vIHNvIHRoZSBzdGFjayBpcyBhY2N1cmF0ZS5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgc291cmNlOiBzb3VyY2UsXG4gICAgc3RhY2s6IGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChzb3VyY2UpLFxuICAgIGRpZ2VzdDogbnVsbFxuICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlQ2FwdHVyZWRWYWx1ZSh2YWx1ZSwgZGlnZXN0LCBzdGFjaykge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBzb3VyY2U6IG51bGwsXG4gICAgc3RhY2s6IHN0YWNrICE9IG51bGwgPyBzdGFjayA6IG51bGwsXG4gICAgZGlnZXN0OiBkaWdlc3QgIT0gbnVsbCA/IGRpZ2VzdCA6IG51bGxcbiAgfTtcbn1cblxuLy8gVGhpcyBtb2R1bGUgaXMgZm9ya2VkIGluIGRpZmZlcmVudCBlbnZpcm9ubWVudHMuXG4vLyBCeSBkZWZhdWx0LCByZXR1cm4gYHRydWVgIHRvIGxvZyBlcnJvcnMgdG8gdGhlIGNvbnNvbGUuXG4vLyBGb3JrcyBjYW4gcmV0dXJuIGBmYWxzZWAgaWYgdGhpcyBpc24ndCBkZXNpcmFibGUuXG5mdW5jdGlvbiBzaG93RXJyb3JEaWFsb2coYm91bmRhcnksIGVycm9ySW5mbykge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbG9nQ2FwdHVyZWRFcnJvcihib3VuZGFyeSwgZXJyb3JJbmZvKSB7XG4gIHRyeSB7XG4gICAgdmFyIGxvZ0Vycm9yID0gc2hvd0Vycm9yRGlhbG9nKGJvdW5kYXJ5LCBlcnJvckluZm8pOyAvLyBBbGxvdyBpbmplY3RlZCBzaG93RXJyb3JEaWFsb2coKSB0byBwcmV2ZW50IGRlZmF1bHQgY29uc29sZS5lcnJvciBsb2dnaW5nLlxuICAgIC8vIFRoaXMgZW5hYmxlcyByZW5kZXJlcnMgbGlrZSBSZWFjdE5hdGl2ZSB0byBiZXR0ZXIgbWFuYWdlIHJlZGJveCBiZWhhdmlvci5cblxuICAgIGlmIChsb2dFcnJvciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZXJyb3IgPSBlcnJvckluZm8udmFsdWU7XG5cbiAgICBpZiAodHJ1ZSkge1xuICAgICAgdmFyIHNvdXJjZSA9IGVycm9ySW5mby5zb3VyY2U7XG4gICAgICB2YXIgc3RhY2sgPSBlcnJvckluZm8uc3RhY2s7XG4gICAgICB2YXIgY29tcG9uZW50U3RhY2sgPSBzdGFjayAhPT0gbnVsbCA/IHN0YWNrIDogJyc7IC8vIEJyb3dzZXJzIHN1cHBvcnQgc2lsZW5jaW5nIHVuY2F1Z2h0IGVycm9ycyBieSBjYWxsaW5nXG4gICAgICAvLyBgcHJldmVudERlZmF1bHQoKWAgaW4gd2luZG93IGBlcnJvcmAgaGFuZGxlci5cbiAgICAgIC8vIFdlIHJlY29yZCB0aGlzIGluZm9ybWF0aW9uIGFzIGFuIGV4cGFuZG8gb24gdGhlIGVycm9yLlxuXG4gICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiBlcnJvci5fc3VwcHJlc3NMb2dnaW5nKSB7XG4gICAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgICAgLy8gVGhlIGVycm9yIGlzIHJlY292ZXJhYmxlIGFuZCB3YXMgc2lsZW5jZWQuXG4gICAgICAgICAgLy8gSWdub3JlIGl0IGFuZCBkb24ndCBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG4gICAgICAgICAgLy8gVGhpcyBpcyBoYW5keSBmb3IgdGVzdGluZyBlcnJvciBib3VuZGFyaWVzIHdpdGhvdXQgbm9pc2UuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFRoZSBlcnJvciBpcyBmYXRhbC4gU2luY2UgdGhlIHNpbGVuY2luZyBtaWdodCBoYXZlXG4gICAgICAgIC8vIGJlZW4gYWNjaWRlbnRhbCwgd2UnbGwgc3VyZmFjZSBpdCBhbnl3YXkuXG4gICAgICAgIC8vIEhvd2V2ZXIsIHRoZSBicm93c2VyIHdvdWxkIGhhdmUgc2lsZW5jZWQgdGhlIG9yaWdpbmFsIGVycm9yXG4gICAgICAgIC8vIHNvIHdlJ2xsIHByaW50IGl0IGZpcnN0LCBhbmQgdGhlbiBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG5cblxuICAgICAgICBjb25zb2xlWydlcnJvciddKGVycm9yKTsgLy8gRG9uJ3QgdHJhbnNmb3JtIHRvIG91ciB3cmFwcGVyXG4gICAgICAgIC8vIEZvciBhIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhpcyBibG9jaywgc2VlOlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMzM4NFxuICAgICAgfVxuXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IHNvdXJjZSA/IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoc291cmNlKSA6IG51bGw7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZU1lc3NhZ2UgPSBjb21wb25lbnROYW1lID8gXCJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGhlIDxcIiArIGNvbXBvbmVudE5hbWUgKyBcIj4gY29tcG9uZW50OlwiIDogJ1RoZSBhYm92ZSBlcnJvciBvY2N1cnJlZCBpbiBvbmUgb2YgeW91ciBSZWFjdCBjb21wb25lbnRzOic7XG4gICAgICB2YXIgZXJyb3JCb3VuZGFyeU1lc3NhZ2U7XG5cbiAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIGVycm9yQm91bmRhcnlNZXNzYWdlID0gJ0NvbnNpZGVyIGFkZGluZyBhbiBlcnJvciBib3VuZGFyeSB0byB5b3VyIHRyZWUgdG8gY3VzdG9taXplIGVycm9yIGhhbmRsaW5nIGJlaGF2aW9yLlxcbicgKyAnVmlzaXQgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Vycm9yLWJvdW5kYXJpZXMgdG8gbGVhcm4gbW9yZSBhYm91dCBlcnJvciBib3VuZGFyaWVzLic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgZXJyb3JCb3VuZGFyeU5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGJvdW5kYXJ5KSB8fCAnQW5vbnltb3VzJztcbiAgICAgICAgZXJyb3JCb3VuZGFyeU1lc3NhZ2UgPSBcIlJlYWN0IHdpbGwgdHJ5IHRvIHJlY3JlYXRlIHRoaXMgY29tcG9uZW50IHRyZWUgZnJvbSBzY3JhdGNoIFwiICsgKFwidXNpbmcgdGhlIGVycm9yIGJvdW5kYXJ5IHlvdSBwcm92aWRlZCwgXCIgKyBlcnJvckJvdW5kYXJ5TmFtZSArIFwiLlwiKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbWJpbmVkTWVzc2FnZSA9IGNvbXBvbmVudE5hbWVNZXNzYWdlICsgXCJcXG5cIiArIGNvbXBvbmVudFN0YWNrICsgXCJcXG5cXG5cIiArIChcIlwiICsgZXJyb3JCb3VuZGFyeU1lc3NhZ2UpOyAvLyBJbiBkZXZlbG9wbWVudCwgd2UgcHJvdmlkZSBvdXIgb3duIG1lc3NhZ2Ugd2l0aCBqdXN0IHRoZSBjb21wb25lbnQgc3RhY2suXG4gICAgICAvLyBXZSBkb24ndCBpbmNsdWRlIHRoZSBvcmlnaW5hbCBlcnJvciBtZXNzYWdlIGFuZCBKUyBzdGFjayBiZWNhdXNlIHRoZSBicm93c2VyXG4gICAgICAvLyBoYXMgYWxyZWFkeSBwcmludGVkIGl0LiBFdmVuIGlmIHRoZSBhcHBsaWNhdGlvbiBzd2FsbG93cyB0aGUgZXJyb3IsIGl0IGlzIHN0aWxsXG4gICAgICAvLyBkaXNwbGF5ZWQgYnkgdGhlIGJyb3dzZXIgdGhhbmtzIHRvIHRoZSBERVYtb25seSBmYWtlIGV2ZW50IHRyaWNrIGluIFJlYWN0RXJyb3JVdGlscy5cblxuICAgICAgY29uc29sZVsnZXJyb3InXShjb21iaW5lZE1lc3NhZ2UpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSW4gcHJvZHVjdGlvbiwgd2UgcHJpbnQgdGhlIGVycm9yIGRpcmVjdGx5LlxuICAgICAgLy8gVGhpcyB3aWxsIGluY2x1ZGUgdGhlIG1lc3NhZ2UsIHRoZSBKUyBzdGFjaywgYW5kIGFueXRoaW5nIHRoZSBicm93c2VyIHdhbnRzIHRvIHNob3cuXG4gICAgICAvLyBXZSBwYXNzIHRoZSBlcnJvciBvYmplY3QgaW5zdGVhZCBvZiBjdXN0b20gbWVzc2FnZSBzbyB0aGF0IHRoZSBicm93c2VyIGRpc3BsYXlzIHRoZSBlcnJvciBuYXRpdmVseS5cbiAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oZXJyb3IpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBUaGlzIG1ldGhvZCBtdXN0IG5vdCB0aHJvdywgb3IgUmVhY3QgaW50ZXJuYWwgc3RhdGUgd2lsbCBnZXQgbWVzc2VkIHVwLlxuICAgIC8vIElmIGNvbnNvbGUuZXJyb3IgaXMgb3ZlcnJpZGRlbiwgb3IgbG9nQ2FwdHVyZWRFcnJvcigpIHNob3dzIGEgZGlhbG9nIHRoYXQgdGhyb3dzLFxuICAgIC8vIHdlIHdhbnQgdG8gcmVwb3J0IHRoaXMgZXJyb3Igb3V0c2lkZSBvZiB0aGUgbm9ybWFsIHN0YWNrIGFzIGEgbGFzdCByZXNvcnQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzE4OFxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9KTtcbiAgfVxufVxuXG52YXIgUG9zc2libHlXZWFrTWFwJDEgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3RFcnJvclVwZGF0ZShmaWJlciwgZXJyb3JJbmZvLCBsYW5lKSB7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoTm9UaW1lc3RhbXAsIGxhbmUpOyAvLyBVbm1vdW50IHRoZSByb290IGJ5IHJlbmRlcmluZyBudWxsLlxuXG4gIHVwZGF0ZS50YWcgPSBDYXB0dXJlVXBkYXRlOyAvLyBDYXV0aW9uOiBSZWFjdCBEZXZUb29scyBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByb3BlcnR5XG4gIC8vIGJlaW5nIGNhbGxlZCBcImVsZW1lbnRcIi5cblxuICB1cGRhdGUucGF5bG9hZCA9IHtcbiAgICBlbGVtZW50OiBudWxsXG4gIH07XG4gIHZhciBlcnJvciA9IGVycm9ySW5mby52YWx1ZTtcblxuICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgb25VbmNhdWdodEVycm9yKGVycm9yKTtcbiAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuICB9O1xuXG4gIHJldHVybiB1cGRhdGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgbGFuZSkge1xuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKE5vVGltZXN0YW1wLCBsYW5lKTtcbiAgdXBkYXRlLnRhZyA9IENhcHR1cmVVcGRhdGU7XG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPSBmaWJlci50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtcblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBlcnJvciQxID0gZXJyb3JJbmZvLnZhbHVlO1xuXG4gICAgdXBkYXRlLnBheWxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yJDEpO1xuICAgIH07XG5cbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB7XG4gICAgICAgIG1hcmtGYWlsZWRFcnJvckJvdW5kYXJ5Rm9ySG90UmVsb2FkaW5nKGZpYmVyKTtcbiAgICAgIH1cblxuICAgICAgbG9nQ2FwdHVyZWRFcnJvcihmaWJlciwgZXJyb3JJbmZvKTtcbiAgICB9O1xuICB9XG5cbiAgdmFyIGluc3QgPSBmaWJlci5zdGF0ZU5vZGU7XG5cbiAgaWYgKGluc3QgIT09IG51bGwgJiYgdHlwZW9mIGluc3QuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiBjYWxsYmFjaygpIHtcbiAgICAgIHtcbiAgICAgICAgbWFya0ZhaWxlZEVycm9yQm91bmRhcnlGb3JIb3RSZWxvYWRpbmcoZmliZXIpO1xuICAgICAgfVxuXG4gICAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuXG4gICAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBUbyBwcmVzZXJ2ZSB0aGUgcHJlZXhpc3RpbmcgcmV0cnkgYmVoYXZpb3Igb2YgZXJyb3IgYm91bmRhcmllcyxcbiAgICAgICAgLy8gd2Uga2VlcCB0cmFjayBvZiB3aGljaCBvbmVzIGFscmVhZHkgZmFpbGVkIGR1cmluZyB0aGlzIGJhdGNoLlxuICAgICAgICAvLyBUaGlzIGdldHMgcmVzZXQgYmVmb3JlIHdlIHlpZWxkIGJhY2sgdG8gdGhlIGJyb3dzZXIuXG4gICAgICAgIC8vIFRPRE86IFdhcm4gaW4gc3RyaWN0IG1vZGUgaWYgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIGlzXG4gICAgICAgIC8vIG5vdCBkZWZpbmVkLlxuICAgICAgICBtYXJrTGVnYWN5RXJyb3JCb3VuZGFyeUFzRmFpbGVkKHRoaXMpO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXJyb3IkMSA9IGVycm9ySW5mby52YWx1ZTtcbiAgICAgIHZhciBzdGFjayA9IGVycm9ySW5mby5zdGFjaztcbiAgICAgIHRoaXMuY29tcG9uZW50RGlkQ2F0Y2goZXJyb3IkMSwge1xuICAgICAgICBjb21wb25lbnRTdGFjazogc3RhY2sgIT09IG51bGwgPyBzdGFjayA6ICcnXG4gICAgICB9KTtcblxuICAgICAge1xuICAgICAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIElmIGNvbXBvbmVudERpZENhdGNoIGlzIHRoZSBvbmx5IGVycm9yIGJvdW5kYXJ5IG1ldGhvZCBkZWZpbmVkLFxuICAgICAgICAgIC8vIHRoZW4gaXQgbmVlZHMgdG8gY2FsbCBzZXRTdGF0ZSB0byByZWNvdmVyIGZyb20gZXJyb3JzLlxuICAgICAgICAgIC8vIElmIG5vIHN0YXRlIHVwZGF0ZSBpcyBzY2hlZHVsZWQgdGhlbiB0aGUgYm91bmRhcnkgd2lsbCBzd2FsbG93IHRoZSBlcnJvci5cbiAgICAgICAgICBpZiAoIWluY2x1ZGVzU29tZUxhbmUoZmliZXIubGFuZXMsIFN5bmNMYW5lKSkge1xuICAgICAgICAgICAgZXJyb3IoJyVzOiBFcnJvciBib3VuZGFyaWVzIHNob3VsZCBpbXBsZW1lbnQgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkuICcgKyAnSW4gdGhhdCBtZXRob2QsIHJldHVybiBhIHN0YXRlIHVwZGF0ZSB0byBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2Ugb3IgZmFsbGJhY2sgVUkuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ1Vua25vd24nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gYXR0YWNoUGluZ0xpc3RlbmVyKHJvb3QsIHdha2VhYmxlLCBsYW5lcykge1xuICAvLyBBdHRhY2ggYSBwaW5nIGxpc3RlbmVyXG4gIC8vXG4gIC8vIFRoZSBkYXRhIG1pZ2h0IHJlc29sdmUgYmVmb3JlIHdlIGhhdmUgYSBjaGFuY2UgdG8gY29tbWl0IHRoZSBmYWxsYmFjay4gT3IsXG4gIC8vIGluIHRoZSBjYXNlIG9mIGEgcmVmcmVzaCwgd2UnbGwgbmV2ZXIgY29tbWl0IGEgZmFsbGJhY2suIFNvIHdlIG5lZWQgdG9cbiAgLy8gYXR0YWNoIGEgbGlzdGVuZXIgbm93LiBXaGVuIGl0IHJlc29sdmVzIChcInBpbmdzXCIpLCB3ZSBjYW4gZGVjaWRlIHdoZXRoZXIgdG9cbiAgLy8gdHJ5IHJlbmRlcmluZyB0aGUgdHJlZSBhZ2Fpbi5cbiAgLy9cbiAgLy8gT25seSBhdHRhY2ggYSBsaXN0ZW5lciBpZiBvbmUgZG9lcyBub3QgYWxyZWFkeSBleGlzdCBmb3IgdGhlIGxhbmVzXG4gIC8vIHdlJ3JlIGN1cnJlbnRseSByZW5kZXJpbmcgKHdoaWNoIGFjdHMgbGlrZSBhIFwidGhyZWFkIElEXCIgaGVyZSkuXG4gIC8vXG4gIC8vIFdlIG9ubHkgbmVlZCB0byBkbyB0aGlzIGluIGNvbmN1cnJlbnQgbW9kZS4gTGVnYWN5IFN1c3BlbnNlIGFsd2F5c1xuICAvLyBjb21taXRzIGZhbGxiYWNrcyBzeW5jaHJvbm91c2x5LCBzbyB0aGVyZSBhcmUgbm8gcGluZ3MuXG4gIHZhciBwaW5nQ2FjaGUgPSByb290LnBpbmdDYWNoZTtcbiAgdmFyIHRocmVhZElEcztcblxuICBpZiAocGluZ0NhY2hlID09PSBudWxsKSB7XG4gICAgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwJDEoKTtcbiAgICB0aHJlYWRJRHMgPSBuZXcgU2V0KCk7XG4gICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJlYWRJRHMgPSBwaW5nQ2FjaGUuZ2V0KHdha2VhYmxlKTtcblxuICAgIGlmICh0aHJlYWRJRHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyZWFkSURzID0gbmV3IFNldCgpO1xuICAgICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIXRocmVhZElEcy5oYXMobGFuZXMpKSB7XG4gICAgLy8gTWVtb2l6ZSB1c2luZyB0aGUgdGhyZWFkIElEIHRvIHByZXZlbnQgcmVkdW5kYW50IGxpc3RlbmVycy5cbiAgICB0aHJlYWRJRHMuYWRkKGxhbmVzKTtcbiAgICB2YXIgcGluZyA9IHBpbmdTdXNwZW5kZWRSb290LmJpbmQobnVsbCwgcm9vdCwgd2FrZWFibGUsIGxhbmVzKTtcblxuICAgIHtcbiAgICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgICAvLyBJZiB3ZSBoYXZlIHBlbmRpbmcgd29yayBzdGlsbCwgcmVzdG9yZSB0aGUgb3JpZ2luYWwgdXBkYXRlcnNcbiAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCBsYW5lcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2FrZWFibGUudGhlbihwaW5nLCBwaW5nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhdHRhY2hSZXRyeUxpc3RlbmVyKHN1c3BlbnNlQm91bmRhcnksIHJvb3QsIHdha2VhYmxlLCBsYW5lcykge1xuICAvLyBSZXRyeSBsaXN0ZW5lclxuICAvL1xuICAvLyBJZiB0aGUgZmFsbGJhY2sgZG9lcyBjb21taXQsIHdlIG5lZWQgdG8gYXR0YWNoIGEgZGlmZmVyZW50IHR5cGUgb2ZcbiAgLy8gbGlzdGVuZXIuIFRoaXMgb25lIHNjaGVkdWxlcyBhbiB1cGRhdGUgb24gdGhlIFN1c3BlbnNlIGJvdW5kYXJ5IHRvIHR1cm5cbiAgLy8gdGhlIGZhbGxiYWNrIHN0YXRlIG9mZi5cbiAgLy9cbiAgLy8gU3Rhc2ggdGhlIHdha2VhYmxlIG9uIHRoZSBib3VuZGFyeSBmaWJlciBzbyB3ZSBjYW4gYWNjZXNzIGl0IGluIHRoZVxuICAvLyBjb21taXQgcGhhc2UuXG4gIC8vXG4gIC8vIFdoZW4gdGhlIHdha2VhYmxlIHJlc29sdmVzLCB3ZSdsbCBhdHRlbXB0IHRvIHJlbmRlciB0aGUgYm91bmRhcnlcbiAgLy8gYWdhaW4gKFwicmV0cnlcIikuXG4gIHZhciB3YWtlYWJsZXMgPSBzdXNwZW5zZUJvdW5kYXJ5LnVwZGF0ZVF1ZXVlO1xuXG4gIGlmICh3YWtlYWJsZXMgPT09IG51bGwpIHtcbiAgICB2YXIgdXBkYXRlUXVldWUgPSBuZXcgU2V0KCk7XG4gICAgdXBkYXRlUXVldWUuYWRkKHdha2VhYmxlKTtcbiAgICBzdXNwZW5zZUJvdW5kYXJ5LnVwZGF0ZVF1ZXVlID0gdXBkYXRlUXVldWU7XG4gIH0gZWxzZSB7XG4gICAgd2FrZWFibGVzLmFkZCh3YWtlYWJsZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzZXRTdXNwZW5kZWRDb21wb25lbnQoc291cmNlRmliZXIsIHJvb3RSZW5kZXJMYW5lcykge1xuICAvLyBBIGxlZ2FjeSBtb2RlIFN1c3BlbnNlIHF1aXJrLCBvbmx5IHJlbGV2YW50IHRvIGhvb2sgY29tcG9uZW50cy5cblxuXG4gIHZhciB0YWcgPSBzb3VyY2VGaWJlci50YWc7XG5cbiAgaWYgKChzb3VyY2VGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUgJiYgKHRhZyA9PT0gRnVuY3Rpb25Db21wb25lbnQgfHwgdGFnID09PSBGb3J3YXJkUmVmIHx8IHRhZyA9PT0gU2ltcGxlTWVtb0NvbXBvbmVudCkpIHtcbiAgICB2YXIgY3VycmVudFNvdXJjZSA9IHNvdXJjZUZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50U291cmNlKSB7XG4gICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IGN1cnJlbnRTb3VyY2UudXBkYXRlUXVldWU7XG4gICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gY3VycmVudFNvdXJjZS5tZW1vaXplZFN0YXRlO1xuICAgICAgc291cmNlRmliZXIubGFuZXMgPSBjdXJyZW50U291cmNlLmxhbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TmVhcmVzdFN1c3BlbnNlQm91bmRhcnlUb0NhcHR1cmUocmV0dXJuRmliZXIpIHtcbiAgdmFyIG5vZGUgPSByZXR1cm5GaWJlcjtcblxuICBkbyB7XG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCAmJiBzaG91bGRDYXB0dXJlU3VzcGVuc2Uobm9kZSkpIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH0gLy8gVGhpcyBib3VuZGFyeSBhbHJlYWR5IGNhcHR1cmVkIGR1cmluZyB0aGlzIHJlbmRlci4gQ29udGludWUgdG8gdGhlIG5leHRcbiAgICAvLyBib3VuZGFyeS5cblxuXG4gICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICB9IHdoaWxlIChub2RlICE9PSBudWxsKTtcblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gbWFya1N1c3BlbnNlQm91bmRhcnlTaG91bGRDYXB0dXJlKHN1c3BlbnNlQm91bmRhcnksIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgcm9vdCwgcm9vdFJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgbWFya3MgYSBTdXNwZW5zZSBib3VuZGFyeSBzbyB0aGF0IHdoZW4gd2UncmUgdW53aW5kaW5nIHRoZSBzdGFjayxcbiAgLy8gaXQgY2FwdHVyZXMgdGhlIHN1c3BlbmRlZCBcImV4Y2VwdGlvblwiIGFuZCBkb2VzIGEgc2Vjb25kIChmYWxsYmFjaykgcGFzcy5cbiAgaWYgKChzdXNwZW5zZUJvdW5kYXJ5Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIC8vIExlZ2FjeSBNb2RlIFN1c3BlbnNlXG4gICAgLy9cbiAgICAvLyBJZiB0aGUgYm91bmRhcnkgaXMgaW4gbGVnYWN5IG1vZGUsIHdlIHNob3VsZCAqbm90KlxuICAgIC8vIHN1c3BlbmQgdGhlIGNvbW1pdC4gUHJldGVuZCBhcyBpZiB0aGUgc3VzcGVuZGVkIGNvbXBvbmVudCByZW5kZXJlZFxuICAgIC8vIG51bGwgYW5kIGtlZXAgcmVuZGVyaW5nLiBXaGVuIHRoZSBTdXNwZW5zZSBib3VuZGFyeSBjb21wbGV0ZXMsXG4gICAgLy8gd2UnbGwgZG8gYSBzZWNvbmQgcGFzcyB0byByZW5kZXIgdGhlIGZhbGxiYWNrLlxuICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5ID09PSByZXR1cm5GaWJlcikge1xuICAgICAgLy8gU3BlY2lhbCBjYXNlIHdoZXJlIHdlIHN1c3BlbmRlZCB3aGlsZSByZWNvbmNpbGluZyB0aGUgY2hpbGRyZW4gb2ZcbiAgICAgIC8vIGEgU3VzcGVuc2UgYm91bmRhcnkncyBpbm5lciBPZmZzY3JlZW4gd3JhcHBlciBmaWJlci4gVGhpcyBoYXBwZW5zXG4gICAgICAvLyB3aGVuIGEgUmVhY3QubGF6eSBjb21wb25lbnQgaXMgYSBkaXJlY3QgY2hpbGQgb2YgYVxuICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcnkuXG4gICAgICAvL1xuICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcmllcyBhcmUgaW1wbGVtZW50ZWQgYXMgbXVsdGlwbGUgZmliZXJzLCBidXQgdGhleVxuICAgICAgLy8gYXJlIGEgc2luZ2xlIGNvbmNlcHR1YWwgdW5pdC4gVGhlIGxlZ2FjeSBtb2RlIGJlaGF2aW9yIHdoZXJlIHdlXG4gICAgICAvLyBwcmV0ZW5kIHRoZSBzdXNwZW5kZWQgZmliZXIgY29tbWl0dGVkIGFzIGBudWxsYCB3b24ndCB3b3JrLFxuICAgICAgLy8gYmVjYXVzZSBpbiB0aGlzIGNhc2UgdGhlIFwic3VzcGVuZGVkXCIgZmliZXIgaXMgdGhlIGlubmVyXG4gICAgICAvLyBPZmZzY3JlZW4gd3JhcHBlci5cbiAgICAgIC8vXG4gICAgICAvLyBCZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm91bmRhcnkgaGF2ZW4ndCBzdGFydGVkIHJlbmRlcmluZ1xuICAgICAgLy8geWV0IChpLmUuIG5vdGhpbmcgaW4gdGhlIHRyZWUgaGFzIHBhcnRpYWxseSByZW5kZXJlZCkgd2UgY2FuXG4gICAgICAvLyBzd2l0Y2ggdG8gdGhlIHJlZ3VsYXIsIGNvbmN1cnJlbnQgbW9kZSBiZWhhdmlvcjogbWFyayB0aGVcbiAgICAgIC8vIGJvdW5kYXJ5IHdpdGggU2hvdWxkQ2FwdHVyZSBhbmQgZW50ZXIgdGhlIHVud2luZCBwaGFzZS5cbiAgICAgIHN1c3BlbnNlQm91bmRhcnkuZmxhZ3MgfD0gU2hvdWxkQ2FwdHVyZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgc291cmNlRmliZXIuZmxhZ3MgfD0gRm9yY2VVcGRhdGVGb3JMZWdhY3lTdXNwZW5zZTsgLy8gV2UncmUgZ29pbmcgdG8gY29tbWl0IHRoaXMgZmliZXIgZXZlbiB0aG91Z2ggaXQgZGlkbid0IGNvbXBsZXRlLlxuICAgICAgLy8gQnV0IHdlIHNob3VsZG4ndCBjYWxsIGFueSBsaWZlY3ljbGUgbWV0aG9kcyBvciBjYWxsYmFja3MuIFJlbW92ZVxuICAgICAgLy8gYWxsIGxpZmVjeWNsZSBlZmZlY3QgdGFncy5cblxuICAgICAgc291cmNlRmliZXIuZmxhZ3MgJj0gfihMaWZlY3ljbGVFZmZlY3RNYXNrIHwgSW5jb21wbGV0ZSk7XG5cbiAgICAgIGlmIChzb3VyY2VGaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgIHZhciBjdXJyZW50U291cmNlRmliZXIgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRTb3VyY2VGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgYSBuZXcgbW91bnQuIENoYW5nZSB0aGUgdGFnIHNvIGl0J3Mgbm90IG1pc3Rha2VuIGZvciBhXG4gICAgICAgICAgLy8gY29tcGxldGVkIGNsYXNzIGNvbXBvbmVudC4gRm9yIGV4YW1wbGUsIHdlIHNob3VsZCBub3QgY2FsbFxuICAgICAgICAgIC8vIGNvbXBvbmVudFdpbGxVbm1vdW50IGlmIGl0IGlzIGRlbGV0ZWQuXG4gICAgICAgICAgc291cmNlRmliZXIudGFnID0gSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFdoZW4gd2UgdHJ5IHJlbmRlcmluZyBhZ2Fpbiwgd2Ugc2hvdWxkIG5vdCByZXVzZSB0aGUgY3VycmVudCBmaWJlcixcbiAgICAgICAgICAvLyBzaW5jZSBpdCdzIGtub3duIHRvIGJlIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gVXNlIGEgZm9yY2UgdXBkYXRlIHRvXG4gICAgICAgICAgLy8gcHJldmVudCBhIGJhaWwgb3V0LlxuICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoTm9UaW1lc3RhbXAsIFN5bmNMYW5lKTtcbiAgICAgICAgICB1cGRhdGUudGFnID0gRm9yY2VVcGRhdGU7XG4gICAgICAgICAgZW5xdWV1ZVVwZGF0ZShzb3VyY2VGaWJlciwgdXBkYXRlLCBTeW5jTGFuZSk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gVGhlIHNvdXJjZSBmaWJlciBkaWQgbm90IGNvbXBsZXRlLiBNYXJrIGl0IHdpdGggU3luYyBwcmlvcml0eSB0b1xuICAgICAgLy8gaW5kaWNhdGUgdGhhdCBpdCBzdGlsbCBoYXMgcGVuZGluZyB3b3JrLlxuXG5cbiAgICAgIHNvdXJjZUZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhzb3VyY2VGaWJlci5sYW5lcywgU3luY0xhbmUpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXNwZW5zZUJvdW5kYXJ5O1xuICB9IC8vIENvbmZpcm1lZCB0aGF0IHRoZSBib3VuZGFyeSBpcyBpbiBhIGNvbmN1cnJlbnQgbW9kZSB0cmVlLiBDb250aW51ZVxuICAvLyB3aXRoIHRoZSBub3JtYWwgc3VzcGVuZCBwYXRoLlxuICAvL1xuICAvLyBBZnRlciB0aGlzIHdlJ2xsIHVzZSBhIHNldCBvZiBoZXVyaXN0aWNzIHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXNcbiAgLy8gcmVuZGVyIHBhc3Mgd2lsbCBydW4gdG8gY29tcGxldGlvbiBvciByZXN0YXJ0IG9yIFwic3VzcGVuZFwiIHRoZSBjb21taXQuXG4gIC8vIFRoZSBhY3R1YWwgbG9naWMgZm9yIHRoaXMgaXMgc3ByZWFkIG91dCBpbiBkaWZmZXJlbnQgcGxhY2VzLlxuICAvL1xuICAvLyBUaGlzIGZpcnN0IHByaW5jaXBsZSBpcyB0aGF0IGlmIHdlJ3JlIGdvaW5nIHRvIHN1c3BlbmQgd2hlbiB3ZSBjb21wbGV0ZVxuICAvLyBhIHJvb3QsIHRoZW4gd2Ugc2hvdWxkIGFsc28gcmVzdGFydCBpZiB3ZSBnZXQgYW4gdXBkYXRlIG9yIHBpbmcgdGhhdFxuICAvLyBtaWdodCB1bnN1c3BlbmQgaXQsIGFuZCB2aWNlIHZlcnNhLiBUaGUgb25seSByZWFzb24gdG8gc3VzcGVuZCBpc1xuICAvLyBiZWNhdXNlIHlvdSB0aGluayB5b3UgbWlnaHQgd2FudCB0byByZXN0YXJ0IGJlZm9yZSBjb21taXR0aW5nLiBIb3dldmVyLFxuICAvLyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcmVzdGFydCBvbmx5IHdoaWxlIGluIHRoZSBwZXJpb2Qgd2UncmUgc3VzcGVuZGVkLlxuICAvL1xuICAvLyBSZXN0YXJ0aW5nIHRvbyBhZ2dyZXNzaXZlbHkgaXMgYWxzbyBub3QgZ29vZCBiZWNhdXNlIGl0IHN0YXJ2ZXMgb3V0IGFueVxuICAvLyBpbnRlcm1lZGlhdGUgbG9hZGluZyBzdGF0ZS4gU28gd2UgdXNlIGhldXJpc3RpY3MgdG8gZGV0ZXJtaW5lIHdoZW4uXG4gIC8vIFN1c3BlbnNlIEhldXJpc3RpY3NcbiAgLy9cbiAgLy8gSWYgbm90aGluZyB0aHJldyBhIFByb21pc2Ugb3IgYWxsIHRoZSBzYW1lIGZhbGxiYWNrcyBhcmUgYWxyZWFkeSBzaG93aW5nLFxuICAvLyB0aGVuIGRvbid0IHN1c3BlbmQvcmVzdGFydC5cbiAgLy9cbiAgLy8gSWYgdGhpcyBpcyBhbiBpbml0aWFsIHJlbmRlciBvZiBhIG5ldyB0cmVlIG9mIFN1c3BlbnNlIGJvdW5kYXJpZXMgYW5kXG4gIC8vIHRob3NlIHRyaWdnZXIgYSBmYWxsYmFjaywgdGhlbiBkb24ndCBzdXNwZW5kL3Jlc3RhcnQuIFdlIHdhbnQgdG8gZW5zdXJlXG4gIC8vIHRoYXQgd2UgY2FuIHNob3cgdGhlIGluaXRpYWwgbG9hZGluZyBzdGF0ZSBhcyBxdWlja2x5IGFzIHBvc3NpYmxlLlxuICAvL1xuICAvLyBJZiB3ZSBoaXQgYSBcIkRlbGF5ZWRcIiBjYXNlLCBzdWNoIGFzIHdoZW4gd2UnZCBzd2l0Y2ggZnJvbSBjb250ZW50IGJhY2sgaW50b1xuICAvLyBhIGZhbGxiYWNrLCB0aGVuIHdlIHNob3VsZCBhbHdheXMgc3VzcGVuZC9yZXN0YXJ0LiBUcmFuc2l0aW9ucyBhcHBseVxuICAvLyB0byB0aGlzIGNhc2UuIElmIG5vbmUgaXMgZGVmaW5lZCwgSk5EIGlzIHVzZWQgaW5zdGVhZC5cbiAgLy9cbiAgLy8gSWYgd2UncmUgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgYW5kIGl0IGdldHMgXCJyZXRyaWVkXCIsIGFsbG93aW5nIHVzIHRvIHNob3dcbiAgLy8gYW5vdGhlciBsZXZlbCwgYnV0IHRoZXJlJ3Mgc3RpbGwgYW4gaW5uZXIgYm91bmRhcnkgdGhhdCB3b3VsZCBzaG93IGEgZmFsbGJhY2ssXG4gIC8vIHRoZW4gd2Ugc3VzcGVuZC9yZXN0YXJ0IGZvciA1MDBtcyBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIHNob3dlZCBhIGZhbGxiYWNrXG4gIC8vIGFueXdoZXJlIGluIHRoZSB0cmVlLiBUaGlzIGVmZmVjdGl2ZWx5IHRocm90dGxlcyBwcm9ncmVzc2l2ZSBsb2FkaW5nIGludG8gYVxuICAvLyBjb25zaXN0ZW50IHRyYWluIG9mIGNvbW1pdHMuIFRoaXMgYWxzbyBnaXZlcyB1cyBhbiBvcHBvcnR1bml0eSB0byByZXN0YXJ0IHRvXG4gIC8vIGdldCB0byB0aGUgY29tcGxldGVkIHN0YXRlIHNsaWdodGx5IGVhcmxpZXIuXG4gIC8vXG4gIC8vIElmIHRoZXJlJ3MgYW1iaWd1aXR5IGR1ZSB0byBiYXRjaGluZyBpdCdzIHJlc29sdmVkIGluIHByZWZlcmVuY2Ugb2Y6XG4gIC8vIDEpIFwiZGVsYXllZFwiLCAyKSBcImluaXRpYWwgcmVuZGVyXCIsIDMpIFwicmV0cnlcIi5cbiAgLy9cbiAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBhIFwiYnVzeVwiIHN0YXRlIGRvZXNuJ3QgZ2V0IGZvcmNlIGNvbW1pdHRlZC4gV2Ugd2FudCB0b1xuICAvLyBlbnN1cmUgdGhhdCBuZXcgaW5pdGlhbCBsb2FkaW5nIHN0YXRlcyBjYW4gY29tbWl0IGFzIHNvb24gYXMgcG9zc2libGUuXG5cblxuICBzdXNwZW5zZUJvdW5kYXJ5LmZsYWdzIHw9IFNob3VsZENhcHR1cmU7IC8vIFRPRE86IEkgdGhpbmsgd2UgY2FuIHJlbW92ZSB0aGlzLCBzaW5jZSB3ZSBub3cgdXNlIGBEaWRDYXB0dXJlYCBpblxuICAvLyB0aGUgYmVnaW4gcGhhc2UgdG8gcHJldmVudCBhbiBlYXJseSBiYWlsb3V0LlxuXG4gIHN1c3BlbnNlQm91bmRhcnkubGFuZXMgPSByb290UmVuZGVyTGFuZXM7XG4gIHJldHVybiBzdXNwZW5zZUJvdW5kYXJ5O1xufVxuXG5mdW5jdGlvbiB0aHJvd0V4Y2VwdGlvbihyb290LCByZXR1cm5GaWJlciwgc291cmNlRmliZXIsIHZhbHVlLCByb290UmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhlIHNvdXJjZSBmaWJlciBkaWQgbm90IGNvbXBsZXRlLlxuICBzb3VyY2VGaWJlci5mbGFncyB8PSBJbmNvbXBsZXRlO1xuXG4gIHtcbiAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgIC8vIElmIHdlIGhhdmUgcGVuZGluZyB3b3JrIHN0aWxsLCByZXN0b3JlIHRoZSBvcmlnaW5hbCB1cGRhdGVyc1xuICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCByb290UmVuZGVyTGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gVGhpcyBpcyBhIHdha2VhYmxlLiBUaGUgY29tcG9uZW50IHN1c3BlbmRlZC5cbiAgICB2YXIgd2FrZWFibGUgPSB2YWx1ZTtcbiAgICByZXNldFN1c3BlbmRlZENvbXBvbmVudChzb3VyY2VGaWJlcik7XG5cbiAgICB7XG4gICAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSAmJiBzb3VyY2VGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgbWFya0RpZFRocm93V2hpbGVIeWRyYXRpbmdERVYoKTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIHZhciBzdXNwZW5zZUJvdW5kYXJ5ID0gZ2V0TmVhcmVzdFN1c3BlbnNlQm91bmRhcnlUb0NhcHR1cmUocmV0dXJuRmliZXIpO1xuXG4gICAgaWYgKHN1c3BlbnNlQm91bmRhcnkgIT09IG51bGwpIHtcbiAgICAgIHN1c3BlbnNlQm91bmRhcnkuZmxhZ3MgJj0gfkZvcmNlQ2xpZW50UmVuZGVyO1xuICAgICAgbWFya1N1c3BlbnNlQm91bmRhcnlTaG91bGRDYXB0dXJlKHN1c3BlbnNlQm91bmRhcnksIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgcm9vdCwgcm9vdFJlbmRlckxhbmVzKTsgLy8gV2Ugb25seSBhdHRhY2ggcGluZyBsaXN0ZW5lcnMgaW4gY29uY3VycmVudCBtb2RlLiBMZWdhY3kgU3VzcGVuc2UgYWx3YXlzXG4gICAgICAvLyBjb21taXRzIGZhbGxiYWNrcyBzeW5jaHJvbm91c2x5LCBzbyB0aGVyZSBhcmUgbm8gcGluZ3MuXG5cbiAgICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgICBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgd2FrZWFibGUsIHJvb3RSZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGF0dGFjaFJldHJ5TGlzdGVuZXIoc3VzcGVuc2VCb3VuZGFyeSwgcm9vdCwgd2FrZWFibGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBib3VuZGFyeSB3YXMgZm91bmQuIFVubGVzcyB0aGlzIGlzIGEgc3luYyB1cGRhdGUsIHRoaXMgaXMgT0suXG4gICAgICAvLyBXZSBjYW4gc3VzcGVuZCBhbmQgd2FpdCBmb3IgbW9yZSBkYXRhIHRvIGFycml2ZS5cbiAgICAgIGlmICghaW5jbHVkZXNTeW5jTGFuZShyb290UmVuZGVyTGFuZXMpKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgbm90IGEgc3luYyB1cGRhdGUuIFN1c3BlbmQuIFNpbmNlIHdlJ3JlIG5vdCBhY3RpdmF0aW5nIGFcbiAgICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcnksIHRoaXMgd2lsbCB1bndpbmQgYWxsIHRoZSB3YXkgdG8gdGhlIHJvb3Qgd2l0aG91dFxuICAgICAgICAvLyBwZXJmb3JtaW5nIGEgc2Vjb25kIHBhc3MgdG8gcmVuZGVyIGEgZmFsbGJhY2suIChUaGlzIGlzIGFyZ3VhYmx5IGhvd1xuICAgICAgICAvLyByZWZyZXNoIHRyYW5zaXRpb25zIHNob3VsZCB3b3JrLCB0b28sIHNpbmNlIHdlJ3JlIG5vdCBnb2luZyB0byBjb21taXRcbiAgICAgICAgLy8gdGhlIGZhbGxiYWNrcyBhbnl3YXkuKVxuICAgICAgICAvL1xuICAgICAgICAvLyBUaGlzIGNhc2UgYWxzbyBhcHBsaWVzIHRvIGluaXRpYWwgaHlkcmF0aW9uLlxuICAgICAgICBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgd2FrZWFibGUsIHJvb3RSZW5kZXJMYW5lcyk7XG4gICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBUaGlzIGlzIGEgc3luYy9kaXNjcmV0ZSB1cGRhdGUuIFdlIHRyZWF0IHRoaXMgY2FzZSBsaWtlIGFuIGVycm9yXG4gICAgICAvLyBiZWNhdXNlIGRpc2NyZXRlIHJlbmRlcnMgYXJlIGV4cGVjdGVkIHRvIHByb2R1Y2UgYSBjb21wbGV0ZSB0cmVlXG4gICAgICAvLyBzeW5jaHJvbm91c2x5IHRvIG1haW50YWluIGNvbnNpc3RlbmN5IHdpdGggZXh0ZXJuYWwgc3RhdGUuXG5cblxuICAgICAgdmFyIHVuY2F1Z2h0U3VzcGVuc2VFcnJvciA9IG5ldyBFcnJvcignQSBjb21wb25lbnQgc3VzcGVuZGVkIHdoaWxlIHJlc3BvbmRpbmcgdG8gc3luY2hyb25vdXMgaW5wdXQuIFRoaXMgJyArICd3aWxsIGNhdXNlIHRoZSBVSSB0byBiZSByZXBsYWNlZCB3aXRoIGEgbG9hZGluZyBpbmRpY2F0b3IuIFRvICcgKyAnZml4LCB1cGRhdGVzIHRoYXQgc3VzcGVuZCBzaG91bGQgYmUgd3JhcHBlZCAnICsgJ3dpdGggc3RhcnRUcmFuc2l0aW9uLicpOyAvLyBJZiB3ZSdyZSBvdXRzaWRlIGEgdHJhbnNpdGlvbiwgZmFsbCB0aHJvdWdoIHRvIHRoZSByZWd1bGFyIGVycm9yIHBhdGguXG4gICAgICAvLyBUaGUgZXJyb3Igd2lsbCBiZSBjYXVnaHQgYnkgdGhlIG5lYXJlc3Qgc3VzcGVuc2UgYm91bmRhcnkuXG5cbiAgICAgIHZhbHVlID0gdW5jYXVnaHRTdXNwZW5zZUVycm9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVndWxhciBlcnJvciwgbm90IGEgU3VzcGVuc2Ugd2FrZWFibGUuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkgJiYgc291cmNlRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICBtYXJrRGlkVGhyb3dXaGlsZUh5ZHJhdGluZ0RFVigpO1xuXG4gICAgICB2YXIgX3N1c3BlbnNlQm91bmRhcnkgPSBnZXROZWFyZXN0U3VzcGVuc2VCb3VuZGFyeVRvQ2FwdHVyZShyZXR1cm5GaWJlcik7IC8vIElmIHRoZSBlcnJvciB3YXMgdGhyb3duIGR1cmluZyBoeWRyYXRpb24sIHdlIG1heSBiZSBhYmxlIHRvIHJlY292ZXIgYnlcbiAgICAgIC8vIGRpc2NhcmRpbmcgdGhlIGRlaHlkcmF0ZWQgY29udGVudCBhbmQgc3dpdGNoaW5nIHRvIGEgY2xpZW50IHJlbmRlci5cbiAgICAgIC8vIEluc3RlYWQgb2Ygc3VyZmFjaW5nIHRoZSBlcnJvciwgZmluZCB0aGUgbmVhcmVzdCBTdXNwZW5zZSBib3VuZGFyeVxuICAgICAgLy8gYW5kIHJlbmRlciBpdCBhZ2FpbiB3aXRob3V0IGh5ZHJhdGlvbi5cblxuXG4gICAgICBpZiAoX3N1c3BlbnNlQm91bmRhcnkgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKChfc3VzcGVuc2VCb3VuZGFyeS5mbGFncyAmIFNob3VsZENhcHR1cmUpID09PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgLy8gU2V0IGEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IHdlIHNob3VsZCB0cnkgcmVuZGVyaW5nIHRoZSBub3JtYWxcbiAgICAgICAgICAvLyBjaGlsZHJlbiBhZ2Fpbiwgbm90IHRoZSBmYWxsYmFjay5cbiAgICAgICAgICBfc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBGb3JjZUNsaWVudFJlbmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmtTdXNwZW5zZUJvdW5kYXJ5U2hvdWxkQ2FwdHVyZShfc3VzcGVuc2VCb3VuZGFyeSwgcmV0dXJuRmliZXIsIHNvdXJjZUZpYmVyLCByb290LCByb290UmVuZGVyTGFuZXMpOyAvLyBFdmVuIHRob3VnaCB0aGUgdXNlciBtYXkgbm90IGJlIGFmZmVjdGVkIGJ5IHRoaXMgZXJyb3IsIHdlIHNob3VsZFxuICAgICAgICAvLyBzdGlsbCBsb2cgaXQgc28gaXQgY2FuIGJlIGZpeGVkLlxuXG4gICAgICAgIHF1ZXVlSHlkcmF0aW9uRXJyb3IoY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIodmFsdWUsIHNvdXJjZUZpYmVyKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKHZhbHVlLCBzb3VyY2VGaWJlcik7XG4gIHJlbmRlckRpZEVycm9yKHZhbHVlKTsgLy8gV2UgZGlkbid0IGZpbmQgYSBib3VuZGFyeSB0aGF0IGNvdWxkIGhhbmRsZSB0aGlzIHR5cGUgb2YgZXhjZXB0aW9uLiBTdGFydFxuICAvLyBvdmVyIGFuZCB0cmF2ZXJzZSBwYXJlbnQgcGF0aCBhZ2FpbiwgdGhpcyB0aW1lIHRyZWF0aW5nIHRoZSBleGNlcHRpb25cbiAgLy8gYXMgYW4gZXJyb3IuXG5cbiAgdmFyIHdvcmtJblByb2dyZXNzID0gcmV0dXJuRmliZXI7XG5cbiAgZG8ge1xuICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9lcnJvckluZm8gPSB2YWx1ZTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTaG91bGRDYXB0dXJlO1xuICAgICAgICAgIHZhciBsYW5lID0gcGlja0FyYml0cmFyeUxhbmUocm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3MubGFuZXMsIGxhbmUpO1xuICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVSb290RXJyb3JVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF9lcnJvckluZm8sIGxhbmUpO1xuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgdXBkYXRlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgLy8gQ2FwdHVyZSBhbmQgcmV0cnlcbiAgICAgICAgdmFyIGVycm9ySW5mbyA9IHZhbHVlO1xuICAgICAgICB2YXIgY3RvciA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MgJiYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCBpbnN0YW5jZSAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSkge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZENhcHR1cmU7XG5cbiAgICAgICAgICB2YXIgX2xhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyb290UmVuZGVyTGFuZXMpO1xuXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBfbGFuZSk7IC8vIFNjaGVkdWxlIHRoZSBlcnJvciBib3VuZGFyeSB0byByZS1yZW5kZXIgdXNpbmcgdXBkYXRlZCBzdGF0ZVxuXG4gICAgICAgICAgdmFyIF91cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKHdvcmtJblByb2dyZXNzLCBlcnJvckluZm8sIF9sYW5lKTtcblxuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgX3VwZGF0ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gIH0gd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKTtcbn1cblxuZnVuY3Rpb24gZ2V0U3VzcGVuZGVkQ2FjaGUoKSB7XG4gIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIGEgU3VzcGVuc2UgYm91bmRhcnkgc3VzcGVuZHMuIEl0IHJldHVybnMgdGhlXG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dEJhZENsYXNzO1xudmFyIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzO1xudmFyIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHM7XG52YXIgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXI7XG52YXIgZGlkV2FybkFib3V0VGFpbE9wdGlvbnM7XG5cbntcbiAgZGlkV2FybkFib3V0QmFkQ2xhc3MgPSB7fTtcbiAgZGlkV2FybkFib3V0TW9kdWxlUGF0dGVybkNvbXBvbmVudCA9IHt9O1xuICBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZU9uRnVuY3Rpb25Db21wb25lbnQgPSB7fTtcbiAgZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudCA9IHt9O1xuICBkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnMgPSB7fTtcbiAgZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcyA9IGZhbHNlO1xuICBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlciA9IHt9O1xuICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9ucyA9IHt9O1xufVxuXG5mdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgaXMgYSBmcmVzaCBuZXcgY29tcG9uZW50IHRoYXQgaGFzbid0IGJlZW4gcmVuZGVyZWQgeWV0LCB3ZVxuICAgIC8vIHdvbid0IHVwZGF0ZSBpdHMgY2hpbGQgc2V0IGJ5IGFwcGx5aW5nIG1pbmltYWwgc2lkZS1lZmZlY3RzLiBJbnN0ZWFkLFxuICAgIC8vIHdlIHdpbGwgYWRkIHRoZW0gYWxsIHRvIHRoZSBjaGlsZCBiZWZvcmUgaXQgZ2V0cyByZW5kZXJlZC4gVGhhdCBtZWFuc1xuICAgIC8vIHdlIGNhbiBvcHRpbWl6ZSB0aGlzIHJlY29uY2lsaWF0aW9uIHBhc3MgYnkgbm90IHRyYWNraW5nIHNpZGUtZWZmZWN0cy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG1vdW50Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9IGVsc2Uge1xuICAgIC8vIElmIHRoZSBjdXJyZW50IGNoaWxkIGlzIHRoZSBzYW1lIGFzIHRoZSB3b3JrIGluIHByb2dyZXNzLCBpdCBtZWFucyB0aGF0XG4gICAgLy8gd2UgaGF2ZW4ndCB5ZXQgc3RhcnRlZCBhbnkgd29yayBvbiB0aGVzZSBjaGlsZHJlbi4gVGhlcmVmb3JlLCB3ZSB1c2VcbiAgICAvLyB0aGUgY2xvbmUgYWxnb3JpdGhtIHRvIGNyZWF0ZSBhIGNvcHkgb2YgYWxsIHRoZSBjdXJyZW50IGNoaWxkcmVuLlxuICAgIC8vIElmIHdlIGhhZCBhbnkgcHJvZ3Jlc3NlZCB3b3JrIGFscmVhZHksIHRoYXQgaXMgaW52YWxpZCBhdCB0aGlzIHBvaW50IHNvXG4gICAgLy8gbGV0J3MgdGhyb3cgaXQgb3V0LlxuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZvcmNlVW5tb3VudEN1cnJlbnRBbmRSZWNvbmNpbGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyBmb3JrIG9mIHJlY29uY2lsZUNoaWxkcmVuLiBJdCdzIHVzZWQgaW4gY2FzZXMgd2hlcmUgd2VcbiAgLy8gd2FudCB0byByZWNvbmNpbGUgd2l0aG91dCBtYXRjaGluZyBhZ2FpbnN0IHRoZSBleGlzdGluZyBzZXQuIFRoaXMgaGFzIHRoZVxuICAvLyBlZmZlY3Qgb2YgYWxsIGN1cnJlbnQgY2hpbGRyZW4gYmVpbmcgdW5tb3VudGVkOyBldmVuIGlmIHRoZSB0eXBlIGFuZCBrZXlcbiAgLy8gYXJlIHRoZSBzYW1lLCB0aGUgb2xkIGNoaWxkIGlzIHVubW91bnRlZCBhbmQgYSBuZXcgY2hpbGQgaXMgY3JlYXRlZC5cbiAgLy9cbiAgLy8gVG8gZG8gdGhpcywgd2UncmUgZ29pbmcgdG8gZ28gdGhyb3VnaCB0aGUgcmVjb25jaWxlIGFsZ29yaXRobSB0d2ljZS4gSW5cbiAgLy8gdGhlIGZpcnN0IHBhc3MsIHdlIHNjaGVkdWxlIGEgZGVsZXRpb24gZm9yIGFsbCB0aGUgY3VycmVudCBjaGlsZHJlbiBieVxuICAvLyBwYXNzaW5nIG51bGwuXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTsgLy8gSW4gdGhlIHNlY29uZCBwYXNzLCB3ZSBtb3VudCB0aGUgbmV3IGNoaWxkcmVuLiBUaGUgdHJpY2sgaGVyZSBpcyB0aGF0IHdlXG4gIC8vIHBhc3MgbnVsbCBpbiBwbGFjZSBvZiB3aGVyZSB3ZSB1c3VhbGx5IHBhc3MgdGhlIGN1cnJlbnQgY2hpbGQgc2V0LiBUaGlzIGhhc1xuICAvLyB0aGUgZWZmZWN0IG9mIHJlbW91bnRpbmcgYWxsIGNoaWxkcmVuIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGVpclxuICAvLyBpZGVudGl0aWVzIG1hdGNoLlxuXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVGb3J3YXJkUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcbiAgLy8gaGFzbid0IHlldCBtb3VudGVkLiBUaGlzIGhhcHBlbnMgYWZ0ZXIgdGhlIGZpcnN0IHJlbmRlciBzdXNwZW5kcy5cbiAgLy8gV2UnbGwgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoaXMgaXMgZmluZSBvciBjYW4gY2F1c2UgaXNzdWVzLlxuICB7XG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAvLyBMYXp5IGNvbXBvbmVudCBwcm9wcyBjYW4ndCBiZSB2YWxpZGF0ZWQgaW4gY3JlYXRlRWxlbWVudFxuICAgICAgLy8gYmVjYXVzZSB0aGV5J3JlIG9ubHkgZ3VhcmFudGVlZCB0byBiZSByZXNvbHZlZCBoZXJlLlxuICAgICAgdmFyIGlubmVyUHJvcFR5cGVzID0gQ29tcG9uZW50LnByb3BUeXBlcztcblxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XG4gICAgICAgIGNoZWNrUHJvcFR5cGVzKGlubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKENvbXBvbmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciByZW5kZXIgPSBDb21wb25lbnQucmVuZGVyO1xuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmOyAvLyBUaGUgcmVzdCBpcyBhIGZvcmsgb2YgdXBkYXRlRnVuY3Rpb25Db21wb25lbnRcblxuICB2YXIgbmV4dENoaWxkcmVuO1xuICB2YXIgaGFzSWQ7XG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHtcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcbiAgICBuZXh0Q2hpbGRyZW4gPSByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlciwgbmV4dFByb3BzLCByZWYsIHJlbmRlckxhbmVzKTtcbiAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXIsIG5leHRQcm9wcywgcmVmLCByZW5kZXJMYW5lcyk7XG4gICAgICAgIGhhc0lkID0gY2hlY2tEaWRSZW5kZXJJZEhvb2soKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gIH1cblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmICFkaWRSZWNlaXZlVXBkYXRlKSB7XG4gICAgYmFpbG91dEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgcHVzaE1hdGVyaWFsaXplZFRyZWVJZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHZhciB0eXBlID0gQ29tcG9uZW50LnR5cGU7XG5cbiAgICBpZiAoaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSAmJiBDb21wb25lbnQuY29tcGFyZSA9PT0gbnVsbCAmJiAvLyBTaW1wbGVNZW1vQ29tcG9uZW50IGNvZGVwYXRoIGRvZXNuJ3QgcmVzb2x2ZSBvdXRlciBwcm9wcyBlaXRoZXIuXG4gICAgQ29tcG9uZW50LmRlZmF1bHRQcm9wcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgcmVzb2x2ZWRUeXBlID0gdHlwZTtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSk7XG4gICAgICB9IC8vIElmIHRoaXMgaXMgYSBwbGFpbiBmdW5jdGlvbiBjb21wb25lbnQgd2l0aG91dCBkZWZhdWx0IHByb3BzLFxuICAgICAgLy8gYW5kIHdpdGggb25seSB0aGUgZGVmYXVsdCBzaGFsbG93IGNvbXBhcmlzb24sIHdlIHVwZ3JhZGUgaXRcbiAgICAgIC8vIHRvIGEgU2ltcGxlTWVtb0NvbXBvbmVudCB0byBhbGxvdyBmYXN0IHBhdGggdXBkYXRlcy5cblxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBTaW1wbGVNZW1vQ29tcG9uZW50O1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVkVHlwZTtcblxuICAgICAge1xuICAgICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIHR5cGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVzb2x2ZWRUeXBlLCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcblxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XG4gICAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXG4gICAgICAgIC8vIFdlIGNvdWxkIG1vdmUgaXQgdGhlcmUsIGJ1dCB3ZSdkIHN0aWxsIG5lZWQgdGhpcyBmb3IgbGF6eSBjb2RlIHBhdGguXG4gICAgICAgIGNoZWNrUHJvcFR5cGVzKGlubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgY2hpbGQgPSBjcmVhdGVGaWJlckZyb21UeXBlQW5kUHJvcHMoQ29tcG9uZW50LnR5cGUsIG51bGwsIG5leHRQcm9wcywgd29ya0luUHJvZ3Jlc3MsIHdvcmtJblByb2dyZXNzLm1vZGUsIHJlbmRlckxhbmVzKTtcbiAgICBjaGlsZC5yZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7XG4gICAgY2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjaGlsZDtcbiAgICByZXR1cm4gY2hpbGQ7XG4gIH1cblxuICB7XG4gICAgdmFyIF90eXBlID0gQ29tcG9uZW50LnR5cGU7XG4gICAgdmFyIF9pbm5lclByb3BUeXBlcyA9IF90eXBlLnByb3BUeXBlcztcblxuICAgIGlmIChfaW5uZXJQcm9wVHlwZXMpIHtcbiAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXG4gICAgICAvLyBXZSBjb3VsZCBtb3ZlIGl0IHRoZXJlLCBidXQgd2UnZCBzdGlsbCBuZWVkIHRoaXMgZm9yIGxhenkgY29kZSBwYXRoLlxuICAgICAgY2hlY2tQcm9wVHlwZXMoX2lubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShfdHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjdXJyZW50Q2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBUaGlzIGlzIGFsd2F5cyBleGFjdGx5IG9uZSBjaGlsZFxuXG4gIHZhciBoYXNTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQgPSBjaGVja1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dChjdXJyZW50LCByZW5kZXJMYW5lcyk7XG5cbiAgaWYgKCFoYXNTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQpIHtcbiAgICAvLyBUaGlzIHdpbGwgYmUgdGhlIHByb3BzIHdpdGggcmVzb2x2ZWQgZGVmYXVsdFByb3BzLFxuICAgIC8vIHVubGlrZSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgd2hpY2ggd2lsbCBiZSB0aGUgdW5yZXNvbHZlZCBvbmVzLlxuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Q2hpbGQubWVtb2l6ZWRQcm9wczsgLy8gRGVmYXVsdCB0byBzaGFsbG93IGNvbXBhcmlzb25cblxuICAgIHZhciBjb21wYXJlID0gQ29tcG9uZW50LmNvbXBhcmU7XG4gICAgY29tcGFyZSA9IGNvbXBhcmUgIT09IG51bGwgPyBjb21wYXJlIDogc2hhbGxvd0VxdWFsO1xuXG4gICAgaWYgKGNvbXBhcmUocHJldlByb3BzLCBuZXh0UHJvcHMpICYmIGN1cnJlbnQucmVmID09PSB3b3JrSW5Qcm9ncmVzcy5yZWYpIHtcbiAgICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgfVxuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHZhciBuZXdDaGlsZCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgbmV4dFByb3BzKTtcbiAgbmV3Q2hpbGQucmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuICBuZXdDaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcbiAgcmV0dXJuIG5ld0NoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcbiAgLy8gaGFzbid0IHlldCBtb3VudGVkLiBUaGlzIGhhcHBlbnMgd2hlbiB0aGUgaW5uZXIgcmVuZGVyIHN1c3BlbmRzLlxuICAvLyBXZSdsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBpcyBmaW5lIG9yIGNhbiBjYXVzZSBpc3N1ZXMuXG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXG4gICAgICB2YXIgb3V0ZXJNZW1vVHlwZSA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlO1xuXG4gICAgICBpZiAob3V0ZXJNZW1vVHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XG4gICAgICAgIC8vIFdlIHdhcm4gd2hlbiB5b3UgZGVmaW5lIHByb3BUeXBlcyBvbiBsYXp5KClcbiAgICAgICAgLy8gc28gbGV0J3MganVzdCBza2lwIG92ZXIgaXQgdG8gZmluZCBtZW1vKCkgb3V0ZXIgd3JhcHBlci5cbiAgICAgICAgLy8gSW5uZXIgcHJvcHMgZm9yIG1lbW8gYXJlIHZhbGlkYXRlZCBsYXRlci5cbiAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSBvdXRlck1lbW9UeXBlO1xuICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIG91dGVyTWVtb1R5cGUgPSBpbml0KHBheWxvYWQpO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgb3V0ZXJNZW1vVHlwZSA9IG51bGw7XG4gICAgICAgIH0gLy8gSW5uZXIgcHJvcFR5cGVzIHdpbGwgYmUgdmFsaWRhdGVkIGluIHRoZSBmdW5jdGlvbiBjb21wb25lbnQgcGF0aC5cblxuXG4gICAgICAgIHZhciBvdXRlclByb3BUeXBlcyA9IG91dGVyTWVtb1R5cGUgJiYgb3V0ZXJNZW1vVHlwZS5wcm9wVHlwZXM7XG5cbiAgICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XG4gICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgKFNpbXBsZU1lbW9Db21wb25lbnQgaGFzIG5vIGRlZmF1bHRQcm9wcylcbiAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShvdXRlck1lbW9UeXBlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICBpZiAoc2hhbGxvd0VxdWFsKHByZXZQcm9wcywgbmV4dFByb3BzKSAmJiBjdXJyZW50LnJlZiA9PT0gd29ya0luUHJvZ3Jlc3MucmVmICYmICggLy8gUHJldmVudCBiYWlsb3V0IGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VkIGR1ZSB0byBob3QgcmVsb2FkLlxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID09PSBjdXJyZW50LnR5cGUgKSkge1xuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGUgcHJvcHMgYXJlIHNoYWxsb3dseSBlcXVhbC4gUmV1c2UgdGhlIHByZXZpb3VzIHByb3BzIG9iamVjdCwgbGlrZSB3ZVxuICAgICAgLy8gd291bGQgZHVyaW5nIGEgbm9ybWFsIGZpYmVyIGJhaWxvdXQuXG4gICAgICAvL1xuICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBzdHJvbmcgZ3VhcmFudGVlcyB0aGF0IHRoZSBwcm9wcyBvYmplY3QgaXMgcmVmZXJlbnRpYWxseVxuICAgICAgLy8gZXF1YWwgZHVyaW5nIHVwZGF0ZXMgd2hlcmUgd2UgY2FuJ3QgYmFpbCBvdXQgYW55d2F5IOKAlCBsaWtlIGlmIHRoZSBwcm9wc1xuICAgICAgLy8gYXJlIHNoYWxsb3dseSBlcXVhbCwgYnV0IHRoZXJlJ3MgYSBsb2NhbCBzdGF0ZSBvciBjb250ZXh0IHVwZGF0ZSBpbiB0aGVcbiAgICAgIC8vIHNhbWUgYmF0Y2guXG4gICAgICAvL1xuICAgICAgLy8gSG93ZXZlciwgYXMgYSBwcmluY2lwbGUsIHdlIHNob3VsZCBhaW0gdG8gbWFrZSB0aGUgYmVoYXZpb3IgY29uc2lzdGVudFxuICAgICAgLy8gYWNyb3NzIGRpZmZlcmVudCB3YXlzIG9mIG1lbW9pemluZyBhIGNvbXBvbmVudC4gRm9yIGV4YW1wbGUsIFJlYWN0Lm1lbW9cbiAgICAgIC8vIGhhcyBhIGRpZmZlcmVudCBpbnRlcm5hbCBGaWJlciBsYXlvdXQgaWYgeW91IHBhc3MgYSBub3JtYWwgZnVuY3Rpb25cbiAgICAgIC8vIGNvbXBvbmVudCAoU2ltcGxlTWVtb0NvbXBvbmVudCkgdmVyc3VzIGlmIHlvdSBwYXNzIGEgZGlmZmVyZW50IHR5cGVcbiAgICAgIC8vIGxpa2UgZm9yd2FyZFJlZiAoTWVtb0NvbXBvbmVudCkuIEJ1dCB0aGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbC5cbiAgICAgIC8vIFdyYXBwaW5nIGEgY29tcG9uZW50IGluIGZvcndhcmRSZWYgKG9yIFJlYWN0LmxhenksIGV0Yykgc2hvdWxkbid0XG4gICAgICAvLyBhZmZlY3Qgd2hldGhlciB0aGUgcHJvcHMgb2JqZWN0IGlzIHJldXNlZCBkdXJpbmcgYSBiYWlsb3V0LlxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMgPSBuZXh0UHJvcHMgPSBwcmV2UHJvcHM7XG5cbiAgICAgIGlmICghY2hlY2tTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQoY3VycmVudCwgcmVuZGVyTGFuZXMpKSB7XG4gICAgICAgIC8vIFRoZSBwZW5kaW5nIGxhbmVzIHdlcmUgY2xlYXJlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGJlZ2luV29yay4gV2UncmVcbiAgICAgICAgLy8gYWJvdXQgdG8gYmFpbCBvdXQsIGJ1dCB0aGVyZSBtaWdodCBiZSBvdGhlciBsYW5lcyB0aGF0IHdlcmVuJ3RcbiAgICAgICAgLy8gaW5jbHVkZWQgaW4gdGhlIGN1cnJlbnQgcmVuZGVyLiBVc3VhbGx5LCB0aGUgcHJpb3JpdHkgbGV2ZWwgb2YgdGhlXG4gICAgICAgIC8vIHJlbWFpbmluZyB1cGRhdGVzIGlzIGFjY3VtdWxhdGVkIGR1cmluZyB0aGUgZXZhbHVhdGlvbiBvZiB0aGVcbiAgICAgICAgLy8gY29tcG9uZW50IChpLmUuIHdoZW4gcHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlKS4gQnV0IHNpbmNlIHNpbmNlXG4gICAgICAgIC8vIHdlJ3JlIGJhaWxpbmcgb3V0IGVhcmx5ICp3aXRob3V0KiBldmFsdWF0aW5nIHRoZSBjb21wb25lbnQsIHdlIG5lZWRcbiAgICAgICAgLy8gdG8gYWNjb3VudCBmb3IgaXQgaGVyZSwgdG9vLiBSZXNldCB0byB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgZmliZXIuXG4gICAgICAgIC8vIE5PVEU6IFRoaXMgb25seSBhcHBsaWVzIHRvIFNpbXBsZU1lbW9Db21wb25lbnQsIG5vdCBNZW1vQ29tcG9uZW50LFxuICAgICAgICAvLyBiZWNhdXNlIGEgTWVtb0NvbXBvbmVudCBmaWJlciBkb2VzIG5vdCBoYXZlIGhvb2tzIG9yIGFuIHVwZGF0ZSBxdWV1ZTtcbiAgICAgICAgLy8gcmF0aGVyLCBpdCB3cmFwcyBhcm91bmQgYW4gaW5uZXIgY29tcG9uZW50LCB3aGljaCBtYXkgb3IgbWF5IG5vdFxuICAgICAgICAvLyBjb250YWlucyBob29rcy5cbiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGUgcmVzZXQgYXQgaW4gYmVnaW5Xb3JrIG91dCBvZiB0aGUgY29tbW9uIHBhdGggc28gdGhhdFxuICAgICAgICAvLyB0aGlzIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gY3VycmVudC5sYW5lcztcbiAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH0gZWxzZSBpZiAoKGN1cnJlbnQuZmxhZ3MgJiBGb3JjZVVwZGF0ZUZvckxlZ2FjeVN1c3BlbnNlKSAhPT0gTm9GbGFncykge1xuICAgICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlIHRoYXQgb25seSBleGlzdHMgZm9yIGxlZ2FjeSBtb2RlLlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMTkyMTYuXG4gICAgICAgIGRpZFJlY2VpdmVVcGRhdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YXIgcHJldlN0YXRlID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSA6IG51bGw7XG5cbiAgaWYgKG5leHRQcm9wcy5tb2RlID09PSAnaGlkZGVuJyB8fCBlbmFibGVMZWdhY3lIaWRkZW4gKSB7XG4gICAgLy8gUmVuZGVyaW5nIGEgaGlkZGVuIHRyZWUuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIC8vIEluIGxlZ2FjeSBzeW5jIG1vZGUsIGRvbid0IGRlZmVyIHRoZSBzdWJ0cmVlLiBSZW5kZXIgaXQgbm93LlxuICAgICAgLy8gVE9ETzogQ29uc2lkZXIgaG93IE9mZnNjcmVlbiBzaG91bGQgd29yayB3aXRoIHRyYW5zaXRpb25zIGluIHRoZSBmdXR1cmVcbiAgICAgIHZhciBuZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogTm9MYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBudWxsLFxuICAgICAgICB0cmFuc2l0aW9uczogbnVsbFxuICAgICAgfTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXh0U3RhdGU7XG5cbiAgICAgIHB1c2hSZW5kZXJMYW5lcyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgIH0gZWxzZSBpZiAoIWluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIE9mZnNjcmVlbkxhbmUpKSB7XG4gICAgICB2YXIgc3Bhd25lZENhY2hlUG9vbCA9IG51bGw7IC8vIFdlJ3JlIGhpZGRlbiwgYW5kIHdlJ3JlIG5vdCByZW5kZXJpbmcgYXQgT2Zmc2NyZWVuLiBXZSB3aWxsIGJhaWwgb3V0XG4gICAgICAvLyBhbmQgcmVzdW1lIHRoaXMgdHJlZSBsYXRlci5cblxuICAgICAgdmFyIG5leHRCYXNlTGFuZXM7XG5cbiAgICAgIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIHByZXZCYXNlTGFuZXMgPSBwcmV2U3RhdGUuYmFzZUxhbmVzO1xuICAgICAgICBuZXh0QmFzZUxhbmVzID0gbWVyZ2VMYW5lcyhwcmV2QmFzZUxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0QmFzZUxhbmVzID0gcmVuZGVyTGFuZXM7XG4gICAgICB9IC8vIFNjaGVkdWxlIHRoaXMgZmliZXIgdG8gcmUtcmVuZGVyIGF0IG9mZnNjcmVlbiBwcmlvcml0eS4gVGhlbiBiYWlsb3V0LlxuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IGxhbmVUb0xhbmVzKE9mZnNjcmVlbkxhbmUpO1xuICAgICAgdmFyIF9uZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogbmV4dEJhc2VMYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBzcGF3bmVkQ2FjaGVQb29sLFxuICAgICAgICB0cmFuc2l0aW9uczogbnVsbFxuICAgICAgfTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBfbmV4dFN0YXRlO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuICAgICAgLy8gdG8gYXZvaWQgYSBwdXNoL3BvcCBtaXNhbGlnbm1lbnQuXG5cblxuICAgICAgcHVzaFJlbmRlckxhbmVzKHdvcmtJblByb2dyZXNzLCBuZXh0QmFzZUxhbmVzKTtcblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCByZW5kZXIuIFRoZSBzdXJyb3VuZGluZyB2aXNpYmxlIGNvbnRlbnQgaGFzIGFscmVhZHlcbiAgICAgIC8vIGNvbW1pdHRlZC4gTm93IHdlIHJlc3VtZSByZW5kZXJpbmcgdGhlIGhpZGRlbiB0cmVlLlxuICAgICAgLy8gUmVuZGVyaW5nIGF0IG9mZnNjcmVlbiwgc28gd2UgY2FuIGNsZWFyIHRoZSBiYXNlIGxhbmVzLlxuICAgICAgdmFyIF9uZXh0U3RhdGUyID0ge1xuICAgICAgICBiYXNlTGFuZXM6IE5vTGFuZXMsXG4gICAgICAgIGNhY2hlUG9vbDogbnVsbCxcbiAgICAgICAgdHJhbnNpdGlvbnM6IG51bGxcbiAgICAgIH07XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gX25leHRTdGF0ZTI7IC8vIFB1c2ggdGhlIGxhbmVzIHRoYXQgd2VyZSBza2lwcGVkIHdoZW4gd2UgYmFpbGVkIG91dC5cblxuICAgICAgdmFyIHN1YnRyZWVSZW5kZXJMYW5lcyA9IHByZXZTdGF0ZSAhPT0gbnVsbCA/IHByZXZTdGF0ZS5iYXNlTGFuZXMgOiByZW5kZXJMYW5lcztcblxuICAgICAgcHVzaFJlbmRlckxhbmVzKHdvcmtJblByb2dyZXNzLCBzdWJ0cmVlUmVuZGVyTGFuZXMpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBSZW5kZXJpbmcgYSB2aXNpYmxlIHRyZWUuXG4gICAgdmFyIF9zdWJ0cmVlUmVuZGVyTGFuZXM7XG5cbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBXZSdyZSBnb2luZyBmcm9tIGhpZGRlbiAtPiB2aXNpYmxlLlxuICAgICAgX3N1YnRyZWVSZW5kZXJMYW5lcyA9IG1lcmdlTGFuZXMocHJldlN0YXRlLmJhc2VMYW5lcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2Ugd2VyZW4ndCBwcmV2aW91c2x5IGhpZGRlbiwgYW5kIHdlIHN0aWxsIGFyZW4ndCwgc28gdGhlcmUncyBub3RoaW5nXG4gICAgICAvLyBzcGVjaWFsIHRvIGRvLiBOZWVkIHRvIHB1c2ggdG8gdGhlIHN0YWNrIHJlZ2FyZGxlc3MsIHRob3VnaCwgdG8gYXZvaWRcbiAgICAgIC8vIGEgcHVzaC9wb3AgbWlzYWxpZ25tZW50LlxuICAgICAgX3N1YnRyZWVSZW5kZXJMYW5lcyA9IHJlbmRlckxhbmVzO1xuICAgIH1cblxuICAgIHB1c2hSZW5kZXJMYW5lcyh3b3JrSW5Qcm9ncmVzcywgX3N1YnRyZWVSZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn0gLy8gTm90ZTogVGhlc2UgaGFwcGVuIHRvIGhhdmUgaWRlbnRpY2FsIGJlZ2luIHBoYXNlcywgZm9yIG5vdy4gV2Ugc2hvdWxkbid0IGhvbGRcblxuZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0Q2hpbGRyZW4gPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVNb2RlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG5cbiAgICB7XG4gICAgICAvLyBSZXNldCBlZmZlY3QgZHVyYXRpb25zIGZvciB0aGUgbmV4dCBldmVudHVhbCBlZmZlY3QgcGhhc2UuXG4gICAgICAvLyBUaGVzZSBhcmUgcmVzZXQgZHVyaW5nIHJlbmRlciB0byBhbGxvdyB0aGUgRGV2VG9vbHMgY29tbWl0IGhvb2sgYSBjaGFuY2UgdG8gcmVhZCB0aGVtLFxuICAgICAgdmFyIHN0YXRlTm9kZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgIHN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICBzdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gMDtcbiAgICB9XG4gIH1cblxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gbWFya1JlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsICYmIHJlZiAhPT0gbnVsbCB8fCBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQucmVmICE9PSByZWYpIHtcbiAgICAvLyBTY2hlZHVsZSBhIFJlZiBlZmZlY3RcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWY7XG5cbiAgICB7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWZTdGF0aWM7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAge1xuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgLy8gTGF6eSBjb21wb25lbnQgcHJvcHMgY2FuJ3QgYmUgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhleSdyZSBvbmx5IGd1YXJhbnRlZWQgdG8gYmUgcmVzb2x2ZWQgaGVyZS5cbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XG5cbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xuICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlKTtcbiAgICBjb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KTtcbiAgfVxuXG4gIHZhciBuZXh0Q2hpbGRyZW47XG4gIHZhciBoYXNJZDtcbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIGNvbnRleHQsIHJlbmRlckxhbmVzKTtcbiAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgY29udGV4dCwgcmVuZGVyTGFuZXMpO1xuICAgICAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xuICB9XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkKCk7XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiAhZGlkUmVjZWl2ZVVwZGF0ZSkge1xuICAgIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSAmJiBoYXNJZCkge1xuICAgIHB1c2hNYXRlcmlhbGl6ZWRUcmVlSWQod29ya0luUHJvZ3Jlc3MpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICAvLyBUaGlzIGlzIHVzZWQgYnkgRGV2VG9vbHMgdG8gZm9yY2UgYSBib3VuZGFyeSB0byBlcnJvci5cbiAgICBzd2l0Y2ggKHNob3VsZEVycm9yKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBfaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gICAgICAgICAgdmFyIGN0b3IgPSB3b3JrSW5Qcm9ncmVzcy50eXBlOyAvLyBUT0RPIFRoaXMgd2F5IG9mIHJlc2V0dGluZyB0aGUgZXJyb3IgYm91bmRhcnkgc3RhdGUgaXMgYSBoYWNrLlxuICAgICAgICAgIC8vIElzIHRoZXJlIGEgYmV0dGVyIHdheSB0byBkbyB0aGlzP1xuXG4gICAgICAgICAgdmFyIHRlbXBJbnN0YW5jZSA9IG5ldyBjdG9yKHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMsIF9pbnN0YW5jZS5jb250ZXh0KTtcbiAgICAgICAgICB2YXIgc3RhdGUgPSB0ZW1wSW5zdGFuY2Uuc3RhdGU7XG5cbiAgICAgICAgICBfaW5zdGFuY2UudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUoX2luc3RhbmNlLCBzdGF0ZSwgbnVsbCk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZENhcHR1cmU7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG5cbiAgICAgICAgICB2YXIgZXJyb3IkMSA9IG5ldyBFcnJvcignU2ltdWxhdGVkIGVycm9yIGNvbWluZyBmcm9tIERldlRvb2xzJyk7XG4gICAgICAgICAgdmFyIGxhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyZW5kZXJMYW5lcyk7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBsYW5lKTsgLy8gU2NoZWR1bGUgdGhlIGVycm9yIGJvdW5kYXJ5IHRvIHJlLXJlbmRlciB1c2luZyB1cGRhdGVkIHN0YXRlXG5cbiAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlQ2xhc3NFcnJvclVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIoZXJyb3IkMSwgd29ya0luUHJvZ3Jlc3MpLCBsYW5lKTtcbiAgICAgICAgICBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIHVwZGF0ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSBDb21wb25lbnQucHJvcFR5cGVzO1xuXG4gICAgICBpZiAoaW5uZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgY2hlY2tQcm9wVHlwZXMoaW5uZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgcHJvcHNcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSk7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFB1c2ggY29udGV4dCBwcm92aWRlcnMgZWFybHkgdG8gcHJldmVudCBjb250ZXh0IHN0YWNrIG1pc21hdGNoZXMuXG4gIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cbiAgLy8gV2Ugd2lsbCBpbnZhbGlkYXRlIHRoZSBjaGlsZCBjb250ZXh0IGluIGZpbmlzaENsYXNzQ29tcG9uZW50KCkgcmlnaHQgYWZ0ZXIgcmVuZGVyaW5nLlxuXG5cbiAgdmFyIGhhc0NvbnRleHQ7XG5cbiAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICBoYXNDb250ZXh0ID0gdHJ1ZTtcbiAgICBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcbiAgfSBlbHNlIHtcbiAgICBoYXNDb250ZXh0ID0gZmFsc2U7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIHZhciBzaG91bGRVcGRhdGU7XG5cbiAgaWYgKGluc3RhbmNlID09PSBudWxsKSB7XG4gICAgcmVzZXRTdXNwZW5kZWRDdXJyZW50T25Nb3VudEluTGVnYWN5TW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7IC8vIEluIHRoZSBpbml0aWFsIHBhc3Mgd2UgbWlnaHQgbmVlZCB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlLlxuXG4gICAgY29uc3RydWN0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMpO1xuICAgIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICBzaG91bGRVcGRhdGUgPSB0cnVlO1xuICB9IGVsc2UgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAvLyBJbiBhIHJlc3VtZSwgd2UnbGwgYWxyZWFkeSBoYXZlIGFuIGluc3RhbmNlIHdlIGNhbiByZXVzZS5cbiAgICBzaG91bGRVcGRhdGUgPSByZXN1bWVNb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgc2hvdWxkVXBkYXRlID0gdXBkYXRlQ2xhc3NJbnN0YW5jZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciBuZXh0VW5pdE9mV29yayA9IGZpbmlzaENsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHNob3VsZFVwZGF0ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xuXG4gIHtcbiAgICB2YXIgaW5zdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmIChzaG91bGRVcGRhdGUgJiYgaW5zdC5wcm9wcyAhPT0gbmV4dFByb3BzKSB7XG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcbiAgICAgICAgZXJyb3IoJ0l0IGxvb2tzIGxpa2UgJXMgaXMgcmVhc3NpZ25pbmcgaXRzIG93biBgdGhpcy5wcm9wc2Agd2hpbGUgcmVuZGVyaW5nLiAnICsgJ1RoaXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgY2FuIGxlYWQgdG8gY29uZnVzaW5nIGJ1Z3MuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcih3b3JrSW5Qcm9ncmVzcykgfHwgJ2EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXh0VW5pdE9mV29yaztcbn1cblxuZnVuY3Rpb24gZmluaXNoQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgc2hvdWxkVXBkYXRlLCBoYXNDb250ZXh0LCByZW5kZXJMYW5lcykge1xuICAvLyBSZWZzIHNob3VsZCB1cGRhdGUgZXZlbiBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZVxuICBtYXJrUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGRpZENhcHR1cmVFcnJvciA9ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzO1xuXG4gIGlmICghc2hvdWxkVXBkYXRlICYmICFkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBDb250ZXh0IHByb3ZpZGVycyBzaG91bGQgZGVmZXIgdG8gc0NVIGZvciByZW5kZXJpbmdcbiAgICBpZiAoaGFzQ29udGV4dCkge1xuICAgICAgaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTsgLy8gUmVyZW5kZXJcblxuICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdmFyIG5leHRDaGlsZHJlbjtcblxuICBpZiAoZGlkQ2FwdHVyZUVycm9yICYmIHR5cGVvZiBDb21wb25lbnQuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gSWYgd2UgY2FwdHVyZWQgYW4gZXJyb3IsIGJ1dCBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgaXMgbm90IGRlZmluZWQsXG4gICAgLy8gdW5tb3VudCBhbGwgdGhlIGNoaWxkcmVuLiBjb21wb25lbnREaWRDYXRjaCB3aWxsIHNjaGVkdWxlIGFuIHVwZGF0ZSB0b1xuICAgIC8vIHJlLXJlbmRlciBhIGZhbGxiYWNrLiBUaGlzIGlzIHRlbXBvcmFyeSB1bnRpbCB3ZSBtaWdyYXRlIGV2ZXJ5b25lIHRvXG4gICAgLy8gdGhlIG5ldyBBUEkuXG4gICAgLy8gVE9ETzogV2FybiBpbiBhIGZ1dHVyZSByZWxlYXNlLlxuICAgIG5leHRDaGlsZHJlbiA9IG51bGw7XG5cbiAgICB7XG4gICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZygpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfVxuXG4gICAge1xuICAgICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgICBuZXh0Q2hpbGRyZW4gPSBpbnN0YW5jZS5yZW5kZXIoKTtcblxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGluc3RhbmNlLnJlbmRlcigpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgICB9XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBJZiB3ZSdyZSByZWNvdmVyaW5nIGZyb20gYW4gZXJyb3IsIHJlY29uY2lsZSB3aXRob3V0IHJldXNpbmcgYW55IG9mXG4gICAgLy8gdGhlIGV4aXN0aW5nIGNoaWxkcmVuLiBDb25jZXB0dWFsbHksIHRoZSBub3JtYWwgY2hpbGRyZW4gYW5kIHRoZSBjaGlsZHJlblxuICAgIC8vIHRoYXQgYXJlIHNob3duIG9uIGVycm9yIGFyZSB0d28gZGlmZmVyZW50IHNldHMsIHNvIHdlIHNob3VsZG4ndCByZXVzZVxuICAgIC8vIG5vcm1hbCBjaGlsZHJlbiBldmVuIGlmIHRoZWlyIGlkZW50aXRpZXMgbWF0Y2guXG4gICAgZm9yY2VVbm1vdW50Q3VycmVudEFuZFJlY29uY2lsZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9IC8vIE1lbW9pemUgc3RhdGUgdXNpbmcgdGhlIHZhbHVlcyB3ZSBqdXN0IHVzZWQgdG8gcmVuZGVyLlxuICAvLyBUT0RPOiBSZXN0cnVjdHVyZSBzbyB3ZSBuZXZlciByZWFkIHZhbHVlcyBmcm9tIHRoZSBpbnN0YW5jZS5cblxuXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTsgLy8gVGhlIGNvbnRleHQgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNvIHdlIG5lZWQgdG8gcmVjYWxjdWxhdGUgaXQuXG5cbiAgaWYgKGhhc0NvbnRleHQpIHtcbiAgICBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKSB7XG4gIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIGlmIChyb290LnBlbmRpbmdDb250ZXh0KSB7XG4gICAgcHVzaFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcywgcm9vdC5wZW5kaW5nQ29udGV4dCwgcm9vdC5wZW5kaW5nQ29udGV4dCAhPT0gcm9vdC5jb250ZXh0KTtcbiAgfSBlbHNlIGlmIChyb290LmNvbnRleHQpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGJlIHNldFxuICAgIHB1c2hUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGV4dCwgZmFsc2UpO1xuICB9XG5cbiAgcHVzaEhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGFpbmVySW5mbyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIGhhdmUgYSBjdXJyZW50IGZpYmVyLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LicpO1xuICB9XG5cbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByZXZTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBwcmV2Q2hpbGRyZW4gPSBwcmV2U3RhdGUuZWxlbWVudDtcbiAgY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV4dFByb3BzLCBudWxsLCByZW5kZXJMYW5lcyk7XG4gIHZhciBuZXh0U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgcm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG5cbiAgdmFyIG5leHRDaGlsZHJlbiA9IG5leHRTdGF0ZS5lbGVtZW50O1xuXG4gIGlmICggcHJldlN0YXRlLmlzRGVoeWRyYXRlZCkge1xuICAgIC8vIFRoaXMgaXMgYSBoeWRyYXRpb24gcm9vdCB3aG9zZSBzaGVsbCBoYXMgbm90IHlldCBoeWRyYXRlZC4gV2Ugc2hvdWxkXG4gICAgLy8gYXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIC8vIEZsaXAgaXNEZWh5ZHJhdGVkIHRvIGZhbHNlIHRvIGluZGljYXRlIHRoYXQgd2hlbiB0aGlzIHJlbmRlclxuICAgIC8vIGZpbmlzaGVzLCB0aGUgcm9vdCB3aWxsIG5vIGxvbmdlciBiZSBkZWh5ZHJhdGVkLlxuICAgIHZhciBvdmVycmlkZVN0YXRlID0ge1xuICAgICAgZWxlbWVudDogbmV4dENoaWxkcmVuLFxuICAgICAgaXNEZWh5ZHJhdGVkOiBmYWxzZSxcbiAgICAgIGNhY2hlOiBuZXh0U3RhdGUuY2FjaGUsXG4gICAgICBwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOiBuZXh0U3RhdGUucGVuZGluZ1N1c3BlbnNlQm91bmRhcmllcyxcbiAgICAgIHRyYW5zaXRpb25zOiBuZXh0U3RhdGUudHJhbnNpdGlvbnNcbiAgICB9O1xuICAgIHZhciB1cGRhdGVRdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlOyAvLyBgYmFzZVN0YXRlYCBjYW4gYWx3YXlzIGJlIHRoZSBsYXN0IHN0YXRlIGJlY2F1c2UgdGhlIHJvb3QgZG9lc24ndFxuICAgIC8vIGhhdmUgcmVkdWNlciBmdW5jdGlvbnMgc28gaXQgZG9lc24ndCBuZWVkIHJlYmFzaW5nLlxuXG4gICAgdXBkYXRlUXVldWUuYmFzZVN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSB7XG4gICAgICAvLyBTb21ldGhpbmcgZXJyb3JlZCBkdXJpbmcgYSBwcmV2aW91cyBhdHRlbXB0IHRvIGh5ZHJhdGUgdGhlIHNoZWxsLCBzbyB3ZVxuICAgICAgLy8gZm9yY2VkIGEgY2xpZW50IHJlbmRlci5cbiAgICAgIHZhciByZWNvdmVyYWJsZUVycm9yID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIobmV3IEVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgaHlkcmF0aW5nLiBCZWNhdXNlIHRoZSBlcnJvciBoYXBwZW5lZCBvdXRzaWRlICcgKyAnb2YgYSBTdXNwZW5zZSBib3VuZGFyeSwgdGhlIGVudGlyZSByb290IHdpbGwgc3dpdGNoIHRvICcgKyAnY2xpZW50IHJlbmRlcmluZy4nKSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG1vdW50SG9zdFJvb3RXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzLCByZWNvdmVyYWJsZUVycm9yKTtcbiAgICB9IGVsc2UgaWYgKG5leHRDaGlsZHJlbiAhPT0gcHJldkNoaWxkcmVuKSB7XG4gICAgICB2YXIgX3JlY292ZXJhYmxlRXJyb3IgPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihuZXcgRXJyb3IoJ1RoaXMgcm9vdCByZWNlaXZlZCBhbiBlYXJseSB1cGRhdGUsIGJlZm9yZSBhbnl0aGluZyB3YXMgYWJsZSAnICsgJ2h5ZHJhdGUuIFN3aXRjaGVkIHRoZSBlbnRpcmUgcm9vdCB0byBjbGllbnQgcmVuZGVyaW5nLicpLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHJldHVybiBtb3VudEhvc3RSb290V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcywgX3JlY292ZXJhYmxlRXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgb3V0ZXJtb3N0IHNoZWxsIGhhcyBub3QgaHlkcmF0ZWQgeWV0LiBTdGFydCBoeWRyYXRpbmcuXG4gICAgICBlbnRlckh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgdmFyIGNoaWxkID0gbW91bnRDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgbnVsbCwgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IGNoaWxkO1xuICAgICAgdmFyIG5vZGUgPSBjaGlsZDtcblxuICAgICAgd2hpbGUgKG5vZGUpIHtcbiAgICAgICAgLy8gTWFyayBlYWNoIGNoaWxkIGFzIGh5ZHJhdGluZy4gVGhpcyBpcyBhIGZhc3QgcGF0aCB0byBrbm93IHdoZXRoZXIgdGhpc1xuICAgICAgICAvLyB0cmVlIGlzIHBhcnQgb2YgYSBoeWRyYXRpbmcgdHJlZS4gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIGNoaWxkXG4gICAgICAgIC8vIG5vZGUgaGFzIGZ1bGx5IG1vdW50ZWQgeWV0LCBhbmQgZm9yIHNjaGVkdWxpbmcgZXZlbnQgcmVwbGF5aW5nLlxuICAgICAgICAvLyBDb25jZXB0dWFsbHkgdGhpcyBpcyBzaW1pbGFyIHRvIFBsYWNlbWVudCBpbiB0aGF0IGEgbmV3IHN1YnRyZWUgaXNcbiAgICAgICAgLy8gaW5zZXJ0ZWQgaW50byB0aGUgUmVhY3QgdHJlZSBoZXJlLiBJdCBqdXN0IGhhcHBlbnMgdG8gbm90IG5lZWQgRE9NXG4gICAgICAgIC8vIG11dGF0aW9ucyBiZWNhdXNlIGl0IGFscmVhZHkgZXhpc3RzLlxuICAgICAgICBub2RlLmZsYWdzID0gbm9kZS5mbGFncyAmIH5QbGFjZW1lbnQgfCBIeWRyYXRpbmc7XG4gICAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFJvb3QgaXMgbm90IGRlaHlkcmF0ZWQuIEVpdGhlciB0aGlzIGlzIGEgY2xpZW50LW9ubHkgcm9vdCwgb3IgaXRcbiAgICAvLyBhbHJlYWR5IGh5ZHJhdGVkLlxuICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcblxuICAgIGlmIChuZXh0Q2hpbGRyZW4gPT09IHByZXZDaGlsZHJlbikge1xuICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50SG9zdFJvb3RXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzLCByZWNvdmVyYWJsZUVycm9yKSB7XG4gIC8vIFJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLlxuICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gIHF1ZXVlSHlkcmF0aW9uRXJyb3IocmVjb3ZlcmFibGVFcnJvcik7XG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IEZvcmNlQ2xpZW50UmVuZGVyO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgcHVzaEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHRyeVRvQ2xhaW1OZXh0SHlkcmF0YWJsZUluc3RhbmNlKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBudWxsO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YXIgaXNEaXJlY3RUZXh0Q2hpbGQgPSBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBuZXh0UHJvcHMpO1xuXG4gIGlmIChpc0RpcmVjdFRleHRDaGlsZCkge1xuICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBhIGRpcmVjdCB0ZXh0IGNoaWxkIG9mIGEgaG9zdCBub2RlLiBUaGlzIGlzIGEgY29tbW9uXG4gICAgLy8gY2FzZS4gV2Ugd29uJ3QgaGFuZGxlIGl0IGFzIGEgcmVpZmllZCBjaGlsZC4gV2Ugd2lsbCBpbnN0ZWFkIGhhbmRsZVxuICAgIC8vIHRoaXMgaW4gdGhlIGhvc3QgZW52aXJvbm1lbnQgdGhhdCBhbHNvIGhhcyBhY2Nlc3MgdG8gdGhpcyBwcm9wLiBUaGF0XG4gICAgLy8gYXZvaWRzIGFsbG9jYXRpbmcgYW5vdGhlciBIb3N0VGV4dCBmaWJlciBhbmQgdHJhdmVyc2luZyBpdC5cbiAgICBuZXh0Q2hpbGRyZW4gPSBudWxsO1xuICB9IGVsc2UgaWYgKHByZXZQcm9wcyAhPT0gbnVsbCAmJiBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBwcmV2UHJvcHMpKSB7XG4gICAgLy8gSWYgd2UncmUgc3dpdGNoaW5nIGZyb20gYSBkaXJlY3QgdGV4dCBjaGlsZCB0byBhIG5vcm1hbCBjaGlsZCwgb3IgdG9cbiAgICAvLyBlbXB0eSwgd2UgbmVlZCB0byBzY2hlZHVsZSB0aGUgdGV4dCBjb250ZW50IHRvIGJlIHJlc2V0LlxuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IENvbnRlbnRSZXNldDtcbiAgfVxuXG4gIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdFRleHQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gTm90aGluZyB0byBkbyBoZXJlLiBUaGlzIGlzIHRlcm1pbmFsLiBXZSdsbCBkbyB0aGUgY29tcGxldGlvbiBzdGVwXG4gIC8vIGltbWVkaWF0ZWx5IGFmdGVyLlxuXG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIG1vdW50TGF6eUNvbXBvbmVudChfY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGVsZW1lbnRUeXBlLCByZW5kZXJMYW5lcykge1xuICByZXNldFN1c3BlbmRlZEN1cnJlbnRPbk1vdW50SW5MZWdhY3lNb2RlKF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHZhciBwcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIGxhenlDb21wb25lbnQgPSBlbGVtZW50VHlwZTtcbiAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG4gIHZhciBDb21wb25lbnQgPSBpbml0KHBheWxvYWQpOyAvLyBTdG9yZSB0aGUgdW53cmFwcGVkIGNvbXBvbmVudCBpbiB0aGUgdHlwZS5cblxuICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50O1xuICB2YXIgcmVzb2x2ZWRUYWcgPSB3b3JrSW5Qcm9ncmVzcy50YWcgPSByZXNvbHZlTGF6eUNvbXBvbmVudFRhZyhDb21wb25lbnQpO1xuICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHJlc29sdmVEZWZhdWx0UHJvcHMoQ29tcG9uZW50LCBwcm9wcyk7XG4gIHZhciBjaGlsZDtcblxuICBzd2l0Y2ggKHJlc29sdmVkVGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKENvbXBvbmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgfVxuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBDb21wb25lbnQgPSByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlQ2xhc3NDb21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZWRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICB9XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlRm9yd2FyZFJlZihudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cblxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgICAgICAgdmFyIG91dGVyUHJvcFR5cGVzID0gQ29tcG9uZW50LnByb3BUeXBlcztcblxuICAgICAgICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XG4gICAgICAgICAgICAgIGNoZWNrUHJvcFR5cGVzKG91dGVyUHJvcFR5cGVzLCByZXNvbHZlZFByb3BzLCAvLyBSZXNvbHZlZCBmb3Igb3V0ZXIgb25seVxuICAgICAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZU1lbW9Db21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQudHlwZSwgcmVzb2x2ZWRQcm9wcyksIC8vIFRoZSBpbm5lciB0eXBlIGNhbiBoYXZlIGRlZmF1bHRzIHRvb1xuICAgICAgICByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgfVxuXG4gIHZhciBoaW50ID0gJyc7XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQgIT09IG51bGwgJiYgdHlwZW9mIENvbXBvbmVudCA9PT0gJ29iamVjdCcgJiYgQ29tcG9uZW50LiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgIGhpbnQgPSAnIERpZCB5b3Ugd3JhcCBhIGNvbXBvbmVudCBpbiBSZWFjdC5sYXp5KCkgbW9yZSB0aGFuIG9uY2U/JztcbiAgICB9XG4gIH0gLy8gVGhpcyBtZXNzYWdlIGludGVudGlvbmFsbHkgZG9lc24ndCBtZW50aW9uIEZvcndhcmRSZWYgb3IgTWVtb0NvbXBvbmVudFxuICAvLyBiZWNhdXNlIHRoZSBmYWN0IHRoYXQgaXQncyBhIHNlcGFyYXRlIHR5cGUgb2Ygd29yayBpcyBhblxuICAvLyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXG5cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IHR5cGUgaXMgaW52YWxpZC4gUmVjZWl2ZWQgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG86IFwiICsgQ29tcG9uZW50ICsgXCIuIFwiICsgKFwiTGF6eSBlbGVtZW50IHR5cGUgbXVzdCByZXNvbHZlIHRvIGEgY2xhc3Mgb3IgZnVuY3Rpb24uXCIgKyBoaW50KSk7XG59XG5cbmZ1bmN0aW9uIG1vdW50SW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTsgLy8gUHJvbW90ZSB0aGUgZmliZXIgdG8gYSBjbGFzcyBhbmQgdHJ5IHJlbmRlcmluZyBhZ2Fpbi5cblxuICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBDbGFzc0NvbXBvbmVudDsgLy8gVGhlIHJlc3Qgb2YgdGhpcyBmdW5jdGlvbiBpcyBhIGZvcmsgb2YgYHVwZGF0ZUNsYXNzQ29tcG9uZW50YFxuICAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAvLyBEdXJpbmcgbW91bnRpbmcgd2UgZG9uJ3Qga25vdyB0aGUgY2hpbGQgY29udGV4dCB5ZXQgYXMgdGhlIGluc3RhbmNlIGRvZXNuJ3QgZXhpc3QuXG4gIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cblxuICB2YXIgaGFzQ29udGV4dDtcblxuICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgIGhhc0NvbnRleHQgPSB0cnVlO1xuICAgIHB1c2hDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpO1xuICB9IGVsc2Uge1xuICAgIGhhc0NvbnRleHQgPSBmYWxzZTtcbiAgfVxuXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIGNvbnN0cnVjdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzKTtcbiAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gZmluaXNoQ2xhc3NDb21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgdHJ1ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiBtb3VudEluZGV0ZXJtaW5hdGVDb21wb25lbnQoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgdmFsdWU7XG4gIHZhciBoYXNJZDtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlICYmIHR5cGVvZiBDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgZXJyb3IoXCJUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGhhdmUgYSByZW5kZXIgbWV0aG9kLCBidXQgZG9lc24ndCBleHRlbmQgUmVhY3QuQ29tcG9uZW50LiBcIiArICdUaGlzIGlzIGxpa2VseSB0byBjYXVzZSBlcnJvcnMuIENoYW5nZSAlcyB0byBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuJywgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmcod29ya0luUHJvZ3Jlc3MsIG51bGwpO1xuICAgIH1cblxuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgaGFzSWQgPSBjaGVja0RpZFJlbmRlcklkSG9vaygpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG5cbiAge1xuICAgIC8vIFN1cHBvcnQgZm9yIG1vZHVsZSBjb21wb25lbnRzIGlzIGRlcHJlY2F0ZWQgYW5kIGlzIHJlbW92ZWQgYmVoaW5kIGEgZmxhZy5cbiAgICAvLyBXaGV0aGVyIG9yIG5vdCBpdCB3b3VsZCBjcmFzaCBsYXRlciwgd2Ugd2FudCB0byBzaG93IGEgZ29vZCBtZXNzYWdlIGluIERFViBmaXJzdC5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUucmVuZGVyID09PSAnZnVuY3Rpb24nICYmIHZhbHVlLiQkdHlwZW9mID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignVGhlIDwlcyAvPiBjb21wb25lbnQgYXBwZWFycyB0byBiZSBhIGZ1bmN0aW9uIGNvbXBvbmVudCB0aGF0IHJldHVybnMgYSBjbGFzcyBpbnN0YW5jZS4gJyArICdDaGFuZ2UgJXMgdG8gYSBjbGFzcyB0aGF0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuICcgKyBcIklmIHlvdSBjYW4ndCB1c2UgYSBjbGFzcyB0cnkgYXNzaWduaW5nIHRoZSBwcm90b3R5cGUgb24gdGhlIGZ1bmN0aW9uIGFzIGEgd29ya2Fyb3VuZC4gXCIgKyBcImAlcy5wcm90b3R5cGUgPSBSZWFjdC5Db21wb25lbnQucHJvdG90eXBlYC4gRG9uJ3QgdXNlIGFuIGFycm93IGZ1bmN0aW9uIHNpbmNlIGl0IFwiICsgJ2Nhbm5vdCBiZSBjYWxsZWQgd2l0aCBgbmV3YCBieSBSZWFjdC4nLCBfY29tcG9uZW50TmFtZSwgX2NvbXBvbmVudE5hbWUsIF9jb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCAvLyBSdW4gdGhlc2UgY2hlY2tzIGluIHByb2R1Y3Rpb24gb25seSBpZiB0aGUgZmxhZyBpcyBvZmYuXG4gIC8vIEV2ZW50dWFsbHkgd2UnbGwgZGVsZXRlIHRoaXMgYnJhbmNoIGFsdG9nZXRoZXIuXG4gICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZS5yZW5kZXIgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUuJCR0eXBlb2YgPT09IHVuZGVmaW5lZCkge1xuICAgIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTIgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0TW9kdWxlUGF0dGVybkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTJdKSB7XG4gICAgICAgIGVycm9yKCdUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGJlIGEgZnVuY3Rpb24gY29tcG9uZW50IHRoYXQgcmV0dXJucyBhIGNsYXNzIGluc3RhbmNlLiAnICsgJ0NoYW5nZSAlcyB0byBhIGNsYXNzIHRoYXQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQgaW5zdGVhZC4gJyArIFwiSWYgeW91IGNhbid0IHVzZSBhIGNsYXNzIHRyeSBhc3NpZ25pbmcgdGhlIHByb3RvdHlwZSBvbiB0aGUgZnVuY3Rpb24gYXMgYSB3b3JrYXJvdW5kLiBcIiArIFwiYCVzLnByb3RvdHlwZSA9IFJlYWN0LkNvbXBvbmVudC5wcm90b3R5cGVgLiBEb24ndCB1c2UgYW4gYXJyb3cgZnVuY3Rpb24gc2luY2UgaXQgXCIgKyAnY2Fubm90IGJlIGNhbGxlZCB3aXRoIGBuZXdgIGJ5IFJlYWN0LicsIF9jb21wb25lbnROYW1lMiwgX2NvbXBvbmVudE5hbWUyLCBfY29tcG9uZW50TmFtZTIpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnRbX2NvbXBvbmVudE5hbWUyXSA9IHRydWU7XG4gICAgICB9XG4gICAgfSAvLyBQcm9jZWVkIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBpcyBhIGNsYXNzIGluc3RhbmNlXG5cblxuICAgIHdvcmtJblByb2dyZXNzLnRhZyA9IENsYXNzQ29tcG9uZW50OyAvLyBUaHJvdyBvdXQgYW55IGhvb2tzIHRoYXQgd2VyZSB1c2VkLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsOyAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAgIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cbiAgICAvLyBXZSB3aWxsIGludmFsaWRhdGUgdGhlIGNoaWxkIGNvbnRleHQgaW4gZmluaXNoQ2xhc3NDb21wb25lbnQoKSByaWdodCBhZnRlciByZW5kZXJpbmcuXG5cbiAgICB2YXIgaGFzQ29udGV4dCA9IGZhbHNlO1xuXG4gICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgIGhhc0NvbnRleHQgPSB0cnVlO1xuICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhhc0NvbnRleHQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gdmFsdWUuc3RhdGUgIT09IG51bGwgJiYgdmFsdWUuc3RhdGUgIT09IHVuZGVmaW5lZCA/IHZhbHVlLnN0YXRlIDogbnVsbDtcbiAgICBpbml0aWFsaXplVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MpO1xuICAgIGFkb3B0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgdmFsdWUpO1xuICAgIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBwcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgIHJldHVybiBmaW5pc2hDbGFzc0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlLCBoYXNDb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgLy8gUHJvY2VlZCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgaXMgYSBmdW5jdGlvbiBjb21wb25lbnRcbiAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBGdW5jdGlvbkNvbXBvbmVudDtcblxuICAgIHtcblxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICAgICAgaGFzSWQgPSBjaGVja0RpZFJlbmRlcklkSG9vaygpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgICBwdXNoTWF0ZXJpYWxpemVkVHJlZUlkKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG5cbiAgICByZWNvbmNpbGVDaGlsZHJlbihudWxsLCB3b3JrSW5Qcm9ncmVzcywgdmFsdWUsIHJlbmRlckxhbmVzKTtcblxuICAgIHtcbiAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpIHtcbiAge1xuICAgIGlmIChDb21wb25lbnQpIHtcbiAgICAgIGlmIChDb21wb25lbnQuY2hpbGRDb250ZXh0VHlwZXMpIHtcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IGNoaWxkQ29udGV4dFR5cGVzIGNhbm5vdCBiZSBkZWZpbmVkIG9uIGEgZnVuY3Rpb24gY29tcG9uZW50LicsIENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnJlZiAhPT0gbnVsbCkge1xuICAgICAgdmFyIGluZm8gPSAnJztcbiAgICAgIHZhciBvd25lck5hbWUgPSBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpO1xuXG4gICAgICBpZiAob3duZXJOYW1lKSB7XG4gICAgICAgIGluZm8gKz0gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgICAgIH1cblxuICAgICAgdmFyIHdhcm5pbmdLZXkgPSBvd25lck5hbWUgfHwgJyc7XG4gICAgICB2YXIgZGVidWdTb3VyY2UgPSB3b3JrSW5Qcm9ncmVzcy5fZGVidWdTb3VyY2U7XG5cbiAgICAgIGlmIChkZWJ1Z1NvdXJjZSkge1xuICAgICAgICB3YXJuaW5nS2V5ID0gZGVidWdTb3VyY2UuZmlsZU5hbWUgKyAnOicgKyBkZWJ1Z1NvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZ1bmN0aW9uUmVmc1t3YXJuaW5nS2V5XSkge1xuICAgICAgICBkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnNbd2FybmluZ0tleV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdGdW5jdGlvbiBjb21wb25lbnRzIGNhbm5vdCBiZSBnaXZlbiByZWZzLiAnICsgJ0F0dGVtcHRzIHRvIGFjY2VzcyB0aGlzIHJlZiB3aWxsIGZhaWwuICcgKyAnRGlkIHlvdSBtZWFuIHRvIHVzZSBSZWFjdC5mb3J3YXJkUmVmKCk/JXMnLCBpbmZvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIENvbXBvbmVudC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTMgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTNdKSB7XG4gICAgICAgIGVycm9yKCclczogRnVuY3Rpb24gY29tcG9uZW50cyBkbyBub3Qgc3VwcG9ydCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuJywgX2NvbXBvbmVudE5hbWUzKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lM10gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgQ29tcG9uZW50LmNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBDb21wb25lbnQuY29udGV4dFR5cGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTQgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lNF0pIHtcbiAgICAgICAgZXJyb3IoJyVzOiBGdW5jdGlvbiBjb21wb25lbnRzIGRvIG5vdCBzdXBwb3J0IGNvbnRleHRUeXBlLicsIF9jb21wb25lbnROYW1lNCk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lNF0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgU1VTUEVOREVEX01BUktFUiA9IHtcbiAgZGVoeWRyYXRlZDogbnVsbCxcbiAgdHJlZUNvbnRleHQ6IG51bGwsXG4gIHJldHJ5TGFuZTogTm9MYW5lXG59O1xuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpIHtcbiAgcmV0dXJuIHtcbiAgICBiYXNlTGFuZXM6IHJlbmRlckxhbmVzLFxuICAgIGNhY2hlUG9vbDogZ2V0U3VzcGVuZGVkQ2FjaGUoKSxcbiAgICB0cmFuc2l0aW9uczogbnVsbFxuICB9O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHByZXZPZmZzY3JlZW5TdGF0ZSwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGNhY2hlUG9vbCA9IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBiYXNlTGFuZXM6IG1lcmdlTGFuZXMocHJldk9mZnNjcmVlblN0YXRlLmJhc2VMYW5lcywgcmVuZGVyTGFuZXMpLFxuICAgIGNhY2hlUG9vbDogY2FjaGVQb29sLFxuICAgIHRyYW5zaXRpb25zOiBwcmV2T2Zmc2NyZWVuU3RhdGUudHJhbnNpdGlvbnNcbiAgfTtcbn0gLy8gVE9ETzogUHJvYmFibHkgc2hvdWxkIGlubGluZSB0aGlzIGJhY2tcblxuXG5mdW5jdGlvbiBzaG91bGRSZW1haW5PbkZhbGxiYWNrKHN1c3BlbnNlQ29udGV4dCwgY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIElmIHdlJ3JlIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrLCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgd2UgbmVlZCB0b1xuICAvLyByZW1haW4gb24gdGhhdCBmYWxsYmFjayByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGNvbnRlbnQgaGFzIHJlc29sdmVkLlxuICAvLyBGb3IgZXhhbXBsZSwgU3VzcGVuc2VMaXN0IGNvb3JkaW5hdGVzIHdoZW4gbmVzdGVkIGNvbnRlbnQgYXBwZWFycy5cbiAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlID09PSBudWxsKSB7XG4gICAgICAvLyBDdXJyZW50bHkgc2hvd2luZyBjb250ZW50LiBEb24ndCBoaWRlIGl0LCBldmVuIGlmIEZvcmNlU3VzcGVuc2VGYWxsYmFja1xuICAgICAgLy8gaXMgdHJ1ZS4gTW9yZSBwcmVjaXNlIG5hbWUgbWlnaHQgYmUgXCJGb3JjZVJlbWFpblN1c3BlbnNlRmFsbGJhY2tcIi5cbiAgICAgIC8vIE5vdGU6IFRoaXMgaXMgYSBmYWN0b3Jpbmcgc21lbGwuIENhbid0IHJlbWFpbiBvbiBhIGZhbGxiYWNrIGlmIHRoZXJlJ3NcbiAgICAgIC8vIG5vIGZhbGxiYWNrIHRvIHJlbWFpbiBvbi5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0gLy8gTm90IGN1cnJlbnRseSBzaG93aW5nIGNvbnRlbnQuIENvbnN1bHQgdGhlIFN1c3BlbnNlIGNvbnRleHQuXG5cblxuICByZXR1cm4gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVtYWluaW5nV29ya0luUHJpbWFyeVRyZWUoY3VycmVudCwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogU2hvdWxkIG5vdCByZW1vdmUgcmVuZGVyIGxhbmVzIHRoYXQgd2VyZSBwaW5nZWQgZHVyaW5nIHRoaXMgcmVuZGVyXG4gIHJldHVybiByZW1vdmVMYW5lcyhjdXJyZW50LmNoaWxkTGFuZXMsIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFRoaXMgaXMgdXNlZCBieSBEZXZUb29scyB0byBmb3JjZSBhIGJvdW5kYXJ5IHRvIHN1c3BlbmQuXG5cbiAge1xuICAgIGlmIChzaG91bGRTdXNwZW5kKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICB9XG4gIH1cblxuICB2YXIgc3VzcGVuc2VDb250ZXh0ID0gc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50O1xuICB2YXIgc2hvd0ZhbGxiYWNrID0gZmFsc2U7XG4gIHZhciBkaWRTdXNwZW5kID0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgIT09IE5vRmxhZ3M7XG5cbiAgaWYgKGRpZFN1c3BlbmQgfHwgc2hvdWxkUmVtYWluT25GYWxsYmFjayhzdXNwZW5zZUNvbnRleHQsIGN1cnJlbnQpKSB7XG4gICAgLy8gU29tZXRoaW5nIGluIHRoaXMgYm91bmRhcnkncyBzdWJ0cmVlIGFscmVhZHkgc3VzcGVuZGVkLiBTd2l0Y2ggdG9cbiAgICAvLyByZW5kZXJpbmcgdGhlIGZhbGxiYWNrIGNoaWxkcmVuLlxuICAgIHNob3dGYWxsYmFjayA9IHRydWU7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gfkRpZENhcHR1cmU7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXR0ZW1wdGluZyB0aGUgbWFpbiBjb250ZW50XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgbmV3IG1vdW50IG9yIHRoaXMgYm91bmRhcnkgaXMgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgc3RhdGUuXG4gICAgICAvLyBNYXJrIHRoaXMgc3VidHJlZSBjb250ZXh0IGFzIGhhdmluZyBhdCBsZWFzdCBvbmUgaW52aXNpYmxlIHBhcmVudCB0aGF0IGNvdWxkXG4gICAgICAvLyBoYW5kbGUgdGhlIGZhbGxiYWNrIHN0YXRlLlxuICAgICAgLy8gQXZvaWRlZCBib3VuZGFyaWVzIGFyZSBub3QgY29uc2lkZXJlZCBzaW5jZSB0aGV5IGNhbm5vdCBoYW5kbGUgcHJlZmVycmVkIGZhbGxiYWNrIHN0YXRlcy5cbiAgICAgIHtcbiAgICAgICAgc3VzcGVuc2VDb250ZXh0ID0gYWRkU3VidHJlZVN1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQsIEludmlzaWJsZVBhcmVudFN1c3BlbnNlQ29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3VzcGVuc2VDb250ZXh0ID0gc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0KTtcbiAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VDb250ZXh0KTsgLy8gT0ssIHRoZSBuZXh0IHBhcnQgaXMgY29uZnVzaW5nLiBXZSdyZSBhYm91dCB0byByZWNvbmNpbGUgdGhlIFN1c3BlbnNlXG4gIC8vIGJvdW5kYXJ5J3MgY2hpbGRyZW4uIFRoaXMgaW52b2x2ZXMgc29tZSBjdXN0b20gcmVjb25jaWxpYXRpb24gbG9naWMuIFR3b1xuICAvLyBtYWluIHJlYXNvbnMgdGhpcyBpcyBzbyBjb21wbGljYXRlZC5cbiAgLy9cbiAgLy8gRmlyc3QsIExlZ2FjeSBNb2RlIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gVGhlXG4gIC8vIHByaW1hcnkgdHJlZSB3aWxsIGNvbW1pdCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUsIHNvIHdoZW4gd2UgZG8gdGhlXG4gIC8vIHNlY29uZCBwYXNzIHRvIHJlbmRlciB0aGUgZmFsbGJhY2ssIHdlIGRvIHNvbWUgZXhjZWVkaW5nbHksIHVoLCBjbGV2ZXJcbiAgLy8gaGFja3MgdG8gbWFrZSB0aGF0IG5vdCB0b3RhbGx5IGJyZWFrLiBMaWtlIHRyYW5zZmVycmluZyBlZmZlY3RzIGFuZFxuICAvLyBkZWxldGlvbnMgZnJvbSBoaWRkZW4gdHJlZS4gSW4gQ29uY3VycmVudCBNb2RlLCBpdCdzIG11Y2ggc2ltcGxlcixcbiAgLy8gYmVjYXVzZSB3ZSBiYWlsb3V0IG9uIHRoZSBwcmltYXJ5IHRyZWUgY29tcGxldGVseSBhbmQgbGVhdmUgaXQgaW4gaXRzIG9sZFxuICAvLyBzdGF0ZSwgbm8gZWZmZWN0cy4gU2FtZSBhcyB3aGF0IHdlIGRvIGZvciBPZmZzY3JlZW4gKGV4Y2VwdCB0aGF0XG4gIC8vIE9mZnNjcmVlbiBkb2Vzbid0IGhhdmUgdGhlIGZpcnN0IHJlbmRlciBwYXNzKS5cbiAgLy9cbiAgLy8gU2Vjb25kIGlzIGh5ZHJhdGlvbi4gRHVyaW5nIGh5ZHJhdGlvbiwgdGhlIFN1c3BlbnNlIGZpYmVyIGhhcyBhIHNsaWdodGx5XG4gIC8vIGRpZmZlcmVudCBsYXlvdXQsIHdoZXJlIHRoZSBjaGlsZCBwb2ludHMgdG8gYSBkZWh5ZHJhdGVkIGZyYWdtZW50LCB3aGljaFxuICAvLyBjb250YWlucyB0aGUgRE9NIHJlbmRlcmVkIGJ5IHRoZSBzZXJ2ZXIuXG4gIC8vXG4gIC8vIFRoaXJkLCBldmVuIGlmIHlvdSBzZXQgYWxsIHRoYXQgYXNpZGUsIFN1c3BlbnNlIGlzIGxpa2UgZXJyb3IgYm91bmRhcmllcyBpblxuICAvLyB0aGF0IHdlIGZpcnN0IHdlIHRyeSB0byByZW5kZXIgb25lIHRyZWUsIGFuZCBpZiB0aGF0IGZhaWxzLCB3ZSByZW5kZXIgYWdhaW5cbiAgLy8gYW5kIHN3aXRjaCB0byBhIGRpZmZlcmVudCB0cmVlLiBMaWtlIGEgdHJ5L2NhdGNoIGJsb2NrLiBTbyB3ZSBoYXZlIHRvIHRyYWNrXG4gIC8vIHdoaWNoIGJyYW5jaCB3ZSdyZSBjdXJyZW50bHkgcmVuZGVyaW5nLiBJZGVhbGx5IHdlIHdvdWxkIG1vZGVsIHRoaXMgdXNpbmdcbiAgLy8gYSBzdGFjay5cblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICAvLyBTcGVjaWFsIHBhdGggZm9yIGh5ZHJhdGlvblxuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBoeWRyYXRpbmcsIHRyeSB0byBoeWRyYXRlIHRoaXMgYm91bmRhcnkuXG4gICAgdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpOyAvLyBUaGlzIGNvdWxkJ3ZlIGJlZW4gYSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGNvbXBvbmVudC5cblxuICAgIHZhciBzdXNwZW5zZVN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZGVoeWRyYXRlZCA9IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcblxuICAgICAgaWYgKGRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG1vdW50RGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KHdvcmtJblByb2dyZXNzLCBkZWh5ZHJhdGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICB2YXIgbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG5cbiAgICBpZiAoc2hvd0ZhbGxiYWNrKSB7XG4gICAgICB2YXIgZmFsbGJhY2tGcmFnbWVudCA9IG1vdW50U3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBuZXh0UHJpbWFyeUNoaWxkcmVuLCBuZXh0RmFsbGJhY2tDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICAgICAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5tZW1vaXplZFN0YXRlID0gbW91bnRTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHJlbmRlckxhbmVzKTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBTVVNQRU5ERURfTUFSS0VSO1xuXG4gICAgICByZXR1cm4gZmFsbGJhY2tGcmFnbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1vdW50U3VzcGVuc2VQcmltYXJ5Q2hpbGRyZW4od29ya0luUHJvZ3Jlc3MsIG5leHRQcmltYXJ5Q2hpbGRyZW4pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGFuIHVwZGF0ZS5cbiAgICAvLyBTcGVjaWFsIHBhdGggZm9yIGh5ZHJhdGlvblxuICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICB2YXIgX2RlaHlkcmF0ZWQgPSBwcmV2U3RhdGUuZGVoeWRyYXRlZDtcblxuICAgICAgaWYgKF9kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVEZWh5ZHJhdGVkU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGRpZFN1c3BlbmQsIG5leHRQcm9wcywgX2RlaHlkcmF0ZWQsIHByZXZTdGF0ZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG93RmFsbGJhY2spIHtcbiAgICAgIHZhciBfbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG4gICAgICB2YXIgX25leHRQcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gICAgICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gdXBkYXRlU3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfbmV4dFByaW1hcnlDaGlsZHJlbiwgX25leHRGYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gICAgICB2YXIgX3ByaW1hcnlDaGlsZEZyYWdtZW50MiA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdGF0ZSA9IGN1cnJlbnQuY2hpbGQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIubWVtb2l6ZWRTdGF0ZSA9IHByZXZPZmZzY3JlZW5TdGF0ZSA9PT0gbnVsbCA/IG1vdW50U3VzcGVuc2VPZmZzY3JlZW5TdGF0ZShyZW5kZXJMYW5lcykgOiB1cGRhdGVTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHByZXZPZmZzY3JlZW5TdGF0ZSwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLmNoaWxkTGFuZXMgPSBnZXRSZW1haW5pbmdXb3JrSW5QcmltYXJ5VHJlZShjdXJyZW50LCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gU1VTUEVOREVEX01BUktFUjtcbiAgICAgIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfbmV4dFByaW1hcnlDaGlsZHJlbjIgPSBuZXh0UHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzID0gdXBkYXRlU3VzcGVuc2VQcmltYXJ5Q2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9uZXh0UHJpbWFyeUNoaWxkcmVuMiwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgIHJldHVybiBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBtb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH07XG4gIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgbW9kZSk7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICByZXR1cm4gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50U3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIGZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBtb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICdoaWRkZW4nLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuXG4gIGlmICgobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlICYmIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAvLyBJbiBsZWdhY3kgbW9kZSwgd2UgY29tbWl0IHRoZSBwcmltYXJ5IHRyZWUgYXMgaWYgaXQgc3VjY2Vzc2Z1bGx5XG4gICAgLy8gY29tcGxldGVkLCBldmVuIHRob3VnaCBpdCdzIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS5cbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQ7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzID0gcHJpbWFyeUNoaWxkUHJvcHM7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgLy8gUmVzZXQgdGhlIGR1cmF0aW9ucyBmcm9tIHRoZSBmaXJzdCBwYXNzIHNvIHRoZXkgYXJlbid0IGluY2x1ZGVkIGluIHRoZVxuICAgICAgLy8gZmluYWwgYW1vdW50cy4gVGhpcyBzZWVtcyBjb3VudGVyaW50dWl0aXZlLCBzaW5jZSB3ZSdyZSBpbnRlbnRpb25hbGx5XG4gICAgICAvLyBub3QgbWVhc3VyaW5nIHBhcnQgb2YgdGhlIHJlbmRlciBwaGFzZSwgYnV0IHRoaXMgbWFrZXMgaXQgbWF0Y2ggd2hhdCB3ZVxuICAgICAgLy8gZG8gaW4gQ29uY3VycmVudCBNb2RlLlxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zZWxmQmFzZUR1cmF0aW9uID0gMDtcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb24gPSAwO1xuICAgIH1cblxuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckxhbmVzLCBudWxsKTtcbiAgfSBlbHNlIHtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgbW9kZSk7XG4gICAgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZmFsbGJhY2tDaGlsZHJlbiwgbW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpO1xuICB9XG5cbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZyA9IGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gbW91bnRXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKG9mZnNjcmVlblByb3BzLCBtb2RlLCByZW5kZXJMYW5lcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbmAgaXMgYGFueWAgdHlwZWQsIHNvIHdlIHVzZVxuICAvLyB0aGlzIHdyYXBwZXIgZnVuY3Rpb24gdG8gY29uc3RyYWluIGl0LlxuICByZXR1cm4gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKG9mZnNjcmVlblByb3BzLCBtb2RlLCBOb0xhbmVzLCBudWxsKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlV29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZVdvcmtJblByb2dyZXNzYCBpcyBgYW55YCB0eXBlZCwgc28gd2UgdXNlIHRoaXNcbiAgLy8gd3JhcHBlciBmdW5jdGlvbiB0byBjb25zdHJhaW4gaXQuXG4gIHJldHVybiBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjdXJyZW50LmNoaWxkO1xuICB2YXIgY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nO1xuICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudCwge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH0pO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQubGFuZXMgPSByZW5kZXJMYW5lcztcbiAgfVxuXG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gbnVsbDtcblxuICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgIC8vIERlbGV0ZSB0aGUgZmFsbGJhY2sgY2hpbGQgZnJhZ21lbnRcbiAgICB2YXIgZGVsZXRpb25zID0gd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zO1xuXG4gICAgaWYgKGRlbGV0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gW2N1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnRdO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRpb25zLnB1c2goY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCk7XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZUZhbGxiYWNrQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHByaW1hcnlDaGlsZHJlbiwgZmFsbGJhY2tDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG1vZGUgPSB3b3JrSW5Qcm9ncmVzcy5tb2RlO1xuICB2YXIgY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50ID0gY3VycmVudC5jaGlsZDtcbiAgdmFyIGN1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZztcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICdoaWRkZW4nLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuXG4gIGlmICggLy8gSW4gbGVnYWN5IG1vZGUsIHdlIGNvbW1pdCB0aGUgcHJpbWFyeSB0cmVlIGFzIGlmIGl0IHN1Y2Nlc3NmdWxseVxuICAvLyBjb21wbGV0ZWQsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLlxuICAobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlICYmIC8vIE1ha2Ugc3VyZSB3ZSdyZSBvbiB0aGUgc2Vjb25kIHBhc3MsIGkuZS4gdGhlIHByaW1hcnkgY2hpbGQgZnJhZ21lbnQgd2FzXG4gIC8vIGFscmVhZHkgY2xvbmVkLiBJbiBsZWdhY3kgbW9kZSwgdGhlIG9ubHkgY2FzZSB3aGVyZSB0aGlzIGlzbid0IHRydWUgaXNcbiAgLy8gd2hlbiBEZXZUb29scyBmb3JjZXMgdXMgdG8gZGlzcGxheSBhIGZhbGxiYWNrOyB3ZSBza2lwIHRoZSBmaXJzdCByZW5kZXJcbiAgLy8gcGFzcyBlbnRpcmVseSBhbmQgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIHRoZSBmYWxsYmFjay4gKEluIENvbmN1cnJlbnRcbiAgLy8gTW9kZSwgU3VzcGVuc2VMaXN0IGNhbiBhbHNvIHRyaWdnZXIgdGhpcyBzY2VuYXJpbywgYnV0IHRoaXMgaXMgYSBsZWdhY3ktXG4gIC8vIG9ubHkgY29kZXBhdGguKVxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCAhPT0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50KSB7XG4gICAgdmFyIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQ7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzID0gcHJpbWFyeUNoaWxkUHJvcHM7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgLy8gUmVzZXQgdGhlIGR1cmF0aW9ucyBmcm9tIHRoZSBmaXJzdCBwYXNzIHNvIHRoZXkgYXJlbid0IGluY2x1ZGVkIGluIHRoZVxuICAgICAgLy8gZmluYWwgYW1vdW50cy4gVGhpcyBzZWVtcyBjb3VudGVyaW50dWl0aXZlLCBzaW5jZSB3ZSdyZSBpbnRlbnRpb25hbGx5XG4gICAgICAvLyBub3QgbWVhc3VyaW5nIHBhcnQgb2YgdGhlIHJlbmRlciBwaGFzZSwgYnV0IHRoaXMgbWFrZXMgaXQgbWF0Y2ggd2hhdCB3ZVxuICAgICAgLy8gZG8gaW4gQ29uY3VycmVudCBNb2RlLlxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC50cmVlQmFzZUR1cmF0aW9uID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb247XG4gICAgfSAvLyBUaGUgZmFsbGJhY2sgZmliZXIgd2FzIGFkZGVkIGFzIGEgZGVsZXRpb24gZHVyaW5nIHRoZSBmaXJzdCBwYXNzLlxuICAgIC8vIEhvd2V2ZXIsIHNpbmNlIHdlJ3JlIGdvaW5nIHRvIHJlbWFpbiBvbiB0aGUgZmFsbGJhY2ssIHdlIG5vIGxvbmdlciB3YW50XG4gICAgLy8gdG8gZGVsZXRlIGl0LlxuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5kZWxldGlvbnMgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQsIHByaW1hcnlDaGlsZFByb3BzKTsgLy8gU2luY2Ugd2UncmUgcmV1c2luZyBhIGN1cnJlbnQgdHJlZSwgd2UgbmVlZCB0byByZXVzZSB0aGUgZmxhZ3MsIHRvby5cbiAgICAvLyAoV2UgZG9uJ3QgZG8gdGhpcyBpbiBsZWdhY3kgbW9kZSwgYmVjYXVzZSBpbiBsZWdhY3kgbW9kZSB3ZSBkb24ndCByZS11c2VcbiAgICAvLyB0aGUgY3VycmVudCB0cmVlOyBzZWUgcHJldmlvdXMgYnJhbmNoLilcblxuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnN1YnRyZWVGbGFncyA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zdWJ0cmVlRmxhZ3MgJiBTdGF0aWNNYXNrO1xuICB9XG5cbiAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcblxuICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnQsIGZhbGxiYWNrQ2hpbGRyZW4pO1xuICB9IGVsc2Uge1xuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckxhbmVzLCBudWxsKTsgLy8gTmVlZHMgYSBwbGFjZW1lbnQgZWZmZWN0IGJlY2F1c2UgdGhlIHBhcmVudCAodGhlIFN1c3BlbnNlIGJvdW5kYXJ5KSBhbHJlYWR5XG4gICAgLy8gbW91bnRlZCBidXQgdGhpcyBpcyBhIG5ldyBmaWJlci5cblxuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gIH1cblxuICBmYWxsYmFja0NoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIHJlY292ZXJhYmxlRXJyb3IpIHtcbiAgLy8gRmFsbGluZyBiYWNrIHRvIGNsaWVudCByZW5kZXJpbmcuIEJlY2F1c2UgdGhpcyBoYXMgcGVyZm9ybWFuY2VcbiAgLy8gaW1wbGljYXRpb25zLCBpdCdzIGNvbnNpZGVyZWQgYSByZWNvdmVyYWJsZSBlcnJvciwgZXZlbiB0aG91Z2ggdGhlIHVzZXJcbiAgLy8gbGlrZWx5IHdvbid0IG9ic2VydmUgYW55dGhpbmcgd3Jvbmcgd2l0aCB0aGUgVUkuXG4gIC8vXG4gIC8vIFRoZSBlcnJvciBpcyBwYXNzZWQgaW4gYXMgYW4gYXJndW1lbnQgdG8gZW5mb3JjZSB0aGF0IGV2ZXJ5IGNhbGxlciBwcm92aWRlXG4gIC8vIGEgY3VzdG9tIG1lc3NhZ2UsIG9yIGV4cGxpY2l0bHkgb3B0IG91dCAoY3VycmVudGx5IHRoZSBvbmx5IHBhdGggdGhhdCBvcHRzXG4gIC8vIG91dCBpcyBsZWdhY3kgbW9kZTsgZXZlcnkgY29uY3VycmVudCBwYXRoIHByb3ZpZGVzIGFuIGVycm9yKS5cbiAgaWYgKHJlY292ZXJhYmxlRXJyb3IgIT09IG51bGwpIHtcbiAgICBxdWV1ZUh5ZHJhdGlvbkVycm9yKHJlY292ZXJhYmxlRXJyb3IpO1xuICB9IC8vIFRoaXMgd2lsbCBhZGQgdGhlIG9sZCBmaWJlciB0byB0aGUgZGVsZXRpb24gbGlzdFxuXG5cbiAgcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTsgLy8gV2UncmUgbm93IG5vdCBzdXNwZW5kZWQgbm9yIGRlaHlkcmF0ZWQuXG5cbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gbW91bnRTdXNwZW5zZVByaW1hcnlDaGlsZHJlbih3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuKTsgLy8gTmVlZHMgYSBwbGFjZW1lbnQgZWZmZWN0IGJlY2F1c2UgdGhlIHBhcmVudCAodGhlIFN1c3BlbnNlIGJvdW5kYXJ5KSBhbHJlYWR5XG4gIC8vIG1vdW50ZWQgYnV0IHRoaXMgaXMgYSBuZXcgZmliZXIuXG5cbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlRmFsbGJhY2tBZnRlclJldHJ5V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuLCBmYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICB2YXIgZmliZXJNb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH07XG4gIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgZmliZXJNb2RlKTtcbiAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIGZpYmVyTW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpOyAvLyBOZWVkcyBhIHBsYWNlbWVudCBlZmZlY3QgYmVjYXVzZSB0aGUgcGFyZW50ICh0aGUgU3VzcGVuc2VcbiAgLy8gYm91bmRhcnkpIGFscmVhZHkgbW91bnRlZCBidXQgdGhpcyBpcyBhIG5ldyBmaWJlci5cblxuICBmYWxsYmFja0NoaWxkRnJhZ21lbnQuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgZmFsbGJhY2tDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgLy8gV2Ugd2lsbCBoYXZlIGRyb3BwZWQgdGhlIGVmZmVjdCBsaXN0IHdoaWNoIGNvbnRhaW5zIHRoZVxuICAgIC8vIGRlbGV0aW9uLiBXZSBuZWVkIHRvIHJlY29uY2lsZSB0byBkZWxldGUgdGhlIGN1cnJlbnQgY2hpbGQuXG4gICAgcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50RGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUluc3RhbmNlLCByZW5kZXJMYW5lcykge1xuICAvLyBEdXJpbmcgdGhlIGZpcnN0IHBhc3MsIHdlJ2xsIGJhaWwgb3V0IGFuZCBub3QgZHJpbGwgaW50byB0aGUgY2hpbGRyZW4uXG4gIC8vIEluc3RlYWQsIHdlJ2xsIGxlYXZlIHRoZSBjb250ZW50IGluIHBsYWNlIGFuZCB0cnkgdG8gaHlkcmF0ZSBpdCBsYXRlci5cbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICB7XG4gICAgICBlcnJvcignQ2Fubm90IGh5ZHJhdGUgU3VzcGVuc2UgaW4gbGVnYWN5IG1vZGUuIFN3aXRjaCBmcm9tICcgKyAnUmVhY3RET00uaHlkcmF0ZShlbGVtZW50LCBjb250YWluZXIpIHRvICcgKyAnUmVhY3RET01DbGllbnQuaHlkcmF0ZVJvb3QoY29udGFpbmVyLCA8QXBwIC8+KScgKyAnLnJlbmRlcihlbGVtZW50KSBvciByZW1vdmUgdGhlIFN1c3BlbnNlIGNvbXBvbmVudHMgZnJvbSAnICsgJ3RoZSBzZXJ2ZXIgcmVuZGVyZWQgY29tcG9uZW50cy4nKTtcbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGxhbmVUb0xhbmVzKFN5bmNMYW5lKTtcbiAgfSBlbHNlIGlmIChpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhzdXNwZW5zZUluc3RhbmNlKSkge1xuICAgIC8vIFRoaXMgaXMgYSBjbGllbnQtb25seSBib3VuZGFyeS4gU2luY2Ugd2Ugd29uJ3QgZ2V0IGFueSBjb250ZW50IGZyb20gdGhlIHNlcnZlclxuICAgIC8vIGZvciB0aGlzLCB3ZSBuZWVkIHRvIHNjaGVkdWxlIHRoYXQgYXQgYSBoaWdoZXIgcHJpb3JpdHkgYmFzZWQgb24gd2hlbiBpdCB3b3VsZFxuICAgIC8vIGhhdmUgdGltZWQgb3V0LiBJbiB0aGVvcnkgd2UgY291bGQgcmVuZGVyIGl0IGluIHRoaXMgcGFzcyBidXQgaXQgd291bGQgaGF2ZSB0aGVcbiAgICAvLyB3cm9uZyBwcmlvcml0eSBhc3NvY2lhdGVkIHdpdGggaXQgYW5kIHdpbGwgcHJldmVudCBoeWRyYXRpb24gb2YgcGFyZW50IHBhdGguXG4gICAgLy8gSW5zdGVhZCwgd2UnbGwgbGVhdmUgd29yayBsZWZ0IG9uIGl0IHRvIHJlbmRlciBpdCBpbiBhIHNlcGFyYXRlIGNvbW1pdC5cbiAgICAvLyBUT0RPIFRoaXMgdGltZSBzaG91bGQgYmUgdGhlIHRpbWUgYXQgd2hpY2ggdGhlIHNlcnZlciByZW5kZXJlZCByZXNwb25zZSB0aGF0IGlzXG4gICAgLy8gYSBwYXJlbnQgdG8gdGhpcyBib3VuZGFyeSB3YXMgZGlzcGxheWVkLiBIb3dldmVyLCBzaW5jZSB3ZSBjdXJyZW50bHkgZG9uJ3QgaGF2ZVxuICAgIC8vIGEgcHJvdG9jb2wgdG8gdHJhbnNmZXIgdGhhdCB0aW1lLCB3ZSdsbCBqdXN0IGVzdGltYXRlIGl0IGJ5IHVzaW5nIHRoZSBjdXJyZW50XG4gICAgLy8gdGltZS4gVGhpcyB3aWxsIG1lYW4gdGhhdCBTdXNwZW5zZSB0aW1lb3V0cyBhcmUgc2xpZ2h0bHkgc2hpZnRlZCB0byBsYXRlciB0aGFuXG4gICAgLy8gdGhleSBzaG91bGQgYmUuXG4gICAgLy8gU2NoZWR1bGUgYSBub3JtYWwgcHJpIHVwZGF0ZSB0byByZW5kZXIgdGhpcyBjb250ZW50LlxuICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gbGFuZVRvTGFuZXMoRGVmYXVsdEh5ZHJhdGlvbkxhbmUpO1xuICB9IGVsc2Uge1xuICAgIC8vIFdlJ2xsIGNvbnRpbnVlIGh5ZHJhdGluZyB0aGUgcmVzdCBhdCBvZmZzY3JlZW4gcHJpb3JpdHkgc2luY2Ugd2UnbGwgYWxyZWFkeVxuICAgIC8vIGJlIHNob3dpbmcgdGhlIHJpZ2h0IGNvbnRlbnQgY29taW5nIGZyb20gdGhlIHNlcnZlciwgaXQgaXMgbm8gcnVzaC5cbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGxhbmVUb0xhbmVzKE9mZnNjcmVlbkxhbmUpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZURlaHlkcmF0ZWRTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZGlkU3VzcGVuZCwgbmV4dFByb3BzLCBzdXNwZW5zZUluc3RhbmNlLCBzdXNwZW5zZVN0YXRlLCByZW5kZXJMYW5lcykge1xuICBpZiAoIWRpZFN1c3BlbmQpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCByZW5kZXIgcGFzcy4gQXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIC8vIFdlIHNob3VsZCBuZXZlciBiZSBoeWRyYXRpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IGlzIHRoZSBmaXJzdCBwYXNzLFxuICAgIC8vIGJ1dCBhZnRlciB3ZSd2ZSBhbHJlYWR5IGNvbW1pdHRlZCBvbmNlLlxuICAgIHdhcm5JZkh5ZHJhdGluZygpO1xuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIC8vIFRPRE86IFdoZW4gd2UgZGVsZXRlIGxlZ2FjeSBtb2RlLCB3ZSBzaG91bGQgbWFrZSB0aGlzIGVycm9yIGFyZ3VtZW50XG4gICAgICAvLyByZXF1aXJlZCDigJQgZXZlcnkgY29uY3VycmVudCBtb2RlIHBhdGggdGhhdCBjYXVzZXMgaHlkcmF0aW9uIHRvXG4gICAgICAvLyBkZS1vcHQgdG8gY2xpZW50IHJlbmRlcmluZyBzaG91bGQgaGF2ZSBhbiBlcnJvciBtZXNzYWdlLlxuICAgICAgbnVsbCk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrKHN1c3BlbnNlSW5zdGFuY2UpKSB7XG4gICAgICAvLyBUaGlzIGJvdW5kYXJ5IGlzIGluIGEgcGVybWFuZW50IGZhbGxiYWNrIHN0YXRlLiBJbiB0aGlzIGNhc2UsIHdlJ2xsIG5ldmVyXG4gICAgICAvLyBnZXQgYW4gdXBkYXRlIGFuZCB3ZSdsbCBuZXZlciBiZSBhYmxlIHRvIGh5ZHJhdGUgdGhlIGZpbmFsIGNvbnRlbnQuIExldCdzIGp1c3QgdHJ5IHRoZVxuICAgICAgLy8gY2xpZW50IHNpZGUgcmVuZGVyIGluc3RlYWQuXG4gICAgICB2YXIgZGlnZXN0LCBtZXNzYWdlLCBzdGFjaztcblxuICAgICAge1xuICAgICAgICB2YXIgX2dldFN1c3BlbnNlSW5zdGFuY2VGID0gZ2V0U3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrRXJyb3JEZXRhaWxzKHN1c3BlbnNlSW5zdGFuY2UpO1xuXG4gICAgICAgIGRpZ2VzdCA9IF9nZXRTdXNwZW5zZUluc3RhbmNlRi5kaWdlc3Q7XG4gICAgICAgIG1lc3NhZ2UgPSBfZ2V0U3VzcGVuc2VJbnN0YW5jZUYubWVzc2FnZTtcbiAgICAgICAgc3RhY2sgPSBfZ2V0U3VzcGVuc2VJbnN0YW5jZUYuc3RhY2s7XG4gICAgICB9XG5cbiAgICAgIHZhciBlcnJvcjtcblxuICAgICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignVGhlIHNlcnZlciBjb3VsZCBub3QgZmluaXNoIHRoaXMgU3VzcGVuc2UgYm91bmRhcnksIGxpa2VseSAnICsgJ2R1ZSB0byBhbiBlcnJvciBkdXJpbmcgc2VydmVyIHJlbmRlcmluZy4gU3dpdGNoZWQgdG8gJyArICdjbGllbnQgcmVuZGVyaW5nLicpO1xuICAgICAgfVxuXG4gICAgICB2YXIgY2FwdHVyZWRWYWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUoZXJyb3IsIGRpZ2VzdCwgc3RhY2spO1xuICAgICAgcmV0dXJuIHJldHJ5U3VzcGVuc2VDb21wb25lbnRXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcywgY2FwdHVyZWRWYWx1ZSk7XG4gICAgfVxuICAgIC8vIGFueSBjb250ZXh0IGhhcyBjaGFuZ2VkLCB3ZSBuZWVkIHRvIHRyZWF0IGlzIGFzIGlmIHRoZSBpbnB1dCBtaWdodCBoYXZlIGNoYW5nZWQuXG5cblxuICAgIHZhciBoYXNDb250ZXh0Q2hhbmdlZCA9IGluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIGN1cnJlbnQuY2hpbGRMYW5lcyk7XG5cbiAgICBpZiAoZGlkUmVjZWl2ZVVwZGF0ZSB8fCBoYXNDb250ZXh0Q2hhbmdlZCkge1xuICAgICAgLy8gVGhpcyBib3VuZGFyeSBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgZmlyc3QgcmVuZGVyLiBUaGlzIG1lYW5zIHRoYXQgd2UgYXJlIG5vdyB1bmFibGUgdG9cbiAgICAgIC8vIGh5ZHJhdGUgaXQuIFdlIG1pZ2h0IHN0aWxsIGJlIGFibGUgdG8gaHlkcmF0ZSBpdCB1c2luZyBhIGhpZ2hlciBwcmlvcml0eSBsYW5lLlxuICAgICAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTtcblxuICAgICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGF0dGVtcHRIeWRyYXRpb25BdExhbmUgPSBnZXRCdW1wZWRMYW5lRm9ySHlkcmF0aW9uKHJvb3QsIHJlbmRlckxhbmVzKTtcblxuICAgICAgICBpZiAoYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSAhPT0gTm9MYW5lICYmIGF0dGVtcHRIeWRyYXRpb25BdExhbmUgIT09IHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lKSB7XG4gICAgICAgICAgLy8gSW50ZW50aW9uYWxseSBtdXRhdGluZyBzaW5jZSB0aGlzIHJlbmRlciB3aWxsIGdldCBpbnRlcnJ1cHRlZC4gVGhpc1xuICAgICAgICAgIC8vIGlzIG9uZSBvZiB0aGUgdmVyeSByYXJlIHRpbWVzIHdoZXJlIHdlIG11dGF0ZSB0aGUgY3VycmVudCB0cmVlXG4gICAgICAgICAgLy8gZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICAgICAgc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUgPSBhdHRlbXB0SHlkcmF0aW9uQXRMYW5lOyAvLyBUT0RPOiBJZGVhbGx5IHRoaXMgd291bGQgaW5oZXJpdCB0aGUgZXZlbnQgdGltZSBvZiB0aGUgY3VycmVudCByZW5kZXJcblxuICAgICAgICAgIHZhciBldmVudFRpbWUgPSBOb1RpbWVzdGFtcDtcbiAgICAgICAgICBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoY3VycmVudCwgYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSk7XG4gICAgICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGN1cnJlbnQsIGF0dGVtcHRIeWRyYXRpb25BdExhbmUsIGV2ZW50VGltZSk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gSWYgd2UgaGF2ZSBzY2hlZHVsZWQgaGlnaGVyIHByaSB3b3JrIGFib3ZlLCB0aGlzIHdpbGwgcHJvYmFibHkganVzdCBhYm9ydCB0aGUgcmVuZGVyXG4gICAgICAvLyBzaW5jZSB3ZSBub3cgaGF2ZSBoaWdoZXIgcHJpb3JpdHkgd29yaywgYnV0IGluIGNhc2UgaXQgZG9lc24ndCwgd2UgbmVlZCB0byBwcmVwYXJlIHRvXG4gICAgICAvLyByZW5kZXIgc29tZXRoaW5nLCBpZiB3ZSB0aW1lIG91dC4gRXZlbiBpZiB0aGF0IHJlcXVpcmVzIHVzIHRvIGRlbGV0ZSBldmVyeXRoaW5nIGFuZFxuICAgICAgLy8gc2tpcCBoeWRyYXRpb24uXG4gICAgICAvLyBEZWxheSBoYXZpbmcgdG8gZG8gdGhpcyBhcyBsb25nIGFzIHRoZSBzdXNwZW5zZSB0aW1lb3V0IGFsbG93cyB1cy5cblxuXG4gICAgICByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlKCk7XG5cbiAgICAgIHZhciBfY2FwdHVyZWRWYWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUobmV3IEVycm9yKCdUaGlzIFN1c3BlbnNlIGJvdW5kYXJ5IHJlY2VpdmVkIGFuIHVwZGF0ZSBiZWZvcmUgaXQgZmluaXNoZWQgJyArICdoeWRyYXRpbmcuIFRoaXMgY2F1c2VkIHRoZSBib3VuZGFyeSB0byBzd2l0Y2ggdG8gY2xpZW50IHJlbmRlcmluZy4gJyArICdUaGUgdXN1YWwgd2F5IHRvIGZpeCB0aGlzIGlzIHRvIHdyYXAgdGhlIG9yaWdpbmFsIHVwZGF0ZSAnICsgJ2luIHN0YXJ0VHJhbnNpdGlvbi4nKSk7XG5cbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIF9jYXB0dXJlZFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZVBlbmRpbmcoc3VzcGVuc2VJbnN0YW5jZSkpIHtcbiAgICAgIC8vIFRoaXMgY29tcG9uZW50IGlzIHN0aWxsIHBlbmRpbmcgbW9yZSBkYXRhIGZyb20gdGhlIHNlcnZlciwgc28gd2UgY2FuJ3QgaHlkcmF0ZSBpdHNcbiAgICAgIC8vIGNvbnRlbnQuIFdlIHRyZWF0IGl0IGFzIGlmIHRoaXMgY29tcG9uZW50IHN1c3BlbmRlZCBpdHNlbGYuIEl0IG1pZ2h0IHNlZW0gYXMgaWZcbiAgICAgIC8vIHdlIGNvdWxkIGp1c3QgdHJ5IHRvIHJlbmRlciBpdCBjbGllbnQtc2lkZSBpbnN0ZWFkLiBIb3dldmVyLCB0aGlzIHdpbGwgcGVyZm9ybSBhXG4gICAgICAvLyBsb3Qgb2YgdW5uZWNlc3Nhcnkgd29yayBhbmQgaXMgdW5saWtlbHkgdG8gY29tcGxldGUgc2luY2UgaXQgb2Z0ZW4gd2lsbCBzdXNwZW5kXG4gICAgICAvLyBvbiBtaXNzaW5nIGRhdGEgYW55d2F5LiBBZGRpdGlvbmFsbHksIHRoZSBzZXJ2ZXIgbWlnaHQgYmUgYWJsZSB0byByZW5kZXIgbW9yZVxuICAgICAgLy8gdGhhbiB3ZSBjYW4gb24gdGhlIGNsaWVudCB5ZXQuIEluIHRoYXQgY2FzZSB3ZSdkIGVuZCB1cCB3aXRoIG1vcmUgZmFsbGJhY2sgc3RhdGVzXG4gICAgICAvLyBvbiB0aGUgY2xpZW50IHRoYW4gaWYgd2UganVzdCBsZWF2ZSBpdCBhbG9uZS4gSWYgdGhlIHNlcnZlciB0aW1lcyBvdXQgb3IgZXJyb3JzXG4gICAgICAvLyB0aGVzZSBzaG91bGQgdXBkYXRlIHRoaXMgYm91bmRhcnkgdG8gdGhlIHBlcm1hbmVudCBGYWxsYmFjayBzdGF0ZSBpbnN0ZWFkLlxuICAgICAgLy8gTWFyayBpdCBhcyBoYXZpbmcgY2FwdHVyZWQgKGkuZS4gc3VzcGVuZGVkKS5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7IC8vIExlYXZlIHRoZSBjaGlsZCBpbiBwbGFjZS4gSS5lLiB0aGUgZGVoeWRyYXRlZCBmcmFnbWVudC5cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIHJldHJ5IHRoaXMgYm91bmRhcnkgb25jZSB0aGUgc2VydmVyIGhhcyBzZW50IHRoZSByZXN1bHQuXG5cbiAgICAgIHZhciByZXRyeSA9IHJldHJ5RGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkuYmluZChudWxsLCBjdXJyZW50KTtcbiAgICAgIHJlZ2lzdGVyU3VzcGVuc2VJbnN0YW5jZVJldHJ5KHN1c3BlbnNlSW5zdGFuY2UsIHJldHJ5KTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBhdHRlbXB0LlxuICAgICAgcmVlbnRlckh5ZHJhdGlvblN0YXRlRnJvbURlaHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUluc3RhbmNlLCBzdXNwZW5zZVN0YXRlLnRyZWVDb250ZXh0KTtcbiAgICAgIHZhciBwcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4pOyAvLyBNYXJrIHRoZSBjaGlsZHJlbiBhcyBoeWRyYXRpbmcuIFRoaXMgaXMgYSBmYXN0IHBhdGggdG8ga25vdyB3aGV0aGVyIHRoaXNcbiAgICAgIC8vIHRyZWUgaXMgcGFydCBvZiBhIGh5ZHJhdGluZyB0cmVlLiBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgY2hpbGRcbiAgICAgIC8vIG5vZGUgaGFzIGZ1bGx5IG1vdW50ZWQgeWV0LCBhbmQgZm9yIHNjaGVkdWxpbmcgZXZlbnQgcmVwbGF5aW5nLlxuICAgICAgLy8gQ29uY2VwdHVhbGx5IHRoaXMgaXMgc2ltaWxhciB0byBQbGFjZW1lbnQgaW4gdGhhdCBhIG5ldyBzdWJ0cmVlIGlzXG4gICAgICAvLyBpbnNlcnRlZCBpbnRvIHRoZSBSZWFjdCB0cmVlIGhlcmUuIEl0IGp1c3QgaGFwcGVucyB0byBub3QgbmVlZCBET01cbiAgICAgIC8vIG11dGF0aW9ucyBiZWNhdXNlIGl0IGFscmVhZHkgZXhpc3RzLlxuXG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5mbGFncyB8PSBIeWRyYXRpbmc7XG4gICAgICByZXR1cm4gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCByZW5kZXIgcGFzcy4gV2UgYWxyZWFkeSBhdHRlbXB0ZWQgdG8gaHlkcmF0ZWQsIGJ1dFxuICAgIC8vIHNvbWV0aGluZyBlaXRoZXIgc3VzcGVuZGVkIG9yIGVycm9yZWQuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRm9yY2VDbGllbnRSZW5kZXIpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBlcnJvcmVkIGR1cmluZyBoeWRyYXRpb24uIFRyeSBhZ2FpbiB3aXRob3V0IGh5ZHJhdGluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH5Gb3JjZUNsaWVudFJlbmRlcjtcblxuICAgICAgdmFyIF9jYXB0dXJlZFZhbHVlMiA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUobmV3IEVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgaHlkcmF0aW5nIHRoaXMgU3VzcGVuc2UgYm91bmRhcnkuICcgKyAnU3dpdGNoZWQgdG8gY2xpZW50IHJlbmRlcmluZy4nKSk7XG5cbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIF9jYXB0dXJlZFZhbHVlMik7XG4gICAgfSBlbHNlIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBTb21ldGhpbmcgc3VzcGVuZGVkIGFuZCB3ZSBzaG91bGQgc3RpbGwgYmUgaW4gZGVoeWRyYXRlZCBtb2RlLlxuICAgICAgLy8gTGVhdmUgdGhlIGV4aXN0aW5nIGNoaWxkIGluIHBsYWNlLlxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBUaGUgZGVoeWRyYXRlZCBjb21wbGV0aW9uIHBhc3MgZXhwZWN0cyB0aGlzIGZsYWcgdG8gYmUgdGhlcmVcbiAgICAgIC8vIGJ1dCB0aGUgbm9ybWFsIHN1c3BlbnNlIHBhc3MgZG9lc24ndC5cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdXNwZW5kZWQgYnV0IHdlIHNob3VsZCBubyBsb25nZXIgYmUgaW4gZGVoeWRyYXRlZCBtb2RlLlxuICAgICAgLy8gVGhlcmVmb3JlIHdlIG5vdyBoYXZlIHRvIHJlbmRlciB0aGUgZmFsbGJhY2suXG4gICAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBuZXh0RmFsbGJhY2tDaGlsZHJlbiA9IG5leHRQcm9wcy5mYWxsYmFjaztcbiAgICAgIHZhciBmYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlRmFsbGJhY2tBZnRlclJldHJ5V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dFByaW1hcnlDaGlsZHJlbiwgbmV4dEZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0Lm1lbW9pemVkU3RhdGUgPSBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpO1xuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XG4gICAgICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzY2hlZHVsZVN1c3BlbnNlV29ya09uRmliZXIoZmliZXIsIHJlbmRlckxhbmVzLCBwcm9wYWdhdGlvblJvb3QpIHtcbiAgZmliZXIubGFuZXMgPSBtZXJnZUxhbmVzKGZpYmVyLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICBzY2hlZHVsZUNvbnRleHRXb3JrT25QYXJlbnRQYXRoKGZpYmVyLnJldHVybiwgcmVuZGVyTGFuZXMsIHByb3BhZ2F0aW9uUm9vdCk7XG59XG5cbmZ1bmN0aW9uIHByb3BhZ2F0ZVN1c3BlbnNlQ29udGV4dENoYW5nZSh3b3JrSW5Qcm9ncmVzcywgZmlyc3RDaGlsZCwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gTWFyayBhbnkgU3VzcGVuc2UgYm91bmRhcmllcyB3aXRoIGZhbGxiYWNrcyBhcyBoYXZpbmcgd29yayB0byBkby5cbiAgLy8gSWYgdGhleSB3ZXJlIHByZXZpb3VzbHkgZm9yY2VkIGludG8gZmFsbGJhY2tzLCB0aGV5IG1heSBub3cgYmUgYWJsZVxuICAvLyB0byB1bmJsb2NrLlxuICB2YXIgbm9kZSA9IGZpcnN0Q2hpbGQ7XG5cbiAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgICB2YXIgc3RhdGUgPSBub2RlLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVN1c3BlbnNlV29ya09uRmliZXIobm9kZSwgcmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUxpc3RDb21wb25lbnQpIHtcbiAgICAgIC8vIElmIHRoZSB0YWlsIGlzIGhpZGRlbiB0aGVyZSBtaWdodCBub3QgYmUgYW4gU3VzcGVuc2UgYm91bmRhcmllc1xuICAgICAgLy8gdG8gc2NoZWR1bGUgd29yayBvbi4gSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gc2NoZWR1bGUgaXQgb24gdGhlXG4gICAgICAvLyBsaXN0IGl0c2VsZi5cbiAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gdHJhdmVyc2UgdG8gdGhlIGNoaWxkcmVuIG9mIHRoZSBsaXN0IHNpbmNlXG4gICAgICAvLyB0aGUgbGlzdCB3aWxsIHByb3BhZ2F0ZSB0aGUgY2hhbmdlIHdoZW4gaXQgcmVyZW5kZXJzLlxuICAgICAgc2NoZWR1bGVTdXNwZW5zZVdvcmtPbkZpYmVyKG5vZGUsIHJlbmRlckxhbmVzLCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSB3b3JrSW5Qcm9ncmVzcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZExhc3RDb250ZW50Um93KGZpcnN0Q2hpbGQpIHtcbiAgLy8gVGhpcyBpcyBnb2luZyB0byBmaW5kIHRoZSBsYXN0IHJvdyBhbW9uZyB0aGVzZSBjaGlsZHJlbiB0aGF0IGlzIGFscmVhZHlcbiAgLy8gc2hvd2luZyBjb250ZW50IG9uIHRoZSBzY3JlZW4sIGFzIG9wcG9zZWQgdG8gYmVpbmcgaW4gZmFsbGJhY2sgc3RhdGUgb3JcbiAgLy8gbmV3LiBJZiBhIHJvdyBoYXMgbXVsdGlwbGUgU3VzcGVuc2UgYm91bmRhcmllcywgYW55IG9mIHRoZW0gYmVpbmcgaW4gdGhlXG4gIC8vIGZhbGxiYWNrIHN0YXRlLCBjb3VudHMgYXMgdGhlIHdob2xlIHJvdyBiZWluZyBpbiBhIGZhbGxiYWNrIHN0YXRlLlxuICAvLyBOb3RlIHRoYXQgdGhlIFwicm93c1wiIHdpbGwgYmUgd29ya0luUHJvZ3Jlc3MsIGJ1dCBhbnkgbmVzdGVkIGNoaWxkcmVuXG4gIC8vIHdpbGwgc3RpbGwgYmUgY3VycmVudCBzaW5jZSB3ZSBoYXZlbid0IHJlbmRlcmVkIHRoZW0geWV0LiBUaGUgbW91bnRlZFxuICAvLyBvcmRlciBtYXkgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBuZXcgb3JkZXIuIFdlIHVzZSB0aGUgbmV3IG9yZGVyLlxuICB2YXIgcm93ID0gZmlyc3RDaGlsZDtcbiAgdmFyIGxhc3RDb250ZW50Um93ID0gbnVsbDtcblxuICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnRSb3cgPSByb3cuYWx0ZXJuYXRlOyAvLyBOZXcgcm93cyBjYW4ndCBiZSBjb250ZW50IHJvd3MuXG5cbiAgICBpZiAoY3VycmVudFJvdyAhPT0gbnVsbCAmJiBmaW5kRmlyc3RTdXNwZW5kZWQoY3VycmVudFJvdykgPT09IG51bGwpIHtcbiAgICAgIGxhc3RDb250ZW50Um93ID0gcm93O1xuICAgIH1cblxuICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIGxhc3RDb250ZW50Um93O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVJldmVhbE9yZGVyKHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAocmV2ZWFsT3JkZXIgIT09IHVuZGVmaW5lZCAmJiByZXZlYWxPcmRlciAhPT0gJ2ZvcndhcmRzJyAmJiByZXZlYWxPcmRlciAhPT0gJ2JhY2t3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICd0b2dldGhlcicgJiYgIWRpZFdhcm5BYm91dFJldmVhbE9yZGVyW3JldmVhbE9yZGVyXSkge1xuICAgICAgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXJbcmV2ZWFsT3JkZXJdID0gdHJ1ZTtcblxuICAgICAgaWYgKHR5cGVvZiByZXZlYWxPcmRlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgc3dpdGNoIChyZXZlYWxPcmRlci50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICAgIGNhc2UgJ2ZvcndhcmRzJzpcbiAgICAgICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1VzZSBsb3dlcmNhc2UgXCIlc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnZm9yd2FyZCc6XG4gICAgICAgICAgY2FzZSAnYmFja3dhcmQnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1JlYWN0IHVzZXMgdGhlIC1zIHN1ZmZpeCBpbiB0aGUgc3BlbGxpbmcuIFVzZSBcIiVzc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwidG9nZXRoZXJcIiwgXCJmb3J3YXJkc1wiIG9yIFwiYmFja3dhcmRzXCI/JywgcmV2ZWFsT3JkZXIpO1xuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJyVzIGlzIG5vdCBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgcmV2ZWFsT3JkZXIgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXCJ0b2dldGhlclwiLCBcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIj8nLCByZXZlYWxPcmRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGFpbE9wdGlvbnModGFpbE1vZGUsIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAodGFpbE1vZGUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkFib3V0VGFpbE9wdGlvbnNbdGFpbE1vZGVdKSB7XG4gICAgICBpZiAodGFpbE1vZGUgIT09ICdjb2xsYXBzZWQnICYmIHRhaWxNb2RlICE9PSAnaGlkZGVuJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHZhbHVlIGZvciB0YWlsIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwiY29sbGFwc2VkXCIgb3IgXCJoaWRkZW5cIj8nLCB0YWlsTW9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHJldmVhbE9yZGVyICE9PSAnZm9yd2FyZHMnICYmIHJldmVhbE9yZGVyICE9PSAnYmFja3dhcmRzJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCc8U3VzcGVuc2VMaXN0IHRhaWw9XCIlc1wiIC8+IGlzIG9ubHkgdmFsaWQgaWYgcmV2ZWFsT3JkZXIgaXMgJyArICdcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIi4gJyArICdEaWQgeW91IG1lYW4gdG8gc3BlY2lmeSByZXZlYWxPcmRlcj1cImZvcndhcmRzXCI/JywgdGFpbE1vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkU2xvdCwgaW5kZXgpIHtcbiAge1xuICAgIHZhciBpc0FuQXJyYXkgPSBpc0FycmF5KGNoaWxkU2xvdCk7XG4gICAgdmFyIGlzSXRlcmFibGUgPSAhaXNBbkFycmF5ICYmIHR5cGVvZiBnZXRJdGVyYXRvckZuKGNoaWxkU2xvdCkgPT09ICdmdW5jdGlvbic7XG5cbiAgICBpZiAoaXNBbkFycmF5IHx8IGlzSXRlcmFibGUpIHtcbiAgICAgIHZhciB0eXBlID0gaXNBbkFycmF5ID8gJ2FycmF5JyA6ICdpdGVyYWJsZSc7XG5cbiAgICAgIGVycm9yKCdBIG5lc3RlZCAlcyB3YXMgcGFzc2VkIHRvIHJvdyAjJXMgaW4gPFN1c3BlbnNlTGlzdCAvPi4gV3JhcCBpdCBpbiAnICsgJ2FuIGFkZGl0aW9uYWwgU3VzcGVuc2VMaXN0IHRvIGNvbmZpZ3VyZSBpdHMgcmV2ZWFsT3JkZXI6ICcgKyAnPFN1c3BlbnNlTGlzdCByZXZlYWxPcmRlcj0uLi4+IC4uLiAnICsgJzxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9Li4uPnslc308L1N1c3BlbnNlTGlzdD4gLi4uICcgKyAnPC9TdXNwZW5zZUxpc3Q+JywgdHlwZSwgaW5kZXgsIHR5cGUpO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4oY2hpbGRyZW4sIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAoKHJldmVhbE9yZGVyID09PSAnZm9yd2FyZHMnIHx8IHJldmVhbE9yZGVyID09PSAnYmFja3dhcmRzJykgJiYgY2hpbGRyZW4gIT09IHVuZGVmaW5lZCAmJiBjaGlsZHJlbiAhPT0gbnVsbCAmJiBjaGlsZHJlbiAhPT0gZmFsc2UpIHtcbiAgICAgIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkcmVuW2ldLCBpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB2YXIgY2hpbGRyZW5JdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChjaGlsZHJlbik7XG5cbiAgICAgICAgICBpZiAoY2hpbGRyZW5JdGVyYXRvcikge1xuICAgICAgICAgICAgdmFyIHN0ZXAgPSBjaGlsZHJlbkl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgICAgIHZhciBfaSA9IDA7XG5cbiAgICAgICAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBzdGVwID0gY2hpbGRyZW5JdGVyYXRvci5uZXh0KCkpIHtcbiAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKHN0ZXAudmFsdWUsIF9pKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIF9pKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yKCdBIHNpbmdsZSByb3cgd2FzIHBhc3NlZCB0byBhIDxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9XCIlc1wiIC8+LiAnICsgJ1RoaXMgaXMgbm90IHVzZWZ1bCBzaW5jZSBpdCBuZWVkcyBtdWx0aXBsZSByb3dzLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBwYXNzIG11bHRpcGxlIGNoaWxkcmVuIG9yIGFuIGFycmF5PycsIHJldmVhbE9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIGlzQmFja3dhcmRzLCB0YWlsLCBsYXN0Q29udGVudFJvdywgdGFpbE1vZGUpIHtcbiAgdmFyIHJlbmRlclN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocmVuZGVyU3RhdGUgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0ge1xuICAgICAgaXNCYWNrd2FyZHM6IGlzQmFja3dhcmRzLFxuICAgICAgcmVuZGVyaW5nOiBudWxsLFxuICAgICAgcmVuZGVyaW5nU3RhcnRUaW1lOiAwLFxuICAgICAgbGFzdDogbGFzdENvbnRlbnRSb3csXG4gICAgICB0YWlsOiB0YWlsLFxuICAgICAgdGFpbE1vZGU6IHRhaWxNb2RlXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBXZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIG9iamVjdCBmcm9tIHByZXZpb3VzIHJlbmRlcnMuXG4gICAgcmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMgPSBpc0JhY2t3YXJkcztcbiAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA9IDA7XG4gICAgcmVuZGVyU3RhdGUubGFzdCA9IGxhc3RDb250ZW50Um93O1xuICAgIHJlbmRlclN0YXRlLnRhaWwgPSB0YWlsO1xuICAgIHJlbmRlclN0YXRlLnRhaWxNb2RlID0gdGFpbE1vZGU7XG4gIH1cbn0gLy8gVGhpcyBjYW4gZW5kIHVwIHJlbmRlcmluZyB0aGlzIGNvbXBvbmVudCBtdWx0aXBsZSBwYXNzZXMuXG4vLyBUaGUgZmlyc3QgcGFzcyBzcGxpdHMgdGhlIGNoaWxkcmVuIGZpYmVycyBpbnRvIHR3byBzZXRzLiBBIGhlYWQgYW5kIHRhaWwuXG4vLyBXZSBmaXJzdCByZW5kZXIgdGhlIGhlYWQuIElmIGFueXRoaW5nIGlzIGluIGZhbGxiYWNrIHN0YXRlLCB3ZSBkbyBhbm90aGVyXG4vLyBwYXNzIHRocm91Z2ggYmVnaW5Xb3JrIHRvIHJlcmVuZGVyIGFsbCBjaGlsZHJlbiAoaW5jbHVkaW5nIHRoZSB0YWlsKSB3aXRoXG4vLyB0aGUgZm9yY2Ugc3VzcGVuZCBjb250ZXh0LiBJZiB0aGUgZmlyc3QgcmVuZGVyIGRpZG4ndCBoYXZlIGFueXRoaW5nIGluXG4vLyBpbiBmYWxsYmFjayBzdGF0ZS4gVGhlbiB3ZSByZW5kZXIgZWFjaCByb3cgaW4gdGhlIHRhaWwgb25lLWJ5LW9uZS5cbi8vIFRoYXQgaGFwcGVucyBpbiB0aGUgY29tcGxldGVXb3JrIHBoYXNlIHdpdGhvdXQgZ29pbmcgYmFjayB0byBiZWdpbldvcmsuXG5cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VMaXN0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgcmV2ZWFsT3JkZXIgPSBuZXh0UHJvcHMucmV2ZWFsT3JkZXI7XG4gIHZhciB0YWlsTW9kZSA9IG5leHRQcm9wcy50YWlsO1xuICB2YXIgbmV3Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIHZhbGlkYXRlUmV2ZWFsT3JkZXIocmV2ZWFsT3JkZXIpO1xuICB2YWxpZGF0ZVRhaWxPcHRpb25zKHRhaWxNb2RlLCByZXZlYWxPcmRlcik7XG4gIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4obmV3Q2hpbGRyZW4sIHJldmVhbE9yZGVyKTtcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5ld0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG4gIHZhciBzaG91bGRGb3JjZUZhbGxiYWNrID0gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcblxuICBpZiAoc2hvdWxkRm9yY2VGYWxsYmFjaykge1xuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGRpZFN1c3BlbmRCZWZvcmUgPSBjdXJyZW50ICE9PSBudWxsICYmIChjdXJyZW50LmZsYWdzICYgRGlkQ2FwdHVyZSkgIT09IE5vRmxhZ3M7XG5cbiAgICBpZiAoZGlkU3VzcGVuZEJlZm9yZSkge1xuICAgICAgLy8gSWYgd2UgcHJldmlvdXNseSBmb3JjZWQgYSBmYWxsYmFjaywgd2UgbmVlZCB0byBzY2hlZHVsZSB3b3JrXG4gICAgICAvLyBvbiBhbnkgbmVzdGVkIGJvdW5kYXJpZXMgdG8gbGV0IHRoZW0ga25vdyB0byB0cnkgdG8gcmVuZGVyXG4gICAgICAvLyBhZ2Fpbi4gVGhpcyBpcyB0aGUgc2FtZSBhcyBjb250ZXh0IHVwZGF0aW5nLlxuICAgICAgcHJvcGFnYXRlU3VzcGVuc2VDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5jaGlsZCwgcmVuZGVyTGFuZXMpO1xuICAgIH1cblxuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCk7XG4gIH1cblxuICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUNvbnRleHQpO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgLy8gSW4gbGVnYWN5IG1vZGUsIFN1c3BlbnNlTGlzdCBkb2Vzbid0IHdvcmsgc28gd2UganVzdFxuICAgIC8vIHVzZSBtYWtlIGl0IGEgbm9vcCBieSB0cmVhdGluZyBpdCBhcyB0aGUgZGVmYXVsdCByZXZlYWxPcmRlci5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBzd2l0Y2ggKHJldmVhbE9yZGVyKSB7XG4gICAgICBjYXNlICdmb3J3YXJkcyc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGFzdENvbnRlbnRSb3cgPSBmaW5kTGFzdENvbnRlbnRSb3cod29ya0luUHJvZ3Jlc3MuY2hpbGQpO1xuICAgICAgICAgIHZhciB0YWlsO1xuXG4gICAgICAgICAgaWYgKGxhc3RDb250ZW50Um93ID09PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgd2hvbGUgbGlzdCBpcyBwYXJ0IG9mIHRoZSB0YWlsLlxuICAgICAgICAgICAgLy8gVE9ETzogV2UgY291bGQgZmFzdCBwYXRoIGJ5IGp1c3QgcmVuZGVyaW5nIHRoZSB0YWlsIG5vdy5cbiAgICAgICAgICAgIHRhaWwgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gbnVsbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRGlzY29ubmVjdCB0aGUgdGFpbCByb3dzIGFmdGVyIHRoZSBjb250ZW50IHJvdy5cbiAgICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHJlbmRlciB0aGVtIHNlcGFyYXRlbHkgbGF0ZXIuXG4gICAgICAgICAgICB0YWlsID0gbGFzdENvbnRlbnRSb3cuc2libGluZztcbiAgICAgICAgICAgIGxhc3RDb250ZW50Um93LnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGluaXRTdXNwZW5zZUxpc3RSZW5kZXJTdGF0ZSh3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgdGFpbCwgbGFzdENvbnRlbnRSb3csIHRhaWxNb2RlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gZmluZCB0aGUgZmlyc3Qgcm93IHRoYXQgaGFzIGV4aXN0aW5nIGNvbnRlbnQuXG4gICAgICAgICAgLy8gQXQgdGhlIHNhbWUgdGltZSB3ZSdyZSBnb2luZyB0byByZXZlcnNlIHRoZSBsaXN0IG9mIGV2ZXJ5dGhpbmdcbiAgICAgICAgICAvLyB3ZSBwYXNzIGluIHRoZSBtZWFudGltZS4gVGhhdCdzIGdvaW5nIHRvIGJlIG91ciB0YWlsIGluIHJldmVyc2VcbiAgICAgICAgICAvLyBvcmRlci5cbiAgICAgICAgICB2YXIgX3RhaWwgPSBudWxsO1xuICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG5cbiAgICAgICAgICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudFJvdyA9IHJvdy5hbHRlcm5hdGU7IC8vIE5ldyByb3dzIGNhbid0IGJlIGNvbnRlbnQgcm93cy5cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWFpbiBjb250ZW50LlxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJvdztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBuZXh0Um93ID0gcm93LnNpYmxpbmc7XG4gICAgICAgICAgICByb3cuc2libGluZyA9IF90YWlsO1xuICAgICAgICAgICAgX3RhaWwgPSByb3c7XG4gICAgICAgICAgICByb3cgPSBuZXh0Um93O1xuICAgICAgICAgIH0gLy8gVE9ETzogSWYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgaXMgbnVsbCwgd2UgY2FuIGNvbnRpbnVlIG9uIHRoZSB0YWlsIGltbWVkaWF0ZWx5LlxuXG5cbiAgICAgICAgICBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIHRydWUsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgX3RhaWwsIG51bGwsIC8vIGxhc3RcbiAgICAgICAgICB0YWlsTW9kZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICB7XG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCBmYWxzZSwgLy8gaXNCYWNrd2FyZHNcbiAgICAgICAgICBudWxsLCAvLyB0YWlsXG4gICAgICAgICAgbnVsbCwgLy8gbGFzdFxuICAgICAgICAgIHVuZGVmaW5lZCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IHJldmVhbCBvcmRlciBpcyB0aGUgc2FtZSBhcyBub3QgaGF2aW5nXG4gICAgICAgICAgLy8gYSBib3VuZGFyeS5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBwdXNoSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgLy8gUG9ydGFscyBhcmUgc3BlY2lhbCBiZWNhdXNlIHdlIGRvbid0IGFwcGVuZCB0aGUgY2hpbGRyZW4gZHVyaW5nIG1vdW50XG4gICAgLy8gYnV0IGF0IGNvbW1pdC4gVGhlcmVmb3JlIHdlIG5lZWQgdG8gdHJhY2sgaW5zZXJ0aW9ucyB3aGljaCB0aGUgbm9ybWFsXG4gICAgLy8gZmxvdyBkb2Vzbid0IGRvIGR1cmluZyBtb3VudC4gVGhpcyBkb2Vzbid0IGhhcHBlbiBhdCB0aGUgcm9vdCBiZWNhdXNlXG4gICAgLy8gdGhlIHJvb3QgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgXCJjdXJyZW50XCIgd2l0aCBhIG51bGwgY2hpbGQuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgdW5pZnlpbmcgdGhpcyB3aXRoIGhvdyB0aGUgcm9vdCB3b3Jrcy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgfSBlbHNlIHtcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nTm9WYWx1ZVByb3BPbkNvbnRleHRQcm92aWRlciA9IGZhbHNlO1xuXG5mdW5jdGlvbiB1cGRhdGVDb250ZXh0UHJvdmlkZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBwcm92aWRlclR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB2YXIgY29udGV4dCA9IHByb3ZpZGVyVHlwZS5fY29udGV4dDtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgb2xkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzO1xuICB2YXIgbmV3VmFsdWUgPSBuZXdQcm9wcy52YWx1ZTtcblxuICB7XG4gICAgaWYgKCEoJ3ZhbHVlJyBpbiBuZXdQcm9wcykpIHtcbiAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05vVmFsdWVQcm9wT25Db250ZXh0UHJvdmlkZXIpIHtcbiAgICAgICAgaGFzV2FybmVkQWJvdXRVc2luZ05vVmFsdWVQcm9wT25Db250ZXh0UHJvdmlkZXIgPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdUaGUgYHZhbHVlYCBwcm9wIGlzIHJlcXVpcmVkIGZvciB0aGUgYDxDb250ZXh0LlByb3ZpZGVyPmAuIERpZCB5b3UgbWlzc3BlbGwgaXQgb3IgZm9yZ2V0IHRvIHBhc3MgaXQ/Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHByb3ZpZGVyUHJvcFR5cGVzID0gd29ya0luUHJvZ3Jlc3MudHlwZS5wcm9wVHlwZXM7XG5cbiAgICBpZiAocHJvdmlkZXJQcm9wVHlwZXMpIHtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3ZpZGVyUHJvcFR5cGVzLCBuZXdQcm9wcywgJ3Byb3AnLCAnQ29udGV4dC5Qcm92aWRlcicpO1xuICAgIH1cbiAgfVxuXG4gIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgbmV3VmFsdWUpO1xuXG4gIHtcbiAgICBpZiAob2xkUHJvcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBvbGRWYWx1ZSA9IG9sZFByb3BzLnZhbHVlO1xuXG4gICAgICBpZiAob2JqZWN0SXMob2xkVmFsdWUsIG5ld1ZhbHVlKSkge1xuICAgICAgICAvLyBObyBjaGFuZ2UuIEJhaWxvdXQgZWFybHkgaWYgY2hpbGRyZW4gYXJlIHRoZSBzYW1lLlxuICAgICAgICBpZiAob2xkUHJvcHMuY2hpbGRyZW4gPT09IG5ld1Byb3BzLmNoaWxkcmVuICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpKSB7XG4gICAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlIGNvbnRleHQgdmFsdWUgY2hhbmdlZC4gU2VhcmNoIGZvciBtYXRjaGluZyBjb25zdW1lcnMgYW5kIHNjaGVkdWxlXG4gICAgICAgIC8vIHRoZW0gdG8gdXBkYXRlLlxuICAgICAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5ld0NoaWxkcmVuID0gbmV3UHJvcHMuY2hpbGRyZW47XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nQ29udGV4dEFzQ29uc3VtZXIgPSBmYWxzZTtcblxuZnVuY3Rpb24gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGU7IC8vIFRoZSBsb2dpYyBiZWxvdyBmb3IgQ29udGV4dCBkaWZmZXJzIGRlcGVuZGluZyBvbiBQUk9EIG9yIERFViBtb2RlLiBJblxuICAvLyBERVYgbW9kZSwgd2UgY3JlYXRlIGEgc2VwYXJhdGUgb2JqZWN0IGZvciBDb250ZXh0LkNvbnN1bWVyIHRoYXQgYWN0c1xuICAvLyBsaWtlIGEgcHJveHkgdG8gQ29udGV4dC4gVGhpcyBwcm94eSBvYmplY3QgYWRkcyB1bm5lY2Vzc2FyeSBjb2RlIGluIFBST0RcbiAgLy8gc28gd2UgdXNlIHRoZSBvbGQgYmVoYXZpb3VyIChDb250ZXh0LkNvbnN1bWVyIHJlZmVyZW5jZXMgQ29udGV4dCkgdG9cbiAgLy8gcmVkdWNlIHNpemUgYW5kIG92ZXJoZWFkLiBUaGUgc2VwYXJhdGUgb2JqZWN0IHJlZmVyZW5jZXMgY29udGV4dCB2aWFcbiAgLy8gYSBwcm9wZXJ0eSBjYWxsZWQgXCJfY29udGV4dFwiLCB3aGljaCBhbHNvIGdpdmVzIHVzIHRoZSBhYmlsaXR5IHRvIGNoZWNrXG4gIC8vIGluIERFViBtb2RlIGlmIHRoaXMgcHJvcGVydHkgZXhpc3RzIG9yIG5vdCBhbmQgd2FybiBpZiBpdCBkb2VzIG5vdC5cblxuICB7XG4gICAgaWYgKGNvbnRleHQuX2NvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVGhpcyBtYXkgYmUgYmVjYXVzZSBpdCdzIGEgQ29udGV4dCAocmF0aGVyIHRoYW4gYSBDb25zdW1lcikuXG4gICAgICAvLyBPciBpdCBtYXkgYmUgYmVjYXVzZSBpdCdzIG9sZGVyIFJlYWN0IHdoZXJlIHRoZXkncmUgdGhlIHNhbWUgdGhpbmcuXG4gICAgICAvLyBXZSBvbmx5IHdhbnQgdG8gd2FybiBpZiB3ZSdyZSBzdXJlIGl0J3MgYSBuZXcgUmVhY3QuXG4gICAgICBpZiAoY29udGV4dCAhPT0gY29udGV4dC5Db25zdW1lcikge1xuICAgICAgICBpZiAoIWhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lcikge1xuICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVuZGVyaW5nIDxDb250ZXh0PiBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gcmVuZGVyIDxDb250ZXh0LkNvbnN1bWVyPiBpbnN0ZWFkPycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9jb250ZXh0O1xuICAgIH1cbiAgfVxuXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHJlbmRlciA9IG5ld1Byb3BzLmNoaWxkcmVuO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ0EgY29udGV4dCBjb25zdW1lciB3YXMgcmVuZGVyZWQgd2l0aCBtdWx0aXBsZSBjaGlsZHJlbiwgb3IgYSBjaGlsZCAnICsgXCJ0aGF0IGlzbid0IGEgZnVuY3Rpb24uIEEgY29udGV4dCBjb25zdW1lciBleHBlY3RzIGEgc2luZ2xlIGNoaWxkIFwiICsgJ3RoYXQgaXMgYSBmdW5jdGlvbi4gSWYgeW91IGRpZCBwYXNzIGEgZnVuY3Rpb24sIG1ha2Ugc3VyZSB0aGVyZSAnICsgJ2lzIG5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBhcm91bmQgaXQuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgdmFyIG5ld1ZhbHVlID0gcmVhZENvbnRleHQoY29udGV4dCk7XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHZhciBuZXdDaGlsZHJlbjtcblxuICB7XG4gICAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgbmV3Q2hpbGRyZW4gPSByZW5kZXIobmV3VmFsdWUpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCkge1xuICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVzZXRTdXNwZW5kZWRDdXJyZW50T25Nb3VudEluTGVnYWN5TW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGxhenkgY29tcG9uZW50IG9ubHkgbW91bnRzIGlmIGl0IHN1c3BlbmRlZCBpbnNpZGUgYSBub24tXG4gICAgICAvLyBjb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0byB0cmVhdCBpdCBsaWtlXG4gICAgICAvLyBhIG5ldyBtb3VudCwgZXZlbiB0aG91Z2ggYW4gZW1wdHkgdmVyc2lvbiBvZiBpdCBhbHJlYWR5IGNvbW1pdHRlZC5cbiAgICAgIC8vIERpc2Nvbm5lY3QgdGhlIGFsdGVybmF0ZSBwb2ludGVycy5cbiAgICAgIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICAgIHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIFNpbmNlIHRoaXMgaXMgY29uY2VwdHVhbGx5IGEgbmV3IGZpYmVyLCBzY2hlZHVsZSBhIFBsYWNlbWVudCBlZmZlY3RcblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIC8vIFJldXNlIHByZXZpb3VzIGRlcGVuZGVuY2llc1xuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnQuZGVwZW5kZW5jaWVzO1xuICB9XG5cbiAge1xuICAgIC8vIERvbid0IHVwZGF0ZSBcImJhc2VcIiByZW5kZXIgdGltZXMgZm9yIGJhaWxvdXRzLlxuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nKCk7XG4gIH1cblxuICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzKTsgLy8gQ2hlY2sgaWYgdGhlIGNoaWxkcmVuIGhhdmUgYW55IHBlbmRpbmcgd29yay5cblxuICBpZiAoIWluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMpKSB7XG4gICAgLy8gVGhlIGNoaWxkcmVuIGRvbid0IGhhdmUgYW55IHdvcmsgZWl0aGVyLiBXZSBjYW4gc2tpcCB0aGVtLlxuICAgIC8vIFRPRE86IE9uY2Ugd2UgYWRkIGJhY2sgcmVzdW1pbmcsIHdlIHNob3VsZCBjaGVjayBpZiB0aGUgY2hpbGRyZW4gYXJlXG4gICAgLy8gYSB3b3JrLWluLXByb2dyZXNzIHNldC4gSWYgc28sIHdlIG5lZWQgdG8gdHJhbnNmZXIgdGhlaXIgZWZmZWN0cy5cbiAgICB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0gLy8gVGhpcyBmaWJlciBkb2Vzbid0IGhhdmUgd29yaywgYnV0IGl0cyBzdWJ0cmVlIGRvZXMuIENsb25lIHRoZSBjaGlsZFxuICAvLyBmaWJlcnMgYW5kIGNvbnRpbnVlLlxuXG5cbiAgY2xvbmVDaGlsZEZpYmVycyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gcmVtb3VudEZpYmVyKGN1cnJlbnQsIG9sZFdvcmtJblByb2dyZXNzLCBuZXdXb3JrSW5Qcm9ncmVzcykge1xuICB7XG4gICAgdmFyIHJldHVybkZpYmVyID0gb2xkV29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuXG4gICAgaWYgKHJldHVybkZpYmVyID09PSBudWxsKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3dhcCB0aGUgcm9vdCBmaWJlci4nKTtcbiAgICB9IC8vIERpc2Nvbm5lY3QgZnJvbSB0aGUgb2xkIGN1cnJlbnQuXG4gICAgLy8gSXQgd2lsbCBnZXQgZGVsZXRlZC5cblxuXG4gICAgY3VycmVudC5hbHRlcm5hdGUgPSBudWxsO1xuICAgIG9sZFdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIENvbm5lY3QgdG8gdGhlIG5ldyB0cmVlLlxuXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuaW5kZXggPSBvbGRXb3JrSW5Qcm9ncmVzcy5pbmRleDtcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5zaWJsaW5nID0gb2xkV29ya0luUHJvZ3Jlc3Muc2libGluZztcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5yZXR1cm4gPSBvbGRXb3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gICAgbmV3V29ya0luUHJvZ3Jlc3MucmVmID0gb2xkV29ya0luUHJvZ3Jlc3MucmVmOyAvLyBSZXBsYWNlIHRoZSBjaGlsZC9zaWJsaW5nIHBvaW50ZXJzIGFib3ZlIGl0LlxuXG4gICAgaWYgKG9sZFdvcmtJblByb2dyZXNzID09PSByZXR1cm5GaWJlci5jaGlsZCkge1xuICAgICAgcmV0dXJuRmliZXIuY2hpbGQgPSBuZXdXb3JrSW5Qcm9ncmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHByZXZTaWJsaW5nID0gcmV0dXJuRmliZXIuY2hpbGQ7XG5cbiAgICAgIGlmIChwcmV2U2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHBhcmVudCB0byBoYXZlIGEgY2hpbGQuJyk7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChwcmV2U2libGluZy5zaWJsaW5nICE9PSBvbGRXb3JrSW5Qcm9ncmVzcykge1xuICAgICAgICBwcmV2U2libGluZyA9IHByZXZTaWJsaW5nLnNpYmxpbmc7XG5cbiAgICAgICAgaWYgKHByZXZTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgdGhlIHByZXZpb3VzIHNpYmxpbmcuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcHJldlNpYmxpbmcuc2libGluZyA9IG5ld1dvcmtJblByb2dyZXNzO1xuICAgIH0gLy8gRGVsZXRlIHRoZSBvbGQgZmliZXIgYW5kIHBsYWNlIHRoZSBuZXcgb25lLlxuICAgIC8vIFNpbmNlIHRoZSBvbGQgZmliZXIgaXMgZGlzY29ubmVjdGVkLCB3ZSBoYXZlIHRvIHNjaGVkdWxlIGl0IG1hbnVhbGx5LlxuXG5cbiAgICB2YXIgZGVsZXRpb25zID0gcmV0dXJuRmliZXIuZGVsZXRpb25zO1xuXG4gICAgaWYgKGRlbGV0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuRmliZXIuZGVsZXRpb25zID0gW2N1cnJlbnRdO1xuICAgICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRpb25zLnB1c2goY3VycmVudCk7XG4gICAgfVxuXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGxhY2VtZW50OyAvLyBSZXN0YXJ0IHdvcmsgZnJvbSB0aGUgbmV3IGZpYmVyLlxuXG4gICAgcmV0dXJuIG5ld1dvcmtJblByb2dyZXNzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0KGN1cnJlbnQsIHJlbmRlckxhbmVzKSB7XG4gIC8vIEJlZm9yZSBwZXJmb3JtaW5nIGFuIGVhcmx5IGJhaWxvdXQsIHdlIG11c3QgY2hlY2sgaWYgdGhlcmUgYXJlIHBlbmRpbmdcbiAgLy8gdXBkYXRlcyBvciBjb250ZXh0LlxuICB2YXIgdXBkYXRlTGFuZXMgPSBjdXJyZW50LmxhbmVzO1xuXG4gIGlmIChpbmNsdWRlc1NvbWVMYW5lKHVwZGF0ZUxhbmVzLCByZW5kZXJMYW5lcykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBObyBwZW5kaW5nIHVwZGF0ZSwgYnV0IGJlY2F1c2UgY29udGV4dCBpcyBwcm9wYWdhdGVkIGxhemlseSwgd2UgbmVlZFxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdEVhcmx5QmFpbG91dElmTm9TY2hlZHVsZWRVcGRhdGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgZmliZXIgZG9lcyBub3QgaGF2ZSBhbnkgcGVuZGluZyB3b3JrLiBCYWlsb3V0IHdpdGhvdXQgZW50ZXJpbmdcbiAgLy8gdGhlIGJlZ2luIHBoYXNlLiBUaGVyZSdzIHN0aWxsIHNvbWUgYm9va2tlZXBpbmcgd2UgdGhhdCBuZWVkcyB0byBiZSBkb25lXG4gIC8vIGluIHRoaXMgb3B0aW1pemVkIHBhdGgsIG1vc3RseSBwdXNoaW5nIHN0dWZmIG9udG8gdGhlIHN0YWNrLlxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gICAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHB1c2hIb3N0Q29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuXG4gICAgICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAge1xuICAgICAgICB2YXIgbmV3VmFsdWUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnZhbHVlO1xuICAgICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICAgIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgbmV3VmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICB7XG4gICAgICAgIC8vIFByb2ZpbGVyIHNob3VsZCBvbmx5IGNhbGwgb25SZW5kZXIgd2hlbiBvbmUgb2YgaXRzIGRlc2NlbmRhbnRzIGFjdHVhbGx5IHJlbmRlcmVkLlxuICAgICAgICB2YXIgaGFzQ2hpbGRXb3JrID0gaW5jbHVkZXNTb21lTGFuZShyZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyk7XG5cbiAgICAgICAgaWYgKGhhc0NoaWxkV29yaykge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBSZXNldCBlZmZlY3QgZHVyYXRpb25zIGZvciB0aGUgbmV4dCBldmVudHVhbCBlZmZlY3QgcGhhc2UuXG4gICAgICAgICAgLy8gVGhlc2UgYXJlIHJlc2V0IGR1cmluZyByZW5kZXIgdG8gYWxsb3cgdGhlIERldlRvb2xzIGNvbW1pdCBob29rIGEgY2hhbmNlIHRvIHJlYWQgdGhlbSxcbiAgICAgICAgICB2YXIgc3RhdGVOb2RlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgICAgICAgIHN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICAgICAgc3RhdGVOb2RlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChzdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gV2Uga25vdyB0aGF0IHRoaXMgY29tcG9uZW50IHdpbGwgc3VzcGVuZCBhZ2FpbiBiZWNhdXNlIGlmIGl0IGhhc1xuICAgICAgICAgICAgLy8gYmVlbiB1bnN1c3BlbmRlZCBpdCBoYXMgY29tbWl0dGVkIGFzIGEgcmVzb2x2ZWQgU3VzcGVuc2UgY29tcG9uZW50LlxuICAgICAgICAgICAgLy8gSWYgaXQgbmVlZHMgdG8gYmUgcmV0cmllZCwgaXQgc2hvdWxkIGhhdmUgd29yayBzY2hlZHVsZWQgb24gaXQuXG5cbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7IC8vIFdlIHNob3VsZCBuZXZlciByZW5kZXIgdGhlIGNoaWxkcmVuIG9mIGEgZGVoeWRyYXRlZCBib3VuZGFyeSB1bnRpbCB3ZVxuICAgICAgICAgICAgLy8gdXBncmFkZSBpdC4gV2UgcmV0dXJuIG51bGwgaW5zdGVhZCBvZiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrLlxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9IC8vIElmIHRoaXMgYm91bmRhcnkgaXMgY3VycmVudGx5IHRpbWVkIG91dCwgd2UgbmVlZCB0byBkZWNpZGVcbiAgICAgICAgICAvLyB3aGV0aGVyIHRvIHJldHJ5IHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBvciB0byBza2lwIG92ZXIgaXQgYW5kXG4gICAgICAgICAgLy8gZ28gc3RyYWlnaHQgdG8gdGhlIGZhbGxiYWNrLiBDaGVjayB0aGUgcHJpb3JpdHkgb2YgdGhlIHByaW1hcnlcbiAgICAgICAgICAvLyBjaGlsZCBmcmFnbWVudC5cblxuXG4gICAgICAgICAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgdmFyIHByaW1hcnlDaGlsZExhbmVzID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcztcblxuICAgICAgICAgIGlmIChpbmNsdWRlc1NvbWVMYW5lKHJlbmRlckxhbmVzLCBwcmltYXJ5Q2hpbGRMYW5lcykpIHtcbiAgICAgICAgICAgIC8vIFRoZSBwcmltYXJ5IGNoaWxkcmVuIGhhdmUgcGVuZGluZyB3b3JrLiBVc2UgdGhlIG5vcm1hbCBwYXRoXG4gICAgICAgICAgICAvLyB0byBhdHRlbXB0IHRvIHJlbmRlciB0aGUgcHJpbWFyeSBjaGlsZHJlbiBhZ2Fpbi5cbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUaGUgcHJpbWFyeSBjaGlsZCBmcmFnbWVudCBkb2VzIG5vdCBoYXZlIHBlbmRpbmcgd29yayBtYXJrZWRcbiAgICAgICAgICAgIC8vIG9uIGl0XG4gICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gVGhlIHByaW1hcnkgY2hpbGRyZW4gZG8gbm90IGhhdmUgcGVuZGluZyB3b3JrIHdpdGggc3VmZmljaWVudFxuICAgICAgICAgICAgLy8gcHJpb3JpdHkuIEJhaWxvdXQuXG5cbiAgICAgICAgICAgIHZhciBjaGlsZCA9IGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgICAgICAgICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoZSBmYWxsYmFjayBjaGlsZHJlbiBoYXZlIHBlbmRpbmcgd29yay4gU2tpcCBvdmVyIHRoZVxuICAgICAgICAgICAgICAvLyBwcmltYXJ5IGNoaWxkcmVuIGFuZCB3b3JrIG9uIHRoZSBmYWxsYmFjay5cbiAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLnNpYmxpbmc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBOb3RlOiBXZSBjYW4gcmV0dXJuIGBudWxsYCBoZXJlIGJlY2F1c2Ugd2UgYWxyZWFkeSBjaGVja2VkXG4gICAgICAgICAgICAgIC8vIHdoZXRoZXIgdGhlcmUgd2VyZSBuZXN0ZWQgY29udGV4dCBjb25zdW1lcnMsIHZpYSB0aGUgY2FsbCB0b1xuICAgICAgICAgICAgICAvLyBgYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29ya2AgYWJvdmUuXG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBkaWRTdXNwZW5kQmVmb3JlID0gKGN1cnJlbnQuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncztcblxuICAgICAgICB2YXIgX2hhc0NoaWxkV29yayA9IGluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMpO1xuXG4gICAgICAgIGlmIChkaWRTdXNwZW5kQmVmb3JlKSB7XG4gICAgICAgICAgaWYgKF9oYXNDaGlsZFdvcmspIHtcbiAgICAgICAgICAgIC8vIElmIHNvbWV0aGluZyB3YXMgaW4gZmFsbGJhY2sgc3RhdGUgbGFzdCB0aW1lLCBhbmQgd2UgaGF2ZSBhbGwgdGhlXG4gICAgICAgICAgICAvLyBzYW1lIGNoaWxkcmVuIHRoZW4gd2UncmUgc3RpbGwgaW4gcHJvZ3Jlc3NpdmUgbG9hZGluZyBzdGF0ZS5cbiAgICAgICAgICAgIC8vIFNvbWV0aGluZyBtaWdodCBnZXQgdW5ibG9ja2VkIGJ5IHN0YXRlIHVwZGF0ZXMgb3IgcmV0cmllcyBpbiB0aGVcbiAgICAgICAgICAgIC8vIHRyZWUgd2hpY2ggd2lsbCBhZmZlY3QgdGhlIHRhaWwuIFNvIHdlIG5lZWQgdG8gdXNlIHRoZSBub3JtYWxcbiAgICAgICAgICAgIC8vIHBhdGggdG8gY29tcHV0ZSB0aGUgY29ycmVjdCB0YWlsLlxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlTGlzdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH0gLy8gSWYgbm9uZSBvZiB0aGUgY2hpbGRyZW4gaGFkIGFueSB3b3JrLCB0aGF0IG1lYW5zIHRoYXQgbm9uZSBvZlxuICAgICAgICAgIC8vIHRoZW0gZ290IHJldHJpZWQgc28gdGhleSdsbCBzdGlsbCBiZSBibG9ja2VkIGluIHRoZSBzYW1lIHdheVxuICAgICAgICAgIC8vIGFzIGJlZm9yZS4gV2UgY2FuIGZhc3QgYmFpbCBvdXQuXG5cblxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgIH0gLy8gSWYgbm90aGluZyBzdXNwZW5kZWQgYmVmb3JlIGFuZCB3ZSdyZSByZW5kZXJpbmcgdGhlIHNhbWUgY2hpbGRyZW4sXG4gICAgICAgIC8vIHRoZW4gdGhlIHRhaWwgZG9lc24ndCBtYXR0ZXIuIEFueXRoaW5nIG5ldyB0aGF0IHN1c3BlbmRzIHdpbGwgd29ya1xuICAgICAgICAvLyBpbiB0aGUgXCJ0b2dldGhlclwiIG1vZGUsIHNvIHdlIGNhbiBjb250aW51ZSBmcm9tIHRoZSBzdGF0ZSB3ZSBoYWQuXG5cblxuICAgICAgICB2YXIgcmVuZGVyU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFJlc2V0IHRvIHRoZSBcInRvZ2V0aGVyXCIgbW9kZSBpbiBjYXNlIHdlJ3ZlIHN0YXJ0ZWQgYSBkaWZmZXJlbnRcbiAgICAgICAgICAvLyB1cGRhdGUgaW4gdGhlIHBhc3QgYnV0IGRpZG4ndCBjb21wbGV0ZSBpdC5cbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnRhaWwgPSBudWxsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLmxhc3RFZmZlY3QgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50KTtcblxuICAgICAgICBpZiAoX2hhc0NoaWxkV29yaykge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGNoaWxkcmVuIGhhZCBhbnkgd29yaywgdGhhdCBtZWFucyB0aGF0IG5vbmUgb2ZcbiAgICAgICAgICAvLyB0aGVtIGdvdCByZXRyaWVkIHNvIHRoZXknbGwgc3RpbGwgYmUgYmxvY2tlZCBpbiB0aGUgc2FtZSB3YXlcbiAgICAgICAgICAvLyBhcyBiZWZvcmUuIFdlIGNhbiBmYXN0IGJhaWwgb3V0LlxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gTmVlZCB0byBjaGVjayBpZiB0aGUgdHJlZSBzdGlsbCBuZWVkcyB0byBiZSBkZWZlcnJlZC4gVGhpcyBpc1xuICAgICAgICAvLyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBsb2dpYyB1c2VkIGluIHRoZSBub3JtYWwgdXBkYXRlIHBhdGgsXG4gICAgICAgIC8vIHNvIHdlJ2xsIGp1c3QgZW50ZXIgdGhhdC4gVGhlIG9ubHkgZGlmZmVyZW5jZSBpcyB3ZSdsbCBiYWlsIG91dFxuICAgICAgICAvLyBhdCB0aGUgbmV4dCBsZXZlbCBpbnN0ZWFkIG9mIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjaGlsZCBwcm9wc1xuICAgICAgICAvLyBoYXZlIG5vdCBjaGFuZ2VkLiBXaGljaCBpcyBmaW5lLlxuICAgICAgICAvLyBUT0RPOiBQcm9iYWJseSBzaG91bGQgcmVmYWN0b3IgYGJlZ2luV29ya2AgdG8gc3BsaXQgdGhlIGJhaWxvdXRcbiAgICAgICAgLy8gcGF0aCBmcm9tIHRoZSBub3JtYWwgcGF0aC4gSSdtIHRlbXB0ZWQgdG8gZG8gYSBsYWJlbGVkIGJyZWFrIGhlcmVcbiAgICAgICAgLy8gYnV0IEkgd29uJ3QgOilcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBOb0xhbmVzO1xuICAgICAgICByZXR1cm4gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiBiZWdpbldvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MuX2RlYnVnTmVlZHNSZW1vdW50ICYmIGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgd2lsbCByZXN0YXJ0IHRoZSBiZWdpbiBwaGFzZSB3aXRoIGEgbmV3IGZpYmVyLlxuICAgICAgcmV0dXJuIHJlbW91bnRGaWJlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHdvcmtJblByb2dyZXNzLnR5cGUsIHdvcmtJblByb2dyZXNzLmtleSwgd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLCB3b3JrSW5Qcm9ncmVzcy5fZGVidWdPd25lciB8fCBudWxsLCB3b3JrSW5Qcm9ncmVzcy5tb2RlLCB3b3JrSW5Qcm9ncmVzcy5sYW5lcykpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIG9sZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcblxuICAgIGlmIChvbGRQcm9wcyAhPT0gbmV3UHJvcHMgfHwgaGFzQ29udGV4dENoYW5nZWQoKSB8fCAoIC8vIEZvcmNlIGEgcmUtcmVuZGVyIGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VkIGR1ZSB0byBob3QgcmVsb2FkOlxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSBjdXJyZW50LnR5cGUgKSkge1xuICAgICAgLy8gSWYgcHJvcHMgb3IgY29udGV4dCBjaGFuZ2VkLCBtYXJrIHRoZSBmaWJlciBhcyBoYXZpbmcgcGVyZm9ybWVkIHdvcmsuXG4gICAgICAvLyBUaGlzIG1heSBiZSB1bnNldCBpZiB0aGUgcHJvcHMgYXJlIGRldGVybWluZWQgdG8gYmUgZXF1YWwgbGF0ZXIgKG1lbW8pLlxuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5laXRoZXIgcHJvcHMgbm9yIGxlZ2FjeSBjb250ZXh0IGNoYW5nZXMuIENoZWNrIGlmIHRoZXJlJ3MgYSBwZW5kaW5nXG4gICAgICAvLyB1cGRhdGUgb3IgY29udGV4dCBjaGFuZ2UuXG4gICAgICB2YXIgaGFzU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0ID0gY2hlY2tTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQoY3VycmVudCwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBpZiAoIWhhc1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dCAmJiAvLyBJZiB0aGlzIGlzIHRoZSBzZWNvbmQgcGFzcyBvZiBhbiBlcnJvciBvciBzdXNwZW5zZSBib3VuZGFyeSwgdGhlcmVcbiAgICAgIC8vIG1heSBub3QgYmUgd29yayBzY2hlZHVsZWQgb24gYGN1cnJlbnRgLCBzbyB3ZSBjaGVjayBmb3IgdGhpcyBmbGFnLlxuICAgICAgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MpIHtcbiAgICAgICAgLy8gTm8gcGVuZGluZyB1cGRhdGVzIG9yIGNvbnRleHQuIEJhaWwgb3V0IG5vdy5cbiAgICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYXR0ZW1wdEVhcmx5QmFpbG91dElmTm9TY2hlZHVsZWRVcGRhdGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKChjdXJyZW50LmZsYWdzICYgRm9yY2VVcGRhdGVGb3JMZWdhY3lTdXNwZW5zZSkgIT09IE5vRmxhZ3MpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZSB0aGF0IG9ubHkgZXhpc3RzIGZvciBsZWdhY3kgbW9kZS5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzE5MjE2LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9uIHRoaXMgZmliZXIsIGJ1dCB0aGVyZSBhcmUgbm8gbmV3IHByb3BzXG4gICAgICAgIC8vIG5vciBsZWdhY3kgY29udGV4dC4gU2V0IHRoaXMgdG8gZmFsc2UuIElmIGFuIHVwZGF0ZSBxdWV1ZSBvciBjb250ZXh0XG4gICAgICAgIC8vIGNvbnN1bWVyIHByb2R1Y2VzIGEgY2hhbmdlZCB2YWx1ZSwgaXQgd2lsbCBzZXQgdGhpcyB0byB0cnVlLiBPdGhlcndpc2UsXG4gICAgICAgIC8vIHRoZSBjb21wb25lbnQgd2lsbCBhc3N1bWUgdGhlIGNoaWxkcmVuIGhhdmUgbm90IGNoYW5nZWQgYW5kIGJhaWwgb3V0LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpKSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGlzIGNoaWxkIGJlbG9uZ3MgdG8gYSBsaXN0IG9mIG11bGlwbGUgY2hpbGRyZW4gaW5cbiAgICAgIC8vIGl0cyBwYXJlbnQuXG4gICAgICAvL1xuICAgICAgLy8gSW4gYSB0cnVlIG11bHRpLXRocmVhZGVkIGltcGxlbWVudGF0aW9uLCB3ZSB3b3VsZCByZW5kZXIgY2hpbGRyZW4gb25cbiAgICAgIC8vIHBhcmFsbGVsIHRocmVhZHMuIFRoaXMgd291bGQgcmVwcmVzZW50IHRoZSBiZWdpbm5pbmcgb2YgYSBuZXcgcmVuZGVyXG4gICAgICAvLyB0aHJlYWQgZm9yIHRoaXMgc3VidHJlZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBvbmx5IHVzZSB0aGlzIGZvciBpZCBnZW5lcmF0aW9uIGR1cmluZyBoeWRyYXRpb24sIHdoaWNoIGlzIHdoeSB0aGVcbiAgICAgIC8vIGxvZ2ljIGlzIGxvY2F0ZWQgaW4gdGhpcyBzcGVjaWFsIGJyYW5jaC5cbiAgICAgIHZhciBzbG90SW5kZXggPSB3b3JrSW5Qcm9ncmVzcy5pbmRleDtcbiAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gZ2V0Rm9ya3NBdExldmVsKCk7XG4gICAgICBwdXNoVHJlZUlkKHdvcmtJblByb2dyZXNzLCBudW1iZXJPZkZvcmtzLCBzbG90SW5kZXgpO1xuICAgIH1cbiAgfSAvLyBCZWZvcmUgZW50ZXJpbmcgdGhlIGJlZ2luIHBoYXNlLCBjbGVhciBwZW5kaW5nIHVwZGF0ZSBwcmlvcml0eS5cbiAgLy8gVE9ETzogVGhpcyBhc3N1bWVzIHRoYXQgd2UncmUgYWJvdXQgdG8gZXZhbHVhdGUgdGhlIGNvbXBvbmVudCBhbmQgcHJvY2Vzc1xuICAvLyB0aGUgdXBkYXRlIHF1ZXVlLiBIb3dldmVyLCB0aGVyZSdzIGFuIGV4Y2VwdGlvbjogU2ltcGxlTWVtb0NvbXBvbmVudFxuICAvLyBzb21ldGltZXMgYmFpbHMgb3V0IGxhdGVyIGluIHRoZSBiZWdpbiBwaGFzZS4gVGhpcyBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGRcbiAgLy8gbW92ZSB0aGlzIGFzc2lnbm1lbnQgb3V0IG9mIHRoZSBjb21tb24gcGF0aCBhbmQgaW50byBlYWNoIGJyYW5jaC5cblxuXG4gIHdvcmtJblByb2dyZXNzLmxhbmVzID0gTm9MYW5lcztcblxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIG1vdW50SW5kZXRlcm1pbmF0ZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MudHlwZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZTtcbiAgICAgICAgcmV0dXJuIG1vdW50TGF6eUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgdW5yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICAgICAgICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBDb21wb25lbnQgPyB1bnJlc29sdmVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudCwgdW5yZXNvbHZlZFByb3BzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPT09IF9Db21wb25lbnQgPyBfdW5yZXNvbHZlZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50LCBfdW5yZXNvbHZlZFByb3BzKTtcblxuICAgICAgICByZXR1cm4gdXBkYXRlQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9Db21wb25lbnQsIF9yZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAgcmV0dXJuIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHJldHVybiB1cGRhdGVIb3N0VGV4dChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICByZXR1cm4gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICB7XG4gICAgICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMyID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gICAgICAgIHZhciBfcmVzb2x2ZWRQcm9wczIgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSA9PT0gdHlwZSA/IF91bnJlc29sdmVkUHJvcHMyIDogcmVzb2x2ZURlZmF1bHRQcm9wcyh0eXBlLCBfdW5yZXNvbHZlZFByb3BzMik7XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZvcndhcmRSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHR5cGUsIF9yZXNvbHZlZFByb3BzMiwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBGcmFnbWVudDpcbiAgICAgIHJldHVybiB1cGRhdGVGcmFnbWVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBNb2RlOlxuICAgICAgcmV0dXJuIHVwZGF0ZU1vZGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICByZXR1cm4gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgcmV0dXJuIHVwZGF0ZUNvbnRleHRQcm92aWRlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBDb250ZXh0Q29uc3VtZXI6XG4gICAgICByZXR1cm4gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfdHlwZTIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFJlc29sdmUgb3V0ZXIgcHJvcHMgZmlyc3QsIHRoZW4gcmVzb2x2ZSBpbm5lciBwcm9wcy5cblxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIsIF91bnJlc29sdmVkUHJvcHMzKTtcblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAgICAgICB2YXIgb3V0ZXJQcm9wVHlwZXMgPSBfdHlwZTIucHJvcFR5cGVzO1xuXG4gICAgICAgICAgICBpZiAob3V0ZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIF9yZXNvbHZlZFByb3BzMywgLy8gUmVzb2x2ZWQgZm9yIG91dGVyIG9ubHlcbiAgICAgICAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoX3R5cGUyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIudHlwZSwgX3Jlc29sdmVkUHJvcHMzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF90eXBlMiwgX3Jlc29sdmVkUHJvcHMzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy50eXBlLCB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX0NvbXBvbmVudDIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczQgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzNCA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50MiA/IF91bnJlc29sdmVkUHJvcHM0IDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50MiwgX3VucmVzb2x2ZWRQcm9wczQpO1xuXG4gICAgICAgIHJldHVybiBtb3VudEluY29tcGxldGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgX0NvbXBvbmVudDIsIF9yZXNvbHZlZFByb3BzNCwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUxpc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU9mZnNjcmVlbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biB1bml0IG9mIHdvcmsgdGFnIChcIiArIHdvcmtJblByb2dyZXNzLnRhZyArIFwiKS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFwiICsgJ1JlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbn1cblxuZnVuY3Rpb24gbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBUYWcgdGhlIGZpYmVyIHdpdGggYW4gdXBkYXRlIGVmZmVjdC4gVGhpcyB0dXJucyBhIFBsYWNlbWVudCBpbnRvXG4gIC8vIGEgUGxhY2VtZW50QW5kVXBkYXRlLlxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG59XG5cbmZ1bmN0aW9uIG1hcmtSZWYkMSh3b3JrSW5Qcm9ncmVzcykge1xuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWY7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFJlZlN0YXRpYztcbiAgfVxufVxuXG52YXIgYXBwZW5kQWxsQ2hpbGRyZW47XG52YXIgdXBkYXRlSG9zdENvbnRhaW5lcjtcbnZhciB1cGRhdGVIb3N0Q29tcG9uZW50JDE7XG52YXIgdXBkYXRlSG9zdFRleHQkMTtcblxue1xuICAvLyBNdXRhdGlvbiBtb2RlXG4gIGFwcGVuZEFsbENoaWxkcmVuID0gZnVuY3Rpb24gKHBhcmVudCwgd29ya0luUHJvZ3Jlc3MsIG5lZWRzVmlzaWJpbGl0eVRvZ2dsZSwgaXNIaWRkZW4pIHtcbiAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBjcmVhdGVkIGJ1dCB3ZSBuZWVkIHJlY3Vyc2UgZG93biBpdHNcbiAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgbm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgICAgIGFwcGVuZEluaXRpYWxDaGlsZChwYXJlbnQsIG5vZGUuc3RhdGVOb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIDsgZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICAgIH1cbiAgfTtcblxuICB1cGRhdGVIb3N0Q29udGFpbmVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7Ly8gTm9vcFxuICB9O1xuXG4gIHVwZGF0ZUhvc3RDb21wb25lbnQkMSA9IGZ1bmN0aW9uIChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgdHlwZSwgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICAgIC8vIElmIHdlIGhhdmUgYW4gYWx0ZXJuYXRlLCB0aGF0IG1lYW5zIHRoaXMgaXMgYW4gdXBkYXRlIGFuZCB3ZSBuZWVkIHRvXG4gICAgLy8gc2NoZWR1bGUgYSBzaWRlLWVmZmVjdCB0byBkbyB0aGUgdXBkYXRlcy5cbiAgICB2YXIgb2xkUHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzKSB7XG4gICAgICAvLyBJbiBtdXRhdGlvbiBtb2RlLCB0aGlzIGlzIHN1ZmZpY2llbnQgZm9yIGEgYmFpbG91dCBiZWNhdXNlXG4gICAgICAvLyB3ZSB3b24ndCB0b3VjaCB0aGlzIG5vZGUgZXZlbiBpZiBjaGlsZHJlbiBjaGFuZ2VkLlxuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgd2UgZ2V0IHVwZGF0ZWQgYmVjYXVzZSBvbmUgb2Ygb3VyIGNoaWxkcmVuIHVwZGF0ZWQsIHdlIGRvbid0XG4gICAgLy8gaGF2ZSBuZXdQcm9wcyBzbyB3ZSdsbCBoYXZlIHRvIHJldXNlIHRoZW0uXG4gICAgLy8gVE9ETzogU3BsaXQgdGhlIHVwZGF0ZSBBUEkgYXMgc2VwYXJhdGUgZm9yIHRoZSBwcm9wcyB2cy4gY2hpbGRyZW4uXG4gICAgLy8gRXZlbiBiZXR0ZXIgd291bGQgYmUgaWYgY2hpbGRyZW4gd2VyZW4ndCBzcGVjaWFsIGNhc2VkIGF0IGFsbCB0aG8uXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICB2YXIgY3VycmVudEhvc3RDb250ZXh0ID0gZ2V0SG9zdENvbnRleHQoKTsgLy8gVE9ETzogRXhwZXJpZW5jaW5nIGFuIGVycm9yIHdoZXJlIG9sZFByb3BzIGlzIG51bGwuIFN1Z2dlc3RzIGEgaG9zdFxuICAgIC8vIGNvbXBvbmVudCBpcyBoaXR0aW5nIHRoZSByZXN1bWUgcGF0aC4gRmlndXJlIG91dCB3aHkuIFBvc3NpYmx5XG4gICAgLy8gcmVsYXRlZCB0byBgaGlkZGVuYC5cblxuICAgIHZhciB1cGRhdGVQYXlsb2FkID0gcHJlcGFyZVVwZGF0ZShpbnN0YW5jZSwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCk7IC8vIFRPRE86IFR5cGUgdGhpcyBzcGVjaWZpYyB0byB0aGlzIHR5cGUgb2YgY29tcG9uZW50LlxuXG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSB1cGRhdGVQYXlsb2FkOyAvLyBJZiB0aGUgdXBkYXRlIHBheWxvYWQgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSBjaGFuZ2Ugb3IgaWYgdGhlcmVcbiAgICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS4gQWxsIHRoZSB3b3JrIGlzIGRvbmUgaW4gY29tbWl0V29yay5cblxuICAgIGlmICh1cGRhdGVQYXlsb2FkKSB7XG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH07XG5cbiAgdXBkYXRlSG9zdFRleHQkMSA9IGZ1bmN0aW9uIChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgb2xkVGV4dCwgbmV3VGV4dCkge1xuICAgIC8vIElmIHRoZSB0ZXh0IGRpZmZlcnMsIG1hcmsgaXQgYXMgYW4gdXBkYXRlLiBBbGwgdGhlIHdvcmsgaW4gZG9uZSBpbiBjb21taXRXb3JrLlxuICAgIGlmIChvbGRUZXh0ICE9PSBuZXdUZXh0KSB7XG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgaGFzUmVuZGVyZWRBVGFpbEZhbGxiYWNrKSB7XG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgLy8gSWYgd2UncmUgaHlkcmF0aW5nLCB3ZSBzaG91bGQgY29uc3VtZSBhcyBtYW55IGl0ZW1zIGFzIHdlIGNhblxuICAgIC8vIHNvIHdlIGRvbid0IGxlYXZlIGFueSBiZWhpbmQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3dpdGNoIChyZW5kZXJTdGF0ZS50YWlsTW9kZSkge1xuICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgdGFpbE5vZGUgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICB2YXIgbGFzdFRhaWxOb2RlID0gbnVsbDtcblxuICAgICAgICB3aGlsZSAodGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAodGFpbE5vZGUuYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsYXN0VGFpbE5vZGUgPSB0YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWlsTm9kZSA9IHRhaWxOb2RlLnNpYmxpbmc7XG4gICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBzaW1wbHkgZ29pbmcgdG8gZGVsZXRlIGFsbCBpbnNlcnRpb25zIGFmdGVyIHRoZVxuICAgICAgICAvLyBsYXN0IHJlbmRlcmVkIGl0ZW0uXG5cblxuICAgICAgICBpZiAobGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcbiAgICAgICAgICAvLyBpbnNlcnRlZC5cbiAgICAgICAgICBsYXN0VGFpbE5vZGUuc2libGluZyA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2NvbGxhcHNlZCc6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgX3RhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcbiAgICAgICAgdmFyIF9sYXN0VGFpbE5vZGUgPSBudWxsO1xuXG4gICAgICAgIHdoaWxlIChfdGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAoX3RhaWxOb2RlLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX2xhc3RUYWlsTm9kZSA9IF90YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfdGFpbE5vZGUgPSBfdGFpbE5vZGUuc2libGluZztcbiAgICAgICAgfSAvLyBOZXh0IHdlJ3JlIHNpbXBseSBnb2luZyB0byBkZWxldGUgYWxsIGluc2VydGlvbnMgYWZ0ZXIgdGhlXG4gICAgICAgIC8vIGxhc3QgcmVuZGVyZWQgaXRlbS5cblxuXG4gICAgICAgIGlmIChfbGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICBpZiAoIWhhc1JlbmRlcmVkQVRhaWxGYWxsYmFjayAmJiByZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBXZSBzdXNwZW5kZWQgZHVyaW5nIHRoZSBoZWFkLiBXZSB3YW50IHRvIHNob3cgYXQgbGVhc3Qgb25lXG4gICAgICAgICAgICAvLyByb3cgYXQgdGhlIHRhaWwuIFNvIHdlJ2xsIGtlZXAgb24gYW5kIGN1dCBvZmYgdGhlIHJlc3QuXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRGV0YWNoIHRoZSBpbnNlcnRpb24gYWZ0ZXIgdGhlIGxhc3Qgbm9kZSB0aGF0IHdhcyBhbHJlYWR5XG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXG4gICAgICAgICAgX2xhc3RUYWlsTm9kZS5zaWJsaW5nID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGJ1YmJsZVByb3BlcnRpZXMoY29tcGxldGVkV29yaykge1xuICB2YXIgZGlkQmFpbG91dCA9IGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlICE9PSBudWxsICYmIGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlLmNoaWxkID09PSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuICB2YXIgbmV3Q2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gIHZhciBzdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzO1xuXG4gIGlmICghZGlkQmFpbG91dCkge1xuICAgIC8vIEJ1YmJsZSB1cCB0aGUgZWFybGllc3QgZXhwaXJhdGlvbiB0aW1lLlxuICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAvLyBJbiBwcm9maWxpbmcgbW9kZSwgcmVzZXRDaGlsZEV4cGlyYXRpb25UaW1lIGlzIGFsc28gdXNlZCB0byByZXNldFxuICAgICAgLy8gcHJvZmlsZXIgZHVyYXRpb25zLlxuICAgICAgdmFyIGFjdHVhbER1cmF0aW9uID0gY29tcGxldGVkV29yay5hY3R1YWxEdXJhdGlvbjtcbiAgICAgIHZhciB0cmVlQmFzZUR1cmF0aW9uID0gY29tcGxldGVkV29yay5zZWxmQmFzZUR1cmF0aW9uO1xuICAgICAgdmFyIGNoaWxkID0gY29tcGxldGVkV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5ld0NoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5ld0NoaWxkTGFuZXMsIG1lcmdlTGFuZXMoY2hpbGQubGFuZXMsIGNoaWxkLmNoaWxkTGFuZXMpKTtcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IGNoaWxkLnN1YnRyZWVGbGFncztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IGNoaWxkLmZsYWdzOyAvLyBXaGVuIGEgZmliZXIgaXMgY2xvbmVkLCBpdHMgYWN0dWFsRHVyYXRpb24gaXMgcmVzZXQgdG8gMC4gVGhpcyB2YWx1ZSB3aWxsXG4gICAgICAgIC8vIG9ubHkgYmUgdXBkYXRlZCBpZiB3b3JrIGlzIGRvbmUgb24gdGhlIGZpYmVyIChpLmUuIGl0IGRvZXNuJ3QgYmFpbG91dCkuXG4gICAgICAgIC8vIFdoZW4gd29yayBpcyBkb25lLCBpdCBzaG91bGQgYnViYmxlIHRvIHRoZSBwYXJlbnQncyBhY3R1YWxEdXJhdGlvbi4gSWZcbiAgICAgICAgLy8gdGhlIGZpYmVyIGhhcyBub3QgYmVlbiBjbG9uZWQgdGhvdWdoLCAobWVhbmluZyBubyB3b3JrIHdhcyBkb25lKSwgdGhlblxuICAgICAgICAvLyB0aGlzIHZhbHVlIHdpbGwgcmVmbGVjdCB0aGUgYW1vdW50IG9mIHRpbWUgc3BlbnQgd29ya2luZyBvbiBhIHByZXZpb3VzXG4gICAgICAgIC8vIHJlbmRlci4gSW4gdGhhdCBjYXNlIGl0IHNob3VsZCBub3QgYnViYmxlLiBXZSBkZXRlcm1pbmUgd2hldGhlciBpdCB3YXNcbiAgICAgICAgLy8gY2xvbmVkIGJ5IGNvbXBhcmluZyB0aGUgY2hpbGQgcG9pbnRlci5cblxuICAgICAgICBhY3R1YWxEdXJhdGlvbiArPSBjaGlsZC5hY3R1YWxEdXJhdGlvbjtcbiAgICAgICAgdHJlZUJhc2VEdXJhdGlvbiArPSBjaGlsZC50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIGNvbXBsZXRlZFdvcmsudHJlZUJhc2VEdXJhdGlvbiA9IHRyZWVCYXNlRHVyYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5ld0NoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5ld0NoaWxkTGFuZXMsIG1lcmdlTGFuZXMoX2NoaWxkLmxhbmVzLCBfY2hpbGQuY2hpbGRMYW5lcykpO1xuICAgICAgICBzdWJ0cmVlRmxhZ3MgfD0gX2NoaWxkLnN1YnRyZWVGbGFncztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZC5mbGFnczsgLy8gVXBkYXRlIHRoZSByZXR1cm4gcG9pbnRlciBzbyB0aGUgdHJlZSBpcyBjb25zaXN0ZW50LiBUaGlzIGlzIGEgY29kZVxuICAgICAgICAvLyBzbWVsbCBiZWNhdXNlIGl0IGFzc3VtZXMgdGhlIGNvbW1pdCBwaGFzZSBpcyBuZXZlciBjb25jdXJyZW50IHdpdGhcbiAgICAgICAgLy8gdGhlIHJlbmRlciBwaGFzZS4gV2lsbCBhZGRyZXNzIGR1cmluZyByZWZhY3RvciB0byBhbHRlcm5hdGUgbW9kZWwuXG5cbiAgICAgICAgX2NoaWxkLnJldHVybiA9IGNvbXBsZXRlZFdvcms7XG4gICAgICAgIF9jaGlsZCA9IF9jaGlsZC5zaWJsaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBsZXRlZFdvcmsuc3VidHJlZUZsYWdzIHw9IHN1YnRyZWVGbGFncztcbiAgfSBlbHNlIHtcbiAgICAvLyBCdWJibGUgdXAgdGhlIGVhcmxpZXN0IGV4cGlyYXRpb24gdGltZS5cbiAgICBpZiAoIChjb21wbGV0ZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgLy8gSW4gcHJvZmlsaW5nIG1vZGUsIHJlc2V0Q2hpbGRFeHBpcmF0aW9uVGltZSBpcyBhbHNvIHVzZWQgdG8gcmVzZXRcbiAgICAgIC8vIHByb2ZpbGVyIGR1cmF0aW9ucy5cbiAgICAgIHZhciBfdHJlZUJhc2VEdXJhdGlvbiA9IGNvbXBsZXRlZFdvcmsuc2VsZkJhc2VEdXJhdGlvbjtcbiAgICAgIHZhciBfY2hpbGQyID0gY29tcGxldGVkV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKF9jaGlsZDIgIT09IG51bGwpIHtcbiAgICAgICAgbmV3Q2hpbGRMYW5lcyA9IG1lcmdlTGFuZXMobmV3Q2hpbGRMYW5lcywgbWVyZ2VMYW5lcyhfY2hpbGQyLmxhbmVzLCBfY2hpbGQyLmNoaWxkTGFuZXMpKTsgLy8gXCJTdGF0aWNcIiBmbGFncyBzaGFyZSB0aGUgbGlmZXRpbWUgb2YgdGhlIGZpYmVyL2hvb2sgdGhleSBiZWxvbmcgdG8sXG4gICAgICAgIC8vIHNvIHdlIHNob3VsZCBidWJibGUgdGhvc2UgdXAgZXZlbiBkdXJpbmcgYSBiYWlsb3V0LiBBbGwgdGhlIG90aGVyXG4gICAgICAgIC8vIGZsYWdzIGhhdmUgYSBsaWZldGltZSBvbmx5IG9mIGEgc2luZ2xlIHJlbmRlciArIGNvbW1pdCwgc28gd2Ugc2hvdWxkXG4gICAgICAgIC8vIGlnbm9yZSB0aGVtLlxuXG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQyLnN1YnRyZWVGbGFncyAmIFN0YXRpY01hc2s7XG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQyLmZsYWdzICYgU3RhdGljTWFzaztcbiAgICAgICAgX3RyZWVCYXNlRHVyYXRpb24gKz0gX2NoaWxkMi50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICBfY2hpbGQyID0gX2NoaWxkMi5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICBjb21wbGV0ZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24gPSBfdHJlZUJhc2VEdXJhdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIF9jaGlsZDMgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkMyAhPT0gbnVsbCkge1xuICAgICAgICBuZXdDaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhuZXdDaGlsZExhbmVzLCBtZXJnZUxhbmVzKF9jaGlsZDMubGFuZXMsIF9jaGlsZDMuY2hpbGRMYW5lcykpOyAvLyBcIlN0YXRpY1wiIGZsYWdzIHNoYXJlIHRoZSBsaWZldGltZSBvZiB0aGUgZmliZXIvaG9vayB0aGV5IGJlbG9uZyB0byxcbiAgICAgICAgLy8gc28gd2Ugc2hvdWxkIGJ1YmJsZSB0aG9zZSB1cCBldmVuIGR1cmluZyBhIGJhaWxvdXQuIEFsbCB0aGUgb3RoZXJcbiAgICAgICAgLy8gZmxhZ3MgaGF2ZSBhIGxpZmV0aW1lIG9ubHkgb2YgYSBzaW5nbGUgcmVuZGVyICsgY29tbWl0LCBzbyB3ZSBzaG91bGRcbiAgICAgICAgLy8gaWdub3JlIHRoZW0uXG5cbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDMuc3VidHJlZUZsYWdzICYgU3RhdGljTWFzaztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDMuZmxhZ3MgJiBTdGF0aWNNYXNrOyAvLyBVcGRhdGUgdGhlIHJldHVybiBwb2ludGVyIHNvIHRoZSB0cmVlIGlzIGNvbnNpc3RlbnQuIFRoaXMgaXMgYSBjb2RlXG4gICAgICAgIC8vIHNtZWxsIGJlY2F1c2UgaXQgYXNzdW1lcyB0aGUgY29tbWl0IHBoYXNlIGlzIG5ldmVyIGNvbmN1cnJlbnQgd2l0aFxuICAgICAgICAvLyB0aGUgcmVuZGVyIHBoYXNlLiBXaWxsIGFkZHJlc3MgZHVyaW5nIHJlZmFjdG9yIHRvIGFsdGVybmF0ZSBtb2RlbC5cblxuICAgICAgICBfY2hpbGQzLnJldHVybiA9IGNvbXBsZXRlZFdvcms7XG4gICAgICAgIF9jaGlsZDMgPSBfY2hpbGQzLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcGxldGVkV29yay5zdWJ0cmVlRmxhZ3MgfD0gc3VidHJlZUZsYWdzO1xuICB9XG5cbiAgY29tcGxldGVkV29yay5jaGlsZExhbmVzID0gbmV3Q2hpbGRMYW5lcztcbiAgcmV0dXJuIGRpZEJhaWxvdXQ7XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlRGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRTdGF0ZSkge1xuICBpZiAoaGFzVW5oeWRyYXRlZFRhaWxOb2RlcygpICYmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUgJiYgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MpIHtcbiAgICB3YXJuSWZVbmh5ZHJhdGVkVGFpbE5vZGVzKHdvcmtJblByb2dyZXNzKTtcbiAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRm9yY2VDbGllbnRSZW5kZXIgfCBJbmNvbXBsZXRlIHwgU2hvdWxkQ2FwdHVyZTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgaWYgKG5leHRTdGF0ZSAhPT0gbnVsbCAmJiBuZXh0U3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkge1xuICAgIC8vIFdlIG1pZ2h0IGJlIGluc2lkZSBhIGh5ZHJhdGlvbiBzdGF0ZSB0aGUgZmlyc3QgdGltZSB3ZSdyZSBwaWNraW5nIHVwIHRoaXNcbiAgICAvLyBTdXNwZW5zZSBib3VuZGFyeSwgYW5kIGFsc28gYWZ0ZXIgd2UndmUgcmVlbnRlcmVkIGl0IGZvciBmdXJ0aGVyIGh5ZHJhdGlvbi5cbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgaWYgKCF3YXNIeWRyYXRlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0EgZGVoeWRyYXRlZCBzdXNwZW5zZSBjb21wb25lbnQgd2FzIGNvbXBsZXRlZCB3aXRob3V0IGEgaHlkcmF0ZWQgbm9kZS4gJyArICdUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuXG4gICAgICBwcmVwYXJlVG9IeWRyYXRlSG9zdFN1c3BlbnNlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICB2YXIgaXNUaW1lZE91dFN1c3BlbnNlID0gbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgICAgaWYgKGlzVGltZWRPdXRTdXNwZW5zZSkge1xuICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGltZSBzcGVudCBpbiBhIHRpbWVkIG91dCBTdXNwZW5zZSBzdWJ0cmVlIGFzIHBhcnQgb2YgdGhlIGJhc2UgZHVyYXRpb24uXG4gICAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgICAgaWYgKHByaW1hcnlDaGlsZEZyYWdtZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IHN1cHBvcnQgdHlwZSBjYXN0aW5nIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIC09IG9wZXJhdG9yXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSBtaWdodCBoYXZlIHJlZW50ZXJlZCB0aGlzIGJvdW5kYXJ5IHRvIGh5ZHJhdGUgaXQuIElmIHNvLCB3ZSBuZWVkIHRvIHJlc2V0IHRoZSBoeWRyYXRpb25cbiAgICAgIC8vIHN0YXRlIHNpbmNlIHdlJ3JlIG5vdyBleGl0aW5nIG91dCBvZiBpdC4gcG9wSHlkcmF0aW9uU3RhdGUgZG9lc24ndCBkbyB0aGF0IGZvciB1cy5cbiAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcblxuICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzKSB7XG4gICAgICAgIC8vIFRoaXMgYm91bmRhcnkgZGlkIG5vdCBzdXNwZW5kIHNvIGl0J3Mgbm93IGh5ZHJhdGVkIGFuZCB1bnN1c3BlbmRlZC5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgICB9IC8vIElmIG5vdGhpbmcgc3VzcGVuZGVkLCB3ZSBuZWVkIHRvIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBtYXJrIHRoaXMgYm91bmRhcnlcbiAgICAgIC8vIGFzIGhhdmluZyBoeWRyYXRlZCBzbyBldmVudHMga25vdyB0aGF0IHRoZXkncmUgZnJlZSB0byBiZSBpbnZva2VkLlxuICAgICAgLy8gSXQncyBhbHNvIGEgc2lnbmFsIHRvIHJlcGxheSBldmVudHMgYW5kIHRoZSBzdXNwZW5zZSBjYWxsYmFjay5cbiAgICAgIC8vIElmIHNvbWV0aGluZyBzdXNwZW5kZWQsIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBhdHRhY2ggcmV0cnkgbGlzdGVuZXJzLlxuICAgICAgLy8gU28gd2UgbWlnaHQgYXMgd2VsbCBhbHdheXMgbWFyayB0aGlzLlxuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICB7XG4gICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgdmFyIF9pc1RpbWVkT3V0U3VzcGVuc2UgPSBuZXh0U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAoX2lzVGltZWRPdXRTdXNwZW5zZSkge1xuICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGltZSBzcGVudCBpbiBhIHRpbWVkIG91dCBTdXNwZW5zZSBzdWJ0cmVlIGFzIHBhcnQgb2YgdGhlIGJhc2UgZHVyYXRpb24uXG4gICAgICAgICAgICB2YXIgX3ByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgICAgIGlmIChfcHJpbWFyeUNoaWxkRnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gJEZsb3dGaXhNZSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCB0eXBlIGNhc3RpbmcgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgLT0gb3BlcmF0b3JcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiAtPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBTdWNjZXNzZnVsbHkgY29tcGxldGVkIHRoaXMgdHJlZS4gSWYgdGhpcyB3YXMgYSBmb3JjZWQgY2xpZW50IHJlbmRlcixcbiAgICAvLyB0aGVyZSBtYXkgaGF2ZSBiZWVuIHJlY292ZXJhYmxlIGVycm9ycyBkdXJpbmcgZmlyc3QgaHlkcmF0aW9uXG4gICAgLy8gYXR0ZW1wdC4gSWYgc28sIGFkZCB0aGVtIHRvIGEgcXVldWUgc28gd2UgY2FuIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cbiAgICB1cGdyYWRlSHlkcmF0aW9uRXJyb3JzVG9SZWNvdmVyYWJsZSgpOyAvLyBGYWxsIHRocm91Z2ggdG8gbm9ybWFsIFN1c3BlbnNlIHBhdGhcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzOyAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cblxuICBwb3BUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIEZyYWdtZW50OlxuICAgIGNhc2UgTW9kZTpcbiAgICBjYXNlIFByb2ZpbGVyOlxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgIHBvcENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIGZpYmVyUm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJlc2V0V29ya0luUHJvZ3Jlc3NWZXJzaW9ucygpO1xuXG4gICAgICAgIGlmIChmaWJlclJvb3QucGVuZGluZ0NvbnRleHQpIHtcbiAgICAgICAgICBmaWJlclJvb3QuY29udGV4dCA9IGZpYmVyUm9vdC5wZW5kaW5nQ29udGV4dDtcbiAgICAgICAgICBmaWJlclJvb3QucGVuZGluZ0NvbnRleHQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5jaGlsZCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCBwb3Agc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGFueSByZW1haW5pbmcgY2hpbGRyZW5cbiAgICAgICAgICAvLyB0aGF0IHdlcmVuJ3QgaHlkcmF0ZWQuXG4gICAgICAgICAgdmFyIHdhc0h5ZHJhdGVkID0gcG9wSHlkcmF0aW9uU3RhdGUod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgaWYgKHdhc0h5ZHJhdGVkKSB7XG4gICAgICAgICAgICAvLyBJZiB3ZSBoeWRyYXRlZCwgdGhlbiB3ZSdsbCBuZWVkIHRvIHNjaGVkdWxlIGFuIHVwZGF0ZSBmb3JcbiAgICAgICAgICAgIC8vIHRoZSBjb21taXQgc2lkZS1lZmZlY3RzIG9uIHRoZSByb290LlxuICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgICAgICAgaWYgKCAvLyBDaGVjayBpZiB0aGlzIGlzIGEgY2xpZW50IHJvb3RcbiAgICAgICAgICAgICAgIXByZXZTdGF0ZS5pc0RlaHlkcmF0ZWQgfHwgLy8gQ2hlY2sgaWYgd2UgcmV2ZXJ0ZWQgdG8gY2xpZW50IHJlbmRlcmluZyAoZS5nLiBkdWUgdG8gYW4gZXJyb3IpXG4gICAgICAgICAgICAgICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICAgIC8vIFNjaGVkdWxlIGFuIGVmZmVjdCB0byBjbGVhciB0aGlzIGNvbnRhaW5lciBhdCB0aGUgc3RhcnQgb2YgdGhlXG4gICAgICAgICAgICAgICAgLy8gbmV4dCBjb21taXQuIFRoaXMgaGFuZGxlcyB0aGUgY2FzZSBvZiBSZWFjdCByZW5kZXJpbmcgaW50byBhXG4gICAgICAgICAgICAgICAgLy8gY29udGFpbmVyIHdpdGggcHJldmlvdXMgY2hpbGRyZW4uIEl0J3MgYWxzbyBzYWZlIHRvIGRvIGZvclxuICAgICAgICAgICAgICAgIC8vIHVwZGF0ZXMgdG9vLCBiZWNhdXNlIGN1cnJlbnQuY2hpbGQgd291bGQgb25seSBiZSBudWxsIGlmIHRoZVxuICAgICAgICAgICAgICAgIC8vIHByZXZpb3VzIHJlbmRlciB3YXMgbnVsbCAoc28gdGhlIGNvbnRhaW5lciB3b3VsZCBhbHJlYWR5XG4gICAgICAgICAgICAgICAgLy8gYmUgZW1wdHkpLlxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNuYXBzaG90OyAvLyBJZiB0aGlzIHdhcyBhIGZvcmNlZCBjbGllbnQgcmVuZGVyLCB0aGVyZSBtYXkgaGF2ZSBiZWVuXG4gICAgICAgICAgICAgICAgLy8gcmVjb3ZlcmFibGUgZXJyb3JzIGR1cmluZyBmaXJzdCBoeWRyYXRpb24gYXR0ZW1wdC4gSWYgc28sIGFkZFxuICAgICAgICAgICAgICAgIC8vIHRoZW0gdG8gYSBxdWV1ZSBzbyB3ZSBjYW4gbG9nIHRoZW0gaW4gdGhlIGNvbW1pdCBwaGFzZS5cblxuICAgICAgICAgICAgICAgIHVwZ3JhZGVIeWRyYXRpb25FcnJvcnNUb1JlY292ZXJhYmxlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgdmFyIHJvb3RDb250YWluZXJJbnN0YW5jZSA9IGdldFJvb3RIb3N0Q29udGFpbmVyKCk7XG4gICAgICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHVwZGF0ZUhvc3RDb21wb25lbnQkMShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgdHlwZSwgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSk7XG5cbiAgICAgICAgICBpZiAoY3VycmVudC5yZWYgIT09IHdvcmtJblByb2dyZXNzLnJlZikge1xuICAgICAgICAgICAgbWFya1JlZiQxKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFuZXdQcm9wcykge1xuICAgICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dlIG11c3QgaGF2ZSBuZXcgcHJvcHMgZm9yIG5ldyBtb3VudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5ICcgKyAnY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgYWJvcnQgd29yay5cblxuXG4gICAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBjdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpOyAvLyBUT0RPOiBNb3ZlIGNyZWF0ZUluc3RhbmNlIHRvIGJlZ2luV29yayBhbmQga2VlcCBpdCBvbiBhIGNvbnRleHRcbiAgICAgICAgICAvLyBcInN0YWNrXCIgYXMgdGhlIHBhcmVudC4gVGhlbiBhcHBlbmQgY2hpbGRyZW4gYXMgd2UgZ28gaW4gYmVnaW5Xb3JrXG4gICAgICAgICAgLy8gb3IgY29tcGxldGVXb3JrIGRlcGVuZGluZyBvbiB3aGV0aGVyIHdlIHdhbnQgdG8gYWRkIHRoZW0gdG9wLT5kb3duIG9yXG4gICAgICAgICAgLy8gYm90dG9tLT51cC4gVG9wLT5kb3duIGlzIGZhc3RlciBpbiBJRTExLlxuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZCA9IHBvcEh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgICAgIGlmIChfd2FzSHlkcmF0ZWQpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBhbmQgY3JlYXRlSW5zdGFuY2Ugc3RlcCBpbnRvIHRoZSBiZWdpblBoYXNlXG4gICAgICAgICAgICAvLyB0byBjb25zb2xpZGF0ZS5cbiAgICAgICAgICAgIGlmIChwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKHdvcmtJblByb2dyZXNzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCkpIHtcbiAgICAgICAgICAgICAgLy8gSWYgY2hhbmdlcyB0byB0aGUgaHlkcmF0ZWQgbm9kZSBuZWVkIHRvIGJlIGFwcGxpZWQgYXQgdGhlXG4gICAgICAgICAgICAgIC8vIGNvbW1pdC1waGFzZSB3ZSBtYXJrIHRoaXMgYXMgc3VjaC5cbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgYXBwZW5kQWxsQ2hpbGRyZW4oaW5zdGFuY2UsIHdvcmtJblByb2dyZXNzLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gaW5zdGFuY2U7IC8vIENlcnRhaW4gcmVuZGVyZXJzIHJlcXVpcmUgY29tbWl0LXRpbWUgZWZmZWN0cyBmb3IgaW5pdGlhbCBtb3VudC5cbiAgICAgICAgICAgIC8vIChlZyBET00gcmVuZGVyZXIgc3VwcG9ydHMgYXV0by1mb2N1cyBmb3IgY2VydGFpbiBlbGVtZW50cykuXG4gICAgICAgICAgICAvLyBNYWtlIHN1cmUgc3VjaCByZW5kZXJlcnMgZ2V0IHNjaGVkdWxlZCBmb3IgbGF0ZXIgd29yay5cblxuICAgICAgICAgICAgaWYgKGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGluc3RhbmNlLCB0eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKSkge1xuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MucmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHJlZiBvbiBhIGhvc3Qgbm9kZSB3ZSBuZWVkIHRvIHNjaGVkdWxlIGEgY2FsbGJhY2tcbiAgICAgICAgICAgIG1hcmtSZWYkMSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIG5ld1RleHQgPSBuZXdQcm9wcztcblxuICAgICAgICBpZiAoY3VycmVudCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudC5tZW1vaXplZFByb3BzOyAvLyBJZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSwgdGhhdCBtZWFucyB0aGlzIGlzIGFuIHVwZGF0ZSBhbmQgd2UgbmVlZFxuICAgICAgICAgIC8vIHRvIHNjaGVkdWxlIGEgc2lkZS1lZmZlY3QgdG8gZG8gdGhlIHVwZGF0ZXMuXG5cbiAgICAgICAgICB1cGRhdGVIb3N0VGV4dCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBvbGRUZXh0LCBuZXdUZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5ld1RleHQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignV2UgbXVzdCBoYXZlIG5ldyBwcm9wcyBmb3IgbmV3IG1vdW50cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgJyArICdjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgICAgfSAvLyBUaGlzIGNhbiBoYXBwZW4gd2hlbiB3ZSBhYm9ydCB3b3JrLlxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9yb290Q29udGFpbmVySW5zdGFuY2UgPSBnZXRSb290SG9zdENvbnRhaW5lcigpO1xuXG4gICAgICAgICAgdmFyIF9jdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpO1xuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZDIgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgICBpZiAoX3dhc0h5ZHJhdGVkMikge1xuICAgICAgICAgICAgaWYgKHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3JlYXRlVGV4dEluc3RhbmNlKG5ld1RleHQsIF9yb290Q29udGFpbmVySW5zdGFuY2UsIF9jdXJyZW50SG9zdENvbnRleHQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTsgLy8gU3BlY2lhbCBwYXRoIGZvciBkZWh5ZHJhdGVkIGJvdW5kYXJpZXMuIFdlIG1heSBldmVudHVhbGx5IG1vdmUgdGhpc1xuICAgICAgICAvLyB0byBpdHMgb3duIGZpYmVyIHR5cGUgc28gdGhhdCB3ZSBjYW4gYWRkIG90aGVyIGtpbmRzIG9mIGh5ZHJhdGlvblxuICAgICAgICAvLyBib3VuZGFyaWVzIHRoYXQgYXJlbid0IGFzc29jaWF0ZWQgd2l0aCBhIFN1c3BlbnNlIHRyZWUuIEluIGFudGljaXBhdGlvblxuICAgICAgICAvLyBvZiBzdWNoIGEgcmVmYWN0b3IsIGFsbCB0aGUgaHlkcmF0aW9uIGxvZ2ljIGlzIGNvbnRhaW5lZCBpblxuICAgICAgICAvLyB0aGlzIGJyYW5jaC5cblxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgZmFsbHRocm91Z2hUb05vcm1hbFN1c3BlbnNlUGF0aCA9IGNvbXBsZXRlRGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRTdGF0ZSk7XG5cbiAgICAgICAgICBpZiAoIWZhbGx0aHJvdWdoVG9Ob3JtYWxTdXNwZW5zZVBhdGgpIHtcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIFNob3VsZENhcHR1cmUpIHtcbiAgICAgICAgICAgICAgLy8gU3BlY2lhbCBjYXNlLiBUaGVyZSB3ZXJlIHJlbWFpbmluZyB1bmh5ZHJhdGVkIG5vZGVzLiBXZSB0cmVhdFxuICAgICAgICAgICAgICAvLyB0aGlzIGFzIGEgbWlzbWF0Y2guIFJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLlxuICAgICAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBEaWQgbm90IGZpbmlzaCBoeWRyYXRpbmcsIGVpdGhlciBiZWNhdXNlIHRoaXMgaXMgdGhlIGluaXRpYWxcbiAgICAgICAgICAgICAgLy8gcmVuZGVyIG9yIGJlY2F1c2Ugc29tZXRoaW5nIHN1c3BlbmRlZC5cbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBDb250aW51ZSB3aXRoIHRoZSBub3JtYWwgU3VzcGVuc2UgcGF0aC5cblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgLy8gU29tZXRoaW5nIHN1c3BlbmRlZC4gUmUtcmVuZGVyIHdpdGggdGhlIGZhbGxiYWNrIGNoaWxkcmVuLlxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gcmVuZGVyTGFuZXM7IC8vIERvIG5vdCByZXNldCB0aGUgZWZmZWN0IGxpc3QuXG5cbiAgICAgICAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAgIHRyYW5zZmVyQWN0dWFsRHVyYXRpb24od29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgIH0gLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgaW4gdGhpcyBjYXNlLlxuXG5cbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbmV4dERpZFRpbWVvdXQgPSBuZXh0U3RhdGUgIT09IG51bGw7XG4gICAgICAgIHZhciBwcmV2RGlkVGltZW91dCA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuICAgICAgICAvLyBhIHBhc3NpdmUgZWZmZWN0LCB3aGljaCBpcyB3aGVuIHdlIHByb2Nlc3MgdGhlIHRyYW5zaXRpb25zXG5cblxuICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQgIT09IHByZXZEaWRUaW1lb3V0KSB7XG4gICAgICAgICAgLy8gYW4gZWZmZWN0IHRvIHRvZ2dsZSB0aGUgc3VidHJlZSdzIHZpc2liaWxpdHkuIFdoZW4gd2Ugc3dpdGNoIGZyb21cbiAgICAgICAgICAvLyBmYWxsYmFjayAtPiBwcmltYXJ5LCB0aGUgaW5uZXIgT2Zmc2NyZWVuIGZpYmVyIHNjaGVkdWxlcyB0aGlzIGVmZmVjdFxuICAgICAgICAgIC8vIGFzIHBhcnQgb2YgaXRzIG5vcm1hbCBjb21wbGV0ZSBwaGFzZS4gQnV0IHdoZW4gd2Ugc3dpdGNoIGZyb21cbiAgICAgICAgICAvLyBwcmltYXJ5IC0+IGZhbGxiYWNrLCB0aGUgaW5uZXIgT2Zmc2NyZWVuIGZpYmVyIGRvZXMgbm90IGhhdmUgYSBjb21wbGV0ZVxuICAgICAgICAgIC8vIHBoYXNlLiBTbyB3ZSBuZWVkIHRvIHNjaGVkdWxlIGl0cyBlZmZlY3QgaGVyZS5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFdlIGFsc28gdXNlIHRoaXMgZmxhZyB0byBjb25uZWN0L2Rpc2Nvbm5lY3QgdGhlIGVmZmVjdHMsIGJ1dCB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxvZ2ljIGFwcGxpZXM6IHdoZW4gcmUtY29ubmVjdGluZywgdGhlIE9mZnNjcmVlbiBmaWJlcidzIGNvbXBsZXRlXG4gICAgICAgICAgLy8gcGhhc2Ugd2lsbCBoYW5kbGUgc2NoZWR1bGluZyB0aGUgZWZmZWN0LiBJdCdzIG9ubHkgd2hlbiB0aGUgZmFsbGJhY2tcbiAgICAgICAgICAvLyBpcyBhY3RpdmUgdGhhdCB3ZSBoYXZlIHRvIGRvIGFueXRoaW5nIHNwZWNpYWwuXG5cblxuICAgICAgICAgIGlmIChuZXh0RGlkVGltZW91dCkge1xuICAgICAgICAgICAgdmFyIF9vZmZzY3JlZW5GaWJlcjIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIF9vZmZzY3JlZW5GaWJlcjIuZmxhZ3MgfD0gVmlzaWJpbGl0eTsgLy8gVE9ETzogVGhpcyB3aWxsIHN0aWxsIHN1c3BlbmQgYSBzeW5jaHJvbm91cyB0cmVlIGlmIGFueXRoaW5nXG4gICAgICAgICAgICAvLyBpbiB0aGUgY29uY3VycmVudCB0cmVlIGFscmVhZHkgc3VzcGVuZGVkIGR1cmluZyB0aGlzIHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBrbm93biBidWcuXG5cbiAgICAgICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBiYWNrIHRvIHRocm93RXhjZXB0aW9uIGJlY2F1c2UgdGhpcyBpcyB0b28gbGF0ZVxuICAgICAgICAgICAgICAvLyBpZiB0aGlzIGlzIGEgbGFyZ2UgdHJlZSB3aGljaCBpcyBjb21tb24gZm9yIGluaXRpYWwgbG9hZHMuIFdlXG4gICAgICAgICAgICAgIC8vIGRvbid0IGtub3cgaWYgd2Ugc2hvdWxkIHJlc3RhcnQgYSByZW5kZXIgb3Igbm90IHVudGlsIHdlIGdldFxuICAgICAgICAgICAgICAvLyB0aGlzIG1hcmtlciwgYW5kIHRoaXMgaXMgdG9vIGxhdGUuXG4gICAgICAgICAgICAgIC8vIElmIHRoaXMgcmVuZGVyIGFscmVhZHkgaGFkIGEgcGluZyBvciBsb3dlciBwcmkgdXBkYXRlcyxcbiAgICAgICAgICAgICAgLy8gYW5kIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgd2Uga25vdyB3ZSdyZSBnb2luZyB0byBzdXNwZW5kIHdlXG4gICAgICAgICAgICAgIC8vIHNob3VsZCBiZSBhYmxlIHRvIGltbWVkaWF0ZWx5IHJlc3RhcnQgZnJvbSB3aXRoaW4gdGhyb3dFeGNlcHRpb24uXG4gICAgICAgICAgICAgIHZhciBoYXNJbnZpc2libGVDaGlsZENvbnRleHQgPSBjdXJyZW50ID09PSBudWxsICYmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrICE9PSB0cnVlIHx8ICFlbmFibGVTdXNwZW5zZUF2b2lkVGhpc0ZhbGxiYWNrKTtcblxuICAgICAgICAgICAgICBpZiAoaGFzSW52aXNpYmxlQ2hpbGRDb250ZXh0IHx8IGhhc1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQsIEludmlzaWJsZVBhcmVudFN1c3BlbnNlQ29udGV4dCkpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBpbiBhbiBpbnZpc2libGUgdHJlZSBvciBhIG5ldyByZW5kZXIsIHRoZW4gc2hvd2luZ1xuICAgICAgICAgICAgICAgIC8vIHRoaXMgYm91bmRhcnkgaXMgb2suXG4gICAgICAgICAgICAgICAgcmVuZGVyRGlkU3VzcGVuZCgpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgd2UncmUgZ29pbmcgdG8gaGF2ZSB0byBoaWRlIGNvbnRlbnQgc28gd2Ugc2hvdWxkXG4gICAgICAgICAgICAgICAgLy8gc3VzcGVuZCBmb3IgbG9uZ2VyIGlmIHBvc3NpYmxlLlxuICAgICAgICAgICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB3YWtlYWJsZXMgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcblxuICAgICAgICBpZiAod2FrZWFibGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gU2NoZWR1bGUgYW4gZWZmZWN0IHRvIGF0dGFjaCBhIHJldHJ5IGxpc3RlbmVyIHRvIHRoZSBwcm9taXNlLlxuICAgICAgICAgIC8vIFRPRE86IE1vdmUgdG8gcGFzc2l2ZSBwaGFzZVxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgICAgaWYgKG5leHREaWRUaW1lb3V0KSB7XG4gICAgICAgICAgICAgIC8vIERvbid0IGNvdW50IHRpbWUgc3BlbnQgaW4gYSB0aW1lZCBvdXQgU3VzcGVuc2Ugc3VidHJlZSBhcyBwYXJ0IG9mIHRoZSBiYXNlIGR1cmF0aW9uLlxuICAgICAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgICAgICBpZiAocHJpbWFyeUNoaWxkRnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyAkRmxvd0ZpeE1lIEZsb3cgZG9lc24ndCBzdXBwb3J0IHR5cGUgY2FzdGluZyBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSAtPSBvcGVyYXRvclxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgcHJlcGFyZVBvcnRhbE1vdW50KHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTtcbiAgICAgIH1cblxuICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgLy8gUG9wIHByb3ZpZGVyIGZpYmVyXG4gICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICBwb3BQcm92aWRlcihjb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIFNhbWUgYXMgY2xhc3MgY29tcG9uZW50IGNhc2UuIEkgcHV0IGl0IGRvd24gaGVyZSBzbyB0aGF0IHRoZSB0YWdzIGFyZVxuICAgICAgICAvLyBzZXF1ZW50aWFsIHRvIGVuc3VyZSB0aGlzIHN3aXRjaCBpcyBjb21waWxlZCB0byBhIGp1bXAgdGFibGUuXG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoX0NvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgcmVuZGVyU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgaW4gdGhlIGRlZmF1bHQsIFwiaW5kZXBlbmRlbnRcIiBtb2RlLlxuICAgICAgICAgIC8vIFdlIGRvbid0IGRvIGFueXRoaW5nIGluIHRoaXMgbW9kZS5cbiAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkaWRTdXNwZW5kQWxyZWFkeSA9ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzO1xuICAgICAgICB2YXIgcmVuZGVyZWRUYWlsID0gcmVuZGVyU3RhdGUucmVuZGVyaW5nO1xuXG4gICAgICAgIGlmIChyZW5kZXJlZFRhaWwgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSBqdXN0IHJlbmRlcmVkIHRoZSBoZWFkLlxuICAgICAgICAgIGlmICghZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHBhc3MuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiBhbnl0aGluZyBpcyBzdGlsbFxuICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGluIHRoZSByZW5kZXJlZCBzZXQuXG4gICAgICAgICAgICAvLyBJZiBuZXcgY29udGVudCB1bnN1c3BlbmRlZCwgYnV0IHRoZXJlJ3Mgc3RpbGwgc29tZSBjb250ZW50IHRoYXRcbiAgICAgICAgICAgIC8vIGRpZG4ndC4gVGhlbiB3ZSBuZWVkIHRvIGRvIGEgc2Vjb25kIHBhc3MgdGhhdCBmb3JjZXMgZXZlcnl0aGluZ1xuICAgICAgICAgICAgLy8gdG8ga2VlcCBzaG93aW5nIHRoZWlyIGZhbGxiYWNrcy5cbiAgICAgICAgICAgIC8vIFdlIG1pZ2h0IGJlIHN1c3BlbmRlZCBpZiBzb21ldGhpbmcgaW4gdGhpcyByZW5kZXIgcGFzcyBzdXNwZW5kZWQsIG9yXG4gICAgICAgICAgICAvLyBzb21ldGhpbmcgaW4gdGhlIHByZXZpb3VzIGNvbW1pdHRlZCBwYXNzIHN1c3BlbmRlZC4gT3RoZXJ3aXNlLFxuICAgICAgICAgICAgLy8gdGhlcmUncyBubyBjaGFuY2Ugc28gd2UgY2FuIHNraXAgdGhlIGV4cGVuc2l2ZSBjYWxsIHRvXG4gICAgICAgICAgICAvLyBmaW5kRmlyc3RTdXNwZW5kZWQuXG4gICAgICAgICAgICB2YXIgY2Fubm90QmVTdXNwZW5kZWQgPSByZW5kZXJIYXNOb3RTdXNwZW5kZWRZZXQoKSAmJiAoY3VycmVudCA9PT0gbnVsbCB8fCAoY3VycmVudC5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzKTtcblxuICAgICAgICAgICAgaWYgKCFjYW5ub3RCZVN1c3BlbmRlZCkge1xuICAgICAgICAgICAgICB2YXIgcm93ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgICAgICAgd2hpbGUgKHJvdyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZhciBzdXNwZW5kZWQgPSBmaW5kRmlyc3RTdXNwZW5kZWQocm93KTtcblxuICAgICAgICAgICAgICAgIGlmIChzdXNwZW5kZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gSWYgdGhpcyBpcyBhIG5ld2x5IHN1c3BlbmRlZCB0cmVlLCBpdCBtaWdodCBub3QgZ2V0IGNvbW1pdHRlZCBhc1xuICAgICAgICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgc2Vjb25kIHBhc3MuIEluIHRoYXQgY2FzZSBub3RoaW5nIHdpbGwgc3Vic2NyaWJlIHRvXG4gICAgICAgICAgICAgICAgICAvLyBpdHMgdGhlbmFibGVzLiBJbnN0ZWFkLCB3ZSdsbCB0cmFuc2ZlciBpdHMgdGhlbmFibGVzIHRvIHRoZVxuICAgICAgICAgICAgICAgICAgLy8gU3VzcGVuc2VMaXN0IHNvIHRoYXQgaXQgY2FuIHJldHJ5IGlmIHRoZXkgcmVzb2x2ZS5cbiAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIG9mIHRoZXNlIGluIHRoZSBsaXN0IGJ1dCBzaW5jZSB3ZSdyZVxuICAgICAgICAgICAgICAgICAgLy8gZ29pbmcgdG8gd2FpdCBmb3IgYWxsIG9mIHRoZW0gYW55d2F5LCBpdCBkb2Vzbid0IHJlYWxseSBtYXR0ZXJcbiAgICAgICAgICAgICAgICAgIC8vIHdoaWNoIG9uZXMgZ2V0cyB0byBwaW5nLiBJbiB0aGVvcnkgd2UgY291bGQgZ2V0IGNsZXZlciBhbmQga2VlcFxuICAgICAgICAgICAgICAgICAgLy8gdHJhY2sgb2YgaG93IG1hbnkgZGVwZW5kZW5jaWVzIHJlbWFpbiBidXQgaXQgZ2V0cyB0cmlja3kgYmVjYXVzZVxuICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIG1lYW50aW1lLCB3ZSBjYW4gYWRkL3JlbW92ZS9jaGFuZ2UgaXRlbXMgYW5kIGRlcGVuZGVuY2llcy5cbiAgICAgICAgICAgICAgICAgIC8vIFdlIG1pZ2h0IGJhaWwgb3V0IG9mIHRoZSBsb29wIGJlZm9yZSBmaW5kaW5nIGFueSBidXQgdGhhdFxuICAgICAgICAgICAgICAgICAgLy8gZG9lc24ndCBtYXR0ZXIgc2luY2UgdGhhdCBtZWFucyB0aGF0IHRoZSBvdGhlciBib3VuZGFyaWVzIHRoYXRcbiAgICAgICAgICAgICAgICAgIC8vIHdlIGRpZCBmaW5kIGFscmVhZHkgaGFzIHRoZWlyIGxpc3RlbmVycyBhdHRhY2hlZC5cblxuICAgICAgICAgICAgICAgICAgdmFyIG5ld1RoZW5hYmxlcyA9IHN1c3BlbmRlZC51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgICAgICAgaWYgKG5ld1RoZW5hYmxlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG5ld1RoZW5hYmxlcztcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgICAgICAgICAgICAgfSAvLyBSZXJlbmRlciB0aGUgd2hvbGUgbGlzdCwgYnV0IHRoaXMgdGltZSwgd2UnbGwgZm9yY2UgZmFsbGJhY2tzXG4gICAgICAgICAgICAgICAgICAvLyB0byBzdGF5IGluIHBsYWNlLlxuICAgICAgICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGVmZmVjdCBmbGFncyBiZWZvcmUgZG9pbmcgdGhlIHNlY29uZCBwYXNzIHNpbmNlIHRoYXQncyBub3cgaW52YWxpZC5cbiAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBjaGlsZCBmaWJlcnMgdG8gdGhlaXIgb3JpZ2luYWwgc3RhdGUuXG5cblxuICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICAgICAgICAgICAgICAgIHJlc2V0Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTsgLy8gU2V0IHVwIHRoZSBTdXNwZW5zZSBDb250ZXh0IHRvIGZvcmNlIHN1c3BlbnNlIGFuZCBpbW1lZGlhdGVseVxuICAgICAgICAgICAgICAgICAgLy8gcmVyZW5kZXIgdGhlIGNoaWxkcmVuLlxuXG4gICAgICAgICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKSk7IC8vIERvbid0IGJ1YmJsZSBwcm9wZXJ0aWVzIGluIHRoaXMgY2FzZS5cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsICYmIG5vdygpID4gZ2V0UmVuZGVyVGFyZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICAgIC8vIFdlIGhhdmUgYWxyZWFkeSBwYXNzZWQgb3VyIENQVSBkZWFkbGluZSBidXQgd2Ugc3RpbGwgaGF2ZSByb3dzXG4gICAgICAgICAgICAgIC8vIGxlZnQgaW4gdGhlIHRhaWwuIFdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyIGF0dGVtcHRzIHRvIHJlbmRlclxuICAgICAgICAgICAgICAvLyB0aGUgbWFpbiBjb250ZW50IGFuZCBvbmx5IHJlbmRlciBmYWxsYmFja3MuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBmYWxzZSk7IC8vIFNpbmNlIG5vdGhpbmcgYWN0dWFsbHkgc3VzcGVuZGVkLCB0aGVyZSB3aWxsIG5vdGhpbmcgdG8gcGluZyB0aGlzXG4gICAgICAgICAgICAgIC8vIHRvIGdldCBpdCBzdGFydGVkIGJhY2sgdXAgdG8gYXR0ZW1wdCB0aGUgbmV4dCBpdGVtLiBXaGlsZSBpbiB0ZXJtc1xuICAgICAgICAgICAgICAvLyBvZiBwcmlvcml0eSB0aGlzIHdvcmsgaGFzIHRoZSBzYW1lIHByaW9yaXR5IGFzIHRoaXMgY3VycmVudCByZW5kZXIsXG4gICAgICAgICAgICAgIC8vIGl0J3Mgbm90IHBhcnQgb2YgdGhlIHNhbWUgdHJhbnNpdGlvbiBvbmNlIHRoZSB0cmFuc2l0aW9uIGhhc1xuICAgICAgICAgICAgICAvLyBjb21taXR0ZWQuIElmIGl0J3Mgc3luYywgd2Ugc3RpbGwgd2FudCB0byB5aWVsZCBzbyB0aGF0IGl0IGNhbiBiZVxuICAgICAgICAgICAgICAvLyBwYWludGVkLiBDb25jZXB0dWFsbHksIHRoaXMgaXMgcmVhbGx5IHRoZSBzYW1lIGFzIHBpbmdpbmcuXG4gICAgICAgICAgICAgIC8vIFdlIGNhbiB1c2UgYW55IFJldHJ5TGFuZSBldmVuIGlmIGl0J3MgdGhlIG9uZSBjdXJyZW50bHkgcmVuZGVyaW5nXG4gICAgICAgICAgICAgIC8vIHNpbmNlIHdlJ3JlIGxlYXZpbmcgaXQgYmVoaW5kIG9uIHRoaXMgbm9kZS5cblxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IFNvbWVSZXRyeUxhbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgZmFsc2UpO1xuICAgICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBnb2luZyB0byByZW5kZXIgdGhlIHRhaWwuXG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBcHBlbmQgdGhlIHJlbmRlcmVkIHJvdyB0byB0aGUgY2hpbGQgbGlzdC5cbiAgICAgICAgICBpZiAoIWRpZFN1c3BlbmRBbHJlYWR5KSB7XG4gICAgICAgICAgICB2YXIgX3N1c3BlbmRlZCA9IGZpbmRGaXJzdFN1c3BlbmRlZChyZW5kZXJlZFRhaWwpO1xuXG4gICAgICAgICAgICBpZiAoX3N1c3BlbmRlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgICAgICBkaWRTdXNwZW5kQWxyZWFkeSA9IHRydWU7IC8vIEVuc3VyZSB3ZSB0cmFuc2ZlciB0aGUgdXBkYXRlIHF1ZXVlIHRvIHRoZSBwYXJlbnQgc28gdGhhdCBpdCBkb2Vzbid0XG4gICAgICAgICAgICAgIC8vIGdldCBsb3N0IGlmIHRoaXMgcm93IGVuZHMgdXAgZHJvcHBlZCBkdXJpbmcgYSBzZWNvbmQgcGFzcy5cblxuICAgICAgICAgICAgICB2YXIgX25ld1RoZW5hYmxlcyA9IF9zdXNwZW5kZWQudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICAgICAgaWYgKF9uZXdUaGVuYWJsZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IF9uZXdUaGVuYWJsZXM7XG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCB0cnVlKTsgLy8gVGhpcyBtaWdodCBoYXZlIGJlZW4gbW9kaWZpZWQuXG5cbiAgICAgICAgICAgICAgaWYgKHJlbmRlclN0YXRlLnRhaWwgPT09IG51bGwgJiYgcmVuZGVyU3RhdGUudGFpbE1vZGUgPT09ICdoaWRkZW4nICYmICFyZW5kZXJlZFRhaWwuYWx0ZXJuYXRlICYmICFnZXRJc0h5ZHJhdGluZygpIC8vIFdlIGRvbid0IGN1dCBpdCBpZiB3ZSdyZSBoeWRyYXRpbmcuXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgLy8gV2UncmUgZG9uZS5cbiAgICAgICAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICggLy8gVGhlIHRpbWUgaXQgdG9vayB0byByZW5kZXIgbGFzdCByb3cgaXMgZ3JlYXRlciB0aGFuIHRoZSByZW1haW5pbmdcbiAgICAgICAgICAgIC8vIHRpbWUgd2UgaGF2ZSB0byByZW5kZXIuIFNvIHJlbmRlcmluZyBvbmUgbW9yZSByb3cgd291bGQgbGlrZWx5XG4gICAgICAgICAgICAvLyBleGNlZWQgaXQuXG4gICAgICAgICAgICBub3coKSAqIDIgLSByZW5kZXJTdGF0ZS5yZW5kZXJpbmdTdGFydFRpbWUgPiBnZXRSZW5kZXJUYXJnZXRUaW1lKCkgJiYgcmVuZGVyTGFuZXMgIT09IE9mZnNjcmVlbkxhbmUpIHtcbiAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBub3cgcGFzc2VkIG91ciBDUFUgZGVhZGxpbmUgYW5kIHdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyXG4gICAgICAgICAgICAgIC8vIGF0dGVtcHRzIHRvIHJlbmRlciB0aGUgbWFpbiBjb250ZW50IGFuZCBvbmx5IHJlbmRlciBmYWxsYmFja3MuXG4gICAgICAgICAgICAgIC8vIFRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgdGhpcyBpcyB1c3VhbGx5IGZhc3Rlci5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlO1xuICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gU2luY2Ugbm90aGluZyBhY3R1YWxseSBzdXNwZW5kZWQsIHRoZXJlIHdpbGwgbm90aGluZyB0byBwaW5nIHRoaXNcbiAgICAgICAgICAgICAgLy8gdG8gZ2V0IGl0IHN0YXJ0ZWQgYmFjayB1cCB0byBhdHRlbXB0IHRoZSBuZXh0IGl0ZW0uIFdoaWxlIGluIHRlcm1zXG4gICAgICAgICAgICAgIC8vIG9mIHByaW9yaXR5IHRoaXMgd29yayBoYXMgdGhlIHNhbWUgcHJpb3JpdHkgYXMgdGhpcyBjdXJyZW50IHJlbmRlcixcbiAgICAgICAgICAgICAgLy8gaXQncyBub3QgcGFydCBvZiB0aGUgc2FtZSB0cmFuc2l0aW9uIG9uY2UgdGhlIHRyYW5zaXRpb24gaGFzXG4gICAgICAgICAgICAgIC8vIGNvbW1pdHRlZC4gSWYgaXQncyBzeW5jLCB3ZSBzdGlsbCB3YW50IHRvIHlpZWxkIHNvIHRoYXQgaXQgY2FuIGJlXG4gICAgICAgICAgICAgIC8vIHBhaW50ZWQuIENvbmNlcHR1YWxseSwgdGhpcyBpcyByZWFsbHkgdGhlIHNhbWUgYXMgcGluZ2luZy5cbiAgICAgICAgICAgICAgLy8gV2UgY2FuIHVzZSBhbnkgUmV0cnlMYW5lIGV2ZW4gaWYgaXQncyB0aGUgb25lIGN1cnJlbnRseSByZW5kZXJpbmdcbiAgICAgICAgICAgICAgLy8gc2luY2Ugd2UncmUgbGVhdmluZyBpdCBiZWhpbmQgb24gdGhpcyBub2RlLlxuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gU29tZVJldHJ5TGFuZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMpIHtcbiAgICAgICAgICAgIC8vIFRoZSBlZmZlY3QgbGlzdCBvZiB0aGUgYmFja3dhcmRzIHRhaWwgd2lsbCBoYXZlIGJlZW4gYWRkZWRcbiAgICAgICAgICAgIC8vIHRvIHRoZSBlbmQuIFRoaXMgYnJlYWtzIHRoZSBndWFyYW50ZWUgdGhhdCBsaWZlLWN5Y2xlcyBmaXJlIGluXG4gICAgICAgICAgICAvLyBzaWJsaW5nIG9yZGVyIGJ1dCB0aGF0IGlzbid0IGEgc3Ryb25nIGd1YXJhbnRlZSBwcm9taXNlZCBieSBSZWFjdC5cbiAgICAgICAgICAgIC8vIEVzcGVjaWFsbHkgc2luY2UgdGhlc2UgbWlnaHQgYWxzbyBqdXN0IHBvcCBpbiBkdXJpbmcgZnV0dXJlIGNvbW1pdHMuXG4gICAgICAgICAgICAvLyBBcHBlbmQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdC5cbiAgICAgICAgICAgIHJlbmRlcmVkVGFpbC5zaWJsaW5nID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHByZXZpb3VzU2libGluZyA9IHJlbmRlclN0YXRlLmxhc3Q7XG5cbiAgICAgICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcHJldmlvdXNTaWJsaW5nLnNpYmxpbmcgPSByZW5kZXJlZFRhaWw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVuZGVyU3RhdGUubGFzdCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIHN0aWxsIGhhdmUgdGFpbCByb3dzIHRvIHJlbmRlci5cbiAgICAgICAgICAvLyBQb3AgYSByb3cuXG4gICAgICAgICAgdmFyIG5leHQgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZyA9IG5leHQ7XG4gICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG5leHQuc2libGluZztcbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmdTdGFydFRpbWUgPSBub3coKTtcbiAgICAgICAgICBuZXh0LnNpYmxpbmcgPSBudWxsOyAvLyBSZXN0b3JlIHRoZSBjb250ZXh0LlxuICAgICAgICAgIC8vIFRPRE86IFdlIGNhbiBwcm9iYWJseSBqdXN0IGF2b2lkIHBvcHBpbmcgaXQgaW5zdGVhZCBhbmQgb25seVxuICAgICAgICAgIC8vIHNldHRpbmcgaXQgdGhlIGZpcnN0IHRpbWUgd2UgZ28gZnJvbSBub3Qgc3VzcGVuZGVkIHRvIHN1c3BlbmRlZC5cblxuICAgICAgICAgIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG5cbiAgICAgICAgICBpZiAoZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlQ29udGV4dCk7IC8vIERvIGEgcGFzcyBvdmVyIHRoZSBuZXh0IHJvdy5cbiAgICAgICAgICAvLyBEb24ndCBidWJibGUgcHJvcGVydGllcyBpbiB0aGlzIGNhc2UuXG5cbiAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wUmVuZGVyTGFuZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgX25leHRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gICAgICAgIHZhciBuZXh0SXNIaWRkZW4gPSBfbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIF9wcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgdmFyIHByZXZJc0hpZGRlbiA9IF9wcmV2U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAocHJldklzSGlkZGVuICE9PSBuZXh0SXNIaWRkZW4gJiYgKCAvLyBMZWdhY3lIaWRkZW4gZG9lc24ndCBkbyBhbnkgaGlkaW5nIOKAlCBpdCBvbmx5IHByZS1yZW5kZXJzLlxuICAgICAgICAgICFlbmFibGVMZWdhY3lIaWRkZW4gKSkge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5leHRJc0hpZGRlbiB8fCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgZm9yIGhpZGRlbiBjaGlsZHJlbiB1bmxlc3Mgd2UncmUgcmVuZGVyaW5nXG4gICAgICAgICAgLy8gYXQgb2Zmc2NyZWVuIHByaW9yaXR5LlxuICAgICAgICAgIGlmIChpbmNsdWRlc1NvbWVMYW5lKHN1YnRyZWVSZW5kZXJMYW5lcywgT2Zmc2NyZWVuTGFuZSkpIHtcbiAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhbiBpbnNlcnRpb24gb3IgdXBkYXRlIGluIHRoZSBoaWRkZW4gc3VidHJlZS5cbiAgICAgICAgICAgICAgLy8gSWYgc28sIHdlIG5lZWQgdG8gaGlkZSB0aG9zZSBub2RlcyBpbiB0aGUgY29tbWl0IHBoYXNlLCBzb1xuICAgICAgICAgICAgICAvLyBzY2hlZHVsZSBhIHZpc2liaWxpdHkgZWZmZWN0LlxuICAgICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyAmIChQbGFjZW1lbnQgfCBVcGRhdGUpKSB7XG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHVuaXQgb2Ygd29yayB0YWcgKFwiICsgd29ya0luUHJvZ3Jlc3MudGFnICsgXCIpLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gXCIgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiB1bndpbmRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cbiAgcG9wVHJlZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuXG4gIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIENvbXBvbmVudCA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG5cbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBmbGFncyA9IHdvcmtJblByb2dyZXNzLmZsYWdzO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFNob3VsZENhcHR1cmUpIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IGZsYWdzICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xuXG4gICAgICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFjdHVhbER1cmF0aW9uKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICB7XG4gICAgICAgIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcG9wVG9wTGV2ZWxDb250ZXh0T2JqZWN0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmVzZXRXb3JrSW5Qcm9ncmVzc1ZlcnNpb25zKCk7XG4gICAgICAgIHZhciBfZmxhZ3MgPSB3b3JrSW5Qcm9ncmVzcy5mbGFncztcblxuICAgICAgICBpZiAoKF9mbGFncyAmIFNob3VsZENhcHR1cmUpICE9PSBOb0ZsYWdzICYmIChfZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncykge1xuICAgICAgICAgIC8vIFRoZXJlIHdhcyBhbiBlcnJvciBkdXJpbmcgcmVuZGVyIHRoYXQgd2Fzbid0IGNhcHR1cmVkIGJ5IGEgc3VzcGVuc2VcbiAgICAgICAgICAvLyBib3VuZGFyeS4gRG8gYSBzZWNvbmQgcGFzcyBvbiB0aGUgcm9vdCB0byB1bm1vdW50IHRoZSBjaGlsZHJlbi5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IF9mbGFncyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTtcbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH0gLy8gV2UgdW53b3VuZCB0byB0aGUgcm9vdCB3aXRob3V0IGNvbXBsZXRpbmcgaXQuIEV4aXQuXG5cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETzogcG9wSHlkcmF0aW9uU3RhdGVcbiAgICAgICAgcG9wSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciBzdXNwZW5zZVN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCAmJiBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RocmV3IGluIG5ld2x5IG1vdW50ZWQgZGVoeWRyYXRlZCBjb21wb25lbnQuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluICcgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfZmxhZ3MyID0gd29ya0luUHJvZ3Jlc3MuZmxhZ3M7XG5cbiAgICAgICAgaWYgKF9mbGFnczIgJiBTaG91bGRDYXB0dXJlKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSBfZmxhZ3MyICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlOyAvLyBDYXB0dXJlZCBhIHN1c3BlbnNlIGVmZmVjdC4gUmUtcmVuZGVyIHRoZSBib3VuZGFyeS5cblxuICAgICAgICAgIGlmICggKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgICAgdHJhbnNmZXJBY3R1YWxEdXJhdGlvbih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzKTsgLy8gU3VzcGVuc2VMaXN0IGRvZXNuJ3QgYWN0dWFsbHkgY2F0Y2ggYW55dGhpbmcuIEl0IHNob3VsZCd2ZSBiZWVuXG4gICAgICAgIC8vIGNhdWdodCBieSBhIG5lc3RlZCBib3VuZGFyeS4gSWYgbm90LCBpdCBzaG91bGQgYnViYmxlIHRocm91Z2guXG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICBwb3BQcm92aWRlcihjb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgIGNhc2UgTGVnYWN5SGlkZGVuQ29tcG9uZW50OlxuICAgICAgcG9wUmVuZGVyTGFuZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoY3VycmVudCwgaW50ZXJydXB0ZWRXb3JrLCByZW5kZXJMYW5lcykge1xuICAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cbiAgcG9wVHJlZUNvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcblxuICBzd2l0Y2ggKGludGVycnVwdGVkV29yay50YWcpIHtcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSBpbnRlcnJ1cHRlZFdvcmsudHlwZS5jaGlsZENvbnRleHRUeXBlcztcblxuICAgICAgICBpZiAoY2hpbGRDb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY2hpbGRDb250ZXh0VHlwZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHBvcENvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHJvb3QgPSBpbnRlcnJ1cHRlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICBwb3BIb3N0Q29udGFpbmVyKGludGVycnVwdGVkV29yayk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgICByZXNldFdvcmtJblByb2dyZXNzVmVyc2lvbnMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcEhvc3RDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcihpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgdmFyIGNvbnRleHQgPSBpbnRlcnJ1cHRlZFdvcmsudHlwZS5fY29udGV4dDtcbiAgICAgIHBvcFByb3ZpZGVyKGNvbnRleHQsIGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgIGNhc2UgTGVnYWN5SGlkZGVuQ29tcG9uZW50OlxuICAgICAgcG9wUmVuZGVyTGFuZXMoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbnZhciBkaWRXYXJuQWJvdXRVbmRlZmluZWRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9IG51bGw7XG5cbntcbiAgZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGUgPSBuZXcgU2V0KCk7XG59IC8vIFVzZWQgZHVyaW5nIHRoZSBjb21taXQgcGhhc2UgdG8gdHJhY2sgdGhlIHN0YXRlIG9mIHRoZSBPZmZzY3JlZW4gY29tcG9uZW50IHN0YWNrLlxuLy8gQWxsb3dzIHVzIHRvIGF2b2lkIHRyYXZlcnNpbmcgdGhlIHJldHVybiBwYXRoIHRvIGZpbmQgdGhlIG5lYXJlc3QgT2Zmc2NyZWVuIGFuY2VzdG9yLlxuLy8gT25seSB1c2VkIHdoZW4gZW5hYmxlU3VzcGVuc2VMYXlvdXRFZmZlY3RTZW1hbnRpY3MgaXMgZW5hYmxlZC5cblxuXG52YXIgb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuID0gZmFsc2U7XG52YXIgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IGZhbHNlO1xudmFyIFBvc3NpYmx5V2Vha1NldCA9IHR5cGVvZiBXZWFrU2V0ID09PSAnZnVuY3Rpb24nID8gV2Vha1NldCA6IFNldDtcbnZhciBuZXh0RWZmZWN0ID0gbnVsbDsgLy8gVXNlZCBmb3IgUHJvZmlsaW5nIGJ1aWxkcyB0byB0cmFjayB1cGRhdGVycy5cblxudmFyIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG52YXIgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xuZnVuY3Rpb24gcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yKSB7XG4gIC8vIFdyYXBwaW5nIGVhY2ggc21hbGwgcGFydCBvZiB0aGUgY29tbWl0IHBoYXNlIGludG8gYSBndWFyZGVkXG4gIC8vIGNhbGxiYWNrIGlzIGEgYml0IHRvbyBzbG93IChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMTY2NikuXG4gIC8vIEJ1dCB3ZSByZWx5IG9uIGl0IHRvIHN1cmZhY2UgZXJyb3JzIHRvIERFViB0b29scyBsaWtlIG92ZXJsYXlzXG4gIC8vIChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzIxNzEyKS5cbiAgLy8gQXMgYSBjb21wcm9taXNlLCByZXRocm93IG9ubHkgY2F1Z2h0IGVycm9ycyBpbiBhIGd1YXJkLlxuICB7XG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICAgIGNsZWFyQ2F1Z2h0RXJyb3IoKTtcbiAgfVxufVxuXG52YXIgY2FsbENvbXBvbmVudFdpbGxVbm1vdW50V2l0aFRpbWVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICBpbnN0YW5jZS5zdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAoIGN1cnJlbnQubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGN1cnJlbnQpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCgpO1xuICB9XG59OyAvLyBDYXB0dXJlIGVycm9ycyBzbyB0aGV5IGRvbid0IGludGVycnVwdCBtb3VudGluZy5cblxuXG5mdW5jdGlvbiBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHRyeSB7XG4gICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQsIGN1cnJlbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGVycm9yKTtcbiAgfVxufSAvLyBDYXB0dXJlIGVycm9ycyBzbyB0aGV5IGRvbid0IGludGVycnVwdCB1bm1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBpbnN0YW5jZSkge1xuICB0cnkge1xuICAgIGNhbGxDb21wb25lbnRXaWxsVW5tb3VudFdpdGhUaW1lcihjdXJyZW50LCBpbnN0YW5jZSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59IC8vIENhcHR1cmUgZXJyb3JzIHNvIHRoZXkgZG9uJ3QgaW50ZXJydXB0IG1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxDb21wb25lbnREaWRNb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBpbnN0YW5jZSkge1xuICB0cnkge1xuICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59IC8vIENhcHR1cmUgZXJyb3JzIHNvIHRoZXkgZG9uJ3QgaW50ZXJydXB0IG1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUF0dGFjaFJlZihjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHRyeSB7XG4gICAgY29tbWl0QXR0YWNoUmVmKGN1cnJlbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcikge1xuICB2YXIgcmVmID0gY3VycmVudC5yZWY7XG5cbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlb2YgcmVmID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgcmV0VmFsO1xuXG4gICAgICB0cnkge1xuICAgICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lciAmJiBlbmFibGVQcm9maWxlckNvbW1pdEhvb2tzICYmIGN1cnJlbnQubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oY3VycmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgcmV0VmFsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmV0dXJuIHZhbHVlIGZyb20gYSBjYWxsYmFjayByZWYgaW4gJXMuICcgKyAnQSBjYWxsYmFjayByZWYgc2hvdWxkIG5vdCByZXR1cm4gYSBmdW5jdGlvbi4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGN1cnJlbnQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxEZXN0cm95KGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpIHtcbiAgdHJ5IHtcbiAgICBkZXN0cm95KCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59XG5cbnZhciBmb2N1c2VkSW5zdGFuY2VIYW5kbGUgPSBudWxsO1xudmFyIHNob3VsZEZpcmVBZnRlckFjdGl2ZUluc3RhbmNlQmx1ciA9IGZhbHNlO1xuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpcnN0Q2hpbGQpIHtcbiAgZm9jdXNlZEluc3RhbmNlSGFuZGxlID0gcHJlcGFyZUZvckNvbW1pdChyb290LmNvbnRhaW5lckluZm8pO1xuICBuZXh0RWZmZWN0ID0gZmlyc3RDaGlsZDtcbiAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2JlZ2luKCk7IC8vIFdlIG5vIGxvbmdlciBuZWVkIHRvIHRyYWNrIHRoZSBhY3RpdmUgaW5zdGFuY2UgZmliZXJcblxuICB2YXIgc2hvdWxkRmlyZSA9IHNob3VsZEZpcmVBZnRlckFjdGl2ZUluc3RhbmNlQmx1cjtcbiAgc2hvdWxkRmlyZUFmdGVyQWN0aXZlSW5zdGFuY2VCbHVyID0gZmFsc2U7XG4gIGZvY3VzZWRJbnN0YW5jZUhhbmRsZSA9IG51bGw7XG4gIHJldHVybiBzaG91bGRGaXJlO1xufVxuXG5mdW5jdGlvbiBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHNfYmVnaW4oKSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDsgLy8gVGhpcyBwaGFzZSBpcyBvbmx5IHVzZWQgZm9yIGJlZm9yZUFjdGl2ZUluc3RhbmNlQmx1ci5cblxuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKChmaWJlci5zdWJ0cmVlRmxhZ3MgJiBCZWZvcmVNdXRhdGlvbk1hc2spICE9PSBOb0ZsYWdzICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBjaGlsZC5yZXR1cm4gPSBmaWJlcjtcbiAgICAgIG5leHRFZmZlY3QgPSBjaGlsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2NvbXBsZXRlKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0c19jb21wbGV0ZSgpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICB0cnkge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICB9XG5cbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFdvcmspIHtcbiAgdmFyIGN1cnJlbnQgPSBmaW5pc2hlZFdvcmsuYWx0ZXJuYXRlO1xuICB2YXIgZmxhZ3MgPSBmaW5pc2hlZFdvcmsuZmxhZ3M7XG5cbiAgaWYgKChmbGFncyAmIFNuYXBzaG90KSAhPT0gTm9GbGFncykge1xuICAgIHNldEN1cnJlbnRGaWJlcihmaW5pc2hlZFdvcmspO1xuXG4gICAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgcHJldlByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7IC8vIFdlIGNvdWxkIHVwZGF0ZSBpbnN0YW5jZSBwcm9wcyBhbmQgc3RhdGUgaGVyZSxcbiAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMuc3RhdGVgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHNuYXBzaG90ID0gaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlID09PSBmaW5pc2hlZFdvcmsudHlwZSA/IHByZXZQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoZmluaXNoZWRXb3JrLnR5cGUsIHByZXZQcm9wcyksIHByZXZTdGF0ZSk7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFyIGRpZFdhcm5TZXQgPSBkaWRXYXJuQWJvdXRVbmRlZmluZWRTbmFwc2hvdEJlZm9yZVVwZGF0ZTtcblxuICAgICAgICAgICAgICBpZiAoc25hcHNob3QgPT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblNldC5oYXMoZmluaXNoZWRXb3JrLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgZGlkV2FyblNldC5hZGQoZmluaXNoZWRXb3JrLnR5cGUpO1xuXG4gICAgICAgICAgICAgICAgZXJyb3IoJyVzLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCk6IEEgc25hcHNob3QgdmFsdWUgKG9yIG51bGwpICcgKyAnbXVzdCBiZSByZXR1cm5lZC4gWW91IGhhdmUgcmV0dXJuZWQgdW5kZWZpbmVkLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUgPSBzbmFwc2hvdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHJvb3QgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICAgICAgY2xlYXJDb250YWluZXIocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIC8vIE5vdGhpbmcgdG8gZG8gZm9yIHRoZXNlIGNvbXBvbmVudCB0eXBlc1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB1bml0IG9mIHdvcmsgdGFnIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMuIFRoaXMgZXJyb3IgaXMgJyArICdsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KGZsYWdzLCBmaW5pc2hlZFdvcmssIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuICB2YXIgbGFzdEVmZmVjdCA9IHVwZGF0ZVF1ZXVlICE9PSBudWxsID8gdXBkYXRlUXVldWUubGFzdEVmZmVjdCA6IG51bGw7XG5cbiAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmlyc3RFZmZlY3QgPSBsYXN0RWZmZWN0Lm5leHQ7XG4gICAgdmFyIGVmZmVjdCA9IGZpcnN0RWZmZWN0O1xuXG4gICAgZG8ge1xuICAgICAgaWYgKChlZmZlY3QudGFnICYgZmxhZ3MpID09PSBmbGFncykge1xuICAgICAgICAvLyBVbm1vdW50XG4gICAgICAgIHZhciBkZXN0cm95ID0gZWZmZWN0LmRlc3Ryb3k7XG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoKGZsYWdzICYgUGFzc2l2ZSQxKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoKGZsYWdzICYgTGF5b3V0KSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZChmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBJbnNlcnRpb24pICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgICAgc2V0SXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGZpbmlzaGVkV29yaywgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUkMSkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdG9wcGVkKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIExheW91dCkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChmbGFncywgZmluaXNoZWRXb3JrKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZSAhPT0gbnVsbCA/IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgOiBudWxsO1xuXG4gIGlmIChsYXN0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgIHZhciBlZmZlY3QgPSBmaXJzdEVmZmVjdDtcblxuICAgIGRvIHtcbiAgICAgIGlmICgoZWZmZWN0LnRhZyAmIGZsYWdzKSA9PT0gZmxhZ3MpIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICgoZmxhZ3MgJiBQYXNzaXZlJDEpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0TW91bnRTdGFydGVkKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBlbHNlIGlmICgoZmxhZ3MgJiBMYXlvdXQpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gTW91bnRcblxuXG4gICAgICAgIHZhciBjcmVhdGUgPSBlZmZlY3QuY3JlYXRlO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICBzZXRJc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZWZmZWN0LmRlc3Ryb3kgPSBjcmVhdGUoKTtcblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKChmbGFncyAmIEluc2VydGlvbikgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgc2V0SXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUkMSkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIExheW91dCkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgbWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RvcHBlZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgZGVzdHJveSA9IGVmZmVjdC5kZXN0cm95O1xuXG4gICAgICAgICAgaWYgKGRlc3Ryb3kgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZGVzdHJveSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGhvb2tOYW1lID0gdm9pZCAwO1xuXG4gICAgICAgICAgICBpZiAoKGVmZmVjdC50YWcgJiBMYXlvdXQpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgICAgIGhvb2tOYW1lID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChlZmZlY3QudGFnICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICBob29rTmFtZSA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaG9va05hbWUgPSAndXNlRWZmZWN0JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGFkZGVuZHVtID0gdm9pZCAwO1xuXG4gICAgICAgICAgICBpZiAoZGVzdHJveSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICcgWW91IHJldHVybmVkIG51bGwuIElmIHlvdXIgZWZmZWN0IGRvZXMgbm90IHJlcXVpcmUgY2xlYW4gJyArICd1cCwgcmV0dXJuIHVuZGVmaW5lZCAob3Igbm90aGluZykuJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlc3Ryb3kudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICdcXG5cXG5JdCBsb29rcyBsaWtlIHlvdSB3cm90ZSAnICsgaG9va05hbWUgKyAnKGFzeW5jICgpID0+IC4uLikgb3IgcmV0dXJuZWQgYSBQcm9taXNlLiAnICsgJ0luc3RlYWQsIHdyaXRlIHRoZSBhc3luYyBmdW5jdGlvbiBpbnNpZGUgeW91ciBlZmZlY3QgJyArICdhbmQgY2FsbCBpdCBpbW1lZGlhdGVseTpcXG5cXG4nICsgaG9va05hbWUgKyAnKCgpID0+IHtcXG4nICsgJyAgYXN5bmMgZnVuY3Rpb24gZmV0Y2hEYXRhKCkge1xcbicgKyAnICAgIC8vIFlvdSBjYW4gYXdhaXQgaGVyZVxcbicgKyAnICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgTXlBUEkuZ2V0RGF0YShzb21lSWQpO1xcbicgKyAnICAgIC8vIC4uLlxcbicgKyAnICB9XFxuJyArICcgIGZldGNoRGF0YSgpO1xcbicgKyBcIn0sIFtzb21lSWRdKTsgLy8gT3IgW10gaWYgZWZmZWN0IGRvZXNuJ3QgbmVlZCBwcm9wcyBvciBzdGF0ZVxcblxcblwiICsgJ0xlYXJuIG1vcmUgYWJvdXQgZGF0YSBmZXRjaGluZyB3aXRoIEhvb2tzOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaG9va3MtZGF0YS1mZXRjaGluZyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICcgWW91IHJldHVybmVkOiAnICsgZGVzdHJveTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXJyb3IoJyVzIG11c3Qgbm90IHJldHVybiBhbnl0aGluZyBiZXNpZGVzIGEgZnVuY3Rpb24sICcgKyAnd2hpY2ggaXMgdXNlZCBmb3IgY2xlYW4tdXAuJXMnLCBob29rTmFtZSwgYWRkZW5kdW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcbiAgICB9IHdoaWxlIChlZmZlY3QgIT09IGZpcnN0RWZmZWN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlRWZmZWN0RHVyYXRpb25zKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKSB7XG4gIHtcbiAgICAvLyBPbmx5IFByb2ZpbGVycyB3aXRoIHdvcmsgaW4gdGhlaXIgc3VidHJlZSB3aWxsIGhhdmUgYW4gVXBkYXRlIGVmZmVjdCBzY2hlZHVsZWQuXG4gICAgaWYgKChmaW5pc2hlZFdvcmsuZmxhZ3MgJiBVcGRhdGUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZS5wYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICB2YXIgX2ZpbmlzaGVkV29yayRtZW1vaXplID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMsXG4gICAgICAgICAgICAgICAgaWQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUuaWQsXG4gICAgICAgICAgICAgICAgb25Qb3N0Q29tbWl0ID0gX2ZpbmlzaGVkV29yayRtZW1vaXplLm9uUG9zdENvbW1pdDsgLy8gVGhpcyB2YWx1ZSB3aWxsIHN0aWxsIHJlZmxlY3QgdGhlIHByZXZpb3VzIGNvbW1pdCBwaGFzZS5cbiAgICAgICAgICAgIC8vIEl0IGRvZXMgbm90IGdldCByZXNldCB1bnRpbCB0aGUgc3RhcnQgb2YgdGhlIG5leHQgY29tbWl0IHBoYXNlLlxuXG4gICAgICAgICAgICB2YXIgY29tbWl0VGltZSA9IGdldENvbW1pdFRpbWUoKTtcbiAgICAgICAgICAgIHZhciBwaGFzZSA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGUgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZSc7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYgKGlzQ3VycmVudFVwZGF0ZU5lc3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgcGhhc2UgPSAnbmVzdGVkLXVwZGF0ZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvblBvc3RDb21taXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgb25Qb3N0Q29tbWl0KGlkLCBwaGFzZSwgcGFzc2l2ZUVmZmVjdER1cmF0aW9uLCBjb21taXRUaW1lKTtcbiAgICAgICAgICAgIH0gLy8gQnViYmxlIHRpbWVzIHRvIHRoZSBuZXh0IG5lYXJlc3QgYW5jZXN0b3IgUHJvZmlsZXIuXG4gICAgICAgICAgICAvLyBBZnRlciB3ZSBwcm9jZXNzIHRoYXQgUHJvZmlsZXIsIHdlJ2xsIGJ1YmJsZSBmdXJ0aGVyIHVwLlxuXG5cbiAgICAgICAgICAgIHZhciBwYXJlbnRGaWJlciA9IGZpbmlzaGVkV29yay5yZXR1cm47XG5cbiAgICAgICAgICAgIG91dGVyOiB3aGlsZSAocGFyZW50RmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgICAgICAgICAgdmFyIHJvb3QgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgICAgICAgICByb290LnBhc3NpdmVFZmZlY3REdXJhdGlvbiArPSBwYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICAgICAgICBicmVhayBvdXRlcjtcblxuICAgICAgICAgICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgICAgICAgICB2YXIgcGFyZW50U3RhdGVOb2RlID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICAgICAgcGFyZW50U3RhdGVOb2RlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiArPSBwYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICAgICAgICBicmVhayBvdXRlcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHBhcmVudEZpYmVyID0gcGFyZW50RmliZXIucmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdExheW91dEVmZmVjdE9uRmliZXIoZmluaXNoZWRSb290LCBjdXJyZW50LCBmaW5pc2hlZFdvcmssIGNvbW1pdHRlZExhbmVzKSB7XG4gIGlmICgoZmluaXNoZWRXb3JrLmZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MpIHtcbiAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoICFvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuKSB7XG4gICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50IGxheW91dCBlZmZlY3RzIGhhdmUgYWxyZWFkeSBiZWVuIGRlc3Ryb3llZCAoZHVyaW5nIG11dGF0aW9uIHBoYXNlKS5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgZG9uZSB0byBwcmV2ZW50IHNpYmxpbmcgY29tcG9uZW50IGVmZmVjdHMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIsXG4gICAgICAgICAgICAvLyBlLmcuIGEgZGVzdHJveSBmdW5jdGlvbiBpbiBvbmUgY29tcG9uZW50IHNob3VsZCBuZXZlciBvdmVycmlkZSBhIHJlZiBzZXRcbiAgICAgICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXG4gICAgICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLmZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAgICAgLy8gYnV0IGluc3RlYWQgd2UgcmVseSBvbiB0aGVtIGJlaW5nIHNldCBkdXJpbmcgbGFzdCByZW5kZXIuXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkTW91bnQuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHN0YXRlIHRvIG1hdGNoIG1lbW9pemVkIHN0YXRlIGJlZm9yZSAnICsgJ2NvbXBvbmVudERpZE1vdW50LiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5zdGF0ZWAuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCBmaW5pc2hlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgcHJldlByb3BzID0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlID09PSBmaW5pc2hlZFdvcmsudHlwZSA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoZmluaXNoZWRXb3JrLnR5cGUsIGN1cnJlbnQubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTsgLy8gV2UgY291bGQgdXBkYXRlIGluc3RhbmNlIHByb3BzIGFuZCBzdGF0ZSBoZXJlLFxuICAgICAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdjb21wb25lbnREaWRVcGRhdGUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnN0YXRlYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlLCBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSk7XG4gICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUsIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IC8vIFRPRE86IEkgdGhpbmsgdGhpcyBpcyBub3cgYWx3YXlzIG5vbi1udWxsIGJ5IHRoZSB0aW1lIGl0IHJlYWNoZXMgdGhlXG4gICAgICAgICAgLy8gY29tbWl0IHBoYXNlLiBDb25zaWRlciByZW1vdmluZyB0aGUgdHlwZSBjaGVjay5cblxuXG4gICAgICAgICAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ3Byb2Nlc3NpbmcgdGhlIHVwZGF0ZSBxdWV1ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgc3RhdGUgdG8gbWF0Y2ggbWVtb2l6ZWQgc3RhdGUgYmVmb3JlICcgKyAncHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5zdGF0ZWAuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuXG4gICAgICAgICAgICBjb21taXRVcGRhdGVRdWV1ZShmaW5pc2hlZFdvcmssIHVwZGF0ZVF1ZXVlLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRPRE86IEkgdGhpbmsgdGhpcyBpcyBub3cgYWx3YXlzIG5vbi1udWxsIGJ5IHRoZSB0aW1lIGl0IHJlYWNoZXMgdGhlXG4gICAgICAgICAgLy8gY29tbWl0IHBoYXNlLiBDb25zaWRlciByZW1vdmluZyB0aGUgdHlwZSBjaGVjay5cbiAgICAgICAgICB2YXIgX3VwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKF91cGRhdGVRdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIF9pbnN0YW5jZSA9IG51bGw7XG5cbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChmaW5pc2hlZFdvcmsuY2hpbGQudGFnKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICAgICAgX2luc3RhbmNlID0gZ2V0UHVibGljSW5zdGFuY2UoZmluaXNoZWRXb3JrLmNoaWxkLnN0YXRlTm9kZSk7XG4gICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAgICAgICAgICBfaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuY2hpbGQuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29tbWl0VXBkYXRlUXVldWUoZmluaXNoZWRXb3JrLCBfdXBkYXRlUXVldWUsIF9pbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9pbnN0YW5jZTIgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlOyAvLyBSZW5kZXJlcnMgbWF5IHNjaGVkdWxlIHdvcmsgdG8gYmUgZG9uZSBhZnRlciBob3N0IGNvbXBvbmVudHMgYXJlIG1vdW50ZWRcbiAgICAgICAgICAvLyAoZWcgRE9NIHJlbmRlcmVyIG1heSBzY2hlZHVsZSBhdXRvLWZvY3VzIGZvciBpbnB1dHMgYW5kIGZvcm0gY29udHJvbHMpLlxuICAgICAgICAgIC8vIFRoZXNlIGVmZmVjdHMgc2hvdWxkIG9ubHkgYmUgY29tbWl0dGVkIHdoZW4gY29tcG9uZW50cyBhcmUgZmlyc3QgbW91bnRlZCxcbiAgICAgICAgICAvLyBha2Egd2hlbiB0aGVyZSBpcyBubyBjdXJyZW50L2FsdGVybmF0ZS5cblxuICAgICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsICYmIGZpbmlzaGVkV29yay5mbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSBmaW5pc2hlZFdvcmsudHlwZTtcbiAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzO1xuICAgICAgICAgICAgY29tbWl0TW91bnQoX2luc3RhbmNlMiwgdHlwZSwgcHJvcHMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSBoYXZlIG5vIGxpZmUtY3ljbGVzIGFzc29jaWF0ZWQgd2l0aCB0ZXh0LlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFdlIGhhdmUgbm8gbGlmZS1jeWNsZXMgYXNzb2NpYXRlZCB3aXRoIHBvcnRhbHMuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBfZmluaXNoZWRXb3JrJG1lbW9pemUyID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMsXG4gICAgICAgICAgICAgICAgb25Db21taXQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUyLm9uQ29tbWl0LFxuICAgICAgICAgICAgICAgIG9uUmVuZGVyID0gX2ZpbmlzaGVkV29yayRtZW1vaXplMi5vblJlbmRlcjtcbiAgICAgICAgICAgIHZhciBlZmZlY3REdXJhdGlvbiA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICB2YXIgY29tbWl0VGltZSA9IGdldENvbW1pdFRpbWUoKTtcbiAgICAgICAgICAgIHZhciBwaGFzZSA9IGN1cnJlbnQgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZSc7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYgKGlzQ3VycmVudFVwZGF0ZU5lc3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgcGhhc2UgPSAnbmVzdGVkLXVwZGF0ZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvblJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBvblJlbmRlcihmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5pZCwgcGhhc2UsIGZpbmlzaGVkV29yay5hY3R1YWxEdXJhdGlvbiwgZmluaXNoZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24sIGZpbmlzaGVkV29yay5hY3R1YWxTdGFydFRpbWUsIGNvbW1pdFRpbWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygb25Db21taXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBvbkNvbW1pdChmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5pZCwgcGhhc2UsIGVmZmVjdER1cmF0aW9uLCBjb21taXRUaW1lKTtcbiAgICAgICAgICAgICAgfSAvLyBTY2hlZHVsZSBhIHBhc3NpdmUgZWZmZWN0IGZvciB0aGlzIFByb2ZpbGVyIHRvIGNhbGwgb25Qb3N0Q29tbWl0IGhvb2tzLlxuICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdCBzaG91bGQgYmUgc2NoZWR1bGVkIGV2ZW4gaWYgdGhlcmUgaXMgbm8gb25Qb3N0Q29tbWl0IGNhbGxiYWNrIGZvciB0aGlzIFByb2ZpbGVyLFxuICAgICAgICAgICAgICAvLyBiZWNhdXNlIHRoZSBlZmZlY3QgaXMgYWxzbyB3aGVyZSB0aW1lcyBidWJibGUgdG8gcGFyZW50IFByb2ZpbGVycy5cblxuXG4gICAgICAgICAgICAgIGVucXVldWVQZW5kaW5nUGFzc2l2ZVByb2ZpbGVyRWZmZWN0KGZpbmlzaGVkV29yayk7IC8vIFByb3BhZ2F0ZSBsYXlvdXQgZWZmZWN0IGR1cmF0aW9ucyB0byB0aGUgbmV4dCBuZWFyZXN0IFByb2ZpbGVyIGFuY2VzdG9yLlxuICAgICAgICAgICAgICAvLyBEbyBub3QgcmVzZXQgdGhlc2UgdmFsdWVzIHVudGlsIHRoZSBuZXh0IHJlbmRlciBzbyBEZXZUb29scyBoYXMgYSBjaGFuY2UgdG8gcmVhZCB0aGVtIGZpcnN0LlxuXG4gICAgICAgICAgICAgIHZhciBwYXJlbnRGaWJlciA9IGZpbmlzaGVkV29yay5yZXR1cm47XG5cbiAgICAgICAgICAgICAgb3V0ZXI6IHdoaWxlIChwYXJlbnRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAocGFyZW50RmliZXIudGFnKSB7XG4gICAgICAgICAgICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgICAgICAgICAgICB2YXIgcm9vdCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICAgICAgICAgICAgcm9vdC5lZmZlY3REdXJhdGlvbiArPSBlZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG5cbiAgICAgICAgICAgICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRTdGF0ZU5vZGUgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiArPSBlZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgY29tbWl0U3VzcGVuc2VIeWRyYXRpb25DYWxsYmFja3MoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAgY2FzZSBPZmZzY3JlZW5Db21wb25lbnQ6XG4gICAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgVHJhY2luZ01hcmtlckNvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB1bml0IG9mIHdvcmsgdGFnIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMuIFRoaXMgZXJyb3IgaXMgJyArICdsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAoICFvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuKSB7XG4gICAge1xuICAgICAgaWYgKGZpbmlzaGVkV29yay5mbGFncyAmIFJlZikge1xuICAgICAgICBjb21taXRBdHRhY2hSZWYoZmluaXNoZWRXb3JrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhcHBlYXJMYXlvdXRFZmZlY3RzT25GaWJlcihub2RlKSB7XG4gIC8vIFR1cm4gb24gbGF5b3V0IGVmZmVjdHMgaW4gYSB0cmVlIHRoYXQgcHJldmlvdXNseSBkaXNhcHBlYXJlZC5cbiAgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiBMYXlvdXRTdGF0aWNcbiAgc3dpdGNoIChub2RlLnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCBub2RlLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBzYWZlbHlDYWxsQ29tcG9uZW50RGlkTW91bnQobm9kZSwgbm9kZS5yZXR1cm4sIGluc3RhbmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNhZmVseUF0dGFjaFJlZihub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBzYWZlbHlBdHRhY2hSZWYobm9kZSwgbm9kZS5yZXR1cm4pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBoaWRlT3JVbmhpZGVBbGxDaGlsZHJlbihmaW5pc2hlZFdvcmssIGlzSGlkZGVuKSB7XG4gIC8vIE9ubHkgaGlkZSBvciB1bmhpZGUgdGhlIHRvcC1tb3N0IGhvc3Qgbm9kZXMuXG4gIHZhciBob3N0U3VidHJlZVJvb3QgPSBudWxsO1xuXG4gIHtcbiAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBpbnNlcnRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIHZhciBub2RlID0gZmluaXNoZWRXb3JrO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCkge1xuICAgICAgICBpZiAoaG9zdFN1YnRyZWVSb290ID09PSBudWxsKSB7XG4gICAgICAgICAgaG9zdFN1YnRyZWVSb290ID0gbm9kZTtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBub2RlLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgaWYgKGlzSGlkZGVuKSB7XG4gICAgICAgICAgICAgIGhpZGVJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB1bmhpZGVJbnN0YW5jZShub2RlLnN0YXRlTm9kZSwgbm9kZS5tZW1vaXplZFByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBIb3N0VGV4dCkge1xuICAgICAgICBpZiAoaG9zdFN1YnRyZWVSb290ID09PSBudWxsKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBfaW5zdGFuY2UzID0gbm9kZS5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgICBoaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdW5oaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMsIG5vZGUubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICgobm9kZS50YWcgPT09IE9mZnNjcmVlbkNvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gTGVnYWN5SGlkZGVuQ29tcG9uZW50KSAmJiBub2RlLm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgbm9kZSAhPT0gZmluaXNoZWRXb3JrKSA7IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gZmluaXNoZWRXb3JrKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvc3RTdWJ0cmVlUm9vdCA9PT0gbm9kZSkge1xuICAgICAgICAgIGhvc3RTdWJ0cmVlUm9vdCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChob3N0U3VidHJlZVJvb3QgPT09IG5vZGUpIHtcbiAgICAgICAgaG9zdFN1YnRyZWVSb290ID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0QXR0YWNoUmVmKGZpbmlzaGVkV29yaykge1xuICB2YXIgcmVmID0gZmluaXNoZWRXb3JrLnJlZjtcblxuICBpZiAocmVmICE9PSBudWxsKSB7XG4gICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICB2YXIgaW5zdGFuY2VUb1VzZTtcblxuICAgIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICBpbnN0YW5jZVRvVXNlID0gZ2V0UHVibGljSW5zdGFuY2UoaW5zdGFuY2UpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaW5zdGFuY2VUb1VzZSA9IGluc3RhbmNlO1xuICAgIH0gLy8gTW92ZWQgb3V0c2lkZSB0byBlbnN1cmUgRENFIHdvcmtzIHdpdGggdGhpcyBmbGFnXG5cbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIHJldFZhbDtcblxuICAgICAgaWYgKCBmaW5pc2hlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgIHJldFZhbCA9IHJlZihpbnN0YW5jZVRvVXNlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXRWYWwgPSByZWYoaW5zdGFuY2VUb1VzZSk7XG4gICAgICB9XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiByZXRWYWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBlcnJvcignVW5leHBlY3RlZCByZXR1cm4gdmFsdWUgZnJvbSBhIGNhbGxiYWNrIHJlZiBpbiAlcy4gJyArICdBIGNhbGxiYWNrIHJlZiBzaG91bGQgbm90IHJldHVybiBhIGZ1bmN0aW9uLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICBpZiAoIXJlZi5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmVmIG9iamVjdCBwcm92aWRlZCBmb3IgJXMuICcgKyAnVXNlIGVpdGhlciBhIHJlZi1zZXR0ZXIgZnVuY3Rpb24gb3IgUmVhY3QuY3JlYXRlUmVmKCkuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZWYuY3VycmVudCA9IGluc3RhbmNlVG9Vc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRldGFjaEZpYmVyTXV0YXRpb24oZmliZXIpIHtcbiAgLy8gQ3V0IG9mZiB0aGUgcmV0dXJuIHBvaW50ZXIgdG8gZGlzY29ubmVjdCBpdCBmcm9tIHRoZSB0cmVlLlxuICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gZGV0ZWN0IGFuZCB3YXJuIGFnYWluc3Qgc3RhdGUgdXBkYXRlcyBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxuICAvLyBJdCBhbHNvIHByZXZlbnRzIGV2ZW50cyBmcm9tIGJ1YmJsaW5nIGZyb20gd2l0aGluIGRpc2Nvbm5lY3RlZCBjb21wb25lbnRzLlxuICAvL1xuICAvLyBJZGVhbGx5LCB3ZSBzaG91bGQgYWxzbyBjbGVhciB0aGUgY2hpbGQgcG9pbnRlciBvZiB0aGUgcGFyZW50IGFsdGVybmF0ZSB0byBsZXQgdGhpc1xuICAvLyBnZXQgR0M6ZWQgYnV0IHdlIGRvbid0IGtub3cgd2hpY2ggZm9yIHN1cmUgd2hpY2ggcGFyZW50IGlzIHRoZSBjdXJyZW50XG4gIC8vIG9uZSBzbyB3ZSdsbCBzZXR0bGUgZm9yIEdDOmluZyB0aGUgc3VidHJlZSBvZiB0aGlzIGNoaWxkLlxuICAvLyBUaGlzIGNoaWxkIGl0c2VsZiB3aWxsIGJlIEdDOmVkIHdoZW4gdGhlIHBhcmVudCB1cGRhdGVzIHRoZSBuZXh0IHRpbWUuXG4gIC8vXG4gIC8vIE5vdGUgdGhhdCB3ZSBjYW4ndCBjbGVhciBjaGlsZCBvciBzaWJsaW5nIHBvaW50ZXJzIHlldC5cbiAgLy8gVGhleSdyZSBuZWVkZWQgZm9yIHBhc3NpdmUgZWZmZWN0cyBhbmQgZm9yIGZpbmRET01Ob2RlLlxuICAvLyBXZSBkZWZlciB0aG9zZSBmaWVsZHMsIGFuZCBhbGwgb3RoZXIgY2xlYW51cCwgdG8gdGhlIHBhc3NpdmUgcGhhc2UgKHNlZSBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cykuXG4gIC8vXG4gIC8vIERvbid0IHJlc2V0IHRoZSBhbHRlcm5hdGUgeWV0LCBlaXRoZXIuIFdlIG5lZWQgdGhhdCBzbyB3ZSBjYW4gZGV0YWNoIHRoZVxuICAvLyBhbHRlcm5hdGUncyBmaWVsZHMgaW4gdGhlIHBhc3NpdmUgcGhhc2UuIENsZWFyaW5nIHRoZSByZXR1cm4gcG9pbnRlciBpc1xuICAvLyBzdWZmaWNpZW50IGZvciBmaW5kRE9NTm9kZSBzZW1hbnRpY3MuXG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5yZXR1cm4gPSBudWxsO1xuICB9XG5cbiAgZmliZXIucmV0dXJuID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gZGV0YWNoRmliZXJBZnRlckVmZmVjdHMoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgZmliZXIuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cyhhbHRlcm5hdGUpO1xuICB9IC8vIE5vdGU6IERlZmVuc2l2ZWx5IHVzaW5nIG5lZ2F0aW9uIGluc3RlYWQgb2YgPCBpbiBjYXNlXG4gIC8vIGBkZWxldGVkVHJlZUNsZWFuVXBMZXZlbGAgaXMgdW5kZWZpbmVkLlxuXG5cbiAge1xuICAgIC8vIENsZWFyIGN5Y2xpY2FsIEZpYmVyIGZpZWxkcy4gVGhpcyBsZXZlbCBhbG9uZSBpcyBkZXNpZ25lZCB0byByb3VnaGx5XG4gICAgLy8gYXBwcm94aW1hdGUgdGhlIHBsYW5uZWQgRmliZXIgcmVmYWN0b3IuIEluIHRoYXQgd29ybGQsIGBzZXRTdGF0ZWAgd2lsbCBiZVxuICAgIC8vIGJvdW5kIHRvIGEgc3BlY2lhbCBcImluc3RhbmNlXCIgb2JqZWN0IGluc3RlYWQgb2YgYSBGaWJlci4gVGhlIEluc3RhbmNlXG4gICAgLy8gb2JqZWN0IHdpbGwgbm90IGhhdmUgYW55IG9mIHRoZXNlIGZpZWxkcy4gSXQgd2lsbCBvbmx5IGJlIGNvbm5lY3RlZCB0b1xuICAgIC8vIHRoZSBmaWJlciB0cmVlIHZpYSBhIHNpbmdsZSBsaW5rIGF0IHRoZSByb290LiBTbyBpZiB0aGlzIGxldmVsIGFsb25lIGlzXG4gICAgLy8gc3VmZmljaWVudCB0byBmaXggbWVtb3J5IGlzc3VlcywgdGhhdCBib2RlcyB3ZWxsIGZvciBvdXIgcGxhbnMuXG4gICAgZmliZXIuY2hpbGQgPSBudWxsO1xuICAgIGZpYmVyLmRlbGV0aW9ucyA9IG51bGw7XG4gICAgZmliZXIuc2libGluZyA9IG51bGw7IC8vIFRoZSBgc3RhdGVOb2RlYCBpcyBjeWNsaWNhbCBiZWNhdXNlIG9uIGhvc3Qgbm9kZXMgaXQgcG9pbnRzIHRvIHRoZSBob3N0XG4gICAgLy8gdHJlZSwgd2hpY2ggaGFzIGl0cyBvd24gcG9pbnRlcnMgdG8gY2hpbGRyZW4sIHBhcmVudHMsIGFuZCBzaWJsaW5ncy5cbiAgICAvLyBUaGUgb3RoZXIgaG9zdCBub2RlcyBhbHNvIHBvaW50IGJhY2sgdG8gZmliZXJzLCBzbyB3ZSBzaG91bGQgZGV0YWNoIHRoYXRcbiAgICAvLyBvbmUsIHRvby5cblxuICAgIGlmIChmaWJlci50YWcgPT09IEhvc3RDb21wb25lbnQpIHtcbiAgICAgIHZhciBob3N0SW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgZGV0YWNoRGVsZXRlZEluc3RhbmNlKGhvc3RJbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmliZXIuc3RhdGVOb2RlID0gbnVsbDsgLy8gSSdtIGludGVudGlvbmFsbHkgbm90IGNsZWFyaW5nIHRoZSBgcmV0dXJuYCBmaWVsZCBpbiB0aGlzIGxldmVsLiBXZVxuICAgIC8vIGFscmVhZHkgZGlzY29ubmVjdCB0aGUgYHJldHVybmAgcG9pbnRlciBhdCB0aGUgcm9vdCBvZiB0aGUgZGVsZXRlZFxuICAgIC8vIHN1YnRyZWUgKGluIGBkZXRhY2hGaWJlck11dGF0aW9uYCkuIEJlc2lkZXMsIGByZXR1cm5gIGJ5IGl0c2VsZiBpcyBub3RcbiAgICAvLyBjeWNsaWNhbCDigJQgaXQncyBvbmx5IGN5Y2xpY2FsIHdoZW4gY29tYmluZWQgd2l0aCBgY2hpbGRgLCBgc2libGluZ2AsIGFuZFxuICAgIC8vIGBhbHRlcm5hdGVgLiBCdXQgd2UnbGwgY2xlYXIgaXQgaW4gdGhlIG5leHQgbGV2ZWwgYW55d2F5LCBqdXN0IGluIGNhc2UuXG5cbiAgICB7XG4gICAgICBmaWJlci5fZGVidWdPd25lciA9IG51bGw7XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gVGhlb3JldGljYWxseSwgbm90aGluZyBpbiBoZXJlIHNob3VsZCBiZSBuZWNlc3NhcnksIGJlY2F1c2Ugd2UgYWxyZWFkeVxuICAgICAgLy8gZGlzY29ubmVjdGVkIHRoZSBmaWJlciBmcm9tIHRoZSB0cmVlLiBTbyBldmVuIGlmIHNvbWV0aGluZyBsZWFrcyB0aGlzXG4gICAgICAvLyBwYXJ0aWN1bGFyIGZpYmVyLCBpdCB3b24ndCBsZWFrIGFueXRoaW5nIGVsc2VcbiAgICAgIC8vXG4gICAgICAvLyBUaGUgcHVycG9zZSBvZiB0aGlzIGJyYW5jaCBpcyB0byBiZSBzdXBlciBhZ2dyZXNzaXZlIHNvIHdlIGNhbiBtZWFzdXJlXG4gICAgICAvLyBpZiB0aGVyZSdzIGFueSBkaWZmZXJlbmNlIGluIG1lbW9yeSBpbXBhY3QuIElmIHRoZXJlIGlzLCB0aGF0IGNvdWxkXG4gICAgICAvLyBpbmRpY2F0ZSBhIFJlYWN0IGxlYWsgd2UgZG9uJ3Qga25vdyBhYm91dC5cbiAgICAgIGZpYmVyLnJldHVybiA9IG51bGw7XG4gICAgICBmaWJlci5kZXBlbmRlbmNpZXMgPSBudWxsO1xuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IG51bGw7XG4gICAgICBmaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgIGZpYmVyLnBlbmRpbmdQcm9wcyA9IG51bGw7XG4gICAgICBmaWJlci5zdGF0ZU5vZGUgPSBudWxsOyAvLyBUT0RPOiBNb3ZlIHRvIGBjb21taXRQYXNzaXZlVW5tb3VudEluc2lkZURlbGV0ZWRUcmVlT25GaWJlcmAgaW5zdGVhZC5cblxuICAgICAgZmliZXIudXBkYXRlUXVldWUgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRIb3N0UGFyZW50RmliZXIoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgaWYgKGlzSG9zdFBhcmVudChwYXJlbnQpKSB7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgIH1cblxuICAgIHBhcmVudCA9IHBhcmVudC5yZXR1cm47XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgYSBob3N0IHBhcmVudC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnICcgKyAnaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiBpc0hvc3RQYXJlbnQoZmliZXIpIHtcbiAgcmV0dXJuIGZpYmVyLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBmaWJlci50YWcgPT09IEhvc3RSb290IHx8IGZpYmVyLnRhZyA9PT0gSG9zdFBvcnRhbDtcbn1cblxuZnVuY3Rpb24gZ2V0SG9zdFNpYmxpbmcoZmliZXIpIHtcbiAgLy8gV2UncmUgZ29pbmcgdG8gc2VhcmNoIGZvcndhcmQgaW50byB0aGUgdHJlZSB1bnRpbCB3ZSBmaW5kIGEgc2libGluZyBob3N0XG4gIC8vIG5vZGUuIFVuZm9ydHVuYXRlbHksIGlmIG11bHRpcGxlIGluc2VydGlvbnMgYXJlIGRvbmUgaW4gYSByb3cgd2UgaGF2ZSB0b1xuICAvLyBzZWFyY2ggcGFzdCB0aGVtLiBUaGlzIGxlYWRzIHRvIGV4cG9uZW50aWFsIHNlYXJjaCBmb3IgdGhlIG5leHQgc2libGluZy5cbiAgLy8gVE9ETzogRmluZCBhIG1vcmUgZWZmaWNpZW50IHdheSB0byBkbyB0aGlzLlxuICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gIHNpYmxpbmdzOiB3aGlsZSAodHJ1ZSkge1xuICAgIC8vIElmIHdlIGRpZG4ndCBmaW5kIGFueXRoaW5nLCBsZXQncyB0cnkgdGhlIG5leHQgc2libGluZy5cbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgaXNIb3N0UGFyZW50KG5vZGUucmV0dXJuKSkge1xuICAgICAgICAvLyBJZiB3ZSBwb3Agb3V0IG9mIHRoZSByb290IG9yIGhpdCB0aGUgcGFyZW50IHRoZSBmaWJlciB3ZSBhcmUgdGhlXG4gICAgICAgIC8vIGxhc3Qgc2libGluZy5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcblxuICAgIHdoaWxlIChub2RlLnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiBub2RlLnRhZyAhPT0gSG9zdFRleHQgJiYgbm9kZS50YWcgIT09IERlaHlkcmF0ZWRGcmFnbWVudCkge1xuICAgICAgLy8gSWYgaXQgaXMgbm90IGhvc3Qgbm9kZSBhbmQsIHdlIG1pZ2h0IGhhdmUgYSBob3N0IG5vZGUgaW5zaWRlIGl0LlxuICAgICAgLy8gVHJ5IHRvIHNlYXJjaCBkb3duIHVudGlsIHdlIGZpbmQgb25lLlxuICAgICAgaWYgKG5vZGUuZmxhZ3MgJiBQbGFjZW1lbnQpIHtcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIGNoaWxkLCB0cnkgdGhlIHNpYmxpbmdzIGluc3RlYWQuXG4gICAgICAgIGNvbnRpbnVlIHNpYmxpbmdzO1xuICAgICAgfSAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgY2hpbGQsIHRyeSB0aGUgc2libGluZ3MgaW5zdGVhZC5cbiAgICAgIC8vIFdlIGFsc28gc2tpcCBwb3J0YWxzIGJlY2F1c2UgdGhleSBhcmUgbm90IHBhcnQgb2YgdGhpcyBob3N0IHRyZWUuXG5cblxuICAgICAgaWYgKG5vZGUuY2hpbGQgPT09IG51bGwgfHwgbm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgY29udGludWUgc2libGluZ3M7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgfVxuICAgIH0gLy8gQ2hlY2sgaWYgdGhpcyBob3N0IG5vZGUgaXMgc3RhYmxlIG9yIGFib3V0IHRvIGJlIHBsYWNlZC5cblxuXG4gICAgaWYgKCEobm9kZS5mbGFncyAmIFBsYWNlbWVudCkpIHtcbiAgICAgIC8vIEZvdW5kIGl0IVxuICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQbGFjZW1lbnQoZmluaXNoZWRXb3JrKSB7XG5cblxuICB2YXIgcGFyZW50RmliZXIgPSBnZXRIb3N0UGFyZW50RmliZXIoZmluaXNoZWRXb3JrKTsgLy8gTm90ZTogdGhlc2UgdHdvIHZhcmlhYmxlcyAqbXVzdCogYWx3YXlzIGJlIHVwZGF0ZWQgdG9nZXRoZXIuXG5cbiAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBwYXJlbnQgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgaWYgKHBhcmVudEZpYmVyLmZsYWdzICYgQ29udGVudFJlc2V0KSB7XG4gICAgICAgICAgLy8gUmVzZXQgdGhlIHRleHQgY29udGVudCBvZiB0aGUgcGFyZW50IGJlZm9yZSBkb2luZyBhbnkgaW5zZXJ0aW9uc1xuICAgICAgICAgIHJlc2V0VGV4dENvbnRlbnQocGFyZW50KTsgLy8gQ2xlYXIgQ29udGVudFJlc2V0IGZyb20gdGhlIGVmZmVjdCB0YWdcblxuICAgICAgICAgIHBhcmVudEZpYmVyLmZsYWdzICY9IH5Db250ZW50UmVzZXQ7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgYmVmb3JlID0gZ2V0SG9zdFNpYmxpbmcoZmluaXNoZWRXb3JrKTsgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgaW5zZXJ0ZWQgYnV0IHdlIG5lZWQgdG8gcmVjdXJzZSBkb3duIGl0c1xuICAgICAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG5cbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKGZpbmlzaGVkV29yaywgYmVmb3JlLCBwYXJlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAge1xuICAgICAgICB2YXIgX3BhcmVudCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuXG4gICAgICAgIHZhciBfYmVmb3JlID0gZ2V0SG9zdFNpYmxpbmcoZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKGZpbmlzaGVkV29yaywgX2JlZm9yZSwgX3BhcmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZS1uby1mYWxsdGhyb3VnaFxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBob3N0IHBhcmVudCBmaWJlci4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnICcgKyAnaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIobm9kZSwgYmVmb3JlLCBwYXJlbnQpIHtcbiAgdmFyIHRhZyA9IG5vZGUudGFnO1xuICB2YXIgaXNIb3N0ID0gdGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHRhZyA9PT0gSG9zdFRleHQ7XG5cbiAgaWYgKGlzSG9zdCkge1xuICAgIHZhciBzdGF0ZU5vZGUgPSBub2RlLnN0YXRlTm9kZTtcblxuICAgIGlmIChiZWZvcmUpIHtcbiAgICAgIGluc2VydEluQ29udGFpbmVyQmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBlbmRDaGlsZFRvQ29udGFpbmVyKHBhcmVudCwgc3RhdGVOb2RlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodGFnID09PSBIb3N0UG9ydGFsKSA7IGVsc2Uge1xuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgICBpZiAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIoY2hpbGQsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcblxuICAgICAgd2hpbGUgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlSW50b0NvbnRhaW5lcihzaWJsaW5nLCBiZWZvcmUsIHBhcmVudCk7XG4gICAgICAgIHNpYmxpbmcgPSBzaWJsaW5nLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZShub2RlLCBiZWZvcmUsIHBhcmVudCkge1xuICB2YXIgdGFnID0gbm9kZS50YWc7XG4gIHZhciBpc0hvc3QgPSB0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgdGFnID09PSBIb3N0VGV4dDtcblxuICBpZiAoaXNIb3N0KSB7XG4gICAgdmFyIHN0YXRlTm9kZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgaWYgKGJlZm9yZSkge1xuICAgICAgaW5zZXJ0QmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBlbmRDaGlsZChwYXJlbnQsIHN0YXRlTm9kZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIHtcbiAgICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkO1xuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGUoY2hpbGQsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcblxuICAgICAgd2hpbGUgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKHNpYmxpbmcsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgICAgc2libGluZyA9IHNpYmxpbmcuc2libGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gLy8gVGhlc2UgYXJlIHRyYWNrZWQgb24gdGhlIHN0YWNrIGFzIHdlIHJlY3Vyc2l2ZWx5IHRyYXZlcnNlIGFcbi8vIGRlbGV0ZWQgc3VidHJlZS5cbi8vIFRPRE86IFVwZGF0ZSB0aGVzZSBkdXJpbmcgdGhlIHdob2xlIG11dGF0aW9uIHBoYXNlLCBub3QganVzdCBkdXJpbmdcbi8vIGEgZGVsZXRpb24uXG5cblxudmFyIGhvc3RQYXJlbnQgPSBudWxsO1xudmFyIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuXG5mdW5jdGlvbiBjb21taXREZWxldGlvbkVmZmVjdHMocm9vdCwgcmV0dXJuRmliZXIsIGRlbGV0ZWRGaWJlcikge1xuICB7XG4gICAgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgZGVsZXRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIC8vIFJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgaG9zdCBub2RlcyBmcm9tIHRoZSBwYXJlbnQsIGRldGFjaCByZWZzLCBjbGVhblxuICAgIC8vIHVwIG1vdW50ZWQgbGF5b3V0IGVmZmVjdHMsIGFuZCBjYWxsIGNvbXBvbmVudFdpbGxVbm1vdW50LlxuICAgIC8vIFdlIG9ubHkgbmVlZCB0byByZW1vdmUgdGhlIHRvcG1vc3QgaG9zdCBjaGlsZCBpbiBlYWNoIGJyYW5jaC4gQnV0IHRoZW4gd2VcbiAgICAvLyBzdGlsbCBuZWVkIHRvIGtlZXAgdHJhdmVyc2luZyB0byB1bm1vdW50IGVmZmVjdHMsIHJlZnMsIGFuZCBjV1UuIFRPRE86IFdlXG4gICAgLy8gY291bGQgc3BsaXQgdGhpcyBpbnRvIHR3byBzZXBhcmF0ZSB0cmF2ZXJzYWxzIGZ1bmN0aW9ucywgd2hlcmUgdGhlIHNlY29uZFxuICAgIC8vIG9uZSBkb2Vzbid0IGluY2x1ZGUgYW55IHJlbW92ZUNoaWxkIGxvZ2ljLiBUaGlzIGlzIG1heWJlIHRoZSBzYW1lXG4gICAgLy8gZnVuY3Rpb24gYXMgXCJkaXNhcHBlYXJMYXlvdXRFZmZlY3RzXCIgKG9yIHdoYXRldmVyIHRoYXQgdHVybnMgaW50byBhZnRlclxuICAgIC8vIHRoZSBsYXlvdXQgcGhhc2UgaXMgcmVmYWN0b3JlZCB0byB1c2UgcmVjdXJzaW9uKS5cbiAgICAvLyBCZWZvcmUgc3RhcnRpbmcsIGZpbmQgdGhlIG5lYXJlc3QgaG9zdCBwYXJlbnQgb24gdGhlIHN0YWNrIHNvIHdlIGtub3dcbiAgICAvLyB3aGljaCBpbnN0YW5jZS9jb250YWluZXIgdG8gcmVtb3ZlIHRoZSBjaGlsZHJlbiBmcm9tLlxuICAgIC8vIFRPRE86IEluc3RlYWQgb2Ygc2VhcmNoaW5nIHVwIHRoZSBmaWJlciByZXR1cm4gcGF0aCBvbiBldmVyeSBkZWxldGlvbiwgd2VcbiAgICAvLyBjYW4gdHJhY2sgdGhlIG5lYXJlc3QgaG9zdCBjb21wb25lbnQgb24gdGhlIEpTIHN0YWNrIGFzIHdlIHRyYXZlcnNlIHRoZVxuICAgIC8vIHRyZWUgZHVyaW5nIHRoZSBjb21taXQgcGhhc2UuIFRoaXMgd291bGQgbWFrZSBpbnNlcnRpb25zIGZhc3RlciwgdG9vLlxuICAgIHZhciBwYXJlbnQgPSByZXR1cm5GaWJlcjtcblxuICAgIGZpbmRQYXJlbnQ6IHdoaWxlIChwYXJlbnQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocGFyZW50LnRhZykge1xuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGU7XG4gICAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGJyZWFrIGZpbmRQYXJlbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcGFyZW50ID0gcGFyZW50LnJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaG9zdFBhcmVudCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBmaW5kIGEgaG9zdCBwYXJlbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSAnICsgJ2EgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICBjb21taXREZWxldGlvbkVmZmVjdHNPbkZpYmVyKHJvb3QsIHJldHVybkZpYmVyLCBkZWxldGVkRmliZXIpO1xuICAgIGhvc3RQYXJlbnQgPSBudWxsO1xuICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuICB9XG5cbiAgZGV0YWNoRmliZXJNdXRhdGlvbihkZWxldGVkRmliZXIpO1xufVxuXG5mdW5jdGlvbiByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgcGFyZW50KSB7XG4gIC8vIFRPRE86IFVzZSBhIHN0YXRpYyBmbGFnIHRvIHNraXAgdHJlZXMgdGhhdCBkb24ndCBoYXZlIHVubW91bnQgZWZmZWN0c1xuICB2YXIgY2hpbGQgPSBwYXJlbnQuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgY29tbWl0RGVsZXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGNoaWxkKTtcbiAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RGVsZXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcikge1xuICBvbkNvbW1pdFVubW91bnQoZGVsZXRlZEZpYmVyKTsgLy8gVGhlIGNhc2VzIGluIHRoaXMgb3V0ZXIgc3dpdGNoIG1vZGlmeSB0aGUgc3RhY2sgYmVmb3JlIHRoZXkgdHJhdmVyc2VcbiAgLy8gaW50byB0aGVpciBzdWJ0cmVlLiBUaGVyZSBhcmUgc2ltcGxlciBjYXNlcyBpbiB0aGUgaW5uZXIgc3dpdGNoXG4gIC8vIHRoYXQgZG9uJ3QgbW9kaWZ5IHRoZSBzdGFjay5cblxuICBzd2l0Y2ggKGRlbGV0ZWRGaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIGlmICghb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgIHNhZmVseURldGFjaFJlZihkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgICAgICB9IC8vIEludGVudGlvbmFsIGZhbGx0aHJvdWdoIHRvIG5leHQgYnJhbmNoXG5cbiAgICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUtbm8tZmFsbHRocm91Z2hcblxuICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICB7XG4gICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0byByZW1vdmUgdGhlIG5lYXJlc3QgaG9zdCBjaGlsZC4gU2V0IHRoZSBob3N0IHBhcmVudFxuICAgICAgICAvLyB0byBgbnVsbGAgb24gdGhlIHN0YWNrIHRvIGluZGljYXRlIHRoYXQgbmVzdGVkIGNoaWxkcmVuIGRvbid0XG4gICAgICAgIC8vIG5lZWQgdG8gYmUgcmVtb3ZlZC5cbiAgICAgICAge1xuICAgICAgICAgIHZhciBwcmV2SG9zdFBhcmVudCA9IGhvc3RQYXJlbnQ7XG4gICAgICAgICAgdmFyIHByZXZIb3N0UGFyZW50SXNDb250YWluZXIgPSBob3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IG51bGw7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IHByZXZIb3N0UGFyZW50O1xuICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHByZXZIb3N0UGFyZW50SXNDb250YWluZXI7XG5cbiAgICAgICAgICBpZiAoaG9zdFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gTm93IHRoYXQgYWxsIHRoZSBjaGlsZCBlZmZlY3RzIGhhdmUgdW5tb3VudGVkLCB3ZSBjYW4gcmVtb3ZlIHRoZVxuICAgICAgICAgICAgLy8gbm9kZSBmcm9tIHRoZSB0cmVlLlxuICAgICAgICAgICAgaWYgKGhvc3RQYXJlbnRJc0NvbnRhaW5lcikge1xuICAgICAgICAgICAgICByZW1vdmVDaGlsZEZyb21Db250YWluZXIoaG9zdFBhcmVudCwgZGVsZXRlZEZpYmVyLnN0YXRlTm9kZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZW1vdmVDaGlsZChob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIERlaHlkcmF0ZWRGcmFnbWVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gRGVsZXRlIHRoZSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGJvdW5kYXJ5IGFuZCBhbGwgb2YgaXRzIGNvbnRlbnQuXG5cblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKGhvc3RQYXJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChob3N0UGFyZW50SXNDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5RnJvbUNvbnRhaW5lcihob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNsZWFyU3VzcGVuc2VCb3VuZGFyeShob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXaGVuIHdlIGdvIGludG8gYSBwb3J0YWwsIGl0IGJlY29tZXMgdGhlIHBhcmVudCB0byByZW1vdmUgZnJvbS5cbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50ID0gaG9zdFBhcmVudDtcbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXIgPSBob3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSB0cnVlO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICAgIGhvc3RQYXJlbnQgPSBfcHJldkhvc3RQYXJlbnQ7XG4gICAgICAgICAgaG9zdFBhcmVudElzQ29udGFpbmVyID0gX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBkZWxldGVkRmliZXIudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBsYXN0RWZmZWN0ID0gdXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgICAgICAgICAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgICAgICAgICAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XG5cbiAgICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIHZhciBfZWZmZWN0ID0gZWZmZWN0LFxuICAgICAgICAgICAgICAgICAgICBkZXN0cm95ID0gX2VmZmVjdC5kZXN0cm95LFxuICAgICAgICAgICAgICAgICAgICB0YWcgPSBfZWZmZWN0LnRhZztcblxuICAgICAgICAgICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIGlmICgodGFnICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCh0YWcgJiBMYXlvdXQpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZChkZWxldGVkRmliZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCBkZWxldGVkRmliZXIubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG4gICAgICAgICAgICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBzYWZlbHlDYWxsRGVzdHJveShkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RvcHBlZCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgICAgICAgICAgIH0gd2hpbGUgKGVmZmVjdCAhPT0gZmlyc3RFZmZlY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoZGVsZXRlZEZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBkZWxldGVkRmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgaW5zdGFuY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAge1xuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCAvLyBUT0RPOiBSZW1vdmUgdGhpcyBkZWFkIGZsYWdcbiAgICAgICAgIGRlbGV0ZWRGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIG9mZnNjcmVlbiBjb21wb25lbnQgaXMgaGlkZGVuLCB3ZSBhbHJlYWR5IHVubW91bnRlZCBpdC4gQmVmb3JlXG4gICAgICAgICAgLy8gZGVsZXRpbmcgdGhlIGNoaWxkcmVuLCB0cmFjayB0aGF0IGl0J3MgYWxyZWFkeSB1bm1vdW50ZWQgc28gdGhhdCB3ZVxuICAgICAgICAgIC8vIGRvbid0IGF0dGVtcHQgdG8gdW5tb3VudCB0aGUgZWZmZWN0cyBhZ2Fpbi5cbiAgICAgICAgICAvLyBUT0RPOiBJZiB0aGUgdHJlZSBpcyBoaWRkZW4sIGluIG1vc3QgY2FzZXMgd2Ugc2hvdWxkIGJlIGFibGUgdG8gc2tpcFxuICAgICAgICAgIC8vIG92ZXIgdGhlIG5lc3RlZCBjaGlsZHJlbiBlbnRpcmVseS4gQW4gZXhjZXB0aW9uIGlzIHdlIGhhdmVuJ3QgeWV0IGZvdW5kXG4gICAgICAgICAgLy8gdGhlIHRvcG1vc3QgaG9zdCBub2RlIHRvIGRlbGV0ZSwgd2hpY2ggd2UgYWxyZWFkeSB0cmFjayBvbiB0aGUgc3RhY2suXG4gICAgICAgICAgLy8gQnV0IHRoZSBvdGhlciBjYXNlIGlzIHBvcnRhbHMsIHdoaWNoIG5lZWQgdG8gYmUgZGV0YWNoZWQgbm8gbWF0dGVyIGhvd1xuICAgICAgICAgIC8vIGRlZXBseSB0aGV5IGFyZSBuZXN0ZWQuIFdlIHNob3VsZCB1c2UgYSBzdWJ0cmVlIGZsYWcgdG8gdHJhY2sgd2hldGhlciBhXG4gICAgICAgICAgLy8gc3VidHJlZSBpbmNsdWRlcyBhIG5lc3RlZCBwb3J0YWwuXG4gICAgICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gfHwgZGVsZXRlZEZpYmVyLm1lbW9pemVkU3RhdGUgIT09IG51bGw7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IHByZXZPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFN1c3BlbnNlQ2FsbGJhY2soZmluaXNoZWRXb3JrKSB7XG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0byBwYXNzaXZlIHBoYXNlXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xufVxuXG5mdW5jdGlvbiBjb21taXRTdXNwZW5zZUh5ZHJhdGlvbkNhbGxiYWNrcyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaykge1xuXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChuZXdTdGF0ZSA9PT0gbnVsbCkge1xuICAgIHZhciBjdXJyZW50ID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gcHJldlN0YXRlLmRlaHlkcmF0ZWQ7XG5cbiAgICAgICAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBjb21taXRIeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspIHtcbiAgLy8gSWYgdGhpcyBib3VuZGFyeSBqdXN0IHRpbWVkIG91dCwgdGhlbiBpdCB3aWxsIGhhdmUgYSBzZXQgb2Ygd2FrZWFibGVzLlxuICAvLyBGb3IgZWFjaCB3YWtlYWJsZSwgYXR0YWNoIGEgbGlzdGVuZXIgc28gdGhhdCB3aGVuIGl0IHJlc29sdmVzLCBSZWFjdFxuICAvLyBhdHRlbXB0cyB0byByZS1yZW5kZXIgdGhlIGJvdW5kYXJ5IGluIHRoZSBwcmltYXJ5IChwcmUtdGltZW91dCkgc3RhdGUuXG4gIHZhciB3YWtlYWJsZXMgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XG5cbiAgaWYgKHdha2VhYmxlcyAhPT0gbnVsbCkge1xuICAgIGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgdmFyIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuXG4gICAgaWYgKHJldHJ5Q2FjaGUgPT09IG51bGwpIHtcbiAgICAgIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID0gbmV3IFBvc3NpYmx5V2Vha1NldCgpO1xuICAgIH1cblxuICAgIHdha2VhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uICh3YWtlYWJsZSkge1xuICAgICAgLy8gTWVtb2l6ZSB1c2luZyB0aGUgYm91bmRhcnkgZmliZXIgdG8gcHJldmVudCByZWR1bmRhbnQgbGlzdGVuZXJzLlxuICAgICAgdmFyIHJldHJ5ID0gcmVzb2x2ZVJldHJ5V2FrZWFibGUuYmluZChudWxsLCBmaW5pc2hlZFdvcmssIHdha2VhYmxlKTtcblxuICAgICAgaWYgKCFyZXRyeUNhY2hlLmhhcyh3YWtlYWJsZSkpIHtcbiAgICAgICAgcmV0cnlDYWNoZS5hZGQod2FrZWFibGUpO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgICAgIGlmIChpblByb2dyZXNzTGFuZXMgIT09IG51bGwgJiYgaW5Qcm9ncmVzc1Jvb3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBwZW5kaW5nIHdvcmsgc3RpbGwsIGFzc29jaWF0ZSB0aGUgb3JpZ2luYWwgdXBkYXRlcnMgd2l0aCBpdC5cbiAgICAgICAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhpblByb2dyZXNzUm9vdCwgaW5Qcm9ncmVzc0xhbmVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKCdFeHBlY3RlZCBmaW5pc2hlZCByb290IGFuZCBsYW5lcyB0byBiZSBzZXQuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgd2FrZWFibGUudGhlbihyZXRyeSwgcmV0cnkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59IC8vIFRoaXMgZnVuY3Rpb24gZGV0ZWN0cyB3aGVuIGEgU3VzcGVuc2UgYm91bmRhcnkgZ29lcyBmcm9tIHZpc2libGUgdG8gaGlkZGVuLlxuZnVuY3Rpb24gY29tbWl0TXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMpIHtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gY29tbWl0dGVkTGFuZXM7XG4gIGluUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290KTtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG4gIGluUHJvZ3Jlc3NSb290ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgbGFuZXMpIHtcbiAgLy8gRGVsZXRpb25zIGVmZmVjdHMgY2FuIGJlIHNjaGVkdWxlZCBvbiBhbnkgZmliZXIgdHlwZS4gVGhleSBuZWVkIHRvIGhhcHBlblxuICAvLyBiZWZvcmUgdGhlIGNoaWxkcmVuIGVmZmVjdHMgaGFlIGZpcmVkLlxuICB2YXIgZGVsZXRpb25zID0gcGFyZW50RmliZXIuZGVsZXRpb25zO1xuXG4gIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlbGV0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoaWxkVG9EZWxldGUgPSBkZWxldGlvbnNbaV07XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbW1pdERlbGV0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgY2hpbGRUb0RlbGV0ZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjaGlsZFRvRGVsZXRlLCBwYXJlbnRGaWJlciwgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwcmV2RGVidWdGaWJlciA9IGdldEN1cnJlbnRGaWJlcigpO1xuXG4gIGlmIChwYXJlbnRGaWJlci5zdWJ0cmVlRmxhZ3MgJiBNdXRhdGlvbk1hc2spIHtcbiAgICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNoaWxkKTtcbiAgICAgIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoY2hpbGQsIHJvb3QpO1xuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cbiAgfVxuXG4gIHNldEN1cnJlbnRGaWJlcihwcmV2RGVidWdGaWJlcik7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290LCBsYW5lcykge1xuICB2YXIgY3VycmVudCA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG4gIHZhciBmbGFncyA9IGZpbmlzaGVkV29yay5mbGFnczsgLy8gVGhlIGVmZmVjdCBmbGFnIHNob3VsZCBiZSBjaGVja2VkICphZnRlciogd2UgcmVmaW5lIHRoZSB0eXBlIG9mIGZpYmVyLFxuICAvLyBiZWNhdXNlIHRoZSBmaWJlciB0YWcgaXMgbW9yZSBzcGVjaWZpYy4gQW4gZXhjZXB0aW9uIGlzIGFueSBmbGFnIHJlbGF0ZWRcbiAgLy8gdG8gcmVjb25jaWxhdGlvbiwgYmVjYXVzZSB0aG9zZSBjYW4gYmUgc2V0IG9uIGFsbCBmaWJlciB0eXBlcy5cblxuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoSW5zZXJ0aW9uIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChJbnNlcnRpb24gfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH0gLy8gTGF5b3V0IGVmZmVjdHMgYXJlIGRlc3Ryb3llZCBkdXJpbmcgdGhlIG11dGF0aW9uIHBoYXNlIHNvIHRoYXQgYWxsXG4gICAgICAgICAgLy8gZGVzdHJveSBmdW5jdGlvbnMgZm9yIGFsbCBmaWJlcnMgYXJlIGNhbGxlZCBiZWZvcmUgYW55IGNyZWF0ZSBmdW5jdGlvbnMuXG4gICAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyBzaWJsaW5nIGNvbXBvbmVudCBlZmZlY3RzIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyLFxuICAgICAgICAgIC8vIGUuZy4gYSBkZXN0cm95IGZ1bmN0aW9uIGluIG9uZSBjb21wb25lbnQgc2hvdWxkIG5ldmVyIG92ZXJyaWRlIGEgcmVmIHNldFxuICAgICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXG5cblxuICAgICAgICAgIGlmICggZmluaXNoZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFJlZikge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCwgY3VycmVudC5yZXR1cm4pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpZiAoZmxhZ3MgJiBSZWYpIHtcbiAgICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQsIGN1cnJlbnQucmV0dXJuKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB7XG4gICAgICAgICAgLy8gVE9ETzogQ29udGVudFJlc2V0IGdldHMgY2xlYXJlZCBieSB0aGUgY2hpbGRyZW4gZHVyaW5nIHRoZSBjb21taXRcbiAgICAgICAgICAvLyBwaGFzZS4gVGhpcyBpcyBhIHJlZmFjdG9yIGhhemFyZCBiZWNhdXNlIGl0IG1lYW5zIHdlIG11c3QgcmVhZFxuICAgICAgICAgIC8vIGZsYWdzIHRoZSBmbGFncyBhZnRlciBgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzYCBoYXMgYWxyZWFkeSBydW47XG4gICAgICAgICAgLy8gdGhlIG9yZGVyIG1hdHRlcnMuIFdlIHNob3VsZCByZWZhY3RvciBzbyB0aGF0IENvbnRlbnRSZXNldCBkb2VzIG5vdFxuICAgICAgICAgIC8vIHJlbHkgb24gbXV0YXRpbmcgdGhlIGZsYWcgZHVyaW5nIGNvbW1pdC4gTGlrZSBieSBzZXR0aW5nIGEgZmxhZ1xuICAgICAgICAgIC8vIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlIGluc3RlYWQuXG4gICAgICAgICAgaWYgKGZpbmlzaGVkV29yay5mbGFncyAmIENvbnRlbnRSZXNldCkge1xuICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmVzZXRUZXh0Q29udGVudChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICAgIHZhciBfaW5zdGFuY2U0ID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgaWYgKF9pbnN0YW5jZTQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBDb21taXQgdGhlIHdvcmsgcHJlcGFyZWQgZWFybGllci5cbiAgICAgICAgICAgICAgdmFyIG5ld1Byb3BzID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcbiAgICAgICAgICAgICAgLy8gYXMgdGhlIG5ld1Byb3BzLiBUaGUgdXBkYXRlUGF5bG9hZCB3aWxsIGNvbnRhaW4gdGhlIHJlYWwgY2hhbmdlIGluXG4gICAgICAgICAgICAgIC8vIHRoaXMgY2FzZS5cblxuICAgICAgICAgICAgICB2YXIgb2xkUHJvcHMgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5tZW1vaXplZFByb3BzIDogbmV3UHJvcHM7XG4gICAgICAgICAgICAgIHZhciB0eXBlID0gZmluaXNoZWRXb3JrLnR5cGU7IC8vIFRPRE86IFR5cGUgdGhlIHVwZGF0ZVF1ZXVlIHRvIGJlIHNwZWNpZmljIHRvIGhvc3QgY29tcG9uZW50cy5cblxuICAgICAgICAgICAgICB2YXIgdXBkYXRlUGF5bG9hZCA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgICAgICAgICAgICAgZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlID0gbnVsbDtcblxuICAgICAgICAgICAgICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb21taXRVcGRhdGUoX2luc3RhbmNlNCwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgaGF2ZSBhIHRleHQgbm9kZSBpbml0aWFsaXplZC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgJyArICdjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgdGV4dEluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICAgICAgICAgIHZhciBuZXdUZXh0ID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcbiAgICAgICAgICAgIC8vIGFzIHRoZSBuZXdQcm9wcy4gVGhlIHVwZGF0ZVBheWxvYWQgd2lsbCBjb250YWluIHRoZSByZWFsIGNoYW5nZSBpblxuICAgICAgICAgICAgLy8gdGhpcyBjYXNlLlxuXG4gICAgICAgICAgICB2YXIgb2xkVGV4dCA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBuZXdUZXh0O1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb21taXRUZXh0VXBkYXRlKHRleHRJbnN0YW5jZSwgb2xkVGV4dCwgbmV3VGV4dCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBwcmV2Um9vdFN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgICAgICAgIGlmIChwcmV2Um9vdFN0YXRlLmlzRGVoeWRyYXRlZCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb21taXRIeWRyYXRlZENvbnRhaW5lcihyb290LmNvbnRhaW5lckluZm8pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgdmFyIG9mZnNjcmVlbkZpYmVyID0gZmluaXNoZWRXb3JrLmNoaWxkO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5GaWJlci5mbGFncyAmIFZpc2liaWxpdHkpIHtcbiAgICAgICAgICB2YXIgb2Zmc2NyZWVuSW5zdGFuY2UgPSBvZmZzY3JlZW5GaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgdmFyIG5ld1N0YXRlID0gb2Zmc2NyZWVuRmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICB2YXIgaXNIaWRkZW4gPSBuZXdTdGF0ZSAhPT0gbnVsbDsgLy8gVHJhY2sgdGhlIGN1cnJlbnQgc3RhdGUgb24gdGhlIE9mZnNjcmVlbiBpbnN0YW5jZSBzbyB3ZSBjYW5cbiAgICAgICAgICAvLyByZWFkIGl0IGR1cmluZyBhbiBldmVudFxuXG4gICAgICAgICAgb2Zmc2NyZWVuSW5zdGFuY2UuaXNIaWRkZW4gPSBpc0hpZGRlbjtcblxuICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgdmFyIHdhc0hpZGRlbiA9IG9mZnNjcmVlbkZpYmVyLmFsdGVybmF0ZSAhPT0gbnVsbCAmJiBvZmZzY3JlZW5GaWJlci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgICAgaWYgKCF3YXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgLy8gVE9ETzogTW92ZSB0byBwYXNzaXZlIHBoYXNlXG4gICAgICAgICAgICAgIG1hcmtDb21taXRUaW1lT2ZGYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRTdXNwZW5zZUNhbGxiYWNrKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX3dhc0hpZGRlbiA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmICggLy8gVE9ETzogUmVtb3ZlIHRoaXMgZGVhZCBmbGFnXG4gICAgICAgICBmaW5pc2hlZFdvcmsubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICAgICAgLy8gQmVmb3JlIGNvbW1pdHRpbmcgdGhlIGNoaWxkcmVuLCB0cmFjayBvbiB0aGUgc3RhY2sgd2hldGhlciB0aGlzXG4gICAgICAgICAgLy8gb2Zmc2NyZWVuIHN1YnRyZWUgd2FzIGFscmVhZHkgaGlkZGVuLCBzbyB0aGF0IHdlIGRvbid0IHVubW91bnQgdGhlXG4gICAgICAgICAgLy8gZWZmZWN0cyBhZ2Fpbi5cbiAgICAgICAgICB2YXIgcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiB8fCBfd2FzSGlkZGVuO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVmlzaWJpbGl0eSkge1xuICAgICAgICAgIHZhciBfb2Zmc2NyZWVuSW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICAgIHZhciBfbmV3U3RhdGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICAgIHZhciBfaXNIaWRkZW4gPSBfbmV3U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICB2YXIgb2Zmc2NyZWVuQm91bmRhcnkgPSBmaW5pc2hlZFdvcms7IC8vIFRyYWNrIHRoZSBjdXJyZW50IHN0YXRlIG9uIHRoZSBPZmZzY3JlZW4gaW5zdGFuY2Ugc28gd2UgY2FuXG4gICAgICAgICAgLy8gcmVhZCBpdCBkdXJpbmcgYW4gZXZlbnRcblxuICAgICAgICAgIF9vZmZzY3JlZW5JbnN0YW5jZS5pc0hpZGRlbiA9IF9pc0hpZGRlbjtcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChfaXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaWYgKCFfd2FzSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKChvZmZzY3JlZW5Cb3VuZGFyeS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAgICAgICAgIG5leHRFZmZlY3QgPSBvZmZzY3JlZW5Cb3VuZGFyeTtcbiAgICAgICAgICAgICAgICAgIHZhciBvZmZzY3JlZW5DaGlsZCA9IG9mZnNjcmVlbkJvdW5kYXJ5LmNoaWxkO1xuXG4gICAgICAgICAgICAgICAgICB3aGlsZSAob2Zmc2NyZWVuQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dEVmZmVjdCA9IG9mZnNjcmVlbkNoaWxkO1xuICAgICAgICAgICAgICAgICAgICBkaXNhcHBlYXJMYXlvdXRFZmZlY3RzX2JlZ2luKG9mZnNjcmVlbkNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2NyZWVuQ2hpbGQgPSBvZmZzY3JlZW5DaGlsZC5zaWJsaW5nO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgbmVlZHMgdG8gcnVuIHdoZW5ldmVyIHRoZXJlJ3MgYW4gaW5zZXJ0aW9uIG9yIHVwZGF0ZVxuICAgICAgICAgICAgLy8gaW5zaWRlIGEgaGlkZGVuIE9mZnNjcmVlbiB0cmVlLlxuICAgICAgICAgICAgaGlkZU9yVW5oaWRlQWxsQ2hpbGRyZW4ob2Zmc2NyZWVuQm91bmRhcnksIF9pc0hpZGRlbik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yaykge1xuICAvLyBQbGFjZW1lbnQgZWZmZWN0cyAoaW5zZXJ0aW9ucywgcmVvcmRlcnMpIGNhbiBiZSBzY2hlZHVsZWQgb24gYW55IGZpYmVyXG4gIC8vIHR5cGUuIFRoZXkgbmVlZHMgdG8gaGFwcGVuIGFmdGVyIHRoZSBjaGlsZHJlbiBlZmZlY3RzIGhhdmUgZmlyZWQsIGJ1dFxuICAvLyBiZWZvcmUgdGhlIGVmZmVjdHMgb24gdGhpcyBmaWJlciBoYXZlIGZpcmVkLlxuICB2YXIgZmxhZ3MgPSBmaW5pc2hlZFdvcmsuZmxhZ3M7XG5cbiAgaWYgKGZsYWdzICYgUGxhY2VtZW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbW1pdFBsYWNlbWVudChmaW5pc2hlZFdvcmspO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICB9IC8vIENsZWFyIHRoZSBcInBsYWNlbWVudFwiIGZyb20gZWZmZWN0IHRhZyBzbyB0aGF0IHdlIGtub3cgdGhhdCB0aGlzIGlzXG4gICAgLy8gaW5zZXJ0ZWQsIGJlZm9yZSBhbnkgbGlmZS1jeWNsZXMgbGlrZSBjb21wb25lbnREaWRNb3VudCBnZXRzIGNhbGxlZC5cbiAgICAvLyBUT0RPOiBmaW5kRE9NTm9kZSBkb2Vzbid0IHJlbHkgb24gdGhpcyBhbnkgbW9yZSBidXQgaXNNb3VudGVkIGRvZXNcbiAgICAvLyBhbmQgaXNNb3VudGVkIGlzIGRlcHJlY2F0ZWQgYW55d2F5IHNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIGtpbGwgdGhpcy5cblxuXG4gICAgZmluaXNoZWRXb3JrLmZsYWdzICY9IH5QbGFjZW1lbnQ7XG4gIH1cblxuICBpZiAoZmxhZ3MgJiBIeWRyYXRpbmcpIHtcbiAgICBmaW5pc2hlZFdvcmsuZmxhZ3MgJj0gfkh5ZHJhdGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yaywgcm9vdCwgY29tbWl0dGVkTGFuZXMpIHtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gY29tbWl0dGVkTGFuZXM7XG4gIGluUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgbmV4dEVmZmVjdCA9IGZpbmlzaGVkV29yaztcbiAgY29tbWl0TGF5b3V0RWZmZWN0c19iZWdpbihmaW5pc2hlZFdvcmssIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gbnVsbDtcbiAgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcykge1xuICAvLyBTdXNwZW5zZSBsYXlvdXQgZWZmZWN0cyBzZW1hbnRpY3MgZG9uJ3QgY2hhbmdlIGZvciBsZWdhY3kgcm9vdHMuXG4gIHZhciBpc01vZGVyblJvb3QgPSAoc3VidHJlZVJvb3QubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuXG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcbiAgICB2YXIgZmlyc3RDaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKCBmaWJlci50YWcgPT09IE9mZnNjcmVlbkNvbXBvbmVudCAmJiBpc01vZGVyblJvb3QpIHtcbiAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgT2Zmc2NyZWVuIHN0YWNrJ3Mgc3RhdGUuXG4gICAgICB2YXIgaXNIaWRkZW4gPSBmaWJlci5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuICAgICAgdmFyIG5ld09mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiA9IGlzSGlkZGVuIHx8IG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbjtcblxuICAgICAgaWYgKG5ld09mZnNjcmVlblN1YnRyZWVJc0hpZGRlbikge1xuICAgICAgICAvLyBUaGUgT2Zmc2NyZWVuIHRyZWUgaXMgaGlkZGVuLiBTa2lwIG92ZXIgaXRzIGxheW91dCBlZmZlY3RzLlxuICAgICAgICBjb21taXRMYXlvdXRNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPIChPZmZzY3JlZW4pIEFsc28gY2hlY2s6IHN1YnRyZWVGbGFncyAmIExheW91dE1hc2tcbiAgICAgICAgdmFyIGN1cnJlbnQgPSBmaWJlci5hbHRlcm5hdGU7XG4gICAgICAgIHZhciB3YXNIaWRkZW4gPSBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcbiAgICAgICAgdmFyIG5ld09mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSB3YXNIaWRkZW4gfHwgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIHZhciBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47IC8vIFRyYXZlcnNlIHRoZSBPZmZzY3JlZW4gc3VidHJlZSB3aXRoIHRoZSBjdXJyZW50IE9mZnNjcmVlbiBhcyB0aGUgcm9vdC5cblxuICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBuZXdPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBuZXdPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuICYmICFwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHJvb3Qgb2YgYSByZWFwcGVhcmluZyBib3VuZGFyeS4gVHVybiBpdHMgbGF5b3V0IGVmZmVjdHNcbiAgICAgICAgICAvLyBiYWNrIG9uLlxuICAgICAgICAgIG5leHRFZmZlY3QgPSBmaWJlcjtcbiAgICAgICAgICByZWFwcGVhckxheW91dEVmZmVjdHNfYmVnaW4oZmliZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNoaWxkID0gZmlyc3RDaGlsZDtcblxuICAgICAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgICAgICAgY29tbWl0TGF5b3V0RWZmZWN0c19iZWdpbihjaGlsZCwgLy8gTmV3IHJvb3Q7IGJ1YmJsZSBiYWNrIHVwIHRvIGhlcmUgYW5kIHN0b3AuXG4gICAgICAgICAgcm9vdCwgY29tbWl0dGVkTGFuZXMpO1xuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICAgICAgfSAvLyBSZXN0b3JlIE9mZnNjcmVlbiBzdGF0ZSBhbmQgcmVzdW1lIGluIG91ci1wcm9ncmVzcyB0cmF2ZXJzYWwuXG5cblxuICAgICAgICBuZXh0RWZmZWN0ID0gZmliZXI7XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiA9IHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgY29tbWl0TGF5b3V0TW91bnRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcyk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICgoZmliZXIuc3VidHJlZUZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MgJiYgZmlyc3RDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgZmlyc3RDaGlsZC5yZXR1cm4gPSBmaWJlcjtcbiAgICAgIG5leHRFZmZlY3QgPSBmaXJzdENoaWxkO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21taXRMYXlvdXRNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0TGF5b3V0TW91bnRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcykge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG5cbiAgICBpZiAoKGZpYmVyLmZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHZhciBjdXJyZW50ID0gZmliZXIuYWx0ZXJuYXRlO1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29tbWl0TGF5b3V0RWZmZWN0T25GaWJlcihyb290LCBjdXJyZW50LCBmaWJlciwgY29tbWl0dGVkTGFuZXMpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIH1cblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzYXBwZWFyTGF5b3V0RWZmZWN0c19iZWdpbihzdWJ0cmVlUm9vdCkge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG4gICAgdmFyIGZpcnN0Q2hpbGQgPSBmaWJlci5jaGlsZDsgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiAoUmVmU3RhdGljIHwgTGF5b3V0U3RhdGljKVxuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoIGZpYmVyLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0LCBmaWJlciwgZmliZXIucmV0dXJuKTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpYmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCwgZmliZXIsIGZpYmVyLnJldHVybik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgUmVmU3RhdGljXG4gICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVubW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChmaWJlciwgZmliZXIucmV0dXJuLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhXG4gICAgICAgICAgdmFyIGlzSGlkZGVuID0gZmliZXIubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgLy8gTmVzdGVkIE9mZnNjcmVlbiB0cmVlIGlzIGFscmVhZHkgaGlkZGVuLiBEb24ndCBkaXNhcHBlYXJcbiAgICAgICAgICAgIC8vIGl0cyBlZmZlY3RzLlxuICAgICAgICAgICAgZGlzYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogc3VidHJlZUZsYWdzICYgTGF5b3V0U3RhdGljXG5cblxuICAgIGlmIChmaXJzdENoaWxkICE9PSBudWxsKSB7XG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc2FwcGVhckxheW91dEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkaXNhcHBlYXJMYXlvdXRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290KSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhcHBlYXJMYXlvdXRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290KSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcbiAgICB2YXIgZmlyc3RDaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKGZpYmVyLnRhZyA9PT0gT2Zmc2NyZWVuQ29tcG9uZW50KSB7XG4gICAgICB2YXIgaXNIaWRkZW4gPSBmaWJlci5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICBpZiAoaXNIaWRkZW4pIHtcbiAgICAgICAgLy8gTmVzdGVkIE9mZnNjcmVlbiB0cmVlIGlzIHN0aWxsIGhpZGRlbi4gRG9uJ3QgcmUtYXBwZWFyIGl0cyBlZmZlY3RzLlxuICAgICAgICByZWFwcGVhckxheW91dEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9IC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IHN1YnRyZWVGbGFncyAmIExheW91dFN0YXRpY1xuXG5cbiAgICBpZiAoZmlyc3RDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBub2RlIG1heSBoYXZlIGJlZW4gcmV1c2VkIGZyb20gYSBwcmV2aW91cyByZW5kZXIsIHNvIHdlIGNhbid0XG4gICAgICAvLyBhc3N1bWUgaXRzIHJldHVybiBwb2ludGVyIGlzIGNvcnJlY3QuXG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCkge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7IC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgTGF5b3V0U3RhdGljXG5cbiAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJlYXBwZWFyTGF5b3V0RWZmZWN0c09uRmliZXIoZmliZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgfVxuXG4gICAgcmVzZXRDdXJyZW50RmliZXIoKTtcblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIG5vZGUgbWF5IGhhdmUgYmVlbiByZXVzZWQgZnJvbSBhIHByZXZpb3VzIHJlbmRlciwgc28gd2UgY2FuJ3RcbiAgICAgIC8vIGFzc3VtZSBpdHMgcmV0dXJuIHBvaW50ZXIgaXMgY29ycmVjdC5cbiAgICAgIHNpYmxpbmcucmV0dXJuID0gZmliZXIucmV0dXJuO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IGZpYmVyLnJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zKSB7XG4gIG5leHRFZmZlY3QgPSBmaW5pc2hlZFdvcms7XG4gIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfYmVnaW4oZmluaXNoZWRXb3JrLCByb290LCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBmaXJzdENoaWxkID0gZmliZXIuY2hpbGQ7XG5cbiAgICBpZiAoKGZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyAmJiBmaXJzdENoaWxkICE9PSBudWxsKSB7XG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucykge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG5cbiAgICBpZiAoKGZpYmVyLmZsYWdzICYgUGFzc2l2ZSkgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbW1pdFBhc3NpdmVNb3VudE9uRmliZXIocm9vdCwgZmliZXIsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyID09PSBzdWJ0cmVlUm9vdCkge1xuICAgICAgbmV4dEVmZmVjdCA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHNpYmxpbmcgPSBmaWJlci5zaWJsaW5nO1xuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIHNpYmxpbmcucmV0dXJuID0gZmliZXIucmV0dXJuO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IGZpYmVyLnJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRPbkZpYmVyKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpIHtcbiAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICBzdGFydFBhc3NpdmVFZmZlY3RUaW1lcigpO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICByZWNvcmRQYXNzaXZlRWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHMoZmlyc3RDaGlsZCkge1xuICBuZXh0RWZmZWN0ID0gZmlyc3RDaGlsZDtcbiAgY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzX2JlZ2luKCk7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c19iZWdpbigpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKChuZXh0RWZmZWN0LmZsYWdzICYgQ2hpbGREZWxldGlvbikgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHZhciBkZWxldGlvbnMgPSBmaWJlci5kZWxldGlvbnM7XG5cbiAgICAgIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZWxldGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgZmliZXJUb0RlbGV0ZSA9IGRlbGV0aW9uc1tpXTtcbiAgICAgICAgICBuZXh0RWZmZWN0ID0gZmliZXJUb0RlbGV0ZTtcbiAgICAgICAgICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNJbnNpZGVPZkRlbGV0ZWRUcmVlX2JlZ2luKGZpYmVyVG9EZWxldGUsIGZpYmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBBIGZpYmVyIHdhcyBkZWxldGVkIGZyb20gdGhpcyBwYXJlbnQgZmliZXIsIGJ1dCBpdCdzIHN0aWxsIHBhcnQgb2ZcbiAgICAgICAgICAvLyB0aGUgcHJldmlvdXMgKGFsdGVybmF0ZSkgcGFyZW50IGZpYmVyJ3MgbGlzdCBvZiBjaGlsZHJlbi4gQmVjYXVzZVxuICAgICAgICAgIC8vIGNoaWxkcmVuIGFyZSBhIGxpbmtlZCBsaXN0LCBhbiBlYXJsaWVyIHNpYmxpbmcgdGhhdCdzIHN0aWxsIGFsaXZlXG4gICAgICAgICAgLy8gd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIGRlbGV0ZWQgZmliZXIgdmlhIGl0cyBgYWx0ZXJuYXRlYDpcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vICAgbGl2ZSBmaWJlclxuICAgICAgICAgIC8vICAgLS1hbHRlcm5hdGUtLT4gcHJldmlvdXMgbGl2ZSBmaWJlclxuICAgICAgICAgIC8vICAgLS1zaWJsaW5nLS0+IGRlbGV0ZWQgZmliZXJcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFdlIGNhbid0IGRpc2Nvbm5lY3QgYGFsdGVybmF0ZWAgb24gbm9kZXMgdGhhdCBoYXZlbid0IGJlZW4gZGVsZXRlZFxuICAgICAgICAgIC8vIHlldCwgYnV0IHdlIGNhbiBkaXNjb25uZWN0IHRoZSBgc2libGluZ2AgYW5kIGBjaGlsZGAgcG9pbnRlcnMuXG4gICAgICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgICBpZiAocHJldmlvdXNGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIGRldGFjaGVkQ2hpbGQgPSBwcmV2aW91c0ZpYmVyLmNoaWxkO1xuXG4gICAgICAgICAgICBpZiAoZGV0YWNoZWRDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBwcmV2aW91c0ZpYmVyLmNoaWxkID0gbnVsbDtcblxuICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgdmFyIGRldGFjaGVkU2libGluZyA9IGRldGFjaGVkQ2hpbGQuc2libGluZztcbiAgICAgICAgICAgICAgICBkZXRhY2hlZENoaWxkLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgICAgICAgIGRldGFjaGVkQ2hpbGQgPSBkZXRhY2hlZFNpYmxpbmc7XG4gICAgICAgICAgICAgIH0gd2hpbGUgKGRldGFjaGVkQ2hpbGQgIT09IG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5leHRFZmZlY3QgPSBmaWJlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoKGZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyAmJiBjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgY2hpbGQucmV0dXJuID0gZmliZXI7XG4gICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c19jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNfY29tcGxldGUoKSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcblxuICAgIGlmICgoZmliZXIuZmxhZ3MgJiBQYXNzaXZlKSAhPT0gTm9GbGFncykge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50T25GaWJlcihmaWJlcik7XG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRPbkZpYmVyKGZpbmlzaGVkV29yaykge1xuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIGlmICggZmluaXNoZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KFBhc3NpdmUkMSB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuKTtcbiAgICAgICAgICByZWNvcmRQYXNzaXZlRWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzSW5zaWRlT2ZEZWxldGVkVHJlZV9iZWdpbihkZWxldGVkU3VidHJlZVJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0OyAvLyBEZWxldGlvbiBlZmZlY3RzIGZpcmUgaW4gcGFyZW50IC0+IGNoaWxkIG9yZGVyXG4gICAgLy8gVE9ETzogQ2hlY2sgaWYgZmliZXIgaGFzIGEgUGFzc2l2ZVN0YXRpYyBmbGFnXG5cbiAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50SW5zaWRlRGVsZXRlZFRyZWVPbkZpYmVyKGZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkOyAvLyBUT0RPOiBPbmx5IHRyYXZlcnNlIHN1YnRyZWUgaWYgaXQgaGFzIGEgUGFzc2l2ZVN0YXRpYyBmbGFnLiAoQnV0LCBpZiB3ZVxuICAgIC8vIGRvIHRoaXMsIHN0aWxsIG5lZWQgdG8gaGFuZGxlIGBkZWxldGVkVHJlZUNsZWFuVXBMZXZlbGAgY29ycmVjdGx5LilcblxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgY2hpbGQucmV0dXJuID0gZmliZXI7XG4gICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c0luc2lkZU9mRGVsZXRlZFRyZWVfY29tcGxldGUoZGVsZXRlZFN1YnRyZWVSb290KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzSW5zaWRlT2ZEZWxldGVkVHJlZV9jb21wbGV0ZShkZWxldGVkU3VidHJlZVJvb3QpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcbiAgICB2YXIgcmV0dXJuRmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgICB7XG4gICAgICAvLyBSZWN1cnNpdmVseSB0cmF2ZXJzZSB0aGUgZW50aXJlIGRlbGV0ZWQgdHJlZSBhbmQgY2xlYW4gdXAgZmliZXIgZmllbGRzLlxuICAgICAgLy8gVGhpcyBpcyBtb3JlIGFnZ3Jlc3NpdmUgdGhhbiBpZGVhbCwgYW5kIHRoZSBsb25nIHRlcm0gZ29hbCBpcyB0byBvbmx5XG4gICAgICAvLyBoYXZlIHRvIGRldGFjaCB0aGUgZGVsZXRlZCB0cmVlIGF0IHRoZSByb290LlxuICAgICAgZGV0YWNoRmliZXJBZnRlckVmZmVjdHMoZmliZXIpO1xuXG4gICAgICBpZiAoZmliZXIgPT09IGRlbGV0ZWRTdWJ0cmVlUm9vdCkge1xuICAgICAgICBuZXh0RWZmZWN0ID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IHJldHVybkZpYmVyO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50SW5zaWRlRGVsZXRlZFRyZWVPbkZpYmVyKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgc3dpdGNoIChjdXJyZW50LnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCBjdXJyZW50Lm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KFBhc3NpdmUkMSwgY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcik7XG4gICAgICAgICAgcmVjb3JkUGFzc2l2ZUVmZmVjdER1cmF0aW9uKGN1cnJlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChQYXNzaXZlJDEsIGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn0gLy8gVE9ETzogUmV1c2UgcmVhcHBlYXJMYXlvdXRFZmZlY3RzIHRyYXZlcnNhbCBoZXJlP1xuXG5cbmZ1bmN0aW9uIGludm9rZUxheW91dEVmZmVjdE1vdW50SW5ERVYoZmliZXIpIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaWJlcik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VQYXNzaXZlRWZmZWN0TW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpYmVyKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGludm9rZUxheW91dEVmZmVjdFVubW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCB8IEhhc0VmZmVjdCwgZmliZXIsIGZpYmVyLnJldHVybik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGZpYmVyLCBmaWJlci5yZXR1cm4sIGluc3RhbmNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VQYXNzaXZlRWZmZWN0VW5tb3VudEluREVWKGZpYmVyKSB7XG4gIHtcbiAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHJlLWNoZWNrIFN0cmljdEVmZmVjdHNNb2RlIGhlcmUuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBpZiB0aGF0IGNoZWNrIGhhcyBhbHJlYWR5IHBhc3NlZC5cbiAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaWJlciwgZmliZXIucmV0dXJuKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgQ09NUE9ORU5UX1RZUEUgPSAwO1xudmFyIEhBU19QU0VVRE9fQ0xBU1NfVFlQRSA9IDE7XG52YXIgUk9MRV9UWVBFID0gMjtcbnZhciBURVNUX05BTUVfVFlQRSA9IDM7XG52YXIgVEVYVF9UWVBFID0gNDtcblxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcikge1xuICB2YXIgc3ltYm9sRm9yID0gU3ltYm9sLmZvcjtcbiAgQ09NUE9ORU5UX1RZUEUgPSBzeW1ib2xGb3IoJ3NlbGVjdG9yLmNvbXBvbmVudCcpO1xuICBIQVNfUFNFVURPX0NMQVNTX1RZUEUgPSBzeW1ib2xGb3IoJ3NlbGVjdG9yLmhhc19wc2V1ZG9fY2xhc3MnKTtcbiAgUk9MRV9UWVBFID0gc3ltYm9sRm9yKCdzZWxlY3Rvci5yb2xlJyk7XG4gIFRFU1RfTkFNRV9UWVBFID0gc3ltYm9sRm9yKCdzZWxlY3Rvci50ZXN0X2lkJyk7XG4gIFRFWFRfVFlQRSA9IHN5bWJvbEZvcignc2VsZWN0b3IudGV4dCcpO1xufVxudmFyIGNvbW1pdEhvb2tzID0gW107XG5mdW5jdGlvbiBvbkNvbW1pdFJvb3QkMSgpIHtcbiAge1xuICAgIGNvbW1pdEhvb2tzLmZvckVhY2goZnVuY3Rpb24gKGNvbW1pdEhvb2spIHtcbiAgICAgIHJldHVybiBjb21taXRIb29rKCk7XG4gICAgfSk7XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudEFjdFF1ZXVlID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QWN0UXVldWU7XG5mdW5jdGlvbiBpc0xlZ2FjeUFjdEVudmlyb25tZW50KGZpYmVyKSB7XG4gIHtcbiAgICAvLyBMZWdhY3kgbW9kZS4gV2UgcHJlc2VydmUgdGhlIGJlaGF2aW9yIG9mIFJlYWN0IDE3J3MgYWN0LiBJdCBhc3N1bWVzIGFuXG4gICAgLy8gYWN0IGVudmlyb25tZW50IHdoZW5ldmVyIGBqZXN0YCBpcyBkZWZpbmVkLCBidXQgeW91IGNhbiBzdGlsbCB0dXJuIG9mZlxuICAgIC8vIHNwdXJpb3VzIHdhcm5pbmdzIGJ5IHNldHRpbmcgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UIGV4cGxpY2l0bHlcbiAgICAvLyB0byBmYWxzZS5cbiAgICB2YXIgaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsID0gLy8gJEZsb3dFeHBlY3RlZEVycm9yIOKAkyBGbG93IGRvZXNuJ3Qga25vdyBhYm91dCBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgZ2xvYmFsXG4gICAgdHlwZW9mIElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCAhPT0gJ3VuZGVmaW5lZCcgPyBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgOiB1bmRlZmluZWQ7IC8vICRGbG93RXhwZWN0ZWRFcnJvciAtIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IGplc3RcblxuICAgIHZhciBqZXN0SXNEZWZpbmVkID0gdHlwZW9mIGplc3QgIT09ICd1bmRlZmluZWQnO1xuICAgIHJldHVybiAgamVzdElzRGVmaW5lZCAmJiBpc1JlYWN0QWN0RW52aXJvbm1lbnRHbG9iYWwgIT09IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpIHtcbiAge1xuICAgIHZhciBpc1JlYWN0QWN0RW52aXJvbm1lbnRHbG9iYWwgPSAvLyAkRmxvd0V4cGVjdGVkRXJyb3Ig4oCTIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCBnbG9iYWxcbiAgICB0eXBlb2YgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UICE9PSAndW5kZWZpbmVkJyA/IElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsICYmIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IEluY2x1ZGUgbGluayB0byByZWxldmFudCBkb2N1bWVudGF0aW9uIHBhZ2UuXG4gICAgICBlcnJvcignVGhlIGN1cnJlbnQgdGVzdGluZyBlbnZpcm9ubWVudCBpcyBub3QgY29uZmlndXJlZCB0byBzdXBwb3J0ICcgKyAnYWN0KC4uLiknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsO1xuICB9XG59XG5cbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyLFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcbiAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QWN0UXVldWU7XG52YXIgTm9Db250ZXh0ID1cbi8qICAgICAgICAgICAgICovXG4wO1xudmFyIEJhdGNoZWRDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgKi9cbjE7XG52YXIgUmVuZGVyQ29udGV4dCA9XG4vKiAgICAgICAgICAgICAgICAqL1xuMjtcbnZhciBDb21taXRDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgICovXG40O1xudmFyIFJvb3RJblByb2dyZXNzID0gMDtcbnZhciBSb290RmF0YWxFcnJvcmVkID0gMTtcbnZhciBSb290RXJyb3JlZCA9IDI7XG52YXIgUm9vdFN1c3BlbmRlZCA9IDM7XG52YXIgUm9vdFN1c3BlbmRlZFdpdGhEZWxheSA9IDQ7XG52YXIgUm9vdENvbXBsZXRlZCA9IDU7XG52YXIgUm9vdERpZE5vdENvbXBsZXRlID0gNjsgLy8gRGVzY3JpYmVzIHdoZXJlIHdlIGFyZSBpbiB0aGUgUmVhY3QgZXhlY3V0aW9uIHN0YWNrXG5cbnZhciBleGVjdXRpb25Db250ZXh0ID0gTm9Db250ZXh0OyAvLyBUaGUgcm9vdCB3ZSdyZSB3b3JraW5nIG9uXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsOyAvLyBUaGUgZmliZXIgd2UncmUgd29ya2luZyBvblxuXG52YXIgd29ya0luUHJvZ3Jlc3MgPSBudWxsOyAvLyBUaGUgbGFuZXMgd2UncmUgcmVuZGVyaW5nXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIFN0YWNrIHRoYXQgYWxsb3dzIGNvbXBvbmVudHMgdG8gY2hhbmdlIHRoZSByZW5kZXIgbGFuZXMgZm9yIGl0cyBzdWJ0cmVlXG4vLyBUaGlzIGlzIGEgc3VwZXJzZXQgb2YgdGhlIGxhbmVzIHdlIHN0YXJ0ZWQgd29ya2luZyBvbiBhdCB0aGUgcm9vdC4gVGhlIG9ubHlcbi8vIGNhc2Ugd2hlcmUgaXQncyBkaWZmZXJlbnQgZnJvbSBgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXNgIGlzIHdoZW4gd2Vcbi8vIGVudGVyIGEgc3VidHJlZSB0aGF0IGlzIGhpZGRlbiBhbmQgbmVlZHMgdG8gYmUgdW5oaWRkZW46IFN1c3BlbnNlIGFuZFxuLy8gT2Zmc2NyZWVuIGNvbXBvbmVudC5cbi8vXG4vLyBNb3N0IHRoaW5ncyBpbiB0aGUgd29yayBsb29wIHNob3VsZCBkZWFsIHdpdGggd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMuXG4vLyBNb3N0IHRoaW5ncyBpbiBiZWdpbi9jb21wbGV0ZSBwaGFzZXMgc2hvdWxkIGRlYWwgd2l0aCBzdWJ0cmVlUmVuZGVyTGFuZXMuXG5cbnZhciBzdWJ0cmVlUmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xudmFyIHN1YnRyZWVSZW5kZXJMYW5lc0N1cnNvciA9IGNyZWF0ZUN1cnNvcihOb0xhbmVzKTsgLy8gV2hldGhlciB0byByb290IGNvbXBsZXRlZCwgZXJyb3JlZCwgc3VzcGVuZGVkLCBldGMuXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdEluUHJvZ3Jlc3M7IC8vIEEgZmF0YWwgZXJyb3IsIGlmIG9uZSBpcyB0aHJvd25cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSBudWxsOyAvLyBcIkluY2x1ZGVkXCIgbGFuZXMgcmVmZXIgdG8gbGFuZXMgdGhhdCB3ZXJlIHdvcmtlZCBvbiBkdXJpbmcgdGhpcyByZW5kZXIuIEl0J3Ncbi8vIHNsaWdodGx5IGRpZmZlcmVudCB0aGFuIGByZW5kZXJMYW5lc2AgYmVjYXVzZSBgcmVuZGVyTGFuZXNgIGNhbiBjaGFuZ2UgYXMgeW91XG4vLyBlbnRlciBhbmQgZXhpdCBhbiBPZmZzY3JlZW4gdHJlZS4gVGhpcyB2YWx1ZSBpcyB0aGUgY29tYmluYXRpb24gb2YgYWxsIHJlbmRlclxuLy8gbGFuZXMgZm9yIHRoZSBlbnRpcmUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcyA9IE5vTGFuZXM7IC8vIFRoZSB3b3JrIGxlZnQgb3ZlciBieSBjb21wb25lbnRzIHRoYXQgd2VyZSB2aXNpdGVkIGR1cmluZyB0aGlzIHJlbmRlci4gT25seVxuLy8gaW5jbHVkZXMgdW5wcm9jZXNzZWQgdXBkYXRlcywgbm90IHdvcmsgaW4gYmFpbGVkIG91dCBjaGlsZHJlbi5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyA9IE5vTGFuZXM7IC8vIExhbmVzIHRoYXQgd2VyZSB1cGRhdGVkIChpbiBhbiBpbnRlcmxlYXZlZCBldmVudCkgZHVyaW5nIHRoaXMgcmVuZGVyLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBOb0xhbmVzOyAvLyBMYW5lcyB0aGF0IHdlcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSAoKm5vdCogYW4gaW50ZXJsZWF2ZWQgZXZlbnQpLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290UGluZ2VkTGFuZXMgPSBOb0xhbmVzOyAvLyBFcnJvcnMgdGhhdCBhcmUgdGhyb3duIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycyA9IG51bGw7IC8vIFRoZXNlIGFyZSBlcnJvcnMgdGhhdCB3ZSByZWNvdmVyZWQgZnJvbSB3aXRob3V0IHN1cmZhY2luZyB0aGVtIHRvIHRoZSBVSS5cbi8vIFdlIHdpbGwgbG9nIHRoZW0gb25jZSB0aGUgdHJlZSBjb21taXRzLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMgPSBudWxsOyAvLyBUaGUgbW9zdCByZWNlbnQgdGltZSB3ZSBjb21taXR0ZWQgYSBmYWxsYmFjay4gVGhpcyBsZXRzIHVzIGVuc3VyZSBhIHRyYWluXG4vLyBtb2RlbCB3aGVyZSB3ZSBkb24ndCBjb21taXQgbmV3IGxvYWRpbmcgc3RhdGVzIGluIHRvbyBxdWljayBzdWNjZXNzaW9uLlxuXG52YXIgZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSA9IDA7XG52YXIgRkFMTEJBQ0tfVEhST1RUTEVfTVMgPSA1MDA7IC8vIFRoZSBhYnNvbHV0ZSB0aW1lIGZvciB3aGVuIHdlIHNob3VsZCBzdGFydCBnaXZpbmcgdXAgb24gcmVuZGVyaW5nXG4vLyBtb3JlIGFuZCBwcmVmZXIgQ1BVIHN1c3BlbnNlIGhldXJpc3RpY3MgaW5zdGVhZC5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBJbmZpbml0eTsgLy8gSG93IGxvbmcgYSByZW5kZXIgaXMgc3VwcG9zZWQgdG8gdGFrZSBiZWZvcmUgd2Ugc3RhcnQgZm9sbG93aW5nIENQVVxuLy8gc3VzcGVuc2UgaGV1cmlzdGljcyBhbmQgb3B0IG91dCBvZiByZW5kZXJpbmcgbW9yZSBjb250ZW50LlxuXG52YXIgUkVOREVSX1RJTUVPVVRfTVMgPSA1MDA7XG52YXIgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyA9IG51bGw7XG5cbmZ1bmN0aW9uIHJlc2V0UmVuZGVyVGltZXIoKSB7XG4gIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBub3coKSArIFJFTkRFUl9USU1FT1VUX01TO1xufVxuXG5mdW5jdGlvbiBnZXRSZW5kZXJUYXJnZXRUaW1lKCkge1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyVGFyZ2V0VGltZTtcbn1cbnZhciBoYXNVbmNhdWdodEVycm9yID0gZmFsc2U7XG52YXIgZmlyc3RVbmNhdWdodEVycm9yID0gbnVsbDtcbnZhciBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7IC8vIE9ubHkgdXNlZCB3aGVuIGVuYWJsZVByb2ZpbGVyTmVzdGVkVXBkYXRlU2NoZWR1bGVkSG9vayBpcyB0cnVlO1xudmFyIHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG52YXIgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsO1xudmFyIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzID0gTm9MYW5lcztcbnZhciBwZW5kaW5nUGFzc2l2ZVByb2ZpbGVyRWZmZWN0cyA9IFtdO1xudmFyIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsOyAvLyBVc2UgdGhlc2UgdG8gcHJldmVudCBhbiBpbmZpbml0ZSBsb29wIG9mIG5lc3RlZCB1cGRhdGVzXG5cbnZhciBORVNURURfVVBEQVRFX0xJTUlUID0gNTA7XG52YXIgbmVzdGVkVXBkYXRlQ291bnQgPSAwO1xudmFyIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IG51bGw7XG52YXIgaXNGbHVzaGluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG52YXIgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xudmFyIE5FU1RFRF9QQVNTSVZFX1VQREFURV9MSU1JVCA9IDUwO1xudmFyIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG52YXIgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7IC8vIElmIHR3byB1cGRhdGVzIGFyZSBzY2hlZHVsZWQgd2l0aGluIHRoZSBzYW1lIGV2ZW50LCB3ZSBzaG91bGQgdHJlYXQgdGhlaXJcbi8vIGV2ZW50IHRpbWVzIGFzIHNpbXVsdGFuZW91cywgZXZlbiBpZiB0aGUgYWN0dWFsIGNsb2NrIHRpbWUgaGFzIGFkdmFuY2VkXG4vLyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgc2Vjb25kIGNhbGwuXG5cbnZhciBjdXJyZW50RXZlbnRUaW1lID0gTm9UaW1lc3RhbXA7XG52YXIgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBOb0xhbmVzO1xudmFyIGlzUnVubmluZ0luc2VydGlvbkVmZmVjdCA9IGZhbHNlO1xuZnVuY3Rpb24gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCkge1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290O1xufVxuZnVuY3Rpb24gcmVxdWVzdEV2ZW50VGltZSgpIHtcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIC8vIFdlJ3JlIGluc2lkZSBSZWFjdCwgc28gaXQncyBmaW5lIHRvIHJlYWQgdGhlIGFjdHVhbCB0aW1lLlxuICAgIHJldHVybiBub3coKTtcbiAgfSAvLyBXZSdyZSBub3QgaW5zaWRlIFJlYWN0LCBzbyB3ZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBhIGJyb3dzZXIgZXZlbnQuXG5cblxuICBpZiAoY3VycmVudEV2ZW50VGltZSAhPT0gTm9UaW1lc3RhbXApIHtcbiAgICAvLyBVc2UgdGhlIHNhbWUgc3RhcnQgdGltZSBmb3IgYWxsIHVwZGF0ZXMgdW50aWwgd2UgZW50ZXIgUmVhY3QgYWdhaW4uXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XG4gIH0gLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlIHNpbmNlIFJlYWN0IHlpZWxkZWQuIENvbXB1dGUgYSBuZXcgc3RhcnQgdGltZS5cblxuXG4gIGN1cnJlbnRFdmVudFRpbWUgPSBub3coKTtcbiAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XG59XG5mdW5jdGlvbiByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcikge1xuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfSBlbHNlIGlmICggKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0ICYmIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIFRoZXNlIGFyZSBub3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQuIFRoZVxuICAgIC8vIG9sZCBiZWhhdmlvciBpcyB0byBnaXZlIHRoaXMgdGhlIHNhbWUgXCJ0aHJlYWRcIiAobGFuZXMpIGFzXG4gICAgLy8gd2hhdGV2ZXIgaXMgY3VycmVudGx5IHJlbmRlcmluZy4gU28gaWYgeW91IGNhbGwgYHNldFN0YXRlYCBvbiBhIGNvbXBvbmVudFxuICAgIC8vIHRoYXQgaGFwcGVucyBsYXRlciBpbiB0aGUgc2FtZSByZW5kZXIsIGl0IHdpbGwgZmx1c2guIElkZWFsbHksIHdlIHdhbnQgdG9cbiAgICAvLyByZW1vdmUgdGhlIHNwZWNpYWwgY2FzZSBhbmQgdHJlYXQgdGhlbSBhcyBpZiB0aGV5IGNhbWUgZnJvbSBhblxuICAgIC8vIGludGVybGVhdmVkIGV2ZW50LiBSZWdhcmRsZXNzLCB0aGlzIHBhdHRlcm4gaXMgbm90IG9mZmljaWFsbHkgc3VwcG9ydGVkLlxuICAgIC8vIFRoaXMgYmVoYXZpb3IgaXMgb25seSBhIGZhbGxiYWNrLiBUaGUgZmxhZyBvbmx5IGV4aXN0cyB1bnRpbCB3ZSBjYW4gcm9sbFxuICAgIC8vIG91dCB0aGUgc2V0U3RhdGUgd2FybmluZywgc2luY2UgZXhpc3RpbmcgY29kZSBtaWdodCBhY2NpZGVudGFsbHkgcmVseSBvblxuICAgIC8vIHRoZSBjdXJyZW50IGJlaGF2aW9yLlxuICAgIHJldHVybiBwaWNrQXJiaXRyYXJ5TGFuZSh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gIH1cblxuICB2YXIgaXNUcmFuc2l0aW9uID0gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCkgIT09IE5vVHJhbnNpdGlvbjtcblxuICBpZiAoaXNUcmFuc2l0aW9uKSB7XG4gICAgaWYgKCBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHZhciB0cmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uO1xuXG4gICAgICBpZiAoIXRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMpIHtcbiAgICAgICAgdHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycyA9IG5ldyBTZXQoKTtcbiAgICAgIH1cblxuICAgICAgdHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5hZGQoZmliZXIpO1xuICAgIH0gLy8gVGhlIGFsZ29yaXRobSBmb3IgYXNzaWduaW5nIGFuIHVwZGF0ZSB0byBhIGxhbmUgc2hvdWxkIGJlIHN0YWJsZSBmb3IgYWxsXG4gICAgLy8gdXBkYXRlcyBhdCB0aGUgc2FtZSBwcmlvcml0eSB3aXRoaW4gdGhlIHNhbWUgZXZlbnQuIFRvIGRvIHRoaXMsIHRoZVxuICAgIC8vIGlucHV0cyB0byB0aGUgYWxnb3JpdGhtIG11c3QgYmUgdGhlIHNhbWUuXG4gICAgLy9cbiAgICAvLyBUaGUgdHJpY2sgd2UgdXNlIGlzIHRvIGNhY2hlIHRoZSBmaXJzdCBvZiBlYWNoIG9mIHRoZXNlIGlucHV0cyB3aXRoaW4gYW5cbiAgICAvLyBldmVudC4gVGhlbiByZXNldCB0aGUgY2FjaGVkIHZhbHVlcyBvbmNlIHdlIGNhbiBiZSBzdXJlIHRoZSBldmVudCBpc1xuICAgIC8vIG92ZXIuIE91ciBoZXVyaXN0aWMgZm9yIHRoYXQgaXMgd2hlbmV2ZXIgd2UgZW50ZXIgYSBjb25jdXJyZW50IHdvcmsgbG9vcC5cblxuXG4gICAgaWYgKGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lID09PSBOb0xhbmUpIHtcbiAgICAgIC8vIEFsbCB0cmFuc2l0aW9ucyB3aXRoaW4gdGhlIHNhbWUgZXZlbnQgYXJlIGFzc2lnbmVkIHRoZSBzYW1lIGxhbmUuXG4gICAgICBjdXJyZW50RXZlbnRUcmFuc2l0aW9uTGFuZSA9IGNsYWltTmV4dFRyYW5zaXRpb25MYW5lKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lO1xuICB9IC8vIFVwZGF0ZXMgb3JpZ2luYXRpbmcgaW5zaWRlIGNlcnRhaW4gUmVhY3QgbWV0aG9kcywgbGlrZSBmbHVzaFN5bmMsIGhhdmVcbiAgLy8gdGhlaXIgcHJpb3JpdHkgc2V0IGJ5IHRyYWNraW5nIGl0IHdpdGggYSBjb250ZXh0IHZhcmlhYmxlLlxuICAvL1xuICAvLyBUaGUgb3BhcXVlIHR5cGUgcmV0dXJuZWQgYnkgdGhlIGhvc3QgY29uZmlnIGlzIGludGVybmFsbHkgYSBsYW5lLCBzbyB3ZSBjYW5cbiAgLy8gdXNlIHRoYXQgZGlyZWN0bHkuXG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0eXBlIGNvbnZlcnNpb24gdG8gdGhlIGV2ZW50IHByaW9yaXR5IG1vZHVsZS5cblxuXG4gIHZhciB1cGRhdGVMYW5lID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgaWYgKHVwZGF0ZUxhbmUgIT09IE5vTGFuZSkge1xuICAgIHJldHVybiB1cGRhdGVMYW5lO1xuICB9IC8vIFRoaXMgdXBkYXRlIG9yaWdpbmF0ZWQgb3V0c2lkZSBSZWFjdC4gQXNrIHRoZSBob3N0IGVudmlyb25tZW50IGZvciBhblxuICAvLyBhcHByb3ByaWF0ZSBwcmlvcml0eSwgYmFzZWQgb24gdGhlIHR5cGUgb2YgZXZlbnQuXG4gIC8vXG4gIC8vIFRoZSBvcGFxdWUgdHlwZSByZXR1cm5lZCBieSB0aGUgaG9zdCBjb25maWcgaXMgaW50ZXJuYWxseSBhIGxhbmUsIHNvIHdlIGNhblxuICAvLyB1c2UgdGhhdCBkaXJlY3RseS5cbiAgLy8gVE9ETzogTW92ZSB0aGlzIHR5cGUgY29udmVyc2lvbiB0byB0aGUgZXZlbnQgcHJpb3JpdHkgbW9kdWxlLlxuXG5cbiAgdmFyIGV2ZW50TGFuZSA9IGdldEN1cnJlbnRFdmVudFByaW9yaXR5KCk7XG4gIHJldHVybiBldmVudExhbmU7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RSZXRyeUxhbmUoZmliZXIpIHtcbiAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgYHJlcXVlc3RVcGRhdGVMYW5lYCBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgZm9yIFN1c3BlbnNlXG4gIC8vIFwicmV0cmllc1wiIOKAlCBhIHNwZWNpYWwgdXBkYXRlIHRoYXQgYXR0ZW1wdHMgdG8gZmxpcCBhIFN1c3BlbnNlIGJvdW5kYXJ5XG4gIC8vIGZyb20gaXRzIHBsYWNlaG9sZGVyIHN0YXRlIHRvIGl0cyBwcmltYXJ5L3Jlc29sdmVkIHN0YXRlLlxuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfVxuXG4gIHJldHVybiBjbGFpbU5leHRSZXRyeUxhbmUoKTtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpIHtcbiAgY2hlY2tGb3JOZXN0ZWRVcGRhdGVzKCk7XG5cbiAge1xuICAgIGlmIChpc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QpIHtcbiAgICAgIGVycm9yKCd1c2VJbnNlcnRpb25FZmZlY3QgbXVzdCBub3Qgc2NoZWR1bGUgdXBkYXRlcy4nKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKGlzRmx1c2hpbmdQYXNzaXZlRWZmZWN0cykge1xuICAgICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IHRydWU7XG4gICAgfVxuICB9IC8vIE1hcmsgdGhhdCB0aGUgcm9vdCBoYXMgYSBwZW5kaW5nIHVwZGF0ZS5cblxuXG4gIG1hcmtSb290VXBkYXRlZChyb290LCBsYW5lLCBldmVudFRpbWUpO1xuXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpICE9PSBOb0xhbmVzICYmIHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCkge1xuICAgIC8vIFRoaXMgdXBkYXRlIHdhcyBkaXNwYXRjaGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLiBUaGlzIGlzIGEgbWlzdGFrZVxuICAgIC8vIGlmIHRoZSB1cGRhdGUgb3JpZ2luYXRlcyBmcm9tIHVzZXIgc3BhY2UgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBsb2NhbFxuICAgIC8vIGhvb2sgdXBkYXRlcywgd2hpY2ggYXJlIGhhbmRsZWQgZGlmZmVyZW50bHkgYW5kIGRvbid0IHJlYWNoIHRoaXNcbiAgICAvLyBmdW5jdGlvbiksIGJ1dCB0aGVyZSBhcmUgc29tZSBpbnRlcm5hbCBSZWFjdCBmZWF0dXJlcyB0aGF0IHVzZSB0aGlzIGFzXG4gICAgLy8gYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsLCBsaWtlIHNlbGVjdGl2ZSBoeWRyYXRpb24uXG4gICAgd2FybkFib3V0UmVuZGVyUGhhc2VVcGRhdGVzSW5ERVYoZmliZXIpOyAvLyBUcmFjayBsYW5lcyB0aGF0IHdlcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgYSBub3JtYWwgdXBkYXRlLCBzY2hlZHVsZWQgZnJvbSBvdXRzaWRlIHRoZSByZW5kZXIgcGhhc2UuIEZvclxuICAgIC8vIGV4YW1wbGUsIGR1cmluZyBhbiBpbnB1dCBldmVudC5cbiAgICB7XG4gICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgYWRkRmliZXJUb0xhbmVzTWFwKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3YXJuSWZVcGRhdGVzTm90V3JhcHBlZFdpdGhBY3RERVYoZmliZXIpO1xuXG4gICAgaWYgKHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCkge1xuICAgICAgLy8gUmVjZWl2ZWQgYW4gdXBkYXRlIHRvIGEgdHJlZSB0aGF0J3MgaW4gdGhlIG1pZGRsZSBvZiByZW5kZXJpbmcuIE1hcmtcbiAgICAgIC8vIHRoYXQgdGhlcmUgd2FzIGFuIGludGVybGVhdmVkIHVwZGF0ZSB3b3JrIG9uIHRoaXMgcm9vdC4gVW5sZXNzIHRoZVxuICAgICAgLy8gYGRlZmVyUmVuZGVyUGhhc2VVcGRhdGVUb05leHRCYXRjaGAgZmxhZyBpcyBvZmYgYW5kIHRoaXMgaXMgYSByZW5kZXJcbiAgICAgIC8vIHBoYXNlIHVwZGF0ZS4gSW4gdGhhdCBjYXNlLCB3ZSBkb24ndCB0cmVhdCByZW5kZXIgcGhhc2UgdXBkYXRlcyBhcyBpZlxuICAgICAgLy8gdGhleSB3ZXJlIGludGVybGVhdmVkLCBmb3IgYmFja3dhcmRzIGNvbXBhdCByZWFzb25zLlxuICAgICAgaWYgKCAoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpID09PSBOb0NvbnRleHQpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzUm9vdEludGVybGVhdmVkVXBkYXRlZExhbmVzLCBsYW5lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXkpIHtcbiAgICAgICAgLy8gVGhlIHJvb3QgYWxyZWFkeSBzdXNwZW5kZWQgd2l0aCBhIGRlbGF5LCB3aGljaCBtZWFucyB0aGlzIHJlbmRlclxuICAgICAgICAvLyBkZWZpbml0ZWx5IHdvbid0IGZpbmlzaC4gU2luY2Ugd2UgaGF2ZSBhIG5ldyB1cGRhdGUsIGxldCdzIG1hcmsgaXQgYXNcbiAgICAgICAgLy8gc3VzcGVuZGVkIG5vdywgcmlnaHQgYmVmb3JlIG1hcmtpbmcgdGhlIGluY29taW5nIHVwZGF0ZS4gVGhpcyBoYXMgdGhlXG4gICAgICAgIC8vIGVmZmVjdCBvZiBpbnRlcnJ1cHRpbmcgdGhlIGN1cnJlbnQgcmVuZGVyIGFuZCBzd2l0Y2hpbmcgdG8gdGhlIHVwZGF0ZS5cbiAgICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHRoaXMgZG9lc24ndCBvdmVycmlkZSBwaW5ncyB0aGF0IGhhcHBlbiB3aGlsZSB3ZSd2ZVxuICAgICAgICAvLyBhbHJlYWR5IHN0YXJ0ZWQgcmVuZGVyaW5nLlxuICAgICAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcblxuICAgIGlmIChsYW5lID09PSBTeW5jTGFuZSAmJiBleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQgJiYgKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSAmJiAvLyBUcmVhdCBgYWN0YCBhcyBpZiBpdCdzIGluc2lkZSBgYmF0Y2hlZFVwZGF0ZXNgLCBldmVuIGluIGxlZ2FjeSBtb2RlLlxuICAgICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSkpIHtcbiAgICAgIC8vIEZsdXNoIHRoZSBzeW5jaHJvbm91cyB3b3JrIG5vdywgdW5sZXNzIHdlJ3JlIGFscmVhZHkgd29ya2luZyBvciBpbnNpZGVcbiAgICAgIC8vIGEgYmF0Y2guIFRoaXMgaXMgaW50ZW50aW9uYWxseSBpbnNpZGUgc2NoZWR1bGVVcGRhdGVPbkZpYmVyIGluc3RlYWQgb2ZcbiAgICAgIC8vIHNjaGVkdWxlQ2FsbGJhY2tGb3JGaWJlciB0byBwcmVzZXJ2ZSB0aGUgYWJpbGl0eSB0byBzY2hlZHVsZSBhIGNhbGxiYWNrXG4gICAgICAvLyB3aXRob3V0IGltbWVkaWF0ZWx5IGZsdXNoaW5nIGl0LiBXZSBvbmx5IGRvIHRoaXMgZm9yIHVzZXItaW5pdGlhdGVkXG4gICAgICAvLyB1cGRhdGVzLCB0byBwcmVzZXJ2ZSBoaXN0b3JpY2FsIGJlaGF2aW9yIG9mIGxlZ2FjeSBtb2RlLlxuICAgICAgcmVzZXRSZW5kZXJUaW1lcigpO1xuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzT25seUluTGVnYWN5TW9kZSgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVJbml0aWFsSHlkcmF0aW9uT25Sb290KHJvb3QsIGxhbmUsIGV2ZW50VGltZSkge1xuICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBmb3JrIG9mIHNjaGVkdWxlVXBkYXRlT25GaWJlciB0aGF0IGlzIG9ubHkgdXNlZCB0b1xuICAvLyBzY2hlZHVsZSB0aGUgaW5pdGlhbCBoeWRyYXRpb24gb2YgYSByb290IHRoYXQgaGFzIGp1c3QgYmVlbiBjcmVhdGVkLiBNb3N0XG4gIC8vIG9mIHRoZSBzdHVmZiBpbiBzY2hlZHVsZVVwZGF0ZU9uRmliZXIgY2FuIGJlIHNraXBwZWQuXG4gIC8vXG4gIC8vIFRoZSBtYWluIHJlYXNvbiBmb3IgdGhpcyBzZXBhcmF0ZSBwYXRoLCB0aG91Z2gsIGlzIHRvIGRpc3Rpbmd1aXNoIHRoZVxuICAvLyBpbml0aWFsIGNoaWxkcmVuIGZyb20gc3Vic2VxdWVudCB1cGRhdGVzLiBJbiBmdWxseSBjbGllbnQtcmVuZGVyZWQgcm9vdHNcbiAgLy8gKGNyZWF0ZVJvb3QgaW5zdGVhZCBvZiBoeWRyYXRlUm9vdCksIGFsbCB0b3AtbGV2ZWwgcmVuZGVycyBhcmUgbW9kZWxlZCBhc1xuICAvLyB1cGRhdGVzLCBidXQgaHlkcmF0aW9uIHJvb3RzIGFyZSBzcGVjaWFsIGJlY2F1c2UgdGhlIGluaXRpYWwgcmVuZGVyIG11c3RcbiAgLy8gbWF0Y2ggd2hhdCB3YXMgcmVuZGVyZWQgb24gdGhlIHNlcnZlci5cbiAgdmFyIGN1cnJlbnQgPSByb290LmN1cnJlbnQ7XG4gIGN1cnJlbnQubGFuZXMgPSBsYW5lO1xuICBtYXJrUm9vdFVwZGF0ZWQocm9vdCwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIGV2ZW50VGltZSk7XG59XG5mdW5jdGlvbiBpc1Vuc2FmZUNsYXNzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIE9ubHkgY2FsbGVkIGJ5IGNsYXNzIGNvbXBvbmVudHMsXG4gIC8vIHdoaWNoIHNwZWNpYWwgKGRlcHJlY2F0ZWQpIGJlaGF2aW9yIGZvciBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmUgcHJvcHMuXG4gIHJldHVybiAoLy8gVE9ETzogUmVtb3ZlIG91dGRhdGVkIGRlZmVyUmVuZGVyUGhhc2VVcGRhdGVUb05leHRCYXRjaCBleHBlcmltZW50LiBXZVxuICAgIC8vIGRlY2lkZWQgbm90IHRvIGVuYWJsZSBpdC5cbiAgICAgKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0XG4gICk7XG59IC8vIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHNjaGVkdWxlIGEgdGFzayBmb3IgYSByb290LiBUaGVyZSdzIG9ubHkgb25lIHRhc2sgcGVyXG4vLyByb290OyBpZiBhIHRhc2sgd2FzIGFscmVhZHkgc2NoZWR1bGVkLCB3ZSdsbCBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHByaW9yaXR5XG4vLyBvZiB0aGUgZXhpc3RpbmcgdGFzayBpcyB0aGUgc2FtZSBhcyB0aGUgcHJpb3JpdHkgb2YgdGhlIG5leHQgbGV2ZWwgdGhhdCB0aGVcbi8vIHJvb3QgaGFzIHdvcmsgb24uIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uIGV2ZXJ5IHVwZGF0ZSwgYW5kIHJpZ2h0IGJlZm9yZVxuLy8gZXhpdGluZyBhIHRhc2suXG5cbmZ1bmN0aW9uIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBjdXJyZW50VGltZSkge1xuICB2YXIgZXhpc3RpbmdDYWxsYmFja05vZGUgPSByb290LmNhbGxiYWNrTm9kZTsgLy8gQ2hlY2sgaWYgYW55IGxhbmVzIGFyZSBiZWluZyBzdGFydmVkIGJ5IG90aGVyIHdvcmsuIElmIHNvLCBtYXJrIHRoZW0gYXNcbiAgLy8gZXhwaXJlZCBzbyB3ZSBrbm93IHRvIHdvcmsgb24gdGhvc2UgbmV4dC5cblxuICBtYXJrU3RhcnZlZExhbmVzQXNFeHBpcmVkKHJvb3QsIGN1cnJlbnRUaW1lKTsgLy8gRGV0ZXJtaW5lIHRoZSBuZXh0IGxhbmVzIHRvIHdvcmsgb24sIGFuZCB0aGVpciBwcmlvcml0eS5cblxuICB2YXIgbmV4dExhbmVzID0gZ2V0TmV4dExhbmVzKHJvb3QsIHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCA/IHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzIDogTm9MYW5lcyk7XG5cbiAgaWYgKG5leHRMYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIFNwZWNpYWwgY2FzZTogVGhlcmUncyBub3RoaW5nIHRvIHdvcmsgb24uXG4gICAgaWYgKGV4aXN0aW5nQ2FsbGJhY2tOb2RlICE9PSBudWxsKSB7XG4gICAgICBjYW5jZWxDYWxsYmFjayQxKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgICB9XG5cbiAgICByb290LmNhbGxiYWNrTm9kZSA9IG51bGw7XG4gICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9MYW5lO1xuICAgIHJldHVybjtcbiAgfSAvLyBXZSB1c2UgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgbGFuZSB0byByZXByZXNlbnQgdGhlIHByaW9yaXR5IG9mIHRoZSBjYWxsYmFjay5cblxuXG4gIHZhciBuZXdDYWxsYmFja1ByaW9yaXR5ID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShuZXh0TGFuZXMpOyAvLyBDaGVjayBpZiB0aGVyZSdzIGFuIGV4aXN0aW5nIHRhc2suIFdlIG1heSBiZSBhYmxlIHRvIHJldXNlIGl0LlxuXG4gIHZhciBleGlzdGluZ0NhbGxiYWNrUHJpb3JpdHkgPSByb290LmNhbGxiYWNrUHJpb3JpdHk7XG5cbiAgaWYgKGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSA9PT0gbmV3Q2FsbGJhY2tQcmlvcml0eSAmJiAvLyBTcGVjaWFsIGNhc2UgcmVsYXRlZCB0byBgYWN0YC4gSWYgdGhlIGN1cnJlbnRseSBzY2hlZHVsZWQgdGFzayBpcyBhXG4gIC8vIFNjaGVkdWxlciB0YXNrLCByYXRoZXIgdGhhbiBhbiBgYWN0YCB0YXNrLCBjYW5jZWwgaXQgYW5kIHJlLXNjaGVkdWxlZFxuICAvLyBvbiB0aGUgYGFjdGAgcXVldWUuXG4gICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCAhPT0gbnVsbCAmJiBleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gZmFrZUFjdENhbGxiYWNrTm9kZSkpIHtcbiAgICB7XG4gICAgICAvLyBJZiB3ZSdyZSBnb2luZyB0byByZS11c2UgYW4gZXhpc3RpbmcgdGFzaywgaXQgbmVlZHMgdG8gZXhpc3QuXG4gICAgICAvLyBBc3N1bWUgdGhhdCBkaXNjcmV0ZSB1cGRhdGUgbWljcm90YXNrcyBhcmUgbm9uLWNhbmNlbGxhYmxlIGFuZCBudWxsLlxuICAgICAgLy8gVE9ETzogVGVtcG9yYXJ5IHVudGlsIHdlIGNvbmZpcm0gdGhpcyB3YXJuaW5nIGlzIG5vdCBmaXJlZC5cbiAgICAgIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSA9PSBudWxsICYmIGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSAhPT0gU3luY0xhbmUpIHtcbiAgICAgICAgZXJyb3IoJ0V4cGVjdGVkIHNjaGVkdWxlZCBjYWxsYmFjayB0byBleGlzdC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH1cbiAgICB9IC8vIFRoZSBwcmlvcml0eSBoYXNuJ3QgY2hhbmdlZC4gV2UgY2FuIHJldXNlIHRoZSBleGlzdGluZyB0YXNrLiBFeGl0LlxuXG5cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZXhpc3RpbmdDYWxsYmFja05vZGUgIT0gbnVsbCkge1xuICAgIC8vIENhbmNlbCB0aGUgZXhpc3RpbmcgY2FsbGJhY2suIFdlJ2xsIHNjaGVkdWxlIGEgbmV3IG9uZSBiZWxvdy5cbiAgICBjYW5jZWxDYWxsYmFjayQxKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgfSAvLyBTY2hlZHVsZSBhIG5ldyBjYWxsYmFjay5cblxuXG4gIHZhciBuZXdDYWxsYmFja05vZGU7XG5cbiAgaWYgKG5ld0NhbGxiYWNrUHJpb3JpdHkgPT09IFN5bmNMYW5lKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBTeW5jIFJlYWN0IGNhbGxiYWNrcyBhcmUgc2NoZWR1bGVkIG9uIGEgc3BlY2lhbFxuICAgIC8vIGludGVybmFsIHF1ZXVlXG4gICAgaWYgKHJvb3QudGFnID09PSBMZWdhY3lSb290KSB7XG4gICAgICBpZiAoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSAhPT0gbnVsbCkge1xuICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmRpZFNjaGVkdWxlTGVnYWN5VXBkYXRlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgc2NoZWR1bGVMZWdhY3lTeW5jQ2FsbGJhY2socGVyZm9ybVN5bmNXb3JrT25Sb290LmJpbmQobnVsbCwgcm9vdCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzY2hlZHVsZVN5bmNDYWxsYmFjayhwZXJmb3JtU3luY1dvcmtPblJvb3QuYmluZChudWxsLCByb290KSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gRmx1c2ggdGhlIHF1ZXVlIGluIGEgbWljcm90YXNrLlxuICAgICAgaWYgKCBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gSW5zaWRlIGBhY3RgLCB1c2Ugb3VyIGludGVybmFsIGBhY3RgIHF1ZXVlIHNvIHRoYXQgdGhlc2UgZ2V0IGZsdXNoZWRcbiAgICAgICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBzY29wZSBldmVuIHdoZW4gdXNpbmcgdGhlIHN5bmMgdmVyc2lvblxuICAgICAgICAvLyBvZiBgYWN0YC5cbiAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUkMS5jdXJyZW50LnB1c2goZmx1c2hTeW5jQ2FsbGJhY2tzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjaGVkdWxlTWljcm90YXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBJbiBTYWZhcmksIGFwcGVuZGluZyBhbiBpZnJhbWUgZm9yY2VzIG1pY3JvdGFza3MgdG8gcnVuLlxuICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjI0NTlcbiAgICAgICAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHJ1bm5pbmcgY2FsbGJhY2tzIGluIHRoZSBtaWRkbGUgb2YgcmVuZGVyXG4gICAgICAgICAgLy8gb3IgY29tbWl0IHNvIHdlIG5lZWQgdG8gY2hlY2sgYWdhaW5zdCB0aGF0LlxuICAgICAgICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIHdvdWxkIHN0aWxsIHByZW1hdHVyZWx5IGZsdXNoIHRoZSBjYWxsYmFja3NcbiAgICAgICAgICAgIC8vIGlmIHRoaXMgaGFwcGVucyBvdXRzaWRlIHJlbmRlciBvciBjb21taXQgcGhhc2UgKGUuZy4gaW4gYW4gZXZlbnQpLlxuICAgICAgICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdDYWxsYmFja05vZGUgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eUxldmVsO1xuXG4gICAgc3dpdGNoIChsYW5lc1RvRXZlbnRQcmlvcml0eShuZXh0TGFuZXMpKSB7XG4gICAgICBjYXNlIERpc2NyZXRlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IEltbWVkaWF0ZVByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBDb250aW51b3VzRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IFVzZXJCbG9ja2luZ1ByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBJZGxlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IElkbGVQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNjaGVkdWxlclByaW9yaXR5TGV2ZWwgPSBOb3JtYWxQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbmV3Q2FsbGJhY2tOb2RlID0gc2NoZWR1bGVDYWxsYmFjayQxKHNjaGVkdWxlclByaW9yaXR5TGV2ZWwsIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpKTtcbiAgfVxuXG4gIHJvb3QuY2FsbGJhY2tQcmlvcml0eSA9IG5ld0NhbGxiYWNrUHJpb3JpdHk7XG4gIHJvb3QuY2FsbGJhY2tOb2RlID0gbmV3Q2FsbGJhY2tOb2RlO1xufSAvLyBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgZXZlcnkgY29uY3VycmVudCB0YXNrLCBpLmUuIGFueXRoaW5nIHRoYXRcbi8vIGdvZXMgdGhyb3VnaCBTY2hlZHVsZXIuXG5cblxuZnVuY3Rpb24gcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290KHJvb3QsIGRpZFRpbWVvdXQpIHtcbiAge1xuICAgIHJlc2V0TmVzdGVkVXBkYXRlRmxhZygpO1xuICB9IC8vIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gYSBSZWFjdCBldmVudCwgd2UgY2FuIGNsZWFyIHRoZSBjdXJyZW50XG4gIC8vIGV2ZW50IHRpbWUuIFRoZSBuZXh0IHVwZGF0ZSB3aWxsIGNvbXB1dGUgYSBuZXcgZXZlbnQgdGltZS5cblxuXG4gIGN1cnJlbnRFdmVudFRpbWUgPSBOb1RpbWVzdGFtcDtcbiAgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBOb0xhbmVzO1xuXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBub3QgYWxyZWFkeSBiZSB3b3JraW5nLicpO1xuICB9IC8vIEZsdXNoIGFueSBwZW5kaW5nIHBhc3NpdmUgZWZmZWN0cyBiZWZvcmUgZGVjaWRpbmcgd2hpY2ggbGFuZXMgdG8gd29yayBvbixcbiAgLy8gaW4gY2FzZSB0aGV5IHNjaGVkdWxlIGFkZGl0aW9uYWwgd29yay5cblxuXG4gIHZhciBvcmlnaW5hbENhbGxiYWNrTm9kZSA9IHJvb3QuY2FsbGJhY2tOb2RlO1xuICB2YXIgZGlkRmx1c2hQYXNzaXZlRWZmZWN0cyA9IGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcblxuICBpZiAoZGlkRmx1c2hQYXNzaXZlRWZmZWN0cykge1xuICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgcGFzc2l2ZSBlZmZlY3QgcGhhc2UgbWF5IGhhdmUgY2FuY2VsZWQgdGhlIGN1cnJlbnQgdGFzay5cbiAgICAvLyBDaGVjayBpZiB0aGUgdGFzayBub2RlIGZvciB0aGlzIHJvb3Qgd2FzIGNoYW5nZWQuXG4gICAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlICE9PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xuICAgICAgLy8gVGhlIGN1cnJlbnQgdGFzayB3YXMgY2FuY2VsZWQuIEV4aXQuIFdlIGRvbid0IG5lZWQgdG8gY2FsbFxuICAgICAgLy8gYGVuc3VyZVJvb3RJc1NjaGVkdWxlZGAgYmVjYXVzZSB0aGUgY2hlY2sgYWJvdmUgaW1wbGllcyBlaXRoZXIgdGhhdFxuICAgICAgLy8gdGhlcmUncyBhIG5ldyB0YXNrLCBvciB0aGF0IHRoZXJlJ3Mgbm8gcmVtYWluaW5nIHdvcmsgb24gdGhpcyByb290LlxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9IC8vIERldGVybWluZSB0aGUgbmV4dCBsYW5lcyB0byB3b3JrIG9uLCB1c2luZyB0aGUgZmllbGRzIHN0b3JlZFxuICAvLyBvbiB0aGUgcm9vdC5cblxuXG4gIHZhciBsYW5lcyA9IGdldE5leHRMYW5lcyhyb290LCByb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QgPyB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA6IE5vTGFuZXMpO1xuXG4gIGlmIChsYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIERlZmVuc2l2ZSBjb2RpbmcuIFRoaXMgaXMgbmV2ZXIgZXhwZWN0ZWQgdG8gaGFwcGVuLlxuICAgIHJldHVybiBudWxsO1xuICB9IC8vIFdlIGRpc2FibGUgdGltZS1zbGljaW5nIGluIHNvbWUgY2FzZXM6IGlmIHRoZSB3b3JrIGhhcyBiZWVuIENQVS1ib3VuZFxuICAvLyBmb3IgdG9vIGxvbmcgKFwiZXhwaXJlZFwiIHdvcmssIHRvIHByZXZlbnQgc3RhcnZhdGlvbiksIG9yIHdlJ3JlIGluXG4gIC8vIHN5bmMtdXBkYXRlcy1ieS1kZWZhdWx0IG1vZGUuXG4gIC8vIFRPRE86IFdlIG9ubHkgY2hlY2sgYGRpZFRpbWVvdXRgIGRlZmVuc2l2ZWx5LCB0byBhY2NvdW50IGZvciBhIFNjaGVkdWxlclxuICAvLyBidWcgd2UncmUgc3RpbGwgaW52ZXN0aWdhdGluZy4gT25jZSB0aGUgYnVnIGluIFNjaGVkdWxlciBpcyBmaXhlZCxcbiAgLy8gd2UgY2FuIHJlbW92ZSB0aGlzLCBzaW5jZSB3ZSB0cmFjayBleHBpcmF0aW9uIG91cnNlbHZlcy5cblxuXG4gIHZhciBzaG91bGRUaW1lU2xpY2UgPSAhaW5jbHVkZXNCbG9ja2luZ0xhbmUocm9vdCwgbGFuZXMpICYmICFpbmNsdWRlc0V4cGlyZWRMYW5lKHJvb3QsIGxhbmVzKSAmJiAoICFkaWRUaW1lb3V0KTtcbiAgdmFyIGV4aXRTdGF0dXMgPSBzaG91bGRUaW1lU2xpY2UgPyByZW5kZXJSb290Q29uY3VycmVudChyb290LCBsYW5lcykgOiByZW5kZXJSb290U3luYyhyb290LCBsYW5lcyk7XG5cbiAgaWYgKGV4aXRTdGF0dXMgIT09IFJvb3RJblByb2dyZXNzKSB7XG4gICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3RFcnJvcmVkKSB7XG4gICAgICAvLyBJZiBzb21ldGhpbmcgdGhyZXcgYW4gZXJyb3IsIHRyeSByZW5kZXJpbmcgb25lIG1vcmUgdGltZS4gV2UnbGxcbiAgICAgIC8vIHJlbmRlciBzeW5jaHJvbm91c2x5IHRvIGJsb2NrIGNvbmN1cnJlbnQgZGF0YSBtdXRhdGlvbnMsIGFuZCB3ZSdsbFxuICAgICAgLy8gaW5jbHVkZXMgYWxsIHBlbmRpbmcgdXBkYXRlcyBhcmUgaW5jbHVkZWQuIElmIGl0IHN0aWxsIGZhaWxzIGFmdGVyXG4gICAgICAvLyB0aGUgc2Vjb25kIGF0dGVtcHQsIHdlJ2xsIGdpdmUgdXAgYW5kIGNvbW1pdCB0aGUgcmVzdWx0aW5nIHRyZWUuXG4gICAgICB2YXIgZXJyb3JSZXRyeUxhbmVzID0gZ2V0TGFuZXNUb1JldHJ5U3luY2hyb25vdXNseU9uRXJyb3Iocm9vdCk7XG5cbiAgICAgIGlmIChlcnJvclJldHJ5TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgbGFuZXMgPSBlcnJvclJldHJ5TGFuZXM7XG4gICAgICAgIGV4aXRTdGF0dXMgPSByZWNvdmVyRnJvbUNvbmN1cnJlbnRFcnJvcihyb290LCBlcnJvclJldHJ5TGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChleGl0U3RhdHVzID09PSBSb290RmF0YWxFcnJvcmVkKSB7XG4gICAgICB2YXIgZmF0YWxFcnJvciA9IHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3I7XG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIG5vdygpKTtcbiAgICAgIHRocm93IGZhdGFsRXJyb3I7XG4gICAgfVxuXG4gICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3REaWROb3RDb21wbGV0ZSkge1xuICAgICAgLy8gVGhlIHJlbmRlciB1bndvdW5kIHdpdGhvdXQgY29tcGxldGluZyB0aGUgdHJlZS4gVGhpcyBoYXBwZW5zIGluIHNwZWNpYWxcbiAgICAgIC8vIGNhc2VzIHdoZXJlIG5lZWQgdG8gZXhpdCB0aGUgY3VycmVudCByZW5kZXIgd2l0aG91dCBwcm9kdWNpbmcgYVxuICAgICAgLy8gY29uc2lzdGVudCB0cmVlIG9yIGNvbW1pdHRpbmcuXG4gICAgICAvL1xuICAgICAgLy8gVGhpcyBzaG91bGQgb25seSBoYXBwZW4gZHVyaW5nIGEgY29uY3VycmVudCByZW5kZXIsIG5vdCBhIGRpc2NyZXRlIG9yXG4gICAgICAvLyBzeW5jaHJvbm91cyB1cGRhdGUuIFdlIHNob3VsZCBoYXZlIGFscmVhZHkgY2hlY2tlZCBmb3IgdGhpcyB3aGVuIHdlXG4gICAgICAvLyB1bndvdW5kIHRoZSBzdGFjay5cbiAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgcmVuZGVyIGNvbXBsZXRlZC5cbiAgICAgIC8vIENoZWNrIGlmIHRoaXMgcmVuZGVyIG1heSBoYXZlIHlpZWxkZWQgdG8gYSBjb25jdXJyZW50IGV2ZW50LCBhbmQgaWYgc28sXG4gICAgICAvLyBjb25maXJtIHRoYXQgYW55IG5ld2x5IHJlbmRlcmVkIHN0b3JlcyBhcmUgY29uc2lzdGVudC5cbiAgICAgIC8vIFRPRE86IEl0J3MgcG9zc2libGUgdGhhdCBldmVuIGEgY29uY3VycmVudCByZW5kZXIgbWF5IG5ldmVyIGhhdmUgeWllbGRlZFxuICAgICAgLy8gdG8gdGhlIG1haW4gdGhyZWFkLCBpZiBpdCB3YXMgZmFzdCBlbm91Z2gsIG9yIGlmIGl0IGV4cGlyZWQuIFdlIGNvdWxkXG4gICAgICAvLyBza2lwIHRoZSBjb25zaXN0ZW5jeSBjaGVjayBpbiB0aGF0IGNhc2UsIHRvby5cbiAgICAgIHZhciByZW5kZXJXYXNDb25jdXJyZW50ID0gIWluY2x1ZGVzQmxvY2tpbmdMYW5lKHJvb3QsIGxhbmVzKTtcbiAgICAgIHZhciBmaW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgICBpZiAocmVuZGVyV2FzQ29uY3VycmVudCAmJiAhaXNSZW5kZXJDb25zaXN0ZW50V2l0aEV4dGVybmFsU3RvcmVzKGZpbmlzaGVkV29yaykpIHtcbiAgICAgICAgLy8gQSBzdG9yZSB3YXMgbXV0YXRlZCBpbiBhbiBpbnRlcmxlYXZlZCBldmVudC4gUmVuZGVyIGFnYWluLFxuICAgICAgICAvLyBzeW5jaHJvbm91c2x5LCB0byBibG9jayBmdXJ0aGVyIG11dGF0aW9ucy5cbiAgICAgICAgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKTsgLy8gV2UgbmVlZCB0byBjaGVjayBhZ2FpbiBpZiBzb21ldGhpbmcgdGhyZXdcblxuICAgICAgICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgX2Vycm9yUmV0cnlMYW5lcyA9IGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QpO1xuXG4gICAgICAgICAgaWYgKF9lcnJvclJldHJ5TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgICAgIGxhbmVzID0gX2Vycm9yUmV0cnlMYW5lcztcbiAgICAgICAgICAgIGV4aXRTdGF0dXMgPSByZWNvdmVyRnJvbUNvbmN1cnJlbnRFcnJvcihyb290LCBfZXJyb3JSZXRyeUxhbmVzKTsgLy8gV2UgYXNzdW1lIHRoZSB0cmVlIGlzIG5vdyBjb25zaXN0ZW50IGJlY2F1c2Ugd2UgZGlkbid0IHlpZWxkIHRvIGFueVxuICAgICAgICAgICAgLy8gY29uY3VycmVudCBldmVudHMuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3RGYXRhbEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgX2ZhdGFsRXJyb3IgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yO1xuICAgICAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIE5vTGFuZXMpO1xuICAgICAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgICAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gICAgICAgICAgdGhyb3cgX2ZhdGFsRXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIFRoZSBuZXh0IHN0ZXAgaXMgZWl0aGVyIHRvIGNvbW1pdCBpdCxcbiAgICAgIC8vIG9yLCBpZiBzb21ldGhpbmcgc3VzcGVuZGVkLCB3YWl0IHRvIGNvbW1pdCBpdCBhZnRlciBhIHRpbWVvdXQuXG5cblxuICAgICAgcm9vdC5maW5pc2hlZFdvcmsgPSBmaW5pc2hlZFdvcms7XG4gICAgICByb290LmZpbmlzaGVkTGFuZXMgPSBsYW5lcztcbiAgICAgIGZpbmlzaENvbmN1cnJlbnRSZW5kZXIocm9vdCwgZXhpdFN0YXR1cywgbGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG5cbiAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlID09PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xuICAgIC8vIFRoZSB0YXNrIG5vZGUgc2NoZWR1bGVkIGZvciB0aGlzIHJvb3QgaXMgdGhlIHNhbWUgb25lIHRoYXQnc1xuICAgIC8vIGN1cnJlbnRseSBleGVjdXRlZC4gTmVlZCB0byByZXR1cm4gYSBjb250aW51YXRpb24uXG4gICAgcmV0dXJuIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlY292ZXJGcm9tQ29uY3VycmVudEVycm9yKHJvb3QsIGVycm9yUmV0cnlMYW5lcykge1xuICAvLyBJZiBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgaHlkcmF0aW9uLCBkaXNjYXJkIHNlcnZlciByZXNwb25zZSBhbmQgZmFsbFxuICAvLyBiYWNrIHRvIGNsaWVudCBzaWRlIHJlbmRlci5cbiAgLy8gQmVmb3JlIHJlbmRlcmluZyBhZ2Fpbiwgc2F2ZSB0aGUgZXJyb3JzIGZyb20gdGhlIHByZXZpb3VzIGF0dGVtcHQuXG4gIHZhciBlcnJvcnNGcm9tRmlyc3RBdHRlbXB0ID0gd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycztcblxuICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgIC8vIFRoZSBzaGVsbCBmYWlsZWQgdG8gaHlkcmF0ZS4gU2V0IGEgZmxhZyB0byBmb3JjZSBhIGNsaWVudCByZW5kZXJpbmdcbiAgICAvLyBkdXJpbmcgdGhlIG5leHQgYXR0ZW1wdC4gVG8gZG8gdGhpcywgd2UgY2FsbCBwcmVwYXJlRnJlc2hTdGFjayBub3dcbiAgICAvLyB0byBjcmVhdGUgdGhlIHJvb3Qgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gVGhpcyBpcyBhIGJpdCB3ZWlyZCBpbiB0ZXJtc1xuICAgIC8vIG9mIGZhY3RvcmluZywgYmVjYXVzZSBpdCByZWxpZXMgb24gcmVuZGVyUm9vdFN5bmMgbm90IGNhbGxpbmdcbiAgICAvLyBwcmVwYXJlRnJlc2hTdGFjayBhZ2FpbiBpbiB0aGUgY2FsbCBiZWxvdywgd2hpY2ggaGFwcGVucyBiZWNhdXNlIHRoZVxuICAgIC8vIHJvb3QgYW5kIGxhbmVzIGhhdmVuJ3QgY2hhbmdlZC5cbiAgICAvL1xuICAgIC8vIFRPRE86IEkgdGhpbmsgd2hhdCB3ZSBzaG91bGQgZG8gaXMgc2V0IEZvcmNlQ2xpZW50UmVuZGVyIGluc2lkZVxuICAgIC8vIHRocm93RXhjZXB0aW9uLCBsaWtlIHdlIGRvIGZvciBuZXN0ZWQgU3VzcGVuc2UgYm91bmRhcmllcy4gVGhlIHJlYXNvblxuICAgIC8vIGl0J3MgaGVyZSBpbnN0ZWFkIGlzIHNvIHdlIGNhbiBzd2l0Y2ggdG8gdGhlIHN5bmNocm9ub3VzIHdvcmsgbG9vcCwgdG9vLlxuICAgIC8vIFNvbWV0aGluZyB0byBjb25zaWRlciBmb3IgYSBmdXR1cmUgcmVmYWN0b3IuXG4gICAgdmFyIHJvb3RXb3JrSW5Qcm9ncmVzcyA9IHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGVycm9yUmV0cnlMYW5lcyk7XG4gICAgcm9vdFdvcmtJblByb2dyZXNzLmZsYWdzIHw9IEZvcmNlQ2xpZW50UmVuZGVyO1xuXG4gICAge1xuICAgICAgZXJyb3JIeWRyYXRpbmdDb250YWluZXIocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICB9XG4gIH1cblxuICB2YXIgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGVycm9yUmV0cnlMYW5lcyk7XG5cbiAgaWYgKGV4aXRTdGF0dXMgIT09IFJvb3RFcnJvcmVkKSB7XG4gICAgLy8gU3VjY2Vzc2Z1bGx5IGZpbmlzaGVkIHJlbmRlcmluZyBvbiByZXRyeVxuICAgIC8vIFRoZSBlcnJvcnMgZnJvbSB0aGUgZmFpbGVkIGZpcnN0IGF0dGVtcHQgaGF2ZSBiZWVuIHJlY292ZXJlZC4gQWRkXG4gICAgLy8gdGhlbSB0byB0aGUgY29sbGVjdGlvbiBvZiByZWNvdmVyYWJsZSBlcnJvcnMuIFdlJ2xsIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cbiAgICB2YXIgZXJyb3JzRnJvbVNlY29uZEF0dGVtcHQgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycztcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9IGVycm9yc0Zyb21GaXJzdEF0dGVtcHQ7IC8vIFRoZSBlcnJvcnMgZnJvbSB0aGUgc2Vjb25kIGF0dGVtcHQgc2hvdWxkIGJlIHF1ZXVlZCBhZnRlciB0aGUgZXJyb3JzXG4gICAgLy8gZnJvbSB0aGUgZmlyc3QgYXR0ZW1wdCwgdG8gcHJlc2VydmUgdGhlIGNhdXNhbCBzZXF1ZW5jZS5cblxuICAgIGlmIChlcnJvcnNGcm9tU2Vjb25kQXR0ZW1wdCAhPT0gbnVsbCkge1xuICAgICAgcXVldWVSZWNvdmVyYWJsZUVycm9ycyhlcnJvcnNGcm9tU2Vjb25kQXR0ZW1wdCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4aXRTdGF0dXM7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlUmVjb3ZlcmFibGVFcnJvcnMoZXJyb3JzKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9PT0gbnVsbCkge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzID0gZXJyb3JzO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLnB1c2guYXBwbHkod29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMsIGVycm9ycyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluaXNoQ29uY3VycmVudFJlbmRlcihyb290LCBleGl0U3RhdHVzLCBsYW5lcykge1xuICBzd2l0Y2ggKGV4aXRTdGF0dXMpIHtcbiAgICBjYXNlIFJvb3RJblByb2dyZXNzOlxuICAgIGNhc2UgUm9vdEZhdGFsRXJyb3JlZDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSb290IGRpZCBub3QgY29tcGxldGUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gICAgLy8gRmxvdyBrbm93cyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWlucyBpZiBJIGFkZCBhIGJyZWFrXG4gICAgLy8gc3RhdGVtZW50LCBidXQgZXNsaW50IGRvZXNuJ3Qga25vdyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWluc1xuICAgIC8vIGlmIEkgZG8uIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuXG4gICAgY2FzZSBSb290RXJyb3JlZDpcbiAgICAgIHtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgYWxyZWFkeSBhdHRlbXB0ZWQgdG8gcmV0cnkgdGhpcyB0cmVlLiBJZiB3ZSByZWFjaGVkXG4gICAgICAgIC8vIHRoaXMgcG9pbnQsIGl0IGVycm9yZWQgYWdhaW4uIENvbW1pdCBpdC5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290U3VzcGVuZGVkOlxuICAgICAge1xuICAgICAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIGxhbmVzKTsgLy8gV2UgaGF2ZSBhbiBhY2NlcHRhYmxlIGxvYWRpbmcgc3RhdGUuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiB3ZVxuICAgICAgICAvLyBzaG91bGQgaW1tZWRpYXRlbHkgY29tbWl0IGl0IG9yIHdhaXQgYSBiaXQuXG5cbiAgICAgICAgaWYgKGluY2x1ZGVzT25seVJldHJpZXMobGFuZXMpICYmIC8vIGRvIG5vdCBkZWxheSBpZiB3ZSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGVcbiAgICAgICAgIXNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpKSB7XG4gICAgICAgICAgLy8gVGhpcyByZW5kZXIgb25seSBpbmNsdWRlZCByZXRyaWVzLCBubyB1cGRhdGVzLiBUaHJvdHRsZSBjb21taXR0aW5nXG4gICAgICAgICAgLy8gcmV0cmllcyBzbyB0aGF0IHdlIGRvbid0IHNob3cgdG9vIG1hbnkgbG9hZGluZyBzdGF0ZXMgdG9vIHF1aWNrbHkuXG4gICAgICAgICAgdmFyIG1zVW50aWxUaW1lb3V0ID0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSArIEZBTExCQUNLX1RIUk9UVExFX01TIC0gbm93KCk7IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxuXG4gICAgICAgICAgaWYgKG1zVW50aWxUaW1lb3V0ID4gMTApIHtcbiAgICAgICAgICAgIHZhciBuZXh0TGFuZXMgPSBnZXROZXh0TGFuZXMocm9vdCwgTm9MYW5lcyk7XG5cbiAgICAgICAgICAgIGlmIChuZXh0TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgICAgICAgLy8gVGhlcmUncyBhZGRpdGlvbmFsIHdvcmsgb24gdGhpcyByb290LlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHN1c3BlbmRlZExhbmVzID0gcm9vdC5zdXNwZW5kZWRMYW5lcztcblxuICAgICAgICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMoc3VzcGVuZGVkTGFuZXMsIGxhbmVzKSkge1xuICAgICAgICAgICAgICAvLyBXZSBzaG91bGQgcHJlZmVyIHRvIHJlbmRlciB0aGUgZmFsbGJhY2sgb2YgYXQgdGhlIGxhc3RcbiAgICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGxldmVsLiBQaW5nIHRoZSBsYXN0IHN1c3BlbmRlZCBsZXZlbCB0byB0cnlcbiAgICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGl0IGFnYWluLlxuICAgICAgICAgICAgICAvLyBGSVhNRTogV2hhdCBpZiB0aGUgc3VzcGVuZGVkIGxhbmVzIGFyZSBJZGxlPyBTaG91bGQgbm90IHJlc3RhcnQuXG4gICAgICAgICAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICAgICAgICAgIG1hcmtSb290UGluZ2VkKHJvb3QsIHN1c3BlbmRlZExhbmVzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IC8vIFRoZSByZW5kZXIgaXMgc3VzcGVuZGVkLCBpdCBoYXNuJ3QgdGltZWQgb3V0LCBhbmQgdGhlcmUncyBub1xuICAgICAgICAgICAgLy8gbG93ZXIgcHJpb3JpdHkgd29yayB0byBkby4gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFja1xuICAgICAgICAgICAgLy8gaW1tZWRpYXRlbHksIHdhaXQgZm9yIG1vcmUgZGF0YSB0byBhcnJpdmUuXG5cblxuICAgICAgICAgICAgcm9vdC50aW1lb3V0SGFuZGxlID0gc2NoZWR1bGVUaW1lb3V0KGNvbW1pdFJvb3QuYmluZChudWxsLCByb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyksIG1zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBUaGUgd29yayBleHBpcmVkLiBDb21taXQgaW1tZWRpYXRlbHkuXG5cblxuICAgICAgICBjb21taXRSb290KHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIFJvb3RTdXNwZW5kZWRXaXRoRGVsYXk6XG4gICAgICB7XG4gICAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuXG4gICAgICAgIGlmIChpbmNsdWRlc09ubHlUcmFuc2l0aW9ucyhsYW5lcykpIHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGEgdHJhbnNpdGlvbiwgc28gd2Ugc2hvdWxkIGV4aXQgd2l0aG91dCBjb21taXR0aW5nIGFcbiAgICAgICAgICAvLyBwbGFjZWhvbGRlciBhbmQgd2l0aG91dCBzY2hlZHVsaW5nIGEgdGltZW91dC4gRGVsYXkgaW5kZWZpbml0ZWx5XG4gICAgICAgICAgLy8gdW50aWwgd2UgcmVjZWl2ZSBtb3JlIGRhdGEuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBub3QgYSB0cmFuc2l0aW9uLCBidXQgd2UgZGlkIHRyaWdnZXIgYW4gYXZvaWRlZCBzdGF0ZS5cbiAgICAgICAgICAvLyBTY2hlZHVsZSBhIHBsYWNlaG9sZGVyIHRvIGRpc3BsYXkgYWZ0ZXIgYSBzaG9ydCBkZWxheSwgdXNpbmcgdGhlIEp1c3RcbiAgICAgICAgICAvLyBOb3RpY2VhYmxlIERpZmZlcmVuY2UuXG4gICAgICAgICAgLy8gVE9ETzogSXMgdGhlIEpORCBvcHRpbWl6YXRpb24gd29ydGggdGhlIGFkZGVkIGNvbXBsZXhpdHk/IElmIHRoaXMgaXNcbiAgICAgICAgICAvLyB0aGUgb25seSByZWFzb24gd2UgdHJhY2sgdGhlIGV2ZW50IHRpbWUsIHRoZW4gcHJvYmFibHkgbm90LlxuICAgICAgICAgIC8vIENvbnNpZGVyIHJlbW92aW5nLlxuICAgICAgICAgIHZhciBtb3N0UmVjZW50RXZlbnRUaW1lID0gZ2V0TW9zdFJlY2VudEV2ZW50VGltZShyb290LCBsYW5lcyk7XG4gICAgICAgICAgdmFyIGV2ZW50VGltZU1zID0gbW9zdFJlY2VudEV2ZW50VGltZTtcbiAgICAgICAgICB2YXIgdGltZUVsYXBzZWRNcyA9IG5vdygpIC0gZXZlbnRUaW1lTXM7XG5cbiAgICAgICAgICB2YXIgX21zVW50aWxUaW1lb3V0ID0gam5kKHRpbWVFbGFwc2VkTXMpIC0gdGltZUVsYXBzZWRNczsgLy8gRG9uJ3QgYm90aGVyIHdpdGggYSB2ZXJ5IHNob3J0IHN1c3BlbnNlIHRpbWUuXG5cblxuICAgICAgICAgIGlmIChfbXNVbnRpbFRpbWVvdXQgPiAxMCkge1xuICAgICAgICAgICAgLy8gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFjayBpbW1lZGlhdGVseSwgd2FpdCBmb3IgbW9yZSBkYXRhXG4gICAgICAgICAgICAvLyB0byBhcnJpdmUuXG4gICAgICAgICAgICByb290LnRpbWVvdXRIYW5kbGUgPSBzY2hlZHVsZVRpbWVvdXQoY29tbWl0Um9vdC5iaW5kKG51bGwsIHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKSwgX21zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBDb21taXQgdGhlIHBsYWNlaG9sZGVyLlxuXG5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290Q29tcGxldGVkOlxuICAgICAge1xuICAgICAgICAvLyBUaGUgd29yayBjb21wbGV0ZWQuIFJlYWR5IHRvIGNvbW1pdC5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHJvb3QgZXhpdCBzdGF0dXMuJyk7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNSZW5kZXJDb25zaXN0ZW50V2l0aEV4dGVybmFsU3RvcmVzKGZpbmlzaGVkV29yaykge1xuICAvLyBTZWFyY2ggdGhlIHJlbmRlcmVkIHRyZWUgZm9yIGV4dGVybmFsIHN0b3JlIHJlYWRzLCBhbmQgY2hlY2sgd2hldGhlciB0aGVcbiAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZCBpbiBhIGNvbmN1cnJlbnQgZXZlbnQuIEludGVudGlvbmFsbHkgdXNpbmcgYW4gaXRlcmF0aXZlXG4gIC8vIGxvb3AgaW5zdGVhZCBvZiByZWN1cnNpb24gc28gd2UgY2FuIGV4aXQgZWFybHkuXG4gIHZhciBub2RlID0gZmluaXNoZWRXb3JrO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG5vZGUuZmxhZ3MgJiBTdG9yZUNvbnNpc3RlbmN5KSB7XG4gICAgICB2YXIgdXBkYXRlUXVldWUgPSBub2RlLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGNoZWNrcyA9IHVwZGF0ZVF1ZXVlLnN0b3JlcztcblxuICAgICAgICBpZiAoY2hlY2tzICE9PSBudWxsKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGVja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBjaGVjayA9IGNoZWNrc1tpXTtcbiAgICAgICAgICAgIHZhciBnZXRTbmFwc2hvdCA9IGNoZWNrLmdldFNuYXBzaG90O1xuICAgICAgICAgICAgdmFyIHJlbmRlcmVkVmFsdWUgPSBjaGVjay52YWx1ZTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgaWYgKCFvYmplY3RJcyhnZXRTbmFwc2hvdCgpLCByZW5kZXJlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIC8vIEZvdW5kIGFuIGluY29uc2lzdGVudCBzdG9yZS5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIC8vIElmIGBnZXRTbmFwc2hvdGAgdGhyb3dzLCByZXR1cm4gYGZhbHNlYC4gVGhpcyB3aWxsIHNjaGVkdWxlXG4gICAgICAgICAgICAgIC8vIGEgcmUtcmVuZGVyLCBhbmQgdGhlIGVycm9yIHdpbGwgYmUgcmV0aHJvd24gZHVyaW5nIHJlbmRlci5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgICBpZiAobm9kZS5zdWJ0cmVlRmxhZ3MgJiBTdG9yZUNvbnNpc3RlbmN5ICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBjaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgbm9kZSA9IGNoaWxkO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IGZpbmlzaGVkV29yaykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgfSAvLyBGbG93IGRvZXNuJ3Qga25vdyB0aGlzIGlzIHVucmVhY2hhYmxlLCBidXQgZXNsaW50IGRvZXNcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVucmVhY2hhYmxlXG5cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbWFya1Jvb3RTdXNwZW5kZWQkMShyb290LCBzdXNwZW5kZWRMYW5lcykge1xuICAvLyBXaGVuIHN1c3BlbmRpbmcsIHdlIHNob3VsZCBhbHdheXMgZXhjbHVkZSBsYW5lcyB0aGF0IHdlcmUgcGluZ2VkIG9yIChtb3JlXG4gIC8vIHJhcmVseSwgc2luY2Ugd2UgdHJ5IHRvIGF2b2lkIGl0KSB1cGRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuICAvLyBUT0RPOiBMb2wgbWF5YmUgdGhlcmUncyBhIGJldHRlciB3YXkgdG8gZmFjdG9yIHRoaXMgYmVzaWRlcyB0aGlzXG4gIC8vIG9ibm94aW91c2x5IG5hbWVkIGZ1bmN0aW9uIDopXG4gIHN1c3BlbmRlZExhbmVzID0gcmVtb3ZlTGFuZXMoc3VzcGVuZGVkTGFuZXMsIHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzKTtcbiAgc3VzcGVuZGVkTGFuZXMgPSByZW1vdmVMYW5lcyhzdXNwZW5kZWRMYW5lcywgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpO1xuICBtYXJrUm9vdFN1c3BlbmRlZChyb290LCBzdXNwZW5kZWRMYW5lcyk7XG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBzeW5jaHJvbm91cyB0YXNrcyB0aGF0IGRvbid0IGdvXG4vLyB0aHJvdWdoIFNjaGVkdWxlclxuXG5cbmZ1bmN0aW9uIHBlcmZvcm1TeW5jV29ya09uUm9vdChyb290KSB7XG4gIHtcbiAgICBzeW5jTmVzdGVkVXBkYXRlRmxhZygpO1xuICB9XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuJyk7XG4gIH1cblxuICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIHZhciBsYW5lcyA9IGdldE5leHRMYW5lcyhyb290LCBOb0xhbmVzKTtcblxuICBpZiAoIWluY2x1ZGVzU29tZUxhbmUobGFuZXMsIFN5bmNMYW5lKSkge1xuICAgIC8vIFRoZXJlJ3Mgbm8gcmVtYWluaW5nIHN5bmMgd29yayBsZWZ0LlxuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKTtcblxuICBpZiAocm9vdC50YWcgIT09IExlZ2FjeVJvb3QgJiYgZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAvLyBJZiBzb21ldGhpbmcgdGhyZXcgYW4gZXJyb3IsIHRyeSByZW5kZXJpbmcgb25lIG1vcmUgdGltZS4gV2UnbGwgcmVuZGVyXG4gICAgLy8gc3luY2hyb25vdXNseSB0byBibG9jayBjb25jdXJyZW50IGRhdGEgbXV0YXRpb25zLCBhbmQgd2UnbGwgaW5jbHVkZXNcbiAgICAvLyBhbGwgcGVuZGluZyB1cGRhdGVzIGFyZSBpbmNsdWRlZC4gSWYgaXQgc3RpbGwgZmFpbHMgYWZ0ZXIgdGhlIHNlY29uZFxuICAgIC8vIGF0dGVtcHQsIHdlJ2xsIGdpdmUgdXAgYW5kIGNvbW1pdCB0aGUgcmVzdWx0aW5nIHRyZWUuXG4gICAgdmFyIGVycm9yUmV0cnlMYW5lcyA9IGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QpO1xuXG4gICAgaWYgKGVycm9yUmV0cnlMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbGFuZXMgPSBlcnJvclJldHJ5TGFuZXM7XG4gICAgICBleGl0U3RhdHVzID0gcmVjb3ZlckZyb21Db25jdXJyZW50RXJyb3Iocm9vdCwgZXJyb3JSZXRyeUxhbmVzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdEZhdGFsRXJyb3JlZCkge1xuICAgIHZhciBmYXRhbEVycm9yID0gd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvcjtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIGxhbmVzKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuICAgIHRocm93IGZhdGFsRXJyb3I7XG4gIH1cblxuICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdERpZE5vdENvbXBsZXRlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdSb290IGRpZCBub3QgY29tcGxldGUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIEJlY2F1c2UgdGhpcyBpcyBhIHN5bmMgcmVuZGVyLCB3ZVxuICAvLyB3aWxsIGNvbW1pdCBpdCBldmVuIGlmIHNvbWV0aGluZyBzdXNwZW5kZWQuXG5cblxuICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5jdXJyZW50LmFsdGVybmF0ZTtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBmaW5pc2hlZFdvcms7XG4gIHJvb3QuZmluaXNoZWRMYW5lcyA9IGxhbmVzO1xuICBjb21taXRSb290KHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKTsgLy8gQmVmb3JlIGV4aXRpbmcsIG1ha2Ugc3VyZSB0aGVyZSdzIGEgY2FsbGJhY2sgc2NoZWR1bGVkIGZvciB0aGUgbmV4dFxuICAvLyBwZW5kaW5nIGxldmVsLlxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmbHVzaFJvb3Qocm9vdCwgbGFuZXMpIHtcbiAgaWYgKGxhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgbWFya1Jvb3RFbnRhbmdsZWQocm9vdCwgbWVyZ2VMYW5lcyhsYW5lcywgU3luY0xhbmUpKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuXG4gICAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgPT09IE5vQ29udGV4dCkge1xuICAgICAgcmVzZXRSZW5kZXJUaW1lcigpO1xuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBiYXRjaGVkVXBkYXRlcyQxKGZuLCBhKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gQmF0Y2hlZENvbnRleHQ7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oYSk7XG4gIH0gZmluYWxseSB7XG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0OyAvLyBJZiB0aGVyZSB3ZXJlIGxlZ2FjeSBzeW5jIHVwZGF0ZXMsIGZsdXNoIHRoZW0gYXQgdGhlIGVuZCBvZiB0aGUgb3V0ZXJcbiAgICAvLyBtb3N0IGJhdGNoZWRVcGRhdGVzLWxpa2UgbWV0aG9kLlxuXG4gICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCAmJiAvLyBUcmVhdCBgYWN0YCBhcyBpZiBpdCdzIGluc2lkZSBgYmF0Y2hlZFVwZGF0ZXNgLCBldmVuIGluIGxlZ2FjeSBtb2RlLlxuICAgICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSkpIHtcbiAgICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrc09ubHlJbkxlZ2FjeU1vZGUoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpc2NyZXRlVXBkYXRlcyhmbiwgYSwgYiwgYywgZCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG5cbiAgdHJ5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBudWxsO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIHJldHVybiBmbihhLCBiLCBjLCBkKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG5cbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XG4gICAgICByZXNldFJlbmRlclRpbWVyKCk7XG4gICAgfVxuICB9XG59IC8vIE92ZXJsb2FkIHRoZSBkZWZpbml0aW9uIHRvIHRoZSB0d28gdmFsaWQgc2lnbmF0dXJlcy5cbi8vIFdhcm5pbmcsIHRoaXMgb3B0cy1vdXQgb2YgY2hlY2tpbmcgdGhlIGZ1bmN0aW9uIGJvZHkuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmZ1bmN0aW9uIGZsdXNoU3luYyhmbikge1xuICAvLyBJbiBsZWdhY3kgbW9kZSwgd2UgZmx1c2ggcGVuZGluZyBwYXNzaXZlIGVmZmVjdHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiAgLy8gbmV4dCBldmVudCwgbm90IGF0IHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIG9uZS5cbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzICE9PSBudWxsICYmIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLnRhZyA9PT0gTGVnYWN5Um9vdCAmJiAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIH1cblxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICBleGVjdXRpb25Db250ZXh0IHw9IEJhdGNoZWRDb250ZXh0O1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG4gIHZhciBwcmV2aW91c1ByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgdHJ5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBudWxsO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuXG4gICAgaWYgKGZuKSB7XG4gICAgICByZXR1cm4gZm4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuICAgIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDsgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaC5cbiAgICAvLyBOb3RlIHRoYXQgdGhpcyB3aWxsIGhhcHBlbiBldmVuIGlmIGJhdGNoZWRVcGRhdGVzIGlzIGhpZ2hlciB1cFxuICAgIC8vIHRoZSBzdGFjay5cblxuICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrcygpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gaXNBbHJlYWR5UmVuZGVyaW5nKCkge1xuICAvLyBVc2VkIGJ5IHRoZSByZW5kZXJlciB0byBwcmludCBhIHdhcm5pbmcgaWYgY2VydGFpbiBBUElzIGFyZSBjYWxsZWQgZnJvbVxuICAvLyB0aGUgd3JvbmcgY29udGV4dC5cbiAgcmV0dXJuICAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQ7XG59XG5mdW5jdGlvbiBwdXNoUmVuZGVyTGFuZXMoZmliZXIsIGxhbmVzKSB7XG4gIHB1c2goc3VidHJlZVJlbmRlckxhbmVzQ3Vyc29yLCBzdWJ0cmVlUmVuZGVyTGFuZXMsIGZpYmVyKTtcbiAgc3VidHJlZVJlbmRlckxhbmVzID0gbWVyZ2VMYW5lcyhzdWJ0cmVlUmVuZGVyTGFuZXMsIGxhbmVzKTtcbiAgd29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcywgbGFuZXMpO1xufVxuZnVuY3Rpb24gcG9wUmVuZGVyTGFuZXMoZmliZXIpIHtcbiAgc3VidHJlZVJlbmRlckxhbmVzID0gc3VidHJlZVJlbmRlckxhbmVzQ3Vyc29yLmN1cnJlbnQ7XG4gIHBvcChzdWJ0cmVlUmVuZGVyTGFuZXNDdXJzb3IsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgbGFuZXMpIHtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBudWxsO1xuICByb290LmZpbmlzaGVkTGFuZXMgPSBOb0xhbmVzO1xuICB2YXIgdGltZW91dEhhbmRsZSA9IHJvb3QudGltZW91dEhhbmRsZTtcblxuICBpZiAodGltZW91dEhhbmRsZSAhPT0gbm9UaW1lb3V0KSB7XG4gICAgLy8gVGhlIHJvb3QgcHJldmlvdXMgc3VzcGVuZGVkIGFuZCBzY2hlZHVsZWQgYSB0aW1lb3V0IHRvIGNvbW1pdCBhIGZhbGxiYWNrXG4gICAgLy8gc3RhdGUuIE5vdyB0aGF0IHdlIGhhdmUgYWRkaXRpb25hbCB3b3JrLCBjYW5jZWwgdGhlIHRpbWVvdXQuXG4gICAgcm9vdC50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0OyAvLyAkRmxvd0ZpeE1lIENvbXBsYWlucyBub1RpbWVvdXQgaXMgbm90IGEgVGltZW91dElELCBkZXNwaXRlIHRoZSBjaGVjayBhYm92ZVxuXG4gICAgY2FuY2VsVGltZW91dCh0aW1lb3V0SGFuZGxlKTtcbiAgfVxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgIHZhciBpbnRlcnJ1cHRlZFdvcmsgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG5cbiAgICB3aGlsZSAoaW50ZXJydXB0ZWRXb3JrICE9PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGludGVycnVwdGVkV29yay5hbHRlcm5hdGU7XG4gICAgICB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoY3VycmVudCwgaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGludGVycnVwdGVkV29yayA9IGludGVycnVwdGVkV29yay5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgdmFyIHJvb3RXb3JrSW5Qcm9ncmVzcyA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKHJvb3QuY3VycmVudCwgbnVsbCk7XG4gIHdvcmtJblByb2dyZXNzID0gcm9vdFdvcmtJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IHN1YnRyZWVSZW5kZXJMYW5lcyA9IHdvcmtJblByb2dyZXNzUm9vdEluY2x1ZGVkTGFuZXMgPSBsYW5lcztcbiAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290U2tpcHBlZExhbmVzID0gTm9MYW5lcztcbiAgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBOb0xhbmVzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RQaW5nZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9IG51bGw7XG4gIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKTtcblxuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZGlzY2FyZFBlbmRpbmdXYXJuaW5ncygpO1xuICB9XG5cbiAgcmV0dXJuIHJvb3RXb3JrSW5Qcm9ncmVzcztcbn1cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpIHtcbiAgZG8ge1xuICAgIHZhciBlcnJvcmVkV29yayA9IHdvcmtJblByb2dyZXNzO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFJlc2V0IG1vZHVsZS1sZXZlbCBzdGF0ZSB0aGF0IHdhcyBzZXQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7XG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpOyAvLyBUT0RPOiBJIGZvdW5kIGFuZCBhZGRlZCB0aGlzIG1pc3NpbmcgbGluZSB3aGlsZSBpbnZlc3RpZ2F0aW5nIGFcbiAgICAgIC8vIHNlcGFyYXRlIGlzc3VlLiBXcml0ZSBhIHJlZ3Jlc3Npb24gdGVzdCB1c2luZyBzdHJpbmcgcmVmcy5cblxuICAgICAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDtcblxuICAgICAgaWYgKGVycm9yZWRXb3JrID09PSBudWxsIHx8IGVycm9yZWRXb3JrLnJldHVybiA9PT0gbnVsbCkge1xuICAgICAgICAvLyBFeHBlY3RlZCB0byBiZSB3b3JraW5nIG9uIGEgbm9uLXJvb3QgZmliZXIuIFRoaXMgaXMgYSBmYXRhbCBlcnJvclxuICAgICAgICAvLyBiZWNhdXNlIHRoZXJlJ3Mgbm8gYW5jZXN0b3IgdGhhdCBjYW4gaGFuZGxlIGl0OyB0aGUgcm9vdCBpc1xuICAgICAgICAvLyBzdXBwb3NlZCB0byBjYXB0dXJlIGFsbCBlcnJvcnMgdGhhdCB3ZXJlbid0IGNhdWdodCBieSBhbiBlcnJvclxuICAgICAgICAvLyBib3VuZGFyeS5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RGYXRhbEVycm9yZWQ7XG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSB0aHJvd25WYWx1ZTsgLy8gU2V0IGB3b3JrSW5Qcm9ncmVzc2AgdG8gbnVsbC4gVGhpcyByZXByZXNlbnRzIGFkdmFuY2luZyB0byB0aGUgbmV4dFxuICAgICAgICAvLyBzaWJsaW5nLCBvciB0aGUgcGFyZW50IGlmIHRoZXJlIGFyZSBubyBzaWJsaW5ncy4gQnV0IHNpbmNlIHRoZSByb290XG4gICAgICAgIC8vIGhhcyBubyBzaWJsaW5ncyBub3IgYSBwYXJlbnQsIHdlIHNldCBpdCB0byBudWxsLiBVc3VhbGx5IHRoaXMgaXNcbiAgICAgICAgLy8gaGFuZGxlZCBieSBgY29tcGxldGVVbml0T2ZXb3JrYCBvciBgdW53aW5kV29ya2AsIGJ1dCBzaW5jZSB3ZSdyZVxuICAgICAgICAvLyBpbnRlbnRpb25hbGx5IG5vdCBjYWxsaW5nIHRob3NlLCB3ZSBuZWVkIHNldCBpdCBoZXJlLlxuICAgICAgICAvLyBUT0RPOiBDb25zaWRlciBjYWxsaW5nIGB1bndpbmRXb3JrYCB0byBwb3AgdGhlIGNvbnRleHRzLlxuXG4gICAgICAgIHdvcmtJblByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lciAmJiBlcnJvcmVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgLy8gUmVjb3JkIHRoZSB0aW1lIHNwZW50IHJlbmRlcmluZyBiZWZvcmUgYW4gZXJyb3Igd2FzIHRocm93bi4gVGhpc1xuICAgICAgICAvLyBhdm9pZHMgaW5hY2N1cmF0ZSBQcm9maWxlciBkdXJhdGlvbnMgaW4gdGhlIGNhc2Ugb2YgYVxuICAgICAgICAvLyBzdXNwZW5kZWQgcmVuZGVyLlxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGVycm9yZWRXb3JrLCB0cnVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVuYWJsZVNjaGVkdWxpbmdQcm9maWxlcikge1xuICAgICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuXG4gICAgICAgIGlmICh0aHJvd25WYWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdGhyb3duVmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB0aHJvd25WYWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdmFyIHdha2VhYmxlID0gdGhyb3duVmFsdWU7XG4gICAgICAgICAgbWFya0NvbXBvbmVudFN1c3BlbmRlZChlcnJvcmVkV29yaywgd2FrZWFibGUsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXJrQ29tcG9uZW50RXJyb3JlZChlcnJvcmVkV29yaywgdGhyb3duVmFsdWUsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aHJvd0V4Y2VwdGlvbihyb290LCBlcnJvcmVkV29yay5yZXR1cm4sIGVycm9yZWRXb3JrLCB0aHJvd25WYWx1ZSwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpO1xuICAgICAgY29tcGxldGVVbml0T2ZXb3JrKGVycm9yZWRXb3JrKTtcbiAgICB9IGNhdGNoICh5ZXRBbm90aGVyVGhyb3duVmFsdWUpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgcmV0dXJuIHBhdGggYWxzbyB0aHJldy5cbiAgICAgIHRocm93blZhbHVlID0geWV0QW5vdGhlclRocm93blZhbHVlO1xuXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3MgPT09IGVycm9yZWRXb3JrICYmIGVycm9yZWRXb3JrICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIHRoaXMgYm91bmRhcnkgaGFzIGFscmVhZHkgZXJyb3JlZCwgdGhlbiB3ZSBoYWQgdHJvdWJsZSBwcm9jZXNzaW5nXG4gICAgICAgIC8vIHRoZSBlcnJvci4gQnViYmxlIGl0IHRvIHRoZSBuZXh0IGJvdW5kYXJ5LlxuICAgICAgICBlcnJvcmVkV29yayA9IGVycm9yZWRXb3JrLnJldHVybjtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MgPSBlcnJvcmVkV29yaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yZWRXb3JrID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgICB9XG5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH0gLy8gUmV0dXJuIHRvIHRoZSBub3JtYWwgd29yayBsb29wLlxuXG5cbiAgICByZXR1cm47XG4gIH0gd2hpbGUgKHRydWUpO1xufVxuXG5mdW5jdGlvbiBwdXNoRGlzcGF0Y2hlcigpIHtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQyLmN1cnJlbnQ7XG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMi5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyO1xuXG4gIGlmIChwcmV2RGlzcGF0Y2hlciA9PT0gbnVsbCkge1xuICAgIC8vIFRoZSBSZWFjdCBpc29tb3JwaGljIHBhY2thZ2UgZG9lcyBub3QgaW5jbHVkZSBhIGRlZmF1bHQgZGlzcGF0Y2hlci5cbiAgICAvLyBJbnN0ZWFkIHRoZSBmaXJzdCByZW5kZXJlciB3aWxsIGxhemlseSBhdHRhY2ggb25lLCBpbiBvcmRlciB0byBnaXZlXG4gICAgLy8gbmljZXIgZXJyb3IgbWVzc2FnZXMuXG4gICAgcmV0dXJuIENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcHJldkRpc3BhdGNoZXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcikge1xuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xufVxuXG5mdW5jdGlvbiBtYXJrQ29tbWl0VGltZU9mRmFsbGJhY2soKSB7XG4gIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUgPSBub3coKTtcbn1cbmZ1bmN0aW9uIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMobGFuZSkge1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RTa2lwcGVkTGFuZXMgPSBtZXJnZUxhbmVzKGxhbmUsIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyk7XG59XG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kKCkge1xuICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEluUHJvZ3Jlc3MpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdFN1c3BlbmRlZDtcbiAgfVxufVxuZnVuY3Rpb24gcmVuZGVyRGlkU3VzcGVuZERlbGF5SWZQb3NzaWJsZSgpIHtcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJblByb2dyZXNzIHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQgfHwgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdFN1c3BlbmRlZFdpdGhEZWxheTtcbiAgfSAvLyBDaGVjayBpZiB0aGVyZSBhcmUgdXBkYXRlcyB0aGF0IHdlIHNraXBwZWQgdHJlZSB0aGF0IG1pZ2h0IGhhdmUgdW5ibG9ja2VkXG4gIC8vIHRoaXMgcmVuZGVyLlxuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCAmJiAoaW5jbHVkZXNOb25JZGxlV29yayh3b3JrSW5Qcm9ncmVzc1Jvb3RTa2lwcGVkTGFuZXMpIHx8IGluY2x1ZGVzTm9uSWRsZVdvcmsod29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpKSkge1xuICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgcmVuZGVyIGFzIHN1c3BlbmRlZCBzbyB0aGF0IHdlIHN3aXRjaCB0byB3b3JraW5nIG9uXG4gICAgLy8gdGhlIHVwZGF0ZXMgdGhhdCB3ZXJlIHNraXBwZWQuIFVzdWFsbHkgd2Ugb25seSBzdXNwZW5kIGF0IHRoZSBlbmQgb2ZcbiAgICAvLyB0aGUgcmVuZGVyIHBoYXNlLlxuICAgIC8vIFRPRE86IFdlIHNob3VsZCBwcm9iYWJseSBhbHdheXMgbWFyayB0aGUgcm9vdCBhcyBzdXNwZW5kZWQgaW1tZWRpYXRlbHlcbiAgICAvLyAoaW5zaWRlIHRoaXMgZnVuY3Rpb24pLCBzaW5jZSBieSBzdXNwZW5kaW5nIGF0IHRoZSBlbmQgb2YgdGhlIHJlbmRlclxuICAgIC8vIHBoYXNlIGludHJvZHVjZXMgYSBwb3RlbnRpYWwgbWlzdGFrZSB3aGVyZSB3ZSBzdXNwZW5kIGxhbmVzIHRoYXQgd2VyZVxuICAgIC8vIHBpbmdlZCBvciB1cGRhdGVkIHdoaWxlIHdlIHdlcmUgcmVuZGVyaW5nLlxuICAgIG1hcmtSb290U3VzcGVuZGVkJDEod29ya0luUHJvZ3Jlc3NSb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlbmRlckRpZEVycm9yKGVycm9yKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzICE9PSBSb290U3VzcGVuZGVkV2l0aERlbGF5KSB7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RFcnJvcmVkO1xuICB9XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RDb25jdXJyZW50RXJyb3JzID0gW2Vycm9yXTtcbiAgfSBlbHNlIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RDb25jdXJyZW50RXJyb3JzLnB1c2goZXJyb3IpO1xuICB9XG59IC8vIENhbGxlZCBkdXJpbmcgcmVuZGVyIHRvIGRldGVybWluZSBpZiBhbnl0aGluZyBoYXMgc3VzcGVuZGVkLlxuLy8gUmV0dXJucyBmYWxzZSBpZiB3ZSdyZSBub3Qgc3VyZS5cblxuZnVuY3Rpb24gcmVuZGVySGFzTm90U3VzcGVuZGVkWWV0KCkge1xuICAvLyBJZiBzb21ldGhpbmcgZXJyb3JlZCBvciBjb21wbGV0ZWQsIHdlIGNhbid0IHJlYWxseSBiZSBzdXJlLFxuICAvLyBzbyB0aG9zZSBhcmUgZmFsc2UuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5Qcm9ncmVzcztcbn1cblxuZnVuY3Rpb24gcmVuZGVyUm9vdFN5bmMocm9vdCwgbGFuZXMpIHtcbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBSZW5kZXJDb250ZXh0O1xuICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpOyAvLyBJZiB0aGUgcm9vdCBvciBsYW5lcyBoYXZlIGNoYW5nZWQsIHRocm93IG91dCB0aGUgZXhpc3Rpbmcgc3RhY2tcbiAgLy8gYW5kIHByZXBhcmUgYSBmcmVzaCBvbmUuIE90aGVyd2lzZSB3ZSdsbCBjb250aW51ZSB3aGVyZSB3ZSBsZWZ0IG9mZi5cblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ICE9PSByb290IHx8IHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzICE9PSBsYW5lcykge1xuICAgIHtcbiAgICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgICB2YXIgbWVtb2l6ZWRVcGRhdGVycyA9IHJvb3QubWVtb2l6ZWRVcGRhdGVycztcblxuICAgICAgICBpZiAobWVtb2l6ZWRVcGRhdGVycy5zaXplID4gMCkge1xuICAgICAgICAgIHJlc3RvcmVQZW5kaW5nVXBkYXRlcnMocm9vdCwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpO1xuICAgICAgICAgIG1lbW9pemVkVXBkYXRlcnMuY2xlYXIoKTtcbiAgICAgICAgfSAvLyBBdCB0aGlzIHBvaW50LCBtb3ZlIEZpYmVycyB0aGF0IHNjaGVkdWxlZCB0aGUgdXBjb21pbmcgd29yayBmcm9tIHRoZSBNYXAgdG8gdGhlIFNldC5cbiAgICAgICAgLy8gSWYgd2UgYmFpbG91dCBvbiB0aGlzIHdvcmssIHdlJ2xsIG1vdmUgdGhlbSBiYWNrIChsaWtlIGFib3ZlKS5cbiAgICAgICAgLy8gSXQncyBpbXBvcnRhbnQgdG8gbW92ZSB0aGVtIG5vdyBpbiBjYXNlIHRoZSB3b3JrIHNwYXducyBtb3JlIHdvcmsgYXQgdGhlIHNhbWUgcHJpb3JpdHkgd2l0aCBkaWZmZXJlbnQgdXBkYXRlcnMuXG4gICAgICAgIC8vIFRoYXQgd2F5IHdlIGNhbiBrZWVwIHRoZSBjdXJyZW50IHVwZGF0ZSBhbmQgZnV0dXJlIHVwZGF0ZXMgc2VwYXJhdGUuXG5cblxuICAgICAgICBtb3ZlUGVuZGluZ0ZpYmVyc1RvTWVtb2l6ZWQocm9vdCwgbGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHdvcmtJblByb2dyZXNzVHJhbnNpdGlvbnMgPSBnZXRUcmFuc2l0aW9uc0ZvckxhbmVzKCk7XG4gICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgbGFuZXMpO1xuICB9XG5cbiAge1xuICAgIG1hcmtSZW5kZXJTdGFydGVkKGxhbmVzKTtcbiAgfVxuXG4gIGRvIHtcbiAgICB0cnkge1xuICAgICAgd29ya0xvb3BTeW5jKCk7XG4gICAgICBicmVhaztcbiAgICB9IGNhdGNoICh0aHJvd25WYWx1ZSkge1xuICAgICAgaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpO1xuICAgIH1cbiAgfSB3aGlsZSAodHJ1ZSk7XG5cbiAgcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCk7XG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyBhIHN5bmMgcmVuZGVyLCBzbyB3ZSBzaG91bGQgaGF2ZSBmaW5pc2hlZCB0aGUgd2hvbGUgdHJlZS5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb21taXQgYW4gaW5jb21wbGV0ZSByb290LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSAnICsgJ2J1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0b3BwZWQoKTtcbiAgfSAvLyBTZXQgdGhpcyB0byBudWxsIHRvIGluZGljYXRlIHRoZXJlJ3Mgbm8gaW4tcHJvZ3Jlc3MgcmVuZGVyLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cztcbn0gLy8gVGhlIHdvcmsgbG9vcCBpcyBhbiBleHRyZW1lbHkgaG90IHBhdGguIFRlbGwgQ2xvc3VyZSBub3QgdG8gaW5saW5lIGl0LlxuXG4vKiogQG5vaW5saW5lICovXG5cblxuZnVuY3Rpb24gd29ya0xvb3BTeW5jKCkge1xuICAvLyBBbHJlYWR5IHRpbWVkIG91dCwgc28gcGVyZm9ybSB3b3JrIHdpdGhvdXQgY2hlY2tpbmcgaWYgd2UgbmVlZCB0byB5aWVsZC5cbiAgd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgcGVyZm9ybVVuaXRPZldvcmsod29ya0luUHJvZ3Jlc3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlclJvb3RDb25jdXJyZW50KHJvb3QsIGxhbmVzKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gUmVuZGVyQ29udGV4dDtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gcHVzaERpc3BhdGNoZXIoKTsgLy8gSWYgdGhlIHJvb3Qgb3IgbGFuZXMgaGF2ZSBjaGFuZ2VkLCB0aHJvdyBvdXQgdGhlIGV4aXN0aW5nIHN0YWNrXG4gIC8vIGFuZCBwcmVwYXJlIGEgZnJlc2ggb25lLiBPdGhlcndpc2Ugd2UnbGwgY29udGludWUgd2hlcmUgd2UgbGVmdCBvZmYuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gcm9vdCB8fCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyAhPT0gbGFuZXMpIHtcbiAgICB7XG4gICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgdmFyIG1lbW9pemVkVXBkYXRlcnMgPSByb290Lm1lbW9pemVkVXBkYXRlcnM7XG5cbiAgICAgICAgaWYgKG1lbW9pemVkVXBkYXRlcnMuc2l6ZSA+IDApIHtcbiAgICAgICAgICByZXN0b3JlUGVuZGluZ1VwZGF0ZXJzKHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmNsZWFyKCk7XG4gICAgICAgIH0gLy8gQXQgdGhpcyBwb2ludCwgbW92ZSBGaWJlcnMgdGhhdCBzY2hlZHVsZWQgdGhlIHVwY29taW5nIHdvcmsgZnJvbSB0aGUgTWFwIHRvIHRoZSBTZXQuXG4gICAgICAgIC8vIElmIHdlIGJhaWxvdXQgb24gdGhpcyB3b3JrLCB3ZSdsbCBtb3ZlIHRoZW0gYmFjayAobGlrZSBhYm92ZSkuXG4gICAgICAgIC8vIEl0J3MgaW1wb3J0YW50IHRvIG1vdmUgdGhlbSBub3cgaW4gY2FzZSB0aGUgd29yayBzcGF3bnMgbW9yZSB3b3JrIGF0IHRoZSBzYW1lIHByaW9yaXR5IHdpdGggZGlmZmVyZW50IHVwZGF0ZXJzLlxuICAgICAgICAvLyBUaGF0IHdheSB3ZSBjYW4ga2VlcCB0aGUgY3VycmVudCB1cGRhdGUgYW5kIGZ1dHVyZSB1cGRhdGVzIHNlcGFyYXRlLlxuXG5cbiAgICAgICAgbW92ZVBlbmRpbmdGaWJlcnNUb01lbW9pemVkKHJvb3QsIGxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zID0gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcygpO1xuICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBsYW5lcyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgZG8ge1xuICAgIHRyeSB7XG4gICAgICB3b3JrTG9vcENvbmN1cnJlbnQoKTtcbiAgICAgIGJyZWFrO1xuICAgIH0gY2F0Y2ggKHRocm93blZhbHVlKSB7XG4gICAgICBoYW5kbGVFcnJvcihyb290LCB0aHJvd25WYWx1ZSk7XG4gICAgfVxuICB9IHdoaWxlICh0cnVlKTtcblxuICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcblxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgIC8vIFN0aWxsIHdvcmsgcmVtYWluaW5nLlxuICAgIHtcbiAgICAgIG1hcmtSZW5kZXJZaWVsZGVkKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJvb3RJblByb2dyZXNzO1xuICB9IGVsc2Uge1xuICAgIC8vIENvbXBsZXRlZCB0aGUgdHJlZS5cbiAgICB7XG4gICAgICBtYXJrUmVuZGVyU3RvcHBlZCgpO1xuICAgIH0gLy8gU2V0IHRoaXMgdG8gbnVsbCB0byBpbmRpY2F0ZSB0aGVyZSdzIG5vIGluLXByb2dyZXNzIHJlbmRlci5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIFJldHVybiB0aGUgZmluYWwgZXhpdCBzdGF0dXMuXG5cbiAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cztcbiAgfVxufVxuLyoqIEBub2lubGluZSAqL1xuXG5cbmZ1bmN0aW9uIHdvcmtMb29wQ29uY3VycmVudCgpIHtcbiAgLy8gUGVyZm9ybSB3b3JrIHVudGlsIFNjaGVkdWxlciBhc2tzIHVzIHRvIHlpZWxkXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCAmJiAhc2hvdWxkWWllbGQoKSkge1xuICAgIHBlcmZvcm1Vbml0T2ZXb3JrKHdvcmtJblByb2dyZXNzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwZXJmb3JtVW5pdE9mV29yayh1bml0T2ZXb3JrKSB7XG4gIC8vIFRoZSBjdXJyZW50LCBmbHVzaGVkLCBzdGF0ZSBvZiB0aGlzIGZpYmVyIGlzIHRoZSBhbHRlcm5hdGUuIElkZWFsbHlcbiAgLy8gbm90aGluZyBzaG91bGQgcmVseSBvbiB0aGlzLCBidXQgcmVseWluZyBvbiBpdCBoZXJlIG1lYW5zIHRoYXQgd2UgZG9uJ3RcbiAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICB2YXIgY3VycmVudCA9IHVuaXRPZldvcmsuYWx0ZXJuYXRlO1xuICBzZXRDdXJyZW50RmliZXIodW5pdE9mV29yayk7XG4gIHZhciBuZXh0O1xuXG4gIGlmICggKHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgIG5leHQgPSBiZWdpbldvcmskMShjdXJyZW50LCB1bml0T2ZXb3JrLCBzdWJ0cmVlUmVuZGVyTGFuZXMpO1xuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEodW5pdE9mV29yaywgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dCA9IGJlZ2luV29yayQxKGN1cnJlbnQsIHVuaXRPZldvcmssIHN1YnRyZWVSZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXNldEN1cnJlbnRGaWJlcigpO1xuICB1bml0T2ZXb3JrLm1lbW9pemVkUHJvcHMgPSB1bml0T2ZXb3JrLnBlbmRpbmdQcm9wcztcblxuICBpZiAobmV4dCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgZG9lc24ndCBzcGF3biBuZXcgd29yaywgY29tcGxldGUgdGhlIGN1cnJlbnQgd29yay5cbiAgICBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gIH0gZWxzZSB7XG4gICAgd29ya0luUHJvZ3Jlc3MgPSBuZXh0O1xuICB9XG5cbiAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gY29tcGxldGVVbml0T2ZXb3JrKHVuaXRPZldvcmspIHtcbiAgLy8gQXR0ZW1wdCB0byBjb21wbGV0ZSB0aGUgY3VycmVudCB1bml0IG9mIHdvcmssIHRoZW4gbW92ZSB0byB0aGUgbmV4dFxuICAvLyBzaWJsaW5nLiBJZiB0aGVyZSBhcmUgbm8gbW9yZSBzaWJsaW5ncywgcmV0dXJuIHRvIHRoZSBwYXJlbnQgZmliZXIuXG4gIHZhciBjb21wbGV0ZWRXb3JrID0gdW5pdE9mV29yaztcblxuICBkbyB7XG4gICAgLy8gVGhlIGN1cnJlbnQsIGZsdXNoZWQsIHN0YXRlIG9mIHRoaXMgZmliZXIgaXMgdGhlIGFsdGVybmF0ZS4gSWRlYWxseVxuICAgIC8vIG5vdGhpbmcgc2hvdWxkIHJlbHkgb24gdGhpcywgYnV0IHJlbHlpbmcgb24gaXQgaGVyZSBtZWFucyB0aGF0IHdlIGRvbid0XG4gICAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICAgIHZhciBjdXJyZW50ID0gY29tcGxldGVkV29yay5hbHRlcm5hdGU7XG4gICAgdmFyIHJldHVybkZpYmVyID0gY29tcGxldGVkV29yay5yZXR1cm47IC8vIENoZWNrIGlmIHRoZSB3b3JrIGNvbXBsZXRlZCBvciBpZiBzb21ldGhpbmcgdGhyZXcuXG5cbiAgICBpZiAoKGNvbXBsZXRlZFdvcmsuZmxhZ3MgJiBJbmNvbXBsZXRlKSA9PT0gTm9GbGFncykge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNvbXBsZXRlZFdvcmspO1xuICAgICAgdmFyIG5leHQgPSB2b2lkIDA7XG5cbiAgICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICAgIG5leHQgPSBjb21wbGV0ZVdvcmsoY3VycmVudCwgY29tcGxldGVkV29yaywgc3VidHJlZVJlbmRlckxhbmVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0UHJvZmlsZXJUaW1lcihjb21wbGV0ZWRXb3JrKTtcbiAgICAgICAgbmV4dCA9IGNvbXBsZXRlV29yayhjdXJyZW50LCBjb21wbGV0ZWRXb3JrLCBzdWJ0cmVlUmVuZGVyTGFuZXMpOyAvLyBVcGRhdGUgcmVuZGVyIGR1cmF0aW9uIGFzc3VtaW5nIHdlIGRpZG4ndCBlcnJvci5cblxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGNvbXBsZXRlZFdvcmssIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgcmVzZXRDdXJyZW50RmliZXIoKTtcblxuICAgICAgaWYgKG5leHQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gQ29tcGxldGluZyB0aGlzIGZpYmVyIHNwYXduZWQgbmV3IHdvcmsuIFdvcmsgb24gdGhhdCBuZXh0LlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IG5leHQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBmaWJlciBkaWQgbm90IGNvbXBsZXRlIGJlY2F1c2Ugc29tZXRoaW5nIHRocmV3LiBQb3AgdmFsdWVzIG9mZlxuICAgICAgLy8gdGhlIHN0YWNrIHdpdGhvdXQgZW50ZXJpbmcgdGhlIGNvbXBsZXRlIHBoYXNlLiBJZiB0aGlzIGlzIGEgYm91bmRhcnksXG4gICAgICAvLyBjYXB0dXJlIHZhbHVlcyBpZiBwb3NzaWJsZS5cbiAgICAgIHZhciBfbmV4dCA9IHVud2luZFdvcmsoY3VycmVudCwgY29tcGxldGVkV29yayk7IC8vIEJlY2F1c2UgdGhpcyBmaWJlciBkaWQgbm90IGNvbXBsZXRlLCBkb24ndCByZXNldCBpdHMgbGFuZXMuXG5cblxuICAgICAgaWYgKF9uZXh0ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIGNvbXBsZXRpbmcgdGhpcyB3b3JrIHNwYXduZWQgbmV3IHdvcmssIGRvIHRoYXQgbmV4dC4gV2UnbGwgY29tZVxuICAgICAgICAvLyBiYWNrIGhlcmUgYWdhaW4uXG4gICAgICAgIC8vIFNpbmNlIHdlJ3JlIHJlc3RhcnRpbmcsIHJlbW92ZSBhbnl0aGluZyB0aGF0IGlzIG5vdCBhIGhvc3QgZWZmZWN0XG4gICAgICAgIC8vIGZyb20gdGhlIGVmZmVjdCB0YWcuXG4gICAgICAgIF9uZXh0LmZsYWdzICY9IEhvc3RFZmZlY3RNYXNrO1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IF9uZXh0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIC8vIFJlY29yZCB0aGUgcmVuZGVyIGR1cmF0aW9uIGZvciB0aGUgZmliZXIgdGhhdCBlcnJvcmVkLlxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGNvbXBsZXRlZFdvcmssIGZhbHNlKTsgLy8gSW5jbHVkZSB0aGUgdGltZSBzcGVudCB3b3JraW5nIG9uIGZhaWxlZCBjaGlsZHJlbiBiZWZvcmUgY29udGludWluZy5cblxuICAgICAgICB2YXIgYWN0dWFsRHVyYXRpb24gPSBjb21wbGV0ZWRXb3JrLmFjdHVhbER1cmF0aW9uO1xuICAgICAgICB2YXIgY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgIGFjdHVhbER1cmF0aW9uICs9IGNoaWxkLmFjdHVhbER1cmF0aW9uO1xuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKHJldHVybkZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgIC8vIE1hcmsgdGhlIHBhcmVudCBmaWJlciBhcyBpbmNvbXBsZXRlIGFuZCBjbGVhciBpdHMgc3VidHJlZSBmbGFncy5cbiAgICAgICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gSW5jb21wbGV0ZTtcbiAgICAgICAgcmV0dXJuRmliZXIuc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICAgICAgcmV0dXJuRmliZXIuZGVsZXRpb25zID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlJ3ZlIHVud291bmQgYWxsIHRoZSB3YXkgdG8gdGhlIHJvb3QuXG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290RGlkTm90Q29tcGxldGU7XG4gICAgICAgIHdvcmtJblByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBzaWJsaW5nRmliZXIgPSBjb21wbGV0ZWRXb3JrLnNpYmxpbmc7XG5cbiAgICBpZiAoc2libGluZ0ZpYmVyICE9PSBudWxsKSB7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBtb3JlIHdvcmsgdG8gZG8gaW4gdGhpcyByZXR1cm5GaWJlciwgZG8gdGhhdCBuZXh0LlxuICAgICAgd29ya0luUHJvZ3Jlc3MgPSBzaWJsaW5nRmliZXI7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBPdGhlcndpc2UsIHJldHVybiB0byB0aGUgcGFyZW50XG5cblxuICAgIGNvbXBsZXRlZFdvcmsgPSByZXR1cm5GaWJlcjsgLy8gVXBkYXRlIHRoZSBuZXh0IHRoaW5nIHdlJ3JlIHdvcmtpbmcgb24gaW4gY2FzZSBzb21ldGhpbmcgdGhyb3dzLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSBjb21wbGV0ZWRXb3JrO1xuICB9IHdoaWxlIChjb21wbGV0ZWRXb3JrICE9PSBudWxsKTsgLy8gV2UndmUgcmVhY2hlZCB0aGUgcm9vdC5cblxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5Qcm9ncmVzcykge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290Q29tcGxldGVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFJvb3Qocm9vdCwgcmVjb3ZlcmFibGVFcnJvcnMsIHRyYW5zaXRpb25zKSB7XG4gIC8vIFRPRE86IFRoaXMgbm8gbG9uZ2VyIG1ha2VzIGFueSBzZW5zZS4gV2UgYWxyZWFkeSB3cmFwIHRoZSBtdXRhdGlvbiBhbmRcbiAgLy8gbGF5b3V0IHBoYXNlcy4gU2hvdWxkIGJlIGFibGUgdG8gcmVtb3ZlLlxuICB2YXIgcHJldmlvdXNVcGRhdGVMYW5lUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uO1xuXG4gIHRyeSB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gbnVsbDtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoRGlzY3JldGVFdmVudFByaW9yaXR5KTtcbiAgICBjb21taXRSb290SW1wbChyb290LCByZWNvdmVyYWJsZUVycm9ycywgdHJhbnNpdGlvbnMsIHByZXZpb3VzVXBkYXRlTGFuZVByaW9yaXR5KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBwcmV2VHJhbnNpdGlvbjtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNVcGRhdGVMYW5lUHJpb3JpdHkpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFJvb3RJbXBsKHJvb3QsIHJlY292ZXJhYmxlRXJyb3JzLCB0cmFuc2l0aW9ucywgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xuICBkbyB7XG4gICAgLy8gYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgY2FsbCBgZmx1c2hTeW5jVXBkYXRlUXVldWVgIGF0IHRoZSBlbmQsIHdoaWNoXG4gICAgLy8gbWVhbnMgYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgc29tZXRpbWVzIHJlc3VsdCBpbiBhZGRpdGlvbmFsXG4gICAgLy8gcGFzc2l2ZSBlZmZlY3RzLiBTbyB3ZSBuZWVkIHRvIGtlZXAgZmx1c2hpbmcgaW4gYSBsb29wIHVudGlsIHRoZXJlIGFyZVxuICAgIC8vIG5vIG1vcmUgcGVuZGluZyBlZmZlY3RzLlxuICAgIC8vIFRPRE86IE1pZ2h0IGJlIGJldHRlciBpZiBgZmx1c2hQYXNzaXZlRWZmZWN0c2AgZGlkIG5vdCBhdXRvbWF0aWNhbGx5XG4gICAgLy8gZmx1c2ggc3luY2hyb25vdXMgd29yayBhdCB0aGUgZW5kLCB0byBhdm9pZCBmYWN0b3JpbmcgaGF6YXJkcyBsaWtlIHRoaXMuXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICB9IHdoaWxlIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyAhPT0gbnVsbCk7XG5cbiAgZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCk7XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuJyk7XG4gIH1cblxuICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5maW5pc2hlZFdvcms7XG4gIHZhciBsYW5lcyA9IHJvb3QuZmluaXNoZWRMYW5lcztcblxuICB7XG4gICAgbWFya0NvbW1pdFN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgaWYgKGZpbmlzaGVkV29yayA9PT0gbnVsbCkge1xuXG4gICAge1xuICAgICAgbWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBpZiAobGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAgICAgZXJyb3IoJ3Jvb3QuZmluaXNoZWRMYW5lcyBzaG91bGQgbm90IGJlIGVtcHR5IGR1cmluZyBhIGNvbW1pdC4gVGhpcyBpcyBhICcgKyAnYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJvb3QuZmluaXNoZWRXb3JrID0gbnVsbDtcbiAgcm9vdC5maW5pc2hlZExhbmVzID0gTm9MYW5lcztcblxuICBpZiAoZmluaXNoZWRXb3JrID09PSByb290LmN1cnJlbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb21taXQgdGhlIHNhbWUgdHJlZSBhcyBiZWZvcmUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSAnICsgJ2EgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfSAvLyBjb21taXRSb290IG5ldmVyIHJldHVybnMgYSBjb250aW51YXRpb247IGl0IGFsd2F5cyBmaW5pc2hlcyBzeW5jaHJvbm91c2x5LlxuICAvLyBTbyB3ZSBjYW4gY2xlYXIgdGhlc2Ugbm93IHRvIGFsbG93IGEgbmV3IGNhbGxiYWNrIHRvIGJlIHNjaGVkdWxlZC5cblxuXG4gIHJvb3QuY2FsbGJhY2tOb2RlID0gbnVsbDtcbiAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9MYW5lOyAvLyBVcGRhdGUgdGhlIGZpcnN0IGFuZCBsYXN0IHBlbmRpbmcgdGltZXMgb24gdGhpcyByb290LiBUaGUgbmV3IGZpcnN0XG4gIC8vIHBlbmRpbmcgdGltZSBpcyB3aGF0ZXZlciBpcyBsZWZ0IG9uIHRoZSByb290IGZpYmVyLlxuXG4gIHZhciByZW1haW5pbmdMYW5lcyA9IG1lcmdlTGFuZXMoZmluaXNoZWRXb3JrLmxhbmVzLCBmaW5pc2hlZFdvcmsuY2hpbGRMYW5lcyk7XG4gIG1hcmtSb290RmluaXNoZWQocm9vdCwgcmVtYWluaW5nTGFuZXMpO1xuXG4gIGlmIChyb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QpIHtcbiAgICAvLyBXZSBjYW4gcmVzZXQgdGhlc2Ugbm93IHRoYXQgdGhleSBhcmUgZmluaXNoZWQuXG4gICAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICB9IC8vIElmIHRoZXJlIGFyZSBwZW5kaW5nIHBhc3NpdmUgZWZmZWN0cywgc2NoZWR1bGUgYSBjYWxsYmFjayB0byBwcm9jZXNzIHRoZW0uXG4gIC8vIERvIHRoaXMgYXMgZWFybHkgYXMgcG9zc2libGUsIHNvIGl0IGlzIHF1ZXVlZCBiZWZvcmUgYW55dGhpbmcgZWxzZSB0aGF0XG4gIC8vIG1pZ2h0IGdldCBzY2hlZHVsZWQgaW4gdGhlIGNvbW1pdCBwaGFzZS4gKFNlZSAjMTY3MTQuKVxuICAvLyBUT0RPOiBEZWxldGUgYWxsIG90aGVyIHBsYWNlcyB0aGF0IHNjaGVkdWxlIHRoZSBwYXNzaXZlIGVmZmVjdCBjYWxsYmFja1xuICAvLyBUaGV5J3JlIHJlZHVuZGFudC5cblxuXG4gIGlmICgoZmluaXNoZWRXb3JrLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyB8fCAoZmluaXNoZWRXb3JrLmZsYWdzICYgUGFzc2l2ZU1hc2spICE9PSBOb0ZsYWdzKSB7XG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgLy8gdG8gc3RvcmUgaXQgaW4gcGVuZGluZ1Bhc3NpdmVUcmFuc2l0aW9ucyB1bnRpbCB0aGV5IGdldCBwcm9jZXNzZWRcbiAgICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGlzIHRocm91Z2ggYXMgYW4gYXJndW1lbnQgdG8gY29tbWl0Um9vdFxuICAgICAgLy8gYmVjYXVzZSB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zIG1pZ2h0IGhhdmUgY2hhbmdlZCBiZXR3ZWVuXG4gICAgICAvLyB0aGUgcHJldmlvdXMgcmVuZGVyIGFuZCBjb21taXQgaWYgd2UgdGhyb3R0bGUgdGhlIGNvbW1pdFxuICAgICAgLy8gd2l0aCBzZXRUaW1lb3V0XG5cbiAgICAgIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSB0cmFuc2l0aW9ucztcbiAgICAgIHNjaGVkdWxlQ2FsbGJhY2skMShOb3JtYWxQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7IC8vIFRoaXMgcmVuZGVyIHRyaWdnZXJlZCBwYXNzaXZlIGVmZmVjdHM6IHJlbGVhc2UgdGhlIHJvb3QgY2FjaGUgcG9vbFxuICAgICAgICAvLyAqYWZ0ZXIqIHBhc3NpdmUgZWZmZWN0cyBmaXJlIHRvIGF2b2lkIGZyZWVpbmcgYSBjYWNoZSBwb29sIHRoYXQgbWF5XG4gICAgICAgIC8vIGJlIHJlZmVyZW5jZWQgYnkgYSBub2RlIGluIHRoZSB0cmVlIChIb3N0Um9vdCwgQ2FjaGUgYm91bmRhcnkgZXRjKVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuICB9IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZWZmZWN0cyBpbiB0aGUgd2hvbGUgdHJlZS5cbiAgLy8gVE9ETzogVGhpcyBpcyBsZWZ0IG92ZXIgZnJvbSB0aGUgZWZmZWN0IGxpc3QgaW1wbGVtZW50YXRpb24sIHdoZXJlIHdlIGhhZFxuICAvLyB0byBjaGVjayBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBgZmlyc3RFZmZlY3RgIHRvIHNhdGlzZnkgRmxvdy4gSSB0aGluayB0aGVcbiAgLy8gb25seSBvdGhlciByZWFzb24gdGhpcyBvcHRpbWl6YXRpb24gZXhpc3RzIGlzIGJlY2F1c2UgaXQgYWZmZWN0cyBwcm9maWxpbmcuXG4gIC8vIFJlY29uc2lkZXIgd2hldGhlciB0aGlzIGlzIG5lY2Vzc2FyeS5cblxuXG4gIHZhciBzdWJ0cmVlSGFzRWZmZWN0cyA9IChmaW5pc2hlZFdvcmsuc3VidHJlZUZsYWdzICYgKEJlZm9yZU11dGF0aW9uTWFzayB8IE11dGF0aW9uTWFzayB8IExheW91dE1hc2sgfCBQYXNzaXZlTWFzaykpICE9PSBOb0ZsYWdzO1xuICB2YXIgcm9vdEhhc0VmZmVjdCA9IChmaW5pc2hlZFdvcmsuZmxhZ3MgJiAoQmVmb3JlTXV0YXRpb25NYXNrIHwgTXV0YXRpb25NYXNrIHwgTGF5b3V0TWFzayB8IFBhc3NpdmVNYXNrKSkgIT09IE5vRmxhZ3M7XG5cbiAgaWYgKHN1YnRyZWVIYXNFZmZlY3RzIHx8IHJvb3RIYXNFZmZlY3QpIHtcbiAgICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gICAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0OyAvLyBSZXNldCB0aGlzIHRvIG51bGwgYmVmb3JlIGNhbGxpbmcgbGlmZWN5Y2xlc1xuXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDsgLy8gVGhlIGNvbW1pdCBwaGFzZSBpcyBicm9rZW4gaW50byBzZXZlcmFsIHN1Yi1waGFzZXMuIFdlIGRvIGEgc2VwYXJhdGUgcGFzc1xuICAgIC8vIG9mIHRoZSBlZmZlY3QgbGlzdCBmb3IgZWFjaCBwaGFzZTogYWxsIG11dGF0aW9uIGVmZmVjdHMgY29tZSBiZWZvcmUgYWxsXG4gICAgLy8gbGF5b3V0IGVmZmVjdHMsIGFuZCBzbyBvbi5cbiAgICAvLyBUaGUgZmlyc3QgcGhhc2UgYSBcImJlZm9yZSBtdXRhdGlvblwiIHBoYXNlLiBXZSB1c2UgdGhpcyBwaGFzZSB0byByZWFkIHRoZVxuICAgIC8vIHN0YXRlIG9mIHRoZSBob3N0IHRyZWUgcmlnaHQgYmVmb3JlIHdlIG11dGF0ZSBpdC4gVGhpcyBpcyB3aGVyZVxuICAgIC8vIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlIGlzIGNhbGxlZC5cblxuICAgIHZhciBzaG91bGRGaXJlQWZ0ZXJBY3RpdmVJbnN0YW5jZUJsdXIgPSBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcblxuICAgIHtcbiAgICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgY29tbWl0IHRpbWUgdG8gYmUgc2hhcmVkIGJ5IGFsbCBQcm9maWxlcnMgaW4gdGhpc1xuICAgICAgLy8gYmF0Y2guIFRoaXMgZW5hYmxlcyB0aGVtIHRvIGJlIGdyb3VwZWQgbGF0ZXIuXG4gICAgICByZWNvcmRDb21taXRUaW1lKCk7XG4gICAgfVxuXG5cbiAgICBjb21taXRNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrLCBsYW5lcyk7XG5cbiAgICByZXNldEFmdGVyQ29tbWl0KHJvb3QuY29udGFpbmVySW5mbyk7IC8vIFRoZSB3b3JrLWluLXByb2dyZXNzIHRyZWUgaXMgbm93IHRoZSBjdXJyZW50IHRyZWUuIFRoaXMgbXVzdCBjb21lIGFmdGVyXG4gICAgLy8gdGhlIG11dGF0aW9uIHBoYXNlLCBzbyB0aGF0IHRoZSBwcmV2aW91cyB0cmVlIGlzIHN0aWxsIGN1cnJlbnQgZHVyaW5nXG4gICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQsIGJ1dCBiZWZvcmUgdGhlIGxheW91dCBwaGFzZSwgc28gdGhhdCB0aGUgZmluaXNoZWRcbiAgICAvLyB3b3JrIGlzIGN1cnJlbnQgZHVyaW5nIGNvbXBvbmVudERpZE1vdW50L1VwZGF0ZS5cblxuICAgIHJvb3QuY3VycmVudCA9IGZpbmlzaGVkV29yazsgLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIGxheW91dCBwaGFzZSwgd2hlcmUgd2UgY2FsbCBlZmZlY3RzIHRoYXQgcmVhZFxuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdGFydGVkKGxhbmVzKTtcbiAgICB9XG5cbiAgICBjb21taXRMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yaywgcm9vdCwgbGFuZXMpO1xuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICAgIC8vIG9wcG9ydHVuaXR5IHRvIHBhaW50LlxuXG5cbiAgICByZXF1ZXN0UGFpbnQoKTtcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7IC8vIFJlc2V0IHRoZSBwcmlvcml0eSB0byB0aGUgcHJldmlvdXMgbm9uLXN5bmMgdmFsdWUuXG5cbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH0gZWxzZSB7XG4gICAgLy8gTm8gZWZmZWN0cy5cbiAgICByb290LmN1cnJlbnQgPSBmaW5pc2hlZFdvcms7IC8vIE1lYXN1cmUgdGhlc2UgYW55d2F5IHNvIHRoZSBmbGFtZWdyYXBoIGV4cGxpY2l0bHkgc2hvd3MgdGhhdCB0aGVyZSB3ZXJlXG4gICAgLy8gbm8gZWZmZWN0cy5cbiAgICAvLyBUT0RPOiBNYXliZSB0aGVyZSdzIGEgYmV0dGVyIHdheSB0byByZXBvcnQgdGhpcy5cblxuICAgIHtcbiAgICAgIHJlY29yZENvbW1pdFRpbWUoKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cyA9IHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzO1xuXG4gIGlmIChyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgIC8vIFRoaXMgY29tbWl0IGhhcyBwYXNzaXZlIGVmZmVjdHMuIFN0YXNoIGEgcmVmZXJlbmNlIHRvIHRoZW0uIEJ1dCBkb24ndFxuICAgIC8vIHNjaGVkdWxlIGEgY2FsbGJhY2sgdW50aWwgYWZ0ZXIgZmx1c2hpbmcgbGF5b3V0IHdvcmsuXG4gICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbiAgICByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9IHJvb3Q7XG4gICAgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMgPSBsYW5lcztcbiAgfSBlbHNlIHtcblxuICAgIHtcbiAgICAgIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG4gICAgICByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbiAgICB9XG4gIH0gLy8gUmVhZCB0aGlzIGFnYWluLCBzaW5jZSBhbiBlZmZlY3QgbWlnaHQgaGF2ZSB1cGRhdGVkIGl0XG5cblxuICByZW1haW5pbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzOyAvLyBDaGVjayBpZiB0aGVyZSdzIHJlbWFpbmluZyB3b3JrIG9uIHRoaXMgcm9vdFxuICAvLyBUT0RPOiBUaGlzIGlzIHBhcnQgb2YgdGhlIGBjb21wb25lbnREaWRDYXRjaGAgaW1wbGVtZW50YXRpb24uIEl0cyBwdXJwb3NlXG4gIC8vIGlzIHRvIGRldGVjdCB3aGV0aGVyIHNvbWV0aGluZyBtaWdodCBoYXZlIGNhbGxlZCBzZXRTdGF0ZSBpbnNpZGVcbiAgLy8gYGNvbXBvbmVudERpZENhdGNoYC4gVGhlIG1lY2hhbmlzbSBpcyBrbm93biB0byBiZSBmbGF3ZWQgYmVjYXVzZSBgc2V0U3RhdGVgXG4gIC8vIGluc2lkZSBgY29tcG9uZW50RGlkQ2F0Y2hgIGlzIGl0c2VsZiBmbGF3ZWQg4oCUIHRoYXQncyB3aHkgd2UgcmVjb21tZW5kXG4gIC8vIGBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3JgIGluc3RlYWQuIEhvd2V2ZXIsIGl0IGNvdWxkIGJlIGltcHJvdmVkIGJ5XG4gIC8vIGNoZWNraW5nIGlmIHJlbWFpbmluZ0xhbmVzIGluY2x1ZGVzIFN5bmMgd29yaywgaW5zdGVhZCBvZiB3aGV0aGVyIHRoZXJlJ3NcbiAgLy8gYW55IHdvcmsgcmVtYWluaW5nIGF0IGFsbCAod2hpY2ggd291bGQgYWxzbyBpbmNsdWRlIHN0dWZmIGxpa2UgU3VzcGVuc2VcbiAgLy8gcmV0cmllcyBvciB0cmFuc2l0aW9ucykuIEl0J3MgYmVlbiBsaWtlIHRoaXMgZm9yIGEgd2hpbGUsIHRob3VnaCwgc28gZml4aW5nXG4gIC8vIGl0IHByb2JhYmx5IGlzbid0IHRoYXQgdXJnZW50LlxuXG4gIGlmIChyZW1haW5pbmdMYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIElmIHRoZXJlJ3Mgbm8gcmVtYWluaW5nIHdvcmssIHdlIGNhbiBjbGVhciB0aGUgc2V0IG9mIGFscmVhZHkgZmFpbGVkXG4gICAgLy8gZXJyb3IgYm91bmRhcmllcy5cbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7XG4gIH1cblxuICB7XG4gICAgaWYgKCFyb290RGlkSGF2ZVBhc3NpdmVFZmZlY3RzKSB7XG4gICAgICBjb21taXREb3VibGVJbnZva2VFZmZlY3RzSW5ERVYocm9vdC5jdXJyZW50LCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgb25Db21taXRSb290KGZpbmlzaGVkV29yay5zdGF0ZU5vZGUsIHJlbmRlclByaW9yaXR5TGV2ZWwpO1xuXG4gIHtcbiAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgIHJvb3QubWVtb2l6ZWRVcGRhdGVycy5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBvbkNvbW1pdFJvb3QkMSgpO1xuICB9IC8vIEFsd2F5cyBjYWxsIHRoaXMgYmVmb3JlIGV4aXRpbmcgYGNvbW1pdFJvb3RgLCB0byBlbnN1cmUgdGhhdCBhbnlcbiAgLy8gYWRkaXRpb25hbCB3b3JrIG9uIHRoaXMgcm9vdCBpcyBzY2hlZHVsZWQuXG5cblxuICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuXG4gIGlmIChyZWNvdmVyYWJsZUVycm9ycyAhPT0gbnVsbCkge1xuICAgIC8vIFRoZXJlIHdlcmUgZXJyb3JzIGR1cmluZyB0aGlzIHJlbmRlciwgYnV0IHJlY292ZXJlZCBmcm9tIHRoZW0gd2l0aG91dFxuICAgIC8vIG5lZWRpbmcgdG8gc3VyZmFjZSBpdCB0byB0aGUgVUkuIFdlIGxvZyB0aGVtIGhlcmUuXG4gICAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IHJvb3Qub25SZWNvdmVyYWJsZUVycm9yO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvdmVyYWJsZUVycm9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHJlY292ZXJhYmxlRXJyb3IgPSByZWNvdmVyYWJsZUVycm9yc1tpXTtcbiAgICAgIHZhciBjb21wb25lbnRTdGFjayA9IHJlY292ZXJhYmxlRXJyb3Iuc3RhY2s7XG4gICAgICB2YXIgZGlnZXN0ID0gcmVjb3ZlcmFibGVFcnJvci5kaWdlc3Q7XG4gICAgICBvblJlY292ZXJhYmxlRXJyb3IocmVjb3ZlcmFibGVFcnJvci52YWx1ZSwge1xuICAgICAgICBjb21wb25lbnRTdGFjazogY29tcG9uZW50U3RhY2ssXG4gICAgICAgIGRpZ2VzdDogZGlnZXN0XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFzVW5jYXVnaHRFcnJvcikge1xuICAgIGhhc1VuY2F1Z2h0RXJyb3IgPSBmYWxzZTtcbiAgICB2YXIgZXJyb3IkMSA9IGZpcnN0VW5jYXVnaHRFcnJvcjtcbiAgICBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBudWxsO1xuICAgIHRocm93IGVycm9yJDE7XG4gIH0gLy8gSWYgdGhlIHBhc3NpdmUgZWZmZWN0cyBhcmUgdGhlIHJlc3VsdCBvZiBhIGRpc2NyZXRlIHJlbmRlciwgZmx1c2ggdGhlbVxuICAvLyBzeW5jaHJvbm91c2x5IGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgdGFzayBzbyB0aGF0IHRoZSByZXN1bHQgaXNcbiAgLy8gaW1tZWRpYXRlbHkgb2JzZXJ2YWJsZS4gT3RoZXJ3aXNlLCB3ZSBhc3N1bWUgdGhhdCB0aGV5IGFyZSBub3RcbiAgLy8gb3JkZXItZGVwZW5kZW50IGFuZCBkbyBub3QgbmVlZCB0byBiZSBvYnNlcnZlZCBieSBleHRlcm5hbCBzeXN0ZW1zLCBzbyB3ZVxuICAvLyBjYW4gd2FpdCB1bnRpbCBhZnRlciBwYWludC5cbiAgLy8gVE9ETzogV2UgY2FuIG9wdGltaXplIHRoaXMgYnkgbm90IHNjaGVkdWxpbmcgdGhlIGNhbGxiYWNrIGVhcmxpZXIuIFNpbmNlIHdlXG4gIC8vIGN1cnJlbnRseSBzY2hlZHVsZSB0aGUgY2FsbGJhY2sgaW4gbXVsdGlwbGUgcGxhY2VzLCB3aWxsIHdhaXQgdW50aWwgdGhvc2VcbiAgLy8gYXJlIGNvbnNvbGlkYXRlZC5cblxuXG4gIGlmIChpbmNsdWRlc1NvbWVMYW5lKHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzLCBTeW5jTGFuZSkgJiYgcm9vdC50YWcgIT09IExlZ2FjeVJvb3QpIHtcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIH0gLy8gUmVhZCB0aGlzIGFnYWluLCBzaW5jZSBhIHBhc3NpdmUgZWZmZWN0IG1pZ2h0IGhhdmUgdXBkYXRlZCBpdFxuXG5cbiAgcmVtYWluaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lcztcblxuICBpZiAoaW5jbHVkZXNTb21lTGFuZShyZW1haW5pbmdMYW5lcywgU3luY0xhbmUpKSB7XG4gICAge1xuICAgICAgbWFya05lc3RlZFVwZGF0ZVNjaGVkdWxlZCgpO1xuICAgIH0gLy8gQ291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgcm9vdCBzeW5jaHJvbm91c2x5IHJlLXJlbmRlcnMgd2l0aG91dFxuICAgIC8vIGZpbmlzaGluZy4gSWYgdGhlcmUgYXJlIHRvbyBtYW55LCBpdCBpbmRpY2F0ZXMgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AuXG5cblxuICAgIGlmIChyb290ID09PSByb290V2l0aE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50Kys7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgICAgIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IHJvb3Q7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgfSAvLyBJZiBsYXlvdXQgd29yayB3YXMgc2NoZWR1bGVkLCBmbHVzaCBpdCBub3cuXG5cblxuICBmbHVzaFN5bmNDYWxsYmFja3MoKTtcblxuICB7XG4gICAgbWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmbHVzaFBhc3NpdmVFZmZlY3RzKCkge1xuICAvLyBSZXR1cm5zIHdoZXRoZXIgcGFzc2l2ZSBlZmZlY3RzIHdlcmUgZmx1c2hlZC5cbiAgLy8gVE9ETzogQ29tYmluZSB0aGlzIGNoZWNrIHdpdGggdGhlIG9uZSBpbiBmbHVzaFBhc3NpdmVFRmZlY3RzSW1wbC4gV2Ugc2hvdWxkXG4gIC8vIHByb2JhYmx5IGp1c3QgY29tYmluZSB0aGUgdHdvIGZ1bmN0aW9ucy4gSSBiZWxpZXZlIHRoZXkgd2VyZSBvbmx5IHNlcGFyYXRlXG4gIC8vIGluIHRoZSBmaXJzdCBwbGFjZSBiZWNhdXNlIHdlIHVzZWQgdG8gd3JhcCBpdCB3aXRoXG4gIC8vIGBTY2hlZHVsZXIucnVuV2l0aFByaW9yaXR5YCwgd2hpY2ggYWNjZXB0cyBhIGZ1bmN0aW9uLiBCdXQgbm93IHdlIHRyYWNrIHRoZVxuICAvLyBwcmlvcml0eSB3aXRoaW4gUmVhY3QgaXRzZWxmLCBzbyB3ZSBjYW4gbXV0YXRlIHRoZSB2YXJpYWJsZSBkaXJlY3RseS5cbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzICE9PSBudWxsKSB7XG4gICAgdmFyIHJlbmRlclByaW9yaXR5ID0gbGFuZXNUb0V2ZW50UHJpb3JpdHkocGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMpO1xuICAgIHZhciBwcmlvcml0eSA9IGxvd2VyRXZlbnRQcmlvcml0eShEZWZhdWx0RXZlbnRQcmlvcml0eSwgcmVuZGVyUHJpb3JpdHkpO1xuICAgIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbjtcbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IG51bGw7XG4gICAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJpb3JpdHkpO1xuICAgICAgcmV0dXJuIGZsdXNoUGFzc2l2ZUVmZmVjdHNJbXBsKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uOyAvLyBPbmNlIHBhc3NpdmUgZWZmZWN0cyBoYXZlIHJ1biBmb3IgdGhlIHRyZWUgLSBnaXZpbmcgY29tcG9uZW50cyBhXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZW5xdWV1ZVBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3QoZmliZXIpIHtcbiAge1xuICAgIHBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3RzLnB1c2goZmliZXIpO1xuXG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgc2NoZWR1bGVDYWxsYmFjayQxKE5vcm1hbFByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hQYXNzaXZlRWZmZWN0c0ltcGwoKSB7XG4gIGlmIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBDYWNoZSBhbmQgY2xlYXIgdGhlIHRyYW5zaXRpb25zIGZsYWdcblxuXG4gIHZhciB0cmFuc2l0aW9ucyA9IHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnM7XG4gIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsO1xuICB2YXIgcm9vdCA9IHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzO1xuICB2YXIgbGFuZXMgPSBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNMYW5lcztcbiAgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsOyAvLyBUT0RPOiBUaGlzIGlzIHNvbWV0aW1lcyBvdXQgb2Ygc3luYyB3aXRoIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLlxuICAvLyBGaWd1cmUgb3V0IHdoeSBhbmQgZml4IGl0LiBJdCdzIG5vdCBjYXVzaW5nIGFueSBrbm93biBpc3N1ZXMgKHByb2JhYmx5XG4gIC8vIGJlY2F1c2UgaXQncyBvbmx5IHVzZWQgZm9yIHByb2ZpbGluZyksIGJ1dCBpdCdzIGEgcmVmYWN0b3IgaGF6YXJkLlxuXG4gIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzID0gTm9MYW5lcztcblxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSAhPT0gTm9Db250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZmx1c2ggcGFzc2l2ZSBlZmZlY3RzIHdoaWxlIGFscmVhZHkgcmVuZGVyaW5nLicpO1xuICB9XG5cbiAge1xuICAgIGlzRmx1c2hpbmdQYXNzaXZlRWZmZWN0cyA9IHRydWU7XG4gICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xuICB9XG5cbiAge1xuICAgIG1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0O1xuICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHMocm9vdC5jdXJyZW50KTtcbiAgY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0cyhyb290LCByb290LmN1cnJlbnQsIGxhbmVzLCB0cmFuc2l0aW9ucyk7IC8vIFRPRE86IE1vdmUgdG8gY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0c1xuXG4gIHtcbiAgICB2YXIgcHJvZmlsZXJFZmZlY3RzID0gcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHM7XG4gICAgcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHMgPSBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZmlsZXJFZmZlY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgX2ZpYmVyID0gcHJvZmlsZXJFZmZlY3RzW2ldO1xuICAgICAgY29tbWl0UGFzc2l2ZUVmZmVjdER1cmF0aW9ucyhyb290LCBfZmliZXIpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBtYXJrUGFzc2l2ZUVmZmVjdHNTdG9wcGVkKCk7XG4gIH1cblxuICB7XG4gICAgY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKHJvb3QuY3VycmVudCwgdHJ1ZSk7XG4gIH1cblxuICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XG4gIGZsdXNoU3luY0NhbGxiYWNrcygpO1xuXG4gIHtcbiAgICAvLyBJZiBhZGRpdGlvbmFsIHBhc3NpdmUgZWZmZWN0cyB3ZXJlIHNjaGVkdWxlZCwgaW5jcmVtZW50IGEgY291bnRlci4gSWYgdGhpc1xuICAgIC8vIGV4Y2VlZHMgdGhlIGxpbWl0LCB3ZSdsbCBmaXJlIGEgd2FybmluZy5cbiAgICBpZiAoZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cykge1xuICAgICAgaWYgKHJvb3QgPT09IHJvb3RXaXRoUGFzc2l2ZU5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgICByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzID0gcm9vdDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID0gMDtcbiAgICB9XG5cbiAgICBpc0ZsdXNoaW5nUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbiAgICBkaWRTY2hlZHVsZVVwZGF0ZUR1cmluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG4gIH0gLy8gVE9ETzogTW92ZSB0byBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzXG5cblxuICBvblBvc3RDb21taXRSb290KHJvb3QpO1xuXG4gIHtcbiAgICB2YXIgc3RhdGVOb2RlID0gcm9vdC5jdXJyZW50LnN0YXRlTm9kZTtcbiAgICBzdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb24gPSAwO1xuICAgIHN0YXRlTm9kZS5wYXNzaXZlRWZmZWN0RHVyYXRpb24gPSAwO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkICE9PSBudWxsICYmIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkLmhhcyhpbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBtYXJrTGVnYWN5RXJyb3JCb3VuZGFyeUFzRmFpbGVkKGluc3RhbmNlKSB7XG4gIGlmIChsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9PT0gbnVsbCkge1xuICAgIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkID0gbmV3IFNldChbaW5zdGFuY2VdKTtcbiAgfSBlbHNlIHtcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZC5hZGQoaW5zdGFuY2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVUb1Rocm93VW5jYXVnaHRFcnJvcihlcnJvcikge1xuICBpZiAoIWhhc1VuY2F1Z2h0RXJyb3IpIHtcbiAgICBoYXNVbmNhdWdodEVycm9yID0gdHJ1ZTtcbiAgICBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBlcnJvcjtcbiAgfVxufVxuXG52YXIgb25VbmNhdWdodEVycm9yID0gcHJlcGFyZVRvVGhyb3dVbmNhdWdodEVycm9yO1xuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvck9uUm9vdChyb290RmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvcikge1xuICB2YXIgZXJyb3JJbmZvID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIoZXJyb3IsIHNvdXJjZUZpYmVyKTtcbiAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVJvb3RFcnJvclVwZGF0ZShyb290RmliZXIsIGVycm9ySW5mbywgU3luY0xhbmUpO1xuICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUocm9vdEZpYmVyLCB1cGRhdGUsIFN5bmNMYW5lKTtcbiAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIG1hcmtSb290VXBkYXRlZChyb290LCBTeW5jTGFuZSwgZXZlbnRUaW1lKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihzb3VyY2VGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IkMSkge1xuICB7XG4gICAgcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yJDEpO1xuICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gIH1cblxuICBpZiAoc291cmNlRmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIEVycm9yIHdhcyB0aHJvd24gYXQgdGhlIHJvb3QuIFRoZXJlIGlzIG5vIHBhcmVudCwgc28gdGhlIHJvb3RcbiAgICAvLyBpdHNlbGYgc2hvdWxkIGNhcHR1cmUgaXQuXG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3Qoc291cmNlRmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvciQxKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZmliZXIgPSBudWxsO1xuXG4gIHtcbiAgICBmaWJlciA9IG5lYXJlc3RNb3VudGVkQW5jZXN0b3I7XG4gIH1cblxuICB3aGlsZSAoZmliZXIgIT09IG51bGwpIHtcbiAgICBpZiAoZmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3QoZmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvciQxKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHZhciBjdG9yID0gZmliZXIudHlwZTtcbiAgICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSB7XG4gICAgICAgIHZhciBlcnJvckluZm8gPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihlcnJvciQxLCBzb3VyY2VGaWJlcik7XG4gICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKGZpYmVyLCBlcnJvckluZm8sIFN5bmNMYW5lKTtcbiAgICAgICAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUsIFN5bmNMYW5lKTtcbiAgICAgICAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcblxuICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgIG1hcmtSb290VXBkYXRlZChyb290LCBTeW5jTGFuZSwgZXZlbnRUaW1lKTtcbiAgICAgICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWJlciA9IGZpYmVyLnJldHVybjtcbiAgfVxuXG4gIHtcbiAgICAvLyBUT0RPOiBVbnRpbCB3ZSByZS1sYW5kIHNraXBVbm1vdW50ZWRCb3VuZGFyaWVzIChzZWUgIzIwMTQ3KSwgdGhpcyB3YXJuaW5nXG4gICAgLy8gd2lsbCBmaXJlIGZvciBlcnJvcnMgdGhhdCBhcmUgdGhyb3duIGJ5IGRlc3Ryb3kgZnVuY3Rpb25zIGluc2lkZSBkZWxldGVkXG4gICAgLy8gdHJlZXMuIFdoYXQgaXQgc2hvdWxkIGluc3RlYWQgZG8gaXMgcHJvcGFnYXRlIHRoZSBlcnJvciB0byB0aGUgcGFyZW50IG9mXG4gICAgLy8gdGhlIGRlbGV0ZWQgdHJlZS4gSW4gdGhlIG1lYW50aW1lLCBkbyBub3QgYWRkIHRoaXMgd2FybmluZyB0byB0aGVcbiAgICAvLyBhbGxvd2xpc3Q7IHRoaXMgaXMgb25seSBmb3Igb3VyIGludGVybmFsIHVzZS5cbiAgICBlcnJvcignSW50ZXJuYWwgUmVhY3QgZXJyb3I6IEF0dGVtcHRlZCB0byBjYXB0dXJlIGEgY29tbWl0IHBoYXNlIGVycm9yICcgKyAnaW5zaWRlIGEgZGV0YWNoZWQgdHJlZS4gVGhpcyBpbmRpY2F0ZXMgYSBidWcgaW4gUmVhY3QuIExpa2VseSAnICsgJ2NhdXNlcyBpbmNsdWRlIGRlbGV0aW5nIHRoZSBzYW1lIGZpYmVyIG1vcmUgdGhhbiBvbmNlLCBjb21taXR0aW5nIGFuICcgKyAnYWxyZWFkeS1maW5pc2hlZCB0cmVlLCBvciBhbiBpbmNvbnNpc3RlbnQgcmV0dXJuIHBvaW50ZXIuXFxuXFxuJyArICdFcnJvciBtZXNzYWdlOlxcblxcbiVzJywgZXJyb3IkMSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHBpbmdTdXNwZW5kZWRSb290KHJvb3QsIHdha2VhYmxlLCBwaW5nZWRMYW5lcykge1xuICB2YXIgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGU7XG5cbiAgaWYgKHBpbmdDYWNoZSAhPT0gbnVsbCkge1xuICAgIC8vIFRoZSB3YWtlYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXG4gICAgLy8gbmV2ZXIgYmUgdGhyb3duIGFnYWluLlxuICAgIHBpbmdDYWNoZS5kZWxldGUod2FrZWFibGUpO1xuICB9XG5cbiAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcbiAgbWFya1Jvb3RQaW5nZWQocm9vdCwgcGluZ2VkTGFuZXMpO1xuICB3YXJuSWZTdXNwZW5zZVJlc29sdXRpb25Ob3RXcmFwcGVkV2l0aEFjdERFVihyb290KTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290ICYmIGlzU3Vic2V0T2ZMYW5lcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcywgcGluZ2VkTGFuZXMpKSB7XG4gICAgLy8gUmVjZWl2ZWQgYSBwaW5nIGF0IHRoZSBzYW1lIHByaW9yaXR5IGxldmVsIGF0IHdoaWNoIHdlJ3JlIGN1cnJlbnRseVxuICAgIC8vIHJlbmRlcmluZy4gV2UgbWlnaHQgd2FudCB0byByZXN0YXJ0IHRoaXMgcmVuZGVyLiBUaGlzIHNob3VsZCBtaXJyb3JcbiAgICAvLyB0aGUgbG9naWMgb2Ygd2hldGhlciBvciBub3QgYSByb290IHN1c3BlbmRzIG9uY2UgaXQgY29tcGxldGVzLlxuICAgIC8vIFRPRE86IElmIHdlJ3JlIHJlbmRlcmluZyBzeW5jIGVpdGhlciBkdWUgdG8gU3luYywgQmF0Y2hlZCBvciBleHBpcmVkLFxuICAgIC8vIHdlIHNob3VsZCBwcm9iYWJseSBuZXZlciByZXN0YXJ0LlxuICAgIC8vIElmIHdlJ3JlIHN1c3BlbmRlZCB3aXRoIGRlbGF5LCBvciBpZiBpdCdzIGEgcmV0cnksIHdlJ2xsIGFsd2F5cyBzdXNwZW5kXG4gICAgLy8gc28gd2UgY2FuIGFsd2F5cyByZXN0YXJ0LlxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkV2l0aERlbGF5IHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQgJiYgaW5jbHVkZXNPbmx5UmV0cmllcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcykgJiYgbm93KCkgLSBnbG9iYWxNb3N0UmVjZW50RmFsbGJhY2tUaW1lIDwgRkFMTEJBQ0tfVEhST1RUTEVfTVMpIHtcbiAgICAgIC8vIFJlc3RhcnQgZnJvbSB0aGUgcm9vdC5cbiAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIE5vTGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFdmVuIHRob3VnaCB3ZSBjYW4ndCByZXN0YXJ0IHJpZ2h0IG5vdywgd2UgbWlnaHQgZ2V0IGFuXG4gICAgICAvLyBvcHBvcnR1bml0eSBsYXRlci4gU28gd2UgbWFyayB0aGlzIHJlbmRlciBhcyBoYXZpbmcgYSBwaW5nLlxuICAgICAgd29ya0luUHJvZ3Jlc3NSb290UGluZ2VkTGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzLCBwaW5nZWRMYW5lcyk7XG4gICAgfVxuICB9XG5cbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIGV2ZW50VGltZSk7XG59XG5cbmZ1bmN0aW9uIHJldHJ5VGltZWRPdXRCb3VuZGFyeShib3VuZGFyeUZpYmVyLCByZXRyeUxhbmUpIHtcbiAgLy8gVGhlIGJvdW5kYXJ5IGZpYmVyIChhIFN1c3BlbnNlIGNvbXBvbmVudCBvciBTdXNwZW5zZUxpc3QgY29tcG9uZW50KVxuICAvLyBwcmV2aW91c2x5IHdhcyByZW5kZXJlZCBpbiBpdHMgZmFsbGJhY2sgc3RhdGUuIE9uZSBvZiB0aGUgcHJvbWlzZXMgdGhhdFxuICAvLyBzdXNwZW5kZWQgaXQgaGFzIHJlc29sdmVkLCB3aGljaCBtZWFucyBhdCBsZWFzdCBwYXJ0IG9mIHRoZSB0cmVlIHdhc1xuICAvLyBsaWtlbHkgdW5ibG9ja2VkLiBUcnkgcmVuZGVyaW5nIGFnYWluLCBhdCBhIG5ldyBsYW5lcy5cbiAgaWYgKHJldHJ5TGFuZSA9PT0gTm9MYW5lKSB7XG4gICAgLy8gVE9ETzogQXNzaWduIHRoaXMgdG8gYHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lYD8gdG8gYXZvaWRcbiAgICAvLyB1bm5lY2Vzc2FyeSBlbnRhbmdsZW1lbnQ/XG4gICAgcmV0cnlMYW5lID0gcmVxdWVzdFJldHJ5TGFuZShib3VuZGFyeUZpYmVyKTtcbiAgfSAvLyBUT0RPOiBTcGVjaWFsIGNhc2UgaWRsZSBwcmlvcml0eT9cblxuXG4gIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBtYXJrUm9vdFVwZGF0ZWQocm9vdCwgcmV0cnlMYW5lLCBldmVudFRpbWUpO1xuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBldmVudFRpbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJldHJ5RGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoYm91bmRhcnlGaWJlcikge1xuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGJvdW5kYXJ5RmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHJldHJ5TGFuZSA9IE5vTGFuZTtcblxuICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xuICAgIHJldHJ5TGFuZSA9IHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lO1xuICB9XG5cbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG59XG5mdW5jdGlvbiByZXNvbHZlUmV0cnlXYWtlYWJsZShib3VuZGFyeUZpYmVyLCB3YWtlYWJsZSkge1xuICB2YXIgcmV0cnlMYW5lID0gTm9MYW5lOyAvLyBEZWZhdWx0XG5cbiAgdmFyIHJldHJ5Q2FjaGU7XG5cbiAgc3dpdGNoIChib3VuZGFyeUZpYmVyLnRhZykge1xuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICByZXRyeUNhY2hlID0gYm91bmRhcnlGaWJlci5zdGF0ZU5vZGU7XG4gICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGJvdW5kYXJ5RmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0cnlMYW5lID0gc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXRyeUNhY2hlID0gYm91bmRhcnlGaWJlci5zdGF0ZU5vZGU7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BpbmdlZCB1bmtub3duIHN1c3BlbnNlIGJvdW5kYXJ5IHR5cGUuICcgKyAnVGhpcyBpcyBwcm9iYWJseSBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgfVxuXG4gIGlmIChyZXRyeUNhY2hlICE9PSBudWxsKSB7XG4gICAgLy8gVGhlIHdha2VhYmxlIHJlc29sdmVkLCBzbyB3ZSBubyBsb25nZXIgbmVlZCB0byBtZW1vaXplLCBiZWNhdXNlIGl0IHdpbGxcbiAgICAvLyBuZXZlciBiZSB0aHJvd24gYWdhaW4uXG4gICAgcmV0cnlDYWNoZS5kZWxldGUod2FrZWFibGUpO1xuICB9XG5cbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG59IC8vIENvbXB1dGVzIHRoZSBuZXh0IEp1c3QgTm90aWNlYWJsZSBEaWZmZXJlbmNlIChKTkQpIGJvdW5kYXJ5LlxuLy8gVGhlIHRoZW9yeSBpcyB0aGF0IGEgcGVyc29uIGNhbid0IHRlbGwgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBzbWFsbCBkaWZmZXJlbmNlcyBpbiB0aW1lLlxuLy8gVGhlcmVmb3JlLCBpZiB3ZSB3YWl0IGEgYml0IGxvbmdlciB0aGFuIG5lY2Vzc2FyeSB0aGF0IHdvbid0IHRyYW5zbGF0ZSB0byBhIG5vdGljZWFibGVcbi8vIGRpZmZlcmVuY2UgaW4gdGhlIGV4cGVyaWVuY2UuIEhvd2V2ZXIsIHdhaXRpbmcgZm9yIGxvbmdlciBtaWdodCBtZWFuIHRoYXQgd2UgY2FuIGF2b2lkXG4vLyBzaG93aW5nIGFuIGludGVybWVkaWF0ZSBsb2FkaW5nIHN0YXRlLiBUaGUgbG9uZ2VyIHdlIGhhdmUgYWxyZWFkeSB3YWl0ZWQsIHRoZSBoYXJkZXIgaXRcbi8vIGlzIHRvIHRlbGwgc21hbGwgZGlmZmVyZW5jZXMgaW4gdGltZS4gVGhlcmVmb3JlLCB0aGUgbG9uZ2VyIHdlJ3ZlIGFscmVhZHkgd2FpdGVkLFxuLy8gdGhlIGxvbmdlciB3ZSBjYW4gd2FpdCBhZGRpdGlvbmFsbHkuIEF0IHNvbWUgcG9pbnQgd2UgaGF2ZSB0byBnaXZlIHVwIHRob3VnaC5cbi8vIFdlIHBpY2sgYSB0cmFpbiBtb2RlbCB3aGVyZSB0aGUgbmV4dCBib3VuZGFyeSBjb21taXRzIGF0IGEgY29uc2lzdGVudCBzY2hlZHVsZS5cbi8vIFRoZXNlIHBhcnRpY3VsYXIgbnVtYmVycyBhcmUgdmFndWUgZXN0aW1hdGVzLiBXZSBleHBlY3QgdG8gYWRqdXN0IHRoZW0gYmFzZWQgb24gcmVzZWFyY2guXG5cbmZ1bmN0aW9uIGpuZCh0aW1lRWxhcHNlZCkge1xuICByZXR1cm4gdGltZUVsYXBzZWQgPCAxMjAgPyAxMjAgOiB0aW1lRWxhcHNlZCA8IDQ4MCA/IDQ4MCA6IHRpbWVFbGFwc2VkIDwgMTA4MCA/IDEwODAgOiB0aW1lRWxhcHNlZCA8IDE5MjAgPyAxOTIwIDogdGltZUVsYXBzZWQgPCAzMDAwID8gMzAwMCA6IHRpbWVFbGFwc2VkIDwgNDMyMCA/IDQzMjAgOiBjZWlsKHRpbWVFbGFwc2VkIC8gMTk2MCkgKiAxOTYwO1xufVxuXG5mdW5jdGlvbiBjaGVja0Zvck5lc3RlZFVwZGF0ZXMoKSB7XG4gIGlmIChuZXN0ZWRVcGRhdGVDb3VudCA+IE5FU1RFRF9VUERBVEVfTElNSVQpIHtcbiAgICBuZXN0ZWRVcGRhdGVDb3VudCA9IDA7XG4gICAgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gdXBkYXRlIGRlcHRoIGV4Y2VlZGVkLiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBhIGNvbXBvbmVudCAnICsgJ3JlcGVhdGVkbHkgY2FsbHMgc2V0U3RhdGUgaW5zaWRlIGNvbXBvbmVudFdpbGxVcGRhdGUgb3IgJyArICdjb21wb25lbnREaWRVcGRhdGUuIFJlYWN0IGxpbWl0cyB0aGUgbnVtYmVyIG9mIG5lc3RlZCB1cGRhdGVzIHRvICcgKyAncHJldmVudCBpbmZpbml0ZSBsb29wcy4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAobmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID4gTkVTVEVEX1BBU1NJVkVfVVBEQVRFX0xJTUlUKSB7XG4gICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7XG5cbiAgICAgIGVycm9yKCdNYXhpbXVtIHVwZGF0ZSBkZXB0aCBleGNlZWRlZC4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gYSBjb21wb25lbnQgJyArIFwiY2FsbHMgc2V0U3RhdGUgaW5zaWRlIHVzZUVmZmVjdCwgYnV0IHVzZUVmZmVjdCBlaXRoZXIgZG9lc24ndCBcIiArICdoYXZlIGEgZGVwZW5kZW5jeSBhcnJheSwgb3Igb25lIG9mIHRoZSBkZXBlbmRlbmNpZXMgY2hhbmdlcyBvbiAnICsgJ2V2ZXJ5IHJlbmRlci4nKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCkge1xuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hMZWdhY3lDb250ZXh0V2FybmluZygpO1xuXG4gICAge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKGZpYmVyLCBoYXNQYXNzaXZlRWZmZWN0cykge1xuICB7XG4gICAgLy8gVE9ETyAoU3RyaWN0RWZmZWN0cykgU2hvdWxkIHdlIHNldCBhIG1hcmtlciBvbiB0aGUgcm9vdCBpZiBpdCBjb250YWlucyBzdHJpY3QgZWZmZWN0c1xuICAgIC8vIHNvIHdlIGRvbid0IHRyYXZlcnNlIHVubmVjZXNzYXJpbHk/IHNpbWlsYXIgdG8gc3VidHJlZUZsYWdzIGJ1dCBqdXN0IGF0IHRoZSByb290IGxldmVsLlxuICAgIC8vIE1heWJlIG5vdCBhIGJpZyBkZWFsIHNpbmNlIHRoaXMgaXMgREVWIG9ubHkgYmVoYXZpb3IuXG4gICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50TGF5b3V0RGV2LCBpbnZva2VMYXlvdXRFZmZlY3RVbm1vdW50SW5ERVYpO1xuXG4gICAgaWYgKGhhc1Bhc3NpdmVFZmZlY3RzKSB7XG4gICAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50UGFzc2l2ZURldiwgaW52b2tlUGFzc2l2ZUVmZmVjdFVubW91bnRJbkRFVik7XG4gICAgfVxuXG4gICAgaW52b2tlRWZmZWN0c0luRGV2KGZpYmVyLCBNb3VudExheW91dERldiwgaW52b2tlTGF5b3V0RWZmZWN0TW91bnRJbkRFVik7XG5cbiAgICBpZiAoaGFzUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICAgIGludm9rZUVmZmVjdHNJbkRldihmaWJlciwgTW91bnRQYXNzaXZlRGV2LCBpbnZva2VQYXNzaXZlRWZmZWN0TW91bnRJbkRFVik7XG4gICAgfVxuXG4gICAgcmVzZXRDdXJyZW50RmliZXIoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VFZmZlY3RzSW5EZXYoZmlyc3RDaGlsZCwgZmliZXJGbGFncywgaW52b2tlRWZmZWN0Rm4pIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHZhciBjdXJyZW50ID0gZmlyc3RDaGlsZDtcbiAgICB2YXIgc3VidHJlZVJvb3QgPSBudWxsO1xuXG4gICAgd2hpbGUgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIHZhciBwcmltYXJ5U3VidHJlZUZsYWcgPSBjdXJyZW50LnN1YnRyZWVGbGFncyAmIGZpYmVyRmxhZ3M7XG5cbiAgICAgIGlmIChjdXJyZW50ICE9PSBzdWJ0cmVlUm9vdCAmJiBjdXJyZW50LmNoaWxkICE9PSBudWxsICYmIHByaW1hcnlTdWJ0cmVlRmxhZyAhPT0gTm9GbGFncykge1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICgoY3VycmVudC5mbGFncyAmIGZpYmVyRmxhZ3MpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgaW52b2tlRWZmZWN0Rm4oY3VycmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VycmVudC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQuc2libGluZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjdXJyZW50ID0gc3VidHJlZVJvb3QgPSBjdXJyZW50LnJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudCA9IG51bGw7XG5mdW5jdGlvbiB3YXJuQWJvdXRVcGRhdGVPbk5vdFlldE1vdW50ZWRGaWJlckluREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0KSB7XG4gICAgICAvLyBXZSBsZXQgdGhlIG90aGVyIHdhcm5pbmcgYWJvdXQgcmVuZGVyIHBoYXNlIHVwZGF0ZXMgZGVhbCB3aXRoIHRoaXMgb25lLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgdGFnID0gZmliZXIudGFnO1xuXG4gICAgaWYgKHRhZyAhPT0gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudCAmJiB0YWcgIT09IEhvc3RSb290ICYmIHRhZyAhPT0gQ2xhc3NDb21wb25lbnQgJiYgdGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiB0YWcgIT09IEZvcndhcmRSZWYgJiYgdGFnICE9PSBNZW1vQ29tcG9uZW50ICYmIHRhZyAhPT0gU2ltcGxlTWVtb0NvbXBvbmVudCkge1xuICAgICAgLy8gT25seSB3YXJuIGZvciB1c2VyLWRlZmluZWQgY29tcG9uZW50cywgbm90IGludGVybmFsIG9uZXMgbGlrZSBTdXNwZW5zZS5cbiAgICAgIHJldHVybjtcbiAgICB9IC8vIFdlIHNob3cgdGhlIHdob2xlIHN0YWNrIGJ1dCBkZWR1cGUgb24gdGhlIHRvcCBjb21wb25lbnQncyBuYW1lIGJlY2F1c2VcbiAgICAvLyB0aGUgcHJvYmxlbWF0aWMgY29kZSBhbG1vc3QgYWx3YXlzIGxpZXMgaW5zaWRlIHRoYXQgY29tcG9uZW50LlxuXG5cbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdSZWFjdENvbXBvbmVudCc7XG5cbiAgICBpZiAoZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudCAhPT0gbnVsbCkge1xuICAgICAgaWYgKGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudC5hZGQoY29tcG9uZW50TmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQgPSBuZXcgU2V0KFtjb21wb25lbnROYW1lXSk7XG4gICAgfVxuXG4gICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgdHJ5IHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICAgIGVycm9yKFwiQ2FuJ3QgcGVyZm9ybSBhIFJlYWN0IHN0YXRlIHVwZGF0ZSBvbiBhIGNvbXBvbmVudCB0aGF0IGhhc24ndCBtb3VudGVkIHlldC4gXCIgKyAnVGhpcyBpbmRpY2F0ZXMgdGhhdCB5b3UgaGF2ZSBhIHNpZGUtZWZmZWN0IGluIHlvdXIgcmVuZGVyIGZ1bmN0aW9uIHRoYXQgJyArICdhc3luY2hyb25vdXNseSBsYXRlciBjYWxscyB0cmllcyB0byB1cGRhdGUgdGhlIGNvbXBvbmVudC4gTW92ZSB0aGlzIHdvcmsgdG8gJyArICd1c2VFZmZlY3QgaW5zdGVhZC4nKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKHByZXZpb3VzRmliZXIpIHtcbiAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG52YXIgYmVnaW5Xb3JrJDE7XG5cbntcbiAgdmFyIGR1bW15RmliZXIgPSBudWxsO1xuXG4gIGJlZ2luV29yayQxID0gZnVuY3Rpb24gKGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKSB7XG4gICAgLy8gSWYgYSBjb21wb25lbnQgdGhyb3dzIGFuIGVycm9yLCB3ZSByZXBsYXkgaXQgYWdhaW4gaW4gYSBzeW5jaHJvbm91c2x5XG4gICAgLy8gZGlzcGF0Y2hlZCBldmVudCwgc28gdGhhdCB0aGUgZGVidWdnZXIgd2lsbCB0cmVhdCBpdCBhcyBhbiB1bmNhdWdodFxuICAgIC8vIGVycm9yIFNlZSBSZWFjdEVycm9yVXRpbHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAgLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY29weSB0aGUgd29yay1pbi1wcm9ncmVzcyBvbnRvIGEgZHVtbXlcbiAgICAvLyBmaWJlci4gSWYgYmVnaW5Xb3JrIHRocm93cywgd2UnbGwgdXNlIHRoaXMgdG8gcmVzZXQgdGhlIHN0YXRlLlxuICAgIHZhciBvcmlnaW5hbFdvcmtJblByb2dyZXNzQ29weSA9IGFzc2lnbkZpYmVyUHJvcGVydGllc0luREVWKGR1bW15RmliZXIsIHVuaXRPZldvcmspO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBiZWdpbldvcmsoY3VycmVudCwgdW5pdE9mV29yaywgbGFuZXMpO1xuICAgIH0gY2F0Y2ggKG9yaWdpbmFsRXJyb3IpIHtcbiAgICAgIGlmIChkaWRTdXNwZW5kT3JFcnJvcldoaWxlSHlkcmF0aW5nREVWKCkgfHwgb3JpZ2luYWxFcnJvciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3JpZ2luYWxFcnJvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBEb24ndCByZXBsYXkgcHJvbWlzZXMuXG4gICAgICAgIC8vIERvbid0IHJlcGxheSBlcnJvcnMgaWYgd2UgYXJlIGh5ZHJhdGluZyBhbmQgaGF2ZSBhbHJlYWR5IHN1c3BlbmRlZCBvciBoYW5kbGVkIGFuIGVycm9yXG4gICAgICAgIHRocm93IG9yaWdpbmFsRXJyb3I7XG4gICAgICB9IC8vIEtlZXAgdGhpcyBjb2RlIGluIHN5bmMgd2l0aCBoYW5kbGVFcnJvcjsgYW55IGNoYW5nZXMgaGVyZSBtdXN0IGhhdmVcbiAgICAgIC8vIGNvcnJlc3BvbmRpbmcgY2hhbmdlcyB0aGVyZS5cblxuXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7IC8vIERvbid0IHJlc2V0IGN1cnJlbnQgZGVidWcgZmliZXIsIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHdvcmsgb24gdGhlXG4gICAgICAvLyBzYW1lIGZpYmVyIGFnYWluLlxuICAgICAgLy8gVW53aW5kIHRoZSBmYWlsZWQgc3RhY2sgZnJhbWVcblxuICAgICAgdW53aW5kSW50ZXJydXB0ZWRXb3JrKGN1cnJlbnQsIHVuaXRPZldvcmspOyAvLyBSZXN0b3JlIHRoZSBvcmlnaW5hbCBwcm9wZXJ0aWVzIG9mIHRoZSBmaWJlci5cblxuICAgICAgYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodW5pdE9mV29yaywgb3JpZ2luYWxXb3JrSW5Qcm9ncmVzc0NvcHkpO1xuXG4gICAgICBpZiAoIHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgIC8vIFJlc2V0IHRoZSBwcm9maWxlciB0aW1lci5cbiAgICAgICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgICAgfSAvLyBSdW4gYmVnaW5Xb3JrIGFnYWluLlxuXG5cbiAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBiZWdpbldvcmssIG51bGwsIGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKTtcblxuICAgICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcbiAgICAgICAgdmFyIHJlcGxheUVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgcmVwbGF5RXJyb3IgPT09ICdvYmplY3QnICYmIHJlcGxheUVycm9yICE9PSBudWxsICYmIHJlcGxheUVycm9yLl9zdXBwcmVzc0xvZ2dpbmcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsRXJyb3IgIT09IG51bGwgJiYgIW9yaWdpbmFsRXJyb3IuX3N1cHByZXNzTG9nZ2luZykge1xuICAgICAgICAgIC8vIElmIHN1cHByZXNzZWQsIGxldCB0aGUgZmxhZyBjYXJyeSBvdmVyIHRvIHRoZSBvcmlnaW5hbCBlcnJvciB3aGljaCBpcyB0aGUgb25lIHdlJ2xsIHJldGhyb3cuXG4gICAgICAgICAgb3JpZ2luYWxFcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBXZSBhbHdheXMgdGhyb3cgdGhlIG9yaWdpbmFsIGVycm9yIGluIGNhc2UgdGhlIHNlY29uZCByZW5kZXIgcGFzcyBpcyBub3QgaWRlbXBvdGVudC5cbiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiBhIG1lbW9pemVkIGZ1bmN0aW9uIG9yIENvbW1vbkpTIG1vZHVsZSBkb2Vzbid0IHRocm93IGFmdGVyIGZpcnN0IGludm9jYXRpb24uXG5cblxuICAgICAgdGhyb3cgb3JpZ2luYWxFcnJvcjtcbiAgICB9XG4gIH07XG59XG5cbnZhciBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlciA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudDtcblxue1xuICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQgPSBuZXcgU2V0KCk7XG59XG5cbmZ1bmN0aW9uIHdhcm5BYm91dFJlbmRlclBoYXNlVXBkYXRlc0luREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaXNSZW5kZXJpbmcgJiYgIWdldElzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2VJbkRFVigpKSB7XG4gICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcmVuZGVyaW5nQ29tcG9uZW50TmFtZSA9IHdvcmtJblByb2dyZXNzICYmIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIod29ya0luUHJvZ3Jlc3MpIHx8ICdVbmtub3duJzsgLy8gRGVkdXBlIGJ5IHRoZSByZW5kZXJpbmcgY29tcG9uZW50IGJlY2F1c2UgaXQncyB0aGUgb25lIHRoYXQgbmVlZHMgdG8gYmUgZml4ZWQuXG5cbiAgICAgICAgICAgIHZhciBkZWR1cGVLZXkgPSByZW5kZXJpbmdDb21wb25lbnROYW1lO1xuXG4gICAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudC5oYXMoZGVkdXBlS2V5KSkge1xuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQuYWRkKGRlZHVwZUtleSk7XG4gICAgICAgICAgICAgIHZhciBzZXRTdGF0ZUNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bic7XG5cbiAgICAgICAgICAgICAgZXJyb3IoJ0Nhbm5vdCB1cGRhdGUgYSBjb21wb25lbnQgKGAlc2ApIHdoaWxlIHJlbmRlcmluZyBhICcgKyAnZGlmZmVyZW50IGNvbXBvbmVudCAoYCVzYCkuIFRvIGxvY2F0ZSB0aGUgYmFkIHNldFN0YXRlKCkgY2FsbCBpbnNpZGUgYCVzYCwgJyArICdmb2xsb3cgdGhlIHN0YWNrIHRyYWNlIGFzIGRlc2NyaWJlZCBpbiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc2V0c3RhdGUtaW4tcmVuZGVyJywgc2V0U3RhdGVDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlcikge1xuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBkdXJpbmcgYW4gZXhpc3Rpbmcgc3RhdGUgdHJhbnNpdGlvbiAoc3VjaCBhcyAnICsgJ3dpdGhpbiBgcmVuZGVyYCkuIFJlbmRlciBtZXRob2RzIHNob3VsZCBiZSBhIHB1cmUgJyArICdmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuJyk7XG5cbiAgICAgICAgICAgICAgZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlc3RvcmVQZW5kaW5nVXBkYXRlcnMocm9vdCwgbGFuZXMpIHtcbiAge1xuICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgdmFyIG1lbW9pemVkVXBkYXRlcnMgPSByb290Lm1lbW9pemVkVXBkYXRlcnM7XG4gICAgICBtZW1vaXplZFVwZGF0ZXJzLmZvckVhY2goZnVuY3Rpb24gKHNjaGVkdWxpbmdGaWJlcikge1xuICAgICAgICBhZGRGaWJlclRvTGFuZXNNYXAocm9vdCwgc2NoZWR1bGluZ0ZpYmVyLCBsYW5lcyk7XG4gICAgICB9KTsgLy8gVGhpcyBmdW5jdGlvbiBpbnRlbnRpb25hbGx5IGRvZXMgbm90IGNsZWFyIG1lbW9pemVkIHVwZGF0ZXJzLlxuICAgICAgLy8gVGhvc2UgbWF5IHN0aWxsIGJlIHJlbGV2YW50IHRvIHRoZSBjdXJyZW50IGNvbW1pdFxuICAgICAgLy8gYW5kIGEgZnV0dXJlIG9uZSAoZS5nLiBTdXNwZW5zZSkuXG4gICAgfVxuICB9XG59XG52YXIgZmFrZUFjdENhbGxiYWNrTm9kZSA9IHt9O1xuXG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrJDEocHJpb3JpdHlMZXZlbCwgY2FsbGJhY2spIHtcbiAge1xuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBpbnNpZGUgYW4gYGFjdGAgc2NvcGUsIGJ5cGFzcyBTY2hlZHVsZXIgYW5kIHB1c2ggdG9cbiAgICAvLyB0aGUgYGFjdGAgcXVldWUgaW5zdGVhZC5cbiAgICB2YXIgYWN0UXVldWUgPSBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQ7XG5cbiAgICBpZiAoYWN0UXVldWUgIT09IG51bGwpIHtcbiAgICAgIGFjdFF1ZXVlLnB1c2goY2FsbGJhY2spO1xuICAgICAgcmV0dXJuIGZha2VBY3RDYWxsYmFja05vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzY2hlZHVsZUNhbGxiYWNrKHByaW9yaXR5TGV2ZWwsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuY2VsQ2FsbGJhY2skMShjYWxsYmFja05vZGUpIHtcbiAgaWYgKCBjYWxsYmFja05vZGUgPT09IGZha2VBY3RDYWxsYmFja05vZGUpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gSW4gcHJvZHVjdGlvbiwgYWx3YXlzIGNhbGwgU2NoZWR1bGVyLiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgc3RyaXBwZWQgb3V0LlxuXG5cbiAgcmV0dXJuIGNhbmNlbENhbGxiYWNrKGNhbGxiYWNrTm9kZSk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpIHtcbiAgLy8gTmV2ZXIgZm9yY2UgZmx1c2ggaW4gcHJvZHVjdGlvbi4gVGhpcyBmdW5jdGlvbiBzaG91bGQgZ2V0IHN0cmlwcGVkIG91dC5cbiAgcmV0dXJuICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQgIT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlVwZGF0ZXNOb3RXcmFwcGVkV2l0aEFjdERFVihmaWJlcikge1xuICB7XG4gICAgaWYgKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgaWYgKCFpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgIC8vIE5vdCBpbiBhbiBhY3QgZW52aXJvbm1lbnQuIE5vIG5lZWQgdG8gd2Fybi5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBMZWdhY3kgbW9kZSBoYXMgYWRkaXRpb25hbCBjYXNlcyB3aGVyZSB3ZSBzdXBwcmVzcyBhIHdhcm5pbmcuXG4gICAgICBpZiAoIWlzTGVnYWN5QWN0RW52aXJvbm1lbnQoKSkge1xuICAgICAgICAvLyBOb3QgaW4gYW4gYWN0IGVudmlyb25tZW50LiBObyBuZWVkIHRvIHdhcm4uXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgIT09IE5vQ29udGV4dCkge1xuICAgICAgICAvLyBMZWdhY3kgbW9kZSBkb2Vzbid0IHdhcm4gaWYgdGhlIHVwZGF0ZSBpcyBiYXRjaGVkLCBpLmUuXG4gICAgICAgIC8vIGJhdGNoZWRVcGRhdGVzIG9yIGZsdXNoU3luYy5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmliZXIudGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiBmaWJlci50YWcgIT09IEZvcndhcmRSZWYgJiYgZmliZXIudGFnICE9PSBTaW1wbGVNZW1vQ29tcG9uZW50KSB7XG4gICAgICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHByZS1ob29rcyBjb2RlLCBsZWdhY3kgbW9kZSBvbmx5XG4gICAgICAgIC8vIHdhcm5zIGZvciB1cGRhdGVzIHRoYXQgb3JpZ2luYXRlIGZyb20gYSBob29rLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgICB0cnkge1xuICAgICAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuXG4gICAgICAgIGVycm9yKCdBbiB1cGRhdGUgdG8gJXMgaW5zaWRlIGEgdGVzdCB3YXMgbm90IHdyYXBwZWQgaW4gYWN0KC4uLikuXFxuXFxuJyArICdXaGVuIHRlc3RpbmcsIGNvZGUgdGhhdCBjYXVzZXMgUmVhY3Qgc3RhdGUgdXBkYXRlcyBzaG91bGQgYmUgJyArICd3cmFwcGVkIGludG8gYWN0KC4uLik6XFxuXFxuJyArICdhY3QoKCkgPT4ge1xcbicgKyAnICAvKiBmaXJlIGV2ZW50cyB0aGF0IHVwZGF0ZSBzdGF0ZSAqL1xcbicgKyAnfSk7XFxuJyArICcvKiBhc3NlcnQgb24gdGhlIG91dHB1dCAqL1xcblxcbicgKyBcIlRoaXMgZW5zdXJlcyB0aGF0IHlvdSdyZSB0ZXN0aW5nIHRoZSBiZWhhdmlvciB0aGUgdXNlciB3b3VsZCBzZWUgXCIgKyAnaW4gdGhlIGJyb3dzZXIuJyArICcgTGVhcm4gbW9yZSBhdCBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd3JhcC10ZXN0cy13aXRoLWFjdCcsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlmIChwcmV2aW91c0ZpYmVyKSB7XG4gICAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlN1c3BlbnNlUmVzb2x1dGlvbk5vdFdyYXBwZWRXaXRoQWN0REVWKHJvb3QpIHtcbiAge1xuICAgIGlmIChyb290LnRhZyAhPT0gTGVnYWN5Um9vdCAmJiBpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpICYmIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgZXJyb3IoJ0Egc3VzcGVuZGVkIHJlc291cmNlIGZpbmlzaGVkIGxvYWRpbmcgaW5zaWRlIGEgdGVzdCwgYnV0IHRoZSBldmVudCAnICsgJ3dhcyBub3Qgd3JhcHBlZCBpbiBhY3QoLi4uKS5cXG5cXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IHJlc29sdmVzIHN1c3BlbmRlZCBkYXRhIHNob3VsZCBiZSB3cmFwcGVkICcgKyAnaW50byBhY3QoLi4uKTpcXG5cXG4nICsgJ2FjdCgoKSA9PiB7XFxuJyArICcgIC8qIGZpbmlzaCBsb2FkaW5nIHN1c3BlbmRlZCBkYXRhICovXFxuJyArICd9KTtcXG4nICsgJy8qIGFzc2VydCBvbiB0aGUgb3V0cHV0ICovXFxuXFxuJyArIFwiVGhpcyBlbnN1cmVzIHRoYXQgeW91J3JlIHRlc3RpbmcgdGhlIGJlaGF2aW9yIHRoZSB1c2VyIHdvdWxkIHNlZSBcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93cmFwLXRlc3RzLXdpdGgtYWN0Jyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChpc1J1bm5pbmcpIHtcbiAge1xuICAgIGlzUnVubmluZ0luc2VydGlvbkVmZmVjdCA9IGlzUnVubmluZztcbiAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzICovXG52YXIgcmVzb2x2ZUZhbWlseSA9IG51bGw7IC8vICRGbG93Rml4TWUgRmxvdyBnZXRzIGNvbmZ1c2VkIGJ5IGEgV2Vha1NldCBmZWF0dXJlIGNoZWNrIGJlbG93LlxuXG52YXIgZmFpbGVkQm91bmRhcmllcyA9IG51bGw7XG52YXIgc2V0UmVmcmVzaEhhbmRsZXIgPSBmdW5jdGlvbiAoaGFuZGxlcikge1xuICB7XG4gICAgcmVzb2x2ZUZhbWlseSA9IGhhbmRsZXI7XG4gIH1cbn07XG5mdW5jdGlvbiByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG5cbiAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseSh0eXBlKTtcblxuICAgIGlmIChmYW1pbHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICAvLyBObyBpbXBsZW1lbnRhdGlvbiBkaWZmZXJlbmNlcy5cbiAgcmV0dXJuIHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyh0eXBlKTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVGb3J3YXJkUmVmRm9ySG90UmVsb2FkaW5nKHR5cGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgdmFyIGZhbWlseSA9IHJlc29sdmVGYW1pbHkodHlwZSk7XG5cbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIENoZWNrIGlmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIHJlYWwgZm9yd2FyZFJlZi4gRG9uJ3Qgd2FudCB0byBjcmFzaCBlYXJseS5cbiAgICAgIGlmICh0eXBlICE9PSBudWxsICYmIHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRm9yd2FyZFJlZiBpcyBzcGVjaWFsIGJlY2F1c2UgaXRzIHJlc29sdmVkIC50eXBlIGlzIGFuIG9iamVjdCxcbiAgICAgICAgLy8gYnV0IGl0J3MgcG9zc2libGUgdGhhdCB3ZSBvbmx5IGhhdmUgaXRzIGlubmVyIHJlbmRlciBmdW5jdGlvbiBpbiB0aGUgbWFwLlxuICAgICAgICAvLyBJZiB0aGF0IGlubmVyIHJlbmRlciBmdW5jdGlvbiBpcyBkaWZmZXJlbnQsIHdlJ2xsIGJ1aWxkIGEgbmV3IGZvcndhcmRSZWYgdHlwZS5cbiAgICAgICAgdmFyIGN1cnJlbnRSZW5kZXIgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZS5yZW5kZXIpO1xuXG4gICAgICAgIGlmICh0eXBlLnJlbmRlciAhPT0gY3VycmVudFJlbmRlcikge1xuICAgICAgICAgIHZhciBzeW50aGV0aWNUeXBlID0ge1xuICAgICAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUsXG4gICAgICAgICAgICByZW5kZXI6IGN1cnJlbnRSZW5kZXJcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKHR5cGUuZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc3ludGhldGljVHlwZS5kaXNwbGF5TmFtZSA9IHR5cGUuZGlzcGxheU5hbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHN5bnRoZXRpY1R5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoZmliZXIsIGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBwcmV2VHlwZSA9IGZpYmVyLmVsZW1lbnRUeXBlO1xuICAgIHZhciBuZXh0VHlwZSA9IGVsZW1lbnQudHlwZTsgLy8gSWYgd2UgZ290IGhlcmUsIHdlIGtub3cgdHlwZXMgYXJlbid0ID09PSBlcXVhbC5cblxuICAgIHZhciBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IGZhbHNlO1xuICAgIHZhciAkJHR5cGVvZk5leHRUeXBlID0gdHlwZW9mIG5leHRUeXBlID09PSAnb2JqZWN0JyAmJiBuZXh0VHlwZSAhPT0gbnVsbCA/IG5leHRUeXBlLiQkdHlwZW9mIDogbnVsbDtcblxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBuZXh0VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5leHRUeXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFdlIGRvbid0IGtub3cgdGhlIGlubmVyIHR5cGUgeWV0LlxuICAgICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoYXQgdGhlIGxhenkgaW5uZXIgdHlwZSBpcyBzdGFibGUsXG4gICAgICAgICAgICAvLyBhbmQgc28gaXQgaXMgc3VmZmljaWVudCB0byBhdm9pZCByZWNvbmNpbGluZyBpdCBhd2F5LlxuICAgICAgICAgICAgLy8gV2UncmUgbm90IGdvaW5nIHRvIHVud3JhcCBvciBhY3R1YWxseSB1c2UgdGhlIG5ldyBsYXp5IHR5cGUuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0xBWllfVFlQRSkge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IGlmIGl0IHdhcyBidXQgY2FuIG5vIGxvbmdlciBiZSBzaW1wbGUsXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGRuJ3Qgc2V0IHRoaXMuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSAvLyBDaGVjayBpZiBib3RoIHR5cGVzIGhhdmUgYSBmYW1pbHkgYW5kIGl0J3MgdGhlIHNhbWUgb25lLlxuXG5cbiAgICBpZiAobmVlZHNDb21wYXJlRmFtaWxpZXMpIHtcbiAgICAgIC8vIE5vdGU6IG1lbW8oKSBhbmQgZm9yd2FyZFJlZigpIHdlJ2xsIGNvbXBhcmUgb3V0ZXIgcmF0aGVyIHRoYW4gaW5uZXIgdHlwZS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgYm90aCBvZiB0aGVtIG5lZWQgdG8gYmUgcmVnaXN0ZXJlZCB0byBwcmVzZXJ2ZSBzdGF0ZS5cbiAgICAgIC8vIElmIHdlIHVud3JhcHBlZCBhbmQgY29tcGFyZWQgdGhlIGlubmVyIHR5cGVzIGZvciB3cmFwcGVycyBpbnN0ZWFkLFxuICAgICAgLy8gdGhlbiB3ZSB3b3VsZCByaXNrIGZhbHNlbHkgc2F5aW5nIHR3byBzZXBhcmF0ZSBtZW1vKEZvbylcbiAgICAgIC8vIGNhbGxzIGFyZSBlcXVpdmFsZW50IGJlY2F1c2UgdGhleSB3cmFwIHRoZSBzYW1lIEZvbyBmdW5jdGlvbi5cbiAgICAgIHZhciBwcmV2RmFtaWx5ID0gcmVzb2x2ZUZhbWlseShwcmV2VHlwZSk7XG5cbiAgICAgIGlmIChwcmV2RmFtaWx5ICE9PSB1bmRlZmluZWQgJiYgcHJldkZhbWlseSA9PT0gcmVzb2x2ZUZhbWlseShuZXh0VHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcikge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBXZWFrU2V0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZhaWxlZEJvdW5kYXJpZXMgPT09IG51bGwpIHtcbiAgICAgIGZhaWxlZEJvdW5kYXJpZXMgPSBuZXcgV2Vha1NldCgpO1xuICAgIH1cblxuICAgIGZhaWxlZEJvdW5kYXJpZXMuYWRkKGZpYmVyKTtcbiAgfVxufVxudmFyIHNjaGVkdWxlUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCB1cGRhdGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzdGFsZUZhbWlsaWVzID0gdXBkYXRlLnN0YWxlRmFtaWxpZXMsXG4gICAgICAgIHVwZGF0ZWRGYW1pbGllcyA9IHVwZGF0ZS51cGRhdGVkRmFtaWxpZXM7XG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KHJvb3QuY3VycmVudCwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKTtcbiAgICB9KTtcbiAgfVxufTtcbnZhciBzY2hlZHVsZVJvb3QgPSBmdW5jdGlvbiAocm9vdCwgZWxlbWVudCkge1xuICB7XG4gICAgaWYgKHJvb3QuY29udGV4dCAhPT0gZW1wdHlDb250ZXh0T2JqZWN0KSB7XG4gICAgICAvLyBTdXBlciBlZGdlIGNhc2U6IHJvb3QgaGFzIGEgbGVnYWN5IF9yZW5kZXJTdWJ0cmVlIGNvbnRleHRcbiAgICAgIC8vIGJ1dCB3ZSBkb24ndCBrbm93IHRoZSBwYXJlbnRDb21wb25lbnQgc28gd2UgY2FuJ3QgcGFzcyBpdC5cbiAgICAgIC8vIEp1c3QgaWdub3JlLiBXZSdsbCBkZWxldGUgdGhpcyB3aXRoIF9yZW5kZXJTdWJ0cmVlIGNvZGUgcGF0aCBsYXRlci5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gICAgZmx1c2hTeW5jKGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihlbGVtZW50LCByb290LCBudWxsLCBudWxsKTtcbiAgICB9KTtcbiAgfVxufTtcblxuZnVuY3Rpb24gc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShmaWJlciwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKSB7XG4gIHtcbiAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlLFxuICAgICAgICBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHJlc29sdmVGYW1pbHkgdG8gYmUgc2V0IGR1cmluZyBob3QgcmVsb2FkLicpO1xuICAgIH1cblxuICAgIHZhciBuZWVkc1JlbmRlciA9IGZhbHNlO1xuICAgIHZhciBuZWVkc1JlbW91bnQgPSBmYWxzZTtcblxuICAgIGlmIChjYW5kaWRhdGVUeXBlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseShjYW5kaWRhdGVUeXBlKTtcblxuICAgICAgaWYgKGZhbWlseSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChzdGFsZUZhbWlsaWVzLmhhcyhmYW1pbHkpKSB7XG4gICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh1cGRhdGVkRmFtaWxpZXMuaGFzKGZhbWlseSkpIHtcbiAgICAgICAgICBpZiAodGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmVlZHNSZW5kZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmYWlsZWRCb3VuZGFyaWVzICE9PSBudWxsKSB7XG4gICAgICBpZiAoZmFpbGVkQm91bmRhcmllcy5oYXMoZmliZXIpIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBmYWlsZWRCb3VuZGFyaWVzLmhhcyhhbHRlcm5hdGUpKSB7XG4gICAgICAgIG5lZWRzUmVtb3VudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5lZWRzUmVtb3VudCkge1xuICAgICAgZmliZXIuX2RlYnVnTmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobmVlZHNSZW1vdW50IHx8IG5lZWRzUmVuZGVyKSB7XG4gICAgICB2YXIgX3Jvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgICAgaWYgKF9yb290ICE9PSBudWxsKSB7XG4gICAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihfcm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsICYmICFuZWVkc1JlbW91bnQpIHtcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoY2hpbGQsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XG4gICAgfVxuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoc2libGluZywgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCBmYW1pbGllcykge1xuICB7XG4gICAgdmFyIGhvc3RJbnN0YW5jZXMgPSBuZXcgU2V0KCk7XG4gICAgdmFyIHR5cGVzID0gbmV3IFNldChmYW1pbGllcy5tYXAoZnVuY3Rpb24gKGZhbWlseSkge1xuICAgICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICAgIH0pKTtcbiAgICBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkocm9vdC5jdXJyZW50LCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgcmV0dXJuIGhvc3RJbnN0YW5jZXM7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShmaWJlciwgdHlwZXMsIGhvc3RJbnN0YW5jZXMpIHtcbiAge1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBkaWRNYXRjaCA9IGZhbHNlO1xuXG4gICAgaWYgKGNhbmRpZGF0ZVR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlcy5oYXMoY2FuZGlkYXRlVHlwZSkpIHtcbiAgICAgICAgZGlkTWF0Y2ggPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkaWRNYXRjaCkge1xuICAgICAgLy8gV2UgaGF2ZSBhIG1hdGNoLiBUaGlzIG9ubHkgZHJpbGxzIGRvd24gdG8gdGhlIGNsb3Nlc3QgaG9zdCBjb21wb25lbnRzLlxuICAgICAgLy8gVGhlcmUncyBubyBuZWVkIHRvIHNlYXJjaCBkZWVwZXIgYmVjYXVzZSBmb3IgdGhlIHB1cnBvc2Ugb2YgZ2l2aW5nXG4gICAgICAvLyB2aXN1YWwgZmVlZGJhY2ssIFwiZmxhc2hpbmdcIiBvdXRlcm1vc3QgcGFyZW50IHJlY3RhbmdsZXMgaXMgc3VmZmljaWVudC5cbiAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB0aGVyZSdzIG5vIG1hdGNoLCBtYXliZSB0aGVyZSB3aWxsIGJlIG9uZSBmdXJ0aGVyIGRvd24gaW4gdGhlIGNoaWxkIHRyZWUuXG4gICAgICBpZiAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KGNoaWxkLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShzaWJsaW5nLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpIHtcbiAge1xuICAgIHZhciBmb3VuZEhvc3RJbnN0YW5jZXMgPSBmaW5kQ2hpbGRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xuXG4gICAgaWYgKGZvdW5kSG9zdEluc3RhbmNlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgd2UgZGlkbid0IGZpbmQgYW55IGhvc3QgY2hpbGRyZW4sIGZhbGxiYWNrIHRvIGNsb3Nlc3QgaG9zdCBwYXJlbnQuXG5cblxuICAgIHZhciBub2RlID0gZmliZXI7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgc3dpdGNoIChub2RlLnRhZykge1xuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUpO1xuICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byByZWFjaCByb290IGZpcnN0LicpO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRDaGlsZEhvc3RJbnN0YW5jZXNGb3JGaWJlclNoYWxsb3dseShmaWJlciwgaG9zdEluc3RhbmNlcykge1xuICB7XG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcbiAgICB2YXIgZm91bmRIb3N0SW5zdGFuY2VzID0gZmFsc2U7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50KSB7XG4gICAgICAgIC8vIFdlIGdvdCBhIG1hdGNoLlxuICAgICAgICBmb3VuZEhvc3RJbnN0YW5jZXMgPSB0cnVlO1xuICAgICAgICBob3N0SW5zdGFuY2VzLmFkZChub2RlLnN0YXRlTm9kZSk7IC8vIFRoZXJlIG1heSBzdGlsbCBiZSBtb3JlLCBzbyBrZWVwIHNlYXJjaGluZy5cbiAgICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZpYmVyKSB7XG4gICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaWJlcikge1xuICAgICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcbiAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG52YXIgaGFzQmFkTWFwUG9seWZpbGw7XG5cbntcbiAgaGFzQmFkTWFwUG9seWZpbGwgPSBmYWxzZTtcblxuICB0cnkge1xuICAgIHZhciBub25FeHRlbnNpYmxlT2JqZWN0ID0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1uZXcgKi9cblxuICAgIG5ldyBNYXAoW1tub25FeHRlbnNpYmxlT2JqZWN0LCBudWxsXV0pO1xuICAgIG5ldyBTZXQoW25vbkV4dGVuc2libGVPYmplY3RdKTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLW5ldyAqL1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gVE9ETzogQ29uc2lkZXIgd2FybmluZyBhYm91dCBiYWQgcG9seWZpbGxzXG4gICAgaGFzQmFkTWFwUG9seWZpbGwgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKSB7XG4gIC8vIEluc3RhbmNlXG4gIHRoaXMudGFnID0gdGFnO1xuICB0aGlzLmtleSA9IGtleTtcbiAgdGhpcy5lbGVtZW50VHlwZSA9IG51bGw7XG4gIHRoaXMudHlwZSA9IG51bGw7XG4gIHRoaXMuc3RhdGVOb2RlID0gbnVsbDsgLy8gRmliZXJcblxuICB0aGlzLnJldHVybiA9IG51bGw7XG4gIHRoaXMuY2hpbGQgPSBudWxsO1xuICB0aGlzLnNpYmxpbmcgPSBudWxsO1xuICB0aGlzLmluZGV4ID0gMDtcbiAgdGhpcy5yZWYgPSBudWxsO1xuICB0aGlzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wcztcbiAgdGhpcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgdGhpcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gIHRoaXMubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHRoaXMuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgdGhpcy5tb2RlID0gbW9kZTsgLy8gRWZmZWN0c1xuXG4gIHRoaXMuZmxhZ3MgPSBOb0ZsYWdzO1xuICB0aGlzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3M7XG4gIHRoaXMuZGVsZXRpb25zID0gbnVsbDtcbiAgdGhpcy5sYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuYWx0ZXJuYXRlID0gbnVsbDtcblxuICB7XG4gICAgLy8gTm90ZTogVGhlIGZvbGxvd2luZyBpcyBkb25lIHRvIGF2b2lkIGEgdjggcGVyZm9ybWFuY2UgY2xpZmYuXG4gICAgLy9cbiAgICAvLyBJbml0aWFsaXppbmcgdGhlIGZpZWxkcyBiZWxvdyB0byBzbWlzIGFuZCBsYXRlciB1cGRhdGluZyB0aGVtIHdpdGhcbiAgICAvLyBkb3VibGUgdmFsdWVzIHdpbGwgY2F1c2UgRmliZXJzIHRvIGVuZCB1cCBoYXZpbmcgc2VwYXJhdGUgc2hhcGVzLlxuICAgIC8vIFRoaXMgYmVoYXZpb3IvYnVnIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCBPYmplY3QucHJldmVudEV4dGVuc2lvbigpLlxuICAgIC8vIEZvcnR1bmF0ZWx5IHRoaXMgb25seSBpbXBhY3RzIERFViBidWlsZHMuXG4gICAgLy8gVW5mb3J0dW5hdGVseSBpdCBtYWtlcyBSZWFjdCB1bnVzYWJseSBzbG93IGZvciBzb21lIGFwcGxpY2F0aW9ucy5cbiAgICAvLyBUbyB3b3JrIGFyb3VuZCB0aGlzLCBpbml0aWFsaXplIHRoZSBmaWVsZHMgYmVsb3cgd2l0aCBkb3VibGVzLlxuICAgIC8vXG4gICAgLy8gTGVhcm4gbW9yZSBhYm91dCB0aGlzIGhlcmU6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNDM2NVxuICAgIC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTg1MzhcbiAgICB0aGlzLmFjdHVhbER1cmF0aW9uID0gTnVtYmVyLk5hTjtcbiAgICB0aGlzLmFjdHVhbFN0YXJ0VGltZSA9IE51bWJlci5OYU47XG4gICAgdGhpcy5zZWxmQmFzZUR1cmF0aW9uID0gTnVtYmVyLk5hTjtcbiAgICB0aGlzLnRyZWVCYXNlRHVyYXRpb24gPSBOdW1iZXIuTmFOOyAvLyBJdCdzIG9rYXkgdG8gcmVwbGFjZSB0aGUgaW5pdGlhbCBkb3VibGVzIHdpdGggc21pcyBhZnRlciBpbml0aWFsaXphdGlvbi5cbiAgICAvLyBUaGlzIHdvbid0IHRyaWdnZXIgdGhlIHBlcmZvcm1hbmNlIGNsaWZmIG1lbnRpb25lZCBhYm92ZSxcbiAgICAvLyBhbmQgaXQgc2ltcGxpZmllcyBvdGhlciBwcm9maWxlciBjb2RlIChpbmNsdWRpbmcgRGV2VG9vbHMpLlxuXG4gICAgdGhpcy5hY3R1YWxEdXJhdGlvbiA9IDA7XG4gICAgdGhpcy5hY3R1YWxTdGFydFRpbWUgPSAtMTtcbiAgICB0aGlzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xuICAgIHRoaXMudHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gIH1cblxuICB7XG4gICAgLy8gVGhpcyBpc24ndCBkaXJlY3RseSB1c2VkIGJ1dCBpcyBoYW5keSBmb3IgZGVidWdnaW5nIGludGVybmFsczpcbiAgICB0aGlzLl9kZWJ1Z1NvdXJjZSA9IG51bGw7XG4gICAgdGhpcy5fZGVidWdPd25lciA9IG51bGw7XG4gICAgdGhpcy5fZGVidWdOZWVkc1JlbW91bnQgPSBmYWxzZTtcbiAgICB0aGlzLl9kZWJ1Z0hvb2tUeXBlcyA9IG51bGw7XG5cbiAgICBpZiAoIWhhc0JhZE1hcFBvbHlmaWxsICYmIHR5cGVvZiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0aGlzKTtcbiAgICB9XG4gIH1cbn0gLy8gVGhpcyBpcyBhIGNvbnN0cnVjdG9yIGZ1bmN0aW9uLCByYXRoZXIgdGhhbiBhIFBPSk8gY29uc3RydWN0b3IsIHN0aWxsXG4vLyBwbGVhc2UgZW5zdXJlIHdlIGRvIHRoZSBmb2xsb3dpbmc6XG4vLyAxKSBOb2JvZHkgc2hvdWxkIGFkZCBhbnkgaW5zdGFuY2UgbWV0aG9kcyBvbiB0aGlzLiBJbnN0YW5jZSBtZXRob2RzIGNhbiBiZVxuLy8gICAgbW9yZSBkaWZmaWN1bHQgdG8gcHJlZGljdCB3aGVuIHRoZXkgZ2V0IG9wdGltaXplZCBhbmQgdGhleSBhcmUgYWxtb3N0XG4vLyAgICBuZXZlciBpbmxpbmVkIHByb3Blcmx5IGluIHN0YXRpYyBjb21waWxlcnMuXG4vLyAyKSBOb2JvZHkgc2hvdWxkIHJlbHkgb24gYGluc3RhbmNlb2YgRmliZXJgIGZvciB0eXBlIHRlc3RpbmcuIFdlIHNob3VsZFxuLy8gICAgYWx3YXlzIGtub3cgd2hlbiBpdCBpcyBhIGZpYmVyLlxuLy8gMykgV2UgbWlnaHQgd2FudCB0byBleHBlcmltZW50IHdpdGggdXNpbmcgbnVtZXJpYyBrZXlzIHNpbmNlIHRoZXkgYXJlIGVhc2llclxuLy8gICAgdG8gb3B0aW1pemUgaW4gYSBub24tSklUIGVudmlyb25tZW50LlxuLy8gNCkgV2UgY2FuIGVhc2lseSBnbyBmcm9tIGEgY29uc3RydWN0b3IgdG8gYSBjcmVhdGVGaWJlciBvYmplY3QgbGl0ZXJhbCBpZiB0aGF0XG4vLyAgICBpcyBmYXN0ZXIuXG4vLyA1KSBJdCBzaG91bGQgYmUgZWFzeSB0byBwb3J0IHRoaXMgdG8gYSBDIHN0cnVjdCBhbmQga2VlcCBhIEMgaW1wbGVtZW50YXRpb25cbi8vICAgIGNvbXBhdGlibGUuXG5cblxudmFyIGNyZWF0ZUZpYmVyID0gZnVuY3Rpb24gKHRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpIHtcbiAgLy8gJEZsb3dGaXhNZTogdGhlIHNoYXBlcyBhcmUgZXhhY3QgaGVyZSBidXQgRmxvdyBkb2Vzbid0IGxpa2UgY29uc3RydWN0b3JzXG4gIHJldHVybiBuZXcgRmliZXJOb2RlKHRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpO1xufTtcblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0JDEoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiAhc2hvdWxkQ29uc3RydWN0JDEodHlwZSkgJiYgdHlwZS5kZWZhdWx0UHJvcHMgPT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHJlc29sdmVMYXp5Q29tcG9uZW50VGFnKENvbXBvbmVudCkge1xuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBzaG91bGRDb25zdHJ1Y3QkMShDb21wb25lbnQpID8gQ2xhc3NDb21wb25lbnQgOiBGdW5jdGlvbkNvbXBvbmVudDtcbiAgfSBlbHNlIGlmIChDb21wb25lbnQgIT09IHVuZGVmaW5lZCAmJiBDb21wb25lbnQgIT09IG51bGwpIHtcbiAgICB2YXIgJCR0eXBlb2YgPSBDb21wb25lbnQuJCR0eXBlb2Y7XG5cbiAgICBpZiAoJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgIHJldHVybiBGb3J3YXJkUmVmO1xuICAgIH1cblxuICAgIGlmICgkJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XG4gICAgICByZXR1cm4gTWVtb0NvbXBvbmVudDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDtcbn0gLy8gVGhpcyBpcyB1c2VkIHRvIGNyZWF0ZSBhbiBhbHRlcm5hdGUgZmliZXIgdG8gZG8gd29yayBvbi5cblxuZnVuY3Rpb24gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudCwgcGVuZGluZ1Byb3BzKSB7XG4gIHZhciB3b3JrSW5Qcm9ncmVzcyA9IGN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyA9PT0gbnVsbCkge1xuICAgIC8vIFdlIHVzZSBhIGRvdWJsZSBidWZmZXJpbmcgcG9vbGluZyB0ZWNobmlxdWUgYmVjYXVzZSB3ZSBrbm93IHRoYXQgd2UnbGxcbiAgICAvLyBvbmx5IGV2ZXIgbmVlZCBhdCBtb3N0IHR3byB2ZXJzaW9ucyBvZiBhIHRyZWUuIFdlIHBvb2wgdGhlIFwib3RoZXJcIiB1bnVzZWRcbiAgICAvLyBub2RlIHRoYXQgd2UncmUgZnJlZSB0byByZXVzZS4gVGhpcyBpcyBsYXppbHkgY3JlYXRlZCB0byBhdm9pZCBhbGxvY2F0aW5nXG4gICAgLy8gZXh0cmEgb2JqZWN0cyBmb3IgdGhpbmdzIHRoYXQgYXJlIG5ldmVyIHVwZGF0ZWQuIEl0IGFsc28gYWxsb3cgdXMgdG9cbiAgICAvLyByZWNsYWltIHRoZSBleHRyYSBtZW1vcnkgaWYgbmVlZGVkLlxuICAgIHdvcmtJblByb2dyZXNzID0gY3JlYXRlRmliZXIoY3VycmVudC50YWcsIHBlbmRpbmdQcm9wcywgY3VycmVudC5rZXksIGN1cnJlbnQubW9kZSk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPSBjdXJyZW50LmVsZW1lbnRUeXBlO1xuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7XG4gICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3VycmVudC5zdGF0ZU5vZGU7XG5cbiAgICB7XG4gICAgICAvLyBERVYtb25seSBmaWVsZHNcbiAgICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z1NvdXJjZSA9IGN1cnJlbnQuX2RlYnVnU291cmNlO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnT3duZXIgPSBjdXJyZW50Ll9kZWJ1Z093bmVyO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSG9va1R5cGVzID0gY3VycmVudC5fZGVidWdIb29rVHlwZXM7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gY3VycmVudDtcbiAgICBjdXJyZW50LmFsdGVybmF0ZSA9IHdvcmtJblByb2dyZXNzO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wczsgLy8gTmVlZGVkIGJlY2F1c2UgQmxvY2tzIHN0b3JlIGRhdGEgb24gdHlwZS5cblxuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7IC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBhbHRlcm5hdGUuXG4gICAgLy8gUmVzZXQgdGhlIGVmZmVjdCB0YWcuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IE5vRmxhZ3M7IC8vIFRoZSBlZmZlY3RzIGFyZSBubyBsb25nZXIgdmFsaWQuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5zdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzO1xuICAgIHdvcmtJblByb2dyZXNzLmRlbGV0aW9ucyA9IG51bGw7XG5cbiAgICB7XG4gICAgICAvLyBXZSBpbnRlbnRpb25hbGx5IHJlc2V0LCByYXRoZXIgdGhhbiBjb3B5LCBhY3R1YWxEdXJhdGlvbiAmIGFjdHVhbFN0YXJ0VGltZS5cbiAgICAgIC8vIFRoaXMgcHJldmVudHMgdGltZSBmcm9tIGVuZGxlc3NseSBhY2N1bXVsYXRpbmcgaW4gbmV3IGNvbW1pdHMuXG4gICAgICAvLyBUaGlzIGhhcyB0aGUgZG93bnNpZGUgb2YgcmVzZXR0aW5nIHZhbHVlcyBmb3IgZGlmZmVyZW50IHByaW9yaXR5IHJlbmRlcnMsXG4gICAgICAvLyBCdXQgd29ya3MgZm9yIHlpZWxkaW5nICh0aGUgY29tbW9uIGNhc2UpIGFuZCBzaG91bGQgc3VwcG9ydCByZXN1bWluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uID0gMDtcbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbFN0YXJ0VGltZSA9IC0xO1xuICAgIH1cbiAgfSAvLyBSZXNldCBhbGwgZWZmZWN0cyBleGNlcHQgc3RhdGljIG9uZXMuXG4gIC8vIFN0YXRpYyBlZmZlY3RzIGFyZSBub3Qgc3BlY2lmaWMgdG8gYSByZW5kZXIuXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IGN1cnJlbnQuZmxhZ3MgJiBTdGF0aWNNYXNrO1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZExhbmVzID0gY3VycmVudC5jaGlsZExhbmVzO1xuICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGN1cnJlbnQubGFuZXM7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xuICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXG5cbiAgdmFyIGN1cnJlbnREZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcbiAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gY3VycmVudERlcGVuZGVuY2llcyA9PT0gbnVsbCA/IG51bGwgOiB7XG4gICAgbGFuZXM6IGN1cnJlbnREZXBlbmRlbmNpZXMubGFuZXMsXG4gICAgZmlyc3RDb250ZXh0OiBjdXJyZW50RGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dFxuICB9OyAvLyBUaGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gZHVyaW5nIHRoZSBwYXJlbnQncyByZWNvbmNpbGlhdGlvblxuXG4gIHdvcmtJblByb2dyZXNzLnNpYmxpbmcgPSBjdXJyZW50LnNpYmxpbmc7XG4gIHdvcmtJblByb2dyZXNzLmluZGV4ID0gY3VycmVudC5pbmRleDtcbiAgd29ya0luUHJvZ3Jlc3MucmVmID0gY3VycmVudC5yZWY7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSBjdXJyZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IGN1cnJlbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgfVxuXG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdOZWVkc1JlbW91bnQgPSBjdXJyZW50Ll9kZWJ1Z05lZWRzUmVtb3VudDtcblxuICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUNsYXNzRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSByZXNvbHZlRm9yd2FyZFJlZkZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG59IC8vIFVzZWQgdG8gcmV1c2UgYSBGaWJlciBmb3IgYSBzZWNvbmQgcGFzcy5cblxuZnVuY3Rpb24gcmVzZXRXb3JrSW5Qcm9ncmVzcyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyByZXNldHMgdGhlIEZpYmVyIHRvIHdoYXQgY3JlYXRlRmliZXIgb3IgY3JlYXRlV29ya0luUHJvZ3Jlc3Mgd291bGRcbiAgLy8gaGF2ZSBzZXQgdGhlIHZhbHVlcyB0byBiZWZvcmUgZHVyaW5nIHRoZSBmaXJzdCBwYXNzLiBJZGVhbGx5IHRoaXMgd291bGRuJ3RcbiAgLy8gYmUgbmVjZXNzYXJ5IGJ1dCB1bmZvcnR1bmF0ZWx5IG1hbnkgY29kZSBwYXRocyByZWFkcyBmcm9tIHRoZSB3b3JrSW5Qcm9ncmVzc1xuICAvLyB3aGVuIHRoZXkgc2hvdWxkIGJlIHJlYWRpbmcgZnJvbSBjdXJyZW50IGFuZCB3cml0aW5nIHRvIHdvcmtJblByb2dyZXNzLlxuICAvLyBXZSBhc3N1bWUgcGVuZGluZ1Byb3BzLCBpbmRleCwga2V5LCByZWYsIHJldHVybiBhcmUgc3RpbGwgdW50b3VjaGVkIHRvXG4gIC8vIGF2b2lkIGRvaW5nIGFub3RoZXIgcmVjb25jaWxpYXRpb24uXG4gIC8vIFJlc2V0IHRoZSBlZmZlY3QgZmxhZ3MgYnV0IGtlZXAgYW55IFBsYWNlbWVudCB0YWdzLCBzaW5jZSB0aGF0J3Mgc29tZXRoaW5nXG4gIC8vIHRoYXQgY2hpbGQgZmliZXIgaXMgc2V0dGluZywgbm90IHRoZSByZWNvbmNpbGlhdGlvbi5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gU3RhdGljTWFzayB8IFBsYWNlbWVudDsgLy8gVGhlIGVmZmVjdHMgYXJlIG5vIGxvbmdlciB2YWxpZC5cblxuICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIFJlc2V0IHRvIGNyZWF0ZUZpYmVyJ3MgaW5pdGlhbCB2YWx1ZXMuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSByZW5kZXJMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3Muc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPSBudWxsO1xuXG4gICAge1xuICAgICAgLy8gTm90ZTogV2UgZG9uJ3QgcmVzZXQgdGhlIGFjdHVhbFRpbWUgY291bnRzLiBJdCdzIHVzZWZ1bCB0byBhY2N1bXVsYXRlXG4gICAgICAvLyBhY3R1YWwgdGltZSBhY3Jvc3MgbXVsdGlwbGUgcmVuZGVyIHBhc3Nlcy5cbiAgICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFJlc2V0IHRvIHRoZSBjbG9uZWQgdmFsdWVzIHRoYXQgY3JlYXRlV29ya0luUHJvZ3Jlc3Mgd291bGQndmUuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IGN1cnJlbnQuY2hpbGRMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGN1cnJlbnQubGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkO1xuICAgIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3M7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBOZWVkZWQgYmVjYXVzZSBCbG9ja3Mgc3RvcmUgZGF0YSBvbiB0eXBlLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IGN1cnJlbnQudHlwZTsgLy8gQ2xvbmUgdGhlIGRlcGVuZGVuY2llcyBvYmplY3QuIFRoaXMgaXMgbXV0YXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSwgc29cbiAgICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXG5cbiAgICB2YXIgY3VycmVudERlcGVuZGVuY2llcyA9IGN1cnJlbnQuZGVwZW5kZW5jaWVzO1xuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnREZXBlbmRlbmNpZXMgPT09IG51bGwgPyBudWxsIDoge1xuICAgICAgbGFuZXM6IGN1cnJlbnREZXBlbmRlbmNpZXMubGFuZXMsXG4gICAgICBmaXJzdENvbnRleHQ6IGN1cnJlbnREZXBlbmRlbmNpZXMuZmlyc3RDb250ZXh0XG4gICAgfTtcblxuICAgIHtcbiAgICAgIC8vIE5vdGU6IFdlIGRvbid0IHJlc2V0IHRoZSBhY3R1YWxUaW1lIGNvdW50cy4gSXQncyB1c2VmdWwgdG8gYWNjdW11bGF0ZVxuICAgICAgLy8gYWN0dWFsIHRpbWUgYWNyb3NzIG11bHRpcGxlIHJlbmRlciBwYXNzZXMuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudC5zZWxmQmFzZUR1cmF0aW9uO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IGN1cnJlbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG59XG5mdW5jdGlvbiBjcmVhdGVIb3N0Um9vdEZpYmVyKHRhZywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlKSB7XG4gIHZhciBtb2RlO1xuXG4gIGlmICh0YWcgPT09IENvbmN1cnJlbnRSb290KSB7XG4gICAgbW9kZSA9IENvbmN1cnJlbnRNb2RlO1xuXG4gICAgaWYgKGlzU3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgbW9kZSB8PSBTdHJpY3RMZWdhY3lNb2RlO1xuXG4gICAgICB7XG4gICAgICAgIG1vZGUgfD0gU3RyaWN0RWZmZWN0c01vZGU7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG1vZGUgPSBOb01vZGU7XG4gIH1cblxuICBpZiAoIGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgLy8gQWx3YXlzIGNvbGxlY3QgcHJvZmlsZSB0aW1pbmdzIHdoZW4gRGV2VG9vbHMgYXJlIHByZXNlbnQuXG4gICAgLy8gVGhpcyBlbmFibGVzIERldlRvb2xzIHRvIHN0YXJ0IGNhcHR1cmluZyB0aW1pbmcgYXQgYW55IHBvaW504oCTXG4gICAgLy8gV2l0aG91dCBzb21lIG5vZGVzIGluIHRoZSB0cmVlIGhhdmluZyBlbXB0eSBiYXNlIHRpbWVzLlxuICAgIG1vZGUgfD0gUHJvZmlsZU1vZGU7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlRmliZXIoSG9zdFJvb3QsIG51bGwsIG51bGwsIG1vZGUpO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHR5cGUsIC8vIFJlYWN0JEVsZW1lbnRUeXBlXG5rZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGxhbmVzKSB7XG4gIHZhciBmaWJlclRhZyA9IEluZGV0ZXJtaW5hdGVDb21wb25lbnQ7IC8vIFRoZSByZXNvbHZlZCB0eXBlIGlzIHNldCBpZiB3ZSBrbm93IHdoYXQgdGhlIGZpbmFsIHR5cGUgd2lsbCBiZS4gSS5lLiBpdCdzIG5vdCBsYXp5LlxuXG4gIHZhciByZXNvbHZlZFR5cGUgPSB0eXBlO1xuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmIChzaG91bGRDb25zdHJ1Y3QkMSh0eXBlKSkge1xuICAgICAgZmliZXJUYWcgPSBDbGFzc0NvbXBvbmVudDtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgZmliZXJUYWcgPSBIb3N0Q29tcG9uZW50O1xuICB9IGVsc2Uge1xuICAgIGdldFRhZzogc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21GcmFnbWVudChwZW5kaW5nUHJvcHMuY2hpbGRyZW4sIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgIGZpYmVyVGFnID0gTW9kZTtcbiAgICAgICAgbW9kZSB8PSBTdHJpY3RMZWdhY3lNb2RlO1xuXG4gICAgICAgIGlmICggKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgIC8vIFN0cmljdCBlZmZlY3RzIHNob3VsZCBuZXZlciBydW4gb24gbGVnYWN5IHJvb3RzXG4gICAgICAgICAgbW9kZSB8PSBTdHJpY3RFZmZlY3RzTW9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21Qcm9maWxlcihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZShwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZpYmVyRnJvbVN1c3BlbnNlTGlzdChwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX09GRlNDUkVFTl9UWVBFOlxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKHBlbmRpbmdQcm9wcywgbW9kZSwgbGFuZXMsIGtleSk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEVHQUNZX0hJRERFTl9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9TQ09QRV9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9DQUNIRV9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9UUkFDSU5HX01BUktFUl9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9ERUJVR19UUkFDSU5HX01PREVfVFlQRTpcblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgICAgICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0UHJvdmlkZXI7XG4gICAgICAgICAgICAgICAgYnJlYWsgZ2V0VGFnO1xuXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBjb25zdW1lclxuICAgICAgICAgICAgICAgIGZpYmVyVGFnID0gQ29udGV4dENvbnN1bWVyO1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBGb3J3YXJkUmVmO1xuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG5cbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBNZW1vQ29tcG9uZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgICBmaWJlclRhZyA9IExhenlDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIFwiICsgJ25hbWVkIGltcG9ydHMuJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIG93bmVyTmFtZSA9IG93bmVyID8gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihvd25lcikgOiBudWxsO1xuXG4gICAgICAgICAgICBpZiAob3duZXJOYW1lKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VsZW1lbnQgdHlwZSBpcyBpbnZhbGlkOiBleHBlY3RlZCBhIHN0cmluZyAoZm9yIGJ1aWx0LWluICcgKyAnY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSBjb21wb25lbnRzKSAnICsgKFwiYnV0IGdvdDogXCIgKyAodHlwZSA9PSBudWxsID8gdHlwZSA6IHR5cGVvZiB0eXBlKSArIFwiLlwiICsgaW5mbykpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoZmliZXJUYWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSB0eXBlO1xuICBmaWJlci50eXBlID0gcmVzb2x2ZWRUeXBlO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuXG4gIHtcbiAgICBmaWJlci5fZGVidWdPd25lciA9IG93bmVyO1xuICB9XG5cbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCBtb2RlLCBsYW5lcykge1xuICB2YXIgb3duZXIgPSBudWxsO1xuXG4gIHtcbiAgICBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICB9XG5cbiAgdmFyIHR5cGUgPSBlbGVtZW50LnR5cGU7XG4gIHZhciBrZXkgPSBlbGVtZW50LmtleTtcbiAgdmFyIHBlbmRpbmdQcm9wcyA9IGVsZW1lbnQucHJvcHM7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyh0eXBlLCBrZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGxhbmVzKTtcblxuICB7XG4gICAgZmliZXIuX2RlYnVnU291cmNlID0gZWxlbWVudC5fc291cmNlO1xuICAgIGZpYmVyLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XG4gIH1cblxuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21GcmFnbWVudChlbGVtZW50cywgbW9kZSwgbGFuZXMsIGtleSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihGcmFnbWVudCwgZWxlbWVudHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHJldHVybiBmaWJlcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tUHJvZmlsZXIocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIHBlbmRpbmdQcm9wcy5pZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yKCdQcm9maWxlciBtdXN0IHNwZWNpZnkgYW4gXCJpZFwiIG9mIHR5cGUgYHN0cmluZ2AgYXMgYSBwcm9wLiBSZWNlaXZlZCB0aGUgdHlwZSBgJXNgIGluc3RlYWQuJywgdHlwZW9mIHBlbmRpbmdQcm9wcy5pZCk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoUHJvZmlsZXIsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlIHwgUHJvZmlsZU1vZGUpO1xuICBmaWJlci5lbGVtZW50VHlwZSA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG5cbiAge1xuICAgIGZpYmVyLnN0YXRlTm9kZSA9IHtcbiAgICAgIGVmZmVjdER1cmF0aW9uOiAwLFxuICAgICAgcGFzc2l2ZUVmZmVjdER1cmF0aW9uOiAwXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBmaWJlcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2UocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKFN1c3BlbnNlQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbiAgZmliZXIubGFuZXMgPSBsYW5lcztcbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2VMaXN0KHBlbmRpbmdQcm9wcywgbW9kZSwgbGFuZXMsIGtleSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihTdXNwZW5zZUxpc3RDb21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoT2Zmc2NyZWVuQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHZhciBwcmltYXJ5Q2hpbGRJbnN0YW5jZSA9IHtcbiAgICBpc0hpZGRlbjogZmFsc2VcbiAgfTtcbiAgZmliZXIuc3RhdGVOb2RlID0gcHJpbWFyeUNoaWxkSW5zdGFuY2U7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbVRleHQoY29udGVudCwgbW9kZSwgbGFuZXMpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdFRleHQsIGNvbnRlbnQsIG51bGwsIG1vZGUpO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Ib3N0SW5zdGFuY2VGb3JEZWxldGlvbigpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdENvbXBvbmVudCwgbnVsbCwgbnVsbCwgTm9Nb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSAnREVMRVRFRCc7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbURlaHlkcmF0ZWRGcmFnbWVudChkZWh5ZHJhdGVkTm9kZSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihEZWh5ZHJhdGVkRnJhZ21lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIGZpYmVyLnN0YXRlTm9kZSA9IGRlaHlkcmF0ZWROb2RlO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qb3J0YWwocG9ydGFsLCBtb2RlLCBsYW5lcykge1xuICB2YXIgcGVuZGluZ1Byb3BzID0gcG9ydGFsLmNoaWxkcmVuICE9PSBudWxsID8gcG9ydGFsLmNoaWxkcmVuIDogW107XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKEhvc3RQb3J0YWwsIHBlbmRpbmdQcm9wcywgcG9ydGFsLmtleSwgbW9kZSk7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIGZpYmVyLnN0YXRlTm9kZSA9IHtcbiAgICBjb250YWluZXJJbmZvOiBwb3J0YWwuY29udGFpbmVySW5mbyxcbiAgICBwZW5kaW5nQ2hpbGRyZW46IG51bGwsXG4gICAgLy8gVXNlZCBieSBwZXJzaXN0ZW50IHVwZGF0ZXNcbiAgICBpbXBsZW1lbnRhdGlvbjogcG9ydGFsLmltcGxlbWVudGF0aW9uXG4gIH07XG4gIHJldHVybiBmaWJlcjtcbn0gLy8gVXNlZCBmb3Igc3Rhc2hpbmcgV0lQIHByb3BlcnRpZXMgdG8gcmVwbGF5IGZhaWxlZCB3b3JrIGluIERFVi5cblxuZnVuY3Rpb24gYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodGFyZ2V0LCBzb3VyY2UpIHtcbiAgaWYgKHRhcmdldCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgRmliZXIncyBpbml0aWFsIHByb3BlcnRpZXMgd2lsbCBhbHdheXMgYmUgb3ZlcndyaXR0ZW4uXG4gICAgLy8gV2Ugb25seSB1c2UgYSBGaWJlciB0byBlbnN1cmUgdGhlIHNhbWUgaGlkZGVuIGNsYXNzIHNvIERFViBpc24ndCBzbG93LlxuICAgIHRhcmdldCA9IGNyZWF0ZUZpYmVyKEluZGV0ZXJtaW5hdGVDb21wb25lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIH0gLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IHdyaXR0ZW4gYXMgYSBsaXN0IG9mIGFsbCBwcm9wZXJ0aWVzLlxuICAvLyBXZSB0cmllZCB0byB1c2UgT2JqZWN0LmFzc2lnbigpIGluc3RlYWQgYnV0IHRoaXMgaXMgY2FsbGVkIGluXG4gIC8vIHRoZSBob3R0ZXN0IHBhdGgsIGFuZCBPYmplY3QuYXNzaWduKCkgd2FzIHRvbyBzbG93OlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTAyXG4gIC8vIFRoaXMgY29kZSBpcyBERVYtb25seSBzbyBzaXplIGlzIG5vdCBhIGNvbmNlcm4uXG5cblxuICB0YXJnZXQudGFnID0gc291cmNlLnRhZztcbiAgdGFyZ2V0LmtleSA9IHNvdXJjZS5rZXk7XG4gIHRhcmdldC5lbGVtZW50VHlwZSA9IHNvdXJjZS5lbGVtZW50VHlwZTtcbiAgdGFyZ2V0LnR5cGUgPSBzb3VyY2UudHlwZTtcbiAgdGFyZ2V0LnN0YXRlTm9kZSA9IHNvdXJjZS5zdGF0ZU5vZGU7XG4gIHRhcmdldC5yZXR1cm4gPSBzb3VyY2UucmV0dXJuO1xuICB0YXJnZXQuY2hpbGQgPSBzb3VyY2UuY2hpbGQ7XG4gIHRhcmdldC5zaWJsaW5nID0gc291cmNlLnNpYmxpbmc7XG4gIHRhcmdldC5pbmRleCA9IHNvdXJjZS5pbmRleDtcbiAgdGFyZ2V0LnJlZiA9IHNvdXJjZS5yZWY7XG4gIHRhcmdldC5wZW5kaW5nUHJvcHMgPSBzb3VyY2UucGVuZGluZ1Byb3BzO1xuICB0YXJnZXQubWVtb2l6ZWRQcm9wcyA9IHNvdXJjZS5tZW1vaXplZFByb3BzO1xuICB0YXJnZXQudXBkYXRlUXVldWUgPSBzb3VyY2UudXBkYXRlUXVldWU7XG4gIHRhcmdldC5tZW1vaXplZFN0YXRlID0gc291cmNlLm1lbW9pemVkU3RhdGU7XG4gIHRhcmdldC5kZXBlbmRlbmNpZXMgPSBzb3VyY2UuZGVwZW5kZW5jaWVzO1xuICB0YXJnZXQubW9kZSA9IHNvdXJjZS5tb2RlO1xuICB0YXJnZXQuZmxhZ3MgPSBzb3VyY2UuZmxhZ3M7XG4gIHRhcmdldC5zdWJ0cmVlRmxhZ3MgPSBzb3VyY2Uuc3VidHJlZUZsYWdzO1xuICB0YXJnZXQuZGVsZXRpb25zID0gc291cmNlLmRlbGV0aW9ucztcbiAgdGFyZ2V0LmxhbmVzID0gc291cmNlLmxhbmVzO1xuICB0YXJnZXQuY2hpbGRMYW5lcyA9IHNvdXJjZS5jaGlsZExhbmVzO1xuICB0YXJnZXQuYWx0ZXJuYXRlID0gc291cmNlLmFsdGVybmF0ZTtcblxuICB7XG4gICAgdGFyZ2V0LmFjdHVhbER1cmF0aW9uID0gc291cmNlLmFjdHVhbER1cmF0aW9uO1xuICAgIHRhcmdldC5hY3R1YWxTdGFydFRpbWUgPSBzb3VyY2UuYWN0dWFsU3RhcnRUaW1lO1xuICAgIHRhcmdldC5zZWxmQmFzZUR1cmF0aW9uID0gc291cmNlLnNlbGZCYXNlRHVyYXRpb247XG4gICAgdGFyZ2V0LnRyZWVCYXNlRHVyYXRpb24gPSBzb3VyY2UudHJlZUJhc2VEdXJhdGlvbjtcbiAgfVxuXG4gIHRhcmdldC5fZGVidWdTb3VyY2UgPSBzb3VyY2UuX2RlYnVnU291cmNlO1xuICB0YXJnZXQuX2RlYnVnT3duZXIgPSBzb3VyY2UuX2RlYnVnT3duZXI7XG4gIHRhcmdldC5fZGVidWdOZWVkc1JlbW91bnQgPSBzb3VyY2UuX2RlYnVnTmVlZHNSZW1vdW50O1xuICB0YXJnZXQuX2RlYnVnSG9va1R5cGVzID0gc291cmNlLl9kZWJ1Z0hvb2tUeXBlcztcbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gRmliZXJSb290Tm9kZShjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcikge1xuICB0aGlzLnRhZyA9IHRhZztcbiAgdGhpcy5jb250YWluZXJJbmZvID0gY29udGFpbmVySW5mbztcbiAgdGhpcy5wZW5kaW5nQ2hpbGRyZW4gPSBudWxsO1xuICB0aGlzLmN1cnJlbnQgPSBudWxsO1xuICB0aGlzLnBpbmdDYWNoZSA9IG51bGw7XG4gIHRoaXMuZmluaXNoZWRXb3JrID0gbnVsbDtcbiAgdGhpcy50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0O1xuICB0aGlzLmNvbnRleHQgPSBudWxsO1xuICB0aGlzLnBlbmRpbmdDb250ZXh0ID0gbnVsbDtcbiAgdGhpcy5jYWxsYmFja05vZGUgPSBudWxsO1xuICB0aGlzLmNhbGxiYWNrUHJpb3JpdHkgPSBOb0xhbmU7XG4gIHRoaXMuZXZlbnRUaW1lcyA9IGNyZWF0ZUxhbmVNYXAoTm9MYW5lcyk7XG4gIHRoaXMuZXhwaXJhdGlvblRpbWVzID0gY3JlYXRlTGFuZU1hcChOb1RpbWVzdGFtcCk7XG4gIHRoaXMucGVuZGluZ0xhbmVzID0gTm9MYW5lcztcbiAgdGhpcy5zdXNwZW5kZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMucGluZ2VkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmV4cGlyZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMubXV0YWJsZVJlYWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuZmluaXNoZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuZW50YW5nbGVkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmVudGFuZ2xlbWVudHMgPSBjcmVhdGVMYW5lTWFwKE5vTGFuZXMpO1xuICB0aGlzLmlkZW50aWZpZXJQcmVmaXggPSBpZGVudGlmaWVyUHJlZml4O1xuICB0aGlzLm9uUmVjb3ZlcmFibGVFcnJvciA9IG9uUmVjb3ZlcmFibGVFcnJvcjtcblxuICB7XG4gICAgdGhpcy5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhID0gbnVsbDtcbiAgfVxuXG4gIHtcbiAgICB0aGlzLmVmZmVjdER1cmF0aW9uID0gMDtcbiAgICB0aGlzLnBhc3NpdmVFZmZlY3REdXJhdGlvbiA9IDA7XG4gIH1cblxuICB7XG4gICAgdGhpcy5tZW1vaXplZFVwZGF0ZXJzID0gbmV3IFNldCgpO1xuICAgIHZhciBwZW5kaW5nVXBkYXRlcnNMYW5lTWFwID0gdGhpcy5wZW5kaW5nVXBkYXRlcnNMYW5lTWFwID0gW107XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgVG90YWxMYW5lczsgX2krKykge1xuICAgICAgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcC5wdXNoKG5ldyBTZXQoKSk7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICBjYXNlIENvbmN1cnJlbnRSb290OlxuICAgICAgICB0aGlzLl9kZWJ1Z1Jvb3RUeXBlID0gaHlkcmF0ZSA/ICdoeWRyYXRlUm9vdCgpJyA6ICdjcmVhdGVSb290KCknO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBMZWdhY3lSb290OlxuICAgICAgICB0aGlzLl9kZWJ1Z1Jvb3RUeXBlID0gaHlkcmF0ZSA/ICdoeWRyYXRlKCknIDogJ3JlbmRlcigpJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyUm9vdChjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUsIGluaXRpYWxDaGlsZHJlbiwgaHlkcmF0aW9uQ2FsbGJhY2tzLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIC8vIFRPRE86IFdlIGhhdmUgc2V2ZXJhbCBvZiB0aGVzZSBhcmd1bWVudHMgdGhhdCBhcmUgY29uY2VwdHVhbGx5IHBhcnQgb2YgdGhlXG4vLyBob3N0IGNvbmZpZywgYnV0IGJlY2F1c2UgdGhleSBhcmUgcGFzc2VkIGluIGF0IHJ1bnRpbWUsIHdlIGhhdmUgdG8gdGhyZWFkXG4vLyB0aGVtIHRocm91Z2ggdGhlIHJvb3QgY29uc3RydWN0b3IuIFBlcmhhcHMgd2Ugc2hvdWxkIHB1dCB0aGVtIGFsbCBpbnRvIGFcbi8vIHNpbmdsZSB0eXBlLCBsaWtlIGEgRHluYW1pY0hvc3RDb25maWcgdGhhdCBpcyBkZWZpbmVkIGJ5IHRoZSByZW5kZXJlci5cbmlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvciwgdHJhbnNpdGlvbkNhbGxiYWNrcykge1xuICB2YXIgcm9vdCA9IG5ldyBGaWJlclJvb3ROb2RlKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yKTtcbiAgLy8gc3RhdGVOb2RlIGlzIGFueS5cblxuXG4gIHZhciB1bmluaXRpYWxpemVkRmliZXIgPSBjcmVhdGVIb3N0Um9vdEZpYmVyKHRhZywgaXNTdHJpY3RNb2RlKTtcbiAgcm9vdC5jdXJyZW50ID0gdW5pbml0aWFsaXplZEZpYmVyO1xuICB1bmluaXRpYWxpemVkRmliZXIuc3RhdGVOb2RlID0gcm9vdDtcblxuICB7XG4gICAgdmFyIF9pbml0aWFsU3RhdGUgPSB7XG4gICAgICBlbGVtZW50OiBpbml0aWFsQ2hpbGRyZW4sXG4gICAgICBpc0RlaHlkcmF0ZWQ6IGh5ZHJhdGUsXG4gICAgICBjYWNoZTogbnVsbCxcbiAgICAgIC8vIG5vdCBlbmFibGVkIHlldFxuICAgICAgdHJhbnNpdGlvbnM6IG51bGwsXG4gICAgICBwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOiBudWxsXG4gICAgfTtcbiAgICB1bmluaXRpYWxpemVkRmliZXIubWVtb2l6ZWRTdGF0ZSA9IF9pbml0aWFsU3RhdGU7XG4gIH1cblxuICBpbml0aWFsaXplVXBkYXRlUXVldWUodW5pbml0aWFsaXplZEZpYmVyKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5cbnZhciBSZWFjdFZlcnNpb24gPSAnMTguMi4wJztcblxuZnVuY3Rpb24gY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBjb250YWluZXJJbmZvLCAvLyBUT0RPOiBmaWd1cmUgb3V0IHRoZSBBUEkgZm9yIGNyb3NzLXJlbmRlcmVyIGltcGxlbWVudGF0aW9uLlxuaW1wbGVtZW50YXRpb24pIHtcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogbnVsbDtcblxuICB7XG4gICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihrZXkpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvdyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgUG9ydGFsXG4gICAgJCR0eXBlb2Y6IFJFQUNUX1BPUlRBTF9UWVBFLFxuICAgIGtleToga2V5ID09IG51bGwgPyBudWxsIDogJycgKyBrZXksXG4gICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgIGNvbnRhaW5lckluZm86IGNvbnRhaW5lckluZm8sXG4gICAgaW1wbGVtZW50YXRpb246IGltcGxlbWVudGF0aW9uXG4gIH07XG59XG5cbnZhciBkaWRXYXJuQWJvdXROZXN0ZWRVcGRhdGVzO1xudmFyIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlO1xuXG57XG4gIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSBmYWxzZTtcbiAgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGUgPSB7fTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29udGV4dEZvclN1YnRyZWUocGFyZW50Q29tcG9uZW50KSB7XG4gIGlmICghcGFyZW50Q29tcG9uZW50KSB7XG4gICAgcmV0dXJuIGVtcHR5Q29udGV4dE9iamVjdDtcbiAgfVxuXG4gIHZhciBmaWJlciA9IGdldChwYXJlbnRDb21wb25lbnQpO1xuICB2YXIgcGFyZW50Q29udGV4dCA9IGZpbmRDdXJyZW50VW5tYXNrZWRDb250ZXh0KGZpYmVyKTtcblxuICBpZiAoZmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgIHZhciBDb21wb25lbnQgPSBmaWJlci50eXBlO1xuXG4gICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiBwcm9jZXNzQ2hpbGRDb250ZXh0KGZpYmVyLCBDb21wb25lbnQsIHBhcmVudENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJlbnRDb250ZXh0O1xufVxuXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlV2l0aFdhcm5pbmcoY29tcG9uZW50LCBtZXRob2ROYW1lKSB7XG4gIHtcbiAgICB2YXIgZmliZXIgPSBnZXQoY29tcG9uZW50KTtcblxuICAgIGlmIChmaWJlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodHlwZW9mIGNvbXBvbmVudC5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGNvbXBvbmVudCkuam9pbignLCcpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcmd1bWVudCBhcHBlYXJzIHRvIG5vdCBiZSBhIFJlYWN0Q29tcG9uZW50LiBLZXlzOiBcIiArIGtleXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcihmaWJlcik7XG5cbiAgICBpZiAoaG9zdEZpYmVyID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoaG9zdEZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc2V0Q3VycmVudEZpYmVyKGhvc3RGaWJlcik7XG5cbiAgICAgICAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCBpcyBpbnNpZGUgU3RyaWN0TW9kZS4gJyArICdJbnN0ZWFkLCBhZGQgYSByZWYgZGlyZWN0bHkgdG8gdGhlIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVmZXJlbmNlLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtZmluZC1ub2RlJywgbWV0aG9kTmFtZSwgbWV0aG9kTmFtZSwgY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCByZW5kZXJzIFN0cmljdE1vZGUgY2hpbGRyZW4uICcgKyAnSW5zdGVhZCwgYWRkIGEgcmVmIGRpcmVjdGx5IHRvIHRoZSBlbGVtZW50IHlvdSB3YW50IHRvIHJlZmVyZW5jZS4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLWZpbmQtbm9kZScsIG1ldGhvZE5hbWUsIG1ldGhvZE5hbWUsIGNvbXBvbmVudE5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAvLyBJZGVhbGx5IHRoaXMgc2hvdWxkIHJlc2V0IHRvIHByZXZpb3VzIGJ1dCB0aGlzIHNob3VsZG4ndCBiZSBjYWxsZWQgaW5cbiAgICAgICAgICAvLyByZW5kZXIgYW5kIHRoZXJlJ3MgYW5vdGhlciB3YXJuaW5nIGZvciB0aGF0IGFueXdheS5cbiAgICAgICAgICBpZiAocHJldmlvdXNGaWJlcikge1xuICAgICAgICAgICAgc2V0Q3VycmVudEZpYmVyKHByZXZpb3VzRmliZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBob3N0RmliZXIuc3RhdGVOb2RlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IsIHRyYW5zaXRpb25DYWxsYmFja3MpIHtcbiAgdmFyIGh5ZHJhdGUgPSBmYWxzZTtcbiAgdmFyIGluaXRpYWxDaGlsZHJlbiA9IG51bGw7XG4gIHJldHVybiBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IpO1xufVxuZnVuY3Rpb24gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgLy8gVE9ETzogUmVtb3ZlIGBjYWxsYmFja2Agd2hlbiB3ZSBkZWxldGUgbGVnYWN5IG1vZGUuXG5jYWxsYmFjaywgY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRpb25DYWxsYmFja3MsIGlzU3RyaWN0TW9kZSwgY29uY3VycmVudFVwZGF0ZXNCeURlZmF1bHRPdmVycmlkZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yLCB0cmFuc2l0aW9uQ2FsbGJhY2tzKSB7XG4gIHZhciBoeWRyYXRlID0gdHJ1ZTtcbiAgdmFyIHJvb3QgPSBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IpOyAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gRmliZXJSb290IGNvbnN0cnVjdG9yXG5cbiAgcm9vdC5jb250ZXh0ID0gZ2V0Q29udGV4dEZvclN1YnRyZWUobnVsbCk7IC8vIFNjaGVkdWxlIHRoZSBpbml0aWFsIHJlbmRlci4gSW4gYSBoeWRyYXRpb24gcm9vdCwgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbVxuICAvLyBhIHJlZ3VsYXIgdXBkYXRlIGJlY2F1c2UgdGhlIGluaXRpYWwgcmVuZGVyIG11c3QgbWF0Y2ggd2FzIHdhcyByZW5kZXJlZFxuICAvLyBvbiB0aGUgc2VydmVyLlxuICAvLyBOT1RFOiBUaGlzIHVwZGF0ZSBpbnRlbnRpb25hbGx5IGRvZXNuJ3QgaGF2ZSBhIHBheWxvYWQuIFdlJ3JlIG9ubHkgdXNpbmdcbiAgLy8gdGhlIHVwZGF0ZSB0byBzY2hlZHVsZSB3b3JrIG9uIHRoZSByb290IGZpYmVyIChhbmQsIGZvciBsZWdhY3kgcm9vdHMsIHRvXG4gIC8vIGVucXVldWUgdGhlIGNhbGxiYWNrIGlmIG9uZSBpcyBwcm92aWRlZCkuXG5cbiAgdmFyIGN1cnJlbnQgPSByb290LmN1cnJlbnQ7XG4gIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoY3VycmVudCk7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgdXBkYXRlLmNhbGxiYWNrID0gY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCA/IGNhbGxiYWNrIDogbnVsbDtcbiAgZW5xdWV1ZVVwZGF0ZShjdXJyZW50LCB1cGRhdGUsIGxhbmUpO1xuICBzY2hlZHVsZUluaXRpYWxIeWRyYXRpb25PblJvb3Qocm9vdCwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5mdW5jdGlvbiB1cGRhdGVDb250YWluZXIoZWxlbWVudCwgY29udGFpbmVyLCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBvblNjaGVkdWxlUm9vdChjb250YWluZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgdmFyIGN1cnJlbnQkMSA9IGNvbnRhaW5lci5jdXJyZW50O1xuICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICB2YXIgbGFuZSA9IHJlcXVlc3RVcGRhdGVMYW5lKGN1cnJlbnQkMSk7XG5cbiAge1xuICAgIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSk7XG4gIH1cblxuICB2YXIgY29udGV4dCA9IGdldENvbnRleHRGb3JTdWJ0cmVlKHBhcmVudENvbXBvbmVudCk7XG5cbiAgaWYgKGNvbnRhaW5lci5jb250ZXh0ID09PSBudWxsKSB7XG4gICAgY29udGFpbmVyLmNvbnRleHQgPSBjb250ZXh0O1xuICB9IGVsc2Uge1xuICAgIGNvbnRhaW5lci5wZW5kaW5nQ29udGV4dCA9IGNvbnRleHQ7XG4gIH1cblxuICB7XG4gICAgaWYgKGlzUmVuZGVyaW5nICYmIGN1cnJlbnQgIT09IG51bGwgJiYgIWRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSB0cnVlO1xuXG4gICAgICBlcnJvcignUmVuZGVyIG1ldGhvZHMgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGU7ICcgKyAndHJpZ2dlcmluZyBuZXN0ZWQgY29tcG9uZW50IHVwZGF0ZXMgZnJvbSByZW5kZXIgaXMgbm90IGFsbG93ZWQuICcgKyAnSWYgbmVjZXNzYXJ5LCB0cmlnZ2VyIG5lc3RlZCB1cGRhdGVzIGluIGNvbXBvbmVudERpZFVwZGF0ZS5cXG5cXG4nICsgJ0NoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mICVzLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoY3VycmVudCkgfHwgJ1Vua25vd24nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGV2ZW50VGltZSwgbGFuZSk7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG4gIHVwZGF0ZS5wYXlsb2FkID0ge1xuICAgIGVsZW1lbnQ6IGVsZW1lbnRcbiAgfTtcbiAgY2FsbGJhY2sgPSBjYWxsYmFjayA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNhbGxiYWNrO1xuXG4gIGlmIChjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICB9XG5cbiAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKGN1cnJlbnQkMSwgdXBkYXRlLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBjdXJyZW50JDEsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBjdXJyZW50JDEsIGxhbmUpO1xuICB9XG5cbiAgcmV0dXJuIGxhbmU7XG59XG5mdW5jdGlvbiBnZXRQdWJsaWNSb290SW5zdGFuY2UoY29udGFpbmVyKSB7XG4gIHZhciBjb250YWluZXJGaWJlciA9IGNvbnRhaW5lci5jdXJyZW50O1xuXG4gIGlmICghY29udGFpbmVyRmliZXIuY2hpbGQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHN3aXRjaCAoY29udGFpbmVyRmliZXIuY2hpbGQudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGdldFB1YmxpY0luc3RhbmNlKGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZSk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZTtcbiAgfVxufVxuZnVuY3Rpb24gYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uJDEoZmliZXIpIHtcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICB2YXIgcm9vdCA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgICAgICAgIC8vIEZsdXNoIHRoZSBmaXJzdCBzY2hlZHVsZWQgXCJ1cGRhdGVcIi5cbiAgICAgICAgICB2YXIgbGFuZXMgPSBnZXRIaWdoZXN0UHJpb3JpdHlQZW5kaW5nTGFuZXMocm9vdCk7XG4gICAgICAgICAgZmx1c2hSb290KHJvb3QsIGxhbmVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgZmx1c2hTeW5jKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICAgICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBldmVudFRpbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7IC8vIElmIHdlJ3JlIHN0aWxsIGJsb2NrZWQgYWZ0ZXIgdGhpcywgd2UgbmVlZCB0byBpbmNyZWFzZVxuICAgICAgICAvLyB0aGUgcHJpb3JpdHkgb2YgYW55IHByb21pc2VzIHJlc29sdmluZyB3aXRoaW4gdGhpc1xuICAgICAgICAvLyBib3VuZGFyeSBzbyB0aGF0IHRoZXkgbmV4dCBhdHRlbXB0IGFsc28gaGFzIGhpZ2hlciBwcmkuXG5cbiAgICAgICAgdmFyIHJldHJ5TGFuZSA9IFN5bmNMYW5lO1xuICAgICAgICBtYXJrUmV0cnlMYW5lSWZOb3RIeWRyYXRlZChmaWJlciwgcmV0cnlMYW5lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1JldHJ5TGFuZUltcGwoZmliZXIsIHJldHJ5TGFuZSkge1xuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwgJiYgc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUgPSBoaWdoZXJQcmlvcml0eUxhbmUoc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUsIHJldHJ5TGFuZSk7XG4gIH1cbn0gLy8gSW5jcmVhc2VzIHRoZSBwcmlvcml0eSBvZiB0aGVuYWJsZXMgd2hlbiB0aGV5IHJlc29sdmUgd2l0aGluIHRoaXMgYm91bmRhcnkuXG5cblxuZnVuY3Rpb24gbWFya1JldHJ5TGFuZUlmTm90SHlkcmF0ZWQoZmliZXIsIHJldHJ5TGFuZSkge1xuICBtYXJrUmV0cnlMYW5lSW1wbChmaWJlciwgcmV0cnlMYW5lKTtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlKSB7XG4gICAgbWFya1JldHJ5TGFuZUltcGwoYWx0ZXJuYXRlLCByZXRyeUxhbmUpO1xuICB9XG59XG5mdW5jdGlvbiBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiQxKGZpYmVyKSB7XG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcbiAgICAvLyB0aGVpciBwcmlvcml0eSBhbmQgdGhleSBzaG91bGQgbm90IHN1c3BlbmQgb24gSS9PLFxuICAgIC8vIHNpbmNlIHlvdSBoYXZlIHRvIHdyYXAgYW55dGhpbmcgdGhhdCBtaWdodCBzdXNwZW5kIGluXG4gICAgLy8gU3VzcGVuc2UuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGxhbmUgPSBTZWxlY3RpdmVIeWRyYXRpb25MYW5lO1xuICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgbGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgfVxuXG4gIG1hcmtSZXRyeUxhbmVJZk5vdEh5ZHJhdGVkKGZpYmVyLCBsYW5lKTtcbn1cbmZ1bmN0aW9uIGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eSQxKGZpYmVyKSB7XG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcbiAgICAvLyB0aGVpciBwcmlvcml0eSBvdGhlciB0aGFuIHN5bmNocm9ub3VzbHkgZmx1c2ggaXQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICB9XG5cbiAgbWFya1JldHJ5TGFuZUlmTm90SHlkcmF0ZWQoZmliZXIsIGxhbmUpO1xufVxuZnVuY3Rpb24gZmluZEhvc3RJbnN0YW5jZVdpdGhOb1BvcnRhbHMoZmliZXIpIHtcbiAgdmFyIGhvc3RGaWJlciA9IGZpbmRDdXJyZW50SG9zdEZpYmVyV2l0aE5vUG9ydGFscyhmaWJlcik7XG5cbiAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGU7XG59XG5cbnZhciBzaG91bGRFcnJvckltcGwgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgcmV0dXJuIG51bGw7XG59O1xuXG5mdW5jdGlvbiBzaG91bGRFcnJvcihmaWJlcikge1xuICByZXR1cm4gc2hvdWxkRXJyb3JJbXBsKGZpYmVyKTtcbn1cblxudmFyIHNob3VsZFN1c3BlbmRJbXBsID0gZnVuY3Rpb24gKGZpYmVyKSB7XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmZ1bmN0aW9uIHNob3VsZFN1c3BlbmQoZmliZXIpIHtcbiAgcmV0dXJuIHNob3VsZFN1c3BlbmRJbXBsKGZpYmVyKTtcbn1cbnZhciBvdmVycmlkZUhvb2tTdGF0ZSA9IG51bGw7XG52YXIgb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoID0gbnVsbDtcbnZhciBvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGggPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHMgPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHNEZWxldGVQYXRoID0gbnVsbDtcbnZhciBvdmVycmlkZVByb3BzUmVuYW1lUGF0aCA9IG51bGw7XG52YXIgc2NoZWR1bGVVcGRhdGUgPSBudWxsO1xudmFyIHNldEVycm9ySGFuZGxlciA9IG51bGw7XG52YXIgc2V0U3VzcGVuc2VIYW5kbGVyID0gbnVsbDtcblxue1xuICB2YXIgY29weVdpdGhEZWxldGVJbXBsID0gZnVuY3Rpb24gKG9iaiwgcGF0aCwgaW5kZXgpIHtcbiAgICB2YXIga2V5ID0gcGF0aFtpbmRleF07XG4gICAgdmFyIHVwZGF0ZWQgPSBpc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IGFzc2lnbih7fSwgb2JqKTtcblxuICAgIGlmIChpbmRleCArIDEgPT09IHBhdGgubGVuZ3RoKSB7XG4gICAgICBpZiAoaXNBcnJheSh1cGRhdGVkKSkge1xuICAgICAgICB1cGRhdGVkLnNwbGljZShrZXksIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIHVwZGF0ZWRba2V5XTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVwZGF0ZWQ7XG4gICAgfSAvLyAkRmxvd0ZpeE1lIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG5cblxuICAgIHVwZGF0ZWRba2V5XSA9IGNvcHlXaXRoRGVsZXRlSW1wbChvYmpba2V5XSwgcGF0aCwgaW5kZXggKyAxKTtcbiAgICByZXR1cm4gdXBkYXRlZDtcbiAgfTtcblxuICB2YXIgY29weVdpdGhEZWxldGUgPSBmdW5jdGlvbiAob2JqLCBwYXRoKSB7XG4gICAgcmV0dXJuIGNvcHlXaXRoRGVsZXRlSW1wbChvYmosIHBhdGgsIDApO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFJlbmFtZUltcGwgPSBmdW5jdGlvbiAob2JqLCBvbGRQYXRoLCBuZXdQYXRoLCBpbmRleCkge1xuICAgIHZhciBvbGRLZXkgPSBvbGRQYXRoW2luZGV4XTtcbiAgICB2YXIgdXBkYXRlZCA9IGlzQXJyYXkob2JqKSA/IG9iai5zbGljZSgpIDogYXNzaWduKHt9LCBvYmopO1xuXG4gICAgaWYgKGluZGV4ICsgMSA9PT0gb2xkUGF0aC5sZW5ndGgpIHtcbiAgICAgIHZhciBuZXdLZXkgPSBuZXdQYXRoW2luZGV4XTsgLy8gJEZsb3dGaXhNZSBudW1iZXIgb3Igc3RyaW5nIGlzIGZpbmUgaGVyZVxuXG4gICAgICB1cGRhdGVkW25ld0tleV0gPSB1cGRhdGVkW29sZEtleV07XG5cbiAgICAgIGlmIChpc0FycmF5KHVwZGF0ZWQpKSB7XG4gICAgICAgIHVwZGF0ZWQuc3BsaWNlKG9sZEtleSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgdXBkYXRlZFtvbGRLZXldO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG4gICAgICB1cGRhdGVkW29sZEtleV0gPSBjb3B5V2l0aFJlbmFtZUltcGwoIC8vICRGbG93Rml4TWUgbnVtYmVyIG9yIHN0cmluZyBpcyBmaW5lIGhlcmVcbiAgICAgIG9ialtvbGRLZXldLCBvbGRQYXRoLCBuZXdQYXRoLCBpbmRleCArIDEpO1xuICAgIH1cblxuICAgIHJldHVybiB1cGRhdGVkO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFJlbmFtZSA9IGZ1bmN0aW9uIChvYmosIG9sZFBhdGgsIG5ld1BhdGgpIHtcbiAgICBpZiAob2xkUGF0aC5sZW5ndGggIT09IG5ld1BhdGgubGVuZ3RoKSB7XG4gICAgICB3YXJuKCdjb3B5V2l0aFJlbmFtZSgpIGV4cGVjdHMgcGF0aHMgb2YgdGhlIHNhbWUgbGVuZ3RoJyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdQYXRoLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICBpZiAob2xkUGF0aFtpXSAhPT0gbmV3UGF0aFtpXSkge1xuICAgICAgICAgIHdhcm4oJ2NvcHlXaXRoUmVuYW1lKCkgZXhwZWN0cyBwYXRocyB0byBiZSB0aGUgc2FtZSBleGNlcHQgZm9yIHRoZSBkZWVwZXN0IGtleScpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvcHlXaXRoUmVuYW1lSW1wbChvYmosIG9sZFBhdGgsIG5ld1BhdGgsIDApO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFNldEltcGwgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCBpbmRleCwgdmFsdWUpIHtcbiAgICBpZiAoaW5kZXggPj0gcGF0aC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICB2YXIga2V5ID0gcGF0aFtpbmRleF07XG4gICAgdmFyIHVwZGF0ZWQgPSBpc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IGFzc2lnbih7fSwgb2JqKTsgLy8gJEZsb3dGaXhNZSBudW1iZXIgb3Igc3RyaW5nIGlzIGZpbmUgaGVyZVxuXG4gICAgdXBkYXRlZFtrZXldID0gY29weVdpdGhTZXRJbXBsKG9ialtrZXldLCBwYXRoLCBpbmRleCArIDEsIHZhbHVlKTtcbiAgICByZXR1cm4gdXBkYXRlZDtcbiAgfTtcblxuICB2YXIgY29weVdpdGhTZXQgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCB2YWx1ZSkge1xuICAgIHJldHVybiBjb3B5V2l0aFNldEltcGwob2JqLCBwYXRoLCAwLCB2YWx1ZSk7XG4gIH07XG5cbiAgdmFyIGZpbmRIb29rID0gZnVuY3Rpb24gKGZpYmVyLCBpZCkge1xuICAgIC8vIEZvciBub3csIHRoZSBcImlkXCIgb2Ygc3RhdGVmdWwgaG9va3MgaXMganVzdCB0aGUgc3RhdGVmdWwgaG9vayBpbmRleC5cbiAgICAvLyBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB3aXRoIGUuZy4gbmVzdGVkIGhvb2tzLlxuICAgIHZhciBjdXJyZW50SG9vayA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgICB3aGlsZSAoY3VycmVudEhvb2sgIT09IG51bGwgJiYgaWQgPiAwKSB7XG4gICAgICBjdXJyZW50SG9vayA9IGN1cnJlbnRIb29rLm5leHQ7XG4gICAgICBpZC0tO1xuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50SG9vaztcbiAgfTsgLy8gU3VwcG9ydCBEZXZUb29scyBlZGl0YWJsZSB2YWx1ZXMgZm9yIHVzZVN0YXRlIGFuZCB1c2VSZWR1Y2VyLlxuXG5cbiAgb3ZlcnJpZGVIb29rU3RhdGUgPSBmdW5jdGlvbiAoZmliZXIsIGlkLCBwYXRoLCB2YWx1ZSkge1xuICAgIHZhciBob29rID0gZmluZEhvb2soZmliZXIsIGlkKTtcblxuICAgIGlmIChob29rICE9PSBudWxsKSB7XG4gICAgICB2YXIgbmV3U3RhdGUgPSBjb3B5V2l0aFNldChob29rLm1lbW9pemVkU3RhdGUsIHBhdGgsIHZhbHVlKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlSG9va1N0YXRlRGVsZXRlUGF0aCA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIHBhdGgpIHtcbiAgICB2YXIgaG9vayA9IGZpbmRIb29rKGZpYmVyLCBpZCk7XG5cbiAgICBpZiAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhEZWxldGUoaG9vay5tZW1vaXplZFN0YXRlLCBwYXRoKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlSG9va1N0YXRlUmVuYW1lUGF0aCA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIG9sZFBhdGgsIG5ld1BhdGgpIHtcbiAgICB2YXIgaG9vayA9IGZpbmRIb29rKGZpYmVyLCBpZCk7XG5cbiAgICBpZiAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhSZW5hbWUoaG9vay5tZW1vaXplZFN0YXRlLCBvbGRQYXRoLCBuZXdQYXRoKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9OyAvLyBTdXBwb3J0IERldlRvb2xzIHByb3BzIGZvciBmdW5jdGlvbiBjb21wb25lbnRzLCBmb3J3YXJkUmVmLCBtZW1vLCBob3N0IGNvbXBvbmVudHMsIGV0Yy5cblxuXG4gIG92ZXJyaWRlUHJvcHMgPSBmdW5jdGlvbiAoZmliZXIsIHBhdGgsIHZhbHVlKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhTZXQoZmliZXIubWVtb2l6ZWRQcm9wcywgcGF0aCwgdmFsdWUpO1xuXG4gICAgaWYgKGZpYmVyLmFsdGVybmF0ZSkge1xuICAgICAgZmliZXIuYWx0ZXJuYXRlLnBlbmRpbmdQcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgU3luY0xhbmUsIE5vVGltZXN0YW1wKTtcbiAgICB9XG4gIH07XG5cbiAgb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGggPSBmdW5jdGlvbiAoZmliZXIsIHBhdGgpIHtcbiAgICBmaWJlci5wZW5kaW5nUHJvcHMgPSBjb3B5V2l0aERlbGV0ZShmaWJlci5tZW1vaXplZFByb3BzLCBwYXRoKTtcblxuICAgIGlmIChmaWJlci5hbHRlcm5hdGUpIHtcbiAgICAgIGZpYmVyLmFsdGVybmF0ZS5wZW5kaW5nUHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgfVxuXG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoID0gZnVuY3Rpb24gKGZpYmVyLCBvbGRQYXRoLCBuZXdQYXRoKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhSZW5hbWUoZmliZXIubWVtb2l6ZWRQcm9wcywgb2xkUGF0aCwgbmV3UGF0aCk7XG5cbiAgICBpZiAoZmliZXIuYWx0ZXJuYXRlKSB7XG4gICAgICBmaWJlci5hbHRlcm5hdGUucGVuZGluZ1Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSwgTm9UaW1lc3RhbXApO1xuICAgIH1cbiAgfTtcblxuICBzY2hlZHVsZVVwZGF0ZSA9IGZ1bmN0aW9uIChmaWJlcikge1xuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSwgTm9UaW1lc3RhbXApO1xuICAgIH1cbiAgfTtcblxuICBzZXRFcnJvckhhbmRsZXIgPSBmdW5jdGlvbiAobmV3U2hvdWxkRXJyb3JJbXBsKSB7XG4gICAgc2hvdWxkRXJyb3JJbXBsID0gbmV3U2hvdWxkRXJyb3JJbXBsO1xuICB9O1xuXG4gIHNldFN1c3BlbnNlSGFuZGxlciA9IGZ1bmN0aW9uIChuZXdTaG91bGRTdXNwZW5kSW1wbCkge1xuICAgIHNob3VsZFN1c3BlbmRJbXBsID0gbmV3U2hvdWxkU3VzcGVuZEltcGw7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyKGZpYmVyKSB7XG4gIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcihmaWJlcik7XG5cbiAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGU7XG59XG5cbmZ1bmN0aW9uIGVtcHR5RmluZEZpYmVyQnlIb3N0SW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlckZvckRldlRvb2xzKCkge1xuICByZXR1cm4gY3VycmVudDtcbn1cblxuZnVuY3Rpb24gaW5qZWN0SW50b0RldlRvb2xzKGRldlRvb2xzQ29uZmlnKSB7XG4gIHZhciBmaW5kRmliZXJCeUhvc3RJbnN0YW5jZSA9IGRldlRvb2xzQ29uZmlnLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlO1xuICB2YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG4gIHJldHVybiBpbmplY3RJbnRlcm5hbHMoe1xuICAgIGJ1bmRsZVR5cGU6IGRldlRvb2xzQ29uZmlnLmJ1bmRsZVR5cGUsXG4gICAgdmVyc2lvbjogZGV2VG9vbHNDb25maWcudmVyc2lvbixcbiAgICByZW5kZXJlclBhY2thZ2VOYW1lOiBkZXZUb29sc0NvbmZpZy5yZW5kZXJlclBhY2thZ2VOYW1lLFxuICAgIHJlbmRlcmVyQ29uZmlnOiBkZXZUb29sc0NvbmZpZy5yZW5kZXJlckNvbmZpZyxcbiAgICBvdmVycmlkZUhvb2tTdGF0ZTogb3ZlcnJpZGVIb29rU3RhdGUsXG4gICAgb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoOiBvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGgsXG4gICAgb3ZlcnJpZGVIb29rU3RhdGVSZW5hbWVQYXRoOiBvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGgsXG4gICAgb3ZlcnJpZGVQcm9wczogb3ZlcnJpZGVQcm9wcyxcbiAgICBvdmVycmlkZVByb3BzRGVsZXRlUGF0aDogb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGgsXG4gICAgb3ZlcnJpZGVQcm9wc1JlbmFtZVBhdGg6IG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoLFxuICAgIHNldEVycm9ySGFuZGxlcjogc2V0RXJyb3JIYW5kbGVyLFxuICAgIHNldFN1c3BlbnNlSGFuZGxlcjogc2V0U3VzcGVuc2VIYW5kbGVyLFxuICAgIHNjaGVkdWxlVXBkYXRlOiBzY2hlZHVsZVVwZGF0ZSxcbiAgICBjdXJyZW50RGlzcGF0Y2hlclJlZjogUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcbiAgICBmaW5kSG9zdEluc3RhbmNlQnlGaWJlcjogZmluZEhvc3RJbnN0YW5jZUJ5RmliZXIsXG4gICAgZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6IGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlIHx8IGVtcHR5RmluZEZpYmVyQnlIb3N0SW5zdGFuY2UsXG4gICAgLy8gUmVhY3QgUmVmcmVzaFxuICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaDogIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCAsXG4gICAgc2NoZWR1bGVSZWZyZXNoOiAgc2NoZWR1bGVSZWZyZXNoICxcbiAgICBzY2hlZHVsZVJvb3Q6ICBzY2hlZHVsZVJvb3QgLFxuICAgIHNldFJlZnJlc2hIYW5kbGVyOiAgc2V0UmVmcmVzaEhhbmRsZXIgLFxuICAgIC8vIEVuYWJsZXMgRGV2VG9vbHMgdG8gYXBwZW5kIG93bmVyIHN0YWNrcyB0byBlcnJvciBtZXNzYWdlcyBpbiBERVYgbW9kZS5cbiAgICBnZXRDdXJyZW50RmliZXI6ICBnZXRDdXJyZW50RmliZXJGb3JEZXZUb29scyAsXG4gICAgLy8gRW5hYmxlcyBEZXZUb29scyB0byBkZXRlY3QgcmVjb25jaWxlciB2ZXJzaW9uIHJhdGhlciB0aGFuIHJlbmRlcmVyIHZlcnNpb25cbiAgICAvLyB3aGljaCBtYXkgbm90IG1hdGNoIGZvciB0aGlyZCBwYXJ0eSByZW5kZXJlcnMuXG4gICAgcmVjb25jaWxlclZlcnNpb246IFJlYWN0VmVyc2lvblxuICB9KTtcbn1cblxuLyogZ2xvYmFsIHJlcG9ydEVycm9yICovXG5cbnZhciBkZWZhdWx0T25SZWNvdmVyYWJsZUVycm9yID0gdHlwZW9mIHJlcG9ydEVycm9yID09PSAnZnVuY3Rpb24nID8gLy8gSW4gbW9kZXJuIGJyb3dzZXJzLCByZXBvcnRFcnJvciB3aWxsIGRpc3BhdGNoIGFuIGVycm9yIGV2ZW50LFxuLy8gZW11bGF0aW5nIGFuIHVuY2F1Z2h0IEphdmFTY3JpcHQgZXJyb3IuXG5yZXBvcnRFcnJvciA6IGZ1bmN0aW9uIChlcnJvcikge1xuICAvLyBJbiBvbGRlciBicm93c2VycyBhbmQgdGVzdCBlbnZpcm9ubWVudHMsIGZhbGxiYWNrIHRvIGNvbnNvbGUuZXJyb3IuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmdcbiAgY29uc29sZVsnZXJyb3InXShlcnJvcik7XG59O1xuXG5mdW5jdGlvbiBSZWFjdERPTVJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn1cblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS5yZW5kZXIgPSBSZWFjdERPTVJvb3QucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIChjaGlsZHJlbikge1xuICB2YXIgcm9vdCA9IHRoaXMuX2ludGVybmFsUm9vdDtcblxuICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVwZGF0ZSBhbiB1bm1vdW50ZWQgcm9vdC4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1sxXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkQ29udGFpbmVyKGFyZ3VtZW50c1sxXSkpIHtcbiAgICAgIGVycm9yKCdZb3UgcGFzc2VkIGEgY29udGFpbmVyIHRvIHRoZSBzZWNvbmQgYXJndW1lbnQgb2Ygcm9vdC5yZW5kZXIoLi4uKS4gJyArIFwiWW91IGRvbid0IG5lZWQgdG8gcGFzcyBpdCBhZ2FpbiBzaW5jZSB5b3UgYWxyZWFkeSBwYXNzZWQgaXQgdG8gY3JlYXRlIHRoZSByb290LlwiKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmd1bWVudHNbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBlcnJvcignWW91IHBhc3NlZCBhIHNlY29uZCBhcmd1bWVudCB0byByb290LnJlbmRlciguLi4pIGJ1dCBpdCBvbmx5IGFjY2VwdHMgJyArICdvbmUgYXJndW1lbnQuJyk7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKHJvb3QuY3VycmVudCk7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UpIHtcbiAgICAgICAgaWYgKGhvc3RJbnN0YW5jZS5wYXJlbnROb2RlICE9PSBjb250YWluZXIpIHtcbiAgICAgICAgICBlcnJvcigncmVuZGVyKC4uLik6IEl0IGxvb2tzIGxpa2UgdGhlIFJlYWN0LXJlbmRlcmVkIGNvbnRlbnQgb2YgdGhlICcgKyAncm9vdCBjb250YWluZXIgd2FzIHJlbW92ZWQgd2l0aG91dCB1c2luZyBSZWFjdC4gVGhpcyBpcyBub3QgJyArICdzdXBwb3J0ZWQgYW5kIHdpbGwgY2F1c2UgZXJyb3JzLiBJbnN0ZWFkLCBjYWxsICcgKyBcInJvb3QudW5tb3VudCgpIHRvIGVtcHR5IGEgcm9vdCdzIGNvbnRhaW5lci5cIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVDb250YWluZXIoY2hpbGRyZW4sIHJvb3QsIG51bGwsIG51bGwpO1xufTtcblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS51bm1vdW50ID0gUmVhY3RET01Sb290LnByb3RvdHlwZS51bm1vdW50ID0gZnVuY3Rpb24gKCkge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbMF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCd1bm1vdW50KC4uLik6IGRvZXMgbm90IHN1cHBvcnQgYSBjYWxsYmFjayBhcmd1bWVudC4gJyArICdUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgcmVuZGVyaW5nLCBkZWNsYXJlIGl0IGluIGEgY29tcG9uZW50IGJvZHkgd2l0aCB1c2VFZmZlY3QoKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IHRoaXMuX2ludGVybmFsUm9vdDtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHRoaXMuX2ludGVybmFsUm9vdCA9IG51bGw7XG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIHtcbiAgICAgIGlmIChpc0FscmVhZHlSZW5kZXJpbmcoKSkge1xuICAgICAgICBlcnJvcignQXR0ZW1wdGVkIHRvIHN5bmNocm9ub3VzbHkgdW5tb3VudCBhIHJvb3Qgd2hpbGUgUmVhY3Qgd2FzIGFscmVhZHkgJyArICdyZW5kZXJpbmcuIFJlYWN0IGNhbm5vdCBmaW5pc2ggdW5tb3VudGluZyB0aGUgcm9vdCB1bnRpbCB0aGUgJyArICdjdXJyZW50IHJlbmRlciBoYXMgY29tcGxldGVkLCB3aGljaCBtYXkgbGVhZCB0byBhIHJhY2UgY29uZGl0aW9uLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVDb250YWluZXIobnVsbCwgcm9vdCwgbnVsbCwgbnVsbCk7XG4gICAgfSk7XG4gICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3QoY29udGFpbmVyLCBvcHRpb25zKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lcihjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjcmVhdGVSb290KC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB3YXJuSWZSZWFjdERPTUNvbnRhaW5lckluREVWKGNvbnRhaW5lcik7XG4gIHZhciBpc1N0cmljdE1vZGUgPSBmYWxzZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUgPSBmYWxzZTtcbiAgdmFyIGlkZW50aWZpZXJQcmVmaXggPSAnJztcbiAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3I7XG4gIHZhciB0cmFuc2l0aW9uQ2FsbGJhY2tzID0gbnVsbDtcblxuICBpZiAob3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICB7XG4gICAgICBpZiAob3B0aW9ucy5oeWRyYXRlKSB7XG4gICAgICAgIHdhcm4oJ2h5ZHJhdGUgdGhyb3VnaCBjcmVhdGVSb290IGlzIGRlcHJlY2F0ZWQuIFVzZSBSZWFjdERPTUNsaWVudC5oeWRyYXRlUm9vdChjb250YWluZXIsIDxBcHAgLz4pIGluc3RlYWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucy4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XG4gICAgICAgICAgZXJyb3IoJ1lvdSBwYXNzZWQgYSBKU1ggZWxlbWVudCB0byBjcmVhdGVSb290LiBZb3UgcHJvYmFibHkgbWVhbnQgdG8gJyArICdjYWxsIHJvb3QucmVuZGVyIGluc3RlYWQuICcgKyAnRXhhbXBsZSB1c2FnZTpcXG5cXG4nICsgJyAgbGV0IHJvb3QgPSBjcmVhdGVSb290KGRvbUNvbnRhaW5lcik7XFxuJyArICcgIHJvb3QucmVuZGVyKDxBcHAgLz4pOycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfc3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgaXNTdHJpY3RNb2RlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pZGVudGlmaWVyUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpZXJQcmVmaXggPSBvcHRpb25zLmlkZW50aWZpZXJQcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uUmVjb3ZlcmFibGVFcnJvciA9IG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnRyYW5zaXRpb25DYWxsYmFja3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHJhbnNpdGlvbkNhbGxiYWNrcyA9IG9wdGlvbnMudHJhbnNpdGlvbkNhbGxiYWNrcztcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXIsIENvbmN1cnJlbnRSb290LCBudWxsLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcik7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuICB2YXIgcm9vdENvbnRhaW5lckVsZW1lbnQgPSBjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IGNvbnRhaW5lci5wYXJlbnROb2RlIDogY29udGFpbmVyO1xuICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhyb290Q29udGFpbmVyRWxlbWVudCk7XG4gIHJldHVybiBuZXcgUmVhY3RET01Sb290KHJvb3QpO1xufVxuXG5mdW5jdGlvbiBSZWFjdERPTUh5ZHJhdGlvblJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVIeWRyYXRpb24odGFyZ2V0KSB7XG4gIGlmICh0YXJnZXQpIHtcbiAgICBxdWV1ZUV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KHRhcmdldCk7XG4gIH1cbn1cblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbiA9IHNjaGVkdWxlSHlkcmF0aW9uO1xuZnVuY3Rpb24gaHlkcmF0ZVJvb3QoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIG9wdGlvbnMpIHtcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lcikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2h5ZHJhdGVSb290KC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB3YXJuSWZSZWFjdERPTUNvbnRhaW5lckluREVWKGNvbnRhaW5lcik7XG5cbiAge1xuICAgIGlmIChpbml0aWFsQ2hpbGRyZW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgZXJyb3IoJ011c3QgcHJvdmlkZSBpbml0aWFsIGNoaWxkcmVuIGFzIHNlY29uZCBhcmd1bWVudCB0byBoeWRyYXRlUm9vdC4gJyArICdFeGFtcGxlIHVzYWdlOiBoeWRyYXRlUm9vdChkb21Db250YWluZXIsIDxBcHAgLz4pJyk7XG4gICAgfVxuICB9IC8vIEZvciBub3cgd2UgcmV1c2UgdGhlIHdob2xlIGJhZyBvZiBvcHRpb25zIHNpbmNlIHRoZXkgY29udGFpblxuICAvLyB0aGUgaHlkcmF0aW9uIGNhbGxiYWNrcy5cblxuXG4gIHZhciBoeWRyYXRpb25DYWxsYmFja3MgPSBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogbnVsbDsgLy8gVE9ETzogRGVsZXRlIHRoaXMgb3B0aW9uXG5cbiAgdmFyIG11dGFibGVTb3VyY2VzID0gb3B0aW9ucyAhPSBudWxsICYmIG9wdGlvbnMuaHlkcmF0ZWRTb3VyY2VzIHx8IG51bGw7XG4gIHZhciBpc1N0cmljdE1vZGUgPSBmYWxzZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUgPSBmYWxzZTtcbiAgdmFyIGlkZW50aWZpZXJQcmVmaXggPSAnJztcbiAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3I7XG5cbiAgaWYgKG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfc3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgaXNTdHJpY3RNb2RlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pZGVudGlmaWVyUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpZXJQcmVmaXggPSBvcHRpb25zLmlkZW50aWZpZXJQcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uUmVjb3ZlcmFibGVFcnJvciA9IG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHZhciByb290ID0gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgbnVsbCwgY29udGFpbmVyLCBDb25jdXJyZW50Um9vdCwgaHlkcmF0aW9uQ2FsbGJhY2tzLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcik7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpOyAvLyBUaGlzIGNhbid0IGJlIGEgY29tbWVudCBub2RlIHNpbmNlIGh5ZHJhdGlvbiBkb2Vzbid0IHdvcmsgb24gY29tbWVudCBub2RlcyBhbnl3YXkuXG5cbiAgbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMoY29udGFpbmVyKTtcblxuICBpZiAobXV0YWJsZVNvdXJjZXMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG11dGFibGVTb3VyY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgbXV0YWJsZVNvdXJjZSA9IG11dGFibGVTb3VyY2VzW2ldO1xuICAgICAgcmVnaXN0ZXJNdXRhYmxlU291cmNlRm9ySHlkcmF0aW9uKHJvb3QsIG11dGFibGVTb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgUmVhY3RET01IeWRyYXRpb25Sb290KHJvb3QpO1xufVxuZnVuY3Rpb24gaXNWYWxpZENvbnRhaW5lcihub2RlKSB7XG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8ICFkaXNhYmxlQ29tbWVudHNBc0RPTUNvbnRhaW5lcnMgICkpO1xufSAvLyBUT0RPOiBSZW1vdmUgdGhpcyBmdW5jdGlvbiB3aGljaCBhbHNvIGluY2x1ZGVzIGNvbW1lbnQgbm9kZXMuXG4vLyBXZSBvbmx5IHVzZSBpdCBpbiBwbGFjZXMgdGhhdCBhcmUgY3VycmVudGx5IG1vcmUgcmVsYXhlZC5cblxuZnVuY3Rpb24gaXNWYWxpZENvbnRhaW5lckxlZ2FjeShub2RlKSB7XG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBub2RlLm5vZGVWYWx1ZSA9PT0gJyByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAnKSk7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlJlYWN0RE9NQ29udGFpbmVySW5ERVYoY29udGFpbmVyKSB7XG4gIHtcbiAgICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgJiYgY29udGFpbmVyLnRhZ05hbWUgJiYgY29udGFpbmVyLnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gJ0JPRFknKSB7XG4gICAgICBlcnJvcignY3JlYXRlUm9vdCgpOiBDcmVhdGluZyByb290cyBkaXJlY3RseSB3aXRoIGRvY3VtZW50LmJvZHkgaXMgJyArICdkaXNjb3VyYWdlZCwgc2luY2UgaXRzIGNoaWxkcmVuIGFyZSBvZnRlbiBtYW5pcHVsYXRlZCBieSB0aGlyZC1wYXJ0eSAnICsgJ3NjcmlwdHMgYW5kIGJyb3dzZXIgZXh0ZW5zaW9ucy4gVGhpcyBtYXkgbGVhZCB0byBzdWJ0bGUgJyArICdyZWNvbmNpbGlhdGlvbiBpc3N1ZXMuIFRyeSB1c2luZyBhIGNvbnRhaW5lciBlbGVtZW50IGNyZWF0ZWQgJyArICdmb3IgeW91ciBhcHAuJyk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikpIHtcbiAgICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcikge1xuICAgICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NLnJlbmRlcigpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKSBvbiBhIGNvbnRhaW5lciB0aGF0ICcgKyAnaGFzIGFscmVhZHkgYmVlbiBwYXNzZWQgdG8gY3JlYXRlUm9vdCgpIGJlZm9yZS4gSW5zdGVhZCwgY2FsbCAnICsgJ3Jvb3QucmVuZGVyKCkgb24gdGhlIGV4aXN0aW5nIHJvb3QgaW5zdGVhZCBpZiB5b3Ugd2FudCB0byB1cGRhdGUgaXQuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgdG9wTGV2ZWxVcGRhdGVXYXJuaW5ncztcblxue1xuICB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzID0gZnVuY3Rpb24gKGNvbnRhaW5lcikge1xuICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lciAmJiBjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyLmN1cnJlbnQpO1xuXG4gICAgICBpZiAoaG9zdEluc3RhbmNlKSB7XG4gICAgICAgIGlmIChob3N0SW5zdGFuY2UucGFyZW50Tm9kZSAhPT0gY29udGFpbmVyKSB7XG4gICAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBJdCBsb29rcyBsaWtlIHRoZSBSZWFjdC1yZW5kZXJlZCBjb250ZW50IG9mIHRoaXMgJyArICdjb250YWluZXIgd2FzIHJlbW92ZWQgd2l0aG91dCB1c2luZyBSZWFjdC4gVGhpcyBpcyBub3QgJyArICdzdXBwb3J0ZWQgYW5kIHdpbGwgY2F1c2UgZXJyb3JzLiBJbnN0ZWFkLCBjYWxsICcgKyAnUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSB0byBlbXB0eSBhIGNvbnRhaW5lci4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBpc1Jvb3RSZW5kZXJlZEJ5U29tZVJlYWN0ID0gISFjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcbiAgICB2YXIgcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG4gICAgdmFyIGhhc05vblJvb3RSZWFjdENoaWxkID0gISEocm9vdEVsICYmIGdldEluc3RhbmNlRnJvbU5vZGUocm9vdEVsKSk7XG5cbiAgICBpZiAoaGFzTm9uUm9vdFJlYWN0Q2hpbGQgJiYgIWlzUm9vdFJlbmRlcmVkQnlTb21lUmVhY3QpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoLi4uKTogUmVwbGFjaW5nIFJlYWN0LXJlbmRlcmVkIGNoaWxkcmVuIHdpdGggYSBuZXcgcm9vdCAnICsgJ2NvbXBvbmVudC4gSWYgeW91IGludGVuZGVkIHRvIHVwZGF0ZSB0aGUgY2hpbGRyZW4gb2YgdGhpcyBub2RlLCAnICsgJ3lvdSBzaG91bGQgaW5zdGVhZCBoYXZlIHRoZSBleGlzdGluZyBjaGlsZHJlbiB1cGRhdGUgdGhlaXIgc3RhdGUgJyArICdhbmQgcmVuZGVyIHRoZSBuZXcgY29tcG9uZW50cyBpbnN0ZWFkIG9mIGNhbGxpbmcgUmVhY3RET00ucmVuZGVyLicpO1xuICAgIH1cblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiBjb250YWluZXIudGFnTmFtZSAmJiBjb250YWluZXIudGFnTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnQk9EWScpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoKTogUmVuZGVyaW5nIGNvbXBvbmVudHMgZGlyZWN0bHkgaW50byBkb2N1bWVudC5ib2R5IGlzICcgKyAnZGlzY291cmFnZWQsIHNpbmNlIGl0cyBjaGlsZHJlbiBhcmUgb2Z0ZW4gbWFuaXB1bGF0ZWQgYnkgdGhpcmQtcGFydHkgJyArICdzY3JpcHRzIGFuZCBicm93c2VyIGV4dGVuc2lvbnMuIFRoaXMgbWF5IGxlYWQgdG8gc3VidGxlICcgKyAncmVjb25jaWxpYXRpb24gaXNzdWVzLiBUcnkgcmVuZGVyaW5nIGludG8gYSBjb250YWluZXIgZWxlbWVudCBjcmVhdGVkICcgKyAnZm9yIHlvdXIgYXBwLicpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoIWNvbnRhaW5lcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSkge1xuICAgIHJldHVybiBjb250YWluZXIuZG9jdW1lbnRFbGVtZW50O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb250YWluZXIuZmlyc3RDaGlsZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBub29wT25SZWNvdmVyYWJsZUVycm9yKCkgey8vIFRoaXMgaXNuJ3QgcmVhY2hhYmxlIGJlY2F1c2Ugb25SZWNvdmVyYWJsZUVycm9yIGlzbid0IGNhbGxlZCBpbiB0aGVcbiAgLy8gbGVnYWN5IEFQSS5cbn1cblxuZnVuY3Rpb24gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2ssIGlzSHlkcmF0aW9uQ29udGFpbmVyKSB7XG4gIGlmIChpc0h5ZHJhdGlvbkNvbnRhaW5lcikge1xuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBvcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRQdWJsaWNSb290SW5zdGFuY2Uocm9vdCk7XG4gICAgICAgIG9yaWdpbmFsQ2FsbGJhY2suY2FsbChpbnN0YW5jZSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciByb290ID0gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgY2FsbGJhY2ssIGNvbnRhaW5lciwgTGVnYWN5Um9vdCwgbnVsbCwgLy8gaHlkcmF0aW9uQ2FsbGJhY2tzXG4gICAgZmFsc2UsIC8vIGlzU3RyaWN0TW9kZVxuICAgIGZhbHNlLCAvLyBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLFxuICAgICcnLCAvLyBpZGVudGlmaWVyUHJlZml4XG4gICAgbm9vcE9uUmVjb3ZlcmFibGVFcnJvcik7XG4gICAgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPSByb290O1xuICAgIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuICAgIHZhciByb290Q29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gY29udGFpbmVyLnBhcmVudE5vZGUgOiBjb250YWluZXI7XG4gICAgbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMocm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgIGZsdXNoU3luYygpO1xuICAgIHJldHVybiByb290O1xuICB9IGVsc2Uge1xuICAgIC8vIEZpcnN0IGNsZWFyIGFueSBleGlzdGluZyBjb250ZW50LlxuICAgIHZhciByb290U2libGluZztcblxuICAgIHdoaWxlIChyb290U2libGluZyA9IGNvbnRhaW5lci5sYXN0Q2hpbGQpIHtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVDaGlsZChyb290U2libGluZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIF9vcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRQdWJsaWNSb290SW5zdGFuY2UoX3Jvb3QpO1xuXG4gICAgICAgIF9vcmlnaW5hbENhbGxiYWNrLmNhbGwoaW5zdGFuY2UpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX3Jvb3QgPSBjcmVhdGVDb250YWluZXIoY29udGFpbmVyLCBMZWdhY3lSb290LCBudWxsLCAvLyBoeWRyYXRpb25DYWxsYmFja3NcbiAgICBmYWxzZSwgLy8gaXNTdHJpY3RNb2RlXG4gICAgZmFsc2UsIC8vIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsXG4gICAgJycsIC8vIGlkZW50aWZpZXJQcmVmaXhcbiAgICBub29wT25SZWNvdmVyYWJsZUVycm9yKTtcblxuICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gX3Jvb3Q7XG4gICAgbWFya0NvbnRhaW5lckFzUm9vdChfcm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuXG4gICAgdmFyIF9yb290Q29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gY29udGFpbmVyLnBhcmVudE5vZGUgOiBjb250YWluZXI7XG5cbiAgICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhfcm9vdENvbnRhaW5lckVsZW1lbnQpOyAvLyBJbml0aWFsIG1vdW50IHNob3VsZCBub3QgYmUgYmF0Y2hlZC5cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVDb250YWluZXIoaW5pdGlhbENoaWxkcmVuLCBfcm9vdCwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjayk7XG4gICAgfSk7XG4gICAgcmV0dXJuIF9yb290O1xuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkludmFsaWRDYWxsYmFjayQxKGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwgJiYgdHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXMoLi4uKTogRXhwZWN0ZWQgdGhlIGxhc3Qgb3B0aW9uYWwgYGNhbGxiYWNrYCBhcmd1bWVudCB0byBiZSBhICcgKyAnZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNhbGxlck5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbGVnYWN5UmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBjaGlsZHJlbiwgY29udGFpbmVyLCBmb3JjZUh5ZHJhdGUsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzKGNvbnRhaW5lcik7XG4gICAgd2Fybk9uSW52YWxpZENhbGxiYWNrJDEoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjYWxsYmFjaywgJ3JlbmRlcicpO1xuICB9XG5cbiAgdmFyIG1heWJlUm9vdCA9IGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyO1xuICB2YXIgcm9vdDtcblxuICBpZiAoIW1heWJlUm9vdCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICByb290ID0gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBjaGlsZHJlbiwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjaywgZm9yY2VIeWRyYXRlKTtcbiAgfSBlbHNlIHtcbiAgICByb290ID0gbWF5YmVSb290O1xuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIG9yaWdpbmFsQ2FsbGJhY2sgPSBjYWxsYmFjaztcblxuICAgICAgY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGdldFB1YmxpY1Jvb3RJbnN0YW5jZShyb290KTtcbiAgICAgICAgb3JpZ2luYWxDYWxsYmFjay5jYWxsKGluc3RhbmNlKTtcbiAgICAgIH07XG4gICAgfSAvLyBVcGRhdGVcblxuXG4gICAgdXBkYXRlQ29udGFpbmVyKGNoaWxkcmVuLCByb290LCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHJldHVybiBnZXRQdWJsaWNSb290SW5zdGFuY2Uocm9vdCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRET01Ob2RlKGNvbXBvbmVudE9yRWxlbWVudCkge1xuICB7XG4gICAgdmFyIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIkMy5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIHdhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gb3duZXIuc3RhdGVOb2RlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlcjtcblxuICAgICAgaWYgKCF3YXJuZWRBYm91dFJlZnNJblJlbmRlcikge1xuICAgICAgICBlcnJvcignJXMgaXMgYWNjZXNzaW5nIGZpbmRET01Ob2RlIGluc2lkZSBpdHMgcmVuZGVyKCkuICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUob3duZXIudHlwZSkgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIG93bmVyLnN0YXRlTm9kZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb21wb25lbnRPckVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbXBvbmVudE9yRWxlbWVudC5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgcmV0dXJuIGNvbXBvbmVudE9yRWxlbWVudDtcbiAgfVxuXG4gIHtcbiAgICByZXR1cm4gZmluZEhvc3RJbnN0YW5jZVdpdGhXYXJuaW5nKGNvbXBvbmVudE9yRWxlbWVudCwgJ2ZpbmRET01Ob2RlJyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGh5ZHJhdGUoZWxlbWVudCwgY29udGFpbmVyLCBjYWxsYmFjaykge1xuICB7XG4gICAgZXJyb3IoJ1JlYWN0RE9NLmh5ZHJhdGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBpbiBSZWFjdCAxOC4gVXNlIGh5ZHJhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLmh5ZHJhdGUoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBjYWxsIGh5ZHJhdGVSb290KGNvbnRhaW5lciwgZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9IC8vIFRPRE86IHRocm93IG9yIHdhcm4gaWYgd2UgY291bGRuJ3QgaHlkcmF0ZT9cblxuXG4gIHJldHVybiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBlbGVtZW50LCBjb250YWluZXIsIHRydWUsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHJlbmRlcihlbGVtZW50LCBjb250YWluZXIsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBlcnJvcignUmVhY3RET00ucmVuZGVyIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgaW4gUmVhY3QgMTguIFVzZSBjcmVhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLnJlbmRlcigpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET01DbGllbnQuY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnRGlkIHlvdSBtZWFuIHRvIGNhbGwgcm9vdC5yZW5kZXIoZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAge1xuICAgIGVycm9yKCdSZWFjdERPTS51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcigpIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgJyArICdpbiBSZWFjdCAxOC4gQ29uc2lkZXIgdXNpbmcgYSBwb3J0YWwgaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byAnICsgXCJ0aGUgY3JlYXRlUm9vdCBBUEksIHlvdXIgYXBwIHdpbGwgYmVoYXZlIGFzIGlmIGl0J3MgcnVubmluZyBSZWFjdCBcIiArICcxNy4gTGVhcm4gbW9yZTogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N3aXRjaC10by1jcmVhdGVyb290Jyk7XG4gIH1cblxuICBpZiAoIWlzVmFsaWRDb250YWluZXJMZWdhY3koY29udGFpbmVyTm9kZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICBpZiAocGFyZW50Q29tcG9uZW50ID09IG51bGwgfHwgIWhhcyhwYXJlbnRDb21wb25lbnQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwYXJlbnRDb21wb25lbnQgbXVzdCBiZSBhIHZhbGlkIFJlYWN0IENvbXBvbmVudCcpO1xuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVubW91bnRDb21wb25lbnRBdE5vZGUoY29udGFpbmVyKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bm1vdW50Q29tcG9uZW50QXROb2RlKC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB7XG4gICAgdmFyIGlzTW9kZXJuUm9vdCA9IGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikgJiYgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZDtcblxuICAgIGlmIChpc01vZGVyblJvb3QpIHtcbiAgICAgIGVycm9yKCdZb3UgYXJlIGNhbGxpbmcgUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSgpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET01DbGllbnQuY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIERpZCB5b3UgbWVhbiB0byBjYWxsIHJvb3QudW5tb3VudCgpPycpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcikge1xuICAgIHtcbiAgICAgIHZhciByb290RWwgPSBnZXRSZWFjdFJvb3RFbGVtZW50SW5Db250YWluZXIoY29udGFpbmVyKTtcbiAgICAgIHZhciByZW5kZXJlZEJ5RGlmZmVyZW50UmVhY3QgPSByb290RWwgJiYgIWdldEluc3RhbmNlRnJvbU5vZGUocm9vdEVsKTtcblxuICAgICAgaWYgKHJlbmRlcmVkQnlEaWZmZXJlbnRSZWFjdCkge1xuICAgICAgICBlcnJvcihcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcIiArICd3YXMgcmVuZGVyZWQgYnkgYW5vdGhlciBjb3B5IG9mIFJlYWN0LicpO1xuICAgICAgfVxuICAgIH0gLy8gVW5tb3VudCBzaG91bGQgbm90IGJlIGJhdGNoZWQuXG5cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBudWxsLCBjb250YWluZXIsIGZhbHNlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgVGhpcyBzaG91bGQgcHJvYmFibHkgdXNlIGBkZWxldGUgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXJgXG4gICAgICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gbnVsbDtcbiAgICAgICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XG4gICAgICB9KTtcbiAgICB9KTsgLy8gSWYgeW91IGNhbGwgdW5tb3VudENvbXBvbmVudEF0Tm9kZSB0d2ljZSBpbiBxdWljayBzdWNjZXNzaW9uLCB5b3UnbGxcbiAgICAvLyBnZXQgYHRydWVgIHR3aWNlLiBUaGF0J3MgcHJvYmFibHkgZmluZT9cblxuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHtcbiAgICAgIHZhciBfcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG5cbiAgICAgIHZhciBoYXNOb25Sb290UmVhY3RDaGlsZCA9ICEhKF9yb290RWwgJiYgZ2V0SW5zdGFuY2VGcm9tTm9kZShfcm9vdEVsKSk7IC8vIENoZWNrIGlmIHRoZSBjb250YWluZXIgaXRzZWxmIGlzIGEgUmVhY3Qgcm9vdCBub2RlLlxuXG4gICAgICB2YXIgaXNDb250YWluZXJSZWFjdFJvb3QgPSBjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiBpc1ZhbGlkQ29udGFpbmVyTGVnYWN5KGNvbnRhaW5lci5wYXJlbnROb2RlKSAmJiAhIWNvbnRhaW5lci5wYXJlbnROb2RlLl9yZWFjdFJvb3RDb250YWluZXI7XG5cbiAgICAgIGlmIChoYXNOb25Sb290UmVhY3RDaGlsZCkge1xuICAgICAgICBlcnJvcihcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcIiArICd3YXMgcmVuZGVyZWQgYnkgUmVhY3QgYW5kIGlzIG5vdCBhIHRvcC1sZXZlbCBjb250YWluZXIuICVzJywgaXNDb250YWluZXJSZWFjdFJvb3QgPyAnWW91IG1heSBoYXZlIGFjY2lkZW50YWxseSBwYXNzZWQgaW4gYSBSZWFjdCByb290IG5vZGUgaW5zdGVhZCAnICsgJ29mIGl0cyBjb250YWluZXIuJyA6ICdJbnN0ZWFkLCBoYXZlIHRoZSBwYXJlbnQgY29tcG9uZW50IHVwZGF0ZSBpdHMgc3RhdGUgYW5kICcgKyAncmVyZW5kZXIgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoaXMgY29tcG9uZW50LicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5zZXRBdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb24oYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uJDEpO1xuc2V0QXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24kMSk7XG5zZXRBdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkoYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5JDEpO1xuc2V0R2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSk7XG5zZXRBdHRlbXB0SHlkcmF0aW9uQXRQcmlvcml0eShydW5XaXRoUHJpb3JpdHkpO1xuXG57XG4gIGlmICh0eXBlb2YgTWFwICE9PSAnZnVuY3Rpb24nIHx8IC8vICRGbG93SXNzdWUgRmxvdyBpbmNvcnJlY3RseSB0aGlua3MgTWFwIGhhcyBubyBwcm90b3R5cGVcbiAgTWFwLnByb3RvdHlwZSA9PSBudWxsIHx8IHR5cGVvZiBNYXAucHJvdG90eXBlLmZvckVhY2ggIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIFNldCAhPT0gJ2Z1bmN0aW9uJyB8fCAvLyAkRmxvd0lzc3VlIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFNldCBoYXMgbm8gcHJvdG90eXBlXG4gIFNldC5wcm90b3R5cGUgPT0gbnVsbCB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5jbGVhciAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5mb3JFYWNoICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgZXJyb3IoJ1JlYWN0IGRlcGVuZHMgb24gTWFwIGFuZCBTZXQgYnVpbHQtaW4gdHlwZXMuIE1ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGEgJyArICdwb2x5ZmlsbCBpbiBvbGRlciBicm93c2Vycy4gaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3JlYWN0LXBvbHlmaWxscycpO1xuICB9XG59XG5cbnNldFJlc3RvcmVJbXBsZW1lbnRhdGlvbihyZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMpO1xuc2V0QmF0Y2hpbmdJbXBsZW1lbnRhdGlvbihiYXRjaGVkVXBkYXRlcyQxLCBkaXNjcmV0ZVVwZGF0ZXMsIGZsdXNoU3luYyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVBvcnRhbCQxKGNoaWxkcmVuLCBjb250YWluZXIpIHtcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogbnVsbDtcblxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGFyZ2V0IGNvbnRhaW5lciBpcyBub3QgYSBET00gZWxlbWVudC4nKTtcbiAgfSAvLyBUT0RPOiBwYXNzIFJlYWN0RE9NIHBvcnRhbCBpbXBsZW1lbnRhdGlvbiBhcyB0aGlyZCBhcmd1bWVudFxuICAvLyAkRmxvd0ZpeE1lIFRoZSBGbG93IHR5cGUgaXMgb3BhcXVlIGJ1dCB0aGVyZSdzIG5vIHdheSB0byBhY3R1YWxseSBjcmVhdGUgaXQuXG5cblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBjb250YWluZXIsIG51bGwsIGtleSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAgcmV0dXJuIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spO1xufVxuXG52YXIgSW50ZXJuYWxzID0ge1xuICB1c2luZ0NsaWVudEVudHJ5UG9pbnQ6IGZhbHNlLFxuICAvLyBLZWVwIGluIHN5bmMgd2l0aCBSZWFjdFRlc3RVdGlscy5qcy5cbiAgLy8gVGhpcyBpcyBhbiBhcnJheSBmb3IgYmV0dGVyIG1pbmlmaWNhdGlvbi5cbiAgRXZlbnRzOiBbZ2V0SW5zdGFuY2VGcm9tTm9kZSwgZ2V0Tm9kZUZyb21JbnN0YW5jZSwgZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZSwgZW5xdWV1ZVN0YXRlUmVzdG9yZSwgcmVzdG9yZVN0YXRlSWZOZWVkZWQsIGJhdGNoZWRVcGRhdGVzJDFdXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVSb290JDEoY29udGFpbmVyLCBvcHRpb25zKSB7XG4gIHtcbiAgICBpZiAoIUludGVybmFscy51c2luZ0NsaWVudEVudHJ5UG9pbnQgJiYgIWZhbHNlKSB7XG4gICAgICBlcnJvcignWW91IGFyZSBpbXBvcnRpbmcgY3JlYXRlUm9vdCBmcm9tIFwicmVhY3QtZG9tXCIgd2hpY2ggaXMgbm90IHN1cHBvcnRlZC4gJyArICdZb3Ugc2hvdWxkIGluc3RlYWQgaW1wb3J0IGl0IGZyb20gXCJyZWFjdC1kb20vY2xpZW50XCIuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVJvb3QoY29udGFpbmVyLCBvcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gaHlkcmF0ZVJvb3QkMShjb250YWluZXIsIGluaXRpYWxDaGlsZHJlbiwgb3B0aW9ucykge1xuICB7XG4gICAgaWYgKCFJbnRlcm5hbHMudXNpbmdDbGllbnRFbnRyeVBvaW50ICYmICFmYWxzZSkge1xuICAgICAgZXJyb3IoJ1lvdSBhcmUgaW1wb3J0aW5nIGh5ZHJhdGVSb290IGZyb20gXCJyZWFjdC1kb21cIiB3aGljaCBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1lvdSBzaG91bGQgaW5zdGVhZCBpbXBvcnQgaXQgZnJvbSBcInJlYWN0LWRvbS9jbGllbnRcIi4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaHlkcmF0ZVJvb3QoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIG9wdGlvbnMpO1xufSAvLyBPdmVybG9hZCB0aGUgZGVmaW5pdGlvbiB0byB0aGUgdHdvIHZhbGlkIHNpZ25hdHVyZXMuXG4vLyBXYXJuaW5nLCB0aGlzIG9wdHMtb3V0IG9mIGNoZWNraW5nIHRoZSBmdW5jdGlvbiBib2R5LlxuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmZ1bmN0aW9uIGZsdXNoU3luYyQxKGZuKSB7XG4gIHtcbiAgICBpZiAoaXNBbHJlYWR5UmVuZGVyaW5nKCkpIHtcbiAgICAgIGVycm9yKCdmbHVzaFN5bmMgd2FzIGNhbGxlZCBmcm9tIGluc2lkZSBhIGxpZmVjeWNsZSBtZXRob2QuIFJlYWN0IGNhbm5vdCAnICsgJ2ZsdXNoIHdoZW4gUmVhY3QgaXMgYWxyZWFkeSByZW5kZXJpbmcuIENvbnNpZGVyIG1vdmluZyB0aGlzIGNhbGwgdG8gJyArICdhIHNjaGVkdWxlciB0YXNrIG9yIG1pY3JvIHRhc2suJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZsdXNoU3luYyhmbik7XG59XG52YXIgZm91bmREZXZUb29scyA9IGluamVjdEludG9EZXZUb29scyh7XG4gIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOiBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSxcbiAgYnVuZGxlVHlwZTogIDEgLFxuICB2ZXJzaW9uOiBSZWFjdFZlcnNpb24sXG4gIHJlbmRlcmVyUGFja2FnZU5hbWU6ICdyZWFjdC1kb20nXG59KTtcblxue1xuICBpZiAoIWZvdW5kRGV2VG9vbHMgJiYgY2FuVXNlRE9NICYmIHdpbmRvdy50b3AgPT09IHdpbmRvdy5zZWxmKSB7XG4gICAgLy8gSWYgd2UncmUgaW4gQ2hyb21lIG9yIEZpcmVmb3gsIHByb3ZpZGUgYSBkb3dubG9hZCBsaW5rIGlmIG5vdCBpbnN0YWxsZWQuXG4gICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignQ2hyb21lJykgPiAtMSAmJiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0VkZ2UnKSA9PT0gLTEgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdGaXJlZm94JykgPiAtMSkge1xuICAgICAgdmFyIHByb3RvY29sID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sOyAvLyBEb24ndCB3YXJuIGluIGV4b3RpYyBjYXNlcyBsaWtlIGNocm9tZS1leHRlbnNpb246Ly8uXG5cbiAgICAgIGlmICgvXihodHRwcz98ZmlsZSk6JC8udGVzdChwcm90b2NvbCkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuICAgICAgICBjb25zb2xlLmluZm8oJyVjRG93bmxvYWQgdGhlIFJlYWN0IERldlRvb2xzICcgKyAnZm9yIGEgYmV0dGVyIGRldmVsb3BtZW50IGV4cGVyaWVuY2U6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3JlYWN0LWRldnRvb2xzJyArIChwcm90b2NvbCA9PT0gJ2ZpbGU6JyA/ICdcXG5Zb3UgbWlnaHQgbmVlZCB0byB1c2UgYSBsb2NhbCBIVFRQIHNlcnZlciAoaW5zdGVhZCBvZiBmaWxlOi8vKTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVhY3QtZGV2dG9vbHMtZmFxJyA6ICcnKSwgJ2ZvbnQtd2VpZ2h0OmJvbGQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9IEludGVybmFscztcbmV4cG9ydHMuY3JlYXRlUG9ydGFsID0gY3JlYXRlUG9ydGFsJDE7XG5leHBvcnRzLmNyZWF0ZVJvb3QgPSBjcmVhdGVSb290JDE7XG5leHBvcnRzLmZpbmRET01Ob2RlID0gZmluZERPTU5vZGU7XG5leHBvcnRzLmZsdXNoU3luYyA9IGZsdXNoU3luYyQxO1xuZXhwb3J0cy5oeWRyYXRlID0gaHlkcmF0ZTtcbmV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBoeWRyYXRlUm9vdCQxO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnVubW91bnRDb21wb25lbnRBdE5vZGUgPSB1bm1vdW50Q29tcG9uZW50QXROb2RlO1xuZXhwb3J0cy51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyA9IGJhdGNoZWRVcGRhdGVzJDE7XG5leHBvcnRzLnVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyID0gcmVuZGVyU3VidHJlZUludG9Db250YWluZXI7XG5leHBvcnRzLnZlcnNpb24gPSBSZWFjdFZlcnNpb247XG4gICAgICAgICAgLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdG9wID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AobmV3IEVycm9yKCkpO1xufVxuICAgICAgICBcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/index.js": -/*!*****************************************!*\ - !*** ./node_modules/react-dom/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (true) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ \"./node_modules/react-dom/cjs/react-dom.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUksS0FBcUMsRUFBRSxFQUsxQyxDQUFDO0FBQ0YsRUFBRSxtSUFBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9pbmRleC5qcz83NzIyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gY2hlY2tEQ0UoKSB7XG4gIC8qIGdsb2JhbCBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gKi9cbiAgaWYgKFxuICAgIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnIHx8XG4gICAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSAhPT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAvLyBUaGlzIGJyYW5jaCBpcyB1bnJlYWNoYWJsZSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWRcbiAgICAvLyBpbiBwcm9kdWN0aW9uLCBidXQgdGhlIGNvbmRpdGlvbiBpcyB0cnVlIG9ubHkgaW4gZGV2ZWxvcG1lbnQuXG4gICAgLy8gVGhlcmVmb3JlIGlmIHRoZSBicmFuY2ggaXMgc3RpbGwgaGVyZSwgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdhc24ndFxuICAgIC8vIHByb3Blcmx5IGFwcGxpZWQuXG4gICAgLy8gRG9uJ3QgY2hhbmdlIHRoZSBtZXNzYWdlLiBSZWFjdCBEZXZUb29scyByZWxpZXMgb24gaXQuIEFsc28gbWFrZSBzdXJlXG4gICAgLy8gdGhpcyBtZXNzYWdlIGRvZXNuJ3Qgb2NjdXIgZWxzZXdoZXJlIGluIHRoaXMgZnVuY3Rpb24sIG9yIGl0IHdpbGwgY2F1c2VcbiAgICAvLyBhIGZhbHNlIHBvc2l0aXZlLlxuICAgIHRocm93IG5ldyBFcnJvcignXl9eJyk7XG4gIH1cbiAgdHJ5IHtcbiAgICAvLyBWZXJpZnkgdGhhdCB0aGUgY29kZSBhYm92ZSBoYXMgYmVlbiBkZWFkIGNvZGUgZWxpbWluYXRlZCAoRENFJ2QpLlxuICAgIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShjaGVja0RDRSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIERldlRvb2xzIHNob3VsZG4ndCBjcmFzaCBSZWFjdCwgbm8gbWF0dGVyIHdoYXQuXG4gICAgLy8gV2Ugc2hvdWxkIHN0aWxsIHJlcG9ydCBpbiBjYXNlIHdlIGJyZWFrIHRoaXMgY29kZS5cbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gIH1cbn1cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgLy8gRENFIGNoZWNrIHNob3VsZCBoYXBwZW4gYmVmb3JlIFJlYWN0RE9NIGJ1bmRsZSBleGVjdXRlcyBzbyB0aGF0XG4gIC8vIERldlRvb2xzIGNhbiByZXBvcnQgYmFkIG1pbmlmaWNhdGlvbiBkdXJpbmcgaW5qZWN0aW9uLlxuICBjaGVja0RDRSgpO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react/cjs/react-jsx-runtime.development.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react/cjs/react-jsx-runtime.development.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-runtime.development.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\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7O0FBRUEsWUFBWSxtQkFBTyxDQUFDLDRDQUFPOztBQUUzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7O0FBRUEsZ0NBQWdDOztBQUVoQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FB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Q0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkhBQTJIO0FBQzNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsb0VBQW9FOztBQUVwRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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RUE7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHFCQUFxQjtBQUNqRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7QUFDdEM7O0FBRUE7O0FBRUEsZ0JBQWdCO0FBQ2hCLFdBQVc7QUFDWCxZQUFZO0FBQ1osR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC9janMvcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanM/MmZjMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1qc3gtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7XG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubGF6eScpO1xudmFyIFJFQUNUX09GRlNDUkVFTl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Qub2Zmc2NyZWVuJyk7XG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIHtcbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcobGV2ZWwsIGZvcm1hdCwgYXJncykge1xuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cbiAgLy8gdXBkYXRlIGNvbnNvbGVXaXRoU3RhY2tEZXYud3d3LmpzIGFzIHdlbGwuXG4gIHtcbiAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICBpZiAoc3RhY2sgIT09ICcnKSB7XG4gICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtKTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRTtcblxue1xuICBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QubW9kdWxlLnJlZmVyZW5jZScpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkge1xuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gTm90ZTogdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgKGUuZy4gaWYgaXQncyBhIHBvbHlmaWxsKS5cblxuXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgZW5hYmxlRGVidWdUcmFjaW5nICB8fCB0eXBlID09PSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFIHx8IGVuYWJsZUxlZ2FjeUhpZGRlbiAgfHwgdHlwZSA9PT0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgfHwgZW5hYmxlU2NvcGVBUEkgIHx8IGVuYWJsZUNhY2hlRWxlbWVudCAgfHwgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICBpZiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFIHx8IHR5cGUuZ2V0TW9kdWxlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbnZhciByZWVudHJ5ID0gZmFsc2U7XG52YXIgY29tcG9uZW50RnJhbWVDYWNoZTtcblxue1xuICB2YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwO1xuICBjb21wb25lbnRGcmFtZUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICggIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICB2YXIgY29udHJvbDtcbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWUgSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7IC8vIFNldCB0aGUgZGlzcGF0Y2hlciBpbiBERVYgYmVjYXVzZSB0aGlzIG1pZ2h0IGJlIGNhbGwgaW4gdGhlIHJlbmRlciBmdW5jdGlvblxuICAgIC8vIGZvciB3YXJuaW5ncy5cblxuICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgZmFsc2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcbiAgdmFyIHByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4gIHJldHVybiAhIShwcm90b3R5cGUgJiYgcHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSwgc291cmNlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgc291cmNlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBzb3VyY2UsIG93bmVyRm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbnZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZWxlbWVudCkge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZSBUaGlzIGlzIG9rYXkgYnV0IEZsb3cgZG9lc24ndCBrbm93IGl0LlxuICAgIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoaGFzT3duUHJvcGVydHkpO1xuXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yJDEgPSB2b2lkIDA7IC8vIFByb3AgdHlwZSB2YWxpZGF0aW9uIG1heSB0aHJvdy4gSW4gY2FzZSB0aGV5IGRvLCB3ZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIGZhaWwgdGhlIHJlbmRlciBwaGFzZSB3aGVyZSBpdCBkaWRuJ3QgZmFpbCBiZWZvcmUuIFNvIHdlIGxvZyBpdC5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYXMgd2l0aG91dCB0aGlzIHN0YXRlbWVudCBleGNlcHQgd2l0aCBhIGJldHRlciBtZXNzYWdlLlxuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgICB2YXIgZXJyID0gRXJyb3IoKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyAnICsgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICsgJ2AuJyArICdUaGlzIG9mdGVuIGhhcHBlbnMgYmVjYXVzZSBvZiB0eXBvcyBzdWNoIGFzIGBQcm9wVHlwZXMuZnVuY3Rpb25gIGluc3RlYWQgb2YgYFByb3BUeXBlcy5mdW5jYC4nKTtcbiAgICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVycm9yJDEgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCcpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgIGVycm9yJDEgPSBleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxICYmICEoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJXMnICsgJyBgJXNgIGlzIGludmFsaWQ7IHRoZSB0eXBlIGNoZWNrZXIgJyArICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAlcy4gJyArICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICsgJ2NyZWF0b3IgKGFycmF5T2YsIGluc3RhbmNlT2YsIG9iamVjdE9mLCBvbmVPZiwgb25lT2ZUeXBlLCBhbmQgJyArICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJywgY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnLCBsb2NhdGlvbiwgdHlwZVNwZWNOYW1lLCB0eXBlb2YgZXJyb3IkMSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvciQxLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yJDEubWVzc2FnZV0gPSB0cnVlO1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJ0ZhaWxlZCAlcyB0eXBlOiAlcycsIGxvY2F0aW9uLCBlcnJvciQxLm1lc3NhZ2UpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vKlxuICogVGhlIGAnJyArIHZhbHVlYCBwYXR0ZXJuICh1c2VkIGluIGluIHBlcmYtc2Vuc2l0aXZlIGNvZGUpIHRocm93cyBmb3IgU3ltYm9sXG4gKiBhbmQgVGVtcG9yYWwuKiB0eXBlcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzIyMDY0LlxuICpcbiAqIFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlYXNpZXItdG8tdW5kZXJzdGFuZCxcbiAqIGVhc2llci10by1kZWJ1ZyBleGNlcHRpb24gd2l0aCBhIGNsZWFyIGVycm9ycyBtZXNzYWdlIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGVcbiAqIHByb2JsZW0uIChJbnN0ZWFkIG9mIGEgY29uZnVzaW5nIGV4Y2VwdGlvbiB0aHJvd24gaW5zaWRlIHRoZSBpbXBsZW1lbnRhdGlvblxuICogb2YgdGhlIGB2YWx1ZWAgb2JqZWN0KS5cbiAqL1xuLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cbmZ1bmN0aW9uIHR5cGVOYW1lKHZhbHVlKSB7XG4gIHtcbiAgICAvLyB0b1N0cmluZ1RhZyBpcyBuZWVkZWQgZm9yIG5hbWVzcGFjZWQgdHlwZXMgbGlrZSBUZW1wb3JhbC5JbnN0YW50XG4gICAgdmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wudG9TdHJpbmdUYWc7XG4gICAgdmFyIHR5cGUgPSBoYXNUb1N0cmluZ1RhZyAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIHx8IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHwgJ09iamVjdCc7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciBlbGVtZW50ID0ge1xuICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgLy8gQnVpbHQtaW4gcHJvcGVydGllcyB0aGF0IGJlbG9uZyBvbiB0aGUgZWxlbWVudFxuICAgIHR5cGU6IHR5cGUsXG4gICAga2V5OiBrZXksXG4gICAgcmVmOiByZWYsXG4gICAgcHJvcHM6IHByb3BzLFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgX293bmVyOiBvd25lclxuICB9O1xuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gc2VsZiBhbmQgc291cmNlIGFyZSBERVYgb25seSBwcm9wZXJ0aWVzLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzZWxmXG4gICAgfSk7IC8vIFR3byBlbGVtZW50cyBjcmVhdGVkIGluIHR3byBkaWZmZXJlbnQgcGxhY2VzIHNob3VsZCBiZSBjb25zaWRlcmVkXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zb3VyY2UnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc291cmNlXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59O1xuLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZmNzL3B1bGwvMTA3XG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICovXG5cbmZ1bmN0aW9uIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gICAgdmFyIHByb3BzID0ge307XG4gICAgdmFyIGtleSA9IG51bGw7XG4gICAgdmFyIHJlZiA9IG51bGw7IC8vIEN1cnJlbnRseSwga2V5IGNhbiBiZSBzcHJlYWQgaW4gYXMgYSBwcm9wLiBUaGlzIGNhdXNlcyBhIHBvdGVudGlhbFxuICAgIC8vIGlzc3VlIGlmIGtleSBpcyBhbHNvIGV4cGxpY2l0bHkgZGVjbGFyZWQgKGllLiA8ZGl2IHsuLi5wcm9wc30ga2V5PVwiSGlcIiAvPlxuICAgIC8vIG9yIDxkaXYga2V5PVwiSGlcIiB7Li4ucHJvcHN9IC8+ICkuIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGtleSBzcHJlYWQsXG4gICAgLy8gYnV0IGFzIGFuIGludGVybWVkaWFyeSBzdGVwLCB3ZSB3aWxsIHVzZSBqc3hERVYgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0XG4gICAgLy8gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz4sIGJlY2F1c2Ugd2UgYXJlbid0IGN1cnJlbnRseSBhYmxlIHRvIHRlbGwgaWZcbiAgICAvLyBrZXkgaXMgZXhwbGljaXRseSBkZWNsYXJlZCB0byBiZSB1bmRlZmluZWQgb3Igbm90LlxuXG4gICAgaWYgKG1heWJlS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihtYXliZUtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgbWF5YmVLZXk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZik7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gICAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICB2YXIgc3RhY2sgPSBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoZWxlbWVudC50eXBlLCBlbGVtZW50Ll9zb3VyY2UsIG93bmVyID8gb3duZXIudHlwZSA6IG51bGwpO1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKSB7XG4gIHtcbiAgICBpZiAoc291cmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcL10vLCAnJyk7XG4gICAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB5b3VyIGNvZGUgYXQgJyArIGZpbGVOYW1lICsgJzonICsgbGluZU51bWJlciArICcuJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gdHlwZW9mIHBhcmVudFR5cGUgPT09ICdzdHJpbmcnID8gcGFyZW50VHlwZSA6IHBhcmVudFR5cGUuZGlzcGxheU5hbWUgfHwgcGFyZW50VHlwZS5uYW1lO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10gPSB0cnVlOyAvLyBVc3VhbGx5IHRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBvZmZlbmRlciwgYnV0IGlmIGl0IGFjY2VwdHMgY2hpbGRyZW4gYXMgYVxuICAgIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgICB2YXIgY2hpbGRPd25lciA9ICcnO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICh0eXBlb2Ygbm9kZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZSkge1xuICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRW50cnkgaXRlcmF0b3JzIHVzZWQgdG8gcHJvdmlkZSBpbXBsaWNpdCBrZXlzLFxuICAgICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChub2RlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uKHR5cGUsIHByb3BzLCBrZXksIGlzU3RhdGljQ2hpbGRyZW4sIHNvdXJjZSwgc2VsZikge1xuICB7XG4gICAgdmFyIHZhbGlkVHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKTsgLy8gV2Ugd2FybiBpbiB0aGlzIGNhc2UgYnV0IGRvbid0IHRocm93LiBXZSBleHBlY3QgdGhlIGVsZW1lbnQgY3JlYXRpb24gdG9cbiAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuXG4gICAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciBzb3VyY2VJbmZvID0gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKTtcblxuICAgICAgaWYgKHNvdXJjZUluZm8pIHtcbiAgICAgICAgaW5mbyArPSBzb3VyY2VJbmZvO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgc291cmNlLCBzZWxmKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cbiAgICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAgIC8vIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmQgcHJvZC5cbiAgICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAgIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gICAgaWYgKHZhbGlkVHlwZSkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIGlmIChjaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuW2ldLCB0eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCdSZWFjdC5qc3g6IFN0YXRpYyBjaGlsZHJlbiBzaG91bGQgYWx3YXlzIGJlIGFuIGFycmF5LiAnICsgJ1lvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gJyArICdVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbiwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgdmFsaWRhdGVGcmFnbWVudFByb3BzKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufSAvLyBUaGVzZSB0d28gZnVuY3Rpb25zIGV4aXN0IHRvIHN0aWxsIGdldCBjaGlsZCB3YXJuaW5ncyBpbiBkZXZcbi8vIGV2ZW4gd2l0aCB0aGUgcHJvZCB0cmFuc2Zvcm0uIFRoaXMgbWVhbnMgdGhhdCBqc3hERVYgaXMgcHVyZWx5XG4vLyBvcHQtaW4gYmVoYXZpb3IgZm9yIGJldHRlciBtZXNzYWdlcyBidXQgdGhhdCB3ZSB3b24ndCBzdG9wXG4vLyBnaXZpbmcgeW91IHdhcm5pbmdzIGlmIHlvdSB1c2UgcHJvZHVjdGlvbiBhcGlzLlxuXG5mdW5jdGlvbiBqc3hXaXRoVmFsaWRhdGlvblN0YXRpYyh0eXBlLCBwcm9wcywga2V5KSB7XG4gIHtcbiAgICByZXR1cm4ganN4V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGtleSwgdHJ1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uRHluYW1pYyh0eXBlLCBwcm9wcywga2V5KSB7XG4gIHtcbiAgICByZXR1cm4ganN4V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGtleSwgZmFsc2UpO1xuICB9XG59XG5cbnZhciBqc3ggPSAganN4V2l0aFZhbGlkYXRpb25EeW5hbWljIDsgLy8gd2UgbWF5IHdhbnQgdG8gc3BlY2lhbCBjYXNlIGpzeHMgaW50ZXJuYWxseSB0byB0YWtlIGFkdmFudGFnZSBvZiBzdGF0aWMgY2hpbGRyZW4uXG4vLyBmb3Igbm93IHdlIGNhbiBzaGlwIGlkZW50aWNhbCBwcm9kIGZ1bmN0aW9uc1xuXG52YXIganN4cyA9ICBqc3hXaXRoVmFsaWRhdGlvblN0YXRpYyA7XG5cbmV4cG9ydHMuRnJhZ21lbnQgPSBSRUFDVF9GUkFHTUVOVF9UWVBFO1xuZXhwb3J0cy5qc3ggPSBqc3g7XG5leHBvcnRzLmpzeHMgPSBqc3hzO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react-jsx-runtime.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react/cjs/react.development.js": -/*!*****************************************************!*\ - !*** ./node_modules/react/cjs/react.development.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * @license React\n * react.development.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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDs7QUFFQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsNEJBQTRCO0FBQzVCO0FBQ0EscUNBQXFDOztBQUVyQyxnQ0FBZ0M7QUFDaEM7QUFDQTs7QUFFQSxnQ0FBZ0M7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkZBQTZGLGFBQWE7QUFDMUc7QUFDQTs7QUFF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Q0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsZUFBZTtBQUMxQixXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRztBQUNSOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCOztBQUVoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EscUVBQXFFOztBQUVyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBLG9CQUFvQixvQkFBb0I7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGdCQUFnQjs7QUFFaEIsdUJBQXVCLGtCQUFrQjs7QUFFekM7QUFDQSx5QkFBeUI7O0FBRXpCLDRCQUE0QjtBQUM1QjtBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUEsb0JBQW9CLG9CQUFvQjtBQUN4QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixZQUFZLFNBQVM7QUFDckI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdDQUF3QztBQUN4Qzs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3QkFBd0I7O0FBRXhCOztBQUVBO0FBQ0Esb0JBQW9CLHFCQUFxQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLHFJQUFxSSx5Q0FBeUM7QUFDOUs7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLElBQUk7QUFDZixXQUFXLGtCQUFrQjtBQUM3QixXQUFXLEdBQUc7QUFDZCxZQUFZLFFBQVE7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxJQUFJO0FBQ2YsWUFBWSxRQUFRO0FBQ3BCOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsSUFBSTtBQUNmLFdBQVcsa0JBQWtCO0FBQzdCLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFlBQVksY0FBYztBQUMxQjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1COztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLElBQUk7QUFDbkQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLElBQUk7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0EsU0FBUztBQUNULHVCQUF1QjtBQUN2QjtBQUNBLFNBQVM7QUFDVCx1QkFBdUI7QUFDdkI7QUFDQSxTQUFTO0FBQ1Qsd0JBQXdCO0FBQ3hCO0FBQ0EsU0FBUztBQUNU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QTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNEQUFzRDtBQUN0RDs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixzQkFBc0I7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0EsbUNBQW1DO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQztBQUNBOztBQUVBLDBPQUEwTztBQUMxTztBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOLGdDQUFnQztBQUNoQzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULFFBQVE7QUFDUjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWUsa0JBQWtCO0FBQ2pDOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCO0FBQ2hCLGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsZ0JBQWdCO0FBQ2hCLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLDBEQUEwRDtBQUMxRCxvQkFBb0I7QUFDcEIscUJBQXFCO0FBQ3JCLHFCQUFxQjtBQUNyQixxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsWUFBWTtBQUNaLFlBQVk7QUFDWix1QkFBdUI7QUFDdkIsb0JBQW9CO0FBQ3BCLG1CQUFtQjtBQUNuQixrQkFBa0I7QUFDbEIscUJBQXFCO0FBQ3JCLHdCQUF3QjtBQUN4QixpQkFBaUI7QUFDakIsYUFBYTtBQUNiLDJCQUEyQjtBQUMzQiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLGVBQWU7QUFDZixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGdCQUFnQjtBQUNoQiw0QkFBNEI7QUFDNUIscUJBQXFCO0FBQ3JCLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcz8xYjdlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcblxuICAgICAgICAgICd1c2Ugc3RyaWN0JztcblxuLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydCA9PT1cbiAgICAnZnVuY3Rpb24nXG4pIHtcbiAgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgICAgdmFyIFJlYWN0VmVyc2lvbiA9ICcxOC4yLjAnO1xuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IGRpc3BhdGNoZXIuXG4gKi9cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbi8qKlxuICogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgYmF0Y2gncyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgaG93IGxvbmcgYW4gdXBkYXRlXG4gKiBzaG91bGQgc3VzcGVuZCBmb3IgaWYgaXQgbmVlZHMgdG8uXG4gKi9cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IHtcbiAgdHJhbnNpdGlvbjogbnVsbFxufTtcblxudmFyIFJlYWN0Q3VycmVudEFjdFF1ZXVlID0ge1xuICBjdXJyZW50OiBudWxsLFxuICAvLyBVc2VkIHRvIHJlcHJvZHVjZSBiZWhhdmlvciBvZiBgYmF0Y2hlZFVwZGF0ZXNgIGluIGxlZ2FjeSBtb2RlLlxuICBpc0JhdGNoaW5nTGVnYWN5OiBmYWxzZSxcbiAgZGlkU2NoZWR1bGVMZWdhY3lVcGRhdGU6IGZhbHNlXG59O1xuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IG93bmVyLlxuICpcbiAqIFRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBjb21wb25lbnQgd2hvIHNob3VsZCBvd24gYW55IGNvbXBvbmVudHMgdGhhdCBhcmVcbiAqIGN1cnJlbnRseSBiZWluZyBjb25zdHJ1Y3RlZC5cbiAqL1xudmFyIFJlYWN0Q3VycmVudE93bmVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0ge307XG52YXIgY3VycmVudEV4dHJhU3RhY2tGcmFtZSA9IG51bGw7XG5mdW5jdGlvbiBzZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spIHtcbiAge1xuICAgIGN1cnJlbnRFeHRyYVN0YWNrRnJhbWUgPSBzdGFjaztcbiAgfVxufVxuXG57XG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lID0gZnVuY3Rpb24gKHN0YWNrKSB7XG4gICAge1xuICAgICAgY3VycmVudEV4dHJhU3RhY2tGcmFtZSA9IHN0YWNrO1xuICAgIH1cbiAgfTsgLy8gU3RhY2sgaW1wbGVtZW50YXRpb24gaW5qZWN0ZWQgYnkgdGhlIGN1cnJlbnQgcmVuZGVyZXIuXG5cblxuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IG51bGw7XG5cbiAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBzdGFjayA9ICcnOyAvLyBBZGQgYW4gZXh0cmEgdG9wIGZyYW1lIHdoaWxlIGFuIGVsZW1lbnQgaXMgYmVpbmcgdmFsaWRhdGVkXG5cbiAgICBpZiAoY3VycmVudEV4dHJhU3RhY2tGcmFtZSkge1xuICAgICAgc3RhY2sgKz0gY3VycmVudEV4dHJhU3RhY2tGcmFtZTtcbiAgICB9IC8vIERlbGVnYXRlIHRvIHRoZSBpbmplY3RlZCByZW5kZXJlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxuXG5cbiAgICB2YXIgaW1wbCA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrO1xuXG4gICAgaWYgKGltcGwpIHtcbiAgICAgIHN0YWNrICs9IGltcGwoKSB8fCAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhY2s7XG4gIH07XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSB7XG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXI6IFJlYWN0Q3VycmVudERpc3BhdGNoZXIsXG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOiBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcbiAgUmVhY3RDdXJyZW50T3duZXI6IFJlYWN0Q3VycmVudE93bmVyXG59O1xuXG57XG4gIFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRBY3RRdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlO1xufVxuXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxuLy9cbi8vIEluIFBST0QgKG9yIGluIHBhY2thZ2VzIHdpdGhvdXQgYWNjZXNzIHRvIFJlYWN0IGludGVybmFscyksXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXG5cbmZ1bmN0aW9uIHdhcm4oZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ3dhcm4nLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50ID0ge307XG5cbmZ1bmN0aW9uIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICB2YXIgX2NvbnN0cnVjdG9yID0gcHVibGljSW5zdGFuY2UuY29uc3RydWN0b3I7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBfY29uc3RydWN0b3IgJiYgKF9jb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZSB8fCBfY29uc3RydWN0b3IubmFtZSkgfHwgJ1JlYWN0Q2xhc3MnO1xuICAgIHZhciB3YXJuaW5nS2V5ID0gY29tcG9uZW50TmFtZSArIFwiLlwiICsgY2FsbGVyTmFtZTtcblxuICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnRbd2FybmluZ0tleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlcnJvcihcIkNhbid0IGNhbGwgJXMgb24gYSBjb21wb25lbnQgdGhhdCBpcyBub3QgeWV0IG1vdW50ZWQuIFwiICsgJ1RoaXMgaXMgYSBuby1vcCwgYnV0IGl0IG1pZ2h0IGluZGljYXRlIGEgYnVnIGluIHlvdXIgYXBwbGljYXRpb24uICcgKyAnSW5zdGVhZCwgYXNzaWduIHRvIGB0aGlzLnN0YXRlYCBkaXJlY3RseSBvciBkZWZpbmUgYSBgc3RhdGUgPSB7fTtgICcgKyAnY2xhc3MgcHJvcGVydHkgd2l0aCB0aGUgZGVzaXJlZCBzdGF0ZSBpbiB0aGUgJXMgY29tcG9uZW50LicsIGNhbGxlck5hbWUsIGNvbXBvbmVudE5hbWUpO1xuXG4gICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50W3dhcm5pbmdLZXldID0gdHJ1ZTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIGlzIHRoZSBhYnN0cmFjdCBBUEkgZm9yIGFuIHVwZGF0ZSBxdWV1ZS5cbiAqL1xuXG5cbnZhciBSZWFjdE5vb3BVcGRhdGVRdWV1ZSA9IHtcbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGNvbXBvc2l0ZSBjb21wb25lbnQgaXMgbW91bnRlZC5cbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2Ugd2Ugd2FudCB0byB0ZXN0LlxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIG1vdW50ZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICogQHByb3RlY3RlZFxuICAgKiBAZmluYWxcbiAgICovXG4gIGlzTW91bnRlZDogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXG4gICAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXG4gICAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXG4gICAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIGNvbXBvbmVudCBpcyB1cGRhdGVkLlxuICAgKiBAcGFyYW0gez9zdHJpbmd9IGNhbGxlck5hbWUgbmFtZSBvZiB0aGUgY2FsbGluZyBmdW5jdGlvbiBpbiB0aGUgcHVibGljIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBlbnF1ZXVlRm9yY2VVcGRhdGU6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ2ZvcmNlVXBkYXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyBvciBgc2V0U3RhdGVgIHRvIG11dGF0ZSBzdGF0ZS5cbiAgICogWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxuICAgKlxuICAgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICAgKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB0aGF0IHNob3VsZCByZXJlbmRlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbXBsZXRlU3RhdGUgTmV4dCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBjYWxsZXJOYW1lIG5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZW5xdWV1ZVJlcGxhY2VTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjb21wbGV0ZVN0YXRlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xuICAgIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCAncmVwbGFjZVN0YXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBUaGlzIG9ubHkgZXhpc3RzIGJlY2F1c2UgX3BlbmRpbmdTdGF0ZSBpc1xuICAgKiBpbnRlcm5hbC4gVGhpcyBwcm92aWRlcyBhIG1lcmdpbmcgc3RyYXRlZ3kgdGhhdCBpcyBub3QgYXZhaWxhYmxlIHRvIGRlZXBcbiAgICogcHJvcGVydGllcyB3aGljaCBpcyBjb25mdXNpbmcuIFRPRE86IEV4cG9zZSBwZW5kaW5nU3RhdGUgb3IgZG9uJ3QgdXNlIGl0XG4gICAqIGR1cmluZyB0aGUgbWVyZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBOYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdzZXRTdGF0ZScpO1xuICB9XG59O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxudmFyIGVtcHR5T2JqZWN0ID0ge307XG5cbntcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eU9iamVjdCk7XG59XG4vKipcbiAqIEJhc2UgY2xhc3MgaGVscGVycyBmb3IgdGhlIHVwZGF0aW5nIHN0YXRlIG9mIGEgY29tcG9uZW50LlxuICovXG5cblxuZnVuY3Rpb24gQ29tcG9uZW50KHByb3BzLCBjb250ZXh0LCB1cGRhdGVyKSB7XG4gIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgdGhpcy5jb250ZXh0ID0gY29udGV4dDsgLy8gSWYgYSBjb21wb25lbnQgaGFzIHN0cmluZyByZWZzLCB3ZSB3aWxsIGFzc2lnbiBhIGRpZmZlcmVudCBvYmplY3QgbGF0ZXIuXG5cbiAgdGhpcy5yZWZzID0gZW1wdHlPYmplY3Q7IC8vIFdlIGluaXRpYWxpemUgdGhlIGRlZmF1bHQgdXBkYXRlciBidXQgdGhlIHJlYWwgb25lIGdldHMgaW5qZWN0ZWQgYnkgdGhlXG4gIC8vIHJlbmRlcmVyLlxuXG4gIHRoaXMudXBkYXRlciA9IHVwZGF0ZXIgfHwgUmVhY3ROb29wVXBkYXRlUXVldWU7XG59XG5cbkNvbXBvbmVudC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCA9IHt9O1xuLyoqXG4gKiBTZXRzIGEgc3Vic2V0IG9mIHRoZSBzdGF0ZS4gQWx3YXlzIHVzZSB0aGlzIHRvIG11dGF0ZVxuICogc3RhdGUuIFlvdSBzaG91bGQgdHJlYXQgYHRoaXMuc3RhdGVgIGFzIGltbXV0YWJsZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICogYWNjZXNzaW5nIGB0aGlzLnN0YXRlYCBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kIG1heSByZXR1cm4gdGhlIG9sZCB2YWx1ZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBjYWxscyB0byBgc2V0U3RhdGVgIHdpbGwgcnVuIHN5bmNocm9ub3VzbHksXG4gKiBhcyB0aGV5IG1heSBldmVudHVhbGx5IGJlIGJhdGNoZWQgdG9nZXRoZXIuICBZb3UgY2FuIHByb3ZpZGUgYW4gb3B0aW9uYWxcbiAqIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBjYWxsIHRvIHNldFN0YXRlIGlzIGFjdHVhbGx5XG4gKiBjb21wbGV0ZWQuXG4gKlxuICogV2hlbiBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIHRvIHNldFN0YXRlLCBpdCB3aWxsIGJlIGNhbGxlZCBhdCBzb21lIHBvaW50IGluXG4gKiB0aGUgZnV0dXJlIChub3Qgc3luY2hyb25vdXNseSkuIEl0IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIHVwIHRvIGRhdGVcbiAqIGNvbXBvbmVudCBhcmd1bWVudHMgKHN0YXRlLCBwcm9wcywgY29udGV4dCkuIFRoZXNlIHZhbHVlcyBjYW4gYmUgZGlmZmVyZW50XG4gKiBmcm9tIHRoaXMuKiBiZWNhdXNlIHlvdXIgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBhZnRlciByZWNlaXZlUHJvcHMgYnV0IGJlZm9yZVxuICogc2hvdWxkQ29tcG9uZW50VXBkYXRlLCBhbmQgdGhpcyBuZXcgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCB3aWxsIG5vdCB5ZXQgYmVcbiAqIGFzc2lnbmVkIHRvIHRoaXMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R8ZnVuY3Rpb259IHBhcnRpYWxTdGF0ZSBOZXh0IHBhcnRpYWwgc3RhdGUgb3IgZnVuY3Rpb24gdG9cbiAqICAgICAgICBwcm9kdWNlIG5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBjdXJyZW50IHN0YXRlLlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBzdGF0ZSBpcyB1cGRhdGVkLlxuICogQGZpbmFsXG4gKiBAcHJvdGVjdGVkXG4gKi9cblxuQ29tcG9uZW50LnByb3RvdHlwZS5zZXRTdGF0ZSA9IGZ1bmN0aW9uIChwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnb2JqZWN0JyAmJiB0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnZnVuY3Rpb24nICYmIHBhcnRpYWxTdGF0ZSAhPSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhICcgKyAnZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLicpO1xuICB9XG5cbiAgdGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcbn07XG4vKipcbiAqIEZvcmNlcyBhbiB1cGRhdGUuIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aGVuIGl0IGlzIGtub3duIHdpdGhcbiAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICpcbiAqIFlvdSBtYXkgd2FudCB0byBjYWxsIHRoaXMgd2hlbiB5b3Uga25vdyB0aGF0IHNvbWUgZGVlcGVyIGFzcGVjdCBvZiB0aGVcbiAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICpcbiAqIFRoaXMgd2lsbCBub3QgaW52b2tlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgLCBidXQgaXQgd2lsbCBpbnZva2VcbiAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gKlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciB1cGRhdGUgaXMgY29tcGxldGUuXG4gKiBAZmluYWxcbiAqIEBwcm90ZWN0ZWRcbiAqL1xuXG5cbkNvbXBvbmVudC5wcm90b3R5cGUuZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLCBjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG59O1xuLyoqXG4gKiBEZXByZWNhdGVkIEFQSXMuIFRoZXNlIEFQSXMgdXNlZCB0byBleGlzdCBvbiBjbGFzc2ljIFJlYWN0IGNsYXNzZXMgYnV0IHNpbmNlXG4gKiB3ZSB3b3VsZCBsaWtlIHRvIGRlcHJlY2F0ZSB0aGVtLCB3ZSdyZSBub3QgZ29pbmcgdG8gbW92ZSB0aGVtIG92ZXIgdG8gdGhpc1xuICogbW9kZXJuIGJhc2UgY2xhc3MuIEluc3RlYWQsIHdlIGRlZmluZSBhIGdldHRlciB0aGF0IHdhcm5zIGlmIGl0J3MgYWNjZXNzZWQuXG4gKi9cblxuXG57XG4gIHZhciBkZXByZWNhdGVkQVBJcyA9IHtcbiAgICBpc01vdW50ZWQ6IFsnaXNNb3VudGVkJywgJ0luc3RlYWQsIG1ha2Ugc3VyZSB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zIGFuZCBwZW5kaW5nIHJlcXVlc3RzIGluICcgKyAnY29tcG9uZW50V2lsbFVubW91bnQgdG8gcHJldmVudCBtZW1vcnkgbGVha3MuJ10sXG4gICAgcmVwbGFjZVN0YXRlOiBbJ3JlcGxhY2VTdGF0ZScsICdSZWZhY3RvciB5b3VyIGNvZGUgdG8gdXNlIHNldFN0YXRlIGluc3RlYWQgKHNlZSAnICsgJ2h0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMzIzNikuJ11cbiAgfTtcblxuICB2YXIgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nID0gZnVuY3Rpb24gKG1ldGhvZE5hbWUsIGluZm8pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29tcG9uZW50LnByb3RvdHlwZSwgbWV0aG9kTmFtZSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJyVzKC4uLikgaXMgZGVwcmVjYXRlZCBpbiBwbGFpbiBKYXZhU2NyaXB0IFJlYWN0IGNsYXNzZXMuICVzJywgaW5mb1swXSwgaW5mb1sxXSk7XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBmb3IgKHZhciBmbk5hbWUgaW4gZGVwcmVjYXRlZEFQSXMpIHtcbiAgICBpZiAoZGVwcmVjYXRlZEFQSXMuaGFzT3duUHJvcGVydHkoZm5OYW1lKSkge1xuICAgICAgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nKGZuTmFtZSwgZGVwcmVjYXRlZEFQSXNbZm5OYW1lXSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIENvbXBvbmVudER1bW15KCkge31cblxuQ29tcG9uZW50RHVtbXkucHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbi8qKlxuICogQ29udmVuaWVuY2UgY29tcG9uZW50IHdpdGggZGVmYXVsdCBzaGFsbG93IGVxdWFsaXR5IGNoZWNrIGZvciBzQ1UuXG4gKi9cblxuZnVuY3Rpb24gUHVyZUNvbXBvbmVudChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xuICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7IC8vIElmIGEgY29tcG9uZW50IGhhcyBzdHJpbmcgcmVmcywgd2Ugd2lsbCBhc3NpZ24gYSBkaWZmZXJlbnQgb2JqZWN0IGxhdGVyLlxuXG4gIHRoaXMucmVmcyA9IGVtcHR5T2JqZWN0O1xuICB0aGlzLnVwZGF0ZXIgPSB1cGRhdGVyIHx8IFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlO1xufVxuXG52YXIgcHVyZUNvbXBvbmVudFByb3RvdHlwZSA9IFB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudER1bW15KCk7XG5wdXJlQ29tcG9uZW50UHJvdG90eXBlLmNvbnN0cnVjdG9yID0gUHVyZUNvbXBvbmVudDsgLy8gQXZvaWQgYW4gZXh0cmEgcHJvdG90eXBlIGp1bXAgZm9yIHRoZXNlIG1ldGhvZHMuXG5cbmFzc2lnbihwdXJlQ29tcG9uZW50UHJvdG90eXBlLCBDb21wb25lbnQucHJvdG90eXBlKTtcbnB1cmVDb21wb25lbnRQcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuXG4vLyBhbiBpbW11dGFibGUgb2JqZWN0IHdpdGggYSBzaW5nbGUgbXV0YWJsZSB2YWx1ZVxuZnVuY3Rpb24gY3JlYXRlUmVmKCkge1xuICB2YXIgcmVmT2JqZWN0ID0ge1xuICAgIGN1cnJlbnQ6IG51bGxcbiAgfTtcblxuICB7XG4gICAgT2JqZWN0LnNlYWwocmVmT2JqZWN0KTtcbiAgfVxuXG4gIHJldHVybiByZWZPYmplY3Q7XG59XG5cbnZhciBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuZnVuY3Rpb24gaXNBcnJheShhKSB7XG4gIHJldHVybiBpc0FycmF5SW1wbChhKTtcbn1cblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cbmZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgUkVTRVJWRURfUFJPUFMgPSB7XG4gIGtleTogdHJ1ZSxcbiAgcmVmOiB0cnVlLFxuICBfX3NlbGY6IHRydWUsXG4gIF9fc291cmNlOiB0cnVlXG59O1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duLCBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biwgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcblxue1xuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkUmVmKGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAncmVmJykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ3JlZicpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcucmVmICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ2tleScpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcua2V5ICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAna2V5Jywge1xuICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYgPSBmdW5jdGlvbiAoKSB7XG4gICAge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgY29uZmlnLl9fc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gY29uZmlnLl9fc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGNvbXBvbmVudE5hbWUsIGNvbmZpZy5yZWYpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgUmVhY3QgZWxlbWVudC4gVGhpcyBubyBsb25nZXIgYWRoZXJlcyB0b1xuICogdGhlIGNsYXNzIHBhdHRlcm4sIHNvIGRvIG5vdCB1c2UgbmV3IHRvIGNhbGwgaXQuIEFsc28sIGluc3RhbmNlb2YgY2hlY2tcbiAqIHdpbGwgbm90IHdvcmsuIEluc3RlYWQgdGVzdCAkJHR5cGVvZiBmaWVsZCBhZ2FpbnN0IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSB0byBjaGVja1xuICogaWYgc29tZXRoaW5nIGlzIGEgUmVhY3QgRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7Kn0gcHJvcHNcbiAqIEBwYXJhbSB7Kn0ga2V5XG4gKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IHJlZlxuICogQHBhcmFtIHsqfSBvd25lclxuICogQHBhcmFtIHsqfSBzZWxmIEEgKnRlbXBvcmFyeSogaGVscGVyIHRvIGRldGVjdCBwbGFjZXMgd2hlcmUgYHRoaXNgIGlzXG4gKiBkaWZmZXJlbnQgZnJvbSB0aGUgYG93bmVyYCB3aGVuIFJlYWN0LmNyZWF0ZUVsZW1lbnQgaXMgY2FsbGVkLCBzbyB0aGF0IHdlXG4gKiBjYW4gd2Fybi4gV2Ugd2FudCB0byBnZXQgcmlkIG9mIG93bmVyIGFuZCByZXBsYWNlIHN0cmluZyBgcmVmYHMgd2l0aCBhcnJvd1xuICogZnVuY3Rpb25zLCBhbmQgYXMgbG9uZyBhcyBgdGhpc2AgYW5kIG93bmVyIGFyZSB0aGUgc2FtZSwgdGhlcmUgd2lsbCBiZSBub1xuICogY2hhbmdlIGluIGJlaGF2aW9yLlxuICogQHBhcmFtIHsqfSBzb3VyY2UgQW4gYW5ub3RhdGlvbiBvYmplY3QgKGFkZGVkIGJ5IGEgdHJhbnNwaWxlciBvciBvdGhlcndpc2UpXG4gKiBpbmRpY2F0aW5nIGZpbGVuYW1lLCBsaW5lIG51bWJlciwgYW5kL29yIG90aGVyIGluZm9ybWF0aW9uLlxuICogQGludGVybmFsXG4gKi9cblxuXG52YXIgUmVhY3RFbGVtZW50ID0gZnVuY3Rpb24gKHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIG93bmVyLCBwcm9wcykge1xuICB2YXIgZWxlbWVudCA9IHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvd3MgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IEVsZW1lbnRcbiAgICAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLFxuICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICB0eXBlOiB0eXBlLFxuICAgIGtleToga2V5LFxuICAgIHJlZjogcmVmLFxuICAgIHByb3BzOiBwcm9wcyxcbiAgICAvLyBSZWNvcmQgdGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhpcyBlbGVtZW50LlxuICAgIF9vd25lcjogb3duZXJcbiAgfTtcblxuICB7XG4gICAgLy8gVGhlIHZhbGlkYXRpb24gZmxhZyBpcyBjdXJyZW50bHkgbXV0YXRpdmUuIFdlIHB1dCBpdCBvblxuICAgIC8vIGFuIGV4dGVybmFsIGJhY2tpbmcgc3RvcmUgc28gdGhhdCB3ZSBjYW4gZnJlZXplIHRoZSB3aG9sZSBvYmplY3QuXG4gICAgLy8gVGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIFdlYWtNYXAgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZCBpblxuICAgIC8vIGNvbW1vbmx5IHVzZWQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzLlxuICAgIGVsZW1lbnQuX3N0b3JlID0ge307IC8vIFRvIG1ha2UgY29tcGFyaW5nIFJlYWN0RWxlbWVudHMgZWFzaWVyIGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB3ZSBtYWtlXG4gICAgLy8gdGhlIHZhbGlkYXRpb24gZmxhZyBub24tZW51bWVyYWJsZSAod2hlcmUgcG9zc2libGUsIHdoaWNoIHNob3VsZFxuICAgIC8vIGluY2x1ZGUgZXZlcnkgZW52aXJvbm1lbnQgd2UgcnVuIHRlc3RzIGluKSwgc28gdGhlIHRlc3QgZnJhbWV3b3JrXG4gICAgLy8gaWdub3JlcyBpdC5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50Ll9zdG9yZSwgJ3ZhbGlkYXRlZCcsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfSk7IC8vIHNlbGYgYW5kIHNvdXJjZSBhcmUgREVWIG9ubHkgcHJvcGVydGllcy5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NlbGYnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc2VsZlxuICAgIH0pOyAvLyBUd28gZWxlbWVudHMgY3JlYXRlZCBpbiB0d28gZGlmZmVyZW50IHBsYWNlcyBzaG91bGQgYmUgY29uc2lkZXJlZFxuICAgIC8vIGVxdWFsIGZvciB0ZXN0aW5nIHB1cnBvc2VzIGFuZCB0aGVyZWZvcmUgd2UgaGlkZSBpdCBmcm9tIGVudW1lcmF0aW9uLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc291cmNlJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHNvdXJjZVxuICAgIH0pO1xuXG4gICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudC5wcm9wcyk7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcbi8qKlxuICogQ3JlYXRlIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IG9mIHRoZSBnaXZlbiB0eXBlLlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjcmVhdGVlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0eXBlLCBjb25maWcsIGNoaWxkcmVuKSB7XG4gIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gIHZhciBwcm9wcyA9IHt9O1xuICB2YXIga2V5ID0gbnVsbDtcbiAgdmFyIHJlZiA9IG51bGw7XG4gIHZhciBzZWxmID0gbnVsbDtcbiAgdmFyIHNvdXJjZSA9IG51bGw7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIHJlZiA9IGNvbmZpZy5yZWY7XG5cbiAgICAgIHtcbiAgICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIHNlbGYgPSBjb25maWcuX19zZWxmID09PSB1bmRlZmluZWQgPyBudWxsIDogY29uZmlnLl9fc2VsZjtcbiAgICBzb3VyY2UgPSBjb25maWcuX19zb3VyY2UgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zb3VyY2U7IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9IC8vIENoaWxkcmVuIGNhbiBiZSBtb3JlIHRoYW4gb25lIGFyZ3VtZW50LCBhbmQgdGhvc2UgYXJlIHRyYW5zZmVycmVkIG9udG9cbiAgLy8gdGhlIG5ld2x5IGFsbG9jYXRlZCBwcm9wcyBvYmplY3QuXG5cblxuICB2YXIgY2hpbGRyZW5MZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoIC0gMjtcblxuICBpZiAoY2hpbGRyZW5MZW5ndGggPT09IDEpIHtcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB9IGVsc2UgaWYgKGNoaWxkcmVuTGVuZ3RoID4gMSkge1xuICAgIHZhciBjaGlsZEFycmF5ID0gQXJyYXkoY2hpbGRyZW5MZW5ndGgpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkxlbmd0aDsgaSsrKSB7XG4gICAgICBjaGlsZEFycmF5W2ldID0gYXJndW1lbnRzW2kgKyAyXTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkQXJyYXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gIGlmICh0eXBlICYmIHR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBpZiAoa2V5IHx8IHJlZikge1xuICAgICAgdmFyIGRpc3BsYXlOYW1lID0gdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgPyB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCAnVW5rbm93bicgOiB0eXBlO1xuXG4gICAgICBpZiAoa2V5KSB7XG4gICAgICAgIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQsIHByb3BzKTtcbn1cbmZ1bmN0aW9uIGNsb25lQW5kUmVwbGFjZUtleShvbGRFbGVtZW50LCBuZXdLZXkpIHtcbiAgdmFyIG5ld0VsZW1lbnQgPSBSZWFjdEVsZW1lbnQob2xkRWxlbWVudC50eXBlLCBuZXdLZXksIG9sZEVsZW1lbnQucmVmLCBvbGRFbGVtZW50Ll9zZWxmLCBvbGRFbGVtZW50Ll9zb3VyY2UsIG9sZEVsZW1lbnQuX293bmVyLCBvbGRFbGVtZW50LnByb3BzKTtcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XG59XG4vKipcbiAqIENsb25lIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IHVzaW5nIGVsZW1lbnQgYXMgdGhlIHN0YXJ0aW5nIHBvaW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjbG9uZWVsZW1lbnRcbiAqL1xuXG5mdW5jdGlvbiBjbG9uZUVsZW1lbnQoZWxlbWVudCwgY29uZmlnLCBjaGlsZHJlbikge1xuICBpZiAoZWxlbWVudCA9PT0gbnVsbCB8fCBlbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCBcIiArIGVsZW1lbnQgKyBcIi5cIik7XG4gIH1cblxuICB2YXIgcHJvcE5hbWU7IC8vIE9yaWdpbmFsIHByb3BzIGFyZSBjb3BpZWRcblxuICB2YXIgcHJvcHMgPSBhc3NpZ24oe30sIGVsZW1lbnQucHJvcHMpOyAvLyBSZXNlcnZlZCBuYW1lcyBhcmUgZXh0cmFjdGVkXG5cbiAgdmFyIGtleSA9IGVsZW1lbnQua2V5O1xuICB2YXIgcmVmID0gZWxlbWVudC5yZWY7IC8vIFNlbGYgaXMgcHJlc2VydmVkIHNpbmNlIHRoZSBvd25lciBpcyBwcmVzZXJ2ZWQuXG5cbiAgdmFyIHNlbGYgPSBlbGVtZW50Ll9zZWxmOyAvLyBTb3VyY2UgaXMgcHJlc2VydmVkIHNpbmNlIGNsb25lRWxlbWVudCBpcyB1bmxpa2VseSB0byBiZSB0YXJnZXRlZCBieSBhXG4gIC8vIHRyYW5zcGlsZXIsIGFuZCB0aGUgb3JpZ2luYWwgc291cmNlIGlzIHByb2JhYmx5IGEgYmV0dGVyIGluZGljYXRvciBvZiB0aGVcbiAgLy8gdHJ1ZSBvd25lci5cblxuICB2YXIgc291cmNlID0gZWxlbWVudC5fc291cmNlOyAvLyBPd25lciB3aWxsIGJlIHByZXNlcnZlZCwgdW5sZXNzIHJlZiBpcyBvdmVycmlkZGVuXG5cbiAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIC8vIFNpbGVudGx5IHN0ZWFsIHRoZSByZWYgZnJvbSB0aGUgcGFyZW50LlxuICAgICAgcmVmID0gY29uZmlnLnJlZjtcbiAgICAgIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudDtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRLZXkoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGNvbmZpZy5rZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBvdmVycmlkZSBleGlzdGluZyBwcm9wc1xuXG5cbiAgICB2YXIgZGVmYXVsdFByb3BzO1xuXG4gICAgaWYgKGVsZW1lbnQudHlwZSAmJiBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgICBkZWZhdWx0UHJvcHMgPSBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzO1xuICAgIH1cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIGlmIChjb25maWdbcHJvcE5hbWVdID09PSB1bmRlZmluZWQgJiYgZGVmYXVsdFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2hpbGRyZW4gY2FuIGJlIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIGFuZCB0aG9zZSBhcmUgdHJhbnNmZXJyZWQgb250b1xuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cblxuXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xuXG4gIGlmIChjaGlsZHJlbkxlbmd0aCA9PT0gMSkge1xuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XG4gICAgdmFyIGNoaWxkQXJyYXkgPSBBcnJheShjaGlsZHJlbkxlbmd0aCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkQXJyYXlbaV0gPSBhcmd1bWVudHNbaSArIDJdO1xuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdEVsZW1lbnQoZWxlbWVudC50eXBlLCBrZXksIHJlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cblxudmFyIFNFUEFSQVRPUiA9ICcuJztcbnZhciBTVUJTRVBBUkFUT1IgPSAnOic7XG4vKipcbiAqIEVzY2FwZSBhbmQgd3JhcCBrZXkgc28gaXQgaXMgc2FmZSB0byB1c2UgYXMgYSByZWFjdGlkXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSB0byBiZSBlc2NhcGVkLlxuICogQHJldHVybiB7c3RyaW5nfSB0aGUgZXNjYXBlZCBrZXkuXG4gKi9cblxuZnVuY3Rpb24gZXNjYXBlKGtleSkge1xuICB2YXIgZXNjYXBlUmVnZXggPSAvWz06XS9nO1xuICB2YXIgZXNjYXBlckxvb2t1cCA9IHtcbiAgICAnPSc6ICc9MCcsXG4gICAgJzonOiAnPTInXG4gIH07XG4gIHZhciBlc2NhcGVkU3RyaW5nID0ga2V5LnJlcGxhY2UoZXNjYXBlUmVnZXgsIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBlc2NhcGVyTG9va3VwW21hdGNoXTtcbiAgfSk7XG4gIHJldHVybiAnJCcgKyBlc2NhcGVkU3RyaW5nO1xufVxuLyoqXG4gKiBUT0RPOiBUZXN0IHRoYXQgYSBzaW5nbGUgY2hpbGQgYW5kIGFuIGFycmF5IHdpdGggb25lIGl0ZW0gaGF2ZSB0aGUgc2FtZSBrZXlcbiAqIHBhdHRlcm4uXG4gKi9cblxuXG52YXIgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xudmFyIHVzZXJQcm92aWRlZEtleUVzY2FwZVJlZ2V4ID0gL1xcLysvZztcblxuZnVuY3Rpb24gZXNjYXBlVXNlclByb3ZpZGVkS2V5KHRleHQpIHtcbiAgcmV0dXJuIHRleHQucmVwbGFjZSh1c2VyUHJvdmlkZWRLZXlFc2NhcGVSZWdleCwgJyQmLycpO1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBhIGtleSBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIGEgZWxlbWVudCB3aXRoaW4gYSBzZXQuXG4gKlxuICogQHBhcmFtIHsqfSBlbGVtZW50IEEgZWxlbWVudCB0aGF0IGNvdWxkIGNvbnRhaW4gYSBtYW51YWwga2V5LlxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IEluZGV4IHRoYXQgaXMgdXNlZCBpZiBhIG1hbnVhbCBrZXkgaXMgbm90IHByb3ZpZGVkLlxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0RWxlbWVudEtleShlbGVtZW50LCBpbmRleCkge1xuICAvLyBEbyBzb21lIHR5cGVjaGVja2luZyBoZXJlIHNpbmNlIHdlIGNhbGwgdGhpcyBibGluZGx5LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGRvbid0IGJsb2NrIHBvdGVudGlhbCBmdXR1cmUgRVMgQVBJcy5cbiAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnb2JqZWN0JyAmJiBlbGVtZW50ICE9PSBudWxsICYmIGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAvLyBFeHBsaWNpdCBrZXlcbiAgICB7XG4gICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGVsZW1lbnQua2V5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXNjYXBlKCcnICsgZWxlbWVudC5rZXkpO1xuICB9IC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XG5cblxuICByZXR1cm4gaW5kZXgudG9TdHJpbmcoMzYpO1xufVxuXG5mdW5jdGlvbiBtYXBJbnRvQXJyYXkoY2hpbGRyZW4sIGFycmF5LCBlc2NhcGVkUHJlZml4LCBuYW1lU29GYXIsIGNhbGxiYWNrKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIGNoaWxkcmVuO1xuXG4gIGlmICh0eXBlID09PSAndW5kZWZpbmVkJyB8fCB0eXBlID09PSAnYm9vbGVhbicpIHtcbiAgICAvLyBBbGwgb2YgdGhlIGFib3ZlIGFyZSBwZXJjZWl2ZWQgYXMgbnVsbC5cbiAgICBjaGlsZHJlbiA9IG51bGw7XG4gIH1cblxuICB2YXIgaW52b2tlQ2FsbGJhY2sgPSBmYWxzZTtcblxuICBpZiAoY2hpbGRyZW4gPT09IG51bGwpIHtcbiAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgc3dpdGNoIChjaGlsZHJlbi4kJHR5cGVvZikge1xuICAgICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gICAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIGlmIChpbnZva2VDYWxsYmFjaykge1xuICAgIHZhciBfY2hpbGQgPSBjaGlsZHJlbjtcbiAgICB2YXIgbWFwcGVkQ2hpbGQgPSBjYWxsYmFjayhfY2hpbGQpOyAvLyBJZiBpdCdzIHRoZSBvbmx5IGNoaWxkLCB0cmVhdCB0aGUgbmFtZSBhcyBpZiBpdCB3YXMgd3JhcHBlZCBpbiBhbiBhcnJheVxuICAgIC8vIHNvIHRoYXQgaXQncyBjb25zaXN0ZW50IGlmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZ3Jvd3M6XG5cbiAgICB2YXIgY2hpbGRLZXkgPSBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SICsgZ2V0RWxlbWVudEtleShfY2hpbGQsIDApIDogbmFtZVNvRmFyO1xuXG4gICAgaWYgKGlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XG4gICAgICB2YXIgZXNjYXBlZENoaWxkS2V5ID0gJyc7XG5cbiAgICAgIGlmIChjaGlsZEtleSAhPSBudWxsKSB7XG4gICAgICAgIGVzY2FwZWRDaGlsZEtleSA9IGVzY2FwZVVzZXJQcm92aWRlZEtleShjaGlsZEtleSkgKyAnLyc7XG4gICAgICB9XG5cbiAgICAgIG1hcEludG9BcnJheShtYXBwZWRDaGlsZCwgYXJyYXksIGVzY2FwZWRDaGlsZEtleSwgJycsIGZ1bmN0aW9uIChjKSB7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChtYXBwZWRDaGlsZCAhPSBudWxsKSB7XG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQobWFwcGVkQ2hpbGQpKSB7XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBUaGUgYGlmYCBzdGF0ZW1lbnQgaGVyZSBwcmV2ZW50cyBhdXRvLWRpc2FibGluZyBvZiB0aGUgc2FmZVxuICAgICAgICAgIC8vIGNvZXJjaW9uIEVTTGludCBydWxlLCBzbyB3ZSBtdXN0IG1hbnVhbGx5IGRpc2FibGUgaXQgYmVsb3cuXG4gICAgICAgICAgLy8gJEZsb3dGaXhNZSBGbG93IGluY29ycmVjdGx5IHRoaW5rcyBSZWFjdC5Qb3J0YWwgZG9lc24ndCBoYXZlIGEga2V5XG4gICAgICAgICAgaWYgKG1hcHBlZENoaWxkLmtleSAmJiAoIV9jaGlsZCB8fCBfY2hpbGQua2V5ICE9PSBtYXBwZWRDaGlsZC5rZXkpKSB7XG4gICAgICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKG1hcHBlZENoaWxkLmtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbWFwcGVkQ2hpbGQgPSBjbG9uZUFuZFJlcGxhY2VLZXkobWFwcGVkQ2hpbGQsIC8vIEtlZXAgYm90aCB0aGUgKG1hcHBlZCkgYW5kIG9sZCBrZXlzIGlmIHRoZXkgZGlmZmVyLCBqdXN0IGFzXG4gICAgICAgIC8vIHRyYXZlcnNlQWxsQ2hpbGRyZW4gdXNlZCB0byBkbyBmb3Igb2JqZWN0cyBhcyBjaGlsZHJlblxuICAgICAgICBlc2NhcGVkUHJlZml4ICsgKCAvLyAkRmxvd0ZpeE1lIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFJlYWN0LlBvcnRhbCBkb2Vzbid0IGhhdmUgYSBrZXlcbiAgICAgICAgbWFwcGVkQ2hpbGQua2V5ICYmICghX2NoaWxkIHx8IF9jaGlsZC5rZXkgIT09IG1hcHBlZENoaWxkLmtleSkgPyAvLyAkRmxvd0ZpeE1lIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIGV4aXN0aW5nIGVsZW1lbnQncyBrZXkgY2FuIGJlIGEgbnVtYmVyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICAgICAgICBlc2NhcGVVc2VyUHJvdmlkZWRLZXkoJycgKyBtYXBwZWRDaGlsZC5rZXkpICsgJy8nIDogJycpICsgY2hpbGRLZXkpO1xuICAgICAgfVxuXG4gICAgICBhcnJheS5wdXNoKG1hcHBlZENoaWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIHZhciBjaGlsZDtcbiAgdmFyIG5leHROYW1lO1xuICB2YXIgc3VidHJlZUNvdW50ID0gMDsgLy8gQ291bnQgb2YgY2hpbGRyZW4gZm91bmQgaW4gdGhlIGN1cnJlbnQgc3VidHJlZS5cblxuICB2YXIgbmV4dE5hbWVQcmVmaXggPSBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SIDogbmFtZVNvRmFyICsgU1VCU0VQQVJBVE9SO1xuXG4gIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0RWxlbWVudEtleShjaGlsZCwgaSk7XG4gICAgICBzdWJ0cmVlQ291bnQgKz0gbWFwSW50b0FycmF5KGNoaWxkLCBhcnJheSwgZXNjYXBlZFByZWZpeCwgbmV4dE5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGl0ZXJhYmxlQ2hpbGRyZW4gPSBjaGlsZHJlbjtcblxuICAgICAge1xuICAgICAgICAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gPT09IGl0ZXJhYmxlQ2hpbGRyZW4uZW50cmllcykge1xuICAgICAgICAgIGlmICghZGlkV2FybkFib3V0TWFwcykge1xuICAgICAgICAgICAgd2FybignVXNpbmcgTWFwcyBhcyBjaGlsZHJlbiBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1VzZSBhbiBhcnJheSBvZiBrZXllZCBSZWFjdEVsZW1lbnRzIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKGl0ZXJhYmxlQ2hpbGRyZW4pO1xuICAgICAgdmFyIHN0ZXA7XG4gICAgICB2YXIgaWkgPSAwO1xuXG4gICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgIGNoaWxkID0gc3RlcC52YWx1ZTtcbiAgICAgICAgbmV4dE5hbWUgPSBuZXh0TmFtZVByZWZpeCArIGdldEVsZW1lbnRLZXkoY2hpbGQsIGlpKyspO1xuICAgICAgICBzdWJ0cmVlQ291bnQgKz0gbWFwSW50b0FycmF5KGNoaWxkLCBhcnJheSwgZXNjYXBlZFByZWZpeCwgbmV4dE5hbWUsIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgIHZhciBjaGlsZHJlblN0cmluZyA9IFN0cmluZyhjaGlsZHJlbik7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6IFwiICsgKGNoaWxkcmVuU3RyaW5nID09PSAnW29iamVjdCBPYmplY3RdJyA/ICdvYmplY3Qgd2l0aCBrZXlzIHsnICsgT2JqZWN0LmtleXMoY2hpbGRyZW4pLmpvaW4oJywgJykgKyAnfScgOiBjaGlsZHJlblN0cmluZykgKyBcIikuIFwiICsgJ0lmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgJyArICdpbnN0ZWFkLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJ0cmVlQ291bnQ7XG59XG5cbi8qKlxuICogTWFwcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAuXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVubWFwXG4gKlxuICogVGhlIHByb3ZpZGVkIG1hcEZ1bmN0aW9uKGNoaWxkLCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcbiAqIGxlYWYgY2hpbGQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCosIGludCl9IGZ1bmMgVGhlIG1hcCBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBDb250ZXh0IGZvciBtYXBGdW5jdGlvbi5cbiAqIEByZXR1cm4ge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9yZGVyZWQgbWFwIG9mIHJlc3VsdHMuXG4gKi9cbmZ1bmN0aW9uIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jLCBjb250ZXh0KSB7XG4gIGlmIChjaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICB2YXIgY291bnQgPSAwO1xuICBtYXBJbnRvQXJyYXkoY2hpbGRyZW4sIHJlc3VsdCwgJycsICcnLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gZnVuYy5jYWxsKGNvbnRleHQsIGNoaWxkLCBjb3VudCsrKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIENvdW50IHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhc1xuICogYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5jb3VudFxuICpcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuLlxuICovXG5cblxuZnVuY3Rpb24gY291bnRDaGlsZHJlbihjaGlsZHJlbikge1xuICB2YXIgbiA9IDA7XG4gIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoKSB7XG4gICAgbisrOyAvLyBEb24ndCByZXR1cm4gYW55dGhpbmdcbiAgfSk7XG4gIHJldHVybiBuO1xufVxuXG4vKipcbiAqIEl0ZXJhdGVzIHRocm91Z2ggY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbmZvcmVhY2hcbiAqXG4gKiBUaGUgcHJvdmlkZWQgZm9yRWFjaEZ1bmMoY2hpbGQsIGluZGV4KSB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaFxuICogbGVhZiBjaGlsZC5cbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKiwgaW50KX0gZm9yRWFjaEZ1bmNcbiAqIEBwYXJhbSB7Kn0gZm9yRWFjaENvbnRleHQgQ29udGV4dCBmb3IgZm9yRWFjaENvbnRleHQuXG4gKi9cbmZ1bmN0aW9uIGZvckVhY2hDaGlsZHJlbihjaGlsZHJlbiwgZm9yRWFjaEZ1bmMsIGZvckVhY2hDb250ZXh0KSB7XG4gIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoKSB7XG4gICAgZm9yRWFjaEZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgLy8gRG9uJ3QgcmV0dXJuIGFueXRoaW5nLlxuICB9LCBmb3JFYWNoQ29udGV4dCk7XG59XG4vKipcbiAqIEZsYXR0ZW4gYSBjaGlsZHJlbiBvYmplY3QgKHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYCkgYW5kXG4gKiByZXR1cm4gYW4gYXJyYXkgd2l0aCBhcHByb3ByaWF0ZWx5IHJlLWtleWVkIGNoaWxkcmVuLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbnRvYXJyYXlcbiAqL1xuXG5cbmZ1bmN0aW9uIHRvQXJyYXkoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gY2hpbGQ7XG4gIH0pIHx8IFtdO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCBjaGlsZCBpbiBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4gYW5kIHZlcmlmaWVzIHRoYXQgdGhlcmVcbiAqIGlzIG9ubHkgb25lIGNoaWxkIGluIHRoZSBjb2xsZWN0aW9uLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbm9ubHlcbiAqXG4gKiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBhIHNpbmdsZSBjaGlsZCBnZXRzXG4gKiBwYXNzZWQgd2l0aG91dCBhIHdyYXBwZXIsIGJ1dCB0aGUgcHVycG9zZSBvZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyB0b1xuICogYWJzdHJhY3QgYXdheSB0aGUgcGFydGljdWxhciBzdHJ1Y3R1cmUgb2YgY2hpbGRyZW4uXG4gKlxuICogQHBhcmFtIHs/b2JqZWN0fSBjaGlsZHJlbiBDaGlsZCBjb2xsZWN0aW9uIHN0cnVjdHVyZS5cbiAqIEByZXR1cm4ge1JlYWN0RWxlbWVudH0gVGhlIGZpcnN0IGFuZCBvbmx5IGBSZWFjdEVsZW1lbnRgIGNvbnRhaW5lZCBpbiB0aGVcbiAqIHN0cnVjdHVyZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIG9ubHlDaGlsZChjaGlsZHJlbikge1xuICBpZiAoIWlzVmFsaWRFbGVtZW50KGNoaWxkcmVuKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuJyk7XG4gIH1cblxuICByZXR1cm4gY2hpbGRyZW47XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlKSB7XG4gIC8vIFRPRE86IFNlY29uZCBhcmd1bWVudCB1c2VkIHRvIGJlIGFuIG9wdGlvbmFsIGBjYWxjdWxhdGVDaGFuZ2VkQml0c2BcbiAgLy8gZnVuY3Rpb24uIFdhcm4gdG8gcmVzZXJ2ZSBmb3IgZnV0dXJlIHVzZT9cbiAgdmFyIGNvbnRleHQgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAvLyBBcyBhIHdvcmthcm91bmQgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb25jdXJyZW50IHJlbmRlcmVycywgd2UgY2F0ZWdvcml6ZVxuICAgIC8vIHNvbWUgcmVuZGVyZXJzIGFzIHByaW1hcnkgYW5kIG90aGVycyBhcyBzZWNvbmRhcnkuIFdlIG9ubHkgZXhwZWN0XG4gICAgLy8gdGhlcmUgdG8gYmUgdHdvIGNvbmN1cnJlbnQgcmVuZGVyZXJzIGF0IG1vc3Q6IFJlYWN0IE5hdGl2ZSAocHJpbWFyeSkgYW5kXG4gICAgLy8gRmFicmljIChzZWNvbmRhcnkpOyBSZWFjdCBET00gKHByaW1hcnkpIGFuZCBSZWFjdCBBUlQgKHNlY29uZGFyeSkuXG4gICAgLy8gU2Vjb25kYXJ5IHJlbmRlcmVycyBzdG9yZSB0aGVpciBjb250ZXh0IHZhbHVlcyBvbiBzZXBhcmF0ZSBmaWVsZHMuXG4gICAgX2N1cnJlbnRWYWx1ZTogZGVmYXVsdFZhbHVlLFxuICAgIF9jdXJyZW50VmFsdWUyOiBkZWZhdWx0VmFsdWUsXG4gICAgLy8gVXNlZCB0byB0cmFjayBob3cgbWFueSBjb25jdXJyZW50IHJlbmRlcmVycyB0aGlzIGNvbnRleHQgY3VycmVudGx5XG4gICAgLy8gc3VwcG9ydHMgd2l0aGluIGluIGEgc2luZ2xlIHJlbmRlcmVyLiBTdWNoIGFzIHBhcmFsbGVsIHNlcnZlciByZW5kZXJpbmcuXG4gICAgX3RocmVhZENvdW50OiAwLFxuICAgIC8vIFRoZXNlIGFyZSBjaXJjdWxhclxuICAgIFByb3ZpZGVyOiBudWxsLFxuICAgIENvbnN1bWVyOiBudWxsLFxuICAgIC8vIEFkZCB0aGVzZSB0byB1c2Ugc2FtZSBoaWRkZW4gY2xhc3MgaW4gVk0gYXMgU2VydmVyQ29udGV4dFxuICAgIF9kZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgX2dsb2JhbE5hbWU6IG51bGxcbiAgfTtcbiAgY29udGV4dC5Qcm92aWRlciA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfUFJPVklERVJfVFlQRSxcbiAgICBfY29udGV4dDogY29udGV4dFxuICB9O1xuICB2YXIgaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMgPSBmYWxzZTtcbiAgdmFyIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gZmFsc2U7XG4gIHZhciBoYXNXYXJuZWRBYm91dERpc3BsYXlOYW1lT25Db25zdW1lciA9IGZhbHNlO1xuXG4gIHtcbiAgICAvLyBBIHNlcGFyYXRlIG9iamVjdCwgYnV0IHByb3hpZXMgYmFjayB0byB0aGUgb3JpZ2luYWwgY29udGV4dCBvYmplY3QgZm9yXG4gICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuIEl0IGhhcyBhIGRpZmZlcmVudCAkJHR5cGVvZiwgc28gd2UgY2FuIHByb3Blcmx5XG4gICAgLy8gd2FybiBmb3IgdGhlIGluY29ycmVjdCB1c2FnZSBvZiBDb250ZXh0IGFzIGEgQ29uc3VtZXIuXG4gICAgdmFyIENvbnN1bWVyID0ge1xuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAgIF9jb250ZXh0OiBjb250ZXh0XG4gICAgfTsgLy8gJEZsb3dGaXhNZTogRmxvdyBjb21wbGFpbnMgYWJvdXQgbm90IHNldHRpbmcgYSB2YWx1ZSwgd2hpY2ggaXMgaW50ZW50aW9uYWwgaGVyZVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ29uc3VtZXIsIHtcbiAgICAgIFByb3ZpZGVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Qcm92aWRlcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Qcm92aWRlcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Qcm92aWRlcjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX1Byb3ZpZGVyKSB7XG4gICAgICAgICAgY29udGV4dC5Qcm92aWRlciA9IF9Qcm92aWRlcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9jdXJyZW50VmFsdWU6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX2N1cnJlbnRWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IF9jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfY3VycmVudFZhbHVlMjoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlMjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZTIpIHtcbiAgICAgICAgICBjb250ZXh0Ll9jdXJyZW50VmFsdWUyID0gX2N1cnJlbnRWYWx1ZTI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfdGhyZWFkQ291bnQ6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3RocmVhZENvdW50O1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfdGhyZWFkQ291bnQpIHtcbiAgICAgICAgICBjb250ZXh0Ll90aHJlYWRDb3VudCA9IF90aHJlYWRDb3VudDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIENvbnN1bWVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdOZXN0ZWRDb250ZXh0Q29uc3VtZXJzID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Db25zdW1lcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Db25zdW1lcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Db25zdW1lcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGRpc3BsYXlOYW1lOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBjb250ZXh0LmRpc3BsYXlOYW1lO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChkaXNwbGF5TmFtZSkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXREaXNwbGF5TmFtZU9uQ29uc3VtZXIpIHtcbiAgICAgICAgICAgIHdhcm4oJ1NldHRpbmcgYGRpc3BsYXlOYW1lYCBvbiBDb250ZXh0LkNvbnN1bWVyIGhhcyBubyBlZmZlY3QuICcgKyBcIllvdSBzaG91bGQgc2V0IGl0IGRpcmVjdGx5IG9uIHRoZSBjb250ZXh0IHdpdGggQ29udGV4dC5kaXNwbGF5TmFtZSA9ICclcycuXCIsIGRpc3BsYXlOYW1lKTtcblxuICAgICAgICAgICAgaGFzV2FybmVkQWJvdXREaXNwbGF5TmFtZU9uQ29uc3VtZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pOyAvLyAkRmxvd0ZpeE1lOiBGbG93IGNvbXBsYWlucyBhYm91dCBtaXNzaW5nIHByb3BlcnRpZXMgYmVjYXVzZSBpdCBkb2Vzbid0IHVuZGVyc3RhbmQgZGVmaW5lUHJvcGVydHlcblxuICAgIGNvbnRleHQuQ29uc3VtZXIgPSBDb25zdW1lcjtcbiAgfVxuXG4gIHtcbiAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSBudWxsO1xuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlcjIgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG5cbnZhciBVbmluaXRpYWxpemVkID0gLTE7XG52YXIgUGVuZGluZyA9IDA7XG52YXIgUmVzb2x2ZWQgPSAxO1xudmFyIFJlamVjdGVkID0gMjtcblxuZnVuY3Rpb24gbGF6eUluaXRpYWxpemVyKHBheWxvYWQpIHtcbiAgaWYgKHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgIHZhciBjdG9yID0gcGF5bG9hZC5fcmVzdWx0O1xuICAgIHZhciB0aGVuYWJsZSA9IGN0b3IoKTsgLy8gVHJhbnNpdGlvbiB0byB0aGUgbmV4dCBzdGF0ZS5cbiAgICAvLyBUaGlzIG1pZ2h0IHRocm93IGVpdGhlciBiZWNhdXNlIGl0J3MgbWlzc2luZyBvciB0aHJvd3MuIElmIHNvLCB3ZSB0cmVhdCBpdFxuICAgIC8vIGFzIHN0aWxsIHVuaW5pdGlhbGl6ZWQgYW5kIHRyeSBhZ2FpbiBuZXh0IHRpbWUuIFdoaWNoIGlzIHRoZSBzYW1lIGFzIHdoYXRcbiAgICAvLyBoYXBwZW5zIGlmIHRoZSBjdG9yIG9yIGFueSB3cmFwcGVycyBwcm9jZXNzaW5nIHRoZSBjdG9yIHRocm93cy4gVGhpcyBtaWdodFxuICAgIC8vIGVuZCB1cCBmaXhpbmcgaXQgaWYgdGhlIHJlc29sdXRpb24gd2FzIGEgY29uY3VycmVuY3kgYnVnLlxuXG4gICAgdGhlbmFibGUudGhlbihmdW5jdGlvbiAobW9kdWxlT2JqZWN0KSB7XG4gICAgICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBQZW5kaW5nIHx8IHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgICAgICAvLyBUcmFuc2l0aW9uIHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgICAgICB2YXIgcmVzb2x2ZWQgPSBwYXlsb2FkO1xuICAgICAgICByZXNvbHZlZC5fc3RhdHVzID0gUmVzb2x2ZWQ7XG4gICAgICAgIHJlc29sdmVkLl9yZXN1bHQgPSBtb2R1bGVPYmplY3Q7XG4gICAgICB9XG4gICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBQZW5kaW5nIHx8IHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgICAgICAvLyBUcmFuc2l0aW9uIHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgICAgICB2YXIgcmVqZWN0ZWQgPSBwYXlsb2FkO1xuICAgICAgICByZWplY3RlZC5fc3RhdHVzID0gUmVqZWN0ZWQ7XG4gICAgICAgIHJlamVjdGVkLl9yZXN1bHQgPSBlcnJvcjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChwYXlsb2FkLl9zdGF0dXMgPT09IFVuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIC8vIEluIGNhc2UsIHdlJ3JlIHN0aWxsIHVuaW5pdGlhbGl6ZWQsIHRoZW4gd2UncmUgd2FpdGluZyBmb3IgdGhlIHRoZW5hYmxlXG4gICAgICAvLyB0byByZXNvbHZlLiBTZXQgaXQgYXMgcGVuZGluZyBpbiB0aGUgbWVhbnRpbWUuXG4gICAgICB2YXIgcGVuZGluZyA9IHBheWxvYWQ7XG4gICAgICBwZW5kaW5nLl9zdGF0dXMgPSBQZW5kaW5nO1xuICAgICAgcGVuZGluZy5fcmVzdWx0ID0gdGhlbmFibGU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBheWxvYWQuX3N0YXR1cyA9PT0gUmVzb2x2ZWQpIHtcbiAgICB2YXIgbW9kdWxlT2JqZWN0ID0gcGF5bG9hZC5fcmVzdWx0O1xuXG4gICAge1xuICAgICAgaWYgKG1vZHVsZU9iamVjdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVycm9yKCdsYXp5OiBFeHBlY3RlZCB0aGUgcmVzdWx0IG9mIGEgZHluYW1pYyBpbXAnICsgJ29ydCgpIGNhbGwuICcgKyAnSW5zdGVhZCByZWNlaXZlZDogJXNcXG5cXG5Zb3VyIGNvZGUgc2hvdWxkIGxvb2sgbGlrZTogXFxuICAnICsgLy8gQnJlYWsgdXAgaW1wb3J0cyB0byBhdm9pZCBhY2NpZGVudGFsbHkgcGFyc2luZyB0aGVtIGFzIGRlcGVuZGVuY2llcy5cbiAgICAgICAgJ2NvbnN0IE15Q29tcG9uZW50ID0gbGF6eSgoKSA9PiBpbXAnICsgXCJvcnQoJy4vTXlDb21wb25lbnQnKSlcXG5cXG5cIiArICdEaWQgeW91IGFjY2lkZW50YWxseSBwdXQgY3VybHkgYnJhY2VzIGFyb3VuZCB0aGUgaW1wb3J0PycsIG1vZHVsZU9iamVjdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKCEoJ2RlZmF1bHQnIGluIG1vZHVsZU9iamVjdCkpIHtcbiAgICAgICAgZXJyb3IoJ2xhenk6IEV4cGVjdGVkIHRoZSByZXN1bHQgb2YgYSBkeW5hbWljIGltcCcgKyAnb3J0KCkgY2FsbC4gJyArICdJbnN0ZWFkIHJlY2VpdmVkOiAlc1xcblxcbllvdXIgY29kZSBzaG91bGQgbG9vayBsaWtlOiBcXG4gICcgKyAvLyBCcmVhayB1cCBpbXBvcnRzIHRvIGF2b2lkIGFjY2lkZW50YWxseSBwYXJzaW5nIHRoZW0gYXMgZGVwZW5kZW5jaWVzLlxuICAgICAgICAnY29uc3QgTXlDb21wb25lbnQgPSBsYXp5KCgpID0+IGltcCcgKyBcIm9ydCgnLi9NeUNvbXBvbmVudCcpKVwiLCBtb2R1bGVPYmplY3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtb2R1bGVPYmplY3QuZGVmYXVsdDtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBwYXlsb2FkLl9yZXN1bHQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbGF6eShjdG9yKSB7XG4gIHZhciBwYXlsb2FkID0ge1xuICAgIC8vIFdlIHVzZSB0aGVzZSBmaWVsZHMgdG8gc3RvcmUgdGhlIHJlc3VsdC5cbiAgICBfc3RhdHVzOiBVbmluaXRpYWxpemVkLFxuICAgIF9yZXN1bHQ6IGN0b3JcbiAgfTtcbiAgdmFyIGxhenlUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9MQVpZX1RZUEUsXG4gICAgX3BheWxvYWQ6IHBheWxvYWQsXG4gICAgX2luaXQ6IGxhenlJbml0aWFsaXplclxuICB9O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kdWN0aW9uLCB0aGlzIHdvdWxkIGp1c3Qgc2V0IGl0IG9uIHRoZSBvYmplY3QuXG4gICAgdmFyIGRlZmF1bHRQcm9wcztcbiAgICB2YXIgcHJvcFR5cGVzOyAvLyAkRmxvd0ZpeE1lXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhsYXp5VHlwZSwge1xuICAgICAgZGVmYXVsdFByb3BzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRQcm9wcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3RGVmYXVsdFByb3BzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYGRlZmF1bHRQcm9wc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIGRlZmF1bHRQcm9wcyA9IG5ld0RlZmF1bHRQcm9wczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG4gICAgICAgICAgLy8gJEZsb3dGaXhNZVxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAnZGVmYXVsdFByb3BzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJvcFR5cGVzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHByb3BUeXBlcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3UHJvcFR5cGVzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYHByb3BUeXBlc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIHByb3BUeXBlcyA9IG5ld1Byb3BUeXBlczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG4gICAgICAgICAgLy8gJEZsb3dGaXhNZVxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAncHJvcFR5cGVzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbGF6eVR5cGU7XG59XG5cbmZ1bmN0aW9uIGZvcndhcmRSZWYocmVuZGVyKSB7XG4gIHtcbiAgICBpZiAocmVuZGVyICE9IG51bGwgJiYgcmVuZGVyLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCByZWNlaXZlZCBhIGBtZW1vYCAnICsgJ2NvbXBvbmVudC4gSW5zdGVhZCBvZiBmb3J3YXJkUmVmKG1lbW8oLi4uKSksIHVzZSAnICsgJ21lbW8oZm9yd2FyZFJlZiguLi4pKS4nKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCB3YXMgZ2l2ZW4gJXMuJywgcmVuZGVyID09PSBudWxsID8gJ251bGwnIDogdHlwZW9mIHJlbmRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyZW5kZXIubGVuZ3RoICE9PSAwICYmIHJlbmRlci5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVuZGVyIGZ1bmN0aW9ucyBhY2NlcHQgZXhhY3RseSB0d28gcGFyYW1ldGVyczogcHJvcHMgYW5kIHJlZi4gJXMnLCByZW5kZXIubGVuZ3RoID09PSAxID8gJ0RpZCB5b3UgZm9yZ2V0IHRvIHVzZSB0aGUgcmVmIHBhcmFtZXRlcj8nIDogJ0FueSBhZGRpdGlvbmFsIHBhcmFtZXRlciB3aWxsIGJlIHVuZGVmaW5lZC4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVuZGVyICE9IG51bGwpIHtcbiAgICAgIGlmIChyZW5kZXIuZGVmYXVsdFByb3BzICE9IG51bGwgfHwgcmVuZGVyLnByb3BUeXBlcyAhPSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlbmRlciBmdW5jdGlvbnMgZG8gbm90IHN1cHBvcnQgcHJvcFR5cGVzIG9yIGRlZmF1bHRQcm9wcy4gJyArICdEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIGEgUmVhY3QgY29tcG9uZW50PycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBlbGVtZW50VHlwZSA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSxcbiAgICByZW5kZXI6IHJlbmRlclxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHsuLi59KTtcbiAgICAgICAgLy8gVGhpcyBraW5kIG9mIGlubmVyIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGVsc2V3aGVyZSBzbyB0aGUgc2lkZSBlZmZlY3QgaXMgb2theS5cblxuICAgICAgICBpZiAoIXJlbmRlci5uYW1lICYmICFyZW5kZXIuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICByZW5kZXIuZGlzcGxheU5hbWUgPSBuYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudFR5cGU7XG59XG5cbnZhciBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFO1xuXG57XG4gIFJFQUNUX01PRFVMRV9SRUZFUkVOQ0UgPSBTeW1ib2wuZm9yKCdyZWFjdC5tb2R1bGUucmVmZXJlbmNlJyk7XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBOb3RlOiB0eXBlb2YgbWlnaHQgYmUgb3RoZXIgdGhhbiAnc3ltYm9sJyBvciAnbnVtYmVyJyAoZS5nLiBpZiBpdCdzIGEgcG9seWZpbGwpLlxuXG5cbiAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfUFJPRklMRVJfVFlQRSB8fCBlbmFibGVEZWJ1Z1RyYWNpbmcgIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgZW5hYmxlTGVnYWN5SGlkZGVuICB8fCB0eXBlID09PSBSRUFDVF9PRkZTQ1JFRU5fVFlQRSB8fCBlbmFibGVTY29wZUFQSSAgfHwgZW5hYmxlQ2FjaGVFbGVtZW50ICB8fCBlbmFibGVUcmFuc2l0aW9uVHJhY2luZyApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01PRFVMRV9SRUZFUkVOQ0UgfHwgdHlwZS5nZXRNb2R1bGVJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIG1lbW8odHlwZSwgY29tcGFyZSkge1xuICB7XG4gICAgaWYgKCFpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkpIHtcbiAgICAgIGVycm9yKCdtZW1vOiBUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGNvbXBvbmVudC4gSW5zdGVhZCAnICsgJ3JlY2VpdmVkOiAlcycsIHR5cGUgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnRUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9NRU1PX1RZUEUsXG4gICAgdHlwZTogdHlwZSxcbiAgICBjb21wYXJlOiBjb21wYXJlID09PSB1bmRlZmluZWQgPyBudWxsIDogY29tcGFyZVxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7Li4ufSk7XG4gICAgICAgIC8vIFRoaXMga2luZCBvZiBpbm5lciBmdW5jdGlvbiBpcyBub3QgdXNlZCBlbHNld2hlcmUgc28gdGhlIHNpZGUgZWZmZWN0IGlzIG9rYXkuXG5cbiAgICAgICAgaWYgKCF0eXBlLm5hbWUgJiYgIXR5cGUuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICB0eXBlLmRpc3BsYXlOYW1lID0gbmFtZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRUeXBlO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRGlzcGF0Y2hlcigpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG5cbiAge1xuICAgIGlmIChkaXNwYXRjaGVyID09PSBudWxsKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvcicgKyAnIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4nICsgJzIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4nICsgJzMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLicpO1xuICAgIH1cbiAgfSAvLyBXaWxsIHJlc3VsdCBpbiBhIG51bGwgYWNjZXNzIGVycm9yIGlmIGFjY2Vzc2VkIG91dHNpZGUgcmVuZGVyIHBoYXNlLiBXZVxuICAvLyBpbnRlbnRpb25hbGx5IGRvbid0IHRocm93IG91ciBvd24gZXJyb3IgYmVjYXVzZSB0aGlzIGlzIGluIGEgaG90IHBhdGguXG4gIC8vIEFsc28gaGVscHMgZW5zdXJlIHRoaXMgaXMgaW5saW5lZC5cblxuXG4gIHJldHVybiBkaXNwYXRjaGVyO1xufVxuZnVuY3Rpb24gdXNlQ29udGV4dChDb250ZXh0KSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcblxuICB7XG4gICAgLy8gVE9ETzogYWRkIGEgbW9yZSBnZW5lcmljIHdhcm5pbmcgZm9yIGludmFsaWQgdmFsdWVzLlxuICAgIGlmIChDb250ZXh0Ll9jb250ZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciByZWFsQ29udGV4dCA9IENvbnRleHQuX2NvbnRleHQ7IC8vIERvbid0IGRlZHVwbGljYXRlIGJlY2F1c2UgdGhpcyBsZWdpdGltYXRlbHkgY2F1c2VzIGJ1Z3NcbiAgICAgIC8vIGFuZCBub2JvZHkgc2hvdWxkIGJlIHVzaW5nIHRoaXMgaW4gZXhpc3RpbmcgY29kZS5cblxuICAgICAgaWYgKHJlYWxDb250ZXh0LkNvbnN1bWVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Db25zdW1lcikgaXMgbm90IHN1cHBvcnRlZCwgbWF5IGNhdXNlIGJ1Z3MsIGFuZCB3aWxsIGJlICcgKyAncmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9IGVsc2UgaWYgKHJlYWxDb250ZXh0LlByb3ZpZGVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Qcm92aWRlcikgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ29udGV4dChDb250ZXh0KTtcbn1cbmZ1bmN0aW9uIHVzZVN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG59XG5mdW5jdGlvbiB1c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xufVxuZnVuY3Rpb24gdXNlUmVmKGluaXRpYWxWYWx1ZSkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVJlZihpbml0aWFsVmFsdWUpO1xufVxuZnVuY3Rpb24gdXNlRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VNZW1vKGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZU1lbW8oY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZURlYnVnVmFsdWUodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gIHtcbiAgICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gICAgcmV0dXJuIGRpc3BhdGNoZXIudXNlRGVidWdWYWx1ZSh2YWx1ZSwgZm9ybWF0dGVyRm4pO1xuICB9XG59XG5mdW5jdGlvbiB1c2VUcmFuc2l0aW9uKCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVRyYW5zaXRpb24oKTtcbn1cbmZ1bmN0aW9uIHVzZURlZmVycmVkVmFsdWUodmFsdWUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VEZWZlcnJlZFZhbHVlKHZhbHVlKTtcbn1cbmZ1bmN0aW9uIHVzZUlkKCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUlkKCk7XG59XG5mdW5jdGlvbiB1c2VTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbn1cblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjtcbnZhciBwcmVmaXg7XG5mdW5jdGlvbiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIGlmIChwcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gRXh0cmFjdCB0aGUgVk0gc3BlY2lmaWMgcHJlZml4IHVzZWQgYnkgZWFjaCBsaW5lLlxuICAgICAgdHJ5IHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgdmFyIG1hdGNoID0geC5zdGFjay50cmltKCkubWF0Y2goL1xcbiggKihhdCApPykvKTtcbiAgICAgICAgcHJlZml4ID0gbWF0Y2ggJiYgbWF0Y2hbMV0gfHwgJyc7XG4gICAgICB9XG4gICAgfSAvLyBXZSB1c2UgdGhlIHByZWZpeCB0byBlbnN1cmUgb3VyIHN0YWNrcyBsaW5lIHVwIHdpdGggbmF0aXZlIHN0YWNrIGZyYW1lcy5cblxuXG4gICAgcmV0dXJuICdcXG4nICsgcHJlZml4ICsgbmFtZTtcbiAgfVxufVxudmFyIHJlZW50cnkgPSBmYWxzZTtcbnZhciBjb21wb25lbnRGcmFtZUNhY2hlO1xuXG57XG4gIHZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG4gIGNvbXBvbmVudEZyYW1lQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwKCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCAhZm4gfHwgcmVlbnRyeSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHtcbiAgICB2YXIgZnJhbWUgPSBjb21wb25lbnRGcmFtZUNhY2hlLmdldChmbik7XG5cbiAgICBpZiAoZnJhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZyYW1lO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb250cm9sO1xuICByZWVudHJ5ID0gdHJ1ZTtcbiAgdmFyIHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2UgPSBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZTsgLy8gJEZsb3dGaXhNZSBJdCBkb2VzIGFjY2VwdCB1bmRlZmluZWQuXG5cbiAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSB1bmRlZmluZWQ7XG4gIHZhciBwcmV2aW91c0Rpc3BhdGNoZXI7XG5cbiAge1xuICAgIHByZXZpb3VzRGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2aW91c0Rpc3BhdGNoZXI7XG4gICAgICByZWVuYWJsZUxvZ3MoKTtcbiAgICB9XG5cbiAgICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2U7XG4gIH0gLy8gRmFsbGJhY2sgdG8ganVzdCB1c2luZyB0aGUgbmFtZSBpZiB3ZSBjb3VsZG4ndCBtYWtlIGl0IHRocm93LlxuXG5cbiAgdmFyIG5hbWUgPSBmbiA/IGZuLmRpc3BsYXlOYW1lIHx8IGZuLm5hbWUgOiAnJztcbiAgdmFyIHN5bnRoZXRpY0ZyYW1lID0gbmFtZSA/IGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUpIDogJyc7XG5cbiAge1xuICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbXBvbmVudEZyYW1lQ2FjaGUuc2V0KGZuLCBzeW50aGV0aWNGcmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN5bnRoZXRpY0ZyYW1lO1xufVxuZnVuY3Rpb24gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKGZuLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkge1xuICB2YXIgcHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbiAgcmV0dXJuICEhKHByb3RvdHlwZSAmJiBwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLCBzb3VyY2UsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBzb3VyY2UsIG93bmVyRm4pO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIExhenkgbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGluaXQocGF5bG9hZCksIHNvdXJjZSwgb3duZXJGbik7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxudmFyIGxvZ2dlZFR5cGVGYWlsdXJlcyA9IHt9O1xudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG5cbmZ1bmN0aW9uIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIGVsZW1lbnQuX3NvdXJjZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9wVHlwZXModHlwZVNwZWNzLCB2YWx1ZXMsIGxvY2F0aW9uLCBjb21wb25lbnROYW1lLCBlbGVtZW50KSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lIFRoaXMgaXMgb2theSBidXQgRmxvdyBkb2Vzbid0IGtub3cgaXQuXG4gICAgdmFyIGhhcyA9IEZ1bmN0aW9uLmNhbGwuYmluZChoYXNPd25Qcm9wZXJ0eSk7XG5cbiAgICBmb3IgKHZhciB0eXBlU3BlY05hbWUgaW4gdHlwZVNwZWNzKSB7XG4gICAgICBpZiAoaGFzKHR5cGVTcGVjcywgdHlwZVNwZWNOYW1lKSkge1xuICAgICAgICB2YXIgZXJyb3IkMSA9IHZvaWQgMDsgLy8gUHJvcCB0eXBlIHZhbGlkYXRpb24gbWF5IHRocm93LiBJbiBjYXNlIHRoZXkgZG8sIHdlIGRvbid0IHdhbnQgdG9cbiAgICAgICAgLy8gZmFpbCB0aGUgcmVuZGVyIHBoYXNlIHdoZXJlIGl0IGRpZG4ndCBmYWlsIGJlZm9yZS4gU28gd2UgbG9nIGl0LlxuICAgICAgICAvLyBBZnRlciB0aGVzZSBoYXZlIGJlZW4gY2xlYW5lZCB1cCwgd2UnbGwgbGV0IHRoZW0gdGhyb3cuXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICAgIHZhciBlcnIgPSBFcnJvcigoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHR5cGVTcGVjTmFtZSArICdgIGlzIGludmFsaWQ7ICcgKyAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nICsgJ1RoaXMgb2Z0ZW4gaGFwcGVucyBiZWNhdXNlIG9mIHR5cG9zIHN1Y2ggYXMgYFByb3BUeXBlcy5mdW5jdGlvbmAgaW5zdGVhZCBvZiBgUHJvcFR5cGVzLmZ1bmNgLicpO1xuICAgICAgICAgICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXJyb3IkMSA9IHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdKHZhbHVlcywgdHlwZVNwZWNOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgbnVsbCwgJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJyk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgZXJyb3IkMSA9IGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yJDEgJiYgIShlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgICAgICBlcnJvcignJXM6IHR5cGUgc3BlY2lmaWNhdGlvbiBvZiAlcycgKyAnIGAlc2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICsgJ2Z1bmN0aW9uIG11c3QgcmV0dXJuIGBudWxsYCBvciBhbiBgRXJyb3JgIGJ1dCByZXR1cm5lZCBhICVzLiAnICsgJ1lvdSBtYXkgaGF2ZSBmb3Jnb3R0ZW4gdG8gcGFzcyBhbiBhcmd1bWVudCB0byB0aGUgdHlwZSBjaGVja2VyICcgKyAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICsgJ3NoYXBlIGFsbCByZXF1aXJlIGFuIGFyZ3VtZW50KS4nLCBjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycsIGxvY2F0aW9uLCB0eXBlU3BlY05hbWUsIHR5cGVvZiBlcnJvciQxKTtcblxuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yJDEgaW5zdGFuY2VvZiBFcnJvciAmJiAhKGVycm9yJDEubWVzc2FnZSBpbiBsb2dnZWRUeXBlRmFpbHVyZXMpKSB7XG4gICAgICAgICAgLy8gT25seSBtb25pdG9yIHRoaXMgZmFpbHVyZSBvbmNlIGJlY2F1c2UgdGhlcmUgdGVuZHMgdG8gYmUgYSBsb3Qgb2YgdGhlXG4gICAgICAgICAgLy8gc2FtZSBlcnJvci5cbiAgICAgICAgICBsb2dnZWRUeXBlRmFpbHVyZXNbZXJyb3IkMS5tZXNzYWdlXSA9IHRydWU7XG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgICAgICBlcnJvcignRmFpbGVkICVzIHR5cGU6ICVzJywgbG9jYXRpb24sIGVycm9yJDEubWVzc2FnZSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIGVsZW1lbnQuX3NvdXJjZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBzZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIGlmIChSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50KSB7XG4gICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgbmFtZSArICdgLic7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bShzb3VyY2UpIHtcbiAgaWYgKHNvdXJjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIGZpbGVOYW1lID0gc291cmNlLmZpbGVOYW1lLnJlcGxhY2UoL14uKltcXFxcXFwvXS8sICcnKTtcbiAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgeW91ciBjb2RlIGF0ICcgKyBmaWxlTmFtZSArICc6JyArIGxpbmVOdW1iZXIgKyAnLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtRm9yUHJvcHMoZWxlbWVudFByb3BzKSB7XG4gIGlmIChlbGVtZW50UHJvcHMgIT09IG51bGwgJiYgZWxlbWVudFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oZWxlbWVudFByb3BzLl9fc291cmNlKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAgdmFyIGluZm8gPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcblxuICBpZiAoIWluZm8pIHtcbiAgICB2YXIgcGFyZW50TmFtZSA9IHR5cGVvZiBwYXJlbnRUeXBlID09PSAnc3RyaW5nJyA/IHBhcmVudFR5cGUgOiBwYXJlbnRUeXBlLmRpc3BsYXlOYW1lIHx8IHBhcmVudFR5cGUubmFtZTtcblxuICAgIGlmIChwYXJlbnROYW1lKSB7XG4gICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluZm87XG59XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVFeHBsaWNpdEtleShlbGVtZW50LCBwYXJlbnRUeXBlKSB7XG4gIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9IGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSk7XG5cbiAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgLy8gYXNzaWduaW5nIGl0IGEga2V5LlxuXG4gIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICAvLyBHaXZlIHRoZSBjb21wb25lbnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhpcyBjaGlsZC5cbiAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgfVxuXG4gIHtcbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChpc0FycmF5KG5vZGUpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xuXG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgIC8vIFRoaXMgZWxlbWVudCB3YXMgcGFzc2VkIGluIGEgdmFsaWQgbG9jYXRpb24uXG4gICAgaWYgKG5vZGUuX3N0b3JlKSB7XG4gICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChub2RlKSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgIGlmIChpdGVyYXRvckZuICE9PSBub2RlLmVudHJpZXMpIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG4gIHZhciB2YWxpZFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSk7IC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gIC8vIHN1Y2NlZWQgYW5kIHRoZXJlIHdpbGwgbGlrZWx5IGJlIGVycm9ycyBpbiByZW5kZXIuXG5cbiAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICB2YXIgaW5mbyA9ICcnO1xuXG4gICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgfVxuXG4gICAgdmFyIHNvdXJjZUluZm8gPSBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKHByb3BzKTtcblxuICAgIGlmIChzb3VyY2VJbmZvKSB7XG4gICAgICBpbmZvICs9IHNvdXJjZUluZm87XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZm8gKz0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG4gICAgfVxuXG4gICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZVN0cmluZyA9ICdudWxsJztcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgIHR5cGVTdHJpbmcgPSAnYXJyYXknO1xuICAgIH0gZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkICYmIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgaW5mbyA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgZXhwb3J0IGEgSlNYIGxpdGVyYWwgaW5zdGVhZCBvZiBhIGNvbXBvbmVudD8nO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgfVxuXG4gICAge1xuICAgICAgZXJyb3IoJ1JlYWN0LmNyZWF0ZUVsZW1lbnQ6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnQgPSBjcmVhdGVFbGVtZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IC8vIFRoZSByZXN1bHQgY2FuIGJlIG51bGxpc2ggaWYgYSBtb2NrIG9yIGEgY3VzdG9tIGZ1bmN0aW9uIGlzIHVzZWQuXG4gIC8vIFRPRE86IERyb3AgdGhpcyB3aGVuIHRoZXNlIGFyZSBubyBsb25nZXIgYWxsb3dlZCBhcyB0aGUgdHlwZSBhcmd1bWVudC5cblxuICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH0gLy8gU2tpcCBrZXkgd2FybmluZyBpZiB0aGUgdHlwZSBpc24ndCB2YWxpZCBzaW5jZSBvdXIga2V5IHZhbGlkYXRpb24gbG9naWNcbiAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAvLyBXZSBkb24ndCB3YW50IGV4Y2VwdGlvbiBiZWhhdmlvciB0byBkaWZmZXIgYmV0d2VlbiBkZXYgYW5kIHByb2QuXG4gIC8vIChSZW5kZXJpbmcgd2lsbCB0aHJvdyB3aXRoIGEgaGVscGZ1bCBtZXNzYWdlIGFuZCBhcyBzb29uIGFzIHRoZSB0eXBlIGlzXG4gIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gIGlmICh2YWxpZFR5cGUpIHtcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFsaWRhdGVDaGlsZEtleXMoYXJndW1lbnRzW2ldLCB0eXBlKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgfSBlbHNlIHtcbiAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxudmFyIGRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5ID0gZmFsc2U7XG5mdW5jdGlvbiBjcmVhdGVGYWN0b3J5V2l0aFZhbGlkYXRpb24odHlwZSkge1xuICB2YXIgdmFsaWRhdGVkRmFjdG9yeSA9IGNyZWF0ZUVsZW1lbnRXaXRoVmFsaWRhdGlvbi5iaW5kKG51bGwsIHR5cGUpO1xuICB2YWxpZGF0ZWRGYWN0b3J5LnR5cGUgPSB0eXBlO1xuXG4gIHtcbiAgICBpZiAoIWRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5KSB7XG4gICAgICBkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSA9IHRydWU7XG5cbiAgICAgIHdhcm4oJ1JlYWN0LmNyZWF0ZUZhY3RvcnkoKSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBDb25zaWRlciB1c2luZyBKU1ggJyArICdvciB1c2UgUmVhY3QuY3JlYXRlRWxlbWVudCgpIGRpcmVjdGx5IGluc3RlYWQuJyk7XG4gICAgfSAvLyBMZWdhY3kgaG9vazogcmVtb3ZlIGl0XG5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWxpZGF0ZWRGYWN0b3J5LCAndHlwZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJ0ZhY3RvcnkudHlwZSBpcyBkZXByZWNhdGVkLiBBY2Nlc3MgdGhlIGNsYXNzIGRpcmVjdGx5ICcgKyAnYmVmb3JlIHBhc3NpbmcgaXQgdG8gY3JlYXRlRmFjdG9yeS4nKTtcblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3R5cGUnLCB7XG4gICAgICAgICAgdmFsdWU6IHR5cGVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlZEZhY3Rvcnk7XG59XG5mdW5jdGlvbiBjbG9uZUVsZW1lbnRXaXRoVmFsaWRhdGlvbihlbGVtZW50LCBwcm9wcywgY2hpbGRyZW4pIHtcbiAgdmFyIG5ld0VsZW1lbnQgPSBjbG9uZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgbmV3RWxlbWVudC50eXBlKTtcbiAgfVxuXG4gIHZhbGlkYXRlUHJvcFR5cGVzKG5ld0VsZW1lbnQpO1xuICByZXR1cm4gbmV3RWxlbWVudDtcbn1cblxuZnVuY3Rpb24gc3RhcnRUcmFuc2l0aW9uKHNjb3BlLCBvcHRpb25zKSB7XG4gIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb247XG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb24gPSB7fTtcbiAgdmFyIGN1cnJlbnRUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbjtcblxuICB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycyA9IG5ldyBTZXQoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgc2NvcGUoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG5cbiAgICB7XG4gICAgICBpZiAocHJldlRyYW5zaXRpb24gPT09IG51bGwgJiYgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMpIHtcbiAgICAgICAgdmFyIHVwZGF0ZWRGaWJlcnNDb3VudCA9IGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLnNpemU7XG5cbiAgICAgICAgaWYgKHVwZGF0ZWRGaWJlcnNDb3VudCA+IDEwKSB7XG4gICAgICAgICAgd2FybignRGV0ZWN0ZWQgYSBsYXJnZSBudW1iZXIgb2YgdXBkYXRlcyBpbnNpZGUgc3RhcnRUcmFuc2l0aW9uLiAnICsgJ0lmIHRoaXMgaXMgZHVlIHRvIGEgc3Vic2NyaXB0aW9uIHBsZWFzZSByZS13cml0ZSBpdCB0byB1c2UgUmVhY3QgcHJvdmlkZWQgaG9va3MuICcgKyAnT3RoZXJ3aXNlIGNvbmN1cnJlbnQgbW9kZSBndWFyYW50ZWVzIGFyZSBvZmYgdGhlIHRhYmxlLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMuY2xlYXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID0gZmFsc2U7XG52YXIgZW5xdWV1ZVRhc2tJbXBsID0gbnVsbDtcbmZ1bmN0aW9uIGVucXVldWVUYXNrKHRhc2spIHtcbiAgaWYgKGVucXVldWVUYXNrSW1wbCA9PT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICAvLyByZWFkIHJlcXVpcmUgb2ZmIHRoZSBtb2R1bGUgb2JqZWN0IHRvIGdldCBhcm91bmQgdGhlIGJ1bmRsZXJzLlxuICAgICAgLy8gd2UgZG9uJ3Qgd2FudCB0aGVtIHRvIGRldGVjdCBhIHJlcXVpcmUgYW5kIGJ1bmRsZSBhIE5vZGUgcG9seWZpbGwuXG4gICAgICB2YXIgcmVxdWlyZVN0cmluZyA9ICgncmVxdWlyZScgKyBNYXRoLnJhbmRvbSgpKS5zbGljZSgwLCA3KTtcbiAgICAgIHZhciBub2RlUmVxdWlyZSA9IG1vZHVsZSAmJiBtb2R1bGVbcmVxdWlyZVN0cmluZ107IC8vIGFzc3VtaW5nIHdlJ3JlIGluIG5vZGUsIGxldCdzIHRyeSB0byBnZXQgbm9kZSdzXG4gICAgICAvLyB2ZXJzaW9uIG9mIHNldEltbWVkaWF0ZSwgYnlwYXNzaW5nIGZha2UgdGltZXJzIGlmIGFueS5cblxuICAgICAgZW5xdWV1ZVRhc2tJbXBsID0gbm9kZVJlcXVpcmUuY2FsbChtb2R1bGUsICd0aW1lcnMnKS5zZXRJbW1lZGlhdGU7XG4gICAgfSBjYXRjaCAoX2Vycikge1xuICAgICAgLy8gd2UncmUgaW4gYSBicm93c2VyXG4gICAgICAvLyB3ZSBjYW4ndCB1c2UgcmVndWxhciB0aW1lcnMgYmVjYXVzZSB0aGV5IG1heSBzdGlsbCBiZSBmYWtlZFxuICAgICAgLy8gc28gd2UgdHJ5IE1lc3NhZ2VDaGFubmVsK3Bvc3RNZXNzYWdlIGluc3RlYWRcbiAgICAgIGVucXVldWVUYXNrSW1wbCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID09PSBmYWxzZSkge1xuICAgICAgICAgICAgZGlkV2FybkFib3V0TWVzc2FnZUNoYW5uZWwgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIE1lc3NhZ2VDaGFubmVsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBlcnJvcignVGhpcyBicm93c2VyIGRvZXMgbm90IGhhdmUgYSBNZXNzYWdlQ2hhbm5lbCBpbXBsZW1lbnRhdGlvbiwgJyArICdzbyBlbnF1ZXVpbmcgdGFza3MgdmlhIGF3YWl0IGFjdChhc3luYyAoKSA9PiAuLi4pIHdpbGwgZmFpbC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzICcgKyAnaWYgeW91IGVuY291bnRlciB0aGlzIHdhcm5pbmcuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBjYWxsYmFjaztcbiAgICAgICAgY2hhbm5lbC5wb3J0Mi5wb3N0TWVzc2FnZSh1bmRlZmluZWQpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZW5xdWV1ZVRhc2tJbXBsKHRhc2spO1xufVxuXG52YXIgYWN0U2NvcGVEZXB0aCA9IDA7XG52YXIgZGlkV2Fybk5vQXdhaXRBY3QgPSBmYWxzZTtcbmZ1bmN0aW9uIGFjdChjYWxsYmFjaykge1xuICB7XG4gICAgLy8gYGFjdGAgY2FsbHMgY2FuIGJlIG5lc3RlZCwgc28gd2UgdHJhY2sgdGhlIGRlcHRoLiBUaGlzIHJlcHJlc2VudHMgdGhlXG4gICAgLy8gbnVtYmVyIG9mIGBhY3RgIHNjb3BlcyBvbiB0aGUgc3RhY2suXG4gICAgdmFyIHByZXZBY3RTY29wZURlcHRoID0gYWN0U2NvcGVEZXB0aDtcbiAgICBhY3RTY29wZURlcHRoKys7XG5cbiAgICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IGBhY3RgIHNjb3BlLiBJbml0aWFsaXplIHRoZSBxdWV1ZS4gVGhlIHJlY29uY2lsZXJcbiAgICAgIC8vIHdpbGwgZGV0ZWN0IHRoZSBxdWV1ZSBhbmQgdXNlIGl0IGluc3RlYWQgb2YgU2NoZWR1bGVyLlxuICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IFtdO1xuICAgIH1cblxuICAgIHZhciBwcmV2SXNCYXRjaGluZ0xlZ2FjeSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmlzQmF0Y2hpbmdMZWdhY3k7XG4gICAgdmFyIHJlc3VsdDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBVc2VkIHRvIHJlcHJvZHVjZSBiZWhhdmlvciBvZiBgYmF0Y2hlZFVwZGF0ZXNgIGluIGxlZ2FjeSBtb2RlLiBPbmx5XG4gICAgICAvLyBzZXQgdG8gYHRydWVgIHdoaWxlIHRoZSBnaXZlbiBjYWxsYmFjayBpcyBleGVjdXRlZCwgbm90IGZvciB1cGRhdGVzXG4gICAgICAvLyB0cmlnZ2VyZWQgZHVyaW5nIGFuIGFzeW5jIGV2ZW50LCBiZWNhdXNlIHRoaXMgaXMgaG93IHRoZSBsZWdhY3lcbiAgICAgIC8vIGltcGxlbWVudGF0aW9uIG9mIGBhY3RgIGJlaGF2ZWQuXG4gICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5pc0JhdGNoaW5nTGVnYWN5ID0gdHJ1ZTtcbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKCk7IC8vIFJlcGxpY2F0ZSBiZWhhdmlvciBvZiBvcmlnaW5hbCBgYWN0YCBpbXBsZW1lbnRhdGlvbiBpbiBsZWdhY3kgbW9kZSxcbiAgICAgIC8vIHdoaWNoIGZsdXNoZWQgdXBkYXRlcyBpbW1lZGlhdGVseSBhZnRlciB0aGUgc2NvcGUgZnVuY3Rpb24gZXhpdHMsIGV2ZW5cbiAgICAgIC8vIGlmIGl0J3MgYW4gYXN5bmMgZnVuY3Rpb24uXG5cbiAgICAgIGlmICghcHJldklzQmF0Y2hpbmdMZWdhY3kgJiYgUmVhY3RDdXJyZW50QWN0UXVldWUuZGlkU2NoZWR1bGVMZWdhY3lVcGRhdGUpIHtcbiAgICAgICAgdmFyIHF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcblxuICAgICAgICBpZiAocXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5kaWRTY2hlZHVsZUxlZ2FjeVVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgIGZsdXNoQWN0UXVldWUocXVldWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RTY29wZURlcHRoKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5pc0JhdGNoaW5nTGVnYWN5ID0gcHJldklzQmF0Y2hpbmdMZWdhY3k7XG4gICAgfVxuXG4gICAgaWYgKHJlc3VsdCAhPT0gbnVsbCAmJiB0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgcmVzdWx0LnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciB0aGVuYWJsZVJlc3VsdCA9IHJlc3VsdDsgLy8gVGhlIGNhbGxiYWNrIGlzIGFuIGFzeW5jIGZ1bmN0aW9uIChpLmUuIHJldHVybmVkIGEgcHJvbWlzZSkuIFdhaXRcbiAgICAgIC8vIGZvciBpdCB0byByZXNvbHZlIGJlZm9yZSBleGl0aW5nIHRoZSBjdXJyZW50IHNjb3BlLlxuXG4gICAgICB2YXIgd2FzQXdhaXRlZCA9IGZhbHNlO1xuICAgICAgdmFyIHRoZW5hYmxlID0ge1xuICAgICAgICB0aGVuOiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgd2FzQXdhaXRlZCA9IHRydWU7XG4gICAgICAgICAgdGhlbmFibGVSZXN1bHQudGhlbihmdW5jdGlvbiAocmV0dXJuVmFsdWUpIHtcbiAgICAgICAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RTY29wZURlcHRoKTtcblxuICAgICAgICAgICAgaWYgKGFjdFNjb3BlRGVwdGggPT09IDApIHtcbiAgICAgICAgICAgICAgLy8gV2UndmUgZXhpdGVkIHRoZSBvdXRlcm1vc3QgYWN0IHNjb3BlLiBSZWN1cnNpdmVseSBmbHVzaCB0aGVcbiAgICAgICAgICAgICAgLy8gcXVldWUgdW50aWwgdGhlcmUncyBubyByZW1haW5pbmcgd29yay5cbiAgICAgICAgICAgICAgcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc29sdmUocmV0dXJuVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIHRocmV3IGFuIGVycm9yLlxuICAgICAgICAgICAgcG9wQWN0U2NvcGUocHJldkFjdFNjb3BlRGVwdGgpO1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAge1xuICAgICAgICBpZiAoIWRpZFdhcm5Ob0F3YWl0QWN0ICYmIHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkge30pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKCF3YXNBd2FpdGVkKSB7XG4gICAgICAgICAgICAgIGRpZFdhcm5Ob0F3YWl0QWN0ID0gdHJ1ZTtcblxuICAgICAgICAgICAgICBlcnJvcignWW91IGNhbGxlZCBhY3QoYXN5bmMgKCkgPT4gLi4uKSB3aXRob3V0IGF3YWl0LiAnICsgJ1RoaXMgY291bGQgbGVhZCB0byB1bmV4cGVjdGVkIHRlc3RpbmcgYmVoYXZpb3VyLCAnICsgJ2ludGVybGVhdmluZyBtdWx0aXBsZSBhY3QgY2FsbHMgYW5kIG1peGluZyB0aGVpciAnICsgJ3Njb3Blcy4gJyArICdZb3Ugc2hvdWxkIC0gYXdhaXQgYWN0KGFzeW5jICgpID0+IC4uLik7Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoZW5hYmxlO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgcmV0dXJuVmFsdWUgPSByZXN1bHQ7IC8vIFRoZSBjYWxsYmFjayBpcyBub3QgYW4gYXN5bmMgZnVuY3Rpb24uIEV4aXQgdGhlIGN1cnJlbnQgc2NvcGVcbiAgICAgIC8vIGltbWVkaWF0ZWx5LCB3aXRob3V0IGF3YWl0aW5nLlxuXG4gICAgICBwb3BBY3RTY29wZShwcmV2QWN0U2NvcGVEZXB0aCk7XG5cbiAgICAgIGlmIChhY3RTY29wZURlcHRoID09PSAwKSB7XG4gICAgICAgIC8vIEV4aXRpbmcgdGhlIG91dGVybW9zdCBhY3Qgc2NvcGUuIEZsdXNoIHRoZSBxdWV1ZS5cbiAgICAgICAgdmFyIF9xdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQ7XG5cbiAgICAgICAgaWYgKF9xdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGZsdXNoQWN0UXVldWUoX3F1ZXVlKTtcbiAgICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfSAvLyBSZXR1cm4gYSB0aGVuYWJsZS4gSWYgdGhlIHVzZXIgYXdhaXRzIGl0LCB3ZSdsbCBmbHVzaCBhZ2FpbiBpblxuICAgICAgICAvLyBjYXNlIGFkZGl0aW9uYWwgd29yayB3YXMgc2NoZWR1bGVkIGJ5IGEgbWljcm90YXNrLlxuXG5cbiAgICAgICAgdmFyIF90aGVuYWJsZSA9IHtcbiAgICAgICAgICB0aGVuOiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAvLyBDb25maXJtIHdlIGhhdmVuJ3QgcmUtZW50ZXJlZCBhbm90aGVyIGBhY3RgIHNjb3BlLCBpbiBjYXNlXG4gICAgICAgICAgICAvLyB0aGUgdXNlciBkb2VzIHNvbWV0aGluZyB3ZWlyZCBsaWtlIGF3YWl0IHRoZSB0aGVuYWJsZVxuICAgICAgICAgICAgLy8gbXVsdGlwbGUgdGltZXMuXG4gICAgICAgICAgICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBSZWN1cnNpdmVseSBmbHVzaCB0aGUgcXVldWUgdW50aWwgdGhlcmUncyBubyByZW1haW5pbmcgd29yay5cbiAgICAgICAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IFtdO1xuICAgICAgICAgICAgICByZWN1cnNpdmVseUZsdXNoQXN5bmNBY3RXb3JrKHJldHVyblZhbHVlLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoZW5hYmxlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2luY2Ugd2UncmUgaW5zaWRlIGEgbmVzdGVkIGBhY3RgIHNjb3BlLCB0aGUgcmV0dXJuZWQgdGhlbmFibGVcbiAgICAgICAgLy8gaW1tZWRpYXRlbHkgcmVzb2x2ZXMuIFRoZSBvdXRlciBzY29wZSB3aWxsIGZsdXNoIHRoZSBxdWV1ZS5cbiAgICAgICAgdmFyIF90aGVuYWJsZTIgPSB7XG4gICAgICAgICAgdGhlbjogZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoZW5hYmxlMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wQWN0U2NvcGUocHJldkFjdFNjb3BlRGVwdGgpIHtcbiAge1xuICAgIGlmIChwcmV2QWN0U2NvcGVEZXB0aCAhPT0gYWN0U2NvcGVEZXB0aCAtIDEpIHtcbiAgICAgIGVycm9yKCdZb3Ugc2VlbSB0byBoYXZlIG92ZXJsYXBwaW5nIGFjdCgpIGNhbGxzLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnQmUgc3VyZSB0byBhd2FpdCBwcmV2aW91cyBhY3QoKSBjYWxscyBiZWZvcmUgbWFraW5nIGEgbmV3IG9uZS4gJyk7XG4gICAgfVxuXG4gICAgYWN0U2NvcGVEZXB0aCA9IHByZXZBY3RTY29wZURlcHRoO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlY3Vyc2l2ZWx5Rmx1c2hBc3luY0FjdFdvcmsocmV0dXJuVmFsdWUsIHJlc29sdmUsIHJlamVjdCkge1xuICB7XG4gICAgdmFyIHF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcblxuICAgIGlmIChxdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZmx1c2hBY3RRdWV1ZShxdWV1ZSk7XG4gICAgICAgIGVucXVldWVUYXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAocXVldWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAvLyBObyBhZGRpdGlvbmFsIHdvcmsgd2FzIHNjaGVkdWxlZC4gRmluaXNoLlxuICAgICAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICByZXNvbHZlKHJldHVyblZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gS2VlcCBmbHVzaGluZyB3b3JrIHVudGlsIHRoZXJlJ3Mgbm9uZSBsZWZ0LlxuICAgICAgICAgICAgcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBpc0ZsdXNoaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGZsdXNoQWN0UXVldWUocXVldWUpIHtcbiAge1xuICAgIGlmICghaXNGbHVzaGluZykge1xuICAgICAgLy8gUHJldmVudCByZS1lbnRyYW5jZS5cbiAgICAgIGlzRmx1c2hpbmcgPSB0cnVlO1xuICAgICAgdmFyIGkgPSAwO1xuXG4gICAgICB0cnkge1xuICAgICAgICBmb3IgKDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGNhbGxiYWNrID0gcXVldWVbaV07XG5cbiAgICAgICAgICBkbyB7XG4gICAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrKHRydWUpO1xuICAgICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHF1ZXVlLmxlbmd0aCA9IDA7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBJZiBzb21ldGhpbmcgdGhyb3dzLCBsZWF2ZSB0aGUgcmVtYWluaW5nIGNhbGxiYWNrcyBvbiB0aGUgcXVldWUuXG4gICAgICAgIHF1ZXVlID0gcXVldWUuc2xpY2UoaSArIDEpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlzRmx1c2hpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGNyZWF0ZUVsZW1lbnQkMSA9ICBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24gO1xudmFyIGNsb25lRWxlbWVudCQxID0gIGNsb25lRWxlbWVudFdpdGhWYWxpZGF0aW9uIDtcbnZhciBjcmVhdGVGYWN0b3J5ID0gIGNyZWF0ZUZhY3RvcnlXaXRoVmFsaWRhdGlvbiA7XG52YXIgQ2hpbGRyZW4gPSB7XG4gIG1hcDogbWFwQ2hpbGRyZW4sXG4gIGZvckVhY2g6IGZvckVhY2hDaGlsZHJlbixcbiAgY291bnQ6IGNvdW50Q2hpbGRyZW4sXG4gIHRvQXJyYXk6IHRvQXJyYXksXG4gIG9ubHk6IG9ubHlDaGlsZFxufTtcblxuZXhwb3J0cy5DaGlsZHJlbiA9IENoaWxkcmVuO1xuZXhwb3J0cy5Db21wb25lbnQgPSBDb21wb25lbnQ7XG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuUHJvZmlsZXIgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xuZXhwb3J0cy5QdXJlQ29tcG9uZW50ID0gUHVyZUNvbXBvbmVudDtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFJFQUNUX1NUUklDVF9NT0RFX1RZUEU7XG5leHBvcnRzLlN1c3BlbnNlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBSZWFjdFNoYXJlZEludGVybmFscztcbmV4cG9ydHMuY2xvbmVFbGVtZW50ID0gY2xvbmVFbGVtZW50JDE7XG5leHBvcnRzLmNyZWF0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0O1xuZXhwb3J0cy5jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudCQxO1xuZXhwb3J0cy5jcmVhdGVGYWN0b3J5ID0gY3JlYXRlRmFjdG9yeTtcbmV4cG9ydHMuY3JlYXRlUmVmID0gY3JlYXRlUmVmO1xuZXhwb3J0cy5mb3J3YXJkUmVmID0gZm9yd2FyZFJlZjtcbmV4cG9ydHMuaXNWYWxpZEVsZW1lbnQgPSBpc1ZhbGlkRWxlbWVudDtcbmV4cG9ydHMubGF6eSA9IGxhenk7XG5leHBvcnRzLm1lbW8gPSBtZW1vO1xuZXhwb3J0cy5zdGFydFRyYW5zaXRpb24gPSBzdGFydFRyYW5zaXRpb247XG5leHBvcnRzLnVuc3RhYmxlX2FjdCA9IGFjdDtcbmV4cG9ydHMudXNlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaztcbmV4cG9ydHMudXNlQ29udGV4dCA9IHVzZUNvbnRleHQ7XG5leHBvcnRzLnVzZURlYnVnVmFsdWUgPSB1c2VEZWJ1Z1ZhbHVlO1xuZXhwb3J0cy51c2VEZWZlcnJlZFZhbHVlID0gdXNlRGVmZXJyZWRWYWx1ZTtcbmV4cG9ydHMudXNlRWZmZWN0ID0gdXNlRWZmZWN0O1xuZXhwb3J0cy51c2VJZCA9IHVzZUlkO1xuZXhwb3J0cy51c2VJbXBlcmF0aXZlSGFuZGxlID0gdXNlSW1wZXJhdGl2ZUhhbmRsZTtcbmV4cG9ydHMudXNlSW5zZXJ0aW9uRWZmZWN0ID0gdXNlSW5zZXJ0aW9uRWZmZWN0O1xuZXhwb3J0cy51c2VMYXlvdXRFZmZlY3QgPSB1c2VMYXlvdXRFZmZlY3Q7XG5leHBvcnRzLnVzZU1lbW8gPSB1c2VNZW1vO1xuZXhwb3J0cy51c2VSZWR1Y2VyID0gdXNlUmVkdWNlcjtcbmV4cG9ydHMudXNlUmVmID0gdXNlUmVmO1xuZXhwb3J0cy51c2VTdGF0ZSA9IHVzZVN0YXRlO1xuZXhwb3J0cy51c2VTeW5jRXh0ZXJuYWxTdG9yZSA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlO1xuZXhwb3J0cy51c2VUcmFuc2l0aW9uID0gdXNlVHJhbnNpdGlvbjtcbmV4cG9ydHMudmVyc2lvbiA9IFJlYWN0VmVyc2lvbjtcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react/index.js": -/*!*************************************!*\ - !*** ./node_modules/react/index.js ***! - \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react.development.js */ \"./node_modules/react/cjs/react.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLHVIQUFzRDtBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanM/MWZiMiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react/jsx-runtime.js": -/*!*******************************************!*\ - !*** ./node_modules/react/jsx-runtime.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ \"./node_modules/react/cjs/react-jsx-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLCtJQUFrRTtBQUNwRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LXJ1bnRpbWUuanM/MzRkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LXJ1bnRpbWUucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/jsx-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/scheduler/cjs/scheduler.development.js": -/*!*************************************************************!*\ - !*** ./node_modules/scheduler/cjs/scheduler.development.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * scheduler.development.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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime;\n var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRSxvQkFBb0I7QUFDdEI7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBLEVBQUUsb0JBQW9CO0FBQ3RCO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0Esb0NBQW9DOztBQUVwQyxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQSxrQ0FBa0M7O0FBRWxDLCtDQUErQzs7QUFFL0M7QUFDQSxxQkFBcUI7O0FBRXJCLHVCQUF1QjtBQUN2QjtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBLG1GQUFtRjs7QUFFbkY7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQSw2QkFBNkI7O0FBRTdCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhDQUE4QztBQUM5Qzs7QUFFQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFDbEMsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiwwQkFBMEI7QUFDMUIscUNBQXFDO0FBQ3JDLCtCQUErQjtBQUMvQixrQ0FBa0M7QUFDbEMsK0JBQStCO0FBQy9CLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMscUJBQXFCO0FBQ3JCLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQyw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanM/YmNkMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiBzY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgZW5hYmxlU2NoZWR1bGVyRGVidWdnaW5nID0gZmFsc2U7XG52YXIgZW5hYmxlUHJvZmlsaW5nID0gZmFsc2U7XG52YXIgZnJhbWVZaWVsZE1zID0gNTtcblxuZnVuY3Rpb24gcHVzaChoZWFwLCBub2RlKSB7XG4gIHZhciBpbmRleCA9IGhlYXAubGVuZ3RoO1xuICBoZWFwLnB1c2gobm9kZSk7XG4gIHNpZnRVcChoZWFwLCBub2RlLCBpbmRleCk7XG59XG5mdW5jdGlvbiBwZWVrKGhlYXApIHtcbiAgcmV0dXJuIGhlYXAubGVuZ3RoID09PSAwID8gbnVsbCA6IGhlYXBbMF07XG59XG5mdW5jdGlvbiBwb3AoaGVhcCkge1xuICBpZiAoaGVhcC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XG4gIHZhciBsYXN0ID0gaGVhcC5wb3AoKTtcblxuICBpZiAobGFzdCAhPT0gZmlyc3QpIHtcbiAgICBoZWFwWzBdID0gbGFzdDtcbiAgICBzaWZ0RG93bihoZWFwLCBsYXN0LCAwKTtcbiAgfVxuXG4gIHJldHVybiBmaXJzdDtcbn1cblxuZnVuY3Rpb24gc2lmdFVwKGhlYXAsIG5vZGUsIGkpIHtcbiAgdmFyIGluZGV4ID0gaTtcblxuICB3aGlsZSAoaW5kZXggPiAwKSB7XG4gICAgdmFyIHBhcmVudEluZGV4ID0gaW5kZXggLSAxID4+PiAxO1xuICAgIHZhciBwYXJlbnQgPSBoZWFwW3BhcmVudEluZGV4XTtcblxuICAgIGlmIChjb21wYXJlKHBhcmVudCwgbm9kZSkgPiAwKSB7XG4gICAgICAvLyBUaGUgcGFyZW50IGlzIGxhcmdlci4gU3dhcCBwb3NpdGlvbnMuXG4gICAgICBoZWFwW3BhcmVudEluZGV4XSA9IG5vZGU7XG4gICAgICBoZWFwW2luZGV4XSA9IHBhcmVudDtcbiAgICAgIGluZGV4ID0gcGFyZW50SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBwYXJlbnQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2lmdERvd24oaGVhcCwgbm9kZSwgaSkge1xuICB2YXIgaW5kZXggPSBpO1xuICB2YXIgbGVuZ3RoID0gaGVhcC5sZW5ndGg7XG4gIHZhciBoYWxmTGVuZ3RoID0gbGVuZ3RoID4+PiAxO1xuXG4gIHdoaWxlIChpbmRleCA8IGhhbGZMZW5ndGgpIHtcbiAgICB2YXIgbGVmdEluZGV4ID0gKGluZGV4ICsgMSkgKiAyIC0gMTtcbiAgICB2YXIgbGVmdCA9IGhlYXBbbGVmdEluZGV4XTtcbiAgICB2YXIgcmlnaHRJbmRleCA9IGxlZnRJbmRleCArIDE7XG4gICAgdmFyIHJpZ2h0ID0gaGVhcFtyaWdodEluZGV4XTsgLy8gSWYgdGhlIGxlZnQgb3IgcmlnaHQgbm9kZSBpcyBzbWFsbGVyLCBzd2FwIHdpdGggdGhlIHNtYWxsZXIgb2YgdGhvc2UuXG5cbiAgICBpZiAoY29tcGFyZShsZWZ0LCBub2RlKSA8IDApIHtcbiAgICAgIGlmIChyaWdodEluZGV4IDwgbGVuZ3RoICYmIGNvbXBhcmUocmlnaHQsIGxlZnQpIDwgMCkge1xuICAgICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgICBoZWFwW3JpZ2h0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgaW5kZXggPSByaWdodEluZGV4O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGVhcFtpbmRleF0gPSBsZWZ0O1xuICAgICAgICBoZWFwW2xlZnRJbmRleF0gPSBub2RlO1xuICAgICAgICBpbmRleCA9IGxlZnRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJpZ2h0SW5kZXggPCBsZW5ndGggJiYgY29tcGFyZShyaWdodCwgbm9kZSkgPCAwKSB7XG4gICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgaGVhcFtyaWdodEluZGV4XSA9IG5vZGU7XG4gICAgICBpbmRleCA9IHJpZ2h0SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5laXRoZXIgY2hpbGQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7XG4gIC8vIENvbXBhcmUgc29ydCBpbmRleCBmaXJzdCwgdGhlbiB0YXNrIGlkLlxuICB2YXIgZGlmZiA9IGEuc29ydEluZGV4IC0gYi5zb3J0SW5kZXg7XG4gIHJldHVybiBkaWZmICE9PSAwID8gZGlmZiA6IGEuaWQgLSBiLmlkO1xufVxuXG4vLyBUT0RPOiBVc2Ugc3ltYm9scz9cbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDE7XG52YXIgVXNlckJsb2NraW5nUHJpb3JpdHkgPSAyO1xudmFyIE5vcm1hbFByaW9yaXR5ID0gMztcbnZhciBMb3dQcmlvcml0eSA9IDQ7XG52YXIgSWRsZVByaW9yaXR5ID0gNTtcblxuZnVuY3Rpb24gbWFya1Rhc2tFcnJvcmVkKHRhc2ssIG1zKSB7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZhciAqL1xuXG52YXIgaGFzUGVyZm9ybWFuY2VOb3cgPSB0eXBlb2YgcGVyZm9ybWFuY2UgPT09ICdvYmplY3QnICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5ub3cgPT09ICdmdW5jdGlvbic7XG5cbmlmIChoYXNQZXJmb3JtYW5jZU5vdykge1xuICB2YXIgbG9jYWxQZXJmb3JtYW5jZSA9IHBlcmZvcm1hbmNlO1xuXG4gIGV4cG9ydHMudW5zdGFibGVfbm93ID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBsb2NhbFBlcmZvcm1hbmNlLm5vdygpO1xuICB9O1xufSBlbHNlIHtcbiAgdmFyIGxvY2FsRGF0ZSA9IERhdGU7XG4gIHZhciBpbml0aWFsVGltZSA9IGxvY2FsRGF0ZS5ub3coKTtcblxuICBleHBvcnRzLnVuc3RhYmxlX25vdyA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbG9jYWxEYXRlLm5vdygpIC0gaW5pdGlhbFRpbWU7XG4gIH07XG59IC8vIE1heCAzMSBiaXQgaW50ZWdlci4gVGhlIG1heCBpbnRlZ2VyIHNpemUgaW4gVjggZm9yIDMyLWJpdCBzeXN0ZW1zLlxuLy8gTWF0aC5wb3coMiwgMzApIC0gMVxuLy8gMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcblxuXG52YXIgbWF4U2lnbmVkMzFCaXRJbnQgPSAxMDczNzQxODIzOyAvLyBUaW1lcyBvdXQgaW1tZWRpYXRlbHlcblxudmFyIElNTUVESUFURV9QUklPUklUWV9USU1FT1VUID0gLTE7IC8vIEV2ZW50dWFsbHkgdGltZXMgb3V0XG5cbnZhciBVU0VSX0JMT0NLSU5HX1BSSU9SSVRZX1RJTUVPVVQgPSAyNTA7XG52YXIgTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQgPSA1MDAwO1xudmFyIExPV19QUklPUklUWV9USU1FT1VUID0gMTAwMDA7IC8vIE5ldmVyIHRpbWVzIG91dFxuXG52YXIgSURMRV9QUklPUklUWV9USU1FT1VUID0gbWF4U2lnbmVkMzFCaXRJbnQ7IC8vIFRhc2tzIGFyZSBzdG9yZWQgb24gYSBtaW4gaGVhcFxuXG52YXIgdGFza1F1ZXVlID0gW107XG52YXIgdGltZXJRdWV1ZSA9IFtdOyAvLyBJbmNyZW1lbnRpbmcgaWQgY291bnRlci4gVXNlZCB0byBtYWludGFpbiBpbnNlcnRpb24gb3JkZXIuXG5cbnZhciB0YXNrSWRDb3VudGVyID0gMTsgLy8gUGF1c2luZyB0aGUgc2NoZWR1bGVyIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nLlxudmFyIGN1cnJlbnRUYXNrID0gbnVsbDtcbnZhciBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5OyAvLyBUaGlzIGlzIHNldCB3aGlsZSBwZXJmb3JtaW5nIHdvcmssIHRvIHByZXZlbnQgcmUtZW50cmFuY2UuXG5cbnZhciBpc1BlcmZvcm1pbmdXb3JrID0gZmFsc2U7XG52YXIgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSBmYWxzZTtcbnZhciBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7IC8vIENhcHR1cmUgbG9jYWwgcmVmZXJlbmNlcyB0byBuYXRpdmUgQVBJcywgaW4gY2FzZSBhIHBvbHlmaWxsIG92ZXJyaWRlcyB0aGVtLlxuXG52YXIgbG9jYWxTZXRUaW1lb3V0ID0gdHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBzZXRUaW1lb3V0IDogbnVsbDtcbnZhciBsb2NhbENsZWFyVGltZW91dCA9IHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBjbGVhclRpbWVvdXQgOiBudWxsO1xudmFyIGxvY2FsU2V0SW1tZWRpYXRlID0gdHlwZW9mIHNldEltbWVkaWF0ZSAhPT0gJ3VuZGVmaW5lZCcgPyBzZXRJbW1lZGlhdGUgOiBudWxsOyAvLyBJRSBhbmQgTm9kZS5qcyArIGpzZG9tXG5cbnZhciBpc0lucHV0UGVuZGluZyA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci5zY2hlZHVsaW5nICE9PSB1bmRlZmluZWQgJiYgbmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcgIT09IHVuZGVmaW5lZCA/IG5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpIDogbnVsbDtcblxuZnVuY3Rpb24gYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSkge1xuICAvLyBDaGVjayBmb3IgdGFza3MgdGhhdCBhcmUgbm8gbG9uZ2VyIGRlbGF5ZWQgYW5kIGFkZCB0aGVtIHRvIHRoZSBxdWV1ZS5cbiAgdmFyIHRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICB3aGlsZSAodGltZXIgIT09IG51bGwpIHtcbiAgICBpZiAodGltZXIuY2FsbGJhY2sgPT09IG51bGwpIHtcbiAgICAgIC8vIFRpbWVyIHdhcyBjYW5jZWxsZWQuXG4gICAgICBwb3AodGltZXJRdWV1ZSk7XG4gICAgfSBlbHNlIGlmICh0aW1lci5zdGFydFRpbWUgPD0gY3VycmVudFRpbWUpIHtcbiAgICAgIC8vIFRpbWVyIGZpcmVkLiBUcmFuc2ZlciB0byB0aGUgdGFzayBxdWV1ZS5cbiAgICAgIHBvcCh0aW1lclF1ZXVlKTtcbiAgICAgIHRpbWVyLnNvcnRJbmRleCA9IHRpbWVyLmV4cGlyYXRpb25UaW1lO1xuICAgICAgcHVzaCh0YXNrUXVldWUsIHRpbWVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVtYWluaW5nIHRpbWVycyBhcmUgcGVuZGluZy5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlVGltZW91dChjdXJyZW50VGltZSkge1xuICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gIGFkdmFuY2VUaW1lcnMoY3VycmVudFRpbWUpO1xuXG4gIGlmICghaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQpIHtcbiAgICBpZiAocGVlayh0YXNrUXVldWUpICE9PSBudWxsKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdFRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICAgICAgaWYgKGZpcnN0VGltZXIgIT09IG51bGwpIHtcbiAgICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmbHVzaFdvcmsoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpIHtcblxuXG4gIGlzSG9zdENhbGxiYWNrU2NoZWR1bGVkID0gZmFsc2U7XG5cbiAgaWYgKGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQpIHtcbiAgICAvLyBXZSBzY2hlZHVsZWQgYSB0aW1lb3V0IGJ1dCBpdCdzIG5vIGxvbmdlciBuZWVkZWQuIENhbmNlbCBpdC5cbiAgICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgfVxuXG4gIGlzUGVyZm9ybWluZ1dvcmsgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlUHJvZmlsaW5nKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gd29ya0xvb3AoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRUYXNrICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgICAgICAgICBtYXJrVGFza0Vycm9yZWQoY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcbiAgICAgICAgICBjdXJyZW50VGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGNhdGNoIGluIHByb2QgY29kZSBwYXRoLlxuICAgICAgcmV0dXJuIHdvcmtMb29wKGhhc1RpbWVSZW1haW5pbmcsIGluaXRpYWxUaW1lKTtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgY3VycmVudFRhc2sgPSBudWxsO1xuICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJldmlvdXNQcmlvcml0eUxldmVsO1xuICAgIGlzUGVyZm9ybWluZ1dvcmsgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSkge1xuICB2YXIgY3VycmVudFRpbWUgPSBpbml0aWFsVGltZTtcbiAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xuXG4gIHdoaWxlIChjdXJyZW50VGFzayAhPT0gbnVsbCAmJiAhKGVuYWJsZVNjaGVkdWxlckRlYnVnZ2luZyApKSB7XG4gICAgaWYgKGN1cnJlbnRUYXNrLmV4cGlyYXRpb25UaW1lID4gY3VycmVudFRpbWUgJiYgKCFoYXNUaW1lUmVtYWluaW5nIHx8IHNob3VsZFlpZWxkVG9Ib3N0KCkpKSB7XG4gICAgICAvLyBUaGlzIGN1cnJlbnRUYXNrIGhhc24ndCBleHBpcmVkLCBhbmQgd2UndmUgcmVhY2hlZCB0aGUgZGVhZGxpbmUuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgY2FsbGJhY2sgPSBjdXJyZW50VGFzay5jYWxsYmFjaztcblxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGN1cnJlbnRUYXNrLmNhbGxiYWNrID0gbnVsbDtcbiAgICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFRhc2sucHJpb3JpdHlMZXZlbDtcbiAgICAgIHZhciBkaWRVc2VyQ2FsbGJhY2tUaW1lb3V0ID0gY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWU7XG5cbiAgICAgIHZhciBjb250aW51YXRpb25DYWxsYmFjayA9IGNhbGxiYWNrKGRpZFVzZXJDYWxsYmFja1RpbWVvdXQpO1xuICAgICAgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xuXG4gICAgICBpZiAodHlwZW9mIGNvbnRpbnVhdGlvbkNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGN1cnJlbnRUYXNrLmNhbGxiYWNrID0gY29udGludWF0aW9uQ2FsbGJhY2s7XG4gICAgICB9IGVsc2Uge1xuXG4gICAgICAgIGlmIChjdXJyZW50VGFzayA9PT0gcGVlayh0YXNrUXVldWUpKSB7XG4gICAgICAgICAgcG9wKHRhc2tRdWV1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvcCh0YXNrUXVldWUpO1xuICAgIH1cblxuICAgIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xuICB9IC8vIFJldHVybiB3aGV0aGVyIHRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrXG5cblxuICBpZiAoY3VycmVudFRhc2sgIT09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZmlyc3RUaW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG5cbiAgICBpZiAoZmlyc3RUaW1lciAhPT0gbnVsbCkge1xuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkocHJpb3JpdHlMZXZlbCwgZXZlbnRIYW5kbGVyKSB7XG4gIHN3aXRjaCAocHJpb3JpdHlMZXZlbCkge1xuICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgIGNhc2UgTG93UHJpb3JpdHk6XG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBwcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7XG4gIH1cblxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJpb3JpdHlMZXZlbDtcblxuICB0cnkge1xuICAgIHJldHVybiBldmVudEhhbmRsZXIoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9uZXh0KGV2ZW50SGFuZGxlcikge1xuICB2YXIgcHJpb3JpdHlMZXZlbDtcblxuICBzd2l0Y2ggKGN1cnJlbnRQcmlvcml0eUxldmVsKSB7XG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICAvLyBTaGlmdCBkb3duIHRvIG5vcm1hbCBwcmlvcml0eVxuICAgICAgcHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gQW55dGhpbmcgbG93ZXIgdGhhbiBub3JtYWwgcHJpb3JpdHkgc2hvdWxkIHJlbWFpbiBhdCB0aGUgY3VycmVudCBsZXZlbC5cbiAgICAgIHByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgdmFyIHByZXZpb3VzUHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xuICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZXZlbnRIYW5kbGVyKCk7XG4gIH0gZmluYWxseSB7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XG4gIH1cbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfd3JhcENhbGxiYWNrKGNhbGxiYWNrKSB7XG4gIHZhciBwYXJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgcnVuV2l0aFByaW9yaXR5LCBpbmxpbmVkIGZvciBwZXJmb3JtYW5jZS5cbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwYXJlbnRQcmlvcml0eUxldmVsO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBjYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgdmFyIHN0YXJ0VGltZTtcblxuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwpIHtcbiAgICB2YXIgZGVsYXkgPSBvcHRpb25zLmRlbGF5O1xuXG4gICAgaWYgKHR5cGVvZiBkZWxheSA9PT0gJ251bWJlcicgJiYgZGVsYXkgPiAwKSB7XG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZSArIGRlbGF5O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWU7XG4gIH1cblxuICB2YXIgdGltZW91dDtcblxuICBzd2l0Y2ggKHByaW9yaXR5TGV2ZWwpIHtcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IElNTUVESUFURV9QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IFVTRVJfQkxPQ0tJTkdfUFJJT1JJVFlfVElNRU9VVDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICB0aW1lb3V0ID0gSURMRV9QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIExvd1ByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IExPV19QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgIGRlZmF1bHQ6XG4gICAgICB0aW1lb3V0ID0gTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBleHBpcmF0aW9uVGltZSA9IHN0YXJ0VGltZSArIHRpbWVvdXQ7XG4gIHZhciBuZXdUYXNrID0ge1xuICAgIGlkOiB0YXNrSWRDb3VudGVyKyssXG4gICAgY2FsbGJhY2s6IGNhbGxiYWNrLFxuICAgIHByaW9yaXR5TGV2ZWw6IHByaW9yaXR5TGV2ZWwsXG4gICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsXG4gICAgZXhwaXJhdGlvblRpbWU6IGV4cGlyYXRpb25UaW1lLFxuICAgIHNvcnRJbmRleDogLTFcbiAgfTtcblxuICBpZiAoc3RhcnRUaW1lID4gY3VycmVudFRpbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZGVsYXllZCB0YXNrLlxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gc3RhcnRUaW1lO1xuICAgIHB1c2godGltZXJRdWV1ZSwgbmV3VGFzayk7XG5cbiAgICBpZiAocGVlayh0YXNrUXVldWUpID09PSBudWxsICYmIG5ld1Rhc2sgPT09IHBlZWsodGltZXJRdWV1ZSkpIHtcbiAgICAgIC8vIEFsbCB0YXNrcyBhcmUgZGVsYXllZCwgYW5kIHRoaXMgaXMgdGhlIHRhc2sgd2l0aCB0aGUgZWFybGllc3QgZGVsYXkuXG4gICAgICBpZiAoaXNIb3N0VGltZW91dFNjaGVkdWxlZCkge1xuICAgICAgICAvLyBDYW5jZWwgYW4gZXhpc3RpbmcgdGltZW91dC5cbiAgICAgICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQgPSB0cnVlO1xuICAgICAgfSAvLyBTY2hlZHVsZSBhIHRpbWVvdXQuXG5cblxuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIHN0YXJ0VGltZSAtIGN1cnJlbnRUaW1lKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV3VGFzay5zb3J0SW5kZXggPSBleHBpcmF0aW9uVGltZTtcbiAgICBwdXNoKHRhc2tRdWV1ZSwgbmV3VGFzayk7XG4gICAgLy8gd2FpdCB1bnRpbCB0aGUgbmV4dCB0aW1lIHdlIHlpZWxkLlxuXG5cbiAgICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ld1Rhc2s7XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uKCkge1xufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbigpIHtcblxuICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xuICAgIHJlcXVlc3RIb3N0Q2FsbGJhY2soZmx1c2hXb3JrKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZSgpIHtcbiAgcmV0dXJuIHBlZWsodGFza1F1ZXVlKTtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sodGFzaykge1xuICAvLyByZW1vdmUgZnJvbSB0aGUgcXVldWUgYmVjYXVzZSB5b3UgY2FuJ3QgcmVtb3ZlIGFyYml0cmFyeSBub2RlcyBmcm9tIGFuXG4gIC8vIGFycmF5IGJhc2VkIGhlYXAsIG9ubHkgdGhlIGZpcnN0IG9uZS4pXG5cblxuICB0YXNrLmNhbGxiYWNrID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKSB7XG4gIHJldHVybiBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbn1cblxudmFyIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gZmFsc2U7XG52YXIgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gbnVsbDtcbnZhciB0YXNrVGltZW91dElEID0gLTE7IC8vIFNjaGVkdWxlciBwZXJpb2RpY2FsbHkgeWllbGRzIGluIGNhc2UgdGhlcmUgaXMgb3RoZXIgd29yayBvbiB0aGUgbWFpblxuLy8gdGhyZWFkLCBsaWtlIHVzZXIgZXZlbnRzLiBCeSBkZWZhdWx0LCBpdCB5aWVsZHMgbXVsdGlwbGUgdGltZXMgcGVyIGZyYW1lLlxuLy8gSXQgZG9lcyBub3QgYXR0ZW1wdCB0byBhbGlnbiB3aXRoIGZyYW1lIGJvdW5kYXJpZXMsIHNpbmNlIG1vc3QgdGFza3MgZG9uJ3Rcbi8vIG5lZWQgdG8gYmUgZnJhbWUgYWxpZ25lZDsgZm9yIHRob3NlIHRoYXQgZG8sIHVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuXG5cbnZhciBmcmFtZUludGVydmFsID0gZnJhbWVZaWVsZE1zO1xudmFyIHN0YXJ0VGltZSA9IC0xO1xuXG5mdW5jdGlvbiBzaG91bGRZaWVsZFRvSG9zdCgpIHtcbiAgdmFyIHRpbWVFbGFwc2VkID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKSAtIHN0YXJ0VGltZTtcblxuICBpZiAodGltZUVsYXBzZWQgPCBmcmFtZUludGVydmFsKSB7XG4gICAgLy8gVGhlIG1haW4gdGhyZWFkIGhhcyBvbmx5IGJlZW4gYmxvY2tlZCBmb3IgYSByZWFsbHkgc2hvcnQgYW1vdW50IG9mIHRpbWU7XG4gICAgLy8gc21hbGxlciB0aGFuIGEgc2luZ2xlIGZyYW1lLiBEb24ndCB5aWVsZCB5ZXQuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIFRoZSBtYWluIHRocmVhZCBoYXMgYmVlbiBibG9ja2VkIGZvciBhIG5vbi1uZWdsaWdpYmxlIGFtb3VudCBvZiB0aW1lLiBXZVxuXG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RQYWludCgpIHtcblxufVxuXG5mdW5jdGlvbiBmb3JjZUZyYW1lUmF0ZShmcHMpIHtcbiAgaWYgKGZwcyA8IDAgfHwgZnBzID4gMTI1KSB7XG4gICAgLy8gVXNpbmcgY29uc29sZVsnZXJyb3InXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG4gICAgY29uc29sZVsnZXJyb3InXSgnZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsICcgKyAnZm9yY2luZyBmcmFtZSByYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZnBzID4gMCkge1xuICAgIGZyYW1lSW50ZXJ2YWwgPSBNYXRoLmZsb29yKDEwMDAgLyBmcHMpO1xuICB9IGVsc2Uge1xuICAgIC8vIHJlc2V0IHRoZSBmcmFtZXJhdGVcbiAgICBmcmFtZUludGVydmFsID0gZnJhbWVZaWVsZE1zO1xuICB9XG59XG5cbnZhciBwZXJmb3JtV29ya1VudGlsRGVhZGxpbmUgPSBmdW5jdGlvbiAoKSB7XG4gIGlmIChzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpOyAvLyBLZWVwIHRyYWNrIG9mIHRoZSBzdGFydCB0aW1lIHNvIHdlIGNhbiBtZWFzdXJlIGhvdyBsb25nIHRoZSBtYWluIHRocmVhZFxuICAgIC8vIGhhcyBiZWVuIGJsb2NrZWQuXG5cbiAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICB2YXIgaGFzVGltZVJlbWFpbmluZyA9IHRydWU7IC8vIElmIGEgc2NoZWR1bGVyIHRhc2sgdGhyb3dzLCBleGl0IHRoZSBjdXJyZW50IGJyb3dzZXIgdGFzayBzbyB0aGVcbiAgICAvLyBlcnJvciBjYW4gYmUgb2JzZXJ2ZWQuXG4gICAgLy9cbiAgICAvLyBJbnRlbnRpb25hbGx5IG5vdCB1c2luZyBhIHRyeS1jYXRjaCwgc2luY2UgdGhhdCBtYWtlcyBzb21lIGRlYnVnZ2luZ1xuICAgIC8vIHRlY2huaXF1ZXMgaGFyZGVyLiBJbnN0ZWFkLCBpZiBgc2NoZWR1bGVkSG9zdENhbGxiYWNrYCBlcnJvcnMsIHRoZW5cbiAgICAvLyBgaGFzTW9yZVdvcmtgIHdpbGwgcmVtYWluIHRydWUsIGFuZCB3ZSdsbCBjb250aW51ZSB0aGUgd29yayBsb29wLlxuXG4gICAgdmFyIGhhc01vcmVXb3JrID0gdHJ1ZTtcblxuICAgIHRyeSB7XG4gICAgICBoYXNNb3JlV29yayA9IHNjaGVkdWxlZEhvc3RDYWxsYmFjayhoYXNUaW1lUmVtYWluaW5nLCBjdXJyZW50VGltZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChoYXNNb3JlV29yaykge1xuICAgICAgICAvLyBJZiB0aGVyZSdzIG1vcmUgd29yaywgc2NoZWR1bGUgdGhlIG5leHQgbWVzc2FnZSBldmVudCBhdCB0aGUgZW5kXG4gICAgICAgIC8vIG9mIHRoZSBwcmVjZWRpbmcgb25lLlxuICAgICAgICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcbiAgICAgICAgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcbiAgfSAvLyBZaWVsZGluZyB0byB0aGUgYnJvd3NlciB3aWxsIGdpdmUgaXQgYSBjaGFuY2UgdG8gcGFpbnQsIHNvIHdlIGNhblxufTtcblxudmFyIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG5pZiAodHlwZW9mIGxvY2FsU2V0SW1tZWRpYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIE5vZGUuanMgYW5kIG9sZCBJRS5cbiAgLy8gVGhlcmUncyBhIGZldyByZWFzb25zIGZvciB3aHkgd2UgcHJlZmVyIHNldEltbWVkaWF0ZS5cbiAgLy9cbiAgLy8gVW5saWtlIE1lc3NhZ2VDaGFubmVsLCBpdCBkb2Vzbid0IHByZXZlbnQgYSBOb2RlLmpzIHByb2Nlc3MgZnJvbSBleGl0aW5nLlxuICAvLyAoRXZlbiB0aG91Z2ggdGhpcyBpcyBhIERPTSBmb3JrIG9mIHRoZSBTY2hlZHVsZXIsIHlvdSBjb3VsZCBnZXQgaGVyZVxuICAvLyB3aXRoIGEgbWl4IG9mIE5vZGUuanMgMTUrLCB3aGljaCBoYXMgYSBNZXNzYWdlQ2hhbm5lbCwgYW5kIGpzZG9tLilcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8yMDc1NlxuICAvL1xuICAvLyBCdXQgYWxzbywgaXQgcnVucyBlYXJsaWVyIHdoaWNoIGlzIHRoZSBzZW1hbnRpYyB3ZSB3YW50LlxuICAvLyBJZiBvdGhlciBicm93c2VycyBldmVyIGltcGxlbWVudCBpdCwgaXQncyBiZXR0ZXIgdG8gdXNlIGl0LlxuICAvLyBBbHRob3VnaCBib3RoIG9mIHRoZXNlIHdvdWxkIGJlIGluZmVyaW9yIHRvIG5hdGl2ZSBzY2hlZHVsaW5nLlxuICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBsb2NhbFNldEltbWVkaWF0ZShwZXJmb3JtV29ya1VudGlsRGVhZGxpbmUpO1xuICB9O1xufSBlbHNlIGlmICh0eXBlb2YgTWVzc2FnZUNoYW5uZWwgIT09ICd1bmRlZmluZWQnKSB7XG4gIC8vIERPTSBhbmQgV29ya2VyIGVudmlyb25tZW50cy5cbiAgLy8gV2UgcHJlZmVyIE1lc3NhZ2VDaGFubmVsIGJlY2F1c2Ugb2YgdGhlIDRtcyBzZXRUaW1lb3V0IGNsYW1waW5nLlxuICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICB2YXIgcG9ydCA9IGNoYW5uZWwucG9ydDI7XG4gIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG4gIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lID0gZnVuY3Rpb24gKCkge1xuICAgIHBvcnQucG9zdE1lc3NhZ2UobnVsbCk7XG4gIH07XG59IGVsc2Uge1xuICAvLyBXZSBzaG91bGQgb25seSBmYWxsYmFjayBoZXJlIGluIG5vbi1icm93c2VyIGVudmlyb25tZW50cy5cbiAgc2NoZWR1bGVQZXJmb3JtV29ya1VudGlsRGVhZGxpbmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgbG9jYWxTZXRUaW1lb3V0KHBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSwgMCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RIb3N0Q2FsbGJhY2soY2FsbGJhY2spIHtcbiAgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgaWYgKCFpc01lc3NhZ2VMb29wUnVubmluZykge1xuICAgIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gdHJ1ZTtcbiAgICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RIb3N0VGltZW91dChjYWxsYmFjaywgbXMpIHtcbiAgdGFza1RpbWVvdXRJRCA9IGxvY2FsU2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgY2FsbGJhY2soZXhwb3J0cy51bnN0YWJsZV9ub3coKSk7XG4gIH0sIG1zKTtcbn1cblxuZnVuY3Rpb24gY2FuY2VsSG9zdFRpbWVvdXQoKSB7XG4gIGxvY2FsQ2xlYXJUaW1lb3V0KHRhc2tUaW1lb3V0SUQpO1xuICB0YXNrVGltZW91dElEID0gLTE7XG59XG5cbnZhciB1bnN0YWJsZV9yZXF1ZXN0UGFpbnQgPSByZXF1ZXN0UGFpbnQ7XG52YXIgdW5zdGFibGVfUHJvZmlsaW5nID0gIG51bGw7XG5cbmV4cG9ydHMudW5zdGFibGVfSWRsZVByaW9yaXR5ID0gSWRsZVByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSA9IEltbWVkaWF0ZVByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Mb3dQcmlvcml0eSA9IExvd1ByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSA9IE5vcm1hbFByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Qcm9maWxpbmcgPSB1bnN0YWJsZV9Qcm9maWxpbmc7XG5leHBvcnRzLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5ID0gVXNlckJsb2NraW5nUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrID0gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s7XG5leHBvcnRzLnVuc3RhYmxlX2NvbnRpbnVlRXhlY3V0aW9uID0gdW5zdGFibGVfY29udGludWVFeGVjdXRpb247XG5leHBvcnRzLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlID0gZm9yY2VGcmFtZVJhdGU7XG5leHBvcnRzLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsID0gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw7XG5leHBvcnRzLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlID0gdW5zdGFibGVfZ2V0Rmlyc3RDYWxsYmFja05vZGU7XG5leHBvcnRzLnVuc3RhYmxlX25leHQgPSB1bnN0YWJsZV9uZXh0O1xuZXhwb3J0cy51bnN0YWJsZV9wYXVzZUV4ZWN1dGlvbiA9IHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uO1xuZXhwb3J0cy51bnN0YWJsZV9yZXF1ZXN0UGFpbnQgPSB1bnN0YWJsZV9yZXF1ZXN0UGFpbnQ7XG5leHBvcnRzLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eSA9IHVuc3RhYmxlX3J1bldpdGhQcmlvcml0eTtcbmV4cG9ydHMudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayA9IHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XG5leHBvcnRzLnVuc3RhYmxlX3Nob3VsZFlpZWxkID0gc2hvdWxkWWllbGRUb0hvc3Q7XG5leHBvcnRzLnVuc3RhYmxlX3dyYXBDYWxsYmFjayA9IHVuc3RhYmxlX3dyYXBDYWxsYmFjaztcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/scheduler/cjs/scheduler.development.js\n")); - -/***/ }), - -/***/ "./node_modules/scheduler/index.js": -/*!*****************************************!*\ - !*** ./node_modules/scheduler/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/scheduler.development.js */ \"./node_modules/scheduler/cjs/scheduler.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxtSUFBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci9pbmRleC5qcz9jN2NjIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9zY2hlZHVsZXIucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvc2NoZWR1bGVyLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/scheduler/index.js\n")); - -/***/ }), - -/***/ "?506d": -/*!******************************************!*\ - !*** ./utils/resolve-rewrites (ignored) ***! - \******************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_interop_require_default.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_default; },\n/* harmony export */ _interop_require_default: function() { return /* binding */ _interop_require_default; }\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanM/NzZjYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9O1xufVxuZXhwb3J0IHsgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_interop_require_default.js\n")); - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_interop_require_wildcard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_wildcard.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_wildcard; },\n/* harmony export */ _interop_require_wildcard: function() { return /* binding */ _interop_require_wildcard; }\n/* harmony export */ });\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0EsdUZBQXVGOztBQUV2Rjs7QUFFQTs7QUFFQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUMwQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzP2MxODYiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuXG4gICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5leHBvcnQgZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHJldHVybiBvYmo7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHsgZGVmYXVsdDogb2JqIH07XG5cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuXG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG5cbiAgICB2YXIgbmV3T2JqID0geyBfX3Byb3RvX186IG51bGwgfTtcbiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICAgIGlmIChrZXkgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICAgIHZhciBkZXNjID0gaGFzUHJvcGVydHlEZXNjcmlwdG9yID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGRlc2MgJiYgKGRlc2MuZ2V0IHx8IGRlc2Muc2V0KSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIGVsc2UgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuXG4gICAgaWYgKGNhY2hlKSBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuXG4gICAgcmV0dXJuIG5ld09iajtcbn1cbmV4cG9ydCB7IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/client/dev/amp-dev.js")); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/fallback/main.js b/.next/static/chunks/fallback/main.js deleted file mode 100644 index 79e5f63..0000000 --- a/.next/static/chunks/fallback/main.js +++ /dev/null @@ -1,1946 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["main"],{ - -/***/ "./node_modules/next/dist/build/deployment-id.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/build/deployment-id.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDeploymentIdQueryOrEmptyString\", ({\n enumerable: true,\n get: function() {\n return getDeploymentIdQueryOrEmptyString;\n }\n}));\nfunction getDeploymentIdQueryOrEmptyString() {\n if (false) {}\n return \"\";\n}\n\n//# sourceMappingURL=deployment-id.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL2RlcGxveW1lbnQtaWQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixxRUFBb0U7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBLFFBQVEsS0FBOEIsRUFBRSxFQUVuQztBQUNMO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9kZXBsb3ltZW50LWlkLmpzP2FhZDgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmdcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZztcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZygpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEKSB7XG4gICAgICAgIHJldHVybiBgP2RwbD0ke3Byb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRH1gO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVwbG95bWVudC1pZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/deployment-id.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/polyfills/polyfill-module.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/build/polyfills/polyfill-module.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\"trimStart\"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),\"trimEnd\"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),\"description\"in Symbol.prototype||Object.defineProperty(Symbol.prototype,\"description\",{configurable:!0,get:function(){var t=/\\((.*)\\)/.exec(this.toString());return t?t[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(t,r){return r=this.concat.apply([],this),t>1&&r.some(Array.isArray)?r.flat(t-1):r},Array.prototype.flatMap=function(t,r){return this.map(t,r).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(t){if(\"function\"!=typeof t)return this.then(t,t);var r=this.constructor||Promise;return this.then(function(n){return r.resolve(t()).then(function(){return n})},function(n){return r.resolve(t()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(t){return Array.from(t).reduce(function(t,r){return t[r[0]]=r[1],t},{})}),Array.prototype.at||(Array.prototype.at=function(t){var r=Math.trunc(t)||0;if(r<0&&(r+=this.length),!(r<0||r>=this.length))return this[r]}),Object.hasOwn||(Object.hasOwn=function(t,r){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");return Object.prototype.hasOwnProperty.call(Object(t),r)});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3BvbHlmaWxscy9wb2x5ZmlsbC1tb2R1bGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsbVFBQW1RLCtCQUErQix1Q0FBdUMsc0JBQXNCLDREQUE0RCw2RUFBNkUsdUNBQXVDLDRCQUE0QixvRUFBb0UsOENBQThDLGdDQUFnQyw2QkFBNkIsc0NBQXNDLFNBQVMsRUFBRSxhQUFhLHNDQUFzQyxRQUFRLEVBQUUsRUFBRSxzREFBc0QsMENBQTBDLHNCQUFzQixHQUFHLEVBQUUsc0RBQXNELHVCQUF1QiwrREFBK0QsOENBQThDLDZFQUE2RSx5REFBeUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9wb2x5ZmlsbHMvcG9seWZpbGwtbW9kdWxlLmpzPzY5YzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ0cmltU3RhcnRcImluIFN0cmluZy5wcm90b3R5cGV8fChTdHJpbmcucHJvdG90eXBlLnRyaW1TdGFydD1TdHJpbmcucHJvdG90eXBlLnRyaW1MZWZ0KSxcInRyaW1FbmRcImluIFN0cmluZy5wcm90b3R5cGV8fChTdHJpbmcucHJvdG90eXBlLnRyaW1FbmQ9U3RyaW5nLnByb3RvdHlwZS50cmltUmlnaHQpLFwiZGVzY3JpcHRpb25cImluIFN5bWJvbC5wcm90b3R5cGV8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTeW1ib2wucHJvdG90eXBlLFwiZGVzY3JpcHRpb25cIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciB0PS9cXCgoLiopXFwpLy5leGVjKHRoaXMudG9TdHJpbmcoKSk7cmV0dXJuIHQ/dFsxXTp2b2lkIDB9fSksQXJyYXkucHJvdG90eXBlLmZsYXR8fChBcnJheS5wcm90b3R5cGUuZmxhdD1mdW5jdGlvbih0LHIpe3JldHVybiByPXRoaXMuY29uY2F0LmFwcGx5KFtdLHRoaXMpLHQ+MSYmci5zb21lKEFycmF5LmlzQXJyYXkpP3IuZmxhdCh0LTEpOnJ9LEFycmF5LnByb3RvdHlwZS5mbGF0TWFwPWZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMubWFwKHQscikuZmxhdCgpfSksUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KFByb21pc2UucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24odCl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgdClyZXR1cm4gdGhpcy50aGVuKHQsdCk7dmFyIHI9dGhpcy5jb25zdHJ1Y3Rvcnx8UHJvbWlzZTtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiByLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sZnVuY3Rpb24obil7cmV0dXJuIHIucmVzb2x2ZSh0KCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyBufSl9KX0pLE9iamVjdC5mcm9tRW50cmllc3x8KE9iamVjdC5mcm9tRW50cmllcz1mdW5jdGlvbih0KXtyZXR1cm4gQXJyYXkuZnJvbSh0KS5yZWR1Y2UoZnVuY3Rpb24odCxyKXtyZXR1cm4gdFtyWzBdXT1yWzFdLHR9LHt9KX0pLEFycmF5LnByb3RvdHlwZS5hdHx8KEFycmF5LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXt2YXIgcj1NYXRoLnRydW5jKHQpfHwwO2lmKHI8MCYmKHIrPXRoaXMubGVuZ3RoKSwhKHI8MHx8cj49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW3JdfSksT2JqZWN0Lmhhc093bnx8KE9iamVjdC5oYXNPd249ZnVuY3Rpb24odCxyKXtpZihudWxsPT10KXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY29udmVydCB1bmRlZmluZWQgb3IgbnVsbCB0byBvYmplY3RcIik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChPYmplY3QodCkscil9KTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/polyfills/polyfill-module.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/add-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/add-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBS2dCQTs7O2VBQUFBOzs7MkNBTGM7b0RBQ2E7QUFFM0MsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZLEVBQUVDLFFBQWtCO0lBQzFELE9BQU9DLENBQUFBLEdBQUFBLHdCQUFBQSwwQkFBMEIsRUFDL0JMLE1BQStDSSxHQUMzQ0QsQ0FBQUEsR0FDQUksQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDSixNQUFNSjtBQUU1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9hZGQtYmFzZS1wYXRoLnRzPzUxNzEiXSwibmFtZXMiOlsiYWRkQmFzZVBhdGgiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInJlcXVpcmVkIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJhZGRQYXRoUHJlZml4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/add-locale.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/client/add-locale.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBR2FBOzs7ZUFBQUE7OztvREFGOEI7QUFFcEMsTUFBTUEsWUFBdUIsU0FBQ0MsSUFBQUE7cUNBQVNDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLElBQUFBLE9BQUFBLElBQUFBLElBQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1FBQUFBLElBQUFBLENBQUFBLE9BQUFBLEVBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztJQUM1QyxJQUFJQyxLQUErQixFQUFFLEVBSXJDO0lBQ0EsT0FBT0Y7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9hZGQtbG9jYWxlLnRzP2ZhYWUiXSwibmFtZXMiOlsiYWRkTG9jYWxlIiwicGF0aCIsImFyZ3MiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwicmVxdWlyZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return CodeFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst CodeFrame = function CodeFrame(param) {\n _s();\n let { stackFrame, codeFrame } = param;\n // Strip leading spaces out of the code frame:\n const formattedFrame = _react.useMemo(()=>{\n const lines = codeFrame.split(/\\r?\\n/g);\n // Find the minimum length of leading spaces after `|` in the code frame\n const miniLeadingSpacesLength = lines.map((line)=>/^>? +\\d+ +\\| [ ]+/.exec((0, _stripansi.default)(line)) === null ? null : /^>? +\\d+ +\\| ( *)/.exec((0, _stripansi.default)(line))).filter(Boolean).map((v)=>v.pop()).reduce((c, n)=>isNaN(c) ? n.length : Math.min(c, n.length), NaN);\n // When the minimum length of leading spaces is greater than 1, remove them\n // from the code frame to help the indentation looks better when there's a lot leading spaces.\n if (miniLeadingSpacesLength > 1) {\n return lines.map((line, a)=>~(a = line.indexOf(\"|\")) ? line.substring(0, a) + line.substring(a).replace(\"^\\\\ {\" + miniLeadingSpacesLength + \"}\", \"\") : line).join(\"\\n\");\n }\n return lines.join(\"\\n\");\n }, [\n codeFrame\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n formattedFrame\n ]);\n const open = (0, _useopenineditor.useOpenInEditor)({\n file: stackFrame.file,\n lineNumber: stackFrame.lineNumber,\n column: stackFrame.column\n });\n // TODO: make the caret absolute\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-codeframe\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n role: \"link\",\n onClick: open,\n tabIndex: 1,\n title: \"Click to open in your editor\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n (0, _stackframe.getFrameSource)(stackFrame),\n \" @\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: stackFrame.methodName\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n children: decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: entry.content\n }, \"frame-\" + index))\n })\n ]\n });\n};\n_s(CodeFrame, \"4Gt+UceGaRqMOFv99GzJu8D2nx8=\");\n_c = CodeFrame;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CodeFrame.js.map\nvar _c;\n$RefreshReg$(_c, \"CodeFrame\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7NkNBVWFBOzs7ZUFBQUE7Ozs7Ozs0RUFWSzs2RUFDSztnRkFFRDt3Q0FDUzs2Q0FDQzsyQ0FDRjtBQUl2QixNQUFNQSxZQUFzQyxTQUFTQSxVQUFVQyxLQUdyRTs7SUFIcUUsTUFDcEVDLFVBQVUsRUFDVkMsU0FBUyxFQUNWLEdBSHFFRjtJQUlwRSw4Q0FBOEM7SUFDOUMsTUFBTUcsaUJBQWlCQyxPQUFNQyxPQUFPLENBQVM7UUFDM0MsTUFBTUMsUUFBUUosVUFBVUssS0FBSyxDQUFDO1FBRTlCLHdFQUF3RTtRQUN4RSxNQUFNQywwQkFBMEJGLE1BQzdCRyxHQUFHLENBQUMsQ0FBQ0MsT0FDSixvQkFBb0JDLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRixXQUFXLE9BQzFDLE9BQ0Esb0JBQW9CQyxJQUFJLENBQUNDLENBQUFBLEdBQUFBLFdBQUFBLE9BQVMsRUFBQ0YsUUFFeENHLE1BQU0sQ0FBQ0MsU0FDUEwsR0FBRyxDQUFDLENBQUNNLElBQU1BLEVBQUdDLEdBQUcsSUFDakJDLE1BQU0sQ0FBQyxDQUFDQyxHQUFHQyxJQUFPQyxNQUFNRixLQUFLQyxFQUFFRSxNQUFNLEdBQUdDLEtBQUtDLEdBQUcsQ0FBQ0wsR0FBR0MsRUFBRUUsTUFBTSxHQUFJRztRQUVuRSwyRUFBMkU7UUFDM0UsOEZBQThGO1FBQzlGLElBQUloQiwwQkFBMEIsR0FBRztZQUMvQixPQUFPRixNQUNKRyxHQUFHLENBQUMsQ0FBQ0MsTUFBTWUsSUFDVixDQUFFQSxDQUFBQSxJQUFJZixLQUFLZ0IsT0FBTyxDQUFDLFFBQ2ZoQixLQUFLaUIsU0FBUyxDQUFDLEdBQUdGLEtBQ2xCZixLQUFLaUIsU0FBUyxDQUFDRixHQUFHRyxPQUFPLENBQUMsVUFBUXBCLDBCQUF3QixLQUFJLE1BQzlERSxNQUVMbUIsSUFBSSxDQUFDO1FBQ1Y7UUFDQSxPQUFPdkIsTUFBTXVCLElBQUksQ0FBQztJQUNwQixHQUFHO1FBQUMzQjtLQUFVO0lBRWQsTUFBTTRCLFVBQVUxQixPQUFNQyxPQUFPLENBQUM7UUFDNUIsT0FBTzBCLE9BQUFBLE9BQUssQ0FBQ0MsVUFBVSxDQUFDN0IsZ0JBQWdCO1lBQ3RDOEIsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLGNBQWM7UUFDaEI7SUFDRixHQUFHO1FBQUNoQztLQUFlO0lBRW5CLE1BQU1pQyxPQUFPQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDO1FBQzNCQyxNQUFNckMsV0FBV3FDLElBQUk7UUFDckJDLFlBQVl0QyxXQUFXc0MsVUFBVTtRQUNqQ0MsUUFBUXZDLFdBQVd1QyxNQUFNO0lBQzNCO0lBRUEsZ0NBQWdDO0lBQ2hDLE9BQ0UsV0FERixHQUNFLElBQUFDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFBSUMseUJBQXFCOzswQkFDeEIsSUFBQUgsWUFBQUksR0FBQSxFQUFDRixPQUFBQTswQkFDQyxrQkFBQUYsWUFBQUMsSUFBQSxFQUFDSSxLQUFBQTtvQkFDQ0MsTUFBSztvQkFDTEMsU0FBU1o7b0JBQ1RhLFVBQVU7b0JBQ1ZDLE9BQU07O3NDQUVOLElBQUFULFlBQUFDLElBQUEsRUFBQ1MsUUFBQUE7O2dDQUNFQyxDQUFBQSxHQUFBQSxZQUFBQSxjQUFjLEVBQUNuRDtnQ0FBWTtnQ0FBRzs4Q0FDL0IsSUFBQXdDLFlBQUFJLEdBQUEsRUFBQ1EsZUFBQUEsYUFBYTtvQ0FBQ0MsTUFBTXJELFdBQVdzRCxVQUFVOzs7O3NDQUU1QyxJQUFBZCxZQUFBQyxJQUFBLEVBQUNjLE9BQUFBOzRCQUNDQyxPQUFNOzRCQUNOQyxTQUFROzRCQUNSQyxNQUFLOzRCQUNMQyxRQUFPOzRCQUNQQyxhQUFZOzRCQUNaQyxlQUFjOzRCQUNkQyxnQkFBZTs7OENBRWYsSUFBQXRCLFlBQUFJLEdBQUEsRUFBQ21CLFFBQUFBO29DQUFLQyxHQUFFOzs4Q0FDUixJQUFBeEIsWUFBQUksR0FBQSxFQUFDcUIsWUFBQUE7b0NBQVNDLFFBQU87OzhDQUNqQixJQUFBMUIsWUFBQUksR0FBQSxFQUFDbkMsUUFBQUE7b0NBQUswRCxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHOzs7Ozs7OzBCQUl2QyxJQUFBOUIsWUFBQUksR0FBQSxFQUFDMkIsT0FBQUE7MEJBQ0UxQyxRQUFRckIsR0FBRyxDQUFDLENBQUNnRSxPQUFPQyxRQUNuQixXQURtQkEsR0FDbkIsSUFBQWpDLFlBQUFJLEdBQUEsRUFBQ00sUUFBQUE7d0JBRUN3QixPQUFPOzRCQUNMQyxPQUFPSCxNQUFNSSxFQUFFLEdBQUcsaUJBQWVKLE1BQU1JLEVBQUUsR0FBQyxNQUFLQzs0QkFDL0MsR0FBSUwsTUFBTU0sVUFBVSxLQUFLLFNBQ3JCO2dDQUFFQyxZQUFZOzRCQUFJLElBQ2xCUCxNQUFNTSxVQUFVLEtBQUssV0FDckI7Z0NBQUVFLFdBQVc7NEJBQVMsSUFDdEJILFNBQVM7d0JBQ2Y7a0NBRUNMLE1BQU1TLE9BQU87dUJBVlQsV0FBU1I7Ozs7QUFnQjFCO0dBaEdhM0U7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9Db2RlRnJhbWUudHN4P2I3OGIiXSwibmFtZXMiOlsiQ29kZUZyYW1lIiwicGFyYW0iLCJzdGFja0ZyYW1lIiwiY29kZUZyYW1lIiwiZm9ybWF0dGVkRnJhbWUiLCJSZWFjdCIsInVzZU1lbW8iLCJsaW5lcyIsInNwbGl0IiwibWluaUxlYWRpbmdTcGFjZXNMZW5ndGgiLCJtYXAiLCJsaW5lIiwiZXhlYyIsInN0cmlwQW5zaSIsImZpbHRlciIsIkJvb2xlYW4iLCJ2IiwicG9wIiwicmVkdWNlIiwiYyIsIm4iLCJpc05hTiIsImxlbmd0aCIsIk1hdGgiLCJtaW4iLCJOYU4iLCJhIiwiaW5kZXhPZiIsInN1YnN0cmluZyIsInJlcGxhY2UiLCJqb2luIiwiZGVjb2RlZCIsIkFuc2VyIiwiYW5zaVRvSnNvbiIsImpzb24iLCJ1c2VfY2xhc3NlcyIsInJlbW92ZV9lbXB0eSIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWNvZGVmcmFtZSIsImpzeCIsInAiLCJyb2xlIiwib25DbGljayIsInRhYkluZGV4IiwidGl0bGUiLCJzcGFuIiwiZ2V0RnJhbWVTb3VyY2UiLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsIm1ldGhvZE5hbWUiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJwYXRoIiwiZCIsInBvbHlsaW5lIiwicG9pbnRzIiwieDEiLCJ5MSIsIngyIiwieTIiLCJwcmUiLCJlbnRyeSIsImluZGV4Iiwic3R5bGUiLCJjb2xvciIsImZnIiwidW5kZWZpbmVkIiwiZGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJmb250U3R5bGUiLCJjb250ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return _CodeFrame.CodeFrame;\n }\n}));\nconst _CodeFrame = __webpack_require__(/*! ./CodeFrame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBQVNBOzs7ZUFBQUEsV0FBQUEsU0FBUzs7O3VDQUFRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Db2RlRnJhbWUvaW5kZXgudHN4PzRlN2QiXSwibmFtZXMiOlsiQ29kZUZyYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js": -/*!************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js ***! - \************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-codeframe] {\\n overflow: auto;\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-codeframe]::selection,\\n [data-nextjs-codeframe] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-codeframe] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n\\n [data-nextjs-codeframe] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n [data-nextjs-codeframe] > div {\\n display: inline-block;\\n width: auto;\\n min-width: 100%;\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n }\\n [data-nextjs-codeframe] > div > p {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n cursor: pointer;\\n margin: 0;\\n }\\n [data-nextjs-codeframe] > div > p:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-codeframe] div > p > svg {\\n width: auto;\\n height: 1em;\\n margin-left: 8px;\\n }\\n [data-nextjs-codeframe] div > pre {\\n overflow: hidden;\\n display: inline-block;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW1EU0E7OztlQUFBQTs7OzswQ0FuRG1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9zdHlsZXMudHN4P2QyNzEiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js ***! - \*********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Dialog\", ({\n enumerable: true,\n get: function() {\n return Dialog;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _useonclickoutside = __webpack_require__(/*! ../../hooks/use-on-click-outside */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\");\nconst Dialog = function Dialog(param) {\n _s();\n let { children, type, onClose, ...props } = param;\n const [dialog, setDialog] = _react.useState(null);\n const [role, setRole] = _react.useState(typeof document !== \"undefined\" && document.hasFocus() ? \"dialog\" : undefined);\n const onDialog = _react.useCallback((node)=>{\n setDialog(node);\n }, []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, (e)=>{\n e.preventDefault();\n return onClose == null ? void 0 : onClose();\n });\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect(()=>{\n if (dialog == null) {\n return;\n }\n const root = dialog.getRootNode();\n // Always true, but we do this for TypeScript:\n if (!(root instanceof ShadowRoot)) {\n return;\n }\n const shadowRoot = root;\n function handler(e) {\n const el = shadowRoot.activeElement;\n if (e.key === \"Enter\" && el instanceof HTMLElement && el.getAttribute(\"role\") === \"link\") {\n e.preventDefault();\n e.stopPropagation();\n el.click();\n }\n }\n function handleFocus() {\n // safari will force itself as the active application when a background page triggers any sort of autofocus\n // this is a workaround to only set the dialog role if the document has focus\n setRole(document.hasFocus() ? \"dialog\" : undefined);\n }\n shadowRoot.addEventListener(\"keydown\", handler);\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleFocus);\n return ()=>{\n shadowRoot.removeEventListener(\"keydown\", handler);\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleFocus);\n };\n }, [\n dialog\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n ref: onDialog,\n \"data-nextjs-dialog\": true,\n tabIndex: -1,\n role: role,\n \"aria-labelledby\": props[\"aria-labelledby\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-modal\": \"true\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-banner\": true,\n className: \"banner-\" + type\n }),\n children\n ]\n });\n};\n_s(Dialog, \"2HYcMztUKT19xxjUDXr42PZl9rE=\");\n_c = Dialog;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Dialog.js.map\nvar _c;\n$RefreshReg$(_c, \"Dialog\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MENBMEZTQTs7O2VBQUFBOzs7Ozs2RUExRmM7K0NBQ1c7QUFVbEMsTUFBTUEsU0FBZ0MsU0FBU0EsT0FBT0MsS0FLckQ7O0lBTHFELE1BQ3BEQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osR0FMcURKO0lBTXBELE1BQU0sQ0FBQ0ssUUFBUUMsVUFBVSxHQUFHQyxPQUFNQyxRQUFRLENBQXdCO0lBQ2xFLE1BQU0sQ0FBQ0MsTUFBTUMsUUFBUSxHQUFHSCxPQUFNQyxRQUFRLENBQ3BDLE9BQU9HLGFBQWEsZUFBZUEsU0FBU0MsUUFBUSxLQUNoRCxXQUNBQztJQUVOLE1BQU1DLFdBQVdQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNsQ1YsVUFBVVU7SUFDWixHQUFHLEVBQUU7SUFDTEMsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDWixRQUFRLENBQUNhO1FBQ3pCQSxFQUFFQyxjQUFjO1FBQ2hCLE9BQU9oQixXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQTtJQUNUO0lBRUEsdUVBQXVFO0lBQ3ZFLDBCQUEwQjtJQUMxQkksT0FBTWEsU0FBUyxDQUFDO1FBQ2QsSUFBSWYsVUFBVSxNQUFNO1lBQ2xCO1FBQ0Y7UUFFQSxNQUFNZ0IsT0FBT2hCLE9BQU9pQixXQUFXO1FBQy9CLDhDQUE4QztRQUM5QyxJQUFJLENBQUVELENBQUFBLGdCQUFnQkUsVUFBQUEsR0FBYTtZQUNqQztRQUNGO1FBQ0EsTUFBTUMsYUFBYUg7UUFDbkIsU0FBU0ksUUFBUVAsQ0FBZ0I7WUFDL0IsTUFBTVEsS0FBS0YsV0FBV0csYUFBYTtZQUNuQyxJQUNFVCxFQUFFVSxHQUFHLEtBQUssV0FDVkYsY0FBY0csZUFDZEgsR0FBR0ksWUFBWSxDQUFDLFlBQVksUUFDNUI7Z0JBQ0FaLEVBQUVDLGNBQWM7Z0JBQ2hCRCxFQUFFYSxlQUFlO2dCQUVqQkwsR0FBR00sS0FBSztZQUNWO1FBQ0Y7UUFFQSxTQUFTQztZQUNQLDJHQUEyRztZQUMzRyw2RUFBNkU7WUFDN0V2QixRQUFRQyxTQUFTQyxRQUFRLEtBQUssV0FBV0M7UUFDM0M7UUFFQVcsV0FBV1UsZ0JBQWdCLENBQUMsV0FBV1Q7UUFDdkNVLE9BQU9ELGdCQUFnQixDQUFDLFNBQVNEO1FBQ2pDRSxPQUFPRCxnQkFBZ0IsQ0FBQyxRQUFRRDtRQUNoQyxPQUFPO1lBQ0xULFdBQVdZLG1CQUFtQixDQUFDLFdBQVdYO1lBQzFDVSxPQUFPQyxtQkFBbUIsQ0FBQyxTQUFTSDtZQUNwQ0UsT0FBT0MsbUJBQW1CLENBQUMsUUFBUUg7UUFDckM7SUFDRixHQUFHO1FBQUM1QjtLQUFPO0lBRVgsT0FDRSxXQURGLEdBQ0UsSUFBQWdDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsS0FBSzFCO1FBQ0wyQixzQkFBa0I7UUFDbEJDLFVBQVUsQ0FBQztRQUNYakMsTUFBTUE7UUFDTmtDLG1CQUFpQnZDLEtBQUssQ0FBQyxrQkFBa0I7UUFDekN3QyxvQkFBa0J4QyxLQUFLLENBQUMsbUJBQW1CO1FBQzNDeUMsY0FBVzs7MEJBRVgsSUFBQVIsWUFBQVMsR0FBQSxFQUFDUCxPQUFBQTtnQkFBSVEsNkJBQXlCO2dCQUFDQyxXQUFXLFlBQVU5Qzs7WUFDbkREOzs7QUFHUDtHQTdFTUY7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2cudHN4P2U0N2QiXSwibmFtZXMiOlsiRGlhbG9nIiwicGFyYW0iLCJjaGlsZHJlbiIsInR5cGUiLCJvbkNsb3NlIiwicHJvcHMiLCJkaWFsb2ciLCJzZXREaWFsb2ciLCJSZWFjdCIsInVzZVN0YXRlIiwicm9sZSIsInNldFJvbGUiLCJkb2N1bWVudCIsImhhc0ZvY3VzIiwidW5kZWZpbmVkIiwib25EaWFsb2ciLCJ1c2VDYWxsYmFjayIsIm5vZGUiLCJ1c2VPbkNsaWNrT3V0c2lkZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInVzZUVmZmVjdCIsInJvb3QiLCJnZXRSb290Tm9kZSIsIlNoYWRvd1Jvb3QiLCJzaGFkb3dSb290IiwiaGFuZGxlciIsImVsIiwiYWN0aXZlRWxlbWVudCIsImtleSIsIkhUTUxFbGVtZW50IiwiZ2V0QXR0cmlidXRlIiwic3RvcFByb3BhZ2F0aW9uIiwiY2xpY2siLCJoYW5kbGVGb2N1cyIsImFkZEV2ZW50TGlzdGVuZXIiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwicmVmIiwiZGF0YS1uZXh0anMtZGlhbG9nIiwidGFiSW5kZXgiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYS1tb2RhbCIsImpzeCIsImRhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXIiLCJjbGFzc05hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogBody\", ({\n enumerable: true,\n get: function() {\n return DialogBody;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst DialogBody = function DialogBody(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-body\": true,\n className: className,\n children: children\n });\n};\n_c = DialogBody;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogBody.js.map\nvar _c;\n$RefreshReg$(_c, \"DialogBody\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxhQUF3QyxTQUFTQSxXQUFXQyxLQUdqRTtJQUhpRSxNQUNoRUMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FIaUVGO0lBSWhFLE9BQ0UsV0FERixHQUNFLElBQUFHLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFBSUMsMkJBQXVCO1FBQUNKLFdBQVdBO2tCQUNyQ0Q7O0FBR1A7S0FUTUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2dCb2R5LnRzeD8yYTJkIl0sIm5hbWVzIjpbIkRpYWxvZ0JvZHkiLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJkaXYiLCJkYXRhLW5leHRqcy1kaWFsb2ctYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js": -/*!****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js ***! - \****************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogContent\", ({\n enumerable: true,\n get: function() {\n return DialogContent;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst DialogContent = function DialogContent(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-content\": true,\n className: className,\n children: children\n });\n};\n_c = DialogContent;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogContent.js.map\nvar _c;\n$RefreshReg$(_c, \"DialogContent\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxnQkFBOEMsU0FBU0EsY0FBY0MsS0FHMUU7SUFIMEUsTUFDekVDLFFBQVEsRUFDUkMsU0FBUyxFQUNWLEdBSDBFRjtJQUl6RSxPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxHQUFBLEVBQUNDLE9BQUFBO1FBQUlDLDhCQUEwQjtRQUFDSixXQUFXQTtrQkFDeENEOztBQUdQO0tBVE1GIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQ29udGVudC50c3g/ZGQ3YyJdLCJuYW1lcyI6WyJEaWFsb2dDb250ZW50IiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIl9qc3hydW50aW1lIiwianN4IiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWNvbnRlbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogHeader\", ({\n enumerable: true,\n get: function() {\n return DialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst DialogHeader = function DialogHeader(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-header\": true,\n className: className,\n children: children\n });\n};\n_c = DialogHeader;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogHeader.js.map\nvar _c;\n$RefreshReg$(_c, \"DialogHeader\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQWtCU0E7OztlQUFBQTs7Ozs7NkVBbEJjO0FBT3ZCLE1BQU1BLGVBQTRDLFNBQVNBLGFBQWFDLEtBR3ZFO0lBSHVFLE1BQ3RFQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVixHQUh1RUY7SUFJdEUsT0FDRSxXQURGLEdBQ0UsSUFBQUcsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtRQUFJQyw2QkFBeUI7UUFBQ0osV0FBV0E7a0JBQ3ZDRDs7QUFHUDtLQVRNRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci50c3g/NDZmOCJdLCJuYW1lcyI6WyJEaWFsb2dIZWFkZXIiLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJkaXYiLCJkYXRhLW5leHRqcy1kaWFsb2ctaGVhZGVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Dialog: function() {\n return _Dialog.Dialog;\n },\n DialogBody: function() {\n return _DialogBody.DialogBody;\n },\n DialogContent: function() {\n return _DialogContent.DialogContent;\n },\n DialogHeader: function() {\n return _DialogHeader.DialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _Dialog = __webpack_require__(/*! ./Dialog */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\");\nconst _DialogBody = __webpack_require__(/*! ./DialogBody */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\");\nconst _DialogContent = __webpack_require__(/*! ./DialogContent */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\");\nconst _DialogHeader = __webpack_require__(/*! ./DialogHeader */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxRQUFNO2VBQU5BLFFBQUFBLE1BQU07O0lBQ05DLFlBQVU7ZUFBVkEsWUFBQUEsVUFBVTs7SUFDVkMsZUFBYTtlQUFiQSxlQUFBQSxhQUFhOztJQUNiQyxjQUFZO2VBQVpBLGNBQUFBLFlBQVk7O0lBQ1pDLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7O29DQUpRO3dDQUNJOzJDQUNHOzBDQUNEO29DQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvaW5kZXgudHM/OWYzNyJdLCJuYW1lcyI6WyJEaWFsb2ciLCJEaWFsb2dCb2R5IiwiRGlhbG9nQ29udGVudCIsIkRpYWxvZ0hlYWRlciIsInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js ***! - \*********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog] {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n outline: none;\\n background: var(--color-background);\\n border-radius: var(--size-gap);\\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\\n rgba(0, 0, 0, 0.25);\\n max-height: calc(100% - 56px);\\n overflow-y: hidden;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n max-height: calc(100% - 15px);\\n }\\n }\\n\\n @media (min-width: 576px) {\\n [data-nextjs-dialog] {\\n max-width: 540px;\\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\\n }\\n }\\n\\n @media (min-width: 768px) {\\n [data-nextjs-dialog] {\\n max-width: 720px;\\n }\\n }\\n\\n @media (min-width: 992px) {\\n [data-nextjs-dialog] {\\n max-width: 960px;\\n }\\n }\\n\\n [data-nextjs-dialog-banner] {\\n position: relative;\\n }\\n [data-nextjs-dialog-banner].banner-warning {\\n border-color: var(--color-ansi-yellow);\\n }\\n [data-nextjs-dialog-banner].banner-error {\\n border-color: var(--color-ansi-red);\\n }\\n\\n [data-nextjs-dialog-banner]::after {\\n z-index: 2;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 100%;\\n /* banner width: */\\n border-top-width: var(--size-gap-half);\\n border-bottom-width: 0;\\n border-top-style: solid;\\n border-bottom-style: solid;\\n border-top-color: inherit;\\n border-bottom-color: transparent;\\n }\\n\\n [data-nextjs-dialog-content] {\\n overflow-y: auto;\\n border: none;\\n margin: 0;\\n /* calc(padding + banner width offset) */\\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\\n var(--size-gap-double);\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\\n flex-shrink: 0;\\n margin-bottom: var(--size-gap-double);\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\\n position: relative;\\n flex: 1 1 auto;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7OzswQ0ExRm1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9zdHlsZXMudHM/MDkwMiJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": -/*!***************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! - \***************************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"LeftRightDialogHeader\", ({\n enumerable: true,\n get: function() {\n return LeftRightDialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _CloseIcon = __webpack_require__(/*! ../../icons/CloseIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst LeftRightDialogHeader = function LeftRightDialogHeader(param) {\n _s();\n let { children, className, previous, next, close } = param;\n const buttonLeft = _react.useRef(null);\n const buttonRight = _react.useRef(null);\n const buttonClose = _react.useRef(null);\n const [nav, setNav] = _react.useState(null);\n const onNav = _react.useCallback((el)=>{\n setNav(el);\n }, []);\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n const d = self.document;\n function handler(e) {\n if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (a && a !== buttonClose.current && a instanceof HTMLElement) {\n a.blur();\n return;\n }\n }\n close == null ? void 0 : close();\n }\n }\n root.addEventListener(\"keydown\", handler);\n if (root !== d) {\n d.addEventListener(\"keydown\", handler);\n }\n return function() {\n root.removeEventListener(\"keydown\", handler);\n if (root !== d) {\n d.removeEventListener(\"keydown\", handler);\n }\n };\n }, [\n close,\n nav,\n next,\n previous\n ]);\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (previous == null) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur();\n }\n } else if (next == null) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur();\n }\n }\n }\n }, [\n nav,\n next,\n previous\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-left-right\": true,\n className: className,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"nav\", {\n ref: onNav,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonLeft,\n type: \"button\",\n disabled: previous == null ? true : undefined,\n \"aria-disabled\": previous == null ? true : undefined,\n onClick: previous != null ? previous : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"previous\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonRight,\n type: \"button\",\n disabled: next == null ? true : undefined,\n \"aria-disabled\": next == null ? true : undefined,\n onClick: next != null ? next : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"next\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n children\n ]\n }),\n close ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-errors-dialog-left-right-close-button\": true,\n ref: buttonClose,\n type: \"button\",\n onClick: close,\n \"aria-label\": \"Close\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"aria-hidden\": \"true\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n }) : null\n ]\n });\n};\n_s(LeftRightDialogHeader, \"BTIclYWDjFVmQ0IbTZR6SGMkDDk=\");\n_c = LeftRightDialogHeader;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=LeftRightDialogHeader.js.map\nvar _c;\n$RefreshReg$(_c, \"LeftRightDialogHeader\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7eURBd0tTQTs7O2VBQUFBOzs7Ozs2RUF4S2M7dUNBQ0c7QUFVMUIsTUFBTUEsd0JBQ0osU0FBU0Esc0JBQXNCQyxLQU05Qjs7SUFOOEIsTUFDN0JDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsS0FBSyxFQUNOLEdBTjhCTDtJQU83QixNQUFNTSxhQUFhQyxPQUFNQyxNQUFNLENBQTJCO0lBQzFELE1BQU1DLGNBQWNGLE9BQU1DLE1BQU0sQ0FBMkI7SUFDM0QsTUFBTUUsY0FBY0gsT0FBTUMsTUFBTSxDQUEyQjtJQUUzRCxNQUFNLENBQUNHLEtBQUtDLE9BQU8sR0FBR0wsT0FBTU0sUUFBUSxDQUFxQjtJQUN6RCxNQUFNQyxRQUFRUCxPQUFNUSxXQUFXLENBQUMsQ0FBQ0M7UUFDL0JKLE9BQU9JO0lBQ1QsR0FBRyxFQUFFO0lBRUxULE9BQU1VLFNBQVMsQ0FBQztRQUNkLElBQUlOLE9BQU8sTUFBTTtZQUNmO1FBQ0Y7UUFFQSxNQUFNTyxPQUFPUCxJQUFJUSxXQUFXO1FBQzVCLE1BQU1DLElBQUlDLEtBQUtDLFFBQVE7UUFFdkIsU0FBU0MsUUFBUUMsQ0FBZ0I7WUFDL0IsSUFBSUEsRUFBRUMsR0FBRyxLQUFLLGFBQWE7Z0JBQ3pCRCxFQUFFRSxjQUFjO2dCQUNoQkYsRUFBRUcsZUFBZTtnQkFDakIsSUFBSXJCLFdBQVdzQixPQUFPLEVBQUU7b0JBQ3RCdEIsV0FBV3NCLE9BQU8sQ0FBQ0MsS0FBSztnQkFDMUI7Z0JBQ0ExQixZQUFZQTtZQUNkLE9BQU8sSUFBSXFCLEVBQUVDLEdBQUcsS0FBSyxjQUFjO2dCQUNqQ0QsRUFBRUUsY0FBYztnQkFDaEJGLEVBQUVHLGVB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LElBQUFmLFlBQUFLLEdBQUEsRUFBQ1csU0FBQUE7OENBQU07OzhDQUNQLElBQUFoQixZQUFBSyxHQUFBLEVBQUNZLFFBQUFBO29DQUNDbEMsR0FBRTtvQ0FDRm1DLFFBQU87b0NBQ1BDLGFBQVk7b0NBQ1pDLGVBQWM7b0NBQ2RDLGdCQUFlOzs7OztvQkFJcEJ6RDs7O1lBRUZJLFFBQ0MsV0FEREEsR0FDQyxJQUFBZ0MsWUFBQUssR0FBQSxFQUFDQyxVQUFBQTtnQkFDQ2dCLHFEQUFpRDtnQkFDakRsQixLQUFLL0I7Z0JBQ0xrQyxNQUFLO2dCQUNMSSxTQUFTM0M7Z0JBQ1R1RCxjQUFXOzBCQUVYLGtCQUFBdkIsWUFBQUssR0FBQSxFQUFDbUIsUUFBQUE7b0JBQUtDLGVBQVk7OEJBQ2hCLGtCQUFBekIsWUFBQUssR0FBQSxFQUFDcUIsV0FBQUEsU0FBUzs7aUJBR1o7OztBQUdWO0dBM0pJaEU7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9MZWZ0UmlnaHREaWFsb2dIZWFkZXIudHN4PzQxMjEiXSwibmFtZXMiOlsiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsInByZXZpb3VzIiwibmV4dCIsImNsb3NlIiwiYnV0dG9uTGVmdCIsIlJlYWN0IiwidXNlUmVmIiwiYnV0dG9uUmlnaHQiLCJidXR0b25DbG9zZSIsIm5hdiIsInNldE5hdiIsInVzZVN0YXRlIiwib25OYXYiLCJ1c2VDYWxsYmFjayIsImVsIiwidXNlRWZmZWN0Iiwicm9vdCIsImdldFJvb3ROb2RlIiwiZCIsInNlbGYiLCJkb2N1bWVudCIsImhhbmRsZXIiLCJlIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJjdXJyZW50IiwiZm9jdXMiLCJTaGFkb3dSb290IiwiYSIsImFjdGl2ZUVsZW1lbnQiLCJIVE1MRWxlbWVudCIsImJsdXIiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0IiwicmVmIiwianN4IiwiYnV0dG9uIiwidHlwZSIsImRpc2FibGVkIiwidW5kZWZpbmVkIiwiYXJpYS1kaXNhYmxlZCIsIm9uQ2xpY2siLCJzdmciLCJ2aWV3Qm94IiwiZmlsbCIsInhtbG5zIiwidGl0bGUiLCJwYXRoIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkYXRhLW5leHRqcy1lcnJvcnMtZGlhbG9nLWxlZnQtcmlnaHQtY2xvc2UtYnV0dG9uIiwiYXJpYS1sYWJlbCIsInNwYW4iLCJhcmlhLWhpZGRlbiIsIkNsb3NlSWNvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js ***! - \***********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n LeftRightDialogHeader: function() {\n return _LeftRightDialogHeader.LeftRightDialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _LeftRightDialogHeader = __webpack_require__(/*! ./LeftRightDialogHeader */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSx1QkFBcUI7ZUFBckJBLHVCQUFBQSxxQkFBcUI7O0lBQ3JCQyxRQUFNO2VBQU5BLFFBQUFBLE1BQU07OzttREFEdUI7b0NBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9pbmRleC50cz82MTMzIl0sIm5hbWVzIjpbIkxlZnRSaWdodERpYWxvZ0hlYWRlciIsInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js": -/*!************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js ***! - \************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-left-right] {\\n display: flex;\\n flex-direction: row;\\n align-content: center;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-nextjs-dialog-left-right] > nav {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-dialog-left-right] > nav > button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n width: calc(var(--size-gap-double) + var(--size-gap));\\n height: calc(var(--size-gap-double) + var(--size-gap));\\n font-size: 0;\\n border: none;\\n background-color: rgba(255, 85, 85, 0.1);\\n color: var(--color-ansi-red);\\n cursor: pointer;\\n transition: background-color 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > nav > button > svg {\\n width: auto;\\n height: calc(var(--size-gap) + var(--size-gap-half));\\n }\\n [data-nextjs-dialog-left-right] > nav > button:hover {\\n background-color: rgba(255, 85, 85, 0.2);\\n }\\n [data-nextjs-dialog-left-right] > nav > button:disabled {\\n background-color: rgba(255, 85, 85, 0.1);\\n color: rgba(255, 85, 85, 0.4);\\n cursor: not-allowed;\\n }\\n\\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\\n margin-right: 1px;\\n }\\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\\n }\\n\\n [data-nextjs-dialog-left-right] > button:last-of-type {\\n border: 0;\\n padding: 0;\\n\\n background-color: transparent;\\n appearance: none;\\n\\n opacity: 0.4;\\n transition: opacity 0.25s ease;\\n\\n color: var(--color-font);\\n }\\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\\n opacity: 0.7;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW9FU0E7OztlQUFBQTs7OzswQ0FwRW1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9zdHlsZXMudHM/NmQ4NCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return Overlay;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _maintaintabfocus = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./maintain--tab-focus */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _bodylocker = __webpack_require__(/*! ./body-locker */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\");\nconst Overlay = function Overlay(param) {\n _s();\n let { className, children, fixed } = param;\n _react.useEffect(()=>{\n (0, _bodylocker.lock)();\n return ()=>{\n (0, _bodylocker.unlock)();\n };\n }, []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback((el)=>{\n setOverlay(el);\n }, []);\n _react.useEffect(()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ()=>{\n handle2.disengage();\n };\n }, [\n overlay\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-overlay\": true,\n className: className,\n ref: onOverlay,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-backdrop\": true,\n \"data-nextjs-dialog-backdrop-fixed\": fixed ? true : undefined\n }),\n children\n ]\n });\n};\n_s(Overlay, \"7AKWSbA/gHapd2YTyFggUak94M8=\");\n_c = Overlay;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Overlay.js.map\nvar _c;\n$RefreshReg$(_c, \"Overlay\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7OzsyQ0FpRFNBOzs7ZUFBQUE7Ozs7Ozt1RkFqRFk7NkVBQ0U7d0NBQ007QUFRN0IsTUFBTUEsVUFBa0MsU0FBU0EsUUFBUUMsS0FJeEQ7O0lBSndELE1BQ3ZEQyxTQUFTLEVBQ1RDLFFBQVEsRUFDUkMsS0FBSyxFQUNOLEdBSndESDtJQUt2REksT0FBTUMsU0FBUyxDQUFDO1FBQ2RDLENBQUFBLEdBQUFBLFlBQUFBLElBQUk7UUFDSixPQUFPO1lBQ0xDLENBQUFBLEdBQUFBLFlBQUFBLE1BQU07UUFDUjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHTCxPQUFNTSxRQUFRLENBQXdCO0lBQ3BFLE1BQU1DLFlBQVlQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNuQ0osV0FBV0k7SUFDYixHQUFHLEVBQUU7SUFFTFQsT0FBTUMsU0FBUyxDQUFDO1FBQ2QsSUFBSUcsV0FBVyxNQUFNO1lBQ25CO1FBQ0Y7UUFFQSxNQUFNTSxVQUFVQyxDQUFBQSxHQUFBQSxrQkFBQUEsT0FBUSxFQUFDO1lBQUVDLFNBQVNSO1FBQVE7UUFDNUMsT0FBTztZQUNMTSxRQUFRRyxTQUFTO1FBQ25CO0lBQ0YsR0FBRztRQUFDVDtLQUFRO0lBRVosT0FDRSxXQURGLEdBQ0UsSUFBQVUsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUFJQyw4QkFBMEI7UUFBQ3BCLFdBQVdBO1FBQVdxQixLQUFLWDs7MEJBQ3pELElBQUFPLFlBQUFLLEdBQUEsRUFBQ0gsT0FBQUE7Z0JBQ0NJLCtCQUEyQjtnQkFDM0JDLHFDQUFtQ3RCLFFBQVEsT0FBT3VCOztZQUVuRHhCOzs7QUFHUDtHQXJDTUg7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvT3ZlcmxheS50c3g/NWJhNCJdLCJuYW1lcyI6WyJPdmVybGF5IiwicGFyYW0iLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImZpeGVkIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJsb2NrIiwidW5sb2NrIiwib3ZlcmxheSIsInNldE92ZXJsYXkiLCJ1c2VTdGF0ZSIsIm9uT3ZlcmxheSIsInVzZUNhbGxiYWNrIiwiZWwiLCJoYW5kbGUyIiwiYWxseVRyYXAiLCJjb250ZXh0IiwiZGlzZW5nYWdlIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXkiLCJyZWYiLCJqc3giLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3AiLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3AtZml4ZWQiLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n lock: function() {\n return lock;\n },\n unlock: function() {\n return unlock;\n }\n});\nlet previousBodyPaddingRight;\nlet previousBodyOverflowSetting;\nlet activeLocks = 0;\nfunction lock() {\n setTimeout(()=>{\n if (activeLocks++ > 0) {\n return;\n }\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = \"\" + scrollBarGap + \"px\";\n }\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n });\n}\nfunction unlock() {\n setTimeout(()=>{\n if (activeLocks === 0 || --activeLocks !== 0) {\n return;\n }\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n previousBodyPaddingRight = undefined;\n }\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n previousBodyOverflowSetting = undefined;\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=body-locker.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFLZ0JBLE1BQUk7ZUFBSkE7O0lBbUJBQyxRQUFNO2VBQU5BOzs7QUF4QmhCLElBQUlDO0FBQ0osSUFBSUM7QUFFSixJQUFJQyxjQUFjO0FBRVgsU0FBU0o7SUFDZEssV0FBVztRQUNULElBQUlELGdCQUFnQixHQUFHO1lBQ3JCO1FBQ0Y7UUFFQSxNQUFNRSxlQUNKQyxPQUFPQyxVQUFVLEdBQUdDLFNBQVNDLGVBQWUsQ0FBQ0MsV0FBVztRQUUxRCxJQUFJTCxlQUFlLEdBQUc7WUFDcEJKLDJCQUEyQk8sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVk7WUFDM0RMLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZLEdBQUcsS0FBR1IsZUFBYTtRQUNyRDtRQUVBSCw4QkFBOEJNLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRO1FBQzFETixTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUSxHQUFHO0lBQ2pDO0FBQ0Y7QUFFTyxTQUFTZDtJQUNkSSxXQUFXO1FBQ1QsSUFBSUQsZ0JBQWdCLEtBQUssRUFBRUEsZ0JBQWdCLEdBQUc7WUFDNUM7UUFDRjtRQUVBLElBQUlGLDZCQUE2QmMsV0FBVztZQUMxQ1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksR0FBR1o7WUFDbkNBLDJCQUEyQmM7UUFDN0I7UUFFQSxJQUFJYixnQ0FBZ0NhLFdBQVc7WUFDN0NQLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRLEdBQUdaO1lBQy9CQSw4QkFBOEJhO1FBQ2hDO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci50cz9hMDIyIl0sIm5hbWVzIjpbImxvY2siLCJ1bmxvY2siLCJwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQiLCJwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmciLCJhY3RpdmVMb2NrcyIsInNldFRpbWVvdXQiLCJzY3JvbGxCYXJHYXAiLCJ3aW5kb3ciLCJpbm5lcldpZHRoIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGllbnRXaWR0aCIsImJvZHkiLCJzdHlsZSIsInBhZGRpbmdSaWdodCIsIm92ZXJmbG93IiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js ***! - \*********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return _Overlay.Overlay;\n }\n}));\nconst _Overlay = __webpack_require__(/*! ./Overlay */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQUFTQTs7O2VBQUFBLFNBQUFBLE9BQU87OztxQ0FBUSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC50c3g/Nzc1YSJdLCJuYW1lcyI6WyJPdmVybGF5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js ***! - \***********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* eslint-disable */ // @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _platform = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/platform */ \"./node_modules/next/dist/compiled/platform/platform.js\"));\nconst _cssescape = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/css.escape */ \"./node_modules/next/dist/compiled/css.escape/css.escape.js\"));\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [\n input\n ];\n }\n if (typeof input === \"string\") {\n input = document.querySelectorAll(input);\n }\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n throw new TypeError(\"unexpected input \" + String(input));\n}\nfunction contextToElement(_ref) {\n var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? \"context-to-element\" : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument;\n var element = nodeArray(context)[0];\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement;\n }\n if (!element && defaultToDocument) {\n return document.documentElement;\n }\n if (!element) {\n throw new TypeError(label + \" requires valid options.context\");\n }\n if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n throw new TypeError(label + \" requires options.context to be an Element\");\n }\n return element;\n}\nfunction getShadowHost() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var element = contextToElement({\n label: \"get/shadow-host\",\n context: context\n });\n // walk up to the root\n var container = null;\n while(element){\n container = element;\n element = element.parentNode;\n }\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) {\n // the root is attached to a fragment node that has a host\n return container.host;\n }\n return null;\n}\nfunction getDocument(node) {\n if (!node) {\n return document;\n }\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node;\n }\n return node.ownerDocument || document;\n}\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: \"is/active-element\",\n resolveDocument: true,\n context: context\n });\n var _document = getDocument(element);\n if (_document.activeElement === element) {\n return true;\n }\n var shadowHost = getShadowHost({\n context: element\n });\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true;\n }\n return false;\n}\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var list = [];\n var element = contextToElement({\n label: \"get/parents\",\n context: context\n });\n while(element){\n list.push(element);\n // IE does know support parentElement on SVGElement\n element = element.parentNode;\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null;\n }\n }\n return list;\n}\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\nvar names = [\n \"matches\",\n \"webkitMatchesSelector\",\n \"mozMatchesSelector\",\n \"msMatchesSelector\"\n];\nvar name = null;\nfunction findMethodName(element) {\n names.some(function(_name) {\n if (!element[_name]) {\n return false;\n }\n name = _name;\n return true;\n });\n}\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element);\n }\n return element[name](selector);\n}\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform.default));\n// operating system\nvar os = platform.os.family || \"\";\nvar ANDROID = os === \"Android\";\nvar WINDOWS = os.slice(0, 7) === \"Windows\";\nvar OSX = os === \"OS X\";\nvar IOS = os === \"iOS\";\n// layout\nvar BLINK = platform.layout === \"Blink\";\nvar GECKO = platform.layout === \"Gecko\";\nvar TRIDENT = platform.layout === \"Trident\";\nvar EDGE = platform.layout === \"EdgeHTML\";\nvar WEBKIT = platform.layout === \"WebKit\";\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version);\nvar majorVersion = Math.floor(version);\nplatform.majorVersion = majorVersion;\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK,\n GECKO: GECKO,\n TRIDENT: TRIDENT,\n EDGE: EDGE,\n WEBKIT: WEBKIT,\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11\n};\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft\n };\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"style\", \"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");\n iframe.setAttribute(\"aria-live\", \"off\");\n iframe.setAttribute(\"aria-busy\", \"true\");\n iframe.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(iframe);\n var _window = iframe.contentWindow;\n var _document = _window.document;\n _document.open();\n _document.close();\n var wrapper = _document.createElement(\"div\");\n _document.body.appendChild(wrapper);\n data.iframe = iframe;\n data.wrapper = wrapper;\n data.window = _window;\n data.document = _document;\n return data;\n}\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = \"\";\n // create dummy element to test focusability of\n var element = typeof options.element === \"string\" ? data.document.createElement(options.element) : options.element(data.wrapper, data.document);\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus = options.mutate && options.mutate(element, data.wrapper, data.document);\n if (!focus && focus !== false) {\n focus = element;\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element);\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus();\n // validate test's result\n return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus;\n}\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement && document.activeElement.blur && document.activeElement.blur();\n if (platform.is.IE10) {\n // IE10 does not redirect focus to <body> when the activeElement is removed\n document.body.focus();\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus();\n }\n document.body.removeChild(data.iframe);\n // restore scroll position\n window.scrollTop = data.windowScrollTop;\n window.scrollLeft = data.windowScrollLeft;\n document.body.scrollTop = data.bodyScrollTop;\n document.body.scrollLeft = data.bodyScrollLeft;\n}\nfunction detectFocus(tests) {\n var data = before();\n var results = {};\n Object.keys(tests).map(function(key) {\n results[key] = test(data, tests[key]);\n });\n after(data);\n return results;\n}\n// this file is overwritten by `npm run build:pre`\nvar version$1 = \"1.4.1\";\n/*\n Facility to cache test results in localStorage.\n\n USAGE:\n cache.get('key');\n cache.set('key', 'value');\n */ function readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0;\n try {\n data = window.localStorage && window.localStorage.getItem(key);\n data = data ? JSON.parse(data) : {};\n } catch (e) {\n data = {};\n }\n return data;\n}\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key);\n } catch (e) {\n // ignore\n }\n return;\n }\n try {\n window.localStorage && window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n // ignore\n }\n}\nvar userAgent = true && window.navigator.userAgent || \"\";\nvar cacheKey = \"ally-supports-cache\";\nvar cache = readLocalStorage(cacheKey);\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {};\n}\ncache.userAgent = userAgent;\ncache.version = version$1;\nvar cache$1 = {\n get: function get() {\n return cache;\n },\n set: function set(values) {\n Object.keys(values).forEach(function(key) {\n cache[key] = values[key];\n });\n cache.time = new Date().toISOString();\n writeLocalStorage(cacheKey, cache);\n }\n};\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0;\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector(\"html >>> :first-child\");\n combinator = \">>>\";\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector(\"html /deep/ :first-child\");\n combinator = \"/deep/\";\n } catch (noDeep) {\n combinator = \"\";\n }\n }\n return combinator;\n}\nvar gif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area href=\"#void\" tabindex=\"-1\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" alt=\"\" src=\"' + gif + '\">';\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n var focus = element.querySelector(\"area\");\n focus.focus();\n return _document.activeElement === focus;\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaWithoutHref = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-area-href-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-area-href-test\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n return _document.activeElement === focusTarget;\n }\n};\nvar focusAudioWithoutControls = {\n name: \"can-focus-audio-without-controls\",\n element: \"audio\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\nvar invalidGif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\";\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusBrokenImageMap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"broken-image-map-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#broken-image-map-test\" alt=\"\" src=\"' + invalidGif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// Children of focusable elements with display:flex are focusable in IE10-11\nvar focusChildrenOfFocusableFlexbox = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n return element.querySelector(\"span\");\n }\n};\n// fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree\n// @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\n// @browser-issue Chromium https://crbug.com/453847\n// @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086\nvar focusFieldsetDisabled = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\nvar focusFieldset = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = \"<legend>legend</legend><p>content</p>\";\n }\n};\n// elements with display:flex are focusable in IE10-11\nvar focusFlexboxContainer = {\n element: \"span\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n }\n};\n// form[tabindex=0][disabled] should be focusable as the\n// specification doesn't know the disabled attribute on the form element\n// @specification https://www.w3.org/TR/html5/forms.html#the-form-element\nvar focusFormDisabled = {\n element: \"form\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// fixes https://github.com/medialize/ally.js/issues/20\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-ismap\nvar focusImgIsmap = {\n element: \"a\",\n mutate: function mutate(element) {\n element.href = \"#void\";\n element.innerHTML = '<img ismap src=\"' + gif + '\" alt=\"\">';\n return element.querySelector(\"img\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusImgUsemapTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" ' + 'src=\"' + gif + '\">';\n return element.querySelector(\"img\");\n }\n};\nvar focusInHiddenIframe = {\n element: function element(wrapper, _document) {\n var iframe = _document.createElement(\"iframe\");\n // iframe must be part of the DOM before accessing the contentWindow is possible\n wrapper.appendChild(iframe);\n // create the iframe's default document (<html><head></head><body></body></html>)\n var iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.close();\n return iframe;\n },\n mutate: function mutate(iframe) {\n iframe.style.visibility = \"hidden\";\n var iframeDocument = iframe.contentWindow.document;\n var input = iframeDocument.createElement(\"input\");\n iframeDocument.body.appendChild(input);\n return input;\n },\n validate: function validate(iframe) {\n var iframeDocument = iframe.contentWindow.document;\n var focus = iframeDocument.querySelector(\"input\");\n return iframeDocument.activeElement === focus;\n }\n};\nvar result = !platform.is.WEBKIT;\nfunction focusInZeroDimensionObject() {\n return result;\n}\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusInvalidTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"invalid-value\");\n }\n};\nvar focusLabelTabindex = {\n element: \"label\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n },\n validate: function validate(element, focusTarget, _document) {\n // force layout in Chrome 49, otherwise the element won't be focusable\n /* eslint-disable no-unused-vars */ var variableToPreventDeadCodeElimination = element.offsetHeight;\n /* eslint-enable no-unused-vars */ element.focus();\n return _document.activeElement === element;\n }\n};\nvar svg = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb\" + \"G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ\" + \"zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==\";\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvgHidden = {\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n element.style.visibility = \"hidden\";\n }\n};\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvg = {\n name: \"can-focus-object-svg\",\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result.\n // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string\n return true;\n }\n return _document.activeElement === element;\n }\n};\n// Every Environment except IE9 considers SWF objects focusable\nvar result$1 = !platform.is.IE9;\nfunction focusObjectSwf() {\n return result$1;\n}\nvar focusRedirectImgUsemap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"focus-redirect-img-usemap\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#focus-redirect-img-usemap\" alt=\"\" ' + 'src=\"' + gif + '\">';\n // focus the <img>, not the <div>\n return element.querySelector(\"img\");\n },\n validate: function validate(element, focusTarget, _document) {\n var target = element.querySelector(\"area\");\n return _document.activeElement === target;\n }\n};\n// see https://jsbin.com/nenirisage/edit?html,js,console,output\nvar focusRedirectLegend = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = '<legend>legend</legend><input tabindex=\"-1\"><input tabindex=\"0\">';\n // take care of focus in validate();\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n var focusable = element.querySelector('input[tabindex=\"-1\"]');\n var tabbable = element.querySelector('input[tabindex=\"0\"]');\n // Firefox requires this test to focus the <fieldset> first, while this is not necessary in\n // https://jsbin.com/nenirisage/edit?html,js,console,output\n element.focus();\n element.querySelector(\"legend\").focus();\n return _document.activeElement === focusable && \"focusable\" || _document.activeElement === tabbable && \"tabbable\" || \"\";\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollBody = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n return element.querySelector(\"div\");\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainerWithoutOverflow = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainer = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\nvar focusSummary = {\n element: \"details\",\n mutate: function mutate(element) {\n element.innerHTML = \"<summary>foo</summary><p>content</p>\";\n return element.firstElementChild;\n }\n};\nfunction makeFocusableForeignObject() {\n // Constructs <foreignObject width=\"30\" height=\"30\"><input type=\"text\"/></foreignObject>\n // without raising a Trusted Types violation\n var foreignObject = document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\");\n foreignObject.width.baseVal.value = 30;\n foreignObject.height.baseVal.value = 30;\n foreignObject.appendChild(document.createElement(\"input\"));\n foreignObject.lastChild.type = \"text\";\n return foreignObject;\n}\nfunction focusSvgForeignObjectHack(element) {\n // Edge13, Edge14: foreignObject focus hack\n // https://jsbin.com/kunehinugi/edit?html,js,output\n // https://jsbin.com/fajagi/3/edit?html,js,output\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (!isSvgElement) {\n return false;\n }\n // inject and focus an <input> element into the SVG element to receive focus\n var foreignObject = makeFocusableForeignObject();\n element.appendChild(foreignObject);\n var input = foreignObject.querySelector(\"input\");\n input.focus();\n // upon disabling the activeElement, IE and Edge\n // will not shift focus to <body> like all the other\n // browsers, but instead find the first focusable\n // ancestor and shift focus to that\n input.disabled = true;\n // clean up\n element.removeChild(foreignObject);\n return true;\n}\nfunction generate(element) {\n return '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">' + element + \"</svg>\";\n}\nfunction focus(element) {\n if (element.focus) {\n return;\n }\n try {\n HTMLElement.prototype.focus.call(element);\n } catch (e) {\n focusSvgForeignObjectHack(element);\n }\n}\nfunction validate(element, focusTarget, _document) {\n focus(focusTarget);\n return _document.activeElement === focusTarget;\n}\nvar focusSvgFocusableAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text focusable=\"true\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"0\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgNegativeTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"-1\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgUseTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate([\n '<g id=\"ally-test-target\"><a xlink:href=\"#void\"><text>link</text></a></g>',\n '<use xlink:href=\"#ally-test-target\" x=\"0\" y=\"0\" tabindex=\"-1\" />'\n ].join(\"\"));\n return element.querySelector(\"use\");\n },\n validate: validate\n};\nvar focusSvgForeignobjectTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<foreignObject tabindex=\"-1\"><input type=\"text\" /></foreignObject>');\n // Safari 8's querySelector() can't identify foreignObject, but getElementsByTagName() can\n return element.querySelector(\"foreignObject\") || element.getElementsByTagName(\"foreignObject\")[0];\n },\n validate: validate\n};\n// Firefox seems to be handling the SVG-document-in-iframe creation asynchronously\n// and thereby produces a false negative test result. Thus the test is pointless\n// and we resort to UA sniffing once again.\n// see http://jsbin.com/vunadohoko/1/edit?js,console,output\nvar result$2 = Boolean(platform.is.GECKO && typeof SVGElement !== \"undefined\" && SVGElement.prototype.focus);\nfunction focusSvgInIframe() {\n return result$2;\n}\nvar focusSvg = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate(\"\");\n return element.firstChild;\n },\n validate: validate\n};\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusTabindexTrailingCharacters = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"3x\");\n }\n};\nvar focusTable = {\n element: \"table\",\n mutate: function mutate(element, wrapper, _document) {\n // IE9 has a problem replacing TBODY contents with innerHTML.\n // https://stackoverflow.com/a/8097055/515124\n // element.innerHTML = '<tr><td>cell</td></tr>';\n var fragment = _document.createDocumentFragment();\n fragment.innerHTML = \"<tr><td>cell</td></tr>\";\n element.appendChild(fragment);\n }\n};\nvar focusVideoWithoutControls = {\n element: \"video\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\n// https://jsbin.com/vafaba/3/edit?html,js,console,output\nvar result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE;\nfunction tabsequenceAreaAtImgPosition() {\n return result$3;\n}\nvar testCallbacks = {\n cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator,\n focusInZeroDimensionObject: focusInZeroDimensionObject,\n focusObjectSwf: focusObjectSwf,\n focusSvgInIframe: focusSvgInIframe,\n tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition\n};\nvar testDescriptions = {\n focusAreaImgTabindex: focusAreaImgTabindex,\n focusAreaTabindex: focusAreaTabindex,\n focusAreaWithoutHref: focusAreaWithoutHref,\n focusAudioWithoutControls: focusAudioWithoutControls,\n focusBrokenImageMap: focusBrokenImageMap,\n focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox,\n focusFieldsetDisabled: focusFieldsetDisabled,\n focusFieldset: focusFieldset,\n focusFlexboxContainer: focusFlexboxContainer,\n focusFormDisabled: focusFormDisabled,\n focusImgIsmap: focusImgIsmap,\n focusImgUsemapTabindex: focusImgUsemapTabindex,\n focusInHiddenIframe: focusInHiddenIframe,\n focusInvalidTabindex: focusInvalidTabindex,\n focusLabelTabindex: focusLabelTabindex,\n focusObjectSvg: focusObjectSvg,\n focusObjectSvgHidden: focusObjectSvgHidden,\n focusRedirectImgUsemap: focusRedirectImgUsemap,\n focusRedirectLegend: focusRedirectLegend,\n focusScrollBody: focusScrollBody,\n focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow,\n focusScrollContainer: focusScrollContainer,\n focusSummary: focusSummary,\n focusSvgFocusableAttribute: focusSvgFocusableAttribute,\n focusSvgTabindexAttribute: focusSvgTabindexAttribute,\n focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute,\n focusSvgUseTabindex: focusSvgUseTabindex,\n focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex,\n focusSvg: focusSvg,\n focusTabindexTrailingCharacters: focusTabindexTrailingCharacters,\n focusTable: focusTable,\n focusVideoWithoutControls: focusVideoWithoutControls\n};\nfunction executeTests() {\n var results = detectFocus(testDescriptions);\n Object.keys(testCallbacks).forEach(function(key) {\n results[key] = testCallbacks[key]();\n });\n return results;\n}\nvar supportsCache = null;\nfunction _supports() {\n if (supportsCache) {\n return supportsCache;\n }\n supportsCache = cache$1.get();\n if (!supportsCache.time) {\n cache$1.set(executeTests());\n supportsCache = cache$1.get();\n }\n return supportsCache;\n}\nvar supports = void 0;\n// https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers\n// NOTE: all browsers agree to allow trailing spaces as well\nvar validIntegerPatternNoTrailing = /^\\s*(-|\\+)?[0-9]+\\s*$/;\nvar validIntegerPatternWithTrailing = /^\\s*(-|\\+)?[0-9]+.*$/;\nfunction isValidTabindex(context) {\n if (!supports) {\n supports = _supports();\n }\n var validIntegerPattern = supports.focusTabindexTrailingCharacters ? validIntegerPatternWithTrailing : validIntegerPatternNoTrailing;\n var element = contextToElement({\n label: \"is/valid-tabindex\",\n resolveDocument: true,\n context: context\n });\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var hasTabIndex = element.hasAttribute(\"tabIndex\");\n if (!hasTabindex && !hasTabIndex) {\n return false;\n }\n // older Firefox and Internet Explorer don't support tabindex on SVG elements\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (isSvgElement && !supports.focusSvgTabindexAttribute) {\n return false;\n }\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n if (supports.focusInvalidTabindex) {\n return true;\n }\n // an element matches the tabindex selector even if its value is invalid\n var tabindex = element.getAttribute(hasTabindex ? \"tabindex\" : \"tabIndex\");\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965\n if (tabindex === \"-32768\") {\n return false;\n }\n return Boolean(tabindex && validIntegerPattern.test(tabindex));\n}\nfunction tabindexValue(element) {\n if (!isValidTabindex(element)) {\n return null;\n }\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var attributeName = hasTabindex ? \"tabindex\" : \"tabIndex\";\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n var tabindex = parseInt(element.getAttribute(attributeName), 10);\n return isNaN(tabindex) ? -1 : tabindex;\n}\n// this is a shared utility file for focus-relevant.js and tabbable.js\n// separate testing of this file's functions is not necessary,\n// as they're implicitly tested by way of the consumers\nfunction isUserModifyWritable(style) {\n // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify\n // https://github.com/medialize/ally.js/issues/17\n var userModify = style.webkitUserModify || \"\";\n return Boolean(userModify && userModify.indexOf(\"write\") !== -1);\n}\nfunction hasCssOverflowScroll(style) {\n return [\n style.getPropertyValue(\"overflow\"),\n style.getPropertyValue(\"overflow-x\"),\n style.getPropertyValue(\"overflow-y\")\n ].some(function(overflow) {\n return overflow === \"auto\" || overflow === \"scroll\";\n });\n}\nfunction hasCssDisplayFlex(style) {\n return style.display.indexOf(\"flex\") > -1;\n}\nfunction isScrollableContainer(element, nodeName, parentNodeName, parentStyle) {\n if (nodeName !== \"div\" && nodeName !== \"span\") {\n // Internet Explorer advances scrollable containers and bodies to focusable\n // only if the scrollable container is <div> or <span> - this does *not*\n // happen for <section>, <article>, …\n return false;\n }\n if (parentNodeName && parentNodeName !== \"div\" && parentNodeName !== \"span\" && !hasCssOverflowScroll(parentStyle)) {\n return false;\n }\n return element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth;\n}\nvar supports$1 = void 0;\nfunction isFocusRelevantRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false\n } : _ref$except;\n if (!supports$1) {\n supports$1 = _supports();\n }\n var element = contextToElement({\n label: \"is/focus-relevant\",\n resolveDocument: true,\n context: context\n });\n if (!except.shadow && element.shadowRoot) {\n // a ShadowDOM host receives focus when the focus moves to its content\n return true;\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"input\" && element.type === \"hidden\") {\n // input[type=\"hidden\"] supports.cannot be focused\n return false;\n }\n if (nodeName === \"input\" || nodeName === \"select\" || nodeName === \"button\" || nodeName === \"textarea\") {\n return true;\n }\n if (nodeName === \"legend\" && supports$1.focusRedirectLegend) {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"label\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"area\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"a\" && element.hasAttribute(\"href\")) {\n return true;\n }\n if (nodeName === \"object\" && element.hasAttribute(\"usemap\")) {\n // object[usemap] is not focusable in any browser\n return false;\n }\n if (nodeName === \"object\") {\n var svgType = element.getAttribute(\"type\");\n if (!supports$1.focusObjectSvg && svgType === \"image/svg+xml\") {\n // object[type=\"image/svg+xml\"] is not focusable in Internet Explorer\n return false;\n } else if (!supports$1.focusObjectSwf && svgType === \"application/x-shockwave-flash\") {\n // object[type=\"application/x-shockwave-flash\"] is not focusable in Internet Explorer 9\n return false;\n }\n }\n if (nodeName === \"iframe\" || nodeName === \"object\") {\n // browsing context containers\n return true;\n }\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n if (element.hasAttribute(\"contenteditable\")) {\n // also see CSS property user-modify below\n return true;\n }\n if (nodeName === \"audio\" && (supports$1.focusAudioWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (nodeName === \"video\" && (supports$1.focusVideoWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (supports$1.focusSummary && nodeName === \"summary\") {\n return true;\n }\n var validTabindex = isValidTabindex(element);\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return validTabindex && supports$1.focusImgUsemapTabindex || supports$1.focusRedirectImgUsemap;\n }\n if (supports$1.focusTable && (nodeName === \"table\" || nodeName === \"td\")) {\n // IE10-11 supports.can focus <table> and <td>\n return true;\n }\n if (supports$1.focusFieldset && nodeName === \"fieldset\") {\n // IE10-11 supports.can focus <fieldset>\n return true;\n }\n var isSvgElement = nodeName === \"svg\";\n var isSvgContent = element.ownerSVGElement;\n var focusableAttribute = element.getAttribute(\"focusable\");\n var tabindex = tabindexValue(element);\n if (nodeName === \"use\" && tabindex !== null && !supports$1.focusSvgUseTabindex) {\n // <use> cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit\n return false;\n }\n if (nodeName === \"foreignobject\") {\n // <use> can only be made focusable in Blink and WebKit\n return tabindex !== null && supports$1.focusSvgForeignobjectTabindex;\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n return true;\n }\n if ((isSvgElement || isSvgContent) && element.focus && !supports$1.focusSvgNegativeTabindexAttribute && tabindex < 0) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return false;\n }\n if (isSvgElement) {\n return validTabindex || supports$1.focusSvg || supports$1.focusSvgInIframe || // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n Boolean(supports$1.focusSvgFocusableAttribute && focusableAttribute && focusableAttribute === \"true\");\n }\n if (isSvgContent) {\n if (supports$1.focusSvgTabindexAttribute && validTabindex) {\n return true;\n }\n if (supports$1.focusSvgFocusableAttribute) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n return focusableAttribute === \"true\";\n }\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n if (validTabindex) {\n return true;\n }\n var style = window.getComputedStyle(element, null);\n if (isUserModifyWritable(style)) {\n return true;\n }\n if (supports$1.focusImgIsmap && nodeName === \"img\" && element.hasAttribute(\"ismap\")) {\n // IE10-11 considers the <img> in <a href><img ismap> focusable\n // https://github.com/medialize/ally.js/issues/20\n var hasLinkParent = getParents({\n context: element\n }).some(function(parent) {\n return parent.nodeName.toLowerCase() === \"a\" && parent.hasAttribute(\"href\");\n });\n if (hasLinkParent) {\n return true;\n }\n }\n // https://github.com/medialize/ally.js/issues/21\n if (!except.scrollable && supports$1.focusScrollContainer) {\n if (supports$1.focusScrollContainerWithoutOverflow) {\n // Internet Explorer does will consider the scrollable area focusable\n // if the element is a <div> or a <span> and it is in fact scrollable,\n // regardless of the CSS overflow property\n if (isScrollableContainer(element, nodeName)) {\n return true;\n }\n } else if (hasCssOverflowScroll(style)) {\n // Firefox requires proper overflow setting, IE does not necessarily\n // https://developer.mozilla.org/docs/Web/CSS/overflow\n return true;\n }\n }\n if (!except.flexbox && supports$1.focusFlexboxContainer && hasCssDisplayFlex(style)) {\n // elements with display:flex are focusable in IE10-11\n return true;\n }\n var parent = element.parentElement;\n if (!except.scrollable && parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n if (supports$1.focusScrollBody && isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n // scrollable bodies are focusable Internet Explorer\n // https://github.com/medialize/ally.js/issues/21\n return true;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11\n if (supports$1.focusChildrenOfFocusableFlexbox) {\n if (hasCssDisplayFlex(parentStyle)) {\n return true;\n }\n }\n }\n // NOTE: elements marked as inert are not focusable,\n // but that property is not exposed to the DOM\n // https://www.w3.org/TR/html5/editing.html#inert\n return false;\n}\n// bind exceptions to an iterator callback\nisFocusRelevantRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusRelevant = function isFocusRelevant(context) {\n return isFocusRelevantRules({\n context: context,\n except: except\n });\n };\n isFocusRelevant.rules = isFocusRelevantRules;\n return isFocusRelevant;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusRelevant = isFocusRelevantRules.except({});\nfunction findIndex(array, callback) {\n // attempt to use native or polyfilled Array#findIndex first\n if (array.findIndex) {\n return array.findIndex(callback);\n }\n var length = array.length;\n // shortcut if the array is empty\n if (length === 0) {\n return -1;\n }\n // otherwise loop over array\n for(var i = 0; i < length; i++){\n if (callback(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\nfunction getContentDocument(node) {\n try {\n // works on <object> and <iframe>\n return node.contentDocument || // works on <object> and <iframe>\n node.contentWindow && node.contentWindow.document || // works on <object> and <iframe> that contain SVG\n node.getSVGDocument && node.getSVGDocument() || null;\n } catch (e) {\n // SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement'\n // also IE may throw member not found exception e.g. on <object type=\"image/png\">\n return null;\n }\n}\nfunction getWindow(node) {\n var _document = getDocument(node);\n return _document.defaultView || window;\n}\nvar shadowPrefix = void 0;\nfunction selectInShadows(selector) {\n if (typeof shadowPrefix !== \"string\") {\n var operator = cssShadowPiercingDeepCombinator();\n if (operator) {\n shadowPrefix = \", html \" + operator + \" \";\n }\n }\n if (!shadowPrefix) {\n return selector;\n }\n return selector + shadowPrefix + selector.replace(/\\s*,\\s*/g, \",\").split(\",\").join(shadowPrefix);\n}\nvar selector = void 0;\nfunction findDocumentHostElement(_window) {\n if (!selector) {\n selector = selectInShadows(\"object, iframe\");\n }\n if (_window._frameElement !== undefined) {\n return _window._frameElement;\n }\n _window._frameElement = null;\n var potentialHosts = _window.parent.document.querySelectorAll(selector);\n [].some.call(potentialHosts, function(element) {\n var _document = getContentDocument(element);\n if (_document !== _window.document) {\n return false;\n }\n _window._frameElement = element;\n return true;\n });\n return _window._frameElement;\n}\nfunction getFrameElement(element) {\n var _window = getWindow(element);\n if (!_window.parent || _window.parent === _window) {\n // if there is no parent browsing context,\n // we're not going to get a frameElement either way\n return null;\n }\n try {\n // see https://developer.mozilla.org/docs/Web/API/Window/frameElement\n // does not work within <embed> anywhere, and not within in <object> in IE\n return _window.frameElement || findDocumentHostElement(_window);\n } catch (e) {\n return null;\n }\n}\n// https://www.w3.org/TR/html5/rendering.html#being-rendered\n// <area> is not rendered, but we *consider* it visible to simplfiy this function's usage\nvar notRenderedElementsPattern = /^(area)$/;\nfunction computedStyle(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property);\n}\nfunction notDisplayed(_path) {\n return _path.some(function(element) {\n // display:none is not visible (optimized away at layout)\n return computedStyle(element, \"display\") === \"none\";\n });\n}\nfunction notVisible(_path) {\n // https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L109-L114\n // NOTE: a nested element can reverse visibility:hidden|collapse by explicitly setting visibility:visible\n // NOTE: visibility can be [\"\", \"visible\", \"hidden\", \"collapse\"]\n var hidden = findIndex(_path, function(element) {\n var visibility = computedStyle(element, \"visibility\");\n return visibility === \"hidden\" || visibility === \"collapse\";\n });\n if (hidden === -1) {\n // there is no hidden element\n return false;\n }\n var visible = findIndex(_path, function(element) {\n return computedStyle(element, \"visibility\") === \"visible\";\n });\n if (visible === -1) {\n // there is no visible element (but a hidden element)\n return true;\n }\n if (hidden < visible) {\n // there is a hidden element and it's closer than the first visible element\n return true;\n }\n // there may be a hidden element, but the closest element is visible\n return false;\n}\nfunction collapsedParent(_path) {\n var offset = 1;\n if (_path[0].nodeName.toLowerCase() === \"summary\") {\n offset = 2;\n }\n return _path.slice(offset).some(function(element) {\n // \"content children\" of a closed details element are not visible\n return element.nodeName.toLowerCase() === \"details\" && element.open === false;\n });\n}\nfunction isVisibleRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n notRendered: false,\n cssDisplay: false,\n cssVisibility: false,\n detailsElement: false,\n browsingContext: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/visible\",\n resolveDocument: true,\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (!except.notRendered && notRenderedElementsPattern.test(nodeName)) {\n return true;\n }\n var _path = getParents({\n context: element\n });\n // in Internet Explorer <audio> has a default display: none, where others have display: inline\n // but IE allows focusing <audio style=\"display:none\">, but not <div display:none><audio>\n // this is irrelevant to other browsers, as the controls attribute is required to make <audio> focusable\n var isAudioWithoutControls = nodeName === \"audio\" && !element.hasAttribute(\"controls\");\n if (!except.cssDisplay && notDisplayed(isAudioWithoutControls ? _path.slice(1) : _path)) {\n return false;\n }\n if (!except.cssVisibility && notVisible(_path)) {\n return false;\n }\n if (!except.detailsElement && collapsedParent(_path)) {\n return false;\n }\n if (!except.browsingContext) {\n // elements within a browsing context are affected by the\n // browsing context host element's visibility and tabindex\n var frameElement = getFrameElement(element);\n var _isVisible = isVisibleRules.except(except);\n if (frameElement && !_isVisible(frameElement)) {\n return false;\n }\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisVisibleRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isVisible = function isVisible(context) {\n return isVisibleRules({\n context: context,\n except: except\n });\n };\n isVisible.rules = isVisibleRules;\n return isVisible;\n};\n// provide isVisible(context) as default iterator callback\nvar isVisible = isVisibleRules.except({});\nfunction getMapByName(name, _document) {\n // apparently getElementsByName() also considers id attribute in IE & opera\n // https://developer.mozilla.org/docs/Web/API/Document/getElementsByName\n var map = _document.querySelector('map[name=\"' + (0, _cssescape.default)(name) + '\"]');\n return map || null;\n}\nfunction getImageOfArea(element) {\n var map = element.parentElement;\n if (!map.name || map.nodeName.toLowerCase() !== \"map\") {\n return null;\n }\n // NOTE: image maps can also be applied to <object> with image content,\n // but no browser supports this at the moment\n // HTML5 specifies HTMLMapElement.images to be an HTMLCollection of all\n // <img> and <object> referencing the <map> element, but no browser implements this\n // https://www.w3.org/TR/html5/embedded-content-0.html#the-map-element\n // https://developer.mozilla.org/docs/Web/API/HTMLMapElement\n // the image must be valid and loaded for the map to take effect\n var _document = getDocument(element);\n return _document.querySelector('img[usemap=\"#' + (0, _cssescape.default)(map.name) + '\"]') || null;\n}\nvar supports$2 = void 0;\n// https://developer.mozilla.org/docs/Web/HTML/Element/map\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n// https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L88-L107\nfunction isValidArea(context) {\n if (!supports$2) {\n supports$2 = _supports();\n }\n var element = contextToElement({\n label: \"is/valid-area\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return false;\n }\n var hasTabindex = element.hasAttribute(\"tabindex\");\n if (!supports$2.focusAreaTabindex && hasTabindex) {\n // Blink and WebKit do not consider <area tabindex=\"-1\" href=\"#void\"> focusable\n return false;\n }\n var img = getImageOfArea(element);\n if (!img || !isVisible(img)) {\n return false;\n }\n // Firefox only allows fully loaded images to reference image maps\n // https://stereochro.me/ideas/detecting-broken-images-js\n if (!supports$2.focusBrokenImageMap && (!img.complete || !img.naturalHeight || img.offsetWidth <= 0 || img.offsetHeight <= 0)) {\n return false;\n }\n // Firefox supports.can focus area elements even if they don't have an href attribute\n if (!supports$2.focusAreaWithoutHref && !element.href) {\n // Internet explorer supports.can focus area elements without href if either\n // the area element or the image element has a tabindex attribute\n return supports$2.focusAreaTabindex && hasTabindex || supports$2.focusAreaImgTabindex && img.hasAttribute(\"tabindex\");\n }\n // https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n var childOfInteractive = getParents({\n context: img\n }).slice(1).some(function(_element) {\n var name = _element.nodeName.toLowerCase();\n return name === \"button\" || name === \"a\";\n });\n if (childOfInteractive) {\n return false;\n }\n return true;\n}\nvar supports$3 = void 0;\n// https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\nvar disabledElementsPattern = void 0;\nvar disabledElements = {\n input: true,\n select: true,\n textarea: true,\n button: true,\n fieldset: true,\n form: true\n};\nfunction isNativeDisabledSupported(context) {\n if (!supports$3) {\n supports$3 = _supports();\n if (supports$3.focusFieldsetDisabled) {\n delete disabledElements.fieldset;\n }\n if (supports$3.focusFormDisabled) {\n delete disabledElements.form;\n }\n disabledElementsPattern = new RegExp(\"^(\" + Object.keys(disabledElements).join(\"|\") + \")$\");\n }\n var element = contextToElement({\n label: \"is/native-disabled-supported\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n return Boolean(disabledElementsPattern.test(nodeName));\n}\nvar supports$4 = void 0;\nfunction isDisabledFieldset(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"fieldset\" && element.disabled;\n}\nfunction isDisabledForm(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"form\" && element.disabled;\n}\nfunction isDisabled(context) {\n if (!supports$4) {\n supports$4 = _supports();\n }\n var element = contextToElement({\n label: \"is/disabled\",\n context: context\n });\n if (element.hasAttribute(\"data-ally-disabled\")) {\n // treat ally's element/disabled like the DOM native element.disabled\n return true;\n }\n if (!isNativeDisabledSupported(element)) {\n // non-form elements do not support the disabled attribute\n return false;\n }\n if (element.disabled) {\n // the element itself is disabled\n return true;\n }\n var parents = getParents({\n context: element\n });\n if (parents.some(isDisabledFieldset)) {\n // a parental <fieldset> is disabld and inherits the state onto this element\n return true;\n }\n if (!supports$4.focusFormDisabled && parents.some(isDisabledForm)) {\n // a parental <form> is disabld and inherits the state onto this element\n return true;\n }\n return false;\n}\nfunction isOnlyTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n onlyFocusableBrowsingContext: false,\n visible: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/only-tabbable\",\n resolveDocument: true,\n context: context\n });\n if (!except.visible && !isVisible(element)) {\n return false;\n }\n if (!except.onlyFocusableBrowsingContext && (platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE)) {\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (tabindexValue(frameElement) < 0) {\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var tabindex = tabindexValue(element);\n if (nodeName === \"label\" && platform.is.GECKO) {\n // Firefox cannot focus, but tab to: label[tabindex=0]\n return tabindex !== null && tabindex >= 0;\n }\n // SVG Elements were keyboard focusable but not script focusable before Firefox 51.\n // Firefox 51 added the focus management DOM API (.focus and .blur) to SVGElement,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=778654\n if (platform.is.GECKO && element.ownerSVGElement && !element.focus) {\n if (nodeName === \"a\" && element.hasAttribute(\"xlink:href\")) {\n // any focusable child of <svg> cannot be focused, but tabbed to\n if (platform.is.GECKO) {\n return true;\n }\n }\n }\n return false;\n}\n// bind exceptions to an iterator callback\nisOnlyTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isOnlyTabbable = function isOnlyTabbable(context) {\n return isOnlyTabbableRules({\n context: context,\n except: except\n });\n };\n isOnlyTabbable.rules = isOnlyTabbableRules;\n return isOnlyTabbable;\n};\n// provide isOnlyTabbable(context) as default iterator callback\nvar isOnlyTabbable = isOnlyTabbableRules.except({});\nvar supports$5 = void 0;\nfunction isOnlyFocusRelevant(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n var _tabindex = tabindexValue(element);\n if (element.shadowRoot && _tabindex === null) {\n // ShadowDOM host elements *may* receive focus\n // even though they are not considered focuable\n return true;\n }\n if (nodeName === \"label\") {\n // <label tabindex=\"0\"> is only tabbable in Firefox, not script-focusable\n // there's no way to make an element focusable other than by adding a tabindex,\n // and focus behavior of the label element seems hard-wired to ignore tabindex\n // in some browsers (like Gecko, Blink and WebKit)\n return !supports$5.focusLabelTabindex || _tabindex === null;\n }\n if (nodeName === \"legend\") {\n return _tabindex === null;\n }\n if (supports$5.focusSvgFocusableAttribute && (element.ownerSVGElement || nodeName === \"svg\")) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n var focusableAttribute = element.getAttribute(\"focusable\");\n return focusableAttribute && focusableAttribute === \"false\";\n }\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return _tabindex === null || !supports$5.focusImgUsemapTabindex;\n }\n if (nodeName === \"area\") {\n // all <area>s are considered relevant,\n // but only the valid <area>s are focusable\n return !isValidArea(element);\n }\n return false;\n}\nfunction isFocusableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n disabled: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$5) {\n supports$5 = _supports();\n }\n var _isOnlyTabbable = isOnlyTabbable.rules.except({\n onlyFocusableBrowsingContext: true,\n visible: except.visible\n });\n var element = contextToElement({\n label: \"is/focusable\",\n resolveDocument: true,\n context: context\n });\n var focusRelevant = isFocusRelevant.rules({\n context: element,\n except: except\n });\n if (!focusRelevant || isOnlyFocusRelevant(element)) {\n return false;\n }\n if (!except.disabled && isDisabled(element)) {\n return false;\n }\n if (!except.onlyTabbable && _isOnlyTabbable(element)) {\n // some elements may be keyboard focusable, but not script focusable\n return false;\n }\n // elements that are not rendered, cannot be focused\n if (!except.visible) {\n var visibilityOptions = {\n context: element,\n except: {}\n };\n if (supports$5.focusInHiddenIframe) {\n // WebKit and Blink can focus content in hidden <iframe> and <object>\n visibilityOptions.except.browsingContext = true;\n }\n if (supports$5.focusObjectSvgHidden) {\n // Blink allows focusing the object element, even if it has visibility: hidden;\n // @browser-issue Blink https://code.google.com/p/chromium/issues/detail?id=586191\n var _nodeName2 = element.nodeName.toLowerCase();\n if (_nodeName2 === \"object\") {\n visibilityOptions.except.cssVisibility = true;\n }\n }\n if (!isVisible.rules(visibilityOptions)) {\n return false;\n }\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n var _nodeName = frameElement.nodeName.toLowerCase();\n if (_nodeName === \"object\" && !supports$5.focusInZeroDimensionObject) {\n if (!frameElement.offsetWidth || !frameElement.offsetHeight) {\n // WebKit can not focus content in <object> if it doesn't have dimensions\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"svg\" && supports$5.focusSvgInIframe && !frameElement && element.getAttribute(\"tabindex\") === null) {\n return false;\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisFocusableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusable = function isFocusable(context) {\n return isFocusableRules({\n context: context,\n except: except\n });\n };\n isFocusable.rules = isFocusableRules;\n return isFocusable;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusable = isFocusableRules.except({});\nfunction createFilter(condition) {\n // see https://developer.mozilla.org/docs/Web/API/NodeFilter\n var filter = function filter(node) {\n if (node.shadowRoot) {\n // return ShadowRoot elements regardless of them being focusable,\n // so they can be walked recursively later\n return NodeFilter.FILTER_ACCEPT;\n }\n if (condition(node)) {\n // finds elements that could have been found by document.querySelectorAll()\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_SKIP;\n };\n // IE requires a function, Browsers require {acceptNode: function}\n // see http://www.bennadel.com/blog/2607-finding-html-comment-nodes-in-the-dom-using-treewalker.htm\n filter.acceptNode = filter;\n return filter;\n}\nvar PossiblyFocusableFilter = createFilter(isFocusRelevant);\nfunction queryFocusableStrict() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!context) {\n context = document.documentElement;\n }\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var _document = getDocument(context);\n // see https://developer.mozilla.org/docs/Web/API/Document/createTreeWalker\n var walker = _document.createTreeWalker(context, NodeFilter.SHOW_ELEMENT, strategy === \"all\" ? PossiblyFocusableFilter : createFilter(_isFocusable), false);\n var list = [];\n while(walker.nextNode()){\n if (walker.currentNode.shadowRoot) {\n if (_isFocusable(walker.currentNode)) {\n list.push(walker.currentNode);\n }\n list = list.concat(queryFocusableStrict({\n context: walker.currentNode.shadowRoot,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }));\n } else {\n list.push(walker.currentNode);\n }\n }\n // add context if requested and focusable\n if (includeContext) {\n if (strategy === \"all\") {\n if (isFocusRelevant(context)) {\n list.unshift(context);\n }\n } else if (_isFocusable(context)) {\n list.unshift(context);\n }\n }\n return list;\n}\n// NOTE: this selector MUST *never* be used directly,\nvar supports$6 = void 0;\nvar selector$1 = void 0;\nfunction selector$2() {\n if (!supports$6) {\n supports$6 = _supports();\n }\n if (typeof selector$1 === \"string\") {\n return selector$1;\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n selector$1 = \"\" + // IE11 supports.can focus <table> and <td>\n (supports$6.focusTable ? \"table, td,\" : \"\") + // IE11 supports.can focus <fieldset>\n (supports$6.focusFieldset ? \"fieldset,\" : \"\") + // Namespace problems of [xlink:href] explained in https://stackoverflow.com/a/23047888/515124\n // svg a[*|href] does not match in IE9, but since we're filtering\n // through is/focusable we can include all <a> from SVG\n \"svg a,\" + // may behave as 'svg, svg *,' in chrome as *every* svg element with a focus event listener is focusable\n // navigational elements\n \"a[href],\" + // validity determined by is/valid-area.js\n \"area[href],\" + // validity determined by is/disabled.js\n \"input, select, textarea, button,\" + // browsing context containers\n \"iframe, object, embed,\" + // interactive content\n \"keygen,\" + (supports$6.focusAudioWithoutControls ? \"audio,\" : \"audio[controls],\") + (supports$6.focusVideoWithoutControls ? \"video,\" : \"video[controls],\") + (supports$6.focusSummary ? \"summary,\" : \"\") + // validity determined by is/valid-tabindex.js\n \"[tabindex],\" + // editing hosts\n \"[contenteditable]\";\n // where ShadowDOM is supported, we also want the shadowed focusable elements (via \">>>\" or \"/deep/\")\n selector$1 = selectInShadows(selector$1);\n return selector$1;\n}\nfunction queryFocusableQuick() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable;\n var _selector = selector$2();\n var elements = context.querySelectorAll(_selector);\n // the selector potentially matches more than really is focusable\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var result = [].filter.call(elements, _isFocusable);\n // add context if requested and focusable\n if (includeContext && _isFocusable(context)) {\n result.unshift(context);\n }\n return result;\n}\nfunction queryFocusable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, _ref$strategy = _ref.strategy, strategy = _ref$strategy === undefined ? \"quick\" : _ref$strategy;\n var element = contextToElement({\n label: \"query/focusable\",\n resolveDocument: true,\n defaultToDocument: true,\n context: context\n });\n var options = {\n context: element,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n };\n if (strategy === \"quick\") {\n return queryFocusableQuick(options);\n } else if (strategy === \"strict\" || strategy === \"all\") {\n return queryFocusableStrict(options);\n }\n throw new TypeError('query/focusable requires option.strategy to be one of [\"quick\", \"strict\", \"all\"]');\n}\nvar supports$7 = void 0;\n// Internet Explorer 11 considers fieldset, table, td focusable, but not tabbable\n// Internet Explorer 11 considers body to have [tabindex=0], but does not allow tabbing to it\nvar focusableElementsPattern = /^(fieldset|table|td|body)$/;\nfunction isTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$7) {\n supports$7 = _supports();\n }\n var element = contextToElement({\n label: \"is/tabbable\",\n resolveDocument: true,\n context: context\n });\n if (platform.is.BLINK && platform.is.ANDROID && platform.majorVersion > 42) {\n // External keyboard support worked fine in CHrome 42, but stopped working in Chrome 45.\n // The on-screen keyboard does not provide a way to focus the next input element (like iOS does).\n // That leaves us with no option to advance focus by keyboard, ergo nothing is tabbable (keyboard focusable).\n return false;\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only does not consider anything from another browsing context keyboard focusable\n return false;\n }\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n if (tabindexValue(frameElement) < 0) {\n return false;\n }\n if (!except.visible && (platform.is.BLINK || platform.is.WEBKIT) && !isVisible(frameElement)) {\n // Blink and WebKit consider elements in hidden browsing contexts focusable, but not tabbable\n return false;\n }\n // Webkit and Blink don't consider anything in <object> tabbable\n // Blink fixed that fixed in Chrome 54, Opera 41\n var frameNodeName = frameElement.nodeName.toLowerCase();\n if (frameNodeName === \"object\") {\n var isFixedBlink = platform.name === \"Chrome\" && platform.majorVersion >= 54 || platform.name === \"Opera\" && platform.majorVersion >= 41;\n if (platform.is.WEBKIT || platform.is.BLINK && !isFixedBlink) {\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var _tabindex = tabindexValue(element);\n var tabindex = _tabindex === null ? null : _tabindex >= 0;\n if (platform.is.EDGE && platform.majorVersion >= 14 && frameElement && element.ownerSVGElement && _tabindex < 0) {\n // Edge 14+ considers <a xlink:href=\"…\" tabindex=\"-1\"> keyboard focusable\n // if the element is in a nested browsing context\n return true;\n }\n var hasTabbableTabindexOrNone = tabindex !== false;\n var hasTabbableTabindex = _tabindex !== null && _tabindex >= 0;\n // NOTE: Firefox 31 considers [contenteditable] to have [tabindex=-1], but allows tabbing to it\n // fixed in Firefox 40 the latest - https://bugzilla.mozilla.org/show_bug.cgi?id=1185657\n if (element.hasAttribute(\"contenteditable\")) {\n // tabbing can still be disabled by explicitly providing [tabindex=\"-1\"]\n return hasTabbableTabindexOrNone;\n }\n if (focusableElementsPattern.test(nodeName) && tabindex !== true) {\n return false;\n }\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only considers a hand full of elements tabbable (keyboard focusable)\n // this holds true even with external keyboards\n var potentiallyTabbable = nodeName === \"input\" && element.type === \"text\" || element.type === \"password\" || nodeName === \"select\" || nodeName === \"textarea\" || element.hasAttribute(\"contenteditable\");\n if (!potentiallyTabbable) {\n var style = window.getComputedStyle(element, null);\n potentiallyTabbable = isUserModifyWritable(style);\n }\n if (!potentiallyTabbable) {\n return false;\n }\n }\n if (nodeName === \"use\" && _tabindex !== null) {\n if (platform.is.BLINK || platform.is.WEBKIT && platform.majorVersion === 9) {\n // In Chrome and Safari 9 the <use> element is keyboard focusable even for tabindex=\"-1\"\n return true;\n }\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n if (hasTabbableTabindexOrNone) {\n // in Trident and Gecko SVGElement does not handle the tabIndex property properly\n return true;\n }\n if (element.focus && !supports$7.focusSvgNegativeTabindexAttribute) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return true;\n }\n }\n if (nodeName === \"svg\" && supports$7.focusSvgInIframe && hasTabbableTabindexOrNone) {\n return true;\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n if (nodeName === \"svg\") {\n if (supports$7.focusSvg) {\n // older Internet Explorers consider <svg> keyboard focusable\n // unless they have focsable=\"false\", but then they wouldn't\n // be focusable and thus not even reach this filter\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\") || hasTabbableTabindex;\n }\n if (element.ownerSVGElement) {\n if (supports$7.focusSvgTabindexAttribute && hasTabbableTabindex) {\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\");\n }\n }\n if (element.tabIndex === undefined) {\n return Boolean(except.onlyTabbable);\n }\n if (nodeName === \"audio\") {\n if (!element.hasAttribute(\"controls\")) {\n // In Internet Explorer the <audio> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n } else if (platform.is.BLINK) {\n // In Chrome <audio controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"video\") {\n if (!element.hasAttribute(\"controls\")) {\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // In Internet Explorer and Edge the <video> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n }\n } else if (platform.is.BLINK || platform.is.GECKO) {\n // In Chrome and Firefox <video controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"object\") {\n if (platform.is.BLINK || platform.is.WEBKIT) {\n // In all Blink and WebKit based browsers <embed> and <object> are never keyboard focusable, even with tabindex=\"0\" set\n return false;\n }\n }\n if (nodeName === \"iframe\") {\n // In Internet Explorer all iframes are only focusable\n // In WebKit, Blink and Gecko iframes may be tabbable depending on content.\n // Since we can't reliably investigate iframe documents because of the\n // SameOriginPolicy, we're declaring everything only focusable.\n return false;\n }\n if (!except.scrollable && platform.is.GECKO) {\n // Firefox considers scrollable containers keyboard focusable,\n // even though their tabIndex property is -1\n var _style = window.getComputedStyle(element, null);\n if (hasCssOverflowScroll(_style)) {\n return hasTabbableTabindexOrNone;\n }\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // IE and Edge degrade <area> to script focusable, if the image\n // using the <map> has been given tabindex=\"-1\"\n if (nodeName === \"area\") {\n var img = getImageOfArea(element);\n if (img && tabindexValue(img) < 0) {\n return false;\n }\n }\n var _style2 = window.getComputedStyle(element, null);\n if (isUserModifyWritable(_style2)) {\n // prevent being swallowed by the overzealous isScrollableContainer() below\n return element.tabIndex >= 0;\n }\n if (!except.flexbox && hasCssDisplayFlex(_style2)) {\n if (_tabindex !== null) {\n return hasTabbableTabindex;\n }\n return isFocusRelevantWithoutFlexbox(element) && isTabbableWithoutFlexbox(element);\n }\n // IE considers scrollable containers script focusable only,\n // even though their tabIndex property is 0\n if (isScrollableContainer(element, nodeName)) {\n return false;\n }\n var parent = element.parentElement;\n if (parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n // IE considers scrollable bodies script focusable only,\n if (isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n return false;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11,\n // even though their tabIndex property suggests otherwise\n if (hasCssDisplayFlex(parentStyle)) {\n // value of tabindex takes precedence\n return hasTabbableTabindex;\n }\n }\n }\n // https://www.w3.org/WAI/PF/aria-practices/#focus_tabindex\n return element.tabIndex >= 0;\n}\n// bind exceptions to an iterator callback\nisTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isTabbable = function isTabbable(context) {\n return isTabbableRules({\n context: context,\n except: except\n });\n };\n isTabbable.rules = isTabbableRules;\n return isTabbable;\n};\nvar isFocusRelevantWithoutFlexbox = isFocusRelevant.rules.except({\n flexbox: true\n});\nvar isTabbableWithoutFlexbox = isTabbableRules.except({\n flexbox: true\n});\n// provide isTabbable(context) as default iterator callback\nvar isTabbable = isTabbableRules.except({});\nfunction queryTabbable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n var _isTabbable = isTabbable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n return queryFocusable({\n context: context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }).filter(_isTabbable);\n}\n// sorts a list of elements according to their order in the DOM\nfunction compareDomPosition(a, b) {\n return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n}\nfunction sortDomOrder(elements) {\n return elements.sort(compareDomPosition);\n}\nfunction getFirstSuccessorOffset(list, target) {\n // find the first element that comes AFTER the target element\n return findIndex(list, function(element) {\n return target.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_FOLLOWING;\n });\n}\nfunction findInsertionOffsets(list, elements, resolveElement) {\n // instead of mutating the elements list directly, remember position and map\n // to inject later, when we can do this more efficiently\n var insertions = [];\n elements.forEach(function(element) {\n var replace = true;\n var offset = list.indexOf(element);\n if (offset === -1) {\n // element is not in target list\n offset = getFirstSuccessorOffset(list, element);\n replace = false;\n }\n if (offset === -1) {\n // there is no successor in the tabsequence,\n // meaning the image must be the last element\n offset = list.length;\n }\n // allow the consumer to replace the injected element\n var injections = nodeArray(resolveElement ? resolveElement(element) : element);\n if (!injections.length) {\n // we can't inject zero elements\n return;\n }\n insertions.push({\n offset: offset,\n replace: replace,\n elements: injections\n });\n });\n return insertions;\n}\nfunction insertElementsAtOffsets(list, insertions) {\n // remember the number of elements we have already injected\n // so we account for the caused index offset\n var inserted = 0;\n // make sure that we insert the elements in sequence,\n // otherwise the offset compensation won't work\n insertions.sort(function(a, b) {\n return a.offset - b.offset;\n });\n insertions.forEach(function(insertion) {\n // array.splice has an annoying function signature :(\n var remove = insertion.replace ? 1 : 0;\n var args = [\n insertion.offset + inserted,\n remove\n ].concat(insertion.elements);\n list.splice.apply(list, args);\n inserted += insertion.elements.length - remove;\n });\n}\nfunction mergeInDomOrder() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, list = _ref.list, elements = _ref.elements, resolveElement = _ref.resolveElement;\n // operate on a copy so we don't mutate the original array\n var _list = list.slice(0);\n // make sure the elements we're injecting are provided in DOM order\n var _elements = nodeArray(elements).slice(0);\n sortDomOrder(_elements);\n // find the offsets within the target array (list) at which to inject\n // each individual element (from elements)\n var insertions = findInsertionOffsets(_list, _elements, resolveElement);\n // actually inject the elements into the target array at the identified positions\n insertElementsAtOffsets(_list, insertions);\n return _list;\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 return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Maps = function() {\n function Maps(context) {\n _classCallCheck(this, Maps);\n this._document = getDocument(context);\n this.maps = {};\n }\n _createClass(Maps, [\n {\n key: \"getAreasFor\",\n value: function getAreasFor(name) {\n if (!this.maps[name]) {\n // the map is not defined within the context, so we\n // have to go find it elsewhere in the document\n this.addMapByName(name);\n }\n return this.maps[name];\n }\n },\n {\n key: \"addMapByName\",\n value: function addMapByName(name) {\n var map = getMapByName(name, this._document);\n if (!map) {\n // if there is no map, the img[usemap] wasn't doing anything anyway\n return;\n }\n this.maps[map.name] = queryTabbable({\n context: map\n });\n }\n },\n {\n key: \"extractAreasFromList\",\n value: function extractAreasFromList(elements) {\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n return elements.filter(function(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return true;\n }\n var map = element.parentNode;\n if (!this.maps[map.name]) {\n this.maps[map.name] = [];\n }\n this.maps[map.name].push(element);\n return false;\n }, this);\n }\n }\n ]);\n return Maps;\n}();\nfunction sortArea(elements, context) {\n // images - unless they are focusable themselves, likely not\n // part of the elements list, so we'll have to find them and\n // sort them into the elements list manually\n var usemaps = context.querySelectorAll(\"img[usemap]\");\n var maps = new Maps(context);\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n var _elements = maps.extractAreasFromList(elements);\n if (!usemaps.length) {\n // the context does not contain any <area>s so no need\n // to replace anything, just remove any maps\n return _elements;\n }\n return mergeInDomOrder({\n list: _elements,\n elements: usemaps,\n resolveElement: function resolveElement(image) {\n var name = image.getAttribute(\"usemap\").slice(1);\n return maps.getAreasFor(name);\n }\n });\n}\nvar _createClass$1 = 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 return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Shadows = function() {\n function Shadows(context, sortElements) {\n _classCallCheck$1(this, Shadows);\n // document context we're working with\n this.context = context;\n // callback that sorts an array of elements\n this.sortElements = sortElements;\n // reference to create unique IDs for each ShadowHost\n this.hostCounter = 1;\n // reference map for child-ShadowHosts of a ShadowHost\n this.inHost = {};\n // reference map for child-ShadowHost of the document\n this.inDocument = [];\n // reference map for ShadowHosts\n this.hosts = {};\n // reference map for tabbable elements of a ShadowHost\n this.elements = {};\n }\n // remember which hosts we have to sort within later\n _createClass$1(Shadows, [\n {\n key: \"_registerHost\",\n value: function _registerHost(host) {\n if (host._sortingId) {\n return;\n }\n // make the ShadowHost identifiable (see cleanup() for undo)\n host._sortingId = \"shadow-\" + this.hostCounter++;\n this.hosts[host._sortingId] = host;\n // hosts may contain other hosts\n var parentHost = getShadowHost({\n context: host\n });\n if (parentHost) {\n this._registerHost(parentHost);\n this._registerHostParent(host, parentHost);\n } else {\n this.inDocument.push(host);\n }\n }\n },\n {\n key: \"_registerHostParent\",\n value: function _registerHostParent(host, parent) {\n if (!this.inHost[parent._sortingId]) {\n this.inHost[parent._sortingId] = [];\n }\n this.inHost[parent._sortingId].push(host);\n }\n },\n {\n key: \"_registerElement\",\n value: function _registerElement(element, host) {\n if (!this.elements[host._sortingId]) {\n this.elements[host._sortingId] = [];\n }\n this.elements[host._sortingId].push(element);\n }\n },\n {\n key: \"extractElements\",\n value: function extractElements(elements) {\n return elements.filter(function(element) {\n var host = getShadowHost({\n context: element\n });\n if (!host) {\n return true;\n }\n this._registerHost(host);\n this._registerElement(element, host);\n return false;\n }, this);\n }\n },\n {\n key: \"sort\",\n value: function sort(elements) {\n var _elements = this._injectHosts(elements);\n _elements = this._replaceHosts(_elements);\n this._cleanup();\n return _elements;\n }\n },\n {\n key: \"_injectHosts\",\n value: function _injectHosts(elements) {\n Object.keys(this.hosts).forEach(function(_sortingId) {\n var _list = this.elements[_sortingId];\n var _elements = this.inHost[_sortingId];\n var _context = this.hosts[_sortingId].shadowRoot;\n this.elements[_sortingId] = this._merge(_list, _elements, _context);\n }, this);\n return this._merge(elements, this.inDocument, this.context);\n }\n },\n {\n key: \"_merge\",\n value: function _merge(list, elements, context) {\n var merged = mergeInDomOrder({\n list: list,\n elements: elements\n });\n return this.sortElements(merged, context);\n }\n },\n {\n key: \"_replaceHosts\",\n value: function _replaceHosts(elements) {\n return mergeInDomOrder({\n list: elements,\n elements: this.inDocument,\n resolveElement: this._resolveHostElement.bind(this)\n });\n }\n },\n {\n key: \"_resolveHostElement\",\n value: function _resolveHostElement(host) {\n var merged = mergeInDomOrder({\n list: this.elements[host._sortingId],\n elements: this.inHost[host._sortingId],\n resolveElement: this._resolveHostElement.bind(this)\n });\n var _tabindex = tabindexValue(host);\n if (_tabindex !== null && _tabindex > -1) {\n return [\n host\n ].concat(merged);\n }\n return merged;\n }\n },\n {\n key: \"_cleanup\",\n value: function _cleanup() {\n // remove those identifers we put on the ShadowHost to avoid using Map()\n Object.keys(this.hosts).forEach(function(key) {\n delete this.hosts[key]._sortingId;\n }, this);\n }\n }\n ]);\n return Shadows;\n}();\nfunction sortShadowed(elements, context, sortElements) {\n var shadows = new Shadows(context, sortElements);\n var _elements = shadows.extractElements(elements);\n if (_elements.length === elements.length) {\n // no shadowed content found, no need to continue\n return sortElements(elements);\n }\n return shadows.sort(_elements);\n}\nfunction sortTabindex(elements) {\n // https://developer.mozilla.org/docs/Web/API/HTMLElement.tabIndex\n // elements with tabIndex \"0\" (including tabbableElements without tabIndex) should be navigated in the order they appear.\n // elements with a positive tabIndex:\n // Elements that have identical tabIndexes should be navigated in the order they appear.\n // Navigation proceeds from the lowest tabIndex to the highest tabIndex.\n // NOTE: sort implementation may be unstable and thus mess up DOM order,\n // that's why we build a map that's being sorted instead. If we were able to rely\n // on a stable sorting algorithm, sortTabindex() could be as simple as\n // elements.sort(function(a, b) { return a.tabIndex - b.tabIndex; });\n // at this time Chrome does not use a stable sorting algorithm\n // see http://blog.rodneyrehm.de/archives/14-Sorting-Were-Doing-It-Wrong.html#stability\n // NOTE: compareDocumentPosition seemed like more overhead than just sorting this with buckets\n // https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n var map = {};\n var indexes = [];\n var normal = elements.filter(function(element) {\n // in Trident and Gecko SVGElement does not know about the tabIndex property\n var tabIndex = element.tabIndex;\n if (tabIndex === undefined) {\n tabIndex = tabindexValue(element);\n }\n // extract elements that don't need sorting\n if (tabIndex <= 0 || tabIndex === null || tabIndex === undefined) {\n return true;\n }\n if (!map[tabIndex]) {\n // create sortable bucket for dom-order-preservation of elements with the same tabIndex\n map[tabIndex] = [];\n // maintain a list of unique tabIndexes\n indexes.push(tabIndex);\n }\n // sort element into the proper bucket\n map[tabIndex].push(element);\n // element moved to sorting map, so not \"normal\" anymore\n return false;\n });\n // sort the tabindex ascending,\n // then resolve them to their appropriate buckets,\n // then flatten the array of arrays to an array\n var _elements = indexes.sort().map(function(tabIndex) {\n return map[tabIndex];\n }).reduceRight(function(previous, current) {\n return current.concat(previous);\n }, normal);\n return _elements;\n}\nvar supports$8 = void 0;\nfunction moveContextToBeginning(elements, context) {\n var pos = elements.indexOf(context);\n if (pos > 0) {\n var tmp = elements.splice(pos, 1);\n return tmp.concat(elements);\n }\n return elements;\n}\nfunction sortElements(elements, _context) {\n if (supports$8.tabsequenceAreaAtImgPosition) {\n // Some browsers sort <area> in DOM order, some place the <area>s\n // where the <img> referecing them would've been in DOM order.\n // https://github.com/medialize/ally.js/issues/5\n elements = sortArea(elements, _context);\n }\n elements = sortTabindex(elements);\n return elements;\n}\nfunction queryTabsequence() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!supports$8) {\n supports$8 = _supports();\n }\n var _context = nodeArray(context)[0] || document.documentElement;\n var elements = queryTabbable({\n context: _context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n });\n if (document.body.createShadowRoot && platform.is.BLINK) {\n // sort tabindex localized to shadow dom\n // see https://github.com/medialize/ally.js/issues/6\n elements = sortShadowed(elements, _context, sortElements);\n } else {\n elements = sortElements(elements, _context);\n }\n if (includeContext) {\n // if we include the context itself, it has to be the first\n // element of the sequence\n elements = moveContextToBeginning(elements, _context);\n }\n return elements;\n}\n// codes mostly cloned from https://github.com/keithamus/jwerty/blob/master/jwerty.js\n// deliberately not exposing characters like <,.-#* because they vary *wildly*\n// across keyboard layouts and may cause various problems\n// (e.g. \"*\" is \"Shift +\" on a German Mac keyboard)\n// (e.g. \"@\" is \"Alt L\" on a German Mac keyboard)\nvar keycode = {\n // Element Focus\n tab: 9,\n // Navigation\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n pageUp: 33,\n \"page-up\": 33,\n pageDown: 34,\n \"page-down\": 34,\n end: 35,\n home: 36,\n // Action\n enter: 13,\n escape: 27,\n space: 32,\n // Modifier\n shift: 16,\n capsLock: 20,\n \"caps-lock\": 20,\n ctrl: 17,\n alt: 18,\n meta: 91,\n // in firefox: 224\n // on mac (chrome): meta-left=91, meta-right=93\n // on win (IE11): meta-left=91, meta-right=92\n pause: 19,\n // Content Manipulation\n insert: 45,\n delete: 46,\n backspace: 8,\n // the same logical key may be identified through different keyCodes\n _alias: {\n 91: [\n 92,\n 93,\n 224\n ]\n }\n};\n// Function keys (112 - 137)\n// NOTE: not every keyboard knows F13+\nfor(var n = 1; n < 26; n++){\n keycode[\"f\" + n] = n + 111;\n}\n// Number keys (48-57, numpad 96-105)\n// NOTE: not every keyboard knows num-0+\nfor(var _n = 0; _n < 10; _n++){\n var code = _n + 48;\n var numCode = _n + 96;\n keycode[_n] = code;\n keycode[\"num-\" + _n] = numCode;\n keycode._alias[code] = [\n numCode\n ];\n}\n// Latin characters (65 - 90)\nfor(var _n2 = 0; _n2 < 26; _n2++){\n var _code = _n2 + 65;\n var name$1 = String.fromCharCode(_code).toLowerCase();\n keycode[name$1] = _code;\n}\nvar modifier = {\n alt: \"altKey\",\n ctrl: \"ctrlKey\",\n meta: \"metaKey\",\n shift: \"shiftKey\"\n};\nvar modifierSequence = Object.keys(modifier).map(function(name) {\n return modifier[name];\n});\nfunction createExpectedModifiers(ignoreModifiers) {\n var value = ignoreModifiers ? null : false;\n return {\n altKey: value,\n ctrlKey: value,\n metaKey: value,\n shiftKey: value\n };\n}\nfunction resolveModifiers(modifiers) {\n var ignoreModifiers = modifiers.indexOf(\"*\") !== -1;\n var expected = createExpectedModifiers(ignoreModifiers);\n modifiers.forEach(function(token) {\n if (token === \"*\") {\n // we've already covered the all-in operator\n return;\n }\n // we want the modifier pressed\n var value = true;\n var operator = token.slice(0, 1);\n if (operator === \"?\") {\n // we don't care if the modifier is pressed\n value = null;\n } else if (operator === \"!\") {\n // we do not want the modifier pressed\n value = false;\n }\n if (value !== true) {\n // compensate for the modifier's operator\n token = token.slice(1);\n }\n var propertyName = modifier[token];\n if (!propertyName) {\n throw new TypeError('Unknown modifier \"' + token + '\"');\n }\n expected[propertyName] = value;\n });\n return expected;\n}\nfunction resolveKey(key) {\n var code = keycode[key] || parseInt(key, 10);\n if (!code || typeof code !== \"number\" || isNaN(code)) {\n throw new TypeError('Unknown key \"' + key + '\"');\n }\n return [\n code\n ].concat(keycode._alias[code] || []);\n}\nfunction matchModifiers(expected, event) {\n // returns true on match\n return !modifierSequence.some(function(prop) {\n // returns true on mismatch\n return typeof expected[prop] === \"boolean\" && Boolean(event[prop]) !== expected[prop];\n });\n}\nfunction keyBinding(text) {\n return text.split(/\\s+/).map(function(_text) {\n var tokens = _text.split(\"+\");\n var _modifiers = resolveModifiers(tokens.slice(0, -1));\n var _keyCodes = resolveKey(tokens.slice(-1));\n return {\n keyCodes: _keyCodes,\n modifiers: _modifiers,\n matchModifiers: matchModifiers.bind(null, _modifiers)\n };\n });\n}\n// Node.compareDocumentPosition is available since IE9\n// see https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n// callback returns true when element is contained by parent or is the parent suited for use with Array.some()\n/*\n USAGE:\n var isChildOf = getParentComparator({parent: someNode});\n listOfElements.some(isChildOf)\n*/ function getParentComparator() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, parent = _ref.parent, element = _ref.element, includeSelf = _ref.includeSelf;\n if (parent) {\n return function isChildOf(node) {\n return Boolean(includeSelf && node === parent || parent.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n } else if (element) {\n return function isParentOf(node) {\n return Boolean(includeSelf && element === node || node.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n }\n throw new TypeError(\"util/compare-position#getParentComparator required either options.parent or options.element\");\n}\n// Bug 286933 - Key events in the autocomplete popup should be hidden from page scripts\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=286933\nfunction whenKey() {\n var map = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var bindings = {};\n var context = nodeArray(map.context)[0] || document.documentElement;\n delete map.context;\n var filter = nodeArray(map.filter);\n delete map.filter;\n var mapKeys = Object.keys(map);\n if (!mapKeys.length) {\n throw new TypeError(\"when/key requires at least one option key\");\n }\n var registerBinding = function registerBinding(event) {\n event.keyCodes.forEach(function(code) {\n if (!bindings[code]) {\n bindings[code] = [];\n }\n bindings[code].push(event);\n });\n };\n mapKeys.forEach(function(text) {\n if (typeof map[text] !== \"function\") {\n throw new TypeError('when/key requires option[\"' + text + '\"] to be a function');\n }\n var addCallback = function addCallback(event) {\n event.callback = map[text];\n return event;\n };\n keyBinding(text).map(addCallback).forEach(registerBinding);\n });\n var handleKeyDown = function handleKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (filter.length) {\n // ignore elements within the exempted sub-trees\n var isParentOfElement = getParentComparator({\n element: event.target,\n includeSelf: true\n });\n if (filter.some(isParentOfElement)) {\n return;\n }\n }\n var key = event.keyCode || event.which;\n if (!bindings[key]) {\n return;\n }\n bindings[key].forEach(function(_event) {\n if (!_event.matchModifiers(event)) {\n return;\n }\n _event.callback.call(context, event, disengage);\n });\n };\n context.addEventListener(\"keydown\", handleKeyDown, false);\n var disengage = function disengage() {\n context.removeEventListener(\"keydown\", handleKeyDown, false);\n };\n return {\n disengage: disengage\n };\n}\nfunction _default(param) {\n let { context } = param === void 0 ? {} : param;\n if (!context) {\n context = document.documentElement;\n }\n // Make sure the supports tests are run before intercepting the Tab key,\n // or IE10 and IE11 will fail to process the first Tab key event. Not\n // limiting this warm-up to IE because it may be a problem elsewhere, too.\n queryTabsequence();\n return whenKey({\n // Safari on OSX may require ALT+TAB to reach links,\n // see https://github.com/medialize/ally.js/issues/146\n \"?alt+?shift+tab\": function altShiftTab(event) {\n // we're completely taking over the Tab key handling\n event.preventDefault();\n var sequence = queryTabsequence({\n context: context\n });\n var backward = event.shiftKey;\n var first = sequence[0];\n var last = sequence[sequence.length - 1];\n // wrap around first to last, last to first\n var source = backward ? first : last;\n var target = backward ? last : first;\n if (isActiveElement(source)) {\n target.focus();\n return;\n }\n // find current position in tabsequence\n var currentIndex = void 0;\n var found = sequence.some(function(element, index) {\n if (!isActiveElement(element)) {\n return false;\n }\n currentIndex = index;\n return true;\n });\n if (!found) {\n // redirect to first as we're not in our tabsequence\n first.focus();\n return;\n }\n // shift focus to previous/next element in the sequence\n var offset = backward ? -1 : 1;\n sequence[currentIndex + offset].focus();\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=maintain--tab-focus.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9tYWludGFpbi0tdGFiLWZvY3VzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQixHQUNsQixjQUFjO0FBQ2QsbURBQW1EO0FBQ25ELGVBQWU7QUFDZixpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHlDQUF5Qzs7Ozs7MkNBbTdHekM7OztlQUFBQTs7OzsrRUFqN0dzQjtnRkFDQTtBQUV0Qix5RkFBeUY7QUFDekYsNkVBQTZFO0FBQzdFLFNBQVNDLFVBQVVDLEtBQUs7SUFDdEIsSUFBSSxDQUFDQSxPQUFPO1FBQ1YsT0FBTyxFQUFFO0lBQ1g7SUFFQSxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLFFBQVE7UUFDeEIsT0FBT0E7SUFDVDtJQUVBLCtDQUErQztJQUMvQyxJQUFJQSxNQUFNRyxRQUFRLEtBQUtDLFdBQVc7UUFDaEMsT0FBTztZQUFDSjtTQUFNO0lBQ2hCO0lBRUEsSUFBSSxPQUFPQSxVQUFVLFVBQVU7UUFDN0JBLFFBQVFLLFNBQVNDLGdCQUFnQixDQUFDTjtJQUNwQztJQUVBLElBQUlBLE1BQU1PLE1BQU0sS0FBS0gsV0FBVztRQUM5QixPQUFPLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDQyxJQUFJLENBQUNULE9BQU87SUFDOUI7SUFFQSxNQUFNLElBQUlVLFVBQVUsc0JBQXNCQyxPQUFPWDtBQUNuRDtBQUVBLFNBQVNZLGlCQUFpQkMsSUFBSTtJQUM1QixJQUFJQyxVQUFVRCxLQUFLQyxPQUFPLEVBQ3hCQyxhQUFhRixLQUFLRyxLQUFLLEVBQ3ZCQSxRQUFRRCxlQUFlWCxZQUFZLHVCQUF1QlcsWUFDMURFLGtCQUFrQkosS0FBS0ksZUFBZSxFQUN0Q0Msb0JBQW9CTCxLQUFLSyxpQkFBaUI7SUFFNUMsSUFBSUMsVUFBVXBCLFVBQVVlLFFBQVEsQ0FBQyxFQUFFO0lBRW5DLElBQUlHLG1CQUFtQkUsV0FB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ZUFBZSxLQUFLO1lBQ3hCLElBQUlDLFFBQVFOLFNBQVNsZixJQUFJLENBQUMsU0FBVXpCLE9BQU8sRUFBRWtoQixLQUFLO2dCQUNoRCxJQUFJLENBQUNwZ0IsZ0JBQWdCZCxVQUFVO29CQUM3QixPQUFPO2dCQUNUO2dCQUVBZ2hCLGVBQWVFO2dCQUNmLE9BQU87WUFDVDtZQUVBLElBQUksQ0FBQ0QsT0FBTztnQkFDVixvREFBb0Q7Z0JBQ3BESixNQUFNaGMsS0FBSztnQkFDWDtZQUNGO1lBRUEsdURBQXVEO1lBQ3ZELElBQUlxTSxTQUFTMFAsV0FBVyxDQUFDLElBQUk7WUFDN0JELFFBQVEsQ0FBQ0ssZUFBZTlQLE9BQU8sQ0FBQ3JNLEtBQUs7UUFDdkM7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L21haW50YWluLS10YWItZm9jdXMudHM/MjVmNiJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsIm5vZGVBcnJheSIsImlucHV0IiwiQXJyYXkiLCJpc0FycmF5Iiwibm9kZVR5cGUiLCJ1bmRlZmluZWQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJzbGljZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJjb250ZXh0VG9FbGVtZW50IiwiX3JlZiIsImNvbnRleHQiLCJfcmVmJGxhYmVsIiwibGFiZWwiLCJyZXNvbHZlRG9jdW1lbnQiLCJkZWZhdWx0VG9Eb2N1bWVudCIsImVsZW1lbnQiLCJOb2RlIiwiRE9DVU1FTlRfTk9ERSIsImRvY3VtZW50RWxlbWVudCIsIkVMRU1FTlRfTk9ERSIsIkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUiLCJnZXRTaGFkb3dIb3N0IiwiYXJndW1lbnRzIiwiY29udGFpbmVyIiwicGFyZW50Tm9kZSIsImhvc3QiLCJnZXREb2N1bWVudCIsIm5vZGUiLCJvd25lckRvY3VtZW50IiwiaXNBY3RpdmVFbGVtZW50IiwiX2RvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsInNoYWRvd0hvc3QiLCJzaGFkb3dSb290IiwiZ2V0UGFyZW50cyIsImxpc3QiLCJwdXNoIiwibmFtZXMiLCJuYW1lIiwiZmluZE1ldGhvZE5hbWUiLCJzb21lIiwiX25hbWUiLCJlbGVtZW50TWF0Y2hlcyIsInNlbGVjdG9yIiwicGxhdGZvcm0iLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJfcGxhdGZvcm0iLCJvcyIsImZhbWlseSIsIkFORFJPSUQiLCJXSU5ET1dTIiwiT1NYIiwiSU9TIiwiQkxJTksiLCJsYXlvdXQiLCJHRUNLTyIsIlRSSURFTlQiLCJFREdFIiwiV0VCS0lUIiwidmVyc2lvbiIsInBhcnNlRmxvYXQiLCJtYWpvclZlcnNpb24iLCJNYXRoIiwiZmxvb3IiLCJpcyIsIklFOSIsIklFMTAiLCJJRTExIiwiYmVmb3JlIiwiZGF0YSIsIndpbmRvd1Njcm9sbFRvcCIsIndpbmRvdyIsInNjcm9sbFRvcCIsIndpbmRvd1Njcm9sbExlZnQiLCJzY3JvbGxMZWZ0IiwiYm9keVNjcm9sbFRvcCIsImJvZHkiLCJib2R5U2Nyb2xsTGVmdCIsImlmcmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsIl93aW5kb3ciLCJjb250ZW50V2luZG93Iiwib3BlbiIsImNsb3NlIiwid3JhcHBlciIsInRlc3QiLCJvcHRpb25zIiwiaW5uZXJIVE1MIiwiZm9jdXMiLCJtdXRhdGUiLCJ2YWxpZGF0ZSIsImFmdGVyIiwiYmx1ciIsInJlbW92ZUNoaWxkIiwiZGV0ZWN0Rm9jdXMiLCJ0ZXN0cyIsInJlc3VsdHMiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwia2V5IiwidmVyc2lvbiQxIiwicmVhZExvY2FsU3RvcmFnZSIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJlIiwid3JpdGVMb2NhbFN0b3JhZ2UiLCJ2YWx1ZSIsImhhc0ZvY3VzIiwicmVtb3ZlSXRlbSIsInNldEl0ZW0iLCJ1c2VyQWdlbnQiLCJuYXZpZ2F0b3IiLCJjYWNoZUtleSIsImNhY2hlIiwiY2FjaGUkMSIsImdldCIsInNldCIsInZhbHVlcyIsImZvckVhY2giLCJ0aW1lIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwiY3NzU2hhZG93UGllcmNpbmdEZWVwQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJxdWVyeVNlbGVjdG9yIiwibm9BcnJvd0Fycm93QXJyb3ciLCJub0RlZXAiLCJnaWYiLCJmb2N1c0FyZWFJbWdUYWJpbmRleCIsImZvY3VzQXJlYVRhYmluZGV4IiwiZm9jdXNUYXJnZXQiLCJmb2N1c0FyZWFXaXRob3V0SHJlZiIsImZvY3VzQXVkaW9XaXRob3V0Q29udHJvbHMiLCJpbnZhbGlkR2lmIiwiZm9jdXNCcm9rZW5JbWFnZU1hcCIsImZvY3VzQ2hpbGRyZW5PZkZvY3VzYWJsZUZsZXhib3giLCJmb2N1c0ZpZWxkc2V0RGlzYWJsZWQiLCJmb2N1c0ZpZWxkc2V0IiwiZm9jdXNGbGV4Ym94Q29udGFpbmVyIiwiZm9jdXNGb3JtRGlzYWJsZWQiLCJmb2N1c0ltZ0lzbWFwIiwiaHJlZiIsImZvY3VzSW1nVXNlbWFwVGFiaW5kZXgiLCJmb2N1c0luSGlkZGVuSWZyYW1lIiwiaWZyYW1lRG9jdW1lbnQiLCJzdHlsZSIsInZpc2liaWxpdHkiLCJyZXN1bHQiLCJmb2N1c0luWmVyb0RpbWVuc2lvbk9iamVjdCIsImZvY3VzSW52YWxpZFRhYmluZGV4IiwiZm9jdXNMYWJlbFRhYmluZGV4IiwidmFyaWFibGVUb1ByZXZlbnREZWFkQ29kZUVsaW1pbmF0aW9uIiwib2Zmc2V0SGVpZ2h0Iiwic3ZnIiwiZm9jdXNPYmplY3RTdmdIaWRkZW4iLCJmb2N1c09iamVjdFN2ZyIsInJlc3VsdCQxIiwiZm9jdXNPYmplY3RTd2YiLCJmb2N1c1JlZGlyZWN0SW1nVXNlbWFwIiwidGFyZ2V0IiwiZm9jdXNSZWRpcmVjdExlZ2VuZCIsImZvY3VzYWJsZSIsInRhYmJhYmxlIiwiZm9jdXNTY3JvbGxCb2R5IiwiZm9jdXNTY3JvbGxDb250YWluZXJXaXRob3V0T3ZlcmZsb3ciLCJmb2N1c1Njcm9sbENvbnRhaW5lciIsImZvY3VzU3VtbWFyeSIsImZpcnN0RWxlbWVudENoaWxkIiwibWFrZUZvY3VzYWJsZUZvcmVpZ25PYmplY3QiLCJmb3JlaWduT2JqZWN0IiwiY3JlYXRlRWxlbWVudE5TIiwid2lkdGgiLCJiYXNlVmFsIiwiaGVpZ2h0IiwibGFzdENoaWxkIiwidHlwZSIsImZvY3VzU3ZnRm9yZWlnbk9iamVjdEhhY2siLCJpc1N2Z0VsZW1lbnQiLCJvd25lclNWR0VsZW1lbnQiLCJub2RlTmFtZSIsInRvTG93ZXJDYXNlIiwiZGlzYWJsZWQiLCJnZW5lcmF0ZSIsIkhUTUxFbGVtZW50IiwicHJvdG90eXBlIiwiZm9jdXNTdmdGb2N1c2FibGVBdHRyaWJ1dGUiLCJmb2N1c1N2Z1RhYmluZGV4QXR0cmlidXRlIiwiZm9jdXNTdmdOZWdhdGl2ZVRhYmluZGV4QXR0cmlidXRlIiwiZm9jdXNTdmdVc2VUYWJpbmRleCIsImpvaW4iLCJmb2N1c1N2Z0ZvcmVpZ25vYmplY3RUYWJpbmRleCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicmVzdWx0JDIiLCJCb29sZWFuIiwiU1ZHRWxlbWVudCIsImZvY3VzU3ZnSW5JZnJhbWUiLCJmb2N1c1N2ZyIsImZpcnN0Q2hpbGQiLCJmb2N1c1RhYmluZGV4VHJhaWxpbmdDaGFyYWN0ZXJzIiwiZm9jdXNUYWJsZSIsImZyYWdtZW50IiwiY3JlYXRlRG9jdW1lbnRGcmFnbWVudCIsImZvY3VzVmlkZW9XaXRob3V0Q29udHJvbHMiLCJyZXN1bHQkMyIsInRhYnNlcXVlbmNlQXJlYUF0SW1nUG9zaXRpb24iLCJ0ZXN0Q2FsbGJhY2tzIiwidGVzdERlc2NyaXB0aW9ucyIsImV4ZWN1dGVUZXN0cyIsInN1cHBvcnRzQ2FjaGUiLCJfc3VwcG9ydHMiLCJzdXBwb3J0cyIsInZhbGlkSW50ZWdlclBhdHRlcm5Ob1RyYWlsaW5nIiwidmFsaWRJbnRlZ2VyUGF0dGVybldpdGhUcmFpbGluZyIsImlzVmFsaWRUYWJpbmRleCIsInZhbGlkSW50ZWdlclBhdHRlcm4iLCJoYXNUYWJpbmRleCIsImhhc0F0dHJpYnV0ZSIsImhhc1RhYkluZGV4IiwidGFiaW5kZXgiLCJnZXRBdHRyaWJ1dGUiLCJ0YWJpbmRleFZhbHVlIiwiYXR0cmlidXRlTmFtZSIsInBhcnNlSW50IiwiaXNOYU4iLCJpc1VzZXJNb2RpZnlXcml0YWJsZSIsInVzZXJNb2RpZnkiLCJ3ZWJraXRVc2VyTW9kaWZ5IiwiaW5kZXhPZiIsImhhc0Nzc092ZXJmbG93U2Nyb2xsIiwiZ2V0UHJvcGVydHlWYWx1ZSIsIm92ZXJmbG93IiwiaGFzQ3NzRGlzcGxheUZsZXgiLCJkaXNwbGF5IiwiaXNTY3JvbGxhYmxlQ29udGFpbmVyIiwicGFyZW50Tm9kZU5hbWUiLCJwYXJlbnRTdHlsZSIsInNjcm9sbEhlaWdodCIsIm9mZnNldFdpZHRoIiwic2Nyb2xsV2lkdGgiLCJzdXBwb3J0cyQxIiwiaXNGb2N1c1JlbGV2YW50UnVsZXMiLCJfcmVmJGV4Y2VwdCIsImV4Y2VwdCIsImZsZXhib3giLCJzY3JvbGxhYmxlIiwic2hhZG93Iiwic3ZnVHlwZSIsInZhbGlkVGFiaW5kZXgiLCJpc1N2Z0NvbnRlbnQiLCJmb2N1c2FibGVBdHRyaWJ1dGUiLCJnZXRDb21wdXRlZFN0eWxlIiwiaGFzTGlua1BhcmVudCIsInBhcmVudCIsInBhcmVudEVsZW1lbnQiLCJpc0ZvY3VzUmVsZXZhbnQiLCJydWxlcyIsImZpbmRJbmRleCIsImFycmF5IiwiY2FsbGJhY2siLCJpIiwiZ2V0Q29udGVudERvY3VtZW50IiwiY29udGVudERvY3VtZW50IiwiZ2V0U1ZHRG9jdW1lbnQiLCJnZXRXaW5kb3ciLCJkZWZhdWx0VmlldyIsInNoYWRvd1ByZWZpeCIsInNlbGVjdEluU2hhZG93cyIsIm9wZXJhdG9yIiwicmVwbGFjZSIsInNwbGl0IiwiZmluZERvY3VtZW50SG9zdEVsZW1lbnQiLCJfZnJhbWVFbGVtZW50IiwicG90ZW50aWFsSG9zdHMiLCJnZXRGcmFtZUVsZW1lbnQiLCJmcmFtZUVsZW1lbnQiLCJub3RSZW5kZXJlZEVsZW1lbnRzUGF0dGVybiIsImNvbXB1dGVkU3R5bGUiLCJwcm9wZXJ0eSIsIm5vdERpc3BsYXllZCIsIl9wYXRoIiwibm90VmlzaWJsZSIsImhpZGRlbiIsInZpc2libGUiLCJjb2xsYXBzZWRQYXJlbnQiLCJvZmZzZXQiLCJpc1Zpc2libGVSdWxlcyIsIm5vdFJlbmRlcmVkIiwiY3NzRGlzcGxheSIsImNzc1Zpc2liaWxpdHkiLCJkZXRhaWxzRWxlbWVudCIsImJyb3dzaW5nQ29udGV4dCIsImlzQXVkaW9XaXRob3V0Q29udHJvbHMiLCJfaXNWaXNpYmxlIiwiaXNWaXNpYmxlIiwiZ2V0TWFwQnlOYW1lIiwiY3NzRXNjYXBlIiwiZ2V0SW1hZ2VPZkFyZWEiLCJzdXBwb3J0cyQyIiwiaXNWYWxpZEFyZWEiLCJpbWciLCJjb21wbGV0ZSIsIm5hdHVyYWxIZWlnaHQiLCJjaGlsZE9mSW50ZXJhY3RpdmUiLCJfZWxlbWVudCIsInN1cHBvcnRzJDMiLCJkaXNhYmxlZEVsZW1lbnRzUGF0dGVybiIsImRpc2FibGVkRWxlbWVudHMiLCJzZWxlY3QiLCJ0ZXh0YXJlYSIsImJ1dHRvbiIsImZpZWxkc2V0IiwiZm9ybSIsImlzTmF0aXZlRGlzYWJsZWRTdXBwb3J0ZWQiLCJSZWdFeHAiLCJzdXBwb3J0cyQ0IiwiaXNEaXNhYmxlZEZpZWxkc2V0IiwiaXNEaXNhYmxlZEZvcm0iLCJpc0Rpc2FibGVkIiwicGFyZW50cyIsImlzT25seVRhYmJhYmxlUnVsZXMiLCJvbmx5Rm9jdXNhYmxlQnJvd3NpbmdDb250ZXh0IiwiaXNPbmx5VGFiYmFibGUiLCJzdXBwb3J0cyQ1IiwiaXNPbmx5Rm9jdXNSZWxldmFudCIsIl90YWJpbmRleCIsImlzRm9jdXNhYmxlUnVsZXMiLCJvbmx5VGFiYmFibGUiLCJfaXNPbmx5VGFiYmFibGUiLCJmb2N1c1JlbGV2YW50IiwidmlzaWJpbGl0eU9wdGlvbnMiLCJfbm9kZU5hbWUyIiwiX25vZGVOYW1lIiwiaXNGb2N1c2FibGUiLCJjcmVhdGVGaWx0ZXIiLCJjb25kaXRpb24iLCJmaWx0ZXIiLCJOb2RlRmlsdGVyIiwiRklMVEVSX0FDQ0VQVCIsIkZJTFRFUl9TS0lQIiwiYWNjZXB0Tm9kZSIsIlBvc3NpYmx5Rm9jdXNhYmxlRmlsdGVyIiwicXVlcnlGb2N1c2FibGVTdHJpY3QiLCJpbmNsdWRlQ29udGV4dCIsImluY2x1ZGVPbmx5VGFiYmFibGUiLCJzdHJhdGVneSIsIl9pc0ZvY3VzYWJsZSIsIndhbGtlciIsImNyZWF0ZVRyZWVXYWxrZXIiLCJTSE9XX0VMRU1FTlQiLCJuZXh0Tm9kZSIsImN1cnJlbnROb2RlIiwiY29uY2F0IiwidW5zaGlmdCIsInN1cHBvcnRzJDYiLCJzZWxlY3RvciQxIiwic2VsZWN0b3IkMiIsInF1ZXJ5Rm9jdXNhYmxlUXVpY2siLCJfc2VsZWN0b3IiLCJlbGVtZW50cyIsInF1ZXJ5Rm9jdXNhYmxlIiwiX3JlZiRzdHJhdGVneSIsInN1cHBvcnRzJDciLCJmb2N1c2FibGVFbGVtZW50c1BhdHRlcm4iLCJpc1RhYmJhYmxlUnVsZXMiLCJmcmFtZU5vZGVOYW1lIiwiaXNGaXhlZEJsaW5rIiwiaGFzVGFiYmFibGVUYWJpbmRleE9yTm9uZSIsImhhc1RhYmJhYmxlVGFiaW5kZXgiLCJwb3RlbnRpYWxseVRhYmJhYmxlIiwidGFiSW5kZXgiLCJfc3R5bGUiLCJfc3R5bGUyIiwiaXNGb2N1c1JlbGV2YW50V2l0aG91dEZsZXhib3giLCJpc1RhYmJhYmxlV2l0aG91dEZsZXhib3giLCJpc1RhYmJhYmxlIiwicXVlcnlUYWJiYWJsZSIsIl9pc1RhYmJhYmxlIiwiY29tcGFyZURvbVBvc2l0aW9uIiwiYSIsImIiLCJjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiIsIkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyIsInNvcnREb21PcmRlciIsInNvcnQiLCJnZXRGaXJzdFN1Y2Nlc3Nvck9mZnNldCIsImZpbmRJbnNlcnRpb25PZmZzZXRzIiwicmVzb2x2ZUVsZW1lbnQiLCJpbnNlcnRpb25zIiwiaW5qZWN0aW9ucyIsImluc2VydEVsZW1lbnRzQXRPZmZzZXRzIiwiaW5zZXJ0ZWQiLCJpbnNlcnRpb24iLCJyZW1vdmUiLCJhcmdzIiwic3BsaWNlIiwiYXBwbHkiLCJtZXJnZUluRG9tT3JkZXIiLCJfbGlzdCIsIl9lbGVtZW50cyIsIl9jcmVhdGVDbGFzcyIsImRlZmluZVByb3BlcnRpZXMiLCJwcm9wcyIsImRlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJkZWZpbmVQcm9wZXJ0eSIsIkNvbnN0cnVjdG9yIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2NsYXNzQ2FsbENoZWNrIiwiaW5zdGFuY2UiLCJNYXBzIiwibWFwcyIsImdldEFyZWFzRm9yIiwiYWRkTWFwQnlOYW1lIiwiZXh0cmFjdEFyZWFzRnJvbUxpc3QiLCJzb3J0QXJlYSIsInVzZW1hcHMiLCJpbWFnZSIsIl9jcmVhdGVDbGFzcyQxIiwiX2NsYXNzQ2FsbENoZWNrJDEiLCJTaGFkb3dzIiwic29ydEVsZW1lbnRzIiwiaG9zdENvdW50ZXIiLCJpbkhvc3QiLCJpbkRvY3VtZW50IiwiaG9zdHMiLCJfcmVnaXN0ZXJIb3N0IiwiX3NvcnRpbmdJZCIsInBhcmVudEhvc3QiLCJfcmVnaXN0ZXJIb3N0UGFyZW50IiwiX3JlZ2lzdGVyRWxlbWVudCIsImV4dHJhY3RFbGVtZW50cyIsIl9pbmplY3RIb3N0cyIsIl9yZXBsYWNlSG9zdHMiLCJfY2xlYW51cCIsIl9jb250ZXh0IiwiX21lcmdlIiwibWVyZ2VkIiwiX3Jlc29sdmVIb3N0RWxlbWVudCIsImJpbmQiLCJzb3J0U2hhZG93ZWQiLCJzaGFkb3dzIiwic29ydFRhYmluZGV4IiwiaW5kZXhlcyIsIm5vcm1hbCIsInJlZHVjZVJpZ2h0IiwicHJldmlvdXMiLCJjdXJyZW50Iiwic3VwcG9ydHMkOCIsIm1vdmVDb250ZXh0VG9CZWdpbm5pbmciLCJwb3MiLCJ0bXAiLCJxdWVyeVRhYnNlcXVlbmNlIiwiY3JlYXRlU2hhZG93Um9vdCIsImtleWNvZGUiLCJ0YWIiLCJsZWZ0IiwidXAiLCJyaWdodCIsImRvd24iLCJwYWdlVXAiLCJwYWdlRG93biIsImVuZCIsImhvbWUiLCJlbnRlciIsImVzY2FwZSIsInNwYWNlIiwic2hpZnQiLCJjYXBzTG9jayIsImN0cmwiLCJhbHQiLCJtZXRhIiwicGF1c2UiLCJpbnNlcnQiLCJkZWxldGUiLCJiYWNrc3BhY2UiLCJfYWxpYXMiLCJuIiwiX24iLCJjb2RlIiwibnVtQ29kZSIsIl9uMiIsIl9jb2RlIiwibmFtZSQxIiwiZnJvbUNoYXJDb2RlIiwibW9kaWZpZXIiLCJtb2RpZmllclNlcXVlbmNlIiwiY3JlYXRlRXhwZWN0ZWRNb2RpZmllcnMiLCJpZ25vcmVNb2RpZmllcnMiLCJhbHRLZXkiLCJjdHJsS2V5IiwibWV0YUtleSIsInNoaWZ0S2V5IiwicmVzb2x2ZU1vZGlmaWVycyIsIm1vZGlmaWVycyIsImV4cGVjdGVkIiwidG9rZW4iLCJwcm9wZXJ0eU5hbWUiLCJyZXNvbHZlS2V5IiwibWF0Y2hNb2RpZmllcnMiLCJldmVudCIsInByb3AiLCJrZXlCaW5kaW5nIiwidGV4dCIsIl90ZXh0IiwidG9rZW5zIiwiX21vZGlmaWVycyIsIl9rZXlDb2RlcyIsImtleUNvZGVzIiwiZ2V0UGFyZW50Q29tcGFyYXRvciIsImluY2x1ZGVTZWxmIiwiaXNDaGlsZE9mIiwiRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZIiwiaXNQYXJlbnRPZiIsIndoZW5LZXkiLCJiaW5kaW5ncyIsIm1hcEtleXMiLCJyZWdpc3RlckJpbmRpbmciLCJhZGRDYWxsYmFjayIsImhhbmRsZUtleURvd24iLCJkZWZhdWx0UHJldmVudGVkIiwiaXNQYXJlbnRPZkVsZW1lbnQiLCJrZXlDb2RlIiwid2hpY2giLCJfZXZlbnQiLCJkaXNlbmdhZ2UiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInBhcmFtIiwiYWx0U2hpZnRUYWIiLCJwcmV2ZW50RGVmYXVsdCIsInNlcXVlbmNlIiwiYmFja3dhcmQiLCJmaXJzdCIsImxhc3QiLCJzb3VyY2UiLCJjdXJyZW50SW5kZXgiLCJmb3VuZCIsImluZGV4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js ***! - \**********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-overlay] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n overflow: auto;\\n z-index: 9000;\\n\\n display: flex;\\n align-content: center;\\n align-items: center;\\n flex-direction: column;\\n padding: 10vh 15px 0;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n padding: 15px 15px 0;\\n }\\n }\\n\\n [data-nextjs-dialog-backdrop] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n background-color: var(--color-backdrop);\\n pointer-events: all;\\n z-index: -1;\\n }\\n\\n [data-nextjs-dialog-backdrop-fixed] {\\n cursor: not-allowed;\\n -webkit-backdrop-filter: blur(8px);\\n backdrop-filter: blur(8px);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9zdHlsZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzswQ0EyQ1NBOzs7ZUFBQUE7Ozs7MENBM0NtQjs7Ozs7Ozs7OztBQUU1QixNQUFNQSxTQUFBQSxDQUFBQSxHQUFTQyxjQUFBQSxJQUFHLEVBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L3N0eWxlcy50c3g/MzRkNCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ShadowPortal\", ({\n enumerable: true,\n get: function() {\n return ShadowPortal;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _reactdom = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nfunction ShadowPortal(param) {\n _s();\n let { children } = param;\n let portalNode = _react.useRef(null);\n let shadowNode = _react.useRef(null);\n let [, forceUpdate] = _react.useState();\n _react.useLayoutEffect(()=>{\n const ownerDocument = document;\n portalNode.current = ownerDocument.createElement(\"nextjs-portal\");\n shadowNode.current = portalNode.current.attachShadow({\n mode: \"open\"\n });\n ownerDocument.body.appendChild(portalNode.current);\n forceUpdate({});\n return ()=>{\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current);\n }\n };\n }, []);\n return shadowNode.current ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, shadowNode.current) : null;\n}\n_s(ShadowPortal, \"P7YL0rn/sjH62F7+OsEXN5GMw3U=\");\n_c = ShadowPortal;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ShadowPortal.js.map\nvar _c;\n$RefreshReg$(_c, \"ShadowPortal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvU2hhZG93UG9ydGFsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztnREFHZ0JBOzs7ZUFBQUE7Ozs7NkVBSE87c0NBQ007QUFFdEIsU0FBU0EsYUFBYUMsS0FBMkM7O0lBQTNDLE1BQUVDLFFBQVEsRUFBaUMsR0FBM0NEO0lBQzNCLElBQUlFLGFBQWFDLE9BQU1DLE1BQU0sQ0FBcUI7SUFDbEQsSUFBSUMsYUFBYUYsT0FBTUMsTUFBTSxDQUFvQjtJQUNqRCxJQUFJLEdBQUdFLFlBQVksR0FBR0gsT0FBTUksUUFBUTtJQUVwQ0osT0FBTUssZUFBZSxDQUFDO1FBQ3BCLE1BQU1DLGdCQUFnQkM7UUFDdEJSLFdBQVdTLE9BQU8sR0FBR0YsY0FBY0csYUFBYSxDQUFDO1FBQ2pEUCxXQUFXTSxPQUFPLEdBQUdULFdBQVdTLE9BQU8sQ0FBQ0UsWUFBWSxDQUFDO1lBQUVDLE1BQU07UUFBTztRQUNwRUwsY0FBY00sSUFBSSxDQUFDQyxXQUFXLENBQUNkLFdBQVdTLE9BQU87UUFDakRMLFlBQVksQ0FBQztRQUNiLE9BQU87WUFDTCxJQUFJSixXQUFXUyxPQUFPLElBQUlULFdBQVdTLE9BQU8sQ0FBQ0YsYUFBYSxFQUFFO2dCQUMxRFAsV0FBV1MsT0FBTyxDQUFDRixhQUFhLENBQUNNLElBQUksQ0FBQ0UsV0FBVyxDQUFDZixXQUFXUyxPQUFPO1lBQ3RFO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCxPQUFPTixXQUFXTSxPQUFPLEdBQ3JCTyxXQURxQixHQUNyQkEsQ0FBQUEsR0FBQUEsVUFBQUEsWUFBWSxFQUFDakIsVUFBVUksV0FBV00sT0FBTyxJQUN6QztBQUNOO0dBckJnQlo7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1NoYWRvd1BvcnRhbC50c3g/YjQ1ZSJdLCJuYW1lcyI6WyJTaGFkb3dQb3J0YWwiLCJwYXJhbSIsImNoaWxkcmVuIiwicG9ydGFsTm9kZSIsIlJlYWN0IiwidXNlUmVmIiwic2hhZG93Tm9kZSIsImZvcmNlVXBkYXRlIiwidXNlU3RhdGUiLCJ1c2VMYXlvdXRFZmZlY3QiLCJvd25lckRvY3VtZW50IiwiZG9jdW1lbnQiLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVDaGlsZCIsImNyZWF0ZVBvcnRhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"EditorLink\", ({\n enumerable: true,\n get: function() {\n return EditorLink;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nfunction EditorLink(param) {\n let { file, isSourceFile, location } = param;\n var _location_line, _location_column;\n const open = (0, _useopenineditor.useOpenInEditor)({\n file,\n lineNumber: (_location_line = location == null ? void 0 : location.line) != null ? _location_line : 1,\n column: (_location_column = location == null ? void 0 : location.column) != null ? _location_column : 0\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-with-open-in-editor-link\": true,\n \"data-with-open-in-editor-link-source-file\": isSourceFile ? true : undefined,\n \"data-with-open-in-editor-link-import-trace\": isSourceFile ? undefined : true,\n tabIndex: 10,\n role: \"link\",\n onClick: open,\n title: \"Click to open in your editor\",\n children: [\n file,\n location ? \":\" + location.line + \":\" + location.column : null,\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n });\n}\n_c = EditorLink;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=EditorLink.js.map\nvar _c;\n$RefreshReg$(_c, \"EditorLink\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvRWRpdG9yTGluay5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQVdnQkE7OztlQUFBQTs7Ozs7NEVBWEU7NkNBQ2M7QUFVekIsU0FBU0EsV0FBV0MsS0FBaUQ7SUFBakQsTUFBRUMsSUFBSSxFQUFFQyxZQUFZLEVBQUVDLFFBQVEsRUFBbUIsR0FBakRIO1FBR1hHLGdCQUNKQTtJQUhWLE1BQU1DLE9BQU9DLENBQUFBLEdBQUFBLGlCQUFBQSxlQUFlLEVBQUM7UUFDM0JKO1FBQ0FLLFlBQVlILENBQUFBLGlCQUFBQSxZQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxTQUFVSSxJQUFJLFlBQWRKLGlCQUFrQjtRQUM5QkssUUFBUUwsQ0FBQUEsbUJBQUFBLFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVVLLE1BQU0sWUFBaEJMLG1CQUFvQjtJQUM5QjtJQUVBLE9BQ0UsV0FERixHQUNFLElBQUFNLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsaUNBQTZCO1FBQzdCQyw2Q0FDRVgsZUFBZSxPQUFPWTtRQUV4QkMsOENBQ0ViLGVBQWVZLFlBQVk7UUFFN0JFLFVBQVU7UUFDVkMsTUFBTTtRQUNOQyxTQUFTZDtRQUNUZSxPQUFPOztZQUVObEI7WUFDQUUsV0FBVyxNQUFJQSxTQUFTSSxJQUFJLEdBQUMsTUFBR0osU0FBU0ssTUFBTSxHQUFLOzBCQUNyRCxJQUFBQyxZQUFBQyxJQUFBLEVBQUNVLE9BQUFBO2dCQUNDQyxPQUFNO2dCQUNOQyxTQUFRO2dCQUNSQyxNQUFLO2dCQUNMQyxRQUFPO2dCQUNQQyxhQUFZO2dCQUNaQyxlQUFjO2dCQUNkQyxnQkFBZTs7a0NBRWYsSUFBQWxCLFlBQUFtQixHQUFBLEVBQUNDLFFBQUFBO3dCQUFLQyxHQUFFOztrQ0FDUixJQUFBckIsWUFBQW1CLEdBQUEsRUFBQ0csWUFBQUE7d0JBQVNDLFFBQU87O2tDQUNqQixJQUFBdkIsWUFBQW1CLEdBQUEsRUFBQ3JCLFFBQUFBO3dCQUFLMEIsSUFBRzt3QkFBS0MsSUFBRzt3QkFBS0MsSUFBRzt3QkFBS0MsSUFBRzs7Ozs7O0FBSXpDO0tBdENnQnJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9UZXJtaW5hbC9FZGl0b3JMaW5rLnRzeD80NWE2Il0sIm5hbWVzIjpbIkVkaXRvckxpbmsiLCJwYXJhbSIsImZpbGUiLCJpc1NvdXJjZUZpbGUiLCJsb2NhdGlvbiIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJsaW5lTnVtYmVyIiwibGluZSIsImNvbHVtbiIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rIiwiZGF0YS13aXRoLW9wZW4taW4tZWRpdG9yLWxpbmstc291cmNlLWZpbGUiLCJ1bmRlZmluZWQiLCJkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGluay1pbXBvcnQtdHJhY2UiLCJ0YWJJbmRleCIsInJvbGUiLCJvbkNsaWNrIiwidGl0bGUiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJqc3giLCJwYXRoIiwiZCIsInBvbHlsaW5lIiwicG9pbnRzIiwieDEiLCJ5MSIsIngyIiwieTIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return Terminal;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _EditorLink = __webpack_require__(/*! ./EditorLink */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\");\nfunction getFile(lines) {\n const contentFileName = lines.shift();\n if (!contentFileName) return null;\n const [fileName, line, column] = contentFileName.split(\":\", 3);\n const parsedLine = Number(line);\n const parsedColumn = Number(column);\n const hasLocation = !Number.isNaN(parsedLine) && !Number.isNaN(parsedColumn);\n return {\n fileName: hasLocation ? fileName : contentFileName,\n location: hasLocation ? {\n line: parsedLine,\n column: parsedColumn\n } : undefined\n };\n}\nfunction getImportTraceFiles(lines) {\n if (lines.some((line)=>/ReactServerComponentsError:/.test(line)) || lines.some((line)=>/Import trace for requested module:/.test(line))) {\n // Grab the lines at the end containing the files\n const files = [];\n while(/.+\\..+/.test(lines[lines.length - 1]) && !lines[lines.length - 1].includes(\":\")){\n const file = lines.pop().trim();\n files.unshift(file);\n }\n return files;\n }\n return [];\n}\nfunction getEditorLinks(content) {\n const lines = content.split(\"\\n\");\n const file = getFile(lines);\n const importTraceFiles = getImportTraceFiles(lines);\n return {\n file,\n source: lines.join(\"\\n\"),\n importTraceFiles\n };\n}\nconst Terminal = function Terminal(param) {\n _s();\n let { content } = param;\n const { file, source, importTraceFiles } = _react.useMemo(()=>getEditorLinks(content), [\n content\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(source, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n source\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-terminal\": true,\n children: [\n file && /*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: true,\n file: file.fileName,\n location: file.location\n }, file.fileName),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"pre\", {\n children: [\n decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: entry.content\n })\n }, \"terminal-entry-\" + index)),\n importTraceFiles.map((importTraceFile)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: false,\n file: importTraceFile\n }, importTraceFile))\n ]\n })\n ]\n });\n};\n_s(Terminal, \"nkmao/TIox3Jie/+6JvWO3hTKPQ=\");\n_c = Terminal;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Terminal.js.map\nvar _c;\n$RefreshReg$(_c, \"Terminal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvVGVybWluYWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OzRDQXdEYUE7OztlQUFBQTs7Ozs7OzRFQXhESzs2RUFDSzsyQ0FDTzt3Q0FDSDtBQUkzQixTQUFTQyxRQUFRQyxLQUFlO0lBQzlCLE1BQU1DLGtCQUFrQkQsTUFBTUUsS0FBSztJQUNuQyxJQUFJLENBQUNELGlCQUFpQixPQUFPO0lBQzdCLE1BQU0sQ0FBQ0UsVUFBVUMsTUFBTUMsT0FBTyxHQUFHSixnQkFBZ0JLLEtBQUssQ0FBQyxLQUFLO0lBRTVELE1BQU1DLGFBQWFDLE9BQU9KO0lBQzFCLE1BQU1LLGVBQWVELE9BQU9IO0lBQzVCLE1BQU1LLGNBQWMsQ0FBQ0YsT0FBT0csS0FBSyxDQUFDSixlQUFlLENBQUNDLE9BQU9HLEtBQUssQ0FBQ0Y7SUFFL0QsT0FBTztRQUNMTixVQUFVTyxjQUFjUCxXQUFXRjtRQUNuQ1csVUFBVUYsY0FDTjtZQUNFTixNQUFNRztZQUNORixRQUFRSTtRQUNWLElBQ0FJO0lBQ047QUFDRjtBQUVBLFNBQVNDLG9CQUFvQmQsS0FBZTtJQUMxQyxJQUNFQSxNQUFNZSxJQUFJLENBQUMsQ0FBQ1gsT0FBUyw4QkFBOEJZLElBQUksQ0FBQ1osVUFDeERKLE1BQU1lLElBQUksQ0FBQyxDQUFDWCxPQUFTLHFDQUFxQ1ksSUFBSSxDQUFDWixRQUMvRDtRQUNBLGlEQUFpRDtRQUNqRCxNQUFNYSxRQUFRLEVBQUU7UUFDaEIsTUFDRSxTQUFTRCxJQUFJLENBQUNoQixLQUFLLENBQUNBLE1BQU1rQixNQUFNLEdBQUcsRUFBRSxLQUNyQyxDQUFDbEIsS0FBSyxDQUFDQSxNQUFNa0IsTUFBTSxHQUFHLEVBQUUsQ0FBQ0MsUUFBUSxDQUFDLEtBQ2xDO1lBQ0EsTUFBTUMsT0FBT3BCLE1BQU1xQixHQUFHLEdBQUlDLElBQUk7WUFDOUJMLE1BQU1NLE9BQU8sQ0FBQ0g7UUFDaEI7UUFFQSxPQUFPSDtJQUNUO0lBRUEsT0FBTyxFQUFFO0FBQ1g7QUFFQSxTQUFTTyxlQUFlQyxPQUFlO0lBQ3JDLE1BQU16QixRQUFReUIsUUFBUW5CLEtBQUssQ0FBQztJQUM1QixNQUFNYyxPQUFPckIsUUFBUUM7SUFDckIsTUFBTTBCLG1CQUFtQlosb0JBQW9CZDtJQUU3QyxPQUFPO1FBQUVvQjtRQUFNTyxRQUFRM0IsTUFBTTRCLElBQUksQ0FBQztRQUFPRjtJQUFpQjtBQUM1RDtBQUVPLE1BQU01QixXQUFvQyxTQUFTQSxTQUFTK0IsS0FFbEU7O0lBRmtFLE1BQ2pFSixPQUFPLEVBQ1IsR0FGa0VJO0lBR2pFLE1BQU0sRUFBRVQsSUFBSSxFQUFFTyxNQUFNLEVBQUVELGdCQUFnQixFQUFFLEdBQUdJLE9BQU1DLE9BQU8sQ0FDdEQsSUFBTVAsZUFBZUMsVUFDckI7UUFBQ0E7S0FBUTtJQUdYLE1BQU1PLFVBQVVGLE9BQU1DLE9BQU8sQ0FBQztRQUM1QixPQUFPRSxPQUFBQSxPQUFLLENBQUNDLFVBQVUsQ0FBQ1AsUUFBUTtZQUM5QlEsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLGNBQWM7UUFDaEI7SUFDRixHQUFHO1FBQUNWO0tBQU87SUFFWCxPQUNFLFdBREYsR0FDRSxJQUFBVyxZQUFBQyxJQUFBLEVBQUNDLE9BQUFBO1FBQUlDLHdCQUFvQjs7WUFDdEJyQixRQUNDLFdBRERBLEdBQ0MsSUFBQWtCLFlBQUFJLEdBQUEsRUFBQ0MsWUFBQUEsVUFBVTtnQkFDVEMsY0FBWTtnQkFFWnhCLE1BQU1BLEtBQUtqQixRQUFRO2dCQUNuQlMsVUFBVVEsS0FBS1IsUUFBUTtlQUZsQlEsS0FBS2pCLFFBQVE7MEJBS3RCLElBQUFtQyxZQUFBQyxJQUFBLEVBQUNNLE9BQUFBOztvQkFDRWIsUUFBUWMsR0FBRyxDQUFDLENBQUNDLE9BQU9DLFFBQ25CLFdBRG1CQSxHQUNuQixJQUFBVixZQUFBSSxHQUFBLEVBQUNPLFFBQUFBOzRCQUVDQyxPQUFPO2dDQUNMQyxPQUFPSixNQUFNSyxFQUFFLEdBQUcsaUJBQWVMLE1BQU1LLEVBQUUsR0FBQyxNQUFLdkM7Z0NBQy9DLEdBQUlrQyxNQUFNTSxVQUFVLEtBQUssU0FDckI7b0NBQUVDLFlBQVk7Z0NBQUksSUFDbEJQLE1BQU1NLFVBQVUsS0FBSyxXQUNyQjtvQ0FBRUUsV0FBVztnQ0FBUyxJQUN0QjFDLFNBQVM7NEJBQ2Y7c0NBRUEsa0JBQUF5QixZQUFBSSxHQUFBLEVBQUNjLGVBQUFBLGFBQWE7Z0NBQUNDLE1BQU1WLE1BQU10QixPQUFPOzsyQkFWN0Isb0JBQWtCdUI7b0JBYTFCdEIsaUJBQWlCb0IsR0FBRyxDQUFDLENBQUNZLGtCQUNyQixXQURxQkEsR0FDckIsSUFBQXBCLFlBQUFJLEdBQUEsRUFBQ0MsWUFBQUEsVUFBVTs0QkFDVEMsY0FBYzs0QkFFZHhCLE1BQU1zQzsyQkFEREE7Ozs7O0FBT2pCO0dBcERhNUQ7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL1Rlcm1pbmFsLnRzeD84NWFhIl0sIm5hbWVzIjpbIlRlcm1pbmFsIiwiZ2V0RmlsZSIsImxpbmVzIiwiY29udGVudEZpbGVOYW1lIiwic2hpZnQiLCJmaWxlTmFtZSIsImxpbmUiLCJjb2x1bW4iLCJzcGxpdCIsInBhcnNlZExpbmUiLCJOdW1iZXIiLCJwYXJzZWRDb2x1bW4iLCJoYXNMb2NhdGlvbiIsImlzTmFOIiwibG9jYXRpb24iLCJ1bmRlZmluZWQiLCJnZXRJbXBvcnRUcmFjZUZpbGVzIiwic29tZSIsInRlc3QiLCJmaWxlcyIsImxlbmd0aCIsImluY2x1ZGVzIiwiZmlsZSIsInBvcCIsInRyaW0iLCJ1bnNoaWZ0IiwiZ2V0RWRpdG9yTGlua3MiLCJjb250ZW50IiwiaW1wb3J0VHJhY2VGaWxlcyIsInNvdXJjZSIsImpvaW4iLCJwYXJhbSIsIlJlYWN0IiwidXNlTWVtbyIsImRlY29kZWQiLCJBbnNlciIsImFuc2lUb0pzb24iLCJqc29uIiwidXNlX2NsYXNzZXMiLCJyZW1vdmVfZW1wdHkiLCJfanN4cnVudGltZSIsImpzeHMiLCJkaXYiLCJkYXRhLW5leHRqcy10ZXJtaW5hbCIsImpzeCIsIkVkaXRvckxpbmsiLCJpc1NvdXJjZUZpbGUiLCJwcmUiLCJtYXAiLCJlbnRyeSIsImluZGV4Iiwic3BhbiIsInN0eWxlIiwiY29sb3IiLCJmZyIsImRlY29yYXRpb24iLCJmb250V2VpZ2h0IiwiZm9udFN0eWxlIiwiSG90bGlua2VkVGV4dCIsInRleHQiLCJpbXBvcnRUcmFjZUZpbGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js ***! - \**********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return _Terminal.Terminal;\n }\n}));\nconst _Terminal = __webpack_require__(/*! ./Terminal */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs0Q0FBU0E7OztlQUFBQSxVQUFBQSxRQUFROzs7c0NBQVEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL2luZGV4LnRzeD9iNGQ0Il0sIm5hbWVzIjpbIlRlcm1pbmFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-terminal] {\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-terminal]::selection,\\n [data-nextjs-terminal] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-terminal] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n [data-nextjs-terminal] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n\\n [data-nextjs-terminal] pre {\\n white-space: pre-wrap;\\n word-break: break-word;\\n }\\n\\n [data-with-open-in-editor-link] svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n }\\n [data-with-open-in-editor-link] {\\n cursor: pointer;\\n }\\n [data-with-open-in-editor-link]:hover {\\n text-decoration: underline dotted;\\n }\\n [data-with-open-in-editor-link-source-file] {\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-with-open-in-editor-link-import-trace] {\\n margin-left: var(--size-gap-double);\\n }\\n [data-nextjs-terminal] a {\\n color: inherit;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBcURTQTs7O2VBQUFBOzs7OzBDQXJEbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvc3R5bGVzLnRzeD81ZGE4Il0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Toast\", ({\n enumerable: true,\n get: function() {\n return Toast;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst Toast = function Toast(param) {\n let { onClick, children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast\": true,\n onClick: (e)=>{\n e.preventDefault();\n return onClick == null ? void 0 : onClick();\n },\n className: className,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast-wrapper\": true,\n children: children\n })\n });\n};\n_c = Toast;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Toast.js.map\nvar _c;\n$RefreshReg$(_c, \"Toast\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozt5Q0FRYUE7OztlQUFBQTs7Ozs7NkVBUlU7QUFRaEIsTUFBTUEsUUFBOEIsU0FBU0EsTUFBTUMsS0FJekQ7SUFKeUQsTUFDeERDLE9BQU8sRUFDUEMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FKeURIO0lBS3hELE9BQ0UsV0FERixHQUNFLElBQUFJLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MscUJBQWlCO1FBQ2pCTixTQUFTLENBQUNPO1lBQ1JBLEVBQUVDLGNBQWM7WUFDaEIsT0FBT1IsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUE7UUFDVDtRQUNBRSxXQUFXQTtrQkFFWCxrQkFBQUMsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtZQUFJSSw2QkFBeUI7c0JBQUVSOzs7QUFHdEM7S0FqQmFIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC50c3g/ZTY4NiJdLCJuYW1lcyI6WyJUb2FzdCIsInBhcmFtIiwib25DbGljayIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJkaXYiLCJkYXRhLW5leHRqcy10b2FzdCIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImRhdGEtbmV4dGpzLXRvYXN0LXdyYXBwZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Toast: function() {\n return _Toast.Toast;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\");\nconst _Toast = __webpack_require__(/*! ./Toast */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQ1NBLE9BQUs7ZUFBTEEsT0FBQUEsS0FBSzs7SUFETEMsUUFBTTtlQUFOQSxRQUFBQSxNQUFNOzs7b0NBQVE7bUNBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1RvYXN0L2luZGV4LnRzeD85YTAwIl0sIm5hbWVzIjpbIlRvYXN0Iiwic3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-toast] {\\n position: fixed;\\n bottom: var(--size-gap-double);\\n left: var(--size-gap-double);\\n max-width: 420px;\\n z-index: 9000;\\n }\\n\\n @media (max-width: 440px) {\\n [data-nextjs-toast] {\\n max-width: 90vw;\\n left: 5vw;\\n }\\n }\\n\\n [data-nextjs-toast-wrapper] {\\n padding: 16px;\\n border-radius: var(--size-gap-half);\\n font-weight: 500;\\n color: var(--color-ansi-bright-white);\\n background-color: var(--color-ansi-red);\\n box-shadow: 0px var(--size-gap-double) var(--size-gap-quad)\\n rgba(0, 0, 0, 0.25);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3Qvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBNkJTQTs7O2VBQUFBOzs7OzBDQTdCbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3Qvc3R5bGVzLnRzP2M4NDgiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js": -/*!*************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js ***! - \*************************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VersionStalenessInfo: function() {\n return VersionStalenessInfo;\n },\n getStaleness: function() {\n return getStaleness;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nfunction VersionStalenessInfo(props) {\n if (!props) return null;\n const { staleness } = props;\n let { text, indicatorClass, title } = getStaleness(props);\n if (!text) return null;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n className: \"nextjs-container-build-error-version-status\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n className: indicatorClass\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n \"data-nextjs-version-checker\": true,\n title: title,\n children: text\n }),\n \" \",\n staleness === \"fresh\" || staleness === \"newer-than-npm\" || staleness === \"unknown\" ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://nextjs.org/docs/messages/version-staleness\",\n children: \"(learn more)\"\n }),\n false ? 0 : \"\"\n ]\n });\n}\n_c = VersionStalenessInfo;\nfunction getStaleness(param) {\n let { installed, staleness, expected } = param;\n let text = \"\";\n let title = \"\";\n let indicatorClass = \"\";\n const versionLabel = \"Next.js (\" + installed + \")\";\n switch(staleness){\n case \"newer-than-npm\":\n case \"fresh\":\n text = versionLabel;\n title = \"Latest available version is detected (\" + installed + \").\";\n indicatorClass = \"fresh\";\n break;\n case \"stale-patch\":\n case \"stale-minor\":\n text = \"\" + versionLabel + \" out of date\";\n title = \"There is a newer version (\" + expected + \") available, upgrade recommended! \";\n indicatorClass = \"stale\";\n break;\n case \"stale-major\":\n {\n text = \"\" + versionLabel + \" is outdated\";\n title = \"An outdated version detected (latest is \" + expected + \"), upgrade is highly recommended!\";\n indicatorClass = \"outdated\";\n break;\n }\n case \"stale-prerelease\":\n {\n text = \"\" + versionLabel + \" is outdated\";\n title = \"There is a newer canary version (\" + expected + \") available, please upgrade! \";\n indicatorClass = \"stale\";\n break;\n }\n case \"unknown\":\n break;\n default:\n break;\n }\n return {\n text,\n indicatorClass,\n title\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=VersionStalenessInfo.js.map\nvar _c;\n$RefreshReg$(_c, \"VersionStalenessInfo\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vVmVyc2lvblN0YWxlbmVzc0luZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBR2dCQSxzQkFBb0I7ZUFBcEJBOztJQTZCQUMsY0FBWTtlQUFaQTs7Ozs7NEVBaENFO0FBR1gsU0FBU0QscUJBQXFCRSxLQUFrQjtJQUNyRCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUNuQixNQUFNLEVBQUVDLFNBQVMsRUFBRSxHQUFHRDtJQUN0QixJQUFJLEVBQUVFLElBQUksRUFBRUMsY0FBYyxFQUFFQyxLQUFLLEVBQUUsR0FBR0wsYUFBYUM7SUFFbkQsSUFBSSxDQUFDRSxNQUFNLE9BQU87SUFFbEIsT0FDRSxXQURGLEdBQ0UsSUFBQUcsWUFBQUMsSUFBQSxFQUFDQyxTQUFBQTtRQUFNQyxXQUFVOzswQkFDZixJQUFBSCxZQUFBSSxHQUFBLEVBQUNDLFFBQUFBO2dCQUFLRixXQUFXTDs7MEJBQ2pCLElBQUFFLFlBQUFJLEdBQUEsRUFBQ0YsU0FBQUE7Z0JBQU1JLCtCQUEyQjtnQkFBQ1AsT0FBT0E7MEJBQ3ZDRjs7WUFDTTtZQUNSRCxjQUFjLFdBQ2ZBLGNBQWMsb0JBQ2RBLGNBQWMsWUFBWSxPQUN4QixXQUR3QixHQUN4QixJQUFBSSxZQUFBSSxHQUFBLEVBQUNHLEtBQUFBO2dCQUNDQyxRQUFPO2dCQUNQQyxLQUFJO2dCQUNKQyxNQUFLOzBCQUNOOztZQUlGQyxNQUFxQixHQUFHLElBQWE7OztBQUc1QztLQTNCZ0JsQjtBQTZCVCxTQUFTQyxhQUFhb0IsS0FBK0M7SUFBL0MsTUFBRUMsU0FBUyxFQUFFbkIsU0FBUyxFQUFFb0IsUUFBUSxFQUFlLEdBQS9DRjtJQUMzQixJQUFJakIsT0FBTztJQUNYLElBQUlFLFFBQVE7SUFDWixJQUFJRCxpQkFBaUI7SUFDckIsTUFBTW1CLGVBQWUsY0FBWUYsWUFBVTtJQUMzQyxPQUFRbkI7UUFDTixLQUFLO1FBQ0wsS0FBSztZQUNIQyxPQUFPb0I7WUFDUGxCLFFBQVEsMkNBQXlDZ0IsWUFBVTtZQUMzRGpCLGlCQUFpQjtZQUNqQjtRQUNGLEtBQUs7UUFDTCxLQUFLO1lBQ0hELE9BQU8sS0FBR29CLGVBQWE7WUFDdkJsQixRQUFRLCtCQUE2QmlCLFdBQVM7WUFDOUNsQixpQkFBaUI7WUFDakI7UUFDRixLQUFLO1lBQWU7Z0JBQ2xCRCxPQUFPLEtBQUdvQixlQUFhO2dCQUN2QmxCLFFBQVEsNkNBQTJDaUIsV0FBUztnQkFDNURsQixpQkFBaUI7Z0JBQ2pCO1lBQ0Y7UUFDQSxLQUFLO1lBQW9CO2dCQUN2QkQsT0FBTyxLQUFHb0IsZUFBYTtnQkFDdkJsQixRQUFRLHNDQUFvQ2lCLFdBQVM7Z0JBQ3JEbEIsaUJBQWlCO2dCQUNqQjtZQUNGO1FBQ0EsS0FBSztZQUNIO1FBQ0Y7WUFDRTtJQUNKO0lBQ0EsT0FBTztRQUFFRDtRQUFNQztRQUFnQkM7SUFBTTtBQUN2QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vVmVyc2lvblN0YWxlbmVzc0luZm8udHN4PzJhMTgiXSwibmFtZXMiOlsiVmVyc2lvblN0YWxlbmVzc0luZm8iLCJnZXRTdGFsZW5lc3MiLCJwcm9wcyIsInN0YWxlbmVzcyIsInRleHQiLCJpbmRpY2F0b3JDbGFzcyIsInRpdGxlIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwic21hbGwiLCJjbGFzc05hbWUiLCJqc3giLCJzcGFuIiwiZGF0YS1uZXh0anMtdmVyc2lvbi1jaGVja2VyIiwiYSIsInRhcmdldCIsInJlbCIsImhyZWYiLCJwcm9jZXNzIiwiZW52IiwiVFVSQk9QQUNLIiwicGFyYW0iLCJpbnN0YWxsZWQiLCJleHBlY3RlZCIsInZlcnNpb25MYWJlbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js": -/*!**********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js ***! - \**********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VersionStalenessInfo: function() {\n return _VersionStalenessInfo.VersionStalenessInfo;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ./VersionStalenessInfo */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQ1NBLHNCQUFvQjtlQUFwQkEsc0JBQUFBLG9CQUFvQjs7SUFEcEJDLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7O29DQUFRO2tEQUNjIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9pbmRleC50c3g/MTdkZiJdLCJuYW1lcyI6WyJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js ***! - \***********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-build-error-version-status {\\n flex: 1;\\n text-align: right;\\n }\\n .nextjs-container-build-error-version-status small {\\n margin-left: var(--size-gap);\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status a {\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status span {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n border-radius: 5px;\\n background: var(--color-ansi-bright-black);\\n }\\n .nextjs-container-build-error-version-status span.fresh {\\n background: var(--color-ansi-green);\\n }\\n .nextjs-container-build-error-version-status span.stale {\\n background: var(--color-ansi-yellow);\\n }\\n .nextjs-container-build-error-version-status span.outdated {\\n background: var(--color-ansi-red);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBZ0NTQTs7O2VBQUFBOzs7OzBDQWhDbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vc3R5bGVzLnRzPzkyMTQiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js": -/*!*****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js ***! - \*****************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HotlinkedText\", ({\n enumerable: true,\n get: function() {\n return HotlinkedText;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _magicidentifier = __webpack_require__(/*! ../../../../../../shared/lib/magic-identifier */ \"./node_modules/next/dist/shared/lib/magic-identifier.js\");\nconst linkRegex = /https?:\\/\\/[^\\s/$.?#].[^\\s)'\"]*/i;\nconst splitRegexp = new RegExp(\"(\" + _magicidentifier.MAGIC_IDENTIFIER_REGEX.source + \"|\\\\s+)\");\nconst HotlinkedText = function HotlinkedText(props) {\n const { text, matcher } = props;\n const wordsAndWhitespaces = text.split(splitRegexp);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: wordsAndWhitespaces.map((word, index)=>{\n if (linkRegex.test(word)) {\n const link = linkRegex.exec(word);\n const href = link[0];\n // If link matcher is present but the link doesn't match, don't turn it into a link\n if (typeof matcher === \"function\" && !matcher(href)) {\n return word;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n href: href,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n children: word\n })\n }, \"link-\" + index);\n }\n try {\n const decodedWord = (0, _magicidentifier.decodeMagicIdentifier)(word);\n if (decodedWord !== word) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"i\", {\n children: [\n \"{\",\n decodedWord,\n \"}\"\n ]\n }, \"ident-\" + index);\n }\n } catch (e) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"i\", {\n children: [\n \"{\",\n word,\n \" (decoding failed: \",\n \"\" + e,\n \")\",\n \"}\"\n ]\n }, \"ident-\" + index);\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: word\n }, \"text-\" + index);\n })\n });\n};\n_c = HotlinkedText;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c;\n$RefreshReg$(_c, \"HotlinkedText\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvaG90LWxpbmtlZC10ZXh0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBVWFBOzs7ZUFBQUE7Ozs7OzRFQVZLOzZDQUlYO0FBRVAsTUFBTUMsWUFBWTtBQUVsQixNQUFNQyxjQUFjLElBQUlDLE9BQU8sTUFBSUMsaUJBQUFBLHNCQUFzQixDQUFDQyxNQUFNLEdBQUM7QUFFMUQsTUFBTUwsZ0JBR1IsU0FBU0EsY0FBY00sS0FBSztJQUMvQixNQUFNLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFLEdBQUdGO0lBRTFCLE1BQU1HLHNCQUFzQkYsS0FBS0csS0FBSyxDQUFDUjtJQUV2QyxPQUNFLFdBREYsR0FDRSxJQUFBUyxZQUFBQyxHQUFBLEVBQUFELFlBQUFFLFFBQUE7a0JBQ0dKLG9CQUFvQkssR0FBRyxDQUFDLENBQUNDLE1BQU1DO1lBQzlCLElBQUlmLFVBQVVnQixJQUFJLENBQUNGLE9BQU87Z0JBQ3hCLE1BQU1HLE9BQU9qQixVQUFVa0IsSUFBSSxDQUFDSjtnQkFDNUIsTUFBTUssT0FBT0YsSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLG1GQUFtRjtnQkFDbkYsSUFBSSxPQUFPVixZQUFZLGNBQWMsQ0FBQ0EsUUFBUVksT0FBTztvQkFDbkQsT0FBT0w7Z0JBQ1Q7Z0JBQ0EsT0FDRSxXQURGLEdBQ0UsSUFBQUosWUFBQUMsR0FBQSxFQUFDUyxPQUFBQSxPQUFLLENBQUNSLFFBQVE7OEJBQ2Isa0JBQUFGLFlBQUFDLEdBQUEsRUFBQ1UsS0FBQUE7d0JBQUVGLE1BQU1BO3dCQUFNRyxRQUFPO3dCQUFTQyxLQUFJO2tDQUNoQ1Q7O21CQUZnQixVQUFRQztZQU1qQztZQUNBLElBQUk7Z0JBQ0YsTUFBTVMsY0FBY0MsQ0FBQUEsR0FBQUEsaUJBQUFBLHFCQUFxQixFQUFDWDtnQkFDMUMsSUFBSVUsZ0JBQWdCVixNQUFNO29CQUN4QixPQUNFLFdBREYsR0FDRSxJQUFBSixZQUFBZ0IsSUFBQSxFQUFDQyxLQUFBQTs7NEJBQ0U7NEJBQ0FIOzRCQUNBOzt1QkFISyxXQUFTVDtnQkFNckI7WUFDRixFQUFFLE9BQU9hLEdBQUc7Z0JBQ1YsT0FDRSxXQURGLEdBQ0UsSUFBQWxCLFlBQUFnQixJQUFBLEVBQUNDLEtBQUFBOzt3QkFDRTt3QkFDQWI7d0JBQUs7d0JBQW9CLEtBQUtjO3dCQUFFO3dCQUFFOzttQkFGN0IsV0FBU2I7WUFLckI7WUFDQSxPQUFPLFdBQVAsR0FBTyxJQUFBTCxZQUFBQyxHQUFBLEVBQUNTLE9BQUFBLE9BQUssQ0FBQ1IsUUFBUTswQkFBd0JFO2VBQWxCLFVBQVFDO1FBQ3RDOztBQUdOO0tBakRhaEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL2hvdC1saW5rZWQtdGV4dC9pbmRleC50c3g/ZWNhZiJdLCJuYW1lcyI6WyJIb3RsaW5rZWRUZXh0IiwibGlua1JlZ2V4Iiwic3BsaXRSZWdleHAiLCJSZWdFeHAiLCJNQUdJQ19JREVOVElGSUVSX1JFR0VYIiwic291cmNlIiwicHJvcHMiLCJ0ZXh0IiwibWF0Y2hlciIsIndvcmRzQW5kV2hpdGVzcGFjZXMiLCJzcGxpdCIsIl9qc3hydW50aW1lIiwianN4IiwiRnJhZ21lbnQiLCJtYXAiLCJ3b3JkIiwiaW5kZXgiLCJ0ZXN0IiwibGluayIsImV4ZWMiLCJocmVmIiwiUmVhY3QiLCJhIiwidGFyZ2V0IiwicmVsIiwiZGVjb2RlZFdvcmQiLCJkZWNvZGVNYWdpY0lkZW50aWZpZXIiLCJqc3hzIiwiaSIsImUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js ***! - \*****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BuildError: function() {\n return BuildError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Terminal = __webpack_require__(/*! ../components/Terminal */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: var(--size-gap-double) 0;\\n }\\n .nextjs-container-errors-header p {\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n white-space: pre-wrap;\\n }\\n .nextjs-container-errors-body footer {\\n margin-top: var(--size-gap);\\n }\\n .nextjs-container-errors-body footer p {\\n margin: 0;\\n }\\n\\n .nextjs-container-errors-body small {\\n color: var(--color-font);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst BuildError = function BuildError(param) {\n _s();\n let { message, versionInfo } = param;\n const noop = _react.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n fixed: true,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_error_label\",\n \"aria-describedby\": \"nextjs__container_error_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: \"Build Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: \"Failed to compile\"\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Terminal.Terminal, {\n content: message\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"footer\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_build_error_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error occurred during the build process and can only be dismissed by fixing the error.\"\n })\n })\n })\n ]\n })\n ]\n })\n })\n });\n};\n_s(BuildError, \"hHp3im7kVRcdOeKmK0+3cSEjzLI=\");\n_c = BuildError;\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=BuildError.js.map\nvar _c;\n$RefreshReg$(_c, \"BuildError\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9CdWlsZEVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0lBZWFBLFlBQVU7ZUFBVkE7O0lBeUNBQyxRQUFNO2VBQU5BOzs7Ozs7NkVBeERVO29DQU9oQjtxQ0FDaUI7c0NBQ0M7a0RBQ1k7MENBQ1Q7Ozs7Ozs7Ozs7QUFJckIsTUFBTUQsYUFBd0MsU0FBU0EsV0FBV0UsS0FHeEU7O0lBSHdFLE1BQ3ZFQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWixHQUh3RUY7SUFJdkUsTUFBTUcsT0FBT0MsT0FBTUMsV0FBVyxDQUFDLEtBQU8sR0FBRyxFQUFFO0lBQzNDLE9BQ0UsV0FERixHQUNFLElBQUFDLFlBQUFDLEdBQUEsRUFBQ0MsU0FBQUEsT0FBTztRQUFDQyxPQUFLO2tCQUNaLGtCQUFBSCxZQUFBQyxHQUFBLEVBQUNHLFFBQUFBLE1BQU07WUFDTEMsTUFBSztZQUNMQyxtQkFBZ0I7WUFDaEJDLG9CQUFpQjtZQUNqQkMsU0FBU1g7c0JBRVQsa0JBQUFHLFlBQUFTLElBQUEsRUFBQ0MsUUFBQUEsYUFBYTs7a0NBQ1osSUFBQVYsWUFBQVMsSUFBQSxFQUFDRSxRQUFBQSxZQUFZO3dCQUFDQyxXQUFVOzswQ0FDdEIsSUFBQVosWUFBQUMsR0FBQSxFQUFDWSxNQUFBQTtnQ0FBR0MsSUFBRzswQ0FBa0M7OzBDQUN6QyxJQUFBZCxZQUFBQyxHQUFBLEVBQUNjLEtBQUFBO2dDQUNDRCxJQUFHO2dDQUNIRixXQUFVOzBDQUNYOzs0QkFHQWhCLGNBQWMsV0FBZEEsR0FBYyxJQUFBSSxZQUFBQyxHQUFBLEVBQUNlLHNCQUFBQSxvQkFBb0I7Z0NBQUUsR0FBR3BCLFdBQVc7aUNBQU87OztrQ0FFN0QsSUFBQUksWUFBQVMsSUFBQSxFQUFDUSxRQUFBQSxVQUFVO3dCQUFDTCxXQUFVOzswQ0FDcEIsSUFBQVosWUFBQUMsR0FBQSxFQUFDaUIsVUFBQUEsUUFBUTtnQ0FBQ0MsU0FBU3hCOzswQ0FDbkIsSUFBQUssWUFBQUMsR0FBQSxFQUFDbUIsVUFBQUE7MENBQ0Msa0JBQUFwQixZQUFBQyxHQUFBLEVBQUNjLEtBQUFBO29DQUFFRCxJQUFHOzhDQUNKLGtCQUFBZCxZQUFBQyxHQUFBLEVBQUNvQixTQUFBQTtrREFBTTs7Ozs7Ozs7OztBQVd2QjtHQXZDYTdCO0tBQUFBO0FBeUNOLE1BQU1DLFNBQUFBLENBQUFBLEdBQVM2QixjQUFBQSxJQUFHLEVBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL0J1aWxkRXJyb3IudHN4PzhlNjUiXSwibmFtZXMiOlsiQnVpbGRFcnJvciIsInN0eWxlcyIsInBhcmFtIiwibWVzc2FnZSIsInZlcnNpb25JbmZvIiwibm9vcCIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJfanN4cnVudGltZSIsImpzeCIsIk92ZXJsYXkiLCJmaXhlZCIsIkRpYWxvZyIsInR5cGUiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5Iiwib25DbG9zZSIsImpzeHMiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwiY2xhc3NOYW1lIiwiaDEiLCJpZCIsInAiLCJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsIkRpYWxvZ0JvZHkiLCJUZXJtaW5hbCIsImNvbnRlbnQiLCJmb290ZXIiLCJzbWFsbCIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js": -/*!*************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js ***! - \*************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Errors: function() {\n return Errors;\n },\n styles: function() {\n return styles;\n }\n});\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst _shared = __webpack_require__(/*! ../../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _LeftRightDialogHeader = __webpack_require__(/*! ../components/LeftRightDialogHeader */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _getErrorByType = __webpack_require__(/*! ../helpers/getErrorByType */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _CloseIcon = __webpack_require__(/*! ../icons/CloseIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst _RuntimeError = __webpack_require__(/*! ./RuntimeError */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"./node_modules/next/dist/shared/lib/error-source.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../components/hot-linked-text */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _componentstackpseudohtml = __webpack_require__(/*! ./RuntimeError/component-stack-pseudo-html */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ../helpers/hydration-error-info */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: calc(var(--size-gap-double) * 1.5) 0;\\n color: var(--color-title-h1);\\n }\\n .nextjs-container-errors-header small {\\n font-size: var(--size-font-small);\\n color: var(--color-accents-1);\\n margin-left: var(--size-gap-double);\\n }\\n .nextjs-container-errors-header small > span {\\n font-family: var(--font-stack-monospace);\\n }\\n .nextjs-container-errors-header p {\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n white-space: pre-wrap;\\n }\\n .nextjs__container_errors_desc {\\n font-family: var(--font-stack-monospace);\\n padding: var(--size-gap) var(--size-gap-double);\\n border-left: 2px solid var(--color-text-color-red-1);\\n margin-top: var(--size-gap);\\n font-weight: bold;\\n color: var(--color-text-color-red-1);\\n background-color: var(--color-text-background-red-1);\\n }\\n p.nextjs__container_errors__notes {\\n margin: var(--size-gap-double) auto;\\n color: var(--color-stack-notes);\\n font-weight: 600;\\n font-size: 15px;\\n }\\n .nextjs-container-errors-header > div > small {\\n margin: 0;\\n margin-top: var(--size-gap-half);\\n }\\n .nextjs-container-errors-header > p > a {\\n color: inherit;\\n font-weight: bold;\\n }\\n .nextjs-container-errors-body > h2:not(:first-child) {\\n margin-top: calc(var(--size-gap-double) + var(--size-gap));\\n }\\n .nextjs-container-errors-body > h2 {\\n color: var(--color-title-color);\\n margin-bottom: var(--size-gap);\\n font-size: var(--size-font-big);\\n }\\n .nextjs__container_errors__component-stack {\\n padding: 12px 32px;\\n color: var(--color-ansi-fg);\\n background: var(--color-ansi-bg);\\n }\\n .nextjs-toast-errors-parent {\\n cursor: pointer;\\n transition: transform 0.2s ease;\\n }\\n .nextjs-toast-errors-parent:hover {\\n transform: scale(1.1);\\n }\\n .nextjs-toast-errors {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n }\\n .nextjs-toast-errors > svg {\\n margin-right: var(--size-gap);\\n }\\n .nextjs-toast-errors-hide-button {\\n margin-left: var(--size-gap-triple);\\n border: none;\\n background: none;\\n color: var(--color-ansi-bright-white);\\n padding: 0;\\n transition: opacity 0.25s ease;\\n opacity: 0.7;\\n }\\n .nextjs-toast-errors-hide-button:hover {\\n opacity: 1;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction isNextjsLink(text) {\n return text.startsWith(\"https://nextjs.org\");\n}\nfunction getErrorSignature(ev) {\n const { event } = ev;\n switch(event.type){\n case _shared.ACTION_UNHANDLED_ERROR:\n case _shared.ACTION_UNHANDLED_REJECTION:\n {\n return event.reason.name + \"::\" + event.reason.message + \"::\" + event.reason.stack;\n }\n default:\n {}\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n return \"\";\n}\nfunction Errors(param) {\n let { isAppDir, errors, initialDisplayState, versionInfo } = param;\n var _activeError_componentStackFrames;\n const [lookups, setLookups] = (0, _react.useState)({});\n const [readyErrors, nextError] = (0, _react.useMemo)(()=>{\n let ready = [];\n let next = null;\n // Ensure errors are displayed in the order they occurred in:\n for(let idx = 0; idx < errors.length; ++idx){\n const e = errors[idx];\n const { id } = e;\n if (id in lookups) {\n ready.push(lookups[id]);\n continue;\n }\n // Check for duplicate errors\n if (idx > 0) {\n const prev = errors[idx - 1];\n if (getErrorSignature(prev) === getErrorSignature(e)) {\n continue;\n }\n }\n next = e;\n break;\n }\n return [\n ready,\n next\n ];\n }, [\n errors,\n lookups\n ]);\n const isLoading = (0, _react.useMemo)(()=>{\n return readyErrors.length < 1 && Boolean(errors.length);\n }, [\n errors.length,\n readyErrors.length\n ]);\n (0, _react.useEffect)(()=>{\n if (nextError == null) {\n return;\n }\n let mounted = true;\n (0, _getErrorByType.getErrorByType)(nextError, isAppDir).then((resolved)=>{\n // We don't care if the desired error changed while we were resolving,\n // thus we're not tracking it using a ref. Once the work has been done,\n // we'll store it.\n if (mounted) {\n setLookups((m)=>({\n ...m,\n [resolved.id]: resolved\n }));\n }\n }, ()=>{\n // TODO: handle this, though an edge case\n });\n return ()=>{\n mounted = false;\n };\n }, [\n nextError,\n isAppDir\n ]);\n const [displayState, setDisplayState] = (0, _react.useState)(initialDisplayState);\n const [activeIdx, setActiveIndex] = (0, _react.useState)(0);\n const previous = (0, _react.useCallback)(()=>setActiveIndex((v)=>Math.max(0, v - 1)), []);\n const next = (0, _react.useCallback)(()=>setActiveIndex((v)=>Math.max(0, Math.min(readyErrors.length - 1, v + 1))), [\n readyErrors.length\n ]);\n const activeError = (0, _react.useMemo)(()=>{\n var _readyErrors_activeIdx;\n return (_readyErrors_activeIdx = readyErrors[activeIdx]) != null ? _readyErrors_activeIdx : null;\n }, [\n activeIdx,\n readyErrors\n ]);\n // Reset component state when there are no errors to be displayed.\n // This should never happen, but lets handle it.\n (0, _react.useEffect)(()=>{\n if (errors.length < 1) {\n setLookups({});\n setDisplayState(\"hidden\");\n setActiveIndex(0);\n }\n }, [\n errors.length\n ]);\n const minimize = (0, _react.useCallback)(()=>setDisplayState(\"minimized\"), []);\n const hide = (0, _react.useCallback)(()=>setDisplayState(\"hidden\"), []);\n const fullscreen = (0, _react.useCallback)(()=>setDisplayState(\"fullscreen\"), []);\n // This component shouldn't be rendered with no errors, but if it is, let's\n // handle it gracefully by rendering nothing.\n if (errors.length < 1 || activeError == null) {\n return null;\n }\n if (isLoading) {\n // TODO: better loading state\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {});\n }\n if (displayState === \"hidden\") {\n return null;\n }\n if (displayState === \"minimized\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Toast.Toast, {\n className: \"nextjs-toast-errors-parent\",\n onClick: fullscreen,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n className: \"nextjs-toast-errors\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n readyErrors.length,\n \" error\",\n readyErrors.length > 1 ? \"s\" : \"\"\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-toast-errors-hide-button\": true,\n className: \"nextjs-toast-errors-hide-button\",\n type: \"button\",\n onClick: (e)=>{\n e.stopPropagation();\n hide();\n },\n \"aria-label\": \"Hide Errors\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n ]\n })\n });\n }\n const error = activeError.error;\n const isServerError = [\n \"server\",\n \"edge-server\"\n ].includes((0, _errorsource.getErrorSource)(error) || \"\");\n const errorDetails = error.details || {};\n const [warningTemplate, serverContent, clientContent] = errorDetails.warning || [\n null,\n \"\",\n \"\"\n ];\n const hydrationErrorType = (0, _hydrationerrorinfo.getHydrationWarningType)(warningTemplate);\n const hydrationWarning = warningTemplate ? warningTemplate.replace(\"%s\", serverContent).replace(\"%s\", clientContent).replace(\"%s\", \"\") // remove the %s for stack\n .replace(/%s$/, \"\") // If there's still a %s at the end, remove it\n .replace(/^Warning: /, \"\") : null;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_errors_label\",\n \"aria-describedby\": \"nextjs__container_errors_desc\",\n onClose: isServerError ? undefined : minimize,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_LeftRightDialogHeader.LeftRightDialogHeader, {\n previous: activeIdx > 0 ? previous : null,\n next: activeIdx < readyErrors.length - 1 ? next : null,\n close: isServerError ? undefined : minimize,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: activeIdx + 1\n }),\n \" of\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-dialog-header-total-count\": true,\n children: readyErrors.length\n }),\n \" error\",\n readyErrors.length < 2 ? \"\" : \"s\"\n ]\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: isServerError ? \"Server Error\" : \"Unhandled Runtime Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: [\n error.name,\n \":\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: error.message,\n matcher: isNextjsLink\n })\n ]\n }),\n hydrationWarning && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors__notes\",\n className: \"nextjs__container_errors__notes\",\n children: hydrationWarning\n }),\n ((_activeError_componentStackFrames = activeError.componentStackFrames) == null ? void 0 : _activeError_componentStackFrames.length) ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_componentstackpseudohtml.PseudoHtmlDiff, {\n className: \"nextjs__container_errors__component-stack\",\n hydrationMismatchType: hydrationErrorType,\n componentStackFrames: activeError.componentStackFrames,\n firstContent: serverContent,\n secondContent: clientContent\n }) : null\n ]\n }),\n isServerError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error happened while generating the page. Any console logs will be displayed in the terminal window.\"\n })\n }) : undefined\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_RuntimeError.RuntimeError, {\n error: activeError\n }, activeError.id.toString())\n })\n ]\n })\n })\n });\n}\n_c = Errors;\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Errors.js.map\nvar _c;\n$RefreshReg$(_c, \"Errors\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9FcnJvcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBa0VnQkEsUUFBTTtlQUFOQTs7SUF3UEhDLFFBQU07ZUFBTkE7Ozs7O21DQTFUNkM7b0NBTW5EO29DQU1BO21EQUMrQjtxQ0FDZDttQ0FDRjs0Q0FDUzswQ0FFSDt1Q0FDRjswQ0FDRztrREFDUTt5Q0FFTjsyQ0FDRDtzREFDQztnREFJeEI7Ozs7Ozs7Ozs7QUFpQlAsU0FBU0MsYUFBYUMsSUFBWTtJQUNoQyxPQUFPQSxLQUFLQyxVQUFVLENBQUM7QUFDekI7QUFFQSxTQUFTQyxrQkFBa0JDLEVBQXVCO0lBQ2hELE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdEO0lBQ2xCLE9BQVFDLE1BQU1DLElBQUk7UUFDaEIsS0FBS0MsUUFBQUEsc0JBQXNCO1FBQzNCLEtBQUtDLFFBQUFBLDBCQUEwQjtZQUFFO2dCQUMvQixPQUFPSCxNQUFTSSxNQUFNLENBQUNDLElBQUksR0FBQyxPQUFJTCxNQUFNSSxNQUFNLENBQUNFLE9BQU8sR0FBQyxPQUFJTixNQUFNSSxNQUFNLENBQUNHLEtBQUs7WUFDN0U7UUFDQTtZQUFTLENBQ1Q7SUFDRjtJQUVBLDZEQUE2RDtJQUM3RCxNQUFNQyxJQUFXUjtJQUNqQixPQUFPO0FBQ1Q7QUFFTyxTQUFTUCxPQUFPZ0IsS0FLVDtJQUxTLE1BQ3JCQyxRQUFRLEVBQ1JDLE1BQU0sRUFDTkMsbUJBQW1CLEVBQ25CQyxXQUFXLEVBQ0MsR0FMU0o7UUEyTk5LO0lBck5mLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHQyxDQUFBQSxHQUFBQSxPQUFBQSxRQUFRLEVBQ3BDLENBQUM7SUFHSCxNQUFNLENBQUNDLGFBQWFDLFVBQVUsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsT0FBTyxFQUV0QztRQUNBLElBQUlDLFFBQTJCLEVBQUU7UUFDakMs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RixJQUFHO3dDQUNINEIsV0FBVTtrREFFVHlDOztvQ0FFRmpGLENBQUFBLENBQUFBLG9DQUFBQSxZQUFZb0csb0JBQW9CLHFCQUFoQ3BHLGtDQUFrQ1UsTUFBTSxJQUN2QyxXQUR1QyxHQUN2QyxJQUFBMEIsWUFBQUMsR0FBQSxFQUFDZ0UsMEJBQUFBLGNBQWM7d0NBQ2I3RCxXQUFVO3dDQUNWOEQsdUJBQXVCdkI7d0NBQ3ZCcUIsc0JBQXNCcEcsWUFBWW9HLG9CQUFvQjt3Q0FDdERHLGNBQWMzQjt3Q0FDZDRCLGVBQWUzQjt5Q0FFZjs7OzRCQUdQUCxnQkFDQyxXQUREQSxHQUNDLElBQUFsQyxZQUFBQyxHQUFBLEVBQUNNLE9BQUFBOzBDQUNDLGtCQUFBUCxZQUFBQyxHQUFBLEVBQUN1RCxTQUFBQTs4Q0FBTTs7aUNBS1BMOzs7a0NBRU4sSUFBQW5ELFlBQUFDLEdBQUEsRUFBQ29FLFFBQUFBLFVBQVU7d0JBQUNqRSxXQUFVO2tDQUNwQixrQkFBQUosWUFBQUMsR0FBQSxFQUFDcUUsY0FBQUEsWUFBWTs0QkFBaUNyQyxPQUFPckU7MkJBQWxDQSxZQUFZWSxFQUFFLENBQUMrRixRQUFROzs7Ozs7QUFNdEQ7S0F0UGdCaEk7QUF3UFQsTUFBTUMsU0FBQUEsQ0FBQUEsR0FBU2dJLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvRXJyb3JzLnRzeD84YTM0Il0sIm5hbWVzIjpbIkVycm9ycyIsInN0eWxlcyIsImlzTmV4dGpzTGluayIsInRleHQiLCJzdGFydHNXaXRoIiwiZ2V0RXJyb3JTaWduYXR1cmUiLCJldiIsImV2ZW50IiwidHlwZSIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiIsInJlYXNvbiIsIm5hbWUiLCJtZXNzYWdlIiwic3RhY2siLCJfIiwicGFyYW0iLCJpc0FwcERpciIsImVycm9ycyIsImluaXRpYWxEaXNwbGF5U3RhdGUiLCJ2ZXJzaW9uSW5mbyIsImFjdGl2ZUVycm9yIiwibG9va3VwcyIsInNldExvb2t1cHMiLCJ1c2VTdGF0ZSIsInJlYWR5RXJyb3JzIiwibmV4dEVycm9yIiwidXNlTWVtbyIsInJlYWR5IiwibmV4dCIsImlkeCIsImxlbmd0aCIsImUiLCJpZCIsInB1c2giLCJwcmV2IiwiaXNMb2FkaW5nIiwiQm9vbGVhbiIsInVzZUVmZmVjdCIsIm1vdW50ZWQiLCJnZXRFcnJvckJ5VHlwZSIsInRoZW4iLCJyZXNvbHZlZCIsIm0iLCJkaXNwbGF5U3RhdGUiLCJzZXREaXNwbGF5U3RhdGUiLCJhY3RpdmVJZHgiLCJzZXRBY3RpdmVJbmRleCIsInByZXZpb3VzIiwidXNlQ2FsbGJhY2siLCJ2IiwiTWF0aCIsIm1heCIsIm1pbiIsIm1pbmltaXplIiwiaGlkZSIsImZ1bGxzY3JlZW4iLCJfanN4cnVudGltZSIsImpzeCIsIk92ZXJsYXkiLCJUb2FzdCIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJqc3hzIiwiZGl2Iiwic3ZnIiwieG1sbnMiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJjaXJjbGUiLCJjeCIsImN5IiwiciIsImxpbmUiLCJ4MSIsInkxIiwieDIiLCJ5MiIsInNwYW4iLCJidXR0b24iLCJkYXRhLW5leHRqcy10b2FzdC1lcnJvcnMtaGlkZS1idXR0b24iLCJzdG9wUHJvcGFnYXRpb24iLCJhcmlhLWxhYmVsIiwiQ2xvc2VJY29uIiwiZXJyb3IiLCJpc1NlcnZlckVycm9yIiwiaW5jbHVkZXMiLCJnZXRFcnJvclNvdXJjZSIsImVycm9yRGV0YWlscyIsImRldGFpbHMiLCJ3YXJuaW5nVGVtcGxhdGUiLCJzZXJ2ZXJDb250ZW50IiwiY2xpZW50Q29udGVudCIsIndhcm5pbmciLCJoeWRyYXRpb25FcnJvclR5cGUiLCJnZXRIeWRyYXRpb25XYXJuaW5nVHlwZSIsImh5ZHJhdGlvbldhcm5pbmciLCJyZXBsYWNlIiwiRGlhbG9nIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsIm9uQ2xvc2UiLCJ1bmRlZmluZWQiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwiY2xvc2UiLCJzbWFsbCIsImRhdGEtbmV4dGpzLWRpYWxvZy1oZWFkZXItdG90YWwtY291bnQiLCJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsImgxIiwicCIsIkhvdGxpbmtlZFRleHQiLCJtYXRjaGVyIiwiRnJhZ21lbnQiLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsIlBzZXVkb0h0bWxEaWZmIiwiaHlkcmF0aW9uTWlzbWF0Y2hUeXBlIiwiZmlyc3RDb250ZW50Iiwic2Vjb25kQ29udGVudCIsIkRpYWxvZ0JvZHkiLCJSdW50aW1lRXJyb3IiLCJ0b1N0cmluZyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js": -/*!**********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js ***! - \**********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CallStackFrame\", ({\n enumerable: true,\n get: function() {\n return CallStackFrame;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../../components/hot-linked-text */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst CallStackFrame = function CallStackFrame(param) {\n let { frame } = param;\n var _frame_originalStackFrame;\n // TODO: ability to expand resolved frames\n // TODO: render error or external indicator\n const f = (_frame_originalStackFrame = frame.originalStackFrame) != null ? _frame_originalStackFrame : frame.sourceStackFrame;\n const hasSource = Boolean(frame.originalCodeFrame);\n const open = (0, _useopenineditor.useOpenInEditor)(hasSource ? {\n file: f.file,\n lineNumber: f.lineNumber,\n column: f.column\n } : undefined);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-call-stack-frame\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n \"data-nextjs-frame-expanded\": Boolean(frame.expanded),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: f.methodName\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-has-source\": hasSource ? \"true\" : undefined,\n tabIndex: hasSource ? 10 : undefined,\n role: hasSource ? \"link\" : undefined,\n onClick: open,\n title: hasSource ? \"Click to open in your editor\" : undefined,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: (0, _stackframe.getFrameSource)(f)\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n ]\n });\n};\n_c = CallStackFrame;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CallStackFrame.js.map\nvar _c;\n$RefreshReg$(_c, \"CallStackFrame\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvQ2FsbFN0YWNrRnJhbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFRYUE7OztlQUFBQTs7Ozt3Q0FKTjs2Q0FDeUI7MkNBQ0Y7QUFFdkIsTUFBTUEsaUJBRVIsU0FBU0EsZUFBZUMsS0FBUztJQUFULE1BQUVDLEtBQUssRUFBRSxHQUFURDtRQUlMQztJQUh0QiwwQ0FBMEM7SUFDMUMsMkNBQTJDO0lBRTNDLE1BQU1DLElBQWdCRCxDQUFBQSw0QkFBQUEsTUFBTUUsa0JBQWtCLFlBQXhCRiw0QkFBNEJBLE1BQU1HLGdCQUFnQjtJQUN4RSxNQUFNQyxZQUFZQyxRQUFRTCxNQUFNTSxpQkFBaUI7SUFDakQsTUFBTUMsT0FBT0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFDMUJKLFlBQ0k7UUFDRUssTUFBTVIsRUFBRVEsSUFBSTtRQUNaQyxZQUFZVCxFQUFFUyxVQUFVO1FBQ3hCQyxRQUFRVixFQUFFVSxNQUFNO0lBQ2xCLElBQ0FDO0lBR04sT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUFJQyxnQ0FBNEI7OzBCQUMvQixJQUFBSCxZQUFBSSxHQUFBLEVBQUNDLE1BQUFBO2dCQUFHQyw4QkFBNEJkLFFBQVFMLE1BQU1vQixRQUFROzBCQUNwRCxrQkFBQVAsWUFBQUksR0FBQSxFQUFDSSxlQUFBQSxhQUFhO29CQUFDQyxNQUFNckIsRUFBRXNCLFVBQVU7OzswQkFFbkMsSUFBQVYsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtnQkFDQ1MsbUJBQWlCcEIsWUFBWSxTQUFTUTtnQkFDdENhLFVBQVVyQixZQUFZLEtBQUtRO2dCQUMzQmMsTUFBTXRCLFlBQVksU0FBU1E7Z0JBQzNCZSxTQUFTcEI7Z0JBQ1RxQixPQUFPeEIsWUFBWSxpQ0FBaUNROztrQ0FFcEQsSUFBQUMsWUFBQUksR0FBQSxFQUFDWSxRQUFBQTtrQ0FBTUMsQ0FBQUEsR0FBQUEsWUFBQUEsY0FBYyxFQUFDN0I7O2tDQUN0QixJQUFBWSxZQUFBQyxJQUFBLEVBQUNpQixPQUFBQTt3QkFDQ0MsT0FBTTt3QkFDTkMsU0FBUTt3QkFDUkMsTUFBSzt3QkFDTEMsUUFBTzt3QkFDUEMsYUFBWTt3QkFDWkMsZUFBYzt3QkFDZEMsZ0JBQWU7OzBDQUVmLElBQUF6QixZQUFBSSxHQUFBLEVBQUNzQixRQUFBQTtnQ0FBS0MsR0FBRTs7MENBQ1IsSUFBQTNCLFlBQUFJLEdBQUEsRUFBQ3dCLFlBQUFBO2dDQUFTQyxRQUFPOzswQ0FDakIsSUFBQTdCLFlBQUFJLEdBQUEsRUFBQzBCLFFBQUFBO2dDQUFLQyxJQUFHO2dDQUFLQyxJQUFHO2dDQUFLQyxJQUFHO2dDQUFLQyxJQUFHOzs7Ozs7OztBQUszQztLQS9DYWpEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9DYWxsU3RhY2tGcmFtZS50c3g/YjZjMyJdLCJuYW1lcyI6WyJDYWxsU3RhY2tGcmFtZSIsInBhcmFtIiwiZnJhbWUiLCJmIiwib3JpZ2luYWxTdGFja0ZyYW1lIiwic291cmNlU3RhY2tGcmFtZSIsImhhc1NvdXJjZSIsIkJvb2xlYW4iLCJvcmlnaW5hbENvZGVGcmFtZSIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsInVuZGVmaW5lZCIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWUiLCJqc3giLCJoMyIsImRhdGEtbmV4dGpzLWZyYW1lLWV4cGFuZGVkIiwiZXhwYW5kZWQiLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsIm1ldGhvZE5hbWUiLCJkYXRhLWhhcy1zb3VyY2UiLCJ0YWJJbmRleCIsInJvbGUiLCJvbkNsaWNrIiwidGl0bGUiLCJzcGFuIiwiZ2V0RnJhbWVTb3VyY2UiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJwYXRoIiwiZCIsInBvbHlsaW5lIiwicG9pbnRzIiwibGluZSIsIngxIiwieTEiLCJ4MiIsInkyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js": -/*!**************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js ***! - \**************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"GroupedStackFrames\", ({\n enumerable: true,\n get: function() {\n return GroupedStackFrames;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _CallStackFrame = __webpack_require__(/*! ./CallStackFrame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\");\nconst _CollapseIcon = __webpack_require__(/*! ../../icons/CollapseIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\");\nconst _FrameworkIcon = __webpack_require__(/*! ../../icons/FrameworkIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js\");\nfunction FrameworkGroup(param) {\n let { framework, stackFrames } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"details\", {\n \"data-nextjs-collapsed-call-stack-details\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"summary\", {\n tabIndex: 10,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CollapseIcon.CollapseIcon, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_FrameworkIcon.FrameworkIcon, {\n framework: framework\n }),\n framework === \"react\" ? \"React\" : \"Next.js\"\n ]\n }),\n stackFrames.map((frame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + index))\n ]\n });\n}\n_c = FrameworkGroup;\nfunction GroupedStackFrames(param) {\n let { groupedStackFrames, show } = param;\n if (!show) return;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: groupedStackFrames.map((stackFramesGroup, groupIndex)=>{\n // Collapse React and Next.js frames\n if (stackFramesGroup.framework) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(FrameworkGroup, {\n framework: stackFramesGroup.framework,\n stackFrames: stackFramesGroup.stackFrames\n }, \"call-stack-framework-group-\" + groupIndex);\n }\n return stackFramesGroup.stackFrames.map((frame, frameIndex)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + groupIndex + \"-\" + frameIndex));\n })\n });\n}\n_c1 = GroupedStackFrames;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=GroupedStackFrames.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"FrameworkGroup\");\n$RefreshReg$(_c1, \"GroupedStackFrames\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvR3JvdXBlZFN0YWNrRnJhbWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBMkJnQkE7OztlQUFBQTs7Ozs0Q0ExQmU7MENBQ0Y7MkNBQ0M7QUFFOUIsU0FBU0MsZUFBZUMsS0FNdkI7SUFOdUIsTUFDdEJDLFNBQVMsRUFDVEMsV0FBVyxFQUlaLEdBTnVCRjtJQU90QixPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxJQUFBLEVBQUNDLFdBQUFBO1FBQVFDLDRDQUF3Qzs7MEJBRS9DLElBQUFILFlBQUFDLElBQUEsRUFBQ0csV0FBQUE7Z0JBQVFDLFVBQVU7O2tDQUNqQixJQUFBTCxZQUFBTSxHQUFBLEVBQUNDLGNBQUFBLFlBQVk7a0NBQ2IsSUFBQVAsWUFBQU0sR0FBQSxFQUFDRSxlQUFBQSxhQUFhO3dCQUFDVixXQUFXQTs7b0JBQ3pCQSxjQUFjLFVBQVUsVUFBVTs7O1lBRXBDQyxZQUFZVSxHQUFHLENBQUMsQ0FBQ0MsT0FBT0MsUUFDdkIsV0FEdUJBLEdBQ3ZCLElBQUFYLFlBQUFNLEdBQUEsRUFBQ00sZ0JBQUFBLGNBQWM7b0JBQTZCRixPQUFPQTttQkFBOUIsZ0JBQWNDOzs7QUFJM0M7S0FwQlNmO0FBc0JGLFNBQVNELG1CQUFtQkUsS0FNbEM7SUFOa0MsTUFDakNnQixrQkFBa0IsRUFDbEJDLElBQUksRUFJTCxHQU5rQ2pCO0lBT2pDLElBQUksQ0FBQ2lCLE1BQU07SUFDWCxPQUNFLFdBREYsR0FDRSxJQUFBZCxZQUFBTSxHQUFBLEVBQUFOLFlBQUFlLFFBQUE7a0JBQ0dGLG1CQUFtQkosR0FBRyxDQUFDLENBQUNPLGtCQUFrQkM7WUFDekMsb0NBQW9DO1lBQ3BDLElBQUlELGlCQUFpQmxCLFNBQVMsRUFBRTtnQkFDOUIsT0FDRSxXQURGLEdBQ0UsSUFBQUUsWUFBQU0sR0FBQSxFQUFDVixnQkFBQUE7b0JBRUNFLFdBQVdrQixpQkFBaUJsQixTQUFTO29CQUNyQ0MsYUFBYWlCLGlCQUFpQmpCLFdBQVc7bUJBRnBDLGdDQUE4QmtCO1lBS3pDO1lBRUEsT0FFRUQsaUJBQWlCakIsV0FBVyxDQUFDVSxHQUFHLENBQUMsQ0FBQ0MsT0FBT1EsYUFDdkMsV0FEdUNBLEdBQ3ZDLElBQUFsQixZQUFBTSxHQUFBLEVBQUNNLGdCQUFBQSxjQUFjO29CQUViRixPQUFPQTttQkFERixnQkFBY08sYUFBVyxNQUFHQztRQUt6Qzs7QUFHTjtNQWxDZ0J2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvR3JvdXBlZFN0YWNrRnJhbWVzLnRzeD82MDkyIl0sIm5hbWVzIjpbIkdyb3VwZWRTdGFja0ZyYW1lcyIsIkZyYW1ld29ya0dyb3VwIiwicGFyYW0iLCJmcmFtZXdvcmsiLCJzdGFja0ZyYW1lcyIsIl9qc3hydW50aW1lIiwianN4cyIsImRldGFpbHMiLCJkYXRhLW5leHRqcy1jb2xsYXBzZWQtY2FsbC1zdGFjay1kZXRhaWxzIiwic3VtbWFyeSIsInRhYkluZGV4IiwianN4IiwiQ29sbGFwc2VJY29uIiwiRnJhbWV3b3JrSWNvbiIsIm1hcCIsImZyYW1lIiwiaW5kZXgiLCJDYWxsU3RhY2tGcmFtZSIsImdyb3VwZWRTdGFja0ZyYW1lcyIsInNob3ciLCJGcmFnbWVudCIsInN0YWNrRnJhbWVzR3JvdXAiLCJncm91cEluZGV4IiwiZnJhbWVJbmRleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js": -/*!***********************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js ***! - \***********************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PseudoHtmlDiff\", ({\n enumerable: true,\n get: function() {\n return PseudoHtmlDiff;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst _CollapseIcon = __webpack_require__(/*! ../../icons/CollapseIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\");\nfunction getAdjacentProps(isAdj) {\n return {\n \"data-nextjs-container-errors-pseudo-html--tag-adjacent\": isAdj\n };\n}\nfunction PseudoHtmlDiff(param) {\n let { componentStackFrames, firstContent, secondContent, hydrationMismatchType, ...props } = param;\n const isHtmlTagsWarning = hydrationMismatchType === \"tag\";\n // For text mismatch, mismatched text will take 2 rows, so we display 4 rows of component stack\n const MAX_NON_COLLAPSED_FRAMES = isHtmlTagsWarning ? 6 : 4;\n const shouldCollapse = componentStackFrames.length > MAX_NON_COLLAPSED_FRAMES;\n const [isHtmlCollapsed, toggleCollapseHtml] = (0, _react.useState)(shouldCollapse);\n const htmlComponents = (0, _react.useMemo)(()=>{\n const tagNames = isHtmlTagsWarning ? [\n firstContent.replace(/<|>/g, \"\"),\n secondContent.replace(/<|>/g, \"\")\n ] : [];\n const nestedHtmlStack = [];\n let lastText = \"\";\n const componentStack = componentStackFrames.map((frame)=>frame.component).reverse();\n // [child index, parent index]\n const matchedIndex = [\n -1,\n -1\n ];\n if (isHtmlTagsWarning) {\n // Reverse search for the child tag\n for(let i = componentStack.length - 1; i >= 0; i--){\n if (componentStack[i] === tagNames[0]) {\n matchedIndex[0] = i;\n break;\n }\n }\n // Start searching parent tag from child tag above\n for(let i = matchedIndex[0] - 1; i >= 0; i--){\n if (componentStack[i] === tagNames[1]) {\n matchedIndex[1] = i;\n break;\n }\n }\n }\n componentStack.forEach((component, index, componentList)=>{\n const spaces = \" \".repeat(nestedHtmlStack.length * 2);\n // const prevComponent = componentList[index - 1]\n // const nextComponent = componentList[index + 1]\n // When component is the server or client tag name, highlight it\n const isHighlightedTag = isHtmlTagsWarning ? index === matchedIndex[0] || index === matchedIndex[1] : tagNames.includes(component);\n const isAdjacentTag = isHighlightedTag || Math.abs(index - matchedIndex[0]) <= 1 || Math.abs(index - matchedIndex[1]) <= 1;\n const isLastFewFrames = !isHtmlTagsWarning && index >= componentList.length - 6;\n const adjProps = getAdjacentProps(isAdjacentTag);\n if (isHtmlTagsWarning && isAdjacentTag || isLastFewFrames) {\n const codeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n spaces,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n ...adjProps,\n ...isHighlightedTag ? {\n \"data-nextjs-container-errors-pseudo-html--tag-error\": true\n } : undefined,\n children: \"<\" + component + \">\\n\"\n })\n ]\n });\n lastText = component;\n const wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n codeLine,\n isHighlightedTag && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--hint\": true,\n children: spaces + \"^\".repeat(component.length + 2) + \"\\n\"\n })\n ]\n }, nestedHtmlStack.length);\n nestedHtmlStack.push(wrappedCodeLine);\n } else {\n if (nestedHtmlStack.length >= MAX_NON_COLLAPSED_FRAMES && isHtmlCollapsed) {\n return;\n }\n if (!isHtmlCollapsed || isLastFewFrames) {\n nestedHtmlStack.push(/*#__PURE__*/ (0, _react.createElement)(\"span\", {\n ...adjProps,\n key: nestedHtmlStack.length,\n children: [\n spaces,\n \"<\" + component + \">\\n\"\n ]\n }));\n } else if (isHtmlCollapsed && lastText !== \"...\") {\n lastText = \"...\";\n nestedHtmlStack.push(/*#__PURE__*/ (0, _react.createElement)(\"span\", {\n ...adjProps,\n key: nestedHtmlStack.length,\n children: [\n spaces,\n \"...\\n\"\n ]\n }));\n }\n }\n });\n // Hydration mismatch: text or text-tag\n if (!isHtmlTagsWarning) {\n const spaces = \" \".repeat(nestedHtmlStack.length * 2);\n let wrappedCodeLine;\n if (hydrationMismatchType === \"text\") {\n // hydration type is \"text\", represent [server content, client content]\n wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-remove\": true,\n children: spaces + ('\"' + firstContent + '\"\\n')\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-add\": true,\n children: spaces + ('\"' + secondContent + '\"\\n')\n })\n ]\n }, nestedHtmlStack.length);\n } else {\n // hydration type is \"text-in-tag\", represent [parent tag, mismatch content]\n wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--tag-adjacent\": true,\n children: spaces + (\"<\" + secondContent + \">\\n\")\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-remove\": true,\n children: spaces + (' \"' + firstContent + '\"\\n')\n })\n ]\n }, nestedHtmlStack.length);\n }\n nestedHtmlStack.push(wrappedCodeLine);\n }\n return nestedHtmlStack;\n }, [\n componentStackFrames,\n isHtmlCollapsed,\n firstContent,\n secondContent,\n isHtmlTagsWarning,\n hydrationMismatchType,\n MAX_NON_COLLAPSED_FRAMES\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-container-errors-pseudo-html\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-container-errors-pseudo-html-collapse\": true,\n onClick: ()=>toggleCollapseHtml(!isHtmlCollapsed),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CollapseIcon.CollapseIcon, {\n collapsed: isHtmlCollapsed\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n ...props,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"code\", {\n children: htmlComponents\n })\n })\n ]\n });\n}\n_c = PseudoHtmlDiff;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=component-stack-pseudo-html.js.map\nvar _c;\n$RefreshReg$(_c, \"PseudoHtmlDiff\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvY29tcG9uZW50LXN0YWNrLXBzZXVkby1odG1sLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBd0RnQkE7OztlQUFBQTs7OzttQ0F4RDRCOzBDQUVmO0FBRTdCLFNBQVNDLGlCQUFpQkMsS0FBYztJQUN0QyxPQUFPO1FBQUUsMERBQTBEQTtJQUFNO0FBQzNFO0FBa0RPLFNBQVNGLGVBQWVHLEtBV1M7SUFYVCxNQUM3QkMsb0JBQW9CLEVBQ3BCQyxZQUFZLEVBQ1pDLGFBQWEsRUFDYkMscUJBQXFCLEVBQ3JCLEdBQUdDLE9BTW1DLEdBWFRMO0lBWTdCLE1BQU1NLG9CQUFvQkYsMEJBQTBCO0lBQ3BELCtGQUErRjtJQUMvRixNQUFNRywyQkFBMkJELG9CQUFvQixJQUFJO0lBQ3pELE1BQU1FLGlCQUFpQlAscUJBQXFCUSxNQUFNLEdBQUdGO0lBQ3JELE1BQU0sQ0FBQ0csaUJBQWlCQyxtQkFBbUIsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsUUFBUSxFQUFDSjtJQUV2RCxNQUFNSyxpQkFBaUJDLENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBQztRQUM3QixNQUFNQyxXQUFXVCxvQkFFYjtZQUFDSixhQUFhYyxPQUFPLENBQUMsUUFBUTtZQUFLYixjQUFjYSxPQUFPLENBQUMsUUFBUTtTQUFJLEdBQ3JFLEVBQUU7UUFDTixNQUFNQyxrQkFBcUMsRUFBRTtRQUM3QyxJQUFJQyxXQUFXO1FBRWYsTUFBTUMsaUJBQWlCbEIscUJBQ3BCbUIsR0FBRyxDQUFDLENBQUNDLFFBQVVBLE1BQU1DLFNBQVMsRUFDOUJDLE9BQU87UUFFViw4QkFBOEI7UUFDOUIsTUFBTUMsZUFBZTtZQUFDLENBQUM7WUFBRyxDQUFDO1NBQUU7UUFDN0IsSUFBSWxCLG1CQUFtQjtZQUNyQixtQ0FBbUM7WUFDbkMsSUFBSyxJQUFJbUIsSUFBSU4sZUFBZVYsTUFBTSxHQUFHLEdBQUdnQixLQUFLLEdBQUdBLElBQUs7Z0JBQ25ELElBQUlOLGNBQWMsQ0FBQ00sRUFBRSxLQUFLVixRQUFRLENBQUMsRUFBRSxFQUFFO29CQUNyQ1MsWUFBWSxDQUFDLEVBQUUsR0FBR0M7b0JBQ2xCO2dCQUNGO1lBQ0Y7WUFDQSxrREFBa0Q7WUFDbEQsSUFBSyxJQUFJQSxJQUFJRCxZQUFZLENBQUMsRUFBRSxHQUFHLEdBQUdDLEtBQUssR0FBR0EsSUFBSztnQkFDN0MsSUFBSU4sY0FBYyxDQUFDTSxFQUFFLEtBQUtWLFFBQVEsQ0FBQyxFQUFFLEVBQUU7b0JBQ3JDUyxZQUFZLENBQUMsRUFBRSxHQUFHQztvQkFDbEI7Z0JBQ0Y7WUFDRjtRQUNGO1FBRUFOLGVBQWVPLE9BQU8sQ0FBQyxDQUFDSixXQUFXSyxPQUFPQztZQUN4QyxNQUFNQyxTQUFTLElBQUlDLE1BQU0sQ0FBQ2IsZ0JBQWdCUixNQUFNLEdBQUc7WUFDbkQsaURBQWlEO1lBQ2pELGlEQUFpRDtZQUNqRCxnRUFBZ0U7WUFFaEUsTUFBTXNCLG1CQUFtQnpCLG9CQUNyQnFCLFVBQVVILFlBQVksQ0FBQyxFQUFFLElBQUlHLFVBQVVILFlBQVksQ0FBQyxFQUFFLEdBQ3REVCxTQUFTaUIsUUFBUSxDQUFDVjtZQUN0QixNQUFNVyxnQkFDSkYsb0JBQ0FHLEtBQUtDLEdBQUcsQ0FBQ1IsUUFBUUgsWUFBWSxDQUFDLEVBQUUsS0FBSyxLQUNyQ1UsS0FBS0MsR0FBRyxDQUFDUixRQUFRSCxZQUFZLENBQUMsRUFBRSxLQUFLO1lBRXZDLE1BQU1ZLGtCQUNKLENBQUM5QixxQkFBcUJxQixTQUFTQyxjQUFjbkIsTUFBTSxHQUFHO1lBRXhELE1BQU00QixXQUFXdkMsaUJBQWlCbUM7WUFFbEMsSUFBSTNCLHFCQUFzQjJCLGlCQUFrQkcsaUJBQWlCO2dCQUMzRCxNQUFNRSxXQUNKLFdBRElBLEdBQ0osSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxRQUFBQTs7d0JBQ0VaO3NDQUNELElBQUFVLFlBQUFHLEdBQUEsRUFBQ0QsUUFBQUE7NEJBQ0UsR0FBR0osUUFBUTs0QkFFVixHQUFJTixtQkFDQTtnQ0FDRSx1REFDRTs0QkFDSixJQUNBWSxTQUFTO3NDQUdkLE1BQUlyQixZQUFVOzs7O2dCQUlyQkosV0FBV0k7Z0JBRVgsTUFBTXNCLGtCQUNKLFdBRElBLEdBQ0osSUFBQUwsWUFBQUMsSUFBQSxFQUFDSyxPQUFBQSxRQUFROzt3QkFDTlA7d0JBRUFQLG9CQUNDLFdBRERBLEdBQ0MsSUFBQVEsWUFBQUcsR0FBQSxFQUFDRCxRQUFBQTs0QkFBS0ssa0RBQThDO3NDQUNqRGpCLFNBQVMsSUFBSUMsTUFBTSxDQUFDUixVQUFVYixNQUFNLEdBQUcsS0FBSzs7O21CQUxwQ1EsZ0JBQWdCUixNQUFNO2dCQVV2Q1EsZ0JBQWdCOEIsSUFBSSxDQUFDSDtZQUN2QixPQUFPO2dCQUNMLElBQ0UzQixnQkFBZ0JSLE1BQU0sSUFBSUYsNEJBQzFCRyxpQkFDQTtvQkFDQTtnQkFDRjtnQkFFQSxJQUFJLENBQUNBLG1CQUFtQjBCLGlCQUFpQjtvQkFDdkNuQixnQkFBZ0I4QixJQUFJLENBQ2xCLFdBRGtCLEdBQ2xCLElBQUFDLE9BQUFDLGFBQUEsRUFBQ1IsUUFBQUE7d0JBQU0sR0FBR0osUUFBUTt3QkFBRWEsS0FBS2pDLGdCQUFnQlIsTUFBTTs7NEJBQzVDb0I7NEJBQ0EsTUFBTVAsWUFBWTs7O2dCQUd6QixPQUFPLElBQUlaLG1CQUFtQlEsYUFBYSxPQUFPO29CQUNoREEsV0FBVztvQkFDWEQsZ0JBQWdCOEIsSUFBSSxDQUNsQixXQURrQixHQUNsQixJQUFBQyxPQUFBQyxhQUFBLEVBQUNSLFFBQUFBO3dCQUFNLEdBQUdKLFFBQVE7d0JBQUVhLEtBQUtqQyxnQkFBZ0JSLE1BQU07OzRCQUM1Q29COzRCQUNBOzs7Z0JBR1A7WUFDRjtRQUNGO1FBRUEsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQ3ZCLG1CQUFtQjtZQUN0QixNQUFNdUIsU0FBUyxJQUFJQyxNQUFNLENBQUNiLGdCQUFnQlIsTUFBTSxHQUFHO1lBQ25ELElBQUltQztZQUNKLElBQUl4QywwQkFBMEIsUUFBUTtnQkFDcEMsdUVBQXVFO2dCQUN2RXdDLGtCQUNFLFdBREZBLEdBQ0UsSUFBQUwsWUFBQUMsSUFBQSxFQUFDSyxPQUFBQSxRQUFROztzQ0FDUCxJQUFBTixZQUFBRyxHQUFBLEVBQUNELFFBQUFBOzRCQUFLVSx5REFBcUQ7c0NBQ3hEdEIsU0FBUyxPQUFJM0IsZUFBYTs7c0NBRTdCLElBQUFxQyxZQUFBRyxHQUFBLEVBQUNELFFBQUFBOzRCQUFLVyxzREFBa0Q7c0NBQ3JEdkIsU0FBUyxPQUFJMUIsZ0JBQWM7OzttQkFMakJjLGdCQUFnQlIsTUFBTTtZQVN6QyxPQUFPO2dCQUNMLDRFQUE0RTtnQkFDNUVtQyxrQkFDRSxXQURGQSxHQUNFLElBQUFMLFlBQUFDLElBQUEsRUFBQ0ssT0FBQUEsUUFBUTs7c0NBQ1AsSUFBQU4sWUFBQUcsR0FBQSxFQUFDRCxRQUFBQTs0QkFBS1ksMERBQXNEO3NDQUN6RHhCLFNBQVMsT0FBSTFCLGdCQUFjOztzQ0FFOUIsSUFBQW9DLFlBQUFHLEdBQUEsRUFBQ0QsUUFBQUE7NEJBQUtVLHlEQUFxRDtzQ0FDeER0QixTQUFTLFNBQU0zQixlQUFhOzs7bUJBTGxCZSxnQkFBZ0JSLE1BQU07WUFTekM7WUFDQVEsZ0JBQWdCOEIsSUFBSSxDQUFDSDtRQUN2QjtRQUVBLE9BQU8zQjtJQUNULEdBQUc7UUFDRGhCO1FBQ0FTO1FBQ0FSO1FBQ0FDO1FBQ0FHO1FBQ0FGO1FBQ0FHO0tBQ0Q7SUFFRCxPQUNFLFdBREYsR0FDRSxJQUFBZ0MsWUFBQUMsSUFBQSxFQUFDYyxPQUFBQTtRQUFJQyw0Q0FBd0M7OzBCQUMzQyxJQUFBaEIsWUFBQUcsR0FBQSxFQUFDYyxVQUFBQTtnQkFDQ0MsVUFBVTtnQkFDVkMscURBQWlEO2dCQUNqREMsU0FBUyxJQUFNaEQsbUJBQW1CLENBQUNEOzBCQUVuQyxrQkFBQTZCLFlBQUFHLEdBQUEsRUFBQ2tCLGNBQUFBLFlBQVk7b0JBQUNDLFdBQVduRDs7OzBCQUUzQixJQUFBNkIsWUFBQUcsR0FBQSxFQUFDb0IsT0FBQUE7Z0JBQUssR0FBR3pELEtBQUs7MEJBQ1osa0JBQUFrQyxZQUFBRyxHQUFBLEVBQUNxQixRQUFBQTs4QkFBTWxEOzs7OztBQUlmO0tBekxnQmhCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9jb21wb25lbnQtc3RhY2stcHNldWRvLWh0bWwudHN4PzYzMTYiXSwibmFtZXMiOlsiUHNldWRvSHRtbERpZmYiLCJnZXRBZGphY2VudFByb3BzIiwiaXNBZGoiLCJwYXJhbSIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwiZmlyc3RDb250ZW50Iiwic2Vjb25kQ29udGVudCIsImh5ZHJhdGlvbk1pc21hdGNoVHlwZSIsInByb3BzIiwiaXNIdG1sVGFnc1dhcm5pbmciLCJNQVhfTk9OX0NPTExBUFNFRF9GUkFNRVMiLCJzaG91bGRDb2xsYXBzZSIsImxlbmd0aCIsImlzSHRtbENvbGxhcHNlZCIsInRvZ2dsZUNvbGxhcHNlSHRtbCIsInVzZVN0YXRlIiwiaHRtbENvbXBvbmVudHMiLCJ1c2VNZW1vIiwidGFnTmFtZXMiLCJyZXBsYWNlIiwibmVzdGVkSHRtbFN0YWNrIiwibGFzdFRleHQiLCJjb21wb25lbnRTdGFjayIsIm1hcCIsImZyYW1lIiwiY29tcG9uZW50IiwicmV2ZXJzZSIsIm1hdGNoZWRJbmRleCIsImkiLCJmb3JFYWNoIiwiaW5kZXgiLCJjb21wb25lbnRMaXN0Iiwic3BhY2VzIiwicmVwZWF0IiwiaXNIaWdobGlnaHRlZFRhZyIsImluY2x1ZGVzIiwiaXNBZGphY2VudFRhZyIsIk1hdGgiLCJhYnMiLCJpc0xhc3RGZXdGcmFtZXMiLCJhZGpQcm9wcyIsImNvZGVMaW5lIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwic3BhbiIsImpzeCIsInVuZGVmaW5lZCIsIndyYXBwZWRDb2RlTGluZSIsIkZyYWdtZW50IiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbC0taGludCIsInB1c2giLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50Iiwia2V5IiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbC0tZGlmZi1yZW1vdmUiLCJkYXRhLW5leHRqcy1jb250YWluZXItZXJyb3JzLXBzZXVkby1odG1sLS1kaWZmLWFkZCIsImRhdGEtbmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtcHNldWRvLWh0bWwtLXRhZy1hZGphY2VudCIsImRpdiIsImRhdGEtbmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtcHNldWRvLWh0bWwiLCJidXR0b24iLCJ0YWJJbmRleCIsImRhdGEtbmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtcHNldWRvLWh0bWwtY29sbGFwc2UiLCJvbkNsaWNrIiwiQ29sbGFwc2VJY29uIiwiY29sbGFwc2VkIiwicHJlIiwiY29kZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RuntimeError: function() {\n return RuntimeError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _CodeFrame = __webpack_require__(/*! ../../components/CodeFrame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _groupstackframesbyframework = __webpack_require__(/*! ../../helpers/group-stack-frames-by-framework */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\");\nconst _GroupedStackFrames = __webpack_require__(/*! ./GroupedStackFrames */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n button[data-nextjs-data-runtime-error-collapsed-action] {\\n background: none;\\n border: none;\\n padding: 0;\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-bigger);\\n color: var(--color-accents-3);\\n }\\n\\n [data-nextjs-call-stack-frame]:not(:last-child),\\n [data-nextjs-component-stack-frame]:not(:last-child) {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-call-stack-frame] > h3,\\n [data-nextjs-component-stack-frame] > h3 {\\n margin-top: 0;\\n margin-bottom: var(--size-gap);\\n font-family: var(--font-stack-monospace);\\n font-size: var(--size-font);\\n color: #222;\\n }\\n [data-nextjs-call-stack-frame] > h3[data-nextjs-frame-expanded='false'] {\\n color: #666;\\n }\\n [data-nextjs-call-stack-frame] > div,\\n [data-nextjs-component-stack-frame] > div {\\n display: flex;\\n align-items: center;\\n padding-left: calc(var(--size-gap) + var(--size-gap-half));\\n font-size: var(--size-font-small);\\n color: #999;\\n }\\n [data-nextjs-call-stack-frame] > div > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n flex-shrink: 0;\\n\\n display: none;\\n }\\n\\n [data-nextjs-call-stack-frame] > div[data-has-source],\\n [data-nextjs-component-stack-frame] > [role='link'] {\\n cursor: pointer;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source]:hover,\\n [data-nextjs-component-stack-frame] > [role='link']:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source] > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n display: unset;\\n }\\n\\n [data-nextjs-call-stack-framework-icon] {\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-call-stack-framework-icon='next'] > mask {\\n mask-type: alpha;\\n }\\n [data-nextjs-call-stack-framework-icon='react'] {\\n color: rgb(20, 158, 202);\\n }\\n [data-nextjs-collapsed-call-stack-details][open]\\n [data-nextjs-call-stack-chevron-icon] {\\n transform: rotate(90deg);\\n }\\n [data-nextjs-collapsed-call-stack-details] summary {\\n display: flex;\\n align-items: center;\\n margin-bottom: var(--size-gap);\\n list-style: none;\\n }\\n [data-nextjs-collapsed-call-stack-details] summary::-webkit-details-marker {\\n display: none;\\n }\\n\\n [data-nextjs-collapsed-call-stack-details] h3 {\\n color: #666;\\n }\\n [data-nextjs-collapsed-call-stack-details] [data-nextjs-call-stack-frame] {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-container-errors-pseudo-html] {\\n position: relative;\\n }\\n [data-nextjs-container-errors-pseudo-html-collapse] {\\n position: absolute;\\n left: 10px;\\n top: 10px;\\n color: inherit;\\n background: none;\\n border: none;\\n padding: 0;\\n }\\n [data-nextjs-container-errors-pseudo-html--diff-add] {\\n color: var(--color-ansi-green);\\n }\\n [data-nextjs-container-errors-pseudo-html--diff-remove] {\\n color: var(--color-ansi-red);\\n }\\n [data-nextjs-container-errors-pseudo-html--tag-error] {\\n color: var(--color-ansi-red);\\n font-weight: bold;\\n }\\n /* hide but text are still accessible in DOM */\\n [data-nextjs-container-errors-pseudo-html--hint] {\\n display: inline-block;\\n font-size: 0;\\n }\\n [data-nextjs-container-errors-pseudo-html--tag-adjacent='false'] {\\n color: var(--color-accents-1);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction RuntimeError(param) {\n _s();\n let { error } = param;\n const { firstFrame, allLeadingFrames, allCallStackFrames } = _react.useMemo(()=>{\n const filteredFrames = error.frames.filter((f)=>{\n var _f_sourceStackFrame_file;\n return !(f.sourceStackFrame.file === \"<anonymous>\" && [\n \"stringify\",\n \"<unknown>\"\n ].includes(f.sourceStackFrame.methodName)) && !((_f_sourceStackFrame_file = f.sourceStackFrame.file) == null ? void 0 : _f_sourceStackFrame_file.startsWith(\"node:internal\"));\n });\n const firstFirstPartyFrameIndex = filteredFrames.findIndex((entry)=>entry.expanded && Boolean(entry.originalCodeFrame) && Boolean(entry.originalStackFrame));\n var _filteredFrames_firstFirstPartyFrameIndex;\n return {\n firstFrame: (_filteredFrames_firstFirstPartyFrameIndex = filteredFrames[firstFirstPartyFrameIndex]) != null ? _filteredFrames_firstFirstPartyFrameIndex : null,\n allLeadingFrames: firstFirstPartyFrameIndex < 0 ? [] : filteredFrames.slice(0, firstFirstPartyFrameIndex),\n allCallStackFrames: filteredFrames.slice(firstFirstPartyFrameIndex + 1)\n };\n }, [\n error.frames\n ]);\n const [all, setAll] = _react.useState(firstFrame == null);\n const { canShowMore, leadingFramesGroupedByFramework, stackFramesGroupedByFramework } = _react.useMemo(()=>{\n const leadingFrames = allLeadingFrames.filter((f)=>f.expanded || all);\n const visibleCallStackFrames = allCallStackFrames.filter((f)=>f.expanded || all);\n return {\n canShowMore: allCallStackFrames.length !== visibleCallStackFrames.length || all && firstFrame != null,\n stackFramesGroupedByFramework: (0, _groupstackframesbyframework.groupStackFramesByFramework)(allCallStackFrames),\n leadingFramesGroupedByFramework: (0, _groupstackframesbyframework.groupStackFramesByFramework)(leadingFrames)\n };\n }, [\n all,\n allCallStackFrames,\n allLeadingFrames,\n firstFrame\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n firstFrame ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Source\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: leadingFramesGroupedByFramework,\n show: all\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CodeFrame.CodeFrame, {\n stackFrame: firstFrame.originalStackFrame,\n codeFrame: firstFrame.originalCodeFrame\n })\n ]\n }) : undefined,\n stackFramesGroupedByFramework.length ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Call Stack\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: stackFramesGroupedByFramework,\n show: all\n })\n ]\n }) : undefined,\n canShowMore ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-data-runtime-error-collapsed-action\": true,\n type: \"button\",\n onClick: ()=>setAll(!all),\n children: [\n all ? \"Hide\" : \"Show\",\n \" collapsed frames\"\n ]\n })\n }) : undefined\n ]\n });\n}\n_s(RuntimeError, \"IxUV+6sfFf94RV83YAUHBr0cfHM=\");\n_c = RuntimeError;\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c;\n$RefreshReg$(_c, \"RuntimeError\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUFTZ0JBLGNBQVk7ZUFBWkE7O0lBOEZIQyxRQUFNO2VBQU5BOzs7Ozs7NkVBdkdVO3VDQUNHOzBDQUVFO3lEQUNnQjtnREFDVDs7Ozs7Ozs7OztBQUk1QixTQUFTRCxhQUFhRSxLQUE0Qjs7SUFBNUIsTUFBRUMsS0FBSyxFQUFxQixHQUE1QkQ7SUFDM0IsTUFBTSxFQUFFRSxVQUFVLEVBQUVDLGdCQUFnQixFQUFFQyxrQkFBa0IsRUFBRSxHQUN4REMsT0FBTUMsT0FBTyxDQUFDO1FBQ1osTUFBTUMsaUJBQWlCTixNQUFNTyxNQUFNLENBQUNDLE1BQU0sQ0FDeEMsQ0FBQ0M7Z0JBSU9BO21CQUhOLENBQ0VBLENBQUFBLEVBQUVDLGdCQUFnQixDQUFDQyxJQUFJLEtBQUssaUJBQzVCO2dCQUFDO2dCQUFhO2FBQVksQ0FBQ0MsUUFBUSxDQUFDSCxFQUFFQyxnQkFBZ0IsQ0FBQ0csVUFBVSxNQUM5RCxHQUFDSiwyQkFBQUEsRUFBRUMsZ0JBQWdCLENBQUNDLElBQUkscUJBQXZCRix5QkFBeUJLLFVBQVUsQ0FBQzs7UUFHOUMsTUFBTUMsNEJBQTRCVCxlQUFlVSxTQUFTLENBQ3hELENBQUNDLFFBQ0NBLE1BQU1DLFFBQVEsSUFDZEMsUUFBUUYsTUFBTUcsaUJBQWlCLEtBQy9CRCxRQUFRRixNQUFNSSxrQkFBa0I7WUFJdEJmO1FBRGQsT0FBTztZQUNMTCxZQUFZSyxDQUFBQSw0Q0FBQUEsY0FBYyxDQUFDUywwQkFBMEIsWUFBekNULDRDQUE2QztZQUN6REosa0JBQ0VhLDRCQUE0QixJQUN4QixFQUFFLEdBQ0ZULGVBQWVnQixLQUFLLENBQUMsR0FBR1A7WUFDOUJaLG9CQUFvQkcsZUFBZWdCLEtBQUssQ0FBQ1AsNEJBQTRCO1FBQ3ZFO0lBQ0YsR0FBRztRQUFDZixNQUFNTyxNQUFNO0tBQUM7SUFFbkIsTUFBTSxDQUFDZ0IsS0FBS0MsT0FBTyxHQUFHcEIsT0FBTXFCLFFBQVEsQ0FBQ3hCLGNBQWM7SUFFbkQsTUFBTSxFQUNKeUIsV0FBVyxFQUNYQywrQkFBK0IsRUFDL0JDLDZCQUE2QixFQUM5QixHQUFHeEIsT0FBTUMsT0FBTyxDQUFDO1FBQ2hCLE1BQU13QixnQkFBZ0IzQixpQkFBaUJNLE1BQU0sQ0FBQyxDQUFDQyxJQUFNQSxFQUFFUyxRQUFRLElBQUlLO1FBQ25FLE1BQU1PLHlCQUF5QjNCLG1CQUFtQkssTUFBTSxDQUN0RCxDQUFDQyxJQUFNQSxFQUFFUyxRQUFRLElBQUlLO1FBR3ZCLE9BQU87WUFDTEcsYUFDRXZCLG1CQUFtQjRCLE1BQU0sS0FBS0QsdUJBQXVCQyxNQUFNLElBQzFEUixPQUFPdEIsY0FBYztZQUV4QjJCLCtCQUNFSSxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQUM3QjtZQUU5QndCLGlDQUNFSyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQUNIO1FBQ2hDO0lBQ0YsR0FBRztRQUFDTjtRQUFLcEI7UUFBb0JEO1FBQWtCRDtLQUFXO0lBRTFELE9BQ0UsV0FERixHQUNFLElBQUFnQyxZQUFBQyxJQUFBLEVBQUM5QixPQUFNK0IsUUFBUTs7WUFDWmxDLGFBQ0MsV0FEREEsR0FDQyxJQUFBZ0MsWUFBQUMsSUFBQSxFQUFDOUIsT0FBTStCLFFBQVE7O2tDQUNiLElBQUFGLFlBQUFHLEdBQUEsRUFBQ0MsTUFBQUE7a0NBQUc7O2tDQUNKLElBQUFKLFlBQUFHLEdBQUEsRUFBQ0Usb0JBQUFBLGtCQUFrQjt3QkFDakJDLG9CQUFvQlo7d0JBQ3BCYSxNQUFNakI7O2tDQUVSLElBQUFVLFlBQUFHLEdBQUEsRUFBQ0ssV0FBQUEsU0FBUzt3QkFDUkMsWUFBWXpDLFdBQVdvQixrQkFBa0I7d0JBQ3pDc0IsV0FBVzFDLFdBQVdtQixpQkFBaUI7OztpQkFHekN3QjtZQUVIaEIsOEJBQThCRyxNQUFNLEdBQ25DLFdBRG1DLEdBQ25DLElBQUFFLFlBQUFDLElBQUEsRUFBQzlCLE9BQU0rQixRQUFROztrQ0FDYixJQUFBRixZQUFBRyxHQUFBLEVBQUNDLE1BQUFBO2tDQUFHOztrQ0FDSixJQUFBSixZQUFBRyxHQUFBLEVBQUNFLG9CQUFBQSxrQkFBa0I7d0JBQ2pCQyxvQkFBb0JYO3dCQUNwQlksTUFBTWpCOzs7aUJBR1JxQjtZQUNIbEIsY0FDQyxXQUREQSxHQUNDLElBQUFPLFlBQUFHLEdBQUEsRUFBQ2hDLE9BQU0rQixRQUFROzBCQUNiLGtCQUFBRixZQUFBQyxJQUFBLEVBQUNXLFVBQUFBO29CQUNDQyxVQUFVO29CQUNWQyxtREFBK0M7b0JBQy9DQyxNQUFLO29CQUNMQyxTQUFTLElBQU16QixPQUFPLENBQUNEOzt3QkFFdEJBLE1BQU0sU0FBUzt3QkFBTzs7O2lCQUd6QnFCOzs7QUFHVjtHQTVGZ0IvQztLQUFBQTtBQThGVCxNQUFNQyxTQUFBQSxDQUFBQSxHQUFTb0QsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvaW5kZXgudHN4PzBmMTQiXSwibmFtZXMiOlsiUnVudGltZUVycm9yIiwic3R5bGVzIiwicGFyYW0iLCJlcnJvciIsImZpcnN0RnJhbWUiLCJhbGxMZWFkaW5nRnJhbWVzIiwiYWxsQ2FsbFN0YWNrRnJhbWVzIiwiUmVhY3QiLCJ1c2VNZW1vIiwiZmlsdGVyZWRGcmFtZXMiLCJmcmFtZXMiLCJmaWx0ZXIiLCJmIiwic291cmNlU3RhY2tGcmFtZSIsImZpbGUiLCJpbmNsdWRlcyIsIm1ldGhvZE5hbWUiLCJzdGFydHNXaXRoIiwiZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleCIsImZpbmRJbmRleCIsImVudHJ5IiwiZXhwYW5kZWQiLCJCb29sZWFuIiwib3JpZ2luYWxDb2RlRnJhbWUiLCJvcmlnaW5hbFN0YWNrRnJhbWUiLCJzbGljZSIsImFsbCIsInNldEFsbCIsInVzZVN0YXRlIiwiY2FuU2hvd01vcmUiLCJsZWFkaW5nRnJhbWVzR3JvdXBlZEJ5RnJhbWV3b3JrIiwic3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsiLCJsZWFkaW5nRnJhbWVzIiwidmlzaWJsZUNhbGxTdGFja0ZyYW1lcyIsImxlbmd0aCIsImdyb3VwU3RhY2tGcmFtZXNCeUZyYW1ld29yayIsIl9qc3hydW50aW1lIiwianN4cyIsIkZyYWdtZW50IiwianN4IiwiaDIiLCJHcm91cGVkU3RhY2tGcmFtZXMiLCJncm91cGVkU3RhY2tGcmFtZXMiLCJzaG93IiwiQ29kZUZyYW1lIiwic3RhY2tGcmFtZSIsImNvZGVGcmFtZSIsInVuZGVmaW5lZCIsImJ1dHRvbiIsInRhYkluZGV4IiwiZGF0YS1uZXh0anMtZGF0YS1ydW50aW1lLWVycm9yLWNvbGxhcHNlZC1hY3Rpb24iLCJ0eXBlIiwib25DbGljayIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js": -/*!****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js ***! - \****************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\nMIT License\n\nCopyright (c) 2015-present, Facebook, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return formatWebpackMessages;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"./node_modules/next/dist/compiled/strip-ansi/index.js\"));\n// This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js\n// It's been edited to remove chalk and CRA-specific logic\nconst friendlySyntaxErrorLabel = \"Syntax error:\";\nconst WEBPACK_BREAKING_CHANGE_POLYFILLS = \"\\n\\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\";\nfunction isLikelyASyntaxError(message) {\n return (0, _stripansi.default)(message).includes(friendlySyntaxErrorLabel);\n}\nlet hadMissingSassError = false;\n// Cleans up webpack error messages.\nfunction formatMessage(message, verbose, importTraceNote) {\n // TODO: Replace this once webpack 5 is stable\n if (typeof message === \"object\" && message.message) {\n const filteredModuleTrace = message.moduleTrace && message.moduleTrace.filter((trace)=>!/next-(middleware|client-pages|route|edge-function)-loader\\.js/.test(trace.originName));\n let body = message.message;\n const breakingChangeIndex = body.indexOf(WEBPACK_BREAKING_CHANGE_POLYFILLS);\n if (breakingChangeIndex >= 0) {\n body = body.slice(0, breakingChangeIndex);\n }\n message = (message.moduleName ? (0, _stripansi.default)(message.moduleName) + \"\\n\" : \"\") + (message.file ? (0, _stripansi.default)(message.file) + \"\\n\" : \"\") + body + (message.details && verbose ? \"\\n\" + message.details : \"\") + (filteredModuleTrace && filteredModuleTrace.length ? (importTraceNote || \"\\n\\nImport trace for requested module:\") + filteredModuleTrace.map((trace)=>\"\\n\" + trace.moduleName).join(\"\") : \"\") + (message.stack && verbose ? \"\\n\" + message.stack : \"\");\n }\n let lines = message.split(\"\\n\");\n // Strip Webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line)=>!/Module [A-z ]+\\(from/.test(line));\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line)=>{\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return friendlySyntaxErrorLabel + \" \" + errorMessage + \" (\" + errorLine + \":\" + errorColumn + \")\";\n });\n message = lines.join(\"\\n\");\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(/SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g, \"\" + friendlySyntaxErrorLabel + \" $3 ($1:$2)\\n\");\n // Clean up export errors\n message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$2'.\");\n message = message.replace(/^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$2' does not contain a default export (imported as '$1').\");\n message = message.replace(/^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$3' (imported as '$2').\");\n lines = message.split(\"\\n\");\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === \"\") {\n lines.splice(1, 1);\n }\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf(\"Module not found: \") === 0) {\n lines = [\n lines[0],\n lines[1].replace(\"Error: \", \"\").replace(\"Module not found: Cannot find file:\", \"Cannot find file:\"),\n ...lines.slice(2)\n ];\n }\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {\n // ./file.module.scss (<<loader info>>) => ./file.module.scss\n const firstLine = lines[0].split(\"!\");\n lines[0] = firstLine[firstLine.length - 1];\n lines[1] = \"To use Next.js' built-in Sass support, you first need to install `sass`.\\n\";\n lines[1] += \"Run `npm i sass` or `yarn add sass` inside your workspace.\\n\";\n lines[1] += \"\\nLearn more: https://nextjs.org/docs/messages/install-sass\";\n // dispose of unhelpful stack trace\n lines = lines.slice(0, 2);\n hadMissingSassError = true;\n } else if (hadMissingSassError && message.match(/(sass-loader|resolve-url-loader: CSS error)/)) {\n // dispose of unhelpful stack trace following missing sass module\n lines = [];\n }\n if (!verbose) {\n message = lines.join(\"\\n\");\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by Webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, \"\") // at ... ...:x:y\n ;\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, \"\") // at <anonymous>\n ;\n message = message.replace(/File was processed with these loaders:\\n(.+[\\\\/](next[\\\\/]dist[\\\\/].+|@next[\\\\/]react-refresh-utils[\\\\/]loader)\\.js\\n)*You may need an additional loader to handle the result of these loaders.\\n/g, \"\");\n lines = message.split(\"\\n\");\n }\n // Remove duplicated newlines\n lines = lines.filter((line, index, arr)=>index === 0 || line.trim() !== \"\" || line.trim() !== arr[index - 1].trim());\n // Reassemble the message\n message = lines.join(\"\\n\");\n return message.trim();\n}\nfunction formatWebpackMessages(json, verbose) {\n const formattedErrors = json.errors.map((message)=>{\n const isUnknownNextFontError = message.message.includes(\"An error occurred in `next/font`.\");\n return formatMessage(message, isUnknownNextFontError || verbose);\n });\n const formattedWarnings = json.warnings.map((message)=>{\n return formatMessage(message, verbose);\n });\n // Reorder errors to put the most relevant ones first.\n let reactServerComponentsError = -1;\n for(let i = 0; i < formattedErrors.length; i++){\n const error = formattedErrors[i];\n if (error.includes(\"ReactServerComponentsError\")) {\n reactServerComponentsError = i;\n break;\n }\n }\n // Move the reactServerComponentsError to the top if it exists\n if (reactServerComponentsError !== -1) {\n const error = formattedErrors.splice(reactServerComponentsError, 1);\n formattedErrors.unshift(error[0]);\n }\n const result = {\n ...json,\n errors: formattedErrors,\n warnings: formattedWarnings\n };\n if (!verbose && result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n result.warnings = [];\n }\n return result;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=format-webpack-messages.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZm9ybWF0LXdlYnBhY2stbWVzc2FnZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQkE7Ozs7MkNBaUtBOzs7ZUFBd0JBOzs7O2dGQWhLRjtBQUN0QixxS0FBcUs7QUFDckssMERBQTBEO0FBRTFELE1BQU1DLDJCQUEyQjtBQUVqQyxNQUFNQyxvQ0FDSjtBQUVGLFNBQVNDLHFCQUFxQkMsT0FBZTtJQUMzQyxPQUFPQyxDQUFBQSxHQUFBQSxXQUFBQSxPQUFTLEVBQUNELFNBQVNFLFFBQVEsQ0FBQ0w7QUFDckM7QUFFQSxJQUFJTSxzQkFBc0I7QUFFMUIsb0NBQW9DO0FBQ3BDLFNBQVNDLGNBQ1BKLE9BQVksRUFDWkssT0FBaUIsRUFDakJDLGVBQXlCO0lBRXpCLDhDQUE4QztJQUM5QyxJQUFJLE9BQU9OLFlBQVksWUFBWUEsUUFBUUEsT0FBTyxFQUFFO1FBQ2xELE1BQU1PLHNCQUNKUCxRQUFRUSxXQUFXLElBQ25CUixRQUFRUSxXQUFXLENBQUNDLE1BQU0sQ0FDeEIsQ0FBQ0MsUUFDQyxDQUFDLGdFQUFnRUMsSUFBSSxDQUNuRUQsTUFBTUUsVUFBVTtRQUl4QixJQUFJQyxPQUFPYixRQUFRQSxPQUFPO1FBQzFCLE1BQU1jLHNCQUFzQkQsS0FBS0UsT0FBTyxDQUFDakI7UUFDekMsSUFBSWdCLHVCQUF1QixHQUFHO1lBQzVCRCxPQUFPQSxLQUFLRyxLQUFLLENBQUMsR0FBR0Y7UUFDdkI7UUFFQWQsVUFDRSxDQUFDQSxRQUFRaUIsVUFBVSxHQUFHaEIsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRCxRQUFRaUIsVUFBVSxJQUFJLE9BQU8sTUFDNURqQixDQUFBQSxRQUFRa0IsSUFBSSxHQUFHakIsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRCxRQUFRa0IsSUFBSSxJQUFJLE9B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LGdCQUFnQlEsT0FBTyxDQUFDRCxLQUFLLENBQUMsRUFBRTtJQUNsQztJQUVBLE1BQU1FLFNBQVM7UUFDYixHQUFHVixJQUFJO1FBQ1BFLFFBQVFEO1FBQ1JJLFVBQVVEO0lBQ1o7SUFDQSxJQUFJLENBQUN0QyxXQUFXNEMsT0FBT1IsTUFBTSxDQUFDUyxJQUFJLENBQUNuRCx1QkFBdUI7UUFDeEQsa0RBQWtEO1FBQ2xEa0QsT0FBT1IsTUFBTSxHQUFHUSxPQUFPUixNQUFNLENBQUNoQyxNQUFNLENBQUNWO1FBQ3JDa0QsT0FBT0wsUUFBUSxHQUFHLEVBQUU7SUFDdEI7SUFDQSxPQUFPSztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9mb3JtYXQtd2VicGFjay1tZXNzYWdlcy50cz84NTFkIl0sIm5hbWVzIjpbImZvcm1hdFdlYnBhY2tNZXNzYWdlcyIsImZyaWVuZGx5U3ludGF4RXJyb3JMYWJlbCIsIldFQlBBQ0tfQlJFQUtJTkdfQ0hBTkdFX1BPTFlGSUxMUyIsImlzTGlrZWx5QVN5bnRheEVycm9yIiwibWVzc2FnZSIsInN0cmlwQW5zaSIsImluY2x1ZGVzIiwiaGFkTWlzc2luZ1Nhc3NFcnJvciIsImZvcm1hdE1lc3NhZ2UiLCJ2ZXJib3NlIiwiaW1wb3J0VHJhY2VOb3RlIiwiZmlsdGVyZWRNb2R1bGVUcmFjZSIsIm1vZHVsZVRyYWNlIiwiZmlsdGVyIiwidHJhY2UiLCJ0ZXN0Iiwib3JpZ2luTmFtZSIsImJvZHkiLCJicmVha2luZ0NoYW5nZUluZGV4IiwiaW5kZXhPZiIsInNsaWNlIiwibW9kdWxlTmFtZSIsImZpbGUiLCJkZXRhaWxzIiwibGVuZ3RoIiwibWFwIiwiam9pbiIsInN0YWNrIiwibGluZXMiLCJzcGxpdCIsImxpbmUiLCJwYXJzaW5nRXJyb3IiLCJleGVjIiwiZXJyb3JMaW5lIiwiZXJyb3JDb2x1bW4iLCJlcnJvck1lc3NhZ2UiLCJyZXBsYWNlIiwidHJpbSIsInNwbGljZSIsIm1hdGNoIiwiZmlyc3RMaW5lIiwiaW5kZXgiLCJhcnIiLCJqc29uIiwiZm9ybWF0dGVkRXJyb3JzIiwiZXJyb3JzIiwiaXNVbmtub3duTmV4dEZvbnRFcnJvciIsImZvcm1hdHRlZFdhcm5pbmdzIiwid2FybmluZ3MiLCJyZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvciIsImkiLCJlcnJvciIsInVuc2hpZnQiLCJyZXN1bHQiLCJzb21lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getErrorByType\", ({\n enumerable: true,\n get: function() {\n return getErrorByType;\n }\n}));\nconst _shared = __webpack_require__(/*! ../../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _stackframe = __webpack_require__(/*! ./stack-frame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"./node_modules/next/dist/shared/lib/error-source.js\");\nasync function getErrorByType(ev, isAppDir) {\n const { id, event } = ev;\n switch(event.type){\n case _shared.ACTION_UNHANDLED_ERROR:\n case _shared.ACTION_UNHANDLED_REJECTION:\n {\n const readyRuntimeError = {\n id,\n runtime: true,\n error: event.reason,\n frames: await (0, _stackframe.getOriginalStackFrames)(event.frames, (0, _errorsource.getErrorSource)(event.reason), isAppDir, event.reason.toString())\n };\n if (event.type === _shared.ACTION_UNHANDLED_ERROR) {\n readyRuntimeError.componentStackFrames = event.componentStackFrames;\n }\n return readyRuntimeError;\n }\n default:\n {\n break;\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n throw new Error(\"type system invariant violation\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=getErrorByType.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0RXJyb3JCeVR5cGUuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFrQnNCQTs7O2VBQUFBOzs7b0NBZmY7d0NBRWdDO3lDQUdSO0FBVXhCLGVBQWVBLGVBQ3BCQyxFQUF1QixFQUN2QkMsUUFBaUI7SUFFakIsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLEtBQUssRUFBRSxHQUFHSDtJQUN0QixPQUFRRyxNQUFNQyxJQUFJO1FBQ2hCLEtBQUtDLFFBQUFBLHNCQUFzQjtRQUMzQixLQUFLQyxRQUFBQSwwQkFBMEI7WUFBRTtnQkFDL0IsTUFBTUMsb0JBQXVDO29CQUMzQ0w7b0JBQ0FNLFNBQVM7b0JBQ1RDLE9BQU9OLE1BQU1PLE1BQU07b0JBQ25CQyxRQUFRLE1BQU1DLENBQUFBLEdBQUFBLFlBQUFBLHNCQUFzQixFQUNsQ1QsTUFBTVEsTUFBTSxFQUNaRSxDQUFBQSxHQUFBQSxhQUFBQSxjQUFjLEVBQUNWLE1BQU1PLE1BQU0sR0FDM0JULFVBQ0FFLE1BQU1PLE1BQU0sQ0FBQ0ksUUFBUTtnQkFFekI7Z0JBQ0EsSUFBSVgsTUFBTUMsSUFBSSxLQUFLQyxRQUFBQSxzQkFBc0IsRUFBRTtvQkFDekNFLGtCQUFrQlEsb0JBQW9CLEdBQUdaLE1BQU1ZLG9CQUFvQjtnQkFDckU7Z0JBQ0EsT0FBT1I7WUFDVDtRQUNBO1lBQVM7Z0JBQ1A7WUFDRjtJQUNGO0lBQ0EsNkRBQTZEO0lBQzdELE1BQU1TLElBQVdiO0lBQ2pCLE1BQU0sSUFBSWMsTUFBTTtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0RXJyb3JCeVR5cGUudHM/YjExZiJdLCJuYW1lcyI6WyJnZXRFcnJvckJ5VHlwZSIsImV2IiwiaXNBcHBEaXIiLCJpZCIsImV2ZW50IiwidHlwZSIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiIsInJlYWR5UnVudGltZUVycm9yIiwicnVudGltZSIsImVycm9yIiwicmVhc29uIiwiZnJhbWVzIiwiZ2V0T3JpZ2luYWxTdGFja0ZyYW1lcyIsImdldEVycm9yU291cmNlIiwidG9TdHJpbmciLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsIl8iLCJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js": -/*!************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js ***! - \************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"groupStackFramesByFramework\", ({\n enumerable: true,\n get: function() {\n return groupStackFramesByFramework;\n }\n}));\nfunction groupStackFramesByFramework(stackFrames) {\n const stackFramesGroupedByFramework = [];\n for (const stackFrame of stackFrames){\n const currentGroup = stackFramesGroupedByFramework[stackFramesGroupedByFramework.length - 1];\n const framework = stackFrame.sourcePackage;\n if (currentGroup && currentGroup.framework === framework) {\n currentGroup.stackFrames.push(stackFrame);\n } else {\n stackFramesGroupedByFramework.push({\n framework: framework,\n stackFrames: [\n stackFrame\n ]\n });\n }\n }\n return stackFramesGroupedByFramework;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=group-stack-frames-by-framework.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29yay5qcyIsIm1hcHBpbmdzIjoiOzs7OytEQTZCZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLDRCQUNkQyxXQUFpQztJQUVqQyxNQUFNQyxnQ0FBb0QsRUFBRTtJQUU1RCxLQUFLLE1BQU1DLGNBQWNGLFlBQWE7UUFDcEMsTUFBTUcsZUFDSkYsNkJBQTZCLENBQUNBLDhCQUE4QkcsTUFBTSxHQUFHLEVBQUU7UUFDekUsTUFBTUMsWUFBWUgsV0FBV0ksYUFBYTtRQUUxQyxJQUFJSCxnQkFBZ0JBLGFBQWFFLFNBQVMsS0FBS0EsV0FBVztZQUN4REYsYUFBYUgsV0FBVyxDQUFDTyxJQUFJLENBQUNMO1FBQ2hDLE9BQU87WUFDTEQsOEJBQThCTSxJQUFJLENBQUM7Z0JBQ2pDRixXQUFXQTtnQkFDWEwsYUFBYTtvQkFBQ0U7aUJBQVc7WUFDM0I7UUFDRjtJQUNGO0lBRUEsT0FBT0Q7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29yay50cz9jMjRjIl0sIm5hbWVzIjpbImdyb3VwU3RhY2tGcmFtZXNCeUZyYW1ld29yayIsInN0YWNrRnJhbWVzIiwic3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsiLCJzdGFja0ZyYW1lIiwiY3VycmVudEdyb3VwIiwibGVuZ3RoIiwiZnJhbWV3b3JrIiwic291cmNlUGFja2FnZSIsInB1c2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getHydrationWarningType: function() {\n return getHydrationWarningType;\n },\n hydrationErrorState: function() {\n return hydrationErrorState;\n },\n patchConsoleError: function() {\n return patchConsoleError;\n }\n});\nconst getHydrationWarningType = (msg)=>{\n if (isHtmlTagsWarning(msg)) return \"tag\";\n if (isTextInTagsMismatchWarning(msg)) return \"text-in-tag\";\n return \"text\";\n};\nconst isHtmlTagsWarning = (msg)=>Boolean(msg && htmlTagsWarnings.has(msg));\nconst isTextMismatchWarning = (msg)=>textMismatchWarning === msg;\nconst isTextInTagsMismatchWarning = (msg)=>Boolean(msg && textAndTagsMismatchWarnings.has(msg));\nconst isKnownHydrationWarning = (msg)=>isHtmlTagsWarning(msg) || isTextInTagsMismatchWarning(msg) || isTextMismatchWarning(msg);\nconst hydrationErrorState = {};\n// https://github.com/facebook/react/blob/main/packages/react-dom/src/__tests__/ReactDOMHydrationDiff-test.js used as a reference\nconst htmlTagsWarnings = new Set([\n 'Warning: Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async=\"\" or moving it into the root <head> tag.%s',\n \"Warning: In HTML, %s cannot be a child of <%s>.%s\\nThis will cause a hydration error.%s\",\n \"Warning: In HTML, %s cannot be a descendant of <%s>.\\nThis will cause a hydration error.%s\",\n \"Warning: In HTML, text nodes cannot be a child of <%s>.\\nThis will cause a hydration error.\",\n \"Warning: In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\\nThis will cause a hydration error.\",\n \"Warning: Expected server HTML to contain a matching <%s> in <%s>.%s\",\n \"Warning: Did not expect server HTML to contain a <%s> in <%s>.%s\"\n]);\nconst textAndTagsMismatchWarnings = new Set([\n 'Warning: Expected server HTML to contain a matching text node for \"%s\" in <%s>.%s',\n 'Warning: Did not expect server HTML to contain the text node \"%s\" in <%s>.%s'\n]);\nconst textMismatchWarning = 'Warning: Text content did not match. Server: \"%s\" Client: \"%s\"%s';\nfunction patchConsoleError() {\n const prev = console.error;\n console.error = function(msg, serverContent, clientContent, componentStack) {\n if (isKnownHydrationWarning(msg)) {\n hydrationErrorState.warning = [\n // remove the last %s from the message\n msg,\n serverContent,\n clientContent\n ];\n hydrationErrorState.componentStack = componentStack;\n hydrationErrorState.serverContent = serverContent;\n hydrationErrorState.clientContent = clientContent;\n }\n // @ts-expect-error argument is defined\n prev.apply(console, arguments);\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hydration-error-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvaHlkcmF0aW9uLWVycm9yLWluZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBVWFBLHlCQUF1QjtlQUF2QkE7O0lBb0JBQyxxQkFBbUI7ZUFBbkJBOztJQXlCR0MsbUJBQWlCO2VBQWpCQTs7O0FBN0NULE1BQU1GLDBCQUEwQixDQUNyQ0c7SUFFQSxJQUFJQyxrQkFBa0JELE1BQU0sT0FBTztJQUNuQyxJQUFJRSw0QkFBNEJGLE1BQU0sT0FBTztJQUM3QyxPQUFPO0FBQ1Q7QUFFQSxNQUFNQyxvQkFBb0IsQ0FBQ0QsTUFDekJHLFFBQVFILE9BQU9JLGlCQUFpQkMsR0FBRyxDQUFDTDtBQUV0QyxNQUFNTSx3QkFBd0IsQ0FBQ04sTUFBc0JPLHdCQUF3QlA7QUFDN0UsTUFBTUUsOEJBQThCLENBQUNGLE1BQ25DRyxRQUFRSCxPQUFPUSw0QkFBNEJILEdBQUcsQ0FBQ0w7QUFFakQsTUFBTVMsMEJBQTBCLENBQUNULE1BQy9CQyxrQkFBa0JELFFBQ2xCRSw0QkFBNEJGLFFBQzVCTSxzQkFBc0JOO0FBRWpCLE1BQU1GLHNCQUEyQyxDQUFDO0FBRXpELGlJQUFpSTtBQUNqSSxNQUFNTSxtQkFBbUIsSUFBSU0sSUFBSTtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBQ0QsTUFBTUYsOEJBQThCLElBQUlFLElBQUk7SUFDMUM7SUFDQTtDQUNEO0FBQ0QsTUFBTUgsc0JBQ0o7QUFRSyxTQUFTUjtJQUNkLE1BQU1ZLE9BQU9DLFFBQVFDLEtBQUs7SUFDMUJELFFBQVFDLEtBQUssR0FBRyxTQUFVYixHQUFHLEVBQUVjLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxjQUFjO1FBQ3pFLElBQUlQLHdCQUF3QlQsTUFBTTtZQUNoQ0Ysb0JBQW9CbUIsT0FBTyxHQUFHO2dCQUM1QixzQ0FBc0M7Z0JBQ3RDakI7Z0JBQ0FjO2dCQUNBQzthQUNEO1lBQ0RqQixvQkFBb0JrQixjQUFjLEdBQUdBO1lBQ3JDbEIsb0JBQW9CZ0IsYUFBYSxHQUFHQTtZQUNwQ2hCLG9CQUFvQmlCLGFBQWEsR0FBR0E7UUFDdEM7UUFFQSx1Q0FBdUM7UUFDdkNKLEtBQUtPLEtBQUssQ0FBQ04sU0FBU087SUFDdEI7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvaHlkcmF0aW9uLWVycm9yLWluZm8udHM/ODQyNyJdLCJuYW1lcyI6WyJnZXRIeWRyYXRpb25XYXJuaW5nVHlwZSIsImh5ZHJhdGlvbkVycm9yU3RhdGUiLCJwYXRjaENvbnNvbGVFcnJvciIsIm1zZyIsImlzSHRtbFRhZ3NXYXJuaW5nIiwiaXNUZXh0SW5UYWdzTWlzbWF0Y2hXYXJuaW5nIiwiQm9vbGVhbiIsImh0bWxUYWdzV2FybmluZ3MiLCJoYXMiLCJpc1RleHRNaXNtYXRjaFdhcm5pbmciLCJ0ZXh0TWlzbWF0Y2hXYXJuaW5nIiwidGV4dEFuZFRhZ3NNaXNtYXRjaFdhcm5pbmdzIiwiaXNLbm93bkh5ZHJhdGlvbldhcm5pbmciLCJTZXQiLCJwcmV2IiwiY29uc29sZSIsImVycm9yIiwic2VydmVyQ29udGVudCIsImNsaWVudENvbnRlbnQiLCJjb21wb25lbnRTdGFjayIsIndhcm5pbmciLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getFilesystemFrame: function() {\n return getFilesystemFrame;\n },\n getServerError: function() {\n return getServerError;\n }\n});\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"./node_modules/next/dist/shared/lib/error-source.js\");\nfunction getFilesystemFrame(frame) {\n const f = {\n ...frame\n };\n if (typeof f.file === \"string\") {\n if (f.file.startsWith(\"/\") || // Win32:\n /^[a-z]:\\\\/i.test(f.file) || // Win32 UNC:\n f.file.startsWith(\"\\\\\\\\\")) {\n f.file = \"file://\" + f.file;\n }\n }\n return f;\n}\nfunction getServerError(error, type) {\n let n;\n try {\n throw new Error(error.message);\n } catch (e) {\n n = e;\n }\n n.name = error.name;\n try {\n n.stack = n.toString() + \"\\n\" + (0, _stacktraceparser.parse)(error.stack).map(getFilesystemFrame).map((f)=>{\n let str = \" at \" + f.methodName;\n if (f.file) {\n let loc = f.file;\n if (f.lineNumber) {\n loc += \":\" + f.lineNumber;\n if (f.column) {\n loc += \":\" + f.column;\n }\n }\n str += \" (\" + loc + \")\";\n }\n return str;\n }).join(\"\\n\");\n } catch (e) {\n n.stack = error.stack;\n }\n (0, _errorsource.decorateServerError)(n, type);\n return n;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=nodeStackFrames.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9kZVN0YWNrRnJhbWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQU9nQkEsb0JBQWtCO2VBQWxCQTs7SUFtQkFDLGdCQUFjO2VBQWRBOzs7OENBMUJNO3lDQUtmO0FBRUEsU0FBU0QsbUJBQW1CRSxLQUFpQjtJQUNsRCxNQUFNQyxJQUFnQjtRQUFFLEdBQUdELEtBQUs7SUFBQztJQUVqQyxJQUFJLE9BQU9DLEVBQUVDLElBQUksS0FBSyxVQUFVO1FBQzlCLElBRUVELEVBQUVDLElBQUksQ0FBQ0MsVUFBVSxDQUFDLFFBQ2xCLFNBQVM7UUFDVCxhQUFhQyxJQUFJLENBQUNILEVBQUVDLElBQUksS0FDeEIsYUFBYTtRQUNiRCxFQUFFQyxJQUFJLENBQUNDLFVBQVUsQ0FBQyxTQUNsQjtZQUNBRixFQUFFQyxJQUFJLEdBQUcsWUFBVUQsRUFBRUMsSUFBSTtRQUMzQjtJQUNGO0lBRUEsT0FBT0Q7QUFDVDtBQUVPLFNBQVNGLGVBQWVNLEtBQVksRUFBRUMsSUFBcUI7SUFDaEUsSUFBSUM7SUFDSixJQUFJO1FBQ0YsTUFBTSxJQUFJQyxNQUFNSCxNQUFNSSxPQUFPO0lBQy9CLEVBQUUsT0FBT0MsR0FBRztRQUNWSCxJQUFJRztJQUNOO0lBRUFILEVBQUVJLElBQUksR0FBR04sTUFBTU0sSUFBSTtJQUNuQixJQUFJO1FBQ0ZKLEVBQUVLLEtBQUssR0FBR0wsRUFBS00sUUFBUSxLQUFHLE9BQUlDLENBQUFBLEdBQUFBLGtCQUFBQSxLQUFLLEVBQUNULE1BQU1PLEtBQUssRUFDNUNHLEdBQUcsQ0FBQ2pCLG9CQUNKaUIsR0FBRyxDQUFDLENBQUNkO1lBQ0osSUFBSWUsTUFBTSxZQUFVZixFQUFFZ0IsVUFBVTtZQUNoQyxJQUFJaEIsRUFBRUMsSUFBSSxFQUFFO2dCQUNWLElBQUlnQixNQUFNakIsRUFBRUMsSUFBSTtnQkFDaEIsSUFBSUQsRUFBRWtCLFVBQVUsRUFBRTtvQkFDaEJELE9BQU8sTUFBSWpCLEVBQUVrQixVQUFVO29CQUN2QixJQUFJbEIsRUFBRW1CLE1BQU0sRUFBRTt3QkFDWkYsT0FBTyxNQUFJakIsRUFBRW1CLE1BQU07b0JBQ3JCO2dCQUNGO2dCQUNBSixPQUFPLE9BQUtFLE1BQUk7WUFDbEI7WUFDQSxPQUFPRjtRQUNULEdBQ0NLLElBQUksQ0FBQztJQUNWLEVBQUUsT0FBQVgsR0FBTTtRQUNOSCxFQUFFSyxLQUFLLEdBQUdQLE1BQU1PLEtBQUs7SUFDdkI7SUFFQVUsQ0FBQUEsR0FBQUEsYUFBQUEsbUJBQW1CLEVBQUNmLEdBQUdEO0lBQ3ZCLE9BQU9DO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL25vZGVTdGFja0ZyYW1lcy50cz84MmIzIl0sIm5hbWVzIjpbImdldEZpbGVzeXN0ZW1GcmFtZSIsImdldFNlcnZlckVycm9yIiwiZnJhbWUiLCJmIiwiZmlsZSIsInN0YXJ0c1dpdGgiLCJ0ZXN0IiwiZXJyb3IiLCJ0eXBlIiwibiIsIkVycm9yIiwibWVzc2FnZSIsImUiLCJuYW1lIiwic3RhY2siLCJ0b1N0cmluZyIsInBhcnNlIiwibWFwIiwic3RyIiwibWV0aG9kTmFtZSIsImxvYyIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJqb2luIiwiZGVjb3JhdGVTZXJ2ZXJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js": -/*!******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js ***! - \******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"noop\", ({\n enumerable: true,\n get: function() {\n return noop;\n }\n}));\nfunction noop(strings) {\n for(var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n keys[_key - 1] = arguments[_key];\n }\n const lastIndex = strings.length - 1;\n return strings.slice(0, lastIndex).reduce((p, s, i)=>p + s + keys[i], \"\") + strings[lastIndex];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-template.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3dDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsS0FDZEMsT0FBNkI7SUFDN0IsUUFBQUMsT0FBQUMsVUFBQUMsTUFBQSxFQUFBQyxPQUFBLElBQUFDLE1BQUFKLE9BQUEsSUFBQUEsT0FBQSxRQUFBSyxPQUFBLEdBQUFBLE9BQUFMLE1BQUFLLE9BQUE7UUFBR0YsSUFBQUEsQ0FBSEUsT0FBQSxLQUFBSixTQUFBLENBQUFJLEtBQTBCOztJQUUxQixNQUFNQyxZQUFZUCxRQUFRRyxNQUFNLEdBQUc7SUFDbkMsT0FDRUgsUUFBUVEsS0FBSyxDQUFDLEdBQUdELFdBQVdFLE1BQU0sQ0FBQyxDQUFDQyxHQUFHQyxHQUFHQyxJQUFNRixJQUFJQyxJQUFJUCxJQUFJLENBQUNRLEVBQUUsRUFBRSxNQUNqRVosT0FBTyxDQUFDTyxVQUFVO0FBRXRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ub29wLXRlbXBsYXRlLnRzP2VhNjgiXSwibmFtZXMiOlsibm9vcCIsInN0cmluZ3MiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwia2V5cyIsIkFycmF5IiwiX2tleSIsImxhc3RJbmRleCIsInNsaWNlIiwicmVkdWNlIiwicCIsInMiLCJpIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js ***! - \**************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseComponentStack\", ({\n enumerable: true,\n get: function() {\n return parseComponentStack;\n }\n}));\nvar LocationType;\n(function(LocationType) {\n LocationType[\"FILE\"] = \"file\";\n LocationType[\"WEBPACK_INTERNAL\"] = \"webpack-internal\";\n LocationType[\"HTTP\"] = \"http\";\n LocationType[\"PROTOCOL_RELATIVE\"] = \"protocol-relative\";\n LocationType[\"UNKNOWN\"] = \"unknown\";\n})(LocationType || (LocationType = {}));\n/**\n * Get the type of frame line based on the location\n */ function getLocationType(location) {\n if (location.startsWith(\"file://\")) {\n return \"file\";\n }\n if (location.startsWith(\"webpack-internal://\")) {\n return \"webpack-internal\";\n }\n if (location.startsWith(\"http://\") || location.startsWith(\"https://\")) {\n return \"http\";\n }\n if (location.startsWith(\"//\")) {\n return \"protocol-relative\";\n }\n return \"unknown\";\n}\nfunction parseStackFrameLocation(location) {\n const locationType = getLocationType(location);\n const modulePath = location == null ? void 0 : location.replace(/^(webpack-internal:\\/\\/\\/|file:\\/\\/)(\\(.*\\)\\/)?/, \"\");\n var _modulePath_match;\n const [, file, lineNumber, column] = (_modulePath_match = modulePath == null ? void 0 : modulePath.match(/^(.+):(\\d+):(\\d+)/)) != null ? _modulePath_match : [];\n switch(locationType){\n case \"file\":\n case \"webpack-internal\":\n return {\n canOpenInEditor: true,\n file,\n lineNumber: lineNumber ? Number(lineNumber) : undefined,\n column: column ? Number(column) : undefined\n };\n // When the location is a URL we only show the file\n // TODO: Resolve http(s) URLs through sourcemaps\n case \"http\":\n case \"protocol-relative\":\n case \"unknown\":\n default:\n {\n return {\n canOpenInEditor: false\n };\n }\n }\n}\nfunction parseComponentStack(componentStack) {\n const componentStackFrames = [];\n for (const line of componentStack.trim().split(\"\\n\")){\n // Get component and file from the component stack line\n const match = /at ([^ ]+)( \\((.*)\\))?/.exec(line);\n if (match == null ? void 0 : match[1]) {\n const component = match[1];\n const location = match[3];\n if (!location) {\n componentStackFrames.push({\n canOpenInEditor: false,\n component\n });\n continue;\n }\n // Stop parsing the component stack if we reach a Next.js component\n if (location == null ? void 0 : location.includes(\"next/dist\")) {\n break;\n }\n const frameLocation = parseStackFrameLocation(location);\n componentStackFrames.push({\n component,\n ...frameLocation\n });\n }\n }\n return componentStackFrames;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parse-component-stack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2UtY29tcG9uZW50LXN0YWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBcUVnQkE7OztlQUFBQTs7OztVQTdEWEMsWUFBQUE7Ozs7OztHQUFBQSxnQkFBQUEsQ0FBQUEsZUFBQUEsQ0FBQUEsQ0FBQUE7QUFRTDs7Q0FFQyxHQUNELFNBQVNDLGdCQUFnQkMsUUFBZ0I7SUFDdkMsSUFBSUEsU0FBU0MsVUFBVSxDQUFDLFlBQVk7UUFDbEM7SUFDRjtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyx3QkFBd0I7UUFDOUM7SUFDRjtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyxjQUFjRCxTQUFTQyxVQUFVLENBQUMsYUFBYTtRQUNyRTtJQUNGO0lBQ0EsSUFBSUQsU0FBU0MsVUFBVSxDQUFDLE9BQU87UUFDN0I7SUFDRjtJQUNBO0FBQ0Y7QUFFQSxTQUFTQyx3QkFDUEYsUUFBZ0I7SUFFaEIsTUFBTUcsZUFBZUosZ0JBQWdCQztJQUVyQyxNQUFNSSxhQUFhSixZQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxTQUFVSyxPQUFPLENBQ2xDLG1EQUNBO1FBR0FEO0lBREYsTUFBTSxHQUFHRSxNQUFNQyxZQUFZQyxPQUFPLEdBQ2hDSixDQUFBQSxvQkFBQUEsY0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsV0FBWUssS0FBSyxDQUFDLGdDQUFsQkwsb0JBQTBDLEVBQUU7SUFFOUMsT0FBUUQ7UUFDTjtRQUNBO1lBQ0UsT0FBTztnQkFDTE8saUJBQWlCO2dCQUNqQko7Z0JBQ0FDLFlBQVlBLGFBQWFJLE9BQU9KLGNBQWNLO2dCQUM5Q0osUUFBUUEsU0FBU0csT0FBT0gsVUFBVUk7WUFDcEM7UUFDRixtREFBbUQ7UUFDbkQsZ0RBQWdEO1FBQ2hEO1FBQ0E7UUFDQTtRQUNBO1lBQVM7Z0JBQ1AsT0FBTztvQkFDTEYsaUJBQWlCO2dCQUNuQjtZQUNGO0lBQ0Y7QUFDRjtBQUVPLFNBQVNiLG9CQUNkZ0IsY0FBc0I7SUFFdEIsTUFBTUMsdUJBQThDLEVBQUU7SUFDdEQsS0FBSyxNQUFNQyxRQUFRRixlQUFlRyxJQUFJLEdBQUdDLEtBQUssQ0FBQyxNQUFPO1FBQ3BELHVEQUF1RDtRQUN2RCxNQUFNUixRQUFRLHlCQUF5QlMsSUFBSSxDQUFDSDtRQUM1QyxJQUFJTixTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxLQUFPLENBQUMsRUFBRSxFQUFFO1lBQ2QsTUFBTVUsWUFBWVYsS0FBSyxDQUFDLEVBQUU7WUFDMUIsTUFBTVQsV0FBV1MsS0FBSyxDQUFDLEVBQUU7WUFFekIsSUFBSSxDQUFDVCxVQUFVO2dCQUNiYyxxQkFBcUJNLElBQUksQ0FBQztvQkFDeEJWLGlCQUFpQjtvQkFDakJTO2dCQUNGO2dCQUNBO1lBQ0Y7WUFFQSxtRUFBbUU7WUFDbkUsSUFBSW5CLFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVVxQixRQUFRLENBQUMsY0FBYztnQkFDbkM7WUFDRjtZQUVBLE1BQU1DLGdCQUFnQnBCLHdCQUF3QkY7WUFDOUNjLHFCQUFxQk0sSUFBSSxDQUFDO2dCQUN4QkQ7Z0JBQ0EsR0FBR0csYUFBYTtZQUNsQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPUjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9wYXJzZS1jb21wb25lbnQtc3RhY2sudHM/YzBhNCJdLCJuYW1lcyI6WyJwYXJzZUNvbXBvbmVudFN0YWNrIiwiTG9jYXRpb25UeXBlIiwiZ2V0TG9jYXRpb25UeXBlIiwibG9jYXRpb24iLCJzdGFydHNXaXRoIiwicGFyc2VTdGFja0ZyYW1lTG9jYXRpb24iLCJsb2NhdGlvblR5cGUiLCJtb2R1bGVQYXRoIiwicmVwbGFjZSIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwibWF0Y2giLCJjYW5PcGVuSW5FZGl0b3IiLCJOdW1iZXIiLCJ1bmRlZmluZWQiLCJjb21wb25lbnRTdGFjayIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwibGluZSIsInRyaW0iLCJzcGxpdCIsImV4ZWMiLCJjb21wb25lbnQiLCJwdXNoIiwiaW5jbHVkZXMiLCJmcmFtZUxvY2F0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js ***! - \***************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseStack\", ({\n enumerable: true,\n get: function() {\n return parseStack;\n }\n}));\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nconst regexNextStatic = /\\/_next(\\/static\\/.+)/;\nfunction parseStack(stack) {\n const frames = (0, _stacktraceparser.parse)(stack);\n return frames.map((frame)=>{\n try {\n const url = new URL(frame.file);\n const res = regexNextStatic.exec(url.pathname);\n if (res) {\n var _process_env___NEXT_DIST_DIR_replace, _process_env___NEXT_DIST_DIR;\n const distDir = (_process_env___NEXT_DIST_DIR = \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/.next\") == null ? void 0 : (_process_env___NEXT_DIST_DIR_replace = _process_env___NEXT_DIST_DIR.replace(/\\\\/g, \"/\")) == null ? void 0 : _process_env___NEXT_DIST_DIR_replace.replace(/\\/$/, \"\");\n if (distDir) {\n frame.file = \"file://\" + distDir.concat(res.pop()) + url.search;\n }\n }\n } catch (e) {}\n return frame;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parseStack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2VTdGFjay5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQUtnQkE7OztlQUFBQTs7OzhDQUxNO0FBR3RCLE1BQU1DLGtCQUFrQjtBQUVqQixTQUFTRCxXQUFXRSxLQUFhO0lBQ3RDLE1BQU1DLFNBQVNDLENBQUFBLEdBQUFBLGtCQUFBQSxLQUFLLEVBQUNGO0lBQ3JCLE9BQU9DLE9BQU9FLEdBQUcsQ0FBQyxDQUFDQztRQUNqQixJQUFJO1lBQ0YsTUFBTUMsTUFBTSxJQUFJQyxJQUFJRixNQUFNRyxJQUFJO1lBQzlCLE1BQU1DLE1BQU1ULGdCQUFnQlUsSUFBSSxDQUFDSixJQUFJSyxRQUFRO1lBQzdDLElBQUlGLEtBQUs7b0JBQ1NHLHNDQUFBQTtnQkFBaEIsTUFBTUMsVUFBQUEsQ0FBVUQsK0JBQUFBLDZEQUEyQixzQkFBM0JBLHVDQUFBQSw2QkFDWkksT0FBTyxDQUFDLE9BQU8seUJBREhKLHFDQUVaSSxPQUFPLENBQUMsT0FBTztnQkFDbkIsSUFBSUgsU0FBUztvQkFDWFIsTUFBTUcsSUFBSSxHQUFHLFlBQVlLLFFBQVFJLE1BQU0sQ0FBQ1IsSUFBSVMsR0FBRyxNQUFPWixJQUFJYSxNQUFNO2dCQUNsRTtZQUNGO1FBQ0YsRUFBRSxPQUFBQyxHQUFNLENBQUM7UUFDVCxPQUFPZjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlU3RhY2sudHM/YWQwMyJdLCJuYW1lcyI6WyJwYXJzZVN0YWNrIiwicmVnZXhOZXh0U3RhdGljIiwic3RhY2siLCJmcmFtZXMiLCJwYXJzZSIsIm1hcCIsImZyYW1lIiwidXJsIiwiVVJMIiwiZmlsZSIsInJlcyIsImV4ZWMiLCJwYXRobmFtZSIsInByb2Nlc3MiLCJkaXN0RGlyIiwiZW52IiwiX19ORVhUX0RJU1RfRElSIiwicmVwbGFjZSIsImNvbmNhdCIsInBvcCIsInNlYXJjaCIsImUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js ***! - \**************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RuntimeErrorHandler\", ({\n enumerable: true,\n get: function() {\n return RuntimeErrorHandler;\n }\n}));\nconst RuntimeErrorHandler = {\n hadRuntimeError: false\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=runtime-error-handler.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcnVudGltZS1lcnJvci1oYW5kbGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBQWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHNCQUFzQjtJQUNqQ0MsaUJBQWlCO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ydW50aW1lLWVycm9yLWhhbmRsZXIudHM/ODk1MSJdLCJuYW1lcyI6WyJSdW50aW1lRXJyb3JIYW5kbGVyIiwiaGFkUnVudGltZUVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js ***! - \****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getFrameSource: function() {\n return getFrameSource;\n },\n getOriginalStackFrames: function() {\n return getOriginalStackFrames;\n }\n});\nfunction getOriginalStackFrame(source, type, isAppDir, errorMessage) {\n var _source_file, _source_file1;\n async function _getOriginalStackFrame() {\n var /* collapsed */ _source_file, _body_originalStackFrame_file, _body_originalStackFrame, _body_originalStackFrame_file1, _body_originalStackFrame1;\n const params = new URLSearchParams();\n params.append(\"isServer\", String(type === \"server\"));\n params.append(\"isEdgeServer\", String(type === \"edge-server\"));\n params.append(\"isAppDirectory\", String(isAppDir));\n params.append(\"errorMessage\", errorMessage);\n for(const key in source){\n var _source_key;\n params.append(key, ((_source_key = source[key]) != null ? _source_key : \"\").toString());\n }\n const controller = new AbortController();\n const tm = setTimeout(()=>controller.abort(), 3000);\n const res = await self.fetch(( false || \"\") + \"/__nextjs_original-stack-frame?\" + params.toString(), {\n signal: controller.signal\n }).finally(()=>{\n clearTimeout(tm);\n });\n if (!res.ok || res.status === 204) {\n return Promise.reject(new Error(await res.text()));\n }\n const body = await res.json();\n var _ref;\n return {\n error: false,\n reason: null,\n external: false,\n expanded: !Boolean((_ref = ((_source_file = source.file) == null ? void 0 : _source_file.includes(\"node_modules\")) || ((_body_originalStackFrame = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file = _body_originalStackFrame.file) == null ? void 0 : _body_originalStackFrame_file.includes(\"node_modules\")) || ((_body_originalStackFrame1 = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file1 = _body_originalStackFrame1.file) == null ? void 0 : _body_originalStackFrame_file1.startsWith(\"[turbopack]/\"))) != null ? _ref : true),\n sourceStackFrame: source,\n originalStackFrame: body.originalStackFrame,\n originalCodeFrame: body.originalCodeFrame || null,\n sourcePackage: body.sourcePackage\n };\n }\n if (source.file === \"<anonymous>\" || ((_source_file = source.file) == null ? void 0 : _source_file.match(/^node:/)) || ((_source_file1 = source.file) == null ? void 0 : _source_file1.match(/https?:\\/\\//))) {\n return Promise.resolve({\n error: false,\n reason: null,\n external: true,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null,\n sourcePackage: null\n });\n }\n return _getOriginalStackFrame().catch((err)=>{\n var _err_message, _ref;\n return {\n error: true,\n reason: (_ref = (_err_message = err == null ? void 0 : err.message) != null ? _err_message : err == null ? void 0 : err.toString()) != null ? _ref : \"Unknown Error\",\n external: false,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null,\n sourcePackage: null\n };\n });\n}\nfunction getOriginalStackFrames(frames, type, isAppDir, errorMessage) {\n return Promise.all(frames.map((frame)=>getOriginalStackFrame(frame, type, isAppDir, errorMessage)));\n}\nconst webpackRegExes = [\n /^webpack-internal:\\/\\/\\/(\\.)?(\\((\\w+)\\))?/,\n /^(webpack:\\/\\/\\/(\\.)?|webpack:\\/\\/(_N_E\\/)?)(\\((\\w+)\\))?/\n];\nfunction isWebpackBundled(file) {\n return webpackRegExes.some((regEx)=>regEx.test(file));\n}\n/**\n * Format the webpack internal id to original file path\n * webpack-internal:///./src/hello.tsx => ./src/hello.tsx\n * webpack://_N_E/./src/hello.tsx => ./src/hello.tsx\n * webpack://./src/hello.tsx => ./src/hello.tsx\n * webpack:///./src/hello.tsx => ./src/hello.tsx\n */ function formatFrameSourceFile(file) {\n for (const regex of webpackRegExes)file = file.replace(regex, \"\");\n return file;\n}\nfunction getFrameSource(frame) {\n if (!frame.file) return \"\";\n let str = \"\";\n try {\n var _globalThis_location;\n const u = new URL(frame.file);\n // Strip the origin for same-origin scripts.\n if (((_globalThis_location = globalThis.location) == null ? void 0 : _globalThis_location.origin) !== u.origin) {\n // URLs can be valid without an `origin`, so long as they have a\n // `protocol`. However, `origin` is preferred.\n if (u.origin === \"null\") {\n str += u.protocol;\n } else {\n str += u.origin;\n }\n }\n // Strip query string information as it's typically too verbose to be\n // meaningful.\n str += u.pathname;\n str += \" \";\n str = formatFrameSourceFile(str);\n } catch (e) {\n str += formatFrameSourceFile(frame.file || \"(unknown)\") + \" \";\n }\n if (!isWebpackBundled(frame.file) && frame.lineNumber != null) {\n if (frame.column != null) {\n str += \"(\" + frame.lineNumber + \":\" + frame.column + \") \";\n } else {\n str += \"(\" + frame.lineNumber + \") \";\n }\n }\n return str.slice(0, -1);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=stack-frame.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvc3RhY2stZnJhbWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNkhnQkEsZ0JBQWM7ZUFBZEE7O0lBbENBQyx3QkFBc0I7ZUFBdEJBOzs7QUFoRmhCLFNBQVNDLHNCQUNQQyxNQUFrQixFQUNsQkMsSUFBcUMsRUFDckNDLFFBQWlCLEVBQ2pCQyxZQUFvQjtRQWlEbEJILGNBQ0FBO0lBaERGLGVBQWVJO1lBZ0NULGFBQWEsR0FDWkosY0FDQ0ssK0JBQUFBLDBCQUNBQSxnQ0FBQUE7UUFsQ04sTUFBTUMsU0FBUyxJQUFJQztRQUNuQkQsT0FBT0UsTUFBTSxDQUFDLFlBQVlDLE9BQU9SLFNBQVM7UUFDMUNLLE9BQU9FLE1BQU0sQ0FBQyxnQkFBZ0JDLE9BQU9SLFNBQVM7UUFDOUNLLE9BQU9FLE1BQU0sQ0FBQyxrQkFBa0JDLE9BQU9QO1FBQ3ZDSSxPQUFPRSxNQUFNLENBQUMsZ0JBQWdCTDtRQUM5QixJQUFLLE1BQU1PLE9BQU9WLE9BQVE7Z0JBQ0pXO1lBQXBCTCxPQUFPRSxNQUFNLENBQUNFLEtBQUssQ0FBQyxDQUFBQyxjQUFBWCxNQUFlLENBQUNVLElBQUksWUFBcEJDLGNBQXdCLElBQUlDLFFBQVE7UUFDMUQ7UUFFQSxNQUFNQyxhQUFhLElBQUlDO1FBQ3ZCLE1BQU1DLEtBQUtDLFdBQVcsSUFBTUgsV0FBV0ksS0FBSyxJQUFJO1FBQ2hELE1BQU1DLE1BQU0sTUFBTUMsS0FDZkMsS0FBSyxDQUNKLENBQ0VDLE1BQWtDLElBQUksTUFDdkMsb0NBQWlDZixPQUFPTSxRQUFRLElBQ2pEO1lBQUVZLFFBQVFYLFdBQVdXLE1BQU07UUFBQyxHQUU3QkMsT0FBTyxDQUFDO1lBQ1BDLGFBQWFYO1FBQ2Y7UUFDRixJQUFJLENBQUNHLElBQUlTLEVBQUUsSUFBSVQsSUFBSVUsTUFBTSxLQUFLLEtBQUs7WUFDakMsT0FBT0Ms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TUFBTSxLQUFLLFFBQVE7Z0JBQ3ZCTCxPQUFPRSxFQUFFSSxRQUFRO1lBQ25CLE9BQU87Z0JBQ0xOLE9BQU9FLEVBQUVHLE1BQU07WUFDakI7UUFDRjtRQUVBLHFFQUFxRTtRQUNyRSxjQUFjO1FBQ2RMLE9BQU9FLEVBQUVLLFFBQVE7UUFDakJQLE9BQU87UUFDUEEsTUFBTUgsc0JBQXNCRztJQUM5QixFQUFFLE9BQUFRLEdBQU07UUFDTlIsT0FBT0gsc0JBQXNCTixNQUFNZixJQUFJLElBQUksZUFBZTtJQUM1RDtJQUVBLElBQUksQ0FBQ2lCLGlCQUFpQkYsTUFBTWYsSUFBSSxLQUFLZSxNQUFNa0IsVUFBVSxJQUFJLE1BQU07UUFDN0QsSUFBSWxCLE1BQU1tQixNQUFNLElBQUksTUFBTTtZQUN4QlYsT0FBTyxNQUFJVCxNQUFNa0IsVUFBVSxHQUFDLE1BQUdsQixNQUFNbUIsTUFBTSxHQUFDO1FBQzlDLE9BQU87WUFDTFYsT0FBTyxNQUFJVCxNQUFNa0IsVUFBVSxHQUFDO1FBQzlCO0lBQ0Y7SUFDQSxPQUFPVCxJQUFJVyxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9zdGFjay1mcmFtZS50cz8yOGI4Il0sIm5hbWVzIjpbImdldEZyYW1lU291cmNlIiwiZ2V0T3JpZ2luYWxTdGFja0ZyYW1lcyIsImdldE9yaWdpbmFsU3RhY2tGcmFtZSIsInNvdXJjZSIsInR5cGUiLCJpc0FwcERpciIsImVycm9yTWVzc2FnZSIsIl9nZXRPcmlnaW5hbFN0YWNrRnJhbWUiLCJib2R5IiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiU3RyaW5nIiwia2V5IiwiX3NvdXJjZV9rZXkiLCJ0b1N0cmluZyIsImNvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJ0bSIsInNldFRpbWVvdXQiLCJhYm9ydCIsInJlcyIsInNlbGYiLCJmZXRjaCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwic2lnbmFsIiwiZmluYWxseSIsImNsZWFyVGltZW91dCIsIm9rIiwic3RhdHVzIiwiUHJvbWlzZSIsInJlamVjdCIsIkVycm9yIiwidGV4dCIsImpzb24iLCJlcnJvciIsInJlYXNvbiIsImV4dGVybmFsIiwiZXhwYW5kZWQiLCJCb29sZWFuIiwiZmlsZSIsImluY2x1ZGVzIiwib3JpZ2luYWxTdGFja0ZyYW1lIiwic3RhcnRzV2l0aCIsInNvdXJjZVN0YWNrRnJhbWUiLCJvcmlnaW5hbENvZGVGcmFtZSIsInNvdXJjZVBhY2thZ2UiLCJtYXRjaCIsInJlc29sdmUiLCJjYXRjaCIsImVyciIsIm1lc3NhZ2UiLCJmcmFtZXMiLCJhbGwiLCJtYXAiLCJmcmFtZSIsIndlYnBhY2tSZWdFeGVzIiwiaXNXZWJwYWNrQnVuZGxlZCIsInNvbWUiLCJyZWdFeCIsInRlc3QiLCJmb3JtYXRGcmFtZVNvdXJjZUZpbGUiLCJyZWdleCIsInJlcGxhY2UiLCJzdHIiLCJnbG9iYWxUaGlzIiwidSIsIlVSTCIsImxvY2F0aW9uIiwib3JpZ2luIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOpenInEditor\", ({\n enumerable: true,\n get: function() {\n return useOpenInEditor;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nfunction useOpenInEditor(param) {\n let { file, lineNumber, column } = param === void 0 ? {} : param;\n const openInEditor = (0, _react.useCallback)(()=>{\n if (file == null || lineNumber == null || column == null) return;\n const params = new URLSearchParams();\n params.append(\"file\", file);\n params.append(\"lineNumber\", String(lineNumber));\n params.append(\"column\", String(column));\n self.fetch(( false || \"\") + \"/__nextjs_launch-editor?\" + params.toString()).then(()=>{}, ()=>{\n console.error(\"There was an issue opening this code in your editor.\");\n });\n }, [\n file,\n lineNumber,\n column\n ]);\n return openInEditor;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-open-in-editor.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBRWdCQTs7O2VBQUFBOzs7bUNBRlk7QUFFckIsU0FBU0EsZ0JBQWdCQyxLQUFBO0lBQUEsTUFDOUJDLElBQUksRUFDSkMsVUFBVSxFQUNWQyxNQUFNLEVBS1AsR0FSK0JILFVBQUEsU0FRNUIsQ0FBQyxJQVIyQkE7SUFTOUIsTUFBTUksZUFBZUMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQy9CLElBQUlKLFFBQVEsUUFBUUMsY0FBYyxRQUFRQyxVQUFVLE1BQU07UUFFMUQsTUFBTUcsU0FBUyxJQUFJQztRQUNuQkQsT0FBT0UsTUFBTSxDQUFDLFFBQVFQO1FBQ3RCSyxPQUFPRSxNQUFNLENBQUMsY0FBY0MsT0FBT1A7UUFDbkNJLE9BQU9FLE1BQU0sQ0FBQyxVQUFVQyxPQUFPTjtRQUUvQk8sS0FDR0MsS0FBSyxDQUNKLENBQ0VDLE1BQWtDLElBQUksTUFDdkMsNkJBQTBCTixPQUFPUyxRQUFRLElBRTNDQyxJQUFJLENBQ0gsS0FBTyxHQUNQO1lBQ0VDLFFBQVFDLEtBQUssQ0FBQztRQUNoQjtJQUVOLEdBQUc7UUFBQ2pCO1FBQU1DO1FBQVlDO0tBQU87SUFFN0IsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yLnRzPzNkNzYiXSwibmFtZXMiOlsidXNlT3BlbkluRWRpdG9yIiwicGFyYW0iLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsIm9wZW5JbkVkaXRvciIsInVzZUNhbGxiYWNrIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiU3RyaW5nIiwic2VsZiIsImZldGNoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJ0b1N0cmluZyIsInRoZW4iLCJjb25zb2xlIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOnClickOutside\", ({\n enumerable: true,\n get: function() {\n return useOnClickOutside;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nfunction useOnClickOutside(el, handler) {\n _s();\n _react.useEffect(()=>{\n if (el == null || handler == null) {\n return;\n }\n const listener = (e)=>{\n // Do nothing if clicking ref's element or descendent elements\n if (!el || el.contains(e.target)) {\n return;\n }\n handler(e);\n };\n const root = el.getRootNode();\n root.addEventListener(\"mousedown\", listener);\n root.addEventListener(\"touchstart\", listener);\n return function() {\n root.removeEventListener(\"mousedown\", listener);\n root.removeEventListener(\"touchstart\", listener);\n };\n }, [\n handler,\n el\n ]);\n}\n_s(useOnClickOutside, \"OD7bBpZva5O2jO+Puf00hKivP7c=\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-on-click-outside.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hvb2tzL3VzZS1vbi1jbGljay1vdXRzaWRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztxREFFZ0JBOzs7ZUFBQUE7Ozs7NkVBRk87QUFFaEIsU0FBU0Esa0JBQ2RDLEVBQWUsRUFDZkMsT0FBMkQ7O0lBRTNEQyxPQUFNQyxTQUFTLENBQUM7UUFDZCxJQUFJSCxNQUFNLFFBQVFDLFdBQVcsTUFBTTtZQUNqQztRQUNGO1FBRUEsTUFBTUcsV0FBVyxDQUFDQztZQUNoQiw4REFBOEQ7WUFDOUQsSUFBSSxDQUFDTCxNQUFNQSxHQUFHTSxRQUFRLENBQUNELEVBQUVFLE1BQU0sR0FBYztnQkFDM0M7WUFDRjtZQUVBTixRQUFRSTtRQUNWO1FBRUEsTUFBTUcsT0FBT1IsR0FBR1MsV0FBVztRQUMzQkQsS0FBS0UsZ0JBQWdCLENBQUMsYUFBYU47UUFDbkNJLEtBQUtFLGdCQUFnQixDQUFDLGNBQWNOO1FBQ3BDLE9BQU87WUFDTEksS0FBS0csbUJBQW1CLENBQUMsYUFBYVA7WUFDdENJLEtBQUtHLG1CQUFtQixDQUFDLGNBQWNQO1FBQ3pDO0lBQ0YsR0FBRztRQUFDSDtRQUFTRDtLQUFHO0FBQ2xCO0dBMUJnQkQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9ob29rcy91c2Utb24tY2xpY2stb3V0c2lkZS50cz84ZWU1Il0sIm5hbWVzIjpbInVzZU9uQ2xpY2tPdXRzaWRlIiwiZWwiLCJoYW5kbGVyIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJsaXN0ZW5lciIsImUiLCJjb250YWlucyIsInRhcmdldCIsInJvb3QiLCJnZXRSb290Tm9kZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js ***! - \************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CloseIcon\", ({\n enumerable: true,\n get: function() {\n return CloseIcon;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst CloseIcon = ()=>{\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 6L6 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6 6L18 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n });\n};\n_c = CloseIcon;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CloseIcon.js.map\nvar _c;\n$RefreshReg$(_c, \"CloseIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0Nsb3NlSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OzZDQTZCU0E7OztlQUFBQTs7Ozs7NkVBN0JjO0FBRXZCLE1BQU1BLFlBQVk7SUFDaEIsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUNDQyxPQUFNO1FBQ05DLFFBQU87UUFDUEMsU0FBUTtRQUNSQyxNQUFLO1FBQ0xDLE9BQU07OzBCQUVOLElBQUFQLFlBQUFRLEdBQUEsRUFBQ0MsUUFBQUE7Z0JBQ0NDLEdBQUU7Z0JBQ0ZDLFFBQU87Z0JBQ1BDLGFBQVk7Z0JBQ1pDLGVBQWM7Z0JBQ2RDLGdCQUFlOzswQkFFakIsSUFBQWQsWUFBQVEsR0FBQSxFQUFDQyxRQUFBQTtnQkFDQ0MsR0FBRTtnQkFDRkMsUUFBTztnQkFDUEMsYUFBWTtnQkFDWkMsZUFBYztnQkFDZEMsZ0JBQWU7Ozs7QUFJdkI7S0F6Qk1mIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaWNvbnMvQ2xvc2VJY29uLnRzeD8xOTdkIl0sIm5hbWVzIjpbIkNsb3NlSWNvbiIsIl9qc3hydW50aW1lIiwianN4cyIsInN2ZyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJ4bWxucyIsImpzeCIsInBhdGgiLCJkIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js ***! - \***************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CollapseIcon\", ({\n enumerable: true,\n get: function() {\n return CollapseIcon;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nfunction CollapseIcon(param) {\n let { collapsed } = param === void 0 ? {} : param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"svg\", {\n \"data-nextjs-call-stack-chevron-icon\": true,\n \"data-collapsed\": collapsed,\n fill: \"none\",\n height: \"20\",\n width: \"20\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"2\",\n viewBox: \"0 0 24 24\",\n ...typeof collapsed === \"boolean\" ? {\n style: {\n transform: collapsed ? undefined : \"rotate(90deg)\"\n }\n } : {},\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M9 18l6-6-6-6\"\n })\n });\n}\n_c = CollapseIcon;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CollapseIcon.js.map\nvar _c;\n$RefreshReg$(_c, \"CollapseIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0NvbGxhcHNlSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQUFnQkE7OztlQUFBQTs7OztBQUFULFNBQVNBLGFBQWFDLEtBQUE7SUFBQSxNQUFFQyxTQUFTLEVBQTJCLEdBQXRDRCxVQUFBLFNBQXlDLENBQUMsSUFBMUNBO0lBQzNCLE9BQ0UsV0FERixHQUNFLElBQUFFLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsdUNBQW1DO1FBQ25DQyxrQkFBZ0JMO1FBQ2hCTSxNQUFLO1FBQ0xDLFFBQU87UUFDUEMsT0FBTTtRQUNOQyxnQkFBZTtRQUNmQyxRQUFPO1FBQ1BDLGVBQWM7UUFDZEMsZ0JBQWU7UUFDZkMsYUFBWTtRQUNaQyxTQUFRO1FBR1AsR0FBSSxPQUFPZCxjQUFjLFlBQ3RCO1lBQUVlLE9BQU87Z0JBQUVDLFdBQVdoQixZQUFZaUIsWUFBWTtZQUFnQjtRQUFFLElBQ2hFLENBQUMsQ0FBQztrQkFFTixrQkFBQWhCLFlBQUFDLEdBQUEsRUFBQ2dCLFFBQUFBO1lBQUtDLEdBQUU7OztBQUdkO0tBdkJnQnJCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaWNvbnMvQ29sbGFwc2VJY29uLnRzeD8yNmRlIl0sIm5hbWVzIjpbIkNvbGxhcHNlSWNvbiIsInBhcmFtIiwiY29sbGFwc2VkIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJzdmciLCJkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWNoZXZyb24taWNvbiIsImRhdGEtY29sbGFwc2VkIiwiZmlsbCIsImhlaWdodCIsIndpZHRoIiwic2hhcGVSZW5kZXJpbmciLCJzdHJva2UiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJzdHJva2VXaWR0aCIsInZpZXdCb3giLCJzdHlsZSIsInRyYW5zZm9ybSIsInVuZGVmaW5lZCIsInBhdGgiLCJkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js ***! - \****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"FrameworkIcon\", ({\n enumerable: true,\n get: function() {\n return FrameworkIcon;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nfunction FrameworkIcon(param) {\n let { framework } = param;\n if (framework === \"react\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"react\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 410 369\",\n fill: \"none\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"5\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M204.995 224.552C226.56 224.552 244.042 207.07 244.042 185.506C244.042 163.941 226.56 146.459 204.995 146.459C183.43 146.459 165.948 163.941 165.948 185.506C165.948 207.07 183.43 224.552 204.995 224.552Z\",\n fill: \"currentColor\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M409.99 184.505C409.99 153.707 381.437 126.667 335.996 108.925C343.342 60.6535 334.19 22.3878 307.492 6.98883C283.649 -6.77511 250.631 -0.0395641 214.512 25.9753C211.316 28.2692 208.143 30.7097 204.97 33.2477C201.822 30.7097 198.65 28.2692 195.477 25.9753C159.359 -0.0395641 126.34 -6.79951 102.497 6.98883C75.8237 22.3878 66.6721 60.6291 74.0422 108.852C28.5529 126.618 0 153.682 0 184.505C0 215.303 28.5528 242.342 73.9934 260.084C66.6477 308.356 75.7993 346.621 102.497 362.02C110.575 366.682 119.727 369 129.684 369C149.085 369 171.61 360.215 195.477 343.034C198.674 340.74 201.847 338.3 205.019 335.762C208.167 338.3 211.34 340.74 214.512 343.034C238.38 360.239 260.905 369 280.306 369C290.263 369 299.415 366.682 307.492 362.02C331.335 348.256 342 316.287 337.534 271.993C337.143 268.089 336.631 264.135 335.996 260.109C381.461 242.367 409.99 215.327 409.99 184.505ZM225.934 41.8136C246.238 27.1955 265.127 19.5814 280.306 19.5814C286.871 19.5814 292.728 20.9968 297.731 23.8765C315.204 33.9798 322.672 62.9475 317.327 102.433C299.756 97.0401 280.306 92.9158 259.392 90.2802C246.872 73.8074 233.597 58.9453 220.003 46.2551C221.98 44.7421 223.957 43.229 225.934 41.8136ZM112.259 23.8765C117.262 20.9968 123.119 19.5814 129.684 19.5814C144.863 19.5814 163.752 27.1711 184.056 41.8136C186.033 43.229 188.01 44.7176 189.986 46.2551C176.393 58.9453 163.142 73.783 150.622 90.2558C129.732 92.8914 110.258 97.0401 92.687 102.409C87.3424 62.9475 94.7857 33.9798 112.259 23.8765ZM19.5233 184.505C19.5233 164.322 40.9014 143.359 77.776 128.253C81.9003 146.141 88.0502 165.054 96.1768 184.456C88.0014 203.881 81.8515 222.819 77.7272 240.732C40.9014 225.626 19.5233 204.687 19.5233 184.505ZM184.056 327.196C154.966 348.134 128.805 354.675 112.259 345.133C94.7857 335.029 87.3181 306.062 92.6626 266.576C110.234 271.969 129.684 276.093 150.598 278.729C163.117 295.202 176.393 310.064 189.986 322.754C188.01 324.292 186.033 325.78 184.056 327.196ZM204.995 310.04C180.591 287.685 157.138 257.815 137.347 223.551C132.051 214.4 121.344 191.396 117 182.489C113.535 190.786 110.112 198.398 107.427 206.5C109.623 210.575 118.092 229.213 120.434 233.288C125.071 241.317 129.928 249.127 134.931 256.692C120.898 254.227 107.915 251.055 96.1035 247.321C102.815 217.011 116.213 182.064 137.347 145.458C142.545 136.453 153.838 116.346 159.5 108C150.568 109.147 143.395 108.767 135 110.5C132.56 114.453 122.777 131.645 120.434 135.721C115.749 143.823 111.454 151.925 107.427 159.978C102.546 146.581 98.8124 133.744 96.1524 121.64C125.755 112.293 162.727 106.411 204.995 106.411C215.562 106.411 237.63 106.197 247.49 106.905C242.048 99.7544 237.38 93.2819 231.694 86.888C227.082 86.7416 209.705 86.888 204.995 86.888C195.672 86.888 186.545 87.2053 177.589 87.7422C186.472 77.1752 195.672 67.5111 204.995 58.9697C229.375 81.3239 252.851 111.195 272.643 145.458C277.841 154.463 289.073 175.426 293.49 184.505C296.98 176.207 300.281 168.64 302.99 160.489C300.793 156.389 291.898 139.747 289.555 135.696C284.918 127.667 280.062 119.858 275.059 112.317C289.092 114.782 302.075 117.954 313.886 121.688C307.175 151.998 293.777 186.945 272.643 223.551C267.445 232.556 252.651 253.178 246.99 261.524C255.922 260.377 265.595 258.663 273.99 256.93C276.43 252.976 287.212 237.364 289.555 233.288C294.216 225.235 298.512 217.182 302.489 209.153C307.224 222.185 310.982 234.997 313.715 247.394C284.138 256.741 247.214 262.598 204.995 262.598C194.428 262.598 169.859 261.208 160 260.5C165.442 267.65 171.304 275.095 176.99 281.489C181.602 281.635 200.285 282.121 204.995 282.121C214.317 282.121 223.444 281.804 232.401 281.267C223.493 291.834 214.317 301.498 204.995 310.04ZM297.731 345.133C281.185 354.699 254.999 348.159 225.934 327.196C223.957 325.78 221.98 324.292 220.003 322.754C233.597 310.064 246.848 295.226 259.367 278.753C280.233 276.118 299.659 271.993 317.205 266.625C317.547 269.089 317.888 271.554 318.132 273.97C321.72 309.649 314.277 335.566 297.731 345.133ZM332.262 240.756C328.065 222.599 321.842 203.686 313.813 184.578C321.988 165.152 328.138 146.215 332.262 128.302C369.088 143.408 390.466 164.322 390.466 184.505C390.466 204.687 369.113 225.626 332.262 240.756Z\",\n fill: \"currentColor\"\n })\n ]\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"next\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 180 180\",\n fill: \"none\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"mask\", {\n id: \"mask0_408_139\",\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"180\",\n height: \"180\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"90\",\n fill: \"black\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"g\", {\n mask: \"url(#mask0_408_139)\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"87\",\n fill: \"black\",\n stroke: \"white\",\n strokeWidth: \"6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z\",\n fill: \"url(#paint0_linear_408_139)\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"rect\", {\n x: \"115\",\n y: \"54\",\n width: \"12\",\n height: \"72\",\n fill: \"url(#paint1_linear_408_139)\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"defs\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint0_linear_408_139\",\n x1: \"109\",\n y1: \"116.5\",\n x2: \"144.5\",\n y2: \"160.5\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint1_linear_408_139\",\n x1: \"121\",\n y1: \"54\",\n x2: \"120.799\",\n y2: \"106.875\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n })\n ]\n })\n ]\n });\n}\n_c = FrameworkIcon;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=FrameworkIcon.js.map\nvar _c;\n$RefreshReg$(_c, \"FrameworkIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0ZyYW1ld29ya0ljb24uanMiLCJtYXBwaW5ncyI6Ijs7OztpREFFZ0JBOzs7ZUFBQUE7Ozs7QUFBVCxTQUFTQSxjQUFjQyxLQUk3QjtJQUo2QixNQUM1QkMsU0FBUyxFQUdWLEdBSjZCRDtJQUs1QixJQUFJQyxjQUFjLFNBQVM7UUFDekIsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtZQUNDQyx5Q0FBc0M7WUFDdENDLE9BQU07WUFDTkMsT0FBTTtZQUNOQyxRQUFPO1lBQ1BDLFNBQVE7WUFDUkMsTUFBSztZQUNMQyxnQkFBZTtZQUNmQyxRQUFPO1lBQ1BDLGVBQWM7WUFDZEMsZ0JBQWU7WUFDZkMsYUFBWTs7OEJBRVosSUFBQWIsWUFBQWMsR0FBQSxFQUFDQyxRQUFBQTtvQkFDQ0MsR0FBRTtvQkFDRlIsTUFBSzs7OEJBRVAsSUFBQVIsWUFBQWMsR0FBQSxFQUFDQyxRQUFBQTtvQkFDQ0MsR0FBRTtvQkFDRlIsTUFBSzs7OztJQUliO0lBRUEsT0FDRSxXQURGLEdBQ0UsSUFBQVIsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUNDQyx5Q0FBc0M7UUFDdENDLE9BQU07UUFDTkMsT0FBTTtRQUNOQyxRQUFPO1FBQ1BDLFNBQVE7UUFDUkMsTUFBSzs7MEJBRUwsSUFBQVIsWUFBQWMsR0FBQSxFQUFDRyxRQUFBQTtnQkFDQ0MsSUFBRztnQkFDSEMsV0FBVTtnQkFDVkMsR0FBRTtnQkFDRkMsR0FBRTtnQkFDRmhCLE9BQU07Z0JBQ05DLFFBQU87MEJBRVAsa0JBQUFOLFlBQUFjLEdBQUEsRUFBQ1EsVUFBQUE7b0JBQU9DLElBQUc7b0JBQUtDLElBQUc7b0JBQUtDLEdBQUU7b0JBQUtqQixNQUFLOzs7MEJBRXRDLElBQUFSLFlBQUFDLElBQUEsRUFBQ3lCLEtBQUFBO2dCQUFFVCxNQUFLOztrQ0FDTixJQUFBakIsWUFBQWMsR0FBQSxFQUFDUSxVQUFBQTt3QkFDQ0MsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsR0FBRTt3QkFDRmpCLE1BQUs7d0JBQ0xFLFFBQU87d0JBQ1BHLGFBQVk7O2tDQUVkLElBQUFiLFlBQUFjLEdBQUEsRUFBQ0MsUUFBQUE7d0JBQ0NDLEdBQUU7d0JBQ0ZSLE1BQUs7O2tDQUVQLElBQUFSLFlBQUFjLEdBQUEsRUFBQ2EsUUFBQUE7d0JBQ0NQLEdBQUU7d0JBQ0ZDLEdBQUU7d0JBQ0ZoQixPQUFNO3dCQUNOQyxRQUFPO3dCQUNQRSxNQUFLOzs7OzBCQUdULElBQUFSLFlBQUFDLElBQUEsRUFBQzJCLFFBQUFBOztrQ0FDQyxJQUFBNUIsWUFBQUMsSUFBQSxFQUFDNEIsa0JBQUFBO3dCQUNDWCxJQUFHO3dCQUNIWSxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxlQUFjOzswQ0FFZCxJQUFBbEMsWUFBQWMsR0FBQSxFQUFDcUIsUUFBQUE7Z0NBQUtDLFdBQVU7OzBDQUNoQixJQUFBcEMsWUFBQWMsR0FBQSxFQUFDcUIsUUFBQUE7Z0NBQUtFLFFBQU87Z0NBQUlELFdBQVU7Z0NBQVFFLGFBQVk7Ozs7a0NBRWpELElBQUF0QyxZQUFBQyxJQUFBLEVBQUM0QixrQkFBQUE7d0JBQ0NYLElBQUc7d0JBQ0hZLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLGVBQWM7OzBDQUVkLElBQUFsQyxZQUFBYyxHQUFBLEVBQUNxQixRQUFBQTtnQ0FBS0MsV0FBVTs7MENBQ2hCLElBQUFwQyxZQUFBYyxHQUFBLEVBQUNxQixRQUFBQTtnQ0FBS0UsUUFBTztnQ0FBSUQsV0FBVTtnQ0FBUUUsYUFBWTs7Ozs7Ozs7QUFLekQ7S0FsR2dCekMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9pY29ucy9GcmFtZXdvcmtJY29uLnRzeD9jOTAwIl0sIm5hbWVzIjpbIkZyYW1ld29ya0ljb24iLCJwYXJhbSIsImZyYW1ld29yayIsIl9qc3hydW50aW1lIiwianN4cyIsInN2ZyIsImRhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWV3b3JrLWljb24iLCJ4bWxucyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJzaGFwZVJlbmRlcmluZyIsInN0cm9rZSIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInN0cm9rZVdpZHRoIiwianN4IiwicGF0aCIsImQiLCJtYXNrIiwiaWQiLCJtYXNrVW5pdHMiLCJ4IiwieSIsImNpcmNsZSIsImN4IiwiY3kiLCJyIiwiZyIsInJlY3QiLCJkZWZzIiwibGluZWFyR3JhZGllbnQiLCJ4MSIsInkxIiwieDIiLCJ5MiIsImdyYWRpZW50VW5pdHMiLCJzdG9wIiwic3RvcENvbG9yIiwib2Zmc2V0Iiwic3RvcE9wYWNpdHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js ***! - \********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Base\", ({\n enumerable: true,\n get: function() {\n return Base;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n --size-gap-half: 4px;\\n --size-gap: 8px;\\n --size-gap-double: 16px;\\n --size-gap-triple: 24px;\\n --size-gap-quad: 32px;\\n\\n --size-font-small: 14px;\\n --size-font: 16px;\\n --size-font-big: 20px;\\n --size-font-bigger: 24px;\\n\\n --color-background: white;\\n --color-font: #757575;\\n --color-backdrop: rgba(17, 17, 17, 0.2);\\n\\n --color-title-color: #1f1f1f;\\n --color-stack-h6: #222;\\n --color-stack-headline: #666;\\n --color-stack-subline: #999;\\n --color-stack-notes: #777;\\n\\n --color-accents-1: #808080;\\n --color-accents-2: #222222;\\n --color-accents-3: #404040;\\n\\n --color-text-color-red-1: #ff5555;\\n --color-text-background-red-1: #fff9f9;\\n\\n --font-stack-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono',\\n Menlo, Courier, monospace;\\n --font-stack-sans: -apple-system, 'Source Sans Pro', sans-serif;\\n\\n --color-ansi-selection: rgba(95, 126, 151, 0.48);\\n --color-ansi-bg: #111111;\\n --color-ansi-fg: #cccccc;\\n\\n --color-ansi-white: #777777;\\n --color-ansi-black: #141414;\\n --color-ansi-blue: #00aaff;\\n --color-ansi-cyan: #88ddff;\\n --color-ansi-green: #98ec65;\\n --color-ansi-magenta: #aa88ff;\\n --color-ansi-red: #ff5555;\\n --color-ansi-yellow: #ffcc33;\\n --color-ansi-bright-white: #ffffff;\\n --color-ansi-bright-black: #777777;\\n --color-ansi-bright-blue: #33bbff;\\n --color-ansi-bright-cyan: #bbecff;\\n --color-ansi-bright-green: #b6f292;\\n --color-ansi-bright-magenta: #cebbff;\\n --color-ansi-bright-red: #ff8888;\\n --color-ansi-bright-yellow: #ffd966;\\n }\\n\\n @media (prefers-color-scheme: dark) {\\n :host {\\n --color-background: rgb(28, 28, 30);\\n --color-font: white;\\n --color-backdrop: rgb(44, 44, 46);\\n\\n --color-title-color: #fafafa;\\n --color-stack-h6: rgb(200, 200, 204);\\n --color-stack-headline: rgb(99, 99, 102);\\n --color-stack-notes: #a9a9a9;\\n --color-stack-subline: rgb(121, 121, 121);\\n\\n --color-accents-3: rgb(118, 118, 118);\\n\\n --color-text-background-red-1: #2a1e1e;\\n }\\n }\\n\\n .mono {\\n font-family: var(--font-stack-monospace);\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-bottom: var(--size-gap);\\n font-weight: 500;\\n line-height: 1.5;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction Base() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\n_c = Base;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Base.js.map\nvar _c;\n$RefreshReg$(_c, \"Base\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9CYXNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7d0NBR2dCQTs7O2VBQUFBOzs7Ozs7NkVBSE87MENBQ0s7Ozs7Ozs7Ozs7QUFFckIsU0FBU0E7SUFDZCxPQUNFLFdBREYsR0FDRSxJQUFBQyxZQUFBQyxHQUFBLEVBQUNDLFNBQUFBO3NCQUNFQyxjQUFBQSxJQUFHLEVBQUFDOztBQTJGVjtLQTlGZ0JMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvc3R5bGVzL0Jhc2UudHN4PzgwM2EiXSwibmFtZXMiOlsiQmFzZSIsIl9qc3hydW50aW1lIiwianN4Iiwic3R5bGUiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ComponentStyles\", ({\n enumerable: true,\n get: function() {\n return ComponentStyles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _styles = __webpack_require__(/*! ../components/CodeFrame/styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _styles1 = __webpack_require__(/*! ../components/LeftRightDialogHeader/styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nconst _styles2 = __webpack_require__(/*! ../components/Overlay/styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\");\nconst _styles3 = __webpack_require__(/*! ../components/Terminal/styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _BuildError = __webpack_require__(/*! ../container/BuildError */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../container/Errors */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _RuntimeError = __webpack_require__(/*! ../container/RuntimeError */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction ComponentStyles() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject(), _styles2.styles, _Toast.styles, _Dialog.styles, _styles1.styles, _styles.styles, _styles3.styles, _BuildError.styles, _Errors.styles, _RuntimeError.styles, _VersionStalenessInfo.styles)\n });\n}\n_c = ComponentStyles;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ComponentStyles.js.map\nvar _c;\n$RefreshReg$(_c, \"ComponentStyles\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Db21wb25lbnRTdHlsZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFZZ0JBOzs7ZUFBQUE7Ozs7O29DQVpvQjtvQ0FDSDtxQ0FDZTtxQ0FDZDtxQ0FDQzttQ0FDSDtrREFDVzt3Q0FDQTtvQ0FDSTswQ0FDTzswQ0FDMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLFNBQVNBO0lBQ2QsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsR0FBQSxFQUFDQyxTQUFBQTtzQkFDRUMsY0FBQUEsSUFBRyxFQUFBQyxtQkFDQUMsU0FBQUEsTUFBTyxFQUNQQyxPQUFBQSxNQUFLLEVBQ0xDLFFBQUFBLE1BQU0sRUFDTkMsU0FBQUEsTUFBcUIsRUFDckJDLFFBQUFBLE1BQVMsRUFDVEMsU0FBQUEsTUFBUSxFQUNSQyxZQUFBQSxNQUFnQixFQUNoQkMsUUFBQUEsTUFBb0IsRUFDcEJDLGNBQUFBLE1BQTJCLEVBQzNCQyxzQkFBQUEsTUFBZ0I7O0FBSTFCO0tBakJnQmYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9zdHlsZXMvQ29tcG9uZW50U3R5bGVzLnRzeD84ZGJhIl0sIm5hbWVzIjpbIkNvbXBvbmVudFN0eWxlcyIsIl9qc3hydW50aW1lIiwianN4Iiwic3R5bGUiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiLCJvdmVybGF5IiwidG9hc3QiLCJkaWFsb2ciLCJsZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJjb2RlRnJhbWUiLCJ0ZXJtaW5hbCIsImJ1aWxkRXJyb3JTdHlsZXMiLCJjb250YWluZXJFcnJvclN0eWxlcyIsImNvbnRhaW5lclJ1bnRpbWVFcnJvclN0eWxlcyIsInZlcnNpb25TdGFsZW5lc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js ***! - \************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CssReset\", ({\n enumerable: true,\n get: function() {\n return CssReset;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n all: initial;\\n\\n /* the direction property is not reset by 'all' */\\n direction: ltr;\\n }\\n\\n /*!\\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\\n * Copyright 2011-2019 The Bootstrap Authors\\n * Copyright 2011-2019 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\\n */\\n *,\\n *::before,\\n *::after {\\n box-sizing: border-box;\\n }\\n\\n :host {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n }\\n\\n article,\\n aside,\\n figcaption,\\n figure,\\n footer,\\n header,\\n hgroup,\\n main,\\n nav,\\n section {\\n display: block;\\n }\\n\\n :host {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,\\n 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\\n 'Noto Color Emoji';\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 1.5;\\n color: var(--color-font);\\n text-align: left;\\n background-color: #fff;\\n }\\n\\n [tabindex='-1']:focus:not(:focus-visible) {\\n outline: 0 !important;\\n }\\n\\n hr {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible;\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-top: 0;\\n margin-bottom: 8px;\\n }\\n\\n p {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n abbr[title],\\n abbr[data-original-title] {\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none;\\n }\\n\\n address {\\n margin-bottom: 16px;\\n font-style: normal;\\n line-height: inherit;\\n }\\n\\n ol,\\n ul,\\n dl {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n ol ol,\\n ul ul,\\n ol ul,\\n ul ol {\\n margin-bottom: 0;\\n }\\n\\n dt {\\n font-weight: 700;\\n }\\n\\n dd {\\n margin-bottom: 8px;\\n margin-left: 0;\\n }\\n\\n blockquote {\\n margin: 0 0 16px;\\n }\\n\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n\\n small {\\n font-size: 80%;\\n }\\n\\n sub,\\n sup {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline;\\n }\\n\\n sub {\\n bottom: -0.25em;\\n }\\n\\n sup {\\n top: -0.5em;\\n }\\n\\n a {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n }\\n\\n a:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n }\\n\\n a:not([href]) {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n a:not([href]):hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n pre,\\n code,\\n kbd,\\n samp {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas,\\n 'Liberation Mono', 'Courier New', monospace;\\n font-size: 1em;\\n }\\n\\n pre {\\n margin-top: 0;\\n margin-bottom: 16px;\\n overflow: auto;\\n }\\n\\n figure {\\n margin: 0 0 16px;\\n }\\n\\n img {\\n vertical-align: middle;\\n border-style: none;\\n }\\n\\n svg {\\n overflow: hidden;\\n vertical-align: middle;\\n }\\n\\n table {\\n border-collapse: collapse;\\n }\\n\\n caption {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom;\\n }\\n\\n th {\\n text-align: inherit;\\n }\\n\\n label {\\n display: inline-block;\\n margin-bottom: 8px;\\n }\\n\\n button {\\n border-radius: 0;\\n }\\n\\n button:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n }\\n\\n input,\\n button,\\n select,\\n optgroup,\\n textarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n }\\n\\n button,\\n input {\\n overflow: visible;\\n }\\n\\n button,\\n select {\\n text-transform: none;\\n }\\n\\n select {\\n word-wrap: normal;\\n }\\n\\n button,\\n [type='button'],\\n [type='reset'],\\n [type='submit'] {\\n -webkit-appearance: button;\\n }\\n\\n button:not(:disabled),\\n [type='button']:not(:disabled),\\n [type='reset']:not(:disabled),\\n [type='submit']:not(:disabled) {\\n cursor: pointer;\\n }\\n\\n button::-moz-focus-inner,\\n [type='button']::-moz-focus-inner,\\n [type='reset']::-moz-focus-inner,\\n [type='submit']::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n }\\n\\n input[type='radio'],\\n input[type='checkbox'] {\\n box-sizing: border-box;\\n padding: 0;\\n }\\n\\n input[type='date'],\\n input[type='time'],\\n input[type='datetime-local'],\\n input[type='month'] {\\n -webkit-appearance: listbox;\\n }\\n\\n textarea {\\n overflow: auto;\\n resize: vertical;\\n }\\n\\n fieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n }\\n\\n legend {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: 8px;\\n font-size: 24px;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal;\\n }\\n\\n progress {\\n vertical-align: baseline;\\n }\\n\\n [type='number']::-webkit-inner-spin-button,\\n [type='number']::-webkit-outer-spin-button {\\n height: auto;\\n }\\n\\n [type='search'] {\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n }\\n\\n [type='search']::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n\\n ::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button;\\n }\\n\\n output {\\n display: inline-block;\\n }\\n\\n summary {\\n display: list-item;\\n cursor: pointer;\\n }\\n\\n template {\\n display: none;\\n }\\n\\n [hidden] {\\n display: none !important;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction CssReset() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\n_c = CssReset;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CssReset.js.map\nvar _c;\n$RefreshReg$(_c, \"CssReset\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Dc3NSZXNldC5qcyIsIm1hcHBpbmdzIjoiOzs7OzRDQUdnQkE7OztlQUFBQTs7Ozs7OzZFQUhPOzBDQUNLOzs7Ozs7Ozs7O0FBRXJCLFNBQVNBO0lBQ2QsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsR0FBQSxFQUFDQyxTQUFBQTtzQkFDRUMsY0FBQUEsSUFBRyxFQUFBQzs7QUFtV1Y7S0F0V2dCTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Dc3NSZXNldC50c3g/NjkwMiJdLCJuYW1lcyI6WyJDc3NSZXNldCIsIl9qc3hydW50aW1lIiwianN4Iiwic3R5bGUiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js ***! - \*******************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ErrorBoundary\", ({\n enumerable: true,\n get: function() {\n return ErrorBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nclass ErrorBoundary extends _react.PureComponent {\n static getDerivedStateFromError(error) {\n return {\n error\n };\n }\n componentDidCatch(error, // accidentally excluded in some versions.\n errorInfo) {\n this.props.onError(error, (errorInfo == null ? void 0 : errorInfo.componentStack) || null);\n if (!this.props.globalOverlay) {\n this.setState({\n error\n });\n }\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific the the `@types/react` version.\n render() {\n // The component has to be unmounted or else it would continue to error\n return this.state.error || this.props.globalOverlay && this.props.isMounted ? // we have to render the html shell otherwise the shadow root will not be able to attach\n this.props.globalOverlay ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {})\n ]\n }) : null : this.props.children;\n }\n constructor(...args){\n super(...args);\n this.state = {\n error: null\n };\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ErrorBoundary.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL0Vycm9yQm91bmRhcnkuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFVYUE7OztlQUFBQTs7Ozs7NkVBVlU7QUFVaEIsTUFBTUEsc0JBQXNCQyxPQUFNQyxhQUFhO0lBTXBELE9BQU9DLHlCQUF5QkMsS0FBWSxFQUFFO1FBQzVDLE9BQU87WUFBRUE7UUFBTTtJQUNqQjtJQUVBQyxrQkFDRUQsS0FBWSxFQUVaLDBDQUEwQztJQUMxQ0UsU0FBOEMsRUFDOUM7UUFDQSxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSixPQUFPRSxDQUFBQSxhQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxVQUFXRyxjQUFjLEtBQUk7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQ0YsS0FBSyxDQUFDRyxhQUFhLEVBQUU7WUFDN0IsSUFBSSxDQUFDQyxRQUFRLENBQUM7Z0JBQUVQO1lBQU07UUFDeEI7SUFDRjtJQUVBLDBJQUEwSTtJQUMxSVEsU0FBMEI7UUFDeEIsdUVBQXVFO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDQyxLQUFLLENBQUNULEtBQUssSUFDcEIsSUFBSSxDQUFDRyxLQUFLLENBQUNHLGFBQWEsSUFBSSxJQUFJLENBQUNILEtBQUssQ0FBQ08sU0FBUyxHQUVqRCx3RkFBd0Y7UUFDeEYsSUFBSSxDQUFDUCxLQUFLLENBQUNHLGFBQWEsR0FDdEIsV0FEc0IsR0FDdEIsSUFBQUssWUFBQUMsSUFBQSxFQUFDQyxRQUFBQTs7OEJBQ0MsSUFBQUYsWUFBQUcsR0FBQSxFQUFDQyxRQUFBQSxDQUFBQTs4QkFDRCxJQUFBSixZQUFBRyxHQUFBLEVBQUNFLFFBQUFBLENBQUFBOzthQUVELE9BRUosSUFBSSxDQUFDYixLQUFLLENBQUNjLFFBQVE7SUFFdkI7OzthQWxDQVIsS0FBQUEsR0FBUTtZQUFFVCxPQUFPO1FBQUs7O0FBbUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL0Vycm9yQm91bmRhcnkudHN4PzRjYjciXSwibmFtZXMiOlsiRXJyb3JCb3VuZGFyeSIsIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImVycm9yIiwiY29tcG9uZW50RGlkQ2F0Y2giLCJlcnJvckluZm8iLCJwcm9wcyIsIm9uRXJyb3IiLCJjb21wb25lbnRTdGFjayIsImdsb2JhbE92ZXJsYXkiLCJzZXRTdGF0ZSIsInJlbmRlciIsInN0YXRlIiwiaXNNb3VudGVkIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiaHRtbCIsImpzeCIsImhlYWQiLCJib2R5IiwiY2hpbGRyZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js ***! - \*********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return ReactDevOverlay;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _bus = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./bus */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js\"));\nconst _ShadowPortal = __webpack_require__(/*! ../internal/components/ShadowPortal */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ../internal/container/BuildError */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../internal/container/Errors */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _ErrorBoundary = __webpack_require__(/*! ./ErrorBoundary */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js\");\nconst _Base = __webpack_require__(/*! ../internal/styles/Base */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ../internal/styles/ComponentStyles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ../internal/styles/CssReset */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst shouldPreventDisplay = (errorType, preventType)=>{\n if (!preventType || !errorType) {\n return false;\n }\n return preventType.includes(errorType);\n};\nfunction ReactDevOverlay(param) {\n _s();\n let { children, preventDisplay, globalOverlay } = param;\n const [state, dispatch] = (0, _shared.useErrorOverlayReducer)();\n _react.useEffect(()=>{\n _bus.on(dispatch);\n return function() {\n _bus.off(dispatch);\n };\n }, [\n dispatch\n ]);\n const onComponentError = _react.useCallback((_error, _componentStack)=>{\n // TODO: special handling\n }, []);\n const hasBuildError = state.buildError != null;\n const hasRuntimeErrors = Boolean(state.errors.length);\n const errorType = hasBuildError ? \"build\" : hasRuntimeErrors ? \"runtime\" : null;\n const isMounted = errorType !== null;\n const displayPrevented = shouldPreventDisplay(errorType, preventDisplay);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ErrorBoundary.ErrorBoundary, {\n globalOverlay: globalOverlay,\n isMounted: isMounted,\n onError: onComponentError,\n children: children != null ? children : null\n }),\n isMounted ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ShadowPortal.ShadowPortal, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CssReset.CssReset, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Base.Base, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStyles.ComponentStyles, {}),\n displayPrevented ? null : hasBuildError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : hasRuntimeErrors ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: false,\n errors: state.errors,\n versionInfo: state.versionInfo,\n initialDisplayState: \"fullscreen\"\n }) : undefined\n ]\n }) : undefined\n ]\n });\n}\n_s(ReactDevOverlay, \"yiU6D4sMPUxEaIlbYMKpxnTQY+U=\");\n_c = ReactDevOverlay;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ReactDevOverlay.js.map\nvar _c;\n$RefreshReg$(_c, \"ReactDevOverlay\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL1JlYWN0RGV2T3ZlcmxheS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MkNBOEJBOzs7ZUFBd0JBOzs7Ozs2RUE5QkQ7MkVBRUY7MENBQ1E7d0NBQ0Y7b0NBQ0o7MkNBQ087a0NBQ1Q7NkNBQ1c7c0NBQ1A7b0NBQ2M7QUFJdkMsTUFBTUMsdUJBQXVCLENBQzNCQyxXQUNBQztJQUVBLElBQUksQ0FBQ0EsZUFBZSxDQUFDRCxXQUFXO1FBQzlCLE9BQU87SUFDVDtJQUNBLE9BQU9DLFlBQVlDLFFBQVEsQ0FBQ0Y7QUFDOUI7QUFRZSxTQUFTRixnQkFBZ0JLLEtBSWpCOztJQUppQixNQUN0Q0MsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLGFBQWEsRUFDUSxHQUppQkg7SUFLdEMsTUFBTSxDQUFDSSxPQUFPQyxTQUFTLEdBQUdDLENBQUFBLEdBQUFBLFFBQUFBLHNCQUFzQjtJQUVoREMsT0FBTUMsU0FBUyxDQUFDO1FBQ2RDLEtBQUlDLEVBQUUsQ0FBQ0w7UUFDUCxPQUFPO1lBQ0xJLEtBQUlFLEdBQUcsQ0FBQ047UUFDVjtJQUNGLEdBQUc7UUFBQ0E7S0FBUztJQUViLE1BQU1PLG1CQUFtQkwsT0FBTU0sV0FBVyxDQUN4QyxDQUFDQyxRQUFlQztJQUNkLHlCQUF5QjtJQUMzQixHQUNBLEVBQUU7SUFHSixNQUFNQyxnQkFBZ0JaLE1BQU1hLFVBQVUsSUFBSTtJQUMxQyxNQUFNQyxtQkFBbUJDLFFBQVFmLE1BQU1nQixNQUFNLENBQUNDLE1BQU07SUFDcEQsTUFBTXhCLFlBQVltQixnQkFDZCxVQUNBRSxtQkFDQSxZQUNBO0lBQ0osTUFBTUksWUFBWXpCLGNBQWM7SUFFaEMsTUFBTTBCLG1CQUFtQjNCLHFCQUFxQkMsV0FBV0s7SUFFekQsT0FDRSxXQURGLEdBQ0UsSUFBQXNCLFlBQUFDLElBQUEsRUFBQUQsWUFBQUUsUUFBQTs7MEJBQ0UsSUFBQUYsWUFBQUcsR0FBQSxFQUFDQyxlQUFBQSxhQUFhO2dCQUNaekIsZUFBZUE7Z0JBQ2ZtQixXQUFXQTtnQkFDWE8sU0FBU2pCOzBCQUVSWCxZQUFBQSxPQUFBQSxXQUFZOztZQUVkcUIsWUFDQyxXQUREQSxHQUNDLElBQUFFLFlBQUFDLElBQUEsRUFBQ0ssY0FBQUEsWUFBWTs7a0NBQ1gsSUFBQU4sWUFBQUcsR0FBQSxFQUFDSSxVQUFBQSxRQUFRO2tDQUNULElBQUFQLFlBQUFHLEdBQUEsRUFBQ0ssTUFBQUEsSUFBSTtrQ0FDTCxJQUFBUixZQUFBRyxHQUFBLEVBQUNNLGlCQUFBQSxlQUFlO29CQUVmVixtQkFBbUIsT0FBT1AsZ0JBQ3pCLFdBRHlCQSxHQUN6QixJQUFBUSxZQUFBRyxHQUFBLEVBQUNPLFlBQUFBLFVBQVU7d0JBQ1RDLFNBQVMvQixNQUFNYSxVQUFVO3dCQUN6Qm1CLGFBQWFoQyxNQUFNZ0MsV0FBVzt5QkFFOUJsQixtQkFDRixXQURFQSxHQUNGLElBQUFNLFlBQUFHLEdBQUEsRUFBQ1UsUUFBQUEsTUFBTTt3QkFDTEMsVUFBVTt3QkFDVmxCLFFBQVFoQixNQUFNZ0IsTUFBTTt3QkFDcEJnQixhQUFhaEMsTUFBTWdDLFdBQVc7d0JBQzlCRyxxQkFBcUI7eUJBRXJCQzs7aUJBRUpBOzs7QUFHVjtHQWhFd0I3QztLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL1JlYWN0RGV2T3ZlcmxheS50c3g/ODliYyJdLCJuYW1lcyI6WyJSZWFjdERldk92ZXJsYXkiLCJzaG91bGRQcmV2ZW50RGlzcGxheSIsImVycm9yVHlwZSIsInByZXZlbnRUeXBlIiwiaW5jbHVkZXMiLCJwYXJhbSIsImNoaWxkcmVuIiwicHJldmVudERpc3BsYXkiLCJnbG9iYWxPdmVybGF5Iiwic3RhdGUiLCJkaXNwYXRjaCIsInVzZUVycm9yT3ZlcmxheVJlZHVjZXIiLCJSZWFjdCIsInVzZUVmZmVjdCIsIkJ1cyIsIm9uIiwib2ZmIiwib25Db21wb25lbnRFcnJvciIsInVzZUNhbGxiYWNrIiwiX2Vycm9yIiwiX2NvbXBvbmVudFN0YWNrIiwiaGFzQnVpbGRFcnJvciIsImJ1aWxkRXJyb3IiLCJoYXNSdW50aW1lRXJyb3JzIiwiQm9vbGVhbiIsImVycm9ycyIsImxlbmd0aCIsImlzTW91bnRlZCIsImRpc3BsYXlQcmV2ZW50ZWQiLCJfanN4cnVudGltZSIsImpzeHMiLCJGcmFnbWVudCIsImpzeCIsIkVycm9yQm91bmRhcnkiLCJvbkVycm9yIiwiU2hhZG93UG9ydGFsIiwiQ3NzUmVzZXQiLCJCYXNlIiwiQ29tcG9uZW50U3R5bGVzIiwiQnVpbGRFcnJvciIsIm1lc3NhZ2UiLCJ2ZXJzaW9uSW5mbyIsIkVycm9ycyIsImlzQXBwRGlyIiwiaW5pdGlhbERpc3BsYXlTdGF0ZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js ***! - \*********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n emit: function() {\n return emit;\n },\n off: function() {\n return off;\n },\n on: function() {\n return on;\n }\n});\nlet handlers = new Set();\nlet queue = [];\nfunction drain() {\n // Draining should never happen synchronously in case multiple handlers are\n // registered.\n setTimeout(function() {\n while(Boolean(queue.length) && // Or, if all handlers removed themselves as a result of handling the\n // event(s)\n Boolean(handlers.size)){\n const ev = queue.shift();\n handlers.forEach((handler)=>handler(ev));\n }\n }, 1);\n}\nfunction emit(ev) {\n queue.push(Object.freeze({\n ...ev\n }));\n drain();\n}\nfunction on(fn) {\n if (handlers.has(fn)) {\n return false;\n }\n handlers.add(fn);\n drain();\n return true;\n}\nfunction off(fn) {\n if (handlers.has(fn)) {\n handlers.delete(fn);\n return true;\n }\n return false;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bus.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2J1cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUF3QmdCQSxNQUFJO2VBQUpBOztJQWVBQyxLQUFHO2VBQUhBOztJQVZBQyxJQUFFO2VBQUZBOzs7QUF6QmhCLElBQUlDLFdBQWlDLElBQUlDO0FBQ3pDLElBQUlDLFFBQW9CLEVBQUU7QUFFMUIsU0FBU0M7SUFDUCwyRUFBMkU7SUFDM0UsY0FBYztJQUNkQyxXQUFXO1FBQ1QsTUFFRUMsUUFBUUgsTUFBTUksTUFBTSxLQUNwQixxRUFBcUU7UUFDckUsV0FBVztRQUNYRCxRQUFRTCxTQUFTTyxJQUFJLEVBQ3JCO1lBQ0EsTUFBTUMsS0FBS04sTUFBTU8sS0FBSztZQUN0QlQsU0FBU1UsT0FBTyxDQUFDLENBQUNDLFVBQVlBLFFBQVFIO1FBQ3hDO0lBQ0YsR0FBRztBQUNMO0FBRU8sU0FBU1gsS0FBS1csRUFBWTtJQUMvQk4sTUFBTVUsSUFBSSxDQUFDQyxPQUFPQyxNQUFNLENBQUM7UUFBRSxHQUFHTixFQUFFO0lBQUM7SUFDakNMO0FBQ0Y7QUFFTyxTQUFTSixHQUFHZ0IsRUFBbUI7SUFDcEMsSUFBSWYsU0FBU2dCLEdBQUcsQ0FBQ0QsS0FBSztRQUNwQixPQUFPO0lBQ1Q7SUFFQWYsU0FBU2lCLEdBQUcsQ0FBQ0Y7SUFDYlo7SUFDQSxPQUFPO0FBQ1Q7QUFFTyxTQUFTTCxJQUFJaUIsRUFBbUI7SUFDckMsSUFBSWYsU0FBU2dCLEdBQUcsQ0FBQ0QsS0FBSztRQUNwQmYsU0FBU2tCLE1BQU0sQ0FBQ0g7UUFDaEIsT0FBTztJQUNUO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvcGFnZXMvYnVzLnRzPzk5MTciXSwibmFtZXMiOlsiZW1pdCIsIm9mZiIsIm9uIiwiaGFuZGxlcnMiLCJTZXQiLCJxdWV1ZSIsImRyYWluIiwic2V0VGltZW91dCIsIkJvb2xlYW4iLCJsZW5ndGgiLCJzaXplIiwiZXYiLCJzaGlmdCIsImZvckVhY2giLCJoYW5kbGVyIiwicHVzaCIsIk9iamVjdCIsImZyZWV6ZSIsImZuIiwiaGFzIiwiYWRkIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js ***! - \************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReactDevOverlay: function() {\n return _ReactDevOverlay.default;\n },\n getErrorByType: function() {\n return _getErrorByType.getErrorByType;\n },\n getServerError: function() {\n return _nodeStackFrames.getServerError;\n },\n onBeforeRefresh: function() {\n return onBeforeRefresh;\n },\n onBuildError: function() {\n return onBuildError;\n },\n onBuildOk: function() {\n return onBuildOk;\n },\n onRefresh: function() {\n return onRefresh;\n },\n onVersionInfo: function() {\n return onVersionInfo;\n },\n register: function() {\n return register;\n },\n unregister: function() {\n return unregister;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _bus = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./bus */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js\"));\nconst _parseStack = __webpack_require__(/*! ../internal/helpers/parseStack */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _parsecomponentstack = __webpack_require__(/*! ../internal/helpers/parse-component-stack */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ../internal/helpers/hydration-error-info */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _getErrorByType = __webpack_require__(/*! ../internal/helpers/getErrorByType */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\");\nconst _nodeStackFrames = __webpack_require__(/*! ../internal/helpers/nodeStackFrames */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\");\nconst _ReactDevOverlay = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./ReactDevOverlay */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js\"));\n// Patch console.error to collect information about hydration errors\n(0, _hydrationerrorinfo.patchConsoleError)();\nlet isRegistered = false;\nlet stackTraceLimit = undefined;\nfunction onUnhandledError(ev) {\n const error = ev == null ? void 0 : ev.error;\n if (!error || !(error instanceof Error) || typeof error.stack !== \"string\") {\n // A non-error was thrown, we don't have anything to show. :-(\n return;\n }\n if (error.message.match(/(hydration|content does not match|did not match)/i)) {\n if (_hydrationerrorinfo.hydrationErrorState.warning) {\n error.details = {\n ...error.details,\n // It contains the warning, component stack, server and client tag names\n ..._hydrationerrorinfo.hydrationErrorState\n };\n }\n error.message += \"\\nSee more info here: https://nextjs.org/docs/messages/react-hydration-error\";\n }\n const e = error;\n const componentStackFrames = typeof _hydrationerrorinfo.hydrationErrorState.componentStack === \"string\" ? (0, _parsecomponentstack.parseComponentStack)(_hydrationerrorinfo.hydrationErrorState.componentStack) : undefined;\n // Skip ModuleBuildError and ModuleNotFoundError, as it will be sent through onBuildError callback.\n // This is to avoid same error as different type showing up on client to cause flashing.\n if (e.name !== \"ModuleBuildError\" && e.name !== \"ModuleNotFoundError\") {\n _bus.emit({\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(e.stack),\n componentStackFrames\n });\n }\n}\nfunction onUnhandledRejection(ev) {\n const reason = ev == null ? void 0 : ev.reason;\n if (!reason || !(reason instanceof Error) || typeof reason.stack !== \"string\") {\n // A non-error was thrown, we don't have anything to show. :-(\n return;\n }\n const e = reason;\n _bus.emit({\n type: _shared.ACTION_UNHANDLED_REJECTION,\n reason: reason,\n frames: (0, _parseStack.parseStack)(e.stack)\n });\n}\nfunction register() {\n if (isRegistered) {\n return;\n }\n isRegistered = true;\n try {\n const limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 50;\n stackTraceLimit = limit;\n } catch (e) {}\n window.addEventListener(\"error\", onUnhandledError);\n window.addEventListener(\"unhandledrejection\", onUnhandledRejection);\n}\nfunction unregister() {\n if (!isRegistered) {\n return;\n }\n isRegistered = false;\n if (stackTraceLimit !== undefined) {\n try {\n Error.stackTraceLimit = stackTraceLimit;\n } catch (e) {}\n stackTraceLimit = undefined;\n }\n window.removeEventListener(\"error\", onUnhandledError);\n window.removeEventListener(\"unhandledrejection\", onUnhandledRejection);\n}\nfunction onBuildOk() {\n _bus.emit({\n type: _shared.ACTION_BUILD_OK\n });\n}\nfunction onBuildError(message) {\n _bus.emit({\n type: _shared.ACTION_BUILD_ERROR,\n message\n });\n}\nfunction onRefresh() {\n _bus.emit({\n type: _shared.ACTION_REFRESH\n });\n}\nfunction onBeforeRefresh() {\n _bus.emit({\n type: _shared.ACTION_BEFORE_REFRESH\n });\n}\nfunction onVersionInfo(versionInfo) {\n _bus.emit({\n type: _shared.ACTION_VERSION_INFO,\n versionInfo\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2NsaWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUEySW9CQSxpQkFBZTtlQUFmQSxpQkFBQUEsT0FBZTs7SUFGMUJDLGdCQUFjO2VBQWRBLGdCQUFBQSxjQUFjOztJQUNkQyxnQkFBYztlQUFkQSxpQkFBQUEsY0FBYzs7SUFUUEMsaUJBQWU7ZUFBZkE7O0lBUkFDLGNBQVk7ZUFBWkE7O0lBSkFDLFdBQVM7ZUFBVEE7O0lBUUFDLFdBQVM7ZUFBVEE7O0lBUUFDLGVBQWE7ZUFBYkE7O0lBakRBQyxVQUFRO2VBQVJBOztJQWdCQUMsWUFBVTtlQUFWQTs7Ozs7MkVBcEdLO3dDQUNNO2lEQUNTO2dEQUk3QjtvQ0FTQTs0Q0EwSHdCOzZDQUNBO3NGQUNZO0FBekgzQyxvRUFBb0U7QUFDcEVDLENBQUFBLEdBQUFBLG9CQUFBQSxpQkFBaUI7QUFFakIsSUFBSUMsZUFBZTtBQUNuQixJQUFJQyxrQkFBc0NDO0FBRTFDLFNBQVNDLGlCQUFpQkMsRUFBYztJQUN0QyxNQUFNQyxRQUFRRCxNQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxHQUFJQyxLQUFLO0lBQ3ZCLElBQUksQ0FBQ0EsU0FBUyxDQUFFQSxDQUFBQSxpQkFBaUJDLEtBQUFBLEtBQVUsT0FBT0QsTUFBTUUsS0FBSyxLQUFLLFVBQVU7UUFDMUUsOERBQThEO1FBQzlEO0lBQ0Y7SUFFQSxJQUNFRixNQUFNRyxPQUFPLENBQUNDLEtBQUssQ0FBQyxzREFDcEI7UUFDQSxJQUFJQyxvQkFBQUEsbUJBQW1CLENBQUNDLE9BQU8sRUFBRTtZQUk3Qk4sTUFBY08sT0FBTyxHQUFHO2dCQUN4QixHQUFHUCxNQUFlTyxPQUFPO2dCQUN6Qix3RUFBd0U7Z0JBQ3hFLEdBQUdGLG9CQUFBQSxtQkFBbUI7WUFDeEI7UUFDRjtRQUNBTCxNQUFNRyxPQUFPLElBQUs7SUFDcEI7SUFFQSxNQUFNSyxJQUFJUjtJQUNWLE1BQU1TLHVCQUNKLE9BQU9KLG9CQUFBQSxtQkFBbUIsQ0FBQ0ssY0FBYyxLQUFLLFdBQzFDQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNOLG9CQUFBQSxtQkFBbUIsQ0FBQ0ssY0FBYyxJQUN0RGI7SUFFTixtR0FBbUc7SUFDbkcsd0ZBQXdGO0lBQ3hGLElBQUlXLEVBQUVJLElBQUksS0FBSyxzQkFBc0JKLEVBQUVJLElBQUksS0FBSyx1QkFBdUI7UUFDckVDLEtBQUlDLElBQUksQ0FBQztZQUNQQyxNQUFNQyxRQUFBQSxzQkFBc0I7WUFDNUJDLFFBQVFqQjtZQUNSa0IsUUFBUUMsQ0FBQUEsR0FBQUEsWUFBQUEsVUFBVSxFQUFDWCxFQUFFTixLQUFLO1lBQzFCTztRQUNGO0lBQ0Y7QUFDRjtBQUVBLFNBQVNXLHFCQUFxQnJCLEVBQXlCO0lBQ3JELE1BQU1rQixTQUFTbEIsTUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsR0FBSWtCLE1BQU07SUFDekIsSUFDRSxDQUFDQSxVQUNELENBQUVBLENBQUFBLGtCQUFrQmhCLEtBQUFBLEtBQ3BCLE9BQU9nQixPQUFPZixLQUFLLEtBQUssVUFDeEI7UUFDQSw4REFBOEQ7UUFDOUQ7SUFDRjtJQUVBLE1BQU1NLElBQUlTO0lBQ1ZKLEtBQUlDLElBQUksQ0FBQztRQUNQQyxNQUFNTSxRQUFBQSwwQkFBMEI7UUFDaENKLFFBQVFBO1FBQ1JDLFFBQVFDLENBQUFBLEdBQUFBLFlBQUFBLFVBQVUsRUFBQ1gsRUFBRU4sS0FBSztJQUM1QjtBQUNGO0FBRU8sU0FBU1Y7SUFDZCxJQUFJRyxjQUFjO1FBQ2hCO0lBQ0Y7SUFDQUEsZUFBZTtJQUVmLElBQUk7UUFDRixNQUFNMkIsUUFBUXJCLE1BQU1MLGVBQWU7UUFDbkNLLE1BQU1MLGVBQWUsR0FBRztRQUN4QkEsa0JBQWtCMEI7SUFDcEIsRUFBRSxPQUFBZCxHQUFNLENBQUM7SUFFVGUsT0FBT0MsZ0JBQWdCLENBQUMsU0FBUzFCO0lBQ2pDeUIsT0FBT0MsZ0JBQWdCLENBQUMsc0JBQXNCSjtBQUNoRDtBQUVPLFNBQVMzQjtJQUNkLElBQUksQ0FBQ0UsY0FBYztRQUNqQjtJQUNGO0lBQ0FBLGVBQWU7SUFFZixJQUFJQyxvQkFBb0JDLFdBQVc7UUFDakMsSUFBSTtZQUNGSSxNQUFNTCxlQUFlLEdBQUdBO1FBQzFCLEVBQUUsT0FBQVksR0FBTSxDQUFDO1FBQ1RaLGtCQUFrQkM7SUFDcEI7SUFFQTBCLE9BQU9FLG1CQUFtQixDQUFDLFNBQVMzQjtJQUNwQ3lCLE9BQU9FLG1CQUFtQixDQUFDLHNCQUFzQkw7QUFDbkQ7QUFFTyxTQUFTL0I7SUFDZHdCLEtBQUlDLElBQUksQ0FBQztRQUFFQyxNQUFNVyxRQUFBQSxlQUFlO0lBQUM7QUFDbkM7QUFFTyxTQUFTdEMsYUFBYWUsT0FBZTtJQUMxQ1UsS0FBSUMsSUFBSSxDQUFDO1FBQUVDLE1BQU1ZLFFBQUFBLGtCQUFrQjtRQUFFeEI7SUFBUTtBQUMvQztBQUVPLFNBQVNiO0lBQ2R1QixLQUFJQyxJQUFJLENBQUM7UUFBRUMsTUFBTWEsUUFBQUEsY0FBYztJQUFDO0FBQ2xDO0FBRU8sU0FBU3pDO0lBQ2QwQixLQUFJQyxJQUFJLENBQUM7UUFBRUMsTUFBTWMsUUFBQUEscUJBQXFCO0lBQUM7QUFDekM7QUFFTyxTQUFTdEMsY0FBY3VDLFdBQXdCO0lBQ3BEakIsS0FBSUMsSUFBSSxDQUFDO1FBQUVDLE1BQU1nQixRQUFBQSxtQkFBbUI7UUFBRUQ7SUFBWTtBQUNwRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2NsaWVudC50cz9kZGVhIl0sIm5hbWVzIjpbIlJlYWN0RGV2T3ZlcmxheSIsImdldEVycm9yQnlUeXBlIiwiZ2V0U2VydmVyRXJyb3IiLCJvbkJlZm9yZVJlZnJlc2giLCJvbkJ1aWxkRXJyb3IiLCJvbkJ1aWxkT2siLCJvblJlZnJlc2giLCJvblZlcnNpb25JbmZvIiwicmVnaXN0ZXIiLCJ1bnJlZ2lzdGVyIiwicGF0Y2hDb25zb2xlRXJyb3IiLCJpc1JlZ2lzdGVyZWQiLCJzdGFja1RyYWNlTGltaXQiLCJ1bmRlZmluZWQiLCJvblVuaGFuZGxlZEVycm9yIiwiZXYiLCJlcnJvciIsIkVycm9yIiwic3RhY2siLCJtZXNzYWdlIiwibWF0Y2giLCJoeWRyYXRpb25FcnJvclN0YXRlIiwid2FybmluZyIsImRldGFpbHMiLCJlIiwiY29tcG9uZW50U3RhY2tGcmFtZXMiLCJjb21wb25lbnRTdGFjayIsInBhcnNlQ29tcG9uZW50U3RhY2siLCJuYW1lIiwiQnVzIiwiZW1pdCIsInR5cGUiLCJBQ1RJT05fVU5IQU5ETEVEX0VSUk9SIiwicmVhc29uIiwiZnJhbWVzIiwicGFyc2VTdGFjayIsIm9uVW5oYW5kbGVkUmVqZWN0aW9uIiwiQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT04iLCJsaW1pdCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiQUNUSU9OX0JVSUxEX09LIiwiQUNUSU9OX0JVSUxEX0VSUk9SIiwiQUNUSU9OX1JFRlJFU0giLCJBQ1RJT05fQkVGT1JFX1JFRlJFU0giLCJ2ZXJzaW9uSW5mbyIsIkFDVElPTl9WRVJTSU9OX0lORk8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js": -/*!*************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js ***! - \*************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO: Remove use of `any` type. Fix no-use-before-define violations.\n/* eslint-disable @typescript-eslint/no-use-before-define */ /**\n * MIT License\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */ // This file is a modified version of the Create React App HMR dev client that\n// can be found here:\n// https://github.com/facebook/create-react-app/blob/v3.4.1/packages/react-dev-utils/webpackHotDevClient.js\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return connect;\n },\n performFullReload: function() {\n return performFullReload;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _client = __webpack_require__(/*! ./client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _websocket = __webpack_require__(/*! ./websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../internal/helpers/format-webpack-messages */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\"));\nconst _hotreloadertypes = __webpack_require__(/*! ../../../../server/dev/hot-reloader-types */ \"./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _extractmodulesfromturbopackmessage = __webpack_require__(/*! ../../../../server/dev/extract-modules-from-turbopack-message */ \"./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _runtimeerrorhandler = __webpack_require__(/*! ../internal/helpers/runtime-error-handler */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\");\nwindow.__nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet customHmrEventHandler;\nlet turbopackMessageListeners = [];\nlet MODE = \"webpack\";\nfunction connect(mode) {\n MODE = mode;\n (0, _client.register)();\n (0, _websocket.addMessageListener)((payload)=>{\n if (!(\"action\" in payload)) {\n return;\n }\n try {\n processMessage(payload);\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + payload + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n });\n return {\n subscribeToHmrEvent (handler) {\n customHmrEventHandler = handler;\n },\n onUnrecoverableError () {\n _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError = true;\n },\n addTurbopackMessageListener (cb) {\n turbopackMessageListeners.push(cb);\n },\n sendTurbopackMessage (msg) {\n (0, _websocket.sendMessage)(msg);\n },\n handleUpdateError (err) {\n performFullReload(err);\n }\n };\n}\n// Remember some state related to hot module replacement.\nvar isFirstCompilation = true;\nvar mostRecentCompilationHash = null;\nvar hasCompileErrors = false;\nfunction clearOutdatedErrors() {\n // Clean up outdated compile errors, if any.\n if (typeof console !== \"undefined\" && typeof console.clear === \"function\") {\n if (hasCompileErrors) {\n console.clear();\n }\n }\n}\n// Successful compilation.\nfunction handleSuccess() {\n clearOutdatedErrors();\n if (MODE === \"webpack\") {\n const isHotUpdate = !isFirstCompilation || window.__NEXT_DATA__.page !== \"/_error\" && isUpdateAvailable();\n isFirstCompilation = false;\n hasCompileErrors = false;\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(onBeforeFastRefresh, onFastRefresh);\n }\n } else {\n (0, _client.onBuildOk)();\n }\n}\n// Compilation with warnings (e.g. ESLint).\nfunction handleWarnings(warnings) {\n clearOutdatedErrors();\n const isHotUpdate = !isFirstCompilation;\n isFirstCompilation = false;\n hasCompileErrors = false;\n function printWarnings() {\n // Print warnings to the console.\n const formatted = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n if (typeof console !== \"undefined\" && typeof console.warn === \"function\") {\n var _formatted_warnings;\n for(let i = 0; i < ((_formatted_warnings = formatted.warnings) == null ? void 0 : _formatted_warnings.length); i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formatted.warnings[i]));\n }\n }\n }\n printWarnings();\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(onBeforeFastRefresh, onFastRefresh);\n }\n}\n// Compilation with errors (e.g. syntax error or missing modules).\nfunction handleErrors(errors) {\n clearOutdatedErrors();\n isFirstCompilation = false;\n hasCompileErrors = true;\n // \"Massage\" webpack messages.\n var formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n (0, _client.onBuildError)(formatted.errors[0]);\n // Also log them to the console.\n if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n for(var i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n}\nlet startLatency = undefined;\nfunction onBeforeFastRefresh(updatedModules) {\n if (updatedModules.length > 0) {\n // Only trigger a pending state if we have updates to apply\n // (cf. onFastRefresh)\n (0, _client.onBeforeRefresh)();\n }\n}\nfunction onFastRefresh(updatedModules) {\n if (updatedModules === void 0) updatedModules = [];\n (0, _client.onBuildOk)();\n if (updatedModules.length === 0) {\n return;\n }\n (0, _client.onRefresh)();\n reportHmrLatency();\n}\nfunction reportHmrLatency(updatedModules) {\n if (updatedModules === void 0) updatedModules = [];\n if (startLatency) {\n const endLatency = Date.now();\n const latency = endLatency - startLatency;\n console.log(\"[Fast Refresh] done in \" + latency + \"ms\");\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-hmr-latency\",\n id: window.__nextDevClientId,\n startTime: startLatency,\n endTime: endLatency,\n page: window.location.pathname,\n updatedModules,\n // Whether the page (tab) was hidden at the time the event occurred.\n // This can impact the accuracy of the event's timing.\n isPageHidden: document.visibilityState === \"hidden\"\n }));\n if (self.__NEXT_HMR_LATENCY_CB) {\n self.__NEXT_HMR_LATENCY_CB(latency);\n }\n }\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n/** Handles messages from the sevrer for the Pages Router. */ function processMessage(obj) {\n if (!(\"action\" in obj)) {\n return;\n }\n // Use turbopack message for analytics, (still need built for webpack)\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n startLatency = Date.now();\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n {\n if (obj.hash) handleAvailableHash(obj.hash);\n const { errors, warnings } = obj;\n // Is undefined when it's a 'built' event\n if (\"versionInfo\" in obj) (0, _client.onVersionInfo)(obj.versionInfo);\n const hasErrors = Boolean(errors && errors.length);\n if (hasErrors) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: window.__nextDevClientId\n }));\n return handleErrors(errors);\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: window.__nextDevClientId\n }));\n return handleWarnings(warnings);\n }\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-success\",\n clientId: window.__nextDevClientId\n }));\n return handleSuccess();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:\n {\n window.location.reload();\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED:\n {\n for (const listener of turbopackMessageListeners){\n listener({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED\n });\n }\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE:\n {\n const updatedModules = (0, _extractmodulesfromturbopackmessage.extractModulesFromTurbopackMessage)(obj.data);\n onBeforeFastRefresh(updatedModules);\n for (const listener of turbopackMessageListeners){\n listener({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n data: obj.data\n });\n }\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n performFullReload(null);\n }\n (0, _client.onRefresh)();\n reportHmrLatency(updatedModules);\n break;\n }\n default:\n {\n if (customHmrEventHandler) {\n customHmrEventHandler(obj);\n break;\n }\n break;\n }\n }\n}\n// Is there a newer version of this code available?\nfunction isUpdateAvailable() {\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n module.hot.addStatusHandler(handler);\n }\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeHotUpdate, onHotUpdateSuccess) {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n if (false) {}\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n (0, _client.onBuildOk)();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\"[Fast Refresh] performing full reload\\n\\n\" + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + \"You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n\" + \"Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n\" + \"It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n\" + \"Fast Refresh requires at least one parent function component in your React tree.\");\n } else if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(\"[Fast Refresh] performing full reload because your application had an unrecoverable error\");\n }\n performFullReload(err);\n return;\n }\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(updatedModules);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n // However, this time, don't trigger a pending refresh state.\n tryApplyUpdates(updatedModules.length > 0 ? undefined : onBeforeHotUpdate, updatedModules.length > 0 ? _client.onBuildOk : onHotUpdateSuccess);\n } else {\n (0, _client.onBuildOk)();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeHotUpdate === \"function\") {\n onBeforeHotUpdate(updatedModules);\n }\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\nfunction performFullReload(err) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError,\n dependencyChain: err ? err.dependencyChain : undefined\n }));\n window.location.reload();\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-reloader-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2hvdC1yZWxvYWRlci1jbGllbnQuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUVBQXVFO0FBQ3ZFLDBEQUEwRCxHQUMxRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXNCQyxHQUVELDhFQUE4RTtBQUM5RSxxQkFBcUI7QUFDckIsMkdBQTJHOzs7Ozs7Ozs7Ozs7O0lBMkMzR0EsU0FtQ0M7ZUFuQ3VCQzs7SUE0WlJDLG1CQUFpQjtlQUFqQkE7Ozs7b0NBOWJUO2dGQUNlO3VDQUMwQjs0RkFDZDs4Q0FDVTtnRUFLTztvQ0FDRTtpREFDakI7QUFrQnBDQyxPQUFPQyxpQkFBaUIsR0FBR0MsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQUssTUFBTUMsS0FBS0MsR0FBRztBQUVwRSxJQUFJQztBQUNKLElBQUlDLDRCQUFzRSxFQUFFO0FBQzVFLElBQUlDLE9BQWdDO0FBQ3JCLFNBQVNYLFFBQVFZLElBQTZCO0lBQzNERCxPQUFPQztJQUNQQyxDQUFBQSxHQUFBQSxRQUFBQSxRQUFRO0lBRVJDLENBQUFBLEdBQUFBLFdBQUFBLGtCQUFrQixFQUFDLENBQUNDO1FBQ2xCLElBQUksQ0FBRSxhQUFZQSxPQUFBQSxHQUFVO1lBQzFCO1FBQ0Y7UUFFQSxJQUFJO1lBQ0ZDLGVBQWVEO1FBQ2pCLEVBQUUsT0FBT0UsS0FBVTtnQkFFK0JBO1lBRGhEQyxRQUFRQyxJQUFJLENBQ1YsNEJBQTRCSixVQUFVLE9BQVFFLENBQUFBLENBQUFBLGFBQUFBLE9BQUFBLE9BQUFBLEtBQUFBLElBQUFBLElBQUtHLEtBQUssWUFBVkgsYUFBYztRQUVoRTtJQUNGO0lBRUEsT0FBTztRQUNMSSxxQkFBb0JDLE9BQVk7WUFDOUJiLHdCQUF3QmE7UUFDMUI7UUFDQUM7WUFDRUMscUJBQUFBLG1CQUFtQixDQUFDQyxlQUFlLEdBQUc7UUFDeEM7UUFDQUMsNkJBQTRCQyxFQUF3QztZ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O1FBQ1B1RDtRQUNBekcsaUJBQWlCLENBQUMsQ0FBQ0QscUJBQUFBLG1CQUFtQixDQUFDQyxlQUFlO1FBQ3RENkcsaUJBQWlCckgsTUFBTUEsSUFBSXFILGVBQWUsR0FBR3JFO0lBQy9DO0lBR0YvRCxPQUFPNkUsUUFBUSxDQUFDdUIsTUFBTTtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2hvdC1yZWxvYWRlci1jbGllbnQudHM/ZDU3MSJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiY29ubmVjdCIsInBlcmZvcm1GdWxsUmVsb2FkIiwid2luZG93IiwiX19uZXh0RGV2Q2xpZW50SWQiLCJNYXRoIiwicm91bmQiLCJyYW5kb20iLCJEYXRlIiwibm93IiwiY3VzdG9tSG1yRXZlbnRIYW5kbGVyIiwidHVyYm9wYWNrTWVzc2FnZUxpc3RlbmVycyIsIk1PREUiLCJtb2RlIiwicmVnaXN0ZXIiLCJhZGRNZXNzYWdlTGlzdGVuZXIiLCJwYXlsb2FkIiwicHJvY2Vzc01lc3NhZ2UiLCJlcnIiLCJjb25zb2xlIiwid2FybiIsInN0YWNrIiwic3Vic2NyaWJlVG9IbXJFdmVudCIsImhhbmRsZXIiLCJvblVucmVjb3ZlcmFibGVFcnJvciIsIlJ1bnRpbWVFcnJvckhhbmRsZXIiLCJoYWRSdW50aW1lRXJyb3IiLCJhZGRUdXJib3BhY2tNZXNzYWdlTGlzdGVuZXIiLCJjYiIsInB1c2giLCJzZW5kVHVyYm9wYWNrTWVzc2FnZSIsIm1zZyIsInNlbmRNZXNzYWdlIiwiaGFuZGxlVXBkYXRlRXJyb3IiLCJpc0ZpcnN0Q29tcGlsYXRpb24iLCJtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoIiwiaGFzQ29tcGlsZUVycm9ycyIsImNsZWFyT3V0ZGF0ZWRFcnJvcnMiLCJjbGVhciIsImhhbmRsZVN1Y2Nlc3MiLCJpc0hvdFVwZGF0ZSIsIl9fTkVYVF9EQVRBX18iLCJwYWdlIiwiaXNVcGRhdGVBdmFpbGFibGUiLCJ0cnlBcHBseVVwZGF0ZXMiLCJvbkJlZm9yZUZhc3RSZWZyZXNoIiwib25GYXN0UmVmcmVzaCIsIm9uQnVpbGRPayIsImhhbmRsZVdhcm5pbmdzIiwid2FybmluZ3MiLCJwcmludFdhcm5pbmdzIiwiZm9ybWF0dGVkIiwiZm9ybWF0V2VicGFja01lc3NhZ2VzIiwiZXJyb3JzIiwiaSIsImxlbmd0aCIsInN0cmlwQW5zaSIsImhhbmRsZUVycm9ycyIsIm9uQnVpbGRFcnJvciIsImVycm9yIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9URVNUX01PREUiLCJzZWxmIiwiX19ORVhUX0hNUl9DQiIsInN0YXJ0TGF0ZW5jeSIsInVuZGVmaW5lZCIsInVwZGF0ZWRNb2R1bGVzIiwib25CZWZvcmVSZWZyZXNoIiwib25SZWZyZXNoIiwicmVwb3J0SG1yTGF0ZW5jeSIsImVuZExhdGVuY3kiLCJsYXRlbmN5IiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiaWQiLCJzdGFydFRpbWUiLCJlbmRUaW1lIiwibG9jYXRpb24iLCJwYXRobmFtZSIsImlzUGFnZUhpZGRlbiIsImRvY3VtZW50IiwidmlzaWJpbGl0eVN0YXRlIiwiX19ORVhUX0hNUl9MQVRFTkNZX0NCIiwiaGFuZGxlQXZhaWxhYmxlSGFzaCIsImhhc2giLCJvYmoiLCJhY3Rpb24iLCJITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIiLCJCVUlMRElORyIsIkJVSUxUIiwiU1lOQyIsIm9uVmVyc2lvbkluZm8iLCJ2ZXJzaW9uSW5mbyIsImhhc0Vycm9ycyIsIkJvb2xlYW4iLCJlcnJvckNvdW50IiwiY2xpZW50SWQiLCJoYXNXYXJuaW5ncyIsIndhcm5pbmdDb3VudCIsIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFUyIsInJlbG9hZCIsIlNFUlZFUl9FUlJPUiIsImVycm9ySlNPTiIsIm1lc3NhZ2UiLCJwYXJzZSIsIkVycm9yIiwiVFVSQk9QQUNLX0NPTk5FQ1RFRCIsImxpc3RlbmVyIiwidHlwZSIsIlRVUkJPUEFDS19NRVNTQUdFIiwiZXh0cmFjdE1vZHVsZXNGcm9tVHVyYm9wYWNrTWVzc2FnZSIsImRhdGEiLCJSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IiLCJfX3dlYnBhY2tfaGFzaF9fIiwiY2FuQXBwbHlVcGRhdGVzIiwibW9kdWxlIiwiaG90Iiwic3RhdHVzIiwiYWZ0ZXJBcHBseVVwZGF0ZXMiLCJmbiIsInJlbW92ZVN0YXR1c0hhbmRsZXIiLCJhZGRTdGF0dXNIYW5kbGVyIiwib25CZWZvcmVIb3RVcGRhdGUiLCJvbkhvdFVwZGF0ZVN1Y2Nlc3MiLCJoYW5kbGVBcHBseVVwZGF0ZXMiLCJjaGVjayIsInRoZW4iLCJhcHBseSIsInN0YWNrVHJhY2UiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsImRlcGVuZGVuY3lDaGFpbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js ***! - \***************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n addMessageListener: function() {\n return addMessageListener;\n },\n connectHMR: function() {\n return connectHMR;\n },\n sendMessage: function() {\n return sendMessage;\n }\n});\nlet source;\nconst eventCallbacks = [];\nfunction getSocketProtocol(assetPrefix) {\n let protocol = location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (e) {}\n return protocol === \"http:\" ? \"ws\" : \"wss\";\n}\nfunction addMessageListener(callback) {\n eventCallbacks.push(callback);\n}\nfunction sendMessage(data) {\n if (!source || source.readyState !== source.OPEN) return;\n return source.send(data);\n}\nlet reconnections = 0;\nfunction connectHMR(options) {\n function init() {\n if (source) source.close();\n function handleOnline() {\n reconnections = 0;\n window.console.log(\"[HMR] connected\");\n }\n function handleMessage(event) {\n // Coerce into HMR_ACTION_TYPES as that is the format.\n const msg = JSON.parse(event.data);\n for (const eventCallback of eventCallbacks){\n eventCallback(msg);\n }\n }\n let timer;\n function handleDisconnect() {\n source.onerror = null;\n source.onclose = null;\n source.close();\n reconnections++;\n // After 25 reconnects we'll want to reload the page as it indicates the dev server is no longer running.\n if (reconnections > 25) {\n window.location.reload();\n return;\n }\n clearTimeout(timer);\n // Try again after 5 seconds\n timer = setTimeout(init, reconnections > 5 ? 5000 : 1000);\n }\n const { hostname, port } = location;\n const protocol = getSocketProtocol(options.assetPrefix || \"\");\n const assetPrefix = options.assetPrefix.replace(/^\\/+/, \"\");\n let url = protocol + \"://\" + hostname + \":\" + port + (assetPrefix ? \"/\" + assetPrefix : \"\");\n if (assetPrefix.startsWith(\"http\")) {\n url = protocol + \"://\" + assetPrefix.split(\"://\", 2)[1];\n }\n source = new window.WebSocket(\"\" + url + options.path);\n source.onopen = handleOnline;\n source.onerror = handleDisconnect;\n source.onclose = handleDisconnect;\n source.onmessage = handleMessage;\n }\n init();\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=websocket.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL3dlYnNvY2tldC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFtQmdCQSxvQkFBa0I7ZUFBbEJBOztJQVdBQyxZQUFVO2VBQVZBOztJQVBBQyxhQUFXO2VBQVhBOzs7QUFyQmhCLElBQUlDO0FBSUosTUFBTUMsaUJBQXdDLEVBQUU7QUFFaEQsU0FBU0Msa0JBQWtCQyxXQUFtQjtJQUM1QyxJQUFJQyxXQUFXQyxTQUFTRCxRQUFRO0lBRWhDLElBQUk7UUFDRix1QkFBdUI7UUFDdkJBLFdBQVcsSUFBSUUsSUFBSUgsYUFBYUMsUUFBUTtJQUMxQyxFQUFFLE9BQUFHLEdBQU0sQ0FBQztJQUVULE9BQU9ILGFBQWEsVUFBVSxPQUFPO0FBQ3ZDO0FBRU8sU0FBU1AsbUJBQW1CVyxRQUF3QjtJQUN6RFAsZUFBZVEsSUFBSSxDQUFDRDtBQUN0QjtBQUVPLFNBQVNULFlBQVlXLElBQVk7SUFDdEMsSUFBSSxDQUFDVixVQUFVQSxPQUFPVyxVQUFVLEtBQUtYLE9BQU9ZLElBQUksRUFBRTtJQUNsRCxPQUFPWixPQUFPYSxJQUFJLENBQUNIO0FBQ3JCO0FBRUEsSUFBSUksZ0JBQWdCO0FBRWIsU0FBU2hCLFdBQVdpQixPQUE4QztJQUN2RSxTQUFTQztRQUNQLElBQUloQixRQUFRQSxPQUFPaUIsS0FBSztRQUV4QixTQUFTQztZQUNQSixnQkFBZ0I7WUFDaEJLLE9BQU9DLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDO1FBQ3JCO1FBRUEsU0FBU0MsY0FBY0MsS0FBMkI7WUFDaEQsc0RBQXNEO1lBQ3RELE1BQU1DLE1BQXdCQyxLQUFLQyxLQUFLLENBQUNILE1BQU1iLElBQUk7WUFDbkQsS0FBSyxNQUFNaUIsaUJBQWlCMUIsZUFBZ0I7Z0JBQzFDMEIsY0FBY0g7WUFDaEI7UUFDRjtRQUVBLElBQUlJO1FBQ0osU0FBU0M7WUFDUDdCLE9BQU84QixPQUFPLEdBQUc7WUFDakI5QixPQUFPK0IsT0FBTyxHQUFHO1lBQ2pCL0IsT0FBT2lCLEtBQUs7WUFDWkg7WUFDQSx5R0FBeUc7WUFDekcsSUFBSUEsZ0JBQWdCLElBQUk7Z0JBQ3RCSyxPQUFPZCxRQUFRLENBQUMyQixNQUFNO2dCQUN0QjtZQUNGO1lBRUFDLGFBQWFMO1lBQ2IsNEJBQTRCO1lBQzVCQSxRQUFRTSxXQUFXbEIsTUFBTUYsZ0JBQWdCLElBQUksT0FBTztRQUN0RDtRQUVBLE1BQU0sRUFBRXFCLFFBQVEsRUFBRUMsSUFBSSxFQUFFLEdBQUcvQjtRQUMzQixNQUFNRCxXQUFXRixrQkFBa0JhLFFBQVFaLFdBQVcsSUFBSTtRQUMxRCxNQUFNQSxjQUFjWSxRQUFRWixXQUFXLENBQUNrQyxPQUFPLENBQUMsUUFBUTtRQUV4RCxJQUFJQyxNQUFNbEMsV0FBWSxRQUFLK0IsV0FBUyxNQUFHQyxPQUNyQ2pDLENBQUFBLGNBQWMsTUFBSUEsY0FBZ0I7UUFHcEMsSUFBSUEsWUFBWW9DLFVBQVUsQ0FBQyxTQUFTO1lBQ2xDRCxNQUFNbEMsV0FBWSxRQUFLRCxZQUFZcUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDdkQ7UUFFQXhDLFNBQVMsSUFBSW1CLE9BQU9zQixTQUFTLENBQUMsS0FBR0gsTUFBTXZCLFFBQVEyQixJQUFJO1FBQ25EMUMsT0FBTzJDLE1BQU0sR0FBR3pCO1FBQ2hCbEIsT0FBTzhCLE9BQU8sR0FBR0Q7UUFDakI3QixPQUFPK0IsT0FBTyxHQUFHRjtRQUNqQjdCLE9BQU80QyxTQUFTLEdBQUd0QjtJQUNyQjtJQUVBTjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvcGFnZXMvd2Vic29ja2V0LnRzP2UzOWMiXSwibmFtZXMiOlsiYWRkTWVzc2FnZUxpc3RlbmVyIiwiY29ubmVjdEhNUiIsInNlbmRNZXNzYWdlIiwic291cmNlIiwiZXZlbnRDYWxsYmFja3MiLCJnZXRTb2NrZXRQcm90b2NvbCIsImFzc2V0UHJlZml4IiwicHJvdG9jb2wiLCJsb2NhdGlvbiIsIlVSTCIsImUiLCJjYWxsYmFjayIsInB1c2giLCJkYXRhIiwicmVhZHlTdGF0ZSIsIk9QRU4iLCJzZW5kIiwicmVjb25uZWN0aW9ucyIsIm9wdGlvbnMiLCJpbml0IiwiY2xvc2UiLCJoYW5kbGVPbmxpbmUiLCJ3aW5kb3ciLCJjb25zb2xlIiwibG9nIiwiaGFuZGxlTWVzc2FnZSIsImV2ZW50IiwibXNnIiwiSlNPTiIsInBhcnNlIiwiZXZlbnRDYWxsYmFjayIsInRpbWVyIiwiaGFuZGxlRGlzY29ubmVjdCIsIm9uZXJyb3IiLCJvbmNsb3NlIiwicmVsb2FkIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImhvc3RuYW1lIiwicG9ydCIsInJlcGxhY2UiLCJ1cmwiLCJzdGFydHNXaXRoIiwic3BsaXQiLCJXZWJTb2NrZXQiLCJwYXRoIiwib25vcGVuIiwib25tZXNzYWdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/shared.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/shared.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_BEFORE_REFRESH: function() {\n return ACTION_BEFORE_REFRESH;\n },\n ACTION_BUILD_ERROR: function() {\n return ACTION_BUILD_ERROR;\n },\n ACTION_BUILD_OK: function() {\n return ACTION_BUILD_OK;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_UNHANDLED_ERROR: function() {\n return ACTION_UNHANDLED_ERROR;\n },\n ACTION_UNHANDLED_REJECTION: function() {\n return ACTION_UNHANDLED_REJECTION;\n },\n ACTION_VERSION_INFO: function() {\n return ACTION_VERSION_INFO;\n },\n INITIAL_OVERLAY_STATE: function() {\n return INITIAL_OVERLAY_STATE;\n },\n REACT_REFRESH_FULL_RELOAD_FROM_ERROR: function() {\n return REACT_REFRESH_FULL_RELOAD_FROM_ERROR;\n },\n useErrorOverlayReducer: function() {\n return useErrorOverlayReducer;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst ACTION_BUILD_OK = \"build-ok\";\nconst ACTION_BUILD_ERROR = \"build-error\";\nconst ACTION_BEFORE_REFRESH = \"before-fast-refresh\";\nconst ACTION_REFRESH = \"fast-refresh\";\nconst ACTION_VERSION_INFO = \"version-info\";\nconst ACTION_UNHANDLED_ERROR = \"unhandled-error\";\nconst ACTION_UNHANDLED_REJECTION = \"unhandled-rejection\";\nfunction pushErrorFilterDuplicates(errors, err) {\n return [\n ...errors.filter((e)=>{\n // Filter out duplicate errors\n return e.event.reason !== err.event.reason;\n }),\n err\n ];\n}\nconst INITIAL_OVERLAY_STATE = {\n nextId: 1,\n buildError: null,\n errors: [],\n notFound: false,\n refreshState: {\n type: \"idle\"\n },\n rootLayoutMissingTags: [],\n versionInfo: {\n installed: \"0.0.0\",\n staleness: \"unknown\"\n }\n};\nfunction useErrorOverlayReducer() {\n return (0, _react.useReducer)((_state, action)=>{\n switch(action.type){\n case ACTION_BUILD_OK:\n {\n return {\n ..._state,\n buildError: null\n };\n }\n case ACTION_BUILD_ERROR:\n {\n return {\n ..._state,\n buildError: action.message\n };\n }\n case ACTION_BEFORE_REFRESH:\n {\n return {\n ..._state,\n refreshState: {\n type: \"pending\",\n errors: []\n }\n };\n }\n case ACTION_REFRESH:\n {\n return {\n ..._state,\n buildError: null,\n errors: // and UNHANDLED_REJECTION events might be dispatched between the\n // BEFORE_REFRESH and the REFRESH event. We want to keep those errors\n // around until the next refresh. Otherwise we run into a race\n // condition where those errors would be cleared on refresh completion\n // before they can be displayed.\n _state.refreshState.type === \"pending\" ? _state.refreshState.errors : [],\n refreshState: {\n type: \"idle\"\n }\n };\n }\n case ACTION_UNHANDLED_ERROR:\n case ACTION_UNHANDLED_REJECTION:\n {\n switch(_state.refreshState.type){\n case \"idle\":\n {\n return {\n ..._state,\n nextId: _state.nextId + 1,\n errors: pushErrorFilterDuplicates(_state.errors, {\n id: _state.nextId,\n event: action\n })\n };\n }\n case \"pending\":\n {\n return {\n ..._state,\n nextId: _state.nextId + 1,\n refreshState: {\n ..._state.refreshState,\n errors: pushErrorFilterDuplicates(_state.refreshState.errors, {\n id: _state.nextId,\n event: action\n })\n }\n };\n }\n default:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = _state.refreshState;\n return _state;\n }\n }\n case ACTION_VERSION_INFO:\n {\n return {\n ..._state,\n versionInfo: action.versionInfo\n };\n }\n default:\n {\n return _state;\n }\n }\n }, INITIAL_OVERLAY_STATE);\n}\nconst REACT_REFRESH_FULL_RELOAD_FROM_ERROR = \"[Fast Refresh] performing full reload because your application had an unrecoverable error\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=shared.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3NoYXJlZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUF5QmFBLHVCQUFxQjtlQUFyQkE7O0lBREFDLG9CQUFrQjtlQUFsQkE7O0lBREFDLGlCQUFlO2VBQWZBOztJQUdBQyxnQkFBYztlQUFkQTs7SUFFQUMsd0JBQXNCO2VBQXRCQTs7SUFDQUMsNEJBQTBCO2VBQTFCQTs7SUFGQUMscUJBQW1CO2VBQW5CQTs7SUEwREFDLHVCQUFxQjtlQUFyQkE7O0lBaUZBQyxzQ0FBb0M7ZUFBcENBOztJQXZFR0Msd0JBQXNCO2VBQXRCQTs7O21DQS9GVztBQXVCcEIsTUFBTVAsa0JBQWtCO0FBQ3hCLE1BQU1ELHFCQUFxQjtBQUMzQixNQUFNRCx3QkFBd0I7QUFDOUIsTUFBTUcsaUJBQWlCO0FBQ3ZCLE1BQU1HLHNCQUFzQjtBQUM1QixNQUFNRix5QkFBeUI7QUFDL0IsTUFBTUMsNkJBQTZCO0FBMkMxQyxTQUFTSywwQkFDUEMsTUFBNkIsRUFDN0JDLEdBQXdCO0lBRXhCLE9BQU87V0FDRkQsT0FBT0UsTUFBTSxDQUFDLENBQUNDO1lBQ2hCLDhCQUE4QjtZQUM5QixPQUFPQSxFQUFFQyxLQUFLLENBQUNDLE1BQU0sS0FBS0osSUFBSUcsS0FBSyxDQUFDQyxNQUFNO1FBQzVDO1FBQ0FKO0tBQ0Q7QUFDSDtBQUVPLE1BQU1MLHdCQUFzQztJQUNqRFUsUUFBUTtJQUNSQyxZQUFZO0lBQ1pQLFFBQVEsRUFBRTtJQUNWUSxVQUFVO0lBQ1ZDLGNBQWM7UUFBRUMsTUFBTTtJQUFPO0lBQzdCQyx1QkFBdUIsRUFBRTtJQUN6QkMsYUFBYTtRQUFFQyxXQUFXO1FBQVNDLFdBQVc7SUFBVTtBQUMxRDtBQUVPLFNBQVNoQjtJQUNkLE9BQU9pQixDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQXdDLENBQUNDLFFBQVFDO1FBQ2hFLE9BQVFBLE9BQU9QLElBQUk7WUFDakIsS0FBS25CO2dCQUFpQjtvQkFDcEIsT0FBTzt3QkFBRSxHQUFHeUIsTUFBTTt3QkFBRVQsWUFBWTtvQkFBSztnQkFDdkM7WUFDQSxLQUFLakI7Z0JBQW9CO29CQUN2QixPQUFPO3dCQUFFLEdBQUcwQixNQUFNO3dCQUFFVCxZQUFZVSxPQUFPQyxPQUFPO29CQUFDO2dCQUNqRDtZQUNBLEtBQUs3QjtnQkFBdUI7b0JBQzFCLE9BQU87d0JBQUUsR0FBRzJCLE1BQU07d0JBQUVQLGNBQWM7NEJBQUVDLE1BQU07NEJBQVdWLFFBQVEsRUFBRTt3QkFBQztvQkFBRTtnQkFDcEU7WUFDQSxLQUFLUjtnQkFBZ0I7b0JBQ25CLE9BQU87d0JBQ0wsR0FBR3dCLE1BQU07d0JBQ1RULFlBQVk7d0JBQ1pQLFFBRUUsaUVBQWlFO3dCQUNqRSxxRUFBcUU7d0JBQ3JFLDhEQUE4RDt3QkFDOUQsc0VBQXNFO3dCQUN0RSxnQ0FBZ0M7d0JBQ2hDZ0IsT0FBT1AsWUFBWSxDQUFDQyxJQUFJLEtBQUssWUFDekJNLE9BQU9QLFlBQVksQ0FBQ1QsTUFBTSxHQUMxQixFQUFFO3dCQUNSUyxjQUFjOzRCQUFFQyxNQUFNO3dCQUFPO29CQUMvQjtnQkFDRjtZQUNBLEtBQUtqQjtZQUNMLEtBQUtDO2dCQUE0QjtvQkFDL0IsT0FBUXNCLE9BQU9QLFlBQVksQ0FBQ0MsSUFBSTt3QkFDOUIsS0FBSzs0QkFBUTtnQ0FDWCxPQUFPO29DQUNMLEdBQUdNLE1BQU07b0NBQ1RWLFFBQVFVLE9BQU9WLE1BQU0sR0FBRztvQ0FDeEJOLFFBQVFELDBCQUEwQmlCLE9BQU9oQixNQUFNLEVBQUU7d0NBQy9DbUIsSUFBSUgsT0FBT1YsTUFBTTt3Q0FDakJGLE9BQU9hO29DQUNUO2dDQUNGOzRCQUNGO3dCQUNBLEtBQUs7NEJBQVc7Z0NBQ2QsT0FBTztvQ0FDTCxHQUFHRCxNQUFNO29DQUNUVixRQUFRVSxPQUFPVixNQUFNLEdBQUc7b0NBQ3hCRyxjQUFjO3dDQUNaLEdBQUdPLE9BQU9QLFlBQVk7d0NBQ3RCVCxRQUFRRCwwQkFBMEJpQixPQUFPUCxZQUFZLENBQUNULE1BQU0sRUFBRTs0Q0FDNURtQixJQUFJSCxPQUFPVixNQUFNOzRDQUNqQkYsT0FBT2E7d0NBQ1Q7b0NBQ0Y7Z0NBQ0Y7NEJBQ0Y7d0JBQ0E7NEJBQ0UsNkRBQTZEOzRCQUM3RCxNQUFNRyxJQUFXSixPQUFPUCxZQUFZOzRCQUNwQyxPQUFPTztvQkFDWDtnQkFDRjtZQUNBLEtBQUtyQjtnQkFBcUI7b0JBQ3hCLE9BQU87d0JBQUUsR0FBR3FCLE1BQU07d0JBQUVKLGFBQWFLLE9BQU9MLFdBQVc7b0JBQUM7Z0JBQ3REO1lBQ0E7Z0JBQVM7b0JBQ1AsT0FBT0k7Z0JBQ1Q7UUFDRjtJQUNGLEdBQUdwQjtBQUNMO0FBRU8sTUFBTUMsdUNBQ1giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9zaGFyZWQudHM/YzQ0ZiJdLCJuYW1lcyI6WyJBQ1RJT05fQkVGT1JFX1JFRlJFU0giLCJBQ1RJT05fQlVJTERfRVJST1IiLCJBQ1RJT05fQlVJTERfT0siLCJBQ1RJT05fUkVGUkVTSCIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiIsIkFDVElPTl9WRVJTSU9OX0lORk8iLCJJTklUSUFMX09WRVJMQVlfU1RBVEUiLCJSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IiLCJ1c2VFcnJvck92ZXJsYXlSZWR1Y2VyIiwicHVzaEVycm9yRmlsdGVyRHVwbGljYXRlcyIsImVycm9ycyIsImVyciIsImZpbHRlciIsImUiLCJldmVudCIsInJlYXNvbiIsIm5leHRJZCIsImJ1aWxkRXJyb3IiLCJub3RGb3VuZCIsInJlZnJlc2hTdGF0ZSIsInR5cGUiLCJyb290TGF5b3V0TWlzc2luZ1RhZ3MiLCJ2ZXJzaW9uSW5mbyIsImluc3RhbGxlZCIsInN0YWxlbmVzcyIsInVzZVJlZHVjZXIiLCJfc3RhdGUiLCJhY3Rpb24iLCJtZXNzYWdlIiwiaWQiLCJfIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/shared.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/detect-domain-locale.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/detect-domain-locale.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"detectDomainLocale\", ({\n enumerable: true,\n get: function() {\n return detectDomainLocale;\n }\n}));\nconst detectDomainLocale = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (false) {}\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=detect-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUVhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxxQkFBZ0M7cUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1FBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztJQUMvQyxJQUFJQyxLQUErQixFQUFFLEVBSXJDO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvZGV0ZWN0LWRvbWFpbi1sb2NhbGUudHM/NjhmYyJdLCJuYW1lcyI6WyJkZXRlY3REb21haW5Mb2NhbGUiLCJhcmdzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/detect-domain-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/dev-build-watcher.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/dev-build-watcher.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* eslint-disable @typescript-eslint/no-use-before-define */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return initializeBuildWatcher;\n }\n}));\nconst _hotreloadertypes = __webpack_require__(/*! ../../server/dev/hot-reloader-types */ \"./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nfunction initializeBuildWatcher(toggleCallback, position) {\n if (position === void 0) position = \"bottom-right\";\n const shadowHost = document.createElement(\"div\");\n const [verticalProperty, horizontalProperty] = position.split(\"-\", 2);\n shadowHost.id = \"__next-build-watcher\";\n // Make sure container is fixed and on a high zIndex so it shows\n shadowHost.style.position = \"fixed\";\n // Ensure container's position to be top or bottom (default)\n shadowHost.style[verticalProperty] = \"10px\";\n // Ensure container's position to be left or right (default)\n shadowHost.style[horizontalProperty] = \"20px\";\n shadowHost.style.width = \"0\";\n shadowHost.style.height = \"0\";\n shadowHost.style.zIndex = \"99999\";\n document.body.appendChild(shadowHost);\n let shadowRoot;\n let prefix = \"\";\n if (shadowHost.attachShadow) {\n shadowRoot = shadowHost.attachShadow({\n mode: \"open\"\n });\n } else {\n // If attachShadow is undefined then the browser does not support\n // the Shadow DOM, we need to prefix all the names so there\n // will be no conflicts\n shadowRoot = shadowHost;\n prefix = \"__next-build-watcher-\";\n }\n // Container\n const container = createContainer(prefix);\n shadowRoot.appendChild(container);\n // CSS\n const css = createCss(prefix, {\n horizontalProperty,\n verticalProperty\n });\n shadowRoot.appendChild(css);\n // State\n let isVisible = false;\n let isBuilding = false;\n let timeoutId = null;\n // Handle events\n (0, _websocket.addMessageListener)((obj)=>{\n try {\n handleMessage(obj);\n } catch (e) {}\n });\n function show() {\n timeoutId && clearTimeout(timeoutId);\n isVisible = true;\n isBuilding = true;\n updateContainer();\n }\n function hide() {\n isBuilding = false;\n // Wait for the fade out transition to complete\n timeoutId = setTimeout(()=>{\n isVisible = false;\n updateContainer();\n }, 100);\n updateContainer();\n }\n function handleMessage(obj) {\n if (!(\"action\" in obj)) {\n return;\n }\n // eslint-disable-next-line default-case\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n show();\n break;\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n hide();\n break;\n }\n }\n toggleCallback({\n show,\n hide\n });\n function updateContainer() {\n if (isBuilding) {\n container.classList.add(\"\" + prefix + \"building\");\n } else {\n container.classList.remove(\"\" + prefix + \"building\");\n }\n if (isVisible) {\n container.classList.add(\"\" + prefix + \"visible\");\n } else {\n container.classList.remove(\"\" + prefix + \"visible\");\n }\n }\n}\nfunction createContainer(prefix) {\n const container = document.createElement(\"div\");\n container.id = \"\" + prefix + \"container\";\n container.innerHTML = '\\n <div id=\"' + prefix + 'icon-wrapper\">\\n <svg viewBox=\"0 0 226 200\">\\n <defs>\\n <linearGradient\\n x1=\"114.720775%\"\\n y1=\"181.283245%\"\\n x2=\"39.5399306%\"\\n y2=\"100%\"\\n id=\"' + prefix + 'linear-gradient\"\\n >\\n <stop stop-color=\"#000000\" offset=\"0%\" />\\n <stop stop-color=\"#FFFFFF\" offset=\"100%\" />\\n </linearGradient>\\n </defs>\\n <g id=\"' + prefix + 'icon-group\" fill=\"none\" stroke=\"url(#' + prefix + 'linear-gradient)\" stroke-width=\"18\">\\n <path d=\"M113,5.08219117 L4.28393801,197.5 L221.716062,197.5 L113,5.08219117 Z\" />\\n </g>\\n </svg>\\n </div>\\n ';\n return container;\n}\nfunction createCss(prefix, param) {\n let { horizontalProperty, verticalProperty } = param;\n const css = document.createElement(\"style\");\n css.textContent = \"\\n #\" + prefix + \"container {\\n position: absolute;\\n \" + verticalProperty + \": 10px;\\n \" + horizontalProperty + \": 30px;\\n\\n border-radius: 3px;\\n background: #000;\\n color: #fff;\\n font: initial;\\n cursor: initial;\\n letter-spacing: initial;\\n text-shadow: initial;\\n text-transform: initial;\\n visibility: initial;\\n\\n padding: 7px 10px 8px 10px;\\n align-items: center;\\n box-shadow: 0 11px 40px 0 rgba(0, 0, 0, 0.25), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\\n\\n display: none;\\n opacity: 0;\\n transition: opacity 0.1s ease, \" + verticalProperty + \" 0.1s ease;\\n animation: \" + prefix + \"fade-in 0.1s ease-in-out;\\n }\\n\\n #\" + prefix + \"container.\" + prefix + \"visible {\\n display: flex;\\n }\\n\\n #\" + prefix + \"container.\" + prefix + \"building {\\n \" + verticalProperty + \": 20px;\\n opacity: 1;\\n }\\n\\n #\" + prefix + \"icon-wrapper {\\n width: 16px;\\n height: 16px;\\n }\\n\\n #\" + prefix + \"icon-wrapper > svg {\\n width: 100%;\\n height: 100%;\\n }\\n\\n #\" + prefix + \"icon-group {\\n animation: \" + prefix + \"strokedash 1s ease-in-out both infinite;\\n }\\n\\n @keyframes \" + prefix + \"fade-in {\\n from {\\n \" + verticalProperty + \": 10px;\\n opacity: 0;\\n }\\n to {\\n \" + verticalProperty + \": 20px;\\n opacity: 1;\\n }\\n }\\n\\n @keyframes \" + prefix + \"strokedash {\\n 0% {\\n stroke-dasharray: 0 226;\\n }\\n 80%,\\n 100% {\\n stroke-dasharray: 659 226;\\n }\\n }\\n \";\n return css;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=dev-build-watcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZGV2LWJ1aWxkLXdhdGNoZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEOzs7OzJDQWExRDs7O2VBQXdCQTs7OzhDQVpvQjt1Q0FFVDtBQVVwQixTQUFTQSx1QkFDdEJDLGNBQW1ELEVBQ25EQyxRQUF5QjtJQUF6QkEsSUFBQUEsYUFBQUEsS0FBQUEsR0FBQUEsV0FBVztJQUVYLE1BQU1DLGFBQWFDLFNBQVNDLGFBQWEsQ0FBQztJQUMxQyxNQUFNLENBQUNDLGtCQUFrQkMsbUJBQW1CLEdBQUdMLFNBQVNNLEtBQUssQ0FBQyxLQUFLO0lBSW5FTCxXQUFXTSxFQUFFLEdBQUc7SUFDaEIsZ0VBQWdFO0lBQ2hFTixXQUFXTyxLQUFLLENBQUNSLFFBQVEsR0FBRztJQUM1Qiw0REFBNEQ7SUFDNURDLFdBQVdPLEtBQUssQ0FBQ0osaUJBQWlCLEdBQUc7SUFDckMsNERBQTREO0lBQzVESCxXQUFXTyxLQUFLLENBQUNILG1CQUFtQixHQUFHO0lBQ3ZDSixXQUFXTyxLQUFLLENBQUNDLEtBQUssR0FBRztJQUN6QlIsV0FBV08sS0FBSyxDQUFDRSxNQUFNLEdBQUc7SUFDMUJULFdBQVdPLEtBQUssQ0FBQ0csTUFBTSxHQUFHO0lBQzFCVCxTQUFTVSxJQUFJLENBQUNDLFdBQVcsQ0FBQ1o7SUFFMUIsSUFBSWE7SUFDSixJQUFJQyxTQUFTO0lBRWIsSUFBSWQsV0FBV2UsWUFBWSxFQUFFO1FBQzNCRixhQUFhYixXQUFXZSxZQUFZLENBQUM7WUFBRUMsTUFBTTtRQUFPO0lBQ3RELE9BQU87UUFDTCxpRUFBaUU7UUFDakUsMkRBQTJEO1FBQzNELHVCQUF1QjtRQUN2QkgsYUFBYWI7UUFDYmMsU0FBUztJQUNYO0lBRUEsWUFBWTtJQUNaLE1BQU1HLFlBQVlDLGdCQUFnQko7SUFDbENELFdBQVdELFdBQVcsQ0FBQ0s7SUFFdkIsTUFBTTtJQUNOLE1BQU1FLE1BQU1DLFVBQVVOLFFBQVE7UUFBRVY7UUFBb0JEO0lBQWlCO0lBQ3JFVSxXQUFXRCxXQUFXLENBQUNPO0lBRXZCLFFBQVE7SUFDUixJQUFJRSxZQUFZO0lBQ2hCLElBQUlDLGFBQWE7SUFDakIsSUFBSUMsWUFBa0Q7SUFFdEQsZ0JBQWdCO0lBRWhCQyxDQUFBQSxHQUFBQSxXQUFBQSxrQkFBa0IsRUFBQyxDQUFDQztRQUNsQixJQUFJO1lBQ0ZDLGNBQWNEO1FBQ2hCLEVBQUUsT0FBQUUsR0FBTSxDQUFDO0lBQ1g7SUFFQSxTQUFTQztRQUNQTCxhQUFhTSxhQUFhTjtRQUMxQkYsWUFBWTtRQUNaQyxhQUFhO1FBQ2JRO0lBQ0Y7SUFFQSxTQUFTQztRQUNQVCxhQUFhO1FBQ2IsK0NBQStDO1FBQy9DQyxZQUFZUyxXQUFXO1lBQ3JCWCxZQUFZO1lBQ1pTO1FBQ0YsR0FBRztRQUNIQTtJQUNGO0lBRUEsU0FBU0osY0FBY0QsR0FBcUI7UUFDMUMsSUFBSSxDQUFFLGFBQVlBLEdBQUFBLEdBQU07WUFDdEI7UUFDRjtRQUVBLHdDQUF3QztRQUN4QyxPQUFRQSxJQUFJUSxNQUFNO1lBQ2hCLEtBQUtDLGtCQUFBQSwyQkFBMkIsQ0FBQ0MsUUFBUTtnQkFDdkNQO2dCQUNBO1lBQ0YsS0FBS00sa0JBQUFBLDJCQUEyQixDQUFDRSxLQUFLO1lBQ3RDLEtBQUtGLGtCQUFBQSwyQkFBMkIsQ0FBQ0csSUFBSTtnQkFDbkNOO2dCQUNBO1FBQ0o7SUFDRjtJQUVBakMsZUFBZTtRQUNiOEI7UUFDQUc7SUFDRjtJQUVBLFNBQVNEO1FBQ1AsSUFBSVIsWUFBWTtZQUNkTCxVQUFVcUIsU0FBUyxDQUFDQyxHQUFHLENBQUMsS0FBR3pCLFNBQU87UUFDcEMsT0FBTztZQUNMRyxVQUFVcUIsU0FBUyxDQUFDRSxNQUFNLENBQUMsS0FBRzFCLFNBQU87UUFDdkM7UUFFQSxJQUFJTyxXQUFXO1lBQ2JKLFVBQVVxQixTQUFTLENBQUNDLEdBQUcsQ0FBQyxLQUFHekIsU0FBTztRQUNwQyxPQUFPO1lBQ0xHLFVBQVVxQixTQUFTLENBQUNFLE1BQU0sQ0FBQyxLQUFHMUIsU0FBTztRQUN2QztJQUNGO0FBQ0Y7QUFFQSxTQUFTSSxnQkFBZ0JKLE1BQWM7SUFDckMsTUFBTUcsWUFBWWhCLFNBQVNDLGFBQWEsQ0FBQztJQUN6Q2UsVUFBVVgsRUFBRSxHQUFHLEtBQUdRLFNBQU87SUFDekJHLFVBQVV3QixTQUFTLEdBQUcsb0JBQ1QzQixTQUFPLG9PQVFKQSxTQUFPLGlOQU1SQSxTQUFPLDBDQUF1Q0EsU0FBTztJQU9wRSxPQUFPRztBQUNUO0FBRUEsU0FBU0csVUFDUE4sTUFBYyxFQUNkNEIsS0FHMkQ7SUFIM0QsTUFDRXRDLGtCQUFrQixFQUNsQkQsZ0JBQWdCLEVBQ3lDLEdBSDNEdUM7SUFLQSxNQUFNdkIsTUFBTWxCLFNBQVNDLGFBQWEsQ0FBQztJQUNuQ2lCLElBQUl3QixXQUFXLEdBQUcsWUFDYjdCLFNBQU8sbURBRU5YLG1CQUFpQixvQkFDakJDLHFCQUFtQix3ZUFrQllELG1CQUFpQixtQ0FDckNXLFNBQU8sOENBR25CQSxTQUFPLGVBQVlBLFNBQU8sb0RBSTFCQSxTQUFPLGVBQVlBLFNBQU8sdUJBQ3pCWCxtQkFBaUIsK0NBSWxCVyxTQUFPLDRFQUtQQSxTQUFPLGtGQUtQQSxTQUFPLG9DQUNLQSxTQUFPLHVFQUdUQSxTQUFPLHNDQUVkWCxtQkFBaUIsZ0VBSWpCQSxtQkFBaUIsb0VBS1ZXLFNBQU87SUFXdEIsT0FBT0s7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9kZXYvZGV2LWJ1aWxkLXdhdGNoZXIudHM/MTA5MyJdLCJuYW1lcyI6WyJpbml0aWFsaXplQnVpbGRXYXRjaGVyIiwidG9nZ2xlQ2FsbGJhY2siLCJwb3NpdGlvbiIsInNoYWRvd0hvc3QiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ2ZXJ0aWNhbFByb3BlcnR5IiwiaG9yaXpvbnRhbFByb3BlcnR5Iiwic3BsaXQiLCJpZCIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJ6SW5kZXgiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJzaGFkb3dSb290IiwicHJlZml4IiwiYXR0YWNoU2hhZG93IiwibW9kZSIsImNvbnRhaW5lciIsImNyZWF0ZUNvbnRhaW5lciIsImNzcyIsImNyZWF0ZUNzcyIsImlzVmlzaWJsZSIsImlzQnVpbGRpbmciLCJ0aW1lb3V0SWQiLCJhZGRNZXNzYWdlTGlzdGVuZXIiLCJvYmoiLCJoYW5kbGVNZXNzYWdlIiwiZSIsInNob3ciLCJjbGVhclRpbWVvdXQiLCJ1cGRhdGVDb250YWluZXIiLCJoaWRlIiwic2V0VGltZW91dCIsImFjdGlvbiIsIkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiIsIkJVSUxESU5HIiwiQlVJTFQiLCJTWU5DIiwiY2xhc3NMaXN0IiwiYWRkIiwicmVtb3ZlIiwiaW5uZXJIVE1MIiwicGFyYW0iLCJ0ZXh0Q29udGVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/dev-build-watcher.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/fouc.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/client/dev/fouc.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// This wrapper function is used to safely select the best available function\n// to schedule removal of the no-FOUC styles workaround. requestAnimationFrame\n// is the ideal choice, but when used in iframes, there are no guarantees that\n// the callback will actually be called, which could stall the promise returned\n// from displayContent.\n//\n// See: https://www.vector-logic.com/blog/posts/on-request-animation-frame-and-embedded-iframes\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"displayContent\", ({\n enumerable: true,\n get: function() {\n return displayContent;\n }\n}));\nconst safeCallbackQueue = (callback)=>{\n if (window.requestAnimationFrame && window.self === window.top) {\n window.requestAnimationFrame(callback);\n } else {\n window.setTimeout(callback);\n }\n};\nfunction displayContent() {\n return new Promise((resolve)=>{\n safeCallbackQueue(function() {\n for(var x = document.querySelectorAll(\"[data-next-hide-fouc]\"), i = x.length; i--;){\n x[i].parentNode.removeChild(x[i]);\n }\n resolve();\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fouc.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZm91Yy5qcyIsIm1hcHBpbmdzIjoiQUFBQSw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSwrRUFBK0U7QUFDL0UsdUJBQXVCO0FBQ3ZCLEVBQUU7QUFDRiwrRkFBK0Y7Ozs7O2tEQVkvRUE7OztlQUFBQTs7O0FBWGhCLE1BQU1DLG9CQUFvQixDQUFDQztJQUN6QixJQUFJQyxPQUFPQyxxQkFBcUIsSUFBSUQsT0FBT0UsSUFBSSxLQUFLRixPQUFPRyxHQUFHLEVBQUU7UUFDOURILE9BQU9DLHFCQUFxQixDQUFDRjtJQUMvQixPQUFPO1FBQ0xDLE9BQU9JLFVBQVUsQ0FBQ0w7SUFDcEI7QUFDRjtBQUtPLFNBQVNGO0lBQ2QsT0FBTyxJQUFJUSxRQUFRLENBQUNDO1FBQ2xCUixrQkFBa0I7WUFDaEIsSUFDRSxJQUFJUyxJQUFJQyxTQUFTQyxnQkFBZ0IsQ0FBQywwQkFDaENDLElBQUlILEVBQUVJLE1BQU0sRUFDZEQsS0FFQTtnQkFDQUgsQ0FBQyxDQUFDRyxFQUFFLENBQUNFLFVBQVUsQ0FBRUMsV0FBVyxDQUFDTixDQUFDLENBQUNHLEVBQUU7WUFDbkM7WUFDQUo7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvZGV2L2ZvdWMudHM/MjY3MCJdLCJuYW1lcyI6WyJkaXNwbGF5Q29udGVudCIsInNhZmVDYWxsYmFja1F1ZXVlIiwiY2FsbGJhY2siLCJ3aW5kb3ciLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJzZWxmIiwidG9wIiwic2V0VGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwieCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImkiLCJsZW5ndGgiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/fouc.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/hot-middleware-client.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/hot-middleware-client.js ***! - \********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _hotreloaderclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../components/react-dev-overlay/pages/hot-reloader-client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js\"));\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nlet reloading = false;\nconst _default = (mode)=>{\n const devClient = (0, _hotreloaderclient.default)(mode);\n devClient.subscribeToHmrEvent((obj)=>{\n if (reloading) return;\n // if we're on an error/404 page, we can't reliably tell if the newly added/removed page\n // matches the current path. In that case, assume any added/removed entries should trigger a reload of the current page\n const isOnErrorPage = window.next.router.pathname === \"/404\" || window.next.router.pathname === \"/_error\";\n switch(obj.action){\n case \"reloadPage\":\n {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-reload-page\",\n clientId: window.__nextDevClientId\n }));\n reloading = true;\n return window.location.reload();\n }\n case \"removedPage\":\n {\n const [page] = obj.data;\n if (page === window.next.router.pathname || isOnErrorPage) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-removed-page\",\n clientId: window.__nextDevClientId,\n page\n }));\n return window.location.reload();\n }\n return;\n }\n case \"addedPage\":\n {\n const [page] = obj.data;\n if (page === window.next.router.pathname && typeof window.next.router.components[page] === \"undefined\" || isOnErrorPage) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-added-page\",\n clientId: window.__nextDevClientId,\n page\n }));\n return window.location.reload();\n }\n return;\n }\n case \"serverError\":\n case \"devPagesManifestUpdate\":\n case \"building\":\n case \"finishBuilding\":\n {\n return;\n }\n default:\n {\n throw new Error(\"Unexpected action \" + obj.action);\n }\n }\n });\n return devClient;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-middleware-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvaG90LW1pZGRsZXdhcmUtY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBS0E7OztlQUFBQTs7Ozt3RkFMb0I7dUNBQ1E7QUFFNUIsSUFBSUMsWUFBWTtNQUVoQkQsV0FBZSxDQUFDRTtJQUNkLE1BQU1DLFlBQVlDLENBQUFBLEdBQUFBLG1CQUFBQSxPQUFPLEVBQUNGO0lBRTFCQyxVQUFVRSxtQkFBbUIsQ0FBQyxDQUFDQztRQUM3QixJQUFJTCxXQUFXO1FBQ2Ysd0ZBQXdGO1FBQ3hGLHVIQUF1SDtRQUN2SCxNQUFNTSxnQkFDSkMsT0FBT0MsSUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVEsS0FBSyxVQUNoQ0gsT0FBT0MsSUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVEsS0FBSztRQUVsQyxPQUFRTCxJQUFJTSxNQUFNO1lBQ2hCLEtBQUs7Z0JBQWM7b0JBQ2pCQyxDQUFBQSxHQUFBQSxXQUFBQSxXQUFXLEVBQ1RDLEtBQUtDLFNBQVMsQ0FBQzt3QkFDYkMsT0FBTzt3QkFDUEMsVUFBVVQsT0FBT1UsaUJBQWlCO29CQUNwQztvQkFFRmpCLFlBQVk7b0JBQ1osT0FBT08sT0FBT1csUUFBUSxDQUFDQyxNQUFNO2dCQUMvQjtZQUNBLEtBQUs7Z0JBQWU7b0JBQ2xCLE1BQU0sQ0FBQ0MsS0FBSyxHQUFHZixJQUFJZ0IsSUFBSTtvQkFDdkIsSUFBSUQsU0FBU2IsT0FBT0MsSUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVEsSUFBSUosZUFBZTt3QkFDekRNLENBQUFBLEdBQUFBLFdBQUFBLFdBQVcsRUFDVEMsS0FBS0MsU0FBUyxDQUFDOzRCQUNiQyxPQUFPOzRCQUNQQyxVQUFVVCxPQUFPVSxpQkFBaUI7NEJBQ2xDRzt3QkFDRjt3QkFFRixPQUFPYixPQUFPVyxRQUFRLENBQUNDLE1BQU07b0JBQy9CO29CQUNBO2dCQUNGO1lBQ0EsS0FBSztnQkFBYTtvQkFDaEIsTUFBTSxDQUFDQyxLQUFLLEdBQUdmLElBQUlnQixJQUFJO29CQUN2QixJQUNFRCxTQUFVYixPQUFPQyxJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsUUFBUSxJQUNuQyxPQUFPSCxPQUFPQyxJQUFJLENBQUNDLE1BQU0sQ0FBQ2EsVUFBVSxDQUFDRixLQUFLLEtBQUssZUFDakRkLGVBQ0E7d0JBQ0FNLENBQUFBLEdBQUFBLFdBQUFBLFdBQVcsRUFDVEMsS0FBS0MsU0FBUyxDQUFDOzRCQUNiQyxPQUFPOzRCQUNQQyxVQUFVVCxPQUFPVSxpQkFBaUI7NEJBQ2xDRzt3QkFDRjt3QkFFRixPQUFPYixPQUFPVyxRQUFRLENBQUNDLE1BQU07b0JBQy9CO29CQUNBO2dCQUNGO1lBQ0EsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztnQkFBa0I7b0JBQ3JCO2dCQUNGO1lBQ0E7Z0JBQVM7b0JBQ1AsTUFBTSxJQUFJSSxNQUFNLHVCQUF1QmxCLElBQUlNLE1BQU07Z0JBQ25EO1FBQ0Y7SUFDRjtJQUVBLE9BQU9UO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvZGV2L2hvdC1taWRkbGV3YXJlLWNsaWVudC50cz9kYjJkIl0sIm5hbWVzIjpbIl9kZWZhdWx0IiwicmVsb2FkaW5nIiwibW9kZSIsImRldkNsaWVudCIsImNvbm5lY3QiLCJzdWJzY3JpYmVUb0htckV2ZW50Iiwib2JqIiwiaXNPbkVycm9yUGFnZSIsIndpbmRvdyIsIm5leHQiLCJyb3V0ZXIiLCJwYXRobmFtZSIsImFjdGlvbiIsInNlbmRNZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiY2xpZW50SWQiLCJfX25leHREZXZDbGllbnRJZCIsImxvY2F0aW9uIiwicmVsb2FkIiwicGFnZSIsImRhdGEiLCJjb21wb25lbnRzIiwiRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/hot-middleware-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/on-demand-entries-client.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/on-demand-entries-client.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../router */ \"./node_modules/next/dist/client/router.js\"));\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nconst _default = async (page)=>{\n if (page) {\n // in AMP the router isn't initialized on the client and\n // client-transitions don't occur so ping initial page\n setInterval(()=>{\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page\n }));\n }, 2500);\n } else {\n _router.default.ready(()=>{\n setInterval(()=>{\n // when notFound: true is returned we should use the notFoundPage\n // as the Router.pathname will point to the 404 page but we want\n // to ping the source page that returned notFound: true instead\n const notFoundSrcPage = self.__NEXT_DATA__.notFoundSrcPage;\n const pathname = (_router.default.pathname === \"/404\" || _router.default.pathname === \"/_error\") && notFoundSrcPage ? notFoundSrcPage : _router.default.pathname;\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page: pathname\n }));\n }, 2500);\n });\n }\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=on-demand-entries-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBR0E7OztlQUFBQTs7Ozs2RUFIbUI7dUNBQ1M7TUFFNUJBLFdBQWUsT0FBT0M7SUFDcEIsSUFBSUEsTUFBTTtRQUNSLHdEQUF3RDtRQUN4RCxzREFBc0Q7UUFDdERDLFlBQVk7WUFDVkMsQ0FBQUEsR0FBQUEsV0FBQUEsV0FBVyxFQUFDQyxLQUFLQyxTQUFTLENBQUM7Z0JBQUVDLE9BQU87Z0JBQVFMO1lBQUs7UUFDbkQsR0FBRztJQUNMLE9BQU87UUFDTE0sUUFBQUEsT0FBTSxDQUFDQyxLQUFLLENBQUM7WUFDWE4sWUFBWTtnQkFDVixpRUFBaUU7Z0JBQ2pFLGdFQUFnRTtnQkFDaEUsK0RBQStEO2dCQUMvRCxNQUFNTyxrQkFBa0JDLEtBQUtDLGFBQWEsQ0FBQ0YsZUFBZTtnQkFDMUQsTUFBTUcsV0FDSixDQUFDTCxRQUFBQSxPQUFNLENBQUNLLFFBQVEsS0FBSyxVQUFVTCxRQUFBQSxPQUFNLENBQUNLLFFBQVEsS0FBSyxjQUNuREgsa0JBQ0lBLGtCQUNBRixRQUFBQSxPQUFNLENBQUNLLFFBQVE7Z0JBRXJCVCxDQUFBQSxHQUFBQSxXQUFBQSxXQUFXLEVBQUNDLEtBQUtDLFNBQVMsQ0FBQztvQkFBRUMsT0FBTztvQkFBUUwsTUFBTVc7Z0JBQVM7WUFDN0QsR0FBRztRQUNMO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LnRzP2UwNDUiXSwibmFtZXMiOlsiX2RlZmF1bHQiLCJwYWdlIiwic2V0SW50ZXJ2YWwiLCJzZW5kTWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJldmVudCIsIlJvdXRlciIsInJlYWR5Iiwibm90Rm91bmRTcmNQYWdlIiwic2VsZiIsIl9fTkVYVF9EQVRBX18iLCJwYXRobmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/on-demand-entries-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/has-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/has-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasBasePath\", ({\n enumerable: true,\n get: function() {\n return hasBasePath;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst basePath = false || \"\";\nfunction hasBasePath(path) {\n return (0, _pathhasprefix.pathHasPrefix)(path, basePath);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBSWdCQTs7O2VBQUFBOzs7MkNBSmM7QUFFOUIsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZO0lBQ3RDLE9BQU9DLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ0QsTUFBTUo7QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaGFzLWJhc2UtcGF0aC50cz9hMzEyIl0sIm5hbWVzIjpbImhhc0Jhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJwYXRoSGFzUHJlZml4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/has-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/head-manager.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/head-manager.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DOMAttributeNames: function() {\n return DOMAttributeNames;\n },\n default: function() {\n return initHeadManager;\n },\n isEqualNode: function() {\n return isEqualNode;\n }\n});\nconst DOMAttributeNames = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\",\n noModule: \"noModule\"\n};\nfunction reactElementToDOM(param) {\n let { type, props } = param;\n const el = document.createElement(type);\n for(const p in props){\n if (!props.hasOwnProperty(p)) continue;\n if (p === \"children\" || p === \"dangerouslySetInnerHTML\") continue;\n // we don't render undefined props to the DOM\n if (props[p] === undefined) continue;\n const attr = DOMAttributeNames[p] || p.toLowerCase();\n if (type === \"script\" && (attr === \"async\" || attr === \"defer\" || attr === \"noModule\")) {\n el[attr] = !!props[p];\n } else {\n el.setAttribute(attr, props[p]);\n }\n }\n const { children, dangerouslySetInnerHTML } = props;\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return el;\n}\nfunction isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(\"nonce\");\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(\"nonce\")) {\n const cloneTag = newTag.cloneNode(true);\n cloneTag.setAttribute(\"nonce\", \"\");\n cloneTag.nonce = nonce;\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag);\n }\n }\n return oldTag.isEqualNode(newTag);\n}\nlet updateElements;\nif (false) {} else {\n updateElements = (type, components)=>{\n const headEl = document.getElementsByTagName(\"head\")[0];\n const headCountEl = headEl.querySelector(\"meta[name=next-head-count]\");\n if (true) {\n if (!headCountEl) {\n console.error(\"Warning: next-head-count is missing. https://nextjs.org/docs/messages/next-head-count-missing\");\n return;\n }\n }\n const headCount = Number(headCountEl.content);\n const oldTags = [];\n for(let i = 0, j = headCountEl.previousElementSibling; i < headCount; i++, j = (j == null ? void 0 : j.previousElementSibling) || null){\n var _j_tagName;\n if ((j == null ? void 0 : (_j_tagName = j.tagName) == null ? void 0 : _j_tagName.toLowerCase()) === type) {\n oldTags.push(j);\n }\n }\n const newTags = components.map(reactElementToDOM).filter((newTag)=>{\n for(let k = 0, len = oldTags.length; k < len; k++){\n const oldTag = oldTags[k];\n if (isEqualNode(oldTag, newTag)) {\n oldTags.splice(k, 1);\n return false;\n }\n }\n return true;\n });\n oldTags.forEach((t)=>{\n var _t_parentNode;\n return (_t_parentNode = t.parentNode) == null ? void 0 : _t_parentNode.removeChild(t);\n });\n newTags.forEach((t)=>headEl.insertBefore(t, headCountEl));\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString();\n };\n}\nfunction initHeadManager() {\n return {\n mountedInstances: new Set(),\n updateHead: (head)=>{\n const tags = {};\n head.forEach((h)=>{\n if (// it won't be inlined. In this case revert to the original behavior\n h.type === \"link\" && h.props[\"data-optimized-fonts\"]) {\n if (document.querySelector('style[data-href=\"' + h.props[\"data-href\"] + '\"]')) {\n return;\n } else {\n h.props.href = h.props[\"data-href\"];\n h.props[\"data-href\"] = undefined;\n }\n }\n const components = tags[h.type] || [];\n components.push(h);\n tags[h.type] = components;\n });\n const titleComponent = tags.title ? tags.title[0] : null;\n let title = \"\";\n if (titleComponent) {\n const { children } = titleComponent.props;\n title = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n if (title !== document.title) document.title = title;\n [\n \"meta\",\n \"base\",\n \"link\",\n \"style\",\n \"script\"\n ].forEach((type)=>{\n updateElements(type, tags[type] || []);\n });\n }\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head-manager.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oZWFkLW1hbmFnZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLG1CQUFpQjtlQUFqQkE7O0lBbUxiQyxTQWdEQztlQWhEdUJDOztJQTNIUkMsYUFBVztlQUFYQTs7O0FBeERULE1BQU1ILG9CQUE0QztJQUN2REksZUFBZTtJQUNmQyxXQUFXO0lBQ1hDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxVQUFVO0FBQ1o7QUFFQSxTQUFTQyxrQkFBa0JDLEtBQTRCO0lBQTVCLE1BQUVDLElBQUksRUFBRUMsS0FBSyxFQUFlLEdBQTVCRjtJQUN6QixNQUFNRyxLQUFrQkMsU0FBU0MsYUFBYSxDQUFDSjtJQUMvQyxJQUFLLE1BQU1LLEtBQUtKLE1BQU87UUFDckIsSUFBSSxDQUFDQSxNQUFNSyxjQUFjLENBQUNELElBQUk7UUFDOUIsSUFBSUEsTUFBTSxjQUFjQSxNQUFNLDJCQUEyQjtRQUV6RCw2Q0FBNkM7UUFDN0MsSUFBSUosS0FBSyxDQUFDSSxFQUFFLEtBQUtFLFdBQVc7UUFFNUIsTUFBTUMsT0FBT25CLGlCQUFpQixDQUFDZ0IsRUFBRSxJQUFJQSxFQUFFSSxXQUFXO1FBQ2xELElBQ0VULFNBQVMsWUFDUlEsQ0FBQUEsU0FBUyxXQUFXQSxTQUFTLFdBQVdBLFNBQVMsYUFDbEQ7WUFDRU4sRUFBd0IsQ0FBQ00sS0FBSyxHQUFHLENBQUMsQ0FBQ1AsS0FBSyxDQUFDSSxFQUFFO1FBQy9DLE9BQU87WUFDTEgsR0FBR1EsWUFBWSxDQUFDRixNQUFNUCxLQUFLLENBQUNJLEVBQUU7UUFDaEM7SUFDRjtJQUVBLE1BQU0sRUFBRU0sUUFBUSxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHWDtJQUM5QyxJQUFJVyx5QkFBeUI7UUFDM0JWLEdBQUdXLFNBQVMsR0FBR0Qsd0JBQXdCRSxNQUFNLElBQUk7SUFDbkQsT0FBTyxJQUFJSCxVQUFVO1FBQ25CVCxHQUFHYSxXQUFXLEdBQ1osT0FBT0osYUFBYSxXQUNoQkEs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Q0YsT0FBTzt3QkFDTHlFLEVBQUV6RSxLQUFLLENBQUMwRSxJQUFJLEdBQUdELEVBQUV6RSxLQUFLLENBQUMsWUFBWTt3QkFDbkN5RSxFQUFFekUsS0FBSyxDQUFDLFlBQVksR0FBR007b0JBQ3pCO2dCQUNGO2dCQUVBLE1BQU11QixhQUFhMkMsSUFBSSxDQUFDQyxFQUFFMUUsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDckM4QixXQUFXTyxJQUFJLENBQUNxQztnQkFDaEJELElBQUksQ0FBQ0MsRUFBRTFFLElBQUksQ0FBQyxHQUFHOEI7WUFDakI7WUFFQSxNQUFNOEMsaUJBQWlCSCxLQUFLSSxLQUFLLEdBQUdKLEtBQUtJLEtBQUssQ0FBQyxFQUFFLEdBQUc7WUFDcEQsSUFBSUEsUUFBUTtZQUNaLElBQUlELGdCQUFnQjtnQkFDbEIsTUFBTSxFQUFFakUsUUFBUSxFQUFFLEdBQUdpRSxlQUFlM0UsS0FBSztnQkFDekM0RSxRQUNFLE9BQU9sRSxhQUFhLFdBQ2hCQSxXQUNBSyxNQUFNQyxPQUFPLENBQUNOLFlBQ2RBLFNBQVNPLElBQUksQ0FBQyxNQUNkO1lBQ1I7WUFDQSxJQUFJMkQsVUFBVTFFLFNBQVMwRSxLQUFLLEVBQUUxRSxTQUFTMEUsS0FBSyxHQUFHQTtZQUM5QztnQkFBQztnQkFBUTtnQkFBUTtnQkFBUTtnQkFBUzthQUFTLENBQUMzQixPQUFPLENBQUMsQ0FBQ2xEO2dCQUNwRDBCLGVBQWUxQixNQUFNeUUsSUFBSSxDQUFDekUsS0FBSyxJQUFJLEVBQUU7WUFDdkM7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaGVhZC1tYW5hZ2VyLnRzPzcxMDkiXSwibmFtZXMiOlsiRE9NQXR0cmlidXRlTmFtZXMiLCJkZWZhdWx0IiwiaW5pdEhlYWRNYW5hZ2VyIiwiaXNFcXVhbE5vZGUiLCJhY2NlcHRDaGFyc2V0IiwiY2xhc3NOYW1lIiwiaHRtbEZvciIsImh0dHBFcXVpdiIsIm5vTW9kdWxlIiwicmVhY3RFbGVtZW50VG9ET00iLCJwYXJhbSIsInR5cGUiLCJwcm9wcyIsImVsIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwicCIsImhhc093blByb3BlcnR5IiwidW5kZWZpbmVkIiwiYXR0ciIsInRvTG93ZXJDYXNlIiwic2V0QXR0cmlidXRlIiwiY2hpbGRyZW4iLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImlubmVySFRNTCIsIl9faHRtbCIsInRleHRDb250ZW50IiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsIm9sZFRhZyIsIm5ld1RhZyIsIkhUTUxFbGVtZW50Iiwibm9uY2UiLCJnZXRBdHRyaWJ1dGUiLCJjbG9uZVRhZyIsImNsb25lTm9kZSIsInVwZGF0ZUVsZW1lbnRzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9TVFJJQ1RfTkVYVF9IRUFEIiwiY29tcG9uZW50cyIsImhlYWRFbCIsInF1ZXJ5U2VsZWN0b3IiLCJoZWFkTWV0YVRhZ3MiLCJxdWVyeVNlbGVjdG9yQWxsIiwib2xkVGFncyIsIm1ldGFDaGFyc2V0IiwicHVzaCIsImkiLCJsZW5ndGgiLCJoZWFkVGFnIiwibWV0YVRhZyIsIm5leHRTaWJsaW5nIiwidGFnTmFtZSIsIm5ld1RhZ3MiLCJtYXAiLCJmaWx0ZXIiLCJrIiwibGVuIiwic3BsaWNlIiwiZm9yRWFjaCIsInQiLCJwcmV2aW91c1NpYmxpbmciLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJtZXRhIiwibmFtZSIsImNvbnRlbnQiLCJhcHBlbmRDaGlsZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaGVhZENvdW50RWwiLCJjb25zb2xlIiwiZXJyb3IiLCJoZWFkQ291bnQiLCJOdW1iZXIiLCJqIiwicHJldmlvdXNFbGVtZW50U2libGluZyIsImluc2VydEJlZm9yZSIsInRvU3RyaW5nIiwibW91bnRlZEluc3RhbmNlcyIsIlNldCIsInVwZGF0ZUhlYWQiLCJoZWFkIiwidGFncyIsImgiLCJocmVmIiwidGl0bGVDb21wb25lbnQiLCJ0aXRsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/head-manager.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/index.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/client/index.js ***! - \************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* global location */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nvar _s = $RefreshSig$(), _s1 = $RefreshSig$(), _s2 = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n emitter: function() {\n return emitter;\n },\n hydrate: function() {\n return hydrate;\n },\n initialize: function() {\n return initialize;\n },\n router: function() {\n return router;\n },\n version: function() {\n return version;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n__webpack_require__(/*! ../build/polyfills/polyfill-module */ \"./node_modules/next/dist/build/polyfills/polyfill-module.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _client = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\"));\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ../shared/lib/head-manager-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _mitt = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/mitt */ \"./node_modules/next/dist/shared/lib/mitt.js\"));\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../shared/lib/router/utils/handle-smooth-scroll */ \"./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _isdynamic = __webpack_require__(/*! ../shared/lib/router/utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _runtimeconfigexternal = __webpack_require__(/*! ../shared/lib/runtime-config.external */ \"./node_modules/next/dist/shared/lib/runtime-config.external.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _portal = __webpack_require__(/*! ./portal */ \"./node_modules/next/dist/client/portal/index.js\");\nconst _headmanager = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./head-manager */ \"./node_modules/next/dist/client/head-manager.js\"));\nconst _pageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./page-loader */ \"./node_modules/next/dist/client/page-loader.js\"));\nconst _performancerelayer = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./performance-relayer */ \"./node_modules/next/dist/client/performance-relayer.js\" // TODO: remove in the next major version\n));\nconst _routeannouncer = __webpack_require__(/*! ./route-announcer */ \"./node_modules/next/dist/client/route-announcer.js\");\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nconst _iserror = __webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\");\nconst _removebasepath = __webpack_require__(/*! ./remove-base-path */ \"./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _adapters = __webpack_require__(/*! ../shared/lib/router/adapters */ \"./node_modules/next/dist/shared/lib/router/adapters.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../shared/lib/hooks-client-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\");\nconst _onrecoverableerror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./on-recoverable-error */ \"./node_modules/next/dist/client/on-recoverable-error.js\"));\nconst _tracer = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./tracing/tracer */ \"./node_modules/next/dist/client/tracing/tracer.js\"));\nconst _reporttosocket = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./tracing/report-to-socket */ \"./node_modules/next/dist/client/tracing/report-to-socket.js\"));\nconst version = \"14.2.3\";\nlet router;\nconst emitter = (0, _mitt.default)();\nconst looseToArray = (input)=>[].slice.call(input);\nlet initialData;\nlet defaultLocale = undefined;\nlet asPath;\nlet pageLoader;\nlet appElement;\nlet headManager;\nlet initialMatchesMiddleware = false;\nlet lastAppProps;\nlet lastRenderReject;\nlet devClient;\nlet CachedApp, onPerfEntry;\nlet CachedComponent;\nclass Container extends _react.default.Component {\n componentDidCatch(componentErr, info) {\n this.props.fn(componentErr, info);\n }\n componentDidMount() {\n this.scrollToHash();\n // We need to replace the router state if:\n // - the page was (auto) exported and has a query string or search (hash)\n // - it was auto exported and is a dynamic route (to provide params)\n // - if it is a client-side skeleton (fallback render)\n // - if middleware matches the current page (may have rewrite params)\n // - if rewrites in next.config.js match (may have rewrite params)\n if (router.isSsr && (initialData.isFallback || initialData.nextExport && ((0, _isdynamic.isDynamicRoute)(router.pathname) || location.search || false || initialMatchesMiddleware) || initialData.props && initialData.props.__N_SSG && (location.search || false || initialMatchesMiddleware))) {\n // update query on mount for exported pages\n router.replace(router.pathname + \"?\" + String((0, _querystring.assign)((0, _querystring.urlQueryToSearchParams)(router.query), new URLSearchParams(location.search))), asPath, {\n // @ts-ignore\n // WARNING: `_h` is an internal option for handing Next.js\n // client-side hydration. Your app should _never_ use this property.\n // It may change at any time without notice.\n _h: 1,\n // Fallback pages must trigger the data fetch, so the transition is\n // not shallow.\n // Other pages (strictly updating query) happens shallowly, as data\n // requirements would already be present.\n shallow: !initialData.isFallback && !initialMatchesMiddleware\n }).catch((err)=>{\n if (!err.cancelled) throw err;\n });\n }\n }\n componentDidUpdate() {\n this.scrollToHash();\n }\n scrollToHash() {\n let { hash } = location;\n hash = hash && hash.substring(1);\n if (!hash) return;\n const el = document.getElementById(hash);\n if (!el) return;\n // If we call scrollIntoView() in here without a setTimeout\n // it won't scroll properly.\n setTimeout(()=>el.scrollIntoView(), 0);\n }\n render() {\n if (false) {} else {\n const ReactDevOverlay = (__webpack_require__(/*! ./components/react-dev-overlay/pages/client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js\").ReactDevOverlay);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ReactDevOverlay, {\n children: this.props.children\n });\n }\n }\n}\nasync function initialize(opts) {\n if (opts === void 0) opts = {};\n _tracer.default.onSpanEnd(_reporttosocket.default);\n // This makes sure this specific lines are removed in production\n if (true) {\n devClient = opts.devClient;\n }\n initialData = JSON.parse(document.getElementById(\"__NEXT_DATA__\").textContent);\n window.__NEXT_DATA__ = initialData;\n defaultLocale = initialData.defaultLocale;\n const prefix = initialData.assetPrefix || \"\";\n self.__next_set_public_path__(\"\" + prefix + \"/_next/\") //eslint-disable-line\n ;\n // Initialize next/config with the environment configuration\n (0, _runtimeconfigexternal.setConfig)({\n serverRuntimeConfig: {},\n publicRuntimeConfig: initialData.runtimeConfig || {}\n });\n asPath = (0, _utils.getURL)();\n // make sure not to attempt stripping basePath for 404s\n if ((0, _hasbasepath.hasBasePath)(asPath)) {\n asPath = (0, _removebasepath.removeBasePath)(asPath);\n }\n if (false) {}\n if (initialData.scriptLoader) {\n const { initScriptLoader } = __webpack_require__(/*! ./script */ \"./node_modules/next/dist/client/script.js\");\n initScriptLoader(initialData.scriptLoader);\n }\n pageLoader = new _pageloader.default(initialData.buildId, prefix);\n const register = (param)=>{\n let [r, f] = param;\n return pageLoader.routeLoader.onEntrypoint(r, f);\n };\n if (window.__NEXT_P) {\n // Defer page registration for another tick. This will increase the overall\n // latency in hydrating the page, but reduce the total blocking time.\n window.__NEXT_P.map((p)=>setTimeout(()=>register(p), 0));\n }\n window.__NEXT_P = [];\n window.__NEXT_P.push = register;\n headManager = (0, _headmanager.default)();\n headManager.getIsSsr = ()=>{\n return router.isSsr;\n };\n appElement = document.getElementById(\"__next\");\n return {\n assetPrefix: prefix\n };\n}\nfunction renderApp(App, appProps) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {\n ...appProps\n });\n}\nfunction AppContainer(param) {\n _s();\n let { children } = param;\n // Create a memoized value for next/navigation router context.\n const adaptedForAppRouter = _react.default.useMemo(()=>{\n return (0, _adapters.adaptForAppRouterInstance)(router);\n }, []);\n var _self___NEXT_DATA___autoExport;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Container, {\n fn: (error)=>// eslint-disable-next-line @typescript-eslint/no-use-before-define\n renderError({\n App: CachedApp,\n err: error\n }).catch((err)=>console.error(\"Error rendering page: \", err)),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: adaptedForAppRouter,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: (0, _adapters.adaptForSearchParams)(router),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_adapters.PathnameContextProviderAdapter, {\n router: router,\n isAutoExport: (_self___NEXT_DATA___autoExport = self.__NEXT_DATA__.autoExport) != null ? _self___NEXT_DATA___autoExport : false,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, {\n value: (0, _adapters.adaptForPathParams)(router),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_routercontextsharedruntime.RouterContext.Provider, {\n value: (0, _router.makePublicRouterInstance)(router),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_headmanagercontextsharedruntime.HeadManagerContext.Provider, {\n value: headManager,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_imageconfigcontextsharedruntime.ImageConfigContext.Provider, {\n value: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]},\n children: children\n })\n })\n })\n })\n })\n })\n })\n });\n}\n_s(AppContainer, \"F6BSfrFQNeqenuPnUMVY/6gI8uE=\");\n_c = AppContainer;\nconst wrapApp = (App)=>(wrappedAppProps)=>{\n const appProps = {\n ...wrappedAppProps,\n Component: CachedComponent,\n err: initialData.err,\n router\n };\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(AppContainer, {\n children: renderApp(App, appProps)\n });\n };\n// This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\nfunction renderError(renderErrorProps) {\n let { App, err } = renderErrorProps;\n // In development runtime errors are caught by our overlay\n // In production we catch runtime errors using componentDidCatch which will trigger renderError\n if (true) {\n // A Next.js rendering runtime error is always unrecoverable\n // FIXME: let's make this recoverable (error in GIP client-transition)\n devClient.onUnrecoverableError();\n // We need to render an empty <App> so that the `<ReactDevOverlay>` can\n // render itself.\n // TODO: Fix disabled eslint rule\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return doRender({\n App: ()=>null,\n props: {},\n Component: ()=>null,\n styleSheets: []\n });\n }\n // Make sure we log the error to the console, otherwise users can't track down issues.\n console.error(err);\n console.error(\"A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred\");\n return pageLoader.loadPage(\"/_error\").then((param)=>{\n let { page: ErrorComponent, styleSheets } = param;\n return (lastAppProps == null ? void 0 : lastAppProps.Component) === ErrorComponent ? Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../pages/_error */ \"./node_modules/next/dist/pages/_error.js\"))).then((errorModule)=>{\n return Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../pages/_app */ \"./node_modules/next/dist/pages/_app.js\"))).then((appModule)=>{\n App = appModule.default;\n renderErrorProps.App = App;\n return errorModule;\n });\n }).then((m)=>({\n ErrorComponent: m.default,\n styleSheets: []\n })) : {\n ErrorComponent,\n styleSheets\n };\n }).then((param)=>{\n let { ErrorComponent, styleSheets } = param;\n var _renderErrorProps_props;\n // In production we do a normal render with the `ErrorComponent` as component.\n // If we've gotten here upon initial render, we can use the props from the server.\n // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n const AppTree = wrapApp(App);\n const appCtx = {\n Component: ErrorComponent,\n AppTree,\n router,\n ctx: {\n err,\n pathname: initialData.page,\n query: initialData.query,\n asPath,\n AppTree\n }\n };\n return Promise.resolve(((_renderErrorProps_props = renderErrorProps.props) == null ? void 0 : _renderErrorProps_props.err) ? renderErrorProps.props : (0, _utils.loadGetInitialProps)(App, appCtx)).then((initProps)=>// eslint-disable-next-line @typescript-eslint/no-use-before-define\n doRender({\n ...renderErrorProps,\n err,\n Component: ErrorComponent,\n styleSheets,\n props: initProps\n }));\n });\n}\n// Dummy component that we render as a child of Root so that we can\n// toggle the correct styles before the page is rendered.\nfunction Head(param) {\n _s1();\n let { callback } = param;\n // We use `useLayoutEffect` to guarantee the callback is executed\n // as soon as React flushes the update.\n _react.default.useLayoutEffect(()=>callback(), [\n callback\n ]);\n return null;\n}\n_s1(Head, \"n7/vCynhJvM+pLkyL2DMQUF0odM=\");\n_c1 = Head;\nconst performanceMarks = {\n navigationStart: \"navigationStart\",\n beforeRender: \"beforeRender\",\n afterRender: \"afterRender\",\n afterHydrate: \"afterHydrate\",\n routeChange: \"routeChange\"\n};\nconst performanceMeasures = {\n hydration: \"Next.js-hydration\",\n beforeHydration: \"Next.js-before-hydration\",\n routeChangeToRender: \"Next.js-route-change-to-render\",\n render: \"Next.js-render\"\n};\nlet reactRoot = null;\n// On initial render a hydrate should always happen\nlet shouldHydrate = true;\nfunction clearMarks() {\n [\n performanceMarks.beforeRender,\n performanceMarks.afterHydrate,\n performanceMarks.afterRender,\n performanceMarks.routeChange\n ].forEach((mark)=>performance.clearMarks(mark));\n}\nfunction markHydrateComplete() {\n if (!_utils.ST) return;\n performance.mark(performanceMarks.afterHydrate) // mark end of hydration\n ;\n const hasBeforeRenderMark = performance.getEntriesByName(performanceMarks.beforeRender, \"mark\").length;\n if (hasBeforeRenderMark) {\n const beforeHydrationMeasure = performance.measure(performanceMeasures.beforeHydration, performanceMarks.navigationStart, performanceMarks.beforeRender);\n const hydrationMeasure = performance.measure(performanceMeasures.hydration, performanceMarks.beforeRender, performanceMarks.afterHydrate);\n if ( true && // Old versions of Safari don't return `PerformanceMeasure`s from `performance.measure()`\n beforeHydrationMeasure !== undefined && hydrationMeasure !== undefined) {\n _tracer.default.startSpan(\"navigation-to-hydration\", {\n startTime: performance.timeOrigin + beforeHydrationMeasure.startTime,\n attributes: {\n pathname: location.pathname,\n query: location.search\n }\n }).end(performance.timeOrigin + hydrationMeasure.startTime + hydrationMeasure.duration);\n }\n }\n if (onPerfEntry) {\n performance.getEntriesByName(performanceMeasures.hydration).forEach(onPerfEntry);\n }\n clearMarks();\n}\nfunction markRenderComplete() {\n if (!_utils.ST) return;\n performance.mark(performanceMarks.afterRender) // mark end of render\n ;\n const navStartEntries = performance.getEntriesByName(performanceMarks.routeChange, \"mark\");\n if (!navStartEntries.length) return;\n const hasBeforeRenderMark = performance.getEntriesByName(performanceMarks.beforeRender, \"mark\").length;\n if (hasBeforeRenderMark) {\n performance.measure(performanceMeasures.routeChangeToRender, navStartEntries[0].name, performanceMarks.beforeRender);\n performance.measure(performanceMeasures.render, performanceMarks.beforeRender, performanceMarks.afterRender);\n if (onPerfEntry) {\n performance.getEntriesByName(performanceMeasures.render).forEach(onPerfEntry);\n performance.getEntriesByName(performanceMeasures.routeChangeToRender).forEach(onPerfEntry);\n }\n }\n clearMarks();\n [\n performanceMeasures.routeChangeToRender,\n performanceMeasures.render\n ].forEach((measure)=>performance.clearMeasures(measure));\n}\nfunction renderReactElement(domEl, fn) {\n // mark start of hydrate/render\n if (_utils.ST) {\n performance.mark(performanceMarks.beforeRender);\n }\n const reactEl = fn(shouldHydrate ? markHydrateComplete : markRenderComplete);\n if (!reactRoot) {\n // Unlike with createRoot, you don't need a separate root.render() call here\n reactRoot = _client.default.hydrateRoot(domEl, reactEl, {\n onRecoverableError: _onrecoverableerror.default\n });\n // TODO: Remove shouldHydrate variable when React 18 is stable as it can depend on `reactRoot` existing\n shouldHydrate = false;\n } else {\n const startTransition = _react.default.startTransition;\n startTransition(()=>{\n reactRoot.render(reactEl);\n });\n }\n}\nfunction Root(param) {\n _s2();\n let { callbacks, children } = param;\n // We use `useLayoutEffect` to guarantee the callbacks are executed\n // as soon as React flushes the update\n _react.default.useLayoutEffect(()=>callbacks.forEach((callback)=>callback()), [\n callbacks\n ]);\n // TODO: remove in the next major version\n // We should ask to measure the Web Vitals after rendering completes so we\n // don't cause any hydration delay:\n _react.default.useEffect(()=>{\n (0, _performancerelayer.default)(onPerfEntry);\n }, []);\n if (false) {}\n return children;\n}\n_s2(Root, \"Gjgl5rfcc2T4sFnfEMfRvL6K4Q4=\");\n_c2 = Root;\nfunction doRender(input) {\n let { App, Component, props, err } = input;\n let styleSheets = \"initial\" in input ? undefined : input.styleSheets;\n Component = Component || lastAppProps.Component;\n props = props || lastAppProps.props;\n const appProps = {\n ...props,\n Component,\n err,\n router\n };\n // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n lastAppProps = appProps;\n let canceled = false;\n let resolvePromise;\n const renderPromise = new Promise((resolve, reject)=>{\n if (lastRenderReject) {\n lastRenderReject();\n }\n resolvePromise = ()=>{\n lastRenderReject = null;\n resolve();\n };\n lastRenderReject = ()=>{\n canceled = true;\n lastRenderReject = null;\n const error = new Error(\"Cancel rendering route\");\n error.cancelled = true;\n reject(error);\n };\n });\n // This function has a return type to ensure it doesn't start returning a\n // Promise. It should remain synchronous.\n function onStart() {\n if (!styleSheets || // We use `style-loader` in development, so we don't need to do anything\n // unless we're in production:\n \"development\" !== \"production\") {\n return false;\n }\n const currentStyleTags = looseToArray(document.querySelectorAll(\"style[data-n-href]\"));\n const currentHrefs = new Set(currentStyleTags.map((tag)=>tag.getAttribute(\"data-n-href\")));\n const noscript = document.querySelector(\"noscript[data-n-css]\");\n const nonce = noscript == null ? void 0 : noscript.getAttribute(\"data-n-css\");\n styleSheets.forEach((param)=>{\n let { href, text } = param;\n if (!currentHrefs.has(href)) {\n const styleTag = document.createElement(\"style\");\n styleTag.setAttribute(\"data-n-href\", href);\n styleTag.setAttribute(\"media\", \"x\");\n if (nonce) {\n styleTag.setAttribute(\"nonce\", nonce);\n }\n document.head.appendChild(styleTag);\n styleTag.appendChild(document.createTextNode(text));\n }\n });\n return true;\n }\n function onHeadCommit() {\n if (// unless we're in production:\n false) {}\n if (input.scroll) {\n const { x, y } = input.scroll;\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n window.scrollTo(x, y);\n });\n }\n }\n function onRootCommit() {\n resolvePromise();\n }\n onStart();\n const elem = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {\n callback: onHeadCommit\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(AppContainer, {\n children: [\n renderApp(App, appProps),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_portal.Portal, {\n type: \"next-route-announcer\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_routeannouncer.RouteAnnouncer, {})\n })\n ]\n })\n ]\n });\n // We catch runtime errors using componentDidCatch which will trigger renderError\n renderReactElement(appElement, (callback)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(Root, {\n callbacks: [\n callback,\n onRootCommit\n ],\n children: false ? /*#__PURE__*/ 0 : elem\n }));\n return renderPromise;\n}\nasync function render(renderingProps) {\n // if an error occurs in a server-side page (e.g. in getInitialProps),\n // skip re-rendering the error page client-side as data-fetching operations\n // will already have been done on the server and NEXT_DATA contains the correct\n // data for straight-forward hydration of the error page\n if (renderingProps.err && // renderingProps.Component might be undefined if there is a top/module-level error\n (typeof renderingProps.Component === \"undefined\" || !renderingProps.isHydratePass)) {\n await renderError(renderingProps);\n return;\n }\n try {\n await doRender(renderingProps);\n } catch (err) {\n const renderErr = (0, _iserror.getProperError)(err);\n // bubble up cancelation errors\n if (renderErr.cancelled) {\n throw renderErr;\n }\n if (true) {\n // Ensure this error is displayed in the overlay in development\n setTimeout(()=>{\n throw renderErr;\n });\n }\n await renderError({\n ...renderingProps,\n err: renderErr\n });\n }\n}\nasync function hydrate(opts) {\n let initialErr = initialData.err;\n try {\n const appEntrypoint = await pageLoader.routeLoader.whenEntrypoint(\"/_app\");\n if (\"error\" in appEntrypoint) {\n throw appEntrypoint.error;\n }\n const { component: app, exports: mod } = appEntrypoint;\n CachedApp = app;\n if (mod && mod.reportWebVitals) {\n onPerfEntry = (param)=>{\n let { id, name, startTime, value, duration, entryType, entries, attribution } = param;\n // Combines timestamp with random number for unique ID\n const uniqueID = Date.now() + \"-\" + (Math.floor(Math.random() * (9e12 - 1)) + 1e12);\n let perfStartEntry;\n if (entries && entries.length) {\n perfStartEntry = entries[0].startTime;\n }\n const webVitals = {\n id: id || uniqueID,\n name,\n startTime: startTime || perfStartEntry,\n value: value == null ? duration : value,\n label: entryType === \"mark\" || entryType === \"measure\" ? \"custom\" : \"web-vital\"\n };\n if (attribution) {\n webVitals.attribution = attribution;\n }\n mod.reportWebVitals(webVitals);\n };\n }\n const pageEntrypoint = // error, so we need to skip waiting for the entrypoint.\n true && initialData.err ? {\n error: initialData.err\n } : await pageLoader.routeLoader.whenEntrypoint(initialData.page);\n if (\"error\" in pageEntrypoint) {\n throw pageEntrypoint.error;\n }\n CachedComponent = pageEntrypoint.component;\n if (true) {\n const { isValidElementType } = __webpack_require__(/*! next/dist/compiled/react-is */ \"./node_modules/next/dist/compiled/react-is/index.js\");\n if (!isValidElementType(CachedComponent)) {\n throw new Error('The default export is not a React Component in page: \"' + initialData.page + '\"');\n }\n }\n } catch (error) {\n // This catches errors like throwing in the top level of a module\n initialErr = (0, _iserror.getProperError)(error);\n }\n if (true) {\n const getServerError = (__webpack_require__(/*! ./components/react-dev-overlay/pages/client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js\").getServerError);\n // Server-side runtime errors need to be re-thrown on the client-side so\n // that the overlay is rendered.\n if (initialErr) {\n if (initialErr === initialData.err) {\n setTimeout(()=>{\n let error;\n try {\n // Generate a new error object. We `throw` it because some browsers\n // will set the `stack` when thrown, and we want to ensure ours is\n // not overridden when we re-throw it below.\n throw new Error(initialErr.message);\n } catch (e) {\n error = e;\n }\n error.name = initialErr.name;\n error.stack = initialErr.stack;\n throw getServerError(error, initialErr.source);\n });\n } else {\n setTimeout(()=>{\n throw initialErr;\n });\n }\n }\n }\n if (window.__NEXT_PRELOADREADY) {\n await window.__NEXT_PRELOADREADY(initialData.dynamicIds);\n }\n router = (0, _router.createRouter)(initialData.page, initialData.query, asPath, {\n initialProps: initialData.props,\n pageLoader,\n App: CachedApp,\n Component: CachedComponent,\n wrapApp,\n err: initialErr,\n isFallback: Boolean(initialData.isFallback),\n subscription: (info, App, scroll)=>render(Object.assign({}, info, {\n App,\n scroll\n })),\n locale: initialData.locale,\n locales: initialData.locales,\n defaultLocale,\n domainLocales: initialData.domainLocales,\n isPreview: initialData.isPreview\n });\n initialMatchesMiddleware = await router._initialMatchesMiddlewarePromise;\n const renderCtx = {\n App: CachedApp,\n initial: true,\n Component: CachedComponent,\n props: initialData.props,\n err: initialErr,\n isHydratePass: true\n };\n if (opts == null ? void 0 : opts.beforeRender) {\n await opts.beforeRender();\n }\n render(renderCtx);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"AppContainer\");\n$RefreshReg$(_c1, \"Head\");\n$RefreshReg$(_c2, \"Root\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxtQkFBbUI7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7SUEyRU5BLFNBQU87ZUFBUEE7O0lBOHZCU0MsU0FBTztlQUFQQTs7SUE3b0JBQyxZQUFVO2VBQVZBOztJQWxIWEMsUUFBTTtlQUFOQTs7SUFERUMsU0FBTztlQUFQQTs7Ozs7b0JBeEVOOzRFQVNXOzZFQUNHOzZEQUNjOzJFQUNsQjt3REFFYTtnREFDSzt1Q0FDSjt5Q0FJeEI7bURBQ21CO21DQUNzQjtvQ0FFekI7a0ZBQ0s7aUZBQ0w7eUZBRU0sc0ZBQXdCLHlDQUF5Qzs7NENBQy9EO29DQUN3QjtxQ0FDeEI7NkRBQ0k7NENBRUo7eUNBQ0g7MkRBQ0s7c0NBTTFCOzZEQUlBO3lGQUN3Qjs2RUFDWjtxRkFDUTtBQXVCcEIsTUFBTUEsVUFBVUM7QUFDaEIsSUFBSUY7QUFDSixNQUFNSCxVQUErQk0sQ0FBQUEsR0FBQUEsTUFBQUEsT0FBSTtBQUVoRCxNQUFNQyxlQUFlLENBQWVDLFFBQW9CLEVBQUUsQ0FBQ0MsS0FBSyxDQUFDQyxJQUFJLENBQUNGO0FBRXRFLElBQUlHO0FBQ0osSUFBSUMsZ0JBQW9DQztBQUN4QyxJQUFJQztBQUNKLElBQUlDO0FBQ0osSUFBSUM7QUFDSixJQUFJQztBQUtKLElBQUlDLDJCQUEyQjtBQUMvQixJQUFJQztBQUVKLElBQUlDO0FBQ0osSUFBSUM7QUFFSixJQUFJQyxXQUF5QkM7QUFDN0IsSUFBSUM7QUFFSixNQUFNQyxrQkFBa0JDLE9BQUFBLE9BQUssQ0FBQ0MsU0FBUztJQUlyQ0Msa0JBQWtCQyxZQUFtQixFQUFFQyxJQUFTLEVBQUU7UUFDaEQsSUFBSSxDQUFDQyxLQUFLLENBQUNDLEVBQUUsQ0FBQ0gsY0FBY0M7SUFDOUI7SUFFQUcsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQ0MsWUFBWTtRQUVqQiwwQ0FBMEM7UUFDMUMseUVBQXlFO1FBQ3pFLG9FQUFvRTtRQUNwRSxzREFB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Q0F5RyxLQUFLbEc7UUFDTEssV0FBV0g7UUFDWHdIO1FBQ0ExRixLQUFLd047UUFDTDFPLFlBQVkwUSxRQUFRblMsWUFBWXlCLFVBQVU7UUFDMUMyUSxjQUFjLENBQUNqUixNQUFNMEYsS0FBS29JLFNBQ3hCNUwsT0FDRWdQLE9BQU9qUSxNQUFNLENBSVgsQ0FBQyxHQUFHakIsTUFBTTtnQkFDVjBGO2dCQUNBb0k7WUFDRjtRQUVKekosUUFBUXhGLFlBQVl3RixNQUFNO1FBQzFCSixTQUFTcEYsWUFBWW9GLE9BQU87UUFDNUJuRjtRQUNBcVMsZUFBZXRTLFlBQVlzUyxhQUFhO1FBQ3hDQyxXQUFXdlMsWUFBWXVTLFNBQVM7SUFDbEM7SUFFQWhTLDJCQUEyQixNQUFNZixPQUFPZ1QsZ0NBQWdDO0lBRXhFLE1BQU1DLFlBQTZCO1FBQ2pDNUwsS0FBS2xHO1FBQ0wrUixTQUFTO1FBQ1QxUixXQUFXSDtRQUNYTyxPQUFPcEIsWUFBWW9CLEtBQUs7UUFDeEJ1QixLQUFLd047UUFDTEgsZUFBZTtJQUNqQjtJQUVBLElBQUlyTSxRQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxLQUFNb0csWUFBWSxFQUFFO1FBQ3RCLE1BQU1wRyxLQUFLb0csWUFBWTtJQUN6QjtJQUVBMUcsT0FBT29QO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaW5kZXgudHN4PzliM2IiXSwibmFtZXMiOlsiZW1pdHRlciIsImh5ZHJhdGUiLCJpbml0aWFsaXplIiwicm91dGVyIiwidmVyc2lvbiIsInByb2Nlc3MiLCJtaXR0IiwibG9vc2VUb0FycmF5IiwiaW5wdXQiLCJzbGljZSIsImNhbGwiLCJpbml0aWFsRGF0YSIsImRlZmF1bHRMb2NhbGUiLCJ1bmRlZmluZWQiLCJhc1BhdGgiLCJwYWdlTG9hZGVyIiwiYXBwRWxlbWVudCIsImhlYWRNYW5hZ2VyIiwiaW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlIiwibGFzdEFwcFByb3BzIiwibGFzdFJlbmRlclJlamVjdCIsImRldkNsaWVudCIsIkNhY2hlZEFwcCIsIm9uUGVyZkVudHJ5IiwiQ2FjaGVkQ29tcG9uZW50IiwiQ29udGFpbmVyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb21wb25lbnREaWRDYXRjaCIsImNvbXBvbmVudEVyciIsImluZm8iLCJwcm9wcyIsImZuIiwiY29tcG9uZW50RGlkTW91bnQiLCJzY3JvbGxUb0hhc2giLCJpc1NzciIsImlzRmFsbGJhY2siLCJuZXh0RXhwb3J0IiwiaXNEeW5hbWljUm91dGUiLCJwYXRobmFtZSIsImxvY2F0aW9uIiwic2VhcmNoIiwiZW52IiwiX19ORVhUX0hBU19SRVdSSVRFUyIsIl9fTl9TU0ciLCJyZXBsYWNlIiwiU3RyaW5nIiwiYXNzaWduIiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwiX2giLCJzaGFsbG93IiwiY2F0Y2giLCJlcnIiLCJjYW5jZWxsZWQiLCJjb21wb25lbnREaWRVcGRhdGUiLCJoYXNoIiwic3Vic3RyaW5nIiwiZWwiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwic2V0VGltZW91dCIsInNjcm9sbEludG9WaWV3IiwicmVuZGVyIiwiY2hpbGRyZW4iLCJSZWFjdERldk92ZXJsYXkiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJvcHRzIiwidHJhY2VyIiwib25TcGFuRW5kIiwicmVwb3J0VG9Tb2NrZXQiLCJKU09OIiwicGFyc2UiLCJ0ZXh0Q29udGVudCIsIndpbmRvdyIsIl9fTkVYVF9EQVRBX18iLCJwcmVmaXgiLCJhc3NldFByZWZpeCIsInNlbGYiLCJfX25leHRfc2V0X3B1YmxpY19wYXRoX18iLCJzZXRDb25maWciLCJzZXJ2ZXJSdW50aW1lQ29uZmlnIiwicHVibGljUnVudGltZUNvbmZpZyIsInJ1bnRpbWVDb25maWciLCJnZXRVUkwiLCJoYXNCYXNlUGF0aCIsInJlbW92ZUJhc2VQYXRoIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJkZXRlY3REb21haW5Mb2NhbGUiLCJwYXJzZVJlbGF0aXZlVXJsIiwiZm9ybWF0VXJsIiwibG9jYWxlcyIsInBhcnNlZEFzIiwibG9jYWxlUGF0aFJlc3VsdCIsImRldGVjdGVkTG9jYWxlIiwibG9jYWxlIiwiZGV0ZWN0ZWREb21haW4iLCJfX05FWFRfSTE4Tl9ET01BSU5TIiwiaG9zdG5hbWUiLCJzY3JpcHRMb2FkZXIiLCJpbml0U2NyaXB0TG9hZGVyIiwiUGFnZUxvYWRlciIsImJ1aWxkSWQiLCJyZWdpc3RlciIsInBhcmFtIiwiciIsImYiLCJyb3V0ZUxvYWRlciIsIm9uRW50cnlwb2ludCIsIl9fTkVYVF9QIiwibWFwIiwicCIsInB1c2giLCJpbml0SGVhZE1hbmFnZXIiLCJnZXRJc1NzciIsInJlbmRlckFwcCIsIkFwcCIsImFwcFByb3BzIiwiQXBwQ29udGFpbmVyIiwiYWRhcHRlZEZvckFwcFJvdXRlciIsInVzZU1lbW8iLCJhZGFwdEZvckFwcFJvdXRlckluc3RhbmNlIiwiZXJyb3IiLCJyZW5kZXJFcnJvciIsImNvbnNvbGUiLCJBcHBSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIlNlYXJjaFBhcmFtc0NvbnRleHQiLCJhZGFwdEZvclNlYXJjaFBhcmFtcyIsIlBhdGhuYW1lQ29udGV4dFByb3ZpZGVyQWRhcHRlciIsImlzQXV0b0V4cG9ydCIsImF1dG9FeHBvcnQiLCJQYXRoUGFyYW1zQ29udGV4dCIsImFkYXB0Rm9yUGF0aFBhcmFtcyIsIlJvdXRlckNvbnRleHQiLCJtYWtlUHVibGljUm91dGVySW5zdGFuY2UiLCJIZWFkTWFuYWdlckNvbnRleHQiLCJJbWFnZUNvbmZpZ0NvbnRleHQiLCJfX05FWFRfSU1BR0VfT1BUUyIsIndyYXBBcHAiLCJ3cmFwcGVkQXBwUHJvcHMiLCJyZW5kZXJFcnJvclByb3BzIiwib25VbnJlY292ZXJhYmxlRXJyb3IiLCJkb1JlbmRlciIsInN0eWxlU2hlZXRzIiwibG9hZFBhZ2UiLCJ0aGVuIiwicGFnZSIsIkVycm9yQ29tcG9uZW50IiwiZXJyb3JNb2R1bGUiLCJhcHBNb2R1bGUiLCJkZWZhdWx0IiwibSIsIkFwcFRyZWUiLCJhcHBDdHgiLCJjdHgiLCJQcm9taXNlIiwicmVzb2x2ZSIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJpbml0UHJvcHMiLCJIZWFkIiwiY2FsbGJhY2siLCJ1c2VMYXlvdXRFZmZlY3QiLCJwZXJmb3JtYW5jZU1hcmtzIiwibmF2aWdhdGlvblN0YXJ0IiwiYmVmb3JlUmVuZGVyIiwiYWZ0ZXJSZW5kZXIiLCJhZnRlckh5ZHJhdGUiLCJyb3V0ZUNoYW5nZSIsInBlcmZvcm1hbmNlTWVhc3VyZXMiLCJoeWRyYXRpb24iLCJiZWZvcmVIeWRyYXRpb24iLCJyb3V0ZUNoYW5nZVRvUmVuZGVyIiwicmVhY3RSb290Iiwic2hvdWxkSHlkcmF0ZSIsImNsZWFyTWFya3MiLCJmb3JFYWNoIiwibWFyayIsInBlcmZvcm1hbmNlIiwibWFya0h5ZHJhdGVDb21wbGV0ZSIsIlNUIiwiaGFzQmVmb3JlUmVuZGVyTWFyayIsImdldEVudHJpZXNCeU5hbWUiLCJsZW5ndGgiLCJiZWZvcmVIeWRyYXRpb25NZWFzdXJlIiwibWVhc3VyZSIsImh5ZHJhdGlvbk1lYXN1cmUiLCJzdGFydFNwYW4iLCJzdGFydFRpbWUiLCJ0aW1lT3JpZ2luIiwiYXR0cmlidXRlcyIsImVuZCIsImR1cmF0aW9uIiwibWFya1JlbmRlckNvbXBsZXRlIiwibmF2U3RhcnRFbnRyaWVzIiwibmFtZSIsImNsZWFyTWVhc3VyZXMiLCJyZW5kZXJSZWFjdEVsZW1lbnQiLCJkb21FbCIsInJlYWN0RWwiLCJSZWFjdERPTSIsImh5ZHJhdGVSb290Iiwib25SZWNvdmVyYWJsZUVycm9yIiwic3RhcnRUcmFuc2l0aW9uIiwiX3JlYWN0IiwiUm9vdCIsImNhbGxiYWNrcyIsInVzZUVmZmVjdCIsIm1lYXN1cmVXZWJWaXRhbHMiLCJfX05FWFRfVEVTVF9NT0RFIiwiX19ORVhUX0hZRFJBVEVEIiwiX19ORVhUX0hZRFJBVEVEX0NCIiwiY2FuY2VsZWQiLCJyZXNvbHZlUHJvbWlzZSIsInJlbmRlclByb21pc2UiLCJyZWplY3QiLCJFcnJvciIsIm9uU3RhcnQiLCJjdXJyZW50U3R5bGVUYWdzIiwicXVlcnlTZWxlY3RvckFsbCIsImN1cnJlbnRIcmVmcyIsIlNldCIsInRhZyIsImdldEF0dHJpYnV0ZSIsIm5vc2NyaXB0IiwicXVlcnlTZWxlY3RvciIsIm5vbmNlIiwiaHJlZiIsInRleHQiLCJoYXMiLCJzdHlsZVRhZyIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJjcmVhdGVUZXh0Tm9kZSIsIm9uSGVhZENvbW1pdCIsImRlc2lyZWRIcmVmcyIsInMiLCJpZHgiLCJyZW1vdmVBdHRyaWJ1dGUiLCJyZWZlcmVuY2VOb2RlIiwidGFyZ2V0VGFnIiwicGFyZW50Tm9kZSIsImluc2VydEJlZm9yZSIsIm5leHRTaWJsaW5nIiwicmVtb3ZlQ2hpbGQiLCJzY3JvbGwiLCJ4IiwieSIsImhhbmRsZVNtb290aFNjcm9sbCIsInNjcm9sbFRvIiwib25Sb290Q29tbWl0IiwiZWxlbSIsImpzeHMiLCJGcmFnbWVudCIsIlBvcnRhbCIsInR5cGUiLCJSb3V0ZUFubm91bmNlciIsIl9fTkVYVF9TVFJJQ1RfTU9ERSIsIlN0cmljdE1vZGUiLCJyZW5kZXJpbmdQcm9wcyIsImlzSHlkcmF0ZVBhc3MiLCJyZW5kZXJFcnIiLCJnZXRQcm9wZXJFcnJvciIsImluaXRpYWxFcnIiLCJhcHBFbnRyeXBvaW50Iiwid2hlbkVudHJ5cG9pbnQiLCJjb21wb25lbnQiLCJhcHAiLCJleHBvcnRzIiwibW9kIiwicmVwb3J0V2ViVml0YWxzIiwiaWQiLCJlbnRyeVR5cGUiLCJlbnRyaWVzIiwiYXR0cmlidXRpb24iLCJ1bmlxdWVJRCIsIkRhdGUiLCJub3ciLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJwZXJmU3RhcnRFbnRyeSIsIndlYlZpdGFscyIsImxhYmVsIiwicGFnZUVudHJ5cG9pbnQiLCJpc1ZhbGlkRWxlbWVudFR5cGUiLCJnZXRTZXJ2ZXJFcnJvciIsIm1lc3NhZ2UiLCJlIiwic3RhY2siLCJzb3VyY2UiLCJfX05FWFRfUFJFTE9BRFJFQURZIiwiZHluYW1pY0lkcyIsImNyZWF0ZVJvdXRlciIsImluaXRpYWxQcm9wcyIsIkJvb2xlYW4iLCJzdWJzY3JpcHRpb24iLCJPYmplY3QiLCJkb21haW5Mb2NhbGVzIiwiaXNQcmV2aWV3IiwiX2luaXRpYWxNYXRjaGVzTWlkZGxld2FyZVByb21pc2UiLCJyZW5kZXJDdHgiLCJpbml0aWFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/next-dev.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/client/next-dev.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO: Remove use of `any` type.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\n__webpack_require__(/*! ./webpack */ \"./node_modules/next/dist/client/webpack.js\");\nconst _ = __webpack_require__(/*! ./ */ \"./node_modules/next/dist/client/index.js\");\nconst _hotmiddlewareclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./dev/hot-middleware-client */ \"./node_modules/next/dist/client/dev/hot-middleware-client.js\"));\nconst _pagebootstrap = __webpack_require__(/*! ./page-bootstrap */ \"./node_modules/next/dist/client/page-bootstrap.js\");\n__webpack_require__(/*! ./setup-hydration-warning */ \"./node_modules/next/dist/client/setup-hydration-warning.js\");\nwindow.next = {\n version: _.version,\n // router is initialized later so it has to be live-binded\n get router () {\n return _.router;\n },\n emitter: _.emitter\n};\nconst devClient = (0, _hotmiddlewareclient.default)(\"webpack\");\n(0, _.initialize)({\n devClient\n}).then((param)=>{\n let { assetPrefix } = param;\n return (0, _pagebootstrap.pageBootrap)(assetPrefix);\n}).catch((err)=>{\n console.error(\"Error was not caught\", err);\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=next-dev.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9uZXh0LWRldi5qcyIsIm1hcHBpbmdzIjoiQUFBQSxrQ0FBa0M7Ozs7OztvQkFDM0I7OEJBQzhDOzBGQUNqQzsyQ0FDUTtvQkFFckI7QUFFUEEsT0FBT0MsSUFBSSxHQUFHO0lBQ1pDLFNBQUFBLEVBQUFBLE9BQU87SUFDUCwwREFBMEQ7SUFDMUQsSUFBSUMsVUFBUztRQUNYLE9BQU9BLEVBQUFBLE1BQU07SUFDZjtJQUNBQyxTQUFBQSxFQUFBQSxPQUFPO0FBQ1Q7QUFFQSxNQUFNQyxZQUFZQyxDQUFBQSxHQUFBQSxxQkFBQUEsT0FBTyxFQUFDO0FBQzFCQyxDQUFBQSxHQUFBQSxFQUFBQSxVQUFVLEVBQUM7SUFBRUY7QUFBVSxHQUNwQkcsSUFBSSxDQUFDLENBQUFDO1FBQUMsRUFBRUMsV0FBVyxFQUFFLEdBQUFEO0lBQ3BCLE9BQU9FLENBQUFBLEdBQUFBLGVBQUFBLFdBQVcsRUFBQ0Q7QUFDckIsR0FDQ0UsS0FBSyxDQUFDLENBQUNDO0lBQ05DLFFBQVFDLEtBQUssQ0FBQyx3QkFBd0JGO0FBQ3hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L25leHQtZGV2LnRzPzExOGYiXSwibmFtZXMiOlsid2luZG93IiwibmV4dCIsInZlcnNpb24iLCJyb3V0ZXIiLCJlbWl0dGVyIiwiZGV2Q2xpZW50IiwiaW5pdEhNUiIsImluaXRpYWxpemUiLCJ0aGVuIiwicGFyYW0iLCJhc3NldFByZWZpeCIsInBhZ2VCb290cmFwIiwiY2F0Y2giLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/next-dev.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/normalize-trailing-slash.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return normalizePathTrailingSlash;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst normalizePathTrailingSlash = (path)=>{\n if (!path.startsWith(\"/\") || undefined) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n if (false) {}\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=normalize-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanMiLCJtYXBwaW5ncyI6Ijs7Ozs4REFPYUE7OztlQUFBQTs7O2lEQVB1Qjt1Q0FDVjtBQU1uQixNQUFNQSw2QkFBNkIsQ0FBQ0M7SUFDekMsSUFBSSxDQUFDQSxLQUFLQyxVQUFVLENBQUMsUUFBUUMsU0FBd0MsRUFBRTtRQUNyRSxPQUFPRjtJQUNUO0lBRUEsTUFBTSxFQUFFSyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLFdBQUFBLFNBQVMsRUFBQ1I7SUFDNUMsSUFBSUUsS0FBaUMsRUFBRSxFQVF2QztJQUVBLE9BQU8sS0FBR1MsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDTixZQUFZQyxRQUFRQztBQUNwRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2gudHM/YmEwMSJdLCJuYW1lcyI6WyJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsInBhdGgiLCJzdGFydHNXaXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9NQU5VQUxfVFJBSUxJTkdfU0xBU0giLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCIsIl9fTkVYVF9UUkFJTElOR19TTEFTSCIsInRlc3QiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/normalize-trailing-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/on-recoverable-error.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/on-recoverable-error.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return onRecoverableError;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../shared/lib/lazy-dynamic/bailout-to-csr */ \"./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nfunction onRecoverableError(err) {\n // Using default react onRecoverableError\n // x-ref: https://github.com/facebook/react/blob/d4bc16a7d69eb2ea38a88c8ac0b461d5f72cdcab/packages/react-dom/src/client/ReactDOMRoot.js#L83\n const defaultOnRecoverableError = typeof reportError === \"function\" ? reportError : (error)=>{\n window.console.error(error);\n };\n // Skip certain custom errors which are not expected to be reported on client\n if ((0, _bailouttocsr.isBailoutToCSRError)(err)) return;\n defaultOnRecoverableError(err);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=on-recoverable-error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9vbi1yZWNvdmVyYWJsZS1lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQUVBOzs7ZUFBd0JBOzs7MENBRlk7QUFFckIsU0FBU0EsbUJBQW1CQyxHQUFZO0lBQ3JELHlDQUF5QztJQUN6QywySUFBMkk7SUFDM0ksTUFBTUMsNEJBQ0osT0FBT0MsZ0JBQWdCLGFBR25CQSxjQUNBLENBQUNDO1FBQ0NDLE9BQU9DLE9BQU8sQ0FBQ0YsS0FBSyxDQUFDQTtJQUN2QjtJQUVOLDZFQUE2RTtJQUM3RSxJQUFJRyxDQUFBQSxHQUFBQSxjQUFBQSxtQkFBbUIsRUFBQ04sTUFBTTtJQUU5QkMsMEJBQTBCRDtBQUM1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9vbi1yZWNvdmVyYWJsZS1lcnJvci50cz8zMTNkIl0sIm5hbWVzIjpbIm9uUmVjb3ZlcmFibGVFcnJvciIsImVyciIsImRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3IiLCJyZXBvcnRFcnJvciIsImVycm9yIiwid2luZG93IiwiY29uc29sZSIsImlzQmFpbG91dFRvQ1NSRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/on-recoverable-error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/page-bootstrap.js": -/*!*********************************************************!*\ - !*** ./node_modules/next/dist/client/page-bootstrap.js ***! - \*********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pageBootrap\", ({\n enumerable: true,\n get: function() {\n return pageBootrap;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _ = __webpack_require__(/*! ./ */ \"./node_modules/next/dist/client/index.js\");\nconst _ondemandentriesclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./dev/on-demand-entries-client */ \"./node_modules/next/dist/client/dev/on-demand-entries-client.js\"));\nconst _devbuildwatcher = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./dev/dev-build-watcher */ \"./node_modules/next/dist/client/dev/dev-build-watcher.js\"));\nconst _fouc = __webpack_require__(/*! ./dev/fouc */ \"./node_modules/next/dist/client/dev/fouc.js\");\nconst _websocket = __webpack_require__(/*! ./components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../server/dev/hot-reloader-types */ \"./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _runtimeerrorhandler = __webpack_require__(/*! ./components/react-dev-overlay/internal/helpers/runtime-error-handler */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\");\nconst _shared = __webpack_require__(/*! ./components/react-dev-overlay/shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _hotreloaderclient = __webpack_require__(/*! ./components/react-dev-overlay/pages/hot-reloader-client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js\");\nfunction pageBootrap(assetPrefix) {\n (0, _websocket.connectHMR)({\n assetPrefix,\n path: \"/_next/webpack-hmr\"\n });\n return (0, _.hydrate)({\n beforeRender: _fouc.displayContent\n }).then(()=>{\n (0, _ondemandentriesclient.default)();\n let buildIndicatorHandler;\n if (true) {\n (0, _devbuildwatcher.default)((handler)=>{\n buildIndicatorHandler = handler;\n }, \"bottom-right\");\n }\n let reloading = false;\n (0, _websocket.addMessageListener)((payload)=>{\n if (reloading) return;\n if (\"action\" in payload) {\n switch(payload.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { stack, message } = JSON.parse(payload.errorJSON);\n const error = new Error(message);\n error.stack = stack;\n throw error;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n reloading = true;\n window.location.reload();\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n fetch(\"\" + assetPrefix + \"/_next/static/development/_devPagesManifest.json\").then((res)=>res.json()).then((manifest)=>{\n window.__DEV_PAGES_MANIFEST = manifest;\n }).catch((err)=>{\n console.log(\"Failed to fetch devPagesManifest\", err);\n });\n break;\n }\n default:\n break;\n }\n } else if (\"event\" in payload) {\n switch(payload.event){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES:\n {\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.CLIENT_CHANGES:\n {\n // This is used in `../server/dev/turbopack-utils.ts`.\n const isOnErrorPage = window.next.router.pathname === \"/_error\";\n // On the error page we want to reload the page when a page was changed\n if (isOnErrorPage) {\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n }\n reloading = true;\n (0, _hotreloaderclient.performFullReload)(null);\n }\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ONLY_CHANGES:\n {\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n (0, _hotreloaderclient.performFullReload)(null);\n }\n const { pages } = payload;\n // Make sure to reload when the dev-overlay is showing for an\n // API route\n // TODO: Fix `__NEXT_PAGE` type\n if (pages.includes(_.router.query.__NEXT_PAGE)) {\n return window.location.reload();\n }\n if (!_.router.clc && pages.includes(_.router.pathname)) {\n console.log(\"Refreshing page data due to server-side change\");\n buildIndicatorHandler == null ? void 0 : buildIndicatorHandler.show();\n const clearIndicator = ()=>buildIndicatorHandler == null ? void 0 : buildIndicatorHandler.hide();\n _.router.replace(_.router.pathname + \"?\" + String((0, _querystring.assign)((0, _querystring.urlQueryToSearchParams)(_.router.query), new URLSearchParams(location.search))), _.router.asPath, {\n scroll: false\n }).catch(()=>{\n // trigger hard reload when failing to refresh data\n // to show error overlay properly\n location.reload();\n }).finally(clearIndicator);\n }\n break;\n }\n default:\n break;\n }\n }\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=page-bootstrap.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wYWdlLWJvb3RzdHJhcC5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQWtCZ0JBOzs7ZUFBQUE7Ozs7OEJBbEJnQjs0RkFDQTtzRkFDRztrQ0FFSjt1Q0FJeEI7eUNBSUE7OENBQ3FDO2lEQUNSO29DQUNpQjsrQ0FDbkI7QUFFM0IsU0FBU0EsWUFBWUMsV0FBbUI7SUFDN0NDLENBQUFBLEdBQUFBLFdBQUFBLFVBQVUsRUFBQztRQUFFRDtRQUFhRSxNQUFNO0lBQXFCO0lBRXJELE9BQU9DLENBQUFBLEdBQUFBLEVBQUFBLE9BQU8sRUFBQztRQUFFQyxjQUFjQyxNQUFBQSxjQUFjO0lBQUMsR0FBR0MsSUFBSSxDQUFDO1FBQ3BEQyxDQUFBQSxHQUFBQSx1QkFBQUEsT0FBbUI7UUFFbkIsSUFBSUM7UUFFSixJQUFJQyxJQUFrQyxFQUFFO1lBQ3RDRyxDQUFBQSxHQUFBQSxpQkFBQUEsT0FBc0IsRUFBQyxDQUFDQztnQkFDdEJMLHdCQUF3Qks7WUFDMUIsR0FBR0osY0FBMkM7UUFDaEQ7UUFFQSxJQUFJTSxZQUFZO1FBRWhCQyxDQUFBQSxHQUFBQSxXQUFBQSxrQkFBa0IsRUFBQyxDQUFDQztZQUNsQixJQUFJRixXQUFXO1lBQ2YsSUFBSSxZQUFZRSxTQUFTO2dCQUN2QixPQUFRQSxRQUFRQyxNQUFNO29CQUNwQixLQUFLQyxrQkFBQUEsMkJBQTJCLENBQUNDLFlBQVk7d0JBQUU7NEJBQzdDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUUsR0FBR0MsS0FBS0MsS0FBSyxDQUFDUCxRQUFRUSxTQUFTOzRCQUN2RCxNQUFNQyxRQUFRLElBQUlDLE1BQU1MOzRCQUN4QkksTUFBTUwsS0FBSyxHQUFHQTs0QkFDZCxNQUFNSzt3QkFDUjtvQkFDQSxLQUFLUCxrQkFBQUEsMkJBQTJCLENBQUNTLFdBQVc7d0JBQUU7NEJBQzVDYixZQUFZOzRCQUNaYyxPQUFPQyxRQUFRLENBQUNDLE1BQU07NEJBQ3RCO3dCQUNGO29CQUNBLEtBQUtaLGtCQUFBQSwyQkFBMkIsQ0FBQ2EseUJBQXlCO3dCQUFFOzRCQUMxREMsTUFDRSxLQUFHakMsY0FBWSxvREFFZE0sSUFBSSxDQUFDLENBQUM0QixNQUFRQSxJQUFJQyxJQUFJLElBQ3RCN0IsSUFBSSxDQUFDLENBQUM4QjtnQ0FDTFAsT0FBT1Esb0JBQW9CLEdBQUdEOzRCQUNoQyxHQUNDRSxLQUFLLENBQUMsQ0FBQ0M7Z0NBQ05DLFFBQVFDLEdBQUcsQ0FBRSxvQ0FBbUNGOzRCQUNsRDs0QkFDRjt3QkFDRjtvQkFDQTt3QkFDRTtnQkFDSjtZQUNGLE9BQU8sSUFBSSxXQUFXdEIsU0FBUztnQkFDN0IsT0FBUUEsUUFBUXlCLEtBQUs7b0JBQ25CLEtBQUt2QixrQkFBQUEsMkJBQTJCLENBQUN3QixrQkFBa0I7d0JBQUU7NEJBQ25ELE9BQU9kLE9BQU9DLFFBQVEsQ0FBQ0MsTUFBTTt3QkFDL0I7b0JBQ0EsS0FBS1osa0JBQUFBLDJCQUEyQixDQUFDeUIsY0FBYzt3QkFBRTs0QkFDL0Msc0RBQXNEOzRCQUN0RCxNQUFNQyxnQkFBZ0JoQixPQUFPaUIsSUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVEsS0FBSzs0QkFDdEQsdUVBQXVFOzRCQUN2RSxJQUFJSCxlQUFlO2dDQUNqQixJQUFJSSxxQkFBQUEsbUJBQW1CLENBQUNDLGVBQWUsRUFBRTtvQ0FDdkNWLFFBQVFXLElBQUksQ0FBQ0MsUUFBQUEsb0NBQW9DO2dDQUNuRDtnQ0FDQXJDLFlBQVk7Z0NBQ1pzQyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUM7NEJBQ3BCOzRCQUNBO3dCQUNGO29CQUNBLEtBQUtsQyxrQkFBQUEsMkJBQTJCLENBQUNtQyxtQkFBbUI7d0JBQUU7NEJBQ3BELElBQUlMLHFCQUFBQSxtQkFBbUIsQ0FBQ0MsZUFBZSxFQUFFO2dDQUN2Q1YsUUFBUVcsSUFBSSxDQUFDQyxRQUFBQSxvQ0FBb0M7Z0NBQ2pEQyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUM7NEJBQ3BCOzRCQUVBLE1BQU0sRUFBRUUsS0FBSyxFQUFFLEdBQUd0Qzs0QkFFbEIsNkRBQTZEOzRCQUM3RCxZQUFZOzRCQUNaLCtCQUErQjs0QkFDL0IsSUFBSXNDLE1BQU1DLFFBQVEsQ0FBQ1QsRUFBQUEsTUFBTSxDQUFDVSxLQUFLLENBQUNDLFdBQVcsR0FBYTtnQ0FDdEQsT0FBTzdCLE9BQU9DLFFBQVEsQ0FBQ0MsTUFBTTs0QkFDL0I7NEJBRUEsSUFBSSxDQUFDZ0IsRUFBQUEsTUFBTSxDQUFDWSxHQUFHLElBQUlKLE1BQU1DLFFBQVEsQ0FBQ1QsRUFBQUEsTUFBTSxDQUFDQyxRQUFRLEdBQUc7Z0NBQ2xEUixRQUFRQyxHQUFHLENBQUM7Z0NBRVpqQyx5QkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsc0JBQXVCb0QsSUFBSTtnQ0FFM0IsTUFBTUMsaUJBQWlCLElBQU1yRCx5QkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsc0JBQXVCc0QsSUFBSTtnQ0FFeERmLEVBQUFBLE1BQU0sQ0FDSGdCLE9BQU8sQ0FDTmhCLEVBQUFBLE1BQU0sQ0FBQ0MsUUFBUSxHQUNiLE1BQ0FnQixPQUNFQyxDQUFBQSxHQUFBQSxhQUFBQSxNQUFNLEVBQ0pDLENBQUFBLEdBQUFBLGFBQUFBLHNCQUFzQixFQUFDbkIsRUFBQUEsTUFBTSxDQUFDVSxLQUFLLEdBQ25DLElBQUlVLGdCQUFnQnJDLFNBQVNzQyxNQUFNLEtBR3pDckIsRUFBQUEsTUFBTSxDQUFDc0IsTUFBTSxFQUNiO29DQUFFQyxRQUFRO2dDQUFNLEdBRWpCaEMsS0FBSyxDQUFDO29DQUNMLG1EQUFtRDtvQ0FDbkQsaUNBQWlDO29DQUNqQ1IsU0FBU0MsTUFBTTtnQ0FDakIsR0FDQ3dDLE9BQU8sQ0FBQ1Y7NEJBQ2I7NEJBQ0E7d0JBQ0Y7b0JBQ0E7d0JBQ0U7Z0JBQ0o7WUFDRjtRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9wYWdlLWJvb3RzdHJhcC50cz8yYTdmIl0sIm5hbWVzIjpbInBhZ2VCb290cmFwIiwiYXNzZXRQcmVmaXgiLCJjb25uZWN0SE1SIiwicGF0aCIsImh5ZHJhdGUiLCJiZWZvcmVSZW5kZXIiLCJkaXNwbGF5Q29udGVudCIsInRoZW4iLCJpbml0T25EZW1hbmRFbnRyaWVzIiwiYnVpbGRJbmRpY2F0b3JIYW5kbGVyIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9CVUlMRF9JTkRJQ0FUT1IiLCJpbml0aWFsaXplQnVpbGRXYXRjaGVyIiwiaGFuZGxlciIsIl9fTkVYVF9CVUlMRF9JTkRJQ0FUT1JfUE9TSVRJT04iLCJyZWxvYWRpbmciLCJhZGRNZXNzYWdlTGlzdGVuZXIiLCJwYXlsb2FkIiwiYWN0aW9uIiwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIiwiU0VSVkVSX0VSUk9SIiwic3RhY2siLCJtZXNzYWdlIiwiSlNPTiIsInBhcnNlIiwiZXJyb3JKU09OIiwiZXJyb3IiLCJFcnJvciIsIlJFTE9BRF9QQUdFIiwid2luZG93IiwibG9jYXRpb24iLCJyZWxvYWQiLCJERVZfUEFHRVNfTUFOSUZFU1RfVVBEQVRFIiwiZmV0Y2giLCJyZXMiLCJqc29uIiwibWFuaWZlc3QiLCJfX0RFVl9QQUdFU19NQU5JRkVTVCIsImNhdGNoIiwiZXJyIiwiY29uc29sZSIsImxvZyIsImV2ZW50IiwiTUlERExFV0FSRV9DSEFOR0VTIiwiQ0xJRU5UX0NIQU5HRVMiLCJpc09uRXJyb3JQYWdlIiwibmV4dCIsInJvdXRlciIsInBhdGhuYW1lIiwiUnVudGltZUVycm9ySGFuZGxlciIsImhhZFJ1bnRpbWVFcnJvciIsIndhcm4iLCJSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IiLCJwZXJmb3JtRnVsbFJlbG9hZCIsIlNFUlZFUl9PTkxZX0NIQU5HRVMiLCJwYWdlcyIsImluY2x1ZGVzIiwicXVlcnkiLCJfX05FWFRfUEFHRSIsImNsYyIsInNob3ciLCJjbGVhckluZGljYXRvciIsImhpZGUiLCJyZXBsYWNlIiwiU3RyaW5nIiwiYXNzaWduIiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInNlYXJjaCIsImFzUGF0aCIsInNjcm9sbCIsImZpbmFsbHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/page-bootstrap.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/page-loader.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/page-loader.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return PageLoader;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"./node_modules/next/dist/client/add-base-path.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nconst _getassetpathfromroute = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/utils/get-asset-path-from-route */ \"./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"));\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"./node_modules/next/dist/client/add-locale.js\");\nconst _isdynamic = __webpack_require__(/*! ../shared/lib/router/utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _parserelativeurl = __webpack_require__(/*! ../shared/lib/router/utils/parse-relative-url */ \"./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\");\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _routeloader = __webpack_require__(/*! ./route-loader */ \"./node_modules/next/dist/client/route-loader.js\");\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"./node_modules/next/dist/shared/lib/constants.js\");\nclass PageLoader {\n getPageList() {\n if (false) {} else {\n if (window.__DEV_PAGES_MANIFEST) {\n return window.__DEV_PAGES_MANIFEST.pages;\n } else {\n this.promisedDevPagesManifest || (this.promisedDevPagesManifest = fetch(this.assetPrefix + \"/_next/static/development/\" + _constants.DEV_CLIENT_PAGES_MANIFEST, {\n credentials: \"same-origin\"\n }).then((res)=>res.json()).then((manifest)=>{\n window.__DEV_PAGES_MANIFEST = manifest;\n return manifest.pages;\n }).catch((err)=>{\n console.log(\"Failed to fetch devPagesManifest:\", err);\n throw new Error(\"Failed to fetch _devPagesManifest.json. Is something blocking that network request?\\n\" + \"Read more: https://nextjs.org/docs/messages/failed-to-fetch-devpagesmanifest\");\n }));\n return this.promisedDevPagesManifest;\n }\n }\n }\n getMiddleware() {\n if (false) {} else {\n if (window.__DEV_MIDDLEWARE_MATCHERS) {\n return window.__DEV_MIDDLEWARE_MATCHERS;\n } else {\n if (!this.promisedMiddlewareMatchers) {\n // TODO: Decide what should happen when fetching fails instead of asserting\n // @ts-ignore\n this.promisedMiddlewareMatchers = fetch(this.assetPrefix + \"/_next/static/\" + this.buildId + \"/\" + _constants.DEV_MIDDLEWARE_MANIFEST, {\n credentials: \"same-origin\"\n }).then((res)=>res.json()).then((matchers)=>{\n window.__DEV_MIDDLEWARE_MATCHERS = matchers;\n return matchers;\n }).catch((err)=>{\n console.log(\"Failed to fetch _devMiddlewareManifest\", err);\n });\n }\n // TODO Remove this assertion as this could be undefined\n return this.promisedMiddlewareMatchers;\n }\n }\n }\n getDataHref(params) {\n const { asPath, href, locale } = params;\n const { pathname: hrefPathname, query, search } = (0, _parserelativeurl.parseRelativeUrl)(href);\n const { pathname: asPathname } = (0, _parserelativeurl.parseRelativeUrl)(asPath);\n const route = (0, _removetrailingslash.removeTrailingSlash)(hrefPathname);\n if (route[0] !== \"/\") {\n throw new Error('Route name should start with a \"/\", got \"' + route + '\"');\n }\n const getHrefForSlug = (path)=>{\n const dataRoute = (0, _getassetpathfromroute.default)((0, _removetrailingslash.removeTrailingSlash)((0, _addlocale.addLocale)(path, locale)), \".json\");\n return (0, _addbasepath.addBasePath)(\"/_next/data/\" + this.buildId + dataRoute + search, true);\n };\n return getHrefForSlug(params.skipInterpolation ? asPathname : (0, _isdynamic.isDynamicRoute)(route) ? (0, _interpolateas.interpolateAs)(hrefPathname, asPathname, query).result : route);\n }\n _isSsg(/** the route (file-system path) */ route) {\n return this.promisedSsgManifest.then((manifest)=>manifest.has(route));\n }\n loadPage(route) {\n return this.routeLoader.loadRoute(route).then((res)=>{\n if (\"component\" in res) {\n return {\n page: res.component,\n mod: res.exports,\n styleSheets: res.styles.map((o)=>({\n href: o.href,\n text: o.content\n }))\n };\n }\n throw res.error;\n });\n }\n prefetch(route) {\n return this.routeLoader.prefetch(route);\n }\n constructor(buildId, assetPrefix){\n this.routeLoader = (0, _routeloader.createRouteLoader)(assetPrefix);\n this.buildId = buildId;\n this.assetPrefix = assetPrefix;\n this.promisedSsgManifest = new Promise((resolve)=>{\n if (window.__SSG_MANIFEST) {\n resolve(window.__SSG_MANIFEST);\n } else {\n window.__SSG_MANIFEST_CB = ()=>{\n resolve(window.__SSG_MANIFEST);\n };\n }\n });\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=page-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wYWdlLWxvYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O2VBZ0NxQkE7Ozs7eUNBN0JPOzJDQUNFOzRGQUNJO3VDQUNSO3VDQUNLOzhDQUNFO2lEQUNHO3lDQUNzQjt1Q0FJbkQ7QUFrQlEsTUFBTUE7SUEwQm5CQyxjQUFjO1FBQ1osSUFBSUMsS0FBeUIsRUFBYyxFQUUzQyxNQUFPO1lBQ0wsSUFBSUssT0FBT0Msb0JBQW9CLEVBQUU7Z0JBQy9CLE9BQU9ELE9BQU9DLG9CQUFvQixDQUFDQyxLQUFLO1lBQzFDLE9BQU87Z0JBQ0wsSUFBSSxDQUFDQyx3QkFBQUEsSUFBTCxLQUFJLENBQUNBLHdCQUFBQSxHQUE2QkMsTUFDaEMsSUFBTyxDQUFDQyxXQUFXLEdBQUMsK0JBQTRCQyxXQUFBQSx5QkFBeUIsRUFDekU7b0JBQUVDLGFBQWE7Z0JBQWMsR0FFNUJWLElBQUksQ0FBQyxDQUFDVyxNQUFRQSxJQUFJQyxJQUFJLElBQ3RCWixJQUFJLENBQUMsQ0FBQ0M7b0JBQ0xFLE9BQU9DLG9CQUFvQixHQUFHSDtvQkFDOUIsT0FBT0EsU0FBU0ksS0FBSztnQkFDdkIsR0FDQ1EsS0FBSyxDQUFDLENBQUNDO29CQUNOQyxRQUFRQyxHQUFHLENBQUUscUNBQW9DRjtvQkFDakQsTUFBTSxJQUFJRyxNQUNSLDBGQUNFO2dCQUVOO2dCQUNGLE9BQU8sSUFBSSxDQUFDWCx3QkFBd0I7WUFDdEM7UUFDRjtJQUNGO0lBRUFZLGdCQUFnQjtRQUNkLElBQUlwQixLQUF5QixFQUFjLEVBTTNDLE1BQU87WUFDTCxJQUFJSyxPQUFPcUIseUJBQXlCLEVBQUU7Z0JBQ3BDLE9BQU9yQixPQUFPcUIseUJBQXlCO1lBQ3pDLE9BQU87Z0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQ0MsMEJBQTBCLEVBQUU7b0JBQ3BDLDJFQUEyRTtvQkFDM0UsYUFBYTtvQkFDYixJQUFJLENBQUNBLDBCQUEwQixHQUFHbEIsTUFDaEMsSUFBTyxDQUFDQyxX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QztZQUN0QyxJQUFJdEUsT0FBT3VFLGNBQWMsRUFBRTtnQkFDekJELFFBQVF0RSxPQUFPdUUsY0FBYztZQUMvQixPQUFPO2dCQUNMdkUsT0FBT3dFLGlCQUFpQixHQUFHO29CQUN6QkYsUUFBUXRFLE9BQU91RSxjQUFjO2dCQUMvQjtZQUNGO1FBQ0Y7SUFDRjtBQTJIRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9wYWdlLWxvYWRlci50cz8xNDU4Il0sIm5hbWVzIjpbIlBhZ2VMb2FkZXIiLCJnZXRQYWdlTGlzdCIsInByb2Nlc3MiLCJnZXRDbGllbnRCdWlsZE1hbmlmZXN0IiwidGhlbiIsIm1hbmlmZXN0Iiwic29ydGVkUGFnZXMiLCJ3aW5kb3ciLCJfX0RFVl9QQUdFU19NQU5JRkVTVCIsInBhZ2VzIiwicHJvbWlzZWREZXZQYWdlc01hbmlmZXN0IiwiZmV0Y2giLCJhc3NldFByZWZpeCIsIkRFVl9DTElFTlRfUEFHRVNfTUFOSUZFU1QiLCJjcmVkZW50aWFscyIsInJlcyIsImpzb24iLCJjYXRjaCIsImVyciIsImNvbnNvbGUiLCJsb2ciLCJFcnJvciIsImdldE1pZGRsZXdhcmUiLCJtaWRkbGV3YXJlTWF0Y2hlcnMiLCJlbnYiLCJfX05FWFRfTUlERExFV0FSRV9NQVRDSEVSUyIsIl9fTUlERExFV0FSRV9NQVRDSEVSUyIsInVuZGVmaW5lZCIsIl9fREVWX01JRERMRVdBUkVfTUFUQ0hFUlMiLCJwcm9taXNlZE1pZGRsZXdhcmVNYXRjaGVycyIsImJ1aWxkSWQiLCJERVZfTUlERExFV0FSRV9NQU5JRkVTVCIsIm1hdGNoZXJzIiwiZ2V0RGF0YUhyZWYiLCJwYXJhbXMiLCJhc1BhdGgiLCJocmVmIiwibG9jYWxlIiwicGF0aG5hbWUiLCJocmVmUGF0aG5hbWUiLCJxdWVyeSIsInNlYXJjaCIsInBhcnNlUmVsYXRpdmVVcmwiLCJhc1BhdGhuYW1lIiwicm91dGUiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwiZ2V0SHJlZkZvclNsdWciLCJwYXRoIiwiZGF0YVJvdXRlIiwiZ2V0QXNzZXRQYXRoRnJvbVJvdXRlIiwiYWRkTG9jYWxlIiwiYWRkQmFzZVBhdGgiLCJza2lwSW50ZXJwb2xhdGlvbiIsImlzRHluYW1pY1JvdXRlIiwiaW50ZXJwb2xhdGVBcyIsInJlc3VsdCIsIl9pc1NzZyIsInByb21pc2VkU3NnTWFuaWZlc3QiLCJoYXMiLCJsb2FkUGFnZSIsInJvdXRlTG9hZGVyIiwibG9hZFJvdXRlIiwicGFnZSIsImNvbXBvbmVudCIsIm1vZCIsImV4cG9ydHMiLCJzdHlsZVNoZWV0cyIsInN0eWxlcyIsIm1hcCIsIm8iLCJ0ZXh0IiwiY29udGVudCIsImVycm9yIiwicHJlZmV0Y2giLCJjb25zdHJ1Y3RvciIsImNyZWF0ZVJvdXRlTG9hZGVyIiwiUHJvbWlzZSIsInJlc29sdmUiLCJfX1NTR19NQU5JRkVTVCIsIl9fU1NHX01BTklGRVNUX0NCIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/page-loader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/performance-relayer.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/client/performance-relayer.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO: remove in the next major version\n/* global location */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\n// copied to prevent pulling in un-necessary utils\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nconst initialHref = location.href;\nlet isRegistered = false;\nlet userReportHandler;\nfunction onReport(metric) {\n if (userReportHandler) {\n userReportHandler(metric);\n }\n // This code is not shipped, executed, or present in the client-side\n // JavaScript bundle unless explicitly enabled in your application.\n //\n // When this feature is enabled, we'll make it very clear by printing a\n // message during the build (`next build`).\n if (false) { var _window___NEXT_DATA__; }\n}\nconst _default = (onPerfEntry)=>{\n // Update function if it changes:\n userReportHandler = onPerfEntry;\n // Only register listeners once:\n if (isRegistered) {\n return;\n }\n isRegistered = true;\n const attributions = false;\n for (const webVital of WEB_VITALS){\n try {\n let mod;\n if (false) {}\n if (!mod) {\n mod = __webpack_require__(/*! next/dist/compiled/web-vitals */ \"./node_modules/next/dist/compiled/web-vitals/web-vitals.js\");\n }\n mod[\"on\" + webVital](onReport);\n } catch (err) {\n // Do nothing if the module fails to load\n console.warn(\"Failed to track \" + webVital + \" web-vital\", err);\n }\n }\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=performance-relayer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wZXJmb3JtYW5jZS1yZWxheWVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6QyxtQkFBbUI7Ozs7MkNBcUVuQjs7O2VBQUFBOzs7QUFsRUEsa0RBQWtEO0FBQ2xELE1BQU1DLGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQUU5RCxNQUFNQyxjQUFjQyxTQUFTQyxJQUFJO0FBQ2pDLElBQUlDLGVBQWU7QUFDbkIsSUFBSUM7QUFHSixTQUFTQyxTQUFTQyxNQUFjO0lBQzlCLElBQUlGLG1CQUFtQjtRQUNyQkEsa0JBQWtCRTtJQUNwQjtJQUVBLG9FQUFvRTtJQUNwRSxtRUFBbUU7SUFDbkUsRUFBRTtJQUNGLHVFQUF1RTtJQUN2RSwyQ0FBMkM7SUFDM0MsSUFDRUMsS0FFK0IsRUFDL0IsOEJBeUNGO0FBQ0Y7TUFFQVQsV0FBZSxDQUFDeUM7SUFDZCxpQ0FBaUM7SUFDakNuQyxvQkFBb0JtQztJQUVwQixnQ0FBZ0M7SUFDaEMsSUFBSXBDLGNBQWM7UUFDaEI7SUFDRjtJQUNBQSxlQUFlO0lBRWYsTUFBTXFDLGVBQTBDakMsS0FDaEI7SUFFaEMsS0FBSyxNQUFNbUMsWUFBWTNDLFdBQVk7UUFDakMsSUFBSTtZQUNGLElBQUk0QztZQUVKLElBQUlwQyxLQUE2QyxFQUFFLEVBSW5EO1lBQ0EsSUFBSSxDQUFDb0MsS0FBSztnQkFDUkEsTUFBTUcsbUJBQUFBLENBQVE7WUFDaEI7WUFDQUgsR0FBRyxDQUFDLE9BQUtELFNBQVcsQ0FBQ3JDO1FBQ3ZCLEVBQUUsT0FBT2lDLEtBQUs7WUFDWix5Q0FBeUM7WUFDekNGLFFBQVFXLElBQUksQ0FBQyxxQkFBbUJMLFdBQVMsY0FBYUo7UUFDeEQ7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3BlcmZvcm1hbmNlLXJlbGF5ZXIudHM/ODMyZSJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsIldFQl9WSVRBTFMiLCJpbml0aWFsSHJlZiIsImxvY2F0aW9uIiwiaHJlZiIsImlzUmVnaXN0ZXJlZCIsInVzZXJSZXBvcnRIYW5kbGVyIiwib25SZXBvcnQiLCJtZXRyaWMiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0FOQUxZVElDU19JRCIsIndpbmRvdyIsImJvZHkiLCJkc24iLCJpZCIsInBhZ2UiLCJfX05FWFRfREFUQV9fIiwiZXZlbnRfbmFtZSIsIm5hbWUiLCJ2YWx1ZSIsInRvU3RyaW5nIiwic3BlZWQiLCJuYXZpZ2F0b3IiLCJibG9iIiwiQmxvYiIsIlVSTFNlYXJjaFBhcmFtcyIsInR5cGUiLCJ2aXRhbHNVcmwiLCJzZW5kIiwic2VuZEJlYWNvbiIsImJpbmQiLCJmYWxsYmFja1NlbmQiLCJmZXRjaCIsIm1ldGhvZCIsImNyZWRlbnRpYWxzIiwia2VlcGFsaXZlIiwiY2F0Y2giLCJjb25zb2xlIiwiZXJyb3IiLCJlcnIiLCJvblBlcmZFbnRyeSIsImF0dHJpYnV0aW9ucyIsIl9fTkVYVF9XRUJfVklUQUxTX0FUVFJJQlVUSU9OIiwid2ViVml0YWwiLCJtb2QiLCJfX05FWFRfSEFTX1dFQl9WSVRBTFNfQVRUUklCVVRJT04iLCJpbmNsdWRlcyIsInJlcXVpcmUiLCJ3YXJuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/performance-relayer.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/portal/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/portal/index.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Portal\", ({\n enumerable: true,\n get: function() {\n return Portal;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nconst Portal = (param)=>{\n let { children, type } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const element = document.createElement(type);\n document.body.appendChild(element);\n setPortalNode(element);\n return ()=>{\n document.body.removeChild(element);\n };\n }, [\n type\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, portalNode) : null;\n};\n_c = Portal;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c;\n$RefreshReg$(_c, \"Portal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wb3J0YWwvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7OzswQ0FRYUE7OztlQUFBQTs7O21DQVJ1QjtzQ0FDUDtBQU90QixNQUFNQSxTQUFTLENBQUFDO1FBQUMsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQWUsR0FBQUY7SUFDcEQsTUFBTSxDQUFDRyxZQUFZQyxjQUFjLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBcUI7SUFFakVDLENBQUFBLEdBQUFBLE9BQUFBLFNBQVMsRUFBQztRQUNSLE1BQU1DLFVBQVVDLFNBQVNDLGFBQWEsQ0FBQ1A7UUFDdkNNLFNBQVNFLElBQUksQ0FBQ0MsV0FBVyxDQUFDSjtRQUMxQkgsY0FBY0c7UUFDZCxPQUFPO1lBQ0xDLFNBQVNFLElBQUksQ0FBQ0UsV0FBVyxDQUFDTDtRQUM1QjtJQUNGLEdBQUc7UUFBQ0w7S0FBSztJQUVULE9BQU9DLGFBQWFVLFdBQWJWLEdBQWFVLENBQUFBLEdBQUFBLFVBQUFBLFlBQVksRUFBQ1osVUFBVUUsY0FBYztBQUMzRDtLQWJhSiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9wb3J0YWwvaW5kZXgudHN4P2I4YWIiXSwibmFtZXMiOlsiUG9ydGFsIiwicGFyYW0iLCJjaGlsZHJlbiIsInR5cGUiLCJwb3J0YWxOb2RlIiwic2V0UG9ydGFsTm9kZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsInJlbW92ZUNoaWxkIiwiY3JlYXRlUG9ydGFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/portal/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/remove-base-path.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-base-path.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeBasePath\", ({\n enumerable: true,\n get: function() {\n return removeBasePath;\n }\n}));\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || \"\";\nfunction removeBasePath(path) {\n if (false) {}\n // Can't trim the basePath if it has zero length!\n if (basePath.length === 0) return path;\n path = path.slice(basePath.length);\n if (!path.startsWith(\"/\")) path = \"/\" + path;\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBSWdCQTs7O2VBQUFBOzs7eUNBSlk7QUFFNUIsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixlQUFlSyxJQUFZO0lBQ3pDLElBQUlILEtBQTBDLEVBQUUsRUFJaEQ7SUFFQSxpREFBaUQ7SUFDakQsSUFBSUQsU0FBU08sTUFBTSxLQUFLLEdBQUcsT0FBT0g7SUFFbENBLE9BQU9BLEtBQUtJLEtBQUssQ0FBQ1IsU0FBU08sTUFBTTtJQUNqQyxJQUFJLENBQUNILEtBQUtLLFVBQVUsQ0FBQyxNQUFNTCxPQUFPLE1BQUlBO0lBQ3RDLE9BQU9BO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvcmVtb3ZlLWJhc2UtcGF0aC50cz9mYTcyIl0sIm5hbWVzIjpbInJlbW92ZUJhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJoYXNCYXNlUGF0aCIsImxlbmd0aCIsInNsaWNlIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/remove-locale.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-locale.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeLocale\", ({\n enumerable: true,\n get: function() {\n return removeLocale;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction removeLocale(path, locale) {\n if (false) {}\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0RBRWdCQTs7O2VBQUFBOzs7dUNBRlU7QUFFbkIsU0FBU0EsYUFBYUMsSUFBWSxFQUFFQyxNQUFlO0lBQ3hELElBQUlDLEtBQStCLEVBQUUsRUFZckM7SUFDQSxPQUFPRjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JlbW92ZS1sb2NhbGUudHM/YWRkYyJdLCJuYW1lcyI6WyJyZW1vdmVMb2NhbGUiLCJwYXRoIiwibG9jYWxlIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJwYXRobmFtZSIsInBhcnNlUGF0aCIsInBhdGhMb3dlciIsInRvTG93ZXJDYXNlIiwibG9jYWxlTG93ZXIiLCJzdGFydHNXaXRoIiwibGVuZ3RoIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/request-idle-callback.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/request-idle-callback.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZ0JhQSxvQkFBa0I7ZUFBbEJBOztJQWhCQUMscUJBQW1CO2VBQW5CQTs7O0FBQU4sTUFBTUEsc0JBQ1gsT0FBUUMsU0FBUyxlQUNmQSxLQUFLRCxtQkFBbUIsSUFDeEJDLEtBQUtELG1CQUFtQixDQUFDRSxJQUFJLENBQUNDLFdBQ2hDLFNBQVVDLEVBQXVCO0lBQy9CLElBQUlDLFFBQVFDLEtBQUtDLEdBQUc7SUFDcEIsT0FBT04sS0FBS08sVUFBVSxDQUFDO1FBQ3JCSixHQUFHO1lBQ0RLLFlBQVk7WUFDWkMsZUFBZTtnQkFDYixPQUFPQyxLQUFLQyxHQUFHLENBQUMsR0FBRyxLQUFNTixDQUFBQSxLQUFLQyxHQUFHLEtBQUtGLEtBQUFBO1lBQ3hDO1FBQ0Y7SUFDRixHQUFHO0FBQ0w7QUFFSyxNQUFNTixxQkFDWCxPQUFRRSxTQUFTLGVBQ2ZBLEtBQUtGLGtCQUFrQixJQUN2QkUsS0FBS0Ysa0JBQWtCLENBQUNHLElBQUksQ0FBQ0MsV0FDL0IsU0FBVVUsRUFBVTtJQUNsQixPQUFPQyxhQUFhRDtBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2sudHM/MDVmNCJdLCJuYW1lcyI6WyJjYW5jZWxJZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwic2VsZiIsImJpbmQiLCJ3aW5kb3ciLCJjYiIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInNldFRpbWVvdXQiLCJkaWRUaW1lb3V0IiwidGltZVJlbWFpbmluZyIsIk1hdGgiLCJtYXgiLCJpZCIsImNsZWFyVGltZW91dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/request-idle-callback.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/resolve-href.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/resolve-href.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXNvbHZlLWhyZWYuanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0F5QmdCQTs7O2VBQUFBOzs7eUNBdkJ1Qjt1Q0FDRjtrQ0FDaEI7bUNBQ29CO29EQUNFO3dDQUNoQjtvQ0FDSTsyQ0FDRDtBQWdCdkIsU0FBU0EsWUFDZEMsTUFBa0IsRUFDbEJDLElBQVMsRUFDVEMsU0FBbUI7SUFFbkIsNENBQTRDO0lBQzVDLElBQUlDO0lBQ0osSUFBSUMsY0FBYyxPQUFPSCxTQUFTLFdBQVdBLE9BQU9JLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDSjtJQUV6RSw2REFBNkQ7SUFDN0QsbURBQW1EO0lBQ25ELE1BQU1LLGdCQUFnQkYsWUFBWUcsS0FBSyxDQUFDO0lBQ3hDLE1BQU1DLHFCQUFxQkYsZ0JBQ3ZCRixZQUFZSyxLQUFLLENBQUNILGFBQWEsQ0FBQyxFQUFFLENBQUNJLE1BQU0sSUFDekNOO0lBRUosTUFBTU8sV0FBV0gsbUJBQW1CSSxLQUFLLENBQUMsS0FBSztJQUUvQyxJQUFJLENBQUNELFFBQVEsQ0FBQyxFQUFFLElBQUksSUFBSUosS0FBSyxDQUFDLGNBQWM7UUFDMUNNLFFBQVFDLEtBQUssQ0FDWCxtQkFBaUJWLGNBQVksdUNBQW9DSixPQUFPZSxRQUFRLEdBQUM7UUFFbkYsTUFBTUMsZ0JBQWdCQyxDQUFBQSxHQUFBQSxPQUFBQSx3QkFBd0IsRUFBQ1Q7UUFDL0NKLGNBQWMsQ0FBQ0UsZ0JBQWdCQSxhQUFhLENBQUMsRUFBRSxHQUFHLE1BQU1VO0lBQzFEO0lBRUEsMkRBQTJEO0lBQzNELElBQUksQ0FBQ0UsQ0FBQUEsR0FBQUEsWUFBQUEsVUFBVSxFQUFDZCxjQUFjO1FBQzVCLE9BQVFGLFlBQVk7WUFBQ0U7U0FBWSxHQUFHQTtJQUN0QztJQUVBLElBQUk7UUFDRkQsT0FBTyxJQUFJZ0IsSUFDVGYsWUFBWWdCLFVBQVUsQ0FBQyxPQUFPcEIsT0FBT3FCLE1BQU0sR0FBR3JCLE9BQU9lLFFBQVEsRUFDN0Q7SUFFSixFQUFFLE9BQU9PLEdBQUc7UUFDVixrREFBa0Q7UUFDbERuQixPQUFPLElBQUlnQixJQUFJLEtBQUs7SUFDdEI7SUFFQSxJQUFJO1FBQ0YsTUFBTUksV0FBVyxJQUFJSixJQUFJZixhQUFhRDtRQUN0Q29CLFNBQVNSLFFBQVEsR0FBR1MsQ0FBQUEsR0FBQUEsd0JBQUFBLDBCQUEwQixFQUFDRCxTQUFTUixRQUFRO1FBQ2hFLElBQUlVLGlCQUFpQjtRQUVyQixJQUNFQyxDQUFBQSxHQUFBQSxRQUFBQSxjQUFjLEVBQUNILFNBQVNSLFFBQVEsS0FDaENRLFNBQVNJLFlBQVksSUFDckJ6QixXQUNBO1lBQ0EsTUFBTTBCLFFBQVFDLENBQUFBLEdBQUFBLGFBQUFBLHNCQUFzQixFQUFDTixTQUFTSSxZQUFZO1lBRTFELE1BQU0sRUFBRUcsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUN0Q1QsU0FBU1IsUUFBUSxFQUNqQlEsU0FBU1IsUUFBUSxFQUNqQmE7WUFHRixJQUFJRSxRQUFRO2dCQUNWTCxpQkFBaUJwQixDQUFBQSxHQUFBQSxXQUFBQSxvQkFBb0IsRUFBQztvQkFDcENVLFVBQVVlO29CQUNWRyxNQUFNVixTQUFTVSxJQUFJO29CQUNuQkwsT0FBT00sQ0FBQUEsR0FBQUEsTUFBQUEsSUFBSSxFQUFDTixPQUFPRztnQkFDckI7WUFDRjtRQUNGO1FBRUEsb0VBQW9FO1FBQ3BFLE1BQU1JLGVBQ0paLFNBQVNhLE1BQU0sS0FBS2pDLEtBQUtpQyxNQUFNLEdBQzNCYixTQUFTdEIsSUFBSSxDQUFDUSxLQUFLLENBQUNjLFNBQVNhLE1BQU0sQ0FBQzFCLE1BQU0sSUFDMUNhLFNBQVN0QixJQUFJO1FBRW5CLE9BQU9DLFlBQ0g7WUFBQ2lDO1lBQWNWLGtCQUFrQlU7U0FBYSxHQUM5Q0E7SUFDTixFQUFFLE9BQU9iLEdBQUc7UUFDVixPQUFPcEIsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3JDO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvcmVzb2x2ZS1ocmVmLnRzP2U2ZDIiXSwibmFtZXMiOlsicmVzb2x2ZUhyZWYiLCJyb3V0ZXIiLCJocmVmIiwicmVzb2x2ZUFzIiwiYmFzZSIsInVybEFzU3RyaW5nIiwiZm9ybWF0V2l0aFZhbGlkYXRpb24iLCJ1cmxQcm90b01hdGNoIiwibWF0Y2giLCJ1cmxBc1N0cmluZ05vUHJvdG8iLCJzbGljZSIsImxlbmd0aCIsInVybFBhcnRzIiwic3BsaXQiLCJjb25zb2xlIiwiZXJyb3IiLCJwYXRobmFtZSIsIm5vcm1hbGl6ZWRVcmwiLCJub3JtYWxpemVSZXBlYXRlZFNsYXNoZXMiLCJpc0xvY2FsVVJMIiwiVVJMIiwic3RhcnRzV2l0aCIsImFzUGF0aCIsIl8iLCJmaW5hbFVybCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiaW50ZXJwb2xhdGVkQXMiLCJpc0R5bmFtaWNSb3V0ZSIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5Iiwic2VhcmNoUGFyYW1zVG9VcmxRdWVyeSIsInJlc3VsdCIsInBhcmFtcyIsImludGVycG9sYXRlQXMiLCJoYXNoIiwib21pdCIsInJlc29sdmVkSHJlZiIsIm9yaWdpbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/resolve-href.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/route-announcer.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/route-announcer.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RouteAnnouncer: function() {\n return RouteAnnouncer;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nconst nextjsRouteAnnouncerStyles = {\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 top: 0,\n width: \"1px\",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n};\nconst RouteAnnouncer = ()=>{\n _s();\n const { asPath } = (0, _router.useRouter)();\n const [routeAnnouncement, setRouteAnnouncement] = _react.default.useState(\"\");\n // Only announce the path change, but not for the first load because screen\n // reader will do that automatically.\n const previouslyLoadedPath = _react.default.useRef(asPath);\n // Every time the path changes, announce the new page’s title following this\n // priority: first the document title (from head), otherwise the first h1, or\n // if none of these exist, then the pathname from the URL. This methodology is\n // inspired by Marcy Sutton’s accessible client routing user testing. More\n // information can be found here:\n // https://www.gatsbyjs.com/blog/2019-07-11-user-testing-accessible-client-routing/\n _react.default.useEffect(()=>{\n // If the path hasn't change, we do nothing.\n if (previouslyLoadedPath.current === asPath) return;\n previouslyLoadedPath.current = asPath;\n if (document.title) {\n setRouteAnnouncement(document.title);\n } else {\n const pageHeader = document.querySelector(\"h1\");\n var _pageHeader_innerText;\n const content = (_pageHeader_innerText = pageHeader == null ? void 0 : pageHeader.innerText) != null ? _pageHeader_innerText : pageHeader == null ? void 0 : pageHeader.textContent;\n setRouteAnnouncement(content || asPath);\n }\n }, [\n asPath\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n \"aria-live\": \"assertive\" // Make the announcement immediately.\n ,\n id: \"__next-route-announcer__\",\n role: \"alert\",\n style: nextjsRouteAnnouncerStyles,\n children: routeAnnouncement\n });\n};\n_s(RouteAnnouncer, \"YC5SCNeVaenA6x7RBk3t0O2D/M8=\");\n_c = RouteAnnouncer;\nconst _default = RouteAnnouncer;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=route-announcer.js.map\nvar _c;\n$RefreshReg$(_c, \"RouteAnnouncer\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZS1hbm5vdW5jZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUFtQmFBLGdCQUFjO2VBQWRBOztJQTZDYkMsU0FBNkI7ZUFBN0JDOzs7Ozs0RUFoRWtCO29DQUNRO0FBRTFCLE1BQU1DLDZCQUFrRDtJQUN0REMsUUFBUTtJQUNSQyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsUUFBUTtJQUNSQyxVQUFVO0lBQ1ZDLFNBQVM7SUFDVEMsVUFBVTtJQUNWQyxLQUFLO0lBQ0xDLE9BQU87SUFFUCx3RkFBd0Y7SUFDeEZDLFlBQVk7SUFDWkMsVUFBVTtBQUNaO0FBRU8sTUFBTWQsaUJBQWlCOztJQUM1QixNQUFNLEVBQUVlLE1BQU0sRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxRQUFBQSxTQUFTO0lBQzVCLE1BQU0sQ0FBQ0MsbUJBQW1CQyxxQkFBcUIsR0FBR0MsT0FBQUEsT0FBSyxDQUFDQyxRQUFRLENBQUM7SUFFakUsMkVBQTJFO0lBQzNFLHFDQUFxQztJQUNyQyxNQUFNQyx1QkFBdUJGLE9BQUFBLE9BQUssQ0FBQ0csTUFBTSxDQUFDUDtJQUUxQyw0RUFBNEU7SUFDNUUsNkVBQTZFO0lBQzdFLDhFQUE4RTtJQUM5RSwwRUFBMEU7SUFDMUUsaUNBQWlDO0lBQ2pDLG1GQUFtRjtJQUNuRkksT0FBQUEsT0FBSyxDQUFDSSxTQUFTLENBQ2I7UUFDRSw0Q0FBNEM7UUFDNUMsSUFBSUYscUJBQXFCRyxPQUFPLEtBQUtULFFBQVE7UUFDN0NNLHFCQUFxQkcsT0FBTyxHQUFHVDtRQUUvQixJQUFJVSxTQUFTQyxLQUFLLEVBQUU7WUFDbEJSLHFCQUFxQk8sU0FBU0MsS0FBSztRQUNyQyxPQUFPO1lBQ0wsTUFBTUMsYUFBYUYsU0FBU0csYUFBYSxDQUFDO2dCQUMxQkQ7WUFBaEIsTUFBTUUsVUFBVUYsQ0FBQUEsd0JBQUFBLGNBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFdBQVlHLFNBQVMsWUFBckJILHdCQUF5QkEsY0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsV0FBWUksV0FBVztZQUVoRWIscUJBQXFCVyxXQUFXZDtRQUNsQztJQUNGLEdBRUE7UUFBQ0E7S0FBTztJQUdWLE9BQ0UsV0FERixHQUNFLElBQUFpQixZQUFBQyxHQUFBLEVBQUNDLEtBQUFBO1FBQ0NDLGFBQVUsWUFBWSxxQ0FBcUM7O1FBQzNEQyxJQUFHO1FBQ0hDLE1BQUs7UUFDTEMsT0FBT25DO2tCQUVOYzs7QUFHUDtHQTNDYWpCO0tBQUFBO01BNkNiRSxXQUFlRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yb3V0ZS1hbm5vdW5jZXIudHN4PzU5MGEiXSwibmFtZXMiOlsiUm91dGVBbm5vdW5jZXIiLCJkZWZhdWx0IiwiX2RlZmF1bHQiLCJuZXh0anNSb3V0ZUFubm91bmNlclN0eWxlcyIsImJvcmRlciIsImNsaXAiLCJoZWlnaHQiLCJtYXJnaW4iLCJvdmVyZmxvdyIsInBhZGRpbmciLCJwb3NpdGlvbiIsInRvcCIsIndpZHRoIiwid2hpdGVTcGFjZSIsIndvcmRXcmFwIiwiYXNQYXRoIiwidXNlUm91dGVyIiwicm91dGVBbm5vdW5jZW1lbnQiLCJzZXRSb3V0ZUFubm91bmNlbWVudCIsIlJlYWN0IiwidXNlU3RhdGUiLCJwcmV2aW91c2x5TG9hZGVkUGF0aCIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJkb2N1bWVudCIsInRpdGxlIiwicGFnZUhlYWRlciIsInF1ZXJ5U2VsZWN0b3IiLCJjb250ZW50IiwiaW5uZXJUZXh0IiwidGV4dENvbnRlbnQiLCJfanN4cnVudGltZSIsImpzeCIsInAiLCJhcmlhLWxpdmUiLCJpZCIsInJvbGUiLCJzdHlsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/route-announcer.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/route-loader.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/route-loader.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createRouteLoader: function() {\n return createRouteLoader;\n },\n getClientBuildManifest: function() {\n return getClientBuildManifest;\n },\n isAssetError: function() {\n return isAssetError;\n },\n markAssetError: function() {\n return markAssetError;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getassetpathfromroute = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/utils/get-asset-path-from-route */ \"./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"));\nconst _trustedtypes = __webpack_require__(/*! ./trusted-types */ \"./node_modules/next/dist/client/trusted-types.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\nconst _deploymentid = __webpack_require__(/*! ../build/deployment-id */ \"./node_modules/next/dist/build/deployment-id.js\");\n// 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\nconst MS_MAX_IDLE_DELAY = 3800;\nfunction withFuture(key, map, generator) {\n let entry = map.get(key);\n if (entry) {\n if (\"future\" in entry) {\n return entry.future;\n }\n return Promise.resolve(entry);\n }\n let resolver;\n const prom = new Promise((resolve)=>{\n resolver = resolve;\n });\n map.set(key, entry = {\n resolve: resolver,\n future: prom\n });\n return generator ? generator() // eslint-disable-next-line no-sequences\n .then((value)=>(resolver(value), value)).catch((err)=>{\n map.delete(key);\n throw err;\n }) : prom;\n}\nconst ASSET_LOAD_ERROR = Symbol(\"ASSET_LOAD_ERROR\");\nfunction markAssetError(err) {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {});\n}\nfunction isAssetError(err) {\n return err && ASSET_LOAD_ERROR in err;\n}\nfunction hasPrefetch(link) {\n try {\n link = document.createElement(\"link\");\n return(// with relList.support\n !!window.MSInputMethodContext && !!document.documentMode || link.relList.supports(\"prefetch\"));\n } catch (e) {\n return false;\n }\n}\nconst canPrefetch = hasPrefetch();\nconst getAssetQueryString = ()=>{\n return (0, _deploymentid.getDeploymentIdQueryOrEmptyString)();\n};\nfunction prefetchViaDom(href, as, link) {\n return new Promise((resolve, reject)=>{\n const selector = '\\n link[rel=\"prefetch\"][href^=\"' + href + '\"],\\n link[rel=\"preload\"][href^=\"' + href + '\"],\\n script[src^=\"' + href + '\"]';\n if (document.querySelector(selector)) {\n return resolve();\n }\n link = document.createElement(\"link\");\n // The order of property assignment here is intentional:\n if (as) link.as = as;\n link.rel = \"prefetch\";\n link.crossOrigin = undefined;\n link.onload = resolve;\n link.onerror = ()=>reject(markAssetError(new Error(\"Failed to prefetch: \" + href)));\n // `href` should always be last:\n link.href = href;\n document.head.appendChild(link);\n });\n}\nfunction appendScript(src, script) {\n return new Promise((resolve, reject)=>{\n script = document.createElement(\"script\");\n // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n script.onload = resolve;\n script.onerror = ()=>reject(markAssetError(new Error(\"Failed to load script: \" + src)));\n // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n script.crossOrigin = undefined;\n // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n script.src = src;\n document.body.appendChild(script);\n });\n}\n// We wait for pages to be built in dev before we start the route transition\n// timeout to prevent an un-necessary hard navigation in development.\nlet devBuildPromise;\n// Resolve a promise that times out after given amount of milliseconds.\nfunction resolvePromiseWithTimeout(p, ms, err) {\n return new Promise((resolve, reject)=>{\n let cancelled = false;\n p.then((r)=>{\n // Resolved, cancel the timeout\n cancelled = true;\n resolve(r);\n }).catch(reject);\n // We wrap these checks separately for better dead-code elimination in\n // production bundles.\n if (true) {\n (devBuildPromise || Promise.resolve()).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>setTimeout(()=>{\n if (!cancelled) {\n reject(err);\n }\n }, ms));\n });\n }\n if (false) {}\n });\n}\nfunction getClientBuildManifest() {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST);\n }\n const onBuildManifest = new Promise((resolve)=>{\n // Mandatory because this is not concurrent safe:\n const cb = self.__BUILD_MANIFEST_CB;\n self.__BUILD_MANIFEST_CB = ()=>{\n resolve(self.__BUILD_MANIFEST);\n cb && cb();\n };\n });\n return resolvePromiseWithTimeout(onBuildManifest, MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Failed to load client build manifest\")));\n}\nfunction getFilesForRoute(assetPrefix, route) {\n if (true) {\n const scriptUrl = assetPrefix + \"/_next/static/chunks/pages\" + encodeURI((0, _getassetpathfromroute.default)(route, \".js\")) + getAssetQueryString();\n return Promise.resolve({\n scripts: [\n (0, _trustedtypes.__unsafeCreateTrustedScriptURL)(scriptUrl)\n ],\n // Styles are handled by `style-loader` in development:\n css: []\n });\n }\n return getClientBuildManifest().then((manifest)=>{\n if (!(route in manifest)) {\n throw markAssetError(new Error(\"Failed to lookup route: \" + route));\n }\n const allFiles = manifest[route].map((entry)=>assetPrefix + \"/_next/\" + encodeURI(entry));\n return {\n scripts: allFiles.filter((v)=>v.endsWith(\".js\")).map((v)=>(0, _trustedtypes.__unsafeCreateTrustedScriptURL)(v) + getAssetQueryString()),\n css: allFiles.filter((v)=>v.endsWith(\".css\")).map((v)=>v + getAssetQueryString())\n };\n });\n}\nfunction createRouteLoader(assetPrefix) {\n const entrypoints = new Map();\n const loadedScripts = new Map();\n const styleSheets = new Map();\n const routes = new Map();\n function maybeExecuteScript(src) {\n // With HMR we might need to \"reload\" scripts when they are\n // disposed and readded. Executing scripts twice has no functional\n // differences\n if (false) {} else {\n return appendScript(src);\n }\n }\n function fetchStyleSheet(href) {\n let prom = styleSheets.get(href);\n if (prom) {\n return prom;\n }\n styleSheets.set(href, prom = fetch(href, {\n credentials: \"same-origin\"\n }).then((res)=>{\n if (!res.ok) {\n throw new Error(\"Failed to load stylesheet: \" + href);\n }\n return res.text().then((text)=>({\n href: href,\n content: text\n }));\n }).catch((err)=>{\n throw markAssetError(err);\n }));\n return prom;\n }\n return {\n whenEntrypoint (route) {\n return withFuture(route, entrypoints);\n },\n onEntrypoint (route, execute) {\n (execute ? Promise.resolve().then(()=>execute()).then((exports1)=>({\n component: exports1 && exports1.default || exports1,\n exports: exports1\n }), (err)=>({\n error: err\n })) : Promise.resolve(undefined)).then((input)=>{\n const old = entrypoints.get(route);\n if (old && \"resolve\" in old) {\n if (input) {\n entrypoints.set(route, input);\n old.resolve(input);\n }\n } else {\n if (input) {\n entrypoints.set(route, input);\n } else {\n entrypoints.delete(route);\n }\n // when this entrypoint has been resolved before\n // the route is outdated and we want to invalidate\n // this cache entry\n routes.delete(route);\n }\n });\n },\n loadRoute (route, prefetch) {\n return withFuture(route, routes, ()=>{\n let devBuildPromiseResolve;\n if (true) {\n devBuildPromise = new Promise((resolve)=>{\n devBuildPromiseResolve = resolve;\n });\n }\n return resolvePromiseWithTimeout(getFilesForRoute(assetPrefix, route).then((param)=>{\n let { scripts, css } = param;\n return Promise.all([\n entrypoints.has(route) ? [] : Promise.all(scripts.map(maybeExecuteScript)),\n Promise.all(css.map(fetchStyleSheet))\n ]);\n }).then((res)=>{\n return this.whenEntrypoint(route).then((entrypoint)=>({\n entrypoint,\n styles: res[1]\n }));\n }), MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Route did not complete loading: \" + route))).then((param)=>{\n let { entrypoint, styles } = param;\n const res = Object.assign({\n styles: styles\n }, entrypoint);\n return \"error\" in entrypoint ? entrypoint : res;\n }).catch((err)=>{\n if (prefetch) {\n // we don't want to cache errors during prefetch\n throw err;\n }\n return {\n error: err\n };\n }).finally(()=>devBuildPromiseResolve == null ? void 0 : devBuildPromiseResolve());\n });\n },\n prefetch (route) {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn;\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve();\n }\n return getFilesForRoute(assetPrefix, route).then((output)=>Promise.all(canPrefetch ? output.scripts.map((script)=>prefetchViaDom(script.toString(), \"script\")) : [])).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>this.loadRoute(route, true).catch(()=>{}));\n }).catch(()=>{});\n }\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=route-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBOFJnQkEsbUJBQWlCO2VBQWpCQTs7SUEzREFDLHdCQUFzQjtlQUF0QkE7O0lBbklBQyxjQUFZO2VBQVpBOztJQUpBQyxnQkFBYztlQUFkQTs7Ozs0RkExRmtCOzBDQUNhO2lEQUNYOzBDQUNjO0FBRWxELHVFQUF1RTtBQUN2RSx5RUFBeUU7QUFDekUsMkVBQTJFO0FBQzNFLG9DQUFvQztBQUNwQyxNQUFNQyxvQkFBb0I7QUE0QzFCLFNBQVNDLFdBQ1BDLEdBQVcsRUFDWEMsR0FBK0IsRUFDL0JDLFNBQTRCO0lBRTVCLElBQUlDLFFBQVFGLElBQUlHLEdBQUcsQ0FBQ0o7SUFDcEIsSUFBSUcsT0FBTztRQUNULElBQUksWUFBWUEsT0FBTztZQUNyQixPQUFPQSxNQUFNRSxNQUFNO1FBQ3JCO1FBQ0EsT0FBT0MsUUFBUUMsT0FBTyxDQUFDSjtJQUN6QjtJQUNBLElBQUlLO0lBQ0osTUFBTUMsT0FBbUIsSUFBSUgsUUFBVyxDQUFDQztRQUN2Q0MsV0FBV0Q7SUFDYjtJQUNBTixJQUFJUyxHQUFHLENBQUNWLEtBQU1HLFFBQVE7UUFBRUksU0FBU0M7UUFBV0gsUUFBUUk7SUFBSztJQUN6RCxPQUFPUCxZQUNIQSxZQUNFLHdDQUF3QztLQUN2Q1MsSUFBSSxDQUFDLENBQUNDLFFBQVdKLENBQUFBLFNBQVNJLFFBQVFBLEtBQUFBLEdBQ2xDQyxLQUFLLENBQUMsQ0FBQ0M7UUFDTmIsSUFBSWMsTUFBTSxDQUFDZjtRQUNYLE1BQU1jO0lBQ1IsS0FDRkw7QUFDTjtBQVNBLE1BQU1PLG1CQUFtQkMsT0FBTztBQUV6QixTQUFTcEIsZUFBZWlCLEdBQVU7SUFDdkMsT0FBT0ksT0FBT0MsY0FBYyxDQUFDTCxLQUFLRSxrQkFBa0IsQ0FBQztBQUN2RDtBQUVPLFNBQVNwQixhQUFha0IsR0FBVztJQUN0QyxPQUFPQSxPQUFPRSxvQkFBb0JGO0FBQ3BD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QUksQ0FBQzhDLFNBQVMsQ0FBQ3JDLE9BQU8sTUFBTXZELEtBQUssQ0FBQyxLQUFPO1lBQ3JFLEdBQ0NBLEtBQUssQ0FFSixLQUFPO1FBRWI7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JvdXRlLWxvYWRlci50cz85YTU3Il0sIm5hbWVzIjpbImNyZWF0ZVJvdXRlTG9hZGVyIiwiZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCIsImlzQXNzZXRFcnJvciIsIm1hcmtBc3NldEVycm9yIiwiTVNfTUFYX0lETEVfREVMQVkiLCJ3aXRoRnV0dXJlIiwia2V5IiwibWFwIiwiZ2VuZXJhdG9yIiwiZW50cnkiLCJnZXQiLCJmdXR1cmUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc29sdmVyIiwicHJvbSIsInNldCIsInRoZW4iLCJ2YWx1ZSIsImNhdGNoIiwiZXJyIiwiZGVsZXRlIiwiQVNTRVRfTE9BRF9FUlJPUiIsIlN5bWJvbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiaGFzUHJlZmV0Y2giLCJsaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid2luZG93IiwiTVNJbnB1dE1ldGhvZENvbnRleHQiLCJkb2N1bWVudE1vZGUiLCJyZWxMaXN0Iiwic3VwcG9ydHMiLCJlIiwiY2FuUHJlZmV0Y2giLCJnZXRBc3NldFF1ZXJ5U3RyaW5nIiwiZ2V0RGVwbG95bWVudElkUXVlcnlPckVtcHR5U3RyaW5nIiwicHJlZmV0Y2hWaWFEb20iLCJocmVmIiwiYXMiLCJyZWplY3QiLCJzZWxlY3RvciIsInF1ZXJ5U2VsZWN0b3IiLCJyZWwiLCJjcm9zc09yaWdpbiIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQ1JPU1NfT1JJR0lOIiwib25sb2FkIiwib25lcnJvciIsIkVycm9yIiwiaGVhZCIsImFwcGVuZENoaWxkIiwiYXBwZW5kU2NyaXB0Iiwic3JjIiwic2NyaXB0IiwiYm9keSIsImRldkJ1aWxkUHJvbWlzZSIsInJlc29sdmVQcm9taXNlV2l0aFRpbWVvdXQiLCJwIiwibXMiLCJjYW5jZWxsZWQiLCJyIiwicmVxdWVzdElkbGVDYWxsYmFjayIsInNldFRpbWVvdXQiLCJzZWxmIiwiX19CVUlMRF9NQU5JRkVTVCIsIm9uQnVpbGRNYW5pZmVzdCIsImNiIiwiX19CVUlMRF9NQU5JRkVTVF9DQiIsImdldEZpbGVzRm9yUm91dGUiLCJhc3NldFByZWZpeCIsInJvdXRlIiwic2NyaXB0VXJsIiwiZW5jb2RlVVJJIiwiZ2V0QXNzZXRQYXRoRnJvbVJvdXRlIiwic2NyaXB0cyIsIl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCIsImNzcyIsIm1hbmlmZXN0IiwiYWxsRmlsZXMiLCJmaWx0ZXIiLCJ2IiwiZW5kc1dpdGgiLCJlbnRyeXBvaW50cyIsIk1hcCIsImxvYWRlZFNjcmlwdHMiLCJzdHlsZVNoZWV0cyIsInJvdXRlcyIsIm1heWJlRXhlY3V0ZVNjcmlwdCIsInRvU3RyaW5nIiwiZmV0Y2hTdHlsZVNoZWV0IiwiZmV0Y2giLCJjcmVkZW50aWFscyIsInJlcyIsIm9rIiwidGV4dCIsImNvbnRlbnQiLCJ3aGVuRW50cnlwb2ludCIsIm9uRW50cnlwb2ludCIsImV4ZWN1dGUiLCJleHBvcnRzIiwiY29tcG9uZW50IiwiZXhwb3J0czEiLCJkZWZhdWx0IiwiZXJyb3IiLCJ1bmRlZmluZWQiLCJpbnB1dCIsIm9sZCIsImxvYWRSb3V0ZSIsInByZWZldGNoIiwiZGV2QnVpbGRQcm9taXNlUmVzb2x2ZSIsInBhcmFtIiwiYWxsIiwiaGFzIiwiZW50cnlwb2ludCIsInN0eWxlcyIsImFzc2lnbiIsImZpbmFsbHkiLCJjbiIsIm5hdmlnYXRvciIsImNvbm5lY3Rpb24iLCJzYXZlRGF0YSIsInRlc3QiLCJlZmZlY3RpdmVUeXBlIiwib3V0cHV0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/route-loader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/router.js": -/*!*************************************************!*\ - !*** ./node_modules/next/dist/client/router.js ***! - \*************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* global window */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Router: function() {\n return _router.default;\n },\n createRouter: function() {\n return createRouter;\n },\n // Export the singletonRouter and this is the public API.\n default: function() {\n return _default;\n },\n makePublicRouterInstance: function() {\n return makePublicRouterInstance;\n },\n useRouter: function() {\n return useRouter;\n },\n withRouter: function() {\n return _withrouter.default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/router */ \"./node_modules/next/dist/shared/lib/router/router.js\"));\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _withrouter = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./with-router */ \"./node_modules/next/dist/client/with-router.js\"));\nconst singletonRouter = {\n router: null,\n readyCallbacks: [],\n ready (callback) {\n if (this.router) return callback();\n if (true) {\n this.readyCallbacks.push(callback);\n }\n }\n};\n// Create public properties and methods of the router in the singletonRouter\nconst urlPropertyFields = [\n \"pathname\",\n \"route\",\n \"query\",\n \"asPath\",\n \"components\",\n \"isFallback\",\n \"basePath\",\n \"locale\",\n \"locales\",\n \"defaultLocale\",\n \"isReady\",\n \"isPreview\",\n \"isLocaleDomain\",\n \"domainLocales\"\n];\nconst routerEvents = [\n \"routeChangeStart\",\n \"beforeHistoryChange\",\n \"routeChangeComplete\",\n \"routeChangeError\",\n \"hashChangeStart\",\n \"hashChangeComplete\"\n];\nconst coreMethodFields = [\n \"push\",\n \"replace\",\n \"reload\",\n \"back\",\n \"prefetch\",\n \"beforePopState\"\n];\n// Events is a static property on the router, the router doesn't have to be initialized to use it\nObject.defineProperty(singletonRouter, \"events\", {\n get () {\n return _router.default.events;\n }\n});\nfunction getRouter() {\n if (!singletonRouter.router) {\n const message = \"No router instance found.\\n\" + 'You should only use \"next/router\" on the client side of your app.\\n';\n throw new Error(message);\n }\n return singletonRouter.router;\n}\nurlPropertyFields.forEach((field)=>{\n // Here we need to use Object.defineProperty because we need to return\n // the property assigned to the actual router\n // The value might get changed as we change routes and this is the\n // proper way to access it\n Object.defineProperty(singletonRouter, field, {\n get () {\n const router = getRouter();\n return router[field];\n }\n });\n});\ncoreMethodFields.forEach((field)=>{\n singletonRouter[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const router = getRouter();\n return router[field](...args);\n };\n});\nrouterEvents.forEach((event)=>{\n singletonRouter.ready(()=>{\n _router.default.events.on(event, function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const eventField = \"on\" + event.charAt(0).toUpperCase() + event.substring(1);\n const _singletonRouter = singletonRouter;\n if (_singletonRouter[eventField]) {\n try {\n _singletonRouter[eventField](...args);\n } catch (err) {\n console.error(\"Error when running the Router event: \" + eventField);\n console.error((0, _iserror.default)(err) ? err.message + \"\\n\" + err.stack : err + \"\");\n }\n }\n });\n });\n});\nconst _default = singletonRouter;\nfunction useRouter() {\n _s();\n const router = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n if (!router) {\n throw new Error(\"NextRouter was not mounted. https://nextjs.org/docs/messages/next-router-not-mounted\");\n }\n return router;\n}\n_s(useRouter, \"rbAhEc3dLGnVlsHWaSDsgP4MZS0=\");\nfunction createRouter() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n singletonRouter.router = new _router.default(...args);\n singletonRouter.readyCallbacks.forEach((cb)=>cb());\n singletonRouter.readyCallbacks = [];\n return singletonRouter.router;\n}\nfunction makePublicRouterInstance(router) {\n const scopedRouter = router;\n const instance = {};\n for (const property of urlPropertyFields){\n if (typeof scopedRouter[property] === \"object\") {\n instance[property] = Object.assign(Array.isArray(scopedRouter[property]) ? [] : {}, scopedRouter[property]) // makes sure query is not stateful\n ;\n continue;\n }\n instance[property] = scopedRouter[property];\n }\n // Events is a static property on the router, the router doesn't have to be initialized to use it\n instance.events = _router.default.events;\n coreMethodFields.forEach((field)=>{\n instance[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n return scopedRouter[field](...args);\n };\n });\n return instance;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCOztBQUFBOzs7Ozs7Ozs7Ozs7SUFhUkEsUUFBTTtlQUFOQSxRQUFBQSxPQUFNOztJQTZJQ0MsY0FBWTtlQUFaQTs7SUE3QmhCLHlEQUF5RDtJQUN6REMsU0FBaUQ7ZUFBakRDOztJQTBDZ0JDLDBCQUF3QjtlQUF4QkE7O0lBL0JBQyxXQUFTO2VBQVRBOztJQVJJQyxZQUFVO2VBQVZBLFlBQUFBLE9BQVU7Ozs7NEVBaElaOzZFQUNDO3dEQUVXOzhFQUNWO2lGQTRIa0I7QUE5R3RDLE1BQU1DLGtCQUF1QztJQUMzQ0MsUUFBUTtJQUNSQyxnQkFBZ0IsRUFBRTtJQUNsQkMsT0FBTUMsUUFBb0I7UUFDeEIsSUFBSSxJQUFJLENBQUNILE1BQU0sRUFBRSxPQUFPRztRQUN4QixJQUFJLElBQWtCLEVBQWE7WUFDakMsSUFBSSxDQUFDRixjQUFjLENBQUNHLElBQUksQ0FBQ0Q7UUFDM0I7SUFDRjtBQUNGO0FBRUEsNEVBQTRFO0FBQzVFLE1BQU1FLG9CQUFvQjtJQUN4QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFDRCxNQUFNQyxlQUFlO0lBQ25CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBR0QsTUFBTUMsbUJBQW1CO0lBQ3ZCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRUQsaUdBQWlHO0FBQ2pHQyxPQUFPQyxjQUFjLENBQUNWLGlCQUFpQixVQUFVO0lBQy9DVztRQUNFLE9BQU9sQixRQUFBQSxPQUFNLENBQUNtQixNQUFNO0lBQ3RCO0FBQ0Y7QUFFQSxTQUFTQztJQUNQLElBQUksQ0FBQ2IsZ0JBQWdCQyxNQUFNLEVBQUU7UUFDM0IsTUFBTWEsVUFDSixnQ0FDQTtRQUNGLE1BQU0sSUFBSUMsTUFBTUQ7SUFDbEI7SUFDQSxPQUFPZCxn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LFlBQVksQ0FBQ0UsU0FBUztJQUM3QztJQUVBLGlHQUFpRztJQUNqR0QsU0FBUzdCLE1BQU0sR0FBR25CLFFBQUFBLE9BQU0sQ0FBQ21CLE1BQU07SUFFL0JKLGlCQUFpQlEsT0FBTyxDQUFDLENBQUNDO1FBQ3hCd0IsUUFBUSxDQUFDeEIsTUFBTSxHQUFHOzZDQUFJQyxPQUFBQSxJQUFBQSxNQUFBQSxPQUFBQSxPQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxPQUFBQTtnQkFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O1lBQ3BCLE9BQU9zQixZQUFZLENBQUN2QixNQUFNLElBQUlDO1FBQ2hDO0lBQ0Y7SUFFQSxPQUFPdUI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yb3V0ZXIudHM/NmQ5MyJdLCJuYW1lcyI6WyJSb3V0ZXIiLCJjcmVhdGVSb3V0ZXIiLCJkZWZhdWx0IiwiX2RlZmF1bHQiLCJtYWtlUHVibGljUm91dGVySW5zdGFuY2UiLCJ1c2VSb3V0ZXIiLCJ3aXRoUm91dGVyIiwic2luZ2xldG9uUm91dGVyIiwicm91dGVyIiwicmVhZHlDYWxsYmFja3MiLCJyZWFkeSIsImNhbGxiYWNrIiwicHVzaCIsInVybFByb3BlcnR5RmllbGRzIiwicm91dGVyRXZlbnRzIiwiY29yZU1ldGhvZEZpZWxkcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0IiwiZXZlbnRzIiwiZ2V0Um91dGVyIiwibWVzc2FnZSIsIkVycm9yIiwiZm9yRWFjaCIsImZpZWxkIiwiYXJncyIsImV2ZW50Iiwib24iLCJldmVudEZpZWxkIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciLCJfc2luZ2xldG9uUm91dGVyIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiaXNFcnJvciIsInN0YWNrIiwiUmVhY3QiLCJ1c2VDb250ZXh0IiwiUm91dGVyQ29udGV4dCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJBcnJheSIsIl9rZXkiLCJjYiIsInNjb3BlZFJvdXRlciIsImluc3RhbmNlIiwicHJvcGVydHkiLCJhc3NpZ24iLCJpc0FycmF5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/script.js": -/*!*************************************************!*\ - !*** ./node_modules/next/dist/client/script.js ***! - \*************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n handleClientScriptLoad: function() {\n return handleClientScriptLoad;\n },\n initScriptLoader: function() {\n return initScriptLoader;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ../shared/lib/head-manager-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _headmanager = __webpack_require__(/*! ./head-manager */ \"./node_modules/next/dist/client/head-manager.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\nconst ScriptCache = new Map();\nconst LoadCache = new Set();\nconst ignoreProps = [\n \"onLoad\",\n \"onReady\",\n \"dangerouslySetInnerHTML\",\n \"children\",\n \"onError\",\n \"strategy\",\n \"stylesheets\"\n];\nconst insertStylesheets = (stylesheets)=>{\n // Case 1: Styles for afterInteractive/lazyOnload with appDir injected via handleClientScriptLoad\n //\n // Using ReactDOM.preinit to feature detect appDir and inject styles\n // Stylesheets might have already been loaded if initialized with Script component\n // Re-inject styles here to handle scripts loaded via handleClientScriptLoad\n // ReactDOM.preinit handles dedup and ensures the styles are loaded only once\n if (_reactdom.default.preinit) {\n stylesheets.forEach((stylesheet)=>{\n _reactdom.default.preinit(stylesheet, {\n as: \"style\"\n });\n });\n return;\n }\n // Case 2: Styles for afterInteractive/lazyOnload with pages injected via handleClientScriptLoad\n //\n // We use this function to load styles when appdir is not detected\n // TODO: Use React float APIs to load styles once available for pages dir\n if (true) {\n let head = document.head;\n stylesheets.forEach((stylesheet)=>{\n let link = document.createElement(\"link\");\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = stylesheet;\n head.appendChild(link);\n });\n }\n};\nconst loadScript = (props)=>{\n const { src, id, onLoad = ()=>{}, onReady = null, dangerouslySetInnerHTML, children = \"\", strategy = \"afterInteractive\", onError, stylesheets } = props;\n const cacheKey = id || src;\n // Script has already loaded\n if (cacheKey && LoadCache.has(cacheKey)) {\n return;\n }\n // Contents of this script are already loading/loaded\n if (ScriptCache.has(src)) {\n LoadCache.add(cacheKey);\n // It is possible that multiple `next/script` components all have same \"src\", but has different \"onLoad\"\n // This is to make sure the same remote script will only load once, but \"onLoad\" are executed in order\n ScriptCache.get(src).then(onLoad, onError);\n return;\n }\n /** Execute after the script first loaded */ const afterLoad = ()=>{\n // Run onReady for the first time after load event\n if (onReady) {\n onReady();\n }\n // add cacheKey to LoadCache when load successfully\n LoadCache.add(cacheKey);\n };\n const el = document.createElement(\"script\");\n const loadPromise = new Promise((resolve, reject)=>{\n el.addEventListener(\"load\", function(e) {\n resolve();\n if (onLoad) {\n onLoad.call(this, e);\n }\n afterLoad();\n });\n el.addEventListener(\"error\", function(e) {\n reject(e);\n });\n }).catch(function(e) {\n if (onError) {\n onError(e);\n }\n });\n if (dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n afterLoad();\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n afterLoad();\n } else if (src) {\n el.src = src;\n // do not add cacheKey into LoadCache for remote script here\n // cacheKey will be added to LoadCache when it is actually loaded (see loadPromise above)\n ScriptCache.set(src, loadPromise);\n }\n for (const [k, value] of Object.entries(props)){\n if (value === undefined || ignoreProps.includes(k)) {\n continue;\n }\n const attr = _headmanager.DOMAttributeNames[k] || k.toLowerCase();\n el.setAttribute(attr, value);\n }\n if (strategy === \"worker\") {\n el.setAttribute(\"type\", \"text/partytown\");\n }\n el.setAttribute(\"data-nscript\", strategy);\n // Load styles associated with this script\n if (stylesheets) {\n insertStylesheets(stylesheets);\n }\n document.body.appendChild(el);\n};\nfunction handleClientScriptLoad(props) {\n const { strategy = \"afterInteractive\" } = props;\n if (strategy === \"lazyOnload\") {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n } else {\n loadScript(props);\n }\n}\nfunction loadLazyScript(props) {\n if (document.readyState === \"complete\") {\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n } else {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n }\n}\nfunction addBeforeInteractiveToCache() {\n const scripts = [\n ...document.querySelectorAll('[data-nscript=\"beforeInteractive\"]'),\n ...document.querySelectorAll('[data-nscript=\"beforePageRender\"]')\n ];\n scripts.forEach((script)=>{\n const cacheKey = script.id || script.getAttribute(\"src\");\n LoadCache.add(cacheKey);\n });\n}\nfunction initScriptLoader(scriptLoaderItems) {\n scriptLoaderItems.forEach(handleClientScriptLoad);\n addBeforeInteractiveToCache();\n}\n/**\n * Load a third-party scripts in an optimized way.\n *\n * Read more: [Next.js Docs: `next/script`](https://nextjs.org/docs/app/api-reference/components/script)\n */ function Script(props) {\n const { id, src = \"\", onLoad = ()=>{}, onReady = null, strategy = \"afterInteractive\", onError, stylesheets, ...restProps } = props;\n // Context is available only during SSR\n const { updateScripts, scripts, getIsSsr, appDir, nonce } = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n /**\n * - First mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script hasn't loaded yet (not in LoadCache)\n * onReady is skipped, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. hasLoadScriptEffectCalled.current is false, loadScript executes\n * Once the script is loaded, the onLoad and onReady will be called by then\n * [If strict mode is enabled / is wrapped in <OffScreen /> component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n *\n * - Second mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script has already loaded (found in LoadCache)\n * onReady is called, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. The script is already loaded, loadScript bails out\n * [If strict mode is enabled / is wrapped in <OffScreen /> component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n */ const hasOnReadyEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n const cacheKey = id || src;\n if (!hasOnReadyEffectCalled.current) {\n // Run onReady if script has loaded before but component is re-mounted\n if (onReady && cacheKey && LoadCache.has(cacheKey)) {\n onReady();\n }\n hasOnReadyEffectCalled.current = true;\n }\n }, [\n onReady,\n id,\n src\n ]);\n const hasLoadScriptEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n if (!hasLoadScriptEffectCalled.current) {\n if (strategy === \"afterInteractive\") {\n loadScript(props);\n } else if (strategy === \"lazyOnload\") {\n loadLazyScript(props);\n }\n hasLoadScriptEffectCalled.current = true;\n }\n }, [\n props,\n strategy\n ]);\n if (strategy === \"beforeInteractive\" || strategy === \"worker\") {\n if (updateScripts) {\n scripts[strategy] = (scripts[strategy] || []).concat([\n {\n id,\n src,\n onLoad,\n onReady,\n onError,\n ...restProps\n }\n ]);\n updateScripts(scripts);\n } else if (getIsSsr && getIsSsr()) {\n // Script has already loaded during SSR\n LoadCache.add(id || src);\n } else if (getIsSsr && !getIsSsr()) {\n loadScript(props);\n }\n }\n // For the app directory, we need React Float to preload these scripts.\n if (appDir) {\n // Injecting stylesheets here handles beforeInteractive and worker scripts correctly\n // For other strategies injecting here ensures correct stylesheet order\n // ReactDOM.preinit handles loading the styles in the correct order,\n // also ensures the stylesheet is loaded only once and in a consistent manner\n //\n // Case 1: Styles for beforeInteractive/worker with appDir - handled here\n // Case 2: Styles for beforeInteractive/worker with pages dir - Not handled yet\n // Case 3: Styles for afterInteractive/lazyOnload with appDir - handled here\n // Case 4: Styles for afterInteractive/lazyOnload with pages dir - handled in insertStylesheets function\n if (stylesheets) {\n stylesheets.forEach((styleSrc)=>{\n _reactdom.default.preinit(styleSrc, {\n as: \"style\"\n });\n });\n }\n // Before interactive scripts need to be loaded by Next.js' runtime instead\n // of native <script> tags, because they no longer have `defer`.\n if (strategy === \"beforeInteractive\") {\n if (!src) {\n // For inlined scripts, we put the content in `children`.\n if (restProps.dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n restProps.children = restProps.dangerouslySetInnerHTML.__html;\n delete restProps.dangerouslySetInnerHTML;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n nonce: nonce,\n dangerouslySetInnerHTML: {\n __html: \"(self.__next_s=self.__next_s||[]).push(\" + JSON.stringify([\n 0,\n {\n ...restProps,\n id\n }\n ]) + \")\"\n }\n });\n } else {\n // @ts-ignore\n _reactdom.default.preload(src, restProps.integrity ? {\n as: \"script\",\n integrity: restProps.integrity,\n nonce\n } : {\n as: \"script\",\n nonce\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n nonce: nonce,\n dangerouslySetInnerHTML: {\n __html: \"(self.__next_s=self.__next_s||[]).push(\" + JSON.stringify([\n src,\n {\n ...restProps,\n id\n }\n ]) + \")\"\n }\n });\n }\n } else if (strategy === \"afterInteractive\") {\n if (src) {\n // @ts-ignore\n _reactdom.default.preload(src, restProps.integrity ? {\n as: \"script\",\n integrity: restProps.integrity,\n nonce\n } : {\n as: \"script\",\n nonce\n });\n }\n }\n }\n return null;\n}\n_c = Script;\nObject.defineProperty(Script, \"__nextScript\", {\n value: true\n});\nconst _default = Script;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=script.js.map\nvar _c;\n$RefreshReg$(_c, \"Script\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9zY3JpcHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFnWUFBLFNBQXFCOzs7SUFuTkxDOzRCQUFBQTs7SUFnQ0FDO3NCQUFBQTs7Ozs7OzsrRUExTXFDO3VEQUVsQkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FDREEsbUJBQUFBLENBQUE7O0FBR2xDLE1BQU1DLHVCQUFrQkMsbUJBQUFBLENBQUFBLHlGQUFBQTtBQUN4QixNQUFNQyxjQUFZLElBQUlDO0FBaUJ0QixNQUFNQyxZQUFBQSxJQUFjRDtNQUNsQkMsY0FBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0NBRUQ7TUFDRUMsb0JBQUEsQ0FBQUM7SUFDQSxpR0FBRTtJQUNGO0lBQ0E7SUFDQSxrRkFBNEU7SUFDNUU7SUFDQSw2RUFBc0I7UUFDcEJBLFVBQUFBLE9BQVlDLENBQUFBLE9BQVNDLEVBQUFBO29CQUNuQkMsT0FBQUEsQ0FBQUEsQ0FBUUQ7c0JBQTJCRSxPQUFBLENBQUFDLE9BQUEsQ0FBQUgsWUFBQTtnQkFBUUksSUFBQTtZQUM3QztRQUVBO1FBQ0Y7SUFFQTtJQUNBLGdHQUFFO0lBQ0Y7SUFDQTtJQUNBLHlFQUFtQztRQUNqQyxJQUFXQyxFQUFhO1FBQ3hCUCxJQUFBQSxPQUFBQSxTQUFvQlEsSUFBQ047b0JBQ2ZPLE9BQU9GLENBQUFBLENBQUFBO1lBRVhFLElBQUFBLE9BQVNGLFNBQUdHLGFBQUE7WUFDWkQsS0FBS0UsSUFBRyxHQUFHO1lBQ1hGLEtBQUtHLEdBQUFBLEdBQUk7WUFFVEosS0FBS0ssSUFBQUEsR0FBQUE7WUFDUEwsS0FBQUssV0FBQSxDQUFBSjtRQUNGO0lBQ0Y7QUFFQTtNQUNFSyxhQUVJLENBQUFDO0lBVUosTUFBTUMsRUFBQUEsR0FBQUEsRUFBQUEsRUFBQUEsRUFBV0MsU0FBTUMsS0FBQUEsQ0FBQUEsRUFBQUEsVUFBQUEsSUFBQUEsRUFBQUEsdUJBQUFBLEVBQUFBLFdBQUFBLEVB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b0JBQUVyRDtvQkFBY3FELElBQUFBO29CQUFNQTtnQkFFNUI7dUJBRVdBLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLFVBQUFBO29CQUNQdkIsT0FBQUE7NkNBQ1c7Z0NBQ1BsQiw0Q0FBQUEsS0FBQUEsU0FBQUEsQ0FBQUE7NEJBQ0FBOztnQ0FBZ0JELEdBQUFBLFNBQUFBO2dDQUFHQTs0QkFDcEI7eUJBQ0g7O2dCQUdOO1lBQ0Y7ZUFDRSxJQUFJQyxhQUFLO2dCQUNQQSxLQUFBO2dCQUNBZixhQUFBQTswQkFHWUMsT0FBQSxDQUFBdUUsT0FBQSxDQUFBekQsS0FBQXFDLFVBQUFxQixTQUFBO29CQUFVQSxJQUFBQTtvQkFBZ0NqQixXQUFBQSxVQUFBQSxTQUFBQTtvQkFDaERBO29CQUFFckQ7b0JBQWNxRCxJQUFBQTtvQkFBTUE7Z0JBRTlCO1lBQ0Y7UUFDRjtJQUVBO0lBQ0Y7QUFFQWtCO0tBcktJNUQ7T0FxSzRDc0IsY0FBTyxDQUFBdUMsUUFBQTtJQUFLdkMsT0FBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9zY3JpcHQudHN4PzRhMzYiXSwibmFtZXMiOlsiZXhwb3J0cyIsImhhbmRsZUNsaWVudFNjcmlwdExvYWQiLCJpbml0U2NyaXB0TG9hZGVyIiwiXyIsInJlcXVpcmUiLCJTY3JpcHRDYWNoZSIsIk1hcCIsIkxvYWRDYWNoZSIsIlNldCIsImlnbm9yZVByb3BzIiwiaW5zZXJ0U3R5bGVzaGVldHMiLCJzdHlsZXNoZWV0cyIsImZvckVhY2giLCJzdHlsZXNoZWV0IiwiUmVhY3RET00iLCJkZWZhdWx0IiwicHJlaW5pdCIsImFzIiwiZG9jdW1lbnQiLCJoZWFkIiwibGluayIsImNyZWF0ZUVsZW1lbnQiLCJyZWwiLCJocmVmIiwiYXBwZW5kQ2hpbGQiLCJsb2FkU2NyaXB0IiwicHJvcHMiLCJjYWNoZUtleSIsImlkIiwic3JjIiwiaGFzIiwiYWRkIiwib25FcnJvciIsImdldCIsInRoZW4iLCJvbkxvYWQiLCJhZnRlckxvYWQiLCJvblJlYWR5IiwibG9hZFByb21pc2UiLCJyZXNvbHZlIiwiZWwiLCJhZGRFdmVudExpc3RlbmVyIiwiUHJvbWlzZSIsInJlamVjdCIsImNhbGwiLCJlIiwiY2F0Y2giLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsInRleHRDb250ZW50Iiwic2V0IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJpbmNsdWRlcyIsImsiLCJzZXRBdHRyaWJ1dGUiLCJhdHRyIiwic3RyYXRlZ3kiLCJib2R5Iiwid2luZG93IiwicmVxdWVzdElkbGVDYWxsYmFjayIsIl9yZXF1ZXN0aWRsZWNhbGxiYWNrIiwicmVhZHlTdGF0ZSIsImFkZEJlZm9yZUludGVyYWN0aXZlVG9DYWNoZSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzY3JpcHRzIiwic2NyaXB0TG9hZGVySXRlbXMiLCJyZXN0UHJvcHMiLCJnZXRJc1NzciIsInVwZGF0ZVNjcmlwdHMiLCJhcHBEaXIiLCJub25jZSIsIl9yZWFjdCIsInVzZUNvbnRleHQiLCJfaGVhZG1hbmFnZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsInVzZUVmZmVjdCIsInVzZVJlZiIsImhhc09uUmVhZHlFZmZlY3RDYWxsZWQiLCJjdXJyZW50IiwiaGFzTG9hZFNjcmlwdEVmZmVjdENhbGxlZCIsImxvYWRMYXp5U2NyaXB0IiwiY29uY2F0Iiwic3R5bGVTcmMiLCJfX2h0bWwiLCJKU09OIiwic3RyaW5naWZ5IiwicHJlbG9hZCIsImludGVncml0eSIsIk9iamVjdCIsIlNjcmlwdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/script.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/setup-hydration-warning.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/client/setup-hydration-warning.js ***! - \******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nif (!window._nextSetupHydrationWarning) {\n const origConsoleError = window.console.error;\n window.console.error = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const isHydrateError = args.some((arg)=>typeof arg === \"string\" && arg.match(/(hydration|content does not match|did not match)/i));\n if (isHydrateError) {\n args = [\n ...args,\n \"\\nSee more info here: https://nextjs.org/docs/messages/react-hydration-error\"\n ];\n }\n origConsoleError.apply(window.console, args);\n };\n window._nextSetupHydrationWarning = true;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=setup-hydration-warning.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9zZXR1cC1oeWRyYXRpb24td2FybmluZy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBTUEsSUFBSSxDQUFDQSxPQUFPQywwQkFBMEIsRUFBRTtJQUN0QyxNQUFNQyxtQkFBbUJGLE9BQU9HLE9BQU8sQ0FBQ0MsS0FBSztJQUM3Q0osT0FBT0csT0FBTyxDQUFDQyxLQUFLLEdBQUc7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUN6QixNQUFNQyxpQkFBaUJELEtBQUtFLElBQUksQ0FDOUIsQ0FBQ0MsTUFDQyxPQUFPQSxRQUFRLFlBQ2ZBLElBQUlDLEtBQUssQ0FBQztRQUVkLElBQUlILGdCQUFnQjtZQUNsQkQsT0FBTzttQkFDRkE7Z0JBQ0Y7YUFDRjtRQUNIO1FBQ0FILGlCQUFpQlEsS0FBSyxDQUFDVixPQUFPRyxPQUFPLEVBQUVFO0lBQ3pDO0lBQ0FMLE9BQU9DLDBCQUEwQixHQUFHO0FBQ3RDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3NldHVwLWh5ZHJhdGlvbi13YXJuaW5nLnRzPzFhYjciXSwibmFtZXMiOlsid2luZG93IiwiX25leHRTZXR1cEh5ZHJhdGlvbldhcm5pbmciLCJvcmlnQ29uc29sZUVycm9yIiwiY29uc29sZSIsImVycm9yIiwiYXJncyIsImlzSHlkcmF0ZUVycm9yIiwic29tZSIsImFyZyIsIm1hdGNoIiwiYXBwbHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/setup-hydration-warning.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/tracing/report-to-socket.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/tracing/report-to-socket.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return reportToSocket;\n }\n}));\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nfunction reportToSocket(span) {\n if (span.state.state !== \"ended\") {\n throw new Error(\"Expected span to be ended\");\n }\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"span-end\",\n startTime: span.startTime,\n endTime: span.state.endTime,\n spanName: span.name,\n attributes: span.attributes\n }));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=report-to-socket.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC90cmFjaW5nL3JlcG9ydC10by1zb2NrZXQuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FHQTs7O2VBQXdCQTs7O3VDQUhJO0FBR2IsU0FBU0EsZUFBZUMsSUFBVTtJQUMvQyxJQUFJQSxLQUFLQyxLQUFLLENBQUNBLEtBQUssS0FBSyxTQUFTO1FBQ2hDLE1BQU0sSUFBSUMsTUFBTTtJQUNsQjtJQUVBQyxDQUFBQSxHQUFBQSxXQUFBQSxXQUFXLEVBQ1RDLEtBQUtDLFNBQVMsQ0FBQztRQUNiQyxPQUFPO1FBQ1BDLFdBQVdQLEtBQUtPLFNBQVM7UUFDekJDLFNBQVNSLEtBQUtDLEtBQUssQ0FBQ08sT0FBTztRQUMzQkMsVUFBVVQsS0FBS1UsSUFBSTtRQUNuQkMsWUFBWVgsS0FBS1csVUFBVTtJQUM3QjtBQUVKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L3RyYWNpbmcvcmVwb3J0LXRvLXNvY2tldC50cz9hOGQwIl0sIm5hbWVzIjpbInJlcG9ydFRvU29ja2V0Iiwic3BhbiIsInN0YXRlIiwiRXJyb3IiLCJzZW5kTWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJldmVudCIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJzcGFuTmFtZSIsIm5hbWUiLCJhdHRyaWJ1dGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/tracing/report-to-socket.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/tracing/tracer.js": -/*!*********************************************************!*\ - !*** ./node_modules/next/dist/client/tracing/tracer.js ***! - \*********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _mitt = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../shared/lib/mitt */ \"./node_modules/next/dist/shared/lib/mitt.js\"));\nclass Span {\n end(endTime) {\n if (this.state.state === \"ended\") {\n throw new Error(\"Span has already ended\");\n }\n this.state = {\n state: \"ended\",\n endTime: endTime != null ? endTime : Date.now()\n };\n this.onSpanEnd(this);\n }\n constructor(name, options, onSpanEnd){\n this.name = name;\n var _options_attributes;\n this.attributes = (_options_attributes = options.attributes) != null ? _options_attributes : {};\n var _options_startTime;\n this.startTime = (_options_startTime = options.startTime) != null ? _options_startTime : Date.now();\n this.onSpanEnd = onSpanEnd;\n this.state = {\n state: \"inprogress\"\n };\n }\n}\nclass Tracer {\n startSpan(name, options) {\n return new Span(name, options, this.handleSpanEnd);\n }\n onSpanEnd(cb) {\n this._emitter.on(\"spanend\", cb);\n return ()=>{\n this._emitter.off(\"spanend\", cb);\n };\n }\n constructor(){\n this._emitter = (0, _mitt.default)();\n this.handleSpanEnd = (span)=>{\n this._emitter.emit(\"spanend\", span);\n };\n }\n}\nconst _default = new Tracer();\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=tracer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC90cmFjaW5nL3RyYWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQThFQTs7O2VBQUFBOzs7OzJFQTlFaUI7QUF5QmpCLE1BQU1DO0lBbUJKQyxJQUFJQyxPQUFnQixFQUFFO1FBQ3BCLElBQUksSUFBSSxDQUFDQyxLQUFLLENBQUNBLEtBQUssS0FBSyxTQUFTO1lBQ2hDLE1BQU0sSUFBSUMsTUFBTTtRQUNsQjtRQUVBLElBQUksQ0FBQ0QsS0FBSyxHQUFHO1lBQ1hBLE9BQU87WUFDUEQsU0FBU0EsV0FBQUEsT0FBQUEsVUFBV0csS0FBS0MsR0FBRztRQUM5QjtRQUVBLElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUk7SUFDckI7SUF2QkFDLFlBQ0VDLElBQVksRUFDWkMsT0FBb0IsRUFDcEJILFNBQStCLENBQy9CO1FBQ0EsSUFBSSxDQUFDRSxJQUFJLEdBQUdBO1lBQ01DO1FBQWxCLElBQUksQ0FBQ0MsVUFBVSxHQUFHRCxDQUFBQSxzQkFBQUEsUUFBUUMsVUFBVSxZQUFsQkQsc0JBQXNCLENBQUM7WUFDeEJBO1FBQWpCLElBQUksQ0FBQ0UsU0FBUyxHQUFHRixDQUFBQSxxQkFBQUEsUUFBUUUsU0FBUyxZQUFqQkYscUJBQXFCTCxLQUFLQyxHQUFHO1FBQzlDLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNKLEtBQUssR0FBRztZQUFFQSxPQUFPO1FBQWE7SUFDckM7QUFjRjtBQUVBLE1BQU1VO0lBT0pDLFVBQVVMLElBQVksRUFBRUMsT0FBb0IsRUFBRTtRQUM1QyxPQUFPLElBQUlWLEtBQUtTLE1BQU1DLFNBQVMsSUFBSSxDQUFDSyxhQUFhO0lBQ25EO0lBRUFSLFVBQVVTLEVBQXlCLEVBQWM7UUFDL0MsSUFBSSxDQUFDQyxRQUFRLENBQUNDLEVBQUUsQ0FBQyxXQUFXRjtRQUM1QixPQUFPO1lBQ0wsSUFBSSxDQUFDQyxRQUFRLENBQUNFLEdBQUcsQ0FBQyxXQUFXSDtRQUMvQjtJQUNGOzthQWZBQyxRQUFBQSxHQUFnQ0csQ0FBQUEsR0FBQUEsTUFBQUEsT0FBSTthQUU1QkwsYUFBQUEsR0FBZ0IsQ0FBQ007WUFDdkIsSUFBSSxDQUFDSixRQUFRLENBQUNLLElBQUksQ0FBQyxXQUFXRDtRQUNoQzs7QUFZRjtNQUdBdEIsV0FBZSxJQUFJYyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC90cmFjaW5nL3RyYWNlci50cz9hZGRmIl0sIm5hbWVzIjpbIl9kZWZhdWx0IiwiU3BhbiIsImVuZCIsImVuZFRpbWUiLCJzdGF0ZSIsIkVycm9yIiwiRGF0ZSIsIm5vdyIsIm9uU3BhbkVuZCIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm9wdGlvbnMiLCJhdHRyaWJ1dGVzIiwic3RhcnRUaW1lIiwiVHJhY2VyIiwic3RhcnRTcGFuIiwiaGFuZGxlU3BhbkVuZCIsImNiIiwiX2VtaXR0ZXIiLCJvbiIsIm9mZiIsIm1pdHQiLCJzcGFuIiwiZW1pdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/tracing/tracer.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/trusted-types.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/trusted-types.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Stores the Trusted Types Policy. Starts as undefined and can be set to null\n * if Trusted Types is not supported in the browser.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"__unsafeCreateTrustedScriptURL\", ({\n enumerable: true,\n get: function() {\n return __unsafeCreateTrustedScriptURL;\n }\n}));\nlet policy;\n/**\n * Getter for the Trusted Types Policy. If it is undefined, it is instantiated\n * here or set to null if Trusted Types is not supported in the browser.\n */ function getPolicy() {\n if (typeof policy === \"undefined\" && \"object\" !== \"undefined\") {\n var _window_trustedTypes;\n policy = ((_window_trustedTypes = window.trustedTypes) == null ? void 0 : _window_trustedTypes.createPolicy(\"nextjs\", {\n createHTML: (input)=>input,\n createScript: (input)=>input,\n createScriptURL: (input)=>input\n })) || null;\n }\n return policy;\n}\nfunction __unsafeCreateTrustedScriptURL(url) {\n var _getPolicy;\n return ((_getPolicy = getPolicy()) == null ? void 0 : _getPolicy.createScriptURL(url)) || url;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=trusted-types.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC90cnVzdGVkLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztrRUE2QmVBOzs7ZUFBQUE7OztBQTVCaEIsSUFBSUM7QUFFSjs7O0NBR0MsR0FDRCxTQUFTQztJQUNQLElBQUksT0FBT0QsV0FBVyxlQUFlLGFBQWtCLGFBQWE7WUFFaEVFO1FBREZGLFNBQ0VFLENBQUFBLENBQUFBLHVCQUFBQSxPQUFPQyxZQUFZLHFCQUFuQkQscUJBQXFCRSxZQUFZLENBQUMsVUFBVTtZQUMxQ0MsWUFBWSxDQUFDQyxRQUFVQTtZQUN2QkMsY0FBYyxDQUFDRCxRQUFVQTtZQUN6QkUsaUJBQWlCLENBQUNGLFFBQVVBO1FBQzlCLE9BQU07SUFDVjtJQUVBLE9BQU9OO0FBQ1Q7QUFXTyxTQUFTRCwrQkFDZFUsR0FBVztRQUVKUjtJQUFQLE9BQU9BLENBQUFBLENBQUFBLGFBQUFBLFdBQUFBLEtBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFdBQWFPLGVBQWUsQ0FBQ0MsSUFBQUEsS0FBUUE7QUFDOUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvdHJ1c3RlZC10eXBlcy50cz82ZThmIl0sIm5hbWVzIjpbIl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCIsInBvbGljeSIsImdldFBvbGljeSIsIndpbmRvdyIsInRydXN0ZWRUeXBlcyIsImNyZWF0ZVBvbGljeSIsImNyZWF0ZUhUTUwiLCJpbnB1dCIsImNyZWF0ZVNjcmlwdCIsImNyZWF0ZVNjcmlwdFVSTCIsInVybCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/trusted-types.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/webpack.js": -/*!**************************************************!*\ - !*** ./node_modules/next/dist/client/webpack.js ***! - \**************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _deploymentid = __webpack_require__(/*! ../build/deployment-id */ \"./node_modules/next/dist/build/deployment-id.js\");\n// If we have a deployment ID, we need to append it to the webpack chunk names\n// I am keeping the process check explicit so this can be statically optimized\nif (false) {}\nself.__next_set_public_path__ = (path)=>{\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n __webpack_require__.p = path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=webpack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC93ZWJwYWNrLmpzIiwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDs7Ozs7MENBS1g7QUFFbEQsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSxJQUFJQSxLQUE4QixFQUFFLEVBcUJwQztBQUdFYSxLQUFhQyx3QkFBd0IsR0FBRyxDQUFDQztJQUN6Qyw2REFBNkQ7SUFDN0RDLHFCQUFBQSxHQUEwQkQ7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvd2VicGFjay50cz82Yzg1Il0sIm5hbWVzIjpbInByb2Nlc3MiLCJlbnYiLCJORVhUX0RFUExPWU1FTlRfSUQiLCJzdWZmaXgiLCJnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmciLCJnZXRDaHVua1NjcmlwdEZpbGVuYW1lIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsInUiLCJhcmdzIiwiZ2V0Q2h1bmtDc3NGaWxlbmFtZSIsImsiLCJnZXRNaW5pQ3NzRmlsZW5hbWUiLCJtaW5pQ3NzRiIsInNlbGYiLCJfX25leHRfc2V0X3B1YmxpY19wYXRoX18iLCJwYXRoIiwiX193ZWJwYWNrX3B1YmxpY19wYXRoX18iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/webpack.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/with-router.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/with-router.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return withRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nfunction withRouter(ComposedComponent) {\n function WithRouterWrapper(props) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ComposedComponent, {\n router: (0, _router.useRouter)(),\n ...props\n });\n }\n WithRouterWrapper.getInitialProps = ComposedComponent.getInitialProps;\n WithRouterWrapper.origGetInitialProps = ComposedComponent.origGetInitialProps;\n if (true) {\n const name = ComposedComponent.displayName || ComposedComponent.name || \"Unknown\";\n WithRouterWrapper.displayName = \"withRouter(\" + name + \")\";\n }\n return WithRouterWrapper;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=with-router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC93aXRoLXJvdXRlci5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQWtCQTs7O2VBQXdCQTs7Ozs7NEVBbEJOO29DQU9RO0FBV1gsU0FBU0EsV0FJdEJDLGlCQUErQztJQUUvQyxTQUFTQyxrQkFBa0JDLEtBQVU7UUFDbkMsT0FBTyxXQUFQLEdBQU8sSUFBQUMsWUFBQUMsR0FBQSxFQUFDSixtQkFBQUE7WUFBa0JLLFFBQVFDLENBQUFBLEdBQUFBLFFBQUFBLFNBQVM7WUFBSyxHQUFHSixLQUFLOztJQUMxRDtJQUVBRCxrQkFBa0JNLGVBQWUsR0FBR1Asa0JBQWtCTyxlQUFlO0lBRW5FTixrQkFBMEJPLG1CQUFtQixHQUFHUixrQkFFaERRLG1CQUFtQjtJQUNyQixJQUFJQyxJQUF5QixFQUFjO1FBQ3pDLE1BQU1DLE9BQ0pWLGtCQUFrQlcsV0FBVyxJQUFJWCxrQkFBa0JVLElBQUksSUFBSTtRQUM3RFQsa0JBQWtCVSxXQUFXLEdBQUcsZ0JBQWNELE9BQUs7SUFDckQ7SUFFQSxPQUFPVDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3dpdGgtcm91dGVyLnRzeD8zNjIyIl0sIm5hbWVzIjpbIndpdGhSb3V0ZXIiLCJDb21wb3NlZENvbXBvbmVudCIsIldpdGhSb3V0ZXJXcmFwcGVyIiwicHJvcHMiLCJfanN4cnVudGltZSIsImpzeCIsInJvdXRlciIsInVzZVJvdXRlciIsImdldEluaXRpYWxQcm9wcyIsIm9yaWdHZXRJbml0aWFsUHJvcHMiLCJwcm9jZXNzIiwibmFtZSIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/with-router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/strip-ansi/index.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/compiled/strip-ansi/index.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("var __dirname = \"/\";\n\n(()=>{\n \"use strict\";\n var e = {\n 511: (e)=>{\n e.exports = function() {\n let { onlyFirst: e = false } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n const r = [\n \"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\n \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"\n ].join(\"|\");\n return new RegExp(r, e ? undefined : \"g\");\n };\n },\n 532: (e, r, _)=>{\n const t = _(511);\n e.exports = (e)=>typeof e === \"string\" ? e.replace(t(), \"\") : e;\n }\n };\n var r = {};\n function __nccwpck_require__(_) {\n var t = r[_];\n if (t !== undefined) {\n return t.exports;\n }\n var a = r[_] = {\n exports: {}\n };\n var n = true;\n try {\n e[_](a, a.exports, __nccwpck_require__);\n n = false;\n } finally{\n if (n) delete r[_];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var _ = __nccwpck_require__(532);\n module.exports = _;\n})();\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2kvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7QUFBQztJQUFLO0lBQWEsSUFBSUEsSUFBRTtRQUFDLEtBQUlBLENBQUFBO1lBQUlBLEVBQUVDLE9BQU8sR0FBQztvQkFBQyxFQUFDQyxXQUFVRixJQUFFLEtBQUssRUFBQyxvRUFBQyxDQUFDO2dCQUFLLE1BQU1HLElBQUU7b0JBQUM7b0JBQStIO2lCQUEyRCxDQUFDQyxJQUFJLENBQUM7Z0JBQUssT0FBTyxJQUFJQyxPQUFPRixHQUFFSCxJQUFFTSxZQUFVO1lBQUk7UUFBQztRQUFFLEtBQUksQ0FBQ04sR0FBRUcsR0FBRUk7WUFBSyxNQUFNQyxJQUFFRCxFQUFFO1lBQUtQLEVBQUVDLE9BQU8sR0FBQ0QsQ0FBQUEsSUFBRyxPQUFPQSxNQUFJLFdBQVNBLEVBQUVTLE9BQU8sQ0FBQ0QsS0FBSSxNQUFJUjtRQUFDO0lBQUM7SUFBRSxJQUFJRyxJQUFFLENBQUM7SUFBRSxTQUFTTyxvQkFBb0JILENBQUM7UUFBRSxJQUFJQyxJQUFFTCxDQUFDLENBQUNJLEVBQUU7UUFBQyxJQUFHQyxNQUFJRixXQUFVO1lBQUMsT0FBT0UsRUFBRVAsT0FBTztRQUFBO1FBQUMsSUFBSVUsSUFBRVIsQ0FBQyxDQUFDSSxFQUFFLEdBQUM7WUFBQ04sU0FBUSxDQUFDO1FBQUM7UUFBRSxJQUFJVyxJQUFFO1FBQUssSUFBRztZQUFDWixDQUFDLENBQUNPLEVBQUUsQ0FBQ0ksR0FBRUEsRUFBRVYsT0FBTyxFQUFDUztZQUFxQkUsSUFBRTtRQUFLLFNBQVE7WUFBQyxJQUFHQSxHQUFFLE9BQU9ULENBQUMsQ0FBQ0ksRUFBRTtRQUFBO1FBQUMsT0FBT0ksRUFBRVYsT0FBTztJQUFBO0lBQUMsSUFBRyxPQUFPUyx3QkFBc0IsYUFBWUEsb0JBQW9CRyxFQUFFLEdBQUNDLFNBQVNBLEdBQUM7SUFBSSxJQUFJUCxJQUFFRyxvQkFBb0I7SUFBS0ssT0FBT2QsT0FBTyxHQUFDTTtBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RyaXAtYW5zaS9pbmRleC5qcz8xMWZhIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO3ZhciBlPXs1MTE6ZT0+e2UuZXhwb3J0cz0oe29ubHlGaXJzdDplPWZhbHNlfT17fSk9Pntjb25zdCByPVtcIltcXFxcdTAwMUJcXFxcdTAwOUJdW1tcXFxcXSgpIzs/XSooPzooPzooPzooPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10rKSp8W2EtekEtWlxcXFxkXSsoPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10qKSopP1xcXFx1MDAwNylcIixcIig/Oig/OlxcXFxkezEsNH0oPzo7XFxcXGR7MCw0fSkqKT9bXFxcXGRBLVBSLVRaY2YtbnRxcnk9Pjx+XSkpXCJdLmpvaW4oXCJ8XCIpO3JldHVybiBuZXcgUmVnRXhwKHIsZT91bmRlZmluZWQ6XCJnXCIpfX0sNTMyOihlLHIsXyk9Pntjb25zdCB0PV8oNTExKTtlLmV4cG9ydHM9ZT0+dHlwZW9mIGU9PT1cInN0cmluZ1wiP2UucmVwbGFjZSh0KCksXCJcIik6ZX19O3ZhciByPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18oXyl7dmFyIHQ9cltfXTtpZih0IT09dW5kZWZpbmVkKXtyZXR1cm4gdC5leHBvcnRzfXZhciBhPXJbX109e2V4cG9ydHM6e319O3ZhciBuPXRydWU7dHJ5e2VbX10oYSxhLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7bj1mYWxzZX1maW5hbGx5e2lmKG4pZGVsZXRlIHJbX119cmV0dXJuIGEuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIF89X19uY2N3cGNrX3JlcXVpcmVfXyg1MzIpO21vZHVsZS5leHBvcnRzPV99KSgpOyJdLCJuYW1lcyI6WyJlIiwiZXhwb3J0cyIsIm9ubHlGaXJzdCIsInIiLCJqb2luIiwiUmVnRXhwIiwidW5kZWZpbmVkIiwiXyIsInQiLCJyZXBsYWNlIiwiX19uY2N3cGNrX3JlcXVpcmVfXyIsImEiLCJuIiwiYWIiLCJfX2Rpcm5hbWUiLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/strip-ansi/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_app.js": -/*!**********************************************!*\ - !*** ./node_modules/next/dist/pages/_app.js ***! - \**********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return App;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */ async function appGetInitialProps(param) {\n let { Component, ctx } = param;\n const pageProps = await (0, _utils.loadGetInitialProps)(Component, ctx);\n return {\n pageProps\n };\n}\nclass App extends _react.default.Component {\n render() {\n const { Component, pageProps } = this.props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...pageProps\n });\n }\n}\nApp.origGetInitialProps = appGetInitialProps;\nApp.getInitialProps = appGetInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_app.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19hcHAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztlQWlDcUJBOzs7Ozs0RUFqQ0g7bUNBV2tCO0FBVXBDOzs7Q0FHQyxHQUNELGVBQWVDLG1CQUFtQkMsS0FHckI7SUFIcUIsTUFDaENDLFNBQVMsRUFDVEMsR0FBRyxFQUNRLEdBSHFCRjtJQUloQyxNQUFNRyxZQUFZLE1BQU1DLENBQUFBLEdBQUFBLE9BQUFBLG1CQUFtQixFQUFDSCxXQUFXQztJQUN2RCxPQUFPO1FBQUVDO0lBQVU7QUFDckI7QUFFZSxNQUFNTCxZQUFzQ08sT0FBQUEsT0FBSyxDQUFDSixTQUFTO0lBT3hFSyxTQUFTO1FBQ1AsTUFBTSxFQUFFTCxTQUFTLEVBQUVFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQ0ksS0FBSztRQUUzQyxPQUFPLFdBQVAsR0FBTyxJQUFBQyxZQUFBQyxHQUFBLEVBQUNSLFdBQUFBO1lBQVcsR0FBR0UsU0FBUzs7SUFDakM7QUFDRjtBQVpxQkwsSUFJWlksbUJBQUFBLEdBQXNCWDtBQUpWRCxJQUtaYSxlQUFBQSxHQUFrQloiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9wYWdlcy9fYXBwLnRzeD83YzZhIl0sIm5hbWVzIjpbIkFwcCIsImFwcEdldEluaXRpYWxQcm9wcyIsInBhcmFtIiwiQ29tcG9uZW50IiwiY3R4IiwicGFnZVByb3BzIiwibG9hZEdldEluaXRpYWxQcm9wcyIsIlJlYWN0IiwicmVuZGVyIiwicHJvcHMiLCJfanN4cnVudGltZSIsImpzeCIsIm9yaWdHZXRJbml0aWFsUHJvcHMiLCJnZXRJbml0aWFsUHJvcHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_app.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/pages/_error.js ***! - \************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return Error;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"./node_modules/next/dist/shared/lib/head.js\"));\nconst statusCodes = {\n 400: \"Bad Request\",\n 404: \"This page could not be found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\"\n};\nfunction _getInitialProps(param) {\n let { res, err } = param;\n const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;\n return {\n statusCode\n };\n}\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n lineHeight: \"48px\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"28px\"\n },\n wrap: {\n display: \"inline-block\"\n }\n};\nclass Error extends _react.default.Component {\n render() {\n const { statusCode, withDarkMode = true } = this.props;\n const title = this.props.title || statusCodes[statusCode] || \"An unexpected error has occurred\";\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.error,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: statusCode ? statusCode + \": \" + title : \"Application error: a client-side exception has occurred\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.desc,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n /* CSS minified from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n ${\n withDarkMode\n ? `@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }`\n : ''\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\" + (withDarkMode ? \"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\" : \"\")\n }\n }),\n statusCode ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1,\n children: statusCode\n }) : null,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.wrap,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"h2\", {\n style: styles.h2,\n children: [\n this.props.title || statusCode ? title : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: \"Application error: a client-side exception has occurred (see the browser console for more information)\"\n }),\n \".\"\n ]\n })\n })\n ]\n })\n ]\n });\n }\n}\nError.displayName = \"ErrorPage\";\nError.getInitialProps = _getInitialProps;\nError.origGetInitialProps = _getInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O2VBOERxQkE7Ozs7OzRFQTlESDsyRUFDRDtBQUdqQixNQUFNQyxjQUEwQztJQUM5QyxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBQ1A7QUFRQSxTQUFTQyxpQkFBaUJDLEtBR1I7SUFIUSxNQUN4QkMsR0FBRyxFQUNIQyxHQUFHLEVBQ2EsR0FIUUY7SUFJeEIsTUFBTUcsYUFDSkYsT0FBT0EsSUFBSUUsVUFBVSxHQUFHRixJQUFJRSxVQUFVLEdBQUdELE1BQU1BLElBQUlDLFVBQVUsR0FBSTtJQUNuRSxPQUFPO1FBQUVBO0lBQVc7QUFDdEI7QUFFQSxNQUFNQyxTQUE4QztJQUNsREMsT0FBTztRQUNMLDBGQUEwRjtRQUMxRkMsWUFDRTtRQUNGQyxRQUFRO1FBQ1JDLFdBQVc7UUFDWEMsU0FBUztRQUNUQyxlQUFlO1FBQ2ZDLFlBQVk7UUFDWkMsZ0JBQWdCO0lBQ2xCO0lBQ0FDLE1BQU07UUFDSkMsWUFBWTtJQUNkO0lBQ0FDLElBQUk7UUFDRk4sU0FBUztRQUNUTyxRQUFRO1FBQ1JDLGNBQWM7UUFDZEMsVUFBVTtRQUNWQyxZQUFZO1FBQ1pDLGVBQWU7SUFDakI7SUFDQUMsSUFBSTtRQUNGSCxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkwsWUFBWTtJQUNkO0lBQ0FRLE1BQU07UUFDSmIsU0FBUztJQUNYO0FBQ0Y7QUFLZSxNQUFNWixjQUFzQjBCLE9BQUFBLE9BQUssQ0FBQ0MsU0FBUztJQU14REMsU0FBUztRQUNQLE1BQU0sRUFBRXRCLFVBQVUsRUFBRXVCLGVBQWUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDQyxLQUFLO1FBQ3RELE1BQU1DLFFBQ0osSUFBSSxDQUFDRCxLQUFLLENBQUNDLEtBQUssSUFDaEI5QixXQUFXLENBQUNLLFdBQVcsSUFDdkI7UUFFRixPQUNFLFdBREYsR0FDRSxJQUFBMEIsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtZQUFJQyxPQUFPNUIsT0FBT0MsS0FBSzs7OEJBQ3RCLElBQUF3QixZQUFBSSxHQUFBLEVBQUNDLE1BQUFBLE9BQUk7OEJBQ0gsa0JBQUFMLFlBQUFJLEdBQUEsRUFBQ0wsU0FBQUE7a0NBQ0V6QixhQUNHQSxhQUFjLE9BQUl5QixRQUNsQjs7OzhCQUdSLElBQUFDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7b0JBQUlDLE9BQU81QixPQUFPUyxJQUFJOztzQ0FDckIsSUFBQWdCLFlBQUFJLEdBQUEsRUFBQ0QsU0FBQUE7NEJBQ0NHLHlCQUF5QjtnQ0FDdkI7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFnQkMsR0FDREMsUUFBUSxtR0FDTlYsQ0FBQUEsZUFDSSxvSUFDQTs0QkFFUjs7d0JBR0R2QixhQUNDLFdBRERBLEdBQ0MsSUFBQTBCLFlBQUFJLEdBQUEsRUFBQ2xCLE1BQUFBOzRCQUFHc0IsV0FBVTs0QkFBZ0JMLE9BQU81QixPQUFPVyxFQUFFO3NDQUMzQ1o7NkJBRUQ7c0NBQ0osSUFBQTBCLFlBQUFJLEdBQUEsRUFBQ0YsT0FBQUE7NEJBQUlDLE9BQU81QixPQUFPa0IsSUFBSTtzQ0FDckIsa0JBQUFPLFlBQUFDLElBQUEsRUFBQ1QsTUFBQUE7Z0NBQUdXLE9BQU81QixPQUFPaUIsRUFBRTs7b0NBQ2pCLElBQUksQ0FBQ00sS0FBSyxDQUFDQyxLQUFLLElBQUl6QixhQUNuQnlCLFFBRUEsV0FGQUEsR0FFQSxJQUFBQyxZQUFBSSxHQUFBLEVBQUFKLFlBQUFTLFFBQUE7a0RBQUU7O29DQUlGOzs7Ozs7OztJQU9kO0FBQ0Y7QUF4RXFCekMsTUFDWjBDLFdBQUFBLEdBQWM7QUFERjFDLE1BR1oyQyxlQUFBQSxHQUFrQnpDO0FBSE5GLE1BSVo0QyxtQkFBQUEsR0FBc0IxQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL3BhZ2VzL19lcnJvci50c3g/NDg3ZSJdLCJuYW1lcyI6WyJFcnJvciIsInN0YXR1c0NvZGVzIiwiX2dldEluaXRpYWxQcm9wcyIsInBhcmFtIiwicmVzIiwiZXJyIiwic3RhdHVzQ29kZSIsInN0eWxlcyIsImVycm9yIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZGVzYyIsImxpbmVIZWlnaHQiLCJoMSIsIm1hcmdpbiIsInBhZGRpbmdSaWdodCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsInZlcnRpY2FsQWxpZ24iLCJoMiIsIndyYXAiLCJSZWFjdCIsIkNvbXBvbmVudCIsInJlbmRlciIsIndpdGhEYXJrTW9kZSIsInByb3BzIiwidGl0bGUiLCJfanN4cnVudGltZSIsImpzeHMiLCJkaXYiLCJzdHlsZSIsImpzeCIsIkhlYWQiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImNsYXNzTmFtZSIsIkZyYWdtZW50IiwiZGlzcGxheU5hbWUiLCJnZXRJbml0aWFsUHJvcHMiLCJvcmlnR2V0SW5pdGlhbFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = \"AmpStateContext\";\n} //# sourceMappingURL=amp-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFFYUE7OztlQUFBQTs7Ozs0RUFGSztBQUVYLE1BQU1BLGtCQUFzQ0MsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQUMsQ0FBQztBQUV4RSxJQUFJQyxJQUF5QixFQUFjO0lBQ3pDSCxnQkFBZ0JJLFdBQVcsR0FBRztBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvYW1wLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/OTY0MSJdLCJuYW1lcyI6WyJBbXBTdGF0ZUNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/amp-mode.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLW1vZGUuanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0FBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLFlBQVlDLEtBQUE7SUFBQSxNQUMxQkMsV0FBVyxLQUFLLEVBQ2hCQyxTQUFTLEtBQUssRUFDZEMsV0FBVyxLQUFLLEVBQ2pCLEdBSjJCSCxVQUFBLFNBSXhCLENBQUMsSUFKdUJBO0lBSzFCLE9BQU9DLFlBQWFDLFVBQVVDO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9hbXAtbW9kZS50cz9jZTA0Il0sIm5hbWVzIjpbImlzSW5BbXBNb2RlIiwicGFyYW0iLCJhbXBGaXJzdCIsImh5YnJpZCIsImhhc1F1ZXJ5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/amp-mode.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js ***! - \********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n AppRouterContext: function() {\n return AppRouterContext;\n },\n GlobalLayoutRouterContext: function() {\n return GlobalLayoutRouterContext;\n },\n LayoutRouterContext: function() {\n return LayoutRouterContext;\n },\n MissingSlotContext: function() {\n return MissingSlotContext;\n },\n TemplateContext: function() {\n return TemplateContext;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst AppRouterContext = _react.default.createContext(null);\nconst LayoutRouterContext = _react.default.createContext(null);\nconst GlobalLayoutRouterContext = _react.default.createContext(null);\nconst TemplateContext = _react.default.createContext(null);\nif (true) {\n AppRouterContext.displayName = \"AppRouterContext\";\n LayoutRouterContext.displayName = \"LayoutRouterContext\";\n GlobalLayoutRouterContext.displayName = \"GlobalLayoutRouterContext\";\n TemplateContext.displayName = \"TemplateContext\";\n}\nconst MissingSlotContext = _react.default.createContext(new Set()); //# sourceMappingURL=app-router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBMEphQSxTQUFBQTtzQkFBQUE7O0lBVUFDOytCQUFBQTs7SUFQQUM7eUJBQUFBOztJQXdCQUM7d0JBQUFBOztJQVRBQztxQkFBQUE7Ozs7O0FBbEJOLE1BQU1KLFNBQUFBLFdBQW1CSyxHQUFBQSx5QkFDOUJDLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7QUFFSyxNQUFNTCxtQkFBQUEsT0FBc0JHLE9BQUFBLENBQUFBLGFBQU1HLENBQUFBO0FBT2xDLE1BQU1QLHNCQUFBQSxPQUE0QkksT0FBQUEsQ0FBQUEsYUFBTUcsQ0FBQUE7QUFReEMsTUFBTUosNEJBQWtCQyxPQUFNRyxPQUFBQSxDQUFBQSxhQUErQjtBQUVwRSxNQUFJQyxrQkFBb0JDLE9BQUtDLE9BQUEsQ0FBQUgsYUFBYztJQUN6Q1IsSUFBaUJZLEVBQWM7SUFDL0JWLGlCQUFBQSxXQUFvQlUsR0FBVztJQUMvQlgsb0JBQUFBLFdBQTBCVyxHQUFBQTtJQUMxQlIsMEJBQWdCUSxXQUFjO0lBQ2hDUixnQkFBQVEsV0FBQTtBQUVPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/MDMwZSJdLCJuYW1lcyI6WyJBcHBSb3V0ZXJDb250ZXh0IiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsIkxheW91dFJvdXRlckNvbnRleHQiLCJNaXNzaW5nU2xvdENvbnRleHQiLCJUZW1wbGF0ZUNvbnRleHQiLCJSZWFjdCIsIl8iLCJyZXF1aXJlIiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJfcmVhY3QiLCJkZWZhdWx0IiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/bloom-filter.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/bloom-filter.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// minimal implementation MurmurHash2 hash function\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"BloomFilter\", ({\n enumerable: true,\n get: function() {\n return BloomFilter;\n }\n}));\nfunction murmurhash2(str) {\n let h = 0;\n for(let i = 0; i < str.length; i++){\n const c = str.charCodeAt(i);\n h = Math.imul(h ^ c, 0x5bd1e995);\n h ^= h >>> 13;\n h = Math.imul(h, 0x5bd1e995);\n }\n return h >>> 0;\n}\n// default to 0.01% error rate as the filter compresses very well\nconst DEFAULT_ERROR_RATE = 0.0001;\nclass BloomFilter {\n static from(items, errorRate) {\n if (errorRate === void 0) errorRate = DEFAULT_ERROR_RATE;\n const filter = new BloomFilter(items.length, errorRate);\n for (const item of items){\n filter.add(item);\n }\n return filter;\n }\n export() {\n const data = {\n numItems: this.numItems,\n errorRate: this.errorRate,\n numBits: this.numBits,\n numHashes: this.numHashes,\n bitArray: this.bitArray\n };\n if (false) {}\n return data;\n }\n import(data) {\n this.numItems = data.numItems;\n this.errorRate = data.errorRate;\n this.numBits = data.numBits;\n this.numHashes = data.numHashes;\n this.bitArray = data.bitArray;\n }\n add(item) {\n const hashValues = this.getHashValues(item);\n hashValues.forEach((hash)=>{\n this.bitArray[hash] = 1;\n });\n }\n contains(item) {\n const hashValues = this.getHashValues(item);\n return hashValues.every((hash)=>this.bitArray[hash]);\n }\n getHashValues(item) {\n const hashValues = [];\n for(let i = 1; i <= this.numHashes; i++){\n const hash = murmurhash2(\"\" + item + i) % this.numBits;\n hashValues.push(hash);\n }\n return hashValues;\n }\n constructor(numItems, errorRate = DEFAULT_ERROR_RATE){\n this.numItems = numItems;\n this.errorRate = errorRate;\n this.numBits = Math.ceil(-(numItems * Math.log(errorRate)) / (Math.log(2) * Math.log(2)));\n this.numHashes = Math.ceil(this.numBits / numItems * Math.log(2));\n this.bitArray = new Array(this.numBits).fill(0);\n }\n} //# sourceMappingURL=bloom-filter.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYmxvb20tZmlsdGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRDs7Ozs7K0NBZXRDQTs7O2VBQUFBOzs7QUFkYixTQUFTQyxZQUFZQyxHQUFXO0lBQzlCLElBQUlDLElBQUk7SUFDUixJQUFLLElBQUlDLElBQUksR0FBR0EsSUFBSUYsSUFBSUcsTUFBTSxFQUFFRCxJQUFLO1FBQ25DLE1BQU1FLElBQUlKLElBQUlLLFVBQVUsQ0FBQ0g7UUFDekJELElBQUlLLEtBQUtDLElBQUksQ0FBQ04sSUFBSUcsR0FBRztRQUNyQkgsS0FBS0EsTUFBTTtRQUNYQSxJQUFJSyxLQUFLQyxJQUFJLENBQUNOLEdBQUc7SUFDbkI7SUFDQSxPQUFPQSxNQUFNO0FBQ2Y7QUFFQSxpRUFBaUU7QUFDakUsTUFBTU8scUJBQXFCO0FBRXBCLE1BQU1WO0lBaUJYLE9BQU9XLEtBQUtDLEtBQWUsRUFBRUMsU0FBOEIsRUFBRTtRQUFoQ0EsSUFBQUEsY0FBQUEsS0FBQUEsR0FBQUEsWUFBWUg7UUFDdkMsTUFBTUksU0FBUyxJQUFJZCxZQUFZWSxNQUFNUCxNQUFNLEVBQUVRO1FBRTdDLEtBQUssTUFBTUUsUUFBUUgsTUFBTztZQUN4QkUsT0FBT0UsR0FBRyxDQUFDRDtRQUNiO1FBQ0EsT0FBT0Q7SUFDVDtJQUVBRyxTQUFTO1FBQ1AsTUFBTUMsT0FBTztZQUNYQyxVQUFVLElBQUksQ0FBQ0EsUUFBUTtZQUN2Qk4sV0FBVyxJQUFJLENBQUNBLFNBQVM7WUFDekJPLFNBQVMsSUFBSSxDQUFDQSxPQUFPO1lBQ3JCQyxXQUFXLElBQUksQ0FBQ0EsU0FBUztZQUN6QkMsVUFBVSxJQUFJLENBQUNBLFFBQVE7UUFDekI7UUFFQSxJQUFJQyxLQUE2QixFQUFVLEVBYTNDO1FBRUEsT0FBT0w7SUFDVDtJQUVBZ0IsT0FBT2hCLElBQXlDLEVBQUU7UUFDaEQsSUFBSSxDQUFDQyxRQUFRLEdBQUdELEtBQUtDLFFBQVE7UUFDN0IsSUFBSSxDQUFDTixTQUFTLEdBQUdLLEtBQUtMLFNBQVM7UUFDL0IsSUFBSSxDQUFDTyxPQUFPLEdBQUdGLEtBQUtFLE9BQU87UUFDM0IsSUFBSSxDQUFDQyxTQUFTLEdBQUdILEtBQUtHLFNBQVM7UUFDL0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdKLEtBQUtJLFFBQVE7SUFDL0I7SUFFQU4sSUFBSUQsSUFBWSxFQUFFO1FBQ2hCLE1BQU1vQixhQUFhLElBQUksQ0FBQ0MsYUFBYSxDQUFDckI7UUFDdENvQixXQUFXRSxPQUFPLENBQUMsQ0FBQ0M7WUFDbEIsSUFBSSxDQUFDaEIsUUFBUSxDQUFDZ0IsS0FBSyxHQUFHO1FBQ3hCO0lBQ0Y7SUFFQUMsU0FBU3hCLElBQVksRUFBRTtRQUNyQixNQUFNb0IsYUFBYSxJQUFJLENBQUNDLGFBQWEsQ0FBQ3JCO1FBQ3RDLE9BQU9vQixXQUFXSyxLQUFLLENBQUMsQ0FBQ0YsT0FBUyxJQUFJLENBQUNoQixRQUFRLENBQUNnQixLQUFLO0lBQ3ZEO0lBRUFGLGNBQWNyQixJQUFZLEVBQUU7UUFDMUIsTUFBTW9CLGFBQWEsRUFBRTtRQUNyQixJQUFLLElBQUkvQixJQUFJLEdBQUdBLEtBQUssSUFBSSxDQUFDaUIsU0FBUyxFQUFFakIsSUFBSztZQUN4QyxNQUFNa0MsT0FBT3JDLFlBQVksS0FBR2MsT0FBT1gsS0FBTyxJQUFJLENBQUNnQixPQUFPO1lBQ3REZSxXQUFXTSxJQUFJLENBQUNIO1FBQ2xCO1FBQ0EsT0FBT0g7SUFDVDtJQXpFQU8sWUFBWXZCLFFBQWdCLEVBQUVOLFlBQW9CSCxrQkFBa0IsQ0FBRTtRQUNwRSxJQUFJLENBQUNTLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDTixTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ08sT0FBTyxHQUFHWixLQUFLbUMsSUFBSSxDQUN0QixDQUFFeEIsQ0FBQUEsV0FBV1gsS0FBS29DLEdBQUcsQ0FBQy9CLFVBQUFBLElBQWVMLENBQUFBLEtBQUtvQyxHQUFHLENBQUMsS0FBS3BDLEtBQUtvQyxHQUFHLENBQUM7UUFFOUQsSUFBSSxDQUFDdkIsU0FBUyxHQUFHYixLQUFLbUMsSUFBSSxDQUFDLElBQUssQ0FBQ3ZCLE9BQU8sR0FBR0QsV0FBWVgsS0FBS29DLEdBQUcsQ0FBQztRQUNoRSxJQUFJLENBQUN0QixRQUFRLEdBQUcsSUFBSXVCLE1BQU0sSUFBSSxDQUFDekIsT0FBTyxFQUFFMEIsSUFBSSxDQUFDO0lBQy9DO0FBa0VGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9ibG9vbS1maWx0ZXIudHM/NjQwNyJdLCJuYW1lcyI6WyJCbG9vbUZpbHRlciIsIm11cm11cmhhc2gyIiwic3RyIiwiaCIsImkiLCJsZW5ndGgiLCJjIiwiY2hhckNvZGVBdCIsIk1hdGgiLCJpbXVsIiwiREVGQVVMVF9FUlJPUl9SQVRFIiwiZnJvbSIsIml0ZW1zIiwiZXJyb3JSYXRlIiwiZmlsdGVyIiwiaXRlbSIsImFkZCIsImV4cG9ydCIsImRhdGEiLCJudW1JdGVtcyIsIm51bUJpdHMiLCJudW1IYXNoZXMiLCJiaXRBcnJheSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJmaWx0ZXJEYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsImd6aXBTaXplIiwicmVxdWlyZSIsInN5bmMiLCJjb25zb2xlIiwid2FybiIsImltcG9ydCIsImhhc2hWYWx1ZXMiLCJnZXRIYXNoVmFsdWVzIiwiZm9yRWFjaCIsImhhc2giLCJjb250YWlucyIsImV2ZXJ5IiwicHVzaCIsImNvbnN0cnVjdG9yIiwiY2VpbCIsImxvZyIsIkFycmF5IiwiZmlsbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/bloom-filter.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/constants.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/constants.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n APP_BUILD_MANIFEST: function() {\n return APP_BUILD_MANIFEST;\n },\n APP_CLIENT_INTERNALS: function() {\n return APP_CLIENT_INTERNALS;\n },\n APP_PATHS_MANIFEST: function() {\n return APP_PATHS_MANIFEST;\n },\n APP_PATH_ROUTES_MANIFEST: function() {\n return APP_PATH_ROUTES_MANIFEST;\n },\n AUTOMATIC_FONT_OPTIMIZATION_MANIFEST: function() {\n return AUTOMATIC_FONT_OPTIMIZATION_MANIFEST;\n },\n BARREL_OPTIMIZATION_PREFIX: function() {\n return BARREL_OPTIMIZATION_PREFIX;\n },\n BLOCKED_PAGES: function() {\n return BLOCKED_PAGES;\n },\n BUILD_ID_FILE: function() {\n return BUILD_ID_FILE;\n },\n BUILD_MANIFEST: function() {\n return BUILD_MANIFEST;\n },\n CLIENT_PUBLIC_FILES_PATH: function() {\n return CLIENT_PUBLIC_FILES_PATH;\n },\n CLIENT_REFERENCE_MANIFEST: function() {\n return CLIENT_REFERENCE_MANIFEST;\n },\n CLIENT_STATIC_FILES_PATH: function() {\n return CLIENT_STATIC_FILES_PATH;\n },\n CLIENT_STATIC_FILES_RUNTIME_AMP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_AMP;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN_APP;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL;\n },\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH: function() {\n return CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH;\n },\n CLIENT_STATIC_FILES_RUNTIME_WEBPACK: function() {\n return CLIENT_STATIC_FILES_RUNTIME_WEBPACK;\n },\n COMPILER_INDEXES: function() {\n return COMPILER_INDEXES;\n },\n COMPILER_NAMES: function() {\n return COMPILER_NAMES;\n },\n CONFIG_FILES: function() {\n return CONFIG_FILES;\n },\n DEFAULT_RUNTIME_WEBPACK: function() {\n return DEFAULT_RUNTIME_WEBPACK;\n },\n DEFAULT_SANS_SERIF_FONT: function() {\n return DEFAULT_SANS_SERIF_FONT;\n },\n DEFAULT_SERIF_FONT: function() {\n return DEFAULT_SERIF_FONT;\n },\n DEV_CLIENT_PAGES_MANIFEST: function() {\n return DEV_CLIENT_PAGES_MANIFEST;\n },\n DEV_MIDDLEWARE_MANIFEST: function() {\n return DEV_MIDDLEWARE_MANIFEST;\n },\n EDGE_RUNTIME_WEBPACK: function() {\n return EDGE_RUNTIME_WEBPACK;\n },\n EDGE_UNSUPPORTED_NODE_APIS: function() {\n return EDGE_UNSUPPORTED_NODE_APIS;\n },\n EXPORT_DETAIL: function() {\n return EXPORT_DETAIL;\n },\n EXPORT_MARKER: function() {\n return EXPORT_MARKER;\n },\n FUNCTIONS_CONFIG_MANIFEST: function() {\n return FUNCTIONS_CONFIG_MANIFEST;\n },\n GOOGLE_FONT_PROVIDER: function() {\n return GOOGLE_FONT_PROVIDER;\n },\n IMAGES_MANIFEST: function() {\n return IMAGES_MANIFEST;\n },\n INTERCEPTION_ROUTE_REWRITE_MANIFEST: function() {\n return INTERCEPTION_ROUTE_REWRITE_MANIFEST;\n },\n INTERNAL_HEADERS: function() {\n return INTERNAL_HEADERS;\n },\n MIDDLEWARE_BUILD_MANIFEST: function() {\n return MIDDLEWARE_BUILD_MANIFEST;\n },\n MIDDLEWARE_MANIFEST: function() {\n return MIDDLEWARE_MANIFEST;\n },\n MIDDLEWARE_REACT_LOADABLE_MANIFEST: function() {\n return MIDDLEWARE_REACT_LOADABLE_MANIFEST;\n },\n MODERN_BROWSERSLIST_TARGET: function() {\n return _modernbrowserslisttarget.default;\n },\n NEXT_BUILTIN_DOCUMENT: function() {\n return NEXT_BUILTIN_DOCUMENT;\n },\n NEXT_FONT_MANIFEST: function() {\n return NEXT_FONT_MANIFEST;\n },\n OPTIMIZED_FONT_PROVIDERS: function() {\n return OPTIMIZED_FONT_PROVIDERS;\n },\n PAGES_MANIFEST: function() {\n return PAGES_MANIFEST;\n },\n PHASE_DEVELOPMENT_SERVER: function() {\n return PHASE_DEVELOPMENT_SERVER;\n },\n PHASE_EXPORT: function() {\n return PHASE_EXPORT;\n },\n PHASE_INFO: function() {\n return PHASE_INFO;\n },\n PHASE_PRODUCTION_BUILD: function() {\n return PHASE_PRODUCTION_BUILD;\n },\n PHASE_PRODUCTION_SERVER: function() {\n return PHASE_PRODUCTION_SERVER;\n },\n PHASE_TEST: function() {\n return PHASE_TEST;\n },\n PRERENDER_MANIFEST: function() {\n return PRERENDER_MANIFEST;\n },\n REACT_LOADABLE_MANIFEST: function() {\n return REACT_LOADABLE_MANIFEST;\n },\n ROUTES_MANIFEST: function() {\n return ROUTES_MANIFEST;\n },\n RSC_MODULE_TYPES: function() {\n return RSC_MODULE_TYPES;\n },\n SERVER_DIRECTORY: function() {\n return SERVER_DIRECTORY;\n },\n SERVER_FILES_MANIFEST: function() {\n return SERVER_FILES_MANIFEST;\n },\n SERVER_PROPS_ID: function() {\n return SERVER_PROPS_ID;\n },\n SERVER_REFERENCE_MANIFEST: function() {\n return SERVER_REFERENCE_MANIFEST;\n },\n STATIC_PROPS_ID: function() {\n return STATIC_PROPS_ID;\n },\n STATIC_STATUS_PAGES: function() {\n return STATIC_STATUS_PAGES;\n },\n STRING_LITERAL_DROP_BUNDLE: function() {\n return STRING_LITERAL_DROP_BUNDLE;\n },\n SUBRESOURCE_INTEGRITY_MANIFEST: function() {\n return SUBRESOURCE_INTEGRITY_MANIFEST;\n },\n SYSTEM_ENTRYPOINTS: function() {\n return SYSTEM_ENTRYPOINTS;\n },\n TRACE_OUTPUT_VERSION: function() {\n return TRACE_OUTPUT_VERSION;\n },\n TURBO_TRACE_DEFAULT_MEMORY_LIMIT: function() {\n return TURBO_TRACE_DEFAULT_MEMORY_LIMIT;\n },\n UNDERSCORE_NOT_FOUND_ROUTE: function() {\n return UNDERSCORE_NOT_FOUND_ROUTE;\n },\n UNDERSCORE_NOT_FOUND_ROUTE_ENTRY: function() {\n return UNDERSCORE_NOT_FOUND_ROUTE_ENTRY;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _modernbrowserslisttarget = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./modern-browserslist-target */ \"./node_modules/next/dist/shared/lib/modern-browserslist-target.js\"));\nconst COMPILER_NAMES = {\n client: \"client\",\n server: \"server\",\n edgeServer: \"edge-server\"\n};\nconst INTERNAL_HEADERS = [\n \"x-invoke-error\",\n \"x-invoke-output\",\n \"x-invoke-path\",\n \"x-invoke-query\",\n \"x-invoke-status\",\n \"x-middleware-invoke\"\n];\nconst COMPILER_INDEXES = {\n [COMPILER_NAMES.client]: 0,\n [COMPILER_NAMES.server]: 1,\n [COMPILER_NAMES.edgeServer]: 2\n};\nconst UNDERSCORE_NOT_FOUND_ROUTE = \"/_not-found\";\nconst UNDERSCORE_NOT_FOUND_ROUTE_ENTRY = \"\" + UNDERSCORE_NOT_FOUND_ROUTE + \"/page\";\nconst PHASE_EXPORT = \"phase-export\";\nconst PHASE_PRODUCTION_BUILD = \"phase-production-build\";\nconst PHASE_PRODUCTION_SERVER = \"phase-production-server\";\nconst PHASE_DEVELOPMENT_SERVER = \"phase-development-server\";\nconst PHASE_TEST = \"phase-test\";\nconst PHASE_INFO = \"phase-info\";\nconst PAGES_MANIFEST = \"pages-manifest.json\";\nconst APP_PATHS_MANIFEST = \"app-paths-manifest.json\";\nconst APP_PATH_ROUTES_MANIFEST = \"app-path-routes-manifest.json\";\nconst BUILD_MANIFEST = \"build-manifest.json\";\nconst APP_BUILD_MANIFEST = \"app-build-manifest.json\";\nconst FUNCTIONS_CONFIG_MANIFEST = \"functions-config-manifest.json\";\nconst SUBRESOURCE_INTEGRITY_MANIFEST = \"subresource-integrity-manifest\";\nconst NEXT_FONT_MANIFEST = \"next-font-manifest\";\nconst EXPORT_MARKER = \"export-marker.json\";\nconst EXPORT_DETAIL = \"export-detail.json\";\nconst PRERENDER_MANIFEST = \"prerender-manifest.json\";\nconst ROUTES_MANIFEST = \"routes-manifest.json\";\nconst IMAGES_MANIFEST = \"images-manifest.json\";\nconst SERVER_FILES_MANIFEST = \"required-server-files.json\";\nconst DEV_CLIENT_PAGES_MANIFEST = \"_devPagesManifest.json\";\nconst MIDDLEWARE_MANIFEST = \"middleware-manifest.json\";\nconst DEV_MIDDLEWARE_MANIFEST = \"_devMiddlewareManifest.json\";\nconst REACT_LOADABLE_MANIFEST = \"react-loadable-manifest.json\";\nconst AUTOMATIC_FONT_OPTIMIZATION_MANIFEST = \"font-manifest.json\";\nconst SERVER_DIRECTORY = \"server\";\nconst CONFIG_FILES = [\n \"next.config.js\",\n \"next.config.mjs\"\n];\nconst BUILD_ID_FILE = \"BUILD_ID\";\nconst BLOCKED_PAGES = [\n \"/_document\",\n \"/_app\",\n \"/_error\"\n];\nconst CLIENT_PUBLIC_FILES_PATH = \"public\";\nconst CLIENT_STATIC_FILES_PATH = \"static\";\nconst STRING_LITERAL_DROP_BUNDLE = \"__NEXT_DROP_CLIENT_FILE__\";\nconst NEXT_BUILTIN_DOCUMENT = \"__NEXT_BUILTIN_DOCUMENT__\";\nconst BARREL_OPTIMIZATION_PREFIX = \"__barrel_optimize__\";\nconst CLIENT_REFERENCE_MANIFEST = \"client-reference-manifest\";\nconst SERVER_REFERENCE_MANIFEST = \"server-reference-manifest\";\nconst MIDDLEWARE_BUILD_MANIFEST = \"middleware-build-manifest\";\nconst MIDDLEWARE_REACT_LOADABLE_MANIFEST = \"middleware-react-loadable-manifest\";\nconst INTERCEPTION_ROUTE_REWRITE_MANIFEST = \"interception-route-rewrite-manifest\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN = \"main\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN_APP = \"\" + CLIENT_STATIC_FILES_RUNTIME_MAIN + \"-app\";\nconst APP_CLIENT_INTERNALS = \"app-pages-internals\";\nconst CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH = \"react-refresh\";\nconst CLIENT_STATIC_FILES_RUNTIME_AMP = \"amp\";\nconst CLIENT_STATIC_FILES_RUNTIME_WEBPACK = \"webpack\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS = \"polyfills\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL = Symbol(CLIENT_STATIC_FILES_RUNTIME_POLYFILLS);\n_c = CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL;\nconst DEFAULT_RUNTIME_WEBPACK = \"webpack-runtime\";\nconst EDGE_RUNTIME_WEBPACK = \"edge-runtime-webpack\";\nconst STATIC_PROPS_ID = \"__N_SSG\";\nconst SERVER_PROPS_ID = \"__N_SSP\";\nconst GOOGLE_FONT_PROVIDER = \"https://fonts.googleapis.com/\";\nconst OPTIMIZED_FONT_PROVIDERS = [\n {\n url: GOOGLE_FONT_PROVIDER,\n preconnect: \"https://fonts.gstatic.com\"\n },\n {\n url: \"https://use.typekit.net\",\n preconnect: \"https://use.typekit.net\"\n }\n];\nconst DEFAULT_SERIF_FONT = {\n name: \"Times New Roman\",\n xAvgCharWidth: 821,\n azAvgWidth: 854.3953488372093,\n unitsPerEm: 2048\n};\nconst DEFAULT_SANS_SERIF_FONT = {\n name: \"Arial\",\n xAvgCharWidth: 904,\n azAvgWidth: 934.5116279069767,\n unitsPerEm: 2048\n};\nconst STATIC_STATUS_PAGES = [\n \"/500\"\n];\nconst TRACE_OUTPUT_VERSION = 1;\nconst TURBO_TRACE_DEFAULT_MEMORY_LIMIT = 6000;\nconst RSC_MODULE_TYPES = {\n client: \"client\",\n server: \"server\"\n};\nconst EDGE_UNSUPPORTED_NODE_APIS = [\n \"clearImmediate\",\n \"setImmediate\",\n \"BroadcastChannel\",\n \"ByteLengthQueuingStrategy\",\n \"CompressionStream\",\n \"CountQueuingStrategy\",\n \"DecompressionStream\",\n \"DomException\",\n \"MessageChannel\",\n \"MessageEvent\",\n \"MessagePort\",\n \"ReadableByteStreamController\",\n \"ReadableStreamBYOBRequest\",\n \"ReadableStreamDefaultController\",\n \"TransformStreamDefaultController\",\n \"WritableStreamDefaultController\"\n];\nconst SYSTEM_ENTRYPOINTS = new Set([\n CLIENT_STATIC_FILES_RUNTIME_MAIN,\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH,\n CLIENT_STATIC_FILES_RUNTIME_AMP,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP\n]);\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=constants.js.map\nvar _c;\n$RefreshReg$(_c, \"CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQStDYUEsb0JBQWtCO2VBQWxCQTs7SUEwQ0FDLHNCQUFvQjtlQUFwQkE7O0lBN0NBQyxvQkFBa0I7ZUFBbEJBOztJQUNBQywwQkFBd0I7ZUFBeEJBOztJQWdCQUMsc0NBQW9DO2VBQXBDQTs7SUFTQUMsNEJBQTBCO2VBQTFCQTs7SUFMQUMsZUFBYTtlQUFiQTs7SUFEQUMsZUFBYTtlQUFiQTs7SUFsQkFDLGdCQUFjO2VBQWRBOztJQW9CQUMsMEJBQXdCO2VBQXhCQTs7SUFPQUMsMkJBQXlCO2VBQXpCQTs7SUFOQUMsMEJBQXdCO2VBQXhCQTs7SUEwQkFDLGlDQUErQjtlQUEvQkE7O0lBUEFDLGtDQUFnQztlQUFoQ0E7O0lBQ0FDLHNDQUFvQztlQUFwQ0E7O0lBVUFDLHVDQUFxQztlQUFyQ0E7O0lBQ0FDLDhDQUE0QztlQUE1Q0E7O0lBUEFDLDJDQUF5QztlQUF6Q0E7O0lBSUFDLHFDQUFtQztlQUFuQ0E7O0lBcEVBQyxrQkFBZ0I7ZUFBaEJBOztJQXJCQUMsZ0JBQWM7ZUFBZEE7O0lBeURBQyxjQUFZO2VBQVpBOztJQXNDQUMseUJBQXVCO2VBQXZCQTs7SUFlQUMseUJBQXVCO2VBQXZCQTs7SUFOQUMsb0JBQWtCO2VBQWxCQTs7SUFyREFDLDJCQUF5QjtlQUF6QkE7O0lBRUFDLHlCQUF1QjtlQUF2QkE7O0lBMkNBQyxzQkFBb0I7ZUFBcEJBOztJQWtDQUMsNEJBQTBCO2VBQTFCQTs7SUFwRkFDLGVBQWE7ZUFBYkE7O0lBREFDLGVBQWE7ZUFBYkE7O0lBSEFDLDJCQUF5QjtlQUF6QkE7O0lBeURBQyxzQkFBb0I7ZUFBcEJBOztJQWxEQUMsaUJBQWU7ZUFBZkE7O0lBMkJBQyxxQ0FBbUM7ZUFBbkNBOztJQWxFQUMsa0JBQWdCO2VBQWhCQTs7SUE2REFDLDJCQUF5QjtlQUF6QkE7O0lBbkJBQyxxQkFBbUI7ZUFBbkJBOztJQXFCQUMs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QUFNTCxrQ0FBbUM7QUFFekMsTUFBTU0sc0NBQXVDO0FBRTdDLE1BQU1ILHdDQUF3QztBQUM5QyxNQUFNQywrQ0FBK0NzRCxPQUMxRHZEOztBQUVLLE1BQU1PLDBCQUEwQjtBQUNoQyxNQUFNSyx1QkFBdUI7QUFDN0IsTUFBTStCLGtCQUFrQjtBQUN4QixNQUFNRixrQkFBa0I7QUFDeEIsTUFBTXhCLHVCQUF1QjtBQUM3QixNQUFNVSwyQkFBMkI7SUFDdEM7UUFBRTZCLEtBQUt2QztRQUFzQndDLFlBQVk7SUFBNEI7SUFDckU7UUFBRUQsS0FBSztRQUEyQkMsWUFBWTtJQUEwQjtDQUN6RTtBQUNNLE1BQU1oRCxxQkFBcUI7SUFDaENpRCxNQUFNO0lBQ05DLGVBQWU7SUFDZkMsWUFBWTtJQUNaQyxZQUFZO0FBQ2Q7QUFDTyxNQUFNckQsMEJBQTBCO0lBQ3JDa0QsTUFBTTtJQUNOQyxlQUFlO0lBQ2ZDLFlBQVk7SUFDWkMsWUFBWTtBQUNkO0FBQ08sTUFBTWpCLHNCQUFzQjtJQUFDO0NBQU87QUFDcEMsTUFBTUksdUJBQXVCO0FBRTdCLE1BQU1DLG1DQUFtQztBQUV6QyxNQUFNWCxtQkFBbUI7SUFDOUJjLFFBQVE7SUFDUkMsUUFBUTtBQUNWO0FBTU8sTUFBTXhDLDZCQUE2QjtJQUN4QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sTUFBTWtDLHFCQUFxQixJQUFJZSxJQUFZO0lBQ2hEaEU7SUFDQUk7SUFDQUw7SUFDQUU7Q0FDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvY29uc3RhbnRzLnRzPzQwOWEiXSwibmFtZXMiOlsiQVBQX0JVSUxEX01BTklGRVNUIiwiQVBQX0NMSUVOVF9JTlRFUk5BTFMiLCJBUFBfUEFUSFNfTUFOSUZFU1QiLCJBUFBfUEFUSF9ST1VURVNfTUFOSUZFU1QiLCJBVVRPTUFUSUNfRk9OVF9PUFRJTUlaQVRJT05fTUFOSUZFU1QiLCJCQVJSRUxfT1BUSU1JWkFUSU9OX1BSRUZJWCIsIkJMT0NLRURfUEFHRVMiLCJCVUlMRF9JRF9GSUxFIiwiQlVJTERfTUFOSUZFU1QiLCJDTElFTlRfUFVCTElDX0ZJTEVTX1BBVEgiLCJDTElFTlRfUkVGRVJFTkNFX01BTklGRVNUIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19QQVRIIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX0FNUCIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU5fQVBQIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMUyIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFNfU1lNQk9MIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1JFQUNUX1JFRlJFU0giLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfV0VCUEFDSyIsIkNPTVBJTEVSX0lOREVYRVMiLCJDT01QSUxFUl9OQU1FUyIsIkNPTkZJR19GSUxFUyIsIkRFRkFVTFRfUlVOVElNRV9XRUJQQUNLIiwiREVGQVVMVF9TQU5TX1NFUklGX0ZPTlQiLCJERUZBVUxUX1NFUklGX0ZPTlQiLCJERVZfQ0xJRU5UX1BBR0VTX01BTklGRVNUIiwiREVWX01JRERMRVdBUkVfTUFOSUZFU1QiLCJFREdFX1JVTlRJTUVfV0VCUEFDSyIsIkVER0VfVU5TVVBQT1JURURfTk9ERV9BUElTIiwiRVhQT1JUX0RFVEFJTCIsIkVYUE9SVF9NQVJLRVIiLCJGVU5DVElPTlNfQ09ORklHX01BTklGRVNUIiwiR09PR0xFX0ZPTlRfUFJPVklERVIiLCJJTUFHRVNfTUFOSUZFU1QiLCJJTlRFUkNFUFRJT05fUk9VVEVfUkVXUklURV9NQU5JRkVTVCIsIklOVEVSTkFMX0hFQURFUlMiLCJNSURETEVXQVJFX0JVSUxEX01BTklGRVNUIiwiTUlERExFV0FSRV9NQU5JRkVTVCIsIk1JRERMRVdBUkVfUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1QiLCJNT0RFUk5fQlJPV1NFUlNMSVNUX1RBUkdFVCIsIk5FWFRfQlVJTFRJTl9ET0NVTUVOVCIsIk5FWFRfRk9OVF9NQU5JRkVTVCIsIk9QVElNSVpFRF9GT05UX1BST1ZJREVSUyIsIlBBR0VTX01BTklGRVNUIiwiUEhBU0VfREVWRUxPUE1FTlRfU0VSVkVSIiwiUEhBU0VfRVhQT1JUIiwiUEhBU0VfSU5GTyIsIlBIQVNFX1BST0RVQ1RJT05fQlVJTEQiLCJQSEFTRV9QUk9EVUNUSU9OX1NFUlZFUiIsIlBIQVNFX1RFU1QiLCJQUkVSRU5ERVJfTUFOSUZFU1QiLCJSRUFDVF9MT0FEQUJMRV9NQU5JRkVTVCIsIlJPVVRFU19NQU5JRkVTVCIsIlJTQ19NT0RVTEVfVFlQRVMiLCJTRVJWRVJfRElSRUNUT1JZIiwiU0VSVkVSX0ZJTEVTX01BTklGRVNUIiwiU0VSVkVSX1BST1BTX0lEIiwiU0VSVkVSX1JFRkVSRU5DRV9NQU5JRkVTVCIsIlNUQVRJQ19QUk9QU19JRCIsIlNUQVRJQ19TVEFUVVNfUEFHRVMiLCJTVFJJTkdfTElURVJBTF9EUk9QX0JVTkRMRSIsIlNVQlJFU09VUkNFX0lOVEVHUklUWV9NQU5JRkVTVCIsIlNZU1RFTV9FTlRSWVBPSU5UUyIsIlRSQUNFX09VVFBVVF9WRVJTSU9OIiwiVFVSQk9fVFJBQ0VfREVGQVVMVF9NRU1PUllfTElNSVQiLCJVTkRFUlNDT1JFX05PVF9GT1VORF9ST1VURSIsIlVOREVSU0NPUkVfTk9UX0ZPVU5EX1JPVVRFX0VOVFJZIiwiY2xpZW50Iiwic2VydmVyIiwiZWRnZVNlcnZlciIsIlN5bWJvbCIsInVybCIsInByZWNvbm5lY3QiLCJuYW1lIiwieEF2Z0NoYXJXaWR0aCIsImF6QXZnV2lkdGgiLCJ1bml0c1BlckVtIiwiU2V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/error-source.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/error-source.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n decorateServerError: function() {\n return decorateServerError;\n },\n getErrorSource: function() {\n return getErrorSource;\n }\n});\nconst symbolError = Symbol.for(\"NextjsError\");\nfunction getErrorSource(error) {\n return error[symbolError] || null;\n}\nfunction decorateServerError(error, type) {\n Object.defineProperty(error, symbolError, {\n writable: false,\n enumerable: false,\n configurable: false,\n value: type\n });\n} //# sourceMappingURL=error-source.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXJyb3Itc291cmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVFnQkEscUJBQW1CO2VBQW5CQTs7SUFOQUMsZ0JBQWM7ZUFBZEE7OztBQUZoQixNQUFNQyxjQUFjQyxPQUFPQyxHQUFHLENBQUM7QUFFeEIsU0FBU0gsZUFBZUksS0FBWTtJQUN6QyxPQUFPQSxLQUFjLENBQUNILFlBQVksSUFBSTtBQUN4QztBQUlPLFNBQVNGLG9CQUFvQkssS0FBWSxFQUFFQyxJQUFxQjtJQUNyRUMsT0FBT0MsY0FBYyxDQUFDSCxPQUFPSCxhQUFhO1FBQ3hDTyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsY0FBYztRQUNkQyxPQUFPTjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2Vycm9yLXNvdXJjZS50cz80NDYxIl0sIm5hbWVzIjpbImRlY29yYXRlU2VydmVyRXJyb3IiLCJnZXRFcnJvclNvdXJjZSIsInN5bWJvbEVycm9yIiwiU3ltYm9sIiwiZm9yIiwiZXJyb3IiLCJ0eXBlIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ3cml0YWJsZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ2YWx1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/error-source.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcyIsIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7Ozs7O3NEQUkxREE7OztlQUFBQTs7O0FBSGhCLE1BQU1DLGNBQWM7QUFDcEIsTUFBTUMsa0JBQWtCO0FBRWpCLFNBQVNGLG1CQUFtQkcsR0FBVztJQUM1QywrR0FBK0c7SUFDL0csSUFBSUYsWUFBWUcsSUFBSSxDQUFDRCxNQUFNO1FBQ3pCLE9BQU9BLElBQUlFLE9BQU8sQ0FBQ0gsaUJBQWlCO0lBQ3RDO0lBQ0EsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC50cz9kY2IxIl0sIm5hbWVzIjpbImVzY2FwZVN0cmluZ1JlZ2V4cCIsInJlSGFzUmVnRXhwIiwicmVSZXBsYWNlUmVnRXhwIiwic3RyIiwidGVzdCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/escape-regexp.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HeadManagerContext\", ({\n enumerable: true,\n get: function() {\n return HeadManagerContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst HeadManagerContext = _react.default.createContext({});\nif (true) {\n HeadManagerContext.displayName = \"HeadManagerContext\";\n} //# sourceMappingURL=head-manager-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC1tYW5hZ2VyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFFYUE7OztlQUFBQTs7Ozs0RUFGSztBQUVYLE1BQU1BLHFCQVVSQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRTFCLElBQUlDLElBQXlCLEVBQWM7SUFDekNILG1CQUFtQkksV0FBVyxHQUFHO0FBQ25DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9oZWFkLW1hbmFnZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz8xNmYxIl0sIm5hbWVzIjpbIkhlYWRNYW5hZ2VyQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\n_c = Head;\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\nvar _c;\n$RefreshReg$(_c, \"Head\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQXFNQUEsU0FBbUI7OztJQXhMSEM7aUJBQUFBOzs7Ozs7OzsyREFUZ0JDLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7O3lDQUVKQSxtQkFBQUEsQ0FBQTs7QUFPckIsTUFBQUMsWUFBU0gsbUJBQUFBLENBQVlJLGlGQUFBQTtTQUFBQSxZQUFBQSxTQUFBQTtJQUMxQixJQUFBQSxjQUFhLFFBQUFBLFlBQUE7O21CQUFPQyxHQUFRLElBQUFDLFlBQUFDLEdBQUE7O1FBQVc7S0FDdkM7UUFDRUMsQ0FBQUEsV0FBUzthQUFPQyxJQUFBQSxDQUFLLGtCQUFBSCxZQUFBQyxHQUFBO1lBQVdHLE1BQUFBOztRQUNsQztJQUNBO0lBQ0YsT0FBQUY7QUFFQTtTQUlFRyxpQkFBQUMsSUFBQSxFQUFBQyxLQUFBO0lBQ0EsOEZBQTREO1FBQzFELE9BQU9ELFVBQUFBLFlBQUFBLE9BQUFBLFVBQUFBLFVBQUFBO1FBQ1QsT0FBQUE7SUFDQTtJQUNBLGtDQUF5QkU7UUFDdkJELE1BQUFFLElBQU9ILEtBQUtJLE9BQ1ZDLE9BQUEsQ0FBQUgsUUFBQTtRQUNBSSxPQUFBQSxLQUFBQSxNQUFNQyxDQUVKQyxPQUNFQyxPQUFBQSxDQUNBQyxRQUFBQSxDQUFBQSxPQUFBQSxDQUFBQSxNQUFBQSxLQUFBQSxDQUFBQSxRQUFBQSxFQUFBQSxNQUFBQSxnQkFHU0E7Z0JBR1AsT0FBT0Qsa0JBQUFBLFlBQUFBLE9BQUFBLGtCQUFBQSxVQUFBQTtnQkFDVCxPQUFBQTtZQUNBO1lBRUYsT0FBRUEsYUFBQUwsTUFBQSxDQUFBTTtRQUdSO0lBQ0E7SUFDRixPQUFBVixLQUFBSSxNQUFBLENBQUFIO0FBRUE7TUFBbUJVLFlBQUE7SUFBUTtJQUFhO0lBQVc7SUFBVztDQUU5RDs7Ozs7WUFNUUM7SUFDTixNQUFNQyxPQUFPLElBQUlDO0lBQ2pCLE1BQU1DLE9BQUFBLElBQUFBO0lBQ04sTUFBTUMsWUFBQUEsSUFBQUE7SUFFTixNQUFBQSxpQkFBUUMsQ0FBQUE7V0FDTixDQUFJQztRQUNKLElBQUlDLFdBQVM7UUFFYixJQUFJRixTQUFTO1lBQ1hFLEVBQUFBLEdBQUFBLElBQVMsT0FBQUYsRUFBQUcsR0FBQSxpQkFBQUgsRUFBQUcsR0FBQSxDQUFBQyxPQUFBO1lBQ1RGLFNBQU1DO1lBQ04sTUFBSVIsTUFBUUssRUFBQ0csR0FBQUEsQ0FBQUEsS0FBTSxDQUFBSCxFQUFBRyxHQUFBLENBQUFDLE9BQUE7Z0JBQ2pCSCxLQUFBQSxHQUFBQSxDQUFBQSxNQUFXO2dCQUNiQSxXQUFPO21CQUNMTjtnQkFDRkEsS0FBQVUsR0FBQSxDQUFBRjtZQUNGO1FBRUE7UUFDQSx3Q0FBYztlQUNaSCxFQUFLZCxJQUFBO1lBQ0wsS0FBSztpQkFDSDtvQkFDRWUsS0FBQUEsR0FBQUEsQ0FBQUEsRUFBV2YsSUFBQTtvQkFDYmUsV0FBTzt1QkFDTEw7b0JBQ0ZBLEtBQUFTLEdBQUEsQ0FBQUwsRUFBQWQsSUFBQTtnQkFDQTtnQkFDRjtpQkFDRTtvQkFDRSxJQUFBb0IsSUFBTUMsR0FBQUEsTUFBV2IsVUFBVVksTUFBRSxFQUFBQSxJQUFBRSxLQUFBRixJQUFBO29CQUM3QixNQUFLTixXQUFRUyxTQUFBQSxDQUFjSCxFQUFDQztvQkFFNUIsSUFBSUEsQ0FBQUEsRUFBQUEsS0FBQUEsQ0FBQUEsY0FBYSxDQUFXQSxXQUFBO3dCQUMxQkEsYUFBSVQsV0FBY1M7NEJBQ2hCTixVQUFBQSxHQUFXLENBQUFNLFdBQUE7NEJBQ2JOLFdBQU87K0JBQ0xIOzRCQUNGQSxVQUFBTyxHQUFBLENBQUFFO3dCQUNGOzJCQUNFO3dCQUNBLE1BQU1HLFdBQUFBLEVBQWFYLEtBQUFBLENBQUFBLFNBQWVRO3dCQUNsQyxNQUFLQSxhQUFhUixjQUFXRyxDQUFBQSxTQUFXUSxJQUFBQSxJQUFXQzs0QkFDakRWLENBQUFBLGFBQVcsV0FBQUMsTUFBQSxLQUFBUSxXQUFBQyxHQUFBLENBQUFDLFdBQUE7NEJBQ2JYLFdBQU87K0JBQ0xTOzRCQUNBWCxXQUFBQSxHQUFjLENBQUNROzRCQUNqQlIsY0FBQSxDQUFBUSxTQUFBLEdBQUFHO3dCQUNGO29CQUNGO2dCQUNBO2dCQUNKO1FBRUE7UUFDRixPQUFBVDtJQUNGO0FBRUE7Ozs7SUFRRSxTQUFRMUIsaUJBQWNzQyxvQkFBQUEsRUFBQUEsS0FBQUE7SUFDdEIsUUFBT0MsU0FBQUEsRUFBQUEsR0FBQUE7V0FPSEEscUJBQXFCUixNQUFBQSxDQUFBQSxrQkFBQUEsRUFBQUEsRUFBQUEsT0FBQUEsR0FBQUEsTUFBQUEsQ0FBQUEsWUFBQUEsV0FBQUEsT0FBQUEsSUFBQUEsTUFBQUEsQ0FBQUEsVUFBQUEsT0FBQUEsR0FBQUEsR0FBQUEsQ0FBQUEsQ0FBQUEsR0FBQUE7UUFDckIsTUFDRVMsTUFBUUMsRUFBQUEsR0FBSUMsSUFBQUE7WUFJWkYsS0FHRXhDLEVBQUEsRUFlSjtZQUNFd0MsSUFBQTtZQUNBLHlEQUErQztnQkFDN0NHLEVBQUFoQyxJQUFNd0MsS0FBQUEsWUFBZWIsRUFBQUEsS0FBTSxRQUN0Qiw0QkFBMkJBO2dCQUVoQ2MsTUFBQUEsYUFBQUEsRUFBQUEsS0FDRyxzQ0FBQVQsRUFBQUwsS0FBQSxPQUFnRGEsR0FBQUEsTUFBQUE7Z0JBRXJELElBQU9wRCxVQUFVcUQsUUFBSyxxREFBMkNELGFBQUE7bUJBQy9EQyxJQUFBQSxFQUFBQSxJQUFBQSxLQUFBQSxVQUNHVCxFQUFBTCxLQUFBO2dCQUVMLElBQUF2QyxVQUFBcUQsUUFBQSwwRkFBQVQsRUFBQUwsS0FBQTtZQUNGO1FBQ0E7ZUFBK0JWLFdBQUFBLEdBQUFBLE9BQUFBLE9BQUFBLENBQUFBLFlBQUFBLENBQUFBLEdBQUFBO1lBQUlBO1FBQ3JDO0lBQ0o7QUFFQTs7OztJQUljLFNBQUV5QixLQUFRQyxLQUFWO0lBQ1osTUFBTUMsUUFBQUEsRUFBQUEsR0FBV0M7SUFDakIsTUFBTUMsV0FBQUEsQ0FBQUEsR0FBY0QsT0FBQUEsVUFBQUEsRUFBQUEseUJBQVdFLGVBQUFBO0lBQy9CLE1BQUFELGNBQUEsQ0FDRSxHQUFBekMsT0FBQXdDLFVBQUEsRUFBQ0csaUNBQU1ELGtCQUFBO1dBQ0xFLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQXlCQyxHQUFBQSxFQUFBQSxZQUFBQSxPQUFBQSxFQUFBQTtRQUN6QkoseUJBQWFBO1FBQ2J6RCxhQUFXOEQ7bUJBRVZULENBQUFBLEdBQUFBLFNBQUFBLFdBQUFBLEVBQUFBOztJQUdQOztLQVpnQkEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2hlYWQudHN4PzM2NzAiXSwibmFtZXMiOlsiZXhwb3J0cyIsImRlZmF1bHRIZWFkIiwiXyIsInJlcXVpcmUiLCJfd2Fybm9uY2UiLCJpbkFtcE1vZGUiLCJjaGFyU2V0IiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJoZWFkIiwibmFtZSIsImNvbnRlbnQiLCJvbmx5UmVhY3RFbGVtZW50IiwibGlzdCIsImNoaWxkIiwiRnJhZ21lbnQiLCJ0eXBlIiwiY29uY2F0IiwiZGVmYXVsdCIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJfcmVhY3QiLCJmcmFnbWVudExpc3QiLCJmcmFnbWVudENoaWxkIiwiTUVUQVRZUEVTIiwia2V5cyIsInRhZ3MiLCJTZXQiLCJtZXRhVHlwZXMiLCJtZXRhQ2F0ZWdvcmllcyIsImgiLCJpc1VuaXF1ZSIsImhhc0tleSIsImtleSIsImluZGV4T2YiLCJhZGQiLCJpIiwibWV0YXR5cGUiLCJsZW4iLCJoYXNPd25Qcm9wZXJ0eSIsImNhdGVnb3JpZXMiLCJoYXMiLCJjYXRlZ29yeSIsInByb3BzIiwiaGVhZENoaWxkcmVuRWxlbWVudHMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjIiwiX19ORVhUX09QVElNSVpFX0ZPTlRTIiwic29tZSIsInVybCIsIm5ld1Byb3BzIiwic3RhcnRzV2l0aCIsInVuZGVmaW5lZCIsImNsb25lRWxlbWVudCIsInNyY01lc3NhZ2UiLCJ3YXJuT25jZSIsImNoaWxkcmVuIiwicGFyYW0iLCJhbXBTdGF0ZSIsInVzZUNvbnRleHQiLCJoZWFkTWFuYWdlciIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsIkVmZmVjdCIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwicmVkdWNlQ29tcG9uZW50cyIsImlzSW5BbXBNb2RlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PathParamsContext: function() {\n return PathParamsContext;\n },\n PathnameContext: function() {\n return PathnameContext;\n },\n SearchParamsContext: function() {\n return SearchParamsContext;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst SearchParamsContext = (0, _react.createContext)(null);\nconst PathnameContext = (0, _react.createContext)(null);\nconst PathParamsContext = (0, _react.createContext)(null);\nif (true) {\n SearchParamsContext.displayName = \"SearchParamsContext\";\n PathnameContext.displayName = \"PathnameContext\";\n PathParamsContext.displayName = \"PathParamsContext\";\n} //# sourceMappingURL=hooks-client-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaG9va3MtY2xpZW50LWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFPYUEsU0FBQUE7dUJBQUFBOztJQURBQztxQkFBQUE7O0lBREFDO3lCQUFBQTs7OztBQUFOLE1BQU1BLFNBQUFBLG1CQUFBQSxDQUFBQSw0Q0FBQUE7QUFDTixNQUFNRCxzQkFBa0JFLENBQUFBLEdBQUFBLE9BQUFBLGFBQTZCO0FBQ3JELE1BQU1ILGtCQUFBQSxDQUFBQSxHQUFvQkcsT0FBQUEsYUFBQUEsRUFBYTtBQUU5QyxNQUFJQyxvQkFBb0IsSUFBS0MsT0FBQUYsYUFBYztJQUN6Q0QsSUFBb0JJLEVBQWM7SUFDbENMLG9CQUFnQkssV0FBYztJQUM5Qk4sZ0JBQUFBLFdBQWtCTSxHQUFXO0lBQy9CTixrQkFBQU0sV0FBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaG9va3MtY2xpZW50LWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/NzExYiJdLCJuYW1lcyI6WyJQYXRoUGFyYW1zQ29udGV4dCIsIlBhdGhuYW1lQ29udGV4dCIsIlNlYXJjaFBhcmFtc0NvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsIl9yZWFjdCIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizeLocalePath\", ({\n enumerable: true,\n get: function() {\n return normalizeLocalePath;\n }\n}));\nfunction normalizeLocalePath(pathname, locales) {\n let detectedLocale;\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split(\"/\");\n (locales || []).some((locale)=>{\n if (pathnameParts[1] && pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join(\"/\") || \"/\";\n return true;\n }\n return false;\n });\n return {\n pathname,\n detectedLocale\n };\n} //# sourceMappingURL=normalize-locale-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFjZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG9CQUNkQyxRQUFnQixFQUNoQkMsT0FBa0I7SUFFbEIsSUFBSUM7SUFDSiwrREFBK0Q7SUFDL0QsTUFBTUMsZ0JBQWdCSCxTQUFTSSxLQUFLLENBQUM7SUFFbkNILENBQUFBLFdBQVcsRUFBRSxFQUFFSSxJQUFJLENBQUMsQ0FBQ0M7UUFDckIsSUFDRUgsYUFBYSxDQUFDLEVBQUUsSUFDaEJBLGFBQWEsQ0FBQyxFQUFFLENBQUNJLFdBQVcsT0FBT0QsT0FBT0MsV0FBVyxJQUNyRDtZQUNBTCxpQkFBaUJJO1lBQ2pCSCxjQUFjSyxNQUFNLENBQUMsR0FBRztZQUN4QlIsV0FBV0csY0FBY00sSUFBSSxDQUFDLFFBQVE7WUFDdEMsT0FBTztRQUNUO1FBQ0EsT0FBTztJQUNUO0lBRUEsT0FBTztRQUNMVDtRQUNBRTtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoLnRzPzBiNzMiXSwibmFtZXMiOlsibm9ybWFsaXplTG9jYWxlUGF0aCIsInBhdGhuYW1lIiwibG9jYWxlcyIsImRldGVjdGVkTG9jYWxlIiwicGF0aG5hbWVQYXJ0cyIsInNwbGl0Iiwic29tZSIsImxvY2FsZSIsInRvTG93ZXJDYXNlIiwic3BsaWNlIiwiam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageConfigContext\", ({\n enumerable: true,\n get: function() {\n return ImageConfigContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"./node_modules/next/dist/shared/lib/image-config.js\");\nconst ImageConfigContext = _react.default.createContext(_imageconfig.imageConfigDefault);\nif (true) {\n ImageConfigContext.displayName = \"ImageConfigContext\";\n} //# sourceMappingURL=image-config-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFJYUE7OztlQUFBQTs7Ozs0RUFKSzt5Q0FFaUI7QUFFNUIsTUFBTUEscUJBQ1hDLE9BQUFBLE9BQUssQ0FBQ0MsYUFBYSxDQUFzQkMsYUFBQUEsa0JBQWtCO0FBRTdELElBQUlDLElBQXlCLEVBQWM7SUFDekNKLG1CQUFtQkssV0FBVyxHQUFHO0FBQ25DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZS50cz8zZDc1Il0sIm5hbWVzIjpbIkltYWdlQ29uZmlnQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsImltYWdlQ29uZmlnRGVmYXVsdCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/image-config.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFhQSxlQUFhO2VBQWJBOztJQXNHQUMsb0JBQWtCO2VBQWxCQTs7O0FBdEdOLE1BQU1ELGdCQUFnQjtJQUMzQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFnR00sTUFBTUMscUJBQTBDO0lBQ3JEQyxhQUFhO1FBQUM7UUFBSztRQUFLO1FBQUs7UUFBTTtRQUFNO1FBQU07UUFBTTtLQUFLO0lBQzFEQyxZQUFZO1FBQUM7UUFBSTtRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUs7UUFBSztLQUFJO0lBQy9DQyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsWUFBWTtJQUNaQyxTQUFTLEVBQUU7SUFDWEMscUJBQXFCO0lBQ3JCQyxpQkFBaUI7SUFDakJDLFNBQVM7UUFBQztLQUFhO0lBQ3ZCQyxxQkFBcUI7SUFDckJDLHVCQUF3QjtJQUN4QkMsd0JBQXdCO0lBQ3hCQyxnQkFBZ0IsRUFBRTtJQUNsQkMsYUFBYTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1jb25maWcudHM/MTM0YSJdLCJuYW1lcyI6WyJWQUxJRF9MT0FERVJTIiwiaW1hZ2VDb25maWdEZWZhdWx0IiwiZGV2aWNlU2l6ZXMiLCJpbWFnZVNpemVzIiwicGF0aCIsImxvYWRlciIsImxvYWRlckZpbGUiLCJkb21haW5zIiwiZGlzYWJsZVN0YXRpY0ltYWdlcyIsIm1pbmltdW1DYWNoZVRUTCIsImZvcm1hdHMiLCJkYW5nZXJvdXNseUFsbG93U1ZHIiwiY29udGVudFNlY3VyaXR5UG9saWN5IiwiY29udGVudERpc3Bvc2l0aW9uVHlwZSIsInJlbW90ZVBhdHRlcm5zIiwidW5vcHRpbWl6ZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/image-config.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/is-plain-object.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/is-plain-object.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getObjectClassLabel: function() {\n return getObjectClassLabel;\n },\n isPlainObject: function() {\n return isPlainObject;\n }\n});\nfunction getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nfunction isPlainObject(value) {\n if (getObjectClassLabel(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty(\"isPrototypeOf\");\n} //# sourceMappingURL=is-plain-object.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFnQkEscUJBQW1CO2VBQW5CQTs7SUFJQUMsZUFBYTtlQUFiQTs7O0FBSlQsU0FBU0Qsb0JBQW9CRSxLQUFVO0lBQzVDLE9BQU9DLE9BQU9DLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUNKO0FBQ3hDO0FBRU8sU0FBU0QsY0FBY0MsS0FBVTtJQUN0QyxJQUFJRixvQkFBb0JFLFdBQVcsbUJBQW1CO1FBQ3BELE9BQU87SUFDVDtJQUVBLE1BQU1FLFlBQVlELE9BQU9JLGNBQWMsQ0FBQ0w7SUFFeEM7Ozs7Ozs7O0dBUUMsR0FDRCxPQUFPRSxjQUFjLFFBQVFBLFVBQVVJLGNBQWMsQ0FBQztBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LnRzPzJmYjIiXSwibmFtZXMiOlsiZ2V0T2JqZWN0Q2xhc3NMYWJlbCIsImlzUGxhaW5PYmplY3QiLCJ2YWx1ZSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsImdldFByb3RvdHlwZU9mIiwiaGFzT3duUHJvcGVydHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/is-plain-object.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// This has to be a shared module which is shared between client component error boundary and dynamic component\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BailoutToCSRError: function() {\n return BailoutToCSRError;\n },\n isBailoutToCSRError: function() {\n return isBailoutToCSRError;\n }\n});\nconst BAILOUT_TO_CSR = \"BAILOUT_TO_CLIENT_SIDE_RENDERING\";\nclass BailoutToCSRError extends Error {\n constructor(reason){\n super(\"Bail out to client-side rendering: \" + reason);\n this.reason = reason;\n this.digest = BAILOUT_TO_CSR;\n }\n}\nfunction isBailoutToCSRError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err)) {\n return false;\n }\n return err.digest === BAILOUT_TO_CSR;\n} //# sourceMappingURL=bailout-to-csr.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyLmpzIiwibWFwcGluZ3MiOiJBQUFBLCtHQUErRzs7Ozs7Ozs7Ozs7OztJQUlsR0EsbUJBQWlCO2VBQWpCQTs7SUFTR0MscUJBQW1CO2VBQW5CQTs7O0FBWmhCLE1BQU1DLGlCQUFpQjtBQUdoQixNQUFNRiwwQkFBMEJHO0lBR3JDQyxZQUFZQyxNQUE4QixDQUFFO1FBQzFDLEtBQUssQ0FBQyx3Q0FBc0NBO2FBRGxCQSxNQUFBQSxHQUFBQTthQUZaQyxNQUFBQSxHQUFTSjtJQUl6QjtBQUNGO0FBR08sU0FBU0Qsb0JBQW9CTSxHQUFZO0lBQzlDLElBQUksT0FBT0EsUUFBUSxZQUFZQSxRQUFRLFFBQVEsQ0FBRSxhQUFZQSxHQUFBQSxHQUFNO1FBQ2pFLE9BQU87SUFDVDtJQUVBLE9BQU9BLElBQUlELE1BQU0sS0FBS0o7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2xhenktZHluYW1pYy9iYWlsb3V0LXRvLWNzci50cz83OTE3Il0sIm5hbWVzIjpbIkJhaWxvdXRUb0NTUkVycm9yIiwiaXNCYWlsb3V0VG9DU1JFcnJvciIsIkJBSUxPVVRfVE9fQ1NSIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsInJlYXNvbiIsImRpZ2VzdCIsImVyciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/magic-identifier.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/magic-identifier.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n MAGIC_IDENTIFIER_REGEX: function() {\n return MAGIC_IDENTIFIER_REGEX;\n },\n decodeMagicIdentifier: function() {\n return decodeMagicIdentifier;\n }\n});\nfunction decodeHex(hexStr) {\n if (hexStr.trim() === \"\") {\n throw new Error(\"can't decode empty hex\");\n }\n const num = parseInt(hexStr, 16);\n if (isNaN(num)) {\n throw new Error(\"invalid hex: `\" + hexStr + \"`\");\n }\n return String.fromCodePoint(num);\n}\nvar Mode;\nconst DECODE_REGEX = /^__TURBOPACK__([a-zA-Z0-9_$]+)__$/;\nfunction decodeMagicIdentifier(identifier) {\n const matches = identifier.match(DECODE_REGEX);\n if (!matches) {\n return identifier;\n }\n const inner = matches[1];\n let output = \"\";\n let mode = 0;\n let buffer = \"\";\n for(let i = 0; i < inner.length; i++){\n const char = inner[i];\n if (mode === 0) {\n if (char === \"_\") {\n mode = 1;\n } else if (char === \"$\") {\n mode = 2;\n } else {\n output += char;\n }\n } else if (mode === 1) {\n if (char === \"_\") {\n output += \" \";\n mode = 0;\n } else if (char === \"$\") {\n output += \"_\";\n mode = 2;\n } else {\n output += char;\n mode = 0;\n }\n } else if (mode === 2) {\n if (buffer.length === 2) {\n output += decodeHex(buffer);\n buffer = \"\";\n }\n if (char === \"_\") {\n if (buffer !== \"\") {\n throw new Error(\"invalid hex: `\" + buffer + \"`\");\n }\n mode = 3;\n } else if (char === \"$\") {\n if (buffer !== \"\") {\n throw new Error(\"invalid hex: `\" + buffer + \"`\");\n }\n mode = 0;\n } else {\n buffer += char;\n }\n } else if (mode === 3) {\n if (char === \"_\") {\n throw new Error(\"invalid hex: `\" + (buffer + char) + \"`\");\n } else if (char === \"$\") {\n output += decodeHex(buffer);\n buffer = \"\";\n mode = 0;\n } else {\n buffer += char;\n }\n }\n }\n return output;\n}\nconst MAGIC_IDENTIFIER_REGEX = /__TURBOPACK__[a-zA-Z0-9_$]+__/g; //# sourceMappingURL=magic-identifier.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWFnaWMtaWRlbnRpZmllci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE4RmFBLHdCQUFzQjtlQUF0QkE7O0lBeEVHQyx1QkFBcUI7ZUFBckJBOzs7QUF0QmhCLFNBQVNDLFVBQVVDLE1BQWM7SUFDL0IsSUFBSUEsT0FBT0MsSUFBSSxPQUFPLElBQUk7UUFDeEIsTUFBTSxJQUFJQyxNQUFNO0lBQ2xCO0lBRUEsTUFBTUMsTUFBTUMsU0FBU0osUUFBUTtJQUM3QixJQUFJSyxNQUFNRixNQUFNO1FBQ2QsTUFBTSxJQUFJRCxNQUFNLG1CQUFrQkYsU0FBTztJQUMzQztJQUVBLE9BQU9NLE9BQU9DLGFBQWEsQ0FBQ0o7QUFDOUI7O0FBU0EsTUFBTUssZUFBZTtBQUVkLFNBQVNWLHNCQUFzQlcsVUFBa0I7SUFDdEQsTUFBTUMsVUFBVUQsV0FBV0UsS0FBSyxDQUFDSDtJQUNqQyxJQUFJLENBQUNFLFNBQVM7UUFDWixPQUFPRDtJQUNUO0lBRUEsTUFBTUcsUUFBUUYsT0FBTyxDQUFDLEVBQUU7SUFFeEIsSUFBSUcsU0FBUztJQUViLElBQUlDLE9BQUFBO0lBQ0osSUFBSUMsU0FBUztJQUNiLElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJSixNQUFNSyxNQUFNLEVBQUVELElBQUs7UUFDckMsTUFBTUUsT0FBT04sS0FBSyxDQUFDSSxFQUFFO1FBRXJCLElBQUlGLFNBQUFBLEdBQW9CO1lBQ3RCLElBQUlJLFNBQVMsS0FBSztnQkFDaEJKLE9BQUFBO1lBQ0YsT0FBTyxJQUFJSSxTQUFTLEtBQUs7Z0JBQ3ZCSixPQUFBQTtZQUNGLE9BQU87Z0JBQ0xELFVBQVVLO1lBQ1o7UUFDRixPQUFPLElBQUlKLFNBQUFBLEdBQTBCO1lBQ25DLElBQUlJLFNBQVMsS0FBSztnQkFDaEJMLFVBQVU7Z0JBQ1ZDLE9BQUFBO1lBQ0YsT0FBTyxJQUFJSSxTQUFTLEtBQUs7Z0JBQ3ZCTCxVQUFVO2dCQUNWQyxPQUFBQTtZQUNGLE9BQU87Z0JBQ0xELFVBQVVLO2dCQUNWSixPQUFBQTtZQUNGO1FBQ0YsT0FBTyxJQUFJQSxTQUFBQSxHQUFtQjtZQUM1QixJQUFJQyxPQUFPRSxNQUFNLEtBQUssR0FBRztnQkFDdkJKLFVBQVVkLFVBQVVnQjtnQkFDcEJBLFNBQVM7WUFDWDtZQUVBLElBQUlHLFNBQVMsS0FBSztnQkFDaEIsSUFBSUgsV0FBVyxJQUFJO29CQUNqQixNQUFNLElBQUliLE1BQU0sbUJBQWtCYSxTQUFPO2dCQUMzQztnQkFFQUQsT0FBQUE7WUFDRixPQUFPLElBQUlJLFNBQVMsS0FBSztnQkFDdkIsSUFBSUgsV0FBVyxJQUFJO29CQUNqQixNQUFNLElBQUliLE1BQU0sbUJBQWtCYSxTQUFPO2dCQUMzQztnQkFFQUQsT0FBQUE7WUFDRixPQUFPO2dCQUNMQyxVQUFVRztZQUNaO1FBQ0YsT0FBTyxJQUFJSixTQUFBQSxHQUF1QjtZQUNoQyxJQUFJSSxTQUFTLEtBQUs7Z0JBQ2hCLE1BQU0sSUFBSWhCLE1BQU0sbUJBQWtCYSxDQUFBQSxTQUFTRyxJQUFBQSxJQUFLO1lBQ2xELE9BQU8sSUFBSUEsU0FBUyxLQUFLO2dCQUN2QkwsVUFBVWQsVUFBVWdCO2dCQUNwQkEsU0FBUztnQkFFVEQsT0FBQUE7WUFDRixPQUFPO2dCQUNMQyxVQUFVRztZQUNaO1FBQ0Y7SUFDRjtJQUVBLE9BQU9MO0FBQ1Q7QUFFTyxNQUFNaEIseUJBQXlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tYWdpYy1pZGVudGlmaWVyLnRzPzk5MTQiXSwibmFtZXMiOlsiTUFHSUNfSURFTlRJRklFUl9SRUdFWCIsImRlY29kZU1hZ2ljSWRlbnRpZmllciIsImRlY29kZUhleCIsImhleFN0ciIsInRyaW0iLCJFcnJvciIsIm51bSIsInBhcnNlSW50IiwiaXNOYU4iLCJTdHJpbmciLCJmcm9tQ29kZVBvaW50IiwiREVDT0RFX1JFR0VYIiwiaWRlbnRpZmllciIsIm1hdGNoZXMiLCJtYXRjaCIsImlubmVyIiwib3V0cHV0IiwibW9kZSIsImJ1ZmZlciIsImkiLCJsZW5ndGgiLCJjaGFyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/magic-identifier.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/mitt.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/mitt.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/*\nMIT License\n\nCopyright (c) Jason Miller (https://jasonformat.com/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ // This file is based on https://github.com/developit/mitt/blob/v1.1.3/src/index.js\n// It's been edited for the needs of this script\n// See the LICENSE at the top of the file\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return mitt;\n }\n}));\nfunction mitt() {\n const all = Object.create(null);\n return {\n on (type, handler) {\n (all[type] || (all[type] = [])).push(handler);\n },\n off (type, handler) {\n if (all[type]) {\n all[type].splice(all[type].indexOf(handler) >>> 0, 1);\n }\n },\n emit (type) {\n for(var _len = arguments.length, evts = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n evts[_key - 1] = arguments[_key];\n }\n (all[type] || []).slice().map((handler)=>{\n handler(...evts);\n });\n }\n };\n} //# sourceMappingURL=mitt.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWl0dC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztBQVVBLEdBRUEsbUZBQW1GO0FBQ25GLGdEQUFnRDtBQUNoRCx5Q0FBeUM7Ozs7OzJDQVV6Qzs7O2VBQXdCQTs7O0FBQVQsU0FBU0E7SUFDdEIsTUFBTUMsTUFBa0NDLE9BQU9DLE1BQU0sQ0FBQztJQUV0RCxPQUFPO1FBQ0xDLElBQUdDLElBQVksRUFBRUMsT0FBZ0I7WUFDN0JMLENBQUFBLEdBQUcsQ0FBQ0ksS0FBSyxJQUFLSixDQUFBQSxHQUFHLENBQUNJLEtBQUssR0FBRyxFQUFFLEdBQUdFLElBQUksQ0FBQ0Q7UUFDeEM7UUFFQUUsS0FBSUgsSUFBWSxFQUFFQyxPQUFnQjtZQUNoQyxJQUFJTCxHQUFHLENBQUNJLEtBQUssRUFBRTtnQkFDYkosR0FBRyxDQUFDSSxLQUFLLENBQUNJLE1BQU0sQ0FBQ1IsR0FBRyxDQUFDSSxLQUFLLENBQUNLLE9BQU8sQ0FBQ0osYUFBYSxHQUFHO1lBQ3JEO1FBQ0Y7UUFFQUssTUFBS04sSUFBWTtZQUFFLFFBQUFPLE9BQUFDLFVBQUFDLE1BQUEsRUFBQUMsT0FBQSxJQUFBQyxNQUFBSixPQUFBLElBQUFBLE9BQUEsUUFBQUssT0FBQSxHQUFBQSxPQUFBTCxNQUFBSyxPQUFBO2dCQUFHRixJQUFBQSxDQUFIRSxPQUFBLEtBQUFKLFNBQUEsQ0FBQUksS0FBYzs7WUFFN0JoQixDQUFBQSxHQUFHLENBQUNJLEtBQUssSUFBSSxFQUFFLEVBQUVhLEtBQUssR0FBR0MsR0FBRyxDQUFDLENBQUNiO2dCQUM5QkEsV0FBV1M7WUFDYjtRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvbWl0dC50cz9lOWNmIl0sIm5hbWVzIjpbIm1pdHQiLCJhbGwiLCJPYmplY3QiLCJjcmVhdGUiLCJvbiIsInR5cGUiLCJoYW5kbGVyIiwicHVzaCIsIm9mZiIsInNwbGljZSIsImluZGV4T2YiLCJlbWl0IiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImV2dHMiLCJBcnJheSIsIl9rZXkiLCJzbGljZSIsIm1hcCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/mitt.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/modern-browserslist-target.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/modern-browserslist-target.js ***! - \*************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Note: This file is JS because it's used by the taskfile-swc.js file, which is JS.\n// Keep file changes in sync with the corresponding `.d.ts` files.\n/**\n * These are the browser versions that support all of the following:\n * static import: https://caniuse.com/es6-module\n * dynamic import: https://caniuse.com/es6-module-dynamic-import\n * import.meta: https://caniuse.com/mdn-javascript_operators_import_meta\n */ \nconst MODERN_BROWSERSLIST_TARGET = [\n \"chrome 64\",\n \"edge 79\",\n \"firefox 67\",\n \"opera 51\",\n \"safari 12\"\n];\nmodule.exports = MODERN_BROWSERSLIST_TARGET; //# sourceMappingURL=modern-browserslist-target.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbW9kZXJuLWJyb3dzZXJzbGlzdC10YXJnZXQuanMiLCJtYXBwaW5ncyI6IkFBQUEsb0ZBQW9GO0FBQ3BGLGtFQUFrRTtBQUNsRTs7Ozs7Q0FLQztBQUNELE1BQU1BLDZCQUE2QjtJQUNqQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFFREMsT0FBT0MsT0FBTyxHQUFHRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvbW9kZXJuLWJyb3dzZXJzbGlzdC10YXJnZXQuanM/ZDUxZSJdLCJuYW1lcyI6WyJNT0RFUk5fQlJPV1NFUlNMSVNUX1RBUkdFVCIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/modern-browserslist-target.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"denormalizePagePath\", ({\n enumerable: true,\n get: function() {\n return denormalizePagePath;\n }\n}));\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _normalizepathsep = __webpack_require__(/*! ./normalize-path-sep */ \"./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nfunction denormalizePagePath(page) {\n let _page = (0, _normalizepathsep.normalizePathSep)(page);\n return _page.startsWith(\"/index/\") && !(0, _utils.isDynamicRoute)(_page) ? _page.slice(6) : _page !== \"/index\" ? _page : \"/\";\n} //# sourceMappingURL=denormalize-page-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcyIsIm1hcHBpbmdzIjoiOzs7O3VEQVdnQkE7OztlQUFBQTs7O21DQVhlOzhDQUNFO0FBVTFCLFNBQVNBLG9CQUFvQkMsSUFBWTtJQUM5QyxJQUFJQyxRQUFRQyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQWdCLEVBQUNGO0lBQzdCLE9BQU9DLE1BQU1FLFVBQVUsQ0FBQyxjQUFjLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGNBQWMsRUFBQ0gsU0FDbERBLE1BQU1JLEtBQUssQ0FBQyxLQUNaSixVQUFVLFdBQ1ZBLFFBQ0E7QUFDTiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC50cz84NDQwIl0sIm5hbWVzIjpbImRlbm9ybWFsaXplUGFnZVBhdGgiLCJwYWdlIiwiX3BhZ2UiLCJub3JtYWxpemVQYXRoU2VwIiwic3RhcnRzV2l0aCIsImlzRHluYW1pY1JvdXRlIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! - \*****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQW1CQyxJQUFZO0lBQzdDLE9BQU9BLEtBQUtDLFVBQVUsQ0FBQyxPQUFPRCxPQUFPLE1BQUlBO0FBQzNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9wYWdlLXBhdGgvZW5zdXJlLWxlYWRpbmctc2xhc2gudHM/MThmMiJdLCJuYW1lcyI6WyJlbnN1cmVMZWFkaW5nU2xhc2giLCJwYXRoIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * For a given page path, this function ensures that there is no backslash\n * escaping slashes in the path. Example:\n * - `foo\\/bar\\/baz` -> `foo/bar/baz`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathSep\", ({\n enumerable: true,\n get: function() {\n return normalizePathSep;\n }\n}));\nfunction normalizePathSep(path) {\n return path.replace(/\\\\/g, \"/\");\n} //# sourceMappingURL=normalize-path-sep.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDOzs7O29EQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxpQkFBaUJDLElBQVk7SUFDM0MsT0FBT0EsS0FBS0MsT0FBTyxDQUFDLE9BQU87QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3BhZ2UtcGF0aC9ub3JtYWxpemUtcGF0aC1zZXAudHM/NWNmMCJdLCJuYW1lcyI6WyJub3JtYWxpemVQYXRoU2VwIiwicGF0aCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router-context.shared-runtime.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***! - \****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFHYUE7OztlQUFBQTs7Ozs0RUFISztBQUdYLE1BQU1BLGdCQUFnQkMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQW9CO0FBRXBFLElBQUlDLElBQXlCLEVBQWM7SUFDekNILGNBQWNJLFdBQVcsR0FBRztBQUM5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/NjM2YyJdLCJuYW1lcyI6WyJSb3V0ZXJDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/adapters.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/adapters.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PathnameContextProviderAdapter: function() {\n return PathnameContextProviderAdapter;\n },\n adaptForAppRouterInstance: function() {\n return adaptForAppRouterInstance;\n },\n adaptForPathParams: function() {\n return adaptForPathParams;\n },\n adaptForSearchParams: function() {\n return adaptForSearchParams;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../hooks-client-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\");\nconst _utils = __webpack_require__(/*! ./utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _aspathtosearchparams = __webpack_require__(/*! ./utils/as-path-to-search-params */ \"./node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js\");\nconst _routeregex = __webpack_require__(/*! ./utils/route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction adaptForAppRouterInstance(pagesRouter) {\n return {\n back () {\n pagesRouter.back();\n },\n forward () {\n pagesRouter.forward();\n },\n refresh () {\n pagesRouter.reload();\n },\n fastRefresh () {},\n push (href, param) {\n let { scroll } = param === void 0 ? {} : param;\n void pagesRouter.push(href, undefined, {\n scroll\n });\n },\n replace (href, param) {\n let { scroll } = param === void 0 ? {} : param;\n void pagesRouter.replace(href, undefined, {\n scroll\n });\n },\n prefetch (href) {\n void pagesRouter.prefetch(href);\n }\n };\n}\nfunction adaptForSearchParams(router) {\n if (!router.isReady || !router.query) {\n return new URLSearchParams();\n }\n return (0, _aspathtosearchparams.asPathToSearchParams)(router.asPath);\n}\nfunction adaptForPathParams(router) {\n if (!router.isReady || !router.query) {\n return null;\n }\n const pathParams = {};\n const routeRegex = (0, _routeregex.getRouteRegex)(router.pathname);\n const keys = Object.keys(routeRegex.groups);\n for (const key of keys){\n pathParams[key] = router.query[key];\n }\n return pathParams;\n}\nfunction PathnameContextProviderAdapter(param) {\n let { children, router, ...props } = param;\n const ref = (0, _react.useRef)(props.isAutoExport);\n const value = (0, _react.useMemo)(()=>{\n // isAutoExport is only ever `true` on the first render from the server,\n // so reset it to `false` after we read it for the first time as `true`. If\n // we don't use the value, then we don't need it.\n const isAutoExport = ref.current;\n if (isAutoExport) {\n ref.current = false;\n }\n // When the route is a dynamic route, we need to do more processing to\n // determine if we need to stop showing the pathname.\n if ((0, _utils.isDynamicRoute)(router.pathname)) {\n // When the router is rendering the fallback page, it can't possibly know\n // the path, so return `null` here. Read more about fallback pages over\n // at:\n // https://nextjs.org/docs/api-reference/data-fetching/get-static-paths#fallback-pages\n if (router.isFallback) {\n return null;\n }\n // When `isAutoExport` is true, meaning this is a page page has been\n // automatically statically optimized, and the router is not ready, then\n // we can't know the pathname yet. Read more about automatic static\n // optimization at:\n // https://nextjs.org/docs/advanced-features/automatic-static-optimization\n if (isAutoExport && !router.isReady) {\n return null;\n }\n }\n // The `router.asPath` contains the pathname seen by the browser (including\n // any query strings), so it should have that stripped. Read more about the\n // `asPath` option over at:\n // https://nextjs.org/docs/api-reference/next/router#router-object\n let url;\n try {\n url = new URL(router.asPath, \"http://f\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n return \"/\";\n }\n return url.pathname;\n }, [\n router.asPath,\n router.isFallback,\n router.isReady,\n router.pathname\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: value,\n children: children\n });\n} //# sourceMappingURL=adapters.js.map\n_c = PathnameContextProviderAdapter;\nvar _c;\n$RefreshReg$(_c, \"PathnameContextProviderAdapter\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL2FkYXB0ZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQW9FZ0JBLGdDQUE4QjtlQUE5QkE7O0lBekRBQywyQkFBeUI7ZUFBekJBOztJQTBDQUMsb0JBQWtCO2VBQWxCQTs7SUFWQUMsc0JBQW9CO2VBQXBCQTs7Ozs7NkVBdkN1Qjs2REFDUDttQ0FDRDtrREFDTTt3Q0FDUDtBQUd2QixTQUFTRiwwQkFDZEcsV0FBdUI7SUFFdkIsT0FBTztRQUNMQztZQUNFRCxZQUFZQyxJQUFJO1FBQ2xCO1FBQ0FDO1lBQ0VGLFlBQVlFLE9BQU87UUFDckI7UUFDQUM7WUFDRUgsWUFBWUksTUFBTTtRQUNwQjtRQUNBQyxnQkFBZTtRQUNmQyxNQUFLQyxJQUFJLEVBQUVDLEtBQUE7WUFBQSxNQUFFQyxNQUFNLEVBQUUsR0FBVkQsVUFBQSxTQUFhLENBQUMsSUFBZEE7WUFDVCxLQUFLUixZQUFZTSxJQUFJLENBQUNDLE1BQU1HLFdBQVc7Z0JBQUVEO1lBQU87UUFDbEQ7UUFDQUUsU0FBUUosSUFBSSxFQUFFQyxLQUFBO1lBQUEsTUFBRUMsTUFBTSxFQUFFLEdBQVZELFVBQUEsU0FBYSxDQUFDLElBQWRBO1lBQ1osS0FBS1IsWUFBWVcsT0FBTyxDQUFDSixNQUFNRyxXQUFXO2dCQUFFRDtZQUFPO1FBQ3JEO1FBQ0FHLFVBQVNMLElBQUk7WUFDWCxLQUFLUCxZQUFZWSxRQUFRLENBQUNMO1FBQzVCO0lBQ0Y7QUFDRjtBQVFPLFNBQVNSLHFCQUNkYyxNQUF3RDtJQUV4RCxJQUFJLENBQUNBLE9BQU9DLE9BQU8sSUFBSSxDQUFDRCxPQUFPRSxLQUFLLEVBQUU7UUFDcEMsT0FBTyxJQUFJQztJQUNiO0lBRUEsT0FBT0MsQ0FBQUEsR0FBQUEsc0JBQUFBLG9CQUFvQixFQUFDSixPQUFPSyxNQUFNO0FBQzNDO0FBRU8sU0FBU3BCLG1CQUNkZSxNQUFxRTtJQUVyRSxJQUFJLENBQUNBLE9BQU9DLE9BQU8sSUFBSSxDQUFDRCxPQUFPRSxLQUFLLEVBQUU7UUFDcEMsT0FBTztJQUNUO0lBQ0EsTUFBTUksYUFBcUIsQ0FBQztJQUM1QixNQUFNQyxhQUFhQyxDQUFBQSxHQUFBQSxZQUFBQSxhQUFhLEVBQUNSLE9BQU9TLFFBQVE7SUFDaEQsTUFBTUMsT0FBT0MsT0FBT0QsSUFBSSxDQUFDSCxXQUFXSyxNQUFNO0lBQzFDLEtBQUssTUFBTUMsT0FBT0gsS0FBTTtRQUN0QkosVUFBVSxDQUFDTyxJQUFJLEdBQUdiLE9BQU9FLEtBQUssQ0FBQ1csSUFBSTtJQUNyQztJQUNBLE9BQU9QO0FBQ1Q7QUFFTyxTQUFTdkIsK0JBQStCWSxLQU83QztJQVA2QyxNQUM3Q21CLFFBQVEsRUFDUmQsTUFBTSxFQUNOLEdBQUdlLE9BSUgsR0FQNkNwQjtJQVE3QyxNQUFNcUIsTUFBTUMsQ0FBQUEsR0FBQUEsT0FBQUEsTUFBTSxFQUFDRixNQUFNRyxZQUFZO0lBQ3JDLE1BQU1DLFFBQVFDLENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBQztRQUNwQix3RUFBd0U7UUFDeEUsMkVBQTJFO1FBQzNFLGlEQUFpRDtRQUNqRCxNQUFNRixlQUFlRixJQUFJSyxPQUFPO1FBQ2hDLElBQUlILGNBQWM7WUFDaEJGLElBQUlLLE9BQU8sR0FBRztRQUNoQjtRQUVBLHNFQUFzRTtRQUN0RSxxREFBcUQ7UUFDckQsSUFBSUMsQ0FBQUEsR0FBQUEsT0FBQUEsY0FBYyxFQUFDdEIsT0FBT1MsUUFBUSxHQUFHO1lBQ25DLHlFQUF5RTtZQUN6RSx1RUFBdUU7WUFDdkUsTUFBTTtZQUNOLHNGQUFzRjtZQUN0RixJQUFJVCxPQUFPdUIsVUFBVSxFQUFFO2dCQUNyQixPQUFPO1lBQ1Q7WUFFQSxvRUFBb0U7WUFDcEUsd0VBQXdFO1lBQ3hFLG1FQUFtRTtZQUNuRSxtQkFBbUI7WUFDbkIsMEVBQTBFO1lBQzFFLElBQUlMLGdCQUFnQixDQUFDbEIsT0FBT0MsT0FBTyxFQUFFO2dCQUNuQyxPQUFPO1lBQ1Q7UUFDRjtRQUVBLDJFQUEyRTtRQUMzRSwyRUFBMkU7UUFDM0UsMkJBQTJCO1FBQzNCLGtFQUFrRTtRQUNsRSxJQUFJdUI7UUFDSixJQUFJO1lBQ0ZBLE1BQU0sSUFBSUMsSUFBSXpCLE9BQU9LLE1BQU0sRUFBRTtRQUMvQixFQUFFLE9BQU9xQixHQUFHO1lBQ1Ysa0RBQWtEO1lBQ2xELE9BQU87UUFDVDtRQUVBLE9BQU9GLElBQUlmLFFBQVE7SUFDckIsR0FBRztRQUFDVCxPQUFPSyxNQUFNO1FBQUVMLE9BQU91QixVQUFVO1FBQUV2QixPQUFPQyxPQUFPO1FBQUVELE9BQU9TLFFBQVE7S0FBQztJQUV0RSxPQUNFLFdBREYsR0FDRSxJQUFBa0IsWUFBQUMsR0FBQSxFQUFDQyxpQ0FBQUEsZUFBZSxDQUFDQyxRQUFRO1FBQUNYLE9BQU9BO2tCQUM5Qkw7O0FBR1A7S0EzRGdCL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci9hZGFwdGVycy50c3g/OTdiZiJdLCJuYW1lcyI6WyJQYXRobmFtZUNvbnRleHRQcm92aWRlckFkYXB0ZXIiLCJhZGFwdEZvckFwcFJvdXRlckluc3RhbmNlIiwiYWRhcHRGb3JQYXRoUGFyYW1zIiwiYWRhcHRGb3JTZWFyY2hQYXJhbXMiLCJwYWdlc1JvdXRlciIsImJhY2siLCJmb3J3YXJkIiwicmVmcmVzaCIsInJlbG9hZCIsImZhc3RSZWZyZXNoIiwicHVzaCIsImhyZWYiLCJwYXJhbSIsInNjcm9sbCIsInVuZGVmaW5lZCIsInJlcGxhY2UiLCJwcmVmZXRjaCIsInJvdXRlciIsImlzUmVhZHkiLCJxdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsImFzUGF0aFRvU2VhcmNoUGFyYW1zIiwiYXNQYXRoIiwicGF0aFBhcmFtcyIsInJvdXRlUmVnZXgiLCJnZXRSb3V0ZVJlZ2V4IiwicGF0aG5hbWUiLCJrZXlzIiwiT2JqZWN0IiwiZ3JvdXBzIiwia2V5IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsInVzZVJlZiIsImlzQXV0b0V4cG9ydCIsInZhbHVlIiwidXNlTWVtbyIsImN1cnJlbnQiLCJpc0R5bmFtaWNSb3V0ZSIsImlzRmFsbGJhY2siLCJ1cmwiLCJVUkwiLCJfIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJQYXRobmFtZUNvbnRleHQiLCJQcm92aWRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/adapters.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/router.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/router.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// tslint:disable:no-console\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createKey: function() {\n return createKey;\n },\n default: function() {\n return Router;\n },\n matchesMiddleware: function() {\n return matchesMiddleware;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _routeloader = __webpack_require__(/*! ../../../client/route-loader */ \"./node_modules/next/dist/client/route-loader.js\");\nconst _script = __webpack_require__(/*! ../../../client/script */ \"./node_modules/next/dist/client/script.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../../../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _denormalizepagepath = __webpack_require__(/*! ../page-path/denormalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\");\nconst _normalizelocalepath = __webpack_require__(/*! ../i18n/normalize-locale-path */ \"./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _mitt = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../mitt */ \"./node_modules/next/dist/shared/lib/mitt.js\"));\nconst _utils = __webpack_require__(/*! ../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _isdynamic = __webpack_require__(/*! ./utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _parserelativeurl = __webpack_require__(/*! ./utils/parse-relative-url */ \"./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\");\nconst _resolverewrites = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./utils/resolve-rewrites */ \"?506d\"));\nconst _routematcher = __webpack_require__(/*! ./utils/route-matcher */ \"./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./utils/route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nconst _formaturl = __webpack_require__(/*! ./utils/format-url */ \"./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _detectdomainlocale = __webpack_require__(/*! ../../../client/detect-domain-locale */ \"./node_modules/next/dist/client/detect-domain-locale.js\");\nconst _parsepath = __webpack_require__(/*! ./utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst _addlocale = __webpack_require__(/*! ../../../client/add-locale */ \"./node_modules/next/dist/client/add-locale.js\");\nconst _removelocale = __webpack_require__(/*! ../../../client/remove-locale */ \"./node_modules/next/dist/client/remove-locale.js\");\nconst _removebasepath = __webpack_require__(/*! ../../../client/remove-base-path */ \"./node_modules/next/dist/client/remove-base-path.js\");\nconst _addbasepath = __webpack_require__(/*! ../../../client/add-base-path */ \"./node_modules/next/dist/client/add-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../client/has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst _resolvehref = __webpack_require__(/*! ../../../client/resolve-href */ \"./node_modules/next/dist/client/resolve-href.js\");\nconst _isapiroute = __webpack_require__(/*! ../../../lib/is-api-route */ \"./node_modules/next/dist/lib/is-api-route.js\");\nconst _getnextpathnameinfo = __webpack_require__(/*! ./utils/get-next-pathname-info */ \"./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\");\nconst _formatnextpathnameinfo = __webpack_require__(/*! ./utils/format-next-pathname-info */ \"./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\");\nconst _comparestates = __webpack_require__(/*! ./utils/compare-states */ \"./node_modules/next/dist/shared/lib/router/utils/compare-states.js\");\nconst _islocalurl = __webpack_require__(/*! ./utils/is-local-url */ \"./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _isbot = __webpack_require__(/*! ./utils/is-bot */ \"./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _omit = __webpack_require__(/*! ./utils/omit */ \"./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _interpolateas = __webpack_require__(/*! ./utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ./utils/handle-smooth-scroll */ \"./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nfunction buildCancellationError() {\n return Object.assign(new Error(\"Route Cancelled\"), {\n cancelled: true\n });\n}\nasync function matchesMiddleware(options) {\n const matchers = await Promise.resolve(options.router.pageLoader.getMiddleware());\n if (!matchers) return false;\n const { pathname: asPathname } = (0, _parsepath.parsePath)(options.asPath);\n // remove basePath first since path prefix has to be in the order of `/${basePath}/${locale}`\n const cleanedAs = (0, _hasbasepath.hasBasePath)(asPathname) ? (0, _removebasepath.removeBasePath)(asPathname) : asPathname;\n const asWithBasePathAndLocale = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(cleanedAs, options.locale));\n // Check only path match on client. Matching \"has\" should be done on server\n // where we can access more info such as headers, HttpOnly cookie, etc.\n return matchers.some((m)=>new RegExp(m.regexp).test(asWithBasePathAndLocale));\n}\nfunction stripOrigin(url) {\n const origin = (0, _utils.getLocationOrigin)();\n return url.startsWith(origin) ? url.substring(origin.length) : url;\n}\nfunction prepareUrlAs(router, url, as) {\n // If url and as provided as an object representation,\n // we'll format them into the string version here.\n let [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(router, url, true);\n const origin = (0, _utils.getLocationOrigin)();\n const hrefWasAbsolute = resolvedHref.startsWith(origin);\n const asWasAbsolute = resolvedAs && resolvedAs.startsWith(origin);\n resolvedHref = stripOrigin(resolvedHref);\n resolvedAs = resolvedAs ? stripOrigin(resolvedAs) : resolvedAs;\n const preparedUrl = hrefWasAbsolute ? resolvedHref : (0, _addbasepath.addBasePath)(resolvedHref);\n const preparedAs = as ? stripOrigin((0, _resolvehref.resolveHref)(router, as)) : resolvedAs || resolvedHref;\n return {\n url: preparedUrl,\n as: asWasAbsolute ? preparedAs : (0, _addbasepath.addBasePath)(preparedAs)\n };\n}\nfunction resolveDynamicRoute(pathname, pages) {\n const cleanPathname = (0, _removetrailingslash.removeTrailingSlash)((0, _denormalizepagepath.denormalizePagePath)(pathname));\n if (cleanPathname === \"/404\" || cleanPathname === \"/_error\") {\n return pathname;\n }\n // handle resolving href for dynamic routes\n if (!pages.includes(cleanPathname)) {\n // eslint-disable-next-line array-callback-return\n pages.some((page)=>{\n if ((0, _isdynamic.isDynamicRoute)(page) && (0, _routeregex.getRouteRegex)(page).re.test(cleanPathname)) {\n pathname = page;\n return true;\n }\n });\n }\n return (0, _removetrailingslash.removeTrailingSlash)(pathname);\n}\nfunction getMiddlewareData(source, response, options) {\n const nextConfig = {\n basePath: options.router.basePath,\n i18n: {\n locales: options.router.locales\n },\n trailingSlash: Boolean(false)\n };\n const rewriteHeader = response.headers.get(\"x-nextjs-rewrite\");\n let rewriteTarget = rewriteHeader || response.headers.get(\"x-nextjs-matched-path\");\n const matchedPath = response.headers.get(\"x-matched-path\");\n if (matchedPath && !rewriteTarget && !matchedPath.includes(\"__next_data_catchall\") && !matchedPath.includes(\"/_error\") && !matchedPath.includes(\"/404\")) {\n // leverage x-matched-path to detect next.config.js rewrites\n rewriteTarget = matchedPath;\n }\n if (rewriteTarget) {\n if (rewriteTarget.startsWith(\"/\") || false) {\n const parsedRewriteTarget = (0, _parserelativeurl.parseRelativeUrl)(rewriteTarget);\n const pathnameInfo = (0, _getnextpathnameinfo.getNextPathnameInfo)(parsedRewriteTarget.pathname, {\n nextConfig,\n parseData: true\n });\n let fsPathname = (0, _removetrailingslash.removeTrailingSlash)(pathnameInfo.pathname);\n return Promise.all([\n options.router.pageLoader.getPageList(),\n (0, _routeloader.getClientBuildManifest)()\n ]).then((param)=>{\n let [pages, { __rewrites: rewrites }] = param;\n let as = (0, _addlocale.addLocale)(pathnameInfo.pathname, pathnameInfo.locale);\n if ((0, _isdynamic.isDynamicRoute)(as) || !rewriteHeader && pages.includes((0, _normalizelocalepath.normalizeLocalePath)((0, _removebasepath.removeBasePath)(as), options.router.locales).pathname)) {\n const parsedSource = (0, _getnextpathnameinfo.getNextPathnameInfo)((0, _parserelativeurl.parseRelativeUrl)(source).pathname, {\n nextConfig: false ? 0 : nextConfig,\n parseData: true\n });\n as = (0, _addbasepath.addBasePath)(parsedSource.pathname);\n parsedRewriteTarget.pathname = as;\n }\n if (false) {} else if (!pages.includes(fsPathname)) {\n const resolvedPathname = resolveDynamicRoute(fsPathname, pages);\n if (resolvedPathname !== fsPathname) {\n fsPathname = resolvedPathname;\n }\n }\n const resolvedHref = !pages.includes(fsPathname) ? resolveDynamicRoute((0, _normalizelocalepath.normalizeLocalePath)((0, _removebasepath.removeBasePath)(parsedRewriteTarget.pathname), options.router.locales).pathname, pages) : fsPathname;\n if ((0, _isdynamic.isDynamicRoute)(resolvedHref)) {\n const matches = (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(resolvedHref))(as);\n Object.assign(parsedRewriteTarget.query, matches || {});\n }\n return {\n type: \"rewrite\",\n parsedAs: parsedRewriteTarget,\n resolvedHref\n };\n });\n }\n const src = (0, _parsepath.parsePath)(source);\n const pathname = (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n ...(0, _getnextpathnameinfo.getNextPathnameInfo)(src.pathname, {\n nextConfig,\n parseData: true\n }),\n defaultLocale: options.router.defaultLocale,\n buildId: \"\"\n });\n return Promise.resolve({\n type: \"redirect-external\",\n destination: \"\" + pathname + src.query + src.hash\n });\n }\n const redirectTarget = response.headers.get(\"x-nextjs-redirect\");\n if (redirectTarget) {\n if (redirectTarget.startsWith(\"/\")) {\n const src = (0, _parsepath.parsePath)(redirectTarget);\n const pathname = (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n ...(0, _getnextpathnameinfo.getNextPathnameInfo)(src.pathname, {\n nextConfig,\n parseData: true\n }),\n defaultLocale: options.router.defaultLocale,\n buildId: \"\"\n });\n return Promise.resolve({\n type: \"redirect-internal\",\n newAs: \"\" + pathname + src.query + src.hash,\n newUrl: \"\" + pathname + src.query + src.hash\n });\n }\n return Promise.resolve({\n type: \"redirect-external\",\n destination: redirectTarget\n });\n }\n return Promise.resolve({\n type: \"next\"\n });\n}\nasync function withMiddlewareEffects(options) {\n const matches = await matchesMiddleware(options);\n if (!matches || !options.fetchData) {\n return null;\n }\n const data = await options.fetchData();\n const effect = await getMiddlewareData(data.dataHref, data.response, options);\n return {\n dataHref: data.dataHref,\n json: data.json,\n response: data.response,\n text: data.text,\n cacheKey: data.cacheKey,\n effect\n };\n}\nconst manualScrollRestoration = false && 0;\nconst SSG_DATA_NOT_FOUND = Symbol(\"SSG_DATA_NOT_FOUND\");\nfunction fetchRetry(url, attempts, options) {\n return fetch(url, {\n // Cookies are required to be present for Next.js' SSG \"Preview Mode\".\n // Cookies may also be required for `getServerSideProps`.\n //\n // > `fetch` won’t send cookies, unless you set the credentials init\n // > option.\n // https://developer.mozilla.org/docs/Web/API/Fetch_API/Using_Fetch\n //\n // > For maximum browser compatibility when it comes to sending &\n // > receiving cookies, always supply the `credentials: 'same-origin'`\n // > option instead of relying on the default.\n // https://github.com/github/fetch#caveats\n credentials: \"same-origin\",\n method: options.method || \"GET\",\n headers: Object.assign({}, options.headers, {\n \"x-nextjs-data\": \"1\"\n })\n }).then((response)=>{\n return !response.ok && attempts > 1 && response.status >= 500 ? fetchRetry(url, attempts - 1, options) : response;\n });\n}\nfunction tryToParseAsJSON(text) {\n try {\n return JSON.parse(text);\n } catch (error) {\n return null;\n }\n}\nfunction fetchNextData(param) {\n let { dataHref, inflightCache, isPrefetch, hasMiddleware, isServerRender, parseJSON, persistCache, isBackground, unstable_skipClientCache } = param;\n const { href: cacheKey } = new URL(dataHref, window.location.href);\n const getData = (params)=>{\n var _params_method;\n return fetchRetry(dataHref, isServerRender ? 3 : 1, {\n headers: Object.assign({}, isPrefetch ? {\n purpose: \"prefetch\"\n } : {}, isPrefetch && hasMiddleware ? {\n \"x-middleware-prefetch\": \"1\"\n } : {}),\n method: (_params_method = params == null ? void 0 : params.method) != null ? _params_method : \"GET\"\n }).then((response)=>{\n if (response.ok && (params == null ? void 0 : params.method) === \"HEAD\") {\n return {\n dataHref,\n response,\n text: \"\",\n json: {},\n cacheKey\n };\n }\n return response.text().then((text)=>{\n if (!response.ok) {\n /**\n * When the data response is a redirect because of a middleware\n * we do not consider it an error. The headers must bring the\n * mapped location.\n * TODO: Change the status code in the handler.\n */ if (hasMiddleware && [\n 301,\n 302,\n 307,\n 308\n ].includes(response.status)) {\n return {\n dataHref,\n response,\n text,\n json: {},\n cacheKey\n };\n }\n if (response.status === 404) {\n var _tryToParseAsJSON;\n if ((_tryToParseAsJSON = tryToParseAsJSON(text)) == null ? void 0 : _tryToParseAsJSON.notFound) {\n return {\n dataHref,\n json: {\n notFound: SSG_DATA_NOT_FOUND\n },\n response,\n text,\n cacheKey\n };\n }\n }\n const error = new Error(\"Failed to load static props\");\n /**\n * We should only trigger a server-side transition if this was\n * caused on a client-side transition. Otherwise, we'd get into\n * an infinite loop.\n */ if (!isServerRender) {\n (0, _routeloader.markAssetError)(error);\n }\n throw error;\n }\n return {\n dataHref,\n json: parseJSON ? tryToParseAsJSON(text) : null,\n response,\n text,\n cacheKey\n };\n });\n }).then((data)=>{\n if (!persistCache || \"development\" !== \"production\" || 0) {\n delete inflightCache[cacheKey];\n }\n return data;\n }).catch((err)=>{\n if (!unstable_skipClientCache) {\n delete inflightCache[cacheKey];\n }\n if (err.message === \"Failed to fetch\" || // firefox\n err.message === \"NetworkError when attempting to fetch resource.\" || // safari\n err.message === \"Load failed\") {\n (0, _routeloader.markAssetError)(err);\n }\n throw err;\n });\n };\n // when skipping client cache we wait to update\n // inflight cache until successful data response\n // this allows racing click event with fetching newer data\n // without blocking navigation when stale data is available\n if (unstable_skipClientCache && persistCache) {\n return getData({}).then((data)=>{\n inflightCache[cacheKey] = Promise.resolve(data);\n return data;\n });\n }\n if (inflightCache[cacheKey] !== undefined) {\n return inflightCache[cacheKey];\n }\n return inflightCache[cacheKey] = getData(isBackground ? {\n method: \"HEAD\"\n } : {});\n}\nfunction createKey() {\n return Math.random().toString(36).slice(2, 10);\n}\nfunction handleHardNavigation(param) {\n let { url, router } = param;\n // ensure we don't trigger a hard navigation to the same\n // URL as this can end up with an infinite refresh\n if (url === (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(router.asPath, router.locale))) {\n throw new Error(\"Invariant: attempted to hard navigate to the same URL \" + url + \" \" + location.href);\n }\n window.location.href = url;\n}\nconst getCancelledHandler = (param)=>{\n let { route, router } = param;\n let cancelled = false;\n const cancel = router.clc = ()=>{\n cancelled = true;\n };\n const handleCancelled = ()=>{\n if (cancelled) {\n const error = new Error('Abort fetching component for route: \"' + route + '\"');\n error.cancelled = true;\n throw error;\n }\n if (cancel === router.clc) {\n router.clc = null;\n }\n };\n return handleCancelled;\n};\nclass Router {\n reload() {\n window.location.reload();\n }\n /**\n * Go back in history\n */ back() {\n window.history.back();\n }\n /**\n * Go forward in history\n */ forward() {\n window.history.forward();\n }\n /**\n * Performs a `pushState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */ push(url, as, options) {\n if (options === void 0) options = {};\n if (false) {}\n ({ url, as } = prepareUrlAs(this, url, as));\n return this.change(\"pushState\", url, as, options);\n }\n /**\n * Performs a `replaceState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */ replace(url, as, options) {\n if (options === void 0) options = {};\n ({ url, as } = prepareUrlAs(this, url, as));\n return this.change(\"replaceState\", url, as, options);\n }\n async _bfl(as, resolvedAs, locale, skipNavigate) {\n if (true) {\n let matchesBflStatic = false;\n let matchesBflDynamic = false;\n for (const curAs of [\n as,\n resolvedAs\n ]){\n if (curAs) {\n const asNoSlash = (0, _removetrailingslash.removeTrailingSlash)(new URL(curAs, \"http://n\").pathname);\n const asNoSlashLocale = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(asNoSlash, locale || this.locale));\n if (asNoSlash !== (0, _removetrailingslash.removeTrailingSlash)(new URL(this.asPath, \"http://n\").pathname)) {\n var _this__bfl_s, _this__bfl_s1;\n matchesBflStatic = matchesBflStatic || !!((_this__bfl_s = this._bfl_s) == null ? void 0 : _this__bfl_s.contains(asNoSlash)) || !!((_this__bfl_s1 = this._bfl_s) == null ? void 0 : _this__bfl_s1.contains(asNoSlashLocale));\n for (const normalizedAS of [\n asNoSlash,\n asNoSlashLocale\n ]){\n // if any sub-path of as matches a dynamic filter path\n // it should be hard navigated\n const curAsParts = normalizedAS.split(\"/\");\n for(let i = 0; !matchesBflDynamic && i < curAsParts.length + 1; i++){\n var _this__bfl_d;\n const currentPart = curAsParts.slice(0, i).join(\"/\");\n if (currentPart && ((_this__bfl_d = this._bfl_d) == null ? void 0 : _this__bfl_d.contains(currentPart))) {\n matchesBflDynamic = true;\n break;\n }\n }\n }\n // if the client router filter is matched then we trigger\n // a hard navigation\n if (matchesBflStatic || matchesBflDynamic) {\n if (skipNavigate) {\n return true;\n }\n handleHardNavigation({\n url: (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, locale || this.locale, this.defaultLocale)),\n router: this\n });\n return new Promise(()=>{});\n }\n }\n }\n }\n }\n return false;\n }\n async change(method, url, as, options, forcedScroll) {\n var _this_components_pathname;\n if (!(0, _islocalurl.isLocalURL)(url)) {\n handleHardNavigation({\n url,\n router: this\n });\n return false;\n }\n // WARNING: `_h` is an internal option for handing Next.js client-side\n // hydration. Your app should _never_ use this property. It may change at\n // any time without notice.\n const isQueryUpdating = options._h === 1;\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(as, undefined, options.locale);\n }\n let shouldResolveHref = isQueryUpdating || options._shouldResolveHref || (0, _parsepath.parsePath)(url).pathname === (0, _parsepath.parsePath)(as).pathname;\n const nextState = {\n ...this.state\n };\n // for static pages with query params in the URL we delay\n // marking the router ready until after the query is updated\n // or a navigation has occurred\n const readyStateChange = this.isReady !== true;\n this.isReady = true;\n const isSsr = this.isSsr;\n if (!isQueryUpdating) {\n this.isSsr = false;\n }\n // if a route transition is already in progress before\n // the query updating is triggered ignore query updating\n if (isQueryUpdating && this.clc) {\n return false;\n }\n const prevLocale = nextState.locale;\n if (false) { var _this_locales; }\n // marking route changes as a navigation start entry\n if (_utils.ST) {\n performance.mark(\"routeChange\");\n }\n const { shallow = false, scroll = true } = options;\n const routeProps = {\n shallow\n };\n if (this._inFlightRoute && this.clc) {\n if (!isSsr) {\n Router.events.emit(\"routeChangeError\", buildCancellationError(), this._inFlightRoute, routeProps);\n }\n this.clc();\n this.clc = null;\n }\n as = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)((0, _hasbasepath.hasBasePath)(as) ? (0, _removebasepath.removeBasePath)(as) : as, options.locale, this.defaultLocale));\n const cleanedAs = (0, _removelocale.removeLocale)((0, _hasbasepath.hasBasePath)(as) ? (0, _removebasepath.removeBasePath)(as) : as, nextState.locale);\n this._inFlightRoute = as;\n const localeChange = prevLocale !== nextState.locale;\n // If the url change is only related to a hash change\n // We should not proceed. We should only change the state.\n if (!isQueryUpdating && this.onlyAHashChange(cleanedAs) && !localeChange) {\n nextState.asPath = cleanedAs;\n Router.events.emit(\"hashChangeStart\", as, routeProps);\n // TODO: do we need the resolved href when only a hash change?\n this.changeState(method, url, as, {\n ...options,\n scroll: false\n });\n if (scroll) {\n this.scrollToHash(cleanedAs);\n }\n try {\n await this.set(nextState, this.components[nextState.route], null);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n Router.events.emit(\"routeChangeError\", err, cleanedAs, routeProps);\n }\n throw err;\n }\n Router.events.emit(\"hashChangeComplete\", as, routeProps);\n return true;\n }\n let parsed = (0, _parserelativeurl.parseRelativeUrl)(url);\n let { pathname, query } = parsed;\n // The build manifest needs to be loaded before auto-static dynamic pages\n // get their query parameters to allow ensuring they can be parsed properly\n // when rewritten to\n let pages, rewrites;\n try {\n [pages, { __rewrites: rewrites }] = await Promise.all([\n this.pageLoader.getPageList(),\n (0, _routeloader.getClientBuildManifest)(),\n this.pageLoader.getMiddleware()\n ]);\n } catch (err) {\n // If we fail to resolve the page list or client-build manifest, we must\n // do a server-side transition:\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n }\n // If asked to change the current URL we should reload the current page\n // (not location.reload() but reload getInitialProps and other Next.js stuffs)\n // We also need to set the method = replaceState always\n // as this should not go into the history (That's how browsers work)\n // We should compare the new asPath to the current asPath, not the url\n if (!this.urlIsNew(cleanedAs) && !localeChange) {\n method = \"replaceState\";\n }\n // we need to resolve the as value using rewrites for dynamic SSG\n // pages to allow building the data URL correctly\n let resolvedAs = as;\n // url and as should always be prefixed with basePath by this\n // point by either next/link or router.push/replace so strip the\n // basePath from the pathname to match the pages dir 1-to-1\n pathname = pathname ? (0, _removetrailingslash.removeTrailingSlash)((0, _removebasepath.removeBasePath)(pathname)) : pathname;\n let route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n const parsedAsPathname = as.startsWith(\"/\") && (0, _parserelativeurl.parseRelativeUrl)(as).pathname;\n // if we detected the path as app route during prefetching\n // trigger hard navigation\n if ((_this_components_pathname = this.components[pathname]) == null ? void 0 : _this_components_pathname.__appRouter) {\n handleHardNavigation({\n url: as,\n router: this\n });\n return new Promise(()=>{});\n }\n const isMiddlewareRewrite = !!(parsedAsPathname && route !== parsedAsPathname && (!(0, _isdynamic.isDynamicRoute)(route) || !(0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(route))(parsedAsPathname)));\n // we don't attempt resolve asPath when we need to execute\n // middleware as the resolving will occur server-side\n const isMiddlewareMatch = !options.shallow && await matchesMiddleware({\n asPath: as,\n locale: nextState.locale,\n router: this\n });\n if (isQueryUpdating && isMiddlewareMatch) {\n shouldResolveHref = false;\n }\n if (shouldResolveHref && pathname !== \"/_error\") {\n options._shouldResolveHref = true;\n if (false) {} else {\n parsed.pathname = resolveDynamicRoute(pathname, pages);\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname;\n parsed.pathname = (0, _addbasepath.addBasePath)(pathname);\n if (!isMiddlewareMatch) {\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n }\n }\n }\n if (!(0, _islocalurl.isLocalURL)(as)) {\n if (true) {\n throw new Error('Invalid href: \"' + url + '\" and as: \"' + as + '\", received relative href and external as' + \"\\nSee more info: https://nextjs.org/docs/messages/invalid-relative-url-external-as\");\n }\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n }\n resolvedAs = (0, _removelocale.removeLocale)((0, _removebasepath.removeBasePath)(resolvedAs), nextState.locale);\n route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n let routeMatch = false;\n if ((0, _isdynamic.isDynamicRoute)(route)) {\n const parsedAs = (0, _parserelativeurl.parseRelativeUrl)(resolvedAs);\n const asPathname = parsedAs.pathname;\n const routeRegex = (0, _routeregex.getRouteRegex)(route);\n routeMatch = (0, _routematcher.getRouteMatcher)(routeRegex)(asPathname);\n const shouldInterpolate = route === asPathname;\n const interpolatedAs = shouldInterpolate ? (0, _interpolateas.interpolateAs)(route, asPathname, query) : {};\n if (!routeMatch || shouldInterpolate && !interpolatedAs.result) {\n const missingParams = Object.keys(routeRegex.groups).filter((param)=>!query[param] && !routeRegex.groups[param].optional);\n if (missingParams.length > 0 && !isMiddlewareMatch) {\n if (true) {\n console.warn(\"\" + (shouldInterpolate ? \"Interpolating href\" : \"Mismatching `as` and `href`\") + \" failed to manually provide \" + (\"the params: \" + missingParams.join(\", \") + \" in the `href`'s `query`\"));\n }\n throw new Error((shouldInterpolate ? \"The provided `href` (\" + url + \") value is missing query values (\" + missingParams.join(\", \") + \") to be interpolated properly. \" : \"The provided `as` value (\" + asPathname + \") is incompatible with the `href` value (\" + route + \"). \") + (\"Read more: https://nextjs.org/docs/messages/\" + (shouldInterpolate ? \"href-interpolation-failed\" : \"incompatible-href-as\")));\n }\n } else if (shouldInterpolate) {\n as = (0, _formaturl.formatWithValidation)(Object.assign({}, parsedAs, {\n pathname: interpolatedAs.result,\n query: (0, _omit.omit)(query, interpolatedAs.params)\n }));\n } else {\n // Merge params into `query`, overwriting any specified in search\n Object.assign(query, routeMatch);\n }\n }\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeStart\", as, routeProps);\n }\n const isErrorRoute = this.pathname === \"/404\" || this.pathname === \"/_error\";\n try {\n var _self___NEXT_DATA___props_pageProps, _self___NEXT_DATA___props, _routeInfo_props;\n let routeInfo = await this.getRouteInfo({\n route,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps,\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n hasMiddleware: isMiddlewareMatch,\n unstable_skipClientCache: options.unstable_skipClientCache,\n isQueryUpdating: isQueryUpdating && !this.isFallback,\n isMiddlewareRewrite\n });\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(as, \"resolvedAs\" in routeInfo ? routeInfo.resolvedAs : undefined, nextState.locale);\n }\n if (\"route\" in routeInfo && isMiddlewareMatch) {\n pathname = routeInfo.route || route;\n route = pathname;\n if (!routeProps.shallow) {\n query = Object.assign({}, routeInfo.query || {}, query);\n }\n const cleanedParsedPathname = (0, _hasbasepath.hasBasePath)(parsed.pathname) ? (0, _removebasepath.removeBasePath)(parsed.pathname) : parsed.pathname;\n if (routeMatch && pathname !== cleanedParsedPathname) {\n Object.keys(routeMatch).forEach((key)=>{\n if (routeMatch && query[key] === routeMatch[key]) {\n delete query[key];\n }\n });\n }\n if ((0, _isdynamic.isDynamicRoute)(pathname)) {\n const prefixedAs = !routeProps.shallow && routeInfo.resolvedAs ? routeInfo.resolvedAs : (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(new URL(as, location.href).pathname, nextState.locale), true);\n let rewriteAs = prefixedAs;\n if ((0, _hasbasepath.hasBasePath)(rewriteAs)) {\n rewriteAs = (0, _removebasepath.removeBasePath)(rewriteAs);\n }\n if (false) {}\n const routeRegex = (0, _routeregex.getRouteRegex)(pathname);\n const curRouteMatch = (0, _routematcher.getRouteMatcher)(routeRegex)(new URL(rewriteAs, location.href).pathname);\n if (curRouteMatch) {\n Object.assign(query, curRouteMatch);\n }\n }\n }\n // If the routeInfo brings a redirect we simply apply it.\n if (\"type\" in routeInfo) {\n if (routeInfo.type === \"redirect-internal\") {\n return this.change(method, routeInfo.newUrl, routeInfo.newAs, options);\n } else {\n handleHardNavigation({\n url: routeInfo.destination,\n router: this\n });\n return new Promise(()=>{});\n }\n }\n const component = routeInfo.Component;\n if (component && component.unstable_scriptLoader) {\n const scripts = [].concat(component.unstable_scriptLoader());\n scripts.forEach((script)=>{\n (0, _script.handleClientScriptLoad)(script.props);\n });\n }\n // handle redirect on client-transition\n if ((routeInfo.__N_SSG || routeInfo.__N_SSP) && routeInfo.props) {\n if (routeInfo.props.pageProps && routeInfo.props.pageProps.__N_REDIRECT) {\n // Use the destination from redirect without adding locale\n options.locale = false;\n const destination = routeInfo.props.pageProps.__N_REDIRECT;\n // check if destination is internal (resolves to a page) and attempt\n // client-navigation if it is falling back to hard navigation if\n // it's not\n if (destination.startsWith(\"/\") && routeInfo.props.pageProps.__N_REDIRECT_BASE_PATH !== false) {\n const parsedHref = (0, _parserelativeurl.parseRelativeUrl)(destination);\n parsedHref.pathname = resolveDynamicRoute(parsedHref.pathname, pages);\n const { url: newUrl, as: newAs } = prepareUrlAs(this, destination, destination);\n return this.change(method, newUrl, newAs, options);\n }\n handleHardNavigation({\n url: destination,\n router: this\n });\n return new Promise(()=>{});\n }\n nextState.isPreview = !!routeInfo.props.__N_PREVIEW;\n // handle SSG data 404\n if (routeInfo.props.notFound === SSG_DATA_NOT_FOUND) {\n let notFoundRoute;\n try {\n await this.fetchComponent(\"/404\");\n notFoundRoute = \"/404\";\n } catch (_) {\n notFoundRoute = \"/_error\";\n }\n routeInfo = await this.getRouteInfo({\n route: notFoundRoute,\n pathname: notFoundRoute,\n query,\n as,\n resolvedAs,\n routeProps: {\n shallow: false\n },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isNotFound: true\n });\n if (\"type\" in routeInfo) {\n throw new Error(\"Unexpected middleware effect on /404\");\n }\n }\n }\n if (isQueryUpdating && this.pathname === \"/_error\" && ((_self___NEXT_DATA___props = self.__NEXT_DATA__.props) == null ? void 0 : (_self___NEXT_DATA___props_pageProps = _self___NEXT_DATA___props.pageProps) == null ? void 0 : _self___NEXT_DATA___props_pageProps.statusCode) === 500 && ((_routeInfo_props = routeInfo.props) == null ? void 0 : _routeInfo_props.pageProps)) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500;\n }\n var _routeInfo_route;\n // shallow routing is only allowed for same page URL changes.\n const isValidShallowRoute = options.shallow && nextState.route === ((_routeInfo_route = routeInfo.route) != null ? _routeInfo_route : route);\n var _options_scroll;\n const shouldScroll = (_options_scroll = options.scroll) != null ? _options_scroll : !isQueryUpdating && !isValidShallowRoute;\n const resetScroll = shouldScroll ? {\n x: 0,\n y: 0\n } : null;\n const upcomingScrollState = forcedScroll != null ? forcedScroll : resetScroll;\n // the new state that the router gonna set\n const upcomingRouterState = {\n ...nextState,\n route,\n pathname,\n query,\n asPath: cleanedAs,\n isFallback: false\n };\n // When the page being rendered is the 404 page, we should only update the\n // query parameters. Route changes here might add the basePath when it\n // wasn't originally present. This is also why this block is before the\n // below `changeState` call which updates the browser's history (changing\n // the URL).\n if (isQueryUpdating && isErrorRoute) {\n var _self___NEXT_DATA___props_pageProps1, _self___NEXT_DATA___props1, _routeInfo_props1;\n routeInfo = await this.getRouteInfo({\n route: this.pathname,\n pathname: this.pathname,\n query,\n as,\n resolvedAs,\n routeProps: {\n shallow: false\n },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isQueryUpdating: isQueryUpdating && !this.isFallback\n });\n if (\"type\" in routeInfo) {\n throw new Error(\"Unexpected middleware effect on \" + this.pathname);\n }\n if (this.pathname === \"/_error\" && ((_self___NEXT_DATA___props1 = self.__NEXT_DATA__.props) == null ? void 0 : (_self___NEXT_DATA___props_pageProps1 = _self___NEXT_DATA___props1.pageProps) == null ? void 0 : _self___NEXT_DATA___props_pageProps1.statusCode) === 500 && ((_routeInfo_props1 = routeInfo.props) == null ? void 0 : _routeInfo_props1.pageProps)) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500;\n }\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n Router.events.emit(\"routeChangeError\", err, cleanedAs, routeProps);\n }\n throw err;\n }\n return true;\n }\n Router.events.emit(\"beforeHistoryChange\", as, routeProps);\n this.changeState(method, url, as, options);\n // for query updates we can skip it if the state is unchanged and we don't\n // need to scroll\n // https://github.com/vercel/next.js/issues/37139\n const canSkipUpdating = isQueryUpdating && !upcomingScrollState && !readyStateChange && !localeChange && (0, _comparestates.compareRouterStates)(upcomingRouterState, this.state);\n if (!canSkipUpdating) {\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState);\n } catch (e) {\n if (e.cancelled) routeInfo.error = routeInfo.error || e;\n else throw e;\n }\n if (routeInfo.error) {\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeError\", routeInfo.error, cleanedAs, routeProps);\n }\n throw routeInfo.error;\n }\n if (false) {}\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeComplete\", as, routeProps);\n }\n // A hash mark # is the optional last part of a URL\n const hashRegex = /#.+$/;\n if (shouldScroll && hashRegex.test(as)) {\n this.scrollToHash(as);\n }\n }\n return true;\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n return false;\n }\n throw err;\n }\n }\n changeState(method, url, as, options) {\n if (options === void 0) options = {};\n if (true) {\n if (typeof window.history === \"undefined\") {\n console.error(\"Warning: window.history is not available.\");\n return;\n }\n if (typeof window.history[method] === \"undefined\") {\n console.error(\"Warning: window.history.\" + method + \" is not available\");\n return;\n }\n }\n if (method !== \"pushState\" || (0, _utils.getURL)() !== as) {\n this._shallow = options.shallow;\n window.history[method]({\n url,\n as,\n options,\n __N: true,\n key: this._key = method !== \"pushState\" ? this._key : createKey()\n }, // Passing the empty string here should be safe against future changes to the method.\n // https://developer.mozilla.org/docs/Web/API/History/replaceState\n \"\", as);\n }\n }\n async handleRouteInfoError(err, pathname, query, as, routeProps, loadErrorFail) {\n console.error(err);\n if (err.cancelled) {\n // bubble up cancellation errors\n throw err;\n }\n if ((0, _routeloader.isAssetError)(err) || loadErrorFail) {\n Router.events.emit(\"routeChangeError\", err, as, routeProps);\n // If we can't load the page it could be one of following reasons\n // 1. Page doesn't exists\n // 2. Page does exist in a different zone\n // 3. Internal error while loading the page\n // So, doing a hard reload is the proper way to deal with this.\n handleHardNavigation({\n url: as,\n router: this\n });\n // Changing the URL doesn't block executing the current code path.\n // So let's throw a cancellation error stop the routing logic.\n throw buildCancellationError();\n }\n try {\n let props;\n const { page: Component, styleSheets } = await this.fetchComponent(\"/_error\");\n const routeInfo = {\n props,\n Component,\n styleSheets,\n err,\n error: err\n };\n if (!routeInfo.props) {\n try {\n routeInfo.props = await this.getInitialProps(Component, {\n err,\n pathname,\n query\n });\n } catch (gipErr) {\n console.error(\"Error in error page `getInitialProps`: \", gipErr);\n routeInfo.props = {};\n }\n }\n return routeInfo;\n } catch (routeInfoErr) {\n return this.handleRouteInfoError((0, _iserror.default)(routeInfoErr) ? routeInfoErr : new Error(routeInfoErr + \"\"), pathname, query, as, routeProps, true);\n }\n }\n async getRouteInfo(param) {\n let { route: requestedRoute, pathname, query, as, resolvedAs, routeProps, locale, hasMiddleware, isPreview, unstable_skipClientCache, isQueryUpdating, isMiddlewareRewrite, isNotFound } = param;\n /**\n * This `route` binding can change if there's a rewrite\n * so we keep a reference to the original requested route\n * so we can store the cache for it and avoid re-requesting every time\n * for shallow routing purposes.\n */ let route = requestedRoute;\n try {\n var _data_effect, _data_effect1, _data_effect2, _data_response;\n let existingInfo = this.components[route];\n if (routeProps.shallow && existingInfo && this.route === route) {\n return existingInfo;\n }\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n if (hasMiddleware) {\n existingInfo = undefined;\n }\n let cachedRouteInfo = existingInfo && !(\"initial\" in existingInfo) && \"development\" !== \"development\" ? 0 : undefined;\n const isBackground = isQueryUpdating;\n const fetchNextDataParams = {\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname,\n query\n }),\n skipInterpolation: true,\n asPath: isNotFound ? \"/404\" : resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: isBackground ? this.sbc : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache,\n isBackground\n };\n let data = isQueryUpdating && !isMiddlewareRewrite ? null : await withMiddlewareEffects({\n fetchData: ()=>fetchNextData(fetchNextDataParams),\n asPath: isNotFound ? \"/404\" : resolvedAs,\n locale: locale,\n router: this\n }).catch((err)=>{\n // we don't hard error during query updating\n // as it's un-necessary and doesn't need to be fatal\n // unless it is a fallback route and the props can't\n // be loaded\n if (isQueryUpdating) {\n return null;\n }\n throw err;\n });\n // when rendering error routes we don't apply middleware\n // effects\n if (data && (pathname === \"/_error\" || pathname === \"/404\")) {\n data.effect = undefined;\n }\n if (isQueryUpdating) {\n if (!data) {\n data = {\n json: self.__NEXT_DATA__.props\n };\n } else {\n data.json = self.__NEXT_DATA__.props;\n }\n }\n handleCancelled();\n if ((data == null ? void 0 : (_data_effect = data.effect) == null ? void 0 : _data_effect.type) === \"redirect-internal\" || (data == null ? void 0 : (_data_effect1 = data.effect) == null ? void 0 : _data_effect1.type) === \"redirect-external\") {\n return data.effect;\n }\n if ((data == null ? void 0 : (_data_effect2 = data.effect) == null ? void 0 : _data_effect2.type) === \"rewrite\") {\n const resolvedRoute = (0, _removetrailingslash.removeTrailingSlash)(data.effect.resolvedHref);\n const pages = await this.pageLoader.getPageList();\n // during query updating the page must match although during\n // client-transition a redirect that doesn't match a page\n // can be returned and this should trigger a hard navigation\n // which is valid for incremental migration\n if (!isQueryUpdating || pages.includes(resolvedRoute)) {\n route = resolvedRoute;\n pathname = data.effect.resolvedHref;\n query = {\n ...query,\n ...data.effect.parsedAs.query\n };\n resolvedAs = (0, _removebasepath.removeBasePath)((0, _normalizelocalepath.normalizeLocalePath)(data.effect.parsedAs.pathname, this.locales).pathname);\n // Check again the cache with the new destination.\n existingInfo = this.components[route];\n if (routeProps.shallow && existingInfo && this.route === route && !hasMiddleware) {\n // If we have a match with the current route due to rewrite,\n // we can copy the existing information to the rewritten one.\n // Then, we return the information along with the matched route.\n return {\n ...existingInfo,\n route\n };\n }\n }\n }\n if ((0, _isapiroute.isAPIRoute)(route)) {\n handleHardNavigation({\n url: as,\n router: this\n });\n return new Promise(()=>{});\n }\n const routeInfo = cachedRouteInfo || await this.fetchComponent(route).then((res)=>({\n Component: res.page,\n styleSheets: res.styleSheets,\n __N_SSG: res.mod.__N_SSG,\n __N_SSP: res.mod.__N_SSP\n }));\n if (true) {\n const { isValidElementType } = __webpack_require__(/*! next/dist/compiled/react-is */ \"./node_modules/next/dist/compiled/react-is/index.js\");\n if (!isValidElementType(routeInfo.Component)) {\n throw new Error('The default export is not a React Component in page: \"' + pathname + '\"');\n }\n }\n const wasBailedPrefetch = data == null ? void 0 : (_data_response = data.response) == null ? void 0 : _data_response.headers.get(\"x-middleware-skip\");\n const shouldFetchData = routeInfo.__N_SSG || routeInfo.__N_SSP;\n // For non-SSG prefetches that bailed before sending data\n // we clear the cache to fetch full response\n if (wasBailedPrefetch && (data == null ? void 0 : data.dataHref)) {\n delete this.sdc[data.dataHref];\n }\n const { props, cacheKey } = await this._getData(async ()=>{\n if (shouldFetchData) {\n if ((data == null ? void 0 : data.json) && !wasBailedPrefetch) {\n return {\n cacheKey: data.cacheKey,\n props: data.json\n };\n }\n const dataHref = (data == null ? void 0 : data.dataHref) ? data.dataHref : this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname,\n query\n }),\n asPath: resolvedAs,\n locale\n });\n const fetched = await fetchNextData({\n dataHref,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: wasBailedPrefetch ? {} : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache\n });\n return {\n cacheKey: fetched.cacheKey,\n props: fetched.json || {}\n };\n }\n return {\n headers: {},\n props: await this.getInitialProps(routeInfo.Component, {\n pathname,\n query,\n asPath: as,\n locale,\n locales: this.locales,\n defaultLocale: this.defaultLocale\n })\n };\n });\n // Only bust the data cache for SSP routes although\n // middleware can skip cache per request with\n // x-middleware-cache: no-cache as well\n if (routeInfo.__N_SSP && fetchNextDataParams.dataHref && cacheKey) {\n delete this.sdc[cacheKey];\n }\n // we kick off a HEAD request in the background\n // when a non-prefetch request is made to signal revalidation\n if (!this.isPreview && routeInfo.__N_SSG && \"development\" !== \"development\" && 0) {}\n props.pageProps = Object.assign({}, props.pageProps);\n routeInfo.props = props;\n routeInfo.route = route;\n routeInfo.query = query;\n routeInfo.resolvedAs = resolvedAs;\n this.components[route] = routeInfo;\n return routeInfo;\n } catch (err) {\n return this.handleRouteInfoError((0, _iserror.getProperError)(err), pathname, query, as, routeProps);\n }\n }\n set(state, data, resetScroll) {\n this.state = state;\n return this.sub(data, this.components[\"/_app\"].Component, resetScroll);\n }\n /**\n * Callback to execute before replacing router state\n * @param cb callback to be executed\n */ beforePopState(cb) {\n this._bps = cb;\n }\n onlyAHashChange(as) {\n if (!this.asPath) return false;\n const [oldUrlNoHash, oldHash] = this.asPath.split(\"#\", 2);\n const [newUrlNoHash, newHash] = as.split(\"#\", 2);\n // Makes sure we scroll to the provided hash if the url/hash are the same\n if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {\n return true;\n }\n // If the urls are change, there's more than a hash change\n if (oldUrlNoHash !== newUrlNoHash) {\n return false;\n }\n // If the hash has changed, then it's a hash only change.\n // This check is necessary to handle both the enter and\n // leave hash === '' cases. The identity case falls through\n // and is treated as a next reload.\n return oldHash !== newHash;\n }\n scrollToHash(as) {\n const [, hash = \"\"] = as.split(\"#\", 2);\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // Scroll to top if the hash is just `#` with no value or `#top`\n // To mirror browsers\n if (hash === \"\" || hash === \"top\") {\n window.scrollTo(0, 0);\n return;\n }\n // Decode hash to make non-latin anchor works.\n const rawHash = decodeURIComponent(hash);\n // First we check if the element by id is found\n const idEl = document.getElementById(rawHash);\n if (idEl) {\n idEl.scrollIntoView();\n return;\n }\n // If there's no element with the id, we check the `name` property\n // To mirror browsers\n const nameEl = document.getElementsByName(rawHash)[0];\n if (nameEl) {\n nameEl.scrollIntoView();\n }\n }, {\n onlyHashChange: this.onlyAHashChange(as)\n });\n }\n urlIsNew(asPath) {\n return this.asPath !== asPath;\n }\n /**\n * Prefetch page code, you may wait for the data during page rendering.\n * This feature only works in production!\n * @param url the href of prefetched page\n * @param asPath the as path of the prefetched page\n */ async prefetch(url, asPath, options) {\n if (asPath === void 0) asPath = url;\n if (options === void 0) options = {};\n // Prefetch is not supported in development mode because it would trigger on-demand-entries\n if (true) {\n return;\n }\n if ( true && (0, _isbot.isBot)(window.navigator.userAgent)) {\n // No prefetches for bots that render the link since they are typically navigating\n // links via the equivalent of a hard navigation and hence never utilize these\n // prefetches.\n return;\n }\n let parsed = (0, _parserelativeurl.parseRelativeUrl)(url);\n const urlPathname = parsed.pathname;\n let { pathname, query } = parsed;\n const originalPathname = pathname;\n if (false) {}\n const pages = await this.pageLoader.getPageList();\n let resolvedAs = asPath;\n const locale = typeof options.locale !== \"undefined\" ? options.locale || undefined : this.locale;\n const isMiddlewareMatch = await matchesMiddleware({\n asPath: asPath,\n locale: locale,\n router: this\n });\n if (false) {}\n parsed.pathname = resolveDynamicRoute(parsed.pathname, pages);\n if ((0, _isdynamic.isDynamicRoute)(parsed.pathname)) {\n pathname = parsed.pathname;\n parsed.pathname = pathname;\n Object.assign(query, (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(parsed.pathname))((0, _parsepath.parsePath)(asPath).pathname) || {});\n if (!isMiddlewareMatch) {\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n }\n const data = false ? 0 : await withMiddlewareEffects({\n fetchData: ()=>fetchNextData({\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname: originalPathname,\n query\n }),\n skipInterpolation: true,\n asPath: resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true\n }),\n asPath: asPath,\n locale: locale,\n router: this\n });\n /**\n * If there was a rewrite we apply the effects of the rewrite on the\n * current parameters for the prefetch.\n */ if ((data == null ? void 0 : data.effect.type) === \"rewrite\") {\n parsed.pathname = data.effect.resolvedHref;\n pathname = data.effect.resolvedHref;\n query = {\n ...query,\n ...data.effect.parsedAs.query\n };\n resolvedAs = data.effect.parsedAs.pathname;\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n /**\n * If there is a redirect to an external destination then we don't have\n * to prefetch content as it will be unused.\n */ if ((data == null ? void 0 : data.effect.type) === \"redirect-external\") {\n return;\n }\n const route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n if (await this._bfl(asPath, resolvedAs, options.locale, true)) {\n this.components[urlPathname] = {\n __appRouter: true\n };\n }\n await Promise.all([\n this.pageLoader._isSsg(route).then((isSsg)=>{\n return isSsg ? fetchNextData({\n dataHref: (data == null ? void 0 : data.json) ? data == null ? void 0 : data.dataHref : this.pageLoader.getDataHref({\n href: url,\n asPath: resolvedAs,\n locale: locale\n }),\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true,\n unstable_skipClientCache: options.unstable_skipClientCache || options.priority && !!true\n }).then(()=>false).catch(()=>false) : false;\n }),\n this.pageLoader[options.priority ? \"loadPage\" : \"prefetch\"](route)\n ]);\n }\n async fetchComponent(route) {\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n try {\n const componentResult = await this.pageLoader.loadPage(route);\n handleCancelled();\n return componentResult;\n } catch (err) {\n handleCancelled();\n throw err;\n }\n }\n _getData(fn) {\n let cancelled = false;\n const cancel = ()=>{\n cancelled = true;\n };\n this.clc = cancel;\n return fn().then((data)=>{\n if (cancel === this.clc) {\n this.clc = null;\n }\n if (cancelled) {\n const err = new Error(\"Loading initial props cancelled\");\n err.cancelled = true;\n throw err;\n }\n return data;\n });\n }\n _getFlightData(dataHref) {\n // Do not cache RSC flight response since it's not a static resource\n return fetchNextData({\n dataHref,\n isServerRender: true,\n parseJSON: false,\n inflightCache: this.sdc,\n persistCache: false,\n isPrefetch: false\n }).then((param)=>{\n let { text } = param;\n return {\n data: text\n };\n });\n }\n getInitialProps(Component, ctx) {\n const { Component: App } = this.components[\"/_app\"];\n const AppTree = this._wrapApp(App);\n ctx.AppTree = AppTree;\n return (0, _utils.loadGetInitialProps)(App, {\n AppTree,\n Component,\n router: this,\n ctx\n });\n }\n get route() {\n return this.state.route;\n }\n get pathname() {\n return this.state.pathname;\n }\n get query() {\n return this.state.query;\n }\n get asPath() {\n return this.state.asPath;\n }\n get locale() {\n return this.state.locale;\n }\n get isFallback() {\n return this.state.isFallback;\n }\n get isPreview() {\n return this.state.isPreview;\n }\n constructor(pathname, query, as, { initialProps, pageLoader, App, wrapApp, Component, err, subscription, isFallback, locale, locales, defaultLocale, domainLocales, isPreview }){\n // Server Data Cache (full data requests)\n this.sdc = {};\n // Server Background Cache (HEAD requests)\n this.sbc = {};\n this.isFirstPopStateEvent = true;\n this._key = createKey();\n this.onPopState = (e)=>{\n const { isFirstPopStateEvent } = this;\n this.isFirstPopStateEvent = false;\n const state = e.state;\n if (!state) {\n // We get state as undefined for two reasons.\n // 1. With older safari (< 8) and older chrome (< 34)\n // 2. When the URL changed with #\n //\n // In the both cases, we don't need to proceed and change the route.\n // (as it's already changed)\n // But we can simply replace the state with the new changes.\n // Actually, for (1) we don't need to nothing. But it's hard to detect that event.\n // So, doing the following for (1) does no harm.\n const { pathname, query } = this;\n this.changeState(\"replaceState\", (0, _formaturl.formatWithValidation)({\n pathname: (0, _addbasepath.addBasePath)(pathname),\n query\n }), (0, _utils.getURL)());\n return;\n }\n // __NA is used to identify if the history entry can be handled by the app-router.\n if (state.__NA) {\n window.location.reload();\n return;\n }\n if (!state.__N) {\n return;\n }\n // Safari fires popstateevent when reopening the browser.\n if (isFirstPopStateEvent && this.locale === state.options.locale && state.as === this.asPath) {\n return;\n }\n let forcedScroll;\n const { url, as, options, key } = state;\n if (false) {}\n this._key = key;\n const { pathname } = (0, _parserelativeurl.parseRelativeUrl)(url);\n // Make sure we don't re-render on initial load,\n // can be caused by navigating back from an external site\n if (this.isSsr && as === (0, _addbasepath.addBasePath)(this.asPath) && pathname === (0, _addbasepath.addBasePath)(this.pathname)) {\n return;\n }\n // If the downstream application returns falsy, return.\n // They will then be responsible for handling the event.\n if (this._bps && !this._bps(state)) {\n return;\n }\n this.change(\"replaceState\", url, as, Object.assign({}, options, {\n shallow: options.shallow && this._shallow,\n locale: options.locale || this.defaultLocale,\n // @ts-ignore internal value not exposed on types\n _h: 0\n }), forcedScroll);\n };\n // represents the current component key\n const route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n // set up the component cache (by route keys)\n this.components = {};\n // We should not keep the cache, if there's an error\n // Otherwise, this cause issues when when going back and\n // come again to the errored page.\n if (pathname !== \"/_error\") {\n this.components[route] = {\n Component,\n initial: true,\n props: initialProps,\n err,\n __N_SSG: initialProps && initialProps.__N_SSG,\n __N_SSP: initialProps && initialProps.__N_SSP\n };\n }\n this.components[\"/_app\"] = {\n Component: App,\n styleSheets: []\n };\n if (true) {\n const { BloomFilter } = __webpack_require__(/*! ../../lib/bloom-filter */ \"./node_modules/next/dist/shared/lib/bloom-filter.js\");\n const routerFilterSValue = false;\n const staticFilterData = routerFilterSValue ? routerFilterSValue : undefined;\n const routerFilterDValue = false;\n const dynamicFilterData = routerFilterDValue ? routerFilterDValue : undefined;\n if (staticFilterData == null ? void 0 : staticFilterData.numHashes) {\n this._bfl_s = new BloomFilter(staticFilterData.numItems, staticFilterData.errorRate);\n this._bfl_s.import(staticFilterData);\n }\n if (dynamicFilterData == null ? void 0 : dynamicFilterData.numHashes) {\n this._bfl_d = new BloomFilter(dynamicFilterData.numItems, dynamicFilterData.errorRate);\n this._bfl_d.import(dynamicFilterData);\n }\n }\n // Backwards compat for Router.router.events\n // TODO: Should be remove the following major version as it was never documented\n this.events = Router.events;\n this.pageLoader = pageLoader;\n // if auto prerendered and dynamic route wait to update asPath\n // until after mount to prevent hydration mismatch\n const autoExportDynamic = (0, _isdynamic.isDynamicRoute)(pathname) && self.__NEXT_DATA__.autoExport;\n this.basePath = false || \"\";\n this.sub = subscription;\n this.clc = null;\n this._wrapApp = wrapApp;\n // make sure to ignore extra popState in safari on navigating\n // back from external site\n this.isSsr = true;\n this.isLocaleDomain = false;\n this.isReady = !!(self.__NEXT_DATA__.gssp || self.__NEXT_DATA__.gip || self.__NEXT_DATA__.isExperimentalCompile || self.__NEXT_DATA__.appGip && !self.__NEXT_DATA__.gsp || !autoExportDynamic && !self.location.search && !false);\n if (false) {}\n this.state = {\n route,\n pathname,\n query,\n asPath: autoExportDynamic ? pathname : as,\n isPreview: !!isPreview,\n locale: false ? 0 : undefined,\n isFallback\n };\n this._initialMatchesMiddlewarePromise = Promise.resolve(false);\n if (true) {\n // make sure \"as\" doesn't start with double slashes or else it can\n // throw an error as it's considered invalid\n if (!as.startsWith(\"//\")) {\n // in order for `e.state` to work on the `onpopstate` event\n // we have to register the initial route upon initialization\n const options = {\n locale\n };\n const asPath = (0, _utils.getURL)();\n this._initialMatchesMiddlewarePromise = matchesMiddleware({\n router: this,\n locale,\n asPath\n }).then((matches)=>{\n options._shouldResolveHref = as !== pathname;\n this.changeState(\"replaceState\", matches ? asPath : (0, _formaturl.formatWithValidation)({\n pathname: (0, _addbasepath.addBasePath)(pathname),\n query\n }), asPath, options);\n return matches;\n });\n }\n window.addEventListener(\"popstate\", this.onPopState);\n // enable custom scroll restoration handling when available\n // otherwise fallback to browser's default handling\n if (false) {}\n }\n }\n}\nRouter.events = (0, _mitt.default)(); //# sourceMappingURL=router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3JvdXRlci5qcyIsIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7Ozs7Ozs7Ozs7Ozs7SUErbEJaQSxXQUFTO2VBQVRBOzs7ZUFpREtDOztJQXZqQkNDLG1CQUFpQjtlQUFqQkE7Ozs7O2lEQS9FYzt5Q0FLN0I7b0NBQ2dDOytFQUNDO2lEQUNKO2lEQUNBOzJFQUNuQjttQ0FDa0Q7dUNBQ3BDOzhDQUNFO3NGQUNMOzBDQUNJO3dDQUNGO3VDQUNPO2dEQUNGO3VDQUNUO3VDQUNBOzBDQUNHOzRDQUNFO3lDQUNIO3lDQUNBO3lDQUNBO3dDQUNEO2lEQUNTO29EQUNHOzJDQUNIO3dDQUNUO21DQUNMO2tDQUNEOzJDQUNTO2dEQUNLO0FBZ0NuQyxTQUFTQztJQUNQLE9BQU9DLE9BQU9DLE1BQU0sQ0FBQyxJQUFJQyxNQUFNLG9CQUFvQjtRQUNqREMsV0FBVztJQUNiO0FBQ0Y7QUFTTyxlQUFlTCxrQkFDcEJNLE9BQWtDO0lBRWxDLE1BQU1DLFdBQVcsTUFBTUMsUUFBUUMsT0FBTyxDQUNwQ0gsUUFBUUksTUFBTSxDQUFDQyxVQUFVLENBQUNDLGFBQWE7SUFFekMsSUFBSSxDQUFDTCxVQUFVLE9BQU87SUFFdEIsTUFBTSxFQUFFTSxVQUFVQyxVQUFVLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBUyxFQUFDVCxRQUFRVSxNQUFNO0lBQ3pELDZGQUE2RjtJQUM3RixNQUFNQyxZQUFZQyxDQUFBQSxHQUFBQSxhQUFBQSxXQUFXLEVBQUNKLGNBQzFCSyxDQUFBQSxHQUFBQSxnQkFBQUEsY0FBYyxFQUFDTCxjQUNmQTtJQUNKLE1BQU1NLDBCQUEwQkMsQ0FBQUEsR0FBQUEsYUFBQUEsV0FBVyxFQUN6Q0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBUyxFQUFDTCxXQUFXWCxRQUFRaUIsTUFBTTtJQUdyQywyRUFBMkU7SUFDM0UsdUVBQXVFO0lBQ3ZFLE9BQU9oQixTQUFTaUIsSUFBSSxDQUFDLENB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QUFBLEdBQUFBLE1BQUFBLE9BQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvcm91dGVyLnRzP2VkZmYiXSwibmFtZXMiOlsiY3JlYXRlS2V5IiwiUm91dGVyIiwibWF0Y2hlc01pZGRsZXdhcmUiLCJidWlsZENhbmNlbGxhdGlvbkVycm9yIiwiT2JqZWN0IiwiYXNzaWduIiwiRXJyb3IiLCJjYW5jZWxsZWQiLCJvcHRpb25zIiwibWF0Y2hlcnMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJvdXRlciIsInBhZ2VMb2FkZXIiLCJnZXRNaWRkbGV3YXJlIiwicGF0aG5hbWUiLCJhc1BhdGhuYW1lIiwicGFyc2VQYXRoIiwiYXNQYXRoIiwiY2xlYW5lZEFzIiwiaGFzQmFzZVBhdGgiLCJyZW1vdmVCYXNlUGF0aCIsImFzV2l0aEJhc2VQYXRoQW5kTG9jYWxlIiwiYWRkQmFzZVBhdGgiLCJhZGRMb2NhbGUiLCJsb2NhbGUiLCJzb21lIiwibSIsIlJlZ0V4cCIsInJlZ2V4cCIsInRlc3QiLCJzdHJpcE9yaWdpbiIsInVybCIsIm9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwic3RhcnRzV2l0aCIsInN1YnN0cmluZyIsImxlbmd0aCIsInByZXBhcmVVcmxBcyIsImFzIiwicmVzb2x2ZWRIcmVmIiwicmVzb2x2ZWRBcyIsInJlc29sdmVIcmVmIiwiaHJlZldhc0Fic29sdXRlIiwiYXNXYXNBYnNvbHV0ZSIsInByZXBhcmVkVXJsIiwicHJlcGFyZWRBcyIsInJlc29sdmVEeW5hbWljUm91dGUiLCJwYWdlcyIsImNsZWFuUGF0aG5hbWUiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwiZGVub3JtYWxpemVQYWdlUGF0aCIsImluY2x1ZGVzIiwicGFnZSIsImlzRHluYW1pY1JvdXRlIiwiZ2V0Um91dGVSZWdleCIsInJlIiwiZ2V0TWlkZGxld2FyZURhdGEiLCJzb3VyY2UiLCJyZXNwb25zZSIsIm5leHRDb25maWciLCJiYXNlUGF0aCIsImkxOG4iLCJsb2NhbGVzIiwidHJhaWxpbmdTbGFzaCIsIkJvb2xlYW4iLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1RSQUlMSU5HX1NMQVNIIiwicmV3cml0ZUhlYWRlciIsImhlYWRlcnMiLCJnZXQiLCJyZXdyaXRlVGFyZ2V0IiwibWF0Y2hlZFBhdGgiLCJfX05FWFRfRVhURVJOQUxfTUlERExFV0FSRV9SRVdSSVRFX1JFU09MVkUiLCJwYXJzZWRSZXdyaXRlVGFyZ2V0IiwicGFyc2VSZWxhdGl2ZVVybCIsInBhdGhuYW1lSW5mbyIsImdldE5leHRQYXRobmFtZUluZm8iLCJwYXJzZURhdGEiLCJmc1BhdGhuYW1lIiwiYWxsIiwiZ2V0UGFnZUxpc3QiLCJnZXRDbGllbnRCdWlsZE1hbmlmZXN0IiwidGhlbiIsInBhcmFtIiwiX19yZXdyaXRlcyIsInJld3JpdGVzIiwibm9ybWFsaXplTG9jYWxlUGF0aCIsInBhcnNlZFNvdXJjZSIsIl9fTkVYVF9IQVNfUkVXUklURVMiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJyZXNvbHZlUmV3cml0ZXMiLCJxdWVyeSIsInBhdGgiLCJtYXRjaGVkUGFnZSIsInBhcnNlZEFzIiwicmVzb2x2ZWRQYXRobmFtZSIsIm1hdGNoZXMiLCJnZXRSb3V0ZU1hdGNoZXIiLCJ0eXBlIiwic3JjIiwiZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyIsImRlZmF1bHRMb2NhbGUiLCJidWlsZElkIiwiZGVzdGluYXRpb24iLCJoYXNoIiwicmVkaXJlY3RUYXJnZXQiLCJuZXdBcyIsIm5ld1VybCIsIndpdGhNaWRkbGV3YXJlRWZmZWN0cyIsImZldGNoRGF0YSIsImRhdGEiLCJlZmZlY3QiLCJkYXRhSHJlZiIsImpzb24iLCJ0ZXh0IiwiY2FjaGVLZXkiLCJtYW51YWxTY3JvbGxSZXN0b3JhdGlvbiIsIl9fTkVYVF9TQ1JPTExfUkVTVE9SQVRJT04iLCJ3aW5kb3ciLCJoaXN0b3J5IiwidiIsInNlc3Npb25TdG9yYWdlIiwic2V0SXRlbSIsInJlbW92ZUl0ZW0iLCJuIiwiU1NHX0RBVEFfTk9UX0ZPVU5EIiwiU3ltYm9sIiwiZmV0Y2hSZXRyeSIsImF0dGVtcHRzIiwiZmV0Y2giLCJjcmVkZW50aWFscyIsIm1ldGhvZCIsIm9rIiwic3RhdHVzIiwidHJ5VG9QYXJzZUFzSlNPTiIsIkpTT04iLCJwYXJzZSIsImVycm9yIiwiZmV0Y2hOZXh0RGF0YSIsImluZmxpZ2h0Q2FjaGUiLCJpc1ByZWZldGNoIiwiaGFzTWlkZGxld2FyZSIsImlzU2VydmVyUmVuZGVyIiwicGFyc2VKU09OIiwicGVyc2lzdENhY2hlIiwiaXNCYWNrZ3JvdW5kIiwidW5zdGFibGVfc2tpcENsaWVudENhY2hlIiwiaHJlZiIsIlVSTCIsImxvY2F0aW9uIiwiZ2V0RGF0YSIsInBhcmFtcyIsInB1cnBvc2UiLCJub3RGb3VuZCIsIm1hcmtBc3NldEVycm9yIiwiY2F0Y2giLCJlcnIiLCJtZXNzYWdlIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic2xpY2UiLCJoYW5kbGVIYXJkTmF2aWdhdGlvbiIsImdldENhbmNlbGxlZEhhbmRsZXIiLCJyb3V0ZSIsImNhbmNlbCIsImNsYyIsImhhbmRsZUNhbmNlbGxlZCIsInJlbG9hZCIsImJhY2siLCJmb3J3YXJkIiwicHVzaCIsIl9rZXkiLCJzdHJpbmdpZnkiLCJ4Iiwic2VsZiIsInBhZ2VYT2Zmc2V0IiwieSIsInBhZ2VZT2Zmc2V0IiwiZSIsImNoYW5nZSIsInJlcGxhY2UiLCJfYmZsIiwic2tpcE5hdmlnYXRlIiwiX19ORVhUX0NMSUVOVF9ST1VURVJfRklMVEVSX0VOQUJMRUQiLCJtYXRjaGVzQmZsU3RhdGljIiwibWF0Y2hlc0JmbER5bmFtaWMiLCJjdXJBcyIsImFzTm9TbGFzaCIsImFzTm9TbGFzaExvY2FsZSIsIl90aGlzX19iZmxfcyIsIl90aGlzX19iZmxfczEiLCJfYmZsX3MiLCJjb250YWlucyIsIm5vcm1hbGl6ZWRBUyIsImN1ckFzUGFydHMiLCJzcGxpdCIsImkiLCJfdGhpc19fYmZsX2QiLCJjdXJyZW50UGFydCIsImpvaW4iLCJfYmZsX2QiLCJmb3JjZWRTY3JvbGwiLCJfdGhpc19jb21wb25lbnRzX3BhdGhuYW1lIiwiaXNMb2NhbFVSTCIsImlzUXVlcnlVcGRhdGluZyIsIl9oIiwic2hhbGxvdyIsInNob3VsZFJlc29sdmVIcmVmIiwiX3Nob3VsZFJlc29sdmVIcmVmIiwibmV4dFN0YXRlIiwic3RhdGUiLCJyZWFkeVN0YXRlQ2hhbmdlIiwiaXNSZWFkeSIsImlzU3NyIiwicHJldkxvY2FsZSIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJsb2NhbGVQYXRoUmVzdWx0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsImRpZE5hdmlnYXRlIiwiX3RoaXNfbG9jYWxlcyIsImRldGVjdGVkRG9tYWluIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwiZG9tYWluTG9jYWxlcyIsImlzTG9jYWxlRG9tYWluIiwiaG9zdG5hbWUiLCJkb21haW4iLCJhc05vQmFzZVBhdGgiLCJodHRwIiwiU1QiLCJwZXJmb3JtYW5jZSIsIm1hcmsiLCJzY3JvbGwiLCJyb3V0ZVByb3BzIiwiX2luRmxpZ2h0Um91dGUiLCJldmVudHMiLCJlbWl0IiwicmVtb3ZlTG9jYWxlIiwibG9jYWxlQ2hhbmdlIiwib25seUFIYXNoQ2hhbmdlIiwiY2hhbmdlU3RhdGUiLCJzY3JvbGxUb0hhc2giLCJzZXQiLCJjb21wb25lbnRzIiwiaXNFcnJvciIsInBhcnNlZCIsInVybElzTmV3IiwicGFyc2VkQXNQYXRobmFtZSIsIl9fYXBwUm91dGVyIiwiaXNNaWRkbGV3YXJlUmV3cml0ZSIsImlzTWlkZGxld2FyZU1hdGNoIiwicmV3cml0ZXNSZXN1bHQiLCJwIiwiZXh0ZXJuYWxEZXN0Iiwicm91dGVNYXRjaCIsInJvdXRlUmVnZXgiLCJzaG91bGRJbnRlcnBvbGF0ZSIsImludGVycG9sYXRlZEFzIiwiaW50ZXJwb2xhdGVBcyIsIm1pc3NpbmdQYXJhbXMiLCJrZXlzIiwiZ3JvdXBzIiwiZmlsdGVyIiwib3B0aW9uYWwiLCJjb25zb2xlIiwid2FybiIsIm9taXQiLCJpc0Vycm9yUm91dGUiLCJyb3V0ZUluZm8iLCJnZXRSb3V0ZUluZm8iLCJpc1ByZXZpZXciLCJpc0ZhbGxiYWNrIiwiY2xlYW5lZFBhcnNlZFBhdGhuYW1lIiwiZm9yRWFjaCIsImtleSIsInByZWZpeGVkQXMiLCJyZXdyaXRlQXMiLCJsb2NhbGVSZXN1bHQiLCJjdXJSb3V0ZU1hdGNoIiwiY29tcG9uZW50IiwiQ29tcG9uZW50IiwidW5zdGFibGVfc2NyaXB0TG9hZGVyIiwic2NyaXB0cyIsImNvbmNhdCIsInNjcmlwdCIsImhhbmRsZUNsaWVudFNjcmlwdExvYWQiLCJwcm9wcyIsIl9fTl9TU0ciLCJfX05fU1NQIiwicGFnZVByb3BzIiwiX19OX1JFRElSRUNUIiwiX19OX1JFRElSRUNUX0JBU0VfUEFUSCIsInBhcnNlZEhyZWYiLCJfX05fUFJFVklFVyIsIm5vdEZvdW5kUm91dGUiLCJmZXRjaENvbXBvbmVudCIsIl8iLCJpc05vdEZvdW5kIiwiX19ORVhUX0RBVEFfXyIsInN0YXR1c0NvZGUiLCJpc1ZhbGlkU2hhbGxvd1JvdXRlIiwic2hvdWxkU2Nyb2xsIiwicmVzZXRTY3JvbGwiLCJ1cGNvbWluZ1Njcm9sbFN0YXRlIiwidXBjb21pbmdSb3V0ZXJTdGF0ZSIsImNhblNraXBVcGRhdGluZyIsImNvbXBhcmVSb3V0ZXJTdGF0ZXMiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImxhbmciLCJoYXNoUmVnZXgiLCJnZXRVUkwiLCJfc2hhbGxvdyIsIl9fTiIsImhhbmRsZVJvdXRlSW5mb0Vycm9yIiwibG9hZEVycm9yRmFpbCIsImlzQXNzZXRFcnJvciIsInN0eWxlU2hlZXRzIiwiZ2V0SW5pdGlhbFByb3BzIiwiZ2lwRXJyIiwicm91dGVJbmZvRXJyIiwicmVxdWVzdGVkUm91dGUiLCJleGlzdGluZ0luZm8iLCJjYWNoZWRSb3V0ZUluZm8iLCJmZXRjaE5leHREYXRhUGFyYW1zIiwiZ2V0RGF0YUhyZWYiLCJza2lwSW50ZXJwb2xhdGlvbiIsInNiYyIsInNkYyIsInJlc29sdmVkUm91dGUiLCJpc0FQSVJvdXRlIiwicmVzIiwibW9kIiwiaXNWYWxpZEVsZW1lbnRUeXBlIiwicmVxdWlyZSIsIndhc0JhaWxlZFByZWZldGNoIiwic2hvdWxkRmV0Y2hEYXRhIiwiX2dldERhdGEiLCJmZXRjaGVkIiwiZ2V0UHJvcGVyRXJyb3IiLCJzdWIiLCJiZWZvcmVQb3BTdGF0ZSIsImNiIiwiX2JwcyIsIm9sZFVybE5vSGFzaCIsIm9sZEhhc2giLCJuZXdVcmxOb0hhc2giLCJuZXdIYXNoIiwiaGFuZGxlU21vb3RoU2Nyb2xsIiwic2Nyb2xsVG8iLCJyYXdIYXNoIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiaWRFbCIsImdldEVsZW1lbnRCeUlkIiwic2Nyb2xsSW50b1ZpZXciLCJuYW1lRWwiLCJnZXRFbGVtZW50c0J5TmFtZSIsIm9ubHlIYXNoQ2hhbmdlIiwicHJlZmV0Y2giLCJpc0JvdCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsInVybFBhdGhuYW1lIiwib3JpZ2luYWxQYXRobmFtZSIsIl9fTkVYVF9NSURETEVXQVJFX1BSRUZFVENIIiwiX2lzU3NnIiwiaXNTc2ciLCJwcmlvcml0eSIsIl9fTkVYVF9PUFRJTUlTVElDX0NMSUVOVF9DQUNIRSIsImNvbXBvbmVudFJlc3VsdCIsImxvYWRQYWdlIiwiZm4iLCJfZ2V0RmxpZ2h0RGF0YSIsImN0eCIsIkFwcCIsIkFwcFRyZWUiLCJfd3JhcEFwcCIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJjb25zdHJ1Y3RvciIsImluaXRpYWxQcm9wcyIsIndyYXBBcHAiLCJzdWJzY3JpcHRpb24iLCJpc0ZpcnN0UG9wU3RhdGVFdmVudCIsIm9uUG9wU3RhdGUiLCJfX05BIiwiZ2V0SXRlbSIsImluaXRpYWwiLCJCbG9vbUZpbHRlciIsInJvdXRlckZpbHRlclNWYWx1ZSIsIl9fTkVYVF9DTElFTlRfUk9VVEVSX1NfRklMVEVSIiwic3RhdGljRmlsdGVyRGF0YSIsInJvdXRlckZpbHRlckRWYWx1ZSIsIl9fTkVYVF9DTElFTlRfUk9VVEVSX0RfRklMVEVSIiwiZHluYW1pY0ZpbHRlckRhdGEiLCJudW1IYXNoZXMiLCJudW1JdGVtcyIsImVycm9yUmF0ZSIsImltcG9ydCIsImF1dG9FeHBvcnREeW5hbWljIiwiYXV0b0V4cG9ydCIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJnc3NwIiwiZ2lwIiwiaXNFeHBlcmltZW50YWxDb21waWxlIiwiYXBwR2lwIiwiZ3NwIiwic2VhcmNoIiwiX2luaXRpYWxNYXRjaGVzTWlkZGxld2FyZVByb21pc2UiLCJhZGRFdmVudExpc3RlbmVyIiwic2Nyb2xsUmVzdG9yYXRpb24iLCJtaXR0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-locale.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-locale.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction addLocale(path, locale, defaultLocale, ignorePrefix) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path;\n const lower = path.toLowerCase();\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/api\")) return path;\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/\" + locale.toLowerCase())) return path;\n }\n // Add the locale prefix to the path.\n return (0, _addpathprefix.addPathPrefix)(path, \"/\" + locale);\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FRZ0JBOzs7ZUFBQUE7OzsyQ0FSYzsyQ0FDQTtBQU92QixTQUFTQSxVQUNkQyxJQUFZLEVBQ1pDLE1BQXVCLEVBQ3ZCQyxhQUFzQixFQUN0QkMsWUFBc0I7SUFFdEIsNEVBQTRFO0lBQzVFLHNCQUFzQjtJQUN0QixJQUFJLENBQUNGLFVBQVVBLFdBQVdDLGVBQWUsT0FBT0Y7SUFFaEQsTUFBTUksUUFBUUosS0FBS0ssV0FBVztJQUU5QiwyRUFBMkU7SUFDM0UsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQ0YsY0FBYztRQUNqQixJQUFJRyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNGLE9BQU8sU0FBUyxPQUFPSjtRQUN6QyxJQUFJTSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNGLE9BQU8sTUFBSUgsT0FBT0ksV0FBVyxLQUFPLE9BQU9MO0lBQy9EO0lBRUEscUNBQXFDO0lBQ3JDLE9BQU9PLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ1AsTUFBTSxNQUFJQztBQUNqQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGUudHM/M2ExMCJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwibG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsImlnbm9yZVByZWZpeCIsImxvd2VyIiwidG9Mb3dlckNhc2UiLCJwYXRoSGFzUHJlZml4IiwiYWRkUGF0aFByZWZpeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQU1nQkE7OztlQUFBQTs7O3VDQU5VO0FBTW5CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBZTtJQUN6RCxJQUFJLENBQUNELEtBQUtFLFVBQVUsQ0FBQyxRQUFRLENBQUNELFFBQVE7UUFDcEMsT0FBT0Q7SUFDVDtJQUVBLE1BQU0sRUFBRUcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNOO0lBQzVDLE9BQU8sS0FBR0MsU0FBU0UsV0FBV0MsUUFBUUM7QUFDeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1wcmVmaXgudHM/YjQ1NSJdLCJuYW1lcyI6WyJhZGRQYXRoUHJlZml4IiwicGF0aCIsInByZWZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathSuffix\", ({\n enumerable: true,\n get: function() {\n return addPathSuffix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathSuffix(path, suffix) {\n if (!path.startsWith(\"/\") || !suffix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + pathname + suffix + query + hash;\n} //# sourceMappingURL=add-path-suffix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXN1ZmZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQU9nQkE7OztlQUFBQTs7O3VDQVBVO0FBT25CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBZTtJQUN6RCxJQUFJLENBQUNELEtBQUtFLFVBQVUsQ0FBQyxRQUFRLENBQUNELFFBQVE7UUFDcEMsT0FBT0Q7SUFDVDtJQUVBLE1BQU0sRUFBRUcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNOO0lBQzVDLE9BQU8sS0FBR0csV0FBV0YsU0FBU0csUUFBUUM7QUFDeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1zdWZmaXgudHM/NTBkYiJdLCJuYW1lcyI6WyJhZGRQYXRoU3VmZml4IiwicGF0aCIsInN1ZmZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/app-paths.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! - \*********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFzQmdCQSxrQkFBZ0I7ZUFBaEJBOztJQW1DQUMsaUJBQWU7ZUFBZkE7OztnREF6RG1CO3FDQUNKO0FBcUJ4QixTQUFTRCxpQkFBaUJFLEtBQWE7SUFDNUMsT0FBT0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFrQixFQUN2QkQsTUFBTUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQyxDQUFDQyxVQUFVQyxTQUFTQyxPQUFPQztRQUNqRCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDRixTQUFTO1lBQ1osT0FBT0Q7UUFDVDtRQUVBLHNCQUFzQjtRQUN0QixJQUFJSSxDQUFBQSxHQUFBQSxTQUFBQSxjQUFjLEVBQUNILFVBQVU7WUFDM0IsT0FBT0Q7UUFDVDtRQUVBLGlDQUFpQztRQUNqQyxJQUFJQyxPQUFPLENBQUMsRUFBRSxLQUFLLEtBQUs7WUFDdEIsT0FBT0Q7UUFDVDtRQUVBLHVEQUF1RDtRQUN2RCxJQUNFLENBQUNDLFlBQVksVUFBVUEsWUFBWSxZQUNuQ0MsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQzVCO1lBQ0EsT0FBT0w7UUFDVDtRQUVBLE9BQU9BLFdBQVksTUFBR0M7SUFDeEIsR0FBRztBQUVQO0FBTU8sU0FBU04sZ0JBQWdCVyxHQUFXO0lBQ3pDLE9BQU9BLElBQUlDLE9BQU8sQ0FDaEIsZUFFQTtBQUVKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYXBwLXBhdGhzLnRzP2Q0NmQiXSwibmFtZXMiOlsibm9ybWFsaXplQXBwUGF0aCIsIm5vcm1hbGl6ZVJzY1VSTCIsInJvdXRlIiwiZW5zdXJlTGVhZGluZ1NsYXNoIiwic3BsaXQiLCJyZWR1Y2UiLCJwYXRobmFtZSIsInNlZ21lbnQiLCJpbmRleCIsInNlZ21lbnRzIiwiaXNHcm91cFNlZ21lbnQiLCJsZW5ndGgiLCJ1cmwiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js ***! - \************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Convert router.asPath to a URLSearchParams object\n// example: /dynamic/[slug]?foo=bar -> { foo: 'bar' }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"asPathToSearchParams\", ({\n enumerable: true,\n get: function() {\n return asPathToSearchParams;\n }\n}));\nfunction asPathToSearchParams(asPath) {\n return new URL(asPath, \"http://n\").searchParams;\n} //# sourceMappingURL=as-path-to-search-params.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FzLXBhdGgtdG8tc2VhcmNoLXBhcmFtcy5qcyIsIm1hcHBpbmdzIjoiQUFBQSxvREFBb0Q7QUFDcEQscURBQXFEOzs7Ozt3REFDckNBOzs7ZUFBQUE7OztBQUFULFNBQVNBLHFCQUFxQkMsTUFBYztJQUNqRCxPQUFPLElBQUlDLElBQUlELFFBQVEsWUFBWUUsWUFBWTtBQUNqRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FzLXBhdGgtdG8tc2VhcmNoLXBhcmFtcy50cz8zM2E1Il0sIm5hbWVzIjpbImFzUGF0aFRvU2VhcmNoUGFyYW1zIiwiYXNQYXRoIiwiVVJMIiwic2VhcmNoUGFyYW1zIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/compare-states.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/compare-states.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"compareRouterStates\", ({\n enumerable: true,\n get: function() {\n return compareRouterStates;\n }\n}));\nfunction compareRouterStates(a, b) {\n const stateKeys = Object.keys(a);\n if (stateKeys.length !== Object.keys(b).length) return false;\n for(let i = stateKeys.length; i--;){\n const key = stateKeys[i];\n if (key === \"query\") {\n const queryKeys = Object.keys(a.query);\n if (queryKeys.length !== Object.keys(b.query).length) {\n return false;\n }\n for(let j = queryKeys.length; j--;){\n const queryKey = queryKeys[j];\n if (!b.query.hasOwnProperty(queryKey) || a.query[queryKey] !== b.query[queryKey]) {\n return false;\n }\n }\n } else if (!b.hasOwnProperty(key) || a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n} //# sourceMappingURL=compare-states.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2NvbXBhcmUtc3RhdGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxvQkFBb0JDLENBQWtCLEVBQUVDLENBQWtCO0lBQ3hFLE1BQU1DLFlBQVlDLE9BQU9DLElBQUksQ0FBQ0o7SUFDOUIsSUFBSUUsVUFBVUcsTUFBTSxLQUFLRixPQUFPQyxJQUFJLENBQUNILEdBQUdJLE1BQU0sRUFBRSxPQUFPO0lBRXZELElBQUssSUFBSUMsSUFBSUosVUFBVUcsTUFBTSxFQUFFQyxLQUFPO1FBQ3BDLE1BQU1DLE1BQU1MLFNBQVMsQ0FBQ0ksRUFBRTtRQUN4QixJQUFJQyxRQUFRLFNBQVM7WUFDbkIsTUFBTUMsWUFBWUwsT0FBT0MsSUFBSSxDQUFDSixFQUFFUyxLQUFLO1lBQ3JDLElBQUlELFVBQVVILE1BQU0sS0FBS0YsT0FBT0MsSUFBSSxDQUFDSCxFQUFFUSxLQUFLLEVBQUVKLE1BQU0sRUFBRTtnQkFDcEQsT0FBTztZQUNUO1lBQ0EsSUFBSyxJQUFJSyxJQUFJRixVQUFVSCxNQUFNLEVBQUVLLEtBQU87Z0JBQ3BDLE1BQU1DLFdBQVdILFNBQVMsQ0FBQ0UsRUFBRTtnQkFDN0IsSUFDRSxDQUFDVCxFQUFFUSxLQUFLLENBQUNHLGNBQWMsQ0FBQ0QsYUFDeEJYLEVBQUVTLEtBQUssQ0FBQ0UsU0FBUyxLQUFLVixFQUFFUSxLQUFLLENBQUNFLFNBQVMsRUFDdkM7b0JBQ0EsT0FBTztnQkFDVDtZQUNGO1FBQ0YsT0FBTyxJQUNMLENBQUNWLEVBQUVXLGNBQWMsQ0FBQ0wsUUFDbEJQLENBQUMsQ0FBQ08sSUFBNkIsS0FBS04sQ0FBQyxDQUFDTSxJQUE2QixFQUNuRTtZQUNBLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvY29tcGFyZS1zdGF0ZXMudHM/YThkYSJdLCJuYW1lcyI6WyJjb21wYXJlUm91dGVyU3RhdGVzIiwiYSIsImIiLCJzdGF0ZUtleXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiaSIsImtleSIsInF1ZXJ5S2V5cyIsInF1ZXJ5IiwiaiIsInF1ZXJ5S2V5IiwiaGFzT3duUHJvcGVydHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/compare-states.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js ***! - \*************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"formatNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return formatNextPathnameInfo;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _addpathsuffix = __webpack_require__(/*! ./add-path-suffix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"./node_modules/next/dist/shared/lib/router/utils/add-locale.js\");\nfunction formatNextPathnameInfo(info) {\n let pathname = (0, _addlocale.addLocale)(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix);\n if (info.buildId || !info.trailingSlash) {\n pathname = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n }\n if (info.buildId) {\n pathname = (0, _addpathsuffix.addPathSuffix)((0, _addpathprefix.addPathPrefix)(pathname, \"/_next/data/\" + info.buildId), info.pathname === \"/\" ? \"index.json\" : \".json\");\n }\n pathname = (0, _addpathprefix.addPathPrefix)(pathname, info.basePath);\n return !info.buildId && info.trailingSlash ? !pathname.endsWith(\"/\") ? (0, _addpathsuffix.addPathSuffix)(pathname, \"/\") : pathname : (0, _removetrailingslash.removeTrailingSlash)(pathname);\n} //# sourceMappingURL=format-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6Ijs7OzswREFXZ0JBOzs7ZUFBQUE7OztpREFWb0I7MkNBQ047MkNBQ0E7dUNBQ0o7QUFPbkIsU0FBU0EsdUJBQXVCQyxJQUFrQjtJQUN2RCxJQUFJQyxXQUFXQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQ3RCRixLQUFLQyxRQUFRLEVBQ2JELEtBQUtHLE1BQU0sRUFDWEgsS0FBS0ksT0FBTyxHQUFHQyxZQUFZTCxLQUFLTSxhQUFhLEVBQzdDTixLQUFLTyxZQUFZO0lBR25CLElBQUlQLEtBQUtJLE9BQU8sSUFBSSxDQUFDSixLQUFLUSxhQUFhLEVBQUU7UUFDdkNQLFdBQVdRLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1I7SUFDakM7SUFFQSxJQUFJRCxLQUFLSSxPQUFPLEVBQUU7UUFDaEJILFdBQVdTLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFDdEJDLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ1YsVUFBVSxpQkFBZUQsS0FBS0ksT0FBTyxHQUNuREosS0FBS0MsUUFBUSxLQUFLLE1BQU0sZUFBZTtJQUUzQztJQUVBQSxXQUFXVSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNWLFVBQVVELEtBQUtZLFFBQVE7SUFDaEQsT0FBTyxDQUFDWixLQUFLSSxPQUFPLElBQUlKLEtBQUtRLGFBQWEsR0FDdEMsQ0FBQ1AsU0FBU1ksUUFBUSxDQUFDLE9BQ2pCSCxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNULFVBQVUsT0FDeEJBLFdBQ0ZRLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1I7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtbmV4dC1wYXRobmFtZS1pbmZvLnRzPzBlNjUiXSwibmFtZXMiOlsiZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyIsImluZm8iLCJwYXRobmFtZSIsImFkZExvY2FsZSIsImxvY2FsZSIsImJ1aWxkSWQiLCJ1bmRlZmluZWQiLCJkZWZhdWx0TG9jYWxlIiwiaWdub3JlUHJlZml4IiwidHJhaWxpbmdTbGFzaCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJhZGRQYXRoU3VmZml4IiwiYWRkUGF0aFByZWZpeCIsImJhc2VQYXRoIiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/format-url.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLHNEQUFzRDtBQUN0RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLGdFQUFnRTtBQUNoRSxzRUFBc0U7QUFDdEUsc0VBQXNFO0FBQ3RFLDRFQUE0RTtBQUM1RSxxRUFBcUU7QUFDckUsd0JBQXdCO0FBQ3hCLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsNkRBQTZEO0FBQzdELDRFQUE0RTtBQUM1RSwyRUFBMkU7QUFDM0Usd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUM1RSx5Q0FBeUM7Ozs7Ozs7Ozs7Ozs7SUFRekJBLFdBQVM7ZUFBVEE7O0lBNkRBQyxzQkFBb0I7ZUFBcEJBOztJQWZIQyxlQUFhO2VBQWJBOzs7O21GQWxEZ0I7QUFFN0IsTUFBTUMsbUJBQW1CO0FBRWxCLFNBQVNILFVBQVVJLE1BQWlCO0lBQ3pDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUUsR0FBR0Y7SUFDekIsSUFBSUcsV0FBV0gsT0FBT0csUUFBUSxJQUFJO0lBQ2xDLElBQUlDLFdBQVdKLE9BQU9JLFFBQVEsSUFBSTtJQUNsQyxJQUFJQyxPQUFPTCxPQUFPSyxJQUFJLElBQUk7SUFDMUIsSUFBSUMsUUFBUU4sT0FBT00sS0FBSyxJQUFJO0lBQzVCLElBQUlDLE9BQXVCO0lBRTNCTixPQUFPQSxPQUFPTyxtQkFBbUJQLE1BQU1RLE9BQU8sQ0FBQyxRQUFRLE9BQU8sTUFBTTtJQUVwRSxJQUFJVCxPQUFPTyxJQUFJLEVBQUU7UUFDZkEsT0FBT04sT0FBT0QsT0FBT08sSUFBSTtJQUMzQixPQUFPLElBQUlMLFVBQVU7UUFDbkJLLE9BQU9OLE9BQVEsRUFBQ0MsU0FBU1EsT0FBTyxDQUFDLE9BQU8sTUFBSVIsV0FBUyxNQUFLQSxRQUFBQTtRQUMxRCxJQUFJRixPQUFPVyxJQUFJLEVBQUU7WUFDZkosUUFBUSxNQUFNUCxPQUFPVyxJQUFJO1FBQzNCO0lBQ0Y7SUFFQSxJQUFJTCxTQUFTLE9BQU9BLFVBQVUsVUFBVTtRQUN0Q0EsUUFBUU0sT0FBT0MsYUFBWUMsc0JBQXNCLENBQUNSO0lBQ3BEO0lBRUEsSUFBSVMsU0FBU2YsT0FBT2UsTUFBTSxJQUFLVCxTQUFTLE1BQUlBLFNBQVk7SUFFeEQsSUFBSUgsWUFBWSxDQUFDQSxTQUFTYSxRQUFRLENBQUMsTUFBTWIsWUFBWTtJQUVyRCxJQUNFSCxPQUFPaUIsT0FBTyxJQUNiLENBQUMsQ0FBQ2QsWUFBWUosaUJBQWlCbUIsSUFBSSxDQUFDZixTQUFBQSxLQUFjSSxTQUFTLE9BQzVEO1FBQ0FBLE9BQU8sT0FBUUEsQ0FBQUEsUUFBUTtRQUN2QixJQUFJSCxZQUFZQSxRQUFRLENBQUMsRUFBRSxLQUFLLEtBQUtBLFdBQVcsTUFBTUE7SUFDeEQsT0FBTyxJQUFJLENBQUNHLE1BQU07UUFDaEJBLE9BQU87SUFDVDtJQUVBLElBQUlGLFFBQVFBLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBS0EsT0FBTyxNQUFNQTtJQUMxQyxJQUFJVSxVQUFVQSxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUtBLFNBQVMsTUFBTUE7SUFFaERYLFdBQVdBLFNBQVNLLE9BQU8sQ0FBQyxTQUFTRDtJQUNyQ08sU0FBU0EsT0FBT04sT0FBTyxDQUFDLEtBQUs7SUFFN0IsT0FBTyxLQUFHTixXQUFXSSxPQUFPSCxXQUFXVyxTQUFTVjtBQUNsRDtBQUVPLE1BQU1QLGdCQUFnQjtJQUMzQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQUVNLFNBQVNELHFCQUFxQnNCLEdBQWM7SUFDakQsSUFBSUMsSUFBeUIsRUFBZTtRQUMxQyxJQUFJRCxRQUFRLFFBQVEsT0FBT0EsUUFBUSxVQUFVO1lBQzNDRSxPQUFPQyxJQUFJLENBQUNILEtBQUtJLE9BQU8sQ0FBQyxDQUFDQztnQkFDeEIsSUFBSSxDQUFDMUIsY0FBYzJCLFFBQVEsQ0FBQ0QsTUFBTTtvQkFDaENFLFFBQVFDLElBQUksQ0FDVix1REFBcURIO2dCQUV6RDtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU81QixVQUFVdUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsLnRzPzFiODciXSwibmFtZXMiOlsiZm9ybWF0VXJsIiwiZm9ybWF0V2l0aFZhbGlkYXRpb24iLCJ1cmxPYmplY3RLZXlzIiwic2xhc2hlZFByb3RvY29scyIsInVybE9iaiIsImF1dGgiLCJob3N0bmFtZSIsInByb3RvY29sIiwicGF0aG5hbWUiLCJoYXNoIiwicXVlcnkiLCJob3N0IiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsImluZGV4T2YiLCJwb3J0IiwiU3RyaW5nIiwicXVlcnlzdHJpbmciLCJ1cmxRdWVyeVRvU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiZW5kc1dpdGgiLCJzbGFzaGVzIiwidGVzdCIsInVybCIsInByb2Nlc3MiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIiwiY29uc29sZSIsIndhcm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/format-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js ***! - \*************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Translates a logical route into its pages asset path (relative from a common prefix)\n// \"asset path\" being its javascript file, data file, prerendered html,...\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return getAssetPathFromRoute;\n }\n}));\nfunction getAssetPathFromRoute(route, ext) {\n if (ext === void 0) ext = \"\";\n const path = route === \"/\" ? \"/index\" : /^\\/index(\\/|$)/.test(route) ? \"/index\" + route : route;\n return path + ext;\n} //# sourceMappingURL=get-asset-path-from-route.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1hc3NldC1wYXRoLWZyb20tcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUZBQXVGO0FBQ3ZGLDBFQUEwRTs7Ozs7MkNBQzFFOzs7ZUFBd0JBOzs7QUFBVCxTQUFTQSxzQkFDdEJDLEtBQWEsRUFDYkMsR0FBZ0I7SUFBaEJBLElBQUFBLFFBQUFBLEtBQUFBLEdBQUFBLE1BQWM7SUFFZCxNQUFNQyxPQUNKRixVQUFVLE1BQ04sV0FDQSxpQkFBaUJHLElBQUksQ0FBQ0gsU0FDdEIsV0FBU0EsUUFDVEE7SUFDTixPQUFPRSxPQUFPRDtBQUNoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1hc3NldC1wYXRoLWZyb20tcm91dGUudHM/MjM5MSJdLCJuYW1lcyI6WyJnZXRBc3NldFBhdGhGcm9tUm91dGUiLCJyb3V0ZSIsImV4dCIsInBhdGgiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return getNextPathnameInfo;\n }\n}));\nconst _normalizelocalepath = __webpack_require__(/*! ../../i18n/normalize-locale-path */ \"./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _removepathprefix = __webpack_require__(/*! ./remove-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction getNextPathnameInfo(pathname, options) {\n var _options_nextConfig;\n const { basePath, i18n, trailingSlash } = (_options_nextConfig = options.nextConfig) != null ? _options_nextConfig : {};\n const info = {\n pathname,\n trailingSlash: pathname !== \"/\" ? pathname.endsWith(\"/\") : trailingSlash\n };\n if (basePath && (0, _pathhasprefix.pathHasPrefix)(info.pathname, basePath)) {\n info.pathname = (0, _removepathprefix.removePathPrefix)(info.pathname, basePath);\n info.basePath = basePath;\n }\n let pathnameNoDataPrefix = info.pathname;\n if (info.pathname.startsWith(\"/_next/data/\") && info.pathname.endsWith(\".json\")) {\n const paths = info.pathname.replace(/^\\/_next\\/data\\//, \"\").replace(/\\.json$/, \"\").split(\"/\");\n const buildId = paths[0];\n info.buildId = buildId;\n pathnameNoDataPrefix = paths[1] !== \"index\" ? \"/\" + paths.slice(1).join(\"/\") : \"/\";\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix;\n }\n }\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, _normalizelocalepath.normalizeLocalePath)(info.pathname, i18n.locales);\n info.locale = result.detectedLocale;\n var _result_pathname;\n info.pathname = (_result_pathname = result.pathname) != null ? _result_pathname : info.pathname;\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, _normalizelocalepath.normalizeLocalePath)(pathnameNoDataPrefix, i18n.locales);\n if (result.detectedLocale) {\n info.locale = result.detectedLocale;\n }\n }\n }\n return info;\n} //# sourceMappingURL=get-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFvRGdCQTs7O2VBQUFBOzs7aURBcERvQjs4Q0FDSDsyQ0FDSDtBQWtEdkIsU0FBU0Esb0JBQ2RDLFFBQWdCLEVBQ2hCQyxPQUFnQjtRQUUwQkE7SUFBMUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsYUFBYSxFQUFFLEdBQUdILENBQUFBLHNCQUFBQSxRQUFRSSxVQUFVLFlBQWxCSixzQkFBc0IsQ0FBQztJQUNqRSxNQUFNSyxPQUF5QjtRQUM3Qk47UUFDQUksZUFBZUosYUFBYSxNQUFNQSxTQUFTTyxRQUFRLENBQUMsT0FBT0g7SUFDN0Q7SUFFQSxJQUFJRixZQUFZTSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNGLEtBQUtOLFFBQVEsRUFBRUUsV0FBVztRQUN0REksS0FBS04sUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQWdCLEVBQUNILEtBQUtOLFFBQVEsRUFBRUU7UUFDaERJLEtBQUtKLFFBQVEsR0FBR0E7SUFDbEI7SUFDQSxJQUFJUSx1QkFBdUJKLEtBQUtOLFFBQVE7SUFFeEMsSUFDRU0sS0FBS04sUUFBUSxDQUFDVyxVQUFVLENBQUMsbUJBQ3pCTCxLQUFLTixRQUFRLENBQUNPLFFBQVEsQ0FBQyxVQUN2QjtRQUNBLE1BQU1LLFFBQVFOLEtBQUtOLFFBQVEsQ0FDeEJhLE9BQU8sQ0FBQyxvQkFBb0IsSUFDNUJBLE9BQU8sQ0FBQyxXQUFXLElBQ25CQyxLQUFLLENBQUM7UUFFVCxNQUFNQyxVQUFVSCxLQUFLLENBQUMsRUFBRTtRQUN4Qk4sS0FBS1MsT0FBTyxHQUFHQTtRQUNmTCx1QkFDRUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxVQUFVLE1BQUlBLE1BQU1JLEtBQUssQ0FBQyxHQUFHQyxJQUFJLENBQUMsT0FBUztRQUUxRCxzREFBc0Q7UUFDdEQsa0RBQWtEO1FBQ2xELElBQUloQixRQUFRaUIsU0FBUyxLQUFLLE1BQU07WUFDOUJaLEtBQUtOLFFBQVEsR0FBR1U7UUFDbEI7SUFDRjtJQUVBLDRFQUE0RTtJQUM1RSx5QkFBeUI7SUFDekIsSUFBSVAsTUFBTTtRQUNSLElBQUlnQixTQUFTbEIsUUFBUW1CLFlBQVksR0FDN0JuQixRQUFRbUIsWUFBWSxDQUFDQyxPQUFPLENBQUNmLEtBQUtOLFFBQVEsSUFDMUNzQixDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNoQixLQUFLTixRQUFRLEVBQUVHLEtBQUtvQixPQUFPO1FBRW5EakIsS0FBS2tCLE1BQU0sR0FBR0wsT0FBT00sY0FBYztZQUNuQk47UUFBaEJiLEtBQUtOLFFBQVEsR0FBR21CLENBQUFBLG1CQUFBQSxPQUFPbkIsUUFBUSxZQUFmbUIsbUJBQW1CYixLQUFLTixRQUFRO1FBRWhELElBQUksQ0FBQ21CLE9BQU9NLGNBQWMsSUFBSW5CLEtBQUtTLE9BQU8sRUFBRTtZQUMxQ0ksU0FBU2xCLFFBQVFtQixZQUFZLEdBQ3pCbkIsUUFBUW1CLFlBQVksQ0FBQ0MsT0FBTyxDQUFDWCx3QkFDN0JZLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1osc0JBQXNCUCxLQUFLb0IsT0FBTztZQUUxRCxJQUFJSixPQUFPTSxjQUFjLEVBQUU7Z0JBQ3pCbkIsS0FBS2tCLE1BQU0sR0FBR0wsT0FBT00sY0FBYztZQUNyQztRQUNGO0lBQ0Y7SUFDQSxPQUFPbkI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8udHM/NTFmNiJdLCJuYW1lcyI6WyJnZXROZXh0UGF0aG5hbWVJbmZvIiwicGF0aG5hbWUiLCJvcHRpb25zIiwiYmFzZVBhdGgiLCJpMThuIiwidHJhaWxpbmdTbGFzaCIsIm5leHRDb25maWciLCJpbmZvIiwiZW5kc1dpdGgiLCJwYXRoSGFzUHJlZml4IiwicmVtb3ZlUGF0aFByZWZpeCIsInBhdGhuYW1lTm9EYXRhUHJlZml4Iiwic3RhcnRzV2l0aCIsInBhdGhzIiwicmVwbGFjZSIsInNwbGl0IiwiYnVpbGRJZCIsInNsaWNlIiwiam9pbiIsInBhcnNlRGF0YSIsInJlc3VsdCIsImkxOG5Qcm92aWRlciIsImFuYWx5emUiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwibG9jYWxlcyIsImxvY2FsZSIsImRldGVjdGVkTG9jYWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js ***! - \********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Run function with `scroll-behavior: auto` applied to `<html/>`.\n * This css change will be reverted after the function finishes.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSmoothScroll\", ({\n enumerable: true,\n get: function() {\n return handleSmoothScroll;\n }\n}));\nfunction handleSmoothScroll(fn, options) {\n if (options === void 0) options = {};\n // if only the hash is changed, we don't need to disable smooth scrolling\n // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX\n if (options.onlyHashChange) {\n fn();\n return;\n }\n const htmlElement = document.documentElement;\n const existing = htmlElement.style.scrollBehavior;\n htmlElement.style.scrollBehavior = \"auto\";\n if (!options.dontForceLayout) {\n // In Chrome-based browsers we need to force reflow before calling `scrollTo`.\n // Otherwise it will not pickup the change in scrollBehavior\n // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042\n htmlElement.getClientRects();\n }\n fn();\n htmlElement.style.scrollBehavior = existing;\n} //# sourceMappingURL=handle-smooth-scroll.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQ2RDLEVBQWMsRUFDZEMsT0FBcUU7SUFBckVBLElBQUFBLFlBQUFBLEtBQUFBLEdBQUFBLFVBQW1FLENBQUM7SUFFcEUseUVBQXlFO0lBQ3pFLDZGQUE2RjtJQUM3RixJQUFJQSxRQUFRQyxjQUFjLEVBQUU7UUFDMUJGO1FBQ0E7SUFDRjtJQUNBLE1BQU1HLGNBQWNDLFNBQVNDLGVBQWU7SUFDNUMsTUFBTUMsV0FBV0gsWUFBWUksS0FBSyxDQUFDQyxjQUFjO0lBQ2pETCxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBRztJQUNuQyxJQUFJLENBQUNQLFFBQVFRLGVBQWUsRUFBRTtRQUM1Qiw4RUFBOEU7UUFDOUUsNERBQTREO1FBQzVELHlGQUF5RjtRQUN6Rk4sWUFBWU8sY0FBYztJQUM1QjtJQUNBVjtJQUNBRyxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBR0Y7QUFDckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9oYW5kbGUtc21vb3RoLXNjcm9sbC50cz9jM2Y0Il0sIm5hbWVzIjpbImhhbmRsZVNtb290aFNjcm9sbCIsImZuIiwib3B0aW9ucyIsIm9ubHlIYXNoQ2hhbmdlIiwiaHRtbEVsZW1lbnQiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImV4aXN0aW5nIiwic3R5bGUiLCJzY3JvbGxCZWhhdmlvciIsImRvbnRGb3JjZUxheW91dCIsImdldENsaWVudFJlY3RzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxpQkFBZTtlQUFmQSxjQUFBQSxlQUFlOztJQUNmQyxnQkFBYztlQUFkQSxXQUFBQSxjQUFjOzs7MENBRFM7dUNBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbmRleC50cz83MmQ1Il0sIm5hbWVzIjpbImdldFNvcnRlZFJvdXRlcyIsImlzRHluYW1pY1JvdXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBS2dCQTs7O2VBQUFBOzs7MENBSGdCO3dDQUNGO0FBRXZCLFNBQVNBLGNBQ2RDLEtBQWEsRUFDYkMsVUFBa0IsRUFDbEJDLEtBQXFCO0lBRXJCLElBQUlDLG9CQUFvQjtJQUV4QixNQUFNQyxlQUFlQyxDQUFBQSxHQUFBQSxZQUFBQSxhQUFhLEVBQUNMO0lBQ25DLE1BQU1NLGdCQUFnQkYsYUFBYUcsTUFBTTtJQUN6QyxNQUFNQyxpQkFFSFAsQ0FBQUEsZUFBZUQsUUFBUVMsQ0FBQUEsR0FBQUEsY0FBQUEsZUFBZSxFQUFDTCxjQUFjSCxjQUFjLE9BQ3BFLGdEQUFnRDtJQUNoRCxzRUFBc0U7SUFDdEVDO0lBRUZDLG9CQUFvQkg7SUFDcEIsTUFBTVUsU0FBU0MsT0FBT0MsSUFBSSxDQUFDTjtJQUUzQixJQUNFLENBQUNJLE9BQU9HLEtBQUssQ0FBQyxDQUFDQztRQUNiLElBQUlDLFFBQVFQLGNBQWMsQ0FBQ00sTUFBTSxJQUFJO1FBQ3JDLE1BQU0sRUFBRUUsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR1gsYUFBYSxDQUFDUSxNQUFNO1FBRWpELGlDQUFpQztRQUNqQywwREFBMEQ7UUFDMUQsSUFBSUksV0FBVyxNQUFJRixDQUFBQSxTQUFTLFFBQVEsTUFBS0YsUUFBTTtRQUMvQyxJQUFJRyxVQUFVO1lBQ1pDLFdBQVcsQ0FBRyxDQUFDSCxRQUFRLE1BQU0sTUFBRyxNQUFHRyxXQUFTO1FBQzlDO1FBQ0EsSUFBSUYsVUFBVSxDQUFDRyxNQUFNQyxPQUFPLENBQUNMLFFBQVFBLFFBQVE7WUFBQ0E7U0FBTTtRQUVwRCxPQUNFLENBQUNFLFlBQVlILFNBQVNOLGNBQUFBLEtBQ3RCLDZDQUE2QztRQUM1Q0wsQ0FBQUEsb0JBQ0NBLGtCQUFtQmtCLE9BQU8sQ0FDeEJILFVBQ0FGLFNBQ0lELE1BQ0dPLEdBQUcsQ0FFRix1REFBdUQ7UUFDdkQsa0RBQWtEO1FBQ2xELG9DQUFvQztRQUNwQyxDQUFDQyxVQUFZQyxtQkFBbUJELFVBRWpDRSxJQUFJLENBQUMsT0FDUkQsbUJBQW1CVCxXQUNwQjtJQUVYLElBQ0E7UUFDQVosb0JBQW9CLEdBQUcsbUNBQW1DOztJQUUxRCx1RUFBdUU7SUFDdkUsa0RBQWtEO0lBQ3BEO0lBQ0EsT0FBTztRQUNMTztRQUNBZ0IsUUFBUXZCO0lBQ1Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLnRzPzllMzEiXSwibmFtZXMiOlsiaW50ZXJwb2xhdGVBcyIsInJvdXRlIiwiYXNQYXRobmFtZSIsInF1ZXJ5IiwiaW50ZXJwb2xhdGVkUm91dGUiLCJkeW5hbWljUmVnZXgiLCJnZXRSb3V0ZVJlZ2V4IiwiZHluYW1pY0dyb3VwcyIsImdyb3VwcyIsImR5bmFtaWNNYXRjaGVzIiwiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW1zIiwiT2JqZWN0Iiwia2V5cyIsImV2ZXJ5IiwicGFyYW0iLCJ2YWx1ZSIsInJlcGVhdCIsIm9wdGlvbmFsIiwicmVwbGFjZWQiLCJBcnJheSIsImlzQXJyYXkiLCJyZXBsYWNlIiwibWFwIiwic2VnbWVudCIsImVuY29kZVVSSUNvbXBvbmVudCIsImpvaW4iLCJyZXN1bHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-bot.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-bot.js ***! - \******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isBot\", ({\n enumerable: true,\n get: function() {\n return isBot;\n }\n}));\nfunction isBot(userAgent) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(userAgent);\n} //# sourceMappingURL=is-bot.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3lDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsTUFBTUMsU0FBaUI7SUFDckMsT0FBTyxvVkFBb1ZDLElBQUksQ0FDN1ZEO0FBRUoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1ib3QudHM/OGEzNyJdLCJuYW1lcyI6WyJpc0JvdCIsInVzZXJBZ2VudCIsInRlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-bot.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFRZ0JBOzs7ZUFBQUE7OztnREFMVDtBQUVQLHFDQUFxQztBQUNyQyxNQUFNQyxhQUFhO0FBRVosU0FBU0QsZUFBZUUsS0FBYTtJQUMxQyxJQUFJQyxDQUFBQSxHQUFBQSxvQkFBQUEsMEJBQTBCLEVBQUNELFFBQVE7UUFDckNBLFFBQVFFLENBQUFBLEdBQUFBLG9CQUFBQSxtQ0FBbUMsRUFBQ0YsT0FBT0csZ0JBQWdCO0lBQ3JFO0lBRUEsT0FBT0osV0FBV0ssSUFBSSxDQUFDSjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMudHM/ODJkYyJdLCJuYW1lcyI6WyJpc0R5bmFtaWNSb3V0ZSIsIlRFU1RfUk9VVEUiLCJyb3V0ZSIsImlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIiwiZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb24iLCJpbnRlcmNlcHRlZFJvdXRlIiwidGVzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQU1nQkE7OztlQUFBQTs7O21DQU5pQzt5Q0FDckI7QUFLckIsU0FBU0EsV0FBV0MsR0FBVztJQUNwQyxnRUFBZ0U7SUFDaEUsSUFBSSxDQUFDQyxDQUFBQSxHQUFBQSxPQUFBQSxhQUFhLEVBQUNELE1BQU0sT0FBTztJQUNoQyxJQUFJO1FBQ0YsNERBQTREO1FBQzVELE1BQU1FLGlCQUFpQkMsQ0FBQUEsR0FBQUEsT0FBQUEsaUJBQWlCO1FBQ3hDLE1BQU1DLFdBQVcsSUFBSUMsSUFBSUwsS0FBS0U7UUFDOUIsT0FBT0UsU0FBU0UsTUFBTSxLQUFLSixrQkFBa0JLLENBQUFBLEdBQUFBLGFBQUFBLFdBQVcsRUFBQ0gsU0FBU0ksUUFBUTtJQUM1RSxFQUFFLE9BQU9DLEdBQUc7UUFDVixPQUFPO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC50cz8wNGU1Il0sIm5hbWVzIjpbImlzTG9jYWxVUkwiLCJ1cmwiLCJpc0Fic29sdXRlVXJsIiwibG9jYXRpb25PcmlnaW4iLCJnZXRMb2NhdGlvbk9yaWdpbiIsInJlc29sdmVkIiwiVVJMIiwib3JpZ2luIiwiaGFzQmFzZVBhdGgiLCJwYXRobmFtZSIsIl8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/omit.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL29taXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozt3Q0FBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLEtBQ2RDLE1BQVMsRUFDVEMsSUFBUztJQUVULE1BQU1DLFVBQXNDLENBQUM7SUFDN0NDLE9BQU9GLElBQUksQ0FBQ0QsUUFBUUksT0FBTyxDQUFDLENBQUNDO1FBQzNCLElBQUksQ0FBQ0osS0FBS0ssUUFBUSxDQUFDRCxNQUFXO1lBQzVCSCxPQUFPLENBQUNHLElBQUksR0FBR0wsTUFBTSxDQUFDSyxJQUFJO1FBQzVCO0lBQ0Y7SUFDQSxPQUFPSDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC50cz9iN2E4Il0sIm5hbWVzIjpbIm9taXQiLCJvYmplY3QiLCJrZXlzIiwib21pdHRlZCIsIk9iamVjdCIsImZvckVhY2giLCJrZXkiLCJpbmNsdWRlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/omit.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/parse-path.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Q0FJQzs7Ozs2Q0FDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsVUFBVUMsSUFBWTtJQUNwQyxNQUFNQyxZQUFZRCxLQUFLRSxPQUFPLENBQUM7SUFDL0IsTUFBTUMsYUFBYUgsS0FBS0UsT0FBTyxDQUFDO0lBQ2hDLE1BQU1FLFdBQVdELGFBQWEsQ0FBQyxLQUFNRixDQUFBQSxZQUFZLEtBQUtFLGFBQWFGLFNBQUFBO0lBRW5FLElBQUlHLFlBQVlILFlBQVksQ0FBQyxHQUFHO1FBQzlCLE9BQU87WUFDTEksVUFBVUwsS0FBS00sU0FBUyxDQUFDLEdBQUdGLFdBQVdELGFBQWFGO1lBQ3BETSxPQUFPSCxXQUNISixLQUFLTSxTQUFTLENBQUNILFlBQVlGLFlBQVksQ0FBQyxJQUFJQSxZQUFZTyxhQUN4RDtZQUNKQyxNQUFNUixZQUFZLENBQUMsSUFBSUQsS0FBS1UsS0FBSyxDQUFDVCxhQUFhO1FBQ2pEO0lBQ0Y7SUFFQSxPQUFPO1FBQUVJLFVBQVVMO1FBQU1PLE9BQU87UUFBSUUsTUFBTTtJQUFHO0FBQy9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aC50cz9hMzllIl0sIm5hbWVzIjpbInBhcnNlUGF0aCIsInBhdGgiLCJoYXNoSW5kZXgiLCJpbmRleE9mIiwicXVlcnlJbmRleCIsImhhc1F1ZXJ5IiwicGF0aG5hbWUiLCJzdWJzdHJpbmciLCJxdWVyeSIsInVuZGVmaW5lZCIsImhhc2giLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseRelativeUrl\", ({\n enumerable: true,\n get: function() {\n return parseRelativeUrl;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _querystring = __webpack_require__(/*! ./querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nfunction parseRelativeUrl(url, base) {\n const globalBase = new URL( false ? 0 : (0, _utils.getLocationOrigin)());\n const resolvedBase = base ? new URL(base, globalBase) : url.startsWith(\".\") ? new URL( false ? 0 : window.location.href) : globalBase;\n const { pathname, searchParams, search, hash, href, origin } = new URL(url, resolvedBase);\n if (origin !== globalBase.origin) {\n throw new Error(\"invariant: invalid relative URL, router received \" + url);\n }\n return {\n pathname,\n query: (0, _querystring.searchParamsToUrlQuery)(searchParams),\n search,\n hash,\n href: href.slice(globalBase.origin.length)\n };\n} //# sourceMappingURL=parse-relative-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQWtCZ0JBOzs7ZUFBQUE7OzttQ0FqQmtCO3lDQUNLO0FBZ0JoQyxTQUFTQSxpQkFDZEMsR0FBVyxFQUNYQyxJQUFhO0lBRWIsTUFBTUMsYUFBYSxJQUFJQyxJQUNyQixNQUFrQixHQUFjLElBQWFDLENBQUFBLEdBQUFBLE9BQUFBLGlCQUFpQjtJQUdoRSxNQUFNQyxlQUFlSixPQUNqQixJQUFJRSxJQUFJRixNQUFNQyxjQUNkRixJQUFJTSxVQUFVLENBQUMsT0FDZixJQUFJSCxJQUFJLE1BQWtCLEdBQWMsSUFBYUksT0FBT0MsUUFBUSxDQUFDQyxJQUFJLElBQ3pFUDtJQUVKLE1BQU0sRUFBRVEsUUFBUSxFQUFFQyxZQUFZLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFSixJQUFJLEVBQUVLLE1BQU0sRUFBRSxHQUFHLElBQUlYLElBQ2pFSCxLQUNBSztJQUVGLElBQUlTLFdBQVdaLFdBQVdZLE1BQU0sRUFBRTtRQUNoQyxNQUFNLElBQUlDLE1BQU0sc0RBQW9EZjtJQUN0RTtJQUNBLE9BQU87UUFDTFU7UUFDQU0sT0FBT0MsQ0FBQUEsR0FBQUEsYUFBQUEsc0JBQXNCLEVBQUNOO1FBQzlCQztRQUNBQztRQUNBSixNQUFNQSxLQUFLUyxLQUFLLENBQUNoQixXQUFXWSxNQUFNLENBQUNLLE1BQU07SUFDM0M7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC50cz9hZjNjIl0sIm5hbWVzIjpbInBhcnNlUmVsYXRpdmVVcmwiLCJ1cmwiLCJiYXNlIiwiZ2xvYmFsQmFzZSIsIlVSTCIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWRCYXNlIiwic3RhcnRzV2l0aCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGFzaCIsIm9yaWdpbiIsIkVycm9yIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5Iiwic2xpY2UiLCJsZW5ndGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQVNnQkE7OztlQUFBQTs7O3VDQVRVO0FBU25CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBYztJQUN4RCxJQUFJLE9BQU9ELFNBQVMsVUFBVTtRQUM1QixPQUFPO0lBQ1Q7SUFFQSxNQUFNLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNIO0lBQy9CLE9BQU9FLGFBQWFELFVBQVVDLFNBQVNFLFVBQVUsQ0FBQ0gsU0FBUztBQUM3RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC50cz85MDlhIl0sIm5hbWVzIjpbInBhdGhIYXNQcmVmaXgiLCJwYXRoIiwicHJlZml4IiwicGF0aG5hbWUiLCJwYXJzZVBhdGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTRDZ0JBLFFBQU07ZUFBTkE7O0lBMUNBQyx3QkFBc0I7ZUFBdEJBOztJQTRCQUMsd0JBQXNCO2VBQXRCQTs7O0FBNUJULFNBQVNELHVCQUNkRSxZQUE2QjtJQUU3QixNQUFNQyxRQUF3QixDQUFDO0lBQy9CRCxhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0M7UUFDM0IsSUFBSSxPQUFPSCxLQUFLLENBQUNHLElBQUksS0FBSyxhQUFhO1lBQ3JDSCxLQUFLLENBQUNHLElBQUksR0FBR0Q7UUFDZixPQUFPLElBQUlFLE1BQU1DLE9BQU8sQ0FBQ0wsS0FBSyxDQUFDRyxJQUFJLEdBQUc7WUFDbENILEtBQUssQ0FBQ0csSUFBSSxDQUFjRyxJQUFJLENBQUNKO1FBQ2pDLE9BQU87WUFDTEYsS0FBSyxDQUFDRyxJQUFJLEdBQUc7Z0JBQUNILEtBQUssQ0FBQ0csSUFBSTtnQkFBWUQ7YUFBTTtRQUM1QztJQUNGO0lBQ0EsT0FBT0Y7QUFDVDtBQUVBLFNBQVNPLHVCQUF1QkMsS0FBYztJQUM1QyxJQUNFLE9BQU9BLFVBQVUsWUFDaEIsT0FBT0EsVUFBVSxZQUFZLENBQUNDLE1BQU1ELFVBQ3JDLE9BQU9BLFVBQVUsV0FDakI7UUFDQSxPQUFPRSxPQUFPRjtJQUNoQixPQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0Y7QUFFTyxTQUFTVix1QkFDZGEsUUFBd0I7SUFFeEIsTUFBTUMsU0FBUyxJQUFJQztJQUNuQkMsT0FBT0MsT0FBTyxDQUFDSixVQUFVVixPQUFPLENBQUMsQ0FBQU87WUFBQyxDQUFDTCxLQUFLRCxNQUFNLEdBQUFNO1FBQzVDLElBQUlKLE1BQU1DLE9BQU8sQ0FBQ0gsUUFBUTtZQUN4QkEsTUFBTUQsT0FBTyxDQUFDLENBQUNlLE9BQVNKLE9BQU9LLE1BQU0sQ0FBQ2QsS0FBS0ksdUJBQXVCUztRQUNwRSxPQUFPO1lBQ0xKLE9BQU9NLEdBQUcsQ0FBQ2YsS0FBS0ksdUJBQXVCTDtRQUN6QztJQUNGO0lBQ0EsT0FBT1U7QUFDVDtBQUVPLFNBQVNoQixPQUNkdUIsTUFBdUI7SUFDdkIsUUFBQUMsT0FBQUMsVUFBQUMsTUFBQSxFQUFBQyxtQkFBQSxJQUFBbkIsTUFBQWdCLE9BQUEsSUFBQUEsT0FBQSxRQUFBSSxPQUFBLEdBQUFBLE9BQUFKLE1BQUFJLE9BQUE7UUFBR0QsZ0JBQUFBLENBQUhDLE9BQUEsS0FBQUgsU0FBQSxDQUFBRyxLQUFzQzs7SUFFdENELGlCQUFpQnRCLE9BQU8sQ0FBQyxDQUFDRjtRQUN4QkssTUFBTXFCLElBQUksQ0FBQzFCLGFBQWEyQixJQUFJLElBQUl6QixPQUFPLENBQUMsQ0FBQ0UsTUFBUWdCLE9BQU9RLE1BQU0sQ0FBQ3hCO1FBQy9ESixhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0MsTUFBUWdCLE9BQU9GLE1BQU0sQ0FBQ2QsS0FBS0Q7SUFDMUQ7SUFDQSxPQUFPaUI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLnRzPzgyZmEiXSwibmFtZXMiOlsiYXNzaWduIiwic2VhcmNoUGFyYW1zVG9VcmxRdWVyeSIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2hQYXJhbXMiLCJxdWVyeSIsImZvckVhY2giLCJ2YWx1ZSIsImtleSIsIkFycmF5IiwiaXNBcnJheSIsInB1c2giLCJzdHJpbmdpZnlVcmxRdWVyeVBhcmFtIiwicGFyYW0iLCJpc05hTiIsIlN0cmluZyIsInVybFF1ZXJ5IiwicmVzdWx0IiwiVVJMU2VhcmNoUGFyYW1zIiwiT2JqZWN0IiwiZW50cmllcyIsIml0ZW0iLCJhcHBlbmQiLCJzZXQiLCJ0YXJnZXQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic2VhcmNoUGFyYW1zTGlzdCIsIl9rZXkiLCJmcm9tIiwia2V5cyIsImRlbGV0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/querystring.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removePathPrefix\", ({\n enumerable: true,\n get: function() {\n return removePathPrefix;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction removePathPrefix(path, prefix) {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!(0, _pathhasprefix.pathHasPrefix)(path, prefix)) {\n return path;\n }\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length);\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith(\"/\")) {\n return withoutPrefix;\n }\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return \"/\" + withoutPrefix;\n} //# sourceMappingURL=remove-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQVVnQkE7OztlQUFBQTs7OzJDQVZjO0FBVXZCLFNBQVNBLGlCQUFpQkMsSUFBWSxFQUFFQyxNQUFjO0lBQzNELHlFQUF5RTtJQUN6RSwwRUFBMEU7SUFDMUUsa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRixvQkFBb0I7SUFDcEIsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2Qix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDRixNQUFNQyxTQUFTO1FBQ2hDLE9BQU9EO0lBQ1Q7SUFFQSwrQ0FBK0M7SUFDL0MsTUFBTUcsZ0JBQWdCSCxLQUFLSSxLQUFLLENBQUNILE9BQU9JLE1BQU07SUFFOUMsMkVBQTJFO0lBQzNFLElBQUlGLGNBQWNHLFVBQVUsQ0FBQyxNQUFNO1FBQ2pDLE9BQU9IO0lBQ1Q7SUFFQSw0RUFBNEU7SUFDNUUsbURBQW1EO0lBQ25ELE9BQU8sTUFBSUE7QUFDYiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC50cz8wNzE0Il0sIm5hbWVzIjpbInJlbW92ZVBhdGhQcmVmaXgiLCJwYXRoIiwicHJlZml4IiwicGF0aEhhc1ByZWZpeCIsIndpdGhvdXRQcmVmaXgiLCJzbGljZSIsImxlbmd0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! - \*********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUM7Ozs7dURBQ2VBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG9CQUFvQkMsS0FBYTtJQUMvQyxPQUFPQSxNQUFNQyxPQUFPLENBQUMsT0FBTyxPQUFPO0FBQ3JDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoLnRzP2U5ODIiXSwibmFtZXMiOlsicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInJvdXRlIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFXZ0JBOzs7ZUFBQUE7OzttQ0FWWTtBQVVyQixTQUFTQSxnQkFBZ0JDLEtBQTBCO0lBQTFCLE1BQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFjLEdBQTFCRjtJQUM5QixPQUFPLENBQUNHO1FBQ04sTUFBTUMsYUFBYUgsR0FBR0ksSUFBSSxDQUFDRjtRQUMzQixJQUFJLENBQUNDLFlBQVk7WUFDZixPQUFPO1FBQ1Q7UUFFQSxNQUFNRSxTQUFTLENBQUNOO1lBQ2QsSUFBSTtnQkFDRixPQUFPTyxtQkFBbUJQO1lBQzVCLEVBQUUsT0FBT1EsR0FBRztnQkFDVixNQUFNLElBQUlDLE9BQUFBLFdBQVcsQ0FBQztZQUN4QjtRQUNGO1FBQ0EsTUFBTUMsU0FBcUQsQ0FBQztRQUU1REMsT0FBT0MsSUFBSSxDQUFDVixRQUFRVyxPQUFPLENBQUMsQ0FBQ0M7WUFDM0IsTUFBTUMsSUFBSWIsTUFBTSxDQUFDWSxTQUFTO1lBQzFCLE1BQU1FLElBQUlaLFVBQVUsQ0FBQ1csRUFBRUUsR0FBRyxDQUFDO1lBQzNCLElBQUlELE1BQU1FLFdBQVc7Z0JBQ25CUixNQUFNLENBQUNJLFNBQVMsR0FBRyxDQUFDRSxFQUFFRyxPQUFPLENBQUMsT0FDMUJILEVBQUVJLEtBQUssQ0FBQyxLQUFLQyxHQUFHLENBQUMsQ0FBQ0MsUUFBVWhCLE9BQU9nQixVQUNuQ1AsRUFBRVEsTUFBTSxHQUNSO29CQUFDakIsT0FBT1U7aUJBQUcsR0FDWFYsT0FBT1U7WUFDYjtRQUNGO1FBQ0EsT0FBT047SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci50cz8zMTc5Il0sIm5hbWVzIjpbImdldFJvdXRlTWF0Y2hlciIsInBhcmFtIiwicmUiLCJncm91cHMiLCJwYXRobmFtZSIsInJvdXRlTWF0Y2giLCJleGVjIiwiZGVjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiXyIsIkRlY29kZUVycm9yIiwicGFyYW1zIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJzbHVnTmFtZSIsImciLCJtIiwicG9zIiwidW5kZWZpbmVkIiwiaW5kZXhPZiIsInNwbGl0IiwibWFwIiwiZW50cnkiLCJyZXBlYXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTJOZ0JBLHlCQUF1QjtlQUF2QkE7O0lBaEJBQyxvQkFBa0I7ZUFBbEJBOztJQW5JQUMsZUFBYTtlQUFiQTs7O2dEQXhFMkI7MENBQ1I7aURBQ0M7QUFFcEMsTUFBTUMsMEJBQTBCO0FBQ2hDLE1BQU1DLGtDQUFrQztBQWF4Qzs7Ozs7OztDQU9DLEdBQ0QsU0FBU0MsZUFBZUMsS0FBYTtJQUNuQyxNQUFNQyxXQUFXRCxNQUFNRSxVQUFVLENBQUMsUUFBUUYsTUFBTUcsUUFBUSxDQUFDO0lBQ3pELElBQUlGLFVBQVU7UUFDWkQsUUFBUUEsTUFBTUksS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxQjtJQUNBLE1BQU1DLFNBQVNMLE1BQU1FLFVBQVUsQ0FBQztJQUNoQyxJQUFJRyxRQUFRO1FBQ1ZMLFFBQVFBLE1BQU1JLEtBQUssQ0FBQztJQUN0QjtJQUNBLE9BQU87UUFBRUUsS0FBS047UUFBT0s7UUFBUUo7SUFBUztBQUN4QztBQUVBLFNBQVNNLHFCQUFxQkMsS0FBYTtJQUN6QyxNQUFNQyxXQUFXQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNGLE9BQU9KLEtBQUssQ0FBQyxHQUFHTyxLQUFLLENBQUM7SUFDM0QsTUFBTUMsU0FBeUMsQ0FBQztJQUNoRCxJQUFJQyxhQUFhO0lBQ2pCLE9BQU87UUFDTEMsb0JBQW9CTCxTQUNqQk0sR0FBRyxDQUFDLENBQUNDO1lBQ0osTUFBTUMsY0FBY0Msb0JBQUFBLDBCQUEwQixDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsSUFDbkRKLFFBQVFkLFVBQVUsQ0FBQ2tCO1lBRXJCLE1BQU1DLGVBQWVMLFFBQVFNLEtBQUssQ0FBQyx1QkFBdUIsdUJBQXVCOztZQUVqRixJQUFJTCxlQUFlSSxjQUFjO2dCQUMvQixNQUFNLEVBQUVmLEdBQUcsRUFBRUwsUUFBUSxFQUFF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LEdBQUdQLHFCQUFxQm1CO0lBQ3BELE1BQU0sRUFBRWtDLFdBQVcsSUFBSSxFQUFFLEdBQUdEO0lBQzVCLElBQUk3Qyx1QkFBdUIsS0FBSztRQUM5QixJQUFJK0MsZ0JBQWdCRCxXQUFXLE9BQU87UUFDdEMsT0FBTztZQUNMRixZQUFZLE9BQUtHLGdCQUFjO1FBQ2pDO0lBQ0Y7SUFFQSxNQUFNLEVBQUVWLHVCQUF1QixFQUFFLEdBQUdGLDBCQUNsQ3ZCLGlCQUNBO0lBRUYsSUFBSW9DLHVCQUF1QkYsV0FBVyxlQUFlO0lBQ3JELE9BQU87UUFDTEYsWUFBWSxNQUFJUCwwQkFBMEJXLHVCQUFxQjtJQUNqRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXgudHM/MTZhMSJdLCJuYW1lcyI6WyJnZXROYW1lZE1pZGRsZXdhcmVSZWdleCIsImdldE5hbWVkUm91dGVSZWdleCIsImdldFJvdXRlUmVnZXgiLCJORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCIsIk5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVgiLCJwYXJzZVBhcmFtZXRlciIsInBhcmFtIiwib3B0aW9uYWwiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzbGljZSIsInJlcGVhdCIsImtleSIsImdldFBhcmFtZXRyaXplZFJvdXRlIiwicm91dGUiLCJzZWdtZW50cyIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJzcGxpdCIsImdyb3VwcyIsImdyb3VwSW5kZXgiLCJwYXJhbWV0ZXJpemVkUm91dGUiLCJtYXAiLCJzZWdtZW50IiwibWFya2VyTWF0Y2giLCJJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyIsImZpbmQiLCJtIiwicGFyYW1NYXRjaGVzIiwibWF0Y2giLCJwb3MiLCJlc2NhcGVTdHJpbmdSZWdleHAiLCJqb2luIiwibm9ybWFsaXplZFJvdXRlIiwicmUiLCJSZWdFeHAiLCJidWlsZEdldFNhZmVSb3V0ZUtleSIsImkiLCJyb3V0ZUtleSIsImoiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJNYXRoIiwiZmxvb3IiLCJnZXRTYWZlS2V5RnJvbVNlZ21lbnQiLCJpbnRlcmNlcHRpb25NYXJrZXIiLCJnZXRTYWZlUm91dGVLZXkiLCJyb3V0ZUtleXMiLCJrZXlQcmVmaXgiLCJjbGVhbmVkS2V5IiwicmVwbGFjZSIsImludmFsaWRLZXkiLCJsZW5ndGgiLCJpc05hTiIsInBhcnNlSW50IiwiaW50ZXJjZXB0aW9uUHJlZml4IiwiZ2V0TmFtZWRQYXJhbWV0cml6ZWRSb3V0ZSIsInByZWZpeFJvdXRlS2V5cyIsIm5hbWVkUGFyYW1ldGVyaXplZFJvdXRlIiwiaGFzSW50ZXJjZXB0aW9uTWFya2VyIiwic29tZSIsInVzZWRNYXJrZXIiLCJ1bmRlZmluZWQiLCJwcmVmaXhSb3V0ZUtleSIsInJlc3VsdCIsIm5hbWVkUmVnZXgiLCJvcHRpb25zIiwiY2F0Y2hBbGwiLCJjYXRjaEFsbFJlZ2V4IiwiY2F0Y2hBbGxHcm91cGVkUmVnZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFxTWdCQTs7O2VBQUFBOzs7QUFyTWhCLE1BQU1DO0lBT0pDLE9BQU9DLE9BQWUsRUFBUTtRQUM1QixJQUFJLENBQUNDLE9BQU8sQ0FBQ0QsUUFBUUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQ0MsVUFBVSxFQUFFLEVBQUU7SUFDdkQ7SUFFQUMsU0FBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDckI7SUFFUUEsUUFBUUMsTUFBb0IsRUFBWTtRQUFoQ0EsSUFBQUEsV0FBQUEsS0FBQUEsR0FBQUEsU0FBaUI7UUFDL0IsTUFBTUMsZ0JBQWdCO2VBQUksSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FBRyxDQUFDQyxJQUFJO1FBQ3BELElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUMxQkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUNwRDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM5QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN2RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3RDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQ3pEO1FBRUEsTUFBTUcsU0FBU1QsY0FDWlUsR0FBRyxDQUFDLENBQUNDLElBQU0sSUFBSSxDQUFDVixRQUFRLENBQUNXLEdBQUcsQ0FBQ0QsR0FBSWIsT0FBTyxDQUFDLEtBQUdDLFNBQVNZLElBQUUsTUFDdkRFLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxPQUFTO21CQUFJRDttQkFBU0M7YUFBSyxFQUFFLEVBQUU7UUFFaEQsSUFBSSxJQUFJLENBQUNYLFFBQVEsS0FBSyxNQUFNO1lBQzFCSyxPQUFPTyxJ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QUFHLENBQUNiLGFBQWEsSUFBSXBDO1FBQ3JDO1FBRUEsSUFBSSxDQUFDVyxRQUFRLENBQ1ZXLEdBQUcsQ0FBQ2MsYUFDSmpDLE9BQU8sQ0FBQzZCLFNBQVNILEtBQUssQ0FBQyxJQUFJSSxXQUFXQztJQUMzQzs7YUFqTUFQLFdBQUFBLEdBQXVCO2FBQ3ZCaEIsUUFBQUEsR0FBaUMsSUFBSXVDO2FBQ3JDcEMsUUFBQUEsR0FBMEI7YUFDMUJHLFlBQUFBLEdBQThCO2FBQzlCQyxvQkFBQUEsR0FBc0M7O0FBOEx4QztBQUVPLFNBQVNuQixnQkFDZG9ELGVBQXNDO0lBRXRDLGtGQUFrRjtJQUNsRiw0RUFBNEU7SUFDNUUsMkNBQTJDO0lBRTNDLHlFQUF5RTtJQUN6RSwyQkFBMkI7SUFDM0Isb0NBQW9DO0lBQ3BDLDhFQUE4RTtJQUM5RSx3RUFBd0U7SUFDeEUsZ0hBQWdIO0lBQ2hILDRFQUE0RTtJQUM1RSxNQUFNQyxPQUFPLElBQUlwRDtJQUVqQiw2RkFBNkY7SUFDN0ZtRCxnQkFBZ0JOLE9BQU8sQ0FBQyxDQUFDUSxXQUFhRCxLQUFLbkQsTUFBTSxDQUFDb0Q7SUFDbEQsNEdBQTRHO0lBQzVHLE9BQU9ELEtBQUs3QyxNQUFNO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy50cz9kNTNiIl0sIm5hbWVzIjpbImdldFNvcnRlZFJvdXRlcyIsIlVybE5vZGUiLCJpbnNlcnQiLCJ1cmxQYXRoIiwiX2luc2VydCIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsInNtb29zaCIsIl9zbW9vc2giLCJwcmVmaXgiLCJjaGlsZHJlblBhdGhzIiwiY2hpbGRyZW4iLCJrZXlzIiwic29ydCIsInNsdWdOYW1lIiwic3BsaWNlIiwiaW5kZXhPZiIsInJlc3RTbHVnTmFtZSIsIm9wdGlvbmFsUmVzdFNsdWdOYW1lIiwicm91dGVzIiwibWFwIiwiYyIsImdldCIsInJlZHVjZSIsInByZXYiLCJjdXJyIiwicHVzaCIsInBsYWNlaG9sZGVyIiwiciIsInNsaWNlIiwiRXJyb3IiLCJ1bnNoaWZ0IiwidXJsUGF0aHMiLCJzbHVnTmFtZXMiLCJpc0NhdGNoQWxsIiwibGVuZ3RoIiwibmV4dFNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzZWdtZW50TmFtZSIsImlzT3B0aW9uYWwiLCJzdWJzdHJpbmciLCJoYW5kbGVTbHVnIiwicHJldmlvdXNTbHVnIiwibmV4dFNsdWciLCJmb3JFYWNoIiwic2x1ZyIsInJlcGxhY2UiLCJoYXMiLCJzZXQiLCJNYXAiLCJub3JtYWxpemVkUGFnZXMiLCJyb290IiwicGFnZVBhdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/runtime-config.external.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/runtime-config.external.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n setConfig: function() {\n return setConfig;\n }\n});\nlet runtimeConfig;\nconst _default = ()=>{\n return runtimeConfig;\n};\nfunction setConfig(configValue) {\n runtimeConfig = configValue;\n} //# sourceMappingURL=runtime-config.external.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcnVudGltZS1jb25maWcuZXh0ZXJuYWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBRUFBLFNBRUM7ZUFGREM7O0lBSWdCQyxXQUFTO2VBQVRBOzs7QUFOaEIsSUFBSUM7TUFFSkYsV0FBZTtJQUNiLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTRCxVQUFVRSxXQUFnQjtJQUN4Q0QsZ0JBQWdCQztBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcnVudGltZS1jb25maWcuZXh0ZXJuYWwudHM/YTliNCJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiX2RlZmF1bHQiLCJzZXRDb25maWciLCJydW50aW1lQ29uZmlnIiwiY29uZmlnVmFsdWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/runtime-config.external.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/segment.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/segment.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n isGroupSegment: function() {\n return isGroupSegment;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFNYUEscUJBQW1CO2VBQW5CQTs7SUFEQUMsa0JBQWdCO2VBQWhCQTs7SUFMR0MsZ0JBQWM7ZUFBZEE7OztBQUFULFNBQVNBLGVBQWVDLE9BQWU7SUFDNUMsc0NBQXNDO0lBQ3RDLE9BQU9BLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBT0EsUUFBUUMsUUFBUSxDQUFDO0FBQ2hEO0FBRU8sTUFBTUgsbUJBQW1CO0FBQ3pCLE1BQU1ELHNCQUFzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvc2VnbWVudC50cz9hZDI1Il0sIm5hbWVzIjpbIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJQQUdFX1NFR01FTlRfS0VZIiwiaXNHcm91cFNlZ21lbnQiLCJzZWdtZW50IiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/segment.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/side-effect.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst isServer = \"object\" === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n _s();\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n_s(SideEffect, \"gHVkikNHNxjVdD11eJBzaqkCiPY=\", false, function() {\n return [\n useClientOnlyLayoutEffect,\n useClientOnlyLayoutEffect,\n useClientOnlyEffect\n ];\n});\n_c = SideEffect;\nvar _c;\n$RefreshReg$(_c, \"SideEffect\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2lkZS1lZmZlY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OzJDQW9CQTs7O2VBQXdCQTs7O21DQW5CNkI7QUFlckQsTUFBTUMsV0FBVyxhQUFrQjtBQUNuQyxNQUFNQyw0QkFBNEJELFdBQVcsS0FBTyxJQUFJRSxPQUFBQSxlQUFlO0FBQ3ZFLE1BQU1DLHNCQUFzQkgsV0FBVyxLQUFPLElBQUlJLE9BQUFBLFNBQVM7QUFFNUMsU0FBU0wsV0FBV00sS0FBc0I7O0lBQ3ZELE1BQU0sRUFBRUMsV0FBVyxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHRjtJQUVqRCxTQUFTRztRQUNQLElBQUlGLGVBQWVBLFlBQVlHLGdCQUFnQixFQUFFO1lBQy9DLE1BQU1DLGVBQWVDLE9BQUFBLFFBQVEsQ0FBQ0MsT0FBTyxDQUNuQ0MsTUFBTUMsSUFBSSxDQUFDUixZQUFZRyxnQkFBZ0IsRUFBMEJNLE1BQU0sQ0FDckVDO1lBR0pWLFlBQVlXLFVBQVUsQ0FBQ1Ysd0JBQXdCRyxjQUFjTDtRQUMvRDtJQUNGO0lBRUEsSUFBSUwsVUFBVTtZQUNaTTtRQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxnQ0FBQUEsWUFBYUcsZ0JBQWdCLHFCQUE3QkgsOEJBQStCWSxHQUFHLENBQUNiLE1BQU1jLFFBQVE7UUFDakRYO0lBQ0Y7SUFFQVAsMEJBQTBCO1lBQ3hCSztRQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxnQ0FBQUEsWUFBYUcsZ0JBQWdCLHFCQUE3QkgsOEJBQStCWSxHQUFHLENBQUNiLE1BQU1jLFFBQVE7UUFDakQsT0FBTztnQkFDTGI7WUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQmMsTUFBTSxDQUFDZixNQUFNYyxRQUFRO1FBQ3REO0lBQ0Y7SUFFQSxrRkFBa0Y7SUFDbEYsb0ZBQW9GO0lBQ3BGLGdFQUFnRTtJQUNoRSxxRkFBcUY7SUFDckYsbUZBQW1GO0lBQ25GbEIsMEJBQTBCO1FBQ3hCLElBQUlLLGFBQWE7WUFDZkEsWUFBWWUsY0FBYyxHQUFHYjtRQUMvQjtRQUNBLE9BQU87WUFDTCxJQUFJRixhQUFhO2dCQUNmQSxZQUFZZSxjQUFjLEdBQUdiO1lBQy9CO1FBQ0Y7SUFDRjtJQUVBTCxvQkFBb0I7UUFDbEIsSUFBSUcsZUFBZUEsWUFBWWUsY0FBYyxFQUFFO1lBQzdDZixZQUFZZSxjQUFjO1lBQzFCZixZQUFZZSxjQUFjLEdBQUc7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSWYsZUFBZUEsWUFBWWUsY0FBYyxFQUFFO2dCQUM3Q2YsWUFBWWUsY0FBYztnQkFDMUJmLFlBQVllLGNBQWMsR0FBRztZQUMvQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPO0FBQ1Q7R0F4RHdCdEI7O1FBbUJ0QkU7UUFZQUE7UUFXQUU7OztLQTFDc0JKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC50c3g/ZThkZCJdLCJuYW1lcyI6WyJTaWRlRWZmZWN0IiwiaXNTZXJ2ZXIiLCJ1c2VDbGllbnRPbmx5TGF5b3V0RWZmZWN0IiwidXNlTGF5b3V0RWZmZWN0IiwidXNlQ2xpZW50T25seUVmZmVjdCIsInVzZUVmZmVjdCIsInByb3BzIiwiaGVhZE1hbmFnZXIiLCJyZWR1Y2VDb21wb25lbnRzVG9TdGF0ZSIsImVtaXRDaGFuZ2UiLCJtb3VudGVkSW5zdGFuY2VzIiwiaGVhZEVsZW1lbnRzIiwiQ2hpbGRyZW4iLCJ0b0FycmF5IiwiQXJyYXkiLCJmcm9tIiwiZmlsdGVyIiwiQm9vbGVhbiIsInVwZGF0ZUhlYWQiLCJhZGQiLCJjaGlsZHJlbiIsImRlbGV0ZSIsIl9wZW5kaW5nVXBkYXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/side-effect.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBb2FhQSxhQUFXO2VBQVhBOztJQW9CQUMseUJBQXVCO2VBQXZCQTs7SUFQQUMsbUJBQWlCO2VBQWpCQTs7SUFaQUMsZ0JBQWM7ZUFBZEE7O0lBQ0FDLG1CQUFpQjtlQUFqQkE7O0lBVEFDLElBQUU7ZUFBRkE7O0lBQ0FDLElBQUU7ZUFBRkE7O0lBbFhBQyxZQUFVO2VBQVZBOztJQXNRR0MsVUFBUTtlQUFSQTs7SUErQkFDLGdCQUFjO2VBQWRBOztJQVhBQyxtQkFBaUI7ZUFBakJBOztJQUtBQyxRQUFNO2VBQU5BOztJQVBIQyxlQUFhO2VBQWJBOztJQW1CR0MsV0FBUztlQUFUQTs7SUFrQk1DLHFCQUFtQjtlQUFuQkE7O0lBZE5DLDBCQUF3QjtlQUF4QkE7O0lBK0dBQyxnQkFBYztlQUFkQTs7O0FBOVpULE1BQU1ULGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQXNROUQsU0FBU0MsU0FDZFMsRUFBSztJQUVMLElBQUlDLE9BQU87SUFDWCxJQUFJQztJQUVKLE9BQVE7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUNWLElBQUksQ0FBQ0YsTUFBTTtZQUNUQSxPQUFPO1lBQ1BDLFNBQVNGLE1BQU1HO1FBQ2pCO1FBQ0EsT0FBT0Q7SUFDVDtBQUNGO0FBRUEsMERBQTBEO0FBQzFELGdFQUFnRTtBQUNoRSxNQUFNRSxxQkFBcUI7QUFDcEIsTUFBTVQsZ0JBQWdCLENBQUNVLE1BQWdCRCxtQkFBbUJFLElBQUksQ0FBQ0Q7QUFFL0QsU0FBU1o7SUFDZCxNQUFNLEVBQUVjLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsT0FBT0MsUUFBUTtJ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QUFFWixPQUFlLENBQUU7UUFDekMsS0FBSztRQUNMLElBQUksQ0FBQ0EsT0FBTyxHQUFHLDBDQUF3Q1ksT0FBSyxNQUFHWjtJQUNqRTtBQUNGO0FBRU8sTUFBTWpELGdDQUFnQ2tEO0lBRTNDVSxhQUFjO1FBQ1osS0FBSztRQUNMLElBQUksQ0FBQ0UsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDYixPQUFPLEdBQUk7SUFDbEI7QUFDRjtBQVdPLFNBQVNsQyxlQUFlZ0QsS0FBWTtJQUN6QyxPQUFPQyxLQUFLQyxTQUFTLENBQUM7UUFBRWhCLFNBQVNjLE1BQU1kLE9BQU87UUFBRWlCLE9BQU9ILE1BQU1HLEtBQUs7SUFBQztBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvdXRpbHMudHM/MWJkNSJdLCJuYW1lcyI6WyJEZWNvZGVFcnJvciIsIk1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIiwiTWlzc2luZ1N0YXRpY1BhZ2UiLCJOb3JtYWxpemVFcnJvciIsIlBhZ2VOb3RGb3VuZEVycm9yIiwiU1AiLCJTVCIsIldFQl9WSVRBTFMiLCJleGVjT25jZSIsImdldERpc3BsYXlOYW1lIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJnZXRVUkwiLCJpc0Fic29sdXRlVXJsIiwiaXNSZXNTZW50IiwibG9hZEdldEluaXRpYWxQcm9wcyIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsInN0cmluZ2lmeUVycm9yIiwiZm4iLCJ1c2VkIiwicmVzdWx0IiwiYXJncyIsIkFCU09MVVRFX1VSTF9SRUdFWCIsInVybCIsInRlc3QiLCJwcm90b2NvbCIsImhvc3RuYW1lIiwicG9ydCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsIm9yaWdpbiIsInN1YnN0cmluZyIsImxlbmd0aCIsIkNvbXBvbmVudCIsImRpc3BsYXlOYW1lIiwibmFtZSIsInJlcyIsImZpbmlzaGVkIiwiaGVhZGVyc1NlbnQiLCJ1cmxQYXJ0cyIsInNwbGl0IiwidXJsTm9RdWVyeSIsInJlcGxhY2UiLCJzbGljZSIsImpvaW4iLCJBcHAiLCJjdHgiLCJwcm9jZXNzIiwicHJvdG90eXBlIiwiZ2V0SW5pdGlhbFByb3BzIiwibWVzc2FnZSIsIkVycm9yIiwicGFnZVByb3BzIiwicHJvcHMiLCJPYmplY3QiLCJrZXlzIiwiY29uc29sZSIsIndhcm4iLCJwZXJmb3JtYW5jZSIsImV2ZXJ5IiwibWV0aG9kIiwiY29uc3RydWN0b3IiLCJwYWdlIiwiY29kZSIsImVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/utils/warn-once.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NENBV1NBOzs7ZUFBQUE7OztBQVhULElBQUlBLFdBQVcsQ0FBQ0MsS0FBZTtBQUMvQixJQUFJQyxJQUF5QixFQUFjO0lBQ3pDLE1BQU1DLFdBQVcsSUFBSUM7SUFDckJKLFdBQVcsQ0FBQ0s7UUFDVixJQUFJLENBQUNGLFNBQVNHLEdBQUcsQ0FBQ0QsTUFBTTtZQUN0QkUsUUFBUUMsSUFBSSxDQUFDSDtRQUNmO1FBQ0FGLFNBQVNNLEdBQUcsQ0FBQ0o7SUFDZjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UudHM/ZDA0MSJdLCJuYW1lcyI6WyJ3YXJuT25jZSIsIl8iLCJwcm9jZXNzIiwid2FybmluZ3MiLCJTZXQiLCJtc2ciLCJoYXMiLCJjb25zb2xlIiwid2FybiIsImFkZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils/warn-once.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/anser/index.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/compiled/anser/index.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";var e={211:e=>{var r=function(){function defineProperties(e,r){for(var n=0;n<r.length;n++){var s=r[n];s.enumerable=s.enumerable||false;s.configurable=true;if(\"value\"in s)s.writable=true;Object.defineProperty(e,s.key,s)}}return function(e,r,n){if(r)defineProperties(e.prototype,r);if(n)defineProperties(e,n);return e}}();function _classCallCheck(e,r){if(!(e instanceof r)){throw new TypeError(\"Cannot call a class as a function\")}}var n=[[{color:\"0, 0, 0\",class:\"ansi-black\"},{color:\"187, 0, 0\",class:\"ansi-red\"},{color:\"0, 187, 0\",class:\"ansi-green\"},{color:\"187, 187, 0\",class:\"ansi-yellow\"},{color:\"0, 0, 187\",class:\"ansi-blue\"},{color:\"187, 0, 187\",class:\"ansi-magenta\"},{color:\"0, 187, 187\",class:\"ansi-cyan\"},{color:\"255,255,255\",class:\"ansi-white\"}],[{color:\"85, 85, 85\",class:\"ansi-bright-black\"},{color:\"255, 85, 85\",class:\"ansi-bright-red\"},{color:\"0, 255, 0\",class:\"ansi-bright-green\"},{color:\"255, 255, 85\",class:\"ansi-bright-yellow\"},{color:\"85, 85, 255\",class:\"ansi-bright-blue\"},{color:\"255, 85, 255\",class:\"ansi-bright-magenta\"},{color:\"85, 255, 255\",class:\"ansi-bright-cyan\"},{color:\"255, 255, 255\",class:\"ansi-bright-white\"}]];var s=function(){r(Anser,null,[{key:\"escapeForHtml\",value:function escapeForHtml(e){return(new Anser).escapeForHtml(e)}},{key:\"linkify\",value:function linkify(e){return(new Anser).linkify(e)}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return(new Anser).ansiToHtml(e,r)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){return(new Anser).ansiToJson(e,r)}},{key:\"ansiToText\",value:function ansiToText(e){return(new Anser).ansiToText(e)}}]);function Anser(){_classCallCheck(this,Anser);this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null;this.bright=0}r(Anser,[{key:\"setupPalette\",value:function setupPalette(){this.PALETTE_COLORS=[];for(var e=0;e<2;++e){for(var r=0;r<8;++r){this.PALETTE_COLORS.push(n[e][r].color)}}var s=[0,95,135,175,215,255];var i=function format(e,r,n){return s[e]+\", \"+s[r]+\", \"+s[n]};var t=void 0,o=void 0,a=void 0;for(var l=0;l<6;++l){for(var c=0;c<6;++c){for(var u=0;u<6;++u){this.PALETTE_COLORS.push(i(l,c,u))}}}var f=8;for(var h=0;h<24;++h,f+=10){this.PALETTE_COLORS.push(i(f,f,f))}}},{key:\"escapeForHtml\",value:function escapeForHtml(e){return e.replace(/[&<>]/gm,(function(e){return e==\"&\"?\"&\":e==\"<\"?\"<\":e==\">\"?\">\":\"\"}))}},{key:\"linkify\",value:function linkify(e){return e.replace(/(https?:\\/\\/[^\\s]+)/gm,(function(e){return'<a href=\"'+e+'\">'+e+\"</a>\"}))}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return this.process(e,r,true)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){r=r||{};r.json=true;r.clearLine=false;return this.process(e,r,true)}},{key:\"ansiToText\",value:function ansiToText(e){return this.process(e,{},false)}},{key:\"process\",value:function process(e,r,n){var s=this;var i=this;var t=e.split(/\\033\\[/);var o=t.shift();if(r===undefined||r===null){r={}}r.clearLine=/\\r/.test(e);var a=t.map((function(e){return s.processChunk(e,r,n)}));if(r&&r.json){var l=i.processChunkJson(\"\");l.content=o;l.clearLine=r.clearLine;a.unshift(l);if(r.remove_empty){a=a.filter((function(e){return!e.isEmpty()}))}return a}else{a.unshift(o)}return a.join(\"\")}},{key:\"processChunkJson\",value:function processChunkJson(e,r,s){r=typeof r==\"undefined\"?{}:r;var i=r.use_classes=typeof r.use_classes!=\"undefined\"&&r.use_classes;var t=r.key=i?\"class\":\"color\";var o={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:r.clearLine,decoration:null,was_processed:false,isEmpty:function isEmpty(){return!o.content}};var a=e.match(/^([!\\x3c-\\x3f]*)([\\d;]*)([\\x20-\\x2c]*[\\x40-\\x7e])([\\s\\S]*)/m);if(!a)return o;var l=o.content=a[4];var c=a[2].split(\";\");if(a[1]!==\"\"||a[3]!==\"m\"){return o}if(!s){return o}var u=this;u.decoration=null;while(c.length>0){var f=c.shift();var h=parseInt(f);if(isNaN(h)||h===0){u.fg=u.bg=u.decoration=null}else if(h===1){u.decoration=\"bold\"}else if(h===2){u.decoration=\"dim\"}else if(h==3){u.decoration=\"italic\"}else if(h==4){u.decoration=\"underline\"}else if(h==5){u.decoration=\"blink\"}else if(h===7){u.decoration=\"reverse\"}else if(h===8){u.decoration=\"hidden\"}else if(h===9){u.decoration=\"strikethrough\"}else if(h==39){u.fg=null}else if(h==49){u.bg=null}else if(h>=30&&h<38){u.fg=n[0][h%10][t]}else if(h>=90&&h<98){u.fg=n[1][h%10][t]}else if(h>=40&&h<48){u.bg=n[0][h%10][t]}else if(h>=100&&h<108){u.bg=n[1][h%10][t]}else if(h===38||h===48){var p=h===38;if(c.length>=1){var g=c.shift();if(g===\"5\"&&c.length>=1){var v=parseInt(c.shift());if(v>=0&&v<=255){if(!i){if(!this.PALETTE_COLORS){u.setupPalette()}if(p){u.fg=this.PALETTE_COLORS[v]}else{u.bg=this.PALETTE_COLORS[v]}}else{var d=v>=16?\"ansi-palette-\"+v:n[v>7?1:0][v%8][\"class\"];if(p){u.fg=d}else{u.bg=d}}}}else if(g===\"2\"&&c.length>=3){var _=parseInt(c.shift());var b=parseInt(c.shift());var y=parseInt(c.shift());if(_>=0&&_<=255&&b>=0&&b<=255&&y>=0&&y<=255){var k=_+\", \"+b+\", \"+y;if(!i){if(p){u.fg=k}else{u.bg=k}}else{if(p){u.fg=\"ansi-truecolor\";u.fg_truecolor=k}else{u.bg=\"ansi-truecolor\";u.bg_truecolor=k}}}}}}}if(u.fg===null&&u.bg===null&&u.decoration===null){return o}else{var T=[];var m=[];var w={};o.fg=u.fg;o.bg=u.bg;o.fg_truecolor=u.fg_truecolor;o.bg_truecolor=u.bg_truecolor;o.decoration=u.decoration;o.was_processed=true;return o}}},{key:\"processChunk\",value:function processChunk(e,r,n){var s=this;var i=this;r=r||{};var t=this.processChunkJson(e,r,n);if(r.json){return t}if(t.isEmpty()){return\"\"}if(!t.was_processed){return t.content}var o=r.use_classes;var a=[];var l=[];var c={};var u=function render_data(e){var r=[];var n=void 0;for(n in e){if(e.hasOwnProperty(n)){r.push(\"data-\"+n+'=\"'+s.escapeForHtml(e[n])+'\"')}}return r.length>0?\" \"+r.join(\" \"):\"\"};if(t.fg){if(o){l.push(t.fg+\"-fg\");if(t.fg_truecolor!==null){c[\"ansi-truecolor-fg\"]=t.fg_truecolor;t.fg_truecolor=null}}else{a.push(\"color:rgb(\"+t.fg+\")\")}}if(t.bg){if(o){l.push(t.bg+\"-bg\");if(t.bg_truecolor!==null){c[\"ansi-truecolor-bg\"]=t.bg_truecolor;t.bg_truecolor=null}}else{a.push(\"background-color:rgb(\"+t.bg+\")\")}}if(t.decoration){if(o){l.push(\"ansi-\"+t.decoration)}else if(t.decoration===\"bold\"){a.push(\"font-weight:bold\")}else if(t.decoration===\"dim\"){a.push(\"opacity:0.5\")}else if(t.decoration===\"italic\"){a.push(\"font-style:italic\")}else if(t.decoration===\"reverse\"){a.push(\"filter:invert(100%)\")}else if(t.decoration===\"hidden\"){a.push(\"visibility:hidden\")}else if(t.decoration===\"strikethrough\"){a.push(\"text-decoration:line-through\")}else{a.push(\"text-decoration:\"+t.decoration)}}if(o){return'<span class=\"'+l.join(\" \")+'\"'+u(c)+\">\"+t.content+\"</span>\"}else{return'<span style=\"'+a.join(\";\")+'\"'+u(c)+\">\"+t.content+\"</span>\"}}}]);return Anser}();e.exports=s}};var r={};function __nccwpck_require__(n){var s=r[n];if(s!==undefined){return s.exports}var i=r[n]={exports:{}};var t=true;try{e[n](i,i.exports,__nccwpck_require__);t=false}finally{if(t)delete r[n]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n=__nccwpck_require__(211);module.exports=n})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLGFBQWEsT0FBTyxRQUFRLGlCQUFpQiwrQkFBK0IsWUFBWSxXQUFXLEtBQUssV0FBVyxpQ0FBaUMsb0JBQW9CLCtCQUErQixrQ0FBa0MsdUJBQXVCLHFDQUFxQywyQkFBMkIsVUFBVSxHQUFHLDhCQUE4QixzQkFBc0IsMERBQTBELFNBQVMsbUNBQW1DLEVBQUUsbUNBQW1DLEVBQUUscUNBQXFDLEVBQUUsd0NBQXdDLEVBQUUsb0NBQW9DLEVBQUUseUNBQXlDLEVBQUUsc0NBQXNDLEVBQUUsdUNBQXVDLElBQUksNkNBQTZDLEVBQUUsNENBQTRDLEVBQUUsNENBQTRDLEVBQUUsZ0RBQWdELEVBQUUsNkNBQTZDLEVBQUUsaURBQWlELEVBQUUsOENBQThDLEVBQUUsZ0RBQWdELEdBQUcsaUJBQWlCLGVBQWUsb0RBQW9ELG9DQUFvQyxFQUFFLHdDQUF3Qyw4QkFBOEIsRUFBRSxnREFBZ0QsbUNBQW1DLEVBQUUsZ0RBQWdELG1DQUFtQyxFQUFFLDhDQUE4QyxpQ0FBaUMsR0FBRyxpQkFBaUIsNEJBQTRCLHlEQUF5RCxjQUFjLFVBQVUsaURBQWlELHVCQUF1QixZQUFZLElBQUksS0FBSyxZQUFZLElBQUksS0FBSyx5Q0FBeUMsNkJBQTZCLDZCQUE2QixpQ0FBaUMsK0JBQStCLFlBQVksSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLHFDQUFxQyxRQUFRLFlBQVksS0FBSyxXQUFXLHFDQUFxQyxFQUFFLG9EQUFvRCx3Q0FBd0Msb0JBQW9CLGNBQWMsY0FBYyxLQUFLLElBQUksRUFBRSx3Q0FBd0Msc0RBQXNELGtDQUFrQyxJQUFJLEVBQUUsZ0RBQWdELCtCQUErQixFQUFFLGdEQUFnRCxRQUFRLFlBQVksa0JBQWtCLCtCQUErQixFQUFFLDhDQUE4Qyx3QkFBd0IsU0FBUyxFQUFFLDRDQUE0QyxXQUFXLFdBQVcsd0JBQXdCLGdCQUFnQiw0QkFBNEIsS0FBSyx5QkFBeUIseUJBQXlCLDZCQUE2QixHQUFHLGNBQWMsNkJBQTZCLFlBQVksd0JBQXdCLGFBQWEsbUJBQW1CLHdCQUF3QixtQkFBbUIsR0FBRyxTQUFTLEtBQUssYUFBYSxtQkFBbUIsRUFBRSw4REFBOEQsMEJBQTBCLEdBQUcscUVBQXFFLDhCQUE4QixPQUFPLG1KQUFtSixtQkFBbUIsb0NBQW9DLHlDQUF5QyxlQUFlLHFCQUFxQixtQkFBbUIsR0FBRywwQkFBMEIsU0FBUyxPQUFPLFNBQVMsV0FBVyxrQkFBa0Isa0JBQWtCLGdCQUFnQixrQkFBa0Isb0JBQW9CLDRCQUE0QixlQUFlLG9CQUFvQixlQUFlLG1CQUFtQixjQUFjLHNCQUFzQixjQUFjLHlCQUF5QixjQUFjLHFCQUFxQixlQUFlLHVCQUF1QixlQUFlLHNCQUFzQixlQUFlLDZCQUE2QixlQUFlLFVBQVUsZUFBZSxVQUFVLHFCQUFxQixtQkFBbUIscUJBQXFCLG1CQUFtQixxQkFBcUIsbUJBQW1CLHVCQUF1QixtQkFBbUIsd0JBQXdCLGFBQWEsZ0JBQWdCLGdCQUFnQix5QkFBeUIsMEJBQTBCLGlCQUFpQixPQUFPLHlCQUF5QixpQkFBaUIsTUFBTSw0QkFBNEIsS0FBSyw2QkFBNkIsS0FBSyx1REFBdUQsTUFBTSxPQUFPLEtBQUssVUFBVSw4QkFBOEIsMEJBQTBCLDBCQUEwQiwwQkFBMEIsNkNBQTZDLHNCQUFzQixPQUFPLE1BQU0sT0FBTyxLQUFLLFFBQVEsS0FBSyxNQUFNLHNCQUFzQixpQkFBaUIsS0FBSyxzQkFBc0IsdUJBQXVCLGtEQUFrRCxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsVUFBVSxVQUFVLDhCQUE4Qiw4QkFBOEIsMEJBQTBCLHFCQUFxQixXQUFXLEVBQUUsc0RBQXNELFdBQVcsV0FBVyxRQUFRLG1DQUFtQyxXQUFXLFNBQVMsZ0JBQWdCLFNBQVMscUJBQXFCLGlCQUFpQixvQkFBb0IsU0FBUyxTQUFTLFNBQVMsOEJBQThCLFNBQVMsYUFBYSxZQUFZLHdCQUF3QixrREFBa0Qsc0NBQXNDLFNBQVMsTUFBTSxtQkFBbUIsMEJBQTBCLHNDQUFzQyxxQkFBcUIsS0FBSywrQkFBK0IsU0FBUyxNQUFNLG1CQUFtQiwwQkFBMEIsc0NBQXNDLHFCQUFxQixLQUFLLDBDQUEwQyxpQkFBaUIsTUFBTSw2QkFBNkIsK0JBQStCLDJCQUEyQiw4QkFBOEIsc0JBQXNCLGlDQUFpQyw0QkFBNEIsa0NBQWtDLDhCQUE4QixpQ0FBaUMsNEJBQTRCLHdDQUF3Qyx1Q0FBdUMsS0FBSyx5Q0FBeUMsTUFBTSxtRUFBbUUsS0FBSywrQkFBK0Isc0NBQXNDLEdBQUcsYUFBYSxHQUFHLGNBQWMsU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzPzQyZGQiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezIxMTplPT57dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKGUscil7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBzPXJbbl07cy5lbnVtZXJhYmxlPXMuZW51bWVyYWJsZXx8ZmFsc2U7cy5jb25maWd1cmFibGU9dHJ1ZTtpZihcInZhbHVlXCJpbiBzKXMud3JpdGFibGU9dHJ1ZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxzLmtleSxzKX19cmV0dXJuIGZ1bmN0aW9uKGUscixuKXtpZihyKWRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUscik7aWYobilkZWZpbmVQcm9wZXJ0aWVzKGUsbik7cmV0dXJuIGV9fSgpO2Z1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhlLHIpe2lmKCEoZSBpbnN0YW5jZW9mIHIpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfX12YXIgbj1bW3tjb2xvcjpcIjAsIDAsIDBcIixjbGFzczpcImFuc2ktYmxhY2tcIn0se2NvbG9yOlwiMTg3LCAwLCAwXCIsY2xhc3M6XCJhbnNpLXJlZFwifSx7Y29sb3I6XCIwLCAxODcsIDBcIixjbGFzczpcImFuc2ktZ3JlZW5cIn0se2NvbG9yOlwiMTg3LCAxODcsIDBcIixjbGFzczpcImFuc2kteWVsbG93XCJ9LHtjb2xvcjpcIjAsIDAsIDE4N1wiLGNsYXNzOlwiYW5zaS1ibHVlXCJ9LHtjb2xvcjpcIjE4NywgMCwgMTg3XCIsY2xhc3M6XCJhbnNpLW1hZ2VudGFcIn0se2NvbG9yOlwiMCwgMTg3LCAxODdcIixjbGFzczpcImFuc2ktY3lhblwifSx7Y29sb3I6XCIyNTUsMjU1LDI1NVwiLGNsYXNzOlwiYW5zaS13aGl0ZVwifV0sW3tjb2xvcjpcIjg1LCA4NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LWJsYWNrXCJ9LHtjb2xvcjpcIjI1NSwgODUsIDg1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1yZWRcIn0se2NvbG9yOlwiMCwgMjU1LCAwXCIsY2xhc3M6XCJhbnNpLWJyaWdodC1ncmVlblwifSx7Y29sb3I6XCIyNTUsIDI1NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXllbGxvd1wifSx7Y29sb3I6XCI4NSwgODUsIDI1NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtYmx1ZVwifSx7Y29sb3I6XCIyNTUsIDg1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LW1hZ2VudGFcIn0se2NvbG9yOlwiODUsIDI1NSwgMjU1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1jeWFuXCJ9LHtjb2xvcjpcIjI1NSwgMjU1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXdoaXRlXCJ9XV07dmFyIHM9ZnVuY3Rpb24oKXtyKEFuc2VyLG51bGwsW3trZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4obmV3IEFuc2VyKS5lc2NhcGVGb3JIdG1sKGUpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybihuZXcgQW5zZXIpLmxpbmtpZnkoZSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9IdG1sKGUscil9fSx7a2V5OlwiYW5zaVRvSnNvblwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0pzb24oZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9Kc29uKGUscil9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuKG5ldyBBbnNlcikuYW5zaVRvVGV4dChlKX19XSk7ZnVuY3Rpb24gQW5zZXIoKXtfY2xhc3NDYWxsQ2hlY2sodGhpcyxBbnNlcik7dGhpcy5mZz10aGlzLmJnPXRoaXMuZmdfdHJ1ZWNvbG9yPXRoaXMuYmdfdHJ1ZWNvbG9yPW51bGw7dGhpcy5icmlnaHQ9MH1yKEFuc2VyLFt7a2V5Olwic2V0dXBQYWxldHRlXCIsdmFsdWU6ZnVuY3Rpb24gc2V0dXBQYWxldHRlKCl7dGhpcy5QQUxFVFRFX0NPTE9SUz1bXTtmb3IodmFyIGU9MDtlPDI7KytlKXtmb3IodmFyIHI9MDtyPDg7KytyKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2gobltlXVtyXS5jb2xvcil9fXZhciBzPVswLDk1LDEzNSwxNzUsMjE1LDI1NV07dmFyIGk9ZnVuY3Rpb24gZm9ybWF0KGUscixuKXtyZXR1cm4gc1tlXStcIiwgXCIrc1tyXStcIiwgXCIrc1tuXX07dmFyIHQ9dm9pZCAwLG89dm9pZCAwLGE9dm9pZCAwO2Zvcih2YXIgbD0wO2w8NjsrK2wpe2Zvcih2YXIgYz0wO2M8NjsrK2Mpe2Zvcih2YXIgdT0wO3U8NjsrK3Upe3RoaXMuUEFMRVRURV9DT0xPUlMucHVzaChpKGwsYyx1KSl9fX12YXIgZj04O2Zvcih2YXIgaD0wO2g8MjQ7KytoLGYrPTEwKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2goaShmLGYsZikpfX19LHtrZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4gZS5yZXBsYWNlKC9bJjw+XS9nbSwoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PVwiJlwiP1wiJmFtcDtcIjplPT1cIjxcIj9cIiZsdDtcIjplPT1cIj5cIj9cIiZndDtcIjpcIlwifSkpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybiBlLnJlcGxhY2UoLyhodHRwcz86XFwvXFwvW15cXHNdKykvZ20sKGZ1bmN0aW9uKGUpe3JldHVybic8YSBocmVmPVwiJytlKydcIj4nK2UrXCI8L2E+XCJ9KSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4gdGhpcy5wcm9jZXNzKGUscix0cnVlKX19LHtrZXk6XCJhbnNpVG9Kc29uXCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvSnNvbihlLHIpe3I9cnx8e307ci5qc29uPXRydWU7ci5jbGVhckxpbmU9ZmFsc2U7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHIsdHJ1ZSl9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHt9LGZhbHNlKX19LHtrZXk6XCJwcm9jZXNzXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2VzcyhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3ZhciB0PWUuc3BsaXQoL1xcMDMzXFxbLyk7dmFyIG89dC5zaGlmdCgpO2lmKHI9PT11bmRlZmluZWR8fHI9PT1udWxsKXtyPXt9fXIuY2xlYXJMaW5lPS9cXHIvLnRlc3QoZSk7dmFyIGE9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBzLnByb2Nlc3NDaHVuayhlLHIsbil9KSk7aWYociYmci5qc29uKXt2YXIgbD1pLnByb2Nlc3NDaHVua0pzb24oXCJcIik7bC5jb250ZW50PW87bC5jbGVhckxpbmU9ci5jbGVhckxpbmU7YS51bnNoaWZ0KGwpO2lmKHIucmVtb3ZlX2VtcHR5KXthPWEuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4hZS5pc0VtcHR5KCl9KSl9cmV0dXJuIGF9ZWxzZXthLnVuc2hpZnQobyl9cmV0dXJuIGEuam9pbihcIlwiKX19LHtrZXk6XCJwcm9jZXNzQ2h1bmtKc29uXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2Vzc0NodW5rSnNvbihlLHIscyl7cj10eXBlb2Ygcj09XCJ1bmRlZmluZWRcIj97fTpyO3ZhciBpPXIudXNlX2NsYXNzZXM9dHlwZW9mIHIudXNlX2NsYXNzZXMhPVwidW5kZWZpbmVkXCImJnIudXNlX2NsYXNzZXM7dmFyIHQ9ci5rZXk9aT9cImNsYXNzXCI6XCJjb2xvclwiO3ZhciBvPXtjb250ZW50OmUsZmc6bnVsbCxiZzpudWxsLGZnX3RydWVjb2xvcjpudWxsLGJnX3RydWVjb2xvcjpudWxsLGNsZWFyTGluZTpyLmNsZWFyTGluZSxkZWNvcmF0aW9uOm51bGwsd2FzX3Byb2Nlc3NlZDpmYWxzZSxpc0VtcHR5OmZ1bmN0aW9uIGlzRW1wdHkoKXtyZXR1cm4hby5jb250ZW50fX07dmFyIGE9ZS5tYXRjaCgvXihbIVxceDNjLVxceDNmXSopKFtcXGQ7XSopKFtcXHgyMC1cXHgyY10qW1xceDQwLVxceDdlXSkoW1xcc1xcU10qKS9tKTtpZighYSlyZXR1cm4gbzt2YXIgbD1vLmNvbnRlbnQ9YVs0XTt2YXIgYz1hWzJdLnNwbGl0KFwiO1wiKTtpZihhWzFdIT09XCJcInx8YVszXSE9PVwibVwiKXtyZXR1cm4gb31pZighcyl7cmV0dXJuIG99dmFyIHU9dGhpczt1LmRlY29yYXRpb249bnVsbDt3aGlsZShjLmxlbmd0aD4wKXt2YXIgZj1jLnNoaWZ0KCk7dmFyIGg9cGFyc2VJbnQoZik7aWYoaXNOYU4oaCl8fGg9PT0wKXt1LmZnPXUuYmc9dS5kZWNvcmF0aW9uPW51bGx9ZWxzZSBpZihoPT09MSl7dS5kZWNvcmF0aW9uPVwiYm9sZFwifWVsc2UgaWYoaD09PTIpe3UuZGVjb3JhdGlvbj1cImRpbVwifWVsc2UgaWYoaD09Myl7dS5kZWNvcmF0aW9uPVwiaXRhbGljXCJ9ZWxzZSBpZihoPT00KXt1LmRlY29yYXRpb249XCJ1bmRlcmxpbmVcIn1lbHNlIGlmKGg9PTUpe3UuZGVjb3JhdGlvbj1cImJsaW5rXCJ9ZWxzZSBpZihoPT09Nyl7dS5kZWNvcmF0aW9uPVwicmV2ZXJzZVwifWVsc2UgaWYoaD09PTgpe3UuZGVjb3JhdGlvbj1cImhpZGRlblwifWVsc2UgaWYoaD09PTkpe3UuZGVjb3JhdGlvbj1cInN0cmlrZXRocm91Z2hcIn1lbHNlIGlmKGg9PTM5KXt1LmZnPW51bGx9ZWxzZSBpZihoPT00OSl7dS5iZz1udWxsfWVsc2UgaWYoaD49MzAmJmg8Mzgpe3UuZmc9blswXVtoJTEwXVt0XX1lbHNlIGlmKGg+PTkwJiZoPDk4KXt1LmZnPW5bMV1baCUxMF1bdF19ZWxzZSBpZihoPj00MCYmaDw0OCl7dS5iZz1uWzBdW2glMTBdW3RdfWVsc2UgaWYoaD49MTAwJiZoPDEwOCl7dS5iZz1uWzFdW2glMTBdW3RdfWVsc2UgaWYoaD09PTM4fHxoPT09NDgpe3ZhciBwPWg9PT0zODtpZihjLmxlbmd0aD49MSl7dmFyIGc9Yy5zaGlmdCgpO2lmKGc9PT1cIjVcIiYmYy5sZW5ndGg+PTEpe3ZhciB2PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYodj49MCYmdjw9MjU1KXtpZighaSl7aWYoIXRoaXMuUEFMRVRURV9DT0xPUlMpe3Uuc2V0dXBQYWxldHRlKCl9aWYocCl7dS5mZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfWVsc2V7dS5iZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfX1lbHNle3ZhciBkPXY+PTE2P1wiYW5zaS1wYWxldHRlLVwiK3Y6blt2Pjc/MTowXVt2JThdW1wiY2xhc3NcIl07aWYocCl7dS5mZz1kfWVsc2V7dS5iZz1kfX19fWVsc2UgaWYoZz09PVwiMlwiJiZjLmxlbmd0aD49Myl7dmFyIF89cGFyc2VJbnQoYy5zaGlmdCgpKTt2YXIgYj1wYXJzZUludChjLnNoaWZ0KCkpO3ZhciB5PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYoXz49MCYmXzw9MjU1JiZiPj0wJiZiPD0yNTUmJnk+PTAmJnk8PTI1NSl7dmFyIGs9XytcIiwgXCIrYitcIiwgXCIreTtpZighaSl7aWYocCl7dS5mZz1rfWVsc2V7dS5iZz1rfX1lbHNle2lmKHApe3UuZmc9XCJhbnNpLXRydWVjb2xvclwiO3UuZmdfdHJ1ZWNvbG9yPWt9ZWxzZXt1LmJnPVwiYW5zaS10cnVlY29sb3JcIjt1LmJnX3RydWVjb2xvcj1rfX19fX19fWlmKHUuZmc9PT1udWxsJiZ1LmJnPT09bnVsbCYmdS5kZWNvcmF0aW9uPT09bnVsbCl7cmV0dXJuIG99ZWxzZXt2YXIgVD1bXTt2YXIgbT1bXTt2YXIgdz17fTtvLmZnPXUuZmc7by5iZz11LmJnO28uZmdfdHJ1ZWNvbG9yPXUuZmdfdHJ1ZWNvbG9yO28uYmdfdHJ1ZWNvbG9yPXUuYmdfdHJ1ZWNvbG9yO28uZGVjb3JhdGlvbj11LmRlY29yYXRpb247by53YXNfcHJvY2Vzc2VkPXRydWU7cmV0dXJuIG99fX0se2tleTpcInByb2Nlc3NDaHVua1wiLHZhbHVlOmZ1bmN0aW9uIHByb2Nlc3NDaHVuayhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3I9cnx8e307dmFyIHQ9dGhpcy5wcm9jZXNzQ2h1bmtKc29uKGUscixuKTtpZihyLmpzb24pe3JldHVybiB0fWlmKHQuaXNFbXB0eSgpKXtyZXR1cm5cIlwifWlmKCF0Lndhc19wcm9jZXNzZWQpe3JldHVybiB0LmNvbnRlbnR9dmFyIG89ci51c2VfY2xhc3Nlczt2YXIgYT1bXTt2YXIgbD1bXTt2YXIgYz17fTt2YXIgdT1mdW5jdGlvbiByZW5kZXJfZGF0YShlKXt2YXIgcj1bXTt2YXIgbj12b2lkIDA7Zm9yKG4gaW4gZSl7aWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7ci5wdXNoKFwiZGF0YS1cIituKyc9XCInK3MuZXNjYXBlRm9ySHRtbChlW25dKSsnXCInKX19cmV0dXJuIHIubGVuZ3RoPjA/XCIgXCIrci5qb2luKFwiIFwiKTpcIlwifTtpZih0LmZnKXtpZihvKXtsLnB1c2godC5mZytcIi1mZ1wiKTtpZih0LmZnX3RydWVjb2xvciE9PW51bGwpe2NbXCJhbnNpLXRydWVjb2xvci1mZ1wiXT10LmZnX3RydWVjb2xvcjt0LmZnX3RydWVjb2xvcj1udWxsfX1lbHNle2EucHVzaChcImNvbG9yOnJnYihcIit0LmZnK1wiKVwiKX19aWYodC5iZyl7aWYobyl7bC5wdXNoKHQuYmcrXCItYmdcIik7aWYodC5iZ190cnVlY29sb3IhPT1udWxsKXtjW1wiYW5zaS10cnVlY29sb3ItYmdcIl09dC5iZ190cnVlY29sb3I7dC5iZ190cnVlY29sb3I9bnVsbH19ZWxzZXthLnB1c2goXCJiYWNrZ3JvdW5kLWNvbG9yOnJnYihcIit0LmJnK1wiKVwiKX19aWYodC5kZWNvcmF0aW9uKXtpZihvKXtsLnB1c2goXCJhbnNpLVwiK3QuZGVjb3JhdGlvbil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cImJvbGRcIil7YS5wdXNoKFwiZm9udC13ZWlnaHQ6Ym9sZFwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiZGltXCIpe2EucHVzaChcIm9wYWNpdHk6MC41XCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJpdGFsaWNcIil7YS5wdXNoKFwiZm9udC1zdHlsZTppdGFsaWNcIil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cInJldmVyc2VcIil7YS5wdXNoKFwiZmlsdGVyOmludmVydCgxMDAlKVwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiaGlkZGVuXCIpe2EucHVzaChcInZpc2liaWxpdHk6aGlkZGVuXCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJzdHJpa2V0aHJvdWdoXCIpe2EucHVzaChcInRleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2hcIil9ZWxzZXthLnB1c2goXCJ0ZXh0LWRlY29yYXRpb246XCIrdC5kZWNvcmF0aW9uKX19aWYobyl7cmV0dXJuJzxzcGFuIGNsYXNzPVwiJytsLmpvaW4oXCIgXCIpKydcIicrdShjKStcIj5cIit0LmNvbnRlbnQrXCI8L3NwYW4+XCJ9ZWxzZXtyZXR1cm4nPHNwYW4gc3R5bGU9XCInK2Euam9pbihcIjtcIikrJ1wiJyt1KGMpK1wiPlwiK3QuY29udGVudCtcIjwvc3Bhbj5cIn19fV0pO3JldHVybiBBbnNlcn0oKTtlLmV4cG9ydHM9c319O3ZhciByPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18obil7dmFyIHM9cltuXTtpZihzIT09dW5kZWZpbmVkKXtyZXR1cm4gcy5leHBvcnRzfXZhciBpPXJbbl09e2V4cG9ydHM6e319O3ZhciB0PXRydWU7dHJ5e2Vbbl0oaSxpLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7dD1mYWxzZX1maW5hbGx5e2lmKHQpZGVsZXRlIHJbbl19cmV0dXJuIGkuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIG49X19uY2N3cGNrX3JlcXVpcmVfXygyMTEpO21vZHVsZS5leHBvcnRzPW59KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/anser/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/css.escape/css.escape.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/css.escape/css.escape.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{var e={553:function(e){(function(r,t){if(true){e.exports=t(r)}else{}})(typeof __webpack_require__.g!=\"undefined\"?__webpack_require__.g:this,(function(e){if(e.CSS&&e.CSS.escape){return e.CSS.escape}var cssEscape=function(e){if(arguments.length==0){throw new TypeError(\"`CSS.escape` requires an argument.\")}var r=String(e);var t=r.length;var n=-1;var a;var i=\"\";var u=r.charCodeAt(0);while(++n<t){a=r.charCodeAt(n);if(a==0){i+=\"�\";continue}if(a>=1&&a<=31||a==127||n==0&&a>=48&&a<=57||n==1&&a>=48&&a<=57&&u==45){i+=\"\\\\\"+a.toString(16)+\" \";continue}if(n==0&&t==1&&a==45){i+=\"\\\\\"+r.charAt(n);continue}if(a>=128||a==45||a==95||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122){i+=r.charAt(n);continue}i+=\"\\\\\"+r.charAt(n)}return i};if(!e.CSS){e.CSS={}}e.CSS.escape=cssEscape;return cssEscape}))}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var a=r[t]={exports:{}};var i=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);i=false}finally{if(i)delete r[t]}return a.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(553);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Nzcy5lc2NhcGUvY3NzLmVzY2FwZS5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxPQUFPLGdCQUFnQixlQUFlLEdBQUcsSUFBSSxFQUFFLGVBQWUsSUFBSSxFQUFFLENBQUMsU0FBUyxxQkFBTSxjQUFjLHFCQUFNLG1CQUFtQix3QkFBd0Isb0JBQW9CLDBCQUEwQix3QkFBd0IsMERBQTBELGdCQUFnQixlQUFlLFNBQVMsTUFBTSxTQUFTLHNCQUFzQixhQUFhLGtCQUFrQixTQUFTLE9BQU8sU0FBUyx1RUFBdUUsMkJBQTJCLFNBQVMsc0JBQXNCLG9CQUFvQixTQUFTLG9FQUFvRSxlQUFlLFNBQVMsb0JBQW9CLFVBQVUsV0FBVyxTQUFTLHVCQUF1QixpQkFBaUIsS0FBSyxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxxREFBcUQsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsbUVBQW1FLFNBQVMsS0FBSywrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvY3NzLmVzY2FwZS9jc3MuZXNjYXBlLmpzPzQ3MzMiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57dmFyIGU9ezU1MzpmdW5jdGlvbihlKXsoZnVuY3Rpb24ocix0KXtpZih0cnVlKXtlLmV4cG9ydHM9dChyKX1lbHNle319KSh0eXBlb2YgZ2xvYmFsIT1cInVuZGVmaW5lZFwiP2dsb2JhbDp0aGlzLChmdW5jdGlvbihlKXtpZihlLkNTUyYmZS5DU1MuZXNjYXBlKXtyZXR1cm4gZS5DU1MuZXNjYXBlfXZhciBjc3NFc2NhcGU9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aD09MCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcImBDU1MuZXNjYXBlYCByZXF1aXJlcyBhbiBhcmd1bWVudC5cIil9dmFyIHI9U3RyaW5nKGUpO3ZhciB0PXIubGVuZ3RoO3ZhciBuPS0xO3ZhciBhO3ZhciBpPVwiXCI7dmFyIHU9ci5jaGFyQ29kZUF0KDApO3doaWxlKCsrbjx0KXthPXIuY2hhckNvZGVBdChuKTtpZihhPT0wKXtpKz1cIu+/vVwiO2NvbnRpbnVlfWlmKGE+PTEmJmE8PTMxfHxhPT0xMjd8fG49PTAmJmE+PTQ4JiZhPD01N3x8bj09MSYmYT49NDgmJmE8PTU3JiZ1PT00NSl7aSs9XCJcXFxcXCIrYS50b1N0cmluZygxNikrXCIgXCI7Y29udGludWV9aWYobj09MCYmdD09MSYmYT09NDUpe2krPVwiXFxcXFwiK3IuY2hhckF0KG4pO2NvbnRpbnVlfWlmKGE+PTEyOHx8YT09NDV8fGE9PTk1fHxhPj00OCYmYTw9NTd8fGE+PTY1JiZhPD05MHx8YT49OTcmJmE8PTEyMil7aSs9ci5jaGFyQXQobik7Y29udGludWV9aSs9XCJcXFxcXCIrci5jaGFyQXQobil9cmV0dXJuIGl9O2lmKCFlLkNTUyl7ZS5DU1M9e319ZS5DU1MuZXNjYXBlPWNzc0VzY2FwZTtyZXR1cm4gY3NzRXNjYXBlfSkpfX07dmFyIHI9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh0KXt2YXIgbj1yW3RdO2lmKG4hPT11bmRlZmluZWQpe3JldHVybiBuLmV4cG9ydHN9dmFyIGE9clt0XT17ZXhwb3J0czp7fX07dmFyIGk9dHJ1ZTt0cnl7ZVt0XS5jYWxsKGEuZXhwb3J0cyxhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtpPWZhbHNlfWZpbmFsbHl7aWYoaSlkZWxldGUgclt0XX1yZXR1cm4gYS5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdD1fX25jY3dwY2tfcmVxdWlyZV9fKDU1Myk7bW9kdWxlLmV4cG9ydHM9dH0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/css.escape/css.escape.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/platform/platform.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/compiled/platform/platform.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{var e={541:function(e,i,t){e=t.nmd(e);\n/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */(function(){\"use strict\";var t={function:true,object:true};var r=t[typeof window]&&window||this;var a=r;var n=t[typeof i]&&i;var o=t[\"object\"]&&e&&!e.nodeType&&e;var l=n&&o&&typeof __webpack_require__.g==\"object\"&&__webpack_require__.g;if(l&&(l.global===l||l.window===l||l.self===l)){r=l}var s=Math.pow(2,53)-1;var f=/\\bOpera/;var b=this;var c=Object.prototype;var p=c.hasOwnProperty;var u=c.toString;function capitalize(e){e=String(e);return e.charAt(0).toUpperCase()+e.slice(1)}function cleanupOS(e,i,t){var r={\"10.0\":\"10\",6.4:\"10 Technical Preview\",6.3:\"8.1\",6.2:\"8\",6.1:\"Server 2008 R2 / 7\",\"6.0\":\"Server 2008 / Vista\",5.2:\"Server 2003 / XP 64-bit\",5.1:\"XP\",5.01:\"2000 SP1\",\"5.0\":\"2000\",\"4.0\":\"NT\",\"4.90\":\"ME\"};if(i&&t&&/^Win/i.test(e)&&!/^Windows Phone /i.test(e)&&(r=r[/[\\d.]+$/.exec(e)])){e=\"Windows \"+r}e=String(e);if(i&&t){e=e.replace(RegExp(i,\"i\"),t)}e=format(e.replace(/ ce$/i,\" CE\").replace(/\\bhpw/i,\"web\").replace(/\\bMacintosh\\b/,\"Mac OS\").replace(/_PowerPC\\b/i,\" OS\").replace(/\\b(OS X) [^ \\d]+/i,\"$1\").replace(/\\bMac (OS X)\\b/,\"$1\").replace(/\\/(\\d)/,\" $1\").replace(/_/g,\".\").replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i,\"\").replace(/\\bx86\\.64\\b/gi,\"x86_64\").replace(/\\b(Windows Phone) OS\\b/,\"$1\").replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/,\"$1\").split(\" on \")[0]);return e}function each(e,i){var t=-1,r=e?e.length:0;if(typeof r==\"number\"&&r>-1&&r<=s){while(++t<r){i(e[t],t,e)}}else{forOwn(e,i)}}function format(e){e=trim(e);return/^(?:webOS|i(?:OS|P))/.test(e)?e:capitalize(e)}function forOwn(e,i){for(var t in e){if(p.call(e,t)){i(e[t],t,e)}}}function getClassOf(e){return e==null?capitalize(e):u.call(e).slice(8,-1)}function isHostType(e,i){var t=e!=null?typeof e[i]:\"number\";return!/^(?:boolean|number|string|undefined)$/.test(t)&&(t==\"object\"?!!e[i]:true)}function qualify(e){return String(e).replace(/([ -])(?!$)/g,\"$1?\")}function reduce(e,i){var t=null;each(e,(function(r,a){t=i(t,r,a,e)}));return t}function trim(e){return String(e).replace(/^ +| +$/g,\"\")}function parse(e){var i=r;var t=e&&typeof e==\"object\"&&getClassOf(e)!=\"String\";if(t){i=e;e=null}var n=i.navigator||{};var o=n.userAgent||\"\";e||(e=o);var l=t||b==a;var s=t?!!n.likeChrome:/\\bChrome\\b/.test(e)&&!/internal|\\n/i.test(u.toString());var c=\"Object\",p=t?c:\"ScriptBridgingProxyObject\",d=t?c:\"Environment\",S=t&&i.java?\"JavaPackage\":getClassOf(i.java),x=t?c:\"RuntimeObject\";var m=/\\bJava/.test(S)&&i.java;var g=m&&getClassOf(i.environment)==d;var h=m?\"a\":\"α\";var v=m?\"b\":\"β\";var O=i.document||{};var y=i.operamini||i.opera;var w=f.test(w=t&&y?y[\"[[Class]]\"]:getClassOf(y))?w:y=null;var M;var E=e;var P=[];var C=null;var k=e==o;var B=k&&y&&typeof y.version==\"function\"&&y.version();var W;var _=getLayout([{label:\"EdgeHTML\",pattern:\"Edge\"},\"Trident\",{label:\"WebKit\",pattern:\"AppleWebKit\"},\"iCab\",\"Presto\",\"NetFront\",\"Tasman\",\"KHTML\",\"Gecko\"]);var R=getName([\"Adobe AIR\",\"Arora\",\"Avant Browser\",\"Breach\",\"Camino\",\"Electron\",\"Epiphany\",\"Fennec\",\"Flock\",\"Galeon\",\"GreenBrowser\",\"iCab\",\"Iceweasel\",\"K-Meleon\",\"Konqueror\",\"Lunascape\",\"Maxthon\",{label:\"Microsoft Edge\",pattern:\"(?:Edge|Edg|EdgA|EdgiOS)\"},\"Midori\",\"Nook Browser\",\"PaleMoon\",\"PhantomJS\",\"Raven\",\"Rekonq\",\"RockMelt\",{label:\"Samsung Internet\",pattern:\"SamsungBrowser\"},\"SeaMonkey\",{label:\"Silk\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Sleipnir\",\"SlimBrowser\",{label:\"SRWare Iron\",pattern:\"Iron\"},\"Sunrise\",\"Swiftfox\",\"Vivaldi\",\"Waterfox\",\"WebPositive\",{label:\"Yandex Browser\",pattern:\"YaBrowser\"},{label:\"UC Browser\",pattern:\"UCBrowser\"},\"Opera Mini\",{label:\"Opera Mini\",pattern:\"OPiOS\"},\"Opera\",{label:\"Opera\",pattern:\"OPR\"},\"Chromium\",\"Chrome\",{label:\"Chrome\",pattern:\"(?:HeadlessChrome)\"},{label:\"Chrome Mobile\",pattern:\"(?:CriOS|CrMo)\"},{label:\"Firefox\",pattern:\"(?:Firefox|Minefield)\"},{label:\"Firefox for iOS\",pattern:\"FxiOS\"},{label:\"IE\",pattern:\"IEMobile\"},{label:\"IE\",pattern:\"MSIE\"},\"Safari\"]);var A=getProduct([{label:\"BlackBerry\",pattern:\"BB10\"},\"BlackBerry\",{label:\"Galaxy S\",pattern:\"GT-I9000\"},{label:\"Galaxy S2\",pattern:\"GT-I9100\"},{label:\"Galaxy S3\",pattern:\"GT-I9300\"},{label:\"Galaxy S4\",pattern:\"GT-I9500\"},{label:\"Galaxy S5\",pattern:\"SM-G900\"},{label:\"Galaxy S6\",pattern:\"SM-G920\"},{label:\"Galaxy S6 Edge\",pattern:\"SM-G925\"},{label:\"Galaxy S7\",pattern:\"SM-G930\"},{label:\"Galaxy S7 Edge\",pattern:\"SM-G935\"},\"Google TV\",\"Lumia\",\"iPad\",\"iPod\",\"iPhone\",\"Kindle\",{label:\"Kindle Fire\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Nexus\",\"Nook\",\"PlayBook\",\"PlayStation Vita\",\"PlayStation\",\"TouchPad\",\"Transformer\",{label:\"Wii U\",pattern:\"WiiU\"},\"Wii\",\"Xbox One\",{label:\"Xbox 360\",pattern:\"Xbox\"},\"Xoom\"]);var I=getManufacturer({Apple:{iPad:1,iPhone:1,iPod:1},Alcatel:{},Archos:{},Amazon:{Kindle:1,\"Kindle Fire\":1},Asus:{Transformer:1},\"Barnes & Noble\":{Nook:1},BlackBerry:{PlayBook:1},Google:{\"Google TV\":1,Nexus:1},HP:{TouchPad:1},HTC:{},Huawei:{},Lenovo:{},LG:{},Microsoft:{Xbox:1,\"Xbox One\":1},Motorola:{Xoom:1},Nintendo:{\"Wii U\":1,Wii:1},Nokia:{Lumia:1},Oppo:{},Samsung:{\"Galaxy S\":1,\"Galaxy S2\":1,\"Galaxy S3\":1,\"Galaxy S4\":1},Sony:{PlayStation:1,\"PlayStation Vita\":1},Xiaomi:{Mi:1,Redmi:1}});var T=getOS([\"Windows Phone\",\"KaiOS\",\"Android\",\"CentOS\",{label:\"Chrome OS\",pattern:\"CrOS\"},\"Debian\",{label:\"DragonFly BSD\",pattern:\"DragonFly\"},\"Fedora\",\"FreeBSD\",\"Gentoo\",\"Haiku\",\"Kubuntu\",\"Linux Mint\",\"OpenBSD\",\"Red Hat\",\"SuSE\",\"Ubuntu\",\"Xubuntu\",\"Cygwin\",\"Symbian OS\",\"hpwOS\",\"webOS \",\"webOS\",\"Tablet OS\",\"Tizen\",\"Linux\",\"Mac OS X\",\"Macintosh\",\"Mac\",\"Windows 98;\",\"Windows \"]);function getLayout(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getManufacturer(i){return reduce(i,(function(i,t,r){return i||(t[A]||t[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(A)]||RegExp(\"\\\\b\"+qualify(r)+\"(?:\\\\b|\\\\w*\\\\d)\",\"i\").exec(e))&&r}))}function getName(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getOS(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\"(?:/[\\\\d.]+|[ \\\\w.]*)\",\"i\").exec(e))){i=cleanupOS(i,r,t.label||t)}return i}))}function getProduct(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\" *\\\\d+[.\\\\w_]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\" *\\\\w+-[\\\\w]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\"(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)\",\"i\").exec(e))){if((i=String(t.label&&!RegExp(r,\"i\").test(t.label)?t.label:i).split(\"/\"))[1]&&!/[\\d.]+/.test(i[0])){i[0]+=\" \"+i[1]}t=t.label||t;i=format(i[0].replace(RegExp(r,\"i\"),t).replace(RegExp(\"; *(?:\"+t+\"[_-])?\",\"i\"),\" \").replace(RegExp(\"(\"+t+\")[-_.]?(\\\\w)\",\"i\"),\"$1 $2\"))}return i}))}function getVersion(i){return reduce(i,(function(i,t){return i||(RegExp(t+\"(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)\",\"i\").exec(e)||0)[1]||null}))}function toStringPlatform(){return this.description||\"\"}_&&(_=[_]);if(/\\bAndroid\\b/.test(T)&&!A&&(M=/\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(e))){A=trim(M[1]).replace(/^[a-z]{2}-[a-z]{2};\\s*/i,\"\")||null}if(I&&!A){A=getProduct([I])}else if(I&&A){A=A.replace(RegExp(\"^(\"+qualify(I)+\")[-_.\\\\s]\",\"i\"),I+\" \").replace(RegExp(\"^(\"+qualify(I)+\")[-_.]?(\\\\w)\",\"i\"),I+\" $2\")}if(M=/\\bGoogle TV\\b/.exec(A)){A=M[0]}if(/\\bSimulator\\b/i.test(e)){A=(A?A+\" \":\"\")+\"Simulator\"}if(R==\"Opera Mini\"&&/\\bOPiOS\\b/.test(e)){P.push(\"running in Turbo/Uncompressed mode\")}if(R==\"IE\"&&/\\blike iPhone OS\\b/.test(e)){M=parse(e.replace(/like iPhone OS/,\"\"));I=M.manufacturer;A=M.product}else if(/^iP/.test(A)){R||(R=\"Safari\");T=\"iOS\"+((M=/ OS ([\\d_]+)/i.exec(e))?\" \"+M[1].replace(/_/g,\".\"):\"\")}else if(R==\"Konqueror\"&&/^Linux\\b/i.test(T)){T=\"Kubuntu\"}else if(I&&I!=\"Google\"&&(/Chrome/.test(R)&&!/\\bMobile Safari\\b/i.test(e)||/\\bVita\\b/.test(A))||/\\bAndroid\\b/.test(T)&&/^Chrome/.test(R)&&/\\bVersion\\//i.test(e)){R=\"Android Browser\";T=/\\bAndroid\\b/.test(T)?T:\"Android\"}else if(R==\"Silk\"){if(!/\\bMobi/i.test(e)){T=\"Android\";P.unshift(\"desktop mode\")}if(/Accelerated *= *true/i.test(e)){P.unshift(\"accelerated\")}}else if(R==\"UC Browser\"&&/\\bUCWEB\\b/.test(e)){P.push(\"speed mode\")}else if(R==\"PaleMoon\"&&(M=/\\bFirefox\\/([\\d.]+)\\b/.exec(e))){P.push(\"identifying as Firefox \"+M[1])}else if(R==\"Firefox\"&&(M=/\\b(Mobile|Tablet|TV)\\b/i.exec(e))){T||(T=\"Firefox OS\");A||(A=M[1])}else if(!R||(M=!/\\bMinefield\\b/i.test(e)&&/\\b(?:Firefox|Safari)\\b/.exec(R))){if(R&&!A&&/[\\/,]|^[^(]+?\\)/.test(e.slice(e.indexOf(M+\"/\")+8))){R=null}if((M=A||I||T)&&(A||I||/\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(T))){R=/[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(T)?T:M)+\" Browser\"}}else if(R==\"Electron\"&&(M=(/\\bChrome\\/([\\d.]+)\\b/.exec(e)||0)[1])){P.push(\"Chromium \"+M)}if(!B){B=getVersion([\"(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)\",\"Version\",qualify(R),\"(?:Firefox|Minefield|NetFront)\"])}if(M=_==\"iCab\"&&parseFloat(B)>3&&\"WebKit\"||/\\bOpera\\b/.test(R)&&(/\\bOPR\\b/.test(e)?\"Blink\":\"Presto\")||/\\b(?:Midori|Nook|Safari)\\b/i.test(e)&&!/^(?:Trident|EdgeHTML)$/.test(_)&&\"WebKit\"||!_&&/\\bMSIE\\b/i.test(e)&&(T==\"Mac OS\"?\"Tasman\":\"Trident\")||_==\"WebKit\"&&/\\bPlayStation\\b(?! Vita\\b)/i.test(R)&&\"NetFront\"){_=[M]}if(R==\"IE\"&&(M=(/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(e)||0)[1])){R+=\" Mobile\";T=\"Windows Phone \"+(/\\+$/.test(M)?M:M+\".x\");P.unshift(\"desktop mode\")}else if(/\\bWPDesktop\\b/i.test(e)){R=\"IE Mobile\";T=\"Windows Phone 8.x\";P.unshift(\"desktop mode\");B||(B=(/\\brv:([\\d.]+)/.exec(e)||0)[1])}else if(R!=\"IE\"&&_==\"Trident\"&&(M=/\\brv:([\\d.]+)/.exec(e))){if(R){P.push(\"identifying as \"+R+(B?\" \"+B:\"\"))}R=\"IE\";B=M[1]}if(k){if(isHostType(i,\"global\")){if(m){M=m.lang.System;E=M.getProperty(\"os.arch\");T=T||M.getProperty(\"os.name\")+\" \"+M.getProperty(\"os.version\")}if(g){try{B=i.require(\"ringo/engine\").version.join(\".\");R=\"RingoJS\"}catch(e){if((M=i.system)&&M.global.system==i.system){R=\"Narwhal\";T||(T=M[0].os||null)}}if(!R){R=\"Rhino\"}}else if(typeof i.process==\"object\"&&!i.process.browser&&(M=i.process)){if(typeof M.versions==\"object\"){if(typeof M.versions.electron==\"string\"){P.push(\"Node \"+M.versions.node);R=\"Electron\";B=M.versions.electron}else if(typeof M.versions.nw==\"string\"){P.push(\"Chromium \"+B,\"Node \"+M.versions.node);R=\"NW.js\";B=M.versions.nw}}if(!R){R=\"Node.js\";E=M.arch;T=M.platform;B=/[\\d.]+/.exec(M.version);B=B?B[0]:null}}}else if(getClassOf(M=i.runtime)==p){R=\"Adobe AIR\";T=M.flash.system.Capabilities.os}else if(getClassOf(M=i.phantom)==x){R=\"PhantomJS\";B=(M=M.version||null)&&M.major+\".\"+M.minor+\".\"+M.patch}else if(typeof O.documentMode==\"number\"&&(M=/\\bTrident\\/(\\d+)/i.exec(e))){B=[B,O.documentMode];if((M=+M[1]+4)!=B[1]){P.push(\"IE \"+B[1]+\" mode\");_&&(_[1]=\"\");B[1]=M}B=R==\"IE\"?String(B[1].toFixed(1)):B[0]}else if(typeof O.documentMode==\"number\"&&/^(?:Chrome|Firefox)\\b/.test(R)){P.push(\"masking as \"+R+\" \"+B);R=\"IE\";B=\"11.0\";_=[\"Trident\"];T=\"Windows\"}T=T&&format(T)}if(B&&(M=/(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(B)||/(?:alpha|beta)(?: ?\\d)?/i.exec(e+\";\"+(k&&n.appMinorVersion))||/\\bMinefield\\b/i.test(e)&&\"a\")){C=/b/i.test(M)?\"beta\":\"alpha\";B=B.replace(RegExp(M+\"\\\\+?$\"),\"\")+(C==\"beta\"?v:h)+(/\\d+\\+?/.exec(M)||\"\")}if(R==\"Fennec\"||R==\"Firefox\"&&/\\b(?:Android|Firefox OS|KaiOS)\\b/.test(T)){R=\"Firefox Mobile\"}else if(R==\"Maxthon\"&&B){B=B.replace(/\\.[\\d.]+/,\".x\")}else if(/\\bXbox\\b/i.test(A)){if(A==\"Xbox 360\"){T=null}if(A==\"Xbox 360\"&&/\\bIEMobile\\b/.test(e)){P.unshift(\"mobile mode\")}}else if((/^(?:Chrome|IE|Opera)$/.test(R)||R&&!A&&!/Browser|Mobi/.test(R))&&(T==\"Windows CE\"||/Mobi/i.test(e))){R+=\" Mobile\"}else if(R==\"IE\"&&k){try{if(i.external===null){P.unshift(\"platform preview\")}}catch(e){P.unshift(\"embedded\")}}else if((/\\bBlackBerry\\b/.test(A)||/\\bBB10\\b/.test(e))&&(M=(RegExp(A.replace(/ +/g,\" *\")+\"/([.\\\\d]+)\",\"i\").exec(e)||0)[1]||B)){M=[M,/BB10/.test(e)];T=(M[1]?(A=null,I=\"BlackBerry\"):\"Device Software\")+\" \"+M[0];B=null}else if(this!=forOwn&&A!=\"Wii\"&&(k&&y||/Opera/.test(R)&&/\\b(?:MSIE|Firefox)\\b/i.test(e)||R==\"Firefox\"&&/\\bOS X (?:\\d+\\.){2,}/.test(T)||R==\"IE\"&&(T&&!/^Win/.test(T)&&B>5.5||/\\bWindows XP\\b/.test(T)&&B>8||B==8&&!/\\bTrident\\b/.test(e)))&&!f.test(M=parse.call(forOwn,e.replace(f,\"\")+\";\"))&&M.name){M=\"ing as \"+M.name+((M=M.version)?\" \"+M:\"\");if(f.test(R)){if(/\\bIE\\b/.test(M)&&T==\"Mac OS\"){T=null}M=\"identify\"+M}else{M=\"mask\"+M;if(w){R=format(w.replace(/([a-z])([A-Z])/g,\"$1 $2\"))}else{R=\"Opera\"}if(/\\bIE\\b/.test(M)){T=null}if(!k){B=null}}_=[\"Presto\"];P.push(M)}if(M=(/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(e)||0)[1]){M=[parseFloat(M.replace(/\\.(\\d)$/,\".0$1\")),M];if(R==\"Safari\"&&M[1].slice(-1)==\"+\"){R=\"WebKit Nightly\";C=\"alpha\";B=M[1].slice(0,-1)}else if(B==M[1]||B==(M[2]=(/\\bSafari\\/([\\d.]+\\+?)/i.exec(e)||0)[1])){B=null}M[1]=(/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(e)||0)[1];if(M[0]==537.36&&M[2]==537.36&&parseFloat(M[1])>=28&&_==\"WebKit\"){_=[\"Blink\"]}if(!k||!s&&!M[1]){_&&(_[1]=\"like Safari\");M=(M=M[0],M<400?1:M<500?2:M<526?3:M<533?4:M<534?\"4+\":M<535?5:M<537?6:M<538?7:M<601?8:M<602?9:M<604?10:M<606?11:M<608?12:\"12\")}else{_&&(_[1]=\"like Chrome\");M=M[1]||(M=M[0],M<530?1:M<532?2:M<532.05?3:M<533?4:M<534.03?5:M<534.07?6:M<534.1?7:M<534.13?8:M<534.16?9:M<534.24?10:M<534.3?11:M<535.01?12:M<535.02?\"13+\":M<535.07?15:M<535.11?16:M<535.19?17:M<536.05?18:M<536.1?19:M<537.01?20:M<537.11?\"21+\":M<537.13?23:M<537.18?24:M<537.24?25:M<537.36?26:_!=\"Blink\"?\"27\":\"28\")}_&&(_[1]+=\" \"+(M+=typeof M==\"number\"?\".x\":/[.+]/.test(M)?\"\":\"+\"));if(R==\"Safari\"&&(!B||parseInt(B)>45)){B=M}else if(R==\"Chrome\"&&/\\bHeadlessChrome/i.test(e)){P.unshift(\"headless\")}}if(R==\"Opera\"&&(M=/\\bzbov|zvav$/.exec(T))){R+=\" \";P.unshift(\"desktop mode\");if(M==\"zvav\"){R+=\"Mini\";B=null}else{R+=\"Mobile\"}T=T.replace(RegExp(\" *\"+M+\"$\"),\"\")}else if(R==\"Safari\"&&/\\bChrome\\b/.exec(_&&_[1])){P.unshift(\"desktop mode\");R=\"Chrome Mobile\";B=null;if(/\\bOS X\\b/.test(T)){I=\"Apple\";T=\"iOS 4.3+\"}else{T=null}}else if(/\\bSRWare Iron\\b/.test(R)&&!B){B=getVersion(\"Chrome\")}if(B&&B.indexOf(M=/[\\d.]+$/.exec(T))==0&&e.indexOf(\"/\"+M+\"-\")>-1){T=trim(T.replace(M,\"\"))}if(T&&T.indexOf(R)!=-1&&!RegExp(R+\" OS\").test(T)){T=T.replace(RegExp(\" *\"+qualify(R)+\" *\"),\"\")}if(_&&!/\\b(?:Avant|Nook)\\b/.test(R)&&(/Browser|Lunascape|Maxthon/.test(R)||R!=\"Safari\"&&/^iOS/.test(T)&&/\\bSafari\\b/.test(_[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(R)&&_[1])){(M=_[_.length-1])&&P.push(M)}if(P.length){P=[\"(\"+P.join(\"; \")+\")\"]}if(I&&A&&A.indexOf(I)<0){P.push(\"on \"+I)}if(A){P.push((/^on /.test(P[P.length-1])?\"\":\"on \")+A)}if(T){M=/ ([\\d.+]+)$/.exec(T);W=M&&T.charAt(T.length-M[0].length-1)==\"/\";T={architecture:32,family:M&&!W?T.replace(M[0],\"\"):T,version:M?M[1]:null,toString:function(){var e=this.version;return this.family+(e&&!W?\" \"+e:\"\")+(this.architecture==64?\" 64-bit\":\"\")}}}if((M=/\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(E))&&!/\\bi686\\b/i.test(E)){if(T){T.architecture=64;T.family=T.family.replace(RegExp(\" *\"+M),\"\")}if(R&&(/\\bWOW64\\b/i.test(e)||k&&/\\w(?:86|32)$/.test(n.cpuClass||n.platform)&&!/\\bWin64; x64\\b/i.test(e))){P.unshift(\"32-bit\")}}else if(T&&/^OS X/.test(T.family)&&R==\"Chrome\"&&parseFloat(B)>=39){T.architecture=64}e||(e=null);var F={};F.description=e;F.layout=_&&_[0];F.manufacturer=I;F.name=R;F.prerelease=C;F.product=A;F.ua=e;F.version=R&&B;F.os=T||{architecture:null,family:null,version:null,toString:function(){return\"null\"}};F.parse=parse;F.toString=toStringPlatform;if(F.version){P.unshift(B)}if(F.name){P.unshift(R)}if(T&&R&&!(T==String(T).split(\" \")[0]&&(T==R.split(\" \")[0]||A))){P.push(A?\"(\"+T+\")\":\"on \"+T)}if(P.length){F.description=P.join(\" \")}return F}var d=parse();if(n&&o){forOwn(d,(function(e,i){n[i]=e}))}else{r.platform=d}}).call(this)}};var i={};function __nccwpck_require__(t){var r=i[t];if(r!==undefined){return r.exports}var a=i[t]={id:t,loaded:false,exports:{}};var n=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);n=false}finally{if(n)delete i[t]}a.loaded=true;return a.exports}(()=>{__nccwpck_require__.nmd=e=>{e.paths=[];if(!e.children)e.children=[];return e}})();if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(541);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLE9BQU8sb0JBQW9CO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWEsT0FBTywyQkFBMkIscUNBQXFDLFFBQVEscUJBQXFCLHFDQUFxQyxtQkFBbUIscUJBQU0sWUFBWSxxQkFBTSxDQUFDLGdEQUFnRCxJQUFJLHVCQUF1QixnQkFBZ0IsV0FBVyx1QkFBdUIsdUJBQXVCLGlCQUFpQix1QkFBdUIsWUFBWSw0Q0FBNEMsMEJBQTBCLE9BQU8sME1BQTBNLGlGQUFpRixlQUFlLFlBQVksU0FBUyw2QkFBNkIsbVpBQW1aLFNBQVMsbUJBQW1CLHdCQUF3QixtQ0FBbUMsYUFBYSxhQUFhLEtBQUssYUFBYSxtQkFBbUIsVUFBVSxxREFBcUQscUJBQXFCLGdCQUFnQixnQkFBZ0IsY0FBYyx1QkFBdUIsbURBQW1ELHlCQUF5QixtQ0FBbUMsa0ZBQWtGLG9CQUFvQiwrQ0FBK0MscUJBQXFCLFdBQVcsc0JBQXNCLGFBQWEsR0FBRyxTQUFTLGlCQUFpQix3Q0FBd0Msa0JBQWtCLFFBQVEscURBQXFELE1BQU0sSUFBSSxPQUFPLHNCQUFzQixzQkFBc0IsU0FBUyxjQUFjLGdGQUFnRix3SUFBd0ksK0JBQStCLHNDQUFzQyxnQkFBZ0IsZ0JBQWdCLHFCQUFxQiwyQkFBMkIsMkRBQTJELE1BQU0sUUFBUSxTQUFTLFdBQVcsV0FBVyxzREFBc0QsTUFBTSxrQkFBa0IsZ0NBQWdDLFlBQVkscUNBQXFDLHVEQUF1RCxxTUFBcU0sMERBQTBELDZFQUE2RSxrREFBa0QsY0FBYyxtREFBbUQsMkJBQTJCLG1DQUFtQywwREFBMEQsMkNBQTJDLEVBQUUsdUNBQXVDLGVBQWUsbUNBQW1DLFVBQVUsNEJBQTRCLHNCQUFzQiw0Q0FBNEMsRUFBRSwrQ0FBK0MsRUFBRSxnREFBZ0QsRUFBRSx3Q0FBd0MsRUFBRSw4QkFBOEIsRUFBRSwwQkFB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QXdCLDhIQUE4SCxLQUFLLHdCQUF3Qix1VEFBdVQsa0VBQWtFLHNDQUFzQyxJQUFJLGtEQUFrRCx1QkFBdUIsMkNBQTJDLE9BQU8sMEJBQTBCLGNBQWMsVUFBVSxPQUFPLEtBQUssWUFBWSxtQ0FBbUMsaURBQWlELDBCQUEwQixrQkFBa0IsT0FBTyx1QkFBdUIsVUFBVSxhQUFhLEtBQUssUUFBUSx1Q0FBdUMsdUJBQXVCLGtFQUFrRSx3QkFBd0Isa0RBQWtELDZDQUE2Qyw4UEFBOFAsNkJBQTZCLGFBQWEsaUJBQWlCLFFBQVEseUJBQXlCLGdCQUFnQixNQUFNLGdEQUFnRCxNQUFNLHdCQUF3QiwyQ0FBMkMsR0FBRywwRkFBMEYsbUJBQW1CLDJFQUEyRSx5RUFBeUUsTUFBTSxrQkFBa0IsNkNBQTZDLHdGQUF3RixrQkFBa0IscUJBQXFCLG1FQUFtRSxrQkFBa0IsWUFBWSxTQUFTLGdCQUFnQixpQkFBaUIsaUJBQWlCLFNBQVMsZUFBZSxZQUFZLE9BQU8sZUFBZSxTQUFTLCtEQUErRCxlQUFlLGNBQWMsNEJBQTRCLGNBQWMsYUFBYSxXQUFXLGFBQWEsaUVBQWlFLDRCQUE0QixhQUFhLDBCQUEwQixTQUFTLGNBQWMsU0FBUyx3QkFBd0IsT0FBTyxHQUFHLEtBQUssY0FBYyxlQUFlLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLDhCQUE4QixXQUFXLElBQUkscURBQXFELFFBQVEsUUFBUSxpQkFBaUIsY0FBYyxpQkFBaUIsTUFBTSw0QkFBNEIsV0FBVyw2QkFBNkIsVUFBVSxJQUFJLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzP2VhZmYiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57dmFyIGU9ezU0MTpmdW5jdGlvbihlLGksdCl7ZT10Lm5tZChlKTtcbi8qIVxuICogUGxhdGZvcm0uanMgdjEuMy42XG4gKiBDb3B5cmlnaHQgMjAxNC0yMDIwIEJlbmphbWluIFRhblxuICogQ29weXJpZ2h0IDIwMTEtMjAxMyBKb2huLURhdmlkIERhbHRvblxuICogQXZhaWxhYmxlIHVuZGVyIE1JVCBsaWNlbnNlXG4gKi8oZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdD17ZnVuY3Rpb246dHJ1ZSxvYmplY3Q6dHJ1ZX07dmFyIHI9dFt0eXBlb2Ygd2luZG93XSYmd2luZG93fHx0aGlzO3ZhciBhPXI7dmFyIG49dFt0eXBlb2YgaV0mJmk7dmFyIG89dFtcIm9iamVjdFwiXSYmZSYmIWUubm9kZVR5cGUmJmU7dmFyIGw9biYmbyYmdHlwZW9mIGdsb2JhbD09XCJvYmplY3RcIiYmZ2xvYmFsO2lmKGwmJihsLmdsb2JhbD09PWx8fGwud2luZG93PT09bHx8bC5zZWxmPT09bCkpe3I9bH12YXIgcz1NYXRoLnBvdygyLDUzKS0xO3ZhciBmPS9cXGJPcGVyYS87dmFyIGI9dGhpczt2YXIgYz1PYmplY3QucHJvdG90eXBlO3ZhciBwPWMuaGFzT3duUHJvcGVydHk7dmFyIHU9Yy50b1N0cmluZztmdW5jdGlvbiBjYXBpdGFsaXplKGUpe2U9U3RyaW5nKGUpO3JldHVybiBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSl9ZnVuY3Rpb24gY2xlYW51cE9TKGUsaSx0KXt2YXIgcj17XCIxMC4wXCI6XCIxMFwiLDYuNDpcIjEwIFRlY2huaWNhbCBQcmV2aWV3XCIsNi4zOlwiOC4xXCIsNi4yOlwiOFwiLDYuMTpcIlNlcnZlciAyMDA4IFIyIC8gN1wiLFwiNi4wXCI6XCJTZXJ2ZXIgMjAwOCAvIFZpc3RhXCIsNS4yOlwiU2VydmVyIDIwMDMgLyBYUCA2NC1iaXRcIiw1LjE6XCJYUFwiLDUuMDE6XCIyMDAwIFNQMVwiLFwiNS4wXCI6XCIyMDAwXCIsXCI0LjBcIjpcIk5UXCIsXCI0LjkwXCI6XCJNRVwifTtpZihpJiZ0JiYvXldpbi9pLnRlc3QoZSkmJiEvXldpbmRvd3MgUGhvbmUgL2kudGVzdChlKSYmKHI9clsvW1xcZC5dKyQvLmV4ZWMoZSldKSl7ZT1cIldpbmRvd3MgXCIrcn1lPVN0cmluZyhlKTtpZihpJiZ0KXtlPWUucmVwbGFjZShSZWdFeHAoaSxcImlcIiksdCl9ZT1mb3JtYXQoZS5yZXBsYWNlKC8gY2UkL2ksXCIgQ0VcIikucmVwbGFjZSgvXFxiaHB3L2ksXCJ3ZWJcIikucmVwbGFjZSgvXFxiTWFjaW50b3NoXFxiLyxcIk1hYyBPU1wiKS5yZXBsYWNlKC9fUG93ZXJQQ1xcYi9pLFwiIE9TXCIpLnJlcGxhY2UoL1xcYihPUyBYKSBbXiBcXGRdKy9pLFwiJDFcIikucmVwbGFjZSgvXFxiTWFjIChPUyBYKVxcYi8sXCIkMVwiKS5yZXBsYWNlKC9cXC8oXFxkKS8sXCIgJDFcIikucmVwbGFjZSgvXy9nLFwiLlwiKS5yZXBsYWNlKC8oPzogQmVQQ3xbIC5dKmZjWyBcXGQuXSspJC9pLFwiXCIpLnJlcGxhY2UoL1xcYng4NlxcLjY0XFxiL2dpLFwieDg2XzY0XCIpLnJlcGxhY2UoL1xcYihXaW5kb3dzIFBob25lKSBPU1xcYi8sXCIkMVwiKS5yZXBsYWNlKC9cXGIoQ2hyb21lIE9TIFxcdyspIFtcXGQuXStcXGIvLFwiJDFcIikuc3BsaXQoXCIgb24gXCIpWzBdKTtyZXR1cm4gZX1mdW5jdGlvbiBlYWNoKGUsaSl7dmFyIHQ9LTEscj1lP2UubGVuZ3RoOjA7aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI+LTEmJnI8PXMpe3doaWxlKCsrdDxyKXtpKGVbdF0sdCxlKX19ZWxzZXtmb3JPd24oZSxpKX19ZnVuY3Rpb24gZm9ybWF0KGUpe2U9dHJpbShlKTtyZXR1cm4vXig/OndlYk9TfGkoPzpPU3xQKSkvLnRlc3QoZSk/ZTpjYXBpdGFsaXplKGUpfWZ1bmN0aW9uIGZvck93bihlLGkpe2Zvcih2YXIgdCBpbiBlKXtpZihwLmNhbGwoZSx0KSl7aShlW3RdLHQsZSl9fX1mdW5jdGlvbiBnZXRDbGFzc09mKGUpe3JldHVybiBlPT1udWxsP2NhcGl0YWxpemUoZSk6dS5jYWxsKGUpLnNsaWNlKDgsLTEpfWZ1bmN0aW9uIGlzSG9zdFR5cGUoZSxpKXt2YXIgdD1lIT1udWxsP3R5cGVvZiBlW2ldOlwibnVtYmVyXCI7cmV0dXJuIS9eKD86Ym9vbGVhbnxudW1iZXJ8c3RyaW5nfHVuZGVmaW5lZCkkLy50ZXN0KHQpJiYodD09XCJvYmplY3RcIj8hIWVbaV06dHJ1ZSl9ZnVuY3Rpb24gcXVhbGlmeShlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoLyhbIC1dKSg/ISQpL2csXCIkMT9cIil9ZnVuY3Rpb24gcmVkdWNlKGUsaSl7dmFyIHQ9bnVsbDtlYWNoKGUsKGZ1bmN0aW9uKHIsYSl7dD1pKHQscixhLGUpfSkpO3JldHVybiB0fWZ1bmN0aW9uIHRyaW0oZSl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKC9eICt8ICskL2csXCJcIil9ZnVuY3Rpb24gcGFyc2UoZSl7dmFyIGk9cjt2YXIgdD1lJiZ0eXBlb2YgZT09XCJvYmplY3RcIiYmZ2V0Q2xhc3NPZihlKSE9XCJTdHJpbmdcIjtpZih0KXtpPWU7ZT1udWxsfXZhciBuPWkubmF2aWdhdG9yfHx7fTt2YXIgbz1uLnVzZXJBZ2VudHx8XCJcIjtlfHwoZT1vKTt2YXIgbD10fHxiPT1hO3ZhciBzPXQ/ISFuLmxpa2VDaHJvbWU6L1xcYkNocm9tZVxcYi8udGVzdChlKSYmIS9pbnRlcm5hbHxcXG4vaS50ZXN0KHUudG9TdHJpbmcoKSk7dmFyIGM9XCJPYmplY3RcIixwPXQ/YzpcIlNjcmlwdEJyaWRnaW5nUHJveHlPYmplY3RcIixkPXQ/YzpcIkVudmlyb25tZW50XCIsUz10JiZpLmphdmE/XCJKYXZhUGFja2FnZVwiOmdldENsYXNzT2YoaS5qYXZhKSx4PXQ/YzpcIlJ1bnRpbWVPYmplY3RcIjt2YXIgbT0vXFxiSmF2YS8udGVzdChTKSYmaS5qYXZhO3ZhciBnPW0mJmdldENsYXNzT2YoaS5lbnZpcm9ubWVudCk9PWQ7dmFyIGg9bT9cImFcIjpcIs6xXCI7dmFyIHY9bT9cImJcIjpcIs6yXCI7dmFyIE89aS5kb2N1bWVudHx8e307dmFyIHk9aS5vcGVyYW1pbml8fGkub3BlcmE7dmFyIHc9Zi50ZXN0KHc9dCYmeT95W1wiW1tDbGFzc11dXCJdOmdldENsYXNzT2YoeSkpP3c6eT1udWxsO3ZhciBNO3ZhciBFPWU7dmFyIFA9W107dmFyIEM9bnVsbDt2YXIgaz1lPT1vO3ZhciBCPWsmJnkmJnR5cGVvZiB5LnZlcnNpb249PVwiZnVuY3Rpb25cIiYmeS52ZXJzaW9uKCk7dmFyIFc7dmFyIF89Z2V0TGF5b3V0KFt7bGFiZWw6XCJFZGdlSFRNTFwiLHBhdHRlcm46XCJFZGdlXCJ9LFwiVHJpZGVudFwiLHtsYWJlbDpcIldlYktpdFwiLHBhdHRlcm46XCJBcHBsZVdlYktpdFwifSxcImlDYWJcIixcIlByZXN0b1wiLFwiTmV0RnJvbnRcIixcIlRhc21hblwiLFwiS0hUTUxcIixcIkdlY2tvXCJdKTt2YXIgUj1nZXROYW1lKFtcIkFkb2JlIEFJUlwiLFwiQXJvcmFcIixcIkF2YW50IEJyb3dzZXJcIixcIkJyZWFjaFwiLFwiQ2FtaW5vXCIsXCJFbGVjdHJvblwiLFwiRXBpcGhhbnlcIixcIkZlbm5lY1wiLFwiRmxvY2tcIixcIkdhbGVvblwiLFwiR3JlZW5Ccm93c2VyXCIsXCJpQ2FiXCIsXCJJY2V3ZWFzZWxcIixcIkstTWVsZW9uXCIsXCJLb25xdWVyb3JcIixcIkx1bmFzY2FwZVwiLFwiTWF4dGhvblwiLHtsYWJlbDpcIk1pY3Jvc29mdCBFZGdlXCIscGF0dGVybjpcIig/OkVkZ2V8RWRnfEVkZ0F8RWRnaU9TKVwifSxcIk1pZG9yaVwiLFwiTm9vayBCcm93c2VyXCIsXCJQYWxlTW9vblwiLFwiUGhhbnRvbUpTXCIsXCJSYXZlblwiLFwiUmVrb25xXCIsXCJSb2NrTWVsdFwiLHtsYWJlbDpcIlNhbXN1bmcgSW50ZXJuZXRcIixwYXR0ZXJuOlwiU2Ftc3VuZ0Jyb3dzZXJcIn0sXCJTZWFNb25rZXlcIix7bGFiZWw6XCJTaWxrXCIscGF0dGVybjpcIig/OkNsb3VkOXxTaWxrLUFjY2VsZXJhdGVkKVwifSxcIlNsZWlwbmlyXCIsXCJTbGltQnJvd3NlclwiLHtsYWJlbDpcIlNSV2FyZSBJcm9uXCIscGF0dGVybjpcIklyb25cIn0sXCJTdW5yaXNlXCIsXCJTd2lmdGZveFwiLFwiVml2YWxkaVwiLFwiV2F0ZXJmb3hcIixcIldlYlBvc2l0aXZlXCIse2xhYmVsOlwiWWFuZGV4IEJyb3dzZXJcIixwYXR0ZXJuOlwiWWFCcm93c2VyXCJ9LHtsYWJlbDpcIlVDIEJyb3dzZXJcIixwYXR0ZXJuOlwiVUNCcm93c2VyXCJ9LFwiT3BlcmEgTWluaVwiLHtsYWJlbDpcIk9wZXJhIE1pbmlcIixwYXR0ZXJuOlwiT1BpT1NcIn0sXCJPcGVyYVwiLHtsYWJlbDpcIk9wZXJhXCIscGF0dGVybjpcIk9QUlwifSxcIkNocm9taXVtXCIsXCJDaHJvbWVcIix7bGFiZWw6XCJDaHJvbWVcIixwYXR0ZXJuOlwiKD86SGVhZGxlc3NDaHJvbWUpXCJ9LHtsYWJlbDpcIkNocm9tZSBNb2JpbGVcIixwYXR0ZXJuOlwiKD86Q3JpT1N8Q3JNbylcIn0se2xhYmVsOlwiRmlyZWZveFwiLHBhdHRlcm46XCIoPzpGaXJlZm94fE1pbmVmaWVsZClcIn0se2xhYmVsOlwiRmlyZWZveCBmb3IgaU9TXCIscGF0dGVybjpcIkZ4aU9TXCJ9LHtsYWJlbDpcIklFXCIscGF0dGVybjpcIklFTW9iaWxlXCJ9LHtsYWJlbDpcIklFXCIscGF0dGVybjpcIk1TSUVcIn0sXCJTYWZhcmlcIl0pO3ZhciBBPWdldFByb2R1Y3QoW3tsYWJlbDpcIkJsYWNrQmVycnlcIixwYXR0ZXJuOlwiQkIxMFwifSxcIkJsYWNrQmVycnlcIix7bGFiZWw6XCJHYWxheHkgU1wiLHBhdHRlcm46XCJHVC1JOTAwMFwifSx7bGFiZWw6XCJHYWxheHkgUzJcIixwYXR0ZXJuOlwiR1QtSTkxMDBcIn0se2xhYmVsOlwiR2FsYXh5IFMzXCIscGF0dGVybjpcIkdULUk5MzAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNFwiLHBhdHRlcm46XCJHVC1JOTUwMFwifSx7bGFiZWw6XCJHYWxheHkgUzVcIixwYXR0ZXJuOlwiU00tRzkwMFwifSx7bGFiZWw6XCJHYWxheHkgUzZcIixwYXR0ZXJuOlwiU00tRzkyMFwifSx7bGFiZWw6XCJHYWxheHkgUzYgRWRnZVwiLHBhdHRlcm46XCJTTS1HOTI1XCJ9LHtsYWJlbDpcIkdhbGF4eSBTN1wiLHBhdHRlcm46XCJTTS1HOTMwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNyBFZGdlXCIscGF0dGVybjpcIlNNLUc5MzVcIn0sXCJHb29nbGUgVFZcIixcIkx1bWlhXCIsXCJpUGFkXCIsXCJpUG9kXCIsXCJpUGhvbmVcIixcIktpbmRsZVwiLHtsYWJlbDpcIktpbmRsZSBGaXJlXCIscGF0dGVybjpcIig/OkNsb3VkOXxTaWxrLUFjY2VsZXJhdGVkKVwifSxcIk5leHVzXCIsXCJOb29rXCIsXCJQbGF5Qm9va1wiLFwiUGxheVN0YXRpb24gVml0YVwiLFwiUGxheVN0YXRpb25cIixcIlRvdWNoUGFkXCIsXCJUcmFuc2Zvcm1lclwiLHtsYWJlbDpcIldpaSBVXCIscGF0dGVybjpcIldpaVVcIn0sXCJXaWlcIixcIlhib3ggT25lXCIse2xhYmVsOlwiWGJveCAzNjBcIixwYXR0ZXJuOlwiWGJveFwifSxcIlhvb21cIl0pO3ZhciBJPWdldE1hbnVmYWN0dXJlcih7QXBwbGU6e2lQYWQ6MSxpUGhvbmU6MSxpUG9kOjF9LEFsY2F0ZWw6e30sQXJjaG9zOnt9LEFtYXpvbjp7S2luZGxlOjEsXCJLaW5kbGUgRmlyZVwiOjF9LEFzdXM6e1RyYW5zZm9ybWVyOjF9LFwiQmFybmVzICYgTm9ibGVcIjp7Tm9vazoxfSxCbGFja0JlcnJ5OntQbGF5Qm9vazoxfSxHb29nbGU6e1wiR29vZ2xlIFRWXCI6MSxOZXh1czoxfSxIUDp7VG91Y2hQYWQ6MX0sSFRDOnt9LEh1YXdlaTp7fSxMZW5vdm86e30sTEc6e30sTWljcm9zb2Z0OntYYm94OjEsXCJYYm94IE9uZVwiOjF9LE1vdG9yb2xhOntYb29tOjF9LE5pbnRlbmRvOntcIldpaSBVXCI6MSxXaWk6MX0sTm9raWE6e0x1bWlhOjF9LE9wcG86e30sU2Ftc3VuZzp7XCJHYWxheHkgU1wiOjEsXCJHYWxheHkgUzJcIjoxLFwiR2FsYXh5IFMzXCI6MSxcIkdhbGF4eSBTNFwiOjF9LFNvbnk6e1BsYXlTdGF0aW9uOjEsXCJQbGF5U3RhdGlvbiBWaXRhXCI6MX0sWGlhb21pOntNaToxLFJlZG1pOjF9fSk7dmFyIFQ9Z2V0T1MoW1wiV2luZG93cyBQaG9uZVwiLFwiS2FpT1NcIixcIkFuZHJvaWRcIixcIkNlbnRPU1wiLHtsYWJlbDpcIkNocm9tZSBPU1wiLHBhdHRlcm46XCJDck9TXCJ9LFwiRGViaWFuXCIse2xhYmVsOlwiRHJhZ29uRmx5IEJTRFwiLHBhdHRlcm46XCJEcmFnb25GbHlcIn0sXCJGZWRvcmFcIixcIkZyZWVCU0RcIixcIkdlbnRvb1wiLFwiSGFpa3VcIixcIkt1YnVudHVcIixcIkxpbnV4IE1pbnRcIixcIk9wZW5CU0RcIixcIlJlZCBIYXRcIixcIlN1U0VcIixcIlVidW50dVwiLFwiWHVidW50dVwiLFwiQ3lnd2luXCIsXCJTeW1iaWFuIE9TXCIsXCJocHdPU1wiLFwid2ViT1MgXCIsXCJ3ZWJPU1wiLFwiVGFibGV0IE9TXCIsXCJUaXplblwiLFwiTGludXhcIixcIk1hYyBPUyBYXCIsXCJNYWNpbnRvc2hcIixcIk1hY1wiLFwiV2luZG93cyA5ODtcIixcIldpbmRvd3MgXCJdKTtmdW5jdGlvbiBnZXRMYXlvdXQoaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQpe3JldHVybiBpfHxSZWdFeHAoXCJcXFxcYlwiKyh0LnBhdHRlcm58fHF1YWxpZnkodCkpK1wiXFxcXGJcIixcImlcIikuZXhlYyhlKSYmKHQubGFiZWx8fHQpfSkpfWZ1bmN0aW9uIGdldE1hbnVmYWN0dXJlcihpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCxyKXtyZXR1cm4gaXx8KHRbQV18fHRbL15bYS16XSsoPzogK1thLXpdK1xcYikqL2kuZXhlYyhBKV18fFJlZ0V4cChcIlxcXFxiXCIrcXVhbGlmeShyKStcIig/OlxcXFxifFxcXFx3KlxcXFxkKVwiLFwiaVwiKS5leGVjKGUpKSYmcn0pKX1mdW5jdGlvbiBnZXROYW1lKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXtyZXR1cm4gaXx8UmVnRXhwKFwiXFxcXGJcIisodC5wYXR0ZXJufHxxdWFsaWZ5KHQpKStcIlxcXFxiXCIsXCJpXCIpLmV4ZWMoZSkmJih0LmxhYmVsfHx0KX0pKX1mdW5jdGlvbiBnZXRPUyhpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7dmFyIHI9dC5wYXR0ZXJufHxxdWFsaWZ5KHQpO2lmKCFpJiYoaT1SZWdFeHAoXCJcXFxcYlwiK3IrXCIoPzovW1xcXFxkLl0rfFsgXFxcXHcuXSopXCIsXCJpXCIpLmV4ZWMoZSkpKXtpPWNsZWFudXBPUyhpLHIsdC5sYWJlbHx8dCl9cmV0dXJuIGl9KSl9ZnVuY3Rpb24gZ2V0UHJvZHVjdChpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7dmFyIHI9dC5wYXR0ZXJufHxxdWFsaWZ5KHQpO2lmKCFpJiYoaT1SZWdFeHAoXCJcXFxcYlwiK3IrXCIgKlxcXFxkK1suXFxcXHdfXSpcIixcImlcIikuZXhlYyhlKXx8UmVnRXhwKFwiXFxcXGJcIityK1wiICpcXFxcdystW1xcXFx3XSpcIixcImlcIikuZXhlYyhlKXx8UmVnRXhwKFwiXFxcXGJcIityK1wiKD86OyAqKD86W2Etel0rW18tXSk/W2Etel0rXFxcXGQrfFteICgpOy1dKilcIixcImlcIikuZXhlYyhlKSkpe2lmKChpPVN0cmluZyh0LmxhYmVsJiYhUmVnRXhwKHIsXCJpXCIpLnRlc3QodC5sYWJlbCk/dC5sYWJlbDppKS5zcGxpdChcIi9cIikpWzFdJiYhL1tcXGQuXSsvLnRlc3QoaVswXSkpe2lbMF0rPVwiIFwiK2lbMV19dD10LmxhYmVsfHx0O2k9Zm9ybWF0KGlbMF0ucmVwbGFjZShSZWdFeHAocixcImlcIiksdCkucmVwbGFjZShSZWdFeHAoXCI7ICooPzpcIit0K1wiW18tXSk/XCIsXCJpXCIpLFwiIFwiKS5yZXBsYWNlKFJlZ0V4cChcIihcIit0K1wiKVstXy5dPyhcXFxcdylcIixcImlcIiksXCIkMSAkMlwiKSl9cmV0dXJuIGl9KSl9ZnVuY3Rpb24gZ2V0VmVyc2lvbihpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7cmV0dXJuIGl8fChSZWdFeHAodCtcIig/Oi1bXFxcXGQuXSsvfCg/OiBmb3IgW1xcXFx3LV0rKT9bIC8tXSkoW1xcXFxkLl0rW14gKCk7L18tXSopXCIsXCJpXCIpLmV4ZWMoZSl8fDApWzFdfHxudWxsfSkpfWZ1bmN0aW9uIHRvU3RyaW5nUGxhdGZvcm0oKXtyZXR1cm4gdGhpcy5kZXNjcmlwdGlvbnx8XCJcIn1fJiYoXz1bX10pO2lmKC9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpJiYhQSYmKE09L1xcYkFuZHJvaWRbXjtdKjsoLio/KSg/OkJ1aWxkfFxcKSBBcHBsZVdlYktpdClcXGIvaS5leGVjKGUpKSl7QT10cmltKE1bMV0pLnJlcGxhY2UoL15bYS16XXsyfS1bYS16XXsyfTtcXHMqL2ksXCJcIil8fG51bGx9aWYoSSYmIUEpe0E9Z2V0UHJvZHVjdChbSV0pfWVsc2UgaWYoSSYmQSl7QT1BLnJlcGxhY2UoUmVnRXhwKFwiXihcIitxdWFsaWZ5KEkpK1wiKVstXy5cXFxcc11cIixcImlcIiksSStcIiBcIikucmVwbGFjZShSZWdFeHAoXCJeKFwiK3F1YWxpZnkoSSkrXCIpWy1fLl0/KFxcXFx3KVwiLFwiaVwiKSxJK1wiICQyXCIpfWlmKE09L1xcYkdvb2dsZSBUVlxcYi8uZXhlYyhBKSl7QT1NWzBdfWlmKC9cXGJTaW11bGF0b3JcXGIvaS50ZXN0KGUpKXtBPShBP0ErXCIgXCI6XCJcIikrXCJTaW11bGF0b3JcIn1pZihSPT1cIk9wZXJhIE1pbmlcIiYmL1xcYk9QaU9TXFxiLy50ZXN0KGUpKXtQLnB1c2goXCJydW5uaW5nIGluIFR1cmJvL1VuY29tcHJlc3NlZCBtb2RlXCIpfWlmKFI9PVwiSUVcIiYmL1xcYmxpa2UgaVBob25lIE9TXFxiLy50ZXN0KGUpKXtNPXBhcnNlKGUucmVwbGFjZSgvbGlrZSBpUGhvbmUgT1MvLFwiXCIpKTtJPU0ubWFudWZhY3R1cmVyO0E9TS5wcm9kdWN0fWVsc2UgaWYoL15pUC8udGVzdChBKSl7Unx8KFI9XCJTYWZhcmlcIik7VD1cImlPU1wiKygoTT0vIE9TIChbXFxkX10rKS9pLmV4ZWMoZSkpP1wiIFwiK01bMV0ucmVwbGFjZSgvXy9nLFwiLlwiKTpcIlwiKX1lbHNlIGlmKFI9PVwiS29ucXVlcm9yXCImJi9eTGludXhcXGIvaS50ZXN0KFQpKXtUPVwiS3VidW50dVwifWVsc2UgaWYoSSYmSSE9XCJHb29nbGVcIiYmKC9DaHJvbWUvLnRlc3QoUikmJiEvXFxiTW9iaWxlIFNhZmFyaVxcYi9pLnRlc3QoZSl8fC9cXGJWaXRhXFxiLy50ZXN0KEEpKXx8L1xcYkFuZHJvaWRcXGIvLnRlc3QoVCkmJi9eQ2hyb21lLy50ZXN0KFIpJiYvXFxiVmVyc2lvblxcLy9pLnRlc3QoZSkpe1I9XCJBbmRyb2lkIEJyb3dzZXJcIjtUPS9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpP1Q6XCJBbmRyb2lkXCJ9ZWxzZSBpZihSPT1cIlNpbGtcIil7aWYoIS9cXGJNb2JpL2kudGVzdChlKSl7VD1cIkFuZHJvaWRcIjtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIil9aWYoL0FjY2VsZXJhdGVkICo9ICp0cnVlL2kudGVzdChlKSl7UC51bnNoaWZ0KFwiYWNjZWxlcmF0ZWRcIil9fWVsc2UgaWYoUj09XCJVQyBCcm93c2VyXCImJi9cXGJVQ1dFQlxcYi8udGVzdChlKSl7UC5wdXNoKFwic3BlZWQgbW9kZVwiKX1lbHNlIGlmKFI9PVwiUGFsZU1vb25cIiYmKE09L1xcYkZpcmVmb3hcXC8oW1xcZC5dKylcXGIvLmV4ZWMoZSkpKXtQLnB1c2goXCJpZGVudGlmeWluZyBhcyBGaXJlZm94IFwiK01bMV0pfWVsc2UgaWYoUj09XCJGaXJlZm94XCImJihNPS9cXGIoTW9iaWxlfFRhYmxldHxUVilcXGIvaS5leGVjKGUpKSl7VHx8KFQ9XCJGaXJlZm94IE9TXCIpO0F8fChBPU1bMV0pfWVsc2UgaWYoIVJ8fChNPSEvXFxiTWluZWZpZWxkXFxiL2kudGVzdChlKSYmL1xcYig/OkZpcmVmb3h8U2FmYXJpKVxcYi8uZXhlYyhSKSkpe2lmKFImJiFBJiYvW1xcLyxdfF5bXihdKz9cXCkvLnRlc3QoZS5zbGljZShlLmluZGV4T2YoTStcIi9cIikrOCkpKXtSPW51bGx9aWYoKE09QXx8SXx8VCkmJihBfHxJfHwvXFxiKD86QW5kcm9pZHxTeW1iaWFuIE9TfFRhYmxldCBPU3x3ZWJPUylcXGIvLnRlc3QoVCkpKXtSPS9bYS16XSsoPzogSGF0KT8vaS5leGVjKC9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpP1Q6TSkrXCIgQnJvd3NlclwifX1lbHNlIGlmKFI9PVwiRWxlY3Ryb25cIiYmKE09KC9cXGJDaHJvbWVcXC8oW1xcZC5dKylcXGIvLmV4ZWMoZSl8fDApWzFdKSl7UC5wdXNoKFwiQ2hyb21pdW0gXCIrTSl9aWYoIUIpe0I9Z2V0VmVyc2lvbihbXCIoPzpDbG91ZDl8Q3JpT1N8Q3JNb3xFZGdlfEVkZ3xFZGdBfEVkZ2lPU3xGeGlPU3xIZWFkbGVzc0Nocm9tZXxJRU1vYmlsZXxJcm9ufE9wZXJhID9NaW5pfE9QaU9TfE9QUnxSYXZlbnxTYW1zdW5nQnJvd3NlcnxTaWxrKD8hL1tcXFxcZC5dKyQpfFVDQnJvd3NlcnxZYUJyb3dzZXIpXCIsXCJWZXJzaW9uXCIscXVhbGlmeShSKSxcIig/OkZpcmVmb3h8TWluZWZpZWxkfE5ldEZyb250KVwiXSl9aWYoTT1fPT1cImlDYWJcIiYmcGFyc2VGbG9hdChCKT4zJiZcIldlYktpdFwifHwvXFxiT3BlcmFcXGIvLnRlc3QoUikmJigvXFxiT1BSXFxiLy50ZXN0KGUpP1wiQmxpbmtcIjpcIlByZXN0b1wiKXx8L1xcYig/Ok1pZG9yaXxOb29rfFNhZmFyaSlcXGIvaS50ZXN0KGUpJiYhL14oPzpUcmlkZW50fEVkZ2VIVE1MKSQvLnRlc3QoXykmJlwiV2ViS2l0XCJ8fCFfJiYvXFxiTVNJRVxcYi9pLnRlc3QoZSkmJihUPT1cIk1hYyBPU1wiP1wiVGFzbWFuXCI6XCJUcmlkZW50XCIpfHxfPT1cIldlYktpdFwiJiYvXFxiUGxheVN0YXRpb25cXGIoPyEgVml0YVxcYikvaS50ZXN0KFIpJiZcIk5ldEZyb250XCIpe189W01dfWlmKFI9PVwiSUVcIiYmKE09KC87ICooPzpYQkxXUHxadW5lV1ApKFxcZCspL2kuZXhlYyhlKXx8MClbMV0pKXtSKz1cIiBNb2JpbGVcIjtUPVwiV2luZG93cyBQaG9uZSBcIisoL1xcKyQvLnRlc3QoTSk/TTpNK1wiLnhcIik7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpfWVsc2UgaWYoL1xcYldQRGVza3RvcFxcYi9pLnRlc3QoZSkpe1I9XCJJRSBNb2JpbGVcIjtUPVwiV2luZG93cyBQaG9uZSA4LnhcIjtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIik7Qnx8KEI9KC9cXGJydjooW1xcZC5dKykvLmV4ZWMoZSl8fDApWzFdKX1lbHNlIGlmKFIhPVwiSUVcIiYmXz09XCJUcmlkZW50XCImJihNPS9cXGJydjooW1xcZC5dKykvLmV4ZWMoZSkpKXtpZihSKXtQLnB1c2goXCJpZGVudGlmeWluZyBhcyBcIitSKyhCP1wiIFwiK0I6XCJcIikpfVI9XCJJRVwiO0I9TVsxXX1pZihrKXtpZihpc0hvc3RUeXBlKGksXCJnbG9iYWxcIikpe2lmKG0pe009bS5sYW5nLlN5c3RlbTtFPU0uZ2V0UHJvcGVydHkoXCJvcy5hcmNoXCIpO1Q9VHx8TS5nZXRQcm9wZXJ0eShcIm9zLm5hbWVcIikrXCIgXCIrTS5nZXRQcm9wZXJ0eShcIm9zLnZlcnNpb25cIil9aWYoZyl7dHJ5e0I9aS5yZXF1aXJlKFwicmluZ28vZW5naW5lXCIpLnZlcnNpb24uam9pbihcIi5cIik7Uj1cIlJpbmdvSlNcIn1jYXRjaChlKXtpZigoTT1pLnN5c3RlbSkmJk0uZ2xvYmFsLnN5c3RlbT09aS5zeXN0ZW0pe1I9XCJOYXJ3aGFsXCI7VHx8KFQ9TVswXS5vc3x8bnVsbCl9fWlmKCFSKXtSPVwiUmhpbm9cIn19ZWxzZSBpZih0eXBlb2YgaS5wcm9jZXNzPT1cIm9iamVjdFwiJiYhaS5wcm9jZXNzLmJyb3dzZXImJihNPWkucHJvY2Vzcykpe2lmKHR5cGVvZiBNLnZlcnNpb25zPT1cIm9iamVjdFwiKXtpZih0eXBlb2YgTS52ZXJzaW9ucy5lbGVjdHJvbj09XCJzdHJpbmdcIil7UC5wdXNoKFwiTm9kZSBcIitNLnZlcnNpb25zLm5vZGUpO1I9XCJFbGVjdHJvblwiO0I9TS52ZXJzaW9ucy5lbGVjdHJvbn1lbHNlIGlmKHR5cGVvZiBNLnZlcnNpb25zLm53PT1cInN0cmluZ1wiKXtQLnB1c2goXCJDaHJvbWl1bSBcIitCLFwiTm9kZSBcIitNLnZlcnNpb25zLm5vZGUpO1I9XCJOVy5qc1wiO0I9TS52ZXJzaW9ucy5ud319aWYoIVIpe1I9XCJOb2RlLmpzXCI7RT1NLmFyY2g7VD1NLnBsYXRmb3JtO0I9L1tcXGQuXSsvLmV4ZWMoTS52ZXJzaW9uKTtCPUI/QlswXTpudWxsfX19ZWxzZSBpZihnZXRDbGFzc09mKE09aS5ydW50aW1lKT09cCl7Uj1cIkFkb2JlIEFJUlwiO1Q9TS5mbGFzaC5zeXN0ZW0uQ2FwYWJpbGl0aWVzLm9zfWVsc2UgaWYoZ2V0Q2xhc3NPZihNPWkucGhhbnRvbSk9PXgpe1I9XCJQaGFudG9tSlNcIjtCPShNPU0udmVyc2lvbnx8bnVsbCkmJk0ubWFqb3IrXCIuXCIrTS5taW5vcitcIi5cIitNLnBhdGNofWVsc2UgaWYodHlwZW9mIE8uZG9jdW1lbnRNb2RlPT1cIm51bWJlclwiJiYoTT0vXFxiVHJpZGVudFxcLyhcXGQrKS9pLmV4ZWMoZSkpKXtCPVtCLE8uZG9jdW1lbnRNb2RlXTtpZigoTT0rTVsxXSs0KSE9QlsxXSl7UC5wdXNoKFwiSUUgXCIrQlsxXStcIiBtb2RlXCIpO18mJihfWzFdPVwiXCIpO0JbMV09TX1CPVI9PVwiSUVcIj9TdHJpbmcoQlsxXS50b0ZpeGVkKDEpKTpCWzBdfWVsc2UgaWYodHlwZW9mIE8uZG9jdW1lbnRNb2RlPT1cIm51bWJlclwiJiYvXig/OkNocm9tZXxGaXJlZm94KVxcYi8udGVzdChSKSl7UC5wdXNoKFwibWFza2luZyBhcyBcIitSK1wiIFwiK0IpO1I9XCJJRVwiO0I9XCIxMS4wXCI7Xz1bXCJUcmlkZW50XCJdO1Q9XCJXaW5kb3dzXCJ9VD1UJiZmb3JtYXQoVCl9aWYoQiYmKE09Lyg/OlthYl18ZHB8cHJlfFthYl1cXGQrcHJlKSg/OlxcZCtcXCs/KT8kL2kuZXhlYyhCKXx8Lyg/OmFscGhhfGJldGEpKD86ID9cXGQpPy9pLmV4ZWMoZStcIjtcIisoayYmbi5hcHBNaW5vclZlcnNpb24pKXx8L1xcYk1pbmVmaWVsZFxcYi9pLnRlc3QoZSkmJlwiYVwiKSl7Qz0vYi9pLnRlc3QoTSk/XCJiZXRhXCI6XCJhbHBoYVwiO0I9Qi5yZXBsYWNlKFJlZ0V4cChNK1wiXFxcXCs/JFwiKSxcIlwiKSsoQz09XCJiZXRhXCI/djpoKSsoL1xcZCtcXCs/Ly5leGVjKE0pfHxcIlwiKX1pZihSPT1cIkZlbm5lY1wifHxSPT1cIkZpcmVmb3hcIiYmL1xcYig/OkFuZHJvaWR8RmlyZWZveCBPU3xLYWlPUylcXGIvLnRlc3QoVCkpe1I9XCJGaXJlZm94IE1vYmlsZVwifWVsc2UgaWYoUj09XCJNYXh0aG9uXCImJkIpe0I9Qi5yZXBsYWNlKC9cXC5bXFxkLl0rLyxcIi54XCIpfWVsc2UgaWYoL1xcYlhib3hcXGIvaS50ZXN0KEEpKXtpZihBPT1cIlhib3ggMzYwXCIpe1Q9bnVsbH1pZihBPT1cIlhib3ggMzYwXCImJi9cXGJJRU1vYmlsZVxcYi8udGVzdChlKSl7UC51bnNoaWZ0KFwibW9iaWxlIG1vZGVcIil9fWVsc2UgaWYoKC9eKD86Q2hyb21lfElFfE9wZXJhKSQvLnRlc3QoUil8fFImJiFBJiYhL0Jyb3dzZXJ8TW9iaS8udGVzdChSKSkmJihUPT1cIldpbmRvd3MgQ0VcInx8L01vYmkvaS50ZXN0KGUpKSl7Uis9XCIgTW9iaWxlXCJ9ZWxzZSBpZihSPT1cIklFXCImJmspe3RyeXtpZihpLmV4dGVybmFsPT09bnVsbCl7UC51bnNoaWZ0KFwicGxhdGZvcm0gcHJldmlld1wiKX19Y2F0Y2goZSl7UC51bnNoaWZ0KFwiZW1iZWRkZWRcIil9fWVsc2UgaWYoKC9cXGJCbGFja0JlcnJ5XFxiLy50ZXN0KEEpfHwvXFxiQkIxMFxcYi8udGVzdChlKSkmJihNPShSZWdFeHAoQS5yZXBsYWNlKC8gKy9nLFwiICpcIikrXCIvKFsuXFxcXGRdKylcIixcImlcIikuZXhlYyhlKXx8MClbMV18fEIpKXtNPVtNLC9CQjEwLy50ZXN0KGUpXTtUPShNWzFdPyhBPW51bGwsST1cIkJsYWNrQmVycnlcIik6XCJEZXZpY2UgU29mdHdhcmVcIikrXCIgXCIrTVswXTtCPW51bGx9ZWxzZSBpZih0aGlzIT1mb3JPd24mJkEhPVwiV2lpXCImJihrJiZ5fHwvT3BlcmEvLnRlc3QoUikmJi9cXGIoPzpNU0lFfEZpcmVmb3gpXFxiL2kudGVzdChlKXx8Uj09XCJGaXJlZm94XCImJi9cXGJPUyBYICg/OlxcZCtcXC4pezIsfS8udGVzdChUKXx8Uj09XCJJRVwiJiYoVCYmIS9eV2luLy50ZXN0KFQpJiZCPjUuNXx8L1xcYldpbmRvd3MgWFBcXGIvLnRlc3QoVCkmJkI+OHx8Qj09OCYmIS9cXGJUcmlkZW50XFxiLy50ZXN0KGUpKSkmJiFmLnRlc3QoTT1wYXJzZS5jYWxsKGZvck93bixlLnJlcGxhY2UoZixcIlwiKStcIjtcIikpJiZNLm5hbWUpe009XCJpbmcgYXMgXCIrTS5uYW1lKygoTT1NLnZlcnNpb24pP1wiIFwiK006XCJcIik7aWYoZi50ZXN0KFIpKXtpZigvXFxiSUVcXGIvLnRlc3QoTSkmJlQ9PVwiTWFjIE9TXCIpe1Q9bnVsbH1NPVwiaWRlbnRpZnlcIitNfWVsc2V7TT1cIm1hc2tcIitNO2lmKHcpe1I9Zm9ybWF0KHcucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZyxcIiQxICQyXCIpKX1lbHNle1I9XCJPcGVyYVwifWlmKC9cXGJJRVxcYi8udGVzdChNKSl7VD1udWxsfWlmKCFrKXtCPW51bGx9fV89W1wiUHJlc3RvXCJdO1AucHVzaChNKX1pZihNPSgvXFxiQXBwbGVXZWJLaXRcXC8oW1xcZC5dK1xcKz8pL2kuZXhlYyhlKXx8MClbMV0pe009W3BhcnNlRmxvYXQoTS5yZXBsYWNlKC9cXC4oXFxkKSQvLFwiLjAkMVwiKSksTV07aWYoUj09XCJTYWZhcmlcIiYmTVsxXS5zbGljZSgtMSk9PVwiK1wiKXtSPVwiV2ViS2l0IE5pZ2h0bHlcIjtDPVwiYWxwaGFcIjtCPU1bMV0uc2xpY2UoMCwtMSl9ZWxzZSBpZihCPT1NWzFdfHxCPT0oTVsyXT0oL1xcYlNhZmFyaVxcLyhbXFxkLl0rXFwrPykvaS5leGVjKGUpfHwwKVsxXSkpe0I9bnVsbH1NWzFdPSgvXFxiKD86SGVhZGxlc3MpP0Nocm9tZVxcLyhbXFxkLl0rKS9pLmV4ZWMoZSl8fDApWzFdO2lmKE1bMF09PTUzNy4zNiYmTVsyXT09NTM3LjM2JiZwYXJzZUZsb2F0KE1bMV0pPj0yOCYmXz09XCJXZWJLaXRcIil7Xz1bXCJCbGlua1wiXX1pZigha3x8IXMmJiFNWzFdKXtfJiYoX1sxXT1cImxpa2UgU2FmYXJpXCIpO009KE09TVswXSxNPDQwMD8xOk08NTAwPzI6TTw1MjY/MzpNPDUzMz80Ok08NTM0P1wiNCtcIjpNPDUzNT81Ok08NTM3PzY6TTw1Mzg/NzpNPDYwMT84Ok08NjAyPzk6TTw2MDQ/MTA6TTw2MDY/MTE6TTw2MDg/MTI6XCIxMlwiKX1lbHNle18mJihfWzFdPVwibGlrZSBDaHJvbWVcIik7TT1NWzFdfHwoTT1NWzBdLE08NTMwPzE6TTw1MzI/MjpNPDUzMi4wNT8zOk08NTMzPzQ6TTw1MzQuMDM/NTpNPDUzNC4wNz82Ok08NTM0LjE/NzpNPDUzNC4xMz84Ok08NTM0LjE2Pzk6TTw1MzQuMjQ/MTA6TTw1MzQuMz8xMTpNPDUzNS4wMT8xMjpNPDUzNS4wMj9cIjEzK1wiOk08NTM1LjA3PzE1Ok08NTM1LjExPzE2Ok08NTM1LjE5PzE3Ok08NTM2LjA1PzE4Ok08NTM2LjE/MTk6TTw1MzcuMDE/MjA6TTw1MzcuMTE/XCIyMStcIjpNPDUzNy4xMz8yMzpNPDUzNy4xOD8yNDpNPDUzNy4yND8yNTpNPDUzNy4zNj8yNjpfIT1cIkJsaW5rXCI/XCIyN1wiOlwiMjhcIil9XyYmKF9bMV0rPVwiIFwiKyhNKz10eXBlb2YgTT09XCJudW1iZXJcIj9cIi54XCI6L1suK10vLnRlc3QoTSk/XCJcIjpcIitcIikpO2lmKFI9PVwiU2FmYXJpXCImJighQnx8cGFyc2VJbnQoQik+NDUpKXtCPU19ZWxzZSBpZihSPT1cIkNocm9tZVwiJiYvXFxiSGVhZGxlc3NDaHJvbWUvaS50ZXN0KGUpKXtQLnVuc2hpZnQoXCJoZWFkbGVzc1wiKX19aWYoUj09XCJPcGVyYVwiJiYoTT0vXFxiemJvdnx6dmF2JC8uZXhlYyhUKSkpe1IrPVwiIFwiO1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKTtpZihNPT1cInp2YXZcIil7Uis9XCJNaW5pXCI7Qj1udWxsfWVsc2V7Uis9XCJNb2JpbGVcIn1UPVQucmVwbGFjZShSZWdFeHAoXCIgKlwiK00rXCIkXCIpLFwiXCIpfWVsc2UgaWYoUj09XCJTYWZhcmlcIiYmL1xcYkNocm9tZVxcYi8uZXhlYyhfJiZfWzFdKSl7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpO1I9XCJDaHJvbWUgTW9iaWxlXCI7Qj1udWxsO2lmKC9cXGJPUyBYXFxiLy50ZXN0KFQpKXtJPVwiQXBwbGVcIjtUPVwiaU9TIDQuMytcIn1lbHNle1Q9bnVsbH19ZWxzZSBpZigvXFxiU1JXYXJlIElyb25cXGIvLnRlc3QoUikmJiFCKXtCPWdldFZlcnNpb24oXCJDaHJvbWVcIil9aWYoQiYmQi5pbmRleE9mKE09L1tcXGQuXSskLy5leGVjKFQpKT09MCYmZS5pbmRleE9mKFwiL1wiK00rXCItXCIpPi0xKXtUPXRyaW0oVC5yZXBsYWNlKE0sXCJcIikpfWlmKFQmJlQuaW5kZXhPZihSKSE9LTEmJiFSZWdFeHAoUitcIiBPU1wiKS50ZXN0KFQpKXtUPVQucmVwbGFjZShSZWdFeHAoXCIgKlwiK3F1YWxpZnkoUikrXCIgKlwiKSxcIlwiKX1pZihfJiYhL1xcYig/OkF2YW50fE5vb2spXFxiLy50ZXN0KFIpJiYoL0Jyb3dzZXJ8THVuYXNjYXBlfE1heHRob24vLnRlc3QoUil8fFIhPVwiU2FmYXJpXCImJi9eaU9TLy50ZXN0KFQpJiYvXFxiU2FmYXJpXFxiLy50ZXN0KF9bMV0pfHwvXig/OkFkb2JlfEFyb3JhfEJyZWFjaHxNaWRvcml8T3BlcmF8UGhhbnRvbXxSZWtvbnF8Um9ja3xTYW1zdW5nIEludGVybmV0fFNsZWlwbmlyfFNSV2FyZSBJcm9ufFZpdmFsZGl8V2ViKS8udGVzdChSKSYmX1sxXSkpeyhNPV9bXy5sZW5ndGgtMV0pJiZQLnB1c2goTSl9aWYoUC5sZW5ndGgpe1A9W1wiKFwiK1Auam9pbihcIjsgXCIpK1wiKVwiXX1pZihJJiZBJiZBLmluZGV4T2YoSSk8MCl7UC5wdXNoKFwib24gXCIrSSl9aWYoQSl7UC5wdXNoKCgvXm9uIC8udGVzdChQW1AubGVuZ3RoLTFdKT9cIlwiOlwib24gXCIpK0EpfWlmKFQpe009LyAoW1xcZC4rXSspJC8uZXhlYyhUKTtXPU0mJlQuY2hhckF0KFQubGVuZ3RoLU1bMF0ubGVuZ3RoLTEpPT1cIi9cIjtUPXthcmNoaXRlY3R1cmU6MzIsZmFtaWx5Ok0mJiFXP1QucmVwbGFjZShNWzBdLFwiXCIpOlQsdmVyc2lvbjpNP01bMV06bnVsbCx0b1N0cmluZzpmdW5jdGlvbigpe3ZhciBlPXRoaXMudmVyc2lvbjtyZXR1cm4gdGhpcy5mYW1pbHkrKGUmJiFXP1wiIFwiK2U6XCJcIikrKHRoaXMuYXJjaGl0ZWN0dXJlPT02ND9cIiA2NC1iaXRcIjpcIlwiKX19fWlmKChNPS9cXGIoPzpBTUR8SUF8V2lufFdPV3x4ODZffHgpNjRcXGIvaS5leGVjKEUpKSYmIS9cXGJpNjg2XFxiL2kudGVzdChFKSl7aWYoVCl7VC5hcmNoaXRlY3R1cmU9NjQ7VC5mYW1pbHk9VC5mYW1pbHkucmVwbGFjZShSZWdFeHAoXCIgKlwiK00pLFwiXCIpfWlmKFImJigvXFxiV09XNjRcXGIvaS50ZXN0KGUpfHxrJiYvXFx3KD86ODZ8MzIpJC8udGVzdChuLmNwdUNsYXNzfHxuLnBsYXRmb3JtKSYmIS9cXGJXaW42NDsgeDY0XFxiL2kudGVzdChlKSkpe1AudW5zaGlmdChcIjMyLWJpdFwiKX19ZWxzZSBpZihUJiYvXk9TIFgvLnRlc3QoVC5mYW1pbHkpJiZSPT1cIkNocm9tZVwiJiZwYXJzZUZsb2F0KEIpPj0zOSl7VC5hcmNoaXRlY3R1cmU9NjR9ZXx8KGU9bnVsbCk7dmFyIEY9e307Ri5kZXNjcmlwdGlvbj1lO0YubGF5b3V0PV8mJl9bMF07Ri5tYW51ZmFjdHVyZXI9STtGLm5hbWU9UjtGLnByZXJlbGVhc2U9QztGLnByb2R1Y3Q9QTtGLnVhPWU7Ri52ZXJzaW9uPVImJkI7Ri5vcz1UfHx7YXJjaGl0ZWN0dXJlOm51bGwsZmFtaWx5Om51bGwsdmVyc2lvbjpudWxsLHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuXCJudWxsXCJ9fTtGLnBhcnNlPXBhcnNlO0YudG9TdHJpbmc9dG9TdHJpbmdQbGF0Zm9ybTtpZihGLnZlcnNpb24pe1AudW5zaGlmdChCKX1pZihGLm5hbWUpe1AudW5zaGlmdChSKX1pZihUJiZSJiYhKFQ9PVN0cmluZyhUKS5zcGxpdChcIiBcIilbMF0mJihUPT1SLnNwbGl0KFwiIFwiKVswXXx8QSkpKXtQLnB1c2goQT9cIihcIitUK1wiKVwiOlwib24gXCIrVCl9aWYoUC5sZW5ndGgpe0YuZGVzY3JpcHRpb249UC5qb2luKFwiIFwiKX1yZXR1cm4gRn12YXIgZD1wYXJzZSgpO2lmKG4mJm8pe2Zvck93bihkLChmdW5jdGlvbihlLGkpe25baV09ZX0pKX1lbHNle3IucGxhdGZvcm09ZH19KS5jYWxsKHRoaXMpfX07dmFyIGk9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh0KXt2YXIgcj1pW3RdO2lmKHIhPT11bmRlZmluZWQpe3JldHVybiByLmV4cG9ydHN9dmFyIGE9aVt0XT17aWQ6dCxsb2FkZWQ6ZmFsc2UsZXhwb3J0czp7fX07dmFyIG49dHJ1ZTt0cnl7ZVt0XS5jYWxsKGEuZXhwb3J0cyxhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtuPWZhbHNlfWZpbmFsbHl7aWYobilkZWxldGUgaVt0XX1hLmxvYWRlZD10cnVlO3JldHVybiBhLmV4cG9ydHN9KCgpPT57X19uY2N3cGNrX3JlcXVpcmVfXy5ubWQ9ZT0+e2UucGF0aHM9W107aWYoIWUuY2hpbGRyZW4pZS5jaGlsZHJlbj1bXTtyZXR1cm4gZX19KSgpO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdD1fX25jY3dwY2tfcmVxdWlyZV9fKDU0MSk7bW9kdWxlLmV4cG9ydHM9dH0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/platform/platform.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-is.development.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\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUI7QUFDdkIsdUJBQXVCO0FBQ3ZCLGVBQWU7QUFDZixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixZQUFZO0FBQ1osY0FBYztBQUNkLGdCQUFnQjtBQUNoQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQixtQkFBbUI7QUFDbkIsd0JBQXdCO0FBQ3hCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsaUJBQWlCO0FBQ2pCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLDBCQUEwQjtBQUMxQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtaXMvY2pzL3JlYWN0LWlzLmRldmVsb3BtZW50LmpzP2VjODUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9TRVJWRVJfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2VydmVyX2NvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG4vLyBzdHVmZi4gSW50ZW5kZWQgdG8gZW5hYmxlIFJlYWN0IGNvcmUgbWVtYmVycyB0byBtb3JlIGVhc2lseSBkZWJ1ZyBzY2hlZHVsaW5nXG4vLyBpc3N1ZXMgaW4gREVWIGJ1aWxkcy5cblxudmFyIGVuYWJsZURlYnVnVHJhY2luZyA9IGZhbHNlOyAvLyBUcmFjayB3aGljaCBGaWJlcihzKSBzY2hlZHVsZSByZW5kZXIgd29yay5cblxudmFyIFJFQUNUX01PRFVMRV9SRUZFUkVOQ0U7XG5cbntcbiAgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm1vZHVsZS5yZWZlcmVuY2UnKTtcbn1cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBUaGlzIG5lZWRzIHRvIGluY2x1ZGUgYWxsIHBvc3NpYmxlIG1vZHVsZSByZWZlcmVuY2Ugb2JqZWN0XG4gICAgLy8gdHlwZXMgc3VwcG9ydGVkIGJ5IGFueSBGbGlnaHQgY29uZmlndXJhdGlvbiBhbnl3aGVyZSBzaW5jZVxuICAgIC8vIHdlIGRvbid0IGtub3cgd2hpY2ggRmxpZ2h0IGJ1aWxkIHRoaXMgd2lsbCBlbmQgdXAgYmVpbmcgdXNlZFxuICAgIC8vIHdpdGguXG4gICAgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdHlwZU9mKG9iamVjdCkge1xuICBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcgJiYgb2JqZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyICQkdHlwZW9mID0gb2JqZWN0LiQkdHlwZW9mO1xuXG4gICAgc3dpdGNoICgkJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgIHZhciB0eXBlID0gb2JqZWN0LnR5cGU7XG5cbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFyICQkdHlwZW9mVHlwZSA9IHR5cGUgJiYgdHlwZS4kJHR5cGVvZjtcblxuICAgICAgICAgICAgc3dpdGNoICgkJHR5cGVvZlR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9TRVJWRVJfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJCR0eXBlb2ZUeXBlO1xuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG52YXIgQ29udGV4dENvbnN1bWVyID0gUkVBQ1RfQ09OVEVYVF9UWVBFO1xudmFyIENvbnRleHRQcm92aWRlciA9IFJFQUNUX1BST1ZJREVSX1RZUEU7XG52YXIgRWxlbWVudCA9IFJFQUNUX0VMRU1FTlRfVFlQRTtcbnZhciBGb3J3YXJkUmVmID0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbnZhciBGcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG52YXIgTGF6eSA9IFJFQUNUX0xBWllfVFlQRTtcbnZhciBNZW1vID0gUkVBQ1RfTUVNT19UWVBFO1xudmFyIFBvcnRhbCA9IFJFQUNUX1BPUlRBTF9UWVBFO1xudmFyIFByb2ZpbGVyID0gUkVBQ1RfUFJPRklMRVJfVFlQRTtcbnZhciBTdHJpY3RNb2RlID0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbnZhciBTdXNwZW5zZSA9IFJFQUNUX1NVU1BFTlNFX1RZUEU7XG52YXIgU3VzcGVuc2VMaXN0ID0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFO1xudmFyIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlID0gZmFsc2U7XG52YXIgaGFzV2FybmVkQWJvdXREZXByZWNhdGVkSXNDb25jdXJyZW50TW9kZSA9IGZhbHNlOyAvLyBBc3luY01vZGUgc2hvdWxkIGJlIGRlcHJlY2F0ZWRcblxuZnVuY3Rpb24gaXNBc3luY01vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlKSB7XG4gICAgICBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IHRydWU7IC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG5cbiAgICAgIGNvbnNvbGVbJ3dhcm4nXSgnVGhlIFJlYWN0SXMuaXNBc3luY01vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTgrLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzQ29uY3VycmVudE1vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQ29uY3VycmVudE1vZGUpIHtcbiAgICAgIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQ29uY3VycmVudE1vZGUgPSB0cnVlOyAvLyBVc2luZyBjb25zb2xlWyd3YXJuJ10gdG8gZXZhZGUgQmFiZWwgYW5kIEVTTGludFxuXG4gICAgICBjb25zb2xlWyd3YXJuJ10oJ1RoZSBSZWFjdElzLmlzQ29uY3VycmVudE1vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTgrLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dENvbnN1bWVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX0NPTlRFWFRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dFByb3ZpZGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST1ZJREVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG5mdW5jdGlvbiBpc0ZvcndhcmRSZWYob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzRnJhZ21lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzTGF6eShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9MQVpZX1RZUEU7XG59XG5mdW5jdGlvbiBpc01lbW8ob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfTUVNT19UWVBFO1xufVxuZnVuY3Rpb24gaXNQb3J0YWwob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfUE9SVEFMX1RZUEU7XG59XG5mdW5jdGlvbiBpc1Byb2ZpbGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc1N0cmljdE1vZGUob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2Uob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2VMaXN0KG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTtcbn1cblxuZXhwb3J0cy5Db250ZXh0Q29uc3VtZXIgPSBDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLkNvbnRleHRQcm92aWRlciA9IENvbnRleHRQcm92aWRlcjtcbmV4cG9ydHMuRWxlbWVudCA9IEVsZW1lbnQ7XG5leHBvcnRzLkZvcndhcmRSZWYgPSBGb3J3YXJkUmVmO1xuZXhwb3J0cy5GcmFnbWVudCA9IEZyYWdtZW50O1xuZXhwb3J0cy5MYXp5ID0gTGF6eTtcbmV4cG9ydHMuTWVtbyA9IE1lbW87XG5leHBvcnRzLlBvcnRhbCA9IFBvcnRhbDtcbmV4cG9ydHMuUHJvZmlsZXIgPSBQcm9maWxlcjtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFN0cmljdE1vZGU7XG5leHBvcnRzLlN1c3BlbnNlID0gU3VzcGVuc2U7XG5leHBvcnRzLlN1c3BlbnNlTGlzdCA9IFN1c3BlbnNlTGlzdDtcbmV4cG9ydHMuaXNBc3luY01vZGUgPSBpc0FzeW5jTW9kZTtcbmV4cG9ydHMuaXNDb25jdXJyZW50TW9kZSA9IGlzQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLmlzQ29udGV4dENvbnN1bWVyID0gaXNDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLmlzQ29udGV4dFByb3ZpZGVyID0gaXNDb250ZXh0UHJvdmlkZXI7XG5leHBvcnRzLmlzRWxlbWVudCA9IGlzRWxlbWVudDtcbmV4cG9ydHMuaXNGb3J3YXJkUmVmID0gaXNGb3J3YXJkUmVmO1xuZXhwb3J0cy5pc0ZyYWdtZW50ID0gaXNGcmFnbWVudDtcbmV4cG9ydHMuaXNMYXp5ID0gaXNMYXp5O1xuZXhwb3J0cy5pc01lbW8gPSBpc01lbW87XG5leHBvcnRzLmlzUG9ydGFsID0gaXNQb3J0YWw7XG5leHBvcnRzLmlzUHJvZmlsZXIgPSBpc1Byb2ZpbGVyO1xuZXhwb3J0cy5pc1N0cmljdE1vZGUgPSBpc1N0cmljdE1vZGU7XG5leHBvcnRzLmlzU3VzcGVuc2UgPSBpc1N1c3BlbnNlO1xuZXhwb3J0cy5pc1N1c3BlbnNlTGlzdCA9IGlzU3VzcGVuc2VMaXN0O1xuZXhwb3J0cy5pc1ZhbGlkRWxlbWVudFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGU7XG5leHBvcnRzLnR5cGVPZiA9IHR5cGVPZjtcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-is/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-is/index.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxtSkFBeUQ7QUFDM0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1pcy9pbmRleC5qcz80MjNkIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-is/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js ***! - \*************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;Object.defineProperty(r,\"__esModule\",{value:true});var n=\"<unknown>\";function parse(e){var r=e.split(\"\\n\");return r.reduce((function(e,r){var n=parseChrome(r)||parseWinjs(r)||parseGecko(r)||parseNode(r)||parseJSC(r);if(n){e.push(n)}return e}),[])}var a=/^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;var l=/\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;function parseChrome(e){var r=a.exec(e);if(!r){return null}var u=r[2]&&r[2].indexOf(\"native\")===0;var t=r[2]&&r[2].indexOf(\"eval\")===0;var i=l.exec(r[2]);if(t&&i!=null){r[2]=i[1];r[3]=i[2];r[4]=i[3]}return{file:!u?r[2]:null,methodName:r[1]||n,arguments:u?[r[2]]:[],lineNumber:r[3]?+r[3]:null,column:r[4]?+r[4]:null}}var u=/^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseWinjs(e){var r=u.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}var t=/^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;var i=/(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;function parseGecko(e){var r=t.exec(e);if(!r){return null}var a=r[3]&&r[3].indexOf(\" > eval\")>-1;var l=i.exec(r[3]);if(a&&l!=null){r[3]=l[1];r[4]=l[2];r[5]=null}return{file:r[3],methodName:r[1]||n,arguments:r[2]?r[2].split(\",\"):[],lineNumber:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}var s=/^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;function parseJSC(e){var r=s.exec(e);if(!r){return null}return{file:r[3],methodName:r[1]||n,arguments:[],lineNumber:+r[4],column:r[5]?+r[5]:null}}var o=/^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseNode(e){var r=o.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}r.parse=parse})();module.exports=e})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0YWNrdHJhY2UtcGFyc2VyL3N0YWNrLXRyYWNlLXBhcnNlci5janMuanMiLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sYUFBYSxtRUFBbUUsU0FBUyxLQUFLLFNBQVMsTUFBTSxRQUFRLHNDQUFzQyxXQUFXLEVBQUUsa0JBQWtCLGtCQUFrQixvQkFBb0IsK0JBQStCLDhFQUE4RSxNQUFNLFVBQVUsU0FBUyxNQUFNLGtKQUFrSixzQ0FBc0Msd0JBQXdCLGdCQUFnQixPQUFPLFlBQVksdUNBQXVDLHFDQUFxQyxtQkFBbUIsZUFBZSxVQUFVLFVBQVUsVUFBVSxPQUFPLDhHQUE4RyxzSEFBc0gsdUJBQXVCLGdCQUFnQixPQUFPLFlBQVksT0FBTyxtRkFBbUYsd0lBQXdJLHNEQUFzRCx1QkFBdUIsZ0JBQWdCLE9BQU8sWUFBWSx1Q0FBdUMsbUJBQW1CLGVBQWUsVUFBVSxVQUFVLFVBQVUsT0FBTyxrSEFBa0gscUVBQXFFLHFCQUFxQixnQkFBZ0IsT0FBTyxZQUFZLE9BQU8sbUZBQW1GLHNHQUFzRyxzQkFBc0IsZ0JBQWdCLE9BQU8sWUFBWSxPQUFPLG1GQUFtRixjQUFjLElBQUksaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RhY2t0cmFjZS1wYXJzZXIvc3RhY2stdHJhY2UtcGFyc2VyLmNqcy5qcz9mZTBlIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgZT17fTsoKCk9Pnt2YXIgcj1lO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dmFyIG49XCI8dW5rbm93bj5cIjtmdW5jdGlvbiBwYXJzZShlKXt2YXIgcj1lLnNwbGl0KFwiXFxuXCIpO3JldHVybiByLnJlZHVjZSgoZnVuY3Rpb24oZSxyKXt2YXIgbj1wYXJzZUNocm9tZShyKXx8cGFyc2VXaW5qcyhyKXx8cGFyc2VHZWNrbyhyKXx8cGFyc2VOb2RlKHIpfHxwYXJzZUpTQyhyKTtpZihuKXtlLnB1c2gobil9cmV0dXJuIGV9KSxbXSl9dmFyIGE9L15cXHMqYXQgKC4qPykgP1xcKCgoPzpmaWxlfGh0dHBzP3xibG9ifGNocm9tZS1leHRlbnNpb258bmF0aXZlfGV2YWx8d2VicGFja3w8YW5vbnltb3VzPnxcXC98W2Etel06XFxcXHxcXFxcXFxcXCkuKj8pKD86OihcXGQrKSk/KD86OihcXGQrKSk/XFwpP1xccyokL2k7dmFyIGw9L1xcKChcXFMqKSg/OjooXFxkKykpKD86OihcXGQrKSlcXCkvO2Z1bmN0aW9uIHBhcnNlQ2hyb21lKGUpe3ZhciByPWEuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9dmFyIHU9clsyXSYmclsyXS5pbmRleE9mKFwibmF0aXZlXCIpPT09MDt2YXIgdD1yWzJdJiZyWzJdLmluZGV4T2YoXCJldmFsXCIpPT09MDt2YXIgaT1sLmV4ZWMoclsyXSk7aWYodCYmaSE9bnVsbCl7clsyXT1pWzFdO3JbM109aVsyXTtyWzRdPWlbM119cmV0dXJue2ZpbGU6IXU/clsyXTpudWxsLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6dT9bclsyXV06W10sbGluZU51bWJlcjpyWzNdPytyWzNdOm51bGwsY29sdW1uOnJbNF0/K3JbNF06bnVsbH19dmFyIHU9L15cXHMqYXQgKD86KCg/OlxcW29iamVjdCBvYmplY3RcXF0pPy4rKSApP1xcKD8oKD86ZmlsZXxtcy1hcHB4fGh0dHBzP3x3ZWJwYWNrfGJsb2IpOi4qPyk6KFxcZCspKD86OihcXGQrKSk/XFwpP1xccyokL2k7ZnVuY3Rpb24gcGFyc2VXaW5qcyhlKXt2YXIgcj11LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbMl0sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzNdLGNvbHVtbjpyWzRdPytyWzRdOm51bGx9fXZhciB0PS9eXFxzKiguKj8pKD86XFwoKC4qPylcXCkpPyg/Ol58QCkoKD86ZmlsZXxodHRwcz98YmxvYnxjaHJvbWV8d2VicGFja3xyZXNvdXJjZXxcXFtuYXRpdmUpLio/fFteQF0qYnVuZGxlKSg/OjooXFxkKykpPyg/OjooXFxkKykpP1xccyokL2k7dmFyIGk9LyhcXFMrKSBsaW5lIChcXGQrKSg/OiA+IGV2YWwgbGluZSBcXGQrKSogPiBldmFsL2k7ZnVuY3Rpb24gcGFyc2VHZWNrbyhlKXt2YXIgcj10LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXZhciBhPXJbM10mJnJbM10uaW5kZXhPZihcIiA+IGV2YWxcIik+LTE7dmFyIGw9aS5leGVjKHJbM10pO2lmKGEmJmwhPW51bGwpe3JbM109bFsxXTtyWzRdPWxbMl07cls1XT1udWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpyWzJdP3JbMl0uc3BsaXQoXCIsXCIpOltdLGxpbmVOdW1iZXI6cls0XT8rcls0XTpudWxsLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBzPS9eXFxzKig/OihbXkBdKikoPzpcXCgoLio/KVxcKSk/QCk/KFxcUy4qPyk6KFxcZCspKD86OihcXGQrKSk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZUpTQyhlKXt2YXIgcj1zLmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzRdLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBvPS9eXFxzKmF0ICg/OigoPzpcXFtvYmplY3Qgb2JqZWN0XFxdKT9bXlxcXFwvXSsoPzogXFxbYXMgXFxTK1xcXSk/KSApP1xcKD8oLio/KTooXFxkKykoPzo6KFxcZCspKT9cXCk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZU5vZGUoZSl7dmFyIHI9by5leGVjKGUpO2lmKCFyKXtyZXR1cm4gbnVsbH1yZXR1cm57ZmlsZTpyWzJdLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6W10sbGluZU51bWJlcjorclszXSxjb2x1bW46cls0XT8rcls0XTpudWxsfX1yLnBhcnNlPXBhcnNlfSkoKTttb2R1bGUuZXhwb3J0cz1lfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/web-vitals/web-vitals.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/web-vitals/web-vitals.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){\"use strict\";var n={};!function(){n.d=function(y,T){for(var C in T){if(n.o(T,C)&&!n.o(y,C)){Object.defineProperty(y,C,{enumerable:true,get:T[C]})}}}}();!function(){n.o=function(n,y){return Object.prototype.hasOwnProperty.call(n,y)}}();!function(){n.r=function(n){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(n,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(n,\"__esModule\",{value:true})}}();if(typeof n!==\"undefined\")n.ab=__dirname+\"/\";var y={};n.r(y);n.d(y,{getCLS:function(){return E},getFCP:function(){return g},getFID:function(){return F},getINP:function(){return O},getLCP:function(){return _},getTTFB:function(){return G},onCLS:function(){return E},onFCP:function(){return g},onFID:function(){return F},onINP:function(){return O},onLCP:function(){return _},onTTFB:function(){return G}});var T,C,w,P,I,k=-1,o=function(n){addEventListener(\"pageshow\",(function(y){y.persisted&&(k=y.timeStamp,n(y))}),!0)},c=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType(\"navigation\")[0]},u=function(){var n=c();return n&&n.activationStart||0},f=function(n,y){var T=c(),C=\"navigate\";return k>=0?C=\"back-forward-cache\":T&&(C=document.prerendering||u()>0?\"prerender\":T.type.replace(/_/g,\"-\")),{name:n,value:void 0===y?-1:y,rating:\"good\",delta:0,entries:[],id:\"v3-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:C}},s=function(n,y,T){try{if(PerformanceObserver.supportedEntryTypes.includes(n)){var C=new PerformanceObserver((function(n){y(n.getEntries())}));return C.observe(Object.assign({type:n,buffered:!0},T||{})),C}}catch(n){}},d=function(n,y){var T=function t(T){\"pagehide\"!==T.type&&\"hidden\"!==document.visibilityState||(n(T),y&&(removeEventListener(\"visibilitychange\",t,!0),removeEventListener(\"pagehide\",t,!0)))};addEventListener(\"visibilitychange\",T,!0),addEventListener(\"pagehide\",T,!0)},l=function(n,y,T,C){var w,P;return function(I){y.value>=0&&(I||C)&&((P=y.value-(w||0))||void 0===w)&&(w=y.value,y.delta=P,y.rating=function(n,y){return n>y[1]?\"poor\":n>y[0]?\"needs-improvement\":\"good\"}(y.value,T),n(y))}},N=-1,v=function(){return\"hidden\"!==document.visibilityState||document.prerendering?1/0:0},m=function(){d((function(n){var y=n.timeStamp;N=y}),!0)},h=function(){return N<0&&(N=v(),m(),o((function(){setTimeout((function(){N=v(),m()}),0)}))),{get firstHiddenTime(){return N}}},g=function(n,y){y=y||{};var T,C=[1800,3e3],w=h(),P=f(\"FCP\"),c=function(n){n.forEach((function(n){\"first-contentful-paint\"===n.name&&(k&&k.disconnect(),n.startTime<w.firstHiddenTime&&(P.value=n.startTime-u(),P.entries.push(n),T(!0)))}))},I=window.performance&&window.performance.getEntriesByName&&window.performance.getEntriesByName(\"first-contentful-paint\")[0],k=I?null:s(\"paint\",c);(I||k)&&(T=l(n,P,C,y.reportAllChanges),I&&c([I]),o((function(w){P=f(\"FCP\"),T=l(n,P,C,y.reportAllChanges),requestAnimationFrame((function(){requestAnimationFrame((function(){P.value=performance.now()-w.timeStamp,T(!0)}))}))})))},j=!1,q=-1,E=function(n,y){y=y||{};var T=[.1,.25];j||(g((function(n){q=n.value})),j=!0);var C,i=function(y){q>-1&&n(y)},w=f(\"CLS\",0),P=0,I=[],p=function(n){n.forEach((function(n){if(!n.hadRecentInput){var y=I[0],T=I[I.length-1];P&&n.startTime-T.startTime<1e3&&n.startTime-y.startTime<5e3?(P+=n.value,I.push(n)):(P=n.value,I=[n]),P>w.value&&(w.value=P,w.entries=I,C())}}))},k=s(\"layout-shift\",p);k&&(C=l(i,w,T,y.reportAllChanges),d((function(){p(k.takeRecords()),C(!0)})),o((function(){P=0,q=-1,w=f(\"CLS\",0),C=l(i,w,T,y.reportAllChanges)})))},x={passive:!0,capture:!0},z=new Date,L=function(n,y){T||(T=y,C=n,w=new Date,A(removeEventListener),S())},S=function(){if(C>=0&&C<w-z){var n={entryType:\"first-input\",name:T.type,target:T.target,cancelable:T.cancelable,startTime:T.timeStamp,processingStart:T.timeStamp+C};P.forEach((function(y){y(n)})),P=[]}},b=function(n){if(n.cancelable){var y=(n.timeStamp>1e12?new Date:performance.now())-n.timeStamp;\"pointerdown\"==n.type?function(n,y){var t=function(){L(n,y),i()},r=function(){i()},i=function(){removeEventListener(\"pointerup\",t,x),removeEventListener(\"pointercancel\",r,x)};addEventListener(\"pointerup\",t,x),addEventListener(\"pointercancel\",r,x)}(y,n):L(y,n)}},A=function(n){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(y){return n(y,b,x)}))},F=function(n,y){y=y||{};var w,I=[100,300],k=h(),N=f(\"FID\"),v=function(n){n.startTime<k.firstHiddenTime&&(N.value=n.processingStart-n.startTime,N.entries.push(n),w(!0))},m=function(n){n.forEach(v)},j=s(\"first-input\",m);w=l(n,N,I,y.reportAllChanges),j&&d((function(){m(j.takeRecords()),j.disconnect()}),!0),j&&o((function(){var k;N=f(\"FID\"),w=l(n,N,I,y.reportAllChanges),P=[],C=-1,T=null,A(addEventListener),k=v,P.push(k),S()}))},J=0,K=1/0,Q=0,M=function(n){n.forEach((function(n){n.interactionId&&(K=Math.min(K,n.interactionId),Q=Math.max(Q,n.interactionId),J=Q?(Q-K)/7+1:0)}))},B=function(){return I?J:performance.interactionCount||0},D=function(){\"interactionCount\"in performance||I||(I=s(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))},U=0,R=function(){return B()-U},V=[],W={},H=function(n){var y=V[V.length-1],T=W[n.interactionId];if(T||V.length<10||n.duration>y.latency){if(T)T.entries.push(n),T.latency=Math.max(T.latency,n.duration);else{var C={id:n.interactionId,latency:n.duration,entries:[n]};W[C.id]=C,V.push(C)}V.sort((function(n,y){return y.latency-n.latency})),V.splice(10).forEach((function(n){delete W[n.id]}))}},O=function(n,y){y=y||{};var T=[200,500];D();var C,w=f(\"INP\"),a=function(n){n.forEach((function(n){(n.interactionId&&H(n),\"first-input\"===n.entryType)&&(!V.some((function(y){return y.entries.some((function(y){return n.duration===y.duration&&n.startTime===y.startTime}))}))&&H(n))}));var y,T=(y=Math.min(V.length-1,Math.floor(R()/50)),V[y]);T&&T.latency!==w.value&&(w.value=T.latency,w.entries=T.entries,C())},P=s(\"event\",a,{durationThreshold:y.durationThreshold||40});C=l(n,w,T,y.reportAllChanges),P&&(P.observe({type:\"first-input\",buffered:!0}),d((function(){a(P.takeRecords()),w.value<0&&R()>0&&(w.value=0,w.entries=[]),C(!0)})),o((function(){V=[],U=B(),w=f(\"INP\"),C=l(n,w,T,y.reportAllChanges)})))},X={},_=function(n,y){y=y||{};var T,C=[2500,4e3],w=h(),P=f(\"LCP\"),c=function(n){var y=n[n.length-1];if(y){var C=y.startTime-u();C<w.firstHiddenTime&&(P.value=C,P.entries=[y],T())}},I=s(\"largest-contentful-paint\",c);if(I){T=l(n,P,C,y.reportAllChanges);var v=function(){X[P.id]||(c(I.takeRecords()),I.disconnect(),X[P.id]=!0,T(!0))};[\"keydown\",\"click\"].forEach((function(n){addEventListener(n,v,{once:!0,capture:!0})})),d(v,!0),o((function(w){P=f(\"LCP\"),T=l(n,P,C,y.reportAllChanges),requestAnimationFrame((function(){requestAnimationFrame((function(){P.value=performance.now()-w.timeStamp,X[P.id]=!0,T(!0)}))}))}))}},Y=function e(n){document.prerendering?addEventListener(\"prerenderingchange\",(function(){return e(n)}),!0):\"complete\"!==document.readyState?addEventListener(\"load\",(function(){return e(n)}),!0):setTimeout(n,0)},G=function(n,y){y=y||{};var T=[800,1800],C=f(\"TTFB\"),w=l(n,C,T,y.reportAllChanges);Y((function(){var P=c();if(P){if(C.value=Math.max(P.responseStart-u(),0),C.value<0||C.value>performance.now())return;C.entries=[P],w(!0),o((function(){C=f(\"TTFB\",0),(w=l(n,C,T,y.reportAllChanges))(!0)}))}}))};module.exports=y})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3dlYi12aXRhbHMvd2ViLXZpdGFscy5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsWUFBWSxhQUFhLFNBQVMsWUFBWSxrQkFBa0IsZ0JBQWdCLHdCQUF3QiwyQkFBMkIseUJBQXlCLEtBQUssR0FBRyxZQUFZLGtCQUFrQixrREFBa0QsR0FBRyxZQUFZLGdCQUFnQixvREFBb0QsNENBQTRDLGVBQWUsRUFBRSxzQ0FBc0MsV0FBVyxHQUFHLEdBQUcsK0JBQStCLFNBQVMsS0FBSyxTQUFTLE9BQU8sT0FBTyxrQkFBa0IsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxvQkFBb0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxtQkFBbUIsVUFBVSxFQUFFLGlDQUFpQyx5Q0FBeUMsa0NBQWtDLE1BQU0sY0FBYyx1R0FBdUcsY0FBYyxVQUFVLCtCQUErQixpQkFBaUIsdUJBQXVCLDZHQUE2RyxxS0FBcUssbUJBQW1CLElBQUksd0RBQXdELDJDQUEyQyxrQkFBa0IsR0FBRyxnQ0FBZ0MsbUJBQW1CLE1BQU0sTUFBTSxXQUFXLGlCQUFpQixvQkFBb0IseUpBQXlKLDRFQUE0RSxxQkFBcUIsUUFBUSxtQkFBbUIsa0dBQWtHLHVEQUF1RCxtQkFBbUIsbUJBQW1CLHVFQUF1RSxjQUFjLGVBQWUsa0JBQWtCLElBQUksTUFBTSxjQUFjLHFDQUFxQyx1QkFBdUIsVUFBVSxLQUFLLEtBQUssc0JBQXNCLFdBQVcsaUJBQWlCLFFBQVEsa0RBQWtELHVCQUF1Qix3SUFBd0ksR0FBRyxtSkFBbUosZ0VBQWdFLDJFQUEyRSxrQ0FBa0MsNENBQTRDLEdBQUcsR0FBRyxJQUFJLDJCQUEyQixRQUFRLGVBQWUsbUJBQW1CLFVBQVUsU0FBUyxvQkFBb0IsV0FBVyxxQ0FBcUMsdUJBQXVCLHNCQUFzQiwyQkFBMkIsNklBQTZJLEdBQUcsdUJBQXVCLGdEQUFnRCx5QkFBeUIsaUJBQWlCLG9EQUFvRCxJQUFJLElBQUksc0JBQXNCLDRCQUE0QixtREFBbUQsY0FBYyxnQkFBZ0IsT0FBTyxpSUFBaUksdUJBQXVCLEtBQUssU0FBUyxlQUFlLGlCQUFpQixnRUFBZ0Usb0NBQW9DLGlCQUFpQixXQUFXLGNBQWMsSUFBSSxjQUFjLCtFQUErRSx3RUFBd0UsY0FBYyxlQUFlLHdFQUF3RSxnQkFBZ0IsR0FBRyxpQkFBaUIsUUFBUSxpREFBaUQsK0ZBQStGLGVBQWUsYUFBYSxzQkFBc0IsK0NBQStDLGtDQUFrQyx1QkFBdUIsTUFBTSxnR0FBZ0csR0FBRyw2QkFBNkIsdUJBQXVCLCtGQUErRixHQUFHLGNBQWMsMkNBQTJDLGNBQWMscURBQXFELDZDQUE2QyxHQUFHLGtCQUFrQixhQUFhLFVBQVUsZUFBZSx5Q0FBeUMseUNBQXlDLGdFQUFnRSxLQUFLLE9BQU8sbURBQW1ELG9CQUFvQixzQkFBc0IsMkJBQTJCLHFDQUFxQyxlQUFlLElBQUksaUJBQWlCLFFBQVEsZ0JBQWdCLElBQUksK0JBQStCLHVCQUF1QiwyRUFBMkUsbUNBQW1DLDBEQUEwRCxHQUFHLFVBQVUsR0FBRyx5REFBeUQsb0VBQW9FLGdCQUFnQiwwQ0FBMEMsRUFBRSw2Q0FBNkMsK0JBQStCLGdCQUFnQixvRUFBb0UsaUJBQWlCLG9EQUFvRCxJQUFJLEtBQUssaUJBQWlCLFFBQVEsa0RBQWtELG9CQUFvQixNQUFNLHNCQUFzQixvREFBb0QsbUNBQW1DLE1BQU0sOEJBQThCLGlCQUFpQiwrREFBK0QseUNBQXlDLHNCQUFzQixtQkFBbUIsRUFBRSwwQkFBMEIsMkVBQTJFLGtDQUFrQyx1REFBdUQsR0FBRyxHQUFHLElBQUksaUJBQWlCLHdFQUF3RSxZQUFZLDJFQUEyRSxZQUFZLHNCQUFzQixpQkFBaUIsUUFBUSwyREFBMkQsY0FBYyxVQUFVLE1BQU0sdUZBQXVGLGtDQUFrQyxrREFBa0QsSUFBSSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3dlYi12aXRhbHMvd2ViLXZpdGFscy5qcz8wOWY0Il0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciBuPXt9OyFmdW5jdGlvbigpe24uZD1mdW5jdGlvbih5LFQpe2Zvcih2YXIgQyBpbiBUKXtpZihuLm8oVCxDKSYmIW4ubyh5LEMpKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoeSxDLHtlbnVtZXJhYmxlOnRydWUsZ2V0OlRbQ119KX19fX0oKTshZnVuY3Rpb24oKXtuLm89ZnVuY3Rpb24obix5KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4seSl9fSgpOyFmdW5jdGlvbigpe24ucj1mdW5jdGlvbihuKXtpZih0eXBlb2YgU3ltYm9sIT09XCJ1bmRlZmluZWRcIiYmU3ltYm9sLnRvU3RyaW5nVGFnKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobixTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOlwiTW9kdWxlXCJ9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkobixcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pfX0oKTtpZih0eXBlb2YgbiE9PVwidW5kZWZpbmVkXCIpbi5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIHk9e307bi5yKHkpO24uZCh5LHtnZXRDTFM6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sZ2V0RkNQOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LGdldEZJRDpmdW5jdGlvbigpe3JldHVybiBGfSxnZXRJTlA6ZnVuY3Rpb24oKXtyZXR1cm4gT30sZ2V0TENQOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGdldFRURkI6ZnVuY3Rpb24oKXtyZXR1cm4gR30sb25DTFM6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sb25GQ1A6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sb25GSUQ6ZnVuY3Rpb24oKXtyZXR1cm4gRn0sb25JTlA6ZnVuY3Rpb24oKXtyZXR1cm4gT30sb25MQ1A6ZnVuY3Rpb24oKXtyZXR1cm4gX30sb25UVEZCOmZ1bmN0aW9uKCl7cmV0dXJuIEd9fSk7dmFyIFQsQyx3LFAsSSxrPS0xLG89ZnVuY3Rpb24obil7YWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VzaG93XCIsKGZ1bmN0aW9uKHkpe3kucGVyc2lzdGVkJiYoaz15LnRpbWVTdGFtcCxuKHkpKX0pLCEwKX0sYz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoXCJuYXZpZ2F0aW9uXCIpWzBdfSx1PWZ1bmN0aW9uKCl7dmFyIG49YygpO3JldHVybiBuJiZuLmFjdGl2YXRpb25TdGFydHx8MH0sZj1mdW5jdGlvbihuLHkpe3ZhciBUPWMoKSxDPVwibmF2aWdhdGVcIjtyZXR1cm4gaz49MD9DPVwiYmFjay1mb3J3YXJkLWNhY2hlXCI6VCYmKEM9ZG9jdW1lbnQucHJlcmVuZGVyaW5nfHx1KCk+MD9cInByZXJlbmRlclwiOlQudHlwZS5yZXBsYWNlKC9fL2csXCItXCIpKSx7bmFtZTpuLHZhbHVlOnZvaWQgMD09PXk/LTE6eSxyYXRpbmc6XCJnb29kXCIsZGVsdGE6MCxlbnRyaWVzOltdLGlkOlwidjMtXCIuY29uY2F0KERhdGUubm93KCksXCItXCIpLmNvbmNhdChNYXRoLmZsb29yKDg5OTk5OTk5OTk5OTkqTWF0aC5yYW5kb20oKSkrMWUxMiksbmF2aWdhdGlvblR5cGU6Q319LHM9ZnVuY3Rpb24obix5LFQpe3RyeXtpZihQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMobikpe3ZhciBDPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChmdW5jdGlvbihuKXt5KG4uZ2V0RW50cmllcygpKX0pKTtyZXR1cm4gQy5vYnNlcnZlKE9iamVjdC5hc3NpZ24oe3R5cGU6bixidWZmZXJlZDohMH0sVHx8e30pKSxDfX1jYXRjaChuKXt9fSxkPWZ1bmN0aW9uKG4seSl7dmFyIFQ9ZnVuY3Rpb24gdChUKXtcInBhZ2VoaWRlXCIhPT1ULnR5cGUmJlwiaGlkZGVuXCIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGV8fChuKFQpLHkmJihyZW1vdmVFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLHQsITApLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwYWdlaGlkZVwiLHQsITApKSl9O2FkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsVCwhMCksYWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VoaWRlXCIsVCwhMCl9LGw9ZnVuY3Rpb24obix5LFQsQyl7dmFyIHcsUDtyZXR1cm4gZnVuY3Rpb24oSSl7eS52YWx1ZT49MCYmKEl8fEMpJiYoKFA9eS52YWx1ZS0od3x8MCkpfHx2b2lkIDA9PT13KSYmKHc9eS52YWx1ZSx5LmRlbHRhPVAseS5yYXRpbmc9ZnVuY3Rpb24obix5KXtyZXR1cm4gbj55WzFdP1wicG9vclwiOm4+eVswXT9cIm5lZWRzLWltcHJvdmVtZW50XCI6XCJnb29kXCJ9KHkudmFsdWUsVCksbih5KSl9fSxOPS0xLHY9ZnVuY3Rpb24oKXtyZXR1cm5cImhpZGRlblwiIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlfHxkb2N1bWVudC5wcmVyZW5kZXJpbmc/MS8wOjB9LG09ZnVuY3Rpb24oKXtkKChmdW5jdGlvbihuKXt2YXIgeT1uLnRpbWVTdGFtcDtOPXl9KSwhMCl9LGg9ZnVuY3Rpb24oKXtyZXR1cm4gTjwwJiYoTj12KCksbSgpLG8oKGZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtOPXYoKSxtKCl9KSwwKX0pKSkse2dldCBmaXJzdEhpZGRlblRpbWUoKXtyZXR1cm4gTn19fSxnPWZ1bmN0aW9uKG4seSl7eT15fHx7fTt2YXIgVCxDPVsxODAwLDNlM10sdz1oKCksUD1mKFwiRkNQXCIpLGM9ZnVuY3Rpb24obil7bi5mb3JFYWNoKChmdW5jdGlvbihuKXtcImZpcnN0LWNvbnRlbnRmdWwtcGFpbnRcIj09PW4ubmFtZSYmKGsmJmsuZGlzY29ubmVjdCgpLG4uc3RhcnRUaW1lPHcuZmlyc3RIaWRkZW5UaW1lJiYoUC52YWx1ZT1uLnN0YXJ0VGltZS11KCksUC5lbnRyaWVzLnB1c2gobiksVCghMCkpKX0pKX0sST13aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShcImZpcnN0LWNvbnRlbnRmdWwtcGFpbnRcIilbMF0saz1JP251bGw6cyhcInBhaW50XCIsYyk7KEl8fGspJiYoVD1sKG4sUCxDLHkucmVwb3J0QWxsQ2hhbmdlcyksSSYmYyhbSV0pLG8oKGZ1bmN0aW9uKHcpe1A9ZihcIkZDUFwiKSxUPWwobixQLEMseS5yZXBvcnRBbGxDaGFuZ2VzKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe1AudmFsdWU9cGVyZm9ybWFuY2Uubm93KCktdy50aW1lU3RhbXAsVCghMCl9KSl9KSl9KSkpfSxqPSExLHE9LTEsRT1mdW5jdGlvbihuLHkpe3k9eXx8e307dmFyIFQ9Wy4xLC4yNV07anx8KGcoKGZ1bmN0aW9uKG4pe3E9bi52YWx1ZX0pKSxqPSEwKTt2YXIgQyxpPWZ1bmN0aW9uKHkpe3E+LTEmJm4oeSl9LHc9ZihcIkNMU1wiLDApLFA9MCxJPVtdLHA9ZnVuY3Rpb24obil7bi5mb3JFYWNoKChmdW5jdGlvbihuKXtpZighbi5oYWRSZWNlbnRJbnB1dCl7dmFyIHk9SVswXSxUPUlbSS5sZW5ndGgtMV07UCYmbi5zdGFydFRpbWUtVC5zdGFydFRpbWU8MWUzJiZuLnN0YXJ0VGltZS15LnN0YXJ0VGltZTw1ZTM/KFArPW4udmFsdWUsSS5wdXNoKG4pKTooUD1uLnZhbHVlLEk9W25dKSxQPncudmFsdWUmJih3LnZhbHVlPVAsdy5lbnRyaWVzPUksQygpKX19KSl9LGs9cyhcImxheW91dC1zaGlmdFwiLHApO2smJihDPWwoaSx3LFQseS5yZXBvcnRBbGxDaGFuZ2VzKSxkKChmdW5jdGlvbigpe3Aoay50YWtlUmVjb3JkcygpKSxDKCEwKX0pKSxvKChmdW5jdGlvbigpe1A9MCxxPS0xLHc9ZihcIkNMU1wiLDApLEM9bChpLHcsVCx5LnJlcG9ydEFsbENoYW5nZXMpfSkpKX0seD17cGFzc2l2ZTohMCxjYXB0dXJlOiEwfSx6PW5ldyBEYXRlLEw9ZnVuY3Rpb24obix5KXtUfHwoVD15LEM9bix3PW5ldyBEYXRlLEEocmVtb3ZlRXZlbnRMaXN0ZW5lciksUygpKX0sUz1mdW5jdGlvbigpe2lmKEM+PTAmJkM8dy16KXt2YXIgbj17ZW50cnlUeXBlOlwiZmlyc3QtaW5wdXRcIixuYW1lOlQudHlwZSx0YXJnZXQ6VC50YXJnZXQsY2FuY2VsYWJsZTpULmNhbmNlbGFibGUsc3RhcnRUaW1lOlQudGltZVN0YW1wLHByb2Nlc3NpbmdTdGFydDpULnRpbWVTdGFtcCtDfTtQLmZvckVhY2goKGZ1bmN0aW9uKHkpe3kobil9KSksUD1bXX19LGI9ZnVuY3Rpb24obil7aWYobi5jYW5jZWxhYmxlKXt2YXIgeT0obi50aW1lU3RhbXA+MWUxMj9uZXcgRGF0ZTpwZXJmb3JtYW5jZS5ub3coKSktbi50aW1lU3RhbXA7XCJwb2ludGVyZG93blwiPT1uLnR5cGU/ZnVuY3Rpb24obix5KXt2YXIgdD1mdW5jdGlvbigpe0wobix5KSxpKCl9LHI9ZnVuY3Rpb24oKXtpKCl9LGk9ZnVuY3Rpb24oKXtyZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcnVwXCIsdCx4KSxyZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcmNhbmNlbFwiLHIseCl9O2FkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIix0LHgpLGFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVyY2FuY2VsXCIscix4KX0oeSxuKTpMKHksbil9fSxBPWZ1bmN0aW9uKG4pe1tcIm1vdXNlZG93blwiLFwia2V5ZG93blwiLFwidG91Y2hzdGFydFwiLFwicG9pbnRlcmRvd25cIl0uZm9yRWFjaCgoZnVuY3Rpb24oeSl7cmV0dXJuIG4oeSxiLHgpfSkpfSxGPWZ1bmN0aW9uKG4seSl7eT15fHx7fTt2YXIgdyxJPVsxMDAsMzAwXSxrPWgoKSxOPWYoXCJGSURcIiksdj1mdW5jdGlvbihuKXtuLnN0YXJ0VGltZTxrLmZpcnN0SGlkZGVuVGltZSYmKE4udmFsdWU9bi5wcm9jZXNzaW5nU3RhcnQtbi5zdGFydFRpbWUsTi5lbnRyaWVzLnB1c2gobiksdyghMCkpfSxtPWZ1bmN0aW9uKG4pe24uZm9yRWFjaCh2KX0saj1zKFwiZmlyc3QtaW5wdXRcIixtKTt3PWwobixOLEkseS5yZXBvcnRBbGxDaGFuZ2VzKSxqJiZkKChmdW5jdGlvbigpe20oai50YWtlUmVjb3JkcygpKSxqLmRpc2Nvbm5lY3QoKX0pLCEwKSxqJiZvKChmdW5jdGlvbigpe3ZhciBrO049ZihcIkZJRFwiKSx3PWwobixOLEkseS5yZXBvcnRBbGxDaGFuZ2VzKSxQPVtdLEM9LTEsVD1udWxsLEEoYWRkRXZlbnRMaXN0ZW5lciksaz12LFAucHVzaChrKSxTKCl9KSl9LEo9MCxLPTEvMCxRPTAsTT1mdW5jdGlvbihuKXtuLmZvckVhY2goKGZ1bmN0aW9uKG4pe24uaW50ZXJhY3Rpb25JZCYmKEs9TWF0aC5taW4oSyxuLmludGVyYWN0aW9uSWQpLFE9TWF0aC5tYXgoUSxuLmludGVyYWN0aW9uSWQpLEo9UT8oUS1LKS83KzE6MCl9KSl9LEI9ZnVuY3Rpb24oKXtyZXR1cm4gST9KOnBlcmZvcm1hbmNlLmludGVyYWN0aW9uQ291bnR8fDB9LEQ9ZnVuY3Rpb24oKXtcImludGVyYWN0aW9uQ291bnRcImluIHBlcmZvcm1hbmNlfHxJfHwoST1zKFwiZXZlbnRcIixNLHt0eXBlOlwiZXZlbnRcIixidWZmZXJlZDohMCxkdXJhdGlvblRocmVzaG9sZDowfSkpfSxVPTAsUj1mdW5jdGlvbigpe3JldHVybiBCKCktVX0sVj1bXSxXPXt9LEg9ZnVuY3Rpb24obil7dmFyIHk9VltWLmxlbmd0aC0xXSxUPVdbbi5pbnRlcmFjdGlvbklkXTtpZihUfHxWLmxlbmd0aDwxMHx8bi5kdXJhdGlvbj55LmxhdGVuY3kpe2lmKFQpVC5lbnRyaWVzLnB1c2gobiksVC5sYXRlbmN5PU1hdGgubWF4KFQubGF0ZW5jeSxuLmR1cmF0aW9uKTtlbHNle3ZhciBDPXtpZDpuLmludGVyYWN0aW9uSWQsbGF0ZW5jeTpuLmR1cmF0aW9uLGVudHJpZXM6W25dfTtXW0MuaWRdPUMsVi5wdXNoKEMpfVYuc29ydCgoZnVuY3Rpb24obix5KXtyZXR1cm4geS5sYXRlbmN5LW4ubGF0ZW5jeX0pKSxWLnNwbGljZSgxMCkuZm9yRWFjaCgoZnVuY3Rpb24obil7ZGVsZXRlIFdbbi5pZF19KSl9fSxPPWZ1bmN0aW9uKG4seSl7eT15fHx7fTt2YXIgVD1bMjAwLDUwMF07RCgpO3ZhciBDLHc9ZihcIklOUFwiKSxhPWZ1bmN0aW9uKG4pe24uZm9yRWFjaCgoZnVuY3Rpb24obil7KG4uaW50ZXJhY3Rpb25JZCYmSChuKSxcImZpcnN0LWlucHV0XCI9PT1uLmVudHJ5VHlwZSkmJighVi5zb21lKChmdW5jdGlvbih5KXtyZXR1cm4geS5lbnRyaWVzLnNvbWUoKGZ1bmN0aW9uKHkpe3JldHVybiBuLmR1cmF0aW9uPT09eS5kdXJhdGlvbiYmbi5zdGFydFRpbWU9PT15LnN0YXJ0VGltZX0pKX0pKSYmSChuKSl9KSk7dmFyIHksVD0oeT1NYXRoLm1pbihWLmxlbmd0aC0xLE1hdGguZmxvb3IoUigpLzUwKSksVlt5XSk7VCYmVC5sYXRlbmN5IT09dy52YWx1ZSYmKHcudmFsdWU9VC5sYXRlbmN5LHcuZW50cmllcz1ULmVudHJpZXMsQygpKX0sUD1zKFwiZXZlbnRcIixhLHtkdXJhdGlvblRocmVzaG9sZDp5LmR1cmF0aW9uVGhyZXNob2xkfHw0MH0pO0M9bChuLHcsVCx5LnJlcG9ydEFsbENoYW5nZXMpLFAmJihQLm9ic2VydmUoe3R5cGU6XCJmaXJzdC1pbnB1dFwiLGJ1ZmZlcmVkOiEwfSksZCgoZnVuY3Rpb24oKXthKFAudGFrZVJlY29yZHMoKSksdy52YWx1ZTwwJiZSKCk+MCYmKHcudmFsdWU9MCx3LmVudHJpZXM9W10pLEMoITApfSkpLG8oKGZ1bmN0aW9uKCl7Vj1bXSxVPUIoKSx3PWYoXCJJTlBcIiksQz1sKG4sdyxULHkucmVwb3J0QWxsQ2hhbmdlcyl9KSkpfSxYPXt9LF89ZnVuY3Rpb24obix5KXt5PXl8fHt9O3ZhciBULEM9WzI1MDAsNGUzXSx3PWgoKSxQPWYoXCJMQ1BcIiksYz1mdW5jdGlvbihuKXt2YXIgeT1uW24ubGVuZ3RoLTFdO2lmKHkpe3ZhciBDPXkuc3RhcnRUaW1lLXUoKTtDPHcuZmlyc3RIaWRkZW5UaW1lJiYoUC52YWx1ZT1DLFAuZW50cmllcz1beV0sVCgpKX19LEk9cyhcImxhcmdlc3QtY29udGVudGZ1bC1wYWludFwiLGMpO2lmKEkpe1Q9bChuLFAsQyx5LnJlcG9ydEFsbENoYW5nZXMpO3ZhciB2PWZ1bmN0aW9uKCl7WFtQLmlkXXx8KGMoSS50YWtlUmVjb3JkcygpKSxJLmRpc2Nvbm5lY3QoKSxYW1AuaWRdPSEwLFQoITApKX07W1wia2V5ZG93blwiLFwiY2xpY2tcIl0uZm9yRWFjaCgoZnVuY3Rpb24obil7YWRkRXZlbnRMaXN0ZW5lcihuLHYse29uY2U6ITAsY2FwdHVyZTohMH0pfSkpLGQodiwhMCksbygoZnVuY3Rpb24odyl7UD1mKFwiTENQXCIpLFQ9bChuLFAsQyx5LnJlcG9ydEFsbENoYW5nZXMpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7UC52YWx1ZT1wZXJmb3JtYW5jZS5ub3coKS13LnRpbWVTdGFtcCxYW1AuaWRdPSEwLFQoITApfSkpfSkpfSkpfX0sWT1mdW5jdGlvbiBlKG4pe2RvY3VtZW50LnByZXJlbmRlcmluZz9hZGRFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUobil9KSwhMCk6XCJjb21wbGV0ZVwiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLChmdW5jdGlvbigpe3JldHVybiBlKG4pfSksITApOnNldFRpbWVvdXQobiwwKX0sRz1mdW5jdGlvbihuLHkpe3k9eXx8e307dmFyIFQ9WzgwMCwxODAwXSxDPWYoXCJUVEZCXCIpLHc9bChuLEMsVCx5LnJlcG9ydEFsbENoYW5nZXMpO1koKGZ1bmN0aW9uKCl7dmFyIFA9YygpO2lmKFApe2lmKEMudmFsdWU9TWF0aC5tYXgoUC5yZXNwb25zZVN0YXJ0LXUoKSwwKSxDLnZhbHVlPDB8fEMudmFsdWU+cGVyZm9ybWFuY2Uubm93KCkpcmV0dXJuO0MuZW50cmllcz1bUF0sdyghMCksbygoZnVuY3Rpb24oKXtDPWYoXCJUVEZCXCIsMCksKHc9bChuLEMsVCx5LnJlcG9ydEFsbENoYW5nZXMpKSghMCl9KSl9fSkpfTttb2R1bGUuZXhwb3J0cz15fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/web-vitals/web-vitals.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-api-route.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/is-api-route.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isAPIRoute\", ({\n enumerable: true,\n get: function() {\n return isAPIRoute;\n }\n}));\nfunction isAPIRoute(value) {\n return value === \"/api\" || Boolean(value == null ? void 0 : value.startsWith(\"/api/\"));\n}\n\n//# sourceMappingURL=is-api-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1hcGktcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRiw4Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtYXBpLXJvdXRlLmpzPzE2ODEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0FQSVJvdXRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0FQSVJvdXRlO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaXNBUElSb3V0ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gXCIvYXBpXCIgfHwgQm9vbGVhbih2YWx1ZSA9PSBudWxsID8gdm9pZCAwIDogdmFsdWUuc3RhcnRzV2l0aChcIi9hcGkvXCIpKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtYXBpLXJvdXRlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-api-route.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"./node_modules/next/dist/shared/lib/is-plain-object.js\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyw2RkFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtZXJyb3IuanM/MTc4ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgZ2V0UHJvcGVyRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Vycm9yO1xuICAgIH0sXG4gICAgZ2V0UHJvcGVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UHJvcGVyRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaXNwbGFpbm9iamVjdCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2lzLXBsYWluLW9iamVjdFwiKTtcbmZ1bmN0aW9uIGlzRXJyb3IoZXJyKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBlcnIgPT09IFwib2JqZWN0XCIgJiYgZXJyICE9PSBudWxsICYmIFwibmFtZVwiIGluIGVyciAmJiBcIm1lc3NhZ2VcIiBpbiBlcnI7XG59XG5mdW5jdGlvbiBnZXRQcm9wZXJFcnJvcihlcnIpIHtcbiAgICBpZiAoaXNFcnJvcihlcnIpKSB7XG4gICAgICAgIHJldHVybiBlcnI7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIC8vIHByb3ZpZGUgYmV0dGVyIGVycm9yIGZvciBjYXNlIHdoZXJlIGB0aHJvdyB1bmRlZmluZWRgXG4gICAgICAgIC8vIGlzIGNhbGxlZCBpbiBkZXZlbG9wbWVudFxuICAgICAgICBpZiAodHlwZW9mIGVyciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkFuIHVuZGVmaW5lZCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnIgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXCJBIG51bGwgZXJyb3Igd2FzIHRocm93biwgXCIgKyBcInNlZSBoZXJlIGZvciBtb3JlIGluZm86IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3RocmV3LXVuZGVmaW5lZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEVycm9yKCgwLCBfaXNwbGFpbm9iamVjdC5pc1BsYWluT2JqZWN0KShlcnIpID8gSlNPTi5zdHJpbmdpZnkoZXJyKSA6IGVyciArIFwiXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1lcnJvci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js ***! - \*************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"extractModulesFromTurbopackMessage\", ({\n enumerable: true,\n get: function() {\n return extractModulesFromTurbopackMessage;\n }\n}));\nfunction extractModulesFromTurbopackMessage(data) {\n const updatedModules = new Set();\n const updates = Array.isArray(data) ? data : [\n data\n ];\n for (const update of updates){\n // TODO this won't capture changes to CSS since they don't result in a \"merged\" update\n if (update.type !== \"partial\" || update.instruction.type !== \"ChunkListUpdate\" || update.instruction.merged === undefined) {\n continue;\n }\n for (const mergedUpdate of update.instruction.merged){\n for (const name of Object.keys(mergedUpdate.entries)){\n const res = /(.*)\\s+\\[.*/.exec(name);\n if (res === null) {\n console.error(\"[Turbopack HMR] Expected module to match pattern: \" + name);\n continue;\n }\n updatedModules.add(res[1]);\n }\n }\n }\n return [\n ...updatedModules\n ];\n}\n\n//# sourceMappingURL=extract-modules-from-turbopack-message.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvZXh0cmFjdC1tb2R1bGVzLWZyb20tdHVyYm9wYWNrLW1lc3NhZ2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixzRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvZXh0cmFjdC1tb2R1bGVzLWZyb20tdHVyYm9wYWNrLW1lc3NhZ2UuanM/MjIzMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2U7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBleHRyYWN0TW9kdWxlc0Zyb21UdXJib3BhY2tNZXNzYWdlKGRhdGEpIHtcbiAgICBjb25zdCB1cGRhdGVkTW9kdWxlcyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCB1cGRhdGVzID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEgOiBbXG4gICAgICAgIGRhdGFcbiAgICBdO1xuICAgIGZvciAoY29uc3QgdXBkYXRlIG9mIHVwZGF0ZXMpe1xuICAgICAgICAvLyBUT0RPIHRoaXMgd29uJ3QgY2FwdHVyZSBjaGFuZ2VzIHRvIENTUyBzaW5jZSB0aGV5IGRvbid0IHJlc3VsdCBpbiBhIFwibWVyZ2VkXCIgdXBkYXRlXG4gICAgICAgIGlmICh1cGRhdGUudHlwZSAhPT0gXCJwYXJ0aWFsXCIgfHwgdXBkYXRlLmluc3RydWN0aW9uLnR5cGUgIT09IFwiQ2h1bmtMaXN0VXBkYXRlXCIgfHwgdXBkYXRlLmluc3RydWN0aW9uLm1lcmdlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG1lcmdlZFVwZGF0ZSBvZiB1cGRhdGUuaW5zdHJ1Y3Rpb24ubWVyZ2VkKXtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhtZXJnZWRVcGRhdGUuZW50cmllcykpe1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IC8oLiopXFxzK1xcWy4qLy5leGVjKG5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChyZXMgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltUdXJib3BhY2sgSE1SXSBFeHBlY3RlZCBtb2R1bGUgdG8gbWF0Y2ggcGF0dGVybjogXCIgKyBuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHVwZGF0ZWRNb2R1bGVzLmFkZChyZXNbMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICAgIC4uLnVwZGF0ZWRNb2R1bGVzXG4gICAgXTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXh0cmFjdC1tb2R1bGVzLWZyb20tdHVyYm9wYWNrLW1lc3NhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/server/dev/hot-reloader-types.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/server/dev/hot-reloader-types.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HMR_ACTIONS_SENT_TO_BROWSER\", ({\n enumerable: true,\n get: function() {\n return HMR_ACTIONS_SENT_TO_BROWSER;\n }\n}));\nvar HMR_ACTIONS_SENT_TO_BROWSER;\n(function(HMR_ACTIONS_SENT_TO_BROWSER) {\n HMR_ACTIONS_SENT_TO_BROWSER[\"ADDED_PAGE\"] = \"addedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"REMOVED_PAGE\"] = \"removedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"RELOAD_PAGE\"] = \"reloadPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_COMPONENT_CHANGES\"] = \"serverComponentChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"MIDDLEWARE_CHANGES\"] = \"middlewareChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"CLIENT_CHANGES\"] = \"clientChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ONLY_CHANGES\"] = \"serverOnlyChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SYNC\"] = \"sync\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILT\"] = \"built\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILDING\"] = \"building\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"DEV_PAGES_MANIFEST_UPDATE\"] = \"devPagesManifestUpdate\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_MESSAGE\"] = \"turbopack-message\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ERROR\"] = \"serverError\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_CONNECTED\"] = \"turbopack-connected\";\n})(HMR_ACTIONS_SENT_TO_BROWSER || (HMR_ACTIONS_SENT_TO_BROWSER = {}));\n\n//# sourceMappingURL=hot-reloader-types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsK0RBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLGtFQUFrRTs7QUFFbkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZGV2L2hvdC1yZWxvYWRlci10eXBlcy5qcz9iZmFhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVI7XG4gICAgfVxufSk7XG52YXIgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSO1xuKGZ1bmN0aW9uKEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUikge1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkFEREVEX1BBR0VcIl0gPSBcImFkZGVkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlJFTU9WRURfUEFHRVwiXSA9IFwicmVtb3ZlZFBhZ2VcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJSRUxPQURfUEFHRVwiXSA9IFwicmVsb2FkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFU1wiXSA9IFwic2VydmVyQ29tcG9uZW50Q2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIk1JRERMRVdBUkVfQ0hBTkdFU1wiXSA9IFwibWlkZGxld2FyZUNoYW5nZXNcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJDTElFTlRfQ0hBTkdFU1wiXSA9IFwiY2xpZW50Q2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9PTkxZX0NIQU5HRVNcIl0gPSBcInNlcnZlck9ubHlDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU1lOQ1wiXSA9IFwic3luY1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkJVSUxUXCJdID0gXCJidWlsdFwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkJVSUxESU5HXCJdID0gXCJidWlsZGluZ1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEVcIl0gPSBcImRldlBhZ2VzTWFuaWZlc3RVcGRhdGVcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJUVVJCT1BBQ0tfTUVTU0FHRVwiXSA9IFwidHVyYm9wYWNrLW1lc3NhZ2VcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJTRVJWRVJfRVJST1JcIl0gPSBcInNlcnZlckVycm9yXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiVFVSQk9QQUNLX0NPTk5FQ1RFRFwiXSA9IFwidHVyYm9wYWNrLWNvbm5lY3RlZFwiO1xufSkoSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIHx8IChITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob3QtcmVsb2FkZXItdHlwZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/dev/hot-reloader-types.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/helpers/interception-routes.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWtCLG1CQUFPLENBQUMsaUhBQTRDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsS0FBSztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUI7QUFDeEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsS0FBSztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXMuanM/MzVjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBudWxsLFxuICAgIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uOiBudWxsLFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTO1xuICAgIH0sXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb247XG4gICAgfSxcbiAgICBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF9hcHBwYXRocyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIik7XG5jb25zdCBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyA9IFtcbiAgICBcIiguLikoLi4pXCIsXG4gICAgXCIoLilcIixcbiAgICBcIiguLilcIixcbiAgICBcIiguLi4pXCJcbl07XG5mdW5jdGlvbiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aChwYXRoKSB7XG4gICAgLy8gVE9ETy1BUFA6IGFkZCBtb3JlIHNlcmlvdXMgdmFsaWRhdGlvblxuICAgIHJldHVybiBwYXRoLnNwbGl0KFwiL1wiKS5maW5kKChzZWdtZW50KT0+SU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSkpICE9PSB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbihwYXRoKSB7XG4gICAgbGV0IGludGVyY2VwdGluZ1JvdXRlLCBtYXJrZXIsIGludGVyY2VwdGVkUm91dGU7XG4gICAgZm9yIChjb25zdCBzZWdtZW50IG9mIHBhdGguc3BsaXQoXCIvXCIpKXtcbiAgICAgICAgbWFya2VyID0gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgIGlmIChtYXJrZXIpIHtcbiAgICAgICAgICAgIFtpbnRlcmNlcHRpbmdSb3V0ZSwgaW50ZXJjZXB0ZWRSb3V0ZV0gPSBwYXRoLnNwbGl0KG1hcmtlciwgMik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWludGVyY2VwdGluZ1JvdXRlIHx8ICFtYXJrZXIgfHwgIWludGVyY2VwdGVkUm91dGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApO1xuICAgIH1cbiAgICBpbnRlcmNlcHRpbmdSb3V0ZSA9ICgwLCBfYXBwcGF0aHMubm9ybWFsaXplQXBwUGF0aCkoaW50ZXJjZXB0aW5nUm91dGUpIC8vIG5vcm1hbGl6ZSB0aGUgcGF0aCwgZS5nLiAvKGJsb2cpL2ZlZWQgLT4gL2ZlZWRcbiAgICA7XG4gICAgc3dpdGNoKG1hcmtlcil7XG4gICAgICAgIGNhc2UgXCIoLilcIjpcbiAgICAgICAgICAgIC8vICguKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggd2l0aCBzaWJsaW5nIHJvdXRlcywgc28gd2UganVzdCBuZWVkIHRvIGFwcGVuZCB0aGUgaW50ZXJjZXB0ZWQgcm91dGUgdG8gdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgaWYgKGludGVyY2VwdGluZ1JvdXRlID09PSBcIi9cIikge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBgLyR7aW50ZXJjZXB0ZWRSb3V0ZX1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUgKyBcIi9cIiArIGludGVyY2VwdGVkUm91dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLilcIjpcbiAgICAgICAgICAgIC8vICguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IG9uZSBsZXZlbCB1cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCwgdXNlICguKSBpbnN0ZWFkLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKS5zbGljZSgwLCAtMSkuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uLikgd2lsbCBtYXRjaCB0aGUgcm91dGUgc2VnbWVudCBpbiB0aGUgcm9vdCBkaXJlY3RvcnksIHNvIHdlIG5lZWQgdG8gdXNlIHRoZSByb290IGRpcmVjdG9yeSB0byBwcmVwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKSguLilcIjpcbiAgICAgICAgICAgIC8vICguLikoLi4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCBhdCB0d28gbGV2ZWxzIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCB0d28gc2VnbWVudHMgb2YgdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgY29uc3Qgc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgIGlmIChzcGxpdEludGVyY2VwdGluZ1JvdXRlLmxlbmd0aCA8PSAyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwgb3Igb25lIGxldmVsIHVwLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IHNwbGl0SW50ZXJjZXB0aW5nUm91dGUuc2xpY2UoMCwgLTIpLmNvbmNhdChpbnRlcmNlcHRlZFJvdXRlKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaW50ZXJjZXB0aW5nUm91dGUsXG4gICAgICAgIGludGVyY2VwdGVkUm91dGVcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnRlcmNlcHRpb24tcm91dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/helpers/interception-routes.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/cjs/react-dom.development.js": -/*!*************************************************************!*\ - !*** ./node_modules/react-dom/cjs/react-dom.development.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-dom.development.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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar Scheduler = __webpack_require__(/*! scheduler */ \"./node_modules/scheduler/index.js\");\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\n\n// -----------------------------------------------------------------------------\n\nvar enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing\n// the react-reconciler package.\n\nvar enableNewReconciler = false; // Support legacy Primer support on internal FB www\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\nvar enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection.\n// and client rendering, mostly to allow JSX attributes to apply to the custom\n// element's object properties instead of only HTML attributes.\n// https://github.com/facebook/react/issues/11347\n\nvar enableCustomElementPropertySupport = false; // Disables children for <textarea> elements\nvar warnAboutStringRefs = false; // -----------------------------------------------------------------------------\n// Debugging and DevTools\n// -----------------------------------------------------------------------------\n// Adds user timing marks for e.g. state updates, suspense, and work loop stuff,\n// for an experimental timeline tool.\n\nvar enableSchedulingProfiler = true; // Helps identify side effects in render-phase lifecycle hooks and setState\n\nvar enableProfilerTimer = true; // Record durations for commit and passive effects phases.\n\nvar enableProfilerCommitHooks = true; // Phase param passed to onRender callback differentiates between an \"update\" and a \"cascading-update\".\n\nvar allNativeEvents = new Set();\n/**\n * Mapping from registration name to event name\n */\n\n\nvar registrationNameDependencies = {};\n/**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in true.\n * @type {Object}\n */\n\nvar possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true\n\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + 'Capture', dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n {\n if (registrationNameDependencies[registrationName]) {\n error('EventRegistry: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName);\n }\n }\n\n registrationNameDependencies[registrationName] = dependencies;\n\n {\n var lowerCasedName = registrationName.toLowerCase();\n possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n\n for (var i = 0; i < dependencies.length; i++) {\n allNativeEvents.add(dependencies[i]);\n }\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\n\nfunction checkAttributeStringCoercion(value, attributeName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` attribute is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', attributeName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkPropStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` prop is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkCSSPropertyStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` CSS property is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkHtmlStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided HTML markup uses a value of unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkFormFieldValueStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('Form field values (value, checked, defaultValue, or defaultChecked props)' + ' must be strings, not %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nvar RESERVED = 0; // A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\n\nvar STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\n\nvar BOOLEANISH_STRING = 2; // A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n\nvar BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\n\nvar OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\n\nvar NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\n\nvar POSITIVE_NUMERIC = 6;\n\n/* eslint-disable max-len */\nvar ATTRIBUTE_NAME_START_CHAR = \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n/* eslint-enable max-len */\n\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + \"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {\n return true;\n }\n\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {\n return false;\n }\n\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n\n illegalAttributeNameCache[attributeName] = true;\n\n {\n error('Invalid attribute name: `%s`', attributeName);\n }\n\n return false;\n}\nfunction shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null) {\n return propertyInfo.type === RESERVED;\n }\n\n if (isCustomComponentTag) {\n return false;\n }\n\n if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {\n return true;\n }\n\n return false;\n}\nfunction shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null && propertyInfo.type === RESERVED) {\n return false;\n }\n\n switch (typeof value) {\n case 'function': // $FlowIssue symbol is perfectly valid here\n\n case 'symbol':\n // eslint-disable-line\n return true;\n\n case 'boolean':\n {\n if (isCustomComponentTag) {\n return false;\n }\n\n if (propertyInfo !== null) {\n return !propertyInfo.acceptsBooleans;\n } else {\n var prefix = name.toLowerCase().slice(0, 5);\n return prefix !== 'data-' && prefix !== 'aria-';\n }\n }\n\n default:\n return false;\n }\n}\nfunction shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) {\n if (value === null || typeof value === 'undefined') {\n return true;\n }\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {\n return true;\n }\n\n if (isCustomComponentTag) {\n\n return false;\n }\n\n if (propertyInfo !== null) {\n\n switch (propertyInfo.type) {\n case BOOLEAN:\n return !value;\n\n case OVERLOADED_BOOLEAN:\n return value === false;\n\n case NUMERIC:\n return isNaN(value);\n\n case POSITIVE_NUMERIC:\n return isNaN(value) || value < 1;\n }\n }\n\n return false;\n}\nfunction getPropertyInfo(name) {\n return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) {\n this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;\n this.attributeName = attributeName;\n this.attributeNamespace = attributeNamespace;\n this.mustUseProperty = mustUseProperty;\n this.propertyName = name;\n this.type = type;\n this.sanitizeURL = sanitizeURL;\n this.removeEmptyString = removeEmptyString;\n} // When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\n\n\nvar properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.\n\nvar reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular\n// elements (not just inputs). Now that ReactDOMInput assigns to the\n// defaultValue property -- do we need this?\n'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];\n\nreservedProps.forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n\n[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {\n var name = _ref[0],\n attributeName = _ref[1];\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n\n['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML boolean attributes.\n\n['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM\n// on the client side because the browsers are inconsistent. Instead we call focus().\n'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'disableRemotePlayback', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata\n'itemScope'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n\n['checked', // Note: `option.selected` is not updated if `select.multiple` is\n// disabled with `removeAttribute`. We have special logic for handling this.\n'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n\n['capture', 'download' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be positive numbers.\n\n['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be numbers.\n\n['rowSpan', 'start'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n});\nvar CAMELIZE = /[\\-\\:]([a-z])/g;\n\nvar capitalize = function (token) {\n return token[1].toUpperCase();\n}; // This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n\n\n['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // String SVG attributes with the xlink namespace.\n\n['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/1999/xlink', false, // sanitizeURL\n false);\n}); // String SVG attributes with the xml namespace.\n\n['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/XML/1998/namespace', false, // sanitizeURL\n false);\n}); // These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n\n['tabIndex', 'crossOrigin'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\n\nvar xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty\n'xlink:href', 'http://www.w3.org/1999/xlink', true, // sanitizeURL\nfalse);\n['src', 'href', 'action', 'formAction'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n true, // sanitizeURL\n true);\n});\n\n// and any newline or tab are filtered out as if they're not part of the URL.\n// https://url.spec.whatwg.org/#url-parsing\n// Tab or newline are defined as \\r\\n\\t:\n// https://infra.spec.whatwg.org/#ascii-tab-or-newline\n// A C0 control is a code point in the range \\u0000 NULL to \\u001F\n// INFORMATION SEPARATOR ONE, inclusive:\n// https://infra.spec.whatwg.org/#c0-control-or-space\n\n/* eslint-disable max-len */\n\nvar isJavaScriptProtocol = /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*\\:/i;\nvar didWarn = false;\n\nfunction sanitizeURL(url) {\n {\n if (!didWarn && isJavaScriptProtocol.test(url)) {\n didWarn = true;\n\n error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));\n }\n }\n}\n\n/**\n * Get the value for a property on a node. Only used in DEV for SSR validation.\n * The \"expected\" argument is used as a hint of what the expected value is.\n * Some properties have multiple equivalent values.\n */\nfunction getValueForProperty(node, name, expected, propertyInfo) {\n {\n if (propertyInfo.mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n return node[propertyName];\n } else {\n // This check protects multiple uses of `expected`, which is why the\n // react-internal/safe-string-coercion rule is disabled in several spots\n // below.\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if ( propertyInfo.sanitizeURL) {\n // If we haven't fully disabled javascript: URLs, and if\n // the hydration is successful of a javascript: URL, we\n // still want to warn on the client.\n // eslint-disable-next-line react-internal/safe-string-coercion\n sanitizeURL('' + expected);\n }\n\n var attributeName = propertyInfo.attributeName;\n var stringValue = null;\n\n if (propertyInfo.type === OVERLOADED_BOOLEAN) {\n if (node.hasAttribute(attributeName)) {\n var value = node.getAttribute(attributeName);\n\n if (value === '') {\n return true;\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return value;\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n } else if (node.hasAttribute(attributeName)) {\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n // We had an attribute but shouldn't have had one, so read it\n // for the error message.\n return node.getAttribute(attributeName);\n }\n\n if (propertyInfo.type === BOOLEAN) {\n // If this was a boolean, it doesn't matter what the value is\n // the fact that we have it is the same as the expected.\n return expected;\n } // Even if this property uses a namespace we use getAttribute\n // because we assume its namespaced name is the same as our config.\n // To use getAttributeNS we need the local name which we don't have\n // in our config atm.\n\n\n stringValue = node.getAttribute(attributeName);\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return stringValue === null ? expected : stringValue; // eslint-disable-next-line react-internal/safe-string-coercion\n } else if (stringValue === '' + expected) {\n return expected;\n } else {\n return stringValue;\n }\n }\n }\n}\n/**\n * Get the value for a attribute on a node. Only used in DEV for SSR validation.\n * The third argument is used as a hint of what the expected value is. Some\n * attributes have multiple equivalent values.\n */\n\nfunction getValueForAttribute(node, name, expected, isCustomComponentTag) {\n {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n\n if (!node.hasAttribute(name)) {\n return expected === undefined ? undefined : null;\n }\n\n var value = node.getAttribute(name);\n\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n}\n/**\n * Sets the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n * @param {*} value\n */\n\nfunction setValueForProperty(node, name, value, isCustomComponentTag) {\n var propertyInfo = getPropertyInfo(name);\n\n if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) {\n return;\n }\n\n if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) {\n value = null;\n }\n\n\n if (isCustomComponentTag || propertyInfo === null) {\n if (isAttributeNameSafe(name)) {\n var _attributeName = name;\n\n if (value === null) {\n node.removeAttribute(_attributeName);\n } else {\n {\n checkAttributeStringCoercion(value, name);\n }\n\n node.setAttribute(_attributeName, '' + value);\n }\n }\n\n return;\n }\n\n var mustUseProperty = propertyInfo.mustUseProperty;\n\n if (mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n\n if (value === null) {\n var type = propertyInfo.type;\n node[propertyName] = type === BOOLEAN ? false : '';\n } else {\n // Contrary to `setAttribute`, object properties are properly\n // `toString`ed by IE8/9.\n node[propertyName] = value;\n }\n\n return;\n } // The rest are treated as attributes with special cases.\n\n\n var attributeName = propertyInfo.attributeName,\n attributeNamespace = propertyInfo.attributeNamespace;\n\n if (value === null) {\n node.removeAttribute(attributeName);\n } else {\n var _type = propertyInfo.type;\n var attributeValue;\n\n if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) {\n // If attribute type is boolean, we know for sure it won't be an execution sink\n // and we won't require Trusted Type here.\n attributeValue = '';\n } else {\n // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n {\n {\n checkAttributeStringCoercion(value, attributeName);\n }\n\n attributeValue = '' + value;\n }\n\n if (propertyInfo.sanitizeURL) {\n sanitizeURL(attributeValue.toString());\n }\n }\n\n if (attributeNamespace) {\n node.setAttributeNS(attributeNamespace, attributeName, attributeValue);\n } else {\n node.setAttribute(attributeName, attributeValue);\n }\n }\n}\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_SCOPE_TYPE = Symbol.for('react.scope');\nvar REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\n\nfunction describeClassComponentFrame(ctor, source, ownerFn) {\n {\n return describeNativeComponentFrame(ctor, true);\n }\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nfunction describeFiber(fiber) {\n var owner = fiber._debugOwner ? fiber._debugOwner.type : null ;\n var source = fiber._debugSource ;\n\n switch (fiber.tag) {\n case HostComponent:\n return describeBuiltInComponentFrame(fiber.type);\n\n case LazyComponent:\n return describeBuiltInComponentFrame('Lazy');\n\n case SuspenseComponent:\n return describeBuiltInComponentFrame('Suspense');\n\n case SuspenseListComponent:\n return describeBuiltInComponentFrame('SuspenseList');\n\n case FunctionComponent:\n case IndeterminateComponent:\n case SimpleMemoComponent:\n return describeFunctionComponentFrame(fiber.type);\n\n case ForwardRef:\n return describeFunctionComponentFrame(fiber.type.render);\n\n case ClassComponent:\n return describeClassComponentFrame(fiber.type);\n\n default:\n return '';\n }\n}\n\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = '';\n var node = workInProgress;\n\n do {\n info += describeFiber(node);\n node = node.return;\n } while (node);\n\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nfunction getWrappedName$1(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n} // Keep in sync with shared/getComponentNameFromType\n\n\nfunction getContextName$1(type) {\n return type.displayName || 'Context';\n}\n\nfunction getComponentNameFromFiber(fiber) {\n var tag = fiber.tag,\n type = fiber.type;\n\n switch (tag) {\n case CacheComponent:\n return 'Cache';\n\n case ContextConsumer:\n var context = type;\n return getContextName$1(context) + '.Consumer';\n\n case ContextProvider:\n var provider = type;\n return getContextName$1(provider._context) + '.Provider';\n\n case DehydratedFragment:\n return 'DehydratedFragment';\n\n case ForwardRef:\n return getWrappedName$1(type, type.render, 'ForwardRef');\n\n case Fragment:\n return 'Fragment';\n\n case HostComponent:\n // Host component type is the display name (e.g. \"div\", \"View\")\n return type;\n\n case HostPortal:\n return 'Portal';\n\n case HostRoot:\n return 'Root';\n\n case HostText:\n return 'Text';\n\n case LazyComponent:\n // Name comes from the type in this case; we don't have a tag.\n return getComponentNameFromType(type);\n\n case Mode:\n if (type === REACT_STRICT_MODE_TYPE) {\n // Don't be less specific than shared/getComponentNameFromType\n return 'StrictMode';\n }\n\n return 'Mode';\n\n case OffscreenComponent:\n return 'Offscreen';\n\n case Profiler:\n return 'Profiler';\n\n case ScopeComponent:\n return 'Scope';\n\n case SuspenseComponent:\n return 'Suspense';\n\n case SuspenseListComponent:\n return 'SuspenseList';\n\n case TracingMarkerComponent:\n return 'TracingMarker';\n // The display name for this tags come from the user-provided type:\n\n case ClassComponent:\n case FunctionComponent:\n case IncompleteClassComponent:\n case IndeterminateComponent:\n case MemoComponent:\n case SimpleMemoComponent:\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n break;\n\n }\n\n return null;\n}\n\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar current = null;\nvar isRendering = false;\nfunction getCurrentFiberOwnerNameInDevOrNull() {\n {\n if (current === null) {\n return null;\n }\n\n var owner = current._debugOwner;\n\n if (owner !== null && typeof owner !== 'undefined') {\n return getComponentNameFromFiber(owner);\n }\n }\n\n return null;\n}\n\nfunction getCurrentFiberStackInDev() {\n {\n if (current === null) {\n return '';\n } // Safe because if current fiber exists, we are reconciling,\n // and it is guaranteed to be the work-in-progress version.\n\n\n return getStackByFiberInDevAndProd(current);\n }\n}\n\nfunction resetCurrentFiber() {\n {\n ReactDebugCurrentFrame.getCurrentStack = null;\n current = null;\n isRendering = false;\n }\n}\nfunction setCurrentFiber(fiber) {\n {\n ReactDebugCurrentFrame.getCurrentStack = fiber === null ? null : getCurrentFiberStackInDev;\n current = fiber;\n isRendering = false;\n }\n}\nfunction getCurrentFiber() {\n {\n return current;\n }\n}\nfunction setIsRendering(rendering) {\n {\n isRendering = rendering;\n }\n}\n\n// Flow does not allow string concatenation of most non-string types. To work\n// around this limitation, we use an opaque type that can only be obtained by\n// passing the value through getToStringValue first.\nfunction toString(value) {\n // The coercion safety check is performed in getToStringValue().\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n\n case 'object':\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n return value;\n\n default:\n // function, symbol are assigned as empty strings\n return '';\n }\n}\n\nvar hasReadOnlyValue = {\n button: true,\n checkbox: true,\n image: true,\n hidden: true,\n radio: true,\n reset: true,\n submit: true\n};\nfunction checkControlledValueProps(tagName, props) {\n {\n if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) {\n error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n\n if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) {\n error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n }\n}\n\nfunction isCheckable(elem) {\n var type = elem.type;\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\n}\n\nfunction getTracker(node) {\n return node._valueTracker;\n}\n\nfunction detachTracker(node) {\n node._valueTracker = null;\n}\n\nfunction getValueFromNode(node) {\n var value = '';\n\n if (!node) {\n return value;\n }\n\n if (isCheckable(node)) {\n value = node.checked ? 'true' : 'false';\n } else {\n value = node.value;\n }\n\n return value;\n}\n\nfunction trackValueOnNode(node) {\n var valueField = isCheckable(node) ? 'checked' : 'value';\n var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n\n {\n checkFormFieldValueStringCoercion(node[valueField]);\n }\n\n var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail\n // and don't track value will cause over reporting of changes,\n // but it's better then a hard failure\n // (needed for certain tests that spyOn input values and Safari)\n\n if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\n return;\n }\n\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: true,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n set.call(this, value);\n }\n }); // We could've passed this the first time\n // but it triggers a bug in IE11 and Edge 14/15.\n // Calling defineProperty() again should be equivalent.\n // https://github.com/facebook/react/issues/11768\n\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n var tracker = {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n },\n stopTracking: function () {\n detachTracker(node);\n delete node[valueField];\n }\n };\n return tracker;\n}\n\nfunction track(node) {\n if (getTracker(node)) {\n return;\n } // TODO: Once it's just Fiber we can move this to node._wrapperState\n\n\n node._valueTracker = trackValueOnNode(node);\n}\nfunction updateValueIfChanged(node) {\n if (!node) {\n return false;\n }\n\n var tracker = getTracker(node); // if there is no tracker at this point it's unlikely\n // that trying again will succeed\n\n if (!tracker) {\n return true;\n }\n\n var lastValue = tracker.getValue();\n var nextValue = getValueFromNode(node);\n\n if (nextValue !== lastValue) {\n tracker.setValue(nextValue);\n return true;\n }\n\n return false;\n}\n\nfunction getActiveElement(doc) {\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n if (typeof doc === 'undefined') {\n return null;\n }\n\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nvar didWarnValueDefaultValue = false;\nvar didWarnCheckedDefaultChecked = false;\nvar didWarnControlledToUncontrolled = false;\nvar didWarnUncontrolledToControlled = false;\n\nfunction isControlled(props) {\n var usesChecked = props.type === 'checkbox' || props.type === 'radio';\n return usesChecked ? props.checked != null : props.value != null;\n}\n/**\n * Implements an <input> host component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\n\n\nfunction getHostProps(element, props) {\n var node = element;\n var checked = props.checked;\n var hostProps = assign({}, props, {\n defaultChecked: undefined,\n defaultValue: undefined,\n value: undefined,\n checked: checked != null ? checked : node._wrapperState.initialChecked\n });\n return hostProps;\n}\nfunction initWrapperState(element, props) {\n {\n checkControlledValueProps('input', props);\n\n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnCheckedDefaultChecked = true;\n }\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnValueDefaultValue = true;\n }\n }\n\n var node = element;\n var defaultValue = props.defaultValue == null ? '' : props.defaultValue;\n node._wrapperState = {\n initialChecked: props.checked != null ? props.checked : props.defaultChecked,\n initialValue: getToStringValue(props.value != null ? props.value : defaultValue),\n controlled: isControlled(props)\n };\n}\nfunction updateChecked(element, props) {\n var node = element;\n var checked = props.checked;\n\n if (checked != null) {\n setValueForProperty(node, 'checked', checked, false);\n }\n}\nfunction updateWrapper(element, props) {\n var node = element;\n\n {\n var controlled = isControlled(props);\n\n if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\n error('A component is changing an uncontrolled input to be controlled. ' + 'This is likely caused by the value changing from undefined to ' + 'a defined value, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnUncontrolledToControlled = true;\n }\n\n if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\n error('A component is changing a controlled input to be uncontrolled. ' + 'This is likely caused by the value changing from a defined to ' + 'undefined, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnControlledToUncontrolled = true;\n }\n }\n\n updateChecked(element, props);\n var value = getToStringValue(props.value);\n var type = props.type;\n\n if (value != null) {\n if (type === 'number') {\n if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible.\n // eslint-disable-next-line\n node.value != value) {\n node.value = toString(value);\n }\n } else if (node.value !== toString(value)) {\n node.value = toString(value);\n }\n } else if (type === 'submit' || type === 'reset') {\n // Submit/reset inputs need the attribute removed completely to avoid\n // blank-text buttons.\n node.removeAttribute('value');\n return;\n }\n\n {\n // When syncing the value attribute, the value comes from a cascade of\n // properties:\n // 1. The value React property\n // 2. The defaultValue React property\n // 3. Otherwise there should be no change\n if (props.hasOwnProperty('value')) {\n setDefaultValue(node, props.type, value);\n } else if (props.hasOwnProperty('defaultValue')) {\n setDefaultValue(node, props.type, getToStringValue(props.defaultValue));\n }\n }\n\n {\n // When syncing the checked attribute, it only changes when it needs\n // to be removed, such as transitioning from a checkbox into a text input\n if (props.checked == null && props.defaultChecked != null) {\n node.defaultChecked = !!props.defaultChecked;\n }\n }\n}\nfunction postMountWrapper(element, props, isHydrating) {\n var node = element; // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) {\n var type = props.type;\n var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the\n // default value provided by the browser. See: #12872\n\n if (isButton && (props.value === undefined || props.value === null)) {\n return;\n }\n\n var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (!isHydrating) {\n {\n // When syncing the value attribute, the value property should use\n // the wrapperState._initialValue property. This uses:\n //\n // 1. The value React property when present\n // 2. The defaultValue React property when present\n // 3. An empty string\n if (initialValue !== node.value) {\n node.value = initialValue;\n }\n }\n }\n\n {\n // Otherwise, the value attribute is synchronized to the property,\n // so we assign defaultValue to the same thing as the value property\n // assignment step above.\n node.defaultValue = initialValue;\n }\n } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n // this is needed to work around a chrome bug where setting defaultChecked\n // will sometimes influence the value of checked (even after detachment).\n // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n // We need to temporarily unset name to avoid disrupting radio button groups.\n\n\n var name = node.name;\n\n if (name !== '') {\n node.name = '';\n }\n\n {\n // When syncing the checked attribute, both the checked property and\n // attribute are assigned at the same time using defaultChecked. This uses:\n //\n // 1. The checked React property when present\n // 2. The defaultChecked React property when present\n // 3. Otherwise, false\n node.defaultChecked = !node.defaultChecked;\n node.defaultChecked = !!node._wrapperState.initialChecked;\n }\n\n if (name !== '') {\n node.name = name;\n }\n}\nfunction restoreControlledState(element, props) {\n var node = element;\n updateWrapper(node, props);\n updateNamedCousins(node, props);\n}\n\nfunction updateNamedCousins(rootNode, props) {\n var name = props.name;\n\n if (props.type === 'radio' && name != null) {\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n } // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form. It might not even be in the\n // document. Let's just use the local `querySelectorAll` to ensure we don't\n // miss anything.\n\n\n {\n checkAttributeStringCoercion(name, 'name');\n }\n\n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n } // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React radio buttons with non-React ones.\n\n\n var otherProps = getFiberCurrentPropsFromNode(otherNode);\n\n if (!otherProps) {\n throw new Error('ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.');\n } // We need update the tracked value on the named cousin since the value\n // was changed but the input saw no event or value set\n\n\n updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n\n updateWrapper(otherNode, otherProps);\n }\n }\n} // In Chrome, assigning defaultValue to certain input types triggers input validation.\n// For number inputs, the display value loses trailing decimal points. For email inputs,\n// Chrome raises \"The specified value <x> is not a valid email address\".\n//\n// Here we check to see if the defaultValue has actually changed, avoiding these problems\n// when the user is inputting text\n//\n// https://github.com/facebook/react/issues/7253\n\n\nfunction setDefaultValue(node, type, value) {\n if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js\n type !== 'number' || getActiveElement(node.ownerDocument) !== node) {\n if (value == null) {\n node.defaultValue = toString(node._wrapperState.initialValue);\n } else if (node.defaultValue !== toString(value)) {\n node.defaultValue = toString(value);\n }\n }\n}\n\nvar didWarnSelectedSetOnOption = false;\nvar didWarnInvalidChild = false;\nvar didWarnInvalidInnerHTML = false;\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\n\nfunction validateProps(element, props) {\n {\n // If a value is not provided, then the children must be simple.\n if (props.value == null) {\n if (typeof props.children === 'object' && props.children !== null) {\n React.Children.forEach(props.children, function (child) {\n if (child == null) {\n return;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n return;\n }\n\n if (!didWarnInvalidChild) {\n didWarnInvalidChild = true;\n\n error('Cannot infer the option value of complex children. ' + 'Pass a `value` prop or use a plain string as children to <option>.');\n }\n });\n } else if (props.dangerouslySetInnerHTML != null) {\n if (!didWarnInvalidInnerHTML) {\n didWarnInvalidInnerHTML = true;\n\n error('Pass a `value` prop if you set dangerouslyInnerHTML so React knows ' + 'which value should be selected.');\n }\n }\n } // TODO: Remove support for `selected` in <option>.\n\n\n if (props.selected != null && !didWarnSelectedSetOnOption) {\n error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');\n\n didWarnSelectedSetOnOption = true;\n }\n }\n}\nfunction postMountWrapper$1(element, props) {\n // value=\"\" should make a value attribute (#6219)\n if (props.value != null) {\n element.setAttribute('value', toString(getToStringValue(props.value)));\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\nvar didWarnValueDefaultValue$1;\n\n{\n didWarnValueDefaultValue$1 = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n return '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n/**\n * Validation function for `value` and `defaultValue`.\n */\n\nfunction checkSelectPropTypes(props) {\n {\n checkControlledValueProps('select', props);\n\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n\n if (props[propName] == null) {\n continue;\n }\n\n var propNameIsArray = isArray(props[propName]);\n\n if (props.multiple && !propNameIsArray) {\n error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());\n } else if (!props.multiple && propNameIsArray) {\n error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());\n }\n }\n }\n}\n\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n var options = node.options;\n\n if (multiple) {\n var selectedValues = propValue;\n var selectedValue = {};\n\n for (var i = 0; i < selectedValues.length; i++) {\n // Prefix to avoid chaos with special keys.\n selectedValue['$' + selectedValues[i]] = true;\n }\n\n for (var _i = 0; _i < options.length; _i++) {\n var selected = selectedValue.hasOwnProperty('$' + options[_i].value);\n\n if (options[_i].selected !== selected) {\n options[_i].selected = selected;\n }\n\n if (selected && setDefaultSelected) {\n options[_i].defaultSelected = true;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n var _selectedValue = toString(getToStringValue(propValue));\n\n var defaultSelected = null;\n\n for (var _i2 = 0; _i2 < options.length; _i2++) {\n if (options[_i2].value === _selectedValue) {\n options[_i2].selected = true;\n\n if (setDefaultSelected) {\n options[_i2].defaultSelected = true;\n }\n\n return;\n }\n\n if (defaultSelected === null && !options[_i2].disabled) {\n defaultSelected = options[_i2];\n }\n }\n\n if (defaultSelected !== null) {\n defaultSelected.selected = true;\n }\n }\n}\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\n\n\nfunction getHostProps$1(element, props) {\n return assign({}, props, {\n value: undefined\n });\n}\nfunction initWrapperState$1(element, props) {\n var node = element;\n\n {\n checkSelectPropTypes(props);\n }\n\n node._wrapperState = {\n wasMultiple: !!props.multiple\n };\n\n {\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) {\n error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components');\n\n didWarnValueDefaultValue$1 = true;\n }\n }\n}\nfunction postMountWrapper$2(element, props) {\n var node = element;\n node.multiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n }\n}\nfunction postUpdateWrapper(element, props) {\n var node = element;\n var wasMultiple = node._wrapperState.wasMultiple;\n node._wrapperState.wasMultiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (wasMultiple !== !!props.multiple) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(node, !!props.multiple, props.multiple ? [] : '', false);\n }\n }\n}\nfunction restoreControlledState$1(element, props) {\n var node = element;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n }\n}\n\nvar didWarnValDefaultVal = false;\n\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\nfunction getHostProps$2(element, props) {\n var node = element;\n\n if (props.dangerouslySetInnerHTML != null) {\n throw new Error('`dangerouslySetInnerHTML` does not make sense on <textarea>.');\n } // Always set children to the same thing. In IE9, the selection range will\n // get reset if `textContent` is mutated. We could add a check in setTextContent\n // to only set the value if/when the value differs from the node value (which would\n // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this\n // solution. The value can be a boolean or object so that's why it's forced\n // to be a string.\n\n\n var hostProps = assign({}, props, {\n value: undefined,\n defaultValue: undefined,\n children: toString(node._wrapperState.initialValue)\n });\n\n return hostProps;\n}\nfunction initWrapperState$2(element, props) {\n var node = element;\n\n {\n checkControlledValueProps('textarea', props);\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component');\n\n didWarnValDefaultVal = true;\n }\n }\n\n var initialValue = props.value; // Only bother fetching default value if we're going to use it\n\n if (initialValue == null) {\n var children = props.children,\n defaultValue = props.defaultValue;\n\n if (children != null) {\n {\n error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');\n }\n\n {\n if (defaultValue != null) {\n throw new Error('If you supply `defaultValue` on a <textarea>, do not pass children.');\n }\n\n if (isArray(children)) {\n if (children.length > 1) {\n throw new Error('<textarea> can only have at most one child.');\n }\n\n children = children[0];\n }\n\n defaultValue = children;\n }\n }\n\n if (defaultValue == null) {\n defaultValue = '';\n }\n\n initialValue = defaultValue;\n }\n\n node._wrapperState = {\n initialValue: getToStringValue(initialValue)\n };\n}\nfunction updateWrapper$1(element, props) {\n var node = element;\n var value = getToStringValue(props.value);\n var defaultValue = getToStringValue(props.defaultValue);\n\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed\n\n if (newValue !== node.value) {\n node.value = newValue;\n }\n\n if (props.defaultValue == null && node.defaultValue !== newValue) {\n node.defaultValue = newValue;\n }\n }\n\n if (defaultValue != null) {\n node.defaultValue = toString(defaultValue);\n }\n}\nfunction postMountWrapper$3(element, props) {\n var node = element; // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n\n var textContent = node.textContent; // Only set node.value if textContent is equal to the expected\n // initial value. In IE10/IE11 there is a bug where the placeholder attribute\n // will populate textContent as well.\n // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\n\n if (textContent === node._wrapperState.initialValue) {\n if (textContent !== '' && textContent !== null) {\n node.value = textContent;\n }\n }\n}\nfunction restoreControlledState$2(element, props) {\n // DOM component is still mounted; update\n updateWrapper$1(element, props);\n}\n\nvar HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\nvar MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\nvar SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; // Assumes there is no parent namespace.\n\nfunction getIntrinsicNamespace(type) {\n switch (type) {\n case 'svg':\n return SVG_NAMESPACE;\n\n case 'math':\n return MATH_NAMESPACE;\n\n default:\n return HTML_NAMESPACE;\n }\n}\nfunction getChildNamespace(parentNamespace, type) {\n if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) {\n // No (or default) parent namespace: potential entry point.\n return getIntrinsicNamespace(type);\n }\n\n if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') {\n // We're leaving SVG.\n return HTML_NAMESPACE;\n } // By default, pass namespace below.\n\n\n return parentNamespace;\n}\n\n/* globals MSApp */\n\n/**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\nvar createMicrosoftUnsafeLocalFunction = function (func) {\n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n return function (arg0, arg1, arg2, arg3) {\n MSApp.execUnsafeLocalFunction(function () {\n return func(arg0, arg1, arg2, arg3);\n });\n };\n } else {\n return func;\n }\n};\n\nvar reusableSVGContainer;\n/**\n * Set the innerHTML property of a node\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\n\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n if (node.namespaceURI === SVG_NAMESPACE) {\n\n if (!('innerHTML' in node)) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>';\n var svgNode = reusableSVGContainer.firstChild;\n\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n\n return;\n }\n }\n\n node.innerHTML = html;\n});\n\n/**\n * HTML nodeType values that represent the type of the node\n */\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar DOCUMENT_NODE = 9;\nvar DOCUMENT_FRAGMENT_NODE = 11;\n\n/**\n * Set the textContent property of a node. For text updates, it's faster\n * to set the `nodeValue` of the Text node directly instead of using\n * `.textContent` which will remove the existing node and create a new one.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\n\nvar setTextContent = function (node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {\n firstChild.nodeValue = text;\n return;\n }\n }\n\n node.textContent = text;\n};\n\n// List derived from Gecko source code:\n// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js\nvar shorthandToLonghand = {\n animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],\n background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'],\n backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],\n border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],\n borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],\n borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],\n borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],\n borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],\n borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],\n borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'],\n borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],\n columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'],\n columns: ['columnCount', 'columnWidth'],\n flex: ['flexBasis', 'flexGrow', 'flexShrink'],\n flexFlow: ['flexDirection', 'flexWrap'],\n font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'],\n fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],\n gap: ['columnGap', 'rowGap'],\n grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],\n gridColumn: ['gridColumnEnd', 'gridColumnStart'],\n gridColumnGap: ['columnGap'],\n gridGap: ['columnGap', 'rowGap'],\n gridRow: ['gridRowEnd', 'gridRowStart'],\n gridRowGap: ['rowGap'],\n gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n marker: ['markerEnd', 'markerMid', 'markerStart'],\n mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'],\n maskPosition: ['maskPositionX', 'maskPositionY'],\n outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],\n overflow: ['overflowX', 'overflowY'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n placeContent: ['alignContent', 'justifyContent'],\n placeItems: ['alignItems', 'justifyItems'],\n placeSelf: ['alignSelf', 'justifySelf'],\n textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],\n textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'],\n wordWrap: ['overflowWrap']\n};\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\nvar isUnitlessNumber = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridArea: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\n\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\n\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\n\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n {\n checkCSSPropertyStringCoercion(value, name);\n }\n\n return ('' + value).trim();\n}\n\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n */\n\nfunction hyphenateStyleName(name) {\n return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n}\n\nvar warnValidStyle = function () {};\n\n{\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n var msPattern$1 = /^-ms-/;\n var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon\n\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n var warnedForNaNValue = false;\n var warnedForInfinityValue = false;\n\n var camelize = function (string) {\n return string.replace(hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n };\n\n var warnHyphenatedStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests\n // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n // is converted to lowercase `ms`.\n camelize(name.replace(msPattern$1, 'ms-')));\n };\n\n var warnBadVendoredStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));\n };\n\n var warnStyleValueWithSemicolon = function (name, value) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n\n error(\"Style property values shouldn't contain a semicolon. \" + 'Try \"%s: %s\" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));\n };\n\n var warnStyleValueIsNaN = function (name, value) {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n\n error('`NaN` is an invalid value for the `%s` css style property.', name);\n };\n\n var warnStyleValueIsInfinity = function (name, value) {\n if (warnedForInfinityValue) {\n return;\n }\n\n warnedForInfinityValue = true;\n\n error('`Infinity` is an invalid value for the `%s` css style property.', name);\n };\n\n warnValidStyle = function (name, value) {\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value);\n }\n\n if (typeof value === 'number') {\n if (isNaN(value)) {\n warnStyleValueIsNaN(name, value);\n } else if (!isFinite(value)) {\n warnStyleValueIsInfinity(name, value);\n }\n }\n };\n}\n\nvar warnValidStyle$1 = warnValidStyle;\n\n/**\n * Operations for dealing with CSS properties.\n */\n\n/**\n * This creates a string that is expected to be equivalent to the style\n * attribute generated by server-side rendering. It by-passes warnings and\n * security checks so it's not safe to use this value for anything other than\n * comparison. It is only used in DEV for SSR validation.\n */\n\nfunction createDangerousStringForStyles(styles) {\n {\n var serialized = '';\n var delimiter = '';\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var styleValue = styles[styleName];\n\n if (styleValue != null) {\n var isCustomProperty = styleName.indexOf('--') === 0;\n serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':';\n serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty);\n delimiter = ';';\n }\n }\n\n return serialized || null;\n }\n}\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\n\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n\n {\n if (!isCustomProperty) {\n warnValidStyle$1(styleName, styles[styleName]);\n }\n }\n\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nfunction isValueEmpty(value) {\n return value == null || typeof value === 'boolean' || value === '';\n}\n/**\n * Given {color: 'red', overflow: 'hidden'} returns {\n * color: 'color',\n * overflowX: 'overflow',\n * overflowY: 'overflow',\n * }. This can be read as \"the overflowY property was set by the overflow\n * shorthand\". That is, the values are the property that each was derived from.\n */\n\n\nfunction expandShorthandMap(styles) {\n var expanded = {};\n\n for (var key in styles) {\n var longhands = shorthandToLonghand[key] || [key];\n\n for (var i = 0; i < longhands.length; i++) {\n expanded[longhands[i]] = key;\n }\n }\n\n return expanded;\n}\n/**\n * When mixing shorthand and longhand property names, we warn during updates if\n * we expect an incorrect result to occur. In particular, we warn for:\n *\n * Updating a shorthand property (longhand gets overwritten):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}\n * becomes .style.font = 'baz'\n * Removing a shorthand property (longhand gets lost too):\n * {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}\n * becomes .style.font = ''\n * Removing a longhand property (should revert to shorthand; doesn't):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}\n * becomes .style.fontVariant = ''\n */\n\n\nfunction validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) {\n {\n if (!nextStyles) {\n return;\n }\n\n var expandedUpdates = expandShorthandMap(styleUpdates);\n var expandedStyles = expandShorthandMap(nextStyles);\n var warnedAbout = {};\n\n for (var key in expandedUpdates) {\n var originalKey = expandedUpdates[key];\n var correctOriginalKey = expandedStyles[key];\n\n if (correctOriginalKey && originalKey !== correctOriginalKey) {\n var warningKey = originalKey + ',' + correctOriginalKey;\n\n if (warnedAbout[warningKey]) {\n continue;\n }\n\n warnedAbout[warningKey] = true;\n\n error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + \"avoid this, don't mix shorthand and non-shorthand properties \" + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);\n }\n }\n }\n}\n\n// For HTML, certain tags should omit their close tag. We keep a list for\n// those special-case tags.\nvar omittedCloseTags = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems.\n\n};\n\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\nvar voidElementTags = assign({\n menuitem: true\n}, omittedCloseTags);\n\nvar HTML = '__html';\n\nfunction assertValidProps(tag, props) {\n if (!props) {\n return;\n } // Note the use of `==` which checks for null or undefined.\n\n\n if (voidElementTags[tag]) {\n if (props.children != null || props.dangerouslySetInnerHTML != null) {\n throw new Error(tag + \" is a void element tag and must neither have `children` nor \" + 'use `dangerouslySetInnerHTML`.');\n }\n }\n\n if (props.dangerouslySetInnerHTML != null) {\n if (props.children != null) {\n throw new Error('Can only set one of `children` or `props.dangerouslySetInnerHTML`.');\n }\n\n if (typeof props.dangerouslySetInnerHTML !== 'object' || !(HTML in props.dangerouslySetInnerHTML)) {\n throw new Error('`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://reactjs.org/link/dangerously-set-inner-html ' + 'for more information.');\n }\n }\n\n {\n if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {\n error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');\n }\n }\n\n if (props.style != null && typeof props.style !== 'object') {\n throw new Error('The `style` prop expects a mapping from style properties to values, ' + \"not a string. For example, style={{marginRight: spacing + 'em'}} when \" + 'using JSX.');\n }\n}\n\nfunction isCustomComponent(tagName, props) {\n if (tagName.indexOf('-') === -1) {\n return typeof props.is === 'string';\n }\n\n switch (tagName) {\n // These are reserved SVG and MathML elements.\n // We don't mind this list too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n case 'annotation-xml':\n case 'color-profile':\n case 'font-face':\n case 'font-face-src':\n case 'font-face-uri':\n case 'font-face-format':\n case 'font-face-name':\n case 'missing-glyph':\n return false;\n\n default:\n return true;\n }\n}\n\n// When adding attributes to the HTML or SVG allowed attribute list, be sure to\n// also add them to this module to ensure casing and incorrect name\n// warnings.\nvar possibleStandardNames = {\n // HTML\n accept: 'accept',\n acceptcharset: 'acceptCharset',\n 'accept-charset': 'acceptCharset',\n accesskey: 'accessKey',\n action: 'action',\n allowfullscreen: 'allowFullScreen',\n alt: 'alt',\n as: 'as',\n async: 'async',\n autocapitalize: 'autoCapitalize',\n autocomplete: 'autoComplete',\n autocorrect: 'autoCorrect',\n autofocus: 'autoFocus',\n autoplay: 'autoPlay',\n autosave: 'autoSave',\n capture: 'capture',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n challenge: 'challenge',\n charset: 'charSet',\n checked: 'checked',\n children: 'children',\n cite: 'cite',\n class: 'className',\n classid: 'classID',\n classname: 'className',\n cols: 'cols',\n colspan: 'colSpan',\n content: 'content',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n controls: 'controls',\n controlslist: 'controlsList',\n coords: 'coords',\n crossorigin: 'crossOrigin',\n dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n data: 'data',\n datetime: 'dateTime',\n default: 'default',\n defaultchecked: 'defaultChecked',\n defaultvalue: 'defaultValue',\n defer: 'defer',\n dir: 'dir',\n disabled: 'disabled',\n disablepictureinpicture: 'disablePictureInPicture',\n disableremoteplayback: 'disableRemotePlayback',\n download: 'download',\n draggable: 'draggable',\n enctype: 'encType',\n enterkeyhint: 'enterKeyHint',\n for: 'htmlFor',\n form: 'form',\n formmethod: 'formMethod',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n headers: 'headers',\n height: 'height',\n hidden: 'hidden',\n high: 'high',\n href: 'href',\n hreflang: 'hrefLang',\n htmlfor: 'htmlFor',\n httpequiv: 'httpEquiv',\n 'http-equiv': 'httpEquiv',\n icon: 'icon',\n id: 'id',\n imagesizes: 'imageSizes',\n imagesrcset: 'imageSrcSet',\n innerhtml: 'innerHTML',\n inputmode: 'inputMode',\n integrity: 'integrity',\n is: 'is',\n itemid: 'itemID',\n itemprop: 'itemProp',\n itemref: 'itemRef',\n itemscope: 'itemScope',\n itemtype: 'itemType',\n keyparams: 'keyParams',\n keytype: 'keyType',\n kind: 'kind',\n label: 'label',\n lang: 'lang',\n list: 'list',\n loop: 'loop',\n low: 'low',\n manifest: 'manifest',\n marginwidth: 'marginWidth',\n marginheight: 'marginHeight',\n max: 'max',\n maxlength: 'maxLength',\n media: 'media',\n mediagroup: 'mediaGroup',\n method: 'method',\n min: 'min',\n minlength: 'minLength',\n multiple: 'multiple',\n muted: 'muted',\n name: 'name',\n nomodule: 'noModule',\n nonce: 'nonce',\n novalidate: 'noValidate',\n open: 'open',\n optimum: 'optimum',\n pattern: 'pattern',\n placeholder: 'placeholder',\n playsinline: 'playsInline',\n poster: 'poster',\n preload: 'preload',\n profile: 'profile',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n referrerpolicy: 'referrerPolicy',\n rel: 'rel',\n required: 'required',\n reversed: 'reversed',\n role: 'role',\n rows: 'rows',\n rowspan: 'rowSpan',\n sandbox: 'sandbox',\n scope: 'scope',\n scoped: 'scoped',\n scrolling: 'scrolling',\n seamless: 'seamless',\n selected: 'selected',\n shape: 'shape',\n size: 'size',\n sizes: 'sizes',\n span: 'span',\n spellcheck: 'spellCheck',\n src: 'src',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n start: 'start',\n step: 'step',\n style: 'style',\n summary: 'summary',\n tabindex: 'tabIndex',\n target: 'target',\n title: 'title',\n type: 'type',\n usemap: 'useMap',\n value: 'value',\n width: 'width',\n wmode: 'wmode',\n wrap: 'wrap',\n // SVG\n about: 'about',\n accentheight: 'accentHeight',\n 'accent-height': 'accentHeight',\n accumulate: 'accumulate',\n additive: 'additive',\n alignmentbaseline: 'alignmentBaseline',\n 'alignment-baseline': 'alignmentBaseline',\n allowreorder: 'allowReorder',\n alphabetic: 'alphabetic',\n amplitude: 'amplitude',\n arabicform: 'arabicForm',\n 'arabic-form': 'arabicForm',\n ascent: 'ascent',\n attributename: 'attributeName',\n attributetype: 'attributeType',\n autoreverse: 'autoReverse',\n azimuth: 'azimuth',\n basefrequency: 'baseFrequency',\n baselineshift: 'baselineShift',\n 'baseline-shift': 'baselineShift',\n baseprofile: 'baseProfile',\n bbox: 'bbox',\n begin: 'begin',\n bias: 'bias',\n by: 'by',\n calcmode: 'calcMode',\n capheight: 'capHeight',\n 'cap-height': 'capHeight',\n clip: 'clip',\n clippath: 'clipPath',\n 'clip-path': 'clipPath',\n clippathunits: 'clipPathUnits',\n cliprule: 'clipRule',\n 'clip-rule': 'clipRule',\n color: 'color',\n colorinterpolation: 'colorInterpolation',\n 'color-interpolation': 'colorInterpolation',\n colorinterpolationfilters: 'colorInterpolationFilters',\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorprofile: 'colorProfile',\n 'color-profile': 'colorProfile',\n colorrendering: 'colorRendering',\n 'color-rendering': 'colorRendering',\n contentscripttype: 'contentScriptType',\n contentstyletype: 'contentStyleType',\n cursor: 'cursor',\n cx: 'cx',\n cy: 'cy',\n d: 'd',\n datatype: 'datatype',\n decelerate: 'decelerate',\n descent: 'descent',\n diffuseconstant: 'diffuseConstant',\n direction: 'direction',\n display: 'display',\n divisor: 'divisor',\n dominantbaseline: 'dominantBaseline',\n 'dominant-baseline': 'dominantBaseline',\n dur: 'dur',\n dx: 'dx',\n dy: 'dy',\n edgemode: 'edgeMode',\n elevation: 'elevation',\n enablebackground: 'enableBackground',\n 'enable-background': 'enableBackground',\n end: 'end',\n exponent: 'exponent',\n externalresourcesrequired: 'externalResourcesRequired',\n fill: 'fill',\n fillopacity: 'fillOpacity',\n 'fill-opacity': 'fillOpacity',\n fillrule: 'fillRule',\n 'fill-rule': 'fillRule',\n filter: 'filter',\n filterres: 'filterRes',\n filterunits: 'filterUnits',\n floodopacity: 'floodOpacity',\n 'flood-opacity': 'floodOpacity',\n floodcolor: 'floodColor',\n 'flood-color': 'floodColor',\n focusable: 'focusable',\n fontfamily: 'fontFamily',\n 'font-family': 'fontFamily',\n fontsize: 'fontSize',\n 'font-size': 'fontSize',\n fontsizeadjust: 'fontSizeAdjust',\n 'font-size-adjust': 'fontSizeAdjust',\n fontstretch: 'fontStretch',\n 'font-stretch': 'fontStretch',\n fontstyle: 'fontStyle',\n 'font-style': 'fontStyle',\n fontvariant: 'fontVariant',\n 'font-variant': 'fontVariant',\n fontweight: 'fontWeight',\n 'font-weight': 'fontWeight',\n format: 'format',\n from: 'from',\n fx: 'fx',\n fy: 'fy',\n g1: 'g1',\n g2: 'g2',\n glyphname: 'glyphName',\n 'glyph-name': 'glyphName',\n glyphorientationhorizontal: 'glyphOrientationHorizontal',\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphorientationvertical: 'glyphOrientationVertical',\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n hanging: 'hanging',\n horizadvx: 'horizAdvX',\n 'horiz-adv-x': 'horizAdvX',\n horizoriginx: 'horizOriginX',\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 'ideographic',\n imagerendering: 'imageRendering',\n 'image-rendering': 'imageRendering',\n in2: 'in2',\n in: 'in',\n inlist: 'inlist',\n intercept: 'intercept',\n k1: 'k1',\n k2: 'k2',\n k3: 'k3',\n k4: 'k4',\n k: 'k',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n kerning: 'kerning',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n letterspacing: 'letterSpacing',\n 'letter-spacing': 'letterSpacing',\n lightingcolor: 'lightingColor',\n 'lighting-color': 'lightingColor',\n limitingconeangle: 'limitingConeAngle',\n local: 'local',\n markerend: 'markerEnd',\n 'marker-end': 'markerEnd',\n markerheight: 'markerHeight',\n markermid: 'markerMid',\n 'marker-mid': 'markerMid',\n markerstart: 'markerStart',\n 'marker-start': 'markerStart',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n mask: 'mask',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n mathematical: 'mathematical',\n mode: 'mode',\n numoctaves: 'numOctaves',\n offset: 'offset',\n opacity: 'opacity',\n operator: 'operator',\n order: 'order',\n orient: 'orient',\n orientation: 'orientation',\n origin: 'origin',\n overflow: 'overflow',\n overlineposition: 'overlinePosition',\n 'overline-position': 'overlinePosition',\n overlinethickness: 'overlineThickness',\n 'overline-thickness': 'overlineThickness',\n paintorder: 'paintOrder',\n 'paint-order': 'paintOrder',\n panose1: 'panose1',\n 'panose-1': 'panose1',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointerevents: 'pointerEvents',\n 'pointer-events': 'pointerEvents',\n points: 'points',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n prefix: 'prefix',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n property: 'property',\n r: 'r',\n radius: 'radius',\n refx: 'refX',\n refy: 'refY',\n renderingintent: 'renderingIntent',\n 'rendering-intent': 'renderingIntent',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n resource: 'resource',\n restart: 'restart',\n result: 'result',\n results: 'results',\n rotate: 'rotate',\n rx: 'rx',\n ry: 'ry',\n scale: 'scale',\n security: 'security',\n seed: 'seed',\n shaperendering: 'shapeRendering',\n 'shape-rendering': 'shapeRendering',\n slope: 'slope',\n spacing: 'spacing',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n speed: 'speed',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stemh: 'stemh',\n stemv: 'stemv',\n stitchtiles: 'stitchTiles',\n stopcolor: 'stopColor',\n 'stop-color': 'stopColor',\n stopopacity: 'stopOpacity',\n 'stop-opacity': 'stopOpacity',\n strikethroughposition: 'strikethroughPosition',\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughthickness: 'strikethroughThickness',\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 'string',\n stroke: 'stroke',\n strokedasharray: 'strokeDasharray',\n 'stroke-dasharray': 'strokeDasharray',\n strokedashoffset: 'strokeDashoffset',\n 'stroke-dashoffset': 'strokeDashoffset',\n strokelinecap: 'strokeLinecap',\n 'stroke-linecap': 'strokeLinecap',\n strokelinejoin: 'strokeLinejoin',\n 'stroke-linejoin': 'strokeLinejoin',\n strokemiterlimit: 'strokeMiterlimit',\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokewidth: 'strokeWidth',\n 'stroke-width': 'strokeWidth',\n strokeopacity: 'strokeOpacity',\n 'stroke-opacity': 'strokeOpacity',\n suppresscontenteditablewarning: 'suppressContentEditableWarning',\n suppresshydrationwarning: 'suppressHydrationWarning',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textanchor: 'textAnchor',\n 'text-anchor': 'textAnchor',\n textdecoration: 'textDecoration',\n 'text-decoration': 'textDecoration',\n textlength: 'textLength',\n textrendering: 'textRendering',\n 'text-rendering': 'textRendering',\n to: 'to',\n transform: 'transform',\n typeof: 'typeof',\n u1: 'u1',\n u2: 'u2',\n underlineposition: 'underlinePosition',\n 'underline-position': 'underlinePosition',\n underlinethickness: 'underlineThickness',\n 'underline-thickness': 'underlineThickness',\n unicode: 'unicode',\n unicodebidi: 'unicodeBidi',\n 'unicode-bidi': 'unicodeBidi',\n unicoderange: 'unicodeRange',\n 'unicode-range': 'unicodeRange',\n unitsperem: 'unitsPerEm',\n 'units-per-em': 'unitsPerEm',\n unselectable: 'unselectable',\n valphabetic: 'vAlphabetic',\n 'v-alphabetic': 'vAlphabetic',\n values: 'values',\n vectoreffect: 'vectorEffect',\n 'vector-effect': 'vectorEffect',\n version: 'version',\n vertadvy: 'vertAdvY',\n 'vert-adv-y': 'vertAdvY',\n vertoriginx: 'vertOriginX',\n 'vert-origin-x': 'vertOriginX',\n vertoriginy: 'vertOriginY',\n 'vert-origin-y': 'vertOriginY',\n vhanging: 'vHanging',\n 'v-hanging': 'vHanging',\n videographic: 'vIdeographic',\n 'v-ideographic': 'vIdeographic',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n visibility: 'visibility',\n vmathematical: 'vMathematical',\n 'v-mathematical': 'vMathematical',\n vocab: 'vocab',\n widths: 'widths',\n wordspacing: 'wordSpacing',\n 'word-spacing': 'wordSpacing',\n writingmode: 'writingMode',\n 'writing-mode': 'writingMode',\n x1: 'x1',\n x2: 'x2',\n x: 'x',\n xchannelselector: 'xChannelSelector',\n xheight: 'xHeight',\n 'x-height': 'xHeight',\n xlinkactuate: 'xlinkActuate',\n 'xlink:actuate': 'xlinkActuate',\n xlinkarcrole: 'xlinkArcrole',\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkhref: 'xlinkHref',\n 'xlink:href': 'xlinkHref',\n xlinkrole: 'xlinkRole',\n 'xlink:role': 'xlinkRole',\n xlinkshow: 'xlinkShow',\n 'xlink:show': 'xlinkShow',\n xlinktitle: 'xlinkTitle',\n 'xlink:title': 'xlinkTitle',\n xlinktype: 'xlinkType',\n 'xlink:type': 'xlinkType',\n xmlbase: 'xmlBase',\n 'xml:base': 'xmlBase',\n xmllang: 'xmlLang',\n 'xml:lang': 'xmlLang',\n xmlns: 'xmlns',\n 'xml:space': 'xmlSpace',\n xmlnsxlink: 'xmlnsXlink',\n 'xmlns:xlink': 'xmlnsXlink',\n xmlspace: 'xmlSpace',\n y1: 'y1',\n y2: 'y2',\n y: 'y',\n ychannelselector: 'yChannelSelector',\n z: 'z',\n zoomandpan: 'zoomAndPan'\n};\n\nvar ariaProperties = {\n 'aria-current': 0,\n // state\n 'aria-description': 0,\n 'aria-details': 0,\n 'aria-disabled': 0,\n // state\n 'aria-hidden': 0,\n // state\n 'aria-invalid': 0,\n // state\n 'aria-keyshortcuts': 0,\n 'aria-label': 0,\n 'aria-roledescription': 0,\n // Widget Attributes\n 'aria-autocomplete': 0,\n 'aria-checked': 0,\n 'aria-expanded': 0,\n 'aria-haspopup': 0,\n 'aria-level': 0,\n 'aria-modal': 0,\n 'aria-multiline': 0,\n 'aria-multiselectable': 0,\n 'aria-orientation': 0,\n 'aria-placeholder': 0,\n 'aria-pressed': 0,\n 'aria-readonly': 0,\n 'aria-required': 0,\n 'aria-selected': 0,\n 'aria-sort': 0,\n 'aria-valuemax': 0,\n 'aria-valuemin': 0,\n 'aria-valuenow': 0,\n 'aria-valuetext': 0,\n // Live Region Attributes\n 'aria-atomic': 0,\n 'aria-busy': 0,\n 'aria-live': 0,\n 'aria-relevant': 0,\n // Drag-and-Drop Attributes\n 'aria-dropeffect': 0,\n 'aria-grabbed': 0,\n // Relationship Attributes\n 'aria-activedescendant': 0,\n 'aria-colcount': 0,\n 'aria-colindex': 0,\n 'aria-colspan': 0,\n 'aria-controls': 0,\n 'aria-describedby': 0,\n 'aria-errormessage': 0,\n 'aria-flowto': 0,\n 'aria-labelledby': 0,\n 'aria-owns': 0,\n 'aria-posinset': 0,\n 'aria-rowcount': 0,\n 'aria-rowindex': 0,\n 'aria-rowspan': 0,\n 'aria-setsize': 0\n};\n\nvar warnedProperties = {};\nvar rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\nfunction validateProperty(tagName, name) {\n {\n if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) {\n return true;\n }\n\n if (rARIACamel.test(name)) {\n var ariaName = 'aria-' + name.slice(4).toLowerCase();\n var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (correctName == null) {\n error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);\n\n warnedProperties[name] = true;\n return true;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== correctName) {\n error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n\n if (rARIA.test(name)) {\n var lowerCasedName = name.toLowerCase();\n var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (standardName == null) {\n warnedProperties[name] = true;\n return false;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== standardName) {\n error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n }\n\n return true;\n}\n\nfunction warnInvalidARIAProps(type, props) {\n {\n var invalidProps = [];\n\n for (var key in props) {\n var isValid = validateProperty(type, key);\n\n if (!isValid) {\n invalidProps.push(key);\n }\n }\n\n var unknownPropString = invalidProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (invalidProps.length === 1) {\n error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n } else if (invalidProps.length > 1) {\n error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n }\n }\n}\n\nfunction validateProperties(type, props) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnInvalidARIAProps(type, props);\n}\n\nvar didWarnValueNull = false;\nfunction validateProperties$1(type, props) {\n {\n if (type !== 'input' && type !== 'textarea' && type !== 'select') {\n return;\n }\n\n if (props != null && props.value === null && !didWarnValueNull) {\n didWarnValueNull = true;\n\n if (type === 'select' && props.multiple) {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);\n } else {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);\n }\n }\n }\n}\n\nvar validateProperty$1 = function () {};\n\n{\n var warnedProperties$1 = {};\n var EVENT_NAME_REGEX = /^on./;\n var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;\n var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\n var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\n validateProperty$1 = function (tagName, name, value, eventRegistry) {\n if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {\n return true;\n }\n\n var lowerCasedName = name.toLowerCase();\n\n if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {\n error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');\n\n warnedProperties$1[name] = true;\n return true;\n } // We can't rely on the event system being injected on the server.\n\n\n if (eventRegistry != null) {\n var registrationNameDependencies = eventRegistry.registrationNameDependencies,\n possibleRegistrationNames = eventRegistry.possibleRegistrationNames;\n\n if (registrationNameDependencies.hasOwnProperty(name)) {\n return true;\n }\n\n var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;\n\n if (registrationName != null) {\n error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (EVENT_NAME_REGEX.test(name)) {\n error('Unknown event handler property `%s`. It will be ignored.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (EVENT_NAME_REGEX.test(name)) {\n // If no event plugins have been injected, we are in a server environment.\n // So we can't tell if the event name is correct for sure, but we can filter\n // out known bad ones like `onclick`. We can't suggest a specific replacement though.\n if (INVALID_EVENT_NAME_REGEX.test(name)) {\n error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Let the ARIA attribute hook validate ARIA attributes\n\n\n if (rARIA$1.test(name) || rARIACamel$1.test(name)) {\n return true;\n }\n\n if (lowerCasedName === 'innerhtml') {\n error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'aria') {\n error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {\n error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n var propertyInfo = getPropertyInfo(name);\n var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config.\n\n if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n var standardName = possibleStandardNames[lowerCasedName];\n\n if (standardName !== name) {\n error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (!isReserved && name !== lowerCasedName) {\n // Unknown attributes should have lowercase casing since that's how they\n // will be cased anyway with server rendering.\n error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n if (value) {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.', value, name, name, value, name);\n } else {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Now that we've validated casing, do not validate\n // data types for reserved props\n\n\n if (isReserved) {\n return true;\n } // Warn when a known attribute is a bad type\n\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n warnedProperties$1[name] = true;\n return false;\n } // Warn when passing the strings 'false' or 'true' into a boolean prop\n\n\n if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {\n error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string \"false\".', name, value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n return true;\n };\n}\n\nvar warnUnknownProperties = function (type, props, eventRegistry) {\n {\n var unknownProps = [];\n\n for (var key in props) {\n var isValid = validateProperty$1(type, key, props[key], eventRegistry);\n\n if (!isValid) {\n unknownProps.push(key);\n }\n }\n\n var unknownPropString = unknownProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (unknownProps.length === 1) {\n error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n } else if (unknownProps.length > 1) {\n error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n }\n }\n};\n\nfunction validateProperties$2(type, props, eventRegistry) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnUnknownProperties(type, props, eventRegistry);\n}\n\nvar IS_EVENT_HANDLE_NON_MANAGED_NODE = 1;\nvar IS_NON_DELEGATED = 1 << 1;\nvar IS_CAPTURE_PHASE = 1 << 2;\n// set to LEGACY_FB_SUPPORT. LEGACY_FB_SUPPORT only gets set when\n// we call willDeferLaterForLegacyFBSupport, thus not bailing out\n// will result in endless cycles like an infinite loop.\n// We also don't want to defer during event replaying.\n\nvar SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS = IS_EVENT_HANDLE_NON_MANAGED_NODE | IS_NON_DELEGATED | IS_CAPTURE_PHASE;\n\n// This exists to avoid circular dependency between ReactDOMEventReplaying\n// and DOMPluginEventSystem.\nvar currentReplayingEvent = null;\nfunction setReplayingEvent(event) {\n {\n if (currentReplayingEvent !== null) {\n error('Expected currently replaying event to be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = event;\n}\nfunction resetReplayingEvent() {\n {\n if (currentReplayingEvent === null) {\n error('Expected currently replaying event to not be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = null;\n}\nfunction isReplayingEvent(event) {\n return event === currentReplayingEvent;\n}\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n // Fallback to nativeEvent.srcElement for IE9\n // https://github.com/facebook/react/issues/12506\n var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963\n\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n\n\n return target.nodeType === TEXT_NODE ? target.parentNode : target;\n}\n\nvar restoreImpl = null;\nvar restoreTarget = null;\nvar restoreQueue = null;\n\nfunction restoreStateOfTarget(target) {\n // We perform this translation at the end of the event loop so that we\n // always receive the correct fiber here\n var internalInstance = getInstanceFromNode(target);\n\n if (!internalInstance) {\n // Unmounted\n return;\n }\n\n if (typeof restoreImpl !== 'function') {\n throw new Error('setRestoreImplementation() needs to be called to handle a target for controlled ' + 'events. This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted.\n\n if (stateNode) {\n var _props = getFiberCurrentPropsFromNode(stateNode);\n\n restoreImpl(internalInstance.stateNode, internalInstance.type, _props);\n }\n}\n\nfunction setRestoreImplementation(impl) {\n restoreImpl = impl;\n}\nfunction enqueueStateRestore(target) {\n if (restoreTarget) {\n if (restoreQueue) {\n restoreQueue.push(target);\n } else {\n restoreQueue = [target];\n }\n } else {\n restoreTarget = target;\n }\n}\nfunction needsStateRestore() {\n return restoreTarget !== null || restoreQueue !== null;\n}\nfunction restoreStateIfNeeded() {\n if (!restoreTarget) {\n return;\n }\n\n var target = restoreTarget;\n var queuedTargets = restoreQueue;\n restoreTarget = null;\n restoreQueue = null;\n restoreStateOfTarget(target);\n\n if (queuedTargets) {\n for (var i = 0; i < queuedTargets.length; i++) {\n restoreStateOfTarget(queuedTargets[i]);\n }\n }\n}\n\n// the renderer. Such as when we're dispatching events or if third party\n// libraries need to call batchedUpdates. Eventually, this API will go away when\n// everything is batched by default. We'll then have a similar API to opt-out of\n// scheduled work and instead do synchronous work.\n// Defaults\n\nvar batchedUpdatesImpl = function (fn, bookkeeping) {\n return fn(bookkeeping);\n};\n\nvar flushSyncImpl = function () {};\n\nvar isInsideEventHandler = false;\n\nfunction finishEventHandler() {\n // Here we wait until all updates have propagated, which is important\n // when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n // Then we restore state of any controlled component.\n var controlledComponentsHavePendingUpdates = needsStateRestore();\n\n if (controlledComponentsHavePendingUpdates) {\n // If a controlled event was fired, we may need to restore the state of\n // the DOM node back to the controlled value. This is necessary when React\n // bails out of the update without touching the DOM.\n // TODO: Restore state in the microtask, after the discrete updates flush,\n // instead of early flushing them here.\n flushSyncImpl();\n restoreStateIfNeeded();\n }\n}\n\nfunction batchedUpdates(fn, a, b) {\n if (isInsideEventHandler) {\n // If we are currently inside another batch, we need to wait until it\n // fully completes before restoring state.\n return fn(a, b);\n }\n\n isInsideEventHandler = true;\n\n try {\n return batchedUpdatesImpl(fn, a, b);\n } finally {\n isInsideEventHandler = false;\n finishEventHandler();\n }\n} // TODO: Replace with flushSync\nfunction setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushSyncImpl) {\n batchedUpdatesImpl = _batchedUpdatesImpl;\n flushSyncImpl = _flushSyncImpl;\n}\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nfunction shouldPreventMouseEvent(name, type, props) {\n switch (name) {\n case 'onClick':\n case 'onClickCapture':\n case 'onDoubleClick':\n case 'onDoubleClickCapture':\n case 'onMouseDown':\n case 'onMouseDownCapture':\n case 'onMouseMove':\n case 'onMouseMoveCapture':\n case 'onMouseUp':\n case 'onMouseUpCapture':\n case 'onMouseEnter':\n return !!(props.disabled && isInteractive(type));\n\n default:\n return false;\n }\n}\n/**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n\n\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n\n if (stateNode === null) {\n // Work in progress (ex: onload events in incremental mode).\n return null;\n }\n\n var props = getFiberCurrentPropsFromNode(stateNode);\n\n if (props === null) {\n // Work in progress.\n return null;\n }\n\n var listener = props[registrationName];\n\n if (shouldPreventMouseEvent(registrationName, inst.type, props)) {\n return null;\n }\n\n if (listener && typeof listener !== 'function') {\n throw new Error(\"Expected `\" + registrationName + \"` listener to be a function, instead got a value of `\" + typeof listener + \"` type.\");\n }\n\n return listener;\n}\n\nvar passiveBrowserEventsSupported = false; // Check if browser support events with passive listeners\n// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n\nif (canUseDOM) {\n try {\n var options = {}; // $FlowFixMe: Ignore Flow complaining about needing a value\n\n Object.defineProperty(options, 'passive', {\n get: function () {\n passiveBrowserEventsSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (e) {\n passiveBrowserEventsSupported = false;\n }\n}\n\nfunction invokeGuardedCallbackProd(name, func, context, a, b, c, d, e, f) {\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n try {\n func.apply(context, funcArgs);\n } catch (error) {\n this.onError(error);\n }\n}\n\nvar invokeGuardedCallbackImpl = invokeGuardedCallbackProd;\n\n{\n // In DEV mode, we swap out invokeGuardedCallback for a special version\n // that plays more nicely with the browser's DevTools. The idea is to preserve\n // \"Pause on exceptions\" behavior. Because React wraps all user-provided\n // functions in invokeGuardedCallback, and the production version of\n // invokeGuardedCallback uses a try-catch, all user exceptions are treated\n // like caught exceptions, and the DevTools won't pause unless the developer\n // takes the extra step of enabling pause on caught exceptions. This is\n // unintuitive, though, because even though React has caught the error, from\n // the developer's perspective, the error is uncaught.\n //\n // To preserve the expected \"Pause on exceptions\" behavior, we don't use a\n // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake\n // DOM node, and call the user-provided callback from inside an event handler\n // for that fake event. If the callback throws, the error is \"captured\" using\n // a global event handler. But because the error happens in a different\n // event loop context, it does not interrupt the normal program flow.\n // Effectively, this gives us try-catch behavior without actually using\n // try-catch. Neat!\n // Check that the browser supports the APIs we need to implement our special\n // DEV version of invokeGuardedCallback\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n var fakeNode = document.createElement('react');\n\n invokeGuardedCallbackImpl = function invokeGuardedCallbackDev(name, func, context, a, b, c, d, e, f) {\n // If document doesn't exist we know for sure we will crash in this method\n // when we call document.createEvent(). However this can cause confusing\n // errors: https://github.com/facebook/create-react-app/issues/3482\n // So we preemptively throw with a better message instead.\n if (typeof document === 'undefined' || document === null) {\n throw new Error('The `document` global was defined when React was initialized, but is not ' + 'defined anymore. This can happen in a test environment if a component ' + 'schedules an update from an asynchronous callback, but the test has already ' + 'finished running. To solve this, you can either unmount the component at ' + 'the end of your test (and ensure that any asynchronous operations get ' + 'canceled in `componentWillUnmount`), or you can change the test itself ' + 'to be asynchronous.');\n }\n\n var evt = document.createEvent('Event');\n var didCall = false; // Keeps track of whether the user-provided callback threw an error. We\n // set this to true at the beginning, then set it to false right after\n // calling the function. If the function errors, `didError` will never be\n // set to false. This strategy works even if the browser is flaky and\n // fails to call our global error handler, because it doesn't rely on\n // the error event at all.\n\n var didError = true; // Keeps track of the value of window.event so that we can reset it\n // during the callback to let user code access window.event in the\n // browsers that support it.\n\n var windowEvent = window.event; // Keeps track of the descriptor of window.event to restore it after event\n // dispatching: https://github.com/facebook/react/issues/13688\n\n var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event');\n\n function restoreAfterDispatch() {\n // We immediately remove the callback from event listeners so that\n // nested `invokeGuardedCallback` calls do not clash. Otherwise, a\n // nested call would trigger the fake event handlers of any call higher\n // in the stack.\n fakeNode.removeEventListener(evtType, callCallback, false); // We check for window.hasOwnProperty('event') to prevent the\n // window.event assignment in both IE <= 10 as they throw an error\n // \"Member not found\" in strict mode, and in Firefox which does not\n // support window.event.\n\n if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) {\n window.event = windowEvent;\n }\n } // Create an event handler for our fake event. We will synchronously\n // dispatch our fake event using `dispatchEvent`. Inside the handler, we\n // call the user-provided callback.\n\n\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n function callCallback() {\n didCall = true;\n restoreAfterDispatch();\n func.apply(context, funcArgs);\n didError = false;\n } // Create a global error event handler. We use this to capture the value\n // that was thrown. It's possible that this error handler will fire more\n // than once; for example, if non-React code also calls `dispatchEvent`\n // and a handler for that event throws. We should be resilient to most of\n // those cases. Even if our error event handler fires more than once, the\n // last error event is always used. If the callback actually does error,\n // we know that the last error event is the correct one, because it's not\n // possible for anything else to have happened in between our callback\n // erroring and the code that follows the `dispatchEvent` call below. If\n // the callback doesn't error, but the error event was fired, we know to\n // ignore it because `didError` will be false, as described above.\n\n\n var error; // Use this to track whether the error event is ever called.\n\n var didSetError = false;\n var isCrossOriginError = false;\n\n function handleWindowError(event) {\n error = event.error;\n didSetError = true;\n\n if (error === null && event.colno === 0 && event.lineno === 0) {\n isCrossOriginError = true;\n }\n\n if (event.defaultPrevented) {\n // Some other error handler has prevented default.\n // Browsers silence the error report if this happens.\n // We'll remember this to later decide whether to log it or not.\n if (error != null && typeof error === 'object') {\n try {\n error._suppressLogging = true;\n } catch (inner) {// Ignore.\n }\n }\n }\n } // Create a fake event type.\n\n\n var evtType = \"react-\" + (name ? name : 'invokeguardedcallback'); // Attach our event handlers\n\n window.addEventListener('error', handleWindowError);\n fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function\n // errors, it will trigger our global error handler.\n\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n\n if (windowEventDescriptor) {\n Object.defineProperty(window, 'event', windowEventDescriptor);\n }\n\n if (didCall && didError) {\n if (!didSetError) {\n // The callback errored, but the error event never fired.\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error('An error was thrown inside one of your components, but React ' + \"doesn't know what it was. This is likely due to browser \" + 'flakiness. React does its best to preserve the \"Pause on ' + 'exceptions\" behavior of the DevTools, which requires some ' + \"DEV-mode only tricks. It's possible that these don't work in \" + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.');\n } else if (isCrossOriginError) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(\"A cross-origin error was thrown. React doesn't have access to \" + 'the actual error object in development. ' + 'See https://reactjs.org/link/crossorigin-error for more information.');\n }\n\n this.onError(error);\n } // Remove our event listeners\n\n\n window.removeEventListener('error', handleWindowError);\n\n if (!didCall) {\n // Something went really wrong, and our event was not dispatched.\n // https://github.com/facebook/react/issues/16734\n // https://github.com/facebook/react/issues/16585\n // Fall back to the production implementation.\n restoreAfterDispatch();\n return invokeGuardedCallbackProd.apply(this, arguments);\n }\n };\n }\n}\n\nvar invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl;\n\nvar hasError = false;\nvar caughtError = null; // Used by event system to capture/rethrow the first error.\n\nvar hasRethrowError = false;\nvar rethrowError = null;\nvar reporter = {\n onError: function (error) {\n hasError = true;\n caughtError = error;\n }\n};\n/**\n * Call a function while guarding against errors that happens within it.\n * Returns an error if it throws, otherwise null.\n *\n * In production, this is implemented using a try-catch. The reason we don't\n * use a try-catch directly is so that we can swap out a different\n * implementation in DEV mode.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {\n hasError = false;\n caughtError = null;\n invokeGuardedCallbackImpl$1.apply(reporter, arguments);\n}\n/**\n * Same as invokeGuardedCallback, but instead of returning an error, it stores\n * it in a global so it can be rethrown by `rethrowCaughtError` later.\n * TODO: See if caughtError and rethrowError can be unified.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {\n invokeGuardedCallback.apply(this, arguments);\n\n if (hasError) {\n var error = clearCaughtError();\n\n if (!hasRethrowError) {\n hasRethrowError = true;\n rethrowError = error;\n }\n }\n}\n/**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n\nfunction rethrowCaughtError() {\n if (hasRethrowError) {\n var error = rethrowError;\n hasRethrowError = false;\n rethrowError = null;\n throw error;\n }\n}\nfunction hasCaughtError() {\n return hasError;\n}\nfunction clearCaughtError() {\n if (hasError) {\n var error = caughtError;\n hasError = false;\n caughtError = null;\n return error;\n } else {\n throw new Error('clearCaughtError was called but no error was captured. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n}\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n *\n * Note that this module is currently shared and assumed to be stateless.\n * If this becomes an actual Map, that will break.\n */\nfunction get(key) {\n return key._reactInternals;\n}\nfunction has(key) {\n return key._reactInternals !== undefined;\n}\nfunction set(key, value) {\n key._reactInternals = value;\n}\n\n// Don't change these two values. They're used by React Dev Tools.\nvar NoFlags =\n/* */\n0;\nvar PerformedWork =\n/* */\n1; // You can change the rest (and add more).\n\nvar Placement =\n/* */\n2;\nvar Update =\n/* */\n4;\nvar ChildDeletion =\n/* */\n16;\nvar ContentReset =\n/* */\n32;\nvar Callback =\n/* */\n64;\nvar DidCapture =\n/* */\n128;\nvar ForceClientRender =\n/* */\n256;\nvar Ref =\n/* */\n512;\nvar Snapshot =\n/* */\n1024;\nvar Passive =\n/* */\n2048;\nvar Hydrating =\n/* */\n4096;\nvar Visibility =\n/* */\n8192;\nvar StoreConsistency =\n/* */\n16384;\nvar LifecycleEffectMask = Passive | Update | Callback | Ref | Snapshot | StoreConsistency; // Union of all commit flags (flags with the lifetime of a particular commit)\n\nvar HostEffectMask =\n/* */\n32767; // These are not really side effects, but we still reuse this field.\n\nvar Incomplete =\n/* */\n32768;\nvar ShouldCapture =\n/* */\n65536;\nvar ForceUpdateForLegacySuspense =\n/* */\n131072;\nvar Forked =\n/* */\n1048576; // Static tags describe aspects of a fiber that are not specific to a render,\n// e.g. a fiber uses a passive effect (even if there are no updates on this particular render).\n// This enables us to defer more work in the unmount case,\n// since we can defer traversing the tree during layout to look for Passive effects,\n// and instead rely on the static flag as a signal that there may be cleanup work.\n\nvar RefStatic =\n/* */\n2097152;\nvar LayoutStatic =\n/* */\n4194304;\nvar PassiveStatic =\n/* */\n8388608; // These flags allow us to traverse to fibers that have effects on mount\n// without traversing the entire tree after every commit for\n// double invoking\n\nvar MountLayoutDev =\n/* */\n16777216;\nvar MountPassiveDev =\n/* */\n33554432; // Groups of flags that are used in the commit phase to skip over trees that\n// don't contain effects, by checking subtreeFlags.\n\nvar BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visibility\n// flag logic (see #20043)\nUpdate | Snapshot | ( 0);\nvar MutationMask = Placement | Update | ChildDeletion | ContentReset | Ref | Hydrating | Visibility;\nvar LayoutMask = Update | Callback | Ref | Visibility; // TODO: Split into PassiveMountMask and PassiveUnmountMask\n\nvar PassiveMask = Passive | ChildDeletion; // Union of tags that don't get reset on clones.\n// This allows certain concepts to persist without recalculating them,\n// e.g. whether a subtree contains passive effects or portals.\n\nvar StaticMask = LayoutStatic | PassiveStatic | RefStatic;\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nfunction getNearestMountedFiber(fiber) {\n var node = fiber;\n var nearestMounted = fiber;\n\n if (!fiber.alternate) {\n // If there is no alternate, this might be a new tree that isn't inserted\n // yet. If it is, then it will have a pending insertion effect on it.\n var nextNode = node;\n\n do {\n node = nextNode;\n\n if ((node.flags & (Placement | Hydrating)) !== NoFlags) {\n // This is an insertion or in-progress hydration. The nearest possible\n // mounted fiber is the parent but we need to continue to figure out\n // if that one is still mounted.\n nearestMounted = node.return;\n }\n\n nextNode = node.return;\n } while (nextNode);\n } else {\n while (node.return) {\n node = node.return;\n }\n }\n\n if (node.tag === HostRoot) {\n // TODO: Check if this was a nested HostRoot when used with\n // renderContainerIntoSubtree.\n return nearestMounted;\n } // If we didn't hit the root, that means that we're in an disconnected tree\n // that has been unmounted.\n\n\n return null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (fiber.tag === SuspenseComponent) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState === null) {\n var current = fiber.alternate;\n\n if (current !== null) {\n suspenseState = current.memoizedState;\n }\n }\n\n if (suspenseState !== null) {\n return suspenseState.dehydrated;\n }\n }\n\n return null;\n}\nfunction getContainerFromFiber(fiber) {\n return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null;\n}\nfunction isFiberMounted(fiber) {\n return getNearestMountedFiber(fiber) === fiber;\n}\nfunction isMounted(component) {\n {\n var owner = ReactCurrentOwner.current;\n\n if (owner !== null && owner.tag === ClassComponent) {\n var ownerFiber = owner;\n var instance = ownerFiber.stateNode;\n\n if (!instance._warnedAboutRefsInRender) {\n error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromFiber(ownerFiber) || 'A component');\n }\n\n instance._warnedAboutRefsInRender = true;\n }\n }\n\n var fiber = get(component);\n\n if (!fiber) {\n return false;\n }\n\n return getNearestMountedFiber(fiber) === fiber;\n}\n\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n}\n\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n\n if (!alternate) {\n // If there is no alternate, then we only need to check if it is mounted.\n var nearestMounted = getNearestMountedFiber(fiber);\n\n if (nearestMounted === null) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (nearestMounted !== fiber) {\n return null;\n }\n\n return fiber;\n } // If we have two possible branches, we'll walk backwards up to the root\n // to see what path the root points to. On the way we may hit one of the\n // special cases and we'll deal with them.\n\n\n var a = fiber;\n var b = alternate;\n\n while (true) {\n var parentA = a.return;\n\n if (parentA === null) {\n // We're at the root.\n break;\n }\n\n var parentB = parentA.alternate;\n\n if (parentB === null) {\n // There is no alternate. This is an unusual case. Currently, it only\n // happens when a Suspense component is hidden. An extra fragment fiber\n // is inserted in between the Suspense fiber and its children. Skip\n // over this extra fragment fiber and proceed to the next parent.\n var nextParent = parentA.return;\n\n if (nextParent !== null) {\n a = b = nextParent;\n continue;\n } // If there's no parent, we're at the root.\n\n\n break;\n } // If both copies of the parent fiber point to the same child, we can\n // assume that the child is current. This happens when we bailout on low\n // priority: the bailed out fiber's child reuses the current child.\n\n\n if (parentA.child === parentB.child) {\n var child = parentA.child;\n\n while (child) {\n if (child === a) {\n // We've determined that A is the current branch.\n assertIsMounted(parentA);\n return fiber;\n }\n\n if (child === b) {\n // We've determined that B is the current branch.\n assertIsMounted(parentA);\n return alternate;\n }\n\n child = child.sibling;\n } // We should never have an alternate for any mounting node. So the only\n // way this could possibly happen is if this was unmounted, if at all.\n\n\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.return !== b.return) {\n // The return pointer of A and the return pointer of B point to different\n // fibers. We assume that return pointers never criss-cross, so A must\n // belong to the child set of A.return, and B must belong to the child\n // set of B.return.\n a = parentA;\n b = parentB;\n } else {\n // The return pointers point to the same fiber. We'll have to use the\n // default, slow path: scan the child sets of each parent alternate to see\n // which child belongs to which set.\n //\n // Search parent A's child set\n var didFindChild = false;\n var _child = parentA.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentA;\n b = parentB;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentA;\n a = parentB;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n // Search parent B's child set\n _child = parentB.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentB;\n b = parentA;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentB;\n a = parentA;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n throw new Error('Child was not found in either parent set. This indicates a bug ' + 'in React related to the return pointer. Please file an issue.');\n }\n }\n }\n\n if (a.alternate !== b) {\n throw new Error(\"Return fibers should always be each others' alternates. \" + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n } // If the root is not a host container, we're in a disconnected tree. I.e.\n // unmounted.\n\n\n if (a.tag !== HostRoot) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.stateNode.current === a) {\n // We've determined that A is the current branch.\n return fiber;\n } // Otherwise B has to be current branch.\n\n\n return alternate;\n}\nfunction findCurrentHostFiber(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n var match = findCurrentHostFiberImpl(child);\n\n if (match !== null) {\n return match;\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\nfunction findCurrentHostFiberWithNoPortals(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberWithNoPortalsImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberWithNoPortalsImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n if (child.tag !== HostPortal) {\n var match = findCurrentHostFiberWithNoPortalsImpl(child);\n\n if (match !== null) {\n return match;\n }\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\n// This module only exists as an ESM wrapper around the external CommonJS\nvar scheduleCallback = Scheduler.unstable_scheduleCallback;\nvar cancelCallback = Scheduler.unstable_cancelCallback;\nvar shouldYield = Scheduler.unstable_shouldYield;\nvar requestPaint = Scheduler.unstable_requestPaint;\nvar now = Scheduler.unstable_now;\nvar getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel;\nvar ImmediatePriority = Scheduler.unstable_ImmediatePriority;\nvar UserBlockingPriority = Scheduler.unstable_UserBlockingPriority;\nvar NormalPriority = Scheduler.unstable_NormalPriority;\nvar LowPriority = Scheduler.unstable_LowPriority;\nvar IdlePriority = Scheduler.unstable_IdlePriority;\n// this doesn't actually exist on the scheduler, but it *does*\n// on scheduler/unstable_mock, which we'll need for internal testing\nvar unstable_yieldValue = Scheduler.unstable_yieldValue;\nvar unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue;\n\nvar rendererID = null;\nvar injectedHook = null;\nvar injectedProfilingHooks = null;\nvar hasLoggedError = false;\nvar isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined';\nfunction injectInternals(internals) {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // No DevTools\n return false;\n }\n\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // https://github.com/facebook/react/issues/3877\n return true;\n }\n\n if (!hook.supportsFiber) {\n {\n error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://reactjs.org/link/react-devtools');\n } // DevTools exists, even though it doesn't support Fiber.\n\n\n return true;\n }\n\n try {\n if (enableSchedulingProfiler) {\n // Conditionally inject these hooks only if Timeline profiler is supported by this build.\n // This gives DevTools a way to feature detect that isn't tied to version number\n // (since profiling and timeline are controlled by different feature flags).\n internals = assign({}, internals, {\n getLaneLabelMap: getLaneLabelMap,\n injectProfilingHooks: injectProfilingHooks\n });\n }\n\n rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks.\n\n injectedHook = hook;\n } catch (err) {\n // Catch all errors because it is unsafe to throw during initialization.\n {\n error('React instrumentation encountered an error: %s.', err);\n }\n }\n\n if (hook.checkDCE) {\n // This is the real DevTools.\n return true;\n } else {\n // This is likely a hook installed by Fast Refresh runtime.\n return false;\n }\n}\nfunction onScheduleRoot(root, children) {\n {\n if (injectedHook && typeof injectedHook.onScheduleFiberRoot === 'function') {\n try {\n injectedHook.onScheduleFiberRoot(rendererID, root, children);\n } catch (err) {\n if ( !hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitRoot(root, eventPriority) {\n if (injectedHook && typeof injectedHook.onCommitFiberRoot === 'function') {\n try {\n var didError = (root.current.flags & DidCapture) === DidCapture;\n\n if (enableProfilerTimer) {\n var schedulerPriority;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n schedulerPriority = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriority = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriority = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriority = IdlePriority;\n break;\n\n default:\n schedulerPriority = NormalPriority;\n break;\n }\n\n injectedHook.onCommitFiberRoot(rendererID, root, schedulerPriority, didError);\n } else {\n injectedHook.onCommitFiberRoot(rendererID, root, undefined, didError);\n }\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onPostCommitRoot(root) {\n if (injectedHook && typeof injectedHook.onPostCommitFiberRoot === 'function') {\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitUnmount(fiber) {\n if (injectedHook && typeof injectedHook.onCommitFiberUnmount === 'function') {\n try {\n injectedHook.onCommitFiberUnmount(rendererID, fiber);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n {\n if (typeof unstable_yieldValue === 'function') {\n // We're in a test because Scheduler.unstable_yieldValue only exists\n // in SchedulerMock. To reduce the noise in strict mode tests,\n // suppress warnings and disable scheduler yielding during the double render\n unstable_setDisableYieldValue(newIsStrictMode);\n setSuppressWarning(newIsStrictMode);\n }\n\n if (injectedHook && typeof injectedHook.setStrictMode === 'function') {\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n }\n} // Profiler API hooks\n\nfunction injectProfilingHooks(profilingHooks) {\n injectedProfilingHooks = profilingHooks;\n}\n\nfunction getLaneLabelMap() {\n {\n var map = new Map();\n var lane = 1;\n\n for (var index = 0; index < TotalLanes; index++) {\n var label = getLabelForLane(lane);\n map.set(lane, label);\n lane *= 2;\n }\n\n return map;\n }\n}\n\nfunction markCommitStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStarted === 'function') {\n injectedProfilingHooks.markCommitStarted(lanes);\n }\n }\n}\nfunction markCommitStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStopped === 'function') {\n injectedProfilingHooks.markCommitStopped();\n }\n }\n}\nfunction markComponentRenderStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStarted === 'function') {\n injectedProfilingHooks.markComponentRenderStarted(fiber);\n }\n }\n}\nfunction markComponentRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStopped === 'function') {\n injectedProfilingHooks.markComponentRenderStopped();\n }\n }\n}\nfunction markComponentPassiveEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStopped();\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStopped();\n }\n }\n}\nfunction markComponentErrored(fiber, thrownValue, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentErrored === 'function') {\n injectedProfilingHooks.markComponentErrored(fiber, thrownValue, lanes);\n }\n }\n}\nfunction markComponentSuspended(fiber, wakeable, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentSuspended === 'function') {\n injectedProfilingHooks.markComponentSuspended(fiber, wakeable, lanes);\n }\n }\n}\nfunction markLayoutEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStarted === 'function') {\n injectedProfilingHooks.markLayoutEffectsStarted(lanes);\n }\n }\n}\nfunction markLayoutEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStopped === 'function') {\n injectedProfilingHooks.markLayoutEffectsStopped();\n }\n }\n}\nfunction markPassiveEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStarted === 'function') {\n injectedProfilingHooks.markPassiveEffectsStarted(lanes);\n }\n }\n}\nfunction markPassiveEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStopped === 'function') {\n injectedProfilingHooks.markPassiveEffectsStopped();\n }\n }\n}\nfunction markRenderStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStarted === 'function') {\n injectedProfilingHooks.markRenderStarted(lanes);\n }\n }\n}\nfunction markRenderYielded() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderYielded === 'function') {\n injectedProfilingHooks.markRenderYielded();\n }\n }\n}\nfunction markRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStopped === 'function') {\n injectedProfilingHooks.markRenderStopped();\n }\n }\n}\nfunction markRenderScheduled(lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderScheduled === 'function') {\n injectedProfilingHooks.markRenderScheduled(lane);\n }\n }\n}\nfunction markForceUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markForceUpdateScheduled === 'function') {\n injectedProfilingHooks.markForceUpdateScheduled(fiber, lane);\n }\n }\n}\nfunction markStateUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markStateUpdateScheduled === 'function') {\n injectedProfilingHooks.markStateUpdateScheduled(fiber, lane);\n }\n }\n}\n\nvar NoMode =\n/* */\n0; // TODO: Remove ConcurrentMode by reading from the root tag instead\n\nvar ConcurrentMode =\n/* */\n1;\nvar ProfileMode =\n/* */\n2;\nvar StrictLegacyMode =\n/* */\n8;\nvar StrictEffectsMode =\n/* */\n16;\n\n// TODO: This is pretty well supported by browsers. Maybe we can drop it.\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback; // Count leading zeros.\n// Based on:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nfunction clz32Fallback(x) {\n var asUint = x >>> 0;\n\n if (asUint === 0) {\n return 32;\n }\n\n return 31 - (log(asUint) / LN2 | 0) | 0;\n}\n\n// If those values are changed that package should be rebuilt and redeployed.\n\nvar TotalLanes = 31;\nvar NoLanes =\n/* */\n0;\nvar NoLane =\n/* */\n0;\nvar SyncLane =\n/* */\n1;\nvar InputContinuousHydrationLane =\n/* */\n2;\nvar InputContinuousLane =\n/* */\n4;\nvar DefaultHydrationLane =\n/* */\n8;\nvar DefaultLane =\n/* */\n16;\nvar TransitionHydrationLane =\n/* */\n32;\nvar TransitionLanes =\n/* */\n4194240;\nvar TransitionLane1 =\n/* */\n64;\nvar TransitionLane2 =\n/* */\n128;\nvar TransitionLane3 =\n/* */\n256;\nvar TransitionLane4 =\n/* */\n512;\nvar TransitionLane5 =\n/* */\n1024;\nvar TransitionLane6 =\n/* */\n2048;\nvar TransitionLane7 =\n/* */\n4096;\nvar TransitionLane8 =\n/* */\n8192;\nvar TransitionLane9 =\n/* */\n16384;\nvar TransitionLane10 =\n/* */\n32768;\nvar TransitionLane11 =\n/* */\n65536;\nvar TransitionLane12 =\n/* */\n131072;\nvar TransitionLane13 =\n/* */\n262144;\nvar TransitionLane14 =\n/* */\n524288;\nvar TransitionLane15 =\n/* */\n1048576;\nvar TransitionLane16 =\n/* */\n2097152;\nvar RetryLanes =\n/* */\n130023424;\nvar RetryLane1 =\n/* */\n4194304;\nvar RetryLane2 =\n/* */\n8388608;\nvar RetryLane3 =\n/* */\n16777216;\nvar RetryLane4 =\n/* */\n33554432;\nvar RetryLane5 =\n/* */\n67108864;\nvar SomeRetryLane = RetryLane1;\nvar SelectiveHydrationLane =\n/* */\n134217728;\nvar NonIdleLanes =\n/* */\n268435455;\nvar IdleHydrationLane =\n/* */\n268435456;\nvar IdleLane =\n/* */\n536870912;\nvar OffscreenLane =\n/* */\n1073741824; // This function is used for the experimental timeline (react-devtools-timeline)\n// It should be kept in sync with the Lanes values above.\n\nfunction getLabelForLane(lane) {\n {\n if (lane & SyncLane) {\n return 'Sync';\n }\n\n if (lane & InputContinuousHydrationLane) {\n return 'InputContinuousHydration';\n }\n\n if (lane & InputContinuousLane) {\n return 'InputContinuous';\n }\n\n if (lane & DefaultHydrationLane) {\n return 'DefaultHydration';\n }\n\n if (lane & DefaultLane) {\n return 'Default';\n }\n\n if (lane & TransitionHydrationLane) {\n return 'TransitionHydration';\n }\n\n if (lane & TransitionLanes) {\n return 'Transition';\n }\n\n if (lane & RetryLanes) {\n return 'Retry';\n }\n\n if (lane & SelectiveHydrationLane) {\n return 'SelectiveHydration';\n }\n\n if (lane & IdleHydrationLane) {\n return 'IdleHydration';\n }\n\n if (lane & IdleLane) {\n return 'Idle';\n }\n\n if (lane & OffscreenLane) {\n return 'Offscreen';\n }\n }\n}\nvar NoTimestamp = -1;\nvar nextTransitionLane = TransitionLane1;\nvar nextRetryLane = RetryLane1;\n\nfunction getHighestPriorityLanes(lanes) {\n switch (getHighestPriorityLane(lanes)) {\n case SyncLane:\n return SyncLane;\n\n case InputContinuousHydrationLane:\n return InputContinuousHydrationLane;\n\n case InputContinuousLane:\n return InputContinuousLane;\n\n case DefaultHydrationLane:\n return DefaultHydrationLane;\n\n case DefaultLane:\n return DefaultLane;\n\n case TransitionHydrationLane:\n return TransitionHydrationLane;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return lanes & TransitionLanes;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n return lanes & RetryLanes;\n\n case SelectiveHydrationLane:\n return SelectiveHydrationLane;\n\n case IdleHydrationLane:\n return IdleHydrationLane;\n\n case IdleLane:\n return IdleLane;\n\n case OffscreenLane:\n return OffscreenLane;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n } // This shouldn't be reachable, but as a fallback, return the entire bitmask.\n\n\n return lanes;\n }\n}\n\nfunction getNextLanes(root, wipLanes) {\n // Early bailout if there's no pending work left.\n var pendingLanes = root.pendingLanes;\n\n if (pendingLanes === NoLanes) {\n return NoLanes;\n }\n\n var nextLanes = NoLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes; // Do not work on any idle work until all the non-idle work has finished,\n // even if the work is suspended.\n\n var nonIdlePendingLanes = pendingLanes & NonIdleLanes;\n\n if (nonIdlePendingLanes !== NoLanes) {\n var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes;\n\n if (nonIdleUnblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes);\n } else {\n var nonIdlePingedLanes = nonIdlePendingLanes & pingedLanes;\n\n if (nonIdlePingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdlePingedLanes);\n }\n }\n } else {\n // The only remaining work is Idle.\n var unblockedLanes = pendingLanes & ~suspendedLanes;\n\n if (unblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(unblockedLanes);\n } else {\n if (pingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(pingedLanes);\n }\n }\n }\n\n if (nextLanes === NoLanes) {\n // This should only be reachable if we're suspended\n // TODO: Consider warning in this path if a fallback timer is not scheduled.\n return NoLanes;\n } // If we're already in the middle of a render, switching lanes will interrupt\n // it and we'll lose our progress. We should only do this if the new lanes are\n // higher priority.\n\n\n if (wipLanes !== NoLanes && wipLanes !== nextLanes && // If we already suspended with a delay, then interrupting is fine. Don't\n // bother waiting until the root is complete.\n (wipLanes & suspendedLanes) === NoLanes) {\n var nextLane = getHighestPriorityLane(nextLanes);\n var wipLane = getHighestPriorityLane(wipLanes);\n\n if ( // Tests whether the next lane is equal or lower priority than the wip\n // one. This works because the bits decrease in priority as you go left.\n nextLane >= wipLane || // Default priority updates should not interrupt transition updates. The\n // only difference between default updates and transition updates is that\n // default updates do not support refresh transitions.\n nextLane === DefaultLane && (wipLane & TransitionLanes) !== NoLanes) {\n // Keep working on the existing in-progress tree. Do not interrupt.\n return wipLanes;\n }\n }\n\n if ((nextLanes & InputContinuousLane) !== NoLanes) {\n // When updates are sync by default, we entangle continuous priority updates\n // and default updates, so they render in the same batch. The only reason\n // they use separate lanes is because continuous updates should interrupt\n // transitions, but default updates should not.\n nextLanes |= pendingLanes & DefaultLane;\n } // Check for entangled lanes and add them to the batch.\n //\n // A lane is said to be entangled with another when it's not allowed to render\n // in a batch that does not also include the other lane. Typically we do this\n // when multiple updates have the same source, and we only want to respond to\n // the most recent event from that source.\n //\n // Note that we apply entanglements *after* checking for partial work above.\n // This means that if a lane is entangled during an interleaved event while\n // it's already rendering, we won't interrupt it. This is intentional, since\n // entanglement is usually \"best effort\": we'll try our best to render the\n // lanes in the same batch, but it's not worth throwing out partially\n // completed work in order to do it.\n // TODO: Reconsider this. The counter-argument is that the partial work\n // represents an intermediate state, which we don't want to show to the user.\n // And by spending extra time finishing it, we're increasing the amount of\n // time it takes to show the final state, which is what they are actually\n // waiting for.\n //\n // For those exceptions where entanglement is semantically important, like\n // useMutableSource, we should ensure that there is no partial work at the\n // time we apply the entanglement.\n\n\n var entangledLanes = root.entangledLanes;\n\n if (entangledLanes !== NoLanes) {\n var entanglements = root.entanglements;\n var lanes = nextLanes & entangledLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n nextLanes |= entanglements[index];\n lanes &= ~lane;\n }\n }\n\n return nextLanes;\n}\nfunction getMostRecentEventTime(root, lanes) {\n var eventTimes = root.eventTimes;\n var mostRecentEventTime = NoTimestamp;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var eventTime = eventTimes[index];\n\n if (eventTime > mostRecentEventTime) {\n mostRecentEventTime = eventTime;\n }\n\n lanes &= ~lane;\n }\n\n return mostRecentEventTime;\n}\n\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case SyncLane:\n case InputContinuousHydrationLane:\n case InputContinuousLane:\n // User interactions should expire slightly more quickly.\n //\n // NOTE: This is set to the corresponding constant as in Scheduler.js.\n // When we made it larger, a product metric in www regressed, suggesting\n // there's a user interaction that's being starved by a series of\n // synchronous updates. If that theory is correct, the proper solution is\n // to fix the starvation. However, this scenario supports the idea that\n // expiration times are an important safeguard when starvation\n // does happen.\n return currentTime + 250;\n\n case DefaultHydrationLane:\n case DefaultLane:\n case TransitionHydrationLane:\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return currentTime + 5000;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n // TODO: Retries should be allowed to expire if they are CPU bound for\n // too long, but when I made this change it caused a spike in browser\n // crashes. There must be some other underlying bug; not super urgent but\n // ideally should figure out why and fix it. Unfortunately we don't have\n // a repro for the crashes, only detected via production metrics.\n return NoTimestamp;\n\n case SelectiveHydrationLane:\n case IdleHydrationLane:\n case IdleLane:\n case OffscreenLane:\n // Anything idle priority or lower should never expire.\n return NoTimestamp;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n }\n\n return NoTimestamp;\n }\n}\n\nfunction markStarvedLanesAsExpired(root, currentTime) {\n // TODO: This gets called every time we yield. We can optimize by storing\n // the earliest expiration time on the root. Then use that to quickly bail out\n // of this function.\n var pendingLanes = root.pendingLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes;\n var expirationTimes = root.expirationTimes; // Iterate through the pending lanes and check if we've reached their\n // expiration time. If so, we'll assume the update is being starved and mark\n // it as expired to force it to finish.\n\n var lanes = pendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var expirationTime = expirationTimes[index];\n\n if (expirationTime === NoTimestamp) {\n // Found a pending lane with no expiration time. If it's not suspended, or\n // if it's pinged, assume it's CPU-bound. Compute a new expiration time\n // using the current time.\n if ((lane & suspendedLanes) === NoLanes || (lane & pingedLanes) !== NoLanes) {\n // Assumes timestamps are monotonically increasing.\n expirationTimes[index] = computeExpirationTime(lane, currentTime);\n }\n } else if (expirationTime <= currentTime) {\n // This lane expired\n root.expiredLanes |= lane;\n }\n\n lanes &= ~lane;\n }\n} // This returns the highest priority pending lanes regardless of whether they\n// are suspended.\n\nfunction getHighestPriorityPendingLanes(root) {\n return getHighestPriorityLanes(root.pendingLanes);\n}\nfunction getLanesToRetrySynchronouslyOnError(root) {\n var everythingButOffscreen = root.pendingLanes & ~OffscreenLane;\n\n if (everythingButOffscreen !== NoLanes) {\n return everythingButOffscreen;\n }\n\n if (everythingButOffscreen & OffscreenLane) {\n return OffscreenLane;\n }\n\n return NoLanes;\n}\nfunction includesSyncLane(lanes) {\n return (lanes & SyncLane) !== NoLanes;\n}\nfunction includesNonIdleWork(lanes) {\n return (lanes & NonIdleLanes) !== NoLanes;\n}\nfunction includesOnlyRetries(lanes) {\n return (lanes & RetryLanes) === lanes;\n}\nfunction includesOnlyNonUrgentLanes(lanes) {\n var UrgentLanes = SyncLane | InputContinuousLane | DefaultLane;\n return (lanes & UrgentLanes) === NoLanes;\n}\nfunction includesOnlyTransitions(lanes) {\n return (lanes & TransitionLanes) === lanes;\n}\nfunction includesBlockingLane(root, lanes) {\n\n var SyncDefaultLanes = InputContinuousHydrationLane | InputContinuousLane | DefaultHydrationLane | DefaultLane;\n return (lanes & SyncDefaultLanes) !== NoLanes;\n}\nfunction includesExpiredLane(root, lanes) {\n // This is a separate check from includesBlockingLane because a lane can\n // expire after a render has already started.\n return (lanes & root.expiredLanes) !== NoLanes;\n}\nfunction isTransitionLane(lane) {\n return (lane & TransitionLanes) !== NoLanes;\n}\nfunction claimNextTransitionLane() {\n // Cycle through the lanes, assigning each new transition to the next lane.\n // In most cases, this means every transition gets its own lane, until we\n // run out of lanes and cycle back to the beginning.\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n\n if ((nextTransitionLane & TransitionLanes) === NoLanes) {\n nextTransitionLane = TransitionLane1;\n }\n\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n\n if ((nextRetryLane & RetryLanes) === NoLanes) {\n nextRetryLane = RetryLane1;\n }\n\n return lane;\n}\nfunction getHighestPriorityLane(lanes) {\n return lanes & -lanes;\n}\nfunction pickArbitraryLane(lanes) {\n // This wrapper function gets inlined. Only exists so to communicate that it\n // doesn't matter which bit is selected; you can pick any bit without\n // affecting the algorithms where its used. Here I'm using\n // getHighestPriorityLane because it requires the fewest operations.\n return getHighestPriorityLane(lanes);\n}\n\nfunction pickArbitraryLaneIndex(lanes) {\n return 31 - clz32(lanes);\n}\n\nfunction laneToIndex(lane) {\n return pickArbitraryLaneIndex(lane);\n}\n\nfunction includesSomeLane(a, b) {\n return (a & b) !== NoLanes;\n}\nfunction isSubsetOfLanes(set, subset) {\n return (set & subset) === subset;\n}\nfunction mergeLanes(a, b) {\n return a | b;\n}\nfunction removeLanes(set, subset) {\n return set & ~subset;\n}\nfunction intersectLanes(a, b) {\n return a & b;\n} // Seems redundant, but it changes the type from a single lane (used for\n// updates) to a group of lanes (used for flushing work).\n\nfunction laneToLanes(lane) {\n return lane;\n}\nfunction higherPriorityLane(a, b) {\n // This works because the bit ranges decrease in priority as you go left.\n return a !== NoLane && a < b ? a : b;\n}\nfunction createLaneMap(initial) {\n // Intentionally pushing one by one.\n // https://v8.dev/blog/elements-kinds#avoid-creating-holes\n var laneMap = [];\n\n for (var i = 0; i < TotalLanes; i++) {\n laneMap.push(initial);\n }\n\n return laneMap;\n}\nfunction markRootUpdated(root, updateLane, eventTime) {\n root.pendingLanes |= updateLane; // If there are any suspended transitions, it's possible this new update\n // could unblock them. Clear the suspended lanes so that we can try rendering\n // them again.\n //\n // TODO: We really only need to unsuspend only lanes that are in the\n // `subtreeLanes` of the updated fiber, or the update lanes of the return\n // path. This would exclude suspended updates in an unrelated sibling tree,\n // since there's no way for this update to unblock it.\n //\n // We don't do this if the incoming update is idle, because we never process\n // idle updates until after all the regular updates have finished; there's no\n // way it could unblock a transition.\n\n if (updateLane !== IdleLane) {\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n }\n\n var eventTimes = root.eventTimes;\n var index = laneToIndex(updateLane); // We can always overwrite an existing timestamp because we prefer the most\n // recent event, and we assume time is monotonically increasing.\n\n eventTimes[index] = eventTime;\n}\nfunction markRootSuspended(root, suspendedLanes) {\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes; // The suspended lanes are no longer CPU-bound. Clear their expiration times.\n\n var expirationTimes = root.expirationTimes;\n var lanes = suspendedLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootPinged(root, pingedLanes, eventTime) {\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n}\nfunction markRootFinished(root, remainingLanes) {\n var noLongerPendingLanes = root.pendingLanes & ~remainingLanes;\n root.pendingLanes = remainingLanes; // Let's try everything again\n\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n root.expiredLanes &= remainingLanes;\n root.mutableReadLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n var entanglements = root.entanglements;\n var eventTimes = root.eventTimes;\n var expirationTimes = root.expirationTimes; // Clear the lanes that no longer have pending work\n\n var lanes = noLongerPendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n entanglements[index] = NoLanes;\n eventTimes[index] = NoTimestamp;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootEntangled(root, entangledLanes) {\n // In addition to entangling each of the given lanes with each other, we also\n // have to consider _transitive_ entanglements. For each lane that is already\n // entangled with *any* of the given lanes, that lane is now transitively\n // entangled with *all* the given lanes.\n //\n // Translated: If C is entangled with A, then entangling A with B also\n // entangles C with B.\n //\n // If this is hard to grasp, it might help to intentionally break this\n // function and look at the tests that fail in ReactTransition-test.js. Try\n // commenting out one of the conditions below.\n var rootEntangledLanes = root.entangledLanes |= entangledLanes;\n var entanglements = root.entanglements;\n var lanes = rootEntangledLanes;\n\n while (lanes) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n\n if ( // Is this one of the newly entangled lanes?\n lane & entangledLanes | // Is this lane transitively entangled with the newly entangled lanes?\n entanglements[index] & entangledLanes) {\n entanglements[index] |= entangledLanes;\n }\n\n lanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = getHighestPriorityLane(renderLanes);\n var lane;\n\n switch (renderLane) {\n case InputContinuousLane:\n lane = InputContinuousHydrationLane;\n break;\n\n case DefaultLane:\n lane = DefaultHydrationLane;\n break;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n lane = TransitionHydrationLane;\n break;\n\n case IdleLane:\n lane = IdleHydrationLane;\n break;\n\n default:\n // Everything else is already either a hydration lane, or shouldn't\n // be retried at a hydration lane.\n lane = NoLane;\n break;\n } // Check if the lane we chose is suspended. If so, that indicates that we\n // already attempted and failed to hydrate at that level. Also check if we're\n // already rendering that lane, which is rare but could happen.\n\n\n if ((lane & (root.suspendedLanes | renderLanes)) !== NoLane) {\n // Give up trying to hydrate and fall back to client render.\n return NoLane;\n }\n\n return lane;\n}\nfunction addFiberToLanesMap(root, fiber, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n updaters.add(fiber);\n lanes &= ~lane;\n }\n}\nfunction movePendingFibersToMemoized(root, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n var memoizedUpdaters = root.memoizedUpdaters;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n\n if (updaters.size > 0) {\n updaters.forEach(function (fiber) {\n var alternate = fiber.alternate;\n\n if (alternate === null || !memoizedUpdaters.has(alternate)) {\n memoizedUpdaters.add(fiber);\n }\n });\n updaters.clear();\n }\n\n lanes &= ~lane;\n }\n}\nfunction getTransitionsForLanes(root, lanes) {\n {\n return null;\n }\n}\n\nvar DiscreteEventPriority = SyncLane;\nvar ContinuousEventPriority = InputContinuousLane;\nvar DefaultEventPriority = DefaultLane;\nvar IdleEventPriority = IdleLane;\nvar currentUpdatePriority = NoLane;\nfunction getCurrentUpdatePriority() {\n return currentUpdatePriority;\n}\nfunction setCurrentUpdatePriority(newPriority) {\n currentUpdatePriority = newPriority;\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = currentUpdatePriority;\n\n try {\n currentUpdatePriority = priority;\n return fn();\n } finally {\n currentUpdatePriority = previousPriority;\n }\n}\nfunction higherEventPriority(a, b) {\n return a !== 0 && a < b ? a : b;\n}\nfunction lowerEventPriority(a, b) {\n return a === 0 || a > b ? a : b;\n}\nfunction isHigherEventPriority(a, b) {\n return a !== 0 && a < b;\n}\nfunction lanesToEventPriority(lanes) {\n var lane = getHighestPriorityLane(lanes);\n\n if (!isHigherEventPriority(DiscreteEventPriority, lane)) {\n return DiscreteEventPriority;\n }\n\n if (!isHigherEventPriority(ContinuousEventPriority, lane)) {\n return ContinuousEventPriority;\n }\n\n if (includesNonIdleWork(lane)) {\n return DefaultEventPriority;\n }\n\n return IdleEventPriority;\n}\n\n// This is imported by the event replaying implementation in React DOM. It's\n// in a separate file to break a circular dependency between the renderer and\n// the reconciler.\nfunction isRootDehydrated(root) {\n var currentState = root.current.memoizedState;\n return currentState.isDehydrated;\n}\n\nvar _attemptSynchronousHydration;\n\nfunction setAttemptSynchronousHydration(fn) {\n _attemptSynchronousHydration = fn;\n}\nfunction attemptSynchronousHydration(fiber) {\n _attemptSynchronousHydration(fiber);\n}\nvar attemptContinuousHydration;\nfunction setAttemptContinuousHydration(fn) {\n attemptContinuousHydration = fn;\n}\nvar attemptHydrationAtCurrentPriority;\nfunction setAttemptHydrationAtCurrentPriority(fn) {\n attemptHydrationAtCurrentPriority = fn;\n}\nvar getCurrentUpdatePriority$1;\nfunction setGetCurrentUpdatePriority(fn) {\n getCurrentUpdatePriority$1 = fn;\n}\nvar attemptHydrationAtPriority;\nfunction setAttemptHydrationAtPriority(fn) {\n attemptHydrationAtPriority = fn;\n} // TODO: Upgrade this definition once we're on a newer version of Flow that\n// has this definition built-in.\n\nvar hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed.\n\nvar queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout.\n// if the last target was dehydrated.\n\nvar queuedFocus = null;\nvar queuedDrag = null;\nvar queuedMouse = null; // For pointer events there can be one latest event per pointerId.\n\nvar queuedPointers = new Map();\nvar queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too.\n\nvar queuedExplicitHydrationTargets = [];\nvar discreteReplayableEvents = ['mousedown', 'mouseup', 'touchcancel', 'touchend', 'touchstart', 'auxclick', 'dblclick', 'pointercancel', 'pointerdown', 'pointerup', 'dragend', 'dragstart', 'drop', 'compositionend', 'compositionstart', 'keydown', 'keypress', 'keyup', 'input', 'textInput', // Intentionally camelCase\n'copy', 'cut', 'paste', 'click', 'change', 'contextmenu', 'reset', 'submit'];\nfunction isDiscreteEventThatRequiresHydration(eventType) {\n return discreteReplayableEvents.indexOf(eventType) > -1;\n}\n\nfunction createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n return {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n };\n}\n\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'focusin':\n case 'focusout':\n queuedFocus = null;\n break;\n\n case 'dragenter':\n case 'dragleave':\n queuedDrag = null;\n break;\n\n case 'mouseover':\n case 'mouseout':\n queuedMouse = null;\n break;\n\n case 'pointerover':\n case 'pointerout':\n {\n var pointerId = nativeEvent.pointerId;\n queuedPointers.delete(pointerId);\n break;\n }\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n {\n var _pointerId = nativeEvent.pointerId;\n queuedPointerCaptures.delete(_pointerId);\n break;\n }\n }\n}\n\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) {\n var queuedEvent = createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn !== null) {\n var _fiber2 = getInstanceFromNode(blockedOn);\n\n if (_fiber2 !== null) {\n // Attempt to increase the priority of this target.\n attemptContinuousHydration(_fiber2);\n }\n }\n\n return queuedEvent;\n } // If we have already queued this exact event, then it's because\n // the different event systems have different DOM event listeners.\n // We can accumulate the flags, and the targetContainers, and\n // store a single event to be replayed.\n\n\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n var targetContainers = existingQueuedEvent.targetContainers;\n\n if (targetContainer !== null && targetContainers.indexOf(targetContainer) === -1) {\n targetContainers.push(targetContainer);\n }\n\n return existingQueuedEvent;\n}\n\nfunction queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // These set relatedTarget to null because the replayed event will be treated as if we\n // moved from outside the window (no target) onto the target once it hydrates.\n // Instead of mutating we could clone the event.\n switch (domEventName) {\n case 'focusin':\n {\n var focusEvent = nativeEvent;\n queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, domEventName, eventSystemFlags, targetContainer, focusEvent);\n return true;\n }\n\n case 'dragenter':\n {\n var dragEvent = nativeEvent;\n queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, domEventName, eventSystemFlags, targetContainer, dragEvent);\n return true;\n }\n\n case 'mouseover':\n {\n var mouseEvent = nativeEvent;\n queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, domEventName, eventSystemFlags, targetContainer, mouseEvent);\n return true;\n }\n\n case 'pointerover':\n {\n var pointerEvent = nativeEvent;\n var pointerId = pointerEvent.pointerId;\n queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, pointerEvent));\n return true;\n }\n\n case 'gotpointercapture':\n {\n var _pointerEvent = nativeEvent;\n var _pointerId2 = _pointerEvent.pointerId;\n queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, _pointerEvent));\n return true;\n }\n }\n\n return false;\n} // Check if this target is unblocked. Returns true if it's unblocked.\n\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n // TODO: This function shares a lot of logic with findInstanceBlockingEvent.\n // Try to unify them. It's a bit tricky since it would require two return\n // values.\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted !== null) {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // We're blocked on hydrating this boundary.\n // Increase its priority.\n queuedTarget.blockedOn = instance;\n attemptHydrationAtPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of\n // a root other than sync.\n\n return;\n }\n }\n }\n }\n\n queuedTarget.blockedOn = null;\n}\n\nfunction queueExplicitHydrationTarget(target) {\n // TODO: This will read the priority if it's dispatched by the React\n // event system but not native events. Should read window.event.type, like\n // we do for updates (getCurrentEventPriority).\n var updatePriority = getCurrentUpdatePriority$1();\n var queuedTarget = {\n blockedOn: null,\n target: target,\n priority: updatePriority\n };\n var i = 0;\n\n for (; i < queuedExplicitHydrationTargets.length; i++) {\n // Stop once we hit the first target with lower priority than\n if (!isHigherEventPriority(updatePriority, queuedExplicitHydrationTargets[i].priority)) {\n break;\n }\n }\n\n queuedExplicitHydrationTargets.splice(i, 0, queuedTarget);\n\n if (i === 0) {\n attemptExplicitHydrationTarget(queuedTarget);\n }\n}\n\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (queuedEvent.blockedOn !== null) {\n return false;\n }\n\n var targetContainers = queuedEvent.targetContainers;\n\n while (targetContainers.length > 0) {\n var targetContainer = targetContainers[0];\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.domEventName, queuedEvent.eventSystemFlags, targetContainer, queuedEvent.nativeEvent);\n\n if (nextBlockedOn === null) {\n {\n var nativeEvent = queuedEvent.nativeEvent;\n var nativeEventClone = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n setReplayingEvent(nativeEventClone);\n nativeEvent.target.dispatchEvent(nativeEventClone);\n resetReplayingEvent();\n }\n } else {\n // We're still blocked. Try again later.\n var _fiber3 = getInstanceFromNode(nextBlockedOn);\n\n if (_fiber3 !== null) {\n attemptContinuousHydration(_fiber3);\n }\n\n queuedEvent.blockedOn = nextBlockedOn;\n return false;\n } // This target container was successfully dispatched. Try the next.\n\n\n targetContainers.shift();\n }\n\n return true;\n}\n\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n if (attemptReplayContinuousQueuedEvent(queuedEvent)) {\n map.delete(key);\n }\n}\n\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = false;\n\n\n if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) {\n queuedFocus = null;\n }\n\n if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) {\n queuedDrag = null;\n }\n\n if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) {\n queuedMouse = null;\n }\n\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\n\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n\n if (!hasScheduledReplayAttempt) {\n hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are\n // now unblocked. This first might not actually be unblocked yet.\n // We could check it early to avoid scheduling an unnecessary callback.\n\n Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents);\n }\n }\n}\n\nfunction retryIfBlockedOn(unblocked) {\n // Mark anything that was blocked on this as no longer blocked\n // and eligible for a replay.\n if (queuedDiscreteEvents.length > 0) {\n scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's\n // worth it because we expect very few discrete events to queue up and once\n // we are actually fully unblocked it will be fast to replay them.\n\n for (var i = 1; i < queuedDiscreteEvents.length; i++) {\n var queuedEvent = queuedDiscreteEvents[i];\n\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n }\n }\n }\n\n if (queuedFocus !== null) {\n scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n }\n\n if (queuedDrag !== null) {\n scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n }\n\n if (queuedMouse !== null) {\n scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n }\n\n var unblock = function (queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n };\n\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n\n for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) {\n var queuedTarget = queuedExplicitHydrationTargets[_i];\n\n if (queuedTarget.blockedOn === unblocked) {\n queuedTarget.blockedOn = null;\n }\n }\n\n while (queuedExplicitHydrationTargets.length > 0) {\n var nextExplicitTarget = queuedExplicitHydrationTargets[0];\n\n if (nextExplicitTarget.blockedOn !== null) {\n // We're still blocked.\n break;\n } else {\n attemptExplicitHydrationTarget(nextExplicitTarget);\n\n if (nextExplicitTarget.blockedOn === null) {\n // We're unblocked.\n queuedExplicitHydrationTargets.shift();\n }\n }\n }\n}\n\nvar ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig; // TODO: can we stop exporting these?\n\nvar _enabled = true; // This is exported in FB builds for use by legacy FB layer infra.\n// We'd like to remove this but it's not clear if this is safe.\n\nfunction setEnabled(enabled) {\n _enabled = !!enabled;\n}\nfunction isEnabled() {\n return _enabled;\n}\nfunction createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags) {\n var eventPriority = getEventPriority(domEventName);\n var listenerWrapper;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n listenerWrapper = dispatchDiscreteEvent;\n break;\n\n case ContinuousEventPriority:\n listenerWrapper = dispatchContinuousEvent;\n break;\n\n case DefaultEventPriority:\n default:\n listenerWrapper = dispatchEvent;\n break;\n }\n\n return listenerWrapper.bind(null, domEventName, eventSystemFlags, targetContainer);\n}\n\nfunction dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(DiscreteEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(ContinuousEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (!_enabled) {\n return;\n }\n\n {\n dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n }\n}\n\nfunction dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n var blockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n clearIfContinuousEvent(domEventName, nativeEvent);\n return;\n }\n\n if (queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent)) {\n nativeEvent.stopPropagation();\n return;\n } // We need to clear only if we didn't queue because\n // queueing is accumulative.\n\n\n clearIfContinuousEvent(domEventName, nativeEvent);\n\n if (eventSystemFlags & IS_CAPTURE_PHASE && isDiscreteEventThatRequiresHydration(domEventName)) {\n while (blockedOn !== null) {\n var fiber = getInstanceFromNode(blockedOn);\n\n if (fiber !== null) {\n attemptSynchronousHydration(fiber);\n }\n\n var nextBlockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (nextBlockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n }\n\n if (nextBlockedOn === blockedOn) {\n break;\n }\n\n blockedOn = nextBlockedOn;\n }\n\n if (blockedOn !== null) {\n nativeEvent.stopPropagation();\n }\n\n return;\n } // This is not replayable so we'll invoke it but without a target,\n // in case the event system needs to trace it.\n\n\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, null, targetContainer);\n}\n\nvar return_targetInst = null; // Returns a SuspenseInstance or Container if it's blocked.\n// The return_targetInst field above is conceptually part of the return value.\n\nfunction findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // TODO: Warn if _enabled is false.\n return_targetInst = null;\n var nativeEventTarget = getEventTarget(nativeEvent);\n var targetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted === null) {\n // This tree has been unmounted already. Dispatch without a target.\n targetInst = null;\n } else {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // Queue the event to be replayed later. Abort dispatching since we\n // don't want this event dispatched twice through the event system.\n // TODO: If this is the first discrete event in the queue. Schedule an increased\n // priority for this boundary.\n return instance;\n } // This shouldn't happen, something went wrong but to avoid blocking\n // the whole system, dispatch the event without a target.\n // TODO: Warn.\n\n\n targetInst = null;\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n // If this happens during a replay something went wrong and it might block\n // the whole system.\n return getContainerFromFiber(nearestMounted);\n }\n\n targetInst = null;\n } else if (nearestMounted !== targetInst) {\n // If we get an event (ex: img onload) before committing that\n // component's mount, ignore it for now (that is, treat it as if it was an\n // event on a non-React tree). We might also consider queueing events and\n // dispatching them after the mount.\n targetInst = null;\n }\n }\n }\n\n return_targetInst = targetInst; // We're not blocked on anything.\n\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n // Used by SimpleEventPlugin:\n case 'cancel':\n case 'click':\n case 'close':\n case 'contextmenu':\n case 'copy':\n case 'cut':\n case 'auxclick':\n case 'dblclick':\n case 'dragend':\n case 'dragstart':\n case 'drop':\n case 'focusin':\n case 'focusout':\n case 'input':\n case 'invalid':\n case 'keydown':\n case 'keypress':\n case 'keyup':\n case 'mousedown':\n case 'mouseup':\n case 'paste':\n case 'pause':\n case 'play':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointerup':\n case 'ratechange':\n case 'reset':\n case 'resize':\n case 'seeked':\n case 'submit':\n case 'touchcancel':\n case 'touchend':\n case 'touchstart':\n case 'volumechange': // Used by polyfills:\n // eslint-disable-next-line no-fallthrough\n\n case 'change':\n case 'selectionchange':\n case 'textInput':\n case 'compositionstart':\n case 'compositionend':\n case 'compositionupdate': // Only enableCreateEventHandleAPI:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeblur':\n case 'afterblur': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeinput':\n case 'blur':\n case 'fullscreenchange':\n case 'focus':\n case 'hashchange':\n case 'popstate':\n case 'select':\n case 'selectstart':\n return DiscreteEventPriority;\n\n case 'drag':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'mousemove':\n case 'mouseout':\n case 'mouseover':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'scroll':\n case 'toggle':\n case 'touchmove':\n case 'wheel': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'mouseenter':\n case 'mouseleave':\n case 'pointerenter':\n case 'pointerleave':\n return ContinuousEventPriority;\n\n case 'message':\n {\n // We might be in the Scheduler callback.\n // Eventually this mechanism will be replaced by a check\n // of the current priority on the native scheduler.\n var schedulerPriority = getCurrentPriorityLevel();\n\n switch (schedulerPriority) {\n case ImmediatePriority:\n return DiscreteEventPriority;\n\n case UserBlockingPriority:\n return ContinuousEventPriority;\n\n case NormalPriority:\n case LowPriority:\n // TODO: Handle LowSchedulerPriority, somehow. Maybe the same lane as hydration.\n return DefaultEventPriority;\n\n case IdlePriority:\n return IdleEventPriority;\n\n default:\n return DefaultEventPriority;\n }\n }\n\n default:\n return DefaultEventPriority;\n }\n}\n\nfunction addEventBubbleListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, false);\n return listener;\n}\nfunction addEventCaptureListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, true);\n return listener;\n}\nfunction addEventCaptureListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n capture: true,\n passive: passive\n });\n return listener;\n}\nfunction addEventBubbleListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n passive: passive\n });\n return listener;\n}\n\n/**\n * These variables store information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n *\n */\nvar root = null;\nvar startText = null;\nvar fallbackText = null;\nfunction initialize(nativeEventTarget) {\n root = nativeEventTarget;\n startText = getText();\n return true;\n}\nfunction reset() {\n root = null;\n startText = null;\n fallbackText = null;\n}\nfunction getData() {\n if (fallbackText) {\n return fallbackText;\n }\n\n var start;\n var startValue = startText;\n var startLength = startValue.length;\n var end;\n var endValue = getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n fallbackText = endValue.slice(start, sliceTail);\n return fallbackText;\n}\nfunction getText() {\n if ('value' in root) {\n return root.value;\n }\n\n return root.textContent;\n}\n\n/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)\n // report Enter as charCode 10 when ctrl is pressed.\n\n\n if (charCode === 10) {\n charCode = 13;\n } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n\n\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nfunction functionThatReturnsTrue() {\n return true;\n}\n\nfunction functionThatReturnsFalse() {\n return false;\n} // This is intentionally a factory so that we have different returned constructors.\n// If we had a single constructor, it would be megamorphic and engines would deopt.\n\n\nfunction createSyntheticEvent(Interface) {\n /**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n */\n function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n\n for (var _propName in Interface) {\n if (!Interface.hasOwnProperty(_propName)) {\n continue;\n }\n\n var normalize = Interface[_propName];\n\n if (normalize) {\n this[_propName] = normalize(nativeEvent);\n } else {\n this[_propName] = nativeEvent[_propName];\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n\n if (defaultPrevented) {\n this.isDefaultPrevented = functionThatReturnsTrue;\n } else {\n this.isDefaultPrevented = functionThatReturnsFalse;\n }\n\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.returnValue !== 'unknown') {\n event.returnValue = false;\n }\n\n this.isDefaultPrevented = functionThatReturnsTrue;\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.cancelBubble !== 'unknown') {\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = functionThatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {// Modern event system doesn't use pooling.\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n};\nvar SyntheticEvent = createSyntheticEvent(EventInterface);\n\nvar UIEventInterface = assign({}, EventInterface, {\n view: 0,\n detail: 0\n});\n\nvar SyntheticUIEvent = createSyntheticEvent(UIEventInterface);\nvar lastMovementX;\nvar lastMovementY;\nvar lastMouseEvent;\n\nfunction updateMouseMovementPolyfillState(event) {\n if (event !== lastMouseEvent) {\n if (lastMouseEvent && event.type === 'mousemove') {\n lastMovementX = event.screenX - lastMouseEvent.screenX;\n lastMovementY = event.screenY - lastMouseEvent.screenY;\n } else {\n lastMovementX = 0;\n lastMovementY = 0;\n }\n\n lastMouseEvent = event;\n }\n}\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n if (event.relatedTarget === undefined) return event.fromElement === event.srcElement ? event.toElement : event.fromElement;\n return event.relatedTarget;\n },\n movementX: function (event) {\n if ('movementX' in event) {\n return event.movementX;\n }\n\n updateMouseMovementPolyfillState(event);\n return lastMovementX;\n },\n movementY: function (event) {\n if ('movementY' in event) {\n return event.movementY;\n } // Don't need to call updateMouseMovementPolyfillState() here\n // because it's guaranteed to have already run when movementX\n // was copied.\n\n\n return lastMovementY;\n }\n});\n\nvar SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface);\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar DragEventInterface = assign({}, MouseEventInterface, {\n dataTransfer: 0\n});\n\nvar SyntheticDragEvent = createSyntheticEvent(DragEventInterface);\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar FocusEventInterface = assign({}, UIEventInterface, {\n relatedTarget: 0\n});\n\nvar SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n */\n\nvar AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\n\nvar ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n});\n\nvar SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\n\nvar CompositionEventInterface = assign({}, EventInterface, {\n data: 0\n});\n\nvar SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\n// Happens to share the same list for now.\n\nvar SyntheticInputEvent = SyntheticCompositionEvent;\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar normalizeKey = {\n Esc: 'Escape',\n Spacebar: ' ',\n Left: 'ArrowLeft',\n Up: 'ArrowUp',\n Right: 'ArrowRight',\n Down: 'ArrowDown',\n Del: 'Delete',\n Win: 'OS',\n Menu: 'ContextMenu',\n Apps: 'ContextMenu',\n Scroll: 'ScrollLock',\n MozPrintableKey: 'Unidentified'\n};\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar translateToKey = {\n '8': 'Backspace',\n '9': 'Tab',\n '12': 'Clear',\n '13': 'Enter',\n '16': 'Shift',\n '17': 'Control',\n '18': 'Alt',\n '19': 'Pause',\n '20': 'CapsLock',\n '27': 'Escape',\n '32': ' ',\n '33': 'PageUp',\n '34': 'PageDown',\n '35': 'End',\n '36': 'Home',\n '37': 'ArrowLeft',\n '38': 'ArrowUp',\n '39': 'ArrowRight',\n '40': 'ArrowDown',\n '45': 'Insert',\n '46': 'Delete',\n '112': 'F1',\n '113': 'F2',\n '114': 'F3',\n '115': 'F4',\n '116': 'F5',\n '117': 'F6',\n '118': 'F7',\n '119': 'F8',\n '120': 'F9',\n '121': 'F10',\n '122': 'F11',\n '123': 'F12',\n '144': 'NumLock',\n '145': 'ScrollLock',\n '224': 'Meta'\n};\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\n\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n\n if (key !== 'Unidentified') {\n return key;\n }\n } // Browser does not implement `key`, polyfill as much of it as we can.\n\n\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n\n return '';\n}\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\n\nvar modifierKeyToProp = {\n Alt: 'altKey',\n Control: 'ctrlKey',\n Meta: 'metaKey',\n Shift: 'shiftKey'\n}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support\n// getModifierState. If getModifierState is not supported, we map it to a set of\n// modifier keys exposed by the event. In this case, Lock-keys are not supported.\n\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: getEventKey,\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function (event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n return 0;\n },\n keyCode: function (event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n },\n which: function (event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n }\n});\n\nvar SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface);\n/**\n * @interface PointerEvent\n * @see http://www.w3.org/TR/pointerevents/\n */\n\nvar PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n});\n\nvar SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface);\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\n\nvar TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n});\n\nvar SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n */\n\nvar TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface);\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n },\n deltaY: function (event) {\n return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? -event.wheelDelta : 0;\n },\n deltaZ: 0,\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: 0\n});\n\nvar SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface);\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\n\nvar START_KEYCODE = 229;\nvar canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;\nvar documentMode = null;\n\nif (canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n} // Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\n\n\nvar canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\n\nvar useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\nfunction registerEvents() {\n registerTwoPhaseEvent('onBeforeInput', ['compositionend', 'keypress', 'textInput', 'paste']);\n registerTwoPhaseEvent('onCompositionEnd', ['compositionend', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionStart', ['compositionstart', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionUpdate', ['compositionupdate', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n} // Track whether we've ever handled a keypress on the space key.\n\n\nvar hasSpaceKeypress = false;\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\n\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n/**\n * Translate native top level events into event types.\n */\n\n\nfunction getCompositionEventType(domEventName) {\n switch (domEventName) {\n case 'compositionstart':\n return 'onCompositionStart';\n\n case 'compositionend':\n return 'onCompositionEnd';\n\n case 'compositionupdate':\n return 'onCompositionUpdate';\n }\n}\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n */\n\n\nfunction isFallbackCompositionStart(domEventName, nativeEvent) {\n return domEventName === 'keydown' && nativeEvent.keyCode === START_KEYCODE;\n}\n/**\n * Does our fallback mode think that this event is the end of composition?\n */\n\n\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'keyup':\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n\n case 'keydown':\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n\n case 'keypress':\n case 'mousedown':\n case 'focusout':\n // Events are not possible without cancelling IME.\n return true;\n\n default:\n return false;\n }\n}\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\n\n\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n\n return null;\n}\n/**\n * Check if a composition event was triggered by Korean IME.\n * Our fallback mode does not work well with IE's Korean IME,\n * so just use native composition events when Korean IME is used.\n * Although CompositionEvent.locale property is deprecated,\n * it is available in IE, where our fallback mode is enabled.\n *\n * @param {object} nativeEvent\n * @return {boolean}\n */\n\n\nfunction isUsingKoreanIME(nativeEvent) {\n return nativeEvent.locale === 'ko';\n} // Track the current IME composition status, if any.\n\n\nvar isComposing = false;\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\n\nfunction extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(domEventName);\n } else if (!isComposing) {\n if (isFallbackCompositionStart(domEventName, nativeEvent)) {\n eventType = 'onCompositionStart';\n }\n } else if (isFallbackCompositionEnd(domEventName, nativeEvent)) {\n eventType = 'onCompositionEnd';\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!isComposing && eventType === 'onCompositionStart') {\n isComposing = initialize(nativeEventTarget);\n } else if (eventType === 'onCompositionEnd') {\n if (isComposing) {\n fallbackData = getData();\n }\n }\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, eventType);\n\n if (listeners.length > 0) {\n var event = new SyntheticCompositionEvent(eventType, domEventName, null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n\n if (customData !== null) {\n event.data = customData;\n }\n }\n }\n}\n\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'compositionend':\n return getDataFromCustomEvent(nativeEvent);\n\n case 'keypress':\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case 'textInput':\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to ignore it.\n\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n */\n\n\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n // If composition event is available, we extract a string only at\n // compositionevent, otherwise extract it at fallback events.\n if (isComposing) {\n if (domEventName === 'compositionend' || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent)) {\n var chars = getData();\n reset();\n isComposing = false;\n return chars;\n }\n\n return null;\n }\n\n switch (domEventName) {\n case 'paste':\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n\n case 'keypress':\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (!isKeypressCommand(nativeEvent)) {\n // IE fires the `keypress` event when a user types an emoji via\n // Touch keyboard of Windows. In such a case, the `char` property\n // holds an emoji character like `\\uD83D\\uDE0A`. Because its length\n // is 2, the property `which` does not represent an emoji correctly.\n // In such a case, we directly return the `char` property instead of\n // using `which`.\n if (nativeEvent.char && nativeEvent.char.length > 1) {\n return nativeEvent.char;\n } else if (nativeEvent.which) {\n return String.fromCharCode(nativeEvent.which);\n }\n }\n\n return null;\n\n case 'compositionend':\n return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;\n\n default:\n return null;\n }\n}\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\n\n\nfunction extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(domEventName, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(domEventName, nativeEvent);\n } // If no characters are being inserted, no BeforeInput event should\n // be fired.\n\n\n if (!chars) {\n return null;\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, 'onBeforeInput');\n\n if (listeners.length > 0) {\n var event = new SyntheticInputEvent('onBeforeInput', 'beforeinput', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.data = chars;\n }\n}\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\n\n\nfunction extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n}\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\nvar supportedInputTypes = {\n color: true,\n date: true,\n datetime: true,\n 'datetime-local': true,\n email: true,\n month: true,\n number: true,\n password: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\n\nfunction isEventSupported(eventNameSuffix) {\n if (!canUseDOM) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n return isSupported;\n}\n\nfunction registerEvents$1() {\n registerTwoPhaseEvent('onChange', ['change', 'click', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'selectionchange']);\n}\n\nfunction createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) {\n // Flag this event loop as needing state restore.\n enqueueStateRestore(target);\n var listeners = accumulateTwoPhaseListeners(inst, 'onChange');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onChange', 'change', null, nativeEvent, target);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n}\n/**\n * For IE shims\n */\n\n\nvar activeElement = null;\nvar activeElementInst = null;\n/**\n * SECTION: handle `change` event\n */\n\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(dispatchQueue, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n\n batchedUpdates(runEventInBatch, dispatchQueue);\n}\n\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\n\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n\n if (updateValueIfChanged(targetNode)) {\n return targetInst;\n }\n}\n\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (domEventName === 'change') {\n return targetInst;\n }\n}\n/**\n * SECTION: handle `input` event\n */\n\n\nvar isInputEventSupported = false;\n\nif (canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);\n}\n/**\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\n\n\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n}\n/**\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\n\n\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n activeElement = null;\n activeElementInst = null;\n}\n/**\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\n\n\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n\n if (getInstIfValueChanged(activeElementInst)) {\n manualDispatchChangeEvent(nativeEvent);\n }\n}\n\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n if (domEventName === 'focusin') {\n // In IE9, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (domEventName === 'focusout') {\n stopWatchingForValueChange();\n }\n} // For IE8 and IE9.\n\n\nfunction getTargetInstForInputEventPolyfill(domEventName, targetInst) {\n if (domEventName === 'selectionchange' || domEventName === 'keyup' || domEventName === 'keydown') {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n return getInstIfValueChanged(activeElementInst);\n }\n}\n/**\n * SECTION: handle `click` event\n */\n\n\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (domEventName === 'click') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (domEventName === 'input' || domEventName === 'change') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction handleControlledInputBlur(node) {\n var state = node._wrapperState;\n\n if (!state || !state.controlled || node.type !== 'number') {\n return;\n }\n\n {\n // If controlled, assign the value attribute to the current value on blur\n setDefaultValue(node, 'number', node.value);\n }\n}\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\n\n\nfunction extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n var getTargetInstFunc, handleEventFunc;\n\n if (shouldUseChangeEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n handleEventFunc = handleEventsForInputEventPolyfill;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n }\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(domEventName, targetInst);\n\n if (inst) {\n createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, nativeEventTarget);\n return;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(domEventName, targetNode, targetInst);\n } // When blurring, set the value attribute for number inputs\n\n\n if (domEventName === 'focusout') {\n handleControlledInputBlur(targetNode);\n }\n}\n\nfunction registerEvents$2() {\n registerDirectEvent('onMouseEnter', ['mouseout', 'mouseover']);\n registerDirectEvent('onMouseLeave', ['mouseout', 'mouseover']);\n registerDirectEvent('onPointerEnter', ['pointerout', 'pointerover']);\n registerDirectEvent('onPointerLeave', ['pointerout', 'pointerover']);\n}\n/**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n\n\nfunction extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var isOverEvent = domEventName === 'mouseover' || domEventName === 'pointerover';\n var isOutEvent = domEventName === 'mouseout' || domEventName === 'pointerout';\n\n if (isOverEvent && !isReplayingEvent(nativeEvent)) {\n // If this is an over event with a target, we might have already dispatched\n // the event in the out event of the other target. If this is replayed,\n // then it's because we couldn't dispatch against this target previously\n // so we have to do it now instead.\n var related = nativeEvent.relatedTarget || nativeEvent.fromElement;\n\n if (related) {\n // If the related node is managed by React, we can assume that we have\n // already dispatched the corresponding events during its mouseout.\n if (getClosestInstanceFromNode(related) || isContainerMarkedAsRoot(related)) {\n return;\n }\n }\n }\n\n if (!isOutEvent && !isOverEvent) {\n // Must not be a mouse or pointer in or out - ignoring.\n return;\n }\n\n var win; // TODO: why is this nullable in the types but we read from it?\n\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n\n if (isOutEvent) {\n var _related = nativeEvent.relatedTarget || nativeEvent.toElement;\n\n from = targetInst;\n to = _related ? getClosestInstanceFromNode(_related) : null;\n\n if (to !== null) {\n var nearestMounted = getNearestMountedFiber(to);\n\n if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) {\n to = null;\n }\n }\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return;\n }\n\n var SyntheticEventCtor = SyntheticMouseEvent;\n var leaveEventType = 'onMouseLeave';\n var enterEventType = 'onMouseEnter';\n var eventTypePrefix = 'mouse';\n\n if (domEventName === 'pointerout' || domEventName === 'pointerover') {\n SyntheticEventCtor = SyntheticPointerEvent;\n leaveEventType = 'onPointerLeave';\n enterEventType = 'onPointerEnter';\n eventTypePrefix = 'pointer';\n }\n\n var fromNode = from == null ? win : getNodeFromInstance(from);\n var toNode = to == null ? win : getNodeFromInstance(to);\n var leave = new SyntheticEventCtor(leaveEventType, eventTypePrefix + 'leave', from, nativeEvent, nativeEventTarget);\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n var enter = null; // We should only process this nativeEvent if we are processing\n // the first ancestor. Next time, we will ignore the event.\n\n var nativeTargetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (nativeTargetInst === targetInst) {\n var enterEvent = new SyntheticEventCtor(enterEventType, eventTypePrefix + 'enter', to, nativeEvent, nativeEventTarget);\n enterEvent.target = toNode;\n enterEvent.relatedTarget = fromNode;\n enter = enterEvent;\n }\n\n accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leave, enter, from, to);\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\n\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\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 } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n var currentKey = keysA[i];\n\n if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\n\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n\n return node;\n}\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\n\n\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n\n node = node.parentNode;\n }\n}\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\n\n\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === TEXT_NODE) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\n/**\n * @param {DOMElement} outerNode\n * @return {?object}\n */\n\nfunction getOffsets(outerNode) {\n var ownerDocument = outerNode.ownerDocument;\n var win = ownerDocument && ownerDocument.defaultView || window;\n var selection = win.getSelection && win.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode,\n anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode,\n focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be \"anonymous divs\", e.g. the\n // up/down buttons on an <input type=\"number\">. Anonymous divs do not seem to\n // expose properties, triggering a \"Permission denied error\" if any of its\n // properties are accessed. The only seemingly possible way to avoid erroring\n // is to access a property that typically works for non-anonymous divs and\n // catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n\n try {\n /* eslint-disable no-unused-expressions */\n anchorNode.nodeType;\n focusNode.nodeType;\n /* eslint-enable no-unused-expressions */\n } catch (e) {\n return null;\n }\n\n return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset);\n}\n/**\n * Returns {start, end} where `start` is the character/codepoint index of\n * (anchorNode, anchorOffset) within the textContent of `outerNode`, and\n * `end` is the index of (focusNode, focusOffset).\n *\n * Returns null if you pass in garbage input but we should probably just crash.\n *\n * Exported only for testing.\n */\n\nfunction getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) {\n var length = 0;\n var start = -1;\n var end = -1;\n var indexWithinAnchor = 0;\n var indexWithinFocus = 0;\n var node = outerNode;\n var parentNode = null;\n\n outer: while (true) {\n var next = null;\n\n while (true) {\n if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) {\n start = length + anchorOffset;\n }\n\n if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {\n end = length + focusOffset;\n }\n\n if (node.nodeType === TEXT_NODE) {\n length += node.nodeValue.length;\n }\n\n if ((next = node.firstChild) === null) {\n break;\n } // Moving from `node` to its first child `next`.\n\n\n parentNode = node;\n node = next;\n }\n\n while (true) {\n if (node === outerNode) {\n // If `outerNode` has children, this is always the second time visiting\n // it. If it has no children, this is still the first loop, and the only\n // valid selection is anchorNode and focusNode both equal to this node\n // and both offsets 0, in which case we will have handled above.\n break outer;\n }\n\n if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) {\n start = length;\n }\n\n if (parentNode === focusNode && ++indexWithinFocus === focusOffset) {\n end = length;\n }\n\n if ((next = node.nextSibling) !== null) {\n break;\n }\n\n node = parentNode;\n parentNode = node.parentNode;\n } // Moving from `node` to its next sibling `next`.\n\n\n node = next;\n }\n\n if (start === -1 || end === -1) {\n // This should never happen. (Would happen if the anchor/focus nodes aren't\n // actually inside the passed-in node.)\n return null;\n }\n\n return {\n start: start,\n end: end\n };\n}\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programmatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n\nfunction setOffsets(node, offsets) {\n var doc = node.ownerDocument || document;\n var win = doc && doc.defaultView || window; // Edge fails with \"Object expected\" in some scenarios.\n // (For instance: TinyMCE editor used in a list component that supports pasting to add more,\n // fails when pasting 100+ items)\n\n if (!win.getSelection) {\n return;\n }\n\n var selection = win.getSelection();\n var length = node.textContent.length;\n var start = Math.min(offsets.start, length);\n var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {\n return;\n }\n\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nfunction isTextNode(node) {\n return node && node.nodeType === TEXT_NODE;\n}\n\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nfunction isInDocument(node) {\n return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);\n}\n\nfunction isSameOriginFrame(iframe) {\n try {\n // Accessing the contentDocument of a HTMLIframeElement can cause the browser\n // to throw, e.g. if it has a cross-origin src attribute.\n // Safari will show an error in the console when the access results in \"Blocked a frame with origin\". e.g:\n // iframe.contentDocument.defaultView;\n // A safety way is to access one of the cross origin properties: Window or Location\n // Which might result in \"SecurityError\" DOM Exception and it is compatible to Safari.\n // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl\n return typeof iframe.contentWindow.location.href === 'string';\n } catch (err) {\n return false;\n }\n}\n\nfunction getActiveElementDeep() {\n var win = window;\n var element = getActiveElement();\n\n while (element instanceof win.HTMLIFrameElement) {\n if (isSameOriginFrame(element)) {\n win = element.contentWindow;\n } else {\n return element;\n }\n\n element = getActiveElement(win.document);\n }\n\n return element;\n}\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\n\n/**\n * @hasSelectionCapabilities: we get the element types that support selection\n * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`\n * and `selectionEnd` rows.\n */\n\n\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true');\n}\nfunction getSelectionInformation() {\n var focusedElem = getActiveElementDeep();\n return {\n focusedElem: focusedElem,\n selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null\n };\n}\n/**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n\nfunction restoreSelection(priorSelectionInformation) {\n var curFocusedElem = getActiveElementDeep();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) {\n setSelection(priorFocusedElem, priorSelectionRange);\n } // Focusing a node can change the scroll position, which is undesirable\n\n\n var ancestors = [];\n var ancestor = priorFocusedElem;\n\n while (ancestor = ancestor.parentNode) {\n if (ancestor.nodeType === ELEMENT_NODE) {\n ancestors.push({\n element: ancestor,\n left: ancestor.scrollLeft,\n top: ancestor.scrollTop\n });\n }\n }\n\n if (typeof priorFocusedElem.focus === 'function') {\n priorFocusedElem.focus();\n }\n\n for (var i = 0; i < ancestors.length; i++) {\n var info = ancestors[i];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n}\n/**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n\nfunction getSelection(input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else {\n // Content editable or old IE textarea.\n selection = getOffsets(input);\n }\n\n return selection || {\n start: 0,\n end: 0\n };\n}\n/**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n\nfunction setSelection(input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n\n if (end === undefined) {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else {\n setOffsets(input, offsets);\n }\n}\n\nvar skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\nfunction registerEvents$3() {\n registerTwoPhaseEvent('onSelect', ['focusout', 'contextmenu', 'dragend', 'focusin', 'keydown', 'keyup', 'mousedown', 'mouseup', 'selectionchange']);\n}\n\nvar activeElement$1 = null;\nvar activeElementInst$1 = null;\nvar lastSelection = null;\nvar mouseDown = false;\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n */\n\nfunction getSelection$1(node) {\n if ('selectionStart' in node && hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else {\n var win = node.ownerDocument && node.ownerDocument.defaultView || window;\n var selection = win.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n }\n}\n/**\n * Get document associated with the event target.\n */\n\n\nfunction getEventTargetDocument(eventTarget) {\n return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument;\n}\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @param {object} nativeEventTarget\n * @return {?SyntheticEvent}\n */\n\n\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n var doc = getEventTargetDocument(nativeEventTarget);\n\n if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) {\n return;\n } // Only fire when selection has actually changed.\n\n\n var currentSelection = getSelection$1(activeElement$1);\n\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n var listeners = accumulateTwoPhaseListeners(activeElementInst$1, 'onSelect');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onSelect', 'select', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.target = activeElement$1;\n }\n }\n}\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\n\n\nfunction extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n\n switch (domEventName) {\n // Track the input node that has focus.\n case 'focusin':\n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n activeElement$1 = targetNode;\n activeElementInst$1 = targetInst;\n lastSelection = null;\n }\n\n break;\n\n case 'focusout':\n activeElement$1 = null;\n activeElementInst$1 = null;\n lastSelection = null;\n break;\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n\n case 'mousedown':\n mouseDown = true;\n break;\n\n case 'contextmenu':\n case 'mouseup':\n case 'dragend':\n mouseDown = false;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n\n case 'selectionchange':\n if (skipSelectionChangeEvent) {\n break;\n }\n\n // falls through\n\n case 'keydown':\n case 'keyup':\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n}\n\n/**\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n *\n * @param {string} styleProp\n * @param {string} eventName\n * @returns {object}\n */\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n return prefixes;\n}\n/**\n * A list of event names to a configurable list of vendor prefixes.\n */\n\n\nvar vendorPrefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n animationstart: makePrefixMap('Animation', 'AnimationStart'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n};\n/**\n * Event names that have already been detected and prefixed (if applicable).\n */\n\nvar prefixedEventNames = {};\n/**\n * Element to check for prefixes on.\n */\n\nvar style = {};\n/**\n * Bootstrap if a DOM exists.\n */\n\nif (canUseDOM) {\n style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are usable, and if not remove them from the map.\n\n if (!('AnimationEvent' in window)) {\n delete vendorPrefixes.animationend.animation;\n delete vendorPrefixes.animationiteration.animation;\n delete vendorPrefixes.animationstart.animation;\n } // Same as above\n\n\n if (!('TransitionEvent' in window)) {\n delete vendorPrefixes.transitionend.transition;\n }\n}\n/**\n * Attempts to determine the correct vendor prefixed event name.\n *\n * @param {string} eventName\n * @returns {string}\n */\n\n\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n } else if (!vendorPrefixes[eventName]) {\n return eventName;\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n for (var styleProp in prefixMap) {\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n return prefixedEventNames[eventName] = prefixMap[styleProp];\n }\n }\n\n return eventName;\n}\n\nvar ANIMATION_END = getVendorPrefixedEventName('animationend');\nvar ANIMATION_ITERATION = getVendorPrefixedEventName('animationiteration');\nvar ANIMATION_START = getVendorPrefixedEventName('animationstart');\nvar TRANSITION_END = getVendorPrefixedEventName('transitionend');\n\nvar topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important in this list!\n//\n// E.g. it needs \"pointerDown\", not \"pointerdown\".\n// This is because we derive both React name (\"onPointerDown\")\n// and DOM name (\"pointerdown\") from the same list.\n//\n// Exceptions that don't match this convention are listed separately.\n//\n// prettier-ignore\n\nvar simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'toggle', 'touchMove', 'waiting', 'wheel'];\n\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\n\nfunction registerSimpleEvents() {\n for (var i = 0; i < simpleEventPluginEvents.length; i++) {\n var eventName = simpleEventPluginEvents[i];\n var domEventName = eventName.toLowerCase();\n var capitalizedEvent = eventName[0].toUpperCase() + eventName.slice(1);\n registerSimpleEvent(domEventName, 'on' + capitalizedEvent);\n } // Special cases where event names don't match.\n\n\n registerSimpleEvent(ANIMATION_END, 'onAnimationEnd');\n registerSimpleEvent(ANIMATION_ITERATION, 'onAnimationIteration');\n registerSimpleEvent(ANIMATION_START, 'onAnimationStart');\n registerSimpleEvent('dblclick', 'onDoubleClick');\n registerSimpleEvent('focusin', 'onFocus');\n registerSimpleEvent('focusout', 'onBlur');\n registerSimpleEvent(TRANSITION_END, 'onTransitionEnd');\n}\n\nfunction extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n\n if (reactName === undefined) {\n return;\n }\n\n var SyntheticEventCtor = SyntheticEvent;\n var reactEventType = domEventName;\n\n switch (domEventName) {\n case 'keypress':\n // Firefox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n if (getEventCharCode(nativeEvent) === 0) {\n return;\n }\n\n /* falls through */\n\n case 'keydown':\n case 'keyup':\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n\n case 'focusin':\n reactEventType = 'focus';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'focusout':\n reactEventType = 'blur';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'beforeblur':\n case 'afterblur':\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'click':\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n if (nativeEvent.button === 2) {\n return;\n }\n\n /* falls through */\n\n case 'auxclick':\n case 'dblclick':\n case 'mousedown':\n case 'mousemove':\n case 'mouseup': // TODO: Disabled elements should not respond to mouse events\n\n /* falls through */\n\n case 'mouseout':\n case 'mouseover':\n case 'contextmenu':\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n\n case 'drag':\n case 'dragend':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'dragstart':\n case 'drop':\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n\n case 'touchcancel':\n case 'touchend':\n case 'touchmove':\n case 'touchstart':\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n\n case 'scroll':\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n\n case 'wheel':\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n\n case 'copy':\n case 'cut':\n case 'paste':\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'pointerup':\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n }\n\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n {\n // Some events don't bubble in the browser.\n // In the past, React has always bubbled them, but this can be surprising.\n // We're going to try aligning closer to the browser behavior by not bubbling\n // them in React either. We'll start by not bubbling onScroll, and then expand.\n var accumulateTargetOnly = !inCapturePhase && // TODO: ideally, we'd eventually add all events from\n // nonDelegatedEvents list in DOMPluginEventSystem.\n // Then we can remove this special list.\n // This is a breaking change that can wait until React 18.\n domEventName === 'scroll';\n\n var _listeners = accumulateSinglePhaseListeners(targetInst, reactName, nativeEvent.type, inCapturePhase, accumulateTargetOnly);\n\n if (_listeners.length > 0) {\n // Intentionally create event lazily.\n var _event = new SyntheticEventCtor(reactName, reactEventType, null, nativeEvent, nativeEventTarget);\n\n dispatchQueue.push({\n event: _event,\n listeners: _listeners\n });\n }\n }\n}\n\n// TODO: remove top-level side effect.\nregisterSimpleEvents();\nregisterEvents$2();\nregisterEvents$1();\nregisterEvents$3();\nregisterEvents();\n\nfunction extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n // TODO: we should remove the concept of a \"SimpleEventPlugin\".\n // This is the basic functionality of the event system. All\n // the other plugins are essentially polyfills. So the plugin\n // should probably be inlined somewhere and have its logic\n // be core the to event system. This would potentially allow\n // us to ship builds of React without the polyfilled plugins below.\n extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n var shouldProcessPolyfillPlugins = (eventSystemFlags & SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS) === 0; // We don't process these events unless we are in the\n // event's native \"bubble\" phase, which means that we're\n // not in the capture phase. That's because we emulate\n // the capture phase here still. This is a trade-off,\n // because in an ideal world we would not emulate and use\n // the phases properly, like we do with the SimpleEvent\n // plugin. However, the plugins below either expect\n // emulation (EnterLeave) or use state localized to that\n // plugin (BeforeInput, Change, Select). The state in\n // these modules complicates things, as you'll essentially\n // get the case where the capture phase event might change\n // state, only for the following bubble event to come in\n // later and not trigger anything as the state now\n // invalidates the heuristics of the event plugin. We\n // could alter all these plugins to work in such ways, but\n // that might cause other unknown side-effects that we\n // can't foresee right now.\n\n if (shouldProcessPolyfillPlugins) {\n extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n }\n} // List of events that need to be individually attached to media elements.\n\n\nvar mediaEventTypes = ['abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'encrypted', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'playing', 'progress', 'ratechange', 'resize', 'seeked', 'seeking', 'stalled', 'suspend', 'timeupdate', 'volumechange', 'waiting']; // We should not delegate these events to the container, but rather\n// set them on the actual target element itself. This is primarily\n// because these events do not consistently bubble in the DOM.\n\nvar nonDelegatedEvents = new Set(['cancel', 'close', 'invalid', 'load', 'scroll', 'toggle'].concat(mediaEventTypes));\n\nfunction executeDispatch(event, listener, currentTarget) {\n var type = event.type || 'unknown-event';\n event.currentTarget = currentTarget;\n invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);\n event.currentTarget = null;\n}\n\nfunction processDispatchQueueItemsInOrder(event, dispatchListeners, inCapturePhase) {\n var previousInstance;\n\n if (inCapturePhase) {\n for (var i = dispatchListeners.length - 1; i >= 0; i--) {\n var _dispatchListeners$i = dispatchListeners[i],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget,\n listener = _dispatchListeners$i.listener;\n\n if (instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, listener, currentTarget);\n previousInstance = instance;\n }\n } else {\n for (var _i = 0; _i < dispatchListeners.length; _i++) {\n var _dispatchListeners$_i = dispatchListeners[_i],\n _instance = _dispatchListeners$_i.instance,\n _currentTarget = _dispatchListeners$_i.currentTarget,\n _listener = _dispatchListeners$_i.listener;\n\n if (_instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, _listener, _currentTarget);\n previousInstance = _instance;\n }\n }\n}\n\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event,\n listeners = _dispatchQueue$i.listeners;\n processDispatchQueueItemsInOrder(event, listeners, inCapturePhase); // event system doesn't use pooling.\n } // This would be a good time to rethrow if any of the event handlers threw.\n\n\n rethrowCaughtError();\n}\n\nfunction dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var nativeEventTarget = getEventTarget(nativeEvent);\n var dispatchQueue = [];\n extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n}\n\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n {\n if (!nonDelegatedEvents.has(domEventName)) {\n error('Did not expect a listenToNonDelegatedEvent() call for \"%s\". ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var isCapturePhaseListener = false;\n var listenerSet = getEventListenerSet(targetElement);\n var listenerSetKey = getListenerSetKey(domEventName, isCapturePhaseListener);\n\n if (!listenerSet.has(listenerSetKey)) {\n addTrappedEventListener(targetElement, domEventName, IS_NON_DELEGATED, isCapturePhaseListener);\n listenerSet.add(listenerSetKey);\n }\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n {\n if (nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener) {\n error('Did not expect a listenToNativeEvent() call for \"%s\" in the bubble phase. ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var eventSystemFlags = 0;\n\n if (isCapturePhaseListener) {\n eventSystemFlags |= IS_CAPTURE_PHASE;\n }\n\n addTrappedEventListener(target, domEventName, eventSystemFlags, isCapturePhaseListener);\n} // This is only used by createEventHandle when the\nvar listeningMarker = '_reactListening' + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = true;\n allNativeEvents.forEach(function (domEventName) {\n // We handle selectionchange separately because it\n // doesn't bubble and needs to be on the document.\n if (domEventName !== 'selectionchange') {\n if (!nonDelegatedEvents.has(domEventName)) {\n listenToNativeEvent(domEventName, false, rootContainerElement);\n }\n\n listenToNativeEvent(domEventName, true, rootContainerElement);\n }\n });\n var ownerDocument = rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n\n if (ownerDocument !== null) {\n // The selectionchange event also needs deduplication\n // but it is attached to the document.\n if (!ownerDocument[listeningMarker]) {\n ownerDocument[listeningMarker] = true;\n listenToNativeEvent('selectionchange', false, ownerDocument);\n }\n }\n }\n}\n\nfunction addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener, isDeferredListenerForLegacyFBSupport) {\n var listener = createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags); // If passive option is not supported, then the event will be\n // active and not passive.\n\n var isPassiveListener = undefined;\n\n if (passiveBrowserEventsSupported) {\n // Browsers introduced an intervention, making these events\n // passive by default on document. React doesn't bind them\n // to document anymore, but changing this now would undo\n // the performance wins from the change. So we emulate\n // the existing behavior manually on the roots now.\n // https://github.com/facebook/react/issues/19651\n if (domEventName === 'touchstart' || domEventName === 'touchmove' || domEventName === 'wheel') {\n isPassiveListener = true;\n }\n }\n\n targetContainer = targetContainer;\n var unsubscribeListener; // When legacyFBSupport is enabled, it's for when we\n\n\n if (isCapturePhaseListener) {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventCaptureListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventCaptureListener(targetContainer, domEventName, listener);\n }\n } else {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventBubbleListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventBubbleListener(targetContainer, domEventName, listener);\n }\n }\n}\n\nfunction isMatchingRootContainer(grandContainer, targetContainer) {\n return grandContainer === targetContainer || grandContainer.nodeType === COMMENT_NODE && grandContainer.parentNode === targetContainer;\n}\n\nfunction dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var ancestorInst = targetInst;\n\n if ((eventSystemFlags & IS_EVENT_HANDLE_NON_MANAGED_NODE) === 0 && (eventSystemFlags & IS_NON_DELEGATED) === 0) {\n var targetContainerNode = targetContainer; // If we are using the legacy FB support flag, we\n\n if (targetInst !== null) {\n // The below logic attempts to work out if we need to change\n // the target fiber to a different ancestor. We had similar logic\n // in the legacy event system, except the big difference between\n // systems is that the modern event system now has an event listener\n // attached to each React Root and React Portal Root. Together,\n // the DOM nodes representing these roots are the \"rootContainer\".\n // To figure out which ancestor instance we should use, we traverse\n // up the fiber tree from the target instance and attempt to find\n // root boundaries that match that of our current \"rootContainer\".\n // If we find that \"rootContainer\", we find the parent fiber\n // sub-tree for that root and make that our ancestor instance.\n var node = targetInst;\n\n mainLoop: while (true) {\n if (node === null) {\n return;\n }\n\n var nodeTag = node.tag;\n\n if (nodeTag === HostRoot || nodeTag === HostPortal) {\n var container = node.stateNode.containerInfo;\n\n if (isMatchingRootContainer(container, targetContainerNode)) {\n break;\n }\n\n if (nodeTag === HostPortal) {\n // The target is a portal, but it's not the rootContainer we're looking for.\n // Normally portals handle their own events all the way down to the root.\n // So we should be able to stop now. However, we don't know if this portal\n // was part of *our* root.\n var grandNode = node.return;\n\n while (grandNode !== null) {\n var grandTag = grandNode.tag;\n\n if (grandTag === HostRoot || grandTag === HostPortal) {\n var grandContainer = grandNode.stateNode.containerInfo;\n\n if (isMatchingRootContainer(grandContainer, targetContainerNode)) {\n // This is the rootContainer we're looking for and we found it as\n // a parent of the Portal. That means we can ignore it because the\n // Portal will bubble through to us.\n return;\n }\n }\n\n grandNode = grandNode.return;\n }\n } // Now we need to find it's corresponding host fiber in the other\n // tree. To do this we can use getClosestInstanceFromNode, but we\n // need to validate that the fiber is a host instance, otherwise\n // we need to traverse up through the DOM till we find the correct\n // node that is from the other tree.\n\n\n while (container !== null) {\n var parentNode = getClosestInstanceFromNode(container);\n\n if (parentNode === null) {\n return;\n }\n\n var parentTag = parentNode.tag;\n\n if (parentTag === HostComponent || parentTag === HostText) {\n node = ancestorInst = parentNode;\n continue mainLoop;\n }\n\n container = container.parentNode;\n }\n }\n\n node = node.return;\n }\n }\n }\n\n batchedUpdates(function () {\n return dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, ancestorInst);\n });\n}\n\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\n\nfunction accumulateSinglePhaseListeners(targetFiber, reactName, nativeEventType, inCapturePhase, accumulateTargetOnly, nativeEvent) {\n var captureName = reactName !== null ? reactName + 'Capture' : null;\n var reactEventName = inCapturePhase ? captureName : reactName;\n var listeners = [];\n var instance = targetFiber;\n var lastHostComponent = null; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance2 = instance,\n stateNode = _instance2.stateNode,\n tag = _instance2.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n lastHostComponent = stateNode; // createEventHandle listeners\n\n\n if (reactEventName !== null) {\n var listener = getListener(instance, reactEventName);\n\n if (listener != null) {\n listeners.push(createDispatchListener(instance, listener, lastHostComponent));\n }\n }\n } // If we are only accumulating events for the target, then we don't\n // continue to propagate through the React fiber tree to find other\n // listeners.\n\n\n if (accumulateTargetOnly) {\n break;\n } // If we are processing the onBeforeBlur event, then we need to take\n\n instance = instance.return;\n }\n\n return listeners;\n} // We should only use this function for:\n// - BeforeInputEventPlugin\n// - ChangeEventPlugin\n// - SelectEventPlugin\n// This is because we only process these plugins\n// in the bubble phase, so we need to accumulate two\n// phase event listeners (via emulation).\n\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n var captureName = reactName + 'Capture';\n var listeners = [];\n var instance = targetFiber; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance3 = instance,\n stateNode = _instance3.stateNode,\n tag = _instance3.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n var captureListener = getListener(instance, captureName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n\n var bubbleListener = getListener(instance, reactName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n\n instance = instance.return;\n }\n\n return listeners;\n}\n\nfunction getParent(inst) {\n if (inst === null) {\n return null;\n }\n\n do {\n inst = inst.return; // TODO: If this is a HostRoot we might want to bail out.\n // That is depending on if we want nested subtrees (layers) to bubble\n // events to their parent. We could also go through parentNode on the\n // host node but that wouldn't work for React Native and doesn't let us\n // do the portal feature.\n } while (inst && inst.tag !== HostComponent);\n\n if (inst) {\n return inst;\n }\n\n return null;\n}\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\n\n\nfunction getLowestCommonAncestor(instA, instB) {\n var nodeA = instA;\n var nodeB = instB;\n var depthA = 0;\n\n for (var tempA = nodeA; tempA; tempA = getParent(tempA)) {\n depthA++;\n }\n\n var depthB = 0;\n\n for (var tempB = nodeB; tempB; tempB = getParent(tempB)) {\n depthB++;\n } // If A is deeper, crawl up.\n\n\n while (depthA - depthB > 0) {\n nodeA = getParent(nodeA);\n depthA--;\n } // If B is deeper, crawl up.\n\n\n while (depthB - depthA > 0) {\n nodeB = getParent(nodeB);\n depthB--;\n } // Walk in lockstep until we find a match.\n\n\n var depth = depthA;\n\n while (depth--) {\n if (nodeA === nodeB || nodeB !== null && nodeA === nodeB.alternate) {\n return nodeA;\n }\n\n nodeA = getParent(nodeA);\n nodeB = getParent(nodeB);\n }\n\n return null;\n}\n\nfunction accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) {\n var registrationName = event._reactName;\n var listeners = [];\n var instance = target;\n\n while (instance !== null) {\n if (instance === common) {\n break;\n }\n\n var _instance4 = instance,\n alternate = _instance4.alternate,\n stateNode = _instance4.stateNode,\n tag = _instance4.tag;\n\n if (alternate !== null && alternate === common) {\n break;\n }\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n\n if (inCapturePhase) {\n var captureListener = getListener(instance, registrationName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n } else if (!inCapturePhase) {\n var bubbleListener = getListener(instance, registrationName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n }\n\n instance = instance.return;\n }\n\n if (listeners.length !== 0) {\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n} // We should only use this function for:\n// - EnterLeaveEventPlugin\n// This is because we only process this plugin\n// in the bubble phase, so we need to accumulate two\n// phase event listeners.\n\n\nfunction accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leaveEvent, enterEvent, from, to) {\n var common = from && to ? getLowestCommonAncestor(from, to) : null;\n\n if (from !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, leaveEvent, from, common, false);\n }\n\n if (to !== null && enterEvent !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, enterEvent, to, common, true);\n }\n}\nfunction getListenerSetKey(domEventName, capture) {\n return domEventName + \"__\" + (capture ? 'capture' : 'bubble');\n}\n\nvar didWarnInvalidHydration = false;\nvar DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML';\nvar SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning';\nvar SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';\nvar AUTOFOCUS = 'autoFocus';\nvar CHILDREN = 'children';\nvar STYLE = 'style';\nvar HTML$1 = '__html';\nvar warnedUnknownTags;\nvar validatePropertiesInDevelopment;\nvar warnForPropDifference;\nvar warnForExtraAttributes;\nvar warnForInvalidEventListener;\nvar canDiffStyleForHydrationWarning;\nvar normalizeHTML;\n\n{\n warnedUnknownTags = {\n // There are working polyfills for <dialog>. Let people use it.\n dialog: true,\n // Electron ships a custom <webview> tag to display external web content in\n // an isolated frame and process.\n // This tag is not present in non Electron environments such as JSDom which\n // is often used for testing purposes.\n // @see https://electronjs.org/docs/api/webview-tag\n webview: true\n };\n\n validatePropertiesInDevelopment = function (type, props) {\n validateProperties(type, props);\n validateProperties$1(type, props);\n validateProperties$2(type, props, {\n registrationNameDependencies: registrationNameDependencies,\n possibleRegistrationNames: possibleRegistrationNames\n });\n }; // IE 11 parses & normalizes the style attribute as opposed to other\n // browsers. It adds spaces and sorts the properties in some\n // non-alphabetical order. Handling that would require sorting CSS\n // properties in the client & server versions or applying\n // `expectedStyle` to a temporary DOM node to read its `style` attribute\n // normalized. Since it only affects IE, we're skipping style warnings\n // in that browser completely in favor of doing all that work.\n // See https://github.com/facebook/react/issues/11807\n\n\n canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode;\n\n warnForPropDifference = function (propName, serverValue, clientValue) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue);\n var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue);\n\n if (normalizedServerValue === normalizedClientValue) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue));\n };\n\n warnForExtraAttributes = function (attributeNames) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n var names = [];\n attributeNames.forEach(function (name) {\n names.push(name);\n });\n\n error('Extra attributes from the server: %s', names);\n };\n\n warnForInvalidEventListener = function (registrationName, listener) {\n if (listener === false) {\n error('Expected `%s` listener to be a function, instead got `false`.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName);\n } else {\n error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener);\n }\n }; // Parse the HTML and read it back to normalize the HTML string so that it\n // can be used for comparison.\n\n\n normalizeHTML = function (parent, html) {\n // We could have created a separate document here to avoid\n // re-initializing custom elements if they exist. But this breaks\n // how <noscript> is being handled. So we use the same document.\n // See the discussion in https://github.com/facebook/react/pull/11157.\n var testElement = parent.namespaceURI === HTML_NAMESPACE ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName);\n testElement.innerHTML = html;\n return testElement.innerHTML;\n };\n} // HTML parsing normalizes CR and CRLF to LF.\n// It also can turn \\u0000 into \\uFFFD inside attributes.\n// https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream\n// If we have a mismatch, it might be caused by that.\n// We will still patch up in this case but not fire the warning.\n\n\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g;\nvar NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\n\nfunction normalizeMarkupForTextOrAttribute(markup) {\n {\n checkHtmlStringCoercion(markup);\n }\n\n var markupString = typeof markup === 'string' ? markup : '' + markup;\n return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, '');\n}\n\nfunction checkForUnmatchedText(serverText, clientText, isConcurrentMode, shouldWarnDev) {\n var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText);\n var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText);\n\n if (normalizedServerText === normalizedClientText) {\n return;\n }\n\n if (shouldWarnDev) {\n {\n if (!didWarnInvalidHydration) {\n didWarnInvalidHydration = true;\n\n error('Text content did not match. Server: \"%s\" Client: \"%s\"', normalizedServerText, normalizedClientText);\n }\n }\n }\n\n if (isConcurrentMode && enableClientRenderFallbackOnTextMismatch) {\n // In concurrent roots, we throw when there's a text mismatch and revert to\n // client rendering, up to the nearest Suspense boundary.\n throw new Error('Text content does not match server-rendered HTML.');\n }\n}\n\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n}\n\nfunction noop() {}\n\nfunction trapClickOnNonInteractiveElement(node) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n // https://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n // Just set it using the onclick property so that we don't have to manage any\n // bookkeeping for it. Not sure if we need to clear it when the listener is\n // removed.\n // TODO: Only do this for the relevant Safaris maybe?\n node.onclick = noop;\n}\n\nfunction setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) {\n for (var propKey in nextProps) {\n if (!nextProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = nextProps[propKey];\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n } // Relies on `updateStylesByID` not mutating `styleUpdates`.\n\n\n setValueForStyles(domElement, nextProp);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n setInnerHTML(domElement, nextHtml);\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string') {\n // Avoid setting initial textContent when the text is empty. In IE11 setting\n // textContent on a <textarea> will cause the placeholder to not\n // show within the <textarea> until it has been focused and blurred again.\n // https://github.com/facebook/react/issues/6731#issuecomment-254874553\n var canSetTextContent = tag !== 'textarea' || nextProp !== '';\n\n if (canSetTextContent) {\n setTextContent(domElement, nextProp);\n }\n } else if (typeof nextProp === 'number') {\n setTextContent(domElement, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (nextProp != null) {\n setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag);\n }\n }\n}\n\nfunction updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) {\n // TODO: Handle wasCustomComponentTag\n for (var i = 0; i < updatePayload.length; i += 2) {\n var propKey = updatePayload[i];\n var propValue = updatePayload[i + 1];\n\n if (propKey === STYLE) {\n setValueForStyles(domElement, propValue);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n setInnerHTML(domElement, propValue);\n } else if (propKey === CHILDREN) {\n setTextContent(domElement, propValue);\n } else {\n setValueForProperty(domElement, propKey, propValue, isCustomComponentTag);\n }\n }\n}\n\nfunction createElement(type, props, rootContainerElement, parentNamespace) {\n var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML\n // tags get no namespace.\n\n var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement);\n var domElement;\n var namespaceURI = parentNamespace;\n\n if (namespaceURI === HTML_NAMESPACE) {\n namespaceURI = getIntrinsicNamespace(type);\n }\n\n if (namespaceURI === HTML_NAMESPACE) {\n {\n isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to\n // allow <SVG> or <mATH>.\n\n if (!isCustomComponentTag && type !== type.toLowerCase()) {\n error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);\n }\n }\n\n if (type === 'script') {\n // Create the script via .innerHTML so its \"parser-inserted\" flag is\n // set to true and it does not execute\n var div = ownerDocument.createElement('div');\n\n div.innerHTML = '<script><' + '/script>'; // eslint-disable-line\n // This is guaranteed to yield a script element.\n\n var firstChild = div.firstChild;\n domElement = div.removeChild(firstChild);\n } else if (typeof props.is === 'string') {\n // $FlowIssue `createElement` should be updated for Web Components\n domElement = ownerDocument.createElement(type, {\n is: props.is\n });\n } else {\n // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size`\n // attributes on `select`s needs to be added before `option`s are inserted.\n // This prevents:\n // - a bug where the `select` does not scroll to the correct option because singular\n // `select` elements automatically pick the first item #13222\n // - a bug where the `select` set the first item as selected despite the `size` attribute #14239\n // See https://github.com/facebook/react/issues/13222\n // and https://github.com/facebook/react/issues/14239\n\n if (type === 'select') {\n var node = domElement;\n\n if (props.multiple) {\n node.multiple = true;\n } else if (props.size) {\n // Setting a size greater than 1 causes a select to behave like `multiple=true`, where\n // it is possible that no option is selected.\n //\n // This is only necessary when a select in \"single selection mode\".\n node.size = props.size;\n }\n }\n }\n } else {\n domElement = ownerDocument.createElementNS(namespaceURI, type);\n }\n\n {\n if (namespaceURI === HTML_NAMESPACE) {\n if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !hasOwnProperty.call(warnedUnknownTags, type)) {\n warnedUnknownTags[type] = true;\n\n error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type);\n }\n }\n }\n\n return domElement;\n}\nfunction createTextNode(text, rootContainerElement) {\n return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text);\n}\nfunction setInitialProperties(domElement, tag, rawProps, rootContainerElement) {\n var isCustomComponentTag = isCustomComponent(tag, rawProps);\n\n {\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n var props;\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n props = rawProps;\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n props = rawProps;\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n props = rawProps;\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n props = rawProps;\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps);\n props = getHostProps(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n props = rawProps;\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps);\n props = getHostProps$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps);\n props = getHostProps$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n default:\n props = rawProps;\n }\n\n assertValidProps(tag, props);\n setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag);\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, false);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'option':\n postMountWrapper$1(domElement, rawProps);\n break;\n\n case 'select':\n postMountWrapper$2(domElement, rawProps);\n break;\n\n default:\n if (typeof props.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n} // Calculate the diff between the two objects.\n\nfunction diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {\n {\n validatePropertiesInDevelopment(tag, nextRawProps);\n }\n\n var updatePayload = null;\n var lastProps;\n var nextProps;\n\n switch (tag) {\n case 'input':\n lastProps = getHostProps(domElement, lastRawProps);\n nextProps = getHostProps(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'select':\n lastProps = getHostProps$1(domElement, lastRawProps);\n nextProps = getHostProps$1(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'textarea':\n lastProps = getHostProps$2(domElement, lastRawProps);\n nextProps = getHostProps$2(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n default:\n lastProps = lastRawProps;\n nextProps = nextRawProps;\n\n if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n assertValidProps(tag, nextProps);\n var propKey;\n var styleName;\n var styleUpdates = null;\n\n for (propKey in lastProps) {\n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n var lastStyle = lastProps[propKey];\n\n for (styleName in lastStyle) {\n if (lastStyle.hasOwnProperty(styleName)) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" fiber pointer gets updated so we need a commit\n // to update this element.\n if (!updatePayload) {\n updatePayload = [];\n }\n } else {\n // For all other deleted properties we add it to the queue. We use\n // the allowed property list in the commit phase instead.\n (updatePayload = updatePayload || []).push(propKey, null);\n }\n }\n\n for (propKey in nextProps) {\n var nextProp = nextProps[propKey];\n var lastProp = lastProps != null ? lastProps[propKey] : undefined;\n\n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n }\n\n if (lastProp) {\n // Unset styles on `lastProp` but not on `nextProp`.\n for (styleName in lastProp) {\n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n } // Update styles that changed since `lastProp`.\n\n\n for (styleName in nextProp) {\n if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = nextProp[styleName];\n }\n }\n } else {\n // Relies on `updateStylesByID` not mutating `styleUpdates`.\n if (!styleUpdates) {\n if (!updatePayload) {\n updatePayload = [];\n }\n\n updatePayload.push(propKey, styleUpdates);\n }\n\n styleUpdates = nextProp;\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n var lastHtml = lastProp ? lastProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n if (lastHtml !== nextHtml) {\n (updatePayload = updatePayload || []).push(propKey, nextHtml);\n }\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string' || typeof nextProp === 'number') {\n (updatePayload = updatePayload || []).push(propKey, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n // We eagerly listen to this even though we haven't committed yet.\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n\n if (!updatePayload && lastProp !== nextProp) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" props pointer gets updated so we need a commit\n // to update this element.\n updatePayload = [];\n }\n } else {\n // For any other property we always add it to the queue and then we\n // filter it out using the allowed property list during the commit.\n (updatePayload = updatePayload || []).push(propKey, nextProp);\n }\n }\n\n if (styleUpdates) {\n {\n validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]);\n }\n\n (updatePayload = updatePayload || []).push(STYLE, styleUpdates);\n }\n\n return updatePayload;\n} // Apply the diff.\n\nfunction updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) {\n // Update checked *before* name.\n // In the middle of an update, it is possible to have multiple checked.\n // When a checked radio tries to change name, browser makes another radio's checked false.\n if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) {\n updateChecked(domElement, nextRawProps);\n }\n\n var wasCustomComponentTag = isCustomComponent(tag, lastRawProps);\n var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff.\n\n updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props\n // changed.\n\n switch (tag) {\n case 'input':\n // Update the wrapper around inputs *after* updating props. This has to\n // happen after `updateDOMProperties`. Otherwise HTML5 input validations\n // raise warnings and prevent the new value from being assigned.\n updateWrapper(domElement, nextRawProps);\n break;\n\n case 'textarea':\n updateWrapper$1(domElement, nextRawProps);\n break;\n\n case 'select':\n // <select> value update needs to occur after <option> children\n // reconciliation\n postUpdateWrapper(domElement, nextRawProps);\n break;\n }\n}\n\nfunction getPossibleStandardName(propName) {\n {\n var lowerCasedName = propName.toLowerCase();\n\n if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n return null;\n }\n\n return possibleStandardNames[lowerCasedName] || null;\n }\n}\n\nfunction diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement, isConcurrentMode, shouldWarnDev) {\n var isCustomComponentTag;\n var extraAttributeNames;\n\n {\n isCustomComponentTag = isCustomComponent(tag, rawProps);\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n }\n\n assertValidProps(tag, rawProps);\n\n {\n extraAttributeNames = new Set();\n var attributes = domElement.attributes;\n\n for (var _i = 0; _i < attributes.length; _i++) {\n var name = attributes[_i].name.toLowerCase();\n\n switch (name) {\n // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n case 'value':\n break;\n\n case 'checked':\n break;\n\n case 'selected':\n break;\n\n default:\n // Intentionally use the original name.\n // See discussion in https://github.com/facebook/react/pull/10676.\n extraAttributeNames.add(attributes[_i].name);\n }\n }\n }\n\n var updatePayload = null;\n\n for (var propKey in rawProps) {\n if (!rawProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = rawProps[propKey];\n\n if (propKey === CHILDREN) {\n // For text content children we compare against textContent. This\n // might match additional HTML that is hidden when we read it using\n // textContent. E.g. \"foo\" will match \"f<span>oo</span>\" but that still\n // satisfies our requirement. Our requirement is not to produce perfect\n // HTML and attributes. Ideally we should preserve structure but it's\n // ok not to if the visible content is still enough to indicate what\n // even listeners these nodes might be wired up to.\n // TODO: Warn if there is more than a single textNode as a child.\n // TODO: Should we use domElement.firstChild.nodeValue to compare?\n if (typeof nextProp === 'string') {\n if (domElement.textContent !== nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, nextProp];\n }\n } else if (typeof nextProp === 'number') {\n if (domElement.textContent !== '' + nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, '' + nextProp];\n }\n }\n } else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (shouldWarnDev && true && // Convince Flow we've calculated it (it's DEV-only in this method.)\n typeof isCustomComponentTag === 'boolean') {\n // Validate that the properties correspond to their expected values.\n var serverValue = void 0;\n var propertyInfo = isCustomComponentTag && enableCustomElementPropertySupport ? null : getPropertyInfo(propKey);\n\n if (rawProps[SUPPRESS_HYDRATION_WARNING] === true) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var serverHTML = domElement.innerHTML;\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n var expectedHTML = normalizeHTML(domElement, nextHtml);\n\n if (expectedHTML !== serverHTML) {\n warnForPropDifference(propKey, serverHTML, expectedHTML);\n }\n }\n } else if (propKey === STYLE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey);\n\n if (canDiffStyleForHydrationWarning) {\n var expectedStyle = createDangerousStringForStyles(nextProp);\n serverValue = domElement.getAttribute('style');\n\n if (expectedStyle !== serverValue) {\n warnForPropDifference(propKey, serverValue, expectedStyle);\n }\n }\n } else if (isCustomComponentTag && !enableCustomElementPropertySupport) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n\n if (nextProp !== serverValue) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) {\n var isMismatchDueToBadCasing = false;\n\n if (propertyInfo !== null) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propertyInfo.attributeName);\n serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo);\n } else {\n var ownNamespace = parentNamespace;\n\n if (ownNamespace === HTML_NAMESPACE) {\n ownNamespace = getIntrinsicNamespace(tag);\n }\n\n if (ownNamespace === HTML_NAMESPACE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n } else {\n var standardName = getPossibleStandardName(propKey);\n\n if (standardName !== null && standardName !== propKey) {\n // If an SVG prop is supplied with bad casing, it will\n // be successfully parsed from HTML, but will produce a mismatch\n // (and would be incorrectly rendered on the client).\n // However, we already warn about bad casing elsewhere.\n // So we'll skip the misleading extra mismatch warning in this case.\n isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined.\n\n extraAttributeNames.delete(standardName);\n } // $FlowFixMe - Should be inferred as not undefined.\n\n\n extraAttributeNames.delete(propKey);\n }\n\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n }\n\n var dontWarnCustomElement = enableCustomElementPropertySupport ;\n\n if (!dontWarnCustomElement && nextProp !== serverValue && !isMismatchDueToBadCasing) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n }\n }\n }\n\n {\n if (shouldWarnDev) {\n if ( // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.size > 0 && rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n // $FlowFixMe - Should be inferred as not undefined.\n warnForExtraAttributes(extraAttributeNames);\n }\n }\n }\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, true);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'select':\n case 'option':\n // For input and textarea we current always set the value property at\n // post mount to force it to diverge from attributes. However, for\n // option and select we don't quite do the same thing and select\n // is not resilient to the DOM state changing so we don't do that here.\n // TODO: Consider not doing this for input and textarea.\n break;\n\n default:\n if (typeof rawProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n return updatePayload;\n}\nfunction diffHydratedText(textNode, text, isConcurrentMode) {\n var isDifferent = textNode.nodeValue !== text;\n return isDifferent;\n}\nfunction warnForDeletedHydratableElement(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForDeletedHydratableText(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain the text node \"%s\" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedElement(parentNode, tag, props) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedText(parentNode, text) {\n {\n if (text === '') {\n // We expect to insert empty text nodes since they're not represented in\n // the HTML.\n // TODO: Remove this special case if we can just avoid inserting empty\n // text nodes.\n return;\n }\n\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching text node for \"%s\" in <%s>.', text, parentNode.nodeName.toLowerCase());\n }\n}\nfunction restoreControlledState$3(domElement, tag, props) {\n switch (tag) {\n case 'input':\n restoreControlledState(domElement, props);\n return;\n\n case 'textarea':\n restoreControlledState$2(domElement, props);\n return;\n\n case 'select':\n restoreControlledState$1(domElement, props);\n return;\n }\n}\n\nvar validateDOMNesting = function () {};\n\nvar updatedAncestorInfo = function () {};\n\n{\n // This validation code was written based on the HTML5 parsing spec:\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n //\n // Note: this does not catch all invalid nesting, nor does it try to (as it's\n // not clear what practical benefit doing so provides); instead, we warn only\n // for cases where the parser will give a parse tree differing from what React\n // intended. For example, <b><div></div></b> is invalid but we don't warn\n // because it still parses correctly; we do warn for other cases like nested\n // <p> tags where the beginning of the second element implicitly closes the\n // first, causing a confusing mess.\n // https://html.spec.whatwg.org/multipage/syntax.html#special\n var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n\n var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n // TODO: Distinguish by namespace here -- for <title>, including it here\n // errs on the side of fewer warnings\n 'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n\n var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n\n var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n var emptyAncestorInfo = {\n current: null,\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null\n };\n\n updatedAncestorInfo = function (oldInfo, tag) {\n var ancestorInfo = assign({}, oldInfo || emptyAncestorInfo);\n\n var info = {\n tag: tag\n };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n } // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.current = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n return ancestorInfo;\n };\n /**\n * Returns whether\n */\n\n\n var isTagValidWithParent = function (tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'option' || tag === 'optgroup' || tag === '#text';\n\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n\n case 'option':\n return tag === '#text';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n\n case 'html':\n return tag === 'head' || tag === 'body' || tag === 'frameset';\n\n case 'frameset':\n return tag === 'frame';\n\n case '#document':\n return tag === 'html';\n } // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'body':\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frameset':\n case 'frame':\n case 'head':\n case 'html':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n };\n /**\n * Returns whether\n */\n\n\n var findInvalidAncestorForTag = function (tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n case 'pre':\n case 'listing':\n case 'table':\n case 'hr':\n case 'xmp':\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n };\n\n var didWarn$1 = {};\n\n validateDOMNesting = function (childTag, childText, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n\n if (childText != null) {\n if (childTag != null) {\n error('validateDOMNesting: when childText is passed, childTag should be null');\n }\n\n childTag = '#text';\n }\n\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var invalidParentOrAncestor = invalidParent || invalidAncestor;\n\n if (!invalidParentOrAncestor) {\n return;\n }\n\n var ancestorTag = invalidParentOrAncestor.tag;\n var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag;\n\n if (didWarn$1[warnKey]) {\n return;\n }\n\n didWarn$1[warnKey] = true;\n var tagDisplayName = childTag;\n var whitespaceInfo = '';\n\n if (childTag === '#text') {\n if (/\\S/.test(childText)) {\n tagDisplayName = 'Text nodes';\n } else {\n tagDisplayName = 'Whitespace text nodes';\n whitespaceInfo = \" Make sure you don't have any extra whitespace between tags on \" + 'each line of your source code.';\n }\n } else {\n tagDisplayName = '<' + childTag + '>';\n }\n\n if (invalidParent) {\n var info = '';\n\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n\n error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info);\n } else {\n error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag);\n }\n };\n}\n\nvar SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning';\nvar SUSPENSE_START_DATA = '$';\nvar SUSPENSE_END_DATA = '/$';\nvar SUSPENSE_PENDING_START_DATA = '$?';\nvar SUSPENSE_FALLBACK_START_DATA = '$!';\nvar STYLE$1 = 'style';\nvar eventsEnabled = null;\nvar selectionInformation = null;\nfunction getRootHostContext(rootContainerInstance) {\n var type;\n var namespace;\n var nodeType = rootContainerInstance.nodeType;\n\n switch (nodeType) {\n case DOCUMENT_NODE:\n case DOCUMENT_FRAGMENT_NODE:\n {\n type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment';\n var root = rootContainerInstance.documentElement;\n namespace = root ? root.namespaceURI : getChildNamespace(null, '');\n break;\n }\n\n default:\n {\n var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance;\n var ownNamespace = container.namespaceURI || null;\n type = container.tagName;\n namespace = getChildNamespace(ownNamespace, type);\n break;\n }\n }\n\n {\n var validatedTag = type.toLowerCase();\n var ancestorInfo = updatedAncestorInfo(null, validatedTag);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getChildHostContext(parentHostContext, type, rootContainerInstance) {\n {\n var parentHostContextDev = parentHostContext;\n var namespace = getChildNamespace(parentHostContextDev.namespace, type);\n var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getPublicInstance(instance) {\n return instance;\n}\nfunction prepareForCommit(containerInfo) {\n eventsEnabled = isEnabled();\n selectionInformation = getSelectionInformation();\n var activeInstance = null;\n\n setEnabled(false);\n return activeInstance;\n}\nfunction resetAfterCommit(containerInfo) {\n restoreSelection(selectionInformation);\n setEnabled(eventsEnabled);\n eventsEnabled = null;\n selectionInformation = null;\n}\nfunction createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) {\n var parentNamespace;\n\n {\n // TODO: take namespace into account when validating.\n var hostContextDev = hostContext;\n validateDOMNesting(type, null, hostContextDev.ancestorInfo);\n\n if (typeof props.children === 'string' || typeof props.children === 'number') {\n var string = '' + props.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n\n parentNamespace = hostContextDev.namespace;\n }\n\n var domElement = createElement(type, props, rootContainerInstance, parentNamespace);\n precacheFiberNode(internalInstanceHandle, domElement);\n updateFiberProps(domElement, props);\n return domElement;\n}\nfunction appendInitialChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) {\n setInitialProperties(domElement, type, props, rootContainerInstance);\n\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n return !!props.autoFocus;\n\n case 'img':\n return true;\n\n default:\n return false;\n }\n}\nfunction prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) {\n {\n var hostContextDev = hostContext;\n\n if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) {\n var string = '' + newProps.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n }\n\n return diffProperties(domElement, type, oldProps, newProps);\n}\nfunction shouldSetTextContent(type, props) {\n return type === 'textarea' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null;\n}\nfunction createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {\n {\n var hostContextDev = hostContext;\n validateDOMNesting(null, text, hostContextDev.ancestorInfo);\n }\n\n var textNode = createTextNode(text, rootContainerInstance);\n precacheFiberNode(internalInstanceHandle, textNode);\n return textNode;\n}\nfunction getCurrentEventPriority() {\n var currentEvent = window.event;\n\n if (currentEvent === undefined) {\n return DefaultEventPriority;\n }\n\n return getEventPriority(currentEvent.type);\n}\n// if a component just imports ReactDOM (e.g. for findDOMNode).\n// Some environments might not have setTimeout or clearTimeout.\n\nvar scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;\nvar cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;\nvar noTimeout = -1;\nvar localPromise = typeof Promise === 'function' ? Promise : undefined; // -------------------\nvar scheduleMicrotask = typeof queueMicrotask === 'function' ? queueMicrotask : typeof localPromise !== 'undefined' ? function (callback) {\n return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);\n} : scheduleTimeout; // TODO: Determine the best fallback here.\n\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n} // -------------------\nfunction commitMount(domElement, type, newProps, internalInstanceHandle) {\n // Despite the naming that might imply otherwise, this method only\n // fires if there is an `Update` effect scheduled during mounting.\n // This happens if `finalizeInitialChildren` returns `true` (which it\n // does to implement the `autoFocus` attribute on the client). But\n // there are also other cases when this might happen (such as patching\n // up text content during hydration mismatch). So we'll check this again.\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n if (newProps.autoFocus) {\n domElement.focus();\n }\n\n return;\n\n case 'img':\n {\n if (newProps.src) {\n domElement.src = newProps.src;\n }\n\n return;\n }\n }\n}\nfunction commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) {\n // Apply the diff to the DOM node.\n updateProperties(domElement, updatePayload, type, oldProps, newProps); // Update the props handle so that we know which props are the ones with\n // with current event handlers.\n\n updateFiberProps(domElement, newProps);\n}\nfunction resetTextContent(domElement) {\n setTextContent(domElement, '');\n}\nfunction commitTextUpdate(textInstance, oldText, newText) {\n textInstance.nodeValue = newText;\n}\nfunction appendChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction appendChildToContainer(container, child) {\n var parentNode;\n\n if (container.nodeType === COMMENT_NODE) {\n parentNode = container.parentNode;\n parentNode.insertBefore(child, container);\n } else {\n parentNode = container;\n parentNode.appendChild(child);\n } // This container might be used for a portal.\n // If something inside a portal is clicked, that click should bubble\n // through the React tree. However, on Mobile Safari the click would\n // never bubble through the *DOM* tree unless an ancestor with onclick\n // event exists. So we wouldn't see it and dispatch it.\n // This is why we ensure that non React root containers have inline onclick\n // defined.\n // https://github.com/facebook/react/issues/11918\n\n\n var reactRootContainer = container._reactRootContainer;\n\n if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(parentNode);\n }\n}\nfunction insertBefore(parentInstance, child, beforeChild) {\n parentInstance.insertBefore(child, beforeChild);\n}\nfunction insertInContainerBefore(container, child, beforeChild) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.insertBefore(child, beforeChild);\n } else {\n container.insertBefore(child, beforeChild);\n }\n}\n\nfunction removeChild(parentInstance, child) {\n parentInstance.removeChild(child);\n}\nfunction removeChildFromContainer(container, child) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.removeChild(child);\n } else {\n container.removeChild(child);\n }\n}\nfunction clearSuspenseBoundary(parentInstance, suspenseInstance) {\n var node = suspenseInstance; // Delete all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n\n if (nextNode && nextNode.nodeType === COMMENT_NODE) {\n var data = nextNode.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n parentInstance.removeChild(nextNode); // Retry if any event replaying was blocked on this.\n\n retryIfBlockedOn(suspenseInstance);\n return;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_PENDING_START_DATA || data === SUSPENSE_FALLBACK_START_DATA) {\n depth++;\n }\n }\n\n node = nextNode;\n } while (node); // TODO: Warn, we didn't find the end comment boundary.\n // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(suspenseInstance);\n}\nfunction clearSuspenseBoundaryFromContainer(container, suspenseInstance) {\n if (container.nodeType === COMMENT_NODE) {\n clearSuspenseBoundary(container.parentNode, suspenseInstance);\n } else if (container.nodeType === ELEMENT_NODE) {\n clearSuspenseBoundary(container, suspenseInstance);\n } // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(container);\n}\nfunction hideInstance(instance) {\n // TODO: Does this work for all element types? What about MathML? Should we\n // pass host context to this method?\n instance = instance;\n var style = instance.style;\n\n if (typeof style.setProperty === 'function') {\n style.setProperty('display', 'none', 'important');\n } else {\n style.display = 'none';\n }\n}\nfunction hideTextInstance(textInstance) {\n textInstance.nodeValue = '';\n}\nfunction unhideInstance(instance, props) {\n instance = instance;\n var styleProp = props[STYLE$1];\n var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null;\n instance.style.display = dangerousStyleValue('display', display);\n}\nfunction unhideTextInstance(textInstance, text) {\n textInstance.nodeValue = text;\n}\nfunction clearContainer(container) {\n if (container.nodeType === ELEMENT_NODE) {\n container.textContent = '';\n } else if (container.nodeType === DOCUMENT_NODE) {\n if (container.documentElement) {\n container.removeChild(container.documentElement);\n }\n }\n} // -------------------\nfunction canHydrateInstance(instance, type, props) {\n if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) {\n return null;\n } // This has now been refined to an element node.\n\n\n return instance;\n}\nfunction canHydrateTextInstance(instance, text) {\n if (text === '' || instance.nodeType !== TEXT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a text node.\n\n\n return instance;\n}\nfunction canHydrateSuspenseInstance(instance) {\n if (instance.nodeType !== COMMENT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a suspense node.\n\n\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return instance.data === SUSPENSE_PENDING_START_DATA;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return instance.data === SUSPENSE_FALLBACK_START_DATA;\n}\nfunction getSuspenseInstanceFallbackErrorDetails(instance) {\n var dataset = instance.nextSibling && instance.nextSibling.dataset;\n var digest, message, stack;\n\n if (dataset) {\n digest = dataset.dgst;\n\n {\n message = dataset.msg;\n stack = dataset.stck;\n }\n }\n\n {\n return {\n message: message,\n digest: digest,\n stack: stack\n };\n } // let value = {message: undefined, hash: undefined};\n // const nextSibling = instance.nextSibling;\n // if (nextSibling) {\n // const dataset = ((nextSibling: any): HTMLTemplateElement).dataset;\n // value.message = dataset.msg;\n // value.hash = dataset.hash;\n // if (true) {\n // value.stack = dataset.stack;\n // }\n // }\n // return value;\n\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n instance._reactRetry = callback;\n}\n\nfunction getNextHydratable(node) {\n // Skip non-hydratable nodes.\n for (; node != null; node = node.nextSibling) {\n var nodeType = node.nodeType;\n\n if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) {\n break;\n }\n\n if (nodeType === COMMENT_NODE) {\n var nodeData = node.data;\n\n if (nodeData === SUSPENSE_START_DATA || nodeData === SUSPENSE_FALLBACK_START_DATA || nodeData === SUSPENSE_PENDING_START_DATA) {\n break;\n }\n\n if (nodeData === SUSPENSE_END_DATA) {\n return null;\n }\n }\n }\n\n return node;\n}\n\nfunction getNextHydratableSibling(instance) {\n return getNextHydratable(instance.nextSibling);\n}\nfunction getFirstHydratableChild(parentInstance) {\n return getNextHydratable(parentInstance.firstChild);\n}\nfunction getFirstHydratableChildWithinContainer(parentContainer) {\n return getNextHydratable(parentContainer.firstChild);\n}\nfunction getFirstHydratableChildWithinSuspenseInstance(parentInstance) {\n return getNextHydratable(parentInstance.nextSibling);\n}\nfunction hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events\n // get attached.\n\n updateFiberProps(instance, props);\n var parentNamespace;\n\n {\n var hostContextDev = hostContext;\n parentNamespace = hostContextDev.namespace;\n } // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance, isConcurrentMode, shouldWarnDev);\n}\nfunction hydrateTextInstance(textInstance, text, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, textInstance); // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedText(textInstance, text);\n}\nfunction hydrateSuspenseInstance(suspenseInstance, internalInstanceHandle) {\n precacheFiberNode(internalInstanceHandle, suspenseInstance);\n}\nfunction getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {\n var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n return getNextHydratableSibling(node);\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n depth++;\n }\n }\n\n node = node.nextSibling;\n } // TODO: Warn, we didn't find the end comment boundary.\n\n\n return null;\n} // Returns the SuspenseInstance if this node is a direct child of a\n// SuspenseInstance. I.e. if its previous sibling is a Comment with\n// SUSPENSE_x_START_DATA. Otherwise, null.\n\nfunction getParentSuspenseInstance(targetInstance) {\n var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n if (depth === 0) {\n return node;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_END_DATA) {\n depth++;\n }\n }\n\n node = node.previousSibling;\n }\n\n return null;\n}\nfunction commitHydratedContainer(container) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(container);\n}\nfunction commitHydratedSuspenseInstance(suspenseInstance) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(suspenseInstance);\n}\nfunction shouldDeleteUnhydratedTailInstances(parentType) {\n return parentType !== 'head' && parentType !== 'body';\n}\nfunction didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text, isConcurrentMode) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n}\nfunction didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text, isConcurrentMode) {\n if (parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n }\n}\nfunction didNotHydrateInstanceWithinContainer(parentContainer, instance) {\n {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentContainer, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentContainer, instance);\n }\n }\n}\nfunction didNotHydrateInstanceWithinSuspenseInstance(parentInstance, instance) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n\n if (parentNode !== null) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentNode, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentNode, instance);\n }\n }\n }\n}\nfunction didNotHydrateInstance(parentType, parentProps, parentInstance, instance, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentInstance, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentInstance, instance);\n }\n }\n }\n}\nfunction didNotFindHydratableInstanceWithinContainer(parentContainer, type, props) {\n {\n warnForInsertedHydratedElement(parentContainer, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinContainer(parentContainer, text) {\n {\n warnForInsertedHydratedText(parentContainer, text);\n }\n}\nfunction didNotFindHydratableInstanceWithinSuspenseInstance(parentInstance, type, props) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedElement(parentNode, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinSuspenseInstance(parentInstance, text) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedText(parentNode, text);\n }\n}\nfunction didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedElement(parentInstance, type);\n }\n }\n}\nfunction didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedText(parentInstance, text);\n }\n }\n}\nfunction errorHydratingContainer(parentContainer) {\n {\n // TODO: This gets logged by onRecoverableError, too, so we should be\n // able to remove it.\n error('An error occurred during hydration. The server HTML was replaced with client content in <%s>.', parentContainer.nodeName.toLowerCase());\n }\n}\nfunction preparePortalMount(portalInstance) {\n listenToAllSupportedEvents(portalInstance);\n}\n\nvar randomKey = Math.random().toString(36).slice(2);\nvar internalInstanceKey = '__reactFiber$' + randomKey;\nvar internalPropsKey = '__reactProps$' + randomKey;\nvar internalContainerInstanceKey = '__reactContainer$' + randomKey;\nvar internalEventHandlersKey = '__reactEvents$' + randomKey;\nvar internalEventHandlerListenersKey = '__reactListeners$' + randomKey;\nvar internalEventHandlesSetKey = '__reactHandles$' + randomKey;\nfunction detachDeletedInstance(node) {\n // TODO: This function is only called on host components. I don't think all of\n // these fields are relevant.\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction precacheFiberNode(hostInst, node) {\n node[internalInstanceKey] = hostInst;\n}\nfunction markContainerAsRoot(hostRoot, node) {\n node[internalContainerInstanceKey] = hostRoot;\n}\nfunction unmarkContainerAsRoot(node) {\n node[internalContainerInstanceKey] = null;\n}\nfunction isContainerMarkedAsRoot(node) {\n return !!node[internalContainerInstanceKey];\n} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor.\n// If the target node is part of a hydrated or not yet rendered subtree, then\n// this may also return a SuspenseComponent or HostRoot to indicate that.\n// Conceptually the HostRoot fiber is a child of the Container node. So if you\n// pass the Container node as the targetNode, you will not actually get the\n// HostRoot back. To get to the HostRoot, you need to pass a child of it.\n// The same thing applies to Suspense boundaries.\n\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n\n if (targetInst) {\n // Don't return HostRoot or SuspenseComponent here.\n return targetInst;\n } // If the direct event target isn't a React owned DOM node, we need to look\n // to see if one of its parents is a React owned DOM node.\n\n\n var parentNode = targetNode.parentNode;\n\n while (parentNode) {\n // We'll check if this is a container root that could include\n // React nodes in the future. We need to check this first because\n // if we're a child of a dehydrated container, we need to first\n // find that inner container before moving on to finding the parent\n // instance. Note that we don't check this field on the targetNode\n // itself because the fibers are conceptually between the container\n // node and the first child. It isn't surrounding the container node.\n // If it's not a container, we check if it's an instance.\n targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey];\n\n if (targetInst) {\n // Since this wasn't the direct target of the event, we might have\n // stepped past dehydrated DOM nodes to get here. However they could\n // also have been non-React nodes. We need to answer which one.\n // If we the instance doesn't have any children, then there can't be\n // a nested suspense boundary within it. So we can use this as a fast\n // bailout. Most of the time, when people add non-React children to\n // the tree, it is using a ref to a child-less DOM node.\n // Normally we'd only need to check one of the fibers because if it\n // has ever gone from having children to deleting them or vice versa\n // it would have deleted the dehydrated boundary nested inside already.\n // However, since the HostRoot starts out with an alternate it might\n // have one on the alternate so we need to check in case this was a\n // root.\n var alternate = targetInst.alternate;\n\n if (targetInst.child !== null || alternate !== null && alternate.child !== null) {\n // Next we need to figure out if the node that skipped past is\n // nested within a dehydrated boundary and if so, which one.\n var suspenseInstance = getParentSuspenseInstance(targetNode);\n\n while (suspenseInstance !== null) {\n // We found a suspense instance. That means that we haven't\n // hydrated it yet. Even though we leave the comments in the\n // DOM after hydrating, and there are boundaries in the DOM\n // that could already be hydrated, we wouldn't have found them\n // through this pass since if the target is hydrated it would\n // have had an internalInstanceKey on it.\n // Let's get the fiber associated with the SuspenseComponent\n // as the deepest instance.\n var targetSuspenseInst = suspenseInstance[internalInstanceKey];\n\n if (targetSuspenseInst) {\n return targetSuspenseInst;\n } // If we don't find a Fiber on the comment, it might be because\n // we haven't gotten to hydrate it yet. There might still be a\n // parent boundary that hasn't above this one so we need to find\n // the outer most that is known.\n\n\n suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent\n // host component also hasn't hydrated yet. We can return it\n // below since it will bail out on the isMounted check later.\n }\n }\n\n return targetInst;\n }\n\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n\n return null;\n}\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\n\nfunction getInstanceFromNode(node) {\n var inst = node[internalInstanceKey] || node[internalContainerInstanceKey];\n\n if (inst) {\n if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) {\n return inst;\n } else {\n return null;\n }\n }\n\n return null;\n}\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\n\nfunction getNodeFromInstance(inst) {\n if (inst.tag === HostComponent || inst.tag === HostText) {\n // In Fiber this, is just the state node right now. We assume it will be\n // a host component or host text.\n return inst.stateNode;\n } // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n\n\n throw new Error('getNodeFromInstance: Invalid argument.');\n}\nfunction getFiberCurrentPropsFromNode(node) {\n return node[internalPropsKey] || null;\n}\nfunction updateFiberProps(node, props) {\n node[internalPropsKey] = props;\n}\nfunction getEventListenerSet(node) {\n var elementListenerSet = node[internalEventHandlersKey];\n\n if (elementListenerSet === undefined) {\n elementListenerSet = node[internalEventHandlersKey] = new Set();\n }\n\n return elementListenerSet;\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar valueStack = [];\nvar fiberStack;\n\n{\n fiberStack = [];\n}\n\nvar index = -1;\n\nfunction createCursor(defaultValue) {\n return {\n current: defaultValue\n };\n}\n\nfunction pop(cursor, fiber) {\n if (index < 0) {\n {\n error('Unexpected pop.');\n }\n\n return;\n }\n\n {\n if (fiber !== fiberStack[index]) {\n error('Unexpected Fiber popped.');\n }\n }\n\n cursor.current = valueStack[index];\n valueStack[index] = null;\n\n {\n fiberStack[index] = null;\n }\n\n index--;\n}\n\nfunction push(cursor, value, fiber) {\n index++;\n valueStack[index] = cursor.current;\n\n {\n fiberStack[index] = fiber;\n }\n\n cursor.current = value;\n}\n\nvar warnedAboutMissingGetChildContext;\n\n{\n warnedAboutMissingGetChildContext = {};\n}\n\nvar emptyContextObject = {};\n\n{\n Object.freeze(emptyContextObject);\n} // A cursor to the current merged context object on the stack.\n\n\nvar contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed.\n\nvar didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack.\n// We use this to get access to the parent context after we have already\n// pushed the next context provider, and now need to merge their contexts.\n\nvar previousContext = emptyContextObject;\n\nfunction getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) {\n {\n if (didPushOwnContextIfProvider && isContextProvider(Component)) {\n // If the fiber is a context provider itself, when we read its context\n // we may have already pushed its own child context on the stack. A context\n // provider should not \"see\" its own child context. Therefore we read the\n // previous (parent) context instead for a context provider.\n return previousContext;\n }\n\n return contextStackCursor.current;\n }\n}\n\nfunction cacheContext(workInProgress, unmaskedContext, maskedContext) {\n {\n var instance = workInProgress.stateNode;\n instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext;\n instance.__reactInternalMemoizedMaskedChildContext = maskedContext;\n }\n}\n\nfunction getMaskedContext(workInProgress, unmaskedContext) {\n {\n var type = workInProgress.type;\n var contextTypes = type.contextTypes;\n\n if (!contextTypes) {\n return emptyContextObject;\n } // Avoid recreating masked context unless unmasked context has changed.\n // Failing to do this will result in unnecessary calls to componentWillReceiveProps.\n // This may trigger infinite loops if componentWillReceiveProps calls setState.\n\n\n var instance = workInProgress.stateNode;\n\n if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) {\n return instance.__reactInternalMemoizedMaskedChildContext;\n }\n\n var context = {};\n\n for (var key in contextTypes) {\n context[key] = unmaskedContext[key];\n }\n\n {\n var name = getComponentNameFromFiber(workInProgress) || 'Unknown';\n checkPropTypes(contextTypes, context, 'context', name);\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // Context is created before the class component is instantiated so check for instance.\n\n\n if (instance) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return context;\n }\n}\n\nfunction hasContextChanged() {\n {\n return didPerformWorkStackCursor.current;\n }\n}\n\nfunction isContextProvider(type) {\n {\n var childContextTypes = type.childContextTypes;\n return childContextTypes !== null && childContextTypes !== undefined;\n }\n}\n\nfunction popContext(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction popTopLevelContextObject(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction pushTopLevelContextObject(fiber, context, didChange) {\n {\n if (contextStackCursor.current !== emptyContextObject) {\n throw new Error('Unexpected context found on stack. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n push(contextStackCursor, context, fiber);\n push(didPerformWorkStackCursor, didChange, fiber);\n }\n}\n\nfunction processChildContext(fiber, type, parentContext) {\n {\n var instance = fiber.stateNode;\n var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future.\n // It has only been added in Fiber to match the (unintentional) behavior in Stack.\n\n if (typeof instance.getChildContext !== 'function') {\n {\n var componentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n if (!warnedAboutMissingGetChildContext[componentName]) {\n warnedAboutMissingGetChildContext[componentName] = true;\n\n error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);\n }\n }\n\n return parentContext;\n }\n\n var childContext = instance.getChildContext();\n\n for (var contextKey in childContext) {\n if (!(contextKey in childContextTypes)) {\n throw new Error((getComponentNameFromFiber(fiber) || 'Unknown') + \".getChildContext(): key \\\"\" + contextKey + \"\\\" is not defined in childContextTypes.\");\n }\n }\n\n {\n var name = getComponentNameFromFiber(fiber) || 'Unknown';\n checkPropTypes(childContextTypes, childContext, 'child context', name);\n }\n\n return assign({}, parentContext, childContext);\n }\n}\n\nfunction pushContextProvider(workInProgress) {\n {\n var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity.\n // If the instance does not exist yet, we will push null at first,\n // and replace it on the stack later when invalidating the context.\n\n var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later.\n // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates.\n\n previousContext = contextStackCursor.current;\n push(contextStackCursor, memoizedMergedChildContext, workInProgress);\n push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress);\n return true;\n }\n}\n\nfunction invalidateContextProvider(workInProgress, type, didChange) {\n {\n var instance = workInProgress.stateNode;\n\n if (!instance) {\n throw new Error('Expected to have an instance by this point. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n if (didChange) {\n // Merge parent and own context.\n // Skip this if we're not updating due to sCU.\n // This avoids unnecessarily recomputing memoized values.\n var mergedContext = processChildContext(workInProgress, type, previousContext);\n instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one.\n // It is important to unwind the context in the reverse order.\n\n pop(didPerformWorkStackCursor, workInProgress);\n pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed.\n\n push(contextStackCursor, mergedContext, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n } else {\n pop(didPerformWorkStackCursor, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n }\n }\n}\n\nfunction findCurrentUnmaskedContext(fiber) {\n {\n // Currently this is only used with renderSubtreeIntoContainer; not sure if it\n // makes sense elsewhere\n if (!isFiberMounted(fiber) || fiber.tag !== ClassComponent) {\n throw new Error('Expected subtree parent to be a mounted class component. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var node = fiber;\n\n do {\n switch (node.tag) {\n case HostRoot:\n return node.stateNode.context;\n\n case ClassComponent:\n {\n var Component = node.type;\n\n if (isContextProvider(Component)) {\n return node.stateNode.__reactInternalMemoizedMergedChildContext;\n }\n\n break;\n }\n }\n\n node = node.return;\n } while (node !== null);\n\n throw new Error('Found unexpected detached subtree parent. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n}\n\nvar LegacyRoot = 0;\nvar ConcurrentRoot = 1;\n\nvar syncQueue = null;\nvar includesLegacySyncCallbacks = false;\nvar isFlushingSyncQueue = false;\nfunction scheduleSyncCallback(callback) {\n // Push this callback into an internal queue. We'll flush these either in\n // the next tick, or earlier if something calls `flushSyncCallbackQueue`.\n if (syncQueue === null) {\n syncQueue = [callback];\n } else {\n // Push onto existing queue. Don't need to schedule a callback because\n // we already scheduled one when we created the queue.\n syncQueue.push(callback);\n }\n}\nfunction scheduleLegacySyncCallback(callback) {\n includesLegacySyncCallbacks = true;\n scheduleSyncCallback(callback);\n}\nfunction flushSyncCallbacksOnlyInLegacyMode() {\n // Only flushes the queue if there's a legacy sync callback scheduled.\n // TODO: There's only a single type of callback: performSyncOnWorkOnRoot. So\n // it might make more sense for the queue to be a list of roots instead of a\n // list of generic callbacks. Then we can have two: one for legacy roots, one\n // for concurrent roots. And this method would only flush the legacy ones.\n if (includesLegacySyncCallbacks) {\n flushSyncCallbacks();\n }\n}\nfunction flushSyncCallbacks() {\n if (!isFlushingSyncQueue && syncQueue !== null) {\n // Prevent re-entrance.\n isFlushingSyncQueue = true;\n var i = 0;\n var previousUpdatePriority = getCurrentUpdatePriority();\n\n try {\n var isSync = true;\n var queue = syncQueue; // TODO: Is this necessary anymore? The only user code that runs in this\n // queue is in the render or commit phases.\n\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(isSync);\n } while (callback !== null);\n }\n\n syncQueue = null;\n includesLegacySyncCallbacks = false;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n if (syncQueue !== null) {\n syncQueue = syncQueue.slice(i + 1);\n } // Resume flushing in the next tick\n\n\n scheduleCallback(ImmediatePriority, flushSyncCallbacks);\n throw error;\n } finally {\n setCurrentUpdatePriority(previousUpdatePriority);\n isFlushingSyncQueue = false;\n }\n }\n\n return null;\n}\n\n// TODO: Use the unified fiber stack module instead of this local one?\n// Intentionally not using it yet to derisk the initial implementation, because\n// the way we push/pop these values is a bit unusual. If there's a mistake, I'd\n// rather the ids be wrong than crash the whole reconciler.\nvar forkStack = [];\nvar forkStackIndex = 0;\nvar treeForkProvider = null;\nvar treeForkCount = 0;\nvar idStack = [];\nvar idStackIndex = 0;\nvar treeContextProvider = null;\nvar treeContextId = 1;\nvar treeContextOverflow = '';\nfunction isForkedChild(workInProgress) {\n warnIfNotHydrating();\n return (workInProgress.flags & Forked) !== NoFlags;\n}\nfunction getForksAtLevel(workInProgress) {\n warnIfNotHydrating();\n return treeForkCount;\n}\nfunction getTreeId() {\n var overflow = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n var id = idWithLeadingBit & ~getLeadingBit(idWithLeadingBit);\n return id.toString(32) + overflow;\n}\nfunction pushTreeFork(workInProgress, totalChildren) {\n // This is called right after we reconcile an array (or iterator) of child\n // fibers, because that's the only place where we know how many children in\n // the whole set without doing extra work later, or storing addtional\n // information on the fiber.\n //\n // That's why this function is separate from pushTreeId — it's called during\n // the render phase of the fork parent, not the child, which is where we push\n // the other context values.\n //\n // In the Fizz implementation this is much simpler because the child is\n // rendered in the same callstack as the parent.\n //\n // It might be better to just add a `forks` field to the Fiber type. It would\n // make this module simpler.\n warnIfNotHydrating();\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n var baseOverflow = treeContextOverflow; // The leftmost 1 marks the end of the sequence, non-inclusive. It's not part\n // of the id; we use it to account for leading 0s.\n\n var baseLength = getBitLength(baseIdWithLeadingBit) - 1;\n var baseId = baseIdWithLeadingBit & ~(1 << baseLength);\n var slot = index + 1;\n var length = getBitLength(totalChildren) + baseLength; // 30 is the max length we can store without overflowing, taking into\n // consideration the leading 1 we use to mark the end of the sequence.\n\n if (length > 30) {\n // We overflowed the bitwise-safe range. Fall back to slower algorithm.\n // This branch assumes the length of the base id is greater than 5; it won't\n // work for smaller ids, because you need 5 bits per character.\n //\n // We encode the id in multiple steps: first the base id, then the\n // remaining digits.\n //\n // Each 5 bit sequence corresponds to a single base 32 character. So for\n // example, if the current id is 23 bits long, we can convert 20 of those\n // bits into a string of 4 characters, with 3 bits left over.\n //\n // First calculate how many bits in the base id represent a complete\n // sequence of characters.\n var numberOfOverflowBits = baseLength - baseLength % 5; // Then create a bitmask that selects only those bits.\n\n var newOverflowBits = (1 << numberOfOverflowBits) - 1; // Select the bits, and convert them to a base 32 string.\n\n var newOverflow = (baseId & newOverflowBits).toString(32); // Now we can remove those bits from the base id.\n\n var restOfBaseId = baseId >> numberOfOverflowBits;\n var restOfBaseLength = baseLength - numberOfOverflowBits; // Finally, encode the rest of the bits using the normal algorithm. Because\n // we made more room, this time it won't overflow.\n\n var restOfLength = getBitLength(totalChildren) + restOfBaseLength;\n var restOfNewBits = slot << restOfBaseLength;\n var id = restOfNewBits | restOfBaseId;\n var overflow = newOverflow + baseOverflow;\n treeContextId = 1 << restOfLength | id;\n treeContextOverflow = overflow;\n } else {\n // Normal path\n var newBits = slot << baseLength;\n\n var _id = newBits | baseId;\n\n var _overflow = baseOverflow;\n treeContextId = 1 << length | _id;\n treeContextOverflow = _overflow;\n }\n}\nfunction pushMaterializedTreeId(workInProgress) {\n warnIfNotHydrating(); // This component materialized an id. This will affect any ids that appear\n // in its children.\n\n var returnFiber = workInProgress.return;\n\n if (returnFiber !== null) {\n var numberOfForks = 1;\n var slotIndex = 0;\n pushTreeFork(workInProgress, numberOfForks);\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n}\n\nfunction getBitLength(number) {\n return 32 - clz32(number);\n}\n\nfunction getLeadingBit(id) {\n return 1 << getBitLength(id) - 1;\n}\n\nfunction popTreeContext(workInProgress) {\n // Restore the previous values.\n // This is a bit more complicated than other context-like modules in Fiber\n // because the same Fiber may appear on the stack multiple times and for\n // different reasons. We have to keep popping until the work-in-progress is\n // no longer at the top of the stack.\n while (workInProgress === treeForkProvider) {\n treeForkProvider = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n treeForkCount = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n }\n\n while (workInProgress === treeContextProvider) {\n treeContextProvider = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextOverflow = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextId = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n }\n}\nfunction getSuspendedTreeContext() {\n warnIfNotHydrating();\n\n if (treeContextProvider !== null) {\n return {\n id: treeContextId,\n overflow: treeContextOverflow\n };\n } else {\n return null;\n }\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\n\nfunction warnIfNotHydrating() {\n {\n if (!getIsHydrating()) {\n error('Expected to be hydrating. This is a bug in React. Please file ' + 'an issue.');\n }\n }\n}\n\n// This may have been an insertion or a hydration.\n\nvar hydrationParentFiber = null;\nvar nextHydratableInstance = null;\nvar isHydrating = false; // This flag allows for warning supression when we expect there to be mismatches\n// due to earlier mismatches or a suspended fiber.\n\nvar didSuspendOrErrorDEV = false; // Hydration errors that were thrown inside this boundary\n\nvar hydrationErrors = null;\n\nfunction warnIfHydrating() {\n {\n if (isHydrating) {\n error('We should not be hydrating here. This is a bug in React. Please file a bug.');\n }\n }\n}\n\nfunction markDidThrowWhileHydratingDEV() {\n {\n didSuspendOrErrorDEV = true;\n }\n}\nfunction didSuspendOrErrorWhileHydratingDEV() {\n {\n return didSuspendOrErrorDEV;\n }\n}\n\nfunction enterHydrationState(fiber) {\n\n var parentInstance = fiber.stateNode.containerInfo;\n nextHydratableInstance = getFirstHydratableChildWithinContainer(parentInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n return true;\n}\n\nfunction reenterHydrationStateFromDehydratedSuspenseInstance(fiber, suspenseInstance, treeContext) {\n\n nextHydratableInstance = getFirstHydratableChildWithinSuspenseInstance(suspenseInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n\n if (treeContext !== null) {\n restoreSuspendedTreeContext(fiber, treeContext);\n }\n\n return true;\n}\n\nfunction warnUnhydratedInstance(returnFiber, instance) {\n {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n didNotHydrateInstanceWithinContainer(returnFiber.stateNode.containerInfo, instance);\n break;\n }\n\n case HostComponent:\n {\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n if (suspenseState.dehydrated !== null) didNotHydrateInstanceWithinSuspenseInstance(suspenseState.dehydrated, instance);\n break;\n }\n }\n }\n}\n\nfunction deleteHydratableInstance(returnFiber, instance) {\n warnUnhydratedInstance(returnFiber, instance);\n var childToDelete = createFiberFromHostInstanceForDeletion();\n childToDelete.stateNode = instance;\n childToDelete.return = returnFiber;\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n}\n\nfunction warnNonhydratedInstance(returnFiber, fiber) {\n {\n if (didSuspendOrErrorDEV) {\n // Inside a boundary that already suspended. We're currently rendering the\n // siblings of a suspended node. The mismatch may be due to the missing\n // data, so it's probably a false positive.\n return;\n }\n\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n\n switch (fiber.tag) {\n case HostComponent:\n var type = fiber.type;\n var props = fiber.pendingProps;\n didNotFindHydratableInstanceWithinContainer(parentContainer, type);\n break;\n\n case HostText:\n var text = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinContainer(parentContainer, text);\n break;\n }\n\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n switch (fiber.tag) {\n case HostComponent:\n {\n var _type = fiber.type;\n var _props = fiber.pendingProps;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostText:\n {\n var _text = fiber.pendingProps;\n\n var _isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode);\n break;\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n var _parentInstance = suspenseState.dehydrated;\n if (_parentInstance !== null) switch (fiber.tag) {\n case HostComponent:\n var _type2 = fiber.type;\n var _props2 = fiber.pendingProps;\n didNotFindHydratableInstanceWithinSuspenseInstance(_parentInstance, _type2);\n break;\n\n case HostText:\n var _text2 = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinSuspenseInstance(_parentInstance, _text2);\n break;\n }\n break;\n }\n\n default:\n return;\n }\n }\n}\n\nfunction insertNonHydratedInstance(returnFiber, fiber) {\n fiber.flags = fiber.flags & ~Hydrating | Placement;\n warnNonhydratedInstance(returnFiber, fiber);\n}\n\nfunction tryHydrate(fiber, nextInstance) {\n switch (fiber.tag) {\n case HostComponent:\n {\n var type = fiber.type;\n var props = fiber.pendingProps;\n var instance = canHydrateInstance(nextInstance, type);\n\n if (instance !== null) {\n fiber.stateNode = instance;\n hydrationParentFiber = fiber;\n nextHydratableInstance = getFirstHydratableChild(instance);\n return true;\n }\n\n return false;\n }\n\n case HostText:\n {\n var text = fiber.pendingProps;\n var textInstance = canHydrateTextInstance(nextInstance, text);\n\n if (textInstance !== null) {\n fiber.stateNode = textInstance;\n hydrationParentFiber = fiber; // Text Instances don't have children so there's nothing to hydrate.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n case SuspenseComponent:\n {\n var suspenseInstance = canHydrateSuspenseInstance(nextInstance);\n\n if (suspenseInstance !== null) {\n var suspenseState = {\n dehydrated: suspenseInstance,\n treeContext: getSuspendedTreeContext(),\n retryLane: OffscreenLane\n };\n fiber.memoizedState = suspenseState; // Store the dehydrated fragment as a child fiber.\n // This simplifies the code for getHostSibling and deleting nodes,\n // since it doesn't have to consider all Suspense boundaries and\n // check if they're dehydrated ones or not.\n\n var dehydratedFragment = createFiberFromDehydratedFragment(suspenseInstance);\n dehydratedFragment.return = fiber;\n fiber.child = dehydratedFragment;\n hydrationParentFiber = fiber; // While a Suspense Instance does have children, we won't step into\n // it during the first pass. Instead, we'll reenter it later.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n default:\n return false;\n }\n}\n\nfunction shouldClientRenderOnMismatch(fiber) {\n return (fiber.mode & ConcurrentMode) !== NoMode && (fiber.flags & DidCapture) === NoFlags;\n}\n\nfunction throwOnHydrationMismatch(fiber) {\n throw new Error('Hydration failed because the initial UI does not match what was ' + 'rendered on the server.');\n}\n\nfunction tryToClaimNextHydratableInstance(fiber) {\n if (!isHydrating) {\n return;\n }\n\n var nextInstance = nextHydratableInstance;\n\n if (!nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // Nothing to hydrate. Make it an insertion.\n\n\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n }\n\n var firstAttemptedInstance = nextInstance;\n\n if (!tryHydrate(fiber, nextInstance)) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // If we can't hydrate this instance let's try the next one.\n // We use this as a heuristic. It's based on intuition and not data so it\n // might be flawed or unnecessary.\n\n\n nextInstance = getNextHydratableSibling(firstAttemptedInstance);\n var prevHydrationParentFiber = hydrationParentFiber;\n\n if (!nextInstance || !tryHydrate(fiber, nextInstance)) {\n // Nothing to hydrate. Make it an insertion.\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n } // We matched the next one, we'll now assume that the first one was\n // superfluous and we'll delete it. Since we can't eagerly delete it\n // we'll have to schedule a deletion. To do that, this node needs a dummy\n // fiber associated with it.\n\n\n deleteHydratableInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n}\n\nfunction prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) {\n\n var instance = fiber.stateNode;\n var shouldWarnIfMismatchDev = !didSuspendOrErrorDEV;\n var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber, shouldWarnIfMismatchDev); // TODO: Type this specific to this type of component.\n\n fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update.\n\n if (updatePayload !== null) {\n return true;\n }\n\n return false;\n}\n\nfunction prepareToHydrateHostTextInstance(fiber) {\n\n var textInstance = fiber.stateNode;\n var textContent = fiber.memoizedProps;\n var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber);\n\n if (shouldUpdate) {\n // We assume that prepareToHydrateHostTextInstance is called in a context where the\n // hydration parent is the parent host component of this host text.\n var returnFiber = hydrationParentFiber;\n\n if (returnFiber !== null) {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n var _isConcurrentMode2 = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode2);\n break;\n }\n }\n }\n }\n\n return shouldUpdate;\n}\n\nfunction prepareToHydrateHostSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n hydrateSuspenseInstance(suspenseInstance, fiber);\n}\n\nfunction skipPastDehydratedSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance);\n}\n\nfunction popToNextHostParent(fiber) {\n var parent = fiber.return;\n\n while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) {\n parent = parent.return;\n }\n\n hydrationParentFiber = parent;\n}\n\nfunction popHydrationState(fiber) {\n\n if (fiber !== hydrationParentFiber) {\n // We're deeper than the current hydration context, inside an inserted\n // tree.\n return false;\n }\n\n if (!isHydrating) {\n // If we're not currently hydrating but we're in a hydration context, then\n // we were an insertion and now need to pop up reenter hydration of our\n // siblings.\n popToNextHostParent(fiber);\n isHydrating = true;\n return false;\n } // If we have any remaining hydratable nodes, we need to delete them now.\n // We only do this deeper than head and body since they tend to have random\n // other nodes in them. We also ignore components with pure text content in\n // side of them. We also don't delete anything inside the root container.\n\n\n if (fiber.tag !== HostRoot && (fiber.tag !== HostComponent || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps))) {\n var nextInstance = nextHydratableInstance;\n\n if (nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnIfUnhydratedTailNodes(fiber);\n throwOnHydrationMismatch();\n } else {\n while (nextInstance) {\n deleteHydratableInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n }\n }\n }\n\n popToNextHostParent(fiber);\n\n if (fiber.tag === SuspenseComponent) {\n nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber);\n } else {\n nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;\n }\n\n return true;\n}\n\nfunction hasUnhydratedTailNodes() {\n return isHydrating && nextHydratableInstance !== null;\n}\n\nfunction warnIfUnhydratedTailNodes(fiber) {\n var nextInstance = nextHydratableInstance;\n\n while (nextInstance) {\n warnUnhydratedInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n}\n\nfunction resetHydrationState() {\n\n hydrationParentFiber = null;\n nextHydratableInstance = null;\n isHydrating = false;\n didSuspendOrErrorDEV = false;\n}\n\nfunction upgradeHydrationErrorsToRecoverable() {\n if (hydrationErrors !== null) {\n // Successfully completed a forced client render. The errors that occurred\n // during the hydration attempt are now recovered. We will log them in\n // commit phase, once the entire tree has finished.\n queueRecoverableErrors(hydrationErrors);\n hydrationErrors = null;\n }\n}\n\nfunction getIsHydrating() {\n return isHydrating;\n}\n\nfunction queueHydrationError(error) {\n if (hydrationErrors === null) {\n hydrationErrors = [error];\n } else {\n hydrationErrors.push(error);\n }\n}\n\nvar ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar NoTransition = null;\nfunction requestCurrentTransition() {\n return ReactCurrentBatchConfig$1.transition;\n}\n\nvar ReactStrictModeWarnings = {\n recordUnsafeLifecycleWarnings: function (fiber, instance) {},\n flushPendingUnsafeLifecycleWarnings: function () {},\n recordLegacyContextWarning: function (fiber, instance) {},\n flushLegacyContextWarning: function () {},\n discardPendingWarnings: function () {}\n};\n\n{\n var findStrictRoot = function (fiber) {\n var maybeStrictRoot = null;\n var node = fiber;\n\n while (node !== null) {\n if (node.mode & StrictLegacyMode) {\n maybeStrictRoot = node;\n }\n\n node = node.return;\n }\n\n return maybeStrictRoot;\n };\n\n var setToSortedString = function (set) {\n var array = [];\n set.forEach(function (value) {\n array.push(value);\n });\n return array.sort().join(', ');\n };\n\n var pendingComponentWillMountWarnings = [];\n var pendingUNSAFE_ComponentWillMountWarnings = [];\n var pendingComponentWillReceivePropsWarnings = [];\n var pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n var pendingComponentWillUpdateWarnings = [];\n var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about.\n\n var didWarnAboutUnsafeLifecycles = new Set();\n\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) {\n // Dedupe strategy: Warn once per component.\n if (didWarnAboutUnsafeLifecycles.has(fiber.type)) {\n return;\n }\n\n if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components.\n instance.componentWillMount.__suppressDeprecationWarning !== true) {\n pendingComponentWillMountWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillMount === 'function') {\n pendingUNSAFE_ComponentWillMountWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n pendingComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n pendingComponentWillUpdateWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillUpdate === 'function') {\n pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {\n // We do an initial pass to gather component names\n var componentWillMountUniqueNames = new Set();\n\n if (pendingComponentWillMountWarnings.length > 0) {\n pendingComponentWillMountWarnings.forEach(function (fiber) {\n componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillMountWarnings = [];\n }\n\n var UNSAFE_componentWillMountUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) {\n pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {\n UNSAFE_componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillMountWarnings = [];\n }\n\n var componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingComponentWillReceivePropsWarnings.length > 0) {\n pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {\n componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillReceivePropsWarnings = [];\n }\n\n var UNSAFE_componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) {\n UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n }\n\n var componentWillUpdateUniqueNames = new Set();\n\n if (pendingComponentWillUpdateWarnings.length > 0) {\n pendingComponentWillUpdateWarnings.forEach(function (fiber) {\n componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillUpdateWarnings = [];\n }\n\n var UNSAFE_componentWillUpdateUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) {\n pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {\n UNSAFE_componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n } // Finally, we flush all the warnings\n // UNSAFE_ ones before the deprecated ones, since they'll be 'louder'\n\n\n if (UNSAFE_componentWillMountUniqueNames.size > 0) {\n var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);\n\n error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '\\nPlease update the following components: %s', sortedNames);\n }\n\n if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames);\n\n error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, \" + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '\\nPlease update the following components: %s', _sortedNames);\n }\n\n if (UNSAFE_componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames);\n\n error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '\\nPlease update the following components: %s', _sortedNames2);\n }\n\n if (componentWillMountUniqueNames.size > 0) {\n var _sortedNames3 = setToSortedString(componentWillMountUniqueNames);\n\n warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames3);\n }\n\n if (componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames);\n\n warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, refactor your \" + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames4);\n }\n\n if (componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames);\n\n warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames5);\n }\n };\n\n var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about.\n\n var didWarnAboutLegacyContext = new Set();\n\n ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) {\n var strictRoot = findStrictRoot(fiber);\n\n if (strictRoot === null) {\n error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n\n return;\n } // Dedup strategy: Warn once per component.\n\n\n if (didWarnAboutLegacyContext.has(fiber.type)) {\n return;\n }\n\n var warningsForRoot = pendingLegacyContextWarning.get(strictRoot);\n\n if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') {\n if (warningsForRoot === undefined) {\n warningsForRoot = [];\n pendingLegacyContextWarning.set(strictRoot, warningsForRoot);\n }\n\n warningsForRoot.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushLegacyContextWarning = function () {\n pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) {\n if (fiberArray.length === 0) {\n return;\n }\n\n var firstFiber = fiberArray[0];\n var uniqueNames = new Set();\n fiberArray.forEach(function (fiber) {\n uniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutLegacyContext.add(fiber.type);\n });\n var sortedNames = setToSortedString(uniqueNames);\n\n try {\n setCurrentFiber(firstFiber);\n\n error('Legacy context API has been detected within a strict-mode tree.' + '\\n\\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\\n\\nPlease update the following components: %s' + '\\n\\nLearn more about this warning here: https://reactjs.org/link/legacy-context', sortedNames);\n } finally {\n resetCurrentFiber();\n }\n });\n };\n\n ReactStrictModeWarnings.discardPendingWarnings = function () {\n pendingComponentWillMountWarnings = [];\n pendingUNSAFE_ComponentWillMountWarnings = [];\n pendingComponentWillReceivePropsWarnings = [];\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n pendingComponentWillUpdateWarnings = [];\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n pendingLegacyContextWarning = new Map();\n };\n}\n\nfunction resolveDefaultProps(Component, baseProps) {\n if (Component && Component.defaultProps) {\n // Resolve default props. Taken from ReactElement\n var props = assign({}, baseProps);\n var defaultProps = Component.defaultProps;\n\n for (var propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n }\n\n return baseProps;\n}\n\nvar valueCursor = createCursor(null);\nvar rendererSigil;\n\n{\n // Use this to detect multiple renderers using the same context\n rendererSigil = {};\n}\n\nvar currentlyRenderingFiber = null;\nvar lastContextDependency = null;\nvar lastFullyObservedContext = null;\nvar isDisallowedContextReadInDEV = false;\nfunction resetContextDependencies() {\n // This is called right before React yields execution, to ensure `readContext`\n // cannot be called outside the render phase.\n currentlyRenderingFiber = null;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction enterDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = true;\n }\n}\nfunction exitDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction pushProvider(providerFiber, context, nextValue) {\n {\n push(valueCursor, context._currentValue, providerFiber);\n context._currentValue = nextValue;\n\n {\n if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {\n error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');\n }\n\n context._currentRenderer = rendererSigil;\n }\n }\n}\nfunction popProvider(context, providerFiber) {\n var currentValue = valueCursor.current;\n pop(valueCursor, providerFiber);\n\n {\n {\n context._currentValue = currentValue;\n }\n }\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n // Update the child lanes of all the ancestors, including the alternates.\n var node = parent;\n\n while (node !== null) {\n var alternate = node.alternate;\n\n if (!isSubsetOfLanes(node.childLanes, renderLanes)) {\n node.childLanes = mergeLanes(node.childLanes, renderLanes);\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n } else if (alternate !== null && !isSubsetOfLanes(alternate.childLanes, renderLanes)) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n\n if (node === propagationRoot) {\n break;\n }\n\n node = node.return;\n }\n\n {\n if (node !== propagationRoot) {\n error('Expected to find the propagation root when scheduling context work. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n }\n}\nfunction propagateContextChange(workInProgress, context, renderLanes) {\n {\n propagateContextChange_eager(workInProgress, context, renderLanes);\n }\n}\n\nfunction propagateContextChange_eager(workInProgress, context, renderLanes) {\n\n var fiber = workInProgress.child;\n\n if (fiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n fiber.return = workInProgress;\n }\n\n while (fiber !== null) {\n var nextFiber = void 0; // Visit this fiber.\n\n var list = fiber.dependencies;\n\n if (list !== null) {\n nextFiber = fiber.child;\n var dependency = list.firstContext;\n\n while (dependency !== null) {\n // Check if the context matches.\n if (dependency.context === context) {\n // Match! Schedule an update on this fiber.\n if (fiber.tag === ClassComponent) {\n // Schedule a force update on the work-in-progress.\n var lane = pickArbitraryLane(renderLanes);\n var update = createUpdate(NoTimestamp, lane);\n update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the\n // update to the current fiber, too, which means it will persist even if\n // this render is thrown away. Since it's a race condition, not sure it's\n // worth fixing.\n // Inlined `enqueueUpdate` to remove interleaved update check\n\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) ; else {\n var sharedQueue = updateQueue.shared;\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update;\n }\n }\n\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, workInProgress); // Mark the updated lanes on the list, too.\n\n list.lanes = mergeLanes(list.lanes, renderLanes); // Since we already found a match, we can stop traversing the\n // dependency list.\n\n break;\n }\n\n dependency = dependency.next;\n }\n } else if (fiber.tag === ContextProvider) {\n // Don't scan deeper if this is a matching provider\n nextFiber = fiber.type === workInProgress.type ? null : fiber.child;\n } else if (fiber.tag === DehydratedFragment) {\n // If a dehydrated suspense boundary is in this subtree, we don't know\n // if it will have any context consumers in it. The best we can do is\n // mark it as having updates.\n var parentSuspense = fiber.return;\n\n if (parentSuspense === null) {\n throw new Error('We just came from a parent so we must have had a parent. This is a bug in React.');\n }\n\n parentSuspense.lanes = mergeLanes(parentSuspense.lanes, renderLanes);\n var _alternate = parentSuspense.alternate;\n\n if (_alternate !== null) {\n _alternate.lanes = mergeLanes(_alternate.lanes, renderLanes);\n } // This is intentionally passing this fiber as the parent\n // because we want to schedule this fiber as having work\n // on its children. We'll use the childLanes on\n // this fiber to indicate that a context has changed.\n\n\n scheduleContextWorkOnParentPath(parentSuspense, renderLanes, workInProgress);\n nextFiber = fiber.sibling;\n } else {\n // Traverse down.\n nextFiber = fiber.child;\n }\n\n if (nextFiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n nextFiber.return = fiber;\n } else {\n // No child. Traverse to next sibling.\n nextFiber = fiber;\n\n while (nextFiber !== null) {\n if (nextFiber === workInProgress) {\n // We're back to the root of this subtree. Exit.\n nextFiber = null;\n break;\n }\n\n var sibling = nextFiber.sibling;\n\n if (sibling !== null) {\n // Set the return pointer of the sibling to the work-in-progress fiber.\n sibling.return = nextFiber.return;\n nextFiber = sibling;\n break;\n } // No more siblings. Traverse up.\n\n\n nextFiber = nextFiber.return;\n }\n }\n\n fiber = nextFiber;\n }\n}\nfunction prepareToReadContext(workInProgress, renderLanes) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n var dependencies = workInProgress.dependencies;\n\n if (dependencies !== null) {\n {\n var firstContext = dependencies.firstContext;\n\n if (firstContext !== null) {\n if (includesSomeLane(dependencies.lanes, renderLanes)) {\n // Context list has a pending update. Mark that this fiber performed work.\n markWorkInProgressReceivedUpdate();\n } // Reset the work-in-progress list\n\n\n dependencies.firstContext = null;\n }\n }\n }\n}\nfunction readContext(context) {\n {\n // This warning would fire if you read context inside a Hook like useMemo.\n // Unlike the class check below, it's not enforced in production for perf.\n if (isDisallowedContextReadInDEV) {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n }\n }\n\n var value = context._currentValue ;\n\n if (lastFullyObservedContext === context) ; else {\n var contextItem = {\n context: context,\n memoizedValue: value,\n next: null\n };\n\n if (lastContextDependency === null) {\n if (currentlyRenderingFiber === null) {\n throw new Error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n } // This is the first dependency for this component. Create a new list.\n\n\n lastContextDependency = contextItem;\n currentlyRenderingFiber.dependencies = {\n lanes: NoLanes,\n firstContext: contextItem\n };\n } else {\n // Append a new context item.\n lastContextDependency = lastContextDependency.next = contextItem;\n }\n }\n\n return value;\n}\n\n// render. When this render exits, either because it finishes or because it is\n// interrupted, the interleaved updates will be transferred onto the main part\n// of the queue.\n\nvar concurrentQueues = null;\nfunction pushConcurrentUpdateQueue(queue) {\n if (concurrentQueues === null) {\n concurrentQueues = [queue];\n } else {\n concurrentQueues.push(queue);\n }\n}\nfunction finishQueueingConcurrentUpdates() {\n // Transfer the interleaved updates onto the main queue. Each queue has a\n // `pending` field and an `interleaved` field. When they are not null, they\n // point to the last node in a circular linked list. We need to append the\n // interleaved list to the end of the pending list by joining them into a\n // single, circular list.\n if (concurrentQueues !== null) {\n for (var i = 0; i < concurrentQueues.length; i++) {\n var queue = concurrentQueues[i];\n var lastInterleavedUpdate = queue.interleaved;\n\n if (lastInterleavedUpdate !== null) {\n queue.interleaved = null;\n var firstInterleavedUpdate = lastInterleavedUpdate.next;\n var lastPendingUpdate = queue.pending;\n\n if (lastPendingUpdate !== null) {\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = firstInterleavedUpdate;\n lastInterleavedUpdate.next = firstPendingUpdate;\n }\n\n queue.pending = lastInterleavedUpdate;\n }\n }\n\n concurrentQueues = null;\n }\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n}\nfunction enqueueConcurrentClassUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n} // Calling this function outside this module should only be done for backwards\n// compatibility and should always be accompanied by a warning.\n\nvar unsafe_markUpdateLaneFromFiberToRoot = markUpdateLaneFromFiberToRoot;\n\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, lane) {\n // Update the source fiber's lanes\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, lane);\n var alternate = sourceFiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, lane);\n }\n\n {\n if (alternate === null && (sourceFiber.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n } // Walk the parent path to the root and update the child lanes.\n\n\n var node = sourceFiber;\n var parent = sourceFiber.return;\n\n while (parent !== null) {\n parent.childLanes = mergeLanes(parent.childLanes, lane);\n alternate = parent.alternate;\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, lane);\n } else {\n {\n if ((parent.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n }\n }\n\n node = parent;\n parent = parent.return;\n }\n\n if (node.tag === HostRoot) {\n var root = node.stateNode;\n return root;\n } else {\n return null;\n }\n}\n\nvar UpdateState = 0;\nvar ReplaceState = 1;\nvar ForceUpdate = 2;\nvar CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`.\n// It should only be read right after calling `processUpdateQueue`, via\n// `checkHasForceUpdateAfterProcessing`.\n\nvar hasForceUpdate = false;\nvar didWarnUpdateInsideUpdate;\nvar currentlyProcessingQueue;\n\n{\n didWarnUpdateInsideUpdate = false;\n currentlyProcessingQueue = null;\n}\n\nfunction initializeUpdateQueue(fiber) {\n var queue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: {\n pending: null,\n interleaved: null,\n lanes: NoLanes\n },\n effects: null\n };\n fiber.updateQueue = queue;\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n // Clone the update queue from current. Unless it's already a clone.\n var queue = workInProgress.updateQueue;\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n var clone = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: currentQueue.firstBaseUpdate,\n lastBaseUpdate: currentQueue.lastBaseUpdate,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = clone;\n }\n}\nfunction createUpdate(eventTime, lane) {\n var update = {\n eventTime: eventTime,\n lane: lane,\n tag: UpdateState,\n payload: null,\n callback: null,\n next: null\n };\n return update;\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return null;\n }\n\n var sharedQueue = updateQueue.shared;\n\n {\n if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) {\n error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.');\n\n didWarnUpdateInsideUpdate = true;\n }\n }\n\n if (isUnsafeClassRenderPhaseUpdate()) {\n // This is an unsafe render phase update. Add directly to the update\n // queue so we can process it immediately during the current render.\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update; // Update the childLanes even though we're most likely already rendering\n // this fiber. This is for backwards compatibility in the case where you\n // update a different component during render phase than the one that is\n // currently renderings (a pattern that is accompanied by a warning).\n\n return unsafe_markUpdateLaneFromFiberToRoot(fiber, lane);\n } else {\n return enqueueConcurrentClassUpdate(fiber, sharedQueue, update, lane);\n }\n}\nfunction entangleTransitions(root, fiber, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return;\n }\n\n var sharedQueue = updateQueue.shared;\n\n if (isTransitionLane(lane)) {\n var queueLanes = sharedQueue.lanes; // If any entangled lanes are no longer pending on the root, then they must\n // have finished. We can remove them from the shared queue, which represents\n // a superset of the actually pending lanes. In some cases we may entangle\n // more than we need to, but that's OK. In fact it's worse if we *don't*\n // entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n sharedQueue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n // Captured updates are updates that are thrown by a child during the render\n // phase. They should be discarded if the render is aborted. Therefore,\n // we should only put them on the work-in-progress queue, not the current one.\n var queue = workInProgress.updateQueue; // Check if the work-in-progress queue is a clone.\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n // The work-in-progress queue is the same as current. This happens when\n // we bail out on a parent fiber that then captures an error thrown by\n // a child. Since we want to append the update only to the work-in\n // -progress queue, we need to clone the updates. We usually clone during\n // processUpdateQueue, but that didn't happen in this case because we\n // skipped over the parent when we bailed out.\n var newFirst = null;\n var newLast = null;\n var firstBaseUpdate = queue.firstBaseUpdate;\n\n if (firstBaseUpdate !== null) {\n // Loop through the updates and clone them.\n var update = firstBaseUpdate;\n\n do {\n var clone = {\n eventTime: update.eventTime,\n lane: update.lane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLast === null) {\n newFirst = newLast = clone;\n } else {\n newLast.next = clone;\n newLast = clone;\n }\n\n update = update.next;\n } while (update !== null); // Append the captured update the end of the cloned list.\n\n\n if (newLast === null) {\n newFirst = newLast = capturedUpdate;\n } else {\n newLast.next = capturedUpdate;\n newLast = capturedUpdate;\n }\n } else {\n // There are no base updates.\n newFirst = newLast = capturedUpdate;\n }\n\n queue = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = queue;\n return;\n }\n } // Append the update to the end of the list.\n\n\n var lastBaseUpdate = queue.lastBaseUpdate;\n\n if (lastBaseUpdate === null) {\n queue.firstBaseUpdate = capturedUpdate;\n } else {\n lastBaseUpdate.next = capturedUpdate;\n }\n\n queue.lastBaseUpdate = capturedUpdate;\n}\n\nfunction getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) {\n switch (update.tag) {\n case ReplaceState:\n {\n var payload = update.payload;\n\n if (typeof payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n var nextState = payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n\n return nextState;\n } // State object\n\n\n return payload;\n }\n\n case CaptureUpdate:\n {\n workInProgress.flags = workInProgress.flags & ~ShouldCapture | DidCapture;\n }\n // Intentional fallthrough\n\n case UpdateState:\n {\n var _payload = update.payload;\n var partialState;\n\n if (typeof _payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n partialState = _payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n _payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n } else {\n // Partial state object\n partialState = _payload;\n }\n\n if (partialState === null || partialState === undefined) {\n // Null and undefined are treated as no-ops.\n return prevState;\n } // Merge the partial state and the previous state.\n\n\n return assign({}, prevState, partialState);\n }\n\n case ForceUpdate:\n {\n hasForceUpdate = true;\n return prevState;\n }\n }\n\n return prevState;\n}\n\nfunction processUpdateQueue(workInProgress, props, instance, renderLanes) {\n // This is always non-null on a ClassComponent or HostRoot\n var queue = workInProgress.updateQueue;\n hasForceUpdate = false;\n\n {\n currentlyProcessingQueue = queue.shared;\n }\n\n var firstBaseUpdate = queue.firstBaseUpdate;\n var lastBaseUpdate = queue.lastBaseUpdate; // Check if there are pending updates. If so, transfer them to the base queue.\n\n var pendingQueue = queue.shared.pending;\n\n if (pendingQueue !== null) {\n queue.shared.pending = null; // The pending queue is circular. Disconnect the pointer between first\n // and last so that it's non-circular.\n\n var lastPendingUpdate = pendingQueue;\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null; // Append pending updates to base queue\n\n if (lastBaseUpdate === null) {\n firstBaseUpdate = firstPendingUpdate;\n } else {\n lastBaseUpdate.next = firstPendingUpdate;\n }\n\n lastBaseUpdate = lastPendingUpdate; // If there's a current queue, and it's different from the base queue, then\n // we need to transfer the updates to that queue, too. Because the base\n // queue is a singly-linked list with no cycles, we can append to both\n // lists and take advantage of structural sharing.\n // TODO: Pass `current` as argument\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n // This is always non-null on a ClassComponent or HostRoot\n var currentQueue = current.updateQueue;\n var currentLastBaseUpdate = currentQueue.lastBaseUpdate;\n\n if (currentLastBaseUpdate !== lastBaseUpdate) {\n if (currentLastBaseUpdate === null) {\n currentQueue.firstBaseUpdate = firstPendingUpdate;\n } else {\n currentLastBaseUpdate.next = firstPendingUpdate;\n }\n\n currentQueue.lastBaseUpdate = lastPendingUpdate;\n }\n }\n } // These values may change as we process the queue.\n\n\n if (firstBaseUpdate !== null) {\n // Iterate through the list of updates to compute the result.\n var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes\n // from the original lanes.\n\n var newLanes = NoLanes;\n var newBaseState = null;\n var newFirstBaseUpdate = null;\n var newLastBaseUpdate = null;\n var update = firstBaseUpdate;\n\n do {\n var updateLane = update.lane;\n var updateEventTime = update.eventTime;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n eventTime: updateEventTime,\n lane: updateLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLastBaseUpdate === null) {\n newFirstBaseUpdate = newLastBaseUpdate = clone;\n newBaseState = newState;\n } else {\n newLastBaseUpdate = newLastBaseUpdate.next = clone;\n } // Update the remaining priority in the queue.\n\n\n newLanes = mergeLanes(newLanes, updateLane);\n } else {\n // This update does have sufficient priority.\n if (newLastBaseUpdate !== null) {\n var _clone = {\n eventTime: updateEventTime,\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n newLastBaseUpdate = newLastBaseUpdate.next = _clone;\n } // Process this update.\n\n\n newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance);\n var callback = update.callback;\n\n if (callback !== null && // If the update was already committed, we should not queue its\n // callback again.\n update.lane !== NoLane) {\n workInProgress.flags |= Callback;\n var effects = queue.effects;\n\n if (effects === null) {\n queue.effects = [update];\n } else {\n effects.push(update);\n }\n }\n }\n\n update = update.next;\n\n if (update === null) {\n pendingQueue = queue.shared.pending;\n\n if (pendingQueue === null) {\n break;\n } else {\n // An update was scheduled from inside a reducer. Add the new\n // pending updates to the end of the list and keep processing.\n var _lastPendingUpdate = pendingQueue; // Intentionally unsound. Pending updates form a circular list, but we\n // unravel them when transferring them to the base queue.\n\n var _firstPendingUpdate = _lastPendingUpdate.next;\n _lastPendingUpdate.next = null;\n update = _firstPendingUpdate;\n queue.lastBaseUpdate = _lastPendingUpdate;\n queue.shared.pending = null;\n }\n }\n } while (true);\n\n if (newLastBaseUpdate === null) {\n newBaseState = newState;\n }\n\n queue.baseState = newBaseState;\n queue.firstBaseUpdate = newFirstBaseUpdate;\n queue.lastBaseUpdate = newLastBaseUpdate; // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n var lastInterleaved = queue.shared.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n newLanes = mergeLanes(newLanes, interleaved.lane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (firstBaseUpdate === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.shared.lanes = NoLanes;\n } // Set the remaining expiration time to be whatever is remaining in the queue.\n // This should be fine because the only two other things that contribute to\n // expiration time are props and context. We're already in the middle of the\n // begin phase by the time we start processing the queue, so we've already\n // dealt with the props. Context in components that specify\n // shouldComponentUpdate is tricky; but we'll have to account for\n // that regardless.\n\n\n markSkippedUpdateLanes(newLanes);\n workInProgress.lanes = newLanes;\n workInProgress.memoizedState = newState;\n }\n\n {\n currentlyProcessingQueue = null;\n }\n}\n\nfunction callCallback(callback, context) {\n if (typeof callback !== 'function') {\n throw new Error('Invalid argument passed as callback. Expected a function. Instead ' + (\"received: \" + callback));\n }\n\n callback.call(context);\n}\n\nfunction resetHasForceUpdateBeforeProcessing() {\n hasForceUpdate = false;\n}\nfunction checkHasForceUpdateAfterProcessing() {\n return hasForceUpdate;\n}\nfunction commitUpdateQueue(finishedWork, finishedQueue, instance) {\n // Commit the effects\n var effects = finishedQueue.effects;\n finishedQueue.effects = null;\n\n if (effects !== null) {\n for (var i = 0; i < effects.length; i++) {\n var effect = effects[i];\n var callback = effect.callback;\n\n if (callback !== null) {\n effect.callback = null;\n callCallback(callback, instance);\n }\n }\n }\n}\n\nvar fakeInternalInstance = {}; // React.Component uses a shared frozen object by default.\n// We'll use it to determine whether we need to initialize legacy refs.\n\nvar emptyRefsObject = new React.Component().refs;\nvar didWarnAboutStateAssignmentForComponent;\nvar didWarnAboutUninitializedState;\nvar didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;\nvar didWarnAboutLegacyLifecyclesAndDerivedState;\nvar didWarnAboutUndefinedDerivedState;\nvar warnOnUndefinedDerivedState;\nvar warnOnInvalidCallback;\nvar didWarnAboutDirectlyAssigningPropsToState;\nvar didWarnAboutContextTypeAndContextTypes;\nvar didWarnAboutInvalidateContextType;\n\n{\n didWarnAboutStateAssignmentForComponent = new Set();\n didWarnAboutUninitializedState = new Set();\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();\n didWarnAboutLegacyLifecyclesAndDerivedState = new Set();\n didWarnAboutDirectlyAssigningPropsToState = new Set();\n didWarnAboutUndefinedDerivedState = new Set();\n didWarnAboutContextTypeAndContextTypes = new Set();\n didWarnAboutInvalidateContextType = new Set();\n var didWarnOnInvalidCallback = new Set();\n\n warnOnInvalidCallback = function (callback, callerName) {\n if (callback === null || typeof callback === 'function') {\n return;\n }\n\n var key = callerName + '_' + callback;\n\n if (!didWarnOnInvalidCallback.has(key)) {\n didWarnOnInvalidCallback.add(key);\n\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n };\n\n warnOnUndefinedDerivedState = function (type, partialState) {\n if (partialState === undefined) {\n var componentName = getComponentNameFromType(type) || 'Component';\n\n if (!didWarnAboutUndefinedDerivedState.has(componentName)) {\n didWarnAboutUndefinedDerivedState.add(componentName);\n\n error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);\n }\n }\n }; // This is so gross but it's at least non-critical and can be removed if\n // it causes problems. This is meant to give a nicer error message for\n // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component,\n // ...)) which otherwise throws a \"_processChildContext is not a function\"\n // exception.\n\n\n Object.defineProperty(fakeInternalInstance, '_processChildContext', {\n enumerable: false,\n value: function () {\n throw new Error('_processChildContext is not available in React 16+. This likely ' + 'means you have multiple copies of React and are attempting to nest ' + 'a React 15 tree inside a React 16 tree using ' + \"unstable_renderSubtreeIntoContainer, which isn't supported. Try \" + 'to make sure you have only one copy of React (and ideally, switch ' + 'to ReactDOM.createPortal).');\n }\n });\n Object.freeze(fakeInternalInstance);\n}\n\nfunction applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {\n var prevState = workInProgress.memoizedState;\n var partialState = getDerivedStateFromProps(nextProps, prevState);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n partialState = getDerivedStateFromProps(nextProps, prevState);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n warnOnUndefinedDerivedState(ctor, partialState);\n } // Merge the partial state and the previous state.\n\n\n var memoizedState = partialState === null || partialState === undefined ? prevState : assign({}, prevState, partialState);\n workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the\n // base state.\n\n if (workInProgress.lanes === NoLanes) {\n // Queue is always non-null for classes\n var updateQueue = workInProgress.updateQueue;\n updateQueue.baseState = memoizedState;\n }\n}\n\nvar classComponentUpdater = {\n isMounted: isMounted,\n enqueueSetState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'setState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueReplaceState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ReplaceState;\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'replaceState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueForceUpdate: function (inst, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ForceUpdate;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'forceUpdate');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markForceUpdateScheduled(fiber, lane);\n }\n }\n};\n\nfunction checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {\n var instance = workInProgress.stateNode;\n\n if (typeof instance.shouldComponentUpdate === 'function') {\n var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n if (shouldUpdate === undefined) {\n error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentNameFromType(ctor) || 'Component');\n }\n }\n\n return shouldUpdate;\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent) {\n return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState);\n }\n\n return true;\n}\n\nfunction checkClassInstance(workInProgress, ctor, newProps) {\n var instance = workInProgress.stateNode;\n\n {\n var name = getComponentNameFromType(ctor) || 'Component';\n var renderPresent = instance.render;\n\n if (!renderPresent) {\n if (ctor.prototype && typeof ctor.prototype.render === 'function') {\n error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);\n } else {\n error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);\n }\n }\n\n if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {\n error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);\n }\n\n if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);\n }\n\n if (instance.propTypes) {\n error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);\n }\n\n if (instance.contextType) {\n error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);\n }\n\n {\n if (instance.contextTypes) {\n error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);\n }\n\n if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {\n didWarnAboutContextTypeAndContextTypes.add(ctor);\n\n error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);\n }\n }\n\n if (typeof instance.componentShouldUpdate === 'function') {\n error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {\n error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentNameFromType(ctor) || 'A pure component');\n }\n\n if (typeof instance.componentDidUnmount === 'function') {\n error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);\n }\n\n if (typeof instance.componentDidReceiveProps === 'function') {\n error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);\n }\n\n if (typeof instance.componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);\n }\n\n if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);\n }\n\n var hasMutatedProps = instance.props !== newProps;\n\n if (instance.props !== undefined && hasMutatedProps) {\n error('%s(...): When calling super() in `%s`, make sure to pass ' + \"up the same props that your component's constructor was passed.\", name, name);\n }\n\n if (instance.defaultProps) {\n error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);\n\n error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentNameFromType(ctor));\n }\n\n if (typeof instance.getDerivedStateFromProps === 'function') {\n error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof instance.getDerivedStateFromError === 'function') {\n error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof ctor.getSnapshotBeforeUpdate === 'function') {\n error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);\n }\n\n var _state = instance.state;\n\n if (_state && (typeof _state !== 'object' || isArray(_state))) {\n error('%s.state: must be set to an object or null', name);\n }\n\n if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {\n error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);\n }\n }\n}\n\nfunction adoptClassInstance(workInProgress, instance) {\n instance.updater = classComponentUpdater;\n workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates\n\n set(instance, workInProgress);\n\n {\n instance._reactInternalInstance = fakeInternalInstance;\n }\n}\n\nfunction constructClassInstance(workInProgress, ctor, props) {\n var isLegacyContextConsumer = false;\n var unmaskedContext = emptyContextObject;\n var context = emptyContextObject;\n var contextType = ctor.contextType;\n\n {\n if ('contextType' in ctor) {\n var isValid = // Allow null for conditional declaration\n contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer>\n\n if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {\n didWarnAboutInvalidateContextType.add(ctor);\n var addendum = '';\n\n if (contextType === undefined) {\n addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';\n } else if (typeof contextType !== 'object') {\n addendum = ' However, it is set to a ' + typeof contextType + '.';\n } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) {\n addendum = ' Did you accidentally pass the Context.Provider instead?';\n } else if (contextType._context !== undefined) {\n // <Context.Consumer>\n addendum = ' Did you accidentally pass the Context.Consumer instead?';\n } else {\n addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';\n }\n\n error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentNameFromType(ctor) || 'Component', addendum);\n }\n }\n }\n\n if (typeof contextType === 'object' && contextType !== null) {\n context = readContext(contextType);\n } else {\n unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n var contextTypes = ctor.contextTypes;\n isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined;\n context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject;\n }\n\n var instance = new ctor(props, context); // Instantiate twice to help detect side-effects.\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance = new ctor(props, context); // eslint-disable-line no-new\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null;\n adoptClassInstance(workInProgress, instance);\n\n {\n if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutUninitializedState.has(componentName)) {\n didWarnAboutUninitializedState.add(componentName);\n\n error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);\n }\n } // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Warn about these lifecycles if they are present.\n // Don't warn about react-lifecycles-compat polyfilled methods though.\n\n\n if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n\n if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {\n foundWillMountName = 'componentWillMount';\n } else if (typeof instance.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n\n if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {\n var _componentName = getComponentNameFromType(ctor) || 'Component';\n\n var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';\n\n if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {\n didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);\n\n error('Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\\n\\n' + 'The above lifecycles should be removed. Learn more about this warning here:\\n' + 'https://reactjs.org/link/unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? \"\\n \" + foundWillMountName : '', foundWillReceivePropsName !== null ? \"\\n \" + foundWillReceivePropsName : '', foundWillUpdateName !== null ? \"\\n \" + foundWillUpdateName : '');\n }\n }\n }\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // ReactFiberContext usually updates this cache but can't for newly-created instances.\n\n\n if (isLegacyContextConsumer) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return instance;\n}\n\nfunction callComponentWillMount(workInProgress, instance) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n\n if (oldState !== instance.state) {\n {\n error('%s.componentWillMount(): Assigning directly to this.state is ' + \"deprecated (except inside a component's \" + 'constructor). Use setState instead.', getComponentNameFromFiber(workInProgress) || 'Component');\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n}\n\nfunction callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillReceiveProps === 'function') {\n instance.componentWillReceiveProps(newProps, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n }\n\n if (instance.state !== oldState) {\n {\n var componentName = getComponentNameFromFiber(workInProgress) || 'Component';\n\n if (!didWarnAboutStateAssignmentForComponent.has(componentName)) {\n didWarnAboutStateAssignmentForComponent.add(componentName);\n\n error('%s.componentWillReceiveProps(): Assigning directly to ' + \"this.state is deprecated (except inside a component's \" + 'constructor). Use setState instead.', componentName);\n }\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n} // Invokes the mount life-cycles on a previously never rendered instance.\n\n\nfunction mountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n {\n checkClassInstance(workInProgress, ctor, newProps);\n }\n\n var instance = workInProgress.stateNode;\n instance.props = newProps;\n instance.state = workInProgress.memoizedState;\n instance.refs = emptyRefsObject;\n initializeUpdateQueue(workInProgress);\n var contextType = ctor.contextType;\n\n if (typeof contextType === 'object' && contextType !== null) {\n instance.context = readContext(contextType);\n } else {\n var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n instance.context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n {\n if (instance.state === newProps) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {\n didWarnAboutDirectlyAssigningPropsToState.add(componentName);\n\n error('%s: It is not recommended to assign props directly to state ' + \"because updates to props won't be reflected in state. \" + 'In most cases, it is better to use props directly.', componentName);\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance);\n }\n\n {\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance);\n }\n }\n\n instance.state = workInProgress.memoizedState;\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n instance.state = workInProgress.memoizedState;\n } // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n\n if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's\n // process them now.\n\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n instance.state = workInProgress.memoizedState;\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n}\n\nfunction resumeMountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n var oldProps = workInProgress.memoizedProps;\n instance.props = oldProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (oldProps !== newProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags = Update;\n\n {\n _fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags2 = Update;\n\n {\n _fiberFlags2 |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags2 |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags2;\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n} // Invokes the update life-cycles and returns false if it shouldn't rerender.\n\n\nfunction updateClassInstance(current, workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n var unresolvedOldProps = workInProgress.memoizedProps;\n var oldProps = workInProgress.type === workInProgress.elementType ? unresolvedOldProps : resolveDefaultProps(workInProgress.type, unresolvedOldProps);\n instance.props = oldProps;\n var unresolvedNewProps = workInProgress.pendingProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (unresolvedOldProps !== unresolvedNewProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (unresolvedOldProps === unresolvedNewProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing() && !(enableLazyContextPropagation )) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) || // TODO: In some cases, we'll end up checking if context has changed twice,\n // both before and after `shouldComponentUpdate` has been called. Not ideal,\n // but I'm loath to refactor this function. This only happens for memoized\n // components so it's not that common.\n enableLazyContextPropagation ;\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) {\n if (typeof instance.componentWillUpdate === 'function') {\n instance.componentWillUpdate(newProps, newState, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext);\n }\n }\n\n if (typeof instance.componentDidUpdate === 'function') {\n workInProgress.flags |= Update;\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n workInProgress.flags |= Snapshot;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized props/state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n}\n\nvar didWarnAboutMaps;\nvar didWarnAboutGenerators;\nvar didWarnAboutStringRefs;\nvar ownerHasKeyUseWarning;\nvar ownerHasFunctionTypeWarning;\n\nvar warnForMissingKey = function (child, returnFiber) {};\n\n{\n didWarnAboutMaps = false;\n didWarnAboutGenerators = false;\n didWarnAboutStringRefs = {};\n /**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n ownerHasKeyUseWarning = {};\n ownerHasFunctionTypeWarning = {};\n\n warnForMissingKey = function (child, returnFiber) {\n if (child === null || typeof child !== 'object') {\n return;\n }\n\n if (!child._store || child._store.validated || child.key != null) {\n return;\n }\n\n if (typeof child._store !== 'object') {\n throw new Error('React Component in warnForMissingKey should have a _store. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n child._store.validated = true;\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasKeyUseWarning[componentName]) {\n return;\n }\n\n ownerHasKeyUseWarning[componentName] = true;\n\n error('Each child in a list should have a unique ' + '\"key\" prop. See https://reactjs.org/link/warning-keys for ' + 'more information.');\n };\n}\n\nfunction coerceRef(returnFiber, current, element) {\n var mixedRef = element.ref;\n\n if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') {\n {\n // TODO: Clean this up once we turn on the string ref warning for\n // everyone, because the strict mode case will no longer be relevant\n if ((returnFiber.mode & StrictLegacyMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs\n // because these cannot be automatically converted to an arrow function\n // using a codemod. Therefore, we don't have to warn about string refs again.\n !(element._owner && element._self && element._owner.stateNode !== element._self)) {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (!didWarnAboutStringRefs[componentName]) {\n {\n error('A string ref, \"%s\", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', mixedRef);\n }\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n\n if (element._owner) {\n var owner = element._owner;\n var inst;\n\n if (owner) {\n var ownerFiber = owner;\n\n if (ownerFiber.tag !== ClassComponent) {\n throw new Error('Function components cannot have string refs. ' + 'We recommend using useRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref');\n }\n\n inst = ownerFiber.stateNode;\n }\n\n if (!inst) {\n throw new Error(\"Missing owner for string ref \" + mixedRef + \". This error is likely caused by a \" + 'bug in React. Please file an issue.');\n } // Assigning this to a const so Flow knows it won't change in the closure\n\n\n var resolvedInst = inst;\n\n {\n checkPropStringCoercion(mixedRef, 'ref');\n }\n\n var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref\n\n if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) {\n return current.ref;\n }\n\n var ref = function (value) {\n var refs = resolvedInst.refs;\n\n if (refs === emptyRefsObject) {\n // This is a lazy pooled frozen object, so we need to initialize.\n refs = resolvedInst.refs = {};\n }\n\n if (value === null) {\n delete refs[stringRef];\n } else {\n refs[stringRef] = value;\n }\n };\n\n ref._stringRef = stringRef;\n return ref;\n } else {\n if (typeof mixedRef !== 'string') {\n throw new Error('Expected ref to be a function, a string, an object returned by React.createRef(), or null.');\n }\n\n if (!element._owner) {\n throw new Error(\"Element ref was specified as a string (\" + mixedRef + \") but no owner was set. This could happen for one of\" + ' the following reasons:\\n' + '1. You may be adding a ref to a function component\\n' + \"2. You may be adding a ref to a component that was not created inside a component's render method\\n\" + '3. You have multiple copies of React loaded\\n' + 'See https://reactjs.org/link/refs-must-have-owner for more information.');\n }\n }\n }\n\n return mixedRef;\n}\n\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n var childString = Object.prototype.toString.call(newChild);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childString === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : childString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n}\n\nfunction warnOnFunctionType(returnFiber) {\n {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasFunctionTypeWarning[componentName]) {\n return;\n }\n\n ownerHasFunctionTypeWarning[componentName] = true;\n\n error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.');\n }\n}\n\nfunction resolveLazy(lazyType) {\n var payload = lazyType._payload;\n var init = lazyType._init;\n return init(payload);\n} // This wrapper function exists because I expect to clone the code in each path\n// to be able to optimize each path individually by branching early. This needs\n// a compiler or we can do it manually. Helpers that don't need this branching\n// live outside of this function.\n\n\nfunction ChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return;\n }\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n }\n\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return null;\n } // TODO: For the shouldClone case, this could be micro-optimized a bit by\n // assuming that after the first child we've already added everything.\n\n\n var childToDelete = currentFirstChild;\n\n while (childToDelete !== null) {\n deleteChild(returnFiber, childToDelete);\n childToDelete = childToDelete.sibling;\n }\n\n return null;\n }\n\n function mapRemainingChildren(returnFiber, currentFirstChild) {\n // Add the remaining children to a temporary map so that we can find them by\n // keys quickly. Implicit (null) keys get added to this set with their index\n // instead.\n var existingChildren = new Map();\n var existingChild = currentFirstChild;\n\n while (existingChild !== null) {\n if (existingChild.key !== null) {\n existingChildren.set(existingChild.key, existingChild);\n } else {\n existingChildren.set(existingChild.index, existingChild);\n }\n\n existingChild = existingChild.sibling;\n }\n\n return existingChildren;\n }\n\n function useFiber(fiber, pendingProps) {\n // We currently set sibling to null and index to 0 here because it is easy\n // to forget to do before returning it. E.g. for the single child case.\n var clone = createWorkInProgress(fiber, pendingProps);\n clone.index = 0;\n clone.sibling = null;\n return clone;\n }\n\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n\n if (!shouldTrackSideEffects) {\n // During hydration, the useId algorithm needs to know which fibers are\n // part of a list of children (arrays, iterators).\n newFiber.flags |= Forked;\n return lastPlacedIndex;\n }\n\n var current = newFiber.alternate;\n\n if (current !== null) {\n var oldIndex = current.index;\n\n if (oldIndex < lastPlacedIndex) {\n // This is a move.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n } else {\n // This item can stay in place.\n return oldIndex;\n }\n } else {\n // This is an insertion.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n }\n }\n\n function placeSingleChild(newFiber) {\n // This is simpler for the single child case. We only need to do a\n // placement for inserting new children.\n if (shouldTrackSideEffects && newFiber.alternate === null) {\n newFiber.flags |= Placement;\n }\n\n return newFiber;\n }\n\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (current === null || current.tag !== HostText) {\n // Insert\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, textContent);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n return updateFragment(returnFiber, current, element.props.children, lanes, element.key);\n }\n\n if (current !== null) {\n if (current.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(current, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current.type) {\n // Move based on index\n var existing = useFiber(current, element.props);\n existing.ref = coerceRef(returnFiber, current, element);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } // Insert\n\n\n var created = createFiberFromElement(element, returnFiber.mode, lanes);\n created.ref = coerceRef(returnFiber, current, element);\n created.return = returnFiber;\n return created;\n }\n\n function updatePortal(returnFiber, current, portal, lanes) {\n if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) {\n // Insert\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, portal.children || []);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (current === null || current.tag !== Fragment) {\n // Insert\n var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, fragment);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function createChild(returnFiber, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n var created = createFiberFromText('' + newChild, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _created = createFiberFromElement(newChild, returnFiber.mode, lanes);\n\n _created.ref = coerceRef(returnFiber, null, newChild);\n _created.return = returnFiber;\n return _created;\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _created2 = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n\n _created2.return = returnFiber;\n return _created2;\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return createChild(returnFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _created3 = createFiberFromFragment(newChild, returnFiber.mode, lanes, null);\n\n _created3.return = returnFiber;\n return _created3;\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n // Update the fiber if the keys match, otherwise return null.\n var key = oldFiber !== null ? oldFiber.key : null;\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n if (key !== null) {\n return null;\n }\n\n return updateTextNode(returnFiber, oldFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n if (newChild.key === key) {\n return updateElement(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_PORTAL_TYPE:\n {\n if (newChild.key === key) {\n return updatePortal(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return updateSlot(returnFiber, oldFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n if (key !== null) {\n return null;\n }\n\n return updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys, so we neither have to check the old nor\n // new node for the key. If both are text nodes, they match.\n var matchedFiber = existingChildren.get(newIdx) || null;\n return updateTextNode(returnFiber, matchedFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updateElement(returnFiber, _matchedFiber, newChild, lanes);\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updatePortal(returnFiber, _matchedFiber2, newChild, lanes);\n }\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init;\n return updateFromMap(existingChildren, returnFiber, newIdx, init(payload), lanes);\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _matchedFiber3 = existingChildren.get(newIdx) || null;\n\n return updateFragment(returnFiber, _matchedFiber3, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n /**\n * Warns if there is a duplicate or missing key\n */\n\n\n function warnOnInvalidKey(child, knownKeys, returnFiber) {\n {\n if (typeof child !== 'object' || child === null) {\n return knownKeys;\n }\n\n switch (child.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n warnForMissingKey(child, returnFiber);\n var key = child.key;\n\n if (typeof key !== 'string') {\n break;\n }\n\n if (knownKeys === null) {\n knownKeys = new Set();\n knownKeys.add(key);\n break;\n }\n\n if (!knownKeys.has(key)) {\n knownKeys.add(key);\n break;\n }\n\n error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key);\n\n break;\n\n case REACT_LAZY_TYPE:\n var payload = child._payload;\n var init = child._init;\n warnOnInvalidKey(init(payload), knownKeys, returnFiber);\n break;\n }\n }\n\n return knownKeys;\n }\n\n function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {\n // This algorithm can't optimize by searching from both ends since we\n // don't have backpointers on fibers. I'm trying to see how far we can get\n // with that model. If it ends up not being worth the tradeoffs, we can\n // add it later.\n // Even with a two ended optimization, we'd want to optimize for the case\n // where there are few changes and brute force the comparison instead of\n // going for the Map. It'd like to explore hitting that path first in\n // forward-only mode and only go for the Map once we notice that we need\n // lots of look ahead. This doesn't handle reversal as well as two ended\n // search but that's unusual. Besides, for the two ended optimization to\n // work on Iterables, we'd need to copy the whole set.\n // In this first iteration, we'll just live with hitting the bad case\n // (adding everything to a Map) in for every insert/move.\n // If you change this code, also update reconcileChildrenIterator() which\n // uses the same algorithm.\n {\n // First, validate keys.\n var knownKeys = null;\n\n for (var i = 0; i < newChildren.length; i++) {\n var child = newChildren[i];\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n\n for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (newIdx === newChildren.length) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber = createChild(returnFiber, newChildren[newIdx], lanes);\n\n if (_newFiber === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber;\n } else {\n previousNewFiber.sibling = _newFiber;\n }\n\n previousNewFiber = _newFiber;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks = newIdx;\n pushTreeFork(returnFiber, _numberOfForks);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], lanes);\n\n if (_newFiber2 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber2.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber2;\n } else {\n previousNewFiber.sibling = _newFiber2;\n }\n\n previousNewFiber = _newFiber2;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks2 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks2);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, lanes) {\n // This is the same implementation as reconcileChildrenArray(),\n // but using the iterator instead.\n var iteratorFn = getIteratorFn(newChildrenIterable);\n\n if (typeof iteratorFn !== 'function') {\n throw new Error('An object is not an iterable. This error is likely caused by a bug in ' + 'React. Please file an issue.');\n }\n\n {\n // We don't support rendering Generators because it's a mutation.\n // See https://github.com/facebook/react/issues/12995\n if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag\n newChildrenIterable[Symbol.toStringTag] === 'Generator') {\n if (!didWarnAboutGenerators) {\n error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');\n }\n\n didWarnAboutGenerators = true;\n } // Warn about using Maps as children\n\n\n if (newChildrenIterable.entries === iteratorFn) {\n if (!didWarnAboutMaps) {\n error('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n } // First, validate keys.\n // We'll get a different iterator later for the main pass.\n\n\n var _newChildren = iteratorFn.call(newChildrenIterable);\n\n if (_newChildren) {\n var knownKeys = null;\n\n var _step = _newChildren.next();\n\n for (; !_step.done; _step = _newChildren.next()) {\n var child = _step.value;\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n }\n\n var newChildren = iteratorFn.call(newChildrenIterable);\n\n if (newChildren == null) {\n throw new Error('An iterable object provided no iterator.');\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n var step = newChildren.next();\n\n for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (step.done) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber3 = createChild(returnFiber, step.value, lanes);\n\n if (_newFiber3 === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber3;\n } else {\n previousNewFiber.sibling = _newFiber3;\n }\n\n previousNewFiber = _newFiber3;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks3 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks3);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, lanes);\n\n if (_newFiber4 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber4.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber4;\n } else {\n previousNewFiber.sibling = _newFiber4;\n }\n\n previousNewFiber = _newFiber4;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks4 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks4);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, lanes) {\n // There's no need to check for keys on text nodes since we don't have a\n // way to define them.\n if (currentFirstChild !== null && currentFirstChild.tag === HostText) {\n // We already have an existing node so let's just update it and delete\n // the rest.\n deleteRemainingChildren(returnFiber, currentFirstChild.sibling);\n var existing = useFiber(currentFirstChild, textContent);\n existing.return = returnFiber;\n return existing;\n } // The existing first child is not a text node so we need to create one\n // and delete the existing ones.\n\n\n deleteRemainingChildren(returnFiber, currentFirstChild);\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n function reconcileSingleElement(returnFiber, currentFirstChild, element, lanes) {\n var key = element.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n if (child.tag === Fragment) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, element.props.children);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } else {\n if (child.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(child, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === child.type) {\n deleteRemainingChildren(returnFiber, child.sibling);\n\n var _existing = useFiber(child, element.props);\n\n _existing.ref = coerceRef(returnFiber, child, element);\n _existing.return = returnFiber;\n\n {\n _existing._debugSource = element._source;\n _existing._debugOwner = element._owner;\n }\n\n return _existing;\n }\n } // Didn't match.\n\n\n deleteRemainingChildren(returnFiber, child);\n break;\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n if (element.type === REACT_FRAGMENT_TYPE) {\n var created = createFiberFromFragment(element.props.children, returnFiber.mode, lanes, element.key);\n created.return = returnFiber;\n return created;\n } else {\n var _created4 = createFiberFromElement(element, returnFiber.mode, lanes);\n\n _created4.ref = coerceRef(returnFiber, currentFirstChild, element);\n _created4.return = returnFiber;\n return _created4;\n }\n }\n\n function reconcileSinglePortal(returnFiber, currentFirstChild, portal, lanes) {\n var key = portal.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, portal.children || []);\n existing.return = returnFiber;\n return existing;\n } else {\n deleteRemainingChildren(returnFiber, child);\n break;\n }\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } // This API will tag the children with the side-effect of the reconciliation\n // itself. They will be added to the side-effect list as we pass through the\n // children and the parent.\n\n\n function reconcileChildFibers(returnFiber, currentFirstChild, newChild, lanes) {\n // This function is not recursive.\n // If the top level item is an array, we treat it as a set of children,\n // not as a fragment. Nested arrays on the other hand will be treated as\n // fragment nodes. Recursion happens at the normal flow.\n // Handle top level unkeyed fragments as if they were arrays.\n // This leads to an ambiguity between <>{[...]}</> and <>...</>.\n // We treat the ambiguous cases above the same.\n var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null;\n\n if (isUnkeyedTopLevelFragment) {\n newChild = newChild.props.children;\n } // Handle object types\n\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_PORTAL_TYPE:\n return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init; // TODO: This function is supposed to be non-recursive.\n\n return reconcileChildFibers(returnFiber, currentFirstChild, init(payload), lanes);\n }\n\n if (isArray(newChild)) {\n return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n if (getIteratorFn(newChild)) {\n return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, lanes));\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n } // Remaining cases are all treated as empty.\n\n\n return deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n\n return reconcileChildFibers;\n}\n\nvar reconcileChildFibers = ChildReconciler(true);\nvar mountChildFibers = ChildReconciler(false);\nfunction cloneChildFibers(current, workInProgress) {\n if (current !== null && workInProgress.child !== current.child) {\n throw new Error('Resuming work not yet implemented.');\n }\n\n if (workInProgress.child === null) {\n return;\n }\n\n var currentChild = workInProgress.child;\n var newChild = createWorkInProgress(currentChild, currentChild.pendingProps);\n workInProgress.child = newChild;\n newChild.return = workInProgress;\n\n while (currentChild.sibling !== null) {\n currentChild = currentChild.sibling;\n newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps);\n newChild.return = workInProgress;\n }\n\n newChild.sibling = null;\n} // Reset a workInProgress child set to prepare it for a second pass.\n\nfunction resetChildFibers(workInProgress, lanes) {\n var child = workInProgress.child;\n\n while (child !== null) {\n resetWorkInProgress(child, lanes);\n child = child.sibling;\n }\n}\n\nvar NO_CONTEXT = {};\nvar contextStackCursor$1 = createCursor(NO_CONTEXT);\nvar contextFiberStackCursor = createCursor(NO_CONTEXT);\nvar rootInstanceStackCursor = createCursor(NO_CONTEXT);\n\nfunction requiredContext(c) {\n if (c === NO_CONTEXT) {\n throw new Error('Expected host context to exist. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n\n return c;\n}\n\nfunction getRootHostContainer() {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n return rootInstance;\n}\n\nfunction pushHostContainer(fiber, nextRootInstance) {\n // Push current root instance onto the stack;\n // This allows us to reset root when portals are popped.\n push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack.\n // However, we can't just call getRootHostContext() and push it because\n // we'd have a different number of entries on the stack depending on\n // whether getRootHostContext() throws somewhere in renderer code or not.\n // So we push an empty value first. This lets us safely unwind on errors.\n\n push(contextStackCursor$1, NO_CONTEXT, fiber);\n var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it.\n\n pop(contextStackCursor$1, fiber);\n push(contextStackCursor$1, nextRootContext, fiber);\n}\n\nfunction popHostContainer(fiber) {\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n pop(rootInstanceStackCursor, fiber);\n}\n\nfunction getHostContext() {\n var context = requiredContext(contextStackCursor$1.current);\n return context;\n}\n\nfunction pushHostContext(fiber) {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n var context = requiredContext(contextStackCursor$1.current);\n var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique.\n\n if (context === nextContext) {\n return;\n } // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n\n push(contextFiberStackCursor, fiber, fiber);\n push(contextStackCursor$1, nextContext, fiber);\n}\n\nfunction popHostContext(fiber) {\n // Do not pop unless this Fiber provided the current context.\n // pushHostContext() only pushes Fibers that provide unique contexts.\n if (contextFiberStackCursor.current !== fiber) {\n return;\n }\n\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n}\n\nvar DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is\n// inherited deeply down the subtree. The upper bits only affect\n// this immediate suspense boundary and gets reset each new\n// boundary or suspense list.\n\nvar SubtreeSuspenseContextMask = 1; // Subtree Flags:\n// InvisibleParentSuspenseContext indicates that one of our parent Suspense\n// boundaries is not currently showing visible main content.\n// Either because it is already showing a fallback or is not mounted at all.\n// We can use this to determine if it is desirable to trigger a fallback at\n// the parent. If not, then we might need to trigger undesirable boundaries\n// and/or suspend the commit to avoid hiding the parent content.\n\nvar InvisibleParentSuspenseContext = 1; // Shallow Flags:\n// ForceSuspenseFallback can be used by SuspenseList to force newly added\n// items into their fallback state during one of the render passes.\n\nvar ForceSuspenseFallback = 2;\nvar suspenseStackCursor = createCursor(DefaultSuspenseContext);\nfunction hasSuspenseContext(parentContext, flag) {\n return (parentContext & flag) !== 0;\n}\nfunction setDefaultShallowSuspenseContext(parentContext) {\n return parentContext & SubtreeSuspenseContextMask;\n}\nfunction setShallowSuspenseContext(parentContext, shallowContext) {\n return parentContext & SubtreeSuspenseContextMask | shallowContext;\n}\nfunction addSubtreeSuspenseContext(parentContext, subtreeContext) {\n return parentContext | subtreeContext;\n}\nfunction pushSuspenseContext(fiber, newContext) {\n push(suspenseStackCursor, newContext, fiber);\n}\nfunction popSuspenseContext(fiber) {\n pop(suspenseStackCursor, fiber);\n}\n\nfunction shouldCaptureSuspense(workInProgress, hasInvisibleParent) {\n // If it was the primary children that just suspended, capture and render the\n // fallback. Otherwise, don't capture and bubble to the next boundary.\n var nextState = workInProgress.memoizedState;\n\n if (nextState !== null) {\n if (nextState.dehydrated !== null) {\n // A dehydrated boundary always captures.\n return true;\n }\n\n return false;\n }\n\n var props = workInProgress.memoizedProps; // Regular boundaries always capture.\n\n {\n return true;\n } // If it's a boundary we should avoid, then we prefer to bubble up to the\n}\nfunction findFirstSuspended(row) {\n var node = row;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n var dehydrated = state.dehydrated;\n\n if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) {\n return node;\n }\n }\n } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't\n // keep track of whether it suspended or not.\n node.memoizedProps.revealOrder !== undefined) {\n var didSuspend = (node.flags & DidCapture) !== NoFlags;\n\n if (didSuspend) {\n return node;\n }\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === row) {\n return null;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === row) {\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n\n return null;\n}\n\nvar NoFlags$1 =\n/* */\n0; // Represents whether effect should fire.\n\nvar HasEffect =\n/* */\n1; // Represents the phase in which the effect (not the clean-up) fires.\n\nvar Insertion =\n/* */\n2;\nvar Layout =\n/* */\n4;\nvar Passive$1 =\n/* */\n8;\n\n// and should be reset before starting a new render.\n// This tracks which mutable sources need to be reset after a render.\n\nvar workInProgressSources = [];\nfunction resetWorkInProgressVersions() {\n for (var i = 0; i < workInProgressSources.length; i++) {\n var mutableSource = workInProgressSources[i];\n\n {\n mutableSource._workInProgressVersionPrimary = null;\n }\n }\n\n workInProgressSources.length = 0;\n}\n// This ensures that the version used for server rendering matches the one\n// that is eventually read during hydration.\n// If they don't match there's a potential tear and a full deopt render is required.\n\nfunction registerMutableSourceForHydration(root, mutableSource) {\n var getVersion = mutableSource._getVersion;\n var version = getVersion(mutableSource._source); // TODO Clear this data once all pending hydration work is finished.\n // Retaining it forever may interfere with GC.\n\n if (root.mutableSourceEagerHydrationData == null) {\n root.mutableSourceEagerHydrationData = [mutableSource, version];\n } else {\n root.mutableSourceEagerHydrationData.push(mutableSource, version);\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar didWarnAboutMismatchedHooksForComponent;\nvar didWarnUncachedGetSnapshot;\n\n{\n didWarnAboutMismatchedHooksForComponent = new Set();\n}\n\n// These are set right before calling the component.\nvar renderLanes = NoLanes; // The work-in-progress fiber. I've named it differently to distinguish it from\n// the work-in-progress hook.\n\nvar currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The\n// current hook list is the list that belongs to the current fiber. The\n// work-in-progress hook list is a new list that will be added to the\n// work-in-progress fiber.\n\nvar currentHook = null;\nvar workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This\n// does not get reset if we do another render pass; only when we're completely\n// finished evaluating this component. This is an optimization so we know\n// whether we need to clear render phase updates after a throw.\n\nvar didScheduleRenderPhaseUpdate = false; // Where an update was scheduled only during the current render pass. This\n// gets reset after each attempt.\n// TODO: Maybe there's some way to consolidate this with\n// `didScheduleRenderPhaseUpdate`. Or with `numberOfReRenders`.\n\nvar didScheduleRenderPhaseUpdateDuringThisPass = false; // Counts the number of useId hooks in this component.\n\nvar localIdCounter = 0; // Used for ids that are generated completely client-side (i.e. not during\n// hydration). This counter is global, so client ids are not stable across\n// render attempts.\n\nvar globalClientIdCounter = 0;\nvar RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook\n\nvar currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders.\n// The list stores the order of hooks used during the initial render (mount).\n// Subsequent renders (updates) reference this list.\n\nvar hookTypesDev = null;\nvar hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore\n// the dependencies for Hooks that need them (e.g. useEffect or useMemo).\n// When true, such Hooks will always be \"remounted\". Only used during hot reload.\n\nvar ignorePreviousDependencies = false;\n\nfunction mountHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev === null) {\n hookTypesDev = [hookName];\n } else {\n hookTypesDev.push(hookName);\n }\n }\n}\n\nfunction updateHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev !== null) {\n hookTypesUpdateIndexDev++;\n\n if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {\n warnOnHookMismatchInDev(hookName);\n }\n }\n }\n}\n\nfunction checkDepsAreArrayDev(deps) {\n {\n if (deps !== undefined && deps !== null && !isArray(deps)) {\n // Verify deps, but only on mount to avoid extra checks.\n // It's unlikely their type would change as usually you define them inline.\n error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps);\n }\n }\n}\n\nfunction warnOnHookMismatchInDev(currentHookName) {\n {\n var componentName = getComponentNameFromFiber(currentlyRenderingFiber$1);\n\n if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {\n didWarnAboutMismatchedHooksForComponent.add(componentName);\n\n if (hookTypesDev !== null) {\n var table = '';\n var secondColumnStart = 30;\n\n for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {\n var oldHookName = hookTypesDev[i];\n var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;\n var row = i + 1 + \". \" + oldHookName; // Extra space so second column lines up\n // lol @ IE not supporting String#repeat\n\n while (row.length < secondColumnStart) {\n row += ' ';\n }\n\n row += newHookName + '\\n';\n table += row;\n }\n\n error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks\\n\\n' + ' Previous render Next render\\n' + ' ------------------------------------------------------\\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', componentName, table);\n }\n }\n }\n}\n\nfunction throwInvalidHookError() {\n throw new Error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n}\n\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n {\n if (ignorePreviousDependencies) {\n // Only true when this component is being hot reloaded.\n return false;\n }\n }\n\n if (prevDeps === null) {\n {\n error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);\n }\n\n return false;\n }\n\n {\n // Don't bother comparing lengths in prod because these arrays should be\n // passed inline.\n if (nextDeps.length !== prevDeps.length) {\n error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\\n\\n' + 'Previous: %s\\n' + 'Incoming: %s', currentHookNameInDev, \"[\" + prevDeps.join(', ') + \"]\", \"[\" + nextDeps.join(', ') + \"]\");\n }\n }\n\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {\n if (objectIs(nextDeps[i], prevDeps[i])) {\n continue;\n }\n\n return false;\n }\n\n return true;\n}\n\nfunction renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderLanes) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n\n {\n hookTypesDev = current !== null ? current._debugHookTypes : null;\n hookTypesUpdateIndexDev = -1; // Used for hot reloading:\n\n ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;\n }\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = NoLanes; // The following should have already been reset\n // currentHook = null;\n // workInProgressHook = null;\n // didScheduleRenderPhaseUpdate = false;\n // localIdCounter = 0;\n // TODO Warn if no hooks are used at all during mount, then some are used during update.\n // Currently we will identify the update render as a mount because memoizedState === null.\n // This is tricky because it's valid for certain types of components (e.g. React.lazy)\n // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used.\n // Non-stateful hooks (e.g. context) don't get added to memoizedState,\n // so memoizedState would be null during updates and mounts.\n\n {\n if (current !== null && current.memoizedState !== null) {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV;\n } else if (hookTypesDev !== null) {\n // This dispatcher handles an edge case where a component is updating,\n // but no stateful hooks have been used.\n // We want to match the production code behavior (which will use HooksDispatcherOnMount),\n // but with the extra DEV validation to ensure hooks ordering hasn't changed.\n // This dispatcher does that.\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountWithHookTypesInDEV;\n } else {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV;\n }\n }\n\n var children = Component(props, secondArg); // Check if there was a render phase update\n\n if (didScheduleRenderPhaseUpdateDuringThisPass) {\n // Keep rendering in a loop for as long as render phase updates continue to\n // be scheduled. Use a counter to prevent infinite loops.\n var numberOfReRenders = 0;\n\n do {\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n\n if (numberOfReRenders >= RE_RENDER_LIMIT) {\n throw new Error('Too many re-renders. React limits the number of renders to prevent ' + 'an infinite loop.');\n }\n\n numberOfReRenders += 1;\n\n {\n // Even when hot reloading, allow dependencies to stabilize\n // after first render to prevent infinite render phase updates.\n ignorePreviousDependencies = false;\n } // Start over from the beginning of the list\n\n\n currentHook = null;\n workInProgressHook = null;\n workInProgress.updateQueue = null;\n\n {\n // Also validate hook order for cascading updates.\n hookTypesUpdateIndexDev = -1;\n }\n\n ReactCurrentDispatcher$1.current = HooksDispatcherOnRerenderInDEV ;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n } // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n\n\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n {\n workInProgress._debugHookTypes = hookTypesDev;\n } // This check uses currentHook so that it works the same in DEV and prod bundles.\n // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.\n\n\n var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n currentHookNameInDev = null;\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1; // Confirm that a static flag was not added or removed since the last\n // render. If this fires, it suggests that we incorrectly reset the static\n // flags in some other part of the codebase. This has happened before, for\n // example, in the SuspenseList implementation.\n\n if (current !== null && (current.flags & StaticMask) !== (workInProgress.flags & StaticMask) && // Disable this warning in legacy mode, because legacy Suspense is weird\n // and creates false positives. To make this work in legacy mode, we'd\n // need to mark fibers that commit in an incomplete state, somehow. For\n // now I'll disable the warning that most of the bugs that would trigger\n // it are either exclusive to concurrent mode or exist in both.\n (current.mode & ConcurrentMode) !== NoMode) {\n error('Internal React error: Expected static flag was missing. Please ' + 'notify the React team.');\n }\n }\n\n didScheduleRenderPhaseUpdate = false; // This is reset by checkDidRenderIdHook\n // localIdCounter = 0;\n\n if (didRenderTooFewHooks) {\n throw new Error('Rendered fewer hooks than expected. This may be caused by an accidental ' + 'early return statement.');\n }\n\n return children;\n}\nfunction checkDidRenderIdHook() {\n // This should be called immediately after every renderWithHooks call.\n // Conceptually, it's part of the return value of renderWithHooks; it's only a\n // separate function to avoid using an array tuple.\n var didRenderIdHook = localIdCounter !== 0;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the\n // complete phase (bubbleProperties).\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags &= ~(MountPassiveDev | MountLayoutDev | Passive | Update);\n } else {\n workInProgress.flags &= ~(Passive | Update);\n }\n\n current.lanes = removeLanes(current.lanes, lanes);\n}\nfunction resetHooksAfterThrow() {\n // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n if (didScheduleRenderPhaseUpdate) {\n // There were render phase updates. These are only valid for this render\n // phase, which we are now aborting. Remove the updates from the queues so\n // they do not persist to the next render. Do not remove updates from hooks\n // that weren't processed.\n //\n // Only reset the updates from the queue if it has a clone. If it does\n // not have a clone, that means it wasn't processed, and the updates were\n // scheduled before we entered the render phase.\n var hook = currentlyRenderingFiber$1.memoizedState;\n\n while (hook !== null) {\n var queue = hook.queue;\n\n if (queue !== null) {\n queue.pending = null;\n }\n\n hook = hook.next;\n }\n\n didScheduleRenderPhaseUpdate = false;\n }\n\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1;\n currentHookNameInDev = null;\n isUpdatingOpaqueValueInRenderPhase = false;\n }\n\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n}\n\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook;\n } else {\n // Append to the end of the list\n workInProgressHook = workInProgressHook.next = hook;\n }\n\n return workInProgressHook;\n}\n\nfunction updateWorkInProgressHook() {\n // This function is used both for updates and for re-renders triggered by a\n // render phase update. It assumes there is either a current hook we can\n // clone, or a work-in-progress hook from a previous render pass that we can\n // use as a base. When we reach the end of the base list, we must switch to\n // the dispatcher used for mounts.\n var nextCurrentHook;\n\n if (currentHook === null) {\n var current = currentlyRenderingFiber$1.alternate;\n\n if (current !== null) {\n nextCurrentHook = current.memoizedState;\n } else {\n nextCurrentHook = null;\n }\n } else {\n nextCurrentHook = currentHook.next;\n }\n\n var nextWorkInProgressHook;\n\n if (workInProgressHook === null) {\n nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState;\n } else {\n nextWorkInProgressHook = workInProgressHook.next;\n }\n\n if (nextWorkInProgressHook !== null) {\n // There's already a work-in-progress. Reuse it.\n workInProgressHook = nextWorkInProgressHook;\n nextWorkInProgressHook = workInProgressHook.next;\n currentHook = nextCurrentHook;\n } else {\n // Clone from the current hook.\n if (nextCurrentHook === null) {\n throw new Error('Rendered more hooks than during the previous render.');\n }\n\n currentHook = nextCurrentHook;\n var newHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list.\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook;\n } else {\n // Append to the end of the list.\n workInProgressHook = workInProgressHook.next = newHook;\n }\n }\n\n return workInProgressHook;\n}\n\nfunction createFunctionComponentUpdateQueue() {\n return {\n lastEffect: null,\n stores: null\n };\n}\n\nfunction basicStateReducer(state, action) {\n // $FlowFixMe: Flow doesn't like mixed types\n return typeof action === 'function' ? action(state) : action;\n}\n\nfunction mountReducer(reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n var initialState;\n\n if (init !== undefined) {\n initialState = init(initialArg);\n } else {\n initialState = initialArg;\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchReducerAction.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer;\n var current = currentHook; // The last rebase update that is NOT part of the base state.\n\n var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet.\n\n var pendingQueue = queue.pending;\n\n if (pendingQueue !== null) {\n // We have new updates that haven't been processed yet.\n // We'll add them to the base queue.\n if (baseQueue !== null) {\n // Merge the pending queue and the base queue.\n var baseFirst = baseQueue.next;\n var pendingFirst = pendingQueue.next;\n baseQueue.next = pendingFirst;\n pendingQueue.next = baseFirst;\n }\n\n {\n if (current.baseQueue !== baseQueue) {\n // Internal invariant that should never happen, but feasibly could in\n // the future if we implement resuming, or some form of that.\n error('Internal error: Expected work-in-progress queue to be a clone. ' + 'This is a bug in React.');\n }\n }\n\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n\n if (baseQueue !== null) {\n // We have a queue to process.\n var first = baseQueue.next;\n var newState = current.baseState;\n var newBaseState = null;\n var newBaseQueueFirst = null;\n var newBaseQueueLast = null;\n var update = first;\n\n do {\n var updateLane = update.lane;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n lane: updateLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n\n if (newBaseQueueLast === null) {\n newBaseQueueFirst = newBaseQueueLast = clone;\n newBaseState = newState;\n } else {\n newBaseQueueLast = newBaseQueueLast.next = clone;\n } // Update the remaining priority in the queue.\n // TODO: Don't need to accumulate this. Instead, we can remove\n // renderLanes from the original lanes.\n\n\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, updateLane);\n markSkippedUpdateLanes(updateLane);\n } else {\n // This update does have sufficient priority.\n if (newBaseQueueLast !== null) {\n var _clone = {\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n newBaseQueueLast = newBaseQueueLast.next = _clone;\n } // Process this update.\n\n\n if (update.hasEagerState) {\n // If this update is a state update (not a reducer) and was processed eagerly,\n // we can use the eagerly computed state\n newState = update.eagerState;\n } else {\n var action = update.action;\n newState = reducer(newState, action);\n }\n }\n\n update = update.next;\n } while (update !== null && update !== first);\n\n if (newBaseQueueLast === null) {\n newBaseState = newState;\n } else {\n newBaseQueueLast.next = newBaseQueueFirst;\n } // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState;\n hook.baseState = newBaseState;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = newState;\n } // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n\n var lastInterleaved = queue.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n var interleavedLane = interleaved.lane;\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, interleavedLane);\n markSkippedUpdateLanes(interleavedLane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (baseQueue === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.lanes = NoLanes;\n }\n\n var dispatch = queue.dispatch;\n return [hook.memoizedState, dispatch];\n}\n\nfunction rerenderReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous\n // work-in-progress hook.\n\n var dispatch = queue.dispatch;\n var lastRenderPhaseUpdate = queue.pending;\n var newState = hook.memoizedState;\n\n if (lastRenderPhaseUpdate !== null) {\n // The queue doesn't persist past this render pass.\n queue.pending = null;\n var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next;\n var update = firstRenderPhaseUpdate;\n\n do {\n // Process this render phase update. We don't have to check the\n // priority because it will always be the same as the current\n // render's.\n var action = update.action;\n newState = reducer(newState, action);\n update = update.next;\n } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to\n // the base state unless the queue is empty.\n // TODO: Not sure if this is the desired semantics, but it's what we\n // do for gDSFP. I can't remember why.\n\n if (hook.baseQueue === null) {\n hook.baseState = newState;\n }\n\n queue.lastRenderedState = newState;\n }\n\n return [newState, dispatch];\n}\n\nfunction mountMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction updateMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = mountWorkInProgressHook();\n var nextSnapshot;\n var isHydrating = getIsHydrating();\n\n if (isHydrating) {\n if (getServerSnapshot === undefined) {\n throw new Error('Missing getServerSnapshot, which is required for ' + 'server-rendered content. Will revert to client rendering.');\n }\n\n nextSnapshot = getServerSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n if (nextSnapshot !== getServerSnapshot()) {\n error('The result of getServerSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n } else {\n nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n //\n // We won't do this if we're hydrating server-rendered content, because if\n // the content is stale, it's already visible anyway. Instead we'll patch\n // it up in a passive effect.\n\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n } // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n\n hook.memoizedState = nextSnapshot;\n var inst = {\n value: nextSnapshot,\n getSnapshot: getSnapshot\n };\n hook.queue = inst; // Schedule an effect to subscribe to the store.\n\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Schedule an effect to update the mutable instance fields. We will update\n // this whenever subscribe, getSnapshot, or value changes. Because there's no\n // clean-up function, and we track the deps correctly, we can call pushEffect\n // directly, without storing any additional state. For the same reason, we\n // don't need to set a static flag, either.\n // TODO: We can move this to the passive phase once we add a pre-commit\n // consistency check. See the next comment.\n\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null);\n return nextSnapshot;\n}\n\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = updateWorkInProgressHook(); // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n var nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n var prevSnapshot = hook.memoizedState;\n var snapshotChanged = !objectIs(prevSnapshot, nextSnapshot);\n\n if (snapshotChanged) {\n hook.memoizedState = nextSnapshot;\n markWorkInProgressReceivedUpdate();\n }\n\n var inst = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (inst.getSnapshot !== getSnapshot || snapshotChanged || // Check if the susbcribe function changed. We can save some memory by\n // checking whether we scheduled a subscription effect above.\n workInProgressHook !== null && workInProgressHook.memoizedState.tag & HasEffect) {\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null); // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n }\n\n return nextSnapshot;\n}\n\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= StoreConsistency;\n var check = {\n getSnapshot: getSnapshot,\n value: renderedSnapshot\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.stores = [check];\n } else {\n var stores = componentUpdateQueue.stores;\n\n if (stores === null) {\n componentUpdateQueue.stores = [check];\n } else {\n stores.push(check);\n }\n }\n}\n\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n // These are updated in the passive phase\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot; // Something may have been mutated in between render and commit. This could\n // have been in an event that fired before the passive effects, or it could\n // have been in a layout effect. In that case, we would have used the old\n // snapsho and getSnapshot values to bail out. We need to check one more time.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n}\n\nfunction subscribeToStore(fiber, inst, subscribe) {\n var handleStoreChange = function () {\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n}\n\nfunction mountState(initialState) {\n var hook = mountWorkInProgressHook();\n\n if (typeof initialState === 'function') {\n // $FlowFixMe: Flow doesn't like mixed types\n initialState = initialState();\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateState(initialState) {\n return updateReducer(basicStateReducer);\n}\n\nfunction rerenderState(initialState) {\n return rerenderReducer(basicStateReducer);\n}\n\nfunction pushEffect(tag, create, destroy, deps) {\n var effect = {\n tag: tag,\n create: create,\n destroy: destroy,\n deps: deps,\n // Circular\n next: null\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var lastEffect = componentUpdateQueue.lastEffect;\n\n if (lastEffect === null) {\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var firstEffect = lastEffect.next;\n lastEffect.next = effect;\n effect.next = firstEffect;\n componentUpdateQueue.lastEffect = effect;\n }\n }\n\n return effect;\n}\n\nfunction mountRef(initialValue) {\n var hook = mountWorkInProgressHook();\n\n {\n var _ref2 = {\n current: initialValue\n };\n hook.memoizedState = _ref2;\n return _ref2;\n }\n}\n\nfunction updateRef(initialValue) {\n var hook = updateWorkInProgressHook();\n return hook.memoizedState;\n}\n\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, undefined, nextDeps);\n}\n\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var destroy = undefined;\n\n if (currentHook !== null) {\n var prevEffect = currentHook.memoizedState;\n destroy = prevEffect.destroy;\n\n if (nextDeps !== null) {\n var prevDeps = prevEffect.deps;\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n hook.memoizedState = pushEffect(hookFlags, create, destroy, nextDeps);\n return;\n }\n }\n }\n\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, destroy, nextDeps);\n}\n\nfunction mountEffect(create, deps) {\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n return mountEffectImpl(MountPassiveDev | Passive | PassiveStatic, Passive$1, create, deps);\n } else {\n return mountEffectImpl(Passive | PassiveStatic, Passive$1, create, deps);\n }\n}\n\nfunction updateEffect(create, deps) {\n return updateEffectImpl(Passive, Passive$1, create, deps);\n}\n\nfunction mountInsertionEffect(create, deps) {\n return mountEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction mountLayoutEffect(create, deps) {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, create, deps);\n}\n\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(Update, Layout, create, deps);\n}\n\nfunction imperativeHandleEffect(create, ref) {\n if (typeof ref === 'function') {\n var refCallback = ref;\n\n var _inst = create();\n\n refCallback(_inst);\n return function () {\n refCallback(null);\n };\n } else if (ref !== null && ref !== undefined) {\n var refObject = ref;\n\n {\n if (!refObject.hasOwnProperty('current')) {\n error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}');\n }\n }\n\n var _inst2 = create();\n\n refObject.current = _inst2;\n return function () {\n refObject.current = null;\n };\n }\n}\n\nfunction mountImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction updateImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction mountDebugValue(value, formatterFn) {// This hook is normally a no-op.\n // The react-debug-hooks package injects its own implementation\n // so that e.g. DevTools can display custom hook values.\n}\n\nvar updateDebugValue = mountDebugValue;\n\nfunction mountCallback(callback, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction mountMemo(nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n // Assume these are defined. If they're not, areHookInputsEqual will warn.\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction mountDeferredValue(value) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = value;\n return value;\n}\n\nfunction updateDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n var resolvedCurrentHook = currentHook;\n var prevValue = resolvedCurrentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n}\n\nfunction rerenderDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n\n if (currentHook === null) {\n // This is a rerender during a mount.\n hook.memoizedState = value;\n return value;\n } else {\n // This is a rerender during an update.\n var prevValue = currentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n }\n}\n\nfunction updateDeferredValueImpl(hook, prevValue, value) {\n var shouldDeferValue = !includesOnlyNonUrgentLanes(renderLanes);\n\n if (shouldDeferValue) {\n // This is an urgent update. If the value has changed, keep using the\n // previous value and spawn a deferred render to update it later.\n if (!objectIs(value, prevValue)) {\n // Schedule a deferred render\n var deferredLane = claimNextTransitionLane();\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, deferredLane);\n markSkippedUpdateLanes(deferredLane); // Set this to true to indicate that the rendered value is inconsistent\n // from the latest value. The name \"baseState\" doesn't really match how we\n // use it because we're reusing a state hook field instead of creating a\n // new one.\n\n hook.baseState = true;\n } // Reuse the previous value\n\n\n return prevValue;\n } else {\n // This is not an urgent update, so we can use the latest value regardless\n // of what it is. No need to defer it.\n // However, if we're currently inside a spawned render, then we need to mark\n // this as an update to prevent the fiber from bailing out.\n //\n // `baseState` is true when the current value is different from the rendered\n // value. The name doesn't really match how we use it because we're reusing\n // a state hook field instead of creating a new one.\n if (hook.baseState) {\n // Flip this back to false.\n hook.baseState = false;\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = value;\n return value;\n }\n}\n\nfunction startTransition(setPending, callback, options) {\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(higherEventPriority(previousPriority, ContinuousEventPriority));\n setPending(true);\n var prevTransition = ReactCurrentBatchConfig$2.transition;\n ReactCurrentBatchConfig$2.transition = {};\n var currentTransition = ReactCurrentBatchConfig$2.transition;\n\n {\n ReactCurrentBatchConfig$2.transition._updatedFibers = new Set();\n }\n\n try {\n setPending(false);\n callback();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$2.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nfunction mountTransition() {\n var _mountState = mountState(false),\n isPending = _mountState[0],\n setPending = _mountState[1]; // The `start` method never changes.\n\n\n var start = startTransition.bind(null, setPending);\n var hook = mountWorkInProgressHook();\n hook.memoizedState = start;\n return [isPending, start];\n}\n\nfunction updateTransition() {\n var _updateState = updateState(),\n isPending = _updateState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nfunction rerenderTransition() {\n var _rerenderState = rerenderState(),\n isPending = _rerenderState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nvar isUpdatingOpaqueValueInRenderPhase = false;\nfunction getIsUpdatingOpaqueValueInRenderPhaseInDEV() {\n {\n return isUpdatingOpaqueValueInRenderPhase;\n }\n}\n\nfunction mountId() {\n var hook = mountWorkInProgressHook();\n var root = getWorkInProgressRoot(); // TODO: In Fizz, id generation is specific to each server config. Maybe we\n // should do this in Fiber, too? Deferring this decision for now because\n // there's no other place to store the prefix except for an internal field on\n // the public createRoot object, which the fiber tree does not currently have\n // a reference to.\n\n var identifierPrefix = root.identifierPrefix;\n var id;\n\n if (getIsHydrating()) {\n var treeId = getTreeId(); // Use a captial R prefix for server-generated ids.\n\n id = ':' + identifierPrefix + 'R' + treeId; // Unless this is the first id at this level, append a number at the end\n // that represents the position of this useId hook among all the useId\n // hooks for this fiber.\n\n var localId = localIdCounter++;\n\n if (localId > 0) {\n id += 'H' + localId.toString(32);\n }\n\n id += ':';\n } else {\n // Use a lowercase r prefix for client-generated ids.\n var globalClientId = globalClientIdCounter++;\n id = ':' + identifierPrefix + 'r' + globalClientId.toString(32) + ':';\n }\n\n hook.memoizedState = id;\n return id;\n}\n\nfunction updateId() {\n var hook = updateWorkInProgressHook();\n var id = hook.memoizedState;\n return id;\n}\n\nfunction dispatchReducerAction(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction dispatchSetState(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var alternate = fiber.alternate;\n\n if (fiber.lanes === NoLanes && (alternate === null || alternate.lanes === NoLanes)) {\n // The queue is currently empty, which means we can eagerly compute the\n // next state before entering the render phase. If the new state is the\n // same as the current state, we may be able to bail out entirely.\n var lastRenderedReducer = queue.lastRenderedReducer;\n\n if (lastRenderedReducer !== null) {\n var prevDispatcher;\n\n {\n prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n }\n\n try {\n var currentState = queue.lastRenderedState;\n var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute\n // it, on the update object. If the reducer hasn't changed by the\n // time we enter the render phase, then the eager state can be used\n // without calling the reducer again.\n\n update.hasEagerState = true;\n update.eagerState = eagerState;\n\n if (objectIs(eagerState, currentState)) {\n // Fast path. We can bail out without scheduling React to re-render.\n // It's still possible that we'll need to rebase this update later,\n // if the component re-renders for a different reason and by that\n // time the reducer has changed.\n // TODO: Do we still need to entangle transitions in this case?\n enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane);\n return;\n }\n } catch (error) {// Suppress the error. It will throw again in the render phase.\n } finally {\n {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n }\n }\n }\n\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1;\n}\n\nfunction enqueueRenderPhaseUpdate(queue, update) {\n // This is a render phase update. Stash it in a lazily-created map of\n // queue -> linked list of updates. After this render pass, we'll restart\n // and apply the stashed updates on top of the work-in-progress hook.\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;\n var pending = queue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n queue.pending = update;\n} // TODO: Move to ReactFiberConcurrentUpdates?\n\n\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (isTransitionLane(lane)) {\n var queueLanes = queue.lanes; // If any entangled lanes are no longer pending on the root, then they\n // must have finished. We can remove them from the shared queue, which\n // represents a superset of the actually pending lanes. In some cases we\n // may entangle more than we need to, but that's OK. In fact it's worse if\n // we *don't* entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n queue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\n\nfunction markUpdateInDevTools(fiber, lane, action) {\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n}\n\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useMutableSource: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n unstable_isNewReconciler: enableNewReconciler\n};\n\nvar HooksDispatcherOnMountInDEV = null;\nvar HooksDispatcherOnMountWithHookTypesInDEV = null;\nvar HooksDispatcherOnUpdateInDEV = null;\nvar HooksDispatcherOnRerenderInDEV = null;\nvar InvalidNestedHooksDispatcherOnMountInDEV = null;\nvar InvalidNestedHooksDispatcherOnUpdateInDEV = null;\nvar InvalidNestedHooksDispatcherOnRerenderInDEV = null;\n\n{\n var warnInvalidContextAccess = function () {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n };\n\n var warnInvalidHookAccess = function () {\n error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://reactjs.org/link/rules-of-hooks');\n };\n\n HooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnMountWithHookTypesInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n}\n\nvar now$1 = Scheduler.unstable_now;\nvar commitTime = 0;\nvar layoutEffectStartTime = -1;\nvar profilerStartTime = -1;\nvar passiveEffectStartTime = -1;\n/**\n * Tracks whether the current update was a nested/cascading update (scheduled from a layout effect).\n *\n * The overall sequence is:\n * 1. render\n * 2. commit (and call `onRender`, `onCommit`)\n * 3. check for nested updates\n * 4. flush passive effects (and call `onPostCommit`)\n *\n * Nested updates are identified in step 3 above,\n * but step 4 still applies to the work that was just committed.\n * We use two flags to track nested updates then:\n * one tracks whether the upcoming update is a nested update,\n * and the other tracks whether the current update was a nested update.\n * The first value gets synced to the second at the start of the render phase.\n */\n\nvar currentUpdateIsNested = false;\nvar nestedUpdateScheduled = false;\n\nfunction isCurrentUpdateNested() {\n return currentUpdateIsNested;\n}\n\nfunction markNestedUpdateScheduled() {\n {\n nestedUpdateScheduled = true;\n }\n}\n\nfunction resetNestedUpdateFlag() {\n {\n currentUpdateIsNested = false;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction syncNestedUpdateFlag() {\n {\n currentUpdateIsNested = nestedUpdateScheduled;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction getCommitTime() {\n return commitTime;\n}\n\nfunction recordCommitTime() {\n\n commitTime = now$1();\n}\n\nfunction startProfilerTimer(fiber) {\n\n profilerStartTime = now$1();\n\n if (fiber.actualStartTime < 0) {\n fiber.actualStartTime = now$1();\n }\n}\n\nfunction stopProfilerTimerIfRunning(fiber) {\n\n profilerStartTime = -1;\n}\n\nfunction stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) {\n\n if (profilerStartTime >= 0) {\n var elapsedTime = now$1() - profilerStartTime;\n fiber.actualDuration += elapsedTime;\n\n if (overrideBaseTime) {\n fiber.selfBaseDuration = elapsedTime;\n }\n\n profilerStartTime = -1;\n }\n}\n\nfunction recordLayoutEffectDuration(fiber) {\n\n if (layoutEffectStartTime >= 0) {\n var elapsedTime = now$1() - layoutEffectStartTime;\n layoutEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += elapsedTime;\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += elapsedTime;\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction recordPassiveEffectDuration(fiber) {\n\n if (passiveEffectStartTime >= 0) {\n var elapsedTime = now$1() - passiveEffectStartTime;\n passiveEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n\n if (root !== null) {\n root.passiveEffectDuration += elapsedTime;\n }\n\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n\n if (parentStateNode !== null) {\n // Detached fibers have their state node cleared out.\n // In this case, the return pointer is also cleared out,\n // so we won't be able to report the time spent in this Profiler's subtree.\n parentStateNode.passiveEffectDuration += elapsedTime;\n }\n\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction startLayoutEffectTimer() {\n\n layoutEffectStartTime = now$1();\n}\n\nfunction startPassiveEffectTimer() {\n\n passiveEffectStartTime = now$1();\n}\n\nfunction transferActualDuration(fiber) {\n // Transfer time spent rendering these children so we don't lose it\n // after we rerender. This is used as a helper in special cases\n // where we should count the work of multiple passes.\n var child = fiber.child;\n\n while (child) {\n fiber.actualDuration += child.actualDuration;\n child = child.sibling;\n }\n}\n\nfunction createCapturedValueAtFiber(value, source) {\n // If the value is an error, call this function immediately after it is thrown\n // so the stack is accurate.\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source),\n digest: null\n };\n}\nfunction createCapturedValue(value, digest, stack) {\n return {\n value: value,\n source: null,\n stack: stack != null ? stack : null,\n digest: digest != null ? digest : null\n };\n}\n\n// This module is forked in different environments.\n// By default, return `true` to log errors to the console.\n// Forks can return `false` if this isn't desirable.\nfunction showErrorDialog(boundary, errorInfo) {\n return true;\n}\n\nfunction logCapturedError(boundary, errorInfo) {\n try {\n var logError = showErrorDialog(boundary, errorInfo); // Allow injected showErrorDialog() to prevent default console.error logging.\n // This enables renderers like ReactNative to better manage redbox behavior.\n\n if (logError === false) {\n return;\n }\n\n var error = errorInfo.value;\n\n if (true) {\n var source = errorInfo.source;\n var stack = errorInfo.stack;\n var componentStack = stack !== null ? stack : ''; // Browsers support silencing uncaught errors by calling\n // `preventDefault()` in window `error` handler.\n // We record this information as an expando on the error.\n\n if (error != null && error._suppressLogging) {\n if (boundary.tag === ClassComponent) {\n // The error is recoverable and was silenced.\n // Ignore it and don't print the stack addendum.\n // This is handy for testing error boundaries without noise.\n return;\n } // The error is fatal. Since the silencing might have\n // been accidental, we'll surface it anyway.\n // However, the browser would have silenced the original error\n // so we'll print it first, and then print the stack addendum.\n\n\n console['error'](error); // Don't transform to our wrapper\n // For a more detailed description of this block, see:\n // https://github.com/facebook/react/pull/13384\n }\n\n var componentName = source ? getComponentNameFromFiber(source) : null;\n var componentNameMessage = componentName ? \"The above error occurred in the <\" + componentName + \"> component:\" : 'The above error occurred in one of your React components:';\n var errorBoundaryMessage;\n\n if (boundary.tag === HostRoot) {\n errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\\n' + 'Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.';\n } else {\n var errorBoundaryName = getComponentNameFromFiber(boundary) || 'Anonymous';\n errorBoundaryMessage = \"React will try to recreate this component tree from scratch \" + (\"using the error boundary you provided, \" + errorBoundaryName + \".\");\n }\n\n var combinedMessage = componentNameMessage + \"\\n\" + componentStack + \"\\n\\n\" + (\"\" + errorBoundaryMessage); // In development, we provide our own message with just the component stack.\n // We don't include the original error message and JS stack because the browser\n // has already printed it. Even if the application swallows the error, it is still\n // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils.\n\n console['error'](combinedMessage); // Don't transform to our wrapper\n } else {}\n } catch (e) {\n // This method must not throw, or React internal state will get messed up.\n // If console.error is overridden, or logCapturedError() shows a dialog that throws,\n // we want to report this error outside of the normal stack as a last resort.\n // https://github.com/facebook/react/issues/13188\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nvar PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map;\n\nfunction createRootErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane); // Unmount the root by rendering null.\n\n update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: null\n };\n var error = errorInfo.value;\n\n update.callback = function () {\n onUncaughtError(error);\n logCapturedError(fiber, errorInfo);\n };\n\n return update;\n}\n\nfunction createClassErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane);\n update.tag = CaptureUpdate;\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n\n if (typeof getDerivedStateFromError === 'function') {\n var error$1 = errorInfo.value;\n\n update.payload = function () {\n return getDerivedStateFromError(error$1);\n };\n\n update.callback = function () {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n };\n }\n\n var inst = fiber.stateNode;\n\n if (inst !== null && typeof inst.componentDidCatch === 'function') {\n update.callback = function callback() {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n\n if (typeof getDerivedStateFromError !== 'function') {\n // To preserve the preexisting retry behavior of error boundaries,\n // we keep track of which ones already failed during this batch.\n // This gets reset before we yield back to the browser.\n // TODO: Warn in strict mode if getDerivedStateFromError is\n // not defined.\n markLegacyErrorBoundaryAsFailed(this);\n }\n\n var error$1 = errorInfo.value;\n var stack = errorInfo.stack;\n this.componentDidCatch(error$1, {\n componentStack: stack !== null ? stack : ''\n });\n\n {\n if (typeof getDerivedStateFromError !== 'function') {\n // If componentDidCatch is the only error boundary method defined,\n // then it needs to call setState to recover from errors.\n // If no state update is scheduled then the boundary will swallow the error.\n if (!includesSomeLane(fiber.lanes, SyncLane)) {\n error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentNameFromFiber(fiber) || 'Unknown');\n }\n }\n }\n };\n }\n\n return update;\n}\n\nfunction attachPingListener(root, wakeable, lanes) {\n // Attach a ping listener\n //\n // The data might resolve before we have a chance to commit the fallback. Or,\n // in the case of a refresh, we'll never commit a fallback. So we need to\n // attach a listener now. When it resolves (\"pings\"), we can decide whether to\n // try rendering the tree again.\n //\n // Only attach a listener if one does not already exist for the lanes\n // we're currently rendering (which acts like a \"thread ID\" here).\n //\n // We only need to do this in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n var pingCache = root.pingCache;\n var threadIDs;\n\n if (pingCache === null) {\n pingCache = root.pingCache = new PossiblyWeakMap$1();\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else {\n threadIDs = pingCache.get(wakeable);\n\n if (threadIDs === undefined) {\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n }\n }\n\n if (!threadIDs.has(lanes)) {\n // Memoize using the thread ID to prevent redundant listeners.\n threadIDs.add(lanes);\n var ping = pingSuspendedRoot.bind(null, root, wakeable, lanes);\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, lanes);\n }\n }\n\n wakeable.then(ping, ping);\n }\n}\n\nfunction attachRetryListener(suspenseBoundary, root, wakeable, lanes) {\n // Retry listener\n //\n // If the fallback does commit, we need to attach a different type of\n // listener. This one schedules an update on the Suspense boundary to turn\n // the fallback state off.\n //\n // Stash the wakeable on the boundary fiber so we can access it in the\n // commit phase.\n //\n // When the wakeable resolves, we'll attempt to render the boundary\n // again (\"retry\").\n var wakeables = suspenseBoundary.updateQueue;\n\n if (wakeables === null) {\n var updateQueue = new Set();\n updateQueue.add(wakeable);\n suspenseBoundary.updateQueue = updateQueue;\n } else {\n wakeables.add(wakeable);\n }\n}\n\nfunction resetSuspendedComponent(sourceFiber, rootRenderLanes) {\n // A legacy mode Suspense quirk, only relevant to hook components.\n\n\n var tag = sourceFiber.tag;\n\n if ((sourceFiber.mode & ConcurrentMode) === NoMode && (tag === FunctionComponent || tag === ForwardRef || tag === SimpleMemoComponent)) {\n var currentSource = sourceFiber.alternate;\n\n if (currentSource) {\n sourceFiber.updateQueue = currentSource.updateQueue;\n sourceFiber.memoizedState = currentSource.memoizedState;\n sourceFiber.lanes = currentSource.lanes;\n } else {\n sourceFiber.updateQueue = null;\n sourceFiber.memoizedState = null;\n }\n }\n}\n\nfunction getNearestSuspenseBoundaryToCapture(returnFiber) {\n var node = returnFiber;\n\n do {\n if (node.tag === SuspenseComponent && shouldCaptureSuspense(node)) {\n return node;\n } // This boundary already captured during this render. Continue to the next\n // boundary.\n\n\n node = node.return;\n } while (node !== null);\n\n return null;\n}\n\nfunction markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes) {\n // This marks a Suspense boundary so that when we're unwinding the stack,\n // it captures the suspended \"exception\" and does a second (fallback) pass.\n if ((suspenseBoundary.mode & ConcurrentMode) === NoMode) {\n // Legacy Mode Suspense\n //\n // If the boundary is in legacy mode, we should *not*\n // suspend the commit. Pretend as if the suspended component rendered\n // null and keep rendering. When the Suspense boundary completes,\n // we'll do a second pass to render the fallback.\n if (suspenseBoundary === returnFiber) {\n // Special case where we suspended while reconciling the children of\n // a Suspense boundary's inner Offscreen wrapper fiber. This happens\n // when a React.lazy component is a direct child of a\n // Suspense boundary.\n //\n // Suspense boundaries are implemented as multiple fibers, but they\n // are a single conceptual unit. The legacy mode behavior where we\n // pretend the suspended fiber committed as `null` won't work,\n // because in this case the \"suspended\" fiber is the inner\n // Offscreen wrapper.\n //\n // Because the contents of the boundary haven't started rendering\n // yet (i.e. nothing in the tree has partially rendered) we can\n // switch to the regular, concurrent mode behavior: mark the\n // boundary with ShouldCapture and enter the unwind phase.\n suspenseBoundary.flags |= ShouldCapture;\n } else {\n suspenseBoundary.flags |= DidCapture;\n sourceFiber.flags |= ForceUpdateForLegacySuspense; // We're going to commit this fiber even though it didn't complete.\n // But we shouldn't call any lifecycle methods or callbacks. Remove\n // all lifecycle effect tags.\n\n sourceFiber.flags &= ~(LifecycleEffectMask | Incomplete);\n\n if (sourceFiber.tag === ClassComponent) {\n var currentSourceFiber = sourceFiber.alternate;\n\n if (currentSourceFiber === null) {\n // This is a new mount. Change the tag so it's not mistaken for a\n // completed class component. For example, we should not call\n // componentWillUnmount if it is deleted.\n sourceFiber.tag = IncompleteClassComponent;\n } else {\n // When we try rendering again, we should not reuse the current fiber,\n // since it's known to be in an inconsistent state. Use a force update to\n // prevent a bail out.\n var update = createUpdate(NoTimestamp, SyncLane);\n update.tag = ForceUpdate;\n enqueueUpdate(sourceFiber, update, SyncLane);\n }\n } // The source fiber did not complete. Mark it with Sync priority to\n // indicate that it still has pending work.\n\n\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, SyncLane);\n }\n\n return suspenseBoundary;\n } // Confirmed that the boundary is in a concurrent mode tree. Continue\n // with the normal suspend path.\n //\n // After this we'll use a set of heuristics to determine whether this\n // render pass will run to completion or restart or \"suspend\" the commit.\n // The actual logic for this is spread out in different places.\n //\n // This first principle is that if we're going to suspend when we complete\n // a root, then we should also restart if we get an update or ping that\n // might unsuspend it, and vice versa. The only reason to suspend is\n // because you think you might want to restart before committing. However,\n // it doesn't make sense to restart only while in the period we're suspended.\n //\n // Restarting too aggressively is also not good because it starves out any\n // intermediate loading state. So we use heuristics to determine when.\n // Suspense Heuristics\n //\n // If nothing threw a Promise or all the same fallbacks are already showing,\n // then don't suspend/restart.\n //\n // If this is an initial render of a new tree of Suspense boundaries and\n // those trigger a fallback, then don't suspend/restart. We want to ensure\n // that we can show the initial loading state as quickly as possible.\n //\n // If we hit a \"Delayed\" case, such as when we'd switch from content back into\n // a fallback, then we should always suspend/restart. Transitions apply\n // to this case. If none is defined, JND is used instead.\n //\n // If we're already showing a fallback and it gets \"retried\", allowing us to show\n // another level, but there's still an inner boundary that would show a fallback,\n // then we suspend/restart for 500ms since the last time we showed a fallback\n // anywhere in the tree. This effectively throttles progressive loading into a\n // consistent train of commits. This also gives us an opportunity to restart to\n // get to the completed state slightly earlier.\n //\n // If there's ambiguity due to batching it's resolved in preference of:\n // 1) \"delayed\", 2) \"initial render\", 3) \"retry\".\n //\n // We want to ensure that a \"busy\" state doesn't get force committed. We want to\n // ensure that new initial loading states can commit as soon as possible.\n\n\n suspenseBoundary.flags |= ShouldCapture; // TODO: I think we can remove this, since we now use `DidCapture` in\n // the begin phase to prevent an early bailout.\n\n suspenseBoundary.lanes = rootRenderLanes;\n return suspenseBoundary;\n}\n\nfunction throwException(root, returnFiber, sourceFiber, value, rootRenderLanes) {\n // The source fiber did not complete.\n sourceFiber.flags |= Incomplete;\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, rootRenderLanes);\n }\n }\n\n if (value !== null && typeof value === 'object' && typeof value.then === 'function') {\n // This is a wakeable. The component suspended.\n var wakeable = value;\n resetSuspendedComponent(sourceFiber);\n\n {\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n }\n }\n\n\n var suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber);\n\n if (suspenseBoundary !== null) {\n suspenseBoundary.flags &= ~ForceClientRender;\n markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // We only attach ping listeners in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n\n if (suspenseBoundary.mode & ConcurrentMode) {\n attachPingListener(root, wakeable, rootRenderLanes);\n }\n\n attachRetryListener(suspenseBoundary, root, wakeable);\n return;\n } else {\n // No boundary was found. Unless this is a sync update, this is OK.\n // We can suspend and wait for more data to arrive.\n if (!includesSyncLane(rootRenderLanes)) {\n // This is not a sync update. Suspend. Since we're not activating a\n // Suspense boundary, this will unwind all the way to the root without\n // performing a second pass to render a fallback. (This is arguably how\n // refresh transitions should work, too, since we're not going to commit\n // the fallbacks anyway.)\n //\n // This case also applies to initial hydration.\n attachPingListener(root, wakeable, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return;\n } // This is a sync/discrete update. We treat this case like an error\n // because discrete renders are expected to produce a complete tree\n // synchronously to maintain consistency with external state.\n\n\n var uncaughtSuspenseError = new Error('A component suspended while responding to synchronous input. This ' + 'will cause the UI to be replaced with a loading indicator. To ' + 'fix, updates that suspend should be wrapped ' + 'with startTransition.'); // If we're outside a transition, fall through to the regular error path.\n // The error will be caught by the nearest suspense boundary.\n\n value = uncaughtSuspenseError;\n }\n } else {\n // This is a regular error, not a Suspense wakeable.\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n\n var _suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber); // If the error was thrown during hydration, we may be able to recover by\n // discarding the dehydrated content and switching to a client render.\n // Instead of surfacing the error, find the nearest Suspense boundary\n // and render it again without hydration.\n\n\n if (_suspenseBoundary !== null) {\n if ((_suspenseBoundary.flags & ShouldCapture) === NoFlags) {\n // Set a flag to indicate that we should try rendering the normal\n // children again, not the fallback.\n _suspenseBoundary.flags |= ForceClientRender;\n }\n\n markSuspenseBoundaryShouldCapture(_suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // Even though the user may not be affected by this error, we should\n // still log it so it can be fixed.\n\n queueHydrationError(createCapturedValueAtFiber(value, sourceFiber));\n return;\n }\n }\n }\n\n value = createCapturedValueAtFiber(value, sourceFiber);\n renderDidError(value); // We didn't find a boundary that could handle this type of exception. Start\n // over and traverse parent path again, this time treating the exception\n // as an error.\n\n var workInProgress = returnFiber;\n\n do {\n switch (workInProgress.tag) {\n case HostRoot:\n {\n var _errorInfo = value;\n workInProgress.flags |= ShouldCapture;\n var lane = pickArbitraryLane(rootRenderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane);\n var update = createRootErrorUpdate(workInProgress, _errorInfo, lane);\n enqueueCapturedUpdate(workInProgress, update);\n return;\n }\n\n case ClassComponent:\n // Capture and retry\n var errorInfo = value;\n var ctor = workInProgress.type;\n var instance = workInProgress.stateNode;\n\n if ((workInProgress.flags & DidCapture) === NoFlags && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) {\n workInProgress.flags |= ShouldCapture;\n\n var _lane = pickArbitraryLane(rootRenderLanes);\n\n workInProgress.lanes = mergeLanes(workInProgress.lanes, _lane); // Schedule the error boundary to re-render using updated state\n\n var _update = createClassErrorUpdate(workInProgress, errorInfo, _lane);\n\n enqueueCapturedUpdate(workInProgress, _update);\n return;\n }\n\n break;\n }\n\n workInProgress = workInProgress.return;\n } while (workInProgress !== null);\n}\n\nfunction getSuspendedCache() {\n {\n return null;\n } // This function is called when a Suspense boundary suspends. It returns the\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar didReceiveUpdate = false;\nvar didWarnAboutBadClass;\nvar didWarnAboutModulePatternComponent;\nvar didWarnAboutContextTypeOnFunctionComponent;\nvar didWarnAboutGetDerivedStateOnFunctionComponent;\nvar didWarnAboutFunctionRefs;\nvar didWarnAboutReassigningProps;\nvar didWarnAboutRevealOrder;\nvar didWarnAboutTailOptions;\n\n{\n didWarnAboutBadClass = {};\n didWarnAboutModulePatternComponent = {};\n didWarnAboutContextTypeOnFunctionComponent = {};\n didWarnAboutGetDerivedStateOnFunctionComponent = {};\n didWarnAboutFunctionRefs = {};\n didWarnAboutReassigningProps = false;\n didWarnAboutRevealOrder = {};\n didWarnAboutTailOptions = {};\n}\n\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n if (current === null) {\n // If this is a fresh new component that hasn't been rendered yet, we\n // won't update its child set by applying minimal side-effects. Instead,\n // we will add them all to the child before it gets rendered. That means\n // we can optimize this reconciliation pass by not tracking side-effects.\n workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n // If the current child is the same as the work in progress, it means that\n // we haven't yet started any work on these children. Therefore, we use\n // the clone algorithm to create a copy of all the current children.\n // If we had any progressed work already, that is invalid at this point so\n // let's throw it out.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderLanes);\n }\n}\n\nfunction forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes) {\n // This function is fork of reconcileChildren. It's used in cases where we\n // want to reconcile without matching against the existing set. This has the\n // effect of all current children being unmounted; even if the type and key\n // are the same, the old child is unmounted and a new child is created.\n //\n // To do this, we're going to go through the reconcile algorithm twice. In\n // the first pass, we schedule a deletion for all the current children by\n // passing null.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderLanes); // In the second pass, we mount the new children. The trick here is that we\n // pass null in place of where we usually pass the current child set. This has\n // the effect of remounting all children regardless of whether their\n // identities match.\n\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n}\n\nfunction updateForwardRef(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens after the first render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var render = Component.render;\n var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n if (current === null) {\n var type = Component.type;\n\n if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.\n Component.defaultProps === undefined) {\n var resolvedType = type;\n\n {\n resolvedType = resolveFunctionForHotReloading(type);\n } // If this is a plain function component without default props,\n // and with only the default shallow comparison, we upgrade it\n // to a SimpleMemoComponent to allow fast path updates.\n\n\n workInProgress.tag = SimpleMemoComponent;\n workInProgress.type = resolvedType;\n\n {\n validateFunctionComponentInDev(workInProgress, type);\n }\n\n return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, renderLanes);\n }\n\n {\n var innerPropTypes = type.propTypes;\n\n if (innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(type));\n }\n }\n\n var child = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress, workInProgress.mode, renderLanes);\n child.ref = workInProgress.ref;\n child.return = workInProgress;\n workInProgress.child = child;\n return child;\n }\n\n {\n var _type = Component.type;\n var _innerPropTypes = _type.propTypes;\n\n if (_innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(_innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(_type));\n }\n }\n\n var currentChild = current.child; // This is always exactly one child\n\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext) {\n // This will be the props with resolved defaultProps,\n // unlike current.memoizedProps which will be the unresolved ones.\n var prevProps = currentChild.memoizedProps; // Default to shallow comparison\n\n var compare = Component.compare;\n compare = compare !== null ? compare : shallowEqual;\n\n if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n var newChild = createWorkInProgress(currentChild, nextProps);\n newChild.ref = workInProgress.ref;\n newChild.return = workInProgress;\n workInProgress.child = newChild;\n return newChild;\n}\n\nfunction updateSimpleMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens when the inner render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var outerMemoType = workInProgress.elementType;\n\n if (outerMemoType.$$typeof === REACT_LAZY_TYPE) {\n // We warn when you define propTypes on lazy()\n // so let's just skip over it to find memo() outer wrapper.\n // Inner props for memo are validated later.\n var lazyComponent = outerMemoType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n outerMemoType = init(payload);\n } catch (x) {\n outerMemoType = null;\n } // Inner propTypes will be validated in the function component path.\n\n\n var outerPropTypes = outerMemoType && outerMemoType.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps)\n 'prop', getComponentNameFromType(outerMemoType));\n }\n }\n }\n }\n\n if (current !== null) {\n var prevProps = current.memoizedProps;\n\n if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload.\n workInProgress.type === current.type )) {\n didReceiveUpdate = false; // The props are shallowly equal. Reuse the previous props object, like we\n // would during a normal fiber bailout.\n //\n // We don't have strong guarantees that the props object is referentially\n // equal during updates where we can't bail out anyway — like if the props\n // are shallowly equal, but there's a local state or context update in the\n // same batch.\n //\n // However, as a principle, we should aim to make the behavior consistent\n // across different ways of memoizing a component. For example, React.memo\n // has a different internal Fiber layout if you pass a normal function\n // component (SimpleMemoComponent) versus if you pass a different type\n // like forwardRef (MemoComponent). But this is an implementation detail.\n // Wrapping a component in forwardRef (or React.lazy, etc) shouldn't\n // affect whether the props object is reused during a bailout.\n\n workInProgress.pendingProps = nextProps = prevProps;\n\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n // The pending lanes were cleared at the beginning of beginWork. We're\n // about to bail out, but there might be other lanes that weren't\n // included in the current render. Usually, the priority level of the\n // remaining updates is accumulated during the evaluation of the\n // component (i.e. when processing the update queue). But since since\n // we're bailing out early *without* evaluating the component, we need\n // to account for it here, too. Reset to the value of the current fiber.\n // NOTE: This only applies to SimpleMemoComponent, not MemoComponent,\n // because a MemoComponent fiber does not have hooks or an update queue;\n // rather, it wraps around an inner component, which may or may not\n // contains hooks.\n // TODO: Move the reset at in beginWork out of the common path so that\n // this is no longer necessary.\n workInProgress.lanes = current.lanes;\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n } else if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n }\n }\n }\n\n return updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes);\n}\n\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n var prevState = current !== null ? current.memoizedState : null;\n\n if (nextProps.mode === 'hidden' || enableLegacyHidden ) {\n // Rendering a hidden tree.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy sync mode, don't defer the subtree. Render it now.\n // TODO: Consider how Offscreen should work with transitions in the future\n var nextState = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = nextState;\n\n pushRenderLanes(workInProgress, renderLanes);\n } else if (!includesSomeLane(renderLanes, OffscreenLane)) {\n var spawnedCachePool = null; // We're hidden, and we're not rendering at Offscreen. We will bail out\n // and resume this tree later.\n\n var nextBaseLanes;\n\n if (prevState !== null) {\n var prevBaseLanes = prevState.baseLanes;\n nextBaseLanes = mergeLanes(prevBaseLanes, renderLanes);\n } else {\n nextBaseLanes = renderLanes;\n } // Schedule this fiber to re-render at offscreen priority. Then bailout.\n\n\n workInProgress.lanes = workInProgress.childLanes = laneToLanes(OffscreenLane);\n var _nextState = {\n baseLanes: nextBaseLanes,\n cachePool: spawnedCachePool,\n transitions: null\n };\n workInProgress.memoizedState = _nextState;\n workInProgress.updateQueue = null;\n // to avoid a push/pop misalignment.\n\n\n pushRenderLanes(workInProgress, nextBaseLanes);\n\n return null;\n } else {\n // This is the second render. The surrounding visible content has already\n // committed. Now we resume rendering the hidden tree.\n // Rendering at offscreen, so we can clear the base lanes.\n var _nextState2 = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = _nextState2; // Push the lanes that were skipped when we bailed out.\n\n var subtreeRenderLanes = prevState !== null ? prevState.baseLanes : renderLanes;\n\n pushRenderLanes(workInProgress, subtreeRenderLanes);\n }\n } else {\n // Rendering a visible tree.\n var _subtreeRenderLanes;\n\n if (prevState !== null) {\n // We're going from hidden -> visible.\n _subtreeRenderLanes = mergeLanes(prevState.baseLanes, renderLanes);\n\n workInProgress.memoizedState = null;\n } else {\n // We weren't previously hidden, and we still aren't, so there's nothing\n // special to do. Need to push to the stack regardless, though, to avoid\n // a push/pop misalignment.\n _subtreeRenderLanes = renderLanes;\n }\n\n pushRenderLanes(workInProgress, _subtreeRenderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n} // Note: These happen to have identical begin phases, for now. We shouldn't hold\n\nfunction updateFragment(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMode(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateProfiler(current, workInProgress, renderLanes) {\n {\n workInProgress.flags |= Update;\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n\n if (current === null && ref !== null || current !== null && current.ref !== ref) {\n // Schedule a Ref effect\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n }\n}\n\nfunction updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, true);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateClassComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n // This is used by DevTools to force a boundary to error.\n switch (shouldError(workInProgress)) {\n case false:\n {\n var _instance = workInProgress.stateNode;\n var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack.\n // Is there a better way to do this?\n\n var tempInstance = new ctor(workInProgress.memoizedProps, _instance.context);\n var state = tempInstance.state;\n\n _instance.updater.enqueueSetState(_instance, state, null);\n\n break;\n }\n\n case true:\n {\n workInProgress.flags |= DidCapture;\n workInProgress.flags |= ShouldCapture; // eslint-disable-next-line react-internal/prod-error-codes\n\n var error$1 = new Error('Simulated error coming from DevTools');\n var lane = pickArbitraryLane(renderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane); // Schedule the error boundary to re-render using updated state\n\n var update = createClassErrorUpdate(workInProgress, createCapturedValueAtFiber(error$1, workInProgress), lane);\n enqueueCapturedUpdate(workInProgress, update);\n break;\n }\n }\n\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n } // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var instance = workInProgress.stateNode;\n var shouldUpdate;\n\n if (instance === null) {\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress); // In the initial pass we might need to construct the instance.\n\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n shouldUpdate = true;\n } else if (current === null) {\n // In a resume, we'll already have an instance we can reuse.\n shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderLanes);\n } else {\n shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderLanes);\n }\n\n var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes);\n\n {\n var inst = workInProgress.stateNode;\n\n if (shouldUpdate && inst.props !== nextProps) {\n if (!didWarnAboutReassigningProps) {\n error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentNameFromFiber(workInProgress) || 'a component');\n }\n\n didWarnAboutReassigningProps = true;\n }\n }\n\n return nextUnitOfWork;\n}\n\nfunction finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes) {\n // Refs should update even if shouldComponentUpdate returns false\n markRef(current, workInProgress);\n var didCaptureError = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (!shouldUpdate && !didCaptureError) {\n // Context providers should defer to sCU for rendering\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, false);\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n var instance = workInProgress.stateNode; // Rerender\n\n ReactCurrentOwner$1.current = workInProgress;\n var nextChildren;\n\n if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') {\n // If we captured an error, but getDerivedStateFromError is not defined,\n // unmount all the children. componentDidCatch will schedule an update to\n // re-render a fallback. This is temporary until we migrate everyone to\n // the new API.\n // TODO: Warn in a future release.\n nextChildren = null;\n\n {\n stopProfilerTimerIfRunning();\n }\n } else {\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n setIsRendering(true);\n nextChildren = instance.render();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance.render();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n if (current !== null && didCaptureError) {\n // If we're recovering from an error, reconcile without reusing any of\n // the existing children. Conceptually, the normal children and the children\n // that are shown on error are two different sets, so we shouldn't reuse\n // normal children even if their identities match.\n forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n } // Memoize state using the values we just used to render.\n // TODO: Restructure so we never read values from the instance.\n\n\n workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it.\n\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, true);\n }\n\n return workInProgress.child;\n}\n\nfunction pushHostRootContext(workInProgress) {\n var root = workInProgress.stateNode;\n\n if (root.pendingContext) {\n pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context);\n } else if (root.context) {\n // Should always be set\n pushTopLevelContextObject(workInProgress, root.context, false);\n }\n\n pushHostContainer(workInProgress, root.containerInfo);\n}\n\nfunction updateHostRoot(current, workInProgress, renderLanes) {\n pushHostRootContext(workInProgress);\n\n if (current === null) {\n throw new Error('Should have a current fiber. This is a bug in React.');\n }\n\n var nextProps = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n var prevChildren = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n var root = workInProgress.stateNode;\n // being called \"element\".\n\n\n var nextChildren = nextState.element;\n\n if ( prevState.isDehydrated) {\n // This is a hydration root whose shell has not yet hydrated. We should\n // attempt to hydrate.\n // Flip isDehydrated to false to indicate that when this render\n // finishes, the root will no longer be dehydrated.\n var overrideState = {\n element: nextChildren,\n isDehydrated: false,\n cache: nextState.cache,\n pendingSuspenseBoundaries: nextState.pendingSuspenseBoundaries,\n transitions: nextState.transitions\n };\n var updateQueue = workInProgress.updateQueue; // `baseState` can always be the last state because the root doesn't\n // have reducer functions so it doesn't need rebasing.\n\n updateQueue.baseState = overrideState;\n workInProgress.memoizedState = overrideState;\n\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during a previous attempt to hydrate the shell, so we\n // forced a client render.\n var recoverableError = createCapturedValueAtFiber(new Error('There was an error while hydrating. Because the error happened outside ' + 'of a Suspense boundary, the entire root will switch to ' + 'client rendering.'), workInProgress);\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError);\n } else if (nextChildren !== prevChildren) {\n var _recoverableError = createCapturedValueAtFiber(new Error('This root received an early update, before anything was able ' + 'hydrate. Switched the entire root to client rendering.'), workInProgress);\n\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, _recoverableError);\n } else {\n // The outermost shell has not hydrated yet. Start hydrating.\n enterHydrationState(workInProgress);\n\n var child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n workInProgress.child = child;\n var node = child;\n\n while (node) {\n // Mark each child as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n node.flags = node.flags & ~Placement | Hydrating;\n node = node.sibling;\n }\n }\n } else {\n // Root is not dehydrated. Either this is a client-only root, or it\n // already hydrated.\n resetHydrationState();\n\n if (nextChildren === prevChildren) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nfunction mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError) {\n // Revert to client rendering.\n resetHydrationState();\n queueHydrationError(recoverableError);\n workInProgress.flags |= ForceClientRender;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostComponent(current, workInProgress, renderLanes) {\n pushHostContext(workInProgress);\n\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n }\n\n var type = workInProgress.type;\n var nextProps = workInProgress.pendingProps;\n var prevProps = current !== null ? current.memoizedProps : null;\n var nextChildren = nextProps.children;\n var isDirectTextChild = shouldSetTextContent(type, nextProps);\n\n if (isDirectTextChild) {\n // We special case a direct text child of a host node. This is a common\n // case. We won't handle it as a reified child. We will instead handle\n // this in the host environment that also has access to this prop. That\n // avoids allocating another HostText fiber and traversing it.\n nextChildren = null;\n } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) {\n // If we're switching from a direct text child to a normal child, or to\n // empty, we need to schedule the text content to be reset.\n workInProgress.flags |= ContentReset;\n }\n\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostText(current, workInProgress) {\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n } // Nothing to do here. This is terminal. We'll do the completion step\n // immediately after.\n\n\n return null;\n}\n\nfunction mountLazyComponent(_current, workInProgress, elementType, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var lazyComponent = elementType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n var Component = init(payload); // Store the unwrapped component in the type.\n\n workInProgress.type = Component;\n var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component);\n var resolvedProps = resolveDefaultProps(Component, props);\n var child;\n\n switch (resolvedTag) {\n case FunctionComponent:\n {\n {\n validateFunctionComponentInDev(workInProgress, Component);\n workInProgress.type = Component = resolveFunctionForHotReloading(Component);\n }\n\n child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ClassComponent:\n {\n {\n workInProgress.type = Component = resolveClassForHotReloading(Component);\n }\n\n child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ForwardRef:\n {\n {\n workInProgress.type = Component = resolveForwardRefForHotReloading(Component);\n }\n\n child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case MemoComponent:\n {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = Component.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too\n renderLanes);\n return child;\n }\n }\n\n var hint = '';\n\n {\n if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) {\n hint = ' Did you wrap a component in React.lazy() more than once?';\n }\n } // This message intentionally doesn't mention ForwardRef or MemoComponent\n // because the fact that it's a separate type of work is an\n // implementation detail.\n\n\n throw new Error(\"Element type is invalid. Received a promise that resolves to: \" + Component + \". \" + (\"Lazy element type must resolve to a class or function.\" + hint));\n}\n\nfunction mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress); // Promote the fiber to a class and try rendering again.\n\n workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent`\n // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n}\n\nfunction mountIndeterminateComponent(_current, workInProgress, Component, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, false);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var value;\n var hasId;\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n if (Component.prototype && typeof Component.prototype.render === 'function') {\n var componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutBadClass[componentName]) {\n error(\"The <%s /> component appears to have a render method, but doesn't extend React.Component. \" + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);\n\n didWarnAboutBadClass[componentName] = true;\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);\n }\n\n setIsRendering(true);\n ReactCurrentOwner$1.current = workInProgress;\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n {\n // Support for module components is deprecated and is removed behind a flag.\n // Whether or not it would crash later, we want to show a good message in DEV first.\n if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n var _componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);\n\n didWarnAboutModulePatternComponent[_componentName] = true;\n }\n }\n }\n\n if ( // Run these checks in production only if the flag is off.\n // Eventually we'll delete this branch altogether.\n typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n {\n var _componentName2 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName2]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName2, _componentName2, _componentName2);\n\n didWarnAboutModulePatternComponent[_componentName2] = true;\n }\n } // Proceed under the assumption that this is a class instance\n\n\n workInProgress.tag = ClassComponent; // Throw out any hooks that were used.\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext = false;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null;\n initializeUpdateQueue(workInProgress);\n adoptClassInstance(workInProgress, value);\n mountClassInstance(workInProgress, Component, props, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n } else {\n // Proceed under the assumption that this is a function component\n workInProgress.tag = FunctionComponent;\n\n {\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n }\n\n reconcileChildren(null, workInProgress, value, renderLanes);\n\n {\n validateFunctionComponentInDev(workInProgress, Component);\n }\n\n return workInProgress.child;\n }\n}\n\nfunction validateFunctionComponentInDev(workInProgress, Component) {\n {\n if (Component) {\n if (Component.childContextTypes) {\n error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component');\n }\n }\n\n if (workInProgress.ref !== null) {\n var info = '';\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n var warningKey = ownerName || '';\n var debugSource = workInProgress._debugSource;\n\n if (debugSource) {\n warningKey = debugSource.fileName + ':' + debugSource.lineNumber;\n }\n\n if (!didWarnAboutFunctionRefs[warningKey]) {\n didWarnAboutFunctionRefs[warningKey] = true;\n\n error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info);\n }\n }\n\n if (typeof Component.getDerivedStateFromProps === 'function') {\n var _componentName3 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3]) {\n error('%s: Function components do not support getDerivedStateFromProps.', _componentName3);\n\n didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3] = true;\n }\n }\n\n if (typeof Component.contextType === 'object' && Component.contextType !== null) {\n var _componentName4 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutContextTypeOnFunctionComponent[_componentName4]) {\n error('%s: Function components do not support contextType.', _componentName4);\n\n didWarnAboutContextTypeOnFunctionComponent[_componentName4] = true;\n }\n }\n }\n}\n\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: NoLane\n};\n\nfunction mountSuspenseOffscreenState(renderLanes) {\n return {\n baseLanes: renderLanes,\n cachePool: getSuspendedCache(),\n transitions: null\n };\n}\n\nfunction updateSuspenseOffscreenState(prevOffscreenState, renderLanes) {\n var cachePool = null;\n\n return {\n baseLanes: mergeLanes(prevOffscreenState.baseLanes, renderLanes),\n cachePool: cachePool,\n transitions: prevOffscreenState.transitions\n };\n} // TODO: Probably should inline this back\n\n\nfunction shouldRemainOnFallback(suspenseContext, current, workInProgress, renderLanes) {\n // If we're already showing a fallback, there are cases where we need to\n // remain on that fallback regardless of whether the content has resolved.\n // For example, SuspenseList coordinates when nested content appears.\n if (current !== null) {\n var suspenseState = current.memoizedState;\n\n if (suspenseState === null) {\n // Currently showing content. Don't hide it, even if ForceSuspenseFallback\n // is true. More precise name might be \"ForceRemainSuspenseFallback\".\n // Note: This is a factoring smell. Can't remain on a fallback if there's\n // no fallback to remain on.\n return false;\n }\n } // Not currently showing content. Consult the Suspense context.\n\n\n return hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n}\n\nfunction getRemainingWorkInPrimaryTree(current, renderLanes) {\n // TODO: Should not remove render lanes that were pinged during this render\n return removeLanes(current.childLanes, renderLanes);\n}\n\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend.\n\n {\n if (shouldSuspend(workInProgress)) {\n workInProgress.flags |= DidCapture;\n }\n }\n\n var suspenseContext = suspenseStackCursor.current;\n var showFallback = false;\n var didSuspend = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) {\n // Something in this boundary's subtree already suspended. Switch to\n // rendering the fallback children.\n showFallback = true;\n workInProgress.flags &= ~DidCapture;\n } else {\n // Attempting the main content\n if (current === null || current.memoizedState !== null) {\n // This is a new mount or this boundary is already showing a fallback state.\n // Mark this subtree context as having at least one invisible parent that could\n // handle the fallback state.\n // Avoided boundaries are not considered since they cannot handle preferred fallback states.\n {\n suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext);\n }\n }\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n pushSuspenseContext(workInProgress, suspenseContext); // OK, the next part is confusing. We're about to reconcile the Suspense\n // boundary's children. This involves some custom reconciliation logic. Two\n // main reasons this is so complicated.\n //\n // First, Legacy Mode has different semantics for backwards compatibility. The\n // primary tree will commit in an inconsistent state, so when we do the\n // second pass to render the fallback, we do some exceedingly, uh, clever\n // hacks to make that not totally break. Like transferring effects and\n // deletions from hidden tree. In Concurrent Mode, it's much simpler,\n // because we bailout on the primary tree completely and leave it in its old\n // state, no effects. Same as what we do for Offscreen (except that\n // Offscreen doesn't have the first render pass).\n //\n // Second is hydration. During hydration, the Suspense fiber has a slightly\n // different layout, where the child points to a dehydrated fragment, which\n // contains the DOM rendered by the server.\n //\n // Third, even if you set all that aside, Suspense is like error boundaries in\n // that we first we try to render one tree, and if that fails, we render again\n // and switch to a different tree. Like a try/catch block. So we have to track\n // which branch we're currently rendering. Ideally we would model this using\n // a stack.\n\n if (current === null) {\n // Initial mount\n // Special path for hydration\n // If we're currently hydrating, try to hydrate this boundary.\n tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component.\n\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null) {\n var dehydrated = suspenseState.dehydrated;\n\n if (dehydrated !== null) {\n return mountDehydratedSuspenseComponent(workInProgress, dehydrated);\n }\n }\n\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n\n if (showFallback) {\n var fallbackFragment = mountSuspenseFallbackChildren(workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var primaryChildFragment = workInProgress.child;\n primaryChildFragment.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n\n return fallbackFragment;\n } else {\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n } else {\n // This is an update.\n // Special path for hydration\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var _dehydrated = prevState.dehydrated;\n\n if (_dehydrated !== null) {\n return updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, _dehydrated, prevState, renderLanes);\n }\n }\n\n if (showFallback) {\n var _nextFallbackChildren = nextProps.fallback;\n var _nextPrimaryChildren = nextProps.children;\n var fallbackChildFragment = updateSuspenseFallbackChildren(current, workInProgress, _nextPrimaryChildren, _nextFallbackChildren, renderLanes);\n var _primaryChildFragment2 = workInProgress.child;\n var prevOffscreenState = current.child.memoizedState;\n _primaryChildFragment2.memoizedState = prevOffscreenState === null ? mountSuspenseOffscreenState(renderLanes) : updateSuspenseOffscreenState(prevOffscreenState, renderLanes);\n\n _primaryChildFragment2.childLanes = getRemainingWorkInPrimaryTree(current, renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n } else {\n var _nextPrimaryChildren2 = nextProps.children;\n\n var _primaryChildFragment3 = updateSuspensePrimaryChildren(current, workInProgress, _nextPrimaryChildren2, renderLanes);\n\n workInProgress.memoizedState = null;\n return _primaryChildFragment3;\n }\n }\n}\n\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren, renderLanes) {\n var mode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n primaryChildFragment.return = workInProgress;\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackChildren(workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var progressedPrimaryFragment = workInProgress.child;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n var fallbackChildFragment;\n\n if ((mode & ConcurrentMode) === NoMode && progressedPrimaryFragment !== null) {\n // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = 0;\n primaryChildFragment.treeBaseDuration = 0;\n }\n\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n } else {\n primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n }\n\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode, renderLanes) {\n // The props argument to `createFiberFromOffscreen` is `any` typed, so we use\n // this wrapper function to constrain it.\n return createFiberFromOffscreen(offscreenProps, mode, NoLanes, null);\n}\n\nfunction updateWorkInProgressOffscreenFiber(current, offscreenProps) {\n // The props argument to `createWorkInProgress` is `any` typed, so we use this\n // wrapper function to constrain it.\n return createWorkInProgress(current, offscreenProps);\n}\n\nfunction updateSuspensePrimaryChildren(current, workInProgress, primaryChildren, renderLanes) {\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, {\n mode: 'visible',\n children: primaryChildren\n });\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n primaryChildFragment.lanes = renderLanes;\n }\n\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = null;\n\n if (currentFallbackChildFragment !== null) {\n // Delete the fallback child fragment\n var deletions = workInProgress.deletions;\n\n if (deletions === null) {\n workInProgress.deletions = [currentFallbackChildFragment];\n workInProgress.flags |= ChildDeletion;\n } else {\n deletions.push(currentFallbackChildFragment);\n }\n }\n\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction updateSuspenseFallbackChildren(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n\n if ( // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n (mode & ConcurrentMode) === NoMode && // Make sure we're on the second pass, i.e. the primary child fragment was\n // already cloned. In legacy mode, the only case where this isn't true is\n // when DevTools forces us to display a fallback; we skip the first render\n // pass entirely and go straight to rendering the fallback. (In Concurrent\n // Mode, SuspenseList can also trigger this scenario, but this is a legacy-\n // only codepath.)\n workInProgress.child !== currentPrimaryChildFragment) {\n var progressedPrimaryFragment = workInProgress.child;\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = currentPrimaryChildFragment.selfBaseDuration;\n primaryChildFragment.treeBaseDuration = currentPrimaryChildFragment.treeBaseDuration;\n } // The fallback fiber was added as a deletion during the first pass.\n // However, since we're going to remain on the fallback, we no longer want\n // to delete it.\n\n\n workInProgress.deletions = null;\n } else {\n primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, primaryChildProps); // Since we're reusing a current tree, we need to reuse the flags, too.\n // (We don't do this in legacy mode, because in legacy mode we don't re-use\n // the current tree; see previous branch.)\n\n primaryChildFragment.subtreeFlags = currentPrimaryChildFragment.subtreeFlags & StaticMask;\n }\n\n var fallbackChildFragment;\n\n if (currentFallbackChildFragment !== null) {\n fallbackChildFragment = createWorkInProgress(currentFallbackChildFragment, fallbackChildren);\n } else {\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n }\n\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, recoverableError) {\n // Falling back to client rendering. Because this has performance\n // implications, it's considered a recoverable error, even though the user\n // likely won't observe anything wrong with the UI.\n //\n // The error is passed in as an argument to enforce that every caller provide\n // a custom message, or explicitly opt out (currently the only path that opts\n // out is legacy mode; every concurrent path provides an error).\n if (recoverableError !== null) {\n queueHydrationError(recoverableError);\n } // This will add the old fiber to the deletion list\n\n\n reconcileChildFibers(workInProgress, current.child, null, renderLanes); // We're now not suspended nor dehydrated.\n\n var nextProps = workInProgress.pendingProps;\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n primaryChildFragment.flags |= Placement;\n workInProgress.memoizedState = null;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var fiberMode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, fiberMode);\n var fallbackChildFragment = createFiberFromFragment(fallbackChildren, fiberMode, renderLanes, null); // Needs a placement effect because the parent (the Suspense\n // boundary) already mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // We will have dropped the effect list which contains the\n // deletion. We need to reconcile to delete the current child.\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n }\n\n return fallbackChildFragment;\n}\n\nfunction mountDehydratedSuspenseComponent(workInProgress, suspenseInstance, renderLanes) {\n // During the first pass, we'll bail out and not drill into the children.\n // Instead, we'll leave the content in place and try to hydrate it later.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n {\n error('Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOMClient.hydrateRoot(container, <App />)' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');\n }\n\n workInProgress.lanes = laneToLanes(SyncLane);\n } else if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This is a client-only boundary. Since we won't get any content from the server\n // for this, we need to schedule that at a higher priority based on when it would\n // have timed out. In theory we could render it in this pass but it would have the\n // wrong priority associated with it and will prevent hydration of parent path.\n // Instead, we'll leave work left on it to render it in a separate commit.\n // TODO This time should be the time at which the server rendered response that is\n // a parent to this boundary was displayed. However, since we currently don't have\n // a protocol to transfer that time, we'll just estimate it by using the current\n // time. This will mean that Suspense timeouts are slightly shifted to later than\n // they should be.\n // Schedule a normal pri update to render this content.\n workInProgress.lanes = laneToLanes(DefaultHydrationLane);\n } else {\n // We'll continue hydrating the rest at offscreen priority since we'll already\n // be showing the right content coming from the server, it is no rush.\n workInProgress.lanes = laneToLanes(OffscreenLane);\n }\n\n return null;\n}\n\nfunction updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, suspenseInstance, suspenseState, renderLanes) {\n if (!didSuspend) {\n // This is the first render pass. Attempt to hydrate.\n // We should never be hydrating at this point because it is the first pass,\n // but after we've already committed once.\n warnIfHydrating();\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, // TODO: When we delete legacy mode, we should make this error argument\n // required — every concurrent mode path that causes hydration to\n // de-opt to client rendering should have an error message.\n null);\n }\n\n if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This boundary is in a permanent fallback state. In this case, we'll never\n // get an update and we'll never be able to hydrate the final content. Let's just try the\n // client side render instead.\n var digest, message, stack;\n\n {\n var _getSuspenseInstanceF = getSuspenseInstanceFallbackErrorDetails(suspenseInstance);\n\n digest = _getSuspenseInstanceF.digest;\n message = _getSuspenseInstanceF.message;\n stack = _getSuspenseInstanceF.stack;\n }\n\n var error;\n\n if (message) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(message);\n } else {\n error = new Error('The server could not finish this Suspense boundary, likely ' + 'due to an error during server rendering. Switched to ' + 'client rendering.');\n }\n\n var capturedValue = createCapturedValue(error, digest, stack);\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, capturedValue);\n }\n // any context has changed, we need to treat is as if the input might have changed.\n\n\n var hasContextChanged = includesSomeLane(renderLanes, current.childLanes);\n\n if (didReceiveUpdate || hasContextChanged) {\n // This boundary has changed since the first render. This means that we are now unable to\n // hydrate it. We might still be able to hydrate it using a higher priority lane.\n var root = getWorkInProgressRoot();\n\n if (root !== null) {\n var attemptHydrationAtLane = getBumpedLaneForHydration(root, renderLanes);\n\n if (attemptHydrationAtLane !== NoLane && attemptHydrationAtLane !== suspenseState.retryLane) {\n // Intentionally mutating since this render will get interrupted. This\n // is one of the very rare times where we mutate the current tree\n // during the render phase.\n suspenseState.retryLane = attemptHydrationAtLane; // TODO: Ideally this would inherit the event time of the current render\n\n var eventTime = NoTimestamp;\n enqueueConcurrentRenderForLane(current, attemptHydrationAtLane);\n scheduleUpdateOnFiber(root, current, attemptHydrationAtLane, eventTime);\n }\n } // If we have scheduled higher pri work above, this will probably just abort the render\n // since we now have higher priority work, but in case it doesn't, we need to prepare to\n // render something, if we time out. Even if that requires us to delete everything and\n // skip hydration.\n // Delay having to do this as long as the suspense timeout allows us.\n\n\n renderDidSuspendDelayIfPossible();\n\n var _capturedValue = createCapturedValue(new Error('This Suspense boundary received an update before it finished ' + 'hydrating. This caused the boundary to switch to client rendering. ' + 'The usual way to fix this is to wrap the original update ' + 'in startTransition.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue);\n } else if (isSuspenseInstancePending(suspenseInstance)) {\n // This component is still pending more data from the server, so we can't hydrate its\n // content. We treat it as if this component suspended itself. It might seem as if\n // we could just try to render it client-side instead. However, this will perform a\n // lot of unnecessary work and is unlikely to complete since it often will suspend\n // on missing data anyway. Additionally, the server might be able to render more\n // than we can on the client yet. In that case we'd end up with more fallback states\n // on the client than if we just leave it alone. If the server times out or errors\n // these should update this boundary to the permanent Fallback state instead.\n // Mark it as having captured (i.e. suspended).\n workInProgress.flags |= DidCapture; // Leave the child in place. I.e. the dehydrated fragment.\n\n workInProgress.child = current.child; // Register a callback to retry this boundary once the server has sent the result.\n\n var retry = retryDehydratedSuspenseBoundary.bind(null, current);\n registerSuspenseInstanceRetry(suspenseInstance, retry);\n return null;\n } else {\n // This is the first attempt.\n reenterHydrationStateFromDehydratedSuspenseInstance(workInProgress, suspenseInstance, suspenseState.treeContext);\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Mark the children as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n\n primaryChildFragment.flags |= Hydrating;\n return primaryChildFragment;\n }\n } else {\n // This is the second render pass. We already attempted to hydrated, but\n // something either suspended or errored.\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during hydration. Try again without hydrating.\n workInProgress.flags &= ~ForceClientRender;\n\n var _capturedValue2 = createCapturedValue(new Error('There was an error while hydrating this Suspense boundary. ' + 'Switched to client rendering.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue2);\n } else if (workInProgress.memoizedState !== null) {\n // Something suspended and we should still be in dehydrated mode.\n // Leave the existing child in place.\n workInProgress.child = current.child; // The dehydrated completion pass expects this flag to be there\n // but the normal suspense pass doesn't.\n\n workInProgress.flags |= DidCapture;\n return null;\n } else {\n // Suspended but we should no longer be in dehydrated mode.\n // Therefore we now have to render the fallback.\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n var fallbackChildFragment = mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var _primaryChildFragment4 = workInProgress.child;\n _primaryChildFragment4.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n }\n }\n}\n\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\n\nfunction propagateSuspenseContextChange(workInProgress, firstChild, renderLanes) {\n // Mark any Suspense boundaries with fallbacks as having work to do.\n // If they were previously forced into fallbacks, they may now be able\n // to unblock.\n var node = firstChild;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n }\n } else if (node.tag === SuspenseListComponent) {\n // If the tail is hidden there might not be an Suspense boundaries\n // to schedule work on. In this case we have to schedule it on the\n // list itself.\n // We don't have to traverse to the children of the list since\n // the list will propagate the change when it rerenders.\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n}\n\nfunction findLastContentRow(firstChild) {\n // This is going to find the last row among these children that is already\n // showing content on the screen, as opposed to being in fallback state or\n // new. If a row has multiple Suspense boundaries, any of them being in the\n // fallback state, counts as the whole row being in a fallback state.\n // Note that the \"rows\" will be workInProgress, but any nested children\n // will still be current since we haven't rendered them yet. The mounted\n // order may not be the same as the new order. We use the new order.\n var row = firstChild;\n var lastContentRow = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n lastContentRow = row;\n }\n\n row = row.sibling;\n }\n\n return lastContentRow;\n}\n\nfunction validateRevealOrder(revealOrder) {\n {\n if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) {\n didWarnAboutRevealOrder[revealOrder] = true;\n\n if (typeof revealOrder === 'string') {\n switch (revealOrder.toLowerCase()) {\n case 'together':\n case 'forwards':\n case 'backwards':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase \"%s\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n case 'forward':\n case 'backward':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use \"%ss\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n default:\n error('\"%s\" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n\n break;\n }\n } else {\n error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n }\n }\n }\n}\n\nfunction validateTailOptions(tailMode, revealOrder) {\n {\n if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) {\n if (tailMode !== 'collapsed' && tailMode !== 'hidden') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('\"%s\" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean \"collapsed\" or \"hidden\"?', tailMode);\n } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('<SuspenseList tail=\"%s\" /> is only valid if revealOrder is ' + '\"forwards\" or \"backwards\". ' + 'Did you mean to specify revealOrder=\"forwards\"?', tailMode);\n }\n }\n }\n}\n\nfunction validateSuspenseListNestedChild(childSlot, index) {\n {\n var isAnArray = isArray(childSlot);\n var isIterable = !isAnArray && typeof getIteratorFn(childSlot) === 'function';\n\n if (isAnArray || isIterable) {\n var type = isAnArray ? 'array' : 'iterable';\n\n error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type);\n\n return false;\n }\n }\n\n return true;\n}\n\nfunction validateSuspenseListChildren(children, revealOrder) {\n {\n if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n if (!validateSuspenseListNestedChild(children[i], i)) {\n return;\n }\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var childrenIterator = iteratorFn.call(children);\n\n if (childrenIterator) {\n var step = childrenIterator.next();\n var _i = 0;\n\n for (; !step.done; step = childrenIterator.next()) {\n if (!validateSuspenseListNestedChild(step.value, _i)) {\n return;\n }\n\n _i++;\n }\n }\n } else {\n error('A single row was passed to a <SuspenseList revealOrder=\"%s\" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder);\n }\n }\n }\n }\n}\n\nfunction initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode) {\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n };\n } else {\n // We can reuse the existing object from previous renders.\n renderState.isBackwards = isBackwards;\n renderState.rendering = null;\n renderState.renderingStartTime = 0;\n renderState.last = lastContentRow;\n renderState.tail = tail;\n renderState.tailMode = tailMode;\n }\n} // This can end up rendering this component multiple passes.\n// The first pass splits the children fibers into two sets. A head and tail.\n// We first render the head. If anything is in fallback state, we do another\n// pass through beginWork to rerender all children (including the tail) with\n// the force suspend context. If the first render didn't have anything in\n// in fallback state. Then we render each row in the tail one-by-one.\n// That happens in the completeWork phase without going back to beginWork.\n\n\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var revealOrder = nextProps.revealOrder;\n var tailMode = nextProps.tail;\n var newChildren = nextProps.children;\n validateRevealOrder(revealOrder);\n validateTailOptions(tailMode, revealOrder);\n validateSuspenseListChildren(newChildren, revealOrder);\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n var suspenseContext = suspenseStackCursor.current;\n var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n\n if (shouldForceFallback) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n workInProgress.flags |= DidCapture;\n } else {\n var didSuspendBefore = current !== null && (current.flags & DidCapture) !== NoFlags;\n\n if (didSuspendBefore) {\n // If we previously forced a fallback, we need to schedule work\n // on any nested boundaries to let them know to try to render\n // again. This is the same as context updating.\n propagateSuspenseContextChange(workInProgress, workInProgress.child, renderLanes);\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext);\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy mode, SuspenseList doesn't work so we just\n // use make it a noop by treating it as the default revealOrder.\n workInProgress.memoizedState = null;\n } else {\n switch (revealOrder) {\n case 'forwards':\n {\n var lastContentRow = findLastContentRow(workInProgress.child);\n var tail;\n\n if (lastContentRow === null) {\n // The whole list is part of the tail.\n // TODO: We could fast path by just rendering the tail now.\n tail = workInProgress.child;\n workInProgress.child = null;\n } else {\n // Disconnect the tail rows after the content row.\n // We're going to render them separately later.\n tail = lastContentRow.sibling;\n lastContentRow.sibling = null;\n }\n\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n tail, lastContentRow, tailMode);\n break;\n }\n\n case 'backwards':\n {\n // We're going to find the first row that has existing content.\n // At the same time we're going to reverse the list of everything\n // we pass in the meantime. That's going to be our tail in reverse\n // order.\n var _tail = null;\n var row = workInProgress.child;\n workInProgress.child = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n // This is the beginning of the main content.\n workInProgress.child = row;\n break;\n }\n\n var nextRow = row.sibling;\n row.sibling = _tail;\n _tail = row;\n row = nextRow;\n } // TODO: If workInProgress.child is null, we can continue on the tail immediately.\n\n\n initSuspenseListRenderState(workInProgress, true, // isBackwards\n _tail, null, // last\n tailMode);\n break;\n }\n\n case 'together':\n {\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n null, // tail\n null, // last\n undefined);\n break;\n }\n\n default:\n {\n // The default reveal order is the same as not having\n // a boundary.\n workInProgress.memoizedState = null;\n }\n }\n }\n\n return workInProgress.child;\n}\n\nfunction updatePortalComponent(current, workInProgress, renderLanes) {\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n var nextChildren = workInProgress.pendingProps;\n\n if (current === null) {\n // Portals are special because we don't append the children during mount\n // but at commit. Therefore we need to track insertions which the normal\n // flow doesn't do during mount. This doesn't happen at the root because\n // the root always starts with a \"current\" with a null child.\n // TODO: Consider unifying this with how the root works.\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingNoValuePropOnContextProvider = false;\n\nfunction updateContextProvider(current, workInProgress, renderLanes) {\n var providerType = workInProgress.type;\n var context = providerType._context;\n var newProps = workInProgress.pendingProps;\n var oldProps = workInProgress.memoizedProps;\n var newValue = newProps.value;\n\n {\n if (!('value' in newProps)) {\n if (!hasWarnedAboutUsingNoValuePropOnContextProvider) {\n hasWarnedAboutUsingNoValuePropOnContextProvider = true;\n\n error('The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?');\n }\n }\n\n var providerPropTypes = workInProgress.type.propTypes;\n\n if (providerPropTypes) {\n checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider');\n }\n }\n\n pushProvider(workInProgress, context, newValue);\n\n {\n if (oldProps !== null) {\n var oldValue = oldProps.value;\n\n if (objectIs(oldValue, newValue)) {\n // No change. Bailout early if children are the same.\n if (oldProps.children === newProps.children && !hasContextChanged()) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } else {\n // The context value changed. Search for matching consumers and schedule\n // them to update.\n propagateContextChange(workInProgress, context, renderLanes);\n }\n }\n }\n\n var newChildren = newProps.children;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingContextAsConsumer = false;\n\nfunction updateContextConsumer(current, workInProgress, renderLanes) {\n var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In\n // DEV mode, we create a separate object for Context.Consumer that acts\n // like a proxy to Context. This proxy object adds unnecessary code in PROD\n // so we use the old behaviour (Context.Consumer references Context) to\n // reduce size and overhead. The separate object references context via\n // a property called \"_context\", which also gives us the ability to check\n // in DEV mode if this property exists or not and warn if it does not.\n\n {\n if (context._context === undefined) {\n // This may be because it's a Context (rather than a Consumer).\n // Or it may be because it's older React where they're the same thing.\n // We only want to warn if we're sure it's a new React.\n if (context !== context.Consumer) {\n if (!hasWarnedAboutUsingContextAsConsumer) {\n hasWarnedAboutUsingContextAsConsumer = true;\n\n error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n }\n } else {\n context = context._context;\n }\n }\n\n var newProps = workInProgress.pendingProps;\n var render = newProps.children;\n\n {\n if (typeof render !== 'function') {\n error('A context consumer was rendered with multiple children, or a child ' + \"that isn't a function. A context consumer expects a single child \" + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');\n }\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var newValue = readContext(context);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n var newChildren;\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n newChildren = render(newValue);\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markWorkInProgressReceivedUpdate() {\n didReceiveUpdate = true;\n}\n\nfunction resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress) {\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n if (current !== null) {\n // A lazy component only mounts if it suspended inside a non-\n // concurrent tree, in an inconsistent state. We want to treat it like\n // a new mount, even though an empty version of it already committed.\n // Disconnect the alternate pointers.\n current.alternate = null;\n workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\n\n workInProgress.flags |= Placement;\n }\n }\n}\n\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n if (current !== null) {\n // Reuse previous dependencies\n workInProgress.dependencies = current.dependencies;\n }\n\n {\n // Don't update \"base\" render times for bailouts.\n stopProfilerTimerIfRunning();\n }\n\n markSkippedUpdateLanes(workInProgress.lanes); // Check if the children have any pending work.\n\n if (!includesSomeLane(renderLanes, workInProgress.childLanes)) {\n // The children don't have any work either. We can skip them.\n // TODO: Once we add back resuming, we should check if the children are\n // a work-in-progress set. If so, we need to transfer their effects.\n {\n return null;\n }\n } // This fiber doesn't have work, but its subtree does. Clone the child\n // fibers and continue.\n\n\n cloneChildFibers(current, workInProgress);\n return workInProgress.child;\n}\n\nfunction remountFiber(current, oldWorkInProgress, newWorkInProgress) {\n {\n var returnFiber = oldWorkInProgress.return;\n\n if (returnFiber === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Cannot swap the root fiber.');\n } // Disconnect from the old current.\n // It will get deleted.\n\n\n current.alternate = null;\n oldWorkInProgress.alternate = null; // Connect to the new tree.\n\n newWorkInProgress.index = oldWorkInProgress.index;\n newWorkInProgress.sibling = oldWorkInProgress.sibling;\n newWorkInProgress.return = oldWorkInProgress.return;\n newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it.\n\n if (oldWorkInProgress === returnFiber.child) {\n returnFiber.child = newWorkInProgress;\n } else {\n var prevSibling = returnFiber.child;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected parent to have a child.');\n }\n\n while (prevSibling.sibling !== oldWorkInProgress) {\n prevSibling = prevSibling.sibling;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected to find the previous sibling.');\n }\n }\n\n prevSibling.sibling = newWorkInProgress;\n } // Delete the old fiber and place the new one.\n // Since the old fiber is disconnected, we have to schedule it manually.\n\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [current];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(current);\n }\n\n newWorkInProgress.flags |= Placement; // Restart work from the new fiber.\n\n return newWorkInProgress;\n }\n}\n\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n // Before performing an early bailout, we must check if there are pending\n // updates or context.\n var updateLanes = current.lanes;\n\n if (includesSomeLane(updateLanes, renderLanes)) {\n return true;\n } // No pending update, but because context is propagated lazily, we need\n\n return false;\n}\n\nfunction attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes) {\n // This fiber does not have any pending work. Bailout without entering\n // the begin phase. There's still some bookkeeping we that needs to be done\n // in this optimized path, mostly pushing stuff onto the stack.\n switch (workInProgress.tag) {\n case HostRoot:\n pushHostRootContext(workInProgress);\n var root = workInProgress.stateNode;\n\n resetHydrationState();\n break;\n\n case HostComponent:\n pushHostContext(workInProgress);\n break;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n pushContextProvider(workInProgress);\n }\n\n break;\n }\n\n case HostPortal:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n\n case ContextProvider:\n {\n var newValue = workInProgress.memoizedProps.value;\n var context = workInProgress.type._context;\n pushProvider(workInProgress, context, newValue);\n break;\n }\n\n case Profiler:\n {\n // Profiler should only call onRender when one of its descendants actually rendered.\n var hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (hasChildWork) {\n workInProgress.flags |= Update;\n }\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n break;\n\n case SuspenseComponent:\n {\n var state = workInProgress.memoizedState;\n\n if (state !== null) {\n if (state.dehydrated !== null) {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // We know that this component will suspend again because if it has\n // been unsuspended it has committed as a resolved Suspense component.\n // If it needs to be retried, it should have work scheduled on it.\n\n workInProgress.flags |= DidCapture; // We should never render the children of a dehydrated boundary until we\n // upgrade it. We return null instead of bailoutOnAlreadyFinishedWork.\n\n return null;\n } // If this boundary is currently timed out, we need to decide\n // whether to retry the primary children, or to skip over it and\n // go straight to the fallback. Check the priority of the primary\n // child fragment.\n\n\n var primaryChildFragment = workInProgress.child;\n var primaryChildLanes = primaryChildFragment.childLanes;\n\n if (includesSomeLane(renderLanes, primaryChildLanes)) {\n // The primary children have pending work. Use the normal path\n // to attempt to render the primary children again.\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n } else {\n // The primary child fragment does not have pending work marked\n // on it\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient\n // priority. Bailout.\n\n var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n\n if (child !== null) {\n // The fallback children have pending work. Skip over the\n // primary children and work on the fallback.\n return child.sibling;\n } else {\n // Note: We can return `null` here because we already checked\n // whether there were nested context consumers, via the call to\n // `bailoutOnAlreadyFinishedWork` above.\n return null;\n }\n }\n } else {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current));\n }\n\n break;\n }\n\n case SuspenseListComponent:\n {\n var didSuspendBefore = (current.flags & DidCapture) !== NoFlags;\n\n var _hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (didSuspendBefore) {\n if (_hasChildWork) {\n // If something was in fallback state last time, and we have all the\n // same children then we're still in progressive loading state.\n // Something might get unblocked by state updates or retries in the\n // tree which will affect the tail. So we need to use the normal\n // path to compute the correct tail.\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n } // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n\n\n workInProgress.flags |= DidCapture;\n } // If nothing suspended before and we're rendering the same children,\n // then the tail doesn't matter. Anything new that suspends will work\n // in the \"together\" mode, so we can continue from the state we had.\n\n\n var renderState = workInProgress.memoizedState;\n\n if (renderState !== null) {\n // Reset to the \"together\" mode in case we've started a different\n // update in the past but didn't complete it.\n renderState.rendering = null;\n renderState.tail = null;\n renderState.lastEffect = null;\n }\n\n pushSuspenseContext(workInProgress, suspenseStackCursor.current);\n\n if (_hasChildWork) {\n break;\n } else {\n // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n return null;\n }\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n // Need to check if the tree still needs to be deferred. This is\n // almost identical to the logic used in the normal update path,\n // so we'll just enter that. The only difference is we'll bail out\n // at the next level instead of this one, because the child props\n // have not changed. Which is fine.\n // TODO: Probably should refactor `beginWork` to split the bailout\n // path from the normal path. I'm tempted to do a labeled break here\n // but I won't :)\n workInProgress.lanes = NoLanes;\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\n\nfunction beginWork(current, workInProgress, renderLanes) {\n {\n if (workInProgress._debugNeedsRemount && current !== null) {\n // This will restart the begin phase with a new fiber.\n return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.lanes));\n }\n }\n\n if (current !== null) {\n var oldProps = current.memoizedProps;\n var newProps = workInProgress.pendingProps;\n\n if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload:\n workInProgress.type !== current.type )) {\n // If props or context changed, mark the fiber as having performed work.\n // This may be unset if the props are determined to be equal later (memo).\n didReceiveUpdate = true;\n } else {\n // Neither props nor legacy context changes. Check if there's a pending\n // update or context change.\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext && // If this is the second pass of an error or suspense boundary, there\n // may not be work scheduled on `current`, so we check for this flag.\n (workInProgress.flags & DidCapture) === NoFlags) {\n // No pending updates or context. Bail out now.\n didReceiveUpdate = false;\n return attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes);\n }\n\n if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n } else {\n // An update was scheduled on this fiber, but there are no new props\n // nor legacy context. Set this to false. If an update queue or context\n // consumer produces a changed value, it will set this to true. Otherwise,\n // the component will assume the children have not changed and bail out.\n didReceiveUpdate = false;\n }\n }\n } else {\n didReceiveUpdate = false;\n\n if (getIsHydrating() && isForkedChild(workInProgress)) {\n // Check if this child belongs to a list of muliple children in\n // its parent.\n //\n // In a true multi-threaded implementation, we would render children on\n // parallel threads. This would represent the beginning of a new render\n // thread for this subtree.\n //\n // We only use this for id generation during hydration, which is why the\n // logic is located in this special branch.\n var slotIndex = workInProgress.index;\n var numberOfForks = getForksAtLevel();\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n } // Before entering the begin phase, clear pending update priority.\n // TODO: This assumes that we're about to evaluate the component and process\n // the update queue. However, there's an exception: SimpleMemoComponent\n // sometimes bails out later in the begin phase. This indicates that we should\n // move this assignment out of the common path and into each branch.\n\n\n workInProgress.lanes = NoLanes;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n {\n return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderLanes);\n }\n\n case LazyComponent:\n {\n var elementType = workInProgress.elementType;\n return mountLazyComponent(current, workInProgress, elementType, renderLanes);\n }\n\n case FunctionComponent:\n {\n var Component = workInProgress.type;\n var unresolvedProps = workInProgress.pendingProps;\n var resolvedProps = workInProgress.elementType === Component ? unresolvedProps : resolveDefaultProps(Component, unresolvedProps);\n return updateFunctionComponent(current, workInProgress, Component, resolvedProps, renderLanes);\n }\n\n case ClassComponent:\n {\n var _Component = workInProgress.type;\n var _unresolvedProps = workInProgress.pendingProps;\n\n var _resolvedProps = workInProgress.elementType === _Component ? _unresolvedProps : resolveDefaultProps(_Component, _unresolvedProps);\n\n return updateClassComponent(current, workInProgress, _Component, _resolvedProps, renderLanes);\n }\n\n case HostRoot:\n return updateHostRoot(current, workInProgress, renderLanes);\n\n case HostComponent:\n return updateHostComponent(current, workInProgress, renderLanes);\n\n case HostText:\n return updateHostText(current, workInProgress);\n\n case SuspenseComponent:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n\n case HostPortal:\n return updatePortalComponent(current, workInProgress, renderLanes);\n\n case ForwardRef:\n {\n var type = workInProgress.type;\n var _unresolvedProps2 = workInProgress.pendingProps;\n\n var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);\n\n return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderLanes);\n }\n\n case Fragment:\n return updateFragment(current, workInProgress, renderLanes);\n\n case Mode:\n return updateMode(current, workInProgress, renderLanes);\n\n case Profiler:\n return updateProfiler(current, workInProgress, renderLanes);\n\n case ContextProvider:\n return updateContextProvider(current, workInProgress, renderLanes);\n\n case ContextConsumer:\n return updateContextConsumer(current, workInProgress, renderLanes);\n\n case MemoComponent:\n {\n var _type2 = workInProgress.type;\n var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.\n\n var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3);\n\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = _type2.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only\n 'prop', getComponentNameFromType(_type2));\n }\n }\n }\n\n _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3);\n return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, renderLanes);\n }\n\n case SimpleMemoComponent:\n {\n return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes);\n }\n\n case IncompleteClassComponent:\n {\n var _Component2 = workInProgress.type;\n var _unresolvedProps4 = workInProgress.pendingProps;\n\n var _resolvedProps4 = workInProgress.elementType === _Component2 ? _unresolvedProps4 : resolveDefaultProps(_Component2, _unresolvedProps4);\n\n return mountIncompleteClassComponent(current, workInProgress, _Component2, _resolvedProps4, renderLanes);\n }\n\n case SuspenseListComponent:\n {\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n {\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction markUpdate(workInProgress) {\n // Tag the fiber with an update effect. This turns a Placement into\n // a PlacementAndUpdate.\n workInProgress.flags |= Update;\n}\n\nfunction markRef$1(workInProgress) {\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n}\n\nvar appendAllChildren;\nvar updateHostContainer;\nvar updateHostComponent$1;\nvar updateHostText$1;\n\n{\n // Mutation mode\n appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) {\n // We only have the top Fiber that was created but we need recurse down its\n // children to find all the terminal nodes.\n var node = workInProgress.child;\n\n while (node !== null) {\n if (node.tag === HostComponent || node.tag === HostText) {\n appendInitialChild(parent, node.stateNode);\n } else if (node.tag === HostPortal) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n };\n\n updateHostContainer = function (current, workInProgress) {// Noop\n };\n\n updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) {\n // If we have an alternate, that means this is an update and we need to\n // schedule a side-effect to do the updates.\n var oldProps = current.memoizedProps;\n\n if (oldProps === newProps) {\n // In mutation mode, this is sufficient for a bailout because\n // we won't touch this node even if children changed.\n return;\n } // If we get updated because one of our children updated, we don't\n // have newProps so we'll have to reuse them.\n // TODO: Split the update API as separate for the props vs. children.\n // Even better would be if children weren't special cased at all tho.\n\n\n var instance = workInProgress.stateNode;\n var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host\n // component is hitting the resume path. Figure out why. Possibly\n // related to `hidden`.\n\n var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component.\n\n workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update. All the work is done in commitWork.\n\n if (updatePayload) {\n markUpdate(workInProgress);\n }\n };\n\n updateHostText$1 = function (current, workInProgress, oldText, newText) {\n // If the text differs, mark it as an update. All the work in done in commitWork.\n if (oldText !== newText) {\n markUpdate(workInProgress);\n }\n };\n}\n\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (getIsHydrating()) {\n // If we're hydrating, we should consume as many items as we can\n // so we don't leave any behind.\n return;\n }\n\n switch (renderState.tailMode) {\n case 'hidden':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var tailNode = renderState.tail;\n var lastTailNode = null;\n\n while (tailNode !== null) {\n if (tailNode.alternate !== null) {\n lastTailNode = tailNode;\n }\n\n tailNode = tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (lastTailNode === null) {\n // All remaining items in the tail are insertions.\n renderState.tail = null;\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n lastTailNode.sibling = null;\n }\n\n break;\n }\n\n case 'collapsed':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var _tailNode = renderState.tail;\n var _lastTailNode = null;\n\n while (_tailNode !== null) {\n if (_tailNode.alternate !== null) {\n _lastTailNode = _tailNode;\n }\n\n _tailNode = _tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (_lastTailNode === null) {\n // All remaining items in the tail are insertions.\n if (!hasRenderedATailFallback && renderState.tail !== null) {\n // We suspended during the head. We want to show at least one\n // row at the tail. So we'll keep on and cut off the rest.\n renderState.tail.sibling = null;\n } else {\n renderState.tail = null;\n }\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n _lastTailNode.sibling = null;\n }\n\n break;\n }\n }\n}\n\nfunction bubbleProperties(completedWork) {\n var didBailout = completedWork.alternate !== null && completedWork.alternate.child === completedWork.child;\n var newChildLanes = NoLanes;\n var subtreeFlags = NoFlags;\n\n if (!didBailout) {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var actualDuration = completedWork.actualDuration;\n var treeBaseDuration = completedWork.selfBaseDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(child.lanes, child.childLanes));\n subtreeFlags |= child.subtreeFlags;\n subtreeFlags |= child.flags; // When a fiber is cloned, its actualDuration is reset to 0. This value will\n // only be updated if work is done on the fiber (i.e. it doesn't bailout).\n // When work is done, it should bubble to the parent's actualDuration. If\n // the fiber has not been cloned though, (meaning no work was done), then\n // this value will reflect the amount of time spent working on a previous\n // render. In that case it should not bubble. We determine whether it was\n // cloned by comparing the child pointer.\n\n actualDuration += child.actualDuration;\n treeBaseDuration += child.treeBaseDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n completedWork.treeBaseDuration = treeBaseDuration;\n } else {\n var _child = completedWork.child;\n\n while (_child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child.lanes, _child.childLanes));\n subtreeFlags |= _child.subtreeFlags;\n subtreeFlags |= _child.flags; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child.return = completedWork;\n _child = _child.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n } else {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var _treeBaseDuration = completedWork.selfBaseDuration;\n var _child2 = completedWork.child;\n\n while (_child2 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child2.lanes, _child2.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child2.subtreeFlags & StaticMask;\n subtreeFlags |= _child2.flags & StaticMask;\n _treeBaseDuration += _child2.treeBaseDuration;\n _child2 = _child2.sibling;\n }\n\n completedWork.treeBaseDuration = _treeBaseDuration;\n } else {\n var _child3 = completedWork.child;\n\n while (_child3 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child3.lanes, _child3.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child3.subtreeFlags & StaticMask;\n subtreeFlags |= _child3.flags & StaticMask; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child3.return = completedWork;\n _child3 = _child3.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n }\n\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\n\nfunction completeDehydratedSuspenseBoundary(current, workInProgress, nextState) {\n if (hasUnhydratedTailNodes() && (workInProgress.mode & ConcurrentMode) !== NoMode && (workInProgress.flags & DidCapture) === NoFlags) {\n warnIfUnhydratedTailNodes(workInProgress);\n resetHydrationState();\n workInProgress.flags |= ForceClientRender | Incomplete | ShouldCapture;\n return false;\n }\n\n var wasHydrated = popHydrationState(workInProgress);\n\n if (nextState !== null && nextState.dehydrated !== null) {\n // We might be inside a hydration state the first time we're picking up this\n // Suspense boundary, and also after we've reentered it for further hydration.\n if (current === null) {\n if (!wasHydrated) {\n throw new Error('A dehydrated suspense component was completed without a hydrated node. ' + 'This is probably a bug in React.');\n }\n\n prepareToHydrateHostSuspenseInstance(workInProgress);\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var isTimedOutSuspense = nextState !== null;\n\n if (isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n } else {\n // We might have reentered this boundary to hydrate it. If so, we need to reset the hydration\n // state since we're now exiting out of it. popHydrationState doesn't do that for us.\n resetHydrationState();\n\n if ((workInProgress.flags & DidCapture) === NoFlags) {\n // This boundary did not suspend so it's now hydrated and unsuspended.\n workInProgress.memoizedState = null;\n } // If nothing suspended, we need to schedule an effect to mark this boundary\n // as having hydrated so events know that they're free to be invoked.\n // It's also a signal to replay events and the suspense callback.\n // If something suspended, schedule an effect to attach retry listeners.\n // So we might as well always mark this.\n\n\n workInProgress.flags |= Update;\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var _isTimedOutSuspense = nextState !== null;\n\n if (_isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var _primaryChildFragment = workInProgress.child;\n\n if (_primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= _primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n }\n } else {\n // Successfully completed this tree. If this was a forced client render,\n // there may have been recoverable errors during first hydration\n // attempt. If so, add them to a queue so we can log them in the\n // commit phase.\n upgradeHydrationErrorsToRecoverable(); // Fall through to normal Suspense path\n\n return true;\n }\n}\n\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps; // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case LazyComponent:\n case SimpleMemoComponent:\n case FunctionComponent:\n case ForwardRef:\n case Fragment:\n case Mode:\n case Profiler:\n case ContextConsumer:\n case MemoComponent:\n bubbleProperties(workInProgress);\n return null;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostRoot:\n {\n var fiberRoot = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n\n if (fiberRoot.pendingContext) {\n fiberRoot.context = fiberRoot.pendingContext;\n fiberRoot.pendingContext = null;\n }\n\n if (current === null || current.child === null) {\n // If we hydrated, pop so that we can delete any remaining children\n // that weren't hydrated.\n var wasHydrated = popHydrationState(workInProgress);\n\n if (wasHydrated) {\n // If we hydrated, then we'll need to schedule an update for\n // the commit side-effects on the root.\n markUpdate(workInProgress);\n } else {\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if ( // Check if this is a client root\n !prevState.isDehydrated || // Check if we reverted to client rendering (e.g. due to an error)\n (workInProgress.flags & ForceClientRender) !== NoFlags) {\n // Schedule an effect to clear this container at the start of the\n // next commit. This handles the case of React rendering into a\n // container with previous children. It's also safe to do for\n // updates too, because current.child would only be null if the\n // previous render was null (so the container would already\n // be empty).\n workInProgress.flags |= Snapshot; // If this was a forced client render, there may have been\n // recoverable errors during first hydration attempt. If so, add\n // them to a queue so we can log them in the commit phase.\n\n upgradeHydrationErrorsToRecoverable();\n }\n }\n }\n }\n\n updateHostContainer(current, workInProgress);\n bubbleProperties(workInProgress);\n\n return null;\n }\n\n case HostComponent:\n {\n popHostContext(workInProgress);\n var rootContainerInstance = getRootHostContainer();\n var type = workInProgress.type;\n\n if (current !== null && workInProgress.stateNode != null) {\n updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance);\n\n if (current.ref !== workInProgress.ref) {\n markRef$1(workInProgress);\n }\n } else {\n if (!newProps) {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context\n // \"stack\" as the parent. Then append children as we go in beginWork\n // or completeWork depending on whether we want to add them top->down or\n // bottom->up. Top->down is faster in IE11.\n\n var _wasHydrated = popHydrationState(workInProgress);\n\n if (_wasHydrated) {\n // TODO: Move this and createInstance step into the beginPhase\n // to consolidate.\n if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) {\n // If changes to the hydrated node need to be applied at the\n // commit-phase we mark this as such.\n markUpdate(workInProgress);\n }\n } else {\n var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress);\n appendAllChildren(instance, workInProgress, false, false);\n workInProgress.stateNode = instance; // Certain renderers require commit-time effects for initial mount.\n // (eg DOM renderer supports auto-focus for certain elements).\n // Make sure such renderers get scheduled for later work.\n\n if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) {\n markUpdate(workInProgress);\n }\n }\n\n if (workInProgress.ref !== null) {\n // If there is a ref on a host node we need to schedule a callback\n markRef$1(workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostText:\n {\n var newText = newProps;\n\n if (current && workInProgress.stateNode != null) {\n var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need\n // to schedule a side-effect to do the updates.\n\n updateHostText$1(current, workInProgress, oldText, newText);\n } else {\n if (typeof newText !== 'string') {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n }\n\n var _rootContainerInstance = getRootHostContainer();\n\n var _currentHostContext = getHostContext();\n\n var _wasHydrated2 = popHydrationState(workInProgress);\n\n if (_wasHydrated2) {\n if (prepareToHydrateHostTextInstance(workInProgress)) {\n markUpdate(workInProgress);\n }\n } else {\n workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var nextState = workInProgress.memoizedState; // Special path for dehydrated boundaries. We may eventually move this\n // to its own fiber type so that we can add other kinds of hydration\n // boundaries that aren't associated with a Suspense tree. In anticipation\n // of such a refactor, all the hydration logic is contained in\n // this branch.\n\n if (current === null || current.memoizedState !== null && current.memoizedState.dehydrated !== null) {\n var fallthroughToNormalSuspensePath = completeDehydratedSuspenseBoundary(current, workInProgress, nextState);\n\n if (!fallthroughToNormalSuspensePath) {\n if (workInProgress.flags & ShouldCapture) {\n // Special case. There were remaining unhydrated nodes. We treat\n // this as a mismatch. Revert to client rendering.\n return workInProgress;\n } else {\n // Did not finish hydrating, either because this is the initial\n // render or because something suspended.\n return null;\n }\n } // Continue with the normal Suspense path.\n\n }\n\n if ((workInProgress.flags & DidCapture) !== NoFlags) {\n // Something suspended. Re-render with the fallback children.\n workInProgress.lanes = renderLanes; // Do not reset the effect list.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n } // Don't bubble properties in this case.\n\n\n return workInProgress;\n }\n\n var nextDidTimeout = nextState !== null;\n var prevDidTimeout = current !== null && current.memoizedState !== null;\n // a passive effect, which is when we process the transitions\n\n\n if (nextDidTimeout !== prevDidTimeout) {\n // an effect to toggle the subtree's visibility. When we switch from\n // fallback -> primary, the inner Offscreen fiber schedules this effect\n // as part of its normal complete phase. But when we switch from\n // primary -> fallback, the inner Offscreen fiber does not have a complete\n // phase. So we need to schedule its effect here.\n //\n // We also use this flag to connect/disconnect the effects, but the same\n // logic applies: when re-connecting, the Offscreen fiber's complete\n // phase will handle scheduling the effect. It's only when the fallback\n // is active that we have to do anything special.\n\n\n if (nextDidTimeout) {\n var _offscreenFiber2 = workInProgress.child;\n _offscreenFiber2.flags |= Visibility; // TODO: This will still suspend a synchronous tree if anything\n // in the concurrent tree already suspended during this render.\n // This is a known bug.\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // TODO: Move this back to throwException because this is too late\n // if this is a large tree which is common for initial loads. We\n // don't know if we should restart a render or not until we get\n // this marker, and this is too late.\n // If this render already had a ping or lower pri updates,\n // and this is the first time we know we're going to suspend we\n // should be able to immediately restart from within throwException.\n var hasInvisibleChildContext = current === null && (workInProgress.memoizedProps.unstable_avoidThisFallback !== true || !enableSuspenseAvoidThisFallback);\n\n if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) {\n // If this was in an invisible tree or a new render, then showing\n // this boundary is ok.\n renderDidSuspend();\n } else {\n // Otherwise, we're going to have to hide content so we should\n // suspend for longer if possible.\n renderDidSuspendDelayIfPossible();\n }\n }\n }\n }\n\n var wakeables = workInProgress.updateQueue;\n\n if (wakeables !== null) {\n // Schedule an effect to attach a retry listener to the promise.\n // TODO: Move to passive phase\n workInProgress.flags |= Update;\n }\n\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n if (nextDidTimeout) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n updateHostContainer(current, workInProgress);\n\n if (current === null) {\n preparePortalMount(workInProgress.stateNode.containerInfo);\n }\n\n bubbleProperties(workInProgress);\n return null;\n\n case ContextProvider:\n // Pop provider fiber\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n bubbleProperties(workInProgress);\n return null;\n\n case IncompleteClassComponent:\n {\n // Same as class component case. I put it down here so that the tags are\n // sequential to ensure this switch is compiled to a jump table.\n var _Component = workInProgress.type;\n\n if (isContextProvider(_Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress);\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n // We're running in the default, \"independent\" mode.\n // We don't do anything in this mode.\n bubbleProperties(workInProgress);\n return null;\n }\n\n var didSuspendAlready = (workInProgress.flags & DidCapture) !== NoFlags;\n var renderedTail = renderState.rendering;\n\n if (renderedTail === null) {\n // We just rendered the head.\n if (!didSuspendAlready) {\n // This is the first pass. We need to figure out if anything is still\n // suspended in the rendered set.\n // If new content unsuspended, but there's still some content that\n // didn't. Then we need to do a second pass that forces everything\n // to keep showing their fallbacks.\n // We might be suspended if something in this render pass suspended, or\n // something in the previous committed pass suspended. Otherwise,\n // there's no chance so we can skip the expensive call to\n // findFirstSuspended.\n var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.flags & DidCapture) === NoFlags);\n\n if (!cannotBeSuspended) {\n var row = workInProgress.child;\n\n while (row !== null) {\n var suspended = findFirstSuspended(row);\n\n if (suspended !== null) {\n didSuspendAlready = true;\n workInProgress.flags |= DidCapture;\n cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as\n // part of the second pass. In that case nothing will subscribe to\n // its thenables. Instead, we'll transfer its thenables to the\n // SuspenseList so that it can retry if they resolve.\n // There might be multiple of these in the list but since we're\n // going to wait for all of them anyway, it doesn't really matter\n // which ones gets to ping. In theory we could get clever and keep\n // track of how many dependencies remain but it gets tricky because\n // in the meantime, we can add/remove/change items and dependencies.\n // We might bail out of the loop before finding any but that\n // doesn't matter since that means that the other boundaries that\n // we did find already has their listeners attached.\n\n var newThenables = suspended.updateQueue;\n\n if (newThenables !== null) {\n workInProgress.updateQueue = newThenables;\n workInProgress.flags |= Update;\n } // Rerender the whole list, but this time, we'll force fallbacks\n // to stay in place.\n // Reset the effect flags before doing the second pass since that's now invalid.\n // Reset the child fibers to their original state.\n\n\n workInProgress.subtreeFlags = NoFlags;\n resetChildFibers(workInProgress, renderLanes); // Set up the Suspense Context to force suspense and immediately\n // rerender the children.\n\n pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback)); // Don't bubble properties in this case.\n\n return workInProgress.child;\n }\n\n row = row.sibling;\n }\n }\n\n if (renderState.tail !== null && now() > getRenderTargetTime()) {\n // We have already passed our CPU deadline but we still have rows\n // left in the tail. We'll just give up further attempts to render\n // the main content and only render fallbacks.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n } else {\n cutOffTailIfNeeded(renderState, false);\n } // Next we're going to render the tail.\n\n } else {\n // Append the rendered row to the child list.\n if (!didSuspendAlready) {\n var _suspended = findFirstSuspended(renderedTail);\n\n if (_suspended !== null) {\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't\n // get lost if this row ends up dropped during a second pass.\n\n var _newThenables = _suspended.updateQueue;\n\n if (_newThenables !== null) {\n workInProgress.updateQueue = _newThenables;\n workInProgress.flags |= Update;\n }\n\n cutOffTailIfNeeded(renderState, true); // This might have been modified.\n\n if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate && !getIsHydrating() // We don't cut it if we're hydrating.\n ) {\n // We're done.\n bubbleProperties(workInProgress);\n return null;\n }\n } else if ( // The time it took to render last row is greater than the remaining\n // time we have to render. So rendering one more row would likely\n // exceed it.\n now() * 2 - renderState.renderingStartTime > getRenderTargetTime() && renderLanes !== OffscreenLane) {\n // We have now passed our CPU deadline and we'll just give up further\n // attempts to render the main content and only render fallbacks.\n // The assumption is that this is usually faster.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n }\n\n if (renderState.isBackwards) {\n // The effect list of the backwards tail will have been added\n // to the end. This breaks the guarantee that life-cycles fire in\n // sibling order but that isn't a strong guarantee promised by React.\n // Especially since these might also just pop in during future commits.\n // Append to the beginning of the list.\n renderedTail.sibling = workInProgress.child;\n workInProgress.child = renderedTail;\n } else {\n var previousSibling = renderState.last;\n\n if (previousSibling !== null) {\n previousSibling.sibling = renderedTail;\n } else {\n workInProgress.child = renderedTail;\n }\n\n renderState.last = renderedTail;\n }\n }\n\n if (renderState.tail !== null) {\n // We still have tail rows to render.\n // Pop a row.\n var next = renderState.tail;\n renderState.rendering = next;\n renderState.tail = next.sibling;\n renderState.renderingStartTime = now();\n next.sibling = null; // Restore the context.\n // TODO: We can probably just avoid popping it instead and only\n // setting it the first time we go from not suspended to suspended.\n\n var suspenseContext = suspenseStackCursor.current;\n\n if (didSuspendAlready) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n } else {\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row.\n // Don't bubble properties in this case.\n\n return next;\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n popRenderLanes(workInProgress);\n var _nextState = workInProgress.memoizedState;\n var nextIsHidden = _nextState !== null;\n\n if (current !== null) {\n var _prevState = current.memoizedState;\n var prevIsHidden = _prevState !== null;\n\n if (prevIsHidden !== nextIsHidden && ( // LegacyHidden doesn't do any hiding — it only pre-renders.\n !enableLegacyHidden )) {\n workInProgress.flags |= Visibility;\n }\n }\n\n if (!nextIsHidden || (workInProgress.mode & ConcurrentMode) === NoMode) {\n bubbleProperties(workInProgress);\n } else {\n // Don't bubble properties for hidden children unless we're rendering\n // at offscreen priority.\n if (includesSomeLane(subtreeRenderLanes, OffscreenLane)) {\n bubbleProperties(workInProgress);\n\n {\n // Check if there was an insertion or update in the hidden subtree.\n // If so, we need to hide those nodes in the commit phase, so\n // schedule a visibility effect.\n if ( workInProgress.subtreeFlags & (Placement | Update)) {\n workInProgress.flags |= Visibility;\n }\n }\n }\n }\n return null;\n }\n\n case CacheComponent:\n {\n\n return null;\n }\n\n case TracingMarkerComponent:\n {\n\n return null;\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction unwindWork(current, workInProgress, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n var flags = workInProgress.flags;\n\n if (flags & ShouldCapture) {\n workInProgress.flags = flags & ~ShouldCapture | DidCapture;\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case HostRoot:\n {\n var root = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n var _flags = workInProgress.flags;\n\n if ((_flags & ShouldCapture) !== NoFlags && (_flags & DidCapture) === NoFlags) {\n // There was an error during render that wasn't captured by a suspense\n // boundary. Do a second pass on the root to unmount the children.\n workInProgress.flags = _flags & ~ShouldCapture | DidCapture;\n return workInProgress;\n } // We unwound to the root without completing it. Exit.\n\n\n return null;\n }\n\n case HostComponent:\n {\n // TODO: popHydrationState\n popHostContext(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n if (workInProgress.alternate === null) {\n throw new Error('Threw in newly mounted dehydrated component. This is likely a bug in ' + 'React. Please file an issue.');\n }\n\n resetHydrationState();\n }\n\n var _flags2 = workInProgress.flags;\n\n if (_flags2 & ShouldCapture) {\n workInProgress.flags = _flags2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been\n // caught by a nested boundary. If not, it should bubble through.\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n return null;\n\n case ContextProvider:\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n return null;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(workInProgress);\n return null;\n\n case CacheComponent:\n\n return null;\n\n default:\n return null;\n }\n}\n\nfunction unwindInterruptedWork(current, interruptedWork, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(interruptedWork);\n\n switch (interruptedWork.tag) {\n case ClassComponent:\n {\n var childContextTypes = interruptedWork.type.childContextTypes;\n\n if (childContextTypes !== null && childContextTypes !== undefined) {\n popContext(interruptedWork);\n }\n\n break;\n }\n\n case HostRoot:\n {\n var root = interruptedWork.stateNode;\n popHostContainer(interruptedWork);\n popTopLevelContextObject(interruptedWork);\n resetWorkInProgressVersions();\n break;\n }\n\n case HostComponent:\n {\n popHostContext(interruptedWork);\n break;\n }\n\n case HostPortal:\n popHostContainer(interruptedWork);\n break;\n\n case SuspenseComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case SuspenseListComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case ContextProvider:\n var context = interruptedWork.type._context;\n popProvider(context, interruptedWork);\n break;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(interruptedWork);\n break;\n }\n}\n\nvar didWarnAboutUndefinedSnapshotBeforeUpdate = null;\n\n{\n didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();\n} // Used during the commit phase to track the state of the Offscreen component stack.\n// Allows us to avoid traversing the return path to find the nearest Offscreen ancestor.\n// Only used when enableSuspenseLayoutEffectSemantics is enabled.\n\n\nvar offscreenSubtreeIsHidden = false;\nvar offscreenSubtreeWasHidden = false;\nvar PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set;\nvar nextEffect = null; // Used for Profiling builds to track updaters.\n\nvar inProgressLanes = null;\nvar inProgressRoot = null;\nfunction reportUncaughtErrorInDEV(error) {\n // Wrapping each small part of the commit phase into a guarded\n // callback is a bit too slow (https://github.com/facebook/react/pull/21666).\n // But we rely on it to surface errors to DEV tools like overlays\n // (https://github.com/facebook/react/issues/21712).\n // As a compromise, rethrow only caught errors in a guard.\n {\n invokeGuardedCallback(null, function () {\n throw error;\n });\n clearCaughtError();\n }\n}\n\nvar callComponentWillUnmountWithTimer = function (current, instance) {\n instance.props = current.memoizedProps;\n instance.state = current.memoizedState;\n\n if ( current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentWillUnmount();\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n instance.componentWillUnmount();\n }\n}; // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallCommitHookLayoutEffectListMount(current, nearestMountedAncestor) {\n try {\n commitHookEffectListMount(Layout, current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt unmounting.\n\n\nfunction safelyCallComponentWillUnmount(current, nearestMountedAncestor, instance) {\n try {\n callComponentWillUnmountWithTimer(current, instance);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallComponentDidMount(current, nearestMountedAncestor, instance) {\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n commitAttachRef(current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref;\n\n if (ref !== null) {\n if (typeof ref === 'function') {\n var retVal;\n\n try {\n if (enableProfilerTimer && enableProfilerCommitHooks && current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(null);\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n retVal = ref(null);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(current));\n }\n }\n } else {\n ref.current = null;\n }\n }\n}\n\nfunction safelyCallDestroy(current, nearestMountedAncestor, destroy) {\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nvar focusedInstanceHandle = null;\nvar shouldFireAfterActiveInstanceBlur = false;\nfunction commitBeforeMutationEffects(root, firstChild) {\n focusedInstanceHandle = prepareForCommit(root.containerInfo);\n nextEffect = firstChild;\n commitBeforeMutationEffects_begin(); // We no longer need to track the active instance fiber\n\n var shouldFire = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = false;\n focusedInstanceHandle = null;\n return shouldFire;\n}\n\nfunction commitBeforeMutationEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect; // This phase is only used for beforeActiveInstanceBlur.\n\n var child = fiber.child;\n\n if ((fiber.subtreeFlags & BeforeMutationMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitBeforeMutationEffects_complete();\n }\n }\n}\n\nfunction commitBeforeMutationEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n setCurrentFiber(fiber);\n\n try {\n commitBeforeMutationEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitBeforeMutationEffectsOnFiber(finishedWork) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags;\n\n if ((flags & Snapshot) !== NoFlags) {\n setCurrentFiber(finishedWork);\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n break;\n }\n\n case ClassComponent:\n {\n if (current !== null) {\n var prevProps = current.memoizedProps;\n var prevState = current.memoizedState;\n var instance = finishedWork.stateNode; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);\n\n {\n var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;\n\n if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {\n didWarnSet.add(finishedWork.type);\n\n error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentNameFromFiber(finishedWork));\n }\n }\n\n instance.__reactInternalSnapshotBeforeUpdate = snapshot;\n }\n\n break;\n }\n\n case HostRoot:\n {\n {\n var root = finishedWork.stateNode;\n clearContainer(root.containerInfo);\n }\n\n break;\n }\n\n case HostComponent:\n case HostText:\n case HostPortal:\n case IncompleteClassComponent:\n // Nothing to do for these component types\n break;\n\n default:\n {\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n // Unmount\n var destroy = effect.destroy;\n effect.destroy = undefined;\n\n if (destroy !== undefined) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStarted(finishedWork);\n }\n }\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n safelyCallDestroy(finishedWork, nearestMountedAncestor, destroy);\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitHookEffectListMount(flags, finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStarted(finishedWork);\n }\n } // Mount\n\n\n var create = effect.create;\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n effect.destroy = create();\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStopped();\n }\n }\n\n {\n var destroy = effect.destroy;\n\n if (destroy !== undefined && typeof destroy !== 'function') {\n var hookName = void 0;\n\n if ((effect.tag & Layout) !== NoFlags) {\n hookName = 'useLayoutEffect';\n } else if ((effect.tag & Insertion) !== NoFlags) {\n hookName = 'useInsertionEffect';\n } else {\n hookName = 'useEffect';\n }\n\n var addendum = void 0;\n\n if (destroy === null) {\n addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).';\n } else if (typeof destroy.then === 'function') {\n addendum = '\\n\\nIt looks like you wrote ' + hookName + '(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\\n\\n' + hookName + '(() => {\\n' + ' async function fetchData() {\\n' + ' // You can await here\\n' + ' const response = await MyAPI.getData(someId);\\n' + ' // ...\\n' + ' }\\n' + ' fetchData();\\n' + \"}, [someId]); // Or [] if effect doesn't need props or state\\n\\n\" + 'Learn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching';\n } else {\n addendum = ' You returned: ' + destroy;\n }\n\n error('%s must not return anything besides a function, ' + 'which is used for clean-up.%s', hookName, addendum);\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitPassiveEffectDurations(finishedRoot, finishedWork) {\n {\n // Only Profilers with work in their subtree will have an Update effect scheduled.\n if ((finishedWork.flags & Update) !== NoFlags) {\n switch (finishedWork.tag) {\n case Profiler:\n {\n var passiveEffectDuration = finishedWork.stateNode.passiveEffectDuration;\n var _finishedWork$memoize = finishedWork.memoizedProps,\n id = _finishedWork$memoize.id,\n onPostCommit = _finishedWork$memoize.onPostCommit; // This value will still reflect the previous commit phase.\n // It does not get reset until the start of the next commit phase.\n\n var commitTime = getCommitTime();\n var phase = finishedWork.alternate === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onPostCommit === 'function') {\n onPostCommit(id, phase, passiveEffectDuration, commitTime);\n } // Bubble times to the next nearest ancestor Profiler.\n // After we process that Profiler, we'll bubble further up.\n\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.passiveEffectDuration += passiveEffectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.passiveEffectDuration += passiveEffectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork, committedLanes) {\n if ((finishedWork.flags & LayoutMask) !== NoFlags) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( !offscreenSubtreeWasHidden) {\n // At this point layout effects have already been destroyed (during mutation phase).\n // This is done to prevent sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n }\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = finishedWork.stateNode;\n\n if (finishedWork.flags & Update) {\n if (!offscreenSubtreeWasHidden) {\n if (current === null) {\n // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidMount();\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidMount();\n }\n } else {\n var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps);\n var prevState = current.memoizedState; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n }\n }\n }\n } // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n\n\n var updateQueue = finishedWork.updateQueue;\n\n if (updateQueue !== null) {\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n } // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n\n commitUpdateQueue(finishedWork, updateQueue, instance);\n }\n\n break;\n }\n\n case HostRoot:\n {\n // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n var _updateQueue = finishedWork.updateQueue;\n\n if (_updateQueue !== null) {\n var _instance = null;\n\n if (finishedWork.child !== null) {\n switch (finishedWork.child.tag) {\n case HostComponent:\n _instance = getPublicInstance(finishedWork.child.stateNode);\n break;\n\n case ClassComponent:\n _instance = finishedWork.child.stateNode;\n break;\n }\n }\n\n commitUpdateQueue(finishedWork, _updateQueue, _instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted\n // (eg DOM renderer may schedule auto-focus for inputs and form controls).\n // These effects should only be committed when components are first mounted,\n // aka when there is no current/alternate.\n\n if (current === null && finishedWork.flags & Update) {\n var type = finishedWork.type;\n var props = finishedWork.memoizedProps;\n commitMount(_instance2, type, props);\n }\n\n break;\n }\n\n case HostText:\n {\n // We have no life-cycles associated with text.\n break;\n }\n\n case HostPortal:\n {\n // We have no life-cycles associated with portals.\n break;\n }\n\n case Profiler:\n {\n {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n onCommit = _finishedWork$memoize2.onCommit,\n onRender = _finishedWork$memoize2.onRender;\n var effectDuration = finishedWork.stateNode.effectDuration;\n var commitTime = getCommitTime();\n var phase = current === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onRender === 'function') {\n onRender(finishedWork.memoizedProps.id, phase, finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, commitTime);\n }\n\n {\n if (typeof onCommit === 'function') {\n onCommit(finishedWork.memoizedProps.id, phase, effectDuration, commitTime);\n } // Schedule a passive effect for this Profiler to call onPostCommit hooks.\n // This effect should be scheduled even if there is no onPostCommit callback for this Profiler,\n // because the effect is also where times bubble to parent Profilers.\n\n\n enqueuePendingPassiveProfilerEffect(finishedWork); // Propagate layout effect durations to the next nearest Profiler ancestor.\n // Do not reset these values until the next render so DevTools has a chance to read them first.\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += effectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += effectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n }\n\n case SuspenseListComponent:\n case IncompleteClassComponent:\n case ScopeComponent:\n case OffscreenComponent:\n case LegacyHiddenComponent:\n case TracingMarkerComponent:\n {\n break;\n }\n\n default:\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n if ( !offscreenSubtreeWasHidden) {\n {\n if (finishedWork.flags & Ref) {\n commitAttachRef(finishedWork);\n }\n }\n }\n}\n\nfunction reappearLayoutEffectsOnFiber(node) {\n // Turn on layout effects in a tree that previously disappeared.\n // TODO (Offscreen) Check: flags & LayoutStatic\n switch (node.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( node.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n } finally {\n recordLayoutEffectDuration(node);\n }\n } else {\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = node.stateNode;\n\n if (typeof instance.componentDidMount === 'function') {\n safelyCallComponentDidMount(node, node.return, instance);\n }\n\n safelyAttachRef(node, node.return);\n break;\n }\n\n case HostComponent:\n {\n safelyAttachRef(node, node.return);\n break;\n }\n }\n}\n\nfunction hideOrUnhideAllChildren(finishedWork, isHidden) {\n // Only hide or unhide the top-most host nodes.\n var hostSubtreeRoot = null;\n\n {\n // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n var node = finishedWork;\n\n while (true) {\n if (node.tag === HostComponent) {\n if (hostSubtreeRoot === null) {\n hostSubtreeRoot = node;\n\n try {\n var instance = node.stateNode;\n\n if (isHidden) {\n hideInstance(instance);\n } else {\n unhideInstance(node.stateNode, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if (node.tag === HostText) {\n if (hostSubtreeRoot === null) {\n try {\n var _instance3 = node.stateNode;\n\n if (isHidden) {\n hideTextInstance(_instance3);\n } else {\n unhideTextInstance(_instance3, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if ((node.tag === OffscreenComponent || node.tag === LegacyHiddenComponent) && node.memoizedState !== null && node !== finishedWork) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === finishedWork) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node = node.return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n}\n\nfunction commitAttachRef(finishedWork) {\n var ref = finishedWork.ref;\n\n if (ref !== null) {\n var instance = finishedWork.stateNode;\n var instanceToUse;\n\n switch (finishedWork.tag) {\n case HostComponent:\n instanceToUse = getPublicInstance(instance);\n break;\n\n default:\n instanceToUse = instance;\n } // Moved outside to ensure DCE works with this flag\n\n if (typeof ref === 'function') {\n var retVal;\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(instanceToUse);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n retVal = ref(instanceToUse);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(finishedWork));\n }\n }\n } else {\n {\n if (!ref.hasOwnProperty('current')) {\n error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().', getComponentNameFromFiber(finishedWork));\n }\n }\n\n ref.current = instanceToUse;\n }\n }\n}\n\nfunction detachFiberMutation(fiber) {\n // Cut off the return pointer to disconnect it from the tree.\n // This enables us to detect and warn against state updates on an unmounted component.\n // It also prevents events from bubbling from within disconnected components.\n //\n // Ideally, we should also clear the child pointer of the parent alternate to let this\n // get GC:ed but we don't know which for sure which parent is the current\n // one so we'll settle for GC:ing the subtree of this child.\n // This child itself will be GC:ed when the parent updates the next time.\n //\n // Note that we can't clear child or sibling pointers yet.\n // They're needed for passive effects and for findDOMNode.\n // We defer those fields, and all other cleanup, to the passive phase (see detachFiberAfterEffects).\n //\n // Don't reset the alternate yet, either. We need that so we can detach the\n // alternate's fields in the passive phase. Clearing the return pointer is\n // sufficient for findDOMNode semantics.\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.return = null;\n }\n\n fiber.return = null;\n}\n\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n fiber.alternate = null;\n detachFiberAfterEffects(alternate);\n } // Note: Defensively using negation instead of < in case\n // `deletedTreeCleanUpLevel` is undefined.\n\n\n {\n // Clear cyclical Fiber fields. This level alone is designed to roughly\n // approximate the planned Fiber refactor. In that world, `setState` will be\n // bound to a special \"instance\" object instead of a Fiber. The Instance\n // object will not have any of these fields. It will only be connected to\n // the fiber tree via a single link at the root. So if this level alone is\n // sufficient to fix memory issues, that bodes well for our plans.\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null; // The `stateNode` is cyclical because on host nodes it points to the host\n // tree, which has its own pointers to children, parents, and siblings.\n // The other host nodes also point back to fibers, so we should detach that\n // one, too.\n\n if (fiber.tag === HostComponent) {\n var hostInstance = fiber.stateNode;\n\n if (hostInstance !== null) {\n detachDeletedInstance(hostInstance);\n }\n }\n\n fiber.stateNode = null; // I'm intentionally not clearing the `return` field in this level. We\n // already disconnect the `return` pointer at the root of the deleted\n // subtree (in `detachFiberMutation`). Besides, `return` by itself is not\n // cyclical — it's only cyclical when combined with `child`, `sibling`, and\n // `alternate`. But we'll clear it in the next level anyway, just in case.\n\n {\n fiber._debugOwner = null;\n }\n\n {\n // Theoretically, nothing in here should be necessary, because we already\n // disconnected the fiber from the tree. So even if something leaks this\n // particular fiber, it won't leak anything else\n //\n // The purpose of this branch is to be super aggressive so we can measure\n // if there's any difference in memory impact. If there is, that could\n // indicate a React leak we don't know about.\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead.\n\n fiber.updateQueue = null;\n }\n }\n}\n\nfunction getHostParentFiber(fiber) {\n var parent = fiber.return;\n\n while (parent !== null) {\n if (isHostParent(parent)) {\n return parent;\n }\n\n parent = parent.return;\n }\n\n throw new Error('Expected to find a host parent. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n}\n\nfunction isHostParent(fiber) {\n return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal;\n}\n\nfunction getHostSibling(fiber) {\n // We're going to search forward into the tree until we find a sibling host\n // node. Unfortunately, if multiple insertions are done in a row we have to\n // search past them. This leads to exponential search for the next sibling.\n // TODO: Find a more efficient way to do this.\n var node = fiber;\n\n siblings: while (true) {\n // If we didn't find anything, let's try the next sibling.\n while (node.sibling === null) {\n if (node.return === null || isHostParent(node.return)) {\n // If we pop out of the root or hit the parent the fiber we are the\n // last sibling.\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n\n while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) {\n // If it is not host node and, we might have a host node inside it.\n // Try to search down until we find one.\n if (node.flags & Placement) {\n // If we don't have a child, try the siblings instead.\n continue siblings;\n } // If we don't have a child, try the siblings instead.\n // We also skip portals because they are not part of this host tree.\n\n\n if (node.child === null || node.tag === HostPortal) {\n continue siblings;\n } else {\n node.child.return = node;\n node = node.child;\n }\n } // Check if this host node is stable or about to be placed.\n\n\n if (!(node.flags & Placement)) {\n // Found it!\n return node.stateNode;\n }\n }\n}\n\nfunction commitPlacement(finishedWork) {\n\n\n var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together.\n\n switch (parentFiber.tag) {\n case HostComponent:\n {\n var parent = parentFiber.stateNode;\n\n if (parentFiber.flags & ContentReset) {\n // Reset the text content of the parent before doing any insertions\n resetTextContent(parent); // Clear ContentReset from the effect tag\n\n parentFiber.flags &= ~ContentReset;\n }\n\n var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n }\n\n case HostRoot:\n case HostPortal:\n {\n var _parent = parentFiber.stateNode.containerInfo;\n\n var _before = getHostSibling(finishedWork);\n\n insertOrAppendPlacementNodeIntoContainer(finishedWork, _before, _parent);\n break;\n }\n // eslint-disable-next-line-no-fallthrough\n\n default:\n throw new Error('Invalid host parent fiber. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n}\n\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertInContainerBefore(parent, stateNode, before);\n } else {\n appendChildToContainer(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNodeIntoContainer(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNodeIntoContainer(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n}\n\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertBefore(parent, stateNode, before);\n } else {\n appendChild(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNode(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNode(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n} // These are tracked on the stack as we recursively traverse a\n// deleted subtree.\n// TODO: Update these during the whole mutation phase, not just during\n// a deletion.\n\n\nvar hostParent = null;\nvar hostParentIsContainer = false;\n\nfunction commitDeletionEffects(root, returnFiber, deletedFiber) {\n {\n // We only have the top Fiber that was deleted but we need to recurse down its\n // children to find all the terminal nodes.\n // Recursively delete all host nodes from the parent, detach refs, clean\n // up mounted layout effects, and call componentWillUnmount.\n // We only need to remove the topmost host child in each branch. But then we\n // still need to keep traversing to unmount effects, refs, and cWU. TODO: We\n // could split this into two separate traversals functions, where the second\n // one doesn't include any removeChild logic. This is maybe the same\n // function as \"disappearLayoutEffects\" (or whatever that turns into after\n // the layout phase is refactored to use recursion).\n // Before starting, find the nearest host parent on the stack so we know\n // which instance/container to remove the children from.\n // TODO: Instead of searching up the fiber return path on every deletion, we\n // can track the nearest host component on the JS stack as we traverse the\n // tree during the commit phase. This would make insertions faster, too.\n var parent = returnFiber;\n\n findParent: while (parent !== null) {\n switch (parent.tag) {\n case HostComponent:\n {\n hostParent = parent.stateNode;\n hostParentIsContainer = false;\n break findParent;\n }\n\n case HostRoot:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n\n case HostPortal:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n }\n\n parent = parent.return;\n }\n\n if (hostParent === null) {\n throw new Error('Expected to find a host parent. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n }\n\n commitDeletionEffectsOnFiber(root, returnFiber, deletedFiber);\n hostParent = null;\n hostParentIsContainer = false;\n }\n\n detachFiberMutation(deletedFiber);\n}\n\nfunction recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {\n // TODO: Use a static flag to skip trees that don't have unmount effects\n var child = parent.child;\n\n while (child !== null) {\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, child);\n child = child.sibling;\n }\n}\n\nfunction commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {\n onCommitUnmount(deletedFiber); // The cases in this outer switch modify the stack before they traverse\n // into their subtree. There are simpler cases in the inner switch\n // that don't modify the stack.\n\n switch (deletedFiber.tag) {\n case HostComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n } // Intentional fallthrough to next branch\n\n }\n // eslint-disable-next-line-no-fallthrough\n\n case HostText:\n {\n // We only need to remove the nearest host child. Set the host parent\n // to `null` on the stack to indicate that nested children don't\n // need to be removed.\n {\n var prevHostParent = hostParent;\n var prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n\n if (hostParent !== null) {\n // Now that all the child effects have unmounted, we can remove the\n // node from the tree.\n if (hostParentIsContainer) {\n removeChildFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n removeChild(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case DehydratedFragment:\n {\n // Delete the dehydrated suspense boundary and all of its content.\n\n\n {\n if (hostParent !== null) {\n if (hostParentIsContainer) {\n clearSuspenseBoundaryFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n clearSuspenseBoundary(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n {\n // When we go into a portal, it becomes the parent to remove from.\n var _prevHostParent = hostParent;\n var _prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = true;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = _prevHostParent;\n hostParentIsContainer = _prevHostParentIsContainer;\n }\n\n return;\n }\n\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n var updateQueue = deletedFiber.updateQueue;\n\n if (updateQueue !== null) {\n var lastEffect = updateQueue.lastEffect;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n var _effect = effect,\n destroy = _effect.destroy,\n tag = _effect.tag;\n\n if (destroy !== undefined) {\n if ((tag & Insertion) !== NoFlags$1) {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n } else if ((tag & Layout) !== NoFlags$1) {\n {\n markComponentLayoutEffectUnmountStarted(deletedFiber);\n }\n\n if ( deletedFiber.mode & ProfileMode) {\n startLayoutEffectTimer();\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n recordLayoutEffectDuration(deletedFiber);\n } else {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n }\n\n {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ClassComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var instance = deletedFiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(deletedFiber, nearestMountedAncestor, instance);\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ScopeComponent:\n {\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case OffscreenComponent:\n {\n if ( // TODO: Remove this dead flag\n deletedFiber.mode & ConcurrentMode) {\n // If this offscreen component is hidden, we already unmounted it. Before\n // deleting the children, track that it's already unmounted so that we\n // don't attempt to unmount the effects again.\n // TODO: If the tree is hidden, in most cases we should be able to skip\n // over the nested children entirely. An exception is we haven't yet found\n // the topmost host node to delete, which we already track on the stack.\n // But the other case is portals, which need to be detached no matter how\n // deeply they are nested. We should use a subtree flag to track whether a\n // subtree includes a nested portal.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || deletedFiber.memoizedState !== null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n }\n}\n\nfunction commitSuspenseCallback(finishedWork) {\n // TODO: Move this to passive phase\n var newState = finishedWork.memoizedState;\n}\n\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n\n var newState = finishedWork.memoizedState;\n\n if (newState === null) {\n var current = finishedWork.alternate;\n\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var suspenseInstance = prevState.dehydrated;\n\n if (suspenseInstance !== null) {\n commitHydratedSuspenseInstance(suspenseInstance);\n }\n }\n }\n }\n}\n\nfunction attachSuspenseRetryListeners(finishedWork) {\n // If this boundary just timed out, then it will have a set of wakeables.\n // For each wakeable, attach a listener so that when it resolves, React\n // attempts to re-render the boundary in the primary (pre-timeout) state.\n var wakeables = finishedWork.updateQueue;\n\n if (wakeables !== null) {\n finishedWork.updateQueue = null;\n var retryCache = finishedWork.stateNode;\n\n if (retryCache === null) {\n retryCache = finishedWork.stateNode = new PossiblyWeakSet();\n }\n\n wakeables.forEach(function (wakeable) {\n // Memoize using the boundary fiber to prevent redundant listeners.\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n\n {\n if (isDevToolsPresent) {\n if (inProgressLanes !== null && inProgressRoot !== null) {\n // If we have pending work still, associate the original updaters with it.\n restorePendingUpdaters(inProgressRoot, inProgressLanes);\n } else {\n throw Error('Expected finished root and lanes to be set. This is a bug in React.');\n }\n }\n }\n\n wakeable.then(retry, retry);\n }\n });\n }\n} // This function detects when a Suspense boundary goes from visible to hidden.\nfunction commitMutationEffects(root, finishedWork, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n setCurrentFiber(finishedWork);\n commitMutationEffectsOnFiber(finishedWork, root);\n setCurrentFiber(finishedWork);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction recursivelyTraverseMutationEffects(root, parentFiber, lanes) {\n // Deletions effects can be scheduled on any fiber type. They need to happen\n // before the children effects hae fired.\n var deletions = parentFiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n\n try {\n commitDeletionEffects(root, parentFiber, childToDelete);\n } catch (error) {\n captureCommitPhaseError(childToDelete, parentFiber, error);\n }\n }\n }\n\n var prevDebugFiber = getCurrentFiber();\n\n if (parentFiber.subtreeFlags & MutationMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n commitMutationEffectsOnFiber(child, root);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction commitMutationEffectsOnFiber(finishedWork, root, lanes) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags; // The effect flag should be checked *after* we refine the type of fiber,\n // because the fiber tag is more specific. An exception is any flag related\n // to reconcilation, because those can be set on all fiber types.\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n try {\n commitHookEffectListUnmount(Insertion | HasEffect, finishedWork, finishedWork.return);\n commitHookEffectListMount(Insertion | HasEffect, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Layout effects are destroyed during the mutation phase so that all\n // destroy functions for all fibers are called before any create functions.\n // This prevents sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordLayoutEffectDuration(finishedWork);\n } else {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case ClassComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n return;\n }\n\n case HostComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n {\n // TODO: ContentReset gets cleared by the children during the commit\n // phase. This is a refactor hazard because it means we must read\n // flags the flags after `commitReconciliationEffects` has already run;\n // the order matters. We should refactor so that ContentReset does not\n // rely on mutating the flag during commit. Like by setting a flag\n // during the render phase instead.\n if (finishedWork.flags & ContentReset) {\n var instance = finishedWork.stateNode;\n\n try {\n resetTextContent(instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n\n if (flags & Update) {\n var _instance4 = finishedWork.stateNode;\n\n if (_instance4 != null) {\n // Commit the work prepared earlier.\n var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldProps = current !== null ? current.memoizedProps : newProps;\n var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components.\n\n var updatePayload = finishedWork.updateQueue;\n finishedWork.updateQueue = null;\n\n if (updatePayload !== null) {\n try {\n commitUpdate(_instance4, updatePayload, type, oldProps, newProps, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostText:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (finishedWork.stateNode === null) {\n throw new Error('This should have a text node initialized. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n }\n\n var textInstance = finishedWork.stateNode;\n var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldText = current !== null ? current.memoizedProps : newText;\n\n try {\n commitTextUpdate(textInstance, oldText, newText);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case HostRoot:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (current !== null) {\n var prevRootState = current.memoizedState;\n\n if (prevRootState.isDehydrated) {\n try {\n commitHydratedContainer(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n return;\n }\n\n case SuspenseComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n var offscreenFiber = finishedWork.child;\n\n if (offscreenFiber.flags & Visibility) {\n var offscreenInstance = offscreenFiber.stateNode;\n var newState = offscreenFiber.memoizedState;\n var isHidden = newState !== null; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n offscreenInstance.isHidden = isHidden;\n\n if (isHidden) {\n var wasHidden = offscreenFiber.alternate !== null && offscreenFiber.alternate.memoizedState !== null;\n\n if (!wasHidden) {\n // TODO: Move to passive phase\n markCommitTimeOfFallback();\n }\n }\n }\n\n if (flags & Update) {\n try {\n commitSuspenseCallback(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case OffscreenComponent:\n {\n var _wasHidden = current !== null && current.memoizedState !== null;\n\n if ( // TODO: Remove this dead flag\n finishedWork.mode & ConcurrentMode) {\n // Before committing the children, track on the stack whether this\n // offscreen subtree was already hidden, so that we don't unmount the\n // effects again.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || _wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseMutationEffects(root, finishedWork);\n }\n\n commitReconciliationEffects(finishedWork);\n\n if (flags & Visibility) {\n var _offscreenInstance = finishedWork.stateNode;\n var _newState = finishedWork.memoizedState;\n\n var _isHidden = _newState !== null;\n\n var offscreenBoundary = finishedWork; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n _offscreenInstance.isHidden = _isHidden;\n\n {\n if (_isHidden) {\n if (!_wasHidden) {\n if ((offscreenBoundary.mode & ConcurrentMode) !== NoMode) {\n nextEffect = offscreenBoundary;\n var offscreenChild = offscreenBoundary.child;\n\n while (offscreenChild !== null) {\n nextEffect = offscreenChild;\n disappearLayoutEffects_begin(offscreenChild);\n offscreenChild = offscreenChild.sibling;\n }\n }\n }\n }\n }\n\n {\n // TODO: This needs to run whenever there's an insertion or update\n // inside a hidden Offscreen tree.\n hideOrUnhideAllChildren(offscreenBoundary, _isHidden);\n }\n }\n\n return;\n }\n\n case SuspenseListComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case ScopeComponent:\n {\n\n return;\n }\n\n default:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n return;\n }\n }\n}\n\nfunction commitReconciliationEffects(finishedWork) {\n // Placement effects (insertions, reorders) can be scheduled on any fiber\n // type. They needs to happen after the children effects have fired, but\n // before the effects on this fiber have fired.\n var flags = finishedWork.flags;\n\n if (flags & Placement) {\n try {\n commitPlacement(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Clear the \"placement\" from effect tag so that we know that this is\n // inserted, before any life-cycles like componentDidMount gets called.\n // TODO: findDOMNode doesn't rely on this any more but isMounted does\n // and isMounted is deprecated anyway so we should be able to kill this.\n\n\n finishedWork.flags &= ~Placement;\n }\n\n if (flags & Hydrating) {\n finishedWork.flags &= ~Hydrating;\n }\n}\n\nfunction commitLayoutEffects(finishedWork, root, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n nextEffect = finishedWork;\n commitLayoutEffects_begin(finishedWork, root, committedLanes);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction commitLayoutEffects_begin(subtreeRoot, root, committedLanes) {\n // Suspense layout effects semantics don't change for legacy roots.\n var isModernRoot = (subtreeRoot.mode & ConcurrentMode) !== NoMode;\n\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ( fiber.tag === OffscreenComponent && isModernRoot) {\n // Keep track of the current Offscreen stack's state.\n var isHidden = fiber.memoizedState !== null;\n var newOffscreenSubtreeIsHidden = isHidden || offscreenSubtreeIsHidden;\n\n if (newOffscreenSubtreeIsHidden) {\n // The Offscreen tree is hidden. Skip over its layout effects.\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n } else {\n // TODO (Offscreen) Also check: subtreeFlags & LayoutMask\n var current = fiber.alternate;\n var wasHidden = current !== null && current.memoizedState !== null;\n var newOffscreenSubtreeWasHidden = wasHidden || offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; // Traverse the Offscreen subtree with the current Offscreen as the root.\n\n offscreenSubtreeIsHidden = newOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden;\n\n if (offscreenSubtreeWasHidden && !prevOffscreenSubtreeWasHidden) {\n // This is the root of a reappearing boundary. Turn its layout effects\n // back on.\n nextEffect = fiber;\n reappearLayoutEffects_begin(fiber);\n }\n\n var child = firstChild;\n\n while (child !== null) {\n nextEffect = child;\n commitLayoutEffects_begin(child, // New root; bubble back up to here and stop.\n root, committedLanes);\n child = child.sibling;\n } // Restore Offscreen state and resume in our-progress traversal.\n\n\n nextEffect = fiber;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n }\n }\n\n if ((fiber.subtreeFlags & LayoutMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n }\n }\n}\n\nfunction commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & LayoutMask) !== NoFlags) {\n var current = fiber.alternate;\n setCurrentFiber(fiber);\n\n try {\n commitLayoutEffectOnFiber(root, current, fiber, committedLanes);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction disappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child; // TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)\n\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ( fiber.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n } finally {\n recordLayoutEffectDuration(fiber);\n }\n } else {\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n // TODO (Offscreen) Check: flags & RefStatic\n safelyDetachRef(fiber, fiber.return);\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n safelyDetachRef(fiber, fiber.return);\n break;\n }\n\n case OffscreenComponent:\n {\n // Check if this is a\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is already hidden. Don't disappear\n // its effects.\n disappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n\n break;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n disappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction disappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction reappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if (fiber.tag === OffscreenComponent) {\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is still hidden. Don't re-appear its effects.\n reappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n reappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction reappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // TODO (Offscreen) Check: flags & LayoutStatic\n\n setCurrentFiber(fiber);\n\n try {\n reappearLayoutEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountEffects(root, finishedWork, committedLanes, committedTransitions) {\n nextEffect = finishedWork;\n commitPassiveMountEffects_begin(finishedWork, root, committedLanes, committedTransitions);\n}\n\nfunction commitPassiveMountEffects_begin(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions);\n }\n }\n}\n\nfunction commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n\n try {\n commitPassiveMountOnFiber(root, fiber, committedLanes, committedTransitions);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n } finally {\n recordPassiveEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffects(firstChild) {\n nextEffect = firstChild;\n commitPassiveUnmountEffects_begin();\n}\n\nfunction commitPassiveUnmountEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var child = fiber.child;\n\n if ((nextEffect.flags & ChildDeletion) !== NoFlags) {\n var deletions = fiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var fiberToDelete = deletions[i];\n nextEffect = fiberToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(fiberToDelete, fiber);\n }\n\n {\n // A fiber was deleted from this parent fiber, but it's still part of\n // the previous (alternate) parent fiber's list of children. Because\n // children are a linked list, an earlier sibling that's still alive\n // will be connected to the deleted fiber via its `alternate`:\n //\n // live fiber\n // --alternate--> previous live fiber\n // --sibling--> deleted fiber\n //\n // We can't disconnect `alternate` on nodes that haven't been deleted\n // yet, but we can disconnect the `sibling` and `child` pointers.\n var previousFiber = fiber.alternate;\n\n if (previousFiber !== null) {\n var detachedChild = previousFiber.child;\n\n if (detachedChild !== null) {\n previousFiber.child = null;\n\n do {\n var detachedSibling = detachedChild.sibling;\n detachedChild.sibling = null;\n detachedChild = detachedSibling;\n } while (detachedChild !== null);\n }\n }\n }\n\n nextEffect = fiber;\n }\n }\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffects_complete();\n }\n }\n}\n\nfunction commitPassiveUnmountEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n commitPassiveUnmountOnFiber(fiber);\n resetCurrentFiber();\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n recordPassiveEffectDuration(finishedWork);\n } else {\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // Deletion effects fire in parent -> child order\n // TODO: Check if fiber has a PassiveStatic flag\n\n setCurrentFiber(fiber);\n commitPassiveUnmountInsideDeletedTreeOnFiber(fiber, nearestMountedAncestor);\n resetCurrentFiber();\n var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we\n // do this, still need to handle `deletedTreeCleanUpLevel` correctly.)\n\n if (child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot);\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var sibling = fiber.sibling;\n var returnFiber = fiber.return;\n\n {\n // Recursively traverse the entire deleted tree and clean up fiber fields.\n // This is more aggressive than ideal, and the long term goal is to only\n // have to detach the deleted tree at the root.\n detachFiberAfterEffects(fiber);\n\n if (fiber === deletedSubtreeRoot) {\n nextEffect = null;\n return;\n }\n }\n\n if (sibling !== null) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = returnFiber;\n }\n}\n\nfunction commitPassiveUnmountInsideDeletedTreeOnFiber(current, nearestMountedAncestor) {\n switch (current.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( current.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n recordPassiveEffectDuration(current);\n } else {\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n }\n\n break;\n }\n }\n} // TODO: Reuse reappearLayoutEffects traversal here?\n\n\nfunction invokeLayoutEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Layout | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokeLayoutEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Passive$1 | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n }\n }\n }\n}\n\nvar COMPONENT_TYPE = 0;\nvar HAS_PSEUDO_CLASS_TYPE = 1;\nvar ROLE_TYPE = 2;\nvar TEST_NAME_TYPE = 3;\nvar TEXT_TYPE = 4;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n COMPONENT_TYPE = symbolFor('selector.component');\n HAS_PSEUDO_CLASS_TYPE = symbolFor('selector.has_pseudo_class');\n ROLE_TYPE = symbolFor('selector.role');\n TEST_NAME_TYPE = symbolFor('selector.test_id');\n TEXT_TYPE = symbolFor('selector.text');\n}\nvar commitHooks = [];\nfunction onCommitRoot$1() {\n {\n commitHooks.forEach(function (commitHook) {\n return commitHook();\n });\n }\n}\n\nvar ReactCurrentActQueue = ReactSharedInternals.ReactCurrentActQueue;\nfunction isLegacyActEnvironment(fiber) {\n {\n // Legacy mode. We preserve the behavior of React 17's act. It assumes an\n // act environment whenever `jest` is defined, but you can still turn off\n // spurious warnings by setting IS_REACT_ACT_ENVIRONMENT explicitly\n // to false.\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined; // $FlowExpectedError - Flow doesn't know about jest\n\n var jestIsDefined = typeof jest !== 'undefined';\n return jestIsDefined && isReactActEnvironmentGlobal !== false;\n }\n}\nfunction isConcurrentActEnvironment() {\n {\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined;\n\n if (!isReactActEnvironmentGlobal && ReactCurrentActQueue.current !== null) {\n // TODO: Include link to relevant documentation page.\n error('The current testing environment is not configured to support ' + 'act(...)');\n }\n\n return isReactActEnvironmentGlobal;\n }\n}\n\nvar ceil = Math.ceil;\nvar ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,\n ReactCurrentBatchConfig$3 = ReactSharedInternals.ReactCurrentBatchConfig,\n ReactCurrentActQueue$1 = ReactSharedInternals.ReactCurrentActQueue;\nvar NoContext =\n/* */\n0;\nvar BatchedContext =\n/* */\n1;\nvar RenderContext =\n/* */\n2;\nvar CommitContext =\n/* */\n4;\nvar RootInProgress = 0;\nvar RootFatalErrored = 1;\nvar RootErrored = 2;\nvar RootSuspended = 3;\nvar RootSuspendedWithDelay = 4;\nvar RootCompleted = 5;\nvar RootDidNotComplete = 6; // Describes where we are in the React execution stack\n\nvar executionContext = NoContext; // The root we're working on\n\nvar workInProgressRoot = null; // The fiber we're working on\n\nvar workInProgress = null; // The lanes we're rendering\n\nvar workInProgressRootRenderLanes = NoLanes; // Stack that allows components to change the render lanes for its subtree\n// This is a superset of the lanes we started working on at the root. The only\n// case where it's different from `workInProgressRootRenderLanes` is when we\n// enter a subtree that is hidden and needs to be unhidden: Suspense and\n// Offscreen component.\n//\n// Most things in the work loop should deal with workInProgressRootRenderLanes.\n// Most things in begin/complete phases should deal with subtreeRenderLanes.\n\nvar subtreeRenderLanes = NoLanes;\nvar subtreeRenderLanesCursor = createCursor(NoLanes); // Whether to root completed, errored, suspended, etc.\n\nvar workInProgressRootExitStatus = RootInProgress; // A fatal error, if one is thrown\n\nvar workInProgressRootFatalError = null; // \"Included\" lanes refer to lanes that were worked on during this render. It's\n// slightly different than `renderLanes` because `renderLanes` can change as you\n// enter and exit an Offscreen tree. This value is the combination of all render\n// lanes for the entire render phase.\n\nvar workInProgressRootIncludedLanes = NoLanes; // The work left over by components that were visited during this render. Only\n// includes unprocessed updates, not work in bailed out children.\n\nvar workInProgressRootSkippedLanes = NoLanes; // Lanes that were updated (in an interleaved event) during this render.\n\nvar workInProgressRootInterleavedUpdatedLanes = NoLanes; // Lanes that were updated during the render phase (*not* an interleaved event).\n\nvar workInProgressRootPingedLanes = NoLanes; // Errors that are thrown during the render phase.\n\nvar workInProgressRootConcurrentErrors = null; // These are errors that we recovered from without surfacing them to the UI.\n// We will log them once the tree commits.\n\nvar workInProgressRootRecoverableErrors = null; // The most recent time we committed a fallback. This lets us ensure a train\n// model where we don't commit new loading states in too quick succession.\n\nvar globalMostRecentFallbackTime = 0;\nvar FALLBACK_THROTTLE_MS = 500; // The absolute time for when we should start giving up on rendering\n// more and prefer CPU suspense heuristics instead.\n\nvar workInProgressRootRenderTargetTime = Infinity; // How long a render is supposed to take before we start following CPU\n// suspense heuristics and opt out of rendering more content.\n\nvar RENDER_TIMEOUT_MS = 500;\nvar workInProgressTransitions = null;\n\nfunction resetRenderTimer() {\n workInProgressRootRenderTargetTime = now() + RENDER_TIMEOUT_MS;\n}\n\nfunction getRenderTargetTime() {\n return workInProgressRootRenderTargetTime;\n}\nvar hasUncaughtError = false;\nvar firstUncaughtError = null;\nvar legacyErrorBoundariesThatAlreadyFailed = null; // Only used when enableProfilerNestedUpdateScheduledHook is true;\nvar rootDoesHavePassiveEffects = false;\nvar rootWithPendingPassiveEffects = null;\nvar pendingPassiveEffectsLanes = NoLanes;\nvar pendingPassiveProfilerEffects = [];\nvar pendingPassiveTransitions = null; // Use these to prevent an infinite loop of nested updates\n\nvar NESTED_UPDATE_LIMIT = 50;\nvar nestedUpdateCount = 0;\nvar rootWithNestedUpdates = null;\nvar isFlushingPassiveEffects = false;\nvar didScheduleUpdateDuringPassiveEffects = false;\nvar NESTED_PASSIVE_UPDATE_LIMIT = 50;\nvar nestedPassiveUpdateCount = 0;\nvar rootWithPassiveNestedUpdates = null; // If two updates are scheduled within the same event, we should treat their\n// event times as simultaneous, even if the actual clock time has advanced\n// between the first and second call.\n\nvar currentEventTime = NoTimestamp;\nvar currentEventTransitionLane = NoLanes;\nvar isRunningInsertionEffect = false;\nfunction getWorkInProgressRoot() {\n return workInProgressRoot;\n}\nfunction requestEventTime() {\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n // We're inside React, so it's fine to read the actual time.\n return now();\n } // We're not inside React, so we may be in the middle of a browser event.\n\n\n if (currentEventTime !== NoTimestamp) {\n // Use the same start time for all updates until we enter React again.\n return currentEventTime;\n } // This is the first update since React yielded. Compute a new start time.\n\n\n currentEventTime = now();\n return currentEventTime;\n}\nfunction requestUpdateLane(fiber) {\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n } else if ( (executionContext & RenderContext) !== NoContext && workInProgressRootRenderLanes !== NoLanes) {\n // This is a render phase update. These are not officially supported. The\n // old behavior is to give this the same \"thread\" (lanes) as\n // whatever is currently rendering. So if you call `setState` on a component\n // that happens later in the same render, it will flush. Ideally, we want to\n // remove the special case and treat them as if they came from an\n // interleaved event. Regardless, this pattern is not officially supported.\n // This behavior is only a fallback. The flag only exists until we can roll\n // out the setState warning, since existing code might accidentally rely on\n // the current behavior.\n return pickArbitraryLane(workInProgressRootRenderLanes);\n }\n\n var isTransition = requestCurrentTransition() !== NoTransition;\n\n if (isTransition) {\n if ( ReactCurrentBatchConfig$3.transition !== null) {\n var transition = ReactCurrentBatchConfig$3.transition;\n\n if (!transition._updatedFibers) {\n transition._updatedFibers = new Set();\n }\n\n transition._updatedFibers.add(fiber);\n } // The algorithm for assigning an update to a lane should be stable for all\n // updates at the same priority within the same event. To do this, the\n // inputs to the algorithm must be the same.\n //\n // The trick we use is to cache the first of each of these inputs within an\n // event. Then reset the cached values once we can be sure the event is\n // over. Our heuristic for that is whenever we enter a concurrent work loop.\n\n\n if (currentEventTransitionLane === NoLane) {\n // All transitions within the same event are assigned the same lane.\n currentEventTransitionLane = claimNextTransitionLane();\n }\n\n return currentEventTransitionLane;\n } // Updates originating inside certain React methods, like flushSync, have\n // their priority set by tracking it with a context variable.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var updateLane = getCurrentUpdatePriority();\n\n if (updateLane !== NoLane) {\n return updateLane;\n } // This update originated outside React. Ask the host environment for an\n // appropriate priority, based on the type of event.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var eventLane = getCurrentEventPriority();\n return eventLane;\n}\n\nfunction requestRetryLane(fiber) {\n // This is a fork of `requestUpdateLane` designed specifically for Suspense\n // \"retries\" — a special update that attempts to flip a Suspense boundary\n // from its placeholder state to its primary/resolved state.\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n }\n\n return claimNextRetryLane();\n}\n\nfunction scheduleUpdateOnFiber(root, fiber, lane, eventTime) {\n checkForNestedUpdates();\n\n {\n if (isRunningInsertionEffect) {\n error('useInsertionEffect must not schedule updates.');\n }\n }\n\n {\n if (isFlushingPassiveEffects) {\n didScheduleUpdateDuringPassiveEffects = true;\n }\n } // Mark that the root has a pending update.\n\n\n markRootUpdated(root, lane, eventTime);\n\n if ((executionContext & RenderContext) !== NoLanes && root === workInProgressRoot) {\n // This update was dispatched during the render phase. This is a mistake\n // if the update originates from user space (with the exception of local\n // hook updates, which are handled differently and don't reach this\n // function), but there are some internal React features that use this as\n // an implementation detail, like selective hydration.\n warnAboutRenderPhaseUpdatesInDEV(fiber); // Track lanes that were updated during the render phase\n } else {\n // This is a normal update, scheduled from outside the render phase. For\n // example, during an input event.\n {\n if (isDevToolsPresent) {\n addFiberToLanesMap(root, fiber, lane);\n }\n }\n\n warnIfUpdatesNotWrappedWithActDEV(fiber);\n\n if (root === workInProgressRoot) {\n // Received an update to a tree that's in the middle of rendering. Mark\n // that there was an interleaved update work on this root. Unless the\n // `deferRenderPhaseUpdateToNextBatch` flag is off and this is a render\n // phase update. In that case, we don't treat render phase updates as if\n // they were interleaved, for backwards compat reasons.\n if ( (executionContext & RenderContext) === NoContext) {\n workInProgressRootInterleavedUpdatedLanes = mergeLanes(workInProgressRootInterleavedUpdatedLanes, lane);\n }\n\n if (workInProgressRootExitStatus === RootSuspendedWithDelay) {\n // The root already suspended with a delay, which means this render\n // definitely won't finish. Since we have a new update, let's mark it as\n // suspended now, right before marking the incoming update. This has the\n // effect of interrupting the current render and switching to the update.\n // TODO: Make sure this doesn't override pings that happen while we've\n // already started rendering.\n markRootSuspended$1(root, workInProgressRootRenderLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n\n if (lane === SyncLane && executionContext === NoContext && (fiber.mode & ConcurrentMode) === NoMode && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n // Flush the synchronous work now, unless we're already working or inside\n // a batch. This is intentionally inside scheduleUpdateOnFiber instead of\n // scheduleCallbackForFiber to preserve the ability to schedule a callback\n // without immediately flushing it. We only do this for user-initiated\n // updates, to preserve historical behavior of legacy mode.\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction scheduleInitialHydrationOnRoot(root, lane, eventTime) {\n // This is a special fork of scheduleUpdateOnFiber that is only used to\n // schedule the initial hydration of a root that has just been created. Most\n // of the stuff in scheduleUpdateOnFiber can be skipped.\n //\n // The main reason for this separate path, though, is to distinguish the\n // initial children from subsequent updates. In fully client-rendered roots\n // (createRoot instead of hydrateRoot), all top-level renders are modeled as\n // updates, but hydration roots are special because the initial render must\n // match what was rendered on the server.\n var current = root.current;\n current.lanes = lane;\n markRootUpdated(root, lane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n}\nfunction isUnsafeClassRenderPhaseUpdate(fiber) {\n // Check if this is a render phase update. Only called by class components,\n // which special (deprecated) behavior for UNSAFE_componentWillReceive props.\n return (// TODO: Remove outdated deferRenderPhaseUpdateToNextBatch experiment. We\n // decided not to enable it.\n (executionContext & RenderContext) !== NoContext\n );\n} // Use this function to schedule a task for a root. There's only one task per\n// root; if a task was already scheduled, we'll check to make sure the priority\n// of the existing task is the same as the priority of the next level that the\n// root has work on. This function is called on every update, and right before\n// exiting a task.\n\nfunction ensureRootIsScheduled(root, currentTime) {\n var existingCallbackNode = root.callbackNode; // Check if any lanes are being starved by other work. If so, mark them as\n // expired so we know to work on those next.\n\n markStarvedLanesAsExpired(root, currentTime); // Determine the next lanes to work on, and their priority.\n\n var nextLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (nextLanes === NoLanes) {\n // Special case: There's nothing to work on.\n if (existingCallbackNode !== null) {\n cancelCallback$1(existingCallbackNode);\n }\n\n root.callbackNode = null;\n root.callbackPriority = NoLane;\n return;\n } // We use the highest priority lane to represent the priority of the callback.\n\n\n var newCallbackPriority = getHighestPriorityLane(nextLanes); // Check if there's an existing task. We may be able to reuse it.\n\n var existingCallbackPriority = root.callbackPriority;\n\n if (existingCallbackPriority === newCallbackPriority && // Special case related to `act`. If the currently scheduled task is a\n // Scheduler task, rather than an `act` task, cancel it and re-scheduled\n // on the `act` queue.\n !( ReactCurrentActQueue$1.current !== null && existingCallbackNode !== fakeActCallbackNode)) {\n {\n // If we're going to re-use an existing task, it needs to exist.\n // Assume that discrete update microtasks are non-cancellable and null.\n // TODO: Temporary until we confirm this warning is not fired.\n if (existingCallbackNode == null && existingCallbackPriority !== SyncLane) {\n error('Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue.');\n }\n } // The priority hasn't changed. We can reuse the existing task. Exit.\n\n\n return;\n }\n\n if (existingCallbackNode != null) {\n // Cancel the existing callback. We'll schedule a new one below.\n cancelCallback$1(existingCallbackNode);\n } // Schedule a new callback.\n\n\n var newCallbackNode;\n\n if (newCallbackPriority === SyncLane) {\n // Special case: Sync React callbacks are scheduled on a special\n // internal queue\n if (root.tag === LegacyRoot) {\n if ( ReactCurrentActQueue$1.isBatchingLegacy !== null) {\n ReactCurrentActQueue$1.didScheduleLegacyUpdate = true;\n }\n\n scheduleLegacySyncCallback(performSyncWorkOnRoot.bind(null, root));\n } else {\n scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));\n }\n\n {\n // Flush the queue in a microtask.\n if ( ReactCurrentActQueue$1.current !== null) {\n // Inside `act`, use our internal `act` queue so that these get flushed\n // at the end of the current scope even when using the sync version\n // of `act`.\n ReactCurrentActQueue$1.current.push(flushSyncCallbacks);\n } else {\n scheduleMicrotask(function () {\n // In Safari, appending an iframe forces microtasks to run.\n // https://github.com/facebook/react/issues/22459\n // We don't support running callbacks in the middle of render\n // or commit so we need to check against that.\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n // Note that this would still prematurely flush the callbacks\n // if this happens outside render or commit phase (e.g. in an event).\n flushSyncCallbacks();\n }\n });\n }\n }\n\n newCallbackNode = null;\n } else {\n var schedulerPriorityLevel;\n\n switch (lanesToEventPriority(nextLanes)) {\n case DiscreteEventPriority:\n schedulerPriorityLevel = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriorityLevel = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriorityLevel = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriorityLevel = IdlePriority;\n break;\n\n default:\n schedulerPriorityLevel = NormalPriority;\n break;\n }\n\n newCallbackNode = scheduleCallback$1(schedulerPriorityLevel, performConcurrentWorkOnRoot.bind(null, root));\n }\n\n root.callbackPriority = newCallbackPriority;\n root.callbackNode = newCallbackNode;\n} // This is the entry point for every concurrent task, i.e. anything that\n// goes through Scheduler.\n\n\nfunction performConcurrentWorkOnRoot(root, didTimeout) {\n {\n resetNestedUpdateFlag();\n } // Since we know we're in a React event, we can clear the current\n // event time. The next update will compute a new event time.\n\n\n currentEventTime = NoTimestamp;\n currentEventTransitionLane = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n } // Flush any pending passive effects before deciding which lanes to work on,\n // in case they schedule additional work.\n\n\n var originalCallbackNode = root.callbackNode;\n var didFlushPassiveEffects = flushPassiveEffects();\n\n if (didFlushPassiveEffects) {\n // Something in the passive effect phase may have canceled the current task.\n // Check if the task node for this root was changed.\n if (root.callbackNode !== originalCallbackNode) {\n // The current task was canceled. Exit. We don't need to call\n // `ensureRootIsScheduled` because the check above implies either that\n // there's a new task, or that there's no remaining work on this root.\n return null;\n }\n } // Determine the next lanes to work on, using the fields stored\n // on the root.\n\n\n var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (lanes === NoLanes) {\n // Defensive coding. This is never expected to happen.\n return null;\n } // We disable time-slicing in some cases: if the work has been CPU-bound\n // for too long (\"expired\" work, to prevent starvation), or we're in\n // sync-updates-by-default mode.\n // TODO: We only check `didTimeout` defensively, to account for a Scheduler\n // bug we're still investigating. Once the bug in Scheduler is fixed,\n // we can remove this, since we track expiration ourselves.\n\n\n var shouldTimeSlice = !includesBlockingLane(root, lanes) && !includesExpiredLane(root, lanes) && ( !didTimeout);\n var exitStatus = shouldTimeSlice ? renderRootConcurrent(root, lanes) : renderRootSync(root, lanes);\n\n if (exitStatus !== RootInProgress) {\n if (exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll\n // render synchronously to block concurrent data mutations, and we'll\n // includes all pending updates are included. If it still fails after\n // the second attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n // The render unwound without completing the tree. This happens in special\n // cases where need to exit the current render without producing a\n // consistent tree or committing.\n //\n // This should only happen during a concurrent render, not a discrete or\n // synchronous update. We should have already checked for this when we\n // unwound the stack.\n markRootSuspended$1(root, lanes);\n } else {\n // The render completed.\n // Check if this render may have yielded to a concurrent event, and if so,\n // confirm that any newly rendered stores are consistent.\n // TODO: It's possible that even a concurrent render may never have yielded\n // to the main thread, if it was fast enough, or if it expired. We could\n // skip the consistency check in that case, too.\n var renderWasConcurrent = !includesBlockingLane(root, lanes);\n var finishedWork = root.current.alternate;\n\n if (renderWasConcurrent && !isRenderConsistentWithExternalStores(finishedWork)) {\n // A store was mutated in an interleaved event. Render again,\n // synchronously, to block further mutations.\n exitStatus = renderRootSync(root, lanes); // We need to check again if something threw\n\n if (exitStatus === RootErrored) {\n var _errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (_errorRetryLanes !== NoLanes) {\n lanes = _errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, _errorRetryLanes); // We assume the tree is now consistent because we didn't yield to any\n // concurrent events.\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var _fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw _fatalError;\n }\n } // We now have a consistent tree. The next step is either to commit it,\n // or, if something suspended, wait to commit it after a timeout.\n\n\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n finishConcurrentRender(root, exitStatus, lanes);\n }\n }\n\n ensureRootIsScheduled(root, now());\n\n if (root.callbackNode === originalCallbackNode) {\n // The task node scheduled for this root is the same one that's\n // currently executed. Need to return a continuation.\n return performConcurrentWorkOnRoot.bind(null, root);\n }\n\n return null;\n}\n\nfunction recoverFromConcurrentError(root, errorRetryLanes) {\n // If an error occurred during hydration, discard server response and fall\n // back to client side render.\n // Before rendering again, save the errors from the previous attempt.\n var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;\n\n if (isRootDehydrated(root)) {\n // The shell failed to hydrate. Set a flag to force a client rendering\n // during the next attempt. To do this, we call prepareFreshStack now\n // to create the root work-in-progress fiber. This is a bit weird in terms\n // of factoring, because it relies on renderRootSync not calling\n // prepareFreshStack again in the call below, which happens because the\n // root and lanes haven't changed.\n //\n // TODO: I think what we should do is set ForceClientRender inside\n // throwException, like we do for nested Suspense boundaries. The reason\n // it's here instead is so we can switch to the synchronous work loop, too.\n // Something to consider for a future refactor.\n var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);\n rootWorkInProgress.flags |= ForceClientRender;\n\n {\n errorHydratingContainer(root.containerInfo);\n }\n }\n\n var exitStatus = renderRootSync(root, errorRetryLanes);\n\n if (exitStatus !== RootErrored) {\n // Successfully finished rendering on retry\n // The errors from the failed first attempt have been recovered. Add\n // them to the collection of recoverable errors. We'll log them in the\n // commit phase.\n var errorsFromSecondAttempt = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = errorsFromFirstAttempt; // The errors from the second attempt should be queued after the errors\n // from the first attempt, to preserve the causal sequence.\n\n if (errorsFromSecondAttempt !== null) {\n queueRecoverableErrors(errorsFromSecondAttempt);\n }\n }\n\n return exitStatus;\n}\n\nfunction queueRecoverableErrors(errors) {\n if (workInProgressRootRecoverableErrors === null) {\n workInProgressRootRecoverableErrors = errors;\n } else {\n workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, errors);\n }\n}\n\nfunction finishConcurrentRender(root, exitStatus, lanes) {\n switch (exitStatus) {\n case RootInProgress:\n case RootFatalErrored:\n {\n throw new Error('Root did not complete. This is a bug in React.');\n }\n // Flow knows about invariant, so it complains if I add a break\n // statement, but eslint doesn't know about invariant, so it complains\n // if I do. eslint-disable-next-line no-fallthrough\n\n case RootErrored:\n {\n // We should have already attempted to retry this tree. If we reached\n // this point, it errored again. Commit it.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspended:\n {\n markRootSuspended$1(root, lanes); // We have an acceptable loading state. We need to figure out if we\n // should immediately commit it or wait a bit.\n\n if (includesOnlyRetries(lanes) && // do not delay if we're inside an act() scope\n !shouldForceFlushFallbacksInDEV()) {\n // This render only included retries, no updates. Throttle committing\n // retries so that we don't show too many loading states too quickly.\n var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time.\n\n if (msUntilTimeout > 10) {\n var nextLanes = getNextLanes(root, NoLanes);\n\n if (nextLanes !== NoLanes) {\n // There's additional work on this root.\n break;\n }\n\n var suspendedLanes = root.suspendedLanes;\n\n if (!isSubsetOfLanes(suspendedLanes, lanes)) {\n // We should prefer to render the fallback of at the last\n // suspended level. Ping the last suspended level to try\n // rendering it again.\n // FIXME: What if the suspended lanes are Idle? Should not restart.\n var eventTime = requestEventTime();\n markRootPinged(root, suspendedLanes);\n break;\n } // The render is suspended, it hasn't timed out, and there's no\n // lower priority work to do. Instead of committing the fallback\n // immediately, wait for more data to arrive.\n\n\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), msUntilTimeout);\n break;\n }\n } // The work expired. Commit immediately.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspendedWithDelay:\n {\n markRootSuspended$1(root, lanes);\n\n if (includesOnlyTransitions(lanes)) {\n // This is a transition, so we should exit without committing a\n // placeholder and without scheduling a timeout. Delay indefinitely\n // until we receive more data.\n break;\n }\n\n if (!shouldForceFlushFallbacksInDEV()) {\n // This is not a transition, but we did trigger an avoided state.\n // Schedule a placeholder to display after a short delay, using the Just\n // Noticeable Difference.\n // TODO: Is the JND optimization worth the added complexity? If this is\n // the only reason we track the event time, then probably not.\n // Consider removing.\n var mostRecentEventTime = getMostRecentEventTime(root, lanes);\n var eventTimeMs = mostRecentEventTime;\n var timeElapsedMs = now() - eventTimeMs;\n\n var _msUntilTimeout = jnd(timeElapsedMs) - timeElapsedMs; // Don't bother with a very short suspense time.\n\n\n if (_msUntilTimeout > 10) {\n // Instead of committing the fallback immediately, wait for more data\n // to arrive.\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), _msUntilTimeout);\n break;\n }\n } // Commit the placeholder.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootCompleted:\n {\n // The work completed. Ready to commit.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n default:\n {\n throw new Error('Unknown root exit status.');\n }\n }\n}\n\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n // Search the rendered tree for external store reads, and check whether the\n // stores were mutated in a concurrent event. Intentionally using an iterative\n // loop instead of recursion so we can exit early.\n var node = finishedWork;\n\n while (true) {\n if (node.flags & StoreConsistency) {\n var updateQueue = node.updateQueue;\n\n if (updateQueue !== null) {\n var checks = updateQueue.stores;\n\n if (checks !== null) {\n for (var i = 0; i < checks.length; i++) {\n var check = checks[i];\n var getSnapshot = check.getSnapshot;\n var renderedValue = check.value;\n\n try {\n if (!objectIs(getSnapshot(), renderedValue)) {\n // Found an inconsistent store.\n return false;\n }\n } catch (error) {\n // If `getSnapshot` throws, return `false`. This will schedule\n // a re-render, and the error will be rethrown during render.\n return false;\n }\n }\n }\n }\n }\n\n var child = node.child;\n\n if (node.subtreeFlags & StoreConsistency && child !== null) {\n child.return = node;\n node = child;\n continue;\n }\n\n if (node === finishedWork) {\n return true;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return true;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n } // Flow doesn't know this is unreachable, but eslint does\n // eslint-disable-next-line no-unreachable\n\n\n return true;\n}\n\nfunction markRootSuspended$1(root, suspendedLanes) {\n // When suspending, we should always exclude lanes that were pinged or (more\n // rarely, since we try to avoid it) updated during the render phase.\n // TODO: Lol maybe there's a better way to factor this besides this\n // obnoxiously named function :)\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootPingedLanes);\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootInterleavedUpdatedLanes);\n markRootSuspended(root, suspendedLanes);\n} // This is the entry point for synchronous tasks that don't go\n// through Scheduler\n\n\nfunction performSyncWorkOnRoot(root) {\n {\n syncNestedUpdateFlag();\n }\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n flushPassiveEffects();\n var lanes = getNextLanes(root, NoLanes);\n\n if (!includesSomeLane(lanes, SyncLane)) {\n // There's no remaining sync work left.\n ensureRootIsScheduled(root, now());\n return null;\n }\n\n var exitStatus = renderRootSync(root, lanes);\n\n if (root.tag !== LegacyRoot && exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll render\n // synchronously to block concurrent data mutations, and we'll includes\n // all pending updates are included. If it still fails after the second\n // attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n throw new Error('Root did not complete. This is a bug in React.');\n } // We now have a consistent tree. Because this is a sync render, we\n // will commit it even if something suspended.\n\n\n var finishedWork = root.current.alternate;\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions); // Before exiting, make sure there's a callback scheduled for the next\n // pending level.\n\n ensureRootIsScheduled(root, now());\n return null;\n}\n\nfunction flushRoot(root, lanes) {\n if (lanes !== NoLanes) {\n markRootEntangled(root, mergeLanes(lanes, SyncLane));\n ensureRootIsScheduled(root, now());\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n resetRenderTimer();\n flushSyncCallbacks();\n }\n }\n}\nfunction batchedUpdates$1(fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n\n try {\n return fn(a);\n } finally {\n executionContext = prevExecutionContext; // If there were legacy sync updates, flush them at the end of the outer\n // most batchedUpdates-like method.\n\n if (executionContext === NoContext && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction discreteUpdates(fn, a, b, c, d) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n return fn(a, b, c, d);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n\n if (executionContext === NoContext) {\n resetRenderTimer();\n }\n }\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync(fn) {\n // In legacy mode, we flush pending passive effects at the beginning of the\n // next event, not at the end of the previous one.\n if (rootWithPendingPassiveEffects !== null && rootWithPendingPassiveEffects.tag === LegacyRoot && (executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushPassiveEffects();\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n if (fn) {\n return fn();\n } else {\n return undefined;\n }\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.\n // Note that this will happen even if batchedUpdates is higher up\n // the stack.\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushSyncCallbacks();\n }\n }\n}\nfunction isAlreadyRendering() {\n // Used by the renderer to print a warning if certain APIs are called from\n // the wrong context.\n return (executionContext & (RenderContext | CommitContext)) !== NoContext;\n}\nfunction pushRenderLanes(fiber, lanes) {\n push(subtreeRenderLanesCursor, subtreeRenderLanes, fiber);\n subtreeRenderLanes = mergeLanes(subtreeRenderLanes, lanes);\n workInProgressRootIncludedLanes = mergeLanes(workInProgressRootIncludedLanes, lanes);\n}\nfunction popRenderLanes(fiber) {\n subtreeRenderLanes = subtreeRenderLanesCursor.current;\n pop(subtreeRenderLanesCursor, fiber);\n}\n\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n var timeoutHandle = root.timeoutHandle;\n\n if (timeoutHandle !== noTimeout) {\n // The root previous suspended and scheduled a timeout to commit a fallback\n // state. Now that we have additional work, cancel the timeout.\n root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above\n\n cancelTimeout(timeoutHandle);\n }\n\n if (workInProgress !== null) {\n var interruptedWork = workInProgress.return;\n\n while (interruptedWork !== null) {\n var current = interruptedWork.alternate;\n unwindInterruptedWork(current, interruptedWork);\n interruptedWork = interruptedWork.return;\n }\n }\n\n workInProgressRoot = root;\n var rootWorkInProgress = createWorkInProgress(root.current, null);\n workInProgress = rootWorkInProgress;\n workInProgressRootRenderLanes = subtreeRenderLanes = workInProgressRootIncludedLanes = lanes;\n workInProgressRootExitStatus = RootInProgress;\n workInProgressRootFatalError = null;\n workInProgressRootSkippedLanes = NoLanes;\n workInProgressRootInterleavedUpdatedLanes = NoLanes;\n workInProgressRootPingedLanes = NoLanes;\n workInProgressRootConcurrentErrors = null;\n workInProgressRootRecoverableErrors = null;\n finishQueueingConcurrentUpdates();\n\n {\n ReactStrictModeWarnings.discardPendingWarnings();\n }\n\n return rootWorkInProgress;\n}\n\nfunction handleError(root, thrownValue) {\n do {\n var erroredWork = workInProgress;\n\n try {\n // Reset module-level state that was set during the render phase.\n resetContextDependencies();\n resetHooksAfterThrow();\n resetCurrentFiber(); // TODO: I found and added this missing line while investigating a\n // separate issue. Write a regression test using string refs.\n\n ReactCurrentOwner$2.current = null;\n\n if (erroredWork === null || erroredWork.return === null) {\n // Expected to be working on a non-root fiber. This is a fatal error\n // because there's no ancestor that can handle it; the root is\n // supposed to capture all errors that weren't caught by an error\n // boundary.\n workInProgressRootExitStatus = RootFatalErrored;\n workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next\n // sibling, or the parent if there are no siblings. But since the root\n // has no siblings nor a parent, we set it to null. Usually this is\n // handled by `completeUnitOfWork` or `unwindWork`, but since we're\n // intentionally not calling those, we need set it here.\n // TODO: Consider calling `unwindWork` to pop the contexts.\n\n workInProgress = null;\n return;\n }\n\n if (enableProfilerTimer && erroredWork.mode & ProfileMode) {\n // Record the time spent rendering before an error was thrown. This\n // avoids inaccurate Profiler durations in the case of a\n // suspended render.\n stopProfilerTimerIfRunningAndRecordDelta(erroredWork, true);\n }\n\n if (enableSchedulingProfiler) {\n markComponentRenderStopped();\n\n if (thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.then === 'function') {\n var wakeable = thrownValue;\n markComponentSuspended(erroredWork, wakeable, workInProgressRootRenderLanes);\n } else {\n markComponentErrored(erroredWork, thrownValue, workInProgressRootRenderLanes);\n }\n }\n\n throwException(root, erroredWork.return, erroredWork, thrownValue, workInProgressRootRenderLanes);\n completeUnitOfWork(erroredWork);\n } catch (yetAnotherThrownValue) {\n // Something in the return path also threw.\n thrownValue = yetAnotherThrownValue;\n\n if (workInProgress === erroredWork && erroredWork !== null) {\n // If this boundary has already errored, then we had trouble processing\n // the error. Bubble it to the next boundary.\n erroredWork = erroredWork.return;\n workInProgress = erroredWork;\n } else {\n erroredWork = workInProgress;\n }\n\n continue;\n } // Return to the normal work loop.\n\n\n return;\n } while (true);\n}\n\nfunction pushDispatcher() {\n var prevDispatcher = ReactCurrentDispatcher$2.current;\n ReactCurrentDispatcher$2.current = ContextOnlyDispatcher;\n\n if (prevDispatcher === null) {\n // The React isomorphic package does not include a default dispatcher.\n // Instead the first renderer will lazily attach one, in order to give\n // nicer error messages.\n return ContextOnlyDispatcher;\n } else {\n return prevDispatcher;\n }\n}\n\nfunction popDispatcher(prevDispatcher) {\n ReactCurrentDispatcher$2.current = prevDispatcher;\n}\n\nfunction markCommitTimeOfFallback() {\n globalMostRecentFallbackTime = now();\n}\nfunction markSkippedUpdateLanes(lane) {\n workInProgressRootSkippedLanes = mergeLanes(lane, workInProgressRootSkippedLanes);\n}\nfunction renderDidSuspend() {\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootSuspended;\n }\n}\nfunction renderDidSuspendDelayIfPossible() {\n if (workInProgressRootExitStatus === RootInProgress || workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootErrored) {\n workInProgressRootExitStatus = RootSuspendedWithDelay;\n } // Check if there are updates that we skipped tree that might have unblocked\n // this render.\n\n\n if (workInProgressRoot !== null && (includesNonIdleWork(workInProgressRootSkippedLanes) || includesNonIdleWork(workInProgressRootInterleavedUpdatedLanes))) {\n // Mark the current render as suspended so that we switch to working on\n // the updates that were skipped. Usually we only suspend at the end of\n // the render phase.\n // TODO: We should probably always mark the root as suspended immediately\n // (inside this function), since by suspending at the end of the render\n // phase introduces a potential mistake where we suspend lanes that were\n // pinged or updated while we were rendering.\n markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes);\n }\n}\nfunction renderDidError(error) {\n if (workInProgressRootExitStatus !== RootSuspendedWithDelay) {\n workInProgressRootExitStatus = RootErrored;\n }\n\n if (workInProgressRootConcurrentErrors === null) {\n workInProgressRootConcurrentErrors = [error];\n } else {\n workInProgressRootConcurrentErrors.push(error);\n }\n} // Called during render to determine if anything has suspended.\n// Returns false if we're not sure.\n\nfunction renderHasNotSuspendedYet() {\n // If something errored or completed, we can't really be sure,\n // so those are false.\n return workInProgressRootExitStatus === RootInProgress;\n}\n\nfunction renderRootSync(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopSync();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n executionContext = prevExecutionContext;\n popDispatcher(prevDispatcher);\n\n if (workInProgress !== null) {\n // This is a sync render, so we should have finished the whole tree.\n throw new Error('Cannot commit an incomplete root. This error is likely caused by a ' + 'bug in React. Please file an issue.');\n }\n\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes;\n return workInProgressRootExitStatus;\n} // The work loop is an extremely hot path. Tell Closure not to inline it.\n\n/** @noinline */\n\n\nfunction workLoopSync() {\n // Already timed out, so perform work without checking if we need to yield.\n while (workInProgress !== null) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n resetRenderTimer();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopConcurrent();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n popDispatcher(prevDispatcher);\n executionContext = prevExecutionContext;\n\n\n if (workInProgress !== null) {\n // Still work remaining.\n {\n markRenderYielded();\n }\n\n return RootInProgress;\n } else {\n // Completed the tree.\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes; // Return the final exit status.\n\n return workInProgressRootExitStatus;\n }\n}\n/** @noinline */\n\n\nfunction workLoopConcurrent() {\n // Perform work until Scheduler asks us to yield\n while (workInProgress !== null && !shouldYield()) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction performUnitOfWork(unitOfWork) {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = unitOfWork.alternate;\n setCurrentFiber(unitOfWork);\n var next;\n\n if ( (unitOfWork.mode & ProfileMode) !== NoMode) {\n startProfilerTimer(unitOfWork);\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);\n } else {\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n }\n\n resetCurrentFiber();\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n\n if (next === null) {\n // If this doesn't spawn new work, complete the current work.\n completeUnitOfWork(unitOfWork);\n } else {\n workInProgress = next;\n }\n\n ReactCurrentOwner$2.current = null;\n}\n\nfunction completeUnitOfWork(unitOfWork) {\n // Attempt to complete the current unit of work, then move to the next\n // sibling. If there are no more siblings, return to the parent fiber.\n var completedWork = unitOfWork;\n\n do {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = completedWork.alternate;\n var returnFiber = completedWork.return; // Check if the work completed or if something threw.\n\n if ((completedWork.flags & Incomplete) === NoFlags) {\n setCurrentFiber(completedWork);\n var next = void 0;\n\n if ( (completedWork.mode & ProfileMode) === NoMode) {\n next = completeWork(current, completedWork, subtreeRenderLanes);\n } else {\n startProfilerTimer(completedWork);\n next = completeWork(current, completedWork, subtreeRenderLanes); // Update render duration assuming we didn't error.\n\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false);\n }\n\n resetCurrentFiber();\n\n if (next !== null) {\n // Completing this fiber spawned new work. Work on that next.\n workInProgress = next;\n return;\n }\n } else {\n // This fiber did not complete because something threw. Pop values off\n // the stack without entering the complete phase. If this is a boundary,\n // capture values if possible.\n var _next = unwindWork(current, completedWork); // Because this fiber did not complete, don't reset its lanes.\n\n\n if (_next !== null) {\n // If completing this work spawned new work, do that next. We'll come\n // back here again.\n // Since we're restarting, remove anything that is not a host effect\n // from the effect tag.\n _next.flags &= HostEffectMask;\n workInProgress = _next;\n return;\n }\n\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // Record the render duration for the fiber that errored.\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false); // Include the time spent working on failed children before continuing.\n\n var actualDuration = completedWork.actualDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n actualDuration += child.actualDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n }\n\n if (returnFiber !== null) {\n // Mark the parent fiber as incomplete and clear its subtree flags.\n returnFiber.flags |= Incomplete;\n returnFiber.subtreeFlags = NoFlags;\n returnFiber.deletions = null;\n } else {\n // We've unwound all the way to the root.\n workInProgressRootExitStatus = RootDidNotComplete;\n workInProgress = null;\n return;\n }\n }\n\n var siblingFiber = completedWork.sibling;\n\n if (siblingFiber !== null) {\n // If there is more work to do in this returnFiber, do that next.\n workInProgress = siblingFiber;\n return;\n } // Otherwise, return to the parent\n\n\n completedWork = returnFiber; // Update the next thing we're working on in case something throws.\n\n workInProgress = completedWork;\n } while (completedWork !== null); // We've reached the root.\n\n\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootCompleted;\n }\n}\n\nfunction commitRoot(root, recoverableErrors, transitions) {\n // TODO: This no longer makes any sense. We already wrap the mutation and\n // layout phases. Should be able to remove.\n var previousUpdateLanePriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n commitRootImpl(root, recoverableErrors, transitions, previousUpdateLanePriority);\n } finally {\n ReactCurrentBatchConfig$3.transition = prevTransition;\n setCurrentUpdatePriority(previousUpdateLanePriority);\n }\n\n return null;\n}\n\nfunction commitRootImpl(root, recoverableErrors, transitions, renderPriorityLevel) {\n do {\n // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which\n // means `flushPassiveEffects` will sometimes result in additional\n // passive effects. So we need to keep flushing in a loop until there are\n // no more pending effects.\n // TODO: Might be better if `flushPassiveEffects` did not automatically\n // flush synchronous work at the end, to avoid factoring hazards like this.\n flushPassiveEffects();\n } while (rootWithPendingPassiveEffects !== null);\n\n flushRenderPhaseStrictModeWarningsInDEV();\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n var finishedWork = root.finishedWork;\n var lanes = root.finishedLanes;\n\n {\n markCommitStarted(lanes);\n }\n\n if (finishedWork === null) {\n\n {\n markCommitStopped();\n }\n\n return null;\n } else {\n {\n if (lanes === NoLanes) {\n error('root.finishedLanes should not be empty during a commit. This is a ' + 'bug in React.');\n }\n }\n }\n\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n\n if (finishedWork === root.current) {\n throw new Error('Cannot commit the same tree as before. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n } // commitRoot never returns a continuation; it always finishes synchronously.\n // So we can clear these now to allow a new callback to be scheduled.\n\n\n root.callbackNode = null;\n root.callbackPriority = NoLane; // Update the first and last pending times on this root. The new first\n // pending time is whatever is left on the root fiber.\n\n var remainingLanes = mergeLanes(finishedWork.lanes, finishedWork.childLanes);\n markRootFinished(root, remainingLanes);\n\n if (root === workInProgressRoot) {\n // We can reset these now that they are finished.\n workInProgressRoot = null;\n workInProgress = null;\n workInProgressRootRenderLanes = NoLanes;\n } // If there are pending passive effects, schedule a callback to process them.\n // Do this as early as possible, so it is queued before anything else that\n // might get scheduled in the commit phase. (See #16714.)\n // TODO: Delete all other places that schedule the passive effect callback\n // They're redundant.\n\n\n if ((finishedWork.subtreeFlags & PassiveMask) !== NoFlags || (finishedWork.flags & PassiveMask) !== NoFlags) {\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n // to store it in pendingPassiveTransitions until they get processed\n // We need to pass this through as an argument to commitRoot\n // because workInProgressTransitions might have changed between\n // the previous render and commit if we throttle the commit\n // with setTimeout\n\n pendingPassiveTransitions = transitions;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects(); // This render triggered passive effects: release the root cache pool\n // *after* passive effects fire to avoid freeing a cache pool that may\n // be referenced by a node in the tree (HostRoot, Cache boundary etc)\n\n return null;\n });\n }\n } // Check if there are any effects in the whole tree.\n // TODO: This is left over from the effect list implementation, where we had\n // to check for the existence of `firstEffect` to satisfy Flow. I think the\n // only other reason this optimization exists is because it affects profiling.\n // Reconsider whether this is necessary.\n\n\n var subtreeHasEffects = (finishedWork.subtreeFlags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n var rootHasEffect = (finishedWork.flags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n\n if (subtreeHasEffects || rootHasEffect) {\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n ReactCurrentBatchConfig$3.transition = null;\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(DiscreteEventPriority);\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext; // Reset this to null before calling lifecycles\n\n ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass\n // of the effect list for each phase: all mutation effects come before all\n // layout effects, and so on.\n // The first phase a \"before mutation\" phase. We use this phase to read the\n // state of the host tree right before we mutate it. This is where\n // getSnapshotBeforeUpdate is called.\n\n var shouldFireAfterActiveInstanceBlur = commitBeforeMutationEffects(root, finishedWork);\n\n {\n // Mark the current commit time to be shared by all Profilers in this\n // batch. This enables them to be grouped later.\n recordCommitTime();\n }\n\n\n commitMutationEffects(root, finishedWork, lanes);\n\n resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after\n // the mutation phase, so that the previous tree is still current during\n // componentWillUnmount, but before the layout phase, so that the finished\n // work is current during componentDidMount/Update.\n\n root.current = finishedWork; // The next phase is the layout phase, where we call effects that read\n\n {\n markLayoutEffectsStarted(lanes);\n }\n\n commitLayoutEffects(finishedWork, root, lanes);\n\n {\n markLayoutEffectsStopped();\n }\n // opportunity to paint.\n\n\n requestPaint();\n executionContext = prevExecutionContext; // Reset the priority to the previous non-sync value.\n\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n } else {\n // No effects.\n root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were\n // no effects.\n // TODO: Maybe there's a better way to report this.\n\n {\n recordCommitTime();\n }\n }\n\n var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;\n\n if (rootDoesHavePassiveEffects) {\n // This commit has passive effects. Stash a reference to them. But don't\n // schedule a callback until after flushing layout work.\n rootDoesHavePassiveEffects = false;\n rootWithPendingPassiveEffects = root;\n pendingPassiveEffectsLanes = lanes;\n } else {\n\n {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n }\n } // Read this again, since an effect might have updated it\n\n\n remainingLanes = root.pendingLanes; // Check if there's remaining work on this root\n // TODO: This is part of the `componentDidCatch` implementation. Its purpose\n // is to detect whether something might have called setState inside\n // `componentDidCatch`. The mechanism is known to be flawed because `setState`\n // inside `componentDidCatch` is itself flawed — that's why we recommend\n // `getDerivedStateFromError` instead. However, it could be improved by\n // checking if remainingLanes includes Sync work, instead of whether there's\n // any work remaining at all (which would also include stuff like Suspense\n // retries or transitions). It's been like this for a while, though, so fixing\n // it probably isn't that urgent.\n\n if (remainingLanes === NoLanes) {\n // If there's no remaining work, we can clear the set of already failed\n // error boundaries.\n legacyErrorBoundariesThatAlreadyFailed = null;\n }\n\n {\n if (!rootDidHavePassiveEffects) {\n commitDoubleInvokeEffectsInDEV(root.current, false);\n }\n }\n\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n\n {\n if (isDevToolsPresent) {\n root.memoizedUpdaters.clear();\n }\n }\n\n {\n onCommitRoot$1();\n } // Always call this before exiting `commitRoot`, to ensure that any\n // additional work on this root is scheduled.\n\n\n ensureRootIsScheduled(root, now());\n\n if (recoverableErrors !== null) {\n // There were errors during this render, but recovered from them without\n // needing to surface it to the UI. We log them here.\n var onRecoverableError = root.onRecoverableError;\n\n for (var i = 0; i < recoverableErrors.length; i++) {\n var recoverableError = recoverableErrors[i];\n var componentStack = recoverableError.stack;\n var digest = recoverableError.digest;\n onRecoverableError(recoverableError.value, {\n componentStack: componentStack,\n digest: digest\n });\n }\n }\n\n if (hasUncaughtError) {\n hasUncaughtError = false;\n var error$1 = firstUncaughtError;\n firstUncaughtError = null;\n throw error$1;\n } // If the passive effects are the result of a discrete render, flush them\n // synchronously at the end of the current task so that the result is\n // immediately observable. Otherwise, we assume that they are not\n // order-dependent and do not need to be observed by external systems, so we\n // can wait until after paint.\n // TODO: We can optimize this by not scheduling the callback earlier. Since we\n // currently schedule the callback in multiple places, will wait until those\n // are consolidated.\n\n\n if (includesSomeLane(pendingPassiveEffectsLanes, SyncLane) && root.tag !== LegacyRoot) {\n flushPassiveEffects();\n } // Read this again, since a passive effect might have updated it\n\n\n remainingLanes = root.pendingLanes;\n\n if (includesSomeLane(remainingLanes, SyncLane)) {\n {\n markNestedUpdateScheduled();\n } // Count the number of times the root synchronously re-renders without\n // finishing. If there are too many, it indicates an infinite update loop.\n\n\n if (root === rootWithNestedUpdates) {\n nestedUpdateCount++;\n } else {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = root;\n }\n } else {\n nestedUpdateCount = 0;\n } // If layout work was scheduled, flush it now.\n\n\n flushSyncCallbacks();\n\n {\n markCommitStopped();\n }\n\n return null;\n}\n\nfunction flushPassiveEffects() {\n // Returns whether passive effects were flushed.\n // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should\n // probably just combine the two functions. I believe they were only separate\n // in the first place because we used to wrap it with\n // `Scheduler.runWithPriority`, which accepts a function. But now we track the\n // priority within React itself, so we can mutate the variable directly.\n if (rootWithPendingPassiveEffects !== null) {\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes);\n var priority = lowerEventPriority(DefaultEventPriority, renderPriority);\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(priority);\n return flushPassiveEffectsImpl();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition; // Once passive effects have run for the tree - giving components a\n }\n }\n\n return false;\n}\nfunction enqueuePendingPassiveProfilerEffect(fiber) {\n {\n pendingPassiveProfilerEffects.push(fiber);\n\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects();\n return null;\n });\n }\n }\n}\n\nfunction flushPassiveEffectsImpl() {\n if (rootWithPendingPassiveEffects === null) {\n return false;\n } // Cache and clear the transitions flag\n\n\n var transitions = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root = rootWithPendingPassiveEffects;\n var lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects.\n // Figure out why and fix it. It's not causing any known issues (probably\n // because it's only used for profiling), but it's a refactor hazard.\n\n pendingPassiveEffectsLanes = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Cannot flush passive effects while already rendering.');\n }\n\n {\n isFlushingPassiveEffects = true;\n didScheduleUpdateDuringPassiveEffects = false;\n }\n\n {\n markPassiveEffectsStarted(lanes);\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n commitPassiveUnmountEffects(root.current);\n commitPassiveMountEffects(root, root.current, lanes, transitions); // TODO: Move to commitPassiveMountEffects\n\n {\n var profilerEffects = pendingPassiveProfilerEffects;\n pendingPassiveProfilerEffects = [];\n\n for (var i = 0; i < profilerEffects.length; i++) {\n var _fiber = profilerEffects[i];\n commitPassiveEffectDurations(root, _fiber);\n }\n }\n\n {\n markPassiveEffectsStopped();\n }\n\n {\n commitDoubleInvokeEffectsInDEV(root.current, true);\n }\n\n executionContext = prevExecutionContext;\n flushSyncCallbacks();\n\n {\n // If additional passive effects were scheduled, increment a counter. If this\n // exceeds the limit, we'll fire a warning.\n if (didScheduleUpdateDuringPassiveEffects) {\n if (root === rootWithPassiveNestedUpdates) {\n nestedPassiveUpdateCount++;\n } else {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = root;\n }\n } else {\n nestedPassiveUpdateCount = 0;\n }\n\n isFlushingPassiveEffects = false;\n didScheduleUpdateDuringPassiveEffects = false;\n } // TODO: Move to commitPassiveMountEffects\n\n\n onPostCommitRoot(root);\n\n {\n var stateNode = root.current.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n\n return true;\n}\n\nfunction isAlreadyFailedLegacyErrorBoundary(instance) {\n return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);\n}\nfunction markLegacyErrorBoundaryAsFailed(instance) {\n if (legacyErrorBoundariesThatAlreadyFailed === null) {\n legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);\n } else {\n legacyErrorBoundariesThatAlreadyFailed.add(instance);\n }\n}\n\nfunction prepareToThrowUncaughtError(error) {\n if (!hasUncaughtError) {\n hasUncaughtError = true;\n firstUncaughtError = error;\n }\n}\n\nvar onUncaughtError = prepareToThrowUncaughtError;\n\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n var errorInfo = createCapturedValueAtFiber(error, sourceFiber);\n var update = createRootErrorUpdate(rootFiber, errorInfo, SyncLane);\n var root = enqueueUpdate(rootFiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error$1) {\n {\n reportUncaughtErrorInDEV(error$1);\n setIsRunningInsertionEffect(false);\n }\n\n if (sourceFiber.tag === HostRoot) {\n // Error was thrown at the root. There is no parent, so the root\n // itself should capture it.\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error$1);\n return;\n }\n\n var fiber = null;\n\n {\n fiber = nearestMountedAncestor;\n }\n\n while (fiber !== null) {\n if (fiber.tag === HostRoot) {\n captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error$1);\n return;\n } else if (fiber.tag === ClassComponent) {\n var ctor = fiber.type;\n var instance = fiber.stateNode;\n\n if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {\n var errorInfo = createCapturedValueAtFiber(error$1, sourceFiber);\n var update = createClassErrorUpdate(fiber, errorInfo, SyncLane);\n var root = enqueueUpdate(fiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n\n return;\n }\n }\n\n fiber = fiber.return;\n }\n\n {\n // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning\n // will fire for errors that are thrown by destroy functions inside deleted\n // trees. What it should instead do is propagate the error to the parent of\n // the deleted tree. In the meantime, do not add this warning to the\n // allowlist; this is only for our internal use.\n error('Internal React error: Attempted to capture a commit phase error ' + 'inside a detached tree. This indicates a bug in React. Likely ' + 'causes include deleting the same fiber more than once, committing an ' + 'already-finished tree, or an inconsistent return pointer.\\n\\n' + 'Error message:\\n\\n%s', error$1);\n }\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n\n if (pingCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n pingCache.delete(wakeable);\n }\n\n var eventTime = requestEventTime();\n markRootPinged(root, pingedLanes);\n warnIfSuspenseResolutionNotWrappedWithActDEV(root);\n\n if (workInProgressRoot === root && isSubsetOfLanes(workInProgressRootRenderLanes, pingedLanes)) {\n // Received a ping at the same priority level at which we're currently\n // rendering. We might want to restart this render. This should mirror\n // the logic of whether or not a root suspends once it completes.\n // TODO: If we're rendering sync either due to Sync, Batched or expired,\n // we should probably never restart.\n // If we're suspended with delay, or if it's a retry, we'll always suspend\n // so we can always restart.\n if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && includesOnlyRetries(workInProgressRootRenderLanes) && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {\n // Restart from the root.\n prepareFreshStack(root, NoLanes);\n } else {\n // Even though we can't restart right now, we might get an\n // opportunity later. So we mark this render as having a ping.\n workInProgressRootPingedLanes = mergeLanes(workInProgressRootPingedLanes, pingedLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n}\n\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n // The boundary fiber (a Suspense component or SuspenseList component)\n // previously was rendered in its fallback state. One of the promises that\n // suspended it has resolved, which means at least part of the tree was\n // likely unblocked. Try rendering again, at a new lanes.\n if (retryLane === NoLane) {\n // TODO: Assign this to `suspenseState.retryLane`? to avoid\n // unnecessary entanglement?\n retryLane = requestRetryLane(boundaryFiber);\n } // TODO: Special case idle priority?\n\n\n var eventTime = requestEventTime();\n var root = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n\n if (root !== null) {\n markRootUpdated(root, retryLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState;\n var retryLane = NoLane;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = NoLane; // Default\n\n var retryCache;\n\n switch (boundaryFiber.tag) {\n case SuspenseComponent:\n retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n break;\n\n case SuspenseListComponent:\n retryCache = boundaryFiber.stateNode;\n break;\n\n default:\n throw new Error('Pinged unknown suspense boundary type. ' + 'This is probably a bug in React.');\n }\n\n if (retryCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n retryCache.delete(wakeable);\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n} // Computes the next Just Noticeable Difference (JND) boundary.\n// The theory is that a person can't tell the difference between small differences in time.\n// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable\n// difference in the experience. However, waiting for longer might mean that we can avoid\n// showing an intermediate loading state. The longer we have already waited, the harder it\n// is to tell small differences in time. Therefore, the longer we've already waited,\n// the longer we can wait additionally. At some point we have to give up though.\n// We pick a train model where the next boundary commits at a consistent schedule.\n// These particular numbers are vague estimates. We expect to adjust them based on research.\n\nfunction jnd(timeElapsed) {\n return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960;\n}\n\nfunction checkForNestedUpdates() {\n if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = null;\n throw new Error('Maximum update depth exceeded. This can happen when a component ' + 'repeatedly calls setState inside componentWillUpdate or ' + 'componentDidUpdate. React limits the number of nested updates to ' + 'prevent infinite loops.');\n }\n\n {\n if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n\n error('Maximum update depth exceeded. This can happen when a component ' + \"calls setState inside useEffect, but useEffect either doesn't \" + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');\n }\n }\n}\n\nfunction flushRenderPhaseStrictModeWarningsInDEV() {\n {\n ReactStrictModeWarnings.flushLegacyContextWarning();\n\n {\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\n }\n }\n}\n\nfunction commitDoubleInvokeEffectsInDEV(fiber, hasPassiveEffects) {\n {\n // TODO (StrictEffects) Should we set a marker on the root if it contains strict effects\n // so we don't traverse unnecessarily? similar to subtreeFlags but just at the root level.\n // Maybe not a big deal since this is DEV only behavior.\n setCurrentFiber(fiber);\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectUnmountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectUnmountInDEV);\n }\n\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectMountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectMountInDEV);\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction invokeEffectsInDev(firstChild, fiberFlags, invokeEffectFn) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n var current = firstChild;\n var subtreeRoot = null;\n\n while (current !== null) {\n var primarySubtreeFlag = current.subtreeFlags & fiberFlags;\n\n if (current !== subtreeRoot && current.child !== null && primarySubtreeFlag !== NoFlags) {\n current = current.child;\n } else {\n if ((current.flags & fiberFlags) !== NoFlags) {\n invokeEffectFn(current);\n }\n\n if (current.sibling !== null) {\n current = current.sibling;\n } else {\n current = subtreeRoot = current.return;\n }\n }\n }\n }\n}\n\nvar didWarnStateUpdateForNotYetMountedComponent = null;\nfunction warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {\n {\n if ((executionContext & RenderContext) !== NoContext) {\n // We let the other warning about render phase updates deal with this one.\n return;\n }\n\n if (!(fiber.mode & ConcurrentMode)) {\n return;\n }\n\n var tag = fiber.tag;\n\n if (tag !== IndeterminateComponent && tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent) {\n // Only warn for user-defined components, not internal ones like Suspense.\n return;\n } // We show the whole stack but dedupe on the top component's name because\n // the problematic code almost always lies inside that component.\n\n\n var componentName = getComponentNameFromFiber(fiber) || 'ReactComponent';\n\n if (didWarnStateUpdateForNotYetMountedComponent !== null) {\n if (didWarnStateUpdateForNotYetMountedComponent.has(componentName)) {\n return;\n }\n\n didWarnStateUpdateForNotYetMountedComponent.add(componentName);\n } else {\n didWarnStateUpdateForNotYetMountedComponent = new Set([componentName]);\n }\n\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error(\"Can't perform a React state update on a component that hasn't mounted yet. \" + 'This indicates that you have a side-effect in your render function that ' + 'asynchronously later calls tries to update the component. Move this work to ' + 'useEffect instead.');\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n}\nvar beginWork$1;\n\n{\n var dummyFiber = null;\n\n beginWork$1 = function (current, unitOfWork, lanes) {\n // If a component throws an error, we replay it again in a synchronously\n // dispatched event, so that the debugger will treat it as an uncaught\n // error See ReactErrorUtils for more information.\n // Before entering the begin phase, copy the work-in-progress onto a dummy\n // fiber. If beginWork throws, we'll use this to reset the state.\n var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);\n\n try {\n return beginWork(current, unitOfWork, lanes);\n } catch (originalError) {\n if (didSuspendOrErrorWhileHydratingDEV() || originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {\n // Don't replay promises.\n // Don't replay errors if we are hydrating and have already suspended or handled an error\n throw originalError;\n } // Keep this code in sync with handleError; any changes here must have\n // corresponding changes there.\n\n\n resetContextDependencies();\n resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the\n // same fiber again.\n // Unwind the failed stack frame\n\n unwindInterruptedWork(current, unitOfWork); // Restore the original properties of the fiber.\n\n assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);\n\n if ( unitOfWork.mode & ProfileMode) {\n // Reset the profiler timer.\n startProfilerTimer(unitOfWork);\n } // Run beginWork again.\n\n\n invokeGuardedCallback(null, beginWork, null, current, unitOfWork, lanes);\n\n if (hasCaughtError()) {\n var replayError = clearCaughtError();\n\n if (typeof replayError === 'object' && replayError !== null && replayError._suppressLogging && typeof originalError === 'object' && originalError !== null && !originalError._suppressLogging) {\n // If suppressed, let the flag carry over to the original error which is the one we'll rethrow.\n originalError._suppressLogging = true;\n }\n } // We always throw the original error in case the second render pass is not idempotent.\n // This can happen if a memoized function or CommonJS module doesn't throw after first invocation.\n\n\n throw originalError;\n }\n };\n}\n\nvar didWarnAboutUpdateInRender = false;\nvar didWarnAboutUpdateInRenderForAnotherComponent;\n\n{\n didWarnAboutUpdateInRenderForAnotherComponent = new Set();\n}\n\nfunction warnAboutRenderPhaseUpdatesInDEV(fiber) {\n {\n if (isRendering && !getIsUpdatingOpaqueValueInRenderPhaseInDEV()) {\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n var renderingComponentName = workInProgress && getComponentNameFromFiber(workInProgress) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.\n\n var dedupeKey = renderingComponentName;\n\n if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {\n didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);\n var setStateComponentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://reactjs.org/link/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n if (!didWarnAboutUpdateInRender) {\n error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');\n\n didWarnAboutUpdateInRender = true;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction restorePendingUpdaters(root, lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n memoizedUpdaters.forEach(function (schedulingFiber) {\n addFiberToLanesMap(root, schedulingFiber, lanes);\n }); // This function intentionally does not clear memoized updaters.\n // Those may still be relevant to the current commit\n // and a future one (e.g. Suspense).\n }\n }\n}\nvar fakeActCallbackNode = {};\n\nfunction scheduleCallback$1(priorityLevel, callback) {\n {\n // If we're currently inside an `act` scope, bypass Scheduler and push to\n // the `act` queue instead.\n var actQueue = ReactCurrentActQueue$1.current;\n\n if (actQueue !== null) {\n actQueue.push(callback);\n return fakeActCallbackNode;\n } else {\n return scheduleCallback(priorityLevel, callback);\n }\n }\n}\n\nfunction cancelCallback$1(callbackNode) {\n if ( callbackNode === fakeActCallbackNode) {\n return;\n } // In production, always call Scheduler. This function will be stripped out.\n\n\n return cancelCallback(callbackNode);\n}\n\nfunction shouldForceFlushFallbacksInDEV() {\n // Never force flush in production. This function should get stripped out.\n return ReactCurrentActQueue$1.current !== null;\n}\n\nfunction warnIfUpdatesNotWrappedWithActDEV(fiber) {\n {\n if (fiber.mode & ConcurrentMode) {\n if (!isConcurrentActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n } else {\n // Legacy mode has additional cases where we suppress a warning.\n if (!isLegacyActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n\n if (executionContext !== NoContext) {\n // Legacy mode doesn't warn if the update is batched, i.e.\n // batchedUpdates or flushSync.\n return;\n }\n\n if (fiber.tag !== FunctionComponent && fiber.tag !== ForwardRef && fiber.tag !== SimpleMemoComponent) {\n // For backwards compatibility with pre-hooks code, legacy mode only\n // warns for updates that originate from a hook.\n return;\n }\n }\n\n if (ReactCurrentActQueue$1.current === null) {\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error('An update to %s inside a test was not wrapped in act(...).\\n\\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\\n\\n' + 'act(() => {\\n' + ' /* fire events that update state */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act', getComponentNameFromFiber(fiber));\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n}\n\nfunction warnIfSuspenseResolutionNotWrappedWithActDEV(root) {\n {\n if (root.tag !== LegacyRoot && isConcurrentActEnvironment() && ReactCurrentActQueue$1.current === null) {\n error('A suspended resource finished loading inside a test, but the event ' + 'was not wrapped in act(...).\\n\\n' + 'When testing, code that resolves suspended data should be wrapped ' + 'into act(...):\\n\\n' + 'act(() => {\\n' + ' /* finish loading suspended data */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act');\n }\n }\n}\n\nfunction setIsRunningInsertionEffect(isRunning) {\n {\n isRunningInsertionEffect = isRunning;\n }\n}\n\n/* eslint-disable react-internal/prod-error-codes */\nvar resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below.\n\nvar failedBoundaries = null;\nvar setRefreshHandler = function (handler) {\n {\n resolveFamily = handler;\n }\n};\nfunction resolveFunctionForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction resolveClassForHotReloading(type) {\n // No implementation differences.\n return resolveFunctionForHotReloading(type);\n}\nfunction resolveForwardRefForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n // Check if we're dealing with a real forwardRef. Don't want to crash early.\n if (type !== null && type !== undefined && typeof type.render === 'function') {\n // ForwardRef is special because its resolved .type is an object,\n // but it's possible that we only have its inner render function in the map.\n // If that inner render function is different, we'll build a new forwardRef type.\n var currentRender = resolveFunctionForHotReloading(type.render);\n\n if (type.render !== currentRender) {\n var syntheticType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: currentRender\n };\n\n if (type.displayName !== undefined) {\n syntheticType.displayName = type.displayName;\n }\n\n return syntheticType;\n }\n }\n\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction isCompatibleFamilyForHotReloading(fiber, element) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return false;\n }\n\n var prevType = fiber.elementType;\n var nextType = element.type; // If we got here, we know types aren't === equal.\n\n var needsCompareFamilies = false;\n var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;\n\n switch (fiber.tag) {\n case ClassComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case FunctionComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n // We don't know the inner type yet.\n // We're going to assume that the lazy inner type is stable,\n // and so it is sufficient to avoid reconciling it away.\n // We're not going to unwrap or actually use the new lazy type.\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case ForwardRef:\n {\n if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ($$typeofNextType === REACT_MEMO_TYPE) {\n // TODO: if it was but can no longer be simple,\n // we shouldn't set this.\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n default:\n return false;\n } // Check if both types have a family and it's the same one.\n\n\n if (needsCompareFamilies) {\n // Note: memo() and forwardRef() we'll compare outer rather than inner type.\n // This means both of them need to be registered to preserve state.\n // If we unwrapped and compared the inner types for wrappers instead,\n // then we would risk falsely saying two separate memo(Foo)\n // calls are equivalent because they wrap the same Foo function.\n var prevFamily = resolveFamily(prevType);\n\n if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {\n return true;\n }\n }\n\n return false;\n }\n}\nfunction markFailedErrorBoundaryForHotReloading(fiber) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n if (typeof WeakSet !== 'function') {\n return;\n }\n\n if (failedBoundaries === null) {\n failedBoundaries = new WeakSet();\n }\n\n failedBoundaries.add(fiber);\n }\n}\nvar scheduleRefresh = function (root, update) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n var staleFamilies = update.staleFamilies,\n updatedFamilies = update.updatedFamilies;\n flushPassiveEffects();\n flushSync(function () {\n scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);\n });\n }\n};\nvar scheduleRoot = function (root, element) {\n {\n if (root.context !== emptyContextObject) {\n // Super edge case: root has a legacy _renderSubtree context\n // but we don't know the parentComponent so we can't pass it.\n // Just ignore. We'll delete this with _renderSubtree code path later.\n return;\n }\n\n flushPassiveEffects();\n flushSync(function () {\n updateContainer(element, root, null, null);\n });\n }\n};\n\nfunction scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {\n {\n var alternate = fiber.alternate,\n child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n if (resolveFamily === null) {\n throw new Error('Expected resolveFamily to be set during hot reload.');\n }\n\n var needsRender = false;\n var needsRemount = false;\n\n if (candidateType !== null) {\n var family = resolveFamily(candidateType);\n\n if (family !== undefined) {\n if (staleFamilies.has(family)) {\n needsRemount = true;\n } else if (updatedFamilies.has(family)) {\n if (tag === ClassComponent) {\n needsRemount = true;\n } else {\n needsRender = true;\n }\n }\n }\n }\n\n if (failedBoundaries !== null) {\n if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) {\n needsRemount = true;\n }\n }\n\n if (needsRemount) {\n fiber._debugNeedsRemount = true;\n }\n\n if (needsRemount || needsRender) {\n var _root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (_root !== null) {\n scheduleUpdateOnFiber(_root, fiber, SyncLane, NoTimestamp);\n }\n }\n\n if (child !== null && !needsRemount) {\n scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);\n }\n\n if (sibling !== null) {\n scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);\n }\n }\n}\n\nvar findHostInstancesForRefresh = function (root, families) {\n {\n var hostInstances = new Set();\n var types = new Set(families.map(function (family) {\n return family.current;\n }));\n findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);\n return hostInstances;\n }\n};\n\nfunction findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {\n {\n var child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n var didMatch = false;\n\n if (candidateType !== null) {\n if (types.has(candidateType)) {\n didMatch = true;\n }\n }\n\n if (didMatch) {\n // We have a match. This only drills down to the closest host components.\n // There's no need to search deeper because for the purpose of giving\n // visual feedback, \"flashing\" outermost parent rectangles is sufficient.\n findHostInstancesForFiberShallowly(fiber, hostInstances);\n } else {\n // If there's no match, maybe there will be one further down in the child tree.\n if (child !== null) {\n findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);\n }\n }\n\n if (sibling !== null) {\n findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);\n }\n }\n}\n\nfunction findHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);\n\n if (foundHostInstances) {\n return;\n } // If we didn't find any host children, fallback to closest host parent.\n\n\n var node = fiber;\n\n while (true) {\n switch (node.tag) {\n case HostComponent:\n hostInstances.add(node.stateNode);\n return;\n\n case HostPortal:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n\n case HostRoot:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n }\n\n if (node.return === null) {\n throw new Error('Expected to reach root first.');\n }\n\n node = node.return;\n }\n }\n}\n\nfunction findChildHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var node = fiber;\n var foundHostInstances = false;\n\n while (true) {\n if (node.tag === HostComponent) {\n // We got a match.\n foundHostInstances = true;\n hostInstances.add(node.stateNode); // There may still be more, so keep searching.\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === fiber) {\n return foundHostInstances;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === fiber) {\n return foundHostInstances;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n\n return false;\n}\n\nvar hasBadMapPolyfill;\n\n{\n hasBadMapPolyfill = false;\n\n try {\n var nonExtensibleObject = Object.preventExtensions({});\n /* eslint-disable no-new */\n\n new Map([[nonExtensibleObject, null]]);\n new Set([nonExtensibleObject]);\n /* eslint-enable no-new */\n } catch (e) {\n // TODO: Consider warning about bad polyfills\n hasBadMapPolyfill = true;\n }\n}\n\nfunction FiberNode(tag, pendingProps, key, mode) {\n // Instance\n this.tag = tag;\n this.key = key;\n this.elementType = null;\n this.type = null;\n this.stateNode = null; // Fiber\n\n this.return = null;\n this.child = null;\n this.sibling = null;\n this.index = 0;\n this.ref = null;\n this.pendingProps = pendingProps;\n this.memoizedProps = null;\n this.updateQueue = null;\n this.memoizedState = null;\n this.dependencies = null;\n this.mode = mode; // Effects\n\n this.flags = NoFlags;\n this.subtreeFlags = NoFlags;\n this.deletions = null;\n this.lanes = NoLanes;\n this.childLanes = NoLanes;\n this.alternate = null;\n\n {\n // Note: The following is done to avoid a v8 performance cliff.\n //\n // Initializing the fields below to smis and later updating them with\n // double values will cause Fibers to end up having separate shapes.\n // This behavior/bug has something to do with Object.preventExtension().\n // Fortunately this only impacts DEV builds.\n // Unfortunately it makes React unusably slow for some applications.\n // To work around this, initialize the fields below with doubles.\n //\n // Learn more about this here:\n // https://github.com/facebook/react/issues/14365\n // https://bugs.chromium.org/p/v8/issues/detail?id=8538\n this.actualDuration = Number.NaN;\n this.actualStartTime = Number.NaN;\n this.selfBaseDuration = Number.NaN;\n this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.\n // This won't trigger the performance cliff mentioned above,\n // and it simplifies other profiler code (including DevTools).\n\n this.actualDuration = 0;\n this.actualStartTime = -1;\n this.selfBaseDuration = 0;\n this.treeBaseDuration = 0;\n }\n\n {\n // This isn't directly used but is handy for debugging internals:\n this._debugSource = null;\n this._debugOwner = null;\n this._debugNeedsRemount = false;\n this._debugHookTypes = null;\n\n if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {\n Object.preventExtensions(this);\n }\n }\n} // This is a constructor function, rather than a POJO constructor, still\n// please ensure we do the following:\n// 1) Nobody should add any instance methods on this. Instance methods can be\n// more difficult to predict when they get optimized and they are almost\n// never inlined properly in static compilers.\n// 2) Nobody should rely on `instanceof Fiber` for type testing. We should\n// always know when it is a fiber.\n// 3) We might want to experiment with using numeric keys since they are easier\n// to optimize in a non-JIT environment.\n// 4) We can easily go from a constructor to a createFiber object literal if that\n// is faster.\n// 5) It should be easy to port this to a C struct and keep a C implementation\n// compatible.\n\n\nvar createFiber = function (tag, pendingProps, key, mode) {\n // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors\n return new FiberNode(tag, pendingProps, key, mode);\n};\n\nfunction shouldConstruct$1(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction isSimpleFunctionComponent(type) {\n return typeof type === 'function' && !shouldConstruct$1(type) && type.defaultProps === undefined;\n}\nfunction resolveLazyComponentTag(Component) {\n if (typeof Component === 'function') {\n return shouldConstruct$1(Component) ? ClassComponent : FunctionComponent;\n } else if (Component !== undefined && Component !== null) {\n var $$typeof = Component.$$typeof;\n\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n return ForwardRef;\n }\n\n if ($$typeof === REACT_MEMO_TYPE) {\n return MemoComponent;\n }\n }\n\n return IndeterminateComponent;\n} // This is used to create an alternate fiber to do work on.\n\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n\n if (workInProgress === null) {\n // We use a double buffering pooling technique because we know that we'll\n // only ever need at most two versions of a tree. We pool the \"other\" unused\n // node that we're free to reuse. This is lazily created to avoid allocating\n // extra objects for things that are never updated. It also allow us to\n // reclaim the extra memory if needed.\n workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);\n workInProgress.elementType = current.elementType;\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n\n {\n // DEV-only fields\n workInProgress._debugSource = current._debugSource;\n workInProgress._debugOwner = current._debugOwner;\n workInProgress._debugHookTypes = current._debugHookTypes;\n }\n\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // We already have an alternate.\n // Reset the effect tag.\n\n workInProgress.flags = NoFlags; // The effects are no longer valid.\n\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n\n {\n // We intentionally reset, rather than copy, actualDuration & actualStartTime.\n // This prevents time from endlessly accumulating in new commits.\n // This has the downside of resetting values for different priority renders,\n // But works for yielding (the common case) and should support resuming.\n workInProgress.actualDuration = 0;\n workInProgress.actualStartTime = -1;\n }\n } // Reset all effects except static ones.\n // Static effects are not specific to a render.\n\n\n workInProgress.flags = current.flags & StaticMask;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n }; // These will be overridden during the parent's reconciliation\n\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n\n {\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n\n {\n workInProgress._debugNeedsRemount = current._debugNeedsRemount;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case FunctionComponent:\n case SimpleMemoComponent:\n workInProgress.type = resolveFunctionForHotReloading(current.type);\n break;\n\n case ClassComponent:\n workInProgress.type = resolveClassForHotReloading(current.type);\n break;\n\n case ForwardRef:\n workInProgress.type = resolveForwardRefForHotReloading(current.type);\n break;\n }\n }\n\n return workInProgress;\n} // Used to reuse a Fiber for a second pass.\n\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n // This resets the Fiber to what createFiber or createWorkInProgress would\n // have set the values to before during the first pass. Ideally this wouldn't\n // be necessary but unfortunately many code paths reads from the workInProgress\n // when they should be reading from current and writing to workInProgress.\n // We assume pendingProps, index, key, ref, return are still untouched to\n // avoid doing another reconciliation.\n // Reset the effect flags but keep any Placement tags, since that's something\n // that child fiber is setting, not the reconciliation.\n workInProgress.flags &= StaticMask | Placement; // The effects are no longer valid.\n\n var current = workInProgress.alternate;\n\n if (current === null) {\n // Reset to createFiber's initial values.\n workInProgress.childLanes = NoLanes;\n workInProgress.lanes = renderLanes;\n workInProgress.child = null;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.memoizedProps = null;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.dependencies = null;\n workInProgress.stateNode = null;\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = 0;\n workInProgress.treeBaseDuration = 0;\n }\n } else {\n // Reset to the cloned values that createWorkInProgress would've.\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n };\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n }\n\n return workInProgress;\n}\nfunction createHostRootFiber(tag, isStrictMode, concurrentUpdatesByDefaultOverride) {\n var mode;\n\n if (tag === ConcurrentRoot) {\n mode = ConcurrentMode;\n\n if (isStrictMode === true) {\n mode |= StrictLegacyMode;\n\n {\n mode |= StrictEffectsMode;\n }\n }\n } else {\n mode = NoMode;\n }\n\n if ( isDevToolsPresent) {\n // Always collect profile timings when DevTools are present.\n // This enables DevTools to start capturing timing at any point–\n // Without some nodes in the tree having empty base times.\n mode |= ProfileMode;\n }\n\n return createFiber(HostRoot, null, null, mode);\n}\nfunction createFiberFromTypeAndProps(type, // React$ElementType\nkey, pendingProps, owner, mode, lanes) {\n var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.\n\n var resolvedType = type;\n\n if (typeof type === 'function') {\n if (shouldConstruct$1(type)) {\n fiberTag = ClassComponent;\n\n {\n resolvedType = resolveClassForHotReloading(resolvedType);\n }\n } else {\n {\n resolvedType = resolveFunctionForHotReloading(resolvedType);\n }\n }\n } else if (typeof type === 'string') {\n fiberTag = HostComponent;\n } else {\n getTag: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n\n case REACT_STRICT_MODE_TYPE:\n fiberTag = Mode;\n mode |= StrictLegacyMode;\n\n if ( (mode & ConcurrentMode) !== NoMode) {\n // Strict effects should never run on legacy roots\n mode |= StrictEffectsMode;\n }\n\n break;\n\n case REACT_PROFILER_TYPE:\n return createFiberFromProfiler(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_TYPE:\n return createFiberFromSuspense(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_LIST_TYPE:\n return createFiberFromSuspenseList(pendingProps, mode, lanes, key);\n\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n\n case REACT_LEGACY_HIDDEN_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_SCOPE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_CACHE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_TRACING_MARKER_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_DEBUG_TRACING_MODE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n default:\n {\n if (typeof type === 'object' && type !== null) {\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n fiberTag = ContextProvider;\n break getTag;\n\n case REACT_CONTEXT_TYPE:\n // This is a consumer\n fiberTag = ContextConsumer;\n break getTag;\n\n case REACT_FORWARD_REF_TYPE:\n fiberTag = ForwardRef;\n\n {\n resolvedType = resolveForwardRefForHotReloading(resolvedType);\n }\n\n break getTag;\n\n case REACT_MEMO_TYPE:\n fiberTag = MemoComponent;\n break getTag;\n\n case REACT_LAZY_TYPE:\n fiberTag = LazyComponent;\n resolvedType = null;\n break getTag;\n }\n }\n\n var info = '';\n\n {\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and \" + 'named imports.';\n }\n\n var ownerName = owner ? getComponentNameFromFiber(owner) : null;\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n }\n\n throw new Error('Element type is invalid: expected a string (for built-in ' + 'components) or a class/function (for composite components) ' + (\"but got: \" + (type == null ? type : typeof type) + \".\" + info));\n }\n }\n }\n\n var fiber = createFiber(fiberTag, pendingProps, key, mode);\n fiber.elementType = type;\n fiber.type = resolvedType;\n fiber.lanes = lanes;\n\n {\n fiber._debugOwner = owner;\n }\n\n return fiber;\n}\nfunction createFiberFromElement(element, mode, lanes) {\n var owner = null;\n\n {\n owner = element._owner;\n }\n\n var type = element.type;\n var key = element.key;\n var pendingProps = element.props;\n var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes);\n\n {\n fiber._debugSource = element._source;\n fiber._debugOwner = element._owner;\n }\n\n return fiber;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n var fiber = createFiber(Fragment, elements, key, mode);\n fiber.lanes = lanes;\n return fiber;\n}\n\nfunction createFiberFromProfiler(pendingProps, mode, lanes, key) {\n {\n if (typeof pendingProps.id !== 'string') {\n error('Profiler must specify an \"id\" of type `string` as a prop. Received the type `%s` instead.', typeof pendingProps.id);\n }\n }\n\n var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode);\n fiber.elementType = REACT_PROFILER_TYPE;\n fiber.lanes = lanes;\n\n {\n fiber.stateNode = {\n effectDuration: 0,\n passiveEffectDuration: 0\n };\n }\n\n return fiber;\n}\n\nfunction createFiberFromSuspense(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromSuspenseList(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_LIST_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n var fiber = createFiber(OffscreenComponent, pendingProps, key, mode);\n fiber.elementType = REACT_OFFSCREEN_TYPE;\n fiber.lanes = lanes;\n var primaryChildInstance = {\n isHidden: false\n };\n fiber.stateNode = primaryChildInstance;\n return fiber;\n}\nfunction createFiberFromText(content, mode, lanes) {\n var fiber = createFiber(HostText, content, null, mode);\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromHostInstanceForDeletion() {\n var fiber = createFiber(HostComponent, null, null, NoMode);\n fiber.elementType = 'DELETED';\n return fiber;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiber(DehydratedFragment, null, null, NoMode);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n var pendingProps = portal.children !== null ? portal.children : [];\n var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);\n fiber.lanes = lanes;\n fiber.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n // Used by persistent updates\n implementation: portal.implementation\n };\n return fiber;\n} // Used for stashing WIP properties to replay failed work in DEV.\n\nfunction assignFiberPropertiesInDEV(target, source) {\n if (target === null) {\n // This Fiber's initial properties will always be overwritten.\n // We only use a Fiber to ensure the same hidden class so DEV isn't slow.\n target = createFiber(IndeterminateComponent, null, null, NoMode);\n } // This is intentionally written as a list of all properties.\n // We tried to use Object.assign() instead but this is called in\n // the hottest path, and Object.assign() was too slow:\n // https://github.com/facebook/react/issues/12502\n // This code is DEV-only so size is not a concern.\n\n\n target.tag = source.tag;\n target.key = source.key;\n target.elementType = source.elementType;\n target.type = source.type;\n target.stateNode = source.stateNode;\n target.return = source.return;\n target.child = source.child;\n target.sibling = source.sibling;\n target.index = source.index;\n target.ref = source.ref;\n target.pendingProps = source.pendingProps;\n target.memoizedProps = source.memoizedProps;\n target.updateQueue = source.updateQueue;\n target.memoizedState = source.memoizedState;\n target.dependencies = source.dependencies;\n target.mode = source.mode;\n target.flags = source.flags;\n target.subtreeFlags = source.subtreeFlags;\n target.deletions = source.deletions;\n target.lanes = source.lanes;\n target.childLanes = source.childLanes;\n target.alternate = source.alternate;\n\n {\n target.actualDuration = source.actualDuration;\n target.actualStartTime = source.actualStartTime;\n target.selfBaseDuration = source.selfBaseDuration;\n target.treeBaseDuration = source.treeBaseDuration;\n }\n\n target._debugSource = source._debugSource;\n target._debugOwner = source._debugOwner;\n target._debugNeedsRemount = source._debugNeedsRemount;\n target._debugHookTypes = source._debugHookTypes;\n return target;\n}\n\nfunction FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.pendingChildren = null;\n this.current = null;\n this.pingCache = null;\n this.finishedWork = null;\n this.timeoutHandle = noTimeout;\n this.context = null;\n this.pendingContext = null;\n this.callbackNode = null;\n this.callbackPriority = NoLane;\n this.eventTimes = createLaneMap(NoLanes);\n this.expirationTimes = createLaneMap(NoTimestamp);\n this.pendingLanes = NoLanes;\n this.suspendedLanes = NoLanes;\n this.pingedLanes = NoLanes;\n this.expiredLanes = NoLanes;\n this.mutableReadLanes = NoLanes;\n this.finishedLanes = NoLanes;\n this.entangledLanes = NoLanes;\n this.entanglements = createLaneMap(NoLanes);\n this.identifierPrefix = identifierPrefix;\n this.onRecoverableError = onRecoverableError;\n\n {\n this.mutableSourceEagerHydrationData = null;\n }\n\n {\n this.effectDuration = 0;\n this.passiveEffectDuration = 0;\n }\n\n {\n this.memoizedUpdaters = new Set();\n var pendingUpdatersLaneMap = this.pendingUpdatersLaneMap = [];\n\n for (var _i = 0; _i < TotalLanes; _i++) {\n pendingUpdatersLaneMap.push(new Set());\n }\n }\n\n {\n switch (tag) {\n case ConcurrentRoot:\n this._debugRootType = hydrate ? 'hydrateRoot()' : 'createRoot()';\n break;\n\n case LegacyRoot:\n this._debugRootType = hydrate ? 'hydrate()' : 'render()';\n break;\n }\n }\n}\n\nfunction createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, // TODO: We have several of these arguments that are conceptually part of the\n// host config, but because they are passed in at runtime, we have to thread\n// them through the root constructor. Perhaps we should put them all into a\n// single type, like a DynamicHostConfig that is defined by the renderer.\nidentifierPrefix, onRecoverableError, transitionCallbacks) {\n var root = new FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError);\n // stateNode is any.\n\n\n var uninitializedFiber = createHostRootFiber(tag, isStrictMode);\n root.current = uninitializedFiber;\n uninitializedFiber.stateNode = root;\n\n {\n var _initialState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: null,\n // not enabled yet\n transitions: null,\n pendingSuspenseBoundaries: null\n };\n uninitializedFiber.memoizedState = _initialState;\n }\n\n initializeUpdateQueue(uninitializedFiber);\n return root;\n}\n\nvar ReactVersion = '18.2.0';\n\nfunction createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.\nimplementation) {\n var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n {\n checkKeyStringCoercion(key);\n }\n\n return {\n // This tag allow us to uniquely identify this as a React Portal\n $$typeof: REACT_PORTAL_TYPE,\n key: key == null ? null : '' + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\n\nvar didWarnAboutNestedUpdates;\nvar didWarnAboutFindNodeInStrictMode;\n\n{\n didWarnAboutNestedUpdates = false;\n didWarnAboutFindNodeInStrictMode = {};\n}\n\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) {\n return emptyContextObject;\n }\n\n var fiber = get(parentComponent);\n var parentContext = findCurrentUnmaskedContext(fiber);\n\n if (fiber.tag === ClassComponent) {\n var Component = fiber.type;\n\n if (isContextProvider(Component)) {\n return processChildContext(fiber, Component, parentContext);\n }\n }\n\n return parentContext;\n}\n\nfunction findHostInstanceWithWarning(component, methodName) {\n {\n var fiber = get(component);\n\n if (fiber === undefined) {\n if (typeof component.render === 'function') {\n throw new Error('Unable to find node on an unmounted component.');\n } else {\n var keys = Object.keys(component).join(',');\n throw new Error(\"Argument appears to not be a ReactComponent. Keys: \" + keys);\n }\n }\n\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n if (hostFiber.mode & StrictLegacyMode) {\n var componentName = getComponentNameFromFiber(fiber) || 'Component';\n\n if (!didWarnAboutFindNodeInStrictMode[componentName]) {\n didWarnAboutFindNodeInStrictMode[componentName] = true;\n var previousFiber = current;\n\n try {\n setCurrentFiber(hostFiber);\n\n if (fiber.mode & StrictLegacyMode) {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n } else {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n }\n } finally {\n // Ideally this should reset to previous but this shouldn't be called in\n // render and there's another warning for that anyway.\n if (previousFiber) {\n setCurrentFiber(previousFiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n\n return hostFiber.stateNode;\n }\n}\n\nfunction createContainer(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = false;\n var initialChildren = null;\n return createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n}\nfunction createHydrationContainer(initialChildren, // TODO: Remove `callback` when we delete legacy mode.\ncallback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = true;\n var root = createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); // TODO: Move this to FiberRoot constructor\n\n root.context = getContextForSubtree(null); // Schedule the initial render. In a hydration root, this is different from\n // a regular update because the initial render must match was was rendered\n // on the server.\n // NOTE: This update intentionally doesn't have a payload. We're only using\n // the update to schedule work on the root fiber (and, for legacy roots, to\n // enqueue the callback if one is provided).\n\n var current = root.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current);\n var update = createUpdate(eventTime, lane);\n update.callback = callback !== undefined && callback !== null ? callback : null;\n enqueueUpdate(current, update, lane);\n scheduleInitialHydrationOnRoot(root, lane, eventTime);\n return root;\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n {\n onScheduleRoot(container, element);\n }\n\n var current$1 = container.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current$1);\n\n {\n markRenderScheduled(lane);\n }\n\n var context = getContextForSubtree(parentComponent);\n\n if (container.context === null) {\n container.context = context;\n } else {\n container.pendingContext = context;\n }\n\n {\n if (isRendering && current !== null && !didWarnAboutNestedUpdates) {\n didWarnAboutNestedUpdates = true;\n\n error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\\n\\n' + 'Check the render method of %s.', getComponentNameFromFiber(current) || 'Unknown');\n }\n }\n\n var update = createUpdate(eventTime, lane); // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: element\n };\n callback = callback === undefined ? null : callback;\n\n if (callback !== null) {\n {\n if (typeof callback !== 'function') {\n error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\n }\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(current$1, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, current$1, lane, eventTime);\n entangleTransitions(root, current$1, lane);\n }\n\n return lane;\n}\nfunction getPublicRootInstance(container) {\n var containerFiber = container.current;\n\n if (!containerFiber.child) {\n return null;\n }\n\n switch (containerFiber.child.tag) {\n case HostComponent:\n return getPublicInstance(containerFiber.child.stateNode);\n\n default:\n return containerFiber.child.stateNode;\n }\n}\nfunction attemptSynchronousHydration$1(fiber) {\n switch (fiber.tag) {\n case HostRoot:\n {\n var root = fiber.stateNode;\n\n if (isRootDehydrated(root)) {\n // Flush the first scheduled \"update\".\n var lanes = getHighestPriorityPendingLanes(root);\n flushRoot(root, lanes);\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n flushSync(function () {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, SyncLane, eventTime);\n }\n }); // If we're still blocked after this, we need to increase\n // the priority of any promises resolving within this\n // boundary so that they next attempt also has higher pri.\n\n var retryLane = SyncLane;\n markRetryLaneIfNotHydrated(fiber, retryLane);\n break;\n }\n }\n}\n\nfunction markRetryLaneImpl(fiber, retryLane) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n suspenseState.retryLane = higherPriorityLane(suspenseState.retryLane, retryLane);\n }\n} // Increases the priority of thenables when they resolve within this boundary.\n\n\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n var alternate = fiber.alternate;\n\n if (alternate) {\n markRetryLaneImpl(alternate, retryLane);\n }\n}\nfunction attemptContinuousHydration$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority and they should not suspend on I/O,\n // since you have to wrap anything that might suspend in\n // Suspense.\n return;\n }\n\n var lane = SelectiveHydrationLane;\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction attemptHydrationAtCurrentPriority$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority other than synchronously flush it.\n return;\n }\n\n var lane = requestUpdateLane(fiber);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction findHostInstanceWithNoPortals(fiber) {\n var hostFiber = findCurrentHostFiberWithNoPortals(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nvar shouldErrorImpl = function (fiber) {\n return null;\n};\n\nfunction shouldError(fiber) {\n return shouldErrorImpl(fiber);\n}\n\nvar shouldSuspendImpl = function (fiber) {\n return false;\n};\n\nfunction shouldSuspend(fiber) {\n return shouldSuspendImpl(fiber);\n}\nvar overrideHookState = null;\nvar overrideHookStateDeletePath = null;\nvar overrideHookStateRenamePath = null;\nvar overrideProps = null;\nvar overridePropsDeletePath = null;\nvar overridePropsRenamePath = null;\nvar scheduleUpdate = null;\nvar setErrorHandler = null;\nvar setSuspenseHandler = null;\n\n{\n var copyWithDeleteImpl = function (obj, path, index) {\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === path.length) {\n if (isArray(updated)) {\n updated.splice(key, 1);\n } else {\n delete updated[key];\n }\n\n return updated;\n } // $FlowFixMe number or string is fine here\n\n\n updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);\n return updated;\n };\n\n var copyWithDelete = function (obj, path) {\n return copyWithDeleteImpl(obj, path, 0);\n };\n\n var copyWithRenameImpl = function (obj, oldPath, newPath, index) {\n var oldKey = oldPath[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === oldPath.length) {\n var newKey = newPath[index]; // $FlowFixMe number or string is fine here\n\n updated[newKey] = updated[oldKey];\n\n if (isArray(updated)) {\n updated.splice(oldKey, 1);\n } else {\n delete updated[oldKey];\n }\n } else {\n // $FlowFixMe number or string is fine here\n updated[oldKey] = copyWithRenameImpl( // $FlowFixMe number or string is fine here\n obj[oldKey], oldPath, newPath, index + 1);\n }\n\n return updated;\n };\n\n var copyWithRename = function (obj, oldPath, newPath) {\n if (oldPath.length !== newPath.length) {\n warn('copyWithRename() expects paths of the same length');\n\n return;\n } else {\n for (var i = 0; i < newPath.length - 1; i++) {\n if (oldPath[i] !== newPath[i]) {\n warn('copyWithRename() expects paths to be the same except for the deepest key');\n\n return;\n }\n }\n }\n\n return copyWithRenameImpl(obj, oldPath, newPath, 0);\n };\n\n var copyWithSetImpl = function (obj, path, index, value) {\n if (index >= path.length) {\n return value;\n }\n\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj); // $FlowFixMe number or string is fine here\n\n updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);\n return updated;\n };\n\n var copyWithSet = function (obj, path, value) {\n return copyWithSetImpl(obj, path, 0, value);\n };\n\n var findHook = function (fiber, id) {\n // For now, the \"id\" of stateful hooks is just the stateful hook index.\n // This may change in the future with e.g. nested hooks.\n var currentHook = fiber.memoizedState;\n\n while (currentHook !== null && id > 0) {\n currentHook = currentHook.next;\n id--;\n }\n\n return currentHook;\n }; // Support DevTools editable values for useState and useReducer.\n\n\n overrideHookState = function (fiber, id, path, value) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithSet(hook.memoizedState, path, value);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateDeletePath = function (fiber, id, path) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithDelete(hook.memoizedState, path);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateRenamePath = function (fiber, id, oldPath, newPath) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithRename(hook.memoizedState, oldPath, newPath);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n }; // Support DevTools props for function components, forwardRef, memo, host components, etc.\n\n\n overrideProps = function (fiber, path, value) {\n fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsDeletePath = function (fiber, path) {\n fiber.pendingProps = copyWithDelete(fiber.memoizedProps, path);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsRenamePath = function (fiber, oldPath, newPath) {\n fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n scheduleUpdate = function (fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n setErrorHandler = function (newShouldErrorImpl) {\n shouldErrorImpl = newShouldErrorImpl;\n };\n\n setSuspenseHandler = function (newShouldSuspendImpl) {\n shouldSuspendImpl = newShouldSuspendImpl;\n };\n}\n\nfunction findHostInstanceByFiber(fiber) {\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nfunction emptyFindFiberByHostInstance(instance) {\n return null;\n}\n\nfunction getCurrentFiberForDevTools() {\n return current;\n}\n\nfunction injectIntoDevTools(devToolsConfig) {\n var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;\n var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\n return injectInternals({\n bundleType: devToolsConfig.bundleType,\n version: devToolsConfig.version,\n rendererPackageName: devToolsConfig.rendererPackageName,\n rendererConfig: devToolsConfig.rendererConfig,\n overrideHookState: overrideHookState,\n overrideHookStateDeletePath: overrideHookStateDeletePath,\n overrideHookStateRenamePath: overrideHookStateRenamePath,\n overrideProps: overrideProps,\n overridePropsDeletePath: overridePropsDeletePath,\n overridePropsRenamePath: overridePropsRenamePath,\n setErrorHandler: setErrorHandler,\n setSuspenseHandler: setSuspenseHandler,\n scheduleUpdate: scheduleUpdate,\n currentDispatcherRef: ReactCurrentDispatcher,\n findHostInstanceByFiber: findHostInstanceByFiber,\n findFiberByHostInstance: findFiberByHostInstance || emptyFindFiberByHostInstance,\n // React Refresh\n findHostInstancesForRefresh: findHostInstancesForRefresh ,\n scheduleRefresh: scheduleRefresh ,\n scheduleRoot: scheduleRoot ,\n setRefreshHandler: setRefreshHandler ,\n // Enables DevTools to append owner stacks to error messages in DEV mode.\n getCurrentFiber: getCurrentFiberForDevTools ,\n // Enables DevTools to detect reconciler version rather than renderer version\n // which may not match for third party renderers.\n reconcilerVersion: ReactVersion\n });\n}\n\n/* global reportError */\n\nvar defaultOnRecoverableError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n};\n\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function (children) {\n var root = this._internalRoot;\n\n if (root === null) {\n throw new Error('Cannot update an unmounted root.');\n }\n\n {\n if (typeof arguments[1] === 'function') {\n error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n } else if (isValidContainer(arguments[1])) {\n error('You passed a container to the second argument of root.render(...). ' + \"You don't need to pass it again since you already passed it to create the root.\");\n } else if (typeof arguments[1] !== 'undefined') {\n error('You passed a second argument to root.render(...) but it only accepts ' + 'one argument.');\n }\n\n var container = root.containerInfo;\n\n if (container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(root.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + \"root.unmount() to empty a root's container.\");\n }\n }\n }\n }\n\n updateContainer(children, root, null, null);\n};\n\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function () {\n {\n if (typeof arguments[0] === 'function') {\n error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n }\n }\n\n var root = this._internalRoot;\n\n if (root !== null) {\n this._internalRoot = null;\n var container = root.containerInfo;\n\n {\n if (isAlreadyRendering()) {\n error('Attempted to synchronously unmount a root while React was already ' + 'rendering. React cannot finish unmounting the root until the ' + 'current render has completed, which may lead to a race condition.');\n }\n }\n\n flushSync(function () {\n updateContainer(null, root, null, null);\n });\n unmarkContainerAsRoot(container);\n }\n};\n\nfunction createRoot(container, options) {\n if (!isValidContainer(container)) {\n throw new Error('createRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n var transitionCallbacks = null;\n\n if (options !== null && options !== undefined) {\n {\n if (options.hydrate) {\n warn('hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead.');\n } else {\n if (typeof options === 'object' && options !== null && options.$$typeof === REACT_ELEMENT_TYPE) {\n error('You passed a JSX element to createRoot. You probably meant to ' + 'call root.render instead. ' + 'Example usage:\\n\\n' + ' let root = createRoot(domContainer);\\n' + ' root.render(<App />);');\n }\n }\n }\n\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n\n if (options.transitionCallbacks !== undefined) {\n transitionCallbacks = options.transitionCallbacks;\n }\n }\n\n var root = createContainer(container, ConcurrentRoot, null, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n return new ReactDOMRoot(root);\n}\n\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nfunction scheduleHydration(target) {\n if (target) {\n queueExplicitHydrationTarget(target);\n }\n}\n\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = scheduleHydration;\nfunction hydrateRoot(container, initialChildren, options) {\n if (!isValidContainer(container)) {\n throw new Error('hydrateRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n\n {\n if (initialChildren === undefined) {\n error('Must provide initial children as second argument to hydrateRoot. ' + 'Example usage: hydrateRoot(domContainer, <App />)');\n }\n } // For now we reuse the whole bag of options since they contain\n // the hydration callbacks.\n\n\n var hydrationCallbacks = options != null ? options : null; // TODO: Delete this option\n\n var mutableSources = options != null && options.hydratedSources || null;\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n\n if (options !== null && options !== undefined) {\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n }\n\n var root = createHydrationContainer(initialChildren, null, container, ConcurrentRoot, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container); // This can't be a comment node since hydration doesn't work on comment nodes anyway.\n\n listenToAllSupportedEvents(container);\n\n if (mutableSources) {\n for (var i = 0; i < mutableSources.length; i++) {\n var mutableSource = mutableSources[i];\n registerMutableSourceForHydration(root, mutableSource);\n }\n }\n\n return new ReactDOMHydrationRoot(root);\n}\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || !disableCommentsAsDOMContainers ));\n} // TODO: Remove this function which also includes comment nodes.\n// We only use it in places that are currently more relaxed.\n\nfunction isValidContainerLegacy(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));\n}\n\nfunction warnIfReactDOMContainerInDEV(container) {\n {\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('createRoot(): Creating roots directly with document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try using a container element created ' + 'for your app.');\n }\n\n if (isContainerMarkedAsRoot(container)) {\n if (container._reactRootContainer) {\n error('You are calling ReactDOMClient.createRoot() on a container that was previously ' + 'passed to ReactDOM.render(). This is not supported.');\n } else {\n error('You are calling ReactDOMClient.createRoot() on a container that ' + 'has already been passed to createRoot() before. Instead, call ' + 'root.render() on the existing root instead if you want to update it.');\n }\n }\n }\n}\n\nvar ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;\nvar topLevelUpdateWarnings;\n\n{\n topLevelUpdateWarnings = function (container) {\n if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');\n }\n }\n }\n\n var isRootRenderedBySomeReact = !!container._reactRootContainer;\n var rootEl = getReactRootElementInContainer(container);\n var hasNonRootReactChild = !!(rootEl && getInstanceFromNode(rootEl));\n\n if (hasNonRootReactChild && !isRootRenderedBySomeReact) {\n error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');\n }\n\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.');\n }\n };\n}\n\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOCUMENT_NODE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction noopOnRecoverableError() {// This isn't reachable because onRecoverableError isn't called in the\n // legacy API.\n}\n\nfunction legacyCreateRootFromDOMContainer(container, initialChildren, parentComponent, callback, isHydrationContainer) {\n if (isHydrationContainer) {\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n }\n\n var root = createHydrationContainer(initialChildren, callback, container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n container._reactRootContainer = root;\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n flushSync();\n return root;\n } else {\n // First clear any existing content.\n var rootSibling;\n\n while (rootSibling = container.lastChild) {\n container.removeChild(rootSibling);\n }\n\n if (typeof callback === 'function') {\n var _originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(_root);\n\n _originalCallback.call(instance);\n };\n }\n\n var _root = createContainer(container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n\n container._reactRootContainer = _root;\n markContainerAsRoot(_root.current, container);\n\n var _rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n\n listenToAllSupportedEvents(_rootContainerElement); // Initial mount should not be batched.\n\n flushSync(function () {\n updateContainer(initialChildren, _root, parentComponent, callback);\n });\n return _root;\n }\n}\n\nfunction warnOnInvalidCallback$1(callback, callerName) {\n {\n if (callback !== null && typeof callback !== 'function') {\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n }\n}\n\nfunction legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {\n {\n topLevelUpdateWarnings(container);\n warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render');\n }\n\n var maybeRoot = container._reactRootContainer;\n var root;\n\n if (!maybeRoot) {\n // Initial mount\n root = legacyCreateRootFromDOMContainer(container, children, parentComponent, callback, forceHydrate);\n } else {\n root = maybeRoot;\n\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n } // Update\n\n\n updateContainer(children, root, parentComponent, callback);\n }\n\n return getPublicRootInstance(root);\n}\n\nfunction findDOMNode(componentOrElement) {\n {\n var owner = ReactCurrentOwner$3.current;\n\n if (owner !== null && owner.stateNode !== null) {\n var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;\n\n if (!warnedAboutRefsInRender) {\n error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromType(owner.type) || 'A component');\n }\n\n owner.stateNode._warnedAboutRefsInRender = true;\n }\n }\n\n if (componentOrElement == null) {\n return null;\n }\n\n if (componentOrElement.nodeType === ELEMENT_NODE) {\n return componentOrElement;\n }\n\n {\n return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');\n }\n}\nfunction hydrate(element, container, callback) {\n {\n error('ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call hydrateRoot(container, element)?');\n }\n } // TODO: throw or warn if we couldn't hydrate?\n\n\n return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);\n}\nfunction render(element, container, callback) {\n {\n error('ReactDOM.render is no longer supported in React 18. Use createRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');\n }\n }\n\n return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);\n}\nfunction unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n {\n error('ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported ' + 'in React 18. Consider using a portal instead. Until you switch to ' + \"the createRoot API, your app will behave as if it's running React \" + '17. Learn more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(containerNode)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n if (parentComponent == null || !has(parentComponent)) {\n throw new Error('parentComponent must be a valid React Component');\n }\n\n return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);\n}\nfunction unmountComponentAtNode(container) {\n if (!isValidContainerLegacy(container)) {\n throw new Error('unmountComponentAtNode(...): Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?');\n }\n }\n\n if (container._reactRootContainer) {\n {\n var rootEl = getReactRootElementInContainer(container);\n var renderedByDifferentReact = rootEl && !getInstanceFromNode(rootEl);\n\n if (renderedByDifferentReact) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by another copy of React.');\n }\n } // Unmount should not be batched.\n\n\n flushSync(function () {\n legacyRenderSubtreeIntoContainer(null, null, container, false, function () {\n // $FlowFixMe This should probably use `delete container._reactRootContainer`\n container._reactRootContainer = null;\n unmarkContainerAsRoot(container);\n });\n }); // If you call unmountComponentAtNode twice in quick succession, you'll\n // get `true` twice. That's probably fine?\n\n return true;\n } else {\n {\n var _rootEl = getReactRootElementInContainer(container);\n\n var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode(_rootEl)); // Check if the container itself is a React root node.\n\n var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainerLegacy(container.parentNode) && !!container.parentNode._reactRootContainer;\n\n if (hasNonRootReactChild) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');\n }\n }\n\n return false;\n }\n}\n\nsetAttemptSynchronousHydration(attemptSynchronousHydration$1);\nsetAttemptContinuousHydration(attemptContinuousHydration$1);\nsetAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1);\nsetGetCurrentUpdatePriority(getCurrentUpdatePriority);\nsetAttemptHydrationAtPriority(runWithPriority);\n\n{\n if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype\n Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype\n Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {\n error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n}\n\nsetRestoreImplementation(restoreControlledState$3);\nsetBatchingImplementation(batchedUpdates$1, discreteUpdates, flushSync);\n\nfunction createPortal$1(children, container) {\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!isValidContainer(container)) {\n throw new Error('Target container is not a DOM element.');\n } // TODO: pass ReactDOM portal implementation as third argument\n // $FlowFixMe The Flow type is opaque but there's no way to actually create it.\n\n\n return createPortal(children, container, null, key);\n}\n\nfunction renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);\n}\n\nvar Internals = {\n usingClientEntryPoint: false,\n // Keep in sync with ReactTestUtils.js.\n // This is an array for better minification.\n Events: [getInstanceFromNode, getNodeFromInstance, getFiberCurrentPropsFromNode, enqueueStateRestore, restoreStateIfNeeded, batchedUpdates$1]\n};\n\nfunction createRoot$1(container, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing createRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return createRoot(container, options);\n}\n\nfunction hydrateRoot$1(container, initialChildren, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing hydrateRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return hydrateRoot(container, initialChildren, options);\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync$1(fn) {\n {\n if (isAlreadyRendering()) {\n error('flushSync was called from inside a lifecycle method. React cannot ' + 'flush when React is already rendering. Consider moving this call to ' + 'a scheduler task or micro task.');\n }\n }\n\n return flushSync(fn);\n}\nvar foundDevTools = injectIntoDevTools({\n findFiberByHostInstance: getClosestInstanceFromNode,\n bundleType: 1 ,\n version: ReactVersion,\n rendererPackageName: 'react-dom'\n});\n\n{\n if (!foundDevTools && canUseDOM && window.top === window.self) {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.\n\n if (/^(https?|file):$/.test(protocol)) {\n // eslint-disable-next-line react-internal/no-production-logging\n console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://reactjs.org/link/react-devtools' + (protocol === 'file:' ? '\\nYou might need to use a local HTTP server (instead of file://): ' + 'https://reactjs.org/link/react-devtools-faq' : ''), 'font-weight:bold');\n }\n }\n }\n}\n\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;\nexports.createPortal = createPortal$1;\nexports.createRoot = createRoot$1;\nexports.findDOMNode = findDOMNode;\nexports.flushSync = flushSync$1;\nexports.hydrate = hydrate;\nexports.hydrateRoot = hydrateRoot$1;\nexports.render = render;\nexports.unmountComponentAtNode = unmountComponentAtNode;\nexports.unstable_batchedUpdates = batchedUpdates$1;\nexports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixtQkFBTyxDQUFDLDRDQUFPO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLG9EQUFXOztBQUVuQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZGQUE2RixhQUFhO0FBQzFHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDOztBQUVoQyxrQkFBa0I7O0FBRWxCLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxxREFBcUQ7QUFDckQ7O0FBRUEsaUNBQWlDOztBQUVqQywwQ0FBMEM7O0FBRTFDLGdDQUFnQzs7QUFFaEMsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdEO0FBQ2hE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QUNBO0FBQ0EsQ0FBQyxHQUFHOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRztBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRzs7QUFFSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZOzs7QUFHWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBLDhEQUE4RDtBQUM5RCxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsR0FBRztBQUNkOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsa0VBQWtFO0FBQ2xFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxvQkFBb0Isa0JBQWtCO0FBQ3RDOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSwrQkFBK0I7QUFDL0I7OztBQUdBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7OztBQUdBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsUUFBUTtBQUNSO0FBQ0E7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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7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Q0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUlBQWlJLDhCQUE4QjtBQUMvSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1GQUFtRjtBQUNuRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRLDBDQUEwQzs7O0FBR2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdHQUFnRztBQUNoRzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDBDQUEwQzs7O0FBR2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxN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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEOztBQUV2RCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTixJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEseUNBQXlDOztBQUV6QztBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLG9CQUFvQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFEQUFxRDtBQUNyRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixnQkFBZ0I7QUFDbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUVBQXFFO0FBQ3JFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7O0FBRTlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUEsdUNBQXVDOztBQUV2QywrQkFBK0I7QUFDL0I7O0FBRUE7QUFDQTtBQUNBLHdCQUF3Qjs7QUFFeEI7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBLDBFQUEwRTtBQUMxRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLDJDQUEyQztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTs7QUFFQSxvQkFBb0IsaUNBQWlDO0FBQ3JEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUJBQW1CLDRDQUE0QztBQUMvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0RUFBNEU7O0FBRTVFLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQSw4QkFBOEI7QUFDOUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxrREFBa0Q7QUFDbEQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0EsZ0ZBQWdGO0FBQ2hGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFNBQVM7QUFDckI7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhHQUE4RztBQUM5RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osa0JBQWtCLGtCQUFrQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsd0JBQXdCO0FBQ25DLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHdCQUF3QjtBQUNuQyxZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkMsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixZQUFZO0FBQ1o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksWUFBWTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkMsV0FBVyxRQUFRO0FBQ25COztBQUVBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsK0VBQStFO0FBQy9FOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLG9DQUFvQztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVB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O0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsT0FBTztBQUNqQztBQUNBOztBQUVBOztBQUVBLDBCQUEwQixPQUFPO0FBQ2pDO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNB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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTSwyRUFBMkUsb0dBQW9HLGtDQUFrQztBQUN2TjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNLG9HQUFvRztBQUMxRztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUVBQW1FOztBQUVuRSwrRkFBK0Y7QUFDL0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLDRCQUE0QjtBQUNsRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsd0JBQXdCO0FBQzdDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyREFBMkQ7QUFDM0Q7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0EsY0FBYzs7O0FBR2Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBEO0FBQzFEO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsMnZCQUEydkI7O0FBRTN2QjtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7O0FBRXJDLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBLEVBQUUsbUJBQW1COztBQUVyQjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlFQUF5RTtBQUN6RTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksY0FBYztBQUNsQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksZ0JBQWdCO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTLGNBQWM7QUFDdkI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RDtBQUN2RDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLCtDQUErQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsK0NBQStDO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSwrQ0FBK0M7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7OztBQUdBLDBFQUEwRTtBQUMxRTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJIQUEySDtBQUMzSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG9FQUFvRTs7QUFFcEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0YsMkRBQTJEOztBQUUzRCxxREFBcUQ7QUFDckQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQjtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTs7QUFFQSwySEFBMkg7QUFDM0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRTtBQUMxRTs7QUFFQTtBQUNBLCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZCQUE2QjtBQUM3Qjs7QUFFQTs7QUFFQSxhQUFhLGtCQUFrQjtBQUMvQjs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDLGdCQUFnQjs7QUFFaEI7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDs7QUFFNUQsMkRBQTJEOztBQUUzRCwrREFBK0Q7O0FBRS9EO0FBQ0EsOERBQThEO0FBQzlEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4Qjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUEsa0NBQWtDOztBQUVsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3Q0FBd0M7O0FBRXhDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0Esc0pBQXNKOztBQUV0SixxQ0FBcUM7QUFDckM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFBOEQ7QUFDOUQscURBQXFEO0FBQ3JELDJEQUEyRDtBQUMzRCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLCtDQUErQzs7QUFFL0M7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRCQUE0Qjs7QUFFNUI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0ZBQXNGOztBQUV0Riw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2QkFBNkI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTtBQUNBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKLGlHQUFpRztBQUNqRyxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhJQUE4STs7QUFFOUk7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFVBQVU7QUFDVixrRUFBa0UsNENBQTRDO0FBQzlHOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QyxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQSxzREFBc0Q7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtSUFBbUk7QUFDbkk7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1JQUFtSTtBQUNuSTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7OztBQUdSOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEhBQThILHlDQUF5QztBQUN2Szs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLHdCQUF3QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVyxrREFBa0Q7QUFDN0Q7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsNkJBQTZCO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR04sd0VBQXdFOztBQUV4RSxXQUFXLDZCQUE2QjtBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBLGVBQWUsYUFBYTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxXQUFXLGlDQUFpQztBQUM1QztBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYSxZQUFZO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR04sd0VBQXdFOztBQUV4RSxXQUFXLFlBQVk7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFD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Q0E7QUFDQSxNQUFNO0FBQ04sSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BEOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2QkFBNkI7O0FBRTdCLHFDQUFxQzs7QUFFckM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ04sSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVDQUF1QztBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sMkNBQTJDO0FBQ2pEOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjs7QUFFckIsaUZBQWlGO0FBQ2pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtGQUFrRjtBQUNsRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnSUFBZ0k7QUFDaEk7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBLHlLQUF5SywwQ0FBMEM7QUFDbk47QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7OztBQUduQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDhCQUE4Qjs7QUFFOUIsZ0RBQWdEO0FBQ2hEO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNFQUFzRTtBQUN0RTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLGVBQWU7QUFDekIsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTtBQUNBLGlDQUFpQztBQUNqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLFFBQVEsSUFBSTtBQUNaO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOzs7QUFHQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQSxpSEFBaUg7QUFDakg7QUFDQTtBQUNBOztBQUVBLHlDQUF5QztBQUN6QyxNQUFNLEtBQUssRUFLTjtBQUNMLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQsOEJBQThCO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtB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QTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0M7O0FBRXBDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7OztBQUdWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ04sbUNBQW1DO0FBQ25DOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7O0FBRWpEO0FBQ0E7QUFDQSx5RUFBeUU7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1RUFBdUU7O0FBRXZFO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMkNBQTJDOztBQUUzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7OztBQUdBLGlEQUFpRDs7QUFFakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQSxzRUFBc0U7O0FBRXRFLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTix5Q0FBeUM7O0FBRXpDO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7O0FBRXREOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBLElBQUk7QUFDSiwrR0FBK0c7QUFDL0c7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSixnR0FBZ0c7QUFDaEc7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLElBQUk7OztBQUdKLDBFQUEwRTs7QUFFMUU7QUFDQTtBQUNBLDRGQUE0RjtBQUM1Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVHQUF1RztBQUN2Rzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDs7QUFFNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQzs7QUFFMUMsNENBQTRDOztBQUU1QztBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsZ0dBQWdHO0FBQ2hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEseU5BQXlOLEdBQUc7O0FBRTVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHFCQUFxQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsWUFBWTtBQUMvQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNENBQTRDOztBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTs7O0FBR1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdEOztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0Esd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7O0FBRW5EO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQSwwQ0FBMEM7O0FBRTFDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdIQUFnSDtBQUNoSDtBQUNBOztBQUVBLGdEQUFnRDtBQUNoRDs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLGdIQUFnSDtBQUNoSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7OztBQUdBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEOztBQUU3RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLG9DQUFvQztBQUM1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOzs7QUFHQTtBQUNBLCtDQUErQztBQUMvQztBQUNBOztBQUVBLHNIQUFzSDs7QUFFdEgsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrR0FBa0c7QUFDbEc7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxrR0FBa0c7QUFDbEc7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0RBQW9EO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDOztBQUUzQztBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsY0FBYzs7O0FBR2Q7QUFDQTtBQUNBOztBQUVBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FB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Q0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSx3RUFBd0U7O0FBRXhFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEJBQTRCOztBQUU1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7OztBQUdWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZCxrT0FBa08scUNBQXFDLHdGQUF3RiwyQkFBMkIscUJBQXFCLFFBQVEsYUFBYTtBQUNwYSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FO0FBQ25FOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0EsdURBQXVEO0FBQ3ZEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7OztBQUdBLGlFQUFpRTtBQUNqRTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRJQUE0STtBQUNwSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FB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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7QUFDQTs7QUFFQTtBQUNBLDRDQUE0Qzs7QUFFNUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1RUFBdUU7O0FBRXZFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0QkFBNEI7O0FBRTVCOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRCQUE0QjtBQUM1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRGQUE0Rjs7QUFFNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUIsa0NBQWtDOztBQUVsQywrQkFBK0I7O0FBRS9CLDJCQUEyQjs7QUFFM0IsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0RBQXNEOztBQUV0RCxtREFBbUQ7O0FBRW5ELHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7O0FBRUEsK0NBQStDO0FBQy9DOztBQUVBLDhDQUE4Qzs7QUFFOUMseURBQXlEOztBQUV6RCw2Q0FBNkM7O0FBRTdDLCtDQUErQztBQUMvQzs7QUFFQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEM7O0FBRUEsbURBQW1EO0FBQ25EOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0YsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDtBQUNoRDs7QUFFQSxnREFBZ0Q7O0FBRWhEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osK0RBQStEOztBQUUvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2RUFBNkU7QUFDN0U7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0VBQWtFO0FBQ2xFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGOztBQUU1RjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0VBQW9FOzs7QUFHcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQixtQkFBbUI7QUFDN0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxvRkFBb0Y7QUFDcEY7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscUVBQXFFOztBQUVyRTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLDRCQUE0QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjs7QUFFMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNENBQTRDO0FBQ3BEOzs7QUFHQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBOztBQUVBLGtEQUFrRDs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1IQUFtSDs7QUFFbkg7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLEdBQUc7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSw4TEFBOEwsb0RBQW9ELEVBQUU7QUFDcFAsUUFBUTtBQUNSO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1PQUFtTyxvREFBb0QsRUFBRTtBQUN6UjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQyxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9COztBQUVwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osZ0RBQWdEOztBQUVoRCx3Q0FBd0M7QUFDeEM7O0FBRUEsb0NBQW9DOztBQUVwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7O0FBRXRELHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5Qzs7QUFFekM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixpQkFBaUI7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0xBQXdMOztBQUV4TCw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsMEVBQTBFO0FBQzFFO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsR0FBRztBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEOztBQUV4RDtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQSxtQ0FBbUM7O0FBRW5DOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTixzQkFBc0Isd0JBQXdCO0FBQzlDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RCxRQUFROztBQUVoRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxnTEFBZ0wsOEJBQThCO0FBQzlNO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0EsNkRBQTZEOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQ7O0FBRUE7QUFDQSxvQkFBb0IsMkJBQTJCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUEsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQSw4RUFBOEU7O0FBRTlFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDBEQUEwRDtBQUMxRCxvQkFBb0I7QUFDcEIsa0JBQWtCO0FBQ2xCLG1CQUFtQjtBQUNuQixpQkFBaUI7QUFDakIsZUFBZTtBQUNmLG1CQUFtQjtBQUNuQixjQUFjO0FBQ2QsOEJBQThCO0FBQzlCLCtCQUErQjtBQUMvQiwyQ0FBMkM7QUFDM0MsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanM/YWM4OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1kb20uZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIFNjaGVkdWxlciA9IHJlcXVpcmUoJ3NjaGVkdWxlcicpO1xuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxudmFyIHN1cHByZXNzV2FybmluZyA9IGZhbHNlO1xuZnVuY3Rpb24gc2V0U3VwcHJlc3NXYXJuaW5nKG5ld1N1cHByZXNzV2FybmluZykge1xuICB7XG4gICAgc3VwcHJlc3NXYXJuaW5nID0gbmV3U3VwcHJlc3NXYXJuaW5nO1xuICB9XG59IC8vIEluIERFViwgY2FsbHMgdG8gY29uc29sZS53YXJuIGFuZCBjb25zb2xlLmVycm9yIGdldCByZXBsYWNlZFxuLy8gYnkgY2FsbHMgdG8gdGhlc2UgbWV0aG9kcyBieSBhIEJhYmVsIHBsdWdpbi5cbi8vXG4vLyBJbiBQUk9EIChvciBpbiBwYWNrYWdlcyB3aXRob3V0IGFjY2VzcyB0byBSZWFjdCBpbnRlcm5hbHMpLFxuLy8gdGhleSBhcmUgbGVmdCBhcyB0aGV5IGFyZSBpbnN0ZWFkLlxuXG5mdW5jdGlvbiB3YXJuKGZvcm1hdCkge1xuICB7XG4gICAgaWYgKCFzdXBwcmVzc1dhcm5pbmcpIHtcbiAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnd2FybicsIGZvcm1hdCwgYXJncyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIGlmICghc3VwcHJlc3NXYXJuaW5nKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG52YXIgRnVuY3Rpb25Db21wb25lbnQgPSAwO1xudmFyIENsYXNzQ29tcG9uZW50ID0gMTtcbnZhciBJbmRldGVybWluYXRlQ29tcG9uZW50ID0gMjsgLy8gQmVmb3JlIHdlIGtub3cgd2hldGhlciBpdCBpcyBmdW5jdGlvbiBvciBjbGFzc1xuXG52YXIgSG9zdFJvb3QgPSAzOyAvLyBSb290IG9mIGEgaG9zdCB0cmVlLiBDb3VsZCBiZSBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgbm9kZS5cblxudmFyIEhvc3RQb3J0YWwgPSA0OyAvLyBBIHN1YnRyZWUuIENvdWxkIGJlIGFuIGVudHJ5IHBvaW50IHRvIGEgZGlmZmVyZW50IHJlbmRlcmVyLlxuXG52YXIgSG9zdENvbXBvbmVudCA9IDU7XG52YXIgSG9zdFRleHQgPSA2O1xudmFyIEZyYWdtZW50ID0gNztcbnZhciBNb2RlID0gODtcbnZhciBDb250ZXh0Q29uc3VtZXIgPSA5O1xudmFyIENvbnRleHRQcm92aWRlciA9IDEwO1xudmFyIEZvcndhcmRSZWYgPSAxMTtcbnZhciBQcm9maWxlciA9IDEyO1xudmFyIFN1c3BlbnNlQ29tcG9uZW50ID0gMTM7XG52YXIgTWVtb0NvbXBvbmVudCA9IDE0O1xudmFyIFNpbXBsZU1lbW9Db21wb25lbnQgPSAxNTtcbnZhciBMYXp5Q29tcG9uZW50ID0gMTY7XG52YXIgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50ID0gMTc7XG52YXIgRGVoeWRyYXRlZEZyYWdtZW50ID0gMTg7XG52YXIgU3VzcGVuc2VMaXN0Q29tcG9uZW50ID0gMTk7XG52YXIgU2NvcGVDb21wb25lbnQgPSAyMTtcbnZhciBPZmZzY3JlZW5Db21wb25lbnQgPSAyMjtcbnZhciBMZWdhY3lIaWRkZW5Db21wb25lbnQgPSAyMztcbnZhciBDYWNoZUNvbXBvbmVudCA9IDI0O1xudmFyIFRyYWNpbmdNYXJrZXJDb21wb25lbnQgPSAyNTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudmFyIGVuYWJsZUNsaWVudFJlbmRlckZhbGxiYWNrT25UZXh0TWlzbWF0Y2ggPSB0cnVlOyAvLyBUT0RPOiBOZWVkIHRvIHJldmlldyB0aGlzIGNvZGUgb25lIG1vcmUgdGltZSBiZWZvcmUgbGFuZGluZ1xuLy8gdGhlIHJlYWN0LXJlY29uY2lsZXIgcGFja2FnZS5cblxudmFyIGVuYWJsZU5ld1JlY29uY2lsZXIgPSBmYWxzZTsgLy8gU3VwcG9ydCBsZWdhY3kgUHJpbWVyIHN1cHBvcnQgb24gaW50ZXJuYWwgRkIgd3d3XG5cbnZhciBlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uID0gZmFsc2U7IC8vIEZCLW9ubHkgdXNhZ2UuIFRoZSBuZXcgQVBJIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzLlxuXG52YXIgZW5hYmxlTGVnYWN5SGlkZGVuID0gZmFsc2U7IC8vIEVuYWJsZXMgdW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgZmVhdHVyZSBpbiBGaWJlclxuXG52YXIgZW5hYmxlU3VzcGVuc2VBdm9pZFRoaXNGYWxsYmFjayA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRml6elxuLy8gUmVhY3QgRE9NIENob3BwaW5nIEJsb2NrXG4vL1xuLy8gU2ltaWxhciB0byBtYWluIENob3BwaW5nIEJsb2NrIGJ1dCBvbmx5IGZsYWdzIHJlbGF0ZWQgdG8gUmVhY3QgRE9NLiBUaGVzZSBhcmVcbi8vIGdyb3VwZWQgYmVjYXVzZSB3ZSB3aWxsIGxpa2VseSBiYXRjaCBhbGwgb2YgdGhlbSBpbnRvIGEgc2luZ2xlIG1ham9yIHJlbGVhc2UuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGlzYWJsZSBzdXBwb3J0IGZvciBjb21tZW50IG5vZGVzIGFzIFJlYWN0IERPTSBjb250YWluZXJzLiBBbHJlYWR5IGRpc2FibGVkXG4vLyBpbiBvcGVuIHNvdXJjZSwgYnV0IHd3dyBjb2RlYmFzZSBzdGlsbCByZWxpZXMgb24gaXQuIE5lZWQgdG8gcmVtb3ZlLlxuXG52YXIgZGlzYWJsZUNvbW1lbnRzQXNET01Db250YWluZXJzID0gdHJ1ZTsgLy8gRGlzYWJsZSBqYXZhc2NyaXB0OiBVUkwgc3RyaW5ncyBpbiBocmVmIGZvciBYU1MgcHJvdGVjdGlvbi5cbi8vIGFuZCBjbGllbnQgcmVuZGVyaW5nLCBtb3N0bHkgdG8gYWxsb3cgSlNYIGF0dHJpYnV0ZXMgdG8gYXBwbHkgdG8gdGhlIGN1c3RvbVxuLy8gZWxlbWVudCdzIG9iamVjdCBwcm9wZXJ0aWVzIGluc3RlYWQgb2Ygb25seSBIVE1MIGF0dHJpYnV0ZXMuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzExMzQ3XG5cbnZhciBlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0ID0gZmFsc2U7IC8vIERpc2FibGVzIGNoaWxkcmVuIGZvciA8dGV4dGFyZWE+IGVsZW1lbnRzXG52YXIgd2FybkFib3V0U3RyaW5nUmVmcyA9IGZhbHNlOyAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVidWdnaW5nIGFuZCBEZXZUb29sc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFkZHMgdXNlciB0aW1pbmcgbWFya3MgZm9yIGUuZy4gc3RhdGUgdXBkYXRlcywgc3VzcGVuc2UsIGFuZCB3b3JrIGxvb3Agc3R1ZmYsXG4vLyBmb3IgYW4gZXhwZXJpbWVudGFsIHRpbWVsaW5lIHRvb2wuXG5cbnZhciBlbmFibGVTY2hlZHVsaW5nUHJvZmlsZXIgPSB0cnVlOyAvLyBIZWxwcyBpZGVudGlmeSBzaWRlIGVmZmVjdHMgaW4gcmVuZGVyLXBoYXNlIGxpZmVjeWNsZSBob29rcyBhbmQgc2V0U3RhdGVcblxudmFyIGVuYWJsZVByb2ZpbGVyVGltZXIgPSB0cnVlOyAvLyBSZWNvcmQgZHVyYXRpb25zIGZvciBjb21taXQgYW5kIHBhc3NpdmUgZWZmZWN0cyBwaGFzZXMuXG5cbnZhciBlbmFibGVQcm9maWxlckNvbW1pdEhvb2tzID0gdHJ1ZTsgLy8gUGhhc2UgcGFyYW0gcGFzc2VkIHRvIG9uUmVuZGVyIGNhbGxiYWNrIGRpZmZlcmVudGlhdGVzIGJldHdlZW4gYW4gXCJ1cGRhdGVcIiBhbmQgYSBcImNhc2NhZGluZy11cGRhdGVcIi5cblxudmFyIGFsbE5hdGl2ZUV2ZW50cyA9IG5ldyBTZXQoKTtcbi8qKlxuICogTWFwcGluZyBmcm9tIHJlZ2lzdHJhdGlvbiBuYW1lIHRvIGV2ZW50IG5hbWVcbiAqL1xuXG5cbnZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0ge307XG4vKipcbiAqIE1hcHBpbmcgZnJvbSBsb3dlcmNhc2UgcmVnaXN0cmF0aW9uIG5hbWVzIHRvIHRoZSBwcm9wZXJseSBjYXNlZCB2ZXJzaW9uLFxuICogdXNlZCB0byB3YXJuIGluIHRoZSBjYXNlIG9mIG1pc3NpbmcgZXZlbnQgaGFuZGxlcnMuIEF2YWlsYWJsZVxuICogb25seSBpbiB0cnVlLlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuXG52YXIgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyA9ICB7fSA7IC8vIFRydXN0IHRoZSBkZXZlbG9wZXIgdG8gb25seSB1c2UgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyBpbiB0cnVlXG5cbmZ1bmN0aW9uIHJlZ2lzdGVyVHdvUGhhc2VFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpIHtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUgKyAnQ2FwdHVyZScsIGRlcGVuZGVuY2llcyk7XG59XG5mdW5jdGlvbiByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUsIGRlcGVuZGVuY2llcykge1xuICB7XG4gICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0pIHtcbiAgICAgIGVycm9yKCdFdmVudFJlZ2lzdHJ5OiBNb3JlIHRoYW4gb25lIHBsdWdpbiBhdHRlbXB0ZWQgdG8gcHVibGlzaCB0aGUgc2FtZSAnICsgJ3JlZ2lzdHJhdGlvbiBuYW1lLCBgJXNgLicsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0gPSBkZXBlbmRlbmNpZXM7XG5cbiAge1xuICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IHJlZ2lzdHJhdGlvbk5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzW2xvd2VyQ2FzZWROYW1lXSA9IHJlZ2lzdHJhdGlvbk5hbWU7XG5cbiAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSA9PT0gJ29uRG91YmxlQ2xpY2snKSB7XG4gICAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzLm9uZGJsY2xpY2sgPSByZWdpc3RyYXRpb25OYW1lO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZGVwZW5kZW5jaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgYWxsTmF0aXZlRXZlbnRzLmFkZChkZXBlbmRlbmNpZXNbaV0pO1xuICB9XG59XG5cbnZhciBjYW5Vc2VET00gPSAhISh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgIT09ICd1bmRlZmluZWQnKTtcblxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBgJXNgIGF0dHJpYnV0ZSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCBhdHRyaWJ1dGVOYW1lLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gY2hlY2tQcm9wU3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BOYW1lKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGAlc2AgcHJvcCBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCBwcm9wTmFtZSwgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjaGVja0NTU1Byb3BlcnR5U3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BOYW1lKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGAlc2AgQ1NTIHByb3BlcnR5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHByb3BOYW1lLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrSHRtbFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIEhUTUwgbWFya3VwIHVzZXMgYSB2YWx1ZSBvZiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ0Zvcm0gZmllbGQgdmFsdWVzICh2YWx1ZSwgY2hlY2tlZCwgZGVmYXVsdFZhbHVlLCBvciBkZWZhdWx0Q2hlY2tlZCBwcm9wcyknICsgJyBtdXN0IGJlIHN0cmluZ3MsIG5vdCAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbi8vIEEgcmVzZXJ2ZWQgYXR0cmlidXRlLlxuLy8gSXQgaXMgaGFuZGxlZCBieSBSZWFjdCBzZXBhcmF0ZWx5IGFuZCBzaG91bGRuJ3QgYmUgd3JpdHRlbiB0byB0aGUgRE9NLlxudmFyIFJFU0VSVkVEID0gMDsgLy8gQSBzaW1wbGUgc3RyaW5nIGF0dHJpYnV0ZS5cbi8vIEF0dHJpYnV0ZXMgdGhhdCBhcmVuJ3QgaW4gdGhlIGZpbHRlciBhcmUgcHJlc3VtZWQgdG8gaGF2ZSB0aGlzIHR5cGUuXG5cbnZhciBTVFJJTkcgPSAxOyAvLyBBIHN0cmluZyBhdHRyaWJ1dGUgdGhhdCBhY2NlcHRzIGJvb2xlYW5zIGluIFJlYWN0LiBJbiBIVE1MLCB0aGVzZSBhcmUgY2FsbGVkXG4vLyBcImVudW1lcmF0ZWRcIiBhdHRyaWJ1dGVzIHdpdGggXCJ0cnVlXCIgYW5kIFwiZmFsc2VcIiBhcyBwb3NzaWJsZSB2YWx1ZXMuXG4vLyBXaGVuIHRydWUsIGl0IHNob3VsZCBiZSBzZXQgdG8gYSBcInRydWVcIiBzdHJpbmcuXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgc2V0IHRvIGEgXCJmYWxzZVwiIHN0cmluZy5cblxudmFyIEJPT0xFQU5JU0hfU1RSSU5HID0gMjsgLy8gQSByZWFsIGJvb2xlYW4gYXR0cmlidXRlLlxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgcHJlc2VudCAoc2V0IGVpdGhlciB0byBhbiBlbXB0eSBzdHJpbmcgb3IgaXRzIG5hbWUpLlxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXG5cbnZhciBCT09MRUFOID0gMzsgLy8gQW4gYXR0cmlidXRlIHRoYXQgY2FuIGJlIHVzZWQgYXMgYSBmbGFnIGFzIHdlbGwgYXMgd2l0aCBhIHZhbHVlLlxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgcHJlc2VudCAoc2V0IGVpdGhlciB0byBhbiBlbXB0eSBzdHJpbmcgb3IgaXRzIG5hbWUpLlxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXG4vLyBGb3IgYW55IG90aGVyIHZhbHVlLCBzaG91bGQgYmUgcHJlc2VudCB3aXRoIHRoYXQgdmFsdWUuXG5cbnZhciBPVkVSTE9BREVEX0JPT0xFQU4gPSA0OyAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBtdXN0IGJlIG51bWVyaWMgb3IgcGFyc2UgYXMgYSBudW1lcmljLlxuLy8gV2hlbiBmYWxzeSwgaXQgc2hvdWxkIGJlIHJlbW92ZWQuXG5cbnZhciBOVU1FUklDID0gNTsgLy8gQW4gYXR0cmlidXRlIHRoYXQgbXVzdCBiZSBwb3NpdGl2ZSBudW1lcmljIG9yIHBhcnNlIGFzIGEgcG9zaXRpdmUgbnVtZXJpYy5cbi8vIFdoZW4gZmFsc3ksIGl0IHNob3VsZCBiZSByZW1vdmVkLlxuXG52YXIgUE9TSVRJVkVfTlVNRVJJQyA9IDY7XG5cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbnZhciBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSID0gXCI6QS1aX2EtelxcXFx1MDBDMC1cXFxcdTAwRDZcXFxcdTAwRDgtXFxcXHUwMEY2XFxcXHUwMEY4LVxcXFx1MDJGRlxcXFx1MDM3MC1cXFxcdTAzN0RcXFxcdTAzN0YtXFxcXHUxRkZGXFxcXHUyMDBDLVxcXFx1MjAwRFxcXFx1MjA3MC1cXFxcdTIxOEZcXFxcdTJDMDAtXFxcXHUyRkVGXFxcXHUzMDAxLVxcXFx1RDdGRlxcXFx1RjkwMC1cXFxcdUZEQ0ZcXFxcdUZERjAtXFxcXHVGRkZEXCI7XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblxudmFyIEFUVFJJQlVURV9OQU1FX0NIQVIgPSBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSICsgXCJcXFxcLS4wLTlcXFxcdTAwQjdcXFxcdTAzMDAtXFxcXHUwMzZGXFxcXHUyMDNGLVxcXFx1MjA0MFwiO1xudmFyIFZBTElEX0FUVFJJQlVURV9OQU1FX1JFR0VYID0gbmV3IFJlZ0V4cCgnXlsnICsgQVRUUklCVVRFX05BTUVfU1RBUlRfQ0hBUiArICddWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xudmFyIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbnZhciB2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGlzQXR0cmlidXRlTmFtZVNhZmUoYXR0cmlidXRlTmFtZSkge1xuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUsIGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChpbGxlZ2FsQXR0cmlidXRlTmFtZUNhY2hlLCBhdHRyaWJ1dGVOYW1lKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChWQUxJRF9BVFRSSUJVVEVfTkFNRV9SRUdFWC50ZXN0KGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgdmFsaWRhdGVkQXR0cmlidXRlTmFtZUNhY2hlW2F0dHJpYnV0ZU5hbWVdID0gdHJ1ZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGVbYXR0cmlidXRlTmFtZV0gPSB0cnVlO1xuXG4gIHtcbiAgICBlcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgbmFtZTogYCVzYCcsIGF0dHJpYnV0ZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gc2hvdWxkSWdub3JlQXR0cmlidXRlKG5hbWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgIHJldHVybiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gUkVTRVJWRUQ7XG4gIH1cblxuICBpZiAoaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAobmFtZS5sZW5ndGggPiAyICYmIChuYW1lWzBdID09PSAnbycgfHwgbmFtZVswXSA9PT0gJ08nKSAmJiAobmFtZVsxXSA9PT0gJ24nIHx8IG5hbWVbMV0gPT09ICdOJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVdpdGhXYXJuaW5nKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICBjYXNlICdmdW5jdGlvbic6IC8vICRGbG93SXNzdWUgc3ltYm9sIGlzIHBlcmZlY3RseSB2YWxpZCBoZXJlXG5cbiAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgcmV0dXJuIHRydWU7XG5cbiAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiAhcHJvcGVydHlJbmZvLmFjY2VwdHNCb29sZWFucztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgcHJlZml4ID0gbmFtZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsIDUpO1xuICAgICAgICAgIHJldHVybiBwcmVmaXggIT09ICdkYXRhLScgJiYgcHJlZml4ICE9PSAnYXJpYS0nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGVXaXRoV2FybmluZyhuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuXG4gICAgc3dpdGNoIChwcm9wZXJ0eUluZm8udHlwZSkge1xuICAgICAgY2FzZSBCT09MRUFOOlxuICAgICAgICByZXR1cm4gIXZhbHVlO1xuXG4gICAgICBjYXNlIE9WRVJMT0FERURfQk9PTEVBTjpcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBmYWxzZTtcblxuICAgICAgY2FzZSBOVU1FUklDOlxuICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpO1xuXG4gICAgICBjYXNlIFBPU0lUSVZFX05VTUVSSUM6XG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgfHwgdmFsdWUgPCAxO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGdldFByb3BlcnR5SW5mbyhuYW1lKSB7XG4gIHJldHVybiBwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KG5hbWUpID8gcHJvcGVydGllc1tuYW1lXSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCB0eXBlLCBtdXN0VXNlUHJvcGVydHksIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZU5hbWVzcGFjZSwgc2FuaXRpemVVUkwsIHJlbW92ZUVtcHR5U3RyaW5nKSB7XG4gIHRoaXMuYWNjZXB0c0Jvb2xlYW5zID0gdHlwZSA9PT0gQk9PTEVBTklTSF9TVFJJTkcgfHwgdHlwZSA9PT0gQk9PTEVBTiB8fCB0eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU47XG4gIHRoaXMuYXR0cmlidXRlTmFtZSA9IGF0dHJpYnV0ZU5hbWU7XG4gIHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlID0gYXR0cmlidXRlTmFtZXNwYWNlO1xuICB0aGlzLm11c3RVc2VQcm9wZXJ0eSA9IG11c3RVc2VQcm9wZXJ0eTtcbiAgdGhpcy5wcm9wZXJ0eU5hbWUgPSBuYW1lO1xuICB0aGlzLnR5cGUgPSB0eXBlO1xuICB0aGlzLnNhbml0aXplVVJMID0gc2FuaXRpemVVUkw7XG4gIHRoaXMucmVtb3ZlRW1wdHlTdHJpbmcgPSByZW1vdmVFbXB0eVN0cmluZztcbn0gLy8gV2hlbiBhZGRpbmcgYXR0cmlidXRlcyB0byB0aGlzIGxpc3QsIGJlIHN1cmUgdG8gYWxzbyBhZGQgdGhlbSB0b1xuLy8gdGhlIGBwb3NzaWJsZVN0YW5kYXJkTmFtZXNgIG1vZHVsZSB0byBlbnN1cmUgY2FzaW5nIGFuZCBpbmNvcnJlY3Rcbi8vIG5hbWUgd2FybmluZ3MuXG5cblxudmFyIHByb3BlcnRpZXMgPSB7fTsgLy8gVGhlc2UgcHJvcHMgYXJlIHJlc2VydmVkIGJ5IFJlYWN0LiBUaGV5IHNob3VsZG4ndCBiZSB3cml0dGVuIHRvIHRoZSBET00uXG5cbnZhciByZXNlcnZlZFByb3BzID0gWydjaGlsZHJlbicsICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsIC8vIFRPRE86IFRoaXMgcHJldmVudHMgdGhlIGFzc2lnbm1lbnQgb2YgZGVmYXVsdFZhbHVlIHRvIHJlZ3VsYXJcbi8vIGVsZW1lbnRzIChub3QganVzdCBpbnB1dHMpLiBOb3cgdGhhdCBSZWFjdERPTUlucHV0IGFzc2lnbnMgdG8gdGhlXG4vLyBkZWZhdWx0VmFsdWUgcHJvcGVydHkgLS0gZG8gd2UgbmVlZCB0aGlzP1xuJ2RlZmF1bHRWYWx1ZScsICdkZWZhdWx0Q2hlY2tlZCcsICdpbm5lckhUTUwnLCAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJywgJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsICdzdHlsZSddO1xuXG5yZXNlcnZlZFByb3BzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgUkVTRVJWRUQsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBBIGZldyBSZWFjdCBzdHJpbmcgYXR0cmlidXRlcyBoYXZlIGEgZGlmZmVyZW50IG5hbWUuXG4vLyBUaGlzIGlzIGEgbWFwcGluZyBmcm9tIFJlYWN0IHByb3AgbmFtZXMgdG8gdGhlIGF0dHJpYnV0ZSBuYW1lcy5cblxuW1snYWNjZXB0Q2hhcnNldCcsICdhY2NlcHQtY2hhcnNldCddLCBbJ2NsYXNzTmFtZScsICdjbGFzcyddLCBbJ2h0bWxGb3InLCAnZm9yJ10sIFsnaHR0cEVxdWl2JywgJ2h0dHAtZXF1aXYnXV0uZm9yRWFjaChmdW5jdGlvbiAoX3JlZikge1xuICB2YXIgbmFtZSA9IF9yZWZbMF0sXG4gICAgICBhdHRyaWJ1dGVOYW1lID0gX3JlZlsxXTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIFwiZW51bWVyYXRlZFwiIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFjY2VwdCBcInRydWVcIiBhbmQgXCJmYWxzZVwiLlxuLy8gSW4gUmVhY3QsIHdlIGxldCB1c2VycyBwYXNzIGB0cnVlYCBhbmQgYGZhbHNlYCBldmVuIHRob3VnaCB0ZWNobmljYWxseVxuLy8gdGhlc2UgYXJlbid0IGJvb2xlYW4gYXR0cmlidXRlcyAodGhleSBhcmUgY29lcmNlZCB0byBzdHJpbmdzKS5cblxuWydjb250ZW50RWRpdGFibGUnLCAnZHJhZ2dhYmxlJywgJ3NwZWxsQ2hlY2snLCAndmFsdWUnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIEJPT0xFQU5JU0hfU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgXCJlbnVtZXJhdGVkXCIgU1ZHIGF0dHJpYnV0ZXMgdGhhdCBhY2NlcHQgXCJ0cnVlXCIgYW5kIFwiZmFsc2VcIi5cbi8vIEluIFJlYWN0LCB3ZSBsZXQgdXNlcnMgcGFzcyBgdHJ1ZWAgYW5kIGBmYWxzZWAgZXZlbiB0aG91Z2ggdGVjaG5pY2FsbHlcbi8vIHRoZXNlIGFyZW4ndCBib29sZWFuIGF0dHJpYnV0ZXMgKHRoZXkgYXJlIGNvZXJjZWQgdG8gc3RyaW5ncykuXG4vLyBTaW5jZSB0aGVzZSBhcmUgU1ZHIGF0dHJpYnV0ZXMsIHRoZWlyIGF0dHJpYnV0ZSBuYW1lcyBhcmUgY2FzZS1zZW5zaXRpdmUuXG5cblsnYXV0b1JldmVyc2UnLCAnZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCcsICdmb2N1c2FibGUnLCAncHJlc2VydmVBbHBoYSddLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTklTSF9TVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgSFRNTCBib29sZWFuIGF0dHJpYnV0ZXMuXG5cblsnYWxsb3dGdWxsU2NyZWVuJywgJ2FzeW5jJywgLy8gTm90ZTogdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2UgdGhhdCBwcmV2ZW50cyBpdCBmcm9tIGJlaW5nIHdyaXR0ZW4gdG8gdGhlIERPTVxuLy8gb24gdGhlIGNsaWVudCBzaWRlIGJlY2F1c2UgdGhlIGJyb3dzZXJzIGFyZSBpbmNvbnNpc3RlbnQuIEluc3RlYWQgd2UgY2FsbCBmb2N1cygpLlxuJ2F1dG9Gb2N1cycsICdhdXRvUGxheScsICdjb250cm9scycsICdkZWZhdWx0JywgJ2RlZmVyJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVQaWN0dXJlSW5QaWN0dXJlJywgJ2Rpc2FibGVSZW1vdGVQbGF5YmFjaycsICdmb3JtTm9WYWxpZGF0ZScsICdoaWRkZW4nLCAnbG9vcCcsICdub01vZHVsZScsICdub1ZhbGlkYXRlJywgJ29wZW4nLCAncGxheXNJbmxpbmUnLCAncmVhZE9ubHknLCAncmVxdWlyZWQnLCAncmV2ZXJzZWQnLCAnc2NvcGVkJywgJ3NlYW1sZXNzJywgLy8gTWljcm9kYXRhXG4naXRlbVNjb3BlJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBCT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgdGhlIGZldyBSZWFjdCBwcm9wcyB0aGF0IHdlIHNldCBhcyBET00gcHJvcGVydGllc1xuLy8gcmF0aGVyIHRoYW4gYXR0cmlidXRlcy4gVGhlc2UgYXJlIGFsbCBib29sZWFucy5cblxuWydjaGVja2VkJywgLy8gTm90ZTogYG9wdGlvbi5zZWxlY3RlZGAgaXMgbm90IHVwZGF0ZWQgaWYgYHNlbGVjdC5tdWx0aXBsZWAgaXNcbi8vIGRpc2FibGVkIHdpdGggYHJlbW92ZUF0dHJpYnV0ZWAuIFdlIGhhdmUgc3BlY2lhbCBsb2dpYyBmb3IgaGFuZGxpbmcgdGhpcy5cbidtdWx0aXBsZScsICdtdXRlZCcsICdzZWxlY3RlZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTiwgdHJ1ZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFyZSBcIm92ZXJsb2FkZWQgYm9vbGVhbnNcIjogdGhleSBiZWhhdmUgbGlrZVxuLy8gYm9vbGVhbnMsIGJ1dCBjYW4gYWxzbyBhY2NlcHQgYSBzdHJpbmcgdmFsdWUuXG5cblsnY2FwdHVyZScsICdkb3dubG9hZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgT1ZFUkxPQURFRF9CT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgcG9zaXRpdmUgbnVtYmVycy5cblxuWydjb2xzJywgJ3Jvd3MnLCAnc2l6ZScsICdzcGFuJyAvLyBOT1RFOiBpZiB5b3UgYWRkIGEgY2FtZWxDYXNlZCBwcm9wIHRvIHRoaXMgbGlzdCxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cbl0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBQT1NJVElWRV9OVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgbnVtYmVycy5cblxuWydyb3dTcGFuJywgJ3N0YXJ0J10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBOVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pO1xudmFyIENBTUVMSVpFID0gL1tcXC1cXDpdKFthLXpdKS9nO1xuXG52YXIgY2FwaXRhbGl6ZSA9IGZ1bmN0aW9uICh0b2tlbikge1xuICByZXR1cm4gdG9rZW5bMV0udG9VcHBlckNhc2UoKTtcbn07IC8vIFRoaXMgaXMgYSBsaXN0IG9mIGFsbCBTVkcgYXR0cmlidXRlcyB0aGF0IG5lZWQgc3BlY2lhbCBjYXNpbmcsIG5hbWVzcGFjaW5nLFxuLy8gb3IgYm9vbGVhbiB2YWx1ZSBhc3NpZ25tZW50LiBSZWd1bGFyIGF0dHJpYnV0ZXMgdGhhdCBqdXN0IGFjY2VwdCBzdHJpbmdzXG4vLyBhbmQgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcmUgb21pdHRlZCwganVzdCBsaWtlIGluIHRoZSBIVE1MIGF0dHJpYnV0ZSBmaWx0ZXIuXG4vLyBTb21lIG9mIHRoZXNlIGF0dHJpYnV0ZXMgY2FuIGJlIGhhcmQgdG8gZmluZC4gVGhpcyBsaXN0IHdhcyBjcmVhdGVkIGJ5XG4vLyBzY3JhcGluZyB0aGUgTUROIGRvY3VtZW50YXRpb24uXG5cblxuWydhY2NlbnQtaGVpZ2h0JywgJ2FsaWdubWVudC1iYXNlbGluZScsICdhcmFiaWMtZm9ybScsICdiYXNlbGluZS1zaGlmdCcsICdjYXAtaGVpZ2h0JywgJ2NsaXAtcGF0aCcsICdjbGlwLXJ1bGUnLCAnY29sb3ItaW50ZXJwb2xhdGlvbicsICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnLCAnY29sb3ItcHJvZmlsZScsICdjb2xvci1yZW5kZXJpbmcnLCAnZG9taW5hbnQtYmFzZWxpbmUnLCAnZW5hYmxlLWJhY2tncm91bmQnLCAnZmlsbC1vcGFjaXR5JywgJ2ZpbGwtcnVsZScsICdmbG9vZC1jb2xvcicsICdmbG9vZC1vcGFjaXR5JywgJ2ZvbnQtZmFtaWx5JywgJ2ZvbnQtc2l6ZScsICdmb250LXNpemUtYWRqdXN0JywgJ2ZvbnQtc3RyZXRjaCcsICdmb250LXN0eWxlJywgJ2ZvbnQtdmFyaWFudCcsICdmb250LXdlaWdodCcsICdnbHlwaC1uYW1lJywgJ2dseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwnLCAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwnLCAnaG9yaXotYWR2LXgnLCAnaG9yaXotb3JpZ2luLXgnLCAnaW1hZ2UtcmVuZGVyaW5nJywgJ2xldHRlci1zcGFjaW5nJywgJ2xpZ2h0aW5nLWNvbG9yJywgJ21hcmtlci1lbmQnLCAnbWFya2VyLW1pZCcsICdtYXJrZXItc3RhcnQnLCAnb3ZlcmxpbmUtcG9zaXRpb24nLCAnb3ZlcmxpbmUtdGhpY2tuZXNzJywgJ3BhaW50LW9yZGVyJywgJ3Bhbm9zZS0xJywgJ3BvaW50ZXItZXZlbnRzJywgJ3JlbmRlcmluZy1pbnRlbnQnLCAnc2hhcGUtcmVuZGVyaW5nJywgJ3N0b3AtY29sb3InLCAnc3RvcC1vcGFjaXR5JywgJ3N0cmlrZXRocm91Z2gtcG9zaXRpb24nLCAnc3RyaWtldGhyb3VnaC10aGlja25lc3MnLCAnc3Ryb2tlLWRhc2hhcnJheScsICdzdHJva2UtZGFzaG9mZnNldCcsICdzdHJva2UtbGluZWNhcCcsICdzdHJva2UtbGluZWpvaW4nLCAnc3Ryb2tlLW1pdGVybGltaXQnLCAnc3Ryb2tlLW9wYWNpdHknLCAnc3Ryb2tlLXdpZHRoJywgJ3RleHQtYW5jaG9yJywgJ3RleHQtZGVjb3JhdGlvbicsICd0ZXh0LXJlbmRlcmluZycsICd1bmRlcmxpbmUtcG9zaXRpb24nLCAndW5kZXJsaW5lLXRoaWNrbmVzcycsICd1bmljb2RlLWJpZGknLCAndW5pY29kZS1yYW5nZScsICd1bml0cy1wZXItZW0nLCAndi1hbHBoYWJldGljJywgJ3YtaGFuZ2luZycsICd2LWlkZW9ncmFwaGljJywgJ3YtbWF0aGVtYXRpY2FsJywgJ3ZlY3Rvci1lZmZlY3QnLCAndmVydC1hZHYteScsICd2ZXJ0LW9yaWdpbi14JywgJ3ZlcnQtb3JpZ2luLXknLCAnd29yZC1zcGFjaW5nJywgJ3dyaXRpbmctbW9kZScsICd4bWxuczp4bGluaycsICd4LWhlaWdodCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcbiAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVOYW1lLnJlcGxhY2UoQ0FNRUxJWkUsIGNhcGl0YWxpemUpO1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZSwgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gU3RyaW5nIFNWRyBhdHRyaWJ1dGVzIHdpdGggdGhlIHhsaW5rIG5hbWVzcGFjZS5cblxuWyd4bGluazphY3R1YXRlJywgJ3hsaW5rOmFyY3JvbGUnLCAneGxpbms6cm9sZScsICd4bGluazpzaG93JywgJ3hsaW5rOnRpdGxlJywgJ3hsaW5rOnR5cGUnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93LlxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBTdHJpbmcgU1ZHIGF0dHJpYnV0ZXMgd2l0aCB0aGUgeG1sIG5hbWVzcGFjZS5cblxuWyd4bWw6YmFzZScsICd4bWw6bGFuZycsICd4bWw6c3BhY2UnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93LlxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UnLCBmYWxzZSwgLy8gc2FuaXRpemVVUkxcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGF0dHJpYnV0ZSBleGlzdHMgYm90aCBpbiBIVE1MIGFuZCBTVkcuXG4vLyBUaGUgYXR0cmlidXRlIG5hbWUgaXMgY2FzZS1zZW5zaXRpdmUgaW4gU1ZHIHNvIHdlIGNhbid0IGp1c3QgdXNlXG4vLyB0aGUgUmVhY3QgbmFtZSBsaWtlIHdlIGRvIGZvciBhdHRyaWJ1dGVzIHRoYXQgZXhpc3Qgb25seSBpbiBIVE1MLlxuXG5bJ3RhYkluZGV4JywgJ2Nyb3NzT3JpZ2luJ10uZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlTmFtZSkge1xuICBwcm9wZXJ0aWVzW2F0dHJpYnV0ZU5hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChhdHRyaWJ1dGVOYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSwgLy8gc2FuaXRpemVVUkxcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGF0dHJpYnV0ZXMgYWNjZXB0IFVSTHMuIFRoZXNlIG11c3Qgbm90IGFsbG93IGphdmFzY3JpcHQ6IFVSTFMuXG4vLyBUaGVzZSB3aWxsIGFsc28gbmVlZCB0byBhY2NlcHQgVHJ1c3RlZCBUeXBlcyBvYmplY3QgaW4gdGhlIGZ1dHVyZS5cblxudmFyIHhsaW5rSHJlZiA9ICd4bGlua0hyZWYnO1xucHJvcGVydGllc1t4bGlua0hyZWZdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZCgneGxpbmtIcmVmJywgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4neGxpbms6aHJlZicsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgdHJ1ZSwgLy8gc2FuaXRpemVVUkxcbmZhbHNlKTtcblsnc3JjJywgJ2hyZWYnLCAnYWN0aW9uJywgJ2Zvcm1BY3Rpb24nXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHByb3BlcnRpZXNbYXR0cmlidXRlTmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKGF0dHJpYnV0ZU5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBhdHRyaWJ1dGVOYW1lLnRvTG93ZXJDYXNlKCksIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIHRydWUsIC8vIHNhbml0aXplVVJMXG4gIHRydWUpO1xufSk7XG5cbi8vIGFuZCBhbnkgbmV3bGluZSBvciB0YWIgYXJlIGZpbHRlcmVkIG91dCBhcyBpZiB0aGV5J3JlIG5vdCBwYXJ0IG9mIHRoZSBVUkwuXG4vLyBodHRwczovL3VybC5zcGVjLndoYXR3Zy5vcmcvI3VybC1wYXJzaW5nXG4vLyBUYWIgb3IgbmV3bGluZSBhcmUgZGVmaW5lZCBhcyBcXHJcXG5cXHQ6XG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYXNjaWktdGFiLW9yLW5ld2xpbmVcbi8vIEEgQzAgY29udHJvbCBpcyBhIGNvZGUgcG9pbnQgaW4gdGhlIHJhbmdlIFxcdTAwMDAgTlVMTCB0byBcXHUwMDFGXG4vLyBJTkZPUk1BVElPTiBTRVBBUkFUT1IgT05FLCBpbmNsdXNpdmU6XG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYzAtY29udHJvbC1vci1zcGFjZVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5cbnZhciBpc0phdmFTY3JpcHRQcm90b2NvbCA9IC9eW1xcdTAwMDAtXFx1MDAxRiBdKmpbXFxyXFxuXFx0XSphW1xcclxcblxcdF0qdltcXHJcXG5cXHRdKmFbXFxyXFxuXFx0XSpzW1xcclxcblxcdF0qY1tcXHJcXG5cXHRdKnJbXFxyXFxuXFx0XSppW1xcclxcblxcdF0qcFtcXHJcXG5cXHRdKnRbXFxyXFxuXFx0XSpcXDovaTtcbnZhciBkaWRXYXJuID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHNhbml0aXplVVJMKHVybCkge1xuICB7XG4gICAgaWYgKCFkaWRXYXJuICYmIGlzSmF2YVNjcmlwdFByb3RvY29sLnRlc3QodXJsKSkge1xuICAgICAgZGlkV2FybiA9IHRydWU7XG5cbiAgICAgIGVycm9yKCdBIGZ1dHVyZSB2ZXJzaW9uIG9mIFJlYWN0IHdpbGwgYmxvY2sgamF2YXNjcmlwdDogVVJMcyBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uICcgKyAnVXNlIGV2ZW50IGhhbmRsZXJzIGluc3RlYWQgaWYgeW91IGNhbi4gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgdW5zYWZlIEhUTUwgdHJ5ICcgKyAndXNpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgaW5zdGVhZC4gUmVhY3Qgd2FzIHBhc3NlZCAlcy4nLCBKU09OLnN0cmluZ2lmeSh1cmwpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIHByb3BlcnR5IG9uIGEgbm9kZS4gT25seSB1c2VkIGluIERFViBmb3IgU1NSIHZhbGlkYXRpb24uXG4gKiBUaGUgXCJleHBlY3RlZFwiIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLlxuICogU29tZSBwcm9wZXJ0aWVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlRm9yUHJvcGVydHkobm9kZSwgbmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbykge1xuICB7XG4gICAgaWYgKHByb3BlcnR5SW5mby5tdXN0VXNlUHJvcGVydHkpIHtcbiAgICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eUluZm8ucHJvcGVydHlOYW1lO1xuICAgICAgcmV0dXJuIG5vZGVbcHJvcGVydHlOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBjaGVjayBwcm90ZWN0cyBtdWx0aXBsZSB1c2VzIG9mIGBleHBlY3RlZGAsIHdoaWNoIGlzIHdoeSB0aGVcbiAgICAgIC8vIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uIHJ1bGUgaXMgZGlzYWJsZWQgaW4gc2V2ZXJhbCBzcG90c1xuICAgICAgLy8gYmVsb3cuXG4gICAgICB7XG4gICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24oZXhwZWN0ZWQsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIHByb3BlcnR5SW5mby5zYW5pdGl6ZVVSTCkge1xuICAgICAgICAvLyBJZiB3ZSBoYXZlbid0IGZ1bGx5IGRpc2FibGVkIGphdmFzY3JpcHQ6IFVSTHMsIGFuZCBpZlxuICAgICAgICAvLyB0aGUgaHlkcmF0aW9uIGlzIHN1Y2Nlc3NmdWwgb2YgYSBqYXZhc2NyaXB0OiBVUkwsIHdlXG4gICAgICAgIC8vIHN0aWxsIHdhbnQgdG8gd2FybiBvbiB0aGUgY2xpZW50LlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgICAgc2FuaXRpemVVUkwoJycgKyBleHBlY3RlZCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBhdHRyaWJ1dGVOYW1lID0gcHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWU7XG4gICAgICB2YXIgc3RyaW5nVmFsdWUgPSBudWxsO1xuXG4gICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IE9WRVJMT0FERURfQk9PTEVBTikge1xuICAgICAgICBpZiAobm9kZS5oYXNBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgICAgICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgLy8gV2UgaGFkIGFuIGF0dHJpYnV0ZSBidXQgc2hvdWxkbid0IGhhdmUgaGFkIG9uZSwgc28gcmVhZCBpdFxuICAgICAgICAgIC8vIGZvciB0aGUgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgICByZXR1cm4gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IEJPT0xFQU4pIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBhIGJvb2xlYW4sIGl0IGRvZXNuJ3QgbWF0dGVyIHdoYXQgdGhlIHZhbHVlIGlzXG4gICAgICAgICAgLy8gdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIGl0IGlzIHRoZSBzYW1lIGFzIHRoZSBleHBlY3RlZC5cbiAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgIH0gLy8gRXZlbiBpZiB0aGlzIHByb3BlcnR5IHVzZXMgYSBuYW1lc3BhY2Ugd2UgdXNlIGdldEF0dHJpYnV0ZVxuICAgICAgICAvLyBiZWNhdXNlIHdlIGFzc3VtZSBpdHMgbmFtZXNwYWNlZCBuYW1lIGlzIHRoZSBzYW1lIGFzIG91ciBjb25maWcuXG4gICAgICAgIC8vIFRvIHVzZSBnZXRBdHRyaWJ1dGVOUyB3ZSBuZWVkIHRoZSBsb2NhbCBuYW1lIHdoaWNoIHdlIGRvbid0IGhhdmVcbiAgICAgICAgLy8gaW4gb3VyIGNvbmZpZyBhdG0uXG5cblxuICAgICAgICBzdHJpbmdWYWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIGV4cGVjdGVkLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWUgPT09IG51bGwgPyBleHBlY3RlZCA6IHN0cmluZ1ZhbHVlOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgIH0gZWxzZSBpZiAoc3RyaW5nVmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZ1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIGF0dHJpYnV0ZSBvbiBhIG5vZGUuIE9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxuICogVGhlIHRoaXJkIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLiBTb21lXG4gKiBhdHRyaWJ1dGVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0VmFsdWVGb3JBdHRyaWJ1dGUobm9kZSwgbmFtZSwgZXhwZWN0ZWQsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIHtcbiAgICBpZiAoIWlzQXR0cmlidXRlTmFtZVNhZmUobmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIW5vZGUuaGFzQXR0cmlidXRlKG5hbWUpKSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWQgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IG51bGw7XG4gICAgfVxuXG4gICAgdmFyIHZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUobmFtZSk7XG5cbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKGV4cGVjdGVkLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcbiAgICAgIHJldHVybiBleHBlY3RlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbi8qKlxuICogU2V0cyB0aGUgdmFsdWUgZm9yIGEgcHJvcGVydHkgb24gYSBub2RlLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7Kn0gdmFsdWVcbiAqL1xuXG5mdW5jdGlvbiBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsIG5hbWUsIHZhbHVlLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICB2YXIgcHJvcGVydHlJbmZvID0gZ2V0UHJvcGVydHlJbmZvKG5hbWUpO1xuXG4gIGlmIChzaG91bGRJZ25vcmVBdHRyaWJ1dGUobmFtZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSkge1xuICAgIHZhbHVlID0gbnVsbDtcbiAgfVxuXG5cbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnIHx8IHByb3BlcnR5SW5mbyA9PT0gbnVsbCkge1xuICAgIGlmIChpc0F0dHJpYnV0ZU5hbWVTYWZlKG5hbWUpKSB7XG4gICAgICB2YXIgX2F0dHJpYnV0ZU5hbWUgPSBuYW1lO1xuXG4gICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAge1xuICAgICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24odmFsdWUsIG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUsICAnJyArIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbXVzdFVzZVByb3BlcnR5ID0gcHJvcGVydHlJbmZvLm11c3RVc2VQcm9wZXJ0eTtcblxuICBpZiAobXVzdFVzZVByb3BlcnR5KSB7XG4gICAgdmFyIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5SW5mby5wcm9wZXJ0eU5hbWU7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHZhciB0eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgICBub2RlW3Byb3BlcnR5TmFtZV0gPSB0eXBlID09PSBCT09MRUFOID8gZmFsc2UgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29udHJhcnkgdG8gYHNldEF0dHJpYnV0ZWAsIG9iamVjdCBwcm9wZXJ0aWVzIGFyZSBwcm9wZXJseVxuICAgICAgLy8gYHRvU3RyaW5nYGVkIGJ5IElFOC85LlxuICAgICAgbm9kZVtwcm9wZXJ0eU5hbWVdID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoZSByZXN0IGFyZSB0cmVhdGVkIGFzIGF0dHJpYnV0ZXMgd2l0aCBzcGVjaWFsIGNhc2VzLlxuXG5cbiAgdmFyIGF0dHJpYnV0ZU5hbWUgPSBwcm9wZXJ0eUluZm8uYXR0cmlidXRlTmFtZSxcbiAgICAgIGF0dHJpYnV0ZU5hbWVzcGFjZSA9IHByb3BlcnR5SW5mby5hdHRyaWJ1dGVOYW1lc3BhY2U7XG5cbiAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIF90eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgdmFyIGF0dHJpYnV0ZVZhbHVlO1xuXG4gICAgaWYgKF90eXBlID09PSBCT09MRUFOIHx8IF90eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU4gJiYgdmFsdWUgPT09IHRydWUpIHtcbiAgICAgIC8vIElmIGF0dHJpYnV0ZSB0eXBlIGlzIGJvb2xlYW4sIHdlIGtub3cgZm9yIHN1cmUgaXQgd29uJ3QgYmUgYW4gZXhlY3V0aW9uIHNpbmtcbiAgICAgIC8vIGFuZCB3ZSB3b24ndCByZXF1aXJlIFRydXN0ZWQgVHlwZSBoZXJlLlxuICAgICAgYXR0cmlidXRlVmFsdWUgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gYHNldEF0dHJpYnV0ZWAgd2l0aCBvYmplY3RzIGJlY29tZXMgb25seSBgW29iamVjdF1gIGluIElFOC85LFxuICAgICAgLy8gKCcnICsgdmFsdWUpIG1ha2VzIGl0IG91dHB1dCB0aGUgY29ycmVjdCB0b1N0cmluZygpLXZhbHVlLlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eUluZm8uc2FuaXRpemVVUkwpIHtcbiAgICAgICAgc2FuaXRpemVVUkwoYXR0cmlidXRlVmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWVzcGFjZSkge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGVOUyhhdHRyaWJ1dGVOYW1lc3BhY2UsIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKTtcbnZhciBSRUFDVF9ERUJVR19UUkFDSU5HX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmRlYnVnX3RyYWNlX21vZGUnKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0xFR0FDWV9ISURERU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxlZ2FjeV9oaWRkZW4nKTtcbnZhciBSRUFDVF9DQUNIRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY2FjaGUnKTtcbnZhciBSRUFDVF9UUkFDSU5HX01BUktFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QudHJhY2luZ19tYXJrZXInKTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSBTeW1ib2wuaXRlcmF0b3I7XG52YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7XG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbWF5YmVJdGVyYXRvciA9IE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF07XG5cbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1heWJlSXRlcmF0b3I7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIGFzc2lnbiA9IE9iamVjdC5hc3NpZ247XG5cbi8vIEhlbHBlcnMgdG8gcGF0Y2ggY29uc29sZS5sb2dzIHRvIGF2b2lkIGxvZ2dpbmcgZHVyaW5nIHNpZGUtZWZmZWN0IGZyZWVcbi8vIHJlcGxheWluZyBvbiByZW5kZXIgZnVuY3Rpb24uIFRoaXMgY3VycmVudGx5IG9ubHkgcGF0Y2hlcyB0aGUgb2JqZWN0XG4vLyBsYXppbHkgd2hpY2ggd29uJ3QgY292ZXIgaWYgdGhlIGxvZyBmdW5jdGlvbiB3YXMgZXh0cmFjdGVkIGVhZ2VybHkuXG4vLyBXZSBjb3VsZCBhbHNvIGVhZ2VybHkgcGF0Y2ggdGhlIG1ldGhvZC5cbnZhciBkaXNhYmxlZERlcHRoID0gMDtcbnZhciBwcmV2TG9nO1xudmFyIHByZXZJbmZvO1xudmFyIHByZXZXYXJuO1xudmFyIHByZXZFcnJvcjtcbnZhciBwcmV2R3JvdXA7XG52YXIgcHJldkdyb3VwQ29sbGFwc2VkO1xudmFyIHByZXZHcm91cEVuZDtcblxuZnVuY3Rpb24gZGlzYWJsZWRMb2coKSB7fVxuXG5kaXNhYmxlZExvZy5fX3JlYWN0RGlzYWJsZWRMb2cgPSB0cnVlO1xuZnVuY3Rpb24gZGlzYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICBwcmV2TG9nID0gY29uc29sZS5sb2c7XG4gICAgICBwcmV2SW5mbyA9IGNvbnNvbGUuaW5mbztcbiAgICAgIHByZXZXYXJuID0gY29uc29sZS53YXJuO1xuICAgICAgcHJldkVycm9yID0gY29uc29sZS5lcnJvcjtcbiAgICAgIHByZXZHcm91cCA9IGNvbnNvbGUuZ3JvdXA7XG4gICAgICBwcmV2R3JvdXBDb2xsYXBzZWQgPSBjb25zb2xlLmdyb3VwQ29sbGFwc2VkO1xuICAgICAgcHJldkdyb3VwRW5kID0gY29uc29sZS5ncm91cEVuZDsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTA5OVxuXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IGRpc2FibGVkTG9nLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfTsgLy8gJEZsb3dGaXhNZSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGxvZzogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2TG9nXG4gICAgICAgIH0pLFxuICAgICAgICBpbmZvOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZJbmZvXG4gICAgICAgIH0pLFxuICAgICAgICB3YXJuOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZXYXJuXG4gICAgICAgIH0pLFxuICAgICAgICBlcnJvcjogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2RXJyb3JcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwQ29sbGFwc2VkXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cEVuZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBFbmRcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA8IDApIHtcbiAgICAgIGVycm9yKCdkaXNhYmxlZERlcHRoIGZlbGwgYmVsb3cgemVyby4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyO1xudmFyIHByZWZpeDtcbmZ1bmN0aW9uIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUsIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgY29uc3RydWN0KSB7XG4gIC8vIElmIHNvbWV0aGluZyBhc2tlZCBmb3IgYSBzdGFjayBpbnNpZGUgYSBmYWtlIHJlbmRlciwgaXQgc2hvdWxkIGdldCBpZ25vcmVkLlxuICBpZiAoICFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbnRyb2w7XG4gIHJlZW50cnkgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZSA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlOyAvLyAkRmxvd0ZpeE1lIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cblxuICB0cnkge1xuICAgIC8vIFRoaXMgc2hvdWxkIHRocm93LlxuICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBzaG91bGQgYmUgc2V0dGluZyB0aGUgcHJvcHMgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAgdmFyIEZha2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lXG5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZha2UucHJvdG90eXBlLCAncHJvcHMnLCB7XG4gICAgICAgIHNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAvLyBiZWNhdXNlIHRoYXQgd29uJ3QgdGhyb3cgaW4gYSBub24tc3RyaWN0IG1vZGUgZnVuY3Rpb24uXG4gICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgJiYgUmVmbGVjdC5jb25zdHJ1Y3QpIHtcbiAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAvLyBmcmFtZXMgYWRkZWQgYnkgdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICB0cnkge1xuICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoZm4sIFtdLCBGYWtlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgRmFrZS5jYWxsKCk7XG4gICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZuLmNhbGwoRmFrZS5wcm90b3R5cGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBjb250cm9sID0geDtcbiAgICAgIH1cblxuICAgICAgZm4oKTtcbiAgICB9XG4gIH0gY2F0Y2ggKHNhbXBsZSkge1xuICAgIC8vIFRoaXMgaXMgaW5saW5lZCBtYW51YWxseSBiZWNhdXNlIGNsb3N1cmUgZG9lc24ndCBkbyBpdCBmb3IgdXMuXG4gICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBUaGlzIGV4dHJhY3RzIHRoZSBmaXJzdCBmcmFtZSBmcm9tIHRoZSBzYW1wbGUgdGhhdCBpc24ndCBhbHNvIGluIHRoZSBjb250cm9sLlxuICAgICAgLy8gU2tpcHBpbmcgb25lIGZyYW1lIHRoYXQgd2UgYXNzdW1lIGlzIHRoZSBmcmFtZSB0aGF0IGNhbGxzIHRoZSB0d28uXG4gICAgICB2YXIgc2FtcGxlTGluZXMgPSBzYW1wbGUuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIGNvbnRyb2xMaW5lcyA9IGNvbnRyb2wuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgdmFyIGMgPSBjb250cm9sTGluZXMubGVuZ3RoIC0gMTtcblxuICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAvLyBXZSBleHBlY3QgYXQgbGVhc3Qgb25lIHN0YWNrIGZyYW1lIHRvIGJlIHNoYXJlZC5cbiAgICAgICAgLy8gVHlwaWNhbGx5IHRoaXMgd2lsbCBiZSB0aGUgcm9vdCBtb3N0IG9uZS4gSG93ZXZlciwgc3RhY2sgZnJhbWVzIG1heSBiZVxuICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAvLyBlYXJsaWVyIHRoYW4gdGhlIG90aGVyLiBXZSBhc3N1bWUgdGhhdCB0aGUgc2FtcGxlIGlzIGxvbmdlciBvciB0aGUgc2FtZVxuICAgICAgICAvLyBhbmQgdGhlcmUgZm9yIGN1dCBvZmYgZWFybGllci4gU28gd2Ugc2hvdWxkIGZpbmQgdGhlIHJvb3QgbW9zdCBmcmFtZSBpblxuICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgYy0tO1xuICAgICAgfVxuXG4gICAgICBmb3IgKDsgcyA+PSAxICYmIGMgPj0gMDsgcy0tLCBjLS0pIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBmaW5kIHRoZSBmaXJzdCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSB3aGljaCBzaG91bGQgYmUgdGhlXG4gICAgICAgIC8vIGZyYW1lIHRoYXQgY2FsbGVkIG91ciBzYW1wbGUgZnVuY3Rpb24gYW5kIHRoZSBjb250cm9sLlxuICAgICAgICBpZiAoc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIEluIFY4LCB0aGUgZmlyc3QgbGluZSBpcyBkZXNjcmliaW5nIHRoZSBtZXNzYWdlIGJ1dCBvdGhlciBWTXMgZG9uJ3QuXG4gICAgICAgICAgLy8gSWYgd2UncmUgYWJvdXQgdG8gcmV0dXJuIHRoZSBmaXJzdCBsaW5lLCBhbmQgdGhlIGNvbnRyb2wgaXMgYWxzbyBvbiB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxpbmUsIHRoYXQncyBhIHByZXR0eSBnb29kIGluZGljYXRvciB0aGF0IG91ciBzYW1wbGUgdGhyZXcgYXQgc2FtZSBsaW5lIGFzXG4gICAgICAgICAgLy8gdGhlIGNvbnRyb2wuIEkuZS4gYmVmb3JlIHdlIGVudGVyZWQgdGhlIHNhbXBsZSBmcmFtZS4gU28gd2UgaWdub3JlIHRoaXMgcmVzdWx0LlxuICAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB5b3UgcGFzc2VkIGEgY2xhc3MgdG8gZnVuY3Rpb24gY29tcG9uZW50LCBvciBub24tZnVuY3Rpb24uXG4gICAgICAgICAgaWYgKHMgIT09IDEgfHwgYyAhPT0gMSkge1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICBzLS07XG4gICAgICAgICAgICAgIGMtLTsgLy8gV2UgbWF5IHN0aWxsIGhhdmUgc2ltaWxhciBpbnRlcm1lZGlhdGUgZnJhbWVzIGZyb20gdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICAgICAgICAvLyBUaGUgbmV4dCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSBzaG91bGQgYmUgb3VyIG1hdGNoIHRob3VnaC5cblxuICAgICAgICAgICAgICBpZiAoYyA8IDAgfHwgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgICAgICAgIC8vIFY4IGFkZHMgYSBcIm5ld1wiIHByZWZpeCBmb3IgbmF0aXZlIGNsYXNzZXMuIExldCdzIHJlbW92ZSBpdCB0byBtYWtlIGl0IHByZXR0aWVyLlxuICAgICAgICAgICAgICAgIHZhciBfZnJhbWUgPSAnXFxuJyArIHNhbXBsZUxpbmVzW3NdLnJlcGxhY2UoJyBhdCBuZXcgJywgJyBhdCAnKTsgLy8gSWYgb3VyIGNvbXBvbmVudCBmcmFtZSBpcyBsYWJlbGVkIFwiPGFub255bW91cz5cIlxuICAgICAgICAgICAgICAgIC8vIGJ1dCB3ZSBoYXZlIGEgdXNlci1wcm92aWRlZCBcImRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgICAgICAvLyBzcGxpY2UgaXQgaW4gdG8gbWFrZSB0aGUgc3RhY2sgbW9yZSByZWFkYWJsZS5cblxuXG4gICAgICAgICAgICAgICAgaWYgKGZuLmRpc3BsYXlOYW1lICYmIF9mcmFtZS5pbmNsdWRlcygnPGFub255bW91cz4nKSkge1xuICAgICAgICAgICAgICAgICAgX2ZyYW1lID0gX2ZyYW1lLnJlcGxhY2UoJzxhbm9ueW1vdXM+JywgZm4uZGlzcGxheU5hbWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIF9mcmFtZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAvLyBSZXR1cm4gdGhlIGxpbmUgd2UgZm91bmQuXG5cblxuICAgICAgICAgICAgICAgIHJldHVybiBfZnJhbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gd2hpbGUgKHMgPj0gMSAmJiBjID49IDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHJlZW50cnkgPSBmYWxzZTtcblxuICAgIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZpb3VzRGlzcGF0Y2hlcjtcbiAgICAgIHJlZW5hYmxlTG9ncygpO1xuICAgIH1cblxuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZTtcbiAgfSAvLyBGYWxsYmFjayB0byBqdXN0IHVzaW5nIHRoZSBuYW1lIGlmIHdlIGNvdWxkbid0IG1ha2UgaXQgdGhyb3cuXG5cblxuICB2YXIgbmFtZSA9IGZuID8gZm4uZGlzcGxheU5hbWUgfHwgZm4ubmFtZSA6ICcnO1xuICB2YXIgc3ludGhldGljRnJhbWUgPSBuYW1lID8gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSkgOiAnJztcblxuICB7XG4gICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIHN5bnRoZXRpY0ZyYW1lKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3ludGhldGljRnJhbWU7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlQ2xhc3NDb21wb25lbnRGcmFtZShjdG9yLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGN0b3IsIHRydWUpO1xuICB9XG59XG5mdW5jdGlvbiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZm4sIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIHNvdXJjZSwgb3duZXJGbikge1xuXG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB7XG4gICAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZSh0eXBlLCBzaG91bGRDb25zdHJ1Y3QodHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUodHlwZSk7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlJyk7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2VMaXN0Jyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgLy8gTWVtbyBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLnR5cGUsIHNvdXJjZSwgb3duZXJGbik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gTGF6eSBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoaW5pdChwYXlsb2FkKSwgc291cmNlLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZUZpYmVyKGZpYmVyKSB7XG4gIHZhciBvd25lciA9ICBmaWJlci5fZGVidWdPd25lciA/IGZpYmVyLl9kZWJ1Z093bmVyLnR5cGUgOiBudWxsIDtcbiAgdmFyIHNvdXJjZSA9ICBmaWJlci5fZGVidWdTb3VyY2UgO1xuXG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKGZpYmVyLnR5cGUpO1xuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdMYXp5Jyk7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuXG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmaWJlci50eXBlKTtcblxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZmliZXIudHlwZS5yZW5kZXIpO1xuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHJldHVybiBkZXNjcmliZUNsYXNzQ29tcG9uZW50RnJhbWUoZmliZXIudHlwZSk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZCh3b3JrSW5Qcm9ncmVzcykge1xuICB0cnkge1xuICAgIHZhciBpbmZvID0gJyc7XG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcztcblxuICAgIGRvIHtcbiAgICAgIGluZm8gKz0gZGVzY3JpYmVGaWJlcihub2RlKTtcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9IHdoaWxlIChub2RlKTtcblxuICAgIHJldHVybiBpbmZvO1xuICB9IGNhdGNoICh4KSB7XG4gICAgcmV0dXJuICdcXG5FcnJvciBnZW5lcmF0aW5nIHN0YWNrOiAnICsgeC5tZXNzYWdlICsgJ1xcbicgKyB4LnN0YWNrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSkge1xuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgLy8gSG9zdCByb290LCB0ZXh0IG5vZGUgb3IganVzdCBpbnZhbGlkIHR5cGUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB7XG4gICAgaWYgKHR5cGVvZiB0eXBlLnRhZyA9PT0gJ251bWJlcicpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIG9iamVjdCBpbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoKS4gJyArICdUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XG5cbiAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICByZXR1cm4gJ1Byb2ZpbGVyJztcblxuICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgIHJldHVybiAnU3RyaWN0TW9kZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZUxpc3QnO1xuXG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgdmFyIGNvbnRleHQgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcblxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB2YXIgcHJvdmlkZXIgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldFdyYXBwZWROYW1lKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgdmFyIG91dGVyTmFtZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbDtcblxuICAgICAgICBpZiAob3V0ZXJOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG91dGVyTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnTWVtbyc7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShpbml0KHBheWxvYWQpKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lJDEob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBvdXRlclR5cGUuZGlzcGxheU5hbWUgfHwgKGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZSk7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHNoYXJlZC9nZXRDb21wb25lbnROYW1lRnJvbVR5cGVcblxuXG5mdW5jdGlvbiBnZXRDb250ZXh0TmFtZSQxKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB7XG4gIHZhciB0YWcgPSBmaWJlci50YWcsXG4gICAgICB0eXBlID0gZmliZXIudHlwZTtcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ0NhY2hlJztcblxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgICAgdmFyIGNvbnRleHQgPSB0eXBlO1xuICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lJDEoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgIHJldHVybiBnZXRDb250ZXh0TmFtZSQxKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgY2FzZSBEZWh5ZHJhdGVkRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gJ0RlaHlkcmF0ZWRGcmFnbWVudCc7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUkMSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgIGNhc2UgRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIC8vIEhvc3QgY29tcG9uZW50IHR5cGUgaXMgdGhlIGRpc3BsYXkgbmFtZSAoZS5nLiBcImRpdlwiLCBcIlZpZXdcIilcbiAgICAgIHJldHVybiB0eXBlO1xuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHJldHVybiAnUm9vdCc7XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgcmV0dXJuICdUZXh0JztcblxuICAgIGNhc2UgTGF6eUNvbXBvbmVudDpcbiAgICAgIC8vIE5hbWUgY29tZXMgZnJvbSB0aGUgdHlwZSBpbiB0aGlzIGNhc2U7IHdlIGRvbid0IGhhdmUgYSB0YWcuXG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuXG4gICAgY2FzZSBNb2RlOlxuICAgICAgaWYgKHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUpIHtcbiAgICAgICAgLy8gRG9uJ3QgYmUgbGVzcyBzcGVjaWZpYyB0aGFuIHNoYXJlZC9nZXRDb21wb25lbnROYW1lRnJvbVR5cGVcbiAgICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdNb2RlJztcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAgcmV0dXJuICdPZmZzY3JlZW4nO1xuXG4gICAgY2FzZSBQcm9maWxlcjpcbiAgICAgIHJldHVybiAnUHJvZmlsZXInO1xuXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiAnU2NvcGUnO1xuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ1RyYWNpbmdNYXJrZXInO1xuICAgIC8vIFRoZSBkaXNwbGF5IG5hbWUgZm9yIHRoaXMgdGFncyBjb21lIGZyb20gdGhlIHVzZXItcHJvdmlkZWQgdHlwZTpcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG52YXIgY3VycmVudCA9IG51bGw7XG52YXIgaXNSZW5kZXJpbmcgPSBmYWxzZTtcbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCkge1xuICB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBvd25lciA9IGN1cnJlbnQuX2RlYnVnT3duZXI7XG5cbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgdHlwZW9mIG93bmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIob3duZXIpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KCkge1xuICB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IC8vIFNhZmUgYmVjYXVzZSBpZiBjdXJyZW50IGZpYmVyIGV4aXN0cywgd2UgYXJlIHJlY29uY2lsaW5nLFxuICAgIC8vIGFuZCBpdCBpcyBndWFyYW50ZWVkIHRvIGJlIHRoZSB3b3JrLWluLXByb2dyZXNzIHZlcnNpb24uXG5cblxuICAgIHJldHVybiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoY3VycmVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzZXRDdXJyZW50RmliZXIoKSB7XG4gIHtcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IG51bGw7XG4gICAgY3VycmVudCA9IG51bGw7XG4gICAgaXNSZW5kZXJpbmcgPSBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gc2V0Q3VycmVudEZpYmVyKGZpYmVyKSB7XG4gIHtcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IGZpYmVyID09PSBudWxsID8gbnVsbCA6IGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXY7XG4gICAgY3VycmVudCA9IGZpYmVyO1xuICAgIGlzUmVuZGVyaW5nID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlcigpIHtcbiAge1xuICAgIHJldHVybiBjdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiBzZXRJc1JlbmRlcmluZyhyZW5kZXJpbmcpIHtcbiAge1xuICAgIGlzUmVuZGVyaW5nID0gcmVuZGVyaW5nO1xuICB9XG59XG5cbi8vIEZsb3cgZG9lcyBub3QgYWxsb3cgc3RyaW5nIGNvbmNhdGVuYXRpb24gb2YgbW9zdCBub24tc3RyaW5nIHR5cGVzLiBUbyB3b3JrXG4vLyBhcm91bmQgdGhpcyBsaW1pdGF0aW9uLCB3ZSB1c2UgYW4gb3BhcXVlIHR5cGUgdGhhdCBjYW4gb25seSBiZSBvYnRhaW5lZCBieVxuLy8gcGFzc2luZyB0aGUgdmFsdWUgdGhyb3VnaCBnZXRUb1N0cmluZ1ZhbHVlIGZpcnN0LlxuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgLy8gVGhlIGNvZXJjaW9uIHNhZmV0eSBjaGVjayBpcyBwZXJmb3JtZWQgaW4gZ2V0VG9TdHJpbmdWYWx1ZSgpLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBnZXRUb1N0cmluZ1ZhbHVlKHZhbHVlKSB7XG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgY2FzZSAnYm9vbGVhbic6XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdzdHJpbmcnOlxuICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBjYXNlICdvYmplY3QnOlxuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gZnVuY3Rpb24sIHN5bWJvbCBhcmUgYXNzaWduZWQgYXMgZW1wdHkgc3RyaW5nc1xuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbnZhciBoYXNSZWFkT25seVZhbHVlID0ge1xuICBidXR0b246IHRydWUsXG4gIGNoZWNrYm94OiB0cnVlLFxuICBpbWFnZTogdHJ1ZSxcbiAgaGlkZGVuOiB0cnVlLFxuICByYWRpbzogdHJ1ZSxcbiAgcmVzZXQ6IHRydWUsXG4gIHN1Ym1pdDogdHJ1ZVxufTtcbmZ1bmN0aW9uIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHModGFnTmFtZSwgcHJvcHMpIHtcbiAge1xuICAgIGlmICghKGhhc1JlYWRPbmx5VmFsdWVbcHJvcHMudHlwZV0gfHwgcHJvcHMub25DaGFuZ2UgfHwgcHJvcHMub25JbnB1dCB8fCBwcm9wcy5yZWFkT25seSB8fCBwcm9wcy5kaXNhYmxlZCB8fCBwcm9wcy52YWx1ZSA9PSBudWxsKSkge1xuICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGB2YWx1ZWAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0VmFsdWVgLiBPdGhlcndpc2UsICcgKyAnc2V0IGVpdGhlciBgb25DaGFuZ2VgIG9yIGByZWFkT25seWAuJyk7XG4gICAgfVxuXG4gICAgaWYgKCEocHJvcHMub25DaGFuZ2UgfHwgcHJvcHMucmVhZE9ubHkgfHwgcHJvcHMuZGlzYWJsZWQgfHwgcHJvcHMuY2hlY2tlZCA9PSBudWxsKSkge1xuICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGBjaGVja2VkYCBwcm9wIHRvIGEgZm9ybSBmaWVsZCB3aXRob3V0IGFuICcgKyAnYG9uQ2hhbmdlYCBoYW5kbGVyLiBUaGlzIHdpbGwgcmVuZGVyIGEgcmVhZC1vbmx5IGZpZWxkLiBJZiAnICsgJ3RoZSBmaWVsZCBzaG91bGQgYmUgbXV0YWJsZSB1c2UgYGRlZmF1bHRDaGVja2VkYC4gT3RoZXJ3aXNlLCAnICsgJ3NldCBlaXRoZXIgYG9uQ2hhbmdlYCBvciBgcmVhZE9ubHlgLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NoZWNrYWJsZShlbGVtKSB7XG4gIHZhciB0eXBlID0gZWxlbS50eXBlO1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgbm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lucHV0JyAmJiAodHlwZSA9PT0gJ2NoZWNrYm94JyB8fCB0eXBlID09PSAncmFkaW8nKTtcbn1cblxuZnVuY3Rpb24gZ2V0VHJhY2tlcihub2RlKSB7XG4gIHJldHVybiBub2RlLl92YWx1ZVRyYWNrZXI7XG59XG5cbmZ1bmN0aW9uIGRldGFjaFRyYWNrZXIobm9kZSkge1xuICBub2RlLl92YWx1ZVRyYWNrZXIgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRWYWx1ZUZyb21Ob2RlKG5vZGUpIHtcbiAgdmFyIHZhbHVlID0gJyc7XG5cbiAgaWYgKCFub2RlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgaWYgKGlzQ2hlY2thYmxlKG5vZGUpKSB7XG4gICAgdmFsdWUgPSBub2RlLmNoZWNrZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICB9IGVsc2Uge1xuICAgIHZhbHVlID0gbm9kZS52YWx1ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gdHJhY2tWYWx1ZU9uTm9kZShub2RlKSB7XG4gIHZhciB2YWx1ZUZpZWxkID0gaXNDaGVja2FibGUobm9kZSkgPyAnY2hlY2tlZCcgOiAndmFsdWUnO1xuICB2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobm9kZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHZhbHVlRmllbGQpO1xuXG4gIHtcbiAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24obm9kZVt2YWx1ZUZpZWxkXSk7XG4gIH1cblxuICB2YXIgY3VycmVudFZhbHVlID0gJycgKyBub2RlW3ZhbHVlRmllbGRdOyAvLyBpZiBzb21lb25lIGhhcyBhbHJlYWR5IGRlZmluZWQgYSB2YWx1ZSBvciBTYWZhcmksIHRoZW4gYmFpbFxuICAvLyBhbmQgZG9uJ3QgdHJhY2sgdmFsdWUgd2lsbCBjYXVzZSBvdmVyIHJlcG9ydGluZyBvZiBjaGFuZ2VzLFxuICAvLyBidXQgaXQncyBiZXR0ZXIgdGhlbiBhIGhhcmQgZmFpbHVyZVxuICAvLyAobmVlZGVkIGZvciBjZXJ0YWluIHRlc3RzIHRoYXQgc3B5T24gaW5wdXQgdmFsdWVzIGFuZCBTYWZhcmkpXG5cbiAgaWYgKG5vZGUuaGFzT3duUHJvcGVydHkodmFsdWVGaWVsZCkgfHwgdHlwZW9mIGRlc2NyaXB0b3IgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBkZXNjcmlwdG9yLmdldCAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgZGVzY3JpcHRvci5zZXQgIT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZ2V0ID0gZGVzY3JpcHRvci5nZXQsXG4gICAgICBzZXQgPSBkZXNjcmlwdG9yLnNldDtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5vZGUsIHZhbHVlRmllbGQsIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZ2V0LmNhbGwodGhpcyk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50VmFsdWUgPSAnJyArIHZhbHVlO1xuICAgICAgc2V0LmNhbGwodGhpcywgdmFsdWUpO1xuICAgIH1cbiAgfSk7IC8vIFdlIGNvdWxkJ3ZlIHBhc3NlZCB0aGlzIHRoZSBmaXJzdCB0aW1lXG4gIC8vIGJ1dCBpdCB0cmlnZ2VycyBhIGJ1ZyBpbiBJRTExIGFuZCBFZGdlIDE0LzE1LlxuICAvLyBDYWxsaW5nIGRlZmluZVByb3BlcnR5KCkgYWdhaW4gc2hvdWxkIGJlIGVxdWl2YWxlbnQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE3NjhcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobm9kZSwgdmFsdWVGaWVsZCwge1xuICAgIGVudW1lcmFibGU6IGRlc2NyaXB0b3IuZW51bWVyYWJsZVxuICB9KTtcbiAgdmFyIHRyYWNrZXIgPSB7XG4gICAgZ2V0VmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XG4gICAgfSxcbiAgICBzZXRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgfSxcbiAgICBzdG9wVHJhY2tpbmc6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGRldGFjaFRyYWNrZXIobm9kZSk7XG4gICAgICBkZWxldGUgbm9kZVt2YWx1ZUZpZWxkXTtcbiAgICB9XG4gIH07XG4gIHJldHVybiB0cmFja2VyO1xufVxuXG5mdW5jdGlvbiB0cmFjayhub2RlKSB7XG4gIGlmIChnZXRUcmFja2VyKG5vZGUpKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIFRPRE86IE9uY2UgaXQncyBqdXN0IEZpYmVyIHdlIGNhbiBtb3ZlIHRoaXMgdG8gbm9kZS5fd3JhcHBlclN0YXRlXG5cblxuICBub2RlLl92YWx1ZVRyYWNrZXIgPSB0cmFja1ZhbHVlT25Ob2RlKG5vZGUpO1xufVxuZnVuY3Rpb24gdXBkYXRlVmFsdWVJZkNoYW5nZWQobm9kZSkge1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgdHJhY2tlciA9IGdldFRyYWNrZXIobm9kZSk7IC8vIGlmIHRoZXJlIGlzIG5vIHRyYWNrZXIgYXQgdGhpcyBwb2ludCBpdCdzIHVubGlrZWx5XG4gIC8vIHRoYXQgdHJ5aW5nIGFnYWluIHdpbGwgc3VjY2VlZFxuXG4gIGlmICghdHJhY2tlcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFyIGxhc3RWYWx1ZSA9IHRyYWNrZXIuZ2V0VmFsdWUoKTtcbiAgdmFyIG5leHRWYWx1ZSA9IGdldFZhbHVlRnJvbU5vZGUobm9kZSk7XG5cbiAgaWYgKG5leHRWYWx1ZSAhPT0gbGFzdFZhbHVlKSB7XG4gICAgdHJhY2tlci5zZXRWYWx1ZShuZXh0VmFsdWUpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVFbGVtZW50KGRvYykge1xuICBkb2MgPSBkb2MgfHwgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudCA6IHVuZGVmaW5lZCk7XG5cbiAgaWYgKHR5cGVvZiBkb2MgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBkb2MuYWN0aXZlRWxlbWVudCB8fCBkb2MuYm9keTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkb2MuYm9keTtcbiAgfVxufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gZmFsc2U7XG52YXIgZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCA9IGZhbHNlO1xudmFyIGRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQgPSBmYWxzZTtcbnZhciBkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGlzQ29udHJvbGxlZChwcm9wcykge1xuICB2YXIgdXNlc0NoZWNrZWQgPSBwcm9wcy50eXBlID09PSAnY2hlY2tib3gnIHx8IHByb3BzLnR5cGUgPT09ICdyYWRpbyc7XG4gIHJldHVybiB1c2VzQ2hlY2tlZCA/IHByb3BzLmNoZWNrZWQgIT0gbnVsbCA6IHByb3BzLnZhbHVlICE9IG51bGw7XG59XG4vKipcbiAqIEltcGxlbWVudHMgYW4gPGlucHV0PiBob3N0IGNvbXBvbmVudCB0aGF0IGFsbG93cyBzZXR0aW5nIHRoZXNlIG9wdGlvbmFsXG4gKiBwcm9wczogYGNoZWNrZWRgLCBgdmFsdWVgLCBgZGVmYXVsdENoZWNrZWRgLCBhbmQgYGRlZmF1bHRWYWx1ZWAuXG4gKlxuICogSWYgYGNoZWNrZWRgIG9yIGB2YWx1ZWAgYXJlIG5vdCBzdXBwbGllZCAob3IgbnVsbC91bmRlZmluZWQpLCB1c2VyIGFjdGlvbnNcbiAqIHRoYXQgYWZmZWN0IHRoZSBjaGVja2VkIHN0YXRlIG9yIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIHRoZXkgYXJlIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIGVsZW1lbnQgd2lsbCBub3RcbiAqIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgZWxlbWVudC4gSW5zdGVhZCwgdGhlIHByb3BzIG11c3QgY2hhbmdlIGluIG9yZGVyIGZvclxuICogdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIGFzIHVuY2hlY2tlZCAob3IgYGRlZmF1bHRDaGVja2VkYClcbiAqIHdpdGggYW4gZW1wdHkgdmFsdWUgKG9yIGBkZWZhdWx0VmFsdWVgKS5cbiAqXG4gKiBTZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1odG1sNS0yMDEyMTAyNS90aGUtaW5wdXQtZWxlbWVudC5odG1sXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgY2hlY2tlZCA9IHByb3BzLmNoZWNrZWQ7XG4gIHZhciBob3N0UHJvcHMgPSBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgZGVmYXVsdENoZWNrZWQ6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgIGNoZWNrZWQ6IGNoZWNrZWQgIT0gbnVsbCA/IGNoZWNrZWQgOiBub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWRcbiAgfSk7XG4gIHJldHVybiBob3N0UHJvcHM7XG59XG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHtcbiAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdpbnB1dCcsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdENoZWNrZWQgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCkge1xuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGFuIGlucHV0IG9mIHR5cGUgJXMgd2l0aCBib3RoIGNoZWNrZWQgYW5kIGRlZmF1bHRDaGVja2VkIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSBjaGVja2VkIHByb3AsIG9yIHRoZSBkZWZhdWx0Q2hlY2tlZCBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycsIGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCkgfHwgJ0EgY29tcG9uZW50JywgcHJvcHMudHlwZSk7XG5cbiAgICAgIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUpIHtcbiAgICAgIGVycm9yKCclcyBjb250YWlucyBhbiBpbnB1dCBvZiB0eXBlICVzIHdpdGggYm90aCB2YWx1ZSBhbmQgZGVmYXVsdFZhbHVlIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgYW5kIHJlbW92ZSBvbmUgb2YgdGhlc2UgcHJvcHMuIE1vcmUgaW5mbzogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvY29udHJvbGxlZC1jb21wb25lbnRzJywgZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKSB8fCAnQSBjb21wb25lbnQnLCBwcm9wcy50eXBlKTtcblxuICAgICAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG4gIHZhciBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMuZGVmYXVsdFZhbHVlO1xuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XG4gICAgaW5pdGlhbENoZWNrZWQ6IHByb3BzLmNoZWNrZWQgIT0gbnVsbCA/IHByb3BzLmNoZWNrZWQgOiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCxcbiAgICBpbml0aWFsVmFsdWU6IGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUgIT0gbnVsbCA/IHByb3BzLnZhbHVlIDogZGVmYXVsdFZhbHVlKSxcbiAgICBjb250cm9sbGVkOiBpc0NvbnRyb2xsZWQocHJvcHMpXG4gIH07XG59XG5mdW5jdGlvbiB1cGRhdGVDaGVja2VkKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIGNoZWNrZWQgPSBwcm9wcy5jaGVja2VkO1xuXG4gIGlmIChjaGVja2VkICE9IG51bGwpIHtcbiAgICBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsICdjaGVja2VkJywgY2hlY2tlZCwgZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcblxuICB7XG4gICAgdmFyIGNvbnRyb2xsZWQgPSBpc0NvbnRyb2xsZWQocHJvcHMpO1xuXG4gICAgaWYgKCFub2RlLl93cmFwcGVyU3RhdGUuY29udHJvbGxlZCAmJiBjb250cm9sbGVkICYmICFkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkKSB7XG4gICAgICBlcnJvcignQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYW4gdW5jb250cm9sbGVkIGlucHV0IHRvIGJlIGNvbnRyb2xsZWQuICcgKyAnVGhpcyBpcyBsaWtlbHkgY2F1c2VkIGJ5IHRoZSB2YWx1ZSBjaGFuZ2luZyBmcm9tIHVuZGVmaW5lZCB0byAnICsgJ2EgZGVmaW5lZCB2YWx1ZSwgd2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4uICcgKyAnRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgY29tcG9uZW50LiBNb3JlIGluZm86IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jb250cm9sbGVkLWNvbXBvbmVudHMnKTtcblxuICAgICAgZGlkV2FyblVuY29udHJvbGxlZFRvQ29udHJvbGxlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuX3dyYXBwZXJTdGF0ZS5jb250cm9sbGVkICYmICFjb250cm9sbGVkICYmICFkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkKSB7XG4gICAgICBlcnJvcignQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYSBjb250cm9sbGVkIGlucHV0IHRvIGJlIHVuY29udHJvbGxlZC4gJyArICdUaGlzIGlzIGxpa2VseSBjYXVzZWQgYnkgdGhlIHZhbHVlIGNoYW5naW5nIGZyb20gYSBkZWZpbmVkIHRvICcgKyAndW5kZWZpbmVkLCB3aGljaCBzaG91bGQgbm90IGhhcHBlbi4gJyArICdEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIGlucHV0ICcgKyAnZWxlbWVudCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb21wb25lbnQuIE1vcmUgaW5mbzogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycpO1xuXG4gICAgICBkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDaGVja2VkKGVsZW1lbnQsIHByb3BzKTtcbiAgdmFyIHZhbHVlID0gZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy52YWx1ZSk7XG4gIHZhciB0eXBlID0gcHJvcHMudHlwZTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIGlmICh0eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKHZhbHVlID09PSAwICYmIG5vZGUudmFsdWUgPT09ICcnIHx8IC8vIFdlIGV4cGxpY2l0bHkgd2FudCB0byBjb2VyY2UgdG8gbnVtYmVyIGhlcmUgaWYgcG9zc2libGUuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIG5vZGUudmFsdWUgIT0gdmFsdWUpIHtcbiAgICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0Jykge1xuICAgIC8vIFN1Ym1pdC9yZXNldCBpbnB1dHMgbmVlZCB0aGUgYXR0cmlidXRlIHJlbW92ZWQgY29tcGxldGVseSB0byBhdm9pZFxuICAgIC8vIGJsYW5rLXRleHQgYnV0dG9ucy5cbiAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZSgndmFsdWUnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB7XG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSB2YWx1ZSBhdHRyaWJ1dGUsIHRoZSB2YWx1ZSBjb21lcyBmcm9tIGEgY2FzY2FkZSBvZlxuICAgIC8vIHByb3BlcnRpZXM6XG4gICAgLy8gIDEuIFRoZSB2YWx1ZSBSZWFjdCBwcm9wZXJ0eVxuICAgIC8vICAyLiBUaGUgZGVmYXVsdFZhbHVlIFJlYWN0IHByb3BlcnR5XG4gICAgLy8gIDMuIE90aGVyd2lzZSB0aGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlXG4gICAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XG4gICAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgcHJvcHMudHlwZSwgdmFsdWUpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRWYWx1ZScpKSB7XG4gICAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgcHJvcHMudHlwZSwgZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy5kZWZhdWx0VmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSBjaGVja2VkIGF0dHJpYnV0ZSwgaXQgb25seSBjaGFuZ2VzIHdoZW4gaXQgbmVlZHNcbiAgICAvLyB0byBiZSByZW1vdmVkLCBzdWNoIGFzIHRyYW5zaXRpb25pbmcgZnJvbSBhIGNoZWNrYm94IGludG8gYSB0ZXh0IGlucHV0XG4gICAgaWYgKHByb3BzLmNoZWNrZWQgPT0gbnVsbCAmJiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCAhPSBudWxsKSB7XG4gICAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFwcm9wcy5kZWZhdWx0Q2hlY2tlZDtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RNb3VudFdyYXBwZXIoZWxlbWVudCwgcHJvcHMsIGlzSHlkcmF0aW5nKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDsgLy8gRG8gbm90IGFzc2lnbiB2YWx1ZSBpZiBpdCBpcyBhbHJlYWR5IHNldC4gVGhpcyBwcmV2ZW50cyB1c2VyIHRleHQgaW5wdXRcbiAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxuXG4gIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSB8fCBwcm9wcy5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdFZhbHVlJykpIHtcbiAgICB2YXIgdHlwZSA9IHByb3BzLnR5cGU7XG4gICAgdmFyIGlzQnV0dG9uID0gdHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0JzsgLy8gQXZvaWQgc2V0dGluZyB2YWx1ZSBhdHRyaWJ1dGUgb24gc3VibWl0L3Jlc2V0IGlucHV0cyBhcyBpdCBvdmVycmlkZXMgdGhlXG4gICAgLy8gZGVmYXVsdCB2YWx1ZSBwcm92aWRlZCBieSB0aGUgYnJvd3Nlci4gU2VlOiAjMTI4NzJcblxuICAgIGlmIChpc0J1dHRvbiAmJiAocHJvcHMudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBwcm9wcy52YWx1ZSA9PT0gbnVsbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgaW5pdGlhbFZhbHVlID0gdG9TdHJpbmcobm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSk7IC8vIERvIG5vdCBhc3NpZ24gdmFsdWUgaWYgaXQgaXMgYWxyZWFkeSBzZXQuIFRoaXMgcHJldmVudHMgdXNlciB0ZXh0IGlucHV0XG4gICAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxuXG4gICAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgICAge1xuICAgICAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIHZhbHVlIGF0dHJpYnV0ZSwgdGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCB1c2VcbiAgICAgICAgLy8gdGhlIHdyYXBwZXJTdGF0ZS5faW5pdGlhbFZhbHVlIHByb3BlcnR5LiBUaGlzIHVzZXM6XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgMS4gVGhlIHZhbHVlIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgICAgICAvLyAgIDIuIFRoZSBkZWZhdWx0VmFsdWUgUmVhY3QgcHJvcGVydHkgd2hlbiBwcmVzZW50XG4gICAgICAgIC8vICAgMy4gQW4gZW1wdHkgc3RyaW5nXG4gICAgICAgIGlmIChpbml0aWFsVmFsdWUgIT09IG5vZGUudmFsdWUpIHtcbiAgICAgICAgICBub2RlLnZhbHVlID0gaW5pdGlhbFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gT3RoZXJ3aXNlLCB0aGUgdmFsdWUgYXR0cmlidXRlIGlzIHN5bmNocm9uaXplZCB0byB0aGUgcHJvcGVydHksXG4gICAgICAvLyBzbyB3ZSBhc3NpZ24gZGVmYXVsdFZhbHVlIHRvIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSB2YWx1ZSBwcm9wZXJ0eVxuICAgICAgLy8gYXNzaWdubWVudCBzdGVwIGFib3ZlLlxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSBpbml0aWFsVmFsdWU7XG4gICAgfVxuICB9IC8vIE5vcm1hbGx5LCB3ZSdkIGp1c3QgZG8gYG5vZGUuY2hlY2tlZCA9IG5vZGUuY2hlY2tlZGAgdXBvbiBpbml0aWFsIG1vdW50LCBsZXNzIHRoaXMgYnVnXG4gIC8vIHRoaXMgaXMgbmVlZGVkIHRvIHdvcmsgYXJvdW5kIGEgY2hyb21lIGJ1ZyB3aGVyZSBzZXR0aW5nIGRlZmF1bHRDaGVja2VkXG4gIC8vIHdpbGwgc29tZXRpbWVzIGluZmx1ZW5jZSB0aGUgdmFsdWUgb2YgY2hlY2tlZCAoZXZlbiBhZnRlciBkZXRhY2htZW50KS5cbiAgLy8gUmVmZXJlbmNlOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD02MDg0MTZcbiAgLy8gV2UgbmVlZCB0byB0ZW1wb3JhcmlseSB1bnNldCBuYW1lIHRvIGF2b2lkIGRpc3J1cHRpbmcgcmFkaW8gYnV0dG9uIGdyb3Vwcy5cblxuXG4gIHZhciBuYW1lID0gbm9kZS5uYW1lO1xuXG4gIGlmIChuYW1lICE9PSAnJykge1xuICAgIG5vZGUubmFtZSA9ICcnO1xuICB9XG5cbiAge1xuICAgIC8vIFdoZW4gc3luY2luZyB0aGUgY2hlY2tlZCBhdHRyaWJ1dGUsIGJvdGggdGhlIGNoZWNrZWQgcHJvcGVydHkgYW5kXG4gICAgLy8gYXR0cmlidXRlIGFyZSBhc3NpZ25lZCBhdCB0aGUgc2FtZSB0aW1lIHVzaW5nIGRlZmF1bHRDaGVja2VkLiBUaGlzIHVzZXM6XG4gICAgLy9cbiAgICAvLyAgIDEuIFRoZSBjaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgIC8vICAgMi4gVGhlIGRlZmF1bHRDaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgIC8vICAgMy4gT3RoZXJ3aXNlLCBmYWxzZVxuICAgIG5vZGUuZGVmYXVsdENoZWNrZWQgPSAhbm9kZS5kZWZhdWx0Q2hlY2tlZDtcbiAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWQ7XG4gIH1cblxuICBpZiAobmFtZSAhPT0gJycpIHtcbiAgICBub2RlLm5hbWUgPSBuYW1lO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdXBkYXRlV3JhcHBlcihub2RlLCBwcm9wcyk7XG4gIHVwZGF0ZU5hbWVkQ291c2lucyhub2RlLCBwcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU5hbWVkQ291c2lucyhyb290Tm9kZSwgcHJvcHMpIHtcbiAgdmFyIG5hbWUgPSBwcm9wcy5uYW1lO1xuXG4gIGlmIChwcm9wcy50eXBlID09PSAncmFkaW8nICYmIG5hbWUgIT0gbnVsbCkge1xuICAgIHZhciBxdWVyeVJvb3QgPSByb290Tm9kZTtcblxuICAgIHdoaWxlIChxdWVyeVJvb3QucGFyZW50Tm9kZSkge1xuICAgICAgcXVlcnlSb290ID0gcXVlcnlSb290LnBhcmVudE5vZGU7XG4gICAgfSAvLyBJZiBgcm9vdE5vZGUuZm9ybWAgd2FzIG5vbi1udWxsLCB0aGVuIHdlIGNvdWxkIHRyeSBgZm9ybS5lbGVtZW50c2AsXG4gICAgLy8gYnV0IHRoYXQgc29tZXRpbWVzIGJlaGF2ZXMgc3RyYW5nZWx5IGluIElFOC4gV2UgY291bGQgYWxzbyB0cnkgdXNpbmdcbiAgICAvLyBgZm9ybS5nZXRFbGVtZW50c0J5TmFtZWAsIGJ1dCB0aGF0IHdpbGwgb25seSByZXR1cm4gZGlyZWN0IGNoaWxkcmVuXG4gICAgLy8gYW5kIHdvbid0IGluY2x1ZGUgaW5wdXRzIHRoYXQgdXNlIHRoZSBIVE1MNSBgZm9ybT1gIGF0dHJpYnV0ZS4gU2luY2VcbiAgICAvLyB0aGUgaW5wdXQgbWlnaHQgbm90IGV2ZW4gYmUgaW4gYSBmb3JtLiBJdCBtaWdodCBub3QgZXZlbiBiZSBpbiB0aGVcbiAgICAvLyBkb2N1bWVudC4gTGV0J3MganVzdCB1c2UgdGhlIGxvY2FsIGBxdWVyeVNlbGVjdG9yQWxsYCB0byBlbnN1cmUgd2UgZG9uJ3RcbiAgICAvLyBtaXNzIGFueXRoaW5nLlxuXG5cbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKG5hbWUsICduYW1lJyk7XG4gICAgfVxuXG4gICAgdmFyIGdyb3VwID0gcXVlcnlSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9JyArIEpTT04uc3RyaW5naWZ5KCcnICsgbmFtZSkgKyAnXVt0eXBlPVwicmFkaW9cIl0nKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ3JvdXAubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBvdGhlck5vZGUgPSBncm91cFtpXTtcblxuICAgICAgaWYgKG90aGVyTm9kZSA9PT0gcm9vdE5vZGUgfHwgb3RoZXJOb2RlLmZvcm0gIT09IHJvb3ROb2RlLmZvcm0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IC8vIFRoaXMgd2lsbCB0aHJvdyBpZiByYWRpbyBidXR0b25zIHJlbmRlcmVkIGJ5IGRpZmZlcmVudCBjb3BpZXMgb2YgUmVhY3RcbiAgICAgIC8vIGFuZCB0aGUgc2FtZSBuYW1lIGFyZSByZW5kZXJlZCBpbnRvIHRoZSBzYW1lIGZvcm0gKHNhbWUgYXMgIzE5MzkpLlxuICAgICAgLy8gVGhhdCdzIHByb2JhYmx5IG9rYXk7IHdlIGRvbid0IHN1cHBvcnQgaXQganVzdCBhcyB3ZSBkb24ndCBzdXBwb3J0XG4gICAgICAvLyBtaXhpbmcgUmVhY3QgcmFkaW8gYnV0dG9ucyB3aXRoIG5vbi1SZWFjdCBvbmVzLlxuXG5cbiAgICAgIHZhciBvdGhlclByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShvdGhlck5vZGUpO1xuXG4gICAgICBpZiAoIW90aGVyUHJvcHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZWFjdERPTUlucHV0OiBNaXhpbmcgUmVhY3QgYW5kIG5vbi1SZWFjdCByYWRpbyBpbnB1dHMgd2l0aCB0aGUgJyArICdzYW1lIGBuYW1lYCBpcyBub3Qgc3VwcG9ydGVkLicpO1xuICAgICAgfSAvLyBXZSBuZWVkIHVwZGF0ZSB0aGUgdHJhY2tlZCB2YWx1ZSBvbiB0aGUgbmFtZWQgY291c2luIHNpbmNlIHRoZSB2YWx1ZVxuICAgICAgLy8gd2FzIGNoYW5nZWQgYnV0IHRoZSBpbnB1dCBzYXcgbm8gZXZlbnQgb3IgdmFsdWUgc2V0XG5cblxuICAgICAgdXBkYXRlVmFsdWVJZkNoYW5nZWQob3RoZXJOb2RlKTsgLy8gSWYgdGhpcyBpcyBhIGNvbnRyb2xsZWQgcmFkaW8gYnV0dG9uIGdyb3VwLCBmb3JjaW5nIHRoZSBpbnB1dCB0aGF0XG4gICAgICAvLyB3YXMgcHJldmlvdXNseSBjaGVja2VkIHRvIHVwZGF0ZSB3aWxsIGNhdXNlIGl0IHRvIGJlIGNvbWUgcmUtY2hlY2tlZFxuICAgICAgLy8gYXMgYXBwcm9wcmlhdGUuXG5cbiAgICAgIHVwZGF0ZVdyYXBwZXIob3RoZXJOb2RlLCBvdGhlclByb3BzKTtcbiAgICB9XG4gIH1cbn0gLy8gSW4gQ2hyb21lLCBhc3NpZ25pbmcgZGVmYXVsdFZhbHVlIHRvIGNlcnRhaW4gaW5wdXQgdHlwZXMgdHJpZ2dlcnMgaW5wdXQgdmFsaWRhdGlvbi5cbi8vIEZvciBudW1iZXIgaW5wdXRzLCB0aGUgZGlzcGxheSB2YWx1ZSBsb3NlcyB0cmFpbGluZyBkZWNpbWFsIHBvaW50cy4gRm9yIGVtYWlsIGlucHV0cyxcbi8vIENocm9tZSByYWlzZXMgXCJUaGUgc3BlY2lmaWVkIHZhbHVlIDx4PiBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXCIuXG4vL1xuLy8gSGVyZSB3ZSBjaGVjayB0byBzZWUgaWYgdGhlIGRlZmF1bHRWYWx1ZSBoYXMgYWN0dWFsbHkgY2hhbmdlZCwgYXZvaWRpbmcgdGhlc2UgcHJvYmxlbXNcbi8vIHdoZW4gdGhlIHVzZXIgaXMgaW5wdXR0aW5nIHRleHRcbi8vXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzcyNTNcblxuXG5mdW5jdGlvbiBzZXREZWZhdWx0VmFsdWUobm9kZSwgdHlwZSwgdmFsdWUpIHtcbiAgaWYgKCAvLyBGb2N1c2VkIG51bWJlciBpbnB1dHMgc3luY2hyb25pemUgb24gYmx1ci4gU2VlIENoYW5nZUV2ZW50UGx1Z2luLmpzXG4gIHR5cGUgIT09ICdudW1iZXInIHx8IGdldEFjdGl2ZUVsZW1lbnQobm9kZS5vd25lckRvY3VtZW50KSAhPT0gbm9kZSkge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IHRvU3RyaW5nKG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5kZWZhdWx0VmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBkaWRXYXJuU2VsZWN0ZWRTZXRPbk9wdGlvbiA9IGZhbHNlO1xudmFyIGRpZFdhcm5JbnZhbGlkQ2hpbGQgPSBmYWxzZTtcbnZhciBkaWRXYXJuSW52YWxpZElubmVySFRNTCA9IGZhbHNlO1xuLyoqXG4gKiBJbXBsZW1lbnRzIGFuIDxvcHRpb24+IGhvc3QgY29tcG9uZW50IHRoYXQgd2FybnMgd2hlbiBgc2VsZWN0ZWRgIGlzIHNldC5cbiAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BzKGVsZW1lbnQsIHByb3BzKSB7XG4gIHtcbiAgICAvLyBJZiBhIHZhbHVlIGlzIG5vdCBwcm92aWRlZCwgdGhlbiB0aGUgY2hpbGRyZW4gbXVzdCBiZSBzaW1wbGUuXG4gICAgaWYgKHByb3BzLnZhbHVlID09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdvYmplY3QnICYmIHByb3BzLmNoaWxkcmVuICE9PSBudWxsKSB7XG4gICAgICAgIFJlYWN0LkNoaWxkcmVuLmZvckVhY2gocHJvcHMuY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgIGlmIChjaGlsZCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGNoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghZGlkV2FybkludmFsaWRDaGlsZCkge1xuICAgICAgICAgICAgZGlkV2FybkludmFsaWRDaGlsZCA9IHRydWU7XG5cbiAgICAgICAgICAgIGVycm9yKCdDYW5ub3QgaW5mZXIgdGhlIG9wdGlvbiB2YWx1ZSBvZiBjb21wbGV4IGNoaWxkcmVuLiAnICsgJ1Bhc3MgYSBgdmFsdWVgIHByb3Agb3IgdXNlIGEgcGxhaW4gc3RyaW5nIGFzIGNoaWxkcmVuIHRvIDxvcHRpb24+LicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCFkaWRXYXJuSW52YWxpZElubmVySFRNTCkge1xuICAgICAgICAgIGRpZFdhcm5JbnZhbGlkSW5uZXJIVE1MID0gdHJ1ZTtcblxuICAgICAgICAgIGVycm9yKCdQYXNzIGEgYHZhbHVlYCBwcm9wIGlmIHlvdSBzZXQgZGFuZ2Vyb3VzbHlJbm5lckhUTUwgc28gUmVhY3Qga25vd3MgJyArICd3aGljaCB2YWx1ZSBzaG91bGQgYmUgc2VsZWN0ZWQuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIFRPRE86IFJlbW92ZSBzdXBwb3J0IGZvciBgc2VsZWN0ZWRgIGluIDxvcHRpb24+LlxuXG5cbiAgICBpZiAocHJvcHMuc2VsZWN0ZWQgIT0gbnVsbCAmJiAhZGlkV2FyblNlbGVjdGVkU2V0T25PcHRpb24pIHtcbiAgICAgIGVycm9yKCdVc2UgdGhlIGBkZWZhdWx0VmFsdWVgIG9yIGB2YWx1ZWAgcHJvcHMgb24gPHNlbGVjdD4gaW5zdGVhZCBvZiAnICsgJ3NldHRpbmcgYHNlbGVjdGVkYCBvbiA8b3B0aW9uPi4nKTtcblxuICAgICAgZGlkV2FyblNlbGVjdGVkU2V0T25PcHRpb24gPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlciQxKGVsZW1lbnQsIHByb3BzKSB7XG4gIC8vIHZhbHVlPVwiXCIgc2hvdWxkIG1ha2UgYSB2YWx1ZSBhdHRyaWJ1dGUgKCM2MjE5KVxuICBpZiAocHJvcHMudmFsdWUgIT0gbnVsbCkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUpKSk7XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDE7XG5cbntcbiAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDEgPSBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkge1xuICB2YXIgb3duZXJOYW1lID0gZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKTtcblxuICBpZiAob3duZXJOYW1lKSB7XG4gICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG93bmVyTmFtZSArICdgLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciB2YWx1ZVByb3BOYW1lcyA9IFsndmFsdWUnLCAnZGVmYXVsdFZhbHVlJ107XG4vKipcbiAqIFZhbGlkYXRpb24gZnVuY3Rpb24gZm9yIGB2YWx1ZWAgYW5kIGBkZWZhdWx0VmFsdWVgLlxuICovXG5cbmZ1bmN0aW9uIGNoZWNrU2VsZWN0UHJvcFR5cGVzKHByb3BzKSB7XG4gIHtcbiAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdzZWxlY3QnLCBwcm9wcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlUHJvcE5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgcHJvcE5hbWUgPSB2YWx1ZVByb3BOYW1lc1tpXTtcblxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgcHJvcE5hbWVJc0FycmF5ID0gaXNBcnJheShwcm9wc1twcm9wTmFtZV0pO1xuXG4gICAgICBpZiAocHJvcHMubXVsdGlwbGUgJiYgIXByb3BOYW1lSXNBcnJheSkge1xuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGFuIGFycmF5IGlmICcgKyAnYG11bHRpcGxlYCBpcyB0cnVlLiVzJywgcHJvcE5hbWUsIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpKTtcbiAgICAgIH0gZWxzZSBpZiAoIXByb3BzLm11bHRpcGxlICYmIHByb3BOYW1lSXNBcnJheSkge1xuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGEgc2NhbGFyICcgKyAndmFsdWUgaWYgYG11bHRpcGxlYCBpcyBmYWxzZS4lcycsIHByb3BOYW1lLCBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU9wdGlvbnMobm9kZSwgbXVsdGlwbGUsIHByb3BWYWx1ZSwgc2V0RGVmYXVsdFNlbGVjdGVkKSB7XG4gIHZhciBvcHRpb25zID0gbm9kZS5vcHRpb25zO1xuXG4gIGlmIChtdWx0aXBsZSkge1xuICAgIHZhciBzZWxlY3RlZFZhbHVlcyA9IHByb3BWYWx1ZTtcbiAgICB2YXIgc2VsZWN0ZWRWYWx1ZSA9IHt9O1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gUHJlZml4IHRvIGF2b2lkIGNoYW9zIHdpdGggc3BlY2lhbCBrZXlzLlxuICAgICAgc2VsZWN0ZWRWYWx1ZVsnJCcgKyBzZWxlY3RlZFZhbHVlc1tpXV0gPSB0cnVlO1xuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBvcHRpb25zLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIHNlbGVjdGVkID0gc2VsZWN0ZWRWYWx1ZS5oYXNPd25Qcm9wZXJ0eSgnJCcgKyBvcHRpb25zW19pXS52YWx1ZSk7XG5cbiAgICAgIGlmIChvcHRpb25zW19pXS5zZWxlY3RlZCAhPT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgb3B0aW9uc1tfaV0uc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdGVkICYmIHNldERlZmF1bHRTZWxlY3RlZCkge1xuICAgICAgICBvcHRpb25zW19pXS5kZWZhdWx0U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBEbyBub3Qgc2V0IGBzZWxlY3QudmFsdWVgIGFzIGV4YWN0IGJlaGF2aW9yIGlzbid0IGNvbnNpc3RlbnQgYWNyb3NzIGFsbFxuICAgIC8vIGJyb3dzZXJzIGZvciBhbGwgY2FzZXMuXG4gICAgdmFyIF9zZWxlY3RlZFZhbHVlID0gdG9TdHJpbmcoZ2V0VG9TdHJpbmdWYWx1ZShwcm9wVmFsdWUpKTtcblxuICAgIHZhciBkZWZhdWx0U2VsZWN0ZWQgPSBudWxsO1xuXG4gICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgb3B0aW9ucy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICBpZiAob3B0aW9uc1tfaTJdLnZhbHVlID09PSBfc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICBvcHRpb25zW19pMl0uc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChzZXREZWZhdWx0U2VsZWN0ZWQpIHtcbiAgICAgICAgICBvcHRpb25zW19pMl0uZGVmYXVsdFNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRlZmF1bHRTZWxlY3RlZCA9PT0gbnVsbCAmJiAhb3B0aW9uc1tfaTJdLmRpc2FibGVkKSB7XG4gICAgICAgIGRlZmF1bHRTZWxlY3RlZCA9IG9wdGlvbnNbX2kyXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdFNlbGVjdGVkICE9PSBudWxsKSB7XG4gICAgICBkZWZhdWx0U2VsZWN0ZWQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBJbXBsZW1lbnRzIGEgPHNlbGVjdD4gaG9zdCBjb21wb25lbnQgdGhhdCBhbGxvd3Mgb3B0aW9uYWxseSBzZXR0aW5nIHRoZVxuICogcHJvcHMgYHZhbHVlYCBhbmQgYGRlZmF1bHRWYWx1ZWAuIElmIGBtdWx0aXBsZWAgaXMgZmFsc2UsIHRoZSBwcm9wIG11c3QgYmUgYVxuICogc3RyaW5nYWJsZS4gSWYgYG11bHRpcGxlYCBpcyB0cnVlLCB0aGUgcHJvcCBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ2FibGVzLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGNoYW5nZSB0aGVcbiAqIHNlbGVjdGVkIG9wdGlvbiB3aWxsIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgcmVuZGVyZWQgb3B0aW9ucy5cbiAqXG4gKiBJZiBpdCBpcyBzdXBwbGllZCAoYW5kIG5vdCBudWxsL3VuZGVmaW5lZCksIHRoZSByZW5kZXJlZCBvcHRpb25zIHdpbGwgbm90XG4gKiB1cGRhdGUgaW4gcmVzcG9uc2UgdG8gdXNlciBhY3Rpb25zLiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIG9wdGlvbnMgdG8gdXBkYXRlLlxuICpcbiAqIElmIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCBhbnkgb3B0aW9ucyB3aXRoIHRoZSBzdXBwbGllZCB2YWx1ZXMgd2lsbCBiZVxuICogc2VsZWN0ZWQuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMkMShlbGVtZW50LCBwcm9wcykge1xuICByZXR1cm4gYXNzaWduKHt9LCBwcm9wcywge1xuICAgIHZhbHVlOiB1bmRlZmluZWRcbiAgfSk7XG59XG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlJDEoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIHtcbiAgICBjaGVja1NlbGVjdFByb3BUeXBlcyhwcm9wcyk7XG4gIH1cblxuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XG4gICAgd2FzTXVsdGlwbGU6ICEhcHJvcHMubXVsdGlwbGVcbiAgfTtcblxuICB7XG4gICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWRpZFdhcm5WYWx1ZURlZmF1bHRWYWx1ZSQxKSB7XG4gICAgICBlcnJvcignU2VsZWN0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBzZWxlY3QgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycpO1xuXG4gICAgICBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSA9IHRydWU7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICBub2RlLm11bHRpcGxlID0gISFwcm9wcy5tdWx0aXBsZTtcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XG5cbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XG4gIH0gZWxzZSBpZiAocHJvcHMuZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHByb3BzLmRlZmF1bHRWYWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RVcGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIHdhc011bHRpcGxlID0gbm9kZS5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlO1xuICBub2RlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGUgPSAhIXByb3BzLm11bHRpcGxlO1xuICB2YXIgdmFsdWUgPSBwcm9wcy52YWx1ZTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgdmFsdWUsIGZhbHNlKTtcbiAgfSBlbHNlIGlmICh3YXNNdWx0aXBsZSAhPT0gISFwcm9wcy5tdWx0aXBsZSkge1xuICAgIC8vIEZvciBzaW1wbGljaXR5LCByZWFwcGx5IGBkZWZhdWx0VmFsdWVgIGlmIGBtdWx0aXBsZWAgaXMgdG9nZ2xlZC5cbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgcHJvcHMuZGVmYXVsdFZhbHVlLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmV2ZXJ0IHRoZSBzZWxlY3QgYmFjayB0byBpdHMgZGVmYXVsdCB1bnNlbGVjdGVkIHN0YXRlLlxuICAgICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCBwcm9wcy5tdWx0aXBsZSA/IFtdIDogJycsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMShlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG4gIHZhciB2YWx1ZSA9IHByb3BzLnZhbHVlO1xuXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCB2YWx1ZSwgZmFsc2UpO1xuICB9XG59XG5cbnZhciBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IGZhbHNlO1xuXG4vKipcbiAqIEltcGxlbWVudHMgYSA8dGV4dGFyZWE+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIHNldHRpbmcgYHZhbHVlYCwgYW5kXG4gKiBgZGVmYXVsdFZhbHVlYC4gVGhpcyBkaWZmZXJzIGZyb20gdGhlIHRyYWRpdGlvbmFsIERPTSBBUEkgYmVjYXVzZSB2YWx1ZSBpc1xuICogdXN1YWxseSBzZXQgYXMgUENEQVRBIGNoaWxkcmVuLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGFmZmVjdCB0aGVcbiAqIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgc3VwcGxpZWQgKGFuZCBub3QgbnVsbC91bmRlZmluZWQpLCB0aGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsXG4gKiBub3QgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIHdpdGggYW4gZW1wdHkgdmFsdWUsIHRoZSBwcm9wXG4gKiBgZGVmYXVsdFZhbHVlYCBpZiBzcGVjaWZpZWQsIG9yIHRoZSBjaGlsZHJlbiBjb250ZW50IChkZXByZWNhdGVkKS5cbiAqL1xuZnVuY3Rpb24gZ2V0SG9zdFByb3BzJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugb24gPHRleHRhcmVhPi4nKTtcbiAgfSAvLyBBbHdheXMgc2V0IGNoaWxkcmVuIHRvIHRoZSBzYW1lIHRoaW5nLiBJbiBJRTksIHRoZSBzZWxlY3Rpb24gcmFuZ2Ugd2lsbFxuICAvLyBnZXQgcmVzZXQgaWYgYHRleHRDb250ZW50YCBpcyBtdXRhdGVkLiAgV2UgY291bGQgYWRkIGEgY2hlY2sgaW4gc2V0VGV4dENvbnRlbnRcbiAgLy8gdG8gb25seSBzZXQgdGhlIHZhbHVlIGlmL3doZW4gdGhlIHZhbHVlIGRpZmZlcnMgZnJvbSB0aGUgbm9kZSB2YWx1ZSAod2hpY2ggd291bGRcbiAgLy8gY29tcGxldGVseSBzb2x2ZSB0aGlzIElFOSBidWcpLCBidXQgU2ViYXN0aWFuK1NvcGhpZSBzZWVtZWQgdG8gbGlrZSB0aGlzXG4gIC8vIHNvbHV0aW9uLiBUaGUgdmFsdWUgY2FuIGJlIGEgYm9vbGVhbiBvciBvYmplY3Qgc28gdGhhdCdzIHdoeSBpdCdzIGZvcmNlZFxuICAvLyB0byBiZSBhIHN0cmluZy5cblxuXG4gIHZhciBob3N0UHJvcHMgPSBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICBjaGlsZHJlbjogdG9TdHJpbmcobm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSlcbiAgfSk7XG5cbiAgcmV0dXJuIGhvc3RQcm9wcztcbn1cbmZ1bmN0aW9uIGluaXRXcmFwcGVyU3RhdGUkMihlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG5cbiAge1xuICAgIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHMoJ3RleHRhcmVhJywgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWRpZFdhcm5WYWxEZWZhdWx0VmFsKSB7XG4gICAgICBlcnJvcignJXMgY29udGFpbnMgYSB0ZXh0YXJlYSB3aXRoIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wcy4gJyArICdUZXh0YXJlYSBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgdGV4dGFyZWEgJyArICdhbmQgcmVtb3ZlIG9uZSBvZiB0aGVzZSBwcm9wcy4gTW9yZSBpbmZvOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcpO1xuXG4gICAgICBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGluaXRpYWxWYWx1ZSA9IHByb3BzLnZhbHVlOyAvLyBPbmx5IGJvdGhlciBmZXRjaGluZyBkZWZhdWx0IHZhbHVlIGlmIHdlJ3JlIGdvaW5nIHRvIHVzZSBpdFxuXG4gIGlmIChpbml0aWFsVmFsdWUgPT0gbnVsbCkge1xuICAgIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgICAgICBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWU7XG5cbiAgICBpZiAoY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICBlcnJvcignVXNlIHRoZSBgZGVmYXVsdFZhbHVlYCBvciBgdmFsdWVgIHByb3BzIGluc3RlYWQgb2Ygc2V0dGluZyAnICsgJ2NoaWxkcmVuIG9uIDx0ZXh0YXJlYT4uJyk7XG4gICAgICB9XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJZiB5b3Ugc3VwcGx5IGBkZWZhdWx0VmFsdWVgIG9uIGEgPHRleHRhcmVhPiwgZG8gbm90IHBhc3MgY2hpbGRyZW4uJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCc8dGV4dGFyZWE+IGNhbiBvbmx5IGhhdmUgYXQgbW9zdCBvbmUgY2hpbGQuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlblswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGNoaWxkcmVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZWZhdWx0VmFsdWUgPT0gbnVsbCkge1xuICAgICAgZGVmYXVsdFZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgaW5pdGlhbFZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgbm9kZS5fd3JhcHBlclN0YXRlID0ge1xuICAgIGluaXRpYWxWYWx1ZTogZ2V0VG9TdHJpbmdWYWx1ZShpbml0aWFsVmFsdWUpXG4gIH07XG59XG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgdmFsdWUgPSBnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLnZhbHVlKTtcbiAgdmFyIGRlZmF1bHRWYWx1ZSA9IGdldFRvU3RyaW5nVmFsdWUocHJvcHMuZGVmYXVsdFZhbHVlKTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIC8vIENhc3QgYHZhbHVlYCB0byBhIHN0cmluZyB0byBlbnN1cmUgdGhlIHZhbHVlIGlzIHNldCBjb3JyZWN0bHkuIFdoaWxlXG4gICAgLy8gYnJvd3NlcnMgdHlwaWNhbGx5IGRvIHRoaXMgYXMgbmVjZXNzYXJ5LCBqc2RvbSBkb2Vzbid0LlxuICAgIHZhciBuZXdWYWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTsgLy8gVG8gYXZvaWQgc2lkZSBlZmZlY3RzIChzdWNoIGFzIGxvc2luZyB0ZXh0IHNlbGVjdGlvbiksIG9ubHkgc2V0IHZhbHVlIGlmIGNoYW5nZWRcblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gbm9kZS52YWx1ZSkge1xuICAgICAgbm9kZS52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCAmJiBub2RlLmRlZmF1bHRWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIG5vZGUuZGVmYXVsdFZhbHVlID0gbmV3VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyhkZWZhdWx0VmFsdWUpO1xuICB9XG59XG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDMoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50OyAvLyBUaGlzIGlzIGluIHBvc3RNb3VudCBiZWNhdXNlIHdlIG5lZWQgYWNjZXNzIHRvIHRoZSBET00gbm9kZSwgd2hpY2ggaXMgbm90XG4gIC8vIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBtb3VudGVkLlxuXG4gIHZhciB0ZXh0Q29udGVudCA9IG5vZGUudGV4dENvbnRlbnQ7IC8vIE9ubHkgc2V0IG5vZGUudmFsdWUgaWYgdGV4dENvbnRlbnQgaXMgZXF1YWwgdG8gdGhlIGV4cGVjdGVkXG4gIC8vIGluaXRpYWwgdmFsdWUuIEluIElFMTAvSUUxMSB0aGVyZSBpcyBhIGJ1ZyB3aGVyZSB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlXG4gIC8vIHdpbGwgcG9wdWxhdGUgdGV4dENvbnRlbnQgYXMgd2VsbC5cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTAxNTI1L1xuXG4gIGlmICh0ZXh0Q29udGVudCA9PT0gbm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSkge1xuICAgIGlmICh0ZXh0Q29udGVudCAhPT0gJycgJiYgdGV4dENvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgIG5vZGUudmFsdWUgPSB0ZXh0Q29udGVudDtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMihlbGVtZW50LCBwcm9wcykge1xuICAvLyBET00gY29tcG9uZW50IGlzIHN0aWxsIG1vdW50ZWQ7IHVwZGF0ZVxuICB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpO1xufVxuXG52YXIgSFRNTF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc7XG52YXIgTUFUSF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCc7XG52YXIgU1ZHX05BTUVTUEFDRSA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7IC8vIEFzc3VtZXMgdGhlcmUgaXMgbm8gcGFyZW50IG5hbWVzcGFjZS5cblxuZnVuY3Rpb24gZ2V0SW50cmluc2ljTmFtZXNwYWNlKHR5cGUpIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnc3ZnJzpcbiAgICAgIHJldHVybiBTVkdfTkFNRVNQQUNFO1xuXG4gICAgY2FzZSAnbWF0aCc6XG4gICAgICByZXR1cm4gTUFUSF9OQU1FU1BBQ0U7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIEhUTUxfTkFNRVNQQUNFO1xuICB9XG59XG5mdW5jdGlvbiBnZXRDaGlsZE5hbWVzcGFjZShwYXJlbnROYW1lc3BhY2UsIHR5cGUpIHtcbiAgaWYgKHBhcmVudE5hbWVzcGFjZSA9PSBudWxsIHx8IHBhcmVudE5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcbiAgICAvLyBObyAob3IgZGVmYXVsdCkgcGFyZW50IG5hbWVzcGFjZTogcG90ZW50aWFsIGVudHJ5IHBvaW50LlxuICAgIHJldHVybiBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSk7XG4gIH1cblxuICBpZiAocGFyZW50TmFtZXNwYWNlID09PSBTVkdfTkFNRVNQQUNFICYmIHR5cGUgPT09ICdmb3JlaWduT2JqZWN0Jykge1xuICAgIC8vIFdlJ3JlIGxlYXZpbmcgU1ZHLlxuICAgIHJldHVybiBIVE1MX05BTUVTUEFDRTtcbiAgfSAvLyBCeSBkZWZhdWx0LCBwYXNzIG5hbWVzcGFjZSBiZWxvdy5cblxuXG4gIHJldHVybiBwYXJlbnROYW1lc3BhY2U7XG59XG5cbi8qIGdsb2JhbHMgTVNBcHAgKi9cblxuLyoqXG4gKiBDcmVhdGUgYSBmdW5jdGlvbiB3aGljaCBoYXMgJ3Vuc2FmZScgcHJpdmlsZWdlcyAocmVxdWlyZWQgYnkgd2luZG93czggYXBwcylcbiAqL1xudmFyIGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24gPSBmdW5jdGlvbiAoZnVuYykge1xuICBpZiAodHlwZW9mIE1TQXBwICE9PSAndW5kZWZpbmVkJyAmJiBNU0FwcC5leGVjVW5zYWZlTG9jYWxGdW5jdGlvbikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMiwgYXJnMykge1xuICAgICAgTVNBcHAuZXhlY1Vuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZnVuYyhhcmcwLCBhcmcxLCBhcmcyLCBhcmczKTtcbiAgICAgIH0pO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH1cbn07XG5cbnZhciByZXVzYWJsZVNWR0NvbnRhaW5lcjtcbi8qKlxuICogU2V0IHRoZSBpbm5lckhUTUwgcHJvcGVydHkgb2YgYSBub2RlXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxuICogQGludGVybmFsXG4gKi9cblxudmFyIHNldElubmVySFRNTCA9IGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKG5vZGUsIGh0bWwpIHtcbiAgaWYgKG5vZGUubmFtZXNwYWNlVVJJID09PSBTVkdfTkFNRVNQQUNFKSB7XG5cbiAgICBpZiAoISgnaW5uZXJIVE1MJyBpbiBub2RlKSkge1xuICAgICAgLy8gSUUgZG9lcyBub3QgaGF2ZSBpbm5lckhUTUwgZm9yIFNWRyBub2Rlcywgc28gaW5zdGVhZCB3ZSBpbmplY3QgdGhlXG4gICAgICAvLyBuZXcgbWFya3VwIGluIGEgdGVtcCBub2RlIGFuZCB0aGVuIG1vdmUgdGhlIGNoaWxkIG5vZGVzIGFjcm9zcyBpbnRvXG4gICAgICAvLyB0aGUgdGFyZ2V0IG5vZGVcbiAgICAgIHJldXNhYmxlU1ZHQ29udGFpbmVyID0gcmV1c2FibGVTVkdDb250YWluZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICByZXVzYWJsZVNWR0NvbnRhaW5lci5pbm5lckhUTUwgPSAnPHN2Zz4nICsgaHRtbC52YWx1ZU9mKCkudG9TdHJpbmcoKSArICc8L3N2Zz4nO1xuICAgICAgdmFyIHN2Z05vZGUgPSByZXVzYWJsZVNWR0NvbnRhaW5lci5maXJzdENoaWxkO1xuXG4gICAgICB3aGlsZSAobm9kZS5maXJzdENoaWxkKSB7XG4gICAgICAgIG5vZGUucmVtb3ZlQ2hpbGQobm9kZS5maXJzdENoaWxkKTtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKHN2Z05vZGUuZmlyc3RDaGlsZCkge1xuICAgICAgICBub2RlLmFwcGVuZENoaWxkKHN2Z05vZGUuZmlyc3RDaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBub2RlLmlubmVySFRNTCA9IGh0bWw7XG59KTtcblxuLyoqXG4gKiBIVE1MIG5vZGVUeXBlIHZhbHVlcyB0aGF0IHJlcHJlc2VudCB0aGUgdHlwZSBvZiB0aGUgbm9kZVxuICovXG52YXIgRUxFTUVOVF9OT0RFID0gMTtcbnZhciBURVhUX05PREUgPSAzO1xudmFyIENPTU1FTlRfTk9ERSA9IDg7XG52YXIgRE9DVU1FTlRfTk9ERSA9IDk7XG52YXIgRE9DVU1FTlRfRlJBR01FTlRfTk9ERSA9IDExO1xuXG4vKipcbiAqIFNldCB0aGUgdGV4dENvbnRlbnQgcHJvcGVydHkgb2YgYSBub2RlLiBGb3IgdGV4dCB1cGRhdGVzLCBpdCdzIGZhc3RlclxuICogdG8gc2V0IHRoZSBgbm9kZVZhbHVlYCBvZiB0aGUgVGV4dCBub2RlIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmdcbiAqIGAudGV4dENvbnRlbnRgIHdoaWNoIHdpbGwgcmVtb3ZlIHRoZSBleGlzdGluZyBub2RlIGFuZCBjcmVhdGUgYSBuZXcgb25lLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAqIEBpbnRlcm5hbFxuICovXG5cbnZhciBzZXRUZXh0Q29udGVudCA9IGZ1bmN0aW9uIChub2RlLCB0ZXh0KSB7XG4gIGlmICh0ZXh0KSB7XG4gICAgdmFyIGZpcnN0Q2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICBpZiAoZmlyc3RDaGlsZCAmJiBmaXJzdENoaWxkID09PSBub2RlLmxhc3RDaGlsZCAmJiBmaXJzdENoaWxkLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcbiAgICAgIGZpcnN0Q2hpbGQubm9kZVZhbHVlID0gdGV4dDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcbn07XG5cbi8vIExpc3QgZGVyaXZlZCBmcm9tIEdlY2tvIHNvdXJjZSBjb2RlOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvNGU2MzhlZmM3MS9sYXlvdXQvc3R5bGUvdGVzdC9wcm9wZXJ0eV9kYXRhYmFzZS5qc1xudmFyIHNob3J0aGFuZFRvTG9uZ2hhbmQgPSB7XG4gIGFuaW1hdGlvbjogWydhbmltYXRpb25EZWxheScsICdhbmltYXRpb25EaXJlY3Rpb24nLCAnYW5pbWF0aW9uRHVyYXRpb24nLCAnYW5pbWF0aW9uRmlsbE1vZGUnLCAnYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQnLCAnYW5pbWF0aW9uTmFtZScsICdhbmltYXRpb25QbGF5U3RhdGUnLCAnYW5pbWF0aW9uVGltaW5nRnVuY3Rpb24nXSxcbiAgYmFja2dyb3VuZDogWydiYWNrZ3JvdW5kQXR0YWNobWVudCcsICdiYWNrZ3JvdW5kQ2xpcCcsICdiYWNrZ3JvdW5kQ29sb3InLCAnYmFja2dyb3VuZEltYWdlJywgJ2JhY2tncm91bmRPcmlnaW4nLCAnYmFja2dyb3VuZFBvc2l0aW9uWCcsICdiYWNrZ3JvdW5kUG9zaXRpb25ZJywgJ2JhY2tncm91bmRSZXBlYXQnLCAnYmFja2dyb3VuZFNpemUnXSxcbiAgYmFja2dyb3VuZFBvc2l0aW9uOiBbJ2JhY2tncm91bmRQb3NpdGlvblgnLCAnYmFja2dyb3VuZFBvc2l0aW9uWSddLFxuICBib3JkZXI6IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyQm90dG9tV2lkdGgnLCAnYm9yZGVySW1hZ2VPdXRzZXQnLCAnYm9yZGVySW1hZ2VSZXBlYXQnLCAnYm9yZGVySW1hZ2VTbGljZScsICdib3JkZXJJbWFnZVNvdXJjZScsICdib3JkZXJJbWFnZVdpZHRoJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJMZWZ0U3R5bGUnLCAnYm9yZGVyTGVmdFdpZHRoJywgJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJywgJ2JvcmRlclRvcENvbG9yJywgJ2JvcmRlclRvcFN0eWxlJywgJ2JvcmRlclRvcFdpZHRoJ10sXG4gIGJvcmRlckJsb2NrRW5kOiBbJ2JvcmRlckJsb2NrRW5kQ29sb3InLCAnYm9yZGVyQmxvY2tFbmRTdHlsZScsICdib3JkZXJCbG9ja0VuZFdpZHRoJ10sXG4gIGJvcmRlckJsb2NrU3RhcnQ6IFsnYm9yZGVyQmxvY2tTdGFydENvbG9yJywgJ2JvcmRlckJsb2NrU3RhcnRTdHlsZScsICdib3JkZXJCbG9ja1N0YXJ0V2lkdGgnXSxcbiAgYm9yZGVyQm90dG9tOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckJvdHRvbVN0eWxlJywgJ2JvcmRlckJvdHRvbVdpZHRoJ10sXG4gIGJvcmRlckNvbG9yOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJSaWdodENvbG9yJywgJ2JvcmRlclRvcENvbG9yJ10sXG4gIGJvcmRlckltYWdlOiBbJ2JvcmRlckltYWdlT3V0c2V0JywgJ2JvcmRlckltYWdlUmVwZWF0JywgJ2JvcmRlckltYWdlU2xpY2UnLCAnYm9yZGVySW1hZ2VTb3VyY2UnLCAnYm9yZGVySW1hZ2VXaWR0aCddLFxuICBib3JkZXJJbmxpbmVFbmQ6IFsnYm9yZGVySW5saW5lRW5kQ29sb3InLCAnYm9yZGVySW5saW5lRW5kU3R5bGUnLCAnYm9yZGVySW5saW5lRW5kV2lkdGgnXSxcbiAgYm9yZGVySW5saW5lU3RhcnQ6IFsnYm9yZGVySW5saW5lU3RhcnRDb2xvcicsICdib3JkZXJJbmxpbmVTdGFydFN0eWxlJywgJ2JvcmRlcklubGluZVN0YXJ0V2lkdGgnXSxcbiAgYm9yZGVyTGVmdDogWydib3JkZXJMZWZ0Q29sb3InLCAnYm9yZGVyTGVmdFN0eWxlJywgJ2JvcmRlckxlZnRXaWR0aCddLFxuICBib3JkZXJSYWRpdXM6IFsnYm9yZGVyQm90dG9tTGVmdFJhZGl1cycsICdib3JkZXJCb3R0b21SaWdodFJhZGl1cycsICdib3JkZXJUb3BMZWZ0UmFkaXVzJywgJ2JvcmRlclRvcFJpZ2h0UmFkaXVzJ10sXG4gIGJvcmRlclJpZ2h0OiBbJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJ10sXG4gIGJvcmRlclN0eWxlOiBbJ2JvcmRlckJvdHRvbVN0eWxlJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclRvcFN0eWxlJ10sXG4gIGJvcmRlclRvcDogWydib3JkZXJUb3BDb2xvcicsICdib3JkZXJUb3BTdHlsZScsICdib3JkZXJUb3BXaWR0aCddLFxuICBib3JkZXJXaWR0aDogWydib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRXaWR0aCcsICdib3JkZXJUb3BXaWR0aCddLFxuICBjb2x1bW5SdWxlOiBbJ2NvbHVtblJ1bGVDb2xvcicsICdjb2x1bW5SdWxlU3R5bGUnLCAnY29sdW1uUnVsZVdpZHRoJ10sXG4gIGNvbHVtbnM6IFsnY29sdW1uQ291bnQnLCAnY29sdW1uV2lkdGgnXSxcbiAgZmxleDogWydmbGV4QmFzaXMnLCAnZmxleEdyb3cnLCAnZmxleFNocmluayddLFxuICBmbGV4RmxvdzogWydmbGV4RGlyZWN0aW9uJywgJ2ZsZXhXcmFwJ10sXG4gIGZvbnQ6IFsnZm9udEZhbWlseScsICdmb250RmVhdHVyZVNldHRpbmdzJywgJ2ZvbnRLZXJuaW5nJywgJ2ZvbnRMYW5ndWFnZU92ZXJyaWRlJywgJ2ZvbnRTaXplJywgJ2ZvbnRTaXplQWRqdXN0JywgJ2ZvbnRTdHJldGNoJywgJ2ZvbnRTdHlsZScsICdmb250VmFyaWFudCcsICdmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJywgJ2ZvbnRXZWlnaHQnLCAnbGluZUhlaWdodCddLFxuICBmb250VmFyaWFudDogWydmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJ10sXG4gIGdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXG4gIGdyaWQ6IFsnZ3JpZEF1dG9Db2x1bW5zJywgJ2dyaWRBdXRvRmxvdycsICdncmlkQXV0b1Jvd3MnLCAnZ3JpZFRlbXBsYXRlQXJlYXMnLCAnZ3JpZFRlbXBsYXRlQ29sdW1ucycsICdncmlkVGVtcGxhdGVSb3dzJ10sXG4gIGdyaWRBcmVhOiBbJ2dyaWRDb2x1bW5FbmQnLCAnZ3JpZENvbHVtblN0YXJ0JywgJ2dyaWRSb3dFbmQnLCAnZ3JpZFJvd1N0YXJ0J10sXG4gIGdyaWRDb2x1bW46IFsnZ3JpZENvbHVtbkVuZCcsICdncmlkQ29sdW1uU3RhcnQnXSxcbiAgZ3JpZENvbHVtbkdhcDogWydjb2x1bW5HYXAnXSxcbiAgZ3JpZEdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXG4gIGdyaWRSb3c6IFsnZ3JpZFJvd0VuZCcsICdncmlkUm93U3RhcnQnXSxcbiAgZ3JpZFJvd0dhcDogWydyb3dHYXAnXSxcbiAgZ3JpZFRlbXBsYXRlOiBbJ2dyaWRUZW1wbGF0ZUFyZWFzJywgJ2dyaWRUZW1wbGF0ZUNvbHVtbnMnLCAnZ3JpZFRlbXBsYXRlUm93cyddLFxuICBsaXN0U3R5bGU6IFsnbGlzdFN0eWxlSW1hZ2UnLCAnbGlzdFN0eWxlUG9zaXRpb24nLCAnbGlzdFN0eWxlVHlwZSddLFxuICBtYXJnaW46IFsnbWFyZ2luQm90dG9tJywgJ21hcmdpbkxlZnQnLCAnbWFyZ2luUmlnaHQnLCAnbWFyZ2luVG9wJ10sXG4gIG1hcmtlcjogWydtYXJrZXJFbmQnLCAnbWFya2VyTWlkJywgJ21hcmtlclN0YXJ0J10sXG4gIG1hc2s6IFsnbWFza0NsaXAnLCAnbWFza0NvbXBvc2l0ZScsICdtYXNrSW1hZ2UnLCAnbWFza01vZGUnLCAnbWFza09yaWdpbicsICdtYXNrUG9zaXRpb25YJywgJ21hc2tQb3NpdGlvblknLCAnbWFza1JlcGVhdCcsICdtYXNrU2l6ZSddLFxuICBtYXNrUG9zaXRpb246IFsnbWFza1Bvc2l0aW9uWCcsICdtYXNrUG9zaXRpb25ZJ10sXG4gIG91dGxpbmU6IFsnb3V0bGluZUNvbG9yJywgJ291dGxpbmVTdHlsZScsICdvdXRsaW5lV2lkdGgnXSxcbiAgb3ZlcmZsb3c6IFsnb3ZlcmZsb3dYJywgJ292ZXJmbG93WSddLFxuICBwYWRkaW5nOiBbJ3BhZGRpbmdCb3R0b20nLCAncGFkZGluZ0xlZnQnLCAncGFkZGluZ1JpZ2h0JywgJ3BhZGRpbmdUb3AnXSxcbiAgcGxhY2VDb250ZW50OiBbJ2FsaWduQ29udGVudCcsICdqdXN0aWZ5Q29udGVudCddLFxuICBwbGFjZUl0ZW1zOiBbJ2FsaWduSXRlbXMnLCAnanVzdGlmeUl0ZW1zJ10sXG4gIHBsYWNlU2VsZjogWydhbGlnblNlbGYnLCAnanVzdGlmeVNlbGYnXSxcbiAgdGV4dERlY29yYXRpb246IFsndGV4dERlY29yYXRpb25Db2xvcicsICd0ZXh0RGVjb3JhdGlvbkxpbmUnLCAndGV4dERlY29yYXRpb25TdHlsZSddLFxuICB0ZXh0RW1waGFzaXM6IFsndGV4dEVtcGhhc2lzQ29sb3InLCAndGV4dEVtcGhhc2lzU3R5bGUnXSxcbiAgdHJhbnNpdGlvbjogWyd0cmFuc2l0aW9uRGVsYXknLCAndHJhbnNpdGlvbkR1cmF0aW9uJywgJ3RyYW5zaXRpb25Qcm9wZXJ0eScsICd0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24nXSxcbiAgd29yZFdyYXA6IFsnb3ZlcmZsb3dXcmFwJ11cbn07XG5cbi8qKlxuICogQ1NTIHByb3BlcnRpZXMgd2hpY2ggYWNjZXB0IG51bWJlcnMgYnV0IGFyZSBub3QgaW4gdW5pdHMgb2YgXCJweFwiLlxuICovXG52YXIgaXNVbml0bGVzc051bWJlciA9IHtcbiAgYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6IHRydWUsXG4gIGFzcGVjdFJhdGlvOiB0cnVlLFxuICBib3JkZXJJbWFnZU91dHNldDogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VTbGljZTogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VXaWR0aDogdHJ1ZSxcbiAgYm94RmxleDogdHJ1ZSxcbiAgYm94RmxleEdyb3VwOiB0cnVlLFxuICBib3hPcmRpbmFsR3JvdXA6IHRydWUsXG4gIGNvbHVtbkNvdW50OiB0cnVlLFxuICBjb2x1bW5zOiB0cnVlLFxuICBmbGV4OiB0cnVlLFxuICBmbGV4R3JvdzogdHJ1ZSxcbiAgZmxleFBvc2l0aXZlOiB0cnVlLFxuICBmbGV4U2hyaW5rOiB0cnVlLFxuICBmbGV4TmVnYXRpdmU6IHRydWUsXG4gIGZsZXhPcmRlcjogdHJ1ZSxcbiAgZ3JpZEFyZWE6IHRydWUsXG4gIGdyaWRSb3c6IHRydWUsXG4gIGdyaWRSb3dFbmQ6IHRydWUsXG4gIGdyaWRSb3dTcGFuOiB0cnVlLFxuICBncmlkUm93U3RhcnQ6IHRydWUsXG4gIGdyaWRDb2x1bW46IHRydWUsXG4gIGdyaWRDb2x1bW5FbmQ6IHRydWUsXG4gIGdyaWRDb2x1bW5TcGFuOiB0cnVlLFxuICBncmlkQ29sdW1uU3RhcnQ6IHRydWUsXG4gIGZvbnRXZWlnaHQ6IHRydWUsXG4gIGxpbmVDbGFtcDogdHJ1ZSxcbiAgbGluZUhlaWdodDogdHJ1ZSxcbiAgb3BhY2l0eTogdHJ1ZSxcbiAgb3JkZXI6IHRydWUsXG4gIG9ycGhhbnM6IHRydWUsXG4gIHRhYlNpemU6IHRydWUsXG4gIHdpZG93czogdHJ1ZSxcbiAgekluZGV4OiB0cnVlLFxuICB6b29tOiB0cnVlLFxuICAvLyBTVkctcmVsYXRlZCBwcm9wZXJ0aWVzXG4gIGZpbGxPcGFjaXR5OiB0cnVlLFxuICBmbG9vZE9wYWNpdHk6IHRydWUsXG4gIHN0b3BPcGFjaXR5OiB0cnVlLFxuICBzdHJva2VEYXNoYXJyYXk6IHRydWUsXG4gIHN0cm9rZURhc2hvZmZzZXQ6IHRydWUsXG4gIHN0cm9rZU1pdGVybGltaXQ6IHRydWUsXG4gIHN0cm9rZU9wYWNpdHk6IHRydWUsXG4gIHN0cm9rZVdpZHRoOiB0cnVlXG59O1xuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJlZml4IHZlbmRvci1zcGVjaWZpYyBwcmVmaXgsIGVnOiBXZWJraXRcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgc3R5bGUgbmFtZSwgZWc6IHRyYW5zaXRpb25EdXJhdGlvblxuICogQHJldHVybiB7c3RyaW5nfSBzdHlsZSBuYW1lIHByZWZpeGVkIHdpdGggYHByZWZpeGAsIHByb3Blcmx5IGNhbWVsQ2FzZWQsIGVnOlxuICogV2Via2l0VHJhbnNpdGlvbkR1cmF0aW9uXG4gKi9cblxuZnVuY3Rpb24gcHJlZml4S2V5KHByZWZpeCwga2V5KSB7XG4gIHJldHVybiBwcmVmaXggKyBrZXkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBrZXkuc3Vic3RyaW5nKDEpO1xufVxuLyoqXG4gKiBTdXBwb3J0IHN0eWxlIG5hbWVzIHRoYXQgbWF5IGNvbWUgcGFzc2VkIGluIHByZWZpeGVkIGJ5IGFkZGluZyBwZXJtdXRhdGlvbnNcbiAqIG9mIHZlbmRvciBwcmVmaXhlcy5cbiAqL1xuXG5cbnZhciBwcmVmaXhlcyA9IFsnV2Via2l0JywgJ21zJywgJ01veicsICdPJ107IC8vIFVzaW5nIE9iamVjdC5rZXlzIGhlcmUsIG9yIGVsc2UgdGhlIHZhbmlsbGEgZm9yLWluIGxvb3AgbWFrZXMgSUU4IGdvIGludG8gYW5cbi8vIGluZmluaXRlIGxvb3AsIGJlY2F1c2UgaXQgaXRlcmF0ZXMgb3ZlciB0aGUgbmV3bHkgYWRkZWQgcHJvcHMgdG9vLlxuXG5PYmplY3Qua2V5cyhpc1VuaXRsZXNzTnVtYmVyKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gIHByZWZpeGVzLmZvckVhY2goZnVuY3Rpb24gKHByZWZpeCkge1xuICAgIGlzVW5pdGxlc3NOdW1iZXJbcHJlZml4S2V5KHByZWZpeCwgcHJvcCldID0gaXNVbml0bGVzc051bWJlcltwcm9wXTtcbiAgfSk7XG59KTtcblxuLyoqXG4gKiBDb252ZXJ0IGEgdmFsdWUgaW50byB0aGUgcHJvcGVyIGNzcyB3cml0YWJsZSB2YWx1ZS4gVGhlIHN0eWxlIG5hbWUgYG5hbWVgXG4gKiBzaG91bGQgYmUgbG9naWNhbCAobm8gaHlwaGVucyksIGFzIHNwZWNpZmllZFxuICogaW4gYENTU1Byb3BlcnR5LmlzVW5pdGxlc3NOdW1iZXJgLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIENTUyBwcm9wZXJ0eSBuYW1lIHN1Y2ggYXMgYHRvcE1hcmdpbmAuXG4gKiBAcGFyYW0geyp9IHZhbHVlIENTUyBwcm9wZXJ0eSB2YWx1ZSBzdWNoIGFzIGAxMHB4YC5cbiAqIEByZXR1cm4ge3N0cmluZ30gTm9ybWFsaXplZCBzdHlsZSB2YWx1ZSB3aXRoIGRpbWVuc2lvbnMgYXBwbGllZC5cbiAqL1xuXG5mdW5jdGlvbiBkYW5nZXJvdXNTdHlsZVZhbHVlKG5hbWUsIHZhbHVlLCBpc0N1c3RvbVByb3BlcnR5KSB7XG4gIC8vIE5vdGUgdGhhdCB3ZSd2ZSByZW1vdmVkIGVzY2FwZVRleHRGb3JCcm93c2VyKCkgY2FsbHMgaGVyZSBzaW5jZSB0aGVcbiAgLy8gd2hvbGUgc3RyaW5nIHdpbGwgYmUgZXNjYXBlZCB3aGVuIHRoZSBhdHRyaWJ1dGUgaXMgaW5qZWN0ZWQgaW50b1xuICAvLyB0aGUgbWFya3VwLiBJZiB5b3UgcHJvdmlkZSB1bnNhZmUgdXNlciBkYXRhIGhlcmUgdGhleSBjYW4gaW5qZWN0XG4gIC8vIGFyYml0cmFyeSBDU1Mgd2hpY2ggbWF5IGJlIHByb2JsZW1hdGljIChJIGNvdWxkbid0IHJlcHJvIHRoaXMpOlxuICAvLyBodHRwczovL3d3dy5vd2FzcC5vcmcvaW5kZXgucGhwL1hTU19GaWx0ZXJfRXZhc2lvbl9DaGVhdF9TaGVldFxuICAvLyBodHRwOi8vd3d3LnRoZXNwYW5uZXIuY28udWsvMjAwNy8xMS8yNi91bHRpbWF0ZS14c3MtY3NzLWluamVjdGlvbi9cbiAgLy8gVGhpcyBpcyBub3QgYW4gWFNTIGhvbGUgYnV0IGluc3RlYWQgYSBwb3RlbnRpYWwgQ1NTIGluamVjdGlvbiBpc3N1ZVxuICAvLyB3aGljaCBoYXMgbGVhZCB0byBhIGdyZWF0ZXIgZGlzY3Vzc2lvbiBhYm91dCBob3cgd2UncmUgZ29pbmcgdG9cbiAgLy8gdHJ1c3QgVVJMcyBtb3ZpbmcgZm9yd2FyZC4gU2VlICMyMTE1OTAxXG4gIHZhciBpc0VtcHR5ID0gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XG5cbiAgaWYgKGlzRW1wdHkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhKGlzVW5pdGxlc3NOdW1iZXIuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgaXNVbml0bGVzc051bWJlcltuYW1lXSkpIHtcbiAgICByZXR1cm4gdmFsdWUgKyAncHgnOyAvLyBQcmVzdW1lcyBpbXBsaWNpdCAncHgnIHN1ZmZpeCBmb3IgdW5pdGxlc3MgbnVtYmVyc1xuICB9XG5cbiAge1xuICAgIGNoZWNrQ1NTUHJvcGVydHlTdHJpbmdDb2VyY2lvbih2YWx1ZSwgbmFtZSk7XG4gIH1cblxuICByZXR1cm4gKCcnICsgdmFsdWUpLnRyaW0oKTtcbn1cblxudmFyIHVwcGVyY2FzZVBhdHRlcm4gPSAvKFtBLVpdKS9nO1xudmFyIG1zUGF0dGVybiA9IC9ebXMtLztcbi8qKlxuICogSHlwaGVuYXRlcyBhIGNhbWVsY2FzZWQgQ1NTIHByb3BlcnR5IG5hbWUsIGZvciBleGFtcGxlOlxuICpcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ2JhY2tncm91bmRDb2xvcicpXG4gKiAgIDwgXCJiYWNrZ3JvdW5kLWNvbG9yXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ01velRyYW5zaXRpb24nKVxuICogICA8IFwiLW1vei10cmFuc2l0aW9uXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ21zVHJhbnNpdGlvbicpXG4gKiAgIDwgXCItbXMtdHJhbnNpdGlvblwiXG4gKlxuICogQXMgTW9kZXJuaXpyIHN1Z2dlc3RzIChodHRwOi8vbW9kZXJuaXpyLmNvbS9kb2NzLyNwcmVmaXhlZCksIGFuIGBtc2AgcHJlZml4XG4gKiBpcyBjb252ZXJ0ZWQgdG8gYC1tcy1gLlxuICovXG5cbmZ1bmN0aW9uIGh5cGhlbmF0ZVN0eWxlTmFtZShuYW1lKSB7XG4gIHJldHVybiBuYW1lLnJlcGxhY2UodXBwZXJjYXNlUGF0dGVybiwgJy0kMScpLnRvTG93ZXJDYXNlKCkucmVwbGFjZShtc1BhdHRlcm4sICctbXMtJyk7XG59XG5cbnZhciB3YXJuVmFsaWRTdHlsZSA9IGZ1bmN0aW9uICgpIHt9O1xuXG57XG4gIC8vICdtc1RyYW5zZm9ybScgaXMgY29ycmVjdCwgYnV0IHRoZSBvdGhlciBwcmVmaXhlcyBzaG91bGQgYmUgY2FwaXRhbGl6ZWRcbiAgdmFyIGJhZFZlbmRvcmVkU3R5bGVOYW1lUGF0dGVybiA9IC9eKD86d2Via2l0fG1venxvKVtBLVpdLztcbiAgdmFyIG1zUGF0dGVybiQxID0gL14tbXMtLztcbiAgdmFyIGh5cGhlblBhdHRlcm4gPSAvLSguKS9nOyAvLyBzdHlsZSB2YWx1ZXMgc2hvdWxkbid0IGNvbnRhaW4gYSBzZW1pY29sb25cblxuICB2YXIgYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuID0gLztcXHMqJC87XG4gIHZhciB3YXJuZWRTdHlsZU5hbWVzID0ge307XG4gIHZhciB3YXJuZWRTdHlsZVZhbHVlcyA9IHt9O1xuICB2YXIgd2FybmVkRm9yTmFOVmFsdWUgPSBmYWxzZTtcbiAgdmFyIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSBmYWxzZTtcblxuICB2YXIgY2FtZWxpemUgPSBmdW5jdGlvbiAoc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGh5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChfLCBjaGFyYWN0ZXIpIHtcbiAgICAgIHJldHVybiBjaGFyYWN0ZXIudG9VcHBlckNhc2UoKTtcbiAgICB9KTtcbiAgfTtcblxuICB2YXIgd2Fybkh5cGhlbmF0ZWRTdHlsZU5hbWUgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIGlmICh3YXJuZWRTdHlsZU5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpICYmIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZU5hbWVzW25hbWVdID0gdHJ1ZTtcblxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIC8vIEFzIEFuZGkgU21pdGggc3VnZ2VzdHNcbiAgICAvLyAoaHR0cDovL3d3dy5hbmRpc21pdGguY29tL2Jsb2cvMjAxMi8wMi9tb2Rlcm5penItcHJlZml4ZWQvKSwgYW4gYC1tc2AgcHJlZml4XG4gICAgLy8gaXMgY29udmVydGVkIHRvIGxvd2VyY2FzZSBgbXNgLlxuICAgIGNhbWVsaXplKG5hbWUucmVwbGFjZShtc1BhdHRlcm4kMSwgJ21zLScpKSk7XG4gIH07XG5cbiAgdmFyIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgaWYgKHdhcm5lZFN0eWxlTmFtZXMuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIHZlbmRvci1wcmVmaXhlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIG5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKDEpKTtcbiAgfTtcblxuICB2YXIgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XG4gICAgaWYgKHdhcm5lZFN0eWxlVmFsdWVzLmhhc093blByb3BlcnR5KHZhbHVlKSAmJiB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoXCJTdHlsZSBwcm9wZXJ0eSB2YWx1ZXMgc2hvdWxkbid0IGNvbnRhaW4gYSBzZW1pY29sb24uIFwiICsgJ1RyeSBcIiVzOiAlc1wiIGluc3RlYWQuJywgbmFtZSwgdmFsdWUucmVwbGFjZShiYWRTdHlsZVZhbHVlV2l0aFNlbWljb2xvblBhdHRlcm4sICcnKSk7XG4gIH07XG5cbiAgdmFyIHdhcm5TdHlsZVZhbHVlSXNOYU4gPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAod2FybmVkRm9yTmFOVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRGb3JOYU5WYWx1ZSA9IHRydWU7XG5cbiAgICBlcnJvcignYE5hTmAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xuICB9O1xuXG4gIHZhciB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkgPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAod2FybmVkRm9ySW5maW5pdHlWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSB0cnVlO1xuXG4gICAgZXJyb3IoJ2BJbmZpbml0eWAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xuICB9O1xuXG4gIHdhcm5WYWxpZFN0eWxlID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XG4gICAgaWYgKG5hbWUuaW5kZXhPZignLScpID4gLTEpIHtcbiAgICAgIHdhcm5IeXBoZW5hdGVkU3R5bGVOYW1lKG5hbWUpO1xuICAgIH0gZWxzZSBpZiAoYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuLnRlc3QobmFtZSkpIHtcbiAgICAgIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZShuYW1lKTtcbiAgICB9IGVsc2UgaWYgKGJhZFN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uUGF0dGVybi50ZXN0KHZhbHVlKSkge1xuICAgICAgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgICB3YXJuU3R5bGVWYWx1ZUlzTmFOKG5hbWUsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRmluaXRlKHZhbHVlKSkge1xuICAgICAgICB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkobmFtZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxudmFyIHdhcm5WYWxpZFN0eWxlJDEgPSB3YXJuVmFsaWRTdHlsZTtcblxuLyoqXG4gKiBPcGVyYXRpb25zIGZvciBkZWFsaW5nIHdpdGggQ1NTIHByb3BlcnRpZXMuXG4gKi9cblxuLyoqXG4gKiBUaGlzIGNyZWF0ZXMgYSBzdHJpbmcgdGhhdCBpcyBleHBlY3RlZCB0byBiZSBlcXVpdmFsZW50IHRvIHRoZSBzdHlsZVxuICogYXR0cmlidXRlIGdlbmVyYXRlZCBieSBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuIEl0IGJ5LXBhc3NlcyB3YXJuaW5ncyBhbmRcbiAqIHNlY3VyaXR5IGNoZWNrcyBzbyBpdCdzIG5vdCBzYWZlIHRvIHVzZSB0aGlzIHZhbHVlIGZvciBhbnl0aGluZyBvdGhlciB0aGFuXG4gKiBjb21wYXJpc29uLiBJdCBpcyBvbmx5IHVzZWQgaW4gREVWIGZvciBTU1IgdmFsaWRhdGlvbi5cbiAqL1xuXG5mdW5jdGlvbiBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMoc3R5bGVzKSB7XG4gIHtcbiAgICB2YXIgc2VyaWFsaXplZCA9ICcnO1xuICAgIHZhciBkZWxpbWl0ZXIgPSAnJztcblxuICAgIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcbiAgICAgIGlmICghc3R5bGVzLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBzdHlsZVZhbHVlID0gc3R5bGVzW3N0eWxlTmFtZV07XG5cbiAgICAgIGlmIChzdHlsZVZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgdmFyIGlzQ3VzdG9tUHJvcGVydHkgPSBzdHlsZU5hbWUuaW5kZXhPZignLS0nKSA9PT0gMDtcbiAgICAgICAgc2VyaWFsaXplZCArPSBkZWxpbWl0ZXIgKyAoaXNDdXN0b21Qcm9wZXJ0eSA/IHN0eWxlTmFtZSA6IGh5cGhlbmF0ZVN0eWxlTmFtZShzdHlsZU5hbWUpKSArICc6JztcbiAgICAgICAgc2VyaWFsaXplZCArPSBkYW5nZXJvdXNTdHlsZVZhbHVlKHN0eWxlTmFtZSwgc3R5bGVWYWx1ZSwgaXNDdXN0b21Qcm9wZXJ0eSk7XG4gICAgICAgIGRlbGltaXRlciA9ICc7JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2VyaWFsaXplZCB8fCBudWxsO1xuICB9XG59XG4vKipcbiAqIFNldHMgdGhlIHZhbHVlIGZvciBtdWx0aXBsZSBzdHlsZXMgb24gYSBub2RlLiAgSWYgYSB2YWx1ZSBpcyBzcGVjaWZpZWQgYXNcbiAqICcnIChlbXB0eSBzdHJpbmcpLCB0aGUgY29ycmVzcG9uZGluZyBzdHlsZSBwcm9wZXJ0eSB3aWxsIGJlIHVuc2V0LlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IHN0eWxlc1xuICovXG5cbmZ1bmN0aW9uIHNldFZhbHVlRm9yU3R5bGVzKG5vZGUsIHN0eWxlcykge1xuICB2YXIgc3R5bGUgPSBub2RlLnN0eWxlO1xuXG4gIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcbiAgICBpZiAoIXN0eWxlcy5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgaXNDdXN0b21Qcm9wZXJ0eSA9IHN0eWxlTmFtZS5pbmRleE9mKCctLScpID09PSAwO1xuXG4gICAge1xuICAgICAgaWYgKCFpc0N1c3RvbVByb3BlcnR5KSB7XG4gICAgICAgIHdhcm5WYWxpZFN0eWxlJDEoc3R5bGVOYW1lLCBzdHlsZXNbc3R5bGVOYW1lXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHN0eWxlVmFsdWUgPSBkYW5nZXJvdXNTdHlsZVZhbHVlKHN0eWxlTmFtZSwgc3R5bGVzW3N0eWxlTmFtZV0sIGlzQ3VzdG9tUHJvcGVydHkpO1xuXG4gICAgaWYgKHN0eWxlTmFtZSA9PT0gJ2Zsb2F0Jykge1xuICAgICAgc3R5bGVOYW1lID0gJ2Nzc0Zsb2F0JztcbiAgICB9XG5cbiAgICBpZiAoaXNDdXN0b21Qcm9wZXJ0eSkge1xuICAgICAgc3R5bGUuc2V0UHJvcGVydHkoc3R5bGVOYW1lLCBzdHlsZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVbc3R5bGVOYW1lXSA9IHN0eWxlVmFsdWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzVmFsdWVFbXB0eSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XG59XG4vKipcbiAqIEdpdmVuIHtjb2xvcjogJ3JlZCcsIG92ZXJmbG93OiAnaGlkZGVuJ30gcmV0dXJucyB7XG4gKiAgIGNvbG9yOiAnY29sb3InLFxuICogICBvdmVyZmxvd1g6ICdvdmVyZmxvdycsXG4gKiAgIG92ZXJmbG93WTogJ292ZXJmbG93JyxcbiAqIH0uIFRoaXMgY2FuIGJlIHJlYWQgYXMgXCJ0aGUgb3ZlcmZsb3dZIHByb3BlcnR5IHdhcyBzZXQgYnkgdGhlIG92ZXJmbG93XG4gKiBzaG9ydGhhbmRcIi4gVGhhdCBpcywgdGhlIHZhbHVlcyBhcmUgdGhlIHByb3BlcnR5IHRoYXQgZWFjaCB3YXMgZGVyaXZlZCBmcm9tLlxuICovXG5cblxuZnVuY3Rpb24gZXhwYW5kU2hvcnRoYW5kTWFwKHN0eWxlcykge1xuICB2YXIgZXhwYW5kZWQgPSB7fTtcblxuICBmb3IgKHZhciBrZXkgaW4gc3R5bGVzKSB7XG4gICAgdmFyIGxvbmdoYW5kcyA9IHNob3J0aGFuZFRvTG9uZ2hhbmRba2V5XSB8fCBba2V5XTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbG9uZ2hhbmRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBleHBhbmRlZFtsb25naGFuZHNbaV1dID0ga2V5O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHBhbmRlZDtcbn1cbi8qKlxuICogV2hlbiBtaXhpbmcgc2hvcnRoYW5kIGFuZCBsb25naGFuZCBwcm9wZXJ0eSBuYW1lcywgd2Ugd2FybiBkdXJpbmcgdXBkYXRlcyBpZlxuICogd2UgZXhwZWN0IGFuIGluY29ycmVjdCByZXN1bHQgdG8gb2NjdXIuIEluIHBhcnRpY3VsYXIsIHdlIHdhcm4gZm9yOlxuICpcbiAqIFVwZGF0aW5nIGEgc2hvcnRoYW5kIHByb3BlcnR5IChsb25naGFuZCBnZXRzIG92ZXJ3cml0dGVuKTpcbiAqICAge2ZvbnQ6ICdmb28nLCBmb250VmFyaWFudDogJ2Jhcid9IC0+IHtmb250OiAnYmF6JywgZm9udFZhcmlhbnQ6ICdiYXInfVxuICogICBiZWNvbWVzIC5zdHlsZS5mb250ID0gJ2JheidcbiAqIFJlbW92aW5nIGEgc2hvcnRoYW5kIHByb3BlcnR5IChsb25naGFuZCBnZXRzIGxvc3QgdG9vKTpcbiAqICAge2ZvbnQ6ICdmb28nLCBmb250VmFyaWFudDogJ2Jhcid9IC0+IHtmb250VmFyaWFudDogJ2Jhcid9XG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnQgPSAnJ1xuICogUmVtb3ZpbmcgYSBsb25naGFuZCBwcm9wZXJ0eSAoc2hvdWxkIHJldmVydCB0byBzaG9ydGhhbmQ7IGRvZXNuJ3QpOlxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnQ6ICdmb28nfVxuICogICBiZWNvbWVzIC5zdHlsZS5mb250VmFyaWFudCA9ICcnXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNob3J0aGFuZFByb3BlcnR5Q29sbGlzaW9uSW5EZXYoc3R5bGVVcGRhdGVzLCBuZXh0U3R5bGVzKSB7XG4gIHtcbiAgICBpZiAoIW5leHRTdHlsZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZXhwYW5kZWRVcGRhdGVzID0gZXhwYW5kU2hvcnRoYW5kTWFwKHN0eWxlVXBkYXRlcyk7XG4gICAgdmFyIGV4cGFuZGVkU3R5bGVzID0gZXhwYW5kU2hvcnRoYW5kTWFwKG5leHRTdHlsZXMpO1xuICAgIHZhciB3YXJuZWRBYm91dCA9IHt9O1xuXG4gICAgZm9yICh2YXIga2V5IGluIGV4cGFuZGVkVXBkYXRlcykge1xuICAgICAgdmFyIG9yaWdpbmFsS2V5ID0gZXhwYW5kZWRVcGRhdGVzW2tleV07XG4gICAgICB2YXIgY29ycmVjdE9yaWdpbmFsS2V5ID0gZXhwYW5kZWRTdHlsZXNba2V5XTtcblxuICAgICAgaWYgKGNvcnJlY3RPcmlnaW5hbEtleSAmJiBvcmlnaW5hbEtleSAhPT0gY29ycmVjdE9yaWdpbmFsS2V5KSB7XG4gICAgICAgIHZhciB3YXJuaW5nS2V5ID0gb3JpZ2luYWxLZXkgKyAnLCcgKyBjb3JyZWN0T3JpZ2luYWxLZXk7XG5cbiAgICAgICAgaWYgKHdhcm5lZEFib3V0W3dhcm5pbmdLZXldKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB3YXJuZWRBYm91dFt3YXJuaW5nS2V5XSA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzIGEgc3R5bGUgcHJvcGVydHkgZHVyaW5nIHJlcmVuZGVyICglcykgd2hlbiBhICcgKyAnY29uZmxpY3RpbmcgcHJvcGVydHkgaXMgc2V0ICglcykgY2FuIGxlYWQgdG8gc3R5bGluZyBidWdzLiBUbyAnICsgXCJhdm9pZCB0aGlzLCBkb24ndCBtaXggc2hvcnRoYW5kIGFuZCBub24tc2hvcnRoYW5kIHByb3BlcnRpZXMgXCIgKyAnZm9yIHRoZSBzYW1lIHZhbHVlOyBpbnN0ZWFkLCByZXBsYWNlIHRoZSBzaG9ydGhhbmQgd2l0aCAnICsgJ3NlcGFyYXRlIHZhbHVlcy4nLCBpc1ZhbHVlRW1wdHkoc3R5bGVVcGRhdGVzW29yaWdpbmFsS2V5XSkgPyAnUmVtb3ZpbmcnIDogJ1VwZGF0aW5nJywgb3JpZ2luYWxLZXksIGNvcnJlY3RPcmlnaW5hbEtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZvciBIVE1MLCBjZXJ0YWluIHRhZ3Mgc2hvdWxkIG9taXQgdGhlaXIgY2xvc2UgdGFnLiBXZSBrZWVwIGEgbGlzdCBmb3Jcbi8vIHRob3NlIHNwZWNpYWwtY2FzZSB0YWdzLlxudmFyIG9taXR0ZWRDbG9zZVRhZ3MgPSB7XG4gIGFyZWE6IHRydWUsXG4gIGJhc2U6IHRydWUsXG4gIGJyOiB0cnVlLFxuICBjb2w6IHRydWUsXG4gIGVtYmVkOiB0cnVlLFxuICBocjogdHJ1ZSxcbiAgaW1nOiB0cnVlLFxuICBpbnB1dDogdHJ1ZSxcbiAga2V5Z2VuOiB0cnVlLFxuICBsaW5rOiB0cnVlLFxuICBtZXRhOiB0cnVlLFxuICBwYXJhbTogdHJ1ZSxcbiAgc291cmNlOiB0cnVlLFxuICB0cmFjazogdHJ1ZSxcbiAgd2JyOiB0cnVlIC8vIE5PVEU6IG1lbnVpdGVtJ3MgY2xvc2UgdGFnIHNob3VsZCBiZSBvbWl0dGVkLCBidXQgdGhhdCBjYXVzZXMgcHJvYmxlbXMuXG5cbn07XG5cbi8vIGBvbWl0dGVkQ2xvc2VUYWdzYCBleGNlcHQgdGhhdCBgbWVudWl0ZW1gIHNob3VsZCBzdGlsbCBoYXZlIGl0cyBjbG9zaW5nIHRhZy5cblxudmFyIHZvaWRFbGVtZW50VGFncyA9IGFzc2lnbih7XG4gIG1lbnVpdGVtOiB0cnVlXG59LCBvbWl0dGVkQ2xvc2VUYWdzKTtcblxudmFyIEhUTUwgPSAnX19odG1sJztcblxuZnVuY3Rpb24gYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKSB7XG4gIGlmICghcHJvcHMpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gTm90ZSB0aGUgdXNlIG9mIGA9PWAgd2hpY2ggY2hlY2tzIGZvciBudWxsIG9yIHVuZGVmaW5lZC5cblxuXG4gIGlmICh2b2lkRWxlbWVudFRhZ3NbdGFnXSkge1xuICAgIGlmIChwcm9wcy5jaGlsZHJlbiAhPSBudWxsIHx8IHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0YWcgKyBcIiBpcyBhIHZvaWQgZWxlbWVudCB0YWcgYW5kIG11c3QgbmVpdGhlciBoYXZlIGBjaGlsZHJlbmAgbm9yIFwiICsgJ3VzZSBgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XG4gICAgaWYgKHByb3BzLmNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG9ubHkgc2V0IG9uZSBvZiBgY2hpbGRyZW5gIG9yIGBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTGAuJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gJ29iamVjdCcgfHwgIShIVE1MIGluIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdgcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgIG11c3QgYmUgaW4gdGhlIGZvcm0gYHtfX2h0bWw6IC4uLn1gLiAnICsgJ1BsZWFzZSB2aXNpdCBodHRwczovL3JlYWN0anMub3JnL2xpbmsvZGFuZ2Vyb3VzbHktc2V0LWlubmVyLWh0bWwgJyArICdmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKCFwcm9wcy5zdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcgJiYgcHJvcHMuY29udGVudEVkaXRhYmxlICYmIHByb3BzLmNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIGVycm9yKCdBIGNvbXBvbmVudCBpcyBgY29udGVudEVkaXRhYmxlYCBhbmQgY29udGFpbnMgYGNoaWxkcmVuYCBtYW5hZ2VkIGJ5ICcgKyAnUmVhY3QuIEl0IGlzIG5vdyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIGd1YXJhbnRlZSB0aGF0IG5vbmUgb2YgJyArICd0aG9zZSBub2RlcyBhcmUgdW5leHBlY3RlZGx5IG1vZGlmaWVkIG9yIGR1cGxpY2F0ZWQuIFRoaXMgaXMgJyArICdwcm9iYWJseSBub3QgaW50ZW50aW9uYWwuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb3BzLnN0eWxlICE9IG51bGwgJiYgdHlwZW9mIHByb3BzLnN0eWxlICE9PSAnb2JqZWN0Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGBzdHlsZWAgcHJvcCBleHBlY3RzIGEgbWFwcGluZyBmcm9tIHN0eWxlIHByb3BlcnRpZXMgdG8gdmFsdWVzLCAnICsgXCJub3QgYSBzdHJpbmcuIEZvciBleGFtcGxlLCBzdHlsZT17e21hcmdpblJpZ2h0OiBzcGFjaW5nICsgJ2VtJ319IHdoZW4gXCIgKyAndXNpbmcgSlNYLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzQ3VzdG9tQ29tcG9uZW50KHRhZ05hbWUsIHByb3BzKSB7XG4gIGlmICh0YWdOYW1lLmluZGV4T2YoJy0nKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gdHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJztcbiAgfVxuXG4gIHN3aXRjaCAodGFnTmFtZSkge1xuICAgIC8vIFRoZXNlIGFyZSByZXNlcnZlZCBTVkcgYW5kIE1hdGhNTCBlbGVtZW50cy5cbiAgICAvLyBXZSBkb24ndCBtaW5kIHRoaXMgbGlzdCB0b28gbXVjaCBiZWNhdXNlIHdlIGV4cGVjdCBpdCB0byBuZXZlciBncm93LlxuICAgIC8vIFRoZSBhbHRlcm5hdGl2ZSBpcyB0byB0cmFjayB0aGUgbmFtZXNwYWNlIGluIGEgZmV3IHBsYWNlcyB3aGljaCBpcyBjb252b2x1dGVkLlxuICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvY3VzdG9tLyNjdXN0b20tZWxlbWVudHMtY29yZS1jb25jZXB0c1xuICAgIGNhc2UgJ2Fubm90YXRpb24teG1sJzpcbiAgICBjYXNlICdjb2xvci1wcm9maWxlJzpcbiAgICBjYXNlICdmb250LWZhY2UnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1zcmMnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS11cmknOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1mb3JtYXQnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1uYW1lJzpcbiAgICBjYXNlICdtaXNzaW5nLWdseXBoJzpcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vLyBXaGVuIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBIVE1MIG9yIFNWRyBhbGxvd2VkIGF0dHJpYnV0ZSBsaXN0LCBiZSBzdXJlIHRvXG4vLyBhbHNvIGFkZCB0aGVtIHRvIHRoaXMgbW9kdWxlIHRvIGVuc3VyZSBjYXNpbmcgYW5kIGluY29ycmVjdCBuYW1lXG4vLyB3YXJuaW5ncy5cbnZhciBwb3NzaWJsZVN0YW5kYXJkTmFtZXMgPSB7XG4gIC8vIEhUTUxcbiAgYWNjZXB0OiAnYWNjZXB0JyxcbiAgYWNjZXB0Y2hhcnNldDogJ2FjY2VwdENoYXJzZXQnLFxuICAnYWNjZXB0LWNoYXJzZXQnOiAnYWNjZXB0Q2hhcnNldCcsXG4gIGFjY2Vzc2tleTogJ2FjY2Vzc0tleScsXG4gIGFjdGlvbjogJ2FjdGlvbicsXG4gIGFsbG93ZnVsbHNjcmVlbjogJ2FsbG93RnVsbFNjcmVlbicsXG4gIGFsdDogJ2FsdCcsXG4gIGFzOiAnYXMnLFxuICBhc3luYzogJ2FzeW5jJyxcbiAgYXV0b2NhcGl0YWxpemU6ICdhdXRvQ2FwaXRhbGl6ZScsXG4gIGF1dG9jb21wbGV0ZTogJ2F1dG9Db21wbGV0ZScsXG4gIGF1dG9jb3JyZWN0OiAnYXV0b0NvcnJlY3QnLFxuICBhdXRvZm9jdXM6ICdhdXRvRm9jdXMnLFxuICBhdXRvcGxheTogJ2F1dG9QbGF5JyxcbiAgYXV0b3NhdmU6ICdhdXRvU2F2ZScsXG4gIGNhcHR1cmU6ICdjYXB0dXJlJyxcbiAgY2VsbHBhZGRpbmc6ICdjZWxsUGFkZGluZycsXG4gIGNlbGxzcGFjaW5nOiAnY2VsbFNwYWNpbmcnLFxuICBjaGFsbGVuZ2U6ICdjaGFsbGVuZ2UnLFxuICBjaGFyc2V0OiAnY2hhclNldCcsXG4gIGNoZWNrZWQ6ICdjaGVja2VkJyxcbiAgY2hpbGRyZW46ICdjaGlsZHJlbicsXG4gIGNpdGU6ICdjaXRlJyxcbiAgY2xhc3M6ICdjbGFzc05hbWUnLFxuICBjbGFzc2lkOiAnY2xhc3NJRCcsXG4gIGNsYXNzbmFtZTogJ2NsYXNzTmFtZScsXG4gIGNvbHM6ICdjb2xzJyxcbiAgY29sc3BhbjogJ2NvbFNwYW4nLFxuICBjb250ZW50OiAnY29udGVudCcsXG4gIGNvbnRlbnRlZGl0YWJsZTogJ2NvbnRlbnRFZGl0YWJsZScsXG4gIGNvbnRleHRtZW51OiAnY29udGV4dE1lbnUnLFxuICBjb250cm9sczogJ2NvbnRyb2xzJyxcbiAgY29udHJvbHNsaXN0OiAnY29udHJvbHNMaXN0JyxcbiAgY29vcmRzOiAnY29vcmRzJyxcbiAgY3Jvc3NvcmlnaW46ICdjcm9zc09yaWdpbicsXG4gIGRhbmdlcm91c2x5c2V0aW5uZXJodG1sOiAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnLFxuICBkYXRhOiAnZGF0YScsXG4gIGRhdGV0aW1lOiAnZGF0ZVRpbWUnLFxuICBkZWZhdWx0OiAnZGVmYXVsdCcsXG4gIGRlZmF1bHRjaGVja2VkOiAnZGVmYXVsdENoZWNrZWQnLFxuICBkZWZhdWx0dmFsdWU6ICdkZWZhdWx0VmFsdWUnLFxuICBkZWZlcjogJ2RlZmVyJyxcbiAgZGlyOiAnZGlyJyxcbiAgZGlzYWJsZWQ6ICdkaXNhYmxlZCcsXG4gIGRpc2FibGVwaWN0dXJlaW5waWN0dXJlOiAnZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUnLFxuICBkaXNhYmxlcmVtb3RlcGxheWJhY2s6ICdkaXNhYmxlUmVtb3RlUGxheWJhY2snLFxuICBkb3dubG9hZDogJ2Rvd25sb2FkJyxcbiAgZHJhZ2dhYmxlOiAnZHJhZ2dhYmxlJyxcbiAgZW5jdHlwZTogJ2VuY1R5cGUnLFxuICBlbnRlcmtleWhpbnQ6ICdlbnRlcktleUhpbnQnLFxuICBmb3I6ICdodG1sRm9yJyxcbiAgZm9ybTogJ2Zvcm0nLFxuICBmb3JtbWV0aG9kOiAnZm9ybU1ldGhvZCcsXG4gIGZvcm1hY3Rpb246ICdmb3JtQWN0aW9uJyxcbiAgZm9ybWVuY3R5cGU6ICdmb3JtRW5jVHlwZScsXG4gIGZvcm1ub3ZhbGlkYXRlOiAnZm9ybU5vVmFsaWRhdGUnLFxuICBmb3JtdGFyZ2V0OiAnZm9ybVRhcmdldCcsXG4gIGZyYW1lYm9yZGVyOiAnZnJhbWVCb3JkZXInLFxuICBoZWFkZXJzOiAnaGVhZGVycycsXG4gIGhlaWdodDogJ2hlaWdodCcsXG4gIGhpZGRlbjogJ2hpZGRlbicsXG4gIGhpZ2g6ICdoaWdoJyxcbiAgaHJlZjogJ2hyZWYnLFxuICBocmVmbGFuZzogJ2hyZWZMYW5nJyxcbiAgaHRtbGZvcjogJ2h0bWxGb3InLFxuICBodHRwZXF1aXY6ICdodHRwRXF1aXYnLFxuICAnaHR0cC1lcXVpdic6ICdodHRwRXF1aXYnLFxuICBpY29uOiAnaWNvbicsXG4gIGlkOiAnaWQnLFxuICBpbWFnZXNpemVzOiAnaW1hZ2VTaXplcycsXG4gIGltYWdlc3Jjc2V0OiAnaW1hZ2VTcmNTZXQnLFxuICBpbm5lcmh0bWw6ICdpbm5lckhUTUwnLFxuICBpbnB1dG1vZGU6ICdpbnB1dE1vZGUnLFxuICBpbnRlZ3JpdHk6ICdpbnRlZ3JpdHknLFxuICBpczogJ2lzJyxcbiAgaXRlbWlkOiAnaXRlbUlEJyxcbiAgaXRlbXByb3A6ICdpdGVtUHJvcCcsXG4gIGl0ZW1yZWY6ICdpdGVtUmVmJyxcbiAgaXRlbXNjb3BlOiAnaXRlbVNjb3BlJyxcbiAgaXRlbXR5cGU6ICdpdGVtVHlwZScsXG4gIGtleXBhcmFtczogJ2tleVBhcmFtcycsXG4gIGtleXR5cGU6ICdrZXlUeXBlJyxcbiAga2luZDogJ2tpbmQnLFxuICBsYWJlbDogJ2xhYmVsJyxcbiAgbGFuZzogJ2xhbmcnLFxuICBsaXN0OiAnbGlzdCcsXG4gIGxvb3A6ICdsb29wJyxcbiAgbG93OiAnbG93JyxcbiAgbWFuaWZlc3Q6ICdtYW5pZmVzdCcsXG4gIG1hcmdpbndpZHRoOiAnbWFyZ2luV2lkdGgnLFxuICBtYXJnaW5oZWlnaHQ6ICdtYXJnaW5IZWlnaHQnLFxuICBtYXg6ICdtYXgnLFxuICBtYXhsZW5ndGg6ICdtYXhMZW5ndGgnLFxuICBtZWRpYTogJ21lZGlhJyxcbiAgbWVkaWFncm91cDogJ21lZGlhR3JvdXAnLFxuICBtZXRob2Q6ICdtZXRob2QnLFxuICBtaW46ICdtaW4nLFxuICBtaW5sZW5ndGg6ICdtaW5MZW5ndGgnLFxuICBtdWx0aXBsZTogJ211bHRpcGxlJyxcbiAgbXV0ZWQ6ICdtdXRlZCcsXG4gIG5hbWU6ICduYW1lJyxcbiAgbm9tb2R1bGU6ICdub01vZHVsZScsXG4gIG5vbmNlOiAnbm9uY2UnLFxuICBub3ZhbGlkYXRlOiAnbm9WYWxpZGF0ZScsXG4gIG9wZW46ICdvcGVuJyxcbiAgb3B0aW11bTogJ29wdGltdW0nLFxuICBwYXR0ZXJuOiAncGF0dGVybicsXG4gIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLFxuICBwbGF5c2lubGluZTogJ3BsYXlzSW5saW5lJyxcbiAgcG9zdGVyOiAncG9zdGVyJyxcbiAgcHJlbG9hZDogJ3ByZWxvYWQnLFxuICBwcm9maWxlOiAncHJvZmlsZScsXG4gIHJhZGlvZ3JvdXA6ICdyYWRpb0dyb3VwJyxcbiAgcmVhZG9ubHk6ICdyZWFkT25seScsXG4gIHJlZmVycmVycG9saWN5OiAncmVmZXJyZXJQb2xpY3knLFxuICByZWw6ICdyZWwnLFxuICByZXF1aXJlZDogJ3JlcXVpcmVkJyxcbiAgcmV2ZXJzZWQ6ICdyZXZlcnNlZCcsXG4gIHJvbGU6ICdyb2xlJyxcbiAgcm93czogJ3Jvd3MnLFxuICByb3dzcGFuOiAncm93U3BhbicsXG4gIHNhbmRib3g6ICdzYW5kYm94JyxcbiAgc2NvcGU6ICdzY29wZScsXG4gIHNjb3BlZDogJ3Njb3BlZCcsXG4gIHNjcm9sbGluZzogJ3Njcm9sbGluZycsXG4gIHNlYW1sZXNzOiAnc2VhbWxlc3MnLFxuICBzZWxlY3RlZDogJ3NlbGVjdGVkJyxcbiAgc2hhcGU6ICdzaGFwZScsXG4gIHNpemU6ICdzaXplJyxcbiAgc2l6ZXM6ICdzaXplcycsXG4gIHNwYW46ICdzcGFuJyxcbiAgc3BlbGxjaGVjazogJ3NwZWxsQ2hlY2snLFxuICBzcmM6ICdzcmMnLFxuICBzcmNkb2M6ICdzcmNEb2MnLFxuICBzcmNsYW5nOiAnc3JjTGFuZycsXG4gIHNyY3NldDogJ3NyY1NldCcsXG4gIHN0YXJ0OiAnc3RhcnQnLFxuICBzdGVwOiAnc3RlcCcsXG4gIHN0eWxlOiAnc3R5bGUnLFxuICBzdW1tYXJ5OiAnc3VtbWFyeScsXG4gIHRhYmluZGV4OiAndGFiSW5kZXgnLFxuICB0YXJnZXQ6ICd0YXJnZXQnLFxuICB0aXRsZTogJ3RpdGxlJyxcbiAgdHlwZTogJ3R5cGUnLFxuICB1c2VtYXA6ICd1c2VNYXAnLFxuICB2YWx1ZTogJ3ZhbHVlJyxcbiAgd2lkdGg6ICd3aWR0aCcsXG4gIHdtb2RlOiAnd21vZGUnLFxuICB3cmFwOiAnd3JhcCcsXG4gIC8vIFNWR1xuICBhYm91dDogJ2Fib3V0JyxcbiAgYWNjZW50aGVpZ2h0OiAnYWNjZW50SGVpZ2h0JyxcbiAgJ2FjY2VudC1oZWlnaHQnOiAnYWNjZW50SGVpZ2h0JyxcbiAgYWNjdW11bGF0ZTogJ2FjY3VtdWxhdGUnLFxuICBhZGRpdGl2ZTogJ2FkZGl0aXZlJyxcbiAgYWxpZ25tZW50YmFzZWxpbmU6ICdhbGlnbm1lbnRCYXNlbGluZScsXG4gICdhbGlnbm1lbnQtYmFzZWxpbmUnOiAnYWxpZ25tZW50QmFzZWxpbmUnLFxuICBhbGxvd3Jlb3JkZXI6ICdhbGxvd1Jlb3JkZXInLFxuICBhbHBoYWJldGljOiAnYWxwaGFiZXRpYycsXG4gIGFtcGxpdHVkZTogJ2FtcGxpdHVkZScsXG4gIGFyYWJpY2Zvcm06ICdhcmFiaWNGb3JtJyxcbiAgJ2FyYWJpYy1mb3JtJzogJ2FyYWJpY0Zvcm0nLFxuICBhc2NlbnQ6ICdhc2NlbnQnLFxuICBhdHRyaWJ1dGVuYW1lOiAnYXR0cmlidXRlTmFtZScsXG4gIGF0dHJpYnV0ZXR5cGU6ICdhdHRyaWJ1dGVUeXBlJyxcbiAgYXV0b3JldmVyc2U6ICdhdXRvUmV2ZXJzZScsXG4gIGF6aW11dGg6ICdhemltdXRoJyxcbiAgYmFzZWZyZXF1ZW5jeTogJ2Jhc2VGcmVxdWVuY3knLFxuICBiYXNlbGluZXNoaWZ0OiAnYmFzZWxpbmVTaGlmdCcsXG4gICdiYXNlbGluZS1zaGlmdCc6ICdiYXNlbGluZVNoaWZ0JyxcbiAgYmFzZXByb2ZpbGU6ICdiYXNlUHJvZmlsZScsXG4gIGJib3g6ICdiYm94JyxcbiAgYmVnaW46ICdiZWdpbicsXG4gIGJpYXM6ICdiaWFzJyxcbiAgYnk6ICdieScsXG4gIGNhbGNtb2RlOiAnY2FsY01vZGUnLFxuICBjYXBoZWlnaHQ6ICdjYXBIZWlnaHQnLFxuICAnY2FwLWhlaWdodCc6ICdjYXBIZWlnaHQnLFxuICBjbGlwOiAnY2xpcCcsXG4gIGNsaXBwYXRoOiAnY2xpcFBhdGgnLFxuICAnY2xpcC1wYXRoJzogJ2NsaXBQYXRoJyxcbiAgY2xpcHBhdGh1bml0czogJ2NsaXBQYXRoVW5pdHMnLFxuICBjbGlwcnVsZTogJ2NsaXBSdWxlJyxcbiAgJ2NsaXAtcnVsZSc6ICdjbGlwUnVsZScsXG4gIGNvbG9yOiAnY29sb3InLFxuICBjb2xvcmludGVycG9sYXRpb246ICdjb2xvckludGVycG9sYXRpb24nLFxuICAnY29sb3ItaW50ZXJwb2xhdGlvbic6ICdjb2xvckludGVycG9sYXRpb24nLFxuICBjb2xvcmludGVycG9sYXRpb25maWx0ZXJzOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXG4gIGNvbG9ycHJvZmlsZTogJ2NvbG9yUHJvZmlsZScsXG4gICdjb2xvci1wcm9maWxlJzogJ2NvbG9yUHJvZmlsZScsXG4gIGNvbG9ycmVuZGVyaW5nOiAnY29sb3JSZW5kZXJpbmcnLFxuICAnY29sb3ItcmVuZGVyaW5nJzogJ2NvbG9yUmVuZGVyaW5nJyxcbiAgY29udGVudHNjcmlwdHR5cGU6ICdjb250ZW50U2NyaXB0VHlwZScsXG4gIGNvbnRlbnRzdHlsZXR5cGU6ICdjb250ZW50U3R5bGVUeXBlJyxcbiAgY3Vyc29yOiAnY3Vyc29yJyxcbiAgY3g6ICdjeCcsXG4gIGN5OiAnY3knLFxuICBkOiAnZCcsXG4gIGRhdGF0eXBlOiAnZGF0YXR5cGUnLFxuICBkZWNlbGVyYXRlOiAnZGVjZWxlcmF0ZScsXG4gIGRlc2NlbnQ6ICdkZXNjZW50JyxcbiAgZGlmZnVzZWNvbnN0YW50OiAnZGlmZnVzZUNvbnN0YW50JyxcbiAgZGlyZWN0aW9uOiAnZGlyZWN0aW9uJyxcbiAgZGlzcGxheTogJ2Rpc3BsYXknLFxuICBkaXZpc29yOiAnZGl2aXNvcicsXG4gIGRvbWluYW50YmFzZWxpbmU6ICdkb21pbmFudEJhc2VsaW5lJyxcbiAgJ2RvbWluYW50LWJhc2VsaW5lJzogJ2RvbWluYW50QmFzZWxpbmUnLFxuICBkdXI6ICdkdXInLFxuICBkeDogJ2R4JyxcbiAgZHk6ICdkeScsXG4gIGVkZ2Vtb2RlOiAnZWRnZU1vZGUnLFxuICBlbGV2YXRpb246ICdlbGV2YXRpb24nLFxuICBlbmFibGViYWNrZ3JvdW5kOiAnZW5hYmxlQmFja2dyb3VuZCcsXG4gICdlbmFibGUtYmFja2dyb3VuZCc6ICdlbmFibGVCYWNrZ3JvdW5kJyxcbiAgZW5kOiAnZW5kJyxcbiAgZXhwb25lbnQ6ICdleHBvbmVudCcsXG4gIGV4dGVybmFscmVzb3VyY2VzcmVxdWlyZWQ6ICdleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkJyxcbiAgZmlsbDogJ2ZpbGwnLFxuICBmaWxsb3BhY2l0eTogJ2ZpbGxPcGFjaXR5JyxcbiAgJ2ZpbGwtb3BhY2l0eSc6ICdmaWxsT3BhY2l0eScsXG4gIGZpbGxydWxlOiAnZmlsbFJ1bGUnLFxuICAnZmlsbC1ydWxlJzogJ2ZpbGxSdWxlJyxcbiAgZmlsdGVyOiAnZmlsdGVyJyxcbiAgZmlsdGVycmVzOiAnZmlsdGVyUmVzJyxcbiAgZmlsdGVydW5pdHM6ICdmaWx0ZXJVbml0cycsXG4gIGZsb29kb3BhY2l0eTogJ2Zsb29kT3BhY2l0eScsXG4gICdmbG9vZC1vcGFjaXR5JzogJ2Zsb29kT3BhY2l0eScsXG4gIGZsb29kY29sb3I6ICdmbG9vZENvbG9yJyxcbiAgJ2Zsb29kLWNvbG9yJzogJ2Zsb29kQ29sb3InLFxuICBmb2N1c2FibGU6ICdmb2N1c2FibGUnLFxuICBmb250ZmFtaWx5OiAnZm9udEZhbWlseScsXG4gICdmb250LWZhbWlseSc6ICdmb250RmFtaWx5JyxcbiAgZm9udHNpemU6ICdmb250U2l6ZScsXG4gICdmb250LXNpemUnOiAnZm9udFNpemUnLFxuICBmb250c2l6ZWFkanVzdDogJ2ZvbnRTaXplQWRqdXN0JyxcbiAgJ2ZvbnQtc2l6ZS1hZGp1c3QnOiAnZm9udFNpemVBZGp1c3QnLFxuICBmb250c3RyZXRjaDogJ2ZvbnRTdHJldGNoJyxcbiAgJ2ZvbnQtc3RyZXRjaCc6ICdmb250U3RyZXRjaCcsXG4gIGZvbnRzdHlsZTogJ2ZvbnRTdHlsZScsXG4gICdmb250LXN0eWxlJzogJ2ZvbnRTdHlsZScsXG4gIGZvbnR2YXJpYW50OiAnZm9udFZhcmlhbnQnLFxuICAnZm9udC12YXJpYW50JzogJ2ZvbnRWYXJpYW50JyxcbiAgZm9udHdlaWdodDogJ2ZvbnRXZWlnaHQnLFxuICAnZm9udC13ZWlnaHQnOiAnZm9udFdlaWdodCcsXG4gIGZvcm1hdDogJ2Zvcm1hdCcsXG4gIGZyb206ICdmcm9tJyxcbiAgZng6ICdmeCcsXG4gIGZ5OiAnZnknLFxuICBnMTogJ2cxJyxcbiAgZzI6ICdnMicsXG4gIGdseXBobmFtZTogJ2dseXBoTmFtZScsXG4gICdnbHlwaC1uYW1lJzogJ2dseXBoTmFtZScsXG4gIGdseXBob3JpZW50YXRpb25ob3Jpem9udGFsOiAnZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwnLFxuICAnZ2x5cGgtb3JpZW50YXRpb24taG9yaXpvbnRhbCc6ICdnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCcsXG4gIGdseXBob3JpZW50YXRpb252ZXJ0aWNhbDogJ2dseXBoT3JpZW50YXRpb25WZXJ0aWNhbCcsXG4gICdnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCc6ICdnbHlwaE9yaWVudGF0aW9uVmVydGljYWwnLFxuICBnbHlwaHJlZjogJ2dseXBoUmVmJyxcbiAgZ3JhZGllbnR0cmFuc2Zvcm06ICdncmFkaWVudFRyYW5zZm9ybScsXG4gIGdyYWRpZW50dW5pdHM6ICdncmFkaWVudFVuaXRzJyxcbiAgaGFuZ2luZzogJ2hhbmdpbmcnLFxuICBob3JpemFkdng6ICdob3JpekFkdlgnLFxuICAnaG9yaXotYWR2LXgnOiAnaG9yaXpBZHZYJyxcbiAgaG9yaXpvcmlnaW54OiAnaG9yaXpPcmlnaW5YJyxcbiAgJ2hvcml6LW9yaWdpbi14JzogJ2hvcml6T3JpZ2luWCcsXG4gIGlkZW9ncmFwaGljOiAnaWRlb2dyYXBoaWMnLFxuICBpbWFnZXJlbmRlcmluZzogJ2ltYWdlUmVuZGVyaW5nJyxcbiAgJ2ltYWdlLXJlbmRlcmluZyc6ICdpbWFnZVJlbmRlcmluZycsXG4gIGluMjogJ2luMicsXG4gIGluOiAnaW4nLFxuICBpbmxpc3Q6ICdpbmxpc3QnLFxuICBpbnRlcmNlcHQ6ICdpbnRlcmNlcHQnLFxuICBrMTogJ2sxJyxcbiAgazI6ICdrMicsXG4gIGszOiAnazMnLFxuICBrNDogJ2s0JyxcbiAgazogJ2snLFxuICBrZXJuZWxtYXRyaXg6ICdrZXJuZWxNYXRyaXgnLFxuICBrZXJuZWx1bml0bGVuZ3RoOiAna2VybmVsVW5pdExlbmd0aCcsXG4gIGtlcm5pbmc6ICdrZXJuaW5nJyxcbiAga2V5cG9pbnRzOiAna2V5UG9pbnRzJyxcbiAga2V5c3BsaW5lczogJ2tleVNwbGluZXMnLFxuICBrZXl0aW1lczogJ2tleVRpbWVzJyxcbiAgbGVuZ3RoYWRqdXN0OiAnbGVuZ3RoQWRqdXN0JyxcbiAgbGV0dGVyc3BhY2luZzogJ2xldHRlclNwYWNpbmcnLFxuICAnbGV0dGVyLXNwYWNpbmcnOiAnbGV0dGVyU3BhY2luZycsXG4gIGxpZ2h0aW5nY29sb3I6ICdsaWdodGluZ0NvbG9yJyxcbiAgJ2xpZ2h0aW5nLWNvbG9yJzogJ2xpZ2h0aW5nQ29sb3InLFxuICBsaW1pdGluZ2NvbmVhbmdsZTogJ2xpbWl0aW5nQ29uZUFuZ2xlJyxcbiAgbG9jYWw6ICdsb2NhbCcsXG4gIG1hcmtlcmVuZDogJ21hcmtlckVuZCcsXG4gICdtYXJrZXItZW5kJzogJ21hcmtlckVuZCcsXG4gIG1hcmtlcmhlaWdodDogJ21hcmtlckhlaWdodCcsXG4gIG1hcmtlcm1pZDogJ21hcmtlck1pZCcsXG4gICdtYXJrZXItbWlkJzogJ21hcmtlck1pZCcsXG4gIG1hcmtlcnN0YXJ0OiAnbWFya2VyU3RhcnQnLFxuICAnbWFya2VyLXN0YXJ0JzogJ21hcmtlclN0YXJ0JyxcbiAgbWFya2VydW5pdHM6ICdtYXJrZXJVbml0cycsXG4gIG1hcmtlcndpZHRoOiAnbWFya2VyV2lkdGgnLFxuICBtYXNrOiAnbWFzaycsXG4gIG1hc2tjb250ZW50dW5pdHM6ICdtYXNrQ29udGVudFVuaXRzJyxcbiAgbWFza3VuaXRzOiAnbWFza1VuaXRzJyxcbiAgbWF0aGVtYXRpY2FsOiAnbWF0aGVtYXRpY2FsJyxcbiAgbW9kZTogJ21vZGUnLFxuICBudW1vY3RhdmVzOiAnbnVtT2N0YXZlcycsXG4gIG9mZnNldDogJ29mZnNldCcsXG4gIG9wYWNpdHk6ICdvcGFjaXR5JyxcbiAgb3BlcmF0b3I6ICdvcGVyYXRvcicsXG4gIG9yZGVyOiAnb3JkZXInLFxuICBvcmllbnQ6ICdvcmllbnQnLFxuICBvcmllbnRhdGlvbjogJ29yaWVudGF0aW9uJyxcbiAgb3JpZ2luOiAnb3JpZ2luJyxcbiAgb3ZlcmZsb3c6ICdvdmVyZmxvdycsXG4gIG92ZXJsaW5lcG9zaXRpb246ICdvdmVybGluZVBvc2l0aW9uJyxcbiAgJ292ZXJsaW5lLXBvc2l0aW9uJzogJ292ZXJsaW5lUG9zaXRpb24nLFxuICBvdmVybGluZXRoaWNrbmVzczogJ292ZXJsaW5lVGhpY2tuZXNzJyxcbiAgJ292ZXJsaW5lLXRoaWNrbmVzcyc6ICdvdmVybGluZVRoaWNrbmVzcycsXG4gIHBhaW50b3JkZXI6ICdwYWludE9yZGVyJyxcbiAgJ3BhaW50LW9yZGVyJzogJ3BhaW50T3JkZXInLFxuICBwYW5vc2UxOiAncGFub3NlMScsXG4gICdwYW5vc2UtMSc6ICdwYW5vc2UxJyxcbiAgcGF0aGxlbmd0aDogJ3BhdGhMZW5ndGgnLFxuICBwYXR0ZXJuY29udGVudHVuaXRzOiAncGF0dGVybkNvbnRlbnRVbml0cycsXG4gIHBhdHRlcm50cmFuc2Zvcm06ICdwYXR0ZXJuVHJhbnNmb3JtJyxcbiAgcGF0dGVybnVuaXRzOiAncGF0dGVyblVuaXRzJyxcbiAgcG9pbnRlcmV2ZW50czogJ3BvaW50ZXJFdmVudHMnLFxuICAncG9pbnRlci1ldmVudHMnOiAncG9pbnRlckV2ZW50cycsXG4gIHBvaW50czogJ3BvaW50cycsXG4gIHBvaW50c2F0eDogJ3BvaW50c0F0WCcsXG4gIHBvaW50c2F0eTogJ3BvaW50c0F0WScsXG4gIHBvaW50c2F0ejogJ3BvaW50c0F0WicsXG4gIHByZWZpeDogJ3ByZWZpeCcsXG4gIHByZXNlcnZlYWxwaGE6ICdwcmVzZXJ2ZUFscGhhJyxcbiAgcHJlc2VydmVhc3BlY3RyYXRpbzogJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLFxuICBwcmltaXRpdmV1bml0czogJ3ByaW1pdGl2ZVVuaXRzJyxcbiAgcHJvcGVydHk6ICdwcm9wZXJ0eScsXG4gIHI6ICdyJyxcbiAgcmFkaXVzOiAncmFkaXVzJyxcbiAgcmVmeDogJ3JlZlgnLFxuICByZWZ5OiAncmVmWScsXG4gIHJlbmRlcmluZ2ludGVudDogJ3JlbmRlcmluZ0ludGVudCcsXG4gICdyZW5kZXJpbmctaW50ZW50JzogJ3JlbmRlcmluZ0ludGVudCcsXG4gIHJlcGVhdGNvdW50OiAncmVwZWF0Q291bnQnLFxuICByZXBlYXRkdXI6ICdyZXBlYXREdXInLFxuICByZXF1aXJlZGV4dGVuc2lvbnM6ICdyZXF1aXJlZEV4dGVuc2lvbnMnLFxuICByZXF1aXJlZGZlYXR1cmVzOiAncmVxdWlyZWRGZWF0dXJlcycsXG4gIHJlc291cmNlOiAncmVzb3VyY2UnLFxuICByZXN0YXJ0OiAncmVzdGFydCcsXG4gIHJlc3VsdDogJ3Jlc3VsdCcsXG4gIHJlc3VsdHM6ICdyZXN1bHRzJyxcbiAgcm90YXRlOiAncm90YXRlJyxcbiAgcng6ICdyeCcsXG4gIHJ5OiAncnknLFxuICBzY2FsZTogJ3NjYWxlJyxcbiAgc2VjdXJpdHk6ICdzZWN1cml0eScsXG4gIHNlZWQ6ICdzZWVkJyxcbiAgc2hhcGVyZW5kZXJpbmc6ICdzaGFwZVJlbmRlcmluZycsXG4gICdzaGFwZS1yZW5kZXJpbmcnOiAnc2hhcGVSZW5kZXJpbmcnLFxuICBzbG9wZTogJ3Nsb3BlJyxcbiAgc3BhY2luZzogJ3NwYWNpbmcnLFxuICBzcGVjdWxhcmNvbnN0YW50OiAnc3BlY3VsYXJDb25zdGFudCcsXG4gIHNwZWN1bGFyZXhwb25lbnQ6ICdzcGVjdWxhckV4cG9uZW50JyxcbiAgc3BlZWQ6ICdzcGVlZCcsXG4gIHNwcmVhZG1ldGhvZDogJ3NwcmVhZE1ldGhvZCcsXG4gIHN0YXJ0b2Zmc2V0OiAnc3RhcnRPZmZzZXQnLFxuICBzdGRkZXZpYXRpb246ICdzdGREZXZpYXRpb24nLFxuICBzdGVtaDogJ3N0ZW1oJyxcbiAgc3RlbXY6ICdzdGVtdicsXG4gIHN0aXRjaHRpbGVzOiAnc3RpdGNoVGlsZXMnLFxuICBzdG9wY29sb3I6ICdzdG9wQ29sb3InLFxuICAnc3RvcC1jb2xvcic6ICdzdG9wQ29sb3InLFxuICBzdG9wb3BhY2l0eTogJ3N0b3BPcGFjaXR5JyxcbiAgJ3N0b3Atb3BhY2l0eSc6ICdzdG9wT3BhY2l0eScsXG4gIHN0cmlrZXRocm91Z2hwb3NpdGlvbjogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXG4gICdzdHJpa2V0aHJvdWdoLXBvc2l0aW9uJzogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXG4gIHN0cmlrZXRocm91Z2h0aGlja25lc3M6ICdzdHJpa2V0aHJvdWdoVGhpY2tuZXNzJyxcbiAgJ3N0cmlrZXRocm91Z2gtdGhpY2tuZXNzJzogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxuICBzdHJpbmc6ICdzdHJpbmcnLFxuICBzdHJva2U6ICdzdHJva2UnLFxuICBzdHJva2VkYXNoYXJyYXk6ICdzdHJva2VEYXNoYXJyYXknLFxuICAnc3Ryb2tlLWRhc2hhcnJheSc6ICdzdHJva2VEYXNoYXJyYXknLFxuICBzdHJva2VkYXNob2Zmc2V0OiAnc3Ryb2tlRGFzaG9mZnNldCcsXG4gICdzdHJva2UtZGFzaG9mZnNldCc6ICdzdHJva2VEYXNob2Zmc2V0JyxcbiAgc3Ryb2tlbGluZWNhcDogJ3N0cm9rZUxpbmVjYXAnLFxuICAnc3Ryb2tlLWxpbmVjYXAnOiAnc3Ryb2tlTGluZWNhcCcsXG4gIHN0cm9rZWxpbmVqb2luOiAnc3Ryb2tlTGluZWpvaW4nLFxuICAnc3Ryb2tlLWxpbmVqb2luJzogJ3N0cm9rZUxpbmVqb2luJyxcbiAgc3Ryb2tlbWl0ZXJsaW1pdDogJ3N0cm9rZU1pdGVybGltaXQnLFxuICAnc3Ryb2tlLW1pdGVybGltaXQnOiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXG4gIHN0cm9rZXdpZHRoOiAnc3Ryb2tlV2lkdGgnLFxuICAnc3Ryb2tlLXdpZHRoJzogJ3N0cm9rZVdpZHRoJyxcbiAgc3Ryb2tlb3BhY2l0eTogJ3N0cm9rZU9wYWNpdHknLFxuICAnc3Ryb2tlLW9wYWNpdHknOiAnc3Ryb2tlT3BhY2l0eScsXG4gIHN1cHByZXNzY29udGVudGVkaXRhYmxld2FybmluZzogJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZycsXG4gIHN1cHByZXNzaHlkcmF0aW9ud2FybmluZzogJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsXG4gIHN1cmZhY2VzY2FsZTogJ3N1cmZhY2VTY2FsZScsXG4gIHN5c3RlbWxhbmd1YWdlOiAnc3lzdGVtTGFuZ3VhZ2UnLFxuICB0YWJsZXZhbHVlczogJ3RhYmxlVmFsdWVzJyxcbiAgdGFyZ2V0eDogJ3RhcmdldFgnLFxuICB0YXJnZXR5OiAndGFyZ2V0WScsXG4gIHRleHRhbmNob3I6ICd0ZXh0QW5jaG9yJyxcbiAgJ3RleHQtYW5jaG9yJzogJ3RleHRBbmNob3InLFxuICB0ZXh0ZGVjb3JhdGlvbjogJ3RleHREZWNvcmF0aW9uJyxcbiAgJ3RleHQtZGVjb3JhdGlvbic6ICd0ZXh0RGVjb3JhdGlvbicsXG4gIHRleHRsZW5ndGg6ICd0ZXh0TGVuZ3RoJyxcbiAgdGV4dHJlbmRlcmluZzogJ3RleHRSZW5kZXJpbmcnLFxuICAndGV4dC1yZW5kZXJpbmcnOiAndGV4dFJlbmRlcmluZycsXG4gIHRvOiAndG8nLFxuICB0cmFuc2Zvcm06ICd0cmFuc2Zvcm0nLFxuICB0eXBlb2Y6ICd0eXBlb2YnLFxuICB1MTogJ3UxJyxcbiAgdTI6ICd1MicsXG4gIHVuZGVybGluZXBvc2l0aW9uOiAndW5kZXJsaW5lUG9zaXRpb24nLFxuICAndW5kZXJsaW5lLXBvc2l0aW9uJzogJ3VuZGVybGluZVBvc2l0aW9uJyxcbiAgdW5kZXJsaW5ldGhpY2tuZXNzOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcbiAgJ3VuZGVybGluZS10aGlja25lc3MnOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcbiAgdW5pY29kZTogJ3VuaWNvZGUnLFxuICB1bmljb2RlYmlkaTogJ3VuaWNvZGVCaWRpJyxcbiAgJ3VuaWNvZGUtYmlkaSc6ICd1bmljb2RlQmlkaScsXG4gIHVuaWNvZGVyYW5nZTogJ3VuaWNvZGVSYW5nZScsXG4gICd1bmljb2RlLXJhbmdlJzogJ3VuaWNvZGVSYW5nZScsXG4gIHVuaXRzcGVyZW06ICd1bml0c1BlckVtJyxcbiAgJ3VuaXRzLXBlci1lbSc6ICd1bml0c1BlckVtJyxcbiAgdW5zZWxlY3RhYmxlOiAndW5zZWxlY3RhYmxlJyxcbiAgdmFscGhhYmV0aWM6ICd2QWxwaGFiZXRpYycsXG4gICd2LWFscGhhYmV0aWMnOiAndkFscGhhYmV0aWMnLFxuICB2YWx1ZXM6ICd2YWx1ZXMnLFxuICB2ZWN0b3JlZmZlY3Q6ICd2ZWN0b3JFZmZlY3QnLFxuICAndmVjdG9yLWVmZmVjdCc6ICd2ZWN0b3JFZmZlY3QnLFxuICB2ZXJzaW9uOiAndmVyc2lvbicsXG4gIHZlcnRhZHZ5OiAndmVydEFkdlknLFxuICAndmVydC1hZHYteSc6ICd2ZXJ0QWR2WScsXG4gIHZlcnRvcmlnaW54OiAndmVydE9yaWdpblgnLFxuICAndmVydC1vcmlnaW4teCc6ICd2ZXJ0T3JpZ2luWCcsXG4gIHZlcnRvcmlnaW55OiAndmVydE9yaWdpblknLFxuICAndmVydC1vcmlnaW4teSc6ICd2ZXJ0T3JpZ2luWScsXG4gIHZoYW5naW5nOiAndkhhbmdpbmcnLFxuICAndi1oYW5naW5nJzogJ3ZIYW5naW5nJyxcbiAgdmlkZW9ncmFwaGljOiAndklkZW9ncmFwaGljJyxcbiAgJ3YtaWRlb2dyYXBoaWMnOiAndklkZW9ncmFwaGljJyxcbiAgdmlld2JveDogJ3ZpZXdCb3gnLFxuICB2aWV3dGFyZ2V0OiAndmlld1RhcmdldCcsXG4gIHZpc2liaWxpdHk6ICd2aXNpYmlsaXR5JyxcbiAgdm1hdGhlbWF0aWNhbDogJ3ZNYXRoZW1hdGljYWwnLFxuICAndi1tYXRoZW1hdGljYWwnOiAndk1hdGhlbWF0aWNhbCcsXG4gIHZvY2FiOiAndm9jYWInLFxuICB3aWR0aHM6ICd3aWR0aHMnLFxuICB3b3Jkc3BhY2luZzogJ3dvcmRTcGFjaW5nJyxcbiAgJ3dvcmQtc3BhY2luZyc6ICd3b3JkU3BhY2luZycsXG4gIHdyaXRpbmdtb2RlOiAnd3JpdGluZ01vZGUnLFxuICAnd3JpdGluZy1tb2RlJzogJ3dyaXRpbmdNb2RlJyxcbiAgeDE6ICd4MScsXG4gIHgyOiAneDInLFxuICB4OiAneCcsXG4gIHhjaGFubmVsc2VsZWN0b3I6ICd4Q2hhbm5lbFNlbGVjdG9yJyxcbiAgeGhlaWdodDogJ3hIZWlnaHQnLFxuICAneC1oZWlnaHQnOiAneEhlaWdodCcsXG4gIHhsaW5rYWN0dWF0ZTogJ3hsaW5rQWN0dWF0ZScsXG4gICd4bGluazphY3R1YXRlJzogJ3hsaW5rQWN0dWF0ZScsXG4gIHhsaW5rYXJjcm9sZTogJ3hsaW5rQXJjcm9sZScsXG4gICd4bGluazphcmNyb2xlJzogJ3hsaW5rQXJjcm9sZScsXG4gIHhsaW5raHJlZjogJ3hsaW5rSHJlZicsXG4gICd4bGluazpocmVmJzogJ3hsaW5rSHJlZicsXG4gIHhsaW5rcm9sZTogJ3hsaW5rUm9sZScsXG4gICd4bGluazpyb2xlJzogJ3hsaW5rUm9sZScsXG4gIHhsaW5rc2hvdzogJ3hsaW5rU2hvdycsXG4gICd4bGluazpzaG93JzogJ3hsaW5rU2hvdycsXG4gIHhsaW5rdGl0bGU6ICd4bGlua1RpdGxlJyxcbiAgJ3hsaW5rOnRpdGxlJzogJ3hsaW5rVGl0bGUnLFxuICB4bGlua3R5cGU6ICd4bGlua1R5cGUnLFxuICAneGxpbms6dHlwZSc6ICd4bGlua1R5cGUnLFxuICB4bWxiYXNlOiAneG1sQmFzZScsXG4gICd4bWw6YmFzZSc6ICd4bWxCYXNlJyxcbiAgeG1sbGFuZzogJ3htbExhbmcnLFxuICAneG1sOmxhbmcnOiAneG1sTGFuZycsXG4gIHhtbG5zOiAneG1sbnMnLFxuICAneG1sOnNwYWNlJzogJ3htbFNwYWNlJyxcbiAgeG1sbnN4bGluazogJ3htbG5zWGxpbmsnLFxuICAneG1sbnM6eGxpbmsnOiAneG1sbnNYbGluaycsXG4gIHhtbHNwYWNlOiAneG1sU3BhY2UnLFxuICB5MTogJ3kxJyxcbiAgeTI6ICd5MicsXG4gIHk6ICd5JyxcbiAgeWNoYW5uZWxzZWxlY3RvcjogJ3lDaGFubmVsU2VsZWN0b3InLFxuICB6OiAneicsXG4gIHpvb21hbmRwYW46ICd6b29tQW5kUGFuJ1xufTtcblxudmFyIGFyaWFQcm9wZXJ0aWVzID0ge1xuICAnYXJpYS1jdXJyZW50JzogMCxcbiAgLy8gc3RhdGVcbiAgJ2FyaWEtZGVzY3JpcHRpb24nOiAwLFxuICAnYXJpYS1kZXRhaWxzJzogMCxcbiAgJ2FyaWEtZGlzYWJsZWQnOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1oaWRkZW4nOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1pbnZhbGlkJzogMCxcbiAgLy8gc3RhdGVcbiAgJ2FyaWEta2V5c2hvcnRjdXRzJzogMCxcbiAgJ2FyaWEtbGFiZWwnOiAwLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiAwLFxuICAvLyBXaWRnZXQgQXR0cmlidXRlc1xuICAnYXJpYS1hdXRvY29tcGxldGUnOiAwLFxuICAnYXJpYS1jaGVja2VkJzogMCxcbiAgJ2FyaWEtZXhwYW5kZWQnOiAwLFxuICAnYXJpYS1oYXNwb3B1cCc6IDAsXG4gICdhcmlhLWxldmVsJzogMCxcbiAgJ2FyaWEtbW9kYWwnOiAwLFxuICAnYXJpYS1tdWx0aWxpbmUnOiAwLFxuICAnYXJpYS1tdWx0aXNlbGVjdGFibGUnOiAwLFxuICAnYXJpYS1vcmllbnRhdGlvbic6IDAsXG4gICdhcmlhLXBsYWNlaG9sZGVyJzogMCxcbiAgJ2FyaWEtcHJlc3NlZCc6IDAsXG4gICdhcmlhLXJlYWRvbmx5JzogMCxcbiAgJ2FyaWEtcmVxdWlyZWQnOiAwLFxuICAnYXJpYS1zZWxlY3RlZCc6IDAsXG4gICdhcmlhLXNvcnQnOiAwLFxuICAnYXJpYS12YWx1ZW1heCc6IDAsXG4gICdhcmlhLXZhbHVlbWluJzogMCxcbiAgJ2FyaWEtdmFsdWVub3cnOiAwLFxuICAnYXJpYS12YWx1ZXRleHQnOiAwLFxuICAvLyBMaXZlIFJlZ2lvbiBBdHRyaWJ1dGVzXG4gICdhcmlhLWF0b21pYyc6IDAsXG4gICdhcmlhLWJ1c3knOiAwLFxuICAnYXJpYS1saXZlJzogMCxcbiAgJ2FyaWEtcmVsZXZhbnQnOiAwLFxuICAvLyBEcmFnLWFuZC1Ecm9wIEF0dHJpYnV0ZXNcbiAgJ2FyaWEtZHJvcGVmZmVjdCc6IDAsXG4gICdhcmlhLWdyYWJiZWQnOiAwLFxuICAvLyBSZWxhdGlvbnNoaXAgQXR0cmlidXRlc1xuICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50JzogMCxcbiAgJ2FyaWEtY29sY291bnQnOiAwLFxuICAnYXJpYS1jb2xpbmRleCc6IDAsXG4gICdhcmlhLWNvbHNwYW4nOiAwLFxuICAnYXJpYS1jb250cm9scyc6IDAsXG4gICdhcmlhLWRlc2NyaWJlZGJ5JzogMCxcbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJzogMCxcbiAgJ2FyaWEtZmxvd3RvJzogMCxcbiAgJ2FyaWEtbGFiZWxsZWRieSc6IDAsXG4gICdhcmlhLW93bnMnOiAwLFxuICAnYXJpYS1wb3NpbnNldCc6IDAsXG4gICdhcmlhLXJvd2NvdW50JzogMCxcbiAgJ2FyaWEtcm93aW5kZXgnOiAwLFxuICAnYXJpYS1yb3dzcGFuJzogMCxcbiAgJ2FyaWEtc2V0c2l6ZSc6IDBcbn07XG5cbnZhciB3YXJuZWRQcm9wZXJ0aWVzID0ge307XG52YXIgckFSSUEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbnZhciByQVJJQUNhbWVsID0gbmV3IFJlZ0V4cCgnXihhcmlhKVtBLVpdWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHRhZ05hbWUsIG5hbWUpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHdhcm5lZFByb3BlcnRpZXMsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChyQVJJQUNhbWVsLnRlc3QobmFtZSkpIHtcbiAgICAgIHZhciBhcmlhTmFtZSA9ICdhcmlhLScgKyBuYW1lLnNsaWNlKDQpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgY29ycmVjdE5hbWUgPSBhcmlhUHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShhcmlhTmFtZSkgPyBhcmlhTmFtZSA6IG51bGw7IC8vIElmIHRoaXMgaXMgYW4gYXJpYS0qIGF0dHJpYnV0ZSwgYnV0IGlzIG5vdCBsaXN0ZWQgaW4gdGhlIGtub3duIERPTVxuICAgICAgLy8gRE9NIHByb3BlcnRpZXMsIHRoZW4gaXQgaXMgYW4gaW52YWxpZCBhcmlhLSogYXR0cmlidXRlLlxuXG4gICAgICBpZiAoY29ycmVjdE5hbWUgPT0gbnVsbCkge1xuICAgICAgICBlcnJvcignSW52YWxpZCBBUklBIGF0dHJpYnV0ZSBgJXNgLiBBUklBIGF0dHJpYnV0ZXMgZm9sbG93IHRoZSBwYXR0ZXJuIGFyaWEtKiBhbmQgbXVzdCBiZSBsb3dlcmNhc2UuJywgbmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gY29ycmVjdE5hbWUpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgQVJJQSBhdHRyaWJ1dGUgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgY29ycmVjdE5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAockFSSUEudGVzdChuYW1lKSkge1xuICAgICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IGFyaWFQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSA/IGxvd2VyQ2FzZWROYW1lIDogbnVsbDsgLy8gSWYgdGhpcyBpcyBhbiBhcmlhLSogYXR0cmlidXRlLCBidXQgaXMgbm90IGxpc3RlZCBpbiB0aGUga25vd24gRE9NXG4gICAgICAvLyBET00gcHJvcGVydGllcywgdGhlbiBpdCBpcyBhbiBpbnZhbGlkIGFyaWEtKiBhdHRyaWJ1dGUuXG5cbiAgICAgIGlmIChzdGFuZGFyZE5hbWUgPT0gbnVsbCkge1xuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gc3RhbmRhcmROYW1lKSB7XG4gICAgICAgIGVycm9yKCdVbmtub3duIEFSSUEgYXR0cmlidXRlIGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHN0YW5kYXJkTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiB3YXJuSW52YWxpZEFSSUFQcm9wcyh0eXBlLCBwcm9wcykge1xuICB7XG4gICAgdmFyIGludmFsaWRQcm9wcyA9IFtdO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgICB2YXIgaXNWYWxpZCA9IHZhbGlkYXRlUHJvcGVydHkodHlwZSwga2V5KTtcblxuICAgICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICAgIGludmFsaWRQcm9wcy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHVua25vd25Qcm9wU3RyaW5nID0gaW52YWxpZFByb3BzLm1hcChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgcmV0dXJuICdgJyArIHByb3AgKyAnYCc7XG4gICAgfSkuam9pbignLCAnKTtcblxuICAgIGlmIChpbnZhbGlkUHJvcHMubGVuZ3RoID09PSAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBhcmlhIHByb3AgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1hcmlhLXByb3BzJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH0gZWxzZSBpZiAoaW52YWxpZFByb3BzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIGFyaWEgcHJvcHMgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1hcmlhLXByb3BzJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnRpZXModHlwZSwgcHJvcHMpIHtcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdhcm5JbnZhbGlkQVJJQVByb3BzKHR5cGUsIHByb3BzKTtcbn1cblxudmFyIGRpZFdhcm5WYWx1ZU51bGwgPSBmYWxzZTtcbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyQxKHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAodHlwZSAhPT0gJ2lucHV0JyAmJiB0eXBlICE9PSAndGV4dGFyZWEnICYmIHR5cGUgIT09ICdzZWxlY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByb3BzICE9IG51bGwgJiYgcHJvcHMudmFsdWUgPT09IG51bGwgJiYgIWRpZFdhcm5WYWx1ZU51bGwpIHtcbiAgICAgIGRpZFdhcm5WYWx1ZU51bGwgPSB0cnVlO1xuXG4gICAgICBpZiAodHlwZSA9PT0gJ3NlbGVjdCcgJiYgcHJvcHMubXVsdGlwbGUpIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBhcnJheSB3aGVuIGBtdWx0aXBsZWAgaXMgc2V0IHRvIGB0cnVlYCAnICsgJ3RvIGNsZWFyIHRoZSBjb21wb25lbnQgb3IgYHVuZGVmaW5lZGAgZm9yIHVuY29udHJvbGxlZCBjb21wb25lbnRzLicsIHR5cGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBzdHJpbmcgdG8gY2xlYXIgdGhlIGNvbXBvbmVudCBvciBgdW5kZWZpbmVkYCAnICsgJ2ZvciB1bmNvbnRyb2xsZWQgY29tcG9uZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIHZhbGlkYXRlUHJvcGVydHkkMSA9IGZ1bmN0aW9uICgpIHt9O1xuXG57XG4gIHZhciB3YXJuZWRQcm9wZXJ0aWVzJDEgPSB7fTtcbiAgdmFyIEVWRU5UX05BTUVfUkVHRVggPSAvXm9uLi87XG4gIHZhciBJTlZBTElEX0VWRU5UX05BTUVfUkVHRVggPSAvXm9uW15BLVpdLztcbiAgdmFyIHJBUklBJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbiAgdmFyIHJBUklBQ2FtZWwkMSA9IG5ldyBSZWdFeHAoJ14oYXJpYSlbQS1aXVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcblxuICB2YWxpZGF0ZVByb3BlcnR5JDEgPSBmdW5jdGlvbiAodGFnTmFtZSwgbmFtZSwgdmFsdWUsIGV2ZW50UmVnaXN0cnkpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzJDEsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnb25mb2N1c2luJyB8fCBsb3dlckNhc2VkTmFtZSA9PT0gJ29uZm9jdXNvdXQnKSB7XG4gICAgICBlcnJvcignUmVhY3QgdXNlcyBvbkZvY3VzIGFuZCBvbkJsdXIgaW5zdGVhZCBvZiBvbkZvY3VzSW4gYW5kIG9uRm9jdXNPdXQuICcgKyAnQWxsIFJlYWN0IGV2ZW50cyBhcmUgbm9ybWFsaXplZCB0byBidWJibGUsIHNvIG9uRm9jdXNJbiBhbmQgb25Gb2N1c091dCAnICsgJ2FyZSBub3QgbmVlZGVkL3N1cHBvcnRlZCBieSBSZWFjdC4nKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gLy8gV2UgY2FuJ3QgcmVseSBvbiB0aGUgZXZlbnQgc3lzdGVtIGJlaW5nIGluamVjdGVkIG9uIHRoZSBzZXJ2ZXIuXG5cblxuICAgIGlmIChldmVudFJlZ2lzdHJ5ICE9IG51bGwpIHtcbiAgICAgIHZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0gZXZlbnRSZWdpc3RyeS5yZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLFxuICAgICAgICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMgPSBldmVudFJlZ2lzdHJ5LnBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXM7XG5cbiAgICAgIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVnaXN0cmF0aW9uTmFtZSA9IHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpID8gcG9zc2libGVSZWdpc3RyYXRpb25OYW1lc1tsb3dlckNhc2VkTmFtZV0gOiBudWxsO1xuXG4gICAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSAhPSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIGV2ZW50IGhhbmRsZXIgcHJvcGVydHkgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChFVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgICAgZXJyb3IoJ1Vua25vd24gZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiBJdCB3aWxsIGJlIGlnbm9yZWQuJywgbmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChFVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgIC8vIElmIG5vIGV2ZW50IHBsdWdpbnMgaGF2ZSBiZWVuIGluamVjdGVkLCB3ZSBhcmUgaW4gYSBzZXJ2ZXIgZW52aXJvbm1lbnQuXG4gICAgICAvLyBTbyB3ZSBjYW4ndCB0ZWxsIGlmIHRoZSBldmVudCBuYW1lIGlzIGNvcnJlY3QgZm9yIHN1cmUsIGJ1dCB3ZSBjYW4gZmlsdGVyXG4gICAgICAvLyBvdXQga25vd24gYmFkIG9uZXMgbGlrZSBgb25jbGlja2AuIFdlIGNhbid0IHN1Z2dlc3QgYSBzcGVjaWZpYyByZXBsYWNlbWVudCB0aG91Z2guXG4gICAgICBpZiAoSU5WQUxJRF9FVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiAnICsgJ1JlYWN0IGV2ZW50cyB1c2UgdGhlIGNhbWVsQ2FzZSBuYW1pbmcgY29udmVudGlvbiwgZm9yIGV4YW1wbGUgYG9uQ2xpY2tgLicsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBMZXQgdGhlIEFSSUEgYXR0cmlidXRlIGhvb2sgdmFsaWRhdGUgQVJJQSBhdHRyaWJ1dGVzXG5cblxuICAgIGlmIChyQVJJQSQxLnRlc3QobmFtZSkgfHwgckFSSUFDYW1lbCQxLnRlc3QobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lubmVyaHRtbCcpIHtcbiAgICAgIGVycm9yKCdEaXJlY3RseSBzZXR0aW5nIHByb3BlcnR5IGBpbm5lckhUTUxgIGlzIG5vdCBwZXJtaXR0ZWQuICcgKyAnRm9yIG1vcmUgaW5mb3JtYXRpb24sIGxvb2t1cCBkb2N1bWVudGF0aW9uIG9uIGBkYW5nZXJvdXNseVNldElubmVySFRNTGAuJyk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJDYXNlZE5hbWUgPT09ICdhcmlhJykge1xuICAgICAgZXJyb3IoJ1RoZSBgYXJpYWAgYXR0cmlidXRlIGlzIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlIGluIFJlYWN0LiAnICsgJ1Bhc3MgaW5kaXZpZHVhbCBgYXJpYS1gIGF0dHJpYnV0ZXMgaW5zdGVhZC4nKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lzJyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhIGAlc2AgZm9yIGEgc3RyaW5nIGF0dHJpYnV0ZSBgaXNgLiBJZiB0aGlzIGlzIGV4cGVjdGVkLCBjYXN0ICcgKyAndGhlIHZhbHVlIHRvIGEgc3RyaW5nLicsIHR5cGVvZiB2YWx1ZSk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBpc05hTih2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBOYU4gZm9yIHRoZSBgJXNgIGF0dHJpYnV0ZS4gSWYgdGhpcyBpcyBleHBlY3RlZCwgY2FzdCAnICsgJ3RoZSB2YWx1ZSB0byBhIHN0cmluZy4nLCBuYW1lKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhciBwcm9wZXJ0eUluZm8gPSBnZXRQcm9wZXJ0eUluZm8obmFtZSk7XG4gICAgdmFyIGlzUmVzZXJ2ZWQgPSBwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEOyAvLyBLbm93biBhdHRyaWJ1dGVzIHNob3VsZCBtYXRjaCB0aGUgY2FzaW5nIHNwZWNpZmllZCBpbiB0aGUgcHJvcGVydHkgY29uZmlnLlxuXG4gICAgaWYgKHBvc3NpYmxlU3RhbmRhcmROYW1lcy5oYXNPd25Qcm9wZXJ0eShsb3dlckNhc2VkTmFtZSkpIHtcbiAgICAgIHZhciBzdGFuZGFyZE5hbWUgPSBwb3NzaWJsZVN0YW5kYXJkTmFtZXNbbG93ZXJDYXNlZE5hbWVdO1xuXG4gICAgICBpZiAoc3RhbmRhcmROYW1lICE9PSBuYW1lKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIERPTSBwcm9wZXJ0eSBgJXNgLiBEaWQgeW91IG1lYW4gYCVzYD8nLCBuYW1lLCBzdGFuZGFyZE5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWlzUmVzZXJ2ZWQgJiYgbmFtZSAhPT0gbG93ZXJDYXNlZE5hbWUpIHtcbiAgICAgIC8vIFVua25vd24gYXR0cmlidXRlcyBzaG91bGQgaGF2ZSBsb3dlcmNhc2UgY2FzaW5nIHNpbmNlIHRoYXQncyBob3cgdGhleVxuICAgICAgLy8gd2lsbCBiZSBjYXNlZCBhbnl3YXkgd2l0aCBzZXJ2ZXIgcmVuZGVyaW5nLlxuICAgICAgZXJyb3IoJ1JlYWN0IGRvZXMgbm90IHJlY29nbml6ZSB0aGUgYCVzYCBwcm9wIG9uIGEgRE9NIGVsZW1lbnQuIElmIHlvdSAnICsgJ2ludGVudGlvbmFsbHkgd2FudCBpdCB0byBhcHBlYXIgaW4gdGhlIERPTSBhcyBhIGN1c3RvbSAnICsgJ2F0dHJpYnV0ZSwgc3BlbGwgaXQgYXMgbG93ZXJjYXNlIGAlc2AgaW5zdGVhZC4gJyArICdJZiB5b3UgYWNjaWRlbnRhbGx5IHBhc3NlZCBpdCBmcm9tIGEgcGFyZW50IGNvbXBvbmVudCwgcmVtb3ZlICcgKyAnaXQgZnJvbSB0aGUgRE9NIGVsZW1lbnQuJywgbmFtZSwgbG93ZXJDYXNlZE5hbWUpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nICYmIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVdpdGhXYXJuaW5nKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcblxcbicgKyAnSWYgeW91IHdhbnQgdG8gd3JpdGUgaXQgdG8gdGhlIERPTSwgcGFzcyBhIHN0cmluZyBpbnN0ZWFkOiAnICsgJyVzPVwiJXNcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uJywgdmFsdWUsIG5hbWUsIG5hbWUsIHZhbHVlLCBuYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcblxcbicgKyAnSWYgeW91IHdhbnQgdG8gd3JpdGUgaXQgdG8gdGhlIERPTSwgcGFzcyBhIHN0cmluZyBpbnN0ZWFkOiAnICsgJyVzPVwiJXNcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uXFxuXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCB2YWx1ZSwgbmFtZSwgbmFtZSwgdmFsdWUsIG5hbWUsIG5hbWUsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBOb3cgdGhhdCB3ZSd2ZSB2YWxpZGF0ZWQgY2FzaW5nLCBkbyBub3QgdmFsaWRhdGVcbiAgICAvLyBkYXRhIHR5cGVzIGZvciByZXNlcnZlZCBwcm9wc1xuXG5cbiAgICBpZiAoaXNSZXNlcnZlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBXYXJuIHdoZW4gYSBrbm93biBhdHRyaWJ1dGUgaXMgYSBiYWQgdHlwZVxuXG5cbiAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gV2FybiB3aGVuIHBhc3NpbmcgdGhlIHN0cmluZ3MgJ2ZhbHNlJyBvciAndHJ1ZScgaW50byBhIGJvb2xlYW4gcHJvcFxuXG5cbiAgICBpZiAoKHZhbHVlID09PSAnZmFsc2UnIHx8IHZhbHVlID09PSAndHJ1ZScpICYmIHByb3BlcnR5SW5mbyAhPT0gbnVsbCAmJiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gQk9PTEVBTikge1xuICAgICAgZXJyb3IoJ1JlY2VpdmVkIHRoZSBzdHJpbmcgYCVzYCBmb3IgdGhlIGJvb2xlYW4gYXR0cmlidXRlIGAlc2AuICcgKyAnJXMgJyArICdEaWQgeW91IG1lYW4gJXM9eyVzfT8nLCB2YWx1ZSwgbmFtZSwgdmFsdWUgPT09ICdmYWxzZScgPyAnVGhlIGJyb3dzZXIgd2lsbCBpbnRlcnByZXQgaXQgYXMgYSB0cnV0aHkgdmFsdWUuJyA6ICdBbHRob3VnaCB0aGlzIHdvcmtzLCBpdCB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkIGlmIHlvdSBwYXNzIHRoZSBzdHJpbmcgXCJmYWxzZVwiLicsIG5hbWUsIHZhbHVlKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xufVxuXG52YXIgd2FyblVua25vd25Qcm9wZXJ0aWVzID0gZnVuY3Rpb24gKHR5cGUsIHByb3BzLCBldmVudFJlZ2lzdHJ5KSB7XG4gIHtcbiAgICB2YXIgdW5rbm93blByb3BzID0gW107XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gdmFsaWRhdGVQcm9wZXJ0eSQxKHR5cGUsIGtleSwgcHJvcHNba2V5XSwgZXZlbnRSZWdpc3RyeSk7XG5cbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICB1bmtub3duUHJvcHMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciB1bmtub3duUHJvcFN0cmluZyA9IHVua25vd25Qcm9wcy5tYXAoZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgIHJldHVybiAnYCcgKyBwcm9wICsgJ2AnO1xuICAgIH0pLmpvaW4oJywgJyk7XG5cbiAgICBpZiAodW5rbm93blByb3BzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgZXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIHByb3AgJXMgb24gPCVzPiB0YWcuIEVpdGhlciByZW1vdmUgaXQgZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIGl0IGluIHRoZSBET00uICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvYXR0cmlidXRlLWJlaGF2aW9yICcsIHVua25vd25Qcm9wU3RyaW5nLCB0eXBlKTtcbiAgICB9IGVsc2UgaWYgKHVua25vd25Qcm9wcy5sZW5ndGggPiAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCB2YWx1ZXMgZm9yIHByb3BzICVzIG9uIDwlcz4gdGFnLiBFaXRoZXIgcmVtb3ZlIHRoZW0gZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIHRoZW0gaW4gdGhlIERPTS4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9hdHRyaWJ1dGUtYmVoYXZpb3IgJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wZXJ0aWVzJDIodHlwZSwgcHJvcHMsIGV2ZW50UmVnaXN0cnkpIHtcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdhcm5Vbmtub3duUHJvcGVydGllcyh0eXBlLCBwcm9wcywgZXZlbnRSZWdpc3RyeSk7XG59XG5cbnZhciBJU19FVkVOVF9IQU5ETEVfTk9OX01BTkFHRURfTk9ERSA9IDE7XG52YXIgSVNfTk9OX0RFTEVHQVRFRCA9IDEgPDwgMTtcbnZhciBJU19DQVBUVVJFX1BIQVNFID0gMSA8PCAyO1xuLy8gc2V0IHRvIExFR0FDWV9GQl9TVVBQT1JULiBMRUdBQ1lfRkJfU1VQUE9SVCBvbmx5IGdldHMgc2V0IHdoZW5cbi8vIHdlIGNhbGwgd2lsbERlZmVyTGF0ZXJGb3JMZWdhY3lGQlN1cHBvcnQsIHRodXMgbm90IGJhaWxpbmcgb3V0XG4vLyB3aWxsIHJlc3VsdCBpbiBlbmRsZXNzIGN5Y2xlcyBsaWtlIGFuIGluZmluaXRlIGxvb3AuXG4vLyBXZSBhbHNvIGRvbid0IHdhbnQgdG8gZGVmZXIgZHVyaW5nIGV2ZW50IHJlcGxheWluZy5cblxudmFyIFNIT1VMRF9OT1RfUFJPQ0VTU19QT0xZRklMTF9FVkVOVF9QTFVHSU5TID0gSVNfRVZFTlRfSEFORExFX05PTl9NQU5BR0VEX05PREUgfCBJU19OT05fREVMRUdBVEVEIHwgSVNfQ0FQVFVSRV9QSEFTRTtcblxuLy8gVGhpcyBleGlzdHMgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeSBiZXR3ZWVuIFJlYWN0RE9NRXZlbnRSZXBsYXlpbmdcbi8vIGFuZCBET01QbHVnaW5FdmVudFN5c3RlbS5cbnZhciBjdXJyZW50UmVwbGF5aW5nRXZlbnQgPSBudWxsO1xuZnVuY3Rpb24gc2V0UmVwbGF5aW5nRXZlbnQoZXZlbnQpIHtcbiAge1xuICAgIGlmIChjdXJyZW50UmVwbGF5aW5nRXZlbnQgIT09IG51bGwpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBjdXJyZW50bHkgcmVwbGF5aW5nIGV2ZW50IHRvIGJlIG51bGwuIFRoaXMgZXJyb3IgJyArICdpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBjdXJyZW50UmVwbGF5aW5nRXZlbnQgPSBldmVudDtcbn1cbmZ1bmN0aW9uIHJlc2V0UmVwbGF5aW5nRXZlbnQoKSB7XG4gIHtcbiAgICBpZiAoY3VycmVudFJlcGxheWluZ0V2ZW50ID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgY3VycmVudGx5IHJlcGxheWluZyBldmVudCB0byBub3QgYmUgbnVsbC4gVGhpcyBlcnJvciAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRSZXBsYXlpbmdFdmVudCA9IG51bGw7XG59XG5mdW5jdGlvbiBpc1JlcGxheWluZ0V2ZW50KGV2ZW50KSB7XG4gIHJldHVybiBldmVudCA9PT0gY3VycmVudFJlcGxheWluZ0V2ZW50O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHRhcmdldCBub2RlIGZyb20gYSBuYXRpdmUgYnJvd3NlciBldmVudCBieSBhY2NvdW50aW5nIGZvclxuICogaW5jb25zaXN0ZW5jaWVzIGluIGJyb3dzZXIgRE9NIEFQSXMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7RE9NRXZlbnRUYXJnZXR9IFRhcmdldCBub2RlLlxuICovXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSB7XG4gIC8vIEZhbGxiYWNrIHRvIG5hdGl2ZUV2ZW50LnNyY0VsZW1lbnQgZm9yIElFOVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTA2XG4gIHZhciB0YXJnZXQgPSBuYXRpdmVFdmVudC50YXJnZXQgfHwgbmF0aXZlRXZlbnQuc3JjRWxlbWVudCB8fCB3aW5kb3c7IC8vIE5vcm1hbGl6ZSBTVkcgPHVzZT4gZWxlbWVudCBldmVudHMgIzQ5NjNcblxuICBpZiAodGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSB7XG4gICAgdGFyZ2V0ID0gdGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50O1xuICB9IC8vIFNhZmFyaSBtYXkgZmlyZSBldmVudHMgb24gdGV4dCBub2RlcyAoTm9kZS5URVhUX05PREUgaXMgMykuXG4gIC8vIEBzZWUgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9qcy9ldmVudHNfcHJvcGVydGllcy5odG1sXG5cblxuICByZXR1cm4gdGFyZ2V0Lm5vZGVUeXBlID09PSBURVhUX05PREUgPyB0YXJnZXQucGFyZW50Tm9kZSA6IHRhcmdldDtcbn1cblxudmFyIHJlc3RvcmVJbXBsID0gbnVsbDtcbnZhciByZXN0b3JlVGFyZ2V0ID0gbnVsbDtcbnZhciByZXN0b3JlUXVldWUgPSBudWxsO1xuXG5mdW5jdGlvbiByZXN0b3JlU3RhdGVPZlRhcmdldCh0YXJnZXQpIHtcbiAgLy8gV2UgcGVyZm9ybSB0aGlzIHRyYW5zbGF0aW9uIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IGxvb3Agc28gdGhhdCB3ZVxuICAvLyBhbHdheXMgcmVjZWl2ZSB0aGUgY29ycmVjdCBmaWJlciBoZXJlXG4gIHZhciBpbnRlcm5hbEluc3RhbmNlID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSh0YXJnZXQpO1xuXG4gIGlmICghaW50ZXJuYWxJbnN0YW5jZSkge1xuICAgIC8vIFVubW91bnRlZFxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcmVzdG9yZUltcGwgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFJlc3RvcmVJbXBsZW1lbnRhdGlvbigpIG5lZWRzIHRvIGJlIGNhbGxlZCB0byBoYW5kbGUgYSB0YXJnZXQgZm9yIGNvbnRyb2xsZWQgJyArICdldmVudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICB2YXIgc3RhdGVOb2RlID0gaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGU7IC8vIEd1YXJkIGFnYWluc3QgRmliZXIgYmVpbmcgdW5tb3VudGVkLlxuXG4gIGlmIChzdGF0ZU5vZGUpIHtcbiAgICB2YXIgX3Byb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdGF0ZU5vZGUpO1xuXG4gICAgcmVzdG9yZUltcGwoaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGUsIGludGVybmFsSW5zdGFuY2UudHlwZSwgX3Byb3BzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRSZXN0b3JlSW1wbGVtZW50YXRpb24oaW1wbCkge1xuICByZXN0b3JlSW1wbCA9IGltcGw7XG59XG5mdW5jdGlvbiBlbnF1ZXVlU3RhdGVSZXN0b3JlKHRhcmdldCkge1xuICBpZiAocmVzdG9yZVRhcmdldCkge1xuICAgIGlmIChyZXN0b3JlUXVldWUpIHtcbiAgICAgIHJlc3RvcmVRdWV1ZS5wdXNoKHRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3RvcmVRdWV1ZSA9IFt0YXJnZXRdO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXN0b3JlVGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG59XG5mdW5jdGlvbiBuZWVkc1N0YXRlUmVzdG9yZSgpIHtcbiAgcmV0dXJuIHJlc3RvcmVUYXJnZXQgIT09IG51bGwgfHwgcmVzdG9yZVF1ZXVlICE9PSBudWxsO1xufVxuZnVuY3Rpb24gcmVzdG9yZVN0YXRlSWZOZWVkZWQoKSB7XG4gIGlmICghcmVzdG9yZVRhcmdldCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciB0YXJnZXQgPSByZXN0b3JlVGFyZ2V0O1xuICB2YXIgcXVldWVkVGFyZ2V0cyA9IHJlc3RvcmVRdWV1ZTtcbiAgcmVzdG9yZVRhcmdldCA9IG51bGw7XG4gIHJlc3RvcmVRdWV1ZSA9IG51bGw7XG4gIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHF1ZXVlZFRhcmdldHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZFRhcmdldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHF1ZXVlZFRhcmdldHNbaV0pO1xuICAgIH1cbiAgfVxufVxuXG4vLyB0aGUgcmVuZGVyZXIuIFN1Y2ggYXMgd2hlbiB3ZSdyZSBkaXNwYXRjaGluZyBldmVudHMgb3IgaWYgdGhpcmQgcGFydHlcbi8vIGxpYnJhcmllcyBuZWVkIHRvIGNhbGwgYmF0Y2hlZFVwZGF0ZXMuIEV2ZW50dWFsbHksIHRoaXMgQVBJIHdpbGwgZ28gYXdheSB3aGVuXG4vLyBldmVyeXRoaW5nIGlzIGJhdGNoZWQgYnkgZGVmYXVsdC4gV2UnbGwgdGhlbiBoYXZlIGEgc2ltaWxhciBBUEkgdG8gb3B0LW91dCBvZlxuLy8gc2NoZWR1bGVkIHdvcmsgYW5kIGluc3RlYWQgZG8gc3luY2hyb25vdXMgd29yay5cbi8vIERlZmF1bHRzXG5cbnZhciBiYXRjaGVkVXBkYXRlc0ltcGwgPSBmdW5jdGlvbiAoZm4sIGJvb2trZWVwaW5nKSB7XG4gIHJldHVybiBmbihib29ra2VlcGluZyk7XG59O1xuXG52YXIgZmx1c2hTeW5jSW1wbCA9IGZ1bmN0aW9uICgpIHt9O1xuXG52YXIgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSBmYWxzZTtcblxuZnVuY3Rpb24gZmluaXNoRXZlbnRIYW5kbGVyKCkge1xuICAvLyBIZXJlIHdlIHdhaXQgdW50aWwgYWxsIHVwZGF0ZXMgaGF2ZSBwcm9wYWdhdGVkLCB3aGljaCBpcyBpbXBvcnRhbnRcbiAgLy8gd2hlbiB1c2luZyBjb250cm9sbGVkIGNvbXBvbmVudHMgd2l0aGluIGxheWVyczpcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNjk4XG4gIC8vIFRoZW4gd2UgcmVzdG9yZSBzdGF0ZSBvZiBhbnkgY29udHJvbGxlZCBjb21wb25lbnQuXG4gIHZhciBjb250cm9sbGVkQ29tcG9uZW50c0hhdmVQZW5kaW5nVXBkYXRlcyA9IG5lZWRzU3RhdGVSZXN0b3JlKCk7XG5cbiAgaWYgKGNvbnRyb2xsZWRDb21wb25lbnRzSGF2ZVBlbmRpbmdVcGRhdGVzKSB7XG4gICAgLy8gSWYgYSBjb250cm9sbGVkIGV2ZW50IHdhcyBmaXJlZCwgd2UgbWF5IG5lZWQgdG8gcmVzdG9yZSB0aGUgc3RhdGUgb2ZcbiAgICAvLyB0aGUgRE9NIG5vZGUgYmFjayB0byB0aGUgY29udHJvbGxlZCB2YWx1ZS4gVGhpcyBpcyBuZWNlc3Nhcnkgd2hlbiBSZWFjdFxuICAgIC8vIGJhaWxzIG91dCBvZiB0aGUgdXBkYXRlIHdpdGhvdXQgdG91Y2hpbmcgdGhlIERPTS5cbiAgICAvLyBUT0RPOiBSZXN0b3JlIHN0YXRlIGluIHRoZSBtaWNyb3Rhc2ssIGFmdGVyIHRoZSBkaXNjcmV0ZSB1cGRhdGVzIGZsdXNoLFxuICAgIC8vIGluc3RlYWQgb2YgZWFybHkgZmx1c2hpbmcgdGhlbSBoZXJlLlxuICAgIGZsdXNoU3luY0ltcGwoKTtcbiAgICByZXN0b3JlU3RhdGVJZk5lZWRlZCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJhdGNoZWRVcGRhdGVzKGZuLCBhLCBiKSB7XG4gIGlmIChpc0luc2lkZUV2ZW50SGFuZGxlcikge1xuICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgaW5zaWRlIGFub3RoZXIgYmF0Y2gsIHdlIG5lZWQgdG8gd2FpdCB1bnRpbCBpdFxuICAgIC8vIGZ1bGx5IGNvbXBsZXRlcyBiZWZvcmUgcmVzdG9yaW5nIHN0YXRlLlxuICAgIHJldHVybiBmbihhLCBiKTtcbiAgfVxuXG4gIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gdHJ1ZTtcblxuICB0cnkge1xuICAgIHJldHVybiBiYXRjaGVkVXBkYXRlc0ltcGwoZm4sIGEsIGIpO1xuICB9IGZpbmFsbHkge1xuICAgIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gZmFsc2U7XG4gICAgZmluaXNoRXZlbnRIYW5kbGVyKCk7XG4gIH1cbn0gLy8gVE9ETzogUmVwbGFjZSB3aXRoIGZsdXNoU3luY1xuZnVuY3Rpb24gc2V0QmF0Y2hpbmdJbXBsZW1lbnRhdGlvbihfYmF0Y2hlZFVwZGF0ZXNJbXBsLCBfZGlzY3JldGVVcGRhdGVzSW1wbCwgX2ZsdXNoU3luY0ltcGwpIHtcbiAgYmF0Y2hlZFVwZGF0ZXNJbXBsID0gX2JhdGNoZWRVcGRhdGVzSW1wbDtcbiAgZmx1c2hTeW5jSW1wbCA9IF9mbHVzaFN5bmNJbXBsO1xufVxuXG5mdW5jdGlvbiBpc0ludGVyYWN0aXZlKHRhZykge1xuICByZXR1cm4gdGFnID09PSAnYnV0dG9uJyB8fCB0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAnc2VsZWN0JyB8fCB0YWcgPT09ICd0ZXh0YXJlYSc7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KG5hbWUsIHR5cGUsIHByb3BzKSB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ29uQ2xpY2snOlxuICAgIGNhc2UgJ29uQ2xpY2tDYXB0dXJlJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZURvd24nOlxuICAgIGNhc2UgJ29uTW91c2VEb3duQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZU1vdmUnOlxuICAgIGNhc2UgJ29uTW91c2VNb3ZlQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZVVwJzpcbiAgICBjYXNlICdvbk1vdXNlVXBDYXB0dXJlJzpcbiAgICBjYXNlICdvbk1vdXNlRW50ZXInOlxuICAgICAgcmV0dXJuICEhKHByb3BzLmRpc2FibGVkICYmIGlzSW50ZXJhY3RpdmUodHlwZSkpO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gaW5zdCBUaGUgaW5zdGFuY2UsIHdoaWNoIGlzIHRoZSBzb3VyY2Ugb2YgZXZlbnRzLlxuICogQHBhcmFtIHtzdHJpbmd9IHJlZ2lzdHJhdGlvbk5hbWUgTmFtZSBvZiBsaXN0ZW5lciAoZS5nLiBgb25DbGlja2ApLlxuICogQHJldHVybiB7P2Z1bmN0aW9ufSBUaGUgc3RvcmVkIGNhbGxiYWNrLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0TGlzdGVuZXIoaW5zdCwgcmVnaXN0cmF0aW9uTmFtZSkge1xuICB2YXIgc3RhdGVOb2RlID0gaW5zdC5zdGF0ZU5vZGU7XG5cbiAgaWYgKHN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MgKGV4OiBvbmxvYWQgZXZlbnRzIGluIGluY3JlbWVudGFsIG1vZGUpLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIHByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdGF0ZU5vZGUpO1xuXG4gIGlmIChwcm9wcyA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbGlzdGVuZXIgPSBwcm9wc1tyZWdpc3RyYXRpb25OYW1lXTtcblxuICBpZiAoc2hvdWxkUHJldmVudE1vdXNlRXZlbnQocmVnaXN0cmF0aW9uTmFtZSwgaW5zdC50eXBlLCBwcm9wcykpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChsaXN0ZW5lciAmJiB0eXBlb2YgbGlzdGVuZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBgXCIgKyByZWdpc3RyYXRpb25OYW1lICsgXCJgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGEgdmFsdWUgb2YgYFwiICsgdHlwZW9mIGxpc3RlbmVyICsgXCJgIHR5cGUuXCIpO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG52YXIgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTsgLy8gQ2hlY2sgaWYgYnJvd3NlciBzdXBwb3J0IGV2ZW50cyB3aXRoIHBhc3NpdmUgbGlzdGVuZXJzXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvYWRkRXZlbnRMaXN0ZW5lciNTYWZlbHlfZGV0ZWN0aW5nX29wdGlvbl9zdXBwb3J0XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3B0aW9ucyA9IHt9OyAvLyAkRmxvd0ZpeE1lOiBJZ25vcmUgRmxvdyBjb21wbGFpbmluZyBhYm91dCBuZWVkaW5nIGEgdmFsdWVcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRpb25zLCAncGFzc2l2ZScsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICBwYXNzaXZlQnJvd3NlckV2ZW50c1N1cHBvcnRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBvcHRpb25zLCBvcHRpb25zKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIG9wdGlvbnMsIG9wdGlvbnMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2tQcm9kKG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICB0cnkge1xuICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgZnVuY0FyZ3MpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRoaXMub25FcnJvcihlcnJvcik7XG4gIH1cbn1cblxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwgPSBpbnZva2VHdWFyZGVkQ2FsbGJhY2tQcm9kO1xuXG57XG4gIC8vIEluIERFViBtb2RlLCB3ZSBzd2FwIG91dCBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgZm9yIGEgc3BlY2lhbCB2ZXJzaW9uXG4gIC8vIHRoYXQgcGxheXMgbW9yZSBuaWNlbHkgd2l0aCB0aGUgYnJvd3NlcidzIERldlRvb2xzLiBUaGUgaWRlYSBpcyB0byBwcmVzZXJ2ZVxuICAvLyBcIlBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBiZWhhdmlvci4gQmVjYXVzZSBSZWFjdCB3cmFwcyBhbGwgdXNlci1wcm92aWRlZFxuICAvLyBmdW5jdGlvbnMgaW4gaW52b2tlR3VhcmRlZENhbGxiYWNrLCBhbmQgdGhlIHByb2R1Y3Rpb24gdmVyc2lvbiBvZlxuICAvLyBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgdXNlcyBhIHRyeS1jYXRjaCwgYWxsIHVzZXIgZXhjZXB0aW9ucyBhcmUgdHJlYXRlZFxuICAvLyBsaWtlIGNhdWdodCBleGNlcHRpb25zLCBhbmQgdGhlIERldlRvb2xzIHdvbid0IHBhdXNlIHVubGVzcyB0aGUgZGV2ZWxvcGVyXG4gIC8vIHRha2VzIHRoZSBleHRyYSBzdGVwIG9mIGVuYWJsaW5nIHBhdXNlIG9uIGNhdWdodCBleGNlcHRpb25zLiBUaGlzIGlzXG4gIC8vIHVuaW50dWl0aXZlLCB0aG91Z2gsIGJlY2F1c2UgZXZlbiB0aG91Z2ggUmVhY3QgaGFzIGNhdWdodCB0aGUgZXJyb3IsIGZyb21cbiAgLy8gdGhlIGRldmVsb3BlcidzIHBlcnNwZWN0aXZlLCB0aGUgZXJyb3IgaXMgdW5jYXVnaHQuXG4gIC8vXG4gIC8vIFRvIHByZXNlcnZlIHRoZSBleHBlY3RlZCBcIlBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBiZWhhdmlvciwgd2UgZG9uJ3QgdXNlIGFcbiAgLy8gdHJ5LWNhdGNoIGluIERFVi4gSW5zdGVhZCwgd2Ugc3luY2hyb25vdXNseSBkaXNwYXRjaCBhIGZha2UgZXZlbnQgdG8gYSBmYWtlXG4gIC8vIERPTSBub2RlLCBhbmQgY2FsbCB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayBmcm9tIGluc2lkZSBhbiBldmVudCBoYW5kbGVyXG4gIC8vIGZvciB0aGF0IGZha2UgZXZlbnQuIElmIHRoZSBjYWxsYmFjayB0aHJvd3MsIHRoZSBlcnJvciBpcyBcImNhcHR1cmVkXCIgdXNpbmdcbiAgLy8gYSBnbG9iYWwgZXZlbnQgaGFuZGxlci4gQnV0IGJlY2F1c2UgdGhlIGVycm9yIGhhcHBlbnMgaW4gYSBkaWZmZXJlbnRcbiAgLy8gZXZlbnQgbG9vcCBjb250ZXh0LCBpdCBkb2VzIG5vdCBpbnRlcnJ1cHQgdGhlIG5vcm1hbCBwcm9ncmFtIGZsb3cuXG4gIC8vIEVmZmVjdGl2ZWx5LCB0aGlzIGdpdmVzIHVzIHRyeS1jYXRjaCBiZWhhdmlvciB3aXRob3V0IGFjdHVhbGx5IHVzaW5nXG4gIC8vIHRyeS1jYXRjaC4gTmVhdCFcbiAgLy8gQ2hlY2sgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyB0aGUgQVBJcyB3ZSBuZWVkIHRvIGltcGxlbWVudCBvdXIgc3BlY2lhbFxuICAvLyBERVYgdmVyc2lvbiBvZiBpbnZva2VHdWFyZGVkQ2FsbGJhY2tcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cuZGlzcGF0Y2hFdmVudCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFdmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBmYWtlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3JlYWN0Jyk7XG5cbiAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2tJbXBsID0gZnVuY3Rpb24gaW52b2tlR3VhcmRlZENhbGxiYWNrRGV2KG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgICAgIC8vIElmIGRvY3VtZW50IGRvZXNuJ3QgZXhpc3Qgd2Uga25vdyBmb3Igc3VyZSB3ZSB3aWxsIGNyYXNoIGluIHRoaXMgbWV0aG9kXG4gICAgICAvLyB3aGVuIHdlIGNhbGwgZG9jdW1lbnQuY3JlYXRlRXZlbnQoKS4gSG93ZXZlciB0aGlzIGNhbiBjYXVzZSBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9yczogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2NyZWF0ZS1yZWFjdC1hcHAvaXNzdWVzLzM0ODJcbiAgICAgIC8vIFNvIHdlIHByZWVtcHRpdmVseSB0aHJvdyB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UgaW5zdGVhZC5cbiAgICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnIHx8IGRvY3VtZW50ID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGBkb2N1bWVudGAgZ2xvYmFsIHdhcyBkZWZpbmVkIHdoZW4gUmVhY3Qgd2FzIGluaXRpYWxpemVkLCBidXQgaXMgbm90ICcgKyAnZGVmaW5lZCBhbnltb3JlLiBUaGlzIGNhbiBoYXBwZW4gaW4gYSB0ZXN0IGVudmlyb25tZW50IGlmIGEgY29tcG9uZW50ICcgKyAnc2NoZWR1bGVzIGFuIHVwZGF0ZSBmcm9tIGFuIGFzeW5jaHJvbm91cyBjYWxsYmFjaywgYnV0IHRoZSB0ZXN0IGhhcyBhbHJlYWR5ICcgKyAnZmluaXNoZWQgcnVubmluZy4gVG8gc29sdmUgdGhpcywgeW91IGNhbiBlaXRoZXIgdW5tb3VudCB0aGUgY29tcG9uZW50IGF0ICcgKyAndGhlIGVuZCBvZiB5b3VyIHRlc3QgKGFuZCBlbnN1cmUgdGhhdCBhbnkgYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMgZ2V0ICcgKyAnY2FuY2VsZWQgaW4gYGNvbXBvbmVudFdpbGxVbm1vdW50YCksIG9yIHlvdSBjYW4gY2hhbmdlIHRoZSB0ZXN0IGl0c2VsZiAnICsgJ3RvIGJlIGFzeW5jaHJvbm91cy4nKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpO1xuICAgICAgdmFyIGRpZENhbGwgPSBmYWxzZTsgLy8gS2VlcHMgdHJhY2sgb2Ygd2hldGhlciB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayB0aHJldyBhbiBlcnJvci4gV2VcbiAgICAgIC8vIHNldCB0aGlzIHRvIHRydWUgYXQgdGhlIGJlZ2lubmluZywgdGhlbiBzZXQgaXQgdG8gZmFsc2UgcmlnaHQgYWZ0ZXJcbiAgICAgIC8vIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLiBJZiB0aGUgZnVuY3Rpb24gZXJyb3JzLCBgZGlkRXJyb3JgIHdpbGwgbmV2ZXIgYmVcbiAgICAgIC8vIHNldCB0byBmYWxzZS4gVGhpcyBzdHJhdGVneSB3b3JrcyBldmVuIGlmIHRoZSBicm93c2VyIGlzIGZsYWt5IGFuZFxuICAgICAgLy8gZmFpbHMgdG8gY2FsbCBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIsIGJlY2F1c2UgaXQgZG9lc24ndCByZWx5IG9uXG4gICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgYXQgYWxsLlxuXG4gICAgICB2YXIgZGlkRXJyb3IgPSB0cnVlOyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgdmFsdWUgb2Ygd2luZG93LmV2ZW50IHNvIHRoYXQgd2UgY2FuIHJlc2V0IGl0XG4gICAgICAvLyBkdXJpbmcgdGhlIGNhbGxiYWNrIHRvIGxldCB1c2VyIGNvZGUgYWNjZXNzIHdpbmRvdy5ldmVudCBpbiB0aGVcbiAgICAgIC8vIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBpdC5cblxuICAgICAgdmFyIHdpbmRvd0V2ZW50ID0gd2luZG93LmV2ZW50OyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgZGVzY3JpcHRvciBvZiB3aW5kb3cuZXZlbnQgdG8gcmVzdG9yZSBpdCBhZnRlciBldmVudFxuICAgICAgLy8gZGlzcGF0Y2hpbmc6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2ODhcblxuICAgICAgdmFyIHdpbmRvd0V2ZW50RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnZXZlbnQnKTtcblxuICAgICAgZnVuY3Rpb24gcmVzdG9yZUFmdGVyRGlzcGF0Y2goKSB7XG4gICAgICAgIC8vIFdlIGltbWVkaWF0ZWx5IHJlbW92ZSB0aGUgY2FsbGJhY2sgZnJvbSBldmVudCBsaXN0ZW5lcnMgc28gdGhhdFxuICAgICAgICAvLyBuZXN0ZWQgYGludm9rZUd1YXJkZWRDYWxsYmFja2AgY2FsbHMgZG8gbm90IGNsYXNoLiBPdGhlcndpc2UsIGFcbiAgICAgICAgLy8gbmVzdGVkIGNhbGwgd291bGQgdHJpZ2dlciB0aGUgZmFrZSBldmVudCBoYW5kbGVycyBvZiBhbnkgY2FsbCBoaWdoZXJcbiAgICAgICAgLy8gaW4gdGhlIHN0YWNrLlxuICAgICAgICBmYWtlTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2dFR5cGUsIGNhbGxDYWxsYmFjaywgZmFsc2UpOyAvLyBXZSBjaGVjayBmb3Igd2luZG93Lmhhc093blByb3BlcnR5KCdldmVudCcpIHRvIHByZXZlbnQgdGhlXG4gICAgICAgIC8vIHdpbmRvdy5ldmVudCBhc3NpZ25tZW50IGluIGJvdGggSUUgPD0gMTAgYXMgdGhleSB0aHJvdyBhbiBlcnJvclxuICAgICAgICAvLyBcIk1lbWJlciBub3QgZm91bmRcIiBpbiBzdHJpY3QgbW9kZSwgYW5kIGluIEZpcmVmb3ggd2hpY2ggZG9lcyBub3RcbiAgICAgICAgLy8gc3VwcG9ydCB3aW5kb3cuZXZlbnQuXG5cbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZXZlbnQgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnZXZlbnQnKSkge1xuICAgICAgICAgIHdpbmRvdy5ldmVudCA9IHdpbmRvd0V2ZW50O1xuICAgICAgICB9XG4gICAgICB9IC8vIENyZWF0ZSBhbiBldmVudCBoYW5kbGVyIGZvciBvdXIgZmFrZSBldmVudC4gV2Ugd2lsbCBzeW5jaHJvbm91c2x5XG4gICAgICAvLyBkaXNwYXRjaCBvdXIgZmFrZSBldmVudCB1c2luZyBgZGlzcGF0Y2hFdmVudGAuIEluc2lkZSB0aGUgaGFuZGxlciwgd2VcbiAgICAgIC8vIGNhbGwgdGhlIHVzZXItcHJvdmlkZWQgY2FsbGJhY2suXG5cblxuICAgICAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICAgICAgZnVuY3Rpb24gY2FsbENhbGxiYWNrKCkge1xuICAgICAgICBkaWRDYWxsID0gdHJ1ZTtcbiAgICAgICAgcmVzdG9yZUFmdGVyRGlzcGF0Y2goKTtcbiAgICAgICAgZnVuYy5hcHBseShjb250ZXh0LCBmdW5jQXJncyk7XG4gICAgICAgIGRpZEVycm9yID0gZmFsc2U7XG4gICAgICB9IC8vIENyZWF0ZSBhIGdsb2JhbCBlcnJvciBldmVudCBoYW5kbGVyLiBXZSB1c2UgdGhpcyB0byBjYXB0dXJlIHRoZSB2YWx1ZVxuICAgICAgLy8gdGhhdCB3YXMgdGhyb3duLiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhpcyBlcnJvciBoYW5kbGVyIHdpbGwgZmlyZSBtb3JlXG4gICAgICAvLyB0aGFuIG9uY2U7IGZvciBleGFtcGxlLCBpZiBub24tUmVhY3QgY29kZSBhbHNvIGNhbGxzIGBkaXNwYXRjaEV2ZW50YFxuICAgICAgLy8gYW5kIGEgaGFuZGxlciBmb3IgdGhhdCBldmVudCB0aHJvd3MuIFdlIHNob3VsZCBiZSByZXNpbGllbnQgdG8gbW9zdCBvZlxuICAgICAgLy8gdGhvc2UgY2FzZXMuIEV2ZW4gaWYgb3VyIGVycm9yIGV2ZW50IGhhbmRsZXIgZmlyZXMgbW9yZSB0aGFuIG9uY2UsIHRoZVxuICAgICAgLy8gbGFzdCBlcnJvciBldmVudCBpcyBhbHdheXMgdXNlZC4gSWYgdGhlIGNhbGxiYWNrIGFjdHVhbGx5IGRvZXMgZXJyb3IsXG4gICAgICAvLyB3ZSBrbm93IHRoYXQgdGhlIGxhc3QgZXJyb3IgZXZlbnQgaXMgdGhlIGNvcnJlY3Qgb25lLCBiZWNhdXNlIGl0J3Mgbm90XG4gICAgICAvLyBwb3NzaWJsZSBmb3IgYW55dGhpbmcgZWxzZSB0byBoYXZlIGhhcHBlbmVkIGluIGJldHdlZW4gb3VyIGNhbGxiYWNrXG4gICAgICAvLyBlcnJvcmluZyBhbmQgdGhlIGNvZGUgdGhhdCBmb2xsb3dzIHRoZSBgZGlzcGF0Y2hFdmVudGAgY2FsbCBiZWxvdy4gSWZcbiAgICAgIC8vIHRoZSBjYWxsYmFjayBkb2Vzbid0IGVycm9yLCBidXQgdGhlIGVycm9yIGV2ZW50IHdhcyBmaXJlZCwgd2Uga25vdyB0b1xuICAgICAgLy8gaWdub3JlIGl0IGJlY2F1c2UgYGRpZEVycm9yYCB3aWxsIGJlIGZhbHNlLCBhcyBkZXNjcmliZWQgYWJvdmUuXG5cblxuICAgICAgdmFyIGVycm9yOyAvLyBVc2UgdGhpcyB0byB0cmFjayB3aGV0aGVyIHRoZSBlcnJvciBldmVudCBpcyBldmVyIGNhbGxlZC5cblxuICAgICAgdmFyIGRpZFNldEVycm9yID0gZmFsc2U7XG4gICAgICB2YXIgaXNDcm9zc09yaWdpbkVycm9yID0gZmFsc2U7XG5cbiAgICAgIGZ1bmN0aW9uIGhhbmRsZVdpbmRvd0Vycm9yKGV2ZW50KSB7XG4gICAgICAgIGVycm9yID0gZXZlbnQuZXJyb3I7XG4gICAgICAgIGRpZFNldEVycm9yID0gdHJ1ZTtcblxuICAgICAgICBpZiAoZXJyb3IgPT09IG51bGwgJiYgZXZlbnQuY29sbm8gPT09IDAgJiYgZXZlbnQubGluZW5vID09PSAwKSB7XG4gICAgICAgICAgaXNDcm9zc09yaWdpbkVycm9yID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgLy8gU29tZSBvdGhlciBlcnJvciBoYW5kbGVyIGhhcyBwcmV2ZW50ZWQgZGVmYXVsdC5cbiAgICAgICAgICAvLyBCcm93c2VycyBzaWxlbmNlIHRoZSBlcnJvciByZXBvcnQgaWYgdGhpcyBoYXBwZW5zLlxuICAgICAgICAgIC8vIFdlJ2xsIHJlbWVtYmVyIHRoaXMgdG8gbGF0ZXIgZGVjaWRlIHdoZXRoZXIgdG8gbG9nIGl0IG9yIG5vdC5cbiAgICAgICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBlcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGlubmVyKSB7Ly8gSWdub3JlLlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSAvLyBDcmVhdGUgYSBmYWtlIGV2ZW50IHR5cGUuXG5cblxuICAgICAgdmFyIGV2dFR5cGUgPSBcInJlYWN0LVwiICsgKG5hbWUgPyBuYW1lIDogJ2ludm9rZWd1YXJkZWRjYWxsYmFjaycpOyAvLyBBdHRhY2ggb3VyIGV2ZW50IGhhbmRsZXJzXG5cbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGhhbmRsZVdpbmRvd0Vycm9yKTtcbiAgICAgIGZha2VOb2RlLmFkZEV2ZW50TGlzdGVuZXIoZXZ0VHlwZSwgY2FsbENhbGxiYWNrLCBmYWxzZSk7IC8vIFN5bmNocm9ub3VzbHkgZGlzcGF0Y2ggb3VyIGZha2UgZXZlbnQuIElmIHRoZSB1c2VyLXByb3ZpZGVkIGZ1bmN0aW9uXG4gICAgICAvLyBlcnJvcnMsIGl0IHdpbGwgdHJpZ2dlciBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIuXG5cbiAgICAgIGV2dC5pbml0RXZlbnQoZXZ0VHlwZSwgZmFsc2UsIGZhbHNlKTtcbiAgICAgIGZha2VOb2RlLmRpc3BhdGNoRXZlbnQoZXZ0KTtcblxuICAgICAgaWYgKHdpbmRvd0V2ZW50RGVzY3JpcHRvcikge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnZXZlbnQnLCB3aW5kb3dFdmVudERlc2NyaXB0b3IpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlkQ2FsbCAmJiBkaWRFcnJvcikge1xuICAgICAgICBpZiAoIWRpZFNldEVycm9yKSB7XG4gICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIGVycm9yZWQsIGJ1dCB0aGUgZXJyb3IgZXZlbnQgbmV2ZXIgZmlyZWQuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignQW4gZXJyb3Igd2FzIHRocm93biBpbnNpZGUgb25lIG9mIHlvdXIgY29tcG9uZW50cywgYnV0IFJlYWN0ICcgKyBcImRvZXNuJ3Qga25vdyB3aGF0IGl0IHdhcy4gVGhpcyBpcyBsaWtlbHkgZHVlIHRvIGJyb3dzZXIgXCIgKyAnZmxha2luZXNzLiBSZWFjdCBkb2VzIGl0cyBiZXN0IHRvIHByZXNlcnZlIHRoZSBcIlBhdXNlIG9uICcgKyAnZXhjZXB0aW9uc1wiIGJlaGF2aW9yIG9mIHRoZSBEZXZUb29scywgd2hpY2ggcmVxdWlyZXMgc29tZSAnICsgXCJERVYtbW9kZSBvbmx5IHRyaWNrcy4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZXNlIGRvbid0IHdvcmsgaW4gXCIgKyAneW91ciBicm93c2VyLiBUcnkgdHJpZ2dlcmluZyB0aGUgZXJyb3IgaW4gcHJvZHVjdGlvbiBtb2RlLCAnICsgJ29yIHN3aXRjaGluZyB0byBhIG1vZGVybiBicm93c2VyLiBJZiB5b3Ugc3VzcGVjdCB0aGF0IHRoaXMgaXMgJyArICdhY3R1YWxseSBhbiBpc3N1ZSB3aXRoIFJlYWN0LCBwbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0Nyb3NzT3JpZ2luRXJyb3IpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICAgIGVycm9yID0gbmV3IEVycm9yKFwiQSBjcm9zcy1vcmlnaW4gZXJyb3Igd2FzIHRocm93bi4gUmVhY3QgZG9lc24ndCBoYXZlIGFjY2VzcyB0byBcIiArICd0aGUgYWN0dWFsIGVycm9yIG9iamVjdCBpbiBkZXZlbG9wbWVudC4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Nyb3Nzb3JpZ2luLWVycm9yIGZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkVycm9yKGVycm9yKTtcbiAgICAgIH0gLy8gUmVtb3ZlIG91ciBldmVudCBsaXN0ZW5lcnNcblxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVXaW5kb3dFcnJvcik7XG5cbiAgICAgIGlmICghZGlkQ2FsbCkge1xuICAgICAgICAvLyBTb21ldGhpbmcgd2VudCByZWFsbHkgd3JvbmcsIGFuZCBvdXIgZXZlbnQgd2FzIG5vdCBkaXNwYXRjaGVkLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE2NzM0XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTY1ODVcbiAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHRoZSBwcm9kdWN0aW9uIGltcGxlbWVudGF0aW9uLlxuICAgICAgICByZXN0b3JlQWZ0ZXJEaXNwYXRjaCgpO1xuICAgICAgICByZXR1cm4gaW52b2tlR3VhcmRlZENhbGxiYWNrUHJvZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cblxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMSA9IGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGw7XG5cbnZhciBoYXNFcnJvciA9IGZhbHNlO1xudmFyIGNhdWdodEVycm9yID0gbnVsbDsgLy8gVXNlZCBieSBldmVudCBzeXN0ZW0gdG8gY2FwdHVyZS9yZXRocm93IHRoZSBmaXJzdCBlcnJvci5cblxudmFyIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xudmFyIHJldGhyb3dFcnJvciA9IG51bGw7XG52YXIgcmVwb3J0ZXIgPSB7XG4gIG9uRXJyb3I6IGZ1bmN0aW9uIChlcnJvcikge1xuICAgIGhhc0Vycm9yID0gdHJ1ZTtcbiAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xuICB9XG59O1xuLyoqXG4gKiBDYWxsIGEgZnVuY3Rpb24gd2hpbGUgZ3VhcmRpbmcgYWdhaW5zdCBlcnJvcnMgdGhhdCBoYXBwZW5zIHdpdGhpbiBpdC5cbiAqIFJldHVybnMgYW4gZXJyb3IgaWYgaXQgdGhyb3dzLCBvdGhlcndpc2UgbnVsbC5cbiAqXG4gKiBJbiBwcm9kdWN0aW9uLCB0aGlzIGlzIGltcGxlbWVudGVkIHVzaW5nIGEgdHJ5LWNhdGNoLiBUaGUgcmVhc29uIHdlIGRvbid0XG4gKiB1c2UgYSB0cnktY2F0Y2ggZGlyZWN0bHkgaXMgc28gdGhhdCB3ZSBjYW4gc3dhcCBvdXQgYSBkaWZmZXJlbnRcbiAqIGltcGxlbWVudGF0aW9uIGluIERFViBtb2RlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIG9mIHRoZSBndWFyZCB0byB1c2UgZm9yIGxvZ2dpbmcgb3IgZGVidWdnaW5nXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2VcbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBUaGUgY29udGV4dCB0byB1c2Ugd2hlbiBjYWxsaW5nIHRoZSBmdW5jdGlvblxuICogQHBhcmFtIHsuLi4qfSBhcmdzIEFyZ3VtZW50cyBmb3IgZnVuY3Rpb25cbiAqL1xuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xuICBoYXNFcnJvciA9IGZhbHNlO1xuICBjYXVnaHRFcnJvciA9IG51bGw7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMS5hcHBseShyZXBvcnRlciwgYXJndW1lbnRzKTtcbn1cbi8qKlxuICogU2FtZSBhcyBpbnZva2VHdWFyZGVkQ2FsbGJhY2ssIGJ1dCBpbnN0ZWFkIG9mIHJldHVybmluZyBhbiBlcnJvciwgaXQgc3RvcmVzXG4gKiBpdCBpbiBhIGdsb2JhbCBzbyBpdCBjYW4gYmUgcmV0aHJvd24gYnkgYHJldGhyb3dDYXVnaHRFcnJvcmAgbGF0ZXIuXG4gKiBUT0RPOiBTZWUgaWYgY2F1Z2h0RXJyb3IgYW5kIHJldGhyb3dFcnJvciBjYW4gYmUgdW5pZmllZC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZSBvZiB0aGUgZ3VhcmQgdG8gdXNlIGZvciBsb2dnaW5nIG9yIGRlYnVnZ2luZ1xuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlXG4gKiBAcGFyYW0geyp9IGNvbnRleHQgVGhlIGNvbnRleHQgdG8gdXNlIHdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25cbiAqIEBwYXJhbSB7Li4uKn0gYXJncyBBcmd1bWVudHMgZm9yIGZ1bmN0aW9uXG4gKi9cblxuZnVuY3Rpb24gaW52b2tlR3VhcmRlZENhbGxiYWNrQW5kQ2F0Y2hGaXJzdEVycm9yKG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgaW52b2tlR3VhcmRlZENhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgaWYgKGhhc0Vycm9yKSB7XG4gICAgdmFyIGVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgaWYgKCFoYXNSZXRocm93RXJyb3IpIHtcbiAgICAgIGhhc1JldGhyb3dFcnJvciA9IHRydWU7XG4gICAgICByZXRocm93RXJyb3IgPSBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRHVyaW5nIGV4ZWN1dGlvbiBvZiBndWFyZGVkIGZ1bmN0aW9ucyB3ZSB3aWxsIGNhcHR1cmUgdGhlIGZpcnN0IGVycm9yIHdoaWNoXG4gKiB3ZSB3aWxsIHJldGhyb3cgdG8gYmUgaGFuZGxlZCBieSB0aGUgdG9wIGxldmVsIGVycm9yIGhhbmRsZXIuXG4gKi9cblxuZnVuY3Rpb24gcmV0aHJvd0NhdWdodEVycm9yKCkge1xuICBpZiAoaGFzUmV0aHJvd0Vycm9yKSB7XG4gICAgdmFyIGVycm9yID0gcmV0aHJvd0Vycm9yO1xuICAgIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xuICAgIHJldGhyb3dFcnJvciA9IG51bGw7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cbmZ1bmN0aW9uIGhhc0NhdWdodEVycm9yKCkge1xuICByZXR1cm4gaGFzRXJyb3I7XG59XG5mdW5jdGlvbiBjbGVhckNhdWdodEVycm9yKCkge1xuICBpZiAoaGFzRXJyb3IpIHtcbiAgICB2YXIgZXJyb3IgPSBjYXVnaHRFcnJvcjtcbiAgICBoYXNFcnJvciA9IGZhbHNlO1xuICAgIGNhdWdodEVycm9yID0gbnVsbDtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbGVhckNhdWdodEVycm9yIHdhcyBjYWxsZWQgYnV0IG5vIGVycm9yIHdhcyBjYXB0dXJlZC4gVGhpcyBlcnJvciAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG59XG5cbi8qKlxuICogYFJlYWN0SW5zdGFuY2VNYXBgIG1haW50YWlucyBhIG1hcHBpbmcgZnJvbSBhIHB1YmxpYyBmYWNpbmcgc3RhdGVmdWxcbiAqIGluc3RhbmNlIChrZXkpIGFuZCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gKHZhbHVlKS4gVGhpcyBhbGxvd3MgcHVibGljXG4gKiBtZXRob2RzIHRvIGFjY2VwdCB0aGUgdXNlciBmYWNpbmcgaW5zdGFuY2UgYXMgYW4gYXJndW1lbnQgYW5kIG1hcCB0aGVtIGJhY2tcbiAqIHRvIGludGVybmFsIG1ldGhvZHMuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgbW9kdWxlIGlzIGN1cnJlbnRseSBzaGFyZWQgYW5kIGFzc3VtZWQgdG8gYmUgc3RhdGVsZXNzLlxuICogSWYgdGhpcyBiZWNvbWVzIGFuIGFjdHVhbCBNYXAsIHRoYXQgd2lsbCBicmVhay5cbiAqL1xuZnVuY3Rpb24gZ2V0KGtleSkge1xuICByZXR1cm4ga2V5Ll9yZWFjdEludGVybmFscztcbn1cbmZ1bmN0aW9uIGhhcyhrZXkpIHtcbiAgcmV0dXJuIGtleS5fcmVhY3RJbnRlcm5hbHMgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHNldChrZXksIHZhbHVlKSB7XG4gIGtleS5fcmVhY3RJbnRlcm5hbHMgPSB2YWx1ZTtcbn1cblxuLy8gRG9uJ3QgY2hhbmdlIHRoZXNlIHR3byB2YWx1ZXMuIFRoZXkncmUgdXNlZCBieSBSZWFjdCBEZXYgVG9vbHMuXG52YXIgTm9GbGFncyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAqL1xuMDtcbnZhciBQZXJmb3JtZWRXb3JrID1cbi8qICAgICAgICAgICAgICAgICovXG4xOyAvLyBZb3UgY2FuIGNoYW5nZSB0aGUgcmVzdCAoYW5kIGFkZCBtb3JlKS5cblxudmFyIFBsYWNlbWVudCA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgVXBkYXRlID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNDtcbnZhciBDaGlsZERlbGV0aW9uID1cbi8qICAgICAgICAgICAgICAgICovXG4xNjtcbnZhciBDb250ZW50UmVzZXQgPVxuLyogICAgICAgICAgICAgICAgICovXG4zMjtcbnZhciBDYWxsYmFjayA9XG4vKiAgICAgICAgICAgICAgICAgICAgICovXG42NDtcbnZhciBEaWRDYXB0dXJlID1cbi8qICAgICAgICAgICAgICAgICAgICovXG4xMjg7XG52YXIgRm9yY2VDbGllbnRSZW5kZXIgPVxuLyogICAgICAgICAgICAqL1xuMjU2O1xudmFyIFJlZiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjUxMjtcbnZhciBTbmFwc2hvdCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICovXG4xMDI0O1xudmFyIFBhc3NpdmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgKi9cbjIwNDg7XG52YXIgSHlkcmF0aW5nID1cbi8qICAgICAgICAgICAgICAgICAgICAqL1xuNDA5NjtcbnZhciBWaXNpYmlsaXR5ID1cbi8qICAgICAgICAgICAgICAgICAgICovXG44MTkyO1xudmFyIFN0b3JlQ29uc2lzdGVuY3kgPVxuLyogICAgICAgICAgICAgKi9cbjE2Mzg0O1xudmFyIExpZmVjeWNsZUVmZmVjdE1hc2sgPSBQYXNzaXZlIHwgVXBkYXRlIHwgQ2FsbGJhY2sgfCBSZWYgfCBTbmFwc2hvdCB8IFN0b3JlQ29uc2lzdGVuY3k7IC8vIFVuaW9uIG9mIGFsbCBjb21taXQgZmxhZ3MgKGZsYWdzIHdpdGggdGhlIGxpZmV0aW1lIG9mIGEgcGFydGljdWxhciBjb21taXQpXG5cbnZhciBIb3N0RWZmZWN0TWFzayA9XG4vKiAgICAgICAgICAgICAgICovXG4zMjc2NzsgLy8gVGhlc2UgYXJlIG5vdCByZWFsbHkgc2lkZSBlZmZlY3RzLCBidXQgd2Ugc3RpbGwgcmV1c2UgdGhpcyBmaWVsZC5cblxudmFyIEluY29tcGxldGUgPVxuLyogICAgICAgICAgICAgICAgICAgKi9cbjMyNzY4O1xudmFyIFNob3VsZENhcHR1cmUgPVxuLyogICAgICAgICAgICAgICAgKi9cbjY1NTM2O1xudmFyIEZvcmNlVXBkYXRlRm9yTGVnYWN5U3VzcGVuc2UgPVxuLyogKi9cbjEzMTA3MjtcbnZhciBGb3JrZWQgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMDQ4NTc2OyAvLyBTdGF0aWMgdGFncyBkZXNjcmliZSBhc3BlY3RzIG9mIGEgZmliZXIgdGhhdCBhcmUgbm90IHNwZWNpZmljIHRvIGEgcmVuZGVyLFxuLy8gZS5nLiBhIGZpYmVyIHVzZXMgYSBwYXNzaXZlIGVmZmVjdCAoZXZlbiBpZiB0aGVyZSBhcmUgbm8gdXBkYXRlcyBvbiB0aGlzIHBhcnRpY3VsYXIgcmVuZGVyKS5cbi8vIFRoaXMgZW5hYmxlcyB1cyB0byBkZWZlciBtb3JlIHdvcmsgaW4gdGhlIHVubW91bnQgY2FzZSxcbi8vIHNpbmNlIHdlIGNhbiBkZWZlciB0cmF2ZXJzaW5nIHRoZSB0cmVlIGR1cmluZyBsYXlvdXQgdG8gbG9vayBmb3IgUGFzc2l2ZSBlZmZlY3RzLFxuLy8gYW5kIGluc3RlYWQgcmVseSBvbiB0aGUgc3RhdGljIGZsYWcgYXMgYSBzaWduYWwgdGhhdCB0aGVyZSBtYXkgYmUgY2xlYW51cCB3b3JrLlxuXG52YXIgUmVmU3RhdGljID1cbi8qICAgICAgICAgICAgICAgICAgICAqL1xuMjA5NzE1MjtcbnZhciBMYXlvdXRTdGF0aWMgPVxuLyogICAgICAgICAgICAgICAgICovXG40MTk0MzA0O1xudmFyIFBhc3NpdmVTdGF0aWMgPVxuLyogICAgICAgICAgICAgICAgKi9cbjgzODg2MDg7IC8vIFRoZXNlIGZsYWdzIGFsbG93IHVzIHRvIHRyYXZlcnNlIHRvIGZpYmVycyB0aGF0IGhhdmUgZWZmZWN0cyBvbiBtb3VudFxuLy8gd2l0aG91dCB0cmF2ZXJzaW5nIHRoZSBlbnRpcmUgdHJlZSBhZnRlciBldmVyeSBjb21taXQgZm9yXG4vLyBkb3VibGUgaW52b2tpbmdcblxudmFyIE1vdW50TGF5b3V0RGV2ID1cbi8qICAgICAgICAgICAgICAgKi9cbjE2Nzc3MjE2O1xudmFyIE1vdW50UGFzc2l2ZURldiA9XG4vKiAgICAgICAgICAgICAgKi9cbjMzNTU0NDMyOyAvLyBHcm91cHMgb2YgZmxhZ3MgdGhhdCBhcmUgdXNlZCBpbiB0aGUgY29tbWl0IHBoYXNlIHRvIHNraXAgb3ZlciB0cmVlcyB0aGF0XG4vLyBkb24ndCBjb250YWluIGVmZmVjdHMsIGJ5IGNoZWNraW5nIHN1YnRyZWVGbGFncy5cblxudmFyIEJlZm9yZU11dGF0aW9uTWFzayA9IC8vIFRPRE86IFJlbW92ZSBVcGRhdGUgZmxhZyBmcm9tIGJlZm9yZSBtdXRhdGlvbiBwaGFzZSBieSByZS1sYW5kaW5nIFZpc2liaWxpdHlcbi8vIGZsYWcgbG9naWMgKHNlZSAjMjAwNDMpXG5VcGRhdGUgfCBTbmFwc2hvdCB8ICggMCk7XG52YXIgTXV0YXRpb25NYXNrID0gUGxhY2VtZW50IHwgVXBkYXRlIHwgQ2hpbGREZWxldGlvbiB8IENvbnRlbnRSZXNldCB8IFJlZiB8IEh5ZHJhdGluZyB8IFZpc2liaWxpdHk7XG52YXIgTGF5b3V0TWFzayA9IFVwZGF0ZSB8IENhbGxiYWNrIHwgUmVmIHwgVmlzaWJpbGl0eTsgLy8gVE9ETzogU3BsaXQgaW50byBQYXNzaXZlTW91bnRNYXNrIGFuZCBQYXNzaXZlVW5tb3VudE1hc2tcblxudmFyIFBhc3NpdmVNYXNrID0gUGFzc2l2ZSB8IENoaWxkRGVsZXRpb247IC8vIFVuaW9uIG9mIHRhZ3MgdGhhdCBkb24ndCBnZXQgcmVzZXQgb24gY2xvbmVzLlxuLy8gVGhpcyBhbGxvd3MgY2VydGFpbiBjb25jZXB0cyB0byBwZXJzaXN0IHdpdGhvdXQgcmVjYWxjdWxhdGluZyB0aGVtLFxuLy8gZS5nLiB3aGV0aGVyIGEgc3VidHJlZSBjb250YWlucyBwYXNzaXZlIGVmZmVjdHMgb3IgcG9ydGFscy5cblxudmFyIFN0YXRpY01hc2sgPSBMYXlvdXRTdGF0aWMgfCBQYXNzaXZlU3RhdGljIHwgUmVmU3RhdGljO1xuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbmZ1bmN0aW9uIGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpIHtcbiAgdmFyIG5vZGUgPSBmaWJlcjtcbiAgdmFyIG5lYXJlc3RNb3VudGVkID0gZmliZXI7XG5cbiAgaWYgKCFmaWJlci5hbHRlcm5hdGUpIHtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyBhbHRlcm5hdGUsIHRoaXMgbWlnaHQgYmUgYSBuZXcgdHJlZSB0aGF0IGlzbid0IGluc2VydGVkXG4gICAgLy8geWV0LiBJZiBpdCBpcywgdGhlbiBpdCB3aWxsIGhhdmUgYSBwZW5kaW5nIGluc2VydGlvbiBlZmZlY3Qgb24gaXQuXG4gICAgdmFyIG5leHROb2RlID0gbm9kZTtcblxuICAgIGRvIHtcbiAgICAgIG5vZGUgPSBuZXh0Tm9kZTtcblxuICAgICAgaWYgKChub2RlLmZsYWdzICYgKFBsYWNlbWVudCB8IEh5ZHJhdGluZykpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gaW5zZXJ0aW9uIG9yIGluLXByb2dyZXNzIGh5ZHJhdGlvbi4gVGhlIG5lYXJlc3QgcG9zc2libGVcbiAgICAgICAgLy8gbW91bnRlZCBmaWJlciBpcyB0aGUgcGFyZW50IGJ1dCB3ZSBuZWVkIHRvIGNvbnRpbnVlIHRvIGZpZ3VyZSBvdXRcbiAgICAgICAgLy8gaWYgdGhhdCBvbmUgaXMgc3RpbGwgbW91bnRlZC5cbiAgICAgICAgbmVhcmVzdE1vdW50ZWQgPSBub2RlLnJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dE5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9IHdoaWxlIChuZXh0Tm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKG5vZGUucmV0dXJuKSB7XG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgd2FzIGEgbmVzdGVkIEhvc3RSb290IHdoZW4gdXNlZCB3aXRoXG4gICAgLy8gcmVuZGVyQ29udGFpbmVySW50b1N1YnRyZWUuXG4gICAgcmV0dXJuIG5lYXJlc3RNb3VudGVkO1xuICB9IC8vIElmIHdlIGRpZG4ndCBoaXQgdGhlIHJvb3QsIHRoYXQgbWVhbnMgdGhhdCB3ZSdyZSBpbiBhbiBkaXNjb25uZWN0ZWQgdHJlZVxuICAvLyB0aGF0IGhhcyBiZWVuIHVubW91bnRlZC5cblxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihmaWJlcikge1xuICBpZiAoZmliZXIudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlID09PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgc3VzcGVuc2VTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldENvbnRhaW5lckZyb21GaWJlcihmaWJlcikge1xuICByZXR1cm4gZmliZXIudGFnID09PSBIb3N0Um9vdCA/IGZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIDogbnVsbDtcbn1cbmZ1bmN0aW9uIGlzRmliZXJNb3VudGVkKGZpYmVyKSB7XG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5mdW5jdGlvbiBpc01vdW50ZWQoY29tcG9uZW50KSB7XG4gIHtcbiAgICB2YXIgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHZhciBvd25lckZpYmVyID0gb3duZXI7XG4gICAgICB2YXIgaW5zdGFuY2UgPSBvd25lckZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgaWYgKCFpbnN0YW5jZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIpIHtcbiAgICAgICAgZXJyb3IoJyVzIGlzIGFjY2Vzc2luZyBpc01vdW50ZWQgaW5zaWRlIGl0cyByZW5kZXIoKSBmdW5jdGlvbi4gJyArICdyZW5kZXIoKSBzaG91bGQgYmUgYSBwdXJlIGZ1bmN0aW9uIG9mIHByb3BzIGFuZCBzdGF0ZS4gSXQgc2hvdWxkICcgKyAnbmV2ZXIgYWNjZXNzIHNvbWV0aGluZyB0aGF0IHJlcXVpcmVzIHN0YWxlIGRhdGEgZnJvbSB0aGUgcHJldmlvdXMgJyArICdyZW5kZXIsIHN1Y2ggYXMgcmVmcy4gTW92ZSB0aGlzIGxvZ2ljIHRvIGNvbXBvbmVudERpZE1vdW50IGFuZCAnICsgJ2NvbXBvbmVudERpZFVwZGF0ZSBpbnN0ZWFkLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIob3duZXJGaWJlcikgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIGluc3RhbmNlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlciA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gZ2V0KGNvbXBvbmVudCk7XG5cbiAgaWYgKCFmaWJlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5cbmZ1bmN0aW9uIGFzc2VydElzTW91bnRlZChmaWJlcikge1xuICBpZiAoZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcikgIT09IGZpYmVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoIWFsdGVybmF0ZSkge1xuICAgIC8vIElmIHRoZXJlIGlzIG5vIGFsdGVybmF0ZSwgdGhlbiB3ZSBvbmx5IG5lZWQgdG8gY2hlY2sgaWYgaXQgaXMgbW91bnRlZC5cbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKTtcblxuICAgIGlmIChuZWFyZXN0TW91bnRlZCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgfVxuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBmaWJlcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIElmIHdlIGhhdmUgdHdvIHBvc3NpYmxlIGJyYW5jaGVzLCB3ZSdsbCB3YWxrIGJhY2t3YXJkcyB1cCB0byB0aGUgcm9vdFxuICAvLyB0byBzZWUgd2hhdCBwYXRoIHRoZSByb290IHBvaW50cyB0by4gT24gdGhlIHdheSB3ZSBtYXkgaGl0IG9uZSBvZiB0aGVcbiAgLy8gc3BlY2lhbCBjYXNlcyBhbmQgd2UnbGwgZGVhbCB3aXRoIHRoZW0uXG5cblxuICB2YXIgYSA9IGZpYmVyO1xuICB2YXIgYiA9IGFsdGVybmF0ZTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIHZhciBwYXJlbnRBID0gYS5yZXR1cm47XG5cbiAgICBpZiAocGFyZW50QSA9PT0gbnVsbCkge1xuICAgICAgLy8gV2UncmUgYXQgdGhlIHJvb3QuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50QiA9IHBhcmVudEEuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKHBhcmVudEIgPT09IG51bGwpIHtcbiAgICAgIC8vIFRoZXJlIGlzIG5vIGFsdGVybmF0ZS4gVGhpcyBpcyBhbiB1bnVzdWFsIGNhc2UuIEN1cnJlbnRseSwgaXQgb25seVxuICAgICAgLy8gaGFwcGVucyB3aGVuIGEgU3VzcGVuc2UgY29tcG9uZW50IGlzIGhpZGRlbi4gQW4gZXh0cmEgZnJhZ21lbnQgZmliZXJcbiAgICAgIC8vIGlzIGluc2VydGVkIGluIGJldHdlZW4gdGhlIFN1c3BlbnNlIGZpYmVyIGFuZCBpdHMgY2hpbGRyZW4uIFNraXBcbiAgICAgIC8vIG92ZXIgdGhpcyBleHRyYSBmcmFnbWVudCBmaWJlciBhbmQgcHJvY2VlZCB0byB0aGUgbmV4dCBwYXJlbnQuXG4gICAgICB2YXIgbmV4dFBhcmVudCA9IHBhcmVudEEucmV0dXJuO1xuXG4gICAgICBpZiAobmV4dFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICBhID0gYiA9IG5leHRQYXJlbnQ7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSAvLyBJZiB0aGVyZSdzIG5vIHBhcmVudCwgd2UncmUgYXQgdGhlIHJvb3QuXG5cblxuICAgICAgYnJlYWs7XG4gICAgfSAvLyBJZiBib3RoIGNvcGllcyBvZiB0aGUgcGFyZW50IGZpYmVyIHBvaW50IHRvIHRoZSBzYW1lIGNoaWxkLCB3ZSBjYW5cbiAgICAvLyBhc3N1bWUgdGhhdCB0aGUgY2hpbGQgaXMgY3VycmVudC4gVGhpcyBoYXBwZW5zIHdoZW4gd2UgYmFpbG91dCBvbiBsb3dcbiAgICAvLyBwcmlvcml0eTogdGhlIGJhaWxlZCBvdXQgZmliZXIncyBjaGlsZCByZXVzZXMgdGhlIGN1cnJlbnQgY2hpbGQuXG5cblxuICAgIGlmIChwYXJlbnRBLmNoaWxkID09PSBwYXJlbnRCLmNoaWxkKSB7XG4gICAgICB2YXIgY2hpbGQgPSBwYXJlbnRBLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgICAgaWYgKGNoaWxkID09PSBhKSB7XG4gICAgICAgICAgLy8gV2UndmUgZGV0ZXJtaW5lZCB0aGF0IEEgaXMgdGhlIGN1cnJlbnQgYnJhbmNoLlxuICAgICAgICAgIGFzc2VydElzTW91bnRlZChwYXJlbnRBKTtcbiAgICAgICAgICByZXR1cm4gZmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQiBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgICAgICAgYXNzZXJ0SXNNb3VudGVkKHBhcmVudEEpO1xuICAgICAgICAgIHJldHVybiBhbHRlcm5hdGU7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9IC8vIFdlIHNob3VsZCBuZXZlciBoYXZlIGFuIGFsdGVybmF0ZSBmb3IgYW55IG1vdW50aW5nIG5vZGUuIFNvIHRoZSBvbmx5XG4gICAgICAvLyB3YXkgdGhpcyBjb3VsZCBwb3NzaWJseSBoYXBwZW4gaXMgaWYgdGhpcyB3YXMgdW5tb3VudGVkLCBpZiBhdCBhbGwuXG5cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgfVxuXG4gICAgaWYgKGEucmV0dXJuICE9PSBiLnJldHVybikge1xuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVyIG9mIEEgYW5kIHRoZSByZXR1cm4gcG9pbnRlciBvZiBCIHBvaW50IHRvIGRpZmZlcmVudFxuICAgICAgLy8gZmliZXJzLiBXZSBhc3N1bWUgdGhhdCByZXR1cm4gcG9pbnRlcnMgbmV2ZXIgY3Jpc3MtY3Jvc3MsIHNvIEEgbXVzdFxuICAgICAgLy8gYmVsb25nIHRvIHRoZSBjaGlsZCBzZXQgb2YgQS5yZXR1cm4sIGFuZCBCIG11c3QgYmVsb25nIHRvIHRoZSBjaGlsZFxuICAgICAgLy8gc2V0IG9mIEIucmV0dXJuLlxuICAgICAgYSA9IHBhcmVudEE7XG4gICAgICBiID0gcGFyZW50QjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVycyBwb2ludCB0byB0aGUgc2FtZSBmaWJlci4gV2UnbGwgaGF2ZSB0byB1c2UgdGhlXG4gICAgICAvLyBkZWZhdWx0LCBzbG93IHBhdGg6IHNjYW4gdGhlIGNoaWxkIHNldHMgb2YgZWFjaCBwYXJlbnQgYWx0ZXJuYXRlIHRvIHNlZVxuICAgICAgLy8gd2hpY2ggY2hpbGQgYmVsb25ncyB0byB3aGljaCBzZXQuXG4gICAgICAvL1xuICAgICAgLy8gU2VhcmNoIHBhcmVudCBBJ3MgY2hpbGQgc2V0XG4gICAgICB2YXIgZGlkRmluZENoaWxkID0gZmFsc2U7XG4gICAgICB2YXIgX2NoaWxkID0gcGFyZW50QS5jaGlsZDtcblxuICAgICAgd2hpbGUgKF9jaGlsZCkge1xuICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XG4gICAgICAgICAgZGlkRmluZENoaWxkID0gdHJ1ZTtcbiAgICAgICAgICBhID0gcGFyZW50QTtcbiAgICAgICAgICBiID0gcGFyZW50QjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgIGIgPSBwYXJlbnRBO1xuICAgICAgICAgIGEgPSBwYXJlbnRCO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGlmICghZGlkRmluZENoaWxkKSB7XG4gICAgICAgIC8vIFNlYXJjaCBwYXJlbnQgQidzIGNoaWxkIHNldFxuICAgICAgICBfY2hpbGQgPSBwYXJlbnRCLmNoaWxkO1xuXG4gICAgICAgIHdoaWxlIChfY2hpbGQpIHtcbiAgICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XG4gICAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgICAgYSA9IHBhcmVudEI7XG4gICAgICAgICAgICBiID0gcGFyZW50QTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChfY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XG4gICAgICAgICAgICBiID0gcGFyZW50QjtcbiAgICAgICAgICAgIGEgPSBwYXJlbnRBO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRpZEZpbmRDaGlsZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2hpbGQgd2FzIG5vdCBmb3VuZCBpbiBlaXRoZXIgcGFyZW50IHNldC4gVGhpcyBpbmRpY2F0ZXMgYSBidWcgJyArICdpbiBSZWFjdCByZWxhdGVkIHRvIHRoZSByZXR1cm4gcG9pbnRlci4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoYS5hbHRlcm5hdGUgIT09IGIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlJldHVybiBmaWJlcnMgc2hvdWxkIGFsd2F5cyBiZSBlYWNoIG90aGVycycgYWx0ZXJuYXRlcy4gXCIgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH0gLy8gSWYgdGhlIHJvb3QgaXMgbm90IGEgaG9zdCBjb250YWluZXIsIHdlJ3JlIGluIGEgZGlzY29ubmVjdGVkIHRyZWUuIEkuZS5cbiAgLy8gdW5tb3VudGVkLlxuXG5cbiAgaWYgKGEudGFnICE9PSBIb3N0Um9vdCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LicpO1xuICB9XG5cbiAgaWYgKGEuc3RhdGVOb2RlLmN1cnJlbnQgPT09IGEpIHtcbiAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQSBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIE90aGVyd2lzZSBCIGhhcyB0byBiZSBjdXJyZW50IGJyYW5jaC5cblxuXG4gIHJldHVybiBhbHRlcm5hdGU7XG59XG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcihwYXJlbnQpIHtcbiAgdmFyIGN1cnJlbnRQYXJlbnQgPSBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChwYXJlbnQpO1xuICByZXR1cm4gY3VycmVudFBhcmVudCAhPT0gbnVsbCA/IGZpbmRDdXJyZW50SG9zdEZpYmVySW1wbChjdXJyZW50UGFyZW50KSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVySW1wbChub2RlKSB7XG4gIC8vIE5leHQgd2UnbGwgZHJpbGwgZG93biB0aGlzIGNvbXBvbmVudCB0byBmaW5kIHRoZSBmaXJzdCBIb3N0Q29tcG9uZW50L1RleHQuXG4gIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgdmFyIG1hdGNoID0gZmluZEN1cnJlbnRIb3N0RmliZXJJbXBsKGNoaWxkKTtcblxuICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH1cblxuICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHMocGFyZW50KSB7XG4gIHZhciBjdXJyZW50UGFyZW50ID0gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgocGFyZW50KTtcbiAgcmV0dXJuIGN1cnJlbnRQYXJlbnQgIT09IG51bGwgPyBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHNJbXBsKGN1cnJlbnRQYXJlbnQpIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChub2RlKSB7XG4gIC8vIE5leHQgd2UnbGwgZHJpbGwgZG93biB0aGlzIGNvbXBvbmVudCB0byBmaW5kIHRoZSBmaXJzdCBIb3N0Q29tcG9uZW50L1RleHQuXG4gIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgaWYgKGNoaWxkLnRhZyAhPT0gSG9zdFBvcnRhbCkge1xuICAgICAgdmFyIG1hdGNoID0gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChjaGlsZCk7XG5cbiAgICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIFRoaXMgbW9kdWxlIG9ubHkgZXhpc3RzIGFzIGFuIEVTTSB3cmFwcGVyIGFyb3VuZCB0aGUgZXh0ZXJuYWwgQ29tbW9uSlNcbnZhciBzY2hlZHVsZUNhbGxiYWNrID0gU2NoZWR1bGVyLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XG52YXIgY2FuY2VsQ2FsbGJhY2sgPSBTY2hlZHVsZXIudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s7XG52YXIgc2hvdWxkWWllbGQgPSBTY2hlZHVsZXIudW5zdGFibGVfc2hvdWxkWWllbGQ7XG52YXIgcmVxdWVzdFBhaW50ID0gU2NoZWR1bGVyLnVuc3RhYmxlX3JlcXVlc3RQYWludDtcbnZhciBub3cgPSBTY2hlZHVsZXIudW5zdGFibGVfbm93O1xudmFyIGdldEN1cnJlbnRQcmlvcml0eUxldmVsID0gU2NoZWR1bGVyLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsO1xudmFyIEltbWVkaWF0ZVByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5O1xudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5O1xudmFyIE5vcm1hbFByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5O1xudmFyIExvd1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX0xvd1ByaW9yaXR5O1xudmFyIElkbGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JZGxlUHJpb3JpdHk7XG4vLyB0aGlzIGRvZXNuJ3QgYWN0dWFsbHkgZXhpc3Qgb24gdGhlIHNjaGVkdWxlciwgYnV0IGl0ICpkb2VzKlxuLy8gb24gc2NoZWR1bGVyL3Vuc3RhYmxlX21vY2ssIHdoaWNoIHdlJ2xsIG5lZWQgZm9yIGludGVybmFsIHRlc3RpbmdcbnZhciB1bnN0YWJsZV95aWVsZFZhbHVlID0gU2NoZWR1bGVyLnVuc3RhYmxlX3lpZWxkVmFsdWU7XG52YXIgdW5zdGFibGVfc2V0RGlzYWJsZVlpZWxkVmFsdWUgPSBTY2hlZHVsZXIudW5zdGFibGVfc2V0RGlzYWJsZVlpZWxkVmFsdWU7XG5cbnZhciByZW5kZXJlcklEID0gbnVsbDtcbnZhciBpbmplY3RlZEhvb2sgPSBudWxsO1xudmFyIGluamVjdGVkUHJvZmlsaW5nSG9va3MgPSBudWxsO1xudmFyIGhhc0xvZ2dlZEVycm9yID0gZmFsc2U7XG52YXIgaXNEZXZUb29sc1ByZXNlbnQgPSB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJztcbmZ1bmN0aW9uIGluamVjdEludGVybmFscyhpbnRlcm5hbHMpIHtcbiAgaWYgKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gTm8gRGV2VG9vbHNcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgaG9vayA9IF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztcblxuICBpZiAoaG9vay5pc0Rpc2FibGVkKSB7XG4gICAgLy8gVGhpcyBpc24ndCBhIHJlYWwgcHJvcGVydHkgb24gdGhlIGhvb2ssIGJ1dCBpdCBjYW4gYmUgc2V0IHRvIG9wdCBvdXRcbiAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzM4NzdcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICghaG9vay5zdXBwb3J0c0ZpYmVyKSB7XG4gICAge1xuICAgICAgZXJyb3IoJ1RoZSBpbnN0YWxsZWQgdmVyc2lvbiBvZiBSZWFjdCBEZXZUb29scyBpcyB0b28gb2xkIGFuZCB3aWxsIG5vdCB3b3JrICcgKyAnd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIFJlYWN0LiBQbGVhc2UgdXBkYXRlIFJlYWN0IERldlRvb2xzLiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9yZWFjdC1kZXZ0b29scycpO1xuICAgIH0gLy8gRGV2VG9vbHMgZXhpc3RzLCBldmVuIHRob3VnaCBpdCBkb2Vzbid0IHN1cHBvcnQgRmliZXIuXG5cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlU2NoZWR1bGluZ1Byb2ZpbGVyKSB7XG4gICAgICAvLyBDb25kaXRpb25hbGx5IGluamVjdCB0aGVzZSBob29rcyBvbmx5IGlmIFRpbWVsaW5lIHByb2ZpbGVyIGlzIHN1cHBvcnRlZCBieSB0aGlzIGJ1aWxkLlxuICAgICAgLy8gVGhpcyBnaXZlcyBEZXZUb29scyBhIHdheSB0byBmZWF0dXJlIGRldGVjdCB0aGF0IGlzbid0IHRpZWQgdG8gdmVyc2lvbiBudW1iZXJcbiAgICAgIC8vIChzaW5jZSBwcm9maWxpbmcgYW5kIHRpbWVsaW5lIGFyZSBjb250cm9sbGVkIGJ5IGRpZmZlcmVudCBmZWF0dXJlIGZsYWdzKS5cbiAgICAgIGludGVybmFscyA9IGFzc2lnbih7fSwgaW50ZXJuYWxzLCB7XG4gICAgICAgIGdldExhbmVMYWJlbE1hcDogZ2V0TGFuZUxhYmVsTWFwLFxuICAgICAgICBpbmplY3RQcm9maWxpbmdIb29rczogaW5qZWN0UHJvZmlsaW5nSG9va3NcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbmRlcmVySUQgPSBob29rLmluamVjdChpbnRlcm5hbHMpOyAvLyBXZSBoYXZlIHN1Y2Nlc3NmdWxseSBpbmplY3RlZCwgc28gbm93IGl0IGlzIHNhZmUgdG8gc2V0IHVwIGhvb2tzLlxuXG4gICAgaW5qZWN0ZWRIb29rID0gaG9vaztcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gQ2F0Y2ggYWxsIGVycm9ycyBiZWNhdXNlIGl0IGlzIHVuc2FmZSB0byB0aHJvdyBkdXJpbmcgaW5pdGlhbGl6YXRpb24uXG4gICAge1xuICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMuJywgZXJyKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaG9vay5jaGVja0RDRSkge1xuICAgIC8vIFRoaXMgaXMgdGhlIHJlYWwgRGV2VG9vbHMuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhpcyBpcyBsaWtlbHkgYSBob29rIGluc3RhbGxlZCBieSBGYXN0IFJlZnJlc2ggcnVudGltZS5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIG9uU2NoZWR1bGVSb290KHJvb3QsIGNoaWxkcmVuKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2sub25TY2hlZHVsZUZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLm9uU2NoZWR1bGVGaWJlclJvb3QocmVuZGVyZXJJRCwgcm9vdCwgY2hpbGRyZW4pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICggIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFJvb3Qocm9vdCwgZXZlbnRQcmlvcml0eSkge1xuICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2sub25Db21taXRGaWJlclJvb3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICB0cnkge1xuICAgICAgdmFyIGRpZEVycm9yID0gKHJvb3QuY3VycmVudC5mbGFncyAmIERpZENhcHR1cmUpID09PSBEaWRDYXB0dXJlO1xuXG4gICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lcikge1xuICAgICAgICB2YXIgc2NoZWR1bGVyUHJpb3JpdHk7XG5cbiAgICAgICAgc3dpdGNoIChldmVudFByaW9yaXR5KSB7XG4gICAgICAgICAgY2FzZSBEaXNjcmV0ZUV2ZW50UHJpb3JpdHk6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IEltbWVkaWF0ZVByaW9yaXR5O1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIENvbnRpbnVvdXNFdmVudFByaW9yaXR5OlxuICAgICAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHkgPSBVc2VyQmxvY2tpbmdQcmlvcml0eTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICAgICAgICAgIHNjaGVkdWxlclByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgSWRsZUV2ZW50UHJpb3JpdHk6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IElkbGVQcmlvcml0eTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHNjaGVkdWxlclByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBzY2hlZHVsZXJQcmlvcml0eSwgZGlkRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLm9uQ29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QsIHVuZGVmaW5lZCwgZGlkRXJyb3IpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvblBvc3RDb21taXRSb290KHJvb3QpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uUG9zdENvbW1pdEZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRyeSB7XG4gICAgICBpbmplY3RlZEhvb2sub25Qb3N0Q29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFVubW91bnQoZmliZXIpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uQ29tbWl0RmliZXJVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyVW5tb3VudChyZW5kZXJlcklELCBmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB7XG4gICAgICAgIGlmICghaGFzTG9nZ2VkRXJyb3IpIHtcbiAgICAgICAgICBoYXNMb2dnZWRFcnJvciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKG5ld0lzU3RyaWN0TW9kZSkge1xuICB7XG4gICAgaWYgKHR5cGVvZiB1bnN0YWJsZV95aWVsZFZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBXZSdyZSBpbiBhIHRlc3QgYmVjYXVzZSBTY2hlZHVsZXIudW5zdGFibGVfeWllbGRWYWx1ZSBvbmx5IGV4aXN0c1xuICAgICAgLy8gaW4gU2NoZWR1bGVyTW9jay4gVG8gcmVkdWNlIHRoZSBub2lzZSBpbiBzdHJpY3QgbW9kZSB0ZXN0cyxcbiAgICAgIC8vIHN1cHByZXNzIHdhcm5pbmdzIGFuZCBkaXNhYmxlIHNjaGVkdWxlciB5aWVsZGluZyBkdXJpbmcgdGhlIGRvdWJsZSByZW5kZXJcbiAgICAgIHVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlKG5ld0lzU3RyaWN0TW9kZSk7XG4gICAgICBzZXRTdXBwcmVzc1dhcm5pbmcobmV3SXNTdHJpY3RNb2RlKTtcbiAgICB9XG5cbiAgICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2suc2V0U3RyaWN0TW9kZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLnNldFN0cmljdE1vZGUocmVuZGVyZXJJRCwgbmV3SXNTdHJpY3RNb2RlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xuICAgICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIFByb2ZpbGVyIEFQSSBob29rc1xuXG5mdW5jdGlvbiBpbmplY3RQcm9maWxpbmdIb29rcyhwcm9maWxpbmdIb29rcykge1xuICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzID0gcHJvZmlsaW5nSG9va3M7XG59XG5cbmZ1bmN0aW9uIGdldExhbmVMYWJlbE1hcCgpIHtcbiAge1xuICAgIHZhciBtYXAgPSBuZXcgTWFwKCk7XG4gICAgdmFyIGxhbmUgPSAxO1xuXG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IFRvdGFsTGFuZXM7IGluZGV4KyspIHtcbiAgICAgIHZhciBsYWJlbCA9IGdldExhYmVsRm9yTGFuZShsYW5lKTtcbiAgICAgIG1hcC5zZXQobGFuZSwgbGFiZWwpO1xuICAgICAgbGFuZSAqPSAyO1xuICAgIH1cblxuICAgIHJldHVybiBtYXA7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya0NvbW1pdFN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21taXRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdGFydGVkKGZpYmVyKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50U3VzcGVuZGVkKGZpYmVyLCB3YWtlYWJsZSwgbGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRTdXNwZW5kZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFN1c3BlbmRlZChmaWJlciwgd2FrZWFibGUsIGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkKGxhbmVzKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJZaWVsZGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclNjaGVkdWxlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUmVuZGVyU2NoZWR1bGVkKGxhbmUpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrRm9yY2VVcGRhdGVTY2hlZHVsZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBOb01vZGUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjA7IC8vIFRPRE86IFJlbW92ZSBDb25jdXJyZW50TW9kZSBieSByZWFkaW5nIGZyb20gdGhlIHJvb3QgdGFnIGluc3RlYWRcblxudmFyIENvbmN1cnJlbnRNb2RlID1cbi8qICAgICAgICAgICAgICAgICAqL1xuMTtcbnZhciBQcm9maWxlTW9kZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgU3RyaWN0TGVnYWN5TW9kZSA9XG4vKiAgICAgICAgICAgICAgICovXG44O1xudmFyIFN0cmljdEVmZmVjdHNNb2RlID1cbi8qICAgICAgICAgICAgICAqL1xuMTY7XG5cbi8vIFRPRE86IFRoaXMgaXMgcHJldHR5IHdlbGwgc3VwcG9ydGVkIGJ5IGJyb3dzZXJzLiBNYXliZSB3ZSBjYW4gZHJvcCBpdC5cbnZhciBjbHozMiA9IE1hdGguY2x6MzIgPyBNYXRoLmNsejMyIDogY2x6MzJGYWxsYmFjazsgLy8gQ291bnQgbGVhZGluZyB6ZXJvcy5cbi8vIEJhc2VkIG9uOlxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvTWF0aC9jbHozMlxuXG52YXIgbG9nID0gTWF0aC5sb2c7XG52YXIgTE4yID0gTWF0aC5MTjI7XG5cbmZ1bmN0aW9uIGNsejMyRmFsbGJhY2soeCkge1xuICB2YXIgYXNVaW50ID0geCA+Pj4gMDtcblxuICBpZiAoYXNVaW50ID09PSAwKSB7XG4gICAgcmV0dXJuIDMyO1xuICB9XG5cbiAgcmV0dXJuIDMxIC0gKGxvZyhhc1VpbnQpIC8gTE4yIHwgMCkgfCAwO1xufVxuXG4vLyBJZiB0aG9zZSB2YWx1ZXMgYXJlIGNoYW5nZWQgdGhhdCBwYWNrYWdlIHNob3VsZCBiZSByZWJ1aWx0IGFuZCByZWRlcGxveWVkLlxuXG52YXIgVG90YWxMYW5lcyA9IDMxO1xudmFyIE5vTGFuZXMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAqL1xuMDtcbnZhciBOb0xhbmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICovXG4wO1xudmFyIFN5bmNMYW5lID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjE7XG52YXIgSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZSA9XG4vKiAgICAqL1xuMjtcbnZhciBJbnB1dENvbnRpbnVvdXNMYW5lID1cbi8qICAgICAgICAgICAgICovXG40O1xudmFyIERlZmF1bHRIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICAgKi9cbjg7XG52YXIgRGVmYXVsdExhbmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAqL1xuMTY7XG52YXIgVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmUgPVxuLyogICAgICAgICAgICAgICAgKi9cbjMyO1xudmFyIFRyYW5zaXRpb25MYW5lcyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjQxOTQyNDA7XG52YXIgVHJhbnNpdGlvbkxhbmUxID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjY0O1xudmFyIFRyYW5zaXRpb25MYW5lMiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xMjg7XG52YXIgVHJhbnNpdGlvbkxhbmUzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjI1NjtcbnZhciBUcmFuc2l0aW9uTGFuZTQgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAqL1xuNTEyO1xudmFyIFRyYW5zaXRpb25MYW5lNSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xMDI0O1xudmFyIFRyYW5zaXRpb25MYW5lNiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4yMDQ4O1xudmFyIFRyYW5zaXRpb25MYW5lNyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG40MDk2O1xudmFyIFRyYW5zaXRpb25MYW5lOCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG44MTkyO1xudmFyIFRyYW5zaXRpb25MYW5lOSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xNjM4NDtcbnZhciBUcmFuc2l0aW9uTGFuZTEwID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuMzI3Njg7XG52YXIgVHJhbnNpdGlvbkxhbmUxMSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjY1NTM2O1xudmFyIFRyYW5zaXRpb25MYW5lMTIgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMzEwNzI7XG52YXIgVHJhbnNpdGlvbkxhbmUxMyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjI2MjE0NDtcbnZhciBUcmFuc2l0aW9uTGFuZTE0ID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNTI0Mjg4O1xudmFyIFRyYW5zaXRpb25MYW5lMTUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMDQ4NTc2O1xudmFyIFRyYW5zaXRpb25MYW5lMTYgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4yMDk3MTUyO1xudmFyIFJldHJ5TGFuZXMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjEzMDAyMzQyNDtcbnZhciBSZXRyeUxhbmUxID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuNDE5NDMwNDtcbnZhciBSZXRyeUxhbmUyID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuODM4ODYwODtcbnZhciBSZXRyeUxhbmUzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuMTY3NzcyMTY7XG52YXIgUmV0cnlMYW5lNCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjMzNTU0NDMyO1xudmFyIFJldHJ5TGFuZTUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG42NzEwODg2NDtcbnZhciBTb21lUmV0cnlMYW5lID0gUmV0cnlMYW5lMTtcbnZhciBTZWxlY3RpdmVIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICovXG4xMzQyMTc3Mjg7XG52YXIgTm9uSWRsZUxhbmVzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuMjY4NDM1NDU1O1xudmFyIElkbGVIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICAgICAgKi9cbjI2ODQzNTQ1NjtcbnZhciBJZGxlTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG41MzY4NzA5MTI7XG52YXIgT2Zmc2NyZWVuTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAqL1xuMTA3Mzc0MTgyNDsgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvciB0aGUgZXhwZXJpbWVudGFsIHRpbWVsaW5lIChyZWFjdC1kZXZ0b29scy10aW1lbGluZSlcbi8vIEl0IHNob3VsZCBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgTGFuZXMgdmFsdWVzIGFib3ZlLlxuXG5mdW5jdGlvbiBnZXRMYWJlbEZvckxhbmUobGFuZSkge1xuICB7XG4gICAgaWYgKGxhbmUgJiBTeW5jTGFuZSkge1xuICAgICAgcmV0dXJuICdTeW5jJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0xhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIERlZmF1bHRIeWRyYXRpb25MYW5lKSB7XG4gICAgICByZXR1cm4gJ0RlZmF1bHRIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgRGVmYXVsdExhbmUpIHtcbiAgICAgIHJldHVybiAnRGVmYXVsdCc7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBUcmFuc2l0aW9uSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFRyYW5zaXRpb25MYW5lcykge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFJldHJ5TGFuZXMpIHtcbiAgICAgIHJldHVybiAnUmV0cnknO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgU2VsZWN0aXZlSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdTZWxlY3RpdmVIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgSWRsZUh5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSWRsZUh5ZHJhdGlvbic7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBJZGxlTGFuZSkge1xuICAgICAgcmV0dXJuICdJZGxlJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIE9mZnNjcmVlbkxhbmUpIHtcbiAgICAgIHJldHVybiAnT2Zmc2NyZWVuJztcbiAgICB9XG4gIH1cbn1cbnZhciBOb1RpbWVzdGFtcCA9IC0xO1xudmFyIG5leHRUcmFuc2l0aW9uTGFuZSA9IFRyYW5zaXRpb25MYW5lMTtcbnZhciBuZXh0UmV0cnlMYW5lID0gUmV0cnlMYW5lMTtcblxuZnVuY3Rpb24gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMobGFuZXMpIHtcbiAgc3dpdGNoIChnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKGxhbmVzKSkge1xuICAgIGNhc2UgU3luY0xhbmU6XG4gICAgICByZXR1cm4gU3luY0xhbmU7XG5cbiAgICBjYXNlIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgSW5wdXRDb250aW51b3VzTGFuZTpcbiAgICAgIHJldHVybiBJbnB1dENvbnRpbnVvdXNMYW5lO1xuXG4gICAgY2FzZSBEZWZhdWx0SHlkcmF0aW9uTGFuZTpcbiAgICAgIHJldHVybiBEZWZhdWx0SHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgRGVmYXVsdExhbmU6XG4gICAgICByZXR1cm4gRGVmYXVsdExhbmU7XG5cbiAgICBjYXNlIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lOlxuICAgICAgcmV0dXJuIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lO1xuXG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTc6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTg6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEwOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE2OlxuICAgICAgcmV0dXJuIGxhbmVzICYgVHJhbnNpdGlvbkxhbmVzO1xuXG4gICAgY2FzZSBSZXRyeUxhbmUxOlxuICAgIGNhc2UgUmV0cnlMYW5lMjpcbiAgICBjYXNlIFJldHJ5TGFuZTM6XG4gICAgY2FzZSBSZXRyeUxhbmU0OlxuICAgIGNhc2UgUmV0cnlMYW5lNTpcbiAgICAgIHJldHVybiBsYW5lcyAmIFJldHJ5TGFuZXM7XG5cbiAgICBjYXNlIFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gU2VsZWN0aXZlSHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgSWRsZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gSWRsZUh5ZHJhdGlvbkxhbmU7XG5cbiAgICBjYXNlIElkbGVMYW5lOlxuICAgICAgcmV0dXJuIElkbGVMYW5lO1xuXG4gICAgY2FzZSBPZmZzY3JlZW5MYW5lOlxuICAgICAgcmV0dXJuIE9mZnNjcmVlbkxhbmU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICBlcnJvcignU2hvdWxkIGhhdmUgZm91bmQgbWF0Y2hpbmcgbGFuZXMuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9IC8vIFRoaXMgc2hvdWxkbid0IGJlIHJlYWNoYWJsZSwgYnV0IGFzIGEgZmFsbGJhY2ssIHJldHVybiB0aGUgZW50aXJlIGJpdG1hc2suXG5cblxuICAgICAgcmV0dXJuIGxhbmVzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5leHRMYW5lcyhyb290LCB3aXBMYW5lcykge1xuICAvLyBFYXJseSBiYWlsb3V0IGlmIHRoZXJlJ3Mgbm8gcGVuZGluZyB3b3JrIGxlZnQuXG4gIHZhciBwZW5kaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lcztcblxuICBpZiAocGVuZGluZ0xhbmVzID09PSBOb0xhbmVzKSB7XG4gICAgcmV0dXJuIE5vTGFuZXM7XG4gIH1cblxuICB2YXIgbmV4dExhbmVzID0gTm9MYW5lcztcbiAgdmFyIHN1c3BlbmRlZExhbmVzID0gcm9vdC5zdXNwZW5kZWRMYW5lcztcbiAgdmFyIHBpbmdlZExhbmVzID0gcm9vdC5waW5nZWRMYW5lczsgLy8gRG8gbm90IHdvcmsgb24gYW55IGlkbGUgd29yayB1bnRpbCBhbGwgdGhlIG5vbi1pZGxlIHdvcmsgaGFzIGZpbmlzaGVkLFxuICAvLyBldmVuIGlmIHRoZSB3b3JrIGlzIHN1c3BlbmRlZC5cblxuICB2YXIgbm9uSWRsZVBlbmRpbmdMYW5lcyA9IHBlbmRpbmdMYW5lcyAmIE5vbklkbGVMYW5lcztcblxuICBpZiAobm9uSWRsZVBlbmRpbmdMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgIHZhciBub25JZGxlVW5ibG9ja2VkTGFuZXMgPSBub25JZGxlUGVuZGluZ0xhbmVzICYgfnN1c3BlbmRlZExhbmVzO1xuXG4gICAgaWYgKG5vbklkbGVVbmJsb2NrZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMobm9uSWRsZVVuYmxvY2tlZExhbmVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIG5vbklkbGVQaW5nZWRMYW5lcyA9IG5vbklkbGVQZW5kaW5nTGFuZXMgJiBwaW5nZWRMYW5lcztcblxuICAgICAgaWYgKG5vbklkbGVQaW5nZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgICBuZXh0TGFuZXMgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lcyhub25JZGxlUGluZ2VkTGFuZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGUgb25seSByZW1haW5pbmcgd29yayBpcyBJZGxlLlxuICAgIHZhciB1bmJsb2NrZWRMYW5lcyA9IHBlbmRpbmdMYW5lcyAmIH5zdXNwZW5kZWRMYW5lcztcblxuICAgIGlmICh1bmJsb2NrZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXModW5ibG9ja2VkTGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGluZ2VkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMocGluZ2VkTGFuZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChuZXh0TGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBvbmx5IGJlIHJlYWNoYWJsZSBpZiB3ZSdyZSBzdXNwZW5kZWRcbiAgICAvLyBUT0RPOiBDb25zaWRlciB3YXJuaW5nIGluIHRoaXMgcGF0aCBpZiBhIGZhbGxiYWNrIHRpbWVyIGlzIG5vdCBzY2hlZHVsZWQuXG4gICAgcmV0dXJuIE5vTGFuZXM7XG4gIH0gLy8gSWYgd2UncmUgYWxyZWFkeSBpbiB0aGUgbWlkZGxlIG9mIGEgcmVuZGVyLCBzd2l0Y2hpbmcgbGFuZXMgd2lsbCBpbnRlcnJ1cHRcbiAgLy8gaXQgYW5kIHdlJ2xsIGxvc2Ugb3VyIHByb2dyZXNzLiBXZSBzaG91bGQgb25seSBkbyB0aGlzIGlmIHRoZSBuZXcgbGFuZXMgYXJlXG4gIC8vIGhpZ2hlciBwcmlvcml0eS5cblxuXG4gIGlmICh3aXBMYW5lcyAhPT0gTm9MYW5lcyAmJiB3aXBMYW5lcyAhPT0gbmV4dExhbmVzICYmIC8vIElmIHdlIGFscmVhZHkgc3VzcGVuZGVkIHdpdGggYSBkZWxheSwgdGhlbiBpbnRlcnJ1cHRpbmcgaXMgZmluZS4gRG9uJ3RcbiAgLy8gYm90aGVyIHdhaXRpbmcgdW50aWwgdGhlIHJvb3QgaXMgY29tcGxldGUuXG4gICh3aXBMYW5lcyAmIHN1c3BlbmRlZExhbmVzKSA9PT0gTm9MYW5lcykge1xuICAgIHZhciBuZXh0TGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUobmV4dExhbmVzKTtcbiAgICB2YXIgd2lwTGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUod2lwTGFuZXMpO1xuXG4gICAgaWYgKCAvLyBUZXN0cyB3aGV0aGVyIHRoZSBuZXh0IGxhbmUgaXMgZXF1YWwgb3IgbG93ZXIgcHJpb3JpdHkgdGhhbiB0aGUgd2lwXG4gICAgLy8gb25lLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIGJpdHMgZGVjcmVhc2UgaW4gcHJpb3JpdHkgYXMgeW91IGdvIGxlZnQuXG4gICAgbmV4dExhbmUgPj0gd2lwTGFuZSB8fCAvLyBEZWZhdWx0IHByaW9yaXR5IHVwZGF0ZXMgc2hvdWxkIG5vdCBpbnRlcnJ1cHQgdHJhbnNpdGlvbiB1cGRhdGVzLiBUaGVcbiAgICAvLyBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiBkZWZhdWx0IHVwZGF0ZXMgYW5kIHRyYW5zaXRpb24gdXBkYXRlcyBpcyB0aGF0XG4gICAgLy8gZGVmYXVsdCB1cGRhdGVzIGRvIG5vdCBzdXBwb3J0IHJlZnJlc2ggdHJhbnNpdGlvbnMuXG4gICAgbmV4dExhbmUgPT09IERlZmF1bHRMYW5lICYmICh3aXBMYW5lICYgVHJhbnNpdGlvbkxhbmVzKSAhPT0gTm9MYW5lcykge1xuICAgICAgLy8gS2VlcCB3b3JraW5nIG9uIHRoZSBleGlzdGluZyBpbi1wcm9ncmVzcyB0cmVlLiBEbyBub3QgaW50ZXJydXB0LlxuICAgICAgcmV0dXJuIHdpcExhbmVzO1xuICAgIH1cbiAgfVxuXG4gIGlmICgobmV4dExhbmVzICYgSW5wdXRDb250aW51b3VzTGFuZSkgIT09IE5vTGFuZXMpIHtcbiAgICAvLyBXaGVuIHVwZGF0ZXMgYXJlIHN5bmMgYnkgZGVmYXVsdCwgd2UgZW50YW5nbGUgY29udGludW91cyBwcmlvcml0eSB1cGRhdGVzXG4gICAgLy8gYW5kIGRlZmF1bHQgdXBkYXRlcywgc28gdGhleSByZW5kZXIgaW4gdGhlIHNhbWUgYmF0Y2guIFRoZSBvbmx5IHJlYXNvblxuICAgIC8vIHRoZXkgdXNlIHNlcGFyYXRlIGxhbmVzIGlzIGJlY2F1c2UgY29udGludW91cyB1cGRhdGVzIHNob3VsZCBpbnRlcnJ1cHRcbiAgICAvLyB0cmFuc2l0aW9ucywgYnV0IGRlZmF1bHQgdXBkYXRlcyBzaG91bGQgbm90LlxuICAgIG5leHRMYW5lcyB8PSBwZW5kaW5nTGFuZXMgJiBEZWZhdWx0TGFuZTtcbiAgfSAvLyBDaGVjayBmb3IgZW50YW5nbGVkIGxhbmVzIGFuZCBhZGQgdGhlbSB0byB0aGUgYmF0Y2guXG4gIC8vXG4gIC8vIEEgbGFuZSBpcyBzYWlkIHRvIGJlIGVudGFuZ2xlZCB3aXRoIGFub3RoZXIgd2hlbiBpdCdzIG5vdCBhbGxvd2VkIHRvIHJlbmRlclxuICAvLyBpbiBhIGJhdGNoIHRoYXQgZG9lcyBub3QgYWxzbyBpbmNsdWRlIHRoZSBvdGhlciBsYW5lLiBUeXBpY2FsbHkgd2UgZG8gdGhpc1xuICAvLyB3aGVuIG11bHRpcGxlIHVwZGF0ZXMgaGF2ZSB0aGUgc2FtZSBzb3VyY2UsIGFuZCB3ZSBvbmx5IHdhbnQgdG8gcmVzcG9uZCB0b1xuICAvLyB0aGUgbW9zdCByZWNlbnQgZXZlbnQgZnJvbSB0aGF0IHNvdXJjZS5cbiAgLy9cbiAgLy8gTm90ZSB0aGF0IHdlIGFwcGx5IGVudGFuZ2xlbWVudHMgKmFmdGVyKiBjaGVja2luZyBmb3IgcGFydGlhbCB3b3JrIGFib3ZlLlxuICAvLyBUaGlzIG1lYW5zIHRoYXQgaWYgYSBsYW5lIGlzIGVudGFuZ2xlZCBkdXJpbmcgYW4gaW50ZXJsZWF2ZWQgZXZlbnQgd2hpbGVcbiAgLy8gaXQncyBhbHJlYWR5IHJlbmRlcmluZywgd2Ugd29uJ3QgaW50ZXJydXB0IGl0LiBUaGlzIGlzIGludGVudGlvbmFsLCBzaW5jZVxuICAvLyBlbnRhbmdsZW1lbnQgaXMgdXN1YWxseSBcImJlc3QgZWZmb3J0XCI6IHdlJ2xsIHRyeSBvdXIgYmVzdCB0byByZW5kZXIgdGhlXG4gIC8vIGxhbmVzIGluIHRoZSBzYW1lIGJhdGNoLCBidXQgaXQncyBub3Qgd29ydGggdGhyb3dpbmcgb3V0IHBhcnRpYWxseVxuICAvLyBjb21wbGV0ZWQgd29yayBpbiBvcmRlciB0byBkbyBpdC5cbiAgLy8gVE9ETzogUmVjb25zaWRlciB0aGlzLiBUaGUgY291bnRlci1hcmd1bWVudCBpcyB0aGF0IHRoZSBwYXJ0aWFsIHdvcmtcbiAgLy8gcmVwcmVzZW50cyBhbiBpbnRlcm1lZGlhdGUgc3RhdGUsIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gc2hvdyB0byB0aGUgdXNlci5cbiAgLy8gQW5kIGJ5IHNwZW5kaW5nIGV4dHJhIHRpbWUgZmluaXNoaW5nIGl0LCB3ZSdyZSBpbmNyZWFzaW5nIHRoZSBhbW91bnQgb2ZcbiAgLy8gdGltZSBpdCB0YWtlcyB0byBzaG93IHRoZSBmaW5hbCBzdGF0ZSwgd2hpY2ggaXMgd2hhdCB0aGV5IGFyZSBhY3R1YWxseVxuICAvLyB3YWl0aW5nIGZvci5cbiAgLy9cbiAgLy8gRm9yIHRob3NlIGV4Y2VwdGlvbnMgd2hlcmUgZW50YW5nbGVtZW50IGlzIHNlbWFudGljYWxseSBpbXBvcnRhbnQsIGxpa2VcbiAgLy8gdXNlTXV0YWJsZVNvdXJjZSwgd2Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZXJlIGlzIG5vIHBhcnRpYWwgd29yayBhdCB0aGVcbiAgLy8gdGltZSB3ZSBhcHBseSB0aGUgZW50YW5nbGVtZW50LlxuXG5cbiAgdmFyIGVudGFuZ2xlZExhbmVzID0gcm9vdC5lbnRhbmdsZWRMYW5lcztcblxuICBpZiAoZW50YW5nbGVkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICB2YXIgZW50YW5nbGVtZW50cyA9IHJvb3QuZW50YW5nbGVtZW50cztcbiAgICB2YXIgbGFuZXMgPSBuZXh0TGFuZXMgJiBlbnRhbmdsZWRMYW5lcztcblxuICAgIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgICAgbmV4dExhbmVzIHw9IGVudGFuZ2xlbWVudHNbaW5kZXhdO1xuICAgICAgbGFuZXMgJj0gfmxhbmU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5leHRMYW5lcztcbn1cbmZ1bmN0aW9uIGdldE1vc3RSZWNlbnRFdmVudFRpbWUocm9vdCwgbGFuZXMpIHtcbiAgdmFyIGV2ZW50VGltZXMgPSByb290LmV2ZW50VGltZXM7XG4gIHZhciBtb3N0UmVjZW50RXZlbnRUaW1lID0gTm9UaW1lc3RhbXA7XG5cbiAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgZXZlbnRUaW1lID0gZXZlbnRUaW1lc1tpbmRleF07XG5cbiAgICBpZiAoZXZlbnRUaW1lID4gbW9zdFJlY2VudEV2ZW50VGltZSkge1xuICAgICAgbW9zdFJlY2VudEV2ZW50VGltZSA9IGV2ZW50VGltZTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxuXG4gIHJldHVybiBtb3N0UmVjZW50RXZlbnRUaW1lO1xufVxuXG5mdW5jdGlvbiBjb21wdXRlRXhwaXJhdGlvblRpbWUobGFuZSwgY3VycmVudFRpbWUpIHtcbiAgc3dpdGNoIChsYW5lKSB7XG4gICAgY2FzZSBTeW5jTGFuZTpcbiAgICBjYXNlIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJbnB1dENvbnRpbnVvdXNMYW5lOlxuICAgICAgLy8gVXNlciBpbnRlcmFjdGlvbnMgc2hvdWxkIGV4cGlyZSBzbGlnaHRseSBtb3JlIHF1aWNrbHkuXG4gICAgICAvL1xuICAgICAgLy8gTk9URTogVGhpcyBpcyBzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgY29uc3RhbnQgYXMgaW4gU2NoZWR1bGVyLmpzLlxuICAgICAgLy8gV2hlbiB3ZSBtYWRlIGl0IGxhcmdlciwgYSBwcm9kdWN0IG1ldHJpYyBpbiB3d3cgcmVncmVzc2VkLCBzdWdnZXN0aW5nXG4gICAgICAvLyB0aGVyZSdzIGEgdXNlciBpbnRlcmFjdGlvbiB0aGF0J3MgYmVpbmcgc3RhcnZlZCBieSBhIHNlcmllcyBvZlxuICAgICAgLy8gc3luY2hyb25vdXMgdXBkYXRlcy4gSWYgdGhhdCB0aGVvcnkgaXMgY29ycmVjdCwgdGhlIHByb3BlciBzb2x1dGlvbiBpc1xuICAgICAgLy8gdG8gZml4IHRoZSBzdGFydmF0aW9uLiBIb3dldmVyLCB0aGlzIHNjZW5hcmlvIHN1cHBvcnRzIHRoZSBpZGVhIHRoYXRcbiAgICAgIC8vIGV4cGlyYXRpb24gdGltZXMgYXJlIGFuIGltcG9ydGFudCBzYWZlZ3VhcmQgd2hlbiBzdGFydmF0aW9uXG4gICAgICAvLyBkb2VzIGhhcHBlbi5cbiAgICAgIHJldHVybiBjdXJyZW50VGltZSArIDI1MDtcblxuICAgIGNhc2UgRGVmYXVsdEh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBEZWZhdWx0TGFuZTpcbiAgICBjYXNlIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUyOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU0OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU1OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU2OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU3OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU4OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU5OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEyOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMzpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE1OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNjpcbiAgICAgIHJldHVybiBjdXJyZW50VGltZSArIDUwMDA7XG5cbiAgICBjYXNlIFJldHJ5TGFuZTE6XG4gICAgY2FzZSBSZXRyeUxhbmUyOlxuICAgIGNhc2UgUmV0cnlMYW5lMzpcbiAgICBjYXNlIFJldHJ5TGFuZTQ6XG4gICAgY2FzZSBSZXRyeUxhbmU1OlxuICAgICAgLy8gVE9ETzogUmV0cmllcyBzaG91bGQgYmUgYWxsb3dlZCB0byBleHBpcmUgaWYgdGhleSBhcmUgQ1BVIGJvdW5kIGZvclxuICAgICAgLy8gdG9vIGxvbmcsIGJ1dCB3aGVuIEkgbWFkZSB0aGlzIGNoYW5nZSBpdCBjYXVzZWQgYSBzcGlrZSBpbiBicm93c2VyXG4gICAgICAvLyBjcmFzaGVzLiBUaGVyZSBtdXN0IGJlIHNvbWUgb3RoZXIgdW5kZXJseWluZyBidWc7IG5vdCBzdXBlciB1cmdlbnQgYnV0XG4gICAgICAvLyBpZGVhbGx5IHNob3VsZCBmaWd1cmUgb3V0IHdoeSBhbmQgZml4IGl0LiBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmVcbiAgICAgIC8vIGEgcmVwcm8gZm9yIHRoZSBjcmFzaGVzLCBvbmx5IGRldGVjdGVkIHZpYSBwcm9kdWN0aW9uIG1ldHJpY3MuXG4gICAgICByZXR1cm4gTm9UaW1lc3RhbXA7XG5cbiAgICBjYXNlIFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJZGxlSHlkcmF0aW9uTGFuZTpcbiAgICBjYXNlIElkbGVMYW5lOlxuICAgIGNhc2UgT2Zmc2NyZWVuTGFuZTpcbiAgICAgIC8vIEFueXRoaW5nIGlkbGUgcHJpb3JpdHkgb3IgbG93ZXIgc2hvdWxkIG5ldmVyIGV4cGlyZS5cbiAgICAgIHJldHVybiBOb1RpbWVzdGFtcDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIGVycm9yKCdTaG91bGQgaGF2ZSBmb3VuZCBtYXRjaGluZyBsYW5lcy4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIE5vVGltZXN0YW1wO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcmtTdGFydmVkTGFuZXNBc0V4cGlyZWQocm9vdCwgY3VycmVudFRpbWUpIHtcbiAgLy8gVE9ETzogVGhpcyBnZXRzIGNhbGxlZCBldmVyeSB0aW1lIHdlIHlpZWxkLiBXZSBjYW4gb3B0aW1pemUgYnkgc3RvcmluZ1xuICAvLyB0aGUgZWFybGllc3QgZXhwaXJhdGlvbiB0aW1lIG9uIHRoZSByb290LiBUaGVuIHVzZSB0aGF0IHRvIHF1aWNrbHkgYmFpbCBvdXRcbiAgLy8gb2YgdGhpcyBmdW5jdGlvbi5cbiAgdmFyIHBlbmRpbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzO1xuICB2YXIgc3VzcGVuZGVkTGFuZXMgPSByb290LnN1c3BlbmRlZExhbmVzO1xuICB2YXIgcGluZ2VkTGFuZXMgPSByb290LnBpbmdlZExhbmVzO1xuICB2YXIgZXhwaXJhdGlvblRpbWVzID0gcm9vdC5leHBpcmF0aW9uVGltZXM7IC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgcGVuZGluZyBsYW5lcyBhbmQgY2hlY2sgaWYgd2UndmUgcmVhY2hlZCB0aGVpclxuICAvLyBleHBpcmF0aW9uIHRpbWUuIElmIHNvLCB3ZSdsbCBhc3N1bWUgdGhlIHVwZGF0ZSBpcyBiZWluZyBzdGFydmVkIGFuZCBtYXJrXG4gIC8vIGl0IGFzIGV4cGlyZWQgdG8gZm9yY2UgaXQgdG8gZmluaXNoLlxuXG4gIHZhciBsYW5lcyA9IHBlbmRpbmdMYW5lcztcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIHZhciBleHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lc1tpbmRleF07XG5cbiAgICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IE5vVGltZXN0YW1wKSB7XG4gICAgICAvLyBGb3VuZCBhIHBlbmRpbmcgbGFuZSB3aXRoIG5vIGV4cGlyYXRpb24gdGltZS4gSWYgaXQncyBub3Qgc3VzcGVuZGVkLCBvclxuICAgICAgLy8gaWYgaXQncyBwaW5nZWQsIGFzc3VtZSBpdCdzIENQVS1ib3VuZC4gQ29tcHV0ZSBhIG5ldyBleHBpcmF0aW9uIHRpbWVcbiAgICAgIC8vIHVzaW5nIHRoZSBjdXJyZW50IHRpbWUuXG4gICAgICBpZiAoKGxhbmUgJiBzdXNwZW5kZWRMYW5lcykgPT09IE5vTGFuZXMgfHwgKGxhbmUgJiBwaW5nZWRMYW5lcykgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aW1lc3RhbXBzIGFyZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcuXG4gICAgICAgIGV4cGlyYXRpb25UaW1lc1tpbmRleF0gPSBjb21wdXRlRXhwaXJhdGlvblRpbWUobGFuZSwgY3VycmVudFRpbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWUpIHtcbiAgICAgIC8vIFRoaXMgbGFuZSBleHBpcmVkXG4gICAgICByb290LmV4cGlyZWRMYW5lcyB8PSBsYW5lO1xuICAgIH1cblxuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59IC8vIFRoaXMgcmV0dXJucyB0aGUgaGlnaGVzdCBwcmlvcml0eSBwZW5kaW5nIGxhbmVzIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGV5XG4vLyBhcmUgc3VzcGVuZGVkLlxuXG5mdW5jdGlvbiBnZXRIaWdoZXN0UHJpb3JpdHlQZW5kaW5nTGFuZXMocm9vdCkge1xuICByZXR1cm4gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMocm9vdC5wZW5kaW5nTGFuZXMpO1xufVxuZnVuY3Rpb24gZ2V0TGFuZXNUb1JldHJ5U3luY2hyb25vdXNseU9uRXJyb3Iocm9vdCkge1xuICB2YXIgZXZlcnl0aGluZ0J1dE9mZnNjcmVlbiA9IHJvb3QucGVuZGluZ0xhbmVzICYgfk9mZnNjcmVlbkxhbmU7XG5cbiAgaWYgKGV2ZXJ5dGhpbmdCdXRPZmZzY3JlZW4gIT09IE5vTGFuZXMpIHtcbiAgICByZXR1cm4gZXZlcnl0aGluZ0J1dE9mZnNjcmVlbjtcbiAgfVxuXG4gIGlmIChldmVyeXRoaW5nQnV0T2Zmc2NyZWVuICYgT2Zmc2NyZWVuTGFuZSkge1xuICAgIHJldHVybiBPZmZzY3JlZW5MYW5lO1xuICB9XG5cbiAgcmV0dXJuIE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc1N5bmNMYW5lKGxhbmVzKSB7XG4gIHJldHVybiAobGFuZXMgJiBTeW5jTGFuZSkgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc05vbklkbGVXb3JrKGxhbmVzKSB7XG4gIHJldHVybiAobGFuZXMgJiBOb25JZGxlTGFuZXMpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gaW5jbHVkZXNPbmx5UmV0cmllcyhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgUmV0cnlMYW5lcykgPT09IGxhbmVzO1xufVxuZnVuY3Rpb24gaW5jbHVkZXNPbmx5Tm9uVXJnZW50TGFuZXMobGFuZXMpIHtcbiAgdmFyIFVyZ2VudExhbmVzID0gU3luY0xhbmUgfCBJbnB1dENvbnRpbnVvdXNMYW5lIHwgRGVmYXVsdExhbmU7XG4gIHJldHVybiAobGFuZXMgJiBVcmdlbnRMYW5lcykgPT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc09ubHlUcmFuc2l0aW9ucyhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgVHJhbnNpdGlvbkxhbmVzKSA9PT0gbGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCBsYW5lcykge1xuXG4gIHZhciBTeW5jRGVmYXVsdExhbmVzID0gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZSB8IElucHV0Q29udGludW91c0xhbmUgfCBEZWZhdWx0SHlkcmF0aW9uTGFuZSB8IERlZmF1bHRMYW5lO1xuICByZXR1cm4gKGxhbmVzICYgU3luY0RlZmF1bHRMYW5lcykgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0V4cGlyZWRMYW5lKHJvb3QsIGxhbmVzKSB7XG4gIC8vIFRoaXMgaXMgYSBzZXBhcmF0ZSBjaGVjayBmcm9tIGluY2x1ZGVzQmxvY2tpbmdMYW5lIGJlY2F1c2UgYSBsYW5lIGNhblxuICAvLyBleHBpcmUgYWZ0ZXIgYSByZW5kZXIgaGFzIGFscmVhZHkgc3RhcnRlZC5cbiAgcmV0dXJuIChsYW5lcyAmIHJvb3QuZXhwaXJlZExhbmVzKSAhPT0gTm9MYW5lcztcbn1cbmZ1bmN0aW9uIGlzVHJhbnNpdGlvbkxhbmUobGFuZSkge1xuICByZXR1cm4gKGxhbmUgJiBUcmFuc2l0aW9uTGFuZXMpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gY2xhaW1OZXh0VHJhbnNpdGlvbkxhbmUoKSB7XG4gIC8vIEN5Y2xlIHRocm91Z2ggdGhlIGxhbmVzLCBhc3NpZ25pbmcgZWFjaCBuZXcgdHJhbnNpdGlvbiB0byB0aGUgbmV4dCBsYW5lLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIG1lYW5zIGV2ZXJ5IHRyYW5zaXRpb24gZ2V0cyBpdHMgb3duIGxhbmUsIHVudGlsIHdlXG4gIC8vIHJ1biBvdXQgb2YgbGFuZXMgYW5kIGN5Y2xlIGJhY2sgdG8gdGhlIGJlZ2lubmluZy5cbiAgdmFyIGxhbmUgPSBuZXh0VHJhbnNpdGlvbkxhbmU7XG4gIG5leHRUcmFuc2l0aW9uTGFuZSA8PD0gMTtcblxuICBpZiAoKG5leHRUcmFuc2l0aW9uTGFuZSAmIFRyYW5zaXRpb25MYW5lcykgPT09IE5vTGFuZXMpIHtcbiAgICBuZXh0VHJhbnNpdGlvbkxhbmUgPSBUcmFuc2l0aW9uTGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGNsYWltTmV4dFJldHJ5TGFuZSgpIHtcbiAgdmFyIGxhbmUgPSBuZXh0UmV0cnlMYW5lO1xuICBuZXh0UmV0cnlMYW5lIDw8PSAxO1xuXG4gIGlmICgobmV4dFJldHJ5TGFuZSAmIFJldHJ5TGFuZXMpID09PSBOb0xhbmVzKSB7XG4gICAgbmV4dFJldHJ5TGFuZSA9IFJldHJ5TGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGdldEhpZ2hlc3RQcmlvcml0eUxhbmUobGFuZXMpIHtcbiAgcmV0dXJuIGxhbmVzICYgLWxhbmVzO1xufVxuZnVuY3Rpb24gcGlja0FyYml0cmFyeUxhbmUobGFuZXMpIHtcbiAgLy8gVGhpcyB3cmFwcGVyIGZ1bmN0aW9uIGdldHMgaW5saW5lZC4gT25seSBleGlzdHMgc28gdG8gY29tbXVuaWNhdGUgdGhhdCBpdFxuICAvLyBkb2Vzbid0IG1hdHRlciB3aGljaCBiaXQgaXMgc2VsZWN0ZWQ7IHlvdSBjYW4gcGljayBhbnkgYml0IHdpdGhvdXRcbiAgLy8gYWZmZWN0aW5nIHRoZSBhbGdvcml0aG1zIHdoZXJlIGl0cyB1c2VkLiBIZXJlIEknbSB1c2luZ1xuICAvLyBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lIGJlY2F1c2UgaXQgcmVxdWlyZXMgdGhlIGZld2VzdCBvcGVyYXRpb25zLlxuICByZXR1cm4gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShsYW5lcyk7XG59XG5cbmZ1bmN0aW9uIHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpIHtcbiAgcmV0dXJuIDMxIC0gY2x6MzIobGFuZXMpO1xufVxuXG5mdW5jdGlvbiBsYW5lVG9JbmRleChsYW5lKSB7XG4gIHJldHVybiBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmUpO1xufVxuXG5mdW5jdGlvbiBpbmNsdWRlc1NvbWVMYW5lKGEsIGIpIHtcbiAgcmV0dXJuIChhICYgYikgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpc1N1YnNldE9mTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIChzZXQgJiBzdWJzZXQpID09PSBzdWJzZXQ7XG59XG5mdW5jdGlvbiBtZXJnZUxhbmVzKGEsIGIpIHtcbiAgcmV0dXJuIGEgfCBiO1xufVxuZnVuY3Rpb24gcmVtb3ZlTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIHNldCAmIH5zdWJzZXQ7XG59XG5mdW5jdGlvbiBpbnRlcnNlY3RMYW5lcyhhLCBiKSB7XG4gIHJldHVybiBhICYgYjtcbn0gLy8gU2VlbXMgcmVkdW5kYW50LCBidXQgaXQgY2hhbmdlcyB0aGUgdHlwZSBmcm9tIGEgc2luZ2xlIGxhbmUgKHVzZWQgZm9yXG4vLyB1cGRhdGVzKSB0byBhIGdyb3VwIG9mIGxhbmVzICh1c2VkIGZvciBmbHVzaGluZyB3b3JrKS5cblxuZnVuY3Rpb24gbGFuZVRvTGFuZXMobGFuZSkge1xuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGhpZ2hlclByaW9yaXR5TGFuZShhLCBiKSB7XG4gIC8vIFRoaXMgd29ya3MgYmVjYXVzZSB0aGUgYml0IHJhbmdlcyBkZWNyZWFzZSBpbiBwcmlvcml0eSBhcyB5b3UgZ28gbGVmdC5cbiAgcmV0dXJuIGEgIT09IE5vTGFuZSAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gY3JlYXRlTGFuZU1hcChpbml0aWFsKSB7XG4gIC8vIEludGVudGlvbmFsbHkgcHVzaGluZyBvbmUgYnkgb25lLlxuICAvLyBodHRwczovL3Y4LmRldi9ibG9nL2VsZW1lbnRzLWtpbmRzI2F2b2lkLWNyZWF0aW5nLWhvbGVzXG4gIHZhciBsYW5lTWFwID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBUb3RhbExhbmVzOyBpKyspIHtcbiAgICBsYW5lTWFwLnB1c2goaW5pdGlhbCk7XG4gIH1cblxuICByZXR1cm4gbGFuZU1hcDtcbn1cbmZ1bmN0aW9uIG1hcmtSb290VXBkYXRlZChyb290LCB1cGRhdGVMYW5lLCBldmVudFRpbWUpIHtcbiAgcm9vdC5wZW5kaW5nTGFuZXMgfD0gdXBkYXRlTGFuZTsgLy8gSWYgdGhlcmUgYXJlIGFueSBzdXNwZW5kZWQgdHJhbnNpdGlvbnMsIGl0J3MgcG9zc2libGUgdGhpcyBuZXcgdXBkYXRlXG4gIC8vIGNvdWxkIHVuYmxvY2sgdGhlbS4gQ2xlYXIgdGhlIHN1c3BlbmRlZCBsYW5lcyBzbyB0aGF0IHdlIGNhbiB0cnkgcmVuZGVyaW5nXG4gIC8vIHRoZW0gYWdhaW4uXG4gIC8vXG4gIC8vIFRPRE86IFdlIHJlYWxseSBvbmx5IG5lZWQgdG8gdW5zdXNwZW5kIG9ubHkgbGFuZXMgdGhhdCBhcmUgaW4gdGhlXG4gIC8vIGBzdWJ0cmVlTGFuZXNgIG9mIHRoZSB1cGRhdGVkIGZpYmVyLCBvciB0aGUgdXBkYXRlIGxhbmVzIG9mIHRoZSByZXR1cm5cbiAgLy8gcGF0aC4gVGhpcyB3b3VsZCBleGNsdWRlIHN1c3BlbmRlZCB1cGRhdGVzIGluIGFuIHVucmVsYXRlZCBzaWJsaW5nIHRyZWUsXG4gIC8vIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IGZvciB0aGlzIHVwZGF0ZSB0byB1bmJsb2NrIGl0LlxuICAvL1xuICAvLyBXZSBkb24ndCBkbyB0aGlzIGlmIHRoZSBpbmNvbWluZyB1cGRhdGUgaXMgaWRsZSwgYmVjYXVzZSB3ZSBuZXZlciBwcm9jZXNzXG4gIC8vIGlkbGUgdXBkYXRlcyB1bnRpbCBhZnRlciBhbGwgdGhlIHJlZ3VsYXIgdXBkYXRlcyBoYXZlIGZpbmlzaGVkOyB0aGVyZSdzIG5vXG4gIC8vIHdheSBpdCBjb3VsZCB1bmJsb2NrIGEgdHJhbnNpdGlvbi5cblxuICBpZiAodXBkYXRlTGFuZSAhPT0gSWRsZUxhbmUpIHtcbiAgICByb290LnN1c3BlbmRlZExhbmVzID0gTm9MYW5lcztcbiAgICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgfVxuXG4gIHZhciBldmVudFRpbWVzID0gcm9vdC5ldmVudFRpbWVzO1xuICB2YXIgaW5kZXggPSBsYW5lVG9JbmRleCh1cGRhdGVMYW5lKTsgLy8gV2UgY2FuIGFsd2F5cyBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgdGltZXN0YW1wIGJlY2F1c2Ugd2UgcHJlZmVyIHRoZSBtb3N0XG4gIC8vIHJlY2VudCBldmVudCwgYW5kIHdlIGFzc3VtZSB0aW1lIGlzIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy5cblxuICBldmVudFRpbWVzW2luZGV4XSA9IGV2ZW50VGltZTtcbn1cbmZ1bmN0aW9uIG1hcmtSb290U3VzcGVuZGVkKHJvb3QsIHN1c3BlbmRlZExhbmVzKSB7XG4gIHJvb3Quc3VzcGVuZGVkTGFuZXMgfD0gc3VzcGVuZGVkTGFuZXM7XG4gIHJvb3QucGluZ2VkTGFuZXMgJj0gfnN1c3BlbmRlZExhbmVzOyAvLyBUaGUgc3VzcGVuZGVkIGxhbmVzIGFyZSBubyBsb25nZXIgQ1BVLWJvdW5kLiBDbGVhciB0aGVpciBleHBpcmF0aW9uIHRpbWVzLlxuXG4gIHZhciBleHBpcmF0aW9uVGltZXMgPSByb290LmV4cGlyYXRpb25UaW1lcztcbiAgdmFyIGxhbmVzID0gc3VzcGVuZGVkTGFuZXM7XG5cbiAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICBleHBpcmF0aW9uVGltZXNbaW5kZXhdID0gTm9UaW1lc3RhbXA7XG4gICAgbGFuZXMgJj0gfmxhbmU7XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSb290UGluZ2VkKHJvb3QsIHBpbmdlZExhbmVzLCBldmVudFRpbWUpIHtcbiAgcm9vdC5waW5nZWRMYW5lcyB8PSByb290LnN1c3BlbmRlZExhbmVzICYgcGluZ2VkTGFuZXM7XG59XG5mdW5jdGlvbiBtYXJrUm9vdEZpbmlzaGVkKHJvb3QsIHJlbWFpbmluZ0xhbmVzKSB7XG4gIHZhciBub0xvbmdlclBlbmRpbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzICYgfnJlbWFpbmluZ0xhbmVzO1xuICByb290LnBlbmRpbmdMYW5lcyA9IHJlbWFpbmluZ0xhbmVzOyAvLyBMZXQncyB0cnkgZXZlcnl0aGluZyBhZ2FpblxuXG4gIHJvb3Quc3VzcGVuZGVkTGFuZXMgPSBOb0xhbmVzO1xuICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgcm9vdC5leHBpcmVkTGFuZXMgJj0gcmVtYWluaW5nTGFuZXM7XG4gIHJvb3QubXV0YWJsZVJlYWRMYW5lcyAmPSByZW1haW5pbmdMYW5lcztcbiAgcm9vdC5lbnRhbmdsZWRMYW5lcyAmPSByZW1haW5pbmdMYW5lcztcbiAgdmFyIGVudGFuZ2xlbWVudHMgPSByb290LmVudGFuZ2xlbWVudHM7XG4gIHZhciBldmVudFRpbWVzID0gcm9vdC5ldmVudFRpbWVzO1xuICB2YXIgZXhwaXJhdGlvblRpbWVzID0gcm9vdC5leHBpcmF0aW9uVGltZXM7IC8vIENsZWFyIHRoZSBsYW5lcyB0aGF0IG5vIGxvbmdlciBoYXZlIHBlbmRpbmcgd29ya1xuXG4gIHZhciBsYW5lcyA9IG5vTG9uZ2VyUGVuZGluZ0xhbmVzO1xuXG4gIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICB2YXIgaW5kZXggPSBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmVzKTtcbiAgICB2YXIgbGFuZSA9IDEgPDwgaW5kZXg7XG4gICAgZW50YW5nbGVtZW50c1tpbmRleF0gPSBOb0xhbmVzO1xuICAgIGV2ZW50VGltZXNbaW5kZXhdID0gTm9UaW1lc3RhbXA7XG4gICAgZXhwaXJhdGlvblRpbWVzW2luZGV4XSA9IE5vVGltZXN0YW1wO1xuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiBtYXJrUm9vdEVudGFuZ2xlZChyb290LCBlbnRhbmdsZWRMYW5lcykge1xuICAvLyBJbiBhZGRpdGlvbiB0byBlbnRhbmdsaW5nIGVhY2ggb2YgdGhlIGdpdmVuIGxhbmVzIHdpdGggZWFjaCBvdGhlciwgd2UgYWxzb1xuICAvLyBoYXZlIHRvIGNvbnNpZGVyIF90cmFuc2l0aXZlXyBlbnRhbmdsZW1lbnRzLiBGb3IgZWFjaCBsYW5lIHRoYXQgaXMgYWxyZWFkeVxuICAvLyBlbnRhbmdsZWQgd2l0aCAqYW55KiBvZiB0aGUgZ2l2ZW4gbGFuZXMsIHRoYXQgbGFuZSBpcyBub3cgdHJhbnNpdGl2ZWx5XG4gIC8vIGVudGFuZ2xlZCB3aXRoICphbGwqIHRoZSBnaXZlbiBsYW5lcy5cbiAgLy9cbiAgLy8gVHJhbnNsYXRlZDogSWYgQyBpcyBlbnRhbmdsZWQgd2l0aCBBLCB0aGVuIGVudGFuZ2xpbmcgQSB3aXRoIEIgYWxzb1xuICAvLyBlbnRhbmdsZXMgQyB3aXRoIEIuXG4gIC8vXG4gIC8vIElmIHRoaXMgaXMgaGFyZCB0byBncmFzcCwgaXQgbWlnaHQgaGVscCB0byBpbnRlbnRpb25hbGx5IGJyZWFrIHRoaXNcbiAgLy8gZnVuY3Rpb24gYW5kIGxvb2sgYXQgdGhlIHRlc3RzIHRoYXQgZmFpbCBpbiBSZWFjdFRyYW5zaXRpb24tdGVzdC5qcy4gVHJ5XG4gIC8vIGNvbW1lbnRpbmcgb3V0IG9uZSBvZiB0aGUgY29uZGl0aW9ucyBiZWxvdy5cbiAgdmFyIHJvb3RFbnRhbmdsZWRMYW5lcyA9IHJvb3QuZW50YW5nbGVkTGFuZXMgfD0gZW50YW5nbGVkTGFuZXM7XG4gIHZhciBlbnRhbmdsZW1lbnRzID0gcm9vdC5lbnRhbmdsZW1lbnRzO1xuICB2YXIgbGFuZXMgPSByb290RW50YW5nbGVkTGFuZXM7XG5cbiAgd2hpbGUgKGxhbmVzKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuXG4gICAgaWYgKCAvLyBJcyB0aGlzIG9uZSBvZiB0aGUgbmV3bHkgZW50YW5nbGVkIGxhbmVzP1xuICAgIGxhbmUgJiBlbnRhbmdsZWRMYW5lcyB8IC8vIElzIHRoaXMgbGFuZSB0cmFuc2l0aXZlbHkgZW50YW5nbGVkIHdpdGggdGhlIG5ld2x5IGVudGFuZ2xlZCBsYW5lcz9cbiAgICBlbnRhbmdsZW1lbnRzW2luZGV4XSAmIGVudGFuZ2xlZExhbmVzKSB7XG4gICAgICBlbnRhbmdsZW1lbnRzW2luZGV4XSB8PSBlbnRhbmdsZWRMYW5lcztcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0QnVtcGVkTGFuZUZvckh5ZHJhdGlvbihyb290LCByZW5kZXJMYW5lcykge1xuICB2YXIgcmVuZGVyTGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUocmVuZGVyTGFuZXMpO1xuICB2YXIgbGFuZTtcblxuICBzd2l0Y2ggKHJlbmRlckxhbmUpIHtcbiAgICBjYXNlIElucHV0Q29udGludW91c0xhbmU6XG4gICAgICBsYW5lID0gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBEZWZhdWx0TGFuZTpcbiAgICAgIGxhbmUgPSBEZWZhdWx0SHlkcmF0aW9uTGFuZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTc6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTg6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEwOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE2OlxuICAgIGNhc2UgUmV0cnlMYW5lMTpcbiAgICBjYXNlIFJldHJ5TGFuZTI6XG4gICAgY2FzZSBSZXRyeUxhbmUzOlxuICAgIGNhc2UgUmV0cnlMYW5lNDpcbiAgICBjYXNlIFJldHJ5TGFuZTU6XG4gICAgICBsYW5lID0gVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmU7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSWRsZUxhbmU6XG4gICAgICBsYW5lID0gSWRsZUh5ZHJhdGlvbkxhbmU7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBFdmVyeXRoaW5nIGVsc2UgaXMgYWxyZWFkeSBlaXRoZXIgYSBoeWRyYXRpb24gbGFuZSwgb3Igc2hvdWxkbid0XG4gICAgICAvLyBiZSByZXRyaWVkIGF0IGEgaHlkcmF0aW9uIGxhbmUuXG4gICAgICBsYW5lID0gTm9MYW5lO1xuICAgICAgYnJlYWs7XG4gIH0gLy8gQ2hlY2sgaWYgdGhlIGxhbmUgd2UgY2hvc2UgaXMgc3VzcGVuZGVkLiBJZiBzbywgdGhhdCBpbmRpY2F0ZXMgdGhhdCB3ZVxuICAvLyBhbHJlYWR5IGF0dGVtcHRlZCBhbmQgZmFpbGVkIHRvIGh5ZHJhdGUgYXQgdGhhdCBsZXZlbC4gQWxzbyBjaGVjayBpZiB3ZSdyZVxuICAvLyBhbHJlYWR5IHJlbmRlcmluZyB0aGF0IGxhbmUsIHdoaWNoIGlzIHJhcmUgYnV0IGNvdWxkIGhhcHBlbi5cblxuXG4gIGlmICgobGFuZSAmIChyb290LnN1c3BlbmRlZExhbmVzIHwgcmVuZGVyTGFuZXMpKSAhPT0gTm9MYW5lKSB7XG4gICAgLy8gR2l2ZSB1cCB0cnlpbmcgdG8gaHlkcmF0ZSBhbmQgZmFsbCBiYWNrIHRvIGNsaWVudCByZW5kZXIuXG4gICAgcmV0dXJuIE5vTGFuZTtcbiAgfVxuXG4gIHJldHVybiBsYW5lO1xufVxuZnVuY3Rpb24gYWRkRmliZXJUb0xhbmVzTWFwKHJvb3QsIGZpYmVyLCBsYW5lcykge1xuXG4gIGlmICghaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcCA9IHJvb3QucGVuZGluZ1VwZGF0ZXJzTGFuZU1hcDtcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gbGFuZVRvSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgdXBkYXRlcnMgPSBwZW5kaW5nVXBkYXRlcnNMYW5lTWFwW2luZGV4XTtcbiAgICB1cGRhdGVycy5hZGQoZmliZXIpO1xuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiBtb3ZlUGVuZGluZ0ZpYmVyc1RvTWVtb2l6ZWQocm9vdCwgbGFuZXMpIHtcblxuICBpZiAoIWlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHBlbmRpbmdVcGRhdGVyc0xhbmVNYXAgPSByb290LnBlbmRpbmdVcGRhdGVyc0xhbmVNYXA7XG4gIHZhciBtZW1vaXplZFVwZGF0ZXJzID0gcm9vdC5tZW1vaXplZFVwZGF0ZXJzO1xuXG4gIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICB2YXIgaW5kZXggPSBsYW5lVG9JbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIHZhciB1cGRhdGVycyA9IHBlbmRpbmdVcGRhdGVyc0xhbmVNYXBbaW5kZXhdO1xuXG4gICAgaWYgKHVwZGF0ZXJzLnNpemUgPiAwKSB7XG4gICAgICB1cGRhdGVycy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gICAgICAgIGlmIChhbHRlcm5hdGUgPT09IG51bGwgfHwgIW1lbW9pemVkVXBkYXRlcnMuaGFzKGFsdGVybmF0ZSkpIHtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmFkZChmaWJlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdXBkYXRlcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcyhyb290LCBsYW5lcykge1xuICB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxudmFyIERpc2NyZXRlRXZlbnRQcmlvcml0eSA9IFN5bmNMYW5lO1xudmFyIENvbnRpbnVvdXNFdmVudFByaW9yaXR5ID0gSW5wdXRDb250aW51b3VzTGFuZTtcbnZhciBEZWZhdWx0RXZlbnRQcmlvcml0eSA9IERlZmF1bHRMYW5lO1xudmFyIElkbGVFdmVudFByaW9yaXR5ID0gSWRsZUxhbmU7XG52YXIgY3VycmVudFVwZGF0ZVByaW9yaXR5ID0gTm9MYW5lO1xuZnVuY3Rpb24gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCkge1xuICByZXR1cm4gY3VycmVudFVwZGF0ZVByaW9yaXR5O1xufVxuZnVuY3Rpb24gc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KG5ld1ByaW9yaXR5KSB7XG4gIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IG5ld1ByaW9yaXR5O1xufVxuZnVuY3Rpb24gcnVuV2l0aFByaW9yaXR5KHByaW9yaXR5LCBmbikge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGN1cnJlbnRVcGRhdGVQcmlvcml0eTtcblxuICB0cnkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByaW9yaXR5O1xuICAgIHJldHVybiBmbigpO1xuICB9IGZpbmFsbHkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByZXZpb3VzUHJpb3JpdHk7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZ2hlckV2ZW50UHJpb3JpdHkoYSwgYikge1xuICByZXR1cm4gYSAhPT0gMCAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gbG93ZXJFdmVudFByaW9yaXR5KGEsIGIpIHtcbiAgcmV0dXJuIGEgPT09IDAgfHwgYSA+IGIgPyBhIDogYjtcbn1cbmZ1bmN0aW9uIGlzSGlnaGVyRXZlbnRQcmlvcml0eShhLCBiKSB7XG4gIHJldHVybiBhICE9PSAwICYmIGEgPCBiO1xufVxuZnVuY3Rpb24gbGFuZXNUb0V2ZW50UHJpb3JpdHkobGFuZXMpIHtcbiAgdmFyIGxhbmUgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKGxhbmVzKTtcblxuICBpZiAoIWlzSGlnaGVyRXZlbnRQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHksIGxhbmUpKSB7XG4gICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmICghaXNIaWdoZXJFdmVudFByaW9yaXR5KENvbnRpbnVvdXNFdmVudFByaW9yaXR5LCBsYW5lKSkge1xuICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmIChpbmNsdWRlc05vbklkbGVXb3JrKGxhbmUpKSB7XG4gICAgcmV0dXJuIERlZmF1bHRFdmVudFByaW9yaXR5O1xuICB9XG5cbiAgcmV0dXJuIElkbGVFdmVudFByaW9yaXR5O1xufVxuXG4vLyBUaGlzIGlzIGltcG9ydGVkIGJ5IHRoZSBldmVudCByZXBsYXlpbmcgaW1wbGVtZW50YXRpb24gaW4gUmVhY3QgRE9NLiBJdCdzXG4vLyBpbiBhIHNlcGFyYXRlIGZpbGUgdG8gYnJlYWsgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIHJlbmRlcmVyIGFuZFxuLy8gdGhlIHJlY29uY2lsZXIuXG5mdW5jdGlvbiBpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpIHtcbiAgdmFyIGN1cnJlbnRTdGF0ZSA9IHJvb3QuY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gY3VycmVudFN0YXRlLmlzRGVoeWRyYXRlZDtcbn1cblxudmFyIF9hdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb247XG5cbmZ1bmN0aW9uIHNldEF0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmbikge1xuICBfYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uID0gZm47XG59XG5mdW5jdGlvbiBhdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb24oZmliZXIpIHtcbiAgX2F0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmaWJlcik7XG59XG52YXIgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb247XG5mdW5jdGlvbiBzZXRBdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbihmbikge1xuICBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiA9IGZuO1xufVxudmFyIGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eTtcbmZ1bmN0aW9uIHNldEF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eShmbikge1xuICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkgPSBmbjtcbn1cbnZhciBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkkMTtcbmZ1bmN0aW9uIHNldEdldEN1cnJlbnRVcGRhdGVQcmlvcml0eShmbikge1xuICBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkkMSA9IGZuO1xufVxudmFyIGF0dGVtcHRIeWRyYXRpb25BdFByaW9yaXR5O1xuZnVuY3Rpb24gc2V0QXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkoZm4pIHtcbiAgYXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkgPSBmbjtcbn0gLy8gVE9ETzogVXBncmFkZSB0aGlzIGRlZmluaXRpb24gb25jZSB3ZSdyZSBvbiBhIG5ld2VyIHZlcnNpb24gb2YgRmxvdyB0aGF0XG4vLyBoYXMgdGhpcyBkZWZpbml0aW9uIGJ1aWx0LWluLlxuXG52YXIgaGFzU2NoZWR1bGVkUmVwbGF5QXR0ZW1wdCA9IGZhbHNlOyAvLyBUaGUgcXVldWUgb2YgZGlzY3JldGUgZXZlbnRzIHRvIGJlIHJlcGxheWVkLlxuXG52YXIgcXVldWVkRGlzY3JldGVFdmVudHMgPSBbXTsgLy8gSW5kaWNhdGVzIGlmIGFueSBjb250aW51b3VzIGV2ZW50IHRhcmdldHMgYXJlIG5vbi1udWxsIGZvciBlYXJseSBiYWlsb3V0LlxuLy8gaWYgdGhlIGxhc3QgdGFyZ2V0IHdhcyBkZWh5ZHJhdGVkLlxuXG52YXIgcXVldWVkRm9jdXMgPSBudWxsO1xudmFyIHF1ZXVlZERyYWcgPSBudWxsO1xudmFyIHF1ZXVlZE1vdXNlID0gbnVsbDsgLy8gRm9yIHBvaW50ZXIgZXZlbnRzIHRoZXJlIGNhbiBiZSBvbmUgbGF0ZXN0IGV2ZW50IHBlciBwb2ludGVySWQuXG5cbnZhciBxdWV1ZWRQb2ludGVycyA9IG5ldyBNYXAoKTtcbnZhciBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMgPSBuZXcgTWFwKCk7IC8vIFdlIGNvdWxkIGNvbnNpZGVyIHJlcGxheWluZyBzZWxlY3Rpb25jaGFuZ2UgYW5kIHRvdWNobW92ZXMgdG9vLlxuXG52YXIgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzID0gW107XG52YXIgZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzID0gWydtb3VzZWRvd24nLCAnbW91c2V1cCcsICd0b3VjaGNhbmNlbCcsICd0b3VjaGVuZCcsICd0b3VjaHN0YXJ0JywgJ2F1eGNsaWNrJywgJ2RibGNsaWNrJywgJ3BvaW50ZXJjYW5jZWwnLCAncG9pbnRlcmRvd24nLCAncG9pbnRlcnVwJywgJ2RyYWdlbmQnLCAnZHJhZ3N0YXJ0JywgJ2Ryb3AnLCAnY29tcG9zaXRpb25lbmQnLCAnY29tcG9zaXRpb25zdGFydCcsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2tleXVwJywgJ2lucHV0JywgJ3RleHRJbnB1dCcsIC8vIEludGVudGlvbmFsbHkgY2FtZWxDYXNlXG4nY29weScsICdjdXQnLCAncGFzdGUnLCAnY2xpY2snLCAnY2hhbmdlJywgJ2NvbnRleHRtZW51JywgJ3Jlc2V0JywgJ3N1Ym1pdCddO1xuZnVuY3Rpb24gaXNEaXNjcmV0ZUV2ZW50VGhhdFJlcXVpcmVzSHlkcmF0aW9uKGV2ZW50VHlwZSkge1xuICByZXR1cm4gZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzLmluZGV4T2YoZXZlbnRUeXBlKSA+IC0xO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBibG9ja2VkT246IGJsb2NrZWRPbixcbiAgICBkb21FdmVudE5hbWU6IGRvbUV2ZW50TmFtZSxcbiAgICBldmVudFN5c3RlbUZsYWdzOiBldmVudFN5c3RlbUZsYWdzLFxuICAgIG5hdGl2ZUV2ZW50OiBuYXRpdmVFdmVudCxcbiAgICB0YXJnZXRDb250YWluZXJzOiBbdGFyZ2V0Q29udGFpbmVyXVxuICB9O1xufVxuXG5mdW5jdGlvbiBjbGVhcklmQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpIHtcbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2xlYXZlJzpcbiAgICAgIHF1ZXVlZERyYWcgPSBudWxsO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICAgIHF1ZXVlZE1vdXNlID0gbnVsbDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAncG9pbnRlcm92ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgICAge1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gbmF0aXZlRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVycy5kZWxldGUocG9pbnRlcklkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgY2FzZSAnbG9zdHBvaW50ZXJjYXB0dXJlJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wb2ludGVySWQgPSBuYXRpdmVFdmVudC5wb2ludGVySWQ7XG4gICAgICAgIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5kZWxldGUoX3BvaW50ZXJJZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoZXhpc3RpbmdRdWV1ZWRFdmVudCwgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKGV4aXN0aW5nUXVldWVkRXZlbnQgPT09IG51bGwgfHwgZXhpc3RpbmdRdWV1ZWRFdmVudC5uYXRpdmVFdmVudCAhPT0gbmF0aXZlRXZlbnQpIHtcbiAgICB2YXIgcXVldWVkRXZlbnQgPSBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgdmFyIF9maWJlcjIgPSBnZXRJbnN0YW5jZUZyb21Ob2RlKGJsb2NrZWRPbik7XG5cbiAgICAgIGlmIChfZmliZXIyICE9PSBudWxsKSB7XG4gICAgICAgIC8vIEF0dGVtcHQgdG8gaW5jcmVhc2UgdGhlIHByaW9yaXR5IG9mIHRoaXMgdGFyZ2V0LlxuICAgICAgICBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbihfZmliZXIyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcXVldWVkRXZlbnQ7XG4gIH0gLy8gSWYgd2UgaGF2ZSBhbHJlYWR5IHF1ZXVlZCB0aGlzIGV4YWN0IGV2ZW50LCB0aGVuIGl0J3MgYmVjYXVzZVxuICAvLyB0aGUgZGlmZmVyZW50IGV2ZW50IHN5c3RlbXMgaGF2ZSBkaWZmZXJlbnQgRE9NIGV2ZW50IGxpc3RlbmVycy5cbiAgLy8gV2UgY2FuIGFjY3VtdWxhdGUgdGhlIGZsYWdzLCBhbmQgdGhlIHRhcmdldENvbnRhaW5lcnMsIGFuZFxuICAvLyBzdG9yZSBhIHNpbmdsZSBldmVudCB0byBiZSByZXBsYXllZC5cblxuXG4gIGV4aXN0aW5nUXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncyB8PSBldmVudFN5c3RlbUZsYWdzO1xuICB2YXIgdGFyZ2V0Q29udGFpbmVycyA9IGV4aXN0aW5nUXVldWVkRXZlbnQudGFyZ2V0Q29udGFpbmVycztcblxuICBpZiAodGFyZ2V0Q29udGFpbmVyICE9PSBudWxsICYmIHRhcmdldENvbnRhaW5lcnMuaW5kZXhPZih0YXJnZXRDb250YWluZXIpID09PSAtMSkge1xuICAgIHRhcmdldENvbnRhaW5lcnMucHVzaCh0YXJnZXRDb250YWluZXIpO1xuICB9XG5cbiAgcmV0dXJuIGV4aXN0aW5nUXVldWVkRXZlbnQ7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgLy8gVGhlc2Ugc2V0IHJlbGF0ZWRUYXJnZXQgdG8gbnVsbCBiZWNhdXNlIHRoZSByZXBsYXllZCBldmVudCB3aWxsIGJlIHRyZWF0ZWQgYXMgaWYgd2VcbiAgLy8gbW92ZWQgZnJvbSBvdXRzaWRlIHRoZSB3aW5kb3cgKG5vIHRhcmdldCkgb250byB0aGUgdGFyZ2V0IG9uY2UgaXQgaHlkcmF0ZXMuXG4gIC8vIEluc3RlYWQgb2YgbXV0YXRpbmcgd2UgY291bGQgY2xvbmUgdGhlIGV2ZW50LlxuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgICAge1xuICAgICAgICB2YXIgZm9jdXNFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRGb2N1cyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRm9jdXMsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIGZvY3VzRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgICB7XG4gICAgICAgIHZhciBkcmFnRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICAgICAgcXVldWVkRHJhZyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRHJhZywgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgZHJhZ0V2ZW50KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgICAge1xuICAgICAgICB2YXIgbW91c2VFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRNb3VzZSA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkTW91c2UsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIG1vdXNlRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIHBvaW50ZXJFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gcG9pbnRlckV2ZW50LnBvaW50ZXJJZDtcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuc2V0KHBvaW50ZXJJZCwgYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChxdWV1ZWRQb2ludGVycy5nZXQocG9pbnRlcklkKSB8fCBudWxsLCBibG9ja2VkT24sIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBwb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgICB7XG4gICAgICAgIHZhciBfcG9pbnRlckV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHZhciBfcG9pbnRlcklkMiA9IF9wb2ludGVyRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuc2V0KF9wb2ludGVySWQyLCBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5nZXQoX3BvaW50ZXJJZDIpIHx8IG51bGwsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIF9wb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59IC8vIENoZWNrIGlmIHRoaXMgdGFyZ2V0IGlzIHVuYmxvY2tlZC4gUmV0dXJucyB0cnVlIGlmIGl0J3MgdW5ibG9ja2VkLlxuXG5mdW5jdGlvbiBhdHRlbXB0RXhwbGljaXRIeWRyYXRpb25UYXJnZXQocXVldWVkVGFyZ2V0KSB7XG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gc2hhcmVzIGEgbG90IG9mIGxvZ2ljIHdpdGggZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudC5cbiAgLy8gVHJ5IHRvIHVuaWZ5IHRoZW0uIEl0J3MgYSBiaXQgdHJpY2t5IHNpbmNlIGl0IHdvdWxkIHJlcXVpcmUgdHdvIHJldHVyblxuICAvLyB2YWx1ZXMuXG4gIHZhciB0YXJnZXRJbnN0ID0gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUocXVldWVkVGFyZ2V0LnRhcmdldCk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBudWxsKSB7XG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xuXG4gICAgICBpZiAodGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcblxuICAgICAgICBpZiAoaW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSdyZSBibG9ja2VkIG9uIGh5ZHJhdGluZyB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIC8vIEluY3JlYXNlIGl0cyBwcmlvcml0eS5cbiAgICAgICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gaW5zdGFuY2U7XG4gICAgICAgICAgYXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkocXVldWVkVGFyZ2V0LnByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkobmVhcmVzdE1vdW50ZWQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIHZhciByb290ID0gbmVhcmVzdE1vdW50ZWQuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpKSB7XG4gICAgICAgICAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IGdldENvbnRhaW5lckZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7IC8vIFdlIGRvbid0IGN1cnJlbnRseSBoYXZlIGEgd2F5IHRvIGluY3JlYXNlIHRoZSBwcmlvcml0eSBvZlxuICAgICAgICAgIC8vIGEgcm9vdCBvdGhlciB0aGFuIHN5bmMuXG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcXVldWVFeHBsaWNpdEh5ZHJhdGlvblRhcmdldCh0YXJnZXQpIHtcbiAgLy8gVE9ETzogVGhpcyB3aWxsIHJlYWQgdGhlIHByaW9yaXR5IGlmIGl0J3MgZGlzcGF0Y2hlZCBieSB0aGUgUmVhY3RcbiAgLy8gZXZlbnQgc3lzdGVtIGJ1dCBub3QgbmF0aXZlIGV2ZW50cy4gU2hvdWxkIHJlYWQgd2luZG93LmV2ZW50LnR5cGUsIGxpa2VcbiAgLy8gd2UgZG8gZm9yIHVwZGF0ZXMgKGdldEN1cnJlbnRFdmVudFByaW9yaXR5KS5cbiAgdmFyIHVwZGF0ZVByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5JDEoKTtcbiAgdmFyIHF1ZXVlZFRhcmdldCA9IHtcbiAgICBibG9ja2VkT246IG51bGwsXG4gICAgdGFyZ2V0OiB0YXJnZXQsXG4gICAgcHJpb3JpdHk6IHVwZGF0ZVByaW9yaXR5XG4gIH07XG4gIHZhciBpID0gMDtcblxuICBmb3IgKDsgaSA8IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0cy5sZW5ndGg7IGkrKykge1xuICAgIC8vIFN0b3Agb25jZSB3ZSBoaXQgdGhlIGZpcnN0IHRhcmdldCB3aXRoIGxvd2VyIHByaW9yaXR5IHRoYW5cbiAgICBpZiAoIWlzSGlnaGVyRXZlbnRQcmlvcml0eSh1cGRhdGVQcmlvcml0eSwgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzW2ldLnByaW9yaXR5KSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNwbGljZShpLCAwLCBxdWV1ZWRUYXJnZXQpO1xuXG4gIGlmIChpID09PSAwKSB7XG4gICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KHF1ZXVlZFRhcmdldCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkge1xuICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHRhcmdldENvbnRhaW5lcnMgPSBxdWV1ZWRFdmVudC50YXJnZXRDb250YWluZXJzO1xuXG4gIHdoaWxlICh0YXJnZXRDb250YWluZXJzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgdGFyZ2V0Q29udGFpbmVyID0gdGFyZ2V0Q29udGFpbmVyc1swXTtcbiAgICB2YXIgbmV4dEJsb2NrZWRPbiA9IGZpbmRJbnN0YW5jZUJsb2NraW5nRXZlbnQocXVldWVkRXZlbnQuZG9tRXZlbnROYW1lLCBxdWV1ZWRFdmVudC5ldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIHF1ZXVlZEV2ZW50Lm5hdGl2ZUV2ZW50KTtcblxuICAgIGlmIChuZXh0QmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHZhciBuYXRpdmVFdmVudCA9IHF1ZXVlZEV2ZW50Lm5hdGl2ZUV2ZW50O1xuICAgICAgICB2YXIgbmF0aXZlRXZlbnRDbG9uZSA9IG5ldyBuYXRpdmVFdmVudC5jb25zdHJ1Y3RvcihuYXRpdmVFdmVudC50eXBlLCBuYXRpdmVFdmVudCk7XG4gICAgICAgIHNldFJlcGxheWluZ0V2ZW50KG5hdGl2ZUV2ZW50Q2xvbmUpO1xuICAgICAgICBuYXRpdmVFdmVudC50YXJnZXQuZGlzcGF0Y2hFdmVudChuYXRpdmVFdmVudENsb25lKTtcbiAgICAgICAgcmVzZXRSZXBsYXlpbmdFdmVudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSdyZSBzdGlsbCBibG9ja2VkLiBUcnkgYWdhaW4gbGF0ZXIuXG4gICAgICB2YXIgX2ZpYmVyMyA9IGdldEluc3RhbmNlRnJvbU5vZGUobmV4dEJsb2NrZWRPbik7XG5cbiAgICAgIGlmIChfZmliZXIzICE9PSBudWxsKSB7XG4gICAgICAgIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uKF9maWJlcjMpO1xuICAgICAgfVxuXG4gICAgICBxdWV1ZWRFdmVudC5ibG9ja2VkT24gPSBuZXh0QmxvY2tlZE9uO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gVGhpcyB0YXJnZXQgY29udGFpbmVyIHdhcyBzdWNjZXNzZnVsbHkgZGlzcGF0Y2hlZC4gVHJ5IHRoZSBuZXh0LlxuXG5cbiAgICB0YXJnZXRDb250YWluZXJzLnNoaWZ0KCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudEluTWFwKHF1ZXVlZEV2ZW50LCBrZXksIG1hcCkge1xuICBpZiAoYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkpIHtcbiAgICBtYXAuZGVsZXRlKGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwbGF5VW5ibG9ja2VkRXZlbnRzKCkge1xuICBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7XG5cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRGb2N1cykpIHtcbiAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCAmJiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50KHF1ZXVlZERyYWcpKSB7XG4gICAgcXVldWVkRHJhZyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkTW91c2UgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRNb3VzZSkpIHtcbiAgICBxdWV1ZWRNb3VzZSA9IG51bGw7XG4gIH1cblxuICBxdWV1ZWRQb2ludGVycy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG59XG5cbmZ1bmN0aW9uIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWRFdmVudCwgdW5ibG9ja2VkKSB7XG4gIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gPT09IHVuYmxvY2tlZCkge1xuICAgIHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9IG51bGw7XG5cbiAgICBpZiAoIWhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQpIHtcbiAgICAgIGhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQgPSB0cnVlOyAvLyBTY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGF0dGVtcHQgcmVwbGF5aW5nIGFzIG1hbnkgZXZlbnRzIGFzIGFyZVxuICAgICAgLy8gbm93IHVuYmxvY2tlZC4gVGhpcyBmaXJzdCBtaWdodCBub3QgYWN0dWFsbHkgYmUgdW5ibG9ja2VkIHlldC5cbiAgICAgIC8vIFdlIGNvdWxkIGNoZWNrIGl0IGVhcmx5IHRvIGF2b2lkIHNjaGVkdWxpbmcgYW4gdW5uZWNlc3NhcnkgY2FsbGJhY2suXG5cbiAgICAgIFNjaGVkdWxlci51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKFNjaGVkdWxlci51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSwgcmVwbGF5VW5ibG9ja2VkRXZlbnRzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmV0cnlJZkJsb2NrZWRPbih1bmJsb2NrZWQpIHtcbiAgLy8gTWFyayBhbnl0aGluZyB0aGF0IHdhcyBibG9ja2VkIG9uIHRoaXMgYXMgbm8gbG9uZ2VyIGJsb2NrZWRcbiAgLy8gYW5kIGVsaWdpYmxlIGZvciBhIHJlcGxheS5cbiAgaWYgKHF1ZXVlZERpc2NyZXRlRXZlbnRzLmxlbmd0aCA+IDApIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRGlzY3JldGVFdmVudHNbMF0sIHVuYmxvY2tlZCk7IC8vIFRoaXMgaXMgYSBleHBvbmVudGlhbCBzZWFyY2ggZm9yIGVhY2ggYm91bmRhcnkgdGhhdCBjb21taXRzLiBJIHRoaW5rIGl0J3NcbiAgICAvLyB3b3J0aCBpdCBiZWNhdXNlIHdlIGV4cGVjdCB2ZXJ5IGZldyBkaXNjcmV0ZSBldmVudHMgdG8gcXVldWUgdXAgYW5kIG9uY2VcbiAgICAvLyB3ZSBhcmUgYWN0dWFsbHkgZnVsbHkgdW5ibG9ja2VkIGl0IHdpbGwgYmUgZmFzdCB0byByZXBsYXkgdGhlbS5cblxuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgcXVldWVkRGlzY3JldGVFdmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBxdWV1ZWRFdmVudCA9IHF1ZXVlZERpc2NyZXRlRXZlbnRzW2ldO1xuXG4gICAgICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uID09PSB1bmJsb2NrZWQpIHtcbiAgICAgICAgcXVldWVkRXZlbnQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRm9jdXMsIHVuYmxvY2tlZCk7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWREcmFnLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgaWYgKHF1ZXVlZE1vdXNlICE9PSBudWxsKSB7XG4gICAgc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZE1vdXNlLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgdmFyIHVuYmxvY2sgPSBmdW5jdGlvbiAocXVldWVkRXZlbnQpIHtcbiAgICByZXR1cm4gc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZEV2ZW50LCB1bmJsb2NrZWQpO1xuICB9O1xuXG4gIHF1ZXVlZFBvaW50ZXJzLmZvckVhY2godW5ibG9jayk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKHVuYmxvY2spO1xuXG4gIGZvciAodmFyIF9pID0gMDsgX2kgPCBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgdmFyIHF1ZXVlZFRhcmdldCA9IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0c1tfaV07XG5cbiAgICBpZiAocXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XG4gICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICB3aGlsZSAocXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgbmV4dEV4cGxpY2l0VGFyZ2V0ID0gcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzWzBdO1xuXG4gICAgaWYgKG5leHRFeHBsaWNpdFRhcmdldC5ibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXG4gICAgICBicmVhaztcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KG5leHRFeHBsaWNpdFRhcmdldCk7XG5cbiAgICAgIGlmIChuZXh0RXhwbGljaXRUYXJnZXQuYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICAgIC8vIFdlJ3JlIHVuYmxvY2tlZC5cbiAgICAgICAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNoaWZ0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOyAvLyBUT0RPOiBjYW4gd2Ugc3RvcCBleHBvcnRpbmcgdGhlc2U/XG5cbnZhciBfZW5hYmxlZCA9IHRydWU7IC8vIFRoaXMgaXMgZXhwb3J0ZWQgaW4gRkIgYnVpbGRzIGZvciB1c2UgYnkgbGVnYWN5IEZCIGxheWVyIGluZnJhLlxuLy8gV2UnZCBsaWtlIHRvIHJlbW92ZSB0aGlzIGJ1dCBpdCdzIG5vdCBjbGVhciBpZiB0aGlzIGlzIHNhZmUuXG5cbmZ1bmN0aW9uIHNldEVuYWJsZWQoZW5hYmxlZCkge1xuICBfZW5hYmxlZCA9ICEhZW5hYmxlZDtcbn1cbmZ1bmN0aW9uIGlzRW5hYmxlZCgpIHtcbiAgcmV0dXJuIF9lbmFibGVkO1xufVxuZnVuY3Rpb24gY3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXJXaXRoUHJpb3JpdHkodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGV2ZW50UHJpb3JpdHkgPSBnZXRFdmVudFByaW9yaXR5KGRvbUV2ZW50TmFtZSk7XG4gIHZhciBsaXN0ZW5lcldyYXBwZXI7XG5cbiAgc3dpdGNoIChldmVudFByaW9yaXR5KSB7XG4gICAgY2FzZSBEaXNjcmV0ZUV2ZW50UHJpb3JpdHk6XG4gICAgICBsaXN0ZW5lcldyYXBwZXIgPSBkaXNwYXRjaERpc2NyZXRlRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGludW91c0V2ZW50UHJpb3JpdHk6XG4gICAgICBsaXN0ZW5lcldyYXBwZXIgPSBkaXNwYXRjaENvbnRpbnVvdXNFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICBkZWZhdWx0OlxuICAgICAgbGlzdGVuZXJXcmFwcGVyID0gZGlzcGF0Y2hFdmVudDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyV3JhcHBlci5iaW5kKG51bGwsIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hEaXNjcmV0ZUV2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIGRpc3BhdGNoRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShDb250aW51b3VzRXZlbnRQcmlvcml0eSk7XG4gICAgZGlzcGF0Y2hFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuICB9IGZpbmFsbHkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKCFfZW5hYmxlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICBkaXNwYXRjaEV2ZW50V2l0aEVuYWJsZUNhcHR1cmVQaGFzZVNlbGVjdGl2ZUh5ZHJhdGlvbldpdGhvdXREaXNjcmV0ZUV2ZW50UmVwbGF5KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudFdpdGhFbmFibGVDYXB0dXJlUGhhc2VTZWxlY3RpdmVIeWRyYXRpb25XaXRob3V0RGlzY3JldGVFdmVudFJlcGxheShkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgdmFyIGJsb2NrZWRPbiA9IGZpbmRJbnN0YW5jZUJsb2NraW5nRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcblxuICBpZiAoYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgZGlzcGF0Y2hFdmVudEZvclBsdWdpbkV2ZW50U3lzdGVtKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHJldHVybl90YXJnZXRJbnN0LCB0YXJnZXRDb250YWluZXIpO1xuICAgIGNsZWFySWZDb250aW51b3VzRXZlbnQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpKSB7XG4gICAgbmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgcmV0dXJuO1xuICB9IC8vIFdlIG5lZWQgdG8gY2xlYXIgb25seSBpZiB3ZSBkaWRuJ3QgcXVldWUgYmVjYXVzZVxuICAvLyBxdWV1ZWluZyBpcyBhY2N1bXVsYXRpdmUuXG5cblxuICBjbGVhcklmQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpO1xuXG4gIGlmIChldmVudFN5c3RlbUZsYWdzICYgSVNfQ0FQVFVSRV9QSEFTRSAmJiBpc0Rpc2NyZXRlRXZlbnRUaGF0UmVxdWlyZXNIeWRyYXRpb24oZG9tRXZlbnROYW1lKSkge1xuICAgIHdoaWxlIChibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIHZhciBmaWJlciA9IGdldEluc3RhbmNlRnJvbU5vZGUoYmxvY2tlZE9uKTtcblxuICAgICAgaWYgKGZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgIGF0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmaWJlcik7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXh0QmxvY2tlZE9uID0gZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgICBpZiAobmV4dEJsb2NrZWRPbiA9PT0gbnVsbCkge1xuICAgICAgICBkaXNwYXRjaEV2ZW50Rm9yUGx1Z2luRXZlbnRTeXN0ZW0oZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgcmV0dXJuX3RhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0QmxvY2tlZE9uID09PSBibG9ja2VkT24pIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGJsb2NrZWRPbiA9IG5leHRCbG9ja2VkT247XG4gICAgfVxuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgbmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoaXMgaXMgbm90IHJlcGxheWFibGUgc28gd2UnbGwgaW52b2tlIGl0IGJ1dCB3aXRob3V0IGEgdGFyZ2V0LFxuICAvLyBpbiBjYXNlIHRoZSBldmVudCBzeXN0ZW0gbmVlZHMgdG8gdHJhY2UgaXQuXG5cblxuICBkaXNwYXRjaEV2ZW50Rm9yUGx1Z2luRXZlbnRTeXN0ZW0oZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgbnVsbCwgdGFyZ2V0Q29udGFpbmVyKTtcbn1cblxudmFyIHJldHVybl90YXJnZXRJbnN0ID0gbnVsbDsgLy8gUmV0dXJucyBhIFN1c3BlbnNlSW5zdGFuY2Ugb3IgQ29udGFpbmVyIGlmIGl0J3MgYmxvY2tlZC5cbi8vIFRoZSByZXR1cm5fdGFyZ2V0SW5zdCBmaWVsZCBhYm92ZSBpcyBjb25jZXB0dWFsbHkgcGFydCBvZiB0aGUgcmV0dXJuIHZhbHVlLlxuXG5mdW5jdGlvbiBmaW5kSW5zdGFuY2VCbG9ja2luZ0V2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICAvLyBUT0RPOiBXYXJuIGlmIF9lbmFibGVkIGlzIGZhbHNlLlxuICByZXR1cm5fdGFyZ2V0SW5zdCA9IG51bGw7XG4gIHZhciBuYXRpdmVFdmVudFRhcmdldCA9IGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KTtcbiAgdmFyIHRhcmdldEluc3QgPSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkID09PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIHRyZWUgaGFzIGJlZW4gdW5tb3VudGVkIGFscmVhZHkuIERpc3BhdGNoIHdpdGhvdXQgYSB0YXJnZXQuXG4gICAgICB0YXJnZXRJbnN0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHRhZyA9IG5lYXJlc3RNb3VudGVkLnRhZztcblxuICAgICAgaWYgKHRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gUXVldWUgdGhlIGV2ZW50IHRvIGJlIHJlcGxheWVkIGxhdGVyLiBBYm9ydCBkaXNwYXRjaGluZyBzaW5jZSB3ZVxuICAgICAgICAgIC8vIGRvbid0IHdhbnQgdGhpcyBldmVudCBkaXNwYXRjaGVkIHR3aWNlIHRocm91Z2ggdGhlIGV2ZW50IHN5c3RlbS5cbiAgICAgICAgICAvLyBUT0RPOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBkaXNjcmV0ZSBldmVudCBpbiB0aGUgcXVldWUuIFNjaGVkdWxlIGFuIGluY3JlYXNlZFxuICAgICAgICAgIC8vIHByaW9yaXR5IGZvciB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgICAgfSAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIHNvbWV0aGluZyB3ZW50IHdyb25nIGJ1dCB0byBhdm9pZCBibG9ja2luZ1xuICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLCBkaXNwYXRjaCB0aGUgZXZlbnQgd2l0aG91dCBhIHRhcmdldC5cbiAgICAgICAgLy8gVE9ETzogV2Fybi5cblxuXG4gICAgICAgIHRhcmdldEluc3QgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIHZhciByb290ID0gbmVhcmVzdE1vdW50ZWQuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpKSB7XG4gICAgICAgICAgLy8gSWYgdGhpcyBoYXBwZW5zIGR1cmluZyBhIHJlcGxheSBzb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgaXQgbWlnaHQgYmxvY2tcbiAgICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLlxuICAgICAgICAgIHJldHVybiBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKG5lYXJlc3RNb3VudGVkICE9PSB0YXJnZXRJbnN0KSB7XG4gICAgICAgIC8vIElmIHdlIGdldCBhbiBldmVudCAoZXg6IGltZyBvbmxvYWQpIGJlZm9yZSBjb21taXR0aW5nIHRoYXRcbiAgICAgICAgLy8gY29tcG9uZW50J3MgbW91bnQsIGlnbm9yZSBpdCBmb3Igbm93ICh0aGF0IGlzLCB0cmVhdCBpdCBhcyBpZiBpdCB3YXMgYW5cbiAgICAgICAgLy8gZXZlbnQgb24gYSBub24tUmVhY3QgdHJlZSkuIFdlIG1pZ2h0IGFsc28gY29uc2lkZXIgcXVldWVpbmcgZXZlbnRzIGFuZFxuICAgICAgICAvLyBkaXNwYXRjaGluZyB0aGVtIGFmdGVyIHRoZSBtb3VudC5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuX3RhcmdldEluc3QgPSB0YXJnZXRJbnN0OyAvLyBXZSdyZSBub3QgYmxvY2tlZCBvbiBhbnl0aGluZy5cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldEV2ZW50UHJpb3JpdHkoZG9tRXZlbnROYW1lKSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgLy8gVXNlZCBieSBTaW1wbGVFdmVudFBsdWdpbjpcbiAgICBjYXNlICdjYW5jZWwnOlxuICAgIGNhc2UgJ2NsaWNrJzpcbiAgICBjYXNlICdjbG9zZSc6XG4gICAgY2FzZSAnY29udGV4dG1lbnUnOlxuICAgIGNhc2UgJ2NvcHknOlxuICAgIGNhc2UgJ2N1dCc6XG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdkcmFnZW5kJzpcbiAgICBjYXNlICdkcmFnc3RhcnQnOlxuICAgIGNhc2UgJ2Ryb3AnOlxuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgIGNhc2UgJ2ZvY3Vzb3V0JzpcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgY2FzZSAnaW52YWxpZCc6XG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5cHJlc3MnOlxuICAgIGNhc2UgJ2tleXVwJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNldXAnOlxuICAgIGNhc2UgJ3Bhc3RlJzpcbiAgICBjYXNlICdwYXVzZSc6XG4gICAgY2FzZSAncGxheSc6XG4gICAgY2FzZSAncG9pbnRlcmNhbmNlbCc6XG4gICAgY2FzZSAncG9pbnRlcmRvd24nOlxuICAgIGNhc2UgJ3BvaW50ZXJ1cCc6XG4gICAgY2FzZSAncmF0ZWNoYW5nZSc6XG4gICAgY2FzZSAncmVzZXQnOlxuICAgIGNhc2UgJ3Jlc2l6ZSc6XG4gICAgY2FzZSAnc2Vla2VkJzpcbiAgICBjYXNlICdzdWJtaXQnOlxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2hzdGFydCc6XG4gICAgY2FzZSAndm9sdW1lY2hhbmdlJzogLy8gVXNlZCBieSBwb2x5ZmlsbHM6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICBjYXNlICdjaGFuZ2UnOlxuICAgIGNhc2UgJ3NlbGVjdGlvbmNoYW5nZSc6XG4gICAgY2FzZSAndGV4dElucHV0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbnN0YXJ0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbmVuZCc6XG4gICAgY2FzZSAnY29tcG9zaXRpb251cGRhdGUnOiAvLyBPbmx5IGVuYWJsZUNyZWF0ZUV2ZW50SGFuZGxlQVBJOlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuXG4gICAgY2FzZSAnYmVmb3JlYmx1cic6XG4gICAgY2FzZSAnYWZ0ZXJibHVyJzogLy8gTm90IHVzZWQgYnkgUmVhY3QgYnV0IGNvdWxkIGJlIGJ5IHVzZXIgY29kZTpcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgIGNhc2UgJ2JlZm9yZWlucHV0JzpcbiAgICBjYXNlICdibHVyJzpcbiAgICBjYXNlICdmdWxsc2NyZWVuY2hhbmdlJzpcbiAgICBjYXNlICdmb2N1cyc6XG4gICAgY2FzZSAnaGFzaGNoYW5nZSc6XG4gICAgY2FzZSAncG9wc3RhdGUnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAnc2VsZWN0c3RhcnQnOlxuICAgICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2VvdXQnOlxuICAgIGNhc2UgJ21vdXNlb3Zlcic6XG4gICAgY2FzZSAncG9pbnRlcm1vdmUnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICBjYXNlICdzY3JvbGwnOlxuICAgIGNhc2UgJ3RvZ2dsZSc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd3aGVlbCc6IC8vIE5vdCB1c2VkIGJ5IFJlYWN0IGJ1dCBjb3VsZCBiZSBieSB1c2VyIGNvZGU6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICBjYXNlICdtb3VzZWVudGVyJzpcbiAgICBjYXNlICdtb3VzZWxlYXZlJzpcbiAgICBjYXNlICdwb2ludGVyZW50ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJsZWF2ZSc6XG4gICAgICByZXR1cm4gQ29udGludW91c0V2ZW50UHJpb3JpdHk7XG5cbiAgICBjYXNlICdtZXNzYWdlJzpcbiAgICAgIHtcbiAgICAgICAgLy8gV2UgbWlnaHQgYmUgaW4gdGhlIFNjaGVkdWxlciBjYWxsYmFjay5cbiAgICAgICAgLy8gRXZlbnR1YWxseSB0aGlzIG1lY2hhbmlzbSB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgY2hlY2tcbiAgICAgICAgLy8gb2YgdGhlIGN1cnJlbnQgcHJpb3JpdHkgb24gdGhlIG5hdGl2ZSBzY2hlZHVsZXIuXG4gICAgICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eSA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XG5cbiAgICAgICAgc3dpdGNoIChzY2hlZHVsZXJQcmlvcml0eSkge1xuICAgICAgICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgICAgICAgICByZXR1cm4gRGlzY3JldGVFdmVudFByaW9yaXR5O1xuXG4gICAgICAgICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICAgICAgICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICAgICAgY2FzZSBMb3dQcmlvcml0eTpcbiAgICAgICAgICAgIC8vIFRPRE86IEhhbmRsZSBMb3dTY2hlZHVsZXJQcmlvcml0eSwgc29tZWhvdy4gTWF5YmUgdGhlIHNhbWUgbGFuZSBhcyBoeWRyYXRpb24uXG4gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG5cbiAgICAgICAgICBjYXNlIElkbGVQcmlvcml0eTpcbiAgICAgICAgICAgIHJldHVybiBJZGxlRXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkRXZlbnRCdWJibGVMaXN0ZW5lcih0YXJnZXQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcbiAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgZmFsc2UpO1xuICByZXR1cm4gbGlzdGVuZXI7XG59XG5mdW5jdGlvbiBhZGRFdmVudENhcHR1cmVMaXN0ZW5lcih0YXJnZXQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcbiAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgdHJ1ZSk7XG4gIHJldHVybiBsaXN0ZW5lcjtcbn1cbmZ1bmN0aW9uIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyV2l0aFBhc3NpdmVGbGFnKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lciwgcGFzc2l2ZSkge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB7XG4gICAgY2FwdHVyZTogdHJ1ZSxcbiAgICBwYXNzaXZlOiBwYXNzaXZlXG4gIH0pO1xuICByZXR1cm4gbGlzdGVuZXI7XG59XG5mdW5jdGlvbiBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyV2l0aFBhc3NpdmVGbGFnKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lciwgcGFzc2l2ZSkge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB7XG4gICAgcGFzc2l2ZTogcGFzc2l2ZVxuICB9KTtcbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG4vKipcbiAqIFRoZXNlIHZhcmlhYmxlcyBzdG9yZSBpbmZvcm1hdGlvbiBhYm91dCB0ZXh0IGNvbnRlbnQgb2YgYSB0YXJnZXQgbm9kZSxcbiAqIGFsbG93aW5nIGNvbXBhcmlzb24gb2YgY29udGVudCBiZWZvcmUgYW5kIGFmdGVyIGEgZ2l2ZW4gZXZlbnQuXG4gKlxuICogSWRlbnRpZnkgdGhlIG5vZGUgd2hlcmUgc2VsZWN0aW9uIGN1cnJlbnRseSBiZWdpbnMsIHRoZW4gb2JzZXJ2ZVxuICogYm90aCBpdHMgdGV4dCBjb250ZW50IGFuZCBpdHMgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgRE9NLiBTaW5jZSB0aGVcbiAqIGJyb3dzZXIgbWF5IG5hdGl2ZWx5IHJlcGxhY2UgdGhlIHRhcmdldCBub2RlIGR1cmluZyBjb21wb3NpdGlvbiwgd2UgY2FuXG4gKiB1c2UgaXRzIHBvc2l0aW9uIHRvIGZpbmQgaXRzIHJlcGxhY2VtZW50LlxuICpcbiAqXG4gKi9cbnZhciByb290ID0gbnVsbDtcbnZhciBzdGFydFRleHQgPSBudWxsO1xudmFyIGZhbGxiYWNrVGV4dCA9IG51bGw7XG5mdW5jdGlvbiBpbml0aWFsaXplKG5hdGl2ZUV2ZW50VGFyZ2V0KSB7XG4gIHJvb3QgPSBuYXRpdmVFdmVudFRhcmdldDtcbiAgc3RhcnRUZXh0ID0gZ2V0VGV4dCgpO1xuICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIHJlc2V0KCkge1xuICByb290ID0gbnVsbDtcbiAgc3RhcnRUZXh0ID0gbnVsbDtcbiAgZmFsbGJhY2tUZXh0ID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldERhdGEoKSB7XG4gIGlmIChmYWxsYmFja1RleHQpIHtcbiAgICByZXR1cm4gZmFsbGJhY2tUZXh0O1xuICB9XG5cbiAgdmFyIHN0YXJ0O1xuICB2YXIgc3RhcnRWYWx1ZSA9IHN0YXJ0VGV4dDtcbiAgdmFyIHN0YXJ0TGVuZ3RoID0gc3RhcnRWYWx1ZS5sZW5ndGg7XG4gIHZhciBlbmQ7XG4gIHZhciBlbmRWYWx1ZSA9IGdldFRleHQoKTtcbiAgdmFyIGVuZExlbmd0aCA9IGVuZFZhbHVlLmxlbmd0aDtcblxuICBmb3IgKHN0YXJ0ID0gMDsgc3RhcnQgPCBzdGFydExlbmd0aDsgc3RhcnQrKykge1xuICAgIGlmIChzdGFydFZhbHVlW3N0YXJ0XSAhPT0gZW5kVmFsdWVbc3RhcnRdKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB2YXIgbWluRW5kID0gc3RhcnRMZW5ndGggLSBzdGFydDtcblxuICBmb3IgKGVuZCA9IDE7IGVuZCA8PSBtaW5FbmQ7IGVuZCsrKSB7XG4gICAgaWYgKHN0YXJ0VmFsdWVbc3RhcnRMZW5ndGggLSBlbmRdICE9PSBlbmRWYWx1ZVtlbmRMZW5ndGggLSBlbmRdKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB2YXIgc2xpY2VUYWlsID0gZW5kID4gMSA/IDEgLSBlbmQgOiB1bmRlZmluZWQ7XG4gIGZhbGxiYWNrVGV4dCA9IGVuZFZhbHVlLnNsaWNlKHN0YXJ0LCBzbGljZVRhaWwpO1xuICByZXR1cm4gZmFsbGJhY2tUZXh0O1xufVxuZnVuY3Rpb24gZ2V0VGV4dCgpIHtcbiAgaWYgKCd2YWx1ZScgaW4gcm9vdCkge1xuICAgIHJldHVybiByb290LnZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHJvb3QudGV4dENvbnRlbnQ7XG59XG5cbi8qKlxuICogYGNoYXJDb2RlYCByZXByZXNlbnRzIHRoZSBhY3R1YWwgXCJjaGFyYWN0ZXIgY29kZVwiIGFuZCBpcyBzYWZlIHRvIHVzZSB3aXRoXG4gKiBgU3RyaW5nLmZyb21DaGFyQ29kZWAuIEFzIHN1Y2gsIG9ubHkga2V5cyB0aGF0IGNvcnJlc3BvbmQgdG8gcHJpbnRhYmxlXG4gKiBjaGFyYWN0ZXJzIHByb2R1Y2UgYSB2YWxpZCBgY2hhckNvZGVgLCB0aGUgb25seSBleGNlcHRpb24gdG8gdGhpcyBpcyBFbnRlci5cbiAqIFRoZSBUYWIta2V5IGlzIGNvbnNpZGVyZWQgbm9uLXByaW50YWJsZSBhbmQgZG9lcyBub3QgaGF2ZSBhIGBjaGFyQ29kZWAsXG4gKiBwcmVzdW1hYmx5IGJlY2F1c2UgaXQgZG9lcyBub3QgcHJvZHVjZSBhIHRhYi1jaGFyYWN0ZXIgaW4gYnJvd3NlcnMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7bnVtYmVyfSBOb3JtYWxpemVkIGBjaGFyQ29kZWAgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEV2ZW50Q2hhckNvZGUobmF0aXZlRXZlbnQpIHtcbiAgdmFyIGNoYXJDb2RlO1xuICB2YXIga2V5Q29kZSA9IG5hdGl2ZUV2ZW50LmtleUNvZGU7XG5cbiAgaWYgKCdjaGFyQ29kZScgaW4gbmF0aXZlRXZlbnQpIHtcbiAgICBjaGFyQ29kZSA9IG5hdGl2ZUV2ZW50LmNoYXJDb2RlOyAvLyBGRiBkb2VzIG5vdCBzZXQgYGNoYXJDb2RlYCBmb3IgdGhlIEVudGVyLWtleSwgY2hlY2sgYWdhaW5zdCBga2V5Q29kZWAuXG5cbiAgICBpZiAoY2hhckNvZGUgPT09IDAgJiYga2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIGNoYXJDb2RlID0gMTM7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIElFOCBkb2VzIG5vdCBpbXBsZW1lbnQgYGNoYXJDb2RlYCwgYnV0IGBrZXlDb2RlYCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUuXG4gICAgY2hhckNvZGUgPSBrZXlDb2RlO1xuICB9IC8vIElFIGFuZCBFZGdlIChvbiBXaW5kb3dzKSBhbmQgQ2hyb21lIC8gU2FmYXJpIChvbiBXaW5kb3dzIGFuZCBMaW51eClcbiAgLy8gcmVwb3J0IEVudGVyIGFzIGNoYXJDb2RlIDEwIHdoZW4gY3RybCBpcyBwcmVzc2VkLlxuXG5cbiAgaWYgKGNoYXJDb2RlID09PSAxMCkge1xuICAgIGNoYXJDb2RlID0gMTM7XG4gIH0gLy8gU29tZSBub24tcHJpbnRhYmxlIGtleXMgYXJlIHJlcG9ydGVkIGluIGBjaGFyQ29kZWAvYGtleUNvZGVgLCBkaXNjYXJkIHRoZW0uXG4gIC8vIE11c3Qgbm90IGRpc2NhcmQgdGhlIChub24tKXByaW50YWJsZSBFbnRlci1rZXkuXG5cblxuICBpZiAoY2hhckNvZGUgPj0gMzIgfHwgY2hhckNvZGUgPT09IDEzKSB7XG4gICAgcmV0dXJuIGNoYXJDb2RlO1xuICB9XG5cbiAgcmV0dXJuIDA7XG59XG5cbmZ1bmN0aW9uIGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlKCkge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlKCkge1xuICByZXR1cm4gZmFsc2U7XG59IC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhIGZhY3Rvcnkgc28gdGhhdCB3ZSBoYXZlIGRpZmZlcmVudCByZXR1cm5lZCBjb25zdHJ1Y3RvcnMuXG4vLyBJZiB3ZSBoYWQgYSBzaW5nbGUgY29uc3RydWN0b3IsIGl0IHdvdWxkIGJlIG1lZ2Ftb3JwaGljIGFuZCBlbmdpbmVzIHdvdWxkIGRlb3B0LlxuXG5cbmZ1bmN0aW9uIGNyZWF0ZVN5bnRoZXRpY0V2ZW50KEludGVyZmFjZSkge1xuICAvKipcbiAgICogU3ludGhldGljIGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCBieSBldmVudCBwbHVnaW5zLCB0eXBpY2FsbHkgaW4gcmVzcG9uc2UgdG8gYVxuICAgKiB0b3AtbGV2ZWwgZXZlbnQgZGVsZWdhdGlvbiBoYW5kbGVyLlxuICAgKlxuICAgKiBUaGVzZSBzeXN0ZW1zIHNob3VsZCBnZW5lcmFsbHkgdXNlIHBvb2xpbmcgdG8gcmVkdWNlIHRoZSBmcmVxdWVuY3kgb2YgZ2FyYmFnZVxuICAgKiBjb2xsZWN0aW9uLiBUaGUgc3lzdGVtIHNob3VsZCBjaGVjayBgaXNQZXJzaXN0ZW50YCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGVcbiAgICogZXZlbnQgc2hvdWxkIGJlIHJlbGVhc2VkIGludG8gdGhlIHBvb2wgYWZ0ZXIgYmVpbmcgZGlzcGF0Y2hlZC4gVXNlcnMgdGhhdFxuICAgKiBuZWVkIGEgcGVyc2lzdGVkIGV2ZW50IHNob3VsZCBpbnZva2UgYHBlcnNpc3RgLlxuICAgKlxuICAgKiBTeW50aGV0aWMgZXZlbnRzIChhbmQgc3ViY2xhc3NlcykgaW1wbGVtZW50IHRoZSBET00gTGV2ZWwgMyBFdmVudHMgQVBJIGJ5XG4gICAqIG5vcm1hbGl6aW5nIGJyb3dzZXIgcXVpcmtzLiBTdWJjbGFzc2VzIGRvIG5vdCBuZWNlc3NhcmlseSBoYXZlIHRvIGltcGxlbWVudCBhXG4gICAqIERPTSBpbnRlcmZhY2U7IGN1c3RvbSBhcHBsaWNhdGlvbi1zcGVjaWZpYyBldmVudHMgY2FuIGFsc28gc3ViY2xhc3MgdGhpcy5cbiAgICovXG4gIGZ1bmN0aW9uIFN5bnRoZXRpY0Jhc2VFdmVudChyZWFjdE5hbWUsIHJlYWN0RXZlbnRUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgICB0aGlzLl9yZWFjdE5hbWUgPSByZWFjdE5hbWU7XG4gICAgdGhpcy5fdGFyZ2V0SW5zdCA9IHRhcmdldEluc3Q7XG4gICAgdGhpcy50eXBlID0gcmVhY3RFdmVudFR5cGU7XG4gICAgdGhpcy5uYXRpdmVFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnRUYXJnZXQ7XG4gICAgdGhpcy5jdXJyZW50VGFyZ2V0ID0gbnVsbDtcblxuICAgIGZvciAodmFyIF9wcm9wTmFtZSBpbiBJbnRlcmZhY2UpIHtcbiAgICAgIGlmICghSW50ZXJmYWNlLmhhc093blByb3BlcnR5KF9wcm9wTmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBub3JtYWxpemUgPSBJbnRlcmZhY2VbX3Byb3BOYW1lXTtcblxuICAgICAgaWYgKG5vcm1hbGl6ZSkge1xuICAgICAgICB0aGlzW19wcm9wTmFtZV0gPSBub3JtYWxpemUobmF0aXZlRXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpc1tfcHJvcE5hbWVdID0gbmF0aXZlRXZlbnRbX3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgZGVmYXVsdFByZXZlbnRlZCA9IG5hdGl2ZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgIT0gbnVsbCA/IG5hdGl2ZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgOiBuYXRpdmVFdmVudC5yZXR1cm5WYWx1ZSA9PT0gZmFsc2U7XG5cbiAgICBpZiAoZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFzc2lnbihTeW50aGV0aWNCYXNlRXZlbnQucHJvdG90eXBlLCB7XG4gICAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFByZXZlbnRlZCA9IHRydWU7XG4gICAgICB2YXIgZXZlbnQgPSB0aGlzLm5hdGl2ZUV2ZW50O1xuXG4gICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vICRGbG93Rml4TWUgLSBmbG93IGlzIG5vdCBhd2FyZSBvZiBgdW5rbm93bmAgaW4gSUVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LnJldHVyblZhbHVlICE9PSAndW5rbm93bicpIHtcbiAgICAgICAgZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgICB9LFxuICAgIHN0b3BQcm9wYWdhdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGV2ZW50ID0gdGhpcy5uYXRpdmVFdmVudDtcblxuICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vICRGbG93Rml4TWUgLSBmbG93IGlzIG5vdCBhd2FyZSBvZiBgdW5rbm93bmAgaW4gSUVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LmNhbmNlbEJ1YmJsZSAhPT0gJ3Vua25vd24nKSB7XG4gICAgICAgIC8vIFRoZSBDaGFuZ2VFdmVudFBsdWdpbiByZWdpc3RlcnMgYSBcInByb3BlcnR5Y2hhbmdlXCIgZXZlbnQgZm9yXG4gICAgICAgIC8vIElFLiBUaGlzIGV2ZW50IGRvZXMgbm90IHN1cHBvcnQgYnViYmxpbmcgb3IgY2FuY2VsbGluZywgYW5kXG4gICAgICAgIC8vIGFueSByZWZlcmVuY2VzIHRvIGNhbmNlbEJ1YmJsZSB0aHJvdyBcIk1lbWJlciBub3QgZm91bmRcIi4gIEFcbiAgICAgICAgLy8gdHlwZW9mIGNoZWNrIG9mIFwidW5rbm93blwiIGNpcmN1bXZlbnRzIHRoaXMgaXNzdWUgKGFuZCBpcyBhbHNvXG4gICAgICAgIC8vIElFIHNwZWNpZmljKS5cbiAgICAgICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBXZSByZWxlYXNlIGFsbCBkaXNwYXRjaGVkIGBTeW50aGV0aWNFdmVudGBzIGFmdGVyIGVhY2ggZXZlbnQgbG9vcCwgYWRkaW5nXG4gICAgICogdGhlbSBiYWNrIGludG8gdGhlIHBvb2wuIFRoaXMgYWxsb3dzIGEgd2F5IHRvIGhvbGQgb250byBhIHJlZmVyZW5jZSB0aGF0XG4gICAgICogd29uJ3QgYmUgYWRkZWQgYmFjayBpbnRvIHRoZSBwb29sLlxuICAgICAqL1xuICAgIHBlcnNpc3Q6IGZ1bmN0aW9uICgpIHsvLyBNb2Rlcm4gZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGlzIGV2ZW50IHNob3VsZCBiZSByZWxlYXNlZCBiYWNrIGludG8gdGhlIHBvb2wuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoaXMgc2hvdWxkIG5vdCBiZSByZWxlYXNlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGlzUGVyc2lzdGVudDogZnVuY3Rpb25UaGF0UmV0dXJuc1RydWVcbiAgfSk7XG4gIHJldHVybiBTeW50aGV0aWNCYXNlRXZlbnQ7XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xuICovXG5cblxudmFyIEV2ZW50SW50ZXJmYWNlID0ge1xuICBldmVudFBoYXNlOiAwLFxuICBidWJibGVzOiAwLFxuICBjYW5jZWxhYmxlOiAwLFxuICB0aW1lU3RhbXA6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiBldmVudC50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTtcbiAgfSxcbiAgZGVmYXVsdFByZXZlbnRlZDogMCxcbiAgaXNUcnVzdGVkOiAwXG59O1xudmFyIFN5bnRoZXRpY0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRXZlbnRJbnRlcmZhY2UpO1xuXG52YXIgVUlFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgdmlldzogMCxcbiAgZGV0YWlsOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1VJRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChVSUV2ZW50SW50ZXJmYWNlKTtcbnZhciBsYXN0TW92ZW1lbnRYO1xudmFyIGxhc3RNb3ZlbWVudFk7XG52YXIgbGFzdE1vdXNlRXZlbnQ7XG5cbmZ1bmN0aW9uIHVwZGF0ZU1vdXNlTW92ZW1lbnRQb2x5ZmlsbFN0YXRlKGV2ZW50KSB7XG4gIGlmIChldmVudCAhPT0gbGFzdE1vdXNlRXZlbnQpIHtcbiAgICBpZiAobGFzdE1vdXNlRXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScpIHtcbiAgICAgIGxhc3RNb3ZlbWVudFggPSBldmVudC5zY3JlZW5YIC0gbGFzdE1vdXNlRXZlbnQuc2NyZWVuWDtcbiAgICAgIGxhc3RNb3ZlbWVudFkgPSBldmVudC5zY3JlZW5ZIC0gbGFzdE1vdXNlRXZlbnQuc2NyZWVuWTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdE1vdmVtZW50WCA9IDA7XG4gICAgICBsYXN0TW92ZW1lbnRZID0gMDtcbiAgICB9XG5cbiAgICBsYXN0TW91c2VFdmVudCA9IGV2ZW50O1xuICB9XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgTW91c2VFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxuXG52YXIgTW91c2VFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICBzY3JlZW5YOiAwLFxuICBzY3JlZW5ZOiAwLFxuICBjbGllbnRYOiAwLFxuICBjbGllbnRZOiAwLFxuICBwYWdlWDogMCxcbiAgcGFnZVk6IDAsXG4gIGN0cmxLZXk6IDAsXG4gIHNoaWZ0S2V5OiAwLFxuICBhbHRLZXk6IDAsXG4gIG1ldGFLZXk6IDAsXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcbiAgYnV0dG9uOiAwLFxuICBidXR0b25zOiAwLFxuICByZWxhdGVkVGFyZ2V0OiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQucmVsYXRlZFRhcmdldCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZXZlbnQuZnJvbUVsZW1lbnQgPT09IGV2ZW50LnNyY0VsZW1lbnQgPyBldmVudC50b0VsZW1lbnQgOiBldmVudC5mcm9tRWxlbWVudDtcbiAgICByZXR1cm4gZXZlbnQucmVsYXRlZFRhcmdldDtcbiAgfSxcbiAgbW92ZW1lbnRYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoJ21vdmVtZW50WCcgaW4gZXZlbnQpIHtcbiAgICAgIHJldHVybiBldmVudC5tb3ZlbWVudFg7XG4gICAgfVxuXG4gICAgdXBkYXRlTW91c2VNb3ZlbWVudFBvbHlmaWxsU3RhdGUoZXZlbnQpO1xuICAgIHJldHVybiBsYXN0TW92ZW1lbnRYO1xuICB9LFxuICBtb3ZlbWVudFk6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIGlmICgnbW92ZW1lbnRZJyBpbiBldmVudCkge1xuICAgICAgcmV0dXJuIGV2ZW50Lm1vdmVtZW50WTtcbiAgICB9IC8vIERvbid0IG5lZWQgdG8gY2FsbCB1cGRhdGVNb3VzZU1vdmVtZW50UG9seWZpbGxTdGF0ZSgpIGhlcmVcbiAgICAvLyBiZWNhdXNlIGl0J3MgZ3VhcmFudGVlZCB0byBoYXZlIGFscmVhZHkgcnVuIHdoZW4gbW92ZW1lbnRYXG4gICAgLy8gd2FzIGNvcGllZC5cblxuXG4gICAgcmV0dXJuIGxhc3RNb3ZlbWVudFk7XG4gIH1cbn0pO1xuXG52YXIgU3ludGhldGljTW91c2VFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KE1vdXNlRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIERyYWdFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIERyYWdFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgTW91c2VFdmVudEludGVyZmFjZSwge1xuICBkYXRhVHJhbnNmZXI6IDBcbn0pO1xuXG52YXIgU3ludGhldGljRHJhZ0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRHJhZ0V2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBGb2N1c0V2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy9cbiAqL1xuXG52YXIgRm9jdXNFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICByZWxhdGVkVGFyZ2V0OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0ZvY3VzRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChGb2N1c0V2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI0FuaW1hdGlvbkV2ZW50LWludGVyZmFjZVxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQW5pbWF0aW9uRXZlbnRcbiAqL1xuXG52YXIgQW5pbWF0aW9uRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIEV2ZW50SW50ZXJmYWNlLCB7XG4gIGFuaW1hdGlvbk5hbWU6IDAsXG4gIGVsYXBzZWRUaW1lOiAwLFxuICBwc2V1ZG9FbGVtZW50OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0FuaW1hdGlvbkV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoQW5pbWF0aW9uRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL2NsaXBib2FyZC1hcGlzL1xuICovXG5cbnZhciBDbGlwYm9hcmRFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgY2xpcGJvYXJkRGF0YTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgcmV0dXJuICdjbGlwYm9hcmREYXRhJyBpbiBldmVudCA/IGV2ZW50LmNsaXBib2FyZERhdGEgOiB3aW5kb3cuY2xpcGJvYXJkRGF0YTtcbiAgfVxufSk7XG5cbnZhciBTeW50aGV0aWNDbGlwYm9hcmRFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KENsaXBib2FyZEV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1jb21wb3NpdGlvbmV2ZW50c1xuICovXG5cbnZhciBDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBkYXRhOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL1dELURPTS1MZXZlbC0zLUV2ZW50cy0yMDEzMTEwNVxuICogICAgICAvI2V2ZW50cy1pbnB1dGV2ZW50c1xuICovXG4vLyBIYXBwZW5zIHRvIHNoYXJlIHRoZSBzYW1lIGxpc3QgZm9yIG5vdy5cblxudmFyIFN5bnRoZXRpY0lucHV0RXZlbnQgPSBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50O1xuLyoqXG4gKiBOb3JtYWxpemF0aW9uIG9mIGRlcHJlY2F0ZWQgSFRNTDUgYGtleWAgdmFsdWVzXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciBub3JtYWxpemVLZXkgPSB7XG4gIEVzYzogJ0VzY2FwZScsXG4gIFNwYWNlYmFyOiAnICcsXG4gIExlZnQ6ICdBcnJvd0xlZnQnLFxuICBVcDogJ0Fycm93VXAnLFxuICBSaWdodDogJ0Fycm93UmlnaHQnLFxuICBEb3duOiAnQXJyb3dEb3duJyxcbiAgRGVsOiAnRGVsZXRlJyxcbiAgV2luOiAnT1MnLFxuICBNZW51OiAnQ29udGV4dE1lbnUnLFxuICBBcHBzOiAnQ29udGV4dE1lbnUnLFxuICBTY3JvbGw6ICdTY3JvbGxMb2NrJyxcbiAgTW96UHJpbnRhYmxlS2V5OiAnVW5pZGVudGlmaWVkJ1xufTtcbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBsZWdhY3kgYGtleUNvZGVgIHRvIEhUTUw1IGBrZXlgXG4gKiBPbmx5IHNwZWNpYWwga2V5cyBzdXBwb3J0ZWQsIGFsbCBvdGhlcnMgZGVwZW5kIG9uIGtleWJvYXJkIGxheW91dCBvciBicm93c2VyXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciB0cmFuc2xhdGVUb0tleSA9IHtcbiAgJzgnOiAnQmFja3NwYWNlJyxcbiAgJzknOiAnVGFiJyxcbiAgJzEyJzogJ0NsZWFyJyxcbiAgJzEzJzogJ0VudGVyJyxcbiAgJzE2JzogJ1NoaWZ0JyxcbiAgJzE3JzogJ0NvbnRyb2wnLFxuICAnMTgnOiAnQWx0JyxcbiAgJzE5JzogJ1BhdXNlJyxcbiAgJzIwJzogJ0NhcHNMb2NrJyxcbiAgJzI3JzogJ0VzY2FwZScsXG4gICczMic6ICcgJyxcbiAgJzMzJzogJ1BhZ2VVcCcsXG4gICczNCc6ICdQYWdlRG93bicsXG4gICczNSc6ICdFbmQnLFxuICAnMzYnOiAnSG9tZScsXG4gICczNyc6ICdBcnJvd0xlZnQnLFxuICAnMzgnOiAnQXJyb3dVcCcsXG4gICczOSc6ICdBcnJvd1JpZ2h0JyxcbiAgJzQwJzogJ0Fycm93RG93bicsXG4gICc0NSc6ICdJbnNlcnQnLFxuICAnNDYnOiAnRGVsZXRlJyxcbiAgJzExMic6ICdGMScsXG4gICcxMTMnOiAnRjInLFxuICAnMTE0JzogJ0YzJyxcbiAgJzExNSc6ICdGNCcsXG4gICcxMTYnOiAnRjUnLFxuICAnMTE3JzogJ0Y2JyxcbiAgJzExOCc6ICdGNycsXG4gICcxMTknOiAnRjgnLFxuICAnMTIwJzogJ0Y5JyxcbiAgJzEyMSc6ICdGMTAnLFxuICAnMTIyJzogJ0YxMScsXG4gICcxMjMnOiAnRjEyJyxcbiAgJzE0NCc6ICdOdW1Mb2NrJyxcbiAgJzE0NSc6ICdTY3JvbGxMb2NrJyxcbiAgJzIyNCc6ICdNZXRhJ1xufTtcbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7c3RyaW5nfSBOb3JtYWxpemVkIGBrZXlgIHByb3BlcnR5LlxuICovXG5cbmZ1bmN0aW9uIGdldEV2ZW50S2V5KG5hdGl2ZUV2ZW50KSB7XG4gIGlmIChuYXRpdmVFdmVudC5rZXkpIHtcbiAgICAvLyBOb3JtYWxpemUgaW5jb25zaXN0ZW50IHZhbHVlcyByZXBvcnRlZCBieSBicm93c2VycyBkdWUgdG9cbiAgICAvLyBpbXBsZW1lbnRhdGlvbnMgb2YgYSB3b3JraW5nIGRyYWZ0IHNwZWNpZmljYXRpb24uXG4gICAgLy8gRmlyZUZveCBpbXBsZW1lbnRzIGBrZXlgIGJ1dCByZXR1cm5zIGBNb3pQcmludGFibGVLZXlgIGZvciBhbGxcbiAgICAvLyBwcmludGFibGUgY2hhcmFjdGVycyAobm9ybWFsaXplZCB0byBgVW5pZGVudGlmaWVkYCksIGlnbm9yZSBpdC5cbiAgICB2YXIga2V5ID0gbm9ybWFsaXplS2V5W25hdGl2ZUV2ZW50LmtleV0gfHwgbmF0aXZlRXZlbnQua2V5O1xuXG4gICAgaWYgKGtleSAhPT0gJ1VuaWRlbnRpZmllZCcpIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuICB9IC8vIEJyb3dzZXIgZG9lcyBub3QgaW1wbGVtZW50IGBrZXlgLCBwb2x5ZmlsbCBhcyBtdWNoIG9mIGl0IGFzIHdlIGNhbi5cblxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgdmFyIGNoYXJDb2RlID0gZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCk7IC8vIFRoZSBlbnRlci1rZXkgaXMgdGVjaG5pY2FsbHkgYm90aCBwcmludGFibGUgYW5kIG5vbi1wcmludGFibGUgYW5kIGNhblxuICAgIC8vIHRodXMgYmUgY2FwdHVyZWQgYnkgYGtleXByZXNzYCwgbm8gb3RoZXIgbm9uLXByaW50YWJsZSBrZXkgc2hvdWxkLlxuXG4gICAgcmV0dXJuIGNoYXJDb2RlID09PSAxMyA/ICdFbnRlcicgOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNoYXJDb2RlKTtcbiAgfVxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5ZG93bicgfHwgbmF0aXZlRXZlbnQudHlwZSA9PT0gJ2tleXVwJykge1xuICAgIC8vIFdoaWxlIHVzZXIga2V5Ym9hcmQgbGF5b3V0IGRldGVybWluZXMgdGhlIGFjdHVhbCBtZWFuaW5nIG9mIGVhY2hcbiAgICAvLyBga2V5Q29kZWAgdmFsdWUsIGFsbW9zdCBhbGwgZnVuY3Rpb24ga2V5cyBoYXZlIGEgdW5pdmVyc2FsIHZhbHVlLlxuICAgIHJldHVybiB0cmFuc2xhdGVUb0tleVtuYXRpdmVFdmVudC5rZXlDb2RlXSB8fCAnVW5pZGVudGlmaWVkJztcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBtb2RpZmllciBrZXkgdG8gdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaW4gdGhlIGV2ZW50LlxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2tleXMtTW9kaWZpZXJzXG4gKi9cblxuXG52YXIgbW9kaWZpZXJLZXlUb1Byb3AgPSB7XG4gIEFsdDogJ2FsdEtleScsXG4gIENvbnRyb2w6ICdjdHJsS2V5JyxcbiAgTWV0YTogJ21ldGFLZXknLFxuICBTaGlmdDogJ3NoaWZ0S2V5J1xufTsgLy8gT2xkZXIgYnJvd3NlcnMgKFNhZmFyaSA8PSAxMCwgaU9TIFNhZmFyaSA8PSAxMC4yKSBkbyBub3Qgc3VwcG9ydFxuLy8gZ2V0TW9kaWZpZXJTdGF0ZS4gSWYgZ2V0TW9kaWZpZXJTdGF0ZSBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBtYXAgaXQgdG8gYSBzZXQgb2Zcbi8vIG1vZGlmaWVyIGtleXMgZXhwb3NlZCBieSB0aGUgZXZlbnQuIEluIHRoaXMgY2FzZSwgTG9jay1rZXlzIGFyZSBub3Qgc3VwcG9ydGVkLlxuXG5mdW5jdGlvbiBtb2RpZmllclN0YXRlR2V0dGVyKGtleUFyZykge1xuICB2YXIgc3ludGhldGljRXZlbnQgPSB0aGlzO1xuICB2YXIgbmF0aXZlRXZlbnQgPSBzeW50aGV0aWNFdmVudC5uYXRpdmVFdmVudDtcblxuICBpZiAobmF0aXZlRXZlbnQuZ2V0TW9kaWZpZXJTdGF0ZSkge1xuICAgIHJldHVybiBuYXRpdmVFdmVudC5nZXRNb2RpZmllclN0YXRlKGtleUFyZyk7XG4gIH1cblxuICB2YXIga2V5UHJvcCA9IG1vZGlmaWVyS2V5VG9Qcm9wW2tleUFyZ107XG4gIHJldHVybiBrZXlQcm9wID8gISFuYXRpdmVFdmVudFtrZXlQcm9wXSA6IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRFdmVudE1vZGlmaWVyU3RhdGUobmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIG1vZGlmaWVyU3RhdGVHZXR0ZXI7XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgS2V5Ym9hcmRFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxuXG52YXIgS2V5Ym9hcmRFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICBrZXk6IGdldEV2ZW50S2V5LFxuICBjb2RlOiAwLFxuICBsb2NhdGlvbjogMCxcbiAgY3RybEtleTogMCxcbiAgc2hpZnRLZXk6IDAsXG4gIGFsdEtleTogMCxcbiAgbWV0YUtleTogMCxcbiAgcmVwZWF0OiAwLFxuICBsb2NhbGU6IDAsXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcbiAgLy8gTGVnYWN5IEludGVyZmFjZVxuICBjaGFyQ29kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgLy8gYGNoYXJDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5UHJlc3MgZXZlbnQgYW5kIHJlcHJlc2VudHMgdGhlIHZhbHVlIG9mXG4gICAgLy8gdGhlIGFjdHVhbCBwcmludGFibGUgY2hhcmFjdGVyLlxuICAgIC8vIEtleVByZXNzIGlzIGRlcHJlY2F0ZWQsIGJ1dCBpdHMgcmVwbGFjZW1lbnQgaXMgbm90IHlldCBmaW5hbCBhbmQgbm90XG4gICAgLy8gaW1wbGVtZW50ZWQgaW4gYW55IG1ham9yIGJyb3dzZXIuIE9ubHkgS2V5UHJlc3MgaGFzIGNoYXJDb2RlLlxuICAgIGlmIChldmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgICByZXR1cm4gZ2V0RXZlbnRDaGFyQ29kZShldmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH0sXG4gIGtleUNvZGU6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGBrZXlDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5RG93bi9VcCBldmVudCBhbmQgcmVwcmVzZW50cyB0aGUgdmFsdWUgb2ZcbiAgICAvLyBwaHlzaWNhbCBrZXlib2FyZCBrZXkuXG4gICAgLy8gVGhlIGFjdHVhbCBtZWFuaW5nIG9mIHRoZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSB1c2Vycycga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gd2hpY2ggY2Fubm90IGJlIGRldGVjdGVkLiBBc3N1bWluZyB0aGF0IGl0IGlzIGEgVVMga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gcHJvdmlkZXMgYSBzdXJwcmlzaW5nbHkgYWNjdXJhdGUgbWFwcGluZyBmb3IgVVMgYW5kIEV1cm9wZWFuIHVzZXJzLlxuICAgIC8vIER1ZSB0byB0aGlzLCBpdCBpcyBsZWZ0IHRvIHRoZSB1c2VyIHRvIGltcGxlbWVudCBhdCB0aGlzIHRpbWUuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyB8fCBldmVudC50eXBlID09PSAna2V5dXAnKSB7XG4gICAgICByZXR1cm4gZXZlbnQua2V5Q29kZTtcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfSxcbiAgd2hpY2g6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGB3aGljaGAgaXMgYW4gYWxpYXMgZm9yIGVpdGhlciBga2V5Q29kZWAgb3IgYGNoYXJDb2RlYCBkZXBlbmRpbmcgb24gdGhlXG4gICAgLy8gdHlwZSBvZiB0aGUgZXZlbnQuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlwcmVzcycpIHtcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcbiAgICAgIHJldHVybiBldmVudC5rZXlDb2RlO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG59KTtcblxudmFyIFN5bnRoZXRpY0tleWJvYXJkRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChLZXlib2FyZEV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBQb2ludGVyRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50cy9cbiAqL1xuXG52YXIgUG9pbnRlckV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBNb3VzZUV2ZW50SW50ZXJmYWNlLCB7XG4gIHBvaW50ZXJJZDogMCxcbiAgd2lkdGg6IDAsXG4gIGhlaWdodDogMCxcbiAgcHJlc3N1cmU6IDAsXG4gIHRhbmdlbnRpYWxQcmVzc3VyZTogMCxcbiAgdGlsdFg6IDAsXG4gIHRpbHRZOiAwLFxuICB0d2lzdDogMCxcbiAgcG9pbnRlclR5cGU6IDAsXG4gIGlzUHJpbWFyeTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNQb2ludGVyRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChQb2ludGVyRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIFRvdWNoRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvdG91Y2gtZXZlbnRzL1xuICovXG5cbnZhciBUb3VjaEV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBVSUV2ZW50SW50ZXJmYWNlLCB7XG4gIHRvdWNoZXM6IDAsXG4gIHRhcmdldFRvdWNoZXM6IDAsXG4gIGNoYW5nZWRUb3VjaGVzOiAwLFxuICBhbHRLZXk6IDAsXG4gIG1ldGFLZXk6IDAsXG4gIGN0cmxLZXk6IDAsXG4gIHNoaWZ0S2V5OiAwLFxuICBnZXRNb2RpZmllclN0YXRlOiBnZXRFdmVudE1vZGlmaWVyU3RhdGVcbn0pO1xuXG52YXIgU3ludGhldGljVG91Y2hFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRvdWNoRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDkvV0QtY3NzMy10cmFuc2l0aW9ucy0yMDA5MDMyMC8jdHJhbnNpdGlvbi1ldmVudHMtXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9UcmFuc2l0aW9uRXZlbnRcbiAqL1xuXG52YXIgVHJhbnNpdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBwcm9wZXJ0eU5hbWU6IDAsXG4gIGVsYXBzZWRUaW1lOiAwLFxuICBwc2V1ZG9FbGVtZW50OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRyYW5zaXRpb25FdmVudEludGVyZmFjZSk7XG4vKipcbiAqIEBpbnRlcmZhY2UgV2hlZWxFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIFdoZWVsRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIE1vdXNlRXZlbnRJbnRlcmZhY2UsIHtcbiAgZGVsdGFYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICByZXR1cm4gJ2RlbHRhWCcgaW4gZXZlbnQgPyBldmVudC5kZWx0YVggOiAvLyBGYWxsYmFjayB0byBgd2hlZWxEZWx0YVhgIGZvciBXZWJraXQgYW5kIG5vcm1hbGl6ZSAocmlnaHQgaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhWCcgaW4gZXZlbnQgPyAtZXZlbnQud2hlZWxEZWx0YVggOiAwO1xuICB9LFxuICBkZWx0YVk6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiAnZGVsdGFZJyBpbiBldmVudCA/IGV2ZW50LmRlbHRhWSA6IC8vIEZhbGxiYWNrIHRvIGB3aGVlbERlbHRhWWAgZm9yIFdlYmtpdCBhbmQgbm9ybWFsaXplIChkb3duIGlzIHBvc2l0aXZlKS5cbiAgICAnd2hlZWxEZWx0YVknIGluIGV2ZW50ID8gLWV2ZW50LndoZWVsRGVsdGFZIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFgIGZvciBJRTw5IGFuZCBub3JtYWxpemUgKGRvd24gaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhJyBpbiBldmVudCA/IC1ldmVudC53aGVlbERlbHRhIDogMDtcbiAgfSxcbiAgZGVsdGFaOiAwLFxuICAvLyBCcm93c2VycyB3aXRob3V0IFwiZGVsdGFNb2RlXCIgaXMgcmVwb3J0aW5nIGluIHJhdyB3aGVlbCBkZWx0YSB3aGVyZSBvbmVcbiAgLy8gbm90Y2ggb24gdGhlIHNjcm9sbCBpcyBhbHdheXMgKy8tIDEyMCwgcm91Z2hseSBlcXVpdmFsZW50IHRvIHBpeGVscy5cbiAgLy8gQSBnb29kIGFwcHJveGltYXRpb24gb2YgRE9NX0RFTFRBX0xJTkUgKDEpIGlzIDUlIG9mIHZpZXdwb3J0IHNpemUgb3JcbiAgLy8gfjQwIHBpeGVscywgZm9yIERPTV9ERUxUQV9TQ1JFRU4gKDIpIGl0IGlzIDg3LjUlIG9mIHZpZXdwb3J0IHNpemUuXG4gIGRlbHRhTW9kZTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNXaGVlbEV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoV2hlZWxFdmVudEludGVyZmFjZSk7XG5cbnZhciBFTkRfS0VZQ09ERVMgPSBbOSwgMTMsIDI3LCAzMl07IC8vIFRhYiwgUmV0dXJuLCBFc2MsIFNwYWNlXG5cbnZhciBTVEFSVF9LRVlDT0RFID0gMjI5O1xudmFyIGNhblVzZUNvbXBvc2l0aW9uRXZlbnQgPSBjYW5Vc2VET00gJiYgJ0NvbXBvc2l0aW9uRXZlbnQnIGluIHdpbmRvdztcbnZhciBkb2N1bWVudE1vZGUgPSBudWxsO1xuXG5pZiAoY2FuVXNlRE9NICYmICdkb2N1bWVudE1vZGUnIGluIGRvY3VtZW50KSB7XG4gIGRvY3VtZW50TW9kZSA9IGRvY3VtZW50LmRvY3VtZW50TW9kZTtcbn0gLy8gV2Via2l0IG9mZmVycyBhIHZlcnkgdXNlZnVsIGB0ZXh0SW5wdXRgIGV2ZW50IHRoYXQgY2FuIGJlIHVzZWQgdG9cbi8vIGRpcmVjdGx5IHJlcHJlc2VudCBgYmVmb3JlSW5wdXRgLiBUaGUgSUUgYHRleHRpbnB1dGAgZXZlbnQgaXMgbm90IGFzXG4vLyB1c2VmdWwsIHNvIHdlIGRvbid0IHVzZSBpdC5cblxuXG52YXIgY2FuVXNlVGV4dElucHV0RXZlbnQgPSBjYW5Vc2VET00gJiYgJ1RleHRFdmVudCcgaW4gd2luZG93ICYmICFkb2N1bWVudE1vZGU7IC8vIEluIElFOSssIHdlIGhhdmUgYWNjZXNzIHRvIGNvbXBvc2l0aW9uIGV2ZW50cywgYnV0IHRoZSBkYXRhIHN1cHBsaWVkXG4vLyBieSB0aGUgbmF0aXZlIGNvbXBvc2l0aW9uZW5kIGV2ZW50IG1heSBiZSBpbmNvcnJlY3QuIEphcGFuZXNlIGlkZW9ncmFwaGljXG4vLyBzcGFjZXMsIGZvciBpbnN0YW5jZSAoXFx1MzAwMCkgYXJlIG5vdCByZWNvcmRlZCBjb3JyZWN0bHkuXG5cbnZhciB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSA9IGNhblVzZURPTSAmJiAoIWNhblVzZUNvbXBvc2l0aW9uRXZlbnQgfHwgZG9jdW1lbnRNb2RlICYmIGRvY3VtZW50TW9kZSA+IDggJiYgZG9jdW1lbnRNb2RlIDw9IDExKTtcbnZhciBTUEFDRUJBUl9DT0RFID0gMzI7XG52YXIgU1BBQ0VCQVJfQ0hBUiA9IFN0cmluZy5mcm9tQ2hhckNvZGUoU1BBQ0VCQVJfQ09ERSk7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzKCkge1xuICByZWdpc3RlclR3b1BoYXNlRXZlbnQoJ29uQmVmb3JlSW5wdXQnLCBbJ2NvbXBvc2l0aW9uZW5kJywgJ2tleXByZXNzJywgJ3RleHRJbnB1dCcsICdwYXN0ZSddKTtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNvbXBvc2l0aW9uRW5kJywgWydjb21wb3NpdGlvbmVuZCcsICdmb2N1c291dCcsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2tleXVwJywgJ21vdXNlZG93biddKTtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNvbXBvc2l0aW9uU3RhcnQnLCBbJ2NvbXBvc2l0aW9uc3RhcnQnLCAnZm9jdXNvdXQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdtb3VzZWRvd24nXSk7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25Db21wb3NpdGlvblVwZGF0ZScsIFsnY29tcG9zaXRpb251cGRhdGUnLCAnZm9jdXNvdXQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdtb3VzZWRvd24nXSk7XG59IC8vIFRyYWNrIHdoZXRoZXIgd2UndmUgZXZlciBoYW5kbGVkIGEga2V5cHJlc3Mgb24gdGhlIHNwYWNlIGtleS5cblxuXG52YXIgaGFzU3BhY2VLZXlwcmVzcyA9IGZhbHNlO1xuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBhIG5hdGl2ZSBrZXlwcmVzcyBldmVudCBpcyBhc3N1bWVkIHRvIGJlIGEgY29tbWFuZC5cbiAqIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBGaXJlZm94IGZpcmVzIGBrZXlwcmVzc2AgZXZlbnRzIGZvciBrZXkgY29tbWFuZHNcbiAqIChjdXQsIGNvcHksIHNlbGVjdC1hbGwsIGV0Yy4pIGV2ZW4gdGhvdWdoIG5vIGNoYXJhY3RlciBpcyBpbnNlcnRlZC5cbiAqL1xuXG5mdW5jdGlvbiBpc0tleXByZXNzQ29tbWFuZChuYXRpdmVFdmVudCkge1xuICByZXR1cm4gKG5hdGl2ZUV2ZW50LmN0cmxLZXkgfHwgbmF0aXZlRXZlbnQuYWx0S2V5IHx8IG5hdGl2ZUV2ZW50Lm1ldGFLZXkpICYmIC8vIGN0cmxLZXkgJiYgYWx0S2V5IGlzIGVxdWl2YWxlbnQgdG8gQWx0R3IsIGFuZCBpcyBub3QgYSBjb21tYW5kLlxuICAhKG5hdGl2ZUV2ZW50LmN0cmxLZXkgJiYgbmF0aXZlRXZlbnQuYWx0S2V5KTtcbn1cbi8qKlxuICogVHJhbnNsYXRlIG5hdGl2ZSB0b3AgbGV2ZWwgZXZlbnRzIGludG8gZXZlbnQgdHlwZXMuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRDb21wb3NpdGlvbkV2ZW50VHlwZShkb21FdmVudE5hbWUpIHtcbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdjb21wb3NpdGlvbnN0YXJ0JzpcbiAgICAgIHJldHVybiAnb25Db21wb3NpdGlvblN0YXJ0JztcblxuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiAnb25Db21wb3NpdGlvbkVuZCc7XG5cbiAgICBjYXNlICdjb21wb3NpdGlvbnVwZGF0ZSc6XG4gICAgICByZXR1cm4gJ29uQ29tcG9zaXRpb25VcGRhdGUnO1xuICB9XG59XG4vKipcbiAqIERvZXMgb3VyIGZhbGxiYWNrIGJlc3QtZ3Vlc3MgbW9kZWwgdGhpbmsgdGhpcyBldmVudCBzaWduaWZpZXMgdGhhdFxuICogY29tcG9zaXRpb24gaGFzIGJlZ3VuP1xuICovXG5cblxuZnVuY3Rpb24gaXNGYWxsYmFja0NvbXBvc2l0aW9uU3RhcnQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICByZXR1cm4gZG9tRXZlbnROYW1lID09PSAna2V5ZG93bicgJiYgbmF0aXZlRXZlbnQua2V5Q29kZSA9PT0gU1RBUlRfS0VZQ09ERTtcbn1cbi8qKlxuICogRG9lcyBvdXIgZmFsbGJhY2sgbW9kZSB0aGluayB0aGF0IHRoaXMgZXZlbnQgaXMgdGhlIGVuZCBvZiBjb21wb3NpdGlvbj9cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzRmFsbGJhY2tDb21wb3NpdGlvbkVuZChkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgLy8gQ29tbWFuZCBrZXlzIGluc2VydCBvciBjbGVhciBJTUUgaW5wdXQuXG4gICAgICByZXR1cm4gRU5EX0tFWUNPREVTLmluZGV4T2YobmF0aXZlRXZlbnQua2V5Q29kZSkgIT09IC0xO1xuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgICAvLyBFeHBlY3QgSU1FIGtleUNvZGUgb24gZWFjaCBrZXlkb3duLiBJZiB3ZSBnZXQgYW55IG90aGVyXG4gICAgICAvLyBjb2RlIHdlIG11c3QgaGF2ZSBleGl0ZWQgZWFybGllci5cbiAgICAgIHJldHVybiBuYXRpdmVFdmVudC5rZXlDb2RlICE9PSBTVEFSVF9LRVlDT0RFO1xuXG4gICAgY2FzZSAna2V5cHJlc3MnOlxuICAgIGNhc2UgJ21vdXNlZG93bic6XG4gICAgY2FzZSAnZm9jdXNvdXQnOlxuICAgICAgLy8gRXZlbnRzIGFyZSBub3QgcG9zc2libGUgd2l0aG91dCBjYW5jZWxsaW5nIElNRS5cbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuLyoqXG4gKiBHb29nbGUgSW5wdXQgVG9vbHMgcHJvdmlkZXMgY29tcG9zaXRpb24gZGF0YSB2aWEgYSBDdXN0b21FdmVudCxcbiAqIHdpdGggdGhlIGBkYXRhYCBwcm9wZXJ0eSBwb3B1bGF0ZWQgaW4gdGhlIGBkZXRhaWxgIG9iamVjdC4gSWYgdGhpc1xuICogaXMgYXZhaWxhYmxlIG9uIHRoZSBldmVudCBvYmplY3QsIHVzZSBpdC4gSWYgbm90LCB0aGlzIGlzIGEgcGxhaW5cbiAqIGNvbXBvc2l0aW9uIGV2ZW50IGFuZCB3ZSBoYXZlIG5vdGhpbmcgc3BlY2lhbCB0byBleHRyYWN0LlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxuICogQHJldHVybiB7P3N0cmluZ31cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldERhdGFGcm9tQ3VzdG9tRXZlbnQobmF0aXZlRXZlbnQpIHtcbiAgdmFyIGRldGFpbCA9IG5hdGl2ZUV2ZW50LmRldGFpbDtcblxuICBpZiAodHlwZW9mIGRldGFpbCA9PT0gJ29iamVjdCcgJiYgJ2RhdGEnIGluIGRldGFpbCkge1xuICAgIHJldHVybiBkZXRhaWwuZGF0YTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBDaGVjayBpZiBhIGNvbXBvc2l0aW9uIGV2ZW50IHdhcyB0cmlnZ2VyZWQgYnkgS29yZWFuIElNRS5cbiAqIE91ciBmYWxsYmFjayBtb2RlIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIElFJ3MgS29yZWFuIElNRSxcbiAqIHNvIGp1c3QgdXNlIG5hdGl2ZSBjb21wb3NpdGlvbiBldmVudHMgd2hlbiBLb3JlYW4gSU1FIGlzIHVzZWQuXG4gKiBBbHRob3VnaCBDb21wb3NpdGlvbkV2ZW50LmxvY2FsZSBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLFxuICogaXQgaXMgYXZhaWxhYmxlIGluIElFLCB3aGVyZSBvdXIgZmFsbGJhY2sgbW9kZSBpcyBlbmFibGVkLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVXNpbmdLb3JlYW5JTUUobmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIG5hdGl2ZUV2ZW50LmxvY2FsZSA9PT0gJ2tvJztcbn0gLy8gVHJhY2sgdGhlIGN1cnJlbnQgSU1FIGNvbXBvc2l0aW9uIHN0YXR1cywgaWYgYW55LlxuXG5cbnZhciBpc0NvbXBvc2luZyA9IGZhbHNlO1xuLyoqXG4gKiBAcmV0dXJuIHs/b2JqZWN0fSBBIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQuXG4gKi9cblxuZnVuY3Rpb24gZXh0cmFjdENvbXBvc2l0aW9uRXZlbnQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGV2ZW50VHlwZTtcbiAgdmFyIGZhbGxiYWNrRGF0YTtcblxuICBpZiAoY2FuVXNlQ29tcG9zaXRpb25FdmVudCkge1xuICAgIGV2ZW50VHlwZSA9IGdldENvbXBvc2l0aW9uRXZlbnRUeXBlKGRvbUV2ZW50TmFtZSk7XG4gIH0gZWxzZSBpZiAoIWlzQ29tcG9zaW5nKSB7XG4gICAgaWYgKGlzRmFsbGJhY2tDb21wb3NpdGlvblN0YXJ0KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpKSB7XG4gICAgICBldmVudFR5cGUgPSAnb25Db21wb3NpdGlvblN0YXJ0JztcbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNGYWxsYmFja0NvbXBvc2l0aW9uRW5kKGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpKSB7XG4gICAgZXZlbnRUeXBlID0gJ29uQ29tcG9zaXRpb25FbmQnO1xuICB9XG5cbiAgaWYgKCFldmVudFR5cGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkpIHtcbiAgICAvLyBUaGUgY3VycmVudCBjb21wb3NpdGlvbiBpcyBzdG9yZWQgc3RhdGljYWxseSBhbmQgbXVzdCBub3QgYmVcbiAgICAvLyBvdmVyd3JpdHRlbiB3aGlsZSBjb21wb3NpdGlvbiBjb250aW51ZXMuXG4gICAgaWYgKCFpc0NvbXBvc2luZyAmJiBldmVudFR5cGUgPT09ICdvbkNvbXBvc2l0aW9uU3RhcnQnKSB7XG4gICAgICBpc0NvbXBvc2luZyA9IGluaXRpYWxpemUobmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnb25Db21wb3NpdGlvbkVuZCcpIHtcbiAgICAgIGlmIChpc0NvbXBvc2luZykge1xuICAgICAgICBmYWxsYmFja0RhdGEgPSBnZXREYXRhKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCBldmVudFR5cGUpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50KGV2ZW50VHlwZSwgZG9tRXZlbnROYW1lLCBudWxsLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1xuICAgIH0pO1xuXG4gICAgaWYgKGZhbGxiYWNrRGF0YSkge1xuICAgICAgLy8gSW5qZWN0IGRhdGEgZ2VuZXJhdGVkIGZyb20gZmFsbGJhY2sgcGF0aCBpbnRvIHRoZSBzeW50aGV0aWMgZXZlbnQuXG4gICAgICAvLyBUaGlzIG1hdGNoZXMgdGhlIHByb3BlcnR5IG9mIG5hdGl2ZSBDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlLlxuICAgICAgZXZlbnQuZGF0YSA9IGZhbGxiYWNrRGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGN1c3RvbURhdGEgPSBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgICAgaWYgKGN1c3RvbURhdGEgIT09IG51bGwpIHtcbiAgICAgICAgZXZlbnQuZGF0YSA9IGN1c3RvbURhdGE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5hdGl2ZUJlZm9yZUlucHV0Q2hhcnMoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogSWYgbmF0aXZlIGB0ZXh0SW5wdXRgIGV2ZW50cyBhcmUgYXZhaWxhYmxlLCBvdXIgZ29hbCBpcyB0byBtYWtlXG4gICAgICAgKiB1c2Ugb2YgdGhlbS4gSG93ZXZlciwgdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2U6IHRoZSBzcGFjZWJhciBrZXkuXG4gICAgICAgKiBJbiBXZWJraXQsIHByZXZlbnRpbmcgZGVmYXVsdCBvbiBhIHNwYWNlYmFyIGB0ZXh0SW5wdXRgIGV2ZW50XG4gICAgICAgKiBjYW5jZWxzIGNoYXJhY3RlciBpbnNlcnRpb24sIGJ1dCBpdCAqYWxzbyogY2F1c2VzIHRoZSBicm93c2VyXG4gICAgICAgKiB0byBmYWxsIGJhY2sgdG8gaXRzIGRlZmF1bHQgc3BhY2ViYXIgYmVoYXZpb3Igb2Ygc2Nyb2xsaW5nIHRoZVxuICAgICAgICogcGFnZS5cbiAgICAgICAqXG4gICAgICAgKiBUcmFja2luZyBhdDpcbiAgICAgICAqIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNTUxMDNcbiAgICAgICAqXG4gICAgICAgKiBUbyBhdm9pZCB0aGlzIGlzc3VlLCB1c2UgdGhlIGtleXByZXNzIGV2ZW50IGFzIGlmIG5vIGB0ZXh0SW5wdXRgXG4gICAgICAgKiBldmVudCBpcyBhdmFpbGFibGUuXG4gICAgICAgKi9cbiAgICAgIHZhciB3aGljaCA9IG5hdGl2ZUV2ZW50LndoaWNoO1xuXG4gICAgICBpZiAod2hpY2ggIT09IFNQQUNFQkFSX0NPREUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGhhc1NwYWNlS2V5cHJlc3MgPSB0cnVlO1xuICAgICAgcmV0dXJuIFNQQUNFQkFSX0NIQVI7XG5cbiAgICBjYXNlICd0ZXh0SW5wdXQnOlxuICAgICAgLy8gUmVjb3JkIHRoZSBjaGFyYWN0ZXJzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00uXG4gICAgICB2YXIgY2hhcnMgPSBuYXRpdmVFdmVudC5kYXRhOyAvLyBJZiBpdCdzIGEgc3BhY2ViYXIgY2hhcmFjdGVyLCBhc3N1bWUgdGhhdCB3ZSBoYXZlIGFscmVhZHkgaGFuZGxlZFxuICAgICAgLy8gaXQgYXQgdGhlIGtleXByZXNzIGxldmVsIGFuZCBiYWlsIGltbWVkaWF0ZWx5LiBBbmRyb2lkIENocm9tZVxuICAgICAgLy8gZG9lc24ndCBnaXZlIHVzIGtleWNvZGVzLCBzbyB3ZSBuZWVkIHRvIGlnbm9yZSBpdC5cblxuICAgICAgaWYgKGNoYXJzID09PSBTUEFDRUJBUl9DSEFSICYmIGhhc1NwYWNlS2V5cHJlc3MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjaGFycztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBGb3Igb3RoZXIgbmF0aXZlIGV2ZW50IHR5cGVzLCBkbyBub3RoaW5nLlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbi8qKlxuICogRm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHByb3ZpZGUgdGhlIGB0ZXh0SW5wdXRgIGV2ZW50LCBleHRyYWN0IHRoZVxuICogYXBwcm9wcmlhdGUgc3RyaW5nIHRvIHVzZSBmb3IgU3ludGhldGljSW5wdXRFdmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSB7XG4gIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgY29tcG9zaW5nIChJTUUpIGFuZCB1c2luZyBhIGZhbGxiYWNrIHRvIGRvIHNvLFxuICAvLyB0cnkgdG8gZXh0cmFjdCB0aGUgY29tcG9zZWQgY2hhcmFjdGVycyBmcm9tIHRoZSBmYWxsYmFjayBvYmplY3QuXG4gIC8vIElmIGNvbXBvc2l0aW9uIGV2ZW50IGlzIGF2YWlsYWJsZSwgd2UgZXh0cmFjdCBhIHN0cmluZyBvbmx5IGF0XG4gIC8vIGNvbXBvc2l0aW9uZXZlbnQsIG90aGVyd2lzZSBleHRyYWN0IGl0IGF0IGZhbGxiYWNrIGV2ZW50cy5cbiAgaWYgKGlzQ29tcG9zaW5nKSB7XG4gICAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NvbXBvc2l0aW9uZW5kJyB8fCAhY2FuVXNlQ29tcG9zaXRpb25FdmVudCAmJiBpc0ZhbGxiYWNrQ29tcG9zaXRpb25FbmQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkpIHtcbiAgICAgIHZhciBjaGFycyA9IGdldERhdGEoKTtcbiAgICAgIHJlc2V0KCk7XG4gICAgICBpc0NvbXBvc2luZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGNoYXJzO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdwYXN0ZSc6XG4gICAgICAvLyBJZiBhIHBhc3RlIGV2ZW50IG9jY3VycyBhZnRlciBhIGtleXByZXNzLCB0aHJvdyBvdXQgdGhlIGlucHV0XG4gICAgICAvLyBjaGFycy4gUGFzdGUgZXZlbnRzIHNob3VsZCBub3QgbGVhZCB0byBCZWZvcmVJbnB1dCBldmVudHMuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogQXMgb2YgdjI3LCBGaXJlZm94IG1heSBmaXJlIGtleXByZXNzIGV2ZW50cyBldmVuIHdoZW4gbm8gY2hhcmFjdGVyXG4gICAgICAgKiB3aWxsIGJlIGluc2VydGVkLiBBIGZldyBwb3NzaWJpbGl0aWVzOlxuICAgICAgICpcbiAgICAgICAqIC0gYHdoaWNoYCBpcyBgMGAuIEFycm93IGtleXMsIEVzYyBrZXksIGV0Yy5cbiAgICAgICAqXG4gICAgICAgKiAtIGB3aGljaGAgaXMgdGhlIHByZXNzZWQga2V5IGNvZGUsIGJ1dCBubyBjaGFyIGlzIGF2YWlsYWJsZS5cbiAgICAgICAqICAgRXg6ICdBbHRHciArIGRgIGluIFBvbGlzaC4gVGhlcmUgaXMgbm8gbW9kaWZpZWQgY2hhcmFjdGVyIGZvclxuICAgICAgICogICB0aGlzIGtleSBjb21iaW5hdGlvbiBhbmQgbm8gY2hhcmFjdGVyIGlzIGluc2VydGVkIGludG8gdGhlXG4gICAgICAgKiAgIGRvY3VtZW50LCBidXQgRkYgZmlyZXMgdGhlIGtleXByZXNzIGZvciBjaGFyIGNvZGUgYDEwMGAgYW55d2F5LlxuICAgICAgICogICBObyBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKlxuICAgICAgICogLSBgd2hpY2hgIGlzIHRoZSBwcmVzc2VkIGtleSBjb2RlLCBidXQgYSBjb21tYW5kIGNvbWJpbmF0aW9uIGlzXG4gICAgICAgKiAgIGJlaW5nIHVzZWQuIEV4OiBgQ21kK0NgLiBObyBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQsIGFuZCBub1xuICAgICAgICogICBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKi9cbiAgICAgIGlmICghaXNLZXlwcmVzc0NvbW1hbmQobmF0aXZlRXZlbnQpKSB7XG4gICAgICAgIC8vIElFIGZpcmVzIHRoZSBga2V5cHJlc3NgIGV2ZW50IHdoZW4gYSB1c2VyIHR5cGVzIGFuIGVtb2ppIHZpYVxuICAgICAgICAvLyBUb3VjaCBrZXlib2FyZCBvZiBXaW5kb3dzLiAgSW4gc3VjaCBhIGNhc2UsIHRoZSBgY2hhcmAgcHJvcGVydHlcbiAgICAgICAgLy8gaG9sZHMgYW4gZW1vamkgY2hhcmFjdGVyIGxpa2UgYFxcdUQ4M0RcXHVERTBBYC4gIEJlY2F1c2UgaXRzIGxlbmd0aFxuICAgICAgICAvLyBpcyAyLCB0aGUgcHJvcGVydHkgYHdoaWNoYCBkb2VzIG5vdCByZXByZXNlbnQgYW4gZW1vamkgY29ycmVjdGx5LlxuICAgICAgICAvLyBJbiBzdWNoIGEgY2FzZSwgd2UgZGlyZWN0bHkgcmV0dXJuIHRoZSBgY2hhcmAgcHJvcGVydHkgaW5zdGVhZCBvZlxuICAgICAgICAvLyB1c2luZyBgd2hpY2hgLlxuICAgICAgICBpZiAobmF0aXZlRXZlbnQuY2hhciAmJiBuYXRpdmVFdmVudC5jaGFyLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICByZXR1cm4gbmF0aXZlRXZlbnQuY2hhcjtcbiAgICAgICAgfSBlbHNlIGlmIChuYXRpdmVFdmVudC53aGljaCkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKG5hdGl2ZUV2ZW50LndoaWNoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkgPyBudWxsIDogbmF0aXZlRXZlbnQuZGF0YTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuLyoqXG4gKiBFeHRyYWN0IGEgU3ludGhldGljSW5wdXRFdmVudCBmb3IgYGJlZm9yZUlucHV0YCwgYmFzZWQgb24gZWl0aGVyIG5hdGl2ZVxuICogYHRleHRJbnB1dGAgb3IgZmFsbGJhY2sgYmVoYXZpb3IuXG4gKlxuICogQHJldHVybiB7P29iamVjdH0gQSBTeW50aGV0aWNJbnB1dEV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEJlZm9yZUlucHV0RXZlbnQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGNoYXJzO1xuXG4gIGlmIChjYW5Vc2VUZXh0SW5wdXRFdmVudCkge1xuICAgIGNoYXJzID0gZ2V0TmF0aXZlQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSBlbHNlIHtcbiAgICBjaGFycyA9IGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSAvLyBJZiBubyBjaGFyYWN0ZXJzIGFyZSBiZWluZyBpbnNlcnRlZCwgbm8gQmVmb3JlSW5wdXQgZXZlbnQgc2hvdWxkXG4gIC8vIGJlIGZpcmVkLlxuXG5cbiAgaWYgKCFjaGFycykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCAnb25CZWZvcmVJbnB1dCcpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNJbnB1dEV2ZW50KCdvbkJlZm9yZUlucHV0JywgJ2JlZm9yZWlucHV0JywgbnVsbCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNcbiAgICB9KTtcbiAgICBldmVudC5kYXRhID0gY2hhcnM7XG4gIH1cbn1cbi8qKlxuICogQ3JlYXRlIGFuIGBvbkJlZm9yZUlucHV0YCBldmVudCB0byBtYXRjaFxuICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9XRC1ET00tTGV2ZWwtMy1FdmVudHMtMjAxMzExMDUvI2V2ZW50cy1pbnB1dGV2ZW50cy5cbiAqXG4gKiBUaGlzIGV2ZW50IHBsdWdpbiBpcyBiYXNlZCBvbiB0aGUgbmF0aXZlIGB0ZXh0SW5wdXRgIGV2ZW50XG4gKiBhdmFpbGFibGUgaW4gQ2hyb21lLCBTYWZhcmksIE9wZXJhLCBhbmQgSUUuIFRoaXMgZXZlbnQgZmlyZXMgYWZ0ZXJcbiAqIGBvbktleVByZXNzYCBhbmQgYG9uQ29tcG9zaXRpb25FbmRgLCBidXQgYmVmb3JlIGBvbklucHV0YC5cbiAqXG4gKiBgYmVmb3JlSW5wdXRgIGlzIHNwZWMnZCBidXQgbm90IGltcGxlbWVudGVkIGluIGFueSBicm93c2VycywgYW5kXG4gKiB0aGUgYGlucHV0YCBldmVudCBkb2VzIG5vdCBwcm92aWRlIGFueSB1c2VmdWwgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBoYXNcbiAqIGFjdHVhbGx5IGJlZW4gYWRkZWQsIGNvbnRyYXJ5IHRvIHRoZSBzcGVjLiBUaHVzLCBgdGV4dElucHV0YCBpcyB0aGUgYmVzdFxuICogYXZhaWxhYmxlIGV2ZW50IHRvIGlkZW50aWZ5IHRoZSBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBhY3R1YWxseSBiZWVuIGluc2VydGVkXG4gKiBpbnRvIHRoZSB0YXJnZXQgbm9kZS5cbiAqXG4gKiBUaGlzIHBsdWdpbiBpcyBhbHNvIHJlc3BvbnNpYmxlIGZvciBlbWl0dGluZyBgY29tcG9zaXRpb25gIGV2ZW50cywgdGh1c1xuICogYWxsb3dpbmcgdXMgdG8gc2hhcmUgY29tcG9zaXRpb24gZmFsbGJhY2sgY29kZSBmb3IgYm90aCBgYmVmb3JlSW5wdXRgIGFuZFxuICogYGNvbXBvc2l0aW9uYCBldmVudCB0eXBlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICBleHRyYWN0Q29tcG9zaXRpb25FdmVudChkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIGV4dHJhY3RCZWZvcmVJbnB1dEV2ZW50KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS1pbnB1dC1lbGVtZW50Lmh0bWwjaW5wdXQtdHlwZS1hdHRyLXN1bW1hcnlcbiAqL1xudmFyIHN1cHBvcnRlZElucHV0VHlwZXMgPSB7XG4gIGNvbG9yOiB0cnVlLFxuICBkYXRlOiB0cnVlLFxuICBkYXRldGltZTogdHJ1ZSxcbiAgJ2RhdGV0aW1lLWxvY2FsJzogdHJ1ZSxcbiAgZW1haWw6IHRydWUsXG4gIG1vbnRoOiB0cnVlLFxuICBudW1iZXI6IHRydWUsXG4gIHBhc3N3b3JkOiB0cnVlLFxuICByYW5nZTogdHJ1ZSxcbiAgc2VhcmNoOiB0cnVlLFxuICB0ZWw6IHRydWUsXG4gIHRleHQ6IHRydWUsXG4gIHRpbWU6IHRydWUsXG4gIHVybDogdHJ1ZSxcbiAgd2VlazogdHJ1ZVxufTtcblxuZnVuY3Rpb24gaXNUZXh0SW5wdXRFbGVtZW50KGVsZW0pIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbSAmJiBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICByZXR1cm4gISFzdXBwb3J0ZWRJbnB1dFR5cGVzW2VsZW0udHlwZV07XG4gIH1cblxuICBpZiAobm9kZU5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgc3VwcG9ydGVkIGluIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cbiAqXG4gKiBOT1RFOiBUaGlzIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5IGZvciBub24tZ2VuZXJpYyBldmVudHMgc3VjaCBhcyBgY2hhbmdlYCxcbiAqIGByZXNldGAsIGBsb2FkYCwgYGVycm9yYCwgYW5kIGBzZWxlY3RgLlxuICpcbiAqIEJvcnJvd3MgZnJvbSBNb2Rlcm5penIuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVN1ZmZpeCBFdmVudCBuYW1lLCBlLmcuIFwiY2xpY2tcIi5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGV2ZW50IGlzIHN1cHBvcnRlZC5cbiAqIEBpbnRlcm5hbFxuICogQGxpY2Vuc2UgTW9kZXJuaXpyIDMuMC4wcHJlIChDdXN0b20gQnVpbGQpIHwgTUlUXG4gKi9cblxuZnVuY3Rpb24gaXNFdmVudFN1cHBvcnRlZChldmVudE5hbWVTdWZmaXgpIHtcbiAgaWYgKCFjYW5Vc2VET00pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgZXZlbnROYW1lID0gJ29uJyArIGV2ZW50TmFtZVN1ZmZpeDtcbiAgdmFyIGlzU3VwcG9ydGVkID0gKGV2ZW50TmFtZSBpbiBkb2N1bWVudCk7XG5cbiAgaWYgKCFpc1N1cHBvcnRlZCkge1xuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoZXZlbnROYW1lLCAncmV0dXJuOycpO1xuICAgIGlzU3VwcG9ydGVkID0gdHlwZW9mIGVsZW1lbnRbZXZlbnROYW1lXSA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIHJldHVybiBpc1N1cHBvcnRlZDtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJFdmVudHMkMSgpIHtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNoYW5nZScsIFsnY2hhbmdlJywgJ2NsaWNrJywgJ2ZvY3VzaW4nLCAnZm9jdXNvdXQnLCAnaW5wdXQnLCAna2V5ZG93bicsICdrZXl1cCcsICdzZWxlY3Rpb25jaGFuZ2UnXSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBpbnN0LCBuYXRpdmVFdmVudCwgdGFyZ2V0KSB7XG4gIC8vIEZsYWcgdGhpcyBldmVudCBsb29wIGFzIG5lZWRpbmcgc3RhdGUgcmVzdG9yZS5cbiAgZW5xdWV1ZVN0YXRlUmVzdG9yZSh0YXJnZXQpO1xuICB2YXIgbGlzdGVuZXJzID0gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKGluc3QsICdvbkNoYW5nZScpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNFdmVudCgnb25DaGFuZ2UnLCAnY2hhbmdlJywgbnVsbCwgbmF0aXZlRXZlbnQsIHRhcmdldCk7XG4gICAgZGlzcGF0Y2hRdWV1ZS5wdXNoKHtcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzXG4gICAgfSk7XG4gIH1cbn1cbi8qKlxuICogRm9yIElFIHNoaW1zXG4gKi9cblxuXG52YXIgYWN0aXZlRWxlbWVudCA9IG51bGw7XG52YXIgYWN0aXZlRWxlbWVudEluc3QgPSBudWxsO1xuLyoqXG4gKiBTRUNUSU9OOiBoYW5kbGUgYGNoYW5nZWAgZXZlbnRcbiAqL1xuXG5mdW5jdGlvbiBzaG91bGRVc2VDaGFuZ2VFdmVudChlbGVtKSB7XG4gIHZhciBub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gbm9kZU5hbWUgPT09ICdzZWxlY3QnIHx8IG5vZGVOYW1lID09PSAnaW5wdXQnICYmIGVsZW0udHlwZSA9PT0gJ2ZpbGUnO1xufVxuXG5mdW5jdGlvbiBtYW51YWxEaXNwYXRjaENoYW5nZUV2ZW50KG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBkaXNwYXRjaFF1ZXVlID0gW107XG4gIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBhY3RpdmVFbGVtZW50SW5zdCwgbmF0aXZlRXZlbnQsIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSk7IC8vIElmIGNoYW5nZSBhbmQgcHJvcGVydHljaGFuZ2UgYnViYmxlZCwgd2UnZCBqdXN0IGJpbmQgdG8gaXQgbGlrZSBhbGwgdGhlXG4gIC8vIG90aGVyIGV2ZW50cyBhbmQgaGF2ZSBpdCBnbyB0aHJvdWdoIFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci4gU2luY2UgaXRcbiAgLy8gZG9lc24ndCwgd2UgbWFudWFsbHkgbGlzdGVuIGZvciB0aGUgZXZlbnRzIGFuZCBzbyB3ZSBoYXZlIHRvIGVucXVldWUgYW5kXG4gIC8vIHByb2Nlc3MgdGhlIGFic3RyYWN0IGV2ZW50IG1hbnVhbGx5LlxuICAvL1xuICAvLyBCYXRjaGluZyBpcyBuZWNlc3NhcnkgaGVyZSBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCBhbGwgZXZlbnQgaGFuZGxlcnMgcnVuXG4gIC8vIGJlZm9yZSB0aGUgbmV4dCByZXJlbmRlciAoaW5jbHVkaW5nIGV2ZW50IGhhbmRsZXJzIGF0dGFjaGVkIHRvIGFuY2VzdG9yXG4gIC8vIGVsZW1lbnRzIGluc3RlYWQgb2YgZGlyZWN0bHkgb24gdGhlIGlucHV0KS4gV2l0aG91dCB0aGlzLCBjb250cm9sbGVkXG4gIC8vIGNvbXBvbmVudHMgZG9uJ3Qgd29yayBwcm9wZXJseSBpbiBjb25qdW5jdGlvbiB3aXRoIGV2ZW50IGJ1YmJsaW5nIGJlY2F1c2VcbiAgLy8gdGhlIGNvbXBvbmVudCBpcyByZXJlbmRlcmVkIGFuZCB0aGUgdmFsdWUgcmV2ZXJ0ZWQgYmVmb3JlIGFsbCB0aGUgZXZlbnRcbiAgLy8gaGFuZGxlcnMgY2FuIHJ1bi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNzA4LlxuXG4gIGJhdGNoZWRVcGRhdGVzKHJ1bkV2ZW50SW5CYXRjaCwgZGlzcGF0Y2hRdWV1ZSk7XG59XG5cbmZ1bmN0aW9uIHJ1bkV2ZW50SW5CYXRjaChkaXNwYXRjaFF1ZXVlKSB7XG4gIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIDApO1xufVxuXG5mdW5jdGlvbiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCkge1xuICB2YXIgdGFyZ2V0Tm9kZSA9IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCk7XG5cbiAgaWYgKHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKHRhcmdldE5vZGUpKSB7XG4gICAgcmV0dXJuIHRhcmdldEluc3Q7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50KGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCkge1xuICBpZiAoZG9tRXZlbnROYW1lID09PSAnY2hhbmdlJykge1xuICAgIHJldHVybiB0YXJnZXRJbnN0O1xuICB9XG59XG4vKipcbiAqIFNFQ1RJT046IGhhbmRsZSBgaW5wdXRgIGV2ZW50XG4gKi9cblxuXG52YXIgaXNJbnB1dEV2ZW50U3VwcG9ydGVkID0gZmFsc2U7XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgLy8gSUU5IGNsYWltcyB0byBzdXBwb3J0IHRoZSBpbnB1dCBldmVudCBidXQgZmFpbHMgdG8gdHJpZ2dlciBpdCB3aGVuXG4gIC8vIGRlbGV0aW5nIHRleHQsIHNvIHdlIGlnbm9yZSBpdHMgaW5wdXQgZXZlbnRzLlxuICBpc0lucHV0RXZlbnRTdXBwb3J0ZWQgPSBpc0V2ZW50U3VwcG9ydGVkKCdpbnB1dCcpICYmICghZG9jdW1lbnQuZG9jdW1lbnRNb2RlIHx8IGRvY3VtZW50LmRvY3VtZW50TW9kZSA+IDkpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgU3RhcnRzIHRyYWNraW5nIHByb3BlcnR5Y2hhbmdlIGV2ZW50cyBvbiB0aGUgcGFzc2VkLWluIGVsZW1lbnRcbiAqIGFuZCBvdmVycmlkZSB0aGUgdmFsdWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZGlzdGluZ3Vpc2ggdXNlciBldmVudHMgZnJvbVxuICogdmFsdWUgY2hhbmdlcyBpbiBKUy5cbiAqL1xuXG5cbmZ1bmN0aW9uIHN0YXJ0V2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSh0YXJnZXQsIHRhcmdldEluc3QpIHtcbiAgYWN0aXZlRWxlbWVudCA9IHRhcmdldDtcbiAgYWN0aXZlRWxlbWVudEluc3QgPSB0YXJnZXRJbnN0O1xuICBhY3RpdmVFbGVtZW50LmF0dGFjaEV2ZW50KCdvbnByb3BlcnR5Y2hhbmdlJywgaGFuZGxlUHJvcGVydHlDaGFuZ2UpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgUmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXJzIGZyb20gdGhlIGN1cnJlbnRseS10cmFja2VkIGVsZW1lbnQsXG4gKiBpZiBhbnkgZXhpc3RzLlxuICovXG5cblxuZnVuY3Rpb24gc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKSB7XG4gIGlmICghYWN0aXZlRWxlbWVudCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGFjdGl2ZUVsZW1lbnQuZGV0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBoYW5kbGVQcm9wZXJ0eUNoYW5nZSk7XG4gIGFjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICBhY3RpdmVFbGVtZW50SW5zdCA9IG51bGw7XG59XG4vKipcbiAqIChGb3IgSUUgPD05KSBIYW5kbGVzIGEgcHJvcGVydHljaGFuZ2UgZXZlbnQsIHNlbmRpbmcgYSBgY2hhbmdlYCBldmVudCBpZlxuICogdGhlIHZhbHVlIG9mIHRoZSBhY3RpdmUgZWxlbWVudCBoYXMgY2hhbmdlZC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGhhbmRsZVByb3BlcnR5Q2hhbmdlKG5hdGl2ZUV2ZW50KSB7XG4gIGlmIChuYXRpdmVFdmVudC5wcm9wZXJ0eU5hbWUgIT09ICd2YWx1ZScpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKGFjdGl2ZUVsZW1lbnRJbnN0KSkge1xuICAgIG1hbnVhbERpc3BhdGNoQ2hhbmdlRXZlbnQobmF0aXZlRXZlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUV2ZW50c0ZvcklucHV0RXZlbnRQb2x5ZmlsbChkb21FdmVudE5hbWUsIHRhcmdldCwgdGFyZ2V0SW5zdCkge1xuICBpZiAoZG9tRXZlbnROYW1lID09PSAnZm9jdXNpbicpIHtcbiAgICAvLyBJbiBJRTksIHByb3BlcnR5Y2hhbmdlIGZpcmVzIGZvciBtb3N0IGlucHV0IGV2ZW50cyBidXQgaXMgYnVnZ3kgYW5kXG4gICAgLy8gZG9lc24ndCBmaXJlIHdoZW4gdGV4dCBpcyBkZWxldGVkLCBidXQgY29udmVuaWVudGx5LCBzZWxlY3Rpb25jaGFuZ2VcbiAgICAvLyBhcHBlYXJzIHRvIGZpcmUgaW4gYWxsIG9mIHRoZSByZW1haW5pbmcgY2FzZXMgc28gd2UgY2F0Y2ggdGhvc2UgYW5kXG4gICAgLy8gZm9yd2FyZCB0aGUgZXZlbnQgaWYgdGhlIHZhbHVlIGhhcyBjaGFuZ2VkXG4gICAgLy8gSW4gZWl0aGVyIGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gY2FsbCB0aGUgZXZlbnQgaGFuZGxlciBpZiB0aGUgdmFsdWVcbiAgICAvLyBpcyBjaGFuZ2VkIGZyb20gSlMgc28gd2UgcmVkZWZpbmUgYSBzZXR0ZXIgZm9yIGAudmFsdWVgIHRoYXQgdXBkYXRlc1xuICAgIC8vIG91ciBhY3RpdmVFbGVtZW50VmFsdWUgdmFyaWFibGUsIGFsbG93aW5nIHVzIHRvIGlnbm9yZSB0aG9zZSBjaGFuZ2VzXG4gICAgLy9cbiAgICAvLyBzdG9wV2F0Y2hpbmcoKSBzaG91bGQgYmUgYSBub29wIGhlcmUgYnV0IHdlIGNhbGwgaXQganVzdCBpbiBjYXNlIHdlXG4gICAgLy8gbWlzc2VkIGEgYmx1ciBldmVudCBzb21laG93LlxuICAgIHN0b3BXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKCk7XG4gICAgc3RhcnRXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKHRhcmdldCwgdGFyZ2V0SW5zdCk7XG4gIH0gZWxzZSBpZiAoZG9tRXZlbnROYW1lID09PSAnZm9jdXNvdXQnKSB7XG4gICAgc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKTtcbiAgfVxufSAvLyBGb3IgSUU4IGFuZCBJRTkuXG5cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvcklucHV0RXZlbnRQb2x5ZmlsbChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ3NlbGVjdGlvbmNoYW5nZScgfHwgZG9tRXZlbnROYW1lID09PSAna2V5dXAnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ2tleWRvd24nKSB7XG4gICAgLy8gT24gdGhlIHNlbGVjdGlvbmNoYW5nZSBldmVudCwgdGhlIHRhcmdldCBpcyBqdXN0IGRvY3VtZW50IHdoaWNoIGlzbid0XG4gICAgLy8gaGVscGZ1bCBmb3IgdXMgc28ganVzdCBjaGVjayBhY3RpdmVFbGVtZW50IGluc3RlYWQuXG4gICAgLy9cbiAgICAvLyA5OSUgb2YgdGhlIHRpbWUsIGtleWRvd24gYW5kIGtleXVwIGFyZW4ndCBuZWNlc3NhcnkuIElFOCBmYWlscyB0byBmaXJlXG4gICAgLy8gcHJvcGVydHljaGFuZ2Ugb24gdGhlIGZpcnN0IGlucHV0IGV2ZW50IGFmdGVyIHNldHRpbmcgYHZhbHVlYCBmcm9tIGFcbiAgICAvLyBzY3JpcHQgYW5kIGZpcmVzIG9ubHkga2V5ZG93biwga2V5cHJlc3MsIGtleXVwLiBDYXRjaGluZyBrZXl1cCB1c3VhbGx5XG4gICAgLy8gZ2V0cyBpdCBhbmQgY2F0Y2hpbmcga2V5ZG93biBsZXRzIHVzIGZpcmUgYW4gZXZlbnQgZm9yIHRoZSBmaXJzdFxuICAgIC8vIGtleXN0cm9rZSBpZiB1c2VyIGRvZXMgYSBrZXkgcmVwZWF0IChpdCdsbCBiZSBhIGxpdHRsZSBkZWxheWVkOiByaWdodFxuICAgIC8vIGJlZm9yZSB0aGUgc2Vjb25kIGtleXN0cm9rZSkuIE90aGVyIGlucHV0IG1ldGhvZHMgKGUuZy4sIHBhc3RlKSBzZWVtIHRvXG4gICAgLy8gZmlyZSBzZWxlY3Rpb25jaGFuZ2Ugbm9ybWFsbHkuXG4gICAgcmV0dXJuIGdldEluc3RJZlZhbHVlQ2hhbmdlZChhY3RpdmVFbGVtZW50SW5zdCk7XG4gIH1cbn1cbi8qKlxuICogU0VDVElPTjogaGFuZGxlIGBjbGlja2AgZXZlbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHNob3VsZFVzZUNsaWNrRXZlbnQoZWxlbSkge1xuICAvLyBVc2UgdGhlIGBjbGlja2AgZXZlbnQgdG8gZGV0ZWN0IGNoYW5nZXMgdG8gY2hlY2tib3ggYW5kIHJhZGlvIGlucHV0cy5cbiAgLy8gVGhpcyBhcHByb2FjaCB3b3JrcyBhY3Jvc3MgYWxsIGJyb3dzZXJzLCB3aGVyZWFzIGBjaGFuZ2VgIGRvZXMgbm90IGZpcmVcbiAgLy8gdW50aWwgYGJsdXJgIGluIElFOC5cbiAgdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZTtcbiAgcmV0dXJuIG5vZGVOYW1lICYmIG5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbnB1dCcgJiYgKGVsZW0udHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBlbGVtLnR5cGUgPT09ICdyYWRpbycpO1xufVxuXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NsaWNrJykge1xuICAgIHJldHVybiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvcklucHV0T3JDaGFuZ2VFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2lucHV0JyB8fCBkb21FdmVudE5hbWUgPT09ICdjaGFuZ2UnKSB7XG4gICAgcmV0dXJuIGdldEluc3RJZlZhbHVlQ2hhbmdlZCh0YXJnZXRJbnN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKG5vZGUpIHtcbiAgdmFyIHN0YXRlID0gbm9kZS5fd3JhcHBlclN0YXRlO1xuXG4gIGlmICghc3RhdGUgfHwgIXN0YXRlLmNvbnRyb2xsZWQgfHwgbm9kZS50eXBlICE9PSAnbnVtYmVyJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICAvLyBJZiBjb250cm9sbGVkLCBhc3NpZ24gdGhlIHZhbHVlIGF0dHJpYnV0ZSB0byB0aGUgY3VycmVudCB2YWx1ZSBvbiBibHVyXG4gICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsICdudW1iZXInLCBub2RlLnZhbHVlKTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIHBsdWdpbiBjcmVhdGVzIGFuIGBvbkNoYW5nZWAgZXZlbnQgdGhhdCBub3JtYWxpemVzIGNoYW5nZSBldmVudHNcbiAqIGFjcm9zcyBmb3JtIGVsZW1lbnRzLiBUaGlzIGV2ZW50IGZpcmVzIGF0IGEgdGltZSB3aGVuIGl0J3MgcG9zc2libGUgdG9cbiAqIGNoYW5nZSB0aGUgZWxlbWVudCdzIHZhbHVlIHdpdGhvdXQgc2VlaW5nIGEgZmxpY2tlci5cbiAqXG4gKiBTdXBwb3J0ZWQgZWxlbWVudHMgYXJlOlxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxuICogLSB0ZXh0YXJlYVxuICogLSBzZWxlY3RcbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XG4gIHZhciBnZXRUYXJnZXRJbnN0RnVuYywgaGFuZGxlRXZlbnRGdW5jO1xuXG4gIGlmIChzaG91bGRVc2VDaGFuZ2VFdmVudCh0YXJnZXROb2RlKSkge1xuICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50O1xuICB9IGVsc2UgaWYgKGlzVGV4dElucHV0RWxlbWVudCh0YXJnZXROb2RlKSkge1xuICAgIGlmIChpc0lucHV0RXZlbnRTdXBwb3J0ZWQpIHtcbiAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvcklucHV0T3JDaGFuZ2VFdmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgZ2V0VGFyZ2V0SW5zdEZ1bmMgPSBnZXRUYXJnZXRJbnN0Rm9ySW5wdXRFdmVudFBvbHlmaWxsO1xuICAgICAgaGFuZGxlRXZlbnRGdW5jID0gaGFuZGxlRXZlbnRzRm9ySW5wdXRFdmVudFBvbHlmaWxsO1xuICAgIH1cbiAgfSBlbHNlIGlmIChzaG91bGRVc2VDbGlja0V2ZW50KHRhcmdldE5vZGUpKSB7XG4gICAgZ2V0VGFyZ2V0SW5zdEZ1bmMgPSBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudDtcbiAgfVxuXG4gIGlmIChnZXRUYXJnZXRJbnN0RnVuYykge1xuICAgIHZhciBpbnN0ID0gZ2V0VGFyZ2V0SW5zdEZ1bmMoZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0KTtcblxuICAgIGlmIChpbnN0KSB7XG4gICAgICBjcmVhdGVBbmRBY2N1bXVsYXRlQ2hhbmdlRXZlbnQoZGlzcGF0Y2hRdWV1ZSwgaW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFuZGxlRXZlbnRGdW5jKSB7XG4gICAgaGFuZGxlRXZlbnRGdW5jKGRvbUV2ZW50TmFtZSwgdGFyZ2V0Tm9kZSwgdGFyZ2V0SW5zdCk7XG4gIH0gLy8gV2hlbiBibHVycmluZywgc2V0IHRoZSB2YWx1ZSBhdHRyaWJ1dGUgZm9yIG51bWJlciBpbnB1dHNcblxuXG4gIGlmIChkb21FdmVudE5hbWUgPT09ICdmb2N1c291dCcpIHtcbiAgICBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKHRhcmdldE5vZGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzJDIoKSB7XG4gIHJlZ2lzdGVyRGlyZWN0RXZlbnQoJ29uTW91c2VFbnRlcicsIFsnbW91c2VvdXQnLCAnbW91c2VvdmVyJ10pO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KCdvbk1vdXNlTGVhdmUnLCBbJ21vdXNlb3V0JywgJ21vdXNlb3ZlciddKTtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudCgnb25Qb2ludGVyRW50ZXInLCBbJ3BvaW50ZXJvdXQnLCAncG9pbnRlcm92ZXInXSk7XG4gIHJlZ2lzdGVyRGlyZWN0RXZlbnQoJ29uUG9pbnRlckxlYXZlJywgWydwb2ludGVyb3V0JywgJ3BvaW50ZXJvdmVyJ10pO1xufVxuLyoqXG4gKiBGb3IgYWxtb3N0IGV2ZXJ5IGludGVyYWN0aW9uIHdlIGNhcmUgYWJvdXQsIHRoZXJlIHdpbGwgYmUgYm90aCBhIHRvcC1sZXZlbFxuICogYG1vdXNlb3ZlcmAgYW5kIGBtb3VzZW91dGAgZXZlbnQgdGhhdCBvY2N1cnMuIE9ubHkgdXNlIGBtb3VzZW91dGAgc28gdGhhdFxuICogd2UgZG8gbm90IGV4dHJhY3QgZHVwbGljYXRlIGV2ZW50cy4gSG93ZXZlciwgbW92aW5nIHRoZSBtb3VzZSBpbnRvIHRoZVxuICogYnJvd3NlciBmcm9tIG91dHNpZGUgd2lsbCBub3QgZmlyZSBhIGBtb3VzZW91dGAgZXZlbnQuIEluIHRoaXMgY2FzZSwgd2UgdXNlXG4gKiB0aGUgYG1vdXNlb3ZlcmAgdG9wLWxldmVsIGV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEV2ZW50cyQyKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpIHtcbiAgdmFyIGlzT3ZlckV2ZW50ID0gZG9tRXZlbnROYW1lID09PSAnbW91c2VvdmVyJyB8fCBkb21FdmVudE5hbWUgPT09ICdwb2ludGVyb3Zlcic7XG4gIHZhciBpc091dEV2ZW50ID0gZG9tRXZlbnROYW1lID09PSAnbW91c2VvdXQnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdXQnO1xuXG4gIGlmIChpc092ZXJFdmVudCAmJiAhaXNSZXBsYXlpbmdFdmVudChuYXRpdmVFdmVudCkpIHtcbiAgICAvLyBJZiB0aGlzIGlzIGFuIG92ZXIgZXZlbnQgd2l0aCBhIHRhcmdldCwgd2UgbWlnaHQgaGF2ZSBhbHJlYWR5IGRpc3BhdGNoZWRcbiAgICAvLyB0aGUgZXZlbnQgaW4gdGhlIG91dCBldmVudCBvZiB0aGUgb3RoZXIgdGFyZ2V0LiBJZiB0aGlzIGlzIHJlcGxheWVkLFxuICAgIC8vIHRoZW4gaXQncyBiZWNhdXNlIHdlIGNvdWxkbid0IGRpc3BhdGNoIGFnYWluc3QgdGhpcyB0YXJnZXQgcHJldmlvdXNseVxuICAgIC8vIHNvIHdlIGhhdmUgdG8gZG8gaXQgbm93IGluc3RlYWQuXG4gICAgdmFyIHJlbGF0ZWQgPSBuYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0IHx8IG5hdGl2ZUV2ZW50LmZyb21FbGVtZW50O1xuXG4gICAgaWYgKHJlbGF0ZWQpIHtcbiAgICAgIC8vIElmIHRoZSByZWxhdGVkIG5vZGUgaXMgbWFuYWdlZCBieSBSZWFjdCwgd2UgY2FuIGFzc3VtZSB0aGF0IHdlIGhhdmVcbiAgICAgIC8vIGFscmVhZHkgZGlzcGF0Y2hlZCB0aGUgY29ycmVzcG9uZGluZyBldmVudHMgZHVyaW5nIGl0cyBtb3VzZW91dC5cbiAgICAgIGlmIChnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShyZWxhdGVkKSB8fCBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChyZWxhdGVkKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCFpc091dEV2ZW50ICYmICFpc092ZXJFdmVudCkge1xuICAgIC8vIE11c3Qgbm90IGJlIGEgbW91c2Ugb3IgcG9pbnRlciBpbiBvciBvdXQgLSBpZ25vcmluZy5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgd2luOyAvLyBUT0RPOiB3aHkgaXMgdGhpcyBudWxsYWJsZSBpbiB0aGUgdHlwZXMgYnV0IHdlIHJlYWQgZnJvbSBpdD9cblxuICBpZiAobmF0aXZlRXZlbnRUYXJnZXQud2luZG93ID09PSBuYXRpdmVFdmVudFRhcmdldCkge1xuICAgIC8vIGBuYXRpdmVFdmVudFRhcmdldGAgaXMgcHJvYmFibHkgYSB3aW5kb3cgb2JqZWN0LlxuICAgIHdpbiA9IG5hdGl2ZUV2ZW50VGFyZ2V0O1xuICB9IGVsc2Uge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgd2h5IGBvd25lckRvY3VtZW50YCBpcyBzb21ldGltZXMgdW5kZWZpbmVkIGluIElFOC5cbiAgICB2YXIgZG9jID0gbmF0aXZlRXZlbnRUYXJnZXQub3duZXJEb2N1bWVudDtcblxuICAgIGlmIChkb2MpIHtcbiAgICAgIHdpbiA9IGRvYy5kZWZhdWx0VmlldyB8fCBkb2MucGFyZW50V2luZG93O1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW4gPSB3aW5kb3c7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZyb207XG4gIHZhciB0bztcblxuICBpZiAoaXNPdXRFdmVudCkge1xuICAgIHZhciBfcmVsYXRlZCA9IG5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgbmF0aXZlRXZlbnQudG9FbGVtZW50O1xuXG4gICAgZnJvbSA9IHRhcmdldEluc3Q7XG4gICAgdG8gPSBfcmVsYXRlZCA/IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKF9yZWxhdGVkKSA6IG51bGw7XG5cbiAgICBpZiAodG8gIT09IG51bGwpIHtcbiAgICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodG8pO1xuXG4gICAgICBpZiAodG8gIT09IG5lYXJlc3RNb3VudGVkIHx8IHRvLnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiB0by50YWcgIT09IEhvc3RUZXh0KSB7XG4gICAgICAgIHRvID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gTW92aW5nIHRvIGEgbm9kZSBmcm9tIG91dHNpZGUgdGhlIHdpbmRvdy5cbiAgICBmcm9tID0gbnVsbDtcbiAgICB0byA9IHRhcmdldEluc3Q7XG4gIH1cblxuICBpZiAoZnJvbSA9PT0gdG8pIHtcbiAgICAvLyBOb3RoaW5nIHBlcnRhaW5zIHRvIG91ciBtYW5hZ2VkIGNvbXBvbmVudHMuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gIHZhciBsZWF2ZUV2ZW50VHlwZSA9ICdvbk1vdXNlTGVhdmUnO1xuICB2YXIgZW50ZXJFdmVudFR5cGUgPSAnb25Nb3VzZUVudGVyJztcbiAgdmFyIGV2ZW50VHlwZVByZWZpeCA9ICdtb3VzZSc7XG5cbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdXQnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdmVyJykge1xuICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1BvaW50ZXJFdmVudDtcbiAgICBsZWF2ZUV2ZW50VHlwZSA9ICdvblBvaW50ZXJMZWF2ZSc7XG4gICAgZW50ZXJFdmVudFR5cGUgPSAnb25Qb2ludGVyRW50ZXInO1xuICAgIGV2ZW50VHlwZVByZWZpeCA9ICdwb2ludGVyJztcbiAgfVxuXG4gIHZhciBmcm9tTm9kZSA9IGZyb20gPT0gbnVsbCA/IHdpbiA6IGdldE5vZGVGcm9tSW5zdGFuY2UoZnJvbSk7XG4gIHZhciB0b05vZGUgPSB0byA9PSBudWxsID8gd2luIDogZ2V0Tm9kZUZyb21JbnN0YW5jZSh0byk7XG4gIHZhciBsZWF2ZSA9IG5ldyBTeW50aGV0aWNFdmVudEN0b3IobGVhdmVFdmVudFR5cGUsIGV2ZW50VHlwZVByZWZpeCArICdsZWF2ZScsIGZyb20sIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIGxlYXZlLnRhcmdldCA9IGZyb21Ob2RlO1xuICBsZWF2ZS5yZWxhdGVkVGFyZ2V0ID0gdG9Ob2RlO1xuICB2YXIgZW50ZXIgPSBudWxsOyAvLyBXZSBzaG91bGQgb25seSBwcm9jZXNzIHRoaXMgbmF0aXZlRXZlbnQgaWYgd2UgYXJlIHByb2Nlc3NpbmdcbiAgLy8gdGhlIGZpcnN0IGFuY2VzdG9yLiBOZXh0IHRpbWUsIHdlIHdpbGwgaWdub3JlIHRoZSBldmVudC5cblxuICB2YXIgbmF0aXZlVGFyZ2V0SW5zdCA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKG5hdGl2ZUV2ZW50VGFyZ2V0KTtcblxuICBpZiAobmF0aXZlVGFyZ2V0SW5zdCA9PT0gdGFyZ2V0SW5zdCkge1xuICAgIHZhciBlbnRlckV2ZW50ID0gbmV3IFN5bnRoZXRpY0V2ZW50Q3RvcihlbnRlckV2ZW50VHlwZSwgZXZlbnRUeXBlUHJlZml4ICsgJ2VudGVyJywgdG8sIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZW50ZXJFdmVudC50YXJnZXQgPSB0b05vZGU7XG4gICAgZW50ZXJFdmVudC5yZWxhdGVkVGFyZ2V0ID0gZnJvbU5vZGU7XG4gICAgZW50ZXIgPSBlbnRlckV2ZW50O1xuICB9XG5cbiAgYWNjdW11bGF0ZUVudGVyTGVhdmVUd29QaGFzZUxpc3RlbmVycyhkaXNwYXRjaFF1ZXVlLCBsZWF2ZSwgZW50ZXIsIGZyb20sIHRvKTtcbn1cblxuLyoqXG4gKiBpbmxpbmVkIE9iamVjdC5pcyBwb2x5ZmlsbCB0byBhdm9pZCByZXF1aXJpbmcgY29uc3VtZXJzIHNoaXAgdGhlaXIgb3duXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXNcbiAqL1xuZnVuY3Rpb24gaXMoeCwgeSkge1xuICByZXR1cm4geCA9PT0geSAmJiAoeCAhPT0gMCB8fCAxIC8geCA9PT0gMSAvIHkpIHx8IHggIT09IHggJiYgeSAhPT0geSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxuICA7XG59XG5cbnZhciBvYmplY3RJcyA9IHR5cGVvZiBPYmplY3QuaXMgPT09ICdmdW5jdGlvbicgPyBPYmplY3QuaXMgOiBpcztcblxuLyoqXG4gKiBQZXJmb3JtcyBlcXVhbGl0eSBieSBpdGVyYXRpbmcgdGhyb3VnaCBrZXlzIG9uIGFuIG9iamVjdCBhbmQgcmV0dXJuaW5nIGZhbHNlXG4gKiB3aGVuIGFueSBrZXkgaGFzIHZhbHVlcyB3aGljaCBhcmUgbm90IHN0cmljdGx5IGVxdWFsIGJldHdlZW4gdGhlIGFyZ3VtZW50cy5cbiAqIFJldHVybnMgdHJ1ZSB3aGVuIHRoZSB2YWx1ZXMgb2YgYWxsIGtleXMgYXJlIHN0cmljdGx5IGVxdWFsLlxuICovXG5cbmZ1bmN0aW9uIHNoYWxsb3dFcXVhbChvYmpBLCBvYmpCKSB7XG4gIGlmIChvYmplY3RJcyhvYmpBLCBvYmpCKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBvYmpBICE9PSAnb2JqZWN0JyB8fCBvYmpBID09PSBudWxsIHx8IHR5cGVvZiBvYmpCICE9PSAnb2JqZWN0JyB8fCBvYmpCID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGtleXNBID0gT2JqZWN0LmtleXMob2JqQSk7XG4gIHZhciBrZXlzQiA9IE9iamVjdC5rZXlzKG9iakIpO1xuXG4gIGlmIChrZXlzQS5sZW5ndGggIT09IGtleXNCLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBUZXN0IGZvciBBJ3Mga2V5cyBkaWZmZXJlbnQgZnJvbSBCLlxuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzQS5sZW5ndGg7IGkrKykge1xuICAgIHZhciBjdXJyZW50S2V5ID0ga2V5c0FbaV07XG5cbiAgICBpZiAoIWhhc093blByb3BlcnR5LmNhbGwob2JqQiwgY3VycmVudEtleSkgfHwgIW9iamVjdElzKG9iakFbY3VycmVudEtleV0sIG9iakJbY3VycmVudEtleV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogR2l2ZW4gYW55IG5vZGUgcmV0dXJuIHRoZSBmaXJzdCBsZWFmIG5vZGUgd2l0aG91dCBjaGlsZHJlbi5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9XG4gKi9cblxuZnVuY3Rpb24gZ2V0TGVhZk5vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSAmJiBub2RlLmZpcnN0Q2hpbGQpIHtcbiAgICBub2RlID0gbm9kZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4vKipcbiAqIEdldCB0aGUgbmV4dCBzaWJsaW5nIHdpdGhpbiBhIGNvbnRhaW5lci4gVGhpcyB3aWxsIHdhbGsgdXAgdGhlXG4gKiBET00gaWYgYSBub2RlJ3Mgc2libGluZ3MgaGF2ZSBiZWVuIGV4aGF1c3RlZC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4gez9ET01FbGVtZW50fERPTVRleHROb2RlfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0U2libGluZ05vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5leHRTaWJsaW5nKSB7XG4gICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZztcbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlO1xuICB9XG59XG4vKipcbiAqIEdldCBvYmplY3QgZGVzY3JpYmluZyB0aGUgbm9kZXMgd2hpY2ggY29udGFpbiBjaGFyYWN0ZXJzIGF0IG9mZnNldC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IHJvb3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KHJvb3QsIG9mZnNldCkge1xuICB2YXIgbm9kZSA9IGdldExlYWZOb2RlKHJvb3QpO1xuICB2YXIgbm9kZVN0YXJ0ID0gMDtcbiAgdmFyIG5vZGVFbmQgPSAwO1xuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgbm9kZUVuZCA9IG5vZGVTdGFydCArIG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuXG4gICAgICBpZiAobm9kZVN0YXJ0IDw9IG9mZnNldCAmJiBub2RlRW5kID49IG9mZnNldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgICAgb2Zmc2V0OiBvZmZzZXQgLSBub2RlU3RhcnRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgbm9kZVN0YXJ0ID0gbm9kZUVuZDtcbiAgICB9XG5cbiAgICBub2RlID0gZ2V0TGVhZk5vZGUoZ2V0U2libGluZ05vZGUobm9kZSkpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBvdXRlck5vZGVcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0cyhvdXRlck5vZGUpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBvdXRlck5vZGUub3duZXJEb2N1bWVudDtcbiAgdmFyIHdpbiA9IG93bmVyRG9jdW1lbnQgJiYgb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG4gIHZhciBzZWxlY3Rpb24gPSB3aW4uZ2V0U2VsZWN0aW9uICYmIHdpbi5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGFuY2hvck5vZGUgPSBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXG4gICAgICBmb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXNOb2RlLFxuICAgICAgZm9jdXNPZmZzZXQgPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQ7IC8vIEluIEZpcmVmb3gsIGFuY2hvck5vZGUgYW5kIGZvY3VzTm9kZSBjYW4gYmUgXCJhbm9ueW1vdXMgZGl2c1wiLCBlLmcuIHRoZVxuICAvLyB1cC9kb3duIGJ1dHRvbnMgb24gYW4gPGlucHV0IHR5cGU9XCJudW1iZXJcIj4uIEFub255bW91cyBkaXZzIGRvIG5vdCBzZWVtIHRvXG4gIC8vIGV4cG9zZSBwcm9wZXJ0aWVzLCB0cmlnZ2VyaW5nIGEgXCJQZXJtaXNzaW9uIGRlbmllZCBlcnJvclwiIGlmIGFueSBvZiBpdHNcbiAgLy8gcHJvcGVydGllcyBhcmUgYWNjZXNzZWQuIFRoZSBvbmx5IHNlZW1pbmdseSBwb3NzaWJsZSB3YXkgdG8gYXZvaWQgZXJyb3JpbmdcbiAgLy8gaXMgdG8gYWNjZXNzIGEgcHJvcGVydHkgdGhhdCB0eXBpY2FsbHkgd29ya3MgZm9yIG5vbi1hbm9ueW1vdXMgZGl2cyBhbmRcbiAgLy8gY2F0Y2ggYW55IGVycm9yIHRoYXQgbWF5IG90aGVyd2lzZSBhcmlzZS4gU2VlXG4gIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQyN1xuXG4gIHRyeSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLWV4cHJlc3Npb25zICovXG4gICAgYW5jaG9yTm9kZS5ub2RlVHlwZTtcbiAgICBmb2N1c05vZGUubm9kZVR5cGU7XG4gICAgLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtZXhwcmVzc2lvbnMgKi9cbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KTtcbn1cbi8qKlxuICogUmV0dXJucyB7c3RhcnQsIGVuZH0gd2hlcmUgYHN0YXJ0YCBpcyB0aGUgY2hhcmFjdGVyL2NvZGVwb2ludCBpbmRleCBvZlxuICogKGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCkgd2l0aGluIHRoZSB0ZXh0Q29udGVudCBvZiBgb3V0ZXJOb2RlYCwgYW5kXG4gKiBgZW5kYCBpcyB0aGUgaW5kZXggb2YgKGZvY3VzTm9kZSwgZm9jdXNPZmZzZXQpLlxuICpcbiAqIFJldHVybnMgbnVsbCBpZiB5b3UgcGFzcyBpbiBnYXJiYWdlIGlucHV0IGJ1dCB3ZSBzaG91bGQgcHJvYmFibHkganVzdCBjcmFzaC5cbiAqXG4gKiBFeHBvcnRlZCBvbmx5IGZvciB0ZXN0aW5nLlxuICovXG5cbmZ1bmN0aW9uIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KSB7XG4gIHZhciBsZW5ndGggPSAwO1xuICB2YXIgc3RhcnQgPSAtMTtcbiAgdmFyIGVuZCA9IC0xO1xuICB2YXIgaW5kZXhXaXRoaW5BbmNob3IgPSAwO1xuICB2YXIgaW5kZXhXaXRoaW5Gb2N1cyA9IDA7XG4gIHZhciBub2RlID0gb3V0ZXJOb2RlO1xuICB2YXIgcGFyZW50Tm9kZSA9IG51bGw7XG5cbiAgb3V0ZXI6IHdoaWxlICh0cnVlKSB7XG4gICAgdmFyIG5leHQgPSBudWxsO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlID09PSBhbmNob3JOb2RlICYmIChhbmNob3JPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aCArIGFuY2hvck9mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZvY3VzTm9kZSAmJiAoZm9jdXNPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBlbmQgPSBsZW5ndGggKyBmb2N1c09mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgICBsZW5ndGggKz0gbm9kZS5ub2RlVmFsdWUubGVuZ3RoO1xuICAgICAgfVxuXG4gICAgICBpZiAoKG5leHQgPSBub2RlLmZpcnN0Q2hpbGQpID09PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSAvLyBNb3ZpbmcgZnJvbSBgbm9kZWAgdG8gaXRzIGZpcnN0IGNoaWxkIGBuZXh0YC5cblxuXG4gICAgICBwYXJlbnROb2RlID0gbm9kZTtcbiAgICAgIG5vZGUgPSBuZXh0O1xuICAgIH1cblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAobm9kZSA9PT0gb3V0ZXJOb2RlKSB7XG4gICAgICAgIC8vIElmIGBvdXRlck5vZGVgIGhhcyBjaGlsZHJlbiwgdGhpcyBpcyBhbHdheXMgdGhlIHNlY29uZCB0aW1lIHZpc2l0aW5nXG4gICAgICAgIC8vIGl0LiBJZiBpdCBoYXMgbm8gY2hpbGRyZW4sIHRoaXMgaXMgc3RpbGwgdGhlIGZpcnN0IGxvb3AsIGFuZCB0aGUgb25seVxuICAgICAgICAvLyB2YWxpZCBzZWxlY3Rpb24gaXMgYW5jaG9yTm9kZSBhbmQgZm9jdXNOb2RlIGJvdGggZXF1YWwgdG8gdGhpcyBub2RlXG4gICAgICAgIC8vIGFuZCBib3RoIG9mZnNldHMgMCwgaW4gd2hpY2ggY2FzZSB3ZSB3aWxsIGhhdmUgaGFuZGxlZCBhYm92ZS5cbiAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJlbnROb2RlID09PSBhbmNob3JOb2RlICYmICsraW5kZXhXaXRoaW5BbmNob3IgPT09IGFuY2hvck9mZnNldCkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudE5vZGUgPT09IGZvY3VzTm9kZSAmJiArK2luZGV4V2l0aGluRm9jdXMgPT09IGZvY3VzT2Zmc2V0KSB7XG4gICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKChuZXh0ID0gbm9kZS5uZXh0U2libGluZykgIT09IG51bGwpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBwYXJlbnROb2RlO1xuICAgICAgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcbiAgICB9IC8vIE1vdmluZyBmcm9tIGBub2RlYCB0byBpdHMgbmV4dCBzaWJsaW5nIGBuZXh0YC5cblxuXG4gICAgbm9kZSA9IG5leHQ7XG4gIH1cblxuICBpZiAoc3RhcnQgPT09IC0xIHx8IGVuZCA9PT0gLTEpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIChXb3VsZCBoYXBwZW4gaWYgdGhlIGFuY2hvci9mb2N1cyBub2RlcyBhcmVuJ3RcbiAgICAvLyBhY3R1YWxseSBpbnNpZGUgdGhlIHBhc3NlZC1pbiBub2RlLilcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc3RhcnQ6IHN0YXJ0LFxuICAgIGVuZDogZW5kXG4gIH07XG59XG4vKipcbiAqIEluIG1vZGVybiBub24tSUUgYnJvd3NlcnMsIHdlIGNhbiBzdXBwb3J0IGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmRcbiAqIHNlbGVjdGlvbnMuXG4gKlxuICogTm90ZTogSUUxMCsgc3VwcG9ydHMgdGhlIFNlbGVjdGlvbiBvYmplY3QsIGJ1dCBpdCBkb2VzIG5vdCBzdXBwb3J0XG4gKiB0aGUgYGV4dGVuZGAgbWV0aG9kLCB3aGljaCBtZWFucyB0aGF0IGV2ZW4gaW4gbW9kZXJuIElFLCBpdCdzIG5vdCBwb3NzaWJsZVxuICogdG8gcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBiYWNrd2FyZCBzZWxlY3Rpb24uIFRodXMsIGZvciBhbGwgSUVcbiAqIHZlcnNpb25zLCB3ZSB1c2UgdGhlIG9sZCBJRSBBUEkgdG8gY3JlYXRlIG91ciBzZWxlY3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IG9mZnNldHNcbiAqL1xuXG5mdW5jdGlvbiBzZXRPZmZzZXRzKG5vZGUsIG9mZnNldHMpIHtcbiAgdmFyIGRvYyA9IG5vZGUub3duZXJEb2N1bWVudCB8fCBkb2N1bWVudDtcbiAgdmFyIHdpbiA9IGRvYyAmJiBkb2MuZGVmYXVsdFZpZXcgfHwgd2luZG93OyAvLyBFZGdlIGZhaWxzIHdpdGggXCJPYmplY3QgZXhwZWN0ZWRcIiBpbiBzb21lIHNjZW5hcmlvcy5cbiAgLy8gKEZvciBpbnN0YW5jZTogVGlueU1DRSBlZGl0b3IgdXNlZCBpbiBhIGxpc3QgY29tcG9uZW50IHRoYXQgc3VwcG9ydHMgcGFzdGluZyB0byBhZGQgbW9yZSxcbiAgLy8gZmFpbHMgd2hlbiBwYXN0aW5nIDEwMCsgaXRlbXMpXG5cbiAgaWYgKCF3aW4uZ2V0U2VsZWN0aW9uKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcbiAgdmFyIGxlbmd0aCA9IG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuICB2YXIgc3RhcnQgPSBNYXRoLm1pbihvZmZzZXRzLnN0YXJ0LCBsZW5ndGgpO1xuICB2YXIgZW5kID0gb2Zmc2V0cy5lbmQgPT09IHVuZGVmaW5lZCA/IHN0YXJ0IDogTWF0aC5taW4ob2Zmc2V0cy5lbmQsIGxlbmd0aCk7IC8vIElFIDExIHVzZXMgbW9kZXJuIHNlbGVjdGlvbiwgYnV0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZXh0ZW5kIG1ldGhvZC5cbiAgLy8gRmxpcCBiYWNrd2FyZCBzZWxlY3Rpb25zLCBzbyB3ZSBjYW4gc2V0IHdpdGggYSBzaW5nbGUgcmFuZ2UuXG5cbiAgaWYgKCFzZWxlY3Rpb24uZXh0ZW5kICYmIHN0YXJ0ID4gZW5kKSB7XG4gICAgdmFyIHRlbXAgPSBlbmQ7XG4gICAgZW5kID0gc3RhcnQ7XG4gICAgc3RhcnQgPSB0ZW1wO1xuICB9XG5cbiAgdmFyIHN0YXJ0TWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBzdGFydCk7XG4gIHZhciBlbmRNYXJrZXIgPSBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KG5vZGUsIGVuZCk7XG5cbiAgaWYgKHN0YXJ0TWFya2VyICYmIGVuZE1hcmtlcikge1xuICAgIGlmIChzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMSAmJiBzZWxlY3Rpb24uYW5jaG9yTm9kZSA9PT0gc3RhcnRNYXJrZXIubm9kZSAmJiBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0ID09PSBzdGFydE1hcmtlci5vZmZzZXQgJiYgc2VsZWN0aW9uLmZvY3VzTm9kZSA9PT0gZW5kTWFya2VyLm5vZGUgJiYgc2VsZWN0aW9uLmZvY3VzT2Zmc2V0ID09PSBlbmRNYXJrZXIub2Zmc2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHJhbmdlID0gZG9jLmNyZWF0ZVJhbmdlKCk7XG4gICAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnRNYXJrZXIubm9kZSwgc3RhcnRNYXJrZXIub2Zmc2V0KTtcbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG5cbiAgICBpZiAoc3RhcnQgPiBlbmQpIHtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgICBzZWxlY3Rpb24uZXh0ZW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmFuZ2Uuc2V0RW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzVGV4dE5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm5vZGVUeXBlID09PSBURVhUX05PREU7XG59XG5cbmZ1bmN0aW9uIGNvbnRhaW5zTm9kZShvdXRlck5vZGUsIGlubmVyTm9kZSkge1xuICBpZiAoIW91dGVyTm9kZSB8fCAhaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKG91dGVyTm9kZSA9PT0gaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAoaXNUZXh0Tm9kZShvdXRlck5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUoaW5uZXJOb2RlKSkge1xuICAgIHJldHVybiBjb250YWluc05vZGUob3V0ZXJOb2RlLCBpbm5lck5vZGUucGFyZW50Tm9kZSk7XG4gIH0gZWxzZSBpZiAoJ2NvbnRhaW5zJyBpbiBvdXRlck5vZGUpIHtcbiAgICByZXR1cm4gb3V0ZXJOb2RlLmNvbnRhaW5zKGlubmVyTm9kZSk7XG4gIH0gZWxzZSBpZiAob3V0ZXJOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSB7XG4gICAgcmV0dXJuICEhKG91dGVyTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpbm5lck5vZGUpICYgMTYpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0luRG9jdW1lbnQobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm93bmVyRG9jdW1lbnQgJiYgY29udGFpbnNOb2RlKG5vZGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIG5vZGUpO1xufVxuXG5mdW5jdGlvbiBpc1NhbWVPcmlnaW5GcmFtZShpZnJhbWUpIHtcbiAgdHJ5IHtcbiAgICAvLyBBY2Nlc3NpbmcgdGhlIGNvbnRlbnREb2N1bWVudCBvZiBhIEhUTUxJZnJhbWVFbGVtZW50IGNhbiBjYXVzZSB0aGUgYnJvd3NlclxuICAgIC8vIHRvIHRocm93LCBlLmcuIGlmIGl0IGhhcyBhIGNyb3NzLW9yaWdpbiBzcmMgYXR0cmlidXRlLlxuICAgIC8vIFNhZmFyaSB3aWxsIHNob3cgYW4gZXJyb3IgaW4gdGhlIGNvbnNvbGUgd2hlbiB0aGUgYWNjZXNzIHJlc3VsdHMgaW4gXCJCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW5cIi4gZS5nOlxuICAgIC8vIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gICAgLy8gQSBzYWZldHkgd2F5IGlzIHRvIGFjY2VzcyBvbmUgb2YgdGhlIGNyb3NzIG9yaWdpbiBwcm9wZXJ0aWVzOiBXaW5kb3cgb3IgTG9jYXRpb25cbiAgICAvLyBXaGljaCBtaWdodCByZXN1bHQgaW4gXCJTZWN1cml0eUVycm9yXCIgRE9NIEV4Y2VwdGlvbiBhbmQgaXQgaXMgY29tcGF0aWJsZSB0byBTYWZhcmkuXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNpbnRlZ3JhdGlvbi13aXRoLWlkbFxuICAgIHJldHVybiB0eXBlb2YgaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZiA9PT0gJ3N0cmluZyc7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVFbGVtZW50RGVlcCgpIHtcbiAgdmFyIHdpbiA9IHdpbmRvdztcbiAgdmFyIGVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KCk7XG5cbiAgd2hpbGUgKGVsZW1lbnQgaW5zdGFuY2VvZiB3aW4uSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICBpZiAoaXNTYW1lT3JpZ2luRnJhbWUoZWxlbWVudCkpIHtcbiAgICAgIHdpbiA9IGVsZW1lbnQuY29udGVudFdpbmRvdztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZWxlbWVudCA9IGdldEFjdGl2ZUVsZW1lbnQod2luLmRvY3VtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxuLyoqXG4gKiBAUmVhY3RJbnB1dFNlbGVjdGlvbjogUmVhY3QgaW5wdXQgc2VsZWN0aW9uIG1vZHVsZS4gQmFzZWQgb24gU2VsZWN0aW9uLmpzLFxuICogYnV0IG1vZGlmaWVkIHRvIGJlIHN1aXRhYmxlIGZvciByZWFjdCBhbmQgaGFzIGEgY291cGxlIG9mIGJ1ZyBmaXhlcyAoZG9lc24ndFxuICogYXNzdW1lIGJ1dHRvbnMgaGF2ZSByYW5nZSBzZWxlY3Rpb25zIGFsbG93ZWQpLlxuICogSW5wdXQgc2VsZWN0aW9uIG1vZHVsZSBmb3IgUmVhY3QuXG4gKi9cblxuLyoqXG4gKiBAaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzOiB3ZSBnZXQgdGhlIGVsZW1lbnQgdHlwZXMgdGhhdCBzdXBwb3J0IHNlbGVjdGlvblxuICogZnJvbSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkby1ub3QtYXBwbHksIGxvb2tpbmcgYXQgYHNlbGVjdGlvblN0YXJ0YFxuICogYW5kIGBzZWxlY3Rpb25FbmRgIHJvd3MuXG4gKi9cblxuXG5mdW5jdGlvbiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMoZWxlbSkge1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtICYmIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgKG5vZGVOYW1lID09PSAnaW5wdXQnICYmIChlbGVtLnR5cGUgPT09ICd0ZXh0JyB8fCBlbGVtLnR5cGUgPT09ICdzZWFyY2gnIHx8IGVsZW0udHlwZSA9PT0gJ3RlbCcgfHwgZWxlbS50eXBlID09PSAndXJsJyB8fCBlbGVtLnR5cGUgPT09ICdwYXNzd29yZCcpIHx8IG5vZGVOYW1lID09PSAndGV4dGFyZWEnIHx8IGVsZW0uY29udGVudEVkaXRhYmxlID09PSAndHJ1ZScpO1xufVxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKSB7XG4gIHZhciBmb2N1c2VkRWxlbSA9IGdldEFjdGl2ZUVsZW1lbnREZWVwKCk7XG4gIHJldHVybiB7XG4gICAgZm9jdXNlZEVsZW06IGZvY3VzZWRFbGVtLFxuICAgIHNlbGVjdGlvblJhbmdlOiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMoZm9jdXNlZEVsZW0pID8gZ2V0U2VsZWN0aW9uKGZvY3VzZWRFbGVtKSA6IG51bGxcbiAgfTtcbn1cbi8qKlxuICogQHJlc3RvcmVTZWxlY3Rpb246IElmIGFueSBzZWxlY3Rpb24gaW5mb3JtYXRpb24gd2FzIHBvdGVudGlhbGx5IGxvc3QsXG4gKiByZXN0b3JlIGl0LiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHBlcmZvcm1pbmcgb3BlcmF0aW9ucyB0aGF0IGNvdWxkIHJlbW92ZSBkb21cbiAqIG5vZGVzIGFuZCBwbGFjZSB0aGVtIGJhY2sgaW4sIHJlc3VsdGluZyBpbiBmb2N1cyBiZWluZyBsb3N0LlxuICovXG5cbmZ1bmN0aW9uIHJlc3RvcmVTZWxlY3Rpb24ocHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbikge1xuICB2YXIgY3VyRm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xuICB2YXIgcHJpb3JGb2N1c2VkRWxlbSA9IHByaW9yU2VsZWN0aW9uSW5mb3JtYXRpb24uZm9jdXNlZEVsZW07XG4gIHZhciBwcmlvclNlbGVjdGlvblJhbmdlID0gcHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbi5zZWxlY3Rpb25SYW5nZTtcblxuICBpZiAoY3VyRm9jdXNlZEVsZW0gIT09IHByaW9yRm9jdXNlZEVsZW0gJiYgaXNJbkRvY3VtZW50KHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgaWYgKHByaW9yU2VsZWN0aW9uUmFuZ2UgIT09IG51bGwgJiYgaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzKHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgICBzZXRTZWxlY3Rpb24ocHJpb3JGb2N1c2VkRWxlbSwgcHJpb3JTZWxlY3Rpb25SYW5nZSk7XG4gICAgfSAvLyBGb2N1c2luZyBhIG5vZGUgY2FuIGNoYW5nZSB0aGUgc2Nyb2xsIHBvc2l0aW9uLCB3aGljaCBpcyB1bmRlc2lyYWJsZVxuXG5cbiAgICB2YXIgYW5jZXN0b3JzID0gW107XG4gICAgdmFyIGFuY2VzdG9yID0gcHJpb3JGb2N1c2VkRWxlbTtcblxuICAgIHdoaWxlIChhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudE5vZGUpIHtcbiAgICAgIGlmIChhbmNlc3Rvci5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIGFuY2VzdG9ycy5wdXNoKHtcbiAgICAgICAgICBlbGVtZW50OiBhbmNlc3RvcixcbiAgICAgICAgICBsZWZ0OiBhbmNlc3Rvci5zY3JvbGxMZWZ0LFxuICAgICAgICAgIHRvcDogYW5jZXN0b3Iuc2Nyb2xsVG9wXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5jZXN0b3JzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaW5mbyA9IGFuY2VzdG9yc1tpXTtcbiAgICAgIGluZm8uZWxlbWVudC5zY3JvbGxMZWZ0ID0gaW5mby5sZWZ0O1xuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbFRvcCA9IGluZm8udG9wO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBAZ2V0U2VsZWN0aW9uOiBHZXRzIHRoZSBzZWxlY3Rpb24gYm91bmRzIG9mIGEgZm9jdXNlZCB0ZXh0YXJlYSwgaW5wdXQgb3JcbiAqIGNvbnRlbnRFZGl0YWJsZSBub2RlLlxuICogLUBpbnB1dDogTG9vayB1cCBzZWxlY3Rpb24gYm91bmRzIG9mIHRoaXMgaW5wdXRcbiAqIC1AcmV0dXJuIHtzdGFydDogc2VsZWN0aW9uU3RhcnQsIGVuZDogc2VsZWN0aW9uRW5kfVxuICovXG5cbmZ1bmN0aW9uIGdldFNlbGVjdGlvbihpbnB1dCkge1xuICB2YXIgc2VsZWN0aW9uO1xuXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XG4gICAgLy8gTW9kZXJuIGJyb3dzZXIgd2l0aCBpbnB1dCBvciB0ZXh0YXJlYS5cbiAgICBzZWxlY3Rpb24gPSB7XG4gICAgICBzdGFydDogaW5wdXQuc2VsZWN0aW9uU3RhcnQsXG4gICAgICBlbmQ6IGlucHV0LnNlbGVjdGlvbkVuZFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gQ29udGVudCBlZGl0YWJsZSBvciBvbGQgSUUgdGV4dGFyZWEuXG4gICAgc2VsZWN0aW9uID0gZ2V0T2Zmc2V0cyhpbnB1dCk7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0aW9uIHx8IHtcbiAgICBzdGFydDogMCxcbiAgICBlbmQ6IDBcbiAgfTtcbn1cbi8qKlxuICogQHNldFNlbGVjdGlvbjogU2V0cyB0aGUgc2VsZWN0aW9uIGJvdW5kcyBvZiBhIHRleHRhcmVhIG9yIGlucHV0IGFuZCBmb2N1c2VzXG4gKiB0aGUgaW5wdXQuXG4gKiAtQGlucHV0ICAgICBTZXQgc2VsZWN0aW9uIGJvdW5kcyBvZiB0aGlzIGlucHV0IG9yIHRleHRhcmVhXG4gKiAtQG9mZnNldHMgICBPYmplY3Qgb2Ygc2FtZSBmb3JtIHRoYXQgaXMgcmV0dXJuZWQgZnJvbSBnZXQqXG4gKi9cblxuZnVuY3Rpb24gc2V0U2VsZWN0aW9uKGlucHV0LCBvZmZzZXRzKSB7XG4gIHZhciBzdGFydCA9IG9mZnNldHMuc3RhcnQ7XG4gIHZhciBlbmQgPSBvZmZzZXRzLmVuZDtcblxuICBpZiAoZW5kID09PSB1bmRlZmluZWQpIHtcbiAgICBlbmQgPSBzdGFydDtcbiAgfVxuXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XG4gICAgaW5wdXQuc2VsZWN0aW9uU3RhcnQgPSBzdGFydDtcbiAgICBpbnB1dC5zZWxlY3Rpb25FbmQgPSBNYXRoLm1pbihlbmQsIGlucHV0LnZhbHVlLmxlbmd0aCk7XG4gIH0gZWxzZSB7XG4gICAgc2V0T2Zmc2V0cyhpbnB1dCwgb2Zmc2V0cyk7XG4gIH1cbn1cblxudmFyIHNraXBTZWxlY3Rpb25DaGFuZ2VFdmVudCA9IGNhblVzZURPTSAmJiAnZG9jdW1lbnRNb2RlJyBpbiBkb2N1bWVudCAmJiBkb2N1bWVudC5kb2N1bWVudE1vZGUgPD0gMTE7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzJDMoKSB7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25TZWxlY3QnLCBbJ2ZvY3Vzb3V0JywgJ2NvbnRleHRtZW51JywgJ2RyYWdlbmQnLCAnZm9jdXNpbicsICdrZXlkb3duJywgJ2tleXVwJywgJ21vdXNlZG93bicsICdtb3VzZXVwJywgJ3NlbGVjdGlvbmNoYW5nZSddKTtcbn1cblxudmFyIGFjdGl2ZUVsZW1lbnQkMSA9IG51bGw7XG52YXIgYWN0aXZlRWxlbWVudEluc3QkMSA9IG51bGw7XG52YXIgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG52YXIgbW91c2VEb3duID0gZmFsc2U7XG4vKipcbiAqIEdldCBhbiBvYmplY3Qgd2hpY2ggaXMgYSB1bmlxdWUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLlxuICpcbiAqIFRoZSByZXR1cm4gdmFsdWUgd2lsbCBub3QgYmUgY29uc2lzdGVudCBhY3Jvc3Mgbm9kZXMgb3IgYnJvd3NlcnMsIGJ1dFxuICogdHdvIGlkZW50aWNhbCBzZWxlY3Rpb25zIG9uIHRoZSBzYW1lIG5vZGUgd2lsbCByZXR1cm4gaWRlbnRpY2FsIG9iamVjdHMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uJDEobm9kZSkge1xuICBpZiAoJ3NlbGVjdGlvblN0YXJ0JyBpbiBub2RlICYmIGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhub2RlKSkge1xuICAgIHJldHVybiB7XG4gICAgICBzdGFydDogbm9kZS5zZWxlY3Rpb25TdGFydCxcbiAgICAgIGVuZDogbm9kZS5zZWxlY3Rpb25FbmRcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHZhciB3aW4gPSBub2RlLm93bmVyRG9jdW1lbnQgJiYgbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgICB2YXIgc2VsZWN0aW9uID0gd2luLmdldFNlbGVjdGlvbigpO1xuICAgIHJldHVybiB7XG4gICAgICBhbmNob3JOb2RlOiBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldDogc2VsZWN0aW9uLmFuY2hvck9mZnNldCxcbiAgICAgIGZvY3VzTm9kZTogc2VsZWN0aW9uLmZvY3VzTm9kZSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBzZWxlY3Rpb24uZm9jdXNPZmZzZXRcbiAgICB9O1xuICB9XG59XG4vKipcbiAqIEdldCBkb2N1bWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGV2ZW50IHRhcmdldC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQoZXZlbnRUYXJnZXQpIHtcbiAgcmV0dXJuIGV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gZXZlbnRUYXJnZXQgPyBldmVudFRhcmdldC5kb2N1bWVudCA6IGV2ZW50VGFyZ2V0Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gZXZlbnRUYXJnZXQgOiBldmVudFRhcmdldC5vd25lckRvY3VtZW50O1xufVxuLyoqXG4gKiBQb2xsIHNlbGVjdGlvbiB0byBzZWUgd2hldGhlciBpdCdzIGNoYW5nZWQuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRUYXJnZXRcbiAqIEByZXR1cm4gez9TeW50aGV0aWNFdmVudH1cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xuICAvLyBFbnN1cmUgd2UgaGF2ZSB0aGUgcmlnaHQgZWxlbWVudCwgYW5kIHRoYXQgdGhlIHVzZXIgaXMgbm90IGRyYWdnaW5nIGFcbiAgLy8gc2VsZWN0aW9uICh0aGlzIG1hdGNoZXMgbmF0aXZlIGBzZWxlY3RgIGV2ZW50IGJlaGF2aW9yKS4gSW4gSFRNTDUsIHNlbGVjdFxuICAvLyBmaXJlcyBvbmx5IG9uIGlucHV0IGFuZCB0ZXh0YXJlYSB0aHVzIGlmIHRoZXJlJ3Mgbm8gZm9jdXNlZCBlbGVtZW50IHdlXG4gIC8vIHdvbid0IGRpc3BhdGNoLlxuICB2YXIgZG9jID0gZ2V0RXZlbnRUYXJnZXREb2N1bWVudChuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKG1vdXNlRG93biB8fCBhY3RpdmVFbGVtZW50JDEgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50JDEgIT09IGdldEFjdGl2ZUVsZW1lbnQoZG9jKSkge1xuICAgIHJldHVybjtcbiAgfSAvLyBPbmx5IGZpcmUgd2hlbiBzZWxlY3Rpb24gaGFzIGFjdHVhbGx5IGNoYW5nZWQuXG5cblxuICB2YXIgY3VycmVudFNlbGVjdGlvbiA9IGdldFNlbGVjdGlvbiQxKGFjdGl2ZUVsZW1lbnQkMSk7XG5cbiAgaWYgKCFsYXN0U2VsZWN0aW9uIHx8ICFzaGFsbG93RXF1YWwobGFzdFNlbGVjdGlvbiwgY3VycmVudFNlbGVjdGlvbikpIHtcbiAgICBsYXN0U2VsZWN0aW9uID0gY3VycmVudFNlbGVjdGlvbjtcbiAgICB2YXIgbGlzdGVuZXJzID0gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKGFjdGl2ZUVsZW1lbnRJbnN0JDEsICdvblNlbGVjdCcpO1xuXG4gICAgaWYgKGxpc3RlbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB2YXIgZXZlbnQgPSBuZXcgU3ludGhldGljRXZlbnQoJ29uU2VsZWN0JywgJ3NlbGVjdCcsIG51bGwsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzXG4gICAgICB9KTtcbiAgICAgIGV2ZW50LnRhcmdldCA9IGFjdGl2ZUVsZW1lbnQkMTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogVGhpcyBwbHVnaW4gY3JlYXRlcyBhbiBgb25TZWxlY3RgIGV2ZW50IHRoYXQgbm9ybWFsaXplcyBzZWxlY3QgZXZlbnRzXG4gKiBhY3Jvc3MgZm9ybSBlbGVtZW50cy5cbiAqXG4gKiBTdXBwb3J0ZWQgZWxlbWVudHMgYXJlOlxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxuICogLSB0ZXh0YXJlYVxuICogLSBjb250ZW50RWRpdGFibGVcbiAqXG4gKiBUaGlzIGRpZmZlcnMgZnJvbSBuYXRpdmUgYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMgaW4gdGhlIGZvbGxvd2luZyB3YXlzOlxuICogLSBGaXJlcyBvbiBjb250ZW50RWRpdGFibGUgZmllbGRzIGFzIHdlbGwgYXMgaW5wdXRzLlxuICogLSBGaXJlcyBmb3IgY29sbGFwc2VkIHNlbGVjdGlvbi5cbiAqIC0gRmlyZXMgYWZ0ZXIgdXNlciBpbnB1dC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMyhkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICAvLyBUcmFjayB0aGUgaW5wdXQgbm9kZSB0aGF0IGhhcyBmb2N1cy5cbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICAgIGlmIChpc1RleHRJbnB1dEVsZW1lbnQodGFyZ2V0Tm9kZSkgfHwgdGFyZ2V0Tm9kZS5jb250ZW50RWRpdGFibGUgPT09ICd0cnVlJykge1xuICAgICAgICBhY3RpdmVFbGVtZW50JDEgPSB0YXJnZXROb2RlO1xuICAgICAgICBhY3RpdmVFbGVtZW50SW5zdCQxID0gdGFyZ2V0SW5zdDtcbiAgICAgICAgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZm9jdXNvdXQnOlxuICAgICAgYWN0aXZlRWxlbWVudCQxID0gbnVsbDtcbiAgICAgIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSBudWxsO1xuICAgICAgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG4gICAgICBicmVhaztcbiAgICAvLyBEb24ndCBmaXJlIHRoZSBldmVudCB3aGlsZSB0aGUgdXNlciBpcyBkcmFnZ2luZy4gVGhpcyBtYXRjaGVzIHRoZVxuICAgIC8vIHNlbWFudGljcyBvZiB0aGUgbmF0aXZlIHNlbGVjdCBldmVudC5cblxuICAgIGNhc2UgJ21vdXNlZG93bic6XG4gICAgICBtb3VzZURvd24gPSB0cnVlO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjb250ZXh0bWVudSc6XG4gICAgY2FzZSAnbW91c2V1cCc6XG4gICAgY2FzZSAnZHJhZ2VuZCc6XG4gICAgICBtb3VzZURvd24gPSBmYWxzZTtcbiAgICAgIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgICBicmVhaztcbiAgICAvLyBDaHJvbWUgYW5kIElFIGZpcmUgbm9uLXN0YW5kYXJkIGV2ZW50IHdoZW4gc2VsZWN0aW9uIGlzIGNoYW5nZWQgKGFuZFxuICAgIC8vIHNvbWV0aW1lcyB3aGVuIGl0IGhhc24ndCkuIElFJ3MgZXZlbnQgZmlyZXMgb3V0IG9mIG9yZGVyIHdpdGggcmVzcGVjdFxuICAgIC8vIHRvIGtleSBhbmQgaW5wdXQgZXZlbnRzIG9uIGRlbGV0aW9uLCBzbyB3ZSBkaXNjYXJkIGl0LlxuICAgIC8vXG4gICAgLy8gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgc2VsZWN0aW9uY2hhbmdlLCBzbyBjaGVjayBzZWxlY3Rpb24gc3RhdHVzXG4gICAgLy8gYWZ0ZXIgZWFjaCBrZXkgZW50cnkuIFRoZSBzZWxlY3Rpb24gY2hhbmdlcyBhZnRlciBrZXlkb3duIGFuZCBiZWZvcmVcbiAgICAvLyBrZXl1cCwgYnV0IHdlIGNoZWNrIG9uIGtleWRvd24gYXMgd2VsbCBpbiB0aGUgY2FzZSBvZiBob2xkaW5nIGRvd24gYVxuICAgIC8vIGtleSwgd2hlbiBtdWx0aXBsZSBrZXlkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnV0IG9ubHkgb25lIGtleXVwIGlzLlxuICAgIC8vIFRoaXMgaXMgYWxzbyBvdXIgYXBwcm9hY2ggZm9yIElFIGhhbmRsaW5nLCBmb3IgdGhlIHJlYXNvbiBhYm92ZS5cblxuICAgIGNhc2UgJ3NlbGVjdGlvbmNoYW5nZSc6XG4gICAgICBpZiAoc2tpcFNlbGVjdGlvbkNoYW5nZUV2ZW50KSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgLy8gZmFsbHMgdGhyb3VnaFxuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgY29uc3RydWN0U2VsZWN0RXZlbnQoZGlzcGF0Y2hRdWV1ZSwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgbWFwcGluZyBvZiBzdGFuZGFyZCB2ZW5kb3IgcHJlZml4ZXMgdXNpbmcgdGhlIGRlZmluZWQgc3R5bGUgcHJvcGVydHkgYW5kIGV2ZW50IG5hbWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0eWxlUHJvcFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHJldHVybnMge29iamVjdH1cbiAqL1xuXG5mdW5jdGlvbiBtYWtlUHJlZml4TWFwKHN0eWxlUHJvcCwgZXZlbnROYW1lKSB7XG4gIHZhciBwcmVmaXhlcyA9IHt9O1xuICBwcmVmaXhlc1tzdHlsZVByb3AudG9Mb3dlckNhc2UoKV0gPSBldmVudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgcHJlZml4ZXNbJ1dlYmtpdCcgKyBzdHlsZVByb3BdID0gJ3dlYmtpdCcgKyBldmVudE5hbWU7XG4gIHByZWZpeGVzWydNb3onICsgc3R5bGVQcm9wXSA9ICdtb3onICsgZXZlbnROYW1lO1xuICByZXR1cm4gcHJlZml4ZXM7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBldmVudCBuYW1lcyB0byBhIGNvbmZpZ3VyYWJsZSBsaXN0IG9mIHZlbmRvciBwcmVmaXhlcy5cbiAqL1xuXG5cbnZhciB2ZW5kb3JQcmVmaXhlcyA9IHtcbiAgYW5pbWF0aW9uZW5kOiBtYWtlUHJlZml4TWFwKCdBbmltYXRpb24nLCAnQW5pbWF0aW9uRW5kJyksXG4gIGFuaW1hdGlvbml0ZXJhdGlvbjogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvbkl0ZXJhdGlvbicpLFxuICBhbmltYXRpb25zdGFydDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvblN0YXJ0JyksXG4gIHRyYW5zaXRpb25lbmQ6IG1ha2VQcmVmaXhNYXAoJ1RyYW5zaXRpb24nLCAnVHJhbnNpdGlvbkVuZCcpXG59O1xuLyoqXG4gKiBFdmVudCBuYW1lcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGRldGVjdGVkIGFuZCBwcmVmaXhlZCAoaWYgYXBwbGljYWJsZSkuXG4gKi9cblxudmFyIHByZWZpeGVkRXZlbnROYW1lcyA9IHt9O1xuLyoqXG4gKiBFbGVtZW50IHRvIGNoZWNrIGZvciBwcmVmaXhlcyBvbi5cbiAqL1xuXG52YXIgc3R5bGUgPSB7fTtcbi8qKlxuICogQm9vdHN0cmFwIGlmIGEgRE9NIGV4aXN0cy5cbiAqL1xuXG5pZiAoY2FuVXNlRE9NKSB7XG4gIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykuc3R5bGU7IC8vIE9uIHNvbWUgcGxhdGZvcm1zLCBpbiBwYXJ0aWN1bGFyIHNvbWUgcmVsZWFzZXMgb2YgQW5kcm9pZCA0LngsXG4gIC8vIHRoZSB1bi1wcmVmaXhlZCBcImFuaW1hdGlvblwiIGFuZCBcInRyYW5zaXRpb25cIiBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIG9uIHRoZVxuICAvLyBzdHlsZSBvYmplY3QgYnV0IHRoZSBldmVudHMgdGhhdCBmaXJlIHdpbGwgc3RpbGwgYmUgcHJlZml4ZWQsIHNvIHdlIG5lZWRcbiAgLy8gdG8gY2hlY2sgaWYgdGhlIHVuLXByZWZpeGVkIGV2ZW50cyBhcmUgdXNhYmxlLCBhbmQgaWYgbm90IHJlbW92ZSB0aGVtIGZyb20gdGhlIG1hcC5cblxuICBpZiAoISgnQW5pbWF0aW9uRXZlbnQnIGluIHdpbmRvdykpIHtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbjtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbjtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uO1xuICB9IC8vIFNhbWUgYXMgYWJvdmVcblxuXG4gIGlmICghKCdUcmFuc2l0aW9uRXZlbnQnIGluIHdpbmRvdykpIHtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMudHJhbnNpdGlvbmVuZC50cmFuc2l0aW9uO1xuICB9XG59XG4vKipcbiAqIEF0dGVtcHRzIHRvIGRldGVybWluZSB0aGUgY29ycmVjdCB2ZW5kb3IgcHJlZml4ZWQgZXZlbnQgbmFtZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoZXZlbnROYW1lKSB7XG4gIGlmIChwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSkge1xuICAgIHJldHVybiBwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXTtcbiAgfSBlbHNlIGlmICghdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXSkge1xuICAgIHJldHVybiBldmVudE5hbWU7XG4gIH1cblxuICB2YXIgcHJlZml4TWFwID0gdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXTtcblxuICBmb3IgKHZhciBzdHlsZVByb3AgaW4gcHJlZml4TWFwKSB7XG4gICAgaWYgKHByZWZpeE1hcC5oYXNPd25Qcm9wZXJ0eShzdHlsZVByb3ApICYmIHN0eWxlUHJvcCBpbiBzdHlsZSkge1xuICAgICAgcmV0dXJuIHByZWZpeGVkRXZlbnROYW1lc1tldmVudE5hbWVdID0gcHJlZml4TWFwW3N0eWxlUHJvcF07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV2ZW50TmFtZTtcbn1cblxudmFyIEFOSU1BVElPTl9FTkQgPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uZW5kJyk7XG52YXIgQU5JTUFUSU9OX0lURVJBVElPTiA9IGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCdhbmltYXRpb25pdGVyYXRpb24nKTtcbnZhciBBTklNQVRJT05fU1RBUlQgPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uc3RhcnQnKTtcbnZhciBUUkFOU0lUSU9OX0VORCA9IGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCd0cmFuc2l0aW9uZW5kJyk7XG5cbnZhciB0b3BMZXZlbEV2ZW50c1RvUmVhY3ROYW1lcyA9IG5ldyBNYXAoKTsgLy8gTk9URTogQ2FwaXRhbGl6YXRpb24gaXMgaW1wb3J0YW50IGluIHRoaXMgbGlzdCFcbi8vXG4vLyBFLmcuIGl0IG5lZWRzIFwicG9pbnRlckRvd25cIiwgbm90IFwicG9pbnRlcmRvd25cIi5cbi8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBkZXJpdmUgYm90aCBSZWFjdCBuYW1lIChcIm9uUG9pbnRlckRvd25cIilcbi8vIGFuZCBET00gbmFtZSAoXCJwb2ludGVyZG93blwiKSBmcm9tIHRoZSBzYW1lIGxpc3QuXG4vL1xuLy8gRXhjZXB0aW9ucyB0aGF0IGRvbid0IG1hdGNoIHRoaXMgY29udmVudGlvbiBhcmUgbGlzdGVkIHNlcGFyYXRlbHkuXG4vL1xuLy8gcHJldHRpZXItaWdub3JlXG5cbnZhciBzaW1wbGVFdmVudFBsdWdpbkV2ZW50cyA9IFsnYWJvcnQnLCAnYXV4Q2xpY2snLCAnY2FuY2VsJywgJ2NhblBsYXknLCAnY2FuUGxheVRocm91Z2gnLCAnY2xpY2snLCAnY2xvc2UnLCAnY29udGV4dE1lbnUnLCAnY29weScsICdjdXQnLCAnZHJhZycsICdkcmFnRW5kJywgJ2RyYWdFbnRlcicsICdkcmFnRXhpdCcsICdkcmFnTGVhdmUnLCAnZHJhZ092ZXInLCAnZHJhZ1N0YXJ0JywgJ2Ryb3AnLCAnZHVyYXRpb25DaGFuZ2UnLCAnZW1wdGllZCcsICdlbmNyeXB0ZWQnLCAnZW5kZWQnLCAnZXJyb3InLCAnZ290UG9pbnRlckNhcHR1cmUnLCAnaW5wdXQnLCAnaW52YWxpZCcsICdrZXlEb3duJywgJ2tleVByZXNzJywgJ2tleVVwJywgJ2xvYWQnLCAnbG9hZGVkRGF0YScsICdsb2FkZWRNZXRhZGF0YScsICdsb2FkU3RhcnQnLCAnbG9zdFBvaW50ZXJDYXB0dXJlJywgJ21vdXNlRG93bicsICdtb3VzZU1vdmUnLCAnbW91c2VPdXQnLCAnbW91c2VPdmVyJywgJ21vdXNlVXAnLCAncGFzdGUnLCAncGF1c2UnLCAncGxheScsICdwbGF5aW5nJywgJ3BvaW50ZXJDYW5jZWwnLCAncG9pbnRlckRvd24nLCAncG9pbnRlck1vdmUnLCAncG9pbnRlck91dCcsICdwb2ludGVyT3ZlcicsICdwb2ludGVyVXAnLCAncHJvZ3Jlc3MnLCAncmF0ZUNoYW5nZScsICdyZXNldCcsICdyZXNpemUnLCAnc2Vla2VkJywgJ3NlZWtpbmcnLCAnc3RhbGxlZCcsICdzdWJtaXQnLCAnc3VzcGVuZCcsICd0aW1lVXBkYXRlJywgJ3RvdWNoQ2FuY2VsJywgJ3RvdWNoRW5kJywgJ3RvdWNoU3RhcnQnLCAndm9sdW1lQ2hhbmdlJywgJ3Njcm9sbCcsICd0b2dnbGUnLCAndG91Y2hNb3ZlJywgJ3dhaXRpbmcnLCAnd2hlZWwnXTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJTaW1wbGVFdmVudChkb21FdmVudE5hbWUsIHJlYWN0TmFtZSkge1xuICB0b3BMZXZlbEV2ZW50c1RvUmVhY3ROYW1lcy5zZXQoZG9tRXZlbnROYW1lLCByZWFjdE5hbWUpO1xuICByZWdpc3RlclR3b1BoYXNlRXZlbnQocmVhY3ROYW1lLCBbZG9tRXZlbnROYW1lXSk7XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyU2ltcGxlRXZlbnRzKCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGV2ZW50TmFtZSA9IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRzW2ldO1xuICAgIHZhciBkb21FdmVudE5hbWUgPSBldmVudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICB2YXIgY2FwaXRhbGl6ZWRFdmVudCA9IGV2ZW50TmFtZVswXS50b1VwcGVyQ2FzZSgpICsgZXZlbnROYW1lLnNsaWNlKDEpO1xuICAgIHJlZ2lzdGVyU2ltcGxlRXZlbnQoZG9tRXZlbnROYW1lLCAnb24nICsgY2FwaXRhbGl6ZWRFdmVudCk7XG4gIH0gLy8gU3BlY2lhbCBjYXNlcyB3aGVyZSBldmVudCBuYW1lcyBkb24ndCBtYXRjaC5cblxuXG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX0VORCwgJ29uQW5pbWF0aW9uRW5kJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX0lURVJBVElPTiwgJ29uQW5pbWF0aW9uSXRlcmF0aW9uJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX1NUQVJULCAnb25BbmltYXRpb25TdGFydCcpO1xuICByZWdpc3RlclNpbXBsZUV2ZW50KCdkYmxjbGljaycsICdvbkRvdWJsZUNsaWNrJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoJ2ZvY3VzaW4nLCAnb25Gb2N1cycpO1xuICByZWdpc3RlclNpbXBsZUV2ZW50KCdmb2N1c291dCcsICdvbkJsdXInKTtcbiAgcmVnaXN0ZXJTaW1wbGVFdmVudChUUkFOU0lUSU9OX0VORCwgJ29uVHJhbnNpdGlvbkVuZCcpO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRzJDQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgcmVhY3ROYW1lID0gdG9wTGV2ZWxFdmVudHNUb1JlYWN0TmFtZXMuZ2V0KGRvbUV2ZW50TmFtZSk7XG5cbiAgaWYgKHJlYWN0TmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY0V2ZW50O1xuICB2YXIgcmVhY3RFdmVudFR5cGUgPSBkb21FdmVudE5hbWU7XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdrZXlwcmVzcyc6XG4gICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBrZXlwcmVzcyBldmVudCBmb3IgZnVuY3Rpb24ga2V5cyB0b28uIFRoaXMgcmVtb3Zlc1xuICAgICAgLy8gdGhlIHVud2FudGVkIGtleXByZXNzIGV2ZW50cy4gRW50ZXIgaXMgaG93ZXZlciBib3RoIHByaW50YWJsZSBhbmRcbiAgICAgIC8vIG5vbi1wcmludGFibGUuIE9uZSB3b3VsZCBleHBlY3QgVGFiIHRvIGJlIGFzIHdlbGwgKGJ1dCBpdCBpc24ndCkuXG4gICAgICBpZiAoZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCkgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljS2V5Ym9hcmRFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZm9jdXNpbic6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdmb2N1cyc7XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdibHVyJztcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY0ZvY3VzRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2JlZm9yZWJsdXInOlxuICAgIGNhc2UgJ2FmdGVyYmx1cic6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjbGljayc6XG4gICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBjbGljayBldmVudCBvbiByaWdodCBtb3VzZSBjbGlja3MuIFRoaXMgcmVtb3ZlcyB0aGVcbiAgICAgIC8vIHVud2FudGVkIGNsaWNrIGV2ZW50cy5cbiAgICAgIGlmIChuYXRpdmVFdmVudC5idXR0b24gPT09IDIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2V1cCc6IC8vIFRPRE86IERpc2FibGVkIGVsZW1lbnRzIHNob3VsZCBub3QgcmVzcG9uZCB0byBtb3VzZSBldmVudHNcblxuICAgIC8qIGZhbGxzIHRocm91Z2ggKi9cblxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ2NvbnRleHRtZW51JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbmQnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ2RyYWdzdGFydCc6XG4gICAgY2FzZSAnZHJvcCc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNEcmFnRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd0b3VjaHN0YXJ0JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RvdWNoRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQU5JTUFUSU9OX0VORDpcbiAgICBjYXNlIEFOSU1BVElPTl9JVEVSQVRJT046XG4gICAgY2FzZSBBTklNQVRJT05fU1RBUlQ6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNBbmltYXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUUkFOU0lUSU9OX0VORDpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2Nyb2xsJzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1VJRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3doZWVsJzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1doZWVsRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2NvcHknOlxuICAgIGNhc2UgJ2N1dCc6XG4gICAgY2FzZSAncGFzdGUnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljQ2xpcGJvYXJkRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2dvdHBvaW50ZXJjYXB0dXJlJzpcbiAgICBjYXNlICdsb3N0cG9pbnRlcmNhcHR1cmUnOlxuICAgIGNhc2UgJ3BvaW50ZXJjYW5jZWwnOlxuICAgIGNhc2UgJ3BvaW50ZXJkb3duJzpcbiAgICBjYXNlICdwb2ludGVybW92ZSc6XG4gICAgY2FzZSAncG9pbnRlcm91dCc6XG4gICAgY2FzZSAncG9pbnRlcm92ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJ1cCc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNQb2ludGVyRXZlbnQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBpbkNhcHR1cmVQaGFzZSA9IChldmVudFN5c3RlbUZsYWdzICYgSVNfQ0FQVFVSRV9QSEFTRSkgIT09IDA7XG5cbiAge1xuICAgIC8vIFNvbWUgZXZlbnRzIGRvbid0IGJ1YmJsZSBpbiB0aGUgYnJvd3Nlci5cbiAgICAvLyBJbiB0aGUgcGFzdCwgUmVhY3QgaGFzIGFsd2F5cyBidWJibGVkIHRoZW0sIGJ1dCB0aGlzIGNhbiBiZSBzdXJwcmlzaW5nLlxuICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHRyeSBhbGlnbmluZyBjbG9zZXIgdG8gdGhlIGJyb3dzZXIgYmVoYXZpb3IgYnkgbm90IGJ1YmJsaW5nXG4gICAgLy8gdGhlbSBpbiBSZWFjdCBlaXRoZXIuIFdlJ2xsIHN0YXJ0IGJ5IG5vdCBidWJibGluZyBvblNjcm9sbCwgYW5kIHRoZW4gZXhwYW5kLlxuICAgIHZhciBhY2N1bXVsYXRlVGFyZ2V0T25seSA9ICFpbkNhcHR1cmVQaGFzZSAmJiAvLyBUT0RPOiBpZGVhbGx5LCB3ZSdkIGV2ZW50dWFsbHkgYWRkIGFsbCBldmVudHMgZnJvbVxuICAgIC8vIG5vbkRlbGVnYXRlZEV2ZW50cyBsaXN0IGluIERPTVBsdWdpbkV2ZW50U3lzdGVtLlxuICAgIC8vIFRoZW4gd2UgY2FuIHJlbW92ZSB0aGlzIHNwZWNpYWwgbGlzdC5cbiAgICAvLyBUaGlzIGlzIGEgYnJlYWtpbmcgY2hhbmdlIHRoYXQgY2FuIHdhaXQgdW50aWwgUmVhY3QgMTguXG4gICAgZG9tRXZlbnROYW1lID09PSAnc2Nyb2xsJztcblxuICAgIHZhciBfbGlzdGVuZXJzID0gYWNjdW11bGF0ZVNpbmdsZVBoYXNlTGlzdGVuZXJzKHRhcmdldEluc3QsIHJlYWN0TmFtZSwgbmF0aXZlRXZlbnQudHlwZSwgaW5DYXB0dXJlUGhhc2UsIGFjY3VtdWxhdGVUYXJnZXRPbmx5KTtcblxuICAgIGlmIChfbGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgY3JlYXRlIGV2ZW50IGxhemlseS5cbiAgICAgIHZhciBfZXZlbnQgPSBuZXcgU3ludGhldGljRXZlbnRDdG9yKHJlYWN0TmFtZSwgcmVhY3RFdmVudFR5cGUsIG51bGwsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICAgIGV2ZW50OiBfZXZlbnQsXG4gICAgICAgIGxpc3RlbmVyczogX2xpc3RlbmVyc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRPRE86IHJlbW92ZSB0b3AtbGV2ZWwgc2lkZSBlZmZlY3QuXG5yZWdpc3RlclNpbXBsZUV2ZW50cygpO1xucmVnaXN0ZXJFdmVudHMkMigpO1xucmVnaXN0ZXJFdmVudHMkMSgpO1xucmVnaXN0ZXJFdmVudHMkMygpO1xucmVnaXN0ZXJFdmVudHMoKTtcblxuZnVuY3Rpb24gZXh0cmFjdEV2ZW50cyQ1KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpIHtcbiAgLy8gVE9ETzogd2Ugc2hvdWxkIHJlbW92ZSB0aGUgY29uY2VwdCBvZiBhIFwiU2ltcGxlRXZlbnRQbHVnaW5cIi5cbiAgLy8gVGhpcyBpcyB0aGUgYmFzaWMgZnVuY3Rpb25hbGl0eSBvZiB0aGUgZXZlbnQgc3lzdGVtLiBBbGxcbiAgLy8gdGhlIG90aGVyIHBsdWdpbnMgYXJlIGVzc2VudGlhbGx5IHBvbHlmaWxscy4gU28gdGhlIHBsdWdpblxuICAvLyBzaG91bGQgcHJvYmFibHkgYmUgaW5saW5lZCBzb21ld2hlcmUgYW5kIGhhdmUgaXRzIGxvZ2ljXG4gIC8vIGJlIGNvcmUgdGhlIHRvIGV2ZW50IHN5c3RlbS4gVGhpcyB3b3VsZCBwb3RlbnRpYWxseSBhbGxvd1xuICAvLyB1cyB0byBzaGlwIGJ1aWxkcyBvZiBSZWFjdCB3aXRob3V0IHRoZSBwb2x5ZmlsbGVkIHBsdWdpbnMgYmVsb3cuXG4gIGV4dHJhY3RFdmVudHMkNChkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XG4gIHZhciBzaG91bGRQcm9jZXNzUG9seWZpbGxQbHVnaW5zID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBTSE9VTERfTk9UX1BST0NFU1NfUE9MWUZJTExfRVZFTlRfUExVR0lOUykgPT09IDA7IC8vIFdlIGRvbid0IHByb2Nlc3MgdGhlc2UgZXZlbnRzIHVubGVzcyB3ZSBhcmUgaW4gdGhlXG4gIC8vIGV2ZW50J3MgbmF0aXZlIFwiYnViYmxlXCIgcGhhc2UsIHdoaWNoIG1lYW5zIHRoYXQgd2UncmVcbiAgLy8gbm90IGluIHRoZSBjYXB0dXJlIHBoYXNlLiBUaGF0J3MgYmVjYXVzZSB3ZSBlbXVsYXRlXG4gIC8vIHRoZSBjYXB0dXJlIHBoYXNlIGhlcmUgc3RpbGwuIFRoaXMgaXMgYSB0cmFkZS1vZmYsXG4gIC8vIGJlY2F1c2UgaW4gYW4gaWRlYWwgd29ybGQgd2Ugd291bGQgbm90IGVtdWxhdGUgYW5kIHVzZVxuICAvLyB0aGUgcGhhc2VzIHByb3Blcmx5LCBsaWtlIHdlIGRvIHdpdGggdGhlIFNpbXBsZUV2ZW50XG4gIC8vIHBsdWdpbi4gSG93ZXZlciwgdGhlIHBsdWdpbnMgYmVsb3cgZWl0aGVyIGV4cGVjdFxuICAvLyBlbXVsYXRpb24gKEVudGVyTGVhdmUpIG9yIHVzZSBzdGF0ZSBsb2NhbGl6ZWQgdG8gdGhhdFxuICAvLyBwbHVnaW4gKEJlZm9yZUlucHV0LCBDaGFuZ2UsIFNlbGVjdCkuIFRoZSBzdGF0ZSBpblxuICAvLyB0aGVzZSBtb2R1bGVzIGNvbXBsaWNhdGVzIHRoaW5ncywgYXMgeW91J2xsIGVzc2VudGlhbGx5XG4gIC8vIGdldCB0aGUgY2FzZSB3aGVyZSB0aGUgY2FwdHVyZSBwaGFzZSBldmVudCBtaWdodCBjaGFuZ2VcbiAgLy8gc3RhdGUsIG9ubHkgZm9yIHRoZSBmb2xsb3dpbmcgYnViYmxlIGV2ZW50IHRvIGNvbWUgaW5cbiAgLy8gbGF0ZXIgYW5kIG5vdCB0cmlnZ2VyIGFueXRoaW5nIGFzIHRoZSBzdGF0ZSBub3dcbiAgLy8gaW52YWxpZGF0ZXMgdGhlIGhldXJpc3RpY3Mgb2YgdGhlIGV2ZW50IHBsdWdpbi4gV2VcbiAgLy8gY291bGQgYWx0ZXIgYWxsIHRoZXNlIHBsdWdpbnMgdG8gd29yayBpbiBzdWNoIHdheXMsIGJ1dFxuICAvLyB0aGF0IG1pZ2h0IGNhdXNlIG90aGVyIHVua25vd24gc2lkZS1lZmZlY3RzIHRoYXQgd2VcbiAgLy8gY2FuJ3QgZm9yZXNlZSByaWdodCBub3cuXG5cbiAgaWYgKHNob3VsZFByb2Nlc3NQb2x5ZmlsbFBsdWdpbnMpIHtcbiAgICBleHRyYWN0RXZlbnRzJDIoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGV4dHJhY3RFdmVudHMkMShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZXh0cmFjdEV2ZW50cyQzKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBleHRyYWN0RXZlbnRzKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgfVxufSAvLyBMaXN0IG9mIGV2ZW50cyB0aGF0IG5lZWQgdG8gYmUgaW5kaXZpZHVhbGx5IGF0dGFjaGVkIHRvIG1lZGlhIGVsZW1lbnRzLlxuXG5cbnZhciBtZWRpYUV2ZW50VHlwZXMgPSBbJ2Fib3J0JywgJ2NhbnBsYXknLCAnY2FucGxheXRocm91Z2gnLCAnZHVyYXRpb25jaGFuZ2UnLCAnZW1wdGllZCcsICdlbmNyeXB0ZWQnLCAnZW5kZWQnLCAnZXJyb3InLCAnbG9hZGVkZGF0YScsICdsb2FkZWRtZXRhZGF0YScsICdsb2Fkc3RhcnQnLCAncGF1c2UnLCAncGxheScsICdwbGF5aW5nJywgJ3Byb2dyZXNzJywgJ3JhdGVjaGFuZ2UnLCAncmVzaXplJywgJ3NlZWtlZCcsICdzZWVraW5nJywgJ3N0YWxsZWQnLCAnc3VzcGVuZCcsICd0aW1ldXBkYXRlJywgJ3ZvbHVtZWNoYW5nZScsICd3YWl0aW5nJ107IC8vIFdlIHNob3VsZCBub3QgZGVsZWdhdGUgdGhlc2UgZXZlbnRzIHRvIHRoZSBjb250YWluZXIsIGJ1dCByYXRoZXJcbi8vIHNldCB0aGVtIG9uIHRoZSBhY3R1YWwgdGFyZ2V0IGVsZW1lbnQgaXRzZWxmLiBUaGlzIGlzIHByaW1hcmlseVxuLy8gYmVjYXVzZSB0aGVzZSBldmVudHMgZG8gbm90IGNvbnNpc3RlbnRseSBidWJibGUgaW4gdGhlIERPTS5cblxudmFyIG5vbkRlbGVnYXRlZEV2ZW50cyA9IG5ldyBTZXQoWydjYW5jZWwnLCAnY2xvc2UnLCAnaW52YWxpZCcsICdsb2FkJywgJ3Njcm9sbCcsICd0b2dnbGUnXS5jb25jYXQobWVkaWFFdmVudFR5cGVzKSk7XG5cbmZ1bmN0aW9uIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpIHtcbiAgdmFyIHR5cGUgPSBldmVudC50eXBlIHx8ICd1bmtub3duLWV2ZW50JztcbiAgZXZlbnQuY3VycmVudFRhcmdldCA9IGN1cnJlbnRUYXJnZXQ7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0FuZENhdGNoRmlyc3RFcnJvcih0eXBlLCBsaXN0ZW5lciwgdW5kZWZpbmVkLCBldmVudCk7XG4gIGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzRGlzcGF0Y2hRdWV1ZUl0ZW1zSW5PcmRlcihldmVudCwgZGlzcGF0Y2hMaXN0ZW5lcnMsIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciBwcmV2aW91c0luc3RhbmNlO1xuXG4gIGlmIChpbkNhcHR1cmVQaGFzZSkge1xuICAgIGZvciAodmFyIGkgPSBkaXNwYXRjaExpc3RlbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdmFyIF9kaXNwYXRjaExpc3RlbmVycyRpID0gZGlzcGF0Y2hMaXN0ZW5lcnNbaV0sXG4gICAgICAgICAgaW5zdGFuY2UgPSBfZGlzcGF0Y2hMaXN0ZW5lcnMkaS5pbnN0YW5jZSxcbiAgICAgICAgICBjdXJyZW50VGFyZ2V0ID0gX2Rpc3BhdGNoTGlzdGVuZXJzJGkuY3VycmVudFRhcmdldCxcbiAgICAgICAgICBsaXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRpLmxpc3RlbmVyO1xuXG4gICAgICBpZiAoaW5zdGFuY2UgIT09IHByZXZpb3VzSW5zdGFuY2UgJiYgZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpO1xuICAgICAgcHJldmlvdXNJbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgZGlzcGF0Y2hMaXN0ZW5lcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2Rpc3BhdGNoTGlzdGVuZXJzJF9pID0gZGlzcGF0Y2hMaXN0ZW5lcnNbX2ldLFxuICAgICAgICAgIF9pbnN0YW5jZSA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5pbnN0YW5jZSxcbiAgICAgICAgICBfY3VycmVudFRhcmdldCA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5jdXJyZW50VGFyZ2V0LFxuICAgICAgICAgIF9saXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5saXN0ZW5lcjtcblxuICAgICAgaWYgKF9pbnN0YW5jZSAhPT0gcHJldmlvdXNJbnN0YW5jZSAmJiBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBfbGlzdGVuZXIsIF9jdXJyZW50VGFyZ2V0KTtcbiAgICAgIHByZXZpb3VzSW5zdGFuY2UgPSBfaW5zdGFuY2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGluQ2FwdHVyZVBoYXNlID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19DQVBUVVJFX1BIQVNFKSAhPT0gMDtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRpc3BhdGNoUXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgX2Rpc3BhdGNoUXVldWUkaSA9IGRpc3BhdGNoUXVldWVbaV0sXG4gICAgICAgIGV2ZW50ID0gX2Rpc3BhdGNoUXVldWUkaS5ldmVudCxcbiAgICAgICAgbGlzdGVuZXJzID0gX2Rpc3BhdGNoUXVldWUkaS5saXN0ZW5lcnM7XG4gICAgcHJvY2Vzc0Rpc3BhdGNoUXVldWVJdGVtc0luT3JkZXIoZXZlbnQsIGxpc3RlbmVycywgaW5DYXB0dXJlUGhhc2UpOyAvLyAgZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gIH0gLy8gVGhpcyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byByZXRocm93IGlmIGFueSBvZiB0aGUgZXZlbnQgaGFuZGxlcnMgdGhyZXcuXG5cblxuICByZXRocm93Q2F1Z2h0RXJyb3IoKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudHNGb3JQbHVnaW5zKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHRhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgbmF0aXZlRXZlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCk7XG4gIHZhciBkaXNwYXRjaFF1ZXVlID0gW107XG4gIGV4dHJhY3RFdmVudHMkNShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XG4gIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIGV2ZW50U3lzdGVtRmxhZ3MpO1xufVxuXG5mdW5jdGlvbiBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KGRvbUV2ZW50TmFtZSwgdGFyZ2V0RWxlbWVudCkge1xuICB7XG4gICAgaWYgKCFub25EZWxlZ2F0ZWRFdmVudHMuaGFzKGRvbUV2ZW50TmFtZSkpIHtcbiAgICAgIGVycm9yKCdEaWQgbm90IGV4cGVjdCBhIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoKSBjYWxsIGZvciBcIiVzXCIuICcgKyAnVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZG9tRXZlbnROYW1lKTtcbiAgICB9XG4gIH1cblxuICB2YXIgaXNDYXB0dXJlUGhhc2VMaXN0ZW5lciA9IGZhbHNlO1xuICB2YXIgbGlzdGVuZXJTZXQgPSBnZXRFdmVudExpc3RlbmVyU2V0KHRhcmdldEVsZW1lbnQpO1xuICB2YXIgbGlzdGVuZXJTZXRLZXkgPSBnZXRMaXN0ZW5lclNldEtleShkb21FdmVudE5hbWUsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpO1xuXG4gIGlmICghbGlzdGVuZXJTZXQuaGFzKGxpc3RlbmVyU2V0S2V5KSkge1xuICAgIGFkZFRyYXBwZWRFdmVudExpc3RlbmVyKHRhcmdldEVsZW1lbnQsIGRvbUV2ZW50TmFtZSwgSVNfTk9OX0RFTEVHQVRFRCwgaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcik7XG4gICAgbGlzdGVuZXJTZXQuYWRkKGxpc3RlbmVyU2V0S2V5KTtcbiAgfVxufVxuZnVuY3Rpb24gbGlzdGVuVG9OYXRpdmVFdmVudChkb21FdmVudE5hbWUsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIsIHRhcmdldCkge1xuICB7XG4gICAgaWYgKG5vbkRlbGVnYXRlZEV2ZW50cy5oYXMoZG9tRXZlbnROYW1lKSAmJiAhaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IGEgbGlzdGVuVG9OYXRpdmVFdmVudCgpIGNhbGwgZm9yIFwiJXNcIiBpbiB0aGUgYnViYmxlIHBoYXNlLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGRvbUV2ZW50TmFtZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGV2ZW50U3lzdGVtRmxhZ3MgPSAwO1xuXG4gIGlmIChpc0NhcHR1cmVQaGFzZUxpc3RlbmVyKSB7XG4gICAgZXZlbnRTeXN0ZW1GbGFncyB8PSBJU19DQVBUVVJFX1BIQVNFO1xuICB9XG5cbiAgYWRkVHJhcHBlZEV2ZW50TGlzdGVuZXIodGFyZ2V0LCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpO1xufSAvLyBUaGlzIGlzIG9ubHkgdXNlZCBieSBjcmVhdGVFdmVudEhhbmRsZSB3aGVuIHRoZVxudmFyIGxpc3RlbmluZ01hcmtlciA9ICdfcmVhY3RMaXN0ZW5pbmcnICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMik7XG5mdW5jdGlvbiBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhyb290Q29udGFpbmVyRWxlbWVudCkge1xuICBpZiAoIXJvb3RDb250YWluZXJFbGVtZW50W2xpc3RlbmluZ01hcmtlcl0pIHtcbiAgICByb290Q29udGFpbmVyRWxlbWVudFtsaXN0ZW5pbmdNYXJrZXJdID0gdHJ1ZTtcbiAgICBhbGxOYXRpdmVFdmVudHMuZm9yRWFjaChmdW5jdGlvbiAoZG9tRXZlbnROYW1lKSB7XG4gICAgICAvLyBXZSBoYW5kbGUgc2VsZWN0aW9uY2hhbmdlIHNlcGFyYXRlbHkgYmVjYXVzZSBpdFxuICAgICAgLy8gZG9lc24ndCBidWJibGUgYW5kIG5lZWRzIHRvIGJlIG9uIHRoZSBkb2N1bWVudC5cbiAgICAgIGlmIChkb21FdmVudE5hbWUgIT09ICdzZWxlY3Rpb25jaGFuZ2UnKSB7XG4gICAgICAgIGlmICghbm9uRGVsZWdhdGVkRXZlbnRzLmhhcyhkb21FdmVudE5hbWUpKSB7XG4gICAgICAgICAgbGlzdGVuVG9OYXRpdmVFdmVudChkb21FdmVudE5hbWUsIGZhbHNlLCByb290Q29udGFpbmVyRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBsaXN0ZW5Ub05hdGl2ZUV2ZW50KGRvbUV2ZW50TmFtZSwgdHJ1ZSwgcm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyByb290Q29udGFpbmVyRWxlbWVudCA6IHJvb3RDb250YWluZXJFbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG5cbiAgICBpZiAob3duZXJEb2N1bWVudCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhlIHNlbGVjdGlvbmNoYW5nZSBldmVudCBhbHNvIG5lZWRzIGRlZHVwbGljYXRpb25cbiAgICAgIC8vIGJ1dCBpdCBpcyBhdHRhY2hlZCB0byB0aGUgZG9jdW1lbnQuXG4gICAgICBpZiAoIW93bmVyRG9jdW1lbnRbbGlzdGVuaW5nTWFya2VyXSkge1xuICAgICAgICBvd25lckRvY3VtZW50W2xpc3RlbmluZ01hcmtlcl0gPSB0cnVlO1xuICAgICAgICBsaXN0ZW5Ub05hdGl2ZUV2ZW50KCdzZWxlY3Rpb25jaGFuZ2UnLCBmYWxzZSwgb3duZXJEb2N1bWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZFRyYXBwZWRFdmVudExpc3RlbmVyKHRhcmdldENvbnRhaW5lciwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBpc0NhcHR1cmVQaGFzZUxpc3RlbmVyLCBpc0RlZmVycmVkTGlzdGVuZXJGb3JMZWdhY3lGQlN1cHBvcnQpIHtcbiAgdmFyIGxpc3RlbmVyID0gY3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXJXaXRoUHJpb3JpdHkodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MpOyAvLyBJZiBwYXNzaXZlIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLCB0aGVuIHRoZSBldmVudCB3aWxsIGJlXG4gIC8vIGFjdGl2ZSBhbmQgbm90IHBhc3NpdmUuXG5cbiAgdmFyIGlzUGFzc2l2ZUxpc3RlbmVyID0gdW5kZWZpbmVkO1xuXG4gIGlmIChwYXNzaXZlQnJvd3NlckV2ZW50c1N1cHBvcnRlZCkge1xuICAgIC8vIEJyb3dzZXJzIGludHJvZHVjZWQgYW4gaW50ZXJ2ZW50aW9uLCBtYWtpbmcgdGhlc2UgZXZlbnRzXG4gICAgLy8gcGFzc2l2ZSBieSBkZWZhdWx0IG9uIGRvY3VtZW50LiBSZWFjdCBkb2Vzbid0IGJpbmQgdGhlbVxuICAgIC8vIHRvIGRvY3VtZW50IGFueW1vcmUsIGJ1dCBjaGFuZ2luZyB0aGlzIG5vdyB3b3VsZCB1bmRvXG4gICAgLy8gdGhlIHBlcmZvcm1hbmNlIHdpbnMgZnJvbSB0aGUgY2hhbmdlLiBTbyB3ZSBlbXVsYXRlXG4gICAgLy8gdGhlIGV4aXN0aW5nIGJlaGF2aW9yIG1hbnVhbGx5IG9uIHRoZSByb290cyBub3cuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTY1MVxuICAgIGlmIChkb21FdmVudE5hbWUgPT09ICd0b3VjaHN0YXJ0JyB8fCBkb21FdmVudE5hbWUgPT09ICd0b3VjaG1vdmUnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3doZWVsJykge1xuICAgICAgaXNQYXNzaXZlTGlzdGVuZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRhcmdldENvbnRhaW5lciA9ICB0YXJnZXRDb250YWluZXI7XG4gIHZhciB1bnN1YnNjcmliZUxpc3RlbmVyOyAvLyBXaGVuIGxlZ2FjeUZCU3VwcG9ydCBpcyBlbmFibGVkLCBpdCdzIGZvciB3aGVuIHdlXG5cblxuICBpZiAoaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgIGlmIChpc1Bhc3NpdmVMaXN0ZW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB1bnN1YnNjcmliZUxpc3RlbmVyID0gYWRkRXZlbnRDYXB0dXJlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyLCBpc1Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuc3Vic2NyaWJlTGlzdGVuZXIgPSBhZGRFdmVudENhcHR1cmVMaXN0ZW5lcih0YXJnZXRDb250YWluZXIsIGRvbUV2ZW50TmFtZSwgbGlzdGVuZXIpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNQYXNzaXZlTGlzdGVuZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdW5zdWJzY3JpYmVMaXN0ZW5lciA9IGFkZEV2ZW50QnViYmxlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyLCBpc1Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuc3Vic2NyaWJlTGlzdGVuZXIgPSBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyKHRhcmdldENvbnRhaW5lciwgZG9tRXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzTWF0Y2hpbmdSb290Q29udGFpbmVyKGdyYW5kQ29udGFpbmVyLCB0YXJnZXRDb250YWluZXIpIHtcbiAgcmV0dXJuIGdyYW5kQ29udGFpbmVyID09PSB0YXJnZXRDb250YWluZXIgfHwgZ3JhbmRDb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBncmFuZENvbnRhaW5lci5wYXJlbnROb2RlID09PSB0YXJnZXRDb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCB0YXJnZXRDb250YWluZXIpIHtcbiAgdmFyIGFuY2VzdG9ySW5zdCA9IHRhcmdldEluc3Q7XG5cbiAgaWYgKChldmVudFN5c3RlbUZsYWdzICYgSVNfRVZFTlRfSEFORExFX05PTl9NQU5BR0VEX05PREUpID09PSAwICYmIChldmVudFN5c3RlbUZsYWdzICYgSVNfTk9OX0RFTEVHQVRFRCkgPT09IDApIHtcbiAgICB2YXIgdGFyZ2V0Q29udGFpbmVyTm9kZSA9IHRhcmdldENvbnRhaW5lcjsgLy8gSWYgd2UgYXJlIHVzaW5nIHRoZSBsZWdhY3kgRkIgc3VwcG9ydCBmbGFnLCB3ZVxuXG4gICAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoZSBiZWxvdyBsb2dpYyBhdHRlbXB0cyB0byB3b3JrIG91dCBpZiB3ZSBuZWVkIHRvIGNoYW5nZVxuICAgICAgLy8gdGhlIHRhcmdldCBmaWJlciB0byBhIGRpZmZlcmVudCBhbmNlc3Rvci4gV2UgaGFkIHNpbWlsYXIgbG9naWNcbiAgICAgIC8vIGluIHRoZSBsZWdhY3kgZXZlbnQgc3lzdGVtLCBleGNlcHQgdGhlIGJpZyBkaWZmZXJlbmNlIGJldHdlZW5cbiAgICAgIC8vIHN5c3RlbXMgaXMgdGhhdCB0aGUgbW9kZXJuIGV2ZW50IHN5c3RlbSBub3cgaGFzIGFuIGV2ZW50IGxpc3RlbmVyXG4gICAgICAvLyBhdHRhY2hlZCB0byBlYWNoIFJlYWN0IFJvb3QgYW5kIFJlYWN0IFBvcnRhbCBSb290LiBUb2dldGhlcixcbiAgICAgIC8vIHRoZSBET00gbm9kZXMgcmVwcmVzZW50aW5nIHRoZXNlIHJvb3RzIGFyZSB0aGUgXCJyb290Q29udGFpbmVyXCIuXG4gICAgICAvLyBUbyBmaWd1cmUgb3V0IHdoaWNoIGFuY2VzdG9yIGluc3RhbmNlIHdlIHNob3VsZCB1c2UsIHdlIHRyYXZlcnNlXG4gICAgICAvLyB1cCB0aGUgZmliZXIgdHJlZSBmcm9tIHRoZSB0YXJnZXQgaW5zdGFuY2UgYW5kIGF0dGVtcHQgdG8gZmluZFxuICAgICAgLy8gcm9vdCBib3VuZGFyaWVzIHRoYXQgbWF0Y2ggdGhhdCBvZiBvdXIgY3VycmVudCBcInJvb3RDb250YWluZXJcIi5cbiAgICAgIC8vIElmIHdlIGZpbmQgdGhhdCBcInJvb3RDb250YWluZXJcIiwgd2UgZmluZCB0aGUgcGFyZW50IGZpYmVyXG4gICAgICAvLyBzdWItdHJlZSBmb3IgdGhhdCByb290IGFuZCBtYWtlIHRoYXQgb3VyIGFuY2VzdG9yIGluc3RhbmNlLlxuICAgICAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0O1xuXG4gICAgICBtYWluTG9vcDogd2hpbGUgKHRydWUpIHtcbiAgICAgICAgaWYgKG5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbm9kZVRhZyA9IG5vZGUudGFnO1xuXG4gICAgICAgIGlmIChub2RlVGFnID09PSBIb3N0Um9vdCB8fCBub2RlVGFnID09PSBIb3N0UG9ydGFsKSB7XG4gICAgICAgICAgdmFyIGNvbnRhaW5lciA9IG5vZGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG5cbiAgICAgICAgICBpZiAoaXNNYXRjaGluZ1Jvb3RDb250YWluZXIoY29udGFpbmVyLCB0YXJnZXRDb250YWluZXJOb2RlKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5vZGVUYWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgICAgIC8vIFRoZSB0YXJnZXQgaXMgYSBwb3J0YWwsIGJ1dCBpdCdzIG5vdCB0aGUgcm9vdENvbnRhaW5lciB3ZSdyZSBsb29raW5nIGZvci5cbiAgICAgICAgICAgIC8vIE5vcm1hbGx5IHBvcnRhbHMgaGFuZGxlIHRoZWlyIG93biBldmVudHMgYWxsIHRoZSB3YXkgZG93biB0byB0aGUgcm9vdC5cbiAgICAgICAgICAgIC8vIFNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIHN0b3Agbm93LiBIb3dldmVyLCB3ZSBkb24ndCBrbm93IGlmIHRoaXMgcG9ydGFsXG4gICAgICAgICAgICAvLyB3YXMgcGFydCBvZiAqb3VyKiByb290LlxuICAgICAgICAgICAgdmFyIGdyYW5kTm9kZSA9IG5vZGUucmV0dXJuO1xuXG4gICAgICAgICAgICB3aGlsZSAoZ3JhbmROb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBncmFuZFRhZyA9IGdyYW5kTm9kZS50YWc7XG5cbiAgICAgICAgICAgICAgaWYgKGdyYW5kVGFnID09PSBIb3N0Um9vdCB8fCBncmFuZFRhZyA9PT0gSG9zdFBvcnRhbCkge1xuICAgICAgICAgICAgICAgIHZhciBncmFuZENvbnRhaW5lciA9IGdyYW5kTm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcblxuICAgICAgICAgICAgICAgIGlmIChpc01hdGNoaW5nUm9vdENvbnRhaW5lcihncmFuZENvbnRhaW5lciwgdGFyZ2V0Q29udGFpbmVyTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHJvb3RDb250YWluZXIgd2UncmUgbG9va2luZyBmb3IgYW5kIHdlIGZvdW5kIGl0IGFzXG4gICAgICAgICAgICAgICAgICAvLyBhIHBhcmVudCBvZiB0aGUgUG9ydGFsLiBUaGF0IG1lYW5zIHdlIGNhbiBpZ25vcmUgaXQgYmVjYXVzZSB0aGVcbiAgICAgICAgICAgICAgICAgIC8vIFBvcnRhbCB3aWxsIGJ1YmJsZSB0aHJvdWdoIHRvIHVzLlxuICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGdyYW5kTm9kZSA9IGdyYW5kTm9kZS5yZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBOb3cgd2UgbmVlZCB0byBmaW5kIGl0J3MgY29ycmVzcG9uZGluZyBob3N0IGZpYmVyIGluIHRoZSBvdGhlclxuICAgICAgICAgIC8vIHRyZWUuIFRvIGRvIHRoaXMgd2UgY2FuIHVzZSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSwgYnV0IHdlXG4gICAgICAgICAgLy8gbmVlZCB0byB2YWxpZGF0ZSB0aGF0IHRoZSBmaWJlciBpcyBhIGhvc3QgaW5zdGFuY2UsIG90aGVyd2lzZVxuICAgICAgICAgIC8vIHdlIG5lZWQgdG8gdHJhdmVyc2UgdXAgdGhyb3VnaCB0aGUgRE9NIHRpbGwgd2UgZmluZCB0aGUgY29ycmVjdFxuICAgICAgICAgIC8vIG5vZGUgdGhhdCBpcyBmcm9tIHRoZSBvdGhlciB0cmVlLlxuXG5cbiAgICAgICAgICB3aGlsZSAoY29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgcGFyZW50Tm9kZSA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKGNvbnRhaW5lcik7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHBhcmVudFRhZyA9IHBhcmVudE5vZGUudGFnO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50VGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHBhcmVudFRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgICAgICAgICAgbm9kZSA9IGFuY2VzdG9ySW5zdCA9IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG1haW5Mb29wO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250YWluZXIgPSBjb250YWluZXIucGFyZW50Tm9kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYmF0Y2hlZFVwZGF0ZXMoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBkaXNwYXRjaEV2ZW50c0ZvclBsdWdpbnMoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgYW5jZXN0b3JJbnN0KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGxpc3RlbmVyLCBjdXJyZW50VGFyZ2V0KSB7XG4gIHJldHVybiB7XG4gICAgaW5zdGFuY2U6IGluc3RhbmNlLFxuICAgIGxpc3RlbmVyOiBsaXN0ZW5lcixcbiAgICBjdXJyZW50VGFyZ2V0OiBjdXJyZW50VGFyZ2V0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVTaW5nbGVQaGFzZUxpc3RlbmVycyh0YXJnZXRGaWJlciwgcmVhY3ROYW1lLCBuYXRpdmVFdmVudFR5cGUsIGluQ2FwdHVyZVBoYXNlLCBhY2N1bXVsYXRlVGFyZ2V0T25seSwgbmF0aXZlRXZlbnQpIHtcbiAgdmFyIGNhcHR1cmVOYW1lID0gcmVhY3ROYW1lICE9PSBudWxsID8gcmVhY3ROYW1lICsgJ0NhcHR1cmUnIDogbnVsbDtcbiAgdmFyIHJlYWN0RXZlbnROYW1lID0gaW5DYXB0dXJlUGhhc2UgPyBjYXB0dXJlTmFtZSA6IHJlYWN0TmFtZTtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgaW5zdGFuY2UgPSB0YXJnZXRGaWJlcjtcbiAgdmFyIGxhc3RIb3N0Q29tcG9uZW50ID0gbnVsbDsgLy8gQWNjdW11bGF0ZSBhbGwgaW5zdGFuY2VzIGFuZCBsaXN0ZW5lcnMgdmlhIHRoZSB0YXJnZXQgLT4gcm9vdCBwYXRoLlxuXG4gIHdoaWxlIChpbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgIHZhciBfaW5zdGFuY2UyID0gaW5zdGFuY2UsXG4gICAgICAgIHN0YXRlTm9kZSA9IF9pbnN0YW5jZTIuc3RhdGVOb2RlLFxuICAgICAgICB0YWcgPSBfaW5zdGFuY2UyLnRhZzsgLy8gSGFuZGxlIGxpc3RlbmVycyB0aGF0IGFyZSBvbiBIb3N0Q29tcG9uZW50cyAoaS5lLiA8ZGl2PilcblxuICAgIGlmICh0YWcgPT09IEhvc3RDb21wb25lbnQgJiYgc3RhdGVOb2RlICE9PSBudWxsKSB7XG4gICAgICBsYXN0SG9zdENvbXBvbmVudCA9IHN0YXRlTm9kZTsgLy8gY3JlYXRlRXZlbnRIYW5kbGUgbGlzdGVuZXJzXG5cblxuICAgICAgaWYgKHJlYWN0RXZlbnROYW1lICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBsaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCByZWFjdEV2ZW50TmFtZSk7XG5cbiAgICAgICAgaWYgKGxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgICAgICBsaXN0ZW5lcnMucHVzaChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBsaXN0ZW5lciwgbGFzdEhvc3RDb21wb25lbnQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gSWYgd2UgYXJlIG9ubHkgYWNjdW11bGF0aW5nIGV2ZW50cyBmb3IgdGhlIHRhcmdldCwgdGhlbiB3ZSBkb24ndFxuICAgIC8vIGNvbnRpbnVlIHRvIHByb3BhZ2F0ZSB0aHJvdWdoIHRoZSBSZWFjdCBmaWJlciB0cmVlIHRvIGZpbmQgb3RoZXJcbiAgICAvLyBsaXN0ZW5lcnMuXG5cblxuICAgIGlmIChhY2N1bXVsYXRlVGFyZ2V0T25seSkge1xuICAgICAgYnJlYWs7XG4gICAgfSAvLyBJZiB3ZSBhcmUgcHJvY2Vzc2luZyB0aGUgb25CZWZvcmVCbHVyIGV2ZW50LCB0aGVuIHdlIG5lZWQgdG8gdGFrZVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJzO1xufSAvLyBXZSBzaG91bGQgb25seSB1c2UgdGhpcyBmdW5jdGlvbiBmb3I6XG4vLyAtIEJlZm9yZUlucHV0RXZlbnRQbHVnaW5cbi8vIC0gQ2hhbmdlRXZlbnRQbHVnaW5cbi8vIC0gU2VsZWN0RXZlbnRQbHVnaW5cbi8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBvbmx5IHByb2Nlc3MgdGhlc2UgcGx1Z2luc1xuLy8gaW4gdGhlIGJ1YmJsZSBwaGFzZSwgc28gd2UgbmVlZCB0byBhY2N1bXVsYXRlIHR3b1xuLy8gcGhhc2UgZXZlbnQgbGlzdGVuZXJzICh2aWEgZW11bGF0aW9uKS5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKHRhcmdldEZpYmVyLCByZWFjdE5hbWUpIHtcbiAgdmFyIGNhcHR1cmVOYW1lID0gcmVhY3ROYW1lICsgJ0NhcHR1cmUnO1xuICB2YXIgbGlzdGVuZXJzID0gW107XG4gIHZhciBpbnN0YW5jZSA9IHRhcmdldEZpYmVyOyAvLyBBY2N1bXVsYXRlIGFsbCBpbnN0YW5jZXMgYW5kIGxpc3RlbmVycyB2aWEgdGhlIHRhcmdldCAtPiByb290IHBhdGguXG5cbiAgd2hpbGUgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgdmFyIF9pbnN0YW5jZTMgPSBpbnN0YW5jZSxcbiAgICAgICAgc3RhdGVOb2RlID0gX2luc3RhbmNlMy5zdGF0ZU5vZGUsXG4gICAgICAgIHRhZyA9IF9pbnN0YW5jZTMudGFnOyAvLyBIYW5kbGUgbGlzdGVuZXJzIHRoYXQgYXJlIG9uIEhvc3RDb21wb25lbnRzIChpLmUuIDxkaXY+KVxuXG4gICAgaWYgKHRhZyA9PT0gSG9zdENvbXBvbmVudCAmJiBzdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBjdXJyZW50VGFyZ2V0ID0gc3RhdGVOb2RlO1xuICAgICAgdmFyIGNhcHR1cmVMaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTmFtZSk7XG5cbiAgICAgIGlmIChjYXB0dXJlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICBsaXN0ZW5lcnMudW5zaGlmdChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGJ1YmJsZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlYWN0TmFtZSk7XG5cbiAgICAgIGlmIChidWJibGVMaXN0ZW5lciAhPSBudWxsKSB7XG4gICAgICAgIGxpc3RlbmVycy5wdXNoKGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGJ1YmJsZUxpc3RlbmVyLCBjdXJyZW50VGFyZ2V0KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJzO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJlbnQoaW5zdCkge1xuICBpZiAoaW5zdCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZG8ge1xuICAgIGluc3QgPSBpbnN0LnJldHVybjsgLy8gVE9ETzogSWYgdGhpcyBpcyBhIEhvc3RSb290IHdlIG1pZ2h0IHdhbnQgdG8gYmFpbCBvdXQuXG4gICAgLy8gVGhhdCBpcyBkZXBlbmRpbmcgb24gaWYgd2Ugd2FudCBuZXN0ZWQgc3VidHJlZXMgKGxheWVycykgdG8gYnViYmxlXG4gICAgLy8gZXZlbnRzIHRvIHRoZWlyIHBhcmVudC4gV2UgY291bGQgYWxzbyBnbyB0aHJvdWdoIHBhcmVudE5vZGUgb24gdGhlXG4gICAgLy8gaG9zdCBub2RlIGJ1dCB0aGF0IHdvdWxkbid0IHdvcmsgZm9yIFJlYWN0IE5hdGl2ZSBhbmQgZG9lc24ndCBsZXQgdXNcbiAgICAvLyBkbyB0aGUgcG9ydGFsIGZlYXR1cmUuXG4gIH0gd2hpbGUgKGluc3QgJiYgaW5zdC50YWcgIT09IEhvc3RDb21wb25lbnQpO1xuXG4gIGlmIChpbnN0KSB7XG4gICAgcmV0dXJuIGluc3Q7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogUmV0dXJuIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIEEgYW5kIEIsIG9yIG51bGwgaWYgdGhleSBhcmUgaW5cbiAqIGRpZmZlcmVudCB0cmVlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldExvd2VzdENvbW1vbkFuY2VzdG9yKGluc3RBLCBpbnN0Qikge1xuICB2YXIgbm9kZUEgPSBpbnN0QTtcbiAgdmFyIG5vZGVCID0gaW5zdEI7XG4gIHZhciBkZXB0aEEgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBBID0gbm9kZUE7IHRlbXBBOyB0ZW1wQSA9IGdldFBhcmVudCh0ZW1wQSkpIHtcbiAgICBkZXB0aEErKztcbiAgfVxuXG4gIHZhciBkZXB0aEIgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBCID0gbm9kZUI7IHRlbXBCOyB0ZW1wQiA9IGdldFBhcmVudCh0ZW1wQikpIHtcbiAgICBkZXB0aEIrKztcbiAgfSAvLyBJZiBBIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhBIC0gZGVwdGhCID4gMCkge1xuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBkZXB0aEEtLTtcbiAgfSAvLyBJZiBCIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhCIC0gZGVwdGhBID4gMCkge1xuICAgIG5vZGVCID0gZ2V0UGFyZW50KG5vZGVCKTtcbiAgICBkZXB0aEItLTtcbiAgfSAvLyBXYWxrIGluIGxvY2tzdGVwIHVudGlsIHdlIGZpbmQgYSBtYXRjaC5cblxuXG4gIHZhciBkZXB0aCA9IGRlcHRoQTtcblxuICB3aGlsZSAoZGVwdGgtLSkge1xuICAgIGlmIChub2RlQSA9PT0gbm9kZUIgfHwgbm9kZUIgIT09IG51bGwgJiYgbm9kZUEgPT09IG5vZGVCLmFsdGVybmF0ZSkge1xuICAgICAgcmV0dXJuIG5vZGVBO1xuICAgIH1cblxuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBub2RlQiA9IGdldFBhcmVudChub2RlQik7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVMaXN0ZW5lcnNGb3JFdmVudChkaXNwYXRjaFF1ZXVlLCBldmVudCwgdGFyZ2V0LCBjb21tb24sIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciByZWdpc3RyYXRpb25OYW1lID0gZXZlbnQuX3JlYWN0TmFtZTtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgaW5zdGFuY2UgPSB0YXJnZXQ7XG5cbiAgd2hpbGUgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgaWYgKGluc3RhbmNlID09PSBjb21tb24pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBfaW5zdGFuY2U0ID0gaW5zdGFuY2UsXG4gICAgICAgIGFsdGVybmF0ZSA9IF9pbnN0YW5jZTQuYWx0ZXJuYXRlLFxuICAgICAgICBzdGF0ZU5vZGUgPSBfaW5zdGFuY2U0LnN0YXRlTm9kZSxcbiAgICAgICAgdGFnID0gX2luc3RhbmNlNC50YWc7XG5cbiAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZSA9PT0gY29tbW9uKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSBIb3N0Q29tcG9uZW50ICYmIHN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIGN1cnJlbnRUYXJnZXQgPSBzdGF0ZU5vZGU7XG5cbiAgICAgIGlmIChpbkNhcHR1cmVQaGFzZSkge1xuICAgICAgICB2YXIgY2FwdHVyZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuXG4gICAgICAgIGlmIChjYXB0dXJlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICAgIGxpc3RlbmVycy51bnNoaWZ0KGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGNhcHR1cmVMaXN0ZW5lciwgY3VycmVudFRhcmdldCkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFpbkNhcHR1cmVQaGFzZSkge1xuICAgICAgICB2YXIgYnViYmxlTGlzdGVuZXIgPSBnZXRMaXN0ZW5lcihpbnN0YW5jZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG5cbiAgICAgICAgaWYgKGJ1YmJsZUxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgICAgICBsaXN0ZW5lcnMucHVzaChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBidWJibGVMaXN0ZW5lciwgY3VycmVudFRhcmdldCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICBpZiAobGlzdGVuZXJzLmxlbmd0aCAhPT0gMCkge1xuICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1xuICAgIH0pO1xuICB9XG59IC8vIFdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGZ1bmN0aW9uIGZvcjpcbi8vIC0gRW50ZXJMZWF2ZUV2ZW50UGx1Z2luXG4vLyBUaGlzIGlzIGJlY2F1c2Ugd2Ugb25seSBwcm9jZXNzIHRoaXMgcGx1Z2luXG4vLyBpbiB0aGUgYnViYmxlIHBoYXNlLCBzbyB3ZSBuZWVkIHRvIGFjY3VtdWxhdGUgdHdvXG4vLyBwaGFzZSBldmVudCBsaXN0ZW5lcnMuXG5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVUd29QaGFzZUxpc3RlbmVycyhkaXNwYXRjaFF1ZXVlLCBsZWF2ZUV2ZW50LCBlbnRlckV2ZW50LCBmcm9tLCB0bykge1xuICB2YXIgY29tbW9uID0gZnJvbSAmJiB0byA/IGdldExvd2VzdENvbW1vbkFuY2VzdG9yKGZyb20sIHRvKSA6IG51bGw7XG5cbiAgaWYgKGZyb20gIT09IG51bGwpIHtcbiAgICBhY2N1bXVsYXRlRW50ZXJMZWF2ZUxpc3RlbmVyc0ZvckV2ZW50KGRpc3BhdGNoUXVldWUsIGxlYXZlRXZlbnQsIGZyb20sIGNvbW1vbiwgZmFsc2UpO1xuICB9XG5cbiAgaWYgKHRvICE9PSBudWxsICYmIGVudGVyRXZlbnQgIT09IG51bGwpIHtcbiAgICBhY2N1bXVsYXRlRW50ZXJMZWF2ZUxpc3RlbmVyc0ZvckV2ZW50KGRpc3BhdGNoUXVldWUsIGVudGVyRXZlbnQsIHRvLCBjb21tb24sIHRydWUpO1xuICB9XG59XG5mdW5jdGlvbiBnZXRMaXN0ZW5lclNldEtleShkb21FdmVudE5hbWUsIGNhcHR1cmUpIHtcbiAgcmV0dXJuIGRvbUV2ZW50TmFtZSArIFwiX19cIiArIChjYXB0dXJlID8gJ2NhcHR1cmUnIDogJ2J1YmJsZScpO1xufVxuXG52YXIgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSBmYWxzZTtcbnZhciBEQU5HRVJPVVNMWV9TRVRfSU5ORVJfSFRNTCA9ICdkYW5nZXJvdXNseVNldElubmVySFRNTCc7XG52YXIgU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HID0gJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyc7XG52YXIgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcgPSAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJztcbnZhciBBVVRPRk9DVVMgPSAnYXV0b0ZvY3VzJztcbnZhciBDSElMRFJFTiA9ICdjaGlsZHJlbic7XG52YXIgU1RZTEUgPSAnc3R5bGUnO1xudmFyIEhUTUwkMSA9ICdfX2h0bWwnO1xudmFyIHdhcm5lZFVua25vd25UYWdzO1xudmFyIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQ7XG52YXIgd2FybkZvclByb3BEaWZmZXJlbmNlO1xudmFyIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXM7XG52YXIgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyO1xudmFyIGNhbkRpZmZTdHlsZUZvckh5ZHJhdGlvbldhcm5pbmc7XG52YXIgbm9ybWFsaXplSFRNTDtcblxue1xuICB3YXJuZWRVbmtub3duVGFncyA9IHtcbiAgICAvLyBUaGVyZSBhcmUgd29ya2luZyBwb2x5ZmlsbHMgZm9yIDxkaWFsb2c+LiBMZXQgcGVvcGxlIHVzZSBpdC5cbiAgICBkaWFsb2c6IHRydWUsXG4gICAgLy8gRWxlY3Ryb24gc2hpcHMgYSBjdXN0b20gPHdlYnZpZXc+IHRhZyB0byBkaXNwbGF5IGV4dGVybmFsIHdlYiBjb250ZW50IGluXG4gICAgLy8gYW4gaXNvbGF0ZWQgZnJhbWUgYW5kIHByb2Nlc3MuXG4gICAgLy8gVGhpcyB0YWcgaXMgbm90IHByZXNlbnQgaW4gbm9uIEVsZWN0cm9uIGVudmlyb25tZW50cyBzdWNoIGFzIEpTRG9tIHdoaWNoXG4gICAgLy8gaXMgb2Z0ZW4gdXNlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAgICAvLyBAc2VlIGh0dHBzOi8vZWxlY3Ryb25qcy5vcmcvZG9jcy9hcGkvd2Vidmlldy10YWdcbiAgICB3ZWJ2aWV3OiB0cnVlXG4gIH07XG5cbiAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCA9IGZ1bmN0aW9uICh0eXBlLCBwcm9wcykge1xuICAgIHZhbGlkYXRlUHJvcGVydGllcyh0eXBlLCBwcm9wcyk7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzJDEodHlwZSwgcHJvcHMpO1xuICAgIHZhbGlkYXRlUHJvcGVydGllcyQyKHR5cGUsIHByb3BzLCB7XG4gICAgICByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzOiByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLFxuICAgICAgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lczogcG9zc2libGVSZWdpc3RyYXRpb25OYW1lc1xuICAgIH0pO1xuICB9OyAvLyBJRSAxMSBwYXJzZXMgJiBub3JtYWxpemVzIHRoZSBzdHlsZSBhdHRyaWJ1dGUgYXMgb3Bwb3NlZCB0byBvdGhlclxuICAvLyBicm93c2Vycy4gSXQgYWRkcyBzcGFjZXMgYW5kIHNvcnRzIHRoZSBwcm9wZXJ0aWVzIGluIHNvbWVcbiAgLy8gbm9uLWFscGhhYmV0aWNhbCBvcmRlci4gSGFuZGxpbmcgdGhhdCB3b3VsZCByZXF1aXJlIHNvcnRpbmcgQ1NTXG4gIC8vIHByb3BlcnRpZXMgaW4gdGhlIGNsaWVudCAmIHNlcnZlciB2ZXJzaW9ucyBvciBhcHBseWluZ1xuICAvLyBgZXhwZWN0ZWRTdHlsZWAgdG8gYSB0ZW1wb3JhcnkgRE9NIG5vZGUgdG8gcmVhZCBpdHMgYHN0eWxlYCBhdHRyaWJ1dGVcbiAgLy8gbm9ybWFsaXplZC4gU2luY2UgaXQgb25seSBhZmZlY3RzIElFLCB3ZSdyZSBza2lwcGluZyBzdHlsZSB3YXJuaW5nc1xuICAvLyBpbiB0aGF0IGJyb3dzZXIgY29tcGxldGVseSBpbiBmYXZvciBvZiBkb2luZyBhbGwgdGhhdCB3b3JrLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTgwN1xuXG5cbiAgY2FuRGlmZlN0eWxlRm9ySHlkcmF0aW9uV2FybmluZyA9IGNhblVzZURPTSAmJiAhZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xuXG4gIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZSA9IGZ1bmN0aW9uIChwcm9wTmFtZSwgc2VydmVyVmFsdWUsIGNsaWVudFZhbHVlKSB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5vcm1hbGl6ZWRDbGllbnRWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShjbGllbnRWYWx1ZSk7XG4gICAgdmFyIG5vcm1hbGl6ZWRTZXJ2ZXJWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShzZXJ2ZXJWYWx1ZSk7XG5cbiAgICBpZiAobm9ybWFsaXplZFNlcnZlclZhbHVlID09PSBub3JtYWxpemVkQ2xpZW50VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignUHJvcCBgJXNgIGRpZCBub3QgbWF0Y2guIFNlcnZlcjogJXMgQ2xpZW50OiAlcycsIHByb3BOYW1lLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkU2VydmVyVmFsdWUpLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkQ2xpZW50VmFsdWUpKTtcbiAgfTtcblxuICB3YXJuRm9yRXh0cmFBdHRyaWJ1dGVzID0gZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuICAgIHZhciBuYW1lcyA9IFtdO1xuICAgIGF0dHJpYnV0ZU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIG5hbWVzLnB1c2gobmFtZSk7XG4gICAgfSk7XG5cbiAgICBlcnJvcignRXh0cmEgYXR0cmlidXRlcyBmcm9tIHRoZSBzZXJ2ZXI6ICVzJywgbmFtZXMpO1xuICB9O1xuXG4gIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uIChyZWdpc3RyYXRpb25OYW1lLCBsaXN0ZW5lcikge1xuICAgIGlmIChsaXN0ZW5lciA9PT0gZmFsc2UpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBgJXNgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGBmYWxzZWAuXFxuXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3IoJ0V4cGVjdGVkIGAlc2AgbGlzdGVuZXIgdG8gYmUgYSBmdW5jdGlvbiwgaW5zdGVhZCBnb3QgYSB2YWx1ZSBvZiBgJXNgIHR5cGUuJywgcmVnaXN0cmF0aW9uTmFtZSwgdHlwZW9mIGxpc3RlbmVyKTtcbiAgICB9XG4gIH07IC8vIFBhcnNlIHRoZSBIVE1MIGFuZCByZWFkIGl0IGJhY2sgdG8gbm9ybWFsaXplIHRoZSBIVE1MIHN0cmluZyBzbyB0aGF0IGl0XG4gIC8vIGNhbiBiZSB1c2VkIGZvciBjb21wYXJpc29uLlxuXG5cbiAgbm9ybWFsaXplSFRNTCA9IGZ1bmN0aW9uIChwYXJlbnQsIGh0bWwpIHtcbiAgICAvLyBXZSBjb3VsZCBoYXZlIGNyZWF0ZWQgYSBzZXBhcmF0ZSBkb2N1bWVudCBoZXJlIHRvIGF2b2lkXG4gICAgLy8gcmUtaW5pdGlhbGl6aW5nIGN1c3RvbSBlbGVtZW50cyBpZiB0aGV5IGV4aXN0LiBCdXQgdGhpcyBicmVha3NcbiAgICAvLyBob3cgPG5vc2NyaXB0PiBpcyBiZWluZyBoYW5kbGVkLiBTbyB3ZSB1c2UgdGhlIHNhbWUgZG9jdW1lbnQuXG4gICAgLy8gU2VlIHRoZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzExMTU3LlxuICAgIHZhciB0ZXN0RWxlbWVudCA9IHBhcmVudC5uYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFID8gcGFyZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJlbnQudGFnTmFtZSkgOiBwYXJlbnQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMocGFyZW50Lm5hbWVzcGFjZVVSSSwgcGFyZW50LnRhZ05hbWUpO1xuICAgIHRlc3RFbGVtZW50LmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHRlc3RFbGVtZW50LmlubmVySFRNTDtcbiAgfTtcbn0gLy8gSFRNTCBwYXJzaW5nIG5vcm1hbGl6ZXMgQ1IgYW5kIENSTEYgdG8gTEYuXG4vLyBJdCBhbHNvIGNhbiB0dXJuIFxcdTAwMDAgaW50byBcXHVGRkZEIGluc2lkZSBhdHRyaWJ1dGVzLlxuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3NpbmdsZS1wYWdlLmh0bWwjcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtXG4vLyBJZiB3ZSBoYXZlIGEgbWlzbWF0Y2gsIGl0IG1pZ2h0IGJlIGNhdXNlZCBieSB0aGF0LlxuLy8gV2Ugd2lsbCBzdGlsbCBwYXRjaCB1cCBpbiB0aGlzIGNhc2UgYnV0IG5vdCBmaXJlIHRoZSB3YXJuaW5nLlxuXG5cbnZhciBOT1JNQUxJWkVfTkVXTElORVNfUkVHRVggPSAvXFxyXFxuPy9nO1xudmFyIE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCA9IC9cXHUwMDAwfFxcdUZGRkQvZztcblxuZnVuY3Rpb24gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKG1hcmt1cCkge1xuICB7XG4gICAgY2hlY2tIdG1sU3RyaW5nQ29lcmNpb24obWFya3VwKTtcbiAgfVxuXG4gIHZhciBtYXJrdXBTdHJpbmcgPSB0eXBlb2YgbWFya3VwID09PSAnc3RyaW5nJyA/IG1hcmt1cCA6ICcnICsgbWFya3VwO1xuICByZXR1cm4gbWFya3VwU3RyaW5nLnJlcGxhY2UoTk9STUFMSVpFX05FV0xJTkVTX1JFR0VYLCAnXFxuJykucmVwbGFjZShOT1JNQUxJWkVfTlVMTF9BTkRfUkVQTEFDRU1FTlRfUkVHRVgsICcnKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tGb3JVbm1hdGNoZWRUZXh0KHNlcnZlclRleHQsIGNsaWVudFRleHQsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgdmFyIG5vcm1hbGl6ZWRDbGllbnRUZXh0ID0gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKGNsaWVudFRleHQpO1xuICB2YXIgbm9ybWFsaXplZFNlcnZlclRleHQgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoc2VydmVyVGV4dCk7XG5cbiAgaWYgKG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0ID09PSBub3JtYWxpemVkQ2xpZW50VGV4dCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChzaG91bGRXYXJuRGV2KSB7XG4gICAge1xuICAgICAgaWYgKCFkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJ1RleHQgY29udGVudCBkaWQgbm90IG1hdGNoLiBTZXJ2ZXI6IFwiJXNcIiBDbGllbnQ6IFwiJXNcIicsIG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0LCBub3JtYWxpemVkQ2xpZW50VGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGlzQ29uY3VycmVudE1vZGUgJiYgZW5hYmxlQ2xpZW50UmVuZGVyRmFsbGJhY2tPblRleHRNaXNtYXRjaCkge1xuICAgIC8vIEluIGNvbmN1cnJlbnQgcm9vdHMsIHdlIHRocm93IHdoZW4gdGhlcmUncyBhIHRleHQgbWlzbWF0Y2ggYW5kIHJldmVydCB0b1xuICAgIC8vIGNsaWVudCByZW5kZXJpbmcsIHVwIHRvIHRoZSBuZWFyZXN0IFN1c3BlbnNlIGJvdW5kYXJ5LlxuICAgIHRocm93IG5ldyBFcnJvcignVGV4dCBjb250ZW50IGRvZXMgbm90IG1hdGNoIHNlcnZlci1yZW5kZXJlZCBIVE1MLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE93bmVyRG9jdW1lbnRGcm9tUm9vdENvbnRhaW5lcihyb290Q29udGFpbmVyRWxlbWVudCkge1xuICByZXR1cm4gcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyByb290Q29udGFpbmVyRWxlbWVudCA6IHJvb3RDb250YWluZXJFbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG59XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5mdW5jdGlvbiB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChub2RlKSB7XG4gIC8vIE1vYmlsZSBTYWZhcmkgZG9lcyBub3QgZmlyZSBwcm9wZXJseSBidWJibGUgY2xpY2sgZXZlbnRzIG9uXG4gIC8vIG5vbi1pbnRlcmFjdGl2ZSBlbGVtZW50cywgd2hpY2ggbWVhbnMgZGVsZWdhdGVkIGNsaWNrIGxpc3RlbmVycyBkbyBub3RcbiAgLy8gZmlyZS4gVGhlIHdvcmthcm91bmQgZm9yIHRoaXMgYnVnIGludm9sdmVzIGF0dGFjaGluZyBhbiBlbXB0eSBjbGlja1xuICAvLyBsaXN0ZW5lciBvbiB0aGUgdGFyZ2V0IG5vZGUuXG4gIC8vIGh0dHBzOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxMC8wOS9jbGlja19ldmVudF9kZWwuaHRtbFxuICAvLyBKdXN0IHNldCBpdCB1c2luZyB0aGUgb25jbGljayBwcm9wZXJ0eSBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gbWFuYWdlIGFueVxuICAvLyBib29ra2VlcGluZyBmb3IgaXQuIE5vdCBzdXJlIGlmIHdlIG5lZWQgdG8gY2xlYXIgaXQgd2hlbiB0aGUgbGlzdGVuZXIgaXNcbiAgLy8gcmVtb3ZlZC5cbiAgLy8gVE9ETzogT25seSBkbyB0aGlzIGZvciB0aGUgcmVsZXZhbnQgU2FmYXJpcyBtYXliZT9cbiAgbm9kZS5vbmNsaWNrID0gbm9vcDtcbn1cblxuZnVuY3Rpb24gc2V0SW5pdGlhbERPTVByb3BlcnRpZXModGFnLCBkb21FbGVtZW50LCByb290Q29udGFpbmVyRWxlbWVudCwgbmV4dFByb3BzLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICBmb3IgKHZhciBwcm9wS2V5IGluIG5leHRQcm9wcykge1xuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgbmV4dFByb3AgPSBuZXh0UHJvcHNbcHJvcEtleV07XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHtcbiAgICAgICAgaWYgKG5leHRQcm9wKSB7XG4gICAgICAgICAgLy8gRnJlZXplIHRoZSBuZXh0IHN0eWxlIG9iamVjdCBzbyB0aGF0IHdlIGNhbiBhc3N1bWUgaXQgd29uJ3QgYmVcbiAgICAgICAgICAvLyBtdXRhdGVkLiBXZSBoYXZlIGFscmVhZHkgd2FybmVkIGZvciB0aGlzIGluIHRoZSBwYXN0LlxuICAgICAgICAgIE9iamVjdC5mcmVlemUobmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IC8vIFJlbGllcyBvbiBgdXBkYXRlU3R5bGVzQnlJRGAgbm90IG11dGF0aW5nIGBzdHlsZVVwZGF0ZXNgLlxuXG5cbiAgICAgIHNldFZhbHVlRm9yU3R5bGVzKGRvbUVsZW1lbnQsIG5leHRQcm9wKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XG4gICAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBDSElMRFJFTikge1xuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gQXZvaWQgc2V0dGluZyBpbml0aWFsIHRleHRDb250ZW50IHdoZW4gdGhlIHRleHQgaXMgZW1wdHkuIEluIElFMTEgc2V0dGluZ1xuICAgICAgICAvLyB0ZXh0Q29udGVudCBvbiBhIDx0ZXh0YXJlYT4gd2lsbCBjYXVzZSB0aGUgcGxhY2Vob2xkZXIgdG8gbm90XG4gICAgICAgIC8vIHNob3cgd2l0aGluIHRoZSA8dGV4dGFyZWE+IHVudGlsIGl0IGhhcyBiZWVuIGZvY3VzZWQgYW5kIGJsdXJyZWQgYWdhaW4uXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNjczMSNpc3N1ZWNvbW1lbnQtMjU0ODc0NTUzXG4gICAgICAgIHZhciBjYW5TZXRUZXh0Q29udGVudCA9IHRhZyAhPT0gJ3RleHRhcmVhJyB8fCBuZXh0UHJvcCAhPT0gJyc7XG5cbiAgICAgICAgaWYgKGNhblNldFRleHRDb250ZW50KSB7XG4gICAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycgKyBuZXh0UHJvcCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBTVVBQUkVTU19DT05URU5UX0VESVRBQkxFX1dBUk5JTkcgfHwgcHJvcEtleSA9PT0gU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gQVVUT0ZPQ1VTKSA7IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGlmIChuZXh0UHJvcCAhPSBudWxsKSB7XG4gICAgICAgIGlmICggdHlwZW9mIG5leHRQcm9wICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wS2V5ID09PSAnb25TY3JvbGwnKSB7XG4gICAgICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnc2Nyb2xsJywgZG9tRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgIHNldFZhbHVlRm9yUHJvcGVydHkoZG9tRWxlbWVudCwgcHJvcEtleSwgbmV4dFByb3AsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlRE9NUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB3YXNDdXN0b21Db21wb25lbnRUYWcsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIC8vIFRPRE86IEhhbmRsZSB3YXNDdXN0b21Db21wb25lbnRUYWdcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB1cGRhdGVQYXlsb2FkLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIHByb3BLZXkgPSB1cGRhdGVQYXlsb2FkW2ldO1xuICAgIHZhciBwcm9wVmFsdWUgPSB1cGRhdGVQYXlsb2FkW2kgKyAxXTtcblxuICAgIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAgc2V0VmFsdWVGb3JTdHlsZXMoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICBzZXRJbm5lckhUTUwoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCBwcm9wVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRWYWx1ZUZvclByb3BlcnR5KGRvbUVsZW1lbnQsIHByb3BLZXksIHByb3BWYWx1ZSwgaXNDdXN0b21Db21wb25lbnRUYWcpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVyRWxlbWVudCwgcGFyZW50TmFtZXNwYWNlKSB7XG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZzsgLy8gV2UgY3JlYXRlIHRhZ3MgaW4gdGhlIG5hbWVzcGFjZSBvZiB0aGVpciBwYXJlbnQgY29udGFpbmVyLCBleGNlcHQgSFRNTFxuICAvLyB0YWdzIGdldCBubyBuYW1lc3BhY2UuXG5cbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICB2YXIgZG9tRWxlbWVudDtcbiAgdmFyIG5hbWVzcGFjZVVSSSA9IHBhcmVudE5hbWVzcGFjZTtcblxuICBpZiAobmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSkge1xuICAgIG5hbWVzcGFjZVVSSSA9IGdldEludHJpbnNpY05hbWVzcGFjZSh0eXBlKTtcbiAgfVxuXG4gIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAge1xuICAgICAgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0eXBlLCBwcm9wcyk7IC8vIFNob3VsZCB0aGlzIGNoZWNrIGJlIGdhdGVkIGJ5IHBhcmVudCBuYW1lc3BhY2U/IE5vdCBzdXJlIHdlIHdhbnQgdG9cbiAgICAgIC8vIGFsbG93IDxTVkc+IG9yIDxtQVRIPi5cblxuICAgICAgaWYgKCFpc0N1c3RvbUNvbXBvbmVudFRhZyAmJiB0eXBlICE9PSB0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgZXJyb3IoJzwlcyAvPiBpcyB1c2luZyBpbmNvcnJlY3QgY2FzaW5nLiAnICsgJ1VzZSBQYXNjYWxDYXNlIGZvciBSZWFjdCBjb21wb25lbnRzLCAnICsgJ29yIGxvd2VyY2FzZSBmb3IgSFRNTCBlbGVtZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgIC8vIENyZWF0ZSB0aGUgc2NyaXB0IHZpYSAuaW5uZXJIVE1MIHNvIGl0cyBcInBhcnNlci1pbnNlcnRlZFwiIGZsYWcgaXNcbiAgICAgIC8vIHNldCB0byB0cnVlIGFuZCBpdCBkb2VzIG5vdCBleGVjdXRlXG4gICAgICB2YXIgZGl2ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgZGl2LmlubmVySFRNTCA9ICc8c2NyaXB0PjwnICsgJy9zY3JpcHQ+JzsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgLy8gVGhpcyBpcyBndWFyYW50ZWVkIHRvIHlpZWxkIGEgc2NyaXB0IGVsZW1lbnQuXG5cbiAgICAgIHZhciBmaXJzdENoaWxkID0gZGl2LmZpcnN0Q2hpbGQ7XG4gICAgICBkb21FbGVtZW50ID0gZGl2LnJlbW92ZUNoaWxkKGZpcnN0Q2hpbGQpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gJEZsb3dJc3N1ZSBgY3JlYXRlRWxlbWVudGAgc2hvdWxkIGJlIHVwZGF0ZWQgZm9yIFdlYiBDb21wb25lbnRzXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUsIHtcbiAgICAgICAgaXM6IHByb3BzLmlzXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2VwYXJhdGUgZWxzZSBicmFuY2ggaW5zdGVhZCBvZiB1c2luZyBgcHJvcHMuaXMgfHwgdW5kZWZpbmVkYCBhYm92ZSBiZWNhdXNlIG9mIGEgRmlyZWZveCBidWcuXG4gICAgICAvLyBTZWUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC82ODk2XG4gICAgICAvLyBhbmQgZGlzY3Vzc2lvbiBpbiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MjQwXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOyAvLyBOb3JtYWxseSBhdHRyaWJ1dGVzIGFyZSBhc3NpZ25lZCBpbiBgc2V0SW5pdGlhbERPTVByb3BlcnRpZXNgLCBob3dldmVyIHRoZSBgbXVsdGlwbGVgIGFuZCBgc2l6ZWBcbiAgICAgIC8vIGF0dHJpYnV0ZXMgb24gYHNlbGVjdGBzIG5lZWRzIHRvIGJlIGFkZGVkIGJlZm9yZSBgb3B0aW9uYHMgYXJlIGluc2VydGVkLlxuICAgICAgLy8gVGhpcyBwcmV2ZW50czpcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIGRvZXMgbm90IHNjcm9sbCB0byB0aGUgY29ycmVjdCBvcHRpb24gYmVjYXVzZSBzaW5ndWxhclxuICAgICAgLy8gIGBzZWxlY3RgIGVsZW1lbnRzIGF1dG9tYXRpY2FsbHkgcGljayB0aGUgZmlyc3QgaXRlbSAjMTMyMjJcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIHNldCB0aGUgZmlyc3QgaXRlbSBhcyBzZWxlY3RlZCBkZXNwaXRlIHRoZSBgc2l6ZWAgYXR0cmlidXRlICMxNDIzOVxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTMyMjJcbiAgICAgIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE0MjM5XG5cbiAgICAgIGlmICh0eXBlID09PSAnc2VsZWN0Jykge1xuICAgICAgICB2YXIgbm9kZSA9IGRvbUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHByb3BzLm11bHRpcGxlKSB7XG4gICAgICAgICAgbm9kZS5tdWx0aXBsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMuc2l6ZSkge1xuICAgICAgICAgIC8vIFNldHRpbmcgYSBzaXplIGdyZWF0ZXIgdGhhbiAxIGNhdXNlcyBhIHNlbGVjdCB0byBiZWhhdmUgbGlrZSBgbXVsdGlwbGU9dHJ1ZWAsIHdoZXJlXG4gICAgICAgICAgLy8gaXQgaXMgcG9zc2libGUgdGhhdCBubyBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gYSBzZWxlY3QgaW4gXCJzaW5nbGUgc2VsZWN0aW9uIG1vZGVcIi5cbiAgICAgICAgICBub2RlLnNpemUgPSBwcm9wcy5zaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRvbUVsZW1lbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuYW1lc3BhY2VVUkksIHR5cGUpO1xuICB9XG5cbiAge1xuICAgIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAgICBpZiAoIWlzQ3VzdG9tQ29tcG9uZW50VGFnICYmIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkb21FbGVtZW50KSA9PT0gJ1tvYmplY3QgSFRNTFVua25vd25FbGVtZW50XScgJiYgIWhhc093blByb3BlcnR5LmNhbGwod2FybmVkVW5rbm93blRhZ3MsIHR5cGUpKSB7XG4gICAgICAgIHdhcm5lZFVua25vd25UYWdzW3R5cGVdID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignVGhlIHRhZyA8JXM+IGlzIHVucmVjb2duaXplZCBpbiB0aGlzIGJyb3dzZXIuICcgKyAnSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIFJlYWN0IGNvbXBvbmVudCwgc3RhcnQgaXRzIG5hbWUgd2l0aCAnICsgJ2FuIHVwcGVyY2FzZSBsZXR0ZXIuJywgdHlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XG59XG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSh0ZXh0LCByb290Q29udGFpbmVyRWxlbWVudCkge1xuICByZXR1cm4gZ2V0T3duZXJEb2N1bWVudEZyb21Sb290Q29udGFpbmVyKHJvb3RDb250YWluZXJFbGVtZW50KS5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcbn1cbmZ1bmN0aW9uIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHRhZywgcmF3UHJvcHMsIHJvb3RDb250YWluZXJFbGVtZW50KSB7XG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xuXG4gIHtcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50KHRhZywgcmF3UHJvcHMpO1xuICB9IC8vIFRPRE86IE1ha2Ugc3VyZSB0aGF0IHdlIGNoZWNrIGlzTW91bnRlZCBiZWZvcmUgZmlyaW5nIGFueSBvZiB0aGVzZSBldmVudHMuXG5cblxuICB2YXIgcHJvcHM7XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdkaWFsb2cnOlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnY2FuY2VsJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdjbG9zZScsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaWZyYW1lJzpcbiAgICBjYXNlICdvYmplY3QnOlxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBsb2FkIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndmlkZW8nOlxuICAgIGNhc2UgJ2F1ZGlvJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGVzZSBldmVudHMgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgYWxsIHRoZSBtZWRpYSBldmVudHMuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lZGlhRXZlbnRUeXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KG1lZGlhRXZlbnRUeXBlc1tpXSwgZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3NvdXJjZSc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgZXJyb3IgZXZlbnQuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdlcnJvcicsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdpbWFnZSc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhlc2UgZXZlbnRzIGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIGVycm9yIGFuZCBsb2FkIGV2ZW50cy5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdsb2FkJywgZG9tRWxlbWVudCk7XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkZXRhaWxzJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSB0b2dnbGUgZXZlbnQuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCd0b2dnbGUnLCBkb21FbGVtZW50KTtcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpOyAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgdmFsaWRhdGVQcm9wcyhkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcbiAgICAgIHByb3BzID0gZ2V0SG9zdFByb3BzJDEoZG9tRWxlbWVudCwgcmF3UHJvcHMpOyAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlJDIoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCByYXdQcm9wcyk7IC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBpbnZhbGlkIGV2ZW50LlxuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdpbnZhbGlkJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKTtcbiAgc2V0SW5pdGlhbERPTVByb3BlcnRpZXModGFnLCBkb21FbGVtZW50LCByb290Q29udGFpbmVyRWxlbWVudCwgcHJvcHMsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXG4gICAgICB0cmFjayhkb21FbGVtZW50KTtcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIoZG9tRWxlbWVudCwgcmF3UHJvcHMsIGZhbHNlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgcG9zdE1vdW50V3JhcHBlciQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAodHlwZW9mIHByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG59IC8vIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuIHRoZSB0d28gb2JqZWN0cy5cblxuZnVuY3Rpb24gZGlmZlByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcywgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcbiAge1xuICAgIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQodGFnLCBuZXh0UmF3UHJvcHMpO1xuICB9XG5cbiAgdmFyIHVwZGF0ZVBheWxvYWQgPSBudWxsO1xuICB2YXIgbGFzdFByb3BzO1xuICB2YXIgbmV4dFByb3BzO1xuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgICAgbGFzdFByb3BzID0gZ2V0SG9zdFByb3BzKGRvbUVsZW1lbnQsIGxhc3RSYXdQcm9wcyk7XG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIGxhc3RQcm9wcyA9IGdldEhvc3RQcm9wcyQxKGRvbUVsZW1lbnQsIGxhc3RSYXdQcm9wcyk7XG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCBsYXN0UmF3UHJvcHMpO1xuICAgICAgbmV4dFByb3BzID0gZ2V0SG9zdFByb3BzJDIoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGxhc3RQcm9wcyA9IGxhc3RSYXdQcm9wcztcbiAgICAgIG5leHRQcm9wcyA9IG5leHRSYXdQcm9wcztcblxuICAgICAgaWYgKHR5cGVvZiBsYXN0UHJvcHMub25DbGljayAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgbmV4dFByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIG5leHRQcm9wcyk7XG4gIHZhciBwcm9wS2V5O1xuICB2YXIgc3R5bGVOYW1lO1xuICB2YXIgc3R5bGVVcGRhdGVzID0gbnVsbDtcblxuICBmb3IgKHByb3BLZXkgaW4gbGFzdFByb3BzKSB7XG4gICAgaWYgKG5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSB8fCAhbGFzdFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IGxhc3RQcm9wc1twcm9wS2V5XSA9PSBudWxsKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHZhciBsYXN0U3R5bGUgPSBsYXN0UHJvcHNbcHJvcEtleV07XG5cbiAgICAgIGZvciAoc3R5bGVOYW1lIGluIGxhc3RTdHlsZSkge1xuICAgICAgICBpZiAobGFzdFN0eWxlLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xuICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3R5bGVVcGRhdGVzW3N0eWxlTmFtZV0gPSAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwgfHwgcHJvcEtleSA9PT0gQ0hJTERSRU4pIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HKSA7IGVsc2UgaWYgKHByb3BLZXkgPT09IEFVVE9GT0NVUykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlLiBJZiBhbnkgbGlzdGVuZXIgdXBkYXRlcyB3ZSBuZWVkIHRvIGVuc3VyZVxuICAgICAgLy8gdGhhdCB0aGUgXCJjdXJyZW50XCIgZmliZXIgcG9pbnRlciBnZXRzIHVwZGF0ZWQgc28gd2UgbmVlZCBhIGNvbW1pdFxuICAgICAgLy8gdG8gdXBkYXRlIHRoaXMgZWxlbWVudC5cbiAgICAgIGlmICghdXBkYXRlUGF5bG9hZCkge1xuICAgICAgICB1cGRhdGVQYXlsb2FkID0gW107XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBhbGwgb3RoZXIgZGVsZXRlZCBwcm9wZXJ0aWVzIHdlIGFkZCBpdCB0byB0aGUgcXVldWUuIFdlIHVzZVxuICAgICAgLy8gdGhlIGFsbG93ZWQgcHJvcGVydHkgbGlzdCBpbiB0aGUgY29tbWl0IHBoYXNlIGluc3RlYWQuXG4gICAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2gocHJvcEtleSwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChwcm9wS2V5IGluIG5leHRQcm9wcykge1xuICAgIHZhciBuZXh0UHJvcCA9IG5leHRQcm9wc1twcm9wS2V5XTtcbiAgICB2YXIgbGFzdFByb3AgPSBsYXN0UHJvcHMgIT0gbnVsbCA/IGxhc3RQcm9wc1twcm9wS2V5XSA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IG5leHRQcm9wID09PSBsYXN0UHJvcCB8fCBuZXh0UHJvcCA9PSBudWxsICYmIGxhc3RQcm9wID09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAge1xuICAgICAgICBpZiAobmV4dFByb3ApIHtcbiAgICAgICAgICAvLyBGcmVlemUgdGhlIG5leHQgc3R5bGUgb2JqZWN0IHNvIHRoYXQgd2UgY2FuIGFzc3VtZSBpdCB3b24ndCBiZVxuICAgICAgICAgIC8vIG11dGF0ZWQuIFdlIGhhdmUgYWxyZWFkeSB3YXJuZWQgZm9yIHRoaXMgaW4gdGhlIHBhc3QuXG4gICAgICAgICAgT2JqZWN0LmZyZWV6ZShuZXh0UHJvcCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGxhc3RQcm9wKSB7XG4gICAgICAgIC8vIFVuc2V0IHN0eWxlcyBvbiBgbGFzdFByb3BgIGJ1dCBub3Qgb24gYG5leHRQcm9wYC5cbiAgICAgICAgZm9yIChzdHlsZU5hbWUgaW4gbGFzdFByb3ApIHtcbiAgICAgICAgICBpZiAobGFzdFByb3AuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSAmJiAoIW5leHRQcm9wIHx8ICFuZXh0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpKSkge1xuICAgICAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcbiAgICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0eWxlVXBkYXRlc1tzdHlsZU5hbWVdID0gJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIFVwZGF0ZSBzdHlsZXMgdGhhdCBjaGFuZ2VkIHNpbmNlIGBsYXN0UHJvcGAuXG5cblxuICAgICAgICBmb3IgKHN0eWxlTmFtZSBpbiBuZXh0UHJvcCkge1xuICAgICAgICAgIGlmIChuZXh0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpICYmIGxhc3RQcm9wW3N0eWxlTmFtZV0gIT09IG5leHRQcm9wW3N0eWxlTmFtZV0pIHtcbiAgICAgICAgICAgIGlmICghc3R5bGVVcGRhdGVzKSB7XG4gICAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHlsZVVwZGF0ZXNbc3R5bGVOYW1lXSA9IG5leHRQcm9wW3N0eWxlTmFtZV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZWxpZXMgb24gYHVwZGF0ZVN0eWxlc0J5SURgIG5vdCBtdXRhdGluZyBgc3R5bGVVcGRhdGVzYC5cbiAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcbiAgICAgICAgICBpZiAoIXVwZGF0ZVBheWxvYWQpIHtcbiAgICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVQYXlsb2FkLnB1c2gocHJvcEtleSwgc3R5bGVVcGRhdGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlVXBkYXRlcyA9IG5leHRQcm9wO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcbiAgICAgIHZhciBuZXh0SHRtbCA9IG5leHRQcm9wID8gbmV4dFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcbiAgICAgIHZhciBsYXN0SHRtbCA9IGxhc3RQcm9wID8gbGFzdFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKG5leHRIdG1sICE9IG51bGwpIHtcbiAgICAgICAgaWYgKGxhc3RIdG1sICE9PSBuZXh0SHRtbCkge1xuICAgICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBuZXh0SHRtbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICBpZiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XG4gICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCAnJyArIG5leHRQcm9wKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyB8fCBwcm9wS2V5ID09PSBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBpZiAobmV4dFByb3AgIT0gbnVsbCkge1xuICAgICAgICAvLyBXZSBlYWdlcmx5IGxpc3RlbiB0byB0aGlzIGV2ZW4gdGhvdWdoIHdlIGhhdmVuJ3QgY29tbWl0dGVkIHlldC5cbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BLZXkgPT09ICdvblNjcm9sbCcpIHtcbiAgICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdzY3JvbGwnLCBkb21FbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXVwZGF0ZVBheWxvYWQgJiYgbGFzdFByb3AgIT09IG5leHRQcm9wKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2UuIElmIGFueSBsaXN0ZW5lciB1cGRhdGVzIHdlIG5lZWQgdG8gZW5zdXJlXG4gICAgICAgIC8vIHRoYXQgdGhlIFwiY3VycmVudFwiIHByb3BzIHBvaW50ZXIgZ2V0cyB1cGRhdGVkIHNvIHdlIG5lZWQgYSBjb21taXRcbiAgICAgICAgLy8gdG8gdXBkYXRlIHRoaXMgZWxlbWVudC5cbiAgICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGb3IgYW55IG90aGVyIHByb3BlcnR5IHdlIGFsd2F5cyBhZGQgaXQgdG8gdGhlIHF1ZXVlIGFuZCB0aGVuIHdlXG4gICAgICAvLyBmaWx0ZXIgaXQgb3V0IHVzaW5nIHRoZSBhbGxvd2VkIHByb3BlcnR5IGxpc3QgZHVyaW5nIHRoZSBjb21taXQuXG4gICAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2gocHJvcEtleSwgbmV4dFByb3ApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzdHlsZVVwZGF0ZXMpIHtcbiAgICB7XG4gICAgICB2YWxpZGF0ZVNob3J0aGFuZFByb3BlcnR5Q29sbGlzaW9uSW5EZXYoc3R5bGVVcGRhdGVzLCBuZXh0UHJvcHNbU1RZTEVdKTtcbiAgICB9XG5cbiAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2goU1RZTEUsIHN0eWxlVXBkYXRlcyk7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlUGF5bG9hZDtcbn0gLy8gQXBwbHkgdGhlIGRpZmYuXG5cbmZ1bmN0aW9uIHVwZGF0ZVByb3BlcnRpZXMoZG9tRWxlbWVudCwgdXBkYXRlUGF5bG9hZCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcykge1xuICAvLyBVcGRhdGUgY2hlY2tlZCAqYmVmb3JlKiBuYW1lLlxuICAvLyBJbiB0aGUgbWlkZGxlIG9mIGFuIHVwZGF0ZSwgaXQgaXMgcG9zc2libGUgdG8gaGF2ZSBtdWx0aXBsZSBjaGVja2VkLlxuICAvLyBXaGVuIGEgY2hlY2tlZCByYWRpbyB0cmllcyB0byBjaGFuZ2UgbmFtZSwgYnJvd3NlciBtYWtlcyBhbm90aGVyIHJhZGlvJ3MgY2hlY2tlZCBmYWxzZS5cbiAgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiBuZXh0UmF3UHJvcHMudHlwZSA9PT0gJ3JhZGlvJyAmJiBuZXh0UmF3UHJvcHMubmFtZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlQ2hlY2tlZChkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICB9XG5cbiAgdmFyIHdhc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgbGFzdFJhd1Byb3BzKTtcbiAgdmFyIGlzQ3VzdG9tQ29tcG9uZW50VGFnID0gaXNDdXN0b21Db21wb25lbnQodGFnLCBuZXh0UmF3UHJvcHMpOyAvLyBBcHBseSB0aGUgZGlmZi5cblxuICB1cGRhdGVET01Qcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHdhc0N1c3RvbUNvbXBvbmVudFRhZywgaXNDdXN0b21Db21wb25lbnRUYWcpOyAvLyBUT0RPOiBFbnN1cmUgdGhhdCBhbiB1cGRhdGUgZ2V0cyBzY2hlZHVsZWQgaWYgYW55IG9mIHRoZSBzcGVjaWFsIHByb3BzXG4gIC8vIGNoYW5nZWQuXG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICAvLyBVcGRhdGUgdGhlIHdyYXBwZXIgYXJvdW5kIGlucHV0cyAqYWZ0ZXIqIHVwZGF0aW5nIHByb3BzLiBUaGlzIGhhcyB0b1xuICAgICAgLy8gaGFwcGVuIGFmdGVyIGB1cGRhdGVET01Qcm9wZXJ0aWVzYC4gT3RoZXJ3aXNlIEhUTUw1IGlucHV0IHZhbGlkYXRpb25zXG4gICAgICAvLyByYWlzZSB3YXJuaW5ncyBhbmQgcHJldmVudCB0aGUgbmV3IHZhbHVlIGZyb20gYmVpbmcgYXNzaWduZWQuXG4gICAgICB1cGRhdGVXcmFwcGVyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIHVwZGF0ZVdyYXBwZXIkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgLy8gPHNlbGVjdD4gdmFsdWUgdXBkYXRlIG5lZWRzIHRvIG9jY3VyIGFmdGVyIDxvcHRpb24+IGNoaWxkcmVuXG4gICAgICAvLyByZWNvbmNpbGlhdGlvblxuICAgICAgcG9zdFVwZGF0ZVdyYXBwZXIoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BOYW1lKSB7XG4gIHtcbiAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSBwcm9wTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKCFwb3NzaWJsZVN0YW5kYXJkTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zc2libGVTdGFuZGFyZE5hbWVzW2xvd2VyQ2FzZWROYW1lXSB8fCBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpZmZIeWRyYXRlZFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCByYXdQcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVyRWxlbWVudCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldikge1xuICB2YXIgaXNDdXN0b21Db21wb25lbnRUYWc7XG4gIHZhciBleHRyYUF0dHJpYnV0ZU5hbWVzO1xuXG4gIHtcbiAgICBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xuICAgIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQodGFnLCByYXdQcm9wcyk7XG4gIH0gLy8gVE9ETzogTWFrZSBzdXJlIHRoYXQgd2UgY2hlY2sgaXNNb3VudGVkIGJlZm9yZSBmaXJpbmcgYW55IG9mIHRoZXNlIGV2ZW50cy5cblxuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2NhbmNlbCcsIGRvbUVsZW1lbnQpO1xuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnY2xvc2UnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaWZyYW1lJzpcbiAgICBjYXNlICdvYmplY3QnOlxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBsb2FkIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd2aWRlbyc6XG4gICAgY2FzZSAnYXVkaW8nOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoZXNlIGV2ZW50cyBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciBhbGwgdGhlIG1lZGlhIGV2ZW50cy5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVkaWFFdmVudFR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQobWVkaWFFdmVudFR5cGVzW2ldLCBkb21FbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzb3VyY2UnOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGVycm9yIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnZXJyb3InLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdpbWFnZSc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhlc2UgZXZlbnRzIGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIGVycm9yIGFuZCBsb2FkIGV2ZW50cy5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdsb2FkJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIHRvZ2dsZSBldmVudC5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3RvZ2dsZScsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgIHZhbGlkYXRlUHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQyKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHJhd1Byb3BzKTtcblxuICB7XG4gICAgZXh0cmFBdHRyaWJ1dGVOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICB2YXIgYXR0cmlidXRlcyA9IGRvbUVsZW1lbnQuYXR0cmlidXRlcztcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVzW19pXS5uYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgICAvLyBDb250cm9sbGVkIGF0dHJpYnV0ZXMgYXJlIG5vdCB2YWxpZGF0ZWRcbiAgICAgICAgLy8gVE9ETzogT25seSBpZ25vcmUgdGhlbSBvbiBjb250cm9sbGVkIHRhZ3MuXG4gICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdjaGVja2VkJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdzZWxlY3RlZCc6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IHVzZSB0aGUgb3JpZ2luYWwgbmFtZS5cbiAgICAgICAgICAvLyBTZWUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMDY3Ni5cbiAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmFkZChhdHRyaWJ1dGVzW19pXS5uYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlUGF5bG9hZCA9IG51bGw7XG5cbiAgZm9yICh2YXIgcHJvcEtleSBpbiByYXdQcm9wcykge1xuICAgIGlmICghcmF3UHJvcHMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciBuZXh0UHJvcCA9IHJhd1Byb3BzW3Byb3BLZXldO1xuXG4gICAgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICAvLyBGb3IgdGV4dCBjb250ZW50IGNoaWxkcmVuIHdlIGNvbXBhcmUgYWdhaW5zdCB0ZXh0Q29udGVudC4gVGhpc1xuICAgICAgLy8gbWlnaHQgbWF0Y2ggYWRkaXRpb25hbCBIVE1MIHRoYXQgaXMgaGlkZGVuIHdoZW4gd2UgcmVhZCBpdCB1c2luZ1xuICAgICAgLy8gdGV4dENvbnRlbnQuIEUuZy4gXCJmb29cIiB3aWxsIG1hdGNoIFwiZjxzcGFuPm9vPC9zcGFuPlwiIGJ1dCB0aGF0IHN0aWxsXG4gICAgICAvLyBzYXRpc2ZpZXMgb3VyIHJlcXVpcmVtZW50LiBPdXIgcmVxdWlyZW1lbnQgaXMgbm90IHRvIHByb2R1Y2UgcGVyZmVjdFxuICAgICAgLy8gSFRNTCBhbmQgYXR0cmlidXRlcy4gSWRlYWxseSB3ZSBzaG91bGQgcHJlc2VydmUgc3RydWN0dXJlIGJ1dCBpdCdzXG4gICAgICAvLyBvayBub3QgdG8gaWYgdGhlIHZpc2libGUgY29udGVudCBpcyBzdGlsbCBlbm91Z2ggdG8gaW5kaWNhdGUgd2hhdFxuICAgICAgLy8gZXZlbiBsaXN0ZW5lcnMgdGhlc2Ugbm9kZXMgbWlnaHQgYmUgd2lyZWQgdXAgdG8uXG4gICAgICAvLyBUT0RPOiBXYXJuIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBhIHNpbmdsZSB0ZXh0Tm9kZSBhcyBhIGNoaWxkLlxuICAgICAgLy8gVE9ETzogU2hvdWxkIHdlIHVzZSBkb21FbGVtZW50LmZpcnN0Q2hpbGQubm9kZVZhbHVlIHRvIGNvbXBhcmU/XG4gICAgICBpZiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoZG9tRWxlbWVudC50ZXh0Q29udGVudCAhPT0gbmV4dFByb3ApIHtcbiAgICAgICAgICBpZiAocmF3UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkddICE9PSB0cnVlKSB7XG4gICAgICAgICAgICBjaGVja0ZvclVubWF0Y2hlZFRleHQoZG9tRWxlbWVudC50ZXh0Q29udGVudCwgbmV4dFByb3AsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbQ0hJTERSRU4sIG5leHRQcm9wXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGlmIChkb21FbGVtZW50LnRleHRDb250ZW50ICE9PSAnJyArIG5leHRQcm9wKSB7XG4gICAgICAgICAgaWYgKHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY2hlY2tGb3JVbm1hdGNoZWRUZXh0KGRvbUVsZW1lbnQudGV4dENvbnRlbnQsIG5leHRQcm9wLCBpc0NvbmN1cnJlbnRNb2RlLCBzaG91bGRXYXJuRGV2KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVQYXlsb2FkID0gW0NISUxEUkVOLCAnJyArIG5leHRQcm9wXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVnaXN0cmF0aW9uTmFtZURlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSkge1xuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BLZXkgPT09ICdvblNjcm9sbCcpIHtcbiAgICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdzY3JvbGwnLCBkb21FbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc2hvdWxkV2FybkRldiAmJiB0cnVlICYmIC8vIENvbnZpbmNlIEZsb3cgd2UndmUgY2FsY3VsYXRlZCBpdCAoaXQncyBERVYtb25seSBpbiB0aGlzIG1ldGhvZC4pXG4gICAgdHlwZW9mIGlzQ3VzdG9tQ29tcG9uZW50VGFnID09PSAnYm9vbGVhbicpIHtcbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIHByb3BlcnRpZXMgY29ycmVzcG9uZCB0byB0aGVpciBleHBlY3RlZCB2YWx1ZXMuXG4gICAgICB2YXIgc2VydmVyVmFsdWUgPSB2b2lkIDA7XG4gICAgICB2YXIgcHJvcGVydHlJbmZvID0gaXNDdXN0b21Db21wb25lbnRUYWcgJiYgZW5hYmxlQ3VzdG9tRWxlbWVudFByb3BlcnR5U3VwcG9ydCA/IG51bGwgOiBnZXRQcm9wZXJ0eUluZm8ocHJvcEtleSk7XG5cbiAgICAgIGlmIChyYXdQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklOR10gPT09IHRydWUpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HIHx8IC8vIENvbnRyb2xsZWQgYXR0cmlidXRlcyBhcmUgbm90IHZhbGlkYXRlZFxuICAgICAgLy8gVE9ETzogT25seSBpZ25vcmUgdGhlbSBvbiBjb250cm9sbGVkIHRhZ3MuXG4gICAgICBwcm9wS2V5ID09PSAndmFsdWUnIHx8IHByb3BLZXkgPT09ICdjaGVja2VkJyB8fCBwcm9wS2V5ID09PSAnc2VsZWN0ZWQnKSA7IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICAgIHZhciBzZXJ2ZXJIVE1MID0gZG9tRWxlbWVudC5pbm5lckhUTUw7XG4gICAgICAgIHZhciBuZXh0SHRtbCA9IG5leHRQcm9wID8gbmV4dFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAobmV4dEh0bWwgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBleHBlY3RlZEhUTUwgPSBub3JtYWxpemVIVE1MKGRvbUVsZW1lbnQsIG5leHRIdG1sKTtcblxuICAgICAgICAgIGlmIChleHBlY3RlZEhUTUwgIT09IHNlcnZlckhUTUwpIHtcbiAgICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJIVE1MLCBleHBlY3RlZEhUTUwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHByb3BLZXkpO1xuXG4gICAgICAgIGlmIChjYW5EaWZmU3R5bGVGb3JIeWRyYXRpb25XYXJuaW5nKSB7XG4gICAgICAgICAgdmFyIGV4cGVjdGVkU3R5bGUgPSBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMobmV4dFByb3ApO1xuICAgICAgICAgIHNlcnZlclZhbHVlID0gZG9tRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7XG5cbiAgICAgICAgICBpZiAoZXhwZWN0ZWRTdHlsZSAhPT0gc2VydmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgZXhwZWN0ZWRTdHlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnICYmICFlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0KSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cbiAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcEtleS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgc2VydmVyVmFsdWUgPSBnZXRWYWx1ZUZvckF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCk7XG5cbiAgICAgICAgaWYgKG5leHRQcm9wICE9PSBzZXJ2ZXJWYWx1ZSkge1xuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRJZ25vcmVBdHRyaWJ1dGUocHJvcEtleSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykgJiYgIXNob3VsZFJlbW92ZUF0dHJpYnV0ZShwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICAgICAgdmFyIGlzTWlzbWF0Y2hEdWVUb0JhZENhc2luZyA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwpIHtcbiAgICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWUpO1xuICAgICAgICAgIHNlcnZlclZhbHVlID0gZ2V0VmFsdWVGb3JQcm9wZXJ0eShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gcGFyZW50TmFtZXNwYWNlO1xuXG4gICAgICAgICAgaWYgKG93bk5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcbiAgICAgICAgICAgIG93bk5hbWVzcGFjZSA9IGdldEludHJpbnNpY05hbWVzcGFjZSh0YWcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChvd25OYW1lc3BhY2UgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAgICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgc3RhbmRhcmROYW1lID0gZ2V0UG9zc2libGVTdGFuZGFyZE5hbWUocHJvcEtleSk7XG5cbiAgICAgICAgICAgIGlmIChzdGFuZGFyZE5hbWUgIT09IG51bGwgJiYgc3RhbmRhcmROYW1lICE9PSBwcm9wS2V5KSB7XG4gICAgICAgICAgICAgIC8vIElmIGFuIFNWRyBwcm9wIGlzIHN1cHBsaWVkIHdpdGggYmFkIGNhc2luZywgaXQgd2lsbFxuICAgICAgICAgICAgICAvLyBiZSBzdWNjZXNzZnVsbHkgcGFyc2VkIGZyb20gSFRNTCwgYnV0IHdpbGwgcHJvZHVjZSBhIG1pc21hdGNoXG4gICAgICAgICAgICAgIC8vIChhbmQgd291bGQgYmUgaW5jb3JyZWN0bHkgcmVuZGVyZWQgb24gdGhlIGNsaWVudCkuXG4gICAgICAgICAgICAgIC8vIEhvd2V2ZXIsIHdlIGFscmVhZHkgd2FybiBhYm91dCBiYWQgY2FzaW5nIGVsc2V3aGVyZS5cbiAgICAgICAgICAgICAgLy8gU28gd2UnbGwgc2tpcCB0aGUgbWlzbGVhZGluZyBleHRyYSBtaXNtYXRjaCB3YXJuaW5nIGluIHRoaXMgY2FzZS5cbiAgICAgICAgICAgICAgaXNNaXNtYXRjaER1ZVRvQmFkQ2FzaW5nID0gdHJ1ZTsgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxuXG4gICAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHN0YW5kYXJkTmFtZSk7XG4gICAgICAgICAgICB9IC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cblxuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGdldFZhbHVlRm9yQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkb250V2FybkN1c3RvbUVsZW1lbnQgPSBlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0ICA7XG5cbiAgICAgICAgaWYgKCFkb250V2FybkN1c3RvbUVsZW1lbnQgJiYgbmV4dFByb3AgIT09IHNlcnZlclZhbHVlICYmICFpc01pc21hdGNoRHVlVG9CYWRDYXNpbmcpIHtcbiAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIG5leHRQcm9wKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBpZiAoc2hvdWxkV2FybkRldikge1xuICAgICAgaWYgKCAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLnNpemUgPiAwICYmIHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXMoZXh0cmFBdHRyaWJ1dGVOYW1lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICAvLyBUT0RPOiBNYWtlIHN1cmUgd2UgY2hlY2sgaWYgdGhpcyBpcyBzdGlsbCB1bm1vdW50ZWQgb3IgZG8gYW55IGNsZWFuXG4gICAgICAvLyB1cCBuZWNlc3Nhcnkgc2luY2Ugd2UgbmV2ZXIgc3RvcCB0cmFja2luZyBhbnltb3JlLlxuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XG4gICAgICBwb3N0TW91bnRXcmFwcGVyKGRvbUVsZW1lbnQsIHJhd1Byb3BzLCB0cnVlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICAvLyBGb3IgaW5wdXQgYW5kIHRleHRhcmVhIHdlIGN1cnJlbnQgYWx3YXlzIHNldCB0aGUgdmFsdWUgcHJvcGVydHkgYXRcbiAgICAgIC8vIHBvc3QgbW91bnQgdG8gZm9yY2UgaXQgdG8gZGl2ZXJnZSBmcm9tIGF0dHJpYnV0ZXMuIEhvd2V2ZXIsIGZvclxuICAgICAgLy8gb3B0aW9uIGFuZCBzZWxlY3Qgd2UgZG9uJ3QgcXVpdGUgZG8gdGhlIHNhbWUgdGhpbmcgYW5kIHNlbGVjdFxuICAgICAgLy8gaXMgbm90IHJlc2lsaWVudCB0byB0aGUgRE9NIHN0YXRlIGNoYW5naW5nIHNvIHdlIGRvbid0IGRvIHRoYXQgaGVyZS5cbiAgICAgIC8vIFRPRE86IENvbnNpZGVyIG5vdCBkb2luZyB0aGlzIGZvciBpbnB1dCBhbmQgdGV4dGFyZWEuXG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAodHlwZW9mIHJhd1Byb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZVBheWxvYWQ7XG59XG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRUZXh0KHRleHROb2RlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHZhciBpc0RpZmZlcmVudCA9IHRleHROb2RlLm5vZGVWYWx1ZSAhPT0gdGV4dDtcbiAgcmV0dXJuIGlzRGlmZmVyZW50O1xufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gYSA8JXM+IGluIDwlcz4uJywgY2hpbGQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwgcGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gdGhlIHRleHQgbm9kZSBcIiVzXCIgaW4gPCVzPi4nLCBjaGlsZC5ub2RlVmFsdWUsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0YWcsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIDwlcz4gaW4gPCVzPi4nLCB0YWcsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KSB7XG4gIHtcbiAgICBpZiAodGV4dCA9PT0gJycpIHtcbiAgICAgIC8vIFdlIGV4cGVjdCB0byBpbnNlcnQgZW1wdHkgdGV4dCBub2RlcyBzaW5jZSB0aGV5J3JlIG5vdCByZXByZXNlbnRlZCBpblxuICAgICAgLy8gdGhlIEhUTUwuXG4gICAgICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgaWYgd2UgY2FuIGp1c3QgYXZvaWQgaW5zZXJ0aW5nIGVtcHR5XG4gICAgICAvLyB0ZXh0IG5vZGVzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcblxuICAgIGVycm9yKCdFeHBlY3RlZCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgbWF0Y2hpbmcgdGV4dCBub2RlIGZvciBcIiVzXCIgaW4gPCVzPi4nLCB0ZXh0LCBwYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMoZG9tRWxlbWVudCwgdGFnLCBwcm9wcykge1xuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIHJlc3RvcmVDb250cm9sbGVkU3RhdGUoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQyKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDEoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuICB9XG59XG5cbnZhciB2YWxpZGF0ZURPTU5lc3RpbmcgPSBmdW5jdGlvbiAoKSB7fTtcblxudmFyIHVwZGF0ZWRBbmNlc3RvckluZm8gPSBmdW5jdGlvbiAoKSB7fTtcblxue1xuICAvLyBUaGlzIHZhbGlkYXRpb24gY29kZSB3YXMgd3JpdHRlbiBiYXNlZCBvbiB0aGUgSFRNTDUgcGFyc2luZyBzcGVjOlxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNoYXMtYW4tZWxlbWVudC1pbi1zY29wZVxuICAvL1xuICAvLyBOb3RlOiB0aGlzIGRvZXMgbm90IGNhdGNoIGFsbCBpbnZhbGlkIG5lc3RpbmcsIG5vciBkb2VzIGl0IHRyeSB0byAoYXMgaXQnc1xuICAvLyBub3QgY2xlYXIgd2hhdCBwcmFjdGljYWwgYmVuZWZpdCBkb2luZyBzbyBwcm92aWRlcyk7IGluc3RlYWQsIHdlIHdhcm4gb25seVxuICAvLyBmb3IgY2FzZXMgd2hlcmUgdGhlIHBhcnNlciB3aWxsIGdpdmUgYSBwYXJzZSB0cmVlIGRpZmZlcmluZyBmcm9tIHdoYXQgUmVhY3RcbiAgLy8gaW50ZW5kZWQuIEZvciBleGFtcGxlLCA8Yj48ZGl2PjwvZGl2PjwvYj4gaXMgaW52YWxpZCBidXQgd2UgZG9uJ3Qgd2FyblxuICAvLyBiZWNhdXNlIGl0IHN0aWxsIHBhcnNlcyBjb3JyZWN0bHk7IHdlIGRvIHdhcm4gZm9yIG90aGVyIGNhc2VzIGxpa2UgbmVzdGVkXG4gIC8vIDxwPiB0YWdzIHdoZXJlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlY29uZCBlbGVtZW50IGltcGxpY2l0bHkgY2xvc2VzIHRoZVxuICAvLyBmaXJzdCwgY2F1c2luZyBhIGNvbmZ1c2luZyBtZXNzLlxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNzcGVjaWFsXG4gIHZhciBzcGVjaWFsVGFncyA9IFsnYWRkcmVzcycsICdhcHBsZXQnLCAnYXJlYScsICdhcnRpY2xlJywgJ2FzaWRlJywgJ2Jhc2UnLCAnYmFzZWZvbnQnLCAnYmdzb3VuZCcsICdibG9ja3F1b3RlJywgJ2JvZHknLCAnYnInLCAnYnV0dG9uJywgJ2NhcHRpb24nLCAnY2VudGVyJywgJ2NvbCcsICdjb2xncm91cCcsICdkZCcsICdkZXRhaWxzJywgJ2RpcicsICdkaXYnLCAnZGwnLCAnZHQnLCAnZW1iZWQnLCAnZmllbGRzZXQnLCAnZmlnY2FwdGlvbicsICdmaWd1cmUnLCAnZm9vdGVyJywgJ2Zvcm0nLCAnZnJhbWUnLCAnZnJhbWVzZXQnLCAnaDEnLCAnaDInLCAnaDMnLCAnaDQnLCAnaDUnLCAnaDYnLCAnaGVhZCcsICdoZWFkZXInLCAnaGdyb3VwJywgJ2hyJywgJ2h0bWwnLCAnaWZyYW1lJywgJ2ltZycsICdpbnB1dCcsICdpc2luZGV4JywgJ2xpJywgJ2xpbmsnLCAnbGlzdGluZycsICdtYWluJywgJ21hcnF1ZWUnLCAnbWVudScsICdtZW51aXRlbScsICdtZXRhJywgJ25hdicsICdub2VtYmVkJywgJ25vZnJhbWVzJywgJ25vc2NyaXB0JywgJ29iamVjdCcsICdvbCcsICdwJywgJ3BhcmFtJywgJ3BsYWludGV4dCcsICdwcmUnLCAnc2NyaXB0JywgJ3NlY3Rpb24nLCAnc2VsZWN0JywgJ3NvdXJjZScsICdzdHlsZScsICdzdW1tYXJ5JywgJ3RhYmxlJywgJ3Rib2R5JywgJ3RkJywgJ3RlbXBsYXRlJywgJ3RleHRhcmVhJywgJ3Rmb290JywgJ3RoJywgJ3RoZWFkJywgJ3RpdGxlJywgJ3RyJywgJ3RyYWNrJywgJ3VsJywgJ3dicicsICd4bXAnXTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tc2NvcGVcblxuICB2YXIgaW5TY29wZVRhZ3MgPSBbJ2FwcGxldCcsICdjYXB0aW9uJywgJ2h0bWwnLCAndGFibGUnLCAndGQnLCAndGgnLCAnbWFycXVlZScsICdvYmplY3QnLCAndGVtcGxhdGUnLCAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNodG1sLWludGVncmF0aW9uLXBvaW50XG4gIC8vIFRPRE86IERpc3Rpbmd1aXNoIGJ5IG5hbWVzcGFjZSBoZXJlIC0tIGZvciA8dGl0bGU+LCBpbmNsdWRpbmcgaXQgaGVyZVxuICAvLyBlcnJzIG9uIHRoZSBzaWRlIG9mIGZld2VyIHdhcm5pbmdzXG4gICdmb3JlaWduT2JqZWN0JywgJ2Rlc2MnLCAndGl0bGUnXTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tYnV0dG9uLXNjb3BlXG5cbiAgdmFyIGJ1dHRvblNjb3BlVGFncyA9IGluU2NvcGVUYWdzLmNvbmNhdChbJ2J1dHRvbiddKTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjZ2VuZXJhdGUtaW1wbGllZC1lbmQtdGFnc1xuXG4gIHZhciBpbXBsaWVkRW5kVGFncyA9IFsnZGQnLCAnZHQnLCAnbGknLCAnb3B0aW9uJywgJ29wdGdyb3VwJywgJ3AnLCAncnAnLCAncnQnXTtcbiAgdmFyIGVtcHR5QW5jZXN0b3JJbmZvID0ge1xuICAgIGN1cnJlbnQ6IG51bGwsXG4gICAgZm9ybVRhZzogbnVsbCxcbiAgICBhVGFnSW5TY29wZTogbnVsbCxcbiAgICBidXR0b25UYWdJblNjb3BlOiBudWxsLFxuICAgIG5vYnJUYWdJblNjb3BlOiBudWxsLFxuICAgIHBUYWdJbkJ1dHRvblNjb3BlOiBudWxsLFxuICAgIGxpc3RJdGVtVGFnQXV0b2Nsb3Npbmc6IG51bGwsXG4gICAgZGxJdGVtVGFnQXV0b2Nsb3Npbmc6IG51bGxcbiAgfTtcblxuICB1cGRhdGVkQW5jZXN0b3JJbmZvID0gZnVuY3Rpb24gKG9sZEluZm8sIHRhZykge1xuICAgIHZhciBhbmNlc3RvckluZm8gPSBhc3NpZ24oe30sIG9sZEluZm8gfHwgZW1wdHlBbmNlc3RvckluZm8pO1xuXG4gICAgdmFyIGluZm8gPSB7XG4gICAgICB0YWc6IHRhZ1xuICAgIH07XG5cbiAgICBpZiAoaW5TY29wZVRhZ3MuaW5kZXhPZih0YWcpICE9PSAtMSkge1xuICAgICAgYW5jZXN0b3JJbmZvLmFUYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5ub2JyVGFnSW5TY29wZSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGJ1dHRvblNjb3BlVGFncy5pbmRleE9mKHRhZykgIT09IC0xKSB7XG4gICAgICBhbmNlc3RvckluZm8ucFRhZ0luQnV0dG9uU2NvcGUgPSBudWxsO1xuICAgIH0gLy8gU2VlIHJ1bGVzIGZvciAnbGknLCAnZGQnLCAnZHQnIHN0YXJ0IHRhZ3MgaW5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5XG5cblxuICAgIGlmIChzcGVjaWFsVGFncy5pbmRleE9mKHRhZykgIT09IC0xICYmIHRhZyAhPT0gJ2FkZHJlc3MnICYmIHRhZyAhPT0gJ2RpdicgJiYgdGFnICE9PSAncCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IG51bGw7XG4gICAgfVxuXG4gICAgYW5jZXN0b3JJbmZvLmN1cnJlbnQgPSBpbmZvO1xuXG4gICAgaWYgKHRhZyA9PT0gJ2Zvcm0nKSB7XG4gICAgICBhbmNlc3RvckluZm8uZm9ybVRhZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2EnKSB7XG4gICAgICBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdidXR0b24nKSB7XG4gICAgICBhbmNlc3RvckluZm8uYnV0dG9uVGFnSW5TY29wZSA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ25vYnInKSB7XG4gICAgICBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdwJykge1xuICAgICAgYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlID0gaW5mbztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSAnbGknKSB7XG4gICAgICBhbmNlc3RvckluZm8ubGlzdEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2RkJyB8fCB0YWcgPT09ICdkdCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgcmV0dXJuIGFuY2VzdG9ySW5mbztcbiAgfTtcbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlclxuICAgKi9cblxuXG4gIHZhciBpc1RhZ1ZhbGlkV2l0aFBhcmVudCA9IGZ1bmN0aW9uICh0YWcsIHBhcmVudFRhZykge1xuICAgIC8vIEZpcnN0LCBsZXQncyBjaGVjayBpZiB3ZSdyZSBpbiBhbiB1bnVzdWFsIHBhcnNpbmcgbW9kZS4uLlxuICAgIHN3aXRjaCAocGFyZW50VGFnKSB7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5zZWxlY3RcbiAgICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdvcHRpb24nIHx8IHRhZyA9PT0gJ29wdGdyb3VwJyB8fCB0YWcgPT09ICcjdGV4dCc7XG5cbiAgICAgIGNhc2UgJ29wdGdyb3VwJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ29wdGlvbicgfHwgdGFnID09PSAnI3RleHQnO1xuICAgICAgLy8gU3RyaWN0bHkgc3BlYWtpbmcsIHNlZWluZyBhbiA8b3B0aW9uPiBkb2Vzbid0IG1lYW4gd2UncmUgaW4gYSA8c2VsZWN0PlxuICAgICAgLy8gYnV0XG5cbiAgICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICcjdGV4dCc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50ZFxuICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluY2FwdGlvblxuICAgICAgLy8gTm8gc3BlY2lhbCBiZWhhdmlvciBzaW5jZSB0aGVzZSBydWxlcyBmYWxsIGJhY2sgdG8gXCJpbiBib2R5XCIgbW9kZSBmb3JcbiAgICAgIC8vIGFsbCBleGNlcHQgc3BlY2lhbCB0YWJsZSBub2RlcyB3aGljaCBjYXVzZSBiYWQgcGFyc2luZyBiZWhhdmlvciBhbnl3YXkuXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50clxuXG4gICAgICBjYXNlICd0cic6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICd0aCcgfHwgdGFnID09PSAndGQnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRib2R5XG5cbiAgICAgIGNhc2UgJ3Rib2R5JzpcbiAgICAgIGNhc2UgJ3RoZWFkJzpcbiAgICAgIGNhc2UgJ3Rmb290JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ3RyJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5jb2xncm91cFxuXG4gICAgICBjYXNlICdjb2xncm91cCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdjb2wnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRhYmxlXG5cbiAgICAgIGNhc2UgJ3RhYmxlJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2NhcHRpb24nIHx8IHRhZyA9PT0gJ2NvbGdyb3VwJyB8fCB0YWcgPT09ICd0Ym9keScgfHwgdGFnID09PSAndGZvb3QnIHx8IHRhZyA9PT0gJ3RoZWFkJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5oZWFkXG5cbiAgICAgIGNhc2UgJ2hlYWQnOlxuICAgICAgICByZXR1cm4gdGFnID09PSAnYmFzZScgfHwgdGFnID09PSAnYmFzZWZvbnQnIHx8IHRhZyA9PT0gJ2Jnc291bmQnIHx8IHRhZyA9PT0gJ2xpbmsnIHx8IHRhZyA9PT0gJ21ldGEnIHx8IHRhZyA9PT0gJ3RpdGxlJyB8fCB0YWcgPT09ICdub3NjcmlwdCcgfHwgdGFnID09PSAnbm9mcmFtZXMnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1odG1sLWVsZW1lbnRcblxuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdoZWFkJyB8fCB0YWcgPT09ICdib2R5JyB8fCB0YWcgPT09ICdmcmFtZXNldCc7XG5cbiAgICAgIGNhc2UgJ2ZyYW1lc2V0JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2ZyYW1lJztcblxuICAgICAgY2FzZSAnI2RvY3VtZW50JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2h0bWwnO1xuICAgIH0gLy8gUHJvYmFibHkgaW4gdGhlIFwiaW4gYm9keVwiIHBhcnNpbmcgbW9kZSwgc28gd2Ugb3V0bGF3IG9ubHkgdGFnIGNvbWJvc1xuICAgIC8vIHdoZXJlIHRoZSBwYXJzaW5nIHJ1bGVzIGNhdXNlIGltcGxpY2l0IG9wZW5zIG9yIGNsb3NlcyB0byBiZSBhZGRlZC5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5XG5cblxuICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICBjYXNlICdoMSc6XG4gICAgICBjYXNlICdoMic6XG4gICAgICBjYXNlICdoMyc6XG4gICAgICBjYXNlICdoNCc6XG4gICAgICBjYXNlICdoNSc6XG4gICAgICBjYXNlICdoNic6XG4gICAgICAgIHJldHVybiBwYXJlbnRUYWcgIT09ICdoMScgJiYgcGFyZW50VGFnICE9PSAnaDInICYmIHBhcmVudFRhZyAhPT0gJ2gzJyAmJiBwYXJlbnRUYWcgIT09ICdoNCcgJiYgcGFyZW50VGFnICE9PSAnaDUnICYmIHBhcmVudFRhZyAhPT0gJ2g2JztcblxuICAgICAgY2FzZSAncnAnOlxuICAgICAgY2FzZSAncnQnOlxuICAgICAgICByZXR1cm4gaW1wbGllZEVuZFRhZ3MuaW5kZXhPZihwYXJlbnRUYWcpID09PSAtMTtcblxuICAgICAgY2FzZSAnYm9keSc6XG4gICAgICBjYXNlICdjYXB0aW9uJzpcbiAgICAgIGNhc2UgJ2NvbCc6XG4gICAgICBjYXNlICdjb2xncm91cCc6XG4gICAgICBjYXNlICdmcmFtZXNldCc6XG4gICAgICBjYXNlICdmcmFtZSc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGNhc2UgJ2h0bWwnOlxuICAgICAgY2FzZSAndGJvZHknOlxuICAgICAgY2FzZSAndGQnOlxuICAgICAgY2FzZSAndGZvb3QnOlxuICAgICAgY2FzZSAndGgnOlxuICAgICAgY2FzZSAndGhlYWQnOlxuICAgICAgY2FzZSAndHInOlxuICAgICAgICAvLyBUaGVzZSB0YWdzIGFyZSBvbmx5IHZhbGlkIHdpdGggYSBmZXcgcGFyZW50cyB0aGF0IGhhdmUgc3BlY2lhbCBjaGlsZFxuICAgICAgICAvLyBwYXJzaW5nIHJ1bGVzIC0tIGlmIHdlJ3JlIGRvd24gaGVyZSwgdGhlbiBub25lIG9mIHRob3NlIG1hdGNoZWQgYW5kXG4gICAgICAgIC8vIHNvIHdlIGFsbG93IGl0IG9ubHkgaWYgd2UgZG9uJ3Qga25vdyB3aGF0IHRoZSBwYXJlbnQgaXMsIGFzIGFsbCBvdGhlclxuICAgICAgICAvLyBjYXNlcyBhcmUgaW52YWxpZC5cbiAgICAgICAgcmV0dXJuIHBhcmVudFRhZyA9PSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyXG4gICAqL1xuXG5cbiAgdmFyIGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcgPSBmdW5jdGlvbiAodGFnLCBhbmNlc3RvckluZm8pIHtcbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSAnYWRkcmVzcyc6XG4gICAgICBjYXNlICdhcnRpY2xlJzpcbiAgICAgIGNhc2UgJ2FzaWRlJzpcbiAgICAgIGNhc2UgJ2Jsb2NrcXVvdGUnOlxuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgIGNhc2UgJ2Rpcic6XG4gICAgICBjYXNlICdkaXYnOlxuICAgICAgY2FzZSAnZGwnOlxuICAgICAgY2FzZSAnZmllbGRzZXQnOlxuICAgICAgY2FzZSAnZmlnY2FwdGlvbic6XG4gICAgICBjYXNlICdmaWd1cmUnOlxuICAgICAgY2FzZSAnZm9vdGVyJzpcbiAgICAgIGNhc2UgJ2hlYWRlcic6XG4gICAgICBjYXNlICdoZ3JvdXAnOlxuICAgICAgY2FzZSAnbWFpbic6XG4gICAgICBjYXNlICdtZW51JzpcbiAgICAgIGNhc2UgJ25hdic6XG4gICAgICBjYXNlICdvbCc6XG4gICAgICBjYXNlICdwJzpcbiAgICAgIGNhc2UgJ3NlY3Rpb24nOlxuICAgICAgY2FzZSAnc3VtbWFyeSc6XG4gICAgICBjYXNlICd1bCc6XG4gICAgICBjYXNlICdwcmUnOlxuICAgICAgY2FzZSAnbGlzdGluZyc6XG4gICAgICBjYXNlICd0YWJsZSc6XG4gICAgICBjYXNlICdocic6XG4gICAgICBjYXNlICd4bXAnOlxuICAgICAgY2FzZSAnaDEnOlxuICAgICAgY2FzZSAnaDInOlxuICAgICAgY2FzZSAnaDMnOlxuICAgICAgY2FzZSAnaDQnOlxuICAgICAgY2FzZSAnaDUnOlxuICAgICAgY2FzZSAnaDYnOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlO1xuXG4gICAgICBjYXNlICdmb3JtJzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5mb3JtVGFnIHx8IGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZTtcblxuICAgICAgY2FzZSAnbGknOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmxpc3RJdGVtVGFnQXV0b2Nsb3Npbmc7XG5cbiAgICAgIGNhc2UgJ2RkJzpcbiAgICAgIGNhc2UgJ2R0JzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZztcblxuICAgICAgY2FzZSAnYnV0dG9uJzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlO1xuXG4gICAgICBjYXNlICdhJzpcbiAgICAgICAgLy8gU3BlYyBzYXlzIHNvbWV0aGluZyBhYm91dCBzdG9yaW5nIGEgbGlzdCBvZiBtYXJrZXJzLCBidXQgaXQgc291bmRzXG4gICAgICAgIC8vIGVxdWl2YWxlbnQgdG8gdGhpcyBjaGVjay5cbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5hVGFnSW5TY29wZTtcblxuICAgICAgY2FzZSAnbm9icic6XG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgdmFyIGRpZFdhcm4kMSA9IHt9O1xuXG4gIHZhbGlkYXRlRE9NTmVzdGluZyA9IGZ1bmN0aW9uIChjaGlsZFRhZywgY2hpbGRUZXh0LCBhbmNlc3RvckluZm8pIHtcbiAgICBhbmNlc3RvckluZm8gPSBhbmNlc3RvckluZm8gfHwgZW1wdHlBbmNlc3RvckluZm87XG4gICAgdmFyIHBhcmVudEluZm8gPSBhbmNlc3RvckluZm8uY3VycmVudDtcbiAgICB2YXIgcGFyZW50VGFnID0gcGFyZW50SW5mbyAmJiBwYXJlbnRJbmZvLnRhZztcblxuICAgIGlmIChjaGlsZFRleHQgIT0gbnVsbCkge1xuICAgICAgaWYgKGNoaWxkVGFnICE9IG51bGwpIHtcbiAgICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZzogd2hlbiBjaGlsZFRleHQgaXMgcGFzc2VkLCBjaGlsZFRhZyBzaG91bGQgYmUgbnVsbCcpO1xuICAgICAgfVxuXG4gICAgICBjaGlsZFRhZyA9ICcjdGV4dCc7XG4gICAgfVxuXG4gICAgdmFyIGludmFsaWRQYXJlbnQgPSBpc1RhZ1ZhbGlkV2l0aFBhcmVudChjaGlsZFRhZywgcGFyZW50VGFnKSA/IG51bGwgOiBwYXJlbnRJbmZvO1xuICAgIHZhciBpbnZhbGlkQW5jZXN0b3IgPSBpbnZhbGlkUGFyZW50ID8gbnVsbCA6IGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcoY2hpbGRUYWcsIGFuY2VzdG9ySW5mbyk7XG4gICAgdmFyIGludmFsaWRQYXJlbnRPckFuY2VzdG9yID0gaW52YWxpZFBhcmVudCB8fCBpbnZhbGlkQW5jZXN0b3I7XG5cbiAgICBpZiAoIWludmFsaWRQYXJlbnRPckFuY2VzdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGFuY2VzdG9yVGFnID0gaW52YWxpZFBhcmVudE9yQW5jZXN0b3IudGFnO1xuICAgIHZhciB3YXJuS2V5ID0gISFpbnZhbGlkUGFyZW50ICsgJ3wnICsgY2hpbGRUYWcgKyAnfCcgKyBhbmNlc3RvclRhZztcblxuICAgIGlmIChkaWRXYXJuJDFbd2FybktleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuJDFbd2FybktleV0gPSB0cnVlO1xuICAgIHZhciB0YWdEaXNwbGF5TmFtZSA9IGNoaWxkVGFnO1xuICAgIHZhciB3aGl0ZXNwYWNlSW5mbyA9ICcnO1xuXG4gICAgaWYgKGNoaWxkVGFnID09PSAnI3RleHQnKSB7XG4gICAgICBpZiAoL1xcUy8udGVzdChjaGlsZFRleHQpKSB7XG4gICAgICAgIHRhZ0Rpc3BsYXlOYW1lID0gJ1RleHQgbm9kZXMnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFnRGlzcGxheU5hbWUgPSAnV2hpdGVzcGFjZSB0ZXh0IG5vZGVzJztcbiAgICAgICAgd2hpdGVzcGFjZUluZm8gPSBcIiBNYWtlIHN1cmUgeW91IGRvbid0IGhhdmUgYW55IGV4dHJhIHdoaXRlc3BhY2UgYmV0d2VlbiB0YWdzIG9uIFwiICsgJ2VhY2ggbGluZSBvZiB5b3VyIHNvdXJjZSBjb2RlLic7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhZ0Rpc3BsYXlOYW1lID0gJzwnICsgY2hpbGRUYWcgKyAnPic7XG4gICAgfVxuXG4gICAgaWYgKGludmFsaWRQYXJlbnQpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmIChhbmNlc3RvclRhZyA9PT0gJ3RhYmxlJyAmJiBjaGlsZFRhZyA9PT0gJ3RyJykge1xuICAgICAgICBpbmZvICs9ICcgQWRkIGEgPHRib2R5PiwgPHRoZWFkPiBvciA8dGZvb3Q+IHRvIHlvdXIgY29kZSB0byBtYXRjaCB0aGUgRE9NIHRyZWUgZ2VuZXJhdGVkIGJ5ICcgKyAndGhlIGJyb3dzZXIuJztcbiAgICAgIH1cblxuICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZyguLi4pOiAlcyBjYW5ub3QgYXBwZWFyIGFzIGEgY2hpbGQgb2YgPCVzPi4lcyVzJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnLCB3aGl0ZXNwYWNlSW5mbywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yKCd2YWxpZGF0ZURPTU5lc3RpbmcoLi4uKTogJXMgY2Fubm90IGFwcGVhciBhcyBhIGRlc2NlbmRhbnQgb2YgJyArICc8JXM+LicsIHRhZ0Rpc3BsYXlOYW1lLCBhbmNlc3RvclRhZyk7XG4gICAgfVxuICB9O1xufVxuXG52YXIgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMSA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xudmFyIFNVU1BFTlNFX1NUQVJUX0RBVEEgPSAnJCc7XG52YXIgU1VTUEVOU0VfRU5EX0RBVEEgPSAnLyQnO1xudmFyIFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSA9ICckPyc7XG52YXIgU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSA9ICckISc7XG52YXIgU1RZTEUkMSA9ICdzdHlsZSc7XG52YXIgZXZlbnRzRW5hYmxlZCA9IG51bGw7XG52YXIgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xuZnVuY3Rpb24gZ2V0Um9vdEhvc3RDb250ZXh0KHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB2YXIgdHlwZTtcbiAgdmFyIG5hbWVzcGFjZTtcbiAgdmFyIG5vZGVUeXBlID0gcm9vdENvbnRhaW5lckluc3RhbmNlLm5vZGVUeXBlO1xuXG4gIHN3aXRjaCAobm9kZVR5cGUpIHtcbiAgICBjYXNlIERPQ1VNRU5UX05PREU6XG4gICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOlxuICAgICAge1xuICAgICAgICB0eXBlID0gbm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyAnI2RvY3VtZW50JyA6ICcjZnJhZ21lbnQnO1xuICAgICAgICB2YXIgcm9vdCA9IHJvb3RDb250YWluZXJJbnN0YW5jZS5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIG5hbWVzcGFjZSA9IHJvb3QgPyByb290Lm5hbWVzcGFjZVVSSSA6IGdldENoaWxkTmFtZXNwYWNlKG51bGwsICcnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICB2YXIgY29udGFpbmVyID0gbm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IHJvb3RDb250YWluZXJJbnN0YW5jZS5wYXJlbnROb2RlIDogcm9vdENvbnRhaW5lckluc3RhbmNlO1xuICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gY29udGFpbmVyLm5hbWVzcGFjZVVSSSB8fCBudWxsO1xuICAgICAgICB0eXBlID0gY29udGFpbmVyLnRhZ05hbWU7XG4gICAgICAgIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKG93bk5hbWVzcGFjZSwgdHlwZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG5cbiAge1xuICAgIHZhciB2YWxpZGF0ZWRUYWcgPSB0eXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8obnVsbCwgdmFsaWRhdGVkVGFnKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldENoaWxkSG9zdENvbnRleHQocGFyZW50SG9zdENvbnRleHQsIHR5cGUsIHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB7XG4gICAgdmFyIHBhcmVudEhvc3RDb250ZXh0RGV2ID0gcGFyZW50SG9zdENvbnRleHQ7XG4gICAgdmFyIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKHBhcmVudEhvc3RDb250ZXh0RGV2Lm5hbWVzcGFjZSwgdHlwZSk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8ocGFyZW50SG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZTtcbn1cbmZ1bmN0aW9uIHByZXBhcmVGb3JDb21taXQoY29udGFpbmVySW5mbykge1xuICBldmVudHNFbmFibGVkID0gaXNFbmFibGVkKCk7XG4gIHNlbGVjdGlvbkluZm9ybWF0aW9uID0gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKTtcbiAgdmFyIGFjdGl2ZUluc3RhbmNlID0gbnVsbDtcblxuICBzZXRFbmFibGVkKGZhbHNlKTtcbiAgcmV0dXJuIGFjdGl2ZUluc3RhbmNlO1xufVxuZnVuY3Rpb24gcmVzZXRBZnRlckNvbW1pdChjb250YWluZXJJbmZvKSB7XG4gIHJlc3RvcmVTZWxlY3Rpb24oc2VsZWN0aW9uSW5mb3JtYXRpb24pO1xuICBzZXRFbmFibGVkKGV2ZW50c0VuYWJsZWQpO1xuICBldmVudHNFbmFibGVkID0gbnVsbDtcbiAgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xufVxuZnVuY3Rpb24gY3JlYXRlSW5zdGFuY2UodHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcblxuICB7XG4gICAgLy8gVE9ETzogdGFrZSBuYW1lc3BhY2UgaW50byBhY2NvdW50IHdoZW4gdmFsaWRhdGluZy5cbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICB2YWxpZGF0ZURPTU5lc3RpbmcodHlwZSwgbnVsbCwgaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvKTtcblxuICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpIHtcbiAgICAgIHZhciBzdHJpbmcgPSAnJyArIHByb3BzLmNoaWxkcmVuO1xuICAgICAgdmFyIG93bkFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8oaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcbiAgICAgIHZhbGlkYXRlRE9NTmVzdGluZyhudWxsLCBzdHJpbmcsIG93bkFuY2VzdG9ySW5mbyk7XG4gICAgfVxuXG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xuICB9XG5cbiAgdmFyIGRvbUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIHBhcmVudE5hbWVzcGFjZSk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIGRvbUVsZW1lbnQpO1xuICB1cGRhdGVGaWJlclByb3BzKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XG59XG5mdW5jdGlvbiBhcHBlbmRJbml0aWFsQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLmFwcGVuZENoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0KSB7XG4gIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2J1dHRvbic6XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmV0dXJuICEhcHJvcHMuYXV0b0ZvY3VzO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gcHJlcGFyZVVwZGF0ZShkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQpIHtcbiAge1xuICAgIHZhciBob3N0Q29udGV4dERldiA9IGhvc3RDb250ZXh0O1xuXG4gICAgaWYgKHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiAhPT0gdHlwZW9mIG9sZFByb3BzLmNoaWxkcmVuICYmICh0eXBlb2YgbmV3UHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpKSB7XG4gICAgICB2YXIgc3RyaW5nID0gJycgKyBuZXdQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBvd25BbmNlc3RvckluZm8gPSB1cGRhdGVkQW5jZXN0b3JJbmZvKGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbywgdHlwZSk7XG4gICAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgc3RyaW5nLCBvd25BbmNlc3RvckluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaWZmUHJvcGVydGllcyhkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMpO1xufVxuZnVuY3Rpb24gc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgcHJvcHMpIHtcbiAgcmV0dXJuIHR5cGUgPT09ICd0ZXh0YXJlYScgfHwgdHlwZSA9PT0gJ25vc2NyaXB0JyB8fCB0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID09PSAnb2JqZWN0JyAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gbnVsbCAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwgIT0gbnVsbDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVRleHRJbnN0YW5jZSh0ZXh0LCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHtcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgdGV4dCwgaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvKTtcbiAgfVxuXG4gIHZhciB0ZXh0Tm9kZSA9IGNyZWF0ZVRleHROb2RlKHRleHQsIHJvb3RDb250YWluZXJJbnN0YW5jZSk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHRleHROb2RlKTtcbiAgcmV0dXJuIHRleHROb2RlO1xufVxuZnVuY3Rpb24gZ2V0Q3VycmVudEV2ZW50UHJpb3JpdHkoKSB7XG4gIHZhciBjdXJyZW50RXZlbnQgPSB3aW5kb3cuZXZlbnQ7XG5cbiAgaWYgKGN1cnJlbnRFdmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIERlZmF1bHRFdmVudFByaW9yaXR5O1xuICB9XG5cbiAgcmV0dXJuIGdldEV2ZW50UHJpb3JpdHkoY3VycmVudEV2ZW50LnR5cGUpO1xufVxuLy8gaWYgYSBjb21wb25lbnQganVzdCBpbXBvcnRzIFJlYWN0RE9NIChlLmcuIGZvciBmaW5kRE9NTm9kZSkuXG4vLyBTb21lIGVudmlyb25tZW50cyBtaWdodCBub3QgaGF2ZSBzZXRUaW1lb3V0IG9yIGNsZWFyVGltZW91dC5cblxudmFyIHNjaGVkdWxlVGltZW91dCA9IHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nID8gc2V0VGltZW91dCA6IHVuZGVmaW5lZDtcbnZhciBjYW5jZWxUaW1lb3V0ID0gdHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJyA/IGNsZWFyVGltZW91dCA6IHVuZGVmaW5lZDtcbnZhciBub1RpbWVvdXQgPSAtMTtcbnZhciBsb2NhbFByb21pc2UgPSB0eXBlb2YgUHJvbWlzZSA9PT0gJ2Z1bmN0aW9uJyA/IFByb21pc2UgOiB1bmRlZmluZWQ7IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBzY2hlZHVsZU1pY3JvdGFzayA9IHR5cGVvZiBxdWV1ZU1pY3JvdGFzayA9PT0gJ2Z1bmN0aW9uJyA/IHF1ZXVlTWljcm90YXNrIDogdHlwZW9mIGxvY2FsUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgPyBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgcmV0dXJuIGxvY2FsUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oY2FsbGJhY2spLmNhdGNoKGhhbmRsZUVycm9ySW5OZXh0VGljayk7XG59IDogc2NoZWR1bGVUaW1lb3V0OyAvLyBUT0RPOiBEZXRlcm1pbmUgdGhlIGJlc3QgZmFsbGJhY2sgaGVyZS5cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3JJbk5leHRUaWNrKGVycm9yKSB7XG4gIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIHRocm93IGVycm9yO1xuICB9KTtcbn0gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gY29tbWl0TW91bnQoZG9tRWxlbWVudCwgdHlwZSwgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gRGVzcGl0ZSB0aGUgbmFtaW5nIHRoYXQgbWlnaHQgaW1wbHkgb3RoZXJ3aXNlLCB0aGlzIG1ldGhvZCBvbmx5XG4gIC8vIGZpcmVzIGlmIHRoZXJlIGlzIGFuIGBVcGRhdGVgIGVmZmVjdCBzY2hlZHVsZWQgZHVyaW5nIG1vdW50aW5nLlxuICAvLyBUaGlzIGhhcHBlbnMgaWYgYGZpbmFsaXplSW5pdGlhbENoaWxkcmVuYCByZXR1cm5zIGB0cnVlYCAod2hpY2ggaXRcbiAgLy8gZG9lcyB0byBpbXBsZW1lbnQgdGhlIGBhdXRvRm9jdXNgIGF0dHJpYnV0ZSBvbiB0aGUgY2xpZW50KS4gQnV0XG4gIC8vIHRoZXJlIGFyZSBhbHNvIG90aGVyIGNhc2VzIHdoZW4gdGhpcyBtaWdodCBoYXBwZW4gKHN1Y2ggYXMgcGF0Y2hpbmdcbiAgLy8gdXAgdGV4dCBjb250ZW50IGR1cmluZyBoeWRyYXRpb24gbWlzbWF0Y2gpLiBTbyB3ZSdsbCBjaGVjayB0aGlzIGFnYWluLlxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdidXR0b24nOlxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIGlmIChuZXdQcm9wcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgZG9tRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlICdpbWcnOlxuICAgICAge1xuICAgICAgICBpZiAobmV3UHJvcHMuc3JjKSB7XG4gICAgICAgICAgZG9tRWxlbWVudC5zcmMgPSBuZXdQcm9wcy5zcmM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNvbW1pdFVwZGF0ZShkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gQXBwbHkgdGhlIGRpZmYgdG8gdGhlIERPTSBub2RlLlxuICB1cGRhdGVQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHR5cGUsIG9sZFByb3BzLCBuZXdQcm9wcyk7IC8vIFVwZGF0ZSB0aGUgcHJvcHMgaGFuZGxlIHNvIHRoYXQgd2Uga25vdyB3aGljaCBwcm9wcyBhcmUgdGhlIG9uZXMgd2l0aFxuICAvLyB3aXRoIGN1cnJlbnQgZXZlbnQgaGFuZGxlcnMuXG5cbiAgdXBkYXRlRmliZXJQcm9wcyhkb21FbGVtZW50LCBuZXdQcm9wcyk7XG59XG5mdW5jdGlvbiByZXNldFRleHRDb250ZW50KGRvbUVsZW1lbnQpIHtcbiAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycpO1xufVxuZnVuY3Rpb24gY29tbWl0VGV4dFVwZGF0ZSh0ZXh0SW5zdGFuY2UsIG9sZFRleHQsIG5ld1RleHQpIHtcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9IG5ld1RleHQ7XG59XG5mdW5jdGlvbiBhcHBlbmRDaGlsZChwYXJlbnRJbnN0YW5jZSwgY2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuZnVuY3Rpb24gYXBwZW5kQ2hpbGRUb0NvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIHZhciBwYXJlbnROb2RlO1xuXG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIHBhcmVudE5vZGUgPSBjb250YWluZXIucGFyZW50Tm9kZTtcbiAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShjaGlsZCwgY29udGFpbmVyKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJlbnROb2RlID0gY29udGFpbmVyO1xuICAgIHBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoY2hpbGQpO1xuICB9IC8vIFRoaXMgY29udGFpbmVyIG1pZ2h0IGJlIHVzZWQgZm9yIGEgcG9ydGFsLlxuICAvLyBJZiBzb21ldGhpbmcgaW5zaWRlIGEgcG9ydGFsIGlzIGNsaWNrZWQsIHRoYXQgY2xpY2sgc2hvdWxkIGJ1YmJsZVxuICAvLyB0aHJvdWdoIHRoZSBSZWFjdCB0cmVlLiBIb3dldmVyLCBvbiBNb2JpbGUgU2FmYXJpIHRoZSBjbGljayB3b3VsZFxuICAvLyBuZXZlciBidWJibGUgdGhyb3VnaCB0aGUgKkRPTSogdHJlZSB1bmxlc3MgYW4gYW5jZXN0b3Igd2l0aCBvbmNsaWNrXG4gIC8vIGV2ZW50IGV4aXN0cy4gU28gd2Ugd291bGRuJ3Qgc2VlIGl0IGFuZCBkaXNwYXRjaCBpdC5cbiAgLy8gVGhpcyBpcyB3aHkgd2UgZW5zdXJlIHRoYXQgbm9uIFJlYWN0IHJvb3QgY29udGFpbmVycyBoYXZlIGlubGluZSBvbmNsaWNrXG4gIC8vIGRlZmluZWQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE5MThcblxuXG4gIHZhciByZWFjdFJvb3RDb250YWluZXIgPSBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcblxuICBpZiAoKHJlYWN0Um9vdENvbnRhaW5lciA9PT0gbnVsbCB8fCByZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZCkgJiYgcGFyZW50Tm9kZS5vbmNsaWNrID09PSBudWxsKSB7XG4gICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChwYXJlbnROb2RlKTtcbiAgfVxufVxuZnVuY3Rpb24gaW5zZXJ0QmVmb3JlKHBhcmVudEluc3RhbmNlLCBjaGlsZCwgYmVmb3JlQ2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG59XG5mdW5jdGlvbiBpbnNlcnRJbkNvbnRhaW5lckJlZm9yZShjb250YWluZXIsIGNoaWxkLCBiZWZvcmVDaGlsZCkge1xuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICBjb250YWluZXIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIGNvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICB9XG59XG5mdW5jdGlvbiBjbGVhclN1c3BlbnNlQm91bmRhcnkocGFyZW50SW5zdGFuY2UsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSBzdXNwZW5zZUluc3RhbmNlOyAvLyBEZWxldGUgYWxsIG5vZGVzIHdpdGhpbiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5LlxuICAvLyBUaGVyZSBtaWdodCBiZSBuZXN0ZWQgbm9kZXMgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvd1xuICAvLyBkZWVwIHdlIGFyZSBhbmQgb25seSBicmVhayBvdXQgd2hlbiB3ZSdyZSBiYWNrIG9uIHRvcC5cblxuICB2YXIgZGVwdGggPSAwO1xuXG4gIGRvIHtcbiAgICB2YXIgbmV4dE5vZGUgPSBub2RlLm5leHRTaWJsaW5nO1xuICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5vZGUpO1xuXG4gICAgaWYgKG5leHROb2RlICYmIG5leHROb2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbmV4dE5vZGUuZGF0YTtcblxuICAgICAgaWYgKGRhdGEgPT09IFNVU1BFTlNFX0VORF9EQVRBKSB7XG4gICAgICAgIGlmIChkZXB0aCA9PT0gMCkge1xuICAgICAgICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5leHROb2RlKTsgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuXG4gICAgICAgICAgcmV0cnlJZkJsb2NrZWRPbihzdXNwZW5zZUluc3RhbmNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IG5leHROb2RlO1xuICB9IHdoaWxlIChub2RlKTsgLy8gVE9ETzogV2Fybiwgd2UgZGlkbid0IGZpbmQgdGhlIGVuZCBjb21tZW50IGJvdW5kYXJ5LlxuICAvLyBSZXRyeSBpZiBhbnkgZXZlbnQgcmVwbGF5aW5nIHdhcyBibG9ja2VkIG9uIHRoaXMuXG5cblxuICByZXRyeUlmQmxvY2tlZE9uKHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gY2xlYXJTdXNwZW5zZUJvdW5kYXJ5RnJvbUNvbnRhaW5lcihjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5KGNvbnRhaW5lci5wYXJlbnROb2RlLCBzdXNwZW5zZUluc3RhbmNlKTtcbiAgfSBlbHNlIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgIGNsZWFyU3VzcGVuc2VCb3VuZGFyeShjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpO1xuICB9IC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cblxuXG4gIHJldHJ5SWZCbG9ja2VkT24oY29udGFpbmVyKTtcbn1cbmZ1bmN0aW9uIGhpZGVJbnN0YW5jZShpbnN0YW5jZSkge1xuICAvLyBUT0RPOiBEb2VzIHRoaXMgd29yayBmb3IgYWxsIGVsZW1lbnQgdHlwZXM/IFdoYXQgYWJvdXQgTWF0aE1MPyBTaG91bGQgd2VcbiAgLy8gcGFzcyBob3N0IGNvbnRleHQgdG8gdGhpcyBtZXRob2Q/XG4gIGluc3RhbmNlID0gaW5zdGFuY2U7XG4gIHZhciBzdHlsZSA9IGluc3RhbmNlLnN0eWxlO1xuXG4gIGlmICh0eXBlb2Ygc3R5bGUuc2V0UHJvcGVydHkgPT09ICdmdW5jdGlvbicpIHtcbiAgICBzdHlsZS5zZXRQcm9wZXJ0eSgnZGlzcGxheScsICdub25lJywgJ2ltcG9ydGFudCcpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZGVUZXh0SW5zdGFuY2UodGV4dEluc3RhbmNlKSB7XG4gIHRleHRJbnN0YW5jZS5ub2RlVmFsdWUgPSAnJztcbn1cbmZ1bmN0aW9uIHVuaGlkZUluc3RhbmNlKGluc3RhbmNlLCBwcm9wcykge1xuICBpbnN0YW5jZSA9IGluc3RhbmNlO1xuICB2YXIgc3R5bGVQcm9wID0gcHJvcHNbU1RZTEUkMV07XG4gIHZhciBkaXNwbGF5ID0gc3R5bGVQcm9wICE9PSB1bmRlZmluZWQgJiYgc3R5bGVQcm9wICE9PSBudWxsICYmIHN0eWxlUHJvcC5oYXNPd25Qcm9wZXJ0eSgnZGlzcGxheScpID8gc3R5bGVQcm9wLmRpc3BsYXkgOiBudWxsO1xuICBpbnN0YW5jZS5zdHlsZS5kaXNwbGF5ID0gZGFuZ2Vyb3VzU3R5bGVWYWx1ZSgnZGlzcGxheScsIGRpc3BsYXkpO1xufVxuZnVuY3Rpb24gdW5oaWRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dCkge1xuICB0ZXh0SW5zdGFuY2Uubm9kZVZhbHVlID0gdGV4dDtcbn1cbmZ1bmN0aW9uIGNsZWFyQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUpIHtcbiAgICBjb250YWluZXIudGV4dENvbnRlbnQgPSAnJztcbiAgfSBlbHNlIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUpIHtcbiAgICBpZiAoY29udGFpbmVyLmRvY3VtZW50RWxlbWVudCkge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKGNvbnRhaW5lci5kb2N1bWVudEVsZW1lbnQpO1xuICAgIH1cbiAgfVxufSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5mdW5jdGlvbiBjYW5IeWRyYXRlSW5zdGFuY2UoaW5zdGFuY2UsIHR5cGUsIHByb3BzKSB7XG4gIGlmIChpbnN0YW5jZS5ub2RlVHlwZSAhPT0gRUxFTUVOVF9OT0RFIHx8IHR5cGUudG9Mb3dlckNhc2UoKSAhPT0gaW5zdGFuY2Uubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIFRoaXMgaGFzIG5vdyBiZWVuIHJlZmluZWQgdG8gYW4gZWxlbWVudCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVRleHRJbnN0YW5jZShpbnN0YW5jZSwgdGV4dCkge1xuICBpZiAodGV4dCA9PT0gJycgfHwgaW5zdGFuY2Uubm9kZVR5cGUgIT09IFRFWFRfTk9ERSkge1xuICAgIC8vIEVtcHR5IHN0cmluZ3MgYXJlIG5vdCBwYXJzZWQgYnkgSFRNTCBzbyB0aGVyZSB3b24ndCBiZSBhIGNvcnJlY3QgbWF0Y2ggaGVyZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBUaGlzIGhhcyBub3cgYmVlbiByZWZpbmVkIHRvIGEgdGV4dCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVN1c3BlbnNlSW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgaWYgKGluc3RhbmNlLm5vZGVUeXBlICE9PSBDT01NRU5UX05PREUpIHtcbiAgICAvLyBFbXB0eSBzdHJpbmdzIGFyZSBub3QgcGFyc2VkIGJ5IEhUTUwgc28gdGhlcmUgd29uJ3QgYmUgYSBjb3JyZWN0IG1hdGNoIGhlcmUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gVGhpcyBoYXMgbm93IGJlZW4gcmVmaW5lZCB0byBhIHN1c3BlbnNlIG5vZGUuXG5cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5mdW5jdGlvbiBpc1N1c3BlbnNlSW5zdGFuY2VQZW5kaW5nKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZS5kYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEE7XG59XG5mdW5jdGlvbiBpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhpbnN0YW5jZSkge1xuICByZXR1cm4gaW5zdGFuY2UuZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQTtcbn1cbmZ1bmN0aW9uIGdldFN1c3BlbnNlSW5zdGFuY2VGYWxsYmFja0Vycm9yRGV0YWlscyhpbnN0YW5jZSkge1xuICB2YXIgZGF0YXNldCA9IGluc3RhbmNlLm5leHRTaWJsaW5nICYmIGluc3RhbmNlLm5leHRTaWJsaW5nLmRhdGFzZXQ7XG4gIHZhciBkaWdlc3QsIG1lc3NhZ2UsIHN0YWNrO1xuXG4gIGlmIChkYXRhc2V0KSB7XG4gICAgZGlnZXN0ID0gZGF0YXNldC5kZ3N0O1xuXG4gICAge1xuICAgICAgbWVzc2FnZSA9IGRhdGFzZXQubXNnO1xuICAgICAgc3RhY2sgPSBkYXRhc2V0LnN0Y2s7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgZGlnZXN0OiBkaWdlc3QsXG4gICAgICBzdGFjazogc3RhY2tcbiAgICB9O1xuICB9IC8vIGxldCB2YWx1ZSA9IHttZXNzYWdlOiB1bmRlZmluZWQsIGhhc2g6IHVuZGVmaW5lZH07XG4gIC8vIGNvbnN0IG5leHRTaWJsaW5nID0gaW5zdGFuY2UubmV4dFNpYmxpbmc7XG4gIC8vIGlmIChuZXh0U2libGluZykge1xuICAvLyAgIGNvbnN0IGRhdGFzZXQgPSAoKG5leHRTaWJsaW5nOiBhbnkpOiBIVE1MVGVtcGxhdGVFbGVtZW50KS5kYXRhc2V0O1xuICAvLyAgIHZhbHVlLm1lc3NhZ2UgPSBkYXRhc2V0Lm1zZztcbiAgLy8gICB2YWx1ZS5oYXNoID0gZGF0YXNldC5oYXNoO1xuICAvLyAgIGlmICh0cnVlKSB7XG4gIC8vICAgICB2YWx1ZS5zdGFjayA9IGRhdGFzZXQuc3RhY2s7XG4gIC8vICAgfVxuICAvLyB9XG4gIC8vIHJldHVybiB2YWx1ZTtcblxufVxuZnVuY3Rpb24gcmVnaXN0ZXJTdXNwZW5zZUluc3RhbmNlUmV0cnkoaW5zdGFuY2UsIGNhbGxiYWNrKSB7XG4gIGluc3RhbmNlLl9yZWFjdFJldHJ5ID0gY2FsbGJhY2s7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlKG5vZGUpIHtcbiAgLy8gU2tpcCBub24taHlkcmF0YWJsZSBub2Rlcy5cbiAgZm9yICg7IG5vZGUgIT0gbnVsbDsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpIHtcbiAgICB2YXIgbm9kZVR5cGUgPSBub2RlLm5vZGVUeXBlO1xuXG4gICAgaWYgKG5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBub2RlRGF0YSA9IG5vZGUuZGF0YTtcblxuICAgICAgaWYgKG5vZGVEYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlRGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhpbnN0YW5jZSkge1xuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGUoaW5zdGFuY2UubmV4dFNpYmxpbmcpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLmZpcnN0Q2hpbGQpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGRXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyKSB7XG4gIHJldHVybiBnZXROZXh0SHlkcmF0YWJsZShwYXJlbnRDb250YWluZXIuZmlyc3RDaGlsZCk7XG59XG5mdW5jdGlvbiBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLm5leHRTaWJsaW5nKTtcbn1cbmZ1bmN0aW9uIGh5ZHJhdGVJbnN0YW5jZShpbnN0YW5jZSwgdHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgaW5zdGFuY2UpOyAvLyBUT0RPOiBQb3NzaWJseSBkZWZlciB0aGlzIHVudGlsIHRoZSBjb21taXQgcGhhc2Ugd2hlcmUgYWxsIHRoZSBldmVudHNcbiAgLy8gZ2V0IGF0dGFjaGVkLlxuXG4gIHVwZGF0ZUZpYmVyUHJvcHMoaW5zdGFuY2UsIHByb3BzKTtcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcblxuICB7XG4gICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xuICB9IC8vIFRPRE86IFRlbXBvcmFyeSBoYWNrIHRvIGNoZWNrIGlmIHdlJ3JlIGluIGEgY29uY3VycmVudCByb290LiBXZSBjYW4gZGVsZXRlXG4gIC8vIHdoZW4gdGhlIGxlZ2FjeSByb290IEFQSSBpcyByZW1vdmVkLlxuXG5cbiAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG4gIHJldHVybiBkaWZmSHlkcmF0ZWRQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVySW5zdGFuY2UsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpO1xufVxuZnVuY3Rpb24gaHlkcmF0ZVRleHRJbnN0YW5jZSh0ZXh0SW5zdGFuY2UsIHRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgdGV4dEluc3RhbmNlKTsgLy8gVE9ETzogVGVtcG9yYXJ5IGhhY2sgdG8gY2hlY2sgaWYgd2UncmUgaW4gYSBjb25jdXJyZW50IHJvb3QuIFdlIGNhbiBkZWxldGVcbiAgLy8gd2hlbiB0aGUgbGVnYWN5IHJvb3QgQVBJIGlzIHJlbW92ZWQuXG5cbiAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG4gIHJldHVybiBkaWZmSHlkcmF0ZWRUZXh0KHRleHRJbnN0YW5jZSwgdGV4dCk7XG59XG5mdW5jdGlvbiBoeWRyYXRlU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlLCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gZ2V0TmV4dEh5ZHJhdGFibGVJbnN0YW5jZUFmdGVyU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKSB7XG4gIHZhciBub2RlID0gc3VzcGVuc2VJbnN0YW5jZS5uZXh0U2libGluZzsgLy8gU2tpcCBwYXN0IGFsbCBub2RlcyB3aXRoaW4gdGhpcyBzdXNwZW5zZSBib3VuZGFyeS5cbiAgLy8gVGhlcmUgbWlnaHQgYmUgbmVzdGVkIG5vZGVzIHNvIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBob3dcbiAgLy8gZGVlcCB3ZSBhcmUgYW5kIG9ubHkgYnJlYWsgb3V0IHdoZW4gd2UncmUgYmFjayBvbiB0b3AuXG5cbiAgdmFyIGRlcHRoID0gMDtcblxuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbm9kZS5kYXRhO1xuXG4gICAgICBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcbiAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhub2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXB0aC0tO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgfSAvLyBUT0RPOiBXYXJuLCB3ZSBkaWRuJ3QgZmluZCB0aGUgZW5kIGNvbW1lbnQgYm91bmRhcnkuXG5cblxuICByZXR1cm4gbnVsbDtcbn0gLy8gUmV0dXJucyB0aGUgU3VzcGVuc2VJbnN0YW5jZSBpZiB0aGlzIG5vZGUgaXMgYSBkaXJlY3QgY2hpbGQgb2YgYVxuLy8gU3VzcGVuc2VJbnN0YW5jZS4gSS5lLiBpZiBpdHMgcHJldmlvdXMgc2libGluZyBpcyBhIENvbW1lbnQgd2l0aFxuLy8gU1VTUEVOU0VfeF9TVEFSVF9EQVRBLiBPdGhlcndpc2UsIG51bGwuXG5cbmZ1bmN0aW9uIGdldFBhcmVudFN1c3BlbnNlSW5zdGFuY2UodGFyZ2V0SW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0YW5jZS5wcmV2aW91c1NpYmxpbmc7IC8vIFNraXAgcGFzdCBhbGwgbm9kZXMgd2l0aGluIHRoaXMgc3VzcGVuc2UgYm91bmRhcnkuXG4gIC8vIFRoZXJlIG1pZ2h0IGJlIG5lc3RlZCBub2RlcyBzbyB3ZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgaG93XG4gIC8vIGRlZXAgd2UgYXJlIGFuZCBvbmx5IGJyZWFrIG91dCB3aGVuIHdlJ3JlIGJhY2sgb24gdG9wLlxuXG4gIHZhciBkZXB0aCA9IDA7XG5cbiAgd2hpbGUgKG5vZGUpIHtcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgICB2YXIgZGF0YSA9IG5vZGUuZGF0YTtcblxuICAgICAgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhID09PSBTVVNQRU5TRV9FTkRfREFUQSkge1xuICAgICAgICBkZXB0aCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5vZGUgPSBub2RlLnByZXZpb3VzU2libGluZztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRDb250YWluZXIoY29udGFpbmVyKSB7XG4gIC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cbiAgcmV0cnlJZkJsb2NrZWRPbihjb250YWluZXIpO1xufVxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuICByZXRyeUlmQmxvY2tlZE9uKHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gc2hvdWxkRGVsZXRlVW5oeWRyYXRlZFRhaWxJbnN0YW5jZXMocGFyZW50VHlwZSkge1xuICByZXR1cm4gcGFyZW50VHlwZSAhPT0gJ2hlYWQnICYmIHBhcmVudFR5cGUgIT09ICdib2R5Jztcbn1cbmZ1bmN0aW9uIGRpZE5vdE1hdGNoSHlkcmF0ZWRDb250YWluZXJUZXh0SW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0ZXh0SW5zdGFuY2UsIHRleHQsIGlzQ29uY3VycmVudE1vZGUpIHtcbiAgdmFyIHNob3VsZFdhcm5EZXYgPSB0cnVlO1xuICBjaGVja0ZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLm5vZGVWYWx1ZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldik7XG59XG5mdW5jdGlvbiBkaWROb3RNYXRjaEh5ZHJhdGVkVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdGV4dEluc3RhbmNlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIGlmIChwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xuICAgIHZhciBzaG91bGRXYXJuRGV2ID0gdHJ1ZTtcbiAgICBjaGVja0ZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLm5vZGVWYWx1ZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldik7XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIGluc3RhbmNlKSB7XG4gIHtcbiAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnRDb250YWluZXIsIGluc3RhbmNlKTtcbiAgICB9IGVsc2UgaWYgKGluc3RhbmNlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIDsgZWxzZSB7XG4gICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVUZXh0KHBhcmVudENvbnRhaW5lciwgaW5zdGFuY2UpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWU6IE9ubHkgRWxlbWVudCBvciBEb2N1bWVudCBjYW4gYmUgcGFyZW50IG5vZGVzLlxuICAgIHZhciBwYXJlbnROb2RlID0gcGFyZW50SW5zdGFuY2UucGFyZW50Tm9kZTtcblxuICAgIGlmIChwYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVFbGVtZW50KHBhcmVudE5vZGUsIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBkaWROb3RIeWRyYXRlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBpbnN0YW5jZSwgaXNDb25jdXJyZW50TW9kZSkge1xuICB7XG4gICAgaWYgKGlzQ29uY3VycmVudE1vZGUgfHwgcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICAgIGlmIChpbnN0YW5jZS5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZUVsZW1lbnQocGFyZW50SW5zdGFuY2UsIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZEVsZW1lbnQocGFyZW50Q29udGFpbmVyLCB0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyLCB0ZXh0KSB7XG4gIHtcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZFRleHQocGFyZW50Q29udGFpbmVyLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UsIHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lOiBPbmx5IEVsZW1lbnQgb3IgRG9jdW1lbnQgY2FuIGJlIHBhcmVudCBub2Rlcy5cbiAgICB2YXIgcGFyZW50Tm9kZSA9IHBhcmVudEluc3RhbmNlLnBhcmVudE5vZGU7XG4gICAgaWYgKHBhcmVudE5vZGUgIT09IG51bGwpIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHBhcmVudEluc3RhbmNlLCB0ZXh0KSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lOiBPbmx5IEVsZW1lbnQgb3IgRG9jdW1lbnQgY2FuIGJlIHBhcmVudCBub2Rlcy5cbiAgICB2YXIgcGFyZW50Tm9kZSA9IHBhcmVudEluc3RhbmNlLnBhcmVudE5vZGU7XG4gICAgaWYgKHBhcmVudE5vZGUgIT09IG51bGwpIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHR5cGUsIHByb3BzLCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHtcbiAgICBpZiAoaXNDb25jdXJyZW50TW9kZSB8fCBwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xuICAgICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudEluc3RhbmNlLCB0eXBlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSkge1xuICB7XG4gICAgaWYgKGlzQ29uY3VycmVudE1vZGUgfHwgcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICAgIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnRJbnN0YW5jZSwgdGV4dCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBlcnJvckh5ZHJhdGluZ0NvbnRhaW5lcihwYXJlbnRDb250YWluZXIpIHtcbiAge1xuICAgIC8vIFRPRE86IFRoaXMgZ2V0cyBsb2dnZWQgYnkgb25SZWNvdmVyYWJsZUVycm9yLCB0b28sIHNvIHdlIHNob3VsZCBiZVxuICAgIC8vIGFibGUgdG8gcmVtb3ZlIGl0LlxuICAgIGVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgaHlkcmF0aW9uLiBUaGUgc2VydmVyIEhUTUwgd2FzIHJlcGxhY2VkIHdpdGggY2xpZW50IGNvbnRlbnQgaW4gPCVzPi4nLCBwYXJlbnRDb250YWluZXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHByZXBhcmVQb3J0YWxNb3VudChwb3J0YWxJbnN0YW5jZSkge1xuICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhwb3J0YWxJbnN0YW5jZSk7XG59XG5cbnZhciByYW5kb21LZXkgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtcbnZhciBpbnRlcm5hbEluc3RhbmNlS2V5ID0gJ19fcmVhY3RGaWJlciQnICsgcmFuZG9tS2V5O1xudmFyIGludGVybmFsUHJvcHNLZXkgPSAnX19yZWFjdFByb3BzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleSA9ICdfX3JlYWN0Q29udGFpbmVyJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5ID0gJ19fcmVhY3RFdmVudHMkJyArIHJhbmRvbUtleTtcbnZhciBpbnRlcm5hbEV2ZW50SGFuZGxlckxpc3RlbmVyc0tleSA9ICdfX3JlYWN0TGlzdGVuZXJzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXNTZXRLZXkgPSAnX19yZWFjdEhhbmRsZXMkJyArIHJhbmRvbUtleTtcbmZ1bmN0aW9uIGRldGFjaERlbGV0ZWRJbnN0YW5jZShub2RlKSB7XG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb24gaG9zdCBjb21wb25lbnRzLiBJIGRvbid0IHRoaW5rIGFsbCBvZlxuICAvLyB0aGVzZSBmaWVsZHMgYXJlIHJlbGV2YW50LlxuICBkZWxldGUgbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcbiAgZGVsZXRlIG5vZGVbaW50ZXJuYWxQcm9wc0tleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyc0tleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyTGlzdGVuZXJzS2V5XTtcbiAgZGVsZXRlIG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXNTZXRLZXldO1xufVxuZnVuY3Rpb24gcHJlY2FjaGVGaWJlck5vZGUoaG9zdEluc3QsIG5vZGUpIHtcbiAgbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSA9IGhvc3RJbnN0O1xufVxuZnVuY3Rpb24gbWFya0NvbnRhaW5lckFzUm9vdChob3N0Um9vdCwgbm9kZSkge1xuICBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldID0gaG9zdFJvb3Q7XG59XG5mdW5jdGlvbiB1bm1hcmtDb250YWluZXJBc1Jvb3Qobm9kZSkge1xuICBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzQ29udGFpbmVyTWFya2VkQXNSb290KG5vZGUpIHtcbiAgcmV0dXJuICEhbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XTtcbn0gLy8gR2l2ZW4gYSBET00gbm9kZSwgcmV0dXJuIHRoZSBjbG9zZXN0IEhvc3RDb21wb25lbnQgb3IgSG9zdFRleHQgZmliZXIgYW5jZXN0b3IuXG4vLyBJZiB0aGUgdGFyZ2V0IG5vZGUgaXMgcGFydCBvZiBhIGh5ZHJhdGVkIG9yIG5vdCB5ZXQgcmVuZGVyZWQgc3VidHJlZSwgdGhlblxuLy8gdGhpcyBtYXkgYWxzbyByZXR1cm4gYSBTdXNwZW5zZUNvbXBvbmVudCBvciBIb3N0Um9vdCB0byBpbmRpY2F0ZSB0aGF0LlxuLy8gQ29uY2VwdHVhbGx5IHRoZSBIb3N0Um9vdCBmaWJlciBpcyBhIGNoaWxkIG9mIHRoZSBDb250YWluZXIgbm9kZS4gU28gaWYgeW91XG4vLyBwYXNzIHRoZSBDb250YWluZXIgbm9kZSBhcyB0aGUgdGFyZ2V0Tm9kZSwgeW91IHdpbGwgbm90IGFjdHVhbGx5IGdldCB0aGVcbi8vIEhvc3RSb290IGJhY2suIFRvIGdldCB0byB0aGUgSG9zdFJvb3QsIHlvdSBuZWVkIHRvIHBhc3MgYSBjaGlsZCBvZiBpdC5cbi8vIFRoZSBzYW1lIHRoaW5nIGFwcGxpZXMgdG8gU3VzcGVuc2UgYm91bmRhcmllcy5cblxuZnVuY3Rpb24gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUodGFyZ2V0Tm9kZSkge1xuICB2YXIgdGFyZ2V0SW5zdCA9IHRhcmdldE5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV07XG5cbiAgaWYgKHRhcmdldEluc3QpIHtcbiAgICAvLyBEb24ndCByZXR1cm4gSG9zdFJvb3Qgb3IgU3VzcGVuc2VDb21wb25lbnQgaGVyZS5cbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgfSAvLyBJZiB0aGUgZGlyZWN0IGV2ZW50IHRhcmdldCBpc24ndCBhIFJlYWN0IG93bmVkIERPTSBub2RlLCB3ZSBuZWVkIHRvIGxvb2tcbiAgLy8gdG8gc2VlIGlmIG9uZSBvZiBpdHMgcGFyZW50cyBpcyBhIFJlYWN0IG93bmVkIERPTSBub2RlLlxuXG5cbiAgdmFyIHBhcmVudE5vZGUgPSB0YXJnZXROb2RlLnBhcmVudE5vZGU7XG5cbiAgd2hpbGUgKHBhcmVudE5vZGUpIHtcbiAgICAvLyBXZSdsbCBjaGVjayBpZiB0aGlzIGlzIGEgY29udGFpbmVyIHJvb3QgdGhhdCBjb3VsZCBpbmNsdWRlXG4gICAgLy8gUmVhY3Qgbm9kZXMgaW4gdGhlIGZ1dHVyZS4gV2UgbmVlZCB0byBjaGVjayB0aGlzIGZpcnN0IGJlY2F1c2VcbiAgICAvLyBpZiB3ZSdyZSBhIGNoaWxkIG9mIGEgZGVoeWRyYXRlZCBjb250YWluZXIsIHdlIG5lZWQgdG8gZmlyc3RcbiAgICAvLyBmaW5kIHRoYXQgaW5uZXIgY29udGFpbmVyIGJlZm9yZSBtb3Zpbmcgb24gdG8gZmluZGluZyB0aGUgcGFyZW50XG4gICAgLy8gaW5zdGFuY2UuIE5vdGUgdGhhdCB3ZSBkb24ndCBjaGVjayB0aGlzIGZpZWxkIG9uICB0aGUgdGFyZ2V0Tm9kZVxuICAgIC8vIGl0c2VsZiBiZWNhdXNlIHRoZSBmaWJlcnMgYXJlIGNvbmNlcHR1YWxseSBiZXR3ZWVuIHRoZSBjb250YWluZXJcbiAgICAvLyBub2RlIGFuZCB0aGUgZmlyc3QgY2hpbGQuIEl0IGlzbid0IHN1cnJvdW5kaW5nIHRoZSBjb250YWluZXIgbm9kZS5cbiAgICAvLyBJZiBpdCdzIG5vdCBhIGNvbnRhaW5lciwgd2UgY2hlY2sgaWYgaXQncyBhbiBpbnN0YW5jZS5cbiAgICB0YXJnZXRJbnN0ID0gcGFyZW50Tm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XSB8fCBwYXJlbnROb2RlW2ludGVybmFsSW5zdGFuY2VLZXldO1xuXG4gICAgaWYgKHRhcmdldEluc3QpIHtcbiAgICAgIC8vIFNpbmNlIHRoaXMgd2Fzbid0IHRoZSBkaXJlY3QgdGFyZ2V0IG9mIHRoZSBldmVudCwgd2UgbWlnaHQgaGF2ZVxuICAgICAgLy8gc3RlcHBlZCBwYXN0IGRlaHlkcmF0ZWQgRE9NIG5vZGVzIHRvIGdldCBoZXJlLiBIb3dldmVyIHRoZXkgY291bGRcbiAgICAgIC8vIGFsc28gaGF2ZSBiZWVuIG5vbi1SZWFjdCBub2Rlcy4gV2UgbmVlZCB0byBhbnN3ZXIgd2hpY2ggb25lLlxuICAgICAgLy8gSWYgd2UgdGhlIGluc3RhbmNlIGRvZXNuJ3QgaGF2ZSBhbnkgY2hpbGRyZW4sIHRoZW4gdGhlcmUgY2FuJ3QgYmVcbiAgICAgIC8vIGEgbmVzdGVkIHN1c3BlbnNlIGJvdW5kYXJ5IHdpdGhpbiBpdC4gU28gd2UgY2FuIHVzZSB0aGlzIGFzIGEgZmFzdFxuICAgICAgLy8gYmFpbG91dC4gTW9zdCBvZiB0aGUgdGltZSwgd2hlbiBwZW9wbGUgYWRkIG5vbi1SZWFjdCBjaGlsZHJlbiB0b1xuICAgICAgLy8gdGhlIHRyZWUsIGl0IGlzIHVzaW5nIGEgcmVmIHRvIGEgY2hpbGQtbGVzcyBET00gbm9kZS5cbiAgICAgIC8vIE5vcm1hbGx5IHdlJ2Qgb25seSBuZWVkIHRvIGNoZWNrIG9uZSBvZiB0aGUgZmliZXJzIGJlY2F1c2UgaWYgaXRcbiAgICAgIC8vIGhhcyBldmVyIGdvbmUgZnJvbSBoYXZpbmcgY2hpbGRyZW4gdG8gZGVsZXRpbmcgdGhlbSBvciB2aWNlIHZlcnNhXG4gICAgICAvLyBpdCB3b3VsZCBoYXZlIGRlbGV0ZWQgdGhlIGRlaHlkcmF0ZWQgYm91bmRhcnkgbmVzdGVkIGluc2lkZSBhbHJlYWR5LlxuICAgICAgLy8gSG93ZXZlciwgc2luY2UgdGhlIEhvc3RSb290IHN0YXJ0cyBvdXQgd2l0aCBhbiBhbHRlcm5hdGUgaXQgbWlnaHRcbiAgICAgIC8vIGhhdmUgb25lIG9uIHRoZSBhbHRlcm5hdGUgc28gd2UgbmVlZCB0byBjaGVjayBpbiBjYXNlIHRoaXMgd2FzIGFcbiAgICAgIC8vIHJvb3QuXG4gICAgICB2YXIgYWx0ZXJuYXRlID0gdGFyZ2V0SW5zdC5hbHRlcm5hdGU7XG5cbiAgICAgIGlmICh0YXJnZXRJbnN0LmNoaWxkICE9PSBudWxsIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhlIG5vZGUgdGhhdCBza2lwcGVkIHBhc3QgaXNcbiAgICAgICAgLy8gbmVzdGVkIHdpdGhpbiBhIGRlaHlkcmF0ZWQgYm91bmRhcnkgYW5kIGlmIHNvLCB3aGljaCBvbmUuXG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZSh0YXJnZXROb2RlKTtcblxuICAgICAgICB3aGlsZSAoc3VzcGVuc2VJbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIGZvdW5kIGEgc3VzcGVuc2UgaW5zdGFuY2UuIFRoYXQgbWVhbnMgdGhhdCB3ZSBoYXZlbid0XG4gICAgICAgICAgLy8gaHlkcmF0ZWQgaXQgeWV0LiBFdmVuIHRob3VnaCB3ZSBsZWF2ZSB0aGUgY29tbWVudHMgaW4gdGhlXG4gICAgICAgICAgLy8gRE9NIGFmdGVyIGh5ZHJhdGluZywgYW5kIHRoZXJlIGFyZSBib3VuZGFyaWVzIGluIHRoZSBET01cbiAgICAgICAgICAvLyB0aGF0IGNvdWxkIGFscmVhZHkgYmUgaHlkcmF0ZWQsIHdlIHdvdWxkbid0IGhhdmUgZm91bmQgdGhlbVxuICAgICAgICAgIC8vIHRocm91Z2ggdGhpcyBwYXNzIHNpbmNlIGlmIHRoZSB0YXJnZXQgaXMgaHlkcmF0ZWQgaXQgd291bGRcbiAgICAgICAgICAvLyBoYXZlIGhhZCBhbiBpbnRlcm5hbEluc3RhbmNlS2V5IG9uIGl0LlxuICAgICAgICAgIC8vIExldCdzIGdldCB0aGUgZmliZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBTdXNwZW5zZUNvbXBvbmVudFxuICAgICAgICAgIC8vIGFzIHRoZSBkZWVwZXN0IGluc3RhbmNlLlxuICAgICAgICAgIHZhciB0YXJnZXRTdXNwZW5zZUluc3QgPSBzdXNwZW5zZUluc3RhbmNlW2ludGVybmFsSW5zdGFuY2VLZXldO1xuXG4gICAgICAgICAgaWYgKHRhcmdldFN1c3BlbnNlSW5zdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFN1c3BlbnNlSW5zdDtcbiAgICAgICAgICB9IC8vIElmIHdlIGRvbid0IGZpbmQgYSBGaWJlciBvbiB0aGUgY29tbWVudCwgaXQgbWlnaHQgYmUgYmVjYXVzZVxuICAgICAgICAgIC8vIHdlIGhhdmVuJ3QgZ290dGVuIHRvIGh5ZHJhdGUgaXQgeWV0LiBUaGVyZSBtaWdodCBzdGlsbCBiZSBhXG4gICAgICAgICAgLy8gcGFyZW50IGJvdW5kYXJ5IHRoYXQgaGFzbid0IGFib3ZlIHRoaXMgb25lIHNvIHdlIG5lZWQgdG8gZmluZFxuICAgICAgICAgIC8vIHRoZSBvdXRlciBtb3N0IHRoYXQgaXMga25vd24uXG5cblxuICAgICAgICAgIHN1c3BlbnNlSW5zdGFuY2UgPSBnZXRQYXJlbnRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpOyAvLyBJZiB3ZSBkb24ndCBmaW5kIG9uZSwgdGhlbiB0aGF0IHNob3VsZCBtZWFuIHRoYXQgdGhlIHBhcmVudFxuICAgICAgICAgIC8vIGhvc3QgY29tcG9uZW50IGFsc28gaGFzbid0IGh5ZHJhdGVkIHlldC4gV2UgY2FuIHJldHVybiBpdFxuICAgICAgICAgIC8vIGJlbG93IHNpbmNlIGl0IHdpbGwgYmFpbCBvdXQgb24gdGhlIGlzTW91bnRlZCBjaGVjayBsYXRlci5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgICB9XG5cbiAgICB0YXJnZXROb2RlID0gcGFyZW50Tm9kZTtcbiAgICBwYXJlbnROb2RlID0gdGFyZ2V0Tm9kZS5wYXJlbnROb2RlO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIEdpdmVuIGEgRE9NIG5vZGUsIHJldHVybiB0aGUgUmVhY3RET01Db21wb25lbnQgb3IgUmVhY3RET01UZXh0Q29tcG9uZW50XG4gKiBpbnN0YW5jZSwgb3IgbnVsbCBpZiB0aGUgbm9kZSB3YXMgbm90IHJlbmRlcmVkIGJ5IHRoaXMgUmVhY3QuXG4gKi9cblxuZnVuY3Rpb24gZ2V0SW5zdGFuY2VGcm9tTm9kZShub2RlKSB7XG4gIHZhciBpbnN0ID0gbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSB8fCBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldO1xuXG4gIGlmIChpbnN0KSB7XG4gICAgaWYgKGluc3QudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IGluc3QudGFnID09PSBIb3N0VGV4dCB8fCBpbnN0LnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICByZXR1cm4gaW5zdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIEdpdmVuIGEgUmVhY3RET01Db21wb25lbnQgb3IgUmVhY3RET01UZXh0Q29tcG9uZW50LCByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmdcbiAqIERPTSBub2RlLlxuICovXG5cbmZ1bmN0aW9uIGdldE5vZGVGcm9tSW5zdGFuY2UoaW5zdCkge1xuICBpZiAoaW5zdC50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgLy8gSW4gRmliZXIgdGhpcywgaXMganVzdCB0aGUgc3RhdGUgbm9kZSByaWdodCBub3cuIFdlIGFzc3VtZSBpdCB3aWxsIGJlXG4gICAgLy8gYSBob3N0IGNvbXBvbmVudCBvciBob3N0IHRleHQuXG4gICAgcmV0dXJuIGluc3Quc3RhdGVOb2RlO1xuICB9IC8vIFdpdGhvdXQgdGhpcyBmaXJzdCBpbnZhcmlhbnQsIHBhc3NpbmcgYSBub24tRE9NLWNvbXBvbmVudCB0cmlnZ2VycyB0aGUgbmV4dFxuICAvLyBpbnZhcmlhbnQgZm9yIGEgbWlzc2luZyBwYXJlbnQsIHdoaWNoIGlzIHN1cGVyIGNvbmZ1c2luZy5cblxuXG4gIHRocm93IG5ldyBFcnJvcignZ2V0Tm9kZUZyb21JbnN0YW5jZTogSW52YWxpZCBhcmd1bWVudC4nKTtcbn1cbmZ1bmN0aW9uIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZVtpbnRlcm5hbFByb3BzS2V5XSB8fCBudWxsO1xufVxuZnVuY3Rpb24gdXBkYXRlRmliZXJQcm9wcyhub2RlLCBwcm9wcykge1xuICBub2RlW2ludGVybmFsUHJvcHNLZXldID0gcHJvcHM7XG59XG5mdW5jdGlvbiBnZXRFdmVudExpc3RlbmVyU2V0KG5vZGUpIHtcbiAgdmFyIGVsZW1lbnRMaXN0ZW5lclNldCA9IG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5XTtcblxuICBpZiAoZWxlbWVudExpc3RlbmVyU2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICBlbGVtZW50TGlzdGVuZXJTZXQgPSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyc0tleV0gPSBuZXcgU2V0KCk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudExpc3RlbmVyU2V0O1xufVxuXG52YXIgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1Byb3BUeXBlcyh0eXBlU3BlY3MsIHZhbHVlcywgbG9jYXRpb24sIGNvbXBvbmVudE5hbWUsIGVsZW1lbnQpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWUgVGhpcyBpcyBva2F5IGJ1dCBGbG93IGRvZXNuJ3Qga25vdyBpdC5cbiAgICB2YXIgaGFzID0gRnVuY3Rpb24uY2FsbC5iaW5kKGhhc093blByb3BlcnR5KTtcblxuICAgIGZvciAodmFyIHR5cGVTcGVjTmFtZSBpbiB0eXBlU3BlY3MpIHtcbiAgICAgIGlmIChoYXModHlwZVNwZWNzLCB0eXBlU3BlY05hbWUpKSB7XG4gICAgICAgIHZhciBlcnJvciQxID0gdm9pZCAwOyAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhbiBpbnZhcmlhbnQgdGhhdCBnZXRzIGNhdWdodC4gSXQncyB0aGUgc2FtZVxuICAgICAgICAgIC8vIGJlaGF2aW9yIGFzIHdpdGhvdXQgdGhpcyBzdGF0ZW1lbnQgZXhjZXB0IHdpdGggYSBiZXR0ZXIgbWVzc2FnZS5cbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogJyArIGxvY2F0aW9uICsgJyB0eXBlIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgJyArICdpdCBtdXN0IGJlIGEgZnVuY3Rpb24sIHVzdWFsbHkgZnJvbSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UsIGJ1dCByZWNlaXZlZCBgJyArIHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSArICdgLicgKyAnVGhpcyBvZnRlbiBoYXBwZW5zIGJlY2F1c2Ugb2YgdHlwb3Mgc3VjaCBhcyBgUHJvcFR5cGVzLmZ1bmN0aW9uYCBpbnN0ZWFkIG9mIGBQcm9wVHlwZXMuZnVuY2AuJyk7XG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlcnJvciQxID0gdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0odmFsdWVzLCB0eXBlU3BlY05hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBudWxsLCAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnKTtcbiAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICBlcnJvciQxID0gZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSAmJiAhKGVycm9yJDEgaW5zdGFuY2VvZiBFcnJvcikpIHtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCclczogdHlwZSBzcGVjaWZpY2F0aW9uIG9mICVzJyArICcgYCVzYCBpcyBpbnZhbGlkOyB0aGUgdHlwZSBjaGVja2VyICcgKyAnZnVuY3Rpb24gbXVzdCByZXR1cm4gYG51bGxgIG9yIGFuIGBFcnJvcmAgYnV0IHJldHVybmVkIGEgJXMuICcgKyAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArICdjcmVhdG9yIChhcnJheU9mLCBpbnN0YW5jZU9mLCBvYmplY3RPZiwgb25lT2YsIG9uZU9mVHlwZSwgYW5kICcgKyAnc2hhcGUgYWxsIHJlcXVpcmUgYW4gYXJndW1lbnQpLicsIGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJywgbG9jYXRpb24sIHR5cGVTcGVjTmFtZSwgdHlwZW9mIGVycm9yJDEpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yICYmICEoZXJyb3IkMS5tZXNzYWdlIGluIGxvZ2dlZFR5cGVGYWlsdXJlcykpIHtcbiAgICAgICAgICAvLyBPbmx5IG1vbml0b3IgdGhpcyBmYWlsdXJlIG9uY2UgYmVjYXVzZSB0aGVyZSB0ZW5kcyB0byBiZSBhIGxvdCBvZiB0aGVcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxuICAgICAgICAgIGxvZ2dlZFR5cGVGYWlsdXJlc1tlcnJvciQxLm1lc3NhZ2VdID0gdHJ1ZTtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCdGYWlsZWQgJXMgdHlwZTogJXMnLCBsb2NhdGlvbiwgZXJyb3IkMS5tZXNzYWdlKTtcblxuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciB2YWx1ZVN0YWNrID0gW107XG52YXIgZmliZXJTdGFjaztcblxue1xuICBmaWJlclN0YWNrID0gW107XG59XG5cbnZhciBpbmRleCA9IC0xO1xuXG5mdW5jdGlvbiBjcmVhdGVDdXJzb3IoZGVmYXVsdFZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudDogZGVmYXVsdFZhbHVlXG4gIH07XG59XG5cbmZ1bmN0aW9uIHBvcChjdXJzb3IsIGZpYmVyKSB7XG4gIGlmIChpbmRleCA8IDApIHtcbiAgICB7XG4gICAgICBlcnJvcignVW5leHBlY3RlZCBwb3AuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAge1xuICAgIGlmIChmaWJlciAhPT0gZmliZXJTdGFja1tpbmRleF0pIHtcbiAgICAgIGVycm9yKCdVbmV4cGVjdGVkIEZpYmVyIHBvcHBlZC4nKTtcbiAgICB9XG4gIH1cblxuICBjdXJzb3IuY3VycmVudCA9IHZhbHVlU3RhY2tbaW5kZXhdO1xuICB2YWx1ZVN0YWNrW2luZGV4XSA9IG51bGw7XG5cbiAge1xuICAgIGZpYmVyU3RhY2tbaW5kZXhdID0gbnVsbDtcbiAgfVxuXG4gIGluZGV4LS07XG59XG5cbmZ1bmN0aW9uIHB1c2goY3Vyc29yLCB2YWx1ZSwgZmliZXIpIHtcbiAgaW5kZXgrKztcbiAgdmFsdWVTdGFja1tpbmRleF0gPSBjdXJzb3IuY3VycmVudDtcblxuICB7XG4gICAgZmliZXJTdGFja1tpbmRleF0gPSBmaWJlcjtcbiAgfVxuXG4gIGN1cnNvci5jdXJyZW50ID0gdmFsdWU7XG59XG5cbnZhciB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHQ7XG5cbntcbiAgd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0ID0ge307XG59XG5cbnZhciBlbXB0eUNvbnRleHRPYmplY3QgPSB7fTtcblxue1xuICBPYmplY3QuZnJlZXplKGVtcHR5Q29udGV4dE9iamVjdCk7XG59IC8vIEEgY3Vyc29yIHRvIHRoZSBjdXJyZW50IG1lcmdlZCBjb250ZXh0IG9iamVjdCBvbiB0aGUgc3RhY2suXG5cblxudmFyIGNvbnRleHRTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihlbXB0eUNvbnRleHRPYmplY3QpOyAvLyBBIGN1cnNvciB0byBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjb250ZXh0IGhhcyBjaGFuZ2VkLlxuXG52YXIgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihmYWxzZSk7IC8vIEtlZXAgdHJhY2sgb2YgdGhlIHByZXZpb3VzIGNvbnRleHQgb2JqZWN0IHRoYXQgd2FzIG9uIHRoZSBzdGFjay5cbi8vIFdlIHVzZSB0aGlzIHRvIGdldCBhY2Nlc3MgdG8gdGhlIHBhcmVudCBjb250ZXh0IGFmdGVyIHdlIGhhdmUgYWxyZWFkeVxuLy8gcHVzaGVkIHRoZSBuZXh0IGNvbnRleHQgcHJvdmlkZXIsIGFuZCBub3cgbmVlZCB0byBtZXJnZSB0aGVpciBjb250ZXh0cy5cblxudmFyIHByZXZpb3VzQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuZnVuY3Rpb24gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlcikge1xuICB7XG4gICAgaWYgKGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlciAmJiBpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAvLyBJZiB0aGUgZmliZXIgaXMgYSBjb250ZXh0IHByb3ZpZGVyIGl0c2VsZiwgd2hlbiB3ZSByZWFkIGl0cyBjb250ZXh0XG4gICAgICAvLyB3ZSBtYXkgaGF2ZSBhbHJlYWR5IHB1c2hlZCBpdHMgb3duIGNoaWxkIGNvbnRleHQgb24gdGhlIHN0YWNrLiBBIGNvbnRleHRcbiAgICAgIC8vIHByb3ZpZGVyIHNob3VsZCBub3QgXCJzZWVcIiBpdHMgb3duIGNoaWxkIGNvbnRleHQuIFRoZXJlZm9yZSB3ZSByZWFkIHRoZVxuICAgICAgLy8gcHJldmlvdXMgKHBhcmVudCkgY29udGV4dCBpbnN0ZWFkIGZvciBhIGNvbnRleHQgcHJvdmlkZXIuXG4gICAgICByZXR1cm4gcHJldmlvdXNDb250ZXh0O1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWNoZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCwgbWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQgPSB1bm1hc2tlZENvbnRleHQ7XG4gICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQgPSBtYXNrZWRDb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgIHZhciBjb250ZXh0VHlwZXMgPSB0eXBlLmNvbnRleHRUeXBlcztcblxuICAgIGlmICghY29udGV4dFR5cGVzKSB7XG4gICAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xuICAgIH0gLy8gQXZvaWQgcmVjcmVhdGluZyBtYXNrZWQgY29udGV4dCB1bmxlc3MgdW5tYXNrZWQgY29udGV4dCBoYXMgY2hhbmdlZC5cbiAgICAvLyBGYWlsaW5nIHRvIGRvIHRoaXMgd2lsbCByZXN1bHQgaW4gdW5uZWNlc3NhcnkgY2FsbHMgdG8gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcy5cbiAgICAvLyBUaGlzIG1heSB0cmlnZ2VyIGluZmluaXRlIGxvb3BzIGlmIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgY2FsbHMgc2V0U3RhdGUuXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmIChpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0ID09PSB1bm1hc2tlZENvbnRleHQpIHtcbiAgICAgIHJldHVybiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY29udGV4dCA9IHt9O1xuXG4gICAgZm9yICh2YXIga2V5IGluIGNvbnRleHRUeXBlcykge1xuICAgICAgY29udGV4dFtrZXldID0gdW5tYXNrZWRDb250ZXh0W2tleV07XG4gICAgfVxuXG4gICAge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHdvcmtJblByb2dyZXNzKSB8fCAnVW5rbm93bic7XG4gICAgICBjaGVja1Byb3BUeXBlcyhjb250ZXh0VHlwZXMsIGNvbnRleHQsICdjb250ZXh0JywgbmFtZSk7XG4gICAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gICAgLy8gQ29udGV4dCBpcyBjcmVhdGVkIGJlZm9yZSB0aGUgY2xhc3MgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBzbyBjaGVjayBmb3IgaW5zdGFuY2UuXG5cblxuICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc0NvbnRleHRDaGFuZ2VkKCkge1xuICB7XG4gICAgcmV0dXJuIGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NvbnRleHRQcm92aWRlcih0eXBlKSB7XG4gIHtcbiAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSB0eXBlLmNoaWxkQ29udGV4dFR5cGVzO1xuICAgIHJldHVybiBjaGlsZENvbnRleHRUeXBlcyAhPT0gbnVsbCAmJiBjaGlsZENvbnRleHRUeXBlcyAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIHBvcChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBmaWJlcik7XG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlcikge1xuICB7XG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcbiAgICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHVzaFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlciwgY29udGV4dCwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICBpZiAoY29udGV4dFN0YWNrQ3Vyc29yLmN1cnJlbnQgIT09IGVtcHR5Q29udGV4dE9iamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIGNvbnRleHQgZm91bmQgb24gc3RhY2suICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciwgY29udGV4dCwgZmliZXIpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0NoaWxkQ29udGV4dChmaWJlciwgdHlwZSwgcGFyZW50Q29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICAgIHZhciBjaGlsZENvbnRleHRUeXBlcyA9IHR5cGUuY2hpbGRDb250ZXh0VHlwZXM7IC8vIFRPRE8gKGJ2YXVnaG4pIFJlcGxhY2UgdGhpcyBiZWhhdmlvciB3aXRoIGFuIGludmFyaWFudCgpIGluIHRoZSBmdXR1cmUuXG4gICAgLy8gSXQgaGFzIG9ubHkgYmVlbiBhZGRlZCBpbiBGaWJlciB0byBtYXRjaCB0aGUgKHVuaW50ZW50aW9uYWwpIGJlaGF2aW9yIGluIFN0YWNrLlxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bic7XG5cbiAgICAgICAgaWYgKCF3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzLmNoaWxkQ29udGV4dFR5cGVzIGlzIHNwZWNpZmllZCBidXQgdGhlcmUgaXMgbm8gZ2V0Q2hpbGRDb250ZXh0KCkgbWV0aG9kICcgKyAnb24gdGhlIGluc3RhbmNlLiBZb3UgY2FuIGVpdGhlciBkZWZpbmUgZ2V0Q2hpbGRDb250ZXh0KCkgb24gJXMgb3IgcmVtb3ZlICcgKyAnY2hpbGRDb250ZXh0VHlwZXMgZnJvbSBpdC4nLCBjb21wb25lbnROYW1lLCBjb21wb25lbnROYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyZW50Q29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY2hpbGRDb250ZXh0ID0gaW5zdGFuY2UuZ2V0Q2hpbGRDb250ZXh0KCk7XG5cbiAgICBmb3IgKHZhciBjb250ZXh0S2V5IGluIGNoaWxkQ29udGV4dCkge1xuICAgICAgaWYgKCEoY29udGV4dEtleSBpbiBjaGlsZENvbnRleHRUeXBlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bicpICsgXCIuZ2V0Q2hpbGRDb250ZXh0KCk6IGtleSBcXFwiXCIgKyBjb250ZXh0S2V5ICsgXCJcXFwiIGlzIG5vdCBkZWZpbmVkIGluIGNoaWxkQ29udGV4dFR5cGVzLlwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdVbmtub3duJztcbiAgICAgIGNoZWNrUHJvcFR5cGVzKGNoaWxkQ29udGV4dFR5cGVzLCBjaGlsZENvbnRleHQsICdjaGlsZCBjb250ZXh0JywgbmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFzc2lnbih7fSwgcGFyZW50Q29udGV4dCwgY2hpbGRDb250ZXh0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7IC8vIFdlIHB1c2ggdGhlIGNvbnRleHQgYXMgZWFybHkgYXMgcG9zc2libGUgdG8gZW5zdXJlIHN0YWNrIGludGVncml0eS5cbiAgICAvLyBJZiB0aGUgaW5zdGFuY2UgZG9lcyBub3QgZXhpc3QgeWV0LCB3ZSB3aWxsIHB1c2ggbnVsbCBhdCBmaXJzdCxcbiAgICAvLyBhbmQgcmVwbGFjZSBpdCBvbiB0aGUgc3RhY2sgbGF0ZXIgd2hlbiBpbnZhbGlkYXRpbmcgdGhlIGNvbnRleHQuXG5cbiAgICB2YXIgbWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCB8fCBlbXB0eUNvbnRleHRPYmplY3Q7IC8vIFJlbWVtYmVyIHRoZSBwYXJlbnQgY29udGV4dCBzbyB3ZSBjYW4gbWVyZ2Ugd2l0aCBpdCBsYXRlci5cbiAgICAvLyBJbmhlcml0IHRoZSBwYXJlbnQncyBkaWQtcGVyZm9ybS13b3JrIHZhbHVlIHRvIGF2b2lkIGluYWR2ZXJ0ZW50bHkgYmxvY2tpbmcgdXBkYXRlcy5cblxuICAgIHByZXZpb3VzQ29udGV4dCA9IGNvbnRleHRTdGFja0N1cnNvci5jdXJyZW50O1xuICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvci5jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgdHlwZSwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGhhdmUgYW4gaW5zdGFuY2UgYnkgdGhpcyBwb2ludC4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIGlmIChkaWRDaGFuZ2UpIHtcbiAgICAgIC8vIE1lcmdlIHBhcmVudCBhbmQgb3duIGNvbnRleHQuXG4gICAgICAvLyBTa2lwIHRoaXMgaWYgd2UncmUgbm90IHVwZGF0aW5nIGR1ZSB0byBzQ1UuXG4gICAgICAvLyBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyaWx5IHJlY29tcHV0aW5nIG1lbW9pemVkIHZhbHVlcy5cbiAgICAgIHZhciBtZXJnZWRDb250ZXh0ID0gcHJvY2Vzc0NoaWxkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdHlwZSwgcHJldmlvdXNDb250ZXh0KTtcbiAgICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0ID0gbWVyZ2VkQ29udGV4dDsgLy8gUmVwbGFjZSB0aGUgb2xkIChvciBlbXB0eSkgY29udGV4dCB3aXRoIHRoZSBuZXcgb25lLlxuICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRvIHVud2luZCB0aGUgY29udGV4dCBpbiB0aGUgcmV2ZXJzZSBvcmRlci5cblxuICAgICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHBvcChjb250ZXh0U3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTsgLy8gTm93IHB1c2ggdGhlIG5ldyBjb250ZXh0IGFuZCBtYXJrIHRoYXQgaXQgaGFzIGNoYW5nZWQuXG5cbiAgICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZXJnZWRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBwdXNoKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGRpZENoYW5nZSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3AoZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcHVzaChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBkaWRDaGFuZ2UsIHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRVbm1hc2tlZENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIC8vIEN1cnJlbnRseSB0aGlzIGlzIG9ubHkgdXNlZCB3aXRoIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyOyBub3Qgc3VyZSBpZiBpdFxuICAgIC8vIG1ha2VzIHNlbnNlIGVsc2V3aGVyZVxuICAgIGlmICghaXNGaWJlck1vdW50ZWQoZmliZXIpIHx8IGZpYmVyLnRhZyAhPT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgc3VidHJlZSBwYXJlbnQgdG8gYmUgYSBtb3VudGVkIGNsYXNzIGNvbXBvbmVudC4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIHZhciBub2RlID0gZmliZXI7XG5cbiAgICBkbyB7XG4gICAgICBzd2l0Y2ggKG5vZGUudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlLmNvbnRleHQ7XG5cbiAgICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgQ29tcG9uZW50ID0gbm9kZS50eXBlO1xuXG4gICAgICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgICAgICByZXR1cm4gbm9kZS5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgIH0gd2hpbGUgKG5vZGUgIT09IG51bGwpO1xuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdGb3VuZCB1bmV4cGVjdGVkIGRldGFjaGVkIHN1YnRyZWUgcGFyZW50LiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cbn1cblxudmFyIExlZ2FjeVJvb3QgPSAwO1xudmFyIENvbmN1cnJlbnRSb290ID0gMTtcblxudmFyIHN5bmNRdWV1ZSA9IG51bGw7XG52YXIgaW5jbHVkZXNMZWdhY3lTeW5jQ2FsbGJhY2tzID0gZmFsc2U7XG52YXIgaXNGbHVzaGluZ1N5bmNRdWV1ZSA9IGZhbHNlO1xuZnVuY3Rpb24gc2NoZWR1bGVTeW5jQ2FsbGJhY2soY2FsbGJhY2spIHtcbiAgLy8gUHVzaCB0aGlzIGNhbGxiYWNrIGludG8gYW4gaW50ZXJuYWwgcXVldWUuIFdlJ2xsIGZsdXNoIHRoZXNlIGVpdGhlciBpblxuICAvLyB0aGUgbmV4dCB0aWNrLCBvciBlYXJsaWVyIGlmIHNvbWV0aGluZyBjYWxscyBgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZWAuXG4gIGlmIChzeW5jUXVldWUgPT09IG51bGwpIHtcbiAgICBzeW5jUXVldWUgPSBbY2FsbGJhY2tdO1xuICB9IGVsc2Uge1xuICAgIC8vIFB1c2ggb250byBleGlzdGluZyBxdWV1ZS4gRG9uJ3QgbmVlZCB0byBzY2hlZHVsZSBhIGNhbGxiYWNrIGJlY2F1c2VcbiAgICAvLyB3ZSBhbHJlYWR5IHNjaGVkdWxlZCBvbmUgd2hlbiB3ZSBjcmVhdGVkIHRoZSBxdWV1ZS5cbiAgICBzeW5jUXVldWUucHVzaChjYWxsYmFjayk7XG4gIH1cbn1cbmZ1bmN0aW9uIHNjaGVkdWxlTGVnYWN5U3luY0NhbGxiYWNrKGNhbGxiYWNrKSB7XG4gIGluY2x1ZGVzTGVnYWN5U3luY0NhbGxiYWNrcyA9IHRydWU7XG4gIHNjaGVkdWxlU3luY0NhbGxiYWNrKGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIGZsdXNoU3luY0NhbGxiYWNrc09ubHlJbkxlZ2FjeU1vZGUoKSB7XG4gIC8vIE9ubHkgZmx1c2hlcyB0aGUgcXVldWUgaWYgdGhlcmUncyBhIGxlZ2FjeSBzeW5jIGNhbGxiYWNrIHNjaGVkdWxlZC5cbiAgLy8gVE9ETzogVGhlcmUncyBvbmx5IGEgc2luZ2xlIHR5cGUgb2YgY2FsbGJhY2s6IHBlcmZvcm1TeW5jT25Xb3JrT25Sb290LiBTb1xuICAvLyBpdCBtaWdodCBtYWtlIG1vcmUgc2Vuc2UgZm9yIHRoZSBxdWV1ZSB0byBiZSBhIGxpc3Qgb2Ygcm9vdHMgaW5zdGVhZCBvZiBhXG4gIC8vIGxpc3Qgb2YgZ2VuZXJpYyBjYWxsYmFja3MuIFRoZW4gd2UgY2FuIGhhdmUgdHdvOiBvbmUgZm9yIGxlZ2FjeSByb290cywgb25lXG4gIC8vIGZvciBjb25jdXJyZW50IHJvb3RzLiBBbmQgdGhpcyBtZXRob2Qgd291bGQgb25seSBmbHVzaCB0aGUgbGVnYWN5IG9uZXMuXG4gIGlmIChpbmNsdWRlc0xlZ2FjeVN5bmNDYWxsYmFja3MpIHtcbiAgICBmbHVzaFN5bmNDYWxsYmFja3MoKTtcbiAgfVxufVxuZnVuY3Rpb24gZmx1c2hTeW5jQ2FsbGJhY2tzKCkge1xuICBpZiAoIWlzRmx1c2hpbmdTeW5jUXVldWUgJiYgc3luY1F1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gUHJldmVudCByZS1lbnRyYW5jZS5cbiAgICBpc0ZsdXNoaW5nU3luY1F1ZXVlID0gdHJ1ZTtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIHByZXZpb3VzVXBkYXRlUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcblxuICAgIHRyeSB7XG4gICAgICB2YXIgaXNTeW5jID0gdHJ1ZTtcbiAgICAgIHZhciBxdWV1ZSA9IHN5bmNRdWV1ZTsgLy8gVE9ETzogSXMgdGhpcyBuZWNlc3NhcnkgYW55bW9yZT8gVGhlIG9ubHkgdXNlciBjb2RlIHRoYXQgcnVucyBpbiB0aGlzXG4gICAgICAvLyBxdWV1ZSBpcyBpbiB0aGUgcmVuZGVyIG9yIGNvbW1pdCBwaGFzZXMuXG5cbiAgICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuXG4gICAgICBmb3IgKDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHF1ZXVlW2ldO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrKGlzU3luYyk7XG4gICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcbiAgICAgIH1cblxuICAgICAgc3luY1F1ZXVlID0gbnVsbDtcbiAgICAgIGluY2x1ZGVzTGVnYWN5U3luY0NhbGxiYWNrcyA9IGZhbHNlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBJZiBzb21ldGhpbmcgdGhyb3dzLCBsZWF2ZSB0aGUgcmVtYWluaW5nIGNhbGxiYWNrcyBvbiB0aGUgcXVldWUuXG4gICAgICBpZiAoc3luY1F1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIHN5bmNRdWV1ZSA9IHN5bmNRdWV1ZS5zbGljZShpICsgMSk7XG4gICAgICB9IC8vIFJlc3VtZSBmbHVzaGluZyBpbiB0aGUgbmV4dCB0aWNrXG5cblxuICAgICAgc2NoZWR1bGVDYWxsYmFjayhJbW1lZGlhdGVQcmlvcml0eSwgZmx1c2hTeW5jQ2FsbGJhY2tzKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNVcGRhdGVQcmlvcml0eSk7XG4gICAgICBpc0ZsdXNoaW5nU3luY1F1ZXVlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIFRPRE86IFVzZSB0aGUgdW5pZmllZCBmaWJlciBzdGFjayBtb2R1bGUgaW5zdGVhZCBvZiB0aGlzIGxvY2FsIG9uZT9cbi8vIEludGVudGlvbmFsbHkgbm90IHVzaW5nIGl0IHlldCB0byBkZXJpc2sgdGhlIGluaXRpYWwgaW1wbGVtZW50YXRpb24sIGJlY2F1c2Vcbi8vIHRoZSB3YXkgd2UgcHVzaC9wb3AgdGhlc2UgdmFsdWVzIGlzIGEgYml0IHVudXN1YWwuIElmIHRoZXJlJ3MgYSBtaXN0YWtlLCBJJ2Rcbi8vIHJhdGhlciB0aGUgaWRzIGJlIHdyb25nIHRoYW4gY3Jhc2ggdGhlIHdob2xlIHJlY29uY2lsZXIuXG52YXIgZm9ya1N0YWNrID0gW107XG52YXIgZm9ya1N0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVGb3JrUHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVGb3JrQ291bnQgPSAwO1xudmFyIGlkU3RhY2sgPSBbXTtcbnZhciBpZFN0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVDb250ZXh0UHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVDb250ZXh0SWQgPSAxO1xudmFyIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSAnJztcbmZ1bmN0aW9uIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIHJldHVybiAod29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiBGb3JrZWQpICE9PSBOb0ZsYWdzO1xufVxuZnVuY3Rpb24gZ2V0Rm9ya3NBdExldmVsKHdvcmtJblByb2dyZXNzKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpO1xuICByZXR1cm4gdHJlZUZvcmtDb3VudDtcbn1cbmZ1bmN0aW9uIGdldFRyZWVJZCgpIHtcbiAgdmFyIG92ZXJmbG93ID0gdHJlZUNvbnRleHRPdmVyZmxvdztcbiAgdmFyIGlkV2l0aExlYWRpbmdCaXQgPSB0cmVlQ29udGV4dElkO1xuICB2YXIgaWQgPSBpZFdpdGhMZWFkaW5nQml0ICYgfmdldExlYWRpbmdCaXQoaWRXaXRoTGVhZGluZ0JpdCk7XG4gIHJldHVybiBpZC50b1N0cmluZygzMikgKyBvdmVyZmxvdztcbn1cbmZ1bmN0aW9uIHB1c2hUcmVlRm9yayh3b3JrSW5Qcm9ncmVzcywgdG90YWxDaGlsZHJlbikge1xuICAvLyBUaGlzIGlzIGNhbGxlZCByaWdodCBhZnRlciB3ZSByZWNvbmNpbGUgYW4gYXJyYXkgKG9yIGl0ZXJhdG9yKSBvZiBjaGlsZFxuICAvLyBmaWJlcnMsIGJlY2F1c2UgdGhhdCdzIHRoZSBvbmx5IHBsYWNlIHdoZXJlIHdlIGtub3cgaG93IG1hbnkgY2hpbGRyZW4gaW5cbiAgLy8gdGhlIHdob2xlIHNldCB3aXRob3V0IGRvaW5nIGV4dHJhIHdvcmsgbGF0ZXIsIG9yIHN0b3JpbmcgYWRkdGlvbmFsXG4gIC8vIGluZm9ybWF0aW9uIG9uIHRoZSBmaWJlci5cbiAgLy9cbiAgLy8gVGhhdCdzIHdoeSB0aGlzIGZ1bmN0aW9uIGlzIHNlcGFyYXRlIGZyb20gcHVzaFRyZWVJZCDigJQgaXQncyBjYWxsZWQgZHVyaW5nXG4gIC8vIHRoZSByZW5kZXIgcGhhc2Ugb2YgdGhlIGZvcmsgcGFyZW50LCBub3QgdGhlIGNoaWxkLCB3aGljaCBpcyB3aGVyZSB3ZSBwdXNoXG4gIC8vIHRoZSBvdGhlciBjb250ZXh0IHZhbHVlcy5cbiAgLy9cbiAgLy8gSW4gdGhlIEZpenogaW1wbGVtZW50YXRpb24gdGhpcyBpcyBtdWNoIHNpbXBsZXIgYmVjYXVzZSB0aGUgY2hpbGQgaXNcbiAgLy8gcmVuZGVyZWQgaW4gdGhlIHNhbWUgY2FsbHN0YWNrIGFzIHRoZSBwYXJlbnQuXG4gIC8vXG4gIC8vIEl0IG1pZ2h0IGJlIGJldHRlciB0byBqdXN0IGFkZCBhIGBmb3Jrc2AgZmllbGQgdG8gdGhlIEZpYmVyIHR5cGUuIEl0IHdvdWxkXG4gIC8vIG1ha2UgdGhpcyBtb2R1bGUgc2ltcGxlci5cbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleCsrXSA9IHRyZWVGb3JrQ291bnQ7XG4gIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleCsrXSA9IHRyZWVGb3JrUHJvdmlkZXI7XG4gIHRyZWVGb3JrUHJvdmlkZXIgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdHJlZUZvcmtDb3VudCA9IHRvdGFsQ2hpbGRyZW47XG59XG5mdW5jdGlvbiBwdXNoVHJlZUlkKHdvcmtJblByb2dyZXNzLCB0b3RhbENoaWxkcmVuLCBpbmRleCkge1xuICB3YXJuSWZOb3RIeWRyYXRpbmcoKTtcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dElkO1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0T3ZlcmZsb3c7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRQcm92aWRlcjtcbiAgdHJlZUNvbnRleHRQcm92aWRlciA9IHdvcmtJblByb2dyZXNzO1xuICB2YXIgYmFzZUlkV2l0aExlYWRpbmdCaXQgPSB0cmVlQ29udGV4dElkO1xuICB2YXIgYmFzZU92ZXJmbG93ID0gdHJlZUNvbnRleHRPdmVyZmxvdzsgLy8gVGhlIGxlZnRtb3N0IDEgbWFya3MgdGhlIGVuZCBvZiB0aGUgc2VxdWVuY2UsIG5vbi1pbmNsdXNpdmUuIEl0J3Mgbm90IHBhcnRcbiAgLy8gb2YgdGhlIGlkOyB3ZSB1c2UgaXQgdG8gYWNjb3VudCBmb3IgbGVhZGluZyAwcy5cblxuICB2YXIgYmFzZUxlbmd0aCA9IGdldEJpdExlbmd0aChiYXNlSWRXaXRoTGVhZGluZ0JpdCkgLSAxO1xuICB2YXIgYmFzZUlkID0gYmFzZUlkV2l0aExlYWRpbmdCaXQgJiB+KDEgPDwgYmFzZUxlbmd0aCk7XG4gIHZhciBzbG90ID0gaW5kZXggKyAxO1xuICB2YXIgbGVuZ3RoID0gZ2V0Qml0TGVuZ3RoKHRvdGFsQ2hpbGRyZW4pICsgYmFzZUxlbmd0aDsgLy8gMzAgaXMgdGhlIG1heCBsZW5ndGggd2UgY2FuIHN0b3JlIHdpdGhvdXQgb3ZlcmZsb3dpbmcsIHRha2luZyBpbnRvXG4gIC8vIGNvbnNpZGVyYXRpb24gdGhlIGxlYWRpbmcgMSB3ZSB1c2UgdG8gbWFyayB0aGUgZW5kIG9mIHRoZSBzZXF1ZW5jZS5cblxuICBpZiAobGVuZ3RoID4gMzApIHtcbiAgICAvLyBXZSBvdmVyZmxvd2VkIHRoZSBiaXR3aXNlLXNhZmUgcmFuZ2UuIEZhbGwgYmFjayB0byBzbG93ZXIgYWxnb3JpdGhtLlxuICAgIC8vIFRoaXMgYnJhbmNoIGFzc3VtZXMgdGhlIGxlbmd0aCBvZiB0aGUgYmFzZSBpZCBpcyBncmVhdGVyIHRoYW4gNTsgaXQgd29uJ3RcbiAgICAvLyB3b3JrIGZvciBzbWFsbGVyIGlkcywgYmVjYXVzZSB5b3UgbmVlZCA1IGJpdHMgcGVyIGNoYXJhY3Rlci5cbiAgICAvL1xuICAgIC8vIFdlIGVuY29kZSB0aGUgaWQgaW4gbXVsdGlwbGUgc3RlcHM6IGZpcnN0IHRoZSBiYXNlIGlkLCB0aGVuIHRoZVxuICAgIC8vIHJlbWFpbmluZyBkaWdpdHMuXG4gICAgLy9cbiAgICAvLyBFYWNoIDUgYml0IHNlcXVlbmNlIGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIGJhc2UgMzIgY2hhcmFjdGVyLiBTbyBmb3JcbiAgICAvLyBleGFtcGxlLCBpZiB0aGUgY3VycmVudCBpZCBpcyAyMyBiaXRzIGxvbmcsIHdlIGNhbiBjb252ZXJ0IDIwIG9mIHRob3NlXG4gICAgLy8gYml0cyBpbnRvIGEgc3RyaW5nIG9mIDQgY2hhcmFjdGVycywgd2l0aCAzIGJpdHMgbGVmdCBvdmVyLlxuICAgIC8vXG4gICAgLy8gRmlyc3QgY2FsY3VsYXRlIGhvdyBtYW55IGJpdHMgaW4gdGhlIGJhc2UgaWQgcmVwcmVzZW50IGEgY29tcGxldGVcbiAgICAvLyBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzLlxuICAgIHZhciBudW1iZXJPZk92ZXJmbG93Qml0cyA9IGJhc2VMZW5ndGggLSBiYXNlTGVuZ3RoICUgNTsgLy8gVGhlbiBjcmVhdGUgYSBiaXRtYXNrIHRoYXQgc2VsZWN0cyBvbmx5IHRob3NlIGJpdHMuXG5cbiAgICB2YXIgbmV3T3ZlcmZsb3dCaXRzID0gKDEgPDwgbnVtYmVyT2ZPdmVyZmxvd0JpdHMpIC0gMTsgLy8gU2VsZWN0IHRoZSBiaXRzLCBhbmQgY29udmVydCB0aGVtIHRvIGEgYmFzZSAzMiBzdHJpbmcuXG5cbiAgICB2YXIgbmV3T3ZlcmZsb3cgPSAoYmFzZUlkICYgbmV3T3ZlcmZsb3dCaXRzKS50b1N0cmluZygzMik7IC8vIE5vdyB3ZSBjYW4gcmVtb3ZlIHRob3NlIGJpdHMgZnJvbSB0aGUgYmFzZSBpZC5cblxuICAgIHZhciByZXN0T2ZCYXNlSWQgPSBiYXNlSWQgPj4gbnVtYmVyT2ZPdmVyZmxvd0JpdHM7XG4gICAgdmFyIHJlc3RPZkJhc2VMZW5ndGggPSBiYXNlTGVuZ3RoIC0gbnVtYmVyT2ZPdmVyZmxvd0JpdHM7IC8vIEZpbmFsbHksIGVuY29kZSB0aGUgcmVzdCBvZiB0aGUgYml0cyB1c2luZyB0aGUgbm9ybWFsIGFsZ29yaXRobS4gQmVjYXVzZVxuICAgIC8vIHdlIG1hZGUgbW9yZSByb29tLCB0aGlzIHRpbWUgaXQgd29uJ3Qgb3ZlcmZsb3cuXG5cbiAgICB2YXIgcmVzdE9mTGVuZ3RoID0gZ2V0Qml0TGVuZ3RoKHRvdGFsQ2hpbGRyZW4pICsgcmVzdE9mQmFzZUxlbmd0aDtcbiAgICB2YXIgcmVzdE9mTmV3Qml0cyA9IHNsb3QgPDwgcmVzdE9mQmFzZUxlbmd0aDtcbiAgICB2YXIgaWQgPSByZXN0T2ZOZXdCaXRzIHwgcmVzdE9mQmFzZUlkO1xuICAgIHZhciBvdmVyZmxvdyA9IG5ld092ZXJmbG93ICsgYmFzZU92ZXJmbG93O1xuICAgIHRyZWVDb250ZXh0SWQgPSAxIDw8IHJlc3RPZkxlbmd0aCB8IGlkO1xuICAgIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSBvdmVyZmxvdztcbiAgfSBlbHNlIHtcbiAgICAvLyBOb3JtYWwgcGF0aFxuICAgIHZhciBuZXdCaXRzID0gc2xvdCA8PCBiYXNlTGVuZ3RoO1xuXG4gICAgdmFyIF9pZCA9IG5ld0JpdHMgfCBiYXNlSWQ7XG5cbiAgICB2YXIgX292ZXJmbG93ID0gYmFzZU92ZXJmbG93O1xuICAgIHRyZWVDb250ZXh0SWQgPSAxIDw8IGxlbmd0aCB8IF9pZDtcbiAgICB0cmVlQ29udGV4dE92ZXJmbG93ID0gX292ZXJmbG93O1xuICB9XG59XG5mdW5jdGlvbiBwdXNoTWF0ZXJpYWxpemVkVHJlZUlkKHdvcmtJblByb2dyZXNzKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpOyAvLyBUaGlzIGNvbXBvbmVudCBtYXRlcmlhbGl6ZWQgYW4gaWQuIFRoaXMgd2lsbCBhZmZlY3QgYW55IGlkcyB0aGF0IGFwcGVhclxuICAvLyBpbiBpdHMgY2hpbGRyZW4uXG5cbiAgdmFyIHJldHVybkZpYmVyID0gd29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuXG4gIGlmIChyZXR1cm5GaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBudW1iZXJPZkZvcmtzID0gMTtcbiAgICB2YXIgc2xvdEluZGV4ID0gMDtcbiAgICBwdXNoVHJlZUZvcmsod29ya0luUHJvZ3Jlc3MsIG51bWJlck9mRm9ya3MpO1xuICAgIHB1c2hUcmVlSWQod29ya0luUHJvZ3Jlc3MsIG51bWJlck9mRm9ya3MsIHNsb3RJbmRleCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Qml0TGVuZ3RoKG51bWJlcikge1xuICByZXR1cm4gMzIgLSBjbHozMihudW1iZXIpO1xufVxuXG5mdW5jdGlvbiBnZXRMZWFkaW5nQml0KGlkKSB7XG4gIHJldHVybiAxIDw8IGdldEJpdExlbmd0aChpZCkgLSAxO1xufVxuXG5mdW5jdGlvbiBwb3BUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBSZXN0b3JlIHRoZSBwcmV2aW91cyB2YWx1ZXMuXG4gIC8vIFRoaXMgaXMgYSBiaXQgbW9yZSBjb21wbGljYXRlZCB0aGFuIG90aGVyIGNvbnRleHQtbGlrZSBtb2R1bGVzIGluIEZpYmVyXG4gIC8vIGJlY2F1c2UgdGhlIHNhbWUgRmliZXIgbWF5IGFwcGVhciBvbiB0aGUgc3RhY2sgbXVsdGlwbGUgdGltZXMgYW5kIGZvclxuICAvLyBkaWZmZXJlbnQgcmVhc29ucy4gV2UgaGF2ZSB0byBrZWVwIHBvcHBpbmcgdW50aWwgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgaXNcbiAgLy8gbm8gbG9uZ2VyIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrLlxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgPT09IHRyZWVGb3JrUHJvdmlkZXIpIHtcbiAgICB0cmVlRm9ya1Byb3ZpZGVyID0gZm9ya1N0YWNrWy0tZm9ya1N0YWNrSW5kZXhdO1xuICAgIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleF0gPSBudWxsO1xuICAgIHRyZWVGb3JrQ291bnQgPSBmb3JrU3RhY2tbLS1mb3JrU3RhY2tJbmRleF07XG4gICAgZm9ya1N0YWNrW2ZvcmtTdGFja0luZGV4XSA9IG51bGw7XG4gIH1cblxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgPT09IHRyZWVDb250ZXh0UHJvdmlkZXIpIHtcbiAgICB0cmVlQ29udGV4dFByb3ZpZGVyID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgICB0cmVlQ29udGV4dE92ZXJmbG93ID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgICB0cmVlQ29udGV4dElkID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0U3VzcGVuZGVkVHJlZUNvbnRleHQoKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpO1xuXG4gIGlmICh0cmVlQ29udGV4dFByb3ZpZGVyICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0cmVlQ29udGV4dElkLFxuICAgICAgb3ZlcmZsb3c6IHRyZWVDb250ZXh0T3ZlcmZsb3dcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlU3VzcGVuZGVkVHJlZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbmRlZENvbnRleHQpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRJZDtcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dE92ZXJmbG93O1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0UHJvdmlkZXI7XG4gIHRyZWVDb250ZXh0SWQgPSBzdXNwZW5kZWRDb250ZXh0LmlkO1xuICB0cmVlQ29udGV4dE92ZXJmbG93ID0gc3VzcGVuZGVkQ29udGV4dC5vdmVyZmxvdztcbiAgdHJlZUNvbnRleHRQcm92aWRlciA9IHdvcmtJblByb2dyZXNzO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZOb3RIeWRyYXRpbmcoKSB7XG4gIHtcbiAgICBpZiAoIWdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBiZSBoeWRyYXRpbmcuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlICcgKyAnYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgbWF5IGhhdmUgYmVlbiBhbiBpbnNlcnRpb24gb3IgYSBoeWRyYXRpb24uXG5cbnZhciBoeWRyYXRpb25QYXJlbnRGaWJlciA9IG51bGw7XG52YXIgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG52YXIgaXNIeWRyYXRpbmcgPSBmYWxzZTsgLy8gVGhpcyBmbGFnIGFsbG93cyBmb3Igd2FybmluZyBzdXByZXNzaW9uIHdoZW4gd2UgZXhwZWN0IHRoZXJlIHRvIGJlIG1pc21hdGNoZXNcbi8vIGR1ZSB0byBlYXJsaWVyIG1pc21hdGNoZXMgb3IgYSBzdXNwZW5kZWQgZmliZXIuXG5cbnZhciBkaWRTdXNwZW5kT3JFcnJvckRFViA9IGZhbHNlOyAvLyBIeWRyYXRpb24gZXJyb3JzIHRoYXQgd2VyZSB0aHJvd24gaW5zaWRlIHRoaXMgYm91bmRhcnlcblxudmFyIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG5cbmZ1bmN0aW9uIHdhcm5JZkh5ZHJhdGluZygpIHtcbiAge1xuICAgIGlmIChpc0h5ZHJhdGluZykge1xuICAgICAgZXJyb3IoJ1dlIHNob3VsZCBub3QgYmUgaHlkcmF0aW5nIGhlcmUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGEgYnVnLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrRGlkVGhyb3dXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIGRpZFN1c3BlbmRPckVycm9yREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkU3VzcGVuZE9yRXJyb3JXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIHJldHVybiBkaWRTdXNwZW5kT3JFcnJvckRFVjtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnRlckh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgdmFyIHBhcmVudEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG4gIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpbkNvbnRhaW5lcihwYXJlbnRJbnN0YW5jZSk7XG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gIGlzSHlkcmF0aW5nID0gdHJ1ZTtcbiAgaHlkcmF0aW9uRXJyb3JzID0gbnVsbDtcbiAgZGlkU3VzcGVuZE9yRXJyb3JERVYgPSBmYWxzZTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHJlZW50ZXJIeWRyYXRpb25TdGF0ZUZyb21EZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlciwgc3VzcGVuc2VJbnN0YW5jZSwgdHJlZUNvbnRleHQpIHtcblxuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGRXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpO1xuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICBpc0h5ZHJhdGluZyA9IHRydWU7XG4gIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG4gIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7XG5cbiAgaWYgKHRyZWVDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgcmVzdG9yZVN1c3BlbmRlZFRyZWVDb250ZXh0KGZpYmVyLCB0cmVlQ29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgaW5zdGFuY2UpIHtcbiAge1xuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluQ29udGFpbmVyKHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLCBpbnN0YW5jZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZShyZXR1cm5GaWJlci50eXBlLCByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzLCByZXR1cm5GaWJlci5zdGF0ZU5vZGUsIGluc3RhbmNlLCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgIGlzQ29uY3VycmVudE1vZGUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHJldHVybkZpYmVyLm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgaWYgKHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQsIGluc3RhbmNlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKSB7XG4gIHdhcm5Vbmh5ZHJhdGVkSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKTtcbiAgdmFyIGNoaWxkVG9EZWxldGUgPSBjcmVhdGVGaWJlckZyb21Ib3N0SW5zdGFuY2VGb3JEZWxldGlvbigpO1xuICBjaGlsZFRvRGVsZXRlLnN0YXRlTm9kZSA9IGluc3RhbmNlO1xuICBjaGlsZFRvRGVsZXRlLnJldHVybiA9IHJldHVybkZpYmVyO1xuICB2YXIgZGVsZXRpb25zID0gcmV0dXJuRmliZXIuZGVsZXRpb25zO1xuXG4gIGlmIChkZWxldGlvbnMgPT09IG51bGwpIHtcbiAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBbY2hpbGRUb0RlbGV0ZV07XG4gICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgfSBlbHNlIHtcbiAgICBkZWxldGlvbnMucHVzaChjaGlsZFRvRGVsZXRlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuTm9uaHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgZmliZXIpIHtcbiAge1xuICAgIGlmIChkaWRTdXNwZW5kT3JFcnJvckRFVikge1xuICAgICAgLy8gSW5zaWRlIGEgYm91bmRhcnkgdGhhdCBhbHJlYWR5IHN1c3BlbmRlZC4gV2UncmUgY3VycmVudGx5IHJlbmRlcmluZyB0aGVcbiAgICAgIC8vIHNpYmxpbmdzIG9mIGEgc3VzcGVuZGVkIG5vZGUuIFRoZSBtaXNtYXRjaCBtYXkgYmUgZHVlIHRvIHRoZSBtaXNzaW5nXG4gICAgICAvLyBkYXRhLCBzbyBpdCdzIHByb2JhYmx5IGEgZmFsc2UgcG9zaXRpdmUuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChyZXR1cm5GaWJlci50YWcpIHtcbiAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgcGFyZW50Q29udGFpbmVyID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG5cbiAgICAgICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIHR5cGUpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgICAgICAgICAgdmFyIHRleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlV2l0aGluQ29udGFpbmVyKHBhcmVudENvbnRhaW5lciwgdGV4dCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwYXJlbnRUeXBlID0gcmV0dXJuRmliZXIudHlwZTtcbiAgICAgICAgICB2YXIgcGFyZW50UHJvcHMgPSByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzO1xuICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YXIgX3R5cGUgPSBmaWJlci50eXBlO1xuICAgICAgICAgICAgICAgIHZhciBfcHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBfdHlwZSwgX3Byb3BzLCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgICAgIGlzQ29uY3VycmVudE1vZGUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgICAgICAgICB2YXIgX2lzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuXG4gICAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBfdGV4dCwgLy8gVE9ETzogRGVsZXRlIHRoaXMgYXJndW1lbnQgd2hlbiB3ZSByZW1vdmUgdGhlIGxlZ2FjeSByb290IEFQSS5cbiAgICAgICAgICAgICAgICBfaXNDb25jdXJyZW50TW9kZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHN1c3BlbnNlU3RhdGUgPSByZXR1cm5GaWJlci5tZW1vaXplZFN0YXRlO1xuICAgICAgICAgIHZhciBfcGFyZW50SW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQ7XG4gICAgICAgICAgaWYgKF9wYXJlbnRJbnN0YW5jZSAhPT0gbnVsbCkgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAgICAgICAgdmFyIF90eXBlMiA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBfcHJvcHMyID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShfcGFyZW50SW5zdGFuY2UsIF90eXBlMik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgICAgICAgICB2YXIgX3RleHQyID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZVRleHRJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UoX3BhcmVudEluc3RhbmNlLCBfdGV4dDIpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKHJldHVybkZpYmVyLCBmaWJlcikge1xuICBmaWJlci5mbGFncyA9IGZpYmVyLmZsYWdzICYgfkh5ZHJhdGluZyB8IFBsYWNlbWVudDtcbiAgd2Fybk5vbmh5ZHJhdGVkSW5zdGFuY2UocmV0dXJuRmliZXIsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSB7XG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgdmFyIGluc3RhbmNlID0gY2FuSHlkcmF0ZUluc3RhbmNlKG5leHRJbnN0YW5jZSwgdHlwZSk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgZmliZXIuc3RhdGVOb2RlID0gaW5zdGFuY2U7XG4gICAgICAgICAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcbiAgICAgICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQoaW5zdGFuY2UpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHRleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgIHZhciB0ZXh0SW5zdGFuY2UgPSBjYW5IeWRyYXRlVGV4dEluc3RhbmNlKG5leHRJbnN0YW5jZSwgdGV4dCk7XG5cbiAgICAgICAgaWYgKHRleHRJbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGZpYmVyLnN0YXRlTm9kZSA9IHRleHRJbnN0YW5jZTtcbiAgICAgICAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyOyAvLyBUZXh0IEluc3RhbmNlcyBkb24ndCBoYXZlIGNoaWxkcmVuIHNvIHRoZXJlJ3Mgbm90aGluZyB0byBoeWRyYXRlLlxuXG4gICAgICAgICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgc3VzcGVuc2VJbnN0YW5jZSA9IGNhbkh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKG5leHRJbnN0YW5jZSk7XG5cbiAgICAgICAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHtcbiAgICAgICAgICAgIGRlaHlkcmF0ZWQ6IHN1c3BlbnNlSW5zdGFuY2UsXG4gICAgICAgICAgICB0cmVlQ29udGV4dDogZ2V0U3VzcGVuZGVkVHJlZUNvbnRleHQoKSxcbiAgICAgICAgICAgIHJldHJ5TGFuZTogT2Zmc2NyZWVuTGFuZVxuICAgICAgICAgIH07XG4gICAgICAgICAgZmliZXIubWVtb2l6ZWRTdGF0ZSA9IHN1c3BlbnNlU3RhdGU7IC8vIFN0b3JlIHRoZSBkZWh5ZHJhdGVkIGZyYWdtZW50IGFzIGEgY2hpbGQgZmliZXIuXG4gICAgICAgICAgLy8gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGZvciBnZXRIb3N0U2libGluZyBhbmQgZGVsZXRpbmcgbm9kZXMsXG4gICAgICAgICAgLy8gc2luY2UgaXQgZG9lc24ndCBoYXZlIHRvIGNvbnNpZGVyIGFsbCBTdXNwZW5zZSBib3VuZGFyaWVzIGFuZFxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZXkncmUgZGVoeWRyYXRlZCBvbmVzIG9yIG5vdC5cblxuICAgICAgICAgIHZhciBkZWh5ZHJhdGVkRnJhZ21lbnQgPSBjcmVhdGVGaWJlckZyb21EZWh5ZHJhdGVkRnJhZ21lbnQoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgICAgICAgZGVoeWRyYXRlZEZyYWdtZW50LnJldHVybiA9IGZpYmVyO1xuICAgICAgICAgIGZpYmVyLmNoaWxkID0gZGVoeWRyYXRlZEZyYWdtZW50O1xuICAgICAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7IC8vIFdoaWxlIGEgU3VzcGVuc2UgSW5zdGFuY2UgZG9lcyBoYXZlIGNoaWxkcmVuLCB3ZSB3b24ndCBzdGVwIGludG9cbiAgICAgICAgICAvLyBpdCBkdXJpbmcgdGhlIGZpcnN0IHBhc3MuIEluc3RlYWQsIHdlJ2xsIHJlZW50ZXIgaXQgbGF0ZXIuXG5cbiAgICAgICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gbnVsbDtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikge1xuICByZXR1cm4gKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSAmJiAoZmliZXIuZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncztcbn1cblxuZnVuY3Rpb24gdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKGZpYmVyKSB7XG4gIHRocm93IG5ldyBFcnJvcignSHlkcmF0aW9uIGZhaWxlZCBiZWNhdXNlIHRoZSBpbml0aWFsIFVJIGRvZXMgbm90IG1hdGNoIHdoYXQgd2FzICcgKyAncmVuZGVyZWQgb24gdGhlIHNlcnZlci4nKTtcbn1cblxuZnVuY3Rpb24gdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2UoZmliZXIpIHtcbiAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xuXG4gIGlmICghbmV4dEluc3RhbmNlKSB7XG4gICAgaWYgKHNob3VsZENsaWVudFJlbmRlck9uTWlzbWF0Y2goZmliZXIpKSB7XG4gICAgICB3YXJuTm9uaHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKCk7XG4gICAgfSAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuXG5cbiAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBmaXJzdEF0dGVtcHRlZEluc3RhbmNlID0gbmV4dEluc3RhbmNlO1xuXG4gIGlmICghdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSkge1xuICAgIGlmIChzaG91bGRDbGllbnRSZW5kZXJPbk1pc21hdGNoKGZpYmVyKSkge1xuICAgICAgd2Fybk5vbmh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgIH0gLy8gSWYgd2UgY2FuJ3QgaHlkcmF0ZSB0aGlzIGluc3RhbmNlIGxldCdzIHRyeSB0aGUgbmV4dCBvbmUuXG4gICAgLy8gV2UgdXNlIHRoaXMgYXMgYSBoZXVyaXN0aWMuIEl0J3MgYmFzZWQgb24gaW50dWl0aW9uIGFuZCBub3QgZGF0YSBzbyBpdFxuICAgIC8vIG1pZ2h0IGJlIGZsYXdlZCBvciB1bm5lY2Vzc2FyeS5cblxuXG4gICAgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGZpcnN0QXR0ZW1wdGVkSW5zdGFuY2UpO1xuICAgIHZhciBwcmV2SHlkcmF0aW9uUGFyZW50RmliZXIgPSBoeWRyYXRpb25QYXJlbnRGaWJlcjtcblxuICAgIGlmICghbmV4dEluc3RhbmNlIHx8ICF0cnlIeWRyYXRlKGZpYmVyLCBuZXh0SW5zdGFuY2UpKSB7XG4gICAgICAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuICAgICAgaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBXZSBtYXRjaGVkIHRoZSBuZXh0IG9uZSwgd2UnbGwgbm93IGFzc3VtZSB0aGF0IHRoZSBmaXJzdCBvbmUgd2FzXG4gICAgLy8gc3VwZXJmbHVvdXMgYW5kIHdlJ2xsIGRlbGV0ZSBpdC4gU2luY2Ugd2UgY2FuJ3QgZWFnZXJseSBkZWxldGUgaXRcbiAgICAvLyB3ZSdsbCBoYXZlIHRvIHNjaGVkdWxlIGEgZGVsZXRpb24uIFRvIGRvIHRoYXQsIHRoaXMgbm9kZSBuZWVkcyBhIGR1bW15XG4gICAgLy8gZmliZXIgYXNzb2NpYXRlZCB3aXRoIGl0LlxuXG5cbiAgICBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocHJldkh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaXJzdEF0dGVtcHRlZEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKGZpYmVyLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0KSB7XG5cbiAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICB2YXIgc2hvdWxkV2FybklmTWlzbWF0Y2hEZXYgPSAhZGlkU3VzcGVuZE9yRXJyb3JERVY7XG4gIHZhciB1cGRhdGVQYXlsb2FkID0gaHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCBmaWJlci50eXBlLCBmaWJlci5tZW1vaXplZFByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBmaWJlciwgc2hvdWxkV2FybklmTWlzbWF0Y2hEZXYpOyAvLyBUT0RPOiBUeXBlIHRoaXMgc3BlY2lmaWMgdG8gdGhpcyB0eXBlIG9mIGNvbXBvbmVudC5cblxuICBmaWJlci51cGRhdGVRdWV1ZSA9IHVwZGF0ZVBheWxvYWQ7IC8vIElmIHRoZSB1cGRhdGUgcGF5bG9hZCBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhIGNoYW5nZSBvciBpZiB0aGVyZVxuICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS5cblxuICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdFRleHRJbnN0YW5jZShmaWJlcikge1xuXG4gIHZhciB0ZXh0SW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG4gIHZhciB0ZXh0Q29udGVudCA9IGZpYmVyLm1lbW9pemVkUHJvcHM7XG4gIHZhciBzaG91bGRVcGRhdGUgPSBoeWRyYXRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIGZpYmVyKTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gV2UgYXNzdW1lIHRoYXQgcHJlcGFyZVRvSHlkcmF0ZUhvc3RUZXh0SW5zdGFuY2UgaXMgY2FsbGVkIGluIGEgY29udGV4dCB3aGVyZSB0aGVcbiAgICAvLyBoeWRyYXRpb24gcGFyZW50IGlzIHRoZSBwYXJlbnQgaG9zdCBjb21wb25lbnQgb2YgdGhpcyBob3N0IHRleHQuXG4gICAgdmFyIHJldHVybkZpYmVyID0gaHlkcmF0aW9uUGFyZW50RmliZXI7XG5cbiAgICBpZiAocmV0dXJuRmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudENvbnRhaW5lciA9IHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgICAgZGlkTm90TWF0Y2hIeWRyYXRlZENvbnRhaW5lclRleHRJbnN0YW5jZShwYXJlbnRDb250YWluZXIsIHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIC8vIFRPRE86IERlbGV0ZSB0aGlzIGFyZ3VtZW50IHdoZW4gd2UgcmVtb3ZlIHRoZSBsZWdhY3kgcm9vdCBBUEkuXG4gICAgICAgICAgICBpc0NvbmN1cnJlbnRNb2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudFR5cGUgPSByZXR1cm5GaWJlci50eXBlO1xuICAgICAgICAgICAgdmFyIHBhcmVudFByb3BzID0gcmV0dXJuRmliZXIubWVtb2l6ZWRQcm9wcztcbiAgICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgdmFyIF9pc0NvbmN1cnJlbnRNb2RlMiA9IChyZXR1cm5GaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG5cbiAgICAgICAgICAgIGRpZE5vdE1hdGNoSHlkcmF0ZWRUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0ZXh0SW5zdGFuY2UsIHRleHRDb250ZW50LCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgX2lzQ29uY3VycmVudE1vZGUyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpIHtcblxuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzdXNwZW5zZUluc3RhbmNlID0gc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCA/IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCA6IG51bGw7XG5cbiAgaWYgKCFzdXNwZW5zZUluc3RhbmNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBoYXZlIGEgaHlkcmF0ZWQgc3VzcGVuc2UgaW5zdGFuY2UuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIGh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2tpcFBhc3REZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlcikge1xuXG4gIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHN1c3BlbnNlSW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlICE9PSBudWxsID8gc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkIDogbnVsbDtcblxuICBpZiAoIXN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGhhdmUgYSBoeWRyYXRlZCBzdXNwZW5zZSBpbnN0YW5jZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG5cbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlSW5zdGFuY2VBZnRlclN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG59XG5cbmZ1bmN0aW9uIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsICYmIHBhcmVudC50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgcGFyZW50LnRhZyAhPT0gSG9zdFJvb3QgJiYgcGFyZW50LnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICB9XG5cbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBwYXJlbnQ7XG59XG5cbmZ1bmN0aW9uIHBvcEh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgaWYgKGZpYmVyICE9PSBoeWRyYXRpb25QYXJlbnRGaWJlcikge1xuICAgIC8vIFdlJ3JlIGRlZXBlciB0aGFuIHRoZSBjdXJyZW50IGh5ZHJhdGlvbiBjb250ZXh0LCBpbnNpZGUgYW4gaW5zZXJ0ZWRcbiAgICAvLyB0cmVlLlxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaXNIeWRyYXRpbmcpIHtcbiAgICAvLyBJZiB3ZSdyZSBub3QgY3VycmVudGx5IGh5ZHJhdGluZyBidXQgd2UncmUgaW4gYSBoeWRyYXRpb24gY29udGV4dCwgdGhlblxuICAgIC8vIHdlIHdlcmUgYW4gaW5zZXJ0aW9uIGFuZCBub3cgbmVlZCB0byBwb3AgdXAgcmVlbnRlciBoeWRyYXRpb24gb2Ygb3VyXG4gICAgLy8gc2libGluZ3MuXG4gICAgcG9wVG9OZXh0SG9zdFBhcmVudChmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBJZiB3ZSBoYXZlIGFueSByZW1haW5pbmcgaHlkcmF0YWJsZSBub2Rlcywgd2UgbmVlZCB0byBkZWxldGUgdGhlbSBub3cuXG4gIC8vIFdlIG9ubHkgZG8gdGhpcyBkZWVwZXIgdGhhbiBoZWFkIGFuZCBib2R5IHNpbmNlIHRoZXkgdGVuZCB0byBoYXZlIHJhbmRvbVxuICAvLyBvdGhlciBub2RlcyBpbiB0aGVtLiBXZSBhbHNvIGlnbm9yZSBjb21wb25lbnRzIHdpdGggcHVyZSB0ZXh0IGNvbnRlbnQgaW5cbiAgLy8gc2lkZSBvZiB0aGVtLiBXZSBhbHNvIGRvbid0IGRlbGV0ZSBhbnl0aGluZyBpbnNpZGUgdGhlIHJvb3QgY29udGFpbmVyLlxuXG5cbiAgaWYgKGZpYmVyLnRhZyAhPT0gSG9zdFJvb3QgJiYgKGZpYmVyLnRhZyAhPT0gSG9zdENvbXBvbmVudCB8fCBzaG91bGREZWxldGVVbmh5ZHJhdGVkVGFpbEluc3RhbmNlcyhmaWJlci50eXBlKSAmJiAhc2hvdWxkU2V0VGV4dENvbnRlbnQoZmliZXIudHlwZSwgZmliZXIubWVtb2l6ZWRQcm9wcykpKSB7XG4gICAgdmFyIG5leHRJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XG5cbiAgICBpZiAobmV4dEluc3RhbmNlKSB7XG4gICAgICBpZiAoc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikpIHtcbiAgICAgICAgd2FybklmVW5oeWRyYXRlZFRhaWxOb2RlcyhmaWJlcik7XG4gICAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2hpbGUgKG5leHRJbnN0YW5jZSkge1xuICAgICAgICAgIGRlbGV0ZUh5ZHJhdGFibGVJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICAgICAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpO1xuXG4gIGlmIChmaWJlci50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IHNraXBQYXN0RGVoeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpO1xuICB9IGVsc2Uge1xuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBoeWRyYXRpb25QYXJlbnRGaWJlciA/IGdldE5leHRIeWRyYXRhYmxlU2libGluZyhmaWJlci5zdGF0ZU5vZGUpIDogbnVsbDtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBoYXNVbmh5ZHJhdGVkVGFpbE5vZGVzKCkge1xuICByZXR1cm4gaXNIeWRyYXRpbmcgJiYgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSAhPT0gbnVsbDtcbn1cblxuZnVuY3Rpb24gd2FybklmVW5oeWRyYXRlZFRhaWxOb2RlcyhmaWJlcikge1xuICB2YXIgbmV4dEluc3RhbmNlID0gbmV4dEh5ZHJhdGFibGVJbnN0YW5jZTtcblxuICB3aGlsZSAobmV4dEluc3RhbmNlKSB7XG4gICAgd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldEh5ZHJhdGlvblN0YXRlKCkge1xuXG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gbnVsbDtcbiAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG4gIGlzSHlkcmF0aW5nID0gZmFsc2U7XG4gIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHVwZ3JhZGVIeWRyYXRpb25FcnJvcnNUb1JlY292ZXJhYmxlKCkge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzICE9PSBudWxsKSB7XG4gICAgLy8gU3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCBhIGZvcmNlZCBjbGllbnQgcmVuZGVyLiBUaGUgZXJyb3JzIHRoYXQgb2NjdXJyZWRcbiAgICAvLyBkdXJpbmcgdGhlIGh5ZHJhdGlvbiBhdHRlbXB0IGFyZSBub3cgcmVjb3ZlcmVkLiBXZSB3aWxsIGxvZyB0aGVtIGluXG4gICAgLy8gY29tbWl0IHBoYXNlLCBvbmNlIHRoZSBlbnRpcmUgdHJlZSBoYXMgZmluaXNoZWQuXG4gICAgcXVldWVSZWNvdmVyYWJsZUVycm9ycyhoeWRyYXRpb25FcnJvcnMpO1xuICAgIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SXNIeWRyYXRpbmcoKSB7XG4gIHJldHVybiBpc0h5ZHJhdGluZztcbn1cblxuZnVuY3Rpb24gcXVldWVIeWRyYXRpb25FcnJvcihlcnJvcikge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzID09PSBudWxsKSB7XG4gICAgaHlkcmF0aW9uRXJyb3JzID0gW2Vycm9yXTtcbiAgfSBlbHNlIHtcbiAgICBoeWRyYXRpb25FcnJvcnMucHVzaChlcnJvcik7XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbnZhciBOb1RyYW5zaXRpb24gPSBudWxsO1xuZnVuY3Rpb24gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCkge1xuICByZXR1cm4gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS50cmFuc2l0aW9uO1xufVxuXG52YXIgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MgPSB7XG4gIHJlY29yZFVuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7fSxcbiAgZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3M6IGZ1bmN0aW9uICgpIHt9LFxuICByZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZzogZnVuY3Rpb24gKGZpYmVyLCBpbnN0YW5jZSkge30sXG4gIGZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmc6IGZ1bmN0aW9uICgpIHt9LFxuICBkaXNjYXJkUGVuZGluZ1dhcm5pbmdzOiBmdW5jdGlvbiAoKSB7fVxufTtcblxue1xuICB2YXIgZmluZFN0cmljdFJvb3QgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgICB2YXIgbWF5YmVTdHJpY3RSb290ID0gbnVsbDtcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgIG1heWJlU3RyaWN0Um9vdCA9IG5vZGU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gbWF5YmVTdHJpY3RSb290O1xuICB9O1xuXG4gIHZhciBzZXRUb1NvcnRlZFN0cmluZyA9IGZ1bmN0aW9uIChzZXQpIHtcbiAgICB2YXIgYXJyYXkgPSBbXTtcbiAgICBzZXQuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGFycmF5LnB1c2godmFsdWUpO1xuICAgIH0pO1xuICAgIHJldHVybiBhcnJheS5zb3J0KCkuam9pbignLCAnKTtcbiAgfTtcblxuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcyA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRVbnNhZmVMaWZlY3ljbGVXYXJuaW5ncyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICAvLyBEZWR1cGUgc3RyYXRlZ3k6IFdhcm4gb25jZSBwZXIgY29tcG9uZW50LlxuICAgIGlmIChkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nICYmIC8vIERvbid0IHdhcm4gYWJvdXQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLlxuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudC5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLnB1c2goZmliZXIpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG5cbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG4gIH07XG5cbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gV2UgZG8gYW4gaW5pdGlhbCBwYXNzIHRvIGdhdGhlciBjb21wb25lbnQgbmFtZXNcbiAgICB2YXIgY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xuXG4gICAgaWYgKHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIH0gLy8gRmluYWxseSwgd2UgZmx1c2ggYWxsIHRoZSB3YXJuaW5nc1xuICAgIC8vIFVOU0FGRV8gb25lcyBiZWZvcmUgdGhlIGRlcHJlY2F0ZWQgb25lcywgc2luY2UgdGhleSdsbCBiZSAnbG91ZGVyJ1xuXG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgc29ydGVkTmFtZXMgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICBlcnJvcignVXNpbmcgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgYW5kIG1heSBpbmRpY2F0ZSBidWdzIGluIHlvdXIgY29kZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZE1vdW50LCBhbmQgc2V0IGluaXRpYWwgc3RhdGUgaW4gdGhlIGNvbnN0cnVjdG9yLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgc29ydGVkTmFtZXMpO1xuICAgIH1cblxuICAgIGlmIChVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgX3NvcnRlZE5hbWVzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyk7XG5cbiAgICAgIGVycm9yKCdVc2luZyBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgJyArICdhbmQgbWF5IGluZGljYXRlIGJ1Z3MgaW4geW91ciBjb2RlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGRhdGEgZmV0Y2hpbmcgY29kZSBvciBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkVXBkYXRlLlxcbicgKyBcIiogSWYgeW91J3JlIHVwZGF0aW5nIHN0YXRlIHdoZW5ldmVyIHByb3BzIGNoYW5nZSwgXCIgKyAncmVmYWN0b3IgeW91ciBjb2RlIHRvIHVzZSBtZW1vaXphdGlvbiB0ZWNobmlxdWVzIG9yIG1vdmUgaXQgdG8gJyArICdzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiBMZWFybiBtb3JlIGF0OiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvZGVyaXZlZC1zdGF0ZVxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczIgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgZXJyb3IoJ1VzaW5nIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIGluIHN0cmljdCBtb2RlIGlzIG5vdCByZWNvbW1lbmRlZCAnICsgJ2FuZCBtYXkgaW5kaWNhdGUgYnVncyBpbiB5b3VyIGNvZGUuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXMyKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXMzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsTW91bnQgaGFzIGJlZW4gcmVuYW1lZCwgYW5kIGlzIG5vdCByZWNvbW1lbmRlZCBmb3IgdXNlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkTW91bnQsIGFuZCBzZXQgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgY29uc3RydWN0b3IuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsTW91bnQgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCB0byBzdXBwcmVzcyAnICsgJ3RoaXMgd2FybmluZyBpbiBub24tc3RyaWN0IG1vZGUuIEluIFJlYWN0IDE4LngsIG9ubHkgdGhlIFVOU0FGRV8gbmFtZSB3aWxsIHdvcmsuICcgKyAnVG8gcmVuYW1lIGFsbCBkZXByZWNhdGVkIGxpZmVjeWNsZXMgdG8gdGhlaXIgbmV3IG5hbWVzLCB5b3UgY2FuIHJ1biAnICsgJ2BucHggcmVhY3QtY29kZW1vZCByZW5hbWUtdW5zYWZlLWxpZmVjeWNsZXNgIGluIHlvdXIgcHJvamVjdCBzb3VyY2UgZm9sZGVyLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMyk7XG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczQgPSBzZXRUb1NvcnRlZFN0cmluZyhjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBkYXRhIGZldGNoaW5nIGNvZGUgb3Igc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZFVwZGF0ZS5cXG4nICsgXCIqIElmIHlvdSdyZSB1cGRhdGluZyBzdGF0ZSB3aGVuZXZlciBwcm9wcyBjaGFuZ2UsIHJlZmFjdG9yIHlvdXIgXCIgKyAnY29kZSB0byB1c2UgbWVtb2l6YXRpb24gdGVjaG5pcXVlcyBvciBtb3ZlIGl0IHRvICcgKyAnc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gTGVhcm4gbW9yZSBhdDogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Rlcml2ZWQtc3RhdGVcXG4nICsgJyogUmVuYW1lIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gc3VwcHJlc3MgJyArICd0aGlzIHdhcm5pbmcgaW4gbm9uLXN0cmljdCBtb2RlLiBJbiBSZWFjdCAxOC54LCBvbmx5IHRoZSBVTlNBRkVfIG5hbWUgd2lsbCB3b3JrLiAnICsgJ1RvIHJlbmFtZSBhbGwgZGVwcmVjYXRlZCBsaWZlY3ljbGVzIHRvIHRoZWlyIG5ldyBuYW1lcywgeW91IGNhbiBydW4gJyArICdgbnB4IHJlYWN0LWNvZGVtb2QgcmVuYW1lLXVuc2FmZS1saWZlY3ljbGVzYCBpbiB5b3VyIHByb2plY3Qgc291cmNlIGZvbGRlci5cXG4nICsgJ1xcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczQpO1xuICAgIH1cblxuICAgIGlmIChjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXM1ID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgd2FybignY29tcG9uZW50V2lsbFVwZGF0ZSBoYXMgYmVlbiByZW5hbWVkLCBhbmQgaXMgbm90IHJlY29tbWVuZGVkIGZvciB1c2UuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsVXBkYXRlIHRvIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIHRvIHN1cHByZXNzICcgKyAndGhpcyB3YXJuaW5nIGluIG5vbi1zdHJpY3QgbW9kZS4gSW4gUmVhY3QgMTgueCwgb25seSB0aGUgVU5TQUZFXyBuYW1lIHdpbGwgd29yay4gJyArICdUbyByZW5hbWUgYWxsIGRlcHJlY2F0ZWQgbGlmZWN5Y2xlcyB0byB0aGVpciBuZXcgbmFtZXMsIHlvdSBjYW4gcnVuICcgKyAnYG5weCByZWFjdC1jb2RlbW9kIHJlbmFtZS11bnNhZmUtbGlmZWN5Y2xlc2AgaW4geW91ciBwcm9qZWN0IHNvdXJjZSBmb2xkZXIuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXM1KTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dCA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICB2YXIgc3RyaWN0Um9vdCA9IGZpbmRTdHJpY3RSb290KGZpYmVyKTtcblxuICAgIGlmIChzdHJpY3RSb290ID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgdG8gZmluZCBhIFN0cmljdE1vZGUgY29tcG9uZW50IGluIGEgc3RyaWN0IG1vZGUgdHJlZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuXG4gICAgICByZXR1cm47XG4gICAgfSAvLyBEZWR1cCBzdHJhdGVneTogV2FybiBvbmNlIHBlciBjb21wb25lbnQuXG5cblxuICAgIGlmIChkaWRXYXJuQWJvdXRMZWdhY3lDb250ZXh0LmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB3YXJuaW5nc0ZvclJvb3QgPSBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuZ2V0KHN0cmljdFJvb3QpO1xuXG4gICAgaWYgKGZpYmVyLnR5cGUuY29udGV4dFR5cGVzICE9IG51bGwgfHwgZmliZXIudHlwZS5jaGlsZENvbnRleHRUeXBlcyAhPSBudWxsIHx8IGluc3RhbmNlICE9PSBudWxsICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh3YXJuaW5nc0ZvclJvb3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB3YXJuaW5nc0ZvclJvb3QgPSBbXTtcbiAgICAgICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLnNldChzdHJpY3RSb290LCB3YXJuaW5nc0ZvclJvb3QpO1xuICAgICAgfVxuXG4gICAgICB3YXJuaW5nc0ZvclJvb3QucHVzaChmaWJlcik7XG4gICAgfVxuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmcgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyQXJyYXksIHN0cmljdFJvb3QpIHtcbiAgICAgIGlmIChmaWJlckFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBmaXJzdEZpYmVyID0gZmliZXJBcnJheVswXTtcbiAgICAgIHZhciB1bmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICAgIGZpYmVyQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgdW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dC5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHZhciBzb3J0ZWROYW1lcyA9IHNldFRvU29ydGVkU3RyaW5nKHVuaXF1ZU5hbWVzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpcnN0RmliZXIpO1xuXG4gICAgICAgIGVycm9yKCdMZWdhY3kgY29udGV4dCBBUEkgaGFzIGJlZW4gZGV0ZWN0ZWQgd2l0aGluIGEgc3RyaWN0LW1vZGUgdHJlZS4nICsgJ1xcblxcblRoZSBvbGQgQVBJIHdpbGwgYmUgc3VwcG9ydGVkIGluIGFsbCAxNi54IHJlbGVhc2VzLCBidXQgYXBwbGljYXRpb25zICcgKyAndXNpbmcgaXQgc2hvdWxkIG1pZ3JhdGUgdG8gdGhlIG5ldyB2ZXJzaW9uLicgKyAnXFxuXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJyArICdcXG5cXG5MZWFybiBtb3JlIGFib3V0IHRoaXMgd2FybmluZyBoZXJlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvbGVnYWN5LWNvbnRleHQnLCBzb3J0ZWROYW1lcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmRpc2NhcmRQZW5kaW5nV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQsIGJhc2VQcm9wcykge1xuICBpZiAoQ29tcG9uZW50ICYmIENvbXBvbmVudC5kZWZhdWx0UHJvcHMpIHtcbiAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHMuIFRha2VuIGZyb20gUmVhY3RFbGVtZW50XG4gICAgdmFyIHByb3BzID0gYXNzaWduKHt9LCBiYXNlUHJvcHMpO1xuICAgIHZhciBkZWZhdWx0UHJvcHMgPSBDb21wb25lbnQuZGVmYXVsdFByb3BzO1xuXG4gICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7XG4gICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcHM7XG4gIH1cblxuICByZXR1cm4gYmFzZVByb3BzO1xufVxuXG52YXIgdmFsdWVDdXJzb3IgPSBjcmVhdGVDdXJzb3IobnVsbCk7XG52YXIgcmVuZGVyZXJTaWdpbDtcblxue1xuICAvLyBVc2UgdGhpcyB0byBkZXRlY3QgbXVsdGlwbGUgcmVuZGVyZXJzIHVzaW5nIHRoZSBzYW1lIGNvbnRleHRcbiAgcmVuZGVyZXJTaWdpbCA9IHt9O1xufVxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xudmFyIGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9IG51bGw7XG52YXIgbGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID0gbnVsbDtcbnZhciBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG5mdW5jdGlvbiByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKSB7XG4gIC8vIFRoaXMgaXMgY2FsbGVkIHJpZ2h0IGJlZm9yZSBSZWFjdCB5aWVsZHMgZXhlY3V0aW9uLCB0byBlbnN1cmUgYHJlYWRDb250ZXh0YFxuICAvLyBjYW5ub3QgYmUgY2FsbGVkIG91dHNpZGUgdGhlIHJlbmRlciBwaGFzZS5cbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xuICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xuICBsYXN0RnVsbHlPYnNlcnZlZENvbnRleHQgPSBudWxsO1xuXG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKSB7XG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCkge1xuICB7XG4gICAgaXNEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFViA9IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBwdXNoUHJvdmlkZXIocHJvdmlkZXJGaWJlciwgY29udGV4dCwgbmV4dFZhbHVlKSB7XG4gIHtcbiAgICBwdXNoKHZhbHVlQ3Vyc29yLCBjb250ZXh0Ll9jdXJyZW50VmFsdWUsIHByb3ZpZGVyRmliZXIpO1xuICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IG5leHRWYWx1ZTtcblxuICAgIHtcbiAgICAgIGlmIChjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IHVuZGVmaW5lZCAmJiBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IG51bGwgJiYgY29udGV4dC5fY3VycmVudFJlbmRlcmVyICE9PSByZW5kZXJlclNpZ2lsKSB7XG4gICAgICAgIGVycm9yKCdEZXRlY3RlZCBtdWx0aXBsZSByZW5kZXJlcnMgY29uY3VycmVudGx5IHJlbmRlcmluZyB0aGUgJyArICdzYW1lIGNvbnRleHQgcHJvdmlkZXIuIFRoaXMgaXMgY3VycmVudGx5IHVuc3VwcG9ydGVkLicpO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSByZW5kZXJlclNpZ2lsO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9wUHJvdmlkZXIoY29udGV4dCwgcHJvdmlkZXJGaWJlcikge1xuICB2YXIgY3VycmVudFZhbHVlID0gdmFsdWVDdXJzb3IuY3VycmVudDtcbiAgcG9wKHZhbHVlQ3Vyc29yLCBwcm92aWRlckZpYmVyKTtcblxuICB7XG4gICAge1xuICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVDb250ZXh0V29ya09uUGFyZW50UGF0aChwYXJlbnQsIHJlbmRlckxhbmVzLCBwcm9wYWdhdGlvblJvb3QpIHtcbiAgLy8gVXBkYXRlIHRoZSBjaGlsZCBsYW5lcyBvZiBhbGwgdGhlIGFuY2VzdG9ycywgaW5jbHVkaW5nIHRoZSBhbHRlcm5hdGVzLlxuICB2YXIgbm9kZSA9IHBhcmVudDtcblxuICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xuICAgIHZhciBhbHRlcm5hdGUgPSBub2RlLmFsdGVybmF0ZTtcblxuICAgIGlmICghaXNTdWJzZXRPZkxhbmVzKG5vZGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpKSB7XG4gICAgICBub2RlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5vZGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgIGFsdGVybmF0ZS5jaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhhbHRlcm5hdGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmICFpc1N1YnNldE9mTGFuZXMoYWx0ZXJuYXRlLmNoaWxkTGFuZXMsIHJlbmRlckxhbmVzKSkge1xuICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IHByb3BhZ2F0aW9uUm9vdCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICB9XG5cbiAge1xuICAgIGlmIChub2RlICE9PSBwcm9wYWdhdGlvblJvb3QpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBmaW5kIHRoZSBwcm9wYWdhdGlvbiByb290IHdoZW4gc2NoZWR1bGluZyBjb250ZXh0IHdvcmsuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGNvbnRleHQsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlX2VhZ2VyKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvcGFnYXRlQ29udGV4dENoYW5nZV9lYWdlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgcmVuZGVyTGFuZXMpIHtcblxuICB2YXIgZmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICBpZiAoZmliZXIgIT09IG51bGwpIHtcbiAgICAvLyBTZXQgdGhlIHJldHVybiBwb2ludGVyIG9mIHRoZSBjaGlsZCB0byB0aGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci5cbiAgICBmaWJlci5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIHdoaWxlIChmaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBuZXh0RmliZXIgPSB2b2lkIDA7IC8vIFZpc2l0IHRoaXMgZmliZXIuXG5cbiAgICB2YXIgbGlzdCA9IGZpYmVyLmRlcGVuZGVuY2llcztcblxuICAgIGlmIChsaXN0ICE9PSBudWxsKSB7XG4gICAgICBuZXh0RmliZXIgPSBmaWJlci5jaGlsZDtcbiAgICAgIHZhciBkZXBlbmRlbmN5ID0gbGlzdC5maXJzdENvbnRleHQ7XG5cbiAgICAgIHdoaWxlIChkZXBlbmRlbmN5ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjb250ZXh0IG1hdGNoZXMuXG4gICAgICAgIGlmIChkZXBlbmRlbmN5LmNvbnRleHQgPT09IGNvbnRleHQpIHtcbiAgICAgICAgICAvLyBNYXRjaCEgU2NoZWR1bGUgYW4gdXBkYXRlIG9uIHRoaXMgZmliZXIuXG4gICAgICAgICAgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIFNjaGVkdWxlIGEgZm9yY2UgdXBkYXRlIG9uIHRoZSB3b3JrLWluLXByb2dyZXNzLlxuICAgICAgICAgICAgdmFyIGxhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyZW5kZXJMYW5lcyk7XG4gICAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKE5vVGltZXN0YW1wLCBsYW5lKTtcbiAgICAgICAgICAgIHVwZGF0ZS50YWcgPSBGb3JjZVVwZGF0ZTsgLy8gVE9ETzogQmVjYXVzZSB3ZSBkb24ndCBoYXZlIGEgd29yay1pbi1wcm9ncmVzcywgdGhpcyB3aWxsIGFkZCB0aGVcbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0byB0aGUgY3VycmVudCBmaWJlciwgdG9vLCB3aGljaCBtZWFucyBpdCB3aWxsIHBlcnNpc3QgZXZlbiBpZlxuICAgICAgICAgICAgLy8gdGhpcyByZW5kZXIgaXMgdGhyb3duIGF3YXkuIFNpbmNlIGl0J3MgYSByYWNlIGNvbmRpdGlvbiwgbm90IHN1cmUgaXQnc1xuICAgICAgICAgICAgLy8gd29ydGggZml4aW5nLlxuICAgICAgICAgICAgLy8gSW5saW5lZCBgZW5xdWV1ZVVwZGF0ZWAgdG8gcmVtb3ZlIGludGVybGVhdmVkIHVwZGF0ZSBjaGVja1xuXG4gICAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBmaWJlci51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSA7IGVsc2Uge1xuICAgICAgICAgICAgICB2YXIgc2hhcmVkUXVldWUgPSB1cGRhdGVRdWV1ZS5zaGFyZWQ7XG4gICAgICAgICAgICAgIHZhciBwZW5kaW5nID0gc2hhcmVkUXVldWUucGVuZGluZztcblxuICAgICAgICAgICAgICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICAgICAgICAgICAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1cGRhdGUubmV4dCA9IHBlbmRpbmcubmV4dDtcbiAgICAgICAgICAgICAgICBwZW5kaW5nLm5leHQgPSB1cGRhdGU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzaGFyZWRRdWV1ZS5wZW5kaW5nID0gdXBkYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhmaWJlci5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhbHRlcm5hdGUubGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNjaGVkdWxlQ29udGV4dFdvcmtPblBhcmVudFBhdGgoZmliZXIucmV0dXJuLCByZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MpOyAvLyBNYXJrIHRoZSB1cGRhdGVkIGxhbmVzIG9uIHRoZSBsaXN0LCB0b28uXG5cbiAgICAgICAgICBsaXN0LmxhbmVzID0gbWVyZ2VMYW5lcyhsaXN0LmxhbmVzLCByZW5kZXJMYW5lcyk7IC8vIFNpbmNlIHdlIGFscmVhZHkgZm91bmQgYSBtYXRjaCwgd2UgY2FuIHN0b3AgdHJhdmVyc2luZyB0aGVcbiAgICAgICAgICAvLyBkZXBlbmRlbmN5IGxpc3QuXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlcGVuZGVuY3kgPSBkZXBlbmRlbmN5Lm5leHQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWJlci50YWcgPT09IENvbnRleHRQcm92aWRlcikge1xuICAgICAgLy8gRG9uJ3Qgc2NhbiBkZWVwZXIgaWYgdGhpcyBpcyBhIG1hdGNoaW5nIHByb3ZpZGVyXG4gICAgICBuZXh0RmliZXIgPSBmaWJlci50eXBlID09PSB3b3JrSW5Qcm9ncmVzcy50eXBlID8gbnVsbCA6IGZpYmVyLmNoaWxkO1xuICAgIH0gZWxzZSBpZiAoZmliZXIudGFnID09PSBEZWh5ZHJhdGVkRnJhZ21lbnQpIHtcbiAgICAgIC8vIElmIGEgZGVoeWRyYXRlZCBzdXNwZW5zZSBib3VuZGFyeSBpcyBpbiB0aGlzIHN1YnRyZWUsIHdlIGRvbid0IGtub3dcbiAgICAgIC8vIGlmIGl0IHdpbGwgaGF2ZSBhbnkgY29udGV4dCBjb25zdW1lcnMgaW4gaXQuIFRoZSBiZXN0IHdlIGNhbiBkbyBpc1xuICAgICAgLy8gbWFyayBpdCBhcyBoYXZpbmcgdXBkYXRlcy5cbiAgICAgIHZhciBwYXJlbnRTdXNwZW5zZSA9IGZpYmVyLnJldHVybjtcblxuICAgICAgaWYgKHBhcmVudFN1c3BlbnNlID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2UganVzdCBjYW1lIGZyb20gYSBwYXJlbnQgc28gd2UgbXVzdCBoYXZlIGhhZCBhIHBhcmVudC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgIH1cblxuICAgICAgcGFyZW50U3VzcGVuc2UubGFuZXMgPSBtZXJnZUxhbmVzKHBhcmVudFN1c3BlbnNlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB2YXIgX2FsdGVybmF0ZSA9IHBhcmVudFN1c3BlbnNlLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKF9hbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgX2FsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoX2FsdGVybmF0ZS5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfSAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgcGFzc2luZyB0aGlzIGZpYmVyIGFzIHRoZSBwYXJlbnRcbiAgICAgIC8vIGJlY2F1c2Ugd2Ugd2FudCB0byBzY2hlZHVsZSB0aGlzIGZpYmVyIGFzIGhhdmluZyB3b3JrXG4gICAgICAvLyBvbiBpdHMgY2hpbGRyZW4uIFdlJ2xsIHVzZSB0aGUgY2hpbGRMYW5lcyBvblxuICAgICAgLy8gdGhpcyBmaWJlciB0byBpbmRpY2F0ZSB0aGF0IGEgY29udGV4dCBoYXMgY2hhbmdlZC5cblxuXG4gICAgICBzY2hlZHVsZUNvbnRleHRXb3JrT25QYXJlbnRQYXRoKHBhcmVudFN1c3BlbnNlLCByZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgbmV4dEZpYmVyID0gZmliZXIuc2libGluZztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVHJhdmVyc2UgZG93bi5cbiAgICAgIG5leHRGaWJlciA9IGZpYmVyLmNoaWxkO1xuICAgIH1cblxuICAgIGlmIChuZXh0RmliZXIgIT09IG51bGwpIHtcbiAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIGNoaWxkIHRvIHRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLlxuICAgICAgbmV4dEZpYmVyLnJldHVybiA9IGZpYmVyO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBjaGlsZC4gVHJhdmVyc2UgdG8gbmV4dCBzaWJsaW5nLlxuICAgICAgbmV4dEZpYmVyID0gZmliZXI7XG5cbiAgICAgIHdoaWxlIChuZXh0RmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5leHRGaWJlciA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAvLyBXZSdyZSBiYWNrIHRvIHRoZSByb290IG9mIHRoaXMgc3VidHJlZS4gRXhpdC5cbiAgICAgICAgICBuZXh0RmliZXIgPSBudWxsO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNpYmxpbmcgPSBuZXh0RmliZXIuc2libGluZztcblxuICAgICAgICBpZiAoc2libGluZyAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIHNpYmxpbmcgdG8gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG4gICAgICAgICAgc2libGluZy5yZXR1cm4gPSBuZXh0RmliZXIucmV0dXJuO1xuICAgICAgICAgIG5leHRGaWJlciA9IHNpYmxpbmc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gLy8gTm8gbW9yZSBzaWJsaW5ncy4gVHJhdmVyc2UgdXAuXG5cblxuICAgICAgICBuZXh0RmliZXIgPSBuZXh0RmliZXIucmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZpYmVyID0gbmV4dEZpYmVyO1xuICB9XG59XG5mdW5jdGlvbiBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSB3b3JrSW5Qcm9ncmVzcztcbiAgbGFzdENvbnRleHREZXBlbmRlbmN5ID0gbnVsbDtcbiAgbGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID0gbnVsbDtcbiAgdmFyIGRlcGVuZGVuY2llcyA9IHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcztcblxuICBpZiAoZGVwZW5kZW5jaWVzICE9PSBudWxsKSB7XG4gICAge1xuICAgICAgdmFyIGZpcnN0Q29udGV4dCA9IGRlcGVuZGVuY2llcy5maXJzdENvbnRleHQ7XG5cbiAgICAgIGlmIChmaXJzdENvbnRleHQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGluY2x1ZGVzU29tZUxhbmUoZGVwZW5kZW5jaWVzLmxhbmVzLCByZW5kZXJMYW5lcykpIHtcbiAgICAgICAgICAvLyBDb250ZXh0IGxpc3QgaGFzIGEgcGVuZGluZyB1cGRhdGUuIE1hcmsgdGhhdCB0aGlzIGZpYmVyIHBlcmZvcm1lZCB3b3JrLlxuICAgICAgICAgIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCk7XG4gICAgICAgIH0gLy8gUmVzZXQgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgbGlzdFxuXG5cbiAgICAgICAgZGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiByZWFkQ29udGV4dChjb250ZXh0KSB7XG4gIHtcbiAgICAvLyBUaGlzIHdhcm5pbmcgd291bGQgZmlyZSBpZiB5b3UgcmVhZCBjb250ZXh0IGluc2lkZSBhIEhvb2sgbGlrZSB1c2VNZW1vLlxuICAgIC8vIFVubGlrZSB0aGUgY2xhc3MgY2hlY2sgYmVsb3csIGl0J3Mgbm90IGVuZm9yY2VkIGluIHByb2R1Y3Rpb24gZm9yIHBlcmYuXG4gICAgaWYgKGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYpIHtcbiAgICAgIGVycm9yKCdDb250ZXh0IGNhbiBvbmx5IGJlIHJlYWQgd2hpbGUgUmVhY3QgaXMgcmVuZGVyaW5nLiAnICsgJ0luIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuICcgKyAnSW4gZnVuY3Rpb24gY29tcG9uZW50cywgeW91IGNhbiByZWFkIGl0IGRpcmVjdGx5IGluIHRoZSBmdW5jdGlvbiBib2R5LCBidXQgbm90ICcgKyAnaW5zaWRlIEhvb2tzIGxpa2UgdXNlUmVkdWNlcigpIG9yIHVzZU1lbW8oKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdmFsdWUgPSAgY29udGV4dC5fY3VycmVudFZhbHVlIDtcblxuICBpZiAobGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID09PSBjb250ZXh0KSA7IGVsc2Uge1xuICAgIHZhciBjb250ZXh0SXRlbSA9IHtcbiAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICBtZW1vaXplZFZhbHVlOiB2YWx1ZSxcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9PT0gbnVsbCkge1xuICAgICAgaWYgKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gJyArICdJbiBjbGFzc2VzLCB5b3UgY2FuIHJlYWQgaXQgaW4gdGhlIHJlbmRlciBtZXRob2Qgb3IgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiAnICsgJ0luIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCAnICsgJ2luc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuJyk7XG4gICAgICB9IC8vIFRoaXMgaXMgdGhlIGZpcnN0IGRlcGVuZGVuY3kgZm9yIHRoaXMgY29tcG9uZW50LiBDcmVhdGUgYSBuZXcgbGlzdC5cblxuXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBjb250ZXh0SXRlbTtcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyLmRlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgbGFuZXM6IE5vTGFuZXMsXG4gICAgICAgIGZpcnN0Q29udGV4dDogY29udGV4dEl0ZW1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGVuZCBhIG5ldyBjb250ZXh0IGl0ZW0uXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBsYXN0Q29udGV4dERlcGVuZGVuY3kubmV4dCA9IGNvbnRleHRJdGVtO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLy8gcmVuZGVyLiBXaGVuIHRoaXMgcmVuZGVyIGV4aXRzLCBlaXRoZXIgYmVjYXVzZSBpdCBmaW5pc2hlcyBvciBiZWNhdXNlIGl0IGlzXG4vLyBpbnRlcnJ1cHRlZCwgdGhlIGludGVybGVhdmVkIHVwZGF0ZXMgd2lsbCBiZSB0cmFuc2ZlcnJlZCBvbnRvIHRoZSBtYWluIHBhcnRcbi8vIG9mIHRoZSBxdWV1ZS5cblxudmFyIGNvbmN1cnJlbnRRdWV1ZXMgPSBudWxsO1xuZnVuY3Rpb24gcHVzaENvbmN1cnJlbnRVcGRhdGVRdWV1ZShxdWV1ZSkge1xuICBpZiAoY29uY3VycmVudFF1ZXVlcyA9PT0gbnVsbCkge1xuICAgIGNvbmN1cnJlbnRRdWV1ZXMgPSBbcXVldWVdO1xuICB9IGVsc2Uge1xuICAgIGNvbmN1cnJlbnRRdWV1ZXMucHVzaChxdWV1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKSB7XG4gIC8vIFRyYW5zZmVyIHRoZSBpbnRlcmxlYXZlZCB1cGRhdGVzIG9udG8gdGhlIG1haW4gcXVldWUuIEVhY2ggcXVldWUgaGFzIGFcbiAgLy8gYHBlbmRpbmdgIGZpZWxkIGFuZCBhbiBgaW50ZXJsZWF2ZWRgIGZpZWxkLiBXaGVuIHRoZXkgYXJlIG5vdCBudWxsLCB0aGV5XG4gIC8vIHBvaW50IHRvIHRoZSBsYXN0IG5vZGUgaW4gYSBjaXJjdWxhciBsaW5rZWQgbGlzdC4gV2UgbmVlZCB0byBhcHBlbmQgdGhlXG4gIC8vIGludGVybGVhdmVkIGxpc3QgdG8gdGhlIGVuZCBvZiB0aGUgcGVuZGluZyBsaXN0IGJ5IGpvaW5pbmcgdGhlbSBpbnRvIGFcbiAgLy8gc2luZ2xlLCBjaXJjdWxhciBsaXN0LlxuICBpZiAoY29uY3VycmVudFF1ZXVlcyAhPT0gbnVsbCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29uY3VycmVudFF1ZXVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHF1ZXVlID0gY29uY3VycmVudFF1ZXVlc1tpXTtcbiAgICAgIHZhciBsYXN0SW50ZXJsZWF2ZWRVcGRhdGUgPSBxdWV1ZS5pbnRlcmxlYXZlZDtcblxuICAgICAgaWYgKGxhc3RJbnRlcmxlYXZlZFVwZGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBxdWV1ZS5pbnRlcmxlYXZlZCA9IG51bGw7XG4gICAgICAgIHZhciBmaXJzdEludGVybGVhdmVkVXBkYXRlID0gbGFzdEludGVybGVhdmVkVXBkYXRlLm5leHQ7XG4gICAgICAgIHZhciBsYXN0UGVuZGluZ1VwZGF0ZSA9IHF1ZXVlLnBlbmRpbmc7XG5cbiAgICAgICAgaWYgKGxhc3RQZW5kaW5nVXBkYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIGZpcnN0UGVuZGluZ1VwZGF0ZSA9IGxhc3RQZW5kaW5nVXBkYXRlLm5leHQ7XG4gICAgICAgICAgbGFzdFBlbmRpbmdVcGRhdGUubmV4dCA9IGZpcnN0SW50ZXJsZWF2ZWRVcGRhdGU7XG4gICAgICAgICAgbGFzdEludGVybGVhdmVkVXBkYXRlLm5leHQgPSBmaXJzdFBlbmRpbmdVcGRhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBxdWV1ZS5wZW5kaW5nID0gbGFzdEludGVybGVhdmVkVXBkYXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbmN1cnJlbnRRdWV1ZXMgPSBudWxsO1xuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIGludGVybGVhdmVkID0gcXVldWUuaW50ZXJsZWF2ZWQ7XG5cbiAgaWYgKGludGVybGVhdmVkID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlOyAvLyBBdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHJlbmRlciwgdGhpcyBxdWV1ZSdzIGludGVybGVhdmVkIHVwZGF0ZXMgd2lsbFxuICAgIC8vIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBwZW5kaW5nIHF1ZXVlLlxuXG4gICAgcHVzaENvbmN1cnJlbnRVcGRhdGVRdWV1ZShxdWV1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlLm5leHQgPSBpbnRlcmxlYXZlZC5uZXh0O1xuICAgIGludGVybGVhdmVkLm5leHQgPSB1cGRhdGU7XG4gIH1cblxuICBxdWV1ZS5pbnRlcmxlYXZlZCA9IHVwZGF0ZTtcbiAgcmV0dXJuIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBsYW5lKTtcbn1cbmZ1bmN0aW9uIGVucXVldWVDb25jdXJyZW50SG9va1VwZGF0ZUFuZEVhZ2VybHlCYWlsb3V0KGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKSB7XG4gIHZhciBpbnRlcmxlYXZlZCA9IHF1ZXVlLmludGVybGVhdmVkO1xuXG4gIGlmIChpbnRlcmxlYXZlZCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTsgLy8gQXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCByZW5kZXIsIHRoaXMgcXVldWUncyBpbnRlcmxlYXZlZCB1cGRhdGVzIHdpbGxcbiAgICAvLyBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgcGVuZGluZyBxdWV1ZS5cblxuICAgIHB1c2hDb25jdXJyZW50VXBkYXRlUXVldWUocXVldWUpO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICBpbnRlcmxlYXZlZC5uZXh0ID0gdXBkYXRlO1xuICB9XG5cbiAgcXVldWUuaW50ZXJsZWF2ZWQgPSB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudENsYXNzVXBkYXRlKGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKSB7XG4gIHZhciBpbnRlcmxlYXZlZCA9IHF1ZXVlLmludGVybGVhdmVkO1xuXG4gIGlmIChpbnRlcmxlYXZlZCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTsgLy8gQXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCByZW5kZXIsIHRoaXMgcXVldWUncyBpbnRlcmxlYXZlZCB1cGRhdGVzIHdpbGxcbiAgICAvLyBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgcGVuZGluZyBxdWV1ZS5cblxuICAgIHB1c2hDb25jdXJyZW50VXBkYXRlUXVldWUocXVldWUpO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICBpbnRlcmxlYXZlZC5uZXh0ID0gdXBkYXRlO1xuICB9XG5cbiAgcXVldWUuaW50ZXJsZWF2ZWQgPSB1cGRhdGU7XG4gIHJldHVybiBtYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChmaWJlciwgbGFuZSk7XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIGxhbmUpIHtcbiAgcmV0dXJuIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBsYW5lKTtcbn0gLy8gQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIG91dHNpZGUgdGhpcyBtb2R1bGUgc2hvdWxkIG9ubHkgYmUgZG9uZSBmb3IgYmFja3dhcmRzXG4vLyBjb21wYXRpYmlsaXR5IGFuZCBzaG91bGQgYWx3YXlzIGJlIGFjY29tcGFuaWVkIGJ5IGEgd2FybmluZy5cblxudmFyIHVuc2FmZV9tYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdCA9IG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290O1xuXG5mdW5jdGlvbiBtYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChzb3VyY2VGaWJlciwgbGFuZSkge1xuICAvLyBVcGRhdGUgdGhlIHNvdXJjZSBmaWJlcidzIGxhbmVzXG4gIHNvdXJjZUZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhzb3VyY2VGaWJlci5sYW5lcywgbGFuZSk7XG4gIHZhciBhbHRlcm5hdGUgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmxhbmVzLCBsYW5lKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAoYWx0ZXJuYXRlID09PSBudWxsICYmIChzb3VyY2VGaWJlci5mbGFncyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9GbGFncykge1xuICAgICAgd2FybkFib3V0VXBkYXRlT25Ob3RZZXRNb3VudGVkRmliZXJJbkRFVihzb3VyY2VGaWJlcik7XG4gICAgfVxuICB9IC8vIFdhbGsgdGhlIHBhcmVudCBwYXRoIHRvIHRoZSByb290IGFuZCB1cGRhdGUgdGhlIGNoaWxkIGxhbmVzLlxuXG5cbiAgdmFyIG5vZGUgPSBzb3VyY2VGaWJlcjtcbiAgdmFyIHBhcmVudCA9IHNvdXJjZUZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgcGFyZW50LmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKHBhcmVudC5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICBhbHRlcm5hdGUgPSBwYXJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICBpZiAoKHBhcmVudC5mbGFncyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgIHdhcm5BYm91dFVwZGF0ZU9uTm90WWV0TW91bnRlZEZpYmVySW5ERVYoc291cmNlRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IHBhcmVudDtcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICB9XG5cbiAgaWYgKG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgIHZhciByb290ID0gbm9kZS5zdGF0ZU5vZGU7XG4gICAgcmV0dXJuIHJvb3Q7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxudmFyIFVwZGF0ZVN0YXRlID0gMDtcbnZhciBSZXBsYWNlU3RhdGUgPSAxO1xudmFyIEZvcmNlVXBkYXRlID0gMjtcbnZhciBDYXB0dXJlVXBkYXRlID0gMzsgLy8gR2xvYmFsIHN0YXRlIHRoYXQgaXMgcmVzZXQgYXQgdGhlIGJlZ2lubmluZyBvZiBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLlxuLy8gSXQgc2hvdWxkIG9ubHkgYmUgcmVhZCByaWdodCBhZnRlciBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLCB2aWFcbi8vIGBjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nYC5cblxudmFyIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XG52YXIgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZTtcbnZhciBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWU7XG5cbntcbiAgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZSA9IGZhbHNlO1xuICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBpbml0aWFsaXplVXBkYXRlUXVldWUoZmliZXIpIHtcbiAgdmFyIHF1ZXVlID0ge1xuICAgIGJhc2VTdGF0ZTogZmliZXIubWVtb2l6ZWRTdGF0ZSxcbiAgICBmaXJzdEJhc2VVcGRhdGU6IG51bGwsXG4gICAgbGFzdEJhc2VVcGRhdGU6IG51bGwsXG4gICAgc2hhcmVkOiB7XG4gICAgICBwZW5kaW5nOiBudWxsLFxuICAgICAgaW50ZXJsZWF2ZWQ6IG51bGwsXG4gICAgICBsYW5lczogTm9MYW5lc1xuICAgIH0sXG4gICAgZWZmZWN0czogbnVsbFxuICB9O1xuICBmaWJlci51cGRhdGVRdWV1ZSA9IHF1ZXVlO1xufVxuZnVuY3Rpb24gY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBDbG9uZSB0aGUgdXBkYXRlIHF1ZXVlIGZyb20gY3VycmVudC4gVW5sZXNzIGl0J3MgYWxyZWFkeSBhIGNsb25lLlxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgdmFyIGN1cnJlbnRRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XG5cbiAgaWYgKHF1ZXVlID09PSBjdXJyZW50UXVldWUpIHtcbiAgICB2YXIgY2xvbmUgPSB7XG4gICAgICBiYXNlU3RhdGU6IGN1cnJlbnRRdWV1ZS5iYXNlU3RhdGUsXG4gICAgICBmaXJzdEJhc2VVcGRhdGU6IGN1cnJlbnRRdWV1ZS5maXJzdEJhc2VVcGRhdGUsXG4gICAgICBsYXN0QmFzZVVwZGF0ZTogY3VycmVudFF1ZXVlLmxhc3RCYXNlVXBkYXRlLFxuICAgICAgc2hhcmVkOiBjdXJyZW50UXVldWUuc2hhcmVkLFxuICAgICAgZWZmZWN0czogY3VycmVudFF1ZXVlLmVmZmVjdHNcbiAgICB9O1xuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY2xvbmU7XG4gIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZShldmVudFRpbWUsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZSA9IHtcbiAgICBldmVudFRpbWU6IGV2ZW50VGltZSxcbiAgICBsYW5lOiBsYW5lLFxuICAgIHRhZzogVXBkYXRlU3RhdGUsXG4gICAgcGF5bG9hZDogbnVsbCxcbiAgICBjYWxsYmFjazogbnVsbCxcbiAgICBuZXh0OiBudWxsXG4gIH07XG4gIHJldHVybiB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmliZXIudXBkYXRlUXVldWU7XG5cbiAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSB7XG4gICAgLy8gT25seSBvY2N1cnMgaWYgdGhlIGZpYmVyIGhhcyBiZWVuIHVubW91bnRlZC5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBzaGFyZWRRdWV1ZSA9IHVwZGF0ZVF1ZXVlLnNoYXJlZDtcblxuICB7XG4gICAgaWYgKGN1cnJlbnRseVByb2Nlc3NpbmdRdWV1ZSA9PT0gc2hhcmVkUXVldWUgJiYgIWRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUpIHtcbiAgICAgIGVycm9yKCdBbiB1cGRhdGUgKHNldFN0YXRlLCByZXBsYWNlU3RhdGUsIG9yIGZvcmNlVXBkYXRlKSB3YXMgc2NoZWR1bGVkICcgKyAnZnJvbSBpbnNpZGUgYW4gdXBkYXRlIGZ1bmN0aW9uLiBVcGRhdGUgZnVuY3Rpb25zIHNob3VsZCBiZSBwdXJlLCAnICsgJ3dpdGggemVybyBzaWRlLWVmZmVjdHMuIENvbnNpZGVyIHVzaW5nIGNvbXBvbmVudERpZFVwZGF0ZSBvciBhICcgKyAnY2FsbGJhY2suJyk7XG5cbiAgICAgIGRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChpc1Vuc2FmZUNsYXNzUmVuZGVyUGhhc2VVcGRhdGUoKSkge1xuICAgIC8vIFRoaXMgaXMgYW4gdW5zYWZlIHJlbmRlciBwaGFzZSB1cGRhdGUuIEFkZCBkaXJlY3RseSB0byB0aGUgdXBkYXRlXG4gICAgLy8gcXVldWUgc28gd2UgY2FuIHByb2Nlc3MgaXQgaW1tZWRpYXRlbHkgZHVyaW5nIHRoZSBjdXJyZW50IHJlbmRlci5cbiAgICB2YXIgcGVuZGluZyA9IHNoYXJlZFF1ZXVlLnBlbmRpbmc7XG5cbiAgICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgICAgdXBkYXRlLm5leHQgPSB1cGRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgICAgcGVuZGluZy5uZXh0ID0gdXBkYXRlO1xuICAgIH1cblxuICAgIHNoYXJlZFF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7IC8vIFVwZGF0ZSB0aGUgY2hpbGRMYW5lcyBldmVuIHRob3VnaCB3ZSdyZSBtb3N0IGxpa2VseSBhbHJlYWR5IHJlbmRlcmluZ1xuICAgIC8vIHRoaXMgZmliZXIuIFRoaXMgaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGluIHRoZSBjYXNlIHdoZXJlIHlvdVxuICAgIC8vIHVwZGF0ZSBhIGRpZmZlcmVudCBjb21wb25lbnQgZHVyaW5nIHJlbmRlciBwaGFzZSB0aGFuIHRoZSBvbmUgdGhhdCBpc1xuICAgIC8vIGN1cnJlbnRseSByZW5kZXJpbmdzIChhIHBhdHRlcm4gdGhhdCBpcyBhY2NvbXBhbmllZCBieSBhIHdhcm5pbmcpLlxuXG4gICAgcmV0dXJuIHVuc2FmZV9tYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChmaWJlciwgbGFuZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVucXVldWVDb25jdXJyZW50Q2xhc3NVcGRhdGUoZmliZXIsIHNoYXJlZFF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuICB9XG59XG5mdW5jdGlvbiBlbnRhbmdsZVRyYW5zaXRpb25zKHJvb3QsIGZpYmVyLCBsYW5lKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpYmVyLnVwZGF0ZVF1ZXVlO1xuXG4gIGlmICh1cGRhdGVRdWV1ZSA9PT0gbnVsbCkge1xuICAgIC8vIE9ubHkgb2NjdXJzIGlmIHRoZSBmaWJlciBoYXMgYmVlbiB1bm1vdW50ZWQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNoYXJlZFF1ZXVlID0gdXBkYXRlUXVldWUuc2hhcmVkO1xuXG4gIGlmIChpc1RyYW5zaXRpb25MYW5lKGxhbmUpKSB7XG4gICAgdmFyIHF1ZXVlTGFuZXMgPSBzaGFyZWRRdWV1ZS5sYW5lczsgLy8gSWYgYW55IGVudGFuZ2xlZCBsYW5lcyBhcmUgbm8gbG9uZ2VyIHBlbmRpbmcgb24gdGhlIHJvb3QsIHRoZW4gdGhleSBtdXN0XG4gICAgLy8gaGF2ZSBmaW5pc2hlZC4gV2UgY2FuIHJlbW92ZSB0aGVtIGZyb20gdGhlIHNoYXJlZCBxdWV1ZSwgd2hpY2ggcmVwcmVzZW50c1xuICAgIC8vIGEgc3VwZXJzZXQgb2YgdGhlIGFjdHVhbGx5IHBlbmRpbmcgbGFuZXMuIEluIHNvbWUgY2FzZXMgd2UgbWF5IGVudGFuZ2xlXG4gICAgLy8gbW9yZSB0aGFuIHdlIG5lZWQgdG8sIGJ1dCB0aGF0J3MgT0suIEluIGZhY3QgaXQncyB3b3JzZSBpZiB3ZSAqZG9uJ3QqXG4gICAgLy8gZW50YW5nbGUgd2hlbiB3ZSBzaG91bGQuXG5cbiAgICBxdWV1ZUxhbmVzID0gaW50ZXJzZWN0TGFuZXMocXVldWVMYW5lcywgcm9vdC5wZW5kaW5nTGFuZXMpOyAvLyBFbnRhbmdsZSB0aGUgbmV3IHRyYW5zaXRpb24gbGFuZSB3aXRoIHRoZSBvdGhlciB0cmFuc2l0aW9uIGxhbmVzLlxuXG4gICAgdmFyIG5ld1F1ZXVlTGFuZXMgPSBtZXJnZUxhbmVzKHF1ZXVlTGFuZXMsIGxhbmUpO1xuICAgIHNoYXJlZFF1ZXVlLmxhbmVzID0gbmV3UXVldWVMYW5lczsgLy8gRXZlbiBpZiBxdWV1ZS5sYW5lcyBhbHJlYWR5IGluY2x1ZGUgbGFuZSwgd2UgZG9uJ3Qga25vdyBmb3IgY2VydGFpbiBpZlxuICAgIC8vIHRoZSBsYW5lIGZpbmlzaGVkIHNpbmNlIHRoZSBsYXN0IHRpbWUgd2UgZW50YW5nbGVkIGl0LiBTbyB3ZSBuZWVkIHRvXG4gICAgLy8gZW50YW5nbGUgaXQgYWdhaW4sIGp1c3QgdG8gYmUgc3VyZS5cblxuICAgIG1hcmtSb290RW50YW5nbGVkKHJvb3QsIG5ld1F1ZXVlTGFuZXMpO1xuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGNhcHR1cmVkVXBkYXRlKSB7XG4gIC8vIENhcHR1cmVkIHVwZGF0ZXMgYXJlIHVwZGF0ZXMgdGhhdCBhcmUgdGhyb3duIGJ5IGEgY2hpbGQgZHVyaW5nIHRoZSByZW5kZXJcbiAgLy8gcGhhc2UuIFRoZXkgc2hvdWxkIGJlIGRpc2NhcmRlZCBpZiB0aGUgcmVuZGVyIGlzIGFib3J0ZWQuIFRoZXJlZm9yZSxcbiAgLy8gd2Ugc2hvdWxkIG9ubHkgcHV0IHRoZW0gb24gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUsIG5vdCB0aGUgY3VycmVudCBvbmUuXG4gIHZhciBxdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlOyAvLyBDaGVjayBpZiB0aGUgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSBpcyBhIGNsb25lLlxuXG4gIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnRRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XG5cbiAgICBpZiAocXVldWUgPT09IGN1cnJlbnRRdWV1ZSkge1xuICAgICAgLy8gVGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUgaXMgdGhlIHNhbWUgYXMgY3VycmVudC4gVGhpcyBoYXBwZW5zIHdoZW5cbiAgICAgIC8vIHdlIGJhaWwgb3V0IG9uIGEgcGFyZW50IGZpYmVyIHRoYXQgdGhlbiBjYXB0dXJlcyBhbiBlcnJvciB0aHJvd24gYnlcbiAgICAgIC8vIGEgY2hpbGQuIFNpbmNlIHdlIHdhbnQgdG8gYXBwZW5kIHRoZSB1cGRhdGUgb25seSB0byB0aGUgd29yay1pblxuICAgICAgLy8gLXByb2dyZXNzIHF1ZXVlLCB3ZSBuZWVkIHRvIGNsb25lIHRoZSB1cGRhdGVzLiBXZSB1c3VhbGx5IGNsb25lIGR1cmluZ1xuICAgICAgLy8gcHJvY2Vzc1VwZGF0ZVF1ZXVlLCBidXQgdGhhdCBkaWRuJ3QgaGFwcGVuIGluIHRoaXMgY2FzZSBiZWNhdXNlIHdlXG4gICAgICAvLyBza2lwcGVkIG92ZXIgdGhlIHBhcmVudCB3aGVuIHdlIGJhaWxlZCBvdXQuXG4gICAgICB2YXIgbmV3Rmlyc3QgPSBudWxsO1xuICAgICAgdmFyIG5ld0xhc3QgPSBudWxsO1xuICAgICAgdmFyIGZpcnN0QmFzZVVwZGF0ZSA9IHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZTtcblxuICAgICAgaWYgKGZpcnN0QmFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIHVwZGF0ZXMgYW5kIGNsb25lIHRoZW0uXG4gICAgICAgIHZhciB1cGRhdGUgPSBmaXJzdEJhc2VVcGRhdGU7XG5cbiAgICAgICAgZG8ge1xuICAgICAgICAgIHZhciBjbG9uZSA9IHtcbiAgICAgICAgICAgIGV2ZW50VGltZTogdXBkYXRlLmV2ZW50VGltZSxcbiAgICAgICAgICAgIGxhbmU6IHVwZGF0ZS5sYW5lLFxuICAgICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXG4gICAgICAgICAgICBjYWxsYmFjazogdXBkYXRlLmNhbGxiYWNrLFxuICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAobmV3TGFzdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgbmV3Rmlyc3QgPSBuZXdMYXN0ID0gY2xvbmU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0xhc3QubmV4dCA9IGNsb25lO1xuICAgICAgICAgICAgbmV3TGFzdCA9IGNsb25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0O1xuICAgICAgICB9IHdoaWxlICh1cGRhdGUgIT09IG51bGwpOyAvLyBBcHBlbmQgdGhlIGNhcHR1cmVkIHVwZGF0ZSB0aGUgZW5kIG9mIHRoZSBjbG9uZWQgbGlzdC5cblxuXG4gICAgICAgIGlmIChuZXdMYXN0ID09PSBudWxsKSB7XG4gICAgICAgICAgbmV3Rmlyc3QgPSBuZXdMYXN0ID0gY2FwdHVyZWRVcGRhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGFzdC5uZXh0ID0gY2FwdHVyZWRVcGRhdGU7XG4gICAgICAgICAgbmV3TGFzdCA9IGNhcHR1cmVkVXBkYXRlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGVyZSBhcmUgbm8gYmFzZSB1cGRhdGVzLlxuICAgICAgICBuZXdGaXJzdCA9IG5ld0xhc3QgPSBjYXB0dXJlZFVwZGF0ZTtcbiAgICAgIH1cblxuICAgICAgcXVldWUgPSB7XG4gICAgICAgIGJhc2VTdGF0ZTogY3VycmVudFF1ZXVlLmJhc2VTdGF0ZSxcbiAgICAgICAgZmlyc3RCYXNlVXBkYXRlOiBuZXdGaXJzdCxcbiAgICAgICAgbGFzdEJhc2VVcGRhdGU6IG5ld0xhc3QsXG4gICAgICAgIHNoYXJlZDogY3VycmVudFF1ZXVlLnNoYXJlZCxcbiAgICAgICAgZWZmZWN0czogY3VycmVudFF1ZXVlLmVmZmVjdHNcbiAgICAgIH07XG4gICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IHF1ZXVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSAvLyBBcHBlbmQgdGhlIHVwZGF0ZSB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuXG5cbiAgdmFyIGxhc3RCYXNlVXBkYXRlID0gcXVldWUubGFzdEJhc2VVcGRhdGU7XG5cbiAgaWYgKGxhc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgcXVldWUuZmlyc3RCYXNlVXBkYXRlID0gY2FwdHVyZWRVcGRhdGU7XG4gIH0gZWxzZSB7XG4gICAgbGFzdEJhc2VVcGRhdGUubmV4dCA9IGNhcHR1cmVkVXBkYXRlO1xuICB9XG5cbiAgcXVldWUubGFzdEJhc2VVcGRhdGUgPSBjYXB0dXJlZFVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGVGcm9tVXBkYXRlKHdvcmtJblByb2dyZXNzLCBxdWV1ZSwgdXBkYXRlLCBwcmV2U3RhdGUsIG5leHRQcm9wcywgaW5zdGFuY2UpIHtcbiAgc3dpdGNoICh1cGRhdGUudGFnKSB7XG4gICAgY2FzZSBSZXBsYWNlU3RhdGU6XG4gICAgICB7XG4gICAgICAgIHZhciBwYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gVXBkYXRlciBmdW5jdGlvblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgbmV4dFN0YXRlID0gcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKHRydWUpO1xuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHMoZmFsc2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXh0U3RhdGU7XG4gICAgICAgIH0gLy8gU3RhdGUgb2JqZWN0XG5cblxuICAgICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FwdHVyZVVwZGF0ZTpcbiAgICAgIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSB3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTtcbiAgICAgIH1cbiAgICAvLyBJbnRlbnRpb25hbCBmYWxsdGhyb3VnaFxuXG4gICAgY2FzZSBVcGRhdGVTdGF0ZTpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG4gICAgICAgIHZhciBwYXJ0aWFsU3RhdGU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBfcGF5bG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIFVwZGF0ZXIgZnVuY3Rpb25cbiAgICAgICAgICB7XG4gICAgICAgICAgICBlbnRlckRpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcGFydGlhbFN0YXRlID0gX3BheWxvYWQuY2FsbChpbnN0YW5jZSwgcHJldlN0YXRlLCBuZXh0UHJvcHMpO1xuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIF9wYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcbiAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFBhcnRpYWwgc3RhdGUgb2JqZWN0XG4gICAgICAgICAgcGFydGlhbFN0YXRlID0gX3BheWxvYWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFydGlhbFN0YXRlID09PSBudWxsIHx8IHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gTnVsbCBhbmQgdW5kZWZpbmVkIGFyZSB0cmVhdGVkIGFzIG5vLW9wcy5cbiAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICB9IC8vIE1lcmdlIHRoZSBwYXJ0aWFsIHN0YXRlIGFuZCB0aGUgcHJldmlvdXMgc3RhdGUuXG5cblxuICAgICAgICByZXR1cm4gYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XG4gICAgICB9XG5cbiAgICBjYXNlIEZvcmNlVXBkYXRlOlxuICAgICAge1xuICAgICAgICBoYXNGb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBwcmV2U3RhdGU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gcHJldlN0YXRlO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIHByb3BzLCBpbnN0YW5jZSwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyBpcyBhbHdheXMgbm9uLW51bGwgb24gYSBDbGFzc0NvbXBvbmVudCBvciBIb3N0Um9vdFxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgaGFzRm9yY2VVcGRhdGUgPSBmYWxzZTtcblxuICB7XG4gICAgY3VycmVudGx5UHJvY2Vzc2luZ1F1ZXVlID0gcXVldWUuc2hhcmVkO1xuICB9XG5cbiAgdmFyIGZpcnN0QmFzZVVwZGF0ZSA9IHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZTtcbiAgdmFyIGxhc3RCYXNlVXBkYXRlID0gcXVldWUubGFzdEJhc2VVcGRhdGU7IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBwZW5kaW5nIHVwZGF0ZXMuIElmIHNvLCB0cmFuc2ZlciB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxuXG4gIHZhciBwZW5kaW5nUXVldWUgPSBxdWV1ZS5zaGFyZWQucGVuZGluZztcblxuICBpZiAocGVuZGluZ1F1ZXVlICE9PSBudWxsKSB7XG4gICAgcXVldWUuc2hhcmVkLnBlbmRpbmcgPSBudWxsOyAvLyBUaGUgcGVuZGluZyBxdWV1ZSBpcyBjaXJjdWxhci4gRGlzY29ubmVjdCB0aGUgcG9pbnRlciBiZXR3ZWVuIGZpcnN0XG4gICAgLy8gYW5kIGxhc3Qgc28gdGhhdCBpdCdzIG5vbi1jaXJjdWxhci5cblxuICAgIHZhciBsYXN0UGVuZGluZ1VwZGF0ZSA9IHBlbmRpbmdRdWV1ZTtcbiAgICB2YXIgZmlyc3RQZW5kaW5nVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGUubmV4dDtcbiAgICBsYXN0UGVuZGluZ1VwZGF0ZS5uZXh0ID0gbnVsbDsgLy8gQXBwZW5kIHBlbmRpbmcgdXBkYXRlcyB0byBiYXNlIHF1ZXVlXG5cbiAgICBpZiAobGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgIGZpcnN0QmFzZVVwZGF0ZSA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdEJhc2VVcGRhdGUubmV4dCA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9XG5cbiAgICBsYXN0QmFzZVVwZGF0ZSA9IGxhc3RQZW5kaW5nVXBkYXRlOyAvLyBJZiB0aGVyZSdzIGEgY3VycmVudCBxdWV1ZSwgYW5kIGl0J3MgZGlmZmVyZW50IGZyb20gdGhlIGJhc2UgcXVldWUsIHRoZW5cbiAgICAvLyB3ZSBuZWVkIHRvIHRyYW5zZmVyIHRoZSB1cGRhdGVzIHRvIHRoYXQgcXVldWUsIHRvby4gQmVjYXVzZSB0aGUgYmFzZVxuICAgIC8vIHF1ZXVlIGlzIGEgc2luZ2x5LWxpbmtlZCBsaXN0IHdpdGggbm8gY3ljbGVzLCB3ZSBjYW4gYXBwZW5kIHRvIGJvdGhcbiAgICAvLyBsaXN0cyBhbmQgdGFrZSBhZHZhbnRhZ2Ugb2Ygc3RydWN0dXJhbCBzaGFyaW5nLlxuICAgIC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50XG5cbiAgICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIGFsd2F5cyBub24tbnVsbCBvbiBhIENsYXNzQ29tcG9uZW50IG9yIEhvc3RSb290XG4gICAgICB2YXIgY3VycmVudFF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcbiAgICAgIHZhciBjdXJyZW50TGFzdEJhc2VVcGRhdGUgPSBjdXJyZW50UXVldWUubGFzdEJhc2VVcGRhdGU7XG5cbiAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgIT09IGxhc3RCYXNlVXBkYXRlKSB7XG4gICAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICBjdXJyZW50UXVldWUuZmlyc3RCYXNlVXBkYXRlID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFRoZXNlIHZhbHVlcyBtYXkgY2hhbmdlIGFzIHdlIHByb2Nlc3MgdGhlIHF1ZXVlLlxuXG5cbiAgaWYgKGZpcnN0QmFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCBvZiB1cGRhdGVzIHRvIGNvbXB1dGUgdGhlIHJlc3VsdC5cbiAgICB2YXIgbmV3U3RhdGUgPSBxdWV1ZS5iYXNlU3RhdGU7IC8vIFRPRE86IERvbid0IG5lZWQgdG8gYWNjdW11bGF0ZSB0aGlzLiBJbnN0ZWFkLCB3ZSBjYW4gcmVtb3ZlIHJlbmRlckxhbmVzXG4gICAgLy8gZnJvbSB0aGUgb3JpZ2luYWwgbGFuZXMuXG5cbiAgICB2YXIgbmV3TGFuZXMgPSBOb0xhbmVzO1xuICAgIHZhciBuZXdCYXNlU3RhdGUgPSBudWxsO1xuICAgIHZhciBuZXdGaXJzdEJhc2VVcGRhdGUgPSBudWxsO1xuICAgIHZhciBuZXdMYXN0QmFzZVVwZGF0ZSA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0QmFzZVVwZGF0ZTtcblxuICAgIGRvIHtcbiAgICAgIHZhciB1cGRhdGVMYW5lID0gdXBkYXRlLmxhbmU7XG4gICAgICB2YXIgdXBkYXRlRXZlbnRUaW1lID0gdXBkYXRlLmV2ZW50VGltZTtcblxuICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMocmVuZGVyTGFuZXMsIHVwZGF0ZUxhbmUpKSB7XG4gICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcbiAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cbiAgICAgICAgdmFyIGNsb25lID0ge1xuICAgICAgICAgIGV2ZW50VGltZTogdXBkYXRlRXZlbnRUaW1lLFxuICAgICAgICAgIGxhbmU6IHVwZGF0ZUxhbmUsXG4gICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgIHBheWxvYWQ6IHVwZGF0ZS5wYXlsb2FkLFxuICAgICAgICAgIGNhbGxiYWNrOiB1cGRhdGUuY2FsbGJhY2ssXG4gICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChuZXdMYXN0QmFzZVVwZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld0ZpcnN0QmFzZVVwZGF0ZSA9IG5ld0xhc3RCYXNlVXBkYXRlID0gY2xvbmU7XG4gICAgICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGFzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gY2xvbmU7XG4gICAgICAgIH0gLy8gVXBkYXRlIHRoZSByZW1haW5pbmcgcHJpb3JpdHkgaW4gdGhlIHF1ZXVlLlxuXG5cbiAgICAgICAgbmV3TGFuZXMgPSBtZXJnZUxhbmVzKG5ld0xhbmVzLCB1cGRhdGVMYW5lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgdXBkYXRlIGRvZXMgaGF2ZSBzdWZmaWNpZW50IHByaW9yaXR5LlxuICAgICAgICBpZiAobmV3TGFzdEJhc2VVcGRhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgZXZlbnRUaW1lOiB1cGRhdGVFdmVudFRpbWUsXG4gICAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBpcyBnb2luZyB0byBiZSBjb21taXR0ZWQgc28gd2UgbmV2ZXIgd2FudCB1bmNvbW1pdFxuICAgICAgICAgICAgLy8gaXQuIFVzaW5nIE5vTGFuZSB3b3JrcyBiZWNhdXNlIDAgaXMgYSBzdWJzZXQgb2YgYWxsIGJpdG1hc2tzLCBzb1xuICAgICAgICAgICAgLy8gdGhpcyB3aWxsIG5ldmVyIGJlIHNraXBwZWQgYnkgdGhlIGNoZWNrIGFib3ZlLlxuICAgICAgICAgICAgbGFuZTogTm9MYW5lLFxuICAgICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXG4gICAgICAgICAgICBjYWxsYmFjazogdXBkYXRlLmNhbGxiYWNrLFxuICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgICAgbmV3TGFzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cblxuICAgICAgICBuZXdTdGF0ZSA9IGdldFN0YXRlRnJvbVVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgcXVldWUsIHVwZGF0ZSwgbmV3U3RhdGUsIHByb3BzLCBpbnN0YW5jZSk7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHVwZGF0ZS5jYWxsYmFjaztcblxuICAgICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwgJiYgLy8gSWYgdGhlIHVwZGF0ZSB3YXMgYWxyZWFkeSBjb21taXR0ZWQsIHdlIHNob3VsZCBub3QgcXVldWUgaXRzXG4gICAgICAgIC8vIGNhbGxiYWNrIGFnYWluLlxuICAgICAgICB1cGRhdGUubGFuZSAhPT0gTm9MYW5lKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gQ2FsbGJhY2s7XG4gICAgICAgICAgdmFyIGVmZmVjdHMgPSBxdWV1ZS5lZmZlY3RzO1xuXG4gICAgICAgICAgaWYgKGVmZmVjdHMgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXVlLmVmZmVjdHMgPSBbdXBkYXRlXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWZmZWN0cy5wdXNoKHVwZGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0O1xuXG4gICAgICBpZiAodXBkYXRlID09PSBudWxsKSB7XG4gICAgICAgIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnNoYXJlZC5wZW5kaW5nO1xuXG4gICAgICAgIGlmIChwZW5kaW5nUXVldWUgPT09IG51bGwpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBmcm9tIGluc2lkZSBhIHJlZHVjZXIuIEFkZCB0aGUgbmV3XG4gICAgICAgICAgLy8gcGVuZGluZyB1cGRhdGVzIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QgYW5kIGtlZXAgcHJvY2Vzc2luZy5cbiAgICAgICAgICB2YXIgX2xhc3RQZW5kaW5nVXBkYXRlID0gcGVuZGluZ1F1ZXVlOyAvLyBJbnRlbnRpb25hbGx5IHVuc291bmQuIFBlbmRpbmcgdXBkYXRlcyBmb3JtIGEgY2lyY3VsYXIgbGlzdCwgYnV0IHdlXG4gICAgICAgICAgLy8gdW5yYXZlbCB0aGVtIHdoZW4gdHJhbnNmZXJyaW5nIHRoZW0gdG8gdGhlIGJhc2UgcXVldWUuXG5cbiAgICAgICAgICB2YXIgX2ZpcnN0UGVuZGluZ1VwZGF0ZSA9IF9sYXN0UGVuZGluZ1VwZGF0ZS5uZXh0O1xuICAgICAgICAgIF9sYXN0UGVuZGluZ1VwZGF0ZS5uZXh0ID0gbnVsbDtcbiAgICAgICAgICB1cGRhdGUgPSBfZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICAgIHF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gX2xhc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICAgIHF1ZXVlLnNoYXJlZC5wZW5kaW5nID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gd2hpbGUgKHRydWUpO1xuXG4gICAgaWYgKG5ld0xhc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgICBuZXdCYXNlU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICB9XG5cbiAgICBxdWV1ZS5iYXNlU3RhdGUgPSBuZXdCYXNlU3RhdGU7XG4gICAgcXVldWUuZmlyc3RCYXNlVXBkYXRlID0gbmV3Rmlyc3RCYXNlVXBkYXRlO1xuICAgIHF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gbmV3TGFzdEJhc2VVcGRhdGU7IC8vIEludGVybGVhdmVkIHVwZGF0ZXMgYXJlIHN0b3JlZCBvbiBhIHNlcGFyYXRlIHF1ZXVlLiBXZSBhcmVuJ3QgZ29pbmcgdG9cbiAgICAvLyBwcm9jZXNzIHRoZW0gZHVyaW5nIHRoaXMgcmVuZGVyLCBidXQgd2UgZG8gbmVlZCB0byB0cmFjayB3aGljaCBsYW5lc1xuICAgIC8vIGFyZSByZW1haW5pbmcuXG5cbiAgICB2YXIgbGFzdEludGVybGVhdmVkID0gcXVldWUuc2hhcmVkLmludGVybGVhdmVkO1xuXG4gICAgaWYgKGxhc3RJbnRlcmxlYXZlZCAhPT0gbnVsbCkge1xuICAgICAgdmFyIGludGVybGVhdmVkID0gbGFzdEludGVybGVhdmVkO1xuXG4gICAgICBkbyB7XG4gICAgICAgIG5ld0xhbmVzID0gbWVyZ2VMYW5lcyhuZXdMYW5lcywgaW50ZXJsZWF2ZWQubGFuZSk7XG4gICAgICAgIGludGVybGVhdmVkID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICAgIH0gd2hpbGUgKGludGVybGVhdmVkICE9PSBsYXN0SW50ZXJsZWF2ZWQpO1xuICAgIH0gZWxzZSBpZiAoZmlyc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgICAvLyBgcXVldWUubGFuZXNgIGlzIHVzZWQgZm9yIGVudGFuZ2xpbmcgdHJhbnNpdGlvbnMuIFdlIGNhbiBzZXQgaXQgYmFjayB0b1xuICAgICAgLy8gemVybyBvbmNlIHRoZSBxdWV1ZSBpcyBlbXB0eS5cbiAgICAgIHF1ZXVlLnNoYXJlZC5sYW5lcyA9IE5vTGFuZXM7XG4gICAgfSAvLyBTZXQgdGhlIHJlbWFpbmluZyBleHBpcmF0aW9uIHRpbWUgdG8gYmUgd2hhdGV2ZXIgaXMgcmVtYWluaW5nIGluIHRoZSBxdWV1ZS5cbiAgICAvLyBUaGlzIHNob3VsZCBiZSBmaW5lIGJlY2F1c2UgdGhlIG9ubHkgdHdvIG90aGVyIHRoaW5ncyB0aGF0IGNvbnRyaWJ1dGUgdG9cbiAgICAvLyBleHBpcmF0aW9uIHRpbWUgYXJlIHByb3BzIGFuZCBjb250ZXh0LiBXZSdyZSBhbHJlYWR5IGluIHRoZSBtaWRkbGUgb2YgdGhlXG4gICAgLy8gYmVnaW4gcGhhc2UgYnkgdGhlIHRpbWUgd2Ugc3RhcnQgcHJvY2Vzc2luZyB0aGUgcXVldWUsIHNvIHdlJ3ZlIGFscmVhZHlcbiAgICAvLyBkZWFsdCB3aXRoIHRoZSBwcm9wcy4gQ29udGV4dCBpbiBjb21wb25lbnRzIHRoYXQgc3BlY2lmeVxuICAgIC8vIHNob3VsZENvbXBvbmVudFVwZGF0ZSBpcyB0cmlja3k7IGJ1dCB3ZSdsbCBoYXZlIHRvIGFjY291bnQgZm9yXG4gICAgLy8gdGhhdCByZWdhcmRsZXNzLlxuXG5cbiAgICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKG5ld0xhbmVzKTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG5ld0xhbmVzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfVxuXG4gIHtcbiAgICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbGxDYWxsYmFjayhjYWxsYmFjaywgY29udGV4dCkge1xuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCBhcyBjYWxsYmFjay4gRXhwZWN0ZWQgYSBmdW5jdGlvbi4gSW5zdGVhZCAnICsgKFwicmVjZWl2ZWQ6IFwiICsgY2FsbGJhY2spKTtcbiAgfVxuXG4gIGNhbGxiYWNrLmNhbGwoY29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCkge1xuICBoYXNGb3JjZVVwZGF0ZSA9IGZhbHNlO1xufVxuZnVuY3Rpb24gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHtcbiAgcmV0dXJuIGhhc0ZvcmNlVXBkYXRlO1xufVxuZnVuY3Rpb24gY29tbWl0VXBkYXRlUXVldWUoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFF1ZXVlLCBpbnN0YW5jZSkge1xuICAvLyBDb21taXQgdGhlIGVmZmVjdHNcbiAgdmFyIGVmZmVjdHMgPSBmaW5pc2hlZFF1ZXVlLmVmZmVjdHM7XG4gIGZpbmlzaGVkUXVldWUuZWZmZWN0cyA9IG51bGw7XG5cbiAgaWYgKGVmZmVjdHMgIT09IG51bGwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVmZmVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBlZmZlY3QgPSBlZmZlY3RzW2ldO1xuICAgICAgdmFyIGNhbGxiYWNrID0gZWZmZWN0LmNhbGxiYWNrO1xuXG4gICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICAgICAgZWZmZWN0LmNhbGxiYWNrID0gbnVsbDtcbiAgICAgICAgY2FsbENhbGxiYWNrKGNhbGxiYWNrLCBpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBmYWtlSW50ZXJuYWxJbnN0YW5jZSA9IHt9OyAvLyBSZWFjdC5Db21wb25lbnQgdXNlcyBhIHNoYXJlZCBmcm96ZW4gb2JqZWN0IGJ5IGRlZmF1bHQuXG4vLyBXZSdsbCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFsaXplIGxlZ2FjeSByZWZzLlxuXG52YXIgZW1wdHlSZWZzT2JqZWN0ID0gbmV3IFJlYWN0LkNvbXBvbmVudCgpLnJlZnM7XG52YXIgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGU7XG52YXIgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRVbmRlZmluZWREZXJpdmVkU3RhdGU7XG52YXIgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlO1xudmFyIHdhcm5PbkludmFsaWRDYWxsYmFjaztcbnZhciBkaWRXYXJuQWJvdXREaXJlY3RseUFzc2lnbmluZ1Byb3BzVG9TdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcztcbnZhciBkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGU7XG5cbntcbiAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGUgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGUgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZSA9IG5ldyBTZXQoKTtcbiAgdmFyIGRpZFdhcm5PbkludmFsaWRDYWxsYmFjayA9IG5ldyBTZXQoKTtcblxuICB3YXJuT25JbnZhbGlkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICBpZiAoY2FsbGJhY2sgPT09IG51bGwgfHwgdHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGtleSA9IGNhbGxlck5hbWUgKyAnXycgKyBjYWxsYmFjaztcblxuICAgIGlmICghZGlkV2Fybk9uSW52YWxpZENhbGxiYWNrLmhhcyhrZXkpKSB7XG4gICAgICBkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2suYWRkKGtleSk7XG5cbiAgICAgIGVycm9yKCclcyguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGVyTmFtZSwgY2FsbGJhY2spO1xuICAgIH1cbiAgfTtcblxuICB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGUgPSBmdW5jdGlvbiAodHlwZSwgcGFydGlhbFN0YXRlKSB7XG4gICAgaWYgKHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVbmRlZmluZWREZXJpdmVkU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJyVzLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpOiBBIHZhbGlkIHN0YXRlIG9iamVjdCAob3IgbnVsbCkgbXVzdCBiZSByZXR1cm5lZC4gJyArICdZb3UgaGF2ZSByZXR1cm5lZCB1bmRlZmluZWQuJywgY29tcG9uZW50TmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9OyAvLyBUaGlzIGlzIHNvIGdyb3NzIGJ1dCBpdCdzIGF0IGxlYXN0IG5vbi1jcml0aWNhbCBhbmQgY2FuIGJlIHJlbW92ZWQgaWZcbiAgLy8gaXQgY2F1c2VzIHByb2JsZW1zLiBUaGlzIGlzIG1lYW50IHRvIGdpdmUgYSBuaWNlciBlcnJvciBtZXNzYWdlIGZvclxuICAvLyBSZWFjdERPTTE1LnVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHJlYWN0RE9NMTZDb21wb25lbnQsXG4gIC8vIC4uLikpIHdoaWNoIG90aGVyd2lzZSB0aHJvd3MgYSBcIl9wcm9jZXNzQ2hpbGRDb250ZXh0IGlzIG5vdCBhIGZ1bmN0aW9uXCJcbiAgLy8gZXhjZXB0aW9uLlxuXG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZha2VJbnRlcm5hbEluc3RhbmNlLCAnX3Byb2Nlc3NDaGlsZENvbnRleHQnLCB7XG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGF2YWlsYWJsZSBpbiBSZWFjdCAxNisuIFRoaXMgbGlrZWx5ICcgKyAnbWVhbnMgeW91IGhhdmUgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IGFuZCBhcmUgYXR0ZW1wdGluZyB0byBuZXN0ICcgKyAnYSBSZWFjdCAxNSB0cmVlIGluc2lkZSBhIFJlYWN0IDE2IHRyZWUgdXNpbmcgJyArIFwidW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIsIHdoaWNoIGlzbid0IHN1cHBvcnRlZC4gVHJ5IFwiICsgJ3RvIG1ha2Ugc3VyZSB5b3UgaGF2ZSBvbmx5IG9uZSBjb3B5IG9mIFJlYWN0IChhbmQgaWRlYWxseSwgc3dpdGNoICcgKyAndG8gUmVhY3RET00uY3JlYXRlUG9ydGFsKS4nKTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZnJlZXplKGZha2VJbnRlcm5hbEluc3RhbmNlKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV4dFByb3BzKSB7XG4gIHZhciBwcmV2U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgcGFydGlhbFN0YXRlID0gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKTtcblxuICB7XG4gICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHModHJ1ZSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIEludm9rZSB0aGUgZnVuY3Rpb24gYW4gZXh0cmEgdGltZSB0byBoZWxwIGRldGVjdCBzaWRlLWVmZmVjdHMuXG4gICAgICAgIHBhcnRpYWxTdGF0ZSA9IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlKGN0b3IsIHBhcnRpYWxTdGF0ZSk7XG4gIH0gLy8gTWVyZ2UgdGhlIHBhcnRpYWwgc3RhdGUgYW5kIHRoZSBwcmV2aW91cyBzdGF0ZS5cblxuXG4gIHZhciBtZW1vaXplZFN0YXRlID0gcGFydGlhbFN0YXRlID09PSBudWxsIHx8IHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkID8gcHJldlN0YXRlIDogYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBtZW1vaXplZFN0YXRlOyAvLyBPbmNlIHRoZSB1cGRhdGUgcXVldWUgaXMgZW1wdHksIHBlcnNpc3QgdGhlIGRlcml2ZWQgc3RhdGUgb250byB0aGVcbiAgLy8gYmFzZSBzdGF0ZS5cblxuICBpZiAod29ya0luUHJvZ3Jlc3MubGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBRdWV1ZSBpcyBhbHdheXMgbm9uLW51bGwgZm9yIGNsYXNzZXNcbiAgICB2YXIgdXBkYXRlUXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgICB1cGRhdGVRdWV1ZS5iYXNlU3RhdGUgPSBtZW1vaXplZFN0YXRlO1xuICB9XG59XG5cbnZhciBjbGFzc0NvbXBvbmVudFVwZGF0ZXIgPSB7XG4gIGlzTW91bnRlZDogaXNNb3VudGVkLFxuICBlbnF1ZXVlU2V0U3RhdGU6IGZ1bmN0aW9uIChpbnN0LCBwYXlsb2FkLCBjYWxsYmFjaykge1xuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoZmliZXIpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XG5cbiAgICBpZiAoY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2soY2FsbGJhY2ssICdzZXRTdGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBmaWJlciwgbGFuZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH0sXG4gIGVucXVldWVSZXBsYWNlU3RhdGU6IGZ1bmN0aW9uIChpbnN0LCBwYXlsb2FkLCBjYWxsYmFjaykge1xuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoZmliZXIpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgICB1cGRhdGUudGFnID0gUmVwbGFjZVN0YXRlO1xuICAgIHVwZGF0ZS5wYXlsb2FkID0gcGF5bG9hZDtcblxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHdhcm5PbkludmFsaWRDYWxsYmFjayhjYWxsYmFjaywgJ3JlcGxhY2VTdGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBmaWJlciwgbGFuZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH0sXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKGluc3QsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGZpYmVyID0gZ2V0KGluc3QpO1xuICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShldmVudFRpbWUsIGxhbmUpO1xuICAgIHVwZGF0ZS50YWcgPSBGb3JjZVVwZGF0ZTtcblxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHdhcm5PbkludmFsaWRDYWxsYmFjayhjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlLCBsYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgICBlbnRhbmdsZVRyYW5zaXRpb25zKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBtYXJrRm9yY2VVcGRhdGVTY2hlZHVsZWQoZmliZXIsIGxhbmUpO1xuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gY2hlY2tTaG91bGRDb21wb25lbnRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG9sZFByb3BzLCBuZXdQcm9wcywgb2xkU3RhdGUsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCkge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5zaG91bGRDb21wb25lbnRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgc2hvdWxkVXBkYXRlID0gaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuXG4gICAge1xuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEludm9rZSB0aGUgZnVuY3Rpb24gYW4gZXh0cmEgdGltZSB0byBoZWxwIGRldGVjdCBzaWRlLWVmZmVjdHMuXG4gICAgICAgICAgc2hvdWxkVXBkYXRlID0gaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkVXBkYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZXJyb3IoJyVzLnNob3VsZENvbXBvbmVudFVwZGF0ZSgpOiBSZXR1cm5lZCB1bmRlZmluZWQgaW5zdGVhZCBvZiBhICcgKyAnYm9vbGVhbiB2YWx1ZS4gTWFrZSBzdXJlIHRvIHJldHVybiB0cnVlIG9yIGZhbHNlLicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbiAgfVxuXG4gIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCkge1xuICAgIHJldHVybiAhc2hhbGxvd0VxdWFsKG9sZFByb3BzLCBuZXdQcm9wcykgfHwgIXNoYWxsb3dFcXVhbChvbGRTdGF0ZSwgbmV3U3RhdGUpO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQ2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIHtcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50JztcbiAgICB2YXIgcmVuZGVyUHJlc2VudCA9IGluc3RhbmNlLnJlbmRlcjtcblxuICAgIGlmICghcmVuZGVyUHJlc2VudCkge1xuICAgICAgaWYgKGN0b3IucHJvdG90eXBlICYmIHR5cGVvZiBjdG9yLnByb3RvdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IE5vIGByZW5kZXJgIG1ldGhvZCBmb3VuZCBvbiB0aGUgcmV0dXJuZWQgY29tcG9uZW50ICcgKyAnaW5zdGFuY2U6IGRpZCB5b3UgYWNjaWRlbnRhbGx5IHJldHVybiBhbiBvYmplY3QgZnJvbSB0aGUgY29uc3RydWN0b3I/JywgbmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignJXMoLi4uKTogTm8gYHJlbmRlcmAgbWV0aG9kIGZvdW5kIG9uIHRoZSByZXR1cm5lZCBjb21wb25lbnQgJyArICdpbnN0YW5jZTogeW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBkZWZpbmUgYHJlbmRlcmAuJywgbmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLmdldEluaXRpYWxTdGF0ZSAmJiAhaW5zdGFuY2UuZ2V0SW5pdGlhbFN0YXRlLmlzUmVhY3RDbGFzc0FwcHJvdmVkICYmICFpbnN0YW5jZS5zdGF0ZSkge1xuICAgICAgZXJyb3IoJ2dldEluaXRpYWxTdGF0ZSB3YXMgZGVmaW5lZCBvbiAlcywgYSBwbGFpbiBKYXZhU2NyaXB0IGNsYXNzLiAnICsgJ1RoaXMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIGNsYXNzZXMgY3JlYXRlZCB1c2luZyBSZWFjdC5jcmVhdGVDbGFzcy4gJyArICdEaWQgeW91IG1lYW4gdG8gZGVmaW5lIGEgc3RhdGUgcHJvcGVydHkgaW5zdGVhZD8nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuZ2V0RGVmYXVsdFByb3BzICYmICFpbnN0YW5jZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgd2FzIGRlZmluZWQgb24gJXMsIGEgcGxhaW4gSmF2YVNjcmlwdCBjbGFzcy4gJyArICdUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBjbGFzc2VzIGNyZWF0ZWQgdXNpbmcgUmVhY3QuY3JlYXRlQ2xhc3MuICcgKyAnVXNlIGEgc3RhdGljIHByb3BlcnR5IHRvIGRlZmluZSBkZWZhdWx0UHJvcHMgaW5zdGVhZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UucHJvcFR5cGVzKSB7XG4gICAgICBlcnJvcigncHJvcFR5cGVzIHdhcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIHByb3BlcnR5IG9uICVzLiBVc2UgYSBzdGF0aWMgJyArICdwcm9wZXJ0eSB0byBkZWZpbmUgcHJvcFR5cGVzIGluc3RlYWQuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLmNvbnRleHRUeXBlKSB7XG4gICAgICBlcnJvcignY29udGV4dFR5cGUgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBjb250ZXh0VHlwZSBpbnN0ZWFkLicsIG5hbWUpO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChpbnN0YW5jZS5jb250ZXh0VHlwZXMpIHtcbiAgICAgICAgZXJyb3IoJ2NvbnRleHRUeXBlcyB3YXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBvbiAlcy4gVXNlIGEgc3RhdGljICcgKyAncHJvcGVydHkgdG8gZGVmaW5lIGNvbnRleHRUeXBlcyBpbnN0ZWFkLicsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY3Rvci5jb250ZXh0VHlwZSAmJiBjdG9yLmNvbnRleHRUeXBlcyAmJiAhZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMuaGFzKGN0b3IpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzLmFkZChjdG9yKTtcblxuICAgICAgICBlcnJvcignJXMgZGVjbGFyZXMgYm90aCBjb250ZXh0VHlwZXMgYW5kIGNvbnRleHRUeXBlIHN0YXRpYyBwcm9wZXJ0aWVzLiAnICsgJ1RoZSBsZWdhY3kgY29udGV4dFR5cGVzIHByb3BlcnR5IHdpbGwgYmUgaWdub3JlZC4nLCBuYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFNob3VsZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnRTaG91bGRVcGRhdGUoKS4gRGlkIHlvdSBtZWFuIHNob3VsZENvbXBvbmVudFVwZGF0ZSgpPyAnICsgJ1RoZSBuYW1lIGlzIHBocmFzZWQgYXMgYSBxdWVzdGlvbiBiZWNhdXNlIHRoZSBmdW5jdGlvbiBpcyAnICsgJ2V4cGVjdGVkIHRvIHJldHVybiBhIHZhbHVlLicsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCAmJiB0eXBlb2YgaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgc2hvdWxkQ29tcG9uZW50VXBkYXRlKCkuICcgKyAnc2hvdWxkQ29tcG9uZW50VXBkYXRlIHNob3VsZCBub3QgYmUgdXNlZCB3aGVuIGV4dGVuZGluZyBSZWFjdC5QdXJlQ29tcG9uZW50LiAnICsgJ1BsZWFzZSBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSBpcyB1c2VkLicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQSBwdXJlIGNvbXBvbmVudCcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnREaWRVbm1vdW50KCkuIEJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpZmVjeWNsZSBtZXRob2QuICcgKyAnRGlkIHlvdSBtZWFuIGNvbXBvbmVudFdpbGxVbm1vdW50KCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50RGlkUmVjZWl2ZVByb3BzKCkuIEJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpZmVjeWNsZSBtZXRob2QuICcgKyAnSWYgeW91IG1lYW50IHRvIHVwZGF0ZSB0aGUgc3RhdGUgaW4gcmVzcG9uc2UgdG8gY2hhbmdpbmcgcHJvcHMsICcgKyAndXNlIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKS4gSWYgeW91IG1lYW50IHRvIGZldGNoIGRhdGEgb3IgJyArICdydW4gc2lkZS1lZmZlY3RzIG9yIG11dGF0aW9ucyBhZnRlciBSZWFjdCBoYXMgdXBkYXRlZCB0aGUgVUksIHVzZSBjb21wb25lbnREaWRVcGRhdGUoKS4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcygpLiBEaWQgeW91IG1lYW4gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpPycsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMoKS4gRGlkIHlvdSBtZWFuIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgdmFyIGhhc011dGF0ZWRQcm9wcyA9IGluc3RhbmNlLnByb3BzICE9PSBuZXdQcm9wcztcblxuICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gdW5kZWZpbmVkICYmIGhhc011dGF0ZWRQcm9wcykge1xuICAgICAgZXJyb3IoJyVzKC4uLik6IFdoZW4gY2FsbGluZyBzdXBlcigpIGluIGAlc2AsIG1ha2Ugc3VyZSB0byBwYXNzICcgKyBcInVwIHRoZSBzYW1lIHByb3BzIHRoYXQgeW91ciBjb21wb25lbnQncyBjb25zdHJ1Y3RvciB3YXMgcGFzc2VkLlwiLCBuYW1lLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuZGVmYXVsdFByb3BzKSB7XG4gICAgICBlcnJvcignU2V0dGluZyBkZWZhdWx0UHJvcHMgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSBpZ25vcmVkLicgKyAnIEluc3RlYWQsIGRlZmluZSBkZWZhdWx0UHJvcHMgYXMgYSBzdGF0aWMgcHJvcGVydHkgb24gJXMuJywgbmFtZSwgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlICE9PSAnZnVuY3Rpb24nICYmICFkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuaGFzKGN0b3IpKSB7XG4gICAgICBkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuYWRkKGN0b3IpO1xuXG4gICAgICBlcnJvcignJXM6IGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgc2hvdWxkIGJlIHVzZWQgd2l0aCBjb21wb25lbnREaWRVcGRhdGUoKS4gJyArICdUaGlzIGNvbXBvbmVudCBkZWZpbmVzIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgb25seS4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXM6IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpIGlzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kICcgKyAnYW5kIHdpbGwgYmUgaWdub3JlZC4gSW5zdGVhZCwgZGVjbGFyZSBpdCBhcyBhIHN0YXRpYyBtZXRob2QuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKSBpcyBkZWZpbmVkIGFzIGEgc3RhdGljIG1ldGhvZCAnICsgJ2FuZCB3aWxsIGJlIGlnbm9yZWQuIEluc3RlYWQsIGRlY2xhcmUgaXQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kLicsIG5hbWUpO1xuICAgIH1cblxuICAgIHZhciBfc3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICAgIGlmIChfc3RhdGUgJiYgKHR5cGVvZiBfc3RhdGUgIT09ICdvYmplY3QnIHx8IGlzQXJyYXkoX3N0YXRlKSkpIHtcbiAgICAgIGVycm9yKCclcy5zdGF0ZTogbXVzdCBiZSBzZXQgdG8gYW4gb2JqZWN0IG9yIG51bGwnLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldENoaWxkQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgY3Rvci5jaGlsZENvbnRleHRUeXBlcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIGVycm9yKCclcy5nZXRDaGlsZENvbnRleHQoKTogY2hpbGRDb250ZXh0VHlwZXMgbXVzdCBiZSBkZWZpbmVkIGluIG9yZGVyIHRvICcgKyAndXNlIGdldENoaWxkQ29udGV4dCgpLicsIG5hbWUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnVwZGF0ZXIgPSBjbGFzc0NvbXBvbmVudFVwZGF0ZXI7XG4gIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlOyAvLyBUaGUgaW5zdGFuY2UgbmVlZHMgYWNjZXNzIHRvIHRoZSBmaWJlciBzbyB0aGF0IGl0IGNhbiBzY2hlZHVsZSB1cGRhdGVzXG5cbiAgc2V0KGluc3RhbmNlLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAge1xuICAgIGluc3RhbmNlLl9yZWFjdEludGVybmFsSW5zdGFuY2UgPSBmYWtlSW50ZXJuYWxJbnN0YW5jZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb25zdHJ1Y3RDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBwcm9wcykge1xuICB2YXIgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBmYWxzZTtcbiAgdmFyIHVubWFza2VkQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcbiAgdmFyIGNvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG5cbiAge1xuICAgIGlmICgnY29udGV4dFR5cGUnIGluIGN0b3IpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gLy8gQWxsb3cgbnVsbCBmb3IgY29uZGl0aW9uYWwgZGVjbGFyYXRpb25cbiAgICAgIGNvbnRleHRUeXBlID09PSBudWxsIHx8IGNvbnRleHRUeXBlICE9PSB1bmRlZmluZWQgJiYgY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSAmJiBjb250ZXh0VHlwZS5fY29udGV4dCA9PT0gdW5kZWZpbmVkOyAvLyBOb3QgYSA8Q29udGV4dC5Db25zdW1lcj5cblxuICAgICAgaWYgKCFpc1ZhbGlkICYmICFkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGUuaGFzKGN0b3IpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZS5hZGQoY3Rvcik7XG4gICAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuXG4gICAgICAgIGlmIChjb250ZXh0VHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIEhvd2V2ZXIsIGl0IGlzIHNldCB0byB1bmRlZmluZWQuICcgKyAnVGhpcyBjYW4gYmUgY2F1c2VkIGJ5IGEgdHlwbyBvciBieSBtaXhpbmcgdXAgbmFtZWQgYW5kIGRlZmF1bHQgaW1wb3J0cy4gJyArICdUaGlzIGNhbiBhbHNvIGhhcHBlbiBkdWUgdG8gYSBjaXJjdWxhciBkZXBlbmRlbmN5LCBzbyAnICsgJ3RyeSBtb3ZpbmcgdGhlIGNyZWF0ZUNvbnRleHQoKSBjYWxsIHRvIGEgc2VwYXJhdGUgZmlsZS4nO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZXh0VHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgSG93ZXZlciwgaXQgaXMgc2V0IHRvIGEgJyArIHR5cGVvZiBjb250ZXh0VHlwZSArICcuJztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSkge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIHRoZSBDb250ZXh0LlByb3ZpZGVyIGluc3RlYWQ/JztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS5fY29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gPENvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IHBhc3MgdGhlIENvbnRleHQuQ29uc3VtZXIgaW5zdGVhZD8nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBIb3dldmVyLCBpdCBpcyBzZXQgdG8gYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKGNvbnRleHRUeXBlKS5qb2luKCcsICcpICsgJ30uJztcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yKCclcyBkZWZpbmVzIGFuIGludmFsaWQgY29udGV4dFR5cGUuICcgKyAnY29udGV4dFR5cGUgc2hvdWxkIHBvaW50IHRvIHRoZSBDb250ZXh0IG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVDb250ZXh0KCkuJXMnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCcsIGFkZGVuZHVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcbiAgICB2YXIgY29udGV4dFR5cGVzID0gY3Rvci5jb250ZXh0VHlwZXM7XG4gICAgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBjb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY29udGV4dFR5cGVzICE9PSB1bmRlZmluZWQ7XG4gICAgY29udGV4dCA9IGlzTGVnYWN5Q29udGV4dENvbnN1bWVyID8gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KSA6IGVtcHR5Q29udGV4dE9iamVjdDtcbiAgfVxuXG4gIHZhciBpbnN0YW5jZSA9IG5ldyBjdG9yKHByb3BzLCBjb250ZXh0KTsgLy8gSW5zdGFudGlhdGUgdHdpY2UgdG8gaGVscCBkZXRlY3Qgc2lkZS1lZmZlY3RzLlxuXG4gIHtcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaW5zdGFuY2UgPSBuZXcgY3Rvcihwcm9wcywgY29udGV4dCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIHN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlICE9PSBudWxsICYmIGluc3RhbmNlLnN0YXRlICE9PSB1bmRlZmluZWQgPyBpbnN0YW5jZS5zdGF0ZSA6IG51bGw7XG4gIGFkb3B0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nICYmIHN0YXRlID09PSBudWxsKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJ2Alc2AgdXNlcyBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBidXQgaXRzIGluaXRpYWwgc3RhdGUgaXMgJyArICclcy4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQuIEluc3RlYWQsIGRlZmluZSB0aGUgaW5pdGlhbCBzdGF0ZSBieSAnICsgJ2Fzc2lnbmluZyBhbiBvYmplY3QgdG8gYHRoaXMuc3RhdGVgIGluIHRoZSBjb25zdHJ1Y3RvciBvZiBgJXNgLiAnICsgJ1RoaXMgZW5zdXJlcyB0aGF0IGBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNgIGFyZ3VtZW50cyBoYXZlIGEgY29uc2lzdGVudCBzaGFwZS4nLCBjb21wb25lbnROYW1lLCBpbnN0YW5jZS5zdGF0ZSA9PT0gbnVsbCA/ICdudWxsJyA6ICd1bmRlZmluZWQnLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9IC8vIElmIG5ldyBjb21wb25lbnQgQVBJcyBhcmUgZGVmaW5lZCwgXCJ1bnNhZmVcIiBsaWZlY3ljbGVzIHdvbid0IGJlIGNhbGxlZC5cbiAgICAvLyBXYXJuIGFib3V0IHRoZXNlIGxpZmVjeWNsZXMgaWYgdGhleSBhcmUgcHJlc2VudC5cbiAgICAvLyBEb24ndCB3YXJuIGFib3V0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgbWV0aG9kcyB0aG91Z2guXG5cblxuICAgIGlmICh0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgZm91bmRXaWxsTW91bnROYW1lID0gbnVsbDtcbiAgICAgIHZhciBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gbnVsbDtcbiAgICAgIHZhciBmb3VuZFdpbGxVcGRhdGVOYW1lID0gbnVsbDtcblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50Ll9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgICAgZm91bmRXaWxsTW91bnROYW1lID0gJ2NvbXBvbmVudFdpbGxNb3VudCc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZvdW5kV2lsbE1vdW50TmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JztcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgICBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gJ2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMnO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgICAgZm91bmRXaWxsVXBkYXRlTmFtZSA9ICdjb21wb25lbnRXaWxsVXBkYXRlJztcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSAnVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUnO1xuICAgICAgfVxuXG4gICAgICBpZiAoZm91bmRXaWxsTW91bnROYW1lICE9PSBudWxsIHx8IGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgIT09IG51bGwgfHwgZm91bmRXaWxsVXBkYXRlTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgX2NvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgICAgdmFyIG5ld0FwaU5hbWUgPSB0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgPyAnZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCknIDogJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlKCknO1xuXG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5oYXMoX2NvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5hZGQoX2NvbXBvbmVudE5hbWUpO1xuXG4gICAgICAgICAgZXJyb3IoJ1Vuc2FmZSBsZWdhY3kgbGlmZWN5Y2xlcyB3aWxsIG5vdCBiZSBjYWxsZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgbmV3IGNvbXBvbmVudCBBUElzLlxcblxcbicgKyAnJXMgdXNlcyAlcyBidXQgYWxzbyBjb250YWlucyB0aGUgZm9sbG93aW5nIGxlZ2FjeSBsaWZlY3ljbGVzOiVzJXMlc1xcblxcbicgKyAnVGhlIGFib3ZlIGxpZmVjeWNsZXMgc2hvdWxkIGJlIHJlbW92ZWQuIExlYXJuIG1vcmUgYWJvdXQgdGhpcyB3YXJuaW5nIGhlcmU6XFxuJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzJywgX2NvbXBvbmVudE5hbWUsIG5ld0FwaU5hbWUsIGZvdW5kV2lsbE1vdW50TmFtZSAhPT0gbnVsbCA/IFwiXFxuICBcIiArIGZvdW5kV2lsbE1vdW50TmFtZSA6ICcnLCBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lICE9PSBudWxsID8gXCJcXG4gIFwiICsgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA6ICcnLCBmb3VuZFdpbGxVcGRhdGVOYW1lICE9PSBudWxsID8gXCJcXG4gIFwiICsgZm91bmRXaWxsVXBkYXRlTmFtZSA6ICcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gIC8vIFJlYWN0RmliZXJDb250ZXh0IHVzdWFsbHkgdXBkYXRlcyB0aGlzIGNhY2hlIGJ1dCBjYW4ndCBmb3IgbmV3bHktY3JlYXRlZCBpbnN0YW5jZXMuXG5cblxuICBpZiAoaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIpIHtcbiAgICBjYWNoZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCwgY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIGNhbGxDb21wb25lbnRXaWxsTW91bnQod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKSB7XG4gIHZhciBvbGRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlO1xuXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50KCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCk7XG4gIH1cblxuICBpZiAob2xkU3RhdGUgIT09IGluc3RhbmNlLnN0YXRlKSB7XG4gICAge1xuICAgICAgZXJyb3IoJyVzLmNvbXBvbmVudFdpbGxNb3VudCgpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gdGhpcy5zdGF0ZSBpcyAnICsgXCJkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXCIgKyAnY29uc3RydWN0b3IpLiBVc2Ugc2V0U3RhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHdvcmtJblByb2dyZXNzKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgfVxuXG4gICAgY2xhc3NDb21wb25lbnRVcGRhdGVyLmVucXVldWVSZXBsYWNlU3RhdGUoaW5zdGFuY2UsIGluc3RhbmNlLnN0YXRlLCBudWxsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxsQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UsIG5ld1Byb3BzLCBuZXh0Q29udGV4dCkge1xuICB2YXIgb2xkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5ld1Byb3BzLCBuZXh0Q29udGV4dCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHMsIG5leHRDb250ZXh0KTtcbiAgfVxuXG4gIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gb2xkU3RhdGUpIHtcbiAgICB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIod29ya0luUHJvZ3Jlc3MpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFN0YXRlQXNzaWdubWVudEZvckNvbXBvbmVudC5oYXMoY29tcG9uZW50TmFtZSkpIHtcbiAgICAgICAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXMuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gJyArIFwidGhpcy5zdGF0ZSBpcyBkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXCIgKyAnY29uc3RydWN0b3IpLiBVc2Ugc2V0U3RhdGUgaW5zdGVhZC4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjbGFzc0NvbXBvbmVudFVwZGF0ZXIuZW5xdWV1ZVJlcGxhY2VTdGF0ZShpbnN0YW5jZSwgaW5zdGFuY2Uuc3RhdGUsIG51bGwpO1xuICB9XG59IC8vIEludm9rZXMgdGhlIG1vdW50IGxpZmUtY3ljbGVzIG9uIGEgcHJldmlvdXNseSBuZXZlciByZW5kZXJlZCBpbnN0YW5jZS5cblxuXG5mdW5jdGlvbiBtb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB7XG4gICAgY2hlY2tDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcyk7XG4gIH1cblxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgaW5zdGFuY2UucmVmcyA9IGVtcHR5UmVmc09iamVjdDtcbiAgaW5pdGlhbGl6ZVVwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGluc3RhbmNlLmNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XG4gICAgaW5zdGFuY2UuY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB7XG4gICAgaWYgKGluc3RhbmNlLnN0YXRlID09PSBuZXdQcm9wcykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlLmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXM6IEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBhc3NpZ24gcHJvcHMgZGlyZWN0bHkgdG8gc3RhdGUgJyArIFwiYmVjYXVzZSB1cGRhdGVzIHRvIHByb3BzIHdvbid0IGJlIHJlZmxlY3RlZCBpbiBzdGF0ZS4gXCIgKyAnSW4gbW9zdCBjYXNlcywgaXQgaXMgYmV0dGVyIHRvIHVzZSBwcm9wcyBkaXJlY3RseS4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3Mod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcbiAgICB9XG4gIH1cblxuICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcbiAgICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH0gLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cblxuICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSAhPT0gJ2Z1bmN0aW9uJyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICBjYWxsQ29tcG9uZW50V2lsbE1vdW50KHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7IC8vIElmIHdlIGhhZCBhZGRpdGlvbmFsIHN0YXRlIHVwZGF0ZXMgZHVyaW5nIHRoaXMgbGlmZS1jeWNsZSwgbGV0J3NcbiAgICAvLyBwcm9jZXNzIHRoZW0gbm93LlxuXG4gICAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckxhbmVzKTtcbiAgICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIGZpYmVyRmxhZ3MgPSBVcGRhdGU7XG5cbiAgICB7XG4gICAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgICB9XG5cbiAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gZmliZXJGbGFncztcbiAgfVxufVxuXG5mdW5jdGlvbiByZXN1bWVNb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIGluc3RhbmNlLnByb3BzID0gb2xkUHJvcHM7XG4gIHZhciBvbGRDb250ZXh0ID0gaW5zdGFuY2UuY29udGV4dDtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcbiAgdmFyIG5leHRDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xuXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XG4gICAgbmV4dENvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIGN0b3IsIHRydWUpO1xuICAgIG5leHRDb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgbmV4dExlZ2FjeVVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB2YXIgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7XG4gIHZhciBoYXNOZXdMaWZlY3ljbGVzID0gdHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbic7IC8vIE5vdGU6IER1cmluZyB0aGVzZSBsaWZlLWN5Y2xlcywgaW5zdGFuY2UucHJvcHMvaW5zdGFuY2Uuc3RhdGUgYXJlIHdoYXRcbiAgLy8gZXZlciB0aGUgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gcmVuZGVyIC0gbm90IHRoZSBcImN1cnJlbnRcIi4gSG93ZXZlcixcbiAgLy8gZHVyaW5nIGNvbXBvbmVudERpZFVwZGF0ZSB3ZSBwYXNzIHRoZSBcImN1cnJlbnRcIiBwcm9wcy5cbiAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cbiAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgaWYgKG9sZFByb3BzICE9PSBuZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCk7XG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcyk7XG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzICYmIG9sZFN0YXRlID09PSBuZXdTdGF0ZSAmJiAhaGFzQ29udGV4dENoYW5nZWQoKSAmJiAhY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpKSB7XG4gICAgLy8gSWYgYW4gdXBkYXRlIHdhcyBhbHJlYWR5IGluIHByb2dyZXNzLCB3ZSBzaG91bGQgc2NoZWR1bGUgYW4gVXBkYXRlXG4gICAgLy8gZWZmZWN0IGV2ZW4gdGhvdWdoIHdlJ3JlIGJhaWxpbmcgb3V0LCBzbyB0aGF0IGNXVS9jRFUgYXJlIGNhbGxlZC5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgZmliZXJGbGFncyA9IFVwZGF0ZTtcblxuICAgICAge1xuICAgICAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgICAgIH1cblxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgICB9XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IGZpYmVyRmxhZ3M7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXdQcm9wcyk7XG4gICAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB9XG5cbiAgdmFyIHNob3VsZFVwZGF0ZSA9IGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB8fCBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cbiAgICBpZiAoIWhhc05ld0xpZmVjeWNsZXMgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgX2ZpYmVyRmxhZ3MgPSBVcGRhdGU7XG5cbiAgICAgIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MgfD0gTGF5b3V0U3RhdGljO1xuICAgICAgfVxuXG4gICAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgICB9XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IF9maWJlckZsYWdzO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBfZmliZXJGbGFnczIgPSBVcGRhdGU7XG5cbiAgICAgIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MyIHw9IExheW91dFN0YXRpYztcbiAgICAgIH1cblxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIF9maWJlckZsYWdzMiB8PSBNb3VudExheW91dERldjtcbiAgICAgIH1cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gX2ZpYmVyRmxhZ3MyO1xuICAgIH0gLy8gSWYgc2hvdWxkQ29tcG9uZW50VXBkYXRlIHJldHVybmVkIGZhbHNlLCB3ZSBzaG91bGQgc3RpbGwgdXBkYXRlIHRoZVxuICAgIC8vIG1lbW9pemVkIHN0YXRlIHRvIGluZGljYXRlIHRoYXQgdGhpcyB3b3JrIGNhbiBiZSByZXVzZWQuXG5cblxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBuZXdQcm9wcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7XG4gIH0gLy8gVXBkYXRlIHRoZSBleGlzdGluZyBpbnN0YW5jZSdzIHN0YXRlLCBwcm9wcywgYW5kIGNvbnRleHQgcG9pbnRlcnMgZXZlblxuICAvLyBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZS5cblxuXG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gbmV3U3RhdGU7XG4gIGluc3RhbmNlLmNvbnRleHQgPSBuZXh0Q29udGV4dDtcbiAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbn0gLy8gSW52b2tlcyB0aGUgdXBkYXRlIGxpZmUtY3ljbGVzIGFuZCByZXR1cm5zIGZhbHNlIGlmIGl0IHNob3VsZG4ndCByZXJlbmRlci5cblxuXG5mdW5jdGlvbiB1cGRhdGVDbGFzc0luc3RhbmNlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHVucmVzb2x2ZWRPbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnR5cGUgPT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID8gdW5yZXNvbHZlZE9sZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyh3b3JrSW5Qcm9ncmVzcy50eXBlLCB1bnJlc29sdmVkT2xkUHJvcHMpO1xuICBpbnN0YW5jZS5wcm9wcyA9IG9sZFByb3BzO1xuICB2YXIgdW5yZXNvbHZlZE5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgb2xkQ29udGV4dCA9IGluc3RhbmNlLmNvbnRleHQ7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG4gIHZhciBuZXh0Q29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIG5leHRDb250ZXh0ID0gcmVhZENvbnRleHQoY29udGV4dFR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBuZXh0VW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcbiAgICBuZXh0Q29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIG5leHRVbm1hc2tlZENvbnRleHQpO1xuICB9XG5cbiAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO1xuICB2YXIgaGFzTmV3TGlmZWN5Y2xlcyA9IHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nOyAvLyBOb3RlOiBEdXJpbmcgdGhlc2UgbGlmZS1jeWNsZXMsIGluc3RhbmNlLnByb3BzL2luc3RhbmNlLnN0YXRlIGFyZSB3aGF0XG4gIC8vIGV2ZXIgdGhlIHByZXZpb3VzbHkgYXR0ZW1wdGVkIHRvIHJlbmRlciAtIG5vdCB0aGUgXCJjdXJyZW50XCIuIEhvd2V2ZXIsXG4gIC8vIGR1cmluZyBjb21wb25lbnREaWRVcGRhdGUgd2UgcGFzcyB0aGUgXCJjdXJyZW50XCIgcHJvcHMuXG4gIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAvLyBVbnNhZmUgbGlmZWN5Y2xlcyBzaG91bGQgbm90IGJlIGludm9rZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgdGhlIG5ldyBBUElzLlxuXG4gIGlmICghaGFzTmV3TGlmZWN5Y2xlcyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSkge1xuICAgIGlmICh1bnJlc29sdmVkT2xkUHJvcHMgIT09IHVucmVzb2x2ZWROZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCk7XG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcyk7XG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAodW5yZXNvbHZlZE9sZFByb3BzID09PSB1bnJlc29sdmVkTmV3UHJvcHMgJiYgb2xkU3RhdGUgPT09IG5ld1N0YXRlICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpICYmICFjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nKCkgJiYgIShlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uICAgKSkge1xuICAgIC8vIElmIGFuIHVwZGF0ZSB3YXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2Ugc2hvdWxkIHNjaGVkdWxlIGFuIFVwZGF0ZVxuICAgIC8vIGVmZmVjdCBldmVuIHRob3VnaCB3ZSdyZSBiYWlsaW5nIG91dCwgc28gdGhhdCBjV1UvY0RVIGFyZSBjYWxsZWQuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh1bnJlc29sdmVkT2xkUHJvcHMgIT09IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB8fCBvbGRTdGF0ZSAhPT0gY3VycmVudC5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAodW5yZXNvbHZlZE9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTbmFwc2hvdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcbiAgICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICB2YXIgc2hvdWxkVXBkYXRlID0gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHx8IGNoZWNrU2hvdWxkQ29tcG9uZW50VXBkYXRlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBvbGRQcm9wcywgbmV3UHJvcHMsIG9sZFN0YXRlLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpIHx8IC8vIFRPRE86IEluIHNvbWUgY2FzZXMsIHdlJ2xsIGVuZCB1cCBjaGVja2luZyBpZiBjb250ZXh0IGhhcyBjaGFuZ2VkIHR3aWNlLFxuICAvLyBib3RoIGJlZm9yZSBhbmQgYWZ0ZXIgYHNob3VsZENvbXBvbmVudFVwZGF0ZWAgaGFzIGJlZW4gY2FsbGVkLiBOb3QgaWRlYWwsXG4gIC8vIGJ1dCBJJ20gbG9hdGggdG8gcmVmYWN0b3IgdGhpcyBmdW5jdGlvbi4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIG1lbW9pemVkXG4gIC8vIGNvbXBvbmVudHMgc28gaXQncyBub3QgdGhhdCBjb21tb24uXG4gIGVuYWJsZUxhenlDb250ZXh0UHJvcGFnYXRpb24gICA7XG5cbiAgaWYgKHNob3VsZFVwZGF0ZSkge1xuICAgIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAgIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG4gICAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNuYXBzaG90O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAodW5yZXNvbHZlZE9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKHVucmVzb2x2ZWRPbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gU25hcHNob3Q7XG4gICAgICB9XG4gICAgfSAvLyBJZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJuZWQgZmFsc2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlXG4gICAgLy8gbWVtb2l6ZWQgcHJvcHMvc3RhdGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHdvcmsgY2FuIGJlIHJldXNlZC5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IG5ld1Byb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBVcGRhdGUgdGhlIGV4aXN0aW5nIGluc3RhbmNlJ3Mgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCBwb2ludGVycyBldmVuXG4gIC8vIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlLlxuXG5cbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcbiAgaW5zdGFuY2Uuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgaW5zdGFuY2UuY29udGV4dCA9IG5leHRDb250ZXh0O1xuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG52YXIgZGlkV2FybkFib3V0TWFwcztcbnZhciBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nO1xudmFyIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZztcblxudmFyIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkLCByZXR1cm5GaWJlcikge307XG5cbntcbiAgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xuICBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzID0gZmFsc2U7XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbiAgLyoqXG4gICAqIFdhcm4gaWYgdGhlcmUncyBubyBrZXkgZXhwbGljaXRseSBzZXQgb24gZHluYW1pYyBhcnJheXMgb2YgY2hpbGRyZW4gb3JcbiAgICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gICAqIHVwZGF0ZXMuXG4gICAqL1xuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmcgPSB7fTtcblxuICB3YXJuRm9yTWlzc2luZ0tleSA9IGZ1bmN0aW9uIChjaGlsZCwgcmV0dXJuRmliZXIpIHtcbiAgICBpZiAoY2hpbGQgPT09IG51bGwgfHwgdHlwZW9mIGNoaWxkICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghY2hpbGQuX3N0b3JlIHx8IGNoaWxkLl9zdG9yZS52YWxpZGF0ZWQgfHwgY2hpbGQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNoaWxkLl9zdG9yZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QgQ29tcG9uZW50IGluIHdhcm5Gb3JNaXNzaW5nS2V5IHNob3VsZCBoYXZlIGEgX3N0b3JlLiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgY2hpbGQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlICcgKyAnXCJrZXlcIiBwcm9wLiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3dhcm5pbmcta2V5cyBmb3IgJyArICdtb3JlIGluZm9ybWF0aW9uLicpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjb2VyY2VSZWYocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQpIHtcbiAgdmFyIG1peGVkUmVmID0gZWxlbWVudC5yZWY7XG5cbiAgaWYgKG1peGVkUmVmICE9PSBudWxsICYmIHR5cGVvZiBtaXhlZFJlZiAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgbWl4ZWRSZWYgIT09ICdvYmplY3QnKSB7XG4gICAge1xuICAgICAgLy8gVE9ETzogQ2xlYW4gdGhpcyB1cCBvbmNlIHdlIHR1cm4gb24gdGhlIHN0cmluZyByZWYgd2FybmluZyBmb3JcbiAgICAgIC8vIGV2ZXJ5b25lLCBiZWNhdXNlIHRoZSBzdHJpY3QgbW9kZSBjYXNlIHdpbGwgbm8gbG9uZ2VyIGJlIHJlbGV2YW50XG4gICAgICBpZiAoKHJldHVybkZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlIHx8IHdhcm5BYm91dFN0cmluZ1JlZnMpICYmIC8vIFdlIHdhcm4gaW4gUmVhY3RFbGVtZW50LmpzIGlmIG93bmVyIGFuZCBzZWxmIGFyZSBlcXVhbCBmb3Igc3RyaW5nIHJlZnNcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uXG4gICAgICAvLyB1c2luZyBhIGNvZGVtb2QuIFRoZXJlZm9yZSwgd2UgZG9uJ3QgaGF2ZSB0byB3YXJuIGFib3V0IHN0cmluZyByZWZzIGFnYWluLlxuICAgICAgIShlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9zZWxmICYmIGVsZW1lbnQuX293bmVyLnN0YXRlTm9kZSAhPT0gZWxlbWVudC5fc2VsZikpIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlcnJvcignQSBzdHJpbmcgcmVmLCBcIiVzXCIsIGhhcyBiZWVuIGZvdW5kIHdpdGhpbiBhIHN0cmljdCBtb2RlIHRyZWUuICcgKyAnU3RyaW5nIHJlZnMgYXJlIGEgc291cmNlIG9mIHBvdGVudGlhbCBidWdzIGFuZCBzaG91bGQgYmUgYXZvaWRlZC4gJyArICdXZSByZWNvbW1lbmQgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBtaXhlZFJlZik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC5fb3duZXIpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIGluc3Q7XG5cbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICB2YXIgb3duZXJGaWJlciA9IG93bmVyO1xuXG4gICAgICAgIGlmIChvd25lckZpYmVyLnRhZyAhPT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIGNvbXBvbmVudHMgY2Fubm90IGhhdmUgc3RyaW5nIHJlZnMuICcgKyAnV2UgcmVjb21tZW5kIHVzaW5nIHVzZVJlZigpIGluc3RlYWQuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zdHJpY3QtbW9kZS1zdHJpbmctcmVmJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnN0ID0gb3duZXJGaWJlci5zdGF0ZU5vZGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghaW5zdCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIG93bmVyIGZvciBzdHJpbmcgcmVmIFwiICsgbWl4ZWRSZWYgKyBcIi4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgXCIgKyAnYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH0gLy8gQXNzaWduaW5nIHRoaXMgdG8gYSBjb25zdCBzbyBGbG93IGtub3dzIGl0IHdvbid0IGNoYW5nZSBpbiB0aGUgY2xvc3VyZVxuXG5cbiAgICAgIHZhciByZXNvbHZlZEluc3QgPSBpbnN0O1xuXG4gICAgICB7XG4gICAgICAgIGNoZWNrUHJvcFN0cmluZ0NvZXJjaW9uKG1peGVkUmVmLCAncmVmJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBzdHJpbmdSZWYgPSAnJyArIG1peGVkUmVmOyAvLyBDaGVjayBpZiBwcmV2aW91cyBzdHJpbmcgcmVmIG1hdGNoZXMgbmV3IHN0cmluZyByZWZcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5yZWYgIT09IG51bGwgJiYgdHlwZW9mIGN1cnJlbnQucmVmID09PSAnZnVuY3Rpb24nICYmIGN1cnJlbnQucmVmLl9zdHJpbmdSZWYgPT09IHN0cmluZ1JlZikge1xuICAgICAgICByZXR1cm4gY3VycmVudC5yZWY7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWYgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIHJlZnMgPSByZXNvbHZlZEluc3QucmVmcztcblxuICAgICAgICBpZiAocmVmcyA9PT0gZW1wdHlSZWZzT2JqZWN0KSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBhIGxhenkgcG9vbGVkIGZyb3plbiBvYmplY3QsIHNvIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZS5cbiAgICAgICAgICByZWZzID0gcmVzb2x2ZWRJbnN0LnJlZnMgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGRlbGV0ZSByZWZzW3N0cmluZ1JlZl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVmc1tzdHJpbmdSZWZdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJlZi5fc3RyaW5nUmVmID0gc3RyaW5nUmVmO1xuICAgICAgcmV0dXJuIHJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiBtaXhlZFJlZiAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCByZWYgdG8gYmUgYSBmdW5jdGlvbiwgYSBzdHJpbmcsIGFuIG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVSZWYoKSwgb3IgbnVsbC4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFlbGVtZW50Ll9vd25lcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IHJlZiB3YXMgc3BlY2lmaWVkIGFzIGEgc3RyaW5nIChcIiArIG1peGVkUmVmICsgXCIpIGJ1dCBubyBvd25lciB3YXMgc2V0LiBUaGlzIGNvdWxkIGhhcHBlbiBmb3Igb25lIG9mXCIgKyAnIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcXG4nICsgJzEuIFlvdSBtYXkgYmUgYWRkaW5nIGEgcmVmIHRvIGEgZnVuY3Rpb24gY29tcG9uZW50XFxuJyArIFwiMi4gWW91IG1heSBiZSBhZGRpbmcgYSByZWYgdG8gYSBjb21wb25lbnQgdGhhdCB3YXMgbm90IGNyZWF0ZWQgaW5zaWRlIGEgY29tcG9uZW50J3MgcmVuZGVyIG1ldGhvZFxcblwiICsgJzMuIFlvdSBoYXZlIG11bHRpcGxlIGNvcGllcyBvZiBSZWFjdCBsb2FkZWRcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVmcy1tdXN0LWhhdmUtb3duZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1peGVkUmVmO1xufVxuXG5mdW5jdGlvbiB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKSB7XG4gIHZhciBjaGlsZFN0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXdDaGlsZCk7XG4gIHRocm93IG5ldyBFcnJvcihcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXCIgKyAoY2hpbGRTdHJpbmcgPT09ICdbb2JqZWN0IE9iamVjdF0nID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhuZXdDaGlsZCkuam9pbignLCAnKSArICd9JyA6IGNoaWxkU3RyaW5nKSArIFwiKS4gXCIgKyAnSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSAnICsgJ2luc3RlYWQuJyk7XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkZ1bmN0aW9uVHlwZShyZXR1cm5GaWJlcikge1xuICB7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmdbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmdbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0Z1bmN0aW9ucyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQuIFRoaXMgbWF5IGhhcHBlbiBpZiAnICsgJ3lvdSByZXR1cm4gYSBDb21wb25lbnQgaW5zdGVhZCBvZiA8Q29tcG9uZW50IC8+IGZyb20gcmVuZGVyLiAnICsgJ09yIG1heWJlIHlvdSBtZWFudCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gcmV0dXJuIGl0LicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVMYXp5KGxhenlUeXBlKSB7XG4gIHZhciBwYXlsb2FkID0gbGF6eVR5cGUuX3BheWxvYWQ7XG4gIHZhciBpbml0ID0gbGF6eVR5cGUuX2luaXQ7XG4gIHJldHVybiBpbml0KHBheWxvYWQpO1xufSAvLyBUaGlzIHdyYXBwZXIgZnVuY3Rpb24gZXhpc3RzIGJlY2F1c2UgSSBleHBlY3QgdG8gY2xvbmUgdGhlIGNvZGUgaW4gZWFjaCBwYXRoXG4vLyB0byBiZSBhYmxlIHRvIG9wdGltaXplIGVhY2ggcGF0aCBpbmRpdmlkdWFsbHkgYnkgYnJhbmNoaW5nIGVhcmx5LiBUaGlzIG5lZWRzXG4vLyBhIGNvbXBpbGVyIG9yIHdlIGNhbiBkbyBpdCBtYW51YWxseS4gSGVscGVycyB0aGF0IGRvbid0IG5lZWQgdGhpcyBicmFuY2hpbmdcbi8vIGxpdmUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLlxuXG5cbmZ1bmN0aW9uIENoaWxkUmVjb25jaWxlcihzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gIGZ1bmN0aW9uIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZFRvRGVsZXRlKSB7XG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBOb29wLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBkZWxldGlvbnMgPSByZXR1cm5GaWJlci5kZWxldGlvbnM7XG5cbiAgICBpZiAoZGVsZXRpb25zID09PSBudWxsKSB7XG4gICAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBbY2hpbGRUb0RlbGV0ZV07XG4gICAgICByZXR1cm5GaWJlci5mbGFncyB8PSBDaGlsZERlbGV0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGlvbnMucHVzaChjaGlsZFRvRGVsZXRlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpIHtcbiAgICBpZiAoIXNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgIC8vIE5vb3AuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IC8vIFRPRE86IEZvciB0aGUgc2hvdWxkQ2xvbmUgY2FzZSwgdGhpcyBjb3VsZCBiZSBtaWNyby1vcHRpbWl6ZWQgYSBiaXQgYnlcbiAgICAvLyBhc3N1bWluZyB0aGF0IGFmdGVyIHRoZSBmaXJzdCBjaGlsZCB3ZSd2ZSBhbHJlYWR5IGFkZGVkIGV2ZXJ5dGhpbmcuXG5cblxuICAgIHZhciBjaGlsZFRvRGVsZXRlID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGRUb0RlbGV0ZSAhPT0gbnVsbCkge1xuICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkVG9EZWxldGUpO1xuICAgICAgY2hpbGRUb0RlbGV0ZSA9IGNoaWxkVG9EZWxldGUuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCkge1xuICAgIC8vIEFkZCB0aGUgcmVtYWluaW5nIGNoaWxkcmVuIHRvIGEgdGVtcG9yYXJ5IG1hcCBzbyB0aGF0IHdlIGNhbiBmaW5kIHRoZW0gYnlcbiAgICAvLyBrZXlzIHF1aWNrbHkuIEltcGxpY2l0IChudWxsKSBrZXlzIGdldCBhZGRlZCB0byB0aGlzIHNldCB3aXRoIHRoZWlyIGluZGV4XG4gICAgLy8gaW5zdGVhZC5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG5ldyBNYXAoKTtcbiAgICB2YXIgZXhpc3RpbmdDaGlsZCA9IGN1cnJlbnRGaXJzdENoaWxkO1xuXG4gICAgd2hpbGUgKGV4aXN0aW5nQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGlmIChleGlzdGluZ0NoaWxkLmtleSAhPT0gbnVsbCkge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmtleSwgZXhpc3RpbmdDaGlsZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmluZGV4LCBleGlzdGluZ0NoaWxkKTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdDaGlsZCA9IGV4aXN0aW5nQ2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gZXhpc3RpbmdDaGlsZHJlbjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVzZUZpYmVyKGZpYmVyLCBwZW5kaW5nUHJvcHMpIHtcbiAgICAvLyBXZSBjdXJyZW50bHkgc2V0IHNpYmxpbmcgdG8gbnVsbCBhbmQgaW5kZXggdG8gMCBoZXJlIGJlY2F1c2UgaXQgaXMgZWFzeVxuICAgIC8vIHRvIGZvcmdldCB0byBkbyBiZWZvcmUgcmV0dXJuaW5nIGl0LiBFLmcuIGZvciB0aGUgc2luZ2xlIGNoaWxkIGNhc2UuXG4gICAgdmFyIGNsb25lID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoZmliZXIsIHBlbmRpbmdQcm9wcyk7XG4gICAgY2xvbmUuaW5kZXggPSAwO1xuICAgIGNsb25lLnNpYmxpbmcgPSBudWxsO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SW5kZXgpIHtcbiAgICBuZXdGaWJlci5pbmRleCA9IG5ld0luZGV4O1xuXG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBEdXJpbmcgaHlkcmF0aW9uLCB0aGUgdXNlSWQgYWxnb3JpdGhtIG5lZWRzIHRvIGtub3cgd2hpY2ggZmliZXJzIGFyZVxuICAgICAgLy8gcGFydCBvZiBhIGxpc3Qgb2YgY2hpbGRyZW4gKGFycmF5cywgaXRlcmF0b3JzKS5cbiAgICAgIG5ld0ZpYmVyLmZsYWdzIHw9IEZvcmtlZDtcbiAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgfVxuXG4gICAgdmFyIGN1cnJlbnQgPSBuZXdGaWJlci5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgdmFyIG9sZEluZGV4ID0gY3VycmVudC5pbmRleDtcblxuICAgICAgaWYgKG9sZEluZGV4IDwgbGFzdFBsYWNlZEluZGV4KSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBtb3ZlLlxuICAgICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIGl0ZW0gY2FuIHN0YXkgaW4gcGxhY2UuXG4gICAgICAgIHJldHVybiBvbGRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBpcyBhbiBpbnNlcnRpb24uXG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgICByZXR1cm4gbGFzdFBsYWNlZEluZGV4O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlU2luZ2xlQ2hpbGQobmV3RmliZXIpIHtcbiAgICAvLyBUaGlzIGlzIHNpbXBsZXIgZm9yIHRoZSBzaW5nbGUgY2hpbGQgY2FzZS4gV2Ugb25seSBuZWVkIHRvIGRvIGFcbiAgICAvLyBwbGFjZW1lbnQgZm9yIGluc2VydGluZyBuZXcgY2hpbGRyZW4uXG4gICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld0ZpYmVyO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnQsIHRleHRDb250ZW50LCBsYW5lcykge1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQudGFnICE9PSBIb3N0VGV4dCkge1xuICAgICAgLy8gSW5zZXJ0XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVRleHQodGV4dENvbnRlbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlXG4gICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjdXJyZW50LCB0ZXh0Q29udGVudCk7XG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LCBsYW5lcykge1xuICAgIHZhciBlbGVtZW50VHlwZSA9IGVsZW1lbnQudHlwZTtcblxuICAgIGlmIChlbGVtZW50VHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LnByb3BzLmNoaWxkcmVuLCBsYW5lcywgZWxlbWVudC5rZXkpO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBpZiAoY3VycmVudC5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGUgfHwgKCAvLyBLZWVwIHRoaXMgY2hlY2sgaW5saW5lIHNvIGl0IG9ubHkgcnVucyBvbiB0aGUgZmFsc2UgcGF0aDpcbiAgICAgICBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoY3VycmVudCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgIC8vIFdlIG5lZWQgdG8gZG8gdGhpcyBhZnRlciB0aGUgSG90IFJlbG9hZGluZyBjaGVjayBhYm92ZSxcbiAgICAgIC8vIGJlY2F1c2UgaG90IHJlbG9hZGluZyBoYXMgZGlmZmVyZW50IHNlbWFudGljcyB0aGFuIHByb2QgYmVjYXVzZVxuICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgdHlwZW9mIGVsZW1lbnRUeXBlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50VHlwZSAhPT0gbnVsbCAmJiBlbGVtZW50VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFICYmIHJlc29sdmVMYXp5KGVsZW1lbnRUeXBlKSA9PT0gY3VycmVudC50eXBlKSB7XG4gICAgICAgIC8vIE1vdmUgYmFzZWQgb24gaW5kZXhcbiAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgZWxlbWVudC5wcm9wcyk7XG4gICAgICAgIGV4aXN0aW5nLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudCwgZWxlbWVudCk7XG4gICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBleGlzdGluZy5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XG4gICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBleGlzdGluZztcbiAgICAgIH1cbiAgICB9IC8vIEluc2VydFxuXG5cbiAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQoZWxlbWVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmVmID0gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50KTtcbiAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgIHJldHVybiBjcmVhdGVkO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50LCBwb3J0YWwsIGxhbmVzKSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEhvc3RQb3J0YWwgfHwgY3VycmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyAhPT0gcG9ydGFsLmNvbnRhaW5lckluZm8gfHwgY3VycmVudC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gIT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xuICAgICAgLy8gSW5zZXJ0XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChwb3J0YWwsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlXG4gICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjdXJyZW50LCBwb3J0YWwuY2hpbGRyZW4gfHwgW10pO1xuICAgICAgZXhpc3RpbmcucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIGN1cnJlbnQsIGZyYWdtZW50LCBsYW5lcywga2V5KSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEZyYWdtZW50KSB7XG4gICAgICAvLyBJbnNlcnRcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZnJhZ21lbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzLCBrZXkpO1xuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBjcmVhdGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGVcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIGZyYWdtZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJyAmJiBuZXdDaGlsZCAhPT0gJycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMuIElmIHRoZSBwcmV2aW91cyBub2RlIGlzIGltcGxpY2l0bHkga2V5ZWRcbiAgICAgIC8vIHdlIGNhbiBjb250aW51ZSB0byByZXBsYWNlIGl0IHdpdGhvdXQgYWJvcnRpbmcgZXZlbiBpZiBpdCBpcyBub3QgYSB0ZXh0XG4gICAgICAvLyBub2RlLlxuICAgICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21UZXh0KCcnICsgbmV3Q2hpbGQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX2NyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBsYW5lcyk7XG5cbiAgICAgICAgICAgIF9jcmVhdGVkLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgbnVsbCwgbmV3Q2hpbGQpO1xuICAgICAgICAgICAgX2NyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9jcmVhdGVkMiA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuXG4gICAgICAgICAgICBfY3JlYXRlZDIucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQyO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcGF5bG9hZCA9IG5ld0NoaWxkLl9wYXlsb2FkO1xuICAgICAgICAgICAgdmFyIGluaXQgPSBuZXdDaGlsZC5faW5pdDtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVDaGlsZChyZXR1cm5GaWJlciwgaW5pdChwYXlsb2FkKSwgbGFuZXMpO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIHZhciBfY3JlYXRlZDMgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMsIG51bGwpO1xuXG4gICAgICAgIF9jcmVhdGVkMy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgICAgcmV0dXJuIF9jcmVhdGVkMztcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBsYW5lcykge1xuICAgIC8vIFVwZGF0ZSB0aGUgZmliZXIgaWYgdGhlIGtleXMgbWF0Y2gsIG90aGVyd2lzZSByZXR1cm4gbnVsbC5cbiAgICB2YXIga2V5ID0gb2xkRmliZXIgIT09IG51bGwgPyBvbGRGaWJlci5rZXkgOiBudWxsO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgJiYgbmV3Q2hpbGQgIT09ICcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIC8vIFRleHQgbm9kZXMgZG9uJ3QgaGF2ZSBrZXlzLiBJZiB0aGUgcHJldmlvdXMgbm9kZSBpcyBpbXBsaWNpdGx5IGtleWVkXG4gICAgICAvLyB3ZSBjYW4gY29udGludWUgdG8gcmVwbGFjZSBpdCB3aXRob3V0IGFib3J0aW5nIGV2ZW4gaWYgaXQgaXMgbm90IGEgdGV4dFxuICAgICAgLy8gbm9kZS5cbiAgICAgIGlmIChrZXkgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1cGRhdGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgb2xkRmliZXIsICcnICsgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAobmV3Q2hpbGQua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKG5ld0NoaWxkLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgICAgIHJldHVybiB1cGRhdGVQb3J0YWwocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBwYXlsb2FkID0gbmV3Q2hpbGQuX3BheWxvYWQ7XG4gICAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0O1xuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBpbml0KHBheWxvYWQpLCBsYW5lcyk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaXNBcnJheShuZXdDaGlsZCkgfHwgZ2V0SXRlcmF0b3JGbihuZXdDaGlsZCkpIHtcbiAgICAgICAgaWYgKGtleSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGxhbmVzLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJvbU1hcChleGlzdGluZ0NoaWxkcmVuLCByZXR1cm5GaWJlciwgbmV3SWR4LCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJyAmJiBuZXdDaGlsZCAhPT0gJycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMsIHNvIHdlIG5laXRoZXIgaGF2ZSB0byBjaGVjayB0aGUgb2xkIG5vclxuICAgICAgLy8gbmV3IG5vZGUgZm9yIHRoZSBrZXkuIElmIGJvdGggYXJlIHRleHQgbm9kZXMsIHRoZXkgbWF0Y2guXG4gICAgICB2YXIgbWF0Y2hlZEZpYmVyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3SWR4KSB8fCBudWxsO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRleHROb2RlKHJldHVybkZpYmVyLCBtYXRjaGVkRmliZXIsICcnICsgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX21hdGNoZWRGaWJlciA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0NoaWxkLmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IG5ld0NoaWxkLmtleSkgfHwgbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9tYXRjaGVkRmliZXIyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3Q2hpbGQua2V5ID09PSBudWxsID8gbmV3SWR4IDogbmV3Q2hpbGQua2V5KSB8fCBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyMiwgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0O1xuICAgICAgICAgIHJldHVybiB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIGluaXQocGF5bG9hZCksIGxhbmVzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIHZhciBfbWF0Y2hlZEZpYmVyMyA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0lkeCkgfHwgbnVsbDtcblxuICAgICAgICByZXR1cm4gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIzLCBuZXdDaGlsZCwgbGFuZXMsIG51bGwpO1xuICAgICAgfVxuXG4gICAgICB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHdhcm5PbkZ1bmN0aW9uVHlwZShyZXR1cm5GaWJlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIFdhcm5zIGlmIHRoZXJlIGlzIGEgZHVwbGljYXRlIG9yIG1pc3Npbmcga2V5XG4gICAqL1xuXG5cbiAgZnVuY3Rpb24gd2Fybk9uSW52YWxpZEtleShjaGlsZCwga25vd25LZXlzLCByZXR1cm5GaWJlcikge1xuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGQgIT09ICdvYmplY3QnIHx8IGNoaWxkID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBrbm93bktleXM7XG4gICAgICB9XG5cbiAgICAgIHN3aXRjaCAoY2hpbGQuJCR0eXBlb2YpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgd2FybkZvck1pc3NpbmdLZXkoY2hpbGQsIHJldHVybkZpYmVyKTtcbiAgICAgICAgICB2YXIga2V5ID0gY2hpbGQua2V5O1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoa25vd25LZXlzID09PSBudWxsKSB7XG4gICAgICAgICAgICBrbm93bktleXMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICBrbm93bktleXMuYWRkKGtleSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWtub3duS2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgICAga25vd25LZXlzLmFkZChrZXkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXJyb3IoJ0VuY291bnRlcmVkIHR3byBjaGlsZHJlbiB3aXRoIHRoZSBzYW1lIGtleSwgYCVzYC4gJyArICdLZXlzIHNob3VsZCBiZSB1bmlxdWUgc28gdGhhdCBjb21wb25lbnRzIG1haW50YWluIHRoZWlyIGlkZW50aXR5ICcgKyAnYWNyb3NzIHVwZGF0ZXMuIE5vbi11bmlxdWUga2V5cyBtYXkgY2F1c2UgY2hpbGRyZW4gdG8gYmUgJyArICdkdXBsaWNhdGVkIGFuZC9vciBvbWl0dGVkIOKAlCB0aGUgYmVoYXZpb3IgaXMgdW5zdXBwb3J0ZWQgYW5kICcgKyAnY291bGQgY2hhbmdlIGluIGEgZnV0dXJlIHZlcnNpb24uJywga2V5KTtcblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgIHZhciBwYXlsb2FkID0gY2hpbGQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBjaGlsZC5faW5pdDtcbiAgICAgICAgICB3YXJuT25JbnZhbGlkS2V5KGluaXQocGF5bG9hZCksIGtub3duS2V5cywgcmV0dXJuRmliZXIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBrbm93bktleXM7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkFycmF5KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW4sIGxhbmVzKSB7XG4gICAgLy8gVGhpcyBhbGdvcml0aG0gY2FuJ3Qgb3B0aW1pemUgYnkgc2VhcmNoaW5nIGZyb20gYm90aCBlbmRzIHNpbmNlIHdlXG4gICAgLy8gZG9uJ3QgaGF2ZSBiYWNrcG9pbnRlcnMgb24gZmliZXJzLiBJJ20gdHJ5aW5nIHRvIHNlZSBob3cgZmFyIHdlIGNhbiBnZXRcbiAgICAvLyB3aXRoIHRoYXQgbW9kZWwuIElmIGl0IGVuZHMgdXAgbm90IGJlaW5nIHdvcnRoIHRoZSB0cmFkZW9mZnMsIHdlIGNhblxuICAgIC8vIGFkZCBpdCBsYXRlci5cbiAgICAvLyBFdmVuIHdpdGggYSB0d28gZW5kZWQgb3B0aW1pemF0aW9uLCB3ZSdkIHdhbnQgdG8gb3B0aW1pemUgZm9yIHRoZSBjYXNlXG4gICAgLy8gd2hlcmUgdGhlcmUgYXJlIGZldyBjaGFuZ2VzIGFuZCBicnV0ZSBmb3JjZSB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mXG4gICAgLy8gZ29pbmcgZm9yIHRoZSBNYXAuIEl0J2QgbGlrZSB0byBleHBsb3JlIGhpdHRpbmcgdGhhdCBwYXRoIGZpcnN0IGluXG4gICAgLy8gZm9yd2FyZC1vbmx5IG1vZGUgYW5kIG9ubHkgZ28gZm9yIHRoZSBNYXAgb25jZSB3ZSBub3RpY2UgdGhhdCB3ZSBuZWVkXG4gICAgLy8gbG90cyBvZiBsb29rIGFoZWFkLiBUaGlzIGRvZXNuJ3QgaGFuZGxlIHJldmVyc2FsIGFzIHdlbGwgYXMgdHdvIGVuZGVkXG4gICAgLy8gc2VhcmNoIGJ1dCB0aGF0J3MgdW51c3VhbC4gQmVzaWRlcywgZm9yIHRoZSB0d28gZW5kZWQgb3B0aW1pemF0aW9uIHRvXG4gICAgLy8gd29yayBvbiBJdGVyYWJsZXMsIHdlJ2QgbmVlZCB0byBjb3B5IHRoZSB3aG9sZSBzZXQuXG4gICAgLy8gSW4gdGhpcyBmaXJzdCBpdGVyYXRpb24sIHdlJ2xsIGp1c3QgbGl2ZSB3aXRoIGhpdHRpbmcgdGhlIGJhZCBjYXNlXG4gICAgLy8gKGFkZGluZyBldmVyeXRoaW5nIHRvIGEgTWFwKSBpbiBmb3IgZXZlcnkgaW5zZXJ0L21vdmUuXG4gICAgLy8gSWYgeW91IGNoYW5nZSB0aGlzIGNvZGUsIGFsc28gdXBkYXRlIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IoKSB3aGljaFxuICAgIC8vIHVzZXMgdGhlIHNhbWUgYWxnb3JpdGhtLlxuICAgIHtcbiAgICAgIC8vIEZpcnN0LCB2YWxpZGF0ZSBrZXlzLlxuICAgICAgdmFyIGtub3duS2V5cyA9IG51bGw7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoaWxkID0gbmV3Q2hpbGRyZW5baV07XG4gICAgICAgIGtub3duS2V5cyA9IHdhcm5PbkludmFsaWRLZXkoY2hpbGQsIGtub3duS2V5cywgcmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByZXN1bHRpbmdGaXJzdENoaWxkID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNOZXdGaWJlciA9IG51bGw7XG4gICAgdmFyIG9sZEZpYmVyID0gY3VycmVudEZpcnN0Q2hpbGQ7XG4gICAgdmFyIGxhc3RQbGFjZWRJbmRleCA9IDA7XG4gICAgdmFyIG5ld0lkeCA9IDA7XG4gICAgdmFyIG5leHRPbGRGaWJlciA9IG51bGw7XG5cbiAgICBmb3IgKDsgb2xkRmliZXIgIT09IG51bGwgJiYgbmV3SWR4IDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBuZXdJZHgrKykge1xuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyO1xuICAgICAgICBvbGRGaWJlciA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlci5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICB2YXIgbmV3RmliZXIgPSB1cGRhdGVTbG90KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICBpZiAobmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBicmVha3Mgb24gZW1wdHkgc2xvdHMgbGlrZSBudWxsIGNoaWxkcmVuLiBUaGF0J3NcbiAgICAgICAgLy8gdW5mb3J0dW5hdGUgYmVjYXVzZSBpdCB0cmlnZ2VycyB0aGUgc2xvdyBwYXRoIGFsbCB0aGUgdGltZS4gV2UgbmVlZFxuICAgICAgICAvLyBhIGJldHRlciB3YXkgdG8gY29tbXVuaWNhdGUgd2hldGhlciB0aGlzIHdhcyBhIG1pc3Mgb3IgbnVsbCxcbiAgICAgICAgLy8gYm9vbGVhbiwgdW5kZWZpbmVkLCBldGMuXG4gICAgICAgIGlmIChvbGRGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAgIGlmIChvbGRGaWJlciAmJiBuZXdGaWJlci5hbHRlcm5hdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSBtYXRjaGVkIHRoZSBzbG90LCBidXQgd2UgZGlkbid0IHJldXNlIHRoZSBleGlzdGluZyBmaWJlciwgc28gd2VcbiAgICAgICAgICAvLyBuZWVkIHRvIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2hpbGQuXG4gICAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIG9sZEZpYmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKG5ld0ZpYmVyLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIC8vIFRPRE86IE1vdmUgb3V0IG9mIHRoZSBsb29wLiBUaGlzIG9ubHkgaGFwcGVucyBmb3IgdGhlIGZpcnN0IHJ1bi5cbiAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG5ld0ZpYmVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVE9ETzogRGVmZXIgc2libGluZ3MgaWYgd2UncmUgbm90IGF0IHRoZSByaWdodCBpbmRleCBmb3IgdGhpcyBzbG90LlxuICAgICAgICAvLyBJLmUuIGlmIHdlIGhhZCBudWxsIHZhbHVlcyBiZWZvcmUsIHRoZW4gd2Ugd2FudCB0byBkZWZlciB0aGlzXG4gICAgICAgIC8vIGZvciBlYWNoIG51bGwgdmFsdWUuIEhvd2V2ZXIsIHdlIGFsc28gZG9uJ3Qgd2FudCB0byBjYWxsIHVwZGF0ZVNsb3RcbiAgICAgICAgLy8gd2l0aCB0aGUgcHJldmlvdXMgb25lLlxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBuZXdGaWJlcjtcbiAgICAgIH1cblxuICAgICAgcHJldmlvdXNOZXdGaWJlciA9IG5ld0ZpYmVyO1xuICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgfVxuXG4gICAgaWYgKG5ld0lkeCA9PT0gbmV3Q2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG5cbiAgICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIG51bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cbiAgICAgIGZvciAoOyBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XG4gICAgICAgIHZhciBfbmV3RmliZXIgPSBjcmVhdGVDaGlsZChyZXR1cm5GaWJlciwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICAgIGlmIChfbmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUT0RPOiBNb3ZlIG91dCBvZiB0aGUgbG9vcC4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIHRoZSBmaXJzdCBydW4uXG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBfbmV3RmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSkge1xuICAgICAgICB2YXIgX251bWJlck9mRm9ya3MgPSBuZXdJZHg7XG4gICAgICAgIHB1c2hUcmVlRm9yayhyZXR1cm5GaWJlciwgX251bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxuXG5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cblxuICAgIGZvciAoOyBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XG4gICAgICB2YXIgX25ld0ZpYmVyMiA9IHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICBpZiAoX25ld0ZpYmVyMiAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgICAgIGlmIChfbmV3RmliZXIyLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gVGhlIG5ldyBmaWJlciBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MsIGJ1dCBpZiB0aGVyZSBleGlzdHMgYVxuICAgICAgICAgICAgLy8gY3VycmVudCwgdGhhdCBtZWFucyB0aGF0IHdlIHJldXNlZCB0aGUgZmliZXIuIFdlIG5lZWQgdG8gZGVsZXRlXG4gICAgICAgICAgICAvLyBpdCBmcm9tIHRoZSBjaGlsZCBsaXN0IHNvIHRoYXQgd2UgZG9uJ3QgYWRkIGl0IHRvIHRoZSBkZWxldGlvblxuICAgICAgICAgICAgLy8gbGlzdC5cbiAgICAgICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZGVsZXRlKF9uZXdGaWJlcjIua2V5ID09PSBudWxsID8gbmV3SWR4IDogX25ld0ZpYmVyMi5rZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMiwgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXIyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBBbnkgZXhpc3RpbmcgY2hpbGRyZW4gdGhhdCB3ZXJlbid0IGNvbnN1bWVkIGFib3ZlIHdlcmUgZGVsZXRlZC4gV2UgbmVlZFxuICAgICAgLy8gdG8gYWRkIHRoZW0gdG8gdGhlIGRlbGV0aW9uIGxpc3QuXG4gICAgICBleGlzdGluZ0NoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgIHJldHVybiBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIHZhciBfbnVtYmVyT2ZGb3JrczIgPSBuZXdJZHg7XG4gICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIF9udW1iZXJPZkZvcmtzMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkl0ZXJhdG9yKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW5JdGVyYWJsZSwgbGFuZXMpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBzYW1lIGltcGxlbWVudGF0aW9uIGFzIHJlY29uY2lsZUNoaWxkcmVuQXJyYXkoKSxcbiAgICAvLyBidXQgdXNpbmcgdGhlIGl0ZXJhdG9yIGluc3RlYWQuXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIG9iamVjdCBpcyBub3QgYW4gaXRlcmFibGUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiAnICsgJ1JlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHJlbmRlcmluZyBHZW5lcmF0b3JzIGJlY2F1c2UgaXQncyBhIG11dGF0aW9uLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTI5OTVcbiAgICAgIGlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgdG9TdHJpbmdUYWdcbiAgICAgIG5ld0NoaWxkcmVuSXRlcmFibGVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9PT0gJ0dlbmVyYXRvcicpIHtcbiAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRHZW5lcmF0b3JzKSB7XG4gICAgICAgICAgZXJyb3IoJ1VzaW5nIEdlbmVyYXRvcnMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgKyAndW5leHBlY3RlZCByZXN1bHRzIGJlY2F1c2UgZW51bWVyYXRpbmcgYSBnZW5lcmF0b3IgbXV0YXRlcyBpdC4gJyArICdZb3UgbWF5IGNvbnZlcnQgaXQgdG8gYW4gYXJyYXkgd2l0aCBgQXJyYXkuZnJvbSgpYCBvciB0aGUgJyArICdgWy4uLnNwcmVhZF1gIG9wZXJhdG9yIGJlZm9yZSByZW5kZXJpbmcuIEtlZXAgaW4gbWluZCAnICsgJ3lvdSBtaWdodCBuZWVkIHRvIHBvbHlmaWxsIHRoZXNlIGZlYXR1cmVzIGZvciBvbGRlciBicm93c2Vycy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpZFdhcm5BYm91dEdlbmVyYXRvcnMgPSB0cnVlO1xuICAgICAgfSAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cblxuXG4gICAgICBpZiAobmV3Q2hpbGRyZW5JdGVyYWJsZS5lbnRyaWVzID09PSBpdGVyYXRvckZuKSB7XG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TWFwcykge1xuICAgICAgICAgIGVycm9yKCdVc2luZyBNYXBzIGFzIGNoaWxkcmVuIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnVXNlIGFuIGFycmF5IG9mIGtleWVkIFJlYWN0RWxlbWVudHMgaW5zdGVhZC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpZFdhcm5BYm91dE1hcHMgPSB0cnVlO1xuICAgICAgfSAvLyBGaXJzdCwgdmFsaWRhdGUga2V5cy5cbiAgICAgIC8vIFdlJ2xsIGdldCBhIGRpZmZlcmVudCBpdGVyYXRvciBsYXRlciBmb3IgdGhlIG1haW4gcGFzcy5cblxuXG4gICAgICB2YXIgX25ld0NoaWxkcmVuID0gaXRlcmF0b3JGbi5jYWxsKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xuXG4gICAgICBpZiAoX25ld0NoaWxkcmVuKSB7XG4gICAgICAgIHZhciBrbm93bktleXMgPSBudWxsO1xuXG4gICAgICAgIHZhciBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCk7XG5cbiAgICAgICAgZm9yICg7ICFfc3RlcC5kb25lOyBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCkpIHtcbiAgICAgICAgICB2YXIgY2hpbGQgPSBfc3RlcC52YWx1ZTtcbiAgICAgICAgICBrbm93bktleXMgPSB3YXJuT25JbnZhbGlkS2V5KGNoaWxkLCBrbm93bktleXMsIHJldHVybkZpYmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBuZXdDaGlsZHJlbiA9IGl0ZXJhdG9yRm4uY2FsbChuZXdDaGlsZHJlbkl0ZXJhYmxlKTtcblxuICAgIGlmIChuZXdDaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIGl0ZXJhYmxlIG9iamVjdCBwcm92aWRlZCBubyBpdGVyYXRvci4nKTtcbiAgICB9XG5cbiAgICB2YXIgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG51bGw7XG4gICAgdmFyIHByZXZpb3VzTmV3RmliZXIgPSBudWxsO1xuICAgIHZhciBvbGRGaWJlciA9IGN1cnJlbnRGaXJzdENoaWxkO1xuICAgIHZhciBsYXN0UGxhY2VkSW5kZXggPSAwO1xuICAgIHZhciBuZXdJZHggPSAwO1xuICAgIHZhciBuZXh0T2xkRmliZXIgPSBudWxsO1xuICAgIHZhciBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpO1xuXG4gICAgZm9yICg7IG9sZEZpYmVyICE9PSBudWxsICYmICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XG4gICAgICBpZiAob2xkRmliZXIuaW5kZXggPiBuZXdJZHgpIHtcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXI7XG4gICAgICAgIG9sZEZpYmVyID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXdGaWJlciA9IHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBzdGVwLnZhbHVlLCBsYW5lcyk7XG5cbiAgICAgIGlmIChuZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGJyZWFrcyBvbiBlbXB0eSBzbG90cyBsaWtlIG51bGwgY2hpbGRyZW4uIFRoYXQnc1xuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXG4gICAgICAgIC8vIGEgYmV0dGVyIHdheSB0byBjb21tdW5pY2F0ZSB3aGV0aGVyIHRoaXMgd2FzIGEgbWlzcyBvciBudWxsLFxuICAgICAgICAvLyBib29sZWFuLCB1bmRlZmluZWQsIGV0Yy5cbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgaWYgKG9sZEZpYmVyICYmIG5ld0ZpYmVyLmFsdGVybmF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxuICAgICAgICAgIC8vIG5lZWQgdG8gZGVsZXRlIHRoZSBleGlzdGluZyBjaGlsZC5cbiAgICAgICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgb2xkRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gbmV3RmliZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXG4gICAgICAgIC8vIEkuZS4gaWYgd2UgaGFkIG51bGwgdmFsdWVzIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIGRlZmVyIHRoaXNcbiAgICAgICAgLy8gZm9yIGVhY2ggbnVsbCB2YWx1ZS4gSG93ZXZlciwgd2UgYWxzbyBkb24ndCB3YW50IHRvIGNhbGwgdXBkYXRlU2xvdFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IG5ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBwcmV2aW91c05ld0ZpYmVyID0gbmV3RmliZXI7XG4gICAgICBvbGRGaWJlciA9IG5leHRPbGRGaWJlcjtcbiAgICB9XG5cbiAgICBpZiAoc3RlcC5kb25lKSB7XG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG5cbiAgICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIG51bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cbiAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgICB2YXIgX25ld0ZpYmVyMyA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBzdGVwLnZhbHVlLCBsYW5lcyk7XG5cbiAgICAgICAgaWYgKF9uZXdGaWJlcjMgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMywgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXIzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjM7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyMztcbiAgICAgIH1cblxuICAgICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgICAgdmFyIF9udW1iZXJPZkZvcmtzMyA9IG5ld0lkeDtcbiAgICAgICAgcHVzaFRyZWVGb3JrKHJldHVybkZpYmVyLCBfbnVtYmVyT2ZGb3JrczMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxuXG5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cblxuICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgdmFyIF9uZXdGaWJlcjQgPSB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIHN0ZXAudmFsdWUsIGxhbmVzKTtcblxuICAgICAgaWYgKF9uZXdGaWJlcjQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgICBpZiAoX25ld0ZpYmVyNC5hbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIFRoZSBuZXcgZmliZXIgaXMgYSB3b3JrIGluIHByb2dyZXNzLCBidXQgaWYgdGhlcmUgZXhpc3RzIGFcbiAgICAgICAgICAgIC8vIGN1cnJlbnQsIHRoYXQgbWVhbnMgdGhhdCB3ZSByZXVzZWQgdGhlIGZpYmVyLiBXZSBuZWVkIHRvIGRlbGV0ZVxuICAgICAgICAgICAgLy8gaXQgZnJvbSB0aGUgY2hpbGQgbGlzdCBzbyB0aGF0IHdlIGRvbid0IGFkZCBpdCB0byB0aGUgZGVsZXRpb25cbiAgICAgICAgICAgIC8vIGxpc3QuXG4gICAgICAgICAgICBleGlzdGluZ0NoaWxkcmVuLmRlbGV0ZShfbmV3RmliZXI0LmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IF9uZXdGaWJlcjQua2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlcjQsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXI0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjQ7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgLy8gQW55IGV4aXN0aW5nIGNoaWxkcmVuIHRoYXQgd2VyZW4ndCBjb25zdW1lZCBhYm92ZSB3ZXJlIGRlbGV0ZWQuIFdlIG5lZWRcbiAgICAgIC8vIHRvIGFkZCB0aGVtIHRvIHRoZSBkZWxldGlvbiBsaXN0LlxuICAgICAgZXhpc3RpbmdDaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICByZXR1cm4gZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICB2YXIgX251bWJlck9mRm9ya3M0ID0gbmV3SWR4O1xuICAgICAgcHVzaFRyZWVGb3JrKHJldHVybkZpYmVyLCBfbnVtYmVyT2ZGb3JrczQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlU2luZ2xlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCB0ZXh0Q29udGVudCwgbGFuZXMpIHtcbiAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGtleXMgb24gdGV4dCBub2RlcyBzaW5jZSB3ZSBkb24ndCBoYXZlIGFcbiAgICAvLyB3YXkgdG8gZGVmaW5lIHRoZW0uXG4gICAgaWYgKGN1cnJlbnRGaXJzdENoaWxkICE9PSBudWxsICYmIGN1cnJlbnRGaXJzdENoaWxkLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBleGlzdGluZyBub2RlIHNvIGxldCdzIGp1c3QgdXBkYXRlIGl0IGFuZCBkZWxldGVcbiAgICAgIC8vIHRoZSByZXN0LlxuICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLnNpYmxpbmcpO1xuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudEZpcnN0Q2hpbGQsIHRleHRDb250ZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH0gLy8gVGhlIGV4aXN0aW5nIGZpcnN0IGNoaWxkIGlzIG5vdCBhIHRleHQgbm9kZSBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmVcbiAgICAvLyBhbmQgZGVsZXRlIHRoZSBleGlzdGluZyBvbmVzLlxuXG5cbiAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpO1xuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tVGV4dCh0ZXh0Q29udGVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgcmV0dXJuIGNyZWF0ZWQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgZWxlbWVudCwgbGFuZXMpIHtcbiAgICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSBlbGVtZW50LnR5cGU7XG5cbiAgICAgICAgaWYgKGVsZW1lbnRUeXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLnRhZyA9PT0gRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcbiAgICAgICAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcbiAgICAgICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoY2hpbGQuZWxlbWVudFR5cGUgPT09IGVsZW1lbnRUeXBlIHx8ICggLy8gS2VlcCB0aGlzIGNoZWNrIGlubGluZSBzbyBpdCBvbmx5IHJ1bnMgb24gdGhlIGZhbHNlIHBhdGg6XG4gICAgICAgICAgIGlzQ29tcGF0aWJsZUZhbWlseUZvckhvdFJlbG9hZGluZyhjaGlsZCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRvIHRoaXMgYWZ0ZXIgdGhlIEhvdCBSZWxvYWRpbmcgY2hlY2sgYWJvdmUsXG4gICAgICAgICAgLy8gYmVjYXVzZSBob3QgcmVsb2FkaW5nIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIHRoYW4gcHJvZCBiZWNhdXNlXG4gICAgICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgICAgIHR5cGVvZiBlbGVtZW50VHlwZSA9PT0gJ29iamVjdCcgJiYgZWxlbWVudFR5cGUgIT09IG51bGwgJiYgZWxlbWVudFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSAmJiByZXNvbHZlTGF6eShlbGVtZW50VHlwZSkgPT09IGNoaWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcblxuICAgICAgICAgICAgdmFyIF9leGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzKTtcblxuICAgICAgICAgICAgX2V4aXN0aW5nLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY2hpbGQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgX2V4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9leGlzdGluZy5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XG4gICAgICAgICAgICAgIF9leGlzdGluZy5fZGVidWdPd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gX2V4aXN0aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBEaWRuJ3QgbWF0Y2guXG5cblxuICAgICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC50eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGVsZW1lbnQucHJvcHMuY2hpbGRyZW4sIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzLCBlbGVtZW50LmtleSk7XG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGNyZWF0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY3JlYXRlZDQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KGVsZW1lbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcblxuICAgICAgX2NyZWF0ZWQ0LnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIGVsZW1lbnQpO1xuICAgICAgX2NyZWF0ZWQ0LnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIF9jcmVhdGVkNDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVQb3J0YWwocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBwb3J0YWwsIGxhbmVzKSB7XG4gICAgdmFyIGtleSA9IHBvcnRhbC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICBpZiAoY2hpbGQudGFnID09PSBIb3N0UG9ydGFsICYmIGNoaWxkLnN0YXRlTm9kZS5jb250YWluZXJJbmZvID09PSBwb3J0YWwuY29udGFpbmVySW5mbyAmJiBjaGlsZC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gPT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xuICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcbiAgICAgICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjaGlsZCwgcG9ydGFsLmNoaWxkcmVuIHx8IFtdKTtcbiAgICAgICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH1cblxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cblxuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgcmV0dXJuIGNyZWF0ZWQ7XG4gIH0gLy8gVGhpcyBBUEkgd2lsbCB0YWcgdGhlIGNoaWxkcmVuIHdpdGggdGhlIHNpZGUtZWZmZWN0IG9mIHRoZSByZWNvbmNpbGlhdGlvblxuICAvLyBpdHNlbGYuIFRoZXkgd2lsbCBiZSBhZGRlZCB0byB0aGUgc2lkZS1lZmZlY3QgbGlzdCBhcyB3ZSBwYXNzIHRocm91Z2ggdGhlXG4gIC8vIGNoaWxkcmVuIGFuZCB0aGUgcGFyZW50LlxuXG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlQ2hpbGRGaWJlcnMocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG5vdCByZWN1cnNpdmUuXG4gICAgLy8gSWYgdGhlIHRvcCBsZXZlbCBpdGVtIGlzIGFuIGFycmF5LCB3ZSB0cmVhdCBpdCBhcyBhIHNldCBvZiBjaGlsZHJlbixcbiAgICAvLyBub3QgYXMgYSBmcmFnbWVudC4gTmVzdGVkIGFycmF5cyBvbiB0aGUgb3RoZXIgaGFuZCB3aWxsIGJlIHRyZWF0ZWQgYXNcbiAgICAvLyBmcmFnbWVudCBub2Rlcy4gUmVjdXJzaW9uIGhhcHBlbnMgYXQgdGhlIG5vcm1hbCBmbG93LlxuICAgIC8vIEhhbmRsZSB0b3AgbGV2ZWwgdW5rZXllZCBmcmFnbWVudHMgYXMgaWYgdGhleSB3ZXJlIGFycmF5cy5cbiAgICAvLyBUaGlzIGxlYWRzIHRvIGFuIGFtYmlndWl0eSBiZXR3ZWVuIDw+e1suLi5dfTwvPiBhbmQgPD4uLi48Lz4uXG4gICAgLy8gV2UgdHJlYXQgdGhlIGFtYmlndW91cyBjYXNlcyBhYm92ZSB0aGUgc2FtZS5cbiAgICB2YXIgaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCA9IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ29iamVjdCcgJiYgbmV3Q2hpbGQgIT09IG51bGwgJiYgbmV3Q2hpbGQudHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSAmJiBuZXdDaGlsZC5rZXkgPT09IG51bGw7XG5cbiAgICBpZiAoaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCkge1xuICAgICAgbmV3Q2hpbGQgPSBuZXdDaGlsZC5wcm9wcy5jaGlsZHJlbjtcbiAgICB9IC8vIEhhbmRsZSBvYmplY3QgdHlwZXNcblxuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ29iamVjdCcgJiYgbmV3Q2hpbGQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAobmV3Q2hpbGQuJCR0eXBlb2YpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlRWxlbWVudChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcykpO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGQsIGxhbmVzKSk7XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0OyAvLyBUT0RPOiBUaGlzIGZ1bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIG5vbi1yZWN1cnNpdmUuXG5cbiAgICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnMocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBpbml0KHBheWxvYWQpLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0FycmF5KG5ld0NoaWxkKSkge1xuICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5BcnJheShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChnZXRJdGVyYXRvckZuKG5ld0NoaWxkKSkge1xuICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5JdGVyYXRvcihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIHRocm93T25JbnZhbGlkT2JqZWN0VHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnICYmIG5ld0NoaWxkICE9PSAnJyB8fCB0eXBlb2YgbmV3Q2hpbGQgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gcGxhY2VTaW5nbGVDaGlsZChyZWNvbmNpbGVTaW5nbGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsICcnICsgbmV3Q2hpbGQsIGxhbmVzKSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH0gLy8gUmVtYWluaW5nIGNhc2VzIGFyZSBhbGwgdHJlYXRlZCBhcyBlbXB0eS5cblxuXG4gICAgcmV0dXJuIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCk7XG4gIH1cblxuICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnM7XG59XG5cbnZhciByZWNvbmNpbGVDaGlsZEZpYmVycyA9IENoaWxkUmVjb25jaWxlcih0cnVlKTtcbnZhciBtb3VudENoaWxkRmliZXJzID0gQ2hpbGRSZWNvbmNpbGVyKGZhbHNlKTtcbmZ1bmN0aW9uIGNsb25lQ2hpbGRGaWJlcnMoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgIT09IGN1cnJlbnQuY2hpbGQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc3VtaW5nIHdvcmsgbm90IHlldCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9PT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBjdXJyZW50Q2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgdmFyIG5ld0NoaWxkID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcbiAgbmV3Q2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG5cbiAgd2hpbGUgKGN1cnJlbnRDaGlsZC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgY3VycmVudENoaWxkID0gY3VycmVudENoaWxkLnNpYmxpbmc7XG4gICAgbmV3Q2hpbGQgPSBuZXdDaGlsZC5zaWJsaW5nID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgICBuZXdDaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIG5ld0NoaWxkLnNpYmxpbmcgPSBudWxsO1xufSAvLyBSZXNldCBhIHdvcmtJblByb2dyZXNzIGNoaWxkIHNldCB0byBwcmVwYXJlIGl0IGZvciBhIHNlY29uZCBwYXNzLlxuXG5mdW5jdGlvbiByZXNldENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBsYW5lcykge1xuICB2YXIgY2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICByZXNldFdvcmtJblByb2dyZXNzKGNoaWxkLCBsYW5lcyk7XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbnZhciBOT19DT05URVhUID0ge307XG52YXIgY29udGV4dFN0YWNrQ3Vyc29yJDEgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG52YXIgY29udGV4dEZpYmVyU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG52YXIgcm9vdEluc3RhbmNlU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG5cbmZ1bmN0aW9uIHJlcXVpcmVkQ29udGV4dChjKSB7XG4gIGlmIChjID09PSBOT19DT05URVhUKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBob3N0IGNvbnRleHQgdG8gZXhpc3QuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyAnICsgJ2luIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHJldHVybiBjO1xufVxuXG5mdW5jdGlvbiBnZXRSb290SG9zdENvbnRhaW5lcigpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgcmV0dXJuIHJvb3RJbnN0YW5jZTtcbn1cblxuZnVuY3Rpb24gcHVzaEhvc3RDb250YWluZXIoZmliZXIsIG5leHRSb290SW5zdGFuY2UpIHtcbiAgLy8gUHVzaCBjdXJyZW50IHJvb3QgaW5zdGFuY2Ugb250byB0aGUgc3RhY2s7XG4gIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHJlc2V0IHJvb3Qgd2hlbiBwb3J0YWxzIGFyZSBwb3BwZWQuXG4gIHB1c2gocm9vdEluc3RhbmNlU3RhY2tDdXJzb3IsIG5leHRSb290SW5zdGFuY2UsIGZpYmVyKTsgLy8gVHJhY2sgdGhlIGNvbnRleHQgYW5kIHRoZSBGaWJlciB0aGF0IHByb3ZpZGVkIGl0LlxuICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gcG9wIG9ubHkgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG5cbiAgcHVzaChjb250ZXh0RmliZXJTdGFja0N1cnNvciwgZmliZXIsIGZpYmVyKTsgLy8gRmluYWxseSwgd2UgbmVlZCB0byBwdXNoIHRoZSBob3N0IGNvbnRleHQgdG8gdGhlIHN0YWNrLlxuICAvLyBIb3dldmVyLCB3ZSBjYW4ndCBqdXN0IGNhbGwgZ2V0Um9vdEhvc3RDb250ZXh0KCkgYW5kIHB1c2ggaXQgYmVjYXVzZVxuICAvLyB3ZSdkIGhhdmUgYSBkaWZmZXJlbnQgbnVtYmVyIG9mIGVudHJpZXMgb24gdGhlIHN0YWNrIGRlcGVuZGluZyBvblxuICAvLyB3aGV0aGVyIGdldFJvb3RIb3N0Q29udGV4dCgpIHRocm93cyBzb21ld2hlcmUgaW4gcmVuZGVyZXIgY29kZSBvciBub3QuXG4gIC8vIFNvIHdlIHB1c2ggYW4gZW1wdHkgdmFsdWUgZmlyc3QuIFRoaXMgbGV0cyB1cyBzYWZlbHkgdW53aW5kIG9uIGVycm9ycy5cblxuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBOT19DT05URVhULCBmaWJlcik7XG4gIHZhciBuZXh0Um9vdENvbnRleHQgPSBnZXRSb290SG9zdENvbnRleHQobmV4dFJvb3RJbnN0YW5jZSk7IC8vIE5vdyB0aGF0IHdlIGtub3cgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IHRocm93LCByZXBsYWNlIGl0LlxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBuZXh0Um9vdENvbnRleHQsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gcG9wSG9zdENvbnRhaW5lcihmaWJlcikge1xuICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcbiAgcG9wKGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIHBvcChyb290SW5zdGFuY2VTdGFja0N1cnNvciwgZmliZXIpO1xufVxuXG5mdW5jdGlvbiBnZXRIb3N0Q29udGV4dCgpIHtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdENvbnRleHQoZmliZXIpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHZhciBuZXh0Q29udGV4dCA9IGdldENoaWxkSG9zdENvbnRleHQoY29udGV4dCwgZmliZXIudHlwZSk7IC8vIERvbid0IHB1c2ggdGhpcyBGaWJlcidzIGNvbnRleHQgdW5sZXNzIGl0J3MgdW5pcXVlLlxuXG4gIGlmIChjb250ZXh0ID09PSBuZXh0Q29udGV4dCkge1xuICAgIHJldHVybjtcbiAgfSAvLyBUcmFjayB0aGUgY29udGV4dCBhbmQgdGhlIEZpYmVyIHRoYXQgcHJvdmlkZWQgaXQuXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cblxuXG4gIHB1c2goY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyLCBmaWJlcik7XG4gIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yJDEsIG5leHRDb250ZXh0LCBmaWJlcik7XG59XG5cbmZ1bmN0aW9uIHBvcEhvc3RDb250ZXh0KGZpYmVyKSB7XG4gIC8vIERvIG5vdCBwb3AgdW5sZXNzIHRoaXMgRmliZXIgcHJvdmlkZWQgdGhlIGN1cnJlbnQgY29udGV4dC5cbiAgLy8gcHVzaEhvc3RDb250ZXh0KCkgb25seSBwdXNoZXMgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG4gIGlmIChjb250ZXh0RmliZXJTdGFja0N1cnNvci5jdXJyZW50ICE9PSBmaWJlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwb3AoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxudmFyIERlZmF1bHRTdXNwZW5zZUNvbnRleHQgPSAwOyAvLyBUaGUgU3VzcGVuc2UgQ29udGV4dCBpcyBzcGxpdCBpbnRvIHR3byBwYXJ0cy4gVGhlIGxvd2VyIGJpdHMgaXNcbi8vIGluaGVyaXRlZCBkZWVwbHkgZG93biB0aGUgc3VidHJlZS4gVGhlIHVwcGVyIGJpdHMgb25seSBhZmZlY3Rcbi8vIHRoaXMgaW1tZWRpYXRlIHN1c3BlbnNlIGJvdW5kYXJ5IGFuZCBnZXRzIHJlc2V0IGVhY2ggbmV3XG4vLyBib3VuZGFyeSBvciBzdXNwZW5zZSBsaXN0LlxuXG52YXIgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgPSAxOyAvLyBTdWJ0cmVlIEZsYWdzOlxuLy8gSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0IGluZGljYXRlcyB0aGF0IG9uZSBvZiBvdXIgcGFyZW50IFN1c3BlbnNlXG4vLyBib3VuZGFyaWVzIGlzIG5vdCBjdXJyZW50bHkgc2hvd2luZyB2aXNpYmxlIG1haW4gY29udGVudC5cbi8vIEVpdGhlciBiZWNhdXNlIGl0IGlzIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrIG9yIGlzIG5vdCBtb3VudGVkIGF0IGFsbC5cbi8vIFdlIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUgaWYgaXQgaXMgZGVzaXJhYmxlIHRvIHRyaWdnZXIgYSBmYWxsYmFjayBhdFxuLy8gdGhlIHBhcmVudC4gSWYgbm90LCB0aGVuIHdlIG1pZ2h0IG5lZWQgdG8gdHJpZ2dlciB1bmRlc2lyYWJsZSBib3VuZGFyaWVzXG4vLyBhbmQvb3Igc3VzcGVuZCB0aGUgY29tbWl0IHRvIGF2b2lkIGhpZGluZyB0aGUgcGFyZW50IGNvbnRlbnQuXG5cbnZhciBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQgPSAxOyAvLyBTaGFsbG93IEZsYWdzOlxuLy8gRm9yY2VTdXNwZW5zZUZhbGxiYWNrIGNhbiBiZSB1c2VkIGJ5IFN1c3BlbnNlTGlzdCB0byBmb3JjZSBuZXdseSBhZGRlZFxuLy8gaXRlbXMgaW50byB0aGVpciBmYWxsYmFjayBzdGF0ZSBkdXJpbmcgb25lIG9mIHRoZSByZW5kZXIgcGFzc2VzLlxuXG52YXIgRm9yY2VTdXNwZW5zZUZhbGxiYWNrID0gMjtcbnZhciBzdXNwZW5zZVN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKERlZmF1bHRTdXNwZW5zZUNvbnRleHQpO1xuZnVuY3Rpb24gaGFzU3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIGZsYWcpIHtcbiAgcmV0dXJuIChwYXJlbnRDb250ZXh0ICYgZmxhZykgIT09IDA7XG59XG5mdW5jdGlvbiBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChwYXJlbnRDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2s7XG59XG5mdW5jdGlvbiBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIHNoYWxsb3dDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgfCBzaGFsbG93Q29udGV4dDtcbn1cbmZ1bmN0aW9uIGFkZFN1YnRyZWVTdXNwZW5zZUNvbnRleHQocGFyZW50Q29udGV4dCwgc3VidHJlZUNvbnRleHQpIHtcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgfCBzdWJ0cmVlQ29udGV4dDtcbn1cbmZ1bmN0aW9uIHB1c2hTdXNwZW5zZUNvbnRleHQoZmliZXIsIG5ld0NvbnRleHQpIHtcbiAgcHVzaChzdXNwZW5zZVN0YWNrQ3Vyc29yLCBuZXdDb250ZXh0LCBmaWJlcik7XG59XG5mdW5jdGlvbiBwb3BTdXNwZW5zZUNvbnRleHQoZmliZXIpIHtcbiAgcG9wKHN1c3BlbnNlU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2FwdHVyZVN1c3BlbnNlKHdvcmtJblByb2dyZXNzLCBoYXNJbnZpc2libGVQYXJlbnQpIHtcbiAgLy8gSWYgaXQgd2FzIHRoZSBwcmltYXJ5IGNoaWxkcmVuIHRoYXQganVzdCBzdXNwZW5kZWQsIGNhcHR1cmUgYW5kIHJlbmRlciB0aGVcbiAgLy8gZmFsbGJhY2suIE90aGVyd2lzZSwgZG9uJ3QgY2FwdHVyZSBhbmQgYnViYmxlIHRvIHRoZSBuZXh0IGJvdW5kYXJ5LlxuICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAobmV4dFN0YXRlICE9PSBudWxsKSB7XG4gICAgaWYgKG5leHRTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGRlaHlkcmF0ZWQgYm91bmRhcnkgYWx3YXlzIGNhcHR1cmVzLlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wczsgLy8gUmVndWxhciBib3VuZGFyaWVzIGFsd2F5cyBjYXB0dXJlLlxuXG4gIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBJZiBpdCdzIGEgYm91bmRhcnkgd2Ugc2hvdWxkIGF2b2lkLCB0aGVuIHdlIHByZWZlciB0byBidWJibGUgdXAgdG8gdGhlXG59XG5mdW5jdGlvbiBmaW5kRmlyc3RTdXNwZW5kZWQocm93KSB7XG4gIHZhciBub2RlID0gcm93O1xuXG4gIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgdmFyIHN0YXRlID0gbm9kZS5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGRlaHlkcmF0ZWQgPSBzdGF0ZS5kZWh5ZHJhdGVkO1xuXG4gICAgICAgIGlmIChkZWh5ZHJhdGVkID09PSBudWxsIHx8IGlzU3VzcGVuc2VJbnN0YW5jZVBlbmRpbmcoZGVoeWRyYXRlZCkgfHwgaXNTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2soZGVoeWRyYXRlZCkpIHtcbiAgICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlTGlzdENvbXBvbmVudCAmJiAvLyByZXZlYWxPcmRlciB1bmRlZmluZWQgY2FuJ3QgYmUgdHJ1c3RlZCBiZWNhdXNlIGl0IGRvbid0XG4gICAgLy8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIGl0IHN1c3BlbmRlZCBvciBub3QuXG4gICAgbm9kZS5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBkaWRTdXNwZW5kID0gKG5vZGUuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncztcblxuICAgICAgaWYgKGRpZFN1c3BlbmQpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSByb3cpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gcm93KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIE5vRmxhZ3MkMSA9XG4vKiAgICovXG4wOyAvLyBSZXByZXNlbnRzIHdoZXRoZXIgZWZmZWN0IHNob3VsZCBmaXJlLlxuXG52YXIgSGFzRWZmZWN0ID1cbi8qICovXG4xOyAvLyBSZXByZXNlbnRzIHRoZSBwaGFzZSBpbiB3aGljaCB0aGUgZWZmZWN0IChub3QgdGhlIGNsZWFuLXVwKSBmaXJlcy5cblxudmFyIEluc2VydGlvbiA9XG4vKiAgKi9cbjI7XG52YXIgTGF5b3V0ID1cbi8qICAgICovXG40O1xudmFyIFBhc3NpdmUkMSA9XG4vKiAgICovXG44O1xuXG4vLyBhbmQgc2hvdWxkIGJlIHJlc2V0IGJlZm9yZSBzdGFydGluZyBhIG5ldyByZW5kZXIuXG4vLyBUaGlzIHRyYWNrcyB3aGljaCBtdXRhYmxlIHNvdXJjZXMgbmVlZCB0byBiZSByZXNldCBhZnRlciBhIHJlbmRlci5cblxudmFyIHdvcmtJblByb2dyZXNzU291cmNlcyA9IFtdO1xuZnVuY3Rpb24gcmVzZXRXb3JrSW5Qcm9ncmVzc1ZlcnNpb25zKCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHdvcmtJblByb2dyZXNzU291cmNlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBtdXRhYmxlU291cmNlID0gd29ya0luUHJvZ3Jlc3NTb3VyY2VzW2ldO1xuXG4gICAge1xuICAgICAgbXV0YWJsZVNvdXJjZS5fd29ya0luUHJvZ3Jlc3NWZXJzaW9uUHJpbWFyeSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3NTb3VyY2VzLmxlbmd0aCA9IDA7XG59XG4vLyBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgdmVyc2lvbiB1c2VkIGZvciBzZXJ2ZXIgcmVuZGVyaW5nIG1hdGNoZXMgdGhlIG9uZVxuLy8gdGhhdCBpcyBldmVudHVhbGx5IHJlYWQgZHVyaW5nIGh5ZHJhdGlvbi5cbi8vIElmIHRoZXkgZG9uJ3QgbWF0Y2ggdGhlcmUncyBhIHBvdGVudGlhbCB0ZWFyIGFuZCBhIGZ1bGwgZGVvcHQgcmVuZGVyIGlzIHJlcXVpcmVkLlxuXG5mdW5jdGlvbiByZWdpc3Rlck11dGFibGVTb3VyY2VGb3JIeWRyYXRpb24ocm9vdCwgbXV0YWJsZVNvdXJjZSkge1xuICB2YXIgZ2V0VmVyc2lvbiA9IG11dGFibGVTb3VyY2UuX2dldFZlcnNpb247XG4gIHZhciB2ZXJzaW9uID0gZ2V0VmVyc2lvbihtdXRhYmxlU291cmNlLl9zb3VyY2UpOyAvLyBUT0RPIENsZWFyIHRoaXMgZGF0YSBvbmNlIGFsbCBwZW5kaW5nIGh5ZHJhdGlvbiB3b3JrIGlzIGZpbmlzaGVkLlxuICAvLyBSZXRhaW5pbmcgaXQgZm9yZXZlciBtYXkgaW50ZXJmZXJlIHdpdGggR0MuXG5cbiAgaWYgKHJvb3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YSA9PSBudWxsKSB7XG4gICAgcm9vdC5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhID0gW211dGFibGVTb3VyY2UsIHZlcnNpb25dO1xuICB9IGVsc2Uge1xuICAgIHJvb3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YS5wdXNoKG11dGFibGVTb3VyY2UsIHZlcnNpb24pO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbnZhciBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQ7XG52YXIgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3Q7XG5cbntcbiAgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xufVxuXG4vLyBUaGVzZSBhcmUgc2V0IHJpZ2h0IGJlZm9yZSBjYWxsaW5nIHRoZSBjb21wb25lbnQuXG52YXIgcmVuZGVyTGFuZXMgPSBOb0xhbmVzOyAvLyBUaGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gSSd2ZSBuYW1lZCBpdCBkaWZmZXJlbnRseSB0byBkaXN0aW5ndWlzaCBpdCBmcm9tXG4vLyB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7IC8vIEhvb2tzIGFyZSBzdG9yZWQgYXMgYSBsaW5rZWQgbGlzdCBvbiB0aGUgZmliZXIncyBtZW1vaXplZFN0YXRlIGZpZWxkLiBUaGVcbi8vIGN1cnJlbnQgaG9vayBsaXN0IGlzIHRoZSBsaXN0IHRoYXQgYmVsb25ncyB0byB0aGUgY3VycmVudCBmaWJlci4gVGhlXG4vLyB3b3JrLWluLXByb2dyZXNzIGhvb2sgbGlzdCBpcyBhIG5ldyBsaXN0IHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGVcbi8vIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG5cbnZhciBjdXJyZW50SG9vayA9IG51bGw7XG52YXIgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDsgLy8gV2hldGhlciBhbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBhdCBhbnkgcG9pbnQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuIFRoaXNcbi8vIGRvZXMgbm90IGdldCByZXNldCBpZiB3ZSBkbyBhbm90aGVyIHJlbmRlciBwYXNzOyBvbmx5IHdoZW4gd2UncmUgY29tcGxldGVseVxuLy8gZmluaXNoZWQgZXZhbHVhdGluZyB0aGlzIGNvbXBvbmVudC4gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gc28gd2Uga25vd1xuLy8gd2hldGhlciB3ZSBuZWVkIHRvIGNsZWFyIHJlbmRlciBwaGFzZSB1cGRhdGVzIGFmdGVyIGEgdGhyb3cuXG5cbnZhciBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gZmFsc2U7IC8vIFdoZXJlIGFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9ubHkgZHVyaW5nIHRoZSBjdXJyZW50IHJlbmRlciBwYXNzLiBUaGlzXG4vLyBnZXRzIHJlc2V0IGFmdGVyIGVhY2ggYXR0ZW1wdC5cbi8vIFRPRE86IE1heWJlIHRoZXJlJ3Mgc29tZSB3YXkgdG8gY29uc29saWRhdGUgdGhpcyB3aXRoXG4vLyBgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZWAuIE9yIHdpdGggYG51bWJlck9mUmVSZW5kZXJzYC5cblxudmFyIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlOyAvLyBDb3VudHMgdGhlIG51bWJlciBvZiB1c2VJZCBob29rcyBpbiB0aGlzIGNvbXBvbmVudC5cblxudmFyIGxvY2FsSWRDb3VudGVyID0gMDsgLy8gVXNlZCBmb3IgaWRzIHRoYXQgYXJlIGdlbmVyYXRlZCBjb21wbGV0ZWx5IGNsaWVudC1zaWRlIChpLmUuIG5vdCBkdXJpbmdcbi8vIGh5ZHJhdGlvbikuIFRoaXMgY291bnRlciBpcyBnbG9iYWwsIHNvIGNsaWVudCBpZHMgYXJlIG5vdCBzdGFibGUgYWNyb3NzXG4vLyByZW5kZXIgYXR0ZW1wdHMuXG5cbnZhciBnbG9iYWxDbGllbnRJZENvdW50ZXIgPSAwO1xudmFyIFJFX1JFTkRFUl9MSU1JVCA9IDI1OyAvLyBJbiBERVYsIHRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcHJpbWl0aXZlIGhvb2tcblxudmFyIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDsgLy8gSW4gREVWLCB0aGlzIGxpc3QgZW5zdXJlcyB0aGF0IGhvb2tzIGFyZSBjYWxsZWQgaW4gdGhlIHNhbWUgb3JkZXIgYmV0d2VlbiByZW5kZXJzLlxuLy8gVGhlIGxpc3Qgc3RvcmVzIHRoZSBvcmRlciBvZiBob29rcyB1c2VkIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgKG1vdW50KS5cbi8vIFN1YnNlcXVlbnQgcmVuZGVycyAodXBkYXRlcykgcmVmZXJlbmNlIHRoaXMgbGlzdC5cblxudmFyIGhvb2tUeXBlc0RldiA9IG51bGw7XG52YXIgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTsgLy8gSW4gREVWLCB0aGlzIHRyYWNrcyB3aGV0aGVyIGN1cnJlbnRseSByZW5kZXJpbmcgY29tcG9uZW50IG5lZWRzIHRvIGlnbm9yZVxuLy8gdGhlIGRlcGVuZGVuY2llcyBmb3IgSG9va3MgdGhhdCBuZWVkIHRoZW0gKGUuZy4gdXNlRWZmZWN0IG9yIHVzZU1lbW8pLlxuLy8gV2hlbiB0cnVlLCBzdWNoIEhvb2tzIHdpbGwgYWx3YXlzIGJlIFwicmVtb3VudGVkXCIuIE9ubHkgdXNlZCBkdXJpbmcgaG90IHJlbG9hZC5cblxudmFyIGlnbm9yZVByZXZpb3VzRGVwZW5kZW5jaWVzID0gZmFsc2U7XG5cbmZ1bmN0aW9uIG1vdW50SG9va1R5cGVzRGV2KCkge1xuICB7XG4gICAgdmFyIGhvb2tOYW1lID0gY3VycmVudEhvb2tOYW1lSW5EZXY7XG5cbiAgICBpZiAoaG9va1R5cGVzRGV2ID09PSBudWxsKSB7XG4gICAgICBob29rVHlwZXNEZXYgPSBbaG9va05hbWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICBob29rVHlwZXNEZXYucHVzaChob29rTmFtZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvb2tUeXBlc0RldigpIHtcbiAge1xuICAgIHZhciBob29rTmFtZSA9IGN1cnJlbnRIb29rTmFtZUluRGV2O1xuXG4gICAgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYrKztcblxuICAgICAgaWYgKGhvb2tUeXBlc0Rldltob29rVHlwZXNVcGRhdGVJbmRleERldl0gIT09IGhvb2tOYW1lKSB7XG4gICAgICAgIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGhvb2tOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcykge1xuICB7XG4gICAgaWYgKGRlcHMgIT09IHVuZGVmaW5lZCAmJiBkZXBzICE9PSBudWxsICYmICFpc0FycmF5KGRlcHMpKSB7XG4gICAgICAvLyBWZXJpZnkgZGVwcywgYnV0IG9ubHkgb24gbW91bnQgdG8gYXZvaWQgZXh0cmEgY2hlY2tzLlxuICAgICAgLy8gSXQncyB1bmxpa2VseSB0aGVpciB0eXBlIHdvdWxkIGNoYW5nZSBhcyB1c3VhbGx5IHlvdSBkZWZpbmUgdGhlbSBpbmxpbmUuXG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCB0aGF0IGlzIG5vdCBhbiBhcnJheSAoaW5zdGVhZCwgcmVjZWl2ZWQgYCVzYCkuIFdoZW4gJyArICdzcGVjaWZpZWQsIHRoZSBmaW5hbCBhcmd1bWVudCBtdXN0IGJlIGFuIGFycmF5LicsIGN1cnJlbnRIb29rTmFtZUluRGV2LCB0eXBlb2YgZGVwcyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGN1cnJlbnRIb29rTmFtZSkge1xuICB7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEpO1xuXG4gICAgaWYgKCFkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuYWRkKGNvbXBvbmVudE5hbWUpO1xuXG4gICAgICBpZiAoaG9va1R5cGVzRGV2ICE9PSBudWxsKSB7XG4gICAgICAgIHZhciB0YWJsZSA9ICcnO1xuICAgICAgICB2YXIgc2Vjb25kQ29sdW1uU3RhcnQgPSAzMDtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBob29rVHlwZXNVcGRhdGVJbmRleERldjsgaSsrKSB7XG4gICAgICAgICAgdmFyIG9sZEhvb2tOYW1lID0gaG9va1R5cGVzRGV2W2ldO1xuICAgICAgICAgIHZhciBuZXdIb29rTmFtZSA9IGkgPT09IGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID8gY3VycmVudEhvb2tOYW1lIDogb2xkSG9va05hbWU7XG4gICAgICAgICAgdmFyIHJvdyA9IGkgKyAxICsgXCIuIFwiICsgb2xkSG9va05hbWU7IC8vIEV4dHJhIHNwYWNlIHNvIHNlY29uZCBjb2x1bW4gbGluZXMgdXBcbiAgICAgICAgICAvLyBsb2wgQCBJRSBub3Qgc3VwcG9ydGluZyBTdHJpbmcjcmVwZWF0XG5cbiAgICAgICAgICB3aGlsZSAocm93Lmxlbmd0aCA8IHNlY29uZENvbHVtblN0YXJ0KSB7XG4gICAgICAgICAgICByb3cgKz0gJyAnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJvdyArPSBuZXdIb29rTmFtZSArICdcXG4nO1xuICAgICAgICAgIHRhYmxlICs9IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yKCdSZWFjdCBoYXMgZGV0ZWN0ZWQgYSBjaGFuZ2UgaW4gdGhlIG9yZGVyIG9mIEhvb2tzIGNhbGxlZCBieSAlcy4gJyArICdUaGlzIHdpbGwgbGVhZCB0byBidWdzIGFuZCBlcnJvcnMgaWYgbm90IGZpeGVkLiAnICsgJ0ZvciBtb3JlIGluZm9ybWF0aW9uLCByZWFkIHRoZSBSdWxlcyBvZiBIb29rczogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3J1bGVzLW9mLWhvb2tzXFxuXFxuJyArICcgICBQcmV2aW91cyByZW5kZXIgICAgICAgICAgICBOZXh0IHJlbmRlclxcbicgKyAnICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuJyArICclcycgKyAnICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXFxuJywgY29tcG9uZW50TmFtZSwgdGFibGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0aHJvd0ludmFsaWRIb29rRXJyb3IoKSB7XG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvcicgKyAnIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4nICsgJzIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4nICsgJzMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLicpO1xufVxuXG5mdW5jdGlvbiBhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSB7XG4gIHtcbiAgICBpZiAoaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMpIHtcbiAgICAgIC8vIE9ubHkgdHJ1ZSB3aGVuIHRoaXMgY29tcG9uZW50IGlzIGJlaW5nIGhvdCByZWxvYWRlZC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpZiAocHJldkRlcHMgPT09IG51bGwpIHtcbiAgICB7XG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCBub3QgZHVyaW5nICcgKyAndGhlIHByZXZpb3VzIHJlbmRlci4gRXZlbiB0aG91Z2ggdGhlIGZpbmFsIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCAnICsgJ2l0cyB0eXBlIGNhbm5vdCBjaGFuZ2UgYmV0d2VlbiByZW5kZXJzLicsIGN1cnJlbnRIb29rTmFtZUluRGV2KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB7XG4gICAgLy8gRG9uJ3QgYm90aGVyIGNvbXBhcmluZyBsZW5ndGhzIGluIHByb2QgYmVjYXVzZSB0aGVzZSBhcnJheXMgc2hvdWxkIGJlXG4gICAgLy8gcGFzc2VkIGlubGluZS5cbiAgICBpZiAobmV4dERlcHMubGVuZ3RoICE9PSBwcmV2RGVwcy5sZW5ndGgpIHtcbiAgICAgIGVycm9yKCdUaGUgZmluYWwgYXJndW1lbnQgcGFzc2VkIHRvICVzIGNoYW5nZWQgc2l6ZSBiZXR3ZWVuIHJlbmRlcnMuIFRoZSAnICsgJ29yZGVyIGFuZCBzaXplIG9mIHRoaXMgYXJyYXkgbXVzdCByZW1haW4gY29uc3RhbnQuXFxuXFxuJyArICdQcmV2aW91czogJXNcXG4nICsgJ0luY29taW5nOiAlcycsIGN1cnJlbnRIb29rTmFtZUluRGV2LCBcIltcIiArIHByZXZEZXBzLmpvaW4oJywgJykgKyBcIl1cIiwgXCJbXCIgKyBuZXh0RGVwcy5qb2luKCcsICcpICsgXCJdXCIpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJldkRlcHMubGVuZ3RoICYmIGkgPCBuZXh0RGVwcy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChvYmplY3RJcyhuZXh0RGVwc1tpXSwgcHJldkRlcHNbaV0pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBzZWNvbmRBcmcsIG5leHRSZW5kZXJMYW5lcykge1xuICByZW5kZXJMYW5lcyA9IG5leHRSZW5kZXJMYW5lcztcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IHdvcmtJblByb2dyZXNzO1xuXG4gIHtcbiAgICBob29rVHlwZXNEZXYgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5fZGVidWdIb29rVHlwZXMgOiBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIFVzZWQgZm9yIGhvdCByZWxvYWRpbmc6XG5cbiAgICBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBOb0xhbmVzOyAvLyBUaGUgZm9sbG93aW5nIHNob3VsZCBoYXZlIGFscmVhZHkgYmVlbiByZXNldFxuICAvLyBjdXJyZW50SG9vayA9IG51bGw7XG4gIC8vIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG4gIC8vIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcbiAgLy8gbG9jYWxJZENvdW50ZXIgPSAwO1xuICAvLyBUT0RPIFdhcm4gaWYgbm8gaG9va3MgYXJlIHVzZWQgYXQgYWxsIGR1cmluZyBtb3VudCwgdGhlbiBzb21lIGFyZSB1c2VkIGR1cmluZyB1cGRhdGUuXG4gIC8vIEN1cnJlbnRseSB3ZSB3aWxsIGlkZW50aWZ5IHRoZSB1cGRhdGUgcmVuZGVyIGFzIGEgbW91bnQgYmVjYXVzZSBtZW1vaXplZFN0YXRlID09PSBudWxsLlxuICAvLyBUaGlzIGlzIHRyaWNreSBiZWNhdXNlIGl0J3MgdmFsaWQgZm9yIGNlcnRhaW4gdHlwZXMgb2YgY29tcG9uZW50cyAoZS5nLiBSZWFjdC5sYXp5KVxuICAvLyBVc2luZyBtZW1vaXplZFN0YXRlIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBtb3VudC91cGRhdGUgb25seSB3b3JrcyBpZiBhdCBsZWFzdCBvbmUgc3RhdGVmdWwgaG9vayBpcyB1c2VkLlxuICAvLyBOb24tc3RhdGVmdWwgaG9va3MgKGUuZy4gY29udGV4dCkgZG9uJ3QgZ2V0IGFkZGVkIHRvIG1lbW9pemVkU3RhdGUsXG4gIC8vIHNvIG1lbW9pemVkU3RhdGUgd291bGQgYmUgbnVsbCBkdXJpbmcgdXBkYXRlcyBhbmQgbW91bnRzLlxuXG4gIHtcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcbiAgICB9IGVsc2UgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBkaXNwYXRjaGVyIGhhbmRsZXMgYW4gZWRnZSBjYXNlIHdoZXJlIGEgY29tcG9uZW50IGlzIHVwZGF0aW5nLFxuICAgICAgLy8gYnV0IG5vIHN0YXRlZnVsIGhvb2tzIGhhdmUgYmVlbiB1c2VkLlxuICAgICAgLy8gV2Ugd2FudCB0byBtYXRjaCB0aGUgcHJvZHVjdGlvbiBjb2RlIGJlaGF2aW9yICh3aGljaCB3aWxsIHVzZSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50KSxcbiAgICAgIC8vIGJ1dCB3aXRoIHRoZSBleHRyYSBERVYgdmFsaWRhdGlvbiB0byBlbnN1cmUgaG9va3Mgb3JkZXJpbmcgaGFzbid0IGNoYW5nZWQuXG4gICAgICAvLyBUaGlzIGRpc3BhdGNoZXIgZG9lcyB0aGF0LlxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcbiAgICB9XG4gIH1cblxuICB2YXIgY2hpbGRyZW4gPSBDb21wb25lbnQocHJvcHMsIHNlY29uZEFyZyk7IC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhIHJlbmRlciBwaGFzZSB1cGRhdGVcblxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZUR1cmluZ1RoaXNQYXNzKSB7XG4gICAgLy8gS2VlcCByZW5kZXJpbmcgaW4gYSBsb29wIGZvciBhcyBsb25nIGFzIHJlbmRlciBwaGFzZSB1cGRhdGVzIGNvbnRpbnVlIHRvXG4gICAgLy8gYmUgc2NoZWR1bGVkLiBVc2UgYSBjb3VudGVyIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXG4gICAgdmFyIG51bWJlck9mUmVSZW5kZXJzID0gMDtcblxuICAgIGRvIHtcbiAgICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlO1xuICAgICAgbG9jYWxJZENvdW50ZXIgPSAwO1xuXG4gICAgICBpZiAobnVtYmVyT2ZSZVJlbmRlcnMgPj0gUkVfUkVOREVSX0xJTUlUKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVG9vIG1hbnkgcmUtcmVuZGVycy4gUmVhY3QgbGltaXRzIHRoZSBudW1iZXIgb2YgcmVuZGVycyB0byBwcmV2ZW50ICcgKyAnYW4gaW5maW5pdGUgbG9vcC4nKTtcbiAgICAgIH1cblxuICAgICAgbnVtYmVyT2ZSZVJlbmRlcnMgKz0gMTtcblxuICAgICAge1xuICAgICAgICAvLyBFdmVuIHdoZW4gaG90IHJlbG9hZGluZywgYWxsb3cgZGVwZW5kZW5jaWVzIHRvIHN0YWJpbGl6ZVxuICAgICAgICAvLyBhZnRlciBmaXJzdCByZW5kZXIgdG8gcHJldmVudCBpbmZpbml0ZSByZW5kZXIgcGhhc2UgdXBkYXRlcy5cbiAgICAgICAgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBmYWxzZTtcbiAgICAgIH0gLy8gU3RhcnQgb3ZlciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3RcblxuXG4gICAgICBjdXJyZW50SG9vayA9IG51bGw7XG4gICAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuXG4gICAgICB7XG4gICAgICAgIC8vIEFsc28gdmFsaWRhdGUgaG9vayBvcmRlciBmb3IgY2FzY2FkaW5nIHVwZGF0ZXMuXG4gICAgICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7XG4gICAgICB9XG5cbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA7XG4gICAgICBjaGlsZHJlbiA9IENvbXBvbmVudChwcm9wcywgc2Vjb25kQXJnKTtcbiAgICB9IHdoaWxlIChkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MpO1xuICB9IC8vIFdlIGNhbiBhc3N1bWUgdGhlIHByZXZpb3VzIGRpc3BhdGNoZXIgaXMgYWx3YXlzIHRoaXMgb25lLCBzaW5jZSB3ZSBzZXQgaXRcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmNlLlxuXG5cbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBDb250ZXh0T25seURpc3BhdGNoZXI7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z0hvb2tUeXBlcyA9IGhvb2tUeXBlc0RldjtcbiAgfSAvLyBUaGlzIGNoZWNrIHVzZXMgY3VycmVudEhvb2sgc28gdGhhdCBpdCB3b3JrcyB0aGUgc2FtZSBpbiBERVYgYW5kIHByb2QgYnVuZGxlcy5cbiAgLy8gaG9va1R5cGVzRGV2IGNvdWxkIGNhdGNoIG1vcmUgY2FzZXMgKGUuZy4gY29udGV4dCkgYnV0IG9ubHkgaW4gREVWIGJ1bmRsZXMuXG5cblxuICB2YXIgZGlkUmVuZGVyVG9vRmV3SG9va3MgPSBjdXJyZW50SG9vayAhPT0gbnVsbCAmJiBjdXJyZW50SG9vay5uZXh0ICE9PSBudWxsO1xuICByZW5kZXJMYW5lcyA9IE5vTGFuZXM7XG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSBudWxsO1xuICBjdXJyZW50SG9vayA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG5cbiAge1xuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNEZXYgPSBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIENvbmZpcm0gdGhhdCBhIHN0YXRpYyBmbGFnIHdhcyBub3QgYWRkZWQgb3IgcmVtb3ZlZCBzaW5jZSB0aGUgbGFzdFxuICAgIC8vIHJlbmRlci4gSWYgdGhpcyBmaXJlcywgaXQgc3VnZ2VzdHMgdGhhdCB3ZSBpbmNvcnJlY3RseSByZXNldCB0aGUgc3RhdGljXG4gICAgLy8gZmxhZ3MgaW4gc29tZSBvdGhlciBwYXJ0IG9mIHRoZSBjb2RlYmFzZS4gVGhpcyBoYXMgaGFwcGVuZWQgYmVmb3JlLCBmb3JcbiAgICAvLyBleGFtcGxlLCBpbiB0aGUgU3VzcGVuc2VMaXN0IGltcGxlbWVudGF0aW9uLlxuXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgKGN1cnJlbnQuZmxhZ3MgJiBTdGF0aWNNYXNrKSAhPT0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgU3RhdGljTWFzaykgJiYgLy8gRGlzYWJsZSB0aGlzIHdhcm5pbmcgaW4gbGVnYWN5IG1vZGUsIGJlY2F1c2UgbGVnYWN5IFN1c3BlbnNlIGlzIHdlaXJkXG4gICAgLy8gYW5kIGNyZWF0ZXMgZmFsc2UgcG9zaXRpdmVzLiBUbyBtYWtlIHRoaXMgd29yayBpbiBsZWdhY3kgbW9kZSwgd2UnZFxuICAgIC8vIG5lZWQgdG8gbWFyayBmaWJlcnMgdGhhdCBjb21taXQgaW4gYW4gaW5jb21wbGV0ZSBzdGF0ZSwgc29tZWhvdy4gRm9yXG4gICAgLy8gbm93IEknbGwgZGlzYWJsZSB0aGUgd2FybmluZyB0aGF0IG1vc3Qgb2YgdGhlIGJ1Z3MgdGhhdCB3b3VsZCB0cmlnZ2VyXG4gICAgLy8gaXQgYXJlIGVpdGhlciBleGNsdXNpdmUgdG8gY29uY3VycmVudCBtb2RlIG9yIGV4aXN0IGluIGJvdGguXG4gICAgKGN1cnJlbnQubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICBlcnJvcignSW50ZXJuYWwgUmVhY3QgZXJyb3I6IEV4cGVjdGVkIHN0YXRpYyBmbGFnIHdhcyBtaXNzaW5nLiBQbGVhc2UgJyArICdub3RpZnkgdGhlIFJlYWN0IHRlYW0uJyk7XG4gICAgfVxuICB9XG5cbiAgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGlzIGlzIHJlc2V0IGJ5IGNoZWNrRGlkUmVuZGVySWRIb29rXG4gIC8vIGxvY2FsSWRDb3VudGVyID0gMDtcblxuICBpZiAoZGlkUmVuZGVyVG9vRmV3SG9va3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlbmRlcmVkIGZld2VyIGhvb2tzIHRoYW4gZXhwZWN0ZWQuIFRoaXMgbWF5IGJlIGNhdXNlZCBieSBhbiBhY2NpZGVudGFsICcgKyAnZWFybHkgcmV0dXJuIHN0YXRlbWVudC4nKTtcbiAgfVxuXG4gIHJldHVybiBjaGlsZHJlbjtcbn1cbmZ1bmN0aW9uIGNoZWNrRGlkUmVuZGVySWRIb29rKCkge1xuICAvLyBUaGlzIHNob3VsZCBiZSBjYWxsZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZXZlcnkgcmVuZGVyV2l0aEhvb2tzIGNhbGwuXG4gIC8vIENvbmNlcHR1YWxseSwgaXQncyBwYXJ0IG9mIHRoZSByZXR1cm4gdmFsdWUgb2YgcmVuZGVyV2l0aEhvb2tzOyBpdCdzIG9ubHkgYVxuICAvLyBzZXBhcmF0ZSBmdW5jdGlvbiB0byBhdm9pZCB1c2luZyBhbiBhcnJheSB0dXBsZS5cbiAgdmFyIGRpZFJlbmRlcklkSG9vayA9IGxvY2FsSWRDb3VudGVyICE9PSAwO1xuICBsb2NhbElkQ291bnRlciA9IDA7XG4gIHJldHVybiBkaWRSZW5kZXJJZEhvb2s7XG59XG5mdW5jdGlvbiBiYWlsb3V0SG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGxhbmVzKSB7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTsgLy8gVE9ETzogRG9uJ3QgbmVlZCB0byByZXNldCB0aGUgZmxhZ3MgaGVyZSwgYmVjYXVzZSB0aGV5J3JlIHJlc2V0IGluIHRoZVxuICAvLyBjb21wbGV0ZSBwaGFzZSAoYnViYmxlUHJvcGVydGllcykuXG5cbiAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gfihNb3VudFBhc3NpdmVEZXYgfCBNb3VudExheW91dERldiB8IFBhc3NpdmUgfCBVcGRhdGUpO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH4oUGFzc2l2ZSB8IFVwZGF0ZSk7XG4gIH1cblxuICBjdXJyZW50LmxhbmVzID0gcmVtb3ZlTGFuZXMoY3VycmVudC5sYW5lcywgbGFuZXMpO1xufVxuZnVuY3Rpb24gcmVzZXRIb29rc0FmdGVyVGhyb3coKSB7XG4gIC8vIFdlIGNhbiBhc3N1bWUgdGhlIHByZXZpb3VzIGRpc3BhdGNoZXIgaXMgYWx3YXlzIHRoaXMgb25lLCBzaW5jZSB3ZSBzZXQgaXRcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmNlLlxuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcblxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSkge1xuICAgIC8vIFRoZXJlIHdlcmUgcmVuZGVyIHBoYXNlIHVwZGF0ZXMuIFRoZXNlIGFyZSBvbmx5IHZhbGlkIGZvciB0aGlzIHJlbmRlclxuICAgIC8vIHBoYXNlLCB3aGljaCB3ZSBhcmUgbm93IGFib3J0aW5nLiBSZW1vdmUgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWVzIHNvXG4gICAgLy8gdGhleSBkbyBub3QgcGVyc2lzdCB0byB0aGUgbmV4dCByZW5kZXIuIERvIG5vdCByZW1vdmUgdXBkYXRlcyBmcm9tIGhvb2tzXG4gICAgLy8gdGhhdCB3ZXJlbid0IHByb2Nlc3NlZC5cbiAgICAvL1xuICAgIC8vIE9ubHkgcmVzZXQgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWUgaWYgaXQgaGFzIGEgY2xvbmUuIElmIGl0IGRvZXNcbiAgICAvLyBub3QgaGF2ZSBhIGNsb25lLCB0aGF0IG1lYW5zIGl0IHdhc24ndCBwcm9jZXNzZWQsIGFuZCB0aGUgdXBkYXRlcyB3ZXJlXG4gICAgLy8gc2NoZWR1bGVkIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgdmFyIGhvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XG5cbiAgICB3aGlsZSAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICAgICAgaWYgKHF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBob29rID0gaG9vay5uZXh0O1xuICAgIH1cblxuICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcbiAgfVxuXG4gIHJlbmRlckxhbmVzID0gTm9MYW5lcztcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7XG4gIGN1cnJlbnRIb29rID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDtcblxuICB7XG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xO1xuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcbiAgICBpc1VwZGF0aW5nT3BhcXVlVmFsdWVJblJlbmRlclBoYXNlID0gZmFsc2U7XG4gIH1cblxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MgPSBmYWxzZTtcbiAgbG9jYWxJZENvdW50ZXIgPSAwO1xufVxuXG5mdW5jdGlvbiBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpIHtcbiAgdmFyIGhvb2sgPSB7XG4gICAgbWVtb2l6ZWRTdGF0ZTogbnVsbCxcbiAgICBiYXNlU3RhdGU6IG51bGwsXG4gICAgYmFzZVF1ZXVlOiBudWxsLFxuICAgIHF1ZXVlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3NIb29rID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgaG9vayBpbiB0aGUgbGlzdFxuICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IGhvb2s7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3RcbiAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dCA9IGhvb2s7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NIb29rO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBib3RoIGZvciB1cGRhdGVzIGFuZCBmb3IgcmUtcmVuZGVycyB0cmlnZ2VyZWQgYnkgYVxuICAvLyByZW5kZXIgcGhhc2UgdXBkYXRlLiBJdCBhc3N1bWVzIHRoZXJlIGlzIGVpdGhlciBhIGN1cnJlbnQgaG9vayB3ZSBjYW5cbiAgLy8gY2xvbmUsIG9yIGEgd29yay1pbi1wcm9ncmVzcyBob29rIGZyb20gYSBwcmV2aW91cyByZW5kZXIgcGFzcyB0aGF0IHdlIGNhblxuICAvLyB1c2UgYXMgYSBiYXNlLiBXaGVuIHdlIHJlYWNoIHRoZSBlbmQgb2YgdGhlIGJhc2UgbGlzdCwgd2UgbXVzdCBzd2l0Y2ggdG9cbiAgLy8gdGhlIGRpc3BhdGNoZXIgdXNlZCBmb3IgbW91bnRzLlxuICB2YXIgbmV4dEN1cnJlbnRIb29rO1xuXG4gIGlmIChjdXJyZW50SG9vayA9PT0gbnVsbCkge1xuICAgIHZhciBjdXJyZW50ID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgbmV4dEN1cnJlbnRIb29rID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0Q3VycmVudEhvb2sgPSBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBuZXh0Q3VycmVudEhvb2sgPSBjdXJyZW50SG9vay5uZXh0O1xuICB9XG5cbiAgdmFyIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2s7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XG4gIH0gZWxzZSB7XG4gICAgbmV4dFdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0O1xuICB9XG5cbiAgaWYgKG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgIT09IG51bGwpIHtcbiAgICAvLyBUaGVyZSdzIGFscmVhZHkgYSB3b3JrLWluLXByb2dyZXNzLiBSZXVzZSBpdC5cbiAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBuZXh0V29ya0luUHJvZ3Jlc3NIb29rO1xuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dDtcbiAgICBjdXJyZW50SG9vayA9IG5leHRDdXJyZW50SG9vaztcbiAgfSBlbHNlIHtcbiAgICAvLyBDbG9uZSBmcm9tIHRoZSBjdXJyZW50IGhvb2suXG4gICAgaWYgKG5leHRDdXJyZW50SG9vayA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZW5kZXJlZCBtb3JlIGhvb2tzIHRoYW4gZHVyaW5nIHRoZSBwcmV2aW91cyByZW5kZXIuJyk7XG4gICAgfVxuXG4gICAgY3VycmVudEhvb2sgPSBuZXh0Q3VycmVudEhvb2s7XG4gICAgdmFyIG5ld0hvb2sgPSB7XG4gICAgICBtZW1vaXplZFN0YXRlOiBjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlLFxuICAgICAgYmFzZVN0YXRlOiBjdXJyZW50SG9vay5iYXNlU3RhdGUsXG4gICAgICBiYXNlUXVldWU6IGN1cnJlbnRIb29rLmJhc2VRdWV1ZSxcbiAgICAgIHF1ZXVlOiBjdXJyZW50SG9vay5xdWV1ZSxcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgaG9vayBpbiB0aGUgbGlzdC5cbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IG5ld0hvb2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGVuZCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuICAgICAgd29ya0luUHJvZ3Jlc3NIb29rID0gd29ya0luUHJvZ3Jlc3NIb29rLm5leHQgPSBuZXdIb29rO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc0hvb2s7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKSB7XG4gIHJldHVybiB7XG4gICAgbGFzdEVmZmVjdDogbnVsbCxcbiAgICBzdG9yZXM6IG51bGxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYmFzaWNTdGF0ZVJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xuICAvLyAkRmxvd0ZpeE1lOiBGbG93IGRvZXNuJ3QgbGlrZSBtaXhlZCB0eXBlc1xuICByZXR1cm4gdHlwZW9mIGFjdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGFjdGlvbihzdGF0ZSkgOiBhY3Rpb247XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGluaXRpYWxTdGF0ZTtcblxuICBpZiAoaW5pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaW5pdGlhbFN0YXRlID0gaW5pdChpbml0aWFsQXJnKTtcbiAgfSBlbHNlIHtcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsQXJnO1xuICB9XG5cbiAgaG9vay5tZW1vaXplZFN0YXRlID0gaG9vay5iYXNlU3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gIHZhciBxdWV1ZSA9IHtcbiAgICBwZW5kaW5nOiBudWxsLFxuICAgIGludGVybGVhdmVkOiBudWxsLFxuICAgIGxhbmVzOiBOb0xhbmVzLFxuICAgIGRpc3BhdGNoOiBudWxsLFxuICAgIGxhc3RSZW5kZXJlZFJlZHVjZXI6IHJlZHVjZXIsXG4gICAgbGFzdFJlbmRlcmVkU3RhdGU6IGluaXRpYWxTdGF0ZVxuICB9O1xuICBob29rLnF1ZXVlID0gcXVldWU7XG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoID0gZGlzcGF0Y2hSZWR1Y2VyQWN0aW9uLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgcXVldWUpO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICBpZiAocXVldWUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyO1xuICB2YXIgY3VycmVudCA9IGN1cnJlbnRIb29rOyAvLyBUaGUgbGFzdCByZWJhc2UgdXBkYXRlIHRoYXQgaXMgTk9UIHBhcnQgb2YgdGhlIGJhc2Ugc3RhdGUuXG5cbiAgdmFyIGJhc2VRdWV1ZSA9IGN1cnJlbnQuYmFzZVF1ZXVlOyAvLyBUaGUgbGFzdCBwZW5kaW5nIHVwZGF0ZSB0aGF0IGhhc24ndCBiZWVuIHByb2Nlc3NlZCB5ZXQuXG5cbiAgdmFyIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnBlbmRpbmc7XG5cbiAgaWYgKHBlbmRpbmdRdWV1ZSAhPT0gbnVsbCkge1xuICAgIC8vIFdlIGhhdmUgbmV3IHVwZGF0ZXMgdGhhdCBoYXZlbid0IGJlZW4gcHJvY2Vzc2VkIHlldC5cbiAgICAvLyBXZSdsbCBhZGQgdGhlbSB0byB0aGUgYmFzZSBxdWV1ZS5cbiAgICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAvLyBNZXJnZSB0aGUgcGVuZGluZyBxdWV1ZSBhbmQgdGhlIGJhc2UgcXVldWUuXG4gICAgICB2YXIgYmFzZUZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgICB2YXIgcGVuZGluZ0ZpcnN0ID0gcGVuZGluZ1F1ZXVlLm5leHQ7XG4gICAgICBiYXNlUXVldWUubmV4dCA9IHBlbmRpbmdGaXJzdDtcbiAgICAgIHBlbmRpbmdRdWV1ZS5uZXh0ID0gYmFzZUZpcnN0O1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChjdXJyZW50LmJhc2VRdWV1ZSAhPT0gYmFzZVF1ZXVlKSB7XG4gICAgICAgIC8vIEludGVybmFsIGludmFyaWFudCB0aGF0IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dCBmZWFzaWJseSBjb3VsZCBpblxuICAgICAgICAvLyB0aGUgZnV0dXJlIGlmIHdlIGltcGxlbWVudCByZXN1bWluZywgb3Igc29tZSBmb3JtIG9mIHRoYXQuXG4gICAgICAgIGVycm9yKCdJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSB0byBiZSBhIGNsb25lLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY3VycmVudC5iYXNlUXVldWUgPSBiYXNlUXVldWUgPSBwZW5kaW5nUXVldWU7XG4gICAgcXVldWUucGVuZGluZyA9IG51bGw7XG4gIH1cblxuICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gV2UgaGF2ZSBhIHF1ZXVlIHRvIHByb2Nlc3MuXG4gICAgdmFyIGZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgdmFyIG5ld1N0YXRlID0gY3VycmVudC5iYXNlU3RhdGU7XG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XG4gICAgdmFyIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbnVsbDtcbiAgICB2YXIgbmV3QmFzZVF1ZXVlTGFzdCA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xuXG4gICAgZG8ge1xuICAgICAgdmFyIHVwZGF0ZUxhbmUgPSB1cGRhdGUubGFuZTtcblxuICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMocmVuZGVyTGFuZXMsIHVwZGF0ZUxhbmUpKSB7XG4gICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcbiAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cbiAgICAgICAgdmFyIGNsb25lID0ge1xuICAgICAgICAgIGxhbmU6IHVwZGF0ZUxhbmUsXG4gICAgICAgICAgYWN0aW9uOiB1cGRhdGUuYWN0aW9uLFxuICAgICAgICAgIGhhc0VhZ2VyU3RhdGU6IHVwZGF0ZS5oYXNFYWdlclN0YXRlLFxuICAgICAgICAgIGVhZ2VyU3RhdGU6IHVwZGF0ZS5lYWdlclN0YXRlLFxuICAgICAgICAgIG5leHQ6IG51bGxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobmV3QmFzZVF1ZXVlTGFzdCA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbmV3QmFzZVF1ZXVlTGFzdCA9IGNsb25lO1xuICAgICAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0Jhc2VRdWV1ZUxhc3QgPSBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBjbG9uZTtcbiAgICAgICAgfSAvLyBVcGRhdGUgdGhlIHJlbWFpbmluZyBwcmlvcml0eSBpbiB0aGUgcXVldWUuXG4gICAgICAgIC8vIFRPRE86IERvbid0IG5lZWQgdG8gYWNjdW11bGF0ZSB0aGlzLiBJbnN0ZWFkLCB3ZSBjYW4gcmVtb3ZlXG4gICAgICAgIC8vIHJlbmRlckxhbmVzIGZyb20gdGhlIG9yaWdpbmFsIGxhbmVzLlxuXG5cbiAgICAgICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcyA9IG1lcmdlTGFuZXMoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcywgdXBkYXRlTGFuZSk7XG4gICAgICAgIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXModXBkYXRlTGFuZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIHVwZGF0ZSBkb2VzIGhhdmUgc3VmZmljaWVudCBwcmlvcml0eS5cbiAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgLy8gVGhpcyB1cGRhdGUgaXMgZ29pbmcgdG8gYmUgY29tbWl0dGVkIHNvIHdlIG5ldmVyIHdhbnQgdW5jb21taXRcbiAgICAgICAgICAgIC8vIGl0LiBVc2luZyBOb0xhbmUgd29ya3MgYmVjYXVzZSAwIGlzIGEgc3Vic2V0IG9mIGFsbCBiaXRtYXNrcywgc29cbiAgICAgICAgICAgIC8vIHRoaXMgd2lsbCBuZXZlciBiZSBza2lwcGVkIGJ5IHRoZSBjaGVjayBhYm92ZS5cbiAgICAgICAgICAgIGxhbmU6IE5vTGFuZSxcbiAgICAgICAgICAgIGFjdGlvbjogdXBkYXRlLmFjdGlvbixcbiAgICAgICAgICAgIGhhc0VhZ2VyU3RhdGU6IHVwZGF0ZS5oYXNFYWdlclN0YXRlLFxuICAgICAgICAgICAgZWFnZXJTdGF0ZTogdXBkYXRlLmVhZ2VyU3RhdGUsXG4gICAgICAgICAgICBuZXh0OiBudWxsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cblxuICAgICAgICBpZiAodXBkYXRlLmhhc0VhZ2VyU3RhdGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHVwZGF0ZSBpcyBhIHN0YXRlIHVwZGF0ZSAobm90IGEgcmVkdWNlcikgYW5kIHdhcyBwcm9jZXNzZWQgZWFnZXJseSxcbiAgICAgICAgICAvLyB3ZSBjYW4gdXNlIHRoZSBlYWdlcmx5IGNvbXB1dGVkIHN0YXRlXG4gICAgICAgICAgbmV3U3RhdGUgPSB1cGRhdGUuZWFnZXJTdGF0ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgYWN0aW9uID0gdXBkYXRlLmFjdGlvbjtcbiAgICAgICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBudWxsICYmIHVwZGF0ZSAhPT0gZmlyc3QpO1xuXG4gICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcbiAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBuZXdCYXNlUXVldWVGaXJzdDtcbiAgICB9IC8vIE1hcmsgdGhhdCB0aGUgZmliZXIgcGVyZm9ybWVkIHdvcmssIGJ1dCBvbmx5IGlmIHRoZSBuZXcgc3RhdGUgaXNcbiAgICAvLyBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCBzdGF0ZS5cblxuXG4gICAgaWYgKCFvYmplY3RJcyhuZXdTdGF0ZSwgaG9vay5tZW1vaXplZFN0YXRlKSkge1xuICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICBob29rLmJhc2VTdGF0ZSA9IG5ld0Jhc2VTdGF0ZTtcbiAgICBob29rLmJhc2VRdWV1ZSA9IG5ld0Jhc2VRdWV1ZUxhc3Q7XG4gICAgcXVldWUubGFzdFJlbmRlcmVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBJbnRlcmxlYXZlZCB1cGRhdGVzIGFyZSBzdG9yZWQgb24gYSBzZXBhcmF0ZSBxdWV1ZS4gV2UgYXJlbid0IGdvaW5nIHRvXG4gIC8vIHByb2Nlc3MgdGhlbSBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCB3ZSBkbyBuZWVkIHRvIHRyYWNrIHdoaWNoIGxhbmVzXG4gIC8vIGFyZSByZW1haW5pbmcuXG5cblxuICB2YXIgbGFzdEludGVybGVhdmVkID0gcXVldWUuaW50ZXJsZWF2ZWQ7XG5cbiAgaWYgKGxhc3RJbnRlcmxlYXZlZCAhPT0gbnVsbCkge1xuICAgIHZhciBpbnRlcmxlYXZlZCA9IGxhc3RJbnRlcmxlYXZlZDtcblxuICAgIGRvIHtcbiAgICAgIHZhciBpbnRlcmxlYXZlZExhbmUgPSBpbnRlcmxlYXZlZC5sYW5lO1xuICAgICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcyA9IG1lcmdlTGFuZXMoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcywgaW50ZXJsZWF2ZWRMYW5lKTtcbiAgICAgIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMoaW50ZXJsZWF2ZWRMYW5lKTtcbiAgICAgIGludGVybGVhdmVkID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICB9IHdoaWxlIChpbnRlcmxlYXZlZCAhPT0gbGFzdEludGVybGVhdmVkKTtcbiAgfSBlbHNlIGlmIChiYXNlUXVldWUgPT09IG51bGwpIHtcbiAgICAvLyBgcXVldWUubGFuZXNgIGlzIHVzZWQgZm9yIGVudGFuZ2xpbmcgdHJhbnNpdGlvbnMuIFdlIGNhbiBzZXQgaXQgYmFjayB0b1xuICAgIC8vIHplcm8gb25jZSB0aGUgcXVldWUgaXMgZW1wdHkuXG4gICAgcXVldWUubGFuZXMgPSBOb0xhbmVzO1xuICB9XG5cbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2g7XG4gIHJldHVybiBbaG9vay5tZW1vaXplZFN0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBxdWV1ZSA9IGhvb2sucXVldWU7XG5cbiAgaWYgKHF1ZXVlID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgaGF2ZSBhIHF1ZXVlLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICBxdWV1ZS5sYXN0UmVuZGVyZWRSZWR1Y2VyID0gcmVkdWNlcjsgLy8gVGhpcyBpcyBhIHJlLXJlbmRlci4gQXBwbHkgdGhlIG5ldyByZW5kZXIgcGhhc2UgdXBkYXRlcyB0byB0aGUgcHJldmlvdXNcbiAgLy8gd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoO1xuICB2YXIgbGFzdFJlbmRlclBoYXNlVXBkYXRlID0gcXVldWUucGVuZGluZztcbiAgdmFyIG5ld1N0YXRlID0gaG9vay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChsYXN0UmVuZGVyUGhhc2VVcGRhdGUgIT09IG51bGwpIHtcbiAgICAvLyBUaGUgcXVldWUgZG9lc24ndCBwZXJzaXN0IHBhc3QgdGhpcyByZW5kZXIgcGFzcy5cbiAgICBxdWV1ZS5wZW5kaW5nID0gbnVsbDtcbiAgICB2YXIgZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZSA9IGxhc3RSZW5kZXJQaGFzZVVwZGF0ZS5uZXh0O1xuICAgIHZhciB1cGRhdGUgPSBmaXJzdFJlbmRlclBoYXNlVXBkYXRlO1xuXG4gICAgZG8ge1xuICAgICAgLy8gUHJvY2VzcyB0aGlzIHJlbmRlciBwaGFzZSB1cGRhdGUuIFdlIGRvbid0IGhhdmUgdG8gY2hlY2sgdGhlXG4gICAgICAvLyBwcmlvcml0eSBiZWNhdXNlIGl0IHdpbGwgYWx3YXlzIGJlIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50XG4gICAgICAvLyByZW5kZXIncy5cbiAgICAgIHZhciBhY3Rpb24gPSB1cGRhdGUuYWN0aW9uO1xuICAgICAgbmV3U3RhdGUgPSByZWR1Y2VyKG5ld1N0YXRlLCBhY3Rpb24pO1xuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBmaXJzdFJlbmRlclBoYXNlVXBkYXRlKTsgLy8gTWFyayB0aGF0IHRoZSBmaWJlciBwZXJmb3JtZWQgd29yaywgYnV0IG9ubHkgaWYgdGhlIG5ldyBzdGF0ZSBpc1xuICAgIC8vIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IHN0YXRlLlxuXG5cbiAgICBpZiAoIW9iamVjdElzKG5ld1N0YXRlLCBob29rLm1lbW9pemVkU3RhdGUpKSB7XG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlOyAvLyBEb24ndCBwZXJzaXN0IHRoZSBzdGF0ZSBhY2N1bXVsYXRlZCBmcm9tIHRoZSByZW5kZXIgcGhhc2UgdXBkYXRlcyB0b1xuICAgIC8vIHRoZSBiYXNlIHN0YXRlIHVubGVzcyB0aGUgcXVldWUgaXMgZW1wdHkuXG4gICAgLy8gVE9ETzogTm90IHN1cmUgaWYgdGhpcyBpcyB0aGUgZGVzaXJlZCBzZW1hbnRpY3MsIGJ1dCBpdCdzIHdoYXQgd2VcbiAgICAvLyBkbyBmb3IgZ0RTRlAuIEkgY2FuJ3QgcmVtZW1iZXIgd2h5LlxuXG4gICAgaWYgKGhvb2suYmFzZVF1ZXVlID09PSBudWxsKSB7XG4gICAgICBob29rLmJhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH1cblxuICAgIHF1ZXVlLmxhc3RSZW5kZXJlZFN0YXRlID0gbmV3U3RhdGU7XG4gIH1cblxuICByZXR1cm4gW25ld1N0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIG1vdW50TXV0YWJsZVNvdXJjZShzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlTXV0YWJsZVNvdXJjZShzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxO1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0U25hcHNob3Q7XG4gIHZhciBpc0h5ZHJhdGluZyA9IGdldElzSHlkcmF0aW5nKCk7XG5cbiAgaWYgKGlzSHlkcmF0aW5nKSB7XG4gICAgaWYgKGdldFNlcnZlclNuYXBzaG90ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnZXRTZXJ2ZXJTbmFwc2hvdCwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yICcgKyAnc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQuIFdpbGwgcmV2ZXJ0IHRvIGNsaWVudCByZW5kZXJpbmcuJyk7XG4gICAgfVxuXG4gICAgbmV4dFNuYXBzaG90ID0gZ2V0U2VydmVyU25hcHNob3QoKTtcblxuICAgIHtcbiAgICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgICAgaWYgKG5leHRTbmFwc2hvdCAhPT0gZ2V0U2VydmVyU25hcHNob3QoKSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNlcnZlclNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5leHRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICB7XG4gICAgICBpZiAoIWRpZFdhcm5VbmNhY2hlZEdldFNuYXBzaG90KSB7XG4gICAgICAgIHZhciBjYWNoZWRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICAgICAgaWYgKCFvYmplY3RJcyhuZXh0U25hcHNob3QsIGNhY2hlZFNuYXBzaG90KSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBVbmxlc3Mgd2UncmUgcmVuZGVyaW5nIGEgYmxvY2tpbmcgbGFuZSwgc2NoZWR1bGUgYSBjb25zaXN0ZW5jeSBjaGVjay5cbiAgICAvLyBSaWdodCBiZWZvcmUgY29tbWl0dGluZywgd2Ugd2lsbCB3YWxrIHRoZSB0cmVlIGFuZCBjaGVjayBpZiBhbnkgb2YgdGhlXG4gICAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZC5cbiAgICAvL1xuICAgIC8vIFdlIHdvbid0IGRvIHRoaXMgaWYgd2UncmUgaHlkcmF0aW5nIHNlcnZlci1yZW5kZXJlZCBjb250ZW50LCBiZWNhdXNlIGlmXG4gICAgLy8gdGhlIGNvbnRlbnQgaXMgc3RhbGUsIGl0J3MgYWxyZWFkeSB2aXNpYmxlIGFueXdheS4gSW5zdGVhZCB3ZSdsbCBwYXRjaFxuICAgIC8vIGl0IHVwIGluIGEgcGFzc2l2ZSBlZmZlY3QuXG5cblxuICAgIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG5cbiAgICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHdvcmstaW4tcHJvZ3Jlc3Mgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCByZW5kZXJMYW5lcykpIHtcbiAgICAgIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuICAgIH1cbiAgfSAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gVGhpcyBicmVha3MgdGhlXG4gIC8vIG5vcm1hbCBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgYmVjYXVzZSBzdG9yZSB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gIHZhciBpbnN0ID0ge1xuICAgIHZhbHVlOiBuZXh0U25hcHNob3QsXG4gICAgZ2V0U25hcHNob3Q6IGdldFNuYXBzaG90XG4gIH07XG4gIGhvb2sucXVldWUgPSBpbnN0OyAvLyBTY2hlZHVsZSBhbiBlZmZlY3QgdG8gc3Vic2NyaWJlIHRvIHRoZSBzdG9yZS5cblxuICBtb3VudEVmZmVjdChzdWJzY3JpYmVUb1N0b3JlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIHN1YnNjcmliZSksIFtzdWJzY3JpYmVdKTsgLy8gU2NoZWR1bGUgYW4gZWZmZWN0IHRvIHVwZGF0ZSB0aGUgbXV0YWJsZSBpbnN0YW5jZSBmaWVsZHMuIFdlIHdpbGwgdXBkYXRlXG4gIC8vIHRoaXMgd2hlbmV2ZXIgc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgb3IgdmFsdWUgY2hhbmdlcy4gQmVjYXVzZSB0aGVyZSdzIG5vXG4gIC8vIGNsZWFuLXVwIGZ1bmN0aW9uLCBhbmQgd2UgdHJhY2sgdGhlIGRlcHMgY29ycmVjdGx5LCB3ZSBjYW4gY2FsbCBwdXNoRWZmZWN0XG4gIC8vIGRpcmVjdGx5LCB3aXRob3V0IHN0b3JpbmcgYW55IGFkZGl0aW9uYWwgc3RhdGUuIEZvciB0aGUgc2FtZSByZWFzb24sIHdlXG4gIC8vIGRvbid0IG5lZWQgdG8gc2V0IGEgc3RhdGljIGZsYWcsIGVpdGhlci5cbiAgLy8gVE9ETzogV2UgY2FuIG1vdmUgdGhpcyB0byB0aGUgcGFzc2l2ZSBwaGFzZSBvbmNlIHdlIGFkZCBhIHByZS1jb21taXRcbiAgLy8gY29uc2lzdGVuY3kgY2hlY2suIFNlZSB0aGUgbmV4dCBjb21tZW50LlxuXG4gIGZpYmVyLmZsYWdzIHw9IFBhc3NpdmU7XG4gIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSQxLCB1cGRhdGVTdG9yZUluc3RhbmNlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpLCB1bmRlZmluZWQsIG51bGwpO1xuICByZXR1cm4gbmV4dFNuYXBzaG90O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxO1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpOyAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gVGhpcyBicmVha3MgdGhlXG4gIC8vIG5vcm1hbCBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgYmVjYXVzZSBzdG9yZSB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cbiAgdmFyIG5leHRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAge1xuICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgIHZhciBjYWNoZWRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICAgIGlmICghb2JqZWN0SXMobmV4dFNuYXBzaG90LCBjYWNoZWRTbmFwc2hvdCkpIHtcbiAgICAgICAgZXJyb3IoJ1RoZSByZXN1bHQgb2YgZ2V0U25hcHNob3Qgc2hvdWxkIGJlIGNhY2hlZCB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wJyk7XG5cbiAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwcmV2U25hcHNob3QgPSBob29rLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzbmFwc2hvdENoYW5nZWQgPSAhb2JqZWN0SXMocHJldlNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuXG4gIGlmIChzbmFwc2hvdENoYW5nZWQpIHtcbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgfVxuXG4gIHZhciBpbnN0ID0gaG9vay5xdWV1ZTtcbiAgdXBkYXRlRWZmZWN0KHN1YnNjcmliZVRvU3RvcmUuYmluZChudWxsLCBmaWJlciwgaW5zdCwgc3Vic2NyaWJlKSwgW3N1YnNjcmliZV0pOyAvLyBXaGVuZXZlciBnZXRTbmFwc2hvdCBvciBzdWJzY3JpYmUgY2hhbmdlcywgd2UgbmVlZCB0byBjaGVjayBpbiB0aGVcbiAgLy8gY29tbWl0IHBoYXNlIGlmIHRoZXJlIHdhcyBhbiBpbnRlcmxlYXZlZCBtdXRhdGlvbi4gSW4gY29uY3VycmVudCBtb2RlXG4gIC8vIHRoaXMgY2FuIGhhcHBlbiBhbGwgdGhlIHRpbWUsIGJ1dCBldmVuIGluIHN5bmNocm9ub3VzIG1vZGUsIGFuIGVhcmxpZXJcbiAgLy8gZWZmZWN0IG1heSBoYXZlIG11dGF0ZWQgdGhlIHN0b3JlLlxuXG4gIGlmIChpbnN0LmdldFNuYXBzaG90ICE9PSBnZXRTbmFwc2hvdCB8fCBzbmFwc2hvdENoYW5nZWQgfHwgLy8gQ2hlY2sgaWYgdGhlIHN1c2JjcmliZSBmdW5jdGlvbiBjaGFuZ2VkLiBXZSBjYW4gc2F2ZSBzb21lIG1lbW9yeSBieVxuICAvLyBjaGVja2luZyB3aGV0aGVyIHdlIHNjaGVkdWxlZCBhIHN1YnNjcmlwdGlvbiBlZmZlY3QgYWJvdmUuXG4gIHdvcmtJblByb2dyZXNzSG9vayAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzc0hvb2subWVtb2l6ZWRTdGF0ZS50YWcgJiBIYXNFZmZlY3QpIHtcbiAgICBmaWJlci5mbGFncyB8PSBQYXNzaXZlO1xuICAgIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSQxLCB1cGRhdGVTdG9yZUluc3RhbmNlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpLCB1bmRlZmluZWQsIG51bGwpOyAvLyBVbmxlc3Mgd2UncmUgcmVuZGVyaW5nIGEgYmxvY2tpbmcgbGFuZSwgc2NoZWR1bGUgYSBjb25zaXN0ZW5jeSBjaGVjay5cbiAgICAvLyBSaWdodCBiZWZvcmUgY29tbWl0dGluZywgd2Ugd2lsbCB3YWxrIHRoZSB0cmVlIGFuZCBjaGVjayBpZiBhbnkgb2YgdGhlXG4gICAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZC5cblxuICAgIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG5cbiAgICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHdvcmstaW4tcHJvZ3Jlc3Mgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCByZW5kZXJMYW5lcykpIHtcbiAgICAgIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXh0U25hcHNob3Q7XG59XG5cbmZ1bmN0aW9uIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCByZW5kZXJlZFNuYXBzaG90KSB7XG4gIGZpYmVyLmZsYWdzIHw9IFN0b3JlQ29uc2lzdGVuY3k7XG4gIHZhciBjaGVjayA9IHtcbiAgICBnZXRTbmFwc2hvdDogZ2V0U25hcHNob3QsXG4gICAgdmFsdWU6IHJlbmRlcmVkU25hcHNob3RcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzID0gW2NoZWNrXTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgc3RvcmVzID0gY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzO1xuXG4gICAgaWYgKHN0b3JlcyA9PT0gbnVsbCkge1xuICAgICAgY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzID0gW2NoZWNrXTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RvcmVzLnB1c2goY2hlY2spO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVTdG9yZUluc3RhbmNlKGZpYmVyLCBpbnN0LCBuZXh0U25hcHNob3QsIGdldFNuYXBzaG90KSB7XG4gIC8vIFRoZXNlIGFyZSB1cGRhdGVkIGluIHRoZSBwYXNzaXZlIHBoYXNlXG4gIGluc3QudmFsdWUgPSBuZXh0U25hcHNob3Q7XG4gIGluc3QuZ2V0U25hcHNob3QgPSBnZXRTbmFwc2hvdDsgLy8gU29tZXRoaW5nIG1heSBoYXZlIGJlZW4gbXV0YXRlZCBpbiBiZXR3ZWVuIHJlbmRlciBhbmQgY29tbWl0LiBUaGlzIGNvdWxkXG4gIC8vIGhhdmUgYmVlbiBpbiBhbiBldmVudCB0aGF0IGZpcmVkIGJlZm9yZSB0aGUgcGFzc2l2ZSBlZmZlY3RzLCBvciBpdCBjb3VsZFxuICAvLyBoYXZlIGJlZW4gaW4gYSBsYXlvdXQgZWZmZWN0LiBJbiB0aGF0IGNhc2UsIHdlIHdvdWxkIGhhdmUgdXNlZCB0aGUgb2xkXG4gIC8vIHNuYXBzaG8gYW5kIGdldFNuYXBzaG90IHZhbHVlcyB0byBiYWlsIG91dC4gV2UgbmVlZCB0byBjaGVjayBvbmUgbW9yZSB0aW1lLlxuXG4gIGlmIChjaGVja0lmU25hcHNob3RDaGFuZ2VkKGluc3QpKSB7XG4gICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgZm9yY2VTdG9yZVJlcmVuZGVyKGZpYmVyKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdWJzY3JpYmVUb1N0b3JlKGZpYmVyLCBpbnN0LCBzdWJzY3JpYmUpIHtcbiAgdmFyIGhhbmRsZVN0b3JlQ2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgIC8vIFRoZSBzdG9yZSBjaGFuZ2VkLiBDaGVjayBpZiB0aGUgc25hcHNob3QgY2hhbmdlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlXG4gICAgLy8gcmVhZCBmcm9tIHRoZSBzdG9yZS5cbiAgICBpZiAoY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSkge1xuICAgICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgICBmb3JjZVN0b3JlUmVyZW5kZXIoZmliZXIpO1xuICAgIH1cbiAgfTsgLy8gU3Vic2NyaWJlIHRvIHRoZSBzdG9yZSBhbmQgcmV0dXJuIGEgY2xlYW4tdXAgZnVuY3Rpb24uXG5cblxuICByZXR1cm4gc3Vic2NyaWJlKGhhbmRsZVN0b3JlQ2hhbmdlKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSB7XG4gIHZhciBsYXRlc3RHZXRTbmFwc2hvdCA9IGluc3QuZ2V0U25hcHNob3Q7XG4gIHZhciBwcmV2VmFsdWUgPSBpbnN0LnZhbHVlO1xuXG4gIHRyeSB7XG4gICAgdmFyIG5leHRWYWx1ZSA9IGxhdGVzdEdldFNuYXBzaG90KCk7XG4gICAgcmV0dXJuICFvYmplY3RJcyhwcmV2VmFsdWUsIG5leHRWYWx1ZSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9yY2VTdG9yZVJlcmVuZGVyKGZpYmVyKSB7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuXG4gIGlmICh0eXBlb2YgaW5pdGlhbFN0YXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gJEZsb3dGaXhNZTogRmxvdyBkb2Vzbid0IGxpa2UgbWl4ZWQgdHlwZXNcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGUoKTtcbiAgfVxuXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IGhvb2suYmFzZVN0YXRlID0gaW5pdGlhbFN0YXRlO1xuICB2YXIgcXVldWUgPSB7XG4gICAgcGVuZGluZzogbnVsbCxcbiAgICBpbnRlcmxlYXZlZDogbnVsbCxcbiAgICBsYW5lczogTm9MYW5lcyxcbiAgICBkaXNwYXRjaDogbnVsbCxcbiAgICBsYXN0UmVuZGVyZWRSZWR1Y2VyOiBiYXNpY1N0YXRlUmVkdWNlcixcbiAgICBsYXN0UmVuZGVyZWRTdGF0ZTogaW5pdGlhbFN0YXRlXG4gIH07XG4gIGhvb2sucXVldWUgPSBxdWV1ZTtcbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2ggPSBkaXNwYXRjaFNldFN0YXRlLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgcXVldWUpO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgcmV0dXJuIHVwZGF0ZVJlZHVjZXIoYmFzaWNTdGF0ZVJlZHVjZXIpO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICByZXR1cm4gcmVyZW5kZXJSZWR1Y2VyKGJhc2ljU3RhdGVSZWR1Y2VyKTtcbn1cblxuZnVuY3Rpb24gcHVzaEVmZmVjdCh0YWcsIGNyZWF0ZSwgZGVzdHJveSwgZGVwcykge1xuICB2YXIgZWZmZWN0ID0ge1xuICAgIHRhZzogdGFnLFxuICAgIGNyZWF0ZTogY3JlYXRlLFxuICAgIGRlc3Ryb3k6IGRlc3Ryb3ksXG4gICAgZGVwczogZGVwcyxcbiAgICAvLyBDaXJjdWxhclxuICAgIG5leHQ6IG51bGxcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdC5uZXh0ID0gZWZmZWN0O1xuICB9IGVsc2Uge1xuICAgIHZhciBsYXN0RWZmZWN0ID0gY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgIGlmIChsYXN0RWZmZWN0ID09PSBudWxsKSB7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0Lm5leHQgPSBlZmZlY3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdEVmZmVjdCA9IGxhc3RFZmZlY3QubmV4dDtcbiAgICAgIGxhc3RFZmZlY3QubmV4dCA9IGVmZmVjdDtcbiAgICAgIGVmZmVjdC5uZXh0ID0gZmlyc3RFZmZlY3Q7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlZmZlY3Q7XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVmKGluaXRpYWxWYWx1ZSkge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAge1xuICAgIHZhciBfcmVmMiA9IHtcbiAgICAgIGN1cnJlbnQ6IGluaXRpYWxWYWx1ZVxuICAgIH07XG4gICAgaG9vay5tZW1vaXplZFN0YXRlID0gX3JlZjI7XG4gICAgcmV0dXJuIF9yZWYyO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVJlZihpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgcmV0dXJuIGhvb2subWVtb2l6ZWRTdGF0ZTtcbn1cblxuZnVuY3Rpb24gbW91bnRFZmZlY3RJbXBsKGZpYmVyRmxhZ3MsIGhvb2tGbGFncywgY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZmxhZ3MgfD0gZmliZXJGbGFncztcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gcHVzaEVmZmVjdChIYXNFZmZlY3QgfCBob29rRmxhZ3MsIGNyZWF0ZSwgdW5kZWZpbmVkLCBuZXh0RGVwcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUVmZmVjdEltcGwoZmliZXJGbGFncywgaG9va0ZsYWdzLCBjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIHZhciBkZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gIGlmIChjdXJyZW50SG9vayAhPT0gbnVsbCkge1xuICAgIHZhciBwcmV2RWZmZWN0ID0gY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgICBkZXN0cm95ID0gcHJldkVmZmVjdC5kZXN0cm95O1xuXG4gICAgaWYgKG5leHREZXBzICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldkRlcHMgPSBwcmV2RWZmZWN0LmRlcHM7XG5cbiAgICAgIGlmIChhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSkge1xuICAgICAgICBob29rLm1lbW9pemVkU3RhdGUgPSBwdXNoRWZmZWN0KGhvb2tGbGFncywgY3JlYXRlLCBkZXN0cm95LCBuZXh0RGVwcyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmZsYWdzIHw9IGZpYmVyRmxhZ3M7XG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgaG9va0ZsYWdzLCBjcmVhdGUsIGRlc3Ryb3ksIG5leHREZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIGlmICggKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgcmV0dXJuIG1vdW50RWZmZWN0SW1wbChNb3VudFBhc3NpdmVEZXYgfCBQYXNzaXZlIHwgUGFzc2l2ZVN0YXRpYywgUGFzc2l2ZSQxLCBjcmVhdGUsIGRlcHMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBtb3VudEVmZmVjdEltcGwoUGFzc2l2ZSB8IFBhc3NpdmVTdGF0aWMsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFBhc3NpdmUsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHJldHVybiBtb3VudEVmZmVjdEltcGwoVXBkYXRlLCBJbnNlcnRpb24sIGNyZWF0ZSwgZGVwcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgcmV0dXJuIHVwZGF0ZUVmZmVjdEltcGwoVXBkYXRlLCBJbnNlcnRpb24sIGNyZWF0ZSwgZGVwcyk7XG59XG5cbmZ1bmN0aW9uIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZmliZXJGbGFncyA9IFVwZGF0ZTtcblxuICB7XG4gICAgZmliZXJGbGFncyB8PSBMYXlvdXRTdGF0aWM7XG4gIH1cblxuICBpZiAoIChjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1vZGUgJiBTdHJpY3RFZmZlY3RzTW9kZSkgIT09IE5vTW9kZSkge1xuICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gIH1cblxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKGZpYmVyRmxhZ3MsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICByZXR1cm4gdXBkYXRlRWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gaW1wZXJhdGl2ZUhhbmRsZUVmZmVjdChjcmVhdGUsIHJlZikge1xuICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciByZWZDYWxsYmFjayA9IHJlZjtcblxuICAgIHZhciBfaW5zdCA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmQ2FsbGJhY2soX2luc3QpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZWZDYWxsYmFjayhudWxsKTtcbiAgICB9O1xuICB9IGVsc2UgaWYgKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHZhciByZWZPYmplY3QgPSByZWY7XG5cbiAgICB7XG4gICAgICBpZiAoIXJlZk9iamVjdC5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgZmlyc3QgYXJndW1lbnQgdG8gZWl0aGVyIGJlIGEgJyArICdyZWYgY2FsbGJhY2sgb3IgUmVhY3QuY3JlYXRlUmVmKCkgb2JqZWN0LiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCAnYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKHJlZk9iamVjdCkuam9pbignLCAnKSArICd9Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIF9pbnN0MiA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmT2JqZWN0LmN1cnJlbnQgPSBfaW5zdDI7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJlZk9iamVjdC5jdXJyZW50ID0gbnVsbDtcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xuXG5cbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XG4gIHZhciBmaWJlckZsYWdzID0gVXBkYXRlO1xuXG4gIHtcbiAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgfVxuXG4gIGlmICggKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgZmliZXJGbGFncyB8PSBNb3VudExheW91dERldjtcbiAgfVxuXG4gIHJldHVybiBtb3VudEVmZmVjdEltcGwoZmliZXJGbGFncywgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xuXG5cbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnREZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbikgey8vIFRoaXMgaG9vayBpcyBub3JtYWxseSBhIG5vLW9wLlxuICAvLyBUaGUgcmVhY3QtZGVidWctaG9va3MgcGFja2FnZSBpbmplY3RzIGl0cyBvd24gaW1wbGVtZW50YXRpb25cbiAgLy8gc28gdGhhdCBlLmcuIERldlRvb2xzIGNhbiBkaXNwbGF5IGN1c3RvbSBob29rIHZhbHVlcy5cbn1cblxudmFyIHVwZGF0ZURlYnVnVmFsdWUgPSBtb3VudERlYnVnVmFsdWU7XG5cbmZ1bmN0aW9uIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW2NhbGxiYWNrLCBuZXh0RGVwc107XG4gIHJldHVybiBjYWxsYmFjaztcbn1cblxuZnVuY3Rpb24gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIHZhciBwcmV2U3RhdGUgPSBob29rLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xuICAgIGlmIChuZXh0RGVwcyAhPT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZEZXBzID0gcHJldlN0YXRlWzFdO1xuXG4gICAgICBpZiAoYXJlSG9va0lucHV0c0VxdWFsKG5leHREZXBzLCBwcmV2RGVwcykpIHtcbiAgICAgICAgcmV0dXJuIHByZXZTdGF0ZVswXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBbY2FsbGJhY2ssIG5leHREZXBzXTtcbiAgcmV0dXJuIGNhbGxiYWNrO1xufVxuXG5mdW5jdGlvbiBtb3VudE1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICB2YXIgbmV4dFZhbHVlID0gbmV4dENyZWF0ZSgpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBbbmV4dFZhbHVlLCBuZXh0RGVwc107XG4gIHJldHVybiBuZXh0VmFsdWU7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgdmFyIHByZXZTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgLy8gQXNzdW1lIHRoZXNlIGFyZSBkZWZpbmVkLiBJZiB0aGV5J3JlIG5vdCwgYXJlSG9va0lucHV0c0VxdWFsIHdpbGwgd2Fybi5cbiAgICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBwcmV2RGVwcyA9IHByZXZTdGF0ZVsxXTtcblxuICAgICAgaWYgKGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpKSB7XG4gICAgICAgIHJldHVybiBwcmV2U3RhdGVbMF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5leHRWYWx1ZSA9IG5leHRDcmVhdGUoKTtcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW25leHRWYWx1ZSwgbmV4dERlcHNdO1xuICByZXR1cm4gbmV4dFZhbHVlO1xufVxuXG5mdW5jdGlvbiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSB2YWx1ZTtcbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciByZXNvbHZlZEN1cnJlbnRIb29rID0gY3VycmVudEhvb2s7XG4gIHZhciBwcmV2VmFsdWUgPSByZXNvbHZlZEN1cnJlbnRIb29rLm1lbW9pemVkU3RhdGU7XG4gIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlSW1wbChob29rLCBwcmV2VmFsdWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gcmVyZW5kZXJEZWZlcnJlZFZhbHVlKHZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAgaWYgKGN1cnJlbnRIb29rID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlcmVuZGVyIGR1cmluZyBhIG1vdW50LlxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVyZW5kZXIgZHVyaW5nIGFuIHVwZGF0ZS5cbiAgICB2YXIgcHJldlZhbHVlID0gY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgICByZXR1cm4gdXBkYXRlRGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgcHJldlZhbHVlLCB2YWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlRGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgcHJldlZhbHVlLCB2YWx1ZSkge1xuICB2YXIgc2hvdWxkRGVmZXJWYWx1ZSA9ICFpbmNsdWRlc09ubHlOb25VcmdlbnRMYW5lcyhyZW5kZXJMYW5lcyk7XG5cbiAgaWYgKHNob3VsZERlZmVyVmFsdWUpIHtcbiAgICAvLyBUaGlzIGlzIGFuIHVyZ2VudCB1cGRhdGUuIElmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZCwga2VlcCB1c2luZyB0aGVcbiAgICAvLyBwcmV2aW91cyB2YWx1ZSBhbmQgc3Bhd24gYSBkZWZlcnJlZCByZW5kZXIgdG8gdXBkYXRlIGl0IGxhdGVyLlxuICAgIGlmICghb2JqZWN0SXModmFsdWUsIHByZXZWYWx1ZSkpIHtcbiAgICAgIC8vIFNjaGVkdWxlIGEgZGVmZXJyZWQgcmVuZGVyXG4gICAgICB2YXIgZGVmZXJyZWRMYW5lID0gY2xhaW1OZXh0VHJhbnNpdGlvbkxhbmUoKTtcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMgPSBtZXJnZUxhbmVzKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMsIGRlZmVycmVkTGFuZSk7XG4gICAgICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKGRlZmVycmVkTGFuZSk7IC8vIFNldCB0aGlzIHRvIHRydWUgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcmVuZGVyZWQgdmFsdWUgaXMgaW5jb25zaXN0ZW50XG4gICAgICAvLyBmcm9tIHRoZSBsYXRlc3QgdmFsdWUuIFRoZSBuYW1lIFwiYmFzZVN0YXRlXCIgZG9lc24ndCByZWFsbHkgbWF0Y2ggaG93IHdlXG4gICAgICAvLyB1c2UgaXQgYmVjYXVzZSB3ZSdyZSByZXVzaW5nIGEgc3RhdGUgaG9vayBmaWVsZCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGFcbiAgICAgIC8vIG5ldyBvbmUuXG5cbiAgICAgIGhvb2suYmFzZVN0YXRlID0gdHJ1ZTtcbiAgICB9IC8vIFJldXNlIHRoZSBwcmV2aW91cyB2YWx1ZVxuXG5cbiAgICByZXR1cm4gcHJldlZhbHVlO1xuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgbm90IGFuIHVyZ2VudCB1cGRhdGUsIHNvIHdlIGNhbiB1c2UgdGhlIGxhdGVzdCB2YWx1ZSByZWdhcmRsZXNzXG4gICAgLy8gb2Ygd2hhdCBpdCBpcy4gTm8gbmVlZCB0byBkZWZlciBpdC5cbiAgICAvLyBIb3dldmVyLCBpZiB3ZSdyZSBjdXJyZW50bHkgaW5zaWRlIGEgc3Bhd25lZCByZW5kZXIsIHRoZW4gd2UgbmVlZCB0byBtYXJrXG4gICAgLy8gdGhpcyBhcyBhbiB1cGRhdGUgdG8gcHJldmVudCB0aGUgZmliZXIgZnJvbSBiYWlsaW5nIG91dC5cbiAgICAvL1xuICAgIC8vIGBiYXNlU3RhdGVgIGlzIHRydWUgd2hlbiB0aGUgY3VycmVudCB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcmVuZGVyZWRcbiAgICAvLyB2YWx1ZS4gVGhlIG5hbWUgZG9lc24ndCByZWFsbHkgbWF0Y2ggaG93IHdlIHVzZSBpdCBiZWNhdXNlIHdlJ3JlIHJldXNpbmdcbiAgICAvLyBhIHN0YXRlIGhvb2sgZmllbGQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmUuXG4gICAgaWYgKGhvb2suYmFzZVN0YXRlKSB7XG4gICAgICAvLyBGbGlwIHRoaXMgYmFjayB0byBmYWxzZS5cbiAgICAgIGhvb2suYmFzZVN0YXRlID0gZmFsc2U7XG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdGFydFRyYW5zaXRpb24oc2V0UGVuZGluZywgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIHByZXZpb3VzUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KGhpZ2hlckV2ZW50UHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSwgQ29udGludW91c0V2ZW50UHJpb3JpdHkpKTtcbiAgc2V0UGVuZGluZyh0cnVlKTtcbiAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMi50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQyLnRyYW5zaXRpb24gPSB7fTtcbiAgdmFyIGN1cnJlbnRUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMi50cmFuc2l0aW9uO1xuXG4gIHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQyLnRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMgPSBuZXcgU2V0KCk7XG4gIH1cblxuICB0cnkge1xuICAgIHNldFBlbmRpbmcoZmFsc2UpO1xuICAgIGNhbGxiYWNrKCk7XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDIudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuXG4gICAge1xuICAgICAgaWYgKHByZXZUcmFuc2l0aW9uID09PSBudWxsICYmIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzKSB7XG4gICAgICAgIHZhciB1cGRhdGVkRmliZXJzQ291bnQgPSBjdXJyZW50VHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5zaXplO1xuXG4gICAgICAgIGlmICh1cGRhdGVkRmliZXJzQ291bnQgPiAxMCkge1xuICAgICAgICAgIHdhcm4oJ0RldGVjdGVkIGEgbGFyZ2UgbnVtYmVyIG9mIHVwZGF0ZXMgaW5zaWRlIHN0YXJ0VHJhbnNpdGlvbi4gJyArICdJZiB0aGlzIGlzIGR1ZSB0byBhIHN1YnNjcmlwdGlvbiBwbGVhc2UgcmUtd3JpdGUgaXQgdG8gdXNlIFJlYWN0IHByb3ZpZGVkIGhvb2tzLiAnICsgJ090aGVyd2lzZSBjb25jdXJyZW50IG1vZGUgZ3VhcmFudGVlcyBhcmUgb2ZmIHRoZSB0YWJsZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50VHJhbnNpdGlvbigpIHtcbiAgdmFyIF9tb3VudFN0YXRlID0gbW91bnRTdGF0ZShmYWxzZSksXG4gICAgICBpc1BlbmRpbmcgPSBfbW91bnRTdGF0ZVswXSxcbiAgICAgIHNldFBlbmRpbmcgPSBfbW91bnRTdGF0ZVsxXTsgLy8gVGhlIGBzdGFydGAgbWV0aG9kIG5ldmVyIGNoYW5nZXMuXG5cblxuICB2YXIgc3RhcnQgPSBzdGFydFRyYW5zaXRpb24uYmluZChudWxsLCBzZXRQZW5kaW5nKTtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBzdGFydDtcbiAgcmV0dXJuIFtpc1BlbmRpbmcsIHN0YXJ0XTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVHJhbnNpdGlvbigpIHtcbiAgdmFyIF91cGRhdGVTdGF0ZSA9IHVwZGF0ZVN0YXRlKCksXG4gICAgICBpc1BlbmRpbmcgPSBfdXBkYXRlU3RhdGVbMF07XG5cbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHN0YXJ0ID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gW2lzUGVuZGluZywgc3RhcnRdO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclRyYW5zaXRpb24oKSB7XG4gIHZhciBfcmVyZW5kZXJTdGF0ZSA9IHJlcmVuZGVyU3RhdGUoKSxcbiAgICAgIGlzUGVuZGluZyA9IF9yZXJlbmRlclN0YXRlWzBdO1xuXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBzdGFydCA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgcmV0dXJuIFtpc1BlbmRpbmcsIHN0YXJ0XTtcbn1cblxudmFyIGlzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2UgPSBmYWxzZTtcbmZ1bmN0aW9uIGdldElzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2VJbkRFVigpIHtcbiAge1xuICAgIHJldHVybiBpc1VwZGF0aW5nT3BhcXVlVmFsdWVJblJlbmRlclBoYXNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50SWQoKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTsgLy8gVE9ETzogSW4gRml6eiwgaWQgZ2VuZXJhdGlvbiBpcyBzcGVjaWZpYyB0byBlYWNoIHNlcnZlciBjb25maWcuIE1heWJlIHdlXG4gIC8vIHNob3VsZCBkbyB0aGlzIGluIEZpYmVyLCB0b28/IERlZmVycmluZyB0aGlzIGRlY2lzaW9uIGZvciBub3cgYmVjYXVzZVxuICAvLyB0aGVyZSdzIG5vIG90aGVyIHBsYWNlIHRvIHN0b3JlIHRoZSBwcmVmaXggZXhjZXB0IGZvciBhbiBpbnRlcm5hbCBmaWVsZCBvblxuICAvLyB0aGUgcHVibGljIGNyZWF0ZVJvb3Qgb2JqZWN0LCB3aGljaCB0aGUgZmliZXIgdHJlZSBkb2VzIG5vdCBjdXJyZW50bHkgaGF2ZVxuICAvLyBhIHJlZmVyZW5jZSB0by5cblxuICB2YXIgaWRlbnRpZmllclByZWZpeCA9IHJvb3QuaWRlbnRpZmllclByZWZpeDtcbiAgdmFyIGlkO1xuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgdmFyIHRyZWVJZCA9IGdldFRyZWVJZCgpOyAvLyBVc2UgYSBjYXB0aWFsIFIgcHJlZml4IGZvciBzZXJ2ZXItZ2VuZXJhdGVkIGlkcy5cblxuICAgIGlkID0gJzonICsgaWRlbnRpZmllclByZWZpeCArICdSJyArIHRyZWVJZDsgLy8gVW5sZXNzIHRoaXMgaXMgdGhlIGZpcnN0IGlkIGF0IHRoaXMgbGV2ZWwsIGFwcGVuZCBhIG51bWJlciBhdCB0aGUgZW5kXG4gICAgLy8gdGhhdCByZXByZXNlbnRzIHRoZSBwb3NpdGlvbiBvZiB0aGlzIHVzZUlkIGhvb2sgYW1vbmcgYWxsIHRoZSB1c2VJZFxuICAgIC8vIGhvb2tzIGZvciB0aGlzIGZpYmVyLlxuXG4gICAgdmFyIGxvY2FsSWQgPSBsb2NhbElkQ291bnRlcisrO1xuXG4gICAgaWYgKGxvY2FsSWQgPiAwKSB7XG4gICAgICBpZCArPSAnSCcgKyBsb2NhbElkLnRvU3RyaW5nKDMyKTtcbiAgICB9XG5cbiAgICBpZCArPSAnOic7XG4gIH0gZWxzZSB7XG4gICAgLy8gVXNlIGEgbG93ZXJjYXNlIHIgcHJlZml4IGZvciBjbGllbnQtZ2VuZXJhdGVkIGlkcy5cbiAgICB2YXIgZ2xvYmFsQ2xpZW50SWQgPSBnbG9iYWxDbGllbnRJZENvdW50ZXIrKztcbiAgICBpZCA9ICc6JyArIGlkZW50aWZpZXJQcmVmaXggKyAncicgKyBnbG9iYWxDbGllbnRJZC50b1N0cmluZygzMikgKyAnOic7XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBpZDtcbiAgcmV0dXJuIGlkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJZCgpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGlkID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gaWQ7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoUmVkdWNlckFjdGlvbihmaWJlciwgcXVldWUsIGFjdGlvbikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXCIgKyAnc2Vjb25kIGNhbGxiYWNrIGFyZ3VtZW50LiBUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgJyArICdyZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gdGhlIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgbGFuZTogbGFuZSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICBlbnF1ZXVlUmVuZGVyUGhhc2VVcGRhdGUocXVldWUsIHVwZGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuXG4gICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgICBlbnRhbmdsZVRyYW5zaXRpb25VcGRhdGUocm9vdCwgcXVldWUsIGxhbmUpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtVcGRhdGVJbkRldlRvb2xzKGZpYmVyLCBsYW5lKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hTZXRTdGF0ZShmaWJlciwgcXVldWUsIGFjdGlvbikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXCIgKyAnc2Vjb25kIGNhbGxiYWNrIGFyZ3VtZW50LiBUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgJyArICdyZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gdGhlIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgbGFuZTogbGFuZSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICBlbnF1ZXVlUmVuZGVyUGhhc2VVcGRhdGUocXVldWUsIHVwZGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChmaWJlci5sYW5lcyA9PT0gTm9MYW5lcyAmJiAoYWx0ZXJuYXRlID09PSBudWxsIHx8IGFsdGVybmF0ZS5sYW5lcyA9PT0gTm9MYW5lcykpIHtcbiAgICAgIC8vIFRoZSBxdWV1ZSBpcyBjdXJyZW50bHkgZW1wdHksIHdoaWNoIG1lYW5zIHdlIGNhbiBlYWdlcmx5IGNvbXB1dGUgdGhlXG4gICAgICAvLyBuZXh0IHN0YXRlIGJlZm9yZSBlbnRlcmluZyB0aGUgcmVuZGVyIHBoYXNlLiBJZiB0aGUgbmV3IHN0YXRlIGlzIHRoZVxuICAgICAgLy8gc2FtZSBhcyB0aGUgY3VycmVudCBzdGF0ZSwgd2UgbWF5IGJlIGFibGUgdG8gYmFpbCBvdXQgZW50aXJlbHkuXG4gICAgICB2YXIgbGFzdFJlbmRlcmVkUmVkdWNlciA9IHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXI7XG5cbiAgICAgIGlmIChsYXN0UmVuZGVyZWRSZWR1Y2VyICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBwcmV2RGlzcGF0Y2hlcjtcblxuICAgICAgICB7XG4gICAgICAgICAgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YXIgY3VycmVudFN0YXRlID0gcXVldWUubGFzdFJlbmRlcmVkU3RhdGU7XG4gICAgICAgICAgdmFyIGVhZ2VyU3RhdGUgPSBsYXN0UmVuZGVyZWRSZWR1Y2VyKGN1cnJlbnRTdGF0ZSwgYWN0aW9uKTsgLy8gU3Rhc2ggdGhlIGVhZ2VybHkgY29tcHV0ZWQgc3RhdGUsIGFuZCB0aGUgcmVkdWNlciB1c2VkIHRvIGNvbXB1dGVcbiAgICAgICAgICAvLyBpdCwgb24gdGhlIHVwZGF0ZSBvYmplY3QuIElmIHRoZSByZWR1Y2VyIGhhc24ndCBjaGFuZ2VkIGJ5IHRoZVxuICAgICAgICAgIC8vIHRpbWUgd2UgZW50ZXIgdGhlIHJlbmRlciBwaGFzZSwgdGhlbiB0aGUgZWFnZXIgc3RhdGUgY2FuIGJlIHVzZWRcbiAgICAgICAgICAvLyB3aXRob3V0IGNhbGxpbmcgdGhlIHJlZHVjZXIgYWdhaW4uXG5cbiAgICAgICAgICB1cGRhdGUuaGFzRWFnZXJTdGF0ZSA9IHRydWU7XG4gICAgICAgICAgdXBkYXRlLmVhZ2VyU3RhdGUgPSBlYWdlclN0YXRlO1xuXG4gICAgICAgICAgaWYgKG9iamVjdElzKGVhZ2VyU3RhdGUsIGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgICAgIC8vIEZhc3QgcGF0aC4gV2UgY2FuIGJhaWwgb3V0IHdpdGhvdXQgc2NoZWR1bGluZyBSZWFjdCB0byByZS1yZW5kZXIuXG4gICAgICAgICAgICAvLyBJdCdzIHN0aWxsIHBvc3NpYmxlIHRoYXQgd2UnbGwgbmVlZCB0byByZWJhc2UgdGhpcyB1cGRhdGUgbGF0ZXIsXG4gICAgICAgICAgICAvLyBpZiB0aGUgY29tcG9uZW50IHJlLXJlbmRlcnMgZm9yIGEgZGlmZmVyZW50IHJlYXNvbiBhbmQgYnkgdGhhdFxuICAgICAgICAgICAgLy8gdGltZSB0aGUgcmVkdWNlciBoYXMgY2hhbmdlZC5cbiAgICAgICAgICAgIC8vIFRPRE86IERvIHdlIHN0aWxsIG5lZWQgdG8gZW50YW5nbGUgdHJhbnNpdGlvbnMgaW4gdGhpcyBjYXNlP1xuICAgICAgICAgICAgZW5xdWV1ZUNvbmN1cnJlbnRIb29rVXBkYXRlQW5kRWFnZXJseUJhaWxvdXQoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsvLyBTdXBwcmVzcyB0aGUgZXJyb3IuIEl0IHdpbGwgdGhyb3cgYWdhaW4gaW4gdGhlIHJlbmRlciBwaGFzZS5cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRIb29rVXBkYXRlKGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9uVXBkYXRlKHJvb3QsIHF1ZXVlLCBsYW5lKTtcbiAgICB9XG4gIH1cblxuICBtYXJrVXBkYXRlSW5EZXZUb29scyhmaWJlciwgbGFuZSk7XG59XG5cbmZ1bmN0aW9uIGlzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcbiAgcmV0dXJuIGZpYmVyID09PSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUgPT09IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDE7XG59XG5cbmZ1bmN0aW9uIGVucXVldWVSZW5kZXJQaGFzZVVwZGF0ZShxdWV1ZSwgdXBkYXRlKSB7XG4gIC8vIFRoaXMgaXMgYSByZW5kZXIgcGhhc2UgdXBkYXRlLiBTdGFzaCBpdCBpbiBhIGxhemlseS1jcmVhdGVkIG1hcCBvZlxuICAvLyBxdWV1ZSAtPiBsaW5rZWQgbGlzdCBvZiB1cGRhdGVzLiBBZnRlciB0aGlzIHJlbmRlciBwYXNzLCB3ZSdsbCByZXN0YXJ0XG4gIC8vIGFuZCBhcHBseSB0aGUgc3Rhc2hlZCB1cGRhdGVzIG9uIHRvcCBvZiB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MgPSBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gdHJ1ZTtcbiAgdmFyIHBlbmRpbmcgPSBxdWV1ZS5wZW5kaW5nO1xuXG4gIGlmIChwZW5kaW5nID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcbiAgfVxuXG4gIHF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XG59IC8vIFRPRE86IE1vdmUgdG8gUmVhY3RGaWJlckNvbmN1cnJlbnRVcGRhdGVzP1xuXG5cbmZ1bmN0aW9uIGVudGFuZ2xlVHJhbnNpdGlvblVwZGF0ZShyb290LCBxdWV1ZSwgbGFuZSkge1xuICBpZiAoaXNUcmFuc2l0aW9uTGFuZShsYW5lKSkge1xuICAgIHZhciBxdWV1ZUxhbmVzID0gcXVldWUubGFuZXM7IC8vIElmIGFueSBlbnRhbmdsZWQgbGFuZXMgYXJlIG5vIGxvbmdlciBwZW5kaW5nIG9uIHRoZSByb290LCB0aGVuIHRoZXlcbiAgICAvLyBtdXN0IGhhdmUgZmluaXNoZWQuIFdlIGNhbiByZW1vdmUgdGhlbSBmcm9tIHRoZSBzaGFyZWQgcXVldWUsIHdoaWNoXG4gICAgLy8gcmVwcmVzZW50cyBhIHN1cGVyc2V0IG9mIHRoZSBhY3R1YWxseSBwZW5kaW5nIGxhbmVzLiBJbiBzb21lIGNhc2VzIHdlXG4gICAgLy8gbWF5IGVudGFuZ2xlIG1vcmUgdGhhbiB3ZSBuZWVkIHRvLCBidXQgdGhhdCdzIE9LLiBJbiBmYWN0IGl0J3Mgd29yc2UgaWZcbiAgICAvLyB3ZSAqZG9uJ3QqIGVudGFuZ2xlIHdoZW4gd2Ugc2hvdWxkLlxuXG4gICAgcXVldWVMYW5lcyA9IGludGVyc2VjdExhbmVzKHF1ZXVlTGFuZXMsIHJvb3QucGVuZGluZ0xhbmVzKTsgLy8gRW50YW5nbGUgdGhlIG5ldyB0cmFuc2l0aW9uIGxhbmUgd2l0aCB0aGUgb3RoZXIgdHJhbnNpdGlvbiBsYW5lcy5cblxuICAgIHZhciBuZXdRdWV1ZUxhbmVzID0gbWVyZ2VMYW5lcyhxdWV1ZUxhbmVzLCBsYW5lKTtcbiAgICBxdWV1ZS5sYW5lcyA9IG5ld1F1ZXVlTGFuZXM7IC8vIEV2ZW4gaWYgcXVldWUubGFuZXMgYWxyZWFkeSBpbmNsdWRlIGxhbmUsIHdlIGRvbid0IGtub3cgZm9yIGNlcnRhaW4gaWZcbiAgICAvLyB0aGUgbGFuZSBmaW5pc2hlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIGVudGFuZ2xlZCBpdC4gU28gd2UgbmVlZCB0b1xuICAgIC8vIGVudGFuZ2xlIGl0IGFnYWluLCBqdXN0IHRvIGJlIHN1cmUuXG5cbiAgICBtYXJrUm9vdEVudGFuZ2xlZChyb290LCBuZXdRdWV1ZUxhbmVzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrVXBkYXRlSW5EZXZUb29scyhmaWJlciwgbGFuZSwgYWN0aW9uKSB7XG5cbiAge1xuICAgIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gIH1cbn1cblxudmFyIENvbnRleHRPbmx5RGlzcGF0Y2hlciA9IHtcbiAgcmVhZENvbnRleHQ6IHJlYWRDb250ZXh0LFxuICB1c2VDYWxsYmFjazogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VDb250ZXh0OiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUluc2VydGlvbkVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VMYXlvdXRFZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlTWVtbzogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VSZWR1Y2VyOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVJlZjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VTdGF0ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VEZWJ1Z1ZhbHVlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZURlZmVycmVkVmFsdWU6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlVHJhbnNpdGlvbjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VNdXRhYmxlU291cmNlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUlkOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxufTtcblxudmFyIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25Nb3VudFdpdGhIb29rVHlwZXNJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IG51bGw7XG5cbntcbiAgdmFyIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gJyArICdJbiBjbGFzc2VzLCB5b3UgY2FuIHJlYWQgaXQgaW4gdGhlIHJlbmRlciBtZXRob2Qgb3IgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiAnICsgJ0luIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCAnICsgJ2luc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuJyk7XG4gIH07XG5cbiAgdmFyIHdhcm5JbnZhbGlkSG9va0FjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignRG8gbm90IGNhbGwgSG9va3MgaW5zaWRlIHVzZUVmZmVjdCguLi4pLCB1c2VNZW1vKC4uLiksIG9yIG90aGVyIGJ1aWx0LWluIEhvb2tzLiAnICsgJ1lvdSBjYW4gb25seSBjYWxsIEhvb2tzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgeW91ciBSZWFjdCBmdW5jdGlvbi4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3J1bGVzLW9mLWhvb2tzJyk7XG4gIH07XG5cbiAgSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50SW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcyk7XG4gICAgICByZXR1cm4gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudFJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnREZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TXV0YWJsZVNvdXJjZSgpO1xuICAgIH0sXG4gICAgdXNlU3luY0V4dGVybmFsU3RvcmU6IGZ1bmN0aW9uIChzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3luY0V4dGVybmFsU3RvcmUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRXaXRoSG9va1R5cGVzSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudE11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50U3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlU3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlKTtcbiAgICB9LFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IHtcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcygpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbnNlcnRpb25FZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUluc2VydGlvbkVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50TWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKCk7XG4gICAgfSxcbiAgICB1c2VNdXRhYmxlU291cmNlOiBmdW5jdGlvbiAoc291cmNlLCBnZXRTbmFwc2hvdCwgc3Vic2NyaWJlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNdXRhYmxlU291cmNlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudE11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlUmVmKCk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVidWdWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRyYW5zaXRpb24oKTtcbiAgICB9LFxuICAgIHVzZU11dGFibGVTb3VyY2U6IGZ1bmN0aW9uIChzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU11dGFibGVTb3VyY2UnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXJlbmRlclJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZXJlbmRlckRlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZU11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCk7XG4gICAgfSxcbiAgICB1c2VJZDogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSWQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG59XG5cbnZhciBub3ckMSA9IFNjaGVkdWxlci51bnN0YWJsZV9ub3c7XG52YXIgY29tbWl0VGltZSA9IDA7XG52YXIgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gLTE7XG52YXIgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbnZhciBwYXNzaXZlRWZmZWN0U3RhcnRUaW1lID0gLTE7XG4vKipcbiAqIFRyYWNrcyB3aGV0aGVyIHRoZSBjdXJyZW50IHVwZGF0ZSB3YXMgYSBuZXN0ZWQvY2FzY2FkaW5nIHVwZGF0ZSAoc2NoZWR1bGVkIGZyb20gYSBsYXlvdXQgZWZmZWN0KS5cbiAqXG4gKiBUaGUgb3ZlcmFsbCBzZXF1ZW5jZSBpczpcbiAqICAgMS4gcmVuZGVyXG4gKiAgIDIuIGNvbW1pdCAoYW5kIGNhbGwgYG9uUmVuZGVyYCwgYG9uQ29tbWl0YClcbiAqICAgMy4gY2hlY2sgZm9yIG5lc3RlZCB1cGRhdGVzXG4gKiAgIDQuIGZsdXNoIHBhc3NpdmUgZWZmZWN0cyAoYW5kIGNhbGwgYG9uUG9zdENvbW1pdGApXG4gKlxuICogTmVzdGVkIHVwZGF0ZXMgYXJlIGlkZW50aWZpZWQgaW4gc3RlcCAzIGFib3ZlLFxuICogYnV0IHN0ZXAgNCBzdGlsbCBhcHBsaWVzIHRvIHRoZSB3b3JrIHRoYXQgd2FzIGp1c3QgY29tbWl0dGVkLlxuICogV2UgdXNlIHR3byBmbGFncyB0byB0cmFjayBuZXN0ZWQgdXBkYXRlcyB0aGVuOlxuICogb25lIHRyYWNrcyB3aGV0aGVyIHRoZSB1cGNvbWluZyB1cGRhdGUgaXMgYSBuZXN0ZWQgdXBkYXRlLFxuICogYW5kIHRoZSBvdGhlciB0cmFja3Mgd2hldGhlciB0aGUgY3VycmVudCB1cGRhdGUgd2FzIGEgbmVzdGVkIHVwZGF0ZS5cbiAqIFRoZSBmaXJzdCB2YWx1ZSBnZXRzIHN5bmNlZCB0byB0aGUgc2Vjb25kIGF0IHRoZSBzdGFydCBvZiB0aGUgcmVuZGVyIHBoYXNlLlxuICovXG5cbnZhciBjdXJyZW50VXBkYXRlSXNOZXN0ZWQgPSBmYWxzZTtcbnZhciBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcblxuZnVuY3Rpb24gaXNDdXJyZW50VXBkYXRlTmVzdGVkKCkge1xuICByZXR1cm4gY3VycmVudFVwZGF0ZUlzTmVzdGVkO1xufVxuXG5mdW5jdGlvbiBtYXJrTmVzdGVkVXBkYXRlU2NoZWR1bGVkKCkge1xuICB7XG4gICAgbmVzdGVkVXBkYXRlU2NoZWR1bGVkID0gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldE5lc3RlZFVwZGF0ZUZsYWcoKSB7XG4gIHtcbiAgICBjdXJyZW50VXBkYXRlSXNOZXN0ZWQgPSBmYWxzZTtcbiAgICBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzeW5jTmVzdGVkVXBkYXRlRmxhZygpIHtcbiAge1xuICAgIGN1cnJlbnRVcGRhdGVJc05lc3RlZCA9IG5lc3RlZFVwZGF0ZVNjaGVkdWxlZDtcbiAgICBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDb21taXRUaW1lKCkge1xuICByZXR1cm4gY29tbWl0VGltZTtcbn1cblxuZnVuY3Rpb24gcmVjb3JkQ29tbWl0VGltZSgpIHtcblxuICBjb21taXRUaW1lID0gbm93JDEoKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQcm9maWxlclRpbWVyKGZpYmVyKSB7XG5cbiAgcHJvZmlsZXJTdGFydFRpbWUgPSBub3ckMSgpO1xuXG4gIGlmIChmaWJlci5hY3R1YWxTdGFydFRpbWUgPCAwKSB7XG4gICAgZmliZXIuYWN0dWFsU3RhcnRUaW1lID0gbm93JDEoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZyhmaWJlcikge1xuXG4gIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XG59XG5cbmZ1bmN0aW9uIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEoZmliZXIsIG92ZXJyaWRlQmFzZVRpbWUpIHtcblxuICBpZiAocHJvZmlsZXJTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwcm9maWxlclN0YXJ0VGltZTtcbiAgICBmaWJlci5hY3R1YWxEdXJhdGlvbiArPSBlbGFwc2VkVGltZTtcblxuICAgIGlmIChvdmVycmlkZUJhc2VUaW1lKSB7XG4gICAgICBmaWJlci5zZWxmQmFzZUR1cmF0aW9uID0gZWxhcHNlZFRpbWU7XG4gICAgfVxuXG4gICAgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaWJlcikge1xuXG4gIGlmIChsYXlvdXRFZmZlY3RTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBsYXlvdXRFZmZlY3RTdGFydFRpbWU7XG4gICAgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gLTE7IC8vIFN0b3JlIGR1cmF0aW9uIG9uIHRoZSBuZXh0IG5lYXJlc3QgUHJvZmlsZXIgYW5jZXN0b3JcbiAgICAvLyBPciB0aGUgcm9vdCAoZm9yIHRoZSBEZXZUb29scyBQcm9maWxlciB0byByZWFkKVxuXG4gICAgdmFyIHBhcmVudEZpYmVyID0gZmliZXIucmV0dXJuO1xuXG4gICAgd2hpbGUgKHBhcmVudEZpYmVyICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKHBhcmVudEZpYmVyLnRhZykge1xuICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgIHZhciByb290ID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgIHJvb3QuZWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICBwYXJlbnRTdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBwYXJlbnRGaWJlciA9IHBhcmVudEZpYmVyLnJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVjb3JkUGFzc2l2ZUVmZmVjdER1cmF0aW9uKGZpYmVyKSB7XG5cbiAgaWYgKHBhc3NpdmVFZmZlY3RTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwYXNzaXZlRWZmZWN0U3RhcnRUaW1lO1xuICAgIHBhc3NpdmVFZmZlY3RTdGFydFRpbWUgPSAtMTsgLy8gU3RvcmUgZHVyYXRpb24gb24gdGhlIG5leHQgbmVhcmVzdCBQcm9maWxlciBhbmNlc3RvclxuICAgIC8vIE9yIHRoZSByb290IChmb3IgdGhlIERldlRvb2xzIFByb2ZpbGVyIHRvIHJlYWQpXG5cbiAgICB2YXIgcGFyZW50RmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgICB3aGlsZSAocGFyZW50RmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocGFyZW50RmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgdmFyIHJvb3QgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcm9vdC5wYXNzaXZlRWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmIChwYXJlbnRTdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIERldGFjaGVkIGZpYmVycyBoYXZlIHRoZWlyIHN0YXRlIG5vZGUgY2xlYXJlZCBvdXQuXG4gICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHRoZSByZXR1cm4gcG9pbnRlciBpcyBhbHNvIGNsZWFyZWQgb3V0LFxuICAgICAgICAgICAgLy8gc28gd2Ugd29uJ3QgYmUgYWJsZSB0byByZXBvcnQgdGhlIHRpbWUgc3BlbnQgaW4gdGhpcyBQcm9maWxlcidzIHN1YnRyZWUuXG4gICAgICAgICAgICBwYXJlbnRTdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uICs9IGVsYXBzZWRUaW1lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKSB7XG5cbiAgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gbm93JDEoKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQYXNzaXZlRWZmZWN0VGltZXIoKSB7XG5cbiAgcGFzc2l2ZUVmZmVjdFN0YXJ0VGltZSA9IG5vdyQxKCk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZmVyQWN0dWFsRHVyYXRpb24oZmliZXIpIHtcbiAgLy8gVHJhbnNmZXIgdGltZSBzcGVudCByZW5kZXJpbmcgdGhlc2UgY2hpbGRyZW4gc28gd2UgZG9uJ3QgbG9zZSBpdFxuICAvLyBhZnRlciB3ZSByZXJlbmRlci4gVGhpcyBpcyB1c2VkIGFzIGEgaGVscGVyIGluIHNwZWNpYWwgY2FzZXNcbiAgLy8gd2hlcmUgd2Ugc2hvdWxkIGNvdW50IHRoZSB3b3JrIG9mIG11bHRpcGxlIHBhc3Nlcy5cbiAgdmFyIGNoaWxkID0gZmliZXIuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkKSB7XG4gICAgZmliZXIuYWN0dWFsRHVyYXRpb24gKz0gY2hpbGQuYWN0dWFsRHVyYXRpb247XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKHZhbHVlLCBzb3VyY2UpIHtcbiAgLy8gSWYgdGhlIHZhbHVlIGlzIGFuIGVycm9yLCBjYWxsIHRoaXMgZnVuY3Rpb24gaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgdGhyb3duXG4gIC8vIHNvIHRoZSBzdGFjayBpcyBhY2N1cmF0ZS5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgc291cmNlOiBzb3VyY2UsXG4gICAgc3RhY2s6IGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChzb3VyY2UpLFxuICAgIGRpZ2VzdDogbnVsbFxuICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlQ2FwdHVyZWRWYWx1ZSh2YWx1ZSwgZGlnZXN0LCBzdGFjaykge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBzb3VyY2U6IG51bGwsXG4gICAgc3RhY2s6IHN0YWNrICE9IG51bGwgPyBzdGFjayA6IG51bGwsXG4gICAgZGlnZXN0OiBkaWdlc3QgIT0gbnVsbCA/IGRpZ2VzdCA6IG51bGxcbiAgfTtcbn1cblxuLy8gVGhpcyBtb2R1bGUgaXMgZm9ya2VkIGluIGRpZmZlcmVudCBlbnZpcm9ubWVudHMuXG4vLyBCeSBkZWZhdWx0LCByZXR1cm4gYHRydWVgIHRvIGxvZyBlcnJvcnMgdG8gdGhlIGNvbnNvbGUuXG4vLyBGb3JrcyBjYW4gcmV0dXJuIGBmYWxzZWAgaWYgdGhpcyBpc24ndCBkZXNpcmFibGUuXG5mdW5jdGlvbiBzaG93RXJyb3JEaWFsb2coYm91bmRhcnksIGVycm9ySW5mbykge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbG9nQ2FwdHVyZWRFcnJvcihib3VuZGFyeSwgZXJyb3JJbmZvKSB7XG4gIHRyeSB7XG4gICAgdmFyIGxvZ0Vycm9yID0gc2hvd0Vycm9yRGlhbG9nKGJvdW5kYXJ5LCBlcnJvckluZm8pOyAvLyBBbGxvdyBpbmplY3RlZCBzaG93RXJyb3JEaWFsb2coKSB0byBwcmV2ZW50IGRlZmF1bHQgY29uc29sZS5lcnJvciBsb2dnaW5nLlxuICAgIC8vIFRoaXMgZW5hYmxlcyByZW5kZXJlcnMgbGlrZSBSZWFjdE5hdGl2ZSB0byBiZXR0ZXIgbWFuYWdlIHJlZGJveCBiZWhhdmlvci5cblxuICAgIGlmIChsb2dFcnJvciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZXJyb3IgPSBlcnJvckluZm8udmFsdWU7XG5cbiAgICBpZiAodHJ1ZSkge1xuICAgICAgdmFyIHNvdXJjZSA9IGVycm9ySW5mby5zb3VyY2U7XG4gICAgICB2YXIgc3RhY2sgPSBlcnJvckluZm8uc3RhY2s7XG4gICAgICB2YXIgY29tcG9uZW50U3RhY2sgPSBzdGFjayAhPT0gbnVsbCA/IHN0YWNrIDogJyc7IC8vIEJyb3dzZXJzIHN1cHBvcnQgc2lsZW5jaW5nIHVuY2F1Z2h0IGVycm9ycyBieSBjYWxsaW5nXG4gICAgICAvLyBgcHJldmVudERlZmF1bHQoKWAgaW4gd2luZG93IGBlcnJvcmAgaGFuZGxlci5cbiAgICAgIC8vIFdlIHJlY29yZCB0aGlzIGluZm9ybWF0aW9uIGFzIGFuIGV4cGFuZG8gb24gdGhlIGVycm9yLlxuXG4gICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiBlcnJvci5fc3VwcHJlc3NMb2dnaW5nKSB7XG4gICAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgICAgLy8gVGhlIGVycm9yIGlzIHJlY292ZXJhYmxlIGFuZCB3YXMgc2lsZW5jZWQuXG4gICAgICAgICAgLy8gSWdub3JlIGl0IGFuZCBkb24ndCBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG4gICAgICAgICAgLy8gVGhpcyBpcyBoYW5keSBmb3IgdGVzdGluZyBlcnJvciBib3VuZGFyaWVzIHdpdGhvdXQgbm9pc2UuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFRoZSBlcnJvciBpcyBmYXRhbC4gU2luY2UgdGhlIHNpbGVuY2luZyBtaWdodCBoYXZlXG4gICAgICAgIC8vIGJlZW4gYWNjaWRlbnRhbCwgd2UnbGwgc3VyZmFjZSBpdCBhbnl3YXkuXG4gICAgICAgIC8vIEhvd2V2ZXIsIHRoZSBicm93c2VyIHdvdWxkIGhhdmUgc2lsZW5jZWQgdGhlIG9yaWdpbmFsIGVycm9yXG4gICAgICAgIC8vIHNvIHdlJ2xsIHByaW50IGl0IGZpcnN0LCBhbmQgdGhlbiBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG5cblxuICAgICAgICBjb25zb2xlWydlcnJvciddKGVycm9yKTsgLy8gRG9uJ3QgdHJhbnNmb3JtIHRvIG91ciB3cmFwcGVyXG4gICAgICAgIC8vIEZvciBhIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhpcyBibG9jaywgc2VlOlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMzM4NFxuICAgICAgfVxuXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IHNvdXJjZSA/IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoc291cmNlKSA6IG51bGw7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZU1lc3NhZ2UgPSBjb21wb25lbnROYW1lID8gXCJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGhlIDxcIiArIGNvbXBvbmVudE5hbWUgKyBcIj4gY29tcG9uZW50OlwiIDogJ1RoZSBhYm92ZSBlcnJvciBvY2N1cnJlZCBpbiBvbmUgb2YgeW91ciBSZWFjdCBjb21wb25lbnRzOic7XG4gICAgICB2YXIgZXJyb3JCb3VuZGFyeU1lc3NhZ2U7XG5cbiAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIGVycm9yQm91bmRhcnlNZXNzYWdlID0gJ0NvbnNpZGVyIGFkZGluZyBhbiBlcnJvciBib3VuZGFyeSB0byB5b3VyIHRyZWUgdG8gY3VzdG9taXplIGVycm9yIGhhbmRsaW5nIGJlaGF2aW9yLlxcbicgKyAnVmlzaXQgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Vycm9yLWJvdW5kYXJpZXMgdG8gbGVhcm4gbW9yZSBhYm91dCBlcnJvciBib3VuZGFyaWVzLic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgZXJyb3JCb3VuZGFyeU5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGJvdW5kYXJ5KSB8fCAnQW5vbnltb3VzJztcbiAgICAgICAgZXJyb3JCb3VuZGFyeU1lc3NhZ2UgPSBcIlJlYWN0IHdpbGwgdHJ5IHRvIHJlY3JlYXRlIHRoaXMgY29tcG9uZW50IHRyZWUgZnJvbSBzY3JhdGNoIFwiICsgKFwidXNpbmcgdGhlIGVycm9yIGJvdW5kYXJ5IHlvdSBwcm92aWRlZCwgXCIgKyBlcnJvckJvdW5kYXJ5TmFtZSArIFwiLlwiKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbWJpbmVkTWVzc2FnZSA9IGNvbXBvbmVudE5hbWVNZXNzYWdlICsgXCJcXG5cIiArIGNvbXBvbmVudFN0YWNrICsgXCJcXG5cXG5cIiArIChcIlwiICsgZXJyb3JCb3VuZGFyeU1lc3NhZ2UpOyAvLyBJbiBkZXZlbG9wbWVudCwgd2UgcHJvdmlkZSBvdXIgb3duIG1lc3NhZ2Ugd2l0aCBqdXN0IHRoZSBjb21wb25lbnQgc3RhY2suXG4gICAgICAvLyBXZSBkb24ndCBpbmNsdWRlIHRoZSBvcmlnaW5hbCBlcnJvciBtZXNzYWdlIGFuZCBKUyBzdGFjayBiZWNhdXNlIHRoZSBicm93c2VyXG4gICAgICAvLyBoYXMgYWxyZWFkeSBwcmludGVkIGl0LiBFdmVuIGlmIHRoZSBhcHBsaWNhdGlvbiBzd2FsbG93cyB0aGUgZXJyb3IsIGl0IGlzIHN0aWxsXG4gICAgICAvLyBkaXNwbGF5ZWQgYnkgdGhlIGJyb3dzZXIgdGhhbmtzIHRvIHRoZSBERVYtb25seSBmYWtlIGV2ZW50IHRyaWNrIGluIFJlYWN0RXJyb3JVdGlscy5cblxuICAgICAgY29uc29sZVsnZXJyb3InXShjb21iaW5lZE1lc3NhZ2UpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSW4gcHJvZHVjdGlvbiwgd2UgcHJpbnQgdGhlIGVycm9yIGRpcmVjdGx5LlxuICAgICAgLy8gVGhpcyB3aWxsIGluY2x1ZGUgdGhlIG1lc3NhZ2UsIHRoZSBKUyBzdGFjaywgYW5kIGFueXRoaW5nIHRoZSBicm93c2VyIHdhbnRzIHRvIHNob3cuXG4gICAgICAvLyBXZSBwYXNzIHRoZSBlcnJvciBvYmplY3QgaW5zdGVhZCBvZiBjdXN0b20gbWVzc2FnZSBzbyB0aGF0IHRoZSBicm93c2VyIGRpc3BsYXlzIHRoZSBlcnJvciBuYXRpdmVseS5cbiAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oZXJyb3IpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBUaGlzIG1ldGhvZCBtdXN0IG5vdCB0aHJvdywgb3IgUmVhY3QgaW50ZXJuYWwgc3RhdGUgd2lsbCBnZXQgbWVzc2VkIHVwLlxuICAgIC8vIElmIGNvbnNvbGUuZXJyb3IgaXMgb3ZlcnJpZGRlbiwgb3IgbG9nQ2FwdHVyZWRFcnJvcigpIHNob3dzIGEgZGlhbG9nIHRoYXQgdGhyb3dzLFxuICAgIC8vIHdlIHdhbnQgdG8gcmVwb3J0IHRoaXMgZXJyb3Igb3V0c2lkZSBvZiB0aGUgbm9ybWFsIHN0YWNrIGFzIGEgbGFzdCByZXNvcnQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzE4OFxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9KTtcbiAgfVxufVxuXG52YXIgUG9zc2libHlXZWFrTWFwJDEgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3RFcnJvclVwZGF0ZShmaWJlciwgZXJyb3JJbmZvLCBsYW5lKSB7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoTm9UaW1lc3RhbXAsIGxhbmUpOyAvLyBVbm1vdW50IHRoZSByb290IGJ5IHJlbmRlcmluZyBudWxsLlxuXG4gIHVwZGF0ZS50YWcgPSBDYXB0dXJlVXBkYXRlOyAvLyBDYXV0aW9uOiBSZWFjdCBEZXZUb29scyBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByb3BlcnR5XG4gIC8vIGJlaW5nIGNhbGxlZCBcImVsZW1lbnRcIi5cblxuICB1cGRhdGUucGF5bG9hZCA9IHtcbiAgICBlbGVtZW50OiBudWxsXG4gIH07XG4gIHZhciBlcnJvciA9IGVycm9ySW5mby52YWx1ZTtcblxuICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgb25VbmNhdWdodEVycm9yKGVycm9yKTtcbiAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuICB9O1xuXG4gIHJldHVybiB1cGRhdGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgbGFuZSkge1xuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKE5vVGltZXN0YW1wLCBsYW5lKTtcbiAgdXBkYXRlLnRhZyA9IENhcHR1cmVVcGRhdGU7XG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPSBmaWJlci50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtcblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBlcnJvciQxID0gZXJyb3JJbmZvLnZhbHVlO1xuXG4gICAgdXBkYXRlLnBheWxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yJDEpO1xuICAgIH07XG5cbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB7XG4gICAgICAgIG1hcmtGYWlsZWRFcnJvckJvdW5kYXJ5Rm9ySG90UmVsb2FkaW5nKGZpYmVyKTtcbiAgICAgIH1cblxuICAgICAgbG9nQ2FwdHVyZWRFcnJvcihmaWJlciwgZXJyb3JJbmZvKTtcbiAgICB9O1xuICB9XG5cbiAgdmFyIGluc3QgPSBmaWJlci5zdGF0ZU5vZGU7XG5cbiAgaWYgKGluc3QgIT09IG51bGwgJiYgdHlwZW9mIGluc3QuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiBjYWxsYmFjaygpIHtcbiAgICAgIHtcbiAgICAgICAgbWFya0ZhaWxlZEVycm9yQm91bmRhcnlGb3JIb3RSZWxvYWRpbmcoZmliZXIpO1xuICAgICAgfVxuXG4gICAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuXG4gICAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBUbyBwcmVzZXJ2ZSB0aGUgcHJlZXhpc3RpbmcgcmV0cnkgYmVoYXZpb3Igb2YgZXJyb3IgYm91bmRhcmllcyxcbiAgICAgICAgLy8gd2Uga2VlcCB0cmFjayBvZiB3aGljaCBvbmVzIGFscmVhZHkgZmFpbGVkIGR1cmluZyB0aGlzIGJhdGNoLlxuICAgICAgICAvLyBUaGlzIGdldHMgcmVzZXQgYmVmb3JlIHdlIHlpZWxkIGJhY2sgdG8gdGhlIGJyb3dzZXIuXG4gICAgICAgIC8vIFRPRE86IFdhcm4gaW4gc3RyaWN0IG1vZGUgaWYgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIGlzXG4gICAgICAgIC8vIG5vdCBkZWZpbmVkLlxuICAgICAgICBtYXJrTGVnYWN5RXJyb3JCb3VuZGFyeUFzRmFpbGVkKHRoaXMpO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXJyb3IkMSA9IGVycm9ySW5mby52YWx1ZTtcbiAgICAgIHZhciBzdGFjayA9IGVycm9ySW5mby5zdGFjaztcbiAgICAgIHRoaXMuY29tcG9uZW50RGlkQ2F0Y2goZXJyb3IkMSwge1xuICAgICAgICBjb21wb25lbnRTdGFjazogc3RhY2sgIT09IG51bGwgPyBzdGFjayA6ICcnXG4gICAgICB9KTtcblxuICAgICAge1xuICAgICAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIElmIGNvbXBvbmVudERpZENhdGNoIGlzIHRoZSBvbmx5IGVycm9yIGJvdW5kYXJ5IG1ldGhvZCBkZWZpbmVkLFxuICAgICAgICAgIC8vIHRoZW4gaXQgbmVlZHMgdG8gY2FsbCBzZXRTdGF0ZSB0byByZWNvdmVyIGZyb20gZXJyb3JzLlxuICAgICAgICAgIC8vIElmIG5vIHN0YXRlIHVwZGF0ZSBpcyBzY2hlZHVsZWQgdGhlbiB0aGUgYm91bmRhcnkgd2lsbCBzd2FsbG93IHRoZSBlcnJvci5cbiAgICAgICAgICBpZiAoIWluY2x1ZGVzU29tZUxhbmUoZmliZXIubGFuZXMsIFN5bmNMYW5lKSkge1xuICAgICAgICAgICAgZXJyb3IoJyVzOiBFcnJvciBib3VuZGFyaWVzIHNob3VsZCBpbXBsZW1lbnQgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkuICcgKyAnSW4gdGhhdCBtZXRob2QsIHJldHVybiBhIHN0YXRlIHVwZGF0ZSB0byBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2Ugb3IgZmFsbGJhY2sgVUkuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ1Vua25vd24nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gYXR0YWNoUGluZ0xpc3RlbmVyKHJvb3QsIHdha2VhYmxlLCBsYW5lcykge1xuICAvLyBBdHRhY2ggYSBwaW5nIGxpc3RlbmVyXG4gIC8vXG4gIC8vIFRoZSBkYXRhIG1pZ2h0IHJlc29sdmUgYmVmb3JlIHdlIGhhdmUgYSBjaGFuY2UgdG8gY29tbWl0IHRoZSBmYWxsYmFjay4gT3IsXG4gIC8vIGluIHRoZSBjYXNlIG9mIGEgcmVmcmVzaCwgd2UnbGwgbmV2ZXIgY29tbWl0IGEgZmFsbGJhY2suIFNvIHdlIG5lZWQgdG9cbiAgLy8gYXR0YWNoIGEgbGlzdGVuZXIgbm93LiBXaGVuIGl0IHJlc29sdmVzIChcInBpbmdzXCIpLCB3ZSBjYW4gZGVjaWRlIHdoZXRoZXIgdG9cbiAgLy8gdHJ5IHJlbmRlcmluZyB0aGUgdHJlZSBhZ2Fpbi5cbiAgLy9cbiAgLy8gT25seSBhdHRhY2ggYSBsaXN0ZW5lciBpZiBvbmUgZG9lcyBub3QgYWxyZWFkeSBleGlzdCBmb3IgdGhlIGxhbmVzXG4gIC8vIHdlJ3JlIGN1cnJlbnRseSByZW5kZXJpbmcgKHdoaWNoIGFjdHMgbGlrZSBhIFwidGhyZWFkIElEXCIgaGVyZSkuXG4gIC8vXG4gIC8vIFdlIG9ubHkgbmVlZCB0byBkbyB0aGlzIGluIGNvbmN1cnJlbnQgbW9kZS4gTGVnYWN5IFN1c3BlbnNlIGFsd2F5c1xuICAvLyBjb21taXRzIGZhbGxiYWNrcyBzeW5jaHJvbm91c2x5LCBzbyB0aGVyZSBhcmUgbm8gcGluZ3MuXG4gIHZhciBwaW5nQ2FjaGUgPSByb290LnBpbmdDYWNoZTtcbiAgdmFyIHRocmVhZElEcztcblxuICBpZiAocGluZ0NhY2hlID09PSBudWxsKSB7XG4gICAgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwJDEoKTtcbiAgICB0aHJlYWRJRHMgPSBuZXcgU2V0KCk7XG4gICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJlYWRJRHMgPSBwaW5nQ2FjaGUuZ2V0KHdha2VhYmxlKTtcblxuICAgIGlmICh0aHJlYWRJRHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyZWFkSURzID0gbmV3IFNldCgpO1xuICAgICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIXRocmVhZElEcy5oYXMobGFuZXMpKSB7XG4gICAgLy8gTWVtb2l6ZSB1c2luZyB0aGUgdGhyZWFkIElEIHRvIHByZXZlbnQgcmVkdW5kYW50IGxpc3RlbmVycy5cbiAgICB0aHJlYWRJRHMuYWRkKGxhbmVzKTtcbiAgICB2YXIgcGluZyA9IHBpbmdTdXNwZW5kZWRSb290LmJpbmQobnVsbCwgcm9vdCwgd2FrZWFibGUsIGxhbmVzKTtcblxuICAgIHtcbiAgICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgICAvLyBJZiB3ZSBoYXZlIHBlbmRpbmcgd29yayBzdGlsbCwgcmVzdG9yZSB0aGUgb3JpZ2luYWwgdXBkYXRlcnNcbiAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCBsYW5lcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2FrZWFibGUudGhlbihwaW5nLCBwaW5nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhdHRhY2hSZXRyeUxpc3RlbmVyKHN1c3BlbnNlQm91bmRhcnksIHJvb3QsIHdha2VhYmxlLCBsYW5lcykge1xuICAvLyBSZXRyeSBsaXN0ZW5lclxuICAvL1xuICAvLyBJZiB0aGUgZmFsbGJhY2sgZG9lcyBjb21taXQsIHdlIG5lZWQgdG8gYXR0YWNoIGEgZGlmZmVyZW50IHR5cGUgb2ZcbiAgLy8gbGlzdGVuZXIuIFRoaXMgb25lIHNjaGVkdWxlcyBhbiB1cGRhdGUgb24gdGhlIFN1c3BlbnNlIGJvdW5kYXJ5IHRvIHR1cm5cbiAgLy8gdGhlIGZhbGxiYWNrIHN0YXRlIG9mZi5cbiAgLy9cbiAgLy8gU3Rhc2ggdGhlIHdha2VhYmxlIG9uIHRoZSBib3VuZGFyeSBmaWJlciBzbyB3ZSBjYW4gYWNjZXNzIGl0IGluIHRoZVxuICAvLyBjb21taXQgcGhhc2UuXG4gIC8vXG4gIC8vIFdoZW4gdGhlIHdha2VhYmxlIHJlc29sdmVzLCB3ZSdsbCBhdHRlbXB0IHRvIHJlbmRlciB0aGUgYm91bmRhcnlcbiAgLy8gYWdhaW4gKFwicmV0cnlcIikuXG4gIHZhciB3YWtlYWJsZXMgPSBzdXNwZW5zZUJvdW5kYXJ5LnVwZGF0ZVF1ZXVlO1xuXG4gIGlmICh3YWtlYWJsZXMgPT09IG51bGwpIHtcbiAgICB2YXIgdXBkYXRlUXVldWUgPSBuZXcgU2V0KCk7XG4gICAgdXBkYXRlUXVldWUuYWRkKHdha2VhYmxlKTtcbiAgICBzdXNwZW5zZUJvdW5kYXJ5LnVwZGF0ZVF1ZXVlID0gdXBkYXRlUXVldWU7XG4gIH0gZWxzZSB7XG4gICAgd2FrZWFibGVzLmFkZCh3YWtlYWJsZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzZXRTdXNwZW5kZWRDb21wb25lbnQoc291cmNlRmliZXIsIHJvb3RSZW5kZXJMYW5lcykge1xuICAvLyBBIGxlZ2FjeSBtb2RlIFN1c3BlbnNlIHF1aXJrLCBvbmx5IHJlbGV2YW50IHRvIGhvb2sgY29tcG9uZW50cy5cblxuXG4gIHZhciB0YWcgPSBzb3VyY2VGaWJlci50YWc7XG5cbiAgaWYgKChzb3VyY2VGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUgJiYgKHRhZyA9PT0gRnVuY3Rpb25Db21wb25lbnQgfHwgdGFnID09PSBGb3J3YXJkUmVmIHx8IHRhZyA9PT0gU2ltcGxlTWVtb0NvbXBvbmVudCkpIHtcbiAgICB2YXIgY3VycmVudFNvdXJjZSA9IHNvdXJjZUZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50U291cmNlKSB7XG4gICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IGN1cnJlbnRTb3VyY2UudXBkYXRlUXVldWU7XG4gICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gY3VycmVudFNvdXJjZS5tZW1vaXplZFN0YXRlO1xuICAgICAgc291cmNlRmliZXIubGFuZXMgPSBjdXJyZW50U291cmNlLmxhbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TmVhcmVzdFN1c3BlbnNlQm91bmRhcnlUb0NhcHR1cmUocmV0dXJuRmliZXIpIHtcbiAgdmFyIG5vZGUgPSByZXR1cm5GaWJlcjtcblxuICBkbyB7XG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCAmJiBzaG91bGRDYXB0dXJlU3VzcGVuc2Uobm9kZSkpIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH0gLy8gVGhpcyBib3VuZGFyeSBhbHJlYWR5IGNhcHR1cmVkIGR1cmluZyB0aGlzIHJlbmRlci4gQ29udGludWUgdG8gdGhlIG5leHRcbiAgICAvLyBib3VuZGFyeS5cblxuXG4gICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICB9IHdoaWxlIChub2RlICE9PSBudWxsKTtcblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gbWFya1N1c3BlbnNlQm91bmRhcnlTaG91bGRDYXB0dXJlKHN1c3BlbnNlQm91bmRhcnksIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgcm9vdCwgcm9vdFJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgbWFya3MgYSBTdXNwZW5zZSBib3VuZGFyeSBzbyB0aGF0IHdoZW4gd2UncmUgdW53aW5kaW5nIHRoZSBzdGFjayxcbiAgLy8gaXQgY2FwdHVyZXMgdGhlIHN1c3BlbmRlZCBcImV4Y2VwdGlvblwiIGFuZCBkb2VzIGEgc2Vjb25kIChmYWxsYmFjaykgcGFzcy5cbiAgaWYgKChzdXNwZW5zZUJvdW5kYXJ5Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIC8vIExlZ2FjeSBNb2RlIFN1c3BlbnNlXG4gICAgLy9cbiAgICAvLyBJZiB0aGUgYm91bmRhcnkgaXMgaW4gbGVnYWN5IG1vZGUsIHdlIHNob3VsZCAqbm90KlxuICAgIC8vIHN1c3BlbmQgdGhlIGNvbW1pdC4gUHJldGVuZCBhcyBpZiB0aGUgc3VzcGVuZGVkIGNvbXBvbmVudCByZW5kZXJlZFxuICAgIC8vIG51bGwgYW5kIGtlZXAgcmVuZGVyaW5nLiBXaGVuIHRoZSBTdXNwZW5zZSBib3VuZGFyeSBjb21wbGV0ZXMsXG4gICAgLy8gd2UnbGwgZG8gYSBzZWNvbmQgcGFzcyB0byByZW5kZXIgdGhlIGZhbGxiYWNrLlxuICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5ID09PSByZXR1cm5GaWJlcikge1xuICAgICAgLy8gU3BlY2lhbCBjYXNlIHdoZXJlIHdlIHN1c3BlbmRlZCB3aGlsZSByZWNvbmNpbGluZyB0aGUgY2hpbGRyZW4gb2ZcbiAgICAgIC8vIGEgU3VzcGVuc2UgYm91bmRhcnkncyBpbm5lciBPZmZzY3JlZW4gd3JhcHBlciBmaWJlci4gVGhpcyBoYXBwZW5zXG4gICAgICAvLyB3aGVuIGEgUmVhY3QubGF6eSBjb21wb25lbnQgaXMgYSBkaXJlY3QgY2hpbGQgb2YgYVxuICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcnkuXG4gICAgICAvL1xuICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcmllcyBhcmUgaW1wbGVtZW50ZWQgYXMgbXVsdGlwbGUgZmliZXJzLCBidXQgdGhleVxuICAgICAgLy8gYXJlIGEgc2luZ2xlIGNvbmNlcHR1YWwgdW5pdC4gVGhlIGxlZ2FjeSBtb2RlIGJlaGF2aW9yIHdoZXJlIHdlXG4gICAgICAvLyBwcmV0ZW5kIHRoZSBzdXNwZW5kZWQgZmliZXIgY29tbWl0dGVkIGFzIGBudWxsYCB3b24ndCB3b3JrLFxuICAgICAgLy8gYmVjYXVzZSBpbiB0aGlzIGNhc2UgdGhlIFwic3VzcGVuZGVkXCIgZmliZXIgaXMgdGhlIGlubmVyXG4gICAgICAvLyBPZmZzY3JlZW4gd3JhcHBlci5cbiAgICAgIC8vXG4gICAgICAvLyBCZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm91bmRhcnkgaGF2ZW4ndCBzdGFydGVkIHJlbmRlcmluZ1xuICAgICAgLy8geWV0IChpLmUuIG5vdGhpbmcgaW4gdGhlIHRyZWUgaGFzIHBhcnRpYWxseSByZW5kZXJlZCkgd2UgY2FuXG4gICAgICAvLyBzd2l0Y2ggdG8gdGhlIHJlZ3VsYXIsIGNvbmN1cnJlbnQgbW9kZSBiZWhhdmlvcjogbWFyayB0aGVcbiAgICAgIC8vIGJvdW5kYXJ5IHdpdGggU2hvdWxkQ2FwdHVyZSBhbmQgZW50ZXIgdGhlIHVud2luZCBwaGFzZS5cbiAgICAgIHN1c3BlbnNlQm91bmRhcnkuZmxhZ3MgfD0gU2hvdWxkQ2FwdHVyZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgc291cmNlRmliZXIuZmxhZ3MgfD0gRm9yY2VVcGRhdGVGb3JMZWdhY3lTdXNwZW5zZTsgLy8gV2UncmUgZ29pbmcgdG8gY29tbWl0IHRoaXMgZmliZXIgZXZlbiB0aG91Z2ggaXQgZGlkbid0IGNvbXBsZXRlLlxuICAgICAgLy8gQnV0IHdlIHNob3VsZG4ndCBjYWxsIGFueSBsaWZlY3ljbGUgbWV0aG9kcyBvciBjYWxsYmFja3MuIFJlbW92ZVxuICAgICAgLy8gYWxsIGxpZmVjeWNsZSBlZmZlY3QgdGFncy5cblxuICAgICAgc291cmNlRmliZXIuZmxhZ3MgJj0gfihMaWZlY3ljbGVFZmZlY3RNYXNrIHwgSW5jb21wbGV0ZSk7XG5cbiAgICAgIGlmIChzb3VyY2VGaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgIHZhciBjdXJyZW50U291cmNlRmliZXIgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRTb3VyY2VGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgYSBuZXcgbW91bnQuIENoYW5nZSB0aGUgdGFnIHNvIGl0J3Mgbm90IG1pc3Rha2VuIGZvciBhXG4gICAgICAgICAgLy8gY29tcGxldGVkIGNsYXNzIGNvbXBvbmVudC4gRm9yIGV4YW1wbGUsIHdlIHNob3VsZCBub3QgY2FsbFxuICAgICAgICAgIC8vIGNvbXBvbmVudFdpbGxVbm1vdW50IGlmIGl0IGlzIGRlbGV0ZWQuXG4gICAgICAgICAgc291cmNlRmliZXIudGFnID0gSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFdoZW4gd2UgdHJ5IHJlbmRlcmluZyBhZ2Fpbiwgd2Ugc2hvdWxkIG5vdCByZXVzZSB0aGUgY3VycmVudCBmaWJlcixcbiAgICAgICAgICAvLyBzaW5jZSBpdCdzIGtub3duIHRvIGJlIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gVXNlIGEgZm9yY2UgdXBkYXRlIHRvXG4gICAgICAgICAgLy8gcHJldmVudCBhIGJhaWwgb3V0LlxuICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoTm9UaW1lc3RhbXAsIFN5bmNMYW5lKTtcbiAgICAgICAgICB1cGRhdGUudGFnID0gRm9yY2VVcGRhdGU7XG4gICAgICAgICAgZW5xdWV1ZVVwZGF0ZShzb3VyY2VGaWJlciwgdXBkYXRlLCBTeW5jTGFuZSk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gVGhlIHNvdXJjZSBmaWJlciBkaWQgbm90IGNvbXBsZXRlLiBNYXJrIGl0IHdpdGggU3luYyBwcmlvcml0eSB0b1xuICAgICAgLy8gaW5kaWNhdGUgdGhhdCBpdCBzdGlsbCBoYXMgcGVuZGluZyB3b3JrLlxuXG5cbiAgICAgIHNvdXJjZUZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhzb3VyY2VGaWJlci5sYW5lcywgU3luY0xhbmUpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXNwZW5zZUJvdW5kYXJ5O1xuICB9IC8vIENvbmZpcm1lZCB0aGF0IHRoZSBib3VuZGFyeSBpcyBpbiBhIGNvbmN1cnJlbnQgbW9kZSB0cmVlLiBDb250aW51ZVxuICAvLyB3aXRoIHRoZSBub3JtYWwgc3VzcGVuZCBwYXRoLlxuICAvL1xuICAvLyBBZnRlciB0aGlzIHdlJ2xsIHVzZSBhIHNldCBvZiBoZXVyaXN0aWNzIHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXNcbiAgLy8gcmVuZGVyIHBhc3Mgd2lsbCBydW4gdG8gY29tcGxldGlvbiBvciByZXN0YXJ0IG9yIFwic3VzcGVuZFwiIHRoZSBjb21taXQuXG4gIC8vIFRoZSBhY3R1YWwgbG9naWMgZm9yIHRoaXMgaXMgc3ByZWFkIG91dCBpbiBkaWZmZXJlbnQgcGxhY2VzLlxuICAvL1xuICAvLyBUaGlzIGZpcnN0IHByaW5jaXBsZSBpcyB0aGF0IGlmIHdlJ3JlIGdvaW5nIHRvIHN1c3BlbmQgd2hlbiB3ZSBjb21wbGV0ZVxuICAvLyBhIHJvb3QsIHRoZW4gd2Ugc2hvdWxkIGFsc28gcmVzdGFydCBpZiB3ZSBnZXQgYW4gdXBkYXRlIG9yIHBpbmcgdGhhdFxuICAvLyBtaWdodCB1bnN1c3BlbmQgaXQsIGFuZCB2aWNlIHZlcnNhLiBUaGUgb25seSByZWFzb24gdG8gc3VzcGVuZCBpc1xuICAvLyBiZWNhdXNlIHlvdSB0aGluayB5b3UgbWlnaHQgd2FudCB0byByZXN0YXJ0IGJlZm9yZSBjb21taXR0aW5nLiBIb3dldmVyLFxuICAvLyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcmVzdGFydCBvbmx5IHdoaWxlIGluIHRoZSBwZXJpb2Qgd2UncmUgc3VzcGVuZGVkLlxuICAvL1xuICAvLyBSZXN0YXJ0aW5nIHRvbyBhZ2dyZXNzaXZlbHkgaXMgYWxzbyBub3QgZ29vZCBiZWNhdXNlIGl0IHN0YXJ2ZXMgb3V0IGFueVxuICAvLyBpbnRlcm1lZGlhdGUgbG9hZGluZyBzdGF0ZS4gU28gd2UgdXNlIGhldXJpc3RpY3MgdG8gZGV0ZXJtaW5lIHdoZW4uXG4gIC8vIFN1c3BlbnNlIEhldXJpc3RpY3NcbiAgLy9cbiAgLy8gSWYgbm90aGluZyB0aHJldyBhIFByb21pc2Ugb3IgYWxsIHRoZSBzYW1lIGZhbGxiYWNrcyBhcmUgYWxyZWFkeSBzaG93aW5nLFxuICAvLyB0aGVuIGRvbid0IHN1c3BlbmQvcmVzdGFydC5cbiAgLy9cbiAgLy8gSWYgdGhpcyBpcyBhbiBpbml0aWFsIHJlbmRlciBvZiBhIG5ldyB0cmVlIG9mIFN1c3BlbnNlIGJvdW5kYXJpZXMgYW5kXG4gIC8vIHRob3NlIHRyaWdnZXIgYSBmYWxsYmFjaywgdGhlbiBkb24ndCBzdXNwZW5kL3Jlc3RhcnQuIFdlIHdhbnQgdG8gZW5zdXJlXG4gIC8vIHRoYXQgd2UgY2FuIHNob3cgdGhlIGluaXRpYWwgbG9hZGluZyBzdGF0ZSBhcyBxdWlja2x5IGFzIHBvc3NpYmxlLlxuICAvL1xuICAvLyBJZiB3ZSBoaXQgYSBcIkRlbGF5ZWRcIiBjYXNlLCBzdWNoIGFzIHdoZW4gd2UnZCBzd2l0Y2ggZnJvbSBjb250ZW50IGJhY2sgaW50b1xuICAvLyBhIGZhbGxiYWNrLCB0aGVuIHdlIHNob3VsZCBhbHdheXMgc3VzcGVuZC9yZXN0YXJ0LiBUcmFuc2l0aW9ucyBhcHBseVxuICAvLyB0byB0aGlzIGNhc2UuIElmIG5vbmUgaXMgZGVmaW5lZCwgSk5EIGlzIHVzZWQgaW5zdGVhZC5cbiAgLy9cbiAgLy8gSWYgd2UncmUgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgYW5kIGl0IGdldHMgXCJyZXRyaWVkXCIsIGFsbG93aW5nIHVzIHRvIHNob3dcbiAgLy8gYW5vdGhlciBsZXZlbCwgYnV0IHRoZXJlJ3Mgc3RpbGwgYW4gaW5uZXIgYm91bmRhcnkgdGhhdCB3b3VsZCBzaG93IGEgZmFsbGJhY2ssXG4gIC8vIHRoZW4gd2Ugc3VzcGVuZC9yZXN0YXJ0IGZvciA1MDBtcyBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIHNob3dlZCBhIGZhbGxiYWNrXG4gIC8vIGFueXdoZXJlIGluIHRoZSB0cmVlLiBUaGlzIGVmZmVjdGl2ZWx5IHRocm90dGxlcyBwcm9ncmVzc2l2ZSBsb2FkaW5nIGludG8gYVxuICAvLyBjb25zaXN0ZW50IHRyYWluIG9mIGNvbW1pdHMuIFRoaXMgYWxzbyBnaXZlcyB1cyBhbiBvcHBvcnR1bml0eSB0byByZXN0YXJ0IHRvXG4gIC8vIGdldCB0byB0aGUgY29tcGxldGVkIHN0YXRlIHNsaWdodGx5IGVhcmxpZXIuXG4gIC8vXG4gIC8vIElmIHRoZXJlJ3MgYW1iaWd1aXR5IGR1ZSB0byBiYXRjaGluZyBpdCdzIHJlc29sdmVkIGluIHByZWZlcmVuY2Ugb2Y6XG4gIC8vIDEpIFwiZGVsYXllZFwiLCAyKSBcImluaXRpYWwgcmVuZGVyXCIsIDMpIFwicmV0cnlcIi5cbiAgLy9cbiAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBhIFwiYnVzeVwiIHN0YXRlIGRvZXNuJ3QgZ2V0IGZvcmNlIGNvbW1pdHRlZC4gV2Ugd2FudCB0b1xuICAvLyBlbnN1cmUgdGhhdCBuZXcgaW5pdGlhbCBsb2FkaW5nIHN0YXRlcyBjYW4gY29tbWl0IGFzIHNvb24gYXMgcG9zc2libGUuXG5cblxuICBzdXNwZW5zZUJvdW5kYXJ5LmZsYWdzIHw9IFNob3VsZENhcHR1cmU7IC8vIFRPRE86IEkgdGhpbmsgd2UgY2FuIHJlbW92ZSB0aGlzLCBzaW5jZSB3ZSBub3cgdXNlIGBEaWRDYXB0dXJlYCBpblxuICAvLyB0aGUgYmVnaW4gcGhhc2UgdG8gcHJldmVudCBhbiBlYXJseSBiYWlsb3V0LlxuXG4gIHN1c3BlbnNlQm91bmRhcnkubGFuZXMgPSByb290UmVuZGVyTGFuZXM7XG4gIHJldHVybiBzdXNwZW5zZUJvdW5kYXJ5O1xufVxuXG5mdW5jdGlvbiB0aHJvd0V4Y2VwdGlvbihyb290LCByZXR1cm5GaWJlciwgc291cmNlRmliZXIsIHZhbHVlLCByb290UmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhlIHNvdXJjZSBmaWJlciBkaWQgbm90IGNvbXBsZXRlLlxuICBzb3VyY2VGaWJlci5mbGFncyB8PSBJbmNvbXBsZXRlO1xuXG4gIHtcbiAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgIC8vIElmIHdlIGhhdmUgcGVuZGluZyB3b3JrIHN0aWxsLCByZXN0b3JlIHRoZSBvcmlnaW5hbCB1cGRhdGVyc1xuICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCByb290UmVuZGVyTGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gVGhpcyBpcyBhIHdha2VhYmxlLiBUaGUgY29tcG9uZW50IHN1c3BlbmRlZC5cbiAgICB2YXIgd2FrZWFibGUgPSB2YWx1ZTtcbiAgICByZXNldFN1c3BlbmRlZENvbXBvbmVudChzb3VyY2VGaWJlcik7XG5cbiAgICB7XG4gICAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSAmJiBzb3VyY2VGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgbWFya0RpZFRocm93V2hpbGVIeWRyYXRpbmdERVYoKTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIHZhciBzdXNwZW5zZUJvdW5kYXJ5ID0gZ2V0TmVhcmVzdFN1c3BlbnNlQm91bmRhcnlUb0NhcHR1cmUocmV0dXJuRmliZXIpO1xuXG4gICAgaWYgKHN1c3BlbnNlQm91bmRhcnkgIT09IG51bGwpIHtcbiAgICAgIHN1c3BlbnNlQm91bmRhcnkuZmxhZ3MgJj0gfkZvcmNlQ2xpZW50UmVuZGVyO1xuICAgICAgbWFya1N1c3BlbnNlQm91bmRhcnlTaG91bGRDYXB0dXJlKHN1c3BlbnNlQm91bmRhcnksIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgcm9vdCwgcm9vdFJlbmRlckxhbmVzKTsgLy8gV2Ugb25seSBhdHRhY2ggcGluZyBsaXN0ZW5lcnMgaW4gY29uY3VycmVudCBtb2RlLiBMZWdhY3kgU3VzcGVuc2UgYWx3YXlzXG4gICAgICAvLyBjb21taXRzIGZhbGxiYWNrcyBzeW5jaHJvbm91c2x5LCBzbyB0aGVyZSBhcmUgbm8gcGluZ3MuXG5cbiAgICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgICBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgd2FrZWFibGUsIHJvb3RSZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGF0dGFjaFJldHJ5TGlzdGVuZXIoc3VzcGVuc2VCb3VuZGFyeSwgcm9vdCwgd2FrZWFibGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBib3VuZGFyeSB3YXMgZm91bmQuIFVubGVzcyB0aGlzIGlzIGEgc3luYyB1cGRhdGUsIHRoaXMgaXMgT0suXG4gICAgICAvLyBXZSBjYW4gc3VzcGVuZCBhbmQgd2FpdCBmb3IgbW9yZSBkYXRhIHRvIGFycml2ZS5cbiAgICAgIGlmICghaW5jbHVkZXNTeW5jTGFuZShyb290UmVuZGVyTGFuZXMpKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgbm90IGEgc3luYyB1cGRhdGUuIFN1c3BlbmQuIFNpbmNlIHdlJ3JlIG5vdCBhY3RpdmF0aW5nIGFcbiAgICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcnksIHRoaXMgd2lsbCB1bndpbmQgYWxsIHRoZSB3YXkgdG8gdGhlIHJvb3Qgd2l0aG91dFxuICAgICAgICAvLyBwZXJmb3JtaW5nIGEgc2Vjb25kIHBhc3MgdG8gcmVuZGVyIGEgZmFsbGJhY2suIChUaGlzIGlzIGFyZ3VhYmx5IGhvd1xuICAgICAgICAvLyByZWZyZXNoIHRyYW5zaXRpb25zIHNob3VsZCB3b3JrLCB0b28sIHNpbmNlIHdlJ3JlIG5vdCBnb2luZyB0byBjb21taXRcbiAgICAgICAgLy8gdGhlIGZhbGxiYWNrcyBhbnl3YXkuKVxuICAgICAgICAvL1xuICAgICAgICAvLyBUaGlzIGNhc2UgYWxzbyBhcHBsaWVzIHRvIGluaXRpYWwgaHlkcmF0aW9uLlxuICAgICAgICBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgd2FrZWFibGUsIHJvb3RSZW5kZXJMYW5lcyk7XG4gICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBUaGlzIGlzIGEgc3luYy9kaXNjcmV0ZSB1cGRhdGUuIFdlIHRyZWF0IHRoaXMgY2FzZSBsaWtlIGFuIGVycm9yXG4gICAgICAvLyBiZWNhdXNlIGRpc2NyZXRlIHJlbmRlcnMgYXJlIGV4cGVjdGVkIHRvIHByb2R1Y2UgYSBjb21wbGV0ZSB0cmVlXG4gICAgICAvLyBzeW5jaHJvbm91c2x5IHRvIG1haW50YWluIGNvbnNpc3RlbmN5IHdpdGggZXh0ZXJuYWwgc3RhdGUuXG5cblxuICAgICAgdmFyIHVuY2F1Z2h0U3VzcGVuc2VFcnJvciA9IG5ldyBFcnJvcignQSBjb21wb25lbnQgc3VzcGVuZGVkIHdoaWxlIHJlc3BvbmRpbmcgdG8gc3luY2hyb25vdXMgaW5wdXQuIFRoaXMgJyArICd3aWxsIGNhdXNlIHRoZSBVSSB0byBiZSByZXBsYWNlZCB3aXRoIGEgbG9hZGluZyBpbmRpY2F0b3IuIFRvICcgKyAnZml4LCB1cGRhdGVzIHRoYXQgc3VzcGVuZCBzaG91bGQgYmUgd3JhcHBlZCAnICsgJ3dpdGggc3RhcnRUcmFuc2l0aW9uLicpOyAvLyBJZiB3ZSdyZSBvdXRzaWRlIGEgdHJhbnNpdGlvbiwgZmFsbCB0aHJvdWdoIHRvIHRoZSByZWd1bGFyIGVycm9yIHBhdGguXG4gICAgICAvLyBUaGUgZXJyb3Igd2lsbCBiZSBjYXVnaHQgYnkgdGhlIG5lYXJlc3Qgc3VzcGVuc2UgYm91bmRhcnkuXG5cbiAgICAgIHZhbHVlID0gdW5jYXVnaHRTdXNwZW5zZUVycm9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVndWxhciBlcnJvciwgbm90IGEgU3VzcGVuc2Ugd2FrZWFibGUuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkgJiYgc291cmNlRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICBtYXJrRGlkVGhyb3dXaGlsZUh5ZHJhdGluZ0RFVigpO1xuXG4gICAgICB2YXIgX3N1c3BlbnNlQm91bmRhcnkgPSBnZXROZWFyZXN0U3VzcGVuc2VCb3VuZGFyeVRvQ2FwdHVyZShyZXR1cm5GaWJlcik7IC8vIElmIHRoZSBlcnJvciB3YXMgdGhyb3duIGR1cmluZyBoeWRyYXRpb24sIHdlIG1heSBiZSBhYmxlIHRvIHJlY292ZXIgYnlcbiAgICAgIC8vIGRpc2NhcmRpbmcgdGhlIGRlaHlkcmF0ZWQgY29udGVudCBhbmQgc3dpdGNoaW5nIHRvIGEgY2xpZW50IHJlbmRlci5cbiAgICAgIC8vIEluc3RlYWQgb2Ygc3VyZmFjaW5nIHRoZSBlcnJvciwgZmluZCB0aGUgbmVhcmVzdCBTdXNwZW5zZSBib3VuZGFyeVxuICAgICAgLy8gYW5kIHJlbmRlciBpdCBhZ2FpbiB3aXRob3V0IGh5ZHJhdGlvbi5cblxuXG4gICAgICBpZiAoX3N1c3BlbnNlQm91bmRhcnkgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKChfc3VzcGVuc2VCb3VuZGFyeS5mbGFncyAmIFNob3VsZENhcHR1cmUpID09PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgLy8gU2V0IGEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IHdlIHNob3VsZCB0cnkgcmVuZGVyaW5nIHRoZSBub3JtYWxcbiAgICAgICAgICAvLyBjaGlsZHJlbiBhZ2Fpbiwgbm90IHRoZSBmYWxsYmFjay5cbiAgICAgICAgICBfc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBGb3JjZUNsaWVudFJlbmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmtTdXNwZW5zZUJvdW5kYXJ5U2hvdWxkQ2FwdHVyZShfc3VzcGVuc2VCb3VuZGFyeSwgcmV0dXJuRmliZXIsIHNvdXJjZUZpYmVyLCByb290LCByb290UmVuZGVyTGFuZXMpOyAvLyBFdmVuIHRob3VnaCB0aGUgdXNlciBtYXkgbm90IGJlIGFmZmVjdGVkIGJ5IHRoaXMgZXJyb3IsIHdlIHNob3VsZFxuICAgICAgICAvLyBzdGlsbCBsb2cgaXQgc28gaXQgY2FuIGJlIGZpeGVkLlxuXG4gICAgICAgIHF1ZXVlSHlkcmF0aW9uRXJyb3IoY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIodmFsdWUsIHNvdXJjZUZpYmVyKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKHZhbHVlLCBzb3VyY2VGaWJlcik7XG4gIHJlbmRlckRpZEVycm9yKHZhbHVlKTsgLy8gV2UgZGlkbid0IGZpbmQgYSBib3VuZGFyeSB0aGF0IGNvdWxkIGhhbmRsZSB0aGlzIHR5cGUgb2YgZXhjZXB0aW9uLiBTdGFydFxuICAvLyBvdmVyIGFuZCB0cmF2ZXJzZSBwYXJlbnQgcGF0aCBhZ2FpbiwgdGhpcyB0aW1lIHRyZWF0aW5nIHRoZSBleGNlcHRpb25cbiAgLy8gYXMgYW4gZXJyb3IuXG5cbiAgdmFyIHdvcmtJblByb2dyZXNzID0gcmV0dXJuRmliZXI7XG5cbiAgZG8ge1xuICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9lcnJvckluZm8gPSB2YWx1ZTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTaG91bGRDYXB0dXJlO1xuICAgICAgICAgIHZhciBsYW5lID0gcGlja0FyYml0cmFyeUxhbmUocm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3MubGFuZXMsIGxhbmUpO1xuICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVSb290RXJyb3JVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF9lcnJvckluZm8sIGxhbmUpO1xuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgdXBkYXRlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgLy8gQ2FwdHVyZSBhbmQgcmV0cnlcbiAgICAgICAgdmFyIGVycm9ySW5mbyA9IHZhbHVlO1xuICAgICAgICB2YXIgY3RvciA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MgJiYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCBpbnN0YW5jZSAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSkge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZENhcHR1cmU7XG5cbiAgICAgICAgICB2YXIgX2xhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyb290UmVuZGVyTGFuZXMpO1xuXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBfbGFuZSk7IC8vIFNjaGVkdWxlIHRoZSBlcnJvciBib3VuZGFyeSB0byByZS1yZW5kZXIgdXNpbmcgdXBkYXRlZCBzdGF0ZVxuXG4gICAgICAgICAgdmFyIF91cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKHdvcmtJblByb2dyZXNzLCBlcnJvckluZm8sIF9sYW5lKTtcblxuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgX3VwZGF0ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gIH0gd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKTtcbn1cblxuZnVuY3Rpb24gZ2V0U3VzcGVuZGVkQ2FjaGUoKSB7XG4gIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIGEgU3VzcGVuc2UgYm91bmRhcnkgc3VzcGVuZHMuIEl0IHJldHVybnMgdGhlXG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dEJhZENsYXNzO1xudmFyIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzO1xudmFyIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHM7XG52YXIgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXI7XG52YXIgZGlkV2FybkFib3V0VGFpbE9wdGlvbnM7XG5cbntcbiAgZGlkV2FybkFib3V0QmFkQ2xhc3MgPSB7fTtcbiAgZGlkV2FybkFib3V0TW9kdWxlUGF0dGVybkNvbXBvbmVudCA9IHt9O1xuICBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZU9uRnVuY3Rpb25Db21wb25lbnQgPSB7fTtcbiAgZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudCA9IHt9O1xuICBkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnMgPSB7fTtcbiAgZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcyA9IGZhbHNlO1xuICBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlciA9IHt9O1xuICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9ucyA9IHt9O1xufVxuXG5mdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgaXMgYSBmcmVzaCBuZXcgY29tcG9uZW50IHRoYXQgaGFzbid0IGJlZW4gcmVuZGVyZWQgeWV0LCB3ZVxuICAgIC8vIHdvbid0IHVwZGF0ZSBpdHMgY2hpbGQgc2V0IGJ5IGFwcGx5aW5nIG1pbmltYWwgc2lkZS1lZmZlY3RzLiBJbnN0ZWFkLFxuICAgIC8vIHdlIHdpbGwgYWRkIHRoZW0gYWxsIHRvIHRoZSBjaGlsZCBiZWZvcmUgaXQgZ2V0cyByZW5kZXJlZC4gVGhhdCBtZWFuc1xuICAgIC8vIHdlIGNhbiBvcHRpbWl6ZSB0aGlzIHJlY29uY2lsaWF0aW9uIHBhc3MgYnkgbm90IHRyYWNraW5nIHNpZGUtZWZmZWN0cy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG1vdW50Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9IGVsc2Uge1xuICAgIC8vIElmIHRoZSBjdXJyZW50IGNoaWxkIGlzIHRoZSBzYW1lIGFzIHRoZSB3b3JrIGluIHByb2dyZXNzLCBpdCBtZWFucyB0aGF0XG4gICAgLy8gd2UgaGF2ZW4ndCB5ZXQgc3RhcnRlZCBhbnkgd29yayBvbiB0aGVzZSBjaGlsZHJlbi4gVGhlcmVmb3JlLCB3ZSB1c2VcbiAgICAvLyB0aGUgY2xvbmUgYWxnb3JpdGhtIHRvIGNyZWF0ZSBhIGNvcHkgb2YgYWxsIHRoZSBjdXJyZW50IGNoaWxkcmVuLlxuICAgIC8vIElmIHdlIGhhZCBhbnkgcHJvZ3Jlc3NlZCB3b3JrIGFscmVhZHksIHRoYXQgaXMgaW52YWxpZCBhdCB0aGlzIHBvaW50IHNvXG4gICAgLy8gbGV0J3MgdGhyb3cgaXQgb3V0LlxuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZvcmNlVW5tb3VudEN1cnJlbnRBbmRSZWNvbmNpbGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyBmb3JrIG9mIHJlY29uY2lsZUNoaWxkcmVuLiBJdCdzIHVzZWQgaW4gY2FzZXMgd2hlcmUgd2VcbiAgLy8gd2FudCB0byByZWNvbmNpbGUgd2l0aG91dCBtYXRjaGluZyBhZ2FpbnN0IHRoZSBleGlzdGluZyBzZXQuIFRoaXMgaGFzIHRoZVxuICAvLyBlZmZlY3Qgb2YgYWxsIGN1cnJlbnQgY2hpbGRyZW4gYmVpbmcgdW5tb3VudGVkOyBldmVuIGlmIHRoZSB0eXBlIGFuZCBrZXlcbiAgLy8gYXJlIHRoZSBzYW1lLCB0aGUgb2xkIGNoaWxkIGlzIHVubW91bnRlZCBhbmQgYSBuZXcgY2hpbGQgaXMgY3JlYXRlZC5cbiAgLy9cbiAgLy8gVG8gZG8gdGhpcywgd2UncmUgZ29pbmcgdG8gZ28gdGhyb3VnaCB0aGUgcmVjb25jaWxlIGFsZ29yaXRobSB0d2ljZS4gSW5cbiAgLy8gdGhlIGZpcnN0IHBhc3MsIHdlIHNjaGVkdWxlIGEgZGVsZXRpb24gZm9yIGFsbCB0aGUgY3VycmVudCBjaGlsZHJlbiBieVxuICAvLyBwYXNzaW5nIG51bGwuXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTsgLy8gSW4gdGhlIHNlY29uZCBwYXNzLCB3ZSBtb3VudCB0aGUgbmV3IGNoaWxkcmVuLiBUaGUgdHJpY2sgaGVyZSBpcyB0aGF0IHdlXG4gIC8vIHBhc3MgbnVsbCBpbiBwbGFjZSBvZiB3aGVyZSB3ZSB1c3VhbGx5IHBhc3MgdGhlIGN1cnJlbnQgY2hpbGQgc2V0LiBUaGlzIGhhc1xuICAvLyB0aGUgZWZmZWN0IG9mIHJlbW91bnRpbmcgYWxsIGNoaWxkcmVuIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGVpclxuICAvLyBpZGVudGl0aWVzIG1hdGNoLlxuXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVGb3J3YXJkUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcbiAgLy8gaGFzbid0IHlldCBtb3VudGVkLiBUaGlzIGhhcHBlbnMgYWZ0ZXIgdGhlIGZpcnN0IHJlbmRlciBzdXNwZW5kcy5cbiAgLy8gV2UnbGwgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoaXMgaXMgZmluZSBvciBjYW4gY2F1c2UgaXNzdWVzLlxuICB7XG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAvLyBMYXp5IGNvbXBvbmVudCBwcm9wcyBjYW4ndCBiZSB2YWxpZGF0ZWQgaW4gY3JlYXRlRWxlbWVudFxuICAgICAgLy8gYmVjYXVzZSB0aGV5J3JlIG9ubHkgZ3VhcmFudGVlZCB0byBiZSByZXNvbHZlZCBoZXJlLlxuICAgICAgdmFyIGlubmVyUHJvcFR5cGVzID0gQ29tcG9uZW50LnByb3BUeXBlcztcblxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XG4gICAgICAgIGNoZWNrUHJvcFR5cGVzKGlubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKENvbXBvbmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciByZW5kZXIgPSBDb21wb25lbnQucmVuZGVyO1xuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmOyAvLyBUaGUgcmVzdCBpcyBhIGZvcmsgb2YgdXBkYXRlRnVuY3Rpb25Db21wb25lbnRcblxuICB2YXIgbmV4dENoaWxkcmVuO1xuICB2YXIgaGFzSWQ7XG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHtcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcbiAgICBuZXh0Q2hpbGRyZW4gPSByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlciwgbmV4dFByb3BzLCByZWYsIHJlbmRlckxhbmVzKTtcbiAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXIsIG5leHRQcm9wcywgcmVmLCByZW5kZXJMYW5lcyk7XG4gICAgICAgIGhhc0lkID0gY2hlY2tEaWRSZW5kZXJJZEhvb2soKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gIH1cblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmICFkaWRSZWNlaXZlVXBkYXRlKSB7XG4gICAgYmFpbG91dEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgcHVzaE1hdGVyaWFsaXplZFRyZWVJZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHZhciB0eXBlID0gQ29tcG9uZW50LnR5cGU7XG5cbiAgICBpZiAoaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSAmJiBDb21wb25lbnQuY29tcGFyZSA9PT0gbnVsbCAmJiAvLyBTaW1wbGVNZW1vQ29tcG9uZW50IGNvZGVwYXRoIGRvZXNuJ3QgcmVzb2x2ZSBvdXRlciBwcm9wcyBlaXRoZXIuXG4gICAgQ29tcG9uZW50LmRlZmF1bHRQcm9wcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgcmVzb2x2ZWRUeXBlID0gdHlwZTtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSk7XG4gICAgICB9IC8vIElmIHRoaXMgaXMgYSBwbGFpbiBmdW5jdGlvbiBjb21wb25lbnQgd2l0aG91dCBkZWZhdWx0IHByb3BzLFxuICAgICAgLy8gYW5kIHdpdGggb25seSB0aGUgZGVmYXVsdCBzaGFsbG93IGNvbXBhcmlzb24sIHdlIHVwZ3JhZGUgaXRcbiAgICAgIC8vIHRvIGEgU2ltcGxlTWVtb0NvbXBvbmVudCB0byBhbGxvdyBmYXN0IHBhdGggdXBkYXRlcy5cblxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBTaW1wbGVNZW1vQ29tcG9uZW50O1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVkVHlwZTtcblxuICAgICAge1xuICAgICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIHR5cGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVzb2x2ZWRUeXBlLCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcblxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XG4gICAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXG4gICAgICAgIC8vIFdlIGNvdWxkIG1vdmUgaXQgdGhlcmUsIGJ1dCB3ZSdkIHN0aWxsIG5lZWQgdGhpcyBmb3IgbGF6eSBjb2RlIHBhdGguXG4gICAgICAgIGNoZWNrUHJvcFR5cGVzKGlubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgY2hpbGQgPSBjcmVhdGVGaWJlckZyb21UeXBlQW5kUHJvcHMoQ29tcG9uZW50LnR5cGUsIG51bGwsIG5leHRQcm9wcywgd29ya0luUHJvZ3Jlc3MsIHdvcmtJblByb2dyZXNzLm1vZGUsIHJlbmRlckxhbmVzKTtcbiAgICBjaGlsZC5yZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7XG4gICAgY2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjaGlsZDtcbiAgICByZXR1cm4gY2hpbGQ7XG4gIH1cblxuICB7XG4gICAgdmFyIF90eXBlID0gQ29tcG9uZW50LnR5cGU7XG4gICAgdmFyIF9pbm5lclByb3BUeXBlcyA9IF90eXBlLnByb3BUeXBlcztcblxuICAgIGlmIChfaW5uZXJQcm9wVHlwZXMpIHtcbiAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXG4gICAgICAvLyBXZSBjb3VsZCBtb3ZlIGl0IHRoZXJlLCBidXQgd2UnZCBzdGlsbCBuZWVkIHRoaXMgZm9yIGxhenkgY29kZSBwYXRoLlxuICAgICAgY2hlY2tQcm9wVHlwZXMoX2lubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShfdHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjdXJyZW50Q2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBUaGlzIGlzIGFsd2F5cyBleGFjdGx5IG9uZSBjaGlsZFxuXG4gIHZhciBoYXNTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQgPSBjaGVja1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dChjdXJyZW50LCByZW5kZXJMYW5lcyk7XG5cbiAgaWYgKCFoYXNTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQpIHtcbiAgICAvLyBUaGlzIHdpbGwgYmUgdGhlIHByb3BzIHdpdGggcmVzb2x2ZWQgZGVmYXVsdFByb3BzLFxuICAgIC8vIHVubGlrZSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgd2hpY2ggd2lsbCBiZSB0aGUgdW5yZXNvbHZlZCBvbmVzLlxuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Q2hpbGQubWVtb2l6ZWRQcm9wczsgLy8gRGVmYXVsdCB0byBzaGFsbG93IGNvbXBhcmlzb25cblxuICAgIHZhciBjb21wYXJlID0gQ29tcG9uZW50LmNvbXBhcmU7XG4gICAgY29tcGFyZSA9IGNvbXBhcmUgIT09IG51bGwgPyBjb21wYXJlIDogc2hhbGxvd0VxdWFsO1xuXG4gICAgaWYgKGNvbXBhcmUocHJldlByb3BzLCBuZXh0UHJvcHMpICYmIGN1cnJlbnQucmVmID09PSB3b3JrSW5Qcm9ncmVzcy5yZWYpIHtcbiAgICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgfVxuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHZhciBuZXdDaGlsZCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgbmV4dFByb3BzKTtcbiAgbmV3Q2hpbGQucmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuICBuZXdDaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcbiAgcmV0dXJuIG5ld0NoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcbiAgLy8gaGFzbid0IHlldCBtb3VudGVkLiBUaGlzIGhhcHBlbnMgd2hlbiB0aGUgaW5uZXIgcmVuZGVyIHN1c3BlbmRzLlxuICAvLyBXZSdsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBpcyBmaW5lIG9yIGNhbiBjYXVzZSBpc3N1ZXMuXG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXG4gICAgICB2YXIgb3V0ZXJNZW1vVHlwZSA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlO1xuXG4gICAgICBpZiAob3V0ZXJNZW1vVHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XG4gICAgICAgIC8vIFdlIHdhcm4gd2hlbiB5b3UgZGVmaW5lIHByb3BUeXBlcyBvbiBsYXp5KClcbiAgICAgICAgLy8gc28gbGV0J3MganVzdCBza2lwIG92ZXIgaXQgdG8gZmluZCBtZW1vKCkgb3V0ZXIgd3JhcHBlci5cbiAgICAgICAgLy8gSW5uZXIgcHJvcHMgZm9yIG1lbW8gYXJlIHZhbGlkYXRlZCBsYXRlci5cbiAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSBvdXRlck1lbW9UeXBlO1xuICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIG91dGVyTWVtb1R5cGUgPSBpbml0KHBheWxvYWQpO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgb3V0ZXJNZW1vVHlwZSA9IG51bGw7XG4gICAgICAgIH0gLy8gSW5uZXIgcHJvcFR5cGVzIHdpbGwgYmUgdmFsaWRhdGVkIGluIHRoZSBmdW5jdGlvbiBjb21wb25lbnQgcGF0aC5cblxuXG4gICAgICAgIHZhciBvdXRlclByb3BUeXBlcyA9IG91dGVyTWVtb1R5cGUgJiYgb3V0ZXJNZW1vVHlwZS5wcm9wVHlwZXM7XG5cbiAgICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XG4gICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgKFNpbXBsZU1lbW9Db21wb25lbnQgaGFzIG5vIGRlZmF1bHRQcm9wcylcbiAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShvdXRlck1lbW9UeXBlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICBpZiAoc2hhbGxvd0VxdWFsKHByZXZQcm9wcywgbmV4dFByb3BzKSAmJiBjdXJyZW50LnJlZiA9PT0gd29ya0luUHJvZ3Jlc3MucmVmICYmICggLy8gUHJldmVudCBiYWlsb3V0IGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VkIGR1ZSB0byBob3QgcmVsb2FkLlxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID09PSBjdXJyZW50LnR5cGUgKSkge1xuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGUgcHJvcHMgYXJlIHNoYWxsb3dseSBlcXVhbC4gUmV1c2UgdGhlIHByZXZpb3VzIHByb3BzIG9iamVjdCwgbGlrZSB3ZVxuICAgICAgLy8gd291bGQgZHVyaW5nIGEgbm9ybWFsIGZpYmVyIGJhaWxvdXQuXG4gICAgICAvL1xuICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBzdHJvbmcgZ3VhcmFudGVlcyB0aGF0IHRoZSBwcm9wcyBvYmplY3QgaXMgcmVmZXJlbnRpYWxseVxuICAgICAgLy8gZXF1YWwgZHVyaW5nIHVwZGF0ZXMgd2hlcmUgd2UgY2FuJ3QgYmFpbCBvdXQgYW55d2F5IOKAlCBsaWtlIGlmIHRoZSBwcm9wc1xuICAgICAgLy8gYXJlIHNoYWxsb3dseSBlcXVhbCwgYnV0IHRoZXJlJ3MgYSBsb2NhbCBzdGF0ZSBvciBjb250ZXh0IHVwZGF0ZSBpbiB0aGVcbiAgICAgIC8vIHNhbWUgYmF0Y2guXG4gICAgICAvL1xuICAgICAgLy8gSG93ZXZlciwgYXMgYSBwcmluY2lwbGUsIHdlIHNob3VsZCBhaW0gdG8gbWFrZSB0aGUgYmVoYXZpb3IgY29uc2lzdGVudFxuICAgICAgLy8gYWNyb3NzIGRpZmZlcmVudCB3YXlzIG9mIG1lbW9pemluZyBhIGNvbXBvbmVudC4gRm9yIGV4YW1wbGUsIFJlYWN0Lm1lbW9cbiAgICAgIC8vIGhhcyBhIGRpZmZlcmVudCBpbnRlcm5hbCBGaWJlciBsYXlvdXQgaWYgeW91IHBhc3MgYSBub3JtYWwgZnVuY3Rpb25cbiAgICAgIC8vIGNvbXBvbmVudCAoU2ltcGxlTWVtb0NvbXBvbmVudCkgdmVyc3VzIGlmIHlvdSBwYXNzIGEgZGlmZmVyZW50IHR5cGVcbiAgICAgIC8vIGxpa2UgZm9yd2FyZFJlZiAoTWVtb0NvbXBvbmVudCkuIEJ1dCB0aGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbC5cbiAgICAgIC8vIFdyYXBwaW5nIGEgY29tcG9uZW50IGluIGZvcndhcmRSZWYgKG9yIFJlYWN0LmxhenksIGV0Yykgc2hvdWxkbid0XG4gICAgICAvLyBhZmZlY3Qgd2hldGhlciB0aGUgcHJvcHMgb2JqZWN0IGlzIHJldXNlZCBkdXJpbmcgYSBiYWlsb3V0LlxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMgPSBuZXh0UHJvcHMgPSBwcmV2UHJvcHM7XG5cbiAgICAgIGlmICghY2hlY2tTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQoY3VycmVudCwgcmVuZGVyTGFuZXMpKSB7XG4gICAgICAgIC8vIFRoZSBwZW5kaW5nIGxhbmVzIHdlcmUgY2xlYXJlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGJlZ2luV29yay4gV2UncmVcbiAgICAgICAgLy8gYWJvdXQgdG8gYmFpbCBvdXQsIGJ1dCB0aGVyZSBtaWdodCBiZSBvdGhlciBsYW5lcyB0aGF0IHdlcmVuJ3RcbiAgICAgICAgLy8gaW5jbHVkZWQgaW4gdGhlIGN1cnJlbnQgcmVuZGVyLiBVc3VhbGx5LCB0aGUgcHJpb3JpdHkgbGV2ZWwgb2YgdGhlXG4gICAgICAgIC8vIHJlbWFpbmluZyB1cGRhdGVzIGlzIGFjY3VtdWxhdGVkIGR1cmluZyB0aGUgZXZhbHVhdGlvbiBvZiB0aGVcbiAgICAgICAgLy8gY29tcG9uZW50IChpLmUuIHdoZW4gcHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlKS4gQnV0IHNpbmNlIHNpbmNlXG4gICAgICAgIC8vIHdlJ3JlIGJhaWxpbmcgb3V0IGVhcmx5ICp3aXRob3V0KiBldmFsdWF0aW5nIHRoZSBjb21wb25lbnQsIHdlIG5lZWRcbiAgICAgICAgLy8gdG8gYWNjb3VudCBmb3IgaXQgaGVyZSwgdG9vLiBSZXNldCB0byB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgZmliZXIuXG4gICAgICAgIC8vIE5PVEU6IFRoaXMgb25seSBhcHBsaWVzIHRvIFNpbXBsZU1lbW9Db21wb25lbnQsIG5vdCBNZW1vQ29tcG9uZW50LFxuICAgICAgICAvLyBiZWNhdXNlIGEgTWVtb0NvbXBvbmVudCBmaWJlciBkb2VzIG5vdCBoYXZlIGhvb2tzIG9yIGFuIHVwZGF0ZSBxdWV1ZTtcbiAgICAgICAgLy8gcmF0aGVyLCBpdCB3cmFwcyBhcm91bmQgYW4gaW5uZXIgY29tcG9uZW50LCB3aGljaCBtYXkgb3IgbWF5IG5vdFxuICAgICAgICAvLyBjb250YWlucyBob29rcy5cbiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGUgcmVzZXQgYXQgaW4gYmVnaW5Xb3JrIG91dCBvZiB0aGUgY29tbW9uIHBhdGggc28gdGhhdFxuICAgICAgICAvLyB0aGlzIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gY3VycmVudC5sYW5lcztcbiAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH0gZWxzZSBpZiAoKGN1cnJlbnQuZmxhZ3MgJiBGb3JjZVVwZGF0ZUZvckxlZ2FjeVN1c3BlbnNlKSAhPT0gTm9GbGFncykge1xuICAgICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlIHRoYXQgb25seSBleGlzdHMgZm9yIGxlZ2FjeSBtb2RlLlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMTkyMTYuXG4gICAgICAgIGRpZFJlY2VpdmVVcGRhdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YXIgcHJldlN0YXRlID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSA6IG51bGw7XG5cbiAgaWYgKG5leHRQcm9wcy5tb2RlID09PSAnaGlkZGVuJyB8fCBlbmFibGVMZWdhY3lIaWRkZW4gKSB7XG4gICAgLy8gUmVuZGVyaW5nIGEgaGlkZGVuIHRyZWUuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIC8vIEluIGxlZ2FjeSBzeW5jIG1vZGUsIGRvbid0IGRlZmVyIHRoZSBzdWJ0cmVlLiBSZW5kZXIgaXQgbm93LlxuICAgICAgLy8gVE9ETzogQ29uc2lkZXIgaG93IE9mZnNjcmVlbiBzaG91bGQgd29yayB3aXRoIHRyYW5zaXRpb25zIGluIHRoZSBmdXR1cmVcbiAgICAgIHZhciBuZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogTm9MYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBudWxsLFxuICAgICAgICB0cmFuc2l0aW9uczogbnVsbFxuICAgICAgfTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXh0U3RhdGU7XG5cbiAgICAgIHB1c2hSZW5kZXJMYW5lcyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgIH0gZWxzZSBpZiAoIWluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIE9mZnNjcmVlbkxhbmUpKSB7XG4gICAgICB2YXIgc3Bhd25lZENhY2hlUG9vbCA9IG51bGw7IC8vIFdlJ3JlIGhpZGRlbiwgYW5kIHdlJ3JlIG5vdCByZW5kZXJpbmcgYXQgT2Zmc2NyZWVuLiBXZSB3aWxsIGJhaWwgb3V0XG4gICAgICAvLyBhbmQgcmVzdW1lIHRoaXMgdHJlZSBsYXRlci5cblxuICAgICAgdmFyIG5leHRCYXNlTGFuZXM7XG5cbiAgICAgIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIHByZXZCYXNlTGFuZXMgPSBwcmV2U3RhdGUuYmFzZUxhbmVzO1xuICAgICAgICBuZXh0QmFzZUxhbmVzID0gbWVyZ2VMYW5lcyhwcmV2QmFzZUxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0QmFzZUxhbmVzID0gcmVuZGVyTGFuZXM7XG4gICAgICB9IC8vIFNjaGVkdWxlIHRoaXMgZmliZXIgdG8gcmUtcmVuZGVyIGF0IG9mZnNjcmVlbiBwcmlvcml0eS4gVGhlbiBiYWlsb3V0LlxuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IGxhbmVUb0xhbmVzKE9mZnNjcmVlbkxhbmUpO1xuICAgICAgdmFyIF9uZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogbmV4dEJhc2VMYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBzcGF3bmVkQ2FjaGVQb29sLFxuICAgICAgICB0cmFuc2l0aW9uczogbnVsbFxuICAgICAgfTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBfbmV4dFN0YXRlO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuICAgICAgLy8gdG8gYXZvaWQgYSBwdXNoL3BvcCBtaXNhbGlnbm1lbnQuXG5cblxuICAgICAgcHVzaFJlbmRlckxhbmVzKHdvcmtJblByb2dyZXNzLCBuZXh0QmFzZUxhbmVzKTtcblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCByZW5kZXIuIFRoZSBzdXJyb3VuZGluZyB2aXNpYmxlIGNvbnRlbnQgaGFzIGFscmVhZHlcbiAgICAgIC8vIGNvbW1pdHRlZC4gTm93IHdlIHJlc3VtZSByZW5kZXJpbmcgdGhlIGhpZGRlbiB0cmVlLlxuICAgICAgLy8gUmVuZGVyaW5nIGF0IG9mZnNjcmVlbiwgc28gd2UgY2FuIGNsZWFyIHRoZSBiYXNlIGxhbmVzLlxuICAgICAgdmFyIF9uZXh0U3RhdGUyID0ge1xuICAgICAgICBiYXNlTGFuZXM6IE5vTGFuZXMsXG4gICAgICAgIGNhY2hlUG9vbDogbnVsbCxcbiAgICAgICAgdHJhbnNpdGlvbnM6IG51bGxcbiAgICAgIH07XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gX25leHRTdGF0ZTI7IC8vIFB1c2ggdGhlIGxhbmVzIHRoYXQgd2VyZSBza2lwcGVkIHdoZW4gd2UgYmFpbGVkIG91dC5cblxuICAgICAgdmFyIHN1YnRyZWVSZW5kZXJMYW5lcyA9IHByZXZTdGF0ZSAhPT0gbnVsbCA/IHByZXZTdGF0ZS5iYXNlTGFuZXMgOiByZW5kZXJMYW5lcztcblxuICAgICAgcHVzaFJlbmRlckxhbmVzKHdvcmtJblByb2dyZXNzLCBzdWJ0cmVlUmVuZGVyTGFuZXMpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBSZW5kZXJpbmcgYSB2aXNpYmxlIHRyZWUuXG4gICAgdmFyIF9zdWJ0cmVlUmVuZGVyTGFuZXM7XG5cbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBXZSdyZSBnb2luZyBmcm9tIGhpZGRlbiAtPiB2aXNpYmxlLlxuICAgICAgX3N1YnRyZWVSZW5kZXJMYW5lcyA9IG1lcmdlTGFuZXMocHJldlN0YXRlLmJhc2VMYW5lcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2Ugd2VyZW4ndCBwcmV2aW91c2x5IGhpZGRlbiwgYW5kIHdlIHN0aWxsIGFyZW4ndCwgc28gdGhlcmUncyBub3RoaW5nXG4gICAgICAvLyBzcGVjaWFsIHRvIGRvLiBOZWVkIHRvIHB1c2ggdG8gdGhlIHN0YWNrIHJlZ2FyZGxlc3MsIHRob3VnaCwgdG8gYXZvaWRcbiAgICAgIC8vIGEgcHVzaC9wb3AgbWlzYWxpZ25tZW50LlxuICAgICAgX3N1YnRyZWVSZW5kZXJMYW5lcyA9IHJlbmRlckxhbmVzO1xuICAgIH1cblxuICAgIHB1c2hSZW5kZXJMYW5lcyh3b3JrSW5Qcm9ncmVzcywgX3N1YnRyZWVSZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn0gLy8gTm90ZTogVGhlc2UgaGFwcGVuIHRvIGhhdmUgaWRlbnRpY2FsIGJlZ2luIHBoYXNlcywgZm9yIG5vdy4gV2Ugc2hvdWxkbid0IGhvbGRcblxuZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0Q2hpbGRyZW4gPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVNb2RlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG5cbiAgICB7XG4gICAgICAvLyBSZXNldCBlZmZlY3QgZHVyYXRpb25zIGZvciB0aGUgbmV4dCBldmVudHVhbCBlZmZlY3QgcGhhc2UuXG4gICAgICAvLyBUaGVzZSBhcmUgcmVzZXQgZHVyaW5nIHJlbmRlciB0byBhbGxvdyB0aGUgRGV2VG9vbHMgY29tbWl0IGhvb2sgYSBjaGFuY2UgdG8gcmVhZCB0aGVtLFxuICAgICAgdmFyIHN0YXRlTm9kZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgIHN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICBzdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gMDtcbiAgICB9XG4gIH1cblxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gbWFya1JlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsICYmIHJlZiAhPT0gbnVsbCB8fCBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQucmVmICE9PSByZWYpIHtcbiAgICAvLyBTY2hlZHVsZSBhIFJlZiBlZmZlY3RcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWY7XG5cbiAgICB7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWZTdGF0aWM7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAge1xuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgLy8gTGF6eSBjb21wb25lbnQgcHJvcHMgY2FuJ3QgYmUgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhleSdyZSBvbmx5IGd1YXJhbnRlZWQgdG8gYmUgcmVzb2x2ZWQgaGVyZS5cbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XG5cbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xuICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlKTtcbiAgICBjb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KTtcbiAgfVxuXG4gIHZhciBuZXh0Q2hpbGRyZW47XG4gIHZhciBoYXNJZDtcbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIGNvbnRleHQsIHJlbmRlckxhbmVzKTtcbiAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgY29udGV4dCwgcmVuZGVyTGFuZXMpO1xuICAgICAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xuICB9XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkKCk7XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiAhZGlkUmVjZWl2ZVVwZGF0ZSkge1xuICAgIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSAmJiBoYXNJZCkge1xuICAgIHB1c2hNYXRlcmlhbGl6ZWRUcmVlSWQod29ya0luUHJvZ3Jlc3MpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICAvLyBUaGlzIGlzIHVzZWQgYnkgRGV2VG9vbHMgdG8gZm9yY2UgYSBib3VuZGFyeSB0byBlcnJvci5cbiAgICBzd2l0Y2ggKHNob3VsZEVycm9yKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBfaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gICAgICAgICAgdmFyIGN0b3IgPSB3b3JrSW5Qcm9ncmVzcy50eXBlOyAvLyBUT0RPIFRoaXMgd2F5IG9mIHJlc2V0dGluZyB0aGUgZXJyb3IgYm91bmRhcnkgc3RhdGUgaXMgYSBoYWNrLlxuICAgICAgICAgIC8vIElzIHRoZXJlIGEgYmV0dGVyIHdheSB0byBkbyB0aGlzP1xuXG4gICAgICAgICAgdmFyIHRlbXBJbnN0YW5jZSA9IG5ldyBjdG9yKHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMsIF9pbnN0YW5jZS5jb250ZXh0KTtcbiAgICAgICAgICB2YXIgc3RhdGUgPSB0ZW1wSW5zdGFuY2Uuc3RhdGU7XG5cbiAgICAgICAgICBfaW5zdGFuY2UudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUoX2luc3RhbmNlLCBzdGF0ZSwgbnVsbCk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZENhcHR1cmU7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG5cbiAgICAgICAgICB2YXIgZXJyb3IkMSA9IG5ldyBFcnJvcignU2ltdWxhdGVkIGVycm9yIGNvbWluZyBmcm9tIERldlRvb2xzJyk7XG4gICAgICAgICAgdmFyIGxhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyZW5kZXJMYW5lcyk7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBsYW5lKTsgLy8gU2NoZWR1bGUgdGhlIGVycm9yIGJvdW5kYXJ5IHRvIHJlLXJlbmRlciB1c2luZyB1cGRhdGVkIHN0YXRlXG5cbiAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlQ2xhc3NFcnJvclVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIoZXJyb3IkMSwgd29ya0luUHJvZ3Jlc3MpLCBsYW5lKTtcbiAgICAgICAgICBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIHVwZGF0ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSBDb21wb25lbnQucHJvcFR5cGVzO1xuXG4gICAgICBpZiAoaW5uZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgY2hlY2tQcm9wVHlwZXMoaW5uZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgcHJvcHNcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSk7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFB1c2ggY29udGV4dCBwcm92aWRlcnMgZWFybHkgdG8gcHJldmVudCBjb250ZXh0IHN0YWNrIG1pc21hdGNoZXMuXG4gIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cbiAgLy8gV2Ugd2lsbCBpbnZhbGlkYXRlIHRoZSBjaGlsZCBjb250ZXh0IGluIGZpbmlzaENsYXNzQ29tcG9uZW50KCkgcmlnaHQgYWZ0ZXIgcmVuZGVyaW5nLlxuXG5cbiAgdmFyIGhhc0NvbnRleHQ7XG5cbiAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICBoYXNDb250ZXh0ID0gdHJ1ZTtcbiAgICBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcbiAgfSBlbHNlIHtcbiAgICBoYXNDb250ZXh0ID0gZmFsc2U7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIHZhciBzaG91bGRVcGRhdGU7XG5cbiAgaWYgKGluc3RhbmNlID09PSBudWxsKSB7XG4gICAgcmVzZXRTdXNwZW5kZWRDdXJyZW50T25Nb3VudEluTGVnYWN5TW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7IC8vIEluIHRoZSBpbml0aWFsIHBhc3Mgd2UgbWlnaHQgbmVlZCB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlLlxuXG4gICAgY29uc3RydWN0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMpO1xuICAgIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICBzaG91bGRVcGRhdGUgPSB0cnVlO1xuICB9IGVsc2UgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAvLyBJbiBhIHJlc3VtZSwgd2UnbGwgYWxyZWFkeSBoYXZlIGFuIGluc3RhbmNlIHdlIGNhbiByZXVzZS5cbiAgICBzaG91bGRVcGRhdGUgPSByZXN1bWVNb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgc2hvdWxkVXBkYXRlID0gdXBkYXRlQ2xhc3NJbnN0YW5jZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciBuZXh0VW5pdE9mV29yayA9IGZpbmlzaENsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHNob3VsZFVwZGF0ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xuXG4gIHtcbiAgICB2YXIgaW5zdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmIChzaG91bGRVcGRhdGUgJiYgaW5zdC5wcm9wcyAhPT0gbmV4dFByb3BzKSB7XG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcbiAgICAgICAgZXJyb3IoJ0l0IGxvb2tzIGxpa2UgJXMgaXMgcmVhc3NpZ25pbmcgaXRzIG93biBgdGhpcy5wcm9wc2Agd2hpbGUgcmVuZGVyaW5nLiAnICsgJ1RoaXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgY2FuIGxlYWQgdG8gY29uZnVzaW5nIGJ1Z3MuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcih3b3JrSW5Qcm9ncmVzcykgfHwgJ2EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXh0VW5pdE9mV29yaztcbn1cblxuZnVuY3Rpb24gZmluaXNoQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgc2hvdWxkVXBkYXRlLCBoYXNDb250ZXh0LCByZW5kZXJMYW5lcykge1xuICAvLyBSZWZzIHNob3VsZCB1cGRhdGUgZXZlbiBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZVxuICBtYXJrUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGRpZENhcHR1cmVFcnJvciA9ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzO1xuXG4gIGlmICghc2hvdWxkVXBkYXRlICYmICFkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBDb250ZXh0IHByb3ZpZGVycyBzaG91bGQgZGVmZXIgdG8gc0NVIGZvciByZW5kZXJpbmdcbiAgICBpZiAoaGFzQ29udGV4dCkge1xuICAgICAgaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTsgLy8gUmVyZW5kZXJcblxuICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdmFyIG5leHRDaGlsZHJlbjtcblxuICBpZiAoZGlkQ2FwdHVyZUVycm9yICYmIHR5cGVvZiBDb21wb25lbnQuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gSWYgd2UgY2FwdHVyZWQgYW4gZXJyb3IsIGJ1dCBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgaXMgbm90IGRlZmluZWQsXG4gICAgLy8gdW5tb3VudCBhbGwgdGhlIGNoaWxkcmVuLiBjb21wb25lbnREaWRDYXRjaCB3aWxsIHNjaGVkdWxlIGFuIHVwZGF0ZSB0b1xuICAgIC8vIHJlLXJlbmRlciBhIGZhbGxiYWNrLiBUaGlzIGlzIHRlbXBvcmFyeSB1bnRpbCB3ZSBtaWdyYXRlIGV2ZXJ5b25lIHRvXG4gICAgLy8gdGhlIG5ldyBBUEkuXG4gICAgLy8gVE9ETzogV2FybiBpbiBhIGZ1dHVyZSByZWxlYXNlLlxuICAgIG5leHRDaGlsZHJlbiA9IG51bGw7XG5cbiAgICB7XG4gICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZygpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfVxuXG4gICAge1xuICAgICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgICBuZXh0Q2hpbGRyZW4gPSBpbnN0YW5jZS5yZW5kZXIoKTtcblxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGluc3RhbmNlLnJlbmRlcigpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgICB9XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBJZiB3ZSdyZSByZWNvdmVyaW5nIGZyb20gYW4gZXJyb3IsIHJlY29uY2lsZSB3aXRob3V0IHJldXNpbmcgYW55IG9mXG4gICAgLy8gdGhlIGV4aXN0aW5nIGNoaWxkcmVuLiBDb25jZXB0dWFsbHksIHRoZSBub3JtYWwgY2hpbGRyZW4gYW5kIHRoZSBjaGlsZHJlblxuICAgIC8vIHRoYXQgYXJlIHNob3duIG9uIGVycm9yIGFyZSB0d28gZGlmZmVyZW50IHNldHMsIHNvIHdlIHNob3VsZG4ndCByZXVzZVxuICAgIC8vIG5vcm1hbCBjaGlsZHJlbiBldmVuIGlmIHRoZWlyIGlkZW50aXRpZXMgbWF0Y2guXG4gICAgZm9yY2VVbm1vdW50Q3VycmVudEFuZFJlY29uY2lsZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9IC8vIE1lbW9pemUgc3RhdGUgdXNpbmcgdGhlIHZhbHVlcyB3ZSBqdXN0IHVzZWQgdG8gcmVuZGVyLlxuICAvLyBUT0RPOiBSZXN0cnVjdHVyZSBzbyB3ZSBuZXZlciByZWFkIHZhbHVlcyBmcm9tIHRoZSBpbnN0YW5jZS5cblxuXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTsgLy8gVGhlIGNvbnRleHQgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNvIHdlIG5lZWQgdG8gcmVjYWxjdWxhdGUgaXQuXG5cbiAgaWYgKGhhc0NvbnRleHQpIHtcbiAgICBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKSB7XG4gIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIGlmIChyb290LnBlbmRpbmdDb250ZXh0KSB7XG4gICAgcHVzaFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcywgcm9vdC5wZW5kaW5nQ29udGV4dCwgcm9vdC5wZW5kaW5nQ29udGV4dCAhPT0gcm9vdC5jb250ZXh0KTtcbiAgfSBlbHNlIGlmIChyb290LmNvbnRleHQpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGJlIHNldFxuICAgIHB1c2hUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGV4dCwgZmFsc2UpO1xuICB9XG5cbiAgcHVzaEhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGFpbmVySW5mbyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIGhhdmUgYSBjdXJyZW50IGZpYmVyLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LicpO1xuICB9XG5cbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByZXZTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBwcmV2Q2hpbGRyZW4gPSBwcmV2U3RhdGUuZWxlbWVudDtcbiAgY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV4dFByb3BzLCBudWxsLCByZW5kZXJMYW5lcyk7XG4gIHZhciBuZXh0U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgcm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG5cbiAgdmFyIG5leHRDaGlsZHJlbiA9IG5leHRTdGF0ZS5lbGVtZW50O1xuXG4gIGlmICggcHJldlN0YXRlLmlzRGVoeWRyYXRlZCkge1xuICAgIC8vIFRoaXMgaXMgYSBoeWRyYXRpb24gcm9vdCB3aG9zZSBzaGVsbCBoYXMgbm90IHlldCBoeWRyYXRlZC4gV2Ugc2hvdWxkXG4gICAgLy8gYXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIC8vIEZsaXAgaXNEZWh5ZHJhdGVkIHRvIGZhbHNlIHRvIGluZGljYXRlIHRoYXQgd2hlbiB0aGlzIHJlbmRlclxuICAgIC8vIGZpbmlzaGVzLCB0aGUgcm9vdCB3aWxsIG5vIGxvbmdlciBiZSBkZWh5ZHJhdGVkLlxuICAgIHZhciBvdmVycmlkZVN0YXRlID0ge1xuICAgICAgZWxlbWVudDogbmV4dENoaWxkcmVuLFxuICAgICAgaXNEZWh5ZHJhdGVkOiBmYWxzZSxcbiAgICAgIGNhY2hlOiBuZXh0U3RhdGUuY2FjaGUsXG4gICAgICBwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOiBuZXh0U3RhdGUucGVuZGluZ1N1c3BlbnNlQm91bmRhcmllcyxcbiAgICAgIHRyYW5zaXRpb25zOiBuZXh0U3RhdGUudHJhbnNpdGlvbnNcbiAgICB9O1xuICAgIHZhciB1cGRhdGVRdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlOyAvLyBgYmFzZVN0YXRlYCBjYW4gYWx3YXlzIGJlIHRoZSBsYXN0IHN0YXRlIGJlY2F1c2UgdGhlIHJvb3QgZG9lc24ndFxuICAgIC8vIGhhdmUgcmVkdWNlciBmdW5jdGlvbnMgc28gaXQgZG9lc24ndCBuZWVkIHJlYmFzaW5nLlxuXG4gICAgdXBkYXRlUXVldWUuYmFzZVN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSB7XG4gICAgICAvLyBTb21ldGhpbmcgZXJyb3JlZCBkdXJpbmcgYSBwcmV2aW91cyBhdHRlbXB0IHRvIGh5ZHJhdGUgdGhlIHNoZWxsLCBzbyB3ZVxuICAgICAgLy8gZm9yY2VkIGEgY2xpZW50IHJlbmRlci5cbiAgICAgIHZhciByZWNvdmVyYWJsZUVycm9yID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIobmV3IEVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgaHlkcmF0aW5nLiBCZWNhdXNlIHRoZSBlcnJvciBoYXBwZW5lZCBvdXRzaWRlICcgKyAnb2YgYSBTdXNwZW5zZSBib3VuZGFyeSwgdGhlIGVudGlyZSByb290IHdpbGwgc3dpdGNoIHRvICcgKyAnY2xpZW50IHJlbmRlcmluZy4nKSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG1vdW50SG9zdFJvb3RXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzLCByZWNvdmVyYWJsZUVycm9yKTtcbiAgICB9IGVsc2UgaWYgKG5leHRDaGlsZHJlbiAhPT0gcHJldkNoaWxkcmVuKSB7XG4gICAgICB2YXIgX3JlY292ZXJhYmxlRXJyb3IgPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihuZXcgRXJyb3IoJ1RoaXMgcm9vdCByZWNlaXZlZCBhbiBlYXJseSB1cGRhdGUsIGJlZm9yZSBhbnl0aGluZyB3YXMgYWJsZSAnICsgJ2h5ZHJhdGUuIFN3aXRjaGVkIHRoZSBlbnRpcmUgcm9vdCB0byBjbGllbnQgcmVuZGVyaW5nLicpLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHJldHVybiBtb3VudEhvc3RSb290V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcywgX3JlY292ZXJhYmxlRXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgb3V0ZXJtb3N0IHNoZWxsIGhhcyBub3QgaHlkcmF0ZWQgeWV0LiBTdGFydCBoeWRyYXRpbmcuXG4gICAgICBlbnRlckh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgdmFyIGNoaWxkID0gbW91bnRDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgbnVsbCwgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IGNoaWxkO1xuICAgICAgdmFyIG5vZGUgPSBjaGlsZDtcblxuICAgICAgd2hpbGUgKG5vZGUpIHtcbiAgICAgICAgLy8gTWFyayBlYWNoIGNoaWxkIGFzIGh5ZHJhdGluZy4gVGhpcyBpcyBhIGZhc3QgcGF0aCB0byBrbm93IHdoZXRoZXIgdGhpc1xuICAgICAgICAvLyB0cmVlIGlzIHBhcnQgb2YgYSBoeWRyYXRpbmcgdHJlZS4gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIGNoaWxkXG4gICAgICAgIC8vIG5vZGUgaGFzIGZ1bGx5IG1vdW50ZWQgeWV0LCBhbmQgZm9yIHNjaGVkdWxpbmcgZXZlbnQgcmVwbGF5aW5nLlxuICAgICAgICAvLyBDb25jZXB0dWFsbHkgdGhpcyBpcyBzaW1pbGFyIHRvIFBsYWNlbWVudCBpbiB0aGF0IGEgbmV3IHN1YnRyZWUgaXNcbiAgICAgICAgLy8gaW5zZXJ0ZWQgaW50byB0aGUgUmVhY3QgdHJlZSBoZXJlLiBJdCBqdXN0IGhhcHBlbnMgdG8gbm90IG5lZWQgRE9NXG4gICAgICAgIC8vIG11dGF0aW9ucyBiZWNhdXNlIGl0IGFscmVhZHkgZXhpc3RzLlxuICAgICAgICBub2RlLmZsYWdzID0gbm9kZS5mbGFncyAmIH5QbGFjZW1lbnQgfCBIeWRyYXRpbmc7XG4gICAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFJvb3QgaXMgbm90IGRlaHlkcmF0ZWQuIEVpdGhlciB0aGlzIGlzIGEgY2xpZW50LW9ubHkgcm9vdCwgb3IgaXRcbiAgICAvLyBhbHJlYWR5IGh5ZHJhdGVkLlxuICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcblxuICAgIGlmIChuZXh0Q2hpbGRyZW4gPT09IHByZXZDaGlsZHJlbikge1xuICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50SG9zdFJvb3RXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzLCByZWNvdmVyYWJsZUVycm9yKSB7XG4gIC8vIFJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLlxuICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gIHF1ZXVlSHlkcmF0aW9uRXJyb3IocmVjb3ZlcmFibGVFcnJvcik7XG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IEZvcmNlQ2xpZW50UmVuZGVyO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgcHVzaEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHRyeVRvQ2xhaW1OZXh0SHlkcmF0YWJsZUluc3RhbmNlKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBudWxsO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YXIgaXNEaXJlY3RUZXh0Q2hpbGQgPSBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBuZXh0UHJvcHMpO1xuXG4gIGlmIChpc0RpcmVjdFRleHRDaGlsZCkge1xuICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBhIGRpcmVjdCB0ZXh0IGNoaWxkIG9mIGEgaG9zdCBub2RlLiBUaGlzIGlzIGEgY29tbW9uXG4gICAgLy8gY2FzZS4gV2Ugd29uJ3QgaGFuZGxlIGl0IGFzIGEgcmVpZmllZCBjaGlsZC4gV2Ugd2lsbCBpbnN0ZWFkIGhhbmRsZVxuICAgIC8vIHRoaXMgaW4gdGhlIGhvc3QgZW52aXJvbm1lbnQgdGhhdCBhbHNvIGhhcyBhY2Nlc3MgdG8gdGhpcyBwcm9wLiBUaGF0XG4gICAgLy8gYXZvaWRzIGFsbG9jYXRpbmcgYW5vdGhlciBIb3N0VGV4dCBmaWJlciBhbmQgdHJhdmVyc2luZyBpdC5cbiAgICBuZXh0Q2hpbGRyZW4gPSBudWxsO1xuICB9IGVsc2UgaWYgKHByZXZQcm9wcyAhPT0gbnVsbCAmJiBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBwcmV2UHJvcHMpKSB7XG4gICAgLy8gSWYgd2UncmUgc3dpdGNoaW5nIGZyb20gYSBkaXJlY3QgdGV4dCBjaGlsZCB0byBhIG5vcm1hbCBjaGlsZCwgb3IgdG9cbiAgICAvLyBlbXB0eSwgd2UgbmVlZCB0byBzY2hlZHVsZSB0aGUgdGV4dCBjb250ZW50IHRvIGJlIHJlc2V0LlxuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IENvbnRlbnRSZXNldDtcbiAgfVxuXG4gIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdFRleHQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gTm90aGluZyB0byBkbyBoZXJlLiBUaGlzIGlzIHRlcm1pbmFsLiBXZSdsbCBkbyB0aGUgY29tcGxldGlvbiBzdGVwXG4gIC8vIGltbWVkaWF0ZWx5IGFmdGVyLlxuXG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIG1vdW50TGF6eUNvbXBvbmVudChfY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGVsZW1lbnRUeXBlLCByZW5kZXJMYW5lcykge1xuICByZXNldFN1c3BlbmRlZEN1cnJlbnRPbk1vdW50SW5MZWdhY3lNb2RlKF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHZhciBwcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIGxhenlDb21wb25lbnQgPSBlbGVtZW50VHlwZTtcbiAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG4gIHZhciBDb21wb25lbnQgPSBpbml0KHBheWxvYWQpOyAvLyBTdG9yZSB0aGUgdW53cmFwcGVkIGNvbXBvbmVudCBpbiB0aGUgdHlwZS5cblxuICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50O1xuICB2YXIgcmVzb2x2ZWRUYWcgPSB3b3JrSW5Qcm9ncmVzcy50YWcgPSByZXNvbHZlTGF6eUNvbXBvbmVudFRhZyhDb21wb25lbnQpO1xuICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHJlc29sdmVEZWZhdWx0UHJvcHMoQ29tcG9uZW50LCBwcm9wcyk7XG4gIHZhciBjaGlsZDtcblxuICBzd2l0Y2ggKHJlc29sdmVkVGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKENvbXBvbmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgfVxuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBDb21wb25lbnQgPSByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlQ2xhc3NDb21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZWRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICB9XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlRm9yd2FyZFJlZihudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cblxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgICAgICAgdmFyIG91dGVyUHJvcFR5cGVzID0gQ29tcG9uZW50LnByb3BUeXBlcztcblxuICAgICAgICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XG4gICAgICAgICAgICAgIGNoZWNrUHJvcFR5cGVzKG91dGVyUHJvcFR5cGVzLCByZXNvbHZlZFByb3BzLCAvLyBSZXNvbHZlZCBmb3Igb3V0ZXIgb25seVxuICAgICAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZU1lbW9Db21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQudHlwZSwgcmVzb2x2ZWRQcm9wcyksIC8vIFRoZSBpbm5lciB0eXBlIGNhbiBoYXZlIGRlZmF1bHRzIHRvb1xuICAgICAgICByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgfVxuXG4gIHZhciBoaW50ID0gJyc7XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQgIT09IG51bGwgJiYgdHlwZW9mIENvbXBvbmVudCA9PT0gJ29iamVjdCcgJiYgQ29tcG9uZW50LiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgIGhpbnQgPSAnIERpZCB5b3Ugd3JhcCBhIGNvbXBvbmVudCBpbiBSZWFjdC5sYXp5KCkgbW9yZSB0aGFuIG9uY2U/JztcbiAgICB9XG4gIH0gLy8gVGhpcyBtZXNzYWdlIGludGVudGlvbmFsbHkgZG9lc24ndCBtZW50aW9uIEZvcndhcmRSZWYgb3IgTWVtb0NvbXBvbmVudFxuICAvLyBiZWNhdXNlIHRoZSBmYWN0IHRoYXQgaXQncyBhIHNlcGFyYXRlIHR5cGUgb2Ygd29yayBpcyBhblxuICAvLyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXG5cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IHR5cGUgaXMgaW52YWxpZC4gUmVjZWl2ZWQgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG86IFwiICsgQ29tcG9uZW50ICsgXCIuIFwiICsgKFwiTGF6eSBlbGVtZW50IHR5cGUgbXVzdCByZXNvbHZlIHRvIGEgY2xhc3Mgb3IgZnVuY3Rpb24uXCIgKyBoaW50KSk7XG59XG5cbmZ1bmN0aW9uIG1vdW50SW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTsgLy8gUHJvbW90ZSB0aGUgZmliZXIgdG8gYSBjbGFzcyBhbmQgdHJ5IHJlbmRlcmluZyBhZ2Fpbi5cblxuICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBDbGFzc0NvbXBvbmVudDsgLy8gVGhlIHJlc3Qgb2YgdGhpcyBmdW5jdGlvbiBpcyBhIGZvcmsgb2YgYHVwZGF0ZUNsYXNzQ29tcG9uZW50YFxuICAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAvLyBEdXJpbmcgbW91bnRpbmcgd2UgZG9uJ3Qga25vdyB0aGUgY2hpbGQgY29udGV4dCB5ZXQgYXMgdGhlIGluc3RhbmNlIGRvZXNuJ3QgZXhpc3QuXG4gIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cblxuICB2YXIgaGFzQ29udGV4dDtcblxuICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgIGhhc0NvbnRleHQgPSB0cnVlO1xuICAgIHB1c2hDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpO1xuICB9IGVsc2Uge1xuICAgIGhhc0NvbnRleHQgPSBmYWxzZTtcbiAgfVxuXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIGNvbnN0cnVjdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzKTtcbiAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gZmluaXNoQ2xhc3NDb21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgdHJ1ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiBtb3VudEluZGV0ZXJtaW5hdGVDb21wb25lbnQoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgdmFsdWU7XG4gIHZhciBoYXNJZDtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlICYmIHR5cGVvZiBDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgZXJyb3IoXCJUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGhhdmUgYSByZW5kZXIgbWV0aG9kLCBidXQgZG9lc24ndCBleHRlbmQgUmVhY3QuQ29tcG9uZW50LiBcIiArICdUaGlzIGlzIGxpa2VseSB0byBjYXVzZSBlcnJvcnMuIENoYW5nZSAlcyB0byBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuJywgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmcod29ya0luUHJvZ3Jlc3MsIG51bGwpO1xuICAgIH1cblxuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgaGFzSWQgPSBjaGVja0RpZFJlbmRlcklkSG9vaygpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG5cbiAge1xuICAgIC8vIFN1cHBvcnQgZm9yIG1vZHVsZSBjb21wb25lbnRzIGlzIGRlcHJlY2F0ZWQgYW5kIGlzIHJlbW92ZWQgYmVoaW5kIGEgZmxhZy5cbiAgICAvLyBXaGV0aGVyIG9yIG5vdCBpdCB3b3VsZCBjcmFzaCBsYXRlciwgd2Ugd2FudCB0byBzaG93IGEgZ29vZCBtZXNzYWdlIGluIERFViBmaXJzdC5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUucmVuZGVyID09PSAnZnVuY3Rpb24nICYmIHZhbHVlLiQkdHlwZW9mID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignVGhlIDwlcyAvPiBjb21wb25lbnQgYXBwZWFycyB0byBiZSBhIGZ1bmN0aW9uIGNvbXBvbmVudCB0aGF0IHJldHVybnMgYSBjbGFzcyBpbnN0YW5jZS4gJyArICdDaGFuZ2UgJXMgdG8gYSBjbGFzcyB0aGF0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuICcgKyBcIklmIHlvdSBjYW4ndCB1c2UgYSBjbGFzcyB0cnkgYXNzaWduaW5nIHRoZSBwcm90b3R5cGUgb24gdGhlIGZ1bmN0aW9uIGFzIGEgd29ya2Fyb3VuZC4gXCIgKyBcImAlcy5wcm90b3R5cGUgPSBSZWFjdC5Db21wb25lbnQucHJvdG90eXBlYC4gRG9uJ3QgdXNlIGFuIGFycm93IGZ1bmN0aW9uIHNpbmNlIGl0IFwiICsgJ2Nhbm5vdCBiZSBjYWxsZWQgd2l0aCBgbmV3YCBieSBSZWFjdC4nLCBfY29tcG9uZW50TmFtZSwgX2NvbXBvbmVudE5hbWUsIF9jb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCAvLyBSdW4gdGhlc2UgY2hlY2tzIGluIHByb2R1Y3Rpb24gb25seSBpZiB0aGUgZmxhZyBpcyBvZmYuXG4gIC8vIEV2ZW50dWFsbHkgd2UnbGwgZGVsZXRlIHRoaXMgYnJhbmNoIGFsdG9nZXRoZXIuXG4gICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZS5yZW5kZXIgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUuJCR0eXBlb2YgPT09IHVuZGVmaW5lZCkge1xuICAgIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTIgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0TW9kdWxlUGF0dGVybkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTJdKSB7XG4gICAgICAgIGVycm9yKCdUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGJlIGEgZnVuY3Rpb24gY29tcG9uZW50IHRoYXQgcmV0dXJucyBhIGNsYXNzIGluc3RhbmNlLiAnICsgJ0NoYW5nZSAlcyB0byBhIGNsYXNzIHRoYXQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQgaW5zdGVhZC4gJyArIFwiSWYgeW91IGNhbid0IHVzZSBhIGNsYXNzIHRyeSBhc3NpZ25pbmcgdGhlIHByb3RvdHlwZSBvbiB0aGUgZnVuY3Rpb24gYXMgYSB3b3JrYXJvdW5kLiBcIiArIFwiYCVzLnByb3RvdHlwZSA9IFJlYWN0LkNvbXBvbmVudC5wcm90b3R5cGVgLiBEb24ndCB1c2UgYW4gYXJyb3cgZnVuY3Rpb24gc2luY2UgaXQgXCIgKyAnY2Fubm90IGJlIGNhbGxlZCB3aXRoIGBuZXdgIGJ5IFJlYWN0LicsIF9jb21wb25lbnROYW1lMiwgX2NvbXBvbmVudE5hbWUyLCBfY29tcG9uZW50TmFtZTIpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnRbX2NvbXBvbmVudE5hbWUyXSA9IHRydWU7XG4gICAgICB9XG4gICAgfSAvLyBQcm9jZWVkIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBpcyBhIGNsYXNzIGluc3RhbmNlXG5cblxuICAgIHdvcmtJblByb2dyZXNzLnRhZyA9IENsYXNzQ29tcG9uZW50OyAvLyBUaHJvdyBvdXQgYW55IGhvb2tzIHRoYXQgd2VyZSB1c2VkLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsOyAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAgIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cbiAgICAvLyBXZSB3aWxsIGludmFsaWRhdGUgdGhlIGNoaWxkIGNvbnRleHQgaW4gZmluaXNoQ2xhc3NDb21wb25lbnQoKSByaWdodCBhZnRlciByZW5kZXJpbmcuXG5cbiAgICB2YXIgaGFzQ29udGV4dCA9IGZhbHNlO1xuXG4gICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgIGhhc0NvbnRleHQgPSB0cnVlO1xuICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhhc0NvbnRleHQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gdmFsdWUuc3RhdGUgIT09IG51bGwgJiYgdmFsdWUuc3RhdGUgIT09IHVuZGVmaW5lZCA/IHZhbHVlLnN0YXRlIDogbnVsbDtcbiAgICBpbml0aWFsaXplVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MpO1xuICAgIGFkb3B0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgdmFsdWUpO1xuICAgIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBwcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgIHJldHVybiBmaW5pc2hDbGFzc0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlLCBoYXNDb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgLy8gUHJvY2VlZCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgaXMgYSBmdW5jdGlvbiBjb21wb25lbnRcbiAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBGdW5jdGlvbkNvbXBvbmVudDtcblxuICAgIHtcblxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICAgICAgaGFzSWQgPSBjaGVja0RpZFJlbmRlcklkSG9vaygpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgICBwdXNoTWF0ZXJpYWxpemVkVHJlZUlkKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG5cbiAgICByZWNvbmNpbGVDaGlsZHJlbihudWxsLCB3b3JrSW5Qcm9ncmVzcywgdmFsdWUsIHJlbmRlckxhbmVzKTtcblxuICAgIHtcbiAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpIHtcbiAge1xuICAgIGlmIChDb21wb25lbnQpIHtcbiAgICAgIGlmIChDb21wb25lbnQuY2hpbGRDb250ZXh0VHlwZXMpIHtcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IGNoaWxkQ29udGV4dFR5cGVzIGNhbm5vdCBiZSBkZWZpbmVkIG9uIGEgZnVuY3Rpb24gY29tcG9uZW50LicsIENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnJlZiAhPT0gbnVsbCkge1xuICAgICAgdmFyIGluZm8gPSAnJztcbiAgICAgIHZhciBvd25lck5hbWUgPSBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpO1xuXG4gICAgICBpZiAob3duZXJOYW1lKSB7XG4gICAgICAgIGluZm8gKz0gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgICAgIH1cblxuICAgICAgdmFyIHdhcm5pbmdLZXkgPSBvd25lck5hbWUgfHwgJyc7XG4gICAgICB2YXIgZGVidWdTb3VyY2UgPSB3b3JrSW5Qcm9ncmVzcy5fZGVidWdTb3VyY2U7XG5cbiAgICAgIGlmIChkZWJ1Z1NvdXJjZSkge1xuICAgICAgICB3YXJuaW5nS2V5ID0gZGVidWdTb3VyY2UuZmlsZU5hbWUgKyAnOicgKyBkZWJ1Z1NvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZ1bmN0aW9uUmVmc1t3YXJuaW5nS2V5XSkge1xuICAgICAgICBkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnNbd2FybmluZ0tleV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdGdW5jdGlvbiBjb21wb25lbnRzIGNhbm5vdCBiZSBnaXZlbiByZWZzLiAnICsgJ0F0dGVtcHRzIHRvIGFjY2VzcyB0aGlzIHJlZiB3aWxsIGZhaWwuICcgKyAnRGlkIHlvdSBtZWFuIHRvIHVzZSBSZWFjdC5mb3J3YXJkUmVmKCk/JXMnLCBpbmZvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIENvbXBvbmVudC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTMgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTNdKSB7XG4gICAgICAgIGVycm9yKCclczogRnVuY3Rpb24gY29tcG9uZW50cyBkbyBub3Qgc3VwcG9ydCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuJywgX2NvbXBvbmVudE5hbWUzKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lM10gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgQ29tcG9uZW50LmNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBDb21wb25lbnQuY29udGV4dFR5cGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTQgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lNF0pIHtcbiAgICAgICAgZXJyb3IoJyVzOiBGdW5jdGlvbiBjb21wb25lbnRzIGRvIG5vdCBzdXBwb3J0IGNvbnRleHRUeXBlLicsIF9jb21wb25lbnROYW1lNCk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lNF0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgU1VTUEVOREVEX01BUktFUiA9IHtcbiAgZGVoeWRyYXRlZDogbnVsbCxcbiAgdHJlZUNvbnRleHQ6IG51bGwsXG4gIHJldHJ5TGFuZTogTm9MYW5lXG59O1xuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpIHtcbiAgcmV0dXJuIHtcbiAgICBiYXNlTGFuZXM6IHJlbmRlckxhbmVzLFxuICAgIGNhY2hlUG9vbDogZ2V0U3VzcGVuZGVkQ2FjaGUoKSxcbiAgICB0cmFuc2l0aW9uczogbnVsbFxuICB9O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHByZXZPZmZzY3JlZW5TdGF0ZSwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGNhY2hlUG9vbCA9IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBiYXNlTGFuZXM6IG1lcmdlTGFuZXMocHJldk9mZnNjcmVlblN0YXRlLmJhc2VMYW5lcywgcmVuZGVyTGFuZXMpLFxuICAgIGNhY2hlUG9vbDogY2FjaGVQb29sLFxuICAgIHRyYW5zaXRpb25zOiBwcmV2T2Zmc2NyZWVuU3RhdGUudHJhbnNpdGlvbnNcbiAgfTtcbn0gLy8gVE9ETzogUHJvYmFibHkgc2hvdWxkIGlubGluZSB0aGlzIGJhY2tcblxuXG5mdW5jdGlvbiBzaG91bGRSZW1haW5PbkZhbGxiYWNrKHN1c3BlbnNlQ29udGV4dCwgY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIElmIHdlJ3JlIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrLCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgd2UgbmVlZCB0b1xuICAvLyByZW1haW4gb24gdGhhdCBmYWxsYmFjayByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGNvbnRlbnQgaGFzIHJlc29sdmVkLlxuICAvLyBGb3IgZXhhbXBsZSwgU3VzcGVuc2VMaXN0IGNvb3JkaW5hdGVzIHdoZW4gbmVzdGVkIGNvbnRlbnQgYXBwZWFycy5cbiAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlID09PSBudWxsKSB7XG4gICAgICAvLyBDdXJyZW50bHkgc2hvd2luZyBjb250ZW50LiBEb24ndCBoaWRlIGl0LCBldmVuIGlmIEZvcmNlU3VzcGVuc2VGYWxsYmFja1xuICAgICAgLy8gaXMgdHJ1ZS4gTW9yZSBwcmVjaXNlIG5hbWUgbWlnaHQgYmUgXCJGb3JjZVJlbWFpblN1c3BlbnNlRmFsbGJhY2tcIi5cbiAgICAgIC8vIE5vdGU6IFRoaXMgaXMgYSBmYWN0b3Jpbmcgc21lbGwuIENhbid0IHJlbWFpbiBvbiBhIGZhbGxiYWNrIGlmIHRoZXJlJ3NcbiAgICAgIC8vIG5vIGZhbGxiYWNrIHRvIHJlbWFpbiBvbi5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0gLy8gTm90IGN1cnJlbnRseSBzaG93aW5nIGNvbnRlbnQuIENvbnN1bHQgdGhlIFN1c3BlbnNlIGNvbnRleHQuXG5cblxuICByZXR1cm4gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVtYWluaW5nV29ya0luUHJpbWFyeVRyZWUoY3VycmVudCwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogU2hvdWxkIG5vdCByZW1vdmUgcmVuZGVyIGxhbmVzIHRoYXQgd2VyZSBwaW5nZWQgZHVyaW5nIHRoaXMgcmVuZGVyXG4gIHJldHVybiByZW1vdmVMYW5lcyhjdXJyZW50LmNoaWxkTGFuZXMsIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFRoaXMgaXMgdXNlZCBieSBEZXZUb29scyB0byBmb3JjZSBhIGJvdW5kYXJ5IHRvIHN1c3BlbmQuXG5cbiAge1xuICAgIGlmIChzaG91bGRTdXNwZW5kKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICB9XG4gIH1cblxuICB2YXIgc3VzcGVuc2VDb250ZXh0ID0gc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50O1xuICB2YXIgc2hvd0ZhbGxiYWNrID0gZmFsc2U7XG4gIHZhciBkaWRTdXNwZW5kID0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgIT09IE5vRmxhZ3M7XG5cbiAgaWYgKGRpZFN1c3BlbmQgfHwgc2hvdWxkUmVtYWluT25GYWxsYmFjayhzdXNwZW5zZUNvbnRleHQsIGN1cnJlbnQpKSB7XG4gICAgLy8gU29tZXRoaW5nIGluIHRoaXMgYm91bmRhcnkncyBzdWJ0cmVlIGFscmVhZHkgc3VzcGVuZGVkLiBTd2l0Y2ggdG9cbiAgICAvLyByZW5kZXJpbmcgdGhlIGZhbGxiYWNrIGNoaWxkcmVuLlxuICAgIHNob3dGYWxsYmFjayA9IHRydWU7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gfkRpZENhcHR1cmU7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXR0ZW1wdGluZyB0aGUgbWFpbiBjb250ZW50XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgbmV3IG1vdW50IG9yIHRoaXMgYm91bmRhcnkgaXMgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgc3RhdGUuXG4gICAgICAvLyBNYXJrIHRoaXMgc3VidHJlZSBjb250ZXh0IGFzIGhhdmluZyBhdCBsZWFzdCBvbmUgaW52aXNpYmxlIHBhcmVudCB0aGF0IGNvdWxkXG4gICAgICAvLyBoYW5kbGUgdGhlIGZhbGxiYWNrIHN0YXRlLlxuICAgICAgLy8gQXZvaWRlZCBib3VuZGFyaWVzIGFyZSBub3QgY29uc2lkZXJlZCBzaW5jZSB0aGV5IGNhbm5vdCBoYW5kbGUgcHJlZmVycmVkIGZhbGxiYWNrIHN0YXRlcy5cbiAgICAgIHtcbiAgICAgICAgc3VzcGVuc2VDb250ZXh0ID0gYWRkU3VidHJlZVN1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQsIEludmlzaWJsZVBhcmVudFN1c3BlbnNlQ29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3VzcGVuc2VDb250ZXh0ID0gc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0KTtcbiAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VDb250ZXh0KTsgLy8gT0ssIHRoZSBuZXh0IHBhcnQgaXMgY29uZnVzaW5nLiBXZSdyZSBhYm91dCB0byByZWNvbmNpbGUgdGhlIFN1c3BlbnNlXG4gIC8vIGJvdW5kYXJ5J3MgY2hpbGRyZW4uIFRoaXMgaW52b2x2ZXMgc29tZSBjdXN0b20gcmVjb25jaWxpYXRpb24gbG9naWMuIFR3b1xuICAvLyBtYWluIHJlYXNvbnMgdGhpcyBpcyBzbyBjb21wbGljYXRlZC5cbiAgLy9cbiAgLy8gRmlyc3QsIExlZ2FjeSBNb2RlIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gVGhlXG4gIC8vIHByaW1hcnkgdHJlZSB3aWxsIGNvbW1pdCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUsIHNvIHdoZW4gd2UgZG8gdGhlXG4gIC8vIHNlY29uZCBwYXNzIHRvIHJlbmRlciB0aGUgZmFsbGJhY2ssIHdlIGRvIHNvbWUgZXhjZWVkaW5nbHksIHVoLCBjbGV2ZXJcbiAgLy8gaGFja3MgdG8gbWFrZSB0aGF0IG5vdCB0b3RhbGx5IGJyZWFrLiBMaWtlIHRyYW5zZmVycmluZyBlZmZlY3RzIGFuZFxuICAvLyBkZWxldGlvbnMgZnJvbSBoaWRkZW4gdHJlZS4gSW4gQ29uY3VycmVudCBNb2RlLCBpdCdzIG11Y2ggc2ltcGxlcixcbiAgLy8gYmVjYXVzZSB3ZSBiYWlsb3V0IG9uIHRoZSBwcmltYXJ5IHRyZWUgY29tcGxldGVseSBhbmQgbGVhdmUgaXQgaW4gaXRzIG9sZFxuICAvLyBzdGF0ZSwgbm8gZWZmZWN0cy4gU2FtZSBhcyB3aGF0IHdlIGRvIGZvciBPZmZzY3JlZW4gKGV4Y2VwdCB0aGF0XG4gIC8vIE9mZnNjcmVlbiBkb2Vzbid0IGhhdmUgdGhlIGZpcnN0IHJlbmRlciBwYXNzKS5cbiAgLy9cbiAgLy8gU2Vjb25kIGlzIGh5ZHJhdGlvbi4gRHVyaW5nIGh5ZHJhdGlvbiwgdGhlIFN1c3BlbnNlIGZpYmVyIGhhcyBhIHNsaWdodGx5XG4gIC8vIGRpZmZlcmVudCBsYXlvdXQsIHdoZXJlIHRoZSBjaGlsZCBwb2ludHMgdG8gYSBkZWh5ZHJhdGVkIGZyYWdtZW50LCB3aGljaFxuICAvLyBjb250YWlucyB0aGUgRE9NIHJlbmRlcmVkIGJ5IHRoZSBzZXJ2ZXIuXG4gIC8vXG4gIC8vIFRoaXJkLCBldmVuIGlmIHlvdSBzZXQgYWxsIHRoYXQgYXNpZGUsIFN1c3BlbnNlIGlzIGxpa2UgZXJyb3IgYm91bmRhcmllcyBpblxuICAvLyB0aGF0IHdlIGZpcnN0IHdlIHRyeSB0byByZW5kZXIgb25lIHRyZWUsIGFuZCBpZiB0aGF0IGZhaWxzLCB3ZSByZW5kZXIgYWdhaW5cbiAgLy8gYW5kIHN3aXRjaCB0byBhIGRpZmZlcmVudCB0cmVlLiBMaWtlIGEgdHJ5L2NhdGNoIGJsb2NrLiBTbyB3ZSBoYXZlIHRvIHRyYWNrXG4gIC8vIHdoaWNoIGJyYW5jaCB3ZSdyZSBjdXJyZW50bHkgcmVuZGVyaW5nLiBJZGVhbGx5IHdlIHdvdWxkIG1vZGVsIHRoaXMgdXNpbmdcbiAgLy8gYSBzdGFjay5cblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICAvLyBTcGVjaWFsIHBhdGggZm9yIGh5ZHJhdGlvblxuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBoeWRyYXRpbmcsIHRyeSB0byBoeWRyYXRlIHRoaXMgYm91bmRhcnkuXG4gICAgdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpOyAvLyBUaGlzIGNvdWxkJ3ZlIGJlZW4gYSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGNvbXBvbmVudC5cblxuICAgIHZhciBzdXNwZW5zZVN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZGVoeWRyYXRlZCA9IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcblxuICAgICAgaWYgKGRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG1vdW50RGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KHdvcmtJblByb2dyZXNzLCBkZWh5ZHJhdGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICB2YXIgbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG5cbiAgICBpZiAoc2hvd0ZhbGxiYWNrKSB7XG4gICAgICB2YXIgZmFsbGJhY2tGcmFnbWVudCA9IG1vdW50U3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBuZXh0UHJpbWFyeUNoaWxkcmVuLCBuZXh0RmFsbGJhY2tDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICAgICAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5tZW1vaXplZFN0YXRlID0gbW91bnRTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHJlbmRlckxhbmVzKTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBTVVNQRU5ERURfTUFSS0VSO1xuXG4gICAgICByZXR1cm4gZmFsbGJhY2tGcmFnbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1vdW50U3VzcGVuc2VQcmltYXJ5Q2hpbGRyZW4od29ya0luUHJvZ3Jlc3MsIG5leHRQcmltYXJ5Q2hpbGRyZW4pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGFuIHVwZGF0ZS5cbiAgICAvLyBTcGVjaWFsIHBhdGggZm9yIGh5ZHJhdGlvblxuICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICB2YXIgX2RlaHlkcmF0ZWQgPSBwcmV2U3RhdGUuZGVoeWRyYXRlZDtcblxuICAgICAgaWYgKF9kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVEZWh5ZHJhdGVkU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGRpZFN1c3BlbmQsIG5leHRQcm9wcywgX2RlaHlkcmF0ZWQsIHByZXZTdGF0ZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG93RmFsbGJhY2spIHtcbiAgICAgIHZhciBfbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG4gICAgICB2YXIgX25leHRQcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gICAgICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gdXBkYXRlU3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfbmV4dFByaW1hcnlDaGlsZHJlbiwgX25leHRGYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gICAgICB2YXIgX3ByaW1hcnlDaGlsZEZyYWdtZW50MiA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdGF0ZSA9IGN1cnJlbnQuY2hpbGQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIubWVtb2l6ZWRTdGF0ZSA9IHByZXZPZmZzY3JlZW5TdGF0ZSA9PT0gbnVsbCA/IG1vdW50U3VzcGVuc2VPZmZzY3JlZW5TdGF0ZShyZW5kZXJMYW5lcykgOiB1cGRhdGVTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHByZXZPZmZzY3JlZW5TdGF0ZSwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLmNoaWxkTGFuZXMgPSBnZXRSZW1haW5pbmdXb3JrSW5QcmltYXJ5VHJlZShjdXJyZW50LCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gU1VTUEVOREVEX01BUktFUjtcbiAgICAgIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfbmV4dFByaW1hcnlDaGlsZHJlbjIgPSBuZXh0UHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzID0gdXBkYXRlU3VzcGVuc2VQcmltYXJ5Q2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9uZXh0UHJpbWFyeUNoaWxkcmVuMiwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgIHJldHVybiBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBtb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH07XG4gIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgbW9kZSk7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICByZXR1cm4gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50U3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIGZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBtb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICdoaWRkZW4nLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuXG4gIGlmICgobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlICYmIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAvLyBJbiBsZWdhY3kgbW9kZSwgd2UgY29tbWl0IHRoZSBwcmltYXJ5IHRyZWUgYXMgaWYgaXQgc3VjY2Vzc2Z1bGx5XG4gICAgLy8gY29tcGxldGVkLCBldmVuIHRob3VnaCBpdCdzIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS5cbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQ7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzID0gcHJpbWFyeUNoaWxkUHJvcHM7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgLy8gUmVzZXQgdGhlIGR1cmF0aW9ucyBmcm9tIHRoZSBmaXJzdCBwYXNzIHNvIHRoZXkgYXJlbid0IGluY2x1ZGVkIGluIHRoZVxuICAgICAgLy8gZmluYWwgYW1vdW50cy4gVGhpcyBzZWVtcyBjb3VudGVyaW50dWl0aXZlLCBzaW5jZSB3ZSdyZSBpbnRlbnRpb25hbGx5XG4gICAgICAvLyBub3QgbWVhc3VyaW5nIHBhcnQgb2YgdGhlIHJlbmRlciBwaGFzZSwgYnV0IHRoaXMgbWFrZXMgaXQgbWF0Y2ggd2hhdCB3ZVxuICAgICAgLy8gZG8gaW4gQ29uY3VycmVudCBNb2RlLlxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zZWxmQmFzZUR1cmF0aW9uID0gMDtcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb24gPSAwO1xuICAgIH1cblxuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckxhbmVzLCBudWxsKTtcbiAgfSBlbHNlIHtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgbW9kZSk7XG4gICAgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZmFsbGJhY2tDaGlsZHJlbiwgbW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpO1xuICB9XG5cbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZyA9IGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gbW91bnRXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKG9mZnNjcmVlblByb3BzLCBtb2RlLCByZW5kZXJMYW5lcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbmAgaXMgYGFueWAgdHlwZWQsIHNvIHdlIHVzZVxuICAvLyB0aGlzIHdyYXBwZXIgZnVuY3Rpb24gdG8gY29uc3RyYWluIGl0LlxuICByZXR1cm4gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKG9mZnNjcmVlblByb3BzLCBtb2RlLCBOb0xhbmVzLCBudWxsKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlV29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZVdvcmtJblByb2dyZXNzYCBpcyBgYW55YCB0eXBlZCwgc28gd2UgdXNlIHRoaXNcbiAgLy8gd3JhcHBlciBmdW5jdGlvbiB0byBjb25zdHJhaW4gaXQuXG4gIHJldHVybiBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjdXJyZW50LmNoaWxkO1xuICB2YXIgY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nO1xuICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudCwge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH0pO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQubGFuZXMgPSByZW5kZXJMYW5lcztcbiAgfVxuXG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gbnVsbDtcblxuICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgIC8vIERlbGV0ZSB0aGUgZmFsbGJhY2sgY2hpbGQgZnJhZ21lbnRcbiAgICB2YXIgZGVsZXRpb25zID0gd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zO1xuXG4gICAgaWYgKGRlbGV0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gW2N1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnRdO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRpb25zLnB1c2goY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCk7XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZUZhbGxiYWNrQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHByaW1hcnlDaGlsZHJlbiwgZmFsbGJhY2tDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG1vZGUgPSB3b3JrSW5Qcm9ncmVzcy5tb2RlO1xuICB2YXIgY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50ID0gY3VycmVudC5jaGlsZDtcbiAgdmFyIGN1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZztcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICdoaWRkZW4nLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuXG4gIGlmICggLy8gSW4gbGVnYWN5IG1vZGUsIHdlIGNvbW1pdCB0aGUgcHJpbWFyeSB0cmVlIGFzIGlmIGl0IHN1Y2Nlc3NmdWxseVxuICAvLyBjb21wbGV0ZWQsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLlxuICAobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlICYmIC8vIE1ha2Ugc3VyZSB3ZSdyZSBvbiB0aGUgc2Vjb25kIHBhc3MsIGkuZS4gdGhlIHByaW1hcnkgY2hpbGQgZnJhZ21lbnQgd2FzXG4gIC8vIGFscmVhZHkgY2xvbmVkLiBJbiBsZWdhY3kgbW9kZSwgdGhlIG9ubHkgY2FzZSB3aGVyZSB0aGlzIGlzbid0IHRydWUgaXNcbiAgLy8gd2hlbiBEZXZUb29scyBmb3JjZXMgdXMgdG8gZGlzcGxheSBhIGZhbGxiYWNrOyB3ZSBza2lwIHRoZSBmaXJzdCByZW5kZXJcbiAgLy8gcGFzcyBlbnRpcmVseSBhbmQgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIHRoZSBmYWxsYmFjay4gKEluIENvbmN1cnJlbnRcbiAgLy8gTW9kZSwgU3VzcGVuc2VMaXN0IGNhbiBhbHNvIHRyaWdnZXIgdGhpcyBzY2VuYXJpbywgYnV0IHRoaXMgaXMgYSBsZWdhY3ktXG4gIC8vIG9ubHkgY29kZXBhdGguKVxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCAhPT0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50KSB7XG4gICAgdmFyIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQ7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzID0gcHJpbWFyeUNoaWxkUHJvcHM7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgLy8gUmVzZXQgdGhlIGR1cmF0aW9ucyBmcm9tIHRoZSBmaXJzdCBwYXNzIHNvIHRoZXkgYXJlbid0IGluY2x1ZGVkIGluIHRoZVxuICAgICAgLy8gZmluYWwgYW1vdW50cy4gVGhpcyBzZWVtcyBjb3VudGVyaW50dWl0aXZlLCBzaW5jZSB3ZSdyZSBpbnRlbnRpb25hbGx5XG4gICAgICAvLyBub3QgbWVhc3VyaW5nIHBhcnQgb2YgdGhlIHJlbmRlciBwaGFzZSwgYnV0IHRoaXMgbWFrZXMgaXQgbWF0Y2ggd2hhdCB3ZVxuICAgICAgLy8gZG8gaW4gQ29uY3VycmVudCBNb2RlLlxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC50cmVlQmFzZUR1cmF0aW9uID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb247XG4gICAgfSAvLyBUaGUgZmFsbGJhY2sgZmliZXIgd2FzIGFkZGVkIGFzIGEgZGVsZXRpb24gZHVyaW5nIHRoZSBmaXJzdCBwYXNzLlxuICAgIC8vIEhvd2V2ZXIsIHNpbmNlIHdlJ3JlIGdvaW5nIHRvIHJlbWFpbiBvbiB0aGUgZmFsbGJhY2ssIHdlIG5vIGxvbmdlciB3YW50XG4gICAgLy8gdG8gZGVsZXRlIGl0LlxuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5kZWxldGlvbnMgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQsIHByaW1hcnlDaGlsZFByb3BzKTsgLy8gU2luY2Ugd2UncmUgcmV1c2luZyBhIGN1cnJlbnQgdHJlZSwgd2UgbmVlZCB0byByZXVzZSB0aGUgZmxhZ3MsIHRvby5cbiAgICAvLyAoV2UgZG9uJ3QgZG8gdGhpcyBpbiBsZWdhY3kgbW9kZSwgYmVjYXVzZSBpbiBsZWdhY3kgbW9kZSB3ZSBkb24ndCByZS11c2VcbiAgICAvLyB0aGUgY3VycmVudCB0cmVlOyBzZWUgcHJldmlvdXMgYnJhbmNoLilcblxuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnN1YnRyZWVGbGFncyA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zdWJ0cmVlRmxhZ3MgJiBTdGF0aWNNYXNrO1xuICB9XG5cbiAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcblxuICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnQsIGZhbGxiYWNrQ2hpbGRyZW4pO1xuICB9IGVsc2Uge1xuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckxhbmVzLCBudWxsKTsgLy8gTmVlZHMgYSBwbGFjZW1lbnQgZWZmZWN0IGJlY2F1c2UgdGhlIHBhcmVudCAodGhlIFN1c3BlbnNlIGJvdW5kYXJ5KSBhbHJlYWR5XG4gICAgLy8gbW91bnRlZCBidXQgdGhpcyBpcyBhIG5ldyBmaWJlci5cblxuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gIH1cblxuICBmYWxsYmFja0NoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIHJlY292ZXJhYmxlRXJyb3IpIHtcbiAgLy8gRmFsbGluZyBiYWNrIHRvIGNsaWVudCByZW5kZXJpbmcuIEJlY2F1c2UgdGhpcyBoYXMgcGVyZm9ybWFuY2VcbiAgLy8gaW1wbGljYXRpb25zLCBpdCdzIGNvbnNpZGVyZWQgYSByZWNvdmVyYWJsZSBlcnJvciwgZXZlbiB0aG91Z2ggdGhlIHVzZXJcbiAgLy8gbGlrZWx5IHdvbid0IG9ic2VydmUgYW55dGhpbmcgd3Jvbmcgd2l0aCB0aGUgVUkuXG4gIC8vXG4gIC8vIFRoZSBlcnJvciBpcyBwYXNzZWQgaW4gYXMgYW4gYXJndW1lbnQgdG8gZW5mb3JjZSB0aGF0IGV2ZXJ5IGNhbGxlciBwcm92aWRlXG4gIC8vIGEgY3VzdG9tIG1lc3NhZ2UsIG9yIGV4cGxpY2l0bHkgb3B0IG91dCAoY3VycmVudGx5IHRoZSBvbmx5IHBhdGggdGhhdCBvcHRzXG4gIC8vIG91dCBpcyBsZWdhY3kgbW9kZTsgZXZlcnkgY29uY3VycmVudCBwYXRoIHByb3ZpZGVzIGFuIGVycm9yKS5cbiAgaWYgKHJlY292ZXJhYmxlRXJyb3IgIT09IG51bGwpIHtcbiAgICBxdWV1ZUh5ZHJhdGlvbkVycm9yKHJlY292ZXJhYmxlRXJyb3IpO1xuICB9IC8vIFRoaXMgd2lsbCBhZGQgdGhlIG9sZCBmaWJlciB0byB0aGUgZGVsZXRpb24gbGlzdFxuXG5cbiAgcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTsgLy8gV2UncmUgbm93IG5vdCBzdXNwZW5kZWQgbm9yIGRlaHlkcmF0ZWQuXG5cbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gbW91bnRTdXNwZW5zZVByaW1hcnlDaGlsZHJlbih3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuKTsgLy8gTmVlZHMgYSBwbGFjZW1lbnQgZWZmZWN0IGJlY2F1c2UgdGhlIHBhcmVudCAodGhlIFN1c3BlbnNlIGJvdW5kYXJ5KSBhbHJlYWR5XG4gIC8vIG1vdW50ZWQgYnV0IHRoaXMgaXMgYSBuZXcgZmliZXIuXG5cbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlRmFsbGJhY2tBZnRlclJldHJ5V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuLCBmYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICB2YXIgZmliZXJNb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH07XG4gIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgZmliZXJNb2RlKTtcbiAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIGZpYmVyTW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpOyAvLyBOZWVkcyBhIHBsYWNlbWVudCBlZmZlY3QgYmVjYXVzZSB0aGUgcGFyZW50ICh0aGUgU3VzcGVuc2VcbiAgLy8gYm91bmRhcnkpIGFscmVhZHkgbW91bnRlZCBidXQgdGhpcyBpcyBhIG5ldyBmaWJlci5cblxuICBmYWxsYmFja0NoaWxkRnJhZ21lbnQuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgZmFsbGJhY2tDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgLy8gV2Ugd2lsbCBoYXZlIGRyb3BwZWQgdGhlIGVmZmVjdCBsaXN0IHdoaWNoIGNvbnRhaW5zIHRoZVxuICAgIC8vIGRlbGV0aW9uLiBXZSBuZWVkIHRvIHJlY29uY2lsZSB0byBkZWxldGUgdGhlIGN1cnJlbnQgY2hpbGQuXG4gICAgcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50RGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUluc3RhbmNlLCByZW5kZXJMYW5lcykge1xuICAvLyBEdXJpbmcgdGhlIGZpcnN0IHBhc3MsIHdlJ2xsIGJhaWwgb3V0IGFuZCBub3QgZHJpbGwgaW50byB0aGUgY2hpbGRyZW4uXG4gIC8vIEluc3RlYWQsIHdlJ2xsIGxlYXZlIHRoZSBjb250ZW50IGluIHBsYWNlIGFuZCB0cnkgdG8gaHlkcmF0ZSBpdCBsYXRlci5cbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICB7XG4gICAgICBlcnJvcignQ2Fubm90IGh5ZHJhdGUgU3VzcGVuc2UgaW4gbGVnYWN5IG1vZGUuIFN3aXRjaCBmcm9tICcgKyAnUmVhY3RET00uaHlkcmF0ZShlbGVtZW50LCBjb250YWluZXIpIHRvICcgKyAnUmVhY3RET01DbGllbnQuaHlkcmF0ZVJvb3QoY29udGFpbmVyLCA8QXBwIC8+KScgKyAnLnJlbmRlcihlbGVtZW50KSBvciByZW1vdmUgdGhlIFN1c3BlbnNlIGNvbXBvbmVudHMgZnJvbSAnICsgJ3RoZSBzZXJ2ZXIgcmVuZGVyZWQgY29tcG9uZW50cy4nKTtcbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGxhbmVUb0xhbmVzKFN5bmNMYW5lKTtcbiAgfSBlbHNlIGlmIChpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhzdXNwZW5zZUluc3RhbmNlKSkge1xuICAgIC8vIFRoaXMgaXMgYSBjbGllbnQtb25seSBib3VuZGFyeS4gU2luY2Ugd2Ugd29uJ3QgZ2V0IGFueSBjb250ZW50IGZyb20gdGhlIHNlcnZlclxuICAgIC8vIGZvciB0aGlzLCB3ZSBuZWVkIHRvIHNjaGVkdWxlIHRoYXQgYXQgYSBoaWdoZXIgcHJpb3JpdHkgYmFzZWQgb24gd2hlbiBpdCB3b3VsZFxuICAgIC8vIGhhdmUgdGltZWQgb3V0LiBJbiB0aGVvcnkgd2UgY291bGQgcmVuZGVyIGl0IGluIHRoaXMgcGFzcyBidXQgaXQgd291bGQgaGF2ZSB0aGVcbiAgICAvLyB3cm9uZyBwcmlvcml0eSBhc3NvY2lhdGVkIHdpdGggaXQgYW5kIHdpbGwgcHJldmVudCBoeWRyYXRpb24gb2YgcGFyZW50IHBhdGguXG4gICAgLy8gSW5zdGVhZCwgd2UnbGwgbGVhdmUgd29yayBsZWZ0IG9uIGl0IHRvIHJlbmRlciBpdCBpbiBhIHNlcGFyYXRlIGNvbW1pdC5cbiAgICAvLyBUT0RPIFRoaXMgdGltZSBzaG91bGQgYmUgdGhlIHRpbWUgYXQgd2hpY2ggdGhlIHNlcnZlciByZW5kZXJlZCByZXNwb25zZSB0aGF0IGlzXG4gICAgLy8gYSBwYXJlbnQgdG8gdGhpcyBib3VuZGFyeSB3YXMgZGlzcGxheWVkLiBIb3dldmVyLCBzaW5jZSB3ZSBjdXJyZW50bHkgZG9uJ3QgaGF2ZVxuICAgIC8vIGEgcHJvdG9jb2wgdG8gdHJhbnNmZXIgdGhhdCB0aW1lLCB3ZSdsbCBqdXN0IGVzdGltYXRlIGl0IGJ5IHVzaW5nIHRoZSBjdXJyZW50XG4gICAgLy8gdGltZS4gVGhpcyB3aWxsIG1lYW4gdGhhdCBTdXNwZW5zZSB0aW1lb3V0cyBhcmUgc2xpZ2h0bHkgc2hpZnRlZCB0byBsYXRlciB0aGFuXG4gICAgLy8gdGhleSBzaG91bGQgYmUuXG4gICAgLy8gU2NoZWR1bGUgYSBub3JtYWwgcHJpIHVwZGF0ZSB0byByZW5kZXIgdGhpcyBjb250ZW50LlxuICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gbGFuZVRvTGFuZXMoRGVmYXVsdEh5ZHJhdGlvbkxhbmUpO1xuICB9IGVsc2Uge1xuICAgIC8vIFdlJ2xsIGNvbnRpbnVlIGh5ZHJhdGluZyB0aGUgcmVzdCBhdCBvZmZzY3JlZW4gcHJpb3JpdHkgc2luY2Ugd2UnbGwgYWxyZWFkeVxuICAgIC8vIGJlIHNob3dpbmcgdGhlIHJpZ2h0IGNvbnRlbnQgY29taW5nIGZyb20gdGhlIHNlcnZlciwgaXQgaXMgbm8gcnVzaC5cbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGxhbmVUb0xhbmVzKE9mZnNjcmVlbkxhbmUpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZURlaHlkcmF0ZWRTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZGlkU3VzcGVuZCwgbmV4dFByb3BzLCBzdXNwZW5zZUluc3RhbmNlLCBzdXNwZW5zZVN0YXRlLCByZW5kZXJMYW5lcykge1xuICBpZiAoIWRpZFN1c3BlbmQpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCByZW5kZXIgcGFzcy4gQXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIC8vIFdlIHNob3VsZCBuZXZlciBiZSBoeWRyYXRpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IGlzIHRoZSBmaXJzdCBwYXNzLFxuICAgIC8vIGJ1dCBhZnRlciB3ZSd2ZSBhbHJlYWR5IGNvbW1pdHRlZCBvbmNlLlxuICAgIHdhcm5JZkh5ZHJhdGluZygpO1xuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIC8vIFRPRE86IFdoZW4gd2UgZGVsZXRlIGxlZ2FjeSBtb2RlLCB3ZSBzaG91bGQgbWFrZSB0aGlzIGVycm9yIGFyZ3VtZW50XG4gICAgICAvLyByZXF1aXJlZCDigJQgZXZlcnkgY29uY3VycmVudCBtb2RlIHBhdGggdGhhdCBjYXVzZXMgaHlkcmF0aW9uIHRvXG4gICAgICAvLyBkZS1vcHQgdG8gY2xpZW50IHJlbmRlcmluZyBzaG91bGQgaGF2ZSBhbiBlcnJvciBtZXNzYWdlLlxuICAgICAgbnVsbCk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrKHN1c3BlbnNlSW5zdGFuY2UpKSB7XG4gICAgICAvLyBUaGlzIGJvdW5kYXJ5IGlzIGluIGEgcGVybWFuZW50IGZhbGxiYWNrIHN0YXRlLiBJbiB0aGlzIGNhc2UsIHdlJ2xsIG5ldmVyXG4gICAgICAvLyBnZXQgYW4gdXBkYXRlIGFuZCB3ZSdsbCBuZXZlciBiZSBhYmxlIHRvIGh5ZHJhdGUgdGhlIGZpbmFsIGNvbnRlbnQuIExldCdzIGp1c3QgdHJ5IHRoZVxuICAgICAgLy8gY2xpZW50IHNpZGUgcmVuZGVyIGluc3RlYWQuXG4gICAgICB2YXIgZGlnZXN0LCBtZXNzYWdlLCBzdGFjaztcblxuICAgICAge1xuICAgICAgICB2YXIgX2dldFN1c3BlbnNlSW5zdGFuY2VGID0gZ2V0U3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrRXJyb3JEZXRhaWxzKHN1c3BlbnNlSW5zdGFuY2UpO1xuXG4gICAgICAgIGRpZ2VzdCA9IF9nZXRTdXNwZW5zZUluc3RhbmNlRi5kaWdlc3Q7XG4gICAgICAgIG1lc3NhZ2UgPSBfZ2V0U3VzcGVuc2VJbnN0YW5jZUYubWVzc2FnZTtcbiAgICAgICAgc3RhY2sgPSBfZ2V0U3VzcGVuc2VJbnN0YW5jZUYuc3RhY2s7XG4gICAgICB9XG5cbiAgICAgIHZhciBlcnJvcjtcblxuICAgICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignVGhlIHNlcnZlciBjb3VsZCBub3QgZmluaXNoIHRoaXMgU3VzcGVuc2UgYm91bmRhcnksIGxpa2VseSAnICsgJ2R1ZSB0byBhbiBlcnJvciBkdXJpbmcgc2VydmVyIHJlbmRlcmluZy4gU3dpdGNoZWQgdG8gJyArICdjbGllbnQgcmVuZGVyaW5nLicpO1xuICAgICAgfVxuXG4gICAgICB2YXIgY2FwdHVyZWRWYWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUoZXJyb3IsIGRpZ2VzdCwgc3RhY2spO1xuICAgICAgcmV0dXJuIHJldHJ5U3VzcGVuc2VDb21wb25lbnRXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcywgY2FwdHVyZWRWYWx1ZSk7XG4gICAgfVxuICAgIC8vIGFueSBjb250ZXh0IGhhcyBjaGFuZ2VkLCB3ZSBuZWVkIHRvIHRyZWF0IGlzIGFzIGlmIHRoZSBpbnB1dCBtaWdodCBoYXZlIGNoYW5nZWQuXG5cblxuICAgIHZhciBoYXNDb250ZXh0Q2hhbmdlZCA9IGluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIGN1cnJlbnQuY2hpbGRMYW5lcyk7XG5cbiAgICBpZiAoZGlkUmVjZWl2ZVVwZGF0ZSB8fCBoYXNDb250ZXh0Q2hhbmdlZCkge1xuICAgICAgLy8gVGhpcyBib3VuZGFyeSBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgZmlyc3QgcmVuZGVyLiBUaGlzIG1lYW5zIHRoYXQgd2UgYXJlIG5vdyB1bmFibGUgdG9cbiAgICAgIC8vIGh5ZHJhdGUgaXQuIFdlIG1pZ2h0IHN0aWxsIGJlIGFibGUgdG8gaHlkcmF0ZSBpdCB1c2luZyBhIGhpZ2hlciBwcmlvcml0eSBsYW5lLlxuICAgICAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTtcblxuICAgICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGF0dGVtcHRIeWRyYXRpb25BdExhbmUgPSBnZXRCdW1wZWRMYW5lRm9ySHlkcmF0aW9uKHJvb3QsIHJlbmRlckxhbmVzKTtcblxuICAgICAgICBpZiAoYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSAhPT0gTm9MYW5lICYmIGF0dGVtcHRIeWRyYXRpb25BdExhbmUgIT09IHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lKSB7XG4gICAgICAgICAgLy8gSW50ZW50aW9uYWxseSBtdXRhdGluZyBzaW5jZSB0aGlzIHJlbmRlciB3aWxsIGdldCBpbnRlcnJ1cHRlZC4gVGhpc1xuICAgICAgICAgIC8vIGlzIG9uZSBvZiB0aGUgdmVyeSByYXJlIHRpbWVzIHdoZXJlIHdlIG11dGF0ZSB0aGUgY3VycmVudCB0cmVlXG4gICAgICAgICAgLy8gZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICAgICAgc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUgPSBhdHRlbXB0SHlkcmF0aW9uQXRMYW5lOyAvLyBUT0RPOiBJZGVhbGx5IHRoaXMgd291bGQgaW5oZXJpdCB0aGUgZXZlbnQgdGltZSBvZiB0aGUgY3VycmVudCByZW5kZXJcblxuICAgICAgICAgIHZhciBldmVudFRpbWUgPSBOb1RpbWVzdGFtcDtcbiAgICAgICAgICBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoY3VycmVudCwgYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSk7XG4gICAgICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGN1cnJlbnQsIGF0dGVtcHRIeWRyYXRpb25BdExhbmUsIGV2ZW50VGltZSk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gSWYgd2UgaGF2ZSBzY2hlZHVsZWQgaGlnaGVyIHByaSB3b3JrIGFib3ZlLCB0aGlzIHdpbGwgcHJvYmFibHkganVzdCBhYm9ydCB0aGUgcmVuZGVyXG4gICAgICAvLyBzaW5jZSB3ZSBub3cgaGF2ZSBoaWdoZXIgcHJpb3JpdHkgd29yaywgYnV0IGluIGNhc2UgaXQgZG9lc24ndCwgd2UgbmVlZCB0byBwcmVwYXJlIHRvXG4gICAgICAvLyByZW5kZXIgc29tZXRoaW5nLCBpZiB3ZSB0aW1lIG91dC4gRXZlbiBpZiB0aGF0IHJlcXVpcmVzIHVzIHRvIGRlbGV0ZSBldmVyeXRoaW5nIGFuZFxuICAgICAgLy8gc2tpcCBoeWRyYXRpb24uXG4gICAgICAvLyBEZWxheSBoYXZpbmcgdG8gZG8gdGhpcyBhcyBsb25nIGFzIHRoZSBzdXNwZW5zZSB0aW1lb3V0IGFsbG93cyB1cy5cblxuXG4gICAgICByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlKCk7XG5cbiAgICAgIHZhciBfY2FwdHVyZWRWYWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUobmV3IEVycm9yKCdUaGlzIFN1c3BlbnNlIGJvdW5kYXJ5IHJlY2VpdmVkIGFuIHVwZGF0ZSBiZWZvcmUgaXQgZmluaXNoZWQgJyArICdoeWRyYXRpbmcuIFRoaXMgY2F1c2VkIHRoZSBib3VuZGFyeSB0byBzd2l0Y2ggdG8gY2xpZW50IHJlbmRlcmluZy4gJyArICdUaGUgdXN1YWwgd2F5IHRvIGZpeCB0aGlzIGlzIHRvIHdyYXAgdGhlIG9yaWdpbmFsIHVwZGF0ZSAnICsgJ2luIHN0YXJ0VHJhbnNpdGlvbi4nKSk7XG5cbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIF9jYXB0dXJlZFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZVBlbmRpbmcoc3VzcGVuc2VJbnN0YW5jZSkpIHtcbiAgICAgIC8vIFRoaXMgY29tcG9uZW50IGlzIHN0aWxsIHBlbmRpbmcgbW9yZSBkYXRhIGZyb20gdGhlIHNlcnZlciwgc28gd2UgY2FuJ3QgaHlkcmF0ZSBpdHNcbiAgICAgIC8vIGNvbnRlbnQuIFdlIHRyZWF0IGl0IGFzIGlmIHRoaXMgY29tcG9uZW50IHN1c3BlbmRlZCBpdHNlbGYuIEl0IG1pZ2h0IHNlZW0gYXMgaWZcbiAgICAgIC8vIHdlIGNvdWxkIGp1c3QgdHJ5IHRvIHJlbmRlciBpdCBjbGllbnQtc2lkZSBpbnN0ZWFkLiBIb3dldmVyLCB0aGlzIHdpbGwgcGVyZm9ybSBhXG4gICAgICAvLyBsb3Qgb2YgdW5uZWNlc3Nhcnkgd29yayBhbmQgaXMgdW5saWtlbHkgdG8gY29tcGxldGUgc2luY2UgaXQgb2Z0ZW4gd2lsbCBzdXNwZW5kXG4gICAgICAvLyBvbiBtaXNzaW5nIGRhdGEgYW55d2F5LiBBZGRpdGlvbmFsbHksIHRoZSBzZXJ2ZXIgbWlnaHQgYmUgYWJsZSB0byByZW5kZXIgbW9yZVxuICAgICAgLy8gdGhhbiB3ZSBjYW4gb24gdGhlIGNsaWVudCB5ZXQuIEluIHRoYXQgY2FzZSB3ZSdkIGVuZCB1cCB3aXRoIG1vcmUgZmFsbGJhY2sgc3RhdGVzXG4gICAgICAvLyBvbiB0aGUgY2xpZW50IHRoYW4gaWYgd2UganVzdCBsZWF2ZSBpdCBhbG9uZS4gSWYgdGhlIHNlcnZlciB0aW1lcyBvdXQgb3IgZXJyb3JzXG4gICAgICAvLyB0aGVzZSBzaG91bGQgdXBkYXRlIHRoaXMgYm91bmRhcnkgdG8gdGhlIHBlcm1hbmVudCBGYWxsYmFjayBzdGF0ZSBpbnN0ZWFkLlxuICAgICAgLy8gTWFyayBpdCBhcyBoYXZpbmcgY2FwdHVyZWQgKGkuZS4gc3VzcGVuZGVkKS5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7IC8vIExlYXZlIHRoZSBjaGlsZCBpbiBwbGFjZS4gSS5lLiB0aGUgZGVoeWRyYXRlZCBmcmFnbWVudC5cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIHJldHJ5IHRoaXMgYm91bmRhcnkgb25jZSB0aGUgc2VydmVyIGhhcyBzZW50IHRoZSByZXN1bHQuXG5cbiAgICAgIHZhciByZXRyeSA9IHJldHJ5RGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkuYmluZChudWxsLCBjdXJyZW50KTtcbiAgICAgIHJlZ2lzdGVyU3VzcGVuc2VJbnN0YW5jZVJldHJ5KHN1c3BlbnNlSW5zdGFuY2UsIHJldHJ5KTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBhdHRlbXB0LlxuICAgICAgcmVlbnRlckh5ZHJhdGlvblN0YXRlRnJvbURlaHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUluc3RhbmNlLCBzdXNwZW5zZVN0YXRlLnRyZWVDb250ZXh0KTtcbiAgICAgIHZhciBwcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4pOyAvLyBNYXJrIHRoZSBjaGlsZHJlbiBhcyBoeWRyYXRpbmcuIFRoaXMgaXMgYSBmYXN0IHBhdGggdG8ga25vdyB3aGV0aGVyIHRoaXNcbiAgICAgIC8vIHRyZWUgaXMgcGFydCBvZiBhIGh5ZHJhdGluZyB0cmVlLiBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgY2hpbGRcbiAgICAgIC8vIG5vZGUgaGFzIGZ1bGx5IG1vdW50ZWQgeWV0LCBhbmQgZm9yIHNjaGVkdWxpbmcgZXZlbnQgcmVwbGF5aW5nLlxuICAgICAgLy8gQ29uY2VwdHVhbGx5IHRoaXMgaXMgc2ltaWxhciB0byBQbGFjZW1lbnQgaW4gdGhhdCBhIG5ldyBzdWJ0cmVlIGlzXG4gICAgICAvLyBpbnNlcnRlZCBpbnRvIHRoZSBSZWFjdCB0cmVlIGhlcmUuIEl0IGp1c3QgaGFwcGVucyB0byBub3QgbmVlZCBET01cbiAgICAgIC8vIG11dGF0aW9ucyBiZWNhdXNlIGl0IGFscmVhZHkgZXhpc3RzLlxuXG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5mbGFncyB8PSBIeWRyYXRpbmc7XG4gICAgICByZXR1cm4gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCByZW5kZXIgcGFzcy4gV2UgYWxyZWFkeSBhdHRlbXB0ZWQgdG8gaHlkcmF0ZWQsIGJ1dFxuICAgIC8vIHNvbWV0aGluZyBlaXRoZXIgc3VzcGVuZGVkIG9yIGVycm9yZWQuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRm9yY2VDbGllbnRSZW5kZXIpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBlcnJvcmVkIGR1cmluZyBoeWRyYXRpb24uIFRyeSBhZ2FpbiB3aXRob3V0IGh5ZHJhdGluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH5Gb3JjZUNsaWVudFJlbmRlcjtcblxuICAgICAgdmFyIF9jYXB0dXJlZFZhbHVlMiA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUobmV3IEVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgaHlkcmF0aW5nIHRoaXMgU3VzcGVuc2UgYm91bmRhcnkuICcgKyAnU3dpdGNoZWQgdG8gY2xpZW50IHJlbmRlcmluZy4nKSk7XG5cbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIF9jYXB0dXJlZFZhbHVlMik7XG4gICAgfSBlbHNlIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBTb21ldGhpbmcgc3VzcGVuZGVkIGFuZCB3ZSBzaG91bGQgc3RpbGwgYmUgaW4gZGVoeWRyYXRlZCBtb2RlLlxuICAgICAgLy8gTGVhdmUgdGhlIGV4aXN0aW5nIGNoaWxkIGluIHBsYWNlLlxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBUaGUgZGVoeWRyYXRlZCBjb21wbGV0aW9uIHBhc3MgZXhwZWN0cyB0aGlzIGZsYWcgdG8gYmUgdGhlcmVcbiAgICAgIC8vIGJ1dCB0aGUgbm9ybWFsIHN1c3BlbnNlIHBhc3MgZG9lc24ndC5cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdXNwZW5kZWQgYnV0IHdlIHNob3VsZCBubyBsb25nZXIgYmUgaW4gZGVoeWRyYXRlZCBtb2RlLlxuICAgICAgLy8gVGhlcmVmb3JlIHdlIG5vdyBoYXZlIHRvIHJlbmRlciB0aGUgZmFsbGJhY2suXG4gICAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBuZXh0RmFsbGJhY2tDaGlsZHJlbiA9IG5leHRQcm9wcy5mYWxsYmFjaztcbiAgICAgIHZhciBmYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlRmFsbGJhY2tBZnRlclJldHJ5V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dFByaW1hcnlDaGlsZHJlbiwgbmV4dEZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0Lm1lbW9pemVkU3RhdGUgPSBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpO1xuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XG4gICAgICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzY2hlZHVsZVN1c3BlbnNlV29ya09uRmliZXIoZmliZXIsIHJlbmRlckxhbmVzLCBwcm9wYWdhdGlvblJvb3QpIHtcbiAgZmliZXIubGFuZXMgPSBtZXJnZUxhbmVzKGZpYmVyLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICBzY2hlZHVsZUNvbnRleHRXb3JrT25QYXJlbnRQYXRoKGZpYmVyLnJldHVybiwgcmVuZGVyTGFuZXMsIHByb3BhZ2F0aW9uUm9vdCk7XG59XG5cbmZ1bmN0aW9uIHByb3BhZ2F0ZVN1c3BlbnNlQ29udGV4dENoYW5nZSh3b3JrSW5Qcm9ncmVzcywgZmlyc3RDaGlsZCwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gTWFyayBhbnkgU3VzcGVuc2UgYm91bmRhcmllcyB3aXRoIGZhbGxiYWNrcyBhcyBoYXZpbmcgd29yayB0byBkby5cbiAgLy8gSWYgdGhleSB3ZXJlIHByZXZpb3VzbHkgZm9yY2VkIGludG8gZmFsbGJhY2tzLCB0aGV5IG1heSBub3cgYmUgYWJsZVxuICAvLyB0byB1bmJsb2NrLlxuICB2YXIgbm9kZSA9IGZpcnN0Q2hpbGQ7XG5cbiAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgICB2YXIgc3RhdGUgPSBub2RlLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVN1c3BlbnNlV29ya09uRmliZXIobm9kZSwgcmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUxpc3RDb21wb25lbnQpIHtcbiAgICAgIC8vIElmIHRoZSB0YWlsIGlzIGhpZGRlbiB0aGVyZSBtaWdodCBub3QgYmUgYW4gU3VzcGVuc2UgYm91bmRhcmllc1xuICAgICAgLy8gdG8gc2NoZWR1bGUgd29yayBvbi4gSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gc2NoZWR1bGUgaXQgb24gdGhlXG4gICAgICAvLyBsaXN0IGl0c2VsZi5cbiAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gdHJhdmVyc2UgdG8gdGhlIGNoaWxkcmVuIG9mIHRoZSBsaXN0IHNpbmNlXG4gICAgICAvLyB0aGUgbGlzdCB3aWxsIHByb3BhZ2F0ZSB0aGUgY2hhbmdlIHdoZW4gaXQgcmVyZW5kZXJzLlxuICAgICAgc2NoZWR1bGVTdXNwZW5zZVdvcmtPbkZpYmVyKG5vZGUsIHJlbmRlckxhbmVzLCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSB3b3JrSW5Qcm9ncmVzcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZExhc3RDb250ZW50Um93KGZpcnN0Q2hpbGQpIHtcbiAgLy8gVGhpcyBpcyBnb2luZyB0byBmaW5kIHRoZSBsYXN0IHJvdyBhbW9uZyB0aGVzZSBjaGlsZHJlbiB0aGF0IGlzIGFscmVhZHlcbiAgLy8gc2hvd2luZyBjb250ZW50IG9uIHRoZSBzY3JlZW4sIGFzIG9wcG9zZWQgdG8gYmVpbmcgaW4gZmFsbGJhY2sgc3RhdGUgb3JcbiAgLy8gbmV3LiBJZiBhIHJvdyBoYXMgbXVsdGlwbGUgU3VzcGVuc2UgYm91bmRhcmllcywgYW55IG9mIHRoZW0gYmVpbmcgaW4gdGhlXG4gIC8vIGZhbGxiYWNrIHN0YXRlLCBjb3VudHMgYXMgdGhlIHdob2xlIHJvdyBiZWluZyBpbiBhIGZhbGxiYWNrIHN0YXRlLlxuICAvLyBOb3RlIHRoYXQgdGhlIFwicm93c1wiIHdpbGwgYmUgd29ya0luUHJvZ3Jlc3MsIGJ1dCBhbnkgbmVzdGVkIGNoaWxkcmVuXG4gIC8vIHdpbGwgc3RpbGwgYmUgY3VycmVudCBzaW5jZSB3ZSBoYXZlbid0IHJlbmRlcmVkIHRoZW0geWV0LiBUaGUgbW91bnRlZFxuICAvLyBvcmRlciBtYXkgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBuZXcgb3JkZXIuIFdlIHVzZSB0aGUgbmV3IG9yZGVyLlxuICB2YXIgcm93ID0gZmlyc3RDaGlsZDtcbiAgdmFyIGxhc3RDb250ZW50Um93ID0gbnVsbDtcblxuICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnRSb3cgPSByb3cuYWx0ZXJuYXRlOyAvLyBOZXcgcm93cyBjYW4ndCBiZSBjb250ZW50IHJvd3MuXG5cbiAgICBpZiAoY3VycmVudFJvdyAhPT0gbnVsbCAmJiBmaW5kRmlyc3RTdXNwZW5kZWQoY3VycmVudFJvdykgPT09IG51bGwpIHtcbiAgICAgIGxhc3RDb250ZW50Um93ID0gcm93O1xuICAgIH1cblxuICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIGxhc3RDb250ZW50Um93O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVJldmVhbE9yZGVyKHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAocmV2ZWFsT3JkZXIgIT09IHVuZGVmaW5lZCAmJiByZXZlYWxPcmRlciAhPT0gJ2ZvcndhcmRzJyAmJiByZXZlYWxPcmRlciAhPT0gJ2JhY2t3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICd0b2dldGhlcicgJiYgIWRpZFdhcm5BYm91dFJldmVhbE9yZGVyW3JldmVhbE9yZGVyXSkge1xuICAgICAgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXJbcmV2ZWFsT3JkZXJdID0gdHJ1ZTtcblxuICAgICAgaWYgKHR5cGVvZiByZXZlYWxPcmRlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgc3dpdGNoIChyZXZlYWxPcmRlci50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICAgIGNhc2UgJ2ZvcndhcmRzJzpcbiAgICAgICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1VzZSBsb3dlcmNhc2UgXCIlc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnZm9yd2FyZCc6XG4gICAgICAgICAgY2FzZSAnYmFja3dhcmQnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1JlYWN0IHVzZXMgdGhlIC1zIHN1ZmZpeCBpbiB0aGUgc3BlbGxpbmcuIFVzZSBcIiVzc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwidG9nZXRoZXJcIiwgXCJmb3J3YXJkc1wiIG9yIFwiYmFja3dhcmRzXCI/JywgcmV2ZWFsT3JkZXIpO1xuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJyVzIGlzIG5vdCBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgcmV2ZWFsT3JkZXIgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXCJ0b2dldGhlclwiLCBcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIj8nLCByZXZlYWxPcmRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGFpbE9wdGlvbnModGFpbE1vZGUsIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAodGFpbE1vZGUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkFib3V0VGFpbE9wdGlvbnNbdGFpbE1vZGVdKSB7XG4gICAgICBpZiAodGFpbE1vZGUgIT09ICdjb2xsYXBzZWQnICYmIHRhaWxNb2RlICE9PSAnaGlkZGVuJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHZhbHVlIGZvciB0YWlsIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwiY29sbGFwc2VkXCIgb3IgXCJoaWRkZW5cIj8nLCB0YWlsTW9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHJldmVhbE9yZGVyICE9PSAnZm9yd2FyZHMnICYmIHJldmVhbE9yZGVyICE9PSAnYmFja3dhcmRzJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCc8U3VzcGVuc2VMaXN0IHRhaWw9XCIlc1wiIC8+IGlzIG9ubHkgdmFsaWQgaWYgcmV2ZWFsT3JkZXIgaXMgJyArICdcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIi4gJyArICdEaWQgeW91IG1lYW4gdG8gc3BlY2lmeSByZXZlYWxPcmRlcj1cImZvcndhcmRzXCI/JywgdGFpbE1vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkU2xvdCwgaW5kZXgpIHtcbiAge1xuICAgIHZhciBpc0FuQXJyYXkgPSBpc0FycmF5KGNoaWxkU2xvdCk7XG4gICAgdmFyIGlzSXRlcmFibGUgPSAhaXNBbkFycmF5ICYmIHR5cGVvZiBnZXRJdGVyYXRvckZuKGNoaWxkU2xvdCkgPT09ICdmdW5jdGlvbic7XG5cbiAgICBpZiAoaXNBbkFycmF5IHx8IGlzSXRlcmFibGUpIHtcbiAgICAgIHZhciB0eXBlID0gaXNBbkFycmF5ID8gJ2FycmF5JyA6ICdpdGVyYWJsZSc7XG5cbiAgICAgIGVycm9yKCdBIG5lc3RlZCAlcyB3YXMgcGFzc2VkIHRvIHJvdyAjJXMgaW4gPFN1c3BlbnNlTGlzdCAvPi4gV3JhcCBpdCBpbiAnICsgJ2FuIGFkZGl0aW9uYWwgU3VzcGVuc2VMaXN0IHRvIGNvbmZpZ3VyZSBpdHMgcmV2ZWFsT3JkZXI6ICcgKyAnPFN1c3BlbnNlTGlzdCByZXZlYWxPcmRlcj0uLi4+IC4uLiAnICsgJzxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9Li4uPnslc308L1N1c3BlbnNlTGlzdD4gLi4uICcgKyAnPC9TdXNwZW5zZUxpc3Q+JywgdHlwZSwgaW5kZXgsIHR5cGUpO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4oY2hpbGRyZW4sIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAoKHJldmVhbE9yZGVyID09PSAnZm9yd2FyZHMnIHx8IHJldmVhbE9yZGVyID09PSAnYmFja3dhcmRzJykgJiYgY2hpbGRyZW4gIT09IHVuZGVmaW5lZCAmJiBjaGlsZHJlbiAhPT0gbnVsbCAmJiBjaGlsZHJlbiAhPT0gZmFsc2UpIHtcbiAgICAgIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkcmVuW2ldLCBpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB2YXIgY2hpbGRyZW5JdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChjaGlsZHJlbik7XG5cbiAgICAgICAgICBpZiAoY2hpbGRyZW5JdGVyYXRvcikge1xuICAgICAgICAgICAgdmFyIHN0ZXAgPSBjaGlsZHJlbkl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgICAgIHZhciBfaSA9IDA7XG5cbiAgICAgICAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBzdGVwID0gY2hpbGRyZW5JdGVyYXRvci5uZXh0KCkpIHtcbiAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKHN0ZXAudmFsdWUsIF9pKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIF9pKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yKCdBIHNpbmdsZSByb3cgd2FzIHBhc3NlZCB0byBhIDxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9XCIlc1wiIC8+LiAnICsgJ1RoaXMgaXMgbm90IHVzZWZ1bCBzaW5jZSBpdCBuZWVkcyBtdWx0aXBsZSByb3dzLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBwYXNzIG11bHRpcGxlIGNoaWxkcmVuIG9yIGFuIGFycmF5PycsIHJldmVhbE9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIGlzQmFja3dhcmRzLCB0YWlsLCBsYXN0Q29udGVudFJvdywgdGFpbE1vZGUpIHtcbiAgdmFyIHJlbmRlclN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocmVuZGVyU3RhdGUgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0ge1xuICAgICAgaXNCYWNrd2FyZHM6IGlzQmFja3dhcmRzLFxuICAgICAgcmVuZGVyaW5nOiBudWxsLFxuICAgICAgcmVuZGVyaW5nU3RhcnRUaW1lOiAwLFxuICAgICAgbGFzdDogbGFzdENvbnRlbnRSb3csXG4gICAgICB0YWlsOiB0YWlsLFxuICAgICAgdGFpbE1vZGU6IHRhaWxNb2RlXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBXZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIG9iamVjdCBmcm9tIHByZXZpb3VzIHJlbmRlcnMuXG4gICAgcmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMgPSBpc0JhY2t3YXJkcztcbiAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA9IDA7XG4gICAgcmVuZGVyU3RhdGUubGFzdCA9IGxhc3RDb250ZW50Um93O1xuICAgIHJlbmRlclN0YXRlLnRhaWwgPSB0YWlsO1xuICAgIHJlbmRlclN0YXRlLnRhaWxNb2RlID0gdGFpbE1vZGU7XG4gIH1cbn0gLy8gVGhpcyBjYW4gZW5kIHVwIHJlbmRlcmluZyB0aGlzIGNvbXBvbmVudCBtdWx0aXBsZSBwYXNzZXMuXG4vLyBUaGUgZmlyc3QgcGFzcyBzcGxpdHMgdGhlIGNoaWxkcmVuIGZpYmVycyBpbnRvIHR3byBzZXRzLiBBIGhlYWQgYW5kIHRhaWwuXG4vLyBXZSBmaXJzdCByZW5kZXIgdGhlIGhlYWQuIElmIGFueXRoaW5nIGlzIGluIGZhbGxiYWNrIHN0YXRlLCB3ZSBkbyBhbm90aGVyXG4vLyBwYXNzIHRocm91Z2ggYmVnaW5Xb3JrIHRvIHJlcmVuZGVyIGFsbCBjaGlsZHJlbiAoaW5jbHVkaW5nIHRoZSB0YWlsKSB3aXRoXG4vLyB0aGUgZm9yY2Ugc3VzcGVuZCBjb250ZXh0LiBJZiB0aGUgZmlyc3QgcmVuZGVyIGRpZG4ndCBoYXZlIGFueXRoaW5nIGluXG4vLyBpbiBmYWxsYmFjayBzdGF0ZS4gVGhlbiB3ZSByZW5kZXIgZWFjaCByb3cgaW4gdGhlIHRhaWwgb25lLWJ5LW9uZS5cbi8vIFRoYXQgaGFwcGVucyBpbiB0aGUgY29tcGxldGVXb3JrIHBoYXNlIHdpdGhvdXQgZ29pbmcgYmFjayB0byBiZWdpbldvcmsuXG5cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VMaXN0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgcmV2ZWFsT3JkZXIgPSBuZXh0UHJvcHMucmV2ZWFsT3JkZXI7XG4gIHZhciB0YWlsTW9kZSA9IG5leHRQcm9wcy50YWlsO1xuICB2YXIgbmV3Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIHZhbGlkYXRlUmV2ZWFsT3JkZXIocmV2ZWFsT3JkZXIpO1xuICB2YWxpZGF0ZVRhaWxPcHRpb25zKHRhaWxNb2RlLCByZXZlYWxPcmRlcik7XG4gIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4obmV3Q2hpbGRyZW4sIHJldmVhbE9yZGVyKTtcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5ld0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG4gIHZhciBzaG91bGRGb3JjZUZhbGxiYWNrID0gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcblxuICBpZiAoc2hvdWxkRm9yY2VGYWxsYmFjaykge1xuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGRpZFN1c3BlbmRCZWZvcmUgPSBjdXJyZW50ICE9PSBudWxsICYmIChjdXJyZW50LmZsYWdzICYgRGlkQ2FwdHVyZSkgIT09IE5vRmxhZ3M7XG5cbiAgICBpZiAoZGlkU3VzcGVuZEJlZm9yZSkge1xuICAgICAgLy8gSWYgd2UgcHJldmlvdXNseSBmb3JjZWQgYSBmYWxsYmFjaywgd2UgbmVlZCB0byBzY2hlZHVsZSB3b3JrXG4gICAgICAvLyBvbiBhbnkgbmVzdGVkIGJvdW5kYXJpZXMgdG8gbGV0IHRoZW0ga25vdyB0byB0cnkgdG8gcmVuZGVyXG4gICAgICAvLyBhZ2Fpbi4gVGhpcyBpcyB0aGUgc2FtZSBhcyBjb250ZXh0IHVwZGF0aW5nLlxuICAgICAgcHJvcGFnYXRlU3VzcGVuc2VDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5jaGlsZCwgcmVuZGVyTGFuZXMpO1xuICAgIH1cblxuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCk7XG4gIH1cblxuICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUNvbnRleHQpO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgLy8gSW4gbGVnYWN5IG1vZGUsIFN1c3BlbnNlTGlzdCBkb2Vzbid0IHdvcmsgc28gd2UganVzdFxuICAgIC8vIHVzZSBtYWtlIGl0IGEgbm9vcCBieSB0cmVhdGluZyBpdCBhcyB0aGUgZGVmYXVsdCByZXZlYWxPcmRlci5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBzd2l0Y2ggKHJldmVhbE9yZGVyKSB7XG4gICAgICBjYXNlICdmb3J3YXJkcyc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGFzdENvbnRlbnRSb3cgPSBmaW5kTGFzdENvbnRlbnRSb3cod29ya0luUHJvZ3Jlc3MuY2hpbGQpO1xuICAgICAgICAgIHZhciB0YWlsO1xuXG4gICAgICAgICAgaWYgKGxhc3RDb250ZW50Um93ID09PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgd2hvbGUgbGlzdCBpcyBwYXJ0IG9mIHRoZSB0YWlsLlxuICAgICAgICAgICAgLy8gVE9ETzogV2UgY291bGQgZmFzdCBwYXRoIGJ5IGp1c3QgcmVuZGVyaW5nIHRoZSB0YWlsIG5vdy5cbiAgICAgICAgICAgIHRhaWwgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gbnVsbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRGlzY29ubmVjdCB0aGUgdGFpbCByb3dzIGFmdGVyIHRoZSBjb250ZW50IHJvdy5cbiAgICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHJlbmRlciB0aGVtIHNlcGFyYXRlbHkgbGF0ZXIuXG4gICAgICAgICAgICB0YWlsID0gbGFzdENvbnRlbnRSb3cuc2libGluZztcbiAgICAgICAgICAgIGxhc3RDb250ZW50Um93LnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGluaXRTdXNwZW5zZUxpc3RSZW5kZXJTdGF0ZSh3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgdGFpbCwgbGFzdENvbnRlbnRSb3csIHRhaWxNb2RlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gZmluZCB0aGUgZmlyc3Qgcm93IHRoYXQgaGFzIGV4aXN0aW5nIGNvbnRlbnQuXG4gICAgICAgICAgLy8gQXQgdGhlIHNhbWUgdGltZSB3ZSdyZSBnb2luZyB0byByZXZlcnNlIHRoZSBsaXN0IG9mIGV2ZXJ5dGhpbmdcbiAgICAgICAgICAvLyB3ZSBwYXNzIGluIHRoZSBtZWFudGltZS4gVGhhdCdzIGdvaW5nIHRvIGJlIG91ciB0YWlsIGluIHJldmVyc2VcbiAgICAgICAgICAvLyBvcmRlci5cbiAgICAgICAgICB2YXIgX3RhaWwgPSBudWxsO1xuICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG5cbiAgICAgICAgICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudFJvdyA9IHJvdy5hbHRlcm5hdGU7IC8vIE5ldyByb3dzIGNhbid0IGJlIGNvbnRlbnQgcm93cy5cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWFpbiBjb250ZW50LlxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJvdztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBuZXh0Um93ID0gcm93LnNpYmxpbmc7XG4gICAgICAgICAgICByb3cuc2libGluZyA9IF90YWlsO1xuICAgICAgICAgICAgX3RhaWwgPSByb3c7XG4gICAgICAgICAgICByb3cgPSBuZXh0Um93O1xuICAgICAgICAgIH0gLy8gVE9ETzogSWYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgaXMgbnVsbCwgd2UgY2FuIGNvbnRpbnVlIG9uIHRoZSB0YWlsIGltbWVkaWF0ZWx5LlxuXG5cbiAgICAgICAgICBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIHRydWUsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgX3RhaWwsIG51bGwsIC8vIGxhc3RcbiAgICAgICAgICB0YWlsTW9kZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICB7XG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCBmYWxzZSwgLy8gaXNCYWNrd2FyZHNcbiAgICAgICAgICBudWxsLCAvLyB0YWlsXG4gICAgICAgICAgbnVsbCwgLy8gbGFzdFxuICAgICAgICAgIHVuZGVmaW5lZCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IHJldmVhbCBvcmRlciBpcyB0aGUgc2FtZSBhcyBub3QgaGF2aW5nXG4gICAgICAgICAgLy8gYSBib3VuZGFyeS5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBwdXNoSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgLy8gUG9ydGFscyBhcmUgc3BlY2lhbCBiZWNhdXNlIHdlIGRvbid0IGFwcGVuZCB0aGUgY2hpbGRyZW4gZHVyaW5nIG1vdW50XG4gICAgLy8gYnV0IGF0IGNvbW1pdC4gVGhlcmVmb3JlIHdlIG5lZWQgdG8gdHJhY2sgaW5zZXJ0aW9ucyB3aGljaCB0aGUgbm9ybWFsXG4gICAgLy8gZmxvdyBkb2Vzbid0IGRvIGR1cmluZyBtb3VudC4gVGhpcyBkb2Vzbid0IGhhcHBlbiBhdCB0aGUgcm9vdCBiZWNhdXNlXG4gICAgLy8gdGhlIHJvb3QgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgXCJjdXJyZW50XCIgd2l0aCBhIG51bGwgY2hpbGQuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgdW5pZnlpbmcgdGhpcyB3aXRoIGhvdyB0aGUgcm9vdCB3b3Jrcy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgfSBlbHNlIHtcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nTm9WYWx1ZVByb3BPbkNvbnRleHRQcm92aWRlciA9IGZhbHNlO1xuXG5mdW5jdGlvbiB1cGRhdGVDb250ZXh0UHJvdmlkZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBwcm92aWRlclR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB2YXIgY29udGV4dCA9IHByb3ZpZGVyVHlwZS5fY29udGV4dDtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgb2xkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzO1xuICB2YXIgbmV3VmFsdWUgPSBuZXdQcm9wcy52YWx1ZTtcblxuICB7XG4gICAgaWYgKCEoJ3ZhbHVlJyBpbiBuZXdQcm9wcykpIHtcbiAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05vVmFsdWVQcm9wT25Db250ZXh0UHJvdmlkZXIpIHtcbiAgICAgICAgaGFzV2FybmVkQWJvdXRVc2luZ05vVmFsdWVQcm9wT25Db250ZXh0UHJvdmlkZXIgPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdUaGUgYHZhbHVlYCBwcm9wIGlzIHJlcXVpcmVkIGZvciB0aGUgYDxDb250ZXh0LlByb3ZpZGVyPmAuIERpZCB5b3UgbWlzc3BlbGwgaXQgb3IgZm9yZ2V0IHRvIHBhc3MgaXQ/Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHByb3ZpZGVyUHJvcFR5cGVzID0gd29ya0luUHJvZ3Jlc3MudHlwZS5wcm9wVHlwZXM7XG5cbiAgICBpZiAocHJvdmlkZXJQcm9wVHlwZXMpIHtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3ZpZGVyUHJvcFR5cGVzLCBuZXdQcm9wcywgJ3Byb3AnLCAnQ29udGV4dC5Qcm92aWRlcicpO1xuICAgIH1cbiAgfVxuXG4gIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgbmV3VmFsdWUpO1xuXG4gIHtcbiAgICBpZiAob2xkUHJvcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBvbGRWYWx1ZSA9IG9sZFByb3BzLnZhbHVlO1xuXG4gICAgICBpZiAob2JqZWN0SXMob2xkVmFsdWUsIG5ld1ZhbHVlKSkge1xuICAgICAgICAvLyBObyBjaGFuZ2UuIEJhaWxvdXQgZWFybHkgaWYgY2hpbGRyZW4gYXJlIHRoZSBzYW1lLlxuICAgICAgICBpZiAob2xkUHJvcHMuY2hpbGRyZW4gPT09IG5ld1Byb3BzLmNoaWxkcmVuICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpKSB7XG4gICAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlIGNvbnRleHQgdmFsdWUgY2hhbmdlZC4gU2VhcmNoIGZvciBtYXRjaGluZyBjb25zdW1lcnMgYW5kIHNjaGVkdWxlXG4gICAgICAgIC8vIHRoZW0gdG8gdXBkYXRlLlxuICAgICAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5ld0NoaWxkcmVuID0gbmV3UHJvcHMuY2hpbGRyZW47XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nQ29udGV4dEFzQ29uc3VtZXIgPSBmYWxzZTtcblxuZnVuY3Rpb24gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGU7IC8vIFRoZSBsb2dpYyBiZWxvdyBmb3IgQ29udGV4dCBkaWZmZXJzIGRlcGVuZGluZyBvbiBQUk9EIG9yIERFViBtb2RlLiBJblxuICAvLyBERVYgbW9kZSwgd2UgY3JlYXRlIGEgc2VwYXJhdGUgb2JqZWN0IGZvciBDb250ZXh0LkNvbnN1bWVyIHRoYXQgYWN0c1xuICAvLyBsaWtlIGEgcHJveHkgdG8gQ29udGV4dC4gVGhpcyBwcm94eSBvYmplY3QgYWRkcyB1bm5lY2Vzc2FyeSBjb2RlIGluIFBST0RcbiAgLy8gc28gd2UgdXNlIHRoZSBvbGQgYmVoYXZpb3VyIChDb250ZXh0LkNvbnN1bWVyIHJlZmVyZW5jZXMgQ29udGV4dCkgdG9cbiAgLy8gcmVkdWNlIHNpemUgYW5kIG92ZXJoZWFkLiBUaGUgc2VwYXJhdGUgb2JqZWN0IHJlZmVyZW5jZXMgY29udGV4dCB2aWFcbiAgLy8gYSBwcm9wZXJ0eSBjYWxsZWQgXCJfY29udGV4dFwiLCB3aGljaCBhbHNvIGdpdmVzIHVzIHRoZSBhYmlsaXR5IHRvIGNoZWNrXG4gIC8vIGluIERFViBtb2RlIGlmIHRoaXMgcHJvcGVydHkgZXhpc3RzIG9yIG5vdCBhbmQgd2FybiBpZiBpdCBkb2VzIG5vdC5cblxuICB7XG4gICAgaWYgKGNvbnRleHQuX2NvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVGhpcyBtYXkgYmUgYmVjYXVzZSBpdCdzIGEgQ29udGV4dCAocmF0aGVyIHRoYW4gYSBDb25zdW1lcikuXG4gICAgICAvLyBPciBpdCBtYXkgYmUgYmVjYXVzZSBpdCdzIG9sZGVyIFJlYWN0IHdoZXJlIHRoZXkncmUgdGhlIHNhbWUgdGhpbmcuXG4gICAgICAvLyBXZSBvbmx5IHdhbnQgdG8gd2FybiBpZiB3ZSdyZSBzdXJlIGl0J3MgYSBuZXcgUmVhY3QuXG4gICAgICBpZiAoY29udGV4dCAhPT0gY29udGV4dC5Db25zdW1lcikge1xuICAgICAgICBpZiAoIWhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lcikge1xuICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVuZGVyaW5nIDxDb250ZXh0PiBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gcmVuZGVyIDxDb250ZXh0LkNvbnN1bWVyPiBpbnN0ZWFkPycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9jb250ZXh0O1xuICAgIH1cbiAgfVxuXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHJlbmRlciA9IG5ld1Byb3BzLmNoaWxkcmVuO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ0EgY29udGV4dCBjb25zdW1lciB3YXMgcmVuZGVyZWQgd2l0aCBtdWx0aXBsZSBjaGlsZHJlbiwgb3IgYSBjaGlsZCAnICsgXCJ0aGF0IGlzbid0IGEgZnVuY3Rpb24uIEEgY29udGV4dCBjb25zdW1lciBleHBlY3RzIGEgc2luZ2xlIGNoaWxkIFwiICsgJ3RoYXQgaXMgYSBmdW5jdGlvbi4gSWYgeW91IGRpZCBwYXNzIGEgZnVuY3Rpb24sIG1ha2Ugc3VyZSB0aGVyZSAnICsgJ2lzIG5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBhcm91bmQgaXQuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgdmFyIG5ld1ZhbHVlID0gcmVhZENvbnRleHQoY29udGV4dCk7XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHZhciBuZXdDaGlsZHJlbjtcblxuICB7XG4gICAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgbmV3Q2hpbGRyZW4gPSByZW5kZXIobmV3VmFsdWUpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCkge1xuICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVzZXRTdXNwZW5kZWRDdXJyZW50T25Nb3VudEluTGVnYWN5TW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGxhenkgY29tcG9uZW50IG9ubHkgbW91bnRzIGlmIGl0IHN1c3BlbmRlZCBpbnNpZGUgYSBub24tXG4gICAgICAvLyBjb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0byB0cmVhdCBpdCBsaWtlXG4gICAgICAvLyBhIG5ldyBtb3VudCwgZXZlbiB0aG91Z2ggYW4gZW1wdHkgdmVyc2lvbiBvZiBpdCBhbHJlYWR5IGNvbW1pdHRlZC5cbiAgICAgIC8vIERpc2Nvbm5lY3QgdGhlIGFsdGVybmF0ZSBwb2ludGVycy5cbiAgICAgIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICAgIHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIFNpbmNlIHRoaXMgaXMgY29uY2VwdHVhbGx5IGEgbmV3IGZpYmVyLCBzY2hlZHVsZSBhIFBsYWNlbWVudCBlZmZlY3RcblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIC8vIFJldXNlIHByZXZpb3VzIGRlcGVuZGVuY2llc1xuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnQuZGVwZW5kZW5jaWVzO1xuICB9XG5cbiAge1xuICAgIC8vIERvbid0IHVwZGF0ZSBcImJhc2VcIiByZW5kZXIgdGltZXMgZm9yIGJhaWxvdXRzLlxuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nKCk7XG4gIH1cblxuICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzKTsgLy8gQ2hlY2sgaWYgdGhlIGNoaWxkcmVuIGhhdmUgYW55IHBlbmRpbmcgd29yay5cblxuICBpZiAoIWluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMpKSB7XG4gICAgLy8gVGhlIGNoaWxkcmVuIGRvbid0IGhhdmUgYW55IHdvcmsgZWl0aGVyLiBXZSBjYW4gc2tpcCB0aGVtLlxuICAgIC8vIFRPRE86IE9uY2Ugd2UgYWRkIGJhY2sgcmVzdW1pbmcsIHdlIHNob3VsZCBjaGVjayBpZiB0aGUgY2hpbGRyZW4gYXJlXG4gICAgLy8gYSB3b3JrLWluLXByb2dyZXNzIHNldC4gSWYgc28sIHdlIG5lZWQgdG8gdHJhbnNmZXIgdGhlaXIgZWZmZWN0cy5cbiAgICB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0gLy8gVGhpcyBmaWJlciBkb2Vzbid0IGhhdmUgd29yaywgYnV0IGl0cyBzdWJ0cmVlIGRvZXMuIENsb25lIHRoZSBjaGlsZFxuICAvLyBmaWJlcnMgYW5kIGNvbnRpbnVlLlxuXG5cbiAgY2xvbmVDaGlsZEZpYmVycyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gcmVtb3VudEZpYmVyKGN1cnJlbnQsIG9sZFdvcmtJblByb2dyZXNzLCBuZXdXb3JrSW5Qcm9ncmVzcykge1xuICB7XG4gICAgdmFyIHJldHVybkZpYmVyID0gb2xkV29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuXG4gICAgaWYgKHJldHVybkZpYmVyID09PSBudWxsKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3dhcCB0aGUgcm9vdCBmaWJlci4nKTtcbiAgICB9IC8vIERpc2Nvbm5lY3QgZnJvbSB0aGUgb2xkIGN1cnJlbnQuXG4gICAgLy8gSXQgd2lsbCBnZXQgZGVsZXRlZC5cblxuXG4gICAgY3VycmVudC5hbHRlcm5hdGUgPSBudWxsO1xuICAgIG9sZFdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIENvbm5lY3QgdG8gdGhlIG5ldyB0cmVlLlxuXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuaW5kZXggPSBvbGRXb3JrSW5Qcm9ncmVzcy5pbmRleDtcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5zaWJsaW5nID0gb2xkV29ya0luUHJvZ3Jlc3Muc2libGluZztcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5yZXR1cm4gPSBvbGRXb3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gICAgbmV3V29ya0luUHJvZ3Jlc3MucmVmID0gb2xkV29ya0luUHJvZ3Jlc3MucmVmOyAvLyBSZXBsYWNlIHRoZSBjaGlsZC9zaWJsaW5nIHBvaW50ZXJzIGFib3ZlIGl0LlxuXG4gICAgaWYgKG9sZFdvcmtJblByb2dyZXNzID09PSByZXR1cm5GaWJlci5jaGlsZCkge1xuICAgICAgcmV0dXJuRmliZXIuY2hpbGQgPSBuZXdXb3JrSW5Qcm9ncmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHByZXZTaWJsaW5nID0gcmV0dXJuRmliZXIuY2hpbGQ7XG5cbiAgICAgIGlmIChwcmV2U2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHBhcmVudCB0byBoYXZlIGEgY2hpbGQuJyk7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChwcmV2U2libGluZy5zaWJsaW5nICE9PSBvbGRXb3JrSW5Qcm9ncmVzcykge1xuICAgICAgICBwcmV2U2libGluZyA9IHByZXZTaWJsaW5nLnNpYmxpbmc7XG5cbiAgICAgICAgaWYgKHByZXZTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgdGhlIHByZXZpb3VzIHNpYmxpbmcuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcHJldlNpYmxpbmcuc2libGluZyA9IG5ld1dvcmtJblByb2dyZXNzO1xuICAgIH0gLy8gRGVsZXRlIHRoZSBvbGQgZmliZXIgYW5kIHBsYWNlIHRoZSBuZXcgb25lLlxuICAgIC8vIFNpbmNlIHRoZSBvbGQgZmliZXIgaXMgZGlzY29ubmVjdGVkLCB3ZSBoYXZlIHRvIHNjaGVkdWxlIGl0IG1hbnVhbGx5LlxuXG5cbiAgICB2YXIgZGVsZXRpb25zID0gcmV0dXJuRmliZXIuZGVsZXRpb25zO1xuXG4gICAgaWYgKGRlbGV0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuRmliZXIuZGVsZXRpb25zID0gW2N1cnJlbnRdO1xuICAgICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRpb25zLnB1c2goY3VycmVudCk7XG4gICAgfVxuXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGxhY2VtZW50OyAvLyBSZXN0YXJ0IHdvcmsgZnJvbSB0aGUgbmV3IGZpYmVyLlxuXG4gICAgcmV0dXJuIG5ld1dvcmtJblByb2dyZXNzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0KGN1cnJlbnQsIHJlbmRlckxhbmVzKSB7XG4gIC8vIEJlZm9yZSBwZXJmb3JtaW5nIGFuIGVhcmx5IGJhaWxvdXQsIHdlIG11c3QgY2hlY2sgaWYgdGhlcmUgYXJlIHBlbmRpbmdcbiAgLy8gdXBkYXRlcyBvciBjb250ZXh0LlxuICB2YXIgdXBkYXRlTGFuZXMgPSBjdXJyZW50LmxhbmVzO1xuXG4gIGlmIChpbmNsdWRlc1NvbWVMYW5lKHVwZGF0ZUxhbmVzLCByZW5kZXJMYW5lcykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBObyBwZW5kaW5nIHVwZGF0ZSwgYnV0IGJlY2F1c2UgY29udGV4dCBpcyBwcm9wYWdhdGVkIGxhemlseSwgd2UgbmVlZFxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdEVhcmx5QmFpbG91dElmTm9TY2hlZHVsZWRVcGRhdGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgZmliZXIgZG9lcyBub3QgaGF2ZSBhbnkgcGVuZGluZyB3b3JrLiBCYWlsb3V0IHdpdGhvdXQgZW50ZXJpbmdcbiAgLy8gdGhlIGJlZ2luIHBoYXNlLiBUaGVyZSdzIHN0aWxsIHNvbWUgYm9va2tlZXBpbmcgd2UgdGhhdCBuZWVkcyB0byBiZSBkb25lXG4gIC8vIGluIHRoaXMgb3B0aW1pemVkIHBhdGgsIG1vc3RseSBwdXNoaW5nIHN0dWZmIG9udG8gdGhlIHN0YWNrLlxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gICAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHB1c2hIb3N0Q29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuXG4gICAgICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAge1xuICAgICAgICB2YXIgbmV3VmFsdWUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnZhbHVlO1xuICAgICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICAgIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgbmV3VmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICB7XG4gICAgICAgIC8vIFByb2ZpbGVyIHNob3VsZCBvbmx5IGNhbGwgb25SZW5kZXIgd2hlbiBvbmUgb2YgaXRzIGRlc2NlbmRhbnRzIGFjdHVhbGx5IHJlbmRlcmVkLlxuICAgICAgICB2YXIgaGFzQ2hpbGRXb3JrID0gaW5jbHVkZXNTb21lTGFuZShyZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyk7XG5cbiAgICAgICAgaWYgKGhhc0NoaWxkV29yaykge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBSZXNldCBlZmZlY3QgZHVyYXRpb25zIGZvciB0aGUgbmV4dCBldmVudHVhbCBlZmZlY3QgcGhhc2UuXG4gICAgICAgICAgLy8gVGhlc2UgYXJlIHJlc2V0IGR1cmluZyByZW5kZXIgdG8gYWxsb3cgdGhlIERldlRvb2xzIGNvbW1pdCBob29rIGEgY2hhbmNlIHRvIHJlYWQgdGhlbSxcbiAgICAgICAgICB2YXIgc3RhdGVOb2RlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgICAgICAgIHN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICAgICAgc3RhdGVOb2RlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChzdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gV2Uga25vdyB0aGF0IHRoaXMgY29tcG9uZW50IHdpbGwgc3VzcGVuZCBhZ2FpbiBiZWNhdXNlIGlmIGl0IGhhc1xuICAgICAgICAgICAgLy8gYmVlbiB1bnN1c3BlbmRlZCBpdCBoYXMgY29tbWl0dGVkIGFzIGEgcmVzb2x2ZWQgU3VzcGVuc2UgY29tcG9uZW50LlxuICAgICAgICAgICAgLy8gSWYgaXQgbmVlZHMgdG8gYmUgcmV0cmllZCwgaXQgc2hvdWxkIGhhdmUgd29yayBzY2hlZHVsZWQgb24gaXQuXG5cbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7IC8vIFdlIHNob3VsZCBuZXZlciByZW5kZXIgdGhlIGNoaWxkcmVuIG9mIGEgZGVoeWRyYXRlZCBib3VuZGFyeSB1bnRpbCB3ZVxuICAgICAgICAgICAgLy8gdXBncmFkZSBpdC4gV2UgcmV0dXJuIG51bGwgaW5zdGVhZCBvZiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrLlxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9IC8vIElmIHRoaXMgYm91bmRhcnkgaXMgY3VycmVudGx5IHRpbWVkIG91dCwgd2UgbmVlZCB0byBkZWNpZGVcbiAgICAgICAgICAvLyB3aGV0aGVyIHRvIHJldHJ5IHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBvciB0byBza2lwIG92ZXIgaXQgYW5kXG4gICAgICAgICAgLy8gZ28gc3RyYWlnaHQgdG8gdGhlIGZhbGxiYWNrLiBDaGVjayB0aGUgcHJpb3JpdHkgb2YgdGhlIHByaW1hcnlcbiAgICAgICAgICAvLyBjaGlsZCBmcmFnbWVudC5cblxuXG4gICAgICAgICAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgdmFyIHByaW1hcnlDaGlsZExhbmVzID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcztcblxuICAgICAgICAgIGlmIChpbmNsdWRlc1NvbWVMYW5lKHJlbmRlckxhbmVzLCBwcmltYXJ5Q2hpbGRMYW5lcykpIHtcbiAgICAgICAgICAgIC8vIFRoZSBwcmltYXJ5IGNoaWxkcmVuIGhhdmUgcGVuZGluZyB3b3JrLiBVc2UgdGhlIG5vcm1hbCBwYXRoXG4gICAgICAgICAgICAvLyB0byBhdHRlbXB0IHRvIHJlbmRlciB0aGUgcHJpbWFyeSBjaGlsZHJlbiBhZ2Fpbi5cbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUaGUgcHJpbWFyeSBjaGlsZCBmcmFnbWVudCBkb2VzIG5vdCBoYXZlIHBlbmRpbmcgd29yayBtYXJrZWRcbiAgICAgICAgICAgIC8vIG9uIGl0XG4gICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gVGhlIHByaW1hcnkgY2hpbGRyZW4gZG8gbm90IGhhdmUgcGVuZGluZyB3b3JrIHdpdGggc3VmZmljaWVudFxuICAgICAgICAgICAgLy8gcHJpb3JpdHkuIEJhaWxvdXQuXG5cbiAgICAgICAgICAgIHZhciBjaGlsZCA9IGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgICAgICAgICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoZSBmYWxsYmFjayBjaGlsZHJlbiBoYXZlIHBlbmRpbmcgd29yay4gU2tpcCBvdmVyIHRoZVxuICAgICAgICAgICAgICAvLyBwcmltYXJ5IGNoaWxkcmVuIGFuZCB3b3JrIG9uIHRoZSBmYWxsYmFjay5cbiAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLnNpYmxpbmc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBOb3RlOiBXZSBjYW4gcmV0dXJuIGBudWxsYCBoZXJlIGJlY2F1c2Ugd2UgYWxyZWFkeSBjaGVja2VkXG4gICAgICAgICAgICAgIC8vIHdoZXRoZXIgdGhlcmUgd2VyZSBuZXN0ZWQgY29udGV4dCBjb25zdW1lcnMsIHZpYSB0aGUgY2FsbCB0b1xuICAgICAgICAgICAgICAvLyBgYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29ya2AgYWJvdmUuXG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBkaWRTdXNwZW5kQmVmb3JlID0gKGN1cnJlbnQuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncztcblxuICAgICAgICB2YXIgX2hhc0NoaWxkV29yayA9IGluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMpO1xuXG4gICAgICAgIGlmIChkaWRTdXNwZW5kQmVmb3JlKSB7XG4gICAgICAgICAgaWYgKF9oYXNDaGlsZFdvcmspIHtcbiAgICAgICAgICAgIC8vIElmIHNvbWV0aGluZyB3YXMgaW4gZmFsbGJhY2sgc3RhdGUgbGFzdCB0aW1lLCBhbmQgd2UgaGF2ZSBhbGwgdGhlXG4gICAgICAgICAgICAvLyBzYW1lIGNoaWxkcmVuIHRoZW4gd2UncmUgc3RpbGwgaW4gcHJvZ3Jlc3NpdmUgbG9hZGluZyBzdGF0ZS5cbiAgICAgICAgICAgIC8vIFNvbWV0aGluZyBtaWdodCBnZXQgdW5ibG9ja2VkIGJ5IHN0YXRlIHVwZGF0ZXMgb3IgcmV0cmllcyBpbiB0aGVcbiAgICAgICAgICAgIC8vIHRyZWUgd2hpY2ggd2lsbCBhZmZlY3QgdGhlIHRhaWwuIFNvIHdlIG5lZWQgdG8gdXNlIHRoZSBub3JtYWxcbiAgICAgICAgICAgIC8vIHBhdGggdG8gY29tcHV0ZSB0aGUgY29ycmVjdCB0YWlsLlxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlTGlzdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH0gLy8gSWYgbm9uZSBvZiB0aGUgY2hpbGRyZW4gaGFkIGFueSB3b3JrLCB0aGF0IG1lYW5zIHRoYXQgbm9uZSBvZlxuICAgICAgICAgIC8vIHRoZW0gZ290IHJldHJpZWQgc28gdGhleSdsbCBzdGlsbCBiZSBibG9ja2VkIGluIHRoZSBzYW1lIHdheVxuICAgICAgICAgIC8vIGFzIGJlZm9yZS4gV2UgY2FuIGZhc3QgYmFpbCBvdXQuXG5cblxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgIH0gLy8gSWYgbm90aGluZyBzdXNwZW5kZWQgYmVmb3JlIGFuZCB3ZSdyZSByZW5kZXJpbmcgdGhlIHNhbWUgY2hpbGRyZW4sXG4gICAgICAgIC8vIHRoZW4gdGhlIHRhaWwgZG9lc24ndCBtYXR0ZXIuIEFueXRoaW5nIG5ldyB0aGF0IHN1c3BlbmRzIHdpbGwgd29ya1xuICAgICAgICAvLyBpbiB0aGUgXCJ0b2dldGhlclwiIG1vZGUsIHNvIHdlIGNhbiBjb250aW51ZSBmcm9tIHRoZSBzdGF0ZSB3ZSBoYWQuXG5cblxuICAgICAgICB2YXIgcmVuZGVyU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFJlc2V0IHRvIHRoZSBcInRvZ2V0aGVyXCIgbW9kZSBpbiBjYXNlIHdlJ3ZlIHN0YXJ0ZWQgYSBkaWZmZXJlbnRcbiAgICAgICAgICAvLyB1cGRhdGUgaW4gdGhlIHBhc3QgYnV0IGRpZG4ndCBjb21wbGV0ZSBpdC5cbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnRhaWwgPSBudWxsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLmxhc3RFZmZlY3QgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50KTtcblxuICAgICAgICBpZiAoX2hhc0NoaWxkV29yaykge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGNoaWxkcmVuIGhhZCBhbnkgd29yaywgdGhhdCBtZWFucyB0aGF0IG5vbmUgb2ZcbiAgICAgICAgICAvLyB0aGVtIGdvdCByZXRyaWVkIHNvIHRoZXknbGwgc3RpbGwgYmUgYmxvY2tlZCBpbiB0aGUgc2FtZSB3YXlcbiAgICAgICAgICAvLyBhcyBiZWZvcmUuIFdlIGNhbiBmYXN0IGJhaWwgb3V0LlxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gTmVlZCB0byBjaGVjayBpZiB0aGUgdHJlZSBzdGlsbCBuZWVkcyB0byBiZSBkZWZlcnJlZC4gVGhpcyBpc1xuICAgICAgICAvLyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBsb2dpYyB1c2VkIGluIHRoZSBub3JtYWwgdXBkYXRlIHBhdGgsXG4gICAgICAgIC8vIHNvIHdlJ2xsIGp1c3QgZW50ZXIgdGhhdC4gVGhlIG9ubHkgZGlmZmVyZW5jZSBpcyB3ZSdsbCBiYWlsIG91dFxuICAgICAgICAvLyBhdCB0aGUgbmV4dCBsZXZlbCBpbnN0ZWFkIG9mIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjaGlsZCBwcm9wc1xuICAgICAgICAvLyBoYXZlIG5vdCBjaGFuZ2VkLiBXaGljaCBpcyBmaW5lLlxuICAgICAgICAvLyBUT0RPOiBQcm9iYWJseSBzaG91bGQgcmVmYWN0b3IgYGJlZ2luV29ya2AgdG8gc3BsaXQgdGhlIGJhaWxvdXRcbiAgICAgICAgLy8gcGF0aCBmcm9tIHRoZSBub3JtYWwgcGF0aC4gSSdtIHRlbXB0ZWQgdG8gZG8gYSBsYWJlbGVkIGJyZWFrIGhlcmVcbiAgICAgICAgLy8gYnV0IEkgd29uJ3QgOilcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBOb0xhbmVzO1xuICAgICAgICByZXR1cm4gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiBiZWdpbldvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MuX2RlYnVnTmVlZHNSZW1vdW50ICYmIGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgd2lsbCByZXN0YXJ0IHRoZSBiZWdpbiBwaGFzZSB3aXRoIGEgbmV3IGZpYmVyLlxuICAgICAgcmV0dXJuIHJlbW91bnRGaWJlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHdvcmtJblByb2dyZXNzLnR5cGUsIHdvcmtJblByb2dyZXNzLmtleSwgd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLCB3b3JrSW5Qcm9ncmVzcy5fZGVidWdPd25lciB8fCBudWxsLCB3b3JrSW5Qcm9ncmVzcy5tb2RlLCB3b3JrSW5Qcm9ncmVzcy5sYW5lcykpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIG9sZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcblxuICAgIGlmIChvbGRQcm9wcyAhPT0gbmV3UHJvcHMgfHwgaGFzQ29udGV4dENoYW5nZWQoKSB8fCAoIC8vIEZvcmNlIGEgcmUtcmVuZGVyIGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VkIGR1ZSB0byBob3QgcmVsb2FkOlxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSBjdXJyZW50LnR5cGUgKSkge1xuICAgICAgLy8gSWYgcHJvcHMgb3IgY29udGV4dCBjaGFuZ2VkLCBtYXJrIHRoZSBmaWJlciBhcyBoYXZpbmcgcGVyZm9ybWVkIHdvcmsuXG4gICAgICAvLyBUaGlzIG1heSBiZSB1bnNldCBpZiB0aGUgcHJvcHMgYXJlIGRldGVybWluZWQgdG8gYmUgZXF1YWwgbGF0ZXIgKG1lbW8pLlxuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5laXRoZXIgcHJvcHMgbm9yIGxlZ2FjeSBjb250ZXh0IGNoYW5nZXMuIENoZWNrIGlmIHRoZXJlJ3MgYSBwZW5kaW5nXG4gICAgICAvLyB1cGRhdGUgb3IgY29udGV4dCBjaGFuZ2UuXG4gICAgICB2YXIgaGFzU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0ID0gY2hlY2tTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQoY3VycmVudCwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBpZiAoIWhhc1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dCAmJiAvLyBJZiB0aGlzIGlzIHRoZSBzZWNvbmQgcGFzcyBvZiBhbiBlcnJvciBvciBzdXNwZW5zZSBib3VuZGFyeSwgdGhlcmVcbiAgICAgIC8vIG1heSBub3QgYmUgd29yayBzY2hlZHVsZWQgb24gYGN1cnJlbnRgLCBzbyB3ZSBjaGVjayBmb3IgdGhpcyBmbGFnLlxuICAgICAgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MpIHtcbiAgICAgICAgLy8gTm8gcGVuZGluZyB1cGRhdGVzIG9yIGNvbnRleHQuIEJhaWwgb3V0IG5vdy5cbiAgICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYXR0ZW1wdEVhcmx5QmFpbG91dElmTm9TY2hlZHVsZWRVcGRhdGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKChjdXJyZW50LmZsYWdzICYgRm9yY2VVcGRhdGVGb3JMZWdhY3lTdXNwZW5zZSkgIT09IE5vRmxhZ3MpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZSB0aGF0IG9ubHkgZXhpc3RzIGZvciBsZWdhY3kgbW9kZS5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzE5MjE2LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9uIHRoaXMgZmliZXIsIGJ1dCB0aGVyZSBhcmUgbm8gbmV3IHByb3BzXG4gICAgICAgIC8vIG5vciBsZWdhY3kgY29udGV4dC4gU2V0IHRoaXMgdG8gZmFsc2UuIElmIGFuIHVwZGF0ZSBxdWV1ZSBvciBjb250ZXh0XG4gICAgICAgIC8vIGNvbnN1bWVyIHByb2R1Y2VzIGEgY2hhbmdlZCB2YWx1ZSwgaXQgd2lsbCBzZXQgdGhpcyB0byB0cnVlLiBPdGhlcndpc2UsXG4gICAgICAgIC8vIHRoZSBjb21wb25lbnQgd2lsbCBhc3N1bWUgdGhlIGNoaWxkcmVuIGhhdmUgbm90IGNoYW5nZWQgYW5kIGJhaWwgb3V0LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpKSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGlzIGNoaWxkIGJlbG9uZ3MgdG8gYSBsaXN0IG9mIG11bGlwbGUgY2hpbGRyZW4gaW5cbiAgICAgIC8vIGl0cyBwYXJlbnQuXG4gICAgICAvL1xuICAgICAgLy8gSW4gYSB0cnVlIG11bHRpLXRocmVhZGVkIGltcGxlbWVudGF0aW9uLCB3ZSB3b3VsZCByZW5kZXIgY2hpbGRyZW4gb25cbiAgICAgIC8vIHBhcmFsbGVsIHRocmVhZHMuIFRoaXMgd291bGQgcmVwcmVzZW50IHRoZSBiZWdpbm5pbmcgb2YgYSBuZXcgcmVuZGVyXG4gICAgICAvLyB0aHJlYWQgZm9yIHRoaXMgc3VidHJlZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBvbmx5IHVzZSB0aGlzIGZvciBpZCBnZW5lcmF0aW9uIGR1cmluZyBoeWRyYXRpb24sIHdoaWNoIGlzIHdoeSB0aGVcbiAgICAgIC8vIGxvZ2ljIGlzIGxvY2F0ZWQgaW4gdGhpcyBzcGVjaWFsIGJyYW5jaC5cbiAgICAgIHZhciBzbG90SW5kZXggPSB3b3JrSW5Qcm9ncmVzcy5pbmRleDtcbiAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gZ2V0Rm9ya3NBdExldmVsKCk7XG4gICAgICBwdXNoVHJlZUlkKHdvcmtJblByb2dyZXNzLCBudW1iZXJPZkZvcmtzLCBzbG90SW5kZXgpO1xuICAgIH1cbiAgfSAvLyBCZWZvcmUgZW50ZXJpbmcgdGhlIGJlZ2luIHBoYXNlLCBjbGVhciBwZW5kaW5nIHVwZGF0ZSBwcmlvcml0eS5cbiAgLy8gVE9ETzogVGhpcyBhc3N1bWVzIHRoYXQgd2UncmUgYWJvdXQgdG8gZXZhbHVhdGUgdGhlIGNvbXBvbmVudCBhbmQgcHJvY2Vzc1xuICAvLyB0aGUgdXBkYXRlIHF1ZXVlLiBIb3dldmVyLCB0aGVyZSdzIGFuIGV4Y2VwdGlvbjogU2ltcGxlTWVtb0NvbXBvbmVudFxuICAvLyBzb21ldGltZXMgYmFpbHMgb3V0IGxhdGVyIGluIHRoZSBiZWdpbiBwaGFzZS4gVGhpcyBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGRcbiAgLy8gbW92ZSB0aGlzIGFzc2lnbm1lbnQgb3V0IG9mIHRoZSBjb21tb24gcGF0aCBhbmQgaW50byBlYWNoIGJyYW5jaC5cblxuXG4gIHdvcmtJblByb2dyZXNzLmxhbmVzID0gTm9MYW5lcztcblxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIG1vdW50SW5kZXRlcm1pbmF0ZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MudHlwZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZTtcbiAgICAgICAgcmV0dXJuIG1vdW50TGF6eUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgdW5yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICAgICAgICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBDb21wb25lbnQgPyB1bnJlc29sdmVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudCwgdW5yZXNvbHZlZFByb3BzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPT09IF9Db21wb25lbnQgPyBfdW5yZXNvbHZlZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50LCBfdW5yZXNvbHZlZFByb3BzKTtcblxuICAgICAgICByZXR1cm4gdXBkYXRlQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9Db21wb25lbnQsIF9yZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAgcmV0dXJuIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHJldHVybiB1cGRhdGVIb3N0VGV4dChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICByZXR1cm4gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICB7XG4gICAgICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMyID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gICAgICAgIHZhciBfcmVzb2x2ZWRQcm9wczIgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSA9PT0gdHlwZSA/IF91bnJlc29sdmVkUHJvcHMyIDogcmVzb2x2ZURlZmF1bHRQcm9wcyh0eXBlLCBfdW5yZXNvbHZlZFByb3BzMik7XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZvcndhcmRSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHR5cGUsIF9yZXNvbHZlZFByb3BzMiwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBGcmFnbWVudDpcbiAgICAgIHJldHVybiB1cGRhdGVGcmFnbWVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBNb2RlOlxuICAgICAgcmV0dXJuIHVwZGF0ZU1vZGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICByZXR1cm4gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgcmV0dXJuIHVwZGF0ZUNvbnRleHRQcm92aWRlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBDb250ZXh0Q29uc3VtZXI6XG4gICAgICByZXR1cm4gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfdHlwZTIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFJlc29sdmUgb3V0ZXIgcHJvcHMgZmlyc3QsIHRoZW4gcmVzb2x2ZSBpbm5lciBwcm9wcy5cblxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIsIF91bnJlc29sdmVkUHJvcHMzKTtcblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAgICAgICB2YXIgb3V0ZXJQcm9wVHlwZXMgPSBfdHlwZTIucHJvcFR5cGVzO1xuXG4gICAgICAgICAgICBpZiAob3V0ZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIF9yZXNvbHZlZFByb3BzMywgLy8gUmVzb2x2ZWQgZm9yIG91dGVyIG9ubHlcbiAgICAgICAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoX3R5cGUyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIudHlwZSwgX3Jlc29sdmVkUHJvcHMzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF90eXBlMiwgX3Jlc29sdmVkUHJvcHMzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy50eXBlLCB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX0NvbXBvbmVudDIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczQgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzNCA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50MiA/IF91bnJlc29sdmVkUHJvcHM0IDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50MiwgX3VucmVzb2x2ZWRQcm9wczQpO1xuXG4gICAgICAgIHJldHVybiBtb3VudEluY29tcGxldGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgX0NvbXBvbmVudDIsIF9yZXNvbHZlZFByb3BzNCwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUxpc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU9mZnNjcmVlbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biB1bml0IG9mIHdvcmsgdGFnIChcIiArIHdvcmtJblByb2dyZXNzLnRhZyArIFwiKS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFwiICsgJ1JlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbn1cblxuZnVuY3Rpb24gbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBUYWcgdGhlIGZpYmVyIHdpdGggYW4gdXBkYXRlIGVmZmVjdC4gVGhpcyB0dXJucyBhIFBsYWNlbWVudCBpbnRvXG4gIC8vIGEgUGxhY2VtZW50QW5kVXBkYXRlLlxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG59XG5cbmZ1bmN0aW9uIG1hcmtSZWYkMSh3b3JrSW5Qcm9ncmVzcykge1xuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWY7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFJlZlN0YXRpYztcbiAgfVxufVxuXG52YXIgYXBwZW5kQWxsQ2hpbGRyZW47XG52YXIgdXBkYXRlSG9zdENvbnRhaW5lcjtcbnZhciB1cGRhdGVIb3N0Q29tcG9uZW50JDE7XG52YXIgdXBkYXRlSG9zdFRleHQkMTtcblxue1xuICAvLyBNdXRhdGlvbiBtb2RlXG4gIGFwcGVuZEFsbENoaWxkcmVuID0gZnVuY3Rpb24gKHBhcmVudCwgd29ya0luUHJvZ3Jlc3MsIG5lZWRzVmlzaWJpbGl0eVRvZ2dsZSwgaXNIaWRkZW4pIHtcbiAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBjcmVhdGVkIGJ1dCB3ZSBuZWVkIHJlY3Vyc2UgZG93biBpdHNcbiAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgbm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgICAgIGFwcGVuZEluaXRpYWxDaGlsZChwYXJlbnQsIG5vZGUuc3RhdGVOb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIDsgZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICAgIH1cbiAgfTtcblxuICB1cGRhdGVIb3N0Q29udGFpbmVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7Ly8gTm9vcFxuICB9O1xuXG4gIHVwZGF0ZUhvc3RDb21wb25lbnQkMSA9IGZ1bmN0aW9uIChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgdHlwZSwgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICAgIC8vIElmIHdlIGhhdmUgYW4gYWx0ZXJuYXRlLCB0aGF0IG1lYW5zIHRoaXMgaXMgYW4gdXBkYXRlIGFuZCB3ZSBuZWVkIHRvXG4gICAgLy8gc2NoZWR1bGUgYSBzaWRlLWVmZmVjdCB0byBkbyB0aGUgdXBkYXRlcy5cbiAgICB2YXIgb2xkUHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzKSB7XG4gICAgICAvLyBJbiBtdXRhdGlvbiBtb2RlLCB0aGlzIGlzIHN1ZmZpY2llbnQgZm9yIGEgYmFpbG91dCBiZWNhdXNlXG4gICAgICAvLyB3ZSB3b24ndCB0b3VjaCB0aGlzIG5vZGUgZXZlbiBpZiBjaGlsZHJlbiBjaGFuZ2VkLlxuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgd2UgZ2V0IHVwZGF0ZWQgYmVjYXVzZSBvbmUgb2Ygb3VyIGNoaWxkcmVuIHVwZGF0ZWQsIHdlIGRvbid0XG4gICAgLy8gaGF2ZSBuZXdQcm9wcyBzbyB3ZSdsbCBoYXZlIHRvIHJldXNlIHRoZW0uXG4gICAgLy8gVE9ETzogU3BsaXQgdGhlIHVwZGF0ZSBBUEkgYXMgc2VwYXJhdGUgZm9yIHRoZSBwcm9wcyB2cy4gY2hpbGRyZW4uXG4gICAgLy8gRXZlbiBiZXR0ZXIgd291bGQgYmUgaWYgY2hpbGRyZW4gd2VyZW4ndCBzcGVjaWFsIGNhc2VkIGF0IGFsbCB0aG8uXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICB2YXIgY3VycmVudEhvc3RDb250ZXh0ID0gZ2V0SG9zdENvbnRleHQoKTsgLy8gVE9ETzogRXhwZXJpZW5jaW5nIGFuIGVycm9yIHdoZXJlIG9sZFByb3BzIGlzIG51bGwuIFN1Z2dlc3RzIGEgaG9zdFxuICAgIC8vIGNvbXBvbmVudCBpcyBoaXR0aW5nIHRoZSByZXN1bWUgcGF0aC4gRmlndXJlIG91dCB3aHkuIFBvc3NpYmx5XG4gICAgLy8gcmVsYXRlZCB0byBgaGlkZGVuYC5cblxuICAgIHZhciB1cGRhdGVQYXlsb2FkID0gcHJlcGFyZVVwZGF0ZShpbnN0YW5jZSwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCk7IC8vIFRPRE86IFR5cGUgdGhpcyBzcGVjaWZpYyB0byB0aGlzIHR5cGUgb2YgY29tcG9uZW50LlxuXG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSB1cGRhdGVQYXlsb2FkOyAvLyBJZiB0aGUgdXBkYXRlIHBheWxvYWQgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSBjaGFuZ2Ugb3IgaWYgdGhlcmVcbiAgICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS4gQWxsIHRoZSB3b3JrIGlzIGRvbmUgaW4gY29tbWl0V29yay5cblxuICAgIGlmICh1cGRhdGVQYXlsb2FkKSB7XG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH07XG5cbiAgdXBkYXRlSG9zdFRleHQkMSA9IGZ1bmN0aW9uIChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgb2xkVGV4dCwgbmV3VGV4dCkge1xuICAgIC8vIElmIHRoZSB0ZXh0IGRpZmZlcnMsIG1hcmsgaXQgYXMgYW4gdXBkYXRlLiBBbGwgdGhlIHdvcmsgaW4gZG9uZSBpbiBjb21taXRXb3JrLlxuICAgIGlmIChvbGRUZXh0ICE9PSBuZXdUZXh0KSB7XG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgaGFzUmVuZGVyZWRBVGFpbEZhbGxiYWNrKSB7XG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgLy8gSWYgd2UncmUgaHlkcmF0aW5nLCB3ZSBzaG91bGQgY29uc3VtZSBhcyBtYW55IGl0ZW1zIGFzIHdlIGNhblxuICAgIC8vIHNvIHdlIGRvbid0IGxlYXZlIGFueSBiZWhpbmQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3dpdGNoIChyZW5kZXJTdGF0ZS50YWlsTW9kZSkge1xuICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgdGFpbE5vZGUgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICB2YXIgbGFzdFRhaWxOb2RlID0gbnVsbDtcblxuICAgICAgICB3aGlsZSAodGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAodGFpbE5vZGUuYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsYXN0VGFpbE5vZGUgPSB0YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWlsTm9kZSA9IHRhaWxOb2RlLnNpYmxpbmc7XG4gICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBzaW1wbHkgZ29pbmcgdG8gZGVsZXRlIGFsbCBpbnNlcnRpb25zIGFmdGVyIHRoZVxuICAgICAgICAvLyBsYXN0IHJlbmRlcmVkIGl0ZW0uXG5cblxuICAgICAgICBpZiAobGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcbiAgICAgICAgICAvLyBpbnNlcnRlZC5cbiAgICAgICAgICBsYXN0VGFpbE5vZGUuc2libGluZyA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2NvbGxhcHNlZCc6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgX3RhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcbiAgICAgICAgdmFyIF9sYXN0VGFpbE5vZGUgPSBudWxsO1xuXG4gICAgICAgIHdoaWxlIChfdGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAoX3RhaWxOb2RlLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX2xhc3RUYWlsTm9kZSA9IF90YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfdGFpbE5vZGUgPSBfdGFpbE5vZGUuc2libGluZztcbiAgICAgICAgfSAvLyBOZXh0IHdlJ3JlIHNpbXBseSBnb2luZyB0byBkZWxldGUgYWxsIGluc2VydGlvbnMgYWZ0ZXIgdGhlXG4gICAgICAgIC8vIGxhc3QgcmVuZGVyZWQgaXRlbS5cblxuXG4gICAgICAgIGlmIChfbGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICBpZiAoIWhhc1JlbmRlcmVkQVRhaWxGYWxsYmFjayAmJiByZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBXZSBzdXNwZW5kZWQgZHVyaW5nIHRoZSBoZWFkLiBXZSB3YW50IHRvIHNob3cgYXQgbGVhc3Qgb25lXG4gICAgICAgICAgICAvLyByb3cgYXQgdGhlIHRhaWwuIFNvIHdlJ2xsIGtlZXAgb24gYW5kIGN1dCBvZmYgdGhlIHJlc3QuXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRGV0YWNoIHRoZSBpbnNlcnRpb24gYWZ0ZXIgdGhlIGxhc3Qgbm9kZSB0aGF0IHdhcyBhbHJlYWR5XG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXG4gICAgICAgICAgX2xhc3RUYWlsTm9kZS5zaWJsaW5nID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGJ1YmJsZVByb3BlcnRpZXMoY29tcGxldGVkV29yaykge1xuICB2YXIgZGlkQmFpbG91dCA9IGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlICE9PSBudWxsICYmIGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlLmNoaWxkID09PSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuICB2YXIgbmV3Q2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gIHZhciBzdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzO1xuXG4gIGlmICghZGlkQmFpbG91dCkge1xuICAgIC8vIEJ1YmJsZSB1cCB0aGUgZWFybGllc3QgZXhwaXJhdGlvbiB0aW1lLlxuICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAvLyBJbiBwcm9maWxpbmcgbW9kZSwgcmVzZXRDaGlsZEV4cGlyYXRpb25UaW1lIGlzIGFsc28gdXNlZCB0byByZXNldFxuICAgICAgLy8gcHJvZmlsZXIgZHVyYXRpb25zLlxuICAgICAgdmFyIGFjdHVhbER1cmF0aW9uID0gY29tcGxldGVkV29yay5hY3R1YWxEdXJhdGlvbjtcbiAgICAgIHZhciB0cmVlQmFzZUR1cmF0aW9uID0gY29tcGxldGVkV29yay5zZWxmQmFzZUR1cmF0aW9uO1xuICAgICAgdmFyIGNoaWxkID0gY29tcGxldGVkV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5ld0NoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5ld0NoaWxkTGFuZXMsIG1lcmdlTGFuZXMoY2hpbGQubGFuZXMsIGNoaWxkLmNoaWxkTGFuZXMpKTtcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IGNoaWxkLnN1YnRyZWVGbGFncztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IGNoaWxkLmZsYWdzOyAvLyBXaGVuIGEgZmliZXIgaXMgY2xvbmVkLCBpdHMgYWN0dWFsRHVyYXRpb24gaXMgcmVzZXQgdG8gMC4gVGhpcyB2YWx1ZSB3aWxsXG4gICAgICAgIC8vIG9ubHkgYmUgdXBkYXRlZCBpZiB3b3JrIGlzIGRvbmUgb24gdGhlIGZpYmVyIChpLmUuIGl0IGRvZXNuJ3QgYmFpbG91dCkuXG4gICAgICAgIC8vIFdoZW4gd29yayBpcyBkb25lLCBpdCBzaG91bGQgYnViYmxlIHRvIHRoZSBwYXJlbnQncyBhY3R1YWxEdXJhdGlvbi4gSWZcbiAgICAgICAgLy8gdGhlIGZpYmVyIGhhcyBub3QgYmVlbiBjbG9uZWQgdGhvdWdoLCAobWVhbmluZyBubyB3b3JrIHdhcyBkb25lKSwgdGhlblxuICAgICAgICAvLyB0aGlzIHZhbHVlIHdpbGwgcmVmbGVjdCB0aGUgYW1vdW50IG9mIHRpbWUgc3BlbnQgd29ya2luZyBvbiBhIHByZXZpb3VzXG4gICAgICAgIC8vIHJlbmRlci4gSW4gdGhhdCBjYXNlIGl0IHNob3VsZCBub3QgYnViYmxlLiBXZSBkZXRlcm1pbmUgd2hldGhlciBpdCB3YXNcbiAgICAgICAgLy8gY2xvbmVkIGJ5IGNvbXBhcmluZyB0aGUgY2hpbGQgcG9pbnRlci5cblxuICAgICAgICBhY3R1YWxEdXJhdGlvbiArPSBjaGlsZC5hY3R1YWxEdXJhdGlvbjtcbiAgICAgICAgdHJlZUJhc2VEdXJhdGlvbiArPSBjaGlsZC50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIGNvbXBsZXRlZFdvcmsudHJlZUJhc2VEdXJhdGlvbiA9IHRyZWVCYXNlRHVyYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5ld0NoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5ld0NoaWxkTGFuZXMsIG1lcmdlTGFuZXMoX2NoaWxkLmxhbmVzLCBfY2hpbGQuY2hpbGRMYW5lcykpO1xuICAgICAgICBzdWJ0cmVlRmxhZ3MgfD0gX2NoaWxkLnN1YnRyZWVGbGFncztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZC5mbGFnczsgLy8gVXBkYXRlIHRoZSByZXR1cm4gcG9pbnRlciBzbyB0aGUgdHJlZSBpcyBjb25zaXN0ZW50LiBUaGlzIGlzIGEgY29kZVxuICAgICAgICAvLyBzbWVsbCBiZWNhdXNlIGl0IGFzc3VtZXMgdGhlIGNvbW1pdCBwaGFzZSBpcyBuZXZlciBjb25jdXJyZW50IHdpdGhcbiAgICAgICAgLy8gdGhlIHJlbmRlciBwaGFzZS4gV2lsbCBhZGRyZXNzIGR1cmluZyByZWZhY3RvciB0byBhbHRlcm5hdGUgbW9kZWwuXG5cbiAgICAgICAgX2NoaWxkLnJldHVybiA9IGNvbXBsZXRlZFdvcms7XG4gICAgICAgIF9jaGlsZCA9IF9jaGlsZC5zaWJsaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBsZXRlZFdvcmsuc3VidHJlZUZsYWdzIHw9IHN1YnRyZWVGbGFncztcbiAgfSBlbHNlIHtcbiAgICAvLyBCdWJibGUgdXAgdGhlIGVhcmxpZXN0IGV4cGlyYXRpb24gdGltZS5cbiAgICBpZiAoIChjb21wbGV0ZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgLy8gSW4gcHJvZmlsaW5nIG1vZGUsIHJlc2V0Q2hpbGRFeHBpcmF0aW9uVGltZSBpcyBhbHNvIHVzZWQgdG8gcmVzZXRcbiAgICAgIC8vIHByb2ZpbGVyIGR1cmF0aW9ucy5cbiAgICAgIHZhciBfdHJlZUJhc2VEdXJhdGlvbiA9IGNvbXBsZXRlZFdvcmsuc2VsZkJhc2VEdXJhdGlvbjtcbiAgICAgIHZhciBfY2hpbGQyID0gY29tcGxldGVkV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKF9jaGlsZDIgIT09IG51bGwpIHtcbiAgICAgICAgbmV3Q2hpbGRMYW5lcyA9IG1lcmdlTGFuZXMobmV3Q2hpbGRMYW5lcywgbWVyZ2VMYW5lcyhfY2hpbGQyLmxhbmVzLCBfY2hpbGQyLmNoaWxkTGFuZXMpKTsgLy8gXCJTdGF0aWNcIiBmbGFncyBzaGFyZSB0aGUgbGlmZXRpbWUgb2YgdGhlIGZpYmVyL2hvb2sgdGhleSBiZWxvbmcgdG8sXG4gICAgICAgIC8vIHNvIHdlIHNob3VsZCBidWJibGUgdGhvc2UgdXAgZXZlbiBkdXJpbmcgYSBiYWlsb3V0LiBBbGwgdGhlIG90aGVyXG4gICAgICAgIC8vIGZsYWdzIGhhdmUgYSBsaWZldGltZSBvbmx5IG9mIGEgc2luZ2xlIHJlbmRlciArIGNvbW1pdCwgc28gd2Ugc2hvdWxkXG4gICAgICAgIC8vIGlnbm9yZSB0aGVtLlxuXG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQyLnN1YnRyZWVGbGFncyAmIFN0YXRpY01hc2s7XG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQyLmZsYWdzICYgU3RhdGljTWFzaztcbiAgICAgICAgX3RyZWVCYXNlRHVyYXRpb24gKz0gX2NoaWxkMi50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICBfY2hpbGQyID0gX2NoaWxkMi5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICBjb21wbGV0ZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24gPSBfdHJlZUJhc2VEdXJhdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIF9jaGlsZDMgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkMyAhPT0gbnVsbCkge1xuICAgICAgICBuZXdDaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhuZXdDaGlsZExhbmVzLCBtZXJnZUxhbmVzKF9jaGlsZDMubGFuZXMsIF9jaGlsZDMuY2hpbGRMYW5lcykpOyAvLyBcIlN0YXRpY1wiIGZsYWdzIHNoYXJlIHRoZSBsaWZldGltZSBvZiB0aGUgZmliZXIvaG9vayB0aGV5IGJlbG9uZyB0byxcbiAgICAgICAgLy8gc28gd2Ugc2hvdWxkIGJ1YmJsZSB0aG9zZSB1cCBldmVuIGR1cmluZyBhIGJhaWxvdXQuIEFsbCB0aGUgb3RoZXJcbiAgICAgICAgLy8gZmxhZ3MgaGF2ZSBhIGxpZmV0aW1lIG9ubHkgb2YgYSBzaW5nbGUgcmVuZGVyICsgY29tbWl0LCBzbyB3ZSBzaG91bGRcbiAgICAgICAgLy8gaWdub3JlIHRoZW0uXG5cbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDMuc3VidHJlZUZsYWdzICYgU3RhdGljTWFzaztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDMuZmxhZ3MgJiBTdGF0aWNNYXNrOyAvLyBVcGRhdGUgdGhlIHJldHVybiBwb2ludGVyIHNvIHRoZSB0cmVlIGlzIGNvbnNpc3RlbnQuIFRoaXMgaXMgYSBjb2RlXG4gICAgICAgIC8vIHNtZWxsIGJlY2F1c2UgaXQgYXNzdW1lcyB0aGUgY29tbWl0IHBoYXNlIGlzIG5ldmVyIGNvbmN1cnJlbnQgd2l0aFxuICAgICAgICAvLyB0aGUgcmVuZGVyIHBoYXNlLiBXaWxsIGFkZHJlc3MgZHVyaW5nIHJlZmFjdG9yIHRvIGFsdGVybmF0ZSBtb2RlbC5cblxuICAgICAgICBfY2hpbGQzLnJldHVybiA9IGNvbXBsZXRlZFdvcms7XG4gICAgICAgIF9jaGlsZDMgPSBfY2hpbGQzLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcGxldGVkV29yay5zdWJ0cmVlRmxhZ3MgfD0gc3VidHJlZUZsYWdzO1xuICB9XG5cbiAgY29tcGxldGVkV29yay5jaGlsZExhbmVzID0gbmV3Q2hpbGRMYW5lcztcbiAgcmV0dXJuIGRpZEJhaWxvdXQ7XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlRGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRTdGF0ZSkge1xuICBpZiAoaGFzVW5oeWRyYXRlZFRhaWxOb2RlcygpICYmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUgJiYgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MpIHtcbiAgICB3YXJuSWZVbmh5ZHJhdGVkVGFpbE5vZGVzKHdvcmtJblByb2dyZXNzKTtcbiAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRm9yY2VDbGllbnRSZW5kZXIgfCBJbmNvbXBsZXRlIHwgU2hvdWxkQ2FwdHVyZTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgaWYgKG5leHRTdGF0ZSAhPT0gbnVsbCAmJiBuZXh0U3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkge1xuICAgIC8vIFdlIG1pZ2h0IGJlIGluc2lkZSBhIGh5ZHJhdGlvbiBzdGF0ZSB0aGUgZmlyc3QgdGltZSB3ZSdyZSBwaWNraW5nIHVwIHRoaXNcbiAgICAvLyBTdXNwZW5zZSBib3VuZGFyeSwgYW5kIGFsc28gYWZ0ZXIgd2UndmUgcmVlbnRlcmVkIGl0IGZvciBmdXJ0aGVyIGh5ZHJhdGlvbi5cbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgaWYgKCF3YXNIeWRyYXRlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0EgZGVoeWRyYXRlZCBzdXNwZW5zZSBjb21wb25lbnQgd2FzIGNvbXBsZXRlZCB3aXRob3V0IGEgaHlkcmF0ZWQgbm9kZS4gJyArICdUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuXG4gICAgICBwcmVwYXJlVG9IeWRyYXRlSG9zdFN1c3BlbnNlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICB2YXIgaXNUaW1lZE91dFN1c3BlbnNlID0gbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgICAgaWYgKGlzVGltZWRPdXRTdXNwZW5zZSkge1xuICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGltZSBzcGVudCBpbiBhIHRpbWVkIG91dCBTdXNwZW5zZSBzdWJ0cmVlIGFzIHBhcnQgb2YgdGhlIGJhc2UgZHVyYXRpb24uXG4gICAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgICAgaWYgKHByaW1hcnlDaGlsZEZyYWdtZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IHN1cHBvcnQgdHlwZSBjYXN0aW5nIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIC09IG9wZXJhdG9yXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSBtaWdodCBoYXZlIHJlZW50ZXJlZCB0aGlzIGJvdW5kYXJ5IHRvIGh5ZHJhdGUgaXQuIElmIHNvLCB3ZSBuZWVkIHRvIHJlc2V0IHRoZSBoeWRyYXRpb25cbiAgICAgIC8vIHN0YXRlIHNpbmNlIHdlJ3JlIG5vdyBleGl0aW5nIG91dCBvZiBpdC4gcG9wSHlkcmF0aW9uU3RhdGUgZG9lc24ndCBkbyB0aGF0IGZvciB1cy5cbiAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcblxuICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzKSB7XG4gICAgICAgIC8vIFRoaXMgYm91bmRhcnkgZGlkIG5vdCBzdXNwZW5kIHNvIGl0J3Mgbm93IGh5ZHJhdGVkIGFuZCB1bnN1c3BlbmRlZC5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgICB9IC8vIElmIG5vdGhpbmcgc3VzcGVuZGVkLCB3ZSBuZWVkIHRvIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBtYXJrIHRoaXMgYm91bmRhcnlcbiAgICAgIC8vIGFzIGhhdmluZyBoeWRyYXRlZCBzbyBldmVudHMga25vdyB0aGF0IHRoZXkncmUgZnJlZSB0byBiZSBpbnZva2VkLlxuICAgICAgLy8gSXQncyBhbHNvIGEgc2lnbmFsIHRvIHJlcGxheSBldmVudHMgYW5kIHRoZSBzdXNwZW5zZSBjYWxsYmFjay5cbiAgICAgIC8vIElmIHNvbWV0aGluZyBzdXNwZW5kZWQsIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBhdHRhY2ggcmV0cnkgbGlzdGVuZXJzLlxuICAgICAgLy8gU28gd2UgbWlnaHQgYXMgd2VsbCBhbHdheXMgbWFyayB0aGlzLlxuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICB7XG4gICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgdmFyIF9pc1RpbWVkT3V0U3VzcGVuc2UgPSBuZXh0U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAoX2lzVGltZWRPdXRTdXNwZW5zZSkge1xuICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGltZSBzcGVudCBpbiBhIHRpbWVkIG91dCBTdXNwZW5zZSBzdWJ0cmVlIGFzIHBhcnQgb2YgdGhlIGJhc2UgZHVyYXRpb24uXG4gICAgICAgICAgICB2YXIgX3ByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgICAgIGlmIChfcHJpbWFyeUNoaWxkRnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gJEZsb3dGaXhNZSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCB0eXBlIGNhc3RpbmcgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgLT0gb3BlcmF0b3JcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiAtPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBTdWNjZXNzZnVsbHkgY29tcGxldGVkIHRoaXMgdHJlZS4gSWYgdGhpcyB3YXMgYSBmb3JjZWQgY2xpZW50IHJlbmRlcixcbiAgICAvLyB0aGVyZSBtYXkgaGF2ZSBiZWVuIHJlY292ZXJhYmxlIGVycm9ycyBkdXJpbmcgZmlyc3QgaHlkcmF0aW9uXG4gICAgLy8gYXR0ZW1wdC4gSWYgc28sIGFkZCB0aGVtIHRvIGEgcXVldWUgc28gd2UgY2FuIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cbiAgICB1cGdyYWRlSHlkcmF0aW9uRXJyb3JzVG9SZWNvdmVyYWJsZSgpOyAvLyBGYWxsIHRocm91Z2ggdG8gbm9ybWFsIFN1c3BlbnNlIHBhdGhcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzOyAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cblxuICBwb3BUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIEZyYWdtZW50OlxuICAgIGNhc2UgTW9kZTpcbiAgICBjYXNlIFByb2ZpbGVyOlxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgIHBvcENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIGZpYmVyUm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJlc2V0V29ya0luUHJvZ3Jlc3NWZXJzaW9ucygpO1xuXG4gICAgICAgIGlmIChmaWJlclJvb3QucGVuZGluZ0NvbnRleHQpIHtcbiAgICAgICAgICBmaWJlclJvb3QuY29udGV4dCA9IGZpYmVyUm9vdC5wZW5kaW5nQ29udGV4dDtcbiAgICAgICAgICBmaWJlclJvb3QucGVuZGluZ0NvbnRleHQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5jaGlsZCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCBwb3Agc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGFueSByZW1haW5pbmcgY2hpbGRyZW5cbiAgICAgICAgICAvLyB0aGF0IHdlcmVuJ3QgaHlkcmF0ZWQuXG4gICAgICAgICAgdmFyIHdhc0h5ZHJhdGVkID0gcG9wSHlkcmF0aW9uU3RhdGUod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgaWYgKHdhc0h5ZHJhdGVkKSB7XG4gICAgICAgICAgICAvLyBJZiB3ZSBoeWRyYXRlZCwgdGhlbiB3ZSdsbCBuZWVkIHRvIHNjaGVkdWxlIGFuIHVwZGF0ZSBmb3JcbiAgICAgICAgICAgIC8vIHRoZSBjb21taXQgc2lkZS1lZmZlY3RzIG9uIHRoZSByb290LlxuICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgICAgICAgaWYgKCAvLyBDaGVjayBpZiB0aGlzIGlzIGEgY2xpZW50IHJvb3RcbiAgICAgICAgICAgICAgIXByZXZTdGF0ZS5pc0RlaHlkcmF0ZWQgfHwgLy8gQ2hlY2sgaWYgd2UgcmV2ZXJ0ZWQgdG8gY2xpZW50IHJlbmRlcmluZyAoZS5nLiBkdWUgdG8gYW4gZXJyb3IpXG4gICAgICAgICAgICAgICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICAgIC8vIFNjaGVkdWxlIGFuIGVmZmVjdCB0byBjbGVhciB0aGlzIGNvbnRhaW5lciBhdCB0aGUgc3RhcnQgb2YgdGhlXG4gICAgICAgICAgICAgICAgLy8gbmV4dCBjb21taXQuIFRoaXMgaGFuZGxlcyB0aGUgY2FzZSBvZiBSZWFjdCByZW5kZXJpbmcgaW50byBhXG4gICAgICAgICAgICAgICAgLy8gY29udGFpbmVyIHdpdGggcHJldmlvdXMgY2hpbGRyZW4uIEl0J3MgYWxzbyBzYWZlIHRvIGRvIGZvclxuICAgICAgICAgICAgICAgIC8vIHVwZGF0ZXMgdG9vLCBiZWNhdXNlIGN1cnJlbnQuY2hpbGQgd291bGQgb25seSBiZSBudWxsIGlmIHRoZVxuICAgICAgICAgICAgICAgIC8vIHByZXZpb3VzIHJlbmRlciB3YXMgbnVsbCAoc28gdGhlIGNvbnRhaW5lciB3b3VsZCBhbHJlYWR5XG4gICAgICAgICAgICAgICAgLy8gYmUgZW1wdHkpLlxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNuYXBzaG90OyAvLyBJZiB0aGlzIHdhcyBhIGZvcmNlZCBjbGllbnQgcmVuZGVyLCB0aGVyZSBtYXkgaGF2ZSBiZWVuXG4gICAgICAgICAgICAgICAgLy8gcmVjb3ZlcmFibGUgZXJyb3JzIGR1cmluZyBmaXJzdCBoeWRyYXRpb24gYXR0ZW1wdC4gSWYgc28sIGFkZFxuICAgICAgICAgICAgICAgIC8vIHRoZW0gdG8gYSBxdWV1ZSBzbyB3ZSBjYW4gbG9nIHRoZW0gaW4gdGhlIGNvbW1pdCBwaGFzZS5cblxuICAgICAgICAgICAgICAgIHVwZ3JhZGVIeWRyYXRpb25FcnJvcnNUb1JlY292ZXJhYmxlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgdmFyIHJvb3RDb250YWluZXJJbnN0YW5jZSA9IGdldFJvb3RIb3N0Q29udGFpbmVyKCk7XG4gICAgICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHVwZGF0ZUhvc3RDb21wb25lbnQkMShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgdHlwZSwgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSk7XG5cbiAgICAgICAgICBpZiAoY3VycmVudC5yZWYgIT09IHdvcmtJblByb2dyZXNzLnJlZikge1xuICAgICAgICAgICAgbWFya1JlZiQxKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFuZXdQcm9wcykge1xuICAgICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dlIG11c3QgaGF2ZSBuZXcgcHJvcHMgZm9yIG5ldyBtb3VudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5ICcgKyAnY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgYWJvcnQgd29yay5cblxuXG4gICAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBjdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpOyAvLyBUT0RPOiBNb3ZlIGNyZWF0ZUluc3RhbmNlIHRvIGJlZ2luV29yayBhbmQga2VlcCBpdCBvbiBhIGNvbnRleHRcbiAgICAgICAgICAvLyBcInN0YWNrXCIgYXMgdGhlIHBhcmVudC4gVGhlbiBhcHBlbmQgY2hpbGRyZW4gYXMgd2UgZ28gaW4gYmVnaW5Xb3JrXG4gICAgICAgICAgLy8gb3IgY29tcGxldGVXb3JrIGRlcGVuZGluZyBvbiB3aGV0aGVyIHdlIHdhbnQgdG8gYWRkIHRoZW0gdG9wLT5kb3duIG9yXG4gICAgICAgICAgLy8gYm90dG9tLT51cC4gVG9wLT5kb3duIGlzIGZhc3RlciBpbiBJRTExLlxuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZCA9IHBvcEh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgICAgIGlmIChfd2FzSHlkcmF0ZWQpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBhbmQgY3JlYXRlSW5zdGFuY2Ugc3RlcCBpbnRvIHRoZSBiZWdpblBoYXNlXG4gICAgICAgICAgICAvLyB0byBjb25zb2xpZGF0ZS5cbiAgICAgICAgICAgIGlmIChwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKHdvcmtJblByb2dyZXNzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCkpIHtcbiAgICAgICAgICAgICAgLy8gSWYgY2hhbmdlcyB0byB0aGUgaHlkcmF0ZWQgbm9kZSBuZWVkIHRvIGJlIGFwcGxpZWQgYXQgdGhlXG4gICAgICAgICAgICAgIC8vIGNvbW1pdC1waGFzZSB3ZSBtYXJrIHRoaXMgYXMgc3VjaC5cbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgYXBwZW5kQWxsQ2hpbGRyZW4oaW5zdGFuY2UsIHdvcmtJblByb2dyZXNzLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gaW5zdGFuY2U7IC8vIENlcnRhaW4gcmVuZGVyZXJzIHJlcXVpcmUgY29tbWl0LXRpbWUgZWZmZWN0cyBmb3IgaW5pdGlhbCBtb3VudC5cbiAgICAgICAgICAgIC8vIChlZyBET00gcmVuZGVyZXIgc3VwcG9ydHMgYXV0by1mb2N1cyBmb3IgY2VydGFpbiBlbGVtZW50cykuXG4gICAgICAgICAgICAvLyBNYWtlIHN1cmUgc3VjaCByZW5kZXJlcnMgZ2V0IHNjaGVkdWxlZCBmb3IgbGF0ZXIgd29yay5cblxuICAgICAgICAgICAgaWYgKGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGluc3RhbmNlLCB0eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKSkge1xuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MucmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHJlZiBvbiBhIGhvc3Qgbm9kZSB3ZSBuZWVkIHRvIHNjaGVkdWxlIGEgY2FsbGJhY2tcbiAgICAgICAgICAgIG1hcmtSZWYkMSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIG5ld1RleHQgPSBuZXdQcm9wcztcblxuICAgICAgICBpZiAoY3VycmVudCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudC5tZW1vaXplZFByb3BzOyAvLyBJZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSwgdGhhdCBtZWFucyB0aGlzIGlzIGFuIHVwZGF0ZSBhbmQgd2UgbmVlZFxuICAgICAgICAgIC8vIHRvIHNjaGVkdWxlIGEgc2lkZS1lZmZlY3QgdG8gZG8gdGhlIHVwZGF0ZXMuXG5cbiAgICAgICAgICB1cGRhdGVIb3N0VGV4dCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBvbGRUZXh0LCBuZXdUZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5ld1RleHQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignV2UgbXVzdCBoYXZlIG5ldyBwcm9wcyBmb3IgbmV3IG1vdW50cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgJyArICdjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgICAgfSAvLyBUaGlzIGNhbiBoYXBwZW4gd2hlbiB3ZSBhYm9ydCB3b3JrLlxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9yb290Q29udGFpbmVySW5zdGFuY2UgPSBnZXRSb290SG9zdENvbnRhaW5lcigpO1xuXG4gICAgICAgICAgdmFyIF9jdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpO1xuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZDIgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgICBpZiAoX3dhc0h5ZHJhdGVkMikge1xuICAgICAgICAgICAgaWYgKHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3JlYXRlVGV4dEluc3RhbmNlKG5ld1RleHQsIF9yb290Q29udGFpbmVySW5zdGFuY2UsIF9jdXJyZW50SG9zdENvbnRleHQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTsgLy8gU3BlY2lhbCBwYXRoIGZvciBkZWh5ZHJhdGVkIGJvdW5kYXJpZXMuIFdlIG1heSBldmVudHVhbGx5IG1vdmUgdGhpc1xuICAgICAgICAvLyB0byBpdHMgb3duIGZpYmVyIHR5cGUgc28gdGhhdCB3ZSBjYW4gYWRkIG90aGVyIGtpbmRzIG9mIGh5ZHJhdGlvblxuICAgICAgICAvLyBib3VuZGFyaWVzIHRoYXQgYXJlbid0IGFzc29jaWF0ZWQgd2l0aCBhIFN1c3BlbnNlIHRyZWUuIEluIGFudGljaXBhdGlvblxuICAgICAgICAvLyBvZiBzdWNoIGEgcmVmYWN0b3IsIGFsbCB0aGUgaHlkcmF0aW9uIGxvZ2ljIGlzIGNvbnRhaW5lZCBpblxuICAgICAgICAvLyB0aGlzIGJyYW5jaC5cblxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgZmFsbHRocm91Z2hUb05vcm1hbFN1c3BlbnNlUGF0aCA9IGNvbXBsZXRlRGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRTdGF0ZSk7XG5cbiAgICAgICAgICBpZiAoIWZhbGx0aHJvdWdoVG9Ob3JtYWxTdXNwZW5zZVBhdGgpIHtcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIFNob3VsZENhcHR1cmUpIHtcbiAgICAgICAgICAgICAgLy8gU3BlY2lhbCBjYXNlLiBUaGVyZSB3ZXJlIHJlbWFpbmluZyB1bmh5ZHJhdGVkIG5vZGVzLiBXZSB0cmVhdFxuICAgICAgICAgICAgICAvLyB0aGlzIGFzIGEgbWlzbWF0Y2guIFJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLlxuICAgICAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBEaWQgbm90IGZpbmlzaCBoeWRyYXRpbmcsIGVpdGhlciBiZWNhdXNlIHRoaXMgaXMgdGhlIGluaXRpYWxcbiAgICAgICAgICAgICAgLy8gcmVuZGVyIG9yIGJlY2F1c2Ugc29tZXRoaW5nIHN1c3BlbmRlZC5cbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBDb250aW51ZSB3aXRoIHRoZSBub3JtYWwgU3VzcGVuc2UgcGF0aC5cblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgLy8gU29tZXRoaW5nIHN1c3BlbmRlZC4gUmUtcmVuZGVyIHdpdGggdGhlIGZhbGxiYWNrIGNoaWxkcmVuLlxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gcmVuZGVyTGFuZXM7IC8vIERvIG5vdCByZXNldCB0aGUgZWZmZWN0IGxpc3QuXG5cbiAgICAgICAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAgIHRyYW5zZmVyQWN0dWFsRHVyYXRpb24od29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgIH0gLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgaW4gdGhpcyBjYXNlLlxuXG5cbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbmV4dERpZFRpbWVvdXQgPSBuZXh0U3RhdGUgIT09IG51bGw7XG4gICAgICAgIHZhciBwcmV2RGlkVGltZW91dCA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuICAgICAgICAvLyBhIHBhc3NpdmUgZWZmZWN0LCB3aGljaCBpcyB3aGVuIHdlIHByb2Nlc3MgdGhlIHRyYW5zaXRpb25zXG5cblxuICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQgIT09IHByZXZEaWRUaW1lb3V0KSB7XG4gICAgICAgICAgLy8gYW4gZWZmZWN0IHRvIHRvZ2dsZSB0aGUgc3VidHJlZSdzIHZpc2liaWxpdHkuIFdoZW4gd2Ugc3dpdGNoIGZyb21cbiAgICAgICAgICAvLyBmYWxsYmFjayAtPiBwcmltYXJ5LCB0aGUgaW5uZXIgT2Zmc2NyZWVuIGZpYmVyIHNjaGVkdWxlcyB0aGlzIGVmZmVjdFxuICAgICAgICAgIC8vIGFzIHBhcnQgb2YgaXRzIG5vcm1hbCBjb21wbGV0ZSBwaGFzZS4gQnV0IHdoZW4gd2Ugc3dpdGNoIGZyb21cbiAgICAgICAgICAvLyBwcmltYXJ5IC0+IGZhbGxiYWNrLCB0aGUgaW5uZXIgT2Zmc2NyZWVuIGZpYmVyIGRvZXMgbm90IGhhdmUgYSBjb21wbGV0ZVxuICAgICAgICAgIC8vIHBoYXNlLiBTbyB3ZSBuZWVkIHRvIHNjaGVkdWxlIGl0cyBlZmZlY3QgaGVyZS5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFdlIGFsc28gdXNlIHRoaXMgZmxhZyB0byBjb25uZWN0L2Rpc2Nvbm5lY3QgdGhlIGVmZmVjdHMsIGJ1dCB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxvZ2ljIGFwcGxpZXM6IHdoZW4gcmUtY29ubmVjdGluZywgdGhlIE9mZnNjcmVlbiBmaWJlcidzIGNvbXBsZXRlXG4gICAgICAgICAgLy8gcGhhc2Ugd2lsbCBoYW5kbGUgc2NoZWR1bGluZyB0aGUgZWZmZWN0LiBJdCdzIG9ubHkgd2hlbiB0aGUgZmFsbGJhY2tcbiAgICAgICAgICAvLyBpcyBhY3RpdmUgdGhhdCB3ZSBoYXZlIHRvIGRvIGFueXRoaW5nIHNwZWNpYWwuXG5cblxuICAgICAgICAgIGlmIChuZXh0RGlkVGltZW91dCkge1xuICAgICAgICAgICAgdmFyIF9vZmZzY3JlZW5GaWJlcjIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIF9vZmZzY3JlZW5GaWJlcjIuZmxhZ3MgfD0gVmlzaWJpbGl0eTsgLy8gVE9ETzogVGhpcyB3aWxsIHN0aWxsIHN1c3BlbmQgYSBzeW5jaHJvbm91cyB0cmVlIGlmIGFueXRoaW5nXG4gICAgICAgICAgICAvLyBpbiB0aGUgY29uY3VycmVudCB0cmVlIGFscmVhZHkgc3VzcGVuZGVkIGR1cmluZyB0aGlzIHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBrbm93biBidWcuXG5cbiAgICAgICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBiYWNrIHRvIHRocm93RXhjZXB0aW9uIGJlY2F1c2UgdGhpcyBpcyB0b28gbGF0ZVxuICAgICAgICAgICAgICAvLyBpZiB0aGlzIGlzIGEgbGFyZ2UgdHJlZSB3aGljaCBpcyBjb21tb24gZm9yIGluaXRpYWwgbG9hZHMuIFdlXG4gICAgICAgICAgICAgIC8vIGRvbid0IGtub3cgaWYgd2Ugc2hvdWxkIHJlc3RhcnQgYSByZW5kZXIgb3Igbm90IHVudGlsIHdlIGdldFxuICAgICAgICAgICAgICAvLyB0aGlzIG1hcmtlciwgYW5kIHRoaXMgaXMgdG9vIGxhdGUuXG4gICAgICAgICAgICAgIC8vIElmIHRoaXMgcmVuZGVyIGFscmVhZHkgaGFkIGEgcGluZyBvciBsb3dlciBwcmkgdXBkYXRlcyxcbiAgICAgICAgICAgICAgLy8gYW5kIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgd2Uga25vdyB3ZSdyZSBnb2luZyB0byBzdXNwZW5kIHdlXG4gICAgICAgICAgICAgIC8vIHNob3VsZCBiZSBhYmxlIHRvIGltbWVkaWF0ZWx5IHJlc3RhcnQgZnJvbSB3aXRoaW4gdGhyb3dFeGNlcHRpb24uXG4gICAgICAgICAgICAgIHZhciBoYXNJbnZpc2libGVDaGlsZENvbnRleHQgPSBjdXJyZW50ID09PSBudWxsICYmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrICE9PSB0cnVlIHx8ICFlbmFibGVTdXNwZW5zZUF2b2lkVGhpc0ZhbGxiYWNrKTtcblxuICAgICAgICAgICAgICBpZiAoaGFzSW52aXNpYmxlQ2hpbGRDb250ZXh0IHx8IGhhc1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQsIEludmlzaWJsZVBhcmVudFN1c3BlbnNlQ29udGV4dCkpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBpbiBhbiBpbnZpc2libGUgdHJlZSBvciBhIG5ldyByZW5kZXIsIHRoZW4gc2hvd2luZ1xuICAgICAgICAgICAgICAgIC8vIHRoaXMgYm91bmRhcnkgaXMgb2suXG4gICAgICAgICAgICAgICAgcmVuZGVyRGlkU3VzcGVuZCgpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgd2UncmUgZ29pbmcgdG8gaGF2ZSB0byBoaWRlIGNvbnRlbnQgc28gd2Ugc2hvdWxkXG4gICAgICAgICAgICAgICAgLy8gc3VzcGVuZCBmb3IgbG9uZ2VyIGlmIHBvc3NpYmxlLlxuICAgICAgICAgICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB3YWtlYWJsZXMgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcblxuICAgICAgICBpZiAod2FrZWFibGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gU2NoZWR1bGUgYW4gZWZmZWN0IHRvIGF0dGFjaCBhIHJldHJ5IGxpc3RlbmVyIHRvIHRoZSBwcm9taXNlLlxuICAgICAgICAgIC8vIFRPRE86IE1vdmUgdG8gcGFzc2l2ZSBwaGFzZVxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgICAgaWYgKG5leHREaWRUaW1lb3V0KSB7XG4gICAgICAgICAgICAgIC8vIERvbid0IGNvdW50IHRpbWUgc3BlbnQgaW4gYSB0aW1lZCBvdXQgU3VzcGVuc2Ugc3VidHJlZSBhcyBwYXJ0IG9mIHRoZSBiYXNlIGR1cmF0aW9uLlxuICAgICAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgICAgICBpZiAocHJpbWFyeUNoaWxkRnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyAkRmxvd0ZpeE1lIEZsb3cgZG9lc24ndCBzdXBwb3J0IHR5cGUgY2FzdGluZyBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSAtPSBvcGVyYXRvclxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgcHJlcGFyZVBvcnRhbE1vdW50KHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTtcbiAgICAgIH1cblxuICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgLy8gUG9wIHByb3ZpZGVyIGZpYmVyXG4gICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICBwb3BQcm92aWRlcihjb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIFNhbWUgYXMgY2xhc3MgY29tcG9uZW50IGNhc2UuIEkgcHV0IGl0IGRvd24gaGVyZSBzbyB0aGF0IHRoZSB0YWdzIGFyZVxuICAgICAgICAvLyBzZXF1ZW50aWFsIHRvIGVuc3VyZSB0aGlzIHN3aXRjaCBpcyBjb21waWxlZCB0byBhIGp1bXAgdGFibGUuXG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoX0NvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgcmVuZGVyU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgaW4gdGhlIGRlZmF1bHQsIFwiaW5kZXBlbmRlbnRcIiBtb2RlLlxuICAgICAgICAgIC8vIFdlIGRvbid0IGRvIGFueXRoaW5nIGluIHRoaXMgbW9kZS5cbiAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkaWRTdXNwZW5kQWxyZWFkeSA9ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzO1xuICAgICAgICB2YXIgcmVuZGVyZWRUYWlsID0gcmVuZGVyU3RhdGUucmVuZGVyaW5nO1xuXG4gICAgICAgIGlmIChyZW5kZXJlZFRhaWwgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSBqdXN0IHJlbmRlcmVkIHRoZSBoZWFkLlxuICAgICAgICAgIGlmICghZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHBhc3MuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiBhbnl0aGluZyBpcyBzdGlsbFxuICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGluIHRoZSByZW5kZXJlZCBzZXQuXG4gICAgICAgICAgICAvLyBJZiBuZXcgY29udGVudCB1bnN1c3BlbmRlZCwgYnV0IHRoZXJlJ3Mgc3RpbGwgc29tZSBjb250ZW50IHRoYXRcbiAgICAgICAgICAgIC8vIGRpZG4ndC4gVGhlbiB3ZSBuZWVkIHRvIGRvIGEgc2Vjb25kIHBhc3MgdGhhdCBmb3JjZXMgZXZlcnl0aGluZ1xuICAgICAgICAgICAgLy8gdG8ga2VlcCBzaG93aW5nIHRoZWlyIGZhbGxiYWNrcy5cbiAgICAgICAgICAgIC8vIFdlIG1pZ2h0IGJlIHN1c3BlbmRlZCBpZiBzb21ldGhpbmcgaW4gdGhpcyByZW5kZXIgcGFzcyBzdXNwZW5kZWQsIG9yXG4gICAgICAgICAgICAvLyBzb21ldGhpbmcgaW4gdGhlIHByZXZpb3VzIGNvbW1pdHRlZCBwYXNzIHN1c3BlbmRlZC4gT3RoZXJ3aXNlLFxuICAgICAgICAgICAgLy8gdGhlcmUncyBubyBjaGFuY2Ugc28gd2UgY2FuIHNraXAgdGhlIGV4cGVuc2l2ZSBjYWxsIHRvXG4gICAgICAgICAgICAvLyBmaW5kRmlyc3RTdXNwZW5kZWQuXG4gICAgICAgICAgICB2YXIgY2Fubm90QmVTdXNwZW5kZWQgPSByZW5kZXJIYXNOb3RTdXNwZW5kZWRZZXQoKSAmJiAoY3VycmVudCA9PT0gbnVsbCB8fCAoY3VycmVudC5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzKTtcblxuICAgICAgICAgICAgaWYgKCFjYW5ub3RCZVN1c3BlbmRlZCkge1xuICAgICAgICAgICAgICB2YXIgcm93ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgICAgICAgd2hpbGUgKHJvdyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZhciBzdXNwZW5kZWQgPSBmaW5kRmlyc3RTdXNwZW5kZWQocm93KTtcblxuICAgICAgICAgICAgICAgIGlmIChzdXNwZW5kZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gSWYgdGhpcyBpcyBhIG5ld2x5IHN1c3BlbmRlZCB0cmVlLCBpdCBtaWdodCBub3QgZ2V0IGNvbW1pdHRlZCBhc1xuICAgICAgICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgc2Vjb25kIHBhc3MuIEluIHRoYXQgY2FzZSBub3RoaW5nIHdpbGwgc3Vic2NyaWJlIHRvXG4gICAgICAgICAgICAgICAgICAvLyBpdHMgdGhlbmFibGVzLiBJbnN0ZWFkLCB3ZSdsbCB0cmFuc2ZlciBpdHMgdGhlbmFibGVzIHRvIHRoZVxuICAgICAgICAgICAgICAgICAgLy8gU3VzcGVuc2VMaXN0IHNvIHRoYXQgaXQgY2FuIHJldHJ5IGlmIHRoZXkgcmVzb2x2ZS5cbiAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIG9mIHRoZXNlIGluIHRoZSBsaXN0IGJ1dCBzaW5jZSB3ZSdyZVxuICAgICAgICAgICAgICAgICAgLy8gZ29pbmcgdG8gd2FpdCBmb3IgYWxsIG9mIHRoZW0gYW55d2F5LCBpdCBkb2Vzbid0IHJlYWxseSBtYXR0ZXJcbiAgICAgICAgICAgICAgICAgIC8vIHdoaWNoIG9uZXMgZ2V0cyB0byBwaW5nLiBJbiB0aGVvcnkgd2UgY291bGQgZ2V0IGNsZXZlciBhbmQga2VlcFxuICAgICAgICAgICAgICAgICAgLy8gdHJhY2sgb2YgaG93IG1hbnkgZGVwZW5kZW5jaWVzIHJlbWFpbiBidXQgaXQgZ2V0cyB0cmlja3kgYmVjYXVzZVxuICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIG1lYW50aW1lLCB3ZSBjYW4gYWRkL3JlbW92ZS9jaGFuZ2UgaXRlbXMgYW5kIGRlcGVuZGVuY2llcy5cbiAgICAgICAgICAgICAgICAgIC8vIFdlIG1pZ2h0IGJhaWwgb3V0IG9mIHRoZSBsb29wIGJlZm9yZSBmaW5kaW5nIGFueSBidXQgdGhhdFxuICAgICAgICAgICAgICAgICAgLy8gZG9lc24ndCBtYXR0ZXIgc2luY2UgdGhhdCBtZWFucyB0aGF0IHRoZSBvdGhlciBib3VuZGFyaWVzIHRoYXRcbiAgICAgICAgICAgICAgICAgIC8vIHdlIGRpZCBmaW5kIGFscmVhZHkgaGFzIHRoZWlyIGxpc3RlbmVycyBhdHRhY2hlZC5cblxuICAgICAgICAgICAgICAgICAgdmFyIG5ld1RoZW5hYmxlcyA9IHN1c3BlbmRlZC51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgICAgICAgaWYgKG5ld1RoZW5hYmxlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG5ld1RoZW5hYmxlcztcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgICAgICAgICAgICAgfSAvLyBSZXJlbmRlciB0aGUgd2hvbGUgbGlzdCwgYnV0IHRoaXMgdGltZSwgd2UnbGwgZm9yY2UgZmFsbGJhY2tzXG4gICAgICAgICAgICAgICAgICAvLyB0byBzdGF5IGluIHBsYWNlLlxuICAgICAgICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGVmZmVjdCBmbGFncyBiZWZvcmUgZG9pbmcgdGhlIHNlY29uZCBwYXNzIHNpbmNlIHRoYXQncyBub3cgaW52YWxpZC5cbiAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBjaGlsZCBmaWJlcnMgdG8gdGhlaXIgb3JpZ2luYWwgc3RhdGUuXG5cblxuICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICAgICAgICAgICAgICAgIHJlc2V0Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTsgLy8gU2V0IHVwIHRoZSBTdXNwZW5zZSBDb250ZXh0IHRvIGZvcmNlIHN1c3BlbnNlIGFuZCBpbW1lZGlhdGVseVxuICAgICAgICAgICAgICAgICAgLy8gcmVyZW5kZXIgdGhlIGNoaWxkcmVuLlxuXG4gICAgICAgICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKSk7IC8vIERvbid0IGJ1YmJsZSBwcm9wZXJ0aWVzIGluIHRoaXMgY2FzZS5cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsICYmIG5vdygpID4gZ2V0UmVuZGVyVGFyZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICAgIC8vIFdlIGhhdmUgYWxyZWFkeSBwYXNzZWQgb3VyIENQVSBkZWFkbGluZSBidXQgd2Ugc3RpbGwgaGF2ZSByb3dzXG4gICAgICAgICAgICAgIC8vIGxlZnQgaW4gdGhlIHRhaWwuIFdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyIGF0dGVtcHRzIHRvIHJlbmRlclxuICAgICAgICAgICAgICAvLyB0aGUgbWFpbiBjb250ZW50IGFuZCBvbmx5IHJlbmRlciBmYWxsYmFja3MuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBmYWxzZSk7IC8vIFNpbmNlIG5vdGhpbmcgYWN0dWFsbHkgc3VzcGVuZGVkLCB0aGVyZSB3aWxsIG5vdGhpbmcgdG8gcGluZyB0aGlzXG4gICAgICAgICAgICAgIC8vIHRvIGdldCBpdCBzdGFydGVkIGJhY2sgdXAgdG8gYXR0ZW1wdCB0aGUgbmV4dCBpdGVtLiBXaGlsZSBpbiB0ZXJtc1xuICAgICAgICAgICAgICAvLyBvZiBwcmlvcml0eSB0aGlzIHdvcmsgaGFzIHRoZSBzYW1lIHByaW9yaXR5IGFzIHRoaXMgY3VycmVudCByZW5kZXIsXG4gICAgICAgICAgICAgIC8vIGl0J3Mgbm90IHBhcnQgb2YgdGhlIHNhbWUgdHJhbnNpdGlvbiBvbmNlIHRoZSB0cmFuc2l0aW9uIGhhc1xuICAgICAgICAgICAgICAvLyBjb21taXR0ZWQuIElmIGl0J3Mgc3luYywgd2Ugc3RpbGwgd2FudCB0byB5aWVsZCBzbyB0aGF0IGl0IGNhbiBiZVxuICAgICAgICAgICAgICAvLyBwYWludGVkLiBDb25jZXB0dWFsbHksIHRoaXMgaXMgcmVhbGx5IHRoZSBzYW1lIGFzIHBpbmdpbmcuXG4gICAgICAgICAgICAgIC8vIFdlIGNhbiB1c2UgYW55IFJldHJ5TGFuZSBldmVuIGlmIGl0J3MgdGhlIG9uZSBjdXJyZW50bHkgcmVuZGVyaW5nXG4gICAgICAgICAgICAgIC8vIHNpbmNlIHdlJ3JlIGxlYXZpbmcgaXQgYmVoaW5kIG9uIHRoaXMgbm9kZS5cblxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IFNvbWVSZXRyeUxhbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgZmFsc2UpO1xuICAgICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBnb2luZyB0byByZW5kZXIgdGhlIHRhaWwuXG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBcHBlbmQgdGhlIHJlbmRlcmVkIHJvdyB0byB0aGUgY2hpbGQgbGlzdC5cbiAgICAgICAgICBpZiAoIWRpZFN1c3BlbmRBbHJlYWR5KSB7XG4gICAgICAgICAgICB2YXIgX3N1c3BlbmRlZCA9IGZpbmRGaXJzdFN1c3BlbmRlZChyZW5kZXJlZFRhaWwpO1xuXG4gICAgICAgICAgICBpZiAoX3N1c3BlbmRlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgICAgICBkaWRTdXNwZW5kQWxyZWFkeSA9IHRydWU7IC8vIEVuc3VyZSB3ZSB0cmFuc2ZlciB0aGUgdXBkYXRlIHF1ZXVlIHRvIHRoZSBwYXJlbnQgc28gdGhhdCBpdCBkb2Vzbid0XG4gICAgICAgICAgICAgIC8vIGdldCBsb3N0IGlmIHRoaXMgcm93IGVuZHMgdXAgZHJvcHBlZCBkdXJpbmcgYSBzZWNvbmQgcGFzcy5cblxuICAgICAgICAgICAgICB2YXIgX25ld1RoZW5hYmxlcyA9IF9zdXNwZW5kZWQudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICAgICAgaWYgKF9uZXdUaGVuYWJsZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IF9uZXdUaGVuYWJsZXM7XG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCB0cnVlKTsgLy8gVGhpcyBtaWdodCBoYXZlIGJlZW4gbW9kaWZpZWQuXG5cbiAgICAgICAgICAgICAgaWYgKHJlbmRlclN0YXRlLnRhaWwgPT09IG51bGwgJiYgcmVuZGVyU3RhdGUudGFpbE1vZGUgPT09ICdoaWRkZW4nICYmICFyZW5kZXJlZFRhaWwuYWx0ZXJuYXRlICYmICFnZXRJc0h5ZHJhdGluZygpIC8vIFdlIGRvbid0IGN1dCBpdCBpZiB3ZSdyZSBoeWRyYXRpbmcuXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgLy8gV2UncmUgZG9uZS5cbiAgICAgICAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICggLy8gVGhlIHRpbWUgaXQgdG9vayB0byByZW5kZXIgbGFzdCByb3cgaXMgZ3JlYXRlciB0aGFuIHRoZSByZW1haW5pbmdcbiAgICAgICAgICAgIC8vIHRpbWUgd2UgaGF2ZSB0byByZW5kZXIuIFNvIHJlbmRlcmluZyBvbmUgbW9yZSByb3cgd291bGQgbGlrZWx5XG4gICAgICAgICAgICAvLyBleGNlZWQgaXQuXG4gICAgICAgICAgICBub3coKSAqIDIgLSByZW5kZXJTdGF0ZS5yZW5kZXJpbmdTdGFydFRpbWUgPiBnZXRSZW5kZXJUYXJnZXRUaW1lKCkgJiYgcmVuZGVyTGFuZXMgIT09IE9mZnNjcmVlbkxhbmUpIHtcbiAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBub3cgcGFzc2VkIG91ciBDUFUgZGVhZGxpbmUgYW5kIHdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyXG4gICAgICAgICAgICAgIC8vIGF0dGVtcHRzIHRvIHJlbmRlciB0aGUgbWFpbiBjb250ZW50IGFuZCBvbmx5IHJlbmRlciBmYWxsYmFja3MuXG4gICAgICAgICAgICAgIC8vIFRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgdGhpcyBpcyB1c3VhbGx5IGZhc3Rlci5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlO1xuICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gU2luY2Ugbm90aGluZyBhY3R1YWxseSBzdXNwZW5kZWQsIHRoZXJlIHdpbGwgbm90aGluZyB0byBwaW5nIHRoaXNcbiAgICAgICAgICAgICAgLy8gdG8gZ2V0IGl0IHN0YXJ0ZWQgYmFjayB1cCB0byBhdHRlbXB0IHRoZSBuZXh0IGl0ZW0uIFdoaWxlIGluIHRlcm1zXG4gICAgICAgICAgICAgIC8vIG9mIHByaW9yaXR5IHRoaXMgd29yayBoYXMgdGhlIHNhbWUgcHJpb3JpdHkgYXMgdGhpcyBjdXJyZW50IHJlbmRlcixcbiAgICAgICAgICAgICAgLy8gaXQncyBub3QgcGFydCBvZiB0aGUgc2FtZSB0cmFuc2l0aW9uIG9uY2UgdGhlIHRyYW5zaXRpb24gaGFzXG4gICAgICAgICAgICAgIC8vIGNvbW1pdHRlZC4gSWYgaXQncyBzeW5jLCB3ZSBzdGlsbCB3YW50IHRvIHlpZWxkIHNvIHRoYXQgaXQgY2FuIGJlXG4gICAgICAgICAgICAgIC8vIHBhaW50ZWQuIENvbmNlcHR1YWxseSwgdGhpcyBpcyByZWFsbHkgdGhlIHNhbWUgYXMgcGluZ2luZy5cbiAgICAgICAgICAgICAgLy8gV2UgY2FuIHVzZSBhbnkgUmV0cnlMYW5lIGV2ZW4gaWYgaXQncyB0aGUgb25lIGN1cnJlbnRseSByZW5kZXJpbmdcbiAgICAgICAgICAgICAgLy8gc2luY2Ugd2UncmUgbGVhdmluZyBpdCBiZWhpbmQgb24gdGhpcyBub2RlLlxuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gU29tZVJldHJ5TGFuZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMpIHtcbiAgICAgICAgICAgIC8vIFRoZSBlZmZlY3QgbGlzdCBvZiB0aGUgYmFja3dhcmRzIHRhaWwgd2lsbCBoYXZlIGJlZW4gYWRkZWRcbiAgICAgICAgICAgIC8vIHRvIHRoZSBlbmQuIFRoaXMgYnJlYWtzIHRoZSBndWFyYW50ZWUgdGhhdCBsaWZlLWN5Y2xlcyBmaXJlIGluXG4gICAgICAgICAgICAvLyBzaWJsaW5nIG9yZGVyIGJ1dCB0aGF0IGlzbid0IGEgc3Ryb25nIGd1YXJhbnRlZSBwcm9taXNlZCBieSBSZWFjdC5cbiAgICAgICAgICAgIC8vIEVzcGVjaWFsbHkgc2luY2UgdGhlc2UgbWlnaHQgYWxzbyBqdXN0IHBvcCBpbiBkdXJpbmcgZnV0dXJlIGNvbW1pdHMuXG4gICAgICAgICAgICAvLyBBcHBlbmQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdC5cbiAgICAgICAgICAgIHJlbmRlcmVkVGFpbC5zaWJsaW5nID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHByZXZpb3VzU2libGluZyA9IHJlbmRlclN0YXRlLmxhc3Q7XG5cbiAgICAgICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcHJldmlvdXNTaWJsaW5nLnNpYmxpbmcgPSByZW5kZXJlZFRhaWw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVuZGVyU3RhdGUubGFzdCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIHN0aWxsIGhhdmUgdGFpbCByb3dzIHRvIHJlbmRlci5cbiAgICAgICAgICAvLyBQb3AgYSByb3cuXG4gICAgICAgICAgdmFyIG5leHQgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZyA9IG5leHQ7XG4gICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG5leHQuc2libGluZztcbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmdTdGFydFRpbWUgPSBub3coKTtcbiAgICAgICAgICBuZXh0LnNpYmxpbmcgPSBudWxsOyAvLyBSZXN0b3JlIHRoZSBjb250ZXh0LlxuICAgICAgICAgIC8vIFRPRE86IFdlIGNhbiBwcm9iYWJseSBqdXN0IGF2b2lkIHBvcHBpbmcgaXQgaW5zdGVhZCBhbmQgb25seVxuICAgICAgICAgIC8vIHNldHRpbmcgaXQgdGhlIGZpcnN0IHRpbWUgd2UgZ28gZnJvbSBub3Qgc3VzcGVuZGVkIHRvIHN1c3BlbmRlZC5cblxuICAgICAgICAgIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG5cbiAgICAgICAgICBpZiAoZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlQ29udGV4dCk7IC8vIERvIGEgcGFzcyBvdmVyIHRoZSBuZXh0IHJvdy5cbiAgICAgICAgICAvLyBEb24ndCBidWJibGUgcHJvcGVydGllcyBpbiB0aGlzIGNhc2UuXG5cbiAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wUmVuZGVyTGFuZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgX25leHRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gICAgICAgIHZhciBuZXh0SXNIaWRkZW4gPSBfbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIF9wcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgdmFyIHByZXZJc0hpZGRlbiA9IF9wcmV2U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAocHJldklzSGlkZGVuICE9PSBuZXh0SXNIaWRkZW4gJiYgKCAvLyBMZWdhY3lIaWRkZW4gZG9lc24ndCBkbyBhbnkgaGlkaW5nIOKAlCBpdCBvbmx5IHByZS1yZW5kZXJzLlxuICAgICAgICAgICFlbmFibGVMZWdhY3lIaWRkZW4gKSkge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5leHRJc0hpZGRlbiB8fCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgZm9yIGhpZGRlbiBjaGlsZHJlbiB1bmxlc3Mgd2UncmUgcmVuZGVyaW5nXG4gICAgICAgICAgLy8gYXQgb2Zmc2NyZWVuIHByaW9yaXR5LlxuICAgICAgICAgIGlmIChpbmNsdWRlc1NvbWVMYW5lKHN1YnRyZWVSZW5kZXJMYW5lcywgT2Zmc2NyZWVuTGFuZSkpIHtcbiAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhbiBpbnNlcnRpb24gb3IgdXBkYXRlIGluIHRoZSBoaWRkZW4gc3VidHJlZS5cbiAgICAgICAgICAgICAgLy8gSWYgc28sIHdlIG5lZWQgdG8gaGlkZSB0aG9zZSBub2RlcyBpbiB0aGUgY29tbWl0IHBoYXNlLCBzb1xuICAgICAgICAgICAgICAvLyBzY2hlZHVsZSBhIHZpc2liaWxpdHkgZWZmZWN0LlxuICAgICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyAmIChQbGFjZW1lbnQgfCBVcGRhdGUpKSB7XG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHVuaXQgb2Ygd29yayB0YWcgKFwiICsgd29ya0luUHJvZ3Jlc3MudGFnICsgXCIpLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gXCIgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiB1bndpbmRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cbiAgcG9wVHJlZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuXG4gIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIENvbXBvbmVudCA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG5cbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBmbGFncyA9IHdvcmtJblByb2dyZXNzLmZsYWdzO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFNob3VsZENhcHR1cmUpIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IGZsYWdzICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xuXG4gICAgICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFjdHVhbER1cmF0aW9uKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICB7XG4gICAgICAgIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcG9wVG9wTGV2ZWxDb250ZXh0T2JqZWN0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmVzZXRXb3JrSW5Qcm9ncmVzc1ZlcnNpb25zKCk7XG4gICAgICAgIHZhciBfZmxhZ3MgPSB3b3JrSW5Qcm9ncmVzcy5mbGFncztcblxuICAgICAgICBpZiAoKF9mbGFncyAmIFNob3VsZENhcHR1cmUpICE9PSBOb0ZsYWdzICYmIChfZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncykge1xuICAgICAgICAgIC8vIFRoZXJlIHdhcyBhbiBlcnJvciBkdXJpbmcgcmVuZGVyIHRoYXQgd2Fzbid0IGNhcHR1cmVkIGJ5IGEgc3VzcGVuc2VcbiAgICAgICAgICAvLyBib3VuZGFyeS4gRG8gYSBzZWNvbmQgcGFzcyBvbiB0aGUgcm9vdCB0byB1bm1vdW50IHRoZSBjaGlsZHJlbi5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IF9mbGFncyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTtcbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH0gLy8gV2UgdW53b3VuZCB0byB0aGUgcm9vdCB3aXRob3V0IGNvbXBsZXRpbmcgaXQuIEV4aXQuXG5cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETzogcG9wSHlkcmF0aW9uU3RhdGVcbiAgICAgICAgcG9wSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciBzdXNwZW5zZVN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCAmJiBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RocmV3IGluIG5ld2x5IG1vdW50ZWQgZGVoeWRyYXRlZCBjb21wb25lbnQuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluICcgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfZmxhZ3MyID0gd29ya0luUHJvZ3Jlc3MuZmxhZ3M7XG5cbiAgICAgICAgaWYgKF9mbGFnczIgJiBTaG91bGRDYXB0dXJlKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSBfZmxhZ3MyICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlOyAvLyBDYXB0dXJlZCBhIHN1c3BlbnNlIGVmZmVjdC4gUmUtcmVuZGVyIHRoZSBib3VuZGFyeS5cblxuICAgICAgICAgIGlmICggKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgICAgdHJhbnNmZXJBY3R1YWxEdXJhdGlvbih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzKTsgLy8gU3VzcGVuc2VMaXN0IGRvZXNuJ3QgYWN0dWFsbHkgY2F0Y2ggYW55dGhpbmcuIEl0IHNob3VsZCd2ZSBiZWVuXG4gICAgICAgIC8vIGNhdWdodCBieSBhIG5lc3RlZCBib3VuZGFyeS4gSWYgbm90LCBpdCBzaG91bGQgYnViYmxlIHRocm91Z2guXG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICBwb3BQcm92aWRlcihjb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgIGNhc2UgTGVnYWN5SGlkZGVuQ29tcG9uZW50OlxuICAgICAgcG9wUmVuZGVyTGFuZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoY3VycmVudCwgaW50ZXJydXB0ZWRXb3JrLCByZW5kZXJMYW5lcykge1xuICAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cbiAgcG9wVHJlZUNvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcblxuICBzd2l0Y2ggKGludGVycnVwdGVkV29yay50YWcpIHtcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSBpbnRlcnJ1cHRlZFdvcmsudHlwZS5jaGlsZENvbnRleHRUeXBlcztcblxuICAgICAgICBpZiAoY2hpbGRDb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY2hpbGRDb250ZXh0VHlwZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHBvcENvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHJvb3QgPSBpbnRlcnJ1cHRlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICBwb3BIb3N0Q29udGFpbmVyKGludGVycnVwdGVkV29yayk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgICByZXNldFdvcmtJblByb2dyZXNzVmVyc2lvbnMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcEhvc3RDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcihpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgdmFyIGNvbnRleHQgPSBpbnRlcnJ1cHRlZFdvcmsudHlwZS5fY29udGV4dDtcbiAgICAgIHBvcFByb3ZpZGVyKGNvbnRleHQsIGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgIGNhc2UgTGVnYWN5SGlkZGVuQ29tcG9uZW50OlxuICAgICAgcG9wUmVuZGVyTGFuZXMoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbnZhciBkaWRXYXJuQWJvdXRVbmRlZmluZWRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9IG51bGw7XG5cbntcbiAgZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGUgPSBuZXcgU2V0KCk7XG59IC8vIFVzZWQgZHVyaW5nIHRoZSBjb21taXQgcGhhc2UgdG8gdHJhY2sgdGhlIHN0YXRlIG9mIHRoZSBPZmZzY3JlZW4gY29tcG9uZW50IHN0YWNrLlxuLy8gQWxsb3dzIHVzIHRvIGF2b2lkIHRyYXZlcnNpbmcgdGhlIHJldHVybiBwYXRoIHRvIGZpbmQgdGhlIG5lYXJlc3QgT2Zmc2NyZWVuIGFuY2VzdG9yLlxuLy8gT25seSB1c2VkIHdoZW4gZW5hYmxlU3VzcGVuc2VMYXlvdXRFZmZlY3RTZW1hbnRpY3MgaXMgZW5hYmxlZC5cblxuXG52YXIgb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuID0gZmFsc2U7XG52YXIgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IGZhbHNlO1xudmFyIFBvc3NpYmx5V2Vha1NldCA9IHR5cGVvZiBXZWFrU2V0ID09PSAnZnVuY3Rpb24nID8gV2Vha1NldCA6IFNldDtcbnZhciBuZXh0RWZmZWN0ID0gbnVsbDsgLy8gVXNlZCBmb3IgUHJvZmlsaW5nIGJ1aWxkcyB0byB0cmFjayB1cGRhdGVycy5cblxudmFyIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG52YXIgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xuZnVuY3Rpb24gcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yKSB7XG4gIC8vIFdyYXBwaW5nIGVhY2ggc21hbGwgcGFydCBvZiB0aGUgY29tbWl0IHBoYXNlIGludG8gYSBndWFyZGVkXG4gIC8vIGNhbGxiYWNrIGlzIGEgYml0IHRvbyBzbG93IChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMTY2NikuXG4gIC8vIEJ1dCB3ZSByZWx5IG9uIGl0IHRvIHN1cmZhY2UgZXJyb3JzIHRvIERFViB0b29scyBsaWtlIG92ZXJsYXlzXG4gIC8vIChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzIxNzEyKS5cbiAgLy8gQXMgYSBjb21wcm9taXNlLCByZXRocm93IG9ubHkgY2F1Z2h0IGVycm9ycyBpbiBhIGd1YXJkLlxuICB7XG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICAgIGNsZWFyQ2F1Z2h0RXJyb3IoKTtcbiAgfVxufVxuXG52YXIgY2FsbENvbXBvbmVudFdpbGxVbm1vdW50V2l0aFRpbWVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICBpbnN0YW5jZS5zdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAoIGN1cnJlbnQubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGN1cnJlbnQpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCgpO1xuICB9XG59OyAvLyBDYXB0dXJlIGVycm9ycyBzbyB0aGV5IGRvbid0IGludGVycnVwdCBtb3VudGluZy5cblxuXG5mdW5jdGlvbiBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHRyeSB7XG4gICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQsIGN1cnJlbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGVycm9yKTtcbiAgfVxufSAvLyBDYXB0dXJlIGVycm9ycyBzbyB0aGV5IGRvbid0IGludGVycnVwdCB1bm1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBpbnN0YW5jZSkge1xuICB0cnkge1xuICAgIGNhbGxDb21wb25lbnRXaWxsVW5tb3VudFdpdGhUaW1lcihjdXJyZW50LCBpbnN0YW5jZSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59IC8vIENhcHR1cmUgZXJyb3JzIHNvIHRoZXkgZG9uJ3QgaW50ZXJydXB0IG1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxDb21wb25lbnREaWRNb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBpbnN0YW5jZSkge1xuICB0cnkge1xuICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59IC8vIENhcHR1cmUgZXJyb3JzIHNvIHRoZXkgZG9uJ3QgaW50ZXJydXB0IG1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUF0dGFjaFJlZihjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHRyeSB7XG4gICAgY29tbWl0QXR0YWNoUmVmKGN1cnJlbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcikge1xuICB2YXIgcmVmID0gY3VycmVudC5yZWY7XG5cbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlb2YgcmVmID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgcmV0VmFsO1xuXG4gICAgICB0cnkge1xuICAgICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lciAmJiBlbmFibGVQcm9maWxlckNvbW1pdEhvb2tzICYmIGN1cnJlbnQubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oY3VycmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgcmV0VmFsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmV0dXJuIHZhbHVlIGZyb20gYSBjYWxsYmFjayByZWYgaW4gJXMuICcgKyAnQSBjYWxsYmFjayByZWYgc2hvdWxkIG5vdCByZXR1cm4gYSBmdW5jdGlvbi4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGN1cnJlbnQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxEZXN0cm95KGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpIHtcbiAgdHJ5IHtcbiAgICBkZXN0cm95KCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59XG5cbnZhciBmb2N1c2VkSW5zdGFuY2VIYW5kbGUgPSBudWxsO1xudmFyIHNob3VsZEZpcmVBZnRlckFjdGl2ZUluc3RhbmNlQmx1ciA9IGZhbHNlO1xuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpcnN0Q2hpbGQpIHtcbiAgZm9jdXNlZEluc3RhbmNlSGFuZGxlID0gcHJlcGFyZUZvckNvbW1pdChyb290LmNvbnRhaW5lckluZm8pO1xuICBuZXh0RWZmZWN0ID0gZmlyc3RDaGlsZDtcbiAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2JlZ2luKCk7IC8vIFdlIG5vIGxvbmdlciBuZWVkIHRvIHRyYWNrIHRoZSBhY3RpdmUgaW5zdGFuY2UgZmliZXJcblxuICB2YXIgc2hvdWxkRmlyZSA9IHNob3VsZEZpcmVBZnRlckFjdGl2ZUluc3RhbmNlQmx1cjtcbiAgc2hvdWxkRmlyZUFmdGVyQWN0aXZlSW5zdGFuY2VCbHVyID0gZmFsc2U7XG4gIGZvY3VzZWRJbnN0YW5jZUhhbmRsZSA9IG51bGw7XG4gIHJldHVybiBzaG91bGRGaXJlO1xufVxuXG5mdW5jdGlvbiBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHNfYmVnaW4oKSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDsgLy8gVGhpcyBwaGFzZSBpcyBvbmx5IHVzZWQgZm9yIGJlZm9yZUFjdGl2ZUluc3RhbmNlQmx1ci5cblxuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKChmaWJlci5zdWJ0cmVlRmxhZ3MgJiBCZWZvcmVNdXRhdGlvbk1hc2spICE9PSBOb0ZsYWdzICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBjaGlsZC5yZXR1cm4gPSBmaWJlcjtcbiAgICAgIG5leHRFZmZlY3QgPSBjaGlsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2NvbXBsZXRlKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0c19jb21wbGV0ZSgpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICB0cnkge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICB9XG5cbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFdvcmspIHtcbiAgdmFyIGN1cnJlbnQgPSBmaW5pc2hlZFdvcmsuYWx0ZXJuYXRlO1xuICB2YXIgZmxhZ3MgPSBmaW5pc2hlZFdvcmsuZmxhZ3M7XG5cbiAgaWYgKChmbGFncyAmIFNuYXBzaG90KSAhPT0gTm9GbGFncykge1xuICAgIHNldEN1cnJlbnRGaWJlcihmaW5pc2hlZFdvcmspO1xuXG4gICAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgcHJldlByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7IC8vIFdlIGNvdWxkIHVwZGF0ZSBpbnN0YW5jZSBwcm9wcyBhbmQgc3RhdGUgaGVyZSxcbiAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMuc3RhdGVgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHNuYXBzaG90ID0gaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlID09PSBmaW5pc2hlZFdvcmsudHlwZSA/IHByZXZQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoZmluaXNoZWRXb3JrLnR5cGUsIHByZXZQcm9wcyksIHByZXZTdGF0ZSk7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFyIGRpZFdhcm5TZXQgPSBkaWRXYXJuQWJvdXRVbmRlZmluZWRTbmFwc2hvdEJlZm9yZVVwZGF0ZTtcblxuICAgICAgICAgICAgICBpZiAoc25hcHNob3QgPT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblNldC5oYXMoZmluaXNoZWRXb3JrLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgZGlkV2FyblNldC5hZGQoZmluaXNoZWRXb3JrLnR5cGUpO1xuXG4gICAgICAgICAgICAgICAgZXJyb3IoJyVzLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCk6IEEgc25hcHNob3QgdmFsdWUgKG9yIG51bGwpICcgKyAnbXVzdCBiZSByZXR1cm5lZC4gWW91IGhhdmUgcmV0dXJuZWQgdW5kZWZpbmVkLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUgPSBzbmFwc2hvdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHJvb3QgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICAgICAgY2xlYXJDb250YWluZXIocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIC8vIE5vdGhpbmcgdG8gZG8gZm9yIHRoZXNlIGNvbXBvbmVudCB0eXBlc1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB1bml0IG9mIHdvcmsgdGFnIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMuIFRoaXMgZXJyb3IgaXMgJyArICdsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KGZsYWdzLCBmaW5pc2hlZFdvcmssIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuICB2YXIgbGFzdEVmZmVjdCA9IHVwZGF0ZVF1ZXVlICE9PSBudWxsID8gdXBkYXRlUXVldWUubGFzdEVmZmVjdCA6IG51bGw7XG5cbiAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmlyc3RFZmZlY3QgPSBsYXN0RWZmZWN0Lm5leHQ7XG4gICAgdmFyIGVmZmVjdCA9IGZpcnN0RWZmZWN0O1xuXG4gICAgZG8ge1xuICAgICAgaWYgKChlZmZlY3QudGFnICYgZmxhZ3MpID09PSBmbGFncykge1xuICAgICAgICAvLyBVbm1vdW50XG4gICAgICAgIHZhciBkZXN0cm95ID0gZWZmZWN0LmRlc3Ryb3k7XG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoKGZsYWdzICYgUGFzc2l2ZSQxKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoKGZsYWdzICYgTGF5b3V0KSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZChmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBJbnNlcnRpb24pICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgICAgc2V0SXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGZpbmlzaGVkV29yaywgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUkMSkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdG9wcGVkKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIExheW91dCkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChmbGFncywgZmluaXNoZWRXb3JrKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZSAhPT0gbnVsbCA/IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgOiBudWxsO1xuXG4gIGlmIChsYXN0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgIHZhciBlZmZlY3QgPSBmaXJzdEVmZmVjdDtcblxuICAgIGRvIHtcbiAgICAgIGlmICgoZWZmZWN0LnRhZyAmIGZsYWdzKSA9PT0gZmxhZ3MpIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICgoZmxhZ3MgJiBQYXNzaXZlJDEpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0TW91bnRTdGFydGVkKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBlbHNlIGlmICgoZmxhZ3MgJiBMYXlvdXQpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gTW91bnRcblxuXG4gICAgICAgIHZhciBjcmVhdGUgPSBlZmZlY3QuY3JlYXRlO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICBzZXRJc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZWZmZWN0LmRlc3Ryb3kgPSBjcmVhdGUoKTtcblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKChmbGFncyAmIEluc2VydGlvbikgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgc2V0SXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUkMSkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIExheW91dCkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgbWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RvcHBlZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgZGVzdHJveSA9IGVmZmVjdC5kZXN0cm95O1xuXG4gICAgICAgICAgaWYgKGRlc3Ryb3kgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZGVzdHJveSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGhvb2tOYW1lID0gdm9pZCAwO1xuXG4gICAgICAgICAgICBpZiAoKGVmZmVjdC50YWcgJiBMYXlvdXQpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgICAgIGhvb2tOYW1lID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChlZmZlY3QudGFnICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICBob29rTmFtZSA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaG9va05hbWUgPSAndXNlRWZmZWN0JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGFkZGVuZHVtID0gdm9pZCAwO1xuXG4gICAgICAgICAgICBpZiAoZGVzdHJveSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICcgWW91IHJldHVybmVkIG51bGwuIElmIHlvdXIgZWZmZWN0IGRvZXMgbm90IHJlcXVpcmUgY2xlYW4gJyArICd1cCwgcmV0dXJuIHVuZGVmaW5lZCAob3Igbm90aGluZykuJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlc3Ryb3kudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICdcXG5cXG5JdCBsb29rcyBsaWtlIHlvdSB3cm90ZSAnICsgaG9va05hbWUgKyAnKGFzeW5jICgpID0+IC4uLikgb3IgcmV0dXJuZWQgYSBQcm9taXNlLiAnICsgJ0luc3RlYWQsIHdyaXRlIHRoZSBhc3luYyBmdW5jdGlvbiBpbnNpZGUgeW91ciBlZmZlY3QgJyArICdhbmQgY2FsbCBpdCBpbW1lZGlhdGVseTpcXG5cXG4nICsgaG9va05hbWUgKyAnKCgpID0+IHtcXG4nICsgJyAgYXN5bmMgZnVuY3Rpb24gZmV0Y2hEYXRhKCkge1xcbicgKyAnICAgIC8vIFlvdSBjYW4gYXdhaXQgaGVyZVxcbicgKyAnICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgTXlBUEkuZ2V0RGF0YShzb21lSWQpO1xcbicgKyAnICAgIC8vIC4uLlxcbicgKyAnICB9XFxuJyArICcgIGZldGNoRGF0YSgpO1xcbicgKyBcIn0sIFtzb21lSWRdKTsgLy8gT3IgW10gaWYgZWZmZWN0IGRvZXNuJ3QgbmVlZCBwcm9wcyBvciBzdGF0ZVxcblxcblwiICsgJ0xlYXJuIG1vcmUgYWJvdXQgZGF0YSBmZXRjaGluZyB3aXRoIEhvb2tzOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaG9va3MtZGF0YS1mZXRjaGluZyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICcgWW91IHJldHVybmVkOiAnICsgZGVzdHJveTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXJyb3IoJyVzIG11c3Qgbm90IHJldHVybiBhbnl0aGluZyBiZXNpZGVzIGEgZnVuY3Rpb24sICcgKyAnd2hpY2ggaXMgdXNlZCBmb3IgY2xlYW4tdXAuJXMnLCBob29rTmFtZSwgYWRkZW5kdW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcbiAgICB9IHdoaWxlIChlZmZlY3QgIT09IGZpcnN0RWZmZWN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlRWZmZWN0RHVyYXRpb25zKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKSB7XG4gIHtcbiAgICAvLyBPbmx5IFByb2ZpbGVycyB3aXRoIHdvcmsgaW4gdGhlaXIgc3VidHJlZSB3aWxsIGhhdmUgYW4gVXBkYXRlIGVmZmVjdCBzY2hlZHVsZWQuXG4gICAgaWYgKChmaW5pc2hlZFdvcmsuZmxhZ3MgJiBVcGRhdGUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZS5wYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICB2YXIgX2ZpbmlzaGVkV29yayRtZW1vaXplID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMsXG4gICAgICAgICAgICAgICAgaWQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUuaWQsXG4gICAgICAgICAgICAgICAgb25Qb3N0Q29tbWl0ID0gX2ZpbmlzaGVkV29yayRtZW1vaXplLm9uUG9zdENvbW1pdDsgLy8gVGhpcyB2YWx1ZSB3aWxsIHN0aWxsIHJlZmxlY3QgdGhlIHByZXZpb3VzIGNvbW1pdCBwaGFzZS5cbiAgICAgICAgICAgIC8vIEl0IGRvZXMgbm90IGdldCByZXNldCB1bnRpbCB0aGUgc3RhcnQgb2YgdGhlIG5leHQgY29tbWl0IHBoYXNlLlxuXG4gICAgICAgICAgICB2YXIgY29tbWl0VGltZSA9IGdldENvbW1pdFRpbWUoKTtcbiAgICAgICAgICAgIHZhciBwaGFzZSA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGUgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZSc7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYgKGlzQ3VycmVudFVwZGF0ZU5lc3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgcGhhc2UgPSAnbmVzdGVkLXVwZGF0ZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvblBvc3RDb21taXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgb25Qb3N0Q29tbWl0KGlkLCBwaGFzZSwgcGFzc2l2ZUVmZmVjdER1cmF0aW9uLCBjb21taXRUaW1lKTtcbiAgICAgICAgICAgIH0gLy8gQnViYmxlIHRpbWVzIHRvIHRoZSBuZXh0IG5lYXJlc3QgYW5jZXN0b3IgUHJvZmlsZXIuXG4gICAgICAgICAgICAvLyBBZnRlciB3ZSBwcm9jZXNzIHRoYXQgUHJvZmlsZXIsIHdlJ2xsIGJ1YmJsZSBmdXJ0aGVyIHVwLlxuXG5cbiAgICAgICAgICAgIHZhciBwYXJlbnRGaWJlciA9IGZpbmlzaGVkV29yay5yZXR1cm47XG5cbiAgICAgICAgICAgIG91dGVyOiB3aGlsZSAocGFyZW50RmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgICAgICAgICAgdmFyIHJvb3QgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgICAgICAgICByb290LnBhc3NpdmVFZmZlY3REdXJhdGlvbiArPSBwYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICAgICAgICBicmVhayBvdXRlcjtcblxuICAgICAgICAgICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgICAgICAgICB2YXIgcGFyZW50U3RhdGVOb2RlID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICAgICAgcGFyZW50U3RhdGVOb2RlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiArPSBwYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICAgICAgICBicmVhayBvdXRlcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHBhcmVudEZpYmVyID0gcGFyZW50RmliZXIucmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdExheW91dEVmZmVjdE9uRmliZXIoZmluaXNoZWRSb290LCBjdXJyZW50LCBmaW5pc2hlZFdvcmssIGNvbW1pdHRlZExhbmVzKSB7XG4gIGlmICgoZmluaXNoZWRXb3JrLmZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MpIHtcbiAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoICFvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuKSB7XG4gICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50IGxheW91dCBlZmZlY3RzIGhhdmUgYWxyZWFkeSBiZWVuIGRlc3Ryb3llZCAoZHVyaW5nIG11dGF0aW9uIHBoYXNlKS5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgZG9uZSB0byBwcmV2ZW50IHNpYmxpbmcgY29tcG9uZW50IGVmZmVjdHMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIsXG4gICAgICAgICAgICAvLyBlLmcuIGEgZGVzdHJveSBmdW5jdGlvbiBpbiBvbmUgY29tcG9uZW50IHNob3VsZCBuZXZlciBvdmVycmlkZSBhIHJlZiBzZXRcbiAgICAgICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXG4gICAgICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLmZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAgICAgLy8gYnV0IGluc3RlYWQgd2UgcmVseSBvbiB0aGVtIGJlaW5nIHNldCBkdXJpbmcgbGFzdCByZW5kZXIuXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkTW91bnQuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHN0YXRlIHRvIG1hdGNoIG1lbW9pemVkIHN0YXRlIGJlZm9yZSAnICsgJ2NvbXBvbmVudERpZE1vdW50LiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5zdGF0ZWAuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCBmaW5pc2hlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgcHJldlByb3BzID0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlID09PSBmaW5pc2hlZFdvcmsudHlwZSA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoZmluaXNoZWRXb3JrLnR5cGUsIGN1cnJlbnQubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTsgLy8gV2UgY291bGQgdXBkYXRlIGluc3RhbmNlIHByb3BzIGFuZCBzdGF0ZSBoZXJlLFxuICAgICAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdjb21wb25lbnREaWRVcGRhdGUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnN0YXRlYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlLCBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSk7XG4gICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUsIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IC8vIFRPRE86IEkgdGhpbmsgdGhpcyBpcyBub3cgYWx3YXlzIG5vbi1udWxsIGJ5IHRoZSB0aW1lIGl0IHJlYWNoZXMgdGhlXG4gICAgICAgICAgLy8gY29tbWl0IHBoYXNlLiBDb25zaWRlciByZW1vdmluZyB0aGUgdHlwZSBjaGVjay5cblxuXG4gICAgICAgICAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ3Byb2Nlc3NpbmcgdGhlIHVwZGF0ZSBxdWV1ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgc3RhdGUgdG8gbWF0Y2ggbWVtb2l6ZWQgc3RhdGUgYmVmb3JlICcgKyAncHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5zdGF0ZWAuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuXG4gICAgICAgICAgICBjb21taXRVcGRhdGVRdWV1ZShmaW5pc2hlZFdvcmssIHVwZGF0ZVF1ZXVlLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRPRE86IEkgdGhpbmsgdGhpcyBpcyBub3cgYWx3YXlzIG5vbi1udWxsIGJ5IHRoZSB0aW1lIGl0IHJlYWNoZXMgdGhlXG4gICAgICAgICAgLy8gY29tbWl0IHBoYXNlLiBDb25zaWRlciByZW1vdmluZyB0aGUgdHlwZSBjaGVjay5cbiAgICAgICAgICB2YXIgX3VwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKF91cGRhdGVRdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIF9pbnN0YW5jZSA9IG51bGw7XG5cbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChmaW5pc2hlZFdvcmsuY2hpbGQudGFnKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICAgICAgX2luc3RhbmNlID0gZ2V0UHVibGljSW5zdGFuY2UoZmluaXNoZWRXb3JrLmNoaWxkLnN0YXRlTm9kZSk7XG4gICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAgICAgICAgICBfaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuY2hpbGQuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29tbWl0VXBkYXRlUXVldWUoZmluaXNoZWRXb3JrLCBfdXBkYXRlUXVldWUsIF9pbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9pbnN0YW5jZTIgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlOyAvLyBSZW5kZXJlcnMgbWF5IHNjaGVkdWxlIHdvcmsgdG8gYmUgZG9uZSBhZnRlciBob3N0IGNvbXBvbmVudHMgYXJlIG1vdW50ZWRcbiAgICAgICAgICAvLyAoZWcgRE9NIHJlbmRlcmVyIG1heSBzY2hlZHVsZSBhdXRvLWZvY3VzIGZvciBpbnB1dHMgYW5kIGZvcm0gY29udHJvbHMpLlxuICAgICAgICAgIC8vIFRoZXNlIGVmZmVjdHMgc2hvdWxkIG9ubHkgYmUgY29tbWl0dGVkIHdoZW4gY29tcG9uZW50cyBhcmUgZmlyc3QgbW91bnRlZCxcbiAgICAgICAgICAvLyBha2Egd2hlbiB0aGVyZSBpcyBubyBjdXJyZW50L2FsdGVybmF0ZS5cblxuICAgICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsICYmIGZpbmlzaGVkV29yay5mbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSBmaW5pc2hlZFdvcmsudHlwZTtcbiAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzO1xuICAgICAgICAgICAgY29tbWl0TW91bnQoX2luc3RhbmNlMiwgdHlwZSwgcHJvcHMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSBoYXZlIG5vIGxpZmUtY3ljbGVzIGFzc29jaWF0ZWQgd2l0aCB0ZXh0LlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFdlIGhhdmUgbm8gbGlmZS1jeWNsZXMgYXNzb2NpYXRlZCB3aXRoIHBvcnRhbHMuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBfZmluaXNoZWRXb3JrJG1lbW9pemUyID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMsXG4gICAgICAgICAgICAgICAgb25Db21taXQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUyLm9uQ29tbWl0LFxuICAgICAgICAgICAgICAgIG9uUmVuZGVyID0gX2ZpbmlzaGVkV29yayRtZW1vaXplMi5vblJlbmRlcjtcbiAgICAgICAgICAgIHZhciBlZmZlY3REdXJhdGlvbiA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICB2YXIgY29tbWl0VGltZSA9IGdldENvbW1pdFRpbWUoKTtcbiAgICAgICAgICAgIHZhciBwaGFzZSA9IGN1cnJlbnQgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZSc7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYgKGlzQ3VycmVudFVwZGF0ZU5lc3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgcGhhc2UgPSAnbmVzdGVkLXVwZGF0ZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvblJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBvblJlbmRlcihmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5pZCwgcGhhc2UsIGZpbmlzaGVkV29yay5hY3R1YWxEdXJhdGlvbiwgZmluaXNoZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24sIGZpbmlzaGVkV29yay5hY3R1YWxTdGFydFRpbWUsIGNvbW1pdFRpbWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygb25Db21taXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBvbkNvbW1pdChmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5pZCwgcGhhc2UsIGVmZmVjdER1cmF0aW9uLCBjb21taXRUaW1lKTtcbiAgICAgICAgICAgICAgfSAvLyBTY2hlZHVsZSBhIHBhc3NpdmUgZWZmZWN0IGZvciB0aGlzIFByb2ZpbGVyIHRvIGNhbGwgb25Qb3N0Q29tbWl0IGhvb2tzLlxuICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdCBzaG91bGQgYmUgc2NoZWR1bGVkIGV2ZW4gaWYgdGhlcmUgaXMgbm8gb25Qb3N0Q29tbWl0IGNhbGxiYWNrIGZvciB0aGlzIFByb2ZpbGVyLFxuICAgICAgICAgICAgICAvLyBiZWNhdXNlIHRoZSBlZmZlY3QgaXMgYWxzbyB3aGVyZSB0aW1lcyBidWJibGUgdG8gcGFyZW50IFByb2ZpbGVycy5cblxuXG4gICAgICAgICAgICAgIGVucXVldWVQZW5kaW5nUGFzc2l2ZVByb2ZpbGVyRWZmZWN0KGZpbmlzaGVkV29yayk7IC8vIFByb3BhZ2F0ZSBsYXlvdXQgZWZmZWN0IGR1cmF0aW9ucyB0byB0aGUgbmV4dCBuZWFyZXN0IFByb2ZpbGVyIGFuY2VzdG9yLlxuICAgICAgICAgICAgICAvLyBEbyBub3QgcmVzZXQgdGhlc2UgdmFsdWVzIHVudGlsIHRoZSBuZXh0IHJlbmRlciBzbyBEZXZUb29scyBoYXMgYSBjaGFuY2UgdG8gcmVhZCB0aGVtIGZpcnN0LlxuXG4gICAgICAgICAgICAgIHZhciBwYXJlbnRGaWJlciA9IGZpbmlzaGVkV29yay5yZXR1cm47XG5cbiAgICAgICAgICAgICAgb3V0ZXI6IHdoaWxlIChwYXJlbnRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAocGFyZW50RmliZXIudGFnKSB7XG4gICAgICAgICAgICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgICAgICAgICAgICB2YXIgcm9vdCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICAgICAgICAgICAgcm9vdC5lZmZlY3REdXJhdGlvbiArPSBlZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG5cbiAgICAgICAgICAgICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRTdGF0ZU5vZGUgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiArPSBlZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgY29tbWl0U3VzcGVuc2VIeWRyYXRpb25DYWxsYmFja3MoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAgY2FzZSBPZmZzY3JlZW5Db21wb25lbnQ6XG4gICAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgVHJhY2luZ01hcmtlckNvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB1bml0IG9mIHdvcmsgdGFnIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMuIFRoaXMgZXJyb3IgaXMgJyArICdsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAoICFvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuKSB7XG4gICAge1xuICAgICAgaWYgKGZpbmlzaGVkV29yay5mbGFncyAmIFJlZikge1xuICAgICAgICBjb21taXRBdHRhY2hSZWYoZmluaXNoZWRXb3JrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhcHBlYXJMYXlvdXRFZmZlY3RzT25GaWJlcihub2RlKSB7XG4gIC8vIFR1cm4gb24gbGF5b3V0IGVmZmVjdHMgaW4gYSB0cmVlIHRoYXQgcHJldmlvdXNseSBkaXNhcHBlYXJlZC5cbiAgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiBMYXlvdXRTdGF0aWNcbiAgc3dpdGNoIChub2RlLnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCBub2RlLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBzYWZlbHlDYWxsQ29tcG9uZW50RGlkTW91bnQobm9kZSwgbm9kZS5yZXR1cm4sIGluc3RhbmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNhZmVseUF0dGFjaFJlZihub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBzYWZlbHlBdHRhY2hSZWYobm9kZSwgbm9kZS5yZXR1cm4pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBoaWRlT3JVbmhpZGVBbGxDaGlsZHJlbihmaW5pc2hlZFdvcmssIGlzSGlkZGVuKSB7XG4gIC8vIE9ubHkgaGlkZSBvciB1bmhpZGUgdGhlIHRvcC1tb3N0IGhvc3Qgbm9kZXMuXG4gIHZhciBob3N0U3VidHJlZVJvb3QgPSBudWxsO1xuXG4gIHtcbiAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBpbnNlcnRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIHZhciBub2RlID0gZmluaXNoZWRXb3JrO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCkge1xuICAgICAgICBpZiAoaG9zdFN1YnRyZWVSb290ID09PSBudWxsKSB7XG4gICAgICAgICAgaG9zdFN1YnRyZWVSb290ID0gbm9kZTtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBub2RlLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgaWYgKGlzSGlkZGVuKSB7XG4gICAgICAgICAgICAgIGhpZGVJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB1bmhpZGVJbnN0YW5jZShub2RlLnN0YXRlTm9kZSwgbm9kZS5tZW1vaXplZFByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBIb3N0VGV4dCkge1xuICAgICAgICBpZiAoaG9zdFN1YnRyZWVSb290ID09PSBudWxsKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBfaW5zdGFuY2UzID0gbm9kZS5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgICBoaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdW5oaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMsIG5vZGUubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICgobm9kZS50YWcgPT09IE9mZnNjcmVlbkNvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gTGVnYWN5SGlkZGVuQ29tcG9uZW50KSAmJiBub2RlLm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgbm9kZSAhPT0gZmluaXNoZWRXb3JrKSA7IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gZmluaXNoZWRXb3JrKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvc3RTdWJ0cmVlUm9vdCA9PT0gbm9kZSkge1xuICAgICAgICAgIGhvc3RTdWJ0cmVlUm9vdCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChob3N0U3VidHJlZVJvb3QgPT09IG5vZGUpIHtcbiAgICAgICAgaG9zdFN1YnRyZWVSb290ID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0QXR0YWNoUmVmKGZpbmlzaGVkV29yaykge1xuICB2YXIgcmVmID0gZmluaXNoZWRXb3JrLnJlZjtcblxuICBpZiAocmVmICE9PSBudWxsKSB7XG4gICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICB2YXIgaW5zdGFuY2VUb1VzZTtcblxuICAgIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICBpbnN0YW5jZVRvVXNlID0gZ2V0UHVibGljSW5zdGFuY2UoaW5zdGFuY2UpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaW5zdGFuY2VUb1VzZSA9IGluc3RhbmNlO1xuICAgIH0gLy8gTW92ZWQgb3V0c2lkZSB0byBlbnN1cmUgRENFIHdvcmtzIHdpdGggdGhpcyBmbGFnXG5cbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIHJldFZhbDtcblxuICAgICAgaWYgKCBmaW5pc2hlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgIHJldFZhbCA9IHJlZihpbnN0YW5jZVRvVXNlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXRWYWwgPSByZWYoaW5zdGFuY2VUb1VzZSk7XG4gICAgICB9XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiByZXRWYWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBlcnJvcignVW5leHBlY3RlZCByZXR1cm4gdmFsdWUgZnJvbSBhIGNhbGxiYWNrIHJlZiBpbiAlcy4gJyArICdBIGNhbGxiYWNrIHJlZiBzaG91bGQgbm90IHJldHVybiBhIGZ1bmN0aW9uLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICBpZiAoIXJlZi5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmVmIG9iamVjdCBwcm92aWRlZCBmb3IgJXMuICcgKyAnVXNlIGVpdGhlciBhIHJlZi1zZXR0ZXIgZnVuY3Rpb24gb3IgUmVhY3QuY3JlYXRlUmVmKCkuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZWYuY3VycmVudCA9IGluc3RhbmNlVG9Vc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRldGFjaEZpYmVyTXV0YXRpb24oZmliZXIpIHtcbiAgLy8gQ3V0IG9mZiB0aGUgcmV0dXJuIHBvaW50ZXIgdG8gZGlzY29ubmVjdCBpdCBmcm9tIHRoZSB0cmVlLlxuICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gZGV0ZWN0IGFuZCB3YXJuIGFnYWluc3Qgc3RhdGUgdXBkYXRlcyBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxuICAvLyBJdCBhbHNvIHByZXZlbnRzIGV2ZW50cyBmcm9tIGJ1YmJsaW5nIGZyb20gd2l0aGluIGRpc2Nvbm5lY3RlZCBjb21wb25lbnRzLlxuICAvL1xuICAvLyBJZGVhbGx5LCB3ZSBzaG91bGQgYWxzbyBjbGVhciB0aGUgY2hpbGQgcG9pbnRlciBvZiB0aGUgcGFyZW50IGFsdGVybmF0ZSB0byBsZXQgdGhpc1xuICAvLyBnZXQgR0M6ZWQgYnV0IHdlIGRvbid0IGtub3cgd2hpY2ggZm9yIHN1cmUgd2hpY2ggcGFyZW50IGlzIHRoZSBjdXJyZW50XG4gIC8vIG9uZSBzbyB3ZSdsbCBzZXR0bGUgZm9yIEdDOmluZyB0aGUgc3VidHJlZSBvZiB0aGlzIGNoaWxkLlxuICAvLyBUaGlzIGNoaWxkIGl0c2VsZiB3aWxsIGJlIEdDOmVkIHdoZW4gdGhlIHBhcmVudCB1cGRhdGVzIHRoZSBuZXh0IHRpbWUuXG4gIC8vXG4gIC8vIE5vdGUgdGhhdCB3ZSBjYW4ndCBjbGVhciBjaGlsZCBvciBzaWJsaW5nIHBvaW50ZXJzIHlldC5cbiAgLy8gVGhleSdyZSBuZWVkZWQgZm9yIHBhc3NpdmUgZWZmZWN0cyBhbmQgZm9yIGZpbmRET01Ob2RlLlxuICAvLyBXZSBkZWZlciB0aG9zZSBmaWVsZHMsIGFuZCBhbGwgb3RoZXIgY2xlYW51cCwgdG8gdGhlIHBhc3NpdmUgcGhhc2UgKHNlZSBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cykuXG4gIC8vXG4gIC8vIERvbid0IHJlc2V0IHRoZSBhbHRlcm5hdGUgeWV0LCBlaXRoZXIuIFdlIG5lZWQgdGhhdCBzbyB3ZSBjYW4gZGV0YWNoIHRoZVxuICAvLyBhbHRlcm5hdGUncyBmaWVsZHMgaW4gdGhlIHBhc3NpdmUgcGhhc2UuIENsZWFyaW5nIHRoZSByZXR1cm4gcG9pbnRlciBpc1xuICAvLyBzdWZmaWNpZW50IGZvciBmaW5kRE9NTm9kZSBzZW1hbnRpY3MuXG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5yZXR1cm4gPSBudWxsO1xuICB9XG5cbiAgZmliZXIucmV0dXJuID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gZGV0YWNoRmliZXJBZnRlckVmZmVjdHMoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgZmliZXIuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cyhhbHRlcm5hdGUpO1xuICB9IC8vIE5vdGU6IERlZmVuc2l2ZWx5IHVzaW5nIG5lZ2F0aW9uIGluc3RlYWQgb2YgPCBpbiBjYXNlXG4gIC8vIGBkZWxldGVkVHJlZUNsZWFuVXBMZXZlbGAgaXMgdW5kZWZpbmVkLlxuXG5cbiAge1xuICAgIC8vIENsZWFyIGN5Y2xpY2FsIEZpYmVyIGZpZWxkcy4gVGhpcyBsZXZlbCBhbG9uZSBpcyBkZXNpZ25lZCB0byByb3VnaGx5XG4gICAgLy8gYXBwcm94aW1hdGUgdGhlIHBsYW5uZWQgRmliZXIgcmVmYWN0b3IuIEluIHRoYXQgd29ybGQsIGBzZXRTdGF0ZWAgd2lsbCBiZVxuICAgIC8vIGJvdW5kIHRvIGEgc3BlY2lhbCBcImluc3RhbmNlXCIgb2JqZWN0IGluc3RlYWQgb2YgYSBGaWJlci4gVGhlIEluc3RhbmNlXG4gICAgLy8gb2JqZWN0IHdpbGwgbm90IGhhdmUgYW55IG9mIHRoZXNlIGZpZWxkcy4gSXQgd2lsbCBvbmx5IGJlIGNvbm5lY3RlZCB0b1xuICAgIC8vIHRoZSBmaWJlciB0cmVlIHZpYSBhIHNpbmdsZSBsaW5rIGF0IHRoZSByb290LiBTbyBpZiB0aGlzIGxldmVsIGFsb25lIGlzXG4gICAgLy8gc3VmZmljaWVudCB0byBmaXggbWVtb3J5IGlzc3VlcywgdGhhdCBib2RlcyB3ZWxsIGZvciBvdXIgcGxhbnMuXG4gICAgZmliZXIuY2hpbGQgPSBudWxsO1xuICAgIGZpYmVyLmRlbGV0aW9ucyA9IG51bGw7XG4gICAgZmliZXIuc2libGluZyA9IG51bGw7IC8vIFRoZSBgc3RhdGVOb2RlYCBpcyBjeWNsaWNhbCBiZWNhdXNlIG9uIGhvc3Qgbm9kZXMgaXQgcG9pbnRzIHRvIHRoZSBob3N0XG4gICAgLy8gdHJlZSwgd2hpY2ggaGFzIGl0cyBvd24gcG9pbnRlcnMgdG8gY2hpbGRyZW4sIHBhcmVudHMsIGFuZCBzaWJsaW5ncy5cbiAgICAvLyBUaGUgb3RoZXIgaG9zdCBub2RlcyBhbHNvIHBvaW50IGJhY2sgdG8gZmliZXJzLCBzbyB3ZSBzaG91bGQgZGV0YWNoIHRoYXRcbiAgICAvLyBvbmUsIHRvby5cblxuICAgIGlmIChmaWJlci50YWcgPT09IEhvc3RDb21wb25lbnQpIHtcbiAgICAgIHZhciBob3N0SW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgZGV0YWNoRGVsZXRlZEluc3RhbmNlKGhvc3RJbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmliZXIuc3RhdGVOb2RlID0gbnVsbDsgLy8gSSdtIGludGVudGlvbmFsbHkgbm90IGNsZWFyaW5nIHRoZSBgcmV0dXJuYCBmaWVsZCBpbiB0aGlzIGxldmVsLiBXZVxuICAgIC8vIGFscmVhZHkgZGlzY29ubmVjdCB0aGUgYHJldHVybmAgcG9pbnRlciBhdCB0aGUgcm9vdCBvZiB0aGUgZGVsZXRlZFxuICAgIC8vIHN1YnRyZWUgKGluIGBkZXRhY2hGaWJlck11dGF0aW9uYCkuIEJlc2lkZXMsIGByZXR1cm5gIGJ5IGl0c2VsZiBpcyBub3RcbiAgICAvLyBjeWNsaWNhbCDigJQgaXQncyBvbmx5IGN5Y2xpY2FsIHdoZW4gY29tYmluZWQgd2l0aCBgY2hpbGRgLCBgc2libGluZ2AsIGFuZFxuICAgIC8vIGBhbHRlcm5hdGVgLiBCdXQgd2UnbGwgY2xlYXIgaXQgaW4gdGhlIG5leHQgbGV2ZWwgYW55d2F5LCBqdXN0IGluIGNhc2UuXG5cbiAgICB7XG4gICAgICBmaWJlci5fZGVidWdPd25lciA9IG51bGw7XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gVGhlb3JldGljYWxseSwgbm90aGluZyBpbiBoZXJlIHNob3VsZCBiZSBuZWNlc3NhcnksIGJlY2F1c2Ugd2UgYWxyZWFkeVxuICAgICAgLy8gZGlzY29ubmVjdGVkIHRoZSBmaWJlciBmcm9tIHRoZSB0cmVlLiBTbyBldmVuIGlmIHNvbWV0aGluZyBsZWFrcyB0aGlzXG4gICAgICAvLyBwYXJ0aWN1bGFyIGZpYmVyLCBpdCB3b24ndCBsZWFrIGFueXRoaW5nIGVsc2VcbiAgICAgIC8vXG4gICAgICAvLyBUaGUgcHVycG9zZSBvZiB0aGlzIGJyYW5jaCBpcyB0byBiZSBzdXBlciBhZ2dyZXNzaXZlIHNvIHdlIGNhbiBtZWFzdXJlXG4gICAgICAvLyBpZiB0aGVyZSdzIGFueSBkaWZmZXJlbmNlIGluIG1lbW9yeSBpbXBhY3QuIElmIHRoZXJlIGlzLCB0aGF0IGNvdWxkXG4gICAgICAvLyBpbmRpY2F0ZSBhIFJlYWN0IGxlYWsgd2UgZG9uJ3Qga25vdyBhYm91dC5cbiAgICAgIGZpYmVyLnJldHVybiA9IG51bGw7XG4gICAgICBmaWJlci5kZXBlbmRlbmNpZXMgPSBudWxsO1xuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IG51bGw7XG4gICAgICBmaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgIGZpYmVyLnBlbmRpbmdQcm9wcyA9IG51bGw7XG4gICAgICBmaWJlci5zdGF0ZU5vZGUgPSBudWxsOyAvLyBUT0RPOiBNb3ZlIHRvIGBjb21taXRQYXNzaXZlVW5tb3VudEluc2lkZURlbGV0ZWRUcmVlT25GaWJlcmAgaW5zdGVhZC5cblxuICAgICAgZmliZXIudXBkYXRlUXVldWUgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRIb3N0UGFyZW50RmliZXIoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgaWYgKGlzSG9zdFBhcmVudChwYXJlbnQpKSB7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgIH1cblxuICAgIHBhcmVudCA9IHBhcmVudC5yZXR1cm47XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgYSBob3N0IHBhcmVudC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnICcgKyAnaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiBpc0hvc3RQYXJlbnQoZmliZXIpIHtcbiAgcmV0dXJuIGZpYmVyLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBmaWJlci50YWcgPT09IEhvc3RSb290IHx8IGZpYmVyLnRhZyA9PT0gSG9zdFBvcnRhbDtcbn1cblxuZnVuY3Rpb24gZ2V0SG9zdFNpYmxpbmcoZmliZXIpIHtcbiAgLy8gV2UncmUgZ29pbmcgdG8gc2VhcmNoIGZvcndhcmQgaW50byB0aGUgdHJlZSB1bnRpbCB3ZSBmaW5kIGEgc2libGluZyBob3N0XG4gIC8vIG5vZGUuIFVuZm9ydHVuYXRlbHksIGlmIG11bHRpcGxlIGluc2VydGlvbnMgYXJlIGRvbmUgaW4gYSByb3cgd2UgaGF2ZSB0b1xuICAvLyBzZWFyY2ggcGFzdCB0aGVtLiBUaGlzIGxlYWRzIHRvIGV4cG9uZW50aWFsIHNlYXJjaCBmb3IgdGhlIG5leHQgc2libGluZy5cbiAgLy8gVE9ETzogRmluZCBhIG1vcmUgZWZmaWNpZW50IHdheSB0byBkbyB0aGlzLlxuICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gIHNpYmxpbmdzOiB3aGlsZSAodHJ1ZSkge1xuICAgIC8vIElmIHdlIGRpZG4ndCBmaW5kIGFueXRoaW5nLCBsZXQncyB0cnkgdGhlIG5leHQgc2libGluZy5cbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgaXNIb3N0UGFyZW50KG5vZGUucmV0dXJuKSkge1xuICAgICAgICAvLyBJZiB3ZSBwb3Agb3V0IG9mIHRoZSByb290IG9yIGhpdCB0aGUgcGFyZW50IHRoZSBmaWJlciB3ZSBhcmUgdGhlXG4gICAgICAgIC8vIGxhc3Qgc2libGluZy5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcblxuICAgIHdoaWxlIChub2RlLnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiBub2RlLnRhZyAhPT0gSG9zdFRleHQgJiYgbm9kZS50YWcgIT09IERlaHlkcmF0ZWRGcmFnbWVudCkge1xuICAgICAgLy8gSWYgaXQgaXMgbm90IGhvc3Qgbm9kZSBhbmQsIHdlIG1pZ2h0IGhhdmUgYSBob3N0IG5vZGUgaW5zaWRlIGl0LlxuICAgICAgLy8gVHJ5IHRvIHNlYXJjaCBkb3duIHVudGlsIHdlIGZpbmQgb25lLlxuICAgICAgaWYgKG5vZGUuZmxhZ3MgJiBQbGFjZW1lbnQpIHtcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIGNoaWxkLCB0cnkgdGhlIHNpYmxpbmdzIGluc3RlYWQuXG4gICAgICAgIGNvbnRpbnVlIHNpYmxpbmdzO1xuICAgICAgfSAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgY2hpbGQsIHRyeSB0aGUgc2libGluZ3MgaW5zdGVhZC5cbiAgICAgIC8vIFdlIGFsc28gc2tpcCBwb3J0YWxzIGJlY2F1c2UgdGhleSBhcmUgbm90IHBhcnQgb2YgdGhpcyBob3N0IHRyZWUuXG5cblxuICAgICAgaWYgKG5vZGUuY2hpbGQgPT09IG51bGwgfHwgbm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgY29udGludWUgc2libGluZ3M7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgfVxuICAgIH0gLy8gQ2hlY2sgaWYgdGhpcyBob3N0IG5vZGUgaXMgc3RhYmxlIG9yIGFib3V0IHRvIGJlIHBsYWNlZC5cblxuXG4gICAgaWYgKCEobm9kZS5mbGFncyAmIFBsYWNlbWVudCkpIHtcbiAgICAgIC8vIEZvdW5kIGl0IVxuICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQbGFjZW1lbnQoZmluaXNoZWRXb3JrKSB7XG5cblxuICB2YXIgcGFyZW50RmliZXIgPSBnZXRIb3N0UGFyZW50RmliZXIoZmluaXNoZWRXb3JrKTsgLy8gTm90ZTogdGhlc2UgdHdvIHZhcmlhYmxlcyAqbXVzdCogYWx3YXlzIGJlIHVwZGF0ZWQgdG9nZXRoZXIuXG5cbiAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBwYXJlbnQgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgaWYgKHBhcmVudEZpYmVyLmZsYWdzICYgQ29udGVudFJlc2V0KSB7XG4gICAgICAgICAgLy8gUmVzZXQgdGhlIHRleHQgY29udGVudCBvZiB0aGUgcGFyZW50IGJlZm9yZSBkb2luZyBhbnkgaW5zZXJ0aW9uc1xuICAgICAgICAgIHJlc2V0VGV4dENvbnRlbnQocGFyZW50KTsgLy8gQ2xlYXIgQ29udGVudFJlc2V0IGZyb20gdGhlIGVmZmVjdCB0YWdcblxuICAgICAgICAgIHBhcmVudEZpYmVyLmZsYWdzICY9IH5Db250ZW50UmVzZXQ7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgYmVmb3JlID0gZ2V0SG9zdFNpYmxpbmcoZmluaXNoZWRXb3JrKTsgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgaW5zZXJ0ZWQgYnV0IHdlIG5lZWQgdG8gcmVjdXJzZSBkb3duIGl0c1xuICAgICAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG5cbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKGZpbmlzaGVkV29yaywgYmVmb3JlLCBwYXJlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAge1xuICAgICAgICB2YXIgX3BhcmVudCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuXG4gICAgICAgIHZhciBfYmVmb3JlID0gZ2V0SG9zdFNpYmxpbmcoZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKGZpbmlzaGVkV29yaywgX2JlZm9yZSwgX3BhcmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZS1uby1mYWxsdGhyb3VnaFxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBob3N0IHBhcmVudCBmaWJlci4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnICcgKyAnaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIobm9kZSwgYmVmb3JlLCBwYXJlbnQpIHtcbiAgdmFyIHRhZyA9IG5vZGUudGFnO1xuICB2YXIgaXNIb3N0ID0gdGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHRhZyA9PT0gSG9zdFRleHQ7XG5cbiAgaWYgKGlzSG9zdCkge1xuICAgIHZhciBzdGF0ZU5vZGUgPSBub2RlLnN0YXRlTm9kZTtcblxuICAgIGlmIChiZWZvcmUpIHtcbiAgICAgIGluc2VydEluQ29udGFpbmVyQmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBlbmRDaGlsZFRvQ29udGFpbmVyKHBhcmVudCwgc3RhdGVOb2RlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodGFnID09PSBIb3N0UG9ydGFsKSA7IGVsc2Uge1xuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgICBpZiAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIoY2hpbGQsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcblxuICAgICAgd2hpbGUgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlSW50b0NvbnRhaW5lcihzaWJsaW5nLCBiZWZvcmUsIHBhcmVudCk7XG4gICAgICAgIHNpYmxpbmcgPSBzaWJsaW5nLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZShub2RlLCBiZWZvcmUsIHBhcmVudCkge1xuICB2YXIgdGFnID0gbm9kZS50YWc7XG4gIHZhciBpc0hvc3QgPSB0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgdGFnID09PSBIb3N0VGV4dDtcblxuICBpZiAoaXNIb3N0KSB7XG4gICAgdmFyIHN0YXRlTm9kZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgaWYgKGJlZm9yZSkge1xuICAgICAgaW5zZXJ0QmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBlbmRDaGlsZChwYXJlbnQsIHN0YXRlTm9kZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIHtcbiAgICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkO1xuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGUoY2hpbGQsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcblxuICAgICAgd2hpbGUgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKHNpYmxpbmcsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgICAgc2libGluZyA9IHNpYmxpbmcuc2libGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gLy8gVGhlc2UgYXJlIHRyYWNrZWQgb24gdGhlIHN0YWNrIGFzIHdlIHJlY3Vyc2l2ZWx5IHRyYXZlcnNlIGFcbi8vIGRlbGV0ZWQgc3VidHJlZS5cbi8vIFRPRE86IFVwZGF0ZSB0aGVzZSBkdXJpbmcgdGhlIHdob2xlIG11dGF0aW9uIHBoYXNlLCBub3QganVzdCBkdXJpbmdcbi8vIGEgZGVsZXRpb24uXG5cblxudmFyIGhvc3RQYXJlbnQgPSBudWxsO1xudmFyIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuXG5mdW5jdGlvbiBjb21taXREZWxldGlvbkVmZmVjdHMocm9vdCwgcmV0dXJuRmliZXIsIGRlbGV0ZWRGaWJlcikge1xuICB7XG4gICAgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgZGVsZXRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIC8vIFJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgaG9zdCBub2RlcyBmcm9tIHRoZSBwYXJlbnQsIGRldGFjaCByZWZzLCBjbGVhblxuICAgIC8vIHVwIG1vdW50ZWQgbGF5b3V0IGVmZmVjdHMsIGFuZCBjYWxsIGNvbXBvbmVudFdpbGxVbm1vdW50LlxuICAgIC8vIFdlIG9ubHkgbmVlZCB0byByZW1vdmUgdGhlIHRvcG1vc3QgaG9zdCBjaGlsZCBpbiBlYWNoIGJyYW5jaC4gQnV0IHRoZW4gd2VcbiAgICAvLyBzdGlsbCBuZWVkIHRvIGtlZXAgdHJhdmVyc2luZyB0byB1bm1vdW50IGVmZmVjdHMsIHJlZnMsIGFuZCBjV1UuIFRPRE86IFdlXG4gICAgLy8gY291bGQgc3BsaXQgdGhpcyBpbnRvIHR3byBzZXBhcmF0ZSB0cmF2ZXJzYWxzIGZ1bmN0aW9ucywgd2hlcmUgdGhlIHNlY29uZFxuICAgIC8vIG9uZSBkb2Vzbid0IGluY2x1ZGUgYW55IHJlbW92ZUNoaWxkIGxvZ2ljLiBUaGlzIGlzIG1heWJlIHRoZSBzYW1lXG4gICAgLy8gZnVuY3Rpb24gYXMgXCJkaXNhcHBlYXJMYXlvdXRFZmZlY3RzXCIgKG9yIHdoYXRldmVyIHRoYXQgdHVybnMgaW50byBhZnRlclxuICAgIC8vIHRoZSBsYXlvdXQgcGhhc2UgaXMgcmVmYWN0b3JlZCB0byB1c2UgcmVjdXJzaW9uKS5cbiAgICAvLyBCZWZvcmUgc3RhcnRpbmcsIGZpbmQgdGhlIG5lYXJlc3QgaG9zdCBwYXJlbnQgb24gdGhlIHN0YWNrIHNvIHdlIGtub3dcbiAgICAvLyB3aGljaCBpbnN0YW5jZS9jb250YWluZXIgdG8gcmVtb3ZlIHRoZSBjaGlsZHJlbiBmcm9tLlxuICAgIC8vIFRPRE86IEluc3RlYWQgb2Ygc2VhcmNoaW5nIHVwIHRoZSBmaWJlciByZXR1cm4gcGF0aCBvbiBldmVyeSBkZWxldGlvbiwgd2VcbiAgICAvLyBjYW4gdHJhY2sgdGhlIG5lYXJlc3QgaG9zdCBjb21wb25lbnQgb24gdGhlIEpTIHN0YWNrIGFzIHdlIHRyYXZlcnNlIHRoZVxuICAgIC8vIHRyZWUgZHVyaW5nIHRoZSBjb21taXQgcGhhc2UuIFRoaXMgd291bGQgbWFrZSBpbnNlcnRpb25zIGZhc3RlciwgdG9vLlxuICAgIHZhciBwYXJlbnQgPSByZXR1cm5GaWJlcjtcblxuICAgIGZpbmRQYXJlbnQ6IHdoaWxlIChwYXJlbnQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocGFyZW50LnRhZykge1xuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGU7XG4gICAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGJyZWFrIGZpbmRQYXJlbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcGFyZW50ID0gcGFyZW50LnJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaG9zdFBhcmVudCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBmaW5kIGEgaG9zdCBwYXJlbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSAnICsgJ2EgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICBjb21taXREZWxldGlvbkVmZmVjdHNPbkZpYmVyKHJvb3QsIHJldHVybkZpYmVyLCBkZWxldGVkRmliZXIpO1xuICAgIGhvc3RQYXJlbnQgPSBudWxsO1xuICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuICB9XG5cbiAgZGV0YWNoRmliZXJNdXRhdGlvbihkZWxldGVkRmliZXIpO1xufVxuXG5mdW5jdGlvbiByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgcGFyZW50KSB7XG4gIC8vIFRPRE86IFVzZSBhIHN0YXRpYyBmbGFnIHRvIHNraXAgdHJlZXMgdGhhdCBkb24ndCBoYXZlIHVubW91bnQgZWZmZWN0c1xuICB2YXIgY2hpbGQgPSBwYXJlbnQuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgY29tbWl0RGVsZXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGNoaWxkKTtcbiAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RGVsZXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcikge1xuICBvbkNvbW1pdFVubW91bnQoZGVsZXRlZEZpYmVyKTsgLy8gVGhlIGNhc2VzIGluIHRoaXMgb3V0ZXIgc3dpdGNoIG1vZGlmeSB0aGUgc3RhY2sgYmVmb3JlIHRoZXkgdHJhdmVyc2VcbiAgLy8gaW50byB0aGVpciBzdWJ0cmVlLiBUaGVyZSBhcmUgc2ltcGxlciBjYXNlcyBpbiB0aGUgaW5uZXIgc3dpdGNoXG4gIC8vIHRoYXQgZG9uJ3QgbW9kaWZ5IHRoZSBzdGFjay5cblxuICBzd2l0Y2ggKGRlbGV0ZWRGaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIGlmICghb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgIHNhZmVseURldGFjaFJlZihkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgICAgICB9IC8vIEludGVudGlvbmFsIGZhbGx0aHJvdWdoIHRvIG5leHQgYnJhbmNoXG5cbiAgICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUtbm8tZmFsbHRocm91Z2hcblxuICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICB7XG4gICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0byByZW1vdmUgdGhlIG5lYXJlc3QgaG9zdCBjaGlsZC4gU2V0IHRoZSBob3N0IHBhcmVudFxuICAgICAgICAvLyB0byBgbnVsbGAgb24gdGhlIHN0YWNrIHRvIGluZGljYXRlIHRoYXQgbmVzdGVkIGNoaWxkcmVuIGRvbid0XG4gICAgICAgIC8vIG5lZWQgdG8gYmUgcmVtb3ZlZC5cbiAgICAgICAge1xuICAgICAgICAgIHZhciBwcmV2SG9zdFBhcmVudCA9IGhvc3RQYXJlbnQ7XG4gICAgICAgICAgdmFyIHByZXZIb3N0UGFyZW50SXNDb250YWluZXIgPSBob3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IG51bGw7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IHByZXZIb3N0UGFyZW50O1xuICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHByZXZIb3N0UGFyZW50SXNDb250YWluZXI7XG5cbiAgICAgICAgICBpZiAoaG9zdFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gTm93IHRoYXQgYWxsIHRoZSBjaGlsZCBlZmZlY3RzIGhhdmUgdW5tb3VudGVkLCB3ZSBjYW4gcmVtb3ZlIHRoZVxuICAgICAgICAgICAgLy8gbm9kZSBmcm9tIHRoZSB0cmVlLlxuICAgICAgICAgICAgaWYgKGhvc3RQYXJlbnRJc0NvbnRhaW5lcikge1xuICAgICAgICAgICAgICByZW1vdmVDaGlsZEZyb21Db250YWluZXIoaG9zdFBhcmVudCwgZGVsZXRlZEZpYmVyLnN0YXRlTm9kZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZW1vdmVDaGlsZChob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIERlaHlkcmF0ZWRGcmFnbWVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gRGVsZXRlIHRoZSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGJvdW5kYXJ5IGFuZCBhbGwgb2YgaXRzIGNvbnRlbnQuXG5cblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKGhvc3RQYXJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChob3N0UGFyZW50SXNDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5RnJvbUNvbnRhaW5lcihob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNsZWFyU3VzcGVuc2VCb3VuZGFyeShob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXaGVuIHdlIGdvIGludG8gYSBwb3J0YWwsIGl0IGJlY29tZXMgdGhlIHBhcmVudCB0byByZW1vdmUgZnJvbS5cbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50ID0gaG9zdFBhcmVudDtcbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXIgPSBob3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSB0cnVlO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICAgIGhvc3RQYXJlbnQgPSBfcHJldkhvc3RQYXJlbnQ7XG4gICAgICAgICAgaG9zdFBhcmVudElzQ29udGFpbmVyID0gX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBkZWxldGVkRmliZXIudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBsYXN0RWZmZWN0ID0gdXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgICAgICAgICAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgICAgICAgICAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XG5cbiAgICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIHZhciBfZWZmZWN0ID0gZWZmZWN0LFxuICAgICAgICAgICAgICAgICAgICBkZXN0cm95ID0gX2VmZmVjdC5kZXN0cm95LFxuICAgICAgICAgICAgICAgICAgICB0YWcgPSBfZWZmZWN0LnRhZztcblxuICAgICAgICAgICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIGlmICgodGFnICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCh0YWcgJiBMYXlvdXQpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZChkZWxldGVkRmliZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCBkZWxldGVkRmliZXIubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG4gICAgICAgICAgICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBzYWZlbHlDYWxsRGVzdHJveShkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RvcHBlZCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgICAgICAgICAgIH0gd2hpbGUgKGVmZmVjdCAhPT0gZmlyc3RFZmZlY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoZGVsZXRlZEZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBkZWxldGVkRmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgaW5zdGFuY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAge1xuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCAvLyBUT0RPOiBSZW1vdmUgdGhpcyBkZWFkIGZsYWdcbiAgICAgICAgIGRlbGV0ZWRGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIG9mZnNjcmVlbiBjb21wb25lbnQgaXMgaGlkZGVuLCB3ZSBhbHJlYWR5IHVubW91bnRlZCBpdC4gQmVmb3JlXG4gICAgICAgICAgLy8gZGVsZXRpbmcgdGhlIGNoaWxkcmVuLCB0cmFjayB0aGF0IGl0J3MgYWxyZWFkeSB1bm1vdW50ZWQgc28gdGhhdCB3ZVxuICAgICAgICAgIC8vIGRvbid0IGF0dGVtcHQgdG8gdW5tb3VudCB0aGUgZWZmZWN0cyBhZ2Fpbi5cbiAgICAgICAgICAvLyBUT0RPOiBJZiB0aGUgdHJlZSBpcyBoaWRkZW4sIGluIG1vc3QgY2FzZXMgd2Ugc2hvdWxkIGJlIGFibGUgdG8gc2tpcFxuICAgICAgICAgIC8vIG92ZXIgdGhlIG5lc3RlZCBjaGlsZHJlbiBlbnRpcmVseS4gQW4gZXhjZXB0aW9uIGlzIHdlIGhhdmVuJ3QgeWV0IGZvdW5kXG4gICAgICAgICAgLy8gdGhlIHRvcG1vc3QgaG9zdCBub2RlIHRvIGRlbGV0ZSwgd2hpY2ggd2UgYWxyZWFkeSB0cmFjayBvbiB0aGUgc3RhY2suXG4gICAgICAgICAgLy8gQnV0IHRoZSBvdGhlciBjYXNlIGlzIHBvcnRhbHMsIHdoaWNoIG5lZWQgdG8gYmUgZGV0YWNoZWQgbm8gbWF0dGVyIGhvd1xuICAgICAgICAgIC8vIGRlZXBseSB0aGV5IGFyZSBuZXN0ZWQuIFdlIHNob3VsZCB1c2UgYSBzdWJ0cmVlIGZsYWcgdG8gdHJhY2sgd2hldGhlciBhXG4gICAgICAgICAgLy8gc3VidHJlZSBpbmNsdWRlcyBhIG5lc3RlZCBwb3J0YWwuXG4gICAgICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gfHwgZGVsZXRlZEZpYmVyLm1lbW9pemVkU3RhdGUgIT09IG51bGw7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IHByZXZPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFN1c3BlbnNlQ2FsbGJhY2soZmluaXNoZWRXb3JrKSB7XG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0byBwYXNzaXZlIHBoYXNlXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xufVxuXG5mdW5jdGlvbiBjb21taXRTdXNwZW5zZUh5ZHJhdGlvbkNhbGxiYWNrcyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaykge1xuXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChuZXdTdGF0ZSA9PT0gbnVsbCkge1xuICAgIHZhciBjdXJyZW50ID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gcHJldlN0YXRlLmRlaHlkcmF0ZWQ7XG5cbiAgICAgICAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBjb21taXRIeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspIHtcbiAgLy8gSWYgdGhpcyBib3VuZGFyeSBqdXN0IHRpbWVkIG91dCwgdGhlbiBpdCB3aWxsIGhhdmUgYSBzZXQgb2Ygd2FrZWFibGVzLlxuICAvLyBGb3IgZWFjaCB3YWtlYWJsZSwgYXR0YWNoIGEgbGlzdGVuZXIgc28gdGhhdCB3aGVuIGl0IHJlc29sdmVzLCBSZWFjdFxuICAvLyBhdHRlbXB0cyB0byByZS1yZW5kZXIgdGhlIGJvdW5kYXJ5IGluIHRoZSBwcmltYXJ5IChwcmUtdGltZW91dCkgc3RhdGUuXG4gIHZhciB3YWtlYWJsZXMgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XG5cbiAgaWYgKHdha2VhYmxlcyAhPT0gbnVsbCkge1xuICAgIGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgdmFyIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuXG4gICAgaWYgKHJldHJ5Q2FjaGUgPT09IG51bGwpIHtcbiAgICAgIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID0gbmV3IFBvc3NpYmx5V2Vha1NldCgpO1xuICAgIH1cblxuICAgIHdha2VhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uICh3YWtlYWJsZSkge1xuICAgICAgLy8gTWVtb2l6ZSB1c2luZyB0aGUgYm91bmRhcnkgZmliZXIgdG8gcHJldmVudCByZWR1bmRhbnQgbGlzdGVuZXJzLlxuICAgICAgdmFyIHJldHJ5ID0gcmVzb2x2ZVJldHJ5V2FrZWFibGUuYmluZChudWxsLCBmaW5pc2hlZFdvcmssIHdha2VhYmxlKTtcblxuICAgICAgaWYgKCFyZXRyeUNhY2hlLmhhcyh3YWtlYWJsZSkpIHtcbiAgICAgICAgcmV0cnlDYWNoZS5hZGQod2FrZWFibGUpO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgICAgIGlmIChpblByb2dyZXNzTGFuZXMgIT09IG51bGwgJiYgaW5Qcm9ncmVzc1Jvb3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBwZW5kaW5nIHdvcmsgc3RpbGwsIGFzc29jaWF0ZSB0aGUgb3JpZ2luYWwgdXBkYXRlcnMgd2l0aCBpdC5cbiAgICAgICAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhpblByb2dyZXNzUm9vdCwgaW5Qcm9ncmVzc0xhbmVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKCdFeHBlY3RlZCBmaW5pc2hlZCByb290IGFuZCBsYW5lcyB0byBiZSBzZXQuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgd2FrZWFibGUudGhlbihyZXRyeSwgcmV0cnkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59IC8vIFRoaXMgZnVuY3Rpb24gZGV0ZWN0cyB3aGVuIGEgU3VzcGVuc2UgYm91bmRhcnkgZ29lcyBmcm9tIHZpc2libGUgdG8gaGlkZGVuLlxuZnVuY3Rpb24gY29tbWl0TXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMpIHtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gY29tbWl0dGVkTGFuZXM7XG4gIGluUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290KTtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG4gIGluUHJvZ3Jlc3NSb290ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgbGFuZXMpIHtcbiAgLy8gRGVsZXRpb25zIGVmZmVjdHMgY2FuIGJlIHNjaGVkdWxlZCBvbiBhbnkgZmliZXIgdHlwZS4gVGhleSBuZWVkIHRvIGhhcHBlblxuICAvLyBiZWZvcmUgdGhlIGNoaWxkcmVuIGVmZmVjdHMgaGFlIGZpcmVkLlxuICB2YXIgZGVsZXRpb25zID0gcGFyZW50RmliZXIuZGVsZXRpb25zO1xuXG4gIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlbGV0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoaWxkVG9EZWxldGUgPSBkZWxldGlvbnNbaV07XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbW1pdERlbGV0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgY2hpbGRUb0RlbGV0ZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjaGlsZFRvRGVsZXRlLCBwYXJlbnRGaWJlciwgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwcmV2RGVidWdGaWJlciA9IGdldEN1cnJlbnRGaWJlcigpO1xuXG4gIGlmIChwYXJlbnRGaWJlci5zdWJ0cmVlRmxhZ3MgJiBNdXRhdGlvbk1hc2spIHtcbiAgICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNoaWxkKTtcbiAgICAgIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoY2hpbGQsIHJvb3QpO1xuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cbiAgfVxuXG4gIHNldEN1cnJlbnRGaWJlcihwcmV2RGVidWdGaWJlcik7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290LCBsYW5lcykge1xuICB2YXIgY3VycmVudCA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG4gIHZhciBmbGFncyA9IGZpbmlzaGVkV29yay5mbGFnczsgLy8gVGhlIGVmZmVjdCBmbGFnIHNob3VsZCBiZSBjaGVja2VkICphZnRlciogd2UgcmVmaW5lIHRoZSB0eXBlIG9mIGZpYmVyLFxuICAvLyBiZWNhdXNlIHRoZSBmaWJlciB0YWcgaXMgbW9yZSBzcGVjaWZpYy4gQW4gZXhjZXB0aW9uIGlzIGFueSBmbGFnIHJlbGF0ZWRcbiAgLy8gdG8gcmVjb25jaWxhdGlvbiwgYmVjYXVzZSB0aG9zZSBjYW4gYmUgc2V0IG9uIGFsbCBmaWJlciB0eXBlcy5cblxuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoSW5zZXJ0aW9uIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChJbnNlcnRpb24gfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH0gLy8gTGF5b3V0IGVmZmVjdHMgYXJlIGRlc3Ryb3llZCBkdXJpbmcgdGhlIG11dGF0aW9uIHBoYXNlIHNvIHRoYXQgYWxsXG4gICAgICAgICAgLy8gZGVzdHJveSBmdW5jdGlvbnMgZm9yIGFsbCBmaWJlcnMgYXJlIGNhbGxlZCBiZWZvcmUgYW55IGNyZWF0ZSBmdW5jdGlvbnMuXG4gICAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyBzaWJsaW5nIGNvbXBvbmVudCBlZmZlY3RzIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyLFxuICAgICAgICAgIC8vIGUuZy4gYSBkZXN0cm95IGZ1bmN0aW9uIGluIG9uZSBjb21wb25lbnQgc2hvdWxkIG5ldmVyIG92ZXJyaWRlIGEgcmVmIHNldFxuICAgICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXG5cblxuICAgICAgICAgIGlmICggZmluaXNoZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFJlZikge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCwgY3VycmVudC5yZXR1cm4pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpZiAoZmxhZ3MgJiBSZWYpIHtcbiAgICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQsIGN1cnJlbnQucmV0dXJuKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB7XG4gICAgICAgICAgLy8gVE9ETzogQ29udGVudFJlc2V0IGdldHMgY2xlYXJlZCBieSB0aGUgY2hpbGRyZW4gZHVyaW5nIHRoZSBjb21taXRcbiAgICAgICAgICAvLyBwaGFzZS4gVGhpcyBpcyBhIHJlZmFjdG9yIGhhemFyZCBiZWNhdXNlIGl0IG1lYW5zIHdlIG11c3QgcmVhZFxuICAgICAgICAgIC8vIGZsYWdzIHRoZSBmbGFncyBhZnRlciBgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzYCBoYXMgYWxyZWFkeSBydW47XG4gICAgICAgICAgLy8gdGhlIG9yZGVyIG1hdHRlcnMuIFdlIHNob3VsZCByZWZhY3RvciBzbyB0aGF0IENvbnRlbnRSZXNldCBkb2VzIG5vdFxuICAgICAgICAgIC8vIHJlbHkgb24gbXV0YXRpbmcgdGhlIGZsYWcgZHVyaW5nIGNvbW1pdC4gTGlrZSBieSBzZXR0aW5nIGEgZmxhZ1xuICAgICAgICAgIC8vIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlIGluc3RlYWQuXG4gICAgICAgICAgaWYgKGZpbmlzaGVkV29yay5mbGFncyAmIENvbnRlbnRSZXNldCkge1xuICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmVzZXRUZXh0Q29udGVudChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICAgIHZhciBfaW5zdGFuY2U0ID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgaWYgKF9pbnN0YW5jZTQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBDb21taXQgdGhlIHdvcmsgcHJlcGFyZWQgZWFybGllci5cbiAgICAgICAgICAgICAgdmFyIG5ld1Byb3BzID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcbiAgICAgICAgICAgICAgLy8gYXMgdGhlIG5ld1Byb3BzLiBUaGUgdXBkYXRlUGF5bG9hZCB3aWxsIGNvbnRhaW4gdGhlIHJlYWwgY2hhbmdlIGluXG4gICAgICAgICAgICAgIC8vIHRoaXMgY2FzZS5cblxuICAgICAgICAgICAgICB2YXIgb2xkUHJvcHMgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5tZW1vaXplZFByb3BzIDogbmV3UHJvcHM7XG4gICAgICAgICAgICAgIHZhciB0eXBlID0gZmluaXNoZWRXb3JrLnR5cGU7IC8vIFRPRE86IFR5cGUgdGhlIHVwZGF0ZVF1ZXVlIHRvIGJlIHNwZWNpZmljIHRvIGhvc3QgY29tcG9uZW50cy5cblxuICAgICAgICAgICAgICB2YXIgdXBkYXRlUGF5bG9hZCA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgICAgICAgICAgICAgZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlID0gbnVsbDtcblxuICAgICAgICAgICAgICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb21taXRVcGRhdGUoX2luc3RhbmNlNCwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgaGF2ZSBhIHRleHQgbm9kZSBpbml0aWFsaXplZC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgJyArICdjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgdGV4dEluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICAgICAgICAgIHZhciBuZXdUZXh0ID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcbiAgICAgICAgICAgIC8vIGFzIHRoZSBuZXdQcm9wcy4gVGhlIHVwZGF0ZVBheWxvYWQgd2lsbCBjb250YWluIHRoZSByZWFsIGNoYW5nZSBpblxuICAgICAgICAgICAgLy8gdGhpcyBjYXNlLlxuXG4gICAgICAgICAgICB2YXIgb2xkVGV4dCA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBuZXdUZXh0O1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb21taXRUZXh0VXBkYXRlKHRleHRJbnN0YW5jZSwgb2xkVGV4dCwgbmV3VGV4dCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBwcmV2Um9vdFN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgICAgICAgIGlmIChwcmV2Um9vdFN0YXRlLmlzRGVoeWRyYXRlZCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb21taXRIeWRyYXRlZENvbnRhaW5lcihyb290LmNvbnRhaW5lckluZm8pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgdmFyIG9mZnNjcmVlbkZpYmVyID0gZmluaXNoZWRXb3JrLmNoaWxkO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5GaWJlci5mbGFncyAmIFZpc2liaWxpdHkpIHtcbiAgICAgICAgICB2YXIgb2Zmc2NyZWVuSW5zdGFuY2UgPSBvZmZzY3JlZW5GaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgdmFyIG5ld1N0YXRlID0gb2Zmc2NyZWVuRmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICB2YXIgaXNIaWRkZW4gPSBuZXdTdGF0ZSAhPT0gbnVsbDsgLy8gVHJhY2sgdGhlIGN1cnJlbnQgc3RhdGUgb24gdGhlIE9mZnNjcmVlbiBpbnN0YW5jZSBzbyB3ZSBjYW5cbiAgICAgICAgICAvLyByZWFkIGl0IGR1cmluZyBhbiBldmVudFxuXG4gICAgICAgICAgb2Zmc2NyZWVuSW5zdGFuY2UuaXNIaWRkZW4gPSBpc0hpZGRlbjtcblxuICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgdmFyIHdhc0hpZGRlbiA9IG9mZnNjcmVlbkZpYmVyLmFsdGVybmF0ZSAhPT0gbnVsbCAmJiBvZmZzY3JlZW5GaWJlci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgICAgaWYgKCF3YXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgLy8gVE9ETzogTW92ZSB0byBwYXNzaXZlIHBoYXNlXG4gICAgICAgICAgICAgIG1hcmtDb21taXRUaW1lT2ZGYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRTdXNwZW5zZUNhbGxiYWNrKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX3dhc0hpZGRlbiA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmICggLy8gVE9ETzogUmVtb3ZlIHRoaXMgZGVhZCBmbGFnXG4gICAgICAgICBmaW5pc2hlZFdvcmsubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICAgICAgLy8gQmVmb3JlIGNvbW1pdHRpbmcgdGhlIGNoaWxkcmVuLCB0cmFjayBvbiB0aGUgc3RhY2sgd2hldGhlciB0aGlzXG4gICAgICAgICAgLy8gb2Zmc2NyZWVuIHN1YnRyZWUgd2FzIGFscmVhZHkgaGlkZGVuLCBzbyB0aGF0IHdlIGRvbid0IHVubW91bnQgdGhlXG4gICAgICAgICAgLy8gZWZmZWN0cyBhZ2Fpbi5cbiAgICAgICAgICB2YXIgcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiB8fCBfd2FzSGlkZGVuO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVmlzaWJpbGl0eSkge1xuICAgICAgICAgIHZhciBfb2Zmc2NyZWVuSW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICAgIHZhciBfbmV3U3RhdGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICAgIHZhciBfaXNIaWRkZW4gPSBfbmV3U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICB2YXIgb2Zmc2NyZWVuQm91bmRhcnkgPSBmaW5pc2hlZFdvcms7IC8vIFRyYWNrIHRoZSBjdXJyZW50IHN0YXRlIG9uIHRoZSBPZmZzY3JlZW4gaW5zdGFuY2Ugc28gd2UgY2FuXG4gICAgICAgICAgLy8gcmVhZCBpdCBkdXJpbmcgYW4gZXZlbnRcblxuICAgICAgICAgIF9vZmZzY3JlZW5JbnN0YW5jZS5pc0hpZGRlbiA9IF9pc0hpZGRlbjtcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChfaXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaWYgKCFfd2FzSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKChvZmZzY3JlZW5Cb3VuZGFyeS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAgICAgICAgIG5leHRFZmZlY3QgPSBvZmZzY3JlZW5Cb3VuZGFyeTtcbiAgICAgICAgICAgICAgICAgIHZhciBvZmZzY3JlZW5DaGlsZCA9IG9mZnNjcmVlbkJvdW5kYXJ5LmNoaWxkO1xuXG4gICAgICAgICAgICAgICAgICB3aGlsZSAob2Zmc2NyZWVuQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dEVmZmVjdCA9IG9mZnNjcmVlbkNoaWxkO1xuICAgICAgICAgICAgICAgICAgICBkaXNhcHBlYXJMYXlvdXRFZmZlY3RzX2JlZ2luKG9mZnNjcmVlbkNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2NyZWVuQ2hpbGQgPSBvZmZzY3JlZW5DaGlsZC5zaWJsaW5nO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgbmVlZHMgdG8gcnVuIHdoZW5ldmVyIHRoZXJlJ3MgYW4gaW5zZXJ0aW9uIG9yIHVwZGF0ZVxuICAgICAgICAgICAgLy8gaW5zaWRlIGEgaGlkZGVuIE9mZnNjcmVlbiB0cmVlLlxuICAgICAgICAgICAgaGlkZU9yVW5oaWRlQWxsQ2hpbGRyZW4ob2Zmc2NyZWVuQm91bmRhcnksIF9pc0hpZGRlbik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yaykge1xuICAvLyBQbGFjZW1lbnQgZWZmZWN0cyAoaW5zZXJ0aW9ucywgcmVvcmRlcnMpIGNhbiBiZSBzY2hlZHVsZWQgb24gYW55IGZpYmVyXG4gIC8vIHR5cGUuIFRoZXkgbmVlZHMgdG8gaGFwcGVuIGFmdGVyIHRoZSBjaGlsZHJlbiBlZmZlY3RzIGhhdmUgZmlyZWQsIGJ1dFxuICAvLyBiZWZvcmUgdGhlIGVmZmVjdHMgb24gdGhpcyBmaWJlciBoYXZlIGZpcmVkLlxuICB2YXIgZmxhZ3MgPSBmaW5pc2hlZFdvcmsuZmxhZ3M7XG5cbiAgaWYgKGZsYWdzICYgUGxhY2VtZW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbW1pdFBsYWNlbWVudChmaW5pc2hlZFdvcmspO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICB9IC8vIENsZWFyIHRoZSBcInBsYWNlbWVudFwiIGZyb20gZWZmZWN0IHRhZyBzbyB0aGF0IHdlIGtub3cgdGhhdCB0aGlzIGlzXG4gICAgLy8gaW5zZXJ0ZWQsIGJlZm9yZSBhbnkgbGlmZS1jeWNsZXMgbGlrZSBjb21wb25lbnREaWRNb3VudCBnZXRzIGNhbGxlZC5cbiAgICAvLyBUT0RPOiBmaW5kRE9NTm9kZSBkb2Vzbid0IHJlbHkgb24gdGhpcyBhbnkgbW9yZSBidXQgaXNNb3VudGVkIGRvZXNcbiAgICAvLyBhbmQgaXNNb3VudGVkIGlzIGRlcHJlY2F0ZWQgYW55d2F5IHNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIGtpbGwgdGhpcy5cblxuXG4gICAgZmluaXNoZWRXb3JrLmZsYWdzICY9IH5QbGFjZW1lbnQ7XG4gIH1cblxuICBpZiAoZmxhZ3MgJiBIeWRyYXRpbmcpIHtcbiAgICBmaW5pc2hlZFdvcmsuZmxhZ3MgJj0gfkh5ZHJhdGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yaywgcm9vdCwgY29tbWl0dGVkTGFuZXMpIHtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gY29tbWl0dGVkTGFuZXM7XG4gIGluUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgbmV4dEVmZmVjdCA9IGZpbmlzaGVkV29yaztcbiAgY29tbWl0TGF5b3V0RWZmZWN0c19iZWdpbihmaW5pc2hlZFdvcmssIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gbnVsbDtcbiAgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcykge1xuICAvLyBTdXNwZW5zZSBsYXlvdXQgZWZmZWN0cyBzZW1hbnRpY3MgZG9uJ3QgY2hhbmdlIGZvciBsZWdhY3kgcm9vdHMuXG4gIHZhciBpc01vZGVyblJvb3QgPSAoc3VidHJlZVJvb3QubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuXG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcbiAgICB2YXIgZmlyc3RDaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKCBmaWJlci50YWcgPT09IE9mZnNjcmVlbkNvbXBvbmVudCAmJiBpc01vZGVyblJvb3QpIHtcbiAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgT2Zmc2NyZWVuIHN0YWNrJ3Mgc3RhdGUuXG4gICAgICB2YXIgaXNIaWRkZW4gPSBmaWJlci5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuICAgICAgdmFyIG5ld09mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiA9IGlzSGlkZGVuIHx8IG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbjtcblxuICAgICAgaWYgKG5ld09mZnNjcmVlblN1YnRyZWVJc0hpZGRlbikge1xuICAgICAgICAvLyBUaGUgT2Zmc2NyZWVuIHRyZWUgaXMgaGlkZGVuLiBTa2lwIG92ZXIgaXRzIGxheW91dCBlZmZlY3RzLlxuICAgICAgICBjb21taXRMYXlvdXRNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPIChPZmZzY3JlZW4pIEFsc28gY2hlY2s6IHN1YnRyZWVGbGFncyAmIExheW91dE1hc2tcbiAgICAgICAgdmFyIGN1cnJlbnQgPSBmaWJlci5hbHRlcm5hdGU7XG4gICAgICAgIHZhciB3YXNIaWRkZW4gPSBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcbiAgICAgICAgdmFyIG5ld09mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSB3YXNIaWRkZW4gfHwgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIHZhciBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47IC8vIFRyYXZlcnNlIHRoZSBPZmZzY3JlZW4gc3VidHJlZSB3aXRoIHRoZSBjdXJyZW50IE9mZnNjcmVlbiBhcyB0aGUgcm9vdC5cblxuICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBuZXdPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBuZXdPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuICYmICFwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHJvb3Qgb2YgYSByZWFwcGVhcmluZyBib3VuZGFyeS4gVHVybiBpdHMgbGF5b3V0IGVmZmVjdHNcbiAgICAgICAgICAvLyBiYWNrIG9uLlxuICAgICAgICAgIG5leHRFZmZlY3QgPSBmaWJlcjtcbiAgICAgICAgICByZWFwcGVhckxheW91dEVmZmVjdHNfYmVnaW4oZmliZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNoaWxkID0gZmlyc3RDaGlsZDtcblxuICAgICAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgICAgICAgY29tbWl0TGF5b3V0RWZmZWN0c19iZWdpbihjaGlsZCwgLy8gTmV3IHJvb3Q7IGJ1YmJsZSBiYWNrIHVwIHRvIGhlcmUgYW5kIHN0b3AuXG4gICAgICAgICAgcm9vdCwgY29tbWl0dGVkTGFuZXMpO1xuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICAgICAgfSAvLyBSZXN0b3JlIE9mZnNjcmVlbiBzdGF0ZSBhbmQgcmVzdW1lIGluIG91ci1wcm9ncmVzcyB0cmF2ZXJzYWwuXG5cblxuICAgICAgICBuZXh0RWZmZWN0ID0gZmliZXI7XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiA9IHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgY29tbWl0TGF5b3V0TW91bnRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcyk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICgoZmliZXIuc3VidHJlZUZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MgJiYgZmlyc3RDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgZmlyc3RDaGlsZC5yZXR1cm4gPSBmaWJlcjtcbiAgICAgIG5leHRFZmZlY3QgPSBmaXJzdENoaWxkO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21taXRMYXlvdXRNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0TGF5b3V0TW91bnRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcykge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG5cbiAgICBpZiAoKGZpYmVyLmZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHZhciBjdXJyZW50ID0gZmliZXIuYWx0ZXJuYXRlO1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29tbWl0TGF5b3V0RWZmZWN0T25GaWJlcihyb290LCBjdXJyZW50LCBmaWJlciwgY29tbWl0dGVkTGFuZXMpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIH1cblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzYXBwZWFyTGF5b3V0RWZmZWN0c19iZWdpbihzdWJ0cmVlUm9vdCkge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG4gICAgdmFyIGZpcnN0Q2hpbGQgPSBmaWJlci5jaGlsZDsgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiAoUmVmU3RhdGljIHwgTGF5b3V0U3RhdGljKVxuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoIGZpYmVyLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0LCBmaWJlciwgZmliZXIucmV0dXJuKTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpYmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCwgZmliZXIsIGZpYmVyLnJldHVybik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgUmVmU3RhdGljXG4gICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVubW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChmaWJlciwgZmliZXIucmV0dXJuLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhXG4gICAgICAgICAgdmFyIGlzSGlkZGVuID0gZmliZXIubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgLy8gTmVzdGVkIE9mZnNjcmVlbiB0cmVlIGlzIGFscmVhZHkgaGlkZGVuLiBEb24ndCBkaXNhcHBlYXJcbiAgICAgICAgICAgIC8vIGl0cyBlZmZlY3RzLlxuICAgICAgICAgICAgZGlzYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogc3VidHJlZUZsYWdzICYgTGF5b3V0U3RhdGljXG5cblxuICAgIGlmIChmaXJzdENoaWxkICE9PSBudWxsKSB7XG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc2FwcGVhckxheW91dEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkaXNhcHBlYXJMYXlvdXRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290KSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhcHBlYXJMYXlvdXRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290KSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcbiAgICB2YXIgZmlyc3RDaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKGZpYmVyLnRhZyA9PT0gT2Zmc2NyZWVuQ29tcG9uZW50KSB7XG4gICAgICB2YXIgaXNIaWRkZW4gPSBmaWJlci5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICBpZiAoaXNIaWRkZW4pIHtcbiAgICAgICAgLy8gTmVzdGVkIE9mZnNjcmVlbiB0cmVlIGlzIHN0aWxsIGhpZGRlbi4gRG9uJ3QgcmUtYXBwZWFyIGl0cyBlZmZlY3RzLlxuICAgICAgICByZWFwcGVhckxheW91dEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9IC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IHN1YnRyZWVGbGFncyAmIExheW91dFN0YXRpY1xuXG5cbiAgICBpZiAoZmlyc3RDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBub2RlIG1heSBoYXZlIGJlZW4gcmV1c2VkIGZyb20gYSBwcmV2aW91cyByZW5kZXIsIHNvIHdlIGNhbid0XG4gICAgICAvLyBhc3N1bWUgaXRzIHJldHVybiBwb2ludGVyIGlzIGNvcnJlY3QuXG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCkge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7IC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgTGF5b3V0U3RhdGljXG5cbiAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJlYXBwZWFyTGF5b3V0RWZmZWN0c09uRmliZXIoZmliZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgfVxuXG4gICAgcmVzZXRDdXJyZW50RmliZXIoKTtcblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIG5vZGUgbWF5IGhhdmUgYmVlbiByZXVzZWQgZnJvbSBhIHByZXZpb3VzIHJlbmRlciwgc28gd2UgY2FuJ3RcbiAgICAgIC8vIGFzc3VtZSBpdHMgcmV0dXJuIHBvaW50ZXIgaXMgY29ycmVjdC5cbiAgICAgIHNpYmxpbmcucmV0dXJuID0gZmliZXIucmV0dXJuO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IGZpYmVyLnJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zKSB7XG4gIG5leHRFZmZlY3QgPSBmaW5pc2hlZFdvcms7XG4gIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfYmVnaW4oZmluaXNoZWRXb3JrLCByb290LCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBmaXJzdENoaWxkID0gZmliZXIuY2hpbGQ7XG5cbiAgICBpZiAoKGZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyAmJiBmaXJzdENoaWxkICE9PSBudWxsKSB7XG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucykge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG5cbiAgICBpZiAoKGZpYmVyLmZsYWdzICYgUGFzc2l2ZSkgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbW1pdFBhc3NpdmVNb3VudE9uRmliZXIocm9vdCwgZmliZXIsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyID09PSBzdWJ0cmVlUm9vdCkge1xuICAgICAgbmV4dEVmZmVjdCA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHNpYmxpbmcgPSBmaWJlci5zaWJsaW5nO1xuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIHNpYmxpbmcucmV0dXJuID0gZmliZXIucmV0dXJuO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IGZpYmVyLnJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRPbkZpYmVyKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpIHtcbiAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICBzdGFydFBhc3NpdmVFZmZlY3RUaW1lcigpO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICByZWNvcmRQYXNzaXZlRWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHMoZmlyc3RDaGlsZCkge1xuICBuZXh0RWZmZWN0ID0gZmlyc3RDaGlsZDtcbiAgY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzX2JlZ2luKCk7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c19iZWdpbigpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKChuZXh0RWZmZWN0LmZsYWdzICYgQ2hpbGREZWxldGlvbikgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHZhciBkZWxldGlvbnMgPSBmaWJlci5kZWxldGlvbnM7XG5cbiAgICAgIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZWxldGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgZmliZXJUb0RlbGV0ZSA9IGRlbGV0aW9uc1tpXTtcbiAgICAgICAgICBuZXh0RWZmZWN0ID0gZmliZXJUb0RlbGV0ZTtcbiAgICAgICAgICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNJbnNpZGVPZkRlbGV0ZWRUcmVlX2JlZ2luKGZpYmVyVG9EZWxldGUsIGZpYmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBBIGZpYmVyIHdhcyBkZWxldGVkIGZyb20gdGhpcyBwYXJlbnQgZmliZXIsIGJ1dCBpdCdzIHN0aWxsIHBhcnQgb2ZcbiAgICAgICAgICAvLyB0aGUgcHJldmlvdXMgKGFsdGVybmF0ZSkgcGFyZW50IGZpYmVyJ3MgbGlzdCBvZiBjaGlsZHJlbi4gQmVjYXVzZVxuICAgICAgICAgIC8vIGNoaWxkcmVuIGFyZSBhIGxpbmtlZCBsaXN0LCBhbiBlYXJsaWVyIHNpYmxpbmcgdGhhdCdzIHN0aWxsIGFsaXZlXG4gICAgICAgICAgLy8gd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIGRlbGV0ZWQgZmliZXIgdmlhIGl0cyBgYWx0ZXJuYXRlYDpcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vICAgbGl2ZSBmaWJlclxuICAgICAgICAgIC8vICAgLS1hbHRlcm5hdGUtLT4gcHJldmlvdXMgbGl2ZSBmaWJlclxuICAgICAgICAgIC8vICAgLS1zaWJsaW5nLS0+IGRlbGV0ZWQgZmliZXJcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFdlIGNhbid0IGRpc2Nvbm5lY3QgYGFsdGVybmF0ZWAgb24gbm9kZXMgdGhhdCBoYXZlbid0IGJlZW4gZGVsZXRlZFxuICAgICAgICAgIC8vIHlldCwgYnV0IHdlIGNhbiBkaXNjb25uZWN0IHRoZSBgc2libGluZ2AgYW5kIGBjaGlsZGAgcG9pbnRlcnMuXG4gICAgICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgICBpZiAocHJldmlvdXNGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIGRldGFjaGVkQ2hpbGQgPSBwcmV2aW91c0ZpYmVyLmNoaWxkO1xuXG4gICAgICAgICAgICBpZiAoZGV0YWNoZWRDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBwcmV2aW91c0ZpYmVyLmNoaWxkID0gbnVsbDtcblxuICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgdmFyIGRldGFjaGVkU2libGluZyA9IGRldGFjaGVkQ2hpbGQuc2libGluZztcbiAgICAgICAgICAgICAgICBkZXRhY2hlZENoaWxkLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgICAgICAgIGRldGFjaGVkQ2hpbGQgPSBkZXRhY2hlZFNpYmxpbmc7XG4gICAgICAgICAgICAgIH0gd2hpbGUgKGRldGFjaGVkQ2hpbGQgIT09IG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5leHRFZmZlY3QgPSBmaWJlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoKGZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyAmJiBjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgY2hpbGQucmV0dXJuID0gZmliZXI7XG4gICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c19jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNfY29tcGxldGUoKSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcblxuICAgIGlmICgoZmliZXIuZmxhZ3MgJiBQYXNzaXZlKSAhPT0gTm9GbGFncykge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50T25GaWJlcihmaWJlcik7XG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRPbkZpYmVyKGZpbmlzaGVkV29yaykge1xuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIGlmICggZmluaXNoZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KFBhc3NpdmUkMSB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuKTtcbiAgICAgICAgICByZWNvcmRQYXNzaXZlRWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzSW5zaWRlT2ZEZWxldGVkVHJlZV9iZWdpbihkZWxldGVkU3VidHJlZVJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0OyAvLyBEZWxldGlvbiBlZmZlY3RzIGZpcmUgaW4gcGFyZW50IC0+IGNoaWxkIG9yZGVyXG4gICAgLy8gVE9ETzogQ2hlY2sgaWYgZmliZXIgaGFzIGEgUGFzc2l2ZVN0YXRpYyBmbGFnXG5cbiAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50SW5zaWRlRGVsZXRlZFRyZWVPbkZpYmVyKGZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkOyAvLyBUT0RPOiBPbmx5IHRyYXZlcnNlIHN1YnRyZWUgaWYgaXQgaGFzIGEgUGFzc2l2ZVN0YXRpYyBmbGFnLiAoQnV0LCBpZiB3ZVxuICAgIC8vIGRvIHRoaXMsIHN0aWxsIG5lZWQgdG8gaGFuZGxlIGBkZWxldGVkVHJlZUNsZWFuVXBMZXZlbGAgY29ycmVjdGx5LilcblxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgY2hpbGQucmV0dXJuID0gZmliZXI7XG4gICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c0luc2lkZU9mRGVsZXRlZFRyZWVfY29tcGxldGUoZGVsZXRlZFN1YnRyZWVSb290KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzSW5zaWRlT2ZEZWxldGVkVHJlZV9jb21wbGV0ZShkZWxldGVkU3VidHJlZVJvb3QpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcbiAgICB2YXIgcmV0dXJuRmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgICB7XG4gICAgICAvLyBSZWN1cnNpdmVseSB0cmF2ZXJzZSB0aGUgZW50aXJlIGRlbGV0ZWQgdHJlZSBhbmQgY2xlYW4gdXAgZmliZXIgZmllbGRzLlxuICAgICAgLy8gVGhpcyBpcyBtb3JlIGFnZ3Jlc3NpdmUgdGhhbiBpZGVhbCwgYW5kIHRoZSBsb25nIHRlcm0gZ29hbCBpcyB0byBvbmx5XG4gICAgICAvLyBoYXZlIHRvIGRldGFjaCB0aGUgZGVsZXRlZCB0cmVlIGF0IHRoZSByb290LlxuICAgICAgZGV0YWNoRmliZXJBZnRlckVmZmVjdHMoZmliZXIpO1xuXG4gICAgICBpZiAoZmliZXIgPT09IGRlbGV0ZWRTdWJ0cmVlUm9vdCkge1xuICAgICAgICBuZXh0RWZmZWN0ID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IHJldHVybkZpYmVyO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50SW5zaWRlRGVsZXRlZFRyZWVPbkZpYmVyKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgc3dpdGNoIChjdXJyZW50LnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCBjdXJyZW50Lm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KFBhc3NpdmUkMSwgY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcik7XG4gICAgICAgICAgcmVjb3JkUGFzc2l2ZUVmZmVjdER1cmF0aW9uKGN1cnJlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChQYXNzaXZlJDEsIGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn0gLy8gVE9ETzogUmV1c2UgcmVhcHBlYXJMYXlvdXRFZmZlY3RzIHRyYXZlcnNhbCBoZXJlP1xuXG5cbmZ1bmN0aW9uIGludm9rZUxheW91dEVmZmVjdE1vdW50SW5ERVYoZmliZXIpIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaWJlcik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VQYXNzaXZlRWZmZWN0TW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpYmVyKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGludm9rZUxheW91dEVmZmVjdFVubW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCB8IEhhc0VmZmVjdCwgZmliZXIsIGZpYmVyLnJldHVybik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGZpYmVyLCBmaWJlci5yZXR1cm4sIGluc3RhbmNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VQYXNzaXZlRWZmZWN0VW5tb3VudEluREVWKGZpYmVyKSB7XG4gIHtcbiAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHJlLWNoZWNrIFN0cmljdEVmZmVjdHNNb2RlIGhlcmUuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBpZiB0aGF0IGNoZWNrIGhhcyBhbHJlYWR5IHBhc3NlZC5cbiAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaWJlciwgZmliZXIucmV0dXJuKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgQ09NUE9ORU5UX1RZUEUgPSAwO1xudmFyIEhBU19QU0VVRE9fQ0xBU1NfVFlQRSA9IDE7XG52YXIgUk9MRV9UWVBFID0gMjtcbnZhciBURVNUX05BTUVfVFlQRSA9IDM7XG52YXIgVEVYVF9UWVBFID0gNDtcblxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcikge1xuICB2YXIgc3ltYm9sRm9yID0gU3ltYm9sLmZvcjtcbiAgQ09NUE9ORU5UX1RZUEUgPSBzeW1ib2xGb3IoJ3NlbGVjdG9yLmNvbXBvbmVudCcpO1xuICBIQVNfUFNFVURPX0NMQVNTX1RZUEUgPSBzeW1ib2xGb3IoJ3NlbGVjdG9yLmhhc19wc2V1ZG9fY2xhc3MnKTtcbiAgUk9MRV9UWVBFID0gc3ltYm9sRm9yKCdzZWxlY3Rvci5yb2xlJyk7XG4gIFRFU1RfTkFNRV9UWVBFID0gc3ltYm9sRm9yKCdzZWxlY3Rvci50ZXN0X2lkJyk7XG4gIFRFWFRfVFlQRSA9IHN5bWJvbEZvcignc2VsZWN0b3IudGV4dCcpO1xufVxudmFyIGNvbW1pdEhvb2tzID0gW107XG5mdW5jdGlvbiBvbkNvbW1pdFJvb3QkMSgpIHtcbiAge1xuICAgIGNvbW1pdEhvb2tzLmZvckVhY2goZnVuY3Rpb24gKGNvbW1pdEhvb2spIHtcbiAgICAgIHJldHVybiBjb21taXRIb29rKCk7XG4gICAgfSk7XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudEFjdFF1ZXVlID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QWN0UXVldWU7XG5mdW5jdGlvbiBpc0xlZ2FjeUFjdEVudmlyb25tZW50KGZpYmVyKSB7XG4gIHtcbiAgICAvLyBMZWdhY3kgbW9kZS4gV2UgcHJlc2VydmUgdGhlIGJlaGF2aW9yIG9mIFJlYWN0IDE3J3MgYWN0LiBJdCBhc3N1bWVzIGFuXG4gICAgLy8gYWN0IGVudmlyb25tZW50IHdoZW5ldmVyIGBqZXN0YCBpcyBkZWZpbmVkLCBidXQgeW91IGNhbiBzdGlsbCB0dXJuIG9mZlxuICAgIC8vIHNwdXJpb3VzIHdhcm5pbmdzIGJ5IHNldHRpbmcgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UIGV4cGxpY2l0bHlcbiAgICAvLyB0byBmYWxzZS5cbiAgICB2YXIgaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsID0gLy8gJEZsb3dFeHBlY3RlZEVycm9yIOKAkyBGbG93IGRvZXNuJ3Qga25vdyBhYm91dCBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgZ2xvYmFsXG4gICAgdHlwZW9mIElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCAhPT0gJ3VuZGVmaW5lZCcgPyBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgOiB1bmRlZmluZWQ7IC8vICRGbG93RXhwZWN0ZWRFcnJvciAtIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IGplc3RcblxuICAgIHZhciBqZXN0SXNEZWZpbmVkID0gdHlwZW9mIGplc3QgIT09ICd1bmRlZmluZWQnO1xuICAgIHJldHVybiAgamVzdElzRGVmaW5lZCAmJiBpc1JlYWN0QWN0RW52aXJvbm1lbnRHbG9iYWwgIT09IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpIHtcbiAge1xuICAgIHZhciBpc1JlYWN0QWN0RW52aXJvbm1lbnRHbG9iYWwgPSAvLyAkRmxvd0V4cGVjdGVkRXJyb3Ig4oCTIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCBnbG9iYWxcbiAgICB0eXBlb2YgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UICE9PSAndW5kZWZpbmVkJyA/IElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsICYmIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IEluY2x1ZGUgbGluayB0byByZWxldmFudCBkb2N1bWVudGF0aW9uIHBhZ2UuXG4gICAgICBlcnJvcignVGhlIGN1cnJlbnQgdGVzdGluZyBlbnZpcm9ubWVudCBpcyBub3QgY29uZmlndXJlZCB0byBzdXBwb3J0ICcgKyAnYWN0KC4uLiknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsO1xuICB9XG59XG5cbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyLFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcbiAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QWN0UXVldWU7XG52YXIgTm9Db250ZXh0ID1cbi8qICAgICAgICAgICAgICovXG4wO1xudmFyIEJhdGNoZWRDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgKi9cbjE7XG52YXIgUmVuZGVyQ29udGV4dCA9XG4vKiAgICAgICAgICAgICAgICAqL1xuMjtcbnZhciBDb21taXRDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgICovXG40O1xudmFyIFJvb3RJblByb2dyZXNzID0gMDtcbnZhciBSb290RmF0YWxFcnJvcmVkID0gMTtcbnZhciBSb290RXJyb3JlZCA9IDI7XG52YXIgUm9vdFN1c3BlbmRlZCA9IDM7XG52YXIgUm9vdFN1c3BlbmRlZFdpdGhEZWxheSA9IDQ7XG52YXIgUm9vdENvbXBsZXRlZCA9IDU7XG52YXIgUm9vdERpZE5vdENvbXBsZXRlID0gNjsgLy8gRGVzY3JpYmVzIHdoZXJlIHdlIGFyZSBpbiB0aGUgUmVhY3QgZXhlY3V0aW9uIHN0YWNrXG5cbnZhciBleGVjdXRpb25Db250ZXh0ID0gTm9Db250ZXh0OyAvLyBUaGUgcm9vdCB3ZSdyZSB3b3JraW5nIG9uXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsOyAvLyBUaGUgZmliZXIgd2UncmUgd29ya2luZyBvblxuXG52YXIgd29ya0luUHJvZ3Jlc3MgPSBudWxsOyAvLyBUaGUgbGFuZXMgd2UncmUgcmVuZGVyaW5nXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIFN0YWNrIHRoYXQgYWxsb3dzIGNvbXBvbmVudHMgdG8gY2hhbmdlIHRoZSByZW5kZXIgbGFuZXMgZm9yIGl0cyBzdWJ0cmVlXG4vLyBUaGlzIGlzIGEgc3VwZXJzZXQgb2YgdGhlIGxhbmVzIHdlIHN0YXJ0ZWQgd29ya2luZyBvbiBhdCB0aGUgcm9vdC4gVGhlIG9ubHlcbi8vIGNhc2Ugd2hlcmUgaXQncyBkaWZmZXJlbnQgZnJvbSBgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXNgIGlzIHdoZW4gd2Vcbi8vIGVudGVyIGEgc3VidHJlZSB0aGF0IGlzIGhpZGRlbiBhbmQgbmVlZHMgdG8gYmUgdW5oaWRkZW46IFN1c3BlbnNlIGFuZFxuLy8gT2Zmc2NyZWVuIGNvbXBvbmVudC5cbi8vXG4vLyBNb3N0IHRoaW5ncyBpbiB0aGUgd29yayBsb29wIHNob3VsZCBkZWFsIHdpdGggd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMuXG4vLyBNb3N0IHRoaW5ncyBpbiBiZWdpbi9jb21wbGV0ZSBwaGFzZXMgc2hvdWxkIGRlYWwgd2l0aCBzdWJ0cmVlUmVuZGVyTGFuZXMuXG5cbnZhciBzdWJ0cmVlUmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xudmFyIHN1YnRyZWVSZW5kZXJMYW5lc0N1cnNvciA9IGNyZWF0ZUN1cnNvcihOb0xhbmVzKTsgLy8gV2hldGhlciB0byByb290IGNvbXBsZXRlZCwgZXJyb3JlZCwgc3VzcGVuZGVkLCBldGMuXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdEluUHJvZ3Jlc3M7IC8vIEEgZmF0YWwgZXJyb3IsIGlmIG9uZSBpcyB0aHJvd25cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSBudWxsOyAvLyBcIkluY2x1ZGVkXCIgbGFuZXMgcmVmZXIgdG8gbGFuZXMgdGhhdCB3ZXJlIHdvcmtlZCBvbiBkdXJpbmcgdGhpcyByZW5kZXIuIEl0J3Ncbi8vIHNsaWdodGx5IGRpZmZlcmVudCB0aGFuIGByZW5kZXJMYW5lc2AgYmVjYXVzZSBgcmVuZGVyTGFuZXNgIGNhbiBjaGFuZ2UgYXMgeW91XG4vLyBlbnRlciBhbmQgZXhpdCBhbiBPZmZzY3JlZW4gdHJlZS4gVGhpcyB2YWx1ZSBpcyB0aGUgY29tYmluYXRpb24gb2YgYWxsIHJlbmRlclxuLy8gbGFuZXMgZm9yIHRoZSBlbnRpcmUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcyA9IE5vTGFuZXM7IC8vIFRoZSB3b3JrIGxlZnQgb3ZlciBieSBjb21wb25lbnRzIHRoYXQgd2VyZSB2aXNpdGVkIGR1cmluZyB0aGlzIHJlbmRlci4gT25seVxuLy8gaW5jbHVkZXMgdW5wcm9jZXNzZWQgdXBkYXRlcywgbm90IHdvcmsgaW4gYmFpbGVkIG91dCBjaGlsZHJlbi5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyA9IE5vTGFuZXM7IC8vIExhbmVzIHRoYXQgd2VyZSB1cGRhdGVkIChpbiBhbiBpbnRlcmxlYXZlZCBldmVudCkgZHVyaW5nIHRoaXMgcmVuZGVyLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBOb0xhbmVzOyAvLyBMYW5lcyB0aGF0IHdlcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSAoKm5vdCogYW4gaW50ZXJsZWF2ZWQgZXZlbnQpLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290UGluZ2VkTGFuZXMgPSBOb0xhbmVzOyAvLyBFcnJvcnMgdGhhdCBhcmUgdGhyb3duIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycyA9IG51bGw7IC8vIFRoZXNlIGFyZSBlcnJvcnMgdGhhdCB3ZSByZWNvdmVyZWQgZnJvbSB3aXRob3V0IHN1cmZhY2luZyB0aGVtIHRvIHRoZSBVSS5cbi8vIFdlIHdpbGwgbG9nIHRoZW0gb25jZSB0aGUgdHJlZSBjb21taXRzLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMgPSBudWxsOyAvLyBUaGUgbW9zdCByZWNlbnQgdGltZSB3ZSBjb21taXR0ZWQgYSBmYWxsYmFjay4gVGhpcyBsZXRzIHVzIGVuc3VyZSBhIHRyYWluXG4vLyBtb2RlbCB3aGVyZSB3ZSBkb24ndCBjb21taXQgbmV3IGxvYWRpbmcgc3RhdGVzIGluIHRvbyBxdWljayBzdWNjZXNzaW9uLlxuXG52YXIgZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSA9IDA7XG52YXIgRkFMTEJBQ0tfVEhST1RUTEVfTVMgPSA1MDA7IC8vIFRoZSBhYnNvbHV0ZSB0aW1lIGZvciB3aGVuIHdlIHNob3VsZCBzdGFydCBnaXZpbmcgdXAgb24gcmVuZGVyaW5nXG4vLyBtb3JlIGFuZCBwcmVmZXIgQ1BVIHN1c3BlbnNlIGhldXJpc3RpY3MgaW5zdGVhZC5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBJbmZpbml0eTsgLy8gSG93IGxvbmcgYSByZW5kZXIgaXMgc3VwcG9zZWQgdG8gdGFrZSBiZWZvcmUgd2Ugc3RhcnQgZm9sbG93aW5nIENQVVxuLy8gc3VzcGVuc2UgaGV1cmlzdGljcyBhbmQgb3B0IG91dCBvZiByZW5kZXJpbmcgbW9yZSBjb250ZW50LlxuXG52YXIgUkVOREVSX1RJTUVPVVRfTVMgPSA1MDA7XG52YXIgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyA9IG51bGw7XG5cbmZ1bmN0aW9uIHJlc2V0UmVuZGVyVGltZXIoKSB7XG4gIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBub3coKSArIFJFTkRFUl9USU1FT1VUX01TO1xufVxuXG5mdW5jdGlvbiBnZXRSZW5kZXJUYXJnZXRUaW1lKCkge1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyVGFyZ2V0VGltZTtcbn1cbnZhciBoYXNVbmNhdWdodEVycm9yID0gZmFsc2U7XG52YXIgZmlyc3RVbmNhdWdodEVycm9yID0gbnVsbDtcbnZhciBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7IC8vIE9ubHkgdXNlZCB3aGVuIGVuYWJsZVByb2ZpbGVyTmVzdGVkVXBkYXRlU2NoZWR1bGVkSG9vayBpcyB0cnVlO1xudmFyIHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG52YXIgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsO1xudmFyIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzID0gTm9MYW5lcztcbnZhciBwZW5kaW5nUGFzc2l2ZVByb2ZpbGVyRWZmZWN0cyA9IFtdO1xudmFyIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsOyAvLyBVc2UgdGhlc2UgdG8gcHJldmVudCBhbiBpbmZpbml0ZSBsb29wIG9mIG5lc3RlZCB1cGRhdGVzXG5cbnZhciBORVNURURfVVBEQVRFX0xJTUlUID0gNTA7XG52YXIgbmVzdGVkVXBkYXRlQ291bnQgPSAwO1xudmFyIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IG51bGw7XG52YXIgaXNGbHVzaGluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG52YXIgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xudmFyIE5FU1RFRF9QQVNTSVZFX1VQREFURV9MSU1JVCA9IDUwO1xudmFyIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG52YXIgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7IC8vIElmIHR3byB1cGRhdGVzIGFyZSBzY2hlZHVsZWQgd2l0aGluIHRoZSBzYW1lIGV2ZW50LCB3ZSBzaG91bGQgdHJlYXQgdGhlaXJcbi8vIGV2ZW50IHRpbWVzIGFzIHNpbXVsdGFuZW91cywgZXZlbiBpZiB0aGUgYWN0dWFsIGNsb2NrIHRpbWUgaGFzIGFkdmFuY2VkXG4vLyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgc2Vjb25kIGNhbGwuXG5cbnZhciBjdXJyZW50RXZlbnRUaW1lID0gTm9UaW1lc3RhbXA7XG52YXIgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBOb0xhbmVzO1xudmFyIGlzUnVubmluZ0luc2VydGlvbkVmZmVjdCA9IGZhbHNlO1xuZnVuY3Rpb24gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCkge1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290O1xufVxuZnVuY3Rpb24gcmVxdWVzdEV2ZW50VGltZSgpIHtcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIC8vIFdlJ3JlIGluc2lkZSBSZWFjdCwgc28gaXQncyBmaW5lIHRvIHJlYWQgdGhlIGFjdHVhbCB0aW1lLlxuICAgIHJldHVybiBub3coKTtcbiAgfSAvLyBXZSdyZSBub3QgaW5zaWRlIFJlYWN0LCBzbyB3ZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBhIGJyb3dzZXIgZXZlbnQuXG5cblxuICBpZiAoY3VycmVudEV2ZW50VGltZSAhPT0gTm9UaW1lc3RhbXApIHtcbiAgICAvLyBVc2UgdGhlIHNhbWUgc3RhcnQgdGltZSBmb3IgYWxsIHVwZGF0ZXMgdW50aWwgd2UgZW50ZXIgUmVhY3QgYWdhaW4uXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XG4gIH0gLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlIHNpbmNlIFJlYWN0IHlpZWxkZWQuIENvbXB1dGUgYSBuZXcgc3RhcnQgdGltZS5cblxuXG4gIGN1cnJlbnRFdmVudFRpbWUgPSBub3coKTtcbiAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XG59XG5mdW5jdGlvbiByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcikge1xuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfSBlbHNlIGlmICggKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0ICYmIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIFRoZXNlIGFyZSBub3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQuIFRoZVxuICAgIC8vIG9sZCBiZWhhdmlvciBpcyB0byBnaXZlIHRoaXMgdGhlIHNhbWUgXCJ0aHJlYWRcIiAobGFuZXMpIGFzXG4gICAgLy8gd2hhdGV2ZXIgaXMgY3VycmVudGx5IHJlbmRlcmluZy4gU28gaWYgeW91IGNhbGwgYHNldFN0YXRlYCBvbiBhIGNvbXBvbmVudFxuICAgIC8vIHRoYXQgaGFwcGVucyBsYXRlciBpbiB0aGUgc2FtZSByZW5kZXIsIGl0IHdpbGwgZmx1c2guIElkZWFsbHksIHdlIHdhbnQgdG9cbiAgICAvLyByZW1vdmUgdGhlIHNwZWNpYWwgY2FzZSBhbmQgdHJlYXQgdGhlbSBhcyBpZiB0aGV5IGNhbWUgZnJvbSBhblxuICAgIC8vIGludGVybGVhdmVkIGV2ZW50LiBSZWdhcmRsZXNzLCB0aGlzIHBhdHRlcm4gaXMgbm90IG9mZmljaWFsbHkgc3VwcG9ydGVkLlxuICAgIC8vIFRoaXMgYmVoYXZpb3IgaXMgb25seSBhIGZhbGxiYWNrLiBUaGUgZmxhZyBvbmx5IGV4aXN0cyB1bnRpbCB3ZSBjYW4gcm9sbFxuICAgIC8vIG91dCB0aGUgc2V0U3RhdGUgd2FybmluZywgc2luY2UgZXhpc3RpbmcgY29kZSBtaWdodCBhY2NpZGVudGFsbHkgcmVseSBvblxuICAgIC8vIHRoZSBjdXJyZW50IGJlaGF2aW9yLlxuICAgIHJldHVybiBwaWNrQXJiaXRyYXJ5TGFuZSh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gIH1cblxuICB2YXIgaXNUcmFuc2l0aW9uID0gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCkgIT09IE5vVHJhbnNpdGlvbjtcblxuICBpZiAoaXNUcmFuc2l0aW9uKSB7XG4gICAgaWYgKCBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHZhciB0cmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uO1xuXG4gICAgICBpZiAoIXRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMpIHtcbiAgICAgICAgdHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycyA9IG5ldyBTZXQoKTtcbiAgICAgIH1cblxuICAgICAgdHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5hZGQoZmliZXIpO1xuICAgIH0gLy8gVGhlIGFsZ29yaXRobSBmb3IgYXNzaWduaW5nIGFuIHVwZGF0ZSB0byBhIGxhbmUgc2hvdWxkIGJlIHN0YWJsZSBmb3IgYWxsXG4gICAgLy8gdXBkYXRlcyBhdCB0aGUgc2FtZSBwcmlvcml0eSB3aXRoaW4gdGhlIHNhbWUgZXZlbnQuIFRvIGRvIHRoaXMsIHRoZVxuICAgIC8vIGlucHV0cyB0byB0aGUgYWxnb3JpdGhtIG11c3QgYmUgdGhlIHNhbWUuXG4gICAgLy9cbiAgICAvLyBUaGUgdHJpY2sgd2UgdXNlIGlzIHRvIGNhY2hlIHRoZSBmaXJzdCBvZiBlYWNoIG9mIHRoZXNlIGlucHV0cyB3aXRoaW4gYW5cbiAgICAvLyBldmVudC4gVGhlbiByZXNldCB0aGUgY2FjaGVkIHZhbHVlcyBvbmNlIHdlIGNhbiBiZSBzdXJlIHRoZSBldmVudCBpc1xuICAgIC8vIG92ZXIuIE91ciBoZXVyaXN0aWMgZm9yIHRoYXQgaXMgd2hlbmV2ZXIgd2UgZW50ZXIgYSBjb25jdXJyZW50IHdvcmsgbG9vcC5cblxuXG4gICAgaWYgKGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lID09PSBOb0xhbmUpIHtcbiAgICAgIC8vIEFsbCB0cmFuc2l0aW9ucyB3aXRoaW4gdGhlIHNhbWUgZXZlbnQgYXJlIGFzc2lnbmVkIHRoZSBzYW1lIGxhbmUuXG4gICAgICBjdXJyZW50RXZlbnRUcmFuc2l0aW9uTGFuZSA9IGNsYWltTmV4dFRyYW5zaXRpb25MYW5lKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lO1xuICB9IC8vIFVwZGF0ZXMgb3JpZ2luYXRpbmcgaW5zaWRlIGNlcnRhaW4gUmVhY3QgbWV0aG9kcywgbGlrZSBmbHVzaFN5bmMsIGhhdmVcbiAgLy8gdGhlaXIgcHJpb3JpdHkgc2V0IGJ5IHRyYWNraW5nIGl0IHdpdGggYSBjb250ZXh0IHZhcmlhYmxlLlxuICAvL1xuICAvLyBUaGUgb3BhcXVlIHR5cGUgcmV0dXJuZWQgYnkgdGhlIGhvc3QgY29uZmlnIGlzIGludGVybmFsbHkgYSBsYW5lLCBzbyB3ZSBjYW5cbiAgLy8gdXNlIHRoYXQgZGlyZWN0bHkuXG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0eXBlIGNvbnZlcnNpb24gdG8gdGhlIGV2ZW50IHByaW9yaXR5IG1vZHVsZS5cblxuXG4gIHZhciB1cGRhdGVMYW5lID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgaWYgKHVwZGF0ZUxhbmUgIT09IE5vTGFuZSkge1xuICAgIHJldHVybiB1cGRhdGVMYW5lO1xuICB9IC8vIFRoaXMgdXBkYXRlIG9yaWdpbmF0ZWQgb3V0c2lkZSBSZWFjdC4gQXNrIHRoZSBob3N0IGVudmlyb25tZW50IGZvciBhblxuICAvLyBhcHByb3ByaWF0ZSBwcmlvcml0eSwgYmFzZWQgb24gdGhlIHR5cGUgb2YgZXZlbnQuXG4gIC8vXG4gIC8vIFRoZSBvcGFxdWUgdHlwZSByZXR1cm5lZCBieSB0aGUgaG9zdCBjb25maWcgaXMgaW50ZXJuYWxseSBhIGxhbmUsIHNvIHdlIGNhblxuICAvLyB1c2UgdGhhdCBkaXJlY3RseS5cbiAgLy8gVE9ETzogTW92ZSB0aGlzIHR5cGUgY29udmVyc2lvbiB0byB0aGUgZXZlbnQgcHJpb3JpdHkgbW9kdWxlLlxuXG5cbiAgdmFyIGV2ZW50TGFuZSA9IGdldEN1cnJlbnRFdmVudFByaW9yaXR5KCk7XG4gIHJldHVybiBldmVudExhbmU7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RSZXRyeUxhbmUoZmliZXIpIHtcbiAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgYHJlcXVlc3RVcGRhdGVMYW5lYCBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgZm9yIFN1c3BlbnNlXG4gIC8vIFwicmV0cmllc1wiIOKAlCBhIHNwZWNpYWwgdXBkYXRlIHRoYXQgYXR0ZW1wdHMgdG8gZmxpcCBhIFN1c3BlbnNlIGJvdW5kYXJ5XG4gIC8vIGZyb20gaXRzIHBsYWNlaG9sZGVyIHN0YXRlIHRvIGl0cyBwcmltYXJ5L3Jlc29sdmVkIHN0YXRlLlxuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfVxuXG4gIHJldHVybiBjbGFpbU5leHRSZXRyeUxhbmUoKTtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpIHtcbiAgY2hlY2tGb3JOZXN0ZWRVcGRhdGVzKCk7XG5cbiAge1xuICAgIGlmIChpc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QpIHtcbiAgICAgIGVycm9yKCd1c2VJbnNlcnRpb25FZmZlY3QgbXVzdCBub3Qgc2NoZWR1bGUgdXBkYXRlcy4nKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKGlzRmx1c2hpbmdQYXNzaXZlRWZmZWN0cykge1xuICAgICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IHRydWU7XG4gICAgfVxuICB9IC8vIE1hcmsgdGhhdCB0aGUgcm9vdCBoYXMgYSBwZW5kaW5nIHVwZGF0ZS5cblxuXG4gIG1hcmtSb290VXBkYXRlZChyb290LCBsYW5lLCBldmVudFRpbWUpO1xuXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpICE9PSBOb0xhbmVzICYmIHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCkge1xuICAgIC8vIFRoaXMgdXBkYXRlIHdhcyBkaXNwYXRjaGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLiBUaGlzIGlzIGEgbWlzdGFrZVxuICAgIC8vIGlmIHRoZSB1cGRhdGUgb3JpZ2luYXRlcyBmcm9tIHVzZXIgc3BhY2UgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBsb2NhbFxuICAgIC8vIGhvb2sgdXBkYXRlcywgd2hpY2ggYXJlIGhhbmRsZWQgZGlmZmVyZW50bHkgYW5kIGRvbid0IHJlYWNoIHRoaXNcbiAgICAvLyBmdW5jdGlvbiksIGJ1dCB0aGVyZSBhcmUgc29tZSBpbnRlcm5hbCBSZWFjdCBmZWF0dXJlcyB0aGF0IHVzZSB0aGlzIGFzXG4gICAgLy8gYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsLCBsaWtlIHNlbGVjdGl2ZSBoeWRyYXRpb24uXG4gICAgd2FybkFib3V0UmVuZGVyUGhhc2VVcGRhdGVzSW5ERVYoZmliZXIpOyAvLyBUcmFjayBsYW5lcyB0aGF0IHdlcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgYSBub3JtYWwgdXBkYXRlLCBzY2hlZHVsZWQgZnJvbSBvdXRzaWRlIHRoZSByZW5kZXIgcGhhc2UuIEZvclxuICAgIC8vIGV4YW1wbGUsIGR1cmluZyBhbiBpbnB1dCBldmVudC5cbiAgICB7XG4gICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgYWRkRmliZXJUb0xhbmVzTWFwKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3YXJuSWZVcGRhdGVzTm90V3JhcHBlZFdpdGhBY3RERVYoZmliZXIpO1xuXG4gICAgaWYgKHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCkge1xuICAgICAgLy8gUmVjZWl2ZWQgYW4gdXBkYXRlIHRvIGEgdHJlZSB0aGF0J3MgaW4gdGhlIG1pZGRsZSBvZiByZW5kZXJpbmcuIE1hcmtcbiAgICAgIC8vIHRoYXQgdGhlcmUgd2FzIGFuIGludGVybGVhdmVkIHVwZGF0ZSB3b3JrIG9uIHRoaXMgcm9vdC4gVW5sZXNzIHRoZVxuICAgICAgLy8gYGRlZmVyUmVuZGVyUGhhc2VVcGRhdGVUb05leHRCYXRjaGAgZmxhZyBpcyBvZmYgYW5kIHRoaXMgaXMgYSByZW5kZXJcbiAgICAgIC8vIHBoYXNlIHVwZGF0ZS4gSW4gdGhhdCBjYXNlLCB3ZSBkb24ndCB0cmVhdCByZW5kZXIgcGhhc2UgdXBkYXRlcyBhcyBpZlxuICAgICAgLy8gdGhleSB3ZXJlIGludGVybGVhdmVkLCBmb3IgYmFja3dhcmRzIGNvbXBhdCByZWFzb25zLlxuICAgICAgaWYgKCAoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpID09PSBOb0NvbnRleHQpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzUm9vdEludGVybGVhdmVkVXBkYXRlZExhbmVzLCBsYW5lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXkpIHtcbiAgICAgICAgLy8gVGhlIHJvb3QgYWxyZWFkeSBzdXNwZW5kZWQgd2l0aCBhIGRlbGF5LCB3aGljaCBtZWFucyB0aGlzIHJlbmRlclxuICAgICAgICAvLyBkZWZpbml0ZWx5IHdvbid0IGZpbmlzaC4gU2luY2Ugd2UgaGF2ZSBhIG5ldyB1cGRhdGUsIGxldCdzIG1hcmsgaXQgYXNcbiAgICAgICAgLy8gc3VzcGVuZGVkIG5vdywgcmlnaHQgYmVmb3JlIG1hcmtpbmcgdGhlIGluY29taW5nIHVwZGF0ZS4gVGhpcyBoYXMgdGhlXG4gICAgICAgIC8vIGVmZmVjdCBvZiBpbnRlcnJ1cHRpbmcgdGhlIGN1cnJlbnQgcmVuZGVyIGFuZCBzd2l0Y2hpbmcgdG8gdGhlIHVwZGF0ZS5cbiAgICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHRoaXMgZG9lc24ndCBvdmVycmlkZSBwaW5ncyB0aGF0IGhhcHBlbiB3aGlsZSB3ZSd2ZVxuICAgICAgICAvLyBhbHJlYWR5IHN0YXJ0ZWQgcmVuZGVyaW5nLlxuICAgICAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcblxuICAgIGlmIChsYW5lID09PSBTeW5jTGFuZSAmJiBleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQgJiYgKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSAmJiAvLyBUcmVhdCBgYWN0YCBhcyBpZiBpdCdzIGluc2lkZSBgYmF0Y2hlZFVwZGF0ZXNgLCBldmVuIGluIGxlZ2FjeSBtb2RlLlxuICAgICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSkpIHtcbiAgICAgIC8vIEZsdXNoIHRoZSBzeW5jaHJvbm91cyB3b3JrIG5vdywgdW5sZXNzIHdlJ3JlIGFscmVhZHkgd29ya2luZyBvciBpbnNpZGVcbiAgICAgIC8vIGEgYmF0Y2guIFRoaXMgaXMgaW50ZW50aW9uYWxseSBpbnNpZGUgc2NoZWR1bGVVcGRhdGVPbkZpYmVyIGluc3RlYWQgb2ZcbiAgICAgIC8vIHNjaGVkdWxlQ2FsbGJhY2tGb3JGaWJlciB0byBwcmVzZXJ2ZSB0aGUgYWJpbGl0eSB0byBzY2hlZHVsZSBhIGNhbGxiYWNrXG4gICAgICAvLyB3aXRob3V0IGltbWVkaWF0ZWx5IGZsdXNoaW5nIGl0LiBXZSBvbmx5IGRvIHRoaXMgZm9yIHVzZXItaW5pdGlhdGVkXG4gICAgICAvLyB1cGRhdGVzLCB0byBwcmVzZXJ2ZSBoaXN0b3JpY2FsIGJlaGF2aW9yIG9mIGxlZ2FjeSBtb2RlLlxuICAgICAgcmVzZXRSZW5kZXJUaW1lcigpO1xuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzT25seUluTGVnYWN5TW9kZSgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVJbml0aWFsSHlkcmF0aW9uT25Sb290KHJvb3QsIGxhbmUsIGV2ZW50VGltZSkge1xuICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBmb3JrIG9mIHNjaGVkdWxlVXBkYXRlT25GaWJlciB0aGF0IGlzIG9ubHkgdXNlZCB0b1xuICAvLyBzY2hlZHVsZSB0aGUgaW5pdGlhbCBoeWRyYXRpb24gb2YgYSByb290IHRoYXQgaGFzIGp1c3QgYmVlbiBjcmVhdGVkLiBNb3N0XG4gIC8vIG9mIHRoZSBzdHVmZiBpbiBzY2hlZHVsZVVwZGF0ZU9uRmliZXIgY2FuIGJlIHNraXBwZWQuXG4gIC8vXG4gIC8vIFRoZSBtYWluIHJlYXNvbiBmb3IgdGhpcyBzZXBhcmF0ZSBwYXRoLCB0aG91Z2gsIGlzIHRvIGRpc3Rpbmd1aXNoIHRoZVxuICAvLyBpbml0aWFsIGNoaWxkcmVuIGZyb20gc3Vic2VxdWVudCB1cGRhdGVzLiBJbiBmdWxseSBjbGllbnQtcmVuZGVyZWQgcm9vdHNcbiAgLy8gKGNyZWF0ZVJvb3QgaW5zdGVhZCBvZiBoeWRyYXRlUm9vdCksIGFsbCB0b3AtbGV2ZWwgcmVuZGVycyBhcmUgbW9kZWxlZCBhc1xuICAvLyB1cGRhdGVzLCBidXQgaHlkcmF0aW9uIHJvb3RzIGFyZSBzcGVjaWFsIGJlY2F1c2UgdGhlIGluaXRpYWwgcmVuZGVyIG11c3RcbiAgLy8gbWF0Y2ggd2hhdCB3YXMgcmVuZGVyZWQgb24gdGhlIHNlcnZlci5cbiAgdmFyIGN1cnJlbnQgPSByb290LmN1cnJlbnQ7XG4gIGN1cnJlbnQubGFuZXMgPSBsYW5lO1xuICBtYXJrUm9vdFVwZGF0ZWQocm9vdCwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIGV2ZW50VGltZSk7XG59XG5mdW5jdGlvbiBpc1Vuc2FmZUNsYXNzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIE9ubHkgY2FsbGVkIGJ5IGNsYXNzIGNvbXBvbmVudHMsXG4gIC8vIHdoaWNoIHNwZWNpYWwgKGRlcHJlY2F0ZWQpIGJlaGF2aW9yIGZvciBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmUgcHJvcHMuXG4gIHJldHVybiAoLy8gVE9ETzogUmVtb3ZlIG91dGRhdGVkIGRlZmVyUmVuZGVyUGhhc2VVcGRhdGVUb05leHRCYXRjaCBleHBlcmltZW50LiBXZVxuICAgIC8vIGRlY2lkZWQgbm90IHRvIGVuYWJsZSBpdC5cbiAgICAgKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0XG4gICk7XG59IC8vIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHNjaGVkdWxlIGEgdGFzayBmb3IgYSByb290LiBUaGVyZSdzIG9ubHkgb25lIHRhc2sgcGVyXG4vLyByb290OyBpZiBhIHRhc2sgd2FzIGFscmVhZHkgc2NoZWR1bGVkLCB3ZSdsbCBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHByaW9yaXR5XG4vLyBvZiB0aGUgZXhpc3RpbmcgdGFzayBpcyB0aGUgc2FtZSBhcyB0aGUgcHJpb3JpdHkgb2YgdGhlIG5leHQgbGV2ZWwgdGhhdCB0aGVcbi8vIHJvb3QgaGFzIHdvcmsgb24uIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uIGV2ZXJ5IHVwZGF0ZSwgYW5kIHJpZ2h0IGJlZm9yZVxuLy8gZXhpdGluZyBhIHRhc2suXG5cbmZ1bmN0aW9uIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBjdXJyZW50VGltZSkge1xuICB2YXIgZXhpc3RpbmdDYWxsYmFja05vZGUgPSByb290LmNhbGxiYWNrTm9kZTsgLy8gQ2hlY2sgaWYgYW55IGxhbmVzIGFyZSBiZWluZyBzdGFydmVkIGJ5IG90aGVyIHdvcmsuIElmIHNvLCBtYXJrIHRoZW0gYXNcbiAgLy8gZXhwaXJlZCBzbyB3ZSBrbm93IHRvIHdvcmsgb24gdGhvc2UgbmV4dC5cblxuICBtYXJrU3RhcnZlZExhbmVzQXNFeHBpcmVkKHJvb3QsIGN1cnJlbnRUaW1lKTsgLy8gRGV0ZXJtaW5lIHRoZSBuZXh0IGxhbmVzIHRvIHdvcmsgb24sIGFuZCB0aGVpciBwcmlvcml0eS5cblxuICB2YXIgbmV4dExhbmVzID0gZ2V0TmV4dExhbmVzKHJvb3QsIHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCA/IHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzIDogTm9MYW5lcyk7XG5cbiAgaWYgKG5leHRMYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIFNwZWNpYWwgY2FzZTogVGhlcmUncyBub3RoaW5nIHRvIHdvcmsgb24uXG4gICAgaWYgKGV4aXN0aW5nQ2FsbGJhY2tOb2RlICE9PSBudWxsKSB7XG4gICAgICBjYW5jZWxDYWxsYmFjayQxKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgICB9XG5cbiAgICByb290LmNhbGxiYWNrTm9kZSA9IG51bGw7XG4gICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9MYW5lO1xuICAgIHJldHVybjtcbiAgfSAvLyBXZSB1c2UgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgbGFuZSB0byByZXByZXNlbnQgdGhlIHByaW9yaXR5IG9mIHRoZSBjYWxsYmFjay5cblxuXG4gIHZhciBuZXdDYWxsYmFja1ByaW9yaXR5ID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShuZXh0TGFuZXMpOyAvLyBDaGVjayBpZiB0aGVyZSdzIGFuIGV4aXN0aW5nIHRhc2suIFdlIG1heSBiZSBhYmxlIHRvIHJldXNlIGl0LlxuXG4gIHZhciBleGlzdGluZ0NhbGxiYWNrUHJpb3JpdHkgPSByb290LmNhbGxiYWNrUHJpb3JpdHk7XG5cbiAgaWYgKGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSA9PT0gbmV3Q2FsbGJhY2tQcmlvcml0eSAmJiAvLyBTcGVjaWFsIGNhc2UgcmVsYXRlZCB0byBgYWN0YC4gSWYgdGhlIGN1cnJlbnRseSBzY2hlZHVsZWQgdGFzayBpcyBhXG4gIC8vIFNjaGVkdWxlciB0YXNrLCByYXRoZXIgdGhhbiBhbiBgYWN0YCB0YXNrLCBjYW5jZWwgaXQgYW5kIHJlLXNjaGVkdWxlZFxuICAvLyBvbiB0aGUgYGFjdGAgcXVldWUuXG4gICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCAhPT0gbnVsbCAmJiBleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gZmFrZUFjdENhbGxiYWNrTm9kZSkpIHtcbiAgICB7XG4gICAgICAvLyBJZiB3ZSdyZSBnb2luZyB0byByZS11c2UgYW4gZXhpc3RpbmcgdGFzaywgaXQgbmVlZHMgdG8gZXhpc3QuXG4gICAgICAvLyBBc3N1bWUgdGhhdCBkaXNjcmV0ZSB1cGRhdGUgbWljcm90YXNrcyBhcmUgbm9uLWNhbmNlbGxhYmxlIGFuZCBudWxsLlxuICAgICAgLy8gVE9ETzogVGVtcG9yYXJ5IHVudGlsIHdlIGNvbmZpcm0gdGhpcyB3YXJuaW5nIGlzIG5vdCBmaXJlZC5cbiAgICAgIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSA9PSBudWxsICYmIGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSAhPT0gU3luY0xhbmUpIHtcbiAgICAgICAgZXJyb3IoJ0V4cGVjdGVkIHNjaGVkdWxlZCBjYWxsYmFjayB0byBleGlzdC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH1cbiAgICB9IC8vIFRoZSBwcmlvcml0eSBoYXNuJ3QgY2hhbmdlZC4gV2UgY2FuIHJldXNlIHRoZSBleGlzdGluZyB0YXNrLiBFeGl0LlxuXG5cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZXhpc3RpbmdDYWxsYmFja05vZGUgIT0gbnVsbCkge1xuICAgIC8vIENhbmNlbCB0aGUgZXhpc3RpbmcgY2FsbGJhY2suIFdlJ2xsIHNjaGVkdWxlIGEgbmV3IG9uZSBiZWxvdy5cbiAgICBjYW5jZWxDYWxsYmFjayQxKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgfSAvLyBTY2hlZHVsZSBhIG5ldyBjYWxsYmFjay5cblxuXG4gIHZhciBuZXdDYWxsYmFja05vZGU7XG5cbiAgaWYgKG5ld0NhbGxiYWNrUHJpb3JpdHkgPT09IFN5bmNMYW5lKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBTeW5jIFJlYWN0IGNhbGxiYWNrcyBhcmUgc2NoZWR1bGVkIG9uIGEgc3BlY2lhbFxuICAgIC8vIGludGVybmFsIHF1ZXVlXG4gICAgaWYgKHJvb3QudGFnID09PSBMZWdhY3lSb290KSB7XG4gICAgICBpZiAoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSAhPT0gbnVsbCkge1xuICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmRpZFNjaGVkdWxlTGVnYWN5VXBkYXRlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgc2NoZWR1bGVMZWdhY3lTeW5jQ2FsbGJhY2socGVyZm9ybVN5bmNXb3JrT25Sb290LmJpbmQobnVsbCwgcm9vdCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzY2hlZHVsZVN5bmNDYWxsYmFjayhwZXJmb3JtU3luY1dvcmtPblJvb3QuYmluZChudWxsLCByb290KSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gRmx1c2ggdGhlIHF1ZXVlIGluIGEgbWljcm90YXNrLlxuICAgICAgaWYgKCBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gSW5zaWRlIGBhY3RgLCB1c2Ugb3VyIGludGVybmFsIGBhY3RgIHF1ZXVlIHNvIHRoYXQgdGhlc2UgZ2V0IGZsdXNoZWRcbiAgICAgICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBzY29wZSBldmVuIHdoZW4gdXNpbmcgdGhlIHN5bmMgdmVyc2lvblxuICAgICAgICAvLyBvZiBgYWN0YC5cbiAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUkMS5jdXJyZW50LnB1c2goZmx1c2hTeW5jQ2FsbGJhY2tzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjaGVkdWxlTWljcm90YXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBJbiBTYWZhcmksIGFwcGVuZGluZyBhbiBpZnJhbWUgZm9yY2VzIG1pY3JvdGFza3MgdG8gcnVuLlxuICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjI0NTlcbiAgICAgICAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHJ1bm5pbmcgY2FsbGJhY2tzIGluIHRoZSBtaWRkbGUgb2YgcmVuZGVyXG4gICAgICAgICAgLy8gb3IgY29tbWl0IHNvIHdlIG5lZWQgdG8gY2hlY2sgYWdhaW5zdCB0aGF0LlxuICAgICAgICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIHdvdWxkIHN0aWxsIHByZW1hdHVyZWx5IGZsdXNoIHRoZSBjYWxsYmFja3NcbiAgICAgICAgICAgIC8vIGlmIHRoaXMgaGFwcGVucyBvdXRzaWRlIHJlbmRlciBvciBjb21taXQgcGhhc2UgKGUuZy4gaW4gYW4gZXZlbnQpLlxuICAgICAgICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdDYWxsYmFja05vZGUgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eUxldmVsO1xuXG4gICAgc3dpdGNoIChsYW5lc1RvRXZlbnRQcmlvcml0eShuZXh0TGFuZXMpKSB7XG4gICAgICBjYXNlIERpc2NyZXRlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IEltbWVkaWF0ZVByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBDb250aW51b3VzRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IFVzZXJCbG9ja2luZ1ByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBJZGxlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IElkbGVQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNjaGVkdWxlclByaW9yaXR5TGV2ZWwgPSBOb3JtYWxQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbmV3Q2FsbGJhY2tOb2RlID0gc2NoZWR1bGVDYWxsYmFjayQxKHNjaGVkdWxlclByaW9yaXR5TGV2ZWwsIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpKTtcbiAgfVxuXG4gIHJvb3QuY2FsbGJhY2tQcmlvcml0eSA9IG5ld0NhbGxiYWNrUHJpb3JpdHk7XG4gIHJvb3QuY2FsbGJhY2tOb2RlID0gbmV3Q2FsbGJhY2tOb2RlO1xufSAvLyBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgZXZlcnkgY29uY3VycmVudCB0YXNrLCBpLmUuIGFueXRoaW5nIHRoYXRcbi8vIGdvZXMgdGhyb3VnaCBTY2hlZHVsZXIuXG5cblxuZnVuY3Rpb24gcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290KHJvb3QsIGRpZFRpbWVvdXQpIHtcbiAge1xuICAgIHJlc2V0TmVzdGVkVXBkYXRlRmxhZygpO1xuICB9IC8vIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gYSBSZWFjdCBldmVudCwgd2UgY2FuIGNsZWFyIHRoZSBjdXJyZW50XG4gIC8vIGV2ZW50IHRpbWUuIFRoZSBuZXh0IHVwZGF0ZSB3aWxsIGNvbXB1dGUgYSBuZXcgZXZlbnQgdGltZS5cblxuXG4gIGN1cnJlbnRFdmVudFRpbWUgPSBOb1RpbWVzdGFtcDtcbiAgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBOb0xhbmVzO1xuXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBub3QgYWxyZWFkeSBiZSB3b3JraW5nLicpO1xuICB9IC8vIEZsdXNoIGFueSBwZW5kaW5nIHBhc3NpdmUgZWZmZWN0cyBiZWZvcmUgZGVjaWRpbmcgd2hpY2ggbGFuZXMgdG8gd29yayBvbixcbiAgLy8gaW4gY2FzZSB0aGV5IHNjaGVkdWxlIGFkZGl0aW9uYWwgd29yay5cblxuXG4gIHZhciBvcmlnaW5hbENhbGxiYWNrTm9kZSA9IHJvb3QuY2FsbGJhY2tOb2RlO1xuICB2YXIgZGlkRmx1c2hQYXNzaXZlRWZmZWN0cyA9IGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcblxuICBpZiAoZGlkRmx1c2hQYXNzaXZlRWZmZWN0cykge1xuICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgcGFzc2l2ZSBlZmZlY3QgcGhhc2UgbWF5IGhhdmUgY2FuY2VsZWQgdGhlIGN1cnJlbnQgdGFzay5cbiAgICAvLyBDaGVjayBpZiB0aGUgdGFzayBub2RlIGZvciB0aGlzIHJvb3Qgd2FzIGNoYW5nZWQuXG4gICAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlICE9PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xuICAgICAgLy8gVGhlIGN1cnJlbnQgdGFzayB3YXMgY2FuY2VsZWQuIEV4aXQuIFdlIGRvbid0IG5lZWQgdG8gY2FsbFxuICAgICAgLy8gYGVuc3VyZVJvb3RJc1NjaGVkdWxlZGAgYmVjYXVzZSB0aGUgY2hlY2sgYWJvdmUgaW1wbGllcyBlaXRoZXIgdGhhdFxuICAgICAgLy8gdGhlcmUncyBhIG5ldyB0YXNrLCBvciB0aGF0IHRoZXJlJ3Mgbm8gcmVtYWluaW5nIHdvcmsgb24gdGhpcyByb290LlxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9IC8vIERldGVybWluZSB0aGUgbmV4dCBsYW5lcyB0byB3b3JrIG9uLCB1c2luZyB0aGUgZmllbGRzIHN0b3JlZFxuICAvLyBvbiB0aGUgcm9vdC5cblxuXG4gIHZhciBsYW5lcyA9IGdldE5leHRMYW5lcyhyb290LCByb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QgPyB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA6IE5vTGFuZXMpO1xuXG4gIGlmIChsYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIERlZmVuc2l2ZSBjb2RpbmcuIFRoaXMgaXMgbmV2ZXIgZXhwZWN0ZWQgdG8gaGFwcGVuLlxuICAgIHJldHVybiBudWxsO1xuICB9IC8vIFdlIGRpc2FibGUgdGltZS1zbGljaW5nIGluIHNvbWUgY2FzZXM6IGlmIHRoZSB3b3JrIGhhcyBiZWVuIENQVS1ib3VuZFxuICAvLyBmb3IgdG9vIGxvbmcgKFwiZXhwaXJlZFwiIHdvcmssIHRvIHByZXZlbnQgc3RhcnZhdGlvbiksIG9yIHdlJ3JlIGluXG4gIC8vIHN5bmMtdXBkYXRlcy1ieS1kZWZhdWx0IG1vZGUuXG4gIC8vIFRPRE86IFdlIG9ubHkgY2hlY2sgYGRpZFRpbWVvdXRgIGRlZmVuc2l2ZWx5LCB0byBhY2NvdW50IGZvciBhIFNjaGVkdWxlclxuICAvLyBidWcgd2UncmUgc3RpbGwgaW52ZXN0aWdhdGluZy4gT25jZSB0aGUgYnVnIGluIFNjaGVkdWxlciBpcyBmaXhlZCxcbiAgLy8gd2UgY2FuIHJlbW92ZSB0aGlzLCBzaW5jZSB3ZSB0cmFjayBleHBpcmF0aW9uIG91cnNlbHZlcy5cblxuXG4gIHZhciBzaG91bGRUaW1lU2xpY2UgPSAhaW5jbHVkZXNCbG9ja2luZ0xhbmUocm9vdCwgbGFuZXMpICYmICFpbmNsdWRlc0V4cGlyZWRMYW5lKHJvb3QsIGxhbmVzKSAmJiAoICFkaWRUaW1lb3V0KTtcbiAgdmFyIGV4aXRTdGF0dXMgPSBzaG91bGRUaW1lU2xpY2UgPyByZW5kZXJSb290Q29uY3VycmVudChyb290LCBsYW5lcykgOiByZW5kZXJSb290U3luYyhyb290LCBsYW5lcyk7XG5cbiAgaWYgKGV4aXRTdGF0dXMgIT09IFJvb3RJblByb2dyZXNzKSB7XG4gICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3RFcnJvcmVkKSB7XG4gICAgICAvLyBJZiBzb21ldGhpbmcgdGhyZXcgYW4gZXJyb3IsIHRyeSByZW5kZXJpbmcgb25lIG1vcmUgdGltZS4gV2UnbGxcbiAgICAgIC8vIHJlbmRlciBzeW5jaHJvbm91c2x5IHRvIGJsb2NrIGNvbmN1cnJlbnQgZGF0YSBtdXRhdGlvbnMsIGFuZCB3ZSdsbFxuICAgICAgLy8gaW5jbHVkZXMgYWxsIHBlbmRpbmcgdXBkYXRlcyBhcmUgaW5jbHVkZWQuIElmIGl0IHN0aWxsIGZhaWxzIGFmdGVyXG4gICAgICAvLyB0aGUgc2Vjb25kIGF0dGVtcHQsIHdlJ2xsIGdpdmUgdXAgYW5kIGNvbW1pdCB0aGUgcmVzdWx0aW5nIHRyZWUuXG4gICAgICB2YXIgZXJyb3JSZXRyeUxhbmVzID0gZ2V0TGFuZXNUb1JldHJ5U3luY2hyb25vdXNseU9uRXJyb3Iocm9vdCk7XG5cbiAgICAgIGlmIChlcnJvclJldHJ5TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgbGFuZXMgPSBlcnJvclJldHJ5TGFuZXM7XG4gICAgICAgIGV4aXRTdGF0dXMgPSByZWNvdmVyRnJvbUNvbmN1cnJlbnRFcnJvcihyb290LCBlcnJvclJldHJ5TGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChleGl0U3RhdHVzID09PSBSb290RmF0YWxFcnJvcmVkKSB7XG4gICAgICB2YXIgZmF0YWxFcnJvciA9IHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3I7XG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIG5vdygpKTtcbiAgICAgIHRocm93IGZhdGFsRXJyb3I7XG4gICAgfVxuXG4gICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3REaWROb3RDb21wbGV0ZSkge1xuICAgICAgLy8gVGhlIHJlbmRlciB1bndvdW5kIHdpdGhvdXQgY29tcGxldGluZyB0aGUgdHJlZS4gVGhpcyBoYXBwZW5zIGluIHNwZWNpYWxcbiAgICAgIC8vIGNhc2VzIHdoZXJlIG5lZWQgdG8gZXhpdCB0aGUgY3VycmVudCByZW5kZXIgd2l0aG91dCBwcm9kdWNpbmcgYVxuICAgICAgLy8gY29uc2lzdGVudCB0cmVlIG9yIGNvbW1pdHRpbmcuXG4gICAgICAvL1xuICAgICAgLy8gVGhpcyBzaG91bGQgb25seSBoYXBwZW4gZHVyaW5nIGEgY29uY3VycmVudCByZW5kZXIsIG5vdCBhIGRpc2NyZXRlIG9yXG4gICAgICAvLyBzeW5jaHJvbm91cyB1cGRhdGUuIFdlIHNob3VsZCBoYXZlIGFscmVhZHkgY2hlY2tlZCBmb3IgdGhpcyB3aGVuIHdlXG4gICAgICAvLyB1bndvdW5kIHRoZSBzdGFjay5cbiAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgcmVuZGVyIGNvbXBsZXRlZC5cbiAgICAgIC8vIENoZWNrIGlmIHRoaXMgcmVuZGVyIG1heSBoYXZlIHlpZWxkZWQgdG8gYSBjb25jdXJyZW50IGV2ZW50LCBhbmQgaWYgc28sXG4gICAgICAvLyBjb25maXJtIHRoYXQgYW55IG5ld2x5IHJlbmRlcmVkIHN0b3JlcyBhcmUgY29uc2lzdGVudC5cbiAgICAgIC8vIFRPRE86IEl0J3MgcG9zc2libGUgdGhhdCBldmVuIGEgY29uY3VycmVudCByZW5kZXIgbWF5IG5ldmVyIGhhdmUgeWllbGRlZFxuICAgICAgLy8gdG8gdGhlIG1haW4gdGhyZWFkLCBpZiBpdCB3YXMgZmFzdCBlbm91Z2gsIG9yIGlmIGl0IGV4cGlyZWQuIFdlIGNvdWxkXG4gICAgICAvLyBza2lwIHRoZSBjb25zaXN0ZW5jeSBjaGVjayBpbiB0aGF0IGNhc2UsIHRvby5cbiAgICAgIHZhciByZW5kZXJXYXNDb25jdXJyZW50ID0gIWluY2x1ZGVzQmxvY2tpbmdMYW5lKHJvb3QsIGxhbmVzKTtcbiAgICAgIHZhciBmaW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgICBpZiAocmVuZGVyV2FzQ29uY3VycmVudCAmJiAhaXNSZW5kZXJDb25zaXN0ZW50V2l0aEV4dGVybmFsU3RvcmVzKGZpbmlzaGVkV29yaykpIHtcbiAgICAgICAgLy8gQSBzdG9yZSB3YXMgbXV0YXRlZCBpbiBhbiBpbnRlcmxlYXZlZCBldmVudC4gUmVuZGVyIGFnYWluLFxuICAgICAgICAvLyBzeW5jaHJvbm91c2x5LCB0byBibG9jayBmdXJ0aGVyIG11dGF0aW9ucy5cbiAgICAgICAgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKTsgLy8gV2UgbmVlZCB0byBjaGVjayBhZ2FpbiBpZiBzb21ldGhpbmcgdGhyZXdcblxuICAgICAgICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgX2Vycm9yUmV0cnlMYW5lcyA9IGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QpO1xuXG4gICAgICAgICAgaWYgKF9lcnJvclJldHJ5TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgICAgIGxhbmVzID0gX2Vycm9yUmV0cnlMYW5lcztcbiAgICAgICAgICAgIGV4aXRTdGF0dXMgPSByZWNvdmVyRnJvbUNvbmN1cnJlbnRFcnJvcihyb290LCBfZXJyb3JSZXRyeUxhbmVzKTsgLy8gV2UgYXNzdW1lIHRoZSB0cmVlIGlzIG5vdyBjb25zaXN0ZW50IGJlY2F1c2Ugd2UgZGlkbid0IHlpZWxkIHRvIGFueVxuICAgICAgICAgICAgLy8gY29uY3VycmVudCBldmVudHMuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3RGYXRhbEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgX2ZhdGFsRXJyb3IgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yO1xuICAgICAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIE5vTGFuZXMpO1xuICAgICAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgICAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gICAgICAgICAgdGhyb3cgX2ZhdGFsRXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIFRoZSBuZXh0IHN0ZXAgaXMgZWl0aGVyIHRvIGNvbW1pdCBpdCxcbiAgICAgIC8vIG9yLCBpZiBzb21ldGhpbmcgc3VzcGVuZGVkLCB3YWl0IHRvIGNvbW1pdCBpdCBhZnRlciBhIHRpbWVvdXQuXG5cblxuICAgICAgcm9vdC5maW5pc2hlZFdvcmsgPSBmaW5pc2hlZFdvcms7XG4gICAgICByb290LmZpbmlzaGVkTGFuZXMgPSBsYW5lcztcbiAgICAgIGZpbmlzaENvbmN1cnJlbnRSZW5kZXIocm9vdCwgZXhpdFN0YXR1cywgbGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG5cbiAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlID09PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xuICAgIC8vIFRoZSB0YXNrIG5vZGUgc2NoZWR1bGVkIGZvciB0aGlzIHJvb3QgaXMgdGhlIHNhbWUgb25lIHRoYXQnc1xuICAgIC8vIGN1cnJlbnRseSBleGVjdXRlZC4gTmVlZCB0byByZXR1cm4gYSBjb250aW51YXRpb24uXG4gICAgcmV0dXJuIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlY292ZXJGcm9tQ29uY3VycmVudEVycm9yKHJvb3QsIGVycm9yUmV0cnlMYW5lcykge1xuICAvLyBJZiBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgaHlkcmF0aW9uLCBkaXNjYXJkIHNlcnZlciByZXNwb25zZSBhbmQgZmFsbFxuICAvLyBiYWNrIHRvIGNsaWVudCBzaWRlIHJlbmRlci5cbiAgLy8gQmVmb3JlIHJlbmRlcmluZyBhZ2Fpbiwgc2F2ZSB0aGUgZXJyb3JzIGZyb20gdGhlIHByZXZpb3VzIGF0dGVtcHQuXG4gIHZhciBlcnJvcnNGcm9tRmlyc3RBdHRlbXB0ID0gd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycztcblxuICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgIC8vIFRoZSBzaGVsbCBmYWlsZWQgdG8gaHlkcmF0ZS4gU2V0IGEgZmxhZyB0byBmb3JjZSBhIGNsaWVudCByZW5kZXJpbmdcbiAgICAvLyBkdXJpbmcgdGhlIG5leHQgYXR0ZW1wdC4gVG8gZG8gdGhpcywgd2UgY2FsbCBwcmVwYXJlRnJlc2hTdGFjayBub3dcbiAgICAvLyB0byBjcmVhdGUgdGhlIHJvb3Qgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gVGhpcyBpcyBhIGJpdCB3ZWlyZCBpbiB0ZXJtc1xuICAgIC8vIG9mIGZhY3RvcmluZywgYmVjYXVzZSBpdCByZWxpZXMgb24gcmVuZGVyUm9vdFN5bmMgbm90IGNhbGxpbmdcbiAgICAvLyBwcmVwYXJlRnJlc2hTdGFjayBhZ2FpbiBpbiB0aGUgY2FsbCBiZWxvdywgd2hpY2ggaGFwcGVucyBiZWNhdXNlIHRoZVxuICAgIC8vIHJvb3QgYW5kIGxhbmVzIGhhdmVuJ3QgY2hhbmdlZC5cbiAgICAvL1xuICAgIC8vIFRPRE86IEkgdGhpbmsgd2hhdCB3ZSBzaG91bGQgZG8gaXMgc2V0IEZvcmNlQ2xpZW50UmVuZGVyIGluc2lkZVxuICAgIC8vIHRocm93RXhjZXB0aW9uLCBsaWtlIHdlIGRvIGZvciBuZXN0ZWQgU3VzcGVuc2UgYm91bmRhcmllcy4gVGhlIHJlYXNvblxuICAgIC8vIGl0J3MgaGVyZSBpbnN0ZWFkIGlzIHNvIHdlIGNhbiBzd2l0Y2ggdG8gdGhlIHN5bmNocm9ub3VzIHdvcmsgbG9vcCwgdG9vLlxuICAgIC8vIFNvbWV0aGluZyB0byBjb25zaWRlciBmb3IgYSBmdXR1cmUgcmVmYWN0b3IuXG4gICAgdmFyIHJvb3RXb3JrSW5Qcm9ncmVzcyA9IHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGVycm9yUmV0cnlMYW5lcyk7XG4gICAgcm9vdFdvcmtJblByb2dyZXNzLmZsYWdzIHw9IEZvcmNlQ2xpZW50UmVuZGVyO1xuXG4gICAge1xuICAgICAgZXJyb3JIeWRyYXRpbmdDb250YWluZXIocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICB9XG4gIH1cblxuICB2YXIgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGVycm9yUmV0cnlMYW5lcyk7XG5cbiAgaWYgKGV4aXRTdGF0dXMgIT09IFJvb3RFcnJvcmVkKSB7XG4gICAgLy8gU3VjY2Vzc2Z1bGx5IGZpbmlzaGVkIHJlbmRlcmluZyBvbiByZXRyeVxuICAgIC8vIFRoZSBlcnJvcnMgZnJvbSB0aGUgZmFpbGVkIGZpcnN0IGF0dGVtcHQgaGF2ZSBiZWVuIHJlY292ZXJlZC4gQWRkXG4gICAgLy8gdGhlbSB0byB0aGUgY29sbGVjdGlvbiBvZiByZWNvdmVyYWJsZSBlcnJvcnMuIFdlJ2xsIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cbiAgICB2YXIgZXJyb3JzRnJvbVNlY29uZEF0dGVtcHQgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycztcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9IGVycm9yc0Zyb21GaXJzdEF0dGVtcHQ7IC8vIFRoZSBlcnJvcnMgZnJvbSB0aGUgc2Vjb25kIGF0dGVtcHQgc2hvdWxkIGJlIHF1ZXVlZCBhZnRlciB0aGUgZXJyb3JzXG4gICAgLy8gZnJvbSB0aGUgZmlyc3QgYXR0ZW1wdCwgdG8gcHJlc2VydmUgdGhlIGNhdXNhbCBzZXF1ZW5jZS5cblxuICAgIGlmIChlcnJvcnNGcm9tU2Vjb25kQXR0ZW1wdCAhPT0gbnVsbCkge1xuICAgICAgcXVldWVSZWNvdmVyYWJsZUVycm9ycyhlcnJvcnNGcm9tU2Vjb25kQXR0ZW1wdCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4aXRTdGF0dXM7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlUmVjb3ZlcmFibGVFcnJvcnMoZXJyb3JzKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9PT0gbnVsbCkge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzID0gZXJyb3JzO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLnB1c2guYXBwbHkod29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMsIGVycm9ycyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluaXNoQ29uY3VycmVudFJlbmRlcihyb290LCBleGl0U3RhdHVzLCBsYW5lcykge1xuICBzd2l0Y2ggKGV4aXRTdGF0dXMpIHtcbiAgICBjYXNlIFJvb3RJblByb2dyZXNzOlxuICAgIGNhc2UgUm9vdEZhdGFsRXJyb3JlZDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSb290IGRpZCBub3QgY29tcGxldGUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gICAgLy8gRmxvdyBrbm93cyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWlucyBpZiBJIGFkZCBhIGJyZWFrXG4gICAgLy8gc3RhdGVtZW50LCBidXQgZXNsaW50IGRvZXNuJ3Qga25vdyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWluc1xuICAgIC8vIGlmIEkgZG8uIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuXG4gICAgY2FzZSBSb290RXJyb3JlZDpcbiAgICAgIHtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgYWxyZWFkeSBhdHRlbXB0ZWQgdG8gcmV0cnkgdGhpcyB0cmVlLiBJZiB3ZSByZWFjaGVkXG4gICAgICAgIC8vIHRoaXMgcG9pbnQsIGl0IGVycm9yZWQgYWdhaW4uIENvbW1pdCBpdC5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290U3VzcGVuZGVkOlxuICAgICAge1xuICAgICAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIGxhbmVzKTsgLy8gV2UgaGF2ZSBhbiBhY2NlcHRhYmxlIGxvYWRpbmcgc3RhdGUuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiB3ZVxuICAgICAgICAvLyBzaG91bGQgaW1tZWRpYXRlbHkgY29tbWl0IGl0IG9yIHdhaXQgYSBiaXQuXG5cbiAgICAgICAgaWYgKGluY2x1ZGVzT25seVJldHJpZXMobGFuZXMpICYmIC8vIGRvIG5vdCBkZWxheSBpZiB3ZSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGVcbiAgICAgICAgIXNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpKSB7XG4gICAgICAgICAgLy8gVGhpcyByZW5kZXIgb25seSBpbmNsdWRlZCByZXRyaWVzLCBubyB1cGRhdGVzLiBUaHJvdHRsZSBjb21taXR0aW5nXG4gICAgICAgICAgLy8gcmV0cmllcyBzbyB0aGF0IHdlIGRvbid0IHNob3cgdG9vIG1hbnkgbG9hZGluZyBzdGF0ZXMgdG9vIHF1aWNrbHkuXG4gICAgICAgICAgdmFyIG1zVW50aWxUaW1lb3V0ID0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSArIEZBTExCQUNLX1RIUk9UVExFX01TIC0gbm93KCk7IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxuXG4gICAgICAgICAgaWYgKG1zVW50aWxUaW1lb3V0ID4gMTApIHtcbiAgICAgICAgICAgIHZhciBuZXh0TGFuZXMgPSBnZXROZXh0TGFuZXMocm9vdCwgTm9MYW5lcyk7XG5cbiAgICAgICAgICAgIGlmIChuZXh0TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgICAgICAgLy8gVGhlcmUncyBhZGRpdGlvbmFsIHdvcmsgb24gdGhpcyByb290LlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHN1c3BlbmRlZExhbmVzID0gcm9vdC5zdXNwZW5kZWRMYW5lcztcblxuICAgICAgICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMoc3VzcGVuZGVkTGFuZXMsIGxhbmVzKSkge1xuICAgICAgICAgICAgICAvLyBXZSBzaG91bGQgcHJlZmVyIHRvIHJlbmRlciB0aGUgZmFsbGJhY2sgb2YgYXQgdGhlIGxhc3RcbiAgICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGxldmVsLiBQaW5nIHRoZSBsYXN0IHN1c3BlbmRlZCBsZXZlbCB0byB0cnlcbiAgICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGl0IGFnYWluLlxuICAgICAgICAgICAgICAvLyBGSVhNRTogV2hhdCBpZiB0aGUgc3VzcGVuZGVkIGxhbmVzIGFyZSBJZGxlPyBTaG91bGQgbm90IHJlc3RhcnQuXG4gICAgICAgICAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICAgICAgICAgIG1hcmtSb290UGluZ2VkKHJvb3QsIHN1c3BlbmRlZExhbmVzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IC8vIFRoZSByZW5kZXIgaXMgc3VzcGVuZGVkLCBpdCBoYXNuJ3QgdGltZWQgb3V0LCBhbmQgdGhlcmUncyBub1xuICAgICAgICAgICAgLy8gbG93ZXIgcHJpb3JpdHkgd29yayB0byBkby4gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFja1xuICAgICAgICAgICAgLy8gaW1tZWRpYXRlbHksIHdhaXQgZm9yIG1vcmUgZGF0YSB0byBhcnJpdmUuXG5cblxuICAgICAgICAgICAgcm9vdC50aW1lb3V0SGFuZGxlID0gc2NoZWR1bGVUaW1lb3V0KGNvbW1pdFJvb3QuYmluZChudWxsLCByb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyksIG1zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBUaGUgd29yayBleHBpcmVkLiBDb21taXQgaW1tZWRpYXRlbHkuXG5cblxuICAgICAgICBjb21taXRSb290KHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIFJvb3RTdXNwZW5kZWRXaXRoRGVsYXk6XG4gICAgICB7XG4gICAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuXG4gICAgICAgIGlmIChpbmNsdWRlc09ubHlUcmFuc2l0aW9ucyhsYW5lcykpIHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGEgdHJhbnNpdGlvbiwgc28gd2Ugc2hvdWxkIGV4aXQgd2l0aG91dCBjb21taXR0aW5nIGFcbiAgICAgICAgICAvLyBwbGFjZWhvbGRlciBhbmQgd2l0aG91dCBzY2hlZHVsaW5nIGEgdGltZW91dC4gRGVsYXkgaW5kZWZpbml0ZWx5XG4gICAgICAgICAgLy8gdW50aWwgd2UgcmVjZWl2ZSBtb3JlIGRhdGEuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBub3QgYSB0cmFuc2l0aW9uLCBidXQgd2UgZGlkIHRyaWdnZXIgYW4gYXZvaWRlZCBzdGF0ZS5cbiAgICAgICAgICAvLyBTY2hlZHVsZSBhIHBsYWNlaG9sZGVyIHRvIGRpc3BsYXkgYWZ0ZXIgYSBzaG9ydCBkZWxheSwgdXNpbmcgdGhlIEp1c3RcbiAgICAgICAgICAvLyBOb3RpY2VhYmxlIERpZmZlcmVuY2UuXG4gICAgICAgICAgLy8gVE9ETzogSXMgdGhlIEpORCBvcHRpbWl6YXRpb24gd29ydGggdGhlIGFkZGVkIGNvbXBsZXhpdHk/IElmIHRoaXMgaXNcbiAgICAgICAgICAvLyB0aGUgb25seSByZWFzb24gd2UgdHJhY2sgdGhlIGV2ZW50IHRpbWUsIHRoZW4gcHJvYmFibHkgbm90LlxuICAgICAgICAgIC8vIENvbnNpZGVyIHJlbW92aW5nLlxuICAgICAgICAgIHZhciBtb3N0UmVjZW50RXZlbnRUaW1lID0gZ2V0TW9zdFJlY2VudEV2ZW50VGltZShyb290LCBsYW5lcyk7XG4gICAgICAgICAgdmFyIGV2ZW50VGltZU1zID0gbW9zdFJlY2VudEV2ZW50VGltZTtcbiAgICAgICAgICB2YXIgdGltZUVsYXBzZWRNcyA9IG5vdygpIC0gZXZlbnRUaW1lTXM7XG5cbiAgICAgICAgICB2YXIgX21zVW50aWxUaW1lb3V0ID0gam5kKHRpbWVFbGFwc2VkTXMpIC0gdGltZUVsYXBzZWRNczsgLy8gRG9uJ3QgYm90aGVyIHdpdGggYSB2ZXJ5IHNob3J0IHN1c3BlbnNlIHRpbWUuXG5cblxuICAgICAgICAgIGlmIChfbXNVbnRpbFRpbWVvdXQgPiAxMCkge1xuICAgICAgICAgICAgLy8gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFjayBpbW1lZGlhdGVseSwgd2FpdCBmb3IgbW9yZSBkYXRhXG4gICAgICAgICAgICAvLyB0byBhcnJpdmUuXG4gICAgICAgICAgICByb290LnRpbWVvdXRIYW5kbGUgPSBzY2hlZHVsZVRpbWVvdXQoY29tbWl0Um9vdC5iaW5kKG51bGwsIHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKSwgX21zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBDb21taXQgdGhlIHBsYWNlaG9sZGVyLlxuXG5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290Q29tcGxldGVkOlxuICAgICAge1xuICAgICAgICAvLyBUaGUgd29yayBjb21wbGV0ZWQuIFJlYWR5IHRvIGNvbW1pdC5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHJvb3QgZXhpdCBzdGF0dXMuJyk7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNSZW5kZXJDb25zaXN0ZW50V2l0aEV4dGVybmFsU3RvcmVzKGZpbmlzaGVkV29yaykge1xuICAvLyBTZWFyY2ggdGhlIHJlbmRlcmVkIHRyZWUgZm9yIGV4dGVybmFsIHN0b3JlIHJlYWRzLCBhbmQgY2hlY2sgd2hldGhlciB0aGVcbiAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZCBpbiBhIGNvbmN1cnJlbnQgZXZlbnQuIEludGVudGlvbmFsbHkgdXNpbmcgYW4gaXRlcmF0aXZlXG4gIC8vIGxvb3AgaW5zdGVhZCBvZiByZWN1cnNpb24gc28gd2UgY2FuIGV4aXQgZWFybHkuXG4gIHZhciBub2RlID0gZmluaXNoZWRXb3JrO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG5vZGUuZmxhZ3MgJiBTdG9yZUNvbnNpc3RlbmN5KSB7XG4gICAgICB2YXIgdXBkYXRlUXVldWUgPSBub2RlLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGNoZWNrcyA9IHVwZGF0ZVF1ZXVlLnN0b3JlcztcblxuICAgICAgICBpZiAoY2hlY2tzICE9PSBudWxsKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGVja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBjaGVjayA9IGNoZWNrc1tpXTtcbiAgICAgICAgICAgIHZhciBnZXRTbmFwc2hvdCA9IGNoZWNrLmdldFNuYXBzaG90O1xuICAgICAgICAgICAgdmFyIHJlbmRlcmVkVmFsdWUgPSBjaGVjay52YWx1ZTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgaWYgKCFvYmplY3RJcyhnZXRTbmFwc2hvdCgpLCByZW5kZXJlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIC8vIEZvdW5kIGFuIGluY29uc2lzdGVudCBzdG9yZS5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIC8vIElmIGBnZXRTbmFwc2hvdGAgdGhyb3dzLCByZXR1cm4gYGZhbHNlYC4gVGhpcyB3aWxsIHNjaGVkdWxlXG4gICAgICAgICAgICAgIC8vIGEgcmUtcmVuZGVyLCBhbmQgdGhlIGVycm9yIHdpbGwgYmUgcmV0aHJvd24gZHVyaW5nIHJlbmRlci5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgICBpZiAobm9kZS5zdWJ0cmVlRmxhZ3MgJiBTdG9yZUNvbnNpc3RlbmN5ICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBjaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgbm9kZSA9IGNoaWxkO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IGZpbmlzaGVkV29yaykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgfSAvLyBGbG93IGRvZXNuJ3Qga25vdyB0aGlzIGlzIHVucmVhY2hhYmxlLCBidXQgZXNsaW50IGRvZXNcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVucmVhY2hhYmxlXG5cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbWFya1Jvb3RTdXNwZW5kZWQkMShyb290LCBzdXNwZW5kZWRMYW5lcykge1xuICAvLyBXaGVuIHN1c3BlbmRpbmcsIHdlIHNob3VsZCBhbHdheXMgZXhjbHVkZSBsYW5lcyB0aGF0IHdlcmUgcGluZ2VkIG9yIChtb3JlXG4gIC8vIHJhcmVseSwgc2luY2Ugd2UgdHJ5IHRvIGF2b2lkIGl0KSB1cGRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuICAvLyBUT0RPOiBMb2wgbWF5YmUgdGhlcmUncyBhIGJldHRlciB3YXkgdG8gZmFjdG9yIHRoaXMgYmVzaWRlcyB0aGlzXG4gIC8vIG9ibm94aW91c2x5IG5hbWVkIGZ1bmN0aW9uIDopXG4gIHN1c3BlbmRlZExhbmVzID0gcmVtb3ZlTGFuZXMoc3VzcGVuZGVkTGFuZXMsIHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzKTtcbiAgc3VzcGVuZGVkTGFuZXMgPSByZW1vdmVMYW5lcyhzdXNwZW5kZWRMYW5lcywgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpO1xuICBtYXJrUm9vdFN1c3BlbmRlZChyb290LCBzdXNwZW5kZWRMYW5lcyk7XG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBzeW5jaHJvbm91cyB0YXNrcyB0aGF0IGRvbid0IGdvXG4vLyB0aHJvdWdoIFNjaGVkdWxlclxuXG5cbmZ1bmN0aW9uIHBlcmZvcm1TeW5jV29ya09uUm9vdChyb290KSB7XG4gIHtcbiAgICBzeW5jTmVzdGVkVXBkYXRlRmxhZygpO1xuICB9XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuJyk7XG4gIH1cblxuICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIHZhciBsYW5lcyA9IGdldE5leHRMYW5lcyhyb290LCBOb0xhbmVzKTtcblxuICBpZiAoIWluY2x1ZGVzU29tZUxhbmUobGFuZXMsIFN5bmNMYW5lKSkge1xuICAgIC8vIFRoZXJlJ3Mgbm8gcmVtYWluaW5nIHN5bmMgd29yayBsZWZ0LlxuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKTtcblxuICBpZiAocm9vdC50YWcgIT09IExlZ2FjeVJvb3QgJiYgZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAvLyBJZiBzb21ldGhpbmcgdGhyZXcgYW4gZXJyb3IsIHRyeSByZW5kZXJpbmcgb25lIG1vcmUgdGltZS4gV2UnbGwgcmVuZGVyXG4gICAgLy8gc3luY2hyb25vdXNseSB0byBibG9jayBjb25jdXJyZW50IGRhdGEgbXV0YXRpb25zLCBhbmQgd2UnbGwgaW5jbHVkZXNcbiAgICAvLyBhbGwgcGVuZGluZyB1cGRhdGVzIGFyZSBpbmNsdWRlZC4gSWYgaXQgc3RpbGwgZmFpbHMgYWZ0ZXIgdGhlIHNlY29uZFxuICAgIC8vIGF0dGVtcHQsIHdlJ2xsIGdpdmUgdXAgYW5kIGNvbW1pdCB0aGUgcmVzdWx0aW5nIHRyZWUuXG4gICAgdmFyIGVycm9yUmV0cnlMYW5lcyA9IGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QpO1xuXG4gICAgaWYgKGVycm9yUmV0cnlMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbGFuZXMgPSBlcnJvclJldHJ5TGFuZXM7XG4gICAgICBleGl0U3RhdHVzID0gcmVjb3ZlckZyb21Db25jdXJyZW50RXJyb3Iocm9vdCwgZXJyb3JSZXRyeUxhbmVzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdEZhdGFsRXJyb3JlZCkge1xuICAgIHZhciBmYXRhbEVycm9yID0gd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvcjtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIGxhbmVzKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuICAgIHRocm93IGZhdGFsRXJyb3I7XG4gIH1cblxuICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdERpZE5vdENvbXBsZXRlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdSb290IGRpZCBub3QgY29tcGxldGUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIEJlY2F1c2UgdGhpcyBpcyBhIHN5bmMgcmVuZGVyLCB3ZVxuICAvLyB3aWxsIGNvbW1pdCBpdCBldmVuIGlmIHNvbWV0aGluZyBzdXNwZW5kZWQuXG5cblxuICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5jdXJyZW50LmFsdGVybmF0ZTtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBmaW5pc2hlZFdvcms7XG4gIHJvb3QuZmluaXNoZWRMYW5lcyA9IGxhbmVzO1xuICBjb21taXRSb290KHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKTsgLy8gQmVmb3JlIGV4aXRpbmcsIG1ha2Ugc3VyZSB0aGVyZSdzIGEgY2FsbGJhY2sgc2NoZWR1bGVkIGZvciB0aGUgbmV4dFxuICAvLyBwZW5kaW5nIGxldmVsLlxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmbHVzaFJvb3Qocm9vdCwgbGFuZXMpIHtcbiAgaWYgKGxhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgbWFya1Jvb3RFbnRhbmdsZWQocm9vdCwgbWVyZ2VMYW5lcyhsYW5lcywgU3luY0xhbmUpKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuXG4gICAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgPT09IE5vQ29udGV4dCkge1xuICAgICAgcmVzZXRSZW5kZXJUaW1lcigpO1xuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBiYXRjaGVkVXBkYXRlcyQxKGZuLCBhKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gQmF0Y2hlZENvbnRleHQ7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oYSk7XG4gIH0gZmluYWxseSB7XG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0OyAvLyBJZiB0aGVyZSB3ZXJlIGxlZ2FjeSBzeW5jIHVwZGF0ZXMsIGZsdXNoIHRoZW0gYXQgdGhlIGVuZCBvZiB0aGUgb3V0ZXJcbiAgICAvLyBtb3N0IGJhdGNoZWRVcGRhdGVzLWxpa2UgbWV0aG9kLlxuXG4gICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCAmJiAvLyBUcmVhdCBgYWN0YCBhcyBpZiBpdCdzIGluc2lkZSBgYmF0Y2hlZFVwZGF0ZXNgLCBldmVuIGluIGxlZ2FjeSBtb2RlLlxuICAgICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSkpIHtcbiAgICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrc09ubHlJbkxlZ2FjeU1vZGUoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpc2NyZXRlVXBkYXRlcyhmbiwgYSwgYiwgYywgZCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG5cbiAgdHJ5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBudWxsO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIHJldHVybiBmbihhLCBiLCBjLCBkKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG5cbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XG4gICAgICByZXNldFJlbmRlclRpbWVyKCk7XG4gICAgfVxuICB9XG59IC8vIE92ZXJsb2FkIHRoZSBkZWZpbml0aW9uIHRvIHRoZSB0d28gdmFsaWQgc2lnbmF0dXJlcy5cbi8vIFdhcm5pbmcsIHRoaXMgb3B0cy1vdXQgb2YgY2hlY2tpbmcgdGhlIGZ1bmN0aW9uIGJvZHkuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmZ1bmN0aW9uIGZsdXNoU3luYyhmbikge1xuICAvLyBJbiBsZWdhY3kgbW9kZSwgd2UgZmx1c2ggcGVuZGluZyBwYXNzaXZlIGVmZmVjdHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiAgLy8gbmV4dCBldmVudCwgbm90IGF0IHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIG9uZS5cbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzICE9PSBudWxsICYmIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLnRhZyA9PT0gTGVnYWN5Um9vdCAmJiAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIH1cblxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICBleGVjdXRpb25Db250ZXh0IHw9IEJhdGNoZWRDb250ZXh0O1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG4gIHZhciBwcmV2aW91c1ByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgdHJ5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBudWxsO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuXG4gICAgaWYgKGZuKSB7XG4gICAgICByZXR1cm4gZm4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuICAgIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDsgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaC5cbiAgICAvLyBOb3RlIHRoYXQgdGhpcyB3aWxsIGhhcHBlbiBldmVuIGlmIGJhdGNoZWRVcGRhdGVzIGlzIGhpZ2hlciB1cFxuICAgIC8vIHRoZSBzdGFjay5cblxuICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrcygpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gaXNBbHJlYWR5UmVuZGVyaW5nKCkge1xuICAvLyBVc2VkIGJ5IHRoZSByZW5kZXJlciB0byBwcmludCBhIHdhcm5pbmcgaWYgY2VydGFpbiBBUElzIGFyZSBjYWxsZWQgZnJvbVxuICAvLyB0aGUgd3JvbmcgY29udGV4dC5cbiAgcmV0dXJuICAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQ7XG59XG5mdW5jdGlvbiBwdXNoUmVuZGVyTGFuZXMoZmliZXIsIGxhbmVzKSB7XG4gIHB1c2goc3VidHJlZVJlbmRlckxhbmVzQ3Vyc29yLCBzdWJ0cmVlUmVuZGVyTGFuZXMsIGZpYmVyKTtcbiAgc3VidHJlZVJlbmRlckxhbmVzID0gbWVyZ2VMYW5lcyhzdWJ0cmVlUmVuZGVyTGFuZXMsIGxhbmVzKTtcbiAgd29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcywgbGFuZXMpO1xufVxuZnVuY3Rpb24gcG9wUmVuZGVyTGFuZXMoZmliZXIpIHtcbiAgc3VidHJlZVJlbmRlckxhbmVzID0gc3VidHJlZVJlbmRlckxhbmVzQ3Vyc29yLmN1cnJlbnQ7XG4gIHBvcChzdWJ0cmVlUmVuZGVyTGFuZXNDdXJzb3IsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgbGFuZXMpIHtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBudWxsO1xuICByb290LmZpbmlzaGVkTGFuZXMgPSBOb0xhbmVzO1xuICB2YXIgdGltZW91dEhhbmRsZSA9IHJvb3QudGltZW91dEhhbmRsZTtcblxuICBpZiAodGltZW91dEhhbmRsZSAhPT0gbm9UaW1lb3V0KSB7XG4gICAgLy8gVGhlIHJvb3QgcHJldmlvdXMgc3VzcGVuZGVkIGFuZCBzY2hlZHVsZWQgYSB0aW1lb3V0IHRvIGNvbW1pdCBhIGZhbGxiYWNrXG4gICAgLy8gc3RhdGUuIE5vdyB0aGF0IHdlIGhhdmUgYWRkaXRpb25hbCB3b3JrLCBjYW5jZWwgdGhlIHRpbWVvdXQuXG4gICAgcm9vdC50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0OyAvLyAkRmxvd0ZpeE1lIENvbXBsYWlucyBub1RpbWVvdXQgaXMgbm90IGEgVGltZW91dElELCBkZXNwaXRlIHRoZSBjaGVjayBhYm92ZVxuXG4gICAgY2FuY2VsVGltZW91dCh0aW1lb3V0SGFuZGxlKTtcbiAgfVxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgIHZhciBpbnRlcnJ1cHRlZFdvcmsgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG5cbiAgICB3aGlsZSAoaW50ZXJydXB0ZWRXb3JrICE9PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGludGVycnVwdGVkV29yay5hbHRlcm5hdGU7XG4gICAgICB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoY3VycmVudCwgaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGludGVycnVwdGVkV29yayA9IGludGVycnVwdGVkV29yay5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgdmFyIHJvb3RXb3JrSW5Qcm9ncmVzcyA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKHJvb3QuY3VycmVudCwgbnVsbCk7XG4gIHdvcmtJblByb2dyZXNzID0gcm9vdFdvcmtJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IHN1YnRyZWVSZW5kZXJMYW5lcyA9IHdvcmtJblByb2dyZXNzUm9vdEluY2x1ZGVkTGFuZXMgPSBsYW5lcztcbiAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290U2tpcHBlZExhbmVzID0gTm9MYW5lcztcbiAgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBOb0xhbmVzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RQaW5nZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9IG51bGw7XG4gIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKTtcblxuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZGlzY2FyZFBlbmRpbmdXYXJuaW5ncygpO1xuICB9XG5cbiAgcmV0dXJuIHJvb3RXb3JrSW5Qcm9ncmVzcztcbn1cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpIHtcbiAgZG8ge1xuICAgIHZhciBlcnJvcmVkV29yayA9IHdvcmtJblByb2dyZXNzO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFJlc2V0IG1vZHVsZS1sZXZlbCBzdGF0ZSB0aGF0IHdhcyBzZXQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7XG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpOyAvLyBUT0RPOiBJIGZvdW5kIGFuZCBhZGRlZCB0aGlzIG1pc3NpbmcgbGluZSB3aGlsZSBpbnZlc3RpZ2F0aW5nIGFcbiAgICAgIC8vIHNlcGFyYXRlIGlzc3VlLiBXcml0ZSBhIHJlZ3Jlc3Npb24gdGVzdCB1c2luZyBzdHJpbmcgcmVmcy5cblxuICAgICAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDtcblxuICAgICAgaWYgKGVycm9yZWRXb3JrID09PSBudWxsIHx8IGVycm9yZWRXb3JrLnJldHVybiA9PT0gbnVsbCkge1xuICAgICAgICAvLyBFeHBlY3RlZCB0byBiZSB3b3JraW5nIG9uIGEgbm9uLXJvb3QgZmliZXIuIFRoaXMgaXMgYSBmYXRhbCBlcnJvclxuICAgICAgICAvLyBiZWNhdXNlIHRoZXJlJ3Mgbm8gYW5jZXN0b3IgdGhhdCBjYW4gaGFuZGxlIGl0OyB0aGUgcm9vdCBpc1xuICAgICAgICAvLyBzdXBwb3NlZCB0byBjYXB0dXJlIGFsbCBlcnJvcnMgdGhhdCB3ZXJlbid0IGNhdWdodCBieSBhbiBlcnJvclxuICAgICAgICAvLyBib3VuZGFyeS5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RGYXRhbEVycm9yZWQ7XG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSB0aHJvd25WYWx1ZTsgLy8gU2V0IGB3b3JrSW5Qcm9ncmVzc2AgdG8gbnVsbC4gVGhpcyByZXByZXNlbnRzIGFkdmFuY2luZyB0byB0aGUgbmV4dFxuICAgICAgICAvLyBzaWJsaW5nLCBvciB0aGUgcGFyZW50IGlmIHRoZXJlIGFyZSBubyBzaWJsaW5ncy4gQnV0IHNpbmNlIHRoZSByb290XG4gICAgICAgIC8vIGhhcyBubyBzaWJsaW5ncyBub3IgYSBwYXJlbnQsIHdlIHNldCBpdCB0byBudWxsLiBVc3VhbGx5IHRoaXMgaXNcbiAgICAgICAgLy8gaGFuZGxlZCBieSBgY29tcGxldGVVbml0T2ZXb3JrYCBvciBgdW53aW5kV29ya2AsIGJ1dCBzaW5jZSB3ZSdyZVxuICAgICAgICAvLyBpbnRlbnRpb25hbGx5IG5vdCBjYWxsaW5nIHRob3NlLCB3ZSBuZWVkIHNldCBpdCBoZXJlLlxuICAgICAgICAvLyBUT0RPOiBDb25zaWRlciBjYWxsaW5nIGB1bndpbmRXb3JrYCB0byBwb3AgdGhlIGNvbnRleHRzLlxuXG4gICAgICAgIHdvcmtJblByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lciAmJiBlcnJvcmVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgLy8gUmVjb3JkIHRoZSB0aW1lIHNwZW50IHJlbmRlcmluZyBiZWZvcmUgYW4gZXJyb3Igd2FzIHRocm93bi4gVGhpc1xuICAgICAgICAvLyBhdm9pZHMgaW5hY2N1cmF0ZSBQcm9maWxlciBkdXJhdGlvbnMgaW4gdGhlIGNhc2Ugb2YgYVxuICAgICAgICAvLyBzdXNwZW5kZWQgcmVuZGVyLlxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGVycm9yZWRXb3JrLCB0cnVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVuYWJsZVNjaGVkdWxpbmdQcm9maWxlcikge1xuICAgICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuXG4gICAgICAgIGlmICh0aHJvd25WYWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdGhyb3duVmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB0aHJvd25WYWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdmFyIHdha2VhYmxlID0gdGhyb3duVmFsdWU7XG4gICAgICAgICAgbWFya0NvbXBvbmVudFN1c3BlbmRlZChlcnJvcmVkV29yaywgd2FrZWFibGUsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXJrQ29tcG9uZW50RXJyb3JlZChlcnJvcmVkV29yaywgdGhyb3duVmFsdWUsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aHJvd0V4Y2VwdGlvbihyb290LCBlcnJvcmVkV29yay5yZXR1cm4sIGVycm9yZWRXb3JrLCB0aHJvd25WYWx1ZSwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpO1xuICAgICAgY29tcGxldGVVbml0T2ZXb3JrKGVycm9yZWRXb3JrKTtcbiAgICB9IGNhdGNoICh5ZXRBbm90aGVyVGhyb3duVmFsdWUpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgcmV0dXJuIHBhdGggYWxzbyB0aHJldy5cbiAgICAgIHRocm93blZhbHVlID0geWV0QW5vdGhlclRocm93blZhbHVlO1xuXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3MgPT09IGVycm9yZWRXb3JrICYmIGVycm9yZWRXb3JrICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIHRoaXMgYm91bmRhcnkgaGFzIGFscmVhZHkgZXJyb3JlZCwgdGhlbiB3ZSBoYWQgdHJvdWJsZSBwcm9jZXNzaW5nXG4gICAgICAgIC8vIHRoZSBlcnJvci4gQnViYmxlIGl0IHRvIHRoZSBuZXh0IGJvdW5kYXJ5LlxuICAgICAgICBlcnJvcmVkV29yayA9IGVycm9yZWRXb3JrLnJldHVybjtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MgPSBlcnJvcmVkV29yaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yZWRXb3JrID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgICB9XG5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH0gLy8gUmV0dXJuIHRvIHRoZSBub3JtYWwgd29yayBsb29wLlxuXG5cbiAgICByZXR1cm47XG4gIH0gd2hpbGUgKHRydWUpO1xufVxuXG5mdW5jdGlvbiBwdXNoRGlzcGF0Y2hlcigpIHtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQyLmN1cnJlbnQ7XG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMi5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyO1xuXG4gIGlmIChwcmV2RGlzcGF0Y2hlciA9PT0gbnVsbCkge1xuICAgIC8vIFRoZSBSZWFjdCBpc29tb3JwaGljIHBhY2thZ2UgZG9lcyBub3QgaW5jbHVkZSBhIGRlZmF1bHQgZGlzcGF0Y2hlci5cbiAgICAvLyBJbnN0ZWFkIHRoZSBmaXJzdCByZW5kZXJlciB3aWxsIGxhemlseSBhdHRhY2ggb25lLCBpbiBvcmRlciB0byBnaXZlXG4gICAgLy8gbmljZXIgZXJyb3IgbWVzc2FnZXMuXG4gICAgcmV0dXJuIENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcHJldkRpc3BhdGNoZXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcikge1xuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xufVxuXG5mdW5jdGlvbiBtYXJrQ29tbWl0VGltZU9mRmFsbGJhY2soKSB7XG4gIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUgPSBub3coKTtcbn1cbmZ1bmN0aW9uIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMobGFuZSkge1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RTa2lwcGVkTGFuZXMgPSBtZXJnZUxhbmVzKGxhbmUsIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyk7XG59XG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kKCkge1xuICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEluUHJvZ3Jlc3MpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdFN1c3BlbmRlZDtcbiAgfVxufVxuZnVuY3Rpb24gcmVuZGVyRGlkU3VzcGVuZERlbGF5SWZQb3NzaWJsZSgpIHtcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJblByb2dyZXNzIHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQgfHwgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdFN1c3BlbmRlZFdpdGhEZWxheTtcbiAgfSAvLyBDaGVjayBpZiB0aGVyZSBhcmUgdXBkYXRlcyB0aGF0IHdlIHNraXBwZWQgdHJlZSB0aGF0IG1pZ2h0IGhhdmUgdW5ibG9ja2VkXG4gIC8vIHRoaXMgcmVuZGVyLlxuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCAmJiAoaW5jbHVkZXNOb25JZGxlV29yayh3b3JrSW5Qcm9ncmVzc1Jvb3RTa2lwcGVkTGFuZXMpIHx8IGluY2x1ZGVzTm9uSWRsZVdvcmsod29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpKSkge1xuICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgcmVuZGVyIGFzIHN1c3BlbmRlZCBzbyB0aGF0IHdlIHN3aXRjaCB0byB3b3JraW5nIG9uXG4gICAgLy8gdGhlIHVwZGF0ZXMgdGhhdCB3ZXJlIHNraXBwZWQuIFVzdWFsbHkgd2Ugb25seSBzdXNwZW5kIGF0IHRoZSBlbmQgb2ZcbiAgICAvLyB0aGUgcmVuZGVyIHBoYXNlLlxuICAgIC8vIFRPRE86IFdlIHNob3VsZCBwcm9iYWJseSBhbHdheXMgbWFyayB0aGUgcm9vdCBhcyBzdXNwZW5kZWQgaW1tZWRpYXRlbHlcbiAgICAvLyAoaW5zaWRlIHRoaXMgZnVuY3Rpb24pLCBzaW5jZSBieSBzdXNwZW5kaW5nIGF0IHRoZSBlbmQgb2YgdGhlIHJlbmRlclxuICAgIC8vIHBoYXNlIGludHJvZHVjZXMgYSBwb3RlbnRpYWwgbWlzdGFrZSB3aGVyZSB3ZSBzdXNwZW5kIGxhbmVzIHRoYXQgd2VyZVxuICAgIC8vIHBpbmdlZCBvciB1cGRhdGVkIHdoaWxlIHdlIHdlcmUgcmVuZGVyaW5nLlxuICAgIG1hcmtSb290U3VzcGVuZGVkJDEod29ya0luUHJvZ3Jlc3NSb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlbmRlckRpZEVycm9yKGVycm9yKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzICE9PSBSb290U3VzcGVuZGVkV2l0aERlbGF5KSB7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RFcnJvcmVkO1xuICB9XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RDb25jdXJyZW50RXJyb3JzID0gW2Vycm9yXTtcbiAgfSBlbHNlIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RDb25jdXJyZW50RXJyb3JzLnB1c2goZXJyb3IpO1xuICB9XG59IC8vIENhbGxlZCBkdXJpbmcgcmVuZGVyIHRvIGRldGVybWluZSBpZiBhbnl0aGluZyBoYXMgc3VzcGVuZGVkLlxuLy8gUmV0dXJucyBmYWxzZSBpZiB3ZSdyZSBub3Qgc3VyZS5cblxuZnVuY3Rpb24gcmVuZGVySGFzTm90U3VzcGVuZGVkWWV0KCkge1xuICAvLyBJZiBzb21ldGhpbmcgZXJyb3JlZCBvciBjb21wbGV0ZWQsIHdlIGNhbid0IHJlYWxseSBiZSBzdXJlLFxuICAvLyBzbyB0aG9zZSBhcmUgZmFsc2UuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5Qcm9ncmVzcztcbn1cblxuZnVuY3Rpb24gcmVuZGVyUm9vdFN5bmMocm9vdCwgbGFuZXMpIHtcbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBSZW5kZXJDb250ZXh0O1xuICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpOyAvLyBJZiB0aGUgcm9vdCBvciBsYW5lcyBoYXZlIGNoYW5nZWQsIHRocm93IG91dCB0aGUgZXhpc3Rpbmcgc3RhY2tcbiAgLy8gYW5kIHByZXBhcmUgYSBmcmVzaCBvbmUuIE90aGVyd2lzZSB3ZSdsbCBjb250aW51ZSB3aGVyZSB3ZSBsZWZ0IG9mZi5cblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ICE9PSByb290IHx8IHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzICE9PSBsYW5lcykge1xuICAgIHtcbiAgICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgICB2YXIgbWVtb2l6ZWRVcGRhdGVycyA9IHJvb3QubWVtb2l6ZWRVcGRhdGVycztcblxuICAgICAgICBpZiAobWVtb2l6ZWRVcGRhdGVycy5zaXplID4gMCkge1xuICAgICAgICAgIHJlc3RvcmVQZW5kaW5nVXBkYXRlcnMocm9vdCwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpO1xuICAgICAgICAgIG1lbW9pemVkVXBkYXRlcnMuY2xlYXIoKTtcbiAgICAgICAgfSAvLyBBdCB0aGlzIHBvaW50LCBtb3ZlIEZpYmVycyB0aGF0IHNjaGVkdWxlZCB0aGUgdXBjb21pbmcgd29yayBmcm9tIHRoZSBNYXAgdG8gdGhlIFNldC5cbiAgICAgICAgLy8gSWYgd2UgYmFpbG91dCBvbiB0aGlzIHdvcmssIHdlJ2xsIG1vdmUgdGhlbSBiYWNrIChsaWtlIGFib3ZlKS5cbiAgICAgICAgLy8gSXQncyBpbXBvcnRhbnQgdG8gbW92ZSB0aGVtIG5vdyBpbiBjYXNlIHRoZSB3b3JrIHNwYXducyBtb3JlIHdvcmsgYXQgdGhlIHNhbWUgcHJpb3JpdHkgd2l0aCBkaWZmZXJlbnQgdXBkYXRlcnMuXG4gICAgICAgIC8vIFRoYXQgd2F5IHdlIGNhbiBrZWVwIHRoZSBjdXJyZW50IHVwZGF0ZSBhbmQgZnV0dXJlIHVwZGF0ZXMgc2VwYXJhdGUuXG5cblxuICAgICAgICBtb3ZlUGVuZGluZ0ZpYmVyc1RvTWVtb2l6ZWQocm9vdCwgbGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHdvcmtJblByb2dyZXNzVHJhbnNpdGlvbnMgPSBnZXRUcmFuc2l0aW9uc0ZvckxhbmVzKCk7XG4gICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgbGFuZXMpO1xuICB9XG5cbiAge1xuICAgIG1hcmtSZW5kZXJTdGFydGVkKGxhbmVzKTtcbiAgfVxuXG4gIGRvIHtcbiAgICB0cnkge1xuICAgICAgd29ya0xvb3BTeW5jKCk7XG4gICAgICBicmVhaztcbiAgICB9IGNhdGNoICh0aHJvd25WYWx1ZSkge1xuICAgICAgaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpO1xuICAgIH1cbiAgfSB3aGlsZSAodHJ1ZSk7XG5cbiAgcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCk7XG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyBhIHN5bmMgcmVuZGVyLCBzbyB3ZSBzaG91bGQgaGF2ZSBmaW5pc2hlZCB0aGUgd2hvbGUgdHJlZS5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb21taXQgYW4gaW5jb21wbGV0ZSByb290LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSAnICsgJ2J1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0b3BwZWQoKTtcbiAgfSAvLyBTZXQgdGhpcyB0byBudWxsIHRvIGluZGljYXRlIHRoZXJlJ3Mgbm8gaW4tcHJvZ3Jlc3MgcmVuZGVyLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cztcbn0gLy8gVGhlIHdvcmsgbG9vcCBpcyBhbiBleHRyZW1lbHkgaG90IHBhdGguIFRlbGwgQ2xvc3VyZSBub3QgdG8gaW5saW5lIGl0LlxuXG4vKiogQG5vaW5saW5lICovXG5cblxuZnVuY3Rpb24gd29ya0xvb3BTeW5jKCkge1xuICAvLyBBbHJlYWR5IHRpbWVkIG91dCwgc28gcGVyZm9ybSB3b3JrIHdpdGhvdXQgY2hlY2tpbmcgaWYgd2UgbmVlZCB0byB5aWVsZC5cbiAgd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgcGVyZm9ybVVuaXRPZldvcmsod29ya0luUHJvZ3Jlc3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlclJvb3RDb25jdXJyZW50KHJvb3QsIGxhbmVzKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gUmVuZGVyQ29udGV4dDtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gcHVzaERpc3BhdGNoZXIoKTsgLy8gSWYgdGhlIHJvb3Qgb3IgbGFuZXMgaGF2ZSBjaGFuZ2VkLCB0aHJvdyBvdXQgdGhlIGV4aXN0aW5nIHN0YWNrXG4gIC8vIGFuZCBwcmVwYXJlIGEgZnJlc2ggb25lLiBPdGhlcndpc2Ugd2UnbGwgY29udGludWUgd2hlcmUgd2UgbGVmdCBvZmYuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gcm9vdCB8fCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyAhPT0gbGFuZXMpIHtcbiAgICB7XG4gICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgdmFyIG1lbW9pemVkVXBkYXRlcnMgPSByb290Lm1lbW9pemVkVXBkYXRlcnM7XG5cbiAgICAgICAgaWYgKG1lbW9pemVkVXBkYXRlcnMuc2l6ZSA+IDApIHtcbiAgICAgICAgICByZXN0b3JlUGVuZGluZ1VwZGF0ZXJzKHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmNsZWFyKCk7XG4gICAgICAgIH0gLy8gQXQgdGhpcyBwb2ludCwgbW92ZSBGaWJlcnMgdGhhdCBzY2hlZHVsZWQgdGhlIHVwY29taW5nIHdvcmsgZnJvbSB0aGUgTWFwIHRvIHRoZSBTZXQuXG4gICAgICAgIC8vIElmIHdlIGJhaWxvdXQgb24gdGhpcyB3b3JrLCB3ZSdsbCBtb3ZlIHRoZW0gYmFjayAobGlrZSBhYm92ZSkuXG4gICAgICAgIC8vIEl0J3MgaW1wb3J0YW50IHRvIG1vdmUgdGhlbSBub3cgaW4gY2FzZSB0aGUgd29yayBzcGF3bnMgbW9yZSB3b3JrIGF0IHRoZSBzYW1lIHByaW9yaXR5IHdpdGggZGlmZmVyZW50IHVwZGF0ZXJzLlxuICAgICAgICAvLyBUaGF0IHdheSB3ZSBjYW4ga2VlcCB0aGUgY3VycmVudCB1cGRhdGUgYW5kIGZ1dHVyZSB1cGRhdGVzIHNlcGFyYXRlLlxuXG5cbiAgICAgICAgbW92ZVBlbmRpbmdGaWJlcnNUb01lbW9pemVkKHJvb3QsIGxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zID0gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcygpO1xuICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBsYW5lcyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgZG8ge1xuICAgIHRyeSB7XG4gICAgICB3b3JrTG9vcENvbmN1cnJlbnQoKTtcbiAgICAgIGJyZWFrO1xuICAgIH0gY2F0Y2ggKHRocm93blZhbHVlKSB7XG4gICAgICBoYW5kbGVFcnJvcihyb290LCB0aHJvd25WYWx1ZSk7XG4gICAgfVxuICB9IHdoaWxlICh0cnVlKTtcblxuICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcblxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgIC8vIFN0aWxsIHdvcmsgcmVtYWluaW5nLlxuICAgIHtcbiAgICAgIG1hcmtSZW5kZXJZaWVsZGVkKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJvb3RJblByb2dyZXNzO1xuICB9IGVsc2Uge1xuICAgIC8vIENvbXBsZXRlZCB0aGUgdHJlZS5cbiAgICB7XG4gICAgICBtYXJrUmVuZGVyU3RvcHBlZCgpO1xuICAgIH0gLy8gU2V0IHRoaXMgdG8gbnVsbCB0byBpbmRpY2F0ZSB0aGVyZSdzIG5vIGluLXByb2dyZXNzIHJlbmRlci5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIFJldHVybiB0aGUgZmluYWwgZXhpdCBzdGF0dXMuXG5cbiAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cztcbiAgfVxufVxuLyoqIEBub2lubGluZSAqL1xuXG5cbmZ1bmN0aW9uIHdvcmtMb29wQ29uY3VycmVudCgpIHtcbiAgLy8gUGVyZm9ybSB3b3JrIHVudGlsIFNjaGVkdWxlciBhc2tzIHVzIHRvIHlpZWxkXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCAmJiAhc2hvdWxkWWllbGQoKSkge1xuICAgIHBlcmZvcm1Vbml0T2ZXb3JrKHdvcmtJblByb2dyZXNzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwZXJmb3JtVW5pdE9mV29yayh1bml0T2ZXb3JrKSB7XG4gIC8vIFRoZSBjdXJyZW50LCBmbHVzaGVkLCBzdGF0ZSBvZiB0aGlzIGZpYmVyIGlzIHRoZSBhbHRlcm5hdGUuIElkZWFsbHlcbiAgLy8gbm90aGluZyBzaG91bGQgcmVseSBvbiB0aGlzLCBidXQgcmVseWluZyBvbiBpdCBoZXJlIG1lYW5zIHRoYXQgd2UgZG9uJ3RcbiAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICB2YXIgY3VycmVudCA9IHVuaXRPZldvcmsuYWx0ZXJuYXRlO1xuICBzZXRDdXJyZW50RmliZXIodW5pdE9mV29yayk7XG4gIHZhciBuZXh0O1xuXG4gIGlmICggKHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgIG5leHQgPSBiZWdpbldvcmskMShjdXJyZW50LCB1bml0T2ZXb3JrLCBzdWJ0cmVlUmVuZGVyTGFuZXMpO1xuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEodW5pdE9mV29yaywgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dCA9IGJlZ2luV29yayQxKGN1cnJlbnQsIHVuaXRPZldvcmssIHN1YnRyZWVSZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXNldEN1cnJlbnRGaWJlcigpO1xuICB1bml0T2ZXb3JrLm1lbW9pemVkUHJvcHMgPSB1bml0T2ZXb3JrLnBlbmRpbmdQcm9wcztcblxuICBpZiAobmV4dCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgZG9lc24ndCBzcGF3biBuZXcgd29yaywgY29tcGxldGUgdGhlIGN1cnJlbnQgd29yay5cbiAgICBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gIH0gZWxzZSB7XG4gICAgd29ya0luUHJvZ3Jlc3MgPSBuZXh0O1xuICB9XG5cbiAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gY29tcGxldGVVbml0T2ZXb3JrKHVuaXRPZldvcmspIHtcbiAgLy8gQXR0ZW1wdCB0byBjb21wbGV0ZSB0aGUgY3VycmVudCB1bml0IG9mIHdvcmssIHRoZW4gbW92ZSB0byB0aGUgbmV4dFxuICAvLyBzaWJsaW5nLiBJZiB0aGVyZSBhcmUgbm8gbW9yZSBzaWJsaW5ncywgcmV0dXJuIHRvIHRoZSBwYXJlbnQgZmliZXIuXG4gIHZhciBjb21wbGV0ZWRXb3JrID0gdW5pdE9mV29yaztcblxuICBkbyB7XG4gICAgLy8gVGhlIGN1cnJlbnQsIGZsdXNoZWQsIHN0YXRlIG9mIHRoaXMgZmliZXIgaXMgdGhlIGFsdGVybmF0ZS4gSWRlYWxseVxuICAgIC8vIG5vdGhpbmcgc2hvdWxkIHJlbHkgb24gdGhpcywgYnV0IHJlbHlpbmcgb24gaXQgaGVyZSBtZWFucyB0aGF0IHdlIGRvbid0XG4gICAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICAgIHZhciBjdXJyZW50ID0gY29tcGxldGVkV29yay5hbHRlcm5hdGU7XG4gICAgdmFyIHJldHVybkZpYmVyID0gY29tcGxldGVkV29yay5yZXR1cm47IC8vIENoZWNrIGlmIHRoZSB3b3JrIGNvbXBsZXRlZCBvciBpZiBzb21ldGhpbmcgdGhyZXcuXG5cbiAgICBpZiAoKGNvbXBsZXRlZFdvcmsuZmxhZ3MgJiBJbmNvbXBsZXRlKSA9PT0gTm9GbGFncykge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNvbXBsZXRlZFdvcmspO1xuICAgICAgdmFyIG5leHQgPSB2b2lkIDA7XG5cbiAgICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICAgIG5leHQgPSBjb21wbGV0ZVdvcmsoY3VycmVudCwgY29tcGxldGVkV29yaywgc3VidHJlZVJlbmRlckxhbmVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0UHJvZmlsZXJUaW1lcihjb21wbGV0ZWRXb3JrKTtcbiAgICAgICAgbmV4dCA9IGNvbXBsZXRlV29yayhjdXJyZW50LCBjb21wbGV0ZWRXb3JrLCBzdWJ0cmVlUmVuZGVyTGFuZXMpOyAvLyBVcGRhdGUgcmVuZGVyIGR1cmF0aW9uIGFzc3VtaW5nIHdlIGRpZG4ndCBlcnJvci5cblxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGNvbXBsZXRlZFdvcmssIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgcmVzZXRDdXJyZW50RmliZXIoKTtcblxuICAgICAgaWYgKG5leHQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gQ29tcGxldGluZyB0aGlzIGZpYmVyIHNwYXduZWQgbmV3IHdvcmsuIFdvcmsgb24gdGhhdCBuZXh0LlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IG5leHQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBmaWJlciBkaWQgbm90IGNvbXBsZXRlIGJlY2F1c2Ugc29tZXRoaW5nIHRocmV3LiBQb3AgdmFsdWVzIG9mZlxuICAgICAgLy8gdGhlIHN0YWNrIHdpdGhvdXQgZW50ZXJpbmcgdGhlIGNvbXBsZXRlIHBoYXNlLiBJZiB0aGlzIGlzIGEgYm91bmRhcnksXG4gICAgICAvLyBjYXB0dXJlIHZhbHVlcyBpZiBwb3NzaWJsZS5cbiAgICAgIHZhciBfbmV4dCA9IHVud2luZFdvcmsoY3VycmVudCwgY29tcGxldGVkV29yayk7IC8vIEJlY2F1c2UgdGhpcyBmaWJlciBkaWQgbm90IGNvbXBsZXRlLCBkb24ndCByZXNldCBpdHMgbGFuZXMuXG5cblxuICAgICAgaWYgKF9uZXh0ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIGNvbXBsZXRpbmcgdGhpcyB3b3JrIHNwYXduZWQgbmV3IHdvcmssIGRvIHRoYXQgbmV4dC4gV2UnbGwgY29tZVxuICAgICAgICAvLyBiYWNrIGhlcmUgYWdhaW4uXG4gICAgICAgIC8vIFNpbmNlIHdlJ3JlIHJlc3RhcnRpbmcsIHJlbW92ZSBhbnl0aGluZyB0aGF0IGlzIG5vdCBhIGhvc3QgZWZmZWN0XG4gICAgICAgIC8vIGZyb20gdGhlIGVmZmVjdCB0YWcuXG4gICAgICAgIF9uZXh0LmZsYWdzICY9IEhvc3RFZmZlY3RNYXNrO1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IF9uZXh0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIC8vIFJlY29yZCB0aGUgcmVuZGVyIGR1cmF0aW9uIGZvciB0aGUgZmliZXIgdGhhdCBlcnJvcmVkLlxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGNvbXBsZXRlZFdvcmssIGZhbHNlKTsgLy8gSW5jbHVkZSB0aGUgdGltZSBzcGVudCB3b3JraW5nIG9uIGZhaWxlZCBjaGlsZHJlbiBiZWZvcmUgY29udGludWluZy5cblxuICAgICAgICB2YXIgYWN0dWFsRHVyYXRpb24gPSBjb21wbGV0ZWRXb3JrLmFjdHVhbER1cmF0aW9uO1xuICAgICAgICB2YXIgY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgIGFjdHVhbER1cmF0aW9uICs9IGNoaWxkLmFjdHVhbER1cmF0aW9uO1xuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKHJldHVybkZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgIC8vIE1hcmsgdGhlIHBhcmVudCBmaWJlciBhcyBpbmNvbXBsZXRlIGFuZCBjbGVhciBpdHMgc3VidHJlZSBmbGFncy5cbiAgICAgICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gSW5jb21wbGV0ZTtcbiAgICAgICAgcmV0dXJuRmliZXIuc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICAgICAgcmV0dXJuRmliZXIuZGVsZXRpb25zID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlJ3ZlIHVud291bmQgYWxsIHRoZSB3YXkgdG8gdGhlIHJvb3QuXG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290RGlkTm90Q29tcGxldGU7XG4gICAgICAgIHdvcmtJblByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBzaWJsaW5nRmliZXIgPSBjb21wbGV0ZWRXb3JrLnNpYmxpbmc7XG5cbiAgICBpZiAoc2libGluZ0ZpYmVyICE9PSBudWxsKSB7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBtb3JlIHdvcmsgdG8gZG8gaW4gdGhpcyByZXR1cm5GaWJlciwgZG8gdGhhdCBuZXh0LlxuICAgICAgd29ya0luUHJvZ3Jlc3MgPSBzaWJsaW5nRmliZXI7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBPdGhlcndpc2UsIHJldHVybiB0byB0aGUgcGFyZW50XG5cblxuICAgIGNvbXBsZXRlZFdvcmsgPSByZXR1cm5GaWJlcjsgLy8gVXBkYXRlIHRoZSBuZXh0IHRoaW5nIHdlJ3JlIHdvcmtpbmcgb24gaW4gY2FzZSBzb21ldGhpbmcgdGhyb3dzLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSBjb21wbGV0ZWRXb3JrO1xuICB9IHdoaWxlIChjb21wbGV0ZWRXb3JrICE9PSBudWxsKTsgLy8gV2UndmUgcmVhY2hlZCB0aGUgcm9vdC5cblxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5Qcm9ncmVzcykge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290Q29tcGxldGVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFJvb3Qocm9vdCwgcmVjb3ZlcmFibGVFcnJvcnMsIHRyYW5zaXRpb25zKSB7XG4gIC8vIFRPRE86IFRoaXMgbm8gbG9uZ2VyIG1ha2VzIGFueSBzZW5zZS4gV2UgYWxyZWFkeSB3cmFwIHRoZSBtdXRhdGlvbiBhbmRcbiAgLy8gbGF5b3V0IHBoYXNlcy4gU2hvdWxkIGJlIGFibGUgdG8gcmVtb3ZlLlxuICB2YXIgcHJldmlvdXNVcGRhdGVMYW5lUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uO1xuXG4gIHRyeSB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gbnVsbDtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoRGlzY3JldGVFdmVudFByaW9yaXR5KTtcbiAgICBjb21taXRSb290SW1wbChyb290LCByZWNvdmVyYWJsZUVycm9ycywgdHJhbnNpdGlvbnMsIHByZXZpb3VzVXBkYXRlTGFuZVByaW9yaXR5KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBwcmV2VHJhbnNpdGlvbjtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNVcGRhdGVMYW5lUHJpb3JpdHkpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFJvb3RJbXBsKHJvb3QsIHJlY292ZXJhYmxlRXJyb3JzLCB0cmFuc2l0aW9ucywgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xuICBkbyB7XG4gICAgLy8gYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgY2FsbCBgZmx1c2hTeW5jVXBkYXRlUXVldWVgIGF0IHRoZSBlbmQsIHdoaWNoXG4gICAgLy8gbWVhbnMgYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgc29tZXRpbWVzIHJlc3VsdCBpbiBhZGRpdGlvbmFsXG4gICAgLy8gcGFzc2l2ZSBlZmZlY3RzLiBTbyB3ZSBuZWVkIHRvIGtlZXAgZmx1c2hpbmcgaW4gYSBsb29wIHVudGlsIHRoZXJlIGFyZVxuICAgIC8vIG5vIG1vcmUgcGVuZGluZyBlZmZlY3RzLlxuICAgIC8vIFRPRE86IE1pZ2h0IGJlIGJldHRlciBpZiBgZmx1c2hQYXNzaXZlRWZmZWN0c2AgZGlkIG5vdCBhdXRvbWF0aWNhbGx5XG4gICAgLy8gZmx1c2ggc3luY2hyb25vdXMgd29yayBhdCB0aGUgZW5kLCB0byBhdm9pZCBmYWN0b3JpbmcgaGF6YXJkcyBsaWtlIHRoaXMuXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICB9IHdoaWxlIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyAhPT0gbnVsbCk7XG5cbiAgZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCk7XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuJyk7XG4gIH1cblxuICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5maW5pc2hlZFdvcms7XG4gIHZhciBsYW5lcyA9IHJvb3QuZmluaXNoZWRMYW5lcztcblxuICB7XG4gICAgbWFya0NvbW1pdFN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgaWYgKGZpbmlzaGVkV29yayA9PT0gbnVsbCkge1xuXG4gICAge1xuICAgICAgbWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBpZiAobGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAgICAgZXJyb3IoJ3Jvb3QuZmluaXNoZWRMYW5lcyBzaG91bGQgbm90IGJlIGVtcHR5IGR1cmluZyBhIGNvbW1pdC4gVGhpcyBpcyBhICcgKyAnYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJvb3QuZmluaXNoZWRXb3JrID0gbnVsbDtcbiAgcm9vdC5maW5pc2hlZExhbmVzID0gTm9MYW5lcztcblxuICBpZiAoZmluaXNoZWRXb3JrID09PSByb290LmN1cnJlbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb21taXQgdGhlIHNhbWUgdHJlZSBhcyBiZWZvcmUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSAnICsgJ2EgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfSAvLyBjb21taXRSb290IG5ldmVyIHJldHVybnMgYSBjb250aW51YXRpb247IGl0IGFsd2F5cyBmaW5pc2hlcyBzeW5jaHJvbm91c2x5LlxuICAvLyBTbyB3ZSBjYW4gY2xlYXIgdGhlc2Ugbm93IHRvIGFsbG93IGEgbmV3IGNhbGxiYWNrIHRvIGJlIHNjaGVkdWxlZC5cblxuXG4gIHJvb3QuY2FsbGJhY2tOb2RlID0gbnVsbDtcbiAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9MYW5lOyAvLyBVcGRhdGUgdGhlIGZpcnN0IGFuZCBsYXN0IHBlbmRpbmcgdGltZXMgb24gdGhpcyByb290LiBUaGUgbmV3IGZpcnN0XG4gIC8vIHBlbmRpbmcgdGltZSBpcyB3aGF0ZXZlciBpcyBsZWZ0IG9uIHRoZSByb290IGZpYmVyLlxuXG4gIHZhciByZW1haW5pbmdMYW5lcyA9IG1lcmdlTGFuZXMoZmluaXNoZWRXb3JrLmxhbmVzLCBmaW5pc2hlZFdvcmsuY2hpbGRMYW5lcyk7XG4gIG1hcmtSb290RmluaXNoZWQocm9vdCwgcmVtYWluaW5nTGFuZXMpO1xuXG4gIGlmIChyb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QpIHtcbiAgICAvLyBXZSBjYW4gcmVzZXQgdGhlc2Ugbm93IHRoYXQgdGhleSBhcmUgZmluaXNoZWQuXG4gICAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICB9IC8vIElmIHRoZXJlIGFyZSBwZW5kaW5nIHBhc3NpdmUgZWZmZWN0cywgc2NoZWR1bGUgYSBjYWxsYmFjayB0byBwcm9jZXNzIHRoZW0uXG4gIC8vIERvIHRoaXMgYXMgZWFybHkgYXMgcG9zc2libGUsIHNvIGl0IGlzIHF1ZXVlZCBiZWZvcmUgYW55dGhpbmcgZWxzZSB0aGF0XG4gIC8vIG1pZ2h0IGdldCBzY2hlZHVsZWQgaW4gdGhlIGNvbW1pdCBwaGFzZS4gKFNlZSAjMTY3MTQuKVxuICAvLyBUT0RPOiBEZWxldGUgYWxsIG90aGVyIHBsYWNlcyB0aGF0IHNjaGVkdWxlIHRoZSBwYXNzaXZlIGVmZmVjdCBjYWxsYmFja1xuICAvLyBUaGV5J3JlIHJlZHVuZGFudC5cblxuXG4gIGlmICgoZmluaXNoZWRXb3JrLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyB8fCAoZmluaXNoZWRXb3JrLmZsYWdzICYgUGFzc2l2ZU1hc2spICE9PSBOb0ZsYWdzKSB7XG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgLy8gdG8gc3RvcmUgaXQgaW4gcGVuZGluZ1Bhc3NpdmVUcmFuc2l0aW9ucyB1bnRpbCB0aGV5IGdldCBwcm9jZXNzZWRcbiAgICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGlzIHRocm91Z2ggYXMgYW4gYXJndW1lbnQgdG8gY29tbWl0Um9vdFxuICAgICAgLy8gYmVjYXVzZSB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zIG1pZ2h0IGhhdmUgY2hhbmdlZCBiZXR3ZWVuXG4gICAgICAvLyB0aGUgcHJldmlvdXMgcmVuZGVyIGFuZCBjb21taXQgaWYgd2UgdGhyb3R0bGUgdGhlIGNvbW1pdFxuICAgICAgLy8gd2l0aCBzZXRUaW1lb3V0XG5cbiAgICAgIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSB0cmFuc2l0aW9ucztcbiAgICAgIHNjaGVkdWxlQ2FsbGJhY2skMShOb3JtYWxQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7IC8vIFRoaXMgcmVuZGVyIHRyaWdnZXJlZCBwYXNzaXZlIGVmZmVjdHM6IHJlbGVhc2UgdGhlIHJvb3QgY2FjaGUgcG9vbFxuICAgICAgICAvLyAqYWZ0ZXIqIHBhc3NpdmUgZWZmZWN0cyBmaXJlIHRvIGF2b2lkIGZyZWVpbmcgYSBjYWNoZSBwb29sIHRoYXQgbWF5XG4gICAgICAgIC8vIGJlIHJlZmVyZW5jZWQgYnkgYSBub2RlIGluIHRoZSB0cmVlIChIb3N0Um9vdCwgQ2FjaGUgYm91bmRhcnkgZXRjKVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuICB9IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZWZmZWN0cyBpbiB0aGUgd2hvbGUgdHJlZS5cbiAgLy8gVE9ETzogVGhpcyBpcyBsZWZ0IG92ZXIgZnJvbSB0aGUgZWZmZWN0IGxpc3QgaW1wbGVtZW50YXRpb24sIHdoZXJlIHdlIGhhZFxuICAvLyB0byBjaGVjayBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBgZmlyc3RFZmZlY3RgIHRvIHNhdGlzZnkgRmxvdy4gSSB0aGluayB0aGVcbiAgLy8gb25seSBvdGhlciByZWFzb24gdGhpcyBvcHRpbWl6YXRpb24gZXhpc3RzIGlzIGJlY2F1c2UgaXQgYWZmZWN0cyBwcm9maWxpbmcuXG4gIC8vIFJlY29uc2lkZXIgd2hldGhlciB0aGlzIGlzIG5lY2Vzc2FyeS5cblxuXG4gIHZhciBzdWJ0cmVlSGFzRWZmZWN0cyA9IChmaW5pc2hlZFdvcmsuc3VidHJlZUZsYWdzICYgKEJlZm9yZU11dGF0aW9uTWFzayB8IE11dGF0aW9uTWFzayB8IExheW91dE1hc2sgfCBQYXNzaXZlTWFzaykpICE9PSBOb0ZsYWdzO1xuICB2YXIgcm9vdEhhc0VmZmVjdCA9IChmaW5pc2hlZFdvcmsuZmxhZ3MgJiAoQmVmb3JlTXV0YXRpb25NYXNrIHwgTXV0YXRpb25NYXNrIHwgTGF5b3V0TWFzayB8IFBhc3NpdmVNYXNrKSkgIT09IE5vRmxhZ3M7XG5cbiAgaWYgKHN1YnRyZWVIYXNFZmZlY3RzIHx8IHJvb3RIYXNFZmZlY3QpIHtcbiAgICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gICAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0OyAvLyBSZXNldCB0aGlzIHRvIG51bGwgYmVmb3JlIGNhbGxpbmcgbGlmZWN5Y2xlc1xuXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDsgLy8gVGhlIGNvbW1pdCBwaGFzZSBpcyBicm9rZW4gaW50byBzZXZlcmFsIHN1Yi1waGFzZXMuIFdlIGRvIGEgc2VwYXJhdGUgcGFzc1xuICAgIC8vIG9mIHRoZSBlZmZlY3QgbGlzdCBmb3IgZWFjaCBwaGFzZTogYWxsIG11dGF0aW9uIGVmZmVjdHMgY29tZSBiZWZvcmUgYWxsXG4gICAgLy8gbGF5b3V0IGVmZmVjdHMsIGFuZCBzbyBvbi5cbiAgICAvLyBUaGUgZmlyc3QgcGhhc2UgYSBcImJlZm9yZSBtdXRhdGlvblwiIHBoYXNlLiBXZSB1c2UgdGhpcyBwaGFzZSB0byByZWFkIHRoZVxuICAgIC8vIHN0YXRlIG9mIHRoZSBob3N0IHRyZWUgcmlnaHQgYmVmb3JlIHdlIG11dGF0ZSBpdC4gVGhpcyBpcyB3aGVyZVxuICAgIC8vIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlIGlzIGNhbGxlZC5cblxuICAgIHZhciBzaG91bGRGaXJlQWZ0ZXJBY3RpdmVJbnN0YW5jZUJsdXIgPSBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcblxuICAgIHtcbiAgICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgY29tbWl0IHRpbWUgdG8gYmUgc2hhcmVkIGJ5IGFsbCBQcm9maWxlcnMgaW4gdGhpc1xuICAgICAgLy8gYmF0Y2guIFRoaXMgZW5hYmxlcyB0aGVtIHRvIGJlIGdyb3VwZWQgbGF0ZXIuXG4gICAgICByZWNvcmRDb21taXRUaW1lKCk7XG4gICAgfVxuXG5cbiAgICBjb21taXRNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrLCBsYW5lcyk7XG5cbiAgICByZXNldEFmdGVyQ29tbWl0KHJvb3QuY29udGFpbmVySW5mbyk7IC8vIFRoZSB3b3JrLWluLXByb2dyZXNzIHRyZWUgaXMgbm93IHRoZSBjdXJyZW50IHRyZWUuIFRoaXMgbXVzdCBjb21lIGFmdGVyXG4gICAgLy8gdGhlIG11dGF0aW9uIHBoYXNlLCBzbyB0aGF0IHRoZSBwcmV2aW91cyB0cmVlIGlzIHN0aWxsIGN1cnJlbnQgZHVyaW5nXG4gICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQsIGJ1dCBiZWZvcmUgdGhlIGxheW91dCBwaGFzZSwgc28gdGhhdCB0aGUgZmluaXNoZWRcbiAgICAvLyB3b3JrIGlzIGN1cnJlbnQgZHVyaW5nIGNvbXBvbmVudERpZE1vdW50L1VwZGF0ZS5cblxuICAgIHJvb3QuY3VycmVudCA9IGZpbmlzaGVkV29yazsgLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIGxheW91dCBwaGFzZSwgd2hlcmUgd2UgY2FsbCBlZmZlY3RzIHRoYXQgcmVhZFxuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdGFydGVkKGxhbmVzKTtcbiAgICB9XG5cbiAgICBjb21taXRMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yaywgcm9vdCwgbGFuZXMpO1xuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICAgIC8vIG9wcG9ydHVuaXR5IHRvIHBhaW50LlxuXG5cbiAgICByZXF1ZXN0UGFpbnQoKTtcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7IC8vIFJlc2V0IHRoZSBwcmlvcml0eSB0byB0aGUgcHJldmlvdXMgbm9uLXN5bmMgdmFsdWUuXG5cbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH0gZWxzZSB7XG4gICAgLy8gTm8gZWZmZWN0cy5cbiAgICByb290LmN1cnJlbnQgPSBmaW5pc2hlZFdvcms7IC8vIE1lYXN1cmUgdGhlc2UgYW55d2F5IHNvIHRoZSBmbGFtZWdyYXBoIGV4cGxpY2l0bHkgc2hvd3MgdGhhdCB0aGVyZSB3ZXJlXG4gICAgLy8gbm8gZWZmZWN0cy5cbiAgICAvLyBUT0RPOiBNYXliZSB0aGVyZSdzIGEgYmV0dGVyIHdheSB0byByZXBvcnQgdGhpcy5cblxuICAgIHtcbiAgICAgIHJlY29yZENvbW1pdFRpbWUoKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cyA9IHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzO1xuXG4gIGlmIChyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgIC8vIFRoaXMgY29tbWl0IGhhcyBwYXNzaXZlIGVmZmVjdHMuIFN0YXNoIGEgcmVmZXJlbmNlIHRvIHRoZW0uIEJ1dCBkb24ndFxuICAgIC8vIHNjaGVkdWxlIGEgY2FsbGJhY2sgdW50aWwgYWZ0ZXIgZmx1c2hpbmcgbGF5b3V0IHdvcmsuXG4gICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbiAgICByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9IHJvb3Q7XG4gICAgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMgPSBsYW5lcztcbiAgfSBlbHNlIHtcblxuICAgIHtcbiAgICAgIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG4gICAgICByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbiAgICB9XG4gIH0gLy8gUmVhZCB0aGlzIGFnYWluLCBzaW5jZSBhbiBlZmZlY3QgbWlnaHQgaGF2ZSB1cGRhdGVkIGl0XG5cblxuICByZW1haW5pbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzOyAvLyBDaGVjayBpZiB0aGVyZSdzIHJlbWFpbmluZyB3b3JrIG9uIHRoaXMgcm9vdFxuICAvLyBUT0RPOiBUaGlzIGlzIHBhcnQgb2YgdGhlIGBjb21wb25lbnREaWRDYXRjaGAgaW1wbGVtZW50YXRpb24uIEl0cyBwdXJwb3NlXG4gIC8vIGlzIHRvIGRldGVjdCB3aGV0aGVyIHNvbWV0aGluZyBtaWdodCBoYXZlIGNhbGxlZCBzZXRTdGF0ZSBpbnNpZGVcbiAgLy8gYGNvbXBvbmVudERpZENhdGNoYC4gVGhlIG1lY2hhbmlzbSBpcyBrbm93biB0byBiZSBmbGF3ZWQgYmVjYXVzZSBgc2V0U3RhdGVgXG4gIC8vIGluc2lkZSBgY29tcG9uZW50RGlkQ2F0Y2hgIGlzIGl0c2VsZiBmbGF3ZWQg4oCUIHRoYXQncyB3aHkgd2UgcmVjb21tZW5kXG4gIC8vIGBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3JgIGluc3RlYWQuIEhvd2V2ZXIsIGl0IGNvdWxkIGJlIGltcHJvdmVkIGJ5XG4gIC8vIGNoZWNraW5nIGlmIHJlbWFpbmluZ0xhbmVzIGluY2x1ZGVzIFN5bmMgd29yaywgaW5zdGVhZCBvZiB3aGV0aGVyIHRoZXJlJ3NcbiAgLy8gYW55IHdvcmsgcmVtYWluaW5nIGF0IGFsbCAod2hpY2ggd291bGQgYWxzbyBpbmNsdWRlIHN0dWZmIGxpa2UgU3VzcGVuc2VcbiAgLy8gcmV0cmllcyBvciB0cmFuc2l0aW9ucykuIEl0J3MgYmVlbiBsaWtlIHRoaXMgZm9yIGEgd2hpbGUsIHRob3VnaCwgc28gZml4aW5nXG4gIC8vIGl0IHByb2JhYmx5IGlzbid0IHRoYXQgdXJnZW50LlxuXG4gIGlmIChyZW1haW5pbmdMYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIElmIHRoZXJlJ3Mgbm8gcmVtYWluaW5nIHdvcmssIHdlIGNhbiBjbGVhciB0aGUgc2V0IG9mIGFscmVhZHkgZmFpbGVkXG4gICAgLy8gZXJyb3IgYm91bmRhcmllcy5cbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7XG4gIH1cblxuICB7XG4gICAgaWYgKCFyb290RGlkSGF2ZVBhc3NpdmVFZmZlY3RzKSB7XG4gICAgICBjb21taXREb3VibGVJbnZva2VFZmZlY3RzSW5ERVYocm9vdC5jdXJyZW50LCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgb25Db21taXRSb290KGZpbmlzaGVkV29yay5zdGF0ZU5vZGUsIHJlbmRlclByaW9yaXR5TGV2ZWwpO1xuXG4gIHtcbiAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgIHJvb3QubWVtb2l6ZWRVcGRhdGVycy5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBvbkNvbW1pdFJvb3QkMSgpO1xuICB9IC8vIEFsd2F5cyBjYWxsIHRoaXMgYmVmb3JlIGV4aXRpbmcgYGNvbW1pdFJvb3RgLCB0byBlbnN1cmUgdGhhdCBhbnlcbiAgLy8gYWRkaXRpb25hbCB3b3JrIG9uIHRoaXMgcm9vdCBpcyBzY2hlZHVsZWQuXG5cblxuICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuXG4gIGlmIChyZWNvdmVyYWJsZUVycm9ycyAhPT0gbnVsbCkge1xuICAgIC8vIFRoZXJlIHdlcmUgZXJyb3JzIGR1cmluZyB0aGlzIHJlbmRlciwgYnV0IHJlY292ZXJlZCBmcm9tIHRoZW0gd2l0aG91dFxuICAgIC8vIG5lZWRpbmcgdG8gc3VyZmFjZSBpdCB0byB0aGUgVUkuIFdlIGxvZyB0aGVtIGhlcmUuXG4gICAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IHJvb3Qub25SZWNvdmVyYWJsZUVycm9yO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvdmVyYWJsZUVycm9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHJlY292ZXJhYmxlRXJyb3IgPSByZWNvdmVyYWJsZUVycm9yc1tpXTtcbiAgICAgIHZhciBjb21wb25lbnRTdGFjayA9IHJlY292ZXJhYmxlRXJyb3Iuc3RhY2s7XG4gICAgICB2YXIgZGlnZXN0ID0gcmVjb3ZlcmFibGVFcnJvci5kaWdlc3Q7XG4gICAgICBvblJlY292ZXJhYmxlRXJyb3IocmVjb3ZlcmFibGVFcnJvci52YWx1ZSwge1xuICAgICAgICBjb21wb25lbnRTdGFjazogY29tcG9uZW50U3RhY2ssXG4gICAgICAgIGRpZ2VzdDogZGlnZXN0XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFzVW5jYXVnaHRFcnJvcikge1xuICAgIGhhc1VuY2F1Z2h0RXJyb3IgPSBmYWxzZTtcbiAgICB2YXIgZXJyb3IkMSA9IGZpcnN0VW5jYXVnaHRFcnJvcjtcbiAgICBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBudWxsO1xuICAgIHRocm93IGVycm9yJDE7XG4gIH0gLy8gSWYgdGhlIHBhc3NpdmUgZWZmZWN0cyBhcmUgdGhlIHJlc3VsdCBvZiBhIGRpc2NyZXRlIHJlbmRlciwgZmx1c2ggdGhlbVxuICAvLyBzeW5jaHJvbm91c2x5IGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgdGFzayBzbyB0aGF0IHRoZSByZXN1bHQgaXNcbiAgLy8gaW1tZWRpYXRlbHkgb2JzZXJ2YWJsZS4gT3RoZXJ3aXNlLCB3ZSBhc3N1bWUgdGhhdCB0aGV5IGFyZSBub3RcbiAgLy8gb3JkZXItZGVwZW5kZW50IGFuZCBkbyBub3QgbmVlZCB0byBiZSBvYnNlcnZlZCBieSBleHRlcm5hbCBzeXN0ZW1zLCBzbyB3ZVxuICAvLyBjYW4gd2FpdCB1bnRpbCBhZnRlciBwYWludC5cbiAgLy8gVE9ETzogV2UgY2FuIG9wdGltaXplIHRoaXMgYnkgbm90IHNjaGVkdWxpbmcgdGhlIGNhbGxiYWNrIGVhcmxpZXIuIFNpbmNlIHdlXG4gIC8vIGN1cnJlbnRseSBzY2hlZHVsZSB0aGUgY2FsbGJhY2sgaW4gbXVsdGlwbGUgcGxhY2VzLCB3aWxsIHdhaXQgdW50aWwgdGhvc2VcbiAgLy8gYXJlIGNvbnNvbGlkYXRlZC5cblxuXG4gIGlmIChpbmNsdWRlc1NvbWVMYW5lKHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzLCBTeW5jTGFuZSkgJiYgcm9vdC50YWcgIT09IExlZ2FjeVJvb3QpIHtcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIH0gLy8gUmVhZCB0aGlzIGFnYWluLCBzaW5jZSBhIHBhc3NpdmUgZWZmZWN0IG1pZ2h0IGhhdmUgdXBkYXRlZCBpdFxuXG5cbiAgcmVtYWluaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lcztcblxuICBpZiAoaW5jbHVkZXNTb21lTGFuZShyZW1haW5pbmdMYW5lcywgU3luY0xhbmUpKSB7XG4gICAge1xuICAgICAgbWFya05lc3RlZFVwZGF0ZVNjaGVkdWxlZCgpO1xuICAgIH0gLy8gQ291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgcm9vdCBzeW5jaHJvbm91c2x5IHJlLXJlbmRlcnMgd2l0aG91dFxuICAgIC8vIGZpbmlzaGluZy4gSWYgdGhlcmUgYXJlIHRvbyBtYW55LCBpdCBpbmRpY2F0ZXMgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AuXG5cblxuICAgIGlmIChyb290ID09PSByb290V2l0aE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50Kys7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgICAgIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IHJvb3Q7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgfSAvLyBJZiBsYXlvdXQgd29yayB3YXMgc2NoZWR1bGVkLCBmbHVzaCBpdCBub3cuXG5cblxuICBmbHVzaFN5bmNDYWxsYmFja3MoKTtcblxuICB7XG4gICAgbWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmbHVzaFBhc3NpdmVFZmZlY3RzKCkge1xuICAvLyBSZXR1cm5zIHdoZXRoZXIgcGFzc2l2ZSBlZmZlY3RzIHdlcmUgZmx1c2hlZC5cbiAgLy8gVE9ETzogQ29tYmluZSB0aGlzIGNoZWNrIHdpdGggdGhlIG9uZSBpbiBmbHVzaFBhc3NpdmVFRmZlY3RzSW1wbC4gV2Ugc2hvdWxkXG4gIC8vIHByb2JhYmx5IGp1c3QgY29tYmluZSB0aGUgdHdvIGZ1bmN0aW9ucy4gSSBiZWxpZXZlIHRoZXkgd2VyZSBvbmx5IHNlcGFyYXRlXG4gIC8vIGluIHRoZSBmaXJzdCBwbGFjZSBiZWNhdXNlIHdlIHVzZWQgdG8gd3JhcCBpdCB3aXRoXG4gIC8vIGBTY2hlZHVsZXIucnVuV2l0aFByaW9yaXR5YCwgd2hpY2ggYWNjZXB0cyBhIGZ1bmN0aW9uLiBCdXQgbm93IHdlIHRyYWNrIHRoZVxuICAvLyBwcmlvcml0eSB3aXRoaW4gUmVhY3QgaXRzZWxmLCBzbyB3ZSBjYW4gbXV0YXRlIHRoZSB2YXJpYWJsZSBkaXJlY3RseS5cbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzICE9PSBudWxsKSB7XG4gICAgdmFyIHJlbmRlclByaW9yaXR5ID0gbGFuZXNUb0V2ZW50UHJpb3JpdHkocGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMpO1xuICAgIHZhciBwcmlvcml0eSA9IGxvd2VyRXZlbnRQcmlvcml0eShEZWZhdWx0RXZlbnRQcmlvcml0eSwgcmVuZGVyUHJpb3JpdHkpO1xuICAgIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbjtcbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IG51bGw7XG4gICAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJpb3JpdHkpO1xuICAgICAgcmV0dXJuIGZsdXNoUGFzc2l2ZUVmZmVjdHNJbXBsKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uOyAvLyBPbmNlIHBhc3NpdmUgZWZmZWN0cyBoYXZlIHJ1biBmb3IgdGhlIHRyZWUgLSBnaXZpbmcgY29tcG9uZW50cyBhXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZW5xdWV1ZVBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3QoZmliZXIpIHtcbiAge1xuICAgIHBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3RzLnB1c2goZmliZXIpO1xuXG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgc2NoZWR1bGVDYWxsYmFjayQxKE5vcm1hbFByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hQYXNzaXZlRWZmZWN0c0ltcGwoKSB7XG4gIGlmIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBDYWNoZSBhbmQgY2xlYXIgdGhlIHRyYW5zaXRpb25zIGZsYWdcblxuXG4gIHZhciB0cmFuc2l0aW9ucyA9IHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnM7XG4gIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsO1xuICB2YXIgcm9vdCA9IHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzO1xuICB2YXIgbGFuZXMgPSBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNMYW5lcztcbiAgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsOyAvLyBUT0RPOiBUaGlzIGlzIHNvbWV0aW1lcyBvdXQgb2Ygc3luYyB3aXRoIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLlxuICAvLyBGaWd1cmUgb3V0IHdoeSBhbmQgZml4IGl0LiBJdCdzIG5vdCBjYXVzaW5nIGFueSBrbm93biBpc3N1ZXMgKHByb2JhYmx5XG4gIC8vIGJlY2F1c2UgaXQncyBvbmx5IHVzZWQgZm9yIHByb2ZpbGluZyksIGJ1dCBpdCdzIGEgcmVmYWN0b3IgaGF6YXJkLlxuXG4gIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzID0gTm9MYW5lcztcblxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSAhPT0gTm9Db250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZmx1c2ggcGFzc2l2ZSBlZmZlY3RzIHdoaWxlIGFscmVhZHkgcmVuZGVyaW5nLicpO1xuICB9XG5cbiAge1xuICAgIGlzRmx1c2hpbmdQYXNzaXZlRWZmZWN0cyA9IHRydWU7XG4gICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xuICB9XG5cbiAge1xuICAgIG1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0O1xuICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHMocm9vdC5jdXJyZW50KTtcbiAgY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0cyhyb290LCByb290LmN1cnJlbnQsIGxhbmVzLCB0cmFuc2l0aW9ucyk7IC8vIFRPRE86IE1vdmUgdG8gY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0c1xuXG4gIHtcbiAgICB2YXIgcHJvZmlsZXJFZmZlY3RzID0gcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHM7XG4gICAgcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHMgPSBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZmlsZXJFZmZlY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgX2ZpYmVyID0gcHJvZmlsZXJFZmZlY3RzW2ldO1xuICAgICAgY29tbWl0UGFzc2l2ZUVmZmVjdER1cmF0aW9ucyhyb290LCBfZmliZXIpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBtYXJrUGFzc2l2ZUVmZmVjdHNTdG9wcGVkKCk7XG4gIH1cblxuICB7XG4gICAgY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKHJvb3QuY3VycmVudCwgdHJ1ZSk7XG4gIH1cblxuICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XG4gIGZsdXNoU3luY0NhbGxiYWNrcygpO1xuXG4gIHtcbiAgICAvLyBJZiBhZGRpdGlvbmFsIHBhc3NpdmUgZWZmZWN0cyB3ZXJlIHNjaGVkdWxlZCwgaW5jcmVtZW50IGEgY291bnRlci4gSWYgdGhpc1xuICAgIC8vIGV4Y2VlZHMgdGhlIGxpbWl0LCB3ZSdsbCBmaXJlIGEgd2FybmluZy5cbiAgICBpZiAoZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cykge1xuICAgICAgaWYgKHJvb3QgPT09IHJvb3RXaXRoUGFzc2l2ZU5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgICByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzID0gcm9vdDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID0gMDtcbiAgICB9XG5cbiAgICBpc0ZsdXNoaW5nUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbiAgICBkaWRTY2hlZHVsZVVwZGF0ZUR1cmluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG4gIH0gLy8gVE9ETzogTW92ZSB0byBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzXG5cblxuICBvblBvc3RDb21taXRSb290KHJvb3QpO1xuXG4gIHtcbiAgICB2YXIgc3RhdGVOb2RlID0gcm9vdC5jdXJyZW50LnN0YXRlTm9kZTtcbiAgICBzdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb24gPSAwO1xuICAgIHN0YXRlTm9kZS5wYXNzaXZlRWZmZWN0RHVyYXRpb24gPSAwO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkICE9PSBudWxsICYmIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkLmhhcyhpbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBtYXJrTGVnYWN5RXJyb3JCb3VuZGFyeUFzRmFpbGVkKGluc3RhbmNlKSB7XG4gIGlmIChsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9PT0gbnVsbCkge1xuICAgIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkID0gbmV3IFNldChbaW5zdGFuY2VdKTtcbiAgfSBlbHNlIHtcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZC5hZGQoaW5zdGFuY2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVUb1Rocm93VW5jYXVnaHRFcnJvcihlcnJvcikge1xuICBpZiAoIWhhc1VuY2F1Z2h0RXJyb3IpIHtcbiAgICBoYXNVbmNhdWdodEVycm9yID0gdHJ1ZTtcbiAgICBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBlcnJvcjtcbiAgfVxufVxuXG52YXIgb25VbmNhdWdodEVycm9yID0gcHJlcGFyZVRvVGhyb3dVbmNhdWdodEVycm9yO1xuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvck9uUm9vdChyb290RmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvcikge1xuICB2YXIgZXJyb3JJbmZvID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIoZXJyb3IsIHNvdXJjZUZpYmVyKTtcbiAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVJvb3RFcnJvclVwZGF0ZShyb290RmliZXIsIGVycm9ySW5mbywgU3luY0xhbmUpO1xuICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUocm9vdEZpYmVyLCB1cGRhdGUsIFN5bmNMYW5lKTtcbiAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIG1hcmtSb290VXBkYXRlZChyb290LCBTeW5jTGFuZSwgZXZlbnRUaW1lKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihzb3VyY2VGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IkMSkge1xuICB7XG4gICAgcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yJDEpO1xuICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gIH1cblxuICBpZiAoc291cmNlRmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIEVycm9yIHdhcyB0aHJvd24gYXQgdGhlIHJvb3QuIFRoZXJlIGlzIG5vIHBhcmVudCwgc28gdGhlIHJvb3RcbiAgICAvLyBpdHNlbGYgc2hvdWxkIGNhcHR1cmUgaXQuXG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3Qoc291cmNlRmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvciQxKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZmliZXIgPSBudWxsO1xuXG4gIHtcbiAgICBmaWJlciA9IG5lYXJlc3RNb3VudGVkQW5jZXN0b3I7XG4gIH1cblxuICB3aGlsZSAoZmliZXIgIT09IG51bGwpIHtcbiAgICBpZiAoZmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3QoZmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvciQxKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHZhciBjdG9yID0gZmliZXIudHlwZTtcbiAgICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSB7XG4gICAgICAgIHZhciBlcnJvckluZm8gPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihlcnJvciQxLCBzb3VyY2VGaWJlcik7XG4gICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKGZpYmVyLCBlcnJvckluZm8sIFN5bmNMYW5lKTtcbiAgICAgICAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUsIFN5bmNMYW5lKTtcbiAgICAgICAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcblxuICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgIG1hcmtSb290VXBkYXRlZChyb290LCBTeW5jTGFuZSwgZXZlbnRUaW1lKTtcbiAgICAgICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWJlciA9IGZpYmVyLnJldHVybjtcbiAgfVxuXG4gIHtcbiAgICAvLyBUT0RPOiBVbnRpbCB3ZSByZS1sYW5kIHNraXBVbm1vdW50ZWRCb3VuZGFyaWVzIChzZWUgIzIwMTQ3KSwgdGhpcyB3YXJuaW5nXG4gICAgLy8gd2lsbCBmaXJlIGZvciBlcnJvcnMgdGhhdCBhcmUgdGhyb3duIGJ5IGRlc3Ryb3kgZnVuY3Rpb25zIGluc2lkZSBkZWxldGVkXG4gICAgLy8gdHJlZXMuIFdoYXQgaXQgc2hvdWxkIGluc3RlYWQgZG8gaXMgcHJvcGFnYXRlIHRoZSBlcnJvciB0byB0aGUgcGFyZW50IG9mXG4gICAgLy8gdGhlIGRlbGV0ZWQgdHJlZS4gSW4gdGhlIG1lYW50aW1lLCBkbyBub3QgYWRkIHRoaXMgd2FybmluZyB0byB0aGVcbiAgICAvLyBhbGxvd2xpc3Q7IHRoaXMgaXMgb25seSBmb3Igb3VyIGludGVybmFsIHVzZS5cbiAgICBlcnJvcignSW50ZXJuYWwgUmVhY3QgZXJyb3I6IEF0dGVtcHRlZCB0byBjYXB0dXJlIGEgY29tbWl0IHBoYXNlIGVycm9yICcgKyAnaW5zaWRlIGEgZGV0YWNoZWQgdHJlZS4gVGhpcyBpbmRpY2F0ZXMgYSBidWcgaW4gUmVhY3QuIExpa2VseSAnICsgJ2NhdXNlcyBpbmNsdWRlIGRlbGV0aW5nIHRoZSBzYW1lIGZpYmVyIG1vcmUgdGhhbiBvbmNlLCBjb21taXR0aW5nIGFuICcgKyAnYWxyZWFkeS1maW5pc2hlZCB0cmVlLCBvciBhbiBpbmNvbnNpc3RlbnQgcmV0dXJuIHBvaW50ZXIuXFxuXFxuJyArICdFcnJvciBtZXNzYWdlOlxcblxcbiVzJywgZXJyb3IkMSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHBpbmdTdXNwZW5kZWRSb290KHJvb3QsIHdha2VhYmxlLCBwaW5nZWRMYW5lcykge1xuICB2YXIgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGU7XG5cbiAgaWYgKHBpbmdDYWNoZSAhPT0gbnVsbCkge1xuICAgIC8vIFRoZSB3YWtlYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXG4gICAgLy8gbmV2ZXIgYmUgdGhyb3duIGFnYWluLlxuICAgIHBpbmdDYWNoZS5kZWxldGUod2FrZWFibGUpO1xuICB9XG5cbiAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcbiAgbWFya1Jvb3RQaW5nZWQocm9vdCwgcGluZ2VkTGFuZXMpO1xuICB3YXJuSWZTdXNwZW5zZVJlc29sdXRpb25Ob3RXcmFwcGVkV2l0aEFjdERFVihyb290KTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290ICYmIGlzU3Vic2V0T2ZMYW5lcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcywgcGluZ2VkTGFuZXMpKSB7XG4gICAgLy8gUmVjZWl2ZWQgYSBwaW5nIGF0IHRoZSBzYW1lIHByaW9yaXR5IGxldmVsIGF0IHdoaWNoIHdlJ3JlIGN1cnJlbnRseVxuICAgIC8vIHJlbmRlcmluZy4gV2UgbWlnaHQgd2FudCB0byByZXN0YXJ0IHRoaXMgcmVuZGVyLiBUaGlzIHNob3VsZCBtaXJyb3JcbiAgICAvLyB0aGUgbG9naWMgb2Ygd2hldGhlciBvciBub3QgYSByb290IHN1c3BlbmRzIG9uY2UgaXQgY29tcGxldGVzLlxuICAgIC8vIFRPRE86IElmIHdlJ3JlIHJlbmRlcmluZyBzeW5jIGVpdGhlciBkdWUgdG8gU3luYywgQmF0Y2hlZCBvciBleHBpcmVkLFxuICAgIC8vIHdlIHNob3VsZCBwcm9iYWJseSBuZXZlciByZXN0YXJ0LlxuICAgIC8vIElmIHdlJ3JlIHN1c3BlbmRlZCB3aXRoIGRlbGF5LCBvciBpZiBpdCdzIGEgcmV0cnksIHdlJ2xsIGFsd2F5cyBzdXNwZW5kXG4gICAgLy8gc28gd2UgY2FuIGFsd2F5cyByZXN0YXJ0LlxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkV2l0aERlbGF5IHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQgJiYgaW5jbHVkZXNPbmx5UmV0cmllcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcykgJiYgbm93KCkgLSBnbG9iYWxNb3N0UmVjZW50RmFsbGJhY2tUaW1lIDwgRkFMTEJBQ0tfVEhST1RUTEVfTVMpIHtcbiAgICAgIC8vIFJlc3RhcnQgZnJvbSB0aGUgcm9vdC5cbiAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIE5vTGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFdmVuIHRob3VnaCB3ZSBjYW4ndCByZXN0YXJ0IHJpZ2h0IG5vdywgd2UgbWlnaHQgZ2V0IGFuXG4gICAgICAvLyBvcHBvcnR1bml0eSBsYXRlci4gU28gd2UgbWFyayB0aGlzIHJlbmRlciBhcyBoYXZpbmcgYSBwaW5nLlxuICAgICAgd29ya0luUHJvZ3Jlc3NSb290UGluZ2VkTGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzLCBwaW5nZWRMYW5lcyk7XG4gICAgfVxuICB9XG5cbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIGV2ZW50VGltZSk7XG59XG5cbmZ1bmN0aW9uIHJldHJ5VGltZWRPdXRCb3VuZGFyeShib3VuZGFyeUZpYmVyLCByZXRyeUxhbmUpIHtcbiAgLy8gVGhlIGJvdW5kYXJ5IGZpYmVyIChhIFN1c3BlbnNlIGNvbXBvbmVudCBvciBTdXNwZW5zZUxpc3QgY29tcG9uZW50KVxuICAvLyBwcmV2aW91c2x5IHdhcyByZW5kZXJlZCBpbiBpdHMgZmFsbGJhY2sgc3RhdGUuIE9uZSBvZiB0aGUgcHJvbWlzZXMgdGhhdFxuICAvLyBzdXNwZW5kZWQgaXQgaGFzIHJlc29sdmVkLCB3aGljaCBtZWFucyBhdCBsZWFzdCBwYXJ0IG9mIHRoZSB0cmVlIHdhc1xuICAvLyBsaWtlbHkgdW5ibG9ja2VkLiBUcnkgcmVuZGVyaW5nIGFnYWluLCBhdCBhIG5ldyBsYW5lcy5cbiAgaWYgKHJldHJ5TGFuZSA9PT0gTm9MYW5lKSB7XG4gICAgLy8gVE9ETzogQXNzaWduIHRoaXMgdG8gYHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lYD8gdG8gYXZvaWRcbiAgICAvLyB1bm5lY2Vzc2FyeSBlbnRhbmdsZW1lbnQ/XG4gICAgcmV0cnlMYW5lID0gcmVxdWVzdFJldHJ5TGFuZShib3VuZGFyeUZpYmVyKTtcbiAgfSAvLyBUT0RPOiBTcGVjaWFsIGNhc2UgaWRsZSBwcmlvcml0eT9cblxuXG4gIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBtYXJrUm9vdFVwZGF0ZWQocm9vdCwgcmV0cnlMYW5lLCBldmVudFRpbWUpO1xuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBldmVudFRpbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJldHJ5RGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoYm91bmRhcnlGaWJlcikge1xuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGJvdW5kYXJ5RmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHJldHJ5TGFuZSA9IE5vTGFuZTtcblxuICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xuICAgIHJldHJ5TGFuZSA9IHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lO1xuICB9XG5cbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG59XG5mdW5jdGlvbiByZXNvbHZlUmV0cnlXYWtlYWJsZShib3VuZGFyeUZpYmVyLCB3YWtlYWJsZSkge1xuICB2YXIgcmV0cnlMYW5lID0gTm9MYW5lOyAvLyBEZWZhdWx0XG5cbiAgdmFyIHJldHJ5Q2FjaGU7XG5cbiAgc3dpdGNoIChib3VuZGFyeUZpYmVyLnRhZykge1xuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICByZXRyeUNhY2hlID0gYm91bmRhcnlGaWJlci5zdGF0ZU5vZGU7XG4gICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGJvdW5kYXJ5RmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0cnlMYW5lID0gc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXRyeUNhY2hlID0gYm91bmRhcnlGaWJlci5zdGF0ZU5vZGU7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BpbmdlZCB1bmtub3duIHN1c3BlbnNlIGJvdW5kYXJ5IHR5cGUuICcgKyAnVGhpcyBpcyBwcm9iYWJseSBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgfVxuXG4gIGlmIChyZXRyeUNhY2hlICE9PSBudWxsKSB7XG4gICAgLy8gVGhlIHdha2VhYmxlIHJlc29sdmVkLCBzbyB3ZSBubyBsb25nZXIgbmVlZCB0byBtZW1vaXplLCBiZWNhdXNlIGl0IHdpbGxcbiAgICAvLyBuZXZlciBiZSB0aHJvd24gYWdhaW4uXG4gICAgcmV0cnlDYWNoZS5kZWxldGUod2FrZWFibGUpO1xuICB9XG5cbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG59IC8vIENvbXB1dGVzIHRoZSBuZXh0IEp1c3QgTm90aWNlYWJsZSBEaWZmZXJlbmNlIChKTkQpIGJvdW5kYXJ5LlxuLy8gVGhlIHRoZW9yeSBpcyB0aGF0IGEgcGVyc29uIGNhbid0IHRlbGwgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBzbWFsbCBkaWZmZXJlbmNlcyBpbiB0aW1lLlxuLy8gVGhlcmVmb3JlLCBpZiB3ZSB3YWl0IGEgYml0IGxvbmdlciB0aGFuIG5lY2Vzc2FyeSB0aGF0IHdvbid0IHRyYW5zbGF0ZSB0byBhIG5vdGljZWFibGVcbi8vIGRpZmZlcmVuY2UgaW4gdGhlIGV4cGVyaWVuY2UuIEhvd2V2ZXIsIHdhaXRpbmcgZm9yIGxvbmdlciBtaWdodCBtZWFuIHRoYXQgd2UgY2FuIGF2b2lkXG4vLyBzaG93aW5nIGFuIGludGVybWVkaWF0ZSBsb2FkaW5nIHN0YXRlLiBUaGUgbG9uZ2VyIHdlIGhhdmUgYWxyZWFkeSB3YWl0ZWQsIHRoZSBoYXJkZXIgaXRcbi8vIGlzIHRvIHRlbGwgc21hbGwgZGlmZmVyZW5jZXMgaW4gdGltZS4gVGhlcmVmb3JlLCB0aGUgbG9uZ2VyIHdlJ3ZlIGFscmVhZHkgd2FpdGVkLFxuLy8gdGhlIGxvbmdlciB3ZSBjYW4gd2FpdCBhZGRpdGlvbmFsbHkuIEF0IHNvbWUgcG9pbnQgd2UgaGF2ZSB0byBnaXZlIHVwIHRob3VnaC5cbi8vIFdlIHBpY2sgYSB0cmFpbiBtb2RlbCB3aGVyZSB0aGUgbmV4dCBib3VuZGFyeSBjb21taXRzIGF0IGEgY29uc2lzdGVudCBzY2hlZHVsZS5cbi8vIFRoZXNlIHBhcnRpY3VsYXIgbnVtYmVycyBhcmUgdmFndWUgZXN0aW1hdGVzLiBXZSBleHBlY3QgdG8gYWRqdXN0IHRoZW0gYmFzZWQgb24gcmVzZWFyY2guXG5cbmZ1bmN0aW9uIGpuZCh0aW1lRWxhcHNlZCkge1xuICByZXR1cm4gdGltZUVsYXBzZWQgPCAxMjAgPyAxMjAgOiB0aW1lRWxhcHNlZCA8IDQ4MCA/IDQ4MCA6IHRpbWVFbGFwc2VkIDwgMTA4MCA/IDEwODAgOiB0aW1lRWxhcHNlZCA8IDE5MjAgPyAxOTIwIDogdGltZUVsYXBzZWQgPCAzMDAwID8gMzAwMCA6IHRpbWVFbGFwc2VkIDwgNDMyMCA/IDQzMjAgOiBjZWlsKHRpbWVFbGFwc2VkIC8gMTk2MCkgKiAxOTYwO1xufVxuXG5mdW5jdGlvbiBjaGVja0Zvck5lc3RlZFVwZGF0ZXMoKSB7XG4gIGlmIChuZXN0ZWRVcGRhdGVDb3VudCA+IE5FU1RFRF9VUERBVEVfTElNSVQpIHtcbiAgICBuZXN0ZWRVcGRhdGVDb3VudCA9IDA7XG4gICAgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gdXBkYXRlIGRlcHRoIGV4Y2VlZGVkLiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBhIGNvbXBvbmVudCAnICsgJ3JlcGVhdGVkbHkgY2FsbHMgc2V0U3RhdGUgaW5zaWRlIGNvbXBvbmVudFdpbGxVcGRhdGUgb3IgJyArICdjb21wb25lbnREaWRVcGRhdGUuIFJlYWN0IGxpbWl0cyB0aGUgbnVtYmVyIG9mIG5lc3RlZCB1cGRhdGVzIHRvICcgKyAncHJldmVudCBpbmZpbml0ZSBsb29wcy4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAobmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID4gTkVTVEVEX1BBU1NJVkVfVVBEQVRFX0xJTUlUKSB7XG4gICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7XG5cbiAgICAgIGVycm9yKCdNYXhpbXVtIHVwZGF0ZSBkZXB0aCBleGNlZWRlZC4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gYSBjb21wb25lbnQgJyArIFwiY2FsbHMgc2V0U3RhdGUgaW5zaWRlIHVzZUVmZmVjdCwgYnV0IHVzZUVmZmVjdCBlaXRoZXIgZG9lc24ndCBcIiArICdoYXZlIGEgZGVwZW5kZW5jeSBhcnJheSwgb3Igb25lIG9mIHRoZSBkZXBlbmRlbmNpZXMgY2hhbmdlcyBvbiAnICsgJ2V2ZXJ5IHJlbmRlci4nKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCkge1xuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hMZWdhY3lDb250ZXh0V2FybmluZygpO1xuXG4gICAge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKGZpYmVyLCBoYXNQYXNzaXZlRWZmZWN0cykge1xuICB7XG4gICAgLy8gVE9ETyAoU3RyaWN0RWZmZWN0cykgU2hvdWxkIHdlIHNldCBhIG1hcmtlciBvbiB0aGUgcm9vdCBpZiBpdCBjb250YWlucyBzdHJpY3QgZWZmZWN0c1xuICAgIC8vIHNvIHdlIGRvbid0IHRyYXZlcnNlIHVubmVjZXNzYXJpbHk/IHNpbWlsYXIgdG8gc3VidHJlZUZsYWdzIGJ1dCBqdXN0IGF0IHRoZSByb290IGxldmVsLlxuICAgIC8vIE1heWJlIG5vdCBhIGJpZyBkZWFsIHNpbmNlIHRoaXMgaXMgREVWIG9ubHkgYmVoYXZpb3IuXG4gICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50TGF5b3V0RGV2LCBpbnZva2VMYXlvdXRFZmZlY3RVbm1vdW50SW5ERVYpO1xuXG4gICAgaWYgKGhhc1Bhc3NpdmVFZmZlY3RzKSB7XG4gICAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50UGFzc2l2ZURldiwgaW52b2tlUGFzc2l2ZUVmZmVjdFVubW91bnRJbkRFVik7XG4gICAgfVxuXG4gICAgaW52b2tlRWZmZWN0c0luRGV2KGZpYmVyLCBNb3VudExheW91dERldiwgaW52b2tlTGF5b3V0RWZmZWN0TW91bnRJbkRFVik7XG5cbiAgICBpZiAoaGFzUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICAgIGludm9rZUVmZmVjdHNJbkRldihmaWJlciwgTW91bnRQYXNzaXZlRGV2LCBpbnZva2VQYXNzaXZlRWZmZWN0TW91bnRJbkRFVik7XG4gICAgfVxuXG4gICAgcmVzZXRDdXJyZW50RmliZXIoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VFZmZlY3RzSW5EZXYoZmlyc3RDaGlsZCwgZmliZXJGbGFncywgaW52b2tlRWZmZWN0Rm4pIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHZhciBjdXJyZW50ID0gZmlyc3RDaGlsZDtcbiAgICB2YXIgc3VidHJlZVJvb3QgPSBudWxsO1xuXG4gICAgd2hpbGUgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIHZhciBwcmltYXJ5U3VidHJlZUZsYWcgPSBjdXJyZW50LnN1YnRyZWVGbGFncyAmIGZpYmVyRmxhZ3M7XG5cbiAgICAgIGlmIChjdXJyZW50ICE9PSBzdWJ0cmVlUm9vdCAmJiBjdXJyZW50LmNoaWxkICE9PSBudWxsICYmIHByaW1hcnlTdWJ0cmVlRmxhZyAhPT0gTm9GbGFncykge1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICgoY3VycmVudC5mbGFncyAmIGZpYmVyRmxhZ3MpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgaW52b2tlRWZmZWN0Rm4oY3VycmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VycmVudC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQuc2libGluZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjdXJyZW50ID0gc3VidHJlZVJvb3QgPSBjdXJyZW50LnJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudCA9IG51bGw7XG5mdW5jdGlvbiB3YXJuQWJvdXRVcGRhdGVPbk5vdFlldE1vdW50ZWRGaWJlckluREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0KSB7XG4gICAgICAvLyBXZSBsZXQgdGhlIG90aGVyIHdhcm5pbmcgYWJvdXQgcmVuZGVyIHBoYXNlIHVwZGF0ZXMgZGVhbCB3aXRoIHRoaXMgb25lLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgdGFnID0gZmliZXIudGFnO1xuXG4gICAgaWYgKHRhZyAhPT0gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudCAmJiB0YWcgIT09IEhvc3RSb290ICYmIHRhZyAhPT0gQ2xhc3NDb21wb25lbnQgJiYgdGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiB0YWcgIT09IEZvcndhcmRSZWYgJiYgdGFnICE9PSBNZW1vQ29tcG9uZW50ICYmIHRhZyAhPT0gU2ltcGxlTWVtb0NvbXBvbmVudCkge1xuICAgICAgLy8gT25seSB3YXJuIGZvciB1c2VyLWRlZmluZWQgY29tcG9uZW50cywgbm90IGludGVybmFsIG9uZXMgbGlrZSBTdXNwZW5zZS5cbiAgICAgIHJldHVybjtcbiAgICB9IC8vIFdlIHNob3cgdGhlIHdob2xlIHN0YWNrIGJ1dCBkZWR1cGUgb24gdGhlIHRvcCBjb21wb25lbnQncyBuYW1lIGJlY2F1c2VcbiAgICAvLyB0aGUgcHJvYmxlbWF0aWMgY29kZSBhbG1vc3QgYWx3YXlzIGxpZXMgaW5zaWRlIHRoYXQgY29tcG9uZW50LlxuXG5cbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdSZWFjdENvbXBvbmVudCc7XG5cbiAgICBpZiAoZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudCAhPT0gbnVsbCkge1xuICAgICAgaWYgKGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudC5hZGQoY29tcG9uZW50TmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQgPSBuZXcgU2V0KFtjb21wb25lbnROYW1lXSk7XG4gICAgfVxuXG4gICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgdHJ5IHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICAgIGVycm9yKFwiQ2FuJ3QgcGVyZm9ybSBhIFJlYWN0IHN0YXRlIHVwZGF0ZSBvbiBhIGNvbXBvbmVudCB0aGF0IGhhc24ndCBtb3VudGVkIHlldC4gXCIgKyAnVGhpcyBpbmRpY2F0ZXMgdGhhdCB5b3UgaGF2ZSBhIHNpZGUtZWZmZWN0IGluIHlvdXIgcmVuZGVyIGZ1bmN0aW9uIHRoYXQgJyArICdhc3luY2hyb25vdXNseSBsYXRlciBjYWxscyB0cmllcyB0byB1cGRhdGUgdGhlIGNvbXBvbmVudC4gTW92ZSB0aGlzIHdvcmsgdG8gJyArICd1c2VFZmZlY3QgaW5zdGVhZC4nKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKHByZXZpb3VzRmliZXIpIHtcbiAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG52YXIgYmVnaW5Xb3JrJDE7XG5cbntcbiAgdmFyIGR1bW15RmliZXIgPSBudWxsO1xuXG4gIGJlZ2luV29yayQxID0gZnVuY3Rpb24gKGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKSB7XG4gICAgLy8gSWYgYSBjb21wb25lbnQgdGhyb3dzIGFuIGVycm9yLCB3ZSByZXBsYXkgaXQgYWdhaW4gaW4gYSBzeW5jaHJvbm91c2x5XG4gICAgLy8gZGlzcGF0Y2hlZCBldmVudCwgc28gdGhhdCB0aGUgZGVidWdnZXIgd2lsbCB0cmVhdCBpdCBhcyBhbiB1bmNhdWdodFxuICAgIC8vIGVycm9yIFNlZSBSZWFjdEVycm9yVXRpbHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAgLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY29weSB0aGUgd29yay1pbi1wcm9ncmVzcyBvbnRvIGEgZHVtbXlcbiAgICAvLyBmaWJlci4gSWYgYmVnaW5Xb3JrIHRocm93cywgd2UnbGwgdXNlIHRoaXMgdG8gcmVzZXQgdGhlIHN0YXRlLlxuICAgIHZhciBvcmlnaW5hbFdvcmtJblByb2dyZXNzQ29weSA9IGFzc2lnbkZpYmVyUHJvcGVydGllc0luREVWKGR1bW15RmliZXIsIHVuaXRPZldvcmspO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBiZWdpbldvcmsoY3VycmVudCwgdW5pdE9mV29yaywgbGFuZXMpO1xuICAgIH0gY2F0Y2ggKG9yaWdpbmFsRXJyb3IpIHtcbiAgICAgIGlmIChkaWRTdXNwZW5kT3JFcnJvcldoaWxlSHlkcmF0aW5nREVWKCkgfHwgb3JpZ2luYWxFcnJvciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3JpZ2luYWxFcnJvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBEb24ndCByZXBsYXkgcHJvbWlzZXMuXG4gICAgICAgIC8vIERvbid0IHJlcGxheSBlcnJvcnMgaWYgd2UgYXJlIGh5ZHJhdGluZyBhbmQgaGF2ZSBhbHJlYWR5IHN1c3BlbmRlZCBvciBoYW5kbGVkIGFuIGVycm9yXG4gICAgICAgIHRocm93IG9yaWdpbmFsRXJyb3I7XG4gICAgICB9IC8vIEtlZXAgdGhpcyBjb2RlIGluIHN5bmMgd2l0aCBoYW5kbGVFcnJvcjsgYW55IGNoYW5nZXMgaGVyZSBtdXN0IGhhdmVcbiAgICAgIC8vIGNvcnJlc3BvbmRpbmcgY2hhbmdlcyB0aGVyZS5cblxuXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7IC8vIERvbid0IHJlc2V0IGN1cnJlbnQgZGVidWcgZmliZXIsIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHdvcmsgb24gdGhlXG4gICAgICAvLyBzYW1lIGZpYmVyIGFnYWluLlxuICAgICAgLy8gVW53aW5kIHRoZSBmYWlsZWQgc3RhY2sgZnJhbWVcblxuICAgICAgdW53aW5kSW50ZXJydXB0ZWRXb3JrKGN1cnJlbnQsIHVuaXRPZldvcmspOyAvLyBSZXN0b3JlIHRoZSBvcmlnaW5hbCBwcm9wZXJ0aWVzIG9mIHRoZSBmaWJlci5cblxuICAgICAgYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodW5pdE9mV29yaywgb3JpZ2luYWxXb3JrSW5Qcm9ncmVzc0NvcHkpO1xuXG4gICAgICBpZiAoIHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgIC8vIFJlc2V0IHRoZSBwcm9maWxlciB0aW1lci5cbiAgICAgICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgICAgfSAvLyBSdW4gYmVnaW5Xb3JrIGFnYWluLlxuXG5cbiAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBiZWdpbldvcmssIG51bGwsIGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKTtcblxuICAgICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcbiAgICAgICAgdmFyIHJlcGxheUVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgcmVwbGF5RXJyb3IgPT09ICdvYmplY3QnICYmIHJlcGxheUVycm9yICE9PSBudWxsICYmIHJlcGxheUVycm9yLl9zdXBwcmVzc0xvZ2dpbmcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsRXJyb3IgIT09IG51bGwgJiYgIW9yaWdpbmFsRXJyb3IuX3N1cHByZXNzTG9nZ2luZykge1xuICAgICAgICAgIC8vIElmIHN1cHByZXNzZWQsIGxldCB0aGUgZmxhZyBjYXJyeSBvdmVyIHRvIHRoZSBvcmlnaW5hbCBlcnJvciB3aGljaCBpcyB0aGUgb25lIHdlJ2xsIHJldGhyb3cuXG4gICAgICAgICAgb3JpZ2luYWxFcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBXZSBhbHdheXMgdGhyb3cgdGhlIG9yaWdpbmFsIGVycm9yIGluIGNhc2UgdGhlIHNlY29uZCByZW5kZXIgcGFzcyBpcyBub3QgaWRlbXBvdGVudC5cbiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiBhIG1lbW9pemVkIGZ1bmN0aW9uIG9yIENvbW1vbkpTIG1vZHVsZSBkb2Vzbid0IHRocm93IGFmdGVyIGZpcnN0IGludm9jYXRpb24uXG5cblxuICAgICAgdGhyb3cgb3JpZ2luYWxFcnJvcjtcbiAgICB9XG4gIH07XG59XG5cbnZhciBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlciA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudDtcblxue1xuICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQgPSBuZXcgU2V0KCk7XG59XG5cbmZ1bmN0aW9uIHdhcm5BYm91dFJlbmRlclBoYXNlVXBkYXRlc0luREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaXNSZW5kZXJpbmcgJiYgIWdldElzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2VJbkRFVigpKSB7XG4gICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcmVuZGVyaW5nQ29tcG9uZW50TmFtZSA9IHdvcmtJblByb2dyZXNzICYmIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIod29ya0luUHJvZ3Jlc3MpIHx8ICdVbmtub3duJzsgLy8gRGVkdXBlIGJ5IHRoZSByZW5kZXJpbmcgY29tcG9uZW50IGJlY2F1c2UgaXQncyB0aGUgb25lIHRoYXQgbmVlZHMgdG8gYmUgZml4ZWQuXG5cbiAgICAgICAgICAgIHZhciBkZWR1cGVLZXkgPSByZW5kZXJpbmdDb21wb25lbnROYW1lO1xuXG4gICAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudC5oYXMoZGVkdXBlS2V5KSkge1xuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQuYWRkKGRlZHVwZUtleSk7XG4gICAgICAgICAgICAgIHZhciBzZXRTdGF0ZUNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bic7XG5cbiAgICAgICAgICAgICAgZXJyb3IoJ0Nhbm5vdCB1cGRhdGUgYSBjb21wb25lbnQgKGAlc2ApIHdoaWxlIHJlbmRlcmluZyBhICcgKyAnZGlmZmVyZW50IGNvbXBvbmVudCAoYCVzYCkuIFRvIGxvY2F0ZSB0aGUgYmFkIHNldFN0YXRlKCkgY2FsbCBpbnNpZGUgYCVzYCwgJyArICdmb2xsb3cgdGhlIHN0YWNrIHRyYWNlIGFzIGRlc2NyaWJlZCBpbiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc2V0c3RhdGUtaW4tcmVuZGVyJywgc2V0U3RhdGVDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlcikge1xuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBkdXJpbmcgYW4gZXhpc3Rpbmcgc3RhdGUgdHJhbnNpdGlvbiAoc3VjaCBhcyAnICsgJ3dpdGhpbiBgcmVuZGVyYCkuIFJlbmRlciBtZXRob2RzIHNob3VsZCBiZSBhIHB1cmUgJyArICdmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuJyk7XG5cbiAgICAgICAgICAgICAgZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlc3RvcmVQZW5kaW5nVXBkYXRlcnMocm9vdCwgbGFuZXMpIHtcbiAge1xuICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgdmFyIG1lbW9pemVkVXBkYXRlcnMgPSByb290Lm1lbW9pemVkVXBkYXRlcnM7XG4gICAgICBtZW1vaXplZFVwZGF0ZXJzLmZvckVhY2goZnVuY3Rpb24gKHNjaGVkdWxpbmdGaWJlcikge1xuICAgICAgICBhZGRGaWJlclRvTGFuZXNNYXAocm9vdCwgc2NoZWR1bGluZ0ZpYmVyLCBsYW5lcyk7XG4gICAgICB9KTsgLy8gVGhpcyBmdW5jdGlvbiBpbnRlbnRpb25hbGx5IGRvZXMgbm90IGNsZWFyIG1lbW9pemVkIHVwZGF0ZXJzLlxuICAgICAgLy8gVGhvc2UgbWF5IHN0aWxsIGJlIHJlbGV2YW50IHRvIHRoZSBjdXJyZW50IGNvbW1pdFxuICAgICAgLy8gYW5kIGEgZnV0dXJlIG9uZSAoZS5nLiBTdXNwZW5zZSkuXG4gICAgfVxuICB9XG59XG52YXIgZmFrZUFjdENhbGxiYWNrTm9kZSA9IHt9O1xuXG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrJDEocHJpb3JpdHlMZXZlbCwgY2FsbGJhY2spIHtcbiAge1xuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBpbnNpZGUgYW4gYGFjdGAgc2NvcGUsIGJ5cGFzcyBTY2hlZHVsZXIgYW5kIHB1c2ggdG9cbiAgICAvLyB0aGUgYGFjdGAgcXVldWUgaW5zdGVhZC5cbiAgICB2YXIgYWN0UXVldWUgPSBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQ7XG5cbiAgICBpZiAoYWN0UXVldWUgIT09IG51bGwpIHtcbiAgICAgIGFjdFF1ZXVlLnB1c2goY2FsbGJhY2spO1xuICAgICAgcmV0dXJuIGZha2VBY3RDYWxsYmFja05vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzY2hlZHVsZUNhbGxiYWNrKHByaW9yaXR5TGV2ZWwsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuY2VsQ2FsbGJhY2skMShjYWxsYmFja05vZGUpIHtcbiAgaWYgKCBjYWxsYmFja05vZGUgPT09IGZha2VBY3RDYWxsYmFja05vZGUpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gSW4gcHJvZHVjdGlvbiwgYWx3YXlzIGNhbGwgU2NoZWR1bGVyLiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgc3RyaXBwZWQgb3V0LlxuXG5cbiAgcmV0dXJuIGNhbmNlbENhbGxiYWNrKGNhbGxiYWNrTm9kZSk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpIHtcbiAgLy8gTmV2ZXIgZm9yY2UgZmx1c2ggaW4gcHJvZHVjdGlvbi4gVGhpcyBmdW5jdGlvbiBzaG91bGQgZ2V0IHN0cmlwcGVkIG91dC5cbiAgcmV0dXJuICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQgIT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlVwZGF0ZXNOb3RXcmFwcGVkV2l0aEFjdERFVihmaWJlcikge1xuICB7XG4gICAgaWYgKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgaWYgKCFpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgIC8vIE5vdCBpbiBhbiBhY3QgZW52aXJvbm1lbnQuIE5vIG5lZWQgdG8gd2Fybi5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBMZWdhY3kgbW9kZSBoYXMgYWRkaXRpb25hbCBjYXNlcyB3aGVyZSB3ZSBzdXBwcmVzcyBhIHdhcm5pbmcuXG4gICAgICBpZiAoIWlzTGVnYWN5QWN0RW52aXJvbm1lbnQoKSkge1xuICAgICAgICAvLyBOb3QgaW4gYW4gYWN0IGVudmlyb25tZW50LiBObyBuZWVkIHRvIHdhcm4uXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgIT09IE5vQ29udGV4dCkge1xuICAgICAgICAvLyBMZWdhY3kgbW9kZSBkb2Vzbid0IHdhcm4gaWYgdGhlIHVwZGF0ZSBpcyBiYXRjaGVkLCBpLmUuXG4gICAgICAgIC8vIGJhdGNoZWRVcGRhdGVzIG9yIGZsdXNoU3luYy5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmliZXIudGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiBmaWJlci50YWcgIT09IEZvcndhcmRSZWYgJiYgZmliZXIudGFnICE9PSBTaW1wbGVNZW1vQ29tcG9uZW50KSB7XG4gICAgICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHByZS1ob29rcyBjb2RlLCBsZWdhY3kgbW9kZSBvbmx5XG4gICAgICAgIC8vIHdhcm5zIGZvciB1cGRhdGVzIHRoYXQgb3JpZ2luYXRlIGZyb20gYSBob29rLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgICB0cnkge1xuICAgICAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuXG4gICAgICAgIGVycm9yKCdBbiB1cGRhdGUgdG8gJXMgaW5zaWRlIGEgdGVzdCB3YXMgbm90IHdyYXBwZWQgaW4gYWN0KC4uLikuXFxuXFxuJyArICdXaGVuIHRlc3RpbmcsIGNvZGUgdGhhdCBjYXVzZXMgUmVhY3Qgc3RhdGUgdXBkYXRlcyBzaG91bGQgYmUgJyArICd3cmFwcGVkIGludG8gYWN0KC4uLik6XFxuXFxuJyArICdhY3QoKCkgPT4ge1xcbicgKyAnICAvKiBmaXJlIGV2ZW50cyB0aGF0IHVwZGF0ZSBzdGF0ZSAqL1xcbicgKyAnfSk7XFxuJyArICcvKiBhc3NlcnQgb24gdGhlIG91dHB1dCAqL1xcblxcbicgKyBcIlRoaXMgZW5zdXJlcyB0aGF0IHlvdSdyZSB0ZXN0aW5nIHRoZSBiZWhhdmlvciB0aGUgdXNlciB3b3VsZCBzZWUgXCIgKyAnaW4gdGhlIGJyb3dzZXIuJyArICcgTGVhcm4gbW9yZSBhdCBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd3JhcC10ZXN0cy13aXRoLWFjdCcsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlmIChwcmV2aW91c0ZpYmVyKSB7XG4gICAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlN1c3BlbnNlUmVzb2x1dGlvbk5vdFdyYXBwZWRXaXRoQWN0REVWKHJvb3QpIHtcbiAge1xuICAgIGlmIChyb290LnRhZyAhPT0gTGVnYWN5Um9vdCAmJiBpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpICYmIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgZXJyb3IoJ0Egc3VzcGVuZGVkIHJlc291cmNlIGZpbmlzaGVkIGxvYWRpbmcgaW5zaWRlIGEgdGVzdCwgYnV0IHRoZSBldmVudCAnICsgJ3dhcyBub3Qgd3JhcHBlZCBpbiBhY3QoLi4uKS5cXG5cXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IHJlc29sdmVzIHN1c3BlbmRlZCBkYXRhIHNob3VsZCBiZSB3cmFwcGVkICcgKyAnaW50byBhY3QoLi4uKTpcXG5cXG4nICsgJ2FjdCgoKSA9PiB7XFxuJyArICcgIC8qIGZpbmlzaCBsb2FkaW5nIHN1c3BlbmRlZCBkYXRhICovXFxuJyArICd9KTtcXG4nICsgJy8qIGFzc2VydCBvbiB0aGUgb3V0cHV0ICovXFxuXFxuJyArIFwiVGhpcyBlbnN1cmVzIHRoYXQgeW91J3JlIHRlc3RpbmcgdGhlIGJlaGF2aW9yIHRoZSB1c2VyIHdvdWxkIHNlZSBcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93cmFwLXRlc3RzLXdpdGgtYWN0Jyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChpc1J1bm5pbmcpIHtcbiAge1xuICAgIGlzUnVubmluZ0luc2VydGlvbkVmZmVjdCA9IGlzUnVubmluZztcbiAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzICovXG52YXIgcmVzb2x2ZUZhbWlseSA9IG51bGw7IC8vICRGbG93Rml4TWUgRmxvdyBnZXRzIGNvbmZ1c2VkIGJ5IGEgV2Vha1NldCBmZWF0dXJlIGNoZWNrIGJlbG93LlxuXG52YXIgZmFpbGVkQm91bmRhcmllcyA9IG51bGw7XG52YXIgc2V0UmVmcmVzaEhhbmRsZXIgPSBmdW5jdGlvbiAoaGFuZGxlcikge1xuICB7XG4gICAgcmVzb2x2ZUZhbWlseSA9IGhhbmRsZXI7XG4gIH1cbn07XG5mdW5jdGlvbiByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG5cbiAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseSh0eXBlKTtcblxuICAgIGlmIChmYW1pbHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICAvLyBObyBpbXBsZW1lbnRhdGlvbiBkaWZmZXJlbmNlcy5cbiAgcmV0dXJuIHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyh0eXBlKTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVGb3J3YXJkUmVmRm9ySG90UmVsb2FkaW5nKHR5cGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgdmFyIGZhbWlseSA9IHJlc29sdmVGYW1pbHkodHlwZSk7XG5cbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIENoZWNrIGlmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIHJlYWwgZm9yd2FyZFJlZi4gRG9uJ3Qgd2FudCB0byBjcmFzaCBlYXJseS5cbiAgICAgIGlmICh0eXBlICE9PSBudWxsICYmIHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRm9yd2FyZFJlZiBpcyBzcGVjaWFsIGJlY2F1c2UgaXRzIHJlc29sdmVkIC50eXBlIGlzIGFuIG9iamVjdCxcbiAgICAgICAgLy8gYnV0IGl0J3MgcG9zc2libGUgdGhhdCB3ZSBvbmx5IGhhdmUgaXRzIGlubmVyIHJlbmRlciBmdW5jdGlvbiBpbiB0aGUgbWFwLlxuICAgICAgICAvLyBJZiB0aGF0IGlubmVyIHJlbmRlciBmdW5jdGlvbiBpcyBkaWZmZXJlbnQsIHdlJ2xsIGJ1aWxkIGEgbmV3IGZvcndhcmRSZWYgdHlwZS5cbiAgICAgICAgdmFyIGN1cnJlbnRSZW5kZXIgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZS5yZW5kZXIpO1xuXG4gICAgICAgIGlmICh0eXBlLnJlbmRlciAhPT0gY3VycmVudFJlbmRlcikge1xuICAgICAgICAgIHZhciBzeW50aGV0aWNUeXBlID0ge1xuICAgICAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUsXG4gICAgICAgICAgICByZW5kZXI6IGN1cnJlbnRSZW5kZXJcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKHR5cGUuZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc3ludGhldGljVHlwZS5kaXNwbGF5TmFtZSA9IHR5cGUuZGlzcGxheU5hbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHN5bnRoZXRpY1R5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoZmliZXIsIGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBwcmV2VHlwZSA9IGZpYmVyLmVsZW1lbnRUeXBlO1xuICAgIHZhciBuZXh0VHlwZSA9IGVsZW1lbnQudHlwZTsgLy8gSWYgd2UgZ290IGhlcmUsIHdlIGtub3cgdHlwZXMgYXJlbid0ID09PSBlcXVhbC5cblxuICAgIHZhciBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IGZhbHNlO1xuICAgIHZhciAkJHR5cGVvZk5leHRUeXBlID0gdHlwZW9mIG5leHRUeXBlID09PSAnb2JqZWN0JyAmJiBuZXh0VHlwZSAhPT0gbnVsbCA/IG5leHRUeXBlLiQkdHlwZW9mIDogbnVsbDtcblxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBuZXh0VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5leHRUeXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFdlIGRvbid0IGtub3cgdGhlIGlubmVyIHR5cGUgeWV0LlxuICAgICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoYXQgdGhlIGxhenkgaW5uZXIgdHlwZSBpcyBzdGFibGUsXG4gICAgICAgICAgICAvLyBhbmQgc28gaXQgaXMgc3VmZmljaWVudCB0byBhdm9pZCByZWNvbmNpbGluZyBpdCBhd2F5LlxuICAgICAgICAgICAgLy8gV2UncmUgbm90IGdvaW5nIHRvIHVud3JhcCBvciBhY3R1YWxseSB1c2UgdGhlIG5ldyBsYXp5IHR5cGUuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0xBWllfVFlQRSkge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IGlmIGl0IHdhcyBidXQgY2FuIG5vIGxvbmdlciBiZSBzaW1wbGUsXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGRuJ3Qgc2V0IHRoaXMuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSAvLyBDaGVjayBpZiBib3RoIHR5cGVzIGhhdmUgYSBmYW1pbHkgYW5kIGl0J3MgdGhlIHNhbWUgb25lLlxuXG5cbiAgICBpZiAobmVlZHNDb21wYXJlRmFtaWxpZXMpIHtcbiAgICAgIC8vIE5vdGU6IG1lbW8oKSBhbmQgZm9yd2FyZFJlZigpIHdlJ2xsIGNvbXBhcmUgb3V0ZXIgcmF0aGVyIHRoYW4gaW5uZXIgdHlwZS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgYm90aCBvZiB0aGVtIG5lZWQgdG8gYmUgcmVnaXN0ZXJlZCB0byBwcmVzZXJ2ZSBzdGF0ZS5cbiAgICAgIC8vIElmIHdlIHVud3JhcHBlZCBhbmQgY29tcGFyZWQgdGhlIGlubmVyIHR5cGVzIGZvciB3cmFwcGVycyBpbnN0ZWFkLFxuICAgICAgLy8gdGhlbiB3ZSB3b3VsZCByaXNrIGZhbHNlbHkgc2F5aW5nIHR3byBzZXBhcmF0ZSBtZW1vKEZvbylcbiAgICAgIC8vIGNhbGxzIGFyZSBlcXVpdmFsZW50IGJlY2F1c2UgdGhleSB3cmFwIHRoZSBzYW1lIEZvbyBmdW5jdGlvbi5cbiAgICAgIHZhciBwcmV2RmFtaWx5ID0gcmVzb2x2ZUZhbWlseShwcmV2VHlwZSk7XG5cbiAgICAgIGlmIChwcmV2RmFtaWx5ICE9PSB1bmRlZmluZWQgJiYgcHJldkZhbWlseSA9PT0gcmVzb2x2ZUZhbWlseShuZXh0VHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcikge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBXZWFrU2V0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZhaWxlZEJvdW5kYXJpZXMgPT09IG51bGwpIHtcbiAgICAgIGZhaWxlZEJvdW5kYXJpZXMgPSBuZXcgV2Vha1NldCgpO1xuICAgIH1cblxuICAgIGZhaWxlZEJvdW5kYXJpZXMuYWRkKGZpYmVyKTtcbiAgfVxufVxudmFyIHNjaGVkdWxlUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCB1cGRhdGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzdGFsZUZhbWlsaWVzID0gdXBkYXRlLnN0YWxlRmFtaWxpZXMsXG4gICAgICAgIHVwZGF0ZWRGYW1pbGllcyA9IHVwZGF0ZS51cGRhdGVkRmFtaWxpZXM7XG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KHJvb3QuY3VycmVudCwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKTtcbiAgICB9KTtcbiAgfVxufTtcbnZhciBzY2hlZHVsZVJvb3QgPSBmdW5jdGlvbiAocm9vdCwgZWxlbWVudCkge1xuICB7XG4gICAgaWYgKHJvb3QuY29udGV4dCAhPT0gZW1wdHlDb250ZXh0T2JqZWN0KSB7XG4gICAgICAvLyBTdXBlciBlZGdlIGNhc2U6IHJvb3QgaGFzIGEgbGVnYWN5IF9yZW5kZXJTdWJ0cmVlIGNvbnRleHRcbiAgICAgIC8vIGJ1dCB3ZSBkb24ndCBrbm93IHRoZSBwYXJlbnRDb21wb25lbnQgc28gd2UgY2FuJ3QgcGFzcyBpdC5cbiAgICAgIC8vIEp1c3QgaWdub3JlLiBXZSdsbCBkZWxldGUgdGhpcyB3aXRoIF9yZW5kZXJTdWJ0cmVlIGNvZGUgcGF0aCBsYXRlci5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gICAgZmx1c2hTeW5jKGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihlbGVtZW50LCByb290LCBudWxsLCBudWxsKTtcbiAgICB9KTtcbiAgfVxufTtcblxuZnVuY3Rpb24gc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShmaWJlciwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKSB7XG4gIHtcbiAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlLFxuICAgICAgICBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHJlc29sdmVGYW1pbHkgdG8gYmUgc2V0IGR1cmluZyBob3QgcmVsb2FkLicpO1xuICAgIH1cblxuICAgIHZhciBuZWVkc1JlbmRlciA9IGZhbHNlO1xuICAgIHZhciBuZWVkc1JlbW91bnQgPSBmYWxzZTtcblxuICAgIGlmIChjYW5kaWRhdGVUeXBlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseShjYW5kaWRhdGVUeXBlKTtcblxuICAgICAgaWYgKGZhbWlseSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChzdGFsZUZhbWlsaWVzLmhhcyhmYW1pbHkpKSB7XG4gICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh1cGRhdGVkRmFtaWxpZXMuaGFzKGZhbWlseSkpIHtcbiAgICAgICAgICBpZiAodGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmVlZHNSZW5kZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmYWlsZWRCb3VuZGFyaWVzICE9PSBudWxsKSB7XG4gICAgICBpZiAoZmFpbGVkQm91bmRhcmllcy5oYXMoZmliZXIpIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBmYWlsZWRCb3VuZGFyaWVzLmhhcyhhbHRlcm5hdGUpKSB7XG4gICAgICAgIG5lZWRzUmVtb3VudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5lZWRzUmVtb3VudCkge1xuICAgICAgZmliZXIuX2RlYnVnTmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobmVlZHNSZW1vdW50IHx8IG5lZWRzUmVuZGVyKSB7XG4gICAgICB2YXIgX3Jvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgICAgaWYgKF9yb290ICE9PSBudWxsKSB7XG4gICAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihfcm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsICYmICFuZWVkc1JlbW91bnQpIHtcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoY2hpbGQsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XG4gICAgfVxuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoc2libGluZywgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCBmYW1pbGllcykge1xuICB7XG4gICAgdmFyIGhvc3RJbnN0YW5jZXMgPSBuZXcgU2V0KCk7XG4gICAgdmFyIHR5cGVzID0gbmV3IFNldChmYW1pbGllcy5tYXAoZnVuY3Rpb24gKGZhbWlseSkge1xuICAgICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICAgIH0pKTtcbiAgICBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkocm9vdC5jdXJyZW50LCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgcmV0dXJuIGhvc3RJbnN0YW5jZXM7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShmaWJlciwgdHlwZXMsIGhvc3RJbnN0YW5jZXMpIHtcbiAge1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBkaWRNYXRjaCA9IGZhbHNlO1xuXG4gICAgaWYgKGNhbmRpZGF0ZVR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlcy5oYXMoY2FuZGlkYXRlVHlwZSkpIHtcbiAgICAgICAgZGlkTWF0Y2ggPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkaWRNYXRjaCkge1xuICAgICAgLy8gV2UgaGF2ZSBhIG1hdGNoLiBUaGlzIG9ubHkgZHJpbGxzIGRvd24gdG8gdGhlIGNsb3Nlc3QgaG9zdCBjb21wb25lbnRzLlxuICAgICAgLy8gVGhlcmUncyBubyBuZWVkIHRvIHNlYXJjaCBkZWVwZXIgYmVjYXVzZSBmb3IgdGhlIHB1cnBvc2Ugb2YgZ2l2aW5nXG4gICAgICAvLyB2aXN1YWwgZmVlZGJhY2ssIFwiZmxhc2hpbmdcIiBvdXRlcm1vc3QgcGFyZW50IHJlY3RhbmdsZXMgaXMgc3VmZmljaWVudC5cbiAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB0aGVyZSdzIG5vIG1hdGNoLCBtYXliZSB0aGVyZSB3aWxsIGJlIG9uZSBmdXJ0aGVyIGRvd24gaW4gdGhlIGNoaWxkIHRyZWUuXG4gICAgICBpZiAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KGNoaWxkLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShzaWJsaW5nLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpIHtcbiAge1xuICAgIHZhciBmb3VuZEhvc3RJbnN0YW5jZXMgPSBmaW5kQ2hpbGRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xuXG4gICAgaWYgKGZvdW5kSG9zdEluc3RhbmNlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgd2UgZGlkbid0IGZpbmQgYW55IGhvc3QgY2hpbGRyZW4sIGZhbGxiYWNrIHRvIGNsb3Nlc3QgaG9zdCBwYXJlbnQuXG5cblxuICAgIHZhciBub2RlID0gZmliZXI7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgc3dpdGNoIChub2RlLnRhZykge1xuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUpO1xuICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byByZWFjaCByb290IGZpcnN0LicpO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRDaGlsZEhvc3RJbnN0YW5jZXNGb3JGaWJlclNoYWxsb3dseShmaWJlciwgaG9zdEluc3RhbmNlcykge1xuICB7XG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcbiAgICB2YXIgZm91bmRIb3N0SW5zdGFuY2VzID0gZmFsc2U7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50KSB7XG4gICAgICAgIC8vIFdlIGdvdCBhIG1hdGNoLlxuICAgICAgICBmb3VuZEhvc3RJbnN0YW5jZXMgPSB0cnVlO1xuICAgICAgICBob3N0SW5zdGFuY2VzLmFkZChub2RlLnN0YXRlTm9kZSk7IC8vIFRoZXJlIG1heSBzdGlsbCBiZSBtb3JlLCBzbyBrZWVwIHNlYXJjaGluZy5cbiAgICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZpYmVyKSB7XG4gICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaWJlcikge1xuICAgICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcbiAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG52YXIgaGFzQmFkTWFwUG9seWZpbGw7XG5cbntcbiAgaGFzQmFkTWFwUG9seWZpbGwgPSBmYWxzZTtcblxuICB0cnkge1xuICAgIHZhciBub25FeHRlbnNpYmxlT2JqZWN0ID0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1uZXcgKi9cblxuICAgIG5ldyBNYXAoW1tub25FeHRlbnNpYmxlT2JqZWN0LCBudWxsXV0pO1xuICAgIG5ldyBTZXQoW25vbkV4dGVuc2libGVPYmplY3RdKTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLW5ldyAqL1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gVE9ETzogQ29uc2lkZXIgd2FybmluZyBhYm91dCBiYWQgcG9seWZpbGxzXG4gICAgaGFzQmFkTWFwUG9seWZpbGwgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKSB7XG4gIC8vIEluc3RhbmNlXG4gIHRoaXMudGFnID0gdGFnO1xuICB0aGlzLmtleSA9IGtleTtcbiAgdGhpcy5lbGVtZW50VHlwZSA9IG51bGw7XG4gIHRoaXMudHlwZSA9IG51bGw7XG4gIHRoaXMuc3RhdGVOb2RlID0gbnVsbDsgLy8gRmliZXJcblxuICB0aGlzLnJldHVybiA9IG51bGw7XG4gIHRoaXMuY2hpbGQgPSBudWxsO1xuICB0aGlzLnNpYmxpbmcgPSBudWxsO1xuICB0aGlzLmluZGV4ID0gMDtcbiAgdGhpcy5yZWYgPSBudWxsO1xuICB0aGlzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wcztcbiAgdGhpcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgdGhpcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gIHRoaXMubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHRoaXMuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgdGhpcy5tb2RlID0gbW9kZTsgLy8gRWZmZWN0c1xuXG4gIHRoaXMuZmxhZ3MgPSBOb0ZsYWdzO1xuICB0aGlzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3M7XG4gIHRoaXMuZGVsZXRpb25zID0gbnVsbDtcbiAgdGhpcy5sYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuYWx0ZXJuYXRlID0gbnVsbDtcblxuICB7XG4gICAgLy8gTm90ZTogVGhlIGZvbGxvd2luZyBpcyBkb25lIHRvIGF2b2lkIGEgdjggcGVyZm9ybWFuY2UgY2xpZmYuXG4gICAgLy9cbiAgICAvLyBJbml0aWFsaXppbmcgdGhlIGZpZWxkcyBiZWxvdyB0byBzbWlzIGFuZCBsYXRlciB1cGRhdGluZyB0aGVtIHdpdGhcbiAgICAvLyBkb3VibGUgdmFsdWVzIHdpbGwgY2F1c2UgRmliZXJzIHRvIGVuZCB1cCBoYXZpbmcgc2VwYXJhdGUgc2hhcGVzLlxuICAgIC8vIFRoaXMgYmVoYXZpb3IvYnVnIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCBPYmplY3QucHJldmVudEV4dGVuc2lvbigpLlxuICAgIC8vIEZvcnR1bmF0ZWx5IHRoaXMgb25seSBpbXBhY3RzIERFViBidWlsZHMuXG4gICAgLy8gVW5mb3J0dW5hdGVseSBpdCBtYWtlcyBSZWFjdCB1bnVzYWJseSBzbG93IGZvciBzb21lIGFwcGxpY2F0aW9ucy5cbiAgICAvLyBUbyB3b3JrIGFyb3VuZCB0aGlzLCBpbml0aWFsaXplIHRoZSBmaWVsZHMgYmVsb3cgd2l0aCBkb3VibGVzLlxuICAgIC8vXG4gICAgLy8gTGVhcm4gbW9yZSBhYm91dCB0aGlzIGhlcmU6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNDM2NVxuICAgIC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTg1MzhcbiAgICB0aGlzLmFjdHVhbER1cmF0aW9uID0gTnVtYmVyLk5hTjtcbiAgICB0aGlzLmFjdHVhbFN0YXJ0VGltZSA9IE51bWJlci5OYU47XG4gICAgdGhpcy5zZWxmQmFzZUR1cmF0aW9uID0gTnVtYmVyLk5hTjtcbiAgICB0aGlzLnRyZWVCYXNlRHVyYXRpb24gPSBOdW1iZXIuTmFOOyAvLyBJdCdzIG9rYXkgdG8gcmVwbGFjZSB0aGUgaW5pdGlhbCBkb3VibGVzIHdpdGggc21pcyBhZnRlciBpbml0aWFsaXphdGlvbi5cbiAgICAvLyBUaGlzIHdvbid0IHRyaWdnZXIgdGhlIHBlcmZvcm1hbmNlIGNsaWZmIG1lbnRpb25lZCBhYm92ZSxcbiAgICAvLyBhbmQgaXQgc2ltcGxpZmllcyBvdGhlciBwcm9maWxlciBjb2RlIChpbmNsdWRpbmcgRGV2VG9vbHMpLlxuXG4gICAgdGhpcy5hY3R1YWxEdXJhdGlvbiA9IDA7XG4gICAgdGhpcy5hY3R1YWxTdGFydFRpbWUgPSAtMTtcbiAgICB0aGlzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xuICAgIHRoaXMudHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gIH1cblxuICB7XG4gICAgLy8gVGhpcyBpc24ndCBkaXJlY3RseSB1c2VkIGJ1dCBpcyBoYW5keSBmb3IgZGVidWdnaW5nIGludGVybmFsczpcbiAgICB0aGlzLl9kZWJ1Z1NvdXJjZSA9IG51bGw7XG4gICAgdGhpcy5fZGVidWdPd25lciA9IG51bGw7XG4gICAgdGhpcy5fZGVidWdOZWVkc1JlbW91bnQgPSBmYWxzZTtcbiAgICB0aGlzLl9kZWJ1Z0hvb2tUeXBlcyA9IG51bGw7XG5cbiAgICBpZiAoIWhhc0JhZE1hcFBvbHlmaWxsICYmIHR5cGVvZiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0aGlzKTtcbiAgICB9XG4gIH1cbn0gLy8gVGhpcyBpcyBhIGNvbnN0cnVjdG9yIGZ1bmN0aW9uLCByYXRoZXIgdGhhbiBhIFBPSk8gY29uc3RydWN0b3IsIHN0aWxsXG4vLyBwbGVhc2UgZW5zdXJlIHdlIGRvIHRoZSBmb2xsb3dpbmc6XG4vLyAxKSBOb2JvZHkgc2hvdWxkIGFkZCBhbnkgaW5zdGFuY2UgbWV0aG9kcyBvbiB0aGlzLiBJbnN0YW5jZSBtZXRob2RzIGNhbiBiZVxuLy8gICAgbW9yZSBkaWZmaWN1bHQgdG8gcHJlZGljdCB3aGVuIHRoZXkgZ2V0IG9wdGltaXplZCBhbmQgdGhleSBhcmUgYWxtb3N0XG4vLyAgICBuZXZlciBpbmxpbmVkIHByb3Blcmx5IGluIHN0YXRpYyBjb21waWxlcnMuXG4vLyAyKSBOb2JvZHkgc2hvdWxkIHJlbHkgb24gYGluc3RhbmNlb2YgRmliZXJgIGZvciB0eXBlIHRlc3RpbmcuIFdlIHNob3VsZFxuLy8gICAgYWx3YXlzIGtub3cgd2hlbiBpdCBpcyBhIGZpYmVyLlxuLy8gMykgV2UgbWlnaHQgd2FudCB0byBleHBlcmltZW50IHdpdGggdXNpbmcgbnVtZXJpYyBrZXlzIHNpbmNlIHRoZXkgYXJlIGVhc2llclxuLy8gICAgdG8gb3B0aW1pemUgaW4gYSBub24tSklUIGVudmlyb25tZW50LlxuLy8gNCkgV2UgY2FuIGVhc2lseSBnbyBmcm9tIGEgY29uc3RydWN0b3IgdG8gYSBjcmVhdGVGaWJlciBvYmplY3QgbGl0ZXJhbCBpZiB0aGF0XG4vLyAgICBpcyBmYXN0ZXIuXG4vLyA1KSBJdCBzaG91bGQgYmUgZWFzeSB0byBwb3J0IHRoaXMgdG8gYSBDIHN0cnVjdCBhbmQga2VlcCBhIEMgaW1wbGVtZW50YXRpb25cbi8vICAgIGNvbXBhdGlibGUuXG5cblxudmFyIGNyZWF0ZUZpYmVyID0gZnVuY3Rpb24gKHRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpIHtcbiAgLy8gJEZsb3dGaXhNZTogdGhlIHNoYXBlcyBhcmUgZXhhY3QgaGVyZSBidXQgRmxvdyBkb2Vzbid0IGxpa2UgY29uc3RydWN0b3JzXG4gIHJldHVybiBuZXcgRmliZXJOb2RlKHRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpO1xufTtcblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0JDEoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiAhc2hvdWxkQ29uc3RydWN0JDEodHlwZSkgJiYgdHlwZS5kZWZhdWx0UHJvcHMgPT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHJlc29sdmVMYXp5Q29tcG9uZW50VGFnKENvbXBvbmVudCkge1xuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBzaG91bGRDb25zdHJ1Y3QkMShDb21wb25lbnQpID8gQ2xhc3NDb21wb25lbnQgOiBGdW5jdGlvbkNvbXBvbmVudDtcbiAgfSBlbHNlIGlmIChDb21wb25lbnQgIT09IHVuZGVmaW5lZCAmJiBDb21wb25lbnQgIT09IG51bGwpIHtcbiAgICB2YXIgJCR0eXBlb2YgPSBDb21wb25lbnQuJCR0eXBlb2Y7XG5cbiAgICBpZiAoJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgIHJldHVybiBGb3J3YXJkUmVmO1xuICAgIH1cblxuICAgIGlmICgkJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XG4gICAgICByZXR1cm4gTWVtb0NvbXBvbmVudDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDtcbn0gLy8gVGhpcyBpcyB1c2VkIHRvIGNyZWF0ZSBhbiBhbHRlcm5hdGUgZmliZXIgdG8gZG8gd29yayBvbi5cblxuZnVuY3Rpb24gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudCwgcGVuZGluZ1Byb3BzKSB7XG4gIHZhciB3b3JrSW5Qcm9ncmVzcyA9IGN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyA9PT0gbnVsbCkge1xuICAgIC8vIFdlIHVzZSBhIGRvdWJsZSBidWZmZXJpbmcgcG9vbGluZyB0ZWNobmlxdWUgYmVjYXVzZSB3ZSBrbm93IHRoYXQgd2UnbGxcbiAgICAvLyBvbmx5IGV2ZXIgbmVlZCBhdCBtb3N0IHR3byB2ZXJzaW9ucyBvZiBhIHRyZWUuIFdlIHBvb2wgdGhlIFwib3RoZXJcIiB1bnVzZWRcbiAgICAvLyBub2RlIHRoYXQgd2UncmUgZnJlZSB0byByZXVzZS4gVGhpcyBpcyBsYXppbHkgY3JlYXRlZCB0byBhdm9pZCBhbGxvY2F0aW5nXG4gICAgLy8gZXh0cmEgb2JqZWN0cyBmb3IgdGhpbmdzIHRoYXQgYXJlIG5ldmVyIHVwZGF0ZWQuIEl0IGFsc28gYWxsb3cgdXMgdG9cbiAgICAvLyByZWNsYWltIHRoZSBleHRyYSBtZW1vcnkgaWYgbmVlZGVkLlxuICAgIHdvcmtJblByb2dyZXNzID0gY3JlYXRlRmliZXIoY3VycmVudC50YWcsIHBlbmRpbmdQcm9wcywgY3VycmVudC5rZXksIGN1cnJlbnQubW9kZSk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPSBjdXJyZW50LmVsZW1lbnRUeXBlO1xuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7XG4gICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3VycmVudC5zdGF0ZU5vZGU7XG5cbiAgICB7XG4gICAgICAvLyBERVYtb25seSBmaWVsZHNcbiAgICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z1NvdXJjZSA9IGN1cnJlbnQuX2RlYnVnU291cmNlO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnT3duZXIgPSBjdXJyZW50Ll9kZWJ1Z093bmVyO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSG9va1R5cGVzID0gY3VycmVudC5fZGVidWdIb29rVHlwZXM7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gY3VycmVudDtcbiAgICBjdXJyZW50LmFsdGVybmF0ZSA9IHdvcmtJblByb2dyZXNzO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wczsgLy8gTmVlZGVkIGJlY2F1c2UgQmxvY2tzIHN0b3JlIGRhdGEgb24gdHlwZS5cblxuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7IC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBhbHRlcm5hdGUuXG4gICAgLy8gUmVzZXQgdGhlIGVmZmVjdCB0YWcuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IE5vRmxhZ3M7IC8vIFRoZSBlZmZlY3RzIGFyZSBubyBsb25nZXIgdmFsaWQuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5zdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzO1xuICAgIHdvcmtJblByb2dyZXNzLmRlbGV0aW9ucyA9IG51bGw7XG5cbiAgICB7XG4gICAgICAvLyBXZSBpbnRlbnRpb25hbGx5IHJlc2V0LCByYXRoZXIgdGhhbiBjb3B5LCBhY3R1YWxEdXJhdGlvbiAmIGFjdHVhbFN0YXJ0VGltZS5cbiAgICAgIC8vIFRoaXMgcHJldmVudHMgdGltZSBmcm9tIGVuZGxlc3NseSBhY2N1bXVsYXRpbmcgaW4gbmV3IGNvbW1pdHMuXG4gICAgICAvLyBUaGlzIGhhcyB0aGUgZG93bnNpZGUgb2YgcmVzZXR0aW5nIHZhbHVlcyBmb3IgZGlmZmVyZW50IHByaW9yaXR5IHJlbmRlcnMsXG4gICAgICAvLyBCdXQgd29ya3MgZm9yIHlpZWxkaW5nICh0aGUgY29tbW9uIGNhc2UpIGFuZCBzaG91bGQgc3VwcG9ydCByZXN1bWluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uID0gMDtcbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbFN0YXJ0VGltZSA9IC0xO1xuICAgIH1cbiAgfSAvLyBSZXNldCBhbGwgZWZmZWN0cyBleGNlcHQgc3RhdGljIG9uZXMuXG4gIC8vIFN0YXRpYyBlZmZlY3RzIGFyZSBub3Qgc3BlY2lmaWMgdG8gYSByZW5kZXIuXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IGN1cnJlbnQuZmxhZ3MgJiBTdGF0aWNNYXNrO1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZExhbmVzID0gY3VycmVudC5jaGlsZExhbmVzO1xuICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGN1cnJlbnQubGFuZXM7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xuICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXG5cbiAgdmFyIGN1cnJlbnREZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcbiAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gY3VycmVudERlcGVuZGVuY2llcyA9PT0gbnVsbCA/IG51bGwgOiB7XG4gICAgbGFuZXM6IGN1cnJlbnREZXBlbmRlbmNpZXMubGFuZXMsXG4gICAgZmlyc3RDb250ZXh0OiBjdXJyZW50RGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dFxuICB9OyAvLyBUaGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gZHVyaW5nIHRoZSBwYXJlbnQncyByZWNvbmNpbGlhdGlvblxuXG4gIHdvcmtJblByb2dyZXNzLnNpYmxpbmcgPSBjdXJyZW50LnNpYmxpbmc7XG4gIHdvcmtJblByb2dyZXNzLmluZGV4ID0gY3VycmVudC5pbmRleDtcbiAgd29ya0luUHJvZ3Jlc3MucmVmID0gY3VycmVudC5yZWY7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSBjdXJyZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IGN1cnJlbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgfVxuXG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdOZWVkc1JlbW91bnQgPSBjdXJyZW50Ll9kZWJ1Z05lZWRzUmVtb3VudDtcblxuICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUNsYXNzRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSByZXNvbHZlRm9yd2FyZFJlZkZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG59IC8vIFVzZWQgdG8gcmV1c2UgYSBGaWJlciBmb3IgYSBzZWNvbmQgcGFzcy5cblxuZnVuY3Rpb24gcmVzZXRXb3JrSW5Qcm9ncmVzcyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyByZXNldHMgdGhlIEZpYmVyIHRvIHdoYXQgY3JlYXRlRmliZXIgb3IgY3JlYXRlV29ya0luUHJvZ3Jlc3Mgd291bGRcbiAgLy8gaGF2ZSBzZXQgdGhlIHZhbHVlcyB0byBiZWZvcmUgZHVyaW5nIHRoZSBmaXJzdCBwYXNzLiBJZGVhbGx5IHRoaXMgd291bGRuJ3RcbiAgLy8gYmUgbmVjZXNzYXJ5IGJ1dCB1bmZvcnR1bmF0ZWx5IG1hbnkgY29kZSBwYXRocyByZWFkcyBmcm9tIHRoZSB3b3JrSW5Qcm9ncmVzc1xuICAvLyB3aGVuIHRoZXkgc2hvdWxkIGJlIHJlYWRpbmcgZnJvbSBjdXJyZW50IGFuZCB3cml0aW5nIHRvIHdvcmtJblByb2dyZXNzLlxuICAvLyBXZSBhc3N1bWUgcGVuZGluZ1Byb3BzLCBpbmRleCwga2V5LCByZWYsIHJldHVybiBhcmUgc3RpbGwgdW50b3VjaGVkIHRvXG4gIC8vIGF2b2lkIGRvaW5nIGFub3RoZXIgcmVjb25jaWxpYXRpb24uXG4gIC8vIFJlc2V0IHRoZSBlZmZlY3QgZmxhZ3MgYnV0IGtlZXAgYW55IFBsYWNlbWVudCB0YWdzLCBzaW5jZSB0aGF0J3Mgc29tZXRoaW5nXG4gIC8vIHRoYXQgY2hpbGQgZmliZXIgaXMgc2V0dGluZywgbm90IHRoZSByZWNvbmNpbGlhdGlvbi5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gU3RhdGljTWFzayB8IFBsYWNlbWVudDsgLy8gVGhlIGVmZmVjdHMgYXJlIG5vIGxvbmdlciB2YWxpZC5cblxuICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIFJlc2V0IHRvIGNyZWF0ZUZpYmVyJ3MgaW5pdGlhbCB2YWx1ZXMuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSByZW5kZXJMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3Muc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPSBudWxsO1xuXG4gICAge1xuICAgICAgLy8gTm90ZTogV2UgZG9uJ3QgcmVzZXQgdGhlIGFjdHVhbFRpbWUgY291bnRzLiBJdCdzIHVzZWZ1bCB0byBhY2N1bXVsYXRlXG4gICAgICAvLyBhY3R1YWwgdGltZSBhY3Jvc3MgbXVsdGlwbGUgcmVuZGVyIHBhc3Nlcy5cbiAgICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFJlc2V0IHRvIHRoZSBjbG9uZWQgdmFsdWVzIHRoYXQgY3JlYXRlV29ya0luUHJvZ3Jlc3Mgd291bGQndmUuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IGN1cnJlbnQuY2hpbGRMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGN1cnJlbnQubGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkO1xuICAgIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3M7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBOZWVkZWQgYmVjYXVzZSBCbG9ja3Mgc3RvcmUgZGF0YSBvbiB0eXBlLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IGN1cnJlbnQudHlwZTsgLy8gQ2xvbmUgdGhlIGRlcGVuZGVuY2llcyBvYmplY3QuIFRoaXMgaXMgbXV0YXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSwgc29cbiAgICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXG5cbiAgICB2YXIgY3VycmVudERlcGVuZGVuY2llcyA9IGN1cnJlbnQuZGVwZW5kZW5jaWVzO1xuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnREZXBlbmRlbmNpZXMgPT09IG51bGwgPyBudWxsIDoge1xuICAgICAgbGFuZXM6IGN1cnJlbnREZXBlbmRlbmNpZXMubGFuZXMsXG4gICAgICBmaXJzdENvbnRleHQ6IGN1cnJlbnREZXBlbmRlbmNpZXMuZmlyc3RDb250ZXh0XG4gICAgfTtcblxuICAgIHtcbiAgICAgIC8vIE5vdGU6IFdlIGRvbid0IHJlc2V0IHRoZSBhY3R1YWxUaW1lIGNvdW50cy4gSXQncyB1c2VmdWwgdG8gYWNjdW11bGF0ZVxuICAgICAgLy8gYWN0dWFsIHRpbWUgYWNyb3NzIG11bHRpcGxlIHJlbmRlciBwYXNzZXMuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudC5zZWxmQmFzZUR1cmF0aW9uO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IGN1cnJlbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG59XG5mdW5jdGlvbiBjcmVhdGVIb3N0Um9vdEZpYmVyKHRhZywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlKSB7XG4gIHZhciBtb2RlO1xuXG4gIGlmICh0YWcgPT09IENvbmN1cnJlbnRSb290KSB7XG4gICAgbW9kZSA9IENvbmN1cnJlbnRNb2RlO1xuXG4gICAgaWYgKGlzU3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgbW9kZSB8PSBTdHJpY3RMZWdhY3lNb2RlO1xuXG4gICAgICB7XG4gICAgICAgIG1vZGUgfD0gU3RyaWN0RWZmZWN0c01vZGU7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG1vZGUgPSBOb01vZGU7XG4gIH1cblxuICBpZiAoIGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgLy8gQWx3YXlzIGNvbGxlY3QgcHJvZmlsZSB0aW1pbmdzIHdoZW4gRGV2VG9vbHMgYXJlIHByZXNlbnQuXG4gICAgLy8gVGhpcyBlbmFibGVzIERldlRvb2xzIHRvIHN0YXJ0IGNhcHR1cmluZyB0aW1pbmcgYXQgYW55IHBvaW504oCTXG4gICAgLy8gV2l0aG91dCBzb21lIG5vZGVzIGluIHRoZSB0cmVlIGhhdmluZyBlbXB0eSBiYXNlIHRpbWVzLlxuICAgIG1vZGUgfD0gUHJvZmlsZU1vZGU7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlRmliZXIoSG9zdFJvb3QsIG51bGwsIG51bGwsIG1vZGUpO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHR5cGUsIC8vIFJlYWN0JEVsZW1lbnRUeXBlXG5rZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGxhbmVzKSB7XG4gIHZhciBmaWJlclRhZyA9IEluZGV0ZXJtaW5hdGVDb21wb25lbnQ7IC8vIFRoZSByZXNvbHZlZCB0eXBlIGlzIHNldCBpZiB3ZSBrbm93IHdoYXQgdGhlIGZpbmFsIHR5cGUgd2lsbCBiZS4gSS5lLiBpdCdzIG5vdCBsYXp5LlxuXG4gIHZhciByZXNvbHZlZFR5cGUgPSB0eXBlO1xuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmIChzaG91bGRDb25zdHJ1Y3QkMSh0eXBlKSkge1xuICAgICAgZmliZXJUYWcgPSBDbGFzc0NvbXBvbmVudDtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgZmliZXJUYWcgPSBIb3N0Q29tcG9uZW50O1xuICB9IGVsc2Uge1xuICAgIGdldFRhZzogc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21GcmFnbWVudChwZW5kaW5nUHJvcHMuY2hpbGRyZW4sIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgIGZpYmVyVGFnID0gTW9kZTtcbiAgICAgICAgbW9kZSB8PSBTdHJpY3RMZWdhY3lNb2RlO1xuXG4gICAgICAgIGlmICggKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgIC8vIFN0cmljdCBlZmZlY3RzIHNob3VsZCBuZXZlciBydW4gb24gbGVnYWN5IHJvb3RzXG4gICAgICAgICAgbW9kZSB8PSBTdHJpY3RFZmZlY3RzTW9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21Qcm9maWxlcihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZShwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZpYmVyRnJvbVN1c3BlbnNlTGlzdChwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX09GRlNDUkVFTl9UWVBFOlxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKHBlbmRpbmdQcm9wcywgbW9kZSwgbGFuZXMsIGtleSk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEVHQUNZX0hJRERFTl9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9TQ09QRV9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9DQUNIRV9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9UUkFDSU5HX01BUktFUl9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9ERUJVR19UUkFDSU5HX01PREVfVFlQRTpcblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgICAgICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0UHJvdmlkZXI7XG4gICAgICAgICAgICAgICAgYnJlYWsgZ2V0VGFnO1xuXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBjb25zdW1lclxuICAgICAgICAgICAgICAgIGZpYmVyVGFnID0gQ29udGV4dENvbnN1bWVyO1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBGb3J3YXJkUmVmO1xuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG5cbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBNZW1vQ29tcG9uZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgICBmaWJlclRhZyA9IExhenlDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIFwiICsgJ25hbWVkIGltcG9ydHMuJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIG93bmVyTmFtZSA9IG93bmVyID8gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihvd25lcikgOiBudWxsO1xuXG4gICAgICAgICAgICBpZiAob3duZXJOYW1lKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VsZW1lbnQgdHlwZSBpcyBpbnZhbGlkOiBleHBlY3RlZCBhIHN0cmluZyAoZm9yIGJ1aWx0LWluICcgKyAnY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSBjb21wb25lbnRzKSAnICsgKFwiYnV0IGdvdDogXCIgKyAodHlwZSA9PSBudWxsID8gdHlwZSA6IHR5cGVvZiB0eXBlKSArIFwiLlwiICsgaW5mbykpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoZmliZXJUYWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSB0eXBlO1xuICBmaWJlci50eXBlID0gcmVzb2x2ZWRUeXBlO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuXG4gIHtcbiAgICBmaWJlci5fZGVidWdPd25lciA9IG93bmVyO1xuICB9XG5cbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCBtb2RlLCBsYW5lcykge1xuICB2YXIgb3duZXIgPSBudWxsO1xuXG4gIHtcbiAgICBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICB9XG5cbiAgdmFyIHR5cGUgPSBlbGVtZW50LnR5cGU7XG4gIHZhciBrZXkgPSBlbGVtZW50LmtleTtcbiAgdmFyIHBlbmRpbmdQcm9wcyA9IGVsZW1lbnQucHJvcHM7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyh0eXBlLCBrZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGxhbmVzKTtcblxuICB7XG4gICAgZmliZXIuX2RlYnVnU291cmNlID0gZWxlbWVudC5fc291cmNlO1xuICAgIGZpYmVyLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XG4gIH1cblxuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21GcmFnbWVudChlbGVtZW50cywgbW9kZSwgbGFuZXMsIGtleSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihGcmFnbWVudCwgZWxlbWVudHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHJldHVybiBmaWJlcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tUHJvZmlsZXIocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIHBlbmRpbmdQcm9wcy5pZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yKCdQcm9maWxlciBtdXN0IHNwZWNpZnkgYW4gXCJpZFwiIG9mIHR5cGUgYHN0cmluZ2AgYXMgYSBwcm9wLiBSZWNlaXZlZCB0aGUgdHlwZSBgJXNgIGluc3RlYWQuJywgdHlwZW9mIHBlbmRpbmdQcm9wcy5pZCk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoUHJvZmlsZXIsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlIHwgUHJvZmlsZU1vZGUpO1xuICBmaWJlci5lbGVtZW50VHlwZSA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG5cbiAge1xuICAgIGZpYmVyLnN0YXRlTm9kZSA9IHtcbiAgICAgIGVmZmVjdER1cmF0aW9uOiAwLFxuICAgICAgcGFzc2l2ZUVmZmVjdER1cmF0aW9uOiAwXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBmaWJlcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2UocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKFN1c3BlbnNlQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbiAgZmliZXIubGFuZXMgPSBsYW5lcztcbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2VMaXN0KHBlbmRpbmdQcm9wcywgbW9kZSwgbGFuZXMsIGtleSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihTdXNwZW5zZUxpc3RDb21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoT2Zmc2NyZWVuQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHZhciBwcmltYXJ5Q2hpbGRJbnN0YW5jZSA9IHtcbiAgICBpc0hpZGRlbjogZmFsc2VcbiAgfTtcbiAgZmliZXIuc3RhdGVOb2RlID0gcHJpbWFyeUNoaWxkSW5zdGFuY2U7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbVRleHQoY29udGVudCwgbW9kZSwgbGFuZXMpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdFRleHQsIGNvbnRlbnQsIG51bGwsIG1vZGUpO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Ib3N0SW5zdGFuY2VGb3JEZWxldGlvbigpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdENvbXBvbmVudCwgbnVsbCwgbnVsbCwgTm9Nb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSAnREVMRVRFRCc7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbURlaHlkcmF0ZWRGcmFnbWVudChkZWh5ZHJhdGVkTm9kZSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihEZWh5ZHJhdGVkRnJhZ21lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIGZpYmVyLnN0YXRlTm9kZSA9IGRlaHlkcmF0ZWROb2RlO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qb3J0YWwocG9ydGFsLCBtb2RlLCBsYW5lcykge1xuICB2YXIgcGVuZGluZ1Byb3BzID0gcG9ydGFsLmNoaWxkcmVuICE9PSBudWxsID8gcG9ydGFsLmNoaWxkcmVuIDogW107XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKEhvc3RQb3J0YWwsIHBlbmRpbmdQcm9wcywgcG9ydGFsLmtleSwgbW9kZSk7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIGZpYmVyLnN0YXRlTm9kZSA9IHtcbiAgICBjb250YWluZXJJbmZvOiBwb3J0YWwuY29udGFpbmVySW5mbyxcbiAgICBwZW5kaW5nQ2hpbGRyZW46IG51bGwsXG4gICAgLy8gVXNlZCBieSBwZXJzaXN0ZW50IHVwZGF0ZXNcbiAgICBpbXBsZW1lbnRhdGlvbjogcG9ydGFsLmltcGxlbWVudGF0aW9uXG4gIH07XG4gIHJldHVybiBmaWJlcjtcbn0gLy8gVXNlZCBmb3Igc3Rhc2hpbmcgV0lQIHByb3BlcnRpZXMgdG8gcmVwbGF5IGZhaWxlZCB3b3JrIGluIERFVi5cblxuZnVuY3Rpb24gYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodGFyZ2V0LCBzb3VyY2UpIHtcbiAgaWYgKHRhcmdldCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgRmliZXIncyBpbml0aWFsIHByb3BlcnRpZXMgd2lsbCBhbHdheXMgYmUgb3ZlcndyaXR0ZW4uXG4gICAgLy8gV2Ugb25seSB1c2UgYSBGaWJlciB0byBlbnN1cmUgdGhlIHNhbWUgaGlkZGVuIGNsYXNzIHNvIERFViBpc24ndCBzbG93LlxuICAgIHRhcmdldCA9IGNyZWF0ZUZpYmVyKEluZGV0ZXJtaW5hdGVDb21wb25lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIH0gLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IHdyaXR0ZW4gYXMgYSBsaXN0IG9mIGFsbCBwcm9wZXJ0aWVzLlxuICAvLyBXZSB0cmllZCB0byB1c2UgT2JqZWN0LmFzc2lnbigpIGluc3RlYWQgYnV0IHRoaXMgaXMgY2FsbGVkIGluXG4gIC8vIHRoZSBob3R0ZXN0IHBhdGgsIGFuZCBPYmplY3QuYXNzaWduKCkgd2FzIHRvbyBzbG93OlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTAyXG4gIC8vIFRoaXMgY29kZSBpcyBERVYtb25seSBzbyBzaXplIGlzIG5vdCBhIGNvbmNlcm4uXG5cblxuICB0YXJnZXQudGFnID0gc291cmNlLnRhZztcbiAgdGFyZ2V0LmtleSA9IHNvdXJjZS5rZXk7XG4gIHRhcmdldC5lbGVtZW50VHlwZSA9IHNvdXJjZS5lbGVtZW50VHlwZTtcbiAgdGFyZ2V0LnR5cGUgPSBzb3VyY2UudHlwZTtcbiAgdGFyZ2V0LnN0YXRlTm9kZSA9IHNvdXJjZS5zdGF0ZU5vZGU7XG4gIHRhcmdldC5yZXR1cm4gPSBzb3VyY2UucmV0dXJuO1xuICB0YXJnZXQuY2hpbGQgPSBzb3VyY2UuY2hpbGQ7XG4gIHRhcmdldC5zaWJsaW5nID0gc291cmNlLnNpYmxpbmc7XG4gIHRhcmdldC5pbmRleCA9IHNvdXJjZS5pbmRleDtcbiAgdGFyZ2V0LnJlZiA9IHNvdXJjZS5yZWY7XG4gIHRhcmdldC5wZW5kaW5nUHJvcHMgPSBzb3VyY2UucGVuZGluZ1Byb3BzO1xuICB0YXJnZXQubWVtb2l6ZWRQcm9wcyA9IHNvdXJjZS5tZW1vaXplZFByb3BzO1xuICB0YXJnZXQudXBkYXRlUXVldWUgPSBzb3VyY2UudXBkYXRlUXVldWU7XG4gIHRhcmdldC5tZW1vaXplZFN0YXRlID0gc291cmNlLm1lbW9pemVkU3RhdGU7XG4gIHRhcmdldC5kZXBlbmRlbmNpZXMgPSBzb3VyY2UuZGVwZW5kZW5jaWVzO1xuICB0YXJnZXQubW9kZSA9IHNvdXJjZS5tb2RlO1xuICB0YXJnZXQuZmxhZ3MgPSBzb3VyY2UuZmxhZ3M7XG4gIHRhcmdldC5zdWJ0cmVlRmxhZ3MgPSBzb3VyY2Uuc3VidHJlZUZsYWdzO1xuICB0YXJnZXQuZGVsZXRpb25zID0gc291cmNlLmRlbGV0aW9ucztcbiAgdGFyZ2V0LmxhbmVzID0gc291cmNlLmxhbmVzO1xuICB0YXJnZXQuY2hpbGRMYW5lcyA9IHNvdXJjZS5jaGlsZExhbmVzO1xuICB0YXJnZXQuYWx0ZXJuYXRlID0gc291cmNlLmFsdGVybmF0ZTtcblxuICB7XG4gICAgdGFyZ2V0LmFjdHVhbER1cmF0aW9uID0gc291cmNlLmFjdHVhbER1cmF0aW9uO1xuICAgIHRhcmdldC5hY3R1YWxTdGFydFRpbWUgPSBzb3VyY2UuYWN0dWFsU3RhcnRUaW1lO1xuICAgIHRhcmdldC5zZWxmQmFzZUR1cmF0aW9uID0gc291cmNlLnNlbGZCYXNlRHVyYXRpb247XG4gICAgdGFyZ2V0LnRyZWVCYXNlRHVyYXRpb24gPSBzb3VyY2UudHJlZUJhc2VEdXJhdGlvbjtcbiAgfVxuXG4gIHRhcmdldC5fZGVidWdTb3VyY2UgPSBzb3VyY2UuX2RlYnVnU291cmNlO1xuICB0YXJnZXQuX2RlYnVnT3duZXIgPSBzb3VyY2UuX2RlYnVnT3duZXI7XG4gIHRhcmdldC5fZGVidWdOZWVkc1JlbW91bnQgPSBzb3VyY2UuX2RlYnVnTmVlZHNSZW1vdW50O1xuICB0YXJnZXQuX2RlYnVnSG9va1R5cGVzID0gc291cmNlLl9kZWJ1Z0hvb2tUeXBlcztcbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gRmliZXJSb290Tm9kZShjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcikge1xuICB0aGlzLnRhZyA9IHRhZztcbiAgdGhpcy5jb250YWluZXJJbmZvID0gY29udGFpbmVySW5mbztcbiAgdGhpcy5wZW5kaW5nQ2hpbGRyZW4gPSBudWxsO1xuICB0aGlzLmN1cnJlbnQgPSBudWxsO1xuICB0aGlzLnBpbmdDYWNoZSA9IG51bGw7XG4gIHRoaXMuZmluaXNoZWRXb3JrID0gbnVsbDtcbiAgdGhpcy50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0O1xuICB0aGlzLmNvbnRleHQgPSBudWxsO1xuICB0aGlzLnBlbmRpbmdDb250ZXh0ID0gbnVsbDtcbiAgdGhpcy5jYWxsYmFja05vZGUgPSBudWxsO1xuICB0aGlzLmNhbGxiYWNrUHJpb3JpdHkgPSBOb0xhbmU7XG4gIHRoaXMuZXZlbnRUaW1lcyA9IGNyZWF0ZUxhbmVNYXAoTm9MYW5lcyk7XG4gIHRoaXMuZXhwaXJhdGlvblRpbWVzID0gY3JlYXRlTGFuZU1hcChOb1RpbWVzdGFtcCk7XG4gIHRoaXMucGVuZGluZ0xhbmVzID0gTm9MYW5lcztcbiAgdGhpcy5zdXNwZW5kZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMucGluZ2VkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmV4cGlyZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMubXV0YWJsZVJlYWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuZmluaXNoZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuZW50YW5nbGVkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmVudGFuZ2xlbWVudHMgPSBjcmVhdGVMYW5lTWFwKE5vTGFuZXMpO1xuICB0aGlzLmlkZW50aWZpZXJQcmVmaXggPSBpZGVudGlmaWVyUHJlZml4O1xuICB0aGlzLm9uUmVjb3ZlcmFibGVFcnJvciA9IG9uUmVjb3ZlcmFibGVFcnJvcjtcblxuICB7XG4gICAgdGhpcy5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhID0gbnVsbDtcbiAgfVxuXG4gIHtcbiAgICB0aGlzLmVmZmVjdER1cmF0aW9uID0gMDtcbiAgICB0aGlzLnBhc3NpdmVFZmZlY3REdXJhdGlvbiA9IDA7XG4gIH1cblxuICB7XG4gICAgdGhpcy5tZW1vaXplZFVwZGF0ZXJzID0gbmV3IFNldCgpO1xuICAgIHZhciBwZW5kaW5nVXBkYXRlcnNMYW5lTWFwID0gdGhpcy5wZW5kaW5nVXBkYXRlcnNMYW5lTWFwID0gW107XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgVG90YWxMYW5lczsgX2krKykge1xuICAgICAgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcC5wdXNoKG5ldyBTZXQoKSk7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICBjYXNlIENvbmN1cnJlbnRSb290OlxuICAgICAgICB0aGlzLl9kZWJ1Z1Jvb3RUeXBlID0gaHlkcmF0ZSA/ICdoeWRyYXRlUm9vdCgpJyA6ICdjcmVhdGVSb290KCknO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBMZWdhY3lSb290OlxuICAgICAgICB0aGlzLl9kZWJ1Z1Jvb3RUeXBlID0gaHlkcmF0ZSA/ICdoeWRyYXRlKCknIDogJ3JlbmRlcigpJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyUm9vdChjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUsIGluaXRpYWxDaGlsZHJlbiwgaHlkcmF0aW9uQ2FsbGJhY2tzLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIC8vIFRPRE86IFdlIGhhdmUgc2V2ZXJhbCBvZiB0aGVzZSBhcmd1bWVudHMgdGhhdCBhcmUgY29uY2VwdHVhbGx5IHBhcnQgb2YgdGhlXG4vLyBob3N0IGNvbmZpZywgYnV0IGJlY2F1c2UgdGhleSBhcmUgcGFzc2VkIGluIGF0IHJ1bnRpbWUsIHdlIGhhdmUgdG8gdGhyZWFkXG4vLyB0aGVtIHRocm91Z2ggdGhlIHJvb3QgY29uc3RydWN0b3IuIFBlcmhhcHMgd2Ugc2hvdWxkIHB1dCB0aGVtIGFsbCBpbnRvIGFcbi8vIHNpbmdsZSB0eXBlLCBsaWtlIGEgRHluYW1pY0hvc3RDb25maWcgdGhhdCBpcyBkZWZpbmVkIGJ5IHRoZSByZW5kZXJlci5cbmlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvciwgdHJhbnNpdGlvbkNhbGxiYWNrcykge1xuICB2YXIgcm9vdCA9IG5ldyBGaWJlclJvb3ROb2RlKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yKTtcbiAgLy8gc3RhdGVOb2RlIGlzIGFueS5cblxuXG4gIHZhciB1bmluaXRpYWxpemVkRmliZXIgPSBjcmVhdGVIb3N0Um9vdEZpYmVyKHRhZywgaXNTdHJpY3RNb2RlKTtcbiAgcm9vdC5jdXJyZW50ID0gdW5pbml0aWFsaXplZEZpYmVyO1xuICB1bmluaXRpYWxpemVkRmliZXIuc3RhdGVOb2RlID0gcm9vdDtcblxuICB7XG4gICAgdmFyIF9pbml0aWFsU3RhdGUgPSB7XG4gICAgICBlbGVtZW50OiBpbml0aWFsQ2hpbGRyZW4sXG4gICAgICBpc0RlaHlkcmF0ZWQ6IGh5ZHJhdGUsXG4gICAgICBjYWNoZTogbnVsbCxcbiAgICAgIC8vIG5vdCBlbmFibGVkIHlldFxuICAgICAgdHJhbnNpdGlvbnM6IG51bGwsXG4gICAgICBwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOiBudWxsXG4gICAgfTtcbiAgICB1bmluaXRpYWxpemVkRmliZXIubWVtb2l6ZWRTdGF0ZSA9IF9pbml0aWFsU3RhdGU7XG4gIH1cblxuICBpbml0aWFsaXplVXBkYXRlUXVldWUodW5pbml0aWFsaXplZEZpYmVyKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5cbnZhciBSZWFjdFZlcnNpb24gPSAnMTguMi4wJztcblxuZnVuY3Rpb24gY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBjb250YWluZXJJbmZvLCAvLyBUT0RPOiBmaWd1cmUgb3V0IHRoZSBBUEkgZm9yIGNyb3NzLXJlbmRlcmVyIGltcGxlbWVudGF0aW9uLlxuaW1wbGVtZW50YXRpb24pIHtcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogbnVsbDtcblxuICB7XG4gICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihrZXkpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvdyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgUG9ydGFsXG4gICAgJCR0eXBlb2Y6IFJFQUNUX1BPUlRBTF9UWVBFLFxuICAgIGtleToga2V5ID09IG51bGwgPyBudWxsIDogJycgKyBrZXksXG4gICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgIGNvbnRhaW5lckluZm86IGNvbnRhaW5lckluZm8sXG4gICAgaW1wbGVtZW50YXRpb246IGltcGxlbWVudGF0aW9uXG4gIH07XG59XG5cbnZhciBkaWRXYXJuQWJvdXROZXN0ZWRVcGRhdGVzO1xudmFyIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlO1xuXG57XG4gIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSBmYWxzZTtcbiAgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGUgPSB7fTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29udGV4dEZvclN1YnRyZWUocGFyZW50Q29tcG9uZW50KSB7XG4gIGlmICghcGFyZW50Q29tcG9uZW50KSB7XG4gICAgcmV0dXJuIGVtcHR5Q29udGV4dE9iamVjdDtcbiAgfVxuXG4gIHZhciBmaWJlciA9IGdldChwYXJlbnRDb21wb25lbnQpO1xuICB2YXIgcGFyZW50Q29udGV4dCA9IGZpbmRDdXJyZW50VW5tYXNrZWRDb250ZXh0KGZpYmVyKTtcblxuICBpZiAoZmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgIHZhciBDb21wb25lbnQgPSBmaWJlci50eXBlO1xuXG4gICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiBwcm9jZXNzQ2hpbGRDb250ZXh0KGZpYmVyLCBDb21wb25lbnQsIHBhcmVudENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJlbnRDb250ZXh0O1xufVxuXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlV2l0aFdhcm5pbmcoY29tcG9uZW50LCBtZXRob2ROYW1lKSB7XG4gIHtcbiAgICB2YXIgZmliZXIgPSBnZXQoY29tcG9uZW50KTtcblxuICAgIGlmIChmaWJlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodHlwZW9mIGNvbXBvbmVudC5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGNvbXBvbmVudCkuam9pbignLCcpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcmd1bWVudCBhcHBlYXJzIHRvIG5vdCBiZSBhIFJlYWN0Q29tcG9uZW50LiBLZXlzOiBcIiArIGtleXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcihmaWJlcik7XG5cbiAgICBpZiAoaG9zdEZpYmVyID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoaG9zdEZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc2V0Q3VycmVudEZpYmVyKGhvc3RGaWJlcik7XG5cbiAgICAgICAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCBpcyBpbnNpZGUgU3RyaWN0TW9kZS4gJyArICdJbnN0ZWFkLCBhZGQgYSByZWYgZGlyZWN0bHkgdG8gdGhlIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVmZXJlbmNlLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtZmluZC1ub2RlJywgbWV0aG9kTmFtZSwgbWV0aG9kTmFtZSwgY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCByZW5kZXJzIFN0cmljdE1vZGUgY2hpbGRyZW4uICcgKyAnSW5zdGVhZCwgYWRkIGEgcmVmIGRpcmVjdGx5IHRvIHRoZSBlbGVtZW50IHlvdSB3YW50IHRvIHJlZmVyZW5jZS4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLWZpbmQtbm9kZScsIG1ldGhvZE5hbWUsIG1ldGhvZE5hbWUsIGNvbXBvbmVudE5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAvLyBJZGVhbGx5IHRoaXMgc2hvdWxkIHJlc2V0IHRvIHByZXZpb3VzIGJ1dCB0aGlzIHNob3VsZG4ndCBiZSBjYWxsZWQgaW5cbiAgICAgICAgICAvLyByZW5kZXIgYW5kIHRoZXJlJ3MgYW5vdGhlciB3YXJuaW5nIGZvciB0aGF0IGFueXdheS5cbiAgICAgICAgICBpZiAocHJldmlvdXNGaWJlcikge1xuICAgICAgICAgICAgc2V0Q3VycmVudEZpYmVyKHByZXZpb3VzRmliZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBob3N0RmliZXIuc3RhdGVOb2RlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IsIHRyYW5zaXRpb25DYWxsYmFja3MpIHtcbiAgdmFyIGh5ZHJhdGUgPSBmYWxzZTtcbiAgdmFyIGluaXRpYWxDaGlsZHJlbiA9IG51bGw7XG4gIHJldHVybiBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IpO1xufVxuZnVuY3Rpb24gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgLy8gVE9ETzogUmVtb3ZlIGBjYWxsYmFja2Agd2hlbiB3ZSBkZWxldGUgbGVnYWN5IG1vZGUuXG5jYWxsYmFjaywgY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRpb25DYWxsYmFja3MsIGlzU3RyaWN0TW9kZSwgY29uY3VycmVudFVwZGF0ZXNCeURlZmF1bHRPdmVycmlkZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yLCB0cmFuc2l0aW9uQ2FsbGJhY2tzKSB7XG4gIHZhciBoeWRyYXRlID0gdHJ1ZTtcbiAgdmFyIHJvb3QgPSBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IpOyAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gRmliZXJSb290IGNvbnN0cnVjdG9yXG5cbiAgcm9vdC5jb250ZXh0ID0gZ2V0Q29udGV4dEZvclN1YnRyZWUobnVsbCk7IC8vIFNjaGVkdWxlIHRoZSBpbml0aWFsIHJlbmRlci4gSW4gYSBoeWRyYXRpb24gcm9vdCwgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbVxuICAvLyBhIHJlZ3VsYXIgdXBkYXRlIGJlY2F1c2UgdGhlIGluaXRpYWwgcmVuZGVyIG11c3QgbWF0Y2ggd2FzIHdhcyByZW5kZXJlZFxuICAvLyBvbiB0aGUgc2VydmVyLlxuICAvLyBOT1RFOiBUaGlzIHVwZGF0ZSBpbnRlbnRpb25hbGx5IGRvZXNuJ3QgaGF2ZSBhIHBheWxvYWQuIFdlJ3JlIG9ubHkgdXNpbmdcbiAgLy8gdGhlIHVwZGF0ZSB0byBzY2hlZHVsZSB3b3JrIG9uIHRoZSByb290IGZpYmVyIChhbmQsIGZvciBsZWdhY3kgcm9vdHMsIHRvXG4gIC8vIGVucXVldWUgdGhlIGNhbGxiYWNrIGlmIG9uZSBpcyBwcm92aWRlZCkuXG5cbiAgdmFyIGN1cnJlbnQgPSByb290LmN1cnJlbnQ7XG4gIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoY3VycmVudCk7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgdXBkYXRlLmNhbGxiYWNrID0gY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCA/IGNhbGxiYWNrIDogbnVsbDtcbiAgZW5xdWV1ZVVwZGF0ZShjdXJyZW50LCB1cGRhdGUsIGxhbmUpO1xuICBzY2hlZHVsZUluaXRpYWxIeWRyYXRpb25PblJvb3Qocm9vdCwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5mdW5jdGlvbiB1cGRhdGVDb250YWluZXIoZWxlbWVudCwgY29udGFpbmVyLCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBvblNjaGVkdWxlUm9vdChjb250YWluZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgdmFyIGN1cnJlbnQkMSA9IGNvbnRhaW5lci5jdXJyZW50O1xuICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICB2YXIgbGFuZSA9IHJlcXVlc3RVcGRhdGVMYW5lKGN1cnJlbnQkMSk7XG5cbiAge1xuICAgIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSk7XG4gIH1cblxuICB2YXIgY29udGV4dCA9IGdldENvbnRleHRGb3JTdWJ0cmVlKHBhcmVudENvbXBvbmVudCk7XG5cbiAgaWYgKGNvbnRhaW5lci5jb250ZXh0ID09PSBudWxsKSB7XG4gICAgY29udGFpbmVyLmNvbnRleHQgPSBjb250ZXh0O1xuICB9IGVsc2Uge1xuICAgIGNvbnRhaW5lci5wZW5kaW5nQ29udGV4dCA9IGNvbnRleHQ7XG4gIH1cblxuICB7XG4gICAgaWYgKGlzUmVuZGVyaW5nICYmIGN1cnJlbnQgIT09IG51bGwgJiYgIWRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSB0cnVlO1xuXG4gICAgICBlcnJvcignUmVuZGVyIG1ldGhvZHMgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGU7ICcgKyAndHJpZ2dlcmluZyBuZXN0ZWQgY29tcG9uZW50IHVwZGF0ZXMgZnJvbSByZW5kZXIgaXMgbm90IGFsbG93ZWQuICcgKyAnSWYgbmVjZXNzYXJ5LCB0cmlnZ2VyIG5lc3RlZCB1cGRhdGVzIGluIGNvbXBvbmVudERpZFVwZGF0ZS5cXG5cXG4nICsgJ0NoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mICVzLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoY3VycmVudCkgfHwgJ1Vua25vd24nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGV2ZW50VGltZSwgbGFuZSk7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG4gIHVwZGF0ZS5wYXlsb2FkID0ge1xuICAgIGVsZW1lbnQ6IGVsZW1lbnRcbiAgfTtcbiAgY2FsbGJhY2sgPSBjYWxsYmFjayA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNhbGxiYWNrO1xuXG4gIGlmIChjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICB9XG5cbiAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKGN1cnJlbnQkMSwgdXBkYXRlLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBjdXJyZW50JDEsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBjdXJyZW50JDEsIGxhbmUpO1xuICB9XG5cbiAgcmV0dXJuIGxhbmU7XG59XG5mdW5jdGlvbiBnZXRQdWJsaWNSb290SW5zdGFuY2UoY29udGFpbmVyKSB7XG4gIHZhciBjb250YWluZXJGaWJlciA9IGNvbnRhaW5lci5jdXJyZW50O1xuXG4gIGlmICghY29udGFpbmVyRmliZXIuY2hpbGQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHN3aXRjaCAoY29udGFpbmVyRmliZXIuY2hpbGQudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGdldFB1YmxpY0luc3RhbmNlKGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZSk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZTtcbiAgfVxufVxuZnVuY3Rpb24gYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uJDEoZmliZXIpIHtcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICB2YXIgcm9vdCA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgICAgICAgIC8vIEZsdXNoIHRoZSBmaXJzdCBzY2hlZHVsZWQgXCJ1cGRhdGVcIi5cbiAgICAgICAgICB2YXIgbGFuZXMgPSBnZXRIaWdoZXN0UHJpb3JpdHlQZW5kaW5nTGFuZXMocm9vdCk7XG4gICAgICAgICAgZmx1c2hSb290KHJvb3QsIGxhbmVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgZmx1c2hTeW5jKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICAgICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBldmVudFRpbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7IC8vIElmIHdlJ3JlIHN0aWxsIGJsb2NrZWQgYWZ0ZXIgdGhpcywgd2UgbmVlZCB0byBpbmNyZWFzZVxuICAgICAgICAvLyB0aGUgcHJpb3JpdHkgb2YgYW55IHByb21pc2VzIHJlc29sdmluZyB3aXRoaW4gdGhpc1xuICAgICAgICAvLyBib3VuZGFyeSBzbyB0aGF0IHRoZXkgbmV4dCBhdHRlbXB0IGFsc28gaGFzIGhpZ2hlciBwcmkuXG5cbiAgICAgICAgdmFyIHJldHJ5TGFuZSA9IFN5bmNMYW5lO1xuICAgICAgICBtYXJrUmV0cnlMYW5lSWZOb3RIeWRyYXRlZChmaWJlciwgcmV0cnlMYW5lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1JldHJ5TGFuZUltcGwoZmliZXIsIHJldHJ5TGFuZSkge1xuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwgJiYgc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUgPSBoaWdoZXJQcmlvcml0eUxhbmUoc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUsIHJldHJ5TGFuZSk7XG4gIH1cbn0gLy8gSW5jcmVhc2VzIHRoZSBwcmlvcml0eSBvZiB0aGVuYWJsZXMgd2hlbiB0aGV5IHJlc29sdmUgd2l0aGluIHRoaXMgYm91bmRhcnkuXG5cblxuZnVuY3Rpb24gbWFya1JldHJ5TGFuZUlmTm90SHlkcmF0ZWQoZmliZXIsIHJldHJ5TGFuZSkge1xuICBtYXJrUmV0cnlMYW5lSW1wbChmaWJlciwgcmV0cnlMYW5lKTtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlKSB7XG4gICAgbWFya1JldHJ5TGFuZUltcGwoYWx0ZXJuYXRlLCByZXRyeUxhbmUpO1xuICB9XG59XG5mdW5jdGlvbiBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiQxKGZpYmVyKSB7XG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcbiAgICAvLyB0aGVpciBwcmlvcml0eSBhbmQgdGhleSBzaG91bGQgbm90IHN1c3BlbmQgb24gSS9PLFxuICAgIC8vIHNpbmNlIHlvdSBoYXZlIHRvIHdyYXAgYW55dGhpbmcgdGhhdCBtaWdodCBzdXNwZW5kIGluXG4gICAgLy8gU3VzcGVuc2UuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGxhbmUgPSBTZWxlY3RpdmVIeWRyYXRpb25MYW5lO1xuICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgbGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgfVxuXG4gIG1hcmtSZXRyeUxhbmVJZk5vdEh5ZHJhdGVkKGZpYmVyLCBsYW5lKTtcbn1cbmZ1bmN0aW9uIGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eSQxKGZpYmVyKSB7XG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcbiAgICAvLyB0aGVpciBwcmlvcml0eSBvdGhlciB0aGFuIHN5bmNocm9ub3VzbHkgZmx1c2ggaXQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICB9XG5cbiAgbWFya1JldHJ5TGFuZUlmTm90SHlkcmF0ZWQoZmliZXIsIGxhbmUpO1xufVxuZnVuY3Rpb24gZmluZEhvc3RJbnN0YW5jZVdpdGhOb1BvcnRhbHMoZmliZXIpIHtcbiAgdmFyIGhvc3RGaWJlciA9IGZpbmRDdXJyZW50SG9zdEZpYmVyV2l0aE5vUG9ydGFscyhmaWJlcik7XG5cbiAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGU7XG59XG5cbnZhciBzaG91bGRFcnJvckltcGwgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgcmV0dXJuIG51bGw7XG59O1xuXG5mdW5jdGlvbiBzaG91bGRFcnJvcihmaWJlcikge1xuICByZXR1cm4gc2hvdWxkRXJyb3JJbXBsKGZpYmVyKTtcbn1cblxudmFyIHNob3VsZFN1c3BlbmRJbXBsID0gZnVuY3Rpb24gKGZpYmVyKSB7XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmZ1bmN0aW9uIHNob3VsZFN1c3BlbmQoZmliZXIpIHtcbiAgcmV0dXJuIHNob3VsZFN1c3BlbmRJbXBsKGZpYmVyKTtcbn1cbnZhciBvdmVycmlkZUhvb2tTdGF0ZSA9IG51bGw7XG52YXIgb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoID0gbnVsbDtcbnZhciBvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGggPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHMgPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHNEZWxldGVQYXRoID0gbnVsbDtcbnZhciBvdmVycmlkZVByb3BzUmVuYW1lUGF0aCA9IG51bGw7XG52YXIgc2NoZWR1bGVVcGRhdGUgPSBudWxsO1xudmFyIHNldEVycm9ySGFuZGxlciA9IG51bGw7XG52YXIgc2V0U3VzcGVuc2VIYW5kbGVyID0gbnVsbDtcblxue1xuICB2YXIgY29weVdpdGhEZWxldGVJbXBsID0gZnVuY3Rpb24gKG9iaiwgcGF0aCwgaW5kZXgpIHtcbiAgICB2YXIga2V5ID0gcGF0aFtpbmRleF07XG4gICAgdmFyIHVwZGF0ZWQgPSBpc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IGFzc2lnbih7fSwgb2JqKTtcblxuICAgIGlmIChpbmRleCArIDEgPT09IHBhdGgubGVuZ3RoKSB7XG4gICAgICBpZiAoaXNBcnJheSh1cGRhdGVkKSkge1xuICAgICAgICB1cGRhdGVkLnNwbGljZShrZXksIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIHVwZGF0ZWRba2V5XTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVwZGF0ZWQ7XG4gICAgfSAvLyAkRmxvd0ZpeE1lIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG5cblxuICAgIHVwZGF0ZWRba2V5XSA9IGNvcHlXaXRoRGVsZXRlSW1wbChvYmpba2V5XSwgcGF0aCwgaW5kZXggKyAxKTtcbiAgICByZXR1cm4gdXBkYXRlZDtcbiAgfTtcblxuICB2YXIgY29weVdpdGhEZWxldGUgPSBmdW5jdGlvbiAob2JqLCBwYXRoKSB7XG4gICAgcmV0dXJuIGNvcHlXaXRoRGVsZXRlSW1wbChvYmosIHBhdGgsIDApO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFJlbmFtZUltcGwgPSBmdW5jdGlvbiAob2JqLCBvbGRQYXRoLCBuZXdQYXRoLCBpbmRleCkge1xuICAgIHZhciBvbGRLZXkgPSBvbGRQYXRoW2luZGV4XTtcbiAgICB2YXIgdXBkYXRlZCA9IGlzQXJyYXkob2JqKSA/IG9iai5zbGljZSgpIDogYXNzaWduKHt9LCBvYmopO1xuXG4gICAgaWYgKGluZGV4ICsgMSA9PT0gb2xkUGF0aC5sZW5ndGgpIHtcbiAgICAgIHZhciBuZXdLZXkgPSBuZXdQYXRoW2luZGV4XTsgLy8gJEZsb3dGaXhNZSBudW1iZXIgb3Igc3RyaW5nIGlzIGZpbmUgaGVyZVxuXG4gICAgICB1cGRhdGVkW25ld0tleV0gPSB1cGRhdGVkW29sZEtleV07XG5cbiAgICAgIGlmIChpc0FycmF5KHVwZGF0ZWQpKSB7XG4gICAgICAgIHVwZGF0ZWQuc3BsaWNlKG9sZEtleSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgdXBkYXRlZFtvbGRLZXldO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG4gICAgICB1cGRhdGVkW29sZEtleV0gPSBjb3B5V2l0aFJlbmFtZUltcGwoIC8vICRGbG93Rml4TWUgbnVtYmVyIG9yIHN0cmluZyBpcyBmaW5lIGhlcmVcbiAgICAgIG9ialtvbGRLZXldLCBvbGRQYXRoLCBuZXdQYXRoLCBpbmRleCArIDEpO1xuICAgIH1cblxuICAgIHJldHVybiB1cGRhdGVkO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFJlbmFtZSA9IGZ1bmN0aW9uIChvYmosIG9sZFBhdGgsIG5ld1BhdGgpIHtcbiAgICBpZiAob2xkUGF0aC5sZW5ndGggIT09IG5ld1BhdGgubGVuZ3RoKSB7XG4gICAgICB3YXJuKCdjb3B5V2l0aFJlbmFtZSgpIGV4cGVjdHMgcGF0aHMgb2YgdGhlIHNhbWUgbGVuZ3RoJyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdQYXRoLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICBpZiAob2xkUGF0aFtpXSAhPT0gbmV3UGF0aFtpXSkge1xuICAgICAgICAgIHdhcm4oJ2NvcHlXaXRoUmVuYW1lKCkgZXhwZWN0cyBwYXRocyB0byBiZSB0aGUgc2FtZSBleGNlcHQgZm9yIHRoZSBkZWVwZXN0IGtleScpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvcHlXaXRoUmVuYW1lSW1wbChvYmosIG9sZFBhdGgsIG5ld1BhdGgsIDApO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFNldEltcGwgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCBpbmRleCwgdmFsdWUpIHtcbiAgICBpZiAoaW5kZXggPj0gcGF0aC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICB2YXIga2V5ID0gcGF0aFtpbmRleF07XG4gICAgdmFyIHVwZGF0ZWQgPSBpc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IGFzc2lnbih7fSwgb2JqKTsgLy8gJEZsb3dGaXhNZSBudW1iZXIgb3Igc3RyaW5nIGlzIGZpbmUgaGVyZVxuXG4gICAgdXBkYXRlZFtrZXldID0gY29weVdpdGhTZXRJbXBsKG9ialtrZXldLCBwYXRoLCBpbmRleCArIDEsIHZhbHVlKTtcbiAgICByZXR1cm4gdXBkYXRlZDtcbiAgfTtcblxuICB2YXIgY29weVdpdGhTZXQgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCB2YWx1ZSkge1xuICAgIHJldHVybiBjb3B5V2l0aFNldEltcGwob2JqLCBwYXRoLCAwLCB2YWx1ZSk7XG4gIH07XG5cbiAgdmFyIGZpbmRIb29rID0gZnVuY3Rpb24gKGZpYmVyLCBpZCkge1xuICAgIC8vIEZvciBub3csIHRoZSBcImlkXCIgb2Ygc3RhdGVmdWwgaG9va3MgaXMganVzdCB0aGUgc3RhdGVmdWwgaG9vayBpbmRleC5cbiAgICAvLyBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB3aXRoIGUuZy4gbmVzdGVkIGhvb2tzLlxuICAgIHZhciBjdXJyZW50SG9vayA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgICB3aGlsZSAoY3VycmVudEhvb2sgIT09IG51bGwgJiYgaWQgPiAwKSB7XG4gICAgICBjdXJyZW50SG9vayA9IGN1cnJlbnRIb29rLm5leHQ7XG4gICAgICBpZC0tO1xuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50SG9vaztcbiAgfTsgLy8gU3VwcG9ydCBEZXZUb29scyBlZGl0YWJsZSB2YWx1ZXMgZm9yIHVzZVN0YXRlIGFuZCB1c2VSZWR1Y2VyLlxuXG5cbiAgb3ZlcnJpZGVIb29rU3RhdGUgPSBmdW5jdGlvbiAoZmliZXIsIGlkLCBwYXRoLCB2YWx1ZSkge1xuICAgIHZhciBob29rID0gZmluZEhvb2soZmliZXIsIGlkKTtcblxuICAgIGlmIChob29rICE9PSBudWxsKSB7XG4gICAgICB2YXIgbmV3U3RhdGUgPSBjb3B5V2l0aFNldChob29rLm1lbW9pemVkU3RhdGUsIHBhdGgsIHZhbHVlKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlSG9va1N0YXRlRGVsZXRlUGF0aCA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIHBhdGgpIHtcbiAgICB2YXIgaG9vayA9IGZpbmRIb29rKGZpYmVyLCBpZCk7XG5cbiAgICBpZiAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhEZWxldGUoaG9vay5tZW1vaXplZFN0YXRlLCBwYXRoKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlSG9va1N0YXRlUmVuYW1lUGF0aCA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIG9sZFBhdGgsIG5ld1BhdGgpIHtcbiAgICB2YXIgaG9vayA9IGZpbmRIb29rKGZpYmVyLCBpZCk7XG5cbiAgICBpZiAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhSZW5hbWUoaG9vay5tZW1vaXplZFN0YXRlLCBvbGRQYXRoLCBuZXdQYXRoKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9OyAvLyBTdXBwb3J0IERldlRvb2xzIHByb3BzIGZvciBmdW5jdGlvbiBjb21wb25lbnRzLCBmb3J3YXJkUmVmLCBtZW1vLCBob3N0IGNvbXBvbmVudHMsIGV0Yy5cblxuXG4gIG92ZXJyaWRlUHJvcHMgPSBmdW5jdGlvbiAoZmliZXIsIHBhdGgsIHZhbHVlKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhTZXQoZmliZXIubWVtb2l6ZWRQcm9wcywgcGF0aCwgdmFsdWUpO1xuXG4gICAgaWYgKGZpYmVyLmFsdGVybmF0ZSkge1xuICAgICAgZmliZXIuYWx0ZXJuYXRlLnBlbmRpbmdQcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgU3luY0xhbmUsIE5vVGltZXN0YW1wKTtcbiAgICB9XG4gIH07XG5cbiAgb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGggPSBmdW5jdGlvbiAoZmliZXIsIHBhdGgpIHtcbiAgICBmaWJlci5wZW5kaW5nUHJvcHMgPSBjb3B5V2l0aERlbGV0ZShmaWJlci5tZW1vaXplZFByb3BzLCBwYXRoKTtcblxuICAgIGlmIChmaWJlci5hbHRlcm5hdGUpIHtcbiAgICAgIGZpYmVyLmFsdGVybmF0ZS5wZW5kaW5nUHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgfVxuXG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoID0gZnVuY3Rpb24gKGZpYmVyLCBvbGRQYXRoLCBuZXdQYXRoKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhSZW5hbWUoZmliZXIubWVtb2l6ZWRQcm9wcywgb2xkUGF0aCwgbmV3UGF0aCk7XG5cbiAgICBpZiAoZmliZXIuYWx0ZXJuYXRlKSB7XG4gICAgICBmaWJlci5hbHRlcm5hdGUucGVuZGluZ1Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSwgTm9UaW1lc3RhbXApO1xuICAgIH1cbiAgfTtcblxuICBzY2hlZHVsZVVwZGF0ZSA9IGZ1bmN0aW9uIChmaWJlcikge1xuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSwgTm9UaW1lc3RhbXApO1xuICAgIH1cbiAgfTtcblxuICBzZXRFcnJvckhhbmRsZXIgPSBmdW5jdGlvbiAobmV3U2hvdWxkRXJyb3JJbXBsKSB7XG4gICAgc2hvdWxkRXJyb3JJbXBsID0gbmV3U2hvdWxkRXJyb3JJbXBsO1xuICB9O1xuXG4gIHNldFN1c3BlbnNlSGFuZGxlciA9IGZ1bmN0aW9uIChuZXdTaG91bGRTdXNwZW5kSW1wbCkge1xuICAgIHNob3VsZFN1c3BlbmRJbXBsID0gbmV3U2hvdWxkU3VzcGVuZEltcGw7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyKGZpYmVyKSB7XG4gIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcihmaWJlcik7XG5cbiAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGU7XG59XG5cbmZ1bmN0aW9uIGVtcHR5RmluZEZpYmVyQnlIb3N0SW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlckZvckRldlRvb2xzKCkge1xuICByZXR1cm4gY3VycmVudDtcbn1cblxuZnVuY3Rpb24gaW5qZWN0SW50b0RldlRvb2xzKGRldlRvb2xzQ29uZmlnKSB7XG4gIHZhciBmaW5kRmliZXJCeUhvc3RJbnN0YW5jZSA9IGRldlRvb2xzQ29uZmlnLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlO1xuICB2YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG4gIHJldHVybiBpbmplY3RJbnRlcm5hbHMoe1xuICAgIGJ1bmRsZVR5cGU6IGRldlRvb2xzQ29uZmlnLmJ1bmRsZVR5cGUsXG4gICAgdmVyc2lvbjogZGV2VG9vbHNDb25maWcudmVyc2lvbixcbiAgICByZW5kZXJlclBhY2thZ2VOYW1lOiBkZXZUb29sc0NvbmZpZy5yZW5kZXJlclBhY2thZ2VOYW1lLFxuICAgIHJlbmRlcmVyQ29uZmlnOiBkZXZUb29sc0NvbmZpZy5yZW5kZXJlckNvbmZpZyxcbiAgICBvdmVycmlkZUhvb2tTdGF0ZTogb3ZlcnJpZGVIb29rU3RhdGUsXG4gICAgb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoOiBvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGgsXG4gICAgb3ZlcnJpZGVIb29rU3RhdGVSZW5hbWVQYXRoOiBvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGgsXG4gICAgb3ZlcnJpZGVQcm9wczogb3ZlcnJpZGVQcm9wcyxcbiAgICBvdmVycmlkZVByb3BzRGVsZXRlUGF0aDogb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGgsXG4gICAgb3ZlcnJpZGVQcm9wc1JlbmFtZVBhdGg6IG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoLFxuICAgIHNldEVycm9ySGFuZGxlcjogc2V0RXJyb3JIYW5kbGVyLFxuICAgIHNldFN1c3BlbnNlSGFuZGxlcjogc2V0U3VzcGVuc2VIYW5kbGVyLFxuICAgIHNjaGVkdWxlVXBkYXRlOiBzY2hlZHVsZVVwZGF0ZSxcbiAgICBjdXJyZW50RGlzcGF0Y2hlclJlZjogUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcbiAgICBmaW5kSG9zdEluc3RhbmNlQnlGaWJlcjogZmluZEhvc3RJbnN0YW5jZUJ5RmliZXIsXG4gICAgZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6IGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlIHx8IGVtcHR5RmluZEZpYmVyQnlIb3N0SW5zdGFuY2UsXG4gICAgLy8gUmVhY3QgUmVmcmVzaFxuICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaDogIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCAsXG4gICAgc2NoZWR1bGVSZWZyZXNoOiAgc2NoZWR1bGVSZWZyZXNoICxcbiAgICBzY2hlZHVsZVJvb3Q6ICBzY2hlZHVsZVJvb3QgLFxuICAgIHNldFJlZnJlc2hIYW5kbGVyOiAgc2V0UmVmcmVzaEhhbmRsZXIgLFxuICAgIC8vIEVuYWJsZXMgRGV2VG9vbHMgdG8gYXBwZW5kIG93bmVyIHN0YWNrcyB0byBlcnJvciBtZXNzYWdlcyBpbiBERVYgbW9kZS5cbiAgICBnZXRDdXJyZW50RmliZXI6ICBnZXRDdXJyZW50RmliZXJGb3JEZXZUb29scyAsXG4gICAgLy8gRW5hYmxlcyBEZXZUb29scyB0byBkZXRlY3QgcmVjb25jaWxlciB2ZXJzaW9uIHJhdGhlciB0aGFuIHJlbmRlcmVyIHZlcnNpb25cbiAgICAvLyB3aGljaCBtYXkgbm90IG1hdGNoIGZvciB0aGlyZCBwYXJ0eSByZW5kZXJlcnMuXG4gICAgcmVjb25jaWxlclZlcnNpb246IFJlYWN0VmVyc2lvblxuICB9KTtcbn1cblxuLyogZ2xvYmFsIHJlcG9ydEVycm9yICovXG5cbnZhciBkZWZhdWx0T25SZWNvdmVyYWJsZUVycm9yID0gdHlwZW9mIHJlcG9ydEVycm9yID09PSAnZnVuY3Rpb24nID8gLy8gSW4gbW9kZXJuIGJyb3dzZXJzLCByZXBvcnRFcnJvciB3aWxsIGRpc3BhdGNoIGFuIGVycm9yIGV2ZW50LFxuLy8gZW11bGF0aW5nIGFuIHVuY2F1Z2h0IEphdmFTY3JpcHQgZXJyb3IuXG5yZXBvcnRFcnJvciA6IGZ1bmN0aW9uIChlcnJvcikge1xuICAvLyBJbiBvbGRlciBicm93c2VycyBhbmQgdGVzdCBlbnZpcm9ubWVudHMsIGZhbGxiYWNrIHRvIGNvbnNvbGUuZXJyb3IuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmdcbiAgY29uc29sZVsnZXJyb3InXShlcnJvcik7XG59O1xuXG5mdW5jdGlvbiBSZWFjdERPTVJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn1cblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS5yZW5kZXIgPSBSZWFjdERPTVJvb3QucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIChjaGlsZHJlbikge1xuICB2YXIgcm9vdCA9IHRoaXMuX2ludGVybmFsUm9vdDtcblxuICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVwZGF0ZSBhbiB1bm1vdW50ZWQgcm9vdC4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1sxXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkQ29udGFpbmVyKGFyZ3VtZW50c1sxXSkpIHtcbiAgICAgIGVycm9yKCdZb3UgcGFzc2VkIGEgY29udGFpbmVyIHRvIHRoZSBzZWNvbmQgYXJndW1lbnQgb2Ygcm9vdC5yZW5kZXIoLi4uKS4gJyArIFwiWW91IGRvbid0IG5lZWQgdG8gcGFzcyBpdCBhZ2FpbiBzaW5jZSB5b3UgYWxyZWFkeSBwYXNzZWQgaXQgdG8gY3JlYXRlIHRoZSByb290LlwiKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmd1bWVudHNbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBlcnJvcignWW91IHBhc3NlZCBhIHNlY29uZCBhcmd1bWVudCB0byByb290LnJlbmRlciguLi4pIGJ1dCBpdCBvbmx5IGFjY2VwdHMgJyArICdvbmUgYXJndW1lbnQuJyk7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKHJvb3QuY3VycmVudCk7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UpIHtcbiAgICAgICAgaWYgKGhvc3RJbnN0YW5jZS5wYXJlbnROb2RlICE9PSBjb250YWluZXIpIHtcbiAgICAgICAgICBlcnJvcigncmVuZGVyKC4uLik6IEl0IGxvb2tzIGxpa2UgdGhlIFJlYWN0LXJlbmRlcmVkIGNvbnRlbnQgb2YgdGhlICcgKyAncm9vdCBjb250YWluZXIgd2FzIHJlbW92ZWQgd2l0aG91dCB1c2luZyBSZWFjdC4gVGhpcyBpcyBub3QgJyArICdzdXBwb3J0ZWQgYW5kIHdpbGwgY2F1c2UgZXJyb3JzLiBJbnN0ZWFkLCBjYWxsICcgKyBcInJvb3QudW5tb3VudCgpIHRvIGVtcHR5IGEgcm9vdCdzIGNvbnRhaW5lci5cIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVDb250YWluZXIoY2hpbGRyZW4sIHJvb3QsIG51bGwsIG51bGwpO1xufTtcblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS51bm1vdW50ID0gUmVhY3RET01Sb290LnByb3RvdHlwZS51bm1vdW50ID0gZnVuY3Rpb24gKCkge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbMF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCd1bm1vdW50KC4uLik6IGRvZXMgbm90IHN1cHBvcnQgYSBjYWxsYmFjayBhcmd1bWVudC4gJyArICdUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgcmVuZGVyaW5nLCBkZWNsYXJlIGl0IGluIGEgY29tcG9uZW50IGJvZHkgd2l0aCB1c2VFZmZlY3QoKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IHRoaXMuX2ludGVybmFsUm9vdDtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHRoaXMuX2ludGVybmFsUm9vdCA9IG51bGw7XG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIHtcbiAgICAgIGlmIChpc0FscmVhZHlSZW5kZXJpbmcoKSkge1xuICAgICAgICBlcnJvcignQXR0ZW1wdGVkIHRvIHN5bmNocm9ub3VzbHkgdW5tb3VudCBhIHJvb3Qgd2hpbGUgUmVhY3Qgd2FzIGFscmVhZHkgJyArICdyZW5kZXJpbmcuIFJlYWN0IGNhbm5vdCBmaW5pc2ggdW5tb3VudGluZyB0aGUgcm9vdCB1bnRpbCB0aGUgJyArICdjdXJyZW50IHJlbmRlciBoYXMgY29tcGxldGVkLCB3aGljaCBtYXkgbGVhZCB0byBhIHJhY2UgY29uZGl0aW9uLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVDb250YWluZXIobnVsbCwgcm9vdCwgbnVsbCwgbnVsbCk7XG4gICAgfSk7XG4gICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3QoY29udGFpbmVyLCBvcHRpb25zKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lcihjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjcmVhdGVSb290KC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB3YXJuSWZSZWFjdERPTUNvbnRhaW5lckluREVWKGNvbnRhaW5lcik7XG4gIHZhciBpc1N0cmljdE1vZGUgPSBmYWxzZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUgPSBmYWxzZTtcbiAgdmFyIGlkZW50aWZpZXJQcmVmaXggPSAnJztcbiAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3I7XG4gIHZhciB0cmFuc2l0aW9uQ2FsbGJhY2tzID0gbnVsbDtcblxuICBpZiAob3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICB7XG4gICAgICBpZiAob3B0aW9ucy5oeWRyYXRlKSB7XG4gICAgICAgIHdhcm4oJ2h5ZHJhdGUgdGhyb3VnaCBjcmVhdGVSb290IGlzIGRlcHJlY2F0ZWQuIFVzZSBSZWFjdERPTUNsaWVudC5oeWRyYXRlUm9vdChjb250YWluZXIsIDxBcHAgLz4pIGluc3RlYWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucy4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XG4gICAgICAgICAgZXJyb3IoJ1lvdSBwYXNzZWQgYSBKU1ggZWxlbWVudCB0byBjcmVhdGVSb290LiBZb3UgcHJvYmFibHkgbWVhbnQgdG8gJyArICdjYWxsIHJvb3QucmVuZGVyIGluc3RlYWQuICcgKyAnRXhhbXBsZSB1c2FnZTpcXG5cXG4nICsgJyAgbGV0IHJvb3QgPSBjcmVhdGVSb290KGRvbUNvbnRhaW5lcik7XFxuJyArICcgIHJvb3QucmVuZGVyKDxBcHAgLz4pOycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfc3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgaXNTdHJpY3RNb2RlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pZGVudGlmaWVyUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpZXJQcmVmaXggPSBvcHRpb25zLmlkZW50aWZpZXJQcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uUmVjb3ZlcmFibGVFcnJvciA9IG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnRyYW5zaXRpb25DYWxsYmFja3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHJhbnNpdGlvbkNhbGxiYWNrcyA9IG9wdGlvbnMudHJhbnNpdGlvbkNhbGxiYWNrcztcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXIsIENvbmN1cnJlbnRSb290LCBudWxsLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcik7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuICB2YXIgcm9vdENvbnRhaW5lckVsZW1lbnQgPSBjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IGNvbnRhaW5lci5wYXJlbnROb2RlIDogY29udGFpbmVyO1xuICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhyb290Q29udGFpbmVyRWxlbWVudCk7XG4gIHJldHVybiBuZXcgUmVhY3RET01Sb290KHJvb3QpO1xufVxuXG5mdW5jdGlvbiBSZWFjdERPTUh5ZHJhdGlvblJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVIeWRyYXRpb24odGFyZ2V0KSB7XG4gIGlmICh0YXJnZXQpIHtcbiAgICBxdWV1ZUV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KHRhcmdldCk7XG4gIH1cbn1cblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbiA9IHNjaGVkdWxlSHlkcmF0aW9uO1xuZnVuY3Rpb24gaHlkcmF0ZVJvb3QoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIG9wdGlvbnMpIHtcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lcikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2h5ZHJhdGVSb290KC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB3YXJuSWZSZWFjdERPTUNvbnRhaW5lckluREVWKGNvbnRhaW5lcik7XG5cbiAge1xuICAgIGlmIChpbml0aWFsQ2hpbGRyZW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgZXJyb3IoJ011c3QgcHJvdmlkZSBpbml0aWFsIGNoaWxkcmVuIGFzIHNlY29uZCBhcmd1bWVudCB0byBoeWRyYXRlUm9vdC4gJyArICdFeGFtcGxlIHVzYWdlOiBoeWRyYXRlUm9vdChkb21Db250YWluZXIsIDxBcHAgLz4pJyk7XG4gICAgfVxuICB9IC8vIEZvciBub3cgd2UgcmV1c2UgdGhlIHdob2xlIGJhZyBvZiBvcHRpb25zIHNpbmNlIHRoZXkgY29udGFpblxuICAvLyB0aGUgaHlkcmF0aW9uIGNhbGxiYWNrcy5cblxuXG4gIHZhciBoeWRyYXRpb25DYWxsYmFja3MgPSBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogbnVsbDsgLy8gVE9ETzogRGVsZXRlIHRoaXMgb3B0aW9uXG5cbiAgdmFyIG11dGFibGVTb3VyY2VzID0gb3B0aW9ucyAhPSBudWxsICYmIG9wdGlvbnMuaHlkcmF0ZWRTb3VyY2VzIHx8IG51bGw7XG4gIHZhciBpc1N0cmljdE1vZGUgPSBmYWxzZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUgPSBmYWxzZTtcbiAgdmFyIGlkZW50aWZpZXJQcmVmaXggPSAnJztcbiAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3I7XG5cbiAgaWYgKG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfc3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgaXNTdHJpY3RNb2RlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pZGVudGlmaWVyUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpZXJQcmVmaXggPSBvcHRpb25zLmlkZW50aWZpZXJQcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uUmVjb3ZlcmFibGVFcnJvciA9IG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHZhciByb290ID0gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgbnVsbCwgY29udGFpbmVyLCBDb25jdXJyZW50Um9vdCwgaHlkcmF0aW9uQ2FsbGJhY2tzLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcik7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpOyAvLyBUaGlzIGNhbid0IGJlIGEgY29tbWVudCBub2RlIHNpbmNlIGh5ZHJhdGlvbiBkb2Vzbid0IHdvcmsgb24gY29tbWVudCBub2RlcyBhbnl3YXkuXG5cbiAgbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMoY29udGFpbmVyKTtcblxuICBpZiAobXV0YWJsZVNvdXJjZXMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG11dGFibGVTb3VyY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgbXV0YWJsZVNvdXJjZSA9IG11dGFibGVTb3VyY2VzW2ldO1xuICAgICAgcmVnaXN0ZXJNdXRhYmxlU291cmNlRm9ySHlkcmF0aW9uKHJvb3QsIG11dGFibGVTb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgUmVhY3RET01IeWRyYXRpb25Sb290KHJvb3QpO1xufVxuZnVuY3Rpb24gaXNWYWxpZENvbnRhaW5lcihub2RlKSB7XG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8ICFkaXNhYmxlQ29tbWVudHNBc0RPTUNvbnRhaW5lcnMgICkpO1xufSAvLyBUT0RPOiBSZW1vdmUgdGhpcyBmdW5jdGlvbiB3aGljaCBhbHNvIGluY2x1ZGVzIGNvbW1lbnQgbm9kZXMuXG4vLyBXZSBvbmx5IHVzZSBpdCBpbiBwbGFjZXMgdGhhdCBhcmUgY3VycmVudGx5IG1vcmUgcmVsYXhlZC5cblxuZnVuY3Rpb24gaXNWYWxpZENvbnRhaW5lckxlZ2FjeShub2RlKSB7XG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBub2RlLm5vZGVWYWx1ZSA9PT0gJyByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAnKSk7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlJlYWN0RE9NQ29udGFpbmVySW5ERVYoY29udGFpbmVyKSB7XG4gIHtcbiAgICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgJiYgY29udGFpbmVyLnRhZ05hbWUgJiYgY29udGFpbmVyLnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gJ0JPRFknKSB7XG4gICAgICBlcnJvcignY3JlYXRlUm9vdCgpOiBDcmVhdGluZyByb290cyBkaXJlY3RseSB3aXRoIGRvY3VtZW50LmJvZHkgaXMgJyArICdkaXNjb3VyYWdlZCwgc2luY2UgaXRzIGNoaWxkcmVuIGFyZSBvZnRlbiBtYW5pcHVsYXRlZCBieSB0aGlyZC1wYXJ0eSAnICsgJ3NjcmlwdHMgYW5kIGJyb3dzZXIgZXh0ZW5zaW9ucy4gVGhpcyBtYXkgbGVhZCB0byBzdWJ0bGUgJyArICdyZWNvbmNpbGlhdGlvbiBpc3N1ZXMuIFRyeSB1c2luZyBhIGNvbnRhaW5lciBlbGVtZW50IGNyZWF0ZWQgJyArICdmb3IgeW91ciBhcHAuJyk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikpIHtcbiAgICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcikge1xuICAgICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NLnJlbmRlcigpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKSBvbiBhIGNvbnRhaW5lciB0aGF0ICcgKyAnaGFzIGFscmVhZHkgYmVlbiBwYXNzZWQgdG8gY3JlYXRlUm9vdCgpIGJlZm9yZS4gSW5zdGVhZCwgY2FsbCAnICsgJ3Jvb3QucmVuZGVyKCkgb24gdGhlIGV4aXN0aW5nIHJvb3QgaW5zdGVhZCBpZiB5b3Ugd2FudCB0byB1cGRhdGUgaXQuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgdG9wTGV2ZWxVcGRhdGVXYXJuaW5ncztcblxue1xuICB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzID0gZnVuY3Rpb24gKGNvbnRhaW5lcikge1xuICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lciAmJiBjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyLmN1cnJlbnQpO1xuXG4gICAgICBpZiAoaG9zdEluc3RhbmNlKSB7XG4gICAgICAgIGlmIChob3N0SW5zdGFuY2UucGFyZW50Tm9kZSAhPT0gY29udGFpbmVyKSB7XG4gICAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBJdCBsb29rcyBsaWtlIHRoZSBSZWFjdC1yZW5kZXJlZCBjb250ZW50IG9mIHRoaXMgJyArICdjb250YWluZXIgd2FzIHJlbW92ZWQgd2l0aG91dCB1c2luZyBSZWFjdC4gVGhpcyBpcyBub3QgJyArICdzdXBwb3J0ZWQgYW5kIHdpbGwgY2F1c2UgZXJyb3JzLiBJbnN0ZWFkLCBjYWxsICcgKyAnUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSB0byBlbXB0eSBhIGNvbnRhaW5lci4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBpc1Jvb3RSZW5kZXJlZEJ5U29tZVJlYWN0ID0gISFjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcbiAgICB2YXIgcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG4gICAgdmFyIGhhc05vblJvb3RSZWFjdENoaWxkID0gISEocm9vdEVsICYmIGdldEluc3RhbmNlRnJvbU5vZGUocm9vdEVsKSk7XG5cbiAgICBpZiAoaGFzTm9uUm9vdFJlYWN0Q2hpbGQgJiYgIWlzUm9vdFJlbmRlcmVkQnlTb21lUmVhY3QpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoLi4uKTogUmVwbGFjaW5nIFJlYWN0LXJlbmRlcmVkIGNoaWxkcmVuIHdpdGggYSBuZXcgcm9vdCAnICsgJ2NvbXBvbmVudC4gSWYgeW91IGludGVuZGVkIHRvIHVwZGF0ZSB0aGUgY2hpbGRyZW4gb2YgdGhpcyBub2RlLCAnICsgJ3lvdSBzaG91bGQgaW5zdGVhZCBoYXZlIHRoZSBleGlzdGluZyBjaGlsZHJlbiB1cGRhdGUgdGhlaXIgc3RhdGUgJyArICdhbmQgcmVuZGVyIHRoZSBuZXcgY29tcG9uZW50cyBpbnN0ZWFkIG9mIGNhbGxpbmcgUmVhY3RET00ucmVuZGVyLicpO1xuICAgIH1cblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiBjb250YWluZXIudGFnTmFtZSAmJiBjb250YWluZXIudGFnTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnQk9EWScpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoKTogUmVuZGVyaW5nIGNvbXBvbmVudHMgZGlyZWN0bHkgaW50byBkb2N1bWVudC5ib2R5IGlzICcgKyAnZGlzY291cmFnZWQsIHNpbmNlIGl0cyBjaGlsZHJlbiBhcmUgb2Z0ZW4gbWFuaXB1bGF0ZWQgYnkgdGhpcmQtcGFydHkgJyArICdzY3JpcHRzIGFuZCBicm93c2VyIGV4dGVuc2lvbnMuIFRoaXMgbWF5IGxlYWQgdG8gc3VidGxlICcgKyAncmVjb25jaWxpYXRpb24gaXNzdWVzLiBUcnkgcmVuZGVyaW5nIGludG8gYSBjb250YWluZXIgZWxlbWVudCBjcmVhdGVkICcgKyAnZm9yIHlvdXIgYXBwLicpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoIWNvbnRhaW5lcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSkge1xuICAgIHJldHVybiBjb250YWluZXIuZG9jdW1lbnRFbGVtZW50O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb250YWluZXIuZmlyc3RDaGlsZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBub29wT25SZWNvdmVyYWJsZUVycm9yKCkgey8vIFRoaXMgaXNuJ3QgcmVhY2hhYmxlIGJlY2F1c2Ugb25SZWNvdmVyYWJsZUVycm9yIGlzbid0IGNhbGxlZCBpbiB0aGVcbiAgLy8gbGVnYWN5IEFQSS5cbn1cblxuZnVuY3Rpb24gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2ssIGlzSHlkcmF0aW9uQ29udGFpbmVyKSB7XG4gIGlmIChpc0h5ZHJhdGlvbkNvbnRhaW5lcikge1xuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBvcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRQdWJsaWNSb290SW5zdGFuY2Uocm9vdCk7XG4gICAgICAgIG9yaWdpbmFsQ2FsbGJhY2suY2FsbChpbnN0YW5jZSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciByb290ID0gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgY2FsbGJhY2ssIGNvbnRhaW5lciwgTGVnYWN5Um9vdCwgbnVsbCwgLy8gaHlkcmF0aW9uQ2FsbGJhY2tzXG4gICAgZmFsc2UsIC8vIGlzU3RyaWN0TW9kZVxuICAgIGZhbHNlLCAvLyBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLFxuICAgICcnLCAvLyBpZGVudGlmaWVyUHJlZml4XG4gICAgbm9vcE9uUmVjb3ZlcmFibGVFcnJvcik7XG4gICAgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPSByb290O1xuICAgIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuICAgIHZhciByb290Q29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gY29udGFpbmVyLnBhcmVudE5vZGUgOiBjb250YWluZXI7XG4gICAgbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMocm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgIGZsdXNoU3luYygpO1xuICAgIHJldHVybiByb290O1xuICB9IGVsc2Uge1xuICAgIC8vIEZpcnN0IGNsZWFyIGFueSBleGlzdGluZyBjb250ZW50LlxuICAgIHZhciByb290U2libGluZztcblxuICAgIHdoaWxlIChyb290U2libGluZyA9IGNvbnRhaW5lci5sYXN0Q2hpbGQpIHtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVDaGlsZChyb290U2libGluZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIF9vcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRQdWJsaWNSb290SW5zdGFuY2UoX3Jvb3QpO1xuXG4gICAgICAgIF9vcmlnaW5hbENhbGxiYWNrLmNhbGwoaW5zdGFuY2UpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX3Jvb3QgPSBjcmVhdGVDb250YWluZXIoY29udGFpbmVyLCBMZWdhY3lSb290LCBudWxsLCAvLyBoeWRyYXRpb25DYWxsYmFja3NcbiAgICBmYWxzZSwgLy8gaXNTdHJpY3RNb2RlXG4gICAgZmFsc2UsIC8vIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsXG4gICAgJycsIC8vIGlkZW50aWZpZXJQcmVmaXhcbiAgICBub29wT25SZWNvdmVyYWJsZUVycm9yKTtcblxuICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gX3Jvb3Q7XG4gICAgbWFya0NvbnRhaW5lckFzUm9vdChfcm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuXG4gICAgdmFyIF9yb290Q29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gY29udGFpbmVyLnBhcmVudE5vZGUgOiBjb250YWluZXI7XG5cbiAgICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhfcm9vdENvbnRhaW5lckVsZW1lbnQpOyAvLyBJbml0aWFsIG1vdW50IHNob3VsZCBub3QgYmUgYmF0Y2hlZC5cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVDb250YWluZXIoaW5pdGlhbENoaWxkcmVuLCBfcm9vdCwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjayk7XG4gICAgfSk7XG4gICAgcmV0dXJuIF9yb290O1xuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkludmFsaWRDYWxsYmFjayQxKGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwgJiYgdHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXMoLi4uKTogRXhwZWN0ZWQgdGhlIGxhc3Qgb3B0aW9uYWwgYGNhbGxiYWNrYCBhcmd1bWVudCB0byBiZSBhICcgKyAnZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNhbGxlck5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbGVnYWN5UmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBjaGlsZHJlbiwgY29udGFpbmVyLCBmb3JjZUh5ZHJhdGUsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzKGNvbnRhaW5lcik7XG4gICAgd2Fybk9uSW52YWxpZENhbGxiYWNrJDEoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjYWxsYmFjaywgJ3JlbmRlcicpO1xuICB9XG5cbiAgdmFyIG1heWJlUm9vdCA9IGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyO1xuICB2YXIgcm9vdDtcblxuICBpZiAoIW1heWJlUm9vdCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICByb290ID0gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBjaGlsZHJlbiwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjaywgZm9yY2VIeWRyYXRlKTtcbiAgfSBlbHNlIHtcbiAgICByb290ID0gbWF5YmVSb290O1xuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIG9yaWdpbmFsQ2FsbGJhY2sgPSBjYWxsYmFjaztcblxuICAgICAgY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGdldFB1YmxpY1Jvb3RJbnN0YW5jZShyb290KTtcbiAgICAgICAgb3JpZ2luYWxDYWxsYmFjay5jYWxsKGluc3RhbmNlKTtcbiAgICAgIH07XG4gICAgfSAvLyBVcGRhdGVcblxuXG4gICAgdXBkYXRlQ29udGFpbmVyKGNoaWxkcmVuLCByb290LCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHJldHVybiBnZXRQdWJsaWNSb290SW5zdGFuY2Uocm9vdCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRET01Ob2RlKGNvbXBvbmVudE9yRWxlbWVudCkge1xuICB7XG4gICAgdmFyIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIkMy5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIHdhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gb3duZXIuc3RhdGVOb2RlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlcjtcblxuICAgICAgaWYgKCF3YXJuZWRBYm91dFJlZnNJblJlbmRlcikge1xuICAgICAgICBlcnJvcignJXMgaXMgYWNjZXNzaW5nIGZpbmRET01Ob2RlIGluc2lkZSBpdHMgcmVuZGVyKCkuICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUob3duZXIudHlwZSkgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIG93bmVyLnN0YXRlTm9kZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb21wb25lbnRPckVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbXBvbmVudE9yRWxlbWVudC5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgcmV0dXJuIGNvbXBvbmVudE9yRWxlbWVudDtcbiAgfVxuXG4gIHtcbiAgICByZXR1cm4gZmluZEhvc3RJbnN0YW5jZVdpdGhXYXJuaW5nKGNvbXBvbmVudE9yRWxlbWVudCwgJ2ZpbmRET01Ob2RlJyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGh5ZHJhdGUoZWxlbWVudCwgY29udGFpbmVyLCBjYWxsYmFjaykge1xuICB7XG4gICAgZXJyb3IoJ1JlYWN0RE9NLmh5ZHJhdGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBpbiBSZWFjdCAxOC4gVXNlIGh5ZHJhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLmh5ZHJhdGUoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBjYWxsIGh5ZHJhdGVSb290KGNvbnRhaW5lciwgZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9IC8vIFRPRE86IHRocm93IG9yIHdhcm4gaWYgd2UgY291bGRuJ3QgaHlkcmF0ZT9cblxuXG4gIHJldHVybiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBlbGVtZW50LCBjb250YWluZXIsIHRydWUsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHJlbmRlcihlbGVtZW50LCBjb250YWluZXIsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBlcnJvcignUmVhY3RET00ucmVuZGVyIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgaW4gUmVhY3QgMTguIFVzZSBjcmVhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLnJlbmRlcigpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET01DbGllbnQuY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnRGlkIHlvdSBtZWFuIHRvIGNhbGwgcm9vdC5yZW5kZXIoZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAge1xuICAgIGVycm9yKCdSZWFjdERPTS51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcigpIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgJyArICdpbiBSZWFjdCAxOC4gQ29uc2lkZXIgdXNpbmcgYSBwb3J0YWwgaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byAnICsgXCJ0aGUgY3JlYXRlUm9vdCBBUEksIHlvdXIgYXBwIHdpbGwgYmVoYXZlIGFzIGlmIGl0J3MgcnVubmluZyBSZWFjdCBcIiArICcxNy4gTGVhcm4gbW9yZTogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N3aXRjaC10by1jcmVhdGVyb290Jyk7XG4gIH1cblxuICBpZiAoIWlzVmFsaWRDb250YWluZXJMZWdhY3koY29udGFpbmVyTm9kZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICBpZiAocGFyZW50Q29tcG9uZW50ID09IG51bGwgfHwgIWhhcyhwYXJlbnRDb21wb25lbnQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwYXJlbnRDb21wb25lbnQgbXVzdCBiZSBhIHZhbGlkIFJlYWN0IENvbXBvbmVudCcpO1xuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVubW91bnRDb21wb25lbnRBdE5vZGUoY29udGFpbmVyKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bm1vdW50Q29tcG9uZW50QXROb2RlKC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB7XG4gICAgdmFyIGlzTW9kZXJuUm9vdCA9IGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikgJiYgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZDtcblxuICAgIGlmIChpc01vZGVyblJvb3QpIHtcbiAgICAgIGVycm9yKCdZb3UgYXJlIGNhbGxpbmcgUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSgpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET01DbGllbnQuY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIERpZCB5b3UgbWVhbiB0byBjYWxsIHJvb3QudW5tb3VudCgpPycpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcikge1xuICAgIHtcbiAgICAgIHZhciByb290RWwgPSBnZXRSZWFjdFJvb3RFbGVtZW50SW5Db250YWluZXIoY29udGFpbmVyKTtcbiAgICAgIHZhciByZW5kZXJlZEJ5RGlmZmVyZW50UmVhY3QgPSByb290RWwgJiYgIWdldEluc3RhbmNlRnJvbU5vZGUocm9vdEVsKTtcblxuICAgICAgaWYgKHJlbmRlcmVkQnlEaWZmZXJlbnRSZWFjdCkge1xuICAgICAgICBlcnJvcihcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcIiArICd3YXMgcmVuZGVyZWQgYnkgYW5vdGhlciBjb3B5IG9mIFJlYWN0LicpO1xuICAgICAgfVxuICAgIH0gLy8gVW5tb3VudCBzaG91bGQgbm90IGJlIGJhdGNoZWQuXG5cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBudWxsLCBjb250YWluZXIsIGZhbHNlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgVGhpcyBzaG91bGQgcHJvYmFibHkgdXNlIGBkZWxldGUgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXJgXG4gICAgICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gbnVsbDtcbiAgICAgICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XG4gICAgICB9KTtcbiAgICB9KTsgLy8gSWYgeW91IGNhbGwgdW5tb3VudENvbXBvbmVudEF0Tm9kZSB0d2ljZSBpbiBxdWljayBzdWNjZXNzaW9uLCB5b3UnbGxcbiAgICAvLyBnZXQgYHRydWVgIHR3aWNlLiBUaGF0J3MgcHJvYmFibHkgZmluZT9cblxuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHtcbiAgICAgIHZhciBfcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG5cbiAgICAgIHZhciBoYXNOb25Sb290UmVhY3RDaGlsZCA9ICEhKF9yb290RWwgJiYgZ2V0SW5zdGFuY2VGcm9tTm9kZShfcm9vdEVsKSk7IC8vIENoZWNrIGlmIHRoZSBjb250YWluZXIgaXRzZWxmIGlzIGEgUmVhY3Qgcm9vdCBub2RlLlxuXG4gICAgICB2YXIgaXNDb250YWluZXJSZWFjdFJvb3QgPSBjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiBpc1ZhbGlkQ29udGFpbmVyTGVnYWN5KGNvbnRhaW5lci5wYXJlbnROb2RlKSAmJiAhIWNvbnRhaW5lci5wYXJlbnROb2RlLl9yZWFjdFJvb3RDb250YWluZXI7XG5cbiAgICAgIGlmIChoYXNOb25Sb290UmVhY3RDaGlsZCkge1xuICAgICAgICBlcnJvcihcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcIiArICd3YXMgcmVuZGVyZWQgYnkgUmVhY3QgYW5kIGlzIG5vdCBhIHRvcC1sZXZlbCBjb250YWluZXIuICVzJywgaXNDb250YWluZXJSZWFjdFJvb3QgPyAnWW91IG1heSBoYXZlIGFjY2lkZW50YWxseSBwYXNzZWQgaW4gYSBSZWFjdCByb290IG5vZGUgaW5zdGVhZCAnICsgJ29mIGl0cyBjb250YWluZXIuJyA6ICdJbnN0ZWFkLCBoYXZlIHRoZSBwYXJlbnQgY29tcG9uZW50IHVwZGF0ZSBpdHMgc3RhdGUgYW5kICcgKyAncmVyZW5kZXIgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoaXMgY29tcG9uZW50LicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5zZXRBdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb24oYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uJDEpO1xuc2V0QXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24kMSk7XG5zZXRBdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkoYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5JDEpO1xuc2V0R2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSk7XG5zZXRBdHRlbXB0SHlkcmF0aW9uQXRQcmlvcml0eShydW5XaXRoUHJpb3JpdHkpO1xuXG57XG4gIGlmICh0eXBlb2YgTWFwICE9PSAnZnVuY3Rpb24nIHx8IC8vICRGbG93SXNzdWUgRmxvdyBpbmNvcnJlY3RseSB0aGlua3MgTWFwIGhhcyBubyBwcm90b3R5cGVcbiAgTWFwLnByb3RvdHlwZSA9PSBudWxsIHx8IHR5cGVvZiBNYXAucHJvdG90eXBlLmZvckVhY2ggIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIFNldCAhPT0gJ2Z1bmN0aW9uJyB8fCAvLyAkRmxvd0lzc3VlIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFNldCBoYXMgbm8gcHJvdG90eXBlXG4gIFNldC5wcm90b3R5cGUgPT0gbnVsbCB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5jbGVhciAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5mb3JFYWNoICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgZXJyb3IoJ1JlYWN0IGRlcGVuZHMgb24gTWFwIGFuZCBTZXQgYnVpbHQtaW4gdHlwZXMuIE1ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGEgJyArICdwb2x5ZmlsbCBpbiBvbGRlciBicm93c2Vycy4gaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3JlYWN0LXBvbHlmaWxscycpO1xuICB9XG59XG5cbnNldFJlc3RvcmVJbXBsZW1lbnRhdGlvbihyZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMpO1xuc2V0QmF0Y2hpbmdJbXBsZW1lbnRhdGlvbihiYXRjaGVkVXBkYXRlcyQxLCBkaXNjcmV0ZVVwZGF0ZXMsIGZsdXNoU3luYyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVBvcnRhbCQxKGNoaWxkcmVuLCBjb250YWluZXIpIHtcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogbnVsbDtcblxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGFyZ2V0IGNvbnRhaW5lciBpcyBub3QgYSBET00gZWxlbWVudC4nKTtcbiAgfSAvLyBUT0RPOiBwYXNzIFJlYWN0RE9NIHBvcnRhbCBpbXBsZW1lbnRhdGlvbiBhcyB0aGlyZCBhcmd1bWVudFxuICAvLyAkRmxvd0ZpeE1lIFRoZSBGbG93IHR5cGUgaXMgb3BhcXVlIGJ1dCB0aGVyZSdzIG5vIHdheSB0byBhY3R1YWxseSBjcmVhdGUgaXQuXG5cblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBjb250YWluZXIsIG51bGwsIGtleSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAgcmV0dXJuIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spO1xufVxuXG52YXIgSW50ZXJuYWxzID0ge1xuICB1c2luZ0NsaWVudEVudHJ5UG9pbnQ6IGZhbHNlLFxuICAvLyBLZWVwIGluIHN5bmMgd2l0aCBSZWFjdFRlc3RVdGlscy5qcy5cbiAgLy8gVGhpcyBpcyBhbiBhcnJheSBmb3IgYmV0dGVyIG1pbmlmaWNhdGlvbi5cbiAgRXZlbnRzOiBbZ2V0SW5zdGFuY2VGcm9tTm9kZSwgZ2V0Tm9kZUZyb21JbnN0YW5jZSwgZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZSwgZW5xdWV1ZVN0YXRlUmVzdG9yZSwgcmVzdG9yZVN0YXRlSWZOZWVkZWQsIGJhdGNoZWRVcGRhdGVzJDFdXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVSb290JDEoY29udGFpbmVyLCBvcHRpb25zKSB7XG4gIHtcbiAgICBpZiAoIUludGVybmFscy51c2luZ0NsaWVudEVudHJ5UG9pbnQgJiYgIWZhbHNlKSB7XG4gICAgICBlcnJvcignWW91IGFyZSBpbXBvcnRpbmcgY3JlYXRlUm9vdCBmcm9tIFwicmVhY3QtZG9tXCIgd2hpY2ggaXMgbm90IHN1cHBvcnRlZC4gJyArICdZb3Ugc2hvdWxkIGluc3RlYWQgaW1wb3J0IGl0IGZyb20gXCJyZWFjdC1kb20vY2xpZW50XCIuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVJvb3QoY29udGFpbmVyLCBvcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gaHlkcmF0ZVJvb3QkMShjb250YWluZXIsIGluaXRpYWxDaGlsZHJlbiwgb3B0aW9ucykge1xuICB7XG4gICAgaWYgKCFJbnRlcm5hbHMudXNpbmdDbGllbnRFbnRyeVBvaW50ICYmICFmYWxzZSkge1xuICAgICAgZXJyb3IoJ1lvdSBhcmUgaW1wb3J0aW5nIGh5ZHJhdGVSb290IGZyb20gXCJyZWFjdC1kb21cIiB3aGljaCBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1lvdSBzaG91bGQgaW5zdGVhZCBpbXBvcnQgaXQgZnJvbSBcInJlYWN0LWRvbS9jbGllbnRcIi4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaHlkcmF0ZVJvb3QoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIG9wdGlvbnMpO1xufSAvLyBPdmVybG9hZCB0aGUgZGVmaW5pdGlvbiB0byB0aGUgdHdvIHZhbGlkIHNpZ25hdHVyZXMuXG4vLyBXYXJuaW5nLCB0aGlzIG9wdHMtb3V0IG9mIGNoZWNraW5nIHRoZSBmdW5jdGlvbiBib2R5LlxuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmZ1bmN0aW9uIGZsdXNoU3luYyQxKGZuKSB7XG4gIHtcbiAgICBpZiAoaXNBbHJlYWR5UmVuZGVyaW5nKCkpIHtcbiAgICAgIGVycm9yKCdmbHVzaFN5bmMgd2FzIGNhbGxlZCBmcm9tIGluc2lkZSBhIGxpZmVjeWNsZSBtZXRob2QuIFJlYWN0IGNhbm5vdCAnICsgJ2ZsdXNoIHdoZW4gUmVhY3QgaXMgYWxyZWFkeSByZW5kZXJpbmcuIENvbnNpZGVyIG1vdmluZyB0aGlzIGNhbGwgdG8gJyArICdhIHNjaGVkdWxlciB0YXNrIG9yIG1pY3JvIHRhc2suJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZsdXNoU3luYyhmbik7XG59XG52YXIgZm91bmREZXZUb29scyA9IGluamVjdEludG9EZXZUb29scyh7XG4gIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOiBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSxcbiAgYnVuZGxlVHlwZTogIDEgLFxuICB2ZXJzaW9uOiBSZWFjdFZlcnNpb24sXG4gIHJlbmRlcmVyUGFja2FnZU5hbWU6ICdyZWFjdC1kb20nXG59KTtcblxue1xuICBpZiAoIWZvdW5kRGV2VG9vbHMgJiYgY2FuVXNlRE9NICYmIHdpbmRvdy50b3AgPT09IHdpbmRvdy5zZWxmKSB7XG4gICAgLy8gSWYgd2UncmUgaW4gQ2hyb21lIG9yIEZpcmVmb3gsIHByb3ZpZGUgYSBkb3dubG9hZCBsaW5rIGlmIG5vdCBpbnN0YWxsZWQuXG4gICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignQ2hyb21lJykgPiAtMSAmJiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0VkZ2UnKSA9PT0gLTEgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdGaXJlZm94JykgPiAtMSkge1xuICAgICAgdmFyIHByb3RvY29sID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sOyAvLyBEb24ndCB3YXJuIGluIGV4b3RpYyBjYXNlcyBsaWtlIGNocm9tZS1leHRlbnNpb246Ly8uXG5cbiAgICAgIGlmICgvXihodHRwcz98ZmlsZSk6JC8udGVzdChwcm90b2NvbCkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuICAgICAgICBjb25zb2xlLmluZm8oJyVjRG93bmxvYWQgdGhlIFJlYWN0IERldlRvb2xzICcgKyAnZm9yIGEgYmV0dGVyIGRldmVsb3BtZW50IGV4cGVyaWVuY2U6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3JlYWN0LWRldnRvb2xzJyArIChwcm90b2NvbCA9PT0gJ2ZpbGU6JyA/ICdcXG5Zb3UgbWlnaHQgbmVlZCB0byB1c2UgYSBsb2NhbCBIVFRQIHNlcnZlciAoaW5zdGVhZCBvZiBmaWxlOi8vKTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVhY3QtZGV2dG9vbHMtZmFxJyA6ICcnKSwgJ2ZvbnQtd2VpZ2h0OmJvbGQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9IEludGVybmFscztcbmV4cG9ydHMuY3JlYXRlUG9ydGFsID0gY3JlYXRlUG9ydGFsJDE7XG5leHBvcnRzLmNyZWF0ZVJvb3QgPSBjcmVhdGVSb290JDE7XG5leHBvcnRzLmZpbmRET01Ob2RlID0gZmluZERPTU5vZGU7XG5leHBvcnRzLmZsdXNoU3luYyA9IGZsdXNoU3luYyQxO1xuZXhwb3J0cy5oeWRyYXRlID0gaHlkcmF0ZTtcbmV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBoeWRyYXRlUm9vdCQxO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnVubW91bnRDb21wb25lbnRBdE5vZGUgPSB1bm1vdW50Q29tcG9uZW50QXROb2RlO1xuZXhwb3J0cy51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyA9IGJhdGNoZWRVcGRhdGVzJDE7XG5leHBvcnRzLnVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyID0gcmVuZGVyU3VidHJlZUludG9Db250YWluZXI7XG5leHBvcnRzLnZlcnNpb24gPSBSZWFjdFZlcnNpb247XG4gICAgICAgICAgLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdG9wID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AobmV3IEVycm9yKCkpO1xufVxuICAgICAgICBcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/client.js": -/*!******************************************!*\ - !*** ./node_modules/react-dom/client.js ***! - \******************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar m = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nif (false) {} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2NsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixRQUFRLG1CQUFPLENBQUMsb0RBQVc7QUFDM0IsSUFBSSxLQUFxQyxFQUFFLEVBRzFDLENBQUM7QUFDRjtBQUNBLEVBQUUsa0JBQWtCO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFtQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9jbGllbnQuanM/YWY4MSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBtID0gcmVxdWlyZSgncmVhY3QtZG9tJyk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBleHBvcnRzLmNyZWF0ZVJvb3QgPSBtLmNyZWF0ZVJvb3Q7XG4gIGV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBtLmh5ZHJhdGVSb290O1xufSBlbHNlIHtcbiAgdmFyIGkgPSBtLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuICBleHBvcnRzLmNyZWF0ZVJvb3QgPSBmdW5jdGlvbihjLCBvKSB7XG4gICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbS5jcmVhdGVSb290KGMsIG8pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcbiAgZXhwb3J0cy5oeWRyYXRlUm9vdCA9IGZ1bmN0aW9uKGMsIGgsIG8pIHtcbiAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBtLmh5ZHJhdGVSb290KGMsIGgsIG8pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/client.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/index.js": -/*!*****************************************!*\ - !*** ./node_modules/react-dom/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (true) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ \"./node_modules/react-dom/cjs/react-dom.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUksS0FBcUMsRUFBRSxFQUsxQyxDQUFDO0FBQ0YsRUFBRSxtSUFBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9pbmRleC5qcz83NzIyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gY2hlY2tEQ0UoKSB7XG4gIC8qIGdsb2JhbCBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gKi9cbiAgaWYgKFxuICAgIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnIHx8XG4gICAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSAhPT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAvLyBUaGlzIGJyYW5jaCBpcyB1bnJlYWNoYWJsZSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWRcbiAgICAvLyBpbiBwcm9kdWN0aW9uLCBidXQgdGhlIGNvbmRpdGlvbiBpcyB0cnVlIG9ubHkgaW4gZGV2ZWxvcG1lbnQuXG4gICAgLy8gVGhlcmVmb3JlIGlmIHRoZSBicmFuY2ggaXMgc3RpbGwgaGVyZSwgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdhc24ndFxuICAgIC8vIHByb3Blcmx5IGFwcGxpZWQuXG4gICAgLy8gRG9uJ3QgY2hhbmdlIHRoZSBtZXNzYWdlLiBSZWFjdCBEZXZUb29scyByZWxpZXMgb24gaXQuIEFsc28gbWFrZSBzdXJlXG4gICAgLy8gdGhpcyBtZXNzYWdlIGRvZXNuJ3Qgb2NjdXIgZWxzZXdoZXJlIGluIHRoaXMgZnVuY3Rpb24sIG9yIGl0IHdpbGwgY2F1c2VcbiAgICAvLyBhIGZhbHNlIHBvc2l0aXZlLlxuICAgIHRocm93IG5ldyBFcnJvcignXl9eJyk7XG4gIH1cbiAgdHJ5IHtcbiAgICAvLyBWZXJpZnkgdGhhdCB0aGUgY29kZSBhYm92ZSBoYXMgYmVlbiBkZWFkIGNvZGUgZWxpbWluYXRlZCAoRENFJ2QpLlxuICAgIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShjaGVja0RDRSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIERldlRvb2xzIHNob3VsZG4ndCBjcmFzaCBSZWFjdCwgbm8gbWF0dGVyIHdoYXQuXG4gICAgLy8gV2Ugc2hvdWxkIHN0aWxsIHJlcG9ydCBpbiBjYXNlIHdlIGJyZWFrIHRoaXMgY29kZS5cbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gIH1cbn1cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgLy8gRENFIGNoZWNrIHNob3VsZCBoYXBwZW4gYmVmb3JlIFJlYWN0RE9NIGJ1bmRsZSBleGVjdXRlcyBzbyB0aGF0XG4gIC8vIERldlRvb2xzIGNhbiByZXBvcnQgYmFkIG1pbmlmaWNhdGlvbiBkdXJpbmcgaW5qZWN0aW9uLlxuICBjaGVja0RDRSgpO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react/cjs/react-jsx-runtime.development.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react/cjs/react-jsx-runtime.development.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-runtime.development.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\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7O0FBRUEsWUFBWSxtQkFBTyxDQUFDLDRDQUFPOztBQUUzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7O0FBRUEsZ0NBQWdDOztBQUVoQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FB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Q0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkhBQTJIO0FBQzNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsb0VBQW9FOztBQUVwRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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RUE7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHFCQUFxQjtBQUNqRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7QUFDdEM7O0FBRUE7O0FBRUEsZ0JBQWdCO0FBQ2hCLFdBQVc7QUFDWCxZQUFZO0FBQ1osR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC9janMvcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanM/MmZjMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1qc3gtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7XG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubGF6eScpO1xudmFyIFJFQUNUX09GRlNDUkVFTl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Qub2Zmc2NyZWVuJyk7XG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIHtcbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcobGV2ZWwsIGZvcm1hdCwgYXJncykge1xuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cbiAgLy8gdXBkYXRlIGNvbnNvbGVXaXRoU3RhY2tEZXYud3d3LmpzIGFzIHdlbGwuXG4gIHtcbiAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICBpZiAoc3RhY2sgIT09ICcnKSB7XG4gICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtKTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRTtcblxue1xuICBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QubW9kdWxlLnJlZmVyZW5jZScpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkge1xuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gTm90ZTogdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgKGUuZy4gaWYgaXQncyBhIHBvbHlmaWxsKS5cblxuXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgZW5hYmxlRGVidWdUcmFjaW5nICB8fCB0eXBlID09PSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFIHx8IGVuYWJsZUxlZ2FjeUhpZGRlbiAgfHwgdHlwZSA9PT0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgfHwgZW5hYmxlU2NvcGVBUEkgIHx8IGVuYWJsZUNhY2hlRWxlbWVudCAgfHwgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICBpZiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFIHx8IHR5cGUuZ2V0TW9kdWxlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbnZhciByZWVudHJ5ID0gZmFsc2U7XG52YXIgY29tcG9uZW50RnJhbWVDYWNoZTtcblxue1xuICB2YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwO1xuICBjb21wb25lbnRGcmFtZUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICggIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICB2YXIgY29udHJvbDtcbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWUgSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7IC8vIFNldCB0aGUgZGlzcGF0Y2hlciBpbiBERVYgYmVjYXVzZSB0aGlzIG1pZ2h0IGJlIGNhbGwgaW4gdGhlIHJlbmRlciBmdW5jdGlvblxuICAgIC8vIGZvciB3YXJuaW5ncy5cblxuICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgZmFsc2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcbiAgdmFyIHByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4gIHJldHVybiAhIShwcm90b3R5cGUgJiYgcHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSwgc291cmNlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgc291cmNlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBzb3VyY2UsIG93bmVyRm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbnZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZWxlbWVudCkge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZSBUaGlzIGlzIG9rYXkgYnV0IEZsb3cgZG9lc24ndCBrbm93IGl0LlxuICAgIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoaGFzT3duUHJvcGVydHkpO1xuXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yJDEgPSB2b2lkIDA7IC8vIFByb3AgdHlwZSB2YWxpZGF0aW9uIG1heSB0aHJvdy4gSW4gY2FzZSB0aGV5IGRvLCB3ZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIGZhaWwgdGhlIHJlbmRlciBwaGFzZSB3aGVyZSBpdCBkaWRuJ3QgZmFpbCBiZWZvcmUuIFNvIHdlIGxvZyBpdC5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYXMgd2l0aG91dCB0aGlzIHN0YXRlbWVudCBleGNlcHQgd2l0aCBhIGJldHRlciBtZXNzYWdlLlxuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgICB2YXIgZXJyID0gRXJyb3IoKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyAnICsgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICsgJ2AuJyArICdUaGlzIG9mdGVuIGhhcHBlbnMgYmVjYXVzZSBvZiB0eXBvcyBzdWNoIGFzIGBQcm9wVHlwZXMuZnVuY3Rpb25gIGluc3RlYWQgb2YgYFByb3BUeXBlcy5mdW5jYC4nKTtcbiAgICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVycm9yJDEgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCcpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgIGVycm9yJDEgPSBleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxICYmICEoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJXMnICsgJyBgJXNgIGlzIGludmFsaWQ7IHRoZSB0eXBlIGNoZWNrZXIgJyArICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAlcy4gJyArICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICsgJ2NyZWF0b3IgKGFycmF5T2YsIGluc3RhbmNlT2YsIG9iamVjdE9mLCBvbmVPZiwgb25lT2ZUeXBlLCBhbmQgJyArICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJywgY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnLCBsb2NhdGlvbiwgdHlwZVNwZWNOYW1lLCB0eXBlb2YgZXJyb3IkMSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvciQxLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yJDEubWVzc2FnZV0gPSB0cnVlO1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJ0ZhaWxlZCAlcyB0eXBlOiAlcycsIGxvY2F0aW9uLCBlcnJvciQxLm1lc3NhZ2UpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vKlxuICogVGhlIGAnJyArIHZhbHVlYCBwYXR0ZXJuICh1c2VkIGluIGluIHBlcmYtc2Vuc2l0aXZlIGNvZGUpIHRocm93cyBmb3IgU3ltYm9sXG4gKiBhbmQgVGVtcG9yYWwuKiB0eXBlcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzIyMDY0LlxuICpcbiAqIFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlYXNpZXItdG8tdW5kZXJzdGFuZCxcbiAqIGVhc2llci10by1kZWJ1ZyBleGNlcHRpb24gd2l0aCBhIGNsZWFyIGVycm9ycyBtZXNzYWdlIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGVcbiAqIHByb2JsZW0uIChJbnN0ZWFkIG9mIGEgY29uZnVzaW5nIGV4Y2VwdGlvbiB0aHJvd24gaW5zaWRlIHRoZSBpbXBsZW1lbnRhdGlvblxuICogb2YgdGhlIGB2YWx1ZWAgb2JqZWN0KS5cbiAqL1xuLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cbmZ1bmN0aW9uIHR5cGVOYW1lKHZhbHVlKSB7XG4gIHtcbiAgICAvLyB0b1N0cmluZ1RhZyBpcyBuZWVkZWQgZm9yIG5hbWVzcGFjZWQgdHlwZXMgbGlrZSBUZW1wb3JhbC5JbnN0YW50XG4gICAgdmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wudG9TdHJpbmdUYWc7XG4gICAgdmFyIHR5cGUgPSBoYXNUb1N0cmluZ1RhZyAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIHx8IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHwgJ09iamVjdCc7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciBlbGVtZW50ID0ge1xuICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgLy8gQnVpbHQtaW4gcHJvcGVydGllcyB0aGF0IGJlbG9uZyBvbiB0aGUgZWxlbWVudFxuICAgIHR5cGU6IHR5cGUsXG4gICAga2V5OiBrZXksXG4gICAgcmVmOiByZWYsXG4gICAgcHJvcHM6IHByb3BzLFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgX293bmVyOiBvd25lclxuICB9O1xuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gc2VsZiBhbmQgc291cmNlIGFyZSBERVYgb25seSBwcm9wZXJ0aWVzLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzZWxmXG4gICAgfSk7IC8vIFR3byBlbGVtZW50cyBjcmVhdGVkIGluIHR3byBkaWZmZXJlbnQgcGxhY2VzIHNob3VsZCBiZSBjb25zaWRlcmVkXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zb3VyY2UnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc291cmNlXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59O1xuLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZmNzL3B1bGwvMTA3XG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICovXG5cbmZ1bmN0aW9uIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gICAgdmFyIHByb3BzID0ge307XG4gICAgdmFyIGtleSA9IG51bGw7XG4gICAgdmFyIHJlZiA9IG51bGw7IC8vIEN1cnJlbnRseSwga2V5IGNhbiBiZSBzcHJlYWQgaW4gYXMgYSBwcm9wLiBUaGlzIGNhdXNlcyBhIHBvdGVudGlhbFxuICAgIC8vIGlzc3VlIGlmIGtleSBpcyBhbHNvIGV4cGxpY2l0bHkgZGVjbGFyZWQgKGllLiA8ZGl2IHsuLi5wcm9wc30ga2V5PVwiSGlcIiAvPlxuICAgIC8vIG9yIDxkaXYga2V5PVwiSGlcIiB7Li4ucHJvcHN9IC8+ICkuIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGtleSBzcHJlYWQsXG4gICAgLy8gYnV0IGFzIGFuIGludGVybWVkaWFyeSBzdGVwLCB3ZSB3aWxsIHVzZSBqc3hERVYgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0XG4gICAgLy8gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz4sIGJlY2F1c2Ugd2UgYXJlbid0IGN1cnJlbnRseSBhYmxlIHRvIHRlbGwgaWZcbiAgICAvLyBrZXkgaXMgZXhwbGljaXRseSBkZWNsYXJlZCB0byBiZSB1bmRlZmluZWQgb3Igbm90LlxuXG4gICAgaWYgKG1heWJlS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihtYXliZUtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgbWF5YmVLZXk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZik7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gICAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICB2YXIgc3RhY2sgPSBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoZWxlbWVudC50eXBlLCBlbGVtZW50Ll9zb3VyY2UsIG93bmVyID8gb3duZXIudHlwZSA6IG51bGwpO1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKSB7XG4gIHtcbiAgICBpZiAoc291cmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcL10vLCAnJyk7XG4gICAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB5b3VyIGNvZGUgYXQgJyArIGZpbGVOYW1lICsgJzonICsgbGluZU51bWJlciArICcuJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gdHlwZW9mIHBhcmVudFR5cGUgPT09ICdzdHJpbmcnID8gcGFyZW50VHlwZSA6IHBhcmVudFR5cGUuZGlzcGxheU5hbWUgfHwgcGFyZW50VHlwZS5uYW1lO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10gPSB0cnVlOyAvLyBVc3VhbGx5IHRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBvZmZlbmRlciwgYnV0IGlmIGl0IGFjY2VwdHMgY2hpbGRyZW4gYXMgYVxuICAgIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgICB2YXIgY2hpbGRPd25lciA9ICcnO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICh0eXBlb2Ygbm9kZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZSkge1xuICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRW50cnkgaXRlcmF0b3JzIHVzZWQgdG8gcHJvdmlkZSBpbXBsaWNpdCBrZXlzLFxuICAgICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChub2RlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uKHR5cGUsIHByb3BzLCBrZXksIGlzU3RhdGljQ2hpbGRyZW4sIHNvdXJjZSwgc2VsZikge1xuICB7XG4gICAgdmFyIHZhbGlkVHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKTsgLy8gV2Ugd2FybiBpbiB0aGlzIGNhc2UgYnV0IGRvbid0IHRocm93LiBXZSBleHBlY3QgdGhlIGVsZW1lbnQgY3JlYXRpb24gdG9cbiAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuXG4gICAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciBzb3VyY2VJbmZvID0gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKTtcblxuICAgICAgaWYgKHNvdXJjZUluZm8pIHtcbiAgICAgICAgaW5mbyArPSBzb3VyY2VJbmZvO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgc291cmNlLCBzZWxmKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cbiAgICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAgIC8vIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmQgcHJvZC5cbiAgICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAgIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gICAgaWYgKHZhbGlkVHlwZSkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIGlmIChjaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuW2ldLCB0eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCdSZWFjdC5qc3g6IFN0YXRpYyBjaGlsZHJlbiBzaG91bGQgYWx3YXlzIGJlIGFuIGFycmF5LiAnICsgJ1lvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gJyArICdVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbiwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgdmFsaWRhdGVGcmFnbWVudFByb3BzKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufSAvLyBUaGVzZSB0d28gZnVuY3Rpb25zIGV4aXN0IHRvIHN0aWxsIGdldCBjaGlsZCB3YXJuaW5ncyBpbiBkZXZcbi8vIGV2ZW4gd2l0aCB0aGUgcHJvZCB0cmFuc2Zvcm0uIFRoaXMgbWVhbnMgdGhhdCBqc3hERVYgaXMgcHVyZWx5XG4vLyBvcHQtaW4gYmVoYXZpb3IgZm9yIGJldHRlciBtZXNzYWdlcyBidXQgdGhhdCB3ZSB3b24ndCBzdG9wXG4vLyBnaXZpbmcgeW91IHdhcm5pbmdzIGlmIHlvdSB1c2UgcHJvZHVjdGlvbiBhcGlzLlxuXG5mdW5jdGlvbiBqc3hXaXRoVmFsaWRhdGlvblN0YXRpYyh0eXBlLCBwcm9wcywga2V5KSB7XG4gIHtcbiAgICByZXR1cm4ganN4V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGtleSwgdHJ1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uRHluYW1pYyh0eXBlLCBwcm9wcywga2V5KSB7XG4gIHtcbiAgICByZXR1cm4ganN4V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGtleSwgZmFsc2UpO1xuICB9XG59XG5cbnZhciBqc3ggPSAganN4V2l0aFZhbGlkYXRpb25EeW5hbWljIDsgLy8gd2UgbWF5IHdhbnQgdG8gc3BlY2lhbCBjYXNlIGpzeHMgaW50ZXJuYWxseSB0byB0YWtlIGFkdmFudGFnZSBvZiBzdGF0aWMgY2hpbGRyZW4uXG4vLyBmb3Igbm93IHdlIGNhbiBzaGlwIGlkZW50aWNhbCBwcm9kIGZ1bmN0aW9uc1xuXG52YXIganN4cyA9ICBqc3hXaXRoVmFsaWRhdGlvblN0YXRpYyA7XG5cbmV4cG9ydHMuRnJhZ21lbnQgPSBSRUFDVF9GUkFHTUVOVF9UWVBFO1xuZXhwb3J0cy5qc3ggPSBqc3g7XG5leHBvcnRzLmpzeHMgPSBqc3hzO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react-jsx-runtime.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react/cjs/react.development.js": -/*!*****************************************************!*\ - !*** ./node_modules/react/cjs/react.development.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * @license React\n * react.development.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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDs7QUFFQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsNEJBQTRCO0FBQzVCO0FBQ0EscUNBQXFDOztBQUVyQyxnQ0FBZ0M7QUFDaEM7QUFDQTs7QUFFQSxnQ0FBZ0M7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkZBQTZGLGFBQWE7QUFDMUc7QUFDQTs7QUFF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Q0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsZUFBZTtBQUMxQixXQUFXLEdB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QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1COztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLElBQUk7QUFDbkQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLElBQUk7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0EsU0FBUztBQUNULHVCQUF1QjtBQUN2QjtBQUNBLFNBQVM7QUFDVCx1QkFBdUI7QUFDdkI7QUFDQSxTQUFTO0FBQ1Qsd0JBQXdCO0FBQ3hCO0FBQ0EsU0FBUztBQUNU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QTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNEQUFzRDtBQUN0RDs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixzQkFBc0I7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0EsbUNBQW1DO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQztBQUNBOztBQUVBLDBPQUEwTztBQUMxTztBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOLGdDQUFnQztBQUNoQzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULFFBQVE7QUFDUjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWUsa0JBQWtCO0FBQ2pDOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCO0FBQ2hCLGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsZ0JBQWdCO0FBQ2hCLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLDBEQUEwRDtBQUMxRCxvQkFBb0I7QUFDcEIscUJBQXFCO0FBQ3JCLHFCQUFxQjtBQUNyQixxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsWUFBWTtBQUNaLFlBQVk7QUFDWix1QkFBdUI7QUFDdkIsb0JBQW9CO0FBQ3BCLG1CQUFtQjtBQUNuQixrQkFBa0I7QUFDbEIscUJBQXFCO0FBQ3JCLHdCQUF3QjtBQUN4QixpQkFBaUI7QUFDakIsYUFBYTtBQUNiLDJCQUEyQjtBQUMzQiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLGVBQWU7QUFDZixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGdCQUFnQjtBQUNoQiw0QkFBNEI7QUFDNUIscUJBQXFCO0FBQ3JCLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcz8xYjdlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcblxuICAgICAgICAgICd1c2Ugc3RyaWN0JztcblxuLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydCA9PT1cbiAgICAnZnVuY3Rpb24nXG4pIHtcbiAgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgICAgdmFyIFJlYWN0VmVyc2lvbiA9ICcxOC4yLjAnO1xuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IGRpc3BhdGNoZXIuXG4gKi9cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbi8qKlxuICogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgYmF0Y2gncyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgaG93IGxvbmcgYW4gdXBkYXRlXG4gKiBzaG91bGQgc3VzcGVuZCBmb3IgaWYgaXQgbmVlZHMgdG8uXG4gKi9cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IHtcbiAgdHJhbnNpdGlvbjogbnVsbFxufTtcblxudmFyIFJlYWN0Q3VycmVudEFjdFF1ZXVlID0ge1xuICBjdXJyZW50OiBudWxsLFxuICAvLyBVc2VkIHRvIHJlcHJvZHVjZSBiZWhhdmlvciBvZiBgYmF0Y2hlZFVwZGF0ZXNgIGluIGxlZ2FjeSBtb2RlLlxuICBpc0JhdGNoaW5nTGVnYWN5OiBmYWxzZSxcbiAgZGlkU2NoZWR1bGVMZWdhY3lVcGRhdGU6IGZhbHNlXG59O1xuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IG93bmVyLlxuICpcbiAqIFRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBjb21wb25lbnQgd2hvIHNob3VsZCBvd24gYW55IGNvbXBvbmVudHMgdGhhdCBhcmVcbiAqIGN1cnJlbnRseSBiZWluZyBjb25zdHJ1Y3RlZC5cbiAqL1xudmFyIFJlYWN0Q3VycmVudE93bmVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0ge307XG52YXIgY3VycmVudEV4dHJhU3RhY2tGcmFtZSA9IG51bGw7XG5mdW5jdGlvbiBzZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spIHtcbiAge1xuICAgIGN1cnJlbnRFeHRyYVN0YWNrRnJhbWUgPSBzdGFjaztcbiAgfVxufVxuXG57XG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lID0gZnVuY3Rpb24gKHN0YWNrKSB7XG4gICAge1xuICAgICAgY3VycmVudEV4dHJhU3RhY2tGcmFtZSA9IHN0YWNrO1xuICAgIH1cbiAgfTsgLy8gU3RhY2sgaW1wbGVtZW50YXRpb24gaW5qZWN0ZWQgYnkgdGhlIGN1cnJlbnQgcmVuZGVyZXIuXG5cblxuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IG51bGw7XG5cbiAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBzdGFjayA9ICcnOyAvLyBBZGQgYW4gZXh0cmEgdG9wIGZyYW1lIHdoaWxlIGFuIGVsZW1lbnQgaXMgYmVpbmcgdmFsaWRhdGVkXG5cbiAgICBpZiAoY3VycmVudEV4dHJhU3RhY2tGcmFtZSkge1xuICAgICAgc3RhY2sgKz0gY3VycmVudEV4dHJhU3RhY2tGcmFtZTtcbiAgICB9IC8vIERlbGVnYXRlIHRvIHRoZSBpbmplY3RlZCByZW5kZXJlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxuXG5cbiAgICB2YXIgaW1wbCA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrO1xuXG4gICAgaWYgKGltcGwpIHtcbiAgICAgIHN0YWNrICs9IGltcGwoKSB8fCAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhY2s7XG4gIH07XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSB7XG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXI6IFJlYWN0Q3VycmVudERpc3BhdGNoZXIsXG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOiBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcbiAgUmVhY3RDdXJyZW50T3duZXI6IFJlYWN0Q3VycmVudE93bmVyXG59O1xuXG57XG4gIFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRBY3RRdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlO1xufVxuXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxuLy9cbi8vIEluIFBST0QgKG9yIGluIHBhY2thZ2VzIHdpdGhvdXQgYWNjZXNzIHRvIFJlYWN0IGludGVybmFscyksXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXG5cbmZ1bmN0aW9uIHdhcm4oZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ3dhcm4nLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50ID0ge307XG5cbmZ1bmN0aW9uIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICB2YXIgX2NvbnN0cnVjdG9yID0gcHVibGljSW5zdGFuY2UuY29uc3RydWN0b3I7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBfY29uc3RydWN0b3IgJiYgKF9jb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZSB8fCBfY29uc3RydWN0b3IubmFtZSkgfHwgJ1JlYWN0Q2xhc3MnO1xuICAgIHZhciB3YXJuaW5nS2V5ID0gY29tcG9uZW50TmFtZSArIFwiLlwiICsgY2FsbGVyTmFtZTtcblxuICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnRbd2FybmluZ0tleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlcnJvcihcIkNhbid0IGNhbGwgJXMgb24gYSBjb21wb25lbnQgdGhhdCBpcyBub3QgeWV0IG1vdW50ZWQuIFwiICsgJ1RoaXMgaXMgYSBuby1vcCwgYnV0IGl0IG1pZ2h0IGluZGljYXRlIGEgYnVnIGluIHlvdXIgYXBwbGljYXRpb24uICcgKyAnSW5zdGVhZCwgYXNzaWduIHRvIGB0aGlzLnN0YXRlYCBkaXJlY3RseSBvciBkZWZpbmUgYSBgc3RhdGUgPSB7fTtgICcgKyAnY2xhc3MgcHJvcGVydHkgd2l0aCB0aGUgZGVzaXJlZCBzdGF0ZSBpbiB0aGUgJXMgY29tcG9uZW50LicsIGNhbGxlck5hbWUsIGNvbXBvbmVudE5hbWUpO1xuXG4gICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50W3dhcm5pbmdLZXldID0gdHJ1ZTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIGlzIHRoZSBhYnN0cmFjdCBBUEkgZm9yIGFuIHVwZGF0ZSBxdWV1ZS5cbiAqL1xuXG5cbnZhciBSZWFjdE5vb3BVcGRhdGVRdWV1ZSA9IHtcbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGNvbXBvc2l0ZSBjb21wb25lbnQgaXMgbW91bnRlZC5cbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2Ugd2Ugd2FudCB0byB0ZXN0LlxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIG1vdW50ZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICogQHByb3RlY3RlZFxuICAgKiBAZmluYWxcbiAgICovXG4gIGlzTW91bnRlZDogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXG4gICAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXG4gICAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXG4gICAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIGNvbXBvbmVudCBpcyB1cGRhdGVkLlxuICAgKiBAcGFyYW0gez9zdHJpbmd9IGNhbGxlck5hbWUgbmFtZSBvZiB0aGUgY2FsbGluZyBmdW5jdGlvbiBpbiB0aGUgcHVibGljIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBlbnF1ZXVlRm9yY2VVcGRhdGU6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ2ZvcmNlVXBkYXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyBvciBgc2V0U3RhdGVgIHRvIG11dGF0ZSBzdGF0ZS5cbiAgICogWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxuICAgKlxuICAgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICAgKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB0aGF0IHNob3VsZCByZXJlbmRlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbXBsZXRlU3RhdGUgTmV4dCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBjYWxsZXJOYW1lIG5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZW5xdWV1ZVJlcGxhY2VTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjb21wbGV0ZVN0YXRlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xuICAgIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCAncmVwbGFjZVN0YXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBUaGlzIG9ubHkgZXhpc3RzIGJlY2F1c2UgX3BlbmRpbmdTdGF0ZSBpc1xuICAgKiBpbnRlcm5hbC4gVGhpcyBwcm92aWRlcyBhIG1lcmdpbmcgc3RyYXRlZ3kgdGhhdCBpcyBub3QgYXZhaWxhYmxlIHRvIGRlZXBcbiAgICogcHJvcGVydGllcyB3aGljaCBpcyBjb25mdXNpbmcuIFRPRE86IEV4cG9zZSBwZW5kaW5nU3RhdGUgb3IgZG9uJ3QgdXNlIGl0XG4gICAqIGR1cmluZyB0aGUgbWVyZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBOYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdzZXRTdGF0ZScpO1xuICB9XG59O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxudmFyIGVtcHR5T2JqZWN0ID0ge307XG5cbntcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eU9iamVjdCk7XG59XG4vKipcbiAqIEJhc2UgY2xhc3MgaGVscGVycyBmb3IgdGhlIHVwZGF0aW5nIHN0YXRlIG9mIGEgY29tcG9uZW50LlxuICovXG5cblxuZnVuY3Rpb24gQ29tcG9uZW50KHByb3BzLCBjb250ZXh0LCB1cGRhdGVyKSB7XG4gIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgdGhpcy5jb250ZXh0ID0gY29udGV4dDsgLy8gSWYgYSBjb21wb25lbnQgaGFzIHN0cmluZyByZWZzLCB3ZSB3aWxsIGFzc2lnbiBhIGRpZmZlcmVudCBvYmplY3QgbGF0ZXIuXG5cbiAgdGhpcy5yZWZzID0gZW1wdHlPYmplY3Q7IC8vIFdlIGluaXRpYWxpemUgdGhlIGRlZmF1bHQgdXBkYXRlciBidXQgdGhlIHJlYWwgb25lIGdldHMgaW5qZWN0ZWQgYnkgdGhlXG4gIC8vIHJlbmRlcmVyLlxuXG4gIHRoaXMudXBkYXRlciA9IHVwZGF0ZXIgfHwgUmVhY3ROb29wVXBkYXRlUXVldWU7XG59XG5cbkNvbXBvbmVudC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCA9IHt9O1xuLyoqXG4gKiBTZXRzIGEgc3Vic2V0IG9mIHRoZSBzdGF0ZS4gQWx3YXlzIHVzZSB0aGlzIHRvIG11dGF0ZVxuICogc3RhdGUuIFlvdSBzaG91bGQgdHJlYXQgYHRoaXMuc3RhdGVgIGFzIGltbXV0YWJsZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICogYWNjZXNzaW5nIGB0aGlzLnN0YXRlYCBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kIG1heSByZXR1cm4gdGhlIG9sZCB2YWx1ZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBjYWxscyB0byBgc2V0U3RhdGVgIHdpbGwgcnVuIHN5bmNocm9ub3VzbHksXG4gKiBhcyB0aGV5IG1heSBldmVudHVhbGx5IGJlIGJhdGNoZWQgdG9nZXRoZXIuICBZb3UgY2FuIHByb3ZpZGUgYW4gb3B0aW9uYWxcbiAqIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBjYWxsIHRvIHNldFN0YXRlIGlzIGFjdHVhbGx5XG4gKiBjb21wbGV0ZWQuXG4gKlxuICogV2hlbiBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIHRvIHNldFN0YXRlLCBpdCB3aWxsIGJlIGNhbGxlZCBhdCBzb21lIHBvaW50IGluXG4gKiB0aGUgZnV0dXJlIChub3Qgc3luY2hyb25vdXNseSkuIEl0IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIHVwIHRvIGRhdGVcbiAqIGNvbXBvbmVudCBhcmd1bWVudHMgKHN0YXRlLCBwcm9wcywgY29udGV4dCkuIFRoZXNlIHZhbHVlcyBjYW4gYmUgZGlmZmVyZW50XG4gKiBmcm9tIHRoaXMuKiBiZWNhdXNlIHlvdXIgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBhZnRlciByZWNlaXZlUHJvcHMgYnV0IGJlZm9yZVxuICogc2hvdWxkQ29tcG9uZW50VXBkYXRlLCBhbmQgdGhpcyBuZXcgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCB3aWxsIG5vdCB5ZXQgYmVcbiAqIGFzc2lnbmVkIHRvIHRoaXMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R8ZnVuY3Rpb259IHBhcnRpYWxTdGF0ZSBOZXh0IHBhcnRpYWwgc3RhdGUgb3IgZnVuY3Rpb24gdG9cbiAqICAgICAgICBwcm9kdWNlIG5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBjdXJyZW50IHN0YXRlLlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBzdGF0ZSBpcyB1cGRhdGVkLlxuICogQGZpbmFsXG4gKiBAcHJvdGVjdGVkXG4gKi9cblxuQ29tcG9uZW50LnByb3RvdHlwZS5zZXRTdGF0ZSA9IGZ1bmN0aW9uIChwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnb2JqZWN0JyAmJiB0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnZnVuY3Rpb24nICYmIHBhcnRpYWxTdGF0ZSAhPSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhICcgKyAnZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLicpO1xuICB9XG5cbiAgdGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcbn07XG4vKipcbiAqIEZvcmNlcyBhbiB1cGRhdGUuIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aGVuIGl0IGlzIGtub3duIHdpdGhcbiAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICpcbiAqIFlvdSBtYXkgd2FudCB0byBjYWxsIHRoaXMgd2hlbiB5b3Uga25vdyB0aGF0IHNvbWUgZGVlcGVyIGFzcGVjdCBvZiB0aGVcbiAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICpcbiAqIFRoaXMgd2lsbCBub3QgaW52b2tlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgLCBidXQgaXQgd2lsbCBpbnZva2VcbiAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gKlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciB1cGRhdGUgaXMgY29tcGxldGUuXG4gKiBAZmluYWxcbiAqIEBwcm90ZWN0ZWRcbiAqL1xuXG5cbkNvbXBvbmVudC5wcm90b3R5cGUuZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLCBjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG59O1xuLyoqXG4gKiBEZXByZWNhdGVkIEFQSXMuIFRoZXNlIEFQSXMgdXNlZCB0byBleGlzdCBvbiBjbGFzc2ljIFJlYWN0IGNsYXNzZXMgYnV0IHNpbmNlXG4gKiB3ZSB3b3VsZCBsaWtlIHRvIGRlcHJlY2F0ZSB0aGVtLCB3ZSdyZSBub3QgZ29pbmcgdG8gbW92ZSB0aGVtIG92ZXIgdG8gdGhpc1xuICogbW9kZXJuIGJhc2UgY2xhc3MuIEluc3RlYWQsIHdlIGRlZmluZSBhIGdldHRlciB0aGF0IHdhcm5zIGlmIGl0J3MgYWNjZXNzZWQuXG4gKi9cblxuXG57XG4gIHZhciBkZXByZWNhdGVkQVBJcyA9IHtcbiAgICBpc01vdW50ZWQ6IFsnaXNNb3VudGVkJywgJ0luc3RlYWQsIG1ha2Ugc3VyZSB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zIGFuZCBwZW5kaW5nIHJlcXVlc3RzIGluICcgKyAnY29tcG9uZW50V2lsbFVubW91bnQgdG8gcHJldmVudCBtZW1vcnkgbGVha3MuJ10sXG4gICAgcmVwbGFjZVN0YXRlOiBbJ3JlcGxhY2VTdGF0ZScsICdSZWZhY3RvciB5b3VyIGNvZGUgdG8gdXNlIHNldFN0YXRlIGluc3RlYWQgKHNlZSAnICsgJ2h0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMzIzNikuJ11cbiAgfTtcblxuICB2YXIgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nID0gZnVuY3Rpb24gKG1ldGhvZE5hbWUsIGluZm8pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29tcG9uZW50LnByb3RvdHlwZSwgbWV0aG9kTmFtZSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJyVzKC4uLikgaXMgZGVwcmVjYXRlZCBpbiBwbGFpbiBKYXZhU2NyaXB0IFJlYWN0IGNsYXNzZXMuICVzJywgaW5mb1swXSwgaW5mb1sxXSk7XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBmb3IgKHZhciBmbk5hbWUgaW4gZGVwcmVjYXRlZEFQSXMpIHtcbiAgICBpZiAoZGVwcmVjYXRlZEFQSXMuaGFzT3duUHJvcGVydHkoZm5OYW1lKSkge1xuICAgICAgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nKGZuTmFtZSwgZGVwcmVjYXRlZEFQSXNbZm5OYW1lXSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIENvbXBvbmVudER1bW15KCkge31cblxuQ29tcG9uZW50RHVtbXkucHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbi8qKlxuICogQ29udmVuaWVuY2UgY29tcG9uZW50IHdpdGggZGVmYXVsdCBzaGFsbG93IGVxdWFsaXR5IGNoZWNrIGZvciBzQ1UuXG4gKi9cblxuZnVuY3Rpb24gUHVyZUNvbXBvbmVudChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xuICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7IC8vIElmIGEgY29tcG9uZW50IGhhcyBzdHJpbmcgcmVmcywgd2Ugd2lsbCBhc3NpZ24gYSBkaWZmZXJlbnQgb2JqZWN0IGxhdGVyLlxuXG4gIHRoaXMucmVmcyA9IGVtcHR5T2JqZWN0O1xuICB0aGlzLnVwZGF0ZXIgPSB1cGRhdGVyIHx8IFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlO1xufVxuXG52YXIgcHVyZUNvbXBvbmVudFByb3RvdHlwZSA9IFB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudER1bW15KCk7XG5wdXJlQ29tcG9uZW50UHJvdG90eXBlLmNvbnN0cnVjdG9yID0gUHVyZUNvbXBvbmVudDsgLy8gQXZvaWQgYW4gZXh0cmEgcHJvdG90eXBlIGp1bXAgZm9yIHRoZXNlIG1ldGhvZHMuXG5cbmFzc2lnbihwdXJlQ29tcG9uZW50UHJvdG90eXBlLCBDb21wb25lbnQucHJvdG90eXBlKTtcbnB1cmVDb21wb25lbnRQcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuXG4vLyBhbiBpbW11dGFibGUgb2JqZWN0IHdpdGggYSBzaW5nbGUgbXV0YWJsZSB2YWx1ZVxuZnVuY3Rpb24gY3JlYXRlUmVmKCkge1xuICB2YXIgcmVmT2JqZWN0ID0ge1xuICAgIGN1cnJlbnQ6IG51bGxcbiAgfTtcblxuICB7XG4gICAgT2JqZWN0LnNlYWwocmVmT2JqZWN0KTtcbiAgfVxuXG4gIHJldHVybiByZWZPYmplY3Q7XG59XG5cbnZhciBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuZnVuY3Rpb24gaXNBcnJheShhKSB7XG4gIHJldHVybiBpc0FycmF5SW1wbChhKTtcbn1cblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cbmZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgUkVTRVJWRURfUFJPUFMgPSB7XG4gIGtleTogdHJ1ZSxcbiAgcmVmOiB0cnVlLFxuICBfX3NlbGY6IHRydWUsXG4gIF9fc291cmNlOiB0cnVlXG59O1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duLCBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biwgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcblxue1xuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkUmVmKGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAncmVmJykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ3JlZicpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcucmVmICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ2tleScpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcua2V5ICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAna2V5Jywge1xuICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYgPSBmdW5jdGlvbiAoKSB7XG4gICAge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgY29uZmlnLl9fc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gY29uZmlnLl9fc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGNvbXBvbmVudE5hbWUsIGNvbmZpZy5yZWYpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgUmVhY3QgZWxlbWVudC4gVGhpcyBubyBsb25nZXIgYWRoZXJlcyB0b1xuICogdGhlIGNsYXNzIHBhdHRlcm4sIHNvIGRvIG5vdCB1c2UgbmV3IHRvIGNhbGwgaXQuIEFsc28sIGluc3RhbmNlb2YgY2hlY2tcbiAqIHdpbGwgbm90IHdvcmsuIEluc3RlYWQgdGVzdCAkJHR5cGVvZiBmaWVsZCBhZ2FpbnN0IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSB0byBjaGVja1xuICogaWYgc29tZXRoaW5nIGlzIGEgUmVhY3QgRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7Kn0gcHJvcHNcbiAqIEBwYXJhbSB7Kn0ga2V5XG4gKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IHJlZlxuICogQHBhcmFtIHsqfSBvd25lclxuICogQHBhcmFtIHsqfSBzZWxmIEEgKnRlbXBvcmFyeSogaGVscGVyIHRvIGRldGVjdCBwbGFjZXMgd2hlcmUgYHRoaXNgIGlzXG4gKiBkaWZmZXJlbnQgZnJvbSB0aGUgYG93bmVyYCB3aGVuIFJlYWN0LmNyZWF0ZUVsZW1lbnQgaXMgY2FsbGVkLCBzbyB0aGF0IHdlXG4gKiBjYW4gd2Fybi4gV2Ugd2FudCB0byBnZXQgcmlkIG9mIG93bmVyIGFuZCByZXBsYWNlIHN0cmluZyBgcmVmYHMgd2l0aCBhcnJvd1xuICogZnVuY3Rpb25zLCBhbmQgYXMgbG9uZyBhcyBgdGhpc2AgYW5kIG93bmVyIGFyZSB0aGUgc2FtZSwgdGhlcmUgd2lsbCBiZSBub1xuICogY2hhbmdlIGluIGJlaGF2aW9yLlxuICogQHBhcmFtIHsqfSBzb3VyY2UgQW4gYW5ub3RhdGlvbiBvYmplY3QgKGFkZGVkIGJ5IGEgdHJhbnNwaWxlciBvciBvdGhlcndpc2UpXG4gKiBpbmRpY2F0aW5nIGZpbGVuYW1lLCBsaW5lIG51bWJlciwgYW5kL29yIG90aGVyIGluZm9ybWF0aW9uLlxuICogQGludGVybmFsXG4gKi9cblxuXG52YXIgUmVhY3RFbGVtZW50ID0gZnVuY3Rpb24gKHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIG93bmVyLCBwcm9wcykge1xuICB2YXIgZWxlbWVudCA9IHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvd3MgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IEVsZW1lbnRcbiAgICAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLFxuICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICB0eXBlOiB0eXBlLFxuICAgIGtleToga2V5LFxuICAgIHJlZjogcmVmLFxuICAgIHByb3BzOiBwcm9wcyxcbiAgICAvLyBSZWNvcmQgdGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhpcyBlbGVtZW50LlxuICAgIF9vd25lcjogb3duZXJcbiAgfTtcblxuICB7XG4gICAgLy8gVGhlIHZhbGlkYXRpb24gZmxhZyBpcyBjdXJyZW50bHkgbXV0YXRpdmUuIFdlIHB1dCBpdCBvblxuICAgIC8vIGFuIGV4dGVybmFsIGJhY2tpbmcgc3RvcmUgc28gdGhhdCB3ZSBjYW4gZnJlZXplIHRoZSB3aG9sZSBvYmplY3QuXG4gICAgLy8gVGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIFdlYWtNYXAgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZCBpblxuICAgIC8vIGNvbW1vbmx5IHVzZWQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzLlxuICAgIGVsZW1lbnQuX3N0b3JlID0ge307IC8vIFRvIG1ha2UgY29tcGFyaW5nIFJlYWN0RWxlbWVudHMgZWFzaWVyIGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB3ZSBtYWtlXG4gICAgLy8gdGhlIHZhbGlkYXRpb24gZmxhZyBub24tZW51bWVyYWJsZSAod2hlcmUgcG9zc2libGUsIHdoaWNoIHNob3VsZFxuICAgIC8vIGluY2x1ZGUgZXZlcnkgZW52aXJvbm1lbnQgd2UgcnVuIHRlc3RzIGluKSwgc28gdGhlIHRlc3QgZnJhbWV3b3JrXG4gICAgLy8gaWdub3JlcyBpdC5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50Ll9zdG9yZSwgJ3ZhbGlkYXRlZCcsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfSk7IC8vIHNlbGYgYW5kIHNvdXJjZSBhcmUgREVWIG9ubHkgcHJvcGVydGllcy5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NlbGYnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc2VsZlxuICAgIH0pOyAvLyBUd28gZWxlbWVudHMgY3JlYXRlZCBpbiB0d28gZGlmZmVyZW50IHBsYWNlcyBzaG91bGQgYmUgY29uc2lkZXJlZFxuICAgIC8vIGVxdWFsIGZvciB0ZXN0aW5nIHB1cnBvc2VzIGFuZCB0aGVyZWZvcmUgd2UgaGlkZSBpdCBmcm9tIGVudW1lcmF0aW9uLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc291cmNlJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHNvdXJjZVxuICAgIH0pO1xuXG4gICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudC5wcm9wcyk7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcbi8qKlxuICogQ3JlYXRlIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IG9mIHRoZSBnaXZlbiB0eXBlLlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjcmVhdGVlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0eXBlLCBjb25maWcsIGNoaWxkcmVuKSB7XG4gIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gIHZhciBwcm9wcyA9IHt9O1xuICB2YXIga2V5ID0gbnVsbDtcbiAgdmFyIHJlZiA9IG51bGw7XG4gIHZhciBzZWxmID0gbnVsbDtcbiAgdmFyIHNvdXJjZSA9IG51bGw7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIHJlZiA9IGNvbmZpZy5yZWY7XG5cbiAgICAgIHtcbiAgICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIHNlbGYgPSBjb25maWcuX19zZWxmID09PSB1bmRlZmluZWQgPyBudWxsIDogY29uZmlnLl9fc2VsZjtcbiAgICBzb3VyY2UgPSBjb25maWcuX19zb3VyY2UgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zb3VyY2U7IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9IC8vIENoaWxkcmVuIGNhbiBiZSBtb3JlIHRoYW4gb25lIGFyZ3VtZW50LCBhbmQgdGhvc2UgYXJlIHRyYW5zZmVycmVkIG9udG9cbiAgLy8gdGhlIG5ld2x5IGFsbG9jYXRlZCBwcm9wcyBvYmplY3QuXG5cblxuICB2YXIgY2hpbGRyZW5MZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoIC0gMjtcblxuICBpZiAoY2hpbGRyZW5MZW5ndGggPT09IDEpIHtcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB9IGVsc2UgaWYgKGNoaWxkcmVuTGVuZ3RoID4gMSkge1xuICAgIHZhciBjaGlsZEFycmF5ID0gQXJyYXkoY2hpbGRyZW5MZW5ndGgpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkxlbmd0aDsgaSsrKSB7XG4gICAgICBjaGlsZEFycmF5W2ldID0gYXJndW1lbnRzW2kgKyAyXTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkQXJyYXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gIGlmICh0eXBlICYmIHR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBpZiAoa2V5IHx8IHJlZikge1xuICAgICAgdmFyIGRpc3BsYXlOYW1lID0gdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgPyB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCAnVW5rbm93bicgOiB0eXBlO1xuXG4gICAgICBpZiAoa2V5KSB7XG4gICAgICAgIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQsIHByb3BzKTtcbn1cbmZ1bmN0aW9uIGNsb25lQW5kUmVwbGFjZUtleShvbGRFbGVtZW50LCBuZXdLZXkpIHtcbiAgdmFyIG5ld0VsZW1lbnQgPSBSZWFjdEVsZW1lbnQob2xkRWxlbWVudC50eXBlLCBuZXdLZXksIG9sZEVsZW1lbnQucmVmLCBvbGRFbGVtZW50Ll9zZWxmLCBvbGRFbGVtZW50Ll9zb3VyY2UsIG9sZEVsZW1lbnQuX293bmVyLCBvbGRFbGVtZW50LnByb3BzKTtcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XG59XG4vKipcbiAqIENsb25lIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IHVzaW5nIGVsZW1lbnQgYXMgdGhlIHN0YXJ0aW5nIHBvaW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjbG9uZWVsZW1lbnRcbiAqL1xuXG5mdW5jdGlvbiBjbG9uZUVsZW1lbnQoZWxlbWVudCwgY29uZmlnLCBjaGlsZHJlbikge1xuICBpZiAoZWxlbWVudCA9PT0gbnVsbCB8fCBlbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCBcIiArIGVsZW1lbnQgKyBcIi5cIik7XG4gIH1cblxuICB2YXIgcHJvcE5hbWU7IC8vIE9yaWdpbmFsIHByb3BzIGFyZSBjb3BpZWRcblxuICB2YXIgcHJvcHMgPSBhc3NpZ24oe30sIGVsZW1lbnQucHJvcHMpOyAvLyBSZXNlcnZlZCBuYW1lcyBhcmUgZXh0cmFjdGVkXG5cbiAgdmFyIGtleSA9IGVsZW1lbnQua2V5O1xuICB2YXIgcmVmID0gZWxlbWVudC5yZWY7IC8vIFNlbGYgaXMgcHJlc2VydmVkIHNpbmNlIHRoZSBvd25lciBpcyBwcmVzZXJ2ZWQuXG5cbiAgdmFyIHNlbGYgPSBlbGVtZW50Ll9zZWxmOyAvLyBTb3VyY2UgaXMgcHJlc2VydmVkIHNpbmNlIGNsb25lRWxlbWVudCBpcyB1bmxpa2VseSB0byBiZSB0YXJnZXRlZCBieSBhXG4gIC8vIHRyYW5zcGlsZXIsIGFuZCB0aGUgb3JpZ2luYWwgc291cmNlIGlzIHByb2JhYmx5IGEgYmV0dGVyIGluZGljYXRvciBvZiB0aGVcbiAgLy8gdHJ1ZSBvd25lci5cblxuICB2YXIgc291cmNlID0gZWxlbWVudC5fc291cmNlOyAvLyBPd25lciB3aWxsIGJlIHByZXNlcnZlZCwgdW5sZXNzIHJlZiBpcyBvdmVycmlkZGVuXG5cbiAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIC8vIFNpbGVudGx5IHN0ZWFsIHRoZSByZWYgZnJvbSB0aGUgcGFyZW50LlxuICAgICAgcmVmID0gY29uZmlnLnJlZjtcbiAgICAgIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudDtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRLZXkoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGNvbmZpZy5rZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBvdmVycmlkZSBleGlzdGluZyBwcm9wc1xuXG5cbiAgICB2YXIgZGVmYXVsdFByb3BzO1xuXG4gICAgaWYgKGVsZW1lbnQudHlwZSAmJiBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgICBkZWZhdWx0UHJvcHMgPSBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzO1xuICAgIH1cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIGlmIChjb25maWdbcHJvcE5hbWVdID09PSB1bmRlZmluZWQgJiYgZGVmYXVsdFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2hpbGRyZW4gY2FuIGJlIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIGFuZCB0aG9zZSBhcmUgdHJhbnNmZXJyZWQgb250b1xuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cblxuXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xuXG4gIGlmIChjaGlsZHJlbkxlbmd0aCA9PT0gMSkge1xuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XG4gICAgdmFyIGNoaWxkQXJyYXkgPSBBcnJheShjaGlsZHJlbkxlbmd0aCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkQXJyYXlbaV0gPSBhcmd1bWVudHNbaSArIDJdO1xuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdEVsZW1lbnQoZWxlbWVudC50eXBlLCBrZXksIHJlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cblxudmFyIFNFUEFSQVRPUiA9ICcuJztcbnZhciBTVUJTRVBBUkFUT1IgPSAnOic7XG4vKipcbiAqIEVzY2FwZSBhbmQgd3JhcCBrZXkgc28gaXQgaXMgc2FmZSB0byB1c2UgYXMgYSByZWFjdGlkXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSB0byBiZSBlc2NhcGVkLlxuICogQHJldHVybiB7c3RyaW5nfSB0aGUgZXNjYXBlZCBrZXkuXG4gKi9cblxuZnVuY3Rpb24gZXNjYXBlKGtleSkge1xuICB2YXIgZXNjYXBlUmVnZXggPSAvWz06XS9nO1xuICB2YXIgZXNjYXBlckxvb2t1cCA9IHtcbiAgICAnPSc6ICc9MCcsXG4gICAgJzonOiAnPTInXG4gIH07XG4gIHZhciBlc2NhcGVkU3RyaW5nID0ga2V5LnJlcGxhY2UoZXNjYXBlUmVnZXgsIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBlc2NhcGVyTG9va3VwW21hdGNoXTtcbiAgfSk7XG4gIHJldHVybiAnJCcgKyBlc2NhcGVkU3RyaW5nO1xufVxuLyoqXG4gKiBUT0RPOiBUZXN0IHRoYXQgYSBzaW5nbGUgY2hpbGQgYW5kIGFuIGFycmF5IHdpdGggb25lIGl0ZW0gaGF2ZSB0aGUgc2FtZSBrZXlcbiAqIHBhdHRlcm4uXG4gKi9cblxuXG52YXIgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xudmFyIHVzZXJQcm92aWRlZEtleUVzY2FwZVJlZ2V4ID0gL1xcLysvZztcblxuZnVuY3Rpb24gZXNjYXBlVXNlclByb3ZpZGVkS2V5KHRleHQpIHtcbiAgcmV0dXJuIHRleHQucmVwbGFjZSh1c2VyUHJvdmlkZWRLZXlFc2NhcGVSZWdleCwgJyQmLycpO1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBhIGtleSBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIGEgZWxlbWVudCB3aXRoaW4gYSBzZXQuXG4gKlxuICogQHBhcmFtIHsqfSBlbGVtZW50IEEgZWxlbWVudCB0aGF0IGNvdWxkIGNvbnRhaW4gYSBtYW51YWwga2V5LlxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IEluZGV4IHRoYXQgaXMgdXNlZCBpZiBhIG1hbnVhbCBrZXkgaXMgbm90IHByb3ZpZGVkLlxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0RWxlbWVudEtleShlbGVtZW50LCBpbmRleCkge1xuICAvLyBEbyBzb21lIHR5cGVjaGVja2luZyBoZXJlIHNpbmNlIHdlIGNhbGwgdGhpcyBibGluZGx5LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGRvbid0IGJsb2NrIHBvdGVudGlhbCBmdXR1cmUgRVMgQVBJcy5cbiAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnb2JqZWN0JyAmJiBlbGVtZW50ICE9PSBudWxsICYmIGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAvLyBFeHBsaWNpdCBrZXlcbiAgICB7XG4gICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGVsZW1lbnQua2V5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXNjYXBlKCcnICsgZWxlbWVudC5rZXkpO1xuICB9IC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XG5cblxuICByZXR1cm4gaW5kZXgudG9TdHJpbmcoMzYpO1xufVxuXG5mdW5jdGlvbiBtYXBJbnRvQXJyYXkoY2hpbGRyZW4sIGFycmF5LCBlc2NhcGVkUHJlZml4LCBuYW1lU29GYXIsIGNhbGxiYWNrKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIGNoaWxkcmVuO1xuXG4gIGlmICh0eXBlID09PSAndW5kZWZpbmVkJyB8fCB0eXBlID09PSAnYm9vbGVhbicpIHtcbiAgICAvLyBBbGwgb2YgdGhlIGFib3ZlIGFyZSBwZXJjZWl2ZWQgYXMgbnVsbC5cbiAgICBjaGlsZHJlbiA9IG51bGw7XG4gIH1cblxuICB2YXIgaW52b2tlQ2FsbGJhY2sgPSBmYWxzZTtcblxuICBpZiAoY2hpbGRyZW4gPT09IG51bGwpIHtcbiAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgc3dpdGNoIChjaGlsZHJlbi4kJHR5cGVvZikge1xuICAgICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gICAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIGlmIChpbnZva2VDYWxsYmFjaykge1xuICAgIHZhciBfY2hpbGQgPSBjaGlsZHJlbjtcbiAgICB2YXIgbWFwcGVkQ2hpbGQgPSBjYWxsYmFjayhfY2hpbGQpOyAvLyBJZiBpdCdzIHRoZSBvbmx5IGNoaWxkLCB0cmVhdCB0aGUgbmFtZSBhcyBpZiBpdCB3YXMgd3JhcHBlZCBpbiBhbiBhcnJheVxuICAgIC8vIHNvIHRoYXQgaXQncyBjb25zaXN0ZW50IGlmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZ3Jvd3M6XG5cbiAgICB2YXIgY2hpbGRLZXkgPSBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SICsgZ2V0RWxlbWVudEtleShfY2hpbGQsIDApIDogbmFtZVNvRmFyO1xuXG4gICAgaWYgKGlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XG4gICAgICB2YXIgZXNjYXBlZENoaWxkS2V5ID0gJyc7XG5cbiAgICAgIGlmIChjaGlsZEtleSAhPSBudWxsKSB7XG4gICAgICAgIGVzY2FwZWRDaGlsZEtleSA9IGVzY2FwZVVzZXJQcm92aWRlZEtleShjaGlsZEtleSkgKyAnLyc7XG4gICAgICB9XG5cbiAgICAgIG1hcEludG9BcnJheShtYXBwZWRDaGlsZCwgYXJyYXksIGVzY2FwZWRDaGlsZEtleSwgJycsIGZ1bmN0aW9uIChjKSB7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChtYXBwZWRDaGlsZCAhPSBudWxsKSB7XG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQobWFwcGVkQ2hpbGQpKSB7XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBUaGUgYGlmYCBzdGF0ZW1lbnQgaGVyZSBwcmV2ZW50cyBhdXRvLWRpc2FibGluZyBvZiB0aGUgc2FmZVxuICAgICAgICAgIC8vIGNvZXJjaW9uIEVTTGludCBydWxlLCBzbyB3ZSBtdXN0IG1hbnVhbGx5IGRpc2FibGUgaXQgYmVsb3cuXG4gICAgICAgICAgLy8gJEZsb3dGaXhNZSBGbG93IGluY29ycmVjdGx5IHRoaW5rcyBSZWFjdC5Qb3J0YWwgZG9lc24ndCBoYXZlIGEga2V5XG4gICAgICAgICAgaWYgKG1hcHBlZENoaWxkLmtleSAmJiAoIV9jaGlsZCB8fCBfY2hpbGQua2V5ICE9PSBtYXBwZWRDaGlsZC5rZXkpKSB7XG4gICAgICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKG1hcHBlZENoaWxkLmtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbWFwcGVkQ2hpbGQgPSBjbG9uZUFuZFJlcGxhY2VLZXkobWFwcGVkQ2hpbGQsIC8vIEtlZXAgYm90aCB0aGUgKG1hcHBlZCkgYW5kIG9sZCBrZXlzIGlmIHRoZXkgZGlmZmVyLCBqdXN0IGFzXG4gICAgICAgIC8vIHRyYXZlcnNlQWxsQ2hpbGRyZW4gdXNlZCB0byBkbyBmb3Igb2JqZWN0cyBhcyBjaGlsZHJlblxuICAgICAgICBlc2NhcGVkUHJlZml4ICsgKCAvLyAkRmxvd0ZpeE1lIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFJlYWN0LlBvcnRhbCBkb2Vzbid0IGhhdmUgYSBrZXlcbiAgICAgICAgbWFwcGVkQ2hpbGQua2V5ICYmICghX2NoaWxkIHx8IF9jaGlsZC5rZXkgIT09IG1hcHBlZENoaWxkLmtleSkgPyAvLyAkRmxvd0ZpeE1lIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIGV4aXN0aW5nIGVsZW1lbnQncyBrZXkgY2FuIGJlIGEgbnVtYmVyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICAgICAgICBlc2NhcGVVc2VyUHJvdmlkZWRLZXkoJycgKyBtYXBwZWRDaGlsZC5rZXkpICsgJy8nIDogJycpICsgY2hpbGRLZXkpO1xuICAgICAgfVxuXG4gICAgICBhcnJheS5wdXNoKG1hcHBlZENoaWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIHZhciBjaGlsZDtcbiAgdmFyIG5leHROYW1lO1xuICB2YXIgc3VidHJlZUNvdW50ID0gMDsgLy8gQ291bnQgb2YgY2hpbGRyZW4gZm91bmQgaW4gdGhlIGN1cnJlbnQgc3VidHJlZS5cblxuICB2YXIgbmV4dE5hbWVQcmVmaXggPSBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SIDogbmFtZVNvRmFyICsgU1VCU0VQQVJBVE9SO1xuXG4gIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0RWxlbWVudEtleShjaGlsZCwgaSk7XG4gICAgICBzdWJ0cmVlQ291bnQgKz0gbWFwSW50b0FycmF5KGNoaWxkLCBhcnJheSwgZXNjYXBlZFByZWZpeCwgbmV4dE5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGl0ZXJhYmxlQ2hpbGRyZW4gPSBjaGlsZHJlbjtcblxuICAgICAge1xuICAgICAgICAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gPT09IGl0ZXJhYmxlQ2hpbGRyZW4uZW50cmllcykge1xuICAgICAgICAgIGlmICghZGlkV2FybkFib3V0TWFwcykge1xuICAgICAgICAgICAgd2FybignVXNpbmcgTWFwcyBhcyBjaGlsZHJlbiBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1VzZSBhbiBhcnJheSBvZiBrZXllZCBSZWFjdEVsZW1lbnRzIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKGl0ZXJhYmxlQ2hpbGRyZW4pO1xuICAgICAgdmFyIHN0ZXA7XG4gICAgICB2YXIgaWkgPSAwO1xuXG4gICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgIGNoaWxkID0gc3RlcC52YWx1ZTtcbiAgICAgICAgbmV4dE5hbWUgPSBuZXh0TmFtZVByZWZpeCArIGdldEVsZW1lbnRLZXkoY2hpbGQsIGlpKyspO1xuICAgICAgICBzdWJ0cmVlQ291bnQgKz0gbWFwSW50b0FycmF5KGNoaWxkLCBhcnJheSwgZXNjYXBlZFByZWZpeCwgbmV4dE5hbWUsIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgIHZhciBjaGlsZHJlblN0cmluZyA9IFN0cmluZyhjaGlsZHJlbik7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6IFwiICsgKGNoaWxkcmVuU3RyaW5nID09PSAnW29iamVjdCBPYmplY3RdJyA/ICdvYmplY3Qgd2l0aCBrZXlzIHsnICsgT2JqZWN0LmtleXMoY2hpbGRyZW4pLmpvaW4oJywgJykgKyAnfScgOiBjaGlsZHJlblN0cmluZykgKyBcIikuIFwiICsgJ0lmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgJyArICdpbnN0ZWFkLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJ0cmVlQ291bnQ7XG59XG5cbi8qKlxuICogTWFwcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAuXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVubWFwXG4gKlxuICogVGhlIHByb3ZpZGVkIG1hcEZ1bmN0aW9uKGNoaWxkLCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcbiAqIGxlYWYgY2hpbGQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCosIGludCl9IGZ1bmMgVGhlIG1hcCBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBDb250ZXh0IGZvciBtYXBGdW5jdGlvbi5cbiAqIEByZXR1cm4ge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9yZGVyZWQgbWFwIG9mIHJlc3VsdHMuXG4gKi9cbmZ1bmN0aW9uIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jLCBjb250ZXh0KSB7XG4gIGlmIChjaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICB2YXIgY291bnQgPSAwO1xuICBtYXBJbnRvQXJyYXkoY2hpbGRyZW4sIHJlc3VsdCwgJycsICcnLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gZnVuYy5jYWxsKGNvbnRleHQsIGNoaWxkLCBjb3VudCsrKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIENvdW50IHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhc1xuICogYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5jb3VudFxuICpcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuLlxuICovXG5cblxuZnVuY3Rpb24gY291bnRDaGlsZHJlbihjaGlsZHJlbikge1xuICB2YXIgbiA9IDA7XG4gIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoKSB7XG4gICAgbisrOyAvLyBEb24ndCByZXR1cm4gYW55dGhpbmdcbiAgfSk7XG4gIHJldHVybiBuO1xufVxuXG4vKipcbiAqIEl0ZXJhdGVzIHRocm91Z2ggY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbmZvcmVhY2hcbiAqXG4gKiBUaGUgcHJvdmlkZWQgZm9yRWFjaEZ1bmMoY2hpbGQsIGluZGV4KSB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaFxuICogbGVhZiBjaGlsZC5cbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKiwgaW50KX0gZm9yRWFjaEZ1bmNcbiAqIEBwYXJhbSB7Kn0gZm9yRWFjaENvbnRleHQgQ29udGV4dCBmb3IgZm9yRWFjaENvbnRleHQuXG4gKi9cbmZ1bmN0aW9uIGZvckVhY2hDaGlsZHJlbihjaGlsZHJlbiwgZm9yRWFjaEZ1bmMsIGZvckVhY2hDb250ZXh0KSB7XG4gIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoKSB7XG4gICAgZm9yRWFjaEZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgLy8gRG9uJ3QgcmV0dXJuIGFueXRoaW5nLlxuICB9LCBmb3JFYWNoQ29udGV4dCk7XG59XG4vKipcbiAqIEZsYXR0ZW4gYSBjaGlsZHJlbiBvYmplY3QgKHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYCkgYW5kXG4gKiByZXR1cm4gYW4gYXJyYXkgd2l0aCBhcHByb3ByaWF0ZWx5IHJlLWtleWVkIGNoaWxkcmVuLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbnRvYXJyYXlcbiAqL1xuXG5cbmZ1bmN0aW9uIHRvQXJyYXkoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gY2hpbGQ7XG4gIH0pIHx8IFtdO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCBjaGlsZCBpbiBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4gYW5kIHZlcmlmaWVzIHRoYXQgdGhlcmVcbiAqIGlzIG9ubHkgb25lIGNoaWxkIGluIHRoZSBjb2xsZWN0aW9uLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbm9ubHlcbiAqXG4gKiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBhIHNpbmdsZSBjaGlsZCBnZXRzXG4gKiBwYXNzZWQgd2l0aG91dCBhIHdyYXBwZXIsIGJ1dCB0aGUgcHVycG9zZSBvZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyB0b1xuICogYWJzdHJhY3QgYXdheSB0aGUgcGFydGljdWxhciBzdHJ1Y3R1cmUgb2YgY2hpbGRyZW4uXG4gKlxuICogQHBhcmFtIHs/b2JqZWN0fSBjaGlsZHJlbiBDaGlsZCBjb2xsZWN0aW9uIHN0cnVjdHVyZS5cbiAqIEByZXR1cm4ge1JlYWN0RWxlbWVudH0gVGhlIGZpcnN0IGFuZCBvbmx5IGBSZWFjdEVsZW1lbnRgIGNvbnRhaW5lZCBpbiB0aGVcbiAqIHN0cnVjdHVyZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIG9ubHlDaGlsZChjaGlsZHJlbikge1xuICBpZiAoIWlzVmFsaWRFbGVtZW50KGNoaWxkcmVuKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuJyk7XG4gIH1cblxuICByZXR1cm4gY2hpbGRyZW47XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlKSB7XG4gIC8vIFRPRE86IFNlY29uZCBhcmd1bWVudCB1c2VkIHRvIGJlIGFuIG9wdGlvbmFsIGBjYWxjdWxhdGVDaGFuZ2VkQml0c2BcbiAgLy8gZnVuY3Rpb24uIFdhcm4gdG8gcmVzZXJ2ZSBmb3IgZnV0dXJlIHVzZT9cbiAgdmFyIGNvbnRleHQgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAvLyBBcyBhIHdvcmthcm91bmQgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb25jdXJyZW50IHJlbmRlcmVycywgd2UgY2F0ZWdvcml6ZVxuICAgIC8vIHNvbWUgcmVuZGVyZXJzIGFzIHByaW1hcnkgYW5kIG90aGVycyBhcyBzZWNvbmRhcnkuIFdlIG9ubHkgZXhwZWN0XG4gICAgLy8gdGhlcmUgdG8gYmUgdHdvIGNvbmN1cnJlbnQgcmVuZGVyZXJzIGF0IG1vc3Q6IFJlYWN0IE5hdGl2ZSAocHJpbWFyeSkgYW5kXG4gICAgLy8gRmFicmljIChzZWNvbmRhcnkpOyBSZWFjdCBET00gKHByaW1hcnkpIGFuZCBSZWFjdCBBUlQgKHNlY29uZGFyeSkuXG4gICAgLy8gU2Vjb25kYXJ5IHJlbmRlcmVycyBzdG9yZSB0aGVpciBjb250ZXh0IHZhbHVlcyBvbiBzZXBhcmF0ZSBmaWVsZHMuXG4gICAgX2N1cnJlbnRWYWx1ZTogZGVmYXVsdFZhbHVlLFxuICAgIF9jdXJyZW50VmFsdWUyOiBkZWZhdWx0VmFsdWUsXG4gICAgLy8gVXNlZCB0byB0cmFjayBob3cgbWFueSBjb25jdXJyZW50IHJlbmRlcmVycyB0aGlzIGNvbnRleHQgY3VycmVudGx5XG4gICAgLy8gc3VwcG9ydHMgd2l0aGluIGluIGEgc2luZ2xlIHJlbmRlcmVyLiBTdWNoIGFzIHBhcmFsbGVsIHNlcnZlciByZW5kZXJpbmcuXG4gICAgX3RocmVhZENvdW50OiAwLFxuICAgIC8vIFRoZXNlIGFyZSBjaXJjdWxhclxuICAgIFByb3ZpZGVyOiBudWxsLFxuICAgIENvbnN1bWVyOiBudWxsLFxuICAgIC8vIEFkZCB0aGVzZSB0byB1c2Ugc2FtZSBoaWRkZW4gY2xhc3MgaW4gVk0gYXMgU2VydmVyQ29udGV4dFxuICAgIF9kZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgX2dsb2JhbE5hbWU6IG51bGxcbiAgfTtcbiAgY29udGV4dC5Qcm92aWRlciA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfUFJPVklERVJfVFlQRSxcbiAgICBfY29udGV4dDogY29udGV4dFxuICB9O1xuICB2YXIgaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMgPSBmYWxzZTtcbiAgdmFyIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gZmFsc2U7XG4gIHZhciBoYXNXYXJuZWRBYm91dERpc3BsYXlOYW1lT25Db25zdW1lciA9IGZhbHNlO1xuXG4gIHtcbiAgICAvLyBBIHNlcGFyYXRlIG9iamVjdCwgYnV0IHByb3hpZXMgYmFjayB0byB0aGUgb3JpZ2luYWwgY29udGV4dCBvYmplY3QgZm9yXG4gICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuIEl0IGhhcyBhIGRpZmZlcmVudCAkJHR5cGVvZiwgc28gd2UgY2FuIHByb3Blcmx5XG4gICAgLy8gd2FybiBmb3IgdGhlIGluY29ycmVjdCB1c2FnZSBvZiBDb250ZXh0IGFzIGEgQ29uc3VtZXIuXG4gICAgdmFyIENvbnN1bWVyID0ge1xuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAgIF9jb250ZXh0OiBjb250ZXh0XG4gICAgfTsgLy8gJEZsb3dGaXhNZTogRmxvdyBjb21wbGFpbnMgYWJvdXQgbm90IHNldHRpbmcgYSB2YWx1ZSwgd2hpY2ggaXMgaW50ZW50aW9uYWwgaGVyZVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ29uc3VtZXIsIHtcbiAgICAgIFByb3ZpZGVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Qcm92aWRlcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Qcm92aWRlcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Qcm92aWRlcjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX1Byb3ZpZGVyKSB7XG4gICAgICAgICAgY29udGV4dC5Qcm92aWRlciA9IF9Qcm92aWRlcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9jdXJyZW50VmFsdWU6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX2N1cnJlbnRWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IF9jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfY3VycmVudFZhbHVlMjoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlMjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZTIpIHtcbiAgICAgICAgICBjb250ZXh0Ll9jdXJyZW50VmFsdWUyID0gX2N1cnJlbnRWYWx1ZTI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfdGhyZWFkQ291bnQ6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3RocmVhZENvdW50O1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfdGhyZWFkQ291bnQpIHtcbiAgICAgICAgICBjb250ZXh0Ll90aHJlYWRDb3VudCA9IF90aHJlYWRDb3VudDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIENvbnN1bWVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdOZXN0ZWRDb250ZXh0Q29uc3VtZXJzID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Db25zdW1lcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Db25zdW1lcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Db25zdW1lcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGRpc3BsYXlOYW1lOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBjb250ZXh0LmRpc3BsYXlOYW1lO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChkaXNwbGF5TmFtZSkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXREaXNwbGF5TmFtZU9uQ29uc3VtZXIpIHtcbiAgICAgICAgICAgIHdhcm4oJ1NldHRpbmcgYGRpc3BsYXlOYW1lYCBvbiBDb250ZXh0LkNvbnN1bWVyIGhhcyBubyBlZmZlY3QuICcgKyBcIllvdSBzaG91bGQgc2V0IGl0IGRpcmVjdGx5IG9uIHRoZSBjb250ZXh0IHdpdGggQ29udGV4dC5kaXNwbGF5TmFtZSA9ICclcycuXCIsIGRpc3BsYXlOYW1lKTtcblxuICAgICAgICAgICAgaGFzV2FybmVkQWJvdXREaXNwbGF5TmFtZU9uQ29uc3VtZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pOyAvLyAkRmxvd0ZpeE1lOiBGbG93IGNvbXBsYWlucyBhYm91dCBtaXNzaW5nIHByb3BlcnRpZXMgYmVjYXVzZSBpdCBkb2Vzbid0IHVuZGVyc3RhbmQgZGVmaW5lUHJvcGVydHlcblxuICAgIGNvbnRleHQuQ29uc3VtZXIgPSBDb25zdW1lcjtcbiAgfVxuXG4gIHtcbiAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSBudWxsO1xuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlcjIgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG5cbnZhciBVbmluaXRpYWxpemVkID0gLTE7XG52YXIgUGVuZGluZyA9IDA7XG52YXIgUmVzb2x2ZWQgPSAxO1xudmFyIFJlamVjdGVkID0gMjtcblxuZnVuY3Rpb24gbGF6eUluaXRpYWxpemVyKHBheWxvYWQpIHtcbiAgaWYgKHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgIHZhciBjdG9yID0gcGF5bG9hZC5fcmVzdWx0O1xuICAgIHZhciB0aGVuYWJsZSA9IGN0b3IoKTsgLy8gVHJhbnNpdGlvbiB0byB0aGUgbmV4dCBzdGF0ZS5cbiAgICAvLyBUaGlzIG1pZ2h0IHRocm93IGVpdGhlciBiZWNhdXNlIGl0J3MgbWlzc2luZyBvciB0aHJvd3MuIElmIHNvLCB3ZSB0cmVhdCBpdFxuICAgIC8vIGFzIHN0aWxsIHVuaW5pdGlhbGl6ZWQgYW5kIHRyeSBhZ2FpbiBuZXh0IHRpbWUuIFdoaWNoIGlzIHRoZSBzYW1lIGFzIHdoYXRcbiAgICAvLyBoYXBwZW5zIGlmIHRoZSBjdG9yIG9yIGFueSB3cmFwcGVycyBwcm9jZXNzaW5nIHRoZSBjdG9yIHRocm93cy4gVGhpcyBtaWdodFxuICAgIC8vIGVuZCB1cCBmaXhpbmcgaXQgaWYgdGhlIHJlc29sdXRpb24gd2FzIGEgY29uY3VycmVuY3kgYnVnLlxuXG4gICAgdGhlbmFibGUudGhlbihmdW5jdGlvbiAobW9kdWxlT2JqZWN0KSB7XG4gICAgICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBQZW5kaW5nIHx8IHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgICAgICAvLyBUcmFuc2l0aW9uIHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgICAgICB2YXIgcmVzb2x2ZWQgPSBwYXlsb2FkO1xuICAgICAgICByZXNvbHZlZC5fc3RhdHVzID0gUmVzb2x2ZWQ7XG4gICAgICAgIHJlc29sdmVkLl9yZXN1bHQgPSBtb2R1bGVPYmplY3Q7XG4gICAgICB9XG4gICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBQZW5kaW5nIHx8IHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgICAgICAvLyBUcmFuc2l0aW9uIHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgICAgICB2YXIgcmVqZWN0ZWQgPSBwYXlsb2FkO1xuICAgICAgICByZWplY3RlZC5fc3RhdHVzID0gUmVqZWN0ZWQ7XG4gICAgICAgIHJlamVjdGVkLl9yZXN1bHQgPSBlcnJvcjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChwYXlsb2FkLl9zdGF0dXMgPT09IFVuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIC8vIEluIGNhc2UsIHdlJ3JlIHN0aWxsIHVuaW5pdGlhbGl6ZWQsIHRoZW4gd2UncmUgd2FpdGluZyBmb3IgdGhlIHRoZW5hYmxlXG4gICAgICAvLyB0byByZXNvbHZlLiBTZXQgaXQgYXMgcGVuZGluZyBpbiB0aGUgbWVhbnRpbWUuXG4gICAgICB2YXIgcGVuZGluZyA9IHBheWxvYWQ7XG4gICAgICBwZW5kaW5nLl9zdGF0dXMgPSBQZW5kaW5nO1xuICAgICAgcGVuZGluZy5fcmVzdWx0ID0gdGhlbmFibGU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBheWxvYWQuX3N0YXR1cyA9PT0gUmVzb2x2ZWQpIHtcbiAgICB2YXIgbW9kdWxlT2JqZWN0ID0gcGF5bG9hZC5fcmVzdWx0O1xuXG4gICAge1xuICAgICAgaWYgKG1vZHVsZU9iamVjdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVycm9yKCdsYXp5OiBFeHBlY3RlZCB0aGUgcmVzdWx0IG9mIGEgZHluYW1pYyBpbXAnICsgJ29ydCgpIGNhbGwuICcgKyAnSW5zdGVhZCByZWNlaXZlZDogJXNcXG5cXG5Zb3VyIGNvZGUgc2hvdWxkIGxvb2sgbGlrZTogXFxuICAnICsgLy8gQnJlYWsgdXAgaW1wb3J0cyB0byBhdm9pZCBhY2NpZGVudGFsbHkgcGFyc2luZyB0aGVtIGFzIGRlcGVuZGVuY2llcy5cbiAgICAgICAgJ2NvbnN0IE15Q29tcG9uZW50ID0gbGF6eSgoKSA9PiBpbXAnICsgXCJvcnQoJy4vTXlDb21wb25lbnQnKSlcXG5cXG5cIiArICdEaWQgeW91IGFjY2lkZW50YWxseSBwdXQgY3VybHkgYnJhY2VzIGFyb3VuZCB0aGUgaW1wb3J0PycsIG1vZHVsZU9iamVjdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKCEoJ2RlZmF1bHQnIGluIG1vZHVsZU9iamVjdCkpIHtcbiAgICAgICAgZXJyb3IoJ2xhenk6IEV4cGVjdGVkIHRoZSByZXN1bHQgb2YgYSBkeW5hbWljIGltcCcgKyAnb3J0KCkgY2FsbC4gJyArICdJbnN0ZWFkIHJlY2VpdmVkOiAlc1xcblxcbllvdXIgY29kZSBzaG91bGQgbG9vayBsaWtlOiBcXG4gICcgKyAvLyBCcmVhayB1cCBpbXBvcnRzIHRvIGF2b2lkIGFjY2lkZW50YWxseSBwYXJzaW5nIHRoZW0gYXMgZGVwZW5kZW5jaWVzLlxuICAgICAgICAnY29uc3QgTXlDb21wb25lbnQgPSBsYXp5KCgpID0+IGltcCcgKyBcIm9ydCgnLi9NeUNvbXBvbmVudCcpKVwiLCBtb2R1bGVPYmplY3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtb2R1bGVPYmplY3QuZGVmYXVsdDtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBwYXlsb2FkLl9yZXN1bHQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbGF6eShjdG9yKSB7XG4gIHZhciBwYXlsb2FkID0ge1xuICAgIC8vIFdlIHVzZSB0aGVzZSBmaWVsZHMgdG8gc3RvcmUgdGhlIHJlc3VsdC5cbiAgICBfc3RhdHVzOiBVbmluaXRpYWxpemVkLFxuICAgIF9yZXN1bHQ6IGN0b3JcbiAgfTtcbiAgdmFyIGxhenlUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9MQVpZX1RZUEUsXG4gICAgX3BheWxvYWQ6IHBheWxvYWQsXG4gICAgX2luaXQ6IGxhenlJbml0aWFsaXplclxuICB9O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kdWN0aW9uLCB0aGlzIHdvdWxkIGp1c3Qgc2V0IGl0IG9uIHRoZSBvYmplY3QuXG4gICAgdmFyIGRlZmF1bHRQcm9wcztcbiAgICB2YXIgcHJvcFR5cGVzOyAvLyAkRmxvd0ZpeE1lXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhsYXp5VHlwZSwge1xuICAgICAgZGVmYXVsdFByb3BzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRQcm9wcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3RGVmYXVsdFByb3BzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYGRlZmF1bHRQcm9wc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIGRlZmF1bHRQcm9wcyA9IG5ld0RlZmF1bHRQcm9wczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG4gICAgICAgICAgLy8gJEZsb3dGaXhNZVxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAnZGVmYXVsdFByb3BzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJvcFR5cGVzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHByb3BUeXBlcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3UHJvcFR5cGVzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYHByb3BUeXBlc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIHByb3BUeXBlcyA9IG5ld1Byb3BUeXBlczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG4gICAgICAgICAgLy8gJEZsb3dGaXhNZVxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAncHJvcFR5cGVzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbGF6eVR5cGU7XG59XG5cbmZ1bmN0aW9uIGZvcndhcmRSZWYocmVuZGVyKSB7XG4gIHtcbiAgICBpZiAocmVuZGVyICE9IG51bGwgJiYgcmVuZGVyLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCByZWNlaXZlZCBhIGBtZW1vYCAnICsgJ2NvbXBvbmVudC4gSW5zdGVhZCBvZiBmb3J3YXJkUmVmKG1lbW8oLi4uKSksIHVzZSAnICsgJ21lbW8oZm9yd2FyZFJlZiguLi4pKS4nKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCB3YXMgZ2l2ZW4gJXMuJywgcmVuZGVyID09PSBudWxsID8gJ251bGwnIDogdHlwZW9mIHJlbmRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyZW5kZXIubGVuZ3RoICE9PSAwICYmIHJlbmRlci5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVuZGVyIGZ1bmN0aW9ucyBhY2NlcHQgZXhhY3RseSB0d28gcGFyYW1ldGVyczogcHJvcHMgYW5kIHJlZi4gJXMnLCByZW5kZXIubGVuZ3RoID09PSAxID8gJ0RpZCB5b3UgZm9yZ2V0IHRvIHVzZSB0aGUgcmVmIHBhcmFtZXRlcj8nIDogJ0FueSBhZGRpdGlvbmFsIHBhcmFtZXRlciB3aWxsIGJlIHVuZGVmaW5lZC4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVuZGVyICE9IG51bGwpIHtcbiAgICAgIGlmIChyZW5kZXIuZGVmYXVsdFByb3BzICE9IG51bGwgfHwgcmVuZGVyLnByb3BUeXBlcyAhPSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlbmRlciBmdW5jdGlvbnMgZG8gbm90IHN1cHBvcnQgcHJvcFR5cGVzIG9yIGRlZmF1bHRQcm9wcy4gJyArICdEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIGEgUmVhY3QgY29tcG9uZW50PycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBlbGVtZW50VHlwZSA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSxcbiAgICByZW5kZXI6IHJlbmRlclxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHsuLi59KTtcbiAgICAgICAgLy8gVGhpcyBraW5kIG9mIGlubmVyIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGVsc2V3aGVyZSBzbyB0aGUgc2lkZSBlZmZlY3QgaXMgb2theS5cblxuICAgICAgICBpZiAoIXJlbmRlci5uYW1lICYmICFyZW5kZXIuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICByZW5kZXIuZGlzcGxheU5hbWUgPSBuYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudFR5cGU7XG59XG5cbnZhciBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFO1xuXG57XG4gIFJFQUNUX01PRFVMRV9SRUZFUkVOQ0UgPSBTeW1ib2wuZm9yKCdyZWFjdC5tb2R1bGUucmVmZXJlbmNlJyk7XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBOb3RlOiB0eXBlb2YgbWlnaHQgYmUgb3RoZXIgdGhhbiAnc3ltYm9sJyBvciAnbnVtYmVyJyAoZS5nLiBpZiBpdCdzIGEgcG9seWZpbGwpLlxuXG5cbiAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfUFJPRklMRVJfVFlQRSB8fCBlbmFibGVEZWJ1Z1RyYWNpbmcgIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgZW5hYmxlTGVnYWN5SGlkZGVuICB8fCB0eXBlID09PSBSRUFDVF9PRkZTQ1JFRU5fVFlQRSB8fCBlbmFibGVTY29wZUFQSSAgfHwgZW5hYmxlQ2FjaGVFbGVtZW50ICB8fCBlbmFibGVUcmFuc2l0aW9uVHJhY2luZyApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01PRFVMRV9SRUZFUkVOQ0UgfHwgdHlwZS5nZXRNb2R1bGVJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIG1lbW8odHlwZSwgY29tcGFyZSkge1xuICB7XG4gICAgaWYgKCFpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkpIHtcbiAgICAgIGVycm9yKCdtZW1vOiBUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGNvbXBvbmVudC4gSW5zdGVhZCAnICsgJ3JlY2VpdmVkOiAlcycsIHR5cGUgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnRUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9NRU1PX1RZUEUsXG4gICAgdHlwZTogdHlwZSxcbiAgICBjb21wYXJlOiBjb21wYXJlID09PSB1bmRlZmluZWQgPyBudWxsIDogY29tcGFyZVxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7Li4ufSk7XG4gICAgICAgIC8vIFRoaXMga2luZCBvZiBpbm5lciBmdW5jdGlvbiBpcyBub3QgdXNlZCBlbHNld2hlcmUgc28gdGhlIHNpZGUgZWZmZWN0IGlzIG9rYXkuXG5cbiAgICAgICAgaWYgKCF0eXBlLm5hbWUgJiYgIXR5cGUuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICB0eXBlLmRpc3BsYXlOYW1lID0gbmFtZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRUeXBlO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRGlzcGF0Y2hlcigpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG5cbiAge1xuICAgIGlmIChkaXNwYXRjaGVyID09PSBudWxsKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvcicgKyAnIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4nICsgJzIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4nICsgJzMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLicpO1xuICAgIH1cbiAgfSAvLyBXaWxsIHJlc3VsdCBpbiBhIG51bGwgYWNjZXNzIGVycm9yIGlmIGFjY2Vzc2VkIG91dHNpZGUgcmVuZGVyIHBoYXNlLiBXZVxuICAvLyBpbnRlbnRpb25hbGx5IGRvbid0IHRocm93IG91ciBvd24gZXJyb3IgYmVjYXVzZSB0aGlzIGlzIGluIGEgaG90IHBhdGguXG4gIC8vIEFsc28gaGVscHMgZW5zdXJlIHRoaXMgaXMgaW5saW5lZC5cblxuXG4gIHJldHVybiBkaXNwYXRjaGVyO1xufVxuZnVuY3Rpb24gdXNlQ29udGV4dChDb250ZXh0KSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcblxuICB7XG4gICAgLy8gVE9ETzogYWRkIGEgbW9yZSBnZW5lcmljIHdhcm5pbmcgZm9yIGludmFsaWQgdmFsdWVzLlxuICAgIGlmIChDb250ZXh0Ll9jb250ZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciByZWFsQ29udGV4dCA9IENvbnRleHQuX2NvbnRleHQ7IC8vIERvbid0IGRlZHVwbGljYXRlIGJlY2F1c2UgdGhpcyBsZWdpdGltYXRlbHkgY2F1c2VzIGJ1Z3NcbiAgICAgIC8vIGFuZCBub2JvZHkgc2hvdWxkIGJlIHVzaW5nIHRoaXMgaW4gZXhpc3RpbmcgY29kZS5cblxuICAgICAgaWYgKHJlYWxDb250ZXh0LkNvbnN1bWVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Db25zdW1lcikgaXMgbm90IHN1cHBvcnRlZCwgbWF5IGNhdXNlIGJ1Z3MsIGFuZCB3aWxsIGJlICcgKyAncmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9IGVsc2UgaWYgKHJlYWxDb250ZXh0LlByb3ZpZGVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Qcm92aWRlcikgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ29udGV4dChDb250ZXh0KTtcbn1cbmZ1bmN0aW9uIHVzZVN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG59XG5mdW5jdGlvbiB1c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xufVxuZnVuY3Rpb24gdXNlUmVmKGluaXRpYWxWYWx1ZSkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVJlZihpbml0aWFsVmFsdWUpO1xufVxuZnVuY3Rpb24gdXNlRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VNZW1vKGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZU1lbW8oY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZURlYnVnVmFsdWUodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gIHtcbiAgICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gICAgcmV0dXJuIGRpc3BhdGNoZXIudXNlRGVidWdWYWx1ZSh2YWx1ZSwgZm9ybWF0dGVyRm4pO1xuICB9XG59XG5mdW5jdGlvbiB1c2VUcmFuc2l0aW9uKCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVRyYW5zaXRpb24oKTtcbn1cbmZ1bmN0aW9uIHVzZURlZmVycmVkVmFsdWUodmFsdWUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VEZWZlcnJlZFZhbHVlKHZhbHVlKTtcbn1cbmZ1bmN0aW9uIHVzZUlkKCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUlkKCk7XG59XG5mdW5jdGlvbiB1c2VTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbn1cblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjtcbnZhciBwcmVmaXg7XG5mdW5jdGlvbiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIGlmIChwcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gRXh0cmFjdCB0aGUgVk0gc3BlY2lmaWMgcHJlZml4IHVzZWQgYnkgZWFjaCBsaW5lLlxuICAgICAgdHJ5IHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgdmFyIG1hdGNoID0geC5zdGFjay50cmltKCkubWF0Y2goL1xcbiggKihhdCApPykvKTtcbiAgICAgICAgcHJlZml4ID0gbWF0Y2ggJiYgbWF0Y2hbMV0gfHwgJyc7XG4gICAgICB9XG4gICAgfSAvLyBXZSB1c2UgdGhlIHByZWZpeCB0byBlbnN1cmUgb3VyIHN0YWNrcyBsaW5lIHVwIHdpdGggbmF0aXZlIHN0YWNrIGZyYW1lcy5cblxuXG4gICAgcmV0dXJuICdcXG4nICsgcHJlZml4ICsgbmFtZTtcbiAgfVxufVxudmFyIHJlZW50cnkgPSBmYWxzZTtcbnZhciBjb21wb25lbnRGcmFtZUNhY2hlO1xuXG57XG4gIHZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG4gIGNvbXBvbmVudEZyYW1lQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwKCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCAhZm4gfHwgcmVlbnRyeSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHtcbiAgICB2YXIgZnJhbWUgPSBjb21wb25lbnRGcmFtZUNhY2hlLmdldChmbik7XG5cbiAgICBpZiAoZnJhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZyYW1lO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb250cm9sO1xuICByZWVudHJ5ID0gdHJ1ZTtcbiAgdmFyIHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2UgPSBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZTsgLy8gJEZsb3dGaXhNZSBJdCBkb2VzIGFjY2VwdCB1bmRlZmluZWQuXG5cbiAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSB1bmRlZmluZWQ7XG4gIHZhciBwcmV2aW91c0Rpc3BhdGNoZXI7XG5cbiAge1xuICAgIHByZXZpb3VzRGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2aW91c0Rpc3BhdGNoZXI7XG4gICAgICByZWVuYWJsZUxvZ3MoKTtcbiAgICB9XG5cbiAgICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2U7XG4gIH0gLy8gRmFsbGJhY2sgdG8ganVzdCB1c2luZyB0aGUgbmFtZSBpZiB3ZSBjb3VsZG4ndCBtYWtlIGl0IHRocm93LlxuXG5cbiAgdmFyIG5hbWUgPSBmbiA/IGZuLmRpc3BsYXlOYW1lIHx8IGZuLm5hbWUgOiAnJztcbiAgdmFyIHN5bnRoZXRpY0ZyYW1lID0gbmFtZSA/IGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUpIDogJyc7XG5cbiAge1xuICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbXBvbmVudEZyYW1lQ2FjaGUuc2V0KGZuLCBzeW50aGV0aWNGcmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN5bnRoZXRpY0ZyYW1lO1xufVxuZnVuY3Rpb24gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKGZuLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkge1xuICB2YXIgcHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbiAgcmV0dXJuICEhKHByb3RvdHlwZSAmJiBwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLCBzb3VyY2UsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBzb3VyY2UsIG93bmVyRm4pO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIExhenkgbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGluaXQocGF5bG9hZCksIHNvdXJjZSwgb3duZXJGbik7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxudmFyIGxvZ2dlZFR5cGVGYWlsdXJlcyA9IHt9O1xudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG5cbmZ1bmN0aW9uIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIGVsZW1lbnQuX3NvdXJjZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9wVHlwZXModHlwZVNwZWNzLCB2YWx1ZXMsIGxvY2F0aW9uLCBjb21wb25lbnROYW1lLCBlbGVtZW50KSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lIFRoaXMgaXMgb2theSBidXQgRmxvdyBkb2Vzbid0IGtub3cgaXQuXG4gICAgdmFyIGhhcyA9IEZ1bmN0aW9uLmNhbGwuYmluZChoYXNPd25Qcm9wZXJ0eSk7XG5cbiAgICBmb3IgKHZhciB0eXBlU3BlY05hbWUgaW4gdHlwZVNwZWNzKSB7XG4gICAgICBpZiAoaGFzKHR5cGVTcGVjcywgdHlwZVNwZWNOYW1lKSkge1xuICAgICAgICB2YXIgZXJyb3IkMSA9IHZvaWQgMDsgLy8gUHJvcCB0eXBlIHZhbGlkYXRpb24gbWF5IHRocm93LiBJbiBjYXNlIHRoZXkgZG8sIHdlIGRvbid0IHdhbnQgdG9cbiAgICAgICAgLy8gZmFpbCB0aGUgcmVuZGVyIHBoYXNlIHdoZXJlIGl0IGRpZG4ndCBmYWlsIGJlZm9yZS4gU28gd2UgbG9nIGl0LlxuICAgICAgICAvLyBBZnRlciB0aGVzZSBoYXZlIGJlZW4gY2xlYW5lZCB1cCwgd2UnbGwgbGV0IHRoZW0gdGhyb3cuXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICAgIHZhciBlcnIgPSBFcnJvcigoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHR5cGVTcGVjTmFtZSArICdgIGlzIGludmFsaWQ7ICcgKyAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nICsgJ1RoaXMgb2Z0ZW4gaGFwcGVucyBiZWNhdXNlIG9mIHR5cG9zIHN1Y2ggYXMgYFByb3BUeXBlcy5mdW5jdGlvbmAgaW5zdGVhZCBvZiBgUHJvcFR5cGVzLmZ1bmNgLicpO1xuICAgICAgICAgICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXJyb3IkMSA9IHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdKHZhbHVlcywgdHlwZVNwZWNOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgbnVsbCwgJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJyk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgZXJyb3IkMSA9IGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yJDEgJiYgIShlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgICAgICBlcnJvcignJXM6IHR5cGUgc3BlY2lmaWNhdGlvbiBvZiAlcycgKyAnIGAlc2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICsgJ2Z1bmN0aW9uIG11c3QgcmV0dXJuIGBudWxsYCBvciBhbiBgRXJyb3JgIGJ1dCByZXR1cm5lZCBhICVzLiAnICsgJ1lvdSBtYXkgaGF2ZSBmb3Jnb3R0ZW4gdG8gcGFzcyBhbiBhcmd1bWVudCB0byB0aGUgdHlwZSBjaGVja2VyICcgKyAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICsgJ3NoYXBlIGFsbCByZXF1aXJlIGFuIGFyZ3VtZW50KS4nLCBjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycsIGxvY2F0aW9uLCB0eXBlU3BlY05hbWUsIHR5cGVvZiBlcnJvciQxKTtcblxuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yJDEgaW5zdGFuY2VvZiBFcnJvciAmJiAhKGVycm9yJDEubWVzc2FnZSBpbiBsb2dnZWRUeXBlRmFpbHVyZXMpKSB7XG4gICAgICAgICAgLy8gT25seSBtb25pdG9yIHRoaXMgZmFpbHVyZSBvbmNlIGJlY2F1c2UgdGhlcmUgdGVuZHMgdG8gYmUgYSBsb3Qgb2YgdGhlXG4gICAgICAgICAgLy8gc2FtZSBlcnJvci5cbiAgICAgICAgICBsb2dnZWRUeXBlRmFpbHVyZXNbZXJyb3IkMS5tZXNzYWdlXSA9IHRydWU7XG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgICAgICBlcnJvcignRmFpbGVkICVzIHR5cGU6ICVzJywgbG9jYXRpb24sIGVycm9yJDEubWVzc2FnZSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIGVsZW1lbnQuX3NvdXJjZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBzZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIGlmIChSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50KSB7XG4gICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgbmFtZSArICdgLic7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bShzb3VyY2UpIHtcbiAgaWYgKHNvdXJjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIGZpbGVOYW1lID0gc291cmNlLmZpbGVOYW1lLnJlcGxhY2UoL14uKltcXFxcXFwvXS8sICcnKTtcbiAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgeW91ciBjb2RlIGF0ICcgKyBmaWxlTmFtZSArICc6JyArIGxpbmVOdW1iZXIgKyAnLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtRm9yUHJvcHMoZWxlbWVudFByb3BzKSB7XG4gIGlmIChlbGVtZW50UHJvcHMgIT09IG51bGwgJiYgZWxlbWVudFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oZWxlbWVudFByb3BzLl9fc291cmNlKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAgdmFyIGluZm8gPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcblxuICBpZiAoIWluZm8pIHtcbiAgICB2YXIgcGFyZW50TmFtZSA9IHR5cGVvZiBwYXJlbnRUeXBlID09PSAnc3RyaW5nJyA/IHBhcmVudFR5cGUgOiBwYXJlbnRUeXBlLmRpc3BsYXlOYW1lIHx8IHBhcmVudFR5cGUubmFtZTtcblxuICAgIGlmIChwYXJlbnROYW1lKSB7XG4gICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluZm87XG59XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVFeHBsaWNpdEtleShlbGVtZW50LCBwYXJlbnRUeXBlKSB7XG4gIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9IGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSk7XG5cbiAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgLy8gYXNzaWduaW5nIGl0IGEga2V5LlxuXG4gIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICAvLyBHaXZlIHRoZSBjb21wb25lbnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhpcyBjaGlsZC5cbiAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgfVxuXG4gIHtcbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChpc0FycmF5KG5vZGUpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xuXG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgIC8vIFRoaXMgZWxlbWVudCB3YXMgcGFzc2VkIGluIGEgdmFsaWQgbG9jYXRpb24uXG4gICAgaWYgKG5vZGUuX3N0b3JlKSB7XG4gICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChub2RlKSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgIGlmIChpdGVyYXRvckZuICE9PSBub2RlLmVudHJpZXMpIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG4gIHZhciB2YWxpZFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSk7IC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gIC8vIHN1Y2NlZWQgYW5kIHRoZXJlIHdpbGwgbGlrZWx5IGJlIGVycm9ycyBpbiByZW5kZXIuXG5cbiAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICB2YXIgaW5mbyA9ICcnO1xuXG4gICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgfVxuXG4gICAgdmFyIHNvdXJjZUluZm8gPSBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKHByb3BzKTtcblxuICAgIGlmIChzb3VyY2VJbmZvKSB7XG4gICAgICBpbmZvICs9IHNvdXJjZUluZm87XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZm8gKz0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG4gICAgfVxuXG4gICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZVN0cmluZyA9ICdudWxsJztcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgIHR5cGVTdHJpbmcgPSAnYXJyYXknO1xuICAgIH0gZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkICYmIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgaW5mbyA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgZXhwb3J0IGEgSlNYIGxpdGVyYWwgaW5zdGVhZCBvZiBhIGNvbXBvbmVudD8nO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgfVxuXG4gICAge1xuICAgICAgZXJyb3IoJ1JlYWN0LmNyZWF0ZUVsZW1lbnQ6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnQgPSBjcmVhdGVFbGVtZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IC8vIFRoZSByZXN1bHQgY2FuIGJlIG51bGxpc2ggaWYgYSBtb2NrIG9yIGEgY3VzdG9tIGZ1bmN0aW9uIGlzIHVzZWQuXG4gIC8vIFRPRE86IERyb3AgdGhpcyB3aGVuIHRoZXNlIGFyZSBubyBsb25nZXIgYWxsb3dlZCBhcyB0aGUgdHlwZSBhcmd1bWVudC5cblxuICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH0gLy8gU2tpcCBrZXkgd2FybmluZyBpZiB0aGUgdHlwZSBpc24ndCB2YWxpZCBzaW5jZSBvdXIga2V5IHZhbGlkYXRpb24gbG9naWNcbiAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAvLyBXZSBkb24ndCB3YW50IGV4Y2VwdGlvbiBiZWhhdmlvciB0byBkaWZmZXIgYmV0d2VlbiBkZXYgYW5kIHByb2QuXG4gIC8vIChSZW5kZXJpbmcgd2lsbCB0aHJvdyB3aXRoIGEgaGVscGZ1bCBtZXNzYWdlIGFuZCBhcyBzb29uIGFzIHRoZSB0eXBlIGlzXG4gIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gIGlmICh2YWxpZFR5cGUpIHtcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFsaWRhdGVDaGlsZEtleXMoYXJndW1lbnRzW2ldLCB0eXBlKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgfSBlbHNlIHtcbiAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxudmFyIGRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5ID0gZmFsc2U7XG5mdW5jdGlvbiBjcmVhdGVGYWN0b3J5V2l0aFZhbGlkYXRpb24odHlwZSkge1xuICB2YXIgdmFsaWRhdGVkRmFjdG9yeSA9IGNyZWF0ZUVsZW1lbnRXaXRoVmFsaWRhdGlvbi5iaW5kKG51bGwsIHR5cGUpO1xuICB2YWxpZGF0ZWRGYWN0b3J5LnR5cGUgPSB0eXBlO1xuXG4gIHtcbiAgICBpZiAoIWRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5KSB7XG4gICAgICBkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSA9IHRydWU7XG5cbiAgICAgIHdhcm4oJ1JlYWN0LmNyZWF0ZUZhY3RvcnkoKSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBDb25zaWRlciB1c2luZyBKU1ggJyArICdvciB1c2UgUmVhY3QuY3JlYXRlRWxlbWVudCgpIGRpcmVjdGx5IGluc3RlYWQuJyk7XG4gICAgfSAvLyBMZWdhY3kgaG9vazogcmVtb3ZlIGl0XG5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWxpZGF0ZWRGYWN0b3J5LCAndHlwZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJ0ZhY3RvcnkudHlwZSBpcyBkZXByZWNhdGVkLiBBY2Nlc3MgdGhlIGNsYXNzIGRpcmVjdGx5ICcgKyAnYmVmb3JlIHBhc3NpbmcgaXQgdG8gY3JlYXRlRmFjdG9yeS4nKTtcblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3R5cGUnLCB7XG4gICAgICAgICAgdmFsdWU6IHR5cGVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlZEZhY3Rvcnk7XG59XG5mdW5jdGlvbiBjbG9uZUVsZW1lbnRXaXRoVmFsaWRhdGlvbihlbGVtZW50LCBwcm9wcywgY2hpbGRyZW4pIHtcbiAgdmFyIG5ld0VsZW1lbnQgPSBjbG9uZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgbmV3RWxlbWVudC50eXBlKTtcbiAgfVxuXG4gIHZhbGlkYXRlUHJvcFR5cGVzKG5ld0VsZW1lbnQpO1xuICByZXR1cm4gbmV3RWxlbWVudDtcbn1cblxuZnVuY3Rpb24gc3RhcnRUcmFuc2l0aW9uKHNjb3BlLCBvcHRpb25zKSB7XG4gIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb247XG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb24gPSB7fTtcbiAgdmFyIGN1cnJlbnRUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbjtcblxuICB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycyA9IG5ldyBTZXQoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgc2NvcGUoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG5cbiAgICB7XG4gICAgICBpZiAocHJldlRyYW5zaXRpb24gPT09IG51bGwgJiYgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMpIHtcbiAgICAgICAgdmFyIHVwZGF0ZWRGaWJlcnNDb3VudCA9IGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLnNpemU7XG5cbiAgICAgICAgaWYgKHVwZGF0ZWRGaWJlcnNDb3VudCA+IDEwKSB7XG4gICAgICAgICAgd2FybignRGV0ZWN0ZWQgYSBsYXJnZSBudW1iZXIgb2YgdXBkYXRlcyBpbnNpZGUgc3RhcnRUcmFuc2l0aW9uLiAnICsgJ0lmIHRoaXMgaXMgZHVlIHRvIGEgc3Vic2NyaXB0aW9uIHBsZWFzZSByZS13cml0ZSBpdCB0byB1c2UgUmVhY3QgcHJvdmlkZWQgaG9va3MuICcgKyAnT3RoZXJ3aXNlIGNvbmN1cnJlbnQgbW9kZSBndWFyYW50ZWVzIGFyZSBvZmYgdGhlIHRhYmxlLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMuY2xlYXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID0gZmFsc2U7XG52YXIgZW5xdWV1ZVRhc2tJbXBsID0gbnVsbDtcbmZ1bmN0aW9uIGVucXVldWVUYXNrKHRhc2spIHtcbiAgaWYgKGVucXVldWVUYXNrSW1wbCA9PT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICAvLyByZWFkIHJlcXVpcmUgb2ZmIHRoZSBtb2R1bGUgb2JqZWN0IHRvIGdldCBhcm91bmQgdGhlIGJ1bmRsZXJzLlxuICAgICAgLy8gd2UgZG9uJ3Qgd2FudCB0aGVtIHRvIGRldGVjdCBhIHJlcXVpcmUgYW5kIGJ1bmRsZSBhIE5vZGUgcG9seWZpbGwuXG4gICAgICB2YXIgcmVxdWlyZVN0cmluZyA9ICgncmVxdWlyZScgKyBNYXRoLnJhbmRvbSgpKS5zbGljZSgwLCA3KTtcbiAgICAgIHZhciBub2RlUmVxdWlyZSA9IG1vZHVsZSAmJiBtb2R1bGVbcmVxdWlyZVN0cmluZ107IC8vIGFzc3VtaW5nIHdlJ3JlIGluIG5vZGUsIGxldCdzIHRyeSB0byBnZXQgbm9kZSdzXG4gICAgICAvLyB2ZXJzaW9uIG9mIHNldEltbWVkaWF0ZSwgYnlwYXNzaW5nIGZha2UgdGltZXJzIGlmIGFueS5cblxuICAgICAgZW5xdWV1ZVRhc2tJbXBsID0gbm9kZVJlcXVpcmUuY2FsbChtb2R1bGUsICd0aW1lcnMnKS5zZXRJbW1lZGlhdGU7XG4gICAgfSBjYXRjaCAoX2Vycikge1xuICAgICAgLy8gd2UncmUgaW4gYSBicm93c2VyXG4gICAgICAvLyB3ZSBjYW4ndCB1c2UgcmVndWxhciB0aW1lcnMgYmVjYXVzZSB0aGV5IG1heSBzdGlsbCBiZSBmYWtlZFxuICAgICAgLy8gc28gd2UgdHJ5IE1lc3NhZ2VDaGFubmVsK3Bvc3RNZXNzYWdlIGluc3RlYWRcbiAgICAgIGVucXVldWVUYXNrSW1wbCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID09PSBmYWxzZSkge1xuICAgICAgICAgICAgZGlkV2FybkFib3V0TWVzc2FnZUNoYW5uZWwgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIE1lc3NhZ2VDaGFubmVsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBlcnJvcignVGhpcyBicm93c2VyIGRvZXMgbm90IGhhdmUgYSBNZXNzYWdlQ2hhbm5lbCBpbXBsZW1lbnRhdGlvbiwgJyArICdzbyBlbnF1ZXVpbmcgdGFza3MgdmlhIGF3YWl0IGFjdChhc3luYyAoKSA9PiAuLi4pIHdpbGwgZmFpbC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzICcgKyAnaWYgeW91IGVuY291bnRlciB0aGlzIHdhcm5pbmcuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBjYWxsYmFjaztcbiAgICAgICAgY2hhbm5lbC5wb3J0Mi5wb3N0TWVzc2FnZSh1bmRlZmluZWQpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZW5xdWV1ZVRhc2tJbXBsKHRhc2spO1xufVxuXG52YXIgYWN0U2NvcGVEZXB0aCA9IDA7XG52YXIgZGlkV2Fybk5vQXdhaXRBY3QgPSBmYWxzZTtcbmZ1bmN0aW9uIGFjdChjYWxsYmFjaykge1xuICB7XG4gICAgLy8gYGFjdGAgY2FsbHMgY2FuIGJlIG5lc3RlZCwgc28gd2UgdHJhY2sgdGhlIGRlcHRoLiBUaGlzIHJlcHJlc2VudHMgdGhlXG4gICAgLy8gbnVtYmVyIG9mIGBhY3RgIHNjb3BlcyBvbiB0aGUgc3RhY2suXG4gICAgdmFyIHByZXZBY3RTY29wZURlcHRoID0gYWN0U2NvcGVEZXB0aDtcbiAgICBhY3RTY29wZURlcHRoKys7XG5cbiAgICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IGBhY3RgIHNjb3BlLiBJbml0aWFsaXplIHRoZSBxdWV1ZS4gVGhlIHJlY29uY2lsZXJcbiAgICAgIC8vIHdpbGwgZGV0ZWN0IHRoZSBxdWV1ZSBhbmQgdXNlIGl0IGluc3RlYWQgb2YgU2NoZWR1bGVyLlxuICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IFtdO1xuICAgIH1cblxuICAgIHZhciBwcmV2SXNCYXRjaGluZ0xlZ2FjeSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmlzQmF0Y2hpbmdMZWdhY3k7XG4gICAgdmFyIHJlc3VsdDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBVc2VkIHRvIHJlcHJvZHVjZSBiZWhhdmlvciBvZiBgYmF0Y2hlZFVwZGF0ZXNgIGluIGxlZ2FjeSBtb2RlLiBPbmx5XG4gICAgICAvLyBzZXQgdG8gYHRydWVgIHdoaWxlIHRoZSBnaXZlbiBjYWxsYmFjayBpcyBleGVjdXRlZCwgbm90IGZvciB1cGRhdGVzXG4gICAgICAvLyB0cmlnZ2VyZWQgZHVyaW5nIGFuIGFzeW5jIGV2ZW50LCBiZWNhdXNlIHRoaXMgaXMgaG93IHRoZSBsZWdhY3lcbiAgICAgIC8vIGltcGxlbWVudGF0aW9uIG9mIGBhY3RgIGJlaGF2ZWQuXG4gICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5pc0JhdGNoaW5nTGVnYWN5ID0gdHJ1ZTtcbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKCk7IC8vIFJlcGxpY2F0ZSBiZWhhdmlvciBvZiBvcmlnaW5hbCBgYWN0YCBpbXBsZW1lbnRhdGlvbiBpbiBsZWdhY3kgbW9kZSxcbiAgICAgIC8vIHdoaWNoIGZsdXNoZWQgdXBkYXRlcyBpbW1lZGlhdGVseSBhZnRlciB0aGUgc2NvcGUgZnVuY3Rpb24gZXhpdHMsIGV2ZW5cbiAgICAgIC8vIGlmIGl0J3MgYW4gYXN5bmMgZnVuY3Rpb24uXG5cbiAgICAgIGlmICghcHJldklzQmF0Y2hpbmdMZWdhY3kgJiYgUmVhY3RDdXJyZW50QWN0UXVldWUuZGlkU2NoZWR1bGVMZWdhY3lVcGRhdGUpIHtcbiAgICAgICAgdmFyIHF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcblxuICAgICAgICBpZiAocXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5kaWRTY2hlZHVsZUxlZ2FjeVVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgIGZsdXNoQWN0UXVldWUocXVldWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RTY29wZURlcHRoKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5pc0JhdGNoaW5nTGVnYWN5ID0gcHJldklzQmF0Y2hpbmdMZWdhY3k7XG4gICAgfVxuXG4gICAgaWYgKHJlc3VsdCAhPT0gbnVsbCAmJiB0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgcmVzdWx0LnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciB0aGVuYWJsZVJlc3VsdCA9IHJlc3VsdDsgLy8gVGhlIGNhbGxiYWNrIGlzIGFuIGFzeW5jIGZ1bmN0aW9uIChpLmUuIHJldHVybmVkIGEgcHJvbWlzZSkuIFdhaXRcbiAgICAgIC8vIGZvciBpdCB0byByZXNvbHZlIGJlZm9yZSBleGl0aW5nIHRoZSBjdXJyZW50IHNjb3BlLlxuXG4gICAgICB2YXIgd2FzQXdhaXRlZCA9IGZhbHNlO1xuICAgICAgdmFyIHRoZW5hYmxlID0ge1xuICAgICAgICB0aGVuOiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgd2FzQXdhaXRlZCA9IHRydWU7XG4gICAgICAgICAgdGhlbmFibGVSZXN1bHQudGhlbihmdW5jdGlvbiAocmV0dXJuVmFsdWUpIHtcbiAgICAgICAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RTY29wZURlcHRoKTtcblxuICAgICAgICAgICAgaWYgKGFjdFNjb3BlRGVwdGggPT09IDApIHtcbiAgICAgICAgICAgICAgLy8gV2UndmUgZXhpdGVkIHRoZSBvdXRlcm1vc3QgYWN0IHNjb3BlLiBSZWN1cnNpdmVseSBmbHVzaCB0aGVcbiAgICAgICAgICAgICAgLy8gcXVldWUgdW50aWwgdGhlcmUncyBubyByZW1haW5pbmcgd29yay5cbiAgICAgICAgICAgICAgcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc29sdmUocmV0dXJuVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIHRocmV3IGFuIGVycm9yLlxuICAgICAgICAgICAgcG9wQWN0U2NvcGUocHJldkFjdFNjb3BlRGVwdGgpO1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAge1xuICAgICAgICBpZiAoIWRpZFdhcm5Ob0F3YWl0QWN0ICYmIHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkge30pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKCF3YXNBd2FpdGVkKSB7XG4gICAgICAgICAgICAgIGRpZFdhcm5Ob0F3YWl0QWN0ID0gdHJ1ZTtcblxuICAgICAgICAgICAgICBlcnJvcignWW91IGNhbGxlZCBhY3QoYXN5bmMgKCkgPT4gLi4uKSB3aXRob3V0IGF3YWl0LiAnICsgJ1RoaXMgY291bGQgbGVhZCB0byB1bmV4cGVjdGVkIHRlc3RpbmcgYmVoYXZpb3VyLCAnICsgJ2ludGVybGVhdmluZyBtdWx0aXBsZSBhY3QgY2FsbHMgYW5kIG1peGluZyB0aGVpciAnICsgJ3Njb3Blcy4gJyArICdZb3Ugc2hvdWxkIC0gYXdhaXQgYWN0KGFzeW5jICgpID0+IC4uLik7Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoZW5hYmxlO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgcmV0dXJuVmFsdWUgPSByZXN1bHQ7IC8vIFRoZSBjYWxsYmFjayBpcyBub3QgYW4gYXN5bmMgZnVuY3Rpb24uIEV4aXQgdGhlIGN1cnJlbnQgc2NvcGVcbiAgICAgIC8vIGltbWVkaWF0ZWx5LCB3aXRob3V0IGF3YWl0aW5nLlxuXG4gICAgICBwb3BBY3RTY29wZShwcmV2QWN0U2NvcGVEZXB0aCk7XG5cbiAgICAgIGlmIChhY3RTY29wZURlcHRoID09PSAwKSB7XG4gICAgICAgIC8vIEV4aXRpbmcgdGhlIG91dGVybW9zdCBhY3Qgc2NvcGUuIEZsdXNoIHRoZSBxdWV1ZS5cbiAgICAgICAgdmFyIF9xdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQ7XG5cbiAgICAgICAgaWYgKF9xdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGZsdXNoQWN0UXVldWUoX3F1ZXVlKTtcbiAgICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfSAvLyBSZXR1cm4gYSB0aGVuYWJsZS4gSWYgdGhlIHVzZXIgYXdhaXRzIGl0LCB3ZSdsbCBmbHVzaCBhZ2FpbiBpblxuICAgICAgICAvLyBjYXNlIGFkZGl0aW9uYWwgd29yayB3YXMgc2NoZWR1bGVkIGJ5IGEgbWljcm90YXNrLlxuXG5cbiAgICAgICAgdmFyIF90aGVuYWJsZSA9IHtcbiAgICAgICAgICB0aGVuOiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAvLyBDb25maXJtIHdlIGhhdmVuJ3QgcmUtZW50ZXJlZCBhbm90aGVyIGBhY3RgIHNjb3BlLCBpbiBjYXNlXG4gICAgICAgICAgICAvLyB0aGUgdXNlciBkb2VzIHNvbWV0aGluZyB3ZWlyZCBsaWtlIGF3YWl0IHRoZSB0aGVuYWJsZVxuICAgICAgICAgICAgLy8gbXVsdGlwbGUgdGltZXMuXG4gICAgICAgICAgICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBSZWN1cnNpdmVseSBmbHVzaCB0aGUgcXVldWUgdW50aWwgdGhlcmUncyBubyByZW1haW5pbmcgd29yay5cbiAgICAgICAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IFtdO1xuICAgICAgICAgICAgICByZWN1cnNpdmVseUZsdXNoQXN5bmNBY3RXb3JrKHJldHVyblZhbHVlLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoZW5hYmxlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2luY2Ugd2UncmUgaW5zaWRlIGEgbmVzdGVkIGBhY3RgIHNjb3BlLCB0aGUgcmV0dXJuZWQgdGhlbmFibGVcbiAgICAgICAgLy8gaW1tZWRpYXRlbHkgcmVzb2x2ZXMuIFRoZSBvdXRlciBzY29wZSB3aWxsIGZsdXNoIHRoZSBxdWV1ZS5cbiAgICAgICAgdmFyIF90aGVuYWJsZTIgPSB7XG4gICAgICAgICAgdGhlbjogZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoZW5hYmxlMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wQWN0U2NvcGUocHJldkFjdFNjb3BlRGVwdGgpIHtcbiAge1xuICAgIGlmIChwcmV2QWN0U2NvcGVEZXB0aCAhPT0gYWN0U2NvcGVEZXB0aCAtIDEpIHtcbiAgICAgIGVycm9yKCdZb3Ugc2VlbSB0byBoYXZlIG92ZXJsYXBwaW5nIGFjdCgpIGNhbGxzLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnQmUgc3VyZSB0byBhd2FpdCBwcmV2aW91cyBhY3QoKSBjYWxscyBiZWZvcmUgbWFraW5nIGEgbmV3IG9uZS4gJyk7XG4gICAgfVxuXG4gICAgYWN0U2NvcGVEZXB0aCA9IHByZXZBY3RTY29wZURlcHRoO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlY3Vyc2l2ZWx5Rmx1c2hBc3luY0FjdFdvcmsocmV0dXJuVmFsdWUsIHJlc29sdmUsIHJlamVjdCkge1xuICB7XG4gICAgdmFyIHF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcblxuICAgIGlmIChxdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZmx1c2hBY3RRdWV1ZShxdWV1ZSk7XG4gICAgICAgIGVucXVldWVUYXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAocXVldWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAvLyBObyBhZGRpdGlvbmFsIHdvcmsgd2FzIHNjaGVkdWxlZC4gRmluaXNoLlxuICAgICAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICByZXNvbHZlKHJldHVyblZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gS2VlcCBmbHVzaGluZyB3b3JrIHVudGlsIHRoZXJlJ3Mgbm9uZSBsZWZ0LlxuICAgICAgICAgICAgcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBpc0ZsdXNoaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGZsdXNoQWN0UXVldWUocXVldWUpIHtcbiAge1xuICAgIGlmICghaXNGbHVzaGluZykge1xuICAgICAgLy8gUHJldmVudCByZS1lbnRyYW5jZS5cbiAgICAgIGlzRmx1c2hpbmcgPSB0cnVlO1xuICAgICAgdmFyIGkgPSAwO1xuXG4gICAgICB0cnkge1xuICAgICAgICBmb3IgKDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGNhbGxiYWNrID0gcXVldWVbaV07XG5cbiAgICAgICAgICBkbyB7XG4gICAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrKHRydWUpO1xuICAgICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHF1ZXVlLmxlbmd0aCA9IDA7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBJZiBzb21ldGhpbmcgdGhyb3dzLCBsZWF2ZSB0aGUgcmVtYWluaW5nIGNhbGxiYWNrcyBvbiB0aGUgcXVldWUuXG4gICAgICAgIHF1ZXVlID0gcXVldWUuc2xpY2UoaSArIDEpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlzRmx1c2hpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGNyZWF0ZUVsZW1lbnQkMSA9ICBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24gO1xudmFyIGNsb25lRWxlbWVudCQxID0gIGNsb25lRWxlbWVudFdpdGhWYWxpZGF0aW9uIDtcbnZhciBjcmVhdGVGYWN0b3J5ID0gIGNyZWF0ZUZhY3RvcnlXaXRoVmFsaWRhdGlvbiA7XG52YXIgQ2hpbGRyZW4gPSB7XG4gIG1hcDogbWFwQ2hpbGRyZW4sXG4gIGZvckVhY2g6IGZvckVhY2hDaGlsZHJlbixcbiAgY291bnQ6IGNvdW50Q2hpbGRyZW4sXG4gIHRvQXJyYXk6IHRvQXJyYXksXG4gIG9ubHk6IG9ubHlDaGlsZFxufTtcblxuZXhwb3J0cy5DaGlsZHJlbiA9IENoaWxkcmVuO1xuZXhwb3J0cy5Db21wb25lbnQgPSBDb21wb25lbnQ7XG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuUHJvZmlsZXIgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xuZXhwb3J0cy5QdXJlQ29tcG9uZW50ID0gUHVyZUNvbXBvbmVudDtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFJFQUNUX1NUUklDVF9NT0RFX1RZUEU7XG5leHBvcnRzLlN1c3BlbnNlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBSZWFjdFNoYXJlZEludGVybmFscztcbmV4cG9ydHMuY2xvbmVFbGVtZW50ID0gY2xvbmVFbGVtZW50JDE7XG5leHBvcnRzLmNyZWF0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0O1xuZXhwb3J0cy5jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudCQxO1xuZXhwb3J0cy5jcmVhdGVGYWN0b3J5ID0gY3JlYXRlRmFjdG9yeTtcbmV4cG9ydHMuY3JlYXRlUmVmID0gY3JlYXRlUmVmO1xuZXhwb3J0cy5mb3J3YXJkUmVmID0gZm9yd2FyZFJlZjtcbmV4cG9ydHMuaXNWYWxpZEVsZW1lbnQgPSBpc1ZhbGlkRWxlbWVudDtcbmV4cG9ydHMubGF6eSA9IGxhenk7XG5leHBvcnRzLm1lbW8gPSBtZW1vO1xuZXhwb3J0cy5zdGFydFRyYW5zaXRpb24gPSBzdGFydFRyYW5zaXRpb247XG5leHBvcnRzLnVuc3RhYmxlX2FjdCA9IGFjdDtcbmV4cG9ydHMudXNlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaztcbmV4cG9ydHMudXNlQ29udGV4dCA9IHVzZUNvbnRleHQ7XG5leHBvcnRzLnVzZURlYnVnVmFsdWUgPSB1c2VEZWJ1Z1ZhbHVlO1xuZXhwb3J0cy51c2VEZWZlcnJlZFZhbHVlID0gdXNlRGVmZXJyZWRWYWx1ZTtcbmV4cG9ydHMudXNlRWZmZWN0ID0gdXNlRWZmZWN0O1xuZXhwb3J0cy51c2VJZCA9IHVzZUlkO1xuZXhwb3J0cy51c2VJbXBlcmF0aXZlSGFuZGxlID0gdXNlSW1wZXJhdGl2ZUhhbmRsZTtcbmV4cG9ydHMudXNlSW5zZXJ0aW9uRWZmZWN0ID0gdXNlSW5zZXJ0aW9uRWZmZWN0O1xuZXhwb3J0cy51c2VMYXlvdXRFZmZlY3QgPSB1c2VMYXlvdXRFZmZlY3Q7XG5leHBvcnRzLnVzZU1lbW8gPSB1c2VNZW1vO1xuZXhwb3J0cy51c2VSZWR1Y2VyID0gdXNlUmVkdWNlcjtcbmV4cG9ydHMudXNlUmVmID0gdXNlUmVmO1xuZXhwb3J0cy51c2VTdGF0ZSA9IHVzZVN0YXRlO1xuZXhwb3J0cy51c2VTeW5jRXh0ZXJuYWxTdG9yZSA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlO1xuZXhwb3J0cy51c2VUcmFuc2l0aW9uID0gdXNlVHJhbnNpdGlvbjtcbmV4cG9ydHMudmVyc2lvbiA9IFJlYWN0VmVyc2lvbjtcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react/index.js": -/*!*************************************!*\ - !*** ./node_modules/react/index.js ***! - \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react.development.js */ \"./node_modules/react/cjs/react.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLHVIQUFzRDtBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanM/MWZiMiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react/jsx-runtime.js": -/*!*******************************************!*\ - !*** ./node_modules/react/jsx-runtime.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ \"./node_modules/react/cjs/react-jsx-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLCtJQUFrRTtBQUNwRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LXJ1bnRpbWUuanM/MzRkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LXJ1bnRpbWUucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/jsx-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/scheduler/cjs/scheduler.development.js": -/*!*************************************************************!*\ - !*** ./node_modules/scheduler/cjs/scheduler.development.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * scheduler.development.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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime;\n var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRSxvQkFBb0I7QUFDdEI7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBLEVBQUUsb0JBQW9CO0FBQ3RCO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0Esb0NBQW9DOztBQUVwQyxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQSxrQ0FBa0M7O0FBRWxDLCtDQUErQzs7QUFFL0M7QUFDQSxxQkFBcUI7O0FBRXJCLHVCQUF1QjtBQUN2QjtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBLG1GQUFtRjs7QUFFbkY7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQSw2QkFBNkI7O0FBRTdCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhDQUE4QztBQUM5Qzs7QUFFQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFDbEMsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiwwQkFBMEI7QUFDMUIscUNBQXFDO0FBQ3JDLCtCQUErQjtBQUMvQixrQ0FBa0M7QUFDbEMsK0JBQStCO0FBQy9CLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMscUJBQXFCO0FBQ3JCLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQyw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanM/YmNkMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiBzY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgZW5hYmxlU2NoZWR1bGVyRGVidWdnaW5nID0gZmFsc2U7XG52YXIgZW5hYmxlUHJvZmlsaW5nID0gZmFsc2U7XG52YXIgZnJhbWVZaWVsZE1zID0gNTtcblxuZnVuY3Rpb24gcHVzaChoZWFwLCBub2RlKSB7XG4gIHZhciBpbmRleCA9IGhlYXAubGVuZ3RoO1xuICBoZWFwLnB1c2gobm9kZSk7XG4gIHNpZnRVcChoZWFwLCBub2RlLCBpbmRleCk7XG59XG5mdW5jdGlvbiBwZWVrKGhlYXApIHtcbiAgcmV0dXJuIGhlYXAubGVuZ3RoID09PSAwID8gbnVsbCA6IGhlYXBbMF07XG59XG5mdW5jdGlvbiBwb3AoaGVhcCkge1xuICBpZiAoaGVhcC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XG4gIHZhciBsYXN0ID0gaGVhcC5wb3AoKTtcblxuICBpZiAobGFzdCAhPT0gZmlyc3QpIHtcbiAgICBoZWFwWzBdID0gbGFzdDtcbiAgICBzaWZ0RG93bihoZWFwLCBsYXN0LCAwKTtcbiAgfVxuXG4gIHJldHVybiBmaXJzdDtcbn1cblxuZnVuY3Rpb24gc2lmdFVwKGhlYXAsIG5vZGUsIGkpIHtcbiAgdmFyIGluZGV4ID0gaTtcblxuICB3aGlsZSAoaW5kZXggPiAwKSB7XG4gICAgdmFyIHBhcmVudEluZGV4ID0gaW5kZXggLSAxID4+PiAxO1xuICAgIHZhciBwYXJlbnQgPSBoZWFwW3BhcmVudEluZGV4XTtcblxuICAgIGlmIChjb21wYXJlKHBhcmVudCwgbm9kZSkgPiAwKSB7XG4gICAgICAvLyBUaGUgcGFyZW50IGlzIGxhcmdlci4gU3dhcCBwb3NpdGlvbnMuXG4gICAgICBoZWFwW3BhcmVudEluZGV4XSA9IG5vZGU7XG4gICAgICBoZWFwW2luZGV4XSA9IHBhcmVudDtcbiAgICAgIGluZGV4ID0gcGFyZW50SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBwYXJlbnQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2lmdERvd24oaGVhcCwgbm9kZSwgaSkge1xuICB2YXIgaW5kZXggPSBpO1xuICB2YXIgbGVuZ3RoID0gaGVhcC5sZW5ndGg7XG4gIHZhciBoYWxmTGVuZ3RoID0gbGVuZ3RoID4+PiAxO1xuXG4gIHdoaWxlIChpbmRleCA8IGhhbGZMZW5ndGgpIHtcbiAgICB2YXIgbGVmdEluZGV4ID0gKGluZGV4ICsgMSkgKiAyIC0gMTtcbiAgICB2YXIgbGVmdCA9IGhlYXBbbGVmdEluZGV4XTtcbiAgICB2YXIgcmlnaHRJbmRleCA9IGxlZnRJbmRleCArIDE7XG4gICAgdmFyIHJpZ2h0ID0gaGVhcFtyaWdodEluZGV4XTsgLy8gSWYgdGhlIGxlZnQgb3IgcmlnaHQgbm9kZSBpcyBzbWFsbGVyLCBzd2FwIHdpdGggdGhlIHNtYWxsZXIgb2YgdGhvc2UuXG5cbiAgICBpZiAoY29tcGFyZShsZWZ0LCBub2RlKSA8IDApIHtcbiAgICAgIGlmIChyaWdodEluZGV4IDwgbGVuZ3RoICYmIGNvbXBhcmUocmlnaHQsIGxlZnQpIDwgMCkge1xuICAgICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgICBoZWFwW3JpZ2h0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgaW5kZXggPSByaWdodEluZGV4O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGVhcFtpbmRleF0gPSBsZWZ0O1xuICAgICAgICBoZWFwW2xlZnRJbmRleF0gPSBub2RlO1xuICAgICAgICBpbmRleCA9IGxlZnRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJpZ2h0SW5kZXggPCBsZW5ndGggJiYgY29tcGFyZShyaWdodCwgbm9kZSkgPCAwKSB7XG4gICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgaGVhcFtyaWdodEluZGV4XSA9IG5vZGU7XG4gICAgICBpbmRleCA9IHJpZ2h0SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5laXRoZXIgY2hpbGQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7XG4gIC8vIENvbXBhcmUgc29ydCBpbmRleCBmaXJzdCwgdGhlbiB0YXNrIGlkLlxuICB2YXIgZGlmZiA9IGEuc29ydEluZGV4IC0gYi5zb3J0SW5kZXg7XG4gIHJldHVybiBkaWZmICE9PSAwID8gZGlmZiA6IGEuaWQgLSBiLmlkO1xufVxuXG4vLyBUT0RPOiBVc2Ugc3ltYm9scz9cbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDE7XG52YXIgVXNlckJsb2NraW5nUHJpb3JpdHkgPSAyO1xudmFyIE5vcm1hbFByaW9yaXR5ID0gMztcbnZhciBMb3dQcmlvcml0eSA9IDQ7XG52YXIgSWRsZVByaW9yaXR5ID0gNTtcblxuZnVuY3Rpb24gbWFya1Rhc2tFcnJvcmVkKHRhc2ssIG1zKSB7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZhciAqL1xuXG52YXIgaGFzUGVyZm9ybWFuY2VOb3cgPSB0eXBlb2YgcGVyZm9ybWFuY2UgPT09ICdvYmplY3QnICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5ub3cgPT09ICdmdW5jdGlvbic7XG5cbmlmIChoYXNQZXJmb3JtYW5jZU5vdykge1xuICB2YXIgbG9jYWxQZXJmb3JtYW5jZSA9IHBlcmZvcm1hbmNlO1xuXG4gIGV4cG9ydHMudW5zdGFibGVfbm93ID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBsb2NhbFBlcmZvcm1hbmNlLm5vdygpO1xuICB9O1xufSBlbHNlIHtcbiAgdmFyIGxvY2FsRGF0ZSA9IERhdGU7XG4gIHZhciBpbml0aWFsVGltZSA9IGxvY2FsRGF0ZS5ub3coKTtcblxuICBleHBvcnRzLnVuc3RhYmxlX25vdyA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbG9jYWxEYXRlLm5vdygpIC0gaW5pdGlhbFRpbWU7XG4gIH07XG59IC8vIE1heCAzMSBiaXQgaW50ZWdlci4gVGhlIG1heCBpbnRlZ2VyIHNpemUgaW4gVjggZm9yIDMyLWJpdCBzeXN0ZW1zLlxuLy8gTWF0aC5wb3coMiwgMzApIC0gMVxuLy8gMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcblxuXG52YXIgbWF4U2lnbmVkMzFCaXRJbnQgPSAxMDczNzQxODIzOyAvLyBUaW1lcyBvdXQgaW1tZWRpYXRlbHlcblxudmFyIElNTUVESUFURV9QUklPUklUWV9USU1FT1VUID0gLTE7IC8vIEV2ZW50dWFsbHkgdGltZXMgb3V0XG5cbnZhciBVU0VSX0JMT0NLSU5HX1BSSU9SSVRZX1RJTUVPVVQgPSAyNTA7XG52YXIgTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQgPSA1MDAwO1xudmFyIExPV19QUklPUklUWV9USU1FT1VUID0gMTAwMDA7IC8vIE5ldmVyIHRpbWVzIG91dFxuXG52YXIgSURMRV9QUklPUklUWV9USU1FT1VUID0gbWF4U2lnbmVkMzFCaXRJbnQ7IC8vIFRhc2tzIGFyZSBzdG9yZWQgb24gYSBtaW4gaGVhcFxuXG52YXIgdGFza1F1ZXVlID0gW107XG52YXIgdGltZXJRdWV1ZSA9IFtdOyAvLyBJbmNyZW1lbnRpbmcgaWQgY291bnRlci4gVXNlZCB0byBtYWludGFpbiBpbnNlcnRpb24gb3JkZXIuXG5cbnZhciB0YXNrSWRDb3VudGVyID0gMTsgLy8gUGF1c2luZyB0aGUgc2NoZWR1bGVyIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nLlxudmFyIGN1cnJlbnRUYXNrID0gbnVsbDtcbnZhciBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5OyAvLyBUaGlzIGlzIHNldCB3aGlsZSBwZXJmb3JtaW5nIHdvcmssIHRvIHByZXZlbnQgcmUtZW50cmFuY2UuXG5cbnZhciBpc1BlcmZvcm1pbmdXb3JrID0gZmFsc2U7XG52YXIgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSBmYWxzZTtcbnZhciBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7IC8vIENhcHR1cmUgbG9jYWwgcmVmZXJlbmNlcyB0byBuYXRpdmUgQVBJcywgaW4gY2FzZSBhIHBvbHlmaWxsIG92ZXJyaWRlcyB0aGVtLlxuXG52YXIgbG9jYWxTZXRUaW1lb3V0ID0gdHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBzZXRUaW1lb3V0IDogbnVsbDtcbnZhciBsb2NhbENsZWFyVGltZW91dCA9IHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBjbGVhclRpbWVvdXQgOiBudWxsO1xudmFyIGxvY2FsU2V0SW1tZWRpYXRlID0gdHlwZW9mIHNldEltbWVkaWF0ZSAhPT0gJ3VuZGVmaW5lZCcgPyBzZXRJbW1lZGlhdGUgOiBudWxsOyAvLyBJRSBhbmQgTm9kZS5qcyArIGpzZG9tXG5cbnZhciBpc0lucHV0UGVuZGluZyA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci5zY2hlZHVsaW5nICE9PSB1bmRlZmluZWQgJiYgbmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcgIT09IHVuZGVmaW5lZCA/IG5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpIDogbnVsbDtcblxuZnVuY3Rpb24gYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSkge1xuICAvLyBDaGVjayBmb3IgdGFza3MgdGhhdCBhcmUgbm8gbG9uZ2VyIGRlbGF5ZWQgYW5kIGFkZCB0aGVtIHRvIHRoZSBxdWV1ZS5cbiAgdmFyIHRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICB3aGlsZSAodGltZXIgIT09IG51bGwpIHtcbiAgICBpZiAodGltZXIuY2FsbGJhY2sgPT09IG51bGwpIHtcbiAgICAgIC8vIFRpbWVyIHdhcyBjYW5jZWxsZWQuXG4gICAgICBwb3AodGltZXJRdWV1ZSk7XG4gICAgfSBlbHNlIGlmICh0aW1lci5zdGFydFRpbWUgPD0gY3VycmVudFRpbWUpIHtcbiAgICAgIC8vIFRpbWVyIGZpcmVkLiBUcmFuc2ZlciB0byB0aGUgdGFzayBxdWV1ZS5cbiAgICAgIHBvcCh0aW1lclF1ZXVlKTtcbiAgICAgIHRpbWVyLnNvcnRJbmRleCA9IHRpbWVyLmV4cGlyYXRpb25UaW1lO1xuICAgICAgcHVzaCh0YXNrUXVldWUsIHRpbWVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVtYWluaW5nIHRpbWVycyBhcmUgcGVuZGluZy5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlVGltZW91dChjdXJyZW50VGltZSkge1xuICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gIGFkdmFuY2VUaW1lcnMoY3VycmVudFRpbWUpO1xuXG4gIGlmICghaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQpIHtcbiAgICBpZiAocGVlayh0YXNrUXVldWUpICE9PSBudWxsKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdFRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICAgICAgaWYgKGZpcnN0VGltZXIgIT09IG51bGwpIHtcbiAgICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmbHVzaFdvcmsoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpIHtcblxuXG4gIGlzSG9zdENhbGxiYWNrU2NoZWR1bGVkID0gZmFsc2U7XG5cbiAgaWYgKGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQpIHtcbiAgICAvLyBXZSBzY2hlZHVsZWQgYSB0aW1lb3V0IGJ1dCBpdCdzIG5vIGxvbmdlciBuZWVkZWQuIENhbmNlbCBpdC5cbiAgICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgfVxuXG4gIGlzUGVyZm9ybWluZ1dvcmsgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlUHJvZmlsaW5nKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gd29ya0xvb3AoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRUYXNrICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgICAgICAgICBtYXJrVGFza0Vycm9yZWQoY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcbiAgICAgICAgICBjdXJyZW50VGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGNhdGNoIGluIHByb2QgY29kZSBwYXRoLlxuICAgICAgcmV0dXJuIHdvcmtMb29wKGhhc1RpbWVSZW1haW5pbmcsIGluaXRpYWxUaW1lKTtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgY3VycmVudFRhc2sgPSBudWxsO1xuICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJldmlvdXNQcmlvcml0eUxldmVsO1xuICAgIGlzUGVyZm9ybWluZ1dvcmsgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSkge1xuICB2YXIgY3VycmVudFRpbWUgPSBpbml0aWFsVGltZTtcbiAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xuXG4gIHdoaWxlIChjdXJyZW50VGFzayAhPT0gbnVsbCAmJiAhKGVuYWJsZVNjaGVkdWxlckRlYnVnZ2luZyApKSB7XG4gICAgaWYgKGN1cnJlbnRUYXNrLmV4cGlyYXRpb25UaW1lID4gY3VycmVudFRpbWUgJiYgKCFoYXNUaW1lUmVtYWluaW5nIHx8IHNob3VsZFlpZWxkVG9Ib3N0KCkpKSB7XG4gICAgICAvLyBUaGlzIGN1cnJlbnRUYXNrIGhhc24ndCBleHBpcmVkLCBhbmQgd2UndmUgcmVhY2hlZCB0aGUgZGVhZGxpbmUuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgY2FsbGJhY2sgPSBjdXJyZW50VGFzay5jYWxsYmFjaztcblxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGN1cnJlbnRUYXNrLmNhbGxiYWNrID0gbnVsbDtcbiAgICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFRhc2sucHJpb3JpdHlMZXZlbDtcbiAgICAgIHZhciBkaWRVc2VyQ2FsbGJhY2tUaW1lb3V0ID0gY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWU7XG5cbiAgICAgIHZhciBjb250aW51YXRpb25DYWxsYmFjayA9IGNhbGxiYWNrKGRpZFVzZXJDYWxsYmFja1RpbWVvdXQpO1xuICAgICAgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xuXG4gICAgICBpZiAodHlwZW9mIGNvbnRpbnVhdGlvbkNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGN1cnJlbnRUYXNrLmNhbGxiYWNrID0gY29udGludWF0aW9uQ2FsbGJhY2s7XG4gICAgICB9IGVsc2Uge1xuXG4gICAgICAgIGlmIChjdXJyZW50VGFzayA9PT0gcGVlayh0YXNrUXVldWUpKSB7XG4gICAgICAgICAgcG9wKHRhc2tRdWV1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvcCh0YXNrUXVldWUpO1xuICAgIH1cblxuICAgIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xuICB9IC8vIFJldHVybiB3aGV0aGVyIHRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrXG5cblxuICBpZiAoY3VycmVudFRhc2sgIT09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZmlyc3RUaW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG5cbiAgICBpZiAoZmlyc3RUaW1lciAhPT0gbnVsbCkge1xuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkocHJpb3JpdHlMZXZlbCwgZXZlbnRIYW5kbGVyKSB7XG4gIHN3aXRjaCAocHJpb3JpdHlMZXZlbCkge1xuICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgIGNhc2UgTG93UHJpb3JpdHk6XG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBwcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7XG4gIH1cblxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJpb3JpdHlMZXZlbDtcblxuICB0cnkge1xuICAgIHJldHVybiBldmVudEhhbmRsZXIoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9uZXh0KGV2ZW50SGFuZGxlcikge1xuICB2YXIgcHJpb3JpdHlMZXZlbDtcblxuICBzd2l0Y2ggKGN1cnJlbnRQcmlvcml0eUxldmVsKSB7XG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICAvLyBTaGlmdCBkb3duIHRvIG5vcm1hbCBwcmlvcml0eVxuICAgICAgcHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gQW55dGhpbmcgbG93ZXIgdGhhbiBub3JtYWwgcHJpb3JpdHkgc2hvdWxkIHJlbWFpbiBhdCB0aGUgY3VycmVudCBsZXZlbC5cbiAgICAgIHByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgdmFyIHByZXZpb3VzUHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xuICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZXZlbnRIYW5kbGVyKCk7XG4gIH0gZmluYWxseSB7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XG4gIH1cbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfd3JhcENhbGxiYWNrKGNhbGxiYWNrKSB7XG4gIHZhciBwYXJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgcnVuV2l0aFByaW9yaXR5LCBpbmxpbmVkIGZvciBwZXJmb3JtYW5jZS5cbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwYXJlbnRQcmlvcml0eUxldmVsO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBjYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgdmFyIHN0YXJ0VGltZTtcblxuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwpIHtcbiAgICB2YXIgZGVsYXkgPSBvcHRpb25zLmRlbGF5O1xuXG4gICAgaWYgKHR5cGVvZiBkZWxheSA9PT0gJ251bWJlcicgJiYgZGVsYXkgPiAwKSB7XG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZSArIGRlbGF5O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWU7XG4gIH1cblxuICB2YXIgdGltZW91dDtcblxuICBzd2l0Y2ggKHByaW9yaXR5TGV2ZWwpIHtcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IElNTUVESUFURV9QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IFVTRVJfQkxPQ0tJTkdfUFJJT1JJVFlfVElNRU9VVDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICB0aW1lb3V0ID0gSURMRV9QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIExvd1ByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IExPV19QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgIGRlZmF1bHQ6XG4gICAgICB0aW1lb3V0ID0gTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBleHBpcmF0aW9uVGltZSA9IHN0YXJ0VGltZSArIHRpbWVvdXQ7XG4gIHZhciBuZXdUYXNrID0ge1xuICAgIGlkOiB0YXNrSWRDb3VudGVyKyssXG4gICAgY2FsbGJhY2s6IGNhbGxiYWNrLFxuICAgIHByaW9yaXR5TGV2ZWw6IHByaW9yaXR5TGV2ZWwsXG4gICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsXG4gICAgZXhwaXJhdGlvblRpbWU6IGV4cGlyYXRpb25UaW1lLFxuICAgIHNvcnRJbmRleDogLTFcbiAgfTtcblxuICBpZiAoc3RhcnRUaW1lID4gY3VycmVudFRpbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZGVsYXllZCB0YXNrLlxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gc3RhcnRUaW1lO1xuICAgIHB1c2godGltZXJRdWV1ZSwgbmV3VGFzayk7XG5cbiAgICBpZiAocGVlayh0YXNrUXVldWUpID09PSBudWxsICYmIG5ld1Rhc2sgPT09IHBlZWsodGltZXJRdWV1ZSkpIHtcbiAgICAgIC8vIEFsbCB0YXNrcyBhcmUgZGVsYXllZCwgYW5kIHRoaXMgaXMgdGhlIHRhc2sgd2l0aCB0aGUgZWFybGllc3QgZGVsYXkuXG4gICAgICBpZiAoaXNIb3N0VGltZW91dFNjaGVkdWxlZCkge1xuICAgICAgICAvLyBDYW5jZWwgYW4gZXhpc3RpbmcgdGltZW91dC5cbiAgICAgICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQgPSB0cnVlO1xuICAgICAgfSAvLyBTY2hlZHVsZSBhIHRpbWVvdXQuXG5cblxuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIHN0YXJ0VGltZSAtIGN1cnJlbnRUaW1lKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV3VGFzay5zb3J0SW5kZXggPSBleHBpcmF0aW9uVGltZTtcbiAgICBwdXNoKHRhc2tRdWV1ZSwgbmV3VGFzayk7XG4gICAgLy8gd2FpdCB1bnRpbCB0aGUgbmV4dCB0aW1lIHdlIHlpZWxkLlxuXG5cbiAgICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ld1Rhc2s7XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uKCkge1xufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbigpIHtcblxuICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xuICAgIHJlcXVlc3RIb3N0Q2FsbGJhY2soZmx1c2hXb3JrKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZSgpIHtcbiAgcmV0dXJuIHBlZWsodGFza1F1ZXVlKTtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sodGFzaykge1xuICAvLyByZW1vdmUgZnJvbSB0aGUgcXVldWUgYmVjYXVzZSB5b3UgY2FuJ3QgcmVtb3ZlIGFyYml0cmFyeSBub2RlcyBmcm9tIGFuXG4gIC8vIGFycmF5IGJhc2VkIGhlYXAsIG9ubHkgdGhlIGZpcnN0IG9uZS4pXG5cblxuICB0YXNrLmNhbGxiYWNrID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKSB7XG4gIHJldHVybiBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbn1cblxudmFyIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gZmFsc2U7XG52YXIgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gbnVsbDtcbnZhciB0YXNrVGltZW91dElEID0gLTE7IC8vIFNjaGVkdWxlciBwZXJpb2RpY2FsbHkgeWllbGRzIGluIGNhc2UgdGhlcmUgaXMgb3RoZXIgd29yayBvbiB0aGUgbWFpblxuLy8gdGhyZWFkLCBsaWtlIHVzZXIgZXZlbnRzLiBCeSBkZWZhdWx0LCBpdCB5aWVsZHMgbXVsdGlwbGUgdGltZXMgcGVyIGZyYW1lLlxuLy8gSXQgZG9lcyBub3QgYXR0ZW1wdCB0byBhbGlnbiB3aXRoIGZyYW1lIGJvdW5kYXJpZXMsIHNpbmNlIG1vc3QgdGFza3MgZG9uJ3Rcbi8vIG5lZWQgdG8gYmUgZnJhbWUgYWxpZ25lZDsgZm9yIHRob3NlIHRoYXQgZG8sIHVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuXG5cbnZhciBmcmFtZUludGVydmFsID0gZnJhbWVZaWVsZE1zO1xudmFyIHN0YXJ0VGltZSA9IC0xO1xuXG5mdW5jdGlvbiBzaG91bGRZaWVsZFRvSG9zdCgpIHtcbiAgdmFyIHRpbWVFbGFwc2VkID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKSAtIHN0YXJ0VGltZTtcblxuICBpZiAodGltZUVsYXBzZWQgPCBmcmFtZUludGVydmFsKSB7XG4gICAgLy8gVGhlIG1haW4gdGhyZWFkIGhhcyBvbmx5IGJlZW4gYmxvY2tlZCBmb3IgYSByZWFsbHkgc2hvcnQgYW1vdW50IG9mIHRpbWU7XG4gICAgLy8gc21hbGxlciB0aGFuIGEgc2luZ2xlIGZyYW1lLiBEb24ndCB5aWVsZCB5ZXQuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIFRoZSBtYWluIHRocmVhZCBoYXMgYmVlbiBibG9ja2VkIGZvciBhIG5vbi1uZWdsaWdpYmxlIGFtb3VudCBvZiB0aW1lLiBXZVxuXG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RQYWludCgpIHtcblxufVxuXG5mdW5jdGlvbiBmb3JjZUZyYW1lUmF0ZShmcHMpIHtcbiAgaWYgKGZwcyA8IDAgfHwgZnBzID4gMTI1KSB7XG4gICAgLy8gVXNpbmcgY29uc29sZVsnZXJyb3InXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG4gICAgY29uc29sZVsnZXJyb3InXSgnZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsICcgKyAnZm9yY2luZyBmcmFtZSByYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZnBzID4gMCkge1xuICAgIGZyYW1lSW50ZXJ2YWwgPSBNYXRoLmZsb29yKDEwMDAgLyBmcHMpO1xuICB9IGVsc2Uge1xuICAgIC8vIHJlc2V0IHRoZSBmcmFtZXJhdGVcbiAgICBmcmFtZUludGVydmFsID0gZnJhbWVZaWVsZE1zO1xuICB9XG59XG5cbnZhciBwZXJmb3JtV29ya1VudGlsRGVhZGxpbmUgPSBmdW5jdGlvbiAoKSB7XG4gIGlmIChzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpOyAvLyBLZWVwIHRyYWNrIG9mIHRoZSBzdGFydCB0aW1lIHNvIHdlIGNhbiBtZWFzdXJlIGhvdyBsb25nIHRoZSBtYWluIHRocmVhZFxuICAgIC8vIGhhcyBiZWVuIGJsb2NrZWQuXG5cbiAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICB2YXIgaGFzVGltZVJlbWFpbmluZyA9IHRydWU7IC8vIElmIGEgc2NoZWR1bGVyIHRhc2sgdGhyb3dzLCBleGl0IHRoZSBjdXJyZW50IGJyb3dzZXIgdGFzayBzbyB0aGVcbiAgICAvLyBlcnJvciBjYW4gYmUgb2JzZXJ2ZWQuXG4gICAgLy9cbiAgICAvLyBJbnRlbnRpb25hbGx5IG5vdCB1c2luZyBhIHRyeS1jYXRjaCwgc2luY2UgdGhhdCBtYWtlcyBzb21lIGRlYnVnZ2luZ1xuICAgIC8vIHRlY2huaXF1ZXMgaGFyZGVyLiBJbnN0ZWFkLCBpZiBgc2NoZWR1bGVkSG9zdENhbGxiYWNrYCBlcnJvcnMsIHRoZW5cbiAgICAvLyBgaGFzTW9yZVdvcmtgIHdpbGwgcmVtYWluIHRydWUsIGFuZCB3ZSdsbCBjb250aW51ZSB0aGUgd29yayBsb29wLlxuXG4gICAgdmFyIGhhc01vcmVXb3JrID0gdHJ1ZTtcblxuICAgIHRyeSB7XG4gICAgICBoYXNNb3JlV29yayA9IHNjaGVkdWxlZEhvc3RDYWxsYmFjayhoYXNUaW1lUmVtYWluaW5nLCBjdXJyZW50VGltZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChoYXNNb3JlV29yaykge1xuICAgICAgICAvLyBJZiB0aGVyZSdzIG1vcmUgd29yaywgc2NoZWR1bGUgdGhlIG5leHQgbWVzc2FnZSBldmVudCBhdCB0aGUgZW5kXG4gICAgICAgIC8vIG9mIHRoZSBwcmVjZWRpbmcgb25lLlxuICAgICAgICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcbiAgICAgICAgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcbiAgfSAvLyBZaWVsZGluZyB0byB0aGUgYnJvd3NlciB3aWxsIGdpdmUgaXQgYSBjaGFuY2UgdG8gcGFpbnQsIHNvIHdlIGNhblxufTtcblxudmFyIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG5pZiAodHlwZW9mIGxvY2FsU2V0SW1tZWRpYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIE5vZGUuanMgYW5kIG9sZCBJRS5cbiAgLy8gVGhlcmUncyBhIGZldyByZWFzb25zIGZvciB3aHkgd2UgcHJlZmVyIHNldEltbWVkaWF0ZS5cbiAgLy9cbiAgLy8gVW5saWtlIE1lc3NhZ2VDaGFubmVsLCBpdCBkb2Vzbid0IHByZXZlbnQgYSBOb2RlLmpzIHByb2Nlc3MgZnJvbSBleGl0aW5nLlxuICAvLyAoRXZlbiB0aG91Z2ggdGhpcyBpcyBhIERPTSBmb3JrIG9mIHRoZSBTY2hlZHVsZXIsIHlvdSBjb3VsZCBnZXQgaGVyZVxuICAvLyB3aXRoIGEgbWl4IG9mIE5vZGUuanMgMTUrLCB3aGljaCBoYXMgYSBNZXNzYWdlQ2hhbm5lbCwgYW5kIGpzZG9tLilcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8yMDc1NlxuICAvL1xuICAvLyBCdXQgYWxzbywgaXQgcnVucyBlYXJsaWVyIHdoaWNoIGlzIHRoZSBzZW1hbnRpYyB3ZSB3YW50LlxuICAvLyBJZiBvdGhlciBicm93c2VycyBldmVyIGltcGxlbWVudCBpdCwgaXQncyBiZXR0ZXIgdG8gdXNlIGl0LlxuICAvLyBBbHRob3VnaCBib3RoIG9mIHRoZXNlIHdvdWxkIGJlIGluZmVyaW9yIHRvIG5hdGl2ZSBzY2hlZHVsaW5nLlxuICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBsb2NhbFNldEltbWVkaWF0ZShwZXJmb3JtV29ya1VudGlsRGVhZGxpbmUpO1xuICB9O1xufSBlbHNlIGlmICh0eXBlb2YgTWVzc2FnZUNoYW5uZWwgIT09ICd1bmRlZmluZWQnKSB7XG4gIC8vIERPTSBhbmQgV29ya2VyIGVudmlyb25tZW50cy5cbiAgLy8gV2UgcHJlZmVyIE1lc3NhZ2VDaGFubmVsIGJlY2F1c2Ugb2YgdGhlIDRtcyBzZXRUaW1lb3V0IGNsYW1waW5nLlxuICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICB2YXIgcG9ydCA9IGNoYW5uZWwucG9ydDI7XG4gIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG4gIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lID0gZnVuY3Rpb24gKCkge1xuICAgIHBvcnQucG9zdE1lc3NhZ2UobnVsbCk7XG4gIH07XG59IGVsc2Uge1xuICAvLyBXZSBzaG91bGQgb25seSBmYWxsYmFjayBoZXJlIGluIG5vbi1icm93c2VyIGVudmlyb25tZW50cy5cbiAgc2NoZWR1bGVQZXJmb3JtV29ya1VudGlsRGVhZGxpbmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgbG9jYWxTZXRUaW1lb3V0KHBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSwgMCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RIb3N0Q2FsbGJhY2soY2FsbGJhY2spIHtcbiAgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgaWYgKCFpc01lc3NhZ2VMb29wUnVubmluZykge1xuICAgIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gdHJ1ZTtcbiAgICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RIb3N0VGltZW91dChjYWxsYmFjaywgbXMpIHtcbiAgdGFza1RpbWVvdXRJRCA9IGxvY2FsU2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgY2FsbGJhY2soZXhwb3J0cy51bnN0YWJsZV9ub3coKSk7XG4gIH0sIG1zKTtcbn1cblxuZnVuY3Rpb24gY2FuY2VsSG9zdFRpbWVvdXQoKSB7XG4gIGxvY2FsQ2xlYXJUaW1lb3V0KHRhc2tUaW1lb3V0SUQpO1xuICB0YXNrVGltZW91dElEID0gLTE7XG59XG5cbnZhciB1bnN0YWJsZV9yZXF1ZXN0UGFpbnQgPSByZXF1ZXN0UGFpbnQ7XG52YXIgdW5zdGFibGVfUHJvZmlsaW5nID0gIG51bGw7XG5cbmV4cG9ydHMudW5zdGFibGVfSWRsZVByaW9yaXR5ID0gSWRsZVByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSA9IEltbWVkaWF0ZVByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Mb3dQcmlvcml0eSA9IExvd1ByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSA9IE5vcm1hbFByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Qcm9maWxpbmcgPSB1bnN0YWJsZV9Qcm9maWxpbmc7XG5leHBvcnRzLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5ID0gVXNlckJsb2NraW5nUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrID0gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s7XG5leHBvcnRzLnVuc3RhYmxlX2NvbnRpbnVlRXhlY3V0aW9uID0gdW5zdGFibGVfY29udGludWVFeGVjdXRpb247XG5leHBvcnRzLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlID0gZm9yY2VGcmFtZVJhdGU7XG5leHBvcnRzLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsID0gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw7XG5leHBvcnRzLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlID0gdW5zdGFibGVfZ2V0Rmlyc3RDYWxsYmFja05vZGU7XG5leHBvcnRzLnVuc3RhYmxlX25leHQgPSB1bnN0YWJsZV9uZXh0O1xuZXhwb3J0cy51bnN0YWJsZV9wYXVzZUV4ZWN1dGlvbiA9IHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uO1xuZXhwb3J0cy51bnN0YWJsZV9yZXF1ZXN0UGFpbnQgPSB1bnN0YWJsZV9yZXF1ZXN0UGFpbnQ7XG5leHBvcnRzLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eSA9IHVuc3RhYmxlX3J1bldpdGhQcmlvcml0eTtcbmV4cG9ydHMudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayA9IHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XG5leHBvcnRzLnVuc3RhYmxlX3Nob3VsZFlpZWxkID0gc2hvdWxkWWllbGRUb0hvc3Q7XG5leHBvcnRzLnVuc3RhYmxlX3dyYXBDYWxsYmFjayA9IHVuc3RhYmxlX3dyYXBDYWxsYmFjaztcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/scheduler/cjs/scheduler.development.js\n")); - -/***/ }), - -/***/ "./node_modules/scheduler/index.js": -/*!*****************************************!*\ - !*** ./node_modules/scheduler/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/scheduler.development.js */ \"./node_modules/scheduler/cjs/scheduler.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxtSUFBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci9pbmRleC5qcz9jN2NjIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9zY2hlZHVsZXIucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvc2NoZWR1bGVyLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/scheduler/index.js\n")); - -/***/ }), - -/***/ "?506d": -/*!******************************************!*\ - !*** ./utils/resolve-rewrites (ignored) ***! - \******************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_interop_require_default.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_default; },\n/* harmony export */ _interop_require_default: function() { return /* binding */ _interop_require_default; }\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanM/NzZjYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9O1xufVxuZXhwb3J0IHsgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_interop_require_default.js\n")); - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_interop_require_wildcard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_wildcard.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_wildcard; },\n/* harmony export */ _interop_require_wildcard: function() { return /* binding */ _interop_require_wildcard; }\n/* harmony export */ });\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0EsdUZBQXVGOztBQUV2Rjs7QUFFQTs7QUFFQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUMwQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzP2MxODYiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuXG4gICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5leHBvcnQgZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHJldHVybiBvYmo7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHsgZGVmYXVsdDogb2JqIH07XG5cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuXG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG5cbiAgICB2YXIgbmV3T2JqID0geyBfX3Byb3RvX186IG51bGwgfTtcbiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICAgIGlmIChrZXkgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICAgIHZhciBkZXNjID0gaGFzUHJvcGVydHlEZXNjcmlwdG9yID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGRlc2MgJiYgKGRlc2MuZ2V0IHx8IGRlc2Muc2V0KSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIGVsc2UgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuXG4gICAgaWYgKGNhY2hlKSBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuXG4gICAgcmV0dXJuIG5ld09iajtcbn1cbmV4cG9ydCB7IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\n")); - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _tagged_template_literal_loose; },\n/* harmony export */ _tagged_template_literal_loose: function() { return /* binding */ _tagged_template_literal_loose; }\n/* harmony export */ });\nfunction _tagged_template_literal_loose(strings, raw) {\n if (!raw) raw = strings.slice(0);\n\n strings.raw = raw;\n\n return strings;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7QUFDK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLmpzPzZhNWIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZShzdHJpbmdzLCByYXcpIHtcbiAgICBpZiAoIXJhdykgcmF3ID0gc3RyaW5ncy5zbGljZSgwKTtcblxuICAgIHN0cmluZ3MucmF3ID0gcmF3O1xuXG4gICAgcmV0dXJuIHN0cmluZ3M7XG59XG5leHBvcnQgeyBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/client/next-dev.js")); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/fallback/pages/_app.js b/.next/static/chunks/fallback/pages/_app.js deleted file mode 100644 index 5faf5cf..0000000 --- a/.next/static/chunks/fallback/pages/_app.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_app"],{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!": -/*!********************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app! ***! - \********************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_app\",\n function () {\n return __webpack_require__(/*! next/dist/pages/_app */ \"./node_modules/next/dist/pages/_app.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_app\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD1uZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2FwcCZwYWdlPSUyRl9hcHAhIiwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1CQUFPLENBQUMsb0VBQXNCO0FBQzdDO0FBQ0E7QUFDQSxPQUFPLElBQVU7QUFDakIsTUFBTSxVQUFVO0FBQ2hCO0FBQ0EsT0FBTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz85NDE3Il0sInNvdXJjZXNDb250ZW50IjpbIlxuICAgICh3aW5kb3cuX19ORVhUX1AgPSB3aW5kb3cuX19ORVhUX1AgfHwgW10pLnB1c2goW1xuICAgICAgXCIvX2FwcFwiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIm5leHQvZGlzdC9wYWdlcy9fYXBwXCIpO1xuICAgICAgfVxuICAgIF0pO1xuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdpbmRvdy5fX05FWFRfUC5wdXNoKFtcIi9fYXBwXCJdKVxuICAgICAgfSk7XG4gICAgfVxuICAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"), __webpack_exec__("./node_modules/next/dist/client/router.js"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/fallback/pages/_error.js b/.next/static/chunks/fallback/pages/_error.js deleted file mode 100644 index 8b12bd3..0000000 --- a/.next/static/chunks/fallback/pages/_error.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_error"],{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!": -/*!************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error! ***! - \************************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_error\",\n function () {\n return __webpack_require__(/*! next/dist/pages/_error */ \"./node_modules/next/dist/pages/_error.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_error\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD1uZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2Vycm9yJnBhZ2U9JTJGX2Vycm9yISIsIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLHdFQUF3QjtBQUMvQztBQUNBO0FBQ0EsT0FBTyxJQUFVO0FBQ2pCLE1BQU0sVUFBVTtBQUNoQjtBQUNBLE9BQU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8/MDgwMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICAod2luZG93Ll9fTkVYVF9QID0gd2luZG93Ll9fTkVYVF9QIHx8IFtdKS5wdXNoKFtcbiAgICAgIFwiL19lcnJvclwiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIm5leHQvZGlzdC9wYWdlcy9fZXJyb3JcIik7XG4gICAgICB9XG4gICAgXSk7XG4gICAgaWYobW9kdWxlLmhvdCkge1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2luZG93Ll9fTkVYVF9QLnB1c2goW1wiL19lcnJvclwiXSlcbiAgICAgIH0pO1xuICAgIH1cbiAgIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["pages/_app","main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/fallback/react-refresh.js b/.next/static/chunks/fallback/react-refresh.js deleted file mode 100644 index 8dbd42d..0000000 --- a/.next/static/chunks/fallback/react-refresh.js +++ /dev/null @@ -1,62 +0,0 @@ -// runtime can't be in strict mode because a global variable is assign and maybe created. -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["react-refresh"],{ - -/***/ "./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js ***! - \********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n/**\n * MIT License\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// This file is copied from the Metro JavaScript bundler, with minor tweaks for\n// webpack 4 compatibility.\n//\n// https://github.com/facebook/metro/blob/d6b9685c730d0d63577db40f41369157f28dfa3a/packages/metro/src/lib/polyfills/require.js\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nfunction isSafeExport(key) {\n return (key === '__esModule' ||\n key === '__N_SSG' ||\n key === '__N_SSP' ||\n // TODO: remove this key from page config instead of allow listing it\n key === 'config');\n}\nfunction registerExportsForReactRefresh(moduleExports, moduleID) {\n runtime_1.default.register(moduleExports, moduleID + ' %exports%');\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n continue;\n }\n var typeID = moduleID + ' %exports% ' + key;\n runtime_1.default.register(exportValue, typeID);\n }\n}\nfunction getRefreshBoundarySignature(moduleExports) {\n var signature = [];\n signature.push(runtime_1.default.getFamilyByType(moduleExports));\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return signature;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n continue;\n }\n signature.push(key);\n signature.push(runtime_1.default.getFamilyByType(exportValue));\n }\n return signature;\n}\nfunction isReactRefreshBoundary(moduleExports) {\n if (runtime_1.default.isLikelyComponentType(moduleExports)) {\n return true;\n }\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n return false;\n }\n var hasExports = false;\n var areAllExportsComponents = true;\n for (var key in moduleExports) {\n hasExports = true;\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n return false;\n }\n if (!runtime_1.default.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n return hasExports && areAllExportsComponents;\n}\nfunction shouldInvalidateReactRefreshBoundary(prevSignature, nextSignature) {\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n for (var i = 0; i < nextSignature.length; i++) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n return false;\n}\nvar isUpdateScheduled = false;\n// This function aggregates updates from multiple modules into a single React Refresh call.\nfunction scheduleUpdate() {\n if (isUpdateScheduled) {\n return;\n }\n isUpdateScheduled = true;\n function canApplyUpdate(status) {\n return status === 'idle';\n }\n function applyUpdate() {\n isUpdateScheduled = false;\n try {\n runtime_1.default.performReactRefresh();\n }\n catch (err) {\n console.warn('Warning: Failed to re-render. We will retry on the next Fast Refresh event.\\n' +\n err);\n }\n }\n if (canApplyUpdate(module.hot.status())) {\n // Apply update on the next tick.\n Promise.resolve().then(() => {\n applyUpdate();\n });\n return;\n }\n const statusHandler = (status) => {\n if (canApplyUpdate(status)) {\n module.hot.removeStatusHandler(statusHandler);\n applyUpdate();\n }\n };\n // Apply update once the HMR runtime's status is idle.\n module.hot.addStatusHandler(statusHandler);\n}\n// Needs to be compatible with IE11\nexports[\"default\"] = {\n registerExportsForReactRefresh: registerExportsForReactRefresh,\n isReactRefreshBoundary: isReactRefreshBoundary,\n shouldInvalidateReactRefreshBoundary: shouldInvalidateReactRefreshBoundary,\n getRefreshBoundarySignature: getRefreshBoundarySignature,\n scheduleUpdate: scheduleUpdate,\n};\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LXJlZnJlc2gtdXRpbHMvZGlzdC9pbnRlcm5hbC9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLG1CQUFPLENBQUMsNEdBQTBDO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDBCQUEwQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLFVBQVU7QUFDakM7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxVQUFVO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxVQUFVO0FBQ2Q7QUFDQTtBQUNBLGtCQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9AbmV4dC9yZWFjdC1yZWZyZXNoLXV0aWxzL2Rpc3QvaW50ZXJuYWwvaGVscGVycy5qcz80MDNjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLyoqXG4gKiBNSVQgTGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8vIFRoaXMgZmlsZSBpcyBjb3BpZWQgZnJvbSB0aGUgTWV0cm8gSmF2YVNjcmlwdCBidW5kbGVyLCB3aXRoIG1pbm9yIHR3ZWFrcyBmb3Jcbi8vIHdlYnBhY2sgNCBjb21wYXRpYmlsaXR5LlxuLy9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9tZXRyby9ibG9iL2Q2Yjk2ODVjNzMwZDBkNjM1NzdkYjQwZjQxMzY5MTU3ZjI4ZGZhM2EvcGFja2FnZXMvbWV0cm8vc3JjL2xpYi9wb2x5ZmlsbHMvcmVxdWlyZS5qc1xuY29uc3QgcnVudGltZV8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtcmVmcmVzaC9ydW50aW1lXCIpKTtcbmZ1bmN0aW9uIGlzU2FmZUV4cG9ydChrZXkpIHtcbiAgICByZXR1cm4gKGtleSA9PT0gJ19fZXNNb2R1bGUnIHx8XG4gICAgICAgIGtleSA9PT0gJ19fTl9TU0cnIHx8XG4gICAgICAgIGtleSA9PT0gJ19fTl9TU1AnIHx8XG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIGtleSBmcm9tIHBhZ2UgY29uZmlnIGluc3RlYWQgb2YgYWxsb3cgbGlzdGluZyBpdFxuICAgICAgICBrZXkgPT09ICdjb25maWcnKTtcbn1cbmZ1bmN0aW9uIHJlZ2lzdGVyRXhwb3J0c0ZvclJlYWN0UmVmcmVzaChtb2R1bGVFeHBvcnRzLCBtb2R1bGVJRCkge1xuICAgIHJ1bnRpbWVfMS5kZWZhdWx0LnJlZ2lzdGVyKG1vZHVsZUV4cG9ydHMsIG1vZHVsZUlEICsgJyAlZXhwb3J0cyUnKTtcbiAgICBpZiAobW9kdWxlRXhwb3J0cyA9PSBudWxsIHx8IHR5cGVvZiBtb2R1bGVFeHBvcnRzICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyBFeGl0IGlmIHdlIGNhbid0IGl0ZXJhdGUgb3ZlciBleHBvcnRzLlxuICAgICAgICAvLyAoVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGxlZ2FjeSBlbnZpcm9ubWVudHMuKVxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAodmFyIGtleSBpbiBtb2R1bGVFeHBvcnRzKSB7XG4gICAgICAgIGlmIChpc1NhZmVFeHBvcnQoa2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBleHBvcnRWYWx1ZSA9IG1vZHVsZUV4cG9ydHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgbWlnaHQgZmFpbCBkdWUgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdHlwZUlEID0gbW9kdWxlSUQgKyAnICVleHBvcnRzJSAnICsga2V5O1xuICAgICAgICBydW50aW1lXzEuZGVmYXVsdC5yZWdpc3RlcihleHBvcnRWYWx1ZSwgdHlwZUlEKTtcbiAgICB9XG59XG5mdW5jdGlvbiBnZXRSZWZyZXNoQm91bmRhcnlTaWduYXR1cmUobW9kdWxlRXhwb3J0cykge1xuICAgIHZhciBzaWduYXR1cmUgPSBbXTtcbiAgICBzaWduYXR1cmUucHVzaChydW50aW1lXzEuZGVmYXVsdC5nZXRGYW1pbHlCeVR5cGUobW9kdWxlRXhwb3J0cykpO1xuICAgIGlmIChtb2R1bGVFeHBvcnRzID09IG51bGwgfHwgdHlwZW9mIG1vZHVsZUV4cG9ydHMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIC8vIEV4aXQgaWYgd2UgY2FuJ3QgaXRlcmF0ZSBvdmVyIGV4cG9ydHMuXG4gICAgICAgIC8vIChUaGlzIGlzIGltcG9ydGFudCBmb3IgbGVnYWN5IGVudmlyb25tZW50cy4pXG4gICAgICAgIHJldHVybiBzaWduYXR1cmU7XG4gICAgfVxuICAgIGZvciAodmFyIGtleSBpbiBtb2R1bGVFeHBvcnRzKSB7XG4gICAgICAgIGlmIChpc1NhZmVFeHBvcnQoa2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBleHBvcnRWYWx1ZSA9IG1vZHVsZUV4cG9ydHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgbWlnaHQgZmFpbCBkdWUgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBzaWduYXR1cmUucHVzaChrZXkpO1xuICAgICAgICBzaWduYXR1cmUucHVzaChydW50aW1lXzEuZGVmYXVsdC5nZXRGYW1pbHlCeVR5cGUoZXhwb3J0VmFsdWUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbn1cbmZ1bmN0aW9uIGlzUmVhY3RSZWZyZXNoQm91bmRhcnkobW9kdWxlRXhwb3J0cykge1xuICAgIGlmIChydW50aW1lXzEuZGVmYXVsdC5pc0xpa2VseUNvbXBvbmVudFR5cGUobW9kdWxlRXhwb3J0cykpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChtb2R1bGVFeHBvcnRzID09IG51bGwgfHwgdHlwZW9mIG1vZHVsZUV4cG9ydHMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIC8vIEV4aXQgaWYgd2UgY2FuJ3QgaXRlcmF0ZSBvdmVyIGV4cG9ydHMuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdmFyIGhhc0V4cG9ydHMgPSBmYWxzZTtcbiAgICB2YXIgYXJlQWxsRXhwb3J0c0NvbXBvbmVudHMgPSB0cnVlO1xuICAgIGZvciAodmFyIGtleSBpbiBtb2R1bGVFeHBvcnRzKSB7XG4gICAgICAgIGhhc0V4cG9ydHMgPSB0cnVlO1xuICAgICAgICBpZiAoaXNTYWZlRXhwb3J0KGtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgZXhwb3J0VmFsdWUgPSBtb2R1bGVFeHBvcnRzW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKF9hKSB7XG4gICAgICAgICAgICAvLyBUaGlzIG1pZ2h0IGZhaWwgZHVlIHRvIGNpcmN1bGFyIGRlcGVuZGVuY2llc1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcnVudGltZV8xLmRlZmF1bHQuaXNMaWtlbHlDb21wb25lbnRUeXBlKGV4cG9ydFZhbHVlKSkge1xuICAgICAgICAgICAgYXJlQWxsRXhwb3J0c0NvbXBvbmVudHMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaGFzRXhwb3J0cyAmJiBhcmVBbGxFeHBvcnRzQ29tcG9uZW50cztcbn1cbmZ1bmN0aW9uIHNob3VsZEludmFsaWRhdGVSZWFjdFJlZnJlc2hCb3VuZGFyeShwcmV2U2lnbmF0dXJlLCBuZXh0U2lnbmF0dXJlKSB7XG4gICAgaWYgKHByZXZTaWduYXR1cmUubGVuZ3RoICE9PSBuZXh0U2lnbmF0dXJlLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXh0U2lnbmF0dXJlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChwcmV2U2lnbmF0dXJlW2ldICE9PSBuZXh0U2lnbmF0dXJlW2ldKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG52YXIgaXNVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbi8vIFRoaXMgZnVuY3Rpb24gYWdncmVnYXRlcyB1cGRhdGVzIGZyb20gbXVsdGlwbGUgbW9kdWxlcyBpbnRvIGEgc2luZ2xlIFJlYWN0IFJlZnJlc2ggY2FsbC5cbmZ1bmN0aW9uIHNjaGVkdWxlVXBkYXRlKCkge1xuICAgIGlmIChpc1VwZGF0ZVNjaGVkdWxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlzVXBkYXRlU2NoZWR1bGVkID0gdHJ1ZTtcbiAgICBmdW5jdGlvbiBjYW5BcHBseVVwZGF0ZShzdGF0dXMpIHtcbiAgICAgICAgcmV0dXJuIHN0YXR1cyA9PT0gJ2lkbGUnO1xuICAgIH1cbiAgICBmdW5jdGlvbiBhcHBseVVwZGF0ZSgpIHtcbiAgICAgICAgaXNVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJ1bnRpbWVfMS5kZWZhdWx0LnBlcmZvcm1SZWFjdFJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1dhcm5pbmc6IEZhaWxlZCB0byByZS1yZW5kZXIuIFdlIHdpbGwgcmV0cnkgb24gdGhlIG5leHQgRmFzdCBSZWZyZXNoIGV2ZW50LlxcbicgK1xuICAgICAgICAgICAgICAgIGVycik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNhbkFwcGx5VXBkYXRlKG1vZHVsZS5ob3Quc3RhdHVzKCkpKSB7XG4gICAgICAgIC8vIEFwcGx5IHVwZGF0ZSBvbiB0aGUgbmV4dCB0aWNrLlxuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGFwcGx5VXBkYXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0YXR1c0hhbmRsZXIgPSAoc3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChjYW5BcHBseVVwZGF0ZShzdGF0dXMpKSB7XG4gICAgICAgICAgICBtb2R1bGUuaG90LnJlbW92ZVN0YXR1c0hhbmRsZXIoc3RhdHVzSGFuZGxlcik7XG4gICAgICAgICAgICBhcHBseVVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvLyBBcHBseSB1cGRhdGUgb25jZSB0aGUgSE1SIHJ1bnRpbWUncyBzdGF0dXMgaXMgaWRsZS5cbiAgICBtb2R1bGUuaG90LmFkZFN0YXR1c0hhbmRsZXIoc3RhdHVzSGFuZGxlcik7XG59XG4vLyBOZWVkcyB0byBiZSBjb21wYXRpYmxlIHdpdGggSUUxMVxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIHJlZ2lzdGVyRXhwb3J0c0ZvclJlYWN0UmVmcmVzaDogcmVnaXN0ZXJFeHBvcnRzRm9yUmVhY3RSZWZyZXNoLFxuICAgIGlzUmVhY3RSZWZyZXNoQm91bmRhcnk6IGlzUmVhY3RSZWZyZXNoQm91bmRhcnksXG4gICAgc2hvdWxkSW52YWxpZGF0ZVJlYWN0UmVmcmVzaEJvdW5kYXJ5OiBzaG91bGRJbnZhbGlkYXRlUmVhY3RSZWZyZXNoQm91bmRhcnksXG4gICAgZ2V0UmVmcmVzaEJvdW5kYXJ5U2lnbmF0dXJlOiBnZXRSZWZyZXNoQm91bmRhcnlTaWduYXR1cmUsXG4gICAgc2NoZWR1bGVVcGRhdGU6IHNjaGVkdWxlVXBkYXRlLFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nconst helpers_1 = __importDefault(__webpack_require__(/*! ./internal/helpers */ \"./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\"));\n// Hook into ReactDOM initialization\nruntime_1.default.injectIntoGlobalHook(self);\n// Register global helpers\nself.$RefreshHelpers$ = helpers_1.default;\n// Register a helper for module execution interception\nself.$RefreshInterceptModuleExecution$ = function (webpackModuleId) {\n var prevRefreshReg = self.$RefreshReg$;\n var prevRefreshSig = self.$RefreshSig$;\n self.$RefreshReg$ = function (type, id) {\n runtime_1.default.register(type, webpackModuleId + ' ' + id);\n };\n self.$RefreshSig$ = runtime_1.default.createSignatureFunctionForTransform;\n // Modeled after `useEffect` cleanup pattern:\n // https://react.dev/learn/synchronizing-with-effects#step-3-add-cleanup-if-needed\n return function () {\n self.$RefreshReg$ = prevRefreshReg;\n self.$RefreshSig$ = prevRefreshSig;\n };\n};\n//# sourceMappingURL=runtime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LXJlZnJlc2gtdXRpbHMvZGlzdC9ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0NBQWtDLG1CQUFPLENBQUMsNEdBQTBDO0FBQ3BGLGtDQUFrQyxtQkFBTyxDQUFDLGdIQUFvQjtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtcmVmcmVzaC11dGlscy9kaXN0L3J1bnRpbWUuanM/OGFiNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmNvbnN0IHJ1bnRpbWVfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvcnVudGltZVwiKSk7XG5jb25zdCBoZWxwZXJzXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIi4vaW50ZXJuYWwvaGVscGVyc1wiKSk7XG4vLyBIb29rIGludG8gUmVhY3RET00gaW5pdGlhbGl6YXRpb25cbnJ1bnRpbWVfMS5kZWZhdWx0LmluamVjdEludG9HbG9iYWxIb29rKHNlbGYpO1xuLy8gUmVnaXN0ZXIgZ2xvYmFsIGhlbHBlcnNcbnNlbGYuJFJlZnJlc2hIZWxwZXJzJCA9IGhlbHBlcnNfMS5kZWZhdWx0O1xuLy8gUmVnaXN0ZXIgYSBoZWxwZXIgZm9yIG1vZHVsZSBleGVjdXRpb24gaW50ZXJjZXB0aW9uXG5zZWxmLiRSZWZyZXNoSW50ZXJjZXB0TW9kdWxlRXhlY3V0aW9uJCA9IGZ1bmN0aW9uICh3ZWJwYWNrTW9kdWxlSWQpIHtcbiAgICB2YXIgcHJldlJlZnJlc2hSZWcgPSBzZWxmLiRSZWZyZXNoUmVnJDtcbiAgICB2YXIgcHJldlJlZnJlc2hTaWcgPSBzZWxmLiRSZWZyZXNoU2lnJDtcbiAgICBzZWxmLiRSZWZyZXNoUmVnJCA9IGZ1bmN0aW9uICh0eXBlLCBpZCkge1xuICAgICAgICBydW50aW1lXzEuZGVmYXVsdC5yZWdpc3Rlcih0eXBlLCB3ZWJwYWNrTW9kdWxlSWQgKyAnICcgKyBpZCk7XG4gICAgfTtcbiAgICBzZWxmLiRSZWZyZXNoU2lnJCA9IHJ1bnRpbWVfMS5kZWZhdWx0LmNyZWF0ZVNpZ25hdHVyZUZ1bmN0aW9uRm9yVHJhbnNmb3JtO1xuICAgIC8vIE1vZGVsZWQgYWZ0ZXIgYHVzZUVmZmVjdGAgY2xlYW51cCBwYXR0ZXJuOlxuICAgIC8vIGh0dHBzOi8vcmVhY3QuZGV2L2xlYXJuL3N5bmNocm9uaXppbmctd2l0aC1lZmZlY3RzI3N0ZXAtMy1hZGQtY2xlYW51cC1pZi1uZWVkZWRcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICBzZWxmLiRSZWZyZXNoUmVnJCA9IHByZXZSZWZyZXNoUmVnO1xuICAgICAgICBzZWxmLiRSZWZyZXNoU2lnJCA9IHByZXZSZWZyZXNoU2lnO1xuICAgIH07XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cnVudGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js ***! - \************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-refresh-runtime.development.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\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\n\nvar PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.\n// It's OK to reference families, but use WeakMap/Set for types.\n\nvar allFamiliesByID = new Map();\nvar allFamiliesByType = new PossiblyWeakMap();\nvar allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families\n// that have actually been edited here. This keeps checks fast.\n// $FlowIssue\n\nvar updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.\n// It is an array of [Family, NextType] tuples.\n\nvar pendingUpdates = []; // This is injected by the renderer via DevTools global hook.\n\nvar helpersByRendererID = new Map();\nvar helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.\n\nvar mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.\n\nvar failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.\n// It needs to be weak because we do this even for roots that failed to mount.\n// If there is no WeakMap, we won't attempt to do retrying.\n// $FlowIssue\n\nvar rootElements = // $FlowIssue\ntypeof WeakMap === 'function' ? new WeakMap() : null;\nvar isPerformingRefresh = false;\n\nfunction computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n\n var fullKey = signature.ownKey;\n var hooks;\n\n try {\n hooks = signature.getCustomHooks();\n } catch (err) {\n // This can happen in an edge case, e.g. if expression like Foo.useSomething\n // depends on Foo which is lazily initialized during rendering.\n // In that case just assume we'll have to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n\n if (typeof hook !== 'function') {\n // Something's wrong. Assume we need to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n var nestedHookSignature = allSignaturesByType.get(hook);\n\n if (nestedHookSignature === undefined) {\n // No signature means Hook wasn't in the source code, e.g. in a library.\n // We'll skip it because we can assume it won't change during this session.\n continue;\n }\n\n var nestedHookKey = computeFullKey(nestedHookSignature);\n\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n\n fullKey += '\\n---\\n' + nestedHookKey;\n }\n\n signature.fullKey = fullKey;\n return fullKey;\n}\n\nfunction haveEqualSignatures(prevType, nextType) {\n var prevSignature = allSignaturesByType.get(prevType);\n var nextSignature = allSignaturesByType.get(nextType);\n\n if (prevSignature === undefined && nextSignature === undefined) {\n return true;\n }\n\n if (prevSignature === undefined || nextSignature === undefined) {\n return false;\n }\n\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n\n if (nextSignature.forceReset) {\n return false;\n }\n\n return true;\n}\n\nfunction isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n}\n\nfunction canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n\n return false;\n}\n\nfunction resolveFamily(type) {\n // Only check updated types to keep lookups fast.\n return updatedFamiliesByType.get(type);\n} // If we didn't care about IE11, we could use new Map/Set(iterable).\n\n\nfunction cloneMap(map) {\n var clone = new Map();\n map.forEach(function (value, key) {\n clone.set(key, value);\n });\n return clone;\n}\n\nfunction cloneSet(set) {\n var clone = new Set();\n set.forEach(function (value) {\n clone.add(value);\n });\n return clone;\n} // This is a safety mechanism to protect against rogue getters and Proxies.\n\n\nfunction getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n // Intentionally ignore.\n return undefined;\n }\n}\n\nfunction performReactRefresh() {\n\n if (pendingUpdates.length === 0) {\n return null;\n }\n\n if (isPerformingRefresh) {\n return null;\n }\n\n isPerformingRefresh = true;\n\n try {\n var staleFamilies = new Set();\n var updatedFamilies = new Set();\n var updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(function (_ref) {\n var family = _ref[0],\n nextType = _ref[1];\n // Now that we got a real edit, we can create associations\n // that will be read by the React reconciler.\n var prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType; // Determine whether this should be a re-render or a re-mount.\n\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n }); // TODO: rename these fields to something more meaningful.\n\n var update = {\n updatedFamilies: updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies: staleFamilies // Families that will be remounted\n\n };\n helpersByRendererID.forEach(function (helpers) {\n // Even if there are no roots, set the handler on first update.\n // This ensures that if *new* roots are mounted, they'll use the resolve handler.\n helpers.setRefreshHandler(resolveFamily);\n });\n var didError = false;\n var firstError = null; // We snapshot maps and sets that are mutated during commits.\n // If we don't do this, there is a risk they will be mutated while\n // we iterate over them. For example, trying to recover a failed root\n // may cause another root to be added to the failed list -- an infinite loop.\n\n var failedRootsSnapshot = cloneSet(failedRoots);\n var mountedRootsSnapshot = cloneSet(mountedRoots);\n var helpersByRootSnapshot = cloneMap(helpersByRoot);\n failedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!failedRoots.has(root)) {// No longer failed.\n }\n\n if (rootElements === null) {\n return;\n }\n\n if (!rootElements.has(root)) {\n return;\n }\n\n var element = rootElements.get(root);\n\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n mountedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!mountedRoots.has(root)) {// No longer mounted.\n }\n\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n\n if (didError) {\n throw firstError;\n }\n\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n}\nfunction register(type, id) {\n {\n if (type === null) {\n return;\n }\n\n if (typeof type !== 'function' && typeof type !== 'object') {\n return;\n } // This can happen in an edge case, e.g. if we register\n // return value of a HOC but it returns a cached component.\n // Ignore anything but the first registration for each type.\n\n\n if (allFamiliesByType.has(type)) {\n return;\n } // Create family or remember to update it.\n // None of this bookkeeping affects reconciliation\n // until the first performReactRefresh() call above.\n\n\n var family = allFamiliesByID.get(id);\n\n if (family === undefined) {\n family = {\n current: type\n };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n\n allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + '$render');\n break;\n\n case REACT_MEMO_TYPE:\n register(type.type, id + '$type');\n break;\n }\n }\n }\n}\nfunction setSignature(type, key) {\n var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;\n\n {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset: forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || function () {\n return [];\n }\n });\n } // Visit inner types because we might not have signed them.\n\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n }\n} // This is lazily called during first render for a type.\n// It captures Hook list at that time so inline requires don't break comparisons.\n\nfunction collectCustomHooksForSignature(type) {\n {\n var signature = allSignaturesByType.get(type);\n\n if (signature !== undefined) {\n computeFullKey(signature);\n }\n }\n}\nfunction getFamilyByID(id) {\n {\n return allFamiliesByID.get(id);\n }\n}\nfunction getFamilyByType(type) {\n {\n return allFamiliesByType.get(type);\n }\n}\nfunction findAffectedHostInstances(families) {\n {\n var affectedInstances = new Set();\n mountedRoots.forEach(function (root) {\n var helpers = helpersByRoot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);\n instancesForRoot.forEach(function (inst) {\n affectedInstances.add(inst);\n });\n });\n return affectedInstances;\n }\n}\nfunction injectIntoGlobalHook(globalObject) {\n {\n // For React Native, the global hook will be set up by require('react-devtools-core').\n // That code will run before us. So we need to monkeypatch functions on existing hook.\n // For React Web, the global hook will be set up by the extension.\n // This will also run before us.\n var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook === undefined) {\n // However, if there is no DevTools extension, we'll need to set up the global hook ourselves.\n // Note that in this case it's important that renderer code runs *after* this method call.\n // Otherwise, the renderer will think that there is no global hook, and won't do the injection.\n var nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: new Map(),\n supportsFiber: true,\n inject: function (injected) {\n return nextID++;\n },\n onScheduleFiberRoot: function (id, root, children) {},\n onCommitFiberRoot: function (id, root, maybePriorityLevel, didError) {},\n onCommitFiberUnmount: function () {}\n };\n }\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // Using console['warn'] to evade Babel and ESLint\n console['warn']('Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). ' + 'Fast Refresh is not compatible with this shim and will be disabled.');\n return;\n } // Here, we just want to get a reference to scheduleRefresh.\n\n\n var oldInject = hook.inject;\n\n hook.inject = function (injected) {\n var id = oldInject.apply(this, arguments);\n\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n\n return id;\n }; // Do the same for any already injected roots.\n // This is useful if ReactDOM has already been initialized.\n // https://github.com/facebook/react/issues/17626\n\n\n hook.renderers.forEach(function (injected, id) {\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n }); // We also want to track currently mounted roots.\n\n var oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n\n var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function () {};\n\n hook.onScheduleFiberRoot = function (id, root, children) {\n if (!isPerformingRefresh) {\n // If it was intentionally scheduled, don't attempt to restore.\n // This includes intentionally scheduled unmounts.\n failedRoots.delete(root);\n\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n\n hook.onCommitFiberRoot = function (id, root, maybePriorityLevel, didError) {\n var helpers = helpersByRendererID.get(id);\n\n if (helpers !== undefined) {\n helpersByRoot.set(root, helpers);\n var current = root.current;\n var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.\n // This logic is copy-pasted from similar logic in the DevTools backend.\n // If this breaks with some refactoring, you'll want to update DevTools too.\n\n if (alternate !== null) {\n var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null && mountedRoots.has(root);\n var isMounted = current.memoizedState != null && current.memoizedState.element != null;\n\n if (!wasMounted && isMounted) {\n // Mount a new root.\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) ; else if (wasMounted && !isMounted) {\n // Unmount an existing root.\n mountedRoots.delete(root);\n\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n }\n }\n } else {\n // Mount a new root.\n mountedRoots.add(root);\n }\n } // Always call the decorated DevTools hook.\n\n\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n }\n}\nfunction hasUnrecoverableErrors() {\n // TODO: delete this after removing dependency in RN.\n return false;\n} // Exposed for testing.\n\nfunction _getMountedRootCount() {\n {\n return mountedRoots.size;\n }\n} // This is a wrapper over more primitive functions for setting signature.\n// Signatures let us decide whether the Hook order has changed on refresh.\n//\n// This function is intended to be used as a transform target, e.g.:\n// var _s = createSignatureFunctionForTransform()\n//\n// function Hello() {\n// const [foo, setFoo] = useState(0);\n// const value = useCustomHook();\n// _s(); /* Call without arguments triggers collecting the custom Hook list.\n// * This doesn't happen during the module evaluation because we\n// * don't want to change the module order with inline requires.\n// * Next calls are noops. */\n// return <h1>Hi</h1>;\n// }\n//\n// /* Call with arguments attaches the signature to the type: */\n// _s(\n// Hello,\n// 'useState{[foo, setFoo]}(0)',\n// () => [useCustomHook], /* Lazy to avoid triggering inline requires */\n// );\n\nfunction createSignatureFunctionForTransform() {\n {\n var savedType;\n var hasCustomHooks;\n var didCollectHooks = false;\n return function (type, key, forceReset, getCustomHooks) {\n if (typeof key === 'string') {\n // We're in the initial phase that associates signatures\n // with the functions. Note this may be called multiple times\n // in HOC chains like _s(hoc1(_s(hoc2(_s(actualFunction))))).\n if (!savedType) {\n // We're in the innermost call, so this is the actual type.\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === 'function';\n } // Set the signature for all types (even wrappers!) in case\n // they have no signatures of their own. This is to prevent\n // problems like https://github.com/facebook/react/issues/20417.\n\n\n if (type != null && (typeof type === 'function' || typeof type === 'object')) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n\n return type;\n } else {\n // We're in the _s() call without arguments, which means\n // this is the time to collect custom Hook signatures.\n // Only do this once. This path is hot and runs *inside* every render!\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n }\n };\n }\n}\nfunction isLikelyComponentType(type) {\n {\n switch (typeof type) {\n case 'function':\n {\n // First, deal with classes.\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n // React class.\n return true;\n }\n\n var ownNames = Object.getOwnPropertyNames(type.prototype);\n\n if (ownNames.length > 1 || ownNames[0] !== 'constructor') {\n // This looks like a class.\n return false;\n } // eslint-disable-next-line no-proto\n\n\n if (type.prototype.__proto__ !== Object.prototype) {\n // It has a superclass.\n return false;\n } // Pass through.\n // This looks like a regular function with empty prototype.\n\n } // For plain functions and arrows, use name as a heuristic.\n\n\n var name = type.name || type.displayName;\n return typeof name === 'string' && /^[A-Z]/.test(name);\n }\n\n case 'object':\n {\n if (type != null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n // Definitely React components.\n return true;\n\n default:\n return false;\n }\n }\n\n return false;\n }\n\n default:\n {\n return false;\n }\n }\n }\n}\n\nexports._getMountedRootCount = _getMountedRootCount;\nexports.collectCustomHooksForSignature = collectCustomHooksForSignature;\nexports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;\nexports.findAffectedHostInstances = findAffectedHostInstances;\nexports.getFamilyByID = getFamilyByID;\nexports.getFamilyByType = getFamilyByType;\nexports.hasUnrecoverableErrors = hasUnrecoverableErrors;\nexports.injectIntoGlobalHook = injectIntoGlobalHook;\nexports.isLikelyComponentType = isLikelyComponentType;\nexports.performReactRefresh = performReactRefresh;\nexports.register = register;\nexports.setSignature = setSignature;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvY2pzL3JlYWN0LXJlZnJlc2gtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxRUFBcUU7QUFDckU7O0FBRUE7QUFDQTtBQUNBLGlEQUFpRDtBQUNqRDtBQUNBOztBQUVBLG1EQUFtRDtBQUNuRDs7QUFFQSx5QkFBeUI7O0FBRXpCO0FBQ0EsK0JBQStCOztBQUUvQiw4QkFBOEI7O0FBRTlCLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0Isa0JBQWtCO0FBQ3BDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxJ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QSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGNBQWM7QUFDN0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjOzs7QUFHZDtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7O0FBRUEsWUFBWTs7O0FBR1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0QkFBNEI7QUFDNUIsc0NBQXNDO0FBQ3RDLDJDQUEyQztBQUMzQyxpQ0FBaUM7QUFDakMscUJBQXFCO0FBQ3JCLHVCQUF1QjtBQUN2Qiw4QkFBOEI7QUFDOUIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQixHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1yZWZyZXNoL2Nqcy9yZWFjdC1yZWZyZXNoLXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanM/N2U4NCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1yZWZyZXNoLXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG4vLyBBVFRFTlRJT05cbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG5cbnZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7IC8vIFdlIG5ldmVyIHJlbW92ZSB0aGVzZSBhc3NvY2lhdGlvbnMuXG4vLyBJdCdzIE9LIHRvIHJlZmVyZW5jZSBmYW1pbGllcywgYnV0IHVzZSBXZWFrTWFwL1NldCBmb3IgdHlwZXMuXG5cbnZhciBhbGxGYW1pbGllc0J5SUQgPSBuZXcgTWFwKCk7XG52YXIgYWxsRmFtaWxpZXNCeVR5cGUgPSBuZXcgUG9zc2libHlXZWFrTWFwKCk7XG52YXIgYWxsU2lnbmF0dXJlc0J5VHlwZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTsgLy8gVGhpcyBXZWFrTWFwIGlzIHJlYWQgYnkgUmVhY3QsIHNvIHdlIG9ubHkgcHV0IGZhbWlsaWVzXG4vLyB0aGF0IGhhdmUgYWN0dWFsbHkgYmVlbiBlZGl0ZWQgaGVyZS4gVGhpcyBrZWVwcyBjaGVja3MgZmFzdC5cbi8vICRGbG93SXNzdWVcblxudmFyIHVwZGF0ZWRGYW1pbGllc0J5VHlwZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTsgLy8gVGhpcyBpcyBjbGVhcmVkIG9uIGV2ZXJ5IHBlcmZvcm1SZWFjdFJlZnJlc2goKSBjYWxsLlxuLy8gSXQgaXMgYW4gYXJyYXkgb2YgW0ZhbWlseSwgTmV4dFR5cGVdIHR1cGxlcy5cblxudmFyIHBlbmRpbmdVcGRhdGVzID0gW107IC8vIFRoaXMgaXMgaW5qZWN0ZWQgYnkgdGhlIHJlbmRlcmVyIHZpYSBEZXZUb29scyBnbG9iYWwgaG9vay5cblxudmFyIGhlbHBlcnNCeVJlbmRlcmVySUQgPSBuZXcgTWFwKCk7XG52YXIgaGVscGVyc0J5Um9vdCA9IG5ldyBNYXAoKTsgLy8gV2Uga2VlcCB0cmFjayBvZiBtb3VudGVkIHJvb3RzIHNvIHdlIGNhbiBzY2hlZHVsZSB1cGRhdGVzLlxuXG52YXIgbW91bnRlZFJvb3RzID0gbmV3IFNldCgpOyAvLyBJZiBhIHJvb3QgY2FwdHVyZXMgYW4gZXJyb3IsIHdlIHJlbWVtYmVyIGl0IHNvIHdlIGNhbiByZXRyeSBvbiBlZGl0LlxuXG52YXIgZmFpbGVkUm9vdHMgPSBuZXcgU2V0KCk7IC8vIEluIGVudmlyb25tZW50cyB0aGF0IHN1cHBvcnQgV2Vha01hcCwgd2UgYWxzbyByZW1lbWJlciB0aGUgbGFzdCBlbGVtZW50IGZvciBldmVyeSByb290LlxuLy8gSXQgbmVlZHMgdG8gYmUgd2VhayBiZWNhdXNlIHdlIGRvIHRoaXMgZXZlbiBmb3Igcm9vdHMgdGhhdCBmYWlsZWQgdG8gbW91bnQuXG4vLyBJZiB0aGVyZSBpcyBubyBXZWFrTWFwLCB3ZSB3b24ndCBhdHRlbXB0IHRvIGRvIHJldHJ5aW5nLlxuLy8gJEZsb3dJc3N1ZVxuXG52YXIgcm9vdEVsZW1lbnRzID0gLy8gJEZsb3dJc3N1ZVxudHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBuZXcgV2Vha01hcCgpIDogbnVsbDtcbnZhciBpc1BlcmZvcm1pbmdSZWZyZXNoID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGNvbXB1dGVGdWxsS2V5KHNpZ25hdHVyZSkge1xuICBpZiAoc2lnbmF0dXJlLmZ1bGxLZXkgIT09IG51bGwpIHtcbiAgICByZXR1cm4gc2lnbmF0dXJlLmZ1bGxLZXk7XG4gIH1cblxuICB2YXIgZnVsbEtleSA9IHNpZ25hdHVyZS5vd25LZXk7XG4gIHZhciBob29rcztcblxuICB0cnkge1xuICAgIGhvb2tzID0gc2lnbmF0dXJlLmdldEN1c3RvbUhvb2tzKCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpbiBhbiBlZGdlIGNhc2UsIGUuZy4gaWYgZXhwcmVzc2lvbiBsaWtlIEZvby51c2VTb21ldGhpbmdcbiAgICAvLyBkZXBlbmRzIG9uIEZvbyB3aGljaCBpcyBsYXppbHkgaW5pdGlhbGl6ZWQgZHVyaW5nIHJlbmRlcmluZy5cbiAgICAvLyBJbiB0aGF0IGNhc2UganVzdCBhc3N1bWUgd2UnbGwgaGF2ZSB0byByZW1vdW50LlxuICAgIHNpZ25hdHVyZS5mb3JjZVJlc2V0ID0gdHJ1ZTtcbiAgICBzaWduYXR1cmUuZnVsbEtleSA9IGZ1bGxLZXk7XG4gICAgcmV0dXJuIGZ1bGxLZXk7XG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGhvb2sgPSBob29rc1tpXTtcblxuICAgIGlmICh0eXBlb2YgaG9vayAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gU29tZXRoaW5nJ3Mgd3JvbmcuIEFzc3VtZSB3ZSBuZWVkIHRvIHJlbW91bnQuXG4gICAgICBzaWduYXR1cmUuZm9yY2VSZXNldCA9IHRydWU7XG4gICAgICBzaWduYXR1cmUuZnVsbEtleSA9IGZ1bGxLZXk7XG4gICAgICByZXR1cm4gZnVsbEtleTtcbiAgICB9XG5cbiAgICB2YXIgbmVzdGVkSG9va1NpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KGhvb2spO1xuXG4gICAgaWYgKG5lc3RlZEhvb2tTaWduYXR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gTm8gc2lnbmF0dXJlIG1lYW5zIEhvb2sgd2Fzbid0IGluIHRoZSBzb3VyY2UgY29kZSwgZS5nLiBpbiBhIGxpYnJhcnkuXG4gICAgICAvLyBXZSdsbCBza2lwIGl0IGJlY2F1c2Ugd2UgY2FuIGFzc3VtZSBpdCB3b24ndCBjaGFuZ2UgZHVyaW5nIHRoaXMgc2Vzc2lvbi5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciBuZXN0ZWRIb29rS2V5ID0gY29tcHV0ZUZ1bGxLZXkobmVzdGVkSG9va1NpZ25hdHVyZSk7XG5cbiAgICBpZiAobmVzdGVkSG9va1NpZ25hdHVyZS5mb3JjZVJlc2V0KSB7XG4gICAgICBzaWduYXR1cmUuZm9yY2VSZXNldCA9IHRydWU7XG4gICAgfVxuXG4gICAgZnVsbEtleSArPSAnXFxuLS0tXFxuJyArIG5lc3RlZEhvb2tLZXk7XG4gIH1cblxuICBzaWduYXR1cmUuZnVsbEtleSA9IGZ1bGxLZXk7XG4gIHJldHVybiBmdWxsS2V5O1xufVxuXG5mdW5jdGlvbiBoYXZlRXF1YWxTaWduYXR1cmVzKHByZXZUeXBlLCBuZXh0VHlwZSkge1xuICB2YXIgcHJldlNpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KHByZXZUeXBlKTtcbiAgdmFyIG5leHRTaWduYXR1cmUgPSBhbGxTaWduYXR1cmVzQnlUeXBlLmdldChuZXh0VHlwZSk7XG5cbiAgaWYgKHByZXZTaWduYXR1cmUgPT09IHVuZGVmaW5lZCAmJiBuZXh0U2lnbmF0dXJlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcmV2U2lnbmF0dXJlID09PSB1bmRlZmluZWQgfHwgbmV4dFNpZ25hdHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGNvbXB1dGVGdWxsS2V5KHByZXZTaWduYXR1cmUpICE9PSBjb21wdXRlRnVsbEtleShuZXh0U2lnbmF0dXJlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChuZXh0U2lnbmF0dXJlLmZvcmNlUmVzZXQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gaXNSZWFjdENsYXNzKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUucHJvdG90eXBlICYmIHR5cGUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIGNhblByZXNlcnZlU3RhdGVCZXR3ZWVuKHByZXZUeXBlLCBuZXh0VHlwZSkge1xuICBpZiAoaXNSZWFjdENsYXNzKHByZXZUeXBlKSB8fCBpc1JlYWN0Q2xhc3MobmV4dFR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGhhdmVFcXVhbFNpZ25hdHVyZXMocHJldlR5cGUsIG5leHRUeXBlKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRmFtaWx5KHR5cGUpIHtcbiAgLy8gT25seSBjaGVjayB1cGRhdGVkIHR5cGVzIHRvIGtlZXAgbG9va3VwcyBmYXN0LlxuICByZXR1cm4gdXBkYXRlZEZhbWlsaWVzQnlUeXBlLmdldCh0eXBlKTtcbn0gLy8gSWYgd2UgZGlkbid0IGNhcmUgYWJvdXQgSUUxMSwgd2UgY291bGQgdXNlIG5ldyBNYXAvU2V0KGl0ZXJhYmxlKS5cblxuXG5mdW5jdGlvbiBjbG9uZU1hcChtYXApIHtcbiAgdmFyIGNsb25lID0gbmV3IE1hcCgpO1xuICBtYXAuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUsIGtleSkge1xuICAgIGNsb25lLnNldChrZXksIHZhbHVlKTtcbiAgfSk7XG4gIHJldHVybiBjbG9uZTtcbn1cblxuZnVuY3Rpb24gY2xvbmVTZXQoc2V0KSB7XG4gIHZhciBjbG9uZSA9IG5ldyBTZXQoKTtcbiAgc2V0LmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgY2xvbmUuYWRkKHZhbHVlKTtcbiAgfSk7XG4gIHJldHVybiBjbG9uZTtcbn0gLy8gVGhpcyBpcyBhIHNhZmV0eSBtZWNoYW5pc20gdG8gcHJvdGVjdCBhZ2FpbnN0IHJvZ3VlIGdldHRlcnMgYW5kIFByb3hpZXMuXG5cblxuZnVuY3Rpb24gZ2V0UHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eSkge1xuICB0cnkge1xuICAgIHJldHVybiBvYmplY3RbcHJvcGVydHldO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBJbnRlbnRpb25hbGx5IGlnbm9yZS5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBlcmZvcm1SZWFjdFJlZnJlc2goKSB7XG5cbiAgaWYgKHBlbmRpbmdVcGRhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGlzUGVyZm9ybWluZ1JlZnJlc2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlzUGVyZm9ybWluZ1JlZnJlc2ggPSB0cnVlO1xuXG4gIHRyeSB7XG4gICAgdmFyIHN0YWxlRmFtaWxpZXMgPSBuZXcgU2V0KCk7XG4gICAgdmFyIHVwZGF0ZWRGYW1pbGllcyA9IG5ldyBTZXQoKTtcbiAgICB2YXIgdXBkYXRlcyA9IHBlbmRpbmdVcGRhdGVzO1xuICAgIHBlbmRpbmdVcGRhdGVzID0gW107XG4gICAgdXBkYXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgICB2YXIgZmFtaWx5ID0gX3JlZlswXSxcbiAgICAgICAgICBuZXh0VHlwZSA9IF9yZWZbMV07XG4gICAgICAvLyBOb3cgdGhhdCB3ZSBnb3QgYSByZWFsIGVkaXQsIHdlIGNhbiBjcmVhdGUgYXNzb2NpYXRpb25zXG4gICAgICAvLyB0aGF0IHdpbGwgYmUgcmVhZCBieSB0aGUgUmVhY3QgcmVjb25jaWxlci5cbiAgICAgIHZhciBwcmV2VHlwZSA9IGZhbWlseS5jdXJyZW50O1xuICAgICAgdXBkYXRlZEZhbWlsaWVzQnlUeXBlLnNldChwcmV2VHlwZSwgZmFtaWx5KTtcbiAgICAgIHVwZGF0ZWRGYW1pbGllc0J5VHlwZS5zZXQobmV4dFR5cGUsIGZhbWlseSk7XG4gICAgICBmYW1pbHkuY3VycmVudCA9IG5leHRUeXBlOyAvLyBEZXRlcm1pbmUgd2hldGhlciB0aGlzIHNob3VsZCBiZSBhIHJlLXJlbmRlciBvciBhIHJlLW1vdW50LlxuXG4gICAgICBpZiAoY2FuUHJlc2VydmVTdGF0ZUJldHdlZW4ocHJldlR5cGUsIG5leHRUeXBlKSkge1xuICAgICAgICB1cGRhdGVkRmFtaWxpZXMuYWRkKGZhbWlseSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFsZUZhbWlsaWVzLmFkZChmYW1pbHkpO1xuICAgICAgfVxuICAgIH0pOyAvLyBUT0RPOiByZW5hbWUgdGhlc2UgZmllbGRzIHRvIHNvbWV0aGluZyBtb3JlIG1lYW5pbmdmdWwuXG5cbiAgICB2YXIgdXBkYXRlID0ge1xuICAgICAgdXBkYXRlZEZhbWlsaWVzOiB1cGRhdGVkRmFtaWxpZXMsXG4gICAgICAvLyBGYW1pbGllcyB0aGF0IHdpbGwgcmUtcmVuZGVyIHByZXNlcnZpbmcgc3RhdGVcbiAgICAgIHN0YWxlRmFtaWxpZXM6IHN0YWxlRmFtaWxpZXMgLy8gRmFtaWxpZXMgdGhhdCB3aWxsIGJlIHJlbW91bnRlZFxuXG4gICAgfTtcbiAgICBoZWxwZXJzQnlSZW5kZXJlcklELmZvckVhY2goZnVuY3Rpb24gKGhlbHBlcnMpIHtcbiAgICAgIC8vIEV2ZW4gaWYgdGhlcmUgYXJlIG5vIHJvb3RzLCBzZXQgdGhlIGhhbmRsZXIgb24gZmlyc3QgdXBkYXRlLlxuICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoYXQgaWYgKm5ldyogcm9vdHMgYXJlIG1vdW50ZWQsIHRoZXknbGwgdXNlIHRoZSByZXNvbHZlIGhhbmRsZXIuXG4gICAgICBoZWxwZXJzLnNldFJlZnJlc2hIYW5kbGVyKHJlc29sdmVGYW1pbHkpO1xuICAgIH0pO1xuICAgIHZhciBkaWRFcnJvciA9IGZhbHNlO1xuICAgIHZhciBmaXJzdEVycm9yID0gbnVsbDsgLy8gV2Ugc25hcHNob3QgbWFwcyBhbmQgc2V0cyB0aGF0IGFyZSBtdXRhdGVkIGR1cmluZyBjb21taXRzLlxuICAgIC8vIElmIHdlIGRvbid0IGRvIHRoaXMsIHRoZXJlIGlzIGEgcmlzayB0aGV5IHdpbGwgYmUgbXV0YXRlZCB3aGlsZVxuICAgIC8vIHdlIGl0ZXJhdGUgb3ZlciB0aGVtLiBGb3IgZXhhbXBsZSwgdHJ5aW5nIHRvIHJlY292ZXIgYSBmYWlsZWQgcm9vdFxuICAgIC8vIG1heSBjYXVzZSBhbm90aGVyIHJvb3QgdG8gYmUgYWRkZWQgdG8gdGhlIGZhaWxlZCBsaXN0IC0tIGFuIGluZmluaXRlIGxvb3AuXG5cbiAgICB2YXIgZmFpbGVkUm9vdHNTbmFwc2hvdCA9IGNsb25lU2V0KGZhaWxlZFJvb3RzKTtcbiAgICB2YXIgbW91bnRlZFJvb3RzU25hcHNob3QgPSBjbG9uZVNldChtb3VudGVkUm9vdHMpO1xuICAgIHZhciBoZWxwZXJzQnlSb290U25hcHNob3QgPSBjbG9uZU1hcChoZWxwZXJzQnlSb290KTtcbiAgICBmYWlsZWRSb290c1NuYXBzaG90LmZvckVhY2goZnVuY3Rpb24gKHJvb3QpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5Um9vdFNuYXBzaG90LmdldChyb290KTtcblxuICAgICAgaWYgKGhlbHBlcnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGhlbHBlcnMgZm9yIGEgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdCBSZWZyZXNoLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhaWxlZFJvb3RzLmhhcyhyb290KSkgey8vIE5vIGxvbmdlciBmYWlsZWQuXG4gICAgICB9XG5cbiAgICAgIGlmIChyb290RWxlbWVudHMgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJvb3RFbGVtZW50cy5oYXMocm9vdCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgZWxlbWVudCA9IHJvb3RFbGVtZW50cy5nZXQocm9vdCk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGhlbHBlcnMuc2NoZWR1bGVSb290KHJvb3QsIGVsZW1lbnQpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICghZGlkRXJyb3IpIHtcbiAgICAgICAgICBkaWRFcnJvciA9IHRydWU7XG4gICAgICAgICAgZmlyc3RFcnJvciA9IGVycjtcbiAgICAgICAgfSAvLyBLZWVwIHRyeWluZyBvdGhlciByb290cy5cblxuICAgICAgfVxuICAgIH0pO1xuICAgIG1vdW50ZWRSb290c1NuYXBzaG90LmZvckVhY2goZnVuY3Rpb24gKHJvb3QpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5Um9vdFNuYXBzaG90LmdldChyb290KTtcblxuICAgICAgaWYgKGhlbHBlcnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGhlbHBlcnMgZm9yIGEgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdCBSZWZyZXNoLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIW1vdW50ZWRSb290cy5oYXMocm9vdCkpIHsvLyBObyBsb25nZXIgbW91bnRlZC5cbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgaGVscGVycy5zY2hlZHVsZVJlZnJlc2gocm9vdCwgdXBkYXRlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoIWRpZEVycm9yKSB7XG4gICAgICAgICAgZGlkRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIGZpcnN0RXJyb3IgPSBlcnI7XG4gICAgICAgIH0gLy8gS2VlcCB0cnlpbmcgb3RoZXIgcm9vdHMuXG5cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChkaWRFcnJvcikge1xuICAgICAgdGhyb3cgZmlyc3RFcnJvcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdXBkYXRlO1xuICB9IGZpbmFsbHkge1xuICAgIGlzUGVyZm9ybWluZ1JlZnJlc2ggPSBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gcmVnaXN0ZXIodHlwZSwgaWQpIHtcbiAge1xuICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB0eXBlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIGluIGFuIGVkZ2UgY2FzZSwgZS5nLiBpZiB3ZSByZWdpc3RlclxuICAgIC8vIHJldHVybiB2YWx1ZSBvZiBhIEhPQyBidXQgaXQgcmV0dXJucyBhIGNhY2hlZCBjb21wb25lbnQuXG4gICAgLy8gSWdub3JlIGFueXRoaW5nIGJ1dCB0aGUgZmlyc3QgcmVnaXN0cmF0aW9uIGZvciBlYWNoIHR5cGUuXG5cblxuICAgIGlmIChhbGxGYW1pbGllc0J5VHlwZS5oYXModHlwZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIENyZWF0ZSBmYW1pbHkgb3IgcmVtZW1iZXIgdG8gdXBkYXRlIGl0LlxuICAgIC8vIE5vbmUgb2YgdGhpcyBib29ra2VlcGluZyBhZmZlY3RzIHJlY29uY2lsaWF0aW9uXG4gICAgLy8gdW50aWwgdGhlIGZpcnN0IHBlcmZvcm1SZWFjdFJlZnJlc2goKSBjYWxsIGFib3ZlLlxuXG5cbiAgICB2YXIgZmFtaWx5ID0gYWxsRmFtaWxpZXNCeUlELmdldChpZCk7XG5cbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGZhbWlseSA9IHtcbiAgICAgICAgY3VycmVudDogdHlwZVxuICAgICAgfTtcbiAgICAgIGFsbEZhbWlsaWVzQnlJRC5zZXQoaWQsIGZhbWlseSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlbmRpbmdVcGRhdGVzLnB1c2goW2ZhbWlseSwgdHlwZV0pO1xuICAgIH1cblxuICAgIGFsbEZhbWlsaWVzQnlUeXBlLnNldCh0eXBlLCBmYW1pbHkpOyAvLyBWaXNpdCBpbm5lciB0eXBlcyBiZWNhdXNlIHdlIG1pZ2h0IG5vdCBoYXZlIHJlZ2lzdGVyZWQgdGhlbS5cblxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChnZXRQcm9wZXJ0eSh0eXBlLCAnJCR0eXBlb2YnKSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgcmVnaXN0ZXIodHlwZS5yZW5kZXIsIGlkICsgJyRyZW5kZXInKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgICByZWdpc3Rlcih0eXBlLnR5cGUsIGlkICsgJyR0eXBlJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBzZXRTaWduYXR1cmUodHlwZSwga2V5KSB7XG4gIHZhciBmb3JjZVJlc2V0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBmYWxzZTtcbiAgdmFyIGdldEN1c3RvbUhvb2tzID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgPyBhcmd1bWVudHNbM10gOiB1bmRlZmluZWQ7XG5cbiAge1xuICAgIGlmICghYWxsU2lnbmF0dXJlc0J5VHlwZS5oYXModHlwZSkpIHtcbiAgICAgIGFsbFNpZ25hdHVyZXNCeVR5cGUuc2V0KHR5cGUsIHtcbiAgICAgICAgZm9yY2VSZXNldDogZm9yY2VSZXNldCxcbiAgICAgICAgb3duS2V5OiBrZXksXG4gICAgICAgIGZ1bGxLZXk6IG51bGwsXG4gICAgICAgIGdldEN1c3RvbUhvb2tzOiBnZXRDdXN0b21Ib29rcyB8fCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IC8vIFZpc2l0IGlubmVyIHR5cGVzIGJlY2F1c2Ugd2UgbWlnaHQgbm90IGhhdmUgc2lnbmVkIHRoZW0uXG5cblxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChnZXRQcm9wZXJ0eSh0eXBlLCAnJCR0eXBlb2YnKSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgc2V0U2lnbmF0dXJlKHR5cGUucmVuZGVyLCBrZXksIGZvcmNlUmVzZXQsIGdldEN1c3RvbUhvb2tzKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgICBzZXRTaWduYXR1cmUodHlwZS50eXBlLCBrZXksIGZvcmNlUmVzZXQsIGdldEN1c3RvbUhvb2tzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gLy8gVGhpcyBpcyBsYXppbHkgY2FsbGVkIGR1cmluZyBmaXJzdCByZW5kZXIgZm9yIGEgdHlwZS5cbi8vIEl0IGNhcHR1cmVzIEhvb2sgbGlzdCBhdCB0aGF0IHRpbWUgc28gaW5saW5lIHJlcXVpcmVzIGRvbid0IGJyZWFrIGNvbXBhcmlzb25zLlxuXG5mdW5jdGlvbiBjb2xsZWN0Q3VzdG9tSG9va3NGb3JTaWduYXR1cmUodHlwZSkge1xuICB7XG4gICAgdmFyIHNpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KHR5cGUpO1xuXG4gICAgaWYgKHNpZ25hdHVyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb21wdXRlRnVsbEtleShzaWduYXR1cmUpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZ2V0RmFtaWx5QnlJRChpZCkge1xuICB7XG4gICAgcmV0dXJuIGFsbEZhbWlsaWVzQnlJRC5nZXQoaWQpO1xuICB9XG59XG5mdW5jdGlvbiBnZXRGYW1pbHlCeVR5cGUodHlwZSkge1xuICB7XG4gICAgcmV0dXJuIGFsbEZhbWlsaWVzQnlUeXBlLmdldCh0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZmluZEFmZmVjdGVkSG9zdEluc3RhbmNlcyhmYW1pbGllcykge1xuICB7XG4gICAgdmFyIGFmZmVjdGVkSW5zdGFuY2VzID0gbmV3IFNldCgpO1xuICAgIG1vdW50ZWRSb290cy5mb3JFYWNoKGZ1bmN0aW9uIChyb290KSB7XG4gICAgICB2YXIgaGVscGVycyA9IGhlbHBlcnNCeVJvb3QuZ2V0KHJvb3QpO1xuXG4gICAgICBpZiAoaGVscGVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgaGVscGVycyBmb3IgYSByb290LiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0IFJlZnJlc2guJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBpbnN0YW5jZXNGb3JSb290ID0gaGVscGVycy5maW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2gocm9vdCwgZmFtaWxpZXMpO1xuICAgICAgaW5zdGFuY2VzRm9yUm9vdC5mb3JFYWNoKGZ1bmN0aW9uIChpbnN0KSB7XG4gICAgICAgIGFmZmVjdGVkSW5zdGFuY2VzLmFkZChpbnN0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBhZmZlY3RlZEluc3RhbmNlcztcbiAgfVxufVxuZnVuY3Rpb24gaW5qZWN0SW50b0dsb2JhbEhvb2soZ2xvYmFsT2JqZWN0KSB7XG4gIHtcbiAgICAvLyBGb3IgUmVhY3QgTmF0aXZlLCB0aGUgZ2xvYmFsIGhvb2sgd2lsbCBiZSBzZXQgdXAgYnkgcmVxdWlyZSgncmVhY3QtZGV2dG9vbHMtY29yZScpLlxuICAgIC8vIFRoYXQgY29kZSB3aWxsIHJ1biBiZWZvcmUgdXMuIFNvIHdlIG5lZWQgdG8gbW9ua2V5cGF0Y2ggZnVuY3Rpb25zIG9uIGV4aXN0aW5nIGhvb2suXG4gICAgLy8gRm9yIFJlYWN0IFdlYiwgdGhlIGdsb2JhbCBob29rIHdpbGwgYmUgc2V0IHVwIGJ5IHRoZSBleHRlbnNpb24uXG4gICAgLy8gVGhpcyB3aWxsIGFsc28gcnVuIGJlZm9yZSB1cy5cbiAgICB2YXIgaG9vayA9IGdsb2JhbE9iamVjdC5fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187XG5cbiAgICBpZiAoaG9vayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBIb3dldmVyLCBpZiB0aGVyZSBpcyBubyBEZXZUb29scyBleHRlbnNpb24sIHdlJ2xsIG5lZWQgdG8gc2V0IHVwIHRoZSBnbG9iYWwgaG9vayBvdXJzZWx2ZXMuXG4gICAgICAvLyBOb3RlIHRoYXQgaW4gdGhpcyBjYXNlIGl0J3MgaW1wb3J0YW50IHRoYXQgcmVuZGVyZXIgY29kZSBydW5zICphZnRlciogdGhpcyBtZXRob2QgY2FsbC5cbiAgICAgIC8vIE90aGVyd2lzZSwgdGhlIHJlbmRlcmVyIHdpbGwgdGhpbmsgdGhhdCB0aGVyZSBpcyBubyBnbG9iYWwgaG9vaywgYW5kIHdvbid0IGRvIHRoZSBpbmplY3Rpb24uXG4gICAgICB2YXIgbmV4dElEID0gMDtcbiAgICAgIGdsb2JhbE9iamVjdC5fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPSBob29rID0ge1xuICAgICAgICByZW5kZXJlcnM6IG5ldyBNYXAoKSxcbiAgICAgICAgc3VwcG9ydHNGaWJlcjogdHJ1ZSxcbiAgICAgICAgaW5qZWN0OiBmdW5jdGlvbiAoaW5qZWN0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dElEKys7XG4gICAgICAgIH0sXG4gICAgICAgIG9uU2NoZWR1bGVGaWJlclJvb3Q6IGZ1bmN0aW9uIChpZCwgcm9vdCwgY2hpbGRyZW4pIHt9LFxuICAgICAgICBvbkNvbW1pdEZpYmVyUm9vdDogZnVuY3Rpb24gKGlkLCByb290LCBtYXliZVByaW9yaXR5TGV2ZWwsIGRpZEVycm9yKSB7fSxcbiAgICAgICAgb25Db21taXRGaWJlclVubW91bnQ6IGZ1bmN0aW9uICgpIHt9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChob29rLmlzRGlzYWJsZWQpIHtcbiAgICAgIC8vIFRoaXMgaXNuJ3QgYSByZWFsIHByb3BlcnR5IG9uIHRoZSBob29rLCBidXQgaXQgY2FuIGJlIHNldCB0byBvcHQgb3V0XG4gICAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cbiAgICAgIC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG4gICAgICBjb25zb2xlWyd3YXJuJ10oJ1NvbWV0aGluZyBoYXMgc2hpbW1lZCB0aGUgUmVhY3QgRGV2VG9vbHMgZ2xvYmFsIGhvb2sgKF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXykuICcgKyAnRmFzdCBSZWZyZXNoIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhpcyBzaGltIGFuZCB3aWxsIGJlIGRpc2FibGVkLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSGVyZSwgd2UganVzdCB3YW50IHRvIGdldCBhIHJlZmVyZW5jZSB0byBzY2hlZHVsZVJlZnJlc2guXG5cblxuICAgIHZhciBvbGRJbmplY3QgPSBob29rLmluamVjdDtcblxuICAgIGhvb2suaW5qZWN0ID0gZnVuY3Rpb24gKGluamVjdGVkKSB7XG4gICAgICB2YXIgaWQgPSBvbGRJbmplY3QuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICAgICAgaWYgKHR5cGVvZiBpbmplY3RlZC5zY2hlZHVsZVJlZnJlc2ggPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGluamVjdGVkLnNldFJlZnJlc2hIYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFRoaXMgdmVyc2lvbiBzdXBwb3J0cyBSZWFjdCBSZWZyZXNoLlxuICAgICAgICBoZWxwZXJzQnlSZW5kZXJlcklELnNldChpZCwgaW5qZWN0ZWQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWQ7XG4gICAgfTsgLy8gRG8gdGhlIHNhbWUgZm9yIGFueSBhbHJlYWR5IGluamVjdGVkIHJvb3RzLlxuICAgIC8vIFRoaXMgaXMgdXNlZnVsIGlmIFJlYWN0RE9NIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNzYyNlxuXG5cbiAgICBob29rLnJlbmRlcmVycy5mb3JFYWNoKGZ1bmN0aW9uIChpbmplY3RlZCwgaWQpIHtcbiAgICAgIGlmICh0eXBlb2YgaW5qZWN0ZWQuc2NoZWR1bGVSZWZyZXNoID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbmplY3RlZC5zZXRSZWZyZXNoSGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBUaGlzIHZlcnNpb24gc3VwcG9ydHMgUmVhY3QgUmVmcmVzaC5cbiAgICAgICAgaGVscGVyc0J5UmVuZGVyZXJJRC5zZXQoaWQsIGluamVjdGVkKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gV2UgYWxzbyB3YW50IHRvIHRyYWNrIGN1cnJlbnRseSBtb3VudGVkIHJvb3RzLlxuXG4gICAgdmFyIG9sZE9uQ29tbWl0RmliZXJSb290ID0gaG9vay5vbkNvbW1pdEZpYmVyUm9vdDtcblxuICAgIHZhciBvbGRPblNjaGVkdWxlRmliZXJSb290ID0gaG9vay5vblNjaGVkdWxlRmliZXJSb290IHx8IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgaG9vay5vblNjaGVkdWxlRmliZXJSb290ID0gZnVuY3Rpb24gKGlkLCByb290LCBjaGlsZHJlbikge1xuICAgICAgaWYgKCFpc1BlcmZvcm1pbmdSZWZyZXNoKSB7XG4gICAgICAgIC8vIElmIGl0IHdhcyBpbnRlbnRpb25hbGx5IHNjaGVkdWxlZCwgZG9uJ3QgYXR0ZW1wdCB0byByZXN0b3JlLlxuICAgICAgICAvLyBUaGlzIGluY2x1ZGVzIGludGVudGlvbmFsbHkgc2NoZWR1bGVkIHVubW91bnRzLlxuICAgICAgICBmYWlsZWRSb290cy5kZWxldGUocm9vdCk7XG5cbiAgICAgICAgaWYgKHJvb3RFbGVtZW50cyAhPT0gbnVsbCkge1xuICAgICAgICAgIHJvb3RFbGVtZW50cy5zZXQocm9vdCwgY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvbGRPblNjaGVkdWxlRmliZXJSb290LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfTtcblxuICAgIGhvb2sub25Db21taXRGaWJlclJvb3QgPSBmdW5jdGlvbiAoaWQsIHJvb3QsIG1heWJlUHJpb3JpdHlMZXZlbCwgZGlkRXJyb3IpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5UmVuZGVyZXJJRC5nZXQoaWQpO1xuXG4gICAgICBpZiAoaGVscGVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGhlbHBlcnNCeVJvb3Quc2V0KHJvb3QsIGhlbHBlcnMpO1xuICAgICAgICB2YXIgY3VycmVudCA9IHJvb3QuY3VycmVudDtcbiAgICAgICAgdmFyIGFsdGVybmF0ZSA9IGN1cnJlbnQuYWx0ZXJuYXRlOyAvLyBXZSBuZWVkIHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXMgcm9vdCBoYXMganVzdCAodW4pbW91bnRlZC5cbiAgICAgICAgLy8gVGhpcyBsb2dpYyBpcyBjb3B5LXBhc3RlZCBmcm9tIHNpbWlsYXIgbG9naWMgaW4gdGhlIERldlRvb2xzIGJhY2tlbmQuXG4gICAgICAgIC8vIElmIHRoaXMgYnJlYWtzIHdpdGggc29tZSByZWZhY3RvcmluZywgeW91J2xsIHdhbnQgdG8gdXBkYXRlIERldlRvb2xzIHRvby5cblxuICAgICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIHdhc01vdW50ZWQgPSBhbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSAhPSBudWxsICYmIGFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmVsZW1lbnQgIT0gbnVsbCAmJiBtb3VudGVkUm9vdHMuaGFzKHJvb3QpO1xuICAgICAgICAgIHZhciBpc01vdW50ZWQgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUuZWxlbWVudCAhPSBudWxsO1xuXG4gICAgICAgICAgaWYgKCF3YXNNb3VudGVkICYmIGlzTW91bnRlZCkge1xuICAgICAgICAgICAgLy8gTW91bnQgYSBuZXcgcm9vdC5cbiAgICAgICAgICAgIG1vdW50ZWRSb290cy5hZGQocm9vdCk7XG4gICAgICAgICAgICBmYWlsZWRSb290cy5kZWxldGUocm9vdCk7XG4gICAgICAgICAgfSBlbHNlIGlmICh3YXNNb3VudGVkICYmIGlzTW91bnRlZCkgOyBlbHNlIGlmICh3YXNNb3VudGVkICYmICFpc01vdW50ZWQpIHtcbiAgICAgICAgICAgIC8vIFVubW91bnQgYW4gZXhpc3Rpbmcgcm9vdC5cbiAgICAgICAgICAgIG1vdW50ZWRSb290cy5kZWxldGUocm9vdCk7XG5cbiAgICAgICAgICAgIGlmIChkaWRFcnJvcikge1xuICAgICAgICAgICAgICAvLyBXZSdsbCByZW1vdW50IGl0IG9uIGZ1dHVyZSBlZGl0cy5cbiAgICAgICAgICAgICAgZmFpbGVkUm9vdHMuYWRkKHJvb3QpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaGVscGVyc0J5Um9vdC5kZWxldGUocm9vdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghd2FzTW91bnRlZCAmJiAhaXNNb3VudGVkKSB7XG4gICAgICAgICAgICBpZiAoZGlkRXJyb3IpIHtcbiAgICAgICAgICAgICAgLy8gV2UnbGwgcmVtb3VudCBpdCBvbiBmdXR1cmUgZWRpdHMuXG4gICAgICAgICAgICAgIGZhaWxlZFJvb3RzLmFkZChyb290KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTW91bnQgYSBuZXcgcm9vdC5cbiAgICAgICAgICBtb3VudGVkUm9vdHMuYWRkKHJvb3QpO1xuICAgICAgICB9XG4gICAgICB9IC8vIEFsd2F5cyBjYWxsIHRoZSBkZWNvcmF0ZWQgRGV2VG9vbHMgaG9vay5cblxuXG4gICAgICByZXR1cm4gb2xkT25Db21taXRGaWJlclJvb3QuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9XG59XG5mdW5jdGlvbiBoYXNVbnJlY292ZXJhYmxlRXJyb3JzKCkge1xuICAvLyBUT0RPOiBkZWxldGUgdGhpcyBhZnRlciByZW1vdmluZyBkZXBlbmRlbmN5IGluIFJOLlxuICByZXR1cm4gZmFsc2U7XG59IC8vIEV4cG9zZWQgZm9yIHRlc3RpbmcuXG5cbmZ1bmN0aW9uIF9nZXRNb3VudGVkUm9vdENvdW50KCkge1xuICB7XG4gICAgcmV0dXJuIG1vdW50ZWRSb290cy5zaXplO1xuICB9XG59IC8vIFRoaXMgaXMgYSB3cmFwcGVyIG92ZXIgbW9yZSBwcmltaXRpdmUgZnVuY3Rpb25zIGZvciBzZXR0aW5nIHNpZ25hdHVyZS5cbi8vIFNpZ25hdHVyZXMgbGV0IHVzIGRlY2lkZSB3aGV0aGVyIHRoZSBIb29rIG9yZGVyIGhhcyBjaGFuZ2VkIG9uIHJlZnJlc2guXG4vL1xuLy8gVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIGEgdHJhbnNmb3JtIHRhcmdldCwgZS5nLjpcbi8vIHZhciBfcyA9IGNyZWF0ZVNpZ25hdHVyZUZ1bmN0aW9uRm9yVHJhbnNmb3JtKClcbi8vXG4vLyBmdW5jdGlvbiBIZWxsbygpIHtcbi8vICAgY29uc3QgW2Zvbywgc2V0Rm9vXSA9IHVzZVN0YXRlKDApO1xuLy8gICBjb25zdCB2YWx1ZSA9IHVzZUN1c3RvbUhvb2soKTtcbi8vICAgX3MoKTsgLyogQ2FsbCB3aXRob3V0IGFyZ3VtZW50cyB0cmlnZ2VycyBjb2xsZWN0aW5nIHRoZSBjdXN0b20gSG9vayBsaXN0LlxuLy8gICAgICAgICAgKiBUaGlzIGRvZXNuJ3QgaGFwcGVuIGR1cmluZyB0aGUgbW9kdWxlIGV2YWx1YXRpb24gYmVjYXVzZSB3ZVxuLy8gICAgICAgICAgKiBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGUgbW9kdWxlIG9yZGVyIHdpdGggaW5saW5lIHJlcXVpcmVzLlxuLy8gICAgICAgICAgKiBOZXh0IGNhbGxzIGFyZSBub29wcy4gKi9cbi8vICAgcmV0dXJuIDxoMT5IaTwvaDE+O1xuLy8gfVxuLy9cbi8vIC8qIENhbGwgd2l0aCBhcmd1bWVudHMgYXR0YWNoZXMgdGhlIHNpZ25hdHVyZSB0byB0aGUgdHlwZTogKi9cbi8vIF9zKFxuLy8gICBIZWxsbyxcbi8vICAgJ3VzZVN0YXRle1tmb28sIHNldEZvb119KDApJyxcbi8vICAgKCkgPT4gW3VzZUN1c3RvbUhvb2tdLCAvKiBMYXp5IHRvIGF2b2lkIHRyaWdnZXJpbmcgaW5saW5lIHJlcXVpcmVzICovXG4vLyApO1xuXG5mdW5jdGlvbiBjcmVhdGVTaWduYXR1cmVGdW5jdGlvbkZvclRyYW5zZm9ybSgpIHtcbiAge1xuICAgIHZhciBzYXZlZFR5cGU7XG4gICAgdmFyIGhhc0N1c3RvbUhvb2tzO1xuICAgIHZhciBkaWRDb2xsZWN0SG9va3MgPSBmYWxzZTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHR5cGUsIGtleSwgZm9yY2VSZXNldCwgZ2V0Q3VzdG9tSG9va3MpIHtcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAvLyBXZSdyZSBpbiB0aGUgaW5pdGlhbCBwaGFzZSB0aGF0IGFzc29jaWF0ZXMgc2lnbmF0dXJlc1xuICAgICAgICAvLyB3aXRoIHRoZSBmdW5jdGlvbnMuIE5vdGUgdGhpcyBtYXkgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIC8vIGluIEhPQyBjaGFpbnMgbGlrZSBfcyhob2MxKF9zKGhvYzIoX3MoYWN0dWFsRnVuY3Rpb24pKSkpKS5cbiAgICAgICAgaWYgKCFzYXZlZFR5cGUpIHtcbiAgICAgICAgICAvLyBXZSdyZSBpbiB0aGUgaW5uZXJtb3N0IGNhbGwsIHNvIHRoaXMgaXMgdGhlIGFjdHVhbCB0eXBlLlxuICAgICAgICAgIHNhdmVkVHlwZSA9IHR5cGU7XG4gICAgICAgICAgaGFzQ3VzdG9tSG9va3MgPSB0eXBlb2YgZ2V0Q3VzdG9tSG9va3MgPT09ICdmdW5jdGlvbic7XG4gICAgICAgIH0gLy8gU2V0IHRoZSBzaWduYXR1cmUgZm9yIGFsbCB0eXBlcyAoZXZlbiB3cmFwcGVycyEpIGluIGNhc2VcbiAgICAgICAgLy8gdGhleSBoYXZlIG5vIHNpZ25hdHVyZXMgb2YgdGhlaXIgb3duLiBUaGlzIGlzIHRvIHByZXZlbnRcbiAgICAgICAgLy8gcHJvYmxlbXMgbGlrZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzIwNDE3LlxuXG5cbiAgICAgICAgaWYgKHR5cGUgIT0gbnVsbCAmJiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSkge1xuICAgICAgICAgIHNldFNpZ25hdHVyZSh0eXBlLCBrZXksIGZvcmNlUmVzZXQsIGdldEN1c3RvbUhvb2tzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UncmUgaW4gdGhlIF9zKCkgY2FsbCB3aXRob3V0IGFyZ3VtZW50cywgd2hpY2ggbWVhbnNcbiAgICAgICAgLy8gdGhpcyBpcyB0aGUgdGltZSB0byBjb2xsZWN0IGN1c3RvbSBIb29rIHNpZ25hdHVyZXMuXG4gICAgICAgIC8vIE9ubHkgZG8gdGhpcyBvbmNlLiBUaGlzIHBhdGggaXMgaG90IGFuZCBydW5zICppbnNpZGUqIGV2ZXJ5IHJlbmRlciFcbiAgICAgICAgaWYgKCFkaWRDb2xsZWN0SG9va3MgJiYgaGFzQ3VzdG9tSG9va3MpIHtcbiAgICAgICAgICBkaWRDb2xsZWN0SG9va3MgPSB0cnVlO1xuICAgICAgICAgIGNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZShzYXZlZFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuZnVuY3Rpb24gaXNMaWtlbHlDb21wb25lbnRUeXBlKHR5cGUpIHtcbiAge1xuICAgIHN3aXRjaCAodHlwZW9mIHR5cGUpIHtcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIEZpcnN0LCBkZWFsIHdpdGggY2xhc3Nlcy5cbiAgICAgICAgICBpZiAodHlwZS5wcm90b3R5cGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHR5cGUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgLy8gUmVhY3QgY2xhc3MuXG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgb3duTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0eXBlLnByb3RvdHlwZSk7XG5cbiAgICAgICAgICAgIGlmIChvd25OYW1lcy5sZW5ndGggPiAxIHx8IG93bk5hbWVzWzBdICE9PSAnY29uc3RydWN0b3InKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgbG9va3MgbGlrZSBhIGNsYXNzLlxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b1xuXG5cbiAgICAgICAgICAgIGlmICh0eXBlLnByb3RvdHlwZS5fX3Byb3RvX18gIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICAgICAgICAgICAgLy8gSXQgaGFzIGEgc3VwZXJjbGFzcy5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSAvLyBQYXNzIHRocm91Z2guXG4gICAgICAgICAgICAvLyBUaGlzIGxvb2tzIGxpa2UgYSByZWd1bGFyIGZ1bmN0aW9uIHdpdGggZW1wdHkgcHJvdG90eXBlLlxuXG4gICAgICAgICAgfSAvLyBGb3IgcGxhaW4gZnVuY3Rpb25zIGFuZCBhcnJvd3MsIHVzZSBuYW1lIGFzIGEgaGV1cmlzdGljLlxuXG5cbiAgICAgICAgICB2YXIgbmFtZSA9IHR5cGUubmFtZSB8fCB0eXBlLmRpc3BsYXlOYW1lO1xuICAgICAgICAgIHJldHVybiB0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZycgJiYgL15bQS1aXS8udGVzdChuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHR5cGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgc3dpdGNoIChnZXRQcm9wZXJ0eSh0eXBlLCAnJCR0eXBlb2YnKSkge1xuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgICAgIC8vIERlZmluaXRlbHkgUmVhY3QgY29tcG9uZW50cy5cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnRzLl9nZXRNb3VudGVkUm9vdENvdW50ID0gX2dldE1vdW50ZWRSb290Q291bnQ7XG5leHBvcnRzLmNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZSA9IGNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZTtcbmV4cG9ydHMuY3JlYXRlU2lnbmF0dXJlRnVuY3Rpb25Gb3JUcmFuc2Zvcm0gPSBjcmVhdGVTaWduYXR1cmVGdW5jdGlvbkZvclRyYW5zZm9ybTtcbmV4cG9ydHMuZmluZEFmZmVjdGVkSG9zdEluc3RhbmNlcyA9IGZpbmRBZmZlY3RlZEhvc3RJbnN0YW5jZXM7XG5leHBvcnRzLmdldEZhbWlseUJ5SUQgPSBnZXRGYW1pbHlCeUlEO1xuZXhwb3J0cy5nZXRGYW1pbHlCeVR5cGUgPSBnZXRGYW1pbHlCeVR5cGU7XG5leHBvcnRzLmhhc1VucmVjb3ZlcmFibGVFcnJvcnMgPSBoYXNVbnJlY292ZXJhYmxlRXJyb3JzO1xuZXhwb3J0cy5pbmplY3RJbnRvR2xvYmFsSG9vayA9IGluamVjdEludG9HbG9iYWxIb29rO1xuZXhwb3J0cy5pc0xpa2VseUNvbXBvbmVudFR5cGUgPSBpc0xpa2VseUNvbXBvbmVudFR5cGU7XG5leHBvcnRzLnBlcmZvcm1SZWFjdFJlZnJlc2ggPSBwZXJmb3JtUmVhY3RSZWZyZXNoO1xuZXhwb3J0cy5yZWdpc3RlciA9IHJlZ2lzdGVyO1xuZXhwb3J0cy5zZXRTaWduYXR1cmUgPSBzZXRTaWduYXR1cmU7XG4gIH0pKCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-refresh/runtime.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-refresh/runtime.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-refresh-runtime.development.js */ \"./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixJQUFJLEtBQXFDLEVBQUUsRUFFMUMsQ0FBQztBQUNGLEVBQUUsa0xBQXNFO0FBQ3hFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtcmVmcmVzaC9ydW50aW1lLmpzPzljNmUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LXJlZnJlc2gtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1yZWZyZXNoLXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-refresh/runtime.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js")); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/fallback/webpack.js b/.next/static/chunks/fallback/webpack.js deleted file mode 100644 index 66d601d..0000000 --- a/.next/static/chunks/fallback/webpack.js +++ /dev/null @@ -1,1218 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -/******/ (function() { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ if (cachedModule.error !== undefined) throw cachedModule.error; -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ loaded: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ var threw = true; -/******/ try { -/******/ var execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ }; -/******/ __webpack_require__.i.forEach(function(handler) { handler(execOptions); }); -/******/ module = execOptions.module; -/******/ execOptions.factory.call(module.exports, module, module.exports, execOptions.require); -/******/ threw = false; -/******/ } finally { -/******/ if(threw) delete __webpack_module_cache__[moduleId]; -/******/ } -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = __webpack_module_cache__; -/******/ -/******/ // expose the module execution interceptor -/******/ __webpack_require__.i = []; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/chunk loaded */ -/******/ !function() { -/******/ var deferred = []; -/******/ __webpack_require__.O = function(result, chunkIds, fn, priority) { -/******/ if(chunkIds) { -/******/ priority = priority || 0; -/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; -/******/ deferred[i] = [chunkIds, fn, priority]; -/******/ return; -/******/ } -/******/ var notFulfilled = Infinity; -/******/ for (var i = 0; i < deferred.length; i++) { -/******/ var chunkIds = deferred[i][0]; -/******/ var fn = deferred[i][1]; -/******/ var priority = deferred[i][2]; -/******/ var fulfilled = true; -/******/ for (var j = 0; j < chunkIds.length; j++) { -/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) { -/******/ chunkIds.splice(j--, 1); -/******/ } else { -/******/ fulfilled = false; -/******/ if(priority < notFulfilled) notFulfilled = priority; -/******/ } -/******/ } -/******/ if(fulfilled) { -/******/ deferred.splice(i--, 1) -/******/ var r = fn(); -/******/ if (r !== undefined) result = r; -/******/ } -/******/ } -/******/ return result; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ !function() { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = function(exports, definition) { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get javascript update chunk filename */ -/******/ !function() { -/******/ // This function allow to reference all chunks -/******/ __webpack_require__.hu = function(chunkId) { -/******/ // return url for filenames based on template -/******/ return "static/webpack/" + chunkId + "." + __webpack_require__.h() + ".hot-update.js"; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get update manifest filename */ -/******/ !function() { -/******/ __webpack_require__.hmrF = function() { return "static/webpack/" + __webpack_require__.h() + ".webpack.hot-update.json"; }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "30b91d66355e4f51"; } -/******/ }(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ !function() { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ }(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ !function() { -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } -/******/ }(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ !function() { -/******/ var inProgress = {}; -/******/ var dataWebpackPrefix = "_N_E:"; -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = function(url, done, key, chunkId) { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName("script"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute("nonce", __webpack_require__.nc); -/******/ } -/******/ script.setAttribute("data-webpack", dataWebpackPrefix + key); -/******/ -/******/ script.src = __webpack_require__.tu(url); -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = function(prev, event) { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach(function(fn) { return fn(event); }); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ !function() { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/node module decorator */ -/******/ !function() { -/******/ __webpack_require__.nmd = function(module) { -/******/ module.paths = []; -/******/ if (!module.children) module.children = []; -/******/ return module; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/runtimeId */ -/******/ !function() { -/******/ __webpack_require__.j = "webpack"; -/******/ }(); -/******/ -/******/ /* webpack/runtime/trusted types policy */ -/******/ !function() { -/******/ var policy; -/******/ __webpack_require__.tt = function() { -/******/ // Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet. -/******/ if (policy === undefined) { -/******/ policy = { -/******/ createScript: function(script) { return script; }, -/******/ createScriptURL: function(url) { return url; } -/******/ }; -/******/ if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) { -/******/ policy = trustedTypes.createPolicy("nextjs#bundler", policy); -/******/ } -/******/ } -/******/ return policy; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/trusted types script */ -/******/ !function() { -/******/ __webpack_require__.ts = function(script) { return __webpack_require__.tt().createScript(script); }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/trusted types script url */ -/******/ !function() { -/******/ __webpack_require__.tu = function(url) { return __webpack_require__.tt().createScriptURL(url); }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/hot module replacement */ -/******/ !function() { -/******/ var currentModuleData = {}; -/******/ var installedModules = __webpack_require__.c; -/******/ -/******/ // module and require creation -/******/ var currentChildModule; -/******/ var currentParents = []; -/******/ -/******/ // status -/******/ var registeredStatusHandlers = []; -/******/ var currentStatus = "idle"; -/******/ -/******/ // while downloading -/******/ var blockingPromises = 0; -/******/ var blockingPromisesWaiting = []; -/******/ -/******/ // The update info -/******/ var currentUpdateApplyHandlers; -/******/ var queuedInvalidatedModules; -/******/ -/******/ __webpack_require__.hmrD = currentModuleData; -/******/ -/******/ __webpack_require__.i.push(function (options) { -/******/ var module = options.module; -/******/ var require = createRequire(options.require, options.id); -/******/ module.hot = createModuleHotObject(options.id, module); -/******/ module.parents = currentParents; -/******/ module.children = []; -/******/ currentParents = []; -/******/ options.require = require; -/******/ }); -/******/ -/******/ __webpack_require__.hmrC = {}; -/******/ __webpack_require__.hmrI = {}; -/******/ -/******/ function createRequire(require, moduleId) { -/******/ var me = installedModules[moduleId]; -/******/ if (!me) return require; -/******/ var fn = function (request) { -/******/ if (me.hot.active) { -/******/ if (installedModules[request]) { -/******/ var parents = installedModules[request].parents; -/******/ if (parents.indexOf(moduleId) === -1) { -/******/ parents.push(moduleId); -/******/ } -/******/ } else { -/******/ currentParents = [moduleId]; -/******/ currentChildModule = request; -/******/ } -/******/ if (me.children.indexOf(request) === -1) { -/******/ me.children.push(request); -/******/ } -/******/ } else { -/******/ console.warn( -/******/ "[HMR] unexpected require(" + -/******/ request + -/******/ ") from disposed module " + -/******/ moduleId -/******/ ); -/******/ currentParents = []; -/******/ } -/******/ return require(request); -/******/ }; -/******/ var createPropertyDescriptor = function (name) { -/******/ return { -/******/ configurable: true, -/******/ enumerable: true, -/******/ get: function () { -/******/ return require[name]; -/******/ }, -/******/ set: function (value) { -/******/ require[name] = value; -/******/ } -/******/ }; -/******/ }; -/******/ for (var name in require) { -/******/ if (Object.prototype.hasOwnProperty.call(require, name) && name !== "e") { -/******/ Object.defineProperty(fn, name, createPropertyDescriptor(name)); -/******/ } -/******/ } -/******/ fn.e = function (chunkId, fetchPriority) { -/******/ return trackBlockingPromise(require.e(chunkId, fetchPriority)); -/******/ }; -/******/ return fn; -/******/ } -/******/ -/******/ function createModuleHotObject(moduleId, me) { -/******/ var _main = currentChildModule !== moduleId; -/******/ var hot = { -/******/ // private stuff -/******/ _acceptedDependencies: {}, -/******/ _acceptedErrorHandlers: {}, -/******/ _declinedDependencies: {}, -/******/ _selfAccepted: false, -/******/ _selfDeclined: false, -/******/ _selfInvalidated: false, -/******/ _disposeHandlers: [], -/******/ _main: _main, -/******/ _requireSelf: function () { -/******/ currentParents = me.parents.slice(); -/******/ currentChildModule = _main ? undefined : moduleId; -/******/ __webpack_require__(moduleId); -/******/ }, -/******/ -/******/ // Module API -/******/ active: true, -/******/ accept: function (dep, callback, errorHandler) { -/******/ if (dep === undefined) hot._selfAccepted = true; -/******/ else if (typeof dep === "function") hot._selfAccepted = dep; -/******/ else if (typeof dep === "object" && dep !== null) { -/******/ for (var i = 0; i < dep.length; i++) { -/******/ hot._acceptedDependencies[dep[i]] = callback || function () {}; -/******/ hot._acceptedErrorHandlers[dep[i]] = errorHandler; -/******/ } -/******/ } else { -/******/ hot._acceptedDependencies[dep] = callback || function () {}; -/******/ hot._acceptedErrorHandlers[dep] = errorHandler; -/******/ } -/******/ }, -/******/ decline: function (dep) { -/******/ if (dep === undefined) hot._selfDeclined = true; -/******/ else if (typeof dep === "object" && dep !== null) -/******/ for (var i = 0; i < dep.length; i++) -/******/ hot._declinedDependencies[dep[i]] = true; -/******/ else hot._declinedDependencies[dep] = true; -/******/ }, -/******/ dispose: function (callback) { -/******/ hot._disposeHandlers.push(callback); -/******/ }, -/******/ addDisposeHandler: function (callback) { -/******/ hot._disposeHandlers.push(callback); -/******/ }, -/******/ removeDisposeHandler: function (callback) { -/******/ var idx = hot._disposeHandlers.indexOf(callback); -/******/ if (idx >= 0) hot._disposeHandlers.splice(idx, 1); -/******/ }, -/******/ invalidate: function () { -/******/ this._selfInvalidated = true; -/******/ switch (currentStatus) { -/******/ case "idle": -/******/ currentUpdateApplyHandlers = []; -/******/ Object.keys(__webpack_require__.hmrI).forEach(function (key) { -/******/ __webpack_require__.hmrI[key]( -/******/ moduleId, -/******/ currentUpdateApplyHandlers -/******/ ); -/******/ }); -/******/ setStatus("ready"); -/******/ break; -/******/ case "ready": -/******/ Object.keys(__webpack_require__.hmrI).forEach(function (key) { -/******/ __webpack_require__.hmrI[key]( -/******/ moduleId, -/******/ currentUpdateApplyHandlers -/******/ ); -/******/ }); -/******/ break; -/******/ case "prepare": -/******/ case "check": -/******/ case "dispose": -/******/ case "apply": -/******/ (queuedInvalidatedModules = queuedInvalidatedModules || []).push( -/******/ moduleId -/******/ ); -/******/ break; -/******/ default: -/******/ // ignore requests in error states -/******/ break; -/******/ } -/******/ }, -/******/ -/******/ // Management API -/******/ check: hotCheck, -/******/ apply: hotApply, -/******/ status: function (l) { -/******/ if (!l) return currentStatus; -/******/ registeredStatusHandlers.push(l); -/******/ }, -/******/ addStatusHandler: function (l) { -/******/ registeredStatusHandlers.push(l); -/******/ }, -/******/ removeStatusHandler: function (l) { -/******/ var idx = registeredStatusHandlers.indexOf(l); -/******/ if (idx >= 0) registeredStatusHandlers.splice(idx, 1); -/******/ }, -/******/ -/******/ //inherit from previous dispose call -/******/ data: currentModuleData[moduleId] -/******/ }; -/******/ currentChildModule = undefined; -/******/ return hot; -/******/ } -/******/ -/******/ function setStatus(newStatus) { -/******/ currentStatus = newStatus; -/******/ var results = []; -/******/ -/******/ for (var i = 0; i < registeredStatusHandlers.length; i++) -/******/ results[i] = registeredStatusHandlers[i].call(null, newStatus); -/******/ -/******/ return Promise.all(results); -/******/ } -/******/ -/******/ function unblock() { -/******/ if (--blockingPromises === 0) { -/******/ setStatus("ready").then(function () { -/******/ if (blockingPromises === 0) { -/******/ var list = blockingPromisesWaiting; -/******/ blockingPromisesWaiting = []; -/******/ for (var i = 0; i < list.length; i++) { -/******/ list[i](); -/******/ } -/******/ } -/******/ }); -/******/ } -/******/ } -/******/ -/******/ function trackBlockingPromise(promise) { -/******/ switch (currentStatus) { -/******/ case "ready": -/******/ setStatus("prepare"); -/******/ /* fallthrough */ -/******/ case "prepare": -/******/ blockingPromises++; -/******/ promise.then(unblock, unblock); -/******/ return promise; -/******/ default: -/******/ return promise; -/******/ } -/******/ } -/******/ -/******/ function waitForBlockingPromises(fn) { -/******/ if (blockingPromises === 0) return fn(); -/******/ return new Promise(function (resolve) { -/******/ blockingPromisesWaiting.push(function () { -/******/ resolve(fn()); -/******/ }); -/******/ }); -/******/ } -/******/ -/******/ function hotCheck(applyOnUpdate) { -/******/ if (currentStatus !== "idle") { -/******/ throw new Error("check() is only allowed in idle status"); -/******/ } -/******/ return setStatus("check") -/******/ .then(__webpack_require__.hmrM) -/******/ .then(function (update) { -/******/ if (!update) { -/******/ return setStatus(applyInvalidatedModules() ? "ready" : "idle").then( -/******/ function () { -/******/ return null; -/******/ } -/******/ ); -/******/ } -/******/ -/******/ return setStatus("prepare").then(function () { -/******/ var updatedModules = []; -/******/ currentUpdateApplyHandlers = []; -/******/ -/******/ return Promise.all( -/******/ Object.keys(__webpack_require__.hmrC).reduce(function ( -/******/ promises, -/******/ key -/******/ ) { -/******/ __webpack_require__.hmrC[key]( -/******/ update.c, -/******/ update.r, -/******/ update.m, -/******/ promises, -/******/ currentUpdateApplyHandlers, -/******/ updatedModules -/******/ ); -/******/ return promises; -/******/ }, []) -/******/ ).then(function () { -/******/ return waitForBlockingPromises(function () { -/******/ if (applyOnUpdate) { -/******/ return internalApply(applyOnUpdate); -/******/ } else { -/******/ return setStatus("ready").then(function () { -/******/ return updatedModules; -/******/ }); -/******/ } -/******/ }); -/******/ }); -/******/ }); -/******/ }); -/******/ } -/******/ -/******/ function hotApply(options) { -/******/ if (currentStatus !== "ready") { -/******/ return Promise.resolve().then(function () { -/******/ throw new Error( -/******/ "apply() is only allowed in ready status (state: " + -/******/ currentStatus + -/******/ ")" -/******/ ); -/******/ }); -/******/ } -/******/ return internalApply(options); -/******/ } -/******/ -/******/ function internalApply(options) { -/******/ options = options || {}; -/******/ -/******/ applyInvalidatedModules(); -/******/ -/******/ var results = currentUpdateApplyHandlers.map(function (handler) { -/******/ return handler(options); -/******/ }); -/******/ currentUpdateApplyHandlers = undefined; -/******/ -/******/ var errors = results -/******/ .map(function (r) { -/******/ return r.error; -/******/ }) -/******/ .filter(Boolean); -/******/ -/******/ if (errors.length > 0) { -/******/ return setStatus("abort").then(function () { -/******/ throw errors[0]; -/******/ }); -/******/ } -/******/ -/******/ // Now in "dispose" phase -/******/ var disposePromise = setStatus("dispose"); -/******/ -/******/ results.forEach(function (result) { -/******/ if (result.dispose) result.dispose(); -/******/ }); -/******/ -/******/ // Now in "apply" phase -/******/ var applyPromise = setStatus("apply"); -/******/ -/******/ var error; -/******/ var reportError = function (err) { -/******/ if (!error) error = err; -/******/ }; -/******/ -/******/ var outdatedModules = []; -/******/ results.forEach(function (result) { -/******/ if (result.apply) { -/******/ var modules = result.apply(reportError); -/******/ if (modules) { -/******/ for (var i = 0; i < modules.length; i++) { -/******/ outdatedModules.push(modules[i]); -/******/ } -/******/ } -/******/ } -/******/ }); -/******/ -/******/ return Promise.all([disposePromise, applyPromise]).then(function () { -/******/ // handle errors in accept handlers and self accepted module load -/******/ if (error) { -/******/ return setStatus("fail").then(function () { -/******/ throw error; -/******/ }); -/******/ } -/******/ -/******/ if (queuedInvalidatedModules) { -/******/ return internalApply(options).then(function (list) { -/******/ outdatedModules.forEach(function (moduleId) { -/******/ if (list.indexOf(moduleId) < 0) list.push(moduleId); -/******/ }); -/******/ return list; -/******/ }); -/******/ } -/******/ -/******/ return setStatus("idle").then(function () { -/******/ return outdatedModules; -/******/ }); -/******/ }); -/******/ } -/******/ -/******/ function applyInvalidatedModules() { -/******/ if (queuedInvalidatedModules) { -/******/ if (!currentUpdateApplyHandlers) currentUpdateApplyHandlers = []; -/******/ Object.keys(__webpack_require__.hmrI).forEach(function (key) { -/******/ queuedInvalidatedModules.forEach(function (moduleId) { -/******/ __webpack_require__.hmrI[key]( -/******/ moduleId, -/******/ currentUpdateApplyHandlers -/******/ ); -/******/ }); -/******/ }); -/******/ queuedInvalidatedModules = undefined; -/******/ return true; -/******/ } -/******/ } -/******/ }(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ !function() { -/******/ __webpack_require__.p = "/_next/"; -/******/ }(); -/******/ -/******/ /* webpack/runtime/react refresh */ -/******/ !function() { -/******/ if (__webpack_require__.i) { -/******/ __webpack_require__.i.push(function(options) { -/******/ var originalFactory = options.factory; -/******/ options.factory = function(moduleObject, moduleExports, webpackRequire) { -/******/ var hasRefresh = typeof self !== "undefined" && !!self.$RefreshInterceptModuleExecution$; -/******/ var cleanup = hasRefresh ? self.$RefreshInterceptModuleExecution$(moduleObject.id) : function() {}; -/******/ try { -/******/ originalFactory.call(this, moduleObject, moduleExports, webpackRequire); -/******/ } finally { -/******/ cleanup(); -/******/ } -/******/ } -/******/ }) -/******/ } -/******/ }(); -/******/ -/******/ /* webpack/runtime/compat */ -/******/ -/******/ -/******/ // noop fns to prevent runtime errors during initialization -/******/ if (typeof self !== "undefined") { -/******/ self.$RefreshReg$ = function () {}; -/******/ self.$RefreshSig$ = function () { -/******/ return function (type) { -/******/ return type; -/******/ }; -/******/ }; -/******/ } -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ !function() { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = __webpack_require__.hmrS_jsonp = __webpack_require__.hmrS_jsonp || { -/******/ "webpack": 0 -/******/ }; -/******/ -/******/ // no chunk on demand loading -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ var currentUpdatedModulesList; -/******/ var waitingUpdateResolves = {}; -/******/ function loadUpdateChunk(chunkId, updatedModulesList) { -/******/ currentUpdatedModulesList = updatedModulesList; -/******/ return new Promise(function(resolve, reject) { -/******/ waitingUpdateResolves[chunkId] = resolve; -/******/ // start update chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.hu(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = function(event) { -/******/ if(waitingUpdateResolves[chunkId]) { -/******/ waitingUpdateResolves[chunkId] = undefined -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading hot update chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ reject(error); -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded); -/******/ }); -/******/ } -/******/ -/******/ self["webpackHotUpdate_N_E"] = function(chunkId, moreModules, runtime) { -/******/ for(var moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ currentUpdate[moduleId] = moreModules[moduleId]; -/******/ if(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId); -/******/ } -/******/ } -/******/ if(runtime) currentUpdateRuntime.push(runtime); -/******/ if(waitingUpdateResolves[chunkId]) { -/******/ waitingUpdateResolves[chunkId](); -/******/ waitingUpdateResolves[chunkId] = undefined; -/******/ } -/******/ }; -/******/ -/******/ var currentUpdateChunks; -/******/ var currentUpdate; -/******/ var currentUpdateRemovedChunks; -/******/ var currentUpdateRuntime; -/******/ function applyHandler(options) { -/******/ if (__webpack_require__.f) delete __webpack_require__.f.jsonpHmr; -/******/ currentUpdateChunks = undefined; -/******/ function getAffectedModuleEffects(updateModuleId) { -/******/ var outdatedModules = [updateModuleId]; -/******/ var outdatedDependencies = {}; -/******/ -/******/ var queue = outdatedModules.map(function (id) { -/******/ return { -/******/ chain: [id], -/******/ id: id -/******/ }; -/******/ }); -/******/ while (queue.length > 0) { -/******/ var queueItem = queue.pop(); -/******/ var moduleId = queueItem.id; -/******/ var chain = queueItem.chain; -/******/ var module = __webpack_require__.c[moduleId]; -/******/ if ( -/******/ !module || -/******/ (module.hot._selfAccepted && !module.hot._selfInvalidated) -/******/ ) -/******/ continue; -/******/ if (module.hot._selfDeclined) { -/******/ return { -/******/ type: "self-declined", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ if (module.hot._main) { -/******/ return { -/******/ type: "unaccepted", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ for (var i = 0; i < module.parents.length; i++) { -/******/ var parentId = module.parents[i]; -/******/ var parent = __webpack_require__.c[parentId]; -/******/ if (!parent) continue; -/******/ if (parent.hot._declinedDependencies[moduleId]) { -/******/ return { -/******/ type: "declined", -/******/ chain: chain.concat([parentId]), -/******/ moduleId: moduleId, -/******/ parentId: parentId -/******/ }; -/******/ } -/******/ if (outdatedModules.indexOf(parentId) !== -1) continue; -/******/ if (parent.hot._acceptedDependencies[moduleId]) { -/******/ if (!outdatedDependencies[parentId]) -/******/ outdatedDependencies[parentId] = []; -/******/ addAllToSet(outdatedDependencies[parentId], [moduleId]); -/******/ continue; -/******/ } -/******/ delete outdatedDependencies[parentId]; -/******/ outdatedModules.push(parentId); -/******/ queue.push({ -/******/ chain: chain.concat([parentId]), -/******/ id: parentId -/******/ }); -/******/ } -/******/ } -/******/ -/******/ return { -/******/ type: "accepted", -/******/ moduleId: updateModuleId, -/******/ outdatedModules: outdatedModules, -/******/ outdatedDependencies: outdatedDependencies -/******/ }; -/******/ } -/******/ -/******/ function addAllToSet(a, b) { -/******/ for (var i = 0; i < b.length; i++) { -/******/ var item = b[i]; -/******/ if (a.indexOf(item) === -1) a.push(item); -/******/ } -/******/ } -/******/ -/******/ // at begin all updates modules are outdated -/******/ // the "outdated" status can propagate to parents if they don't accept the children -/******/ var outdatedDependencies = {}; -/******/ var outdatedModules = []; -/******/ var appliedUpdate = {}; -/******/ -/******/ var warnUnexpectedRequire = function warnUnexpectedRequire(module) { -/******/ console.warn( -/******/ "[HMR] unexpected require(" + module.id + ") to disposed module" -/******/ ); -/******/ }; -/******/ -/******/ for (var moduleId in currentUpdate) { -/******/ if (__webpack_require__.o(currentUpdate, moduleId)) { -/******/ var newModuleFactory = currentUpdate[moduleId]; -/******/ /** @type {TODO} */ -/******/ var result; -/******/ if (newModuleFactory) { -/******/ result = getAffectedModuleEffects(moduleId); -/******/ } else { -/******/ result = { -/******/ type: "disposed", -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ /** @type {Error|false} */ -/******/ var abortError = false; -/******/ var doApply = false; -/******/ var doDispose = false; -/******/ var chainInfo = ""; -/******/ if (result.chain) { -/******/ chainInfo = "\nUpdate propagation: " + result.chain.join(" -> "); -/******/ } -/******/ switch (result.type) { -/******/ case "self-declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of self decline: " + -/******/ result.moduleId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of declined dependency: " + -/******/ result.moduleId + -/******/ " in " + -/******/ result.parentId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "unaccepted": -/******/ if (options.onUnaccepted) options.onUnaccepted(result); -/******/ if (!options.ignoreUnaccepted) -/******/ abortError = new Error( -/******/ "Aborted because " + moduleId + " is not accepted" + chainInfo -/******/ ); -/******/ break; -/******/ case "accepted": -/******/ if (options.onAccepted) options.onAccepted(result); -/******/ doApply = true; -/******/ break; -/******/ case "disposed": -/******/ if (options.onDisposed) options.onDisposed(result); -/******/ doDispose = true; -/******/ break; -/******/ default: -/******/ throw new Error("Unexception type " + result.type); -/******/ } -/******/ if (abortError) { -/******/ return { -/******/ error: abortError -/******/ }; -/******/ } -/******/ if (doApply) { -/******/ appliedUpdate[moduleId] = newModuleFactory; -/******/ addAllToSet(outdatedModules, result.outdatedModules); -/******/ for (moduleId in result.outdatedDependencies) { -/******/ if (__webpack_require__.o(result.outdatedDependencies, moduleId)) { -/******/ if (!outdatedDependencies[moduleId]) -/******/ outdatedDependencies[moduleId] = []; -/******/ addAllToSet( -/******/ outdatedDependencies[moduleId], -/******/ result.outdatedDependencies[moduleId] -/******/ ); -/******/ } -/******/ } -/******/ } -/******/ if (doDispose) { -/******/ addAllToSet(outdatedModules, [result.moduleId]); -/******/ appliedUpdate[moduleId] = warnUnexpectedRequire; -/******/ } -/******/ } -/******/ } -/******/ currentUpdate = undefined; -/******/ -/******/ // Store self accepted outdated modules to require them later by the module system -/******/ var outdatedSelfAcceptedModules = []; -/******/ for (var j = 0; j < outdatedModules.length; j++) { -/******/ var outdatedModuleId = outdatedModules[j]; -/******/ var module = __webpack_require__.c[outdatedModuleId]; -/******/ if ( -/******/ module && -/******/ (module.hot._selfAccepted || module.hot._main) && -/******/ // removed self-accepted modules should not be required -/******/ appliedUpdate[outdatedModuleId] !== warnUnexpectedRequire && -/******/ // when called invalidate self-accepting is not possible -/******/ !module.hot._selfInvalidated -/******/ ) { -/******/ outdatedSelfAcceptedModules.push({ -/******/ module: outdatedModuleId, -/******/ require: module.hot._requireSelf, -/******/ errorHandler: module.hot._selfAccepted -/******/ }); -/******/ } -/******/ } -/******/ -/******/ var moduleOutdatedDependencies; -/******/ -/******/ return { -/******/ dispose: function () { -/******/ currentUpdateRemovedChunks.forEach(function (chunkId) { -/******/ delete installedChunks[chunkId]; -/******/ }); -/******/ currentUpdateRemovedChunks = undefined; -/******/ -/******/ var idx; -/******/ var queue = outdatedModules.slice(); -/******/ while (queue.length > 0) { -/******/ var moduleId = queue.pop(); -/******/ var module = __webpack_require__.c[moduleId]; -/******/ if (!module) continue; -/******/ -/******/ var data = {}; -/******/ -/******/ // Call dispose handlers -/******/ var disposeHandlers = module.hot._disposeHandlers; -/******/ for (j = 0; j < disposeHandlers.length; j++) { -/******/ disposeHandlers[j].call(null, data); -/******/ } -/******/ __webpack_require__.hmrD[moduleId] = data; -/******/ -/******/ // disable module (this disables requires from this module) -/******/ module.hot.active = false; -/******/ -/******/ // remove module from cache -/******/ delete __webpack_require__.c[moduleId]; -/******/ -/******/ // when disposing there is no need to call dispose handler -/******/ delete outdatedDependencies[moduleId]; -/******/ -/******/ // remove "parents" references from all children -/******/ for (j = 0; j < module.children.length; j++) { -/******/ var child = __webpack_require__.c[module.children[j]]; -/******/ if (!child) continue; -/******/ idx = child.parents.indexOf(moduleId); -/******/ if (idx >= 0) { -/******/ child.parents.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ -/******/ // remove outdated dependency from module children -/******/ var dependency; -/******/ for (var outdatedModuleId in outdatedDependencies) { -/******/ if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) { -/******/ module = __webpack_require__.c[outdatedModuleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = -/******/ outdatedDependencies[outdatedModuleId]; -/******/ for (j = 0; j < moduleOutdatedDependencies.length; j++) { -/******/ dependency = moduleOutdatedDependencies[j]; -/******/ idx = module.children.indexOf(dependency); -/******/ if (idx >= 0) module.children.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ }, -/******/ apply: function (reportError) { -/******/ // insert new code -/******/ for (var updateModuleId in appliedUpdate) { -/******/ if (__webpack_require__.o(appliedUpdate, updateModuleId)) { -/******/ __webpack_require__.m[updateModuleId] = appliedUpdate[updateModuleId]; -/******/ } -/******/ } -/******/ -/******/ // run new runtime modules -/******/ for (var i = 0; i < currentUpdateRuntime.length; i++) { -/******/ currentUpdateRuntime[i](__webpack_require__); -/******/ } -/******/ -/******/ // call accept handlers -/******/ for (var outdatedModuleId in outdatedDependencies) { -/******/ if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) { -/******/ var module = __webpack_require__.c[outdatedModuleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = -/******/ outdatedDependencies[outdatedModuleId]; -/******/ var callbacks = []; -/******/ var errorHandlers = []; -/******/ var dependenciesForCallbacks = []; -/******/ for (var j = 0; j < moduleOutdatedDependencies.length; j++) { -/******/ var dependency = moduleOutdatedDependencies[j]; -/******/ var acceptCallback = -/******/ module.hot._acceptedDependencies[dependency]; -/******/ var errorHandler = -/******/ module.hot._acceptedErrorHandlers[dependency]; -/******/ if (acceptCallback) { -/******/ if (callbacks.indexOf(acceptCallback) !== -1) continue; -/******/ callbacks.push(acceptCallback); -/******/ errorHandlers.push(errorHandler); -/******/ dependenciesForCallbacks.push(dependency); -/******/ } -/******/ } -/******/ for (var k = 0; k < callbacks.length; k++) { -/******/ try { -/******/ callbacks[k].call(null, moduleOutdatedDependencies); -/******/ } catch (err) { -/******/ if (typeof errorHandlers[k] === "function") { -/******/ try { -/******/ errorHandlers[k](err, { -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k] -/******/ }); -/******/ } catch (err2) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "accept-error-handler-errored", -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k], -/******/ error: err2, -/******/ originalError: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err2); -/******/ reportError(err); -/******/ } -/******/ } -/******/ } else { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "accept-errored", -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k], -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ // Load self accepted modules -/******/ for (var o = 0; o < outdatedSelfAcceptedModules.length; o++) { -/******/ var item = outdatedSelfAcceptedModules[o]; -/******/ var moduleId = item.module; -/******/ try { -/******/ item.require(moduleId); -/******/ } catch (err) { -/******/ if (typeof item.errorHandler === "function") { -/******/ try { -/******/ item.errorHandler(err, { -/******/ moduleId: moduleId, -/******/ module: __webpack_require__.c[moduleId] -/******/ }); -/******/ } catch (err2) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-error-handler-errored", -/******/ moduleId: moduleId, -/******/ error: err2, -/******/ originalError: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err2); -/******/ reportError(err); -/******/ } -/******/ } -/******/ } else { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-errored", -/******/ moduleId: moduleId, -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ return outdatedModules; -/******/ } -/******/ }; -/******/ } -/******/ __webpack_require__.hmrI.jsonp = function (moduleId, applyHandlers) { -/******/ if (!currentUpdate) { -/******/ currentUpdate = {}; -/******/ currentUpdateRuntime = []; -/******/ currentUpdateRemovedChunks = []; -/******/ applyHandlers.push(applyHandler); -/******/ } -/******/ if (!__webpack_require__.o(currentUpdate, moduleId)) { -/******/ currentUpdate[moduleId] = __webpack_require__.m[moduleId]; -/******/ } -/******/ }; -/******/ __webpack_require__.hmrC.jsonp = function ( -/******/ chunkIds, -/******/ removedChunks, -/******/ removedModules, -/******/ promises, -/******/ applyHandlers, -/******/ updatedModulesList -/******/ ) { -/******/ applyHandlers.push(applyHandler); -/******/ currentUpdateChunks = {}; -/******/ currentUpdateRemovedChunks = removedChunks; -/******/ currentUpdate = removedModules.reduce(function (obj, key) { -/******/ obj[key] = false; -/******/ return obj; -/******/ }, {}); -/******/ currentUpdateRuntime = []; -/******/ chunkIds.forEach(function (chunkId) { -/******/ if ( -/******/ __webpack_require__.o(installedChunks, chunkId) && -/******/ installedChunks[chunkId] !== undefined -/******/ ) { -/******/ promises.push(loadUpdateChunk(chunkId, updatedModulesList)); -/******/ currentUpdateChunks[chunkId] = true; -/******/ } else { -/******/ currentUpdateChunks[chunkId] = false; -/******/ } -/******/ }); -/******/ if (__webpack_require__.f) { -/******/ __webpack_require__.f.jsonpHmr = function (chunkId, promises) { -/******/ if ( -/******/ currentUpdateChunks && -/******/ __webpack_require__.o(currentUpdateChunks, chunkId) && -/******/ !currentUpdateChunks[chunkId] -/******/ ) { -/******/ promises.push(loadUpdateChunk(chunkId)); -/******/ currentUpdateChunks[chunkId] = true; -/******/ } -/******/ }; -/******/ } -/******/ }; -/******/ -/******/ __webpack_require__.hmrM = function() { -/******/ if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API"); -/******/ return fetch(__webpack_require__.p + __webpack_require__.hmrF()).then(function(response) { -/******/ if(response.status === 404) return; // no update available -/******/ if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText); -/******/ return response.json(); -/******/ }); -/******/ }; -/******/ -/******/ __webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; }; -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = function(parentChunkLoadingFunction, data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var runtime = data[2]; -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ return __webpack_require__.O(result); -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ }(); -/******/ -/************************************************************************/ -/******/ -/******/ // module cache are used so entry inlining is disabled -/******/ -/******/ })() -; \ No newline at end of file diff --git a/.next/static/chunks/main-app.js b/.next/static/chunks/main-app.js deleted file mode 100644 index 1e73048..0000000 --- a/.next/static/chunks/main-app.js +++ /dev/null @@ -1,1989 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["main-app"],{ - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/deployment-id.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/build/deployment-id.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDeploymentIdQueryOrEmptyString\", ({\n enumerable: true,\n get: function() {\n return getDeploymentIdQueryOrEmptyString;\n }\n}));\nfunction getDeploymentIdQueryOrEmptyString() {\n if (false) {}\n return \"\";\n}\n\n//# sourceMappingURL=deployment-id.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvZGVwbG95bWVudC1pZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHFFQUFvRTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0EsUUFBUSxLQUE4QixFQUFFLEVBRW5DO0FBQ0w7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL2RlcGxveW1lbnQtaWQuanM/NDliNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZ1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RGVwbG95bWVudElkUXVlcnlPckVtcHR5U3RyaW5nO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZ2V0RGVwbG95bWVudElkUXVlcnlPckVtcHR5U3RyaW5nKCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5ORVhUX0RFUExPWU1FTlRfSUQpIHtcbiAgICAgICAgcmV0dXJuIGA/ZHBsPSR7cHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEfWA7XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZXBsb3ltZW50LWlkLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/deployment-id.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/polyfills/polyfill-module.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/build/polyfills/polyfill-module.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\"trimStart\"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),\"trimEnd\"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),\"description\"in Symbol.prototype||Object.defineProperty(Symbol.prototype,\"description\",{configurable:!0,get:function(){var t=/\\((.*)\\)/.exec(this.toString());return t?t[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(t,r){return r=this.concat.apply([],this),t>1&&r.some(Array.isArray)?r.flat(t-1):r},Array.prototype.flatMap=function(t,r){return this.map(t,r).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(t){if(\"function\"!=typeof t)return this.then(t,t);var r=this.constructor||Promise;return this.then(function(n){return r.resolve(t()).then(function(){return n})},function(n){return r.resolve(t()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(t){return Array.from(t).reduce(function(t,r){return t[r[0]]=r[1],t},{})}),Array.prototype.at||(Array.prototype.at=function(t){var r=Math.trunc(t)||0;if(r<0&&(r+=this.length),!(r<0||r>=this.length))return this[r]}),Object.hasOwn||(Object.hasOwn=function(t,r){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");return Object.prototype.hasOwnProperty.call(Object(t),r)});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3BvbHlmaWxsLW1vZHVsZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxtUUFBbVEsK0JBQStCLHVDQUF1QyxzQkFBc0IsNERBQTRELDZFQUE2RSx1Q0FBdUMsNEJBQTRCLG9FQUFvRSw4Q0FBOEMsZ0NBQWdDLDZCQUE2QixzQ0FBc0MsU0FBUyxFQUFFLGFBQWEsc0NBQXNDLFFBQVEsRUFBRSxFQUFFLHNEQUFzRCwwQ0FBMEMsc0JBQXNCLEdBQUcsRUFBRSxzREFBc0QsdUJBQXVCLCtEQUErRCw4Q0FBOEMsNkVBQTZFLHlEQUF5RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3BvbHlmaWxscy9wb2x5ZmlsbC1tb2R1bGUuanM/NTVlNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInRyaW1TdGFydFwiaW4gU3RyaW5nLnByb3RvdHlwZXx8KFN0cmluZy5wcm90b3R5cGUudHJpbVN0YXJ0PVN0cmluZy5wcm90b3R5cGUudHJpbUxlZnQpLFwidHJpbUVuZFwiaW4gU3RyaW5nLnByb3RvdHlwZXx8KFN0cmluZy5wcm90b3R5cGUudHJpbUVuZD1TdHJpbmcucHJvdG90eXBlLnRyaW1SaWdodCksXCJkZXNjcmlwdGlvblwiaW4gU3ltYm9sLnByb3RvdHlwZXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KFN5bWJvbC5wcm90b3R5cGUsXCJkZXNjcmlwdGlvblwiLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dmFyIHQ9L1xcKCguKilcXCkvLmV4ZWModGhpcy50b1N0cmluZygpKTtyZXR1cm4gdD90WzFdOnZvaWQgMH19KSxBcnJheS5wcm90b3R5cGUuZmxhdHx8KEFycmF5LnByb3RvdHlwZS5mbGF0PWZ1bmN0aW9uKHQscil7cmV0dXJuIHI9dGhpcy5jb25jYXQuYXBwbHkoW10sdGhpcyksdD4xJiZyLnNvbWUoQXJyYXkuaXNBcnJheSk/ci5mbGF0KHQtMSk6cn0sQXJyYXkucHJvdG90eXBlLmZsYXRNYXA9ZnVuY3Rpb24odCxyKXtyZXR1cm4gdGhpcy5tYXAodCxyKS5mbGF0KCl9KSxQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5fHwoUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1mdW5jdGlvbih0KXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiB0KXJldHVybiB0aGlzLnRoZW4odCx0KTt2YXIgcj10aGlzLmNvbnN0cnVjdG9yfHxQcm9taXNlO3JldHVybiB0aGlzLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIHIucmVzb2x2ZSh0KCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gbn0pfSxmdW5jdGlvbihuKXtyZXR1cm4gci5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3Rocm93IG59KX0pfSksT2JqZWN0LmZyb21FbnRyaWVzfHwoT2JqZWN0LmZyb21FbnRyaWVzPWZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5mcm9tKHQpLnJlZHVjZShmdW5jdGlvbih0LHIpe3JldHVybiB0W3JbMF1dPXJbMV0sdH0se30pfSksQXJyYXkucHJvdG90eXBlLmF0fHwoQXJyYXkucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3ZhciByPU1hdGgudHJ1bmModCl8fDA7aWYocjwwJiYocis9dGhpcy5sZW5ndGgpLCEocjwwfHxyPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbcl19KSxPYmplY3QuaGFzT3dufHwoT2JqZWN0Lmhhc093bj1mdW5jdGlvbih0LHIpe2lmKG51bGw9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjb252ZXJ0IHVuZGVmaW5lZCBvciBudWxsIHRvIG9iamVjdFwiKTtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKE9iamVjdCh0KSxyKX0pO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/polyfills/polyfill-module.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js ***! - \********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n/**\n * MIT License\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// This file is copied from the Metro JavaScript bundler, with minor tweaks for\n// webpack 4 compatibility.\n//\n// https://github.com/facebook/metro/blob/d6b9685c730d0d63577db40f41369157f28dfa3a/packages/metro/src/lib/polyfills/require.js\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nfunction isSafeExport(key) {\n return (key === '__esModule' ||\n key === '__N_SSG' ||\n key === '__N_SSP' ||\n // TODO: remove this key from page config instead of allow listing it\n key === 'config');\n}\nfunction registerExportsForReactRefresh(moduleExports, moduleID) {\n runtime_1.default.register(moduleExports, moduleID + ' %exports%');\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n continue;\n }\n var typeID = moduleID + ' %exports% ' + key;\n runtime_1.default.register(exportValue, typeID);\n }\n}\nfunction getRefreshBoundarySignature(moduleExports) {\n var signature = [];\n signature.push(runtime_1.default.getFamilyByType(moduleExports));\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return signature;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n continue;\n }\n signature.push(key);\n signature.push(runtime_1.default.getFamilyByType(exportValue));\n }\n return signature;\n}\nfunction isReactRefreshBoundary(moduleExports) {\n if (runtime_1.default.isLikelyComponentType(moduleExports)) {\n return true;\n }\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n return false;\n }\n var hasExports = false;\n var areAllExportsComponents = true;\n for (var key in moduleExports) {\n hasExports = true;\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n return false;\n }\n if (!runtime_1.default.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n return hasExports && areAllExportsComponents;\n}\nfunction shouldInvalidateReactRefreshBoundary(prevSignature, nextSignature) {\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n for (var i = 0; i < nextSignature.length; i++) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n return false;\n}\nvar isUpdateScheduled = false;\n// This function aggregates updates from multiple modules into a single React Refresh call.\nfunction scheduleUpdate() {\n if (isUpdateScheduled) {\n return;\n }\n isUpdateScheduled = true;\n function canApplyUpdate(status) {\n return status === 'idle';\n }\n function applyUpdate() {\n isUpdateScheduled = false;\n try {\n runtime_1.default.performReactRefresh();\n }\n catch (err) {\n console.warn('Warning: Failed to re-render. We will retry on the next Fast Refresh event.\\n' +\n err);\n }\n }\n if (canApplyUpdate(module.hot.status())) {\n // Apply update on the next tick.\n Promise.resolve().then(() => {\n applyUpdate();\n });\n return;\n }\n const statusHandler = (status) => {\n if (canApplyUpdate(status)) {\n module.hot.removeStatusHandler(statusHandler);\n applyUpdate();\n }\n };\n // Apply update once the HMR runtime's status is idle.\n module.hot.addStatusHandler(statusHandler);\n}\n// Needs to be compatible with IE11\nexports[\"default\"] = {\n registerExportsForReactRefresh: registerExportsForReactRefresh,\n isReactRefreshBoundary: isReactRefreshBoundary,\n shouldInvalidateReactRefreshBoundary: shouldInvalidateReactRefreshBoundary,\n getRefreshBoundarySignature: getRefreshBoundarySignature,\n scheduleUpdate: scheduleUpdate,\n};\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtcmVmcmVzaC11dGlscy9kaXN0L2ludGVybmFsL2hlbHBlcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsbUJBQU8sQ0FBQyxnSUFBMEM7QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsMEJBQTBCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsVUFBVTtBQUNqQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFVBQVU7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFVBQVU7QUFDZDtBQUNBO0FBQ0Esa0JBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LXJlZnJlc2gtdXRpbHMvZGlzdC9pbnRlcm5hbC9oZWxwZXJzLmpzP2NlYWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vKipcbiAqIE1JVCBMaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLy8gVGhpcyBmaWxlIGlzIGNvcGllZCBmcm9tIHRoZSBNZXRybyBKYXZhU2NyaXB0IGJ1bmRsZXIsIHdpdGggbWlub3IgdHdlYWtzIGZvclxuLy8gd2VicGFjayA0IGNvbXBhdGliaWxpdHkuXG4vL1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL21ldHJvL2Jsb2IvZDZiOTY4NWM3MzBkMGQ2MzU3N2RiNDBmNDEzNjkxNTdmMjhkZmEzYS9wYWNrYWdlcy9tZXRyby9zcmMvbGliL3BvbHlmaWxscy9yZXF1aXJlLmpzXG5jb25zdCBydW50aW1lXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdC1yZWZyZXNoL3J1bnRpbWVcIikpO1xuZnVuY3Rpb24gaXNTYWZlRXhwb3J0KGtleSkge1xuICAgIHJldHVybiAoa2V5ID09PSAnX19lc01vZHVsZScgfHxcbiAgICAgICAga2V5ID09PSAnX19OX1NTRycgfHxcbiAgICAgICAga2V5ID09PSAnX19OX1NTUCcgfHxcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMga2V5IGZyb20gcGFnZSBjb25maWcgaW5zdGVhZCBvZiBhbGxvdyBsaXN0aW5nIGl0XG4gICAgICAgIGtleSA9PT0gJ2NvbmZpZycpO1xufVxuZnVuY3Rpb24gcmVnaXN0ZXJFeHBvcnRzRm9yUmVhY3RSZWZyZXNoKG1vZHVsZUV4cG9ydHMsIG1vZHVsZUlEKSB7XG4gICAgcnVudGltZV8xLmRlZmF1bHQucmVnaXN0ZXIobW9kdWxlRXhwb3J0cywgbW9kdWxlSUQgKyAnICVleHBvcnRzJScpO1xuICAgIGlmIChtb2R1bGVFeHBvcnRzID09IG51bGwgfHwgdHlwZW9mIG1vZHVsZUV4cG9ydHMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIC8vIEV4aXQgaWYgd2UgY2FuJ3QgaXRlcmF0ZSBvdmVyIGV4cG9ydHMuXG4gICAgICAgIC8vIChUaGlzIGlzIGltcG9ydGFudCBmb3IgbGVnYWN5IGVudmlyb25tZW50cy4pXG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yICh2YXIga2V5IGluIG1vZHVsZUV4cG9ydHMpIHtcbiAgICAgICAgaWYgKGlzU2FmZUV4cG9ydChrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIGV4cG9ydFZhbHVlID0gbW9kdWxlRXhwb3J0c1trZXldO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfYSkge1xuICAgICAgICAgICAgLy8gVGhpcyBtaWdodCBmYWlsIGR1ZSB0byBjaXJjdWxhciBkZXBlbmRlbmNpZXNcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0eXBlSUQgPSBtb2R1bGVJRCArICcgJWV4cG9ydHMlICcgKyBrZXk7XG4gICAgICAgIHJ1bnRpbWVfMS5kZWZhdWx0LnJlZ2lzdGVyKGV4cG9ydFZhbHVlLCB0eXBlSUQpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFJlZnJlc2hCb3VuZGFyeVNpZ25hdHVyZShtb2R1bGVFeHBvcnRzKSB7XG4gICAgdmFyIHNpZ25hdHVyZSA9IFtdO1xuICAgIHNpZ25hdHVyZS5wdXNoKHJ1bnRpbWVfMS5kZWZhdWx0LmdldEZhbWlseUJ5VHlwZShtb2R1bGVFeHBvcnRzKSk7XG4gICAgaWYgKG1vZHVsZUV4cG9ydHMgPT0gbnVsbCB8fCB0eXBlb2YgbW9kdWxlRXhwb3J0cyAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gRXhpdCBpZiB3ZSBjYW4ndCBpdGVyYXRlIG92ZXIgZXhwb3J0cy5cbiAgICAgICAgLy8gKFRoaXMgaXMgaW1wb3J0YW50IGZvciBsZWdhY3kgZW52aXJvbm1lbnRzLilcbiAgICAgICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgICB9XG4gICAgZm9yICh2YXIga2V5IGluIG1vZHVsZUV4cG9ydHMpIHtcbiAgICAgICAgaWYgKGlzU2FmZUV4cG9ydChrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIGV4cG9ydFZhbHVlID0gbW9kdWxlRXhwb3J0c1trZXldO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfYSkge1xuICAgICAgICAgICAgLy8gVGhpcyBtaWdodCBmYWlsIGR1ZSB0byBjaXJjdWxhciBkZXBlbmRlbmNpZXNcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHNpZ25hdHVyZS5wdXNoKGtleSk7XG4gICAgICAgIHNpZ25hdHVyZS5wdXNoKHJ1bnRpbWVfMS5kZWZhdWx0LmdldEZhbWlseUJ5VHlwZShleHBvcnRWYWx1ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xufVxuZnVuY3Rpb24gaXNSZWFjdFJlZnJlc2hCb3VuZGFyeShtb2R1bGVFeHBvcnRzKSB7XG4gICAgaWYgKHJ1bnRpbWVfMS5kZWZhdWx0LmlzTGlrZWx5Q29tcG9uZW50VHlwZShtb2R1bGVFeHBvcnRzKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG1vZHVsZUV4cG9ydHMgPT0gbnVsbCB8fCB0eXBlb2YgbW9kdWxlRXhwb3J0cyAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gRXhpdCBpZiB3ZSBjYW4ndCBpdGVyYXRlIG92ZXIgZXhwb3J0cy5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIgaGFzRXhwb3J0cyA9IGZhbHNlO1xuICAgIHZhciBhcmVBbGxFeHBvcnRzQ29tcG9uZW50cyA9IHRydWU7XG4gICAgZm9yICh2YXIga2V5IGluIG1vZHVsZUV4cG9ydHMpIHtcbiAgICAgICAgaGFzRXhwb3J0cyA9IHRydWU7XG4gICAgICAgIGlmIChpc1NhZmVFeHBvcnQoa2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBleHBvcnRWYWx1ZSA9IG1vZHVsZUV4cG9ydHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgbWlnaHQgZmFpbCBkdWUgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFydW50aW1lXzEuZGVmYXVsdC5pc0xpa2VseUNvbXBvbmVudFR5cGUoZXhwb3J0VmFsdWUpKSB7XG4gICAgICAgICAgICBhcmVBbGxFeHBvcnRzQ29tcG9uZW50cyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoYXNFeHBvcnRzICYmIGFyZUFsbEV4cG9ydHNDb21wb25lbnRzO1xufVxuZnVuY3Rpb24gc2hvdWxkSW52YWxpZGF0ZVJlYWN0UmVmcmVzaEJvdW5kYXJ5KHByZXZTaWduYXR1cmUsIG5leHRTaWduYXR1cmUpIHtcbiAgICBpZiAocHJldlNpZ25hdHVyZS5sZW5ndGggIT09IG5leHRTaWduYXR1cmUubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5leHRTaWduYXR1cmUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHByZXZTaWduYXR1cmVbaV0gIT09IG5leHRTaWduYXR1cmVbaV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbnZhciBpc1VwZGF0ZVNjaGVkdWxlZCA9IGZhbHNlO1xuLy8gVGhpcyBmdW5jdGlvbiBhZ2dyZWdhdGVzIHVwZGF0ZXMgZnJvbSBtdWx0aXBsZSBtb2R1bGVzIGludG8gYSBzaW5nbGUgUmVhY3QgUmVmcmVzaCBjYWxsLlxuZnVuY3Rpb24gc2NoZWR1bGVVcGRhdGUoKSB7XG4gICAgaWYgKGlzVXBkYXRlU2NoZWR1bGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaXNVcGRhdGVTY2hlZHVsZWQgPSB0cnVlO1xuICAgIGZ1bmN0aW9uIGNhbkFwcGx5VXBkYXRlKHN0YXR1cykge1xuICAgICAgICByZXR1cm4gc3RhdHVzID09PSAnaWRsZSc7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGFwcGx5VXBkYXRlKCkge1xuICAgICAgICBpc1VwZGF0ZVNjaGVkdWxlZCA9IGZhbHNlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcnVudGltZV8xLmRlZmF1bHQucGVyZm9ybVJlYWN0UmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignV2FybmluZzogRmFpbGVkIHRvIHJlLXJlbmRlci4gV2Ugd2lsbCByZXRyeSBvbiB0aGUgbmV4dCBGYXN0IFJlZnJlc2ggZXZlbnQuXFxuJyArXG4gICAgICAgICAgICAgICAgZXJyKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuQXBwbHlVcGRhdGUobW9kdWxlLmhvdC5zdGF0dXMoKSkpIHtcbiAgICAgICAgLy8gQXBwbHkgdXBkYXRlIG9uIHRoZSBuZXh0IHRpY2suXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwbHlVcGRhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RhdHVzSGFuZGxlciA9IChzdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKGNhbkFwcGx5VXBkYXRlKHN0YXR1cykpIHtcbiAgICAgICAgICAgIG1vZHVsZS5ob3QucmVtb3ZlU3RhdHVzSGFuZGxlcihzdGF0dXNIYW5kbGVyKTtcbiAgICAgICAgICAgIGFwcGx5VXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8vIEFwcGx5IHVwZGF0ZSBvbmNlIHRoZSBITVIgcnVudGltZSdzIHN0YXR1cyBpcyBpZGxlLlxuICAgIG1vZHVsZS5ob3QuYWRkU3RhdHVzSGFuZGxlcihzdGF0dXNIYW5kbGVyKTtcbn1cbi8vIE5lZWRzIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBJRTExXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgcmVnaXN0ZXJFeHBvcnRzRm9yUmVhY3RSZWZyZXNoOiByZWdpc3RlckV4cG9ydHNGb3JSZWFjdFJlZnJlc2gsXG4gICAgaXNSZWFjdFJlZnJlc2hCb3VuZGFyeTogaXNSZWFjdFJlZnJlc2hCb3VuZGFyeSxcbiAgICBzaG91bGRJbnZhbGlkYXRlUmVhY3RSZWZyZXNoQm91bmRhcnk6IHNob3VsZEludmFsaWRhdGVSZWFjdFJlZnJlc2hCb3VuZGFyeSxcbiAgICBnZXRSZWZyZXNoQm91bmRhcnlTaWduYXR1cmU6IGdldFJlZnJlc2hCb3VuZGFyeVNpZ25hdHVyZSxcbiAgICBzY2hlZHVsZVVwZGF0ZTogc2NoZWR1bGVVcGRhdGUsXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVscGVycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nconst helpers_1 = __importDefault(__webpack_require__(/*! ./internal/helpers */ \"(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\"));\n// Hook into ReactDOM initialization\nruntime_1.default.injectIntoGlobalHook(self);\n// Register global helpers\nself.$RefreshHelpers$ = helpers_1.default;\n// Register a helper for module execution interception\nself.$RefreshInterceptModuleExecution$ = function (webpackModuleId) {\n var prevRefreshReg = self.$RefreshReg$;\n var prevRefreshSig = self.$RefreshSig$;\n self.$RefreshReg$ = function (type, id) {\n runtime_1.default.register(type, webpackModuleId + ' ' + id);\n };\n self.$RefreshSig$ = runtime_1.default.createSignatureFunctionForTransform;\n // Modeled after `useEffect` cleanup pattern:\n // https://react.dev/learn/synchronizing-with-effects#step-3-add-cleanup-if-needed\n return function () {\n self.$RefreshReg$ = prevRefreshReg;\n self.$RefreshSig$ = prevRefreshSig;\n };\n};\n//# sourceMappingURL=runtime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtcmVmcmVzaC11dGlscy9kaXN0L3J1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQ0FBa0MsbUJBQU8sQ0FBQyxnSUFBMEM7QUFDcEYsa0NBQWtDLG1CQUFPLENBQUMsb0lBQW9CO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9AbmV4dC9yZWFjdC1yZWZyZXNoLXV0aWxzL2Rpc3QvcnVudGltZS5qcz9lNTUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgcnVudGltZV8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtcmVmcmVzaC9ydW50aW1lXCIpKTtcbmNvbnN0IGhlbHBlcnNfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiLi9pbnRlcm5hbC9oZWxwZXJzXCIpKTtcbi8vIEhvb2sgaW50byBSZWFjdERPTSBpbml0aWFsaXphdGlvblxucnVudGltZV8xLmRlZmF1bHQuaW5qZWN0SW50b0dsb2JhbEhvb2soc2VsZik7XG4vLyBSZWdpc3RlciBnbG9iYWwgaGVscGVyc1xuc2VsZi4kUmVmcmVzaEhlbHBlcnMkID0gaGVscGVyc18xLmRlZmF1bHQ7XG4vLyBSZWdpc3RlciBhIGhlbHBlciBmb3IgbW9kdWxlIGV4ZWN1dGlvbiBpbnRlcmNlcHRpb25cbnNlbGYuJFJlZnJlc2hJbnRlcmNlcHRNb2R1bGVFeGVjdXRpb24kID0gZnVuY3Rpb24gKHdlYnBhY2tNb2R1bGVJZCkge1xuICAgIHZhciBwcmV2UmVmcmVzaFJlZyA9IHNlbGYuJFJlZnJlc2hSZWckO1xuICAgIHZhciBwcmV2UmVmcmVzaFNpZyA9IHNlbGYuJFJlZnJlc2hTaWckO1xuICAgIHNlbGYuJFJlZnJlc2hSZWckID0gZnVuY3Rpb24gKHR5cGUsIGlkKSB7XG4gICAgICAgIHJ1bnRpbWVfMS5kZWZhdWx0LnJlZ2lzdGVyKHR5cGUsIHdlYnBhY2tNb2R1bGVJZCArICcgJyArIGlkKTtcbiAgICB9O1xuICAgIHNlbGYuJFJlZnJlc2hTaWckID0gcnVudGltZV8xLmRlZmF1bHQuY3JlYXRlU2lnbmF0dXJlRnVuY3Rpb25Gb3JUcmFuc2Zvcm07XG4gICAgLy8gTW9kZWxlZCBhZnRlciBgdXNlRWZmZWN0YCBjbGVhbnVwIHBhdHRlcm46XG4gICAgLy8gaHR0cHM6Ly9yZWFjdC5kZXYvbGVhcm4vc3luY2hyb25pemluZy13aXRoLWVmZmVjdHMjc3RlcC0zLWFkZC1jbGVhbnVwLWlmLW5lZWRlZFxuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNlbGYuJFJlZnJlc2hSZWckID0gcHJldlJlZnJlc2hSZWc7XG4gICAgICAgIHNlbGYuJFJlZnJlc2hTaWckID0gcHJldlJlZnJlc2hTaWc7XG4gICAgfTtcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ydW50aW1lLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/anser/index.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/compiled/anser/index.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";var e={211:e=>{var r=function(){function defineProperties(e,r){for(var n=0;n<r.length;n++){var s=r[n];s.enumerable=s.enumerable||false;s.configurable=true;if(\"value\"in s)s.writable=true;Object.defineProperty(e,s.key,s)}}return function(e,r,n){if(r)defineProperties(e.prototype,r);if(n)defineProperties(e,n);return e}}();function _classCallCheck(e,r){if(!(e instanceof r)){throw new TypeError(\"Cannot call a class as a function\")}}var n=[[{color:\"0, 0, 0\",class:\"ansi-black\"},{color:\"187, 0, 0\",class:\"ansi-red\"},{color:\"0, 187, 0\",class:\"ansi-green\"},{color:\"187, 187, 0\",class:\"ansi-yellow\"},{color:\"0, 0, 187\",class:\"ansi-blue\"},{color:\"187, 0, 187\",class:\"ansi-magenta\"},{color:\"0, 187, 187\",class:\"ansi-cyan\"},{color:\"255,255,255\",class:\"ansi-white\"}],[{color:\"85, 85, 85\",class:\"ansi-bright-black\"},{color:\"255, 85, 85\",class:\"ansi-bright-red\"},{color:\"0, 255, 0\",class:\"ansi-bright-green\"},{color:\"255, 255, 85\",class:\"ansi-bright-yellow\"},{color:\"85, 85, 255\",class:\"ansi-bright-blue\"},{color:\"255, 85, 255\",class:\"ansi-bright-magenta\"},{color:\"85, 255, 255\",class:\"ansi-bright-cyan\"},{color:\"255, 255, 255\",class:\"ansi-bright-white\"}]];var s=function(){r(Anser,null,[{key:\"escapeForHtml\",value:function escapeForHtml(e){return(new Anser).escapeForHtml(e)}},{key:\"linkify\",value:function linkify(e){return(new Anser).linkify(e)}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return(new Anser).ansiToHtml(e,r)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){return(new Anser).ansiToJson(e,r)}},{key:\"ansiToText\",value:function ansiToText(e){return(new Anser).ansiToText(e)}}]);function Anser(){_classCallCheck(this,Anser);this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null;this.bright=0}r(Anser,[{key:\"setupPalette\",value:function setupPalette(){this.PALETTE_COLORS=[];for(var e=0;e<2;++e){for(var r=0;r<8;++r){this.PALETTE_COLORS.push(n[e][r].color)}}var s=[0,95,135,175,215,255];var i=function format(e,r,n){return s[e]+\", \"+s[r]+\", \"+s[n]};var t=void 0,o=void 0,a=void 0;for(var l=0;l<6;++l){for(var c=0;c<6;++c){for(var u=0;u<6;++u){this.PALETTE_COLORS.push(i(l,c,u))}}}var f=8;for(var h=0;h<24;++h,f+=10){this.PALETTE_COLORS.push(i(f,f,f))}}},{key:\"escapeForHtml\",value:function escapeForHtml(e){return e.replace(/[&<>]/gm,(function(e){return e==\"&\"?\"&\":e==\"<\"?\"<\":e==\">\"?\">\":\"\"}))}},{key:\"linkify\",value:function linkify(e){return e.replace(/(https?:\\/\\/[^\\s]+)/gm,(function(e){return'<a href=\"'+e+'\">'+e+\"</a>\"}))}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return this.process(e,r,true)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){r=r||{};r.json=true;r.clearLine=false;return this.process(e,r,true)}},{key:\"ansiToText\",value:function ansiToText(e){return this.process(e,{},false)}},{key:\"process\",value:function process(e,r,n){var s=this;var i=this;var t=e.split(/\\033\\[/);var o=t.shift();if(r===undefined||r===null){r={}}r.clearLine=/\\r/.test(e);var a=t.map((function(e){return s.processChunk(e,r,n)}));if(r&&r.json){var l=i.processChunkJson(\"\");l.content=o;l.clearLine=r.clearLine;a.unshift(l);if(r.remove_empty){a=a.filter((function(e){return!e.isEmpty()}))}return a}else{a.unshift(o)}return a.join(\"\")}},{key:\"processChunkJson\",value:function processChunkJson(e,r,s){r=typeof r==\"undefined\"?{}:r;var i=r.use_classes=typeof r.use_classes!=\"undefined\"&&r.use_classes;var t=r.key=i?\"class\":\"color\";var o={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:r.clearLine,decoration:null,was_processed:false,isEmpty:function isEmpty(){return!o.content}};var a=e.match(/^([!\\x3c-\\x3f]*)([\\d;]*)([\\x20-\\x2c]*[\\x40-\\x7e])([\\s\\S]*)/m);if(!a)return o;var l=o.content=a[4];var c=a[2].split(\";\");if(a[1]!==\"\"||a[3]!==\"m\"){return o}if(!s){return o}var u=this;u.decoration=null;while(c.length>0){var f=c.shift();var h=parseInt(f);if(isNaN(h)||h===0){u.fg=u.bg=u.decoration=null}else if(h===1){u.decoration=\"bold\"}else if(h===2){u.decoration=\"dim\"}else if(h==3){u.decoration=\"italic\"}else if(h==4){u.decoration=\"underline\"}else if(h==5){u.decoration=\"blink\"}else if(h===7){u.decoration=\"reverse\"}else if(h===8){u.decoration=\"hidden\"}else if(h===9){u.decoration=\"strikethrough\"}else if(h==39){u.fg=null}else if(h==49){u.bg=null}else if(h>=30&&h<38){u.fg=n[0][h%10][t]}else if(h>=90&&h<98){u.fg=n[1][h%10][t]}else if(h>=40&&h<48){u.bg=n[0][h%10][t]}else if(h>=100&&h<108){u.bg=n[1][h%10][t]}else if(h===38||h===48){var p=h===38;if(c.length>=1){var g=c.shift();if(g===\"5\"&&c.length>=1){var v=parseInt(c.shift());if(v>=0&&v<=255){if(!i){if(!this.PALETTE_COLORS){u.setupPalette()}if(p){u.fg=this.PALETTE_COLORS[v]}else{u.bg=this.PALETTE_COLORS[v]}}else{var d=v>=16?\"ansi-palette-\"+v:n[v>7?1:0][v%8][\"class\"];if(p){u.fg=d}else{u.bg=d}}}}else if(g===\"2\"&&c.length>=3){var _=parseInt(c.shift());var b=parseInt(c.shift());var y=parseInt(c.shift());if(_>=0&&_<=255&&b>=0&&b<=255&&y>=0&&y<=255){var k=_+\", \"+b+\", \"+y;if(!i){if(p){u.fg=k}else{u.bg=k}}else{if(p){u.fg=\"ansi-truecolor\";u.fg_truecolor=k}else{u.bg=\"ansi-truecolor\";u.bg_truecolor=k}}}}}}}if(u.fg===null&&u.bg===null&&u.decoration===null){return o}else{var T=[];var m=[];var w={};o.fg=u.fg;o.bg=u.bg;o.fg_truecolor=u.fg_truecolor;o.bg_truecolor=u.bg_truecolor;o.decoration=u.decoration;o.was_processed=true;return o}}},{key:\"processChunk\",value:function processChunk(e,r,n){var s=this;var i=this;r=r||{};var t=this.processChunkJson(e,r,n);if(r.json){return t}if(t.isEmpty()){return\"\"}if(!t.was_processed){return t.content}var o=r.use_classes;var a=[];var l=[];var c={};var u=function render_data(e){var r=[];var n=void 0;for(n in e){if(e.hasOwnProperty(n)){r.push(\"data-\"+n+'=\"'+s.escapeForHtml(e[n])+'\"')}}return r.length>0?\" \"+r.join(\" \"):\"\"};if(t.fg){if(o){l.push(t.fg+\"-fg\");if(t.fg_truecolor!==null){c[\"ansi-truecolor-fg\"]=t.fg_truecolor;t.fg_truecolor=null}}else{a.push(\"color:rgb(\"+t.fg+\")\")}}if(t.bg){if(o){l.push(t.bg+\"-bg\");if(t.bg_truecolor!==null){c[\"ansi-truecolor-bg\"]=t.bg_truecolor;t.bg_truecolor=null}}else{a.push(\"background-color:rgb(\"+t.bg+\")\")}}if(t.decoration){if(o){l.push(\"ansi-\"+t.decoration)}else if(t.decoration===\"bold\"){a.push(\"font-weight:bold\")}else if(t.decoration===\"dim\"){a.push(\"opacity:0.5\")}else if(t.decoration===\"italic\"){a.push(\"font-style:italic\")}else if(t.decoration===\"reverse\"){a.push(\"filter:invert(100%)\")}else if(t.decoration===\"hidden\"){a.push(\"visibility:hidden\")}else if(t.decoration===\"strikethrough\"){a.push(\"text-decoration:line-through\")}else{a.push(\"text-decoration:\"+t.decoration)}}if(o){return'<span class=\"'+l.join(\" \")+'\"'+u(c)+\">\"+t.content+\"</span>\"}else{return'<span style=\"'+a.join(\";\")+'\"'+u(c)+\">\"+t.content+\"</span>\"}}}]);return Anser}();e.exports=s}};var r={};function __nccwpck_require__(n){var s=r[n];if(s!==undefined){return s.exports}var i=r[n]={exports:{}};var t=true;try{e[n](i,i.exports,__nccwpck_require__);t=false}finally{if(t)delete r[n]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n=__nccwpck_require__(211);module.exports=n})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvYW5zZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sYUFBYSxPQUFPLFFBQVEsaUJBQWlCLCtCQUErQixZQUFZLFdBQVcsS0FBSyxXQUFXLGlDQUFpQyxvQkFBb0IsK0JBQStCLGtDQUFrQyx1QkFBdUIscUNBQXFDLDJCQUEyQixVQUFVLEdBQUcsOEJBQThCLHNCQUFzQiwwREFBMEQsU0FBUyxtQ0FBbUMsRUFBRSxtQ0FBbUMsRUFBRSxxQ0FBcUMsRUFBRSx3Q0FBd0MsRUFBRSxvQ0FBb0MsRUFBRSx5Q0FBeUMsRUFBRSxzQ0FBc0MsRUFBRSx1Q0FBdUMsSUFBSSw2Q0FBNkMsRUFBRSw0Q0FBNEMsRUFBRSw0Q0FBNEMsRUFBRSxnREFBZ0QsRUFBRSw2Q0FBNkMsRUFBRSxpREFBaUQsRUFBRSw4Q0FBOEMsRUFBRSxnREFBZ0QsR0FBRyxpQkFBaUIsZUFBZSxvREFBb0Qsb0NBQW9DLEVBQUUsd0NBQXdDLDhCQUE4QixFQUFFLGdEQUFnRCxtQ0FBbUMsRUFBRSxnREFBZ0QsbUNBQW1DLEVBQUUsOENBQThDLGlDQUFpQyxHQUFHLGlCQUFpQiw0QkFBNEIseURBQXlELGNBQWMsVUFBVSxpREFBaUQsdUJBQXVCLFlBQVksSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLHlDQUF5Qyw2QkFBNkIsNkJBQTZCLGlDQUFpQywrQkFBK0IsWUFBWSxJQUFJLEtBQUssWUFBWSxJQUFJLEtBQUssWUFBWSxJQUFJLEtBQUsscUNBQXFDLFFBQVEsWUFBWSxLQUFLLFdBQVcscUNBQXFDLEVBQUUsb0RBQW9ELHdDQUF3QyxvQkFBb0IsY0FBYyxjQUFjLEtBQUssSUFBSSxFQUFFLHdDQUF3QyxzREFBc0Qsa0NBQWtDLElBQUksRUFBRSxnREFBZ0QsK0JBQStCLEVBQUUsZ0RBQWdELFFBQVEsWUFBWSxrQkFBa0IsK0JBQStCLEVBQUUsOENBQThDLHdCQUF3QixTQUFTLEVBQUUsNENBQTRDLFdBQVcsV0FBVyx3QkFBd0IsZ0JBQWdCLDRCQUE0QixLQUFLLHlCQUF5Qix5QkFBeUIsNkJBQTZCLEdBQUcsY0FBYyw2QkFBNkIsWUFBWSx3QkFBd0IsYUFBYSxtQkFBbUIsd0JBQXdCLG1CQUFtQixHQUFHLFNBQVMsS0FBSyxhQUFhLG1CQUFtQixFQUFFLDhEQUE4RCwwQkFBMEIsR0FBRyxxRUFBcUUsOEJBQThCLE9BQU8sbUpBQW1KLG1CQUFtQixvQ0FBb0MseUNBQXlDLGVBQWUscUJBQXFCLG1CQUFtQixHQUFHLDBCQUEwQixTQUFTLE9BQU8sU0FBUyxXQUFXLGtCQUFrQixrQkFBa0IsZ0JBQWdCLGtCQUFrQixvQkFBb0IsNEJBQTRCLGVBQWUsb0JBQW9CLGVBQWUsbUJBQW1CLGNBQWMsc0JBQXNCLGNBQWMseUJBQXlCLGNBQWMscUJBQXFCLGVBQWUsdUJBQXVCLGVBQWUsc0JBQXNCLGVBQWUsNkJBQTZCLGVBQWUsVUFBVSxlQUFlLFVBQVUscUJBQXFCLG1CQUFtQixxQkFBcUIsbUJBQW1CLHFCQUFxQixtQkFBbUIsdUJBQXVCLG1CQUFtQix3QkFBd0IsYUFBYSxnQkFBZ0IsZ0JBQWdCLHlCQUF5QiwwQkFBMEIsaUJBQWlCLE9BQU8seUJBQXlCLGlCQUFpQixNQUFNLDRCQUE0QixLQUFLLDZCQUE2QixLQUFLLHVEQUF1RCxNQUFNLE9BQU8sS0FBSyxVQUFVLDhCQUE4QiwwQkFBMEIsMEJBQTBCLDBCQUEwQiw2Q0FBNkMsc0JBQXNCLE9BQU8sTUFBTSxPQUFPLEtBQUssUUFBUSxLQUFLLE1BQU0sc0JBQXNCLGlCQUFpQixLQUFLLHNCQUFzQix1QkFBdUIsa0RBQWtELFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxVQUFVLFVBQVUsOEJBQThCLDhCQUE4QiwwQkFBMEIscUJBQXFCLFdBQVcsRUFBRSxzREFBc0QsV0FBVyxXQUFXLFFBQVEsbUNBQW1DLFdBQVcsU0FBUyxnQkFBZ0IsU0FBUyxxQkFBcUIsaUJBQWlCLG9CQUFvQixTQUFTLFNBQVMsU0FBUyw4QkFBOEIsU0FBUyxhQUFhLFlBQVksd0JBQXdCLGtEQUFrRCxzQ0FBc0MsU0FBUyxNQUFNLG1CQUFtQiwwQkFBMEIsc0NBQXNDLHFCQUFxQixLQUFLLCtCQUErQixTQUFTLE1BQU0sbUJBQW1CLDBCQUEwQixzQ0FBc0MscUJBQXFCLEtBQUssMENBQTBDLGlCQUFpQixNQUFNLDZCQUE2QiwrQkFBK0IsMkJBQTJCLDhCQUE4QixzQkFBc0IsaUNBQWlDLDRCQUE0QixrQ0FBa0MsOEJBQThCLGlDQUFpQyw0QkFBNEIsd0NBQXdDLHVDQUF1QyxLQUFLLHlDQUF5QyxNQUFNLG1FQUFtRSxLQUFLLCtCQUErQixzQ0FBc0MsR0FBRyxhQUFhLEdBQUcsY0FBYyxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxzQ0FBc0MsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsbUVBQW1FLFNBQVMsS0FBSywrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvYW5zZXIvaW5kZXguanM/MWVmMCJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgZT17MjExOmU9Pnt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoZSxyKXtmb3IodmFyIG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHM9cltuXTtzLmVudW1lcmFibGU9cy5lbnVtZXJhYmxlfHxmYWxzZTtzLmNvbmZpZ3VyYWJsZT10cnVlO2lmKFwidmFsdWVcImluIHMpcy53cml0YWJsZT10cnVlO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHMua2V5LHMpfX1yZXR1cm4gZnVuY3Rpb24oZSxyLG4pe2lmKHIpZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSxyKTtpZihuKWRlZmluZVByb3BlcnRpZXMoZSxuKTtyZXR1cm4gZX19KCk7ZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGUscil7aWYoIShlIGluc3RhbmNlb2Ygcikpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9fXZhciBuPVtbe2NvbG9yOlwiMCwgMCwgMFwiLGNsYXNzOlwiYW5zaS1ibGFja1wifSx7Y29sb3I6XCIxODcsIDAsIDBcIixjbGFzczpcImFuc2ktcmVkXCJ9LHtjb2xvcjpcIjAsIDE4NywgMFwiLGNsYXNzOlwiYW5zaS1ncmVlblwifSx7Y29sb3I6XCIxODcsIDE4NywgMFwiLGNsYXNzOlwiYW5zaS15ZWxsb3dcIn0se2NvbG9yOlwiMCwgMCwgMTg3XCIsY2xhc3M6XCJhbnNpLWJsdWVcIn0se2NvbG9yOlwiMTg3LCAwLCAxODdcIixjbGFzczpcImFuc2ktbWFnZW50YVwifSx7Y29sb3I6XCIwLCAxODcsIDE4N1wiLGNsYXNzOlwiYW5zaS1jeWFuXCJ9LHtjb2xvcjpcIjI1NSwyNTUsMjU1XCIsY2xhc3M6XCJhbnNpLXdoaXRlXCJ9XSxbe2NvbG9yOlwiODUsIDg1LCA4NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtYmxhY2tcIn0se2NvbG9yOlwiMjU1LCA4NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXJlZFwifSx7Y29sb3I6XCIwLCAyNTUsIDBcIixjbGFzczpcImFuc2ktYnJpZ2h0LWdyZWVuXCJ9LHtjb2xvcjpcIjI1NSwgMjU1LCA4NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQteWVsbG93XCJ9LHtjb2xvcjpcIjg1LCA4NSwgMjU1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1ibHVlXCJ9LHtjb2xvcjpcIjI1NSwgODUsIDI1NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtbWFnZW50YVwifSx7Y29sb3I6XCI4NSwgMjU1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LWN5YW5cIn0se2NvbG9yOlwiMjU1LCAyNTUsIDI1NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtd2hpdGVcIn1dXTt2YXIgcz1mdW5jdGlvbigpe3IoQW5zZXIsbnVsbCxbe2tleTpcImVzY2FwZUZvckh0bWxcIix2YWx1ZTpmdW5jdGlvbiBlc2NhcGVGb3JIdG1sKGUpe3JldHVybihuZXcgQW5zZXIpLmVzY2FwZUZvckh0bWwoZSl9fSx7a2V5OlwibGlua2lmeVwiLHZhbHVlOmZ1bmN0aW9uIGxpbmtpZnkoZSl7cmV0dXJuKG5ldyBBbnNlcikubGlua2lmeShlKX19LHtrZXk6XCJhbnNpVG9IdG1sXCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvSHRtbChlLHIpe3JldHVybihuZXcgQW5zZXIpLmFuc2lUb0h0bWwoZSxyKX19LHtrZXk6XCJhbnNpVG9Kc29uXCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvSnNvbihlLHIpe3JldHVybihuZXcgQW5zZXIpLmFuc2lUb0pzb24oZSxyKX19LHtrZXk6XCJhbnNpVG9UZXh0XCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvVGV4dChlKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9UZXh0KGUpfX1dKTtmdW5jdGlvbiBBbnNlcigpe19jbGFzc0NhbGxDaGVjayh0aGlzLEFuc2VyKTt0aGlzLmZnPXRoaXMuYmc9dGhpcy5mZ190cnVlY29sb3I9dGhpcy5iZ190cnVlY29sb3I9bnVsbDt0aGlzLmJyaWdodD0wfXIoQW5zZXIsW3trZXk6XCJzZXR1cFBhbGV0dGVcIix2YWx1ZTpmdW5jdGlvbiBzZXR1cFBhbGV0dGUoKXt0aGlzLlBBTEVUVEVfQ09MT1JTPVtdO2Zvcih2YXIgZT0wO2U8MjsrK2Upe2Zvcih2YXIgcj0wO3I8ODsrK3Ipe3RoaXMuUEFMRVRURV9DT0xPUlMucHVzaChuW2VdW3JdLmNvbG9yKX19dmFyIHM9WzAsOTUsMTM1LDE3NSwyMTUsMjU1XTt2YXIgaT1mdW5jdGlvbiBmb3JtYXQoZSxyLG4pe3JldHVybiBzW2VdK1wiLCBcIitzW3JdK1wiLCBcIitzW25dfTt2YXIgdD12b2lkIDAsbz12b2lkIDAsYT12b2lkIDA7Zm9yKHZhciBsPTA7bDw2OysrbCl7Zm9yKHZhciBjPTA7Yzw2OysrYyl7Zm9yKHZhciB1PTA7dTw2OysrdSl7dGhpcy5QQUxFVFRFX0NPTE9SUy5wdXNoKGkobCxjLHUpKX19fXZhciBmPTg7Zm9yKHZhciBoPTA7aDwyNDsrK2gsZis9MTApe3RoaXMuUEFMRVRURV9DT0xPUlMucHVzaChpKGYsZixmKSl9fX0se2tleTpcImVzY2FwZUZvckh0bWxcIix2YWx1ZTpmdW5jdGlvbiBlc2NhcGVGb3JIdG1sKGUpe3JldHVybiBlLnJlcGxhY2UoL1smPD5dL2dtLChmdW5jdGlvbihlKXtyZXR1cm4gZT09XCImXCI/XCImYW1wO1wiOmU9PVwiPFwiP1wiJmx0O1wiOmU9PVwiPlwiP1wiJmd0O1wiOlwiXCJ9KSl9fSx7a2V5OlwibGlua2lmeVwiLHZhbHVlOmZ1bmN0aW9uIGxpbmtpZnkoZSl7cmV0dXJuIGUucmVwbGFjZSgvKGh0dHBzPzpcXC9cXC9bXlxcc10rKS9nbSwoZnVuY3Rpb24oZSl7cmV0dXJuJzxhIGhyZWY9XCInK2UrJ1wiPicrZStcIjwvYT5cIn0pKX19LHtrZXk6XCJhbnNpVG9IdG1sXCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvSHRtbChlLHIpe3JldHVybiB0aGlzLnByb2Nlc3MoZSxyLHRydWUpfX0se2tleTpcImFuc2lUb0pzb25cIix2YWx1ZTpmdW5jdGlvbiBhbnNpVG9Kc29uKGUscil7cj1yfHx7fTtyLmpzb249dHJ1ZTtyLmNsZWFyTGluZT1mYWxzZTtyZXR1cm4gdGhpcy5wcm9jZXNzKGUscix0cnVlKX19LHtrZXk6XCJhbnNpVG9UZXh0XCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvVGV4dChlKXtyZXR1cm4gdGhpcy5wcm9jZXNzKGUse30sZmFsc2UpfX0se2tleTpcInByb2Nlc3NcIix2YWx1ZTpmdW5jdGlvbiBwcm9jZXNzKGUscixuKXt2YXIgcz10aGlzO3ZhciBpPXRoaXM7dmFyIHQ9ZS5zcGxpdCgvXFwwMzNcXFsvKTt2YXIgbz10LnNoaWZ0KCk7aWYocj09PXVuZGVmaW5lZHx8cj09PW51bGwpe3I9e319ci5jbGVhckxpbmU9L1xcci8udGVzdChlKTt2YXIgYT10Lm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHMucHJvY2Vzc0NodW5rKGUscixuKX0pKTtpZihyJiZyLmpzb24pe3ZhciBsPWkucHJvY2Vzc0NodW5rSnNvbihcIlwiKTtsLmNvbnRlbnQ9bztsLmNsZWFyTGluZT1yLmNsZWFyTGluZTthLnVuc2hpZnQobCk7aWYoci5yZW1vdmVfZW1wdHkpe2E9YS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiFlLmlzRW1wdHkoKX0pKX1yZXR1cm4gYX1lbHNle2EudW5zaGlmdChvKX1yZXR1cm4gYS5qb2luKFwiXCIpfX0se2tleTpcInByb2Nlc3NDaHVua0pzb25cIix2YWx1ZTpmdW5jdGlvbiBwcm9jZXNzQ2h1bmtKc29uKGUscixzKXtyPXR5cGVvZiByPT1cInVuZGVmaW5lZFwiP3t9OnI7dmFyIGk9ci51c2VfY2xhc3Nlcz10eXBlb2Ygci51c2VfY2xhc3NlcyE9XCJ1bmRlZmluZWRcIiYmci51c2VfY2xhc3Nlczt2YXIgdD1yLmtleT1pP1wiY2xhc3NcIjpcImNvbG9yXCI7dmFyIG89e2NvbnRlbnQ6ZSxmZzpudWxsLGJnOm51bGwsZmdfdHJ1ZWNvbG9yOm51bGwsYmdfdHJ1ZWNvbG9yOm51bGwsY2xlYXJMaW5lOnIuY2xlYXJMaW5lLGRlY29yYXRpb246bnVsbCx3YXNfcHJvY2Vzc2VkOmZhbHNlLGlzRW1wdHk6ZnVuY3Rpb24gaXNFbXB0eSgpe3JldHVybiFvLmNvbnRlbnR9fTt2YXIgYT1lLm1hdGNoKC9eKFshXFx4M2MtXFx4M2ZdKikoW1xcZDtdKikoW1xceDIwLVxceDJjXSpbXFx4NDAtXFx4N2VdKShbXFxzXFxTXSopL20pO2lmKCFhKXJldHVybiBvO3ZhciBsPW8uY29udGVudD1hWzRdO3ZhciBjPWFbMl0uc3BsaXQoXCI7XCIpO2lmKGFbMV0hPT1cIlwifHxhWzNdIT09XCJtXCIpe3JldHVybiBvfWlmKCFzKXtyZXR1cm4gb312YXIgdT10aGlzO3UuZGVjb3JhdGlvbj1udWxsO3doaWxlKGMubGVuZ3RoPjApe3ZhciBmPWMuc2hpZnQoKTt2YXIgaD1wYXJzZUludChmKTtpZihpc05hTihoKXx8aD09PTApe3UuZmc9dS5iZz11LmRlY29yYXRpb249bnVsbH1lbHNlIGlmKGg9PT0xKXt1LmRlY29yYXRpb249XCJib2xkXCJ9ZWxzZSBpZihoPT09Mil7dS5kZWNvcmF0aW9uPVwiZGltXCJ9ZWxzZSBpZihoPT0zKXt1LmRlY29yYXRpb249XCJpdGFsaWNcIn1lbHNlIGlmKGg9PTQpe3UuZGVjb3JhdGlvbj1cInVuZGVybGluZVwifWVsc2UgaWYoaD09NSl7dS5kZWNvcmF0aW9uPVwiYmxpbmtcIn1lbHNlIGlmKGg9PT03KXt1LmRlY29yYXRpb249XCJyZXZlcnNlXCJ9ZWxzZSBpZihoPT09OCl7dS5kZWNvcmF0aW9uPVwiaGlkZGVuXCJ9ZWxzZSBpZihoPT09OSl7dS5kZWNvcmF0aW9uPVwic3RyaWtldGhyb3VnaFwifWVsc2UgaWYoaD09Mzkpe3UuZmc9bnVsbH1lbHNlIGlmKGg9PTQ5KXt1LmJnPW51bGx9ZWxzZSBpZihoPj0zMCYmaDwzOCl7dS5mZz1uWzBdW2glMTBdW3RdfWVsc2UgaWYoaD49OTAmJmg8OTgpe3UuZmc9blsxXVtoJTEwXVt0XX1lbHNlIGlmKGg+PTQwJiZoPDQ4KXt1LmJnPW5bMF1baCUxMF1bdF19ZWxzZSBpZihoPj0xMDAmJmg8MTA4KXt1LmJnPW5bMV1baCUxMF1bdF19ZWxzZSBpZihoPT09Mzh8fGg9PT00OCl7dmFyIHA9aD09PTM4O2lmKGMubGVuZ3RoPj0xKXt2YXIgZz1jLnNoaWZ0KCk7aWYoZz09PVwiNVwiJiZjLmxlbmd0aD49MSl7dmFyIHY9cGFyc2VJbnQoYy5zaGlmdCgpKTtpZih2Pj0wJiZ2PD0yNTUpe2lmKCFpKXtpZighdGhpcy5QQUxFVFRFX0NPTE9SUyl7dS5zZXR1cFBhbGV0dGUoKX1pZihwKXt1LmZnPXRoaXMuUEFMRVRURV9DT0xPUlNbdl19ZWxzZXt1LmJnPXRoaXMuUEFMRVRURV9DT0xPUlNbdl19fWVsc2V7dmFyIGQ9dj49MTY/XCJhbnNpLXBhbGV0dGUtXCIrdjpuW3Y+Nz8xOjBdW3YlOF1bXCJjbGFzc1wiXTtpZihwKXt1LmZnPWR9ZWxzZXt1LmJnPWR9fX19ZWxzZSBpZihnPT09XCIyXCImJmMubGVuZ3RoPj0zKXt2YXIgXz1wYXJzZUludChjLnNoaWZ0KCkpO3ZhciBiPXBhcnNlSW50KGMuc2hpZnQoKSk7dmFyIHk9cGFyc2VJbnQoYy5zaGlmdCgpKTtpZihfPj0wJiZfPD0yNTUmJmI+PTAmJmI8PTI1NSYmeT49MCYmeTw9MjU1KXt2YXIgaz1fK1wiLCBcIitiK1wiLCBcIit5O2lmKCFpKXtpZihwKXt1LmZnPWt9ZWxzZXt1LmJnPWt9fWVsc2V7aWYocCl7dS5mZz1cImFuc2ktdHJ1ZWNvbG9yXCI7dS5mZ190cnVlY29sb3I9a31lbHNle3UuYmc9XCJhbnNpLXRydWVjb2xvclwiO3UuYmdfdHJ1ZWNvbG9yPWt9fX19fX19aWYodS5mZz09PW51bGwmJnUuYmc9PT1udWxsJiZ1LmRlY29yYXRpb249PT1udWxsKXtyZXR1cm4gb31lbHNle3ZhciBUPVtdO3ZhciBtPVtdO3ZhciB3PXt9O28uZmc9dS5mZztvLmJnPXUuYmc7by5mZ190cnVlY29sb3I9dS5mZ190cnVlY29sb3I7by5iZ190cnVlY29sb3I9dS5iZ190cnVlY29sb3I7by5kZWNvcmF0aW9uPXUuZGVjb3JhdGlvbjtvLndhc19wcm9jZXNzZWQ9dHJ1ZTtyZXR1cm4gb319fSx7a2V5OlwicHJvY2Vzc0NodW5rXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2Vzc0NodW5rKGUscixuKXt2YXIgcz10aGlzO3ZhciBpPXRoaXM7cj1yfHx7fTt2YXIgdD10aGlzLnByb2Nlc3NDaHVua0pzb24oZSxyLG4pO2lmKHIuanNvbil7cmV0dXJuIHR9aWYodC5pc0VtcHR5KCkpe3JldHVyblwiXCJ9aWYoIXQud2FzX3Byb2Nlc3NlZCl7cmV0dXJuIHQuY29udGVudH12YXIgbz1yLnVzZV9jbGFzc2VzO3ZhciBhPVtdO3ZhciBsPVtdO3ZhciBjPXt9O3ZhciB1PWZ1bmN0aW9uIHJlbmRlcl9kYXRhKGUpe3ZhciByPVtdO3ZhciBuPXZvaWQgMDtmb3IobiBpbiBlKXtpZihlLmhhc093blByb3BlcnR5KG4pKXtyLnB1c2goXCJkYXRhLVwiK24rJz1cIicrcy5lc2NhcGVGb3JIdG1sKGVbbl0pKydcIicpfX1yZXR1cm4gci5sZW5ndGg+MD9cIiBcIityLmpvaW4oXCIgXCIpOlwiXCJ9O2lmKHQuZmcpe2lmKG8pe2wucHVzaCh0LmZnK1wiLWZnXCIpO2lmKHQuZmdfdHJ1ZWNvbG9yIT09bnVsbCl7Y1tcImFuc2ktdHJ1ZWNvbG9yLWZnXCJdPXQuZmdfdHJ1ZWNvbG9yO3QuZmdfdHJ1ZWNvbG9yPW51bGx9fWVsc2V7YS5wdXNoKFwiY29sb3I6cmdiKFwiK3QuZmcrXCIpXCIpfX1pZih0LmJnKXtpZihvKXtsLnB1c2godC5iZytcIi1iZ1wiKTtpZih0LmJnX3RydWVjb2xvciE9PW51bGwpe2NbXCJhbnNpLXRydWVjb2xvci1iZ1wiXT10LmJnX3RydWVjb2xvcjt0LmJnX3RydWVjb2xvcj1udWxsfX1lbHNle2EucHVzaChcImJhY2tncm91bmQtY29sb3I6cmdiKFwiK3QuYmcrXCIpXCIpfX1pZih0LmRlY29yYXRpb24pe2lmKG8pe2wucHVzaChcImFuc2ktXCIrdC5kZWNvcmF0aW9uKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiYm9sZFwiKXthLnB1c2goXCJmb250LXdlaWdodDpib2xkXCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJkaW1cIil7YS5wdXNoKFwib3BhY2l0eTowLjVcIil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cIml0YWxpY1wiKXthLnB1c2goXCJmb250LXN0eWxlOml0YWxpY1wiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwicmV2ZXJzZVwiKXthLnB1c2goXCJmaWx0ZXI6aW52ZXJ0KDEwMCUpXCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJoaWRkZW5cIil7YS5wdXNoKFwidmlzaWJpbGl0eTpoaWRkZW5cIil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cInN0cmlrZXRocm91Z2hcIil7YS5wdXNoKFwidGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaFwiKX1lbHNle2EucHVzaChcInRleHQtZGVjb3JhdGlvbjpcIit0LmRlY29yYXRpb24pfX1pZihvKXtyZXR1cm4nPHNwYW4gY2xhc3M9XCInK2wuam9pbihcIiBcIikrJ1wiJyt1KGMpK1wiPlwiK3QuY29udGVudCtcIjwvc3Bhbj5cIn1lbHNle3JldHVybic8c3BhbiBzdHlsZT1cIicrYS5qb2luKFwiO1wiKSsnXCInK3UoYykrXCI+XCIrdC5jb250ZW50K1wiPC9zcGFuPlwifX19XSk7cmV0dXJuIEFuc2VyfSgpO2UuZXhwb3J0cz1zfX07dmFyIHI9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyhuKXt2YXIgcz1yW25dO2lmKHMhPT11bmRlZmluZWQpe3JldHVybiBzLmV4cG9ydHN9dmFyIGk9cltuXT17ZXhwb3J0czp7fX07dmFyIHQ9dHJ1ZTt0cnl7ZVtuXShpLGkuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTt0PWZhbHNlfWZpbmFsbHl7aWYodClkZWxldGUgcltuXX1yZXR1cm4gaS5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgbj1fX25jY3dwY2tfcmVxdWlyZV9fKDIxMSk7bW9kdWxlLmV4cG9ydHM9bn0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/anser/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/css.escape/css.escape.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/css.escape/css.escape.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{var e={553:function(e){(function(r,t){if(true){e.exports=t(r)}else{}})(typeof __webpack_require__.g!=\"undefined\"?__webpack_require__.g:this,(function(e){if(e.CSS&&e.CSS.escape){return e.CSS.escape}var cssEscape=function(e){if(arguments.length==0){throw new TypeError(\"`CSS.escape` requires an argument.\")}var r=String(e);var t=r.length;var n=-1;var a;var i=\"\";var u=r.charCodeAt(0);while(++n<t){a=r.charCodeAt(n);if(a==0){i+=\"�\";continue}if(a>=1&&a<=31||a==127||n==0&&a>=48&&a<=57||n==1&&a>=48&&a<=57&&u==45){i+=\"\\\\\"+a.toString(16)+\" \";continue}if(n==0&&t==1&&a==45){i+=\"\\\\\"+r.charAt(n);continue}if(a>=128||a==45||a==95||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122){i+=r.charAt(n);continue}i+=\"\\\\\"+r.charAt(n)}return i};if(!e.CSS){e.CSS={}}e.CSS.escape=cssEscape;return cssEscape}))}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var a=r[t]={exports:{}};var i=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);i=false}finally{if(i)delete r[t]}return a.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(553);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvY3NzLmVzY2FwZS9jc3MuZXNjYXBlLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLE9BQU8sZ0JBQWdCLGVBQWUsR0FBRyxJQUFJLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQyxTQUFTLHFCQUFNLGNBQWMscUJBQU0sbUJBQW1CLHdCQUF3QixvQkFBb0IsMEJBQTBCLHdCQUF3QiwwREFBMEQsZ0JBQWdCLGVBQWUsU0FBUyxNQUFNLFNBQVMsc0JBQXNCLGFBQWEsa0JBQWtCLFNBQVMsT0FBTyxTQUFTLHVFQUF1RSwyQkFBMkIsU0FBUyxzQkFBc0Isb0JBQW9CLFNBQVMsb0VBQW9FLGVBQWUsU0FBUyxvQkFBb0IsVUFBVSxXQUFXLFNBQVMsdUJBQXVCLGlCQUFpQixLQUFLLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLFlBQVksV0FBVyxJQUFJLHFEQUFxRCxRQUFRLFFBQVEsaUJBQWlCLGlCQUFpQixtRUFBbUUsU0FBUyxLQUFLLCtCQUErQixpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9jc3MuZXNjYXBlL2Nzcy5lc2NhcGUuanM/NTk0OSJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9Pnt2YXIgZT17NTUzOmZ1bmN0aW9uKGUpeyhmdW5jdGlvbihyLHQpe2lmKHRydWUpe2UuZXhwb3J0cz10KHIpfWVsc2V7fX0pKHR5cGVvZiBnbG9iYWwhPVwidW5kZWZpbmVkXCI/Z2xvYmFsOnRoaXMsKGZ1bmN0aW9uKGUpe2lmKGUuQ1NTJiZlLkNTUy5lc2NhcGUpe3JldHVybiBlLkNTUy5lc2NhcGV9dmFyIGNzc0VzY2FwZT1mdW5jdGlvbihlKXtpZihhcmd1bWVudHMubGVuZ3RoPT0wKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiYENTUy5lc2NhcGVgIHJlcXVpcmVzIGFuIGFyZ3VtZW50LlwiKX12YXIgcj1TdHJpbmcoZSk7dmFyIHQ9ci5sZW5ndGg7dmFyIG49LTE7dmFyIGE7dmFyIGk9XCJcIjt2YXIgdT1yLmNoYXJDb2RlQXQoMCk7d2hpbGUoKytuPHQpe2E9ci5jaGFyQ29kZUF0KG4pO2lmKGE9PTApe2krPVwi77+9XCI7Y29udGludWV9aWYoYT49MSYmYTw9MzF8fGE9PTEyN3x8bj09MCYmYT49NDgmJmE8PTU3fHxuPT0xJiZhPj00OCYmYTw9NTcmJnU9PTQ1KXtpKz1cIlxcXFxcIithLnRvU3RyaW5nKDE2KStcIiBcIjtjb250aW51ZX1pZihuPT0wJiZ0PT0xJiZhPT00NSl7aSs9XCJcXFxcXCIrci5jaGFyQXQobik7Y29udGludWV9aWYoYT49MTI4fHxhPT00NXx8YT09OTV8fGE+PTQ4JiZhPD01N3x8YT49NjUmJmE8PTkwfHxhPj05NyYmYTw9MTIyKXtpKz1yLmNoYXJBdChuKTtjb250aW51ZX1pKz1cIlxcXFxcIityLmNoYXJBdChuKX1yZXR1cm4gaX07aWYoIWUuQ1NTKXtlLkNTUz17fX1lLkNTUy5lc2NhcGU9Y3NzRXNjYXBlO3JldHVybiBjc3NFc2NhcGV9KSl9fTt2YXIgcj17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHQpe3ZhciBuPXJbdF07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgYT1yW3RdPXtleHBvcnRzOnt9fTt2YXIgaT10cnVlO3RyeXtlW3RdLmNhbGwoYS5leHBvcnRzLGEsYS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO2k9ZmFsc2V9ZmluYWxseXtpZihpKWRlbGV0ZSByW3RdfXJldHVybiBhLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB0PV9fbmNjd3Bja19yZXF1aXJlX18oNTUzKTttb2R1bGUuZXhwb3J0cz10fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/css.escape/css.escape.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/platform/platform.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/compiled/platform/platform.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{var e={541:function(e,i,t){e=t.nmd(e);\n/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */(function(){\"use strict\";var t={function:true,object:true};var r=t[typeof window]&&window||this;var a=r;var n=t[typeof i]&&i;var o=t[\"object\"]&&e&&!e.nodeType&&e;var l=n&&o&&typeof __webpack_require__.g==\"object\"&&__webpack_require__.g;if(l&&(l.global===l||l.window===l||l.self===l)){r=l}var s=Math.pow(2,53)-1;var f=/\\bOpera/;var b=this;var c=Object.prototype;var p=c.hasOwnProperty;var u=c.toString;function capitalize(e){e=String(e);return e.charAt(0).toUpperCase()+e.slice(1)}function cleanupOS(e,i,t){var r={\"10.0\":\"10\",6.4:\"10 Technical Preview\",6.3:\"8.1\",6.2:\"8\",6.1:\"Server 2008 R2 / 7\",\"6.0\":\"Server 2008 / Vista\",5.2:\"Server 2003 / XP 64-bit\",5.1:\"XP\",5.01:\"2000 SP1\",\"5.0\":\"2000\",\"4.0\":\"NT\",\"4.90\":\"ME\"};if(i&&t&&/^Win/i.test(e)&&!/^Windows Phone /i.test(e)&&(r=r[/[\\d.]+$/.exec(e)])){e=\"Windows \"+r}e=String(e);if(i&&t){e=e.replace(RegExp(i,\"i\"),t)}e=format(e.replace(/ ce$/i,\" CE\").replace(/\\bhpw/i,\"web\").replace(/\\bMacintosh\\b/,\"Mac OS\").replace(/_PowerPC\\b/i,\" OS\").replace(/\\b(OS X) [^ \\d]+/i,\"$1\").replace(/\\bMac (OS X)\\b/,\"$1\").replace(/\\/(\\d)/,\" $1\").replace(/_/g,\".\").replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i,\"\").replace(/\\bx86\\.64\\b/gi,\"x86_64\").replace(/\\b(Windows Phone) OS\\b/,\"$1\").replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/,\"$1\").split(\" on \")[0]);return e}function each(e,i){var t=-1,r=e?e.length:0;if(typeof r==\"number\"&&r>-1&&r<=s){while(++t<r){i(e[t],t,e)}}else{forOwn(e,i)}}function format(e){e=trim(e);return/^(?:webOS|i(?:OS|P))/.test(e)?e:capitalize(e)}function forOwn(e,i){for(var t in e){if(p.call(e,t)){i(e[t],t,e)}}}function getClassOf(e){return e==null?capitalize(e):u.call(e).slice(8,-1)}function isHostType(e,i){var t=e!=null?typeof e[i]:\"number\";return!/^(?:boolean|number|string|undefined)$/.test(t)&&(t==\"object\"?!!e[i]:true)}function qualify(e){return String(e).replace(/([ -])(?!$)/g,\"$1?\")}function reduce(e,i){var t=null;each(e,(function(r,a){t=i(t,r,a,e)}));return t}function trim(e){return String(e).replace(/^ +| +$/g,\"\")}function parse(e){var i=r;var t=e&&typeof e==\"object\"&&getClassOf(e)!=\"String\";if(t){i=e;e=null}var n=i.navigator||{};var o=n.userAgent||\"\";e||(e=o);var l=t||b==a;var s=t?!!n.likeChrome:/\\bChrome\\b/.test(e)&&!/internal|\\n/i.test(u.toString());var c=\"Object\",p=t?c:\"ScriptBridgingProxyObject\",d=t?c:\"Environment\",S=t&&i.java?\"JavaPackage\":getClassOf(i.java),x=t?c:\"RuntimeObject\";var m=/\\bJava/.test(S)&&i.java;var g=m&&getClassOf(i.environment)==d;var h=m?\"a\":\"α\";var v=m?\"b\":\"β\";var O=i.document||{};var y=i.operamini||i.opera;var w=f.test(w=t&&y?y[\"[[Class]]\"]:getClassOf(y))?w:y=null;var M;var E=e;var P=[];var C=null;var k=e==o;var B=k&&y&&typeof y.version==\"function\"&&y.version();var W;var _=getLayout([{label:\"EdgeHTML\",pattern:\"Edge\"},\"Trident\",{label:\"WebKit\",pattern:\"AppleWebKit\"},\"iCab\",\"Presto\",\"NetFront\",\"Tasman\",\"KHTML\",\"Gecko\"]);var R=getName([\"Adobe AIR\",\"Arora\",\"Avant Browser\",\"Breach\",\"Camino\",\"Electron\",\"Epiphany\",\"Fennec\",\"Flock\",\"Galeon\",\"GreenBrowser\",\"iCab\",\"Iceweasel\",\"K-Meleon\",\"Konqueror\",\"Lunascape\",\"Maxthon\",{label:\"Microsoft Edge\",pattern:\"(?:Edge|Edg|EdgA|EdgiOS)\"},\"Midori\",\"Nook Browser\",\"PaleMoon\",\"PhantomJS\",\"Raven\",\"Rekonq\",\"RockMelt\",{label:\"Samsung Internet\",pattern:\"SamsungBrowser\"},\"SeaMonkey\",{label:\"Silk\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Sleipnir\",\"SlimBrowser\",{label:\"SRWare Iron\",pattern:\"Iron\"},\"Sunrise\",\"Swiftfox\",\"Vivaldi\",\"Waterfox\",\"WebPositive\",{label:\"Yandex Browser\",pattern:\"YaBrowser\"},{label:\"UC Browser\",pattern:\"UCBrowser\"},\"Opera Mini\",{label:\"Opera Mini\",pattern:\"OPiOS\"},\"Opera\",{label:\"Opera\",pattern:\"OPR\"},\"Chromium\",\"Chrome\",{label:\"Chrome\",pattern:\"(?:HeadlessChrome)\"},{label:\"Chrome Mobile\",pattern:\"(?:CriOS|CrMo)\"},{label:\"Firefox\",pattern:\"(?:Firefox|Minefield)\"},{label:\"Firefox for iOS\",pattern:\"FxiOS\"},{label:\"IE\",pattern:\"IEMobile\"},{label:\"IE\",pattern:\"MSIE\"},\"Safari\"]);var A=getProduct([{label:\"BlackBerry\",pattern:\"BB10\"},\"BlackBerry\",{label:\"Galaxy S\",pattern:\"GT-I9000\"},{label:\"Galaxy S2\",pattern:\"GT-I9100\"},{label:\"Galaxy S3\",pattern:\"GT-I9300\"},{label:\"Galaxy S4\",pattern:\"GT-I9500\"},{label:\"Galaxy S5\",pattern:\"SM-G900\"},{label:\"Galaxy S6\",pattern:\"SM-G920\"},{label:\"Galaxy S6 Edge\",pattern:\"SM-G925\"},{label:\"Galaxy S7\",pattern:\"SM-G930\"},{label:\"Galaxy S7 Edge\",pattern:\"SM-G935\"},\"Google TV\",\"Lumia\",\"iPad\",\"iPod\",\"iPhone\",\"Kindle\",{label:\"Kindle Fire\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Nexus\",\"Nook\",\"PlayBook\",\"PlayStation Vita\",\"PlayStation\",\"TouchPad\",\"Transformer\",{label:\"Wii U\",pattern:\"WiiU\"},\"Wii\",\"Xbox One\",{label:\"Xbox 360\",pattern:\"Xbox\"},\"Xoom\"]);var I=getManufacturer({Apple:{iPad:1,iPhone:1,iPod:1},Alcatel:{},Archos:{},Amazon:{Kindle:1,\"Kindle Fire\":1},Asus:{Transformer:1},\"Barnes & Noble\":{Nook:1},BlackBerry:{PlayBook:1},Google:{\"Google TV\":1,Nexus:1},HP:{TouchPad:1},HTC:{},Huawei:{},Lenovo:{},LG:{},Microsoft:{Xbox:1,\"Xbox One\":1},Motorola:{Xoom:1},Nintendo:{\"Wii U\":1,Wii:1},Nokia:{Lumia:1},Oppo:{},Samsung:{\"Galaxy S\":1,\"Galaxy S2\":1,\"Galaxy S3\":1,\"Galaxy S4\":1},Sony:{PlayStation:1,\"PlayStation Vita\":1},Xiaomi:{Mi:1,Redmi:1}});var T=getOS([\"Windows Phone\",\"KaiOS\",\"Android\",\"CentOS\",{label:\"Chrome OS\",pattern:\"CrOS\"},\"Debian\",{label:\"DragonFly BSD\",pattern:\"DragonFly\"},\"Fedora\",\"FreeBSD\",\"Gentoo\",\"Haiku\",\"Kubuntu\",\"Linux Mint\",\"OpenBSD\",\"Red Hat\",\"SuSE\",\"Ubuntu\",\"Xubuntu\",\"Cygwin\",\"Symbian OS\",\"hpwOS\",\"webOS \",\"webOS\",\"Tablet OS\",\"Tizen\",\"Linux\",\"Mac OS X\",\"Macintosh\",\"Mac\",\"Windows 98;\",\"Windows \"]);function getLayout(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getManufacturer(i){return reduce(i,(function(i,t,r){return i||(t[A]||t[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(A)]||RegExp(\"\\\\b\"+qualify(r)+\"(?:\\\\b|\\\\w*\\\\d)\",\"i\").exec(e))&&r}))}function getName(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getOS(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\"(?:/[\\\\d.]+|[ \\\\w.]*)\",\"i\").exec(e))){i=cleanupOS(i,r,t.label||t)}return i}))}function getProduct(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\" *\\\\d+[.\\\\w_]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\" *\\\\w+-[\\\\w]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\"(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)\",\"i\").exec(e))){if((i=String(t.label&&!RegExp(r,\"i\").test(t.label)?t.label:i).split(\"/\"))[1]&&!/[\\d.]+/.test(i[0])){i[0]+=\" \"+i[1]}t=t.label||t;i=format(i[0].replace(RegExp(r,\"i\"),t).replace(RegExp(\"; *(?:\"+t+\"[_-])?\",\"i\"),\" \").replace(RegExp(\"(\"+t+\")[-_.]?(\\\\w)\",\"i\"),\"$1 $2\"))}return i}))}function getVersion(i){return reduce(i,(function(i,t){return i||(RegExp(t+\"(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)\",\"i\").exec(e)||0)[1]||null}))}function toStringPlatform(){return this.description||\"\"}_&&(_=[_]);if(/\\bAndroid\\b/.test(T)&&!A&&(M=/\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(e))){A=trim(M[1]).replace(/^[a-z]{2}-[a-z]{2};\\s*/i,\"\")||null}if(I&&!A){A=getProduct([I])}else if(I&&A){A=A.replace(RegExp(\"^(\"+qualify(I)+\")[-_.\\\\s]\",\"i\"),I+\" \").replace(RegExp(\"^(\"+qualify(I)+\")[-_.]?(\\\\w)\",\"i\"),I+\" $2\")}if(M=/\\bGoogle TV\\b/.exec(A)){A=M[0]}if(/\\bSimulator\\b/i.test(e)){A=(A?A+\" \":\"\")+\"Simulator\"}if(R==\"Opera Mini\"&&/\\bOPiOS\\b/.test(e)){P.push(\"running in Turbo/Uncompressed mode\")}if(R==\"IE\"&&/\\blike iPhone OS\\b/.test(e)){M=parse(e.replace(/like iPhone OS/,\"\"));I=M.manufacturer;A=M.product}else if(/^iP/.test(A)){R||(R=\"Safari\");T=\"iOS\"+((M=/ OS ([\\d_]+)/i.exec(e))?\" \"+M[1].replace(/_/g,\".\"):\"\")}else if(R==\"Konqueror\"&&/^Linux\\b/i.test(T)){T=\"Kubuntu\"}else if(I&&I!=\"Google\"&&(/Chrome/.test(R)&&!/\\bMobile Safari\\b/i.test(e)||/\\bVita\\b/.test(A))||/\\bAndroid\\b/.test(T)&&/^Chrome/.test(R)&&/\\bVersion\\//i.test(e)){R=\"Android Browser\";T=/\\bAndroid\\b/.test(T)?T:\"Android\"}else if(R==\"Silk\"){if(!/\\bMobi/i.test(e)){T=\"Android\";P.unshift(\"desktop mode\")}if(/Accelerated *= *true/i.test(e)){P.unshift(\"accelerated\")}}else if(R==\"UC Browser\"&&/\\bUCWEB\\b/.test(e)){P.push(\"speed mode\")}else if(R==\"PaleMoon\"&&(M=/\\bFirefox\\/([\\d.]+)\\b/.exec(e))){P.push(\"identifying as Firefox \"+M[1])}else if(R==\"Firefox\"&&(M=/\\b(Mobile|Tablet|TV)\\b/i.exec(e))){T||(T=\"Firefox OS\");A||(A=M[1])}else if(!R||(M=!/\\bMinefield\\b/i.test(e)&&/\\b(?:Firefox|Safari)\\b/.exec(R))){if(R&&!A&&/[\\/,]|^[^(]+?\\)/.test(e.slice(e.indexOf(M+\"/\")+8))){R=null}if((M=A||I||T)&&(A||I||/\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(T))){R=/[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(T)?T:M)+\" Browser\"}}else if(R==\"Electron\"&&(M=(/\\bChrome\\/([\\d.]+)\\b/.exec(e)||0)[1])){P.push(\"Chromium \"+M)}if(!B){B=getVersion([\"(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)\",\"Version\",qualify(R),\"(?:Firefox|Minefield|NetFront)\"])}if(M=_==\"iCab\"&&parseFloat(B)>3&&\"WebKit\"||/\\bOpera\\b/.test(R)&&(/\\bOPR\\b/.test(e)?\"Blink\":\"Presto\")||/\\b(?:Midori|Nook|Safari)\\b/i.test(e)&&!/^(?:Trident|EdgeHTML)$/.test(_)&&\"WebKit\"||!_&&/\\bMSIE\\b/i.test(e)&&(T==\"Mac OS\"?\"Tasman\":\"Trident\")||_==\"WebKit\"&&/\\bPlayStation\\b(?! Vita\\b)/i.test(R)&&\"NetFront\"){_=[M]}if(R==\"IE\"&&(M=(/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(e)||0)[1])){R+=\" Mobile\";T=\"Windows Phone \"+(/\\+$/.test(M)?M:M+\".x\");P.unshift(\"desktop mode\")}else if(/\\bWPDesktop\\b/i.test(e)){R=\"IE Mobile\";T=\"Windows Phone 8.x\";P.unshift(\"desktop mode\");B||(B=(/\\brv:([\\d.]+)/.exec(e)||0)[1])}else if(R!=\"IE\"&&_==\"Trident\"&&(M=/\\brv:([\\d.]+)/.exec(e))){if(R){P.push(\"identifying as \"+R+(B?\" \"+B:\"\"))}R=\"IE\";B=M[1]}if(k){if(isHostType(i,\"global\")){if(m){M=m.lang.System;E=M.getProperty(\"os.arch\");T=T||M.getProperty(\"os.name\")+\" \"+M.getProperty(\"os.version\")}if(g){try{B=i.require(\"ringo/engine\").version.join(\".\");R=\"RingoJS\"}catch(e){if((M=i.system)&&M.global.system==i.system){R=\"Narwhal\";T||(T=M[0].os||null)}}if(!R){R=\"Rhino\"}}else if(typeof i.process==\"object\"&&!i.process.browser&&(M=i.process)){if(typeof M.versions==\"object\"){if(typeof M.versions.electron==\"string\"){P.push(\"Node \"+M.versions.node);R=\"Electron\";B=M.versions.electron}else if(typeof M.versions.nw==\"string\"){P.push(\"Chromium \"+B,\"Node \"+M.versions.node);R=\"NW.js\";B=M.versions.nw}}if(!R){R=\"Node.js\";E=M.arch;T=M.platform;B=/[\\d.]+/.exec(M.version);B=B?B[0]:null}}}else if(getClassOf(M=i.runtime)==p){R=\"Adobe AIR\";T=M.flash.system.Capabilities.os}else if(getClassOf(M=i.phantom)==x){R=\"PhantomJS\";B=(M=M.version||null)&&M.major+\".\"+M.minor+\".\"+M.patch}else if(typeof O.documentMode==\"number\"&&(M=/\\bTrident\\/(\\d+)/i.exec(e))){B=[B,O.documentMode];if((M=+M[1]+4)!=B[1]){P.push(\"IE \"+B[1]+\" mode\");_&&(_[1]=\"\");B[1]=M}B=R==\"IE\"?String(B[1].toFixed(1)):B[0]}else if(typeof O.documentMode==\"number\"&&/^(?:Chrome|Firefox)\\b/.test(R)){P.push(\"masking as \"+R+\" \"+B);R=\"IE\";B=\"11.0\";_=[\"Trident\"];T=\"Windows\"}T=T&&format(T)}if(B&&(M=/(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(B)||/(?:alpha|beta)(?: ?\\d)?/i.exec(e+\";\"+(k&&n.appMinorVersion))||/\\bMinefield\\b/i.test(e)&&\"a\")){C=/b/i.test(M)?\"beta\":\"alpha\";B=B.replace(RegExp(M+\"\\\\+?$\"),\"\")+(C==\"beta\"?v:h)+(/\\d+\\+?/.exec(M)||\"\")}if(R==\"Fennec\"||R==\"Firefox\"&&/\\b(?:Android|Firefox OS|KaiOS)\\b/.test(T)){R=\"Firefox Mobile\"}else if(R==\"Maxthon\"&&B){B=B.replace(/\\.[\\d.]+/,\".x\")}else if(/\\bXbox\\b/i.test(A)){if(A==\"Xbox 360\"){T=null}if(A==\"Xbox 360\"&&/\\bIEMobile\\b/.test(e)){P.unshift(\"mobile mode\")}}else if((/^(?:Chrome|IE|Opera)$/.test(R)||R&&!A&&!/Browser|Mobi/.test(R))&&(T==\"Windows CE\"||/Mobi/i.test(e))){R+=\" Mobile\"}else if(R==\"IE\"&&k){try{if(i.external===null){P.unshift(\"platform preview\")}}catch(e){P.unshift(\"embedded\")}}else if((/\\bBlackBerry\\b/.test(A)||/\\bBB10\\b/.test(e))&&(M=(RegExp(A.replace(/ +/g,\" *\")+\"/([.\\\\d]+)\",\"i\").exec(e)||0)[1]||B)){M=[M,/BB10/.test(e)];T=(M[1]?(A=null,I=\"BlackBerry\"):\"Device Software\")+\" \"+M[0];B=null}else if(this!=forOwn&&A!=\"Wii\"&&(k&&y||/Opera/.test(R)&&/\\b(?:MSIE|Firefox)\\b/i.test(e)||R==\"Firefox\"&&/\\bOS X (?:\\d+\\.){2,}/.test(T)||R==\"IE\"&&(T&&!/^Win/.test(T)&&B>5.5||/\\bWindows XP\\b/.test(T)&&B>8||B==8&&!/\\bTrident\\b/.test(e)))&&!f.test(M=parse.call(forOwn,e.replace(f,\"\")+\";\"))&&M.name){M=\"ing as \"+M.name+((M=M.version)?\" \"+M:\"\");if(f.test(R)){if(/\\bIE\\b/.test(M)&&T==\"Mac OS\"){T=null}M=\"identify\"+M}else{M=\"mask\"+M;if(w){R=format(w.replace(/([a-z])([A-Z])/g,\"$1 $2\"))}else{R=\"Opera\"}if(/\\bIE\\b/.test(M)){T=null}if(!k){B=null}}_=[\"Presto\"];P.push(M)}if(M=(/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(e)||0)[1]){M=[parseFloat(M.replace(/\\.(\\d)$/,\".0$1\")),M];if(R==\"Safari\"&&M[1].slice(-1)==\"+\"){R=\"WebKit Nightly\";C=\"alpha\";B=M[1].slice(0,-1)}else if(B==M[1]||B==(M[2]=(/\\bSafari\\/([\\d.]+\\+?)/i.exec(e)||0)[1])){B=null}M[1]=(/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(e)||0)[1];if(M[0]==537.36&&M[2]==537.36&&parseFloat(M[1])>=28&&_==\"WebKit\"){_=[\"Blink\"]}if(!k||!s&&!M[1]){_&&(_[1]=\"like Safari\");M=(M=M[0],M<400?1:M<500?2:M<526?3:M<533?4:M<534?\"4+\":M<535?5:M<537?6:M<538?7:M<601?8:M<602?9:M<604?10:M<606?11:M<608?12:\"12\")}else{_&&(_[1]=\"like Chrome\");M=M[1]||(M=M[0],M<530?1:M<532?2:M<532.05?3:M<533?4:M<534.03?5:M<534.07?6:M<534.1?7:M<534.13?8:M<534.16?9:M<534.24?10:M<534.3?11:M<535.01?12:M<535.02?\"13+\":M<535.07?15:M<535.11?16:M<535.19?17:M<536.05?18:M<536.1?19:M<537.01?20:M<537.11?\"21+\":M<537.13?23:M<537.18?24:M<537.24?25:M<537.36?26:_!=\"Blink\"?\"27\":\"28\")}_&&(_[1]+=\" \"+(M+=typeof M==\"number\"?\".x\":/[.+]/.test(M)?\"\":\"+\"));if(R==\"Safari\"&&(!B||parseInt(B)>45)){B=M}else if(R==\"Chrome\"&&/\\bHeadlessChrome/i.test(e)){P.unshift(\"headless\")}}if(R==\"Opera\"&&(M=/\\bzbov|zvav$/.exec(T))){R+=\" \";P.unshift(\"desktop mode\");if(M==\"zvav\"){R+=\"Mini\";B=null}else{R+=\"Mobile\"}T=T.replace(RegExp(\" *\"+M+\"$\"),\"\")}else if(R==\"Safari\"&&/\\bChrome\\b/.exec(_&&_[1])){P.unshift(\"desktop mode\");R=\"Chrome Mobile\";B=null;if(/\\bOS X\\b/.test(T)){I=\"Apple\";T=\"iOS 4.3+\"}else{T=null}}else if(/\\bSRWare Iron\\b/.test(R)&&!B){B=getVersion(\"Chrome\")}if(B&&B.indexOf(M=/[\\d.]+$/.exec(T))==0&&e.indexOf(\"/\"+M+\"-\")>-1){T=trim(T.replace(M,\"\"))}if(T&&T.indexOf(R)!=-1&&!RegExp(R+\" OS\").test(T)){T=T.replace(RegExp(\" *\"+qualify(R)+\" *\"),\"\")}if(_&&!/\\b(?:Avant|Nook)\\b/.test(R)&&(/Browser|Lunascape|Maxthon/.test(R)||R!=\"Safari\"&&/^iOS/.test(T)&&/\\bSafari\\b/.test(_[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(R)&&_[1])){(M=_[_.length-1])&&P.push(M)}if(P.length){P=[\"(\"+P.join(\"; \")+\")\"]}if(I&&A&&A.indexOf(I)<0){P.push(\"on \"+I)}if(A){P.push((/^on /.test(P[P.length-1])?\"\":\"on \")+A)}if(T){M=/ ([\\d.+]+)$/.exec(T);W=M&&T.charAt(T.length-M[0].length-1)==\"/\";T={architecture:32,family:M&&!W?T.replace(M[0],\"\"):T,version:M?M[1]:null,toString:function(){var e=this.version;return this.family+(e&&!W?\" \"+e:\"\")+(this.architecture==64?\" 64-bit\":\"\")}}}if((M=/\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(E))&&!/\\bi686\\b/i.test(E)){if(T){T.architecture=64;T.family=T.family.replace(RegExp(\" *\"+M),\"\")}if(R&&(/\\bWOW64\\b/i.test(e)||k&&/\\w(?:86|32)$/.test(n.cpuClass||n.platform)&&!/\\bWin64; x64\\b/i.test(e))){P.unshift(\"32-bit\")}}else if(T&&/^OS X/.test(T.family)&&R==\"Chrome\"&&parseFloat(B)>=39){T.architecture=64}e||(e=null);var F={};F.description=e;F.layout=_&&_[0];F.manufacturer=I;F.name=R;F.prerelease=C;F.product=A;F.ua=e;F.version=R&&B;F.os=T||{architecture:null,family:null,version:null,toString:function(){return\"null\"}};F.parse=parse;F.toString=toStringPlatform;if(F.version){P.unshift(B)}if(F.name){P.unshift(R)}if(T&&R&&!(T==String(T).split(\" \")[0]&&(T==R.split(\" \")[0]||A))){P.push(A?\"(\"+T+\")\":\"on \"+T)}if(P.length){F.description=P.join(\" \")}return F}var d=parse();if(n&&o){forOwn(d,(function(e,i){n[i]=e}))}else{r.platform=d}}).call(this)}};var i={};function __nccwpck_require__(t){var r=i[t];if(r!==undefined){return r.exports}var a=i[t]={id:t,loaded:false,exports:{}};var n=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);n=false}finally{if(n)delete i[t]}a.loaded=true;return a.exports}(()=>{__nccwpck_require__.nmd=e=>{e.paths=[];if(!e.children)e.children=[];return e}})();if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(541);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGxhdGZvcm0vcGxhdGZvcm0uanMiLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sT0FBTyxvQkFBb0I7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYSxPQUFPLDJCQUEyQixxQ0FBcUMsUUFBUSxxQkFBcUIscUNBQXFDLG1CQUFtQixxQkFBTSxZQUFZLHFCQUFNLENBQUMsZ0RBQWdELElBQUksdUJBQXVCLGdCQUFnQixXQUFXLHVCQUF1Qix1QkFBdUIsaUJBQWlCLHVCQUF1QixZQUFZLDRDQUE0QywwQkFBMEIsT0FBTywwTUFBME0saUZBQWlGLGVBQWUsWUFBWSxTQUFTLDZCQUE2QixtWkFBbVosU0FBUyxtQkFBbUIsd0JBQXdCLG1DQUFtQyxhQUFhLGFBQWEsS0FBSyxhQUFhLG1CQUFtQixVQUFVLHFEQUFxRCxxQkFBcUIsZ0JBQWdCLGdCQUFnQixjQUFjLHVCQUF1QixtREFBbUQseUJBQXlCLG1DQUFtQyxrRkFBa0Ysb0JBQW9CLCtDQUErQyxxQkFBcUIsV0FBVyxzQkFBc0IsYUFBYSxHQUFHLFNBQVMsaUJBQWlCLHdDQUF3QyxrQkFBa0IsUUFBUSxxREFBcUQsTUFBTSxJQUFJLE9BQU8sc0JBQXNCLHNCQUFzQixTQUFTLGNBQWMsZ0ZBQWdGLHdJQUF3SSwrQkFBK0Isc0NBQXNDLGdCQUFnQixnQkFBZ0IscUJBQXFCLDJCQUEyQiwyREFBMkQsTUFBTSxRQUFRLFNBQVMsV0FBVyxXQUFXLHNEQUFzRCxNQUFNLGtCQUFrQixnQ0FBZ0MsWUFBWSxxQ0FBcUMsdURBQXVELHFNQUFxTSwwREFBMEQsNkVBQTZFLGtEQUFrRCxjQUFjLG1EQUFtRCwyQkFBMkIsbUNBQW1DLDBEQUEwRCwyQ0FBMkMsRUFBRSx1Q0FBdUMsZUFBZSxtQ0FBbUMsVUFBVSw0QkFBNEIsc0JBQXNCLDRDQUE0QyxFQUFFLCtDQUErQyxFQUFFLGdEQUFnRCxFQUFFLHdDQUF3QyxFQUFFLDhCQUE4QixFQUFFLDBCQUEwQixZQUFZLG1CQUFtQixrQ0FBa0MsZUFBZSxvQ0FBb0MsRUFBRSxxQ0FBcUMsRUFBRSxxQ0FBcUMsRUFBRSxxQ0FBcUMsRUFBRSxvQ0FBb0MsRUFBRSxvQ0FBb0MsRUFBRSx5Q0FBeUMsRUFBRSxvQ0FBb0MsRUFBRSx5Q0FBeUMsc0RBQXNELDBEQUEwRCxzRkFBc0YsNkJBQTZCLG1CQUFtQixnQ0FBZ0MsVUFBVSx1QkFBdUIsT0FBTyx1QkFBdUIsV0FBVyxVQUFVLFNBQVMseUJBQXlCLE9BQU8sY0FBYyxtQkFBbUIsT0FBTyxhQUFhLFdBQVcsU0FBUyxzQkFBc0IsS0FBSyxXQUFXLE9BQU8sVUFBVSxVQUFVLE1BQU0sWUFBWSxvQkFBb0IsV0FBVyxPQUFPLFdBQVcsZ0JBQWdCLFFBQVEsUUFBUSxRQUFRLFVBQVUsdURBQXVELE9BQU8sbUNBQW1DLFNBQVMsY0FBYyxFQUFFLHlEQUF5RCxpQ0FBaUMsV0FBVywwQ0FBMEMsOE5BQThOLGVBQWUsc0JBQXNCLCtCQUErQixnRkFBZ0YsR0FBRyw0QkFBNEIsaUNBQWlDLGtIQUFrSCxHQUFHLG9CQUFvQiwrQkFBK0IsZ0ZBQWdGLEdBQUcsa0JBQWtCLCtCQUErQiw0QkFBNEIsZ0VBQWdFLDRCQUE0QixTQUFTLEdBQUcsdUJBQXVCLCtCQUErQiw0QkFBNEIsMEhBQTBILGlDQUFpQyxxQkFBcUIsb0dBQW9HLGVBQWUsYUFBYSx5REFBeUQsOEVBQThFLFNBQVMsR0FBRyx1QkFBdUIsK0JBQStCLHVFQUF1RSxrQ0FBa0MsR0FBRyw0QkFBNEIsNEJBQTRCLFdBQVcsOENBQThDLEdBQUcsNENBQTRDLDZCQUE2QixFQUFFLE9BQU8sR0FBRyxnQkFBZ0IsVUFBVSxrQkFBa0IsY0FBYyx1SEFBdUgsOEJBQThCLE9BQU8sNkJBQTZCLDJCQUEyQix5Q0FBeUMsNkNBQTZDLDBDQUEwQyx3Q0FBd0MsaUJBQWlCLFlBQVksdUJBQXVCLGdCQUFnQixvRUFBb0UsNkNBQTZDLFlBQVksaUtBQWlLLG9CQUFvQixvQ0FBb0MsbUJBQW1CLHVCQUF1QixZQUFZLDBCQUEwQixvQ0FBb0MsMEJBQTBCLDhDQUE4QyxxQkFBcUIsNERBQTRELHVDQUF1Qyw2REFBNkQsb0JBQW9CLFlBQVksNkVBQTZFLCtEQUErRCxPQUFPLDhFQUE4RSxpRUFBaUUsbUVBQW1FLHNCQUFzQixPQUFPLHVPQUF1TyxxVEFBcVQsTUFBTSxtQkFBbUIsMENBQTBDLGFBQWEsNENBQTRDLDBCQUEwQixrQ0FBa0MsY0FBYyxzQkFBc0IsMEJBQTBCLHVDQUF1Qyw0REFBNEQsTUFBTSx5Q0FBeUMsT0FBTyxPQUFPLE1BQU0sMkJBQTJCLE1BQU0sZ0JBQWdCLDJCQUEyQiw4REFBOEQsTUFBTSxJQUFJLDhDQUE4QyxZQUFZLFNBQVMsNENBQTRDLFlBQVksc0JBQXNCLE9BQU8sV0FBVyx1RUFBdUUsZ0NBQWdDLHlDQUF5QyxnQ0FBZ0MsYUFBYSxzQkFBc0Isd0NBQXdDLDhDQUE4QyxVQUFVLGlCQUFpQixPQUFPLFlBQVksU0FBUyxhQUFhLDJCQUEyQixnQkFBZ0Isb0NBQW9DLGNBQWMsaUNBQWlDLG9DQUFvQyxjQUFjLHVEQUF1RCwwRUFBMEUscUJBQXFCLHNCQUFzQiwyQkFBMkIsYUFBYSxPQUFPLHVDQUF1QywwRUFBMEUsOEJBQThCLE9BQU8sU0FBUyxjQUFjLFlBQVksZUFBZSxnR0FBZ0csMkRBQTJELDhCQUE4Qix5RUFBeUUsMEVBQTBFLG1CQUFtQix5QkFBeUIsNkJBQTZCLDZCQUE2QixrQkFBa0IsT0FBTywwQ0FBMEMsMEJBQTBCLCtHQUErRyxhQUFhLG9CQUFvQixJQUFJLHNCQUFzQiwrQkFBK0IsU0FBUyx1QkFBdUIsK0hBQStILHFCQUFxQiw0REFBNEQsT0FBTyx5SEFBeUgsR0FBRyw2SkFBNkosYUFBYSw0Q0FBNEMsY0FBYyxrQ0FBa0MsT0FBTyxlQUFlLEtBQUssV0FBVyxNQUFNLCtDQUErQyxLQUFLLFVBQVUscUJBQXFCLE9BQU8sT0FBTyxRQUFRLGFBQWEsVUFBVSxvREFBb0QsOENBQThDLHFDQUFxQyxtQkFBbUIsVUFBVSxtQkFBbUIscUVBQXFFLE9BQU8sd0RBQXdELGtFQUFrRSxZQUFZLGtCQUFrQix3QkFBd0IsOEhBQThILEtBQUssd0JBQXdCLHVUQUF1VCxrRUFBa0Usc0NBQXNDLElBQUksa0RBQWtELHVCQUF1QiwyQ0FBMkMsT0FBTywwQkFBMEIsY0FBYyxVQUFVLE9BQU8sS0FBSyxZQUFZLG1DQUFtQyxpREFBaUQsMEJBQTBCLGtCQUFrQixPQUFPLHVCQUF1QixVQUFVLGFBQWEsS0FBSyxRQUFRLHVDQUF1Qyx1QkFBdUIsa0VBQWtFLHdCQUF3QixrREFBa0QsNkNBQTZDLDhQQUE4UCw2QkFBNkIsYUFBYSxpQkFBaUIsUUFBUSx5QkFBeUIsZ0JBQWdCLE1BQU0sZ0RBQWdELE1BQU0sd0JBQXdCLDJDQUEyQyxHQUFHLDBGQUEwRixtQkFBbUIsMkVBQTJFLHlFQUF5RSxNQUFNLGtCQUFrQiw2Q0FBNkMsd0ZBQXdGLGtCQUFrQixxQkFBcUIsbUVBQW1FLGtCQUFrQixZQUFZLFNBQVMsZ0JBQWdCLGlCQUFpQixpQkFBaUIsU0FBUyxlQUFlLFlBQVksT0FBTyxlQUFlLFNBQVMsK0RBQStELGVBQWUsY0FBYyw0QkFBNEIsY0FBYyxhQUFhLFdBQVcsYUFBYSxpRUFBaUUsNEJBQTRCLGFBQWEsMEJBQTBCLFNBQVMsY0FBYyxTQUFTLHdCQUF3QixPQUFPLEdBQUcsS0FBSyxjQUFjLGVBQWUsU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksOEJBQThCLFdBQVcsSUFBSSxxREFBcUQsUUFBUSxRQUFRLGlCQUFpQixjQUFjLGlCQUFpQixNQUFNLDRCQUE0QixXQUFXLDZCQUE2QixVQUFVLElBQUksbUVBQW1FLFNBQVMsS0FBSywrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGxhdGZvcm0vcGxhdGZvcm0uanM/N2I0MSJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9Pnt2YXIgZT17NTQxOmZ1bmN0aW9uKGUsaSx0KXtlPXQubm1kKGUpO1xuLyohXG4gKiBQbGF0Zm9ybS5qcyB2MS4zLjZcbiAqIENvcHlyaWdodCAyMDE0LTIwMjAgQmVuamFtaW4gVGFuXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDEzIEpvaG4tRGF2aWQgRGFsdG9uXG4gKiBBdmFpbGFibGUgdW5kZXIgTUlUIGxpY2Vuc2VcbiAqLyhmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0PXtmdW5jdGlvbjp0cnVlLG9iamVjdDp0cnVlfTt2YXIgcj10W3R5cGVvZiB3aW5kb3ddJiZ3aW5kb3d8fHRoaXM7dmFyIGE9cjt2YXIgbj10W3R5cGVvZiBpXSYmaTt2YXIgbz10W1wib2JqZWN0XCJdJiZlJiYhZS5ub2RlVHlwZSYmZTt2YXIgbD1uJiZvJiZ0eXBlb2YgZ2xvYmFsPT1cIm9iamVjdFwiJiZnbG9iYWw7aWYobCYmKGwuZ2xvYmFsPT09bHx8bC53aW5kb3c9PT1sfHxsLnNlbGY9PT1sKSl7cj1sfXZhciBzPU1hdGgucG93KDIsNTMpLTE7dmFyIGY9L1xcYk9wZXJhLzt2YXIgYj10aGlzO3ZhciBjPU9iamVjdC5wcm90b3R5cGU7dmFyIHA9Yy5oYXNPd25Qcm9wZXJ0eTt2YXIgdT1jLnRvU3RyaW5nO2Z1bmN0aW9uIGNhcGl0YWxpemUoZSl7ZT1TdHJpbmcoZSk7cmV0dXJuIGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKX1mdW5jdGlvbiBjbGVhbnVwT1MoZSxpLHQpe3ZhciByPXtcIjEwLjBcIjpcIjEwXCIsNi40OlwiMTAgVGVjaG5pY2FsIFByZXZpZXdcIiw2LjM6XCI4LjFcIiw2LjI6XCI4XCIsNi4xOlwiU2VydmVyIDIwMDggUjIgLyA3XCIsXCI2LjBcIjpcIlNlcnZlciAyMDA4IC8gVmlzdGFcIiw1LjI6XCJTZXJ2ZXIgMjAwMyAvIFhQIDY0LWJpdFwiLDUuMTpcIlhQXCIsNS4wMTpcIjIwMDAgU1AxXCIsXCI1LjBcIjpcIjIwMDBcIixcIjQuMFwiOlwiTlRcIixcIjQuOTBcIjpcIk1FXCJ9O2lmKGkmJnQmJi9eV2luL2kudGVzdChlKSYmIS9eV2luZG93cyBQaG9uZSAvaS50ZXN0KGUpJiYocj1yWy9bXFxkLl0rJC8uZXhlYyhlKV0pKXtlPVwiV2luZG93cyBcIityfWU9U3RyaW5nKGUpO2lmKGkmJnQpe2U9ZS5yZXBsYWNlKFJlZ0V4cChpLFwiaVwiKSx0KX1lPWZvcm1hdChlLnJlcGxhY2UoLyBjZSQvaSxcIiBDRVwiKS5yZXBsYWNlKC9cXGJocHcvaSxcIndlYlwiKS5yZXBsYWNlKC9cXGJNYWNpbnRvc2hcXGIvLFwiTWFjIE9TXCIpLnJlcGxhY2UoL19Qb3dlclBDXFxiL2ksXCIgT1NcIikucmVwbGFjZSgvXFxiKE9TIFgpIFteIFxcZF0rL2ksXCIkMVwiKS5yZXBsYWNlKC9cXGJNYWMgKE9TIFgpXFxiLyxcIiQxXCIpLnJlcGxhY2UoL1xcLyhcXGQpLyxcIiAkMVwiKS5yZXBsYWNlKC9fL2csXCIuXCIpLnJlcGxhY2UoLyg/OiBCZVBDfFsgLl0qZmNbIFxcZC5dKykkL2ksXCJcIikucmVwbGFjZSgvXFxieDg2XFwuNjRcXGIvZ2ksXCJ4ODZfNjRcIikucmVwbGFjZSgvXFxiKFdpbmRvd3MgUGhvbmUpIE9TXFxiLyxcIiQxXCIpLnJlcGxhY2UoL1xcYihDaHJvbWUgT1MgXFx3KykgW1xcZC5dK1xcYi8sXCIkMVwiKS5zcGxpdChcIiBvbiBcIilbMF0pO3JldHVybiBlfWZ1bmN0aW9uIGVhY2goZSxpKXt2YXIgdD0tMSxyPWU/ZS5sZW5ndGg6MDtpZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj4tMSYmcjw9cyl7d2hpbGUoKyt0PHIpe2koZVt0XSx0LGUpfX1lbHNle2Zvck93bihlLGkpfX1mdW5jdGlvbiBmb3JtYXQoZSl7ZT10cmltKGUpO3JldHVybi9eKD86d2ViT1N8aSg/Ok9TfFApKS8udGVzdChlKT9lOmNhcGl0YWxpemUoZSl9ZnVuY3Rpb24gZm9yT3duKGUsaSl7Zm9yKHZhciB0IGluIGUpe2lmKHAuY2FsbChlLHQpKXtpKGVbdF0sdCxlKX19fWZ1bmN0aW9uIGdldENsYXNzT2YoZSl7cmV0dXJuIGU9PW51bGw/Y2FwaXRhbGl6ZShlKTp1LmNhbGwoZSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gaXNIb3N0VHlwZShlLGkpe3ZhciB0PWUhPW51bGw/dHlwZW9mIGVbaV06XCJudW1iZXJcIjtyZXR1cm4hL14oPzpib29sZWFufG51bWJlcnxzdHJpbmd8dW5kZWZpbmVkKSQvLnRlc3QodCkmJih0PT1cIm9iamVjdFwiPyEhZVtpXTp0cnVlKX1mdW5jdGlvbiBxdWFsaWZ5KGUpe3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSgvKFsgLV0pKD8hJCkvZyxcIiQxP1wiKX1mdW5jdGlvbiByZWR1Y2UoZSxpKXt2YXIgdD1udWxsO2VhY2goZSwoZnVuY3Rpb24ocixhKXt0PWkodCxyLGEsZSl9KSk7cmV0dXJuIHR9ZnVuY3Rpb24gdHJpbShlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoL14gK3wgKyQvZyxcIlwiKX1mdW5jdGlvbiBwYXJzZShlKXt2YXIgaT1yO3ZhciB0PWUmJnR5cGVvZiBlPT1cIm9iamVjdFwiJiZnZXRDbGFzc09mKGUpIT1cIlN0cmluZ1wiO2lmKHQpe2k9ZTtlPW51bGx9dmFyIG49aS5uYXZpZ2F0b3J8fHt9O3ZhciBvPW4udXNlckFnZW50fHxcIlwiO2V8fChlPW8pO3ZhciBsPXR8fGI9PWE7dmFyIHM9dD8hIW4ubGlrZUNocm9tZTovXFxiQ2hyb21lXFxiLy50ZXN0KGUpJiYhL2ludGVybmFsfFxcbi9pLnRlc3QodS50b1N0cmluZygpKTt2YXIgYz1cIk9iamVjdFwiLHA9dD9jOlwiU2NyaXB0QnJpZGdpbmdQcm94eU9iamVjdFwiLGQ9dD9jOlwiRW52aXJvbm1lbnRcIixTPXQmJmkuamF2YT9cIkphdmFQYWNrYWdlXCI6Z2V0Q2xhc3NPZihpLmphdmEpLHg9dD9jOlwiUnVudGltZU9iamVjdFwiO3ZhciBtPS9cXGJKYXZhLy50ZXN0KFMpJiZpLmphdmE7dmFyIGc9bSYmZ2V0Q2xhc3NPZihpLmVudmlyb25tZW50KT09ZDt2YXIgaD1tP1wiYVwiOlwizrFcIjt2YXIgdj1tP1wiYlwiOlwizrJcIjt2YXIgTz1pLmRvY3VtZW50fHx7fTt2YXIgeT1pLm9wZXJhbWluaXx8aS5vcGVyYTt2YXIgdz1mLnRlc3Qodz10JiZ5P3lbXCJbW0NsYXNzXV1cIl06Z2V0Q2xhc3NPZih5KSk/dzp5PW51bGw7dmFyIE07dmFyIEU9ZTt2YXIgUD1bXTt2YXIgQz1udWxsO3ZhciBrPWU9PW87dmFyIEI9ayYmeSYmdHlwZW9mIHkudmVyc2lvbj09XCJmdW5jdGlvblwiJiZ5LnZlcnNpb24oKTt2YXIgVzt2YXIgXz1nZXRMYXlvdXQoW3tsYWJlbDpcIkVkZ2VIVE1MXCIscGF0dGVybjpcIkVkZ2VcIn0sXCJUcmlkZW50XCIse2xhYmVsOlwiV2ViS2l0XCIscGF0dGVybjpcIkFwcGxlV2ViS2l0XCJ9LFwiaUNhYlwiLFwiUHJlc3RvXCIsXCJOZXRGcm9udFwiLFwiVGFzbWFuXCIsXCJLSFRNTFwiLFwiR2Vja29cIl0pO3ZhciBSPWdldE5hbWUoW1wiQWRvYmUgQUlSXCIsXCJBcm9yYVwiLFwiQXZhbnQgQnJvd3NlclwiLFwiQnJlYWNoXCIsXCJDYW1pbm9cIixcIkVsZWN0cm9uXCIsXCJFcGlwaGFueVwiLFwiRmVubmVjXCIsXCJGbG9ja1wiLFwiR2FsZW9uXCIsXCJHcmVlbkJyb3dzZXJcIixcImlDYWJcIixcIkljZXdlYXNlbFwiLFwiSy1NZWxlb25cIixcIktvbnF1ZXJvclwiLFwiTHVuYXNjYXBlXCIsXCJNYXh0aG9uXCIse2xhYmVsOlwiTWljcm9zb2Z0IEVkZ2VcIixwYXR0ZXJuOlwiKD86RWRnZXxFZGd8RWRnQXxFZGdpT1MpXCJ9LFwiTWlkb3JpXCIsXCJOb29rIEJyb3dzZXJcIixcIlBhbGVNb29uXCIsXCJQaGFudG9tSlNcIixcIlJhdmVuXCIsXCJSZWtvbnFcIixcIlJvY2tNZWx0XCIse2xhYmVsOlwiU2Ftc3VuZyBJbnRlcm5ldFwiLHBhdHRlcm46XCJTYW1zdW5nQnJvd3NlclwifSxcIlNlYU1vbmtleVwiLHtsYWJlbDpcIlNpbGtcIixwYXR0ZXJuOlwiKD86Q2xvdWQ5fFNpbGstQWNjZWxlcmF0ZWQpXCJ9LFwiU2xlaXBuaXJcIixcIlNsaW1Ccm93c2VyXCIse2xhYmVsOlwiU1JXYXJlIElyb25cIixwYXR0ZXJuOlwiSXJvblwifSxcIlN1bnJpc2VcIixcIlN3aWZ0Zm94XCIsXCJWaXZhbGRpXCIsXCJXYXRlcmZveFwiLFwiV2ViUG9zaXRpdmVcIix7bGFiZWw6XCJZYW5kZXggQnJvd3NlclwiLHBhdHRlcm46XCJZYUJyb3dzZXJcIn0se2xhYmVsOlwiVUMgQnJvd3NlclwiLHBhdHRlcm46XCJVQ0Jyb3dzZXJcIn0sXCJPcGVyYSBNaW5pXCIse2xhYmVsOlwiT3BlcmEgTWluaVwiLHBhdHRlcm46XCJPUGlPU1wifSxcIk9wZXJhXCIse2xhYmVsOlwiT3BlcmFcIixwYXR0ZXJuOlwiT1BSXCJ9LFwiQ2hyb21pdW1cIixcIkNocm9tZVwiLHtsYWJlbDpcIkNocm9tZVwiLHBhdHRlcm46XCIoPzpIZWFkbGVzc0Nocm9tZSlcIn0se2xhYmVsOlwiQ2hyb21lIE1vYmlsZVwiLHBhdHRlcm46XCIoPzpDcmlPU3xDck1vKVwifSx7bGFiZWw6XCJGaXJlZm94XCIscGF0dGVybjpcIig/OkZpcmVmb3h8TWluZWZpZWxkKVwifSx7bGFiZWw6XCJGaXJlZm94IGZvciBpT1NcIixwYXR0ZXJuOlwiRnhpT1NcIn0se2xhYmVsOlwiSUVcIixwYXR0ZXJuOlwiSUVNb2JpbGVcIn0se2xhYmVsOlwiSUVcIixwYXR0ZXJuOlwiTVNJRVwifSxcIlNhZmFyaVwiXSk7dmFyIEE9Z2V0UHJvZHVjdChbe2xhYmVsOlwiQmxhY2tCZXJyeVwiLHBhdHRlcm46XCJCQjEwXCJ9LFwiQmxhY2tCZXJyeVwiLHtsYWJlbDpcIkdhbGF4eSBTXCIscGF0dGVybjpcIkdULUk5MDAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTMlwiLHBhdHRlcm46XCJHVC1JOTEwMFwifSx7bGFiZWw6XCJHYWxheHkgUzNcIixwYXR0ZXJuOlwiR1QtSTkzMDBcIn0se2xhYmVsOlwiR2FsYXh5IFM0XCIscGF0dGVybjpcIkdULUk5NTAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNVwiLHBhdHRlcm46XCJTTS1HOTAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNlwiLHBhdHRlcm46XCJTTS1HOTIwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNiBFZGdlXCIscGF0dGVybjpcIlNNLUc5MjVcIn0se2xhYmVsOlwiR2FsYXh5IFM3XCIscGF0dGVybjpcIlNNLUc5MzBcIn0se2xhYmVsOlwiR2FsYXh5IFM3IEVkZ2VcIixwYXR0ZXJuOlwiU00tRzkzNVwifSxcIkdvb2dsZSBUVlwiLFwiTHVtaWFcIixcImlQYWRcIixcImlQb2RcIixcImlQaG9uZVwiLFwiS2luZGxlXCIse2xhYmVsOlwiS2luZGxlIEZpcmVcIixwYXR0ZXJuOlwiKD86Q2xvdWQ5fFNpbGstQWNjZWxlcmF0ZWQpXCJ9LFwiTmV4dXNcIixcIk5vb2tcIixcIlBsYXlCb29rXCIsXCJQbGF5U3RhdGlvbiBWaXRhXCIsXCJQbGF5U3RhdGlvblwiLFwiVG91Y2hQYWRcIixcIlRyYW5zZm9ybWVyXCIse2xhYmVsOlwiV2lpIFVcIixwYXR0ZXJuOlwiV2lpVVwifSxcIldpaVwiLFwiWGJveCBPbmVcIix7bGFiZWw6XCJYYm94IDM2MFwiLHBhdHRlcm46XCJYYm94XCJ9LFwiWG9vbVwiXSk7dmFyIEk9Z2V0TWFudWZhY3R1cmVyKHtBcHBsZTp7aVBhZDoxLGlQaG9uZToxLGlQb2Q6MX0sQWxjYXRlbDp7fSxBcmNob3M6e30sQW1hem9uOntLaW5kbGU6MSxcIktpbmRsZSBGaXJlXCI6MX0sQXN1czp7VHJhbnNmb3JtZXI6MX0sXCJCYXJuZXMgJiBOb2JsZVwiOntOb29rOjF9LEJsYWNrQmVycnk6e1BsYXlCb29rOjF9LEdvb2dsZTp7XCJHb29nbGUgVFZcIjoxLE5leHVzOjF9LEhQOntUb3VjaFBhZDoxfSxIVEM6e30sSHVhd2VpOnt9LExlbm92bzp7fSxMRzp7fSxNaWNyb3NvZnQ6e1hib3g6MSxcIlhib3ggT25lXCI6MX0sTW90b3JvbGE6e1hvb206MX0sTmludGVuZG86e1wiV2lpIFVcIjoxLFdpaToxfSxOb2tpYTp7THVtaWE6MX0sT3Bwbzp7fSxTYW1zdW5nOntcIkdhbGF4eSBTXCI6MSxcIkdhbGF4eSBTMlwiOjEsXCJHYWxheHkgUzNcIjoxLFwiR2FsYXh5IFM0XCI6MX0sU29ueTp7UGxheVN0YXRpb246MSxcIlBsYXlTdGF0aW9uIFZpdGFcIjoxfSxYaWFvbWk6e01pOjEsUmVkbWk6MX19KTt2YXIgVD1nZXRPUyhbXCJXaW5kb3dzIFBob25lXCIsXCJLYWlPU1wiLFwiQW5kcm9pZFwiLFwiQ2VudE9TXCIse2xhYmVsOlwiQ2hyb21lIE9TXCIscGF0dGVybjpcIkNyT1NcIn0sXCJEZWJpYW5cIix7bGFiZWw6XCJEcmFnb25GbHkgQlNEXCIscGF0dGVybjpcIkRyYWdvbkZseVwifSxcIkZlZG9yYVwiLFwiRnJlZUJTRFwiLFwiR2VudG9vXCIsXCJIYWlrdVwiLFwiS3VidW50dVwiLFwiTGludXggTWludFwiLFwiT3BlbkJTRFwiLFwiUmVkIEhhdFwiLFwiU3VTRVwiLFwiVWJ1bnR1XCIsXCJYdWJ1bnR1XCIsXCJDeWd3aW5cIixcIlN5bWJpYW4gT1NcIixcImhwd09TXCIsXCJ3ZWJPUyBcIixcIndlYk9TXCIsXCJUYWJsZXQgT1NcIixcIlRpemVuXCIsXCJMaW51eFwiLFwiTWFjIE9TIFhcIixcIk1hY2ludG9zaFwiLFwiTWFjXCIsXCJXaW5kb3dzIDk4O1wiLFwiV2luZG93cyBcIl0pO2Z1bmN0aW9uIGdldExheW91dChpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7cmV0dXJuIGl8fFJlZ0V4cChcIlxcXFxiXCIrKHQucGF0dGVybnx8cXVhbGlmeSh0KSkrXCJcXFxcYlwiLFwiaVwiKS5leGVjKGUpJiYodC5sYWJlbHx8dCl9KSl9ZnVuY3Rpb24gZ2V0TWFudWZhY3R1cmVyKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0LHIpe3JldHVybiBpfHwodFtBXXx8dFsvXlthLXpdKyg/OiArW2Etel0rXFxiKSovaS5leGVjKEEpXXx8UmVnRXhwKFwiXFxcXGJcIitxdWFsaWZ5KHIpK1wiKD86XFxcXGJ8XFxcXHcqXFxcXGQpXCIsXCJpXCIpLmV4ZWMoZSkpJiZyfSkpfWZ1bmN0aW9uIGdldE5hbWUoaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQpe3JldHVybiBpfHxSZWdFeHAoXCJcXFxcYlwiKyh0LnBhdHRlcm58fHF1YWxpZnkodCkpK1wiXFxcXGJcIixcImlcIikuZXhlYyhlKSYmKHQubGFiZWx8fHQpfSkpfWZ1bmN0aW9uIGdldE9TKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXt2YXIgcj10LnBhdHRlcm58fHF1YWxpZnkodCk7aWYoIWkmJihpPVJlZ0V4cChcIlxcXFxiXCIrcitcIig/Oi9bXFxcXGQuXSt8WyBcXFxcdy5dKilcIixcImlcIikuZXhlYyhlKSkpe2k9Y2xlYW51cE9TKGkscix0LmxhYmVsfHx0KX1yZXR1cm4gaX0pKX1mdW5jdGlvbiBnZXRQcm9kdWN0KGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXt2YXIgcj10LnBhdHRlcm58fHF1YWxpZnkodCk7aWYoIWkmJihpPVJlZ0V4cChcIlxcXFxiXCIrcitcIiAqXFxcXGQrWy5cXFxcd19dKlwiLFwiaVwiKS5leGVjKGUpfHxSZWdFeHAoXCJcXFxcYlwiK3IrXCIgKlxcXFx3Ky1bXFxcXHddKlwiLFwiaVwiKS5leGVjKGUpfHxSZWdFeHAoXCJcXFxcYlwiK3IrXCIoPzo7ICooPzpbYS16XStbXy1dKT9bYS16XStcXFxcZCt8W14gKCk7LV0qKVwiLFwiaVwiKS5leGVjKGUpKSl7aWYoKGk9U3RyaW5nKHQubGFiZWwmJiFSZWdFeHAocixcImlcIikudGVzdCh0LmxhYmVsKT90LmxhYmVsOmkpLnNwbGl0KFwiL1wiKSlbMV0mJiEvW1xcZC5dKy8udGVzdChpWzBdKSl7aVswXSs9XCIgXCIraVsxXX10PXQubGFiZWx8fHQ7aT1mb3JtYXQoaVswXS5yZXBsYWNlKFJlZ0V4cChyLFwiaVwiKSx0KS5yZXBsYWNlKFJlZ0V4cChcIjsgKig/OlwiK3QrXCJbXy1dKT9cIixcImlcIiksXCIgXCIpLnJlcGxhY2UoUmVnRXhwKFwiKFwiK3QrXCIpWy1fLl0/KFxcXFx3KVwiLFwiaVwiKSxcIiQxICQyXCIpKX1yZXR1cm4gaX0pKX1mdW5jdGlvbiBnZXRWZXJzaW9uKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXtyZXR1cm4gaXx8KFJlZ0V4cCh0K1wiKD86LVtcXFxcZC5dKy98KD86IGZvciBbXFxcXHctXSspP1sgLy1dKShbXFxcXGQuXStbXiAoKTsvXy1dKilcIixcImlcIikuZXhlYyhlKXx8MClbMV18fG51bGx9KSl9ZnVuY3Rpb24gdG9TdHJpbmdQbGF0Zm9ybSgpe3JldHVybiB0aGlzLmRlc2NyaXB0aW9ufHxcIlwifV8mJihfPVtfXSk7aWYoL1xcYkFuZHJvaWRcXGIvLnRlc3QoVCkmJiFBJiYoTT0vXFxiQW5kcm9pZFteO10qOyguKj8pKD86QnVpbGR8XFwpIEFwcGxlV2ViS2l0KVxcYi9pLmV4ZWMoZSkpKXtBPXRyaW0oTVsxXSkucmVwbGFjZSgvXlthLXpdezJ9LVthLXpdezJ9O1xccyovaSxcIlwiKXx8bnVsbH1pZihJJiYhQSl7QT1nZXRQcm9kdWN0KFtJXSl9ZWxzZSBpZihJJiZBKXtBPUEucmVwbGFjZShSZWdFeHAoXCJeKFwiK3F1YWxpZnkoSSkrXCIpWy1fLlxcXFxzXVwiLFwiaVwiKSxJK1wiIFwiKS5yZXBsYWNlKFJlZ0V4cChcIl4oXCIrcXVhbGlmeShJKStcIilbLV8uXT8oXFxcXHcpXCIsXCJpXCIpLEkrXCIgJDJcIil9aWYoTT0vXFxiR29vZ2xlIFRWXFxiLy5leGVjKEEpKXtBPU1bMF19aWYoL1xcYlNpbXVsYXRvclxcYi9pLnRlc3QoZSkpe0E9KEE/QStcIiBcIjpcIlwiKStcIlNpbXVsYXRvclwifWlmKFI9PVwiT3BlcmEgTWluaVwiJiYvXFxiT1BpT1NcXGIvLnRlc3QoZSkpe1AucHVzaChcInJ1bm5pbmcgaW4gVHVyYm8vVW5jb21wcmVzc2VkIG1vZGVcIil9aWYoUj09XCJJRVwiJiYvXFxibGlrZSBpUGhvbmUgT1NcXGIvLnRlc3QoZSkpe009cGFyc2UoZS5yZXBsYWNlKC9saWtlIGlQaG9uZSBPUy8sXCJcIikpO0k9TS5tYW51ZmFjdHVyZXI7QT1NLnByb2R1Y3R9ZWxzZSBpZigvXmlQLy50ZXN0KEEpKXtSfHwoUj1cIlNhZmFyaVwiKTtUPVwiaU9TXCIrKChNPS8gT1MgKFtcXGRfXSspL2kuZXhlYyhlKSk/XCIgXCIrTVsxXS5yZXBsYWNlKC9fL2csXCIuXCIpOlwiXCIpfWVsc2UgaWYoUj09XCJLb25xdWVyb3JcIiYmL15MaW51eFxcYi9pLnRlc3QoVCkpe1Q9XCJLdWJ1bnR1XCJ9ZWxzZSBpZihJJiZJIT1cIkdvb2dsZVwiJiYoL0Nocm9tZS8udGVzdChSKSYmIS9cXGJNb2JpbGUgU2FmYXJpXFxiL2kudGVzdChlKXx8L1xcYlZpdGFcXGIvLnRlc3QoQSkpfHwvXFxiQW5kcm9pZFxcYi8udGVzdChUKSYmL15DaHJvbWUvLnRlc3QoUikmJi9cXGJWZXJzaW9uXFwvL2kudGVzdChlKSl7Uj1cIkFuZHJvaWQgQnJvd3NlclwiO1Q9L1xcYkFuZHJvaWRcXGIvLnRlc3QoVCk/VDpcIkFuZHJvaWRcIn1lbHNlIGlmKFI9PVwiU2lsa1wiKXtpZighL1xcYk1vYmkvaS50ZXN0KGUpKXtUPVwiQW5kcm9pZFwiO1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKX1pZigvQWNjZWxlcmF0ZWQgKj0gKnRydWUvaS50ZXN0KGUpKXtQLnVuc2hpZnQoXCJhY2NlbGVyYXRlZFwiKX19ZWxzZSBpZihSPT1cIlVDIEJyb3dzZXJcIiYmL1xcYlVDV0VCXFxiLy50ZXN0KGUpKXtQLnB1c2goXCJzcGVlZCBtb2RlXCIpfWVsc2UgaWYoUj09XCJQYWxlTW9vblwiJiYoTT0vXFxiRmlyZWZveFxcLyhbXFxkLl0rKVxcYi8uZXhlYyhlKSkpe1AucHVzaChcImlkZW50aWZ5aW5nIGFzIEZpcmVmb3ggXCIrTVsxXSl9ZWxzZSBpZihSPT1cIkZpcmVmb3hcIiYmKE09L1xcYihNb2JpbGV8VGFibGV0fFRWKVxcYi9pLmV4ZWMoZSkpKXtUfHwoVD1cIkZpcmVmb3ggT1NcIik7QXx8KEE9TVsxXSl9ZWxzZSBpZighUnx8KE09IS9cXGJNaW5lZmllbGRcXGIvaS50ZXN0KGUpJiYvXFxiKD86RmlyZWZveHxTYWZhcmkpXFxiLy5leGVjKFIpKSl7aWYoUiYmIUEmJi9bXFwvLF18XlteKF0rP1xcKS8udGVzdChlLnNsaWNlKGUuaW5kZXhPZihNK1wiL1wiKSs4KSkpe1I9bnVsbH1pZigoTT1BfHxJfHxUKSYmKEF8fEl8fC9cXGIoPzpBbmRyb2lkfFN5bWJpYW4gT1N8VGFibGV0IE9TfHdlYk9TKVxcYi8udGVzdChUKSkpe1I9L1thLXpdKyg/OiBIYXQpPy9pLmV4ZWMoL1xcYkFuZHJvaWRcXGIvLnRlc3QoVCk/VDpNKStcIiBCcm93c2VyXCJ9fWVsc2UgaWYoUj09XCJFbGVjdHJvblwiJiYoTT0oL1xcYkNocm9tZVxcLyhbXFxkLl0rKVxcYi8uZXhlYyhlKXx8MClbMV0pKXtQLnB1c2goXCJDaHJvbWl1bSBcIitNKX1pZighQil7Qj1nZXRWZXJzaW9uKFtcIig/OkNsb3VkOXxDcmlPU3xDck1vfEVkZ2V8RWRnfEVkZ0F8RWRnaU9TfEZ4aU9TfEhlYWRsZXNzQ2hyb21lfElFTW9iaWxlfElyb258T3BlcmEgP01pbml8T1BpT1N8T1BSfFJhdmVufFNhbXN1bmdCcm93c2VyfFNpbGsoPyEvW1xcXFxkLl0rJCl8VUNCcm93c2VyfFlhQnJvd3NlcilcIixcIlZlcnNpb25cIixxdWFsaWZ5KFIpLFwiKD86RmlyZWZveHxNaW5lZmllbGR8TmV0RnJvbnQpXCJdKX1pZihNPV89PVwiaUNhYlwiJiZwYXJzZUZsb2F0KEIpPjMmJlwiV2ViS2l0XCJ8fC9cXGJPcGVyYVxcYi8udGVzdChSKSYmKC9cXGJPUFJcXGIvLnRlc3QoZSk/XCJCbGlua1wiOlwiUHJlc3RvXCIpfHwvXFxiKD86TWlkb3JpfE5vb2t8U2FmYXJpKVxcYi9pLnRlc3QoZSkmJiEvXig/OlRyaWRlbnR8RWRnZUhUTUwpJC8udGVzdChfKSYmXCJXZWJLaXRcInx8IV8mJi9cXGJNU0lFXFxiL2kudGVzdChlKSYmKFQ9PVwiTWFjIE9TXCI/XCJUYXNtYW5cIjpcIlRyaWRlbnRcIil8fF89PVwiV2ViS2l0XCImJi9cXGJQbGF5U3RhdGlvblxcYig/ISBWaXRhXFxiKS9pLnRlc3QoUikmJlwiTmV0RnJvbnRcIil7Xz1bTV19aWYoUj09XCJJRVwiJiYoTT0oLzsgKig/OlhCTFdQfFp1bmVXUCkoXFxkKykvaS5leGVjKGUpfHwwKVsxXSkpe1IrPVwiIE1vYmlsZVwiO1Q9XCJXaW5kb3dzIFBob25lIFwiKygvXFwrJC8udGVzdChNKT9NOk0rXCIueFwiKTtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIil9ZWxzZSBpZigvXFxiV1BEZXNrdG9wXFxiL2kudGVzdChlKSl7Uj1cIklFIE1vYmlsZVwiO1Q9XCJXaW5kb3dzIFBob25lIDgueFwiO1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKTtCfHwoQj0oL1xcYnJ2OihbXFxkLl0rKS8uZXhlYyhlKXx8MClbMV0pfWVsc2UgaWYoUiE9XCJJRVwiJiZfPT1cIlRyaWRlbnRcIiYmKE09L1xcYnJ2OihbXFxkLl0rKS8uZXhlYyhlKSkpe2lmKFIpe1AucHVzaChcImlkZW50aWZ5aW5nIGFzIFwiK1IrKEI/XCIgXCIrQjpcIlwiKSl9Uj1cIklFXCI7Qj1NWzFdfWlmKGspe2lmKGlzSG9zdFR5cGUoaSxcImdsb2JhbFwiKSl7aWYobSl7TT1tLmxhbmcuU3lzdGVtO0U9TS5nZXRQcm9wZXJ0eShcIm9zLmFyY2hcIik7VD1UfHxNLmdldFByb3BlcnR5KFwib3MubmFtZVwiKStcIiBcIitNLmdldFByb3BlcnR5KFwib3MudmVyc2lvblwiKX1pZihnKXt0cnl7Qj1pLnJlcXVpcmUoXCJyaW5nby9lbmdpbmVcIikudmVyc2lvbi5qb2luKFwiLlwiKTtSPVwiUmluZ29KU1wifWNhdGNoKGUpe2lmKChNPWkuc3lzdGVtKSYmTS5nbG9iYWwuc3lzdGVtPT1pLnN5c3RlbSl7Uj1cIk5hcndoYWxcIjtUfHwoVD1NWzBdLm9zfHxudWxsKX19aWYoIVIpe1I9XCJSaGlub1wifX1lbHNlIGlmKHR5cGVvZiBpLnByb2Nlc3M9PVwib2JqZWN0XCImJiFpLnByb2Nlc3MuYnJvd3NlciYmKE09aS5wcm9jZXNzKSl7aWYodHlwZW9mIE0udmVyc2lvbnM9PVwib2JqZWN0XCIpe2lmKHR5cGVvZiBNLnZlcnNpb25zLmVsZWN0cm9uPT1cInN0cmluZ1wiKXtQLnB1c2goXCJOb2RlIFwiK00udmVyc2lvbnMubm9kZSk7Uj1cIkVsZWN0cm9uXCI7Qj1NLnZlcnNpb25zLmVsZWN0cm9ufWVsc2UgaWYodHlwZW9mIE0udmVyc2lvbnMubnc9PVwic3RyaW5nXCIpe1AucHVzaChcIkNocm9taXVtIFwiK0IsXCJOb2RlIFwiK00udmVyc2lvbnMubm9kZSk7Uj1cIk5XLmpzXCI7Qj1NLnZlcnNpb25zLm53fX1pZighUil7Uj1cIk5vZGUuanNcIjtFPU0uYXJjaDtUPU0ucGxhdGZvcm07Qj0vW1xcZC5dKy8uZXhlYyhNLnZlcnNpb24pO0I9Qj9CWzBdOm51bGx9fX1lbHNlIGlmKGdldENsYXNzT2YoTT1pLnJ1bnRpbWUpPT1wKXtSPVwiQWRvYmUgQUlSXCI7VD1NLmZsYXNoLnN5c3RlbS5DYXBhYmlsaXRpZXMub3N9ZWxzZSBpZihnZXRDbGFzc09mKE09aS5waGFudG9tKT09eCl7Uj1cIlBoYW50b21KU1wiO0I9KE09TS52ZXJzaW9ufHxudWxsKSYmTS5tYWpvcitcIi5cIitNLm1pbm9yK1wiLlwiK00ucGF0Y2h9ZWxzZSBpZih0eXBlb2YgTy5kb2N1bWVudE1vZGU9PVwibnVtYmVyXCImJihNPS9cXGJUcmlkZW50XFwvKFxcZCspL2kuZXhlYyhlKSkpe0I9W0IsTy5kb2N1bWVudE1vZGVdO2lmKChNPStNWzFdKzQpIT1CWzFdKXtQLnB1c2goXCJJRSBcIitCWzFdK1wiIG1vZGVcIik7XyYmKF9bMV09XCJcIik7QlsxXT1NfUI9Uj09XCJJRVwiP1N0cmluZyhCWzFdLnRvRml4ZWQoMSkpOkJbMF19ZWxzZSBpZih0eXBlb2YgTy5kb2N1bWVudE1vZGU9PVwibnVtYmVyXCImJi9eKD86Q2hyb21lfEZpcmVmb3gpXFxiLy50ZXN0KFIpKXtQLnB1c2goXCJtYXNraW5nIGFzIFwiK1IrXCIgXCIrQik7Uj1cIklFXCI7Qj1cIjExLjBcIjtfPVtcIlRyaWRlbnRcIl07VD1cIldpbmRvd3NcIn1UPVQmJmZvcm1hdChUKX1pZihCJiYoTT0vKD86W2FiXXxkcHxwcmV8W2FiXVxcZCtwcmUpKD86XFxkK1xcKz8pPyQvaS5leGVjKEIpfHwvKD86YWxwaGF8YmV0YSkoPzogP1xcZCk/L2kuZXhlYyhlK1wiO1wiKyhrJiZuLmFwcE1pbm9yVmVyc2lvbikpfHwvXFxiTWluZWZpZWxkXFxiL2kudGVzdChlKSYmXCJhXCIpKXtDPS9iL2kudGVzdChNKT9cImJldGFcIjpcImFscGhhXCI7Qj1CLnJlcGxhY2UoUmVnRXhwKE0rXCJcXFxcKz8kXCIpLFwiXCIpKyhDPT1cImJldGFcIj92OmgpKygvXFxkK1xcKz8vLmV4ZWMoTSl8fFwiXCIpfWlmKFI9PVwiRmVubmVjXCJ8fFI9PVwiRmlyZWZveFwiJiYvXFxiKD86QW5kcm9pZHxGaXJlZm94IE9TfEthaU9TKVxcYi8udGVzdChUKSl7Uj1cIkZpcmVmb3ggTW9iaWxlXCJ9ZWxzZSBpZihSPT1cIk1heHRob25cIiYmQil7Qj1CLnJlcGxhY2UoL1xcLltcXGQuXSsvLFwiLnhcIil9ZWxzZSBpZigvXFxiWGJveFxcYi9pLnRlc3QoQSkpe2lmKEE9PVwiWGJveCAzNjBcIil7VD1udWxsfWlmKEE9PVwiWGJveCAzNjBcIiYmL1xcYklFTW9iaWxlXFxiLy50ZXN0KGUpKXtQLnVuc2hpZnQoXCJtb2JpbGUgbW9kZVwiKX19ZWxzZSBpZigoL14oPzpDaHJvbWV8SUV8T3BlcmEpJC8udGVzdChSKXx8UiYmIUEmJiEvQnJvd3NlcnxNb2JpLy50ZXN0KFIpKSYmKFQ9PVwiV2luZG93cyBDRVwifHwvTW9iaS9pLnRlc3QoZSkpKXtSKz1cIiBNb2JpbGVcIn1lbHNlIGlmKFI9PVwiSUVcIiYmayl7dHJ5e2lmKGkuZXh0ZXJuYWw9PT1udWxsKXtQLnVuc2hpZnQoXCJwbGF0Zm9ybSBwcmV2aWV3XCIpfX1jYXRjaChlKXtQLnVuc2hpZnQoXCJlbWJlZGRlZFwiKX19ZWxzZSBpZigoL1xcYkJsYWNrQmVycnlcXGIvLnRlc3QoQSl8fC9cXGJCQjEwXFxiLy50ZXN0KGUpKSYmKE09KFJlZ0V4cChBLnJlcGxhY2UoLyArL2csXCIgKlwiKStcIi8oWy5cXFxcZF0rKVwiLFwiaVwiKS5leGVjKGUpfHwwKVsxXXx8Qikpe009W00sL0JCMTAvLnRlc3QoZSldO1Q9KE1bMV0/KEE9bnVsbCxJPVwiQmxhY2tCZXJyeVwiKTpcIkRldmljZSBTb2Z0d2FyZVwiKStcIiBcIitNWzBdO0I9bnVsbH1lbHNlIGlmKHRoaXMhPWZvck93biYmQSE9XCJXaWlcIiYmKGsmJnl8fC9PcGVyYS8udGVzdChSKSYmL1xcYig/Ok1TSUV8RmlyZWZveClcXGIvaS50ZXN0KGUpfHxSPT1cIkZpcmVmb3hcIiYmL1xcYk9TIFggKD86XFxkK1xcLil7Mix9Ly50ZXN0KFQpfHxSPT1cIklFXCImJihUJiYhL15XaW4vLnRlc3QoVCkmJkI+NS41fHwvXFxiV2luZG93cyBYUFxcYi8udGVzdChUKSYmQj44fHxCPT04JiYhL1xcYlRyaWRlbnRcXGIvLnRlc3QoZSkpKSYmIWYudGVzdChNPXBhcnNlLmNhbGwoZm9yT3duLGUucmVwbGFjZShmLFwiXCIpK1wiO1wiKSkmJk0ubmFtZSl7TT1cImluZyBhcyBcIitNLm5hbWUrKChNPU0udmVyc2lvbik/XCIgXCIrTTpcIlwiKTtpZihmLnRlc3QoUikpe2lmKC9cXGJJRVxcYi8udGVzdChNKSYmVD09XCJNYWMgT1NcIil7VD1udWxsfU09XCJpZGVudGlmeVwiK019ZWxzZXtNPVwibWFza1wiK007aWYodyl7Uj1mb3JtYXQody5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLFwiJDEgJDJcIikpfWVsc2V7Uj1cIk9wZXJhXCJ9aWYoL1xcYklFXFxiLy50ZXN0KE0pKXtUPW51bGx9aWYoIWspe0I9bnVsbH19Xz1bXCJQcmVzdG9cIl07UC5wdXNoKE0pfWlmKE09KC9cXGJBcHBsZVdlYktpdFxcLyhbXFxkLl0rXFwrPykvaS5leGVjKGUpfHwwKVsxXSl7TT1bcGFyc2VGbG9hdChNLnJlcGxhY2UoL1xcLihcXGQpJC8sXCIuMCQxXCIpKSxNXTtpZihSPT1cIlNhZmFyaVwiJiZNWzFdLnNsaWNlKC0xKT09XCIrXCIpe1I9XCJXZWJLaXQgTmlnaHRseVwiO0M9XCJhbHBoYVwiO0I9TVsxXS5zbGljZSgwLC0xKX1lbHNlIGlmKEI9PU1bMV18fEI9PShNWzJdPSgvXFxiU2FmYXJpXFwvKFtcXGQuXStcXCs/KS9pLmV4ZWMoZSl8fDApWzFdKSl7Qj1udWxsfU1bMV09KC9cXGIoPzpIZWFkbGVzcyk/Q2hyb21lXFwvKFtcXGQuXSspL2kuZXhlYyhlKXx8MClbMV07aWYoTVswXT09NTM3LjM2JiZNWzJdPT01MzcuMzYmJnBhcnNlRmxvYXQoTVsxXSk+PTI4JiZfPT1cIldlYktpdFwiKXtfPVtcIkJsaW5rXCJdfWlmKCFrfHwhcyYmIU1bMV0pe18mJihfWzFdPVwibGlrZSBTYWZhcmlcIik7TT0oTT1NWzBdLE08NDAwPzE6TTw1MDA/MjpNPDUyNj8zOk08NTMzPzQ6TTw1MzQ/XCI0K1wiOk08NTM1PzU6TTw1Mzc/NjpNPDUzOD83Ok08NjAxPzg6TTw2MDI/OTpNPDYwND8xMDpNPDYwNj8xMTpNPDYwOD8xMjpcIjEyXCIpfWVsc2V7XyYmKF9bMV09XCJsaWtlIENocm9tZVwiKTtNPU1bMV18fChNPU1bMF0sTTw1MzA/MTpNPDUzMj8yOk08NTMyLjA1PzM6TTw1MzM/NDpNPDUzNC4wMz81Ok08NTM0LjA3PzY6TTw1MzQuMT83Ok08NTM0LjEzPzg6TTw1MzQuMTY/OTpNPDUzNC4yND8xMDpNPDUzNC4zPzExOk08NTM1LjAxPzEyOk08NTM1LjAyP1wiMTMrXCI6TTw1MzUuMDc/MTU6TTw1MzUuMTE/MTY6TTw1MzUuMTk/MTc6TTw1MzYuMDU/MTg6TTw1MzYuMT8xOTpNPDUzNy4wMT8yMDpNPDUzNy4xMT9cIjIxK1wiOk08NTM3LjEzPzIzOk08NTM3LjE4PzI0Ok08NTM3LjI0PzI1Ok08NTM3LjM2PzI2Ol8hPVwiQmxpbmtcIj9cIjI3XCI6XCIyOFwiKX1fJiYoX1sxXSs9XCIgXCIrKE0rPXR5cGVvZiBNPT1cIm51bWJlclwiP1wiLnhcIjovWy4rXS8udGVzdChNKT9cIlwiOlwiK1wiKSk7aWYoUj09XCJTYWZhcmlcIiYmKCFCfHxwYXJzZUludChCKT40NSkpe0I9TX1lbHNlIGlmKFI9PVwiQ2hyb21lXCImJi9cXGJIZWFkbGVzc0Nocm9tZS9pLnRlc3QoZSkpe1AudW5zaGlmdChcImhlYWRsZXNzXCIpfX1pZihSPT1cIk9wZXJhXCImJihNPS9cXGJ6Ym92fHp2YXYkLy5leGVjKFQpKSl7Uis9XCIgXCI7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpO2lmKE09PVwienZhdlwiKXtSKz1cIk1pbmlcIjtCPW51bGx9ZWxzZXtSKz1cIk1vYmlsZVwifVQ9VC5yZXBsYWNlKFJlZ0V4cChcIiAqXCIrTStcIiRcIiksXCJcIil9ZWxzZSBpZihSPT1cIlNhZmFyaVwiJiYvXFxiQ2hyb21lXFxiLy5leGVjKF8mJl9bMV0pKXtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIik7Uj1cIkNocm9tZSBNb2JpbGVcIjtCPW51bGw7aWYoL1xcYk9TIFhcXGIvLnRlc3QoVCkpe0k9XCJBcHBsZVwiO1Q9XCJpT1MgNC4zK1wifWVsc2V7VD1udWxsfX1lbHNlIGlmKC9cXGJTUldhcmUgSXJvblxcYi8udGVzdChSKSYmIUIpe0I9Z2V0VmVyc2lvbihcIkNocm9tZVwiKX1pZihCJiZCLmluZGV4T2YoTT0vW1xcZC5dKyQvLmV4ZWMoVCkpPT0wJiZlLmluZGV4T2YoXCIvXCIrTStcIi1cIik+LTEpe1Q9dHJpbShULnJlcGxhY2UoTSxcIlwiKSl9aWYoVCYmVC5pbmRleE9mKFIpIT0tMSYmIVJlZ0V4cChSK1wiIE9TXCIpLnRlc3QoVCkpe1Q9VC5yZXBsYWNlKFJlZ0V4cChcIiAqXCIrcXVhbGlmeShSKStcIiAqXCIpLFwiXCIpfWlmKF8mJiEvXFxiKD86QXZhbnR8Tm9vaylcXGIvLnRlc3QoUikmJigvQnJvd3NlcnxMdW5hc2NhcGV8TWF4dGhvbi8udGVzdChSKXx8UiE9XCJTYWZhcmlcIiYmL15pT1MvLnRlc3QoVCkmJi9cXGJTYWZhcmlcXGIvLnRlc3QoX1sxXSl8fC9eKD86QWRvYmV8QXJvcmF8QnJlYWNofE1pZG9yaXxPcGVyYXxQaGFudG9tfFJla29ucXxSb2NrfFNhbXN1bmcgSW50ZXJuZXR8U2xlaXBuaXJ8U1JXYXJlIElyb258Vml2YWxkaXxXZWIpLy50ZXN0KFIpJiZfWzFdKSl7KE09X1tfLmxlbmd0aC0xXSkmJlAucHVzaChNKX1pZihQLmxlbmd0aCl7UD1bXCIoXCIrUC5qb2luKFwiOyBcIikrXCIpXCJdfWlmKEkmJkEmJkEuaW5kZXhPZihJKTwwKXtQLnB1c2goXCJvbiBcIitJKX1pZihBKXtQLnB1c2goKC9eb24gLy50ZXN0KFBbUC5sZW5ndGgtMV0pP1wiXCI6XCJvbiBcIikrQSl9aWYoVCl7TT0vIChbXFxkLitdKykkLy5leGVjKFQpO1c9TSYmVC5jaGFyQXQoVC5sZW5ndGgtTVswXS5sZW5ndGgtMSk9PVwiL1wiO1Q9e2FyY2hpdGVjdHVyZTozMixmYW1pbHk6TSYmIVc/VC5yZXBsYWNlKE1bMF0sXCJcIik6VCx2ZXJzaW9uOk0/TVsxXTpudWxsLHRvU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy52ZXJzaW9uO3JldHVybiB0aGlzLmZhbWlseSsoZSYmIVc/XCIgXCIrZTpcIlwiKSsodGhpcy5hcmNoaXRlY3R1cmU9PTY0P1wiIDY0LWJpdFwiOlwiXCIpfX19aWYoKE09L1xcYig/OkFNRHxJQXxXaW58V09XfHg4Nl98eCk2NFxcYi9pLmV4ZWMoRSkpJiYhL1xcYmk2ODZcXGIvaS50ZXN0KEUpKXtpZihUKXtULmFyY2hpdGVjdHVyZT02NDtULmZhbWlseT1ULmZhbWlseS5yZXBsYWNlKFJlZ0V4cChcIiAqXCIrTSksXCJcIil9aWYoUiYmKC9cXGJXT1c2NFxcYi9pLnRlc3QoZSl8fGsmJi9cXHcoPzo4NnwzMikkLy50ZXN0KG4uY3B1Q2xhc3N8fG4ucGxhdGZvcm0pJiYhL1xcYldpbjY0OyB4NjRcXGIvaS50ZXN0KGUpKSl7UC51bnNoaWZ0KFwiMzItYml0XCIpfX1lbHNlIGlmKFQmJi9eT1MgWC8udGVzdChULmZhbWlseSkmJlI9PVwiQ2hyb21lXCImJnBhcnNlRmxvYXQoQik+PTM5KXtULmFyY2hpdGVjdHVyZT02NH1lfHwoZT1udWxsKTt2YXIgRj17fTtGLmRlc2NyaXB0aW9uPWU7Ri5sYXlvdXQ9XyYmX1swXTtGLm1hbnVmYWN0dXJlcj1JO0YubmFtZT1SO0YucHJlcmVsZWFzZT1DO0YucHJvZHVjdD1BO0YudWE9ZTtGLnZlcnNpb249UiYmQjtGLm9zPVR8fHthcmNoaXRlY3R1cmU6bnVsbCxmYW1pbHk6bnVsbCx2ZXJzaW9uOm51bGwsdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm5cIm51bGxcIn19O0YucGFyc2U9cGFyc2U7Ri50b1N0cmluZz10b1N0cmluZ1BsYXRmb3JtO2lmKEYudmVyc2lvbil7UC51bnNoaWZ0KEIpfWlmKEYubmFtZSl7UC51bnNoaWZ0KFIpfWlmKFQmJlImJiEoVD09U3RyaW5nKFQpLnNwbGl0KFwiIFwiKVswXSYmKFQ9PVIuc3BsaXQoXCIgXCIpWzBdfHxBKSkpe1AucHVzaChBP1wiKFwiK1QrXCIpXCI6XCJvbiBcIitUKX1pZihQLmxlbmd0aCl7Ri5kZXNjcmlwdGlvbj1QLmpvaW4oXCIgXCIpfXJldHVybiBGfXZhciBkPXBhcnNlKCk7aWYobiYmbyl7Zm9yT3duKGQsKGZ1bmN0aW9uKGUsaSl7bltpXT1lfSkpfWVsc2V7ci5wbGF0Zm9ybT1kfX0pLmNhbGwodGhpcyl9fTt2YXIgaT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHQpe3ZhciByPWlbdF07aWYociE9PXVuZGVmaW5lZCl7cmV0dXJuIHIuZXhwb3J0c312YXIgYT1pW3RdPXtpZDp0LGxvYWRlZDpmYWxzZSxleHBvcnRzOnt9fTt2YXIgbj10cnVlO3RyeXtlW3RdLmNhbGwoYS5leHBvcnRzLGEsYS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO249ZmFsc2V9ZmluYWxseXtpZihuKWRlbGV0ZSBpW3RdfWEubG9hZGVkPXRydWU7cmV0dXJuIGEuZXhwb3J0c30oKCk9PntfX25jY3dwY2tfcmVxdWlyZV9fLm5tZD1lPT57ZS5wYXRocz1bXTtpZighZS5jaGlsZHJlbillLmNoaWxkcmVuPVtdO3JldHVybiBlfX0pKCk7aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB0PV9fbmNjd3Bja19yZXF1aXJlX18oNTQxKTttb2R1bGUuZXhwb3J0cz10fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/platform/platform.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js ***! - \************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-refresh-runtime.development.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\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\n\nvar PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.\n// It's OK to reference families, but use WeakMap/Set for types.\n\nvar allFamiliesByID = new Map();\nvar allFamiliesByType = new PossiblyWeakMap();\nvar allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families\n// that have actually been edited here. This keeps checks fast.\n// $FlowIssue\n\nvar updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.\n// It is an array of [Family, NextType] tuples.\n\nvar pendingUpdates = []; // This is injected by the renderer via DevTools global hook.\n\nvar helpersByRendererID = new Map();\nvar helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.\n\nvar mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.\n\nvar failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.\n// It needs to be weak because we do this even for roots that failed to mount.\n// If there is no WeakMap, we won't attempt to do retrying.\n// $FlowIssue\n\nvar rootElements = // $FlowIssue\ntypeof WeakMap === 'function' ? new WeakMap() : null;\nvar isPerformingRefresh = false;\n\nfunction computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n\n var fullKey = signature.ownKey;\n var hooks;\n\n try {\n hooks = signature.getCustomHooks();\n } catch (err) {\n // This can happen in an edge case, e.g. if expression like Foo.useSomething\n // depends on Foo which is lazily initialized during rendering.\n // In that case just assume we'll have to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n\n if (typeof hook !== 'function') {\n // Something's wrong. Assume we need to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n var nestedHookSignature = allSignaturesByType.get(hook);\n\n if (nestedHookSignature === undefined) {\n // No signature means Hook wasn't in the source code, e.g. in a library.\n // We'll skip it because we can assume it won't change during this session.\n continue;\n }\n\n var nestedHookKey = computeFullKey(nestedHookSignature);\n\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n\n fullKey += '\\n---\\n' + nestedHookKey;\n }\n\n signature.fullKey = fullKey;\n return fullKey;\n}\n\nfunction haveEqualSignatures(prevType, nextType) {\n var prevSignature = allSignaturesByType.get(prevType);\n var nextSignature = allSignaturesByType.get(nextType);\n\n if (prevSignature === undefined && nextSignature === undefined) {\n return true;\n }\n\n if (prevSignature === undefined || nextSignature === undefined) {\n return false;\n }\n\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n\n if (nextSignature.forceReset) {\n return false;\n }\n\n return true;\n}\n\nfunction isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n}\n\nfunction canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n\n return false;\n}\n\nfunction resolveFamily(type) {\n // Only check updated types to keep lookups fast.\n return updatedFamiliesByType.get(type);\n} // If we didn't care about IE11, we could use new Map/Set(iterable).\n\n\nfunction cloneMap(map) {\n var clone = new Map();\n map.forEach(function (value, key) {\n clone.set(key, value);\n });\n return clone;\n}\n\nfunction cloneSet(set) {\n var clone = new Set();\n set.forEach(function (value) {\n clone.add(value);\n });\n return clone;\n} // This is a safety mechanism to protect against rogue getters and Proxies.\n\n\nfunction getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n // Intentionally ignore.\n return undefined;\n }\n}\n\nfunction performReactRefresh() {\n\n if (pendingUpdates.length === 0) {\n return null;\n }\n\n if (isPerformingRefresh) {\n return null;\n }\n\n isPerformingRefresh = true;\n\n try {\n var staleFamilies = new Set();\n var updatedFamilies = new Set();\n var updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(function (_ref) {\n var family = _ref[0],\n nextType = _ref[1];\n // Now that we got a real edit, we can create associations\n // that will be read by the React reconciler.\n var prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType; // Determine whether this should be a re-render or a re-mount.\n\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n }); // TODO: rename these fields to something more meaningful.\n\n var update = {\n updatedFamilies: updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies: staleFamilies // Families that will be remounted\n\n };\n helpersByRendererID.forEach(function (helpers) {\n // Even if there are no roots, set the handler on first update.\n // This ensures that if *new* roots are mounted, they'll use the resolve handler.\n helpers.setRefreshHandler(resolveFamily);\n });\n var didError = false;\n var firstError = null; // We snapshot maps and sets that are mutated during commits.\n // If we don't do this, there is a risk they will be mutated while\n // we iterate over them. For example, trying to recover a failed root\n // may cause another root to be added to the failed list -- an infinite loop.\n\n var failedRootsSnapshot = cloneSet(failedRoots);\n var mountedRootsSnapshot = cloneSet(mountedRoots);\n var helpersByRootSnapshot = cloneMap(helpersByRoot);\n failedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!failedRoots.has(root)) {// No longer failed.\n }\n\n if (rootElements === null) {\n return;\n }\n\n if (!rootElements.has(root)) {\n return;\n }\n\n var element = rootElements.get(root);\n\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n mountedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!mountedRoots.has(root)) {// No longer mounted.\n }\n\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n\n if (didError) {\n throw firstError;\n }\n\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n}\nfunction register(type, id) {\n {\n if (type === null) {\n return;\n }\n\n if (typeof type !== 'function' && typeof type !== 'object') {\n return;\n } // This can happen in an edge case, e.g. if we register\n // return value of a HOC but it returns a cached component.\n // Ignore anything but the first registration for each type.\n\n\n if (allFamiliesByType.has(type)) {\n return;\n } // Create family or remember to update it.\n // None of this bookkeeping affects reconciliation\n // until the first performReactRefresh() call above.\n\n\n var family = allFamiliesByID.get(id);\n\n if (family === undefined) {\n family = {\n current: type\n };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n\n allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + '$render');\n break;\n\n case REACT_MEMO_TYPE:\n register(type.type, id + '$type');\n break;\n }\n }\n }\n}\nfunction setSignature(type, key) {\n var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;\n\n {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset: forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || function () {\n return [];\n }\n });\n } // Visit inner types because we might not have signed them.\n\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n }\n} // This is lazily called during first render for a type.\n// It captures Hook list at that time so inline requires don't break comparisons.\n\nfunction collectCustomHooksForSignature(type) {\n {\n var signature = allSignaturesByType.get(type);\n\n if (signature !== undefined) {\n computeFullKey(signature);\n }\n }\n}\nfunction getFamilyByID(id) {\n {\n return allFamiliesByID.get(id);\n }\n}\nfunction getFamilyByType(type) {\n {\n return allFamiliesByType.get(type);\n }\n}\nfunction findAffectedHostInstances(families) {\n {\n var affectedInstances = new Set();\n mountedRoots.forEach(function (root) {\n var helpers = helpersByRoot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);\n instancesForRoot.forEach(function (inst) {\n affectedInstances.add(inst);\n });\n });\n return affectedInstances;\n }\n}\nfunction injectIntoGlobalHook(globalObject) {\n {\n // For React Native, the global hook will be set up by require('react-devtools-core').\n // That code will run before us. So we need to monkeypatch functions on existing hook.\n // For React Web, the global hook will be set up by the extension.\n // This will also run before us.\n var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook === undefined) {\n // However, if there is no DevTools extension, we'll need to set up the global hook ourselves.\n // Note that in this case it's important that renderer code runs *after* this method call.\n // Otherwise, the renderer will think that there is no global hook, and won't do the injection.\n var nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: new Map(),\n supportsFiber: true,\n inject: function (injected) {\n return nextID++;\n },\n onScheduleFiberRoot: function (id, root, children) {},\n onCommitFiberRoot: function (id, root, maybePriorityLevel, didError) {},\n onCommitFiberUnmount: function () {}\n };\n }\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // Using console['warn'] to evade Babel and ESLint\n console['warn']('Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). ' + 'Fast Refresh is not compatible with this shim and will be disabled.');\n return;\n } // Here, we just want to get a reference to scheduleRefresh.\n\n\n var oldInject = hook.inject;\n\n hook.inject = function (injected) {\n var id = oldInject.apply(this, arguments);\n\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n\n return id;\n }; // Do the same for any already injected roots.\n // This is useful if ReactDOM has already been initialized.\n // https://github.com/facebook/react/issues/17626\n\n\n hook.renderers.forEach(function (injected, id) {\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n }); // We also want to track currently mounted roots.\n\n var oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n\n var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function () {};\n\n hook.onScheduleFiberRoot = function (id, root, children) {\n if (!isPerformingRefresh) {\n // If it was intentionally scheduled, don't attempt to restore.\n // This includes intentionally scheduled unmounts.\n failedRoots.delete(root);\n\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n\n hook.onCommitFiberRoot = function (id, root, maybePriorityLevel, didError) {\n var helpers = helpersByRendererID.get(id);\n\n if (helpers !== undefined) {\n helpersByRoot.set(root, helpers);\n var current = root.current;\n var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.\n // This logic is copy-pasted from similar logic in the DevTools backend.\n // If this breaks with some refactoring, you'll want to update DevTools too.\n\n if (alternate !== null) {\n var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null && mountedRoots.has(root);\n var isMounted = current.memoizedState != null && current.memoizedState.element != null;\n\n if (!wasMounted && isMounted) {\n // Mount a new root.\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) ; else if (wasMounted && !isMounted) {\n // Unmount an existing root.\n mountedRoots.delete(root);\n\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n }\n }\n } else {\n // Mount a new root.\n mountedRoots.add(root);\n }\n } // Always call the decorated DevTools hook.\n\n\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n }\n}\nfunction hasUnrecoverableErrors() {\n // TODO: delete this after removing dependency in RN.\n return false;\n} // Exposed for testing.\n\nfunction _getMountedRootCount() {\n {\n return mountedRoots.size;\n }\n} // This is a wrapper over more primitive functions for setting signature.\n// Signatures let us decide whether the Hook order has changed on refresh.\n//\n// This function is intended to be used as a transform target, e.g.:\n// var _s = createSignatureFunctionForTransform()\n//\n// function Hello() {\n// const [foo, setFoo] = useState(0);\n// const value = useCustomHook();\n// _s(); /* Call without arguments triggers collecting the custom Hook list.\n// * This doesn't happen during the module evaluation because we\n// * don't want to change the module order with inline requires.\n// * Next calls are noops. */\n// return <h1>Hi</h1>;\n// }\n//\n// /* Call with arguments attaches the signature to the type: */\n// _s(\n// Hello,\n// 'useState{[foo, setFoo]}(0)',\n// () => [useCustomHook], /* Lazy to avoid triggering inline requires */\n// );\n\nfunction createSignatureFunctionForTransform() {\n {\n var savedType;\n var hasCustomHooks;\n var didCollectHooks = false;\n return function (type, key, forceReset, getCustomHooks) {\n if (typeof key === 'string') {\n // We're in the initial phase that associates signatures\n // with the functions. Note this may be called multiple times\n // in HOC chains like _s(hoc1(_s(hoc2(_s(actualFunction))))).\n if (!savedType) {\n // We're in the innermost call, so this is the actual type.\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === 'function';\n } // Set the signature for all types (even wrappers!) in case\n // they have no signatures of their own. This is to prevent\n // problems like https://github.com/facebook/react/issues/20417.\n\n\n if (type != null && (typeof type === 'function' || typeof type === 'object')) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n\n return type;\n } else {\n // We're in the _s() call without arguments, which means\n // this is the time to collect custom Hook signatures.\n // Only do this once. This path is hot and runs *inside* every render!\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n }\n };\n }\n}\nfunction isLikelyComponentType(type) {\n {\n switch (typeof type) {\n case 'function':\n {\n // First, deal with classes.\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n // React class.\n return true;\n }\n\n var ownNames = Object.getOwnPropertyNames(type.prototype);\n\n if (ownNames.length > 1 || ownNames[0] !== 'constructor') {\n // This looks like a class.\n return false;\n } // eslint-disable-next-line no-proto\n\n\n if (type.prototype.__proto__ !== Object.prototype) {\n // It has a superclass.\n return false;\n } // Pass through.\n // This looks like a regular function with empty prototype.\n\n } // For plain functions and arrows, use name as a heuristic.\n\n\n var name = type.name || type.displayName;\n return typeof name === 'string' && /^[A-Z]/.test(name);\n }\n\n case 'object':\n {\n if (type != null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n // Definitely React components.\n return true;\n\n default:\n return false;\n }\n }\n\n return false;\n }\n\n default:\n {\n return false;\n }\n }\n }\n}\n\nexports._getMountedRootCount = _getMountedRootCount;\nexports.collectCustomHooksForSignature = collectCustomHooksForSignature;\nexports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;\nexports.findAffectedHostInstances = findAffectedHostInstances;\nexports.getFamilyByID = getFamilyByID;\nexports.getFamilyByType = getFamilyByType;\nexports.hasUnrecoverableErrors = hasUnrecoverableErrors;\nexports.injectIntoGlobalHook = injectIntoGlobalHook;\nexports.isLikelyComponentType = isLikelyComponentType;\nexports.performReactRefresh = performReactRefresh;\nexports.register = register;\nexports.setSignature = setSignature;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtcmVmcmVzaC9janMvcmVhY3QtcmVmcmVzaC1ydW50aW1lLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFFQUFxRTtBQUNyRTs7QUFFQTtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7O0FBRUEsbURBQW1EO0FBQ25EOztBQUVBLHlCQUF5Qjs7QUFFekI7QUFDQSwrQkFBK0I7O0FBRS9CLDhCQUE4Qjs7QUFFOUIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixrQkFBa0I7QUFDcEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxVQUFVOztBQUVWO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG9DQUFvQztBQUNwQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLFVBQVU7O0FBRVY7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUEseUNBQXlDOztBQUV6QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCw2REFBNkQ7QUFDN0QsK0VBQStFO0FBQy9FO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxvQ0FBb0M7QUFDaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsY0FBYztBQUM3QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7OztBQUdkO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQSxZQUFZOzs7QUFHWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0QjtBQUM1QixzQ0FBc0M7QUFDdEMsMkNBQTJDO0FBQzNDLGlDQUFpQztBQUNqQyxxQkFBcUI7QUFDckIsdUJBQXVCO0FBQ3ZCLDhCQUE4QjtBQUM5Qiw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsb0JBQW9CO0FBQ3BCLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvY2pzL3JlYWN0LXJlZnJlc2gtcnVudGltZS5kZXZlbG9wbWVudC5qcz9iOGI4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LXJlZnJlc2gtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbi8vIEFUVEVOVElPTlxudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpO1xudmFyIFJFQUNUX01FTU9fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm1lbW8nKTtcblxudmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDsgLy8gV2UgbmV2ZXIgcmVtb3ZlIHRoZXNlIGFzc29jaWF0aW9ucy5cbi8vIEl0J3MgT0sgdG8gcmVmZXJlbmNlIGZhbWlsaWVzLCBidXQgdXNlIFdlYWtNYXAvU2V0IGZvciB0eXBlcy5cblxudmFyIGFsbEZhbWlsaWVzQnlJRCA9IG5ldyBNYXAoKTtcbnZhciBhbGxGYW1pbGllc0J5VHlwZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbnZhciBhbGxTaWduYXR1cmVzQnlUeXBlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpOyAvLyBUaGlzIFdlYWtNYXAgaXMgcmVhZCBieSBSZWFjdCwgc28gd2Ugb25seSBwdXQgZmFtaWxpZXNcbi8vIHRoYXQgaGF2ZSBhY3R1YWxseSBiZWVuIGVkaXRlZCBoZXJlLiBUaGlzIGtlZXBzIGNoZWNrcyBmYXN0LlxuLy8gJEZsb3dJc3N1ZVxuXG52YXIgdXBkYXRlZEZhbWlsaWVzQnlUeXBlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpOyAvLyBUaGlzIGlzIGNsZWFyZWQgb24gZXZlcnkgcGVyZm9ybVJlYWN0UmVmcmVzaCgpIGNhbGwuXG4vLyBJdCBpcyBhbiBhcnJheSBvZiBbRmFtaWx5LCBOZXh0VHlwZV0gdHVwbGVzLlxuXG52YXIgcGVuZGluZ1VwZGF0ZXMgPSBbXTsgLy8gVGhpcyBpcyBpbmplY3RlZCBieSB0aGUgcmVuZGVyZXIgdmlhIERldlRvb2xzIGdsb2JhbCBob29rLlxuXG52YXIgaGVscGVyc0J5UmVuZGVyZXJJRCA9IG5ldyBNYXAoKTtcbnZhciBoZWxwZXJzQnlSb290ID0gbmV3IE1hcCgpOyAvLyBXZSBrZWVwIHRyYWNrIG9mIG1vdW50ZWQgcm9vdHMgc28gd2UgY2FuIHNjaGVkdWxlIHVwZGF0ZXMuXG5cbnZhciBtb3VudGVkUm9vdHMgPSBuZXcgU2V0KCk7IC8vIElmIGEgcm9vdCBjYXB0dXJlcyBhbiBlcnJvciwgd2UgcmVtZW1iZXIgaXQgc28gd2UgY2FuIHJldHJ5IG9uIGVkaXQuXG5cbnZhciBmYWlsZWRSb290cyA9IG5ldyBTZXQoKTsgLy8gSW4gZW52aXJvbm1lbnRzIHRoYXQgc3VwcG9ydCBXZWFrTWFwLCB3ZSBhbHNvIHJlbWVtYmVyIHRoZSBsYXN0IGVsZW1lbnQgZm9yIGV2ZXJ5IHJvb3QuXG4vLyBJdCBuZWVkcyB0byBiZSB3ZWFrIGJlY2F1c2Ugd2UgZG8gdGhpcyBldmVuIGZvciByb290cyB0aGF0IGZhaWxlZCB0byBtb3VudC5cbi8vIElmIHRoZXJlIGlzIG5vIFdlYWtNYXAsIHdlIHdvbid0IGF0dGVtcHQgdG8gZG8gcmV0cnlpbmcuXG4vLyAkRmxvd0lzc3VlXG5cbnZhciByb290RWxlbWVudHMgPSAvLyAkRmxvd0lzc3VlXG50eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IG5ldyBXZWFrTWFwKCkgOiBudWxsO1xudmFyIGlzUGVyZm9ybWluZ1JlZnJlc2ggPSBmYWxzZTtcblxuZnVuY3Rpb24gY29tcHV0ZUZ1bGxLZXkoc2lnbmF0dXJlKSB7XG4gIGlmIChzaWduYXR1cmUuZnVsbEtleSAhPT0gbnVsbCkge1xuICAgIHJldHVybiBzaWduYXR1cmUuZnVsbEtleTtcbiAgfVxuXG4gIHZhciBmdWxsS2V5ID0gc2lnbmF0dXJlLm93bktleTtcbiAgdmFyIGhvb2tzO1xuXG4gIHRyeSB7XG4gICAgaG9va3MgPSBzaWduYXR1cmUuZ2V0Q3VzdG9tSG9va3MoKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gVGhpcyBjYW4gaGFwcGVuIGluIGFuIGVkZ2UgY2FzZSwgZS5nLiBpZiBleHByZXNzaW9uIGxpa2UgRm9vLnVzZVNvbWV0aGluZ1xuICAgIC8vIGRlcGVuZHMgb24gRm9vIHdoaWNoIGlzIGxhemlseSBpbml0aWFsaXplZCBkdXJpbmcgcmVuZGVyaW5nLlxuICAgIC8vIEluIHRoYXQgY2FzZSBqdXN0IGFzc3VtZSB3ZSdsbCBoYXZlIHRvIHJlbW91bnQuXG4gICAgc2lnbmF0dXJlLmZvcmNlUmVzZXQgPSB0cnVlO1xuICAgIHNpZ25hdHVyZS5mdWxsS2V5ID0gZnVsbEtleTtcbiAgICByZXR1cm4gZnVsbEtleTtcbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgaG9va3MubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaG9vayA9IGhvb2tzW2ldO1xuXG4gICAgaWYgKHR5cGVvZiBob29rICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBTb21ldGhpbmcncyB3cm9uZy4gQXNzdW1lIHdlIG5lZWQgdG8gcmVtb3VudC5cbiAgICAgIHNpZ25hdHVyZS5mb3JjZVJlc2V0ID0gdHJ1ZTtcbiAgICAgIHNpZ25hdHVyZS5mdWxsS2V5ID0gZnVsbEtleTtcbiAgICAgIHJldHVybiBmdWxsS2V5O1xuICAgIH1cblxuICAgIHZhciBuZXN0ZWRIb29rU2lnbmF0dXJlID0gYWxsU2lnbmF0dXJlc0J5VHlwZS5nZXQoaG9vayk7XG5cbiAgICBpZiAobmVzdGVkSG9va1NpZ25hdHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBObyBzaWduYXR1cmUgbWVhbnMgSG9vayB3YXNuJ3QgaW4gdGhlIHNvdXJjZSBjb2RlLCBlLmcuIGluIGEgbGlicmFyeS5cbiAgICAgIC8vIFdlJ2xsIHNraXAgaXQgYmVjYXVzZSB3ZSBjYW4gYXNzdW1lIGl0IHdvbid0IGNoYW5nZSBkdXJpbmcgdGhpcyBzZXNzaW9uLlxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdmFyIG5lc3RlZEhvb2tLZXkgPSBjb21wdXRlRnVsbEtleShuZXN0ZWRIb29rU2lnbmF0dXJlKTtcblxuICAgIGlmIChuZXN0ZWRIb29rU2lnbmF0dXJlLmZvcmNlUmVzZXQpIHtcbiAgICAgIHNpZ25hdHVyZS5mb3JjZVJlc2V0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBmdWxsS2V5ICs9ICdcXG4tLS1cXG4nICsgbmVzdGVkSG9va0tleTtcbiAgfVxuXG4gIHNpZ25hdHVyZS5mdWxsS2V5ID0gZnVsbEtleTtcbiAgcmV0dXJuIGZ1bGxLZXk7XG59XG5cbmZ1bmN0aW9uIGhhdmVFcXVhbFNpZ25hdHVyZXMocHJldlR5cGUsIG5leHRUeXBlKSB7XG4gIHZhciBwcmV2U2lnbmF0dXJlID0gYWxsU2lnbmF0dXJlc0J5VHlwZS5nZXQocHJldlR5cGUpO1xuICB2YXIgbmV4dFNpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KG5leHRUeXBlKTtcblxuICBpZiAocHJldlNpZ25hdHVyZSA9PT0gdW5kZWZpbmVkICYmIG5leHRTaWduYXR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHByZXZTaWduYXR1cmUgPT09IHVuZGVmaW5lZCB8fCBuZXh0U2lnbmF0dXJlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoY29tcHV0ZUZ1bGxLZXkocHJldlNpZ25hdHVyZSkgIT09IGNvbXB1dGVGdWxsS2V5KG5leHRTaWduYXR1cmUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKG5leHRTaWduYXR1cmUuZm9yY2VSZXNldCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBpc1JlYWN0Q2xhc3ModHlwZSkge1xuICByZXR1cm4gdHlwZS5wcm90b3R5cGUgJiYgdHlwZS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudDtcbn1cblxuZnVuY3Rpb24gY2FuUHJlc2VydmVTdGF0ZUJldHdlZW4ocHJldlR5cGUsIG5leHRUeXBlKSB7XG4gIGlmIChpc1JlYWN0Q2xhc3MocHJldlR5cGUpIHx8IGlzUmVhY3RDbGFzcyhuZXh0VHlwZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoaGF2ZUVxdWFsU2lnbmF0dXJlcyhwcmV2VHlwZSwgbmV4dFR5cGUpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVGYW1pbHkodHlwZSkge1xuICAvLyBPbmx5IGNoZWNrIHVwZGF0ZWQgdHlwZXMgdG8ga2VlcCBsb29rdXBzIGZhc3QuXG4gIHJldHVybiB1cGRhdGVkRmFtaWxpZXNCeVR5cGUuZ2V0KHR5cGUpO1xufSAvLyBJZiB3ZSBkaWRuJ3QgY2FyZSBhYm91dCBJRTExLCB3ZSBjb3VsZCB1c2UgbmV3IE1hcC9TZXQoaXRlcmFibGUpLlxuXG5cbmZ1bmN0aW9uIGNsb25lTWFwKG1hcCkge1xuICB2YXIgY2xvbmUgPSBuZXcgTWFwKCk7XG4gIG1hcC5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSwga2V5KSB7XG4gICAgY2xvbmUuc2V0KGtleSwgdmFsdWUpO1xuICB9KTtcbiAgcmV0dXJuIGNsb25lO1xufVxuXG5mdW5jdGlvbiBjbG9uZVNldChzZXQpIHtcbiAgdmFyIGNsb25lID0gbmV3IFNldCgpO1xuICBzZXQuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHtcbiAgICBjbG9uZS5hZGQodmFsdWUpO1xuICB9KTtcbiAgcmV0dXJuIGNsb25lO1xufSAvLyBUaGlzIGlzIGEgc2FmZXR5IG1lY2hhbmlzbSB0byBwcm90ZWN0IGFnYWluc3Qgcm9ndWUgZ2V0dGVycyBhbmQgUHJveGllcy5cblxuXG5mdW5jdGlvbiBnZXRQcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG9iamVjdFtwcm9wZXJ0eV07XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIEludGVudGlvbmFsbHkgaWdub3JlLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGVyZm9ybVJlYWN0UmVmcmVzaCgpIHtcblxuICBpZiAocGVuZGluZ1VwZGF0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoaXNQZXJmb3JtaW5nUmVmcmVzaCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaXNQZXJmb3JtaW5nUmVmcmVzaCA9IHRydWU7XG5cbiAgdHJ5IHtcbiAgICB2YXIgc3RhbGVGYW1pbGllcyA9IG5ldyBTZXQoKTtcbiAgICB2YXIgdXBkYXRlZEZhbWlsaWVzID0gbmV3IFNldCgpO1xuICAgIHZhciB1cGRhdGVzID0gcGVuZGluZ1VwZGF0ZXM7XG4gICAgcGVuZGluZ1VwZGF0ZXMgPSBbXTtcbiAgICB1cGRhdGVzLmZvckVhY2goZnVuY3Rpb24gKF9yZWYpIHtcbiAgICAgIHZhciBmYW1pbHkgPSBfcmVmWzBdLFxuICAgICAgICAgIG5leHRUeXBlID0gX3JlZlsxXTtcbiAgICAgIC8vIE5vdyB0aGF0IHdlIGdvdCBhIHJlYWwgZWRpdCwgd2UgY2FuIGNyZWF0ZSBhc3NvY2lhdGlvbnNcbiAgICAgIC8vIHRoYXQgd2lsbCBiZSByZWFkIGJ5IHRoZSBSZWFjdCByZWNvbmNpbGVyLlxuICAgICAgdmFyIHByZXZUeXBlID0gZmFtaWx5LmN1cnJlbnQ7XG4gICAgICB1cGRhdGVkRmFtaWxpZXNCeVR5cGUuc2V0KHByZXZUeXBlLCBmYW1pbHkpO1xuICAgICAgdXBkYXRlZEZhbWlsaWVzQnlUeXBlLnNldChuZXh0VHlwZSwgZmFtaWx5KTtcbiAgICAgIGZhbWlseS5jdXJyZW50ID0gbmV4dFR5cGU7IC8vIERldGVybWluZSB3aGV0aGVyIHRoaXMgc2hvdWxkIGJlIGEgcmUtcmVuZGVyIG9yIGEgcmUtbW91bnQuXG5cbiAgICAgIGlmIChjYW5QcmVzZXJ2ZVN0YXRlQmV0d2VlbihwcmV2VHlwZSwgbmV4dFR5cGUpKSB7XG4gICAgICAgIHVwZGF0ZWRGYW1pbGllcy5hZGQoZmFtaWx5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YWxlRmFtaWxpZXMuYWRkKGZhbWlseSk7XG4gICAgICB9XG4gICAgfSk7IC8vIFRPRE86IHJlbmFtZSB0aGVzZSBmaWVsZHMgdG8gc29tZXRoaW5nIG1vcmUgbWVhbmluZ2Z1bC5cblxuICAgIHZhciB1cGRhdGUgPSB7XG4gICAgICB1cGRhdGVkRmFtaWxpZXM6IHVwZGF0ZWRGYW1pbGllcyxcbiAgICAgIC8vIEZhbWlsaWVzIHRoYXQgd2lsbCByZS1yZW5kZXIgcHJlc2VydmluZyBzdGF0ZVxuICAgICAgc3RhbGVGYW1pbGllczogc3RhbGVGYW1pbGllcyAvLyBGYW1pbGllcyB0aGF0IHdpbGwgYmUgcmVtb3VudGVkXG5cbiAgICB9O1xuICAgIGhlbHBlcnNCeVJlbmRlcmVySUQuZm9yRWFjaChmdW5jdGlvbiAoaGVscGVycykge1xuICAgICAgLy8gRXZlbiBpZiB0aGVyZSBhcmUgbm8gcm9vdHMsIHNldCB0aGUgaGFuZGxlciBvbiBmaXJzdCB1cGRhdGUuXG4gICAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCBpZiAqbmV3KiByb290cyBhcmUgbW91bnRlZCwgdGhleSdsbCB1c2UgdGhlIHJlc29sdmUgaGFuZGxlci5cbiAgICAgIGhlbHBlcnMuc2V0UmVmcmVzaEhhbmRsZXIocmVzb2x2ZUZhbWlseSk7XG4gICAgfSk7XG4gICAgdmFyIGRpZEVycm9yID0gZmFsc2U7XG4gICAgdmFyIGZpcnN0RXJyb3IgPSBudWxsOyAvLyBXZSBzbmFwc2hvdCBtYXBzIGFuZCBzZXRzIHRoYXQgYXJlIG11dGF0ZWQgZHVyaW5nIGNvbW1pdHMuXG4gICAgLy8gSWYgd2UgZG9uJ3QgZG8gdGhpcywgdGhlcmUgaXMgYSByaXNrIHRoZXkgd2lsbCBiZSBtdXRhdGVkIHdoaWxlXG4gICAgLy8gd2UgaXRlcmF0ZSBvdmVyIHRoZW0uIEZvciBleGFtcGxlLCB0cnlpbmcgdG8gcmVjb3ZlciBhIGZhaWxlZCByb290XG4gICAgLy8gbWF5IGNhdXNlIGFub3RoZXIgcm9vdCB0byBiZSBhZGRlZCB0byB0aGUgZmFpbGVkIGxpc3QgLS0gYW4gaW5maW5pdGUgbG9vcC5cblxuICAgIHZhciBmYWlsZWRSb290c1NuYXBzaG90ID0gY2xvbmVTZXQoZmFpbGVkUm9vdHMpO1xuICAgIHZhciBtb3VudGVkUm9vdHNTbmFwc2hvdCA9IGNsb25lU2V0KG1vdW50ZWRSb290cyk7XG4gICAgdmFyIGhlbHBlcnNCeVJvb3RTbmFwc2hvdCA9IGNsb25lTWFwKGhlbHBlcnNCeVJvb3QpO1xuICAgIGZhaWxlZFJvb3RzU25hcHNob3QuZm9yRWFjaChmdW5jdGlvbiAocm9vdCkge1xuICAgICAgdmFyIGhlbHBlcnMgPSBoZWxwZXJzQnlSb290U25hcHNob3QuZ2V0KHJvb3QpO1xuXG4gICAgICBpZiAoaGVscGVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgaGVscGVycyBmb3IgYSByb290LiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0IFJlZnJlc2guJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZmFpbGVkUm9vdHMuaGFzKHJvb3QpKSB7Ly8gTm8gbG9uZ2VyIGZhaWxlZC5cbiAgICAgIH1cblxuICAgICAgaWYgKHJvb3RFbGVtZW50cyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghcm9vdEVsZW1lbnRzLmhhcyhyb290KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBlbGVtZW50ID0gcm9vdEVsZW1lbnRzLmdldChyb290KTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaGVscGVycy5zY2hlZHVsZVJvb3Qocm9vdCwgZWxlbWVudCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgaWYgKCFkaWRFcnJvcikge1xuICAgICAgICAgIGRpZEVycm9yID0gdHJ1ZTtcbiAgICAgICAgICBmaXJzdEVycm9yID0gZXJyO1xuICAgICAgICB9IC8vIEtlZXAgdHJ5aW5nIG90aGVyIHJvb3RzLlxuXG4gICAgICB9XG4gICAgfSk7XG4gICAgbW91bnRlZFJvb3RzU25hcHNob3QuZm9yRWFjaChmdW5jdGlvbiAocm9vdCkge1xuICAgICAgdmFyIGhlbHBlcnMgPSBoZWxwZXJzQnlSb290U25hcHNob3QuZ2V0KHJvb3QpO1xuXG4gICAgICBpZiAoaGVscGVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgaGVscGVycyBmb3IgYSByb290LiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0IFJlZnJlc2guJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghbW91bnRlZFJvb3RzLmhhcyhyb290KSkgey8vIE5vIGxvbmdlciBtb3VudGVkLlxuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBoZWxwZXJzLnNjaGVkdWxlUmVmcmVzaChyb290LCB1cGRhdGUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICghZGlkRXJyb3IpIHtcbiAgICAgICAgICBkaWRFcnJvciA9IHRydWU7XG4gICAgICAgICAgZmlyc3RFcnJvciA9IGVycjtcbiAgICAgICAgfSAvLyBLZWVwIHRyeWluZyBvdGhlciByb290cy5cblxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGRpZEVycm9yKSB7XG4gICAgICB0aHJvdyBmaXJzdEVycm9yO1xuICAgIH1cblxuICAgIHJldHVybiB1cGRhdGU7XG4gIH0gZmluYWxseSB7XG4gICAgaXNQZXJmb3JtaW5nUmVmcmVzaCA9IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiByZWdpc3Rlcih0eXBlLCBpZCkge1xuICB7XG4gICAgaWYgKHR5cGUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBUaGlzIGNhbiBoYXBwZW4gaW4gYW4gZWRnZSBjYXNlLCBlLmcuIGlmIHdlIHJlZ2lzdGVyXG4gICAgLy8gcmV0dXJuIHZhbHVlIG9mIGEgSE9DIGJ1dCBpdCByZXR1cm5zIGEgY2FjaGVkIGNvbXBvbmVudC5cbiAgICAvLyBJZ25vcmUgYW55dGhpbmcgYnV0IHRoZSBmaXJzdCByZWdpc3RyYXRpb24gZm9yIGVhY2ggdHlwZS5cblxuXG4gICAgaWYgKGFsbEZhbWlsaWVzQnlUeXBlLmhhcyh0eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gQ3JlYXRlIGZhbWlseSBvciByZW1lbWJlciB0byB1cGRhdGUgaXQuXG4gICAgLy8gTm9uZSBvZiB0aGlzIGJvb2trZWVwaW5nIGFmZmVjdHMgcmVjb25jaWxpYXRpb25cbiAgICAvLyB1bnRpbCB0aGUgZmlyc3QgcGVyZm9ybVJlYWN0UmVmcmVzaCgpIGNhbGwgYWJvdmUuXG5cblxuICAgIHZhciBmYW1pbHkgPSBhbGxGYW1pbGllc0J5SUQuZ2V0KGlkKTtcblxuICAgIGlmIChmYW1pbHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZmFtaWx5ID0ge1xuICAgICAgICBjdXJyZW50OiB0eXBlXG4gICAgICB9O1xuICAgICAgYWxsRmFtaWxpZXNCeUlELnNldChpZCwgZmFtaWx5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGVuZGluZ1VwZGF0ZXMucHVzaChbZmFtaWx5LCB0eXBlXSk7XG4gICAgfVxuXG4gICAgYWxsRmFtaWxpZXNCeVR5cGUuc2V0KHR5cGUsIGZhbWlseSk7IC8vIFZpc2l0IGlubmVyIHR5cGVzIGJlY2F1c2Ugd2UgbWlnaHQgbm90IGhhdmUgcmVnaXN0ZXJlZCB0aGVtLlxuXG4gICAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKGdldFByb3BlcnR5KHR5cGUsICckJHR5cGVvZicpKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgICByZWdpc3Rlcih0eXBlLnJlbmRlciwgaWQgKyAnJHJlbmRlcicpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgIHJlZ2lzdGVyKHR5cGUudHlwZSwgaWQgKyAnJHR5cGUnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHNldFNpZ25hdHVyZSh0eXBlLCBrZXkpIHtcbiAgdmFyIGZvcmNlUmVzZXQgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IGZhbHNlO1xuICB2YXIgZ2V0Q3VzdG9tSG9va3MgPSBhcmd1bWVudHMubGVuZ3RoID4gMyA/IGFyZ3VtZW50c1szXSA6IHVuZGVmaW5lZDtcblxuICB7XG4gICAgaWYgKCFhbGxTaWduYXR1cmVzQnlUeXBlLmhhcyh0eXBlKSkge1xuICAgICAgYWxsU2lnbmF0dXJlc0J5VHlwZS5zZXQodHlwZSwge1xuICAgICAgICBmb3JjZVJlc2V0OiBmb3JjZVJlc2V0LFxuICAgICAgICBvd25LZXk6IGtleSxcbiAgICAgICAgZnVsbEtleTogbnVsbCxcbiAgICAgICAgZ2V0Q3VzdG9tSG9va3M6IGdldEN1c3RvbUhvb2tzIHx8IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gLy8gVmlzaXQgaW5uZXIgdHlwZXMgYmVjYXVzZSB3ZSBtaWdodCBub3QgaGF2ZSBzaWduZWQgdGhlbS5cblxuXG4gICAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKGdldFByb3BlcnR5KHR5cGUsICckJHR5cGVvZicpKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgICBzZXRTaWduYXR1cmUodHlwZS5yZW5kZXIsIGtleSwgZm9yY2VSZXNldCwgZ2V0Q3VzdG9tSG9va3MpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgIHNldFNpZ25hdHVyZSh0eXBlLnR5cGUsIGtleSwgZm9yY2VSZXNldCwgZ2V0Q3VzdG9tSG9va3MpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSAvLyBUaGlzIGlzIGxhemlseSBjYWxsZWQgZHVyaW5nIGZpcnN0IHJlbmRlciBmb3IgYSB0eXBlLlxuLy8gSXQgY2FwdHVyZXMgSG9vayBsaXN0IGF0IHRoYXQgdGltZSBzbyBpbmxpbmUgcmVxdWlyZXMgZG9uJ3QgYnJlYWsgY29tcGFyaXNvbnMuXG5cbmZ1bmN0aW9uIGNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZSh0eXBlKSB7XG4gIHtcbiAgICB2YXIgc2lnbmF0dXJlID0gYWxsU2lnbmF0dXJlc0J5VHlwZS5nZXQodHlwZSk7XG5cbiAgICBpZiAoc2lnbmF0dXJlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbXB1dGVGdWxsS2V5KHNpZ25hdHVyZSk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBnZXRGYW1pbHlCeUlEKGlkKSB7XG4gIHtcbiAgICByZXR1cm4gYWxsRmFtaWxpZXNCeUlELmdldChpZCk7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldEZhbWlseUJ5VHlwZSh0eXBlKSB7XG4gIHtcbiAgICByZXR1cm4gYWxsRmFtaWxpZXNCeVR5cGUuZ2V0KHR5cGUpO1xuICB9XG59XG5mdW5jdGlvbiBmaW5kQWZmZWN0ZWRIb3N0SW5zdGFuY2VzKGZhbWlsaWVzKSB7XG4gIHtcbiAgICB2YXIgYWZmZWN0ZWRJbnN0YW5jZXMgPSBuZXcgU2V0KCk7XG4gICAgbW91bnRlZFJvb3RzLmZvckVhY2goZnVuY3Rpb24gKHJvb3QpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5Um9vdC5nZXQocm9vdCk7XG5cbiAgICAgIGlmIChoZWxwZXJzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCBoZWxwZXJzIGZvciBhIHJvb3QuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QgUmVmcmVzaC4nKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGluc3RhbmNlc0ZvclJvb3QgPSBoZWxwZXJzLmZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaChyb290LCBmYW1pbGllcyk7XG4gICAgICBpbnN0YW5jZXNGb3JSb290LmZvckVhY2goZnVuY3Rpb24gKGluc3QpIHtcbiAgICAgICAgYWZmZWN0ZWRJbnN0YW5jZXMuYWRkKGluc3QpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFmZmVjdGVkSW5zdGFuY2VzO1xuICB9XG59XG5mdW5jdGlvbiBpbmplY3RJbnRvR2xvYmFsSG9vayhnbG9iYWxPYmplY3QpIHtcbiAge1xuICAgIC8vIEZvciBSZWFjdCBOYXRpdmUsIHRoZSBnbG9iYWwgaG9vayB3aWxsIGJlIHNldCB1cCBieSByZXF1aXJlKCdyZWFjdC1kZXZ0b29scy1jb3JlJykuXG4gICAgLy8gVGhhdCBjb2RlIHdpbGwgcnVuIGJlZm9yZSB1cy4gU28gd2UgbmVlZCB0byBtb25rZXlwYXRjaCBmdW5jdGlvbnMgb24gZXhpc3RpbmcgaG9vay5cbiAgICAvLyBGb3IgUmVhY3QgV2ViLCB0aGUgZ2xvYmFsIGhvb2sgd2lsbCBiZSBzZXQgdXAgYnkgdGhlIGV4dGVuc2lvbi5cbiAgICAvLyBUaGlzIHdpbGwgYWxzbyBydW4gYmVmb3JlIHVzLlxuICAgIHZhciBob29rID0gZ2xvYmFsT2JqZWN0Ll9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztcblxuICAgIGlmIChob29rID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEhvd2V2ZXIsIGlmIHRoZXJlIGlzIG5vIERldlRvb2xzIGV4dGVuc2lvbiwgd2UnbGwgbmVlZCB0byBzZXQgdXAgdGhlIGdsb2JhbCBob29rIG91cnNlbHZlcy5cbiAgICAgIC8vIE5vdGUgdGhhdCBpbiB0aGlzIGNhc2UgaXQncyBpbXBvcnRhbnQgdGhhdCByZW5kZXJlciBjb2RlIHJ1bnMgKmFmdGVyKiB0aGlzIG1ldGhvZCBjYWxsLlxuICAgICAgLy8gT3RoZXJ3aXNlLCB0aGUgcmVuZGVyZXIgd2lsbCB0aGluayB0aGF0IHRoZXJlIGlzIG5vIGdsb2JhbCBob29rLCBhbmQgd29uJ3QgZG8gdGhlIGluamVjdGlvbi5cbiAgICAgIHZhciBuZXh0SUQgPSAwO1xuICAgICAgZ2xvYmFsT2JqZWN0Ll9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyA9IGhvb2sgPSB7XG4gICAgICAgIHJlbmRlcmVyczogbmV3IE1hcCgpLFxuICAgICAgICBzdXBwb3J0c0ZpYmVyOiB0cnVlLFxuICAgICAgICBpbmplY3Q6IGZ1bmN0aW9uIChpbmplY3RlZCkge1xuICAgICAgICAgIHJldHVybiBuZXh0SUQrKztcbiAgICAgICAgfSxcbiAgICAgICAgb25TY2hlZHVsZUZpYmVyUm9vdDogZnVuY3Rpb24gKGlkLCByb290LCBjaGlsZHJlbikge30sXG4gICAgICAgIG9uQ29tbWl0RmliZXJSb290OiBmdW5jdGlvbiAoaWQsIHJvb3QsIG1heWJlUHJpb3JpdHlMZXZlbCwgZGlkRXJyb3IpIHt9LFxuICAgICAgICBvbkNvbW1pdEZpYmVyVW5tb3VudDogZnVuY3Rpb24gKCkge31cbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGhvb2suaXNEaXNhYmxlZCkge1xuICAgICAgLy8gVGhpcyBpc24ndCBhIHJlYWwgcHJvcGVydHkgb24gdGhlIGhvb2ssIGJ1dCBpdCBjYW4gYmUgc2V0IHRvIG9wdCBvdXRcbiAgICAgIC8vIG9mIERldlRvb2xzIGludGVncmF0aW9uIGFuZCBhc3NvY2lhdGVkIHdhcm5pbmdzIGFuZCBsb2dzLlxuICAgICAgLy8gVXNpbmcgY29uc29sZVsnd2FybiddIHRvIGV2YWRlIEJhYmVsIGFuZCBFU0xpbnRcbiAgICAgIGNvbnNvbGVbJ3dhcm4nXSgnU29tZXRoaW5nIGhhcyBzaGltbWVkIHRoZSBSZWFjdCBEZXZUb29scyBnbG9iYWwgaG9vayAoX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fKS4gJyArICdGYXN0IFJlZnJlc2ggaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGlzIHNoaW0gYW5kIHdpbGwgYmUgZGlzYWJsZWQuJyk7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBIZXJlLCB3ZSBqdXN0IHdhbnQgdG8gZ2V0IGEgcmVmZXJlbmNlIHRvIHNjaGVkdWxlUmVmcmVzaC5cblxuXG4gICAgdmFyIG9sZEluamVjdCA9IGhvb2suaW5qZWN0O1xuXG4gICAgaG9vay5pbmplY3QgPSBmdW5jdGlvbiAoaW5qZWN0ZWQpIHtcbiAgICAgIHZhciBpZCA9IG9sZEluamVjdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXG4gICAgICBpZiAodHlwZW9mIGluamVjdGVkLnNjaGVkdWxlUmVmcmVzaCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgaW5qZWN0ZWQuc2V0UmVmcmVzaEhhbmRsZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVGhpcyB2ZXJzaW9uIHN1cHBvcnRzIFJlYWN0IFJlZnJlc2guXG4gICAgICAgIGhlbHBlcnNCeVJlbmRlcmVySUQuc2V0KGlkLCBpbmplY3RlZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpZDtcbiAgICB9OyAvLyBEbyB0aGUgc2FtZSBmb3IgYW55IGFscmVhZHkgaW5qZWN0ZWQgcm9vdHMuXG4gICAgLy8gVGhpcyBpcyB1c2VmdWwgaWYgUmVhY3RET00gaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZC5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE3NjI2XG5cblxuICAgIGhvb2sucmVuZGVyZXJzLmZvckVhY2goZnVuY3Rpb24gKGluamVjdGVkLCBpZCkge1xuICAgICAgaWYgKHR5cGVvZiBpbmplY3RlZC5zY2hlZHVsZVJlZnJlc2ggPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGluamVjdGVkLnNldFJlZnJlc2hIYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFRoaXMgdmVyc2lvbiBzdXBwb3J0cyBSZWFjdCBSZWZyZXNoLlxuICAgICAgICBoZWxwZXJzQnlSZW5kZXJlcklELnNldChpZCwgaW5qZWN0ZWQpO1xuICAgICAgfVxuICAgIH0pOyAvLyBXZSBhbHNvIHdhbnQgdG8gdHJhY2sgY3VycmVudGx5IG1vdW50ZWQgcm9vdHMuXG5cbiAgICB2YXIgb2xkT25Db21taXRGaWJlclJvb3QgPSBob29rLm9uQ29tbWl0RmliZXJSb290O1xuXG4gICAgdmFyIG9sZE9uU2NoZWR1bGVGaWJlclJvb3QgPSBob29rLm9uU2NoZWR1bGVGaWJlclJvb3QgfHwgZnVuY3Rpb24gKCkge307XG5cbiAgICBob29rLm9uU2NoZWR1bGVGaWJlclJvb3QgPSBmdW5jdGlvbiAoaWQsIHJvb3QsIGNoaWxkcmVuKSB7XG4gICAgICBpZiAoIWlzUGVyZm9ybWluZ1JlZnJlc2gpIHtcbiAgICAgICAgLy8gSWYgaXQgd2FzIGludGVudGlvbmFsbHkgc2NoZWR1bGVkLCBkb24ndCBhdHRlbXB0IHRvIHJlc3RvcmUuXG4gICAgICAgIC8vIFRoaXMgaW5jbHVkZXMgaW50ZW50aW9uYWxseSBzY2hlZHVsZWQgdW5tb3VudHMuXG4gICAgICAgIGZhaWxlZFJvb3RzLmRlbGV0ZShyb290KTtcblxuICAgICAgICBpZiAocm9vdEVsZW1lbnRzICE9PSBudWxsKSB7XG4gICAgICAgICAgcm9vdEVsZW1lbnRzLnNldChyb290LCBjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9sZE9uU2NoZWR1bGVGaWJlclJvb3QuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuXG4gICAgaG9vay5vbkNvbW1pdEZpYmVyUm9vdCA9IGZ1bmN0aW9uIChpZCwgcm9vdCwgbWF5YmVQcmlvcml0eUxldmVsLCBkaWRFcnJvcikge1xuICAgICAgdmFyIGhlbHBlcnMgPSBoZWxwZXJzQnlSZW5kZXJlcklELmdldChpZCk7XG5cbiAgICAgIGlmIChoZWxwZXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaGVscGVyc0J5Um9vdC5zZXQocm9vdCwgaGVscGVycyk7XG4gICAgICAgIHZhciBjdXJyZW50ID0gcm9vdC5jdXJyZW50O1xuICAgICAgICB2YXIgYWx0ZXJuYXRlID0gY3VycmVudC5hbHRlcm5hdGU7IC8vIFdlIG5lZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhpcyByb290IGhhcyBqdXN0ICh1biltb3VudGVkLlxuICAgICAgICAvLyBUaGlzIGxvZ2ljIGlzIGNvcHktcGFzdGVkIGZyb20gc2ltaWxhciBsb2dpYyBpbiB0aGUgRGV2VG9vbHMgYmFja2VuZC5cbiAgICAgICAgLy8gSWYgdGhpcyBicmVha3Mgd2l0aCBzb21lIHJlZmFjdG9yaW5nLCB5b3UnbGwgd2FudCB0byB1cGRhdGUgRGV2VG9vbHMgdG9vLlxuXG4gICAgICAgIGlmIChhbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgd2FzTW91bnRlZCA9IGFsdGVybmF0ZS5tZW1vaXplZFN0YXRlICE9IG51bGwgJiYgYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuZWxlbWVudCAhPSBudWxsICYmIG1vdW50ZWRSb290cy5oYXMocm9vdCk7XG4gICAgICAgICAgdmFyIGlzTW91bnRlZCA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPSBudWxsICYmIGN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5lbGVtZW50ICE9IG51bGw7XG5cbiAgICAgICAgICBpZiAoIXdhc01vdW50ZWQgJiYgaXNNb3VudGVkKSB7XG4gICAgICAgICAgICAvLyBNb3VudCBhIG5ldyByb290LlxuICAgICAgICAgICAgbW91bnRlZFJvb3RzLmFkZChyb290KTtcbiAgICAgICAgICAgIGZhaWxlZFJvb3RzLmRlbGV0ZShyb290KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHdhc01vdW50ZWQgJiYgaXNNb3VudGVkKSA7IGVsc2UgaWYgKHdhc01vdW50ZWQgJiYgIWlzTW91bnRlZCkge1xuICAgICAgICAgICAgLy8gVW5tb3VudCBhbiBleGlzdGluZyByb290LlxuICAgICAgICAgICAgbW91bnRlZFJvb3RzLmRlbGV0ZShyb290KTtcblxuICAgICAgICAgICAgaWYgKGRpZEVycm9yKSB7XG4gICAgICAgICAgICAgIC8vIFdlJ2xsIHJlbW91bnQgaXQgb24gZnV0dXJlIGVkaXRzLlxuICAgICAgICAgICAgICBmYWlsZWRSb290cy5hZGQocm9vdCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBoZWxwZXJzQnlSb290LmRlbGV0ZShyb290KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKCF3YXNNb3VudGVkICYmICFpc01vdW50ZWQpIHtcbiAgICAgICAgICAgIGlmIChkaWRFcnJvcikge1xuICAgICAgICAgICAgICAvLyBXZSdsbCByZW1vdW50IGl0IG9uIGZ1dHVyZSBlZGl0cy5cbiAgICAgICAgICAgICAgZmFpbGVkUm9vdHMuYWRkKHJvb3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBNb3VudCBhIG5ldyByb290LlxuICAgICAgICAgIG1vdW50ZWRSb290cy5hZGQocm9vdCk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gQWx3YXlzIGNhbGwgdGhlIGRlY29yYXRlZCBEZXZUb29scyBob29rLlxuXG5cbiAgICAgIHJldHVybiBvbGRPbkNvbW1pdEZpYmVyUm9vdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGhhc1VucmVjb3ZlcmFibGVFcnJvcnMoKSB7XG4gIC8vIFRPRE86IGRlbGV0ZSB0aGlzIGFmdGVyIHJlbW92aW5nIGRlcGVuZGVuY3kgaW4gUk4uXG4gIHJldHVybiBmYWxzZTtcbn0gLy8gRXhwb3NlZCBmb3IgdGVzdGluZy5cblxuZnVuY3Rpb24gX2dldE1vdW50ZWRSb290Q291bnQoKSB7XG4gIHtcbiAgICByZXR1cm4gbW91bnRlZFJvb3RzLnNpemU7XG4gIH1cbn0gLy8gVGhpcyBpcyBhIHdyYXBwZXIgb3ZlciBtb3JlIHByaW1pdGl2ZSBmdW5jdGlvbnMgZm9yIHNldHRpbmcgc2lnbmF0dXJlLlxuLy8gU2lnbmF0dXJlcyBsZXQgdXMgZGVjaWRlIHdoZXRoZXIgdGhlIEhvb2sgb3JkZXIgaGFzIGNoYW5nZWQgb24gcmVmcmVzaC5cbi8vXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSB0cmFuc2Zvcm0gdGFyZ2V0LCBlLmcuOlxuLy8gdmFyIF9zID0gY3JlYXRlU2lnbmF0dXJlRnVuY3Rpb25Gb3JUcmFuc2Zvcm0oKVxuLy9cbi8vIGZ1bmN0aW9uIEhlbGxvKCkge1xuLy8gICBjb25zdCBbZm9vLCBzZXRGb29dID0gdXNlU3RhdGUoMCk7XG4vLyAgIGNvbnN0IHZhbHVlID0gdXNlQ3VzdG9tSG9vaygpO1xuLy8gICBfcygpOyAvKiBDYWxsIHdpdGhvdXQgYXJndW1lbnRzIHRyaWdnZXJzIGNvbGxlY3RpbmcgdGhlIGN1c3RvbSBIb29rIGxpc3QuXG4vLyAgICAgICAgICAqIFRoaXMgZG9lc24ndCBoYXBwZW4gZHVyaW5nIHRoZSBtb2R1bGUgZXZhbHVhdGlvbiBiZWNhdXNlIHdlXG4vLyAgICAgICAgICAqIGRvbid0IHdhbnQgdG8gY2hhbmdlIHRoZSBtb2R1bGUgb3JkZXIgd2l0aCBpbmxpbmUgcmVxdWlyZXMuXG4vLyAgICAgICAgICAqIE5leHQgY2FsbHMgYXJlIG5vb3BzLiAqL1xuLy8gICByZXR1cm4gPGgxPkhpPC9oMT47XG4vLyB9XG4vL1xuLy8gLyogQ2FsbCB3aXRoIGFyZ3VtZW50cyBhdHRhY2hlcyB0aGUgc2lnbmF0dXJlIHRvIHRoZSB0eXBlOiAqL1xuLy8gX3MoXG4vLyAgIEhlbGxvLFxuLy8gICAndXNlU3RhdGV7W2Zvbywgc2V0Rm9vXX0oMCknLFxuLy8gICAoKSA9PiBbdXNlQ3VzdG9tSG9va10sIC8qIExhenkgdG8gYXZvaWQgdHJpZ2dlcmluZyBpbmxpbmUgcmVxdWlyZXMgKi9cbi8vICk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVNpZ25hdHVyZUZ1bmN0aW9uRm9yVHJhbnNmb3JtKCkge1xuICB7XG4gICAgdmFyIHNhdmVkVHlwZTtcbiAgICB2YXIgaGFzQ3VzdG9tSG9va3M7XG4gICAgdmFyIGRpZENvbGxlY3RIb29rcyA9IGZhbHNlO1xuICAgIHJldHVybiBmdW5jdGlvbiAodHlwZSwga2V5LCBmb3JjZVJlc2V0LCBnZXRDdXN0b21Ib29rcykge1xuICAgICAgaWYgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIFdlJ3JlIGluIHRoZSBpbml0aWFsIHBoYXNlIHRoYXQgYXNzb2NpYXRlcyBzaWduYXR1cmVzXG4gICAgICAgIC8vIHdpdGggdGhlIGZ1bmN0aW9ucy4gTm90ZSB0aGlzIG1heSBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXNcbiAgICAgICAgLy8gaW4gSE9DIGNoYWlucyBsaWtlIF9zKGhvYzEoX3MoaG9jMihfcyhhY3R1YWxGdW5jdGlvbikpKSkpLlxuICAgICAgICBpZiAoIXNhdmVkVHlwZSkge1xuICAgICAgICAgIC8vIFdlJ3JlIGluIHRoZSBpbm5lcm1vc3QgY2FsbCwgc28gdGhpcyBpcyB0aGUgYWN0dWFsIHR5cGUuXG4gICAgICAgICAgc2F2ZWRUeXBlID0gdHlwZTtcbiAgICAgICAgICBoYXNDdXN0b21Ib29rcyA9IHR5cGVvZiBnZXRDdXN0b21Ib29rcyA9PT0gJ2Z1bmN0aW9uJztcbiAgICAgICAgfSAvLyBTZXQgdGhlIHNpZ25hdHVyZSBmb3IgYWxsIHR5cGVzIChldmVuIHdyYXBwZXJzISkgaW4gY2FzZVxuICAgICAgICAvLyB0aGV5IGhhdmUgbm8gc2lnbmF0dXJlcyBvZiB0aGVpciBvd24uIFRoaXMgaXMgdG8gcHJldmVudFxuICAgICAgICAvLyBwcm9ibGVtcyBsaWtlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjA0MTcuXG5cblxuICAgICAgICBpZiAodHlwZSAhPSBudWxsICYmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpKSB7XG4gICAgICAgICAgc2V0U2lnbmF0dXJlKHR5cGUsIGtleSwgZm9yY2VSZXNldCwgZ2V0Q3VzdG9tSG9va3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSdyZSBpbiB0aGUgX3MoKSBjYWxsIHdpdGhvdXQgYXJndW1lbnRzLCB3aGljaCBtZWFuc1xuICAgICAgICAvLyB0aGlzIGlzIHRoZSB0aW1lIHRvIGNvbGxlY3QgY3VzdG9tIEhvb2sgc2lnbmF0dXJlcy5cbiAgICAgICAgLy8gT25seSBkbyB0aGlzIG9uY2UuIFRoaXMgcGF0aCBpcyBob3QgYW5kIHJ1bnMgKmluc2lkZSogZXZlcnkgcmVuZGVyIVxuICAgICAgICBpZiAoIWRpZENvbGxlY3RIb29rcyAmJiBoYXNDdXN0b21Ib29rcykge1xuICAgICAgICAgIGRpZENvbGxlY3RIb29rcyA9IHRydWU7XG4gICAgICAgICAgY29sbGVjdEN1c3RvbUhvb2tzRm9yU2lnbmF0dXJlKHNhdmVkVHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG5mdW5jdGlvbiBpc0xpa2VseUNvbXBvbmVudFR5cGUodHlwZSkge1xuICB7XG4gICAgc3dpdGNoICh0eXBlb2YgdHlwZSkge1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gRmlyc3QsIGRlYWwgd2l0aCBjbGFzc2VzLlxuICAgICAgICAgIGlmICh0eXBlLnByb3RvdHlwZSAhPSBudWxsKSB7XG4gICAgICAgICAgICBpZiAodHlwZS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCkge1xuICAgICAgICAgICAgICAvLyBSZWFjdCBjbGFzcy5cbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBvd25OYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHR5cGUucHJvdG90eXBlKTtcblxuICAgICAgICAgICAgaWYgKG93bk5hbWVzLmxlbmd0aCA+IDEgfHwgb3duTmFtZXNbMF0gIT09ICdjb25zdHJ1Y3RvcicpIHtcbiAgICAgICAgICAgICAgLy8gVGhpcyBsb29rcyBsaWtlIGEgY2xhc3MuXG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvXG5cblxuICAgICAgICAgICAgaWYgKHR5cGUucHJvdG90eXBlLl9fcHJvdG9fXyAhPT0gT2JqZWN0LnByb3RvdHlwZSkge1xuICAgICAgICAgICAgICAvLyBJdCBoYXMgYSBzdXBlcmNsYXNzLlxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IC8vIFBhc3MgdGhyb3VnaC5cbiAgICAgICAgICAgIC8vIFRoaXMgbG9va3MgbGlrZSBhIHJlZ3VsYXIgZnVuY3Rpb24gd2l0aCBlbXB0eSBwcm90b3R5cGUuXG5cbiAgICAgICAgICB9IC8vIEZvciBwbGFpbiBmdW5jdGlvbnMgYW5kIGFycm93cywgdXNlIG5hbWUgYXMgYSBoZXVyaXN0aWMuXG5cblxuICAgICAgICAgIHZhciBuYW1lID0gdHlwZS5uYW1lIHx8IHR5cGUuZGlzcGxheU5hbWU7XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiBuYW1lID09PSAnc3RyaW5nJyAmJiAvXltBLVpdLy50ZXN0KG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZSAhPSBudWxsKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGdldFByb3BlcnR5KHR5cGUsICckJHR5cGVvZicpKSB7XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgICAgLy8gRGVmaW5pdGVseSBSZWFjdCBjb21wb25lbnRzLlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydHMuX2dldE1vdW50ZWRSb290Q291bnQgPSBfZ2V0TW91bnRlZFJvb3RDb3VudDtcbmV4cG9ydHMuY29sbGVjdEN1c3RvbUhvb2tzRm9yU2lnbmF0dXJlID0gY29sbGVjdEN1c3RvbUhvb2tzRm9yU2lnbmF0dXJlO1xuZXhwb3J0cy5jcmVhdGVTaWduYXR1cmVGdW5jdGlvbkZvclRyYW5zZm9ybSA9IGNyZWF0ZVNpZ25hdHVyZUZ1bmN0aW9uRm9yVHJhbnNmb3JtO1xuZXhwb3J0cy5maW5kQWZmZWN0ZWRIb3N0SW5zdGFuY2VzID0gZmluZEFmZmVjdGVkSG9zdEluc3RhbmNlcztcbmV4cG9ydHMuZ2V0RmFtaWx5QnlJRCA9IGdldEZhbWlseUJ5SUQ7XG5leHBvcnRzLmdldEZhbWlseUJ5VHlwZSA9IGdldEZhbWlseUJ5VHlwZTtcbmV4cG9ydHMuaGFzVW5yZWNvdmVyYWJsZUVycm9ycyA9IGhhc1VucmVjb3ZlcmFibGVFcnJvcnM7XG5leHBvcnRzLmluamVjdEludG9HbG9iYWxIb29rID0gaW5qZWN0SW50b0dsb2JhbEhvb2s7XG5leHBvcnRzLmlzTGlrZWx5Q29tcG9uZW50VHlwZSA9IGlzTGlrZWx5Q29tcG9uZW50VHlwZTtcbmV4cG9ydHMucGVyZm9ybVJlYWN0UmVmcmVzaCA9IHBlcmZvcm1SZWFjdFJlZnJlc2g7XG5leHBvcnRzLnJlZ2lzdGVyID0gcmVnaXN0ZXI7XG5leHBvcnRzLnNldFNpZ25hdHVyZSA9IHNldFNpZ25hdHVyZTtcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react-refresh/runtime.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-refresh/runtime.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-refresh-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtcmVmcmVzaC9ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxzTUFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1yZWZyZXNoL3J1bnRpbWUuanM/MGJkNSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtcmVmcmVzaC1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LXJlZnJlc2gtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react-refresh/runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/scheduler/cjs/scheduler.development.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/scheduler/cjs/scheduler.development.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\nvar userBlockingPriorityTimeout = 250;\nvar normalPriorityTimeout = 5000;\nvar lowPriorityTimeout = 10000;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\nexports.unstable_now = void 0;\nvar hasPerformanceNow = // $FlowFixMe[method-unbinding]\ntypeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\ntypeof navigator !== 'undefined' && // $FlowFixMe[prop-missing]\nnavigator.scheduling !== undefined && // $FlowFixMe[incompatible-type]\nnavigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback();\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n var currentTime; if (enableProfiling) ; else {\n // No catch in prod code path.\n return workLoop(initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && shouldYieldToHost()) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n } // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n currentTask.callback = null; // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n currentPriorityLevel = currentTask.priorityLevel; // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n // If a continuation is returned, immediately yield to the main thread\n // regardless of how much time is left in the current time slice.\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n currentTask.callback = continuationCallback;\n\n advanceTimers(currentTime);\n return true;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n\n advanceTimers(currentTime);\n }\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel; // $FlowFixMe[incompatible-return]\n // $FlowFixMe[missing-this-annot]\n\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n // Times out immediately\n timeout = -1;\n break;\n\n case UserBlockingPriority:\n // Eventually times out\n timeout = userBlockingPriorityTimeout;\n break;\n\n case IdlePriority:\n // Never times out\n timeout = maxSigned31BitInt;\n break;\n\n case LowPriority:\n // Eventually times out\n timeout = lowPriorityTimeout;\n break;\n\n case NormalPriority:\n default:\n // Eventually times out\n timeout = normalPriorityTimeout;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback();\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback();\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `flushWork` errors, then `hasMoreWork` will\n // remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = flushWork(currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n }\n }\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n // $FlowFixMe[not-a-function] nullable value\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback() {\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n // $FlowFixMe[not-a-function] nullable value\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n // $FlowFixMe[not-a-function] nullable value\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxFQUFFLG9CQUFvQjtBQUN0QjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUEsRUFBRSxvQkFBb0I7QUFDdEI7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOzs7QUFHQSxvQ0FBb0M7O0FBRXBDO0FBQ0EscUJBQXFCOztBQUVyQix1QkFBdUI7QUFDdkI7QUFDQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQSxvQ0FBb0M7O0FBRXBDO0FBQ0E7QUFDQSxtRkFBbUY7O0FBRW5GO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047O0FBRUE7QUFDQTtBQUNBLG1DQUFtQzs7QUFFbkMsd0RBQXdEOztBQUV4RDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0RBQWtEO0FBQ2xEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsNkJBQTZCOztBQUU3QjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7O0FBRUEsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFDbEMsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiwwQkFBMEI7QUFDMUIscUNBQXFDO0FBQ3JDLCtCQUErQjtBQUMvQixrQ0FBa0M7QUFDbEMsK0JBQStCO0FBQy9CLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMscUJBQXFCO0FBQ3JCLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQyw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3NjaGVkdWxlci9janMvc2NoZWR1bGVyLmRldmVsb3BtZW50LmpzP2JlM2IiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogc2NoZWR1bGVyLmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBNZXRhIFBsYXRmb3JtcywgSW5jLiBhbmQgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgZW5hYmxlU2NoZWR1bGVyRGVidWdnaW5nID0gZmFsc2U7XG52YXIgZW5hYmxlUHJvZmlsaW5nID0gZmFsc2U7XG52YXIgZnJhbWVZaWVsZE1zID0gNTtcbnZhciB1c2VyQmxvY2tpbmdQcmlvcml0eVRpbWVvdXQgPSAyNTA7XG52YXIgbm9ybWFsUHJpb3JpdHlUaW1lb3V0ID0gNTAwMDtcbnZhciBsb3dQcmlvcml0eVRpbWVvdXQgPSAxMDAwMDtcblxuZnVuY3Rpb24gcHVzaChoZWFwLCBub2RlKSB7XG4gIHZhciBpbmRleCA9IGhlYXAubGVuZ3RoO1xuICBoZWFwLnB1c2gobm9kZSk7XG4gIHNpZnRVcChoZWFwLCBub2RlLCBpbmRleCk7XG59XG5mdW5jdGlvbiBwZWVrKGhlYXApIHtcbiAgcmV0dXJuIGhlYXAubGVuZ3RoID09PSAwID8gbnVsbCA6IGhlYXBbMF07XG59XG5mdW5jdGlvbiBwb3AoaGVhcCkge1xuICBpZiAoaGVhcC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XG4gIHZhciBsYXN0ID0gaGVhcC5wb3AoKTtcblxuICBpZiAobGFzdCAhPT0gZmlyc3QpIHtcbiAgICBoZWFwWzBdID0gbGFzdDtcbiAgICBzaWZ0RG93bihoZWFwLCBsYXN0LCAwKTtcbiAgfVxuXG4gIHJldHVybiBmaXJzdDtcbn1cblxuZnVuY3Rpb24gc2lmdFVwKGhlYXAsIG5vZGUsIGkpIHtcbiAgdmFyIGluZGV4ID0gaTtcblxuICB3aGlsZSAoaW5kZXggPiAwKSB7XG4gICAgdmFyIHBhcmVudEluZGV4ID0gaW5kZXggLSAxID4+PiAxO1xuICAgIHZhciBwYXJlbnQgPSBoZWFwW3BhcmVudEluZGV4XTtcblxuICAgIGlmIChjb21wYXJlKHBhcmVudCwgbm9kZSkgPiAwKSB7XG4gICAgICAvLyBUaGUgcGFyZW50IGlzIGxhcmdlci4gU3dhcCBwb3NpdGlvbnMuXG4gICAgICBoZWFwW3BhcmVudEluZGV4XSA9IG5vZGU7XG4gICAgICBoZWFwW2luZGV4XSA9IHBhcmVudDtcbiAgICAgIGluZGV4ID0gcGFyZW50SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBwYXJlbnQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2lmdERvd24oaGVhcCwgbm9kZSwgaSkge1xuICB2YXIgaW5kZXggPSBpO1xuICB2YXIgbGVuZ3RoID0gaGVhcC5sZW5ndGg7XG4gIHZhciBoYWxmTGVuZ3RoID0gbGVuZ3RoID4+PiAxO1xuXG4gIHdoaWxlIChpbmRleCA8IGhhbGZMZW5ndGgpIHtcbiAgICB2YXIgbGVmdEluZGV4ID0gKGluZGV4ICsgMSkgKiAyIC0gMTtcbiAgICB2YXIgbGVmdCA9IGhlYXBbbGVmdEluZGV4XTtcbiAgICB2YXIgcmlnaHRJbmRleCA9IGxlZnRJbmRleCArIDE7XG4gICAgdmFyIHJpZ2h0ID0gaGVhcFtyaWdodEluZGV4XTsgLy8gSWYgdGhlIGxlZnQgb3IgcmlnaHQgbm9kZSBpcyBzbWFsbGVyLCBzd2FwIHdpdGggdGhlIHNtYWxsZXIgb2YgdGhvc2UuXG5cbiAgICBpZiAoY29tcGFyZShsZWZ0LCBub2RlKSA8IDApIHtcbiAgICAgIGlmIChyaWdodEluZGV4IDwgbGVuZ3RoICYmIGNvbXBhcmUocmlnaHQsIGxlZnQpIDwgMCkge1xuICAgICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgICBoZWFwW3JpZ2h0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgaW5kZXggPSByaWdodEluZGV4O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGVhcFtpbmRleF0gPSBsZWZ0O1xuICAgICAgICBoZWFwW2xlZnRJbmRleF0gPSBub2RlO1xuICAgICAgICBpbmRleCA9IGxlZnRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJpZ2h0SW5kZXggPCBsZW5ndGggJiYgY29tcGFyZShyaWdodCwgbm9kZSkgPCAwKSB7XG4gICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgaGVhcFtyaWdodEluZGV4XSA9IG5vZGU7XG4gICAgICBpbmRleCA9IHJpZ2h0SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5laXRoZXIgY2hpbGQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7XG4gIC8vIENvbXBhcmUgc29ydCBpbmRleCBmaXJzdCwgdGhlbiB0YXNrIGlkLlxuICB2YXIgZGlmZiA9IGEuc29ydEluZGV4IC0gYi5zb3J0SW5kZXg7XG4gIHJldHVybiBkaWZmICE9PSAwID8gZGlmZiA6IGEuaWQgLSBiLmlkO1xufVxuXG4vLyBUT0RPOiBVc2Ugc3ltYm9scz9cbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDE7XG52YXIgVXNlckJsb2NraW5nUHJpb3JpdHkgPSAyO1xudmFyIE5vcm1hbFByaW9yaXR5ID0gMztcbnZhciBMb3dQcmlvcml0eSA9IDQ7XG52YXIgSWRsZVByaW9yaXR5ID0gNTtcblxuZnVuY3Rpb24gbWFya1Rhc2tFcnJvcmVkKHRhc2ssIG1zKSB7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZhciAqL1xuZXhwb3J0cy51bnN0YWJsZV9ub3cgPSB2b2lkIDA7XG52YXIgaGFzUGVyZm9ybWFuY2VOb3cgPSAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG50eXBlb2YgcGVyZm9ybWFuY2UgPT09ICdvYmplY3QnICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5ub3cgPT09ICdmdW5jdGlvbic7XG5cbmlmIChoYXNQZXJmb3JtYW5jZU5vdykge1xuICB2YXIgbG9jYWxQZXJmb3JtYW5jZSA9IHBlcmZvcm1hbmNlO1xuXG4gIGV4cG9ydHMudW5zdGFibGVfbm93ID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBsb2NhbFBlcmZvcm1hbmNlLm5vdygpO1xuICB9O1xufSBlbHNlIHtcbiAgdmFyIGxvY2FsRGF0ZSA9IERhdGU7XG4gIHZhciBpbml0aWFsVGltZSA9IGxvY2FsRGF0ZS5ub3coKTtcblxuICBleHBvcnRzLnVuc3RhYmxlX25vdyA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbG9jYWxEYXRlLm5vdygpIC0gaW5pdGlhbFRpbWU7XG4gIH07XG59IC8vIE1heCAzMSBiaXQgaW50ZWdlci4gVGhlIG1heCBpbnRlZ2VyIHNpemUgaW4gVjggZm9yIDMyLWJpdCBzeXN0ZW1zLlxuLy8gTWF0aC5wb3coMiwgMzApIC0gMVxuLy8gMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcblxuXG52YXIgbWF4U2lnbmVkMzFCaXRJbnQgPSAxMDczNzQxODIzOyAvLyBUYXNrcyBhcmUgc3RvcmVkIG9uIGEgbWluIGhlYXBcblxudmFyIHRhc2tRdWV1ZSA9IFtdO1xudmFyIHRpbWVyUXVldWUgPSBbXTsgLy8gSW5jcmVtZW50aW5nIGlkIGNvdW50ZXIuIFVzZWQgdG8gbWFpbnRhaW4gaW5zZXJ0aW9uIG9yZGVyLlxuXG52YXIgdGFza0lkQ291bnRlciA9IDE7IC8vIFBhdXNpbmcgdGhlIHNjaGVkdWxlciBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZy5cbnZhciBjdXJyZW50VGFzayA9IG51bGw7XG52YXIgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBOb3JtYWxQcmlvcml0eTsgLy8gVGhpcyBpcyBzZXQgd2hpbGUgcGVyZm9ybWluZyB3b3JrLCB0byBwcmV2ZW50IHJlLWVudHJhbmNlLlxuXG52YXIgaXNQZXJmb3JtaW5nV29yayA9IGZhbHNlO1xudmFyIGlzSG9zdENhbGxiYWNrU2NoZWR1bGVkID0gZmFsc2U7XG52YXIgaXNIb3N0VGltZW91dFNjaGVkdWxlZCA9IGZhbHNlOyAvLyBDYXB0dXJlIGxvY2FsIHJlZmVyZW5jZXMgdG8gbmF0aXZlIEFQSXMsIGluIGNhc2UgYSBwb2x5ZmlsbCBvdmVycmlkZXMgdGhlbS5cblxudmFyIGxvY2FsU2V0VGltZW91dCA9IHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nID8gc2V0VGltZW91dCA6IG51bGw7XG52YXIgbG9jYWxDbGVhclRpbWVvdXQgPSB0eXBlb2YgY2xlYXJUaW1lb3V0ID09PSAnZnVuY3Rpb24nID8gY2xlYXJUaW1lb3V0IDogbnVsbDtcbnZhciBsb2NhbFNldEltbWVkaWF0ZSA9IHR5cGVvZiBzZXRJbW1lZGlhdGUgIT09ICd1bmRlZmluZWQnID8gc2V0SW1tZWRpYXRlIDogbnVsbDsgLy8gSUUgYW5kIE5vZGUuanMgKyBqc2RvbVxuXG50eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbm5hdmlnYXRvci5zY2hlZHVsaW5nICE9PSB1bmRlZmluZWQgJiYgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV1cbm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nICE9PSB1bmRlZmluZWQgPyBuYXZpZ2F0b3Iuc2NoZWR1bGluZy5pc0lucHV0UGVuZGluZy5iaW5kKG5hdmlnYXRvci5zY2hlZHVsaW5nKSA6IG51bGw7XG5cbmZ1bmN0aW9uIGFkdmFuY2VUaW1lcnMoY3VycmVudFRpbWUpIHtcbiAgLy8gQ2hlY2sgZm9yIHRhc2tzIHRoYXQgYXJlIG5vIGxvbmdlciBkZWxheWVkIGFuZCBhZGQgdGhlbSB0byB0aGUgcXVldWUuXG4gIHZhciB0aW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG5cbiAgd2hpbGUgKHRpbWVyICE9PSBudWxsKSB7XG4gICAgaWYgKHRpbWVyLmNhbGxiYWNrID09PSBudWxsKSB7XG4gICAgICAvLyBUaW1lciB3YXMgY2FuY2VsbGVkLlxuICAgICAgcG9wKHRpbWVyUXVldWUpO1xuICAgIH0gZWxzZSBpZiAodGltZXIuc3RhcnRUaW1lIDw9IGN1cnJlbnRUaW1lKSB7XG4gICAgICAvLyBUaW1lciBmaXJlZC4gVHJhbnNmZXIgdG8gdGhlIHRhc2sgcXVldWUuXG4gICAgICBwb3AodGltZXJRdWV1ZSk7XG4gICAgICB0aW1lci5zb3J0SW5kZXggPSB0aW1lci5leHBpcmF0aW9uVGltZTtcbiAgICAgIHB1c2godGFza1F1ZXVlLCB0aW1lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJlbWFpbmluZyB0aW1lcnMgYXJlIHBlbmRpbmcuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGltZXIgPSBwZWVrKHRpbWVyUXVldWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZVRpbWVvdXQoY3VycmVudFRpbWUpIHtcbiAgaXNIb3N0VGltZW91dFNjaGVkdWxlZCA9IGZhbHNlO1xuICBhZHZhbmNlVGltZXJzKGN1cnJlbnRUaW1lKTtcblxuICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkKSB7XG4gICAgaWYgKHBlZWsodGFza1F1ZXVlKSAhPT0gbnVsbCkge1xuICAgICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xuICAgICAgcmVxdWVzdEhvc3RDYWxsYmFjaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgZmlyc3RUaW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG5cbiAgICAgIGlmIChmaXJzdFRpbWVyICE9PSBudWxsKSB7XG4gICAgICAgIHJlcXVlc3RIb3N0VGltZW91dChoYW5kbGVUaW1lb3V0LCBmaXJzdFRpbWVyLnN0YXJ0VGltZSAtIGN1cnJlbnRUaW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hXb3JrKGluaXRpYWxUaW1lKSB7XG5cblxuICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IGZhbHNlO1xuXG4gIGlmIChpc0hvc3RUaW1lb3V0U2NoZWR1bGVkKSB7XG4gICAgLy8gV2Ugc2NoZWR1bGVkIGEgdGltZW91dCBidXQgaXQncyBubyBsb25nZXIgbmVlZGVkLiBDYW5jZWwgaXQuXG4gICAgaXNIb3N0VGltZW91dFNjaGVkdWxlZCA9IGZhbHNlO1xuICAgIGNhbmNlbEhvc3RUaW1lb3V0KCk7XG4gIH1cblxuICBpc1BlcmZvcm1pbmdXb3JrID0gdHJ1ZTtcbiAgdmFyIHByZXZpb3VzUHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xuXG4gIHRyeSB7XG4gICAgdmFyIGN1cnJlbnRUaW1lOyBpZiAoZW5hYmxlUHJvZmlsaW5nKSA7IGVsc2Uge1xuICAgICAgLy8gTm8gY2F0Y2ggaW4gcHJvZCBjb2RlIHBhdGguXG4gICAgICByZXR1cm4gd29ya0xvb3AoaW5pdGlhbFRpbWUpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBjdXJyZW50VGFzayA9IG51bGw7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XG4gICAgaXNQZXJmb3JtaW5nV29yayA9IGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHdvcmtMb29wKGluaXRpYWxUaW1lKSB7XG4gIHZhciBjdXJyZW50VGltZSA9IGluaXRpYWxUaW1lO1xuICBhZHZhbmNlVGltZXJzKGN1cnJlbnRUaW1lKTtcbiAgY3VycmVudFRhc2sgPSBwZWVrKHRhc2tRdWV1ZSk7XG5cbiAgd2hpbGUgKGN1cnJlbnRUYXNrICE9PSBudWxsICYmICEoZW5hYmxlU2NoZWR1bGVyRGVidWdnaW5nICkpIHtcbiAgICBpZiAoY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgPiBjdXJyZW50VGltZSAmJiBzaG91bGRZaWVsZFRvSG9zdCgpKSB7XG4gICAgICAvLyBUaGlzIGN1cnJlbnRUYXNrIGhhc24ndCBleHBpcmVkLCBhbmQgd2UndmUgcmVhY2hlZCB0aGUgZGVhZGxpbmUuXG4gICAgICBicmVhaztcbiAgICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuXG5cbiAgICB2YXIgY2FsbGJhY2sgPSBjdXJyZW50VGFzay5jYWxsYmFjaztcblxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuICAgICAgY3VycmVudFRhc2suY2FsbGJhY2sgPSBudWxsOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuICAgICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBjdXJyZW50VGFzay5wcmlvcml0eUxldmVsOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuICAgICAgdmFyIGRpZFVzZXJDYWxsYmFja1RpbWVvdXQgPSBjdXJyZW50VGFzay5leHBpcmF0aW9uVGltZSA8PSBjdXJyZW50VGltZTtcblxuICAgICAgdmFyIGNvbnRpbnVhdGlvbkNhbGxiYWNrID0gY2FsbGJhY2soZGlkVXNlckNhbGxiYWNrVGltZW91dCk7XG4gICAgICBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XG5cbiAgICAgIGlmICh0eXBlb2YgY29udGludWF0aW9uQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gSWYgYSBjb250aW51YXRpb24gaXMgcmV0dXJuZWQsIGltbWVkaWF0ZWx5IHlpZWxkIHRvIHRoZSBtYWluIHRocmVhZFxuICAgICAgICAvLyByZWdhcmRsZXNzIG9mIGhvdyBtdWNoIHRpbWUgaXMgbGVmdCBpbiB0aGUgY3VycmVudCB0aW1lIHNsaWNlLlxuICAgICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcbiAgICAgICAgY3VycmVudFRhc2suY2FsbGJhY2sgPSBjb250aW51YXRpb25DYWxsYmFjaztcblxuICAgICAgICBhZHZhbmNlVGltZXJzKGN1cnJlbnRUaW1lKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuXG4gICAgICAgIGlmIChjdXJyZW50VGFzayA9PT0gcGVlayh0YXNrUXVldWUpKSB7XG4gICAgICAgICAgcG9wKHRhc2tRdWV1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBhZHZhbmNlVGltZXJzKGN1cnJlbnRUaW1lKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcG9wKHRhc2tRdWV1ZSk7XG4gICAgfVxuXG4gICAgY3VycmVudFRhc2sgPSBwZWVrKHRhc2tRdWV1ZSk7XG4gIH0gLy8gUmV0dXJuIHdoZXRoZXIgdGhlcmUncyBhZGRpdGlvbmFsIHdvcmtcblxuXG4gIGlmIChjdXJyZW50VGFzayAhPT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHZhciBmaXJzdFRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICAgIGlmIChmaXJzdFRpbWVyICE9PSBudWxsKSB7XG4gICAgICByZXF1ZXN0SG9zdFRpbWVvdXQoaGFuZGxlVGltZW91dCwgZmlyc3RUaW1lci5zdGFydFRpbWUgLSBjdXJyZW50VGltZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3J1bldpdGhQcmlvcml0eShwcmlvcml0eUxldmVsLCBldmVudEhhbmRsZXIpIHtcbiAgc3dpdGNoIChwcmlvcml0eUxldmVsKSB7XG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgY2FzZSBMb3dQcmlvcml0eTpcbiAgICBjYXNlIElkbGVQcmlvcml0eTpcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHByaW9yaXR5TGV2ZWwgPSBOb3JtYWxQcmlvcml0eTtcbiAgfVxuXG4gIHZhciBwcmV2aW91c1ByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbiAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmlvcml0eUxldmVsO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGV2ZW50SGFuZGxlcigpO1xuICB9IGZpbmFsbHkge1xuICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJldmlvdXNQcmlvcml0eUxldmVsO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX25leHQoZXZlbnRIYW5kbGVyKSB7XG4gIHZhciBwcmlvcml0eUxldmVsO1xuXG4gIHN3aXRjaCAoY3VycmVudFByaW9yaXR5TGV2ZWwpIHtcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxuICAgIGNhc2UgVXNlckJsb2NraW5nUHJpb3JpdHk6XG4gICAgY2FzZSBOb3JtYWxQcmlvcml0eTpcbiAgICAgIC8vIFNoaWZ0IGRvd24gdG8gbm9ybWFsIHByaW9yaXR5XG4gICAgICBwcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBBbnl0aGluZyBsb3dlciB0aGFuIG5vcm1hbCBwcmlvcml0eSBzaG91bGQgcmVtYWluIGF0IHRoZSBjdXJyZW50IGxldmVsLlxuICAgICAgcHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJpb3JpdHlMZXZlbDtcblxuICB0cnkge1xuICAgIHJldHVybiBldmVudEhhbmRsZXIoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV93cmFwQ2FsbGJhY2soY2FsbGJhY2spIHtcbiAgdmFyIHBhcmVudFByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXVxuICAvLyAkRmxvd0ZpeE1lW21pc3NpbmctdGhpcy1hbm5vdF1cblxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIC8vIFRoaXMgaXMgYSBmb3JrIG9mIHJ1bldpdGhQcmlvcml0eSwgaW5saW5lZCBmb3IgcGVyZm9ybWFuY2UuXG4gICAgdmFyIHByZXZpb3VzUHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xuICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcGFyZW50UHJpb3JpdHlMZXZlbDtcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2suYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKHByaW9yaXR5TGV2ZWwsIGNhbGxiYWNrLCBvcHRpb25zKSB7XG4gIHZhciBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XG4gIHZhciBzdGFydFRpbWU7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnb2JqZWN0JyAmJiBvcHRpb25zICE9PSBudWxsKSB7XG4gICAgdmFyIGRlbGF5ID0gb3B0aW9ucy5kZWxheTtcblxuICAgIGlmICh0eXBlb2YgZGVsYXkgPT09ICdudW1iZXInICYmIGRlbGF5ID4gMCkge1xuICAgICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWUgKyBkZWxheTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWU7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lO1xuICB9XG5cbiAgdmFyIHRpbWVvdXQ7XG5cbiAgc3dpdGNoIChwcmlvcml0eUxldmVsKSB7XG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcbiAgICAgIC8vIFRpbWVzIG91dCBpbW1lZGlhdGVseVxuICAgICAgdGltZW91dCA9IC0xO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgICAgLy8gRXZlbnR1YWxseSB0aW1lcyBvdXRcbiAgICAgIHRpbWVvdXQgPSB1c2VyQmxvY2tpbmdQcmlvcml0eVRpbWVvdXQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSWRsZVByaW9yaXR5OlxuICAgICAgLy8gTmV2ZXIgdGltZXMgb3V0XG4gICAgICB0aW1lb3V0ID0gbWF4U2lnbmVkMzFCaXRJbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgTG93UHJpb3JpdHk6XG4gICAgICAvLyBFdmVudHVhbGx5IHRpbWVzIG91dFxuICAgICAgdGltZW91dCA9IGxvd1ByaW9yaXR5VGltZW91dDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBOb3JtYWxQcmlvcml0eTpcbiAgICBkZWZhdWx0OlxuICAgICAgLy8gRXZlbnR1YWxseSB0aW1lcyBvdXRcbiAgICAgIHRpbWVvdXQgPSBub3JtYWxQcmlvcml0eVRpbWVvdXQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBleHBpcmF0aW9uVGltZSA9IHN0YXJ0VGltZSArIHRpbWVvdXQ7XG4gIHZhciBuZXdUYXNrID0ge1xuICAgIGlkOiB0YXNrSWRDb3VudGVyKyssXG4gICAgY2FsbGJhY2s6IGNhbGxiYWNrLFxuICAgIHByaW9yaXR5TGV2ZWw6IHByaW9yaXR5TGV2ZWwsXG4gICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsXG4gICAgZXhwaXJhdGlvblRpbWU6IGV4cGlyYXRpb25UaW1lLFxuICAgIHNvcnRJbmRleDogLTFcbiAgfTtcblxuICBpZiAoc3RhcnRUaW1lID4gY3VycmVudFRpbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZGVsYXllZCB0YXNrLlxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gc3RhcnRUaW1lO1xuICAgIHB1c2godGltZXJRdWV1ZSwgbmV3VGFzayk7XG5cbiAgICBpZiAocGVlayh0YXNrUXVldWUpID09PSBudWxsICYmIG5ld1Rhc2sgPT09IHBlZWsodGltZXJRdWV1ZSkpIHtcbiAgICAgIC8vIEFsbCB0YXNrcyBhcmUgZGVsYXllZCwgYW5kIHRoaXMgaXMgdGhlIHRhc2sgd2l0aCB0aGUgZWFybGllc3QgZGVsYXkuXG4gICAgICBpZiAoaXNIb3N0VGltZW91dFNjaGVkdWxlZCkge1xuICAgICAgICAvLyBDYW5jZWwgYW4gZXhpc3RpbmcgdGltZW91dC5cbiAgICAgICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQgPSB0cnVlO1xuICAgICAgfSAvLyBTY2hlZHVsZSBhIHRpbWVvdXQuXG5cblxuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIHN0YXJ0VGltZSAtIGN1cnJlbnRUaW1lKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV3VGFzay5zb3J0SW5kZXggPSBleHBpcmF0aW9uVGltZTtcbiAgICBwdXNoKHRhc2tRdWV1ZSwgbmV3VGFzayk7XG4gICAgLy8gd2FpdCB1bnRpbCB0aGUgbmV4dCB0aW1lIHdlIHlpZWxkLlxuXG5cbiAgICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ld1Rhc2s7XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uKCkge1xufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbigpIHtcblxuICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xuICAgIHJlcXVlc3RIb3N0Q2FsbGJhY2soKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZSgpIHtcbiAgcmV0dXJuIHBlZWsodGFza1F1ZXVlKTtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sodGFzaykge1xuICAvLyByZW1vdmUgZnJvbSB0aGUgcXVldWUgYmVjYXVzZSB5b3UgY2FuJ3QgcmVtb3ZlIGFyYml0cmFyeSBub2RlcyBmcm9tIGFuXG4gIC8vIGFycmF5IGJhc2VkIGhlYXAsIG9ubHkgdGhlIGZpcnN0IG9uZS4pXG5cblxuICB0YXNrLmNhbGxiYWNrID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKSB7XG4gIHJldHVybiBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbn1cblxudmFyIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gZmFsc2U7XG52YXIgdGFza1RpbWVvdXRJRCA9IC0xOyAvLyBTY2hlZHVsZXIgcGVyaW9kaWNhbGx5IHlpZWxkcyBpbiBjYXNlIHRoZXJlIGlzIG90aGVyIHdvcmsgb24gdGhlIG1haW5cbi8vIHRocmVhZCwgbGlrZSB1c2VyIGV2ZW50cy4gQnkgZGVmYXVsdCwgaXQgeWllbGRzIG11bHRpcGxlIHRpbWVzIHBlciBmcmFtZS5cbi8vIEl0IGRvZXMgbm90IGF0dGVtcHQgdG8gYWxpZ24gd2l0aCBmcmFtZSBib3VuZGFyaWVzLCBzaW5jZSBtb3N0IHRhc2tzIGRvbid0XG4vLyBuZWVkIHRvIGJlIGZyYW1lIGFsaWduZWQ7IGZvciB0aG9zZSB0aGF0IGRvLCB1c2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lLlxuXG52YXIgZnJhbWVJbnRlcnZhbCA9IGZyYW1lWWllbGRNcztcbnZhciBzdGFydFRpbWUgPSAtMTtcblxuZnVuY3Rpb24gc2hvdWxkWWllbGRUb0hvc3QoKSB7XG4gIHZhciB0aW1lRWxhcHNlZCA9IGV4cG9ydHMudW5zdGFibGVfbm93KCkgLSBzdGFydFRpbWU7XG5cbiAgaWYgKHRpbWVFbGFwc2VkIDwgZnJhbWVJbnRlcnZhbCkge1xuICAgIC8vIFRoZSBtYWluIHRocmVhZCBoYXMgb25seSBiZWVuIGJsb2NrZWQgZm9yIGEgcmVhbGx5IHNob3J0IGFtb3VudCBvZiB0aW1lO1xuICAgIC8vIHNtYWxsZXIgdGhhbiBhIHNpbmdsZSBmcmFtZS4gRG9uJ3QgeWllbGQgeWV0LlxuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBUaGUgbWFpbiB0aHJlYWQgaGFzIGJlZW4gYmxvY2tlZCBmb3IgYSBub24tbmVnbGlnaWJsZSBhbW91bnQgb2YgdGltZS4gV2VcblxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiByZXF1ZXN0UGFpbnQoKSB7XG5cbn1cblxuZnVuY3Rpb24gZm9yY2VGcmFtZVJhdGUoZnBzKSB7XG4gIGlmIChmcHMgPCAwIHx8IGZwcyA+IDEyNSkge1xuICAgIC8vIFVzaW5nIGNvbnNvbGVbJ2Vycm9yJ10gdG8gZXZhZGUgQmFiZWwgYW5kIEVTTGludFxuICAgIGNvbnNvbGVbJ2Vycm9yJ10oJ2ZvcmNlRnJhbWVSYXRlIHRha2VzIGEgcG9zaXRpdmUgaW50IGJldHdlZW4gMCBhbmQgMTI1LCAnICsgJ2ZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGZwcyA+IDApIHtcbiAgICBmcmFtZUludGVydmFsID0gTWF0aC5mbG9vcigxMDAwIC8gZnBzKTtcbiAgfSBlbHNlIHtcbiAgICAvLyByZXNldCB0aGUgZnJhbWVyYXRlXG4gICAgZnJhbWVJbnRlcnZhbCA9IGZyYW1lWWllbGRNcztcbiAgfVxufVxuXG52YXIgcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lID0gZnVuY3Rpb24gKCkge1xuICBpZiAoaXNNZXNzYWdlTG9vcFJ1bm5pbmcpIHtcbiAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpOyAvLyBLZWVwIHRyYWNrIG9mIHRoZSBzdGFydCB0aW1lIHNvIHdlIGNhbiBtZWFzdXJlIGhvdyBsb25nIHRoZSBtYWluIHRocmVhZFxuICAgIC8vIGhhcyBiZWVuIGJsb2NrZWQuXG5cbiAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTsgLy8gSWYgYSBzY2hlZHVsZXIgdGFzayB0aHJvd3MsIGV4aXQgdGhlIGN1cnJlbnQgYnJvd3NlciB0YXNrIHNvIHRoZVxuICAgIC8vIGVycm9yIGNhbiBiZSBvYnNlcnZlZC5cbiAgICAvL1xuICAgIC8vIEludGVudGlvbmFsbHkgbm90IHVzaW5nIGEgdHJ5LWNhdGNoLCBzaW5jZSB0aGF0IG1ha2VzIHNvbWUgZGVidWdnaW5nXG4gICAgLy8gdGVjaG5pcXVlcyBoYXJkZXIuIEluc3RlYWQsIGlmIGBmbHVzaFdvcmtgIGVycm9ycywgdGhlbiBgaGFzTW9yZVdvcmtgIHdpbGxcbiAgICAvLyByZW1haW4gdHJ1ZSwgYW5kIHdlJ2xsIGNvbnRpbnVlIHRoZSB3b3JrIGxvb3AuXG5cbiAgICB2YXIgaGFzTW9yZVdvcmsgPSB0cnVlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGhhc01vcmVXb3JrID0gZmx1c2hXb3JrKGN1cnJlbnRUaW1lKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKGhhc01vcmVXb3JrKSB7XG4gICAgICAgIC8vIElmIHRoZXJlJ3MgbW9yZSB3b3JrLCBzY2hlZHVsZSB0aGUgbmV4dCBtZXNzYWdlIGV2ZW50IGF0IHRoZSBlbmRcbiAgICAgICAgLy8gb2YgdGhlIHByZWNlZGluZyBvbmUuXG4gICAgICAgIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpc01lc3NhZ2VMb29wUnVubmluZyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfSAvLyBZaWVsZGluZyB0byB0aGUgYnJvd3NlciB3aWxsIGdpdmUgaXQgYSBjaGFuY2UgdG8gcGFpbnQsIHNvIHdlIGNhblxufTtcblxudmFyIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG5pZiAodHlwZW9mIGxvY2FsU2V0SW1tZWRpYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIE5vZGUuanMgYW5kIG9sZCBJRS5cbiAgLy8gVGhlcmUncyBhIGZldyByZWFzb25zIGZvciB3aHkgd2UgcHJlZmVyIHNldEltbWVkaWF0ZS5cbiAgLy9cbiAgLy8gVW5saWtlIE1lc3NhZ2VDaGFubmVsLCBpdCBkb2Vzbid0IHByZXZlbnQgYSBOb2RlLmpzIHByb2Nlc3MgZnJvbSBleGl0aW5nLlxuICAvLyAoRXZlbiB0aG91Z2ggdGhpcyBpcyBhIERPTSBmb3JrIG9mIHRoZSBTY2hlZHVsZXIsIHlvdSBjb3VsZCBnZXQgaGVyZVxuICAvLyB3aXRoIGEgbWl4IG9mIE5vZGUuanMgMTUrLCB3aGljaCBoYXMgYSBNZXNzYWdlQ2hhbm5lbCwgYW5kIGpzZG9tLilcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8yMDc1NlxuICAvL1xuICAvLyBCdXQgYWxzbywgaXQgcnVucyBlYXJsaWVyIHdoaWNoIGlzIHRoZSBzZW1hbnRpYyB3ZSB3YW50LlxuICAvLyBJZiBvdGhlciBicm93c2VycyBldmVyIGltcGxlbWVudCBpdCwgaXQncyBiZXR0ZXIgdG8gdXNlIGl0LlxuICAvLyBBbHRob3VnaCBib3RoIG9mIHRoZXNlIHdvdWxkIGJlIGluZmVyaW9yIHRvIG5hdGl2ZSBzY2hlZHVsaW5nLlxuICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBsb2NhbFNldEltbWVkaWF0ZShwZXJmb3JtV29ya1VudGlsRGVhZGxpbmUpO1xuICB9O1xufSBlbHNlIGlmICh0eXBlb2YgTWVzc2FnZUNoYW5uZWwgIT09ICd1bmRlZmluZWQnKSB7XG4gIC8vIERPTSBhbmQgV29ya2VyIGVudmlyb25tZW50cy5cbiAgLy8gV2UgcHJlZmVyIE1lc3NhZ2VDaGFubmVsIGJlY2F1c2Ugb2YgdGhlIDRtcyBzZXRUaW1lb3V0IGNsYW1waW5nLlxuICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICB2YXIgcG9ydCA9IGNoYW5uZWwucG9ydDI7XG4gIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG4gIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lID0gZnVuY3Rpb24gKCkge1xuICAgIHBvcnQucG9zdE1lc3NhZ2UobnVsbCk7XG4gIH07XG59IGVsc2Uge1xuICAvLyBXZSBzaG91bGQgb25seSBmYWxsYmFjayBoZXJlIGluIG5vbi1icm93c2VyIGVudmlyb25tZW50cy5cbiAgc2NoZWR1bGVQZXJmb3JtV29ya1VudGlsRGVhZGxpbmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gJEZsb3dGaXhNZVtub3QtYS1mdW5jdGlvbl0gbnVsbGFibGUgdmFsdWVcbiAgICBsb2NhbFNldFRpbWVvdXQocGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lLCAwKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVxdWVzdEhvc3RDYWxsYmFjaygpIHtcbiAgaWYgKCFpc01lc3NhZ2VMb29wUnVubmluZykge1xuICAgIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gdHJ1ZTtcbiAgICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RIb3N0VGltZW91dChjYWxsYmFjaywgbXMpIHtcbiAgLy8gJEZsb3dGaXhNZVtub3QtYS1mdW5jdGlvbl0gbnVsbGFibGUgdmFsdWVcbiAgdGFza1RpbWVvdXRJRCA9IGxvY2FsU2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgY2FsbGJhY2soZXhwb3J0cy51bnN0YWJsZV9ub3coKSk7XG4gIH0sIG1zKTtcbn1cblxuZnVuY3Rpb24gY2FuY2VsSG9zdFRpbWVvdXQoKSB7XG4gIC8vICRGbG93Rml4TWVbbm90LWEtZnVuY3Rpb25dIG51bGxhYmxlIHZhbHVlXG4gIGxvY2FsQ2xlYXJUaW1lb3V0KHRhc2tUaW1lb3V0SUQpO1xuICB0YXNrVGltZW91dElEID0gLTE7XG59XG52YXIgdW5zdGFibGVfUHJvZmlsaW5nID0gbnVsbDtcblxuZXhwb3J0cy51bnN0YWJsZV9JZGxlUHJpb3JpdHkgPSBJZGxlUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5ID0gSW1tZWRpYXRlUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX0xvd1ByaW9yaXR5ID0gTG93UHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX1Byb2ZpbGluZyA9IHVuc3RhYmxlX1Byb2ZpbGluZztcbmV4cG9ydHMudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHkgPSBVc2VyQmxvY2tpbmdQcmlvcml0eTtcbmV4cG9ydHMudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sgPSB1bnN0YWJsZV9jYW5jZWxDYWxsYmFjaztcbmV4cG9ydHMudW5zdGFibGVfY29udGludWVFeGVjdXRpb24gPSB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbjtcbmV4cG9ydHMudW5zdGFibGVfZm9yY2VGcmFtZVJhdGUgPSBmb3JjZUZyYW1lUmF0ZTtcbmV4cG9ydHMudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwgPSB1bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbDtcbmV4cG9ydHMudW5zdGFibGVfZ2V0Rmlyc3RDYWxsYmFja05vZGUgPSB1bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZTtcbmV4cG9ydHMudW5zdGFibGVfbmV4dCA9IHVuc3RhYmxlX25leHQ7XG5leHBvcnRzLnVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uID0gdW5zdGFibGVfcGF1c2VFeGVjdXRpb247XG5leHBvcnRzLnVuc3RhYmxlX3JlcXVlc3RQYWludCA9IHJlcXVlc3RQYWludDtcbmV4cG9ydHMudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5ID0gdW5zdGFibGVfcnVuV2l0aFByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrID0gdW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjaztcbmV4cG9ydHMudW5zdGFibGVfc2hvdWxkWWllbGQgPSBzaG91bGRZaWVsZFRvSG9zdDtcbmV4cG9ydHMudW5zdGFibGVfd3JhcENhbGxiYWNrID0gdW5zdGFibGVfd3JhcENhbGxiYWNrO1xuICAgICAgICAgIC8qIGdsb2JhbCBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gKi9cbmlmIChcbiAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcCA9PT1cbiAgICAnZnVuY3Rpb24nXG4pIHtcbiAgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdG9wKG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgXG4gIH0pKCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/scheduler/cjs/scheduler.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/scheduler/index.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/scheduler/index.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/scheduler.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/scheduler/cjs/scheduler.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc2NoZWR1bGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSwwS0FBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9zY2hlZHVsZXIvaW5kZXguanM/ZDBjZSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvc2NoZWR1bGVyLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/scheduler/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js ***! - \*************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;Object.defineProperty(r,\"__esModule\",{value:true});var n=\"<unknown>\";function parse(e){var r=e.split(\"\\n\");return r.reduce((function(e,r){var n=parseChrome(r)||parseWinjs(r)||parseGecko(r)||parseNode(r)||parseJSC(r);if(n){e.push(n)}return e}),[])}var a=/^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;var l=/\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;function parseChrome(e){var r=a.exec(e);if(!r){return null}var u=r[2]&&r[2].indexOf(\"native\")===0;var t=r[2]&&r[2].indexOf(\"eval\")===0;var i=l.exec(r[2]);if(t&&i!=null){r[2]=i[1];r[3]=i[2];r[4]=i[3]}return{file:!u?r[2]:null,methodName:r[1]||n,arguments:u?[r[2]]:[],lineNumber:r[3]?+r[3]:null,column:r[4]?+r[4]:null}}var u=/^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseWinjs(e){var r=u.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}var t=/^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;var i=/(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;function parseGecko(e){var r=t.exec(e);if(!r){return null}var a=r[3]&&r[3].indexOf(\" > eval\")>-1;var l=i.exec(r[3]);if(a&&l!=null){r[3]=l[1];r[4]=l[2];r[5]=null}return{file:r[3],methodName:r[1]||n,arguments:r[2]?r[2].split(\",\"):[],lineNumber:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}var s=/^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;function parseJSC(e){var r=s.exec(e);if(!r){return null}return{file:r[3],methodName:r[1]||n,arguments:[],lineNumber:+r[4],column:r[5]?+r[5]:null}}var o=/^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseNode(e){var r=o.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}r.parse=parse})();module.exports=e})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RhY2t0cmFjZS1wYXJzZXIvc3RhY2stdHJhY2UtcGFyc2VyLmNqcy5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxhQUFhLG1FQUFtRSxTQUFTLEtBQUssU0FBUyxNQUFNLFFBQVEsc0NBQXNDLFdBQVcsRUFBRSxrQkFBa0Isa0JBQWtCLG9CQUFvQiwrQkFBK0IsOEVBQThFLE1BQU0sVUFBVSxTQUFTLE1BQU0sa0pBQWtKLHNDQUFzQyx3QkFBd0IsZ0JBQWdCLE9BQU8sWUFBWSx1Q0FBdUMscUNBQXFDLG1CQUFtQixlQUFlLFVBQVUsVUFBVSxVQUFVLE9BQU8sOEdBQThHLHNIQUFzSCx1QkFBdUIsZ0JBQWdCLE9BQU8sWUFBWSxPQUFPLG1GQUFtRix3SUFBd0ksc0RBQXNELHVCQUF1QixnQkFBZ0IsT0FBTyxZQUFZLHVDQUF1QyxtQkFBbUIsZUFBZSxVQUFVLFVBQVUsVUFBVSxPQUFPLGtIQUFrSCxxRUFBcUUscUJBQXFCLGdCQUFnQixPQUFPLFlBQVksT0FBTyxtRkFBbUYsc0dBQXNHLHNCQUFzQixnQkFBZ0IsT0FBTyxZQUFZLE9BQU8sbUZBQW1GLGNBQWMsSUFBSSxpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9zdGFja3RyYWNlLXBhcnNlci9zdGFjay10cmFjZS1wYXJzZXIuY2pzLmpzPzA1M2EiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciBlPXt9OygoKT0+e3ZhciByPWU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt2YXIgbj1cIjx1bmtub3duPlwiO2Z1bmN0aW9uIHBhcnNlKGUpe3ZhciByPWUuc3BsaXQoXCJcXG5cIik7cmV0dXJuIHIucmVkdWNlKChmdW5jdGlvbihlLHIpe3ZhciBuPXBhcnNlQ2hyb21lKHIpfHxwYXJzZVdpbmpzKHIpfHxwYXJzZUdlY2tvKHIpfHxwYXJzZU5vZGUocil8fHBhcnNlSlNDKHIpO2lmKG4pe2UucHVzaChuKX1yZXR1cm4gZX0pLFtdKX12YXIgYT0vXlxccyphdCAoLio/KSA/XFwoKCg/OmZpbGV8aHR0cHM/fGJsb2J8Y2hyb21lLWV4dGVuc2lvbnxuYXRpdmV8ZXZhbHx3ZWJwYWNrfDxhbm9ueW1vdXM+fFxcL3xbYS16XTpcXFxcfFxcXFxcXFxcKS4qPykoPzo6KFxcZCspKT8oPzo6KFxcZCspKT9cXCk/XFxzKiQvaTt2YXIgbD0vXFwoKFxcUyopKD86OihcXGQrKSkoPzo6KFxcZCspKVxcKS87ZnVuY3Rpb24gcGFyc2VDaHJvbWUoZSl7dmFyIHI9YS5leGVjKGUpO2lmKCFyKXtyZXR1cm4gbnVsbH12YXIgdT1yWzJdJiZyWzJdLmluZGV4T2YoXCJuYXRpdmVcIik9PT0wO3ZhciB0PXJbMl0mJnJbMl0uaW5kZXhPZihcImV2YWxcIik9PT0wO3ZhciBpPWwuZXhlYyhyWzJdKTtpZih0JiZpIT1udWxsKXtyWzJdPWlbMV07clszXT1pWzJdO3JbNF09aVszXX1yZXR1cm57ZmlsZTohdT9yWzJdOm51bGwsbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czp1P1tyWzJdXTpbXSxsaW5lTnVtYmVyOnJbM10/K3JbM106bnVsbCxjb2x1bW46cls0XT8rcls0XTpudWxsfX12YXIgdT0vXlxccyphdCAoPzooKD86XFxbb2JqZWN0IG9iamVjdFxcXSk/LispICk/XFwoPygoPzpmaWxlfG1zLWFwcHh8aHR0cHM/fHdlYnBhY2t8YmxvYik6Lio/KTooXFxkKykoPzo6KFxcZCspKT9cXCk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZVdpbmpzKGUpe3ZhciByPXUuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9cmV0dXJue2ZpbGU6clsyXSxtZXRob2ROYW1lOnJbMV18fG4sYXJndW1lbnRzOltdLGxpbmVOdW1iZXI6K3JbM10sY29sdW1uOnJbNF0/K3JbNF06bnVsbH19dmFyIHQ9L15cXHMqKC4qPykoPzpcXCgoLio/KVxcKSk/KD86XnxAKSgoPzpmaWxlfGh0dHBzP3xibG9ifGNocm9tZXx3ZWJwYWNrfHJlc291cmNlfFxcW25hdGl2ZSkuKj98W15AXSpidW5kbGUpKD86OihcXGQrKSk/KD86OihcXGQrKSk/XFxzKiQvaTt2YXIgaT0vKFxcUyspIGxpbmUgKFxcZCspKD86ID4gZXZhbCBsaW5lIFxcZCspKiA+IGV2YWwvaTtmdW5jdGlvbiBwYXJzZUdlY2tvKGUpe3ZhciByPXQuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9dmFyIGE9clszXSYmclszXS5pbmRleE9mKFwiID4gZXZhbFwiKT4tMTt2YXIgbD1pLmV4ZWMoclszXSk7aWYoYSYmbCE9bnVsbCl7clszXT1sWzFdO3JbNF09bFsyXTtyWzVdPW51bGx9cmV0dXJue2ZpbGU6clszXSxtZXRob2ROYW1lOnJbMV18fG4sYXJndW1lbnRzOnJbMl0/clsyXS5zcGxpdChcIixcIik6W10sbGluZU51bWJlcjpyWzRdPytyWzRdOm51bGwsY29sdW1uOnJbNV0/K3JbNV06bnVsbH19dmFyIHM9L15cXHMqKD86KFteQF0qKSg/OlxcKCguKj8pXFwpKT9AKT8oXFxTLio/KTooXFxkKykoPzo6KFxcZCspKT9cXHMqJC9pO2Z1bmN0aW9uIHBhcnNlSlNDKGUpe3ZhciByPXMuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9cmV0dXJue2ZpbGU6clszXSxtZXRob2ROYW1lOnJbMV18fG4sYXJndW1lbnRzOltdLGxpbmVOdW1iZXI6K3JbNF0sY29sdW1uOnJbNV0/K3JbNV06bnVsbH19dmFyIG89L15cXHMqYXQgKD86KCg/OlxcW29iamVjdCBvYmplY3RcXF0pP1teXFxcXC9dKyg/OiBcXFthcyBcXFMrXFxdKT8pICk/XFwoPyguKj8pOihcXGQrKSg/OjooXFxkKykpP1xcKT9cXHMqJC9pO2Z1bmN0aW9uIHBhcnNlTm9kZShlKXt2YXIgcj1vLmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbMl0sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzNdLGNvbHVtbjpyWzRdPytyWzRdOm51bGx9fXIucGFyc2U9cGFyc2V9KSgpO21vZHVsZS5leHBvcnRzPWV9KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/strip-ansi/index.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/compiled/strip-ansi/index.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("var __dirname = \"/\";\n\n(()=>{\n \"use strict\";\n var e = {\n 511: (e)=>{\n e.exports = function() {\n let { onlyFirst: e = false } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n const r = [\n \"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\n \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"\n ].join(\"|\");\n return new RegExp(r, e ? undefined : \"g\");\n };\n },\n 532: (e, r, _)=>{\n const t = _(511);\n e.exports = (e)=>typeof e === \"string\" ? e.replace(t(), \"\") : e;\n }\n };\n var r = {};\n function __nccwpck_require__(_) {\n var t = r[_];\n if (t !== undefined) {\n return t.exports;\n }\n var a = r[_] = {\n exports: {}\n };\n var n = true;\n try {\n e[_](a, a.exports, __nccwpck_require__);\n n = false;\n } finally{\n if (n) delete r[_];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var _ = __nccwpck_require__(532);\n module.exports = _;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RyaXAtYW5zaS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOztBQUFDO0lBQUs7SUFBYSxJQUFJQSxJQUFFO1FBQUMsS0FBSUEsQ0FBQUE7WUFBSUEsRUFBRUMsT0FBTyxHQUFDO29CQUFDLEVBQUNDLFdBQVVGLElBQUUsS0FBSyxFQUFDLG9FQUFDLENBQUM7Z0JBQUssTUFBTUcsSUFBRTtvQkFBQztvQkFBK0g7aUJBQTJELENBQUNDLElBQUksQ0FBQztnQkFBSyxPQUFPLElBQUlDLE9BQU9GLEdBQUVILElBQUVNLFlBQVU7WUFBSTtRQUFDO1FBQUUsS0FBSSxDQUFDTixHQUFFRyxHQUFFSTtZQUFLLE1BQU1DLElBQUVELEVBQUU7WUFBS1AsRUFBRUMsT0FBTyxHQUFDRCxDQUFBQSxJQUFHLE9BQU9BLE1BQUksV0FBU0EsRUFBRVMsT0FBTyxDQUFDRCxLQUFJLE1BQUlSO1FBQUM7SUFBQztJQUFFLElBQUlHLElBQUUsQ0FBQztJQUFFLFNBQVNPLG9CQUFvQkgsQ0FBQztRQUFFLElBQUlDLElBQUVMLENBQUMsQ0FBQ0ksRUFBRTtRQUFDLElBQUdDLE1BQUlGLFdBQVU7WUFBQyxPQUFPRSxFQUFFUCxPQUFPO1FBQUE7UUFBQyxJQUFJVSxJQUFFUixDQUFDLENBQUNJLEVBQUUsR0FBQztZQUFDTixTQUFRLENBQUM7UUFBQztRQUFFLElBQUlXLElBQUU7UUFBSyxJQUFHO1lBQUNaLENBQUMsQ0FBQ08sRUFBRSxDQUFDSSxHQUFFQSxFQUFFVixPQUFPLEVBQUNTO1lBQXFCRSxJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT1QsQ0FBQyxDQUFDSSxFQUFFO1FBQUE7UUFBQyxPQUFPSSxFQUFFVixPQUFPO0lBQUE7SUFBQyxJQUFHLE9BQU9TLHdCQUFzQixhQUFZQSxvQkFBb0JHLEVBQUUsR0FBQ0MsU0FBU0EsR0FBQztJQUFJLElBQUlQLElBQUVHLG9CQUFvQjtJQUFLSyxPQUFPZCxPQUFPLEdBQUNNO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9zdHJpcC1hbnNpL2luZGV4LmpzPzExZmEiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezUxMTplPT57ZS5leHBvcnRzPSh7b25seUZpcnN0OmU9ZmFsc2V9PXt9KT0+e2NvbnN0IHI9W1wiW1xcXFx1MDAxQlxcXFx1MDA5Ql1bW1xcXFxdKCkjOz9dKig/Oig/Oig/Oig/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSspKnxbYS16QS1aXFxcXGRdKyg/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSopKik/XFxcXHUwMDA3KVwiLFwiKD86KD86XFxcXGR7MSw0fSg/OjtcXFxcZHswLDR9KSopP1tcXFxcZEEtUFItVFpjZi1udHFyeT0+PH5dKSlcIl0uam9pbihcInxcIik7cmV0dXJuIG5ldyBSZWdFeHAocixlP3VuZGVmaW5lZDpcImdcIil9fSw1MzI6KGUscixfKT0+e2NvbnN0IHQ9Xyg1MTEpO2UuZXhwb3J0cz1lPT50eXBlb2YgZT09PVwic3RyaW5nXCI/ZS5yZXBsYWNlKHQoKSxcIlwiKTplfX07dmFyIHI9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyhfKXt2YXIgdD1yW19dO2lmKHQhPT11bmRlZmluZWQpe3JldHVybiB0LmV4cG9ydHN9dmFyIGE9cltfXT17ZXhwb3J0czp7fX07dmFyIG49dHJ1ZTt0cnl7ZVtfXShhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtuPWZhbHNlfWZpbmFsbHl7aWYobilkZWxldGUgcltfXX1yZXR1cm4gYS5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgXz1fX25jY3dwY2tfcmVxdWlyZV9fKDUzMik7bW9kdWxlLmV4cG9ydHM9X30pKCk7Il0sIm5hbWVzIjpbImUiLCJleHBvcnRzIiwib25seUZpcnN0IiwiciIsImpvaW4iLCJSZWdFeHAiLCJ1bmRlZmluZWQiLCJfIiwidCIsInJlcGxhY2UiLCJfX25jY3dwY2tfcmVxdWlyZV9fIiwiYSIsIm4iLCJhYiIsIl9fZGlybmFtZSIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/strip-ansi/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/is-plain-object.js\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL2lzLWVycm9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUdMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELHVCQUF1QixtQkFBTyxDQUFDLGlIQUErQjtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBc0M7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcz9iZTMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBnZXRQcm9wZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3I7XG4gICAgfSxcbiAgICBnZXRQcm9wZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pc3BsYWlub2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc3BsYWlub2JqZWN0LmlzUGxhaW5PYmplY3QpKGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/lib/is-error.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/server/app-render/get-segment-param.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/server/app-render/get-segment-param.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentParam\", ({\n enumerable: true,\n get: function() {\n return getSegmentParam;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nfunction getSegmentParam(segment) {\n const interceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((marker)=>segment.startsWith(marker));\n // if an interception marker is part of the path segment, we need to jump ahead\n // to the relevant portion for param parsing\n if (interceptionMarker) {\n segment = segment.slice(interceptionMarker.length);\n }\n if (segment.startsWith(\"[[...\") && segment.endsWith(\"]]\")) {\n return {\n // TODO-APP: Optional catchall does not currently work with parallel routes,\n // so for now aren't handling a potential interception marker.\n type: \"optional-catchall\",\n param: segment.slice(5, -2)\n };\n }\n if (segment.startsWith(\"[...\") && segment.endsWith(\"]\")) {\n return {\n type: interceptionMarker ? \"catchall-intercepted\" : \"catchall\",\n param: segment.slice(4, -1)\n };\n }\n if (segment.startsWith(\"[\") && segment.endsWith(\"]\")) {\n return {\n type: interceptionMarker ? \"dynamic-intercepted\" : \"dynamic\",\n param: segment.slice(1, -1)\n };\n }\n return null;\n}\n\n//# sourceMappingURL=get-segment-param.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZ2V0LXNlZ21lbnQtcGFyYW0uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixtREFBa0Q7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRiw0QkFBNEIsbUJBQU8sQ0FBQyx3SUFBdUM7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2dldC1zZWdtZW50LXBhcmFtLmpzPzEwOTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRTZWdtZW50UGFyYW1cIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNlZ21lbnRQYXJhbTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcmNlcHRpb25yb3V0ZXMgPSByZXF1aXJlKFwiLi4vZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlc1wiKTtcbmZ1bmN0aW9uIGdldFNlZ21lbnRQYXJhbShzZWdtZW50KSB7XG4gICAgY29uc3QgaW50ZXJjZXB0aW9uTWFya2VyID0gX2ludGVyY2VwdGlvbnJvdXRlcy5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtYXJrZXIpPT5zZWdtZW50LnN0YXJ0c1dpdGgobWFya2VyKSk7XG4gICAgLy8gaWYgYW4gaW50ZXJjZXB0aW9uIG1hcmtlciBpcyBwYXJ0IG9mIHRoZSBwYXRoIHNlZ21lbnQsIHdlIG5lZWQgdG8ganVtcCBhaGVhZFxuICAgIC8vIHRvIHRoZSByZWxldmFudCBwb3J0aW9uIGZvciBwYXJhbSBwYXJzaW5nXG4gICAgaWYgKGludGVyY2VwdGlvbk1hcmtlcikge1xuICAgICAgICBzZWdtZW50ID0gc2VnbWVudC5zbGljZShpbnRlcmNlcHRpb25NYXJrZXIubGVuZ3RoKTtcbiAgICB9XG4gICAgaWYgKHNlZ21lbnQuc3RhcnRzV2l0aChcIltbLi4uXCIpICYmIHNlZ21lbnQuZW5kc1dpdGgoXCJdXVwiKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLy8gVE9ETy1BUFA6IE9wdGlvbmFsIGNhdGNoYWxsIGRvZXMgbm90IGN1cnJlbnRseSB3b3JrIHdpdGggcGFyYWxsZWwgcm91dGVzLFxuICAgICAgICAgICAgLy8gc28gZm9yIG5vdyBhcmVuJ3QgaGFuZGxpbmcgYSBwb3RlbnRpYWwgaW50ZXJjZXB0aW9uIG1hcmtlci5cbiAgICAgICAgICAgIHR5cGU6IFwib3B0aW9uYWwtY2F0Y2hhbGxcIixcbiAgICAgICAgICAgIHBhcmFtOiBzZWdtZW50LnNsaWNlKDUsIC0yKVxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoc2VnbWVudC5zdGFydHNXaXRoKFwiWy4uLlwiKSAmJiBzZWdtZW50LmVuZHNXaXRoKFwiXVwiKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogaW50ZXJjZXB0aW9uTWFya2VyID8gXCJjYXRjaGFsbC1pbnRlcmNlcHRlZFwiIDogXCJjYXRjaGFsbFwiLFxuICAgICAgICAgICAgcGFyYW06IHNlZ21lbnQuc2xpY2UoNCwgLTEpXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChzZWdtZW50LnN0YXJ0c1dpdGgoXCJbXCIpICYmIHNlZ21lbnQuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBpbnRlcmNlcHRpb25NYXJrZXIgPyBcImR5bmFtaWMtaW50ZXJjZXB0ZWRcIiA6IFwiZHluYW1pY1wiLFxuICAgICAgICAgICAgcGFyYW06IHNlZ21lbnQuc2xpY2UoMSwgLTEpXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtc2VnbWVudC1wYXJhbS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/server/app-render/get-segment-param.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js ***! - \*************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"extractModulesFromTurbopackMessage\", ({\n enumerable: true,\n get: function() {\n return extractModulesFromTurbopackMessage;\n }\n}));\nfunction extractModulesFromTurbopackMessage(data) {\n const updatedModules = new Set();\n const updates = Array.isArray(data) ? data : [\n data\n ];\n for (const update of updates){\n // TODO this won't capture changes to CSS since they don't result in a \"merged\" update\n if (update.type !== \"partial\" || update.instruction.type !== \"ChunkListUpdate\" || update.instruction.merged === undefined) {\n continue;\n }\n for (const mergedUpdate of update.instruction.merged){\n for (const name of Object.keys(mergedUpdate.entries)){\n const res = /(.*)\\s+\\[.*/.exec(name);\n if (res === null) {\n console.error(\"[Turbopack HMR] Expected module to match pattern: \" + name);\n continue;\n }\n updatedModules.add(res[1]);\n }\n }\n }\n return [\n ...updatedModules\n ];\n}\n\n//# sourceMappingURL=extract-modules-from-turbopack-message.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Rldi9leHRyYWN0LW1vZHVsZXMtZnJvbS10dXJib3BhY2stbWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHNFQUFxRTtBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Rldi9leHRyYWN0LW1vZHVsZXMtZnJvbS10dXJib3BhY2stbWVzc2FnZS5qcz85MWVlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZXh0cmFjdE1vZHVsZXNGcm9tVHVyYm9wYWNrTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdE1vZHVsZXNGcm9tVHVyYm9wYWNrTWVzc2FnZTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2UoZGF0YSkge1xuICAgIGNvbnN0IHVwZGF0ZWRNb2R1bGVzID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IHVwZGF0ZXMgPSBBcnJheS5pc0FycmF5KGRhdGEpID8gZGF0YSA6IFtcbiAgICAgICAgZGF0YVxuICAgIF07XG4gICAgZm9yIChjb25zdCB1cGRhdGUgb2YgdXBkYXRlcyl7XG4gICAgICAgIC8vIFRPRE8gdGhpcyB3b24ndCBjYXB0dXJlIGNoYW5nZXMgdG8gQ1NTIHNpbmNlIHRoZXkgZG9uJ3QgcmVzdWx0IGluIGEgXCJtZXJnZWRcIiB1cGRhdGVcbiAgICAgICAgaWYgKHVwZGF0ZS50eXBlICE9PSBcInBhcnRpYWxcIiB8fCB1cGRhdGUuaW5zdHJ1Y3Rpb24udHlwZSAhPT0gXCJDaHVua0xpc3RVcGRhdGVcIiB8fCB1cGRhdGUuaW5zdHJ1Y3Rpb24ubWVyZ2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgbWVyZ2VkVXBkYXRlIG9mIHVwZGF0ZS5pbnN0cnVjdGlvbi5tZXJnZWQpe1xuICAgICAgICAgICAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKG1lcmdlZFVwZGF0ZS5lbnRyaWVzKSl7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gLyguKilcXHMrXFxbLiovLmV4ZWMobmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlcyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW1R1cmJvcGFjayBITVJdIEV4cGVjdGVkIG1vZHVsZSB0byBtYXRjaCBwYXR0ZXJuOiBcIiArIG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdXBkYXRlZE1vZHVsZXMuYWRkKHJlc1sxXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgICAgLi4udXBkYXRlZE1vZHVsZXNcbiAgICBdO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1leHRyYWN0LW1vZHVsZXMtZnJvbS10dXJib3BhY2stbWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/server/dev/hot-reloader-types.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/server/dev/hot-reloader-types.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HMR_ACTIONS_SENT_TO_BROWSER\", ({\n enumerable: true,\n get: function() {\n return HMR_ACTIONS_SENT_TO_BROWSER;\n }\n}));\nvar HMR_ACTIONS_SENT_TO_BROWSER;\n(function(HMR_ACTIONS_SENT_TO_BROWSER) {\n HMR_ACTIONS_SENT_TO_BROWSER[\"ADDED_PAGE\"] = \"addedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"REMOVED_PAGE\"] = \"removedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"RELOAD_PAGE\"] = \"reloadPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_COMPONENT_CHANGES\"] = \"serverComponentChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"MIDDLEWARE_CHANGES\"] = \"middlewareChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"CLIENT_CHANGES\"] = \"clientChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ONLY_CHANGES\"] = \"serverOnlyChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SYNC\"] = \"sync\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILT\"] = \"built\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILDING\"] = \"building\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"DEV_PAGES_MANIFEST_UPDATE\"] = \"devPagesManifestUpdate\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_MESSAGE\"] = \"turbopack-message\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ERROR\"] = \"serverError\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_CONNECTED\"] = \"turbopack-connected\";\n})(HMR_ACTIONS_SENT_TO_BROWSER || (HMR_ACTIONS_SENT_TO_BROWSER = {}));\n\n//# sourceMappingURL=hot-reloader-types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Rldi9ob3QtcmVsb2FkZXItdHlwZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRiwrREFBOEQ7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsa0VBQWtFOztBQUVuRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzLmpzPzhhOTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUjtcbiAgICB9XG59KTtcbnZhciBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVI7XG4oZnVuY3Rpb24oSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSKSB7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiQURERURfUEFHRVwiXSA9IFwiYWRkZWRQYWdlXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiUkVNT1ZFRF9QQUdFXCJdID0gXCJyZW1vdmVkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlJFTE9BRF9QQUdFXCJdID0gXCJyZWxvYWRQYWdlXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTXCJdID0gXCJzZXJ2ZXJDb21wb25lbnRDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiTUlERExFV0FSRV9DSEFOR0VTXCJdID0gXCJtaWRkbGV3YXJlQ2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkNMSUVOVF9DSEFOR0VTXCJdID0gXCJjbGllbnRDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU0VSVkVSX09OTFlfQ0hBTkdFU1wiXSA9IFwic2VydmVyT25seUNoYW5nZXNcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJTWU5DXCJdID0gXCJzeW5jXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiQlVJTFRcIl0gPSBcImJ1aWx0XCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiQlVJTERJTkdcIl0gPSBcImJ1aWxkaW5nXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiREVWX1BBR0VTX01BTklGRVNUX1VQREFURVwiXSA9IFwiZGV2UGFnZXNNYW5pZmVzdFVwZGF0ZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlRVUkJPUEFDS19NRVNTQUdFXCJdID0gXCJ0dXJib3BhY2stbWVzc2FnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9FUlJPUlwiXSA9IFwic2VydmVyRXJyb3JcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJUVVJCT1BBQ0tfQ09OTkVDVEVEXCJdID0gXCJ0dXJib3BhY2stY29ubmVjdGVkXCI7XG59KShITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIgfHwgKEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiA9IHt9KSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhvdC1yZWxvYWRlci10eXBlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/server/dev/hot-reloader-types.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBSUw7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxrQkFBa0IsbUJBQU8sQ0FBQyxxSUFBNEM7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxLQUFLO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLGlCQUFpQjtBQUN4RCxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0RBQStELEtBQUs7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlcy5qcz9hM2IyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IG51bGwsXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IG51bGwsXG4gICAgaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM7XG4gICAgfSxcbiAgICBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjtcbiAgICB9LFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX2FwcHBhdGhzID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRoc1wiKTtcbmNvbnN0IElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTID0gW1xuICAgIFwiKC4uKSguLilcIixcbiAgICBcIiguKVwiLFxuICAgIFwiKC4uKVwiLFxuICAgIFwiKC4uLilcIlxuXTtcbmZ1bmN0aW9uIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoKHBhdGgpIHtcbiAgICAvLyBUT0RPLUFQUDogYWRkIG1vcmUgc2VyaW91cyB2YWxpZGF0aW9uXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLmZpbmQoKHNlZ21lbnQpPT5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKSkgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uKHBhdGgpIHtcbiAgICBsZXQgaW50ZXJjZXB0aW5nUm91dGUsIG1hcmtlciwgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2YgcGF0aC5zcGxpdChcIi9cIikpe1xuICAgICAgICBtYXJrZXIgPSBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKTtcbiAgICAgICAgaWYgKG1hcmtlcikge1xuICAgICAgICAgICAgW2ludGVyY2VwdGluZ1JvdXRlLCBpbnRlcmNlcHRlZFJvdXRlXSA9IHBhdGguc3BsaXQobWFya2VyLCAyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghaW50ZXJjZXB0aW5nUm91dGUgfHwgIW1hcmtlciB8fCAhaW50ZXJjZXB0ZWRSb3V0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBNdXN0IGJlIGluIHRoZSBmb3JtYXQgLzxpbnRlcmNlcHRpbmcgcm91dGU+LyguLnwuLi58Li4pKC4uKS88aW50ZXJjZXB0ZWQgcm91dGU+YCk7XG4gICAgfVxuICAgIGludGVyY2VwdGluZ1JvdXRlID0gKDAsIF9hcHBwYXRocy5ub3JtYWxpemVBcHBQYXRoKShpbnRlcmNlcHRpbmdSb3V0ZSkgLy8gbm9ybWFsaXplIHRoZSBwYXRoLCBlLmcuIC8oYmxvZykvZmVlZCAtPiAvZmVlZFxuICAgIDtcbiAgICBzd2l0Y2gobWFya2VyKXtcbiAgICAgICAgY2FzZSBcIiguKVwiOlxuICAgICAgICAgICAgLy8gKC4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCB3aXRoIHNpYmxpbmcgcm91dGVzLCBzbyB3ZSBqdXN0IG5lZWQgdG8gYXBwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZSB0byB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGAvJHtpbnRlcmNlcHRlZFJvdXRlfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZSArIFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggYXQgb25lIGxldmVsIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCBzZWdtZW50IG9mIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGlmIChpbnRlcmNlcHRpbmdSb3V0ZSA9PT0gXCIvXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsLCB1c2UgKC4pIGluc3RlYWQuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5jb25jYXQoaW50ZXJjZXB0ZWRSb3V0ZSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4uKSB3aWxsIG1hdGNoIHRoZSByb3V0ZSBzZWdtZW50IGluIHRoZSByb290IGRpcmVjdG9yeSwgc28gd2UgbmVlZCB0byB1c2UgdGhlIHJvb3QgZGlyZWN0b3J5IHRvIHByZXBlbmQgdGhlIGludGVyY2VwdGVkIHJvdXRlXG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gXCIvXCIgKyBpbnRlcmNlcHRlZFJvdXRlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4pKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IHR3byBsZXZlbHMgdXAsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBsYXN0IHR3byBzZWdtZW50cyBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBjb25zdCBzcGxpdEludGVyY2VwdGluZ1JvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpO1xuICAgICAgICAgICAgaWYgKHNwbGl0SW50ZXJjZXB0aW5nUm91dGUubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCBvciBvbmUgbGV2ZWwgdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZS5zbGljZSgwLCAtMikuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IHVuZXhwZWN0ZWQgbWFya2VyXCIpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBpbnRlcmNlcHRpbmdSb3V0ZSxcbiAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVyY2VwdGlvbi1yb3V0ZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/add-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1iYXNlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0FLZ0JBOzs7ZUFBQUE7OzsyQ0FMYztvREFDYTtBQUUzQyxNQUFNQyxXQUFXQyxNQUFtQyxJQUFlO0FBRTVELFNBQVNGLFlBQVlLLElBQVksRUFBRUMsUUFBa0I7SUFDMUQsT0FBT0MsQ0FBQUEsR0FBQUEsd0JBQUFBLDBCQUEwQixFQUMvQkwsTUFBK0NJLEdBQzNDRCxDQUFBQSxHQUNBSSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNKLE1BQU1KO0FBRTVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FkZC1iYXNlLXBhdGgudHM/NTE3MSJdLCJuYW1lcyI6WyJhZGRCYXNlUGF0aCIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwicmVxdWlyZWQiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsIl9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCIsImFkZFBhdGhQcmVmaXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/app-bootstrap.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/app-bootstrap.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Before starting the Next.js runtime and requiring any module, we need to make\n * sure the following scripts are executed in the correct order:\n * - Polyfills\n * - next/script with `beforeInteractive` strategy\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"appBootstrap\", ({\n enumerable: true,\n get: function() {\n return appBootstrap;\n }\n}));\nconst version = \"14.2.3\";\nwindow.next = {\n version,\n appDir: true\n};\nfunction loadScriptsInSequence(scripts, hydrate) {\n if (!scripts || !scripts.length) {\n return hydrate();\n }\n return scripts.reduce((promise, param)=>{\n let [src, props] = param;\n return promise.then(()=>{\n return new Promise((resolve, reject)=>{\n const el = document.createElement(\"script\");\n if (props) {\n for(const key in props){\n if (key !== \"children\") {\n el.setAttribute(key, props[key]);\n }\n }\n }\n if (src) {\n el.src = src;\n el.onload = ()=>resolve();\n el.onerror = reject;\n } else if (props) {\n el.innerHTML = props.children;\n setTimeout(resolve);\n }\n document.head.appendChild(el);\n });\n });\n }, Promise.resolve()).catch((err)=>{\n console.error(err);\n // Still try to hydrate even if there's an error.\n }).then(()=>{\n hydrate();\n });\n}\nfunction appBootstrap(callback) {\n loadScriptsInSequence(self.__next_s, ()=>{\n callback();\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-bootstrap.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1ib290c3RyYXAuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0NBS0M7Ozs7Z0RBcURlQTs7O2VBQUFBOzs7QUFuRGhCLE1BQU1DLFVBQVVDO0FBRWhCQyxPQUFPQyxJQUFJLEdBQUc7SUFDWkg7SUFDQUksUUFBUTtBQUNWO0FBRUEsU0FBU0Msc0JBQ1BDLE9BQXdELEVBQ3hEQyxPQUFtQjtJQUVuQixJQUFJLENBQUNELFdBQVcsQ0FBQ0EsUUFBUUUsTUFBTSxFQUFFO1FBQy9CLE9BQU9EO0lBQ1Q7SUFFQSxPQUFPRCxRQUNKRyxNQUFNLENBQUMsQ0FBQ0MsU0FBQUE7WUFBUyxDQUFDQyxLQUFLQyxNQUFNLEdBQUFDO1FBQzVCLE9BQU9ILFFBQVFJLElBQUksQ0FBQztZQUNsQixPQUFPLElBQUlDLFFBQWMsQ0FBQ0MsU0FBU0M7Z0JBQ2pDLE1BQU1DLEtBQUtDLFNBQVNDLGFBQWEsQ0FBQztnQkFFbEMsSUFBSVIsT0FBTztvQkFDVCxJQUFLLE1BQU1TLE9BQU9ULE1BQU87d0JBQ3ZCLElBQUlTLFFBQVEsWUFBWTs0QkFDdEJILEdBQUdJLFlBQVksQ0FBQ0QsS0FBS1QsS0FBSyxDQUFDUyxJQUFJO3dCQUNqQztvQkFDRjtnQkFDRjtnQkFFQSxJQUFJVixLQUFLO29CQUNQTyxHQUFHUCxHQUFHLEdBQUdBO29CQUNUTyxHQUFHSyxNQUFNLEdBQUcsSUFBTVA7b0JBQ2xCRSxHQUFHTSxPQUFPLEdBQUdQO2dCQUNmLE9BQU8sSUFBSUwsT0FBTztvQkFDaEJNLEdBQUdPLFNBQVMsR0FBR2IsTUFBTWMsUUFBUTtvQkFDN0JDLFdBQVdYO2dCQUNiO2dCQUVBRyxTQUFTUyxJQUFJLENBQUNDLFdBQVcsQ0FBQ1g7WUFDNUI7UUFDRjtJQUNGLEdBQUdILFFBQVFDLE9BQU8sSUFDakJjLEtBQUssQ0FBQyxDQUFDQztRQUNOQyxRQUFRQyxLQUFLLENBQUNGO0lBQ2QsaURBQWlEO0lBQ25ELEdBQ0NqQixJQUFJLENBQUM7UUFDSlA7SUFDRjtBQUNKO0FBRU8sU0FBU1IsYUFBYW1DLFFBQW9CO0lBQy9DN0Isc0JBQXNCOEIsS0FBY0MsUUFBUSxFQUFFO1FBQzVDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvYXBwLWJvb3RzdHJhcC50cz84NjYyIl0sIm5hbWVzIjpbImFwcEJvb3RzdHJhcCIsInZlcnNpb24iLCJwcm9jZXNzIiwid2luZG93IiwibmV4dCIsImFwcERpciIsImxvYWRTY3JpcHRzSW5TZXF1ZW5jZSIsInNjcmlwdHMiLCJoeWRyYXRlIiwibGVuZ3RoIiwicmVkdWNlIiwicHJvbWlzZSIsInNyYyIsInByb3BzIiwicGFyYW0iLCJ0aGVuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJlbCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImtleSIsInNldEF0dHJpYnV0ZSIsIm9ubG9hZCIsIm9uZXJyb3IiLCJpbm5lckhUTUwiLCJjaGlsZHJlbiIsInNldFRpbWVvdXQiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJjYXRjaCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImNhbGxiYWNrIiwic2VsZiIsIl9fbmV4dF9zIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-bootstrap.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/app-call-server.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"callServer\", ({\n enumerable: true,\n get: function() {\n return callServer;\n }\n}));\nconst _approuter = __webpack_require__(/*! ./components/app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nasync function callServer(actionId, actionArgs) {\n const actionDispatcher = (0, _approuter.getServerActionDispatcher)();\n if (!actionDispatcher) {\n throw new Error(\"Invariant: missing action dispatcher.\");\n }\n return new Promise((resolve, reject)=>{\n actionDispatcher({\n actionId,\n actionArgs,\n resolve,\n reject\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-call-server.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1jYWxsLXNlcnZlci5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQUVzQkE7OztlQUFBQTs7O3VDQUZvQjtBQUVuQyxlQUFlQSxXQUFXQyxRQUFnQixFQUFFQyxVQUFpQjtJQUNsRSxNQUFNQyxtQkFBbUJDLENBQUFBLEdBQUFBLFdBQUFBLHlCQUF5QjtJQUVsRCxJQUFJLENBQUNELGtCQUFrQjtRQUNyQixNQUFNLElBQUlFLE1BQU07SUFDbEI7SUFFQSxPQUFPLElBQUlDLFFBQVEsQ0FBQ0MsU0FBU0M7UUFDM0JMLGlCQUFpQjtZQUNmRjtZQUNBQztZQUNBSztZQUNBQztRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9hcHAtY2FsbC1zZXJ2ZXIudHM/NDk0YSJdLCJuYW1lcyI6WyJjYWxsU2VydmVyIiwiYWN0aW9uSWQiLCJhY3Rpb25BcmdzIiwiYWN0aW9uRGlzcGF0Y2hlciIsImdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJFcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/app-index.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/client/app-index.js ***! - \****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hydrate\", ({\n enumerable: true,\n get: function() {\n return hydrate;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\n__webpack_require__(/*! ../build/polyfills/polyfill-module */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/polyfill-module.js\");\nconst _client = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom/client */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/client.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _client1 = __webpack_require__(/*! react-server-dom-webpack/client */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ../shared/lib/head-manager-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _onrecoverableerror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./on-recoverable-error */ \"(app-pages-browser)/./node_modules/next/dist/client/on-recoverable-error.js\"));\nconst _appcallserver = __webpack_require__(/*! ./app-call-server */ \"(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js\");\nconst _isnextroutererror = __webpack_require__(/*! ./components/is-next-router-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst _actionqueue = __webpack_require__(/*! ../shared/lib/router/action-queue */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/action-queue.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../server/dev/hot-reloader-types */ \"(app-pages-browser)/./node_modules/next/dist/server/dev/hot-reloader-types.js\");\n// Since React doesn't call onerror for errors caught in error boundaries.\nconst origConsoleError = window.console.error;\nwindow.console.error = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if ((0, _isnextroutererror.isNextRouterError)(args[0])) {\n return;\n }\n origConsoleError.apply(window.console, args);\n};\nwindow.addEventListener(\"error\", (ev)=>{\n if ((0, _isnextroutererror.isNextRouterError)(ev.error)) {\n ev.preventDefault();\n return;\n }\n});\n/// <reference types=\"react-dom/experimental\" />\nconst appElement = document;\nconst encoder = new TextEncoder();\nlet initialServerDataBuffer = undefined;\nlet initialServerDataWriter = undefined;\nlet initialServerDataLoaded = false;\nlet initialServerDataFlushed = false;\nlet initialFormStateData = null;\nfunction nextServerDataCallback(seg) {\n if (seg[0] === 0) {\n initialServerDataBuffer = [];\n } else if (seg[0] === 1) {\n if (!initialServerDataBuffer) throw new Error(\"Unexpected server data: missing bootstrap script.\");\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(encoder.encode(seg[1]));\n } else {\n initialServerDataBuffer.push(seg[1]);\n }\n } else if (seg[0] === 2) {\n initialFormStateData = seg[1];\n }\n}\n// There might be race conditions between `nextServerDataRegisterWriter` and\n// `DOMContentLoaded`. The former will be called when React starts to hydrate\n// the root, the latter will be called when the DOM is fully loaded.\n// For streaming, the former is called first due to partial hydration.\n// For non-streaming, the latter can be called first.\n// Hence, we use two variables `initialServerDataLoaded` and\n// `initialServerDataFlushed` to make sure the writer will be closed and\n// `initialServerDataBuffer` will be cleared in the right time.\nfunction nextServerDataRegisterWriter(ctr) {\n if (initialServerDataBuffer) {\n initialServerDataBuffer.forEach((val)=>{\n ctr.enqueue(encoder.encode(val));\n });\n if (initialServerDataLoaded && !initialServerDataFlushed) {\n ctr.close();\n initialServerDataFlushed = true;\n initialServerDataBuffer = undefined;\n }\n }\n initialServerDataWriter = ctr;\n}\n// When `DOMContentLoaded`, we can close all pending writers to finish hydration.\nconst DOMContentLoaded = function() {\n if (initialServerDataWriter && !initialServerDataFlushed) {\n initialServerDataWriter.close();\n initialServerDataFlushed = true;\n initialServerDataBuffer = undefined;\n }\n initialServerDataLoaded = true;\n};\n_c = DOMContentLoaded;\n// It's possible that the DOM is already loaded.\nif (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", DOMContentLoaded, false);\n} else {\n DOMContentLoaded();\n}\nconst nextServerDataLoadingGlobal = self.__next_f = self.__next_f || [];\nnextServerDataLoadingGlobal.forEach(nextServerDataCallback);\nnextServerDataLoadingGlobal.push = nextServerDataCallback;\nconst readable = new ReadableStream({\n start (controller) {\n nextServerDataRegisterWriter(controller);\n }\n});\nconst initialServerResponse = (0, _client1.createFromReadableStream)(readable, {\n callServer: _appcallserver.callServer\n});\nfunction ServerRoot() {\n return (0, _react.use)(initialServerResponse);\n}\n_c1 = ServerRoot;\nconst StrictModeIfEnabled = true ? _react.default.StrictMode : 0;\nfunction Root(param) {\n let { children } = param;\n // TODO: remove in the next major version\n if (false) {}\n if (false) {}\n return children;\n}\n_c2 = Root;\nfunction hydrate() {\n const actionQueue = (0, _actionqueue.createMutableActionQueue)();\n const reactEl = /*#__PURE__*/ (0, _jsxruntime.jsx)(StrictModeIfEnabled, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_headmanagercontextsharedruntime.HeadManagerContext.Provider, {\n value: {\n appDir: true\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_actionqueue.ActionQueueContext.Provider, {\n value: actionQueue,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Root, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerRoot, {})\n })\n })\n })\n });\n const rootLayoutMissingTags = window.__next_root_layout_missing_tags;\n const hasMissingTags = !!(rootLayoutMissingTags == null ? void 0 : rootLayoutMissingTags.length);\n const options = {\n onRecoverableError: _onrecoverableerror.default\n };\n const isError = document.documentElement.id === \"__next_error__\" || hasMissingTags;\n if (true) {\n // Patch console.error to collect information about hydration errors\n const patchConsoleError = (__webpack_require__(/*! ./components/react-dev-overlay/internal/helpers/hydration-error-info */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\").patchConsoleError);\n if (!isError) {\n patchConsoleError();\n }\n }\n if (isError) {\n if (true) {\n // if an error is thrown while rendering an RSC stream, this will catch it in dev\n // and show the error overlay\n const ReactDevOverlay = (__webpack_require__(/*! ./components/react-dev-overlay/app/ReactDevOverlay */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js\")[\"default\"]);\n const INITIAL_OVERLAY_STATE = (__webpack_require__(/*! ./components/react-dev-overlay/shared */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\").INITIAL_OVERLAY_STATE);\n const getSocketUrl = (__webpack_require__(/*! ./components/react-dev-overlay/internal/helpers/get-socket-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js\").getSocketUrl);\n const FallbackLayout = hasMissingTags ? (param)=>{\n let { children } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"html\", {\n id: \"__next_error__\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {\n children: children\n })\n });\n } : _react.default.Fragment;\n const errorTree = /*#__PURE__*/ (0, _jsxruntime.jsx)(FallbackLayout, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ReactDevOverlay, {\n state: {\n ...INITIAL_OVERLAY_STATE,\n rootLayoutMissingTags\n },\n onReactError: ()=>{},\n children: reactEl\n })\n });\n const socketUrl = getSocketUrl( false || \"\");\n const socket = new window.WebSocket(\"\" + socketUrl + \"/_next/webpack-hmr\");\n // add minimal \"hot reload\" support for RSC errors\n const handler = (event)=>{\n let obj;\n try {\n obj = JSON.parse(event.data);\n } catch (e) {}\n if (!obj || !(\"action\" in obj)) {\n return;\n }\n if (obj.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES) {\n window.location.reload();\n }\n };\n socket.addEventListener(\"message\", handler);\n _client.default.createRoot(appElement, options).render(errorTree);\n } else {}\n } else {\n _react.default.startTransition(()=>_client.default.hydrateRoot(appElement, reactEl, {\n ...options,\n formState: initialFormStateData\n }));\n }\n // TODO-APP: Remove this logic when Float has GC built-in in development.\n if (true) {\n const { linkGc } = __webpack_require__(/*! ./app-link-gc */ \"(app-pages-browser)/./node_modules/next/dist/client/app-link-gc.js\");\n linkGc();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-index.js.map\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"DOMContentLoaded\");\n$RefreshReg$(_c1, \"ServerRoot\");\n$RefreshReg$(_c2, \"Root\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQXdKZ0JBOzs7ZUFBQUE7Ozs7OztvQkF4SlQ7NkVBRW9COzZFQUNBO3FDQUdjOzZEQUVOO3lGQUNKOzJDQUNKOytDQUNPO3lDQUkzQjs4Q0FDcUM7QUFFNUMsMEVBQTBFO0FBQzFFLE1BQU1DLG1CQUFtQkMsT0FBT0MsT0FBTyxDQUFDQyxLQUFLO0FBQzdDRixPQUFPQyxPQUFPLENBQUNDLEtBQUssR0FBRztxQ0FBSUMsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7UUFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O0lBQ3pCLElBQUlDLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBaUIsRUFBQ0QsSUFBSSxDQUFDLEVBQUUsR0FBRztRQUM5QjtJQUNGO0lBQ0FKLGlCQUFpQk0sS0FBSyxDQUFDTCxPQUFPQyxPQUFPLEVBQUVFO0FBQ3pDO0FBRUFILE9BQU9NLGdCQUFnQixDQUFDLFNBQVMsQ0FBQ0M7SUFDaEMsSUFBSUgsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDRyxHQUFHTCxLQUFLLEdBQUc7UUFDL0JLLEdBQUdDLGNBQWM7UUFDakI7SUFDRjtBQUNGO0FBRUEsZ0RBQWdEO0FBRWhELE1BQU1DLGFBQTRDQztBQUVsRCxNQUFNQyxVQUFVLElBQUlDO0FBRXBCLElBQUlDLDBCQUFnREM7QUFDcEQsSUFBSUMsMEJBQ0ZEO0FBQ0YsSUFBSUUsMEJBQTBCO0FBQzlCLElBQUlDLDJCQUEyQjtBQUUvQixJQUFJQyx1QkFBbUM7QUFFdkMsU0FBU0MsdUJBQ1BDLEdBR29DO0lBRXBDLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRztRQUNoQlAsMEJBQTBCLEVBQUU7SUFDOUIsT0FBTyxJQUFJTyxHQUFHLENBQUMsRUFB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Q2YsSUFBSUM7Z0JBQ0osSUFBSTtvQkFDRkEsTUFBTUMsS0FBS0MsS0FBSyxDQUFDSCxNQUFNSSxJQUFJO2dCQUM3QixFQUFFLE9BQUFDLEdBQU0sQ0FBQztnQkFFVCxJQUFJLENBQUNKLE9BQU8sQ0FBRSxhQUFZQSxHQUFBQSxHQUFNO29CQUM5QjtnQkFDRjtnQkFFQSxJQUNFQSxJQUFJSyxNQUFNLEtBQUtDLGtCQUFBQSwyQkFBMkIsQ0FBQ0Msd0JBQXdCLEVBQ25FO29CQUNBeEcsT0FBT3lHLFFBQVEsQ0FBQ0MsTUFBTTtnQkFDeEI7WUFDRjtZQUVBYixPQUFPdkYsZ0JBQWdCLENBQUMsV0FBV3lGO1lBQ25DWSxRQUFBQSxPQUFjLENBQUNDLFVBQVUsQ0FBQ25HLFlBQW1Ca0UsU0FBU2tDLE1BQU0sQ0FBQ3JCO1FBQy9ELE9BQU8sRUFFUDtJQUNGLE9BQU87UUFDTHhDLE9BQUFBLE9BQUssQ0FBQzhELGVBQWUsQ0FBQyxJQUNwQkMsUUFBQ0osT0FBYyxDQUFTSyxXQUFXLENBQUN2RyxZQUFZc0QsU0FBUztnQkFDdkQsR0FBR1ksT0FBTztnQkFDVnNDLFdBQVcvRjtZQUNiO0lBRUo7SUFFQSx5RUFBeUU7SUFDekUsSUFBSTJCLElBQXlCLEVBQWM7UUFDekMsTUFBTSxFQUFFcUUsTUFBTSxFQUFFLEdBQ2QxRCxtQkFBQUEsQ0FBUTtRQUNWMEQ7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FwcC1pbmRleC50c3g/YjZiYyJdLCJuYW1lcyI6WyJoeWRyYXRlIiwib3JpZ0NvbnNvbGVFcnJvciIsIndpbmRvdyIsImNvbnNvbGUiLCJlcnJvciIsImFyZ3MiLCJpc05leHRSb3V0ZXJFcnJvciIsImFwcGx5IiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2IiwicHJldmVudERlZmF1bHQiLCJhcHBFbGVtZW50IiwiZG9jdW1lbnQiLCJlbmNvZGVyIiwiVGV4dEVuY29kZXIiLCJpbml0aWFsU2VydmVyRGF0YUJ1ZmZlciIsInVuZGVmaW5lZCIsImluaXRpYWxTZXJ2ZXJEYXRhV3JpdGVyIiwiaW5pdGlhbFNlcnZlckRhdGFMb2FkZWQiLCJpbml0aWFsU2VydmVyRGF0YUZsdXNoZWQiLCJpbml0aWFsRm9ybVN0YXRlRGF0YSIsIm5leHRTZXJ2ZXJEYXRhQ2FsbGJhY2siLCJzZWciLCJFcnJvciIsImVucXVldWUiLCJlbmNvZGUiLCJwdXNoIiwibmV4dFNlcnZlckRhdGFSZWdpc3RlcldyaXRlciIsImN0ciIsImZvckVhY2giLCJ2YWwiLCJjbG9zZSIsIkRPTUNvbnRlbnRMb2FkZWQiLCJyZWFkeVN0YXRlIiwibmV4dFNlcnZlckRhdGFMb2FkaW5nR2xvYmFsIiwic2VsZiIsIl9fbmV4dF9mIiwicmVhZGFibGUiLCJSZWFkYWJsZVN0cmVhbSIsInN0YXJ0IiwiY29udHJvbGxlciIsImluaXRpYWxTZXJ2ZXJSZXNwb25zZSIsImNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbSIsImNhbGxTZXJ2ZXIiLCJTZXJ2ZXJSb290IiwidXNlIiwiU3RyaWN0TW9kZUlmRW5hYmxlZCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfU1RSSUNUX01PREVfQVBQIiwiUmVhY3QiLCJTdHJpY3RNb2RlIiwiRnJhZ21lbnQiLCJSb290IiwicGFyYW0iLCJjaGlsZHJlbiIsIl9fTkVYVF9BTkFMWVRJQ1NfSUQiLCJ1c2VFZmZlY3QiLCJyZXF1aXJlIiwiX19ORVhUX1RFU1RfTU9ERSIsIl9fTkVYVF9IWURSQVRFRCIsIl9fTkVYVF9IWURSQVRFRF9DQiIsImNhbGwiLCJhY3Rpb25RdWV1ZSIsImNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSIsInJlYWN0RWwiLCJfanN4cnVudGltZSIsImpzeCIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsIlByb3ZpZGVyIiwidmFsdWUiLCJhcHBEaXIiLCJBY3Rpb25RdWV1ZUNvbnRleHQiLCJyb290TGF5b3V0TWlzc2luZ1RhZ3MiLCJfX25leHRfcm9vdF9sYXlvdXRfbWlzc2luZ190YWdzIiwiaGFzTWlzc2luZ1RhZ3MiLCJsZW5ndGgiLCJvcHRpb25zIiwib25SZWNvdmVyYWJsZUVycm9yIiwiaXNFcnJvciIsImRvY3VtZW50RWxlbWVudCIsImlkIiwicGF0Y2hDb25zb2xlRXJyb3IiLCJSZWFjdERldk92ZXJsYXkiLCJkZWZhdWx0IiwiSU5JVElBTF9PVkVSTEFZX1NUQVRFIiwiZ2V0U29ja2V0VXJsIiwiRmFsbGJhY2tMYXlvdXQiLCJodG1sIiwiYm9keSIsImVycm9yVHJlZSIsInN0YXRlIiwib25SZWFjdEVycm9yIiwic29ja2V0VXJsIiwiX19ORVhUX0FTU0VUX1BSRUZJWCIsInNvY2tldCIsIldlYlNvY2tldCIsImhhbmRsZXIiLCJldmVudCIsIm9iaiIsIkpTT04iLCJwYXJzZSIsImRhdGEiLCJlIiwiYWN0aW9uIiwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIiwiU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTIiwibG9jYXRpb24iLCJyZWxvYWQiLCJSZWFjdERPTUNsaWVudCIsImNyZWF0ZVJvb3QiLCJyZW5kZXIiLCJzdGFydFRyYW5zaXRpb24iLCJfY2xpZW50IiwiaHlkcmF0ZVJvb3QiLCJmb3JtU3RhdGUiLCJsaW5rR2MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/app-link-gc.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/app-link-gc.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"linkGc\", ({\n enumerable: true,\n get: function() {\n return linkGc;\n }\n}));\nfunction linkGc() {\n // TODO-APP: Remove this logic when Float has GC built-in in development.\n if (true) {\n const callback = (mutationList)=>{\n for (const mutation of mutationList){\n if (mutation.type === \"childList\") {\n for (const node of mutation.addedNodes){\n if (\"tagName\" in node && node.tagName === \"LINK\") {\n var _link_dataset_precedence;\n const link = node;\n if ((_link_dataset_precedence = link.dataset.precedence) == null ? void 0 : _link_dataset_precedence.startsWith(\"next\")) {\n const href = link.getAttribute(\"href\");\n if (href) {\n const [resource, version] = href.split(\"?v=\", 2);\n if (version) {\n const currentOrigin = window.location.origin;\n const allLinks = [\n ...document.querySelectorAll('link[href^=\"' + resource + '\"]'),\n // It's possible that the resource is a full URL or only pathname,\n // so we need to remove the alternative href as well.\n ...document.querySelectorAll('link[href^=\"' + (resource.startsWith(currentOrigin) ? resource.slice(currentOrigin.length) : currentOrigin + resource) + '\"]')\n ];\n for (const otherLink of allLinks){\n var _otherLink_dataset_precedence;\n if ((_otherLink_dataset_precedence = otherLink.dataset.precedence) == null ? void 0 : _otherLink_dataset_precedence.startsWith(\"next\")) {\n const otherHref = otherLink.getAttribute(\"href\");\n if (otherHref) {\n const [, otherVersion] = otherHref.split(\"?v=\", 2);\n if (!otherVersion || +otherVersion < +version) {\n // Delay the removal of the stylesheet to avoid FOUC\n // caused by `@font-face` rules, as they seem to be\n // a couple of ticks delayed between the old and new\n // styles being swapped even if the font is cached.\n setTimeout(()=>{\n otherLink.remove();\n }, 5);\n const preloadLink = document.querySelector('link[rel=\"preload\"][as=\"style\"][href=\"' + otherHref + '\"]');\n if (preloadLink) {\n preloadLink.remove();\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n };\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(callback);\n observer.observe(document.head, {\n childList: true\n });\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-link-gc.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1saW5rLWdjLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQTtJQUNkLHlFQUF5RTtJQUN6RSxJQUFJQyxJQUF5QixFQUFjO1FBQ3pDLE1BQU1DLFdBQVcsQ0FBQ0M7WUFDaEIsS0FBSyxNQUFNQyxZQUFZRCxhQUFjO2dCQUNuQyxJQUFJQyxTQUFTQyxJQUFJLEtBQUssYUFBYTtvQkFDakMsS0FBSyxNQUFNQyxRQUFRRixTQUFTRyxVQUFVLENBQUU7d0JBQ3RDLElBQ0UsYUFBYUQsUUFDYkEsS0FBMEJFLE9BQU8sS0FBSyxRQUN0QztnQ0FFSUM7NEJBREosTUFBTUEsT0FBT0g7NEJBQ2IsS0FBSUcsMkJBQUFBLEtBQUtDLE9BQU8sQ0FBQ0MsVUFBVSxxQkFBdkJGLHlCQUF5QkcsVUFBVSxDQUFDLFNBQVM7Z0NBQy9DLE1BQU1DLE9BQU9KLEtBQUtLLFlBQVksQ0FBQztnQ0FDL0IsSUFBSUQsTUFBTTtvQ0FDUixNQUFNLENBQUNFLFVBQVVDLFFBQVEsR0FBR0gsS0FBS0ksS0FBSyxDQUFDLE9BQU87b0NBQzlDLElBQUlELFNBQVM7d0NBQ1gsTUFBTUUsZ0JBQWdCQyxPQUFPQyxRQUFRLENBQUNDLE1BQU07d0NBQzVDLE1BQU1DLFdBQVc7K0NBQ1pDLFNBQVNDLGdCQUFnQixDQUMxQixpQkFBaUJULFdBQVc7NENBRTlCLGtFQUFrRTs0Q0FDbEUscURBQXFEOytDQUNsRFEsU0FBU0MsZ0JBQWdCLENBQzFCLGlCQUNHVCxDQUFBQSxTQUFTSCxVQUFVLENBQUNNLGlCQUNqQkgsU0FBU1UsS0FBSyxDQUFDUCxjQUFjUSxNQUFNLElBQ25DUixnQkFBZ0JILFFBQUFBLElBQ3BCO3lDQUVMO3dDQUVELEtBQUssTUFBTVksYUFBYUwsU0FBVTtnREFDNUJLOzRDQUFKLEtBQUlBLGdDQUFBQSxVQUFVakIsT0FBTyxDQUFDQyxVQUFVLHFCQUE1QmdCLDhCQUE4QmYsVUFBVSxDQUFDLFNBQVM7Z0RBQ3BELE1BQU1nQixZQUFZRCxVQUFVYixZQUFZLENBQUM7Z0RBQ3pDLElBQUljLFdBQVc7b0RBQ2IsTUFBTSxHQUFHQyxhQUFhLEdBQUdELFVBQVVYLEtBQUssQ0FBQyxPQUFPO29EQUNoRCxJQUFJLENBQUNZLGdCQUFnQixDQUFDQSxlQUFlLENBQUNiLFNBQVM7d0RBQzdDLG9EQUFvRDt3REFDcEQsbURBQW1EO3dEQUNuRCxvREFBb0Q7d0RBQ3BELG1EQUFtRDt3REFDbkRjLFdBQVc7NERBQ1RILFVBQVVJLE1BQU07d0RBQ2xCLEdBQUc7d0RBQ0gsTUFBTUMsY0FBY1QsU0FBU1UsYUFBYSxDQUN4QywyQ0FBeUNMLFlBQVU7d0RBRXJELElBQUlJLGFBQWE7NERBQ2ZBLFlBQVlELE1BQU07d0RBQ3BCO29EQUNGO2dEQUNGOzRDQUNGO3dDQUNGO29DQUNGO2dDQUNGOzRCQUNGO3dCQUNGO29CQUNGO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLDhEQUE4RDtRQUM5RCxNQUFNRyxXQUFXLElBQUlDLGlCQUFpQmpDO1FBQ3RDZ0MsU0FBU0UsT0FBTyxDQUFDYixTQUFTYyxJQUFJLEVBQUU7WUFDOUJDLFdBQVc7UUFDYjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvYXBwLWxpbmstZ2MudHM/YzRlMiJdLCJuYW1lcyI6WyJsaW5rR2MiLCJwcm9jZXNzIiwiY2FsbGJhY2siLCJtdXRhdGlvbkxpc3QiLCJtdXRhdGlvbiIsInR5cGUiLCJub2RlIiwiYWRkZWROb2RlcyIsInRhZ05hbWUiLCJsaW5rIiwiZGF0YXNldCIsInByZWNlZGVuY2UiLCJzdGFydHNXaXRoIiwiaHJlZiIsImdldEF0dHJpYnV0ZSIsInJlc291cmNlIiwidmVyc2lvbiIsInNwbGl0IiwiY3VycmVudE9yaWdpbiIsIndpbmRvdyIsImxvY2F0aW9uIiwib3JpZ2luIiwiYWxsTGlua3MiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzbGljZSIsImxlbmd0aCIsIm90aGVyTGluayIsIm90aGVySHJlZiIsIm90aGVyVmVyc2lvbiIsInNldFRpbWVvdXQiLCJyZW1vdmUiLCJwcmVsb2FkTGluayIsInF1ZXJ5U2VsZWN0b3IiLCJvYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJvYnNlcnZlIiwiaGVhZCIsImNoaWxkTGlzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-link-gc.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/app-next-dev.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/app-next-dev.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO-APP: hydration warning\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n__webpack_require__(/*! ./app-webpack */ \"(app-pages-browser)/./node_modules/next/dist/client/app-webpack.js\");\nconst _appbootstrap = __webpack_require__(/*! ./app-bootstrap */ \"(app-pages-browser)/./node_modules/next/dist/client/app-bootstrap.js\");\n(0, _appbootstrap.appBootstrap)(()=>{\n const { hydrate } = __webpack_require__(/*! ./app-index */ \"(app-pages-browser)/./node_modules/next/dist/client/app-index.js\");\n hydrate();\n}) // TODO-APP: build indicator\n;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-next-dev.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1uZXh0LWRldi5qcyIsIm1hcHBpbmdzIjoiQUFBQSw4QkFBOEI7Ozs7O29CQUV2QjswQ0FDc0I7QUFFN0JBLENBQUFBLEdBQUFBLGNBQUFBLFlBQVksRUFBQztJQUNYLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUdDLG1CQUFBQSxDQUFRO0lBQzVCRDtBQUNGLEdBRUEsNEJBQTRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FwcC1uZXh0LWRldi50cz81NDc4Il0sIm5hbWVzIjpbImFwcEJvb3RzdHJhcCIsImh5ZHJhdGUiLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-next-dev.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/app-webpack.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/app-webpack.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Override chunk URL mapping in the webpack runtime\n// https://github.com/webpack/webpack/blob/2738eebc7880835d88c727d364ad37f3ec557593/lib/RuntimeGlobals.js#L204\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _deploymentid = __webpack_require__(/*! ../build/deployment-id */ \"(app-pages-browser)/./node_modules/next/dist/build/deployment-id.js\");\n// If we have a deployment ID, we need to append it to the webpack chunk names\n// I am keeping the process check explicit so this can be statically optimized\nif (false) {} else {\n // eslint-disable-next-line no-undef\n const getChunkScriptFilename = __webpack_require__.u;\n // eslint-disable-next-line no-undef\n __webpack_require__.u = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n return(// filename path.\n encodeURI(getChunkScriptFilename(...args)));\n };\n// We don't need to override __webpack_require__.k because we don't modify\n// the css chunk name when not using deployment id suffixes\n// WE don't need to override __webpack_require__.miniCssF because we don't modify\n// the mini css chunk name when not using deployment id suffixes\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-webpack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC13ZWJwYWNrLmpzIiwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCw4R0FBOEc7Ozs7OzBDQUU1RDtBQUlsRCw4RUFBOEU7QUFDOUUsOEVBQThFO0FBQzlFLElBQUlBLEtBQThCLEVBQUUsRUFxQnBDLE1BQU87SUFDTCxvQ0FBb0M7SUFDcEMsTUFBTUsseUJBQXlCQyxtQkFBQUEsQ0FBb0JDLENBQUM7SUFDcEQsb0NBQW9DO0lBQ3BDRCxtQkFBQUEsQ0FBb0JDLENBQUMsR0FBRzt5Q0FBSUMsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7WUFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O2VBRTFCLGlCQUFpQjtRQUNqQkMsVUFBVUosMEJBQTBCRzs7QUFFdEMsMEVBQTBFO0FBQzFFLDJEQUEyRDtBQUUzRCxpRkFBaUY7QUFDakYsZ0VBQWdFO0FBQ2xFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FwcC13ZWJwYWNrLnRzP2I0Y2EiXSwibmFtZXMiOlsicHJvY2VzcyIsImVudiIsIk5FWFRfREVQTE9ZTUVOVF9JRCIsInN1ZmZpeCIsImdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZyIsImdldENodW5rU2NyaXB0RmlsZW5hbWUiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwidSIsImFyZ3MiLCJlbmNvZGVVUkkiLCJnZXRDaHVua0Nzc0ZpbGVuYW1lIiwiayIsImdldE1pbmlDc3NGaWxlbmFtZSIsIm1pbmlDc3NGIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-webpack.js\n")); - -/***/ }), - -/***/ "(shared)/./node_modules/next/dist/client/components/action-async-storage.external.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/action-async-storage.external.js ***! - \***********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("\"TURBOPACK { transition: next-shared }\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"actionAsyncStorage\", ({\n enumerable: true,\n get: function() {\n return _actionasyncstorageinstance.actionAsyncStorage;\n }\n}));\nconst _actionasyncstorageinstance = __webpack_require__(/*! ./action-async-storage-instance */ \"(shared)/./node_modules/next/dist/client/components/action-async-storage-instance.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=action-async-storage.external.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FjdGlvbi1hc3luYy1zdG9yYWdlLmV4dGVybmFsLmpzIiwibWFwcGluZ3MiOiJBQUlFOzs7OztzREFTT0E7OztlQUFBQSw0QkFBQUEsa0JBQWtCOzs7d0RBUlEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9hY3Rpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbC50cz83YzljIl0sIm5hbWVzIjpbImFjdGlvbkFzeW5jU3RvcmFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(shared)/./node_modules/next/dist/client/components/action-async-storage.external.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/app-router-announcer.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/app-router-announcer.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AppRouterAnnouncer\", ({\n enumerable: true,\n get: function() {\n return AppRouterAnnouncer;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\nconst ANNOUNCER_TYPE = \"next-route-announcer\";\nconst ANNOUNCER_ID = \"__next-route-announcer__\";\nfunction getAnnouncerNode() {\n var _existingAnnouncer_shadowRoot;\n const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0];\n if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) {\n return existingAnnouncer.shadowRoot.childNodes[0];\n } else {\n const container = document.createElement(ANNOUNCER_TYPE);\n container.style.cssText = \"position:absolute\";\n const announcer = document.createElement(\"div\");\n announcer.ariaLive = \"assertive\";\n announcer.id = ANNOUNCER_ID;\n announcer.role = \"alert\";\n announcer.style.cssText = \"position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal\";\n // Use shadow DOM here to avoid any potential CSS bleed\n const shadow = container.attachShadow({\n mode: \"open\"\n });\n shadow.appendChild(announcer);\n document.body.appendChild(container);\n return announcer;\n }\n}\nfunction AppRouterAnnouncer(param) {\n let { tree } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const announcer = getAnnouncerNode();\n setPortalNode(announcer);\n return ()=>{\n const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0];\n if (container == null ? void 0 : container.isConnected) {\n document.body.removeChild(container);\n }\n };\n }, []);\n const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(\"\");\n const previousTitle = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n let currentTitle = \"\";\n if (document.title) {\n currentTitle = document.title;\n } else {\n const pageHeader = document.querySelector(\"h1\");\n if (pageHeader) {\n currentTitle = pageHeader.innerText || pageHeader.textContent || \"\";\n }\n }\n // Only announce the title change, but not for the first load because screen\n // readers do that automatically.\n if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) {\n setRouteAnnouncement(currentTitle);\n }\n previousTitle.current = currentTitle;\n }, [\n tree\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null;\n}\n_c = AppRouterAnnouncer;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-announcer.js.map\nvar _c;\n$RefreshReg$(_c, \"AppRouterAnnouncer\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1hbm5vdW5jZXIuanMiLCJtYXBwaW5ncyI6Ijs7OztzREE2QmdCQTs7O2VBQUFBOzs7bUNBN0I0QjtzQ0FDZjtBQUc3QixNQUFNQyxpQkFBaUI7QUFDdkIsTUFBTUMsZUFBZTtBQUVyQixTQUFTQztRQUVIQztJQURKLE1BQU1BLG9CQUFvQkMsU0FBU0MsaUJBQWlCLENBQUNMLGVBQWUsQ0FBQyxFQUFFO0lBQ3ZFLElBQUlHLHFCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxnQ0FBQUEsa0JBQW1CRyxVQUFVLHFCQUE3QkgsOEJBQStCSSxVQUFVLENBQUMsRUFBRSxFQUFFO1FBQ2hELE9BQU9KLGtCQUFrQkcsVUFBVSxDQUFDQyxVQUFVLENBQUMsRUFBRTtJQUNuRCxPQUFPO1FBQ0wsTUFBTUMsWUFBWUosU0FBU0ssYUFBYSxDQUFDVDtRQUN6Q1EsVUFBVUUsS0FBSyxDQUFDQyxPQUFPLEdBQUc7UUFDMUIsTUFBTUMsWUFBWVIsU0FBU0ssYUFBYSxDQUFDO1FBQ3pDRyxVQUFVQyxRQUFRLEdBQUc7UUFDckJELFVBQVVFLEVBQUUsR0FBR2I7UUFDZlcsVUFBVUcsSUFBSSxHQUFHO1FBQ2pCSCxVQUFVRixLQUFLLENBQUNDLE9BQU8sR0FDckI7UUFFRix1REFBdUQ7UUFDdkQsTUFBTUssU0FBU1IsVUFBVVMsWUFBWSxDQUFDO1lBQUVDLE1BQU07UUFBTztRQUNyREYsT0FBT0csV0FBVyxDQUFDUDtRQUNuQlIsU0FBU2dCLElBQUksQ0FBQ0QsV0FBVyxDQUFDWDtRQUMxQixPQUFPSTtJQUNUO0FBQ0Y7QUFFTyxTQUFTYixtQkFBbUJzQixLQUFxQztJQUFyQyxNQUFFQyxJQUFJLEVBQStCLEdBQXJDRDtJQUNqQyxNQUFNLENBQUNFLFlBQVlDLGNBQWMsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsUUFBUSxFQUFxQjtJQUVqRUMsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBUyxFQUFDO1FBQ1IsTUFBTWQsWUFBWVY7UUFDbEJzQixjQUFjWjtRQUNkLE9BQU87WUFDTCxNQUFNSixZQUFZSixTQUFTdUIsb0JBQW9CLENBQUMzQixlQUFlLENBQUMsRUFBRTtZQUNsRSxJQUFJUSxhQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxVQUFXb0IsV0FBVyxFQUFFO2dCQUMxQnhCLFNBQVNnQixJQUFJLENBQUNTLFdBQVcsQ0FBQ3JCO1lBQzVCO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCxNQUFNLENBQUNzQixtQkFBbUJDLHFCQUFxQixHQUFHTixDQUFBQSxHQUFBQSxPQUFBQSxRQUFRLEVBQUM7SUFDM0QsTUFBTU8sZ0JBQWdCQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFNO0lBRTVCUCxDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUixJQUFJUSxlQUFlO1FBQ25CLElBQUk5QixTQUFTK0IsS0FBSyxFQUFFO1lBQ2xCRCxlQUFlOUIsU0FBUytCLEtBQUs7UUFDL0IsT0FBTztZQUNMLE1BQU1DLGFBQWFoQyxTQUFTaUMsYUFBYSxDQUFDO1lBQzFDLElBQUlELFlBQVk7Z0JBQ2RGLGVBQWVFLFdBQVdFLFNBQVMsSUFBSUYsV0FBV0csV0FBVyxJQUFJO1lBQ25FO1FBQ0Y7UUFFQSw0RUFBNEU7UUFDNUUsaUNBQWlDO1FBQ2pDLElBQ0VQLGNBQWNRLE9BQU8sS0FBS0MsYUFDMUJULGNBQWNRLE9BQU8sS0FBS04sY0FDMUI7WUFDQUgscUJBQXFCRztRQUN2QjtRQUNBRixjQUFjUSxPQUFPLEdBQUdOO0lBQzFCLEdBQUc7UUFBQ1o7S0FBSztJQUVULE9BQU9DLGFBQWFtQixXQUFibkIsR0FBYW1CLENBQUFBLEdBQUFBLFVBQUFBLFlBQVksRUFBQ1osbUJBQW1CUCxjQUFjO0FBQ3BFO0tBeENnQnhCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1hbm5vdW5jZXIudHN4P2FkZTMiXSwibmFtZXMiOlsiQXBwUm91dGVyQW5ub3VuY2VyIiwiQU5OT1VOQ0VSX1RZUEUiLCJBTk5PVU5DRVJfSUQiLCJnZXRBbm5vdW5jZXJOb2RlIiwiZXhpc3RpbmdBbm5vdW5jZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRzQnlOYW1lIiwic2hhZG93Um9vdCIsImNoaWxkTm9kZXMiLCJjb250YWluZXIiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJjc3NUZXh0IiwiYW5ub3VuY2VyIiwiYXJpYUxpdmUiLCJpZCIsInJvbGUiLCJzaGFkb3ciLCJhdHRhY2hTaGFkb3ciLCJtb2RlIiwiYXBwZW5kQ2hpbGQiLCJib2R5IiwicGFyYW0iLCJ0cmVlIiwicG9ydGFsTm9kZSIsInNldFBvcnRhbE5vZGUiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaXNDb25uZWN0ZWQiLCJyZW1vdmVDaGlsZCIsInJvdXRlQW5ub3VuY2VtZW50Iiwic2V0Um91dGVBbm5vdW5jZW1lbnQiLCJwcmV2aW91c1RpdGxlIiwidXNlUmVmIiwiY3VycmVudFRpdGxlIiwidGl0bGUiLCJwYWdlSGVhZGVyIiwicXVlcnlTZWxlY3RvciIsImlubmVyVGV4dCIsInRleHRDb250ZW50IiwiY3VycmVudCIsInVuZGVmaW5lZCIsImNyZWF0ZVBvcnRhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/app-router-announcer.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/app-router-headers.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION: function() {\n return ACTION;\n },\n FLIGHT_PARAMETERS: function() {\n return FLIGHT_PARAMETERS;\n },\n NEXT_DID_POSTPONE_HEADER: function() {\n return NEXT_DID_POSTPONE_HEADER;\n },\n NEXT_ROUTER_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_PREFETCH_HEADER;\n },\n NEXT_ROUTER_STATE_TREE: function() {\n return NEXT_ROUTER_STATE_TREE;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\n },\n NEXT_URL: function() {\n return NEXT_URL;\n },\n RSC_CONTENT_TYPE_HEADER: function() {\n return RSC_CONTENT_TYPE_HEADER;\n },\n RSC_HEADER: function() {\n return RSC_HEADER;\n }\n});\nconst RSC_HEADER = \"RSC\";\nconst ACTION = \"Next-Action\";\nconst NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nconst NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nconst NEXT_URL = \"Next-Url\";\nconst RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nconst FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nconst NEXT_RSC_UNION_QUERY = \"_rsc\";\nconst NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1oZWFkZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUNhQSxRQUFNO2VBQU5BOztJQU9BQyxtQkFBaUI7ZUFBakJBOztJQVFBQywwQkFBd0I7ZUFBeEJBOztJQVpBQyw2QkFBMkI7ZUFBM0JBOztJQURBQyx3QkFBc0I7ZUFBdEJBOztJQVdBQyxzQkFBb0I7ZUFBcEJBOztJQVRBQyxVQUFRO2VBQVJBOztJQUNBQyx5QkFBdUI7ZUFBdkJBOztJQU5BQyxZQUFVO2VBQVZBOzs7QUFBTixNQUFNQSxhQUFhO0FBQ25CLE1BQU1SLFNBQVM7QUFFZixNQUFNSSx5QkFBeUI7QUFDL0IsTUFBTUQsOEJBQThCO0FBQ3BDLE1BQU1HLFdBQVc7QUFDakIsTUFBTUMsMEJBQTBCO0FBRWhDLE1BQU1OLG9CQUFvQjtJQUMvQjtRQUFDTztLQUFXO0lBQ1o7UUFBQ0o7S0FBdUI7SUFDeEI7UUFBQ0Q7S0FBNEI7Q0FDOUI7QUFFTSxNQUFNRSx1QkFBdUI7QUFFN0IsTUFBTUgsMkJBQTJCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1oZWFkZXJzLnRzP2Y5NGUiXSwibmFtZXMiOlsiQUNUSU9OIiwiRkxJR0hUX1BBUkFNRVRFUlMiLCJORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIiLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJORVhUX1JPVVRFUl9TVEFURV9UUkVFIiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJORVhUX1VSTCIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiUlNDX0hFQURFUiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/components/app-router.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createEmptyCacheNode: function() {\n return createEmptyCacheNode;\n },\n default: function() {\n return AppRouter;\n },\n getServerActionDispatcher: function() {\n return getServerActionDispatcher;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./router-reducer/create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\");\nconst _usereducerwithdevtools = __webpack_require__(/*! ./use-reducer-with-devtools */ \"(app-pages-browser)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _createinitialrouterstate = __webpack_require__(/*! ./router-reducer/create-initial-router-state */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\");\nconst _isbot = __webpack_require__(/*! ../../shared/lib/router/utils/is-bot */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _approuterannouncer = __webpack_require__(/*! ./app-router-announcer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-announcer.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _findheadincache = __webpack_require__(/*! ./router-reducer/reducers/find-head-in-cache */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/unresolved-thenable.js\");\nconst _approuterheaders = __webpack_require__(/*! ./app-router-headers */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _removebasepath = __webpack_require__(/*! ../remove-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst isServer = typeof window === \"undefined\";\n// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.\nlet initialParallelRoutes = isServer ? null : new Map();\nlet globalServerActionDispatcher = null;\nfunction getServerActionDispatcher() {\n return globalServerActionDispatcher;\n}\nconst globalMutable = {};\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\n// this function performs a depth-first search of the tree to find the selected\n// params\nfunction getSelectedParams(currentTree, params) {\n if (params === void 0) params = {};\n const parallelRoutes = currentTree[1];\n for (const parallelRoute of Object.values(parallelRoutes)){\n const segment = parallelRoute[0];\n const isDynamicParameter = Array.isArray(segment);\n const segmentValue = isDynamicParameter ? segment[1] : segment;\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) continue;\n // Ensure catchAll and optional catchall are turned into an array\n const isCatchAll = isDynamicParameter && (segment[2] === \"c\" || segment[2] === \"oc\");\n if (isCatchAll) {\n params[segment[0]] = segment[1].split(\"/\");\n } else if (isDynamicParameter) {\n params[segment[0]] = segment[1];\n }\n params = getSelectedParams(parallelRoute, params);\n }\n return params;\n}\nfunction isExternalURL(url) {\n return url.origin !== window.location.origin;\n}\nfunction HistoryUpdater(param) {\n let { appRouterState, sync } = param;\n (0, _react.useInsertionEffect)(()=>{\n const { tree, pushRef, canonicalUrl } = appRouterState;\n const historyState = {\n ...pushRef.preserveCustomHistoryState ? window.history.state : {},\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: tree\n };\n if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false;\n window.history.pushState(historyState, \"\", canonicalUrl);\n } else {\n window.history.replaceState(historyState, \"\", canonicalUrl);\n }\n sync(appRouterState);\n }, [\n appRouterState,\n sync\n ]);\n return null;\n}\n_c = HistoryUpdater;\nfunction createEmptyCacheNode() {\n return {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n}\nfunction useServerActionDispatcher(dispatch) {\n const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n ...actionPayload,\n type: _routerreducertypes.ACTION_SERVER_ACTION\n });\n });\n }, [\n dispatch\n ]);\n globalServerActionDispatcher = serverActionDispatcher;\n}\n/**\n * Server response that only patches the cache and tree.\n */ function useChangeByServerResponse(dispatch) {\n return (0, _react.useCallback)((param)=>{\n let { previousTree, serverResponse } = param;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_SERVER_PATCH,\n previousTree,\n serverResponse\n });\n });\n }, [\n dispatch\n ]);\n}\nfunction useNavigate(dispatch) {\n return (0, _react.useCallback)((href, navigateType, shouldScroll)=>{\n const url = new URL((0, _addbasepath.addBasePath)(href), location.href);\n return dispatch({\n type: _routerreducertypes.ACTION_NAVIGATE,\n url,\n isExternalUrl: isExternalURL(url),\n locationSearch: location.search,\n shouldScroll: shouldScroll != null ? shouldScroll : true,\n navigateType\n });\n }, [\n dispatch\n ]);\n}\nfunction copyNextJsInternalHistoryState(data) {\n if (data == null) data = {};\n const currentState = window.history.state;\n const __NA = currentState == null ? void 0 : currentState.__NA;\n if (__NA) {\n data.__NA = __NA;\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE;\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE;\n }\n return data;\n}\nfunction Head(param) {\n let { headCacheNode } = param;\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null;\n const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null;\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `head`.\n return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc);\n}\n_c1 = Head;\n/**\n * The global router that wraps the application components.\n */ function Router(param) {\n _s();\n let { buildId, initialHead, initialTree, initialCanonicalUrl, initialSeedData, couldBeIntercepted, assetPrefix, missingSlots } = param;\n const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialParallelRoutes,\n location: !isServer ? window.location : null,\n initialHead,\n couldBeIntercepted\n }), [\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialHead,\n couldBeIntercepted\n ]);\n const [reducerState, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(initialState);\n (0, _react.useEffect)(()=>{\n // Ensure initialParallelRoutes is cleaned up from memory once it's used.\n initialParallelRoutes = null;\n }, []);\n const { canonicalUrl } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = (0, _react.useMemo)(()=>{\n const url = new URL(canonicalUrl, typeof window === \"undefined\" ? \"http://n\" : window.location.href);\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname\n };\n }, [\n canonicalUrl\n ]);\n const changeByServerResponse = useChangeByServerResponse(dispatch);\n const navigate = useNavigate(dispatch);\n useServerActionDispatcher(dispatch);\n /**\n * The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.\n */ const appRouter = (0, _react.useMemo)(()=>{\n const routerInstance = {\n back: ()=>window.history.back(),\n forward: ()=>window.history.forward(),\n prefetch: (href, options)=>{\n // Don't prefetch for bots as they don't navigate.\n // Don't prefetch during development (improves compilation performance)\n if ((0, _isbot.isBot)(window.navigator.userAgent) || \"development\" === \"development\") {\n return;\n }\n const url = new URL((0, _addbasepath.addBasePath)(href), window.location.href);\n // External urls can't be prefetched in the same way.\n if (isExternalURL(url)) {\n return;\n }\n (0, _react.startTransition)(()=>{\n var _options_kind;\n dispatch({\n type: _routerreducertypes.ACTION_PREFETCH,\n url,\n kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL\n });\n });\n },\n replace: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"replace\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n push: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"push\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n refresh: ()=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n });\n });\n },\n fastRefresh: ()=>{\n if (false) {} else {\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_FAST_REFRESH,\n origin: window.location.origin\n });\n });\n }\n }\n };\n return routerInstance;\n }, [\n dispatch,\n navigate\n ]);\n (0, _react.useEffect)(()=>{\n // Exists for debugging purposes. Don't use in application code.\n if (window.next) {\n window.next.router = appRouter;\n }\n }, [\n appRouter\n ]);\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { cache, prefetchCache, tree } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: appRouter,\n cache,\n prefetchCache,\n tree\n };\n }, [\n appRouter,\n cache,\n prefetchCache,\n tree\n ]);\n }\n (0, _react.useEffect)(()=>{\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event) {\n var _window_history_state;\n if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) {\n return;\n }\n // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered.\n // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value\n // of the last MPA navigation.\n globalMutable.pendingMpaPath = undefined;\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n }\n window.addEventListener(\"pageshow\", handlePageShow);\n return ()=>{\n window.removeEventListener(\"pageshow\", handlePageShow);\n };\n }, [\n dispatch\n ]);\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location1 = window.location;\n if (pushRef.pendingPush) {\n location1.assign(canonicalUrl);\n } else {\n location1.replace(canonicalUrl);\n }\n globalMutable.pendingMpaPath = canonicalUrl;\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n (0, _react.useEffect)(()=>{\n const originalPushState = window.history.pushState.bind(window.history);\n const originalReplaceState = window.history.replaceState.bind(window.history);\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (url)=>{\n var _window_history_state;\n const href = window.location.href;\n const tree = (_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(url != null ? url : href, href),\n tree\n });\n });\n };\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.pushState = function pushState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalPushState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalPushState(data, _unused, url);\n };\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.replaceState = function replaceState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalReplaceState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalReplaceState(data, _unused, url);\n };\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */ const onPopState = (param)=>{\n let { state } = param;\n if (!state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return;\n }\n // This case happens when the history entry was pushed by the `pages` router.\n if (!state.__NA) {\n window.location.reload();\n return;\n }\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n });\n };\n // Register popstate event to call onPopstate.\n window.addEventListener(\"popstate\", onPopState);\n return ()=>{\n window.history.pushState = originalPushState;\n window.history.replaceState = originalReplaceState;\n window.removeEventListener(\"popstate\", onPopState);\n };\n }, [\n dispatch\n ]);\n const { cache, tree, nextUrl, focusAndScrollRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n const matchingHead = (0, _react.useMemo)(()=>{\n return (0, _findheadincache.findHeadInCache)(cache, tree[1]);\n }, [\n cache,\n tree\n ]);\n // Add memoized pathParams for useParams.\n const pathParams = (0, _react.useMemo)(()=>{\n return getSelectedParams(tree);\n }, [\n tree\n ]);\n let head;\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey] = matchingHead;\n head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {\n headCacheNode: headCacheNode\n }, headKey);\n } else {\n head = null;\n }\n let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {\n children: [\n head,\n cache.rsc,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, {\n tree: tree\n })\n ]\n });\n if (true) {\n if (typeof window !== \"undefined\") {\n const DevRootNotFoundBoundary = (__webpack_require__(/*! ./dev-root-not-found-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/dev-root-not-found-boundary.js\").DevRootNotFoundBoundary);\n content = /*#__PURE__*/ (0, _jsxruntime.jsx)(DevRootNotFoundBoundary, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.MissingSlotContext.Provider, {\n value: missingSlots,\n children: content\n })\n });\n }\n const HotReloader = (__webpack_require__(/*! ./react-dev-overlay/app/hot-reloader-client */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\")[\"default\"]);\n content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, {\n assetPrefix: assetPrefix,\n children: content\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, {\n appRouterState: (0, _usereducerwithdevtools.useUnwrapState)(reducerState),\n sync: sync\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, {\n value: pathParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: pathname,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: searchParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {\n value: {\n buildId,\n changeByServerResponse,\n tree,\n focusAndScrollRef,\n nextUrl\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: appRouter,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n childNodes: cache.parallelRoutes,\n tree,\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl,\n loading: cache.loading\n },\n children: content\n })\n })\n })\n })\n })\n })\n ]\n });\n}\n_s(Router, \"q0MfV9e9/a1iyE4/7qfUaQkhGE8=\", false, function() {\n return [\n useChangeByServerResponse,\n useNavigate,\n useServerActionDispatcher\n ];\n});\n_c2 = Router;\nfunction AppRouter(props) {\n const { globalErrorComponent, ...rest } = props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: globalErrorComponent,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, {\n ...rest\n })\n });\n}\n_c3 = AppRouter;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router.js.map\nvar _c, _c1, _c2, _c3;\n$RefreshReg$(_c, \"HistoryUpdater\");\n$RefreshReg$(_c1, \"Head\");\n$RefreshReg$(_c2, \"Router\");\n$RefreshReg$(_c3, \"AppRouter\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O1FBbUxnQkEsU0FBQUE7MEJBQUFBOztJQXlnQmhCOzs7SUFqbkJnQkM7K0JBQUFBOztJQVFBQztpQ0FBQUE7Ozs7Ozt1REFsRVRDLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7dUNBZUFBLG1CQUFBQSxDQUFBO2dEQVEyQjs7eUNBVTNCQSxtQkFBQUEsQ0FBQTtnQ0FDdUJBLG1CQUFBQSxDQUFBOztrQ0FHUkEsbUJBQUFBLENBQUE7OztnREFHVzs4Q0FDRDs7Z0RBRUs7OENBQ047NENBQ0g7eUNBQ0s7QUFHakMsTUFBTUMsV0FBV0QsbUJBQUFBLENBQU9FLG9HQUFBQTtBQUV4QixNQUFBRCxXQUFBLE9BQUFDLFdBQUE7QUFDQSxpSEFFUUM7QUFFUixJQUFJQyx3QkFBQUEsV0FBK0IsV0FBQUQ7QUFFNUIsSUFBQUMsK0JBQVNQO1NBQ2RBO0lBQ0YsT0FBQU87QUFFQTtBQUlPLE1BQUFDLGdCQUFTUCxDQUFBQTtTQUNkQSw0QkFBTVEsR0FBNkI7SUFDbkNBLE1BQUFBLDZCQUEyQkMsSUFBWUMsSUFBQ0MsS0FBT0MsU0FBQUEsTUFBQUE7SUFDL0NKLDJCQUF3QkMsWUFBSyxDQUFBRSxNQUFjLENBQUFFLGtCQUFBRCxvQkFBQTtRQUN6Q0UsS0FDY0MsRUFBb0IsRUFTcEM7SUFDRixPQUFBUDtBQUVBO0FBQ0EsK0VBQVM7QUFDVCxTQUFTWTtTQUVQQyxrQkFBQUEsV0FBa0IsRUFBQUEsTUFBQTtJQUVsQixJQUFBQSxXQUFNQyxLQUFBQSxHQUFpQkMsU0FBQUEsQ0FBQUE7SUFFdkIsTUFBS0QsaUJBQU1FLFdBQWlCQyxDQUFPQyxFQUFBQTtTQUNqQyxNQUFNQyxpQkFBVUgsT0FBY0UsTUFBRSxDQUFBSixnQkFBQTtRQUNoQyxNQUFNTSxVQUFBQSxhQUFxQkMsQ0FBQUEsRUFBQUE7UUFDM0IsTUFBTUMscUJBQWVGLE1BQUFBLE9BQUFBLENBQUFBO1FBQ3JCLE1BQUtFLGVBQWdCQSxxQkFBYUMsT0FBV0MsQ0FBQUEsRUFBQUEsR0FBQUE7UUFFN0MsS0FBQUYsZ0JBQUFBLGFBQUFDLFVBQUEsQ0FBQUUsU0FBQUQsZ0JBQWlFO1FBQ2pFLGlFQUMrQ0w7UUFFL0MsTUFBSU8sYUFBWU4sc0JBQUFELENBQUFBLE9BQUEsZUFBQUEsT0FBQTtZQUNkTixZQUFPTTtZQUNUTixNQUFPLENBQUlPLE9BQUFBLENBQUFBLEVBQUFBLENBQUFBLEdBQUFBLE9BQW9CLElBQUFPLEtBQUE7ZUFDN0JkLElBQU9NLG9CQUFjQTtZQUN2Qk4sTUFBQSxDQUFBTSxPQUFBLE9BQUFBLE9BQUE7UUFFQU47UUFDRkEsU0FBQUQsa0JBQUFJLGVBQUFIO0lBRUE7SUFDRixPQUFBQTtBQVlBO1NBQ0VlLGNBQWlCQyxHQUFLakM7SUFDeEIsT0FBQWlDLElBQUFDLE1BQUEsS0FBQWxDLE9BQUFtQyxRQUFBLENBQUFELE1BQUE7QUFFQTtTQUF3QkUsZUFDUkMsS0FDZEM7SUFLQUMsSUFBQUEsRUFBQUEsY0FBQUEsRUFBQUEsSUFBQUEsRUFBQUEsR0FBbUJGO1FBQ2pCRyxPQUFNRCxrQkFBaUJFLEVBQUFBO1FBQ3ZCLE1BQU1DLEVBQUFBLElBQUFBLEVBQUFBLE9BQWUsRUFBQUQsWUFBQSxLQUFBRTtjQUNuQkQsZUFBWUU7WUFDWixHQUFBQyxRQUFBRCwwQkFBQSxHQUFBNUMsT0FBeUM4QyxPQUFBLENBQUFDLEtBQUE7WUFDekM7WUFDQSxrRkFBaUY7WUFDakZDLGlGQUFNO1lBQ05DLE1BQUFBO1lBQ0ZBLGlDQUFBQztRQUNBO1FBR0UsSUFBQUwsUUFBQU0sV0FBQSxtR0FBMkQ7UUFDM0RDLDJEQUFpQ2pCO1lBRWpDa0IsbUJBQUFELGlCQUFBLE1BQUE5QyxJQUFBTixPQUFBbUMsUUFBQSxDQUFBbUIsSUFBQSxPQUFBYixjQUFBO1lBQ0FJLHFKQUFzQjtZQUN0QjdDLFFBQU84QyxXQUFRUyxHQUFBQTtZQUNqQnZELE9BQU84QyxPQUFBLENBQUFTLFNBQUEsQ0FBQWIsY0FBQSxJQUFBRDtlQUNMekM7WUFDRkEsT0FBQThDLE9BQUEsQ0FBQVUsWUFBQSxDQUFBZCxjQUFBLElBQUFEO1FBRUFIO1FBQ0NBLEtBQUFLOztRQUFpQkw7UUFBS0E7S0FDekI7SUFDRjtBQUVPO0tBbkNpQkY7U0FvQ3RCMUM7V0FDRStEO1FBQ0FDLFVBQUs7UUFDTEMsS0FBQUE7UUFDQUMsYUFBTTtRQUNOQyxNQUFBQTtRQUNBM0MsY0FBQUE7UUFDQTRDLGdCQUFBQSxJQUFrQjdEO1FBQ2xCOEQsa0JBQVM7UUFDWEEsU0FBQTtJQUNGO0FBRUE7U0FDRUMsMEJBQXVEQyxRQUFBQTtVQUVuREMseUJBQWUsQ0FBQyxHQUFBMUIsT0FBQXlCLFdBQUEsR0FBQUU7WUFDZEMsT0FBQUEsZUFBUztxQkFDSkQ7Z0JBQ0hFLEdBQUFBLGFBQU1DO2dCQUNSRCxNQUFBRSxvQkFBQUQsb0JBQUE7WUFDRjtRQUVGOztRQUFVRjtLQUVabEU7SUFDRkEsK0JBQUFzRTtBQUVBOzs7SUFNRSxTQUFPUCwwQkFDTEcsUUFBQTtXQUFDLElBQUVLLE9BQUFBLFdBQWNDLEVBQUFBLENBQUFBO1FBQ2ZSLElBQUFBLEVBQUFBLFlBQUFBLEVBQUFBLGNBQWdCLEtBQUE3QjtZQUNkK0IsT0FBQUEsZUFBUztxQkFDUEM7Z0JBQ0FJLE1BQUFBLG9CQUFBQSxtQkFBQUE7Z0JBQ0FDO2dCQUNGQTtZQUNGO1FBRUY7O1FBQVVOO0tBRWQ7QUFFQTtTQUNFTyxZQUFPVixRQUFBQTtXQUVILElBQU1oQyxPQUFNZ0MsV0FBUVcsRUFBQUEsQ0FBQUEsTUFBQUEsY0FBV0M7UUFFL0IsTUFBQTVDLE1BQU9tQyxJQUFTOUQsSUFBQSxJQUFBd0UsYUFBQUYsV0FBQSxFQUFBdEIsT0FBQW5CLFNBQUFtQixJQUFBO2VBQ2RlLFNBQU1VO1lBQ045QyxNQUFBQSxvQkFBQUEsZUFBQUE7WUFDQStDO1lBQ0FDLGVBQUFBLGNBQXlCQztZQUN6QkwsZ0JBQWNBLFNBQUFBLE1BQUFBO1lBQ2RNLGNBQUFBLGdCQUFBQSxPQUFBQSxlQUFBQTtZQUNGQTtRQUVGOztRQUFVZjtLQUVkO0FBRUE7U0FDTWdCLCtCQUFzQkEsSUFBQTtJQUMxQixJQUFBQSxRQUFNQyxNQUFBQSxPQUFlckYsQ0FBQUE7SUFDckIsTUFBTWdELGVBQU9xQyxPQUFBQSxPQUFBQSxDQUFBQSxLQUFBQTtJQUNiLE1BQUlyQyxPQUFNcUMsZ0JBQUEsZ0JBQUFBLGFBQUFyQyxJQUFBO1FBQ1JvQyxNQUFLcEM7UUFDUG9DLEtBQUFwQyxJQUFBLEdBQUFBO0lBQ0E7SUFFQSxNQUFJQyxrQ0FBaUNvQyxnQkFBQSxnQkFBQUEsYUFBQXBDLCtCQUFBO1FBQ25DbUMsaUNBQUtuQztRQUNQbUMsS0FBQW5DLCtCQUFBLEdBQUFBO0lBRUE7SUFDRixPQUFBbUM7QUFFQTtTQUFjRSxLQUNaQyxLQUFBQTtJQUlBLE1BQUFBLGFBQUEsS0FBQWxEO0lBQ0EsNkVBQTRFO0lBQzVFLDRFQUFrRDtJQUNsRCxrREFBc0NrRDtJQUN0QyxNQUFNMUIsT0FBQUEsa0JBQ0owQixPQUFBQSxjQUF5QkEsSUFBQUEsR0FBQUE7SUFFM0IsTUFBQTFCLGVBQUEwQixrQkFBQSxPQUFBQSxjQUFBMUIsWUFBQTtJQUNBLDZFQUFtRUQ7SUFFbkUsTUFBQTRCLHNCQUFBM0IsaUJBQUEsT0FBQUEsZUFBQUQ7SUFDQSwyRUFBMkU7SUFDM0UsMkVBQXNDO0lBQ3RDLHNDQUFFO0lBQ0Y7SUFDQTtJQUNBLDBFQUFpQjtJQUNqQixpQkFBTzZCO0lBQ1QsV0FBQWpELE9BQUFpRCxnQkFBQSxFQUFBN0IsTUFBQTRCO0FBRUE7TUF6QmNGOzs7SUE0QkUsU0FDZEksT0FDQUMsS0FBQUE7O0lBUUEsTUFBTUMsT0FBQUEsRUFBQUEsV0FBZUMsRUFBQUEsV0FBTyxFQUMxQkMsbUJBQ0VDLEVBQUFBLGVBQUFBLEVBQUFBLGtCQUFBQSxFQUF3QkMsV0FBQyxFQUFBQyxZQUFBLEtBQUE1RDt5QkFDdkJxRCxDQUFBQSxHQUFBQSxPQUFBQSxPQUFBQSxFQUFBQSxJQUFBQSxDQUFBQSxHQUFBQSwwQkFBQUEsd0JBQUFBLEVBQUFBO1lBQ0FRO1lBQ0FKO1lBQ0FLO1lBQ0FDO1lBQ0FqRTtZQUNBd0QsVUFBQUEsQ0FBQUEsV0FBQUEsT0FBQUEsUUFBQUEsR0FBQUE7WUFDQVU7WUFFSkE7UUFDRVgsSUFBQUE7UUFDQVE7UUFDQUo7UUFDQUs7UUFDQVI7UUFDQVU7UUFDREE7S0FFSDtJQUdBQyxNQUFBQSxDQUFBQSxjQUFTbEMsVUFBQzlCLEtBQUEsT0FBQWlFLHdCQUFBQywyQkFBQSxFQUFBWjtRQUNScEQsT0FBQThELFNBQUE7UUFDQUYseUVBQXdCO1FBQ3ZCQSx3QkFBRTtJQUVMO0lBQ0EsUUFBQTNELFlBQUEsU0FBQThELHdCQUFBRSxjQUFtRSxFQUFBQztJQUNuRSxtRUFBMkM7VUFDekMsRUFBQXJHLFlBQWdCQyxFQUFBQSxRQUNkbUMsRUFBQUEsR0FBQUEsQ0FBQUEsR0FDQUQsT0FBT3hDLE9BQUFBLEVBQUFBO1FBR1QsTUFBQWlDLE1BQU8sSUFBQTNCLElBQUFtQyxjQUFBLE9BQUF6QyxXQUFBLDJCQUFBQSxPQUFBbUMsUUFBQSxDQUFBbUIsSUFBQTtlQUNMO1lBQ0FqRCw0REFBOEI7WUFDOUJPLGNBQVUrRixJQUFBQSxZQUFBQTtZQUdaL0YsVUFBQSxJQUFBZ0csYUFBQUQsV0FBQSxFQUFBMUUsSUFBQXJCLFFBQUEsUUFBQWlHLGdCQUFBQyxjQUFBLEVBQUE3RSxJQUFBckIsUUFBQSxJQUFBcUIsSUFBQXJCLFFBQUE7UUFDQzs7UUFBYzZCO0tBRWpCO0lBQ0EsTUFBTXNFLHlCQUF1QjNDLDBCQUFBQTtJQUM3QkosTUFBQUEsV0FBQUEsWUFBMEJJO0lBRTFCSiwwQkFBQUk7OztZQUlFNEMsWUFBTUMsQ0FBQUEsR0FBQUEsT0FBb0NwQixPQUFBO2NBQ3hDcUIsaUJBQW1CcEU7WUFDbkJxRSxNQUFBQSxJQUFTbkgsT0FBTUEsT0FBTzhDLENBQUFBLElBQVFxRTtZQUM5QkMsU0FBQUEsSUFBVzlELE9BQU0rRCxPQUFBQSxDQUFBQSxPQUFBQTtzQkFDZixDQUFBL0QsTUFBQStEO2dCQUNBO2dCQUNBLHVFQUVjQztvQkFFWixJQUFBQyxPQUFBQyxLQUFBLEVBQUF4SCxPQUFBeUgsU0FBQSxDQUFBQyxTQUFBLEtBQUFoSCxrQkFBQTtvQkFDRjtnQkFDQTtnQkFDQSxNQUFBdUIsTUFBQSxJQUFBM0IsSUFBQSxJQUFBd0UsYUFBQUYsV0FBQSxFQUFBdEIsT0FBcUR0RCxPQUFBbUMsUUFBQSxDQUFBbUIsSUFBQTtnQkFDckQscURBQXdCO29CQUN0QnRCLGNBQUFDLE1BQUE7b0JBQ0Y7Z0JBQ0FpQzsyQkFJVW1ELGVBQUFBLEVBQUFBO29CQUhSakQsSUFBQUE7NkJBQ0VDO3dCQUNBcEMsTUFBQUEsb0JBQUFBLGVBQUFBO3dCQUNBMEY7d0JBQ0ZBLE1BQUEsQ0FBQUMsZ0JBQUFQLFdBQUEsZ0JBQUFBLFFBQUFNLElBQUEsWUFBQUMsZ0JBQUFyRCxvQkFBQXNELFlBQUEsQ0FBQUMsSUFBQTtvQkFDRjtnQkFDRjtZQUNBQztxQkFBZ0JWLENBQUFBLE1BQUFBO2dCQUNkbkQsSUFBQUEsWUFBQUEsS0FBQUEsR0FBQUEsVUFBZ0I7MkJBQ1ltRCxlQUFBQSxFQUFBQTtvQkFBMUJOLElBQUFBO29CQUNGQSxTQUFBekQsTUFBQSxZQUFBMEUsa0JBQUFYLFFBQUFZLE1BQUEsWUFBQUQsa0JBQUE7Z0JBQ0Y7WUFDQUU7eUJBQWFiO2dCQUNYbkQsSUFBQUEsWUFBQUEsS0FBQUEsR0FBQUEsVUFBZ0I7MkJBQ1NtRCxlQUFBQSxFQUFBQTtvQkFBdkJOLElBQUFBO29CQUNGQSxTQUFBekQsTUFBQSxTQUFBMEUsa0JBQUFYLFFBQUFZLE1BQUEsWUFBQUQsa0JBQUE7Z0JBQ0Y7WUFDQUc7cUJBQ0VqRTtvQkFDRUUsT0FBQUEsZUFBUzs2QkFDUEM7d0JBQ0FuQyxNQUFBQSxvQkFBd0JBLGNBQU07d0JBQ2hDQSxRQUFBbEMsT0FBQW1DLFFBQUEsQ0FBQUQsTUFBQTtvQkFDRjtnQkFDRjtZQUNBa0c7eUJBQ00xSDtvQkFDRkEsS0FDRSxJLE1BR0Z3RDt3QkFDRUUsT0FBQUEsZUFBUztpQ0FDUEM7NEJBQ0FuQyxNQUFBQSxvQkFBd0JBLG1CQUFNOzRCQUNoQ0EsUUFBQWxDLE9BQUFtQyxRQUFBLENBQUFELE1BQUE7d0JBQ0Y7b0JBQ0Y7Z0JBQ0Y7WUFDRjtRQUVBO1FBQ0MsT0FBQStFOztRQUFXRjtRQUFTQTtLQUV2QlQ7UUFDRTlELE9BQUE4RCxTQUFBO1FBQ0EsZ0VBQWlCO1lBQ2Z0RyxPQUFPc0ksSUFBSSxFQUFDQztZQUNkdkksT0FBQXNJLElBQUEsQ0FBQUMsTUFBQSxHQUFBdkI7UUFDQzs7UUFBV0E7S0FFZDtRQUNFdEcsSUFBQTtRQUNBLHNEQUF1QytGO1FBRXZDLFFBQUErQixLQUFBLEVBQUFDLGFBQUEsRUFBQXZGLElBQUEsU0FBQXFELHdCQUFBRSxjQUFBLEVBQUFDO1FBQ0EsNEZBQXNEO1FBQ3RESixzREFBVTtZQUNSOUQsT0FBQThELFNBQUE7WUFDQTtZQUNBLHVHQUFtQztZQUNuQ3RHLG1DQUFZO21CQUNWdUksRUFBQUEsR0FBUXZCO2dCQUNSd0IsUUFBQUE7Z0JBQ0FDO2dCQUNBdkY7Z0JBQ0ZBO1lBQ0M7O1lBQVlzRjtZQUFPQztZQUFldkY7WUFBS0E7U0FDNUM7SUFFQW9EO1FBQ0U5RCxPQUFBOEQsU0FBQTtRQUNBO1FBQ0EsdUZBQXFFO1FBQ3JFO1FBQ0Esd0dBQWtEO2lCQUc3Q3RHLGVBQUFBLEtBQUFBO1lBRkgsSUFDRTBJO2dCQUdBLENBQUFDLE1BQUFDLFNBQUEsT0FBQUYsd0JBQUExSSxPQUFBOEMsT0FBQSxDQUFBQyxLQUFBLHFCQUFBMkYsc0JBQUF6RiwrQkFBQTtnQkFDRjtZQUVBO1lBQ0E7WUFDQSxxSEFBOEI7WUFDOUI5Qyw4QkFBNEI7WUFFNUJpRSxjQUFTeUUsY0FBQSxHQUFBQztxQkFDUHpFO2dCQUNBcEMsTUFBS3NDLG9CQUFlcEMsY0FBYTtnQkFDakNlLEtBQUFBLElBQU1sRCxJQUFPOEMsT0FBT1gsUUFBT2MsQ0FBQUEsSUFBQUE7Z0JBQzdCQyxNQUFBbEQsT0FBQThDLE9BQUEsQ0FBQUMsS0FBQSxDQUFBRSwrQkFBQTtZQUNGO1FBRUFqRDtRQUVBQSxPQUFPK0ksZ0JBQUEsYUFBQUM7ZUFDTGhKO1lBQ0ZBLE9BQUFpSixtQkFBQSxhQUFBRDtRQUNDOztRQUFVNUU7S0FFYjtJQUNBO0lBQ0EsMEVBQXdFO0lBQ3hFO0lBQ0EsNkVBQVk7SUFDWixZQUFFO0lBQ0Y7SUFDQTtJQUNBLDZFQUE2RTtJQUM3RSw2RUFBdUI7SUFDdkIsdUJBQW9CcUM7SUFDcEIsTUFBSTVELEVBQUFBLE9BQVFxRyxFQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSx3QkFBZXpDLGNBQUEsRUFBQUM7UUFDekI3RCxRQUFBcUcsYUFBQTtRQUNBLGdIQUFtRDtZQUNqRC9JLGNBQU1nQyxjQUFrQkEsS0FBUU0sY0FBQTtZQUNoQyxNQUFJSSxZQUFRTSxPQUFhaEIsUUFBQTtnQkFDdkJBLFFBQUFBLFdBQWdCTSxFQUFBQTtnQkFDbEIwRyxVQUFPQyxNQUFBLENBQUEzRzttQkFDTE47Z0JBQ0ZnSCxVQUFBcEIsT0FBQSxDQUFBdEY7WUFFQXRDO1lBQ0ZBLGNBQUEwSSxjQUFBLEdBQUFwRztRQUNBO1FBQ0E7UUFDQSw0RUFBK0I7UUFDL0I0RywrQkFBSUM7UUFDTixJQUFBOUcsT0FBQTZHLEdBQUEsRUFBQUUsb0JBQUFELGtCQUFBO0lBRUFoRDtRQUNFOUQsT0FBTWdILFNBQUFBLEVBQUFBO1FBQ04sTUFBTUMsb0JBQUFBLE9BQXVCekosT0FBTzhDLENBQUFBLFNBQVFVLENBQUFBLElBQUFBLENBQVl4RCxPQUN0REEsT0FBTzhDO1FBR1QsTUFBQTJHLHVCQUFBekosT0FBQThDLE9BQUEsQ0FBQVUsWUFBQSxDQUFBa0csSUFBQSxDQUFBMUosT0FBQThDLE9BQUE7UUFDQSx3SkFDRWI7K0NBSUVqQyxDQUFBQTtZQUZGLElBQUEwSTtZQUNBLE1BQU14RixPQUFBQSxPQUNKbEQsUUFBQUEsQ0FBQUEsSUFBQUE7WUFFRmtFLE1BQUFBLE9BQUFBLENBQUFBLHdCQUFnQmxFLE9BQUE4QyxPQUFBLENBQUFDLEtBQUEscUJBQUEyRixzQkFBQXpGLCtCQUFBO2dCQUNkbUIsT0FBQUEsZUFBUzt5QkFDUEM7b0JBQ0FwQyxNQUFLc0Msb0JBQVF0QyxjQUFhcUI7b0JBQzFCSixLQUFBQSxJQUFBQSxJQUFBQSxPQUFBQSxPQUFBQSxNQUFBQSxNQUFBQTtvQkFDRkE7Z0JBQ0Y7WUFDRjtRQUVBOzs7OztlQVVFSixPQUFBLENBQUFTLFNBQUEsWUFBQUEsVUFBQTZCLElBQUEsRUFBQXVFLE9BQUEsRUFBQTFILEdBQUE7WUFDQSxxRUFBa0JtRDtnQkFDaEIsQ0FBQUEsUUFBT29FLE9BQUFBLEtBQUFBLElBQWtCcEUsS0FBQUEsSUFBTXVFLEtBQVMxSCxDQUFBQSxRQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxLQUFBQSxFQUFBQSxHQUFBQTtnQkFDMUMsT0FBQXVILGtCQUFBcEUsTUFBQXVFLFNBQUExSDtZQUVBbUQ7WUFFQUEsT0FBSW5ELCtCQUFLbUQ7Z0JBQ1B3RSxLQUFBQTtnQkFDRkEsK0JBQUEzSDtZQUVBO1lBQ0YsT0FBQXVILGtCQUFBcEUsTUFBQXVFLFNBQUExSDtRQUVBOzs7OztlQVVFYSxPQUFBLENBQUFVLFlBQUEsWUFBQUEsYUFBQTRCLElBQUEsRUFBQXVFLE9BQUEsRUFBQTFILEdBQUE7WUFDQSxxRUFBa0JtRDtnQkFDaEIsQ0FBQUEsUUFBT3FFLE9BQUFBLEtBQUFBLElBQUFBLEtBQXFCckUsSUFBTXVFLEtBQUFBLENBQUFBLFFBQVMxSCxPQUFBQSxLQUFBQSxJQUFBQSxLQUFBQSxFQUFBQSxHQUFBQTtnQkFDN0MsT0FBQXdILHFCQUFBckUsTUFBQXVFLFNBQUExSDtZQUNBbUQ7WUFFQUEsT0FBSW5ELCtCQUFLbUQ7Z0JBQ1B3RSxLQUFBQTtnQkFDRkEsK0JBQUEzSDtZQUNBO1lBQ0YsT0FBQXdILHFCQUFBckUsTUFBQXVFLFNBQUExSDtRQUVBOzs7OzsyQkFLNEMsQ0FBQUk7WUFDMUMsSUFBSSxFQUFDVSxLQUFBQSxFQUFPLEdBQUFWO2dCQUNWLENBQUFVLE9BQUE7Z0JBQ0E7Z0JBQ0Y7WUFFQTtZQUNBLDZFQUFpQjtnQkFDZi9DLENBQUFBLE1BQU9tQyxJQUFBQSxFQUFBQTtnQkFDUG5DLE9BQUFtQyxRQUFBLENBQUEwSCxNQUFBO2dCQUNGO1lBRUE7WUFDQSxnSEFBb0U7WUFDcEUzRixvRUFBZ0I7Z0JBQ2RFLE9BQUFBLGVBQVM7eUJBQ1BDO29CQUNBcEMsTUFBS3NDLG9CQUFlcEMsY0FBYTtvQkFDakNlLEtBQUFBLElBQU1ILElBQU1FLE9BQUFBLFFBQUFBLENBQUFBLElBQUFBO29CQUNkQyxNQUFBSCxNQUFBRSwrQkFBQTtnQkFDRjtZQUNGO1FBRUE7UUFDQWpELDhDQUFvQzhKO1FBQ3BDOUosT0FBTytJLGdCQUFBLGFBQUFlO2VBQ0w5SjtZQUNBQSxPQUFPOEMsT0FBTyxDQUFDVSxTQUFBQSxHQUFZZ0c7WUFDM0J4SixPQUFPaUosT0FBQUEsQ0FBQUEsWUFBb0IsR0FBQVE7WUFDN0J6SixPQUFBaUosbUJBQUEsYUFBQWE7UUFDQzs7UUFBVTFGO0tBRWI7SUFHQSxNQUFNMkYsRUFBQUEsS0FBQUEsRUFBQUEsSUFBQUEsRUFBZWxFLE9BQUFBLEVBQUFBLGlCQUFRLFNBQUFVLHdCQUFBRSxjQUFBLEVBQUFDO1VBQzNCcUQsZUFBT0MsQ0FBQUEsR0FBQUEsT0FBQUEsT0FBQUEsRUFBQUE7UUFDTixXQUFBQyxpQkFBQUQsZUFBQSxFQUFBeEIsT0FBQXRGLElBQUE7O1FBQVFBO1FBQUtBO0tBRWhCO0lBQ0EseUNBQTJCO1VBQ3pCZ0gsYUFBT2xKLENBQUFBLEdBQUFBLE9BQWtCa0MsT0FBQUEsRUFBQUE7UUFDeEIsT0FBQWxDLGtCQUFBa0M7O1FBQU1BO0tBRVQ7SUFDQSxJQUFJNkc7UUFDRkEsaUJBQUE7UUFDQTtRQUNBLDBFQUFvRTtRQUNwRSxvRUFBRTtRQUNGO1FBQ0Esd0VBQXVCO1FBQ3ZCLHVCQUFzQkk7UUFDdEJ2RyxNQUFBQSxDQUFBQSxlQUFPdUcsUUFBQSxHQUFBSjtlQUFtQ3hFLFdBQWZBLEdBQWVBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLE1BQUFBO1lBQXhCNEUsZUFBQUE7UUFDcEIsR0FBT0E7V0FDTHZHO1FBQ0ZBLE9BQUE7SUFFQTs7a0JBRUtBO1lBQ0E0RTs7dUJBQ3lCdEYsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsb0JBQUFBLGtCQUFBQSxFQUFBQTs7OztJQUk5QjtRQUNFeEMsSUFBc0IsRUFBYTtZQUNqQyxPQUFNMEosV0FBQUEsYUFBQUE7WUFFTkMsTUFBQUEsMEJBQ0V2SyxtTEFBQ3NLO3NCQUNDLGtCQUFBRSxZQUFBQyxHQUFBLEVBQUFILHlCQUFDSTswQkFBbUN2RSxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSwrQkFBQUEsa0JBQUFBLENBQUFBLFFBQUFBLEVBQUFBOzs7O1lBSzFDO1FBQ0E7UUFHQW9FLE1BQUFBLGNBQUFBLGtNQUFXSztrQkFBeUIxRSxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxhQUFBQTt5QkFBY3FFOztRQUNwRDtJQUVBOzs7dUJBR00xSCxHQUFBQSxDQUFBQSxHQUFBQSxZQUFnQjhELEdBQUFBLEVBQUFBLGdCQUFBQTtnQkFDaEJuRSxnQkFBTUEsQ0FBQUEsR0FBQUEsd0JBQUFBLGNBQUFBLEVBQUFBOzs7dUJBRTJCNEgsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsaUNBQUFBLGlCQUFBQSxDQUFBQSxRQUFBQSxFQUFBQTs7MEJBQ0F0SixXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxpQ0FBQUEsZUFBQUEsQ0FBQUEsUUFBQUEsRUFBQUE7OzhCQUNNUCxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxpQ0FBQUEsbUJBQUFBLENBQUFBLFFBQUFBLEVBQUFBOztrQ0FFMUIsa0JBQUFpSyxZQUFBQyxHQUFBLEVBQUFJLCtCQUFBQyx5QkFBQSxDQUFBQyxRQUFBO21DQUNMbkY7Z0NBQ0FvRjtnQ0FDQTVIO2dDQUNBNkg7Z0NBQ0FDO2dDQUNGQTs7c0NBRWtDaEUsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsK0JBQUFBLGdCQUFBQSxDQUFBQSxRQUFBQSxFQUFBQTs7MENBRXZCLGtCQUFBc0QsWUFBQUMsR0FBQSxFQUFBSSwrQkFBQU0sbUJBQUEsQ0FBQUosUUFBQTsyQ0FDTEs7d0NBQ0FoSSxZQUFBQSxNQUFBQSxjQUFBQTt3Q0FDQUE7d0NBQ0E7d0NBQ0FqQiw4RUFBS1E7d0NBQ0xzQixLQUFBQTt3Q0FDRkEsU0FBQXlFLE1BQUF6RSxPQUFBOzs7Ozs7Ozs7O0lBV2xCO0FBRWU7R0ExWmIyQjs7UUF3RDZCdEI7UUFDN0JKO1FBRUFBOzs7TUEzREEwQjtTQTZaQXlGLFVBQVFDLEtBQUFBO0lBRVIsUUFBQUEsb0JBQ0UsS0FBQUMsTUFBQSxHQUFDQztXQUE4QkYsV0FBaEJHLEdBQWdCSCxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxlQUFBQSxhQUFBQSxFQUFBQTt3QkFDN0JBO2tCQUFnQixrQkFBQWQsWUFBQUMsR0FBQSxFQUFBaUIsUUFBQTs7O0lBR3RCOztNQVBFTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIudHN4PzM3ODEiXSwibmFtZXMiOlsiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwidXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyIiwiXyIsInJlcXVpcmUiLCJpc1NlcnZlciIsIndpbmRvdyIsIk1hcCIsImdsb2JhbFNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJnbG9iYWxNdXRhYmxlIiwidXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMiLCJzZWFyY2hQYXJhbXMiLCJVUkwiLCJkZWxldGUiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIl9hcHByb3V0ZXJoZWFkZXJzIiwicHJvY2VzcyIsIl9fTkVYVF9DT05GSUdfT1VUUFVUIiwicGF0aG5hbWUiLCJsZW5ndGgiLCJlbmRzV2l0aCIsInNsaWNlIiwiZ2V0U2VsZWN0ZWRQYXJhbXMiLCJwYXJhbXMiLCJwYXJhbGxlbFJvdXRlcyIsImN1cnJlbnRUcmVlIiwicGFyYWxsZWxSb3V0ZSIsIk9iamVjdCIsInZhbHVlcyIsInNlZ21lbnQiLCJpc0R5bmFtaWNQYXJhbWV0ZXIiLCJBcnJheSIsInNlZ21lbnRWYWx1ZSIsInN0YXJ0c1dpdGgiLCJQQUdFX1NFR01FTlRfS0VZIiwiX3NlZ21lbnQiLCJpc0NhdGNoQWxsIiwic3BsaXQiLCJpc0V4dGVybmFsVVJMIiwidXJsIiwib3JpZ2luIiwibG9jYXRpb24iLCJIaXN0b3J5VXBkYXRlciIsInBhcmFtIiwic3luYyIsInVzZUluc2VydGlvbkVmZmVjdCIsIl9yZWFjdCIsImNhbm9uaWNhbFVybCIsImhpc3RvcnlTdGF0ZSIsImFwcFJvdXRlclN0YXRlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJwdXNoUmVmIiwiaGlzdG9yeSIsInN0YXRlIiwiX19OQSIsIl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUiLCJ0cmVlIiwicGVuZGluZ1B1c2giLCJjcmVhdGVIcmVmRnJvbVVybCIsIl9jcmVhdGVocmVmZnJvbXVybCIsImhyZWYiLCJwdXNoU3RhdGUiLCJyZXBsYWNlU3RhdGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsImxhenlEYXRhUmVzb2x2ZWQiLCJsb2FkaW5nIiwidXNlU2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsInVzZUNhbGxiYWNrIiwic3RhcnRUcmFuc2l0aW9uIiwiYWN0aW9uUGF5bG9hZCIsImRpc3BhdGNoIiwidHlwZSIsIkFDVElPTl9TRVJWRVJfQUNUSU9OIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsInNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJwcmV2aW91c1RyZWUiLCJzZXJ2ZXJSZXNwb25zZSIsInVzZU5hdmlnYXRlIiwiYWRkQmFzZVBhdGgiLCJzaG91bGRTY3JvbGwiLCJfYWRkYmFzZXBhdGgiLCJBQ1RJT05fTkFWSUdBVEUiLCJpc0V4dGVybmFsVXJsIiwibG9jYXRpb25TZWFyY2giLCJzZWFyY2giLCJuYXZpZ2F0ZVR5cGUiLCJkYXRhIiwiY3VycmVudFN0YXRlIiwiSGVhZCIsImhlYWRDYWNoZU5vZGUiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsImJ1aWxkSWQiLCJpbml0aWFsSGVhZCIsImluaXRpYWxTdGF0ZSIsInVzZU1lbW8iLCJpbml0aWFsQ2Fub25pY2FsVXJsIiwiY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlIiwiYXNzZXRQcmVmaXgiLCJtaXNzaW5nU2xvdHMiLCJpbml0aWFsU2VlZERhdGEiLCJpbml0aWFsVHJlZSIsImluaXRpYWxQYXJhbGxlbFJvdXRlcyIsImNvdWxkQmVJbnRlcmNlcHRlZCIsInVzZUVmZmVjdCIsIl91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzIiwidXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzIiwidXNlVW53cmFwU3RhdGUiLCJyZWR1Y2VyU3RhdGUiLCJoYXNCYXNlUGF0aCIsIl9oYXNiYXNlcGF0aCIsIl9yZW1vdmViYXNlcGF0aCIsInJlbW92ZUJhc2VQYXRoIiwibmF2aWdhdGUiLCJhcHBSb3V0ZXIiLCJyb3V0ZXJJbnN0YW5jZSIsImJhY2siLCJmb3J3YXJkIiwicHJlZmV0Y2giLCJvcHRpb25zIiwiTk9ERV9FTlYiLCJfaXNib3QiLCJpc0JvdCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsImtpbmQiLCJfb3B0aW9uc19raW5kIiwiUHJlZmV0Y2hLaW5kIiwiRlVMTCIsInJlcGxhY2UiLCJfb3B0aW9uc19zY3JvbGwiLCJzY3JvbGwiLCJwdXNoIiwicmVmcmVzaCIsImZhc3RSZWZyZXNoIiwiRXJyb3IiLCJuZXh0Iiwicm91dGVyIiwiY2FjaGUiLCJwcmVmZXRjaENhY2hlIiwiX3dpbmRvd19oaXN0b3J5X3N0YXRlIiwiZXZlbnQiLCJwZXJzaXN0ZWQiLCJwZW5kaW5nTXBhUGF0aCIsInVuZGVmaW5lZCIsImFkZEV2ZW50TGlzdGVuZXIiLCJoYW5kbGVQYWdlU2hvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtcGFOYXZpZ2F0aW9uIiwibG9jYXRpb24xIiwiYXNzaWduIiwidXNlIiwidW5yZXNvbHZlZFRoZW5hYmxlIiwiX3VucmVzb2x2ZWR0aGVuYWJsZSIsIm9yaWdpbmFsUHVzaFN0YXRlIiwib3JpZ2luYWxSZXBsYWNlU3RhdGUiLCJiaW5kIiwiX3VudXNlZCIsImFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSIsInJlbG9hZCIsIm9uUG9wU3RhdGUiLCJtYXRjaGluZ0hlYWQiLCJmaW5kSGVhZEluQ2FjaGUiLCJfZmluZGhlYWRpbmNhY2hlIiwicGF0aFBhcmFtcyIsImhlYWRLZXkiLCJEZXZSb290Tm90Rm91bmRCb3VuZGFyeSIsImNvbnRlbnQiLCJfanN4cnVudGltZSIsImpzeCIsIk1pc3NpbmdTbG90Q29udGV4dCIsInZhbHVlIiwiSG90UmVsb2FkZXIiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJjaGFuZ2VCeVNlcnZlclJlc3BvbnNlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJuZXh0VXJsIiwiTGF5b3V0Um91dGVyQ29udGV4dCIsImNoaWxkTm9kZXMiLCJBcHBSb3V0ZXIiLCJnbG9iYWxFcnJvckNvbXBvbmVudCIsInJlc3QiLCJFcnJvckJvdW5kYXJ5IiwiZXJyb3JDb21wb25lbnQiLCJSb3V0ZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/bailout-to-client-rendering.js ***! - \*********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"bailoutToClientRendering\", ({\n enumerable: true,\n get: function() {\n return bailoutToClientRendering;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"(shared)/./node_modules/next/dist/client/components/static-generation-async-storage.external.js\");\nfunction bailoutToClientRendering(reason) {\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) return;\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) throw new _bailouttocsr.BailoutToCSRError(reason);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bailout-to-client-rendering.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYmFpbG91dC10by1jbGllbnQtcmVuZGVyaW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7NERBR2dCQTs7O2VBQUFBOzs7MENBSGtCO2tFQUNXO0FBRXRDLFNBQVNBLHlCQUF5QkMsTUFBYztJQUNyRCxNQUFNQyx3QkFBd0JDLHNDQUFBQSw0QkFBNEIsQ0FBQ0MsUUFBUTtJQUVuRSxJQUFJRix5QkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsc0JBQXVCRyxXQUFXLEVBQUU7SUFFeEMsSUFBSUgseUJBQUFBLE9BQUFBLEtBQUFBLElBQUFBLHNCQUF1Qkksa0JBQWtCLEVBQzNDLE1BQU0sSUFBSUMsY0FBQUEsaUJBQWlCLENBQUNOO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvYmFpbG91dC10by1jbGllbnQtcmVuZGVyaW5nLnRzP2JiZDgiXSwibmFtZXMiOlsiYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIiwicmVhc29uIiwic3RhdGljR2VuZXJhdGlvblN0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImdldFN0b3JlIiwiZm9yY2VTdGF0aWMiLCJpc1N0YXRpY0dlbmVyYXRpb24iLCJCYWlsb3V0VG9DU1JFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/dev-root-not-found-boundary.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/dev-root-not-found-boundary.js ***! - \*********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DevRootNotFoundBoundary: function() {\n return DevRootNotFoundBoundary;\n },\n bailOnNotFound: function() {\n return bailOnNotFound;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _notfoundboundary = __webpack_require__(/*! ./not-found-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nfunction bailOnNotFound() {\n throw new Error(\"notFound() is not allowed to use in root layout\");\n}\nfunction NotAllowedRootNotFoundError() {\n bailOnNotFound();\n return null;\n}\n_c = NotAllowedRootNotFoundError;\nfunction DevRootNotFoundBoundary(param) {\n let { children } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_notfoundboundary.NotFoundBoundary, {\n notFound: /*#__PURE__*/ (0, _jsxruntime.jsx)(NotAllowedRootNotFoundError, {}),\n children: children\n });\n}\n_c1 = DevRootNotFoundBoundary;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=dev-root-not-found-boundary.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"NotAllowedRootNotFoundError\");\n$RefreshReg$(_c1, \"DevRootNotFoundBoundary\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZGV2LXJvb3Qtbm90LWZvdW5kLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBY2dCQSxTQUFBQTs2QkFBQUE7O0lBVEFDO29CQUFBQTs7Ozs7O3NEQUZpQkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTtBQUUxQixNQUFBQyxvQkFBU0gsbUJBQUFBLENBQUFBLGtIQUFBQTtTQUNkQTtJQUNGLFVBQUFJLE1BQUE7QUFFQTtTQUNFSjtJQUNBQTtJQUNGO0FBRU87S0FKTEE7U0FJc0NELHdCQUFBTSxLQUFBO0lBS3RDLE1BQUFDLFFBQUEsS0FBQUQ7V0FDb0JFLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQVVDLEdBQUEsRUFBQUwsa0JBQUNNLGdCQUFBQSxFQUFBQTtrQkFDMUJILFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLDZCQUFBQSxDQUFBQTs7SUFHUDs7TUFWd0NQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvZGV2LXJvb3Qtbm90LWZvdW5kLWJvdW5kYXJ5LnRzeD8yNjRjIl0sIm5hbWVzIjpbIkRldlJvb3ROb3RGb3VuZEJvdW5kYXJ5IiwiYmFpbE9uTm90Rm91bmQiLCJfIiwicmVxdWlyZSIsIl9ub3Rmb3VuZGJvdW5kYXJ5IiwiRXJyb3IiLCJwYXJhbSIsImNoaWxkcmVuIiwibm90Rm91bmQiLCJqc3giLCJOb3RBbGxvd2VkUm9vdE5vdEZvdW5kRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/dev-root-not-found-boundary.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/client/components/error-boundary.js ***! - \********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ErrorBoundary: function() {\n return ErrorBoundary;\n },\n ErrorBoundaryHandler: function() {\n return ErrorBoundaryHandler;\n },\n GlobalError: function() {\n return GlobalError;\n },\n // Exported so that the import signature in the loaders can be identical to user\n // supplied custom global error signatures.\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js\");\nconst _isnextroutererror = __webpack_require__(/*! ./is-next-router-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"(shared)/./node_modules/next/dist/client/components/static-generation-async-storage.external.js\");\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n text: {\n fontSize: \"14px\",\n fontWeight: 400,\n lineHeight: \"28px\",\n margin: \"0 8px\"\n }\n};\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nfunction HandleISRError(param) {\n let { error } = param;\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) {\n console.error(error);\n throw error;\n }\n return null;\n}\n_c = HandleISRError;\nclass ErrorBoundaryHandler extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _isnextroutererror.isNextRouterError)(error)) {\n // Re-throw if an expected internal Next.js router error occurs\n // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment)\n throw error;\n }\n return {\n error\n };\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.error) {\n return {\n error: null,\n previousPathname: props.pathname\n };\n }\n return {\n error: state.error,\n previousPathname: props.pathname\n };\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific the the `@types/react` version.\n render() {\n if (this.state.error) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: this.state.error\n }),\n this.props.errorStyles,\n this.props.errorScripts,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, {\n error: this.state.error,\n reset: this.reset\n })\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.reset = ()=>{\n this.setState({\n error: null\n });\n };\n this.state = {\n error: null,\n previousPathname: this.props.pathname\n };\n }\n}\nfunction GlobalError(param) {\n let { error } = param;\n const digest = error == null ? void 0 : error.digest;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n id: \"__next_error__\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: error\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.error,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n style: styles.text,\n children: \"Application error: a \" + (digest ? \"server\" : \"client\") + \"-side exception has occurred (see the \" + (digest ? \"server logs\" : \"browser console\") + \" for more information).\"\n }),\n digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n style: styles.text,\n children: \"Digest: \" + digest\n }) : null\n ]\n })\n })\n ]\n })\n ]\n });\n}\n_c1 = GlobalError;\nconst _default = GlobalError;\nfunction ErrorBoundary(param) {\n let { errorComponent, errorStyles, errorScripts, children } = param;\n const pathname = (0, _navigation.usePathname)();\n if (errorComponent) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, {\n pathname: pathname,\n errorComponent: errorComponent,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\n_c2 = ErrorBoundary;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-boundary.js.map\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"HandleISRError\");\n$RefreshReg$(_c1, \"GlobalError\");\n$RefreshReg$(_c2, \"ErrorBoundary\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFvS2dCQSxTQUFhO21CQUFiQTs7SUF0R0hDOzBCQUFBQTs7SUFpRUdDO2lCQUFBQTs7SUF3QmhCO0lBQ0EsZ0ZBQTJDO0lBQzNDLDJDQUEwQjs7Ozs7Ozs2QkF0SkVDLHlCQUFBQyxDQUFBLENBQUFDLG1CQUFBQSxDQUFBOzs7QUFJNUIsTUFBTUMsd0NBQVNELG1CQUFBQSxDQUFBO01BQ2JFLFNBQU87V0FDTDtRQUNBQywwRkFDRTtRQUNGQyxZQUFRO1FBQ1JDLFFBQUFBO1FBQ0FDLFdBQVM7UUFDVEMsU0FBQUE7UUFDQUMsZUFBWTtRQUNaQyxZQUFBQTtRQUNGQSxnQkFBQTtJQUNBQztVQUNFQztRQUNBQyxVQUFBQTtRQUNBQyxZQUFZO1FBQ1pDLFlBQVE7UUFDVkEsUUFBQTtJQUNGO0FBd0JBO0FBQ0EsOERBQXlEO0FBQ3pELHlEQUFvQztBQUNwQyxvQ0FBaUQ7U0FBekJDLGVBQUFDLEtBQUE7SUFDdEIsTUFBTUMsS0FBQUEsRUFBQUEsR0FBUUM7SUFDZCxNQUFJRCxRQUFBQSxzQ0FBbUJDLDRCQUFJRCxDQUFBQSxRQUFPRTtRQUNoQ0MsQ0FBQUEsU0FBUWxCLE9BQU1BLEtBQUFBLElBQUFBLE1BQUFBLFlBQUFBLEtBQUFBLENBQUFBLFNBQUFBLE9BQUFBLEtBQUFBLElBQUFBLE1BQUFBLGtCQUFBQSxHQUFBQTtRQUNka0IsUUFBTWxCLEtBQUFBLENBQUFBO1FBQ1IsTUFBQUE7SUFFQTtJQUNGO0FBRU87S0FWaUJhO01BbUJ0Qm5CLDZCQUFPeUIsT0FBcUNDLE9BQUUsQ0FBQUMsU0FBQTtXQUM1Q0YseUJBQUlHLEtBQUFBLEVBQUFBO1lBQ0YsSUFBQUMsbUJBQUFELGlCQUFBLEVBQUF0QixRQUFBO1lBQ0E7WUFDQSw0R0FBTUE7WUFDUixNQUFBQTtRQUVBO2VBQVNBO1lBQU1BO1FBQ2pCO0lBRUE7V0FJRXdCLHlCQUFBQyxLQUFBLEVBQUFDLEtBQUE7Ozs7OztZQU9FRCxNQUFBRSxRQUFPLEtBQUFELE1BQUFFLGdCQUFBLElBQUFGLE1BQUExQixLQUFBO21CQUNMQTtnQkFDQTRCLE9BQUFBO2dCQUNGQSxrQkFBQUgsTUFBQUUsUUFBQTtZQUNGO1FBQ0E7ZUFDRTNCO1lBQ0E0QixPQUFBQSxNQUFBQSxLQUFrQkg7WUFDcEJHLGtCQUFBSCxNQUFBRSxRQUFBO1FBQ0Y7SUFNQTtJQUNBRSwwSUFBMEI7YUFDcEI7WUFDRixLQUFBSCxLQUFBLENBQUExQixLQUFBOzs7K0JBRTJCLEdBQUksSUFBQzBCLFlBQVdJLEdBQUEsRUFBQWpCLGdCQUFBOztvQkFDdEM7b0JBQ0EsSUFBSSxDQUFDWSxLQUFLLENBQUNNLFdBQUFBOzJDQUNaOytCQUNTLEdBQUksSUFBQ0wsWUFBV0ksR0FBQSxPQUFBTCxLQUFBLENBQUFPLGNBQUE7d0JBQ3ZCQyxPQUFPLElBQUksQ0FBQ0EsS0FBSyxDQUFBakMsS0FBQTs7OztZQUl6QjtRQUVBO1FBQ0YsWUFBQXlCLEtBQUEsQ0FBQVMsUUFBQTtJQTFEQUM7Z0JBQ1FWLEtBQUFBLENBQUFBO2FBb0NSUSxDQUFBQTtZQUNFLENBQUFBLEtBQUtHLEdBQUFBO2dCQUFXcEMsQ0FBQUEsUUFBTztnQkFBS0EsT0FBQTtZQUM5QjtRQXJDRTtZQUFlQSxDQUFBQSxLQUFBQSxHQUFPO1lBQU00QixPQUFBQTtZQUFzQ0Esa0JBQUEsS0FBQUgsS0FBQSxDQUFBRSxRQUFBO1FBQ3BFO0lBd0RGO0FBRU87U0FBcUJoQyxZQUFBbUIsS0FBQTtJQUMxQixNQUFNdUIsS0FBQUEsRUFBQUEsR0FBNkJyQztJQUNuQyxNQUFBcUMsU0FBQXJDLFNBQ0UsZ0JBQUFBLE1BQUNzQyxNQUFBQTtXQUFRLGtCQUFBRSxZQUFBQyxJQUFBOzs7MEJBRVAsSUFBQUQsWUFBQVYsR0FBQSxVQUFDWSxDQUFBQTs7OytCQUN3QjFDLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLGdCQUFBQTs7OytCQUNYRCxHQUFBQSxDQUFBQSxHQUFPQyxZQUFLOEIsR0FBQTtzQ0FDdEI5QixLQUFBOzs7MkNBQ2FELEdBQUFBLENBQUFBLEdBQU9TLFlBQUlzQixHQUFBO2tEQUNsQnRCLElBQUE7O2dDQU1INkI7eUNBQThCLFdBQUo3QixHQUFJLElBQUFnQyxZQUFBVixHQUFBO2tEQUFJdEIsSUFBQTs4Q0FBMEIsYUFBQTZCOzs7Ozs7OztJQU16RTs7TUF0QjRCMUM7QUFxQ3JCLE1BQUFpRCxXQUFTbkQ7U0FBY0EsY0FDNUJ1QyxLQUNBYTtJQUlBLE1BQU1sQixjQUFXbUIsRUFBQUEsV0FBQUEsRUFBQUEsWUFBVyxFQUFBWixRQUFBLEtBQUFwQjtJQUM1QixNQUFJa0IsV0FBQUEsQ0FBQUEsR0FBZ0JlLFlBQUFELFdBQUE7UUFDbEJkLGdCQUFBO2VBRWNMLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLHNCQUFBQTtZQUNWSyxVQUFBQTtZQUNBYSxnQkFBYUE7WUFDYmQsYUFBQUE7MEJBRUNHOztRQUdQO0lBRUE7V0FBVUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsWUFBQUEsUUFBQUEsRUFBQUE7O0lBQ1o7O01BckI4QnpDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkudHN4PzY2NTkiXSwibmFtZXMiOlsiRXJyb3JCb3VuZGFyeSIsIkVycm9yQm91bmRhcnlIYW5kbGVyIiwiR2xvYmFsRXJyb3IiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJfIiwicmVxdWlyZSIsInN0eWxlcyIsImVycm9yIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwidGV4dCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJtYXJnaW4iLCJIYW5kbGVJU1JFcnJvciIsInBhcmFtIiwic3RvcmUiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiY29uc29sZSIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImRlZmF1bHQiLCJDb21wb25lbnQiLCJpc05leHRSb3V0ZXJFcnJvciIsIl9pc25leHRyb3V0ZXJlcnJvciIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsInByb3BzIiwic3RhdGUiLCJwYXRobmFtZSIsInByZXZpb3VzUGF0aG5hbWUiLCJyZW5kZXIiLCJqc3giLCJlcnJvclNjcmlwdHMiLCJlcnJvckNvbXBvbmVudCIsInJlc2V0IiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsInNldFN0YXRlIiwiZGlnZXN0IiwiaHRtbCIsImlkIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiYm9keSIsInN0eWxlIiwiX2RlZmF1bHQiLCJlcnJvclN0eWxlcyIsInVzZVBhdGhuYW1lIiwiX25hdmlnYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/is-hydration-error.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/is-hydration-error.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isHydrationError\", ({\n enumerable: true,\n get: function() {\n return isHydrationError;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../lib/is-error */ \"(app-pages-browser)/./node_modules/next/dist/lib/is-error.js\"));\nconst hydrationErrorRegex = /hydration failed|while hydrating|content does not match|did not match/i;\nfunction isHydrationError(error) {\n return (0, _iserror.default)(error) && hydrationErrorRegex.test(error.message);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-hydration-error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaXMtaHlkcmF0aW9uLWVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7b0RBS2dCQTs7O2VBQUFBOzs7OzhFQUxJO0FBRXBCLE1BQU1DLHNCQUNKO0FBRUssU0FBU0QsaUJBQWlCRSxLQUFjO0lBQzdDLE9BQU9DLENBQUFBLEdBQUFBLFNBQUFBLE9BQU8sRUFBQ0QsVUFBVUQsb0JBQW9CRyxJQUFJLENBQUNGLE1BQU1HLE9BQU87QUFDakUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9pcy1oeWRyYXRpb24tZXJyb3IudHM/NmZiYSJdLCJuYW1lcyI6WyJpc0h5ZHJhdGlvbkVycm9yIiwiaHlkcmF0aW9uRXJyb3JSZWdleCIsImVycm9yIiwiaXNFcnJvciIsInRlc3QiLCJtZXNzYWdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/is-hydration-error.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/is-next-router-error.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNextRouterError\", ({\n enumerable: true,\n get: function() {\n return isNextRouterError;\n }\n}));\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(app-pages-browser)/./node_modules/next/dist/client/components/not-found.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js\");\nfunction isNextRouterError(error) {\n return error && error.digest && ((0, _redirect.isRedirectError)(error) || (0, _notfound.isNotFoundError)(error));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-next-router-error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaXMtbmV4dC1yb3V0ZXItZXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7OztxREFHZ0JBOzs7ZUFBQUE7OztzQ0FIZ0I7c0NBQ0E7QUFFekIsU0FBU0Esa0JBQWtCQyxLQUFVO0lBQzFDLE9BQ0VBLFNBQVNBLE1BQU1DLE1BQU0sSUFBS0MsQ0FBQUEsQ0FBQUEsR0FBQUEsVUFBQUEsZUFBZSxFQUFDRixVQUFVRyxDQUFBQSxHQUFBQSxVQUFBQSxlQUFlLEVBQUNILE1BQUFBO0FBRXhFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvaXMtbmV4dC1yb3V0ZXItZXJyb3IudHM/ZTUwNSJdLCJuYW1lcyI6WyJpc05leHRSb3V0ZXJFcnJvciIsImVycm9yIiwiZGlnZXN0IiwiaXNSZWRpcmVjdEVycm9yIiwiaXNOb3RGb3VuZEVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/client/components/match-segments.js ***! - \********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n canSegmentBeOverridden: function() {\n return canSegmentBeOverridden;\n },\n matchSegment: function() {\n return matchSegment;\n }\n});\nconst _getsegmentparam = __webpack_require__(/*! ../../server/app-render/get-segment-param */ \"(app-pages-browser)/./node_modules/next/dist/server/app-render/get-segment-param.js\");\nconst matchSegment = (existingSegment, segment)=>{\n // segment is either Array or string\n if (typeof existingSegment === \"string\") {\n if (typeof segment === \"string\") {\n // Common case: segment is just a string\n return existingSegment === segment;\n }\n return false;\n }\n if (typeof segment === \"string\") {\n return false;\n }\n return existingSegment[0] === segment[0] && existingSegment[1] === segment[1];\n};\nconst canSegmentBeOverridden = (existingSegment, segment)=>{\n var _getSegmentParam;\n if (Array.isArray(existingSegment) || !Array.isArray(segment)) {\n return false;\n }\n return ((_getSegmentParam = (0, _getsegmentparam.getSegmentParam)(existingSegment)) == null ? void 0 : _getSegmentParam.param) === segment[0];\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=match-segments.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbWF0Y2gtc2VnbWVudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBeUJhQSx3QkFBc0I7ZUFBdEJBOztJQXRCQUMsY0FBWTtlQUFaQTs7OzZDQUhtQjtBQUd6QixNQUFNQSxlQUFlLENBQzFCQyxpQkFDQUM7SUFFQSxvQ0FBb0M7SUFDcEMsSUFBSSxPQUFPRCxvQkFBb0IsVUFBVTtRQUN2QyxJQUFJLE9BQU9DLFlBQVksVUFBVTtZQUMvQix3Q0FBd0M7WUFDeEMsT0FBT0Qsb0JBQW9CQztRQUM3QjtRQUNBLE9BQU87SUFDVDtJQUVBLElBQUksT0FBT0EsWUFBWSxVQUFVO1FBQy9CLE9BQU87SUFDVDtJQUNBLE9BQU9ELGVBQWUsQ0FBQyxFQUFFLEtBQUtDLE9BQU8sQ0FBQyxFQUFFLElBQUlELGVBQWUsQ0FBQyxFQUFFLEtBQUtDLE9BQU8sQ0FBQyxFQUFFO0FBQy9FO0FBS08sTUFBTUgseUJBQXlCLENBQ3BDRSxpQkFDQUM7UUFNT0M7SUFKUCxJQUFJQyxNQUFNQyxPQUFPLENBQUNKLG9CQUFvQixDQUFDRyxNQUFNQyxPQUFPLENBQUNILFVBQVU7UUFDN0QsT0FBTztJQUNUO0lBRUEsT0FBT0MsQ0FBQUEsQ0FBQUEsbUJBQUFBLENBQUFBLEdBQUFBLGlCQUFBQSxlQUFlLEVBQUNGLGdCQUFBQSxLQUFBQSxPQUFBQSxLQUFBQSxJQUFoQkUsaUJBQWtDRyxLQUFLLE1BQUtKLE9BQU8sQ0FBQyxFQUFFO0FBQy9EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbWF0Y2gtc2VnbWVudHMudHM/ZjY3MCJdLCJuYW1lcyI6WyJjYW5TZWdtZW50QmVPdmVycmlkZGVuIiwibWF0Y2hTZWdtZW50IiwiZXhpc3RpbmdTZWdtZW50Iiwic2VnbWVudCIsImdldFNlZ21lbnRQYXJhbSIsIkFycmF5IiwiaXNBcnJheSIsInBhcmFtIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/components/navigation.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return _navigationreactserver.ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _navigationreactserver.RedirectType;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n notFound: function() {\n return _navigationreactserver.notFound;\n },\n permanentRedirect: function() {\n return _navigationreactserver.permanentRedirect;\n },\n redirect: function() {\n return _navigationreactserver.redirect;\n },\n useParams: function() {\n return useParams;\n },\n usePathname: function() {\n return usePathname;\n },\n useRouter: function() {\n return useRouter;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _navigationreactserver = __webpack_require__(/*! ./navigation.react-server */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation.react-server.js\");\nconst _serverinsertedhtmlsharedruntime = __webpack_require__(/*! ../../shared/lib/server-inserted-html.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js\");\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you *read* the current URL's search parameters.\n *\n * Learn more about [`URLSearchParams` on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useSearchParams } from 'next/navigation'\n *\n * export default function Page() {\n * const searchParams = useSearchParams()\n * searchParams.get('foo') // returns 'bar' when ?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSearchParams`](https://nextjs.org/docs/app/api-reference/functions/use-search-params)\n */ function useSearchParams() {\n const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);\n // In the case where this is `null`, the compat types added in\n // `next-env.d.ts` will add a new overload that changes the return type to\n // include `null`.\n const readonlySearchParams = (0, _react.useMemo)(()=>{\n if (!searchParams) {\n // When the router is not ready in pages, we won't have the search params\n // available.\n return null;\n }\n return new _navigationreactserver.ReadonlyURLSearchParams(searchParams);\n }, [\n searchParams\n ]);\n if (typeof window === \"undefined\") {\n // AsyncLocalStorage should not be included in the client bundle.\n const { bailoutToClientRendering } = __webpack_require__(/*! ./bailout-to-client-rendering */ \"(app-pages-browser)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\");\n // TODO-APP: handle dynamic = 'force-static' here and on the client\n bailoutToClientRendering(\"useSearchParams()\");\n }\n return readonlySearchParams;\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the current URL's pathname.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { usePathname } from 'next/navigation'\n *\n * export default function Page() {\n * const pathname = usePathname() // returns \"/dashboard\" on /dashboard?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `usePathname`](https://nextjs.org/docs/app/api-reference/functions/use-pathname)\n */ function usePathname() {\n // In the case where this is `null`, the compat types added in `next-env.d.ts`\n // will add a new overload that changes the return type to include `null`.\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\n}\n/**\n *\n * This hook allows you to programmatically change routes inside [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components).\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useRouter } from 'next/navigation'\n *\n * export default function Page() {\n * const router = useRouter()\n * // ...\n * router.push('/dashboard') // Navigate to /dashboard\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useRouter`](https://nextjs.org/docs/app/api-reference/functions/use-router)\n */ function useRouter() {\n const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);\n if (router === null) {\n throw new Error(\"invariant expected app router to be mounted\");\n }\n return router;\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read a route's dynamic params filled in by the current URL.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useParams } from 'next/navigation'\n *\n * export default function Page() {\n * // on /dashboard/[team] where pathname is /dashboard/nextjs\n * const { team } = useParams() // team === \"nextjs\"\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useParams`](https://nextjs.org/docs/app/api-reference/functions/use-params)\n */ function useParams() {\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n}\n/** Get the canonical parameters from the current level to the leaf node. */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {\n if (first === void 0) first = true;\n if (segmentPath === void 0) segmentPath = [];\n let node;\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey];\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1];\n var _parallelRoutes_children;\n node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];\n }\n if (!node) return segmentPath;\n const segment = node[0];\n const segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return segmentPath;\n }\n segmentPath.push(segmentValue);\n return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segments **below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n *\n * import { useSelectedLayoutSegments } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segments = useSelectedLayoutSegments()\n *\n * return (\n * <ul>\n * {segments.map((segment, index) => (\n * <li key={index}>{segment}</li>\n * ))}\n * </ul>\n * )\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegments`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments)\n */ function useSelectedLayoutSegments(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts\n if (!context) return null;\n return getSelectedLayoutSegmentPath(context.tree, parallelRouteKey);\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segment **one level below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n * import { useSelectedLayoutSegment } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segment = useSelectedLayoutSegment()\n *\n * return <p>Active segment: {segment}</p>\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegment`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment)\n */ function useSelectedLayoutSegment(parallelRouteKey) {\n _s();\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) {\n return null;\n }\n const selectedLayoutSegment = parallelRouteKey === \"children\" ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1];\n // if the default slot is showing, we return null since it's not technically \"selected\" (it's a fallback)\n // and returning an internal value like `__DEFAULT__` would be confusing.\n return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment;\n}\n_s(useSelectedLayoutSegment, \"rc1U92JxkDTv7MNGlutCvlwOCmc=\", false, function() {\n return [\n useSelectedLayoutSegments\n ];\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQThRRUEseUJBQXVCO2VBQXZCQSx1QkFBQUEsdUJBQXVCOztJQUR2QkMsY0FBWTtlQUFaQSx1QkFBQUEsWUFBWTs7SUFSWkMsMkJBQXlCO2VBQXpCQSxpQ0FBQUEseUJBQXlCOztJQUt6QkMsVUFBUTtlQUFSQSx1QkFBQUEsUUFBUTs7SUFFUkMsbUJBQWlCO2VBQWpCQSx1QkFBQUEsaUJBQWlCOztJQURqQkMsVUFBUTtlQUFSQSx1QkFBQUEsUUFBUTs7SUFUUkMsV0FBUztlQUFUQTs7SUFIQUMsYUFBVztlQUFYQTs7SUFJQUMsV0FBUztlQUFUQTs7SUFMQUMsaUJBQWU7ZUFBZkE7O0lBRUFDLDBCQUF3QjtlQUF4QkE7O0lBQ0FDLDJCQUF5QjtlQUF6QkE7O0lBR0FDLHVCQUFxQjtlQUFyQkEsaUNBQUFBLHFCQUFxQjs7O21DQXBRYTsyREFNN0I7NkRBS0E7NkNBQ3lCO3FDQUNzQjttREFDZDs2REEyRWpDO0FBekVQOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBbUJDLEdBQ0QsU0FBU0g7SUFDUCxNQUFNSSxlQUFlQyxDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNDLGlDQUFBQSxtQkFBbUI7SUFFbkQsOERBQThEO0lBQzlELDBFQUEwRTtJQUMxRSxrQkFBa0I7SUFDbEIsTUFBTUMsdUJBQXVCQyxDQUFBQSxHQUFBQSxPQUFBQSxPQUFPLEVBQUM7UUFDbkMsSUFBSSxDQUFDSixjQUFjO1lBQ2pCLHlFQUF5RTtZQUN6RSxhQUFhO1lBQ2IsT0FBTztRQUNUO1FBRUEsT0FBTyxJQUFJYix1QkFBQUEsdUJBQXVCLENBQUNhO0lBQ3JDLEdBQUc7UUFBQ0E7S0FBYTtJQUVqQixJQUFJLE9BQU9LLFdBQVcsYUFBYTtRQUNqQyxpRUFBaUU7UUFDakUsTUFBTSxFQUFFQyx3QkFBd0IsRUFBRSxHQUNoQ0MsbUJBQUFBLENBQVE7UUFDVixtRUFBbUU7UUFDbkVELHlCQUF5QjtJQUMzQjtJQUVBLE9BQU9IO0FBQ1Q7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCQyxHQUNELFNBQVNUO0lBQ1AsOEVBQThFO0lBQzlFLDBFQUEwRTtJQUMxRSxPQUFPTyxDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNPLGlDQUFBQSxlQUFlO0FBQ25DO0FBT0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUJDLEdBQ0QsU0FBU2I7SUFDUCxNQUFNYyxTQUFTUixDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNTLCtCQUFBQSxnQkFBZ0I7SUFDMUMsSUFBSUQsV0FBVyxNQUFNO1FBQ25CLE1BQU0sSUFBSUUsTUFBTTtJQUNsQjtJQUVBLE9BQU9GO0FBQ1Q7QUFNQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCQyxHQUNELFNBQVNoQjtJQUNQLE9BQU9RLENBQUFBLEdBQUFBLE9BQUFBLFVBQVUsRUFBQ1csaUNBQUFBLGlCQUFpQjtBQUNyQztBQUVBLDBFQUEwRSxHQUMxRSxTQUFTQyw2QkFDUEMsSUFBdUIsRUFDdkJDLGdCQUF3QixFQUN4QkMsS0FBWSxFQUNaQyxXQUEwQjtJQUQxQkQsSUFBQUEsVUFBQUEsS0FBQUEsR0FBQUEsUUFBUTtJQUNSQyxJQUFBQSxnQkFBQUEsS0FBQUEsR0FBQUEsY0FBd0IsRUFBRTtJQUUxQixJQUFJQztJQUNKLElBQUlGLE9BQU87UUFDVCxrRUFBa0U7UUFDbEVFLE9BQU9KLElBQUksQ0FBQyxFQUFFLENBQUNDLGlCQUFpQjtJQUNsQyxPQUFPO1FBQ0wsb0dBQW9HO1FBQ3BHLE1BQU1JLGlCQUFpQkwsSUFBSSxDQUFDLEVBQUU7WUFDdkJLO1FBQVBELE9BQU9DLENBQUFBLDJCQUFBQSxlQUFlQyxRQUFRLFlBQXZCRCwyQkFBMkJFLE9BQU9DLE1BQU0sQ0FBQ0gsZUFBZSxDQUFDLEVBQUU7SUFDcEU7SUFFQSxJQUFJLENBQUNELE1BQU0sT0FBT0Q7SUFDbEIsTUFBTU0sVUFBVUwsSUFBSSxDQUFDLEVBQUU7SUFFdkIsTUFBTU0sZUFBZUMsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFBQ0Y7SUFDckMsSUFBSSxDQUFDQyxnQkFBZ0JBLGFBQWFFLFVBQVUsQ0FBQ0MsU0FBQUEsZ0JBQWdCLEdBQUc7UUFDOUQsT0FBT1Y7SUFDVDtJQUVBQSxZQUFZVyxJQUFJLENBQUNKO0lBRWpCLE9BQU9YLDZCQUNMSyxNQUNBSCxrQkFDQSxPQUNBRTtBQUVKO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCQyxHQUNELFNBQVNuQiwwQkFDUGlCLGdCQUFxQztJQUFyQ0EsSUFBQUEscUJBQUFBLEtBQUFBLEdBQUFBLG1CQUEyQjtJQUUzQixNQUFNYyxVQUFVNUIsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBVSxFQUFDNkIsK0JBQUFBLG1CQUFtQjtJQUM5Qyx3RkFBd0Y7SUFDeEYsSUFBSSxDQUFDRCxTQUFTLE9BQU87SUFFckIsT0FBT2hCLDZCQUE2QmdCLFFBQVFmLElBQUksRUFBRUM7QUFDcEQ7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpQkMsR0FDRCxTQUFTbEIseUJBQ1BrQixnQkFBcUM7O0lBQXJDQSxJQUFBQSxxQkFBQUEsS0FBQUEsR0FBQUEsbUJBQTJCO0lBRTNCLE1BQU1nQix5QkFBeUJqQywwQkFBMEJpQjtJQUV6RCxJQUFJLENBQUNnQiwwQkFBMEJBLHVCQUF1QkMsTUFBTSxLQUFLLEdBQUc7UUFDbEUsT0FBTztJQUNUO0lBRUEsTUFBTUMsd0JBQ0psQixxQkFBcUIsYUFDakJnQixzQkFBc0IsQ0FBQyxFQUFFLEdBQ3pCQSxzQkFBc0IsQ0FBQ0EsdUJBQXVCQyxNQUFNLEdBQUcsRUFBRTtJQUUvRCx5R0FBeUc7SUFDekcseUVBQXlFO0lBQ3pFLE9BQU9DLDBCQUEwQkMsU0FBQUEsbUJBQW1CLEdBQ2hELE9BQ0FEO0FBQ047R0FuQlNwQzs7UUFHd0JDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi50cz9mNjI0Il0sIm5hbWVzIjpbIlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zIiwiUmVkaXJlY3RUeXBlIiwiU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dCIsIm5vdEZvdW5kIiwicGVybWFuZW50UmVkaXJlY3QiLCJyZWRpcmVjdCIsInVzZVBhcmFtcyIsInVzZVBhdGhuYW1lIiwidXNlUm91dGVyIiwidXNlU2VhcmNoUGFyYW1zIiwidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50IiwidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50cyIsInVzZVNlcnZlckluc2VydGVkSFRNTCIsInNlYXJjaFBhcmFtcyIsInVzZUNvbnRleHQiLCJTZWFyY2hQYXJhbXNDb250ZXh0IiwicmVhZG9ubHlTZWFyY2hQYXJhbXMiLCJ1c2VNZW1vIiwid2luZG93IiwiYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIiwicmVxdWlyZSIsIlBhdGhuYW1lQ29udGV4dCIsInJvdXRlciIsIkFwcFJvdXRlckNvbnRleHQiLCJFcnJvciIsIlBhdGhQYXJhbXNDb250ZXh0IiwiZ2V0U2VsZWN0ZWRMYXlvdXRTZWdtZW50UGF0aCIsInRyZWUiLCJwYXJhbGxlbFJvdXRlS2V5IiwiZmlyc3QiLCJzZWdtZW50UGF0aCIsIm5vZGUiLCJwYXJhbGxlbFJvdXRlcyIsImNoaWxkcmVuIiwiT2JqZWN0IiwidmFsdWVzIiwic2VnbWVudCIsInNlZ21lbnRWYWx1ZSIsImdldFNlZ21lbnRWYWx1ZSIsInN0YXJ0c1dpdGgiLCJQQUdFX1NFR01FTlRfS0VZIiwicHVzaCIsImNvbnRleHQiLCJMYXlvdXRSb3V0ZXJDb250ZXh0Iiwic2VsZWN0ZWRMYXlvdXRTZWdtZW50cyIsImxlbmd0aCIsInNlbGVjdGVkTGF5b3V0U2VnbWVudCIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/navigation.react-server.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/navigation.react-server.js ***! - \*****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/** @internal */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _redirect.RedirectType;\n },\n notFound: function() {\n return _notfound.notFound;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n redirect: function() {\n return _redirect.redirect;\n }\n});\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(app-pages-browser)/./node_modules/next/dist/client/components/not-found.js\");\nclass ReadonlyURLSearchParamsError extends Error {\n constructor(){\n super(\"Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams\");\n }\n}\nclass ReadonlyURLSearchParams extends URLSearchParams {\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ append() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ delete() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ set() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ sort() {\n throw new ReadonlyURLSearchParamsError();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.react-server.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi5yZWFjdC1zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYzs7Ozs7Ozs7Ozs7O0lBOEJMQSx5QkFBdUI7ZUFBdkJBOztJQUY2QkMsY0FBWTtlQUFaQSxVQUFBQSxZQUFZOztJQUN6Q0MsVUFBUTtlQUFSQSxVQUFBQSxRQUFROztJQURFQyxtQkFBaUI7ZUFBakJBLFVBQUFBLGlCQUFpQjs7SUFBM0JDLFVBQVE7ZUFBUkEsVUFBQUEsUUFBUTs7O3NDQUF5QztzQ0FDakM7QUE1QnpCLE1BQU1DLHFDQUFxQ0M7SUFDekNDLGFBQWM7UUFDWixLQUFLLENBQ0g7SUFFSjtBQUNGO0FBRUEsTUFBTVAsZ0NBQWdDUTtJQUNwQyx3S0FBd0ssR0FDeEtDLFNBQVM7UUFDUCxNQUFNLElBQUlKO0lBQ1o7SUFDQSx3S0FBd0ssR0FDeEtLLFNBQVM7UUFDUCxNQUFNLElBQUlMO0lBQ1o7SUFDQSx3S0FBd0ssR0FDeEtNLE1BQU07UUFDSixNQUFNLElBQUlOO0lBQ1o7SUFDQSx3S0FBd0ssR0FDeEtPLE9BQU87UUFDTCxNQUFNLElBQUlQO0lBQ1o7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24ucmVhY3Qtc2VydmVyLnRzP2RiYzAiXSwibmFtZXMiOlsiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMiLCJSZWRpcmVjdFR5cGUiLCJub3RGb3VuZCIsInBlcm1hbmVudFJlZGlyZWN0IiwicmVkaXJlY3QiLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsIlVSTFNlYXJjaFBhcmFtcyIsImFwcGVuZCIsImRlbGV0ZSIsInNldCIsInNvcnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/navigation.react-server.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NotFoundBoundary\", ({\n enumerable: true,\n get: function() {\n return NotFoundBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(app-pages-browser)/./node_modules/next/dist/client/components/not-found.js\");\nconst _warnonce = __webpack_require__(/*! ../../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nclass NotFoundErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has(\"children\")) {\n let warningMessage = \"No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n\" + \"Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n\";\n if (this.props.missingSlots.size > 0) {\n const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>\"@\" + slot).join(\", \");\n warningMessage += \"Missing slots: \" + formattedSlots;\n }\n (0, _warnonce.warnOnce)(warningMessage);\n }\n }\n static getDerivedStateFromError(error) {\n if ((0, _notfound.isNotFoundError)(error)) {\n return {\n notFoundTriggered: true\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.notFoundTriggered) {\n return {\n notFoundTriggered: false,\n previousPathname: props.pathname\n };\n }\n return {\n notFoundTriggered: state.notFoundTriggered,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.notFoundTriggered) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }),\n true && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-error\",\n content: \"not-found\"\n }),\n this.props.notFoundStyles,\n this.props.notFound\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n notFoundTriggered: !!props.asNotFound,\n previousPathname: props.pathname\n };\n }\n}\nfunction NotFoundBoundary(param) {\n let { notFound, notFoundStyles, asNotFound, children } = param;\n const pathname = (0, _navigation.usePathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n return notFound ? /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n asNotFound: asNotFound,\n missingSlots: missingSlots,\n children: children\n }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\n_c = NotFoundBoundary;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found-boundary.js.map\nvar _c;\n$RefreshReg$(_c, \"NotFoundBoundary\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs2QkFHNEJBLDBCQUFBQyxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO3dDQUNJO3NDQUNQOztBQW9CekIsTUFBTUMsaUNBQThCQyxtQkFBQUEsQ0FBQUEsd0pBQUFBO01BWWxDQyw4QkFBMEJDLE9BQUFDLE9BQUEsQ0FBQUMsU0FBQTt3QkFFVkM7UUFFWixJQUFDQyxLQUE0QixJQUM3QjthQUNBLENBQUFDLEtBQUlDLENBQUFBLFlBQUFBLENBQ0ZDLEdBQUE7WUFHRixJQUFJRCxpQkFBV0UsNEhBQXVCO2dCQUNwQyxLQUFBSCxLQUFNSSxDQUFBQSxZQUFpQkMsQ0FBQUEsSUFBQUEsR0FBTUMsR0FBSztnQkFLbENMLE1BQUFBLGlCQUFrQkksTUFBQUMsSUFBQSxLQUFvQkYsQ0FBQUEsS0FBQUEsQ0FBQUEsWUFBQUEsRUFBQUEsSUFBQUEsQ0FBQUEsQ0FBQUEsR0FBQUEsSUFBQUEsRUFBQUEsYUFBQUEsQ0FBQUEsSUFBQUEsR0FBQUEsQ0FBQUEsQ0FBQUEsT0FBQUEsTUFBQUEsTUFBQUEsSUFBQUEsQ0FBQUE7Z0JBQ3hDSCxrQkFBQSxvQkFBQUc7WUFFQUc7WUFDRixJQUFBQyxVQUFBRCxRQUFBLEVBQUFOO1FBQ0Y7SUFFQTtXQUNFUSx5QkFBSUMsS0FBZSxFQUFDQztZQUNsQixJQUFBQyxVQUFPRixlQUFBLEVBQUFDLFFBQUE7bUJBQ0xFO2dCQUNGQSxtQkFBQTtZQUNGO1FBQ0E7UUFDQSxtQ0FBTUY7UUFDUixNQUFBQTtJQUVBO1dBSUVHLHlCQUFBZCxLQUFBLEVBQUFlLEtBQUE7Ozs7OztZQU9FZixNQUFBZ0IsUUFBTyxLQUFBRCxNQUFBRSxnQkFBQSxJQUFBRixNQUFBRixpQkFBQTttQkFDTEE7Z0JBQ0FJLG1CQUFrQmpCO2dCQUNwQmlCLGtCQUFBakIsTUFBQWdCLFFBQUE7WUFDRjtRQUNBO2VBQ0VIO1lBQ0FJLG1CQUFrQmpCLE1BQU1nQixpQkFBUTtZQUNsQ0Msa0JBQUFqQixNQUFBZ0IsUUFBQTtRQUNGO0lBRUFFO2FBQ007WUFDRixLQUFBSCxLQUFBLENBQUFGLGlCQUNFOzs7K0JBQ2EsT0FBQU0sWUFBQUMsR0FBQTt3QkFBU0MsTUFBQUE7O29CQUNuQnRCO29CQWpHWCxLQWtHdUIsc0JBQUFvQixZQUFBQyxHQUFBO3dCQUFhQyxNQUFBQTs7b0JBRXpCO29CQUNBLElBQUksQ0FBQ3JCLEtBQUssQ0FBQ3NCLGNBQVE7OztZQUcxQjtRQUVBO1FBQ0YsWUFBQXRCLEtBQUEsQ0FBQXVCLFFBQUE7SUE5RUFDO2dCQUNReEIsS0FBQUEsQ0FBQUE7UUFDTixLQUFLZSxDQUFBQTtZQUNIRixDQUFBQSxLQUFBQSxHQUFBQTtZQUNBSSxtQkFBa0JqQixDQUFBQSxDQUFBQSxNQUFNZ0IsVUFBUTtZQUNsQ0Msa0JBQUFqQixNQUFBZ0IsUUFBQTtRQUNGO0lBeUVGO0FBRU87U0FBMEJTLGlCQUUvQkMsS0FBQUE7SUFJQSxNQUFNVixRQUFBQSxFQUFBQSxjQUFXVyxFQUFBQSxVQUFBQSxFQUFXSixRQUFBLEtBQUFLO0lBQzVCLE1BQU16QixXQUFBQSxDQUFBQSxHQUFlMEIsWUFBQUEsV0FBV0M7SUFDaEMsTUFBQTNCLGVBQU9tQixDQUFBQSxHQUFBQSxPQUNMTyxVQUFBLEVBQUFFLCtCQUFDdkMsa0JBQUFBO1dBQ0N3QixXQUFVQSxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSx1QkFBQUE7UUFDVk0sVUFBVUE7UUFDVkksVUFBQUE7UUFDQU0sZ0JBQVlBO1FBQ1o3QixZQUFBQTtzQkFFQ29COztTQUdBQSxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxZQUFBQSxRQUFBQSxFQUFBQTs7SUFFUDs7S0FyQmlDRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS50c3g/MTcyNCJdLCJuYW1lcyI6WyJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiXyIsInJlcXVpcmUiLCJOb3RGb3VuZEVycm9yQm91bmRhcnkiLCJSZWFjdCIsImNvbXBvbmVudERpZENhdGNoIiwiX3JlYWN0IiwiZGVmYXVsdCIsIkNvbXBvbmVudCIsIk5PREVfRU5WIiwicHJvY2VzcyIsInByb3BzIiwid2FybmluZ01lc3NhZ2UiLCJoYXMiLCJtaXNzaW5nU2xvdHMiLCJmb3JtYXR0ZWRTbG90cyIsIkFycmF5IiwiZnJvbSIsIndhcm5PbmNlIiwiX3dhcm5vbmNlIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiaXNOb3RGb3VuZEVycm9yIiwiZXJyb3IiLCJfbm90Zm91bmQiLCJub3RGb3VuZFRyaWdnZXJlZCIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsInN0YXRlIiwicGF0aG5hbWUiLCJwcmV2aW91c1BhdGhuYW1lIiwicmVuZGVyIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJjb250ZW50Iiwibm90Rm91bmQiLCJjaGlsZHJlbiIsImNvbnN0cnVjdG9yIiwiTm90Rm91bmRCb3VuZGFyeSIsIm5vdEZvdW5kU3R5bGVzIiwidXNlUGF0aG5hbWUiLCJwYXJhbSIsInVzZUNvbnRleHQiLCJNaXNzaW5nU2xvdENvbnRleHQiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJhc05vdEZvdW5kIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/not-found.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/components/not-found.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isNotFoundError: function() {\n return isNotFoundError;\n },\n notFound: function() {\n return notFound;\n }\n});\nconst NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\nfunction notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\nfunction isNotFoundError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error)) {\n return false;\n }\n return error.digest === NOT_FOUND_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWdDZ0JBLGlCQUFlO2VBQWZBOztJQWRBQyxVQUFRO2VBQVJBOzs7QUFsQmhCLE1BQU1DLHVCQUF1QjtBQWtCdEIsU0FBU0Q7SUFDZCw0Q0FBNEM7SUFDNUMsTUFBTUUsUUFBUSxJQUFJQyxNQUFNRjtJQUN0QkMsTUFBd0JFLE1BQU0sR0FBR0g7SUFDbkMsTUFBTUM7QUFDUjtBQVNPLFNBQVNILGdCQUFnQkcsS0FBYztJQUM1QyxJQUFJLE9BQU9BLFVBQVUsWUFBWUEsVUFBVSxRQUFRLENBQUUsYUFBWUEsS0FBQUEsR0FBUTtRQUN2RSxPQUFPO0lBQ1Q7SUFFQSxPQUFPQSxNQUFNRSxNQUFNLEtBQUtIO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLnRzPzA3ZmIiXSwibmFtZXMiOlsiaXNOb3RGb3VuZEVycm9yIiwibm90Rm91bmQiLCJOT1RfRk9VTkRfRVJST1JfQ09ERSIsImVycm9yIiwiRXJyb3IiLCJkaWdlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/not-found.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/promise-queue.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/promise-queue.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/*\n This is a simple promise queue that allows you to limit the number of concurrent promises\n that are running at any given time. It's used to limit the number of concurrent\n prefetch requests that are being made to the server but could be used for other\n things as well.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PromiseQueue\", ({\n enumerable: true,\n get: function() {\n return PromiseQueue;\n }\n}));\nconst _class_private_field_loose_base = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_base */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\");\nconst _class_private_field_loose_key = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_key */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\");\nvar _maxConcurrency = /*#__PURE__*/ _class_private_field_loose_key._(\"_maxConcurrency\"), _runningCount = /*#__PURE__*/ _class_private_field_loose_key._(\"_runningCount\"), _queue = /*#__PURE__*/ _class_private_field_loose_key._(\"_queue\"), _processNext = /*#__PURE__*/ _class_private_field_loose_key._(\"_processNext\");\nclass PromiseQueue {\n enqueue(promiseFn) {\n let taskResolve;\n let taskReject;\n const taskPromise = new Promise((resolve, reject)=>{\n taskResolve = resolve;\n taskReject = reject;\n });\n const task = async ()=>{\n try {\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]++;\n const result = await promiseFn();\n taskResolve(result);\n } catch (error) {\n taskReject(error);\n } finally{\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]--;\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n }\n };\n const enqueueResult = {\n promiseFn: taskPromise,\n task\n };\n // wonder if we should take a LIFO approach here\n _class_private_field_loose_base._(this, _queue)[_queue].push(enqueueResult);\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n return taskPromise;\n }\n bump(promiseFn) {\n const index = _class_private_field_loose_base._(this, _queue)[_queue].findIndex((item)=>item.promiseFn === promiseFn);\n if (index > -1) {\n const bumpedItem = _class_private_field_loose_base._(this, _queue)[_queue].splice(index, 1)[0];\n _class_private_field_loose_base._(this, _queue)[_queue].unshift(bumpedItem);\n _class_private_field_loose_base._(this, _processNext)[_processNext](true);\n }\n }\n constructor(maxConcurrency = 5){\n Object.defineProperty(this, _processNext, {\n value: processNext\n });\n Object.defineProperty(this, _maxConcurrency, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _runningCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queue, {\n writable: true,\n value: void 0\n });\n _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] = maxConcurrency;\n _class_private_field_loose_base._(this, _runningCount)[_runningCount] = 0;\n _class_private_field_loose_base._(this, _queue)[_queue] = [];\n }\n}\nfunction processNext(forced) {\n if (forced === void 0) forced = false;\n if ((_class_private_field_loose_base._(this, _runningCount)[_runningCount] < _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] || forced) && _class_private_field_loose_base._(this, _queue)[_queue].length > 0) {\n var _class_private_field_loose_base__queue_shift;\n (_class_private_field_loose_base__queue_shift = _class_private_field_loose_base._(this, _queue)[_queue].shift()) == null ? void 0 : _class_private_field_loose_base__queue_shift.task();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=promise-queue.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcHJvbWlzZS1xdWV1ZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7QUFLQTs7OztnREFDYUE7OztlQUFBQTs7Ozs7SUFDWEMsa0JBQUEsY0FBQUMsK0JBQUFDLENBQUEscUJBQ0FDLGdCQUFBLGNBQUFGLCtCQUFBQyxDQUFBLG1CQUNBRSxTQUFBLGNBQUFILCtCQUFBQyxDQUFBLFlBbURBRyxlQUFBLGNBQUFKLCtCQUFBQyxDQUFBO0FBdERLLE1BQU1IO0lBY1hPLFFBQVdDLFNBQTJCLEVBQWM7UUFDbEQsSUFBSUM7UUFDSixJQUFJQztRQUVKLE1BQU1DLGNBQWMsSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztZQUN4Q0wsY0FBY0k7WUFDZEgsYUFBYUk7UUFDZjtRQUVBLE1BQU1DLE9BQU87WUFDWCxJQUFJO2dCQUNGQyxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVjLGNBQUFBLENBQUFBLGNBQUFBO2dCQUNOLE1BQU1DLFNBQVMsTUFBTVY7Z0JBQ3JCQyxZQUFZUztZQUNkLEVBQUUsT0FBT0MsT0FBTztnQkFDZFQsV0FBV1M7WUFDYixTQUFVO2dCQUNSSCxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVjLGNBQUFBLENBQUFBLGNBQUFBO2dCQUNORCxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVpQixhQUFBQSxDQUFBQSxhQUFBQTtZQUNSO1FBQ0Y7UUFFQSxNQUFNQyxnQkFBZ0I7WUFBRWIsV0FBV0c7WUFBYUk7UUFBSztRQUNyRCxnREFBZ0Q7UUFDaERDLGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLENBQU1DLElBQUksQ0FBQ0Y7UUFDakJMLGdDQUFBYixDQUFBLEtBQUksRUFBRWlCLGFBQUFBLENBQUFBLGFBQUFBO1FBRU4sT0FBT1Q7SUFDVDtJQUVBYSxLQUFLaEIsU0FBdUIsRUFBRTtRQUM1QixNQUFNaUIsUUFBUVQsZ0NBQUFiLENBQUEsS0FBSSxFQUFFbUIsT0FBQUEsQ0FBQUEsT0FBQUEsQ0FBTUksU0FBUyxDQUFDLENBQUNDLE9BQVNBLEtBQUtuQixTQUFTLEtBQUtBO1FBRWpFLElBQUlpQixRQUFRLENBQUMsR0FBRztZQUNkLE1BQU1HLGFBQWFaLGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLENBQU1PLE1BQU0sQ0FBQ0osT0FBTyxFQUFFLENBQUMsRUFBRTtZQUNsRFQsZ0NBQUFiLENBQUEsS0FBSSxFQUFFbUIsT0FBQUEsQ0FBQUEsT0FBQUEsQ0FBTVEsT0FBTyxDQUFDRjtZQUNwQlosZ0NBQUFiLENBQUEsS0FBSSxFQUFFaUIsYUFBQUEsQ0FBQUEsYUFBQUEsQ0FBWTtRQUNwQjtJQUNGO0lBNUNBVyxZQUFZQyxpQkFBaUIsQ0FBQyxDQUFFO1FBOENoQ0MsT0FBQUMsY0FBQSxPQUFBNUIsY0FBQTttQkFBQWM7O1FBckRBYSxPQUFBQyxjQUFBLE9BQUFqQyxpQkFBQTs7bUJBQUE7O1FBQ0FnQyxPQUFBQyxjQUFBLE9BQUE5QixlQUFBOzttQkFBQTs7UUFDQTZCLE9BQUFDLGNBQUEsT0FBQTdCLFFBQUE7O21CQUFBOztRQU1FVyxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUU2QixnQkFBQUEsQ0FBQUEsZ0JBQUFBLEdBQWlCQTtRQUN2QmhCLGdDQUFBYixDQUFBLEtBQUksRUFBRWMsY0FBQUEsQ0FBQUEsY0FBQUEsR0FBZTtRQUNyQkQsZ0NBQUFiLENBQUEsS0FBSSxFQUFFbUIsT0FBQUEsQ0FBQUEsT0FBQUEsR0FBUSxFQUFFO0lBQ2xCO0FBa0RGO0FBUkUsU0FBQUYsWUFBYWUsTUFBYztJQUFkQSxJQUFBQSxXQUFBQSxLQUFBQSxHQUFBQSxTQUFTO0lBQ3BCLElBQ0UsQ0FBQ25CLGdDQUFBYixDQUFBLEtBQUksRUFBRWMsY0FBQUEsQ0FBQUEsY0FBQUEsR0FBZUQsZ0NBQUFiLENBQUEsS0FBSSxFQUFFNkIsZ0JBQUFBLENBQUFBLGdCQUFBQSxJQUFrQkcsTUFBQUEsS0FDOUNuQixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVtQixPQUFBQSxDQUFBQSxPQUFBQSxDQUFNYyxNQUFNLEdBQUcsR0FDckI7WUFDQUM7UUFBQUEsQ0FBQUEsK0NBQUFyQixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVtQixPQUFBQSxDQUFBQSxPQUFBQSxDQUFNZ0IsS0FBSyx1QkFBakJELDZDQUFxQnRCLElBQUk7SUFDM0I7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3Byb21pc2UtcXVldWUudHM/ZTczNCJdLCJuYW1lcyI6WyJQcm9taXNlUXVldWUiLCJfbWF4Q29uY3VycmVuY3kiLCJfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkiLCJfIiwiX3J1bm5pbmdDb3VudCIsIl9xdWV1ZSIsIl9wcm9jZXNzTmV4dCIsImVucXVldWUiLCJwcm9taXNlRm4iLCJ0YXNrUmVzb2x2ZSIsInRhc2tSZWplY3QiLCJ0YXNrUHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwidGFzayIsIl9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UiLCJydW5uaW5nQ291bnQiLCJyZXN1bHQiLCJlcnJvciIsInByb2Nlc3NOZXh0IiwiZW5xdWV1ZVJlc3VsdCIsInF1ZXVlIiwicHVzaCIsImJ1bXAiLCJpbmRleCIsImZpbmRJbmRleCIsIml0ZW0iLCJidW1wZWRJdGVtIiwic3BsaWNlIiwidW5zaGlmdCIsImNvbnN0cnVjdG9yIiwibWF4Q29uY3VycmVuY3kiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImZvcmNlZCIsImxlbmd0aCIsIl9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VfX3F1ZXVlX3NoaWZ0Iiwic2hpZnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/promise-queue.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js ***! - \*******************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return ReactDevOverlay;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _shared = __webpack_require__(/*! ../shared */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _ShadowPortal = __webpack_require__(/*! ../internal/components/ShadowPortal */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ../internal/container/BuildError */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../internal/container/Errors */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _parseStack = __webpack_require__(/*! ../internal/helpers/parseStack */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _Base = __webpack_require__(/*! ../internal/styles/Base */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ../internal/styles/ComponentStyles */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ../internal/styles/CssReset */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nconst _rootlayoutmissingtagserror = __webpack_require__(/*! ../internal/container/root-layout-missing-tags-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js\");\nclass ReactDevOverlay extends _react.PureComponent {\n static getDerivedStateFromError(error) {\n if (!error.stack) return {\n reactError: null\n };\n return {\n reactError: {\n id: 0,\n event: {\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack)\n }\n }\n };\n }\n componentDidCatch(componentErr) {\n this.props.onReactError(componentErr);\n }\n render() {\n var _state_rootLayoutMissingTags, _state_rootLayoutMissingTags1;\n const { state, children } = this.props;\n const { reactError } = this.state;\n const hasBuildError = state.buildError != null;\n const hasRuntimeErrors = Boolean(state.errors.length);\n const hasMissingTags = Boolean((_state_rootLayoutMissingTags = state.rootLayoutMissingTags) == null ? void 0 : _state_rootLayoutMissingTags.length);\n const isMounted = hasBuildError || hasRuntimeErrors || reactError || hasMissingTags;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n reactError ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {})\n ]\n }) : children,\n isMounted ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ShadowPortal.ShadowPortal, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CssReset.CssReset, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Base.Base, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStyles.ComponentStyles, {}),\n ((_state_rootLayoutMissingTags1 = state.rootLayoutMissingTags) == null ? void 0 : _state_rootLayoutMissingTags1.length) ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_rootlayoutmissingtagserror.RootLayoutMissingTagsError, {\n missingTags: state.rootLayoutMissingTags\n }) : hasBuildError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : reactError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: true,\n versionInfo: state.versionInfo,\n initialDisplayState: \"fullscreen\",\n errors: [\n reactError\n ]\n }) : hasRuntimeErrors ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: true,\n initialDisplayState: \"minimized\",\n errors: state.errors,\n versionInfo: state.versionInfo\n }) : undefined\n ]\n }) : undefined\n ]\n });\n }\n constructor(...args){\n super(...args);\n this.state = {\n reactError: null\n };\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ReactDevOverlay.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvYXBwL1JlYWN0RGV2T3ZlcmxheS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O2VBZ0JxQkE7Ozs7OzZFQWhCRTtvQ0FDbUM7MENBRTdCO3dDQUNGO29DQUNKO3dDQUVJO2tDQUNOOzZDQUNXO3NDQUNQO3dEQUNrQjtBQUs1QixNQUFNQSx3QkFBd0JDLE9BQU1DLGFBQWE7SUFVOUQsT0FBT0MseUJBQXlCQyxLQUFZLEVBQXdCO1FBQ2xFLElBQUksQ0FBQ0EsTUFBTUMsS0FBSyxFQUFFLE9BQU87WUFBRUMsWUFBWTtRQUFLO1FBQzVDLE9BQU87WUFDTEEsWUFBWTtnQkFDVkMsSUFBSTtnQkFDSkMsT0FBTztvQkFDTEMsTUFBTUMsUUFBQUEsc0JBQXNCO29CQUM1QkMsUUFBUVA7b0JBQ1JRLFFBQVFDLENBQUFBLEdBQUFBLFlBQUFBLFVBQVUsRUFBQ1QsTUFBTUMsS0FBSztnQkFDaEM7WUFDRjtRQUNGO0lBQ0Y7SUFFQVMsa0JBQWtCQyxZQUFtQixFQUFFO1FBQ3JDLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZLENBQUNGO0lBQzFCO0lBRUFHLFNBQVM7WUFNd0JDLDhCQW1CdEJBO1FBeEJULE1BQU0sRUFBRUEsS0FBSyxFQUFFQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUNKLEtBQUs7UUFDdEMsTUFBTSxFQUFFVixVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUNhLEtBQUs7UUFFakMsTUFBTUUsZ0JBQWdCRixNQUFNRyxVQUFVLElBQUk7UUFDMUMsTUFBTUMsbUJBQW1CQyxRQUFRTCxNQUFNTSxNQUFNLENBQUNDLE1BQU07UUFDcEQsTUFBTUMsaUJBQWlCSCxRQUFBQSxDQUFRTCwrQkFBQUEsTUFBTVMscUJBQXFCLHFCQUEzQlQsNkJBQTZCTyxNQUFNO1FBQ2xFLE1BQU1HLFlBQ0pSLGlCQUFpQkUsb0JBQW9CakIsY0FBY3FCO1FBRXJELE9BQ0UsV0FERixHQUNFLElBQUFHLFlBQUFDLElBQUEsRUFBQUQsWUFBQUUsUUFBQTs7Z0JBQ0cxQixhQUNDLFdBRERBLEdBQ0MsSUFBQXdCLFlBQUFDLElBQUEsRUFBQ0UsUUFBQUE7O3NDQUNDLElBQUFILFlBQUFJLEdBQUEsRUFBQ0MsUUFBQUEsQ0FBQUE7c0NBQ0QsSUFBQUwsWUFBQUksR0FBQSxFQUFDRSxRQUFBQSxDQUFBQTs7cUJBR0hoQjtnQkFFRFMsWUFDQyxXQUREQSxHQUNDLElBQUFDLFlBQUFDLElBQUEsRUFBQ00sY0FBQUEsWUFBWTs7c0NBQ1gsSUFBQVAsWUFBQUksR0FBQSxFQUFDSSxVQUFBQSxRQUFRO3NDQUNULElBQUFSLFlBQUFJLEdBQUEsRUFBQ0ssTUFBQUEsSUFBSTtzQ0FDTCxJQUFBVCxZQUFBSSxHQUFBLEVBQUNNLGlCQUFBQSxlQUFlO3dCQUNmckIsQ0FBQUEsQ0FBQUEsZ0NBQUFBLE1BQU1TLHFCQUFxQixxQkFBM0JULDhCQUE2Qk8sTUFBTSxJQUNsQyxXQURrQyxHQUNsQyxJQUFBSSxZQUFBSSxHQUFBLEVBQUNPLDRCQUFBQSwwQkFBMEI7NEJBQ3pCQyxhQUFhdkIsTUFBTVMscUJBQXFCOzZCQUV4Q1AsZ0JBQ0YsV0FERUEsR0FDRixJQUFBUyxZQUFBSSxHQUFBLEVBQUNTLFlBQUFBLFVBQVU7NEJBQ1RDLFNBQVN6QixNQUFNRyxVQUFVOzRCQUN6QnVCLGFBQWExQixNQUFNMEIsV0FBVzs2QkFFOUJ2QyxhQUNGLFdBREVBLEdBQ0YsSUFBQXdCLFlBQUFJLEdBQUEsRUFBQ1ksUUFBQUEsTUFBTTs0QkFDTEMsVUFBVTs0QkFDVkYsYUFBYTFCLE1BQU0wQixXQUFXOzRCQUM5QkcscUJBQW9COzRCQUNwQnZCLFFBQVE7Z0NBQUNuQjs2QkFBVzs2QkFFcEJpQixtQkFDRixXQURFQSxHQUNGLElBQUFPLFlBQUFJLEdBQUEsRUFBQ1ksUUFBQUEsTUFBTTs0QkFDTEMsVUFBVTs0QkFDVkMscUJBQW9COzRCQUNwQnZCLFFBQVFOLE1BQU1NLE1BQU07NEJBQ3BCb0IsYUFBYTFCLE1BQU0wQixXQUFXOzZCQUU5Qkk7O3FCQUVKQTs7O0lBR1Y7OzthQXpFQTlCLEtBQUFBLEdBQVE7WUFBRWIsWUFBWTtRQUFLOztBQTBFN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9hcHAvUmVhY3REZXZPdmVybGF5LnRzeD9mMWJmIl0sIm5hbWVzIjpbIlJlYWN0RGV2T3ZlcmxheSIsIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImVycm9yIiwic3RhY2siLCJyZWFjdEVycm9yIiwiaWQiLCJldmVudCIsInR5cGUiLCJBQ1RJT05fVU5IQU5ETEVEX0VSUk9SIiwicmVhc29uIiwiZnJhbWVzIiwicGFyc2VTdGFjayIsImNvbXBvbmVudERpZENhdGNoIiwiY29tcG9uZW50RXJyIiwicHJvcHMiLCJvblJlYWN0RXJyb3IiLCJyZW5kZXIiLCJzdGF0ZSIsImNoaWxkcmVuIiwiaGFzQnVpbGRFcnJvciIsImJ1aWxkRXJyb3IiLCJoYXNSdW50aW1lRXJyb3JzIiwiQm9vbGVhbiIsImVycm9ycyIsImxlbmd0aCIsImhhc01pc3NpbmdUYWdzIiwicm9vdExheW91dE1pc3NpbmdUYWdzIiwiaXNNb3VudGVkIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiRnJhZ21lbnQiLCJodG1sIiwianN4IiwiaGVhZCIsImJvZHkiLCJTaGFkb3dQb3J0YWwiLCJDc3NSZXNldCIsIkJhc2UiLCJDb21wb25lbnRTdHlsZXMiLCJSb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvciIsIm1pc3NpbmdUYWdzIiwiQnVpbGRFcnJvciIsIm1lc3NhZ2UiLCJ2ZXJzaW9uSW5mbyIsIkVycm9ycyIsImlzQXBwRGlyIiwiaW5pdGlhbERpc3BsYXlTdGF0ZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js ***! - \***********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return HotReload;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(app-pages-browser)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../internal/helpers/format-webpack-messages */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\"));\nconst _navigation = __webpack_require__(/*! ../../navigation */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _parseStack = __webpack_require__(/*! ../internal/helpers/parseStack */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _ReactDevOverlay = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./ReactDevOverlay */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js\"));\nconst _useerrorhandler = __webpack_require__(/*! ../internal/helpers/use-error-handler */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\");\nconst _runtimeerrorhandler = __webpack_require__(/*! ../internal/helpers/runtime-error-handler */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\");\nconst _usewebsocket = __webpack_require__(/*! ../internal/helpers/use-websocket */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\");\nconst _parsecomponentstack = __webpack_require__(/*! ../internal/helpers/parse-component-stack */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../../../../server/dev/hot-reloader-types */ \"(app-pages-browser)/./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _extractmodulesfromturbopackmessage = __webpack_require__(/*! ../../../../server/dev/extract-modules-from-turbopack-message */ \"(app-pages-browser)/./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\");\nlet mostRecentCompilationHash = null;\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet reloading = false;\nlet startLatency = null;\nfunction onBeforeFastRefresh(dispatcher, hasUpdates) {\n if (hasUpdates) {\n dispatcher.onBeforeRefresh();\n }\n}\nfunction onFastRefresh(dispatcher, sendMessage, updatedModules) {\n dispatcher.onBuildOk();\n reportHmrLatency(sendMessage, updatedModules);\n dispatcher.onRefresh();\n}\nfunction reportHmrLatency(sendMessage, updatedModules) {\n if (!startLatency) return;\n let endLatency = Date.now();\n const latency = endLatency - startLatency;\n console.log(\"[Fast Refresh] done in \" + latency + \"ms\");\n sendMessage(JSON.stringify({\n event: \"client-hmr-latency\",\n id: window.__nextDevClientId,\n startTime: startLatency,\n endTime: endLatency,\n page: window.location.pathname,\n updatedModules,\n // Whether the page (tab) was hidden at the time the event occurred.\n // This can impact the accuracy of the event's timing.\n isPageHidden: document.visibilityState === \"hidden\"\n }));\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n/**\n * Is there a newer version of this code available?\n * For webpack: Check if the hash changed compared to __webpack_hash__\n * For Turbopack: Always true because it doesn't have __webpack_hash__\n */ function isUpdateAvailable() {\n if (false) {}\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error module.hot exists\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error module.hot exists\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error module.hot exists\n module.hot.addStatusHandler(handler);\n }\n}\nfunction performFullReload(err, sendMessage) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n sendMessage(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError,\n dependencyChain: err ? err.dependencyChain : undefined\n }));\n if (reloading) return;\n reloading = true;\n window.location.reload();\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeUpdate, onHotUpdateSuccess, sendMessage, dispatcher) {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n dispatcher.onBuildOk();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\"[Fast Refresh] performing full reload\\n\\n\" + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + \"You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n\" + \"Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n\" + \"It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n\" + \"Fast Refresh requires at least one parent function component in your React tree.\");\n } else if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n }\n performFullReload(err, sendMessage);\n return;\n }\n const hasUpdates = Boolean(updatedModules.length);\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(updatedModules);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates(hasUpdates ? ()=>{} : onBeforeUpdate, hasUpdates ? ()=>dispatcher.onBuildOk() : onHotUpdateSuccess, sendMessage, dispatcher);\n } else {\n dispatcher.onBuildOk();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error module.hot exists\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeUpdate === \"function\") {\n const hasUpdates = Boolean(updatedModules.length);\n onBeforeUpdate(hasUpdates);\n }\n // https://webpack.js.org/api/hot-module-replacement/#apply\n // @ts-expect-error module.hot exists\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\n/** Handles messages from the sevrer for the App Router. */ function processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher) {\n if (!(\"action\" in obj)) {\n return;\n }\n function handleErrors(errors) {\n // \"Massage\" webpack messages.\n const formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n dispatcher.onBuildError(formatted.errors[0]);\n // Also log them to the console.\n for(let i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n }\n function handleHotUpdate() {\n if (false) {} else {\n tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {\n onBeforeFastRefresh(dispatcher, hasUpdates);\n }, function onSuccessfulHotUpdate(webpackUpdatedModules) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(dispatcher, sendMessage, webpackUpdatedModules);\n }, sendMessage, dispatcher);\n }\n }\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n startLatency = Date.now();\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n {\n if (obj.hash) {\n handleAvailableHash(obj.hash);\n }\n const { errors, warnings } = obj;\n // Is undefined when it's a 'built' event\n if (\"versionInfo\" in obj) dispatcher.onVersionInfo(obj.versionInfo);\n const hasErrors = Boolean(errors && errors.length);\n // Compilation with errors (e.g. syntax error or missing modules).\n if (hasErrors) {\n sendMessage(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: __nextDevClientId\n }));\n handleErrors(errors);\n return;\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n sendMessage(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: __nextDevClientId\n }));\n // Print warnings to the console.\n const formattedMessages = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n for(let i = 0; i < formattedMessages.warnings.length; i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formattedMessages.warnings[i]));\n }\n // No early return here as we need to apply modules in the same way between warnings only and compiles without warnings\n }\n sendMessage(JSON.stringify({\n event: \"client-success\",\n clientId: __nextDevClientId\n }));\n if (obj.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT) {\n // Handle hot updates\n handleHotUpdate();\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED:\n {\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED\n });\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE:\n {\n const updatedModules = (0, _extractmodulesfromturbopackmessage.extractModulesFromTurbopackMessage)(obj.data);\n dispatcher.onBeforeRefresh();\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n data: obj.data\n });\n dispatcher.onRefresh();\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n performFullReload(null, sendMessage);\n }\n reportHmrLatency(sendMessage, updatedModules);\n break;\n }\n // TODO-APP: make server component change more granular\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:\n {\n sendMessage(JSON.stringify({\n event: \"server-component-reload-page\",\n clientId: __nextDevClientId\n }));\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n (0, _react.startTransition)(()=>{\n router.fastRefresh();\n dispatcher.onRefresh();\n });\n if (false) {}\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n sendMessage(JSON.stringify({\n event: \"client-reload-page\",\n clientId: __nextDevClientId\n }));\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was added/removed.\n return router.fastRefresh();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n return;\n }\n default:\n {}\n }\n}\nfunction HotReload(param) {\n let { assetPrefix, children } = param;\n const [state, dispatch] = (0, _shared.useErrorOverlayReducer)();\n const dispatcher = (0, _react.useMemo)(()=>{\n return {\n onBuildOk () {\n dispatch({\n type: _shared.ACTION_BUILD_OK\n });\n },\n onBuildError (message) {\n dispatch({\n type: _shared.ACTION_BUILD_ERROR,\n message\n });\n },\n onBeforeRefresh () {\n dispatch({\n type: _shared.ACTION_BEFORE_REFRESH\n });\n },\n onRefresh () {\n dispatch({\n type: _shared.ACTION_REFRESH\n });\n },\n onVersionInfo (versionInfo) {\n dispatch({\n type: _shared.ACTION_VERSION_INFO,\n versionInfo\n });\n }\n };\n }, [\n dispatch\n ]);\n const handleOnUnhandledError = (0, _react.useCallback)((error)=>{\n const errorDetails = error.details;\n // Component stack is added to the error in use-error-handler in case there was a hydration errror\n const componentStack = errorDetails == null ? void 0 : errorDetails.componentStack;\n const warning = errorDetails == null ? void 0 : errorDetails.warning;\n dispatch({\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack),\n componentStackFrames: componentStack ? (0, _parsecomponentstack.parseComponentStack)(componentStack) : undefined,\n warning\n });\n }, [\n dispatch\n ]);\n const handleOnUnhandledRejection = (0, _react.useCallback)((reason)=>{\n dispatch({\n type: _shared.ACTION_UNHANDLED_REJECTION,\n reason: reason,\n frames: (0, _parseStack.parseStack)(reason.stack)\n });\n }, [\n dispatch\n ]);\n const handleOnReactError = (0, _react.useCallback)(()=>{\n _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError = true;\n }, []);\n (0, _useerrorhandler.useErrorHandler)(handleOnUnhandledError, handleOnUnhandledRejection);\n const webSocketRef = (0, _usewebsocket.useWebsocket)(assetPrefix);\n (0, _usewebsocket.useWebsocketPing)(webSocketRef);\n const sendMessage = (0, _usewebsocket.useSendMessage)(webSocketRef);\n const processTurbopackMessage = (0, _usewebsocket.useTurbopack)(sendMessage, (err)=>performFullReload(err, sendMessage));\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n const websocket = webSocketRef.current;\n if (!websocket) return;\n const handler = (event)=>{\n try {\n const obj = JSON.parse(event.data);\n processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher);\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + event.data + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n };\n websocket.addEventListener(\"message\", handler);\n return ()=>websocket.removeEventListener(\"message\", handler);\n }, [\n sendMessage,\n router,\n webSocketRef,\n dispatcher,\n processTurbopackMessage\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ReactDevOverlay.default, {\n onReactError: handleOnReactError,\n state: state,\n children: children\n });\n}\n_c = HotReload;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-reloader-client.js.map\nvar _c;\n$RefreshReg$(_c, \"HotReload\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvYXBwL2hvdC1yZWxvYWRlci1jbGllbnQuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FrY0E7OztlQUF3QkE7Ozs7O21DQWpjeUM7Z0ZBQzNDOzRGQUNZO3dDQUNSO29DQVVuQjt3Q0FDb0I7c0ZBQ0M7NkNBQ0k7aURBQ0k7MENBTTdCO2lEQUM2Qjs4Q0FFUTtnRUFLTztBQVduRCxJQUFJQyw0QkFBaUM7QUFDckMsSUFBSUMsb0JBQW9CQyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLE1BQU0sS0FBSyxNQUFNQyxLQUFLQyxHQUFHO0FBQ2pFLElBQUlDLFlBQVk7QUFDaEIsSUFBSUMsZUFBOEI7QUFFbEMsU0FBU0Msb0JBQW9CQyxVQUFzQixFQUFFQyxVQUFtQjtJQUN0RSxJQUFJQSxZQUFZO1FBQ2RELFdBQVdFLGVBQWU7SUFDNUI7QUFDRjtBQUVBLFNBQVNDLGNBQ1BILFVBQXNCLEVBQ3RCSSxXQUFzQyxFQUN0Q0MsY0FBcUM7SUFFckNMLFdBQVdNLFNBQVM7SUFFcEJDLGlCQUFpQkgsYUFBYUM7SUFFOUJMLFdBQVdRLFNBQVM7QUFDdEI7QUFFQSxTQUFTRCxpQkFDUEgsV0FBc0MsRUFDdENDLGNBQXFDO0lBRXJDLElBQUksQ0FBQ1AsY0FBYztJQUNuQixJQUFJVyxhQUFhZCxLQUFLQyxHQUFHO0lBQ3pCLE1BQU1jLFVBQVVELGFBQWFYO0lBQzdCYSxRQUFRQyxHQUFHLENBQUMsNEJBQTBCRixVQUFRO0lBQzlDTixZQUNFUyxLQUFLQyxTQUFTLENBQUM7UUFDYkMsT0FBTztRQUNQQyxJQUFJQyxPQUFPMUIsaUJBQWlCO1FBQzVCMkIsV0FBV3BCO1FBQ1hxQixTQUFTVjtRQUNUVyxNQUFNSCxPQUFPSSxRQUFRLENBQUNDLFFBQVE7UUFDOUJqQjtRQUNBLG9FQUFvRTtRQUNwRSxzREFBc0Q7UUFDdERrQixjQUFjQyxTQUFTQyxlQUFlLEtBQUs7SUFDN0M7QUFFSjtBQUVBLGtEQUFrRDtBQUNsRCxTQUFTQyxvQkFBb0JDLElBQVk7SUFDdkMsc0NBQXNDO0lBQ3RDckMsNEJBQTRCcUM7QUFDOUI7QUFFQTs7OztDQUlDLEdBQ0QsU0FBU0M7SUFDUCxJQUFJQyxLQUFxQixFQUFFLEVBRTNCO0lBRUEsNEJBQTRCLEdBQzVCLDJEQUEyRDtJQUMzRCw4Q0FBOEM7SUFDOUMsT0FBT3ZDLDhCQUE4QjBDLHVCQUFBQTtBQUN2QztBQUVBLDZDQUE2QztBQUM3QyxTQUFTQztJQUNQLHFDQUFxQztJQUNyQyxPQUFPQyxVQUFVLENBQUNFLE1BQU0sT0FBTztBQUNqQztBQUNBLFNBQVNDLGtCQUFrQkMsRUFBTztJQUNoQyxJQUFJTCxtQkFBbUI7UUFDckJLO0lBQ0YsT0FBTztRQUNMLFNBQVNDLFFBQVFILE1BQVc7WUFDMUIsSUFBSUEsV0FBVyxRQUFRO2dCQUNyQixxQ0FBcUM7Z0JBQ3JDRixVQUFVLENBQUNNLG1CQUFtQixDQUFDRDtnQkFDL0JEO1lBQ0Y7UUFDRjtRQUNBLHFDQUFxQztRQUNyQ0osVUFBVSxDQUFDTyxnQkFBZ0IsQ0FBQ0Y7SUFDOUI7QUFDRjtBQUVBLFNBQVNHLGtCQUFrQkMsR0FBUSxFQUFFdkMsV0FBZ0I7SUFDbkQsTUFBTXdDLGFBQ0pELE9BQ0NBLENBQUFBLElBQUtFLEtBQUssSUFBSUYsSUFBSUUsS0FBSyxDQUFDQyxLQUFLLENBQUMsTUFBTUMsS0FBSyxDQUFDLEdBQUcsR0FBR0MsSUFBSSxDQUFDLFNBQ3BETCxJQUFJTSxPQUFPLElBQ1hOLE1BQU07SUFFVnZDLFlBQ0VTLEtBQUtDLFNBQVMsQ0FBQztRQUNiQyxPQUFPO1FBQ1A2QjtRQUNBTSxpQkFBaUIsQ0FBQyxDQUFDQyxxQkFBQUEsbUJBQW1CLENBQUNELGVBQWU7UUFDdERFLGlCQUFpQlQsTUFBTUEsSUFBSVMsZUFBZSxHQUFHQztJQUMvQztJQUdGLElBQUl4RCxXQUFXO0lBQ2ZBLFlBQVk7SUFDWm9CLE9BQU9JLFFBQVEsQ0FBQ2lDLE1BQU07QUFDeEI7QUFFQSxpRUFBaUU7QUFDakUsU0FBU0MsZ0JBQ1BDLGNBQTZDLEVBQzdDQyxrQkFBc0QsRUFDdERyRCxXQUFnQixFQUNoQkosVUFBc0I7SUFFdEIsSUFBSSxDQUFDNEIsdUJBQXVCLENBQUNLLG1CQUFtQjtRQUM5Q2pDLFdBQVdNLFNBQVM7UUFDcEI7SUFDRjtJQUVBLFNBQVNvRCxtQkFBbUJmLEdBQVEsRUFBRXRDLGNBQStCO1FBQ25FLElBQUlzQyxPQUFPUSxxQkFBQUEsbUJBQW1CLENBQUNELGVBQWUsSUFBSSxDQUFDN0MsZ0JBQWdCO1lBQ2pFLElBQUlzQyxLQUFLO2dCQUNQaEMsUUFBUWdELElBQUksQ0FDViw4Q0FDRSxtSUFDQSxxSUFDQSwrR0FDQSw4SEFDQTtZQUVOLE9BQU8sSUFBSVIscUJBQUFBLG1CQUFtQixDQUFDRCxlQUFlLEVBQUU7Z0JBQzlDdkMsUUFBUWdELElBQUksQ0FBQ0MsUUFBQUEsb0NBQW9DO1lBQ25EO1lBQ0FsQixrQkFBa0JDLEtBQUt2QztZQUN2QjtRQUNGO1FBRUEsTUFBTUgsYUFBYTRELFFBQVF4RCxlQUFleUQsTUFBTTtRQUNoRCxJQUFJLE9BQU9MLHVCQUF1QixZQUFZO1lBQzVDLGlDQUFpQztZQUNqQ0EsbUJBQW1CcEQ7UUFDckI7UUFFQSxJQUFJdUIscUJBQXFCO1lBQ3ZCLCtEQUErRDtZQUMvRDJCLGdCQUNFdEQsYUFBYSxLQUFPLElBQUl1RCxnQkFDeEJ2RCxhQUFhLElBQU1ELFdBQVdNLFNBQVMsS0FBS21ELG9CQUM1Q3JELGFBQ0FKO1FBRUosT0FBTztZQUNMQSxXQUFXTSxTQUFTO1lBQ3BCLElBQUl1QixLQUE0QixFQUFFLEVBT2xDO1FBQ0Y7SUFDRjtJQUVBLDJEQUEyRDtJQUMzRCxxQ0FBcUM7SUFDckNLLFVBQVUsQ0FDUGdDLEtBQUssQ0FBQyxhQUFhLEdBQUcsT0FDdEJDLElBQUksQ0FBQyxDQUFDOUQ7UUFDTCxJQUFJLENBQUNBLGdCQUFnQjtZQUNuQixPQUFPO1FBQ1Q7UUFFQSxJQUFJLE9BQU9tRCxtQkFBbUIsWUFBWTtZQUN4QyxNQUFNdkQsYUFBYTRELFFBQVF4RCxlQUFleUQsTUFBTTtZQUNoRE4sZUFBZXZEO1FBQ2pCO1FBQ0EsMkRBQTJEO1FBQzNELHFDQUFxQztRQUNyQyxPQUFPaUMsVUFBVSxDQUFDa0MsS0FBSztJQUN6QixHQUNDRCxJQUFJLENBQ0gsQ0FBQzlEO1FBQ0NxRCxtQkFBbUIsTUFBTXJEO0lBQzNCLEdBQ0EsQ0FBQ3NDO1FBQ0NlLG1CQUFtQmYsS0FBSztJQUMxQjtBQUVOO0FBRUEseURBQXlELEdBQ3pELFNBQVMwQixlQUNQQyxHQUFxQixFQUNyQmxFLFdBQXNDLEVBQ3RDbUUsdUJBQTZELEVBQzdEQyxNQUFvQyxFQUNwQ3hFLFVBQXNCO0lBRXRCLElBQUksQ0FBRSxhQUFZc0UsR0FBQUEsR0FBTTtRQUN0QjtJQUNGO0lBRUEsU0FBU0csYUFBYUMsTUFBOEI7UUFDbEQsOEJBQThCO1FBQzlCLE1BQU1DLFlBQVlDLENBQUFBLEdBQUFBLHVCQUFBQSxPQUFxQixFQUFDO1lBQ3RDRixRQUFRQTtZQUNSRyxVQUFVLEVBQUU7UUFDZDtRQUVBLDZCQUE2QjtRQUM3QjdFLFdBQVc4RSxZQUFZLENBQUNILFVBQVVELE1BQU0sQ0FBQyxFQUFFO1FBRTNDLGdDQUFnQztRQUNoQyxJQUFLLElBQUlLLElBQUksR0FBR0EsSUFBSUosVUFBVUQsTUFBTSxDQUFDWixNQUFNLEVBQUVpQixJQUFLO1lBQ2hEcEUsUUFBUXFFLEtBQUssQ0FBQ0MsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDTixVQUFVRCxNQUFNLENBQUNLLEVBQUU7UUFDN0M7UUFFQSxnQ0FBZ0M7UUFDaEMsMENBQTBDO1FBQzFDLElBQUlsRCxLQUE0QixFQUFFLEVBS2xDO0lBQ0Y7SUFFQSxTQUFTcUQ7UUFDUCxJQUFJckQsS0FBcUIsRUFBRSxFQUUzQixNQUFPO1lBQ0wwQixnQkFDRSxTQUFTNEIsa0JBQWtCbEYsVUFBbUI7Z0JBQzVDRixvQkFBb0JDLFlBQVlDO1lBQ2xDLEdBQ0EsU0FBU21GLHNCQUFzQkMscUJBQStCO2dCQUM1RCxxREFBcUQ7Z0JBQ3JELHNEQUFzRDtnQkFDdERsRixjQUFjSCxZQUFZSSxhQUFhaUY7WUFDekMsR0FDQWpGLGFBQ0FKO1FBRUo7SUFDRjtJQUVBLE9BQVFzRSxJQUFJZ0IsTUFBTTtRQUNoQixLQUFLQyxrQkFBQUEsMkJBQTJCLENBQUNDLFFBQVE7WUFBRTtnQkFDekMxRixlQUFlSCxLQUFLQyxHQUFHO2dCQUN2QmUsUUFBUUMsR0FBRyxDQUFDO2dCQUNaO1lBQ0Y7UUFDQSxLQUFLMkUsa0JBQUFBLDJCQUEyQixDQUFDRSxLQUFLO1FBQ3RDLEtBQUtGLGtCQUFBQSwyQkFBMkIsQ0FBQ0csSUFBSTtZQUFFO2dCQUNyQyxJQUFJcEIsSUFBSTNDLElBQUksRUFBRTtvQkFDWkQsb0JBQW9CNEMsSUFBSTNDLElBQUk7Z0JBQzlCO2dCQUVBLE1BQU0sRUFBRStDLE1BQU0sRUFBRUcsUUFBUSxFQUFFLEdBQUdQO2dCQUU3Qix5Q0FBeUM7Z0JBQ3pDLElBQUksaUJBQWlCQSxLQUFLdEUsV0FBVzJGLGFBQWEsQ0FBQ3JCLElBQUlzQixXQUFXO2dCQUVsRSxNQUFNQyxZQUFZaEMsUUFBUWEsVUFBVUEsT0FBT1osTUFBTTtnQkFDakQsa0VBQWtFO2dCQUNsRSxJQUFJK0IsV0FBVztvQkFDYnpGLFlBQ0VTLEtBQUtDLFNBQVMsQ0FBQzt3QkFDYkMsT0FBTzt3QkFDUCtFLFlBQVlwQixPQUFPWixNQUFNO3dCQUN6QmlDLFVBQVV4RztvQkFDWjtvQkFHRmtGLGFBQWFDO29CQUNiO2dCQUNGO2dCQUVBLE1BQU1zQixjQUFjbkMsUUFBUWdCLFlBQVlBLFNBQVNmLE1BQU07Z0JBQ3ZELElBQUlrQyxhQUFhO29CQUNmNUYsWUFDRVMsS0FBS0MsU0FBUyxDQUFDO3dCQUNiQyxPQUFPO3dCQUNQa0YsY0FBY3BCLFNBQVNmLE1BQU07d0JBQzdCaUMsVUFBVXhHO29CQUNaO29CQUdGLGlDQUFpQztvQkFDakMsTUFBTTJHLG9CQUFvQnRCLENBQUFBLEdBQUFBLHVCQUFBQSxPQUFxQixFQUFDO3dCQUM5Q0MsVUFBVUE7d0JBQ1ZILFFBQVEsRUFBRTtvQkFDWjtvQkFFQSxJQUFLLElBQUlLLElBQUksR0FBR0EsSUFBSW1CLGtCQUFrQnJCLFFBQVEsQ0FBQ2YsTUFBTSxFQUFFaUIsSUFBSzt3QkFDMUQsSUFBSUEsTUFBTSxHQUFHOzRCQUNYcEUsUUFBUWdELElBQUksQ0FDViwrQ0FDRTs0QkFFSjt3QkFDRjt3QkFDQWhELFFBQVFnRCxJQUFJLENBQUNzQixDQUFBQSxHQUFBQSxXQUFBQSxPQUFTLEVBQUNpQixrQkFBa0JyQixRQUFRLENBQUNFLEVBQUU7b0JBQ3REO2dCQUVBLHVIQUF1SDtnQkFDekg7Z0JBRUEzRSxZQUNFUyxLQUFLQyxTQUFTLENBQUM7b0JBQ2JDLE9BQU87b0JBQ1BnRixVQUFVeEc7Z0JBQ1o7Z0JBR0YsSUFBSStFLElBQUlnQixNQUFNLEtBQUtDLGtCQUFBQSwyQkFBMkIsQ0FBQ0UsS0FBSyxFQUFFO29CQUNwRCxxQkFBcUI7b0JBQ3JCUDtnQkFDRjtnQkFDQTtZQUNGO1FBQ0EsS0FBS0ssa0JBQUFBLDJCQUEyQixDQUFDWSxtQkFBbUI7WUFBRTtnQkFDcEQ1Qix3QkFBd0I7b0JBQ3RCNkIsTUFBTWIsa0JBQUFBLDJCQUEyQixDQUFDWSxtQkFBbUI7Z0JBQ3ZEO2dCQUNBO1lBQ0Y7UUFDQSxLQUFLWixrQkFBQUEsMkJBQTJCLENBQUNjLGlCQUFpQjtZQUFFO2dCQUNsRCxNQUFNaEcsaUJBQWlCaUcsQ0FBQUEsR0FBQUEsb0NBQUFBLGtDQUFrQyxFQUFDaEMsSUFBSWlDLElBQUk7Z0JBQ2xFdkcsV0FBV0UsZUFBZTtnQkFDMUJxRSx3QkFBd0I7b0JBQ3RCNkIsTUFBTWIsa0JBQUFBLDJCQUEyQixDQUFDYyxpQkFBaUI7b0JBQ25ERSxNQUFNakMsSUFBSWlDLElBQUk7Z0JBQ2hCO2dCQUNBdkcsV0FBV1EsU0FBUztnQkFDcEIsSUFBSTJDLHFCQUFBQSxtQkFBbUIsQ0FBQ0QsZUFBZSxFQUFFO29CQUN2Q3ZDLFFBQVFnRCxJQUFJLENBQUNDLFFBQUFBLG9DQUFvQztvQkFDakRsQixrQkFBa0IsTUFBTXRDO2dCQUMxQjtnQkFDQUcsaUJBQWlCSCxhQUFhQztnQkFDOUI7WUFDRjtRQUNBLHVEQUF1RDtRQUN2RCxLQUFLa0Ysa0JBQUFBLDJCQUEyQixDQUFDaUIsd0JBQXdCO1lBQUU7Z0JBQ3pEcEcsWUFDRVMsS0FBS0MsU0FBUyxDQUFDO29CQUNiQyxPQUFPO29CQUNQZ0YsVUFBVXhHO2dCQUNaO2dCQUVGLElBQUk0RCxxQkFBQUEsbUJBQW1CLENBQUNELGVBQWUsRUFBRTtvQkFDdkMsSUFBSXJELFdBQVc7b0JBQ2ZBLFlBQVk7b0JBQ1osT0FBT29CLE9BQU9JLFFBQVEsQ0FBQ2lDLE1BQU07Z0JBQy9CO2dCQUNBbUQsQ0FBQUEsR0FBQUEsT0FBQUEsZUFBZSxFQUFDO29CQUNkakMsT0FBT2tDLFdBQVc7b0JBQ2xCMUcsV0FBV1EsU0FBUztnQkFDdEI7Z0JBRUEsSUFBSXFCLEtBQTRCLEVBQUUsRUFLbEM7Z0JBRUE7WUFDRjtRQUNBLEtBQUswRCxrQkFBQUEsMkJBQTJCLENBQUNvQixXQUFXO1lBQUU7Z0JBQzVDdkcsWUFDRVMsS0FBS0MsU0FBUyxDQUFDO29CQUNiQyxPQUFPO29CQUNQZ0YsVUFBVXhHO2dCQUNaO2dCQUVGLElBQUlNLFdBQVc7Z0JBQ2ZBLFlBQVk7Z0JBQ1osT0FBT29CLE9BQU9JLFFBQVEsQ0FBQ2lDLE1BQU07WUFDL0I7UUFDQSxLQUFLaUMsa0JBQUFBLDJCQUEyQixDQUFDcUIsVUFBVTtRQUMzQyxLQUFLckIsa0JBQUFBLDJCQUEyQixDQUFDc0IsWUFBWTtZQUFFO2dCQUM3QyxxRkFBcUY7Z0JBQ3JGLE9BQU9yQyxPQUFPa0MsV0FBVztZQUMzQjtRQUNBLEtBQUtuQixrQkFBQUEsMkJBQTJCLENBQUN1QixZQUFZO1lBQUU7Z0JBQzdDLE1BQU0sRUFBRUMsU0FBUyxFQUFFLEdBQUd6QztnQkFDdEIsSUFBSXlDLFdBQVc7b0JBQ2IsTUFBTSxFQUFFOUQsT0FBTyxFQUFFSixLQUFLLEVBQUUsR0FBR2hDLEtBQUttRyxLQUFLLENBQUNEO29CQUN0QyxNQUFNL0IsUUFBUSxJQUFJaUMsTUFBTWhFO29CQUN4QitCLE1BQU1uQyxLQUFLLEdBQUdBO29CQUNkNEIsYUFBYTt3QkFBQ087cUJBQU07Z0JBQ3RCO2dCQUNBO1lBQ0Y7UUFDQSxLQUFLTyxrQkFBQUEsMkJBQTJCLENBQUMyQix5QkFBeUI7WUFBRTtnQkFDMUQ7WUFDRjtRQUNBO1lBQVMsQ0FDVDtJQUNGO0FBQ0Y7QUFFZSxTQUFTN0gsVUFBVThILEtBTWpDO0lBTmlDLE1BQ2hDQyxXQUFXLEVBQ1hDLFFBQVEsRUFJVCxHQU5pQ0Y7SUFPaEMsTUFBTSxDQUFDRyxPQUFPQyxTQUFTLEdBQUdDLENBQUFBLEdBQUFBLFFBQUFBLHNCQUFzQjtJQUVoRCxNQUFNeEgsYUFBYXlILENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBYTtRQUNyQyxPQUFPO1lBQ0xuSDtnQkFDRWlILFNBQVM7b0JBQUVuQixNQUFNc0IsUUFBQUEsZUFBZTtnQkFBQztZQUNuQztZQUNBNUMsY0FBYTdCLE9BQU87Z0JBQ2xCc0UsU0FBUztvQkFBRW5CLE1BQU11QixRQUFBQSxrQkFBa0I7b0JBQUUxRTtnQkFBUTtZQUMvQztZQUNBL0M7Z0JBQ0VxSCxTQUFTO29CQUFFbkIsTUFBTXdCLFFBQUFBLHFCQUFxQjtnQkFBQztZQUN6QztZQUNBcEg7Z0JBQ0UrRyxTQUFTO29CQUFFbkIsTUFBTXlCLFFBQUFBLGNBQWM7Z0JBQUM7WUFDbEM7WUFDQWxDLGVBQWNDLFdBQVc7Z0JBQ3ZCMkIsU0FBUztvQkFBRW5CLE1BQU0wQixRQUFBQSxtQkFBbUI7b0JBQUVsQztnQkFBWTtZQUNwRDtRQUNGO0lBQ0YsR0FBRztRQUFDMkI7S0FBUztJQUViLE1BQU1RLHlCQUF5QkMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUN4QyxDQUFDaEQ7UUFDQyxNQUFNaUQsZUFBZWpELE1BQWVrRCxPQUFPO1FBRzNDLGtHQUFrRztRQUNsRyxNQUFNQyxpQkFBaUJGLGdCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxhQUFjRSxjQUFjO1FBQ25ELE1BQU1DLFVBQVVILGdCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxhQUFjRyxPQUFPO1FBQ3JDYixTQUFTO1lBQ1BuQixNQUFNaUMsUUFBQUEsc0JBQXNCO1lBQzVCQyxRQUFRdEQ7WUFDUnVELFFBQVFDLENBQUFBLEdBQUFBLFlBQUFBLFVBQVUsRUFBQ3hELE1BQU1uQyxLQUFLO1lBQzlCNEYsc0JBQXNCTixpQkFDbEJPLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1Asa0JBQ3BCOUU7WUFDSitFO1FBQ0Y7SUFDRixHQUNBO1FBQUNiO0tBQVM7SUFFWixNQUFNb0IsNkJBQTZCWCxDQUFBQSxHQUFBQSxPQUFBQSxXQUFXLEVBQzVDLENBQUNNO1FBQ0NmLFNBQVM7WUFDUG5CLE1BQU13QyxRQUFBQSwwQkFBMEI7WUFDaENOLFFBQVFBO1lBQ1JDLFFBQVFDLENBQUFBLEdBQUFBLFlBQUFBLFVBQVUsRUFBQ0YsT0FBT3pGLEtBQUs7UUFDakM7SUFDRixHQUNBO1FBQUMwRTtLQUFTO0lBRVosTUFBTXNCLHFCQUFxQmIsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQ3JDN0UscUJBQUFBLG1CQUFtQixDQUFDRCxlQUFlLEdBQUc7SUFDeEMsR0FBRyxFQUFFO0lBQ0w0RixDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDZix3QkFBd0JZO0lBRXhDLE1BQU1JLGVBQWVDLENBQUFBLEdBQUFBLGNBQUFBLFlBQVksRUFBQzVCO0lBQ2xDNkIsQ0FBQUEsR0FBQUEsY0FBQUEsZ0JBQWdCLEVBQUNGO0lBQ2pCLE1BQU0zSSxjQUFjOEksQ0FBQUEsR0FBQUEsY0FBQUEsY0FBYyxFQUFDSDtJQUNuQyxNQUFNeEUsMEJBQTBCNEUsQ0FBQUEsR0FBQUEsY0FBQUEsWUFBWSxFQUFDL0ksYUFBYSxDQUFDdUMsTUFDekRELGtCQUFrQkMsS0FBS3ZDO0lBR3pCLE1BQU1vRSxTQUFTNEUsQ0FBQUEsR0FBQUEsWUFBQUEsU0FBUztJQUV4QkMsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBUyxFQUFDO1FBQ1IsTUFBTUMsWUFBWVAsYUFBYVEsT0FBTztRQUN0QyxJQUFJLENBQUNELFdBQVc7UUFFaEIsTUFBTS9HLFVBQVUsQ0FBQ3hCO1lBQ2YsSUFBSTtnQkFDRixNQUFNdUQsTUFBTXpELEtBQUttRyxLQUFLLENBQUNqRyxNQUFNd0YsSUFBSTtnQkFDakNsQyxlQUNFQyxLQUNBbEUsYUFDQW1FLHlCQUNBQyxRQUNBeEU7WUFFSixFQUFFLE9BQU8yQyxLQUFVO29CQUVrQ0E7Z0JBRG5EaEMsUUFBUWdELElBQUksQ0FDViw0QkFBNEI1QyxNQUFNd0YsSUFBSSxHQUFHLE9BQVE1RCxDQUFBQSxDQUFBQSxhQUFBQSxPQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxJQUFLRSxLQUFLLFlBQVZGLGFBQWM7WUFFbkU7UUFDRjtRQUVBMkcsVUFBVUUsZ0JBQWdCLENBQUMsV0FBV2pIO1FBQ3RDLE9BQU8sSUFBTStHLFVBQVVHLG1CQUFtQixDQUFDLFdBQVdsSDtJQUN4RCxHQUFHO1FBQUNuQztRQUFhb0U7UUFBUXVFO1FBQWMvSTtRQUFZdUU7S0FBd0I7SUFFM0UsT0FDRSxXQURGLEdBQ0UsSUFBQW1GLFlBQUFDLEdBQUEsRUFBQ0MsaUJBQUFBLE9BQWU7UUFBQ0MsY0FBY2hCO1FBQW9CdkIsT0FBT0E7a0JBQ3ZERDs7QUFHUDtLQXZHd0JoSSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9ob3QtcmVsb2FkZXItY2xpZW50LnRzeD8wZGJhIl0sIm5hbWVzIjpbIkhvdFJlbG9hZCIsIm1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2giLCJfX25leHREZXZDbGllbnRJZCIsIk1hdGgiLCJyb3VuZCIsInJhbmRvbSIsIkRhdGUiLCJub3ciLCJyZWxvYWRpbmciLCJzdGFydExhdGVuY3kiLCJvbkJlZm9yZUZhc3RSZWZyZXNoIiwiZGlzcGF0Y2hlciIsImhhc1VwZGF0ZXMiLCJvbkJlZm9yZVJlZnJlc2giLCJvbkZhc3RSZWZyZXNoIiwic2VuZE1lc3NhZ2UiLCJ1cGRhdGVkTW9kdWxlcyIsIm9uQnVpbGRPayIsInJlcG9ydEhtckxhdGVuY3kiLCJvblJlZnJlc2giLCJlbmRMYXRlbmN5IiwibGF0ZW5jeSIsImNvbnNvbGUiLCJsb2ciLCJKU09OIiwic3RyaW5naWZ5IiwiZXZlbnQiLCJpZCIsIndpbmRvdyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJwYWdlIiwibG9jYXRpb24iLCJwYXRobmFtZSIsImlzUGFnZUhpZGRlbiIsImRvY3VtZW50IiwidmlzaWJpbGl0eVN0YXRlIiwiaGFuZGxlQXZhaWxhYmxlSGFzaCIsImhhc2giLCJpc1VwZGF0ZUF2YWlsYWJsZSIsInByb2Nlc3MiLCJlbnYiLCJUVVJCT1BBQ0siLCJfX3dlYnBhY2tfaGFzaF9fIiwiY2FuQXBwbHlVcGRhdGVzIiwibW9kdWxlIiwiaG90Iiwic3RhdHVzIiwiYWZ0ZXJBcHBseVVwZGF0ZXMiLCJmbiIsImhhbmRsZXIiLCJyZW1vdmVTdGF0dXNIYW5kbGVyIiwiYWRkU3RhdHVzSGFuZGxlciIsInBlcmZvcm1GdWxsUmVsb2FkIiwiZXJyIiwic3RhY2tUcmFjZSIsInN0YWNrIiwic3BsaXQiLCJzbGljZSIsImpvaW4iLCJtZXNzYWdlIiwiaGFkUnVudGltZUVycm9yIiwiUnVudGltZUVycm9ySGFuZGxlciIsImRlcGVuZGVuY3lDaGFpbiIsInVuZGVmaW5lZCIsInJlbG9hZCIsInRyeUFwcGx5VXBkYXRlcyIsIm9uQmVmb3JlVXBkYXRlIiwib25Ib3RVcGRhdGVTdWNjZXNzIiwiaGFuZGxlQXBwbHlVcGRhdGVzIiwid2FybiIsIlJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQURfRlJPTV9FUlJPUiIsIkJvb2xlYW4iLCJsZW5ndGgiLCJfX05FWFRfVEVTVF9NT0RFIiwic2VsZiIsIl9fTkVYVF9ITVJfQ0IiLCJjaGVjayIsInRoZW4iLCJhcHBseSIsInByb2Nlc3NNZXNzYWdlIiwib2JqIiwicHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UiLCJyb3V0ZXIiLCJoYW5kbGVFcnJvcnMiLCJlcnJvcnMiLCJmb3JtYXR0ZWQiLCJmb3JtYXRXZWJwYWNrTWVzc2FnZXMiLCJ3YXJuaW5ncyIsIm9uQnVpbGRFcnJvciIsImkiLCJlcnJvciIsInN0cmlwQW5zaSIsImhhbmRsZUhvdFVwZGF0ZSIsIm9uQmVmb3JlSG90VXBkYXRlIiwib25TdWNjZXNzZnVsSG90VXBkYXRlIiwid2VicGFja1VwZGF0ZWRNb2R1bGVzIiwiYWN0aW9uIiwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIiwiQlVJTERJTkciLCJCVUlMVCIsIlNZTkMiLCJvblZlcnNpb25JbmZvIiwidmVyc2lvbkluZm8iLCJoYXNFcnJvcnMiLCJlcnJvckNvdW50IiwiY2xpZW50SWQiLCJoYXNXYXJuaW5ncyIsIndhcm5pbmdDb3VudCIsImZvcm1hdHRlZE1lc3NhZ2VzIiwiVFVSQk9QQUNLX0NPTk5FQ1RFRCIsInR5cGUiLCJUVVJCT1BBQ0tfTUVTU0FHRSIsImV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2UiLCJkYXRhIiwiU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTIiwic3RhcnRUcmFuc2l0aW9uIiwiZmFzdFJlZnJlc2giLCJSRUxPQURfUEFHRSIsIkFEREVEX1BBR0UiLCJSRU1PVkVEX1BBR0UiLCJTRVJWRVJfRVJST1IiLCJlcnJvckpTT04iLCJwYXJzZSIsIkVycm9yIiwiREVWX1BBR0VTX01BTklGRVNUX1VQREFURSIsInBhcmFtIiwiYXNzZXRQcmVmaXgiLCJjaGlsZHJlbiIsInN0YXRlIiwiZGlzcGF0Y2giLCJ1c2VFcnJvck92ZXJsYXlSZWR1Y2VyIiwidXNlTWVtbyIsIkFDVElPTl9CVUlMRF9PSyIsIkFDVElPTl9CVUlMRF9FUlJPUiIsIkFDVElPTl9CRUZPUkVfUkVGUkVTSCIsIkFDVElPTl9SRUZSRVNIIiwiQUNUSU9OX1ZFUlNJT05fSU5GTyIsImhhbmRsZU9uVW5oYW5kbGVkRXJyb3IiLCJ1c2VDYWxsYmFjayIsImVycm9yRGV0YWlscyIsImRldGFpbHMiLCJjb21wb25lbnRTdGFjayIsIndhcm5pbmciLCJBQ1RJT05fVU5IQU5ETEVEX0VSUk9SIiwicmVhc29uIiwiZnJhbWVzIiwicGFyc2VTdGFjayIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwicGFyc2VDb21wb25lbnRTdGFjayIsImhhbmRsZU9uVW5oYW5kbGVkUmVqZWN0aW9uIiwiQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT04iLCJoYW5kbGVPblJlYWN0RXJyb3IiLCJ1c2VFcnJvckhhbmRsZXIiLCJ3ZWJTb2NrZXRSZWYiLCJ1c2VXZWJzb2NrZXQiLCJ1c2VXZWJzb2NrZXRQaW5nIiwidXNlU2VuZE1lc3NhZ2UiLCJ1c2VUdXJib3BhY2siLCJ1c2VSb3V0ZXIiLCJ1c2VFZmZlY3QiLCJ3ZWJzb2NrZXQiLCJjdXJyZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJfanN4cnVudGltZSIsImpzeCIsIlJlYWN0RGV2T3ZlcmxheSIsIm9uUmVhY3RFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return CodeFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(app-pages-browser)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(app-pages-browser)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst CodeFrame = function CodeFrame(param) {\n _s();\n let { stackFrame, codeFrame } = param;\n // Strip leading spaces out of the code frame:\n const formattedFrame = _react.useMemo(()=>{\n const lines = codeFrame.split(/\\r?\\n/g);\n // Find the minimum length of leading spaces after `|` in the code frame\n const miniLeadingSpacesLength = lines.map((line)=>/^>? +\\d+ +\\| [ ]+/.exec((0, _stripansi.default)(line)) === null ? null : /^>? +\\d+ +\\| ( *)/.exec((0, _stripansi.default)(line))).filter(Boolean).map((v)=>v.pop()).reduce((c, n)=>isNaN(c) ? n.length : Math.min(c, n.length), NaN);\n // When the minimum length of leading spaces is greater than 1, remove them\n // from the code frame to help the indentation looks better when there's a lot leading spaces.\n if (miniLeadingSpacesLength > 1) {\n return lines.map((line, a)=>~(a = line.indexOf(\"|\")) ? line.substring(0, a) + line.substring(a).replace(\"^\\\\ {\" + miniLeadingSpacesLength + \"}\", \"\") : line).join(\"\\n\");\n }\n return lines.join(\"\\n\");\n }, [\n codeFrame\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n formattedFrame\n ]);\n const open = (0, _useopenineditor.useOpenInEditor)({\n file: stackFrame.file,\n lineNumber: stackFrame.lineNumber,\n column: stackFrame.column\n });\n // TODO: make the caret absolute\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-codeframe\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n role: \"link\",\n onClick: open,\n tabIndex: 1,\n title: \"Click to open in your editor\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n (0, _stackframe.getFrameSource)(stackFrame),\n \" @\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: stackFrame.methodName\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n children: decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: entry.content\n }, \"frame-\" + index))\n })\n ]\n });\n};\n_s(CodeFrame, \"4Gt+UceGaRqMOFv99GzJu8D2nx8=\");\n_c = CodeFrame;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CodeFrame.js.map\nvar _c;\n$RefreshReg$(_c, \"CodeFrame\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Db2RlRnJhbWUvQ29kZUZyYW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs2Q0FVYUE7OztlQUFBQTs7Ozs7OzRFQVZLOzZFQUNLO2dGQUVEO3dDQUNTOzZDQUNDOzJDQUNGO0FBSXZCLE1BQU1BLFlBQXNDLFNBQVNBLFVBQVVDLEtBR3JFOztJQUhxRSxNQUNwRUMsVUFBVSxFQUNWQyxTQUFTLEVBQ1YsR0FIcUVGO0lBSXBFLDhDQUE4QztJQUM5QyxNQUFNRyxpQkFBaUJDLE9BQU1DLE9BQU8sQ0FBUztRQUMzQyxNQUFNQyxRQUFRSixVQUFVSyxLQUFLLENBQUM7UUFFOUIsd0VBQXdFO1FBQ3hFLE1BQU1DLDBCQUEwQkYsTUFDN0JHLEdBQUcsQ0FBQyxDQUFDQyxPQUNKLG9CQUFvQkMsSUFBSSxDQUFDQyxDQUFBQSxHQUFBQSxXQUFBQSxPQUFTLEVBQUNGLFdBQVcsT0FDMUMsT0FDQSxvQkFBb0JDLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRixRQUV4Q0csTUFBTSxDQUFDQyxTQUNQTCxHQUFHLENBQUMsQ0FBQ00sSUFBTUEsRUFBR0MsR0FBRyxJQUNqQkMsTUFBTSxDQUFDLENBQUNDLEdBQUdDLElBQU9DLE1BQU1GLEtBQUtDLEVBQUVFLE1BQU0sR0FBR0MsS0FBS0MsR0FBRyxDQUFDTCxHQUFHQyxFQUFFRSxNQUFNLEdBQUlHO1FBRW5FLDJFQUEyRTtRQUMzRSw4RkFBOEY7UUFDOUYsSUFBSWhCLDBCQUEwQixHQUFHO1lBQy9CLE9BQU9GLE1BQ0pHLEdBQUcsQ0FBQyxDQUFDQyxNQUFNZSxJQUNWLENBQUVBLENBQUFBLElBQUlmLEtBQUtnQixPQUFPLENBQUMsUUFDZmhCLEtBQUtpQixTQUFTLENBQUMsR0FBR0YsS0FDbEJmLEtBQUtpQixTQUFTLENBQUNGLEdBQUdHLE9BQU8sQ0FBQyxVQUFRcEIsMEJBQXdCLEtBQUksTUFDOURFLE1BRUxtQixJQUFJLENBQUM7UUFDVjtRQUNBLE9BQU92QixNQUFNdUIsSUFBSSxDQUFDO0lBQ3BCLEdBQUc7UUFBQzNCO0tBQVU7SUFFZCxNQUFNNEIsVUFBVTFCLE9BQU1DLE9BQU8sQ0FBQztRQUM1QixPQUFPMEIsT0FBQUEsT0FBSyxDQUFDQyxVQUFVLENBQUM3QixnQkFBZ0I7WUFDdEM4QixNQUFNO1lBQ05DLGFBQWE7WUFDYkMsY0FBYztRQUNoQjtJQUNGLEdBQUc7UUFBQ2hDO0tBQWU7SUFFbkIsTUFBTWlDLE9BQU9DLENBQUFBLEdBQUFBLGlCQUFBQSxlQUFlLEVBQUM7UUFDM0JDLE1BQU1yQyxXQUFXcUMsSUFBSTtRQUNyQkMsWUFBWXRDLFdBQVdzQyxVQUFVO1FBQ2pDQyxRQUFRdkMsV0FBV3VDLE1BQU07SUFDM0I7SUFFQSxnQ0FBZ0M7SUFDaEMsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUFJQyx5QkFBcUI7OzBCQUN4QixJQUFBSCxZQUFBSSxHQUFBLEVBQUNGLE9BQUFBOzBCQUNDLGtCQUFBRixZQUFBQyxJQUFBLEVBQUNJLEtBQUFBO29CQUNDQyxNQUFLO29CQUNMQyxTQUFTWjtvQkFDVGEsVUFBVTtvQkFDVkMsT0FBTTs7c0NBRU4sSUFBQVQsWUFBQUMsSUFBQSxFQUFDUyxRQUFBQTs7Z0NBQ0VDLENBQUFBLEdBQUFBLFlBQUFBLGNBQWMsRUFBQ25EO2dDQUFZO2dDQUFHOzhDQUMvQixJQUFBd0MsWUFBQUksR0FBQSxFQUFDUSxlQUFBQSxhQUFhO29DQUFDQyxNQUFNckQsV0FBV3NELFVBQVU7Ozs7c0NBRTVDLElBQUFkLFlBQUFDLElBQUEsRUFBQ2MsT0FBQUE7NEJBQ0NDLE9BQU07NEJBQ05DLFNBQVE7NEJBQ1JDLE1BQUs7NEJBQ0xDLFFBQU87NEJBQ1BDLGFBQVk7NEJBQ1pDLGVBQWM7NEJBQ2RDLGdCQUFlOzs4Q0FFZixJQUFBdEIsWUFBQUksR0FBQSxFQUFDbUIsUUFBQUE7b0NBQUtDLEdBQUU7OzhDQUNSLElBQUF4QixZQUFBSSxHQUFBLEVBQUNxQixZQUFBQTtvQ0FBU0MsUUFBTzs7OENBQ2pCLElBQUExQixZQUFBSSxHQUFBLEVBQUNuQyxRQUFBQTtvQ0FBSzBELElBQUc7b0NBQUtDLElBQUc7b0NBQUtDLElBQUc7b0NBQUtDLElBQUc7Ozs7Ozs7MEJBSXZDLElBQUE5QixZQUFBSSxHQUFBLEVBQUMyQixPQUFBQTswQkFDRTFDLFFBQVFyQixHQUFHLENBQUMsQ0FBQ2dFLE9BQU9DLFFBQ25CLFdBRG1CQSxHQUNuQixJQUFBakMsWUFBQUksR0FBQSxFQUFDTSxRQUFBQTt3QkFFQ3dCLE9BQU87NEJBQ0xDLE9BQU9ILE1BQU1JLEVBQUUsR0FBRyxpQkFBZUosTUFBTUksRUFBRSxHQUFDLE1BQUtDOzRCQUMvQyxHQUFJTCxNQUFNTSxVQUFVLEtBQUssU0FDckI7Z0NBQUVDLFlBQVk7NEJBQUksSUFDbEJQLE1BQU1NLFVBQVUsS0FBSyxXQUNyQjtnQ0FBRUUsV0FBVzs0QkFBUyxJQUN0QkgsU0FBUzt3QkFDZjtrQ0FFQ0wsTUFBTVMsT0FBTzt1QkFWVCxXQUFTUjs7OztBQWdCMUI7R0FoR2EzRTtLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS50c3g/Yjc4YiJdLCJuYW1lcyI6WyJDb2RlRnJhbWUiLCJwYXJhbSIsInN0YWNrRnJhbWUiLCJjb2RlRnJhbWUiLCJmb3JtYXR0ZWRGcmFtZSIsIlJlYWN0IiwidXNlTWVtbyIsImxpbmVzIiwic3BsaXQiLCJtaW5pTGVhZGluZ1NwYWNlc0xlbmd0aCIsIm1hcCIsImxpbmUiLCJleGVjIiwic3RyaXBBbnNpIiwiZmlsdGVyIiwiQm9vbGVhbiIsInYiLCJwb3AiLCJyZWR1Y2UiLCJjIiwibiIsImlzTmFOIiwibGVuZ3RoIiwiTWF0aCIsIm1pbiIsIk5hTiIsImEiLCJpbmRleE9mIiwic3Vic3RyaW5nIiwicmVwbGFjZSIsImpvaW4iLCJkZWNvZGVkIiwiQW5zZXIiLCJhbnNpVG9Kc29uIiwianNvbiIsInVzZV9jbGFzc2VzIiwicmVtb3ZlX2VtcHR5Iiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtY29kZWZyYW1lIiwianN4IiwicCIsInJvbGUiLCJvbkNsaWNrIiwidGFiSW5kZXgiLCJ0aXRsZSIsInNwYW4iLCJnZXRGcmFtZVNvdXJjZSIsIkhvdGxpbmtlZFRleHQiLCJ0ZXh0IiwibWV0aG9kTmFtZSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInBhdGgiLCJkIiwicG9seWxpbmUiLCJwb2ludHMiLCJ4MSIsInkxIiwieDIiLCJ5MiIsInByZSIsImVudHJ5IiwiaW5kZXgiLCJzdHlsZSIsImNvbG9yIiwiZmciLCJ1bmRlZmluZWQiLCJkZWNvcmF0aW9uIiwiZm9udFdlaWdodCIsImZvbnRTdHlsZSIsImNvbnRlbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return _CodeFrame.CodeFrame;\n }\n}));\nconst _CodeFrame = __webpack_require__(/*! ./CodeFrame */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Db2RlRnJhbWUvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FBU0E7OztlQUFBQSxXQUFBQSxTQUFTOzs7dUNBQVEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9pbmRleC50c3g/NGU3ZCJdLCJuYW1lcyI6WyJDb2RlRnJhbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js": -/*!************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js ***! - \************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-codeframe] {\\n overflow: auto;\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-codeframe]::selection,\\n [data-nextjs-codeframe] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-codeframe] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n\\n [data-nextjs-codeframe] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n [data-nextjs-codeframe] > div {\\n display: inline-block;\\n width: auto;\\n min-width: 100%;\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n }\\n [data-nextjs-codeframe] > div > p {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n cursor: pointer;\\n margin: 0;\\n }\\n [data-nextjs-codeframe] > div > p:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-codeframe] div > p > svg {\\n width: auto;\\n height: 1em;\\n margin-left: 8px;\\n }\\n [data-nextjs-codeframe] div > pre {\\n overflow: hidden;\\n display: inline-block;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Db2RlRnJhbWUvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBbURTQTs7O2VBQUFBOzs7OzBDQW5EbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy50c3g/ZDI3MSJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js ***! - \*********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Dialog\", ({\n enumerable: true,\n get: function() {\n return Dialog;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _useonclickoutside = __webpack_require__(/*! ../../hooks/use-on-click-outside */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\");\nconst Dialog = function Dialog(param) {\n _s();\n let { children, type, onClose, ...props } = param;\n const [dialog, setDialog] = _react.useState(null);\n const [role, setRole] = _react.useState(typeof document !== \"undefined\" && document.hasFocus() ? \"dialog\" : undefined);\n const onDialog = _react.useCallback((node)=>{\n setDialog(node);\n }, []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, (e)=>{\n e.preventDefault();\n return onClose == null ? void 0 : onClose();\n });\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect(()=>{\n if (dialog == null) {\n return;\n }\n const root = dialog.getRootNode();\n // Always true, but we do this for TypeScript:\n if (!(root instanceof ShadowRoot)) {\n return;\n }\n const shadowRoot = root;\n function handler(e) {\n const el = shadowRoot.activeElement;\n if (e.key === \"Enter\" && el instanceof HTMLElement && el.getAttribute(\"role\") === \"link\") {\n e.preventDefault();\n e.stopPropagation();\n el.click();\n }\n }\n function handleFocus() {\n // safari will force itself as the active application when a background page triggers any sort of autofocus\n // this is a workaround to only set the dialog role if the document has focus\n setRole(document.hasFocus() ? \"dialog\" : undefined);\n }\n shadowRoot.addEventListener(\"keydown\", handler);\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleFocus);\n return ()=>{\n shadowRoot.removeEventListener(\"keydown\", handler);\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleFocus);\n };\n }, [\n dialog\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n ref: onDialog,\n \"data-nextjs-dialog\": true,\n tabIndex: -1,\n role: role,\n \"aria-labelledby\": props[\"aria-labelledby\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-modal\": \"true\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-banner\": true,\n className: \"banner-\" + type\n }),\n children\n ]\n });\n};\n_s(Dialog, \"2HYcMztUKT19xxjUDXr42PZl9rE=\");\n_c = Dialog;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Dialog.js.map\nvar _c;\n$RefreshReg$(_c, \"Dialog\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nLmpzIiwibWFwcGluZ3MiOiI7Ozs7OzswQ0EwRlNBOzs7ZUFBQUE7Ozs7OzZFQTFGYzsrQ0FDVztBQVVsQyxNQUFNQSxTQUFnQyxTQUFTQSxPQUFPQyxLQUtyRDs7SUFMcUQsTUFDcERDLFFBQVEsRUFDUkMsSUFBSSxFQUNKQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixHQUxxREo7SUFNcEQsTUFBTSxDQUFDSyxRQUFRQyxVQUFVLEdBQUdDLE9BQU1DLFFBQVEsQ0FBd0I7SUFDbEUsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUdILE9BQU1DLFFBQVEsQ0FDcEMsT0FBT0csYUFBYSxlQUFlQSxTQUFTQyxRQUFRLEtBQ2hELFdBQ0FDO0lBRU4sTUFBTUMsV0FBV1AsT0FBTVEsV0FBVyxDQUFDLENBQUNDO1FBQ2xDVixVQUFVVTtJQUNaLEdBQUcsRUFBRTtJQUNMQyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUNaLFFBQVEsQ0FBQ2E7UUFDekJBLEVBQUVDLGNBQWM7UUFDaEIsT0FBT2hCLFdBQUFBLE9BQUFBLEtBQUFBLElBQUFBO0lBQ1Q7SUFFQSx1RUFBdUU7SUFDdkUsMEJBQTBCO0lBQzFCSSxPQUFNYSxTQUFTLENBQUM7UUFDZCxJQUFJZixVQUFVLE1BQU07WUFDbEI7UUFDRjtRQUVBLE1BQU1nQixPQUFPaEIsT0FBT2lCLFdBQVc7UUFDL0IsOENBQThDO1FBQzlDLElBQUksQ0FBRUQsQ0FBQUEsZ0JBQWdCRSxVQUFBQSxHQUFhO1lBQ2pDO1FBQ0Y7UUFDQSxNQUFNQyxhQUFhSDtRQUNuQixTQUFTSSxRQUFRUCxDQUFnQjtZQUMvQixNQUFNUSxLQUFLRixXQUFXRyxhQUFhO1lBQ25DLElBQ0VULEVBQUVVLEdBQUcsS0FBSyxXQUNWRixjQUFjRyxlQUNkSCxHQUFHSSxZQUFZLENBQUMsWUFBWSxRQUM1QjtnQkFDQVosRUFBRUMsY0FBYztnQkFDaEJELEVBQUVhLGVBQWU7Z0JBRWpCTCxHQUFHTSxLQUFLO1lBQ1Y7UUFDRjtRQUVBLFNBQVNDO1lBQ1AsMkdBQTJHO1lBQzNHLDZFQUE2RTtZQUM3RXZCLFFBQVFDLFNBQVNDLFFBQVEsS0FBSyxXQUFXQztRQUMzQztRQUVBVyxXQUFXVSxnQkFBZ0IsQ0FBQyxXQUFXVDtRQUN2Q1UsT0FBT0QsZ0JBQWdCLENBQUMsU0FBU0Q7UUFDakNFLE9BQU9ELGdCQUFnQixDQUFDLFFBQVFEO1FBQ2hDLE9BQU87WUFDTFQsV0FBV1ksbUJBQW1CLENBQUMsV0FBV1g7WUFDMUNVLE9BQU9DLG1CQUFtQixDQUFDLFNBQVNIO1lBQ3BDRSxPQUFPQyxtQkFBbUIsQ0FBQyxRQUFRSDtRQUNyQztJQUNGLEdBQUc7UUFBQzVCO0tBQU87SUFFWCxPQUNFLFdBREYsR0FDRSxJQUFBZ0MsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUNDQyxLQUFLMUI7UUFDTDJCLHNCQUFrQjtRQUNsQkMsVUFBVSxDQUFDO1FBQ1hqQyxNQUFNQTtRQUNOa0MsbUJBQWlCdkMsS0FBSyxDQUFDLGtCQUFrQjtRQUN6Q3dDLG9CQUFrQnhDLEtBQUssQ0FBQyxtQkFBbUI7UUFDM0N5QyxjQUFXOzswQkFFWCxJQUFBUixZQUFBUyxHQUFBLEVBQUNQLE9BQUFBO2dCQUFJUSw2QkFBeUI7Z0JBQUNDLFdBQVcsWUFBVTlDOztZQUNuREQ7OztBQUdQO0dBN0VNRjtLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3g/ZTQ3ZCJdLCJuYW1lcyI6WyJEaWFsb2ciLCJwYXJhbSIsImNoaWxkcmVuIiwidHlwZSIsIm9uQ2xvc2UiLCJwcm9wcyIsImRpYWxvZyIsInNldERpYWxvZyIsIlJlYWN0IiwidXNlU3RhdGUiLCJyb2xlIiwic2V0Um9sZSIsImRvY3VtZW50IiwiaGFzRm9jdXMiLCJ1bmRlZmluZWQiLCJvbkRpYWxvZyIsInVzZUNhbGxiYWNrIiwibm9kZSIsInVzZU9uQ2xpY2tPdXRzaWRlIiwiZSIsInByZXZlbnREZWZhdWx0IiwidXNlRWZmZWN0Iiwicm9vdCIsImdldFJvb3ROb2RlIiwiU2hhZG93Um9vdCIsInNoYWRvd1Jvb3QiLCJoYW5kbGVyIiwiZWwiLCJhY3RpdmVFbGVtZW50Iiwia2V5IiwiSFRNTEVsZW1lbnQiLCJnZXRBdHRyaWJ1dGUiLCJzdG9wUHJvcGFnYXRpb24iLCJjbGljayIsImhhbmRsZUZvY3VzIiwiYWRkRXZlbnRMaXN0ZW5lciIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJfanN4cnVudGltZSIsImpzeHMiLCJkaXYiLCJyZWYiLCJkYXRhLW5leHRqcy1kaWFsb2ciLCJ0YWJJbmRleCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJhcmlhLW1vZGFsIiwianN4IiwiZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lciIsImNsYXNzTmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogBody\", ({\n enumerable: true,\n get: function() {\n return DialogBody;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst DialogBody = function DialogBody(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-body\": true,\n className: className,\n children: children\n });\n};\n_c = DialogBody;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogBody.js.map\nvar _c;\n$RefreshReg$(_c, \"DialogBody\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQm9keS5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQWtCU0E7OztlQUFBQTs7Ozs7NkVBbEJjO0FBT3ZCLE1BQU1BLGFBQXdDLFNBQVNBLFdBQVdDLEtBR2pFO0lBSGlFLE1BQ2hFQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVixHQUhpRUY7SUFJaEUsT0FDRSxXQURGLEdBQ0UsSUFBQUcsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtRQUFJQywyQkFBdUI7UUFBQ0osV0FBV0E7a0JBQ3JDRDs7QUFHUDtLQVRNRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkudHN4PzJhMmQiXSwibmFtZXMiOlsiRGlhbG9nQm9keSIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJfanN4cnVudGltZSIsImpzeCIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1ib2R5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js": -/*!****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js ***! - \****************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogContent\", ({\n enumerable: true,\n get: function() {\n return DialogContent;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst DialogContent = function DialogContent(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-content\": true,\n className: className,\n children: children\n });\n};\n_c = DialogContent;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogContent.js.map\nvar _c;\n$RefreshReg$(_c, \"DialogContent\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQ29udGVudC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQWtCU0E7OztlQUFBQTs7Ozs7NkVBbEJjO0FBT3ZCLE1BQU1BLGdCQUE4QyxTQUFTQSxjQUFjQyxLQUcxRTtJQUgwRSxNQUN6RUMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FIMEVGO0lBSXpFLE9BQ0UsV0FERixHQUNFLElBQUFHLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFBSUMsOEJBQTBCO1FBQUNKLFdBQVdBO2tCQUN4Q0Q7O0FBR1A7S0FUTUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2dDb250ZW50LnRzeD9kZDdjIl0sIm5hbWVzIjpbIkRpYWxvZ0NvbnRlbnQiLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJkaXYiLCJkYXRhLW5leHRqcy1kaWFsb2ctY29udGVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogHeader\", ({\n enumerable: true,\n get: function() {\n return DialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst DialogHeader = function DialogHeader(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-header\": true,\n className: className,\n children: children\n });\n};\n_c = DialogHeader;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogHeader.js.map\nvar _c;\n$RefreshReg$(_c, \"DialogHeader\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nSGVhZGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0RBa0JTQTs7O2VBQUFBOzs7Ozs2RUFsQmM7QUFPdkIsTUFBTUEsZUFBNEMsU0FBU0EsYUFBYUMsS0FHdkU7SUFIdUUsTUFDdEVDLFFBQVEsRUFDUkMsU0FBUyxFQUNWLEdBSHVFRjtJQUl0RSxPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxHQUFBLEVBQUNDLE9BQUFBO1FBQUlDLDZCQUF5QjtRQUFDSixXQUFXQTtrQkFDdkNEOztBQUdQO0tBVE1GIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nSGVhZGVyLnRzeD80NmY4Il0sIm5hbWVzIjpbIkRpYWxvZ0hlYWRlciIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJfanN4cnVudGltZSIsImpzeCIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1oZWFkZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Dialog: function() {\n return _Dialog.Dialog;\n },\n DialogBody: function() {\n return _DialogBody.DialogBody;\n },\n DialogContent: function() {\n return _DialogContent.DialogContent;\n },\n DialogHeader: function() {\n return _DialogHeader.DialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _Dialog = __webpack_require__(/*! ./Dialog */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\");\nconst _DialogBody = __webpack_require__(/*! ./DialogBody */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\");\nconst _DialogContent = __webpack_require__(/*! ./DialogContent */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\");\nconst _DialogHeader = __webpack_require__(/*! ./DialogHeader */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQVNBLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7SUFDTkMsWUFBVTtlQUFWQSxZQUFBQSxVQUFVOztJQUNWQyxlQUFhO2VBQWJBLGVBQUFBLGFBQWE7O0lBQ2JDLGNBQVk7ZUFBWkEsY0FBQUEsWUFBWTs7SUFDWkMsUUFBTTtlQUFOQSxRQUFBQSxNQUFNOzs7b0NBSlE7d0NBQ0k7MkNBQ0c7MENBQ0Q7b0NBQ04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9pbmRleC50cz85ZjM3Il0sIm5hbWVzIjpbIkRpYWxvZyIsIkRpYWxvZ0JvZHkiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwic3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js ***! - \*********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog] {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n outline: none;\\n background: var(--color-background);\\n border-radius: var(--size-gap);\\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\\n rgba(0, 0, 0, 0.25);\\n max-height: calc(100% - 56px);\\n overflow-y: hidden;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n max-height: calc(100% - 15px);\\n }\\n }\\n\\n @media (min-width: 576px) {\\n [data-nextjs-dialog] {\\n max-width: 540px;\\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\\n }\\n }\\n\\n @media (min-width: 768px) {\\n [data-nextjs-dialog] {\\n max-width: 720px;\\n }\\n }\\n\\n @media (min-width: 992px) {\\n [data-nextjs-dialog] {\\n max-width: 960px;\\n }\\n }\\n\\n [data-nextjs-dialog-banner] {\\n position: relative;\\n }\\n [data-nextjs-dialog-banner].banner-warning {\\n border-color: var(--color-ansi-yellow);\\n }\\n [data-nextjs-dialog-banner].banner-error {\\n border-color: var(--color-ansi-red);\\n }\\n\\n [data-nextjs-dialog-banner]::after {\\n z-index: 2;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 100%;\\n /* banner width: */\\n border-top-width: var(--size-gap-half);\\n border-bottom-width: 0;\\n border-top-style: solid;\\n border-bottom-style: solid;\\n border-top-color: inherit;\\n border-bottom-color: transparent;\\n }\\n\\n [data-nextjs-dialog-content] {\\n overflow-y: auto;\\n border: none;\\n margin: 0;\\n /* calc(padding + banner width offset) */\\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\\n var(--size-gap-double);\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\\n flex-shrink: 0;\\n margin-bottom: var(--size-gap-double);\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\\n position: relative;\\n flex: 1 1 auto;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBMEZTQTs7O2VBQUFBOzs7OzBDQTFGbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy50cz8wOTAyIl0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": -/*!***************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! - \***************************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"LeftRightDialogHeader\", ({\n enumerable: true,\n get: function() {\n return LeftRightDialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _CloseIcon = __webpack_require__(/*! ../../icons/CloseIcon */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst LeftRightDialogHeader = function LeftRightDialogHeader(param) {\n _s();\n let { children, className, previous, next, close } = param;\n const buttonLeft = _react.useRef(null);\n const buttonRight = _react.useRef(null);\n const buttonClose = _react.useRef(null);\n const [nav, setNav] = _react.useState(null);\n const onNav = _react.useCallback((el)=>{\n setNav(el);\n }, []);\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n const d = self.document;\n function handler(e) {\n if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (a && a !== buttonClose.current && a instanceof HTMLElement) {\n a.blur();\n return;\n }\n }\n close == null ? void 0 : close();\n }\n }\n root.addEventListener(\"keydown\", handler);\n if (root !== d) {\n d.addEventListener(\"keydown\", handler);\n }\n return function() {\n root.removeEventListener(\"keydown\", handler);\n if (root !== d) {\n d.removeEventListener(\"keydown\", handler);\n }\n };\n }, [\n close,\n nav,\n next,\n previous\n ]);\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (previous == null) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur();\n }\n } else if (next == null) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur();\n }\n }\n }\n }, [\n nav,\n next,\n previous\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-left-right\": true,\n className: className,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"nav\", {\n ref: onNav,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonLeft,\n type: \"button\",\n disabled: previous == null ? true : undefined,\n \"aria-disabled\": previous == null ? true : undefined,\n onClick: previous != null ? previous : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"previous\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonRight,\n type: \"button\",\n disabled: next == null ? true : undefined,\n \"aria-disabled\": next == null ? true : undefined,\n onClick: next != null ? next : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"next\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n children\n ]\n }),\n close ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-errors-dialog-left-right-close-button\": true,\n ref: buttonClose,\n type: \"button\",\n onClick: close,\n \"aria-label\": \"Close\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"aria-hidden\": \"true\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n }) : null\n ]\n });\n};\n_s(LeftRightDialogHeader, \"BTIclYWDjFVmQ0IbTZR6SGMkDDk=\");\n_c = LeftRightDialogHeader;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=LeftRightDialogHeader.js.map\nvar _c;\n$RefreshReg$(_c, \"LeftRightDialogHeader\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9MZWZ0UmlnaHREaWFsb2dIZWFkZXIvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozt5REF3S1NBOzs7ZUFBQUE7Ozs7OzZFQXhLYzt1Q0FDRztBQVUxQixNQUFNQSx3QkFDSixTQUFTQSxzQkFBc0JDLEtBTTlCOztJQU44QixNQUM3QkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLFFBQVEsRUFDUkMsSUFBSSxFQUNKQyxLQUFLLEVBQ04sR0FOOEJMO0lBTzdCLE1BQU1NLGFBQWFDLE9BQU1DLE1BQU0sQ0FBMkI7SUFDMUQsTUFBTUMsY0FBY0YsT0FBTUMsTUFBTSxDQUEyQjtJQUMzRCxNQUFNRSxjQUFjSCxPQUFNQyxNQUFNLENBQTJCO0lBRTNELE1BQU0sQ0FBQ0csS0FBS0MsT0FBTyxHQUFHTCxPQUFNTSxRQUFRLENBQXFCO0lBQ3pELE1BQU1DLFFBQVFQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUMvQkosT0FBT0k7SUFDVCxHQUFHLEVBQUU7SUFFTFQsT0FBTVUsU0FBUyxDQUFDO1FBQ2QsSUFBSU4sT0FBTyxNQUFNO1lBQ2Y7UUFDRjtRQUVBLE1BQU1PLE9BQU9QLElBQUlRLFdBQVc7UUFDNUIsTUFBTUMsSUFBSUMsS0FBS0MsUUFBUTtRQUV2QixTQUFTQyxRQUFRQyxDQUFnQjtZQUMvQixJQUFJQSxFQUFFQyxHQUFHLEtBQUssYUFBYTtnQkFDekJELEVBQUVFLGNBQWM7Z0JBQ2hCRixFQUFFRyxlQUFlO2dCQUNqQixJQUFJckIsV0FBV3NCLE9BQU8sRUFBRTtvQkFDdEJ0QixXQUFXc0IsT0FBTyxDQUFDQyxLQUFLO2dCQUMxQjtnQkFDQTFCLFlBQVlBO1lBQ2QsT0FBTyxJQUFJcUIsRUFBRUMsR0FBRyxLQUFLLGNBQWM7Z0JBQ2pDRCxFQUFFRSxj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Szs0QkFDTEMsT0FBTTs7OENBRU4sSUFBQWYsWUFBQUssR0FBQSxFQUFDVyxTQUFBQTs4Q0FBTTs7OENBQ1AsSUFBQWhCLFlBQUFLLEdBQUEsRUFBQ1ksUUFBQUE7b0NBQ0NsQyxHQUFFO29DQUNGbUMsUUFBTztvQ0FDUEMsYUFBWTtvQ0FDWkMsZUFBYztvQ0FDZEMsZ0JBQWU7Ozs7O29CQUlwQnpEOzs7WUFFRkksUUFDQyxXQUREQSxHQUNDLElBQUFnQyxZQUFBSyxHQUFBLEVBQUNDLFVBQUFBO2dCQUNDZ0IscURBQWlEO2dCQUNqRGxCLEtBQUsvQjtnQkFDTGtDLE1BQUs7Z0JBQ0xJLFNBQVMzQztnQkFDVHVELGNBQVc7MEJBRVgsa0JBQUF2QixZQUFBSyxHQUFBLEVBQUNtQixRQUFBQTtvQkFBS0MsZUFBWTs4QkFDaEIsa0JBQUF6QixZQUFBSyxHQUFBLEVBQUNxQixXQUFBQSxTQUFTOztpQkFHWjs7O0FBR1Y7R0EzSkloRTtLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci50c3g/NDEyMSJdLCJuYW1lcyI6WyJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwicHJldmlvdXMiLCJuZXh0IiwiY2xvc2UiLCJidXR0b25MZWZ0IiwiUmVhY3QiLCJ1c2VSZWYiLCJidXR0b25SaWdodCIsImJ1dHRvbkNsb3NlIiwibmF2Iiwic2V0TmF2IiwidXNlU3RhdGUiLCJvbk5hdiIsInVzZUNhbGxiYWNrIiwiZWwiLCJ1c2VFZmZlY3QiLCJyb290IiwiZ2V0Um9vdE5vZGUiLCJkIiwic2VsZiIsImRvY3VtZW50IiwiaGFuZGxlciIsImUiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImN1cnJlbnQiLCJmb2N1cyIsIlNoYWRvd1Jvb3QiLCJhIiwiYWN0aXZlRWxlbWVudCIsIkhUTUxFbGVtZW50IiwiYmx1ciIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHQiLCJyZWYiLCJqc3giLCJidXR0b24iLCJ0eXBlIiwiZGlzYWJsZWQiLCJ1bmRlZmluZWQiLCJhcmlhLWRpc2FibGVkIiwib25DbGljayIsInN2ZyIsInZpZXdCb3giLCJmaWxsIiwieG1sbnMiLCJ0aXRsZSIsInBhdGgiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImRhdGEtbmV4dGpzLWVycm9ycy1kaWFsb2ctbGVmdC1yaWdodC1jbG9zZS1idXR0b24iLCJhcmlhLWxhYmVsIiwic3BhbiIsImFyaWEtaGlkZGVuIiwiQ2xvc2VJY29uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js ***! - \***********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n LeftRightDialogHeader: function() {\n return _LeftRightDialogHeader.LeftRightDialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _LeftRightDialogHeader = __webpack_require__(/*! ./LeftRightDialogHeader */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9MZWZ0UmlnaHREaWFsb2dIZWFkZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQVNBLHVCQUFxQjtlQUFyQkEsdUJBQUFBLHFCQUFxQjs7SUFDckJDLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7O21EQUR1QjtvQ0FDZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LnRzPzYxMzMiXSwibmFtZXMiOlsiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwic3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js": -/*!************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js ***! - \************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-left-right] {\\n display: flex;\\n flex-direction: row;\\n align-content: center;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-nextjs-dialog-left-right] > nav {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-dialog-left-right] > nav > button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n width: calc(var(--size-gap-double) + var(--size-gap));\\n height: calc(var(--size-gap-double) + var(--size-gap));\\n font-size: 0;\\n border: none;\\n background-color: rgba(255, 85, 85, 0.1);\\n color: var(--color-ansi-red);\\n cursor: pointer;\\n transition: background-color 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > nav > button > svg {\\n width: auto;\\n height: calc(var(--size-gap) + var(--size-gap-half));\\n }\\n [data-nextjs-dialog-left-right] > nav > button:hover {\\n background-color: rgba(255, 85, 85, 0.2);\\n }\\n [data-nextjs-dialog-left-right] > nav > button:disabled {\\n background-color: rgba(255, 85, 85, 0.1);\\n color: rgba(255, 85, 85, 0.4);\\n cursor: not-allowed;\\n }\\n\\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\\n margin-right: 1px;\\n }\\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\\n }\\n\\n [data-nextjs-dialog-left-right] > button:last-of-type {\\n border: 0;\\n padding: 0;\\n\\n background-color: transparent;\\n appearance: none;\\n\\n opacity: 0.4;\\n transition: opacity 0.25s ease;\\n\\n color: var(--color-font);\\n }\\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\\n opacity: 0.7;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9MZWZ0UmlnaHREaWFsb2dIZWFkZXIvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBb0VTQTs7O2VBQUFBOzs7OzBDQXBFbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy50cz82ZDg0Il0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return Overlay;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _maintaintabfocus = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./maintain--tab-focus */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _bodylocker = __webpack_require__(/*! ./body-locker */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\");\nconst Overlay = function Overlay(param) {\n _s();\n let { className, children, fixed } = param;\n _react.useEffect(()=>{\n (0, _bodylocker.lock)();\n return ()=>{\n (0, _bodylocker.unlock)();\n };\n }, []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback((el)=>{\n setOverlay(el);\n }, []);\n _react.useEffect(()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ()=>{\n handle2.disengage();\n };\n }, [\n overlay\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-overlay\": true,\n className: className,\n ref: onOverlay,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-backdrop\": true,\n \"data-nextjs-dialog-backdrop-fixed\": fixed ? true : undefined\n }),\n children\n ]\n });\n};\n_s(Overlay, \"7AKWSbA/gHapd2YTyFggUak94M8=\");\n_c = Overlay;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Overlay.js.map\nvar _c;\n$RefreshReg$(_c, \"Overlay\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L092ZXJsYXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OzJDQWlEU0E7OztlQUFBQTs7Ozs7O3VGQWpEWTs2RUFDRTt3Q0FDTTtBQVE3QixNQUFNQSxVQUFrQyxTQUFTQSxRQUFRQyxLQUl4RDs7SUFKd0QsTUFDdkRDLFNBQVMsRUFDVEMsUUFBUSxFQUNSQyxLQUFLLEVBQ04sR0FKd0RIO0lBS3ZESSxPQUFNQyxTQUFTLENBQUM7UUFDZEMsQ0FBQUEsR0FBQUEsWUFBQUEsSUFBSTtRQUNKLE9BQU87WUFDTEMsQ0FBQUEsR0FBQUEsWUFBQUEsTUFBTTtRQUNSO0lBQ0YsR0FBRyxFQUFFO0lBRUwsTUFBTSxDQUFDQyxTQUFTQyxXQUFXLEdBQUdMLE9BQU1NLFFBQVEsQ0FBd0I7SUFDcEUsTUFBTUMsWUFBWVAsT0FBTVEsV0FBVyxDQUFDLENBQUNDO1FBQ25DSixXQUFXSTtJQUNiLEdBQUcsRUFBRTtJQUVMVCxPQUFNQyxTQUFTLENBQUM7UUFDZCxJQUFJRyxXQUFXLE1BQU07WUFDbkI7UUFDRjtRQUVBLE1BQU1NLFVBQVVDLENBQUFBLEdBQUFBLGtCQUFBQSxPQUFRLEVBQUM7WUFBRUMsU0FBU1I7UUFBUTtRQUM1QyxPQUFPO1lBQ0xNLFFBQVFHLFNBQVM7UUFDbkI7SUFDRixHQUFHO1FBQUNUO0tBQVE7SUFFWixPQUNFLFdBREYsR0FDRSxJQUFBVSxZQUFBQyxJQUFBLEVBQUNDLE9BQUFBO1FBQUlDLDhCQUEwQjtRQUFDcEIsV0FBV0E7UUFBV3FCLEtBQUtYOzswQkFDekQsSUFBQU8sWUFBQUssR0FBQSxFQUFDSCxPQUFBQTtnQkFDQ0ksK0JBQTJCO2dCQUMzQkMscUNBQW1DdEIsUUFBUSxPQUFPdUI7O1lBRW5EeEI7OztBQUdQO0dBckNNSDtLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LnRzeD81YmE0Il0sIm5hbWVzIjpbIk92ZXJsYXkiLCJwYXJhbSIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiZml4ZWQiLCJSZWFjdCIsInVzZUVmZmVjdCIsImxvY2siLCJ1bmxvY2siLCJvdmVybGF5Iiwic2V0T3ZlcmxheSIsInVzZVN0YXRlIiwib25PdmVybGF5IiwidXNlQ2FsbGJhY2siLCJlbCIsImhhbmRsZTIiLCJhbGx5VHJhcCIsImNvbnRleHQiLCJkaXNlbmdhZ2UiLCJfanN4cnVudGltZSIsImpzeHMiLCJkaXYiLCJkYXRhLW5leHRqcy1kaWFsb2ctb3ZlcmxheSIsInJlZiIsImpzeCIsImRhdGEtbmV4dGpzLWRpYWxvZy1iYWNrZHJvcCIsImRhdGEtbmV4dGpzLWRpYWxvZy1iYWNrZHJvcC1maXhlZCIsInVuZGVmaW5lZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n lock: function() {\n return lock;\n },\n unlock: function() {\n return unlock;\n }\n});\nlet previousBodyPaddingRight;\nlet previousBodyOverflowSetting;\nlet activeLocks = 0;\nfunction lock() {\n setTimeout(()=>{\n if (activeLocks++ > 0) {\n return;\n }\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = \"\" + scrollBarGap + \"px\";\n }\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n });\n}\nfunction unlock() {\n setTimeout(()=>{\n if (activeLocks === 0 || --activeLocks !== 0) {\n return;\n }\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n previousBodyPaddingRight = undefined;\n }\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n previousBodyOverflowSetting = undefined;\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=body-locker.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L2JvZHktbG9ja2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUtnQkEsTUFBSTtlQUFKQTs7SUFtQkFDLFFBQU07ZUFBTkE7OztBQXhCaEIsSUFBSUM7QUFDSixJQUFJQztBQUVKLElBQUlDLGNBQWM7QUFFWCxTQUFTSjtJQUNkSyxXQUFXO1FBQ1QsSUFBSUQsZ0JBQWdCLEdBQUc7WUFDckI7UUFDRjtRQUVBLE1BQU1FLGVBQ0pDLE9BQU9DLFVBQVUsR0FBR0MsU0FBU0MsZUFBZSxDQUFDQyxXQUFXO1FBRTFELElBQUlMLGVBQWUsR0FBRztZQUNwQkosMkJBQTJCTyxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWTtZQUMzREwsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksR0FBRyxLQUFHUixlQUFhO1FBQ3JEO1FBRUFILDhCQUE4Qk0sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNFLFFBQVE7UUFDMUROLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRLEdBQUc7SUFDakM7QUFDRjtBQUVPLFNBQVNkO0lBQ2RJLFdBQVc7UUFDVCxJQUFJRCxnQkFBZ0IsS0FBSyxFQUFFQSxnQkFBZ0IsR0FBRztZQUM1QztRQUNGO1FBRUEsSUFBSUYsNkJBQTZCYyxXQUFXO1lBQzFDUCxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxHQUFHWjtZQUNuQ0EsMkJBQTJCYztRQUM3QjtRQUVBLElBQUliLGdDQUFnQ2EsV0FBVztZQUM3Q1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNFLFFBQVEsR0FBR1o7WUFDL0JBLDhCQUE4QmE7UUFDaEM7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L2JvZHktbG9ja2VyLnRzP2EwMjIiXSwibmFtZXMiOlsibG9jayIsInVubG9jayIsInByZXZpb3VzQm9keVBhZGRpbmdSaWdodCIsInByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZyIsImFjdGl2ZUxvY2tzIiwic2V0VGltZW91dCIsInNjcm9sbEJhckdhcCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsaWVudFdpZHRoIiwiYm9keSIsInN0eWxlIiwicGFkZGluZ1JpZ2h0Iiwib3ZlcmZsb3ciLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js ***! - \*********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return _Overlay.Overlay;\n }\n}));\nconst _Overlay = __webpack_require__(/*! ./Overlay */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBQVNBOzs7ZUFBQUEsU0FBQUEsT0FBTzs7O3FDQUFRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L2luZGV4LnRzeD83NzVhIl0sIm5hbWVzIjpbIk92ZXJsYXkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js ***! - \***********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* eslint-disable */ // @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _platform = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/platform */ \"(app-pages-browser)/./node_modules/next/dist/compiled/platform/platform.js\"));\nconst _cssescape = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/css.escape */ \"(app-pages-browser)/./node_modules/next/dist/compiled/css.escape/css.escape.js\"));\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [\n input\n ];\n }\n if (typeof input === \"string\") {\n input = document.querySelectorAll(input);\n }\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n throw new TypeError(\"unexpected input \" + String(input));\n}\nfunction contextToElement(_ref) {\n var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? \"context-to-element\" : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument;\n var element = nodeArray(context)[0];\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement;\n }\n if (!element && defaultToDocument) {\n return document.documentElement;\n }\n if (!element) {\n throw new TypeError(label + \" requires valid options.context\");\n }\n if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n throw new TypeError(label + \" requires options.context to be an Element\");\n }\n return element;\n}\nfunction getShadowHost() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var element = contextToElement({\n label: \"get/shadow-host\",\n context: context\n });\n // walk up to the root\n var container = null;\n while(element){\n container = element;\n element = element.parentNode;\n }\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) {\n // the root is attached to a fragment node that has a host\n return container.host;\n }\n return null;\n}\nfunction getDocument(node) {\n if (!node) {\n return document;\n }\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node;\n }\n return node.ownerDocument || document;\n}\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: \"is/active-element\",\n resolveDocument: true,\n context: context\n });\n var _document = getDocument(element);\n if (_document.activeElement === element) {\n return true;\n }\n var shadowHost = getShadowHost({\n context: element\n });\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true;\n }\n return false;\n}\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var list = [];\n var element = contextToElement({\n label: \"get/parents\",\n context: context\n });\n while(element){\n list.push(element);\n // IE does know support parentElement on SVGElement\n element = element.parentNode;\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null;\n }\n }\n return list;\n}\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\nvar names = [\n \"matches\",\n \"webkitMatchesSelector\",\n \"mozMatchesSelector\",\n \"msMatchesSelector\"\n];\nvar name = null;\nfunction findMethodName(element) {\n names.some(function(_name) {\n if (!element[_name]) {\n return false;\n }\n name = _name;\n return true;\n });\n}\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element);\n }\n return element[name](selector);\n}\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform.default));\n// operating system\nvar os = platform.os.family || \"\";\nvar ANDROID = os === \"Android\";\nvar WINDOWS = os.slice(0, 7) === \"Windows\";\nvar OSX = os === \"OS X\";\nvar IOS = os === \"iOS\";\n// layout\nvar BLINK = platform.layout === \"Blink\";\nvar GECKO = platform.layout === \"Gecko\";\nvar TRIDENT = platform.layout === \"Trident\";\nvar EDGE = platform.layout === \"EdgeHTML\";\nvar WEBKIT = platform.layout === \"WebKit\";\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version);\nvar majorVersion = Math.floor(version);\nplatform.majorVersion = majorVersion;\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK,\n GECKO: GECKO,\n TRIDENT: TRIDENT,\n EDGE: EDGE,\n WEBKIT: WEBKIT,\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11\n};\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft\n };\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"style\", \"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");\n iframe.setAttribute(\"aria-live\", \"off\");\n iframe.setAttribute(\"aria-busy\", \"true\");\n iframe.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(iframe);\n var _window = iframe.contentWindow;\n var _document = _window.document;\n _document.open();\n _document.close();\n var wrapper = _document.createElement(\"div\");\n _document.body.appendChild(wrapper);\n data.iframe = iframe;\n data.wrapper = wrapper;\n data.window = _window;\n data.document = _document;\n return data;\n}\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = \"\";\n // create dummy element to test focusability of\n var element = typeof options.element === \"string\" ? data.document.createElement(options.element) : options.element(data.wrapper, data.document);\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus = options.mutate && options.mutate(element, data.wrapper, data.document);\n if (!focus && focus !== false) {\n focus = element;\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element);\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus();\n // validate test's result\n return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus;\n}\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement && document.activeElement.blur && document.activeElement.blur();\n if (platform.is.IE10) {\n // IE10 does not redirect focus to <body> when the activeElement is removed\n document.body.focus();\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus();\n }\n document.body.removeChild(data.iframe);\n // restore scroll position\n window.scrollTop = data.windowScrollTop;\n window.scrollLeft = data.windowScrollLeft;\n document.body.scrollTop = data.bodyScrollTop;\n document.body.scrollLeft = data.bodyScrollLeft;\n}\nfunction detectFocus(tests) {\n var data = before();\n var results = {};\n Object.keys(tests).map(function(key) {\n results[key] = test(data, tests[key]);\n });\n after(data);\n return results;\n}\n// this file is overwritten by `npm run build:pre`\nvar version$1 = \"1.4.1\";\n/*\n Facility to cache test results in localStorage.\n\n USAGE:\n cache.get('key');\n cache.set('key', 'value');\n */ function readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0;\n try {\n data = window.localStorage && window.localStorage.getItem(key);\n data = data ? JSON.parse(data) : {};\n } catch (e) {\n data = {};\n }\n return data;\n}\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key);\n } catch (e) {\n // ignore\n }\n return;\n }\n try {\n window.localStorage && window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n // ignore\n }\n}\nvar userAgent = typeof window !== \"undefined\" && window.navigator.userAgent || \"\";\nvar cacheKey = \"ally-supports-cache\";\nvar cache = readLocalStorage(cacheKey);\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {};\n}\ncache.userAgent = userAgent;\ncache.version = version$1;\nvar cache$1 = {\n get: function get() {\n return cache;\n },\n set: function set(values) {\n Object.keys(values).forEach(function(key) {\n cache[key] = values[key];\n });\n cache.time = new Date().toISOString();\n writeLocalStorage(cacheKey, cache);\n }\n};\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0;\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector(\"html >>> :first-child\");\n combinator = \">>>\";\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector(\"html /deep/ :first-child\");\n combinator = \"/deep/\";\n } catch (noDeep) {\n combinator = \"\";\n }\n }\n return combinator;\n}\nvar gif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area href=\"#void\" tabindex=\"-1\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" alt=\"\" src=\"' + gif + '\">';\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n var focus = element.querySelector(\"area\");\n focus.focus();\n return _document.activeElement === focus;\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaWithoutHref = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-area-href-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-area-href-test\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n return _document.activeElement === focusTarget;\n }\n};\nvar focusAudioWithoutControls = {\n name: \"can-focus-audio-without-controls\",\n element: \"audio\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\nvar invalidGif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\";\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusBrokenImageMap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"broken-image-map-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#broken-image-map-test\" alt=\"\" src=\"' + invalidGif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// Children of focusable elements with display:flex are focusable in IE10-11\nvar focusChildrenOfFocusableFlexbox = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n return element.querySelector(\"span\");\n }\n};\n// fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree\n// @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\n// @browser-issue Chromium https://crbug.com/453847\n// @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086\nvar focusFieldsetDisabled = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\nvar focusFieldset = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = \"<legend>legend</legend><p>content</p>\";\n }\n};\n// elements with display:flex are focusable in IE10-11\nvar focusFlexboxContainer = {\n element: \"span\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n }\n};\n// form[tabindex=0][disabled] should be focusable as the\n// specification doesn't know the disabled attribute on the form element\n// @specification https://www.w3.org/TR/html5/forms.html#the-form-element\nvar focusFormDisabled = {\n element: \"form\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// fixes https://github.com/medialize/ally.js/issues/20\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-ismap\nvar focusImgIsmap = {\n element: \"a\",\n mutate: function mutate(element) {\n element.href = \"#void\";\n element.innerHTML = '<img ismap src=\"' + gif + '\" alt=\"\">';\n return element.querySelector(\"img\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusImgUsemapTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" ' + 'src=\"' + gif + '\">';\n return element.querySelector(\"img\");\n }\n};\nvar focusInHiddenIframe = {\n element: function element(wrapper, _document) {\n var iframe = _document.createElement(\"iframe\");\n // iframe must be part of the DOM before accessing the contentWindow is possible\n wrapper.appendChild(iframe);\n // create the iframe's default document (<html><head></head><body></body></html>)\n var iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.close();\n return iframe;\n },\n mutate: function mutate(iframe) {\n iframe.style.visibility = \"hidden\";\n var iframeDocument = iframe.contentWindow.document;\n var input = iframeDocument.createElement(\"input\");\n iframeDocument.body.appendChild(input);\n return input;\n },\n validate: function validate(iframe) {\n var iframeDocument = iframe.contentWindow.document;\n var focus = iframeDocument.querySelector(\"input\");\n return iframeDocument.activeElement === focus;\n }\n};\nvar result = !platform.is.WEBKIT;\nfunction focusInZeroDimensionObject() {\n return result;\n}\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusInvalidTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"invalid-value\");\n }\n};\nvar focusLabelTabindex = {\n element: \"label\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n },\n validate: function validate(element, focusTarget, _document) {\n // force layout in Chrome 49, otherwise the element won't be focusable\n /* eslint-disable no-unused-vars */ var variableToPreventDeadCodeElimination = element.offsetHeight;\n /* eslint-enable no-unused-vars */ element.focus();\n return _document.activeElement === element;\n }\n};\nvar svg = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb\" + \"G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ\" + \"zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==\";\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvgHidden = {\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n element.style.visibility = \"hidden\";\n }\n};\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvg = {\n name: \"can-focus-object-svg\",\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result.\n // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string\n return true;\n }\n return _document.activeElement === element;\n }\n};\n// Every Environment except IE9 considers SWF objects focusable\nvar result$1 = !platform.is.IE9;\nfunction focusObjectSwf() {\n return result$1;\n}\nvar focusRedirectImgUsemap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"focus-redirect-img-usemap\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#focus-redirect-img-usemap\" alt=\"\" ' + 'src=\"' + gif + '\">';\n // focus the <img>, not the <div>\n return element.querySelector(\"img\");\n },\n validate: function validate(element, focusTarget, _document) {\n var target = element.querySelector(\"area\");\n return _document.activeElement === target;\n }\n};\n// see https://jsbin.com/nenirisage/edit?html,js,console,output\nvar focusRedirectLegend = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = '<legend>legend</legend><input tabindex=\"-1\"><input tabindex=\"0\">';\n // take care of focus in validate();\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n var focusable = element.querySelector('input[tabindex=\"-1\"]');\n var tabbable = element.querySelector('input[tabindex=\"0\"]');\n // Firefox requires this test to focus the <fieldset> first, while this is not necessary in\n // https://jsbin.com/nenirisage/edit?html,js,console,output\n element.focus();\n element.querySelector(\"legend\").focus();\n return _document.activeElement === focusable && \"focusable\" || _document.activeElement === tabbable && \"tabbable\" || \"\";\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollBody = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n return element.querySelector(\"div\");\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainerWithoutOverflow = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainer = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\nvar focusSummary = {\n element: \"details\",\n mutate: function mutate(element) {\n element.innerHTML = \"<summary>foo</summary><p>content</p>\";\n return element.firstElementChild;\n }\n};\nfunction makeFocusableForeignObject() {\n // Constructs <foreignObject width=\"30\" height=\"30\"><input type=\"text\"/></foreignObject>\n // without raising a Trusted Types violation\n var foreignObject = document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\");\n foreignObject.width.baseVal.value = 30;\n foreignObject.height.baseVal.value = 30;\n foreignObject.appendChild(document.createElement(\"input\"));\n foreignObject.lastChild.type = \"text\";\n return foreignObject;\n}\nfunction focusSvgForeignObjectHack(element) {\n // Edge13, Edge14: foreignObject focus hack\n // https://jsbin.com/kunehinugi/edit?html,js,output\n // https://jsbin.com/fajagi/3/edit?html,js,output\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (!isSvgElement) {\n return false;\n }\n // inject and focus an <input> element into the SVG element to receive focus\n var foreignObject = makeFocusableForeignObject();\n element.appendChild(foreignObject);\n var input = foreignObject.querySelector(\"input\");\n input.focus();\n // upon disabling the activeElement, IE and Edge\n // will not shift focus to <body> like all the other\n // browsers, but instead find the first focusable\n // ancestor and shift focus to that\n input.disabled = true;\n // clean up\n element.removeChild(foreignObject);\n return true;\n}\nfunction generate(element) {\n return '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">' + element + \"</svg>\";\n}\nfunction focus(element) {\n if (element.focus) {\n return;\n }\n try {\n HTMLElement.prototype.focus.call(element);\n } catch (e) {\n focusSvgForeignObjectHack(element);\n }\n}\nfunction validate(element, focusTarget, _document) {\n focus(focusTarget);\n return _document.activeElement === focusTarget;\n}\nvar focusSvgFocusableAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text focusable=\"true\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"0\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgNegativeTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"-1\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgUseTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate([\n '<g id=\"ally-test-target\"><a xlink:href=\"#void\"><text>link</text></a></g>',\n '<use xlink:href=\"#ally-test-target\" x=\"0\" y=\"0\" tabindex=\"-1\" />'\n ].join(\"\"));\n return element.querySelector(\"use\");\n },\n validate: validate\n};\nvar focusSvgForeignobjectTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<foreignObject tabindex=\"-1\"><input type=\"text\" /></foreignObject>');\n // Safari 8's querySelector() can't identify foreignObject, but getElementsByTagName() can\n return element.querySelector(\"foreignObject\") || element.getElementsByTagName(\"foreignObject\")[0];\n },\n validate: validate\n};\n// Firefox seems to be handling the SVG-document-in-iframe creation asynchronously\n// and thereby produces a false negative test result. Thus the test is pointless\n// and we resort to UA sniffing once again.\n// see http://jsbin.com/vunadohoko/1/edit?js,console,output\nvar result$2 = Boolean(platform.is.GECKO && typeof SVGElement !== \"undefined\" && SVGElement.prototype.focus);\nfunction focusSvgInIframe() {\n return result$2;\n}\nvar focusSvg = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate(\"\");\n return element.firstChild;\n },\n validate: validate\n};\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusTabindexTrailingCharacters = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"3x\");\n }\n};\nvar focusTable = {\n element: \"table\",\n mutate: function mutate(element, wrapper, _document) {\n // IE9 has a problem replacing TBODY contents with innerHTML.\n // https://stackoverflow.com/a/8097055/515124\n // element.innerHTML = '<tr><td>cell</td></tr>';\n var fragment = _document.createDocumentFragment();\n fragment.innerHTML = \"<tr><td>cell</td></tr>\";\n element.appendChild(fragment);\n }\n};\nvar focusVideoWithoutControls = {\n element: \"video\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\n// https://jsbin.com/vafaba/3/edit?html,js,console,output\nvar result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE;\nfunction tabsequenceAreaAtImgPosition() {\n return result$3;\n}\nvar testCallbacks = {\n cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator,\n focusInZeroDimensionObject: focusInZeroDimensionObject,\n focusObjectSwf: focusObjectSwf,\n focusSvgInIframe: focusSvgInIframe,\n tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition\n};\nvar testDescriptions = {\n focusAreaImgTabindex: focusAreaImgTabindex,\n focusAreaTabindex: focusAreaTabindex,\n focusAreaWithoutHref: focusAreaWithoutHref,\n focusAudioWithoutControls: focusAudioWithoutControls,\n focusBrokenImageMap: focusBrokenImageMap,\n focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox,\n focusFieldsetDisabled: focusFieldsetDisabled,\n focusFieldset: focusFieldset,\n focusFlexboxContainer: focusFlexboxContainer,\n focusFormDisabled: focusFormDisabled,\n focusImgIsmap: focusImgIsmap,\n focusImgUsemapTabindex: focusImgUsemapTabindex,\n focusInHiddenIframe: focusInHiddenIframe,\n focusInvalidTabindex: focusInvalidTabindex,\n focusLabelTabindex: focusLabelTabindex,\n focusObjectSvg: focusObjectSvg,\n focusObjectSvgHidden: focusObjectSvgHidden,\n focusRedirectImgUsemap: focusRedirectImgUsemap,\n focusRedirectLegend: focusRedirectLegend,\n focusScrollBody: focusScrollBody,\n focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow,\n focusScrollContainer: focusScrollContainer,\n focusSummary: focusSummary,\n focusSvgFocusableAttribute: focusSvgFocusableAttribute,\n focusSvgTabindexAttribute: focusSvgTabindexAttribute,\n focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute,\n focusSvgUseTabindex: focusSvgUseTabindex,\n focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex,\n focusSvg: focusSvg,\n focusTabindexTrailingCharacters: focusTabindexTrailingCharacters,\n focusTable: focusTable,\n focusVideoWithoutControls: focusVideoWithoutControls\n};\nfunction executeTests() {\n var results = detectFocus(testDescriptions);\n Object.keys(testCallbacks).forEach(function(key) {\n results[key] = testCallbacks[key]();\n });\n return results;\n}\nvar supportsCache = null;\nfunction _supports() {\n if (supportsCache) {\n return supportsCache;\n }\n supportsCache = cache$1.get();\n if (!supportsCache.time) {\n cache$1.set(executeTests());\n supportsCache = cache$1.get();\n }\n return supportsCache;\n}\nvar supports = void 0;\n// https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers\n// NOTE: all browsers agree to allow trailing spaces as well\nvar validIntegerPatternNoTrailing = /^\\s*(-|\\+)?[0-9]+\\s*$/;\nvar validIntegerPatternWithTrailing = /^\\s*(-|\\+)?[0-9]+.*$/;\nfunction isValidTabindex(context) {\n if (!supports) {\n supports = _supports();\n }\n var validIntegerPattern = supports.focusTabindexTrailingCharacters ? validIntegerPatternWithTrailing : validIntegerPatternNoTrailing;\n var element = contextToElement({\n label: \"is/valid-tabindex\",\n resolveDocument: true,\n context: context\n });\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var hasTabIndex = element.hasAttribute(\"tabIndex\");\n if (!hasTabindex && !hasTabIndex) {\n return false;\n }\n // older Firefox and Internet Explorer don't support tabindex on SVG elements\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (isSvgElement && !supports.focusSvgTabindexAttribute) {\n return false;\n }\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n if (supports.focusInvalidTabindex) {\n return true;\n }\n // an element matches the tabindex selector even if its value is invalid\n var tabindex = element.getAttribute(hasTabindex ? \"tabindex\" : \"tabIndex\");\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965\n if (tabindex === \"-32768\") {\n return false;\n }\n return Boolean(tabindex && validIntegerPattern.test(tabindex));\n}\nfunction tabindexValue(element) {\n if (!isValidTabindex(element)) {\n return null;\n }\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var attributeName = hasTabindex ? \"tabindex\" : \"tabIndex\";\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n var tabindex = parseInt(element.getAttribute(attributeName), 10);\n return isNaN(tabindex) ? -1 : tabindex;\n}\n// this is a shared utility file for focus-relevant.js and tabbable.js\n// separate testing of this file's functions is not necessary,\n// as they're implicitly tested by way of the consumers\nfunction isUserModifyWritable(style) {\n // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify\n // https://github.com/medialize/ally.js/issues/17\n var userModify = style.webkitUserModify || \"\";\n return Boolean(userModify && userModify.indexOf(\"write\") !== -1);\n}\nfunction hasCssOverflowScroll(style) {\n return [\n style.getPropertyValue(\"overflow\"),\n style.getPropertyValue(\"overflow-x\"),\n style.getPropertyValue(\"overflow-y\")\n ].some(function(overflow) {\n return overflow === \"auto\" || overflow === \"scroll\";\n });\n}\nfunction hasCssDisplayFlex(style) {\n return style.display.indexOf(\"flex\") > -1;\n}\nfunction isScrollableContainer(element, nodeName, parentNodeName, parentStyle) {\n if (nodeName !== \"div\" && nodeName !== \"span\") {\n // Internet Explorer advances scrollable containers and bodies to focusable\n // only if the scrollable container is <div> or <span> - this does *not*\n // happen for <section>, <article>, …\n return false;\n }\n if (parentNodeName && parentNodeName !== \"div\" && parentNodeName !== \"span\" && !hasCssOverflowScroll(parentStyle)) {\n return false;\n }\n return element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth;\n}\nvar supports$1 = void 0;\nfunction isFocusRelevantRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false\n } : _ref$except;\n if (!supports$1) {\n supports$1 = _supports();\n }\n var element = contextToElement({\n label: \"is/focus-relevant\",\n resolveDocument: true,\n context: context\n });\n if (!except.shadow && element.shadowRoot) {\n // a ShadowDOM host receives focus when the focus moves to its content\n return true;\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"input\" && element.type === \"hidden\") {\n // input[type=\"hidden\"] supports.cannot be focused\n return false;\n }\n if (nodeName === \"input\" || nodeName === \"select\" || nodeName === \"button\" || nodeName === \"textarea\") {\n return true;\n }\n if (nodeName === \"legend\" && supports$1.focusRedirectLegend) {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"label\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"area\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"a\" && element.hasAttribute(\"href\")) {\n return true;\n }\n if (nodeName === \"object\" && element.hasAttribute(\"usemap\")) {\n // object[usemap] is not focusable in any browser\n return false;\n }\n if (nodeName === \"object\") {\n var svgType = element.getAttribute(\"type\");\n if (!supports$1.focusObjectSvg && svgType === \"image/svg+xml\") {\n // object[type=\"image/svg+xml\"] is not focusable in Internet Explorer\n return false;\n } else if (!supports$1.focusObjectSwf && svgType === \"application/x-shockwave-flash\") {\n // object[type=\"application/x-shockwave-flash\"] is not focusable in Internet Explorer 9\n return false;\n }\n }\n if (nodeName === \"iframe\" || nodeName === \"object\") {\n // browsing context containers\n return true;\n }\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n if (element.hasAttribute(\"contenteditable\")) {\n // also see CSS property user-modify below\n return true;\n }\n if (nodeName === \"audio\" && (supports$1.focusAudioWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (nodeName === \"video\" && (supports$1.focusVideoWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (supports$1.focusSummary && nodeName === \"summary\") {\n return true;\n }\n var validTabindex = isValidTabindex(element);\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return validTabindex && supports$1.focusImgUsemapTabindex || supports$1.focusRedirectImgUsemap;\n }\n if (supports$1.focusTable && (nodeName === \"table\" || nodeName === \"td\")) {\n // IE10-11 supports.can focus <table> and <td>\n return true;\n }\n if (supports$1.focusFieldset && nodeName === \"fieldset\") {\n // IE10-11 supports.can focus <fieldset>\n return true;\n }\n var isSvgElement = nodeName === \"svg\";\n var isSvgContent = element.ownerSVGElement;\n var focusableAttribute = element.getAttribute(\"focusable\");\n var tabindex = tabindexValue(element);\n if (nodeName === \"use\" && tabindex !== null && !supports$1.focusSvgUseTabindex) {\n // <use> cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit\n return false;\n }\n if (nodeName === \"foreignobject\") {\n // <use> can only be made focusable in Blink and WebKit\n return tabindex !== null && supports$1.focusSvgForeignobjectTabindex;\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n return true;\n }\n if ((isSvgElement || isSvgContent) && element.focus && !supports$1.focusSvgNegativeTabindexAttribute && tabindex < 0) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return false;\n }\n if (isSvgElement) {\n return validTabindex || supports$1.focusSvg || supports$1.focusSvgInIframe || // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n Boolean(supports$1.focusSvgFocusableAttribute && focusableAttribute && focusableAttribute === \"true\");\n }\n if (isSvgContent) {\n if (supports$1.focusSvgTabindexAttribute && validTabindex) {\n return true;\n }\n if (supports$1.focusSvgFocusableAttribute) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n return focusableAttribute === \"true\";\n }\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n if (validTabindex) {\n return true;\n }\n var style = window.getComputedStyle(element, null);\n if (isUserModifyWritable(style)) {\n return true;\n }\n if (supports$1.focusImgIsmap && nodeName === \"img\" && element.hasAttribute(\"ismap\")) {\n // IE10-11 considers the <img> in <a href><img ismap> focusable\n // https://github.com/medialize/ally.js/issues/20\n var hasLinkParent = getParents({\n context: element\n }).some(function(parent) {\n return parent.nodeName.toLowerCase() === \"a\" && parent.hasAttribute(\"href\");\n });\n if (hasLinkParent) {\n return true;\n }\n }\n // https://github.com/medialize/ally.js/issues/21\n if (!except.scrollable && supports$1.focusScrollContainer) {\n if (supports$1.focusScrollContainerWithoutOverflow) {\n // Internet Explorer does will consider the scrollable area focusable\n // if the element is a <div> or a <span> and it is in fact scrollable,\n // regardless of the CSS overflow property\n if (isScrollableContainer(element, nodeName)) {\n return true;\n }\n } else if (hasCssOverflowScroll(style)) {\n // Firefox requires proper overflow setting, IE does not necessarily\n // https://developer.mozilla.org/docs/Web/CSS/overflow\n return true;\n }\n }\n if (!except.flexbox && supports$1.focusFlexboxContainer && hasCssDisplayFlex(style)) {\n // elements with display:flex are focusable in IE10-11\n return true;\n }\n var parent = element.parentElement;\n if (!except.scrollable && parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n if (supports$1.focusScrollBody && isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n // scrollable bodies are focusable Internet Explorer\n // https://github.com/medialize/ally.js/issues/21\n return true;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11\n if (supports$1.focusChildrenOfFocusableFlexbox) {\n if (hasCssDisplayFlex(parentStyle)) {\n return true;\n }\n }\n }\n // NOTE: elements marked as inert are not focusable,\n // but that property is not exposed to the DOM\n // https://www.w3.org/TR/html5/editing.html#inert\n return false;\n}\n// bind exceptions to an iterator callback\nisFocusRelevantRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusRelevant = function isFocusRelevant(context) {\n return isFocusRelevantRules({\n context: context,\n except: except\n });\n };\n isFocusRelevant.rules = isFocusRelevantRules;\n return isFocusRelevant;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusRelevant = isFocusRelevantRules.except({});\nfunction findIndex(array, callback) {\n // attempt to use native or polyfilled Array#findIndex first\n if (array.findIndex) {\n return array.findIndex(callback);\n }\n var length = array.length;\n // shortcut if the array is empty\n if (length === 0) {\n return -1;\n }\n // otherwise loop over array\n for(var i = 0; i < length; i++){\n if (callback(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\nfunction getContentDocument(node) {\n try {\n // works on <object> and <iframe>\n return node.contentDocument || // works on <object> and <iframe>\n node.contentWindow && node.contentWindow.document || // works on <object> and <iframe> that contain SVG\n node.getSVGDocument && node.getSVGDocument() || null;\n } catch (e) {\n // SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement'\n // also IE may throw member not found exception e.g. on <object type=\"image/png\">\n return null;\n }\n}\nfunction getWindow(node) {\n var _document = getDocument(node);\n return _document.defaultView || window;\n}\nvar shadowPrefix = void 0;\nfunction selectInShadows(selector) {\n if (typeof shadowPrefix !== \"string\") {\n var operator = cssShadowPiercingDeepCombinator();\n if (operator) {\n shadowPrefix = \", html \" + operator + \" \";\n }\n }\n if (!shadowPrefix) {\n return selector;\n }\n return selector + shadowPrefix + selector.replace(/\\s*,\\s*/g, \",\").split(\",\").join(shadowPrefix);\n}\nvar selector = void 0;\nfunction findDocumentHostElement(_window) {\n if (!selector) {\n selector = selectInShadows(\"object, iframe\");\n }\n if (_window._frameElement !== undefined) {\n return _window._frameElement;\n }\n _window._frameElement = null;\n var potentialHosts = _window.parent.document.querySelectorAll(selector);\n [].some.call(potentialHosts, function(element) {\n var _document = getContentDocument(element);\n if (_document !== _window.document) {\n return false;\n }\n _window._frameElement = element;\n return true;\n });\n return _window._frameElement;\n}\nfunction getFrameElement(element) {\n var _window = getWindow(element);\n if (!_window.parent || _window.parent === _window) {\n // if there is no parent browsing context,\n // we're not going to get a frameElement either way\n return null;\n }\n try {\n // see https://developer.mozilla.org/docs/Web/API/Window/frameElement\n // does not work within <embed> anywhere, and not within in <object> in IE\n return _window.frameElement || findDocumentHostElement(_window);\n } catch (e) {\n return null;\n }\n}\n// https://www.w3.org/TR/html5/rendering.html#being-rendered\n// <area> is not rendered, but we *consider* it visible to simplfiy this function's usage\nvar notRenderedElementsPattern = /^(area)$/;\nfunction computedStyle(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property);\n}\nfunction notDisplayed(_path) {\n return _path.some(function(element) {\n // display:none is not visible (optimized away at layout)\n return computedStyle(element, \"display\") === \"none\";\n });\n}\nfunction notVisible(_path) {\n // https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L109-L114\n // NOTE: a nested element can reverse visibility:hidden|collapse by explicitly setting visibility:visible\n // NOTE: visibility can be [\"\", \"visible\", \"hidden\", \"collapse\"]\n var hidden = findIndex(_path, function(element) {\n var visibility = computedStyle(element, \"visibility\");\n return visibility === \"hidden\" || visibility === \"collapse\";\n });\n if (hidden === -1) {\n // there is no hidden element\n return false;\n }\n var visible = findIndex(_path, function(element) {\n return computedStyle(element, \"visibility\") === \"visible\";\n });\n if (visible === -1) {\n // there is no visible element (but a hidden element)\n return true;\n }\n if (hidden < visible) {\n // there is a hidden element and it's closer than the first visible element\n return true;\n }\n // there may be a hidden element, but the closest element is visible\n return false;\n}\nfunction collapsedParent(_path) {\n var offset = 1;\n if (_path[0].nodeName.toLowerCase() === \"summary\") {\n offset = 2;\n }\n return _path.slice(offset).some(function(element) {\n // \"content children\" of a closed details element are not visible\n return element.nodeName.toLowerCase() === \"details\" && element.open === false;\n });\n}\nfunction isVisibleRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n notRendered: false,\n cssDisplay: false,\n cssVisibility: false,\n detailsElement: false,\n browsingContext: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/visible\",\n resolveDocument: true,\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (!except.notRendered && notRenderedElementsPattern.test(nodeName)) {\n return true;\n }\n var _path = getParents({\n context: element\n });\n // in Internet Explorer <audio> has a default display: none, where others have display: inline\n // but IE allows focusing <audio style=\"display:none\">, but not <div display:none><audio>\n // this is irrelevant to other browsers, as the controls attribute is required to make <audio> focusable\n var isAudioWithoutControls = nodeName === \"audio\" && !element.hasAttribute(\"controls\");\n if (!except.cssDisplay && notDisplayed(isAudioWithoutControls ? _path.slice(1) : _path)) {\n return false;\n }\n if (!except.cssVisibility && notVisible(_path)) {\n return false;\n }\n if (!except.detailsElement && collapsedParent(_path)) {\n return false;\n }\n if (!except.browsingContext) {\n // elements within a browsing context are affected by the\n // browsing context host element's visibility and tabindex\n var frameElement = getFrameElement(element);\n var _isVisible = isVisibleRules.except(except);\n if (frameElement && !_isVisible(frameElement)) {\n return false;\n }\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisVisibleRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isVisible = function isVisible(context) {\n return isVisibleRules({\n context: context,\n except: except\n });\n };\n isVisible.rules = isVisibleRules;\n return isVisible;\n};\n// provide isVisible(context) as default iterator callback\nvar isVisible = isVisibleRules.except({});\nfunction getMapByName(name, _document) {\n // apparently getElementsByName() also considers id attribute in IE & opera\n // https://developer.mozilla.org/docs/Web/API/Document/getElementsByName\n var map = _document.querySelector('map[name=\"' + (0, _cssescape.default)(name) + '\"]');\n return map || null;\n}\nfunction getImageOfArea(element) {\n var map = element.parentElement;\n if (!map.name || map.nodeName.toLowerCase() !== \"map\") {\n return null;\n }\n // NOTE: image maps can also be applied to <object> with image content,\n // but no browser supports this at the moment\n // HTML5 specifies HTMLMapElement.images to be an HTMLCollection of all\n // <img> and <object> referencing the <map> element, but no browser implements this\n // https://www.w3.org/TR/html5/embedded-content-0.html#the-map-element\n // https://developer.mozilla.org/docs/Web/API/HTMLMapElement\n // the image must be valid and loaded for the map to take effect\n var _document = getDocument(element);\n return _document.querySelector('img[usemap=\"#' + (0, _cssescape.default)(map.name) + '\"]') || null;\n}\nvar supports$2 = void 0;\n// https://developer.mozilla.org/docs/Web/HTML/Element/map\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n// https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L88-L107\nfunction isValidArea(context) {\n if (!supports$2) {\n supports$2 = _supports();\n }\n var element = contextToElement({\n label: \"is/valid-area\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return false;\n }\n var hasTabindex = element.hasAttribute(\"tabindex\");\n if (!supports$2.focusAreaTabindex && hasTabindex) {\n // Blink and WebKit do not consider <area tabindex=\"-1\" href=\"#void\"> focusable\n return false;\n }\n var img = getImageOfArea(element);\n if (!img || !isVisible(img)) {\n return false;\n }\n // Firefox only allows fully loaded images to reference image maps\n // https://stereochro.me/ideas/detecting-broken-images-js\n if (!supports$2.focusBrokenImageMap && (!img.complete || !img.naturalHeight || img.offsetWidth <= 0 || img.offsetHeight <= 0)) {\n return false;\n }\n // Firefox supports.can focus area elements even if they don't have an href attribute\n if (!supports$2.focusAreaWithoutHref && !element.href) {\n // Internet explorer supports.can focus area elements without href if either\n // the area element or the image element has a tabindex attribute\n return supports$2.focusAreaTabindex && hasTabindex || supports$2.focusAreaImgTabindex && img.hasAttribute(\"tabindex\");\n }\n // https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n var childOfInteractive = getParents({\n context: img\n }).slice(1).some(function(_element) {\n var name = _element.nodeName.toLowerCase();\n return name === \"button\" || name === \"a\";\n });\n if (childOfInteractive) {\n return false;\n }\n return true;\n}\nvar supports$3 = void 0;\n// https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\nvar disabledElementsPattern = void 0;\nvar disabledElements = {\n input: true,\n select: true,\n textarea: true,\n button: true,\n fieldset: true,\n form: true\n};\nfunction isNativeDisabledSupported(context) {\n if (!supports$3) {\n supports$3 = _supports();\n if (supports$3.focusFieldsetDisabled) {\n delete disabledElements.fieldset;\n }\n if (supports$3.focusFormDisabled) {\n delete disabledElements.form;\n }\n disabledElementsPattern = new RegExp(\"^(\" + Object.keys(disabledElements).join(\"|\") + \")$\");\n }\n var element = contextToElement({\n label: \"is/native-disabled-supported\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n return Boolean(disabledElementsPattern.test(nodeName));\n}\nvar supports$4 = void 0;\nfunction isDisabledFieldset(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"fieldset\" && element.disabled;\n}\nfunction isDisabledForm(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"form\" && element.disabled;\n}\nfunction isDisabled(context) {\n if (!supports$4) {\n supports$4 = _supports();\n }\n var element = contextToElement({\n label: \"is/disabled\",\n context: context\n });\n if (element.hasAttribute(\"data-ally-disabled\")) {\n // treat ally's element/disabled like the DOM native element.disabled\n return true;\n }\n if (!isNativeDisabledSupported(element)) {\n // non-form elements do not support the disabled attribute\n return false;\n }\n if (element.disabled) {\n // the element itself is disabled\n return true;\n }\n var parents = getParents({\n context: element\n });\n if (parents.some(isDisabledFieldset)) {\n // a parental <fieldset> is disabld and inherits the state onto this element\n return true;\n }\n if (!supports$4.focusFormDisabled && parents.some(isDisabledForm)) {\n // a parental <form> is disabld and inherits the state onto this element\n return true;\n }\n return false;\n}\nfunction isOnlyTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n onlyFocusableBrowsingContext: false,\n visible: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/only-tabbable\",\n resolveDocument: true,\n context: context\n });\n if (!except.visible && !isVisible(element)) {\n return false;\n }\n if (!except.onlyFocusableBrowsingContext && (platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE)) {\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (tabindexValue(frameElement) < 0) {\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var tabindex = tabindexValue(element);\n if (nodeName === \"label\" && platform.is.GECKO) {\n // Firefox cannot focus, but tab to: label[tabindex=0]\n return tabindex !== null && tabindex >= 0;\n }\n // SVG Elements were keyboard focusable but not script focusable before Firefox 51.\n // Firefox 51 added the focus management DOM API (.focus and .blur) to SVGElement,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=778654\n if (platform.is.GECKO && element.ownerSVGElement && !element.focus) {\n if (nodeName === \"a\" && element.hasAttribute(\"xlink:href\")) {\n // any focusable child of <svg> cannot be focused, but tabbed to\n if (platform.is.GECKO) {\n return true;\n }\n }\n }\n return false;\n}\n// bind exceptions to an iterator callback\nisOnlyTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isOnlyTabbable = function isOnlyTabbable(context) {\n return isOnlyTabbableRules({\n context: context,\n except: except\n });\n };\n isOnlyTabbable.rules = isOnlyTabbableRules;\n return isOnlyTabbable;\n};\n// provide isOnlyTabbable(context) as default iterator callback\nvar isOnlyTabbable = isOnlyTabbableRules.except({});\nvar supports$5 = void 0;\nfunction isOnlyFocusRelevant(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n var _tabindex = tabindexValue(element);\n if (element.shadowRoot && _tabindex === null) {\n // ShadowDOM host elements *may* receive focus\n // even though they are not considered focuable\n return true;\n }\n if (nodeName === \"label\") {\n // <label tabindex=\"0\"> is only tabbable in Firefox, not script-focusable\n // there's no way to make an element focusable other than by adding a tabindex,\n // and focus behavior of the label element seems hard-wired to ignore tabindex\n // in some browsers (like Gecko, Blink and WebKit)\n return !supports$5.focusLabelTabindex || _tabindex === null;\n }\n if (nodeName === \"legend\") {\n return _tabindex === null;\n }\n if (supports$5.focusSvgFocusableAttribute && (element.ownerSVGElement || nodeName === \"svg\")) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n var focusableAttribute = element.getAttribute(\"focusable\");\n return focusableAttribute && focusableAttribute === \"false\";\n }\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return _tabindex === null || !supports$5.focusImgUsemapTabindex;\n }\n if (nodeName === \"area\") {\n // all <area>s are considered relevant,\n // but only the valid <area>s are focusable\n return !isValidArea(element);\n }\n return false;\n}\nfunction isFocusableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n disabled: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$5) {\n supports$5 = _supports();\n }\n var _isOnlyTabbable = isOnlyTabbable.rules.except({\n onlyFocusableBrowsingContext: true,\n visible: except.visible\n });\n var element = contextToElement({\n label: \"is/focusable\",\n resolveDocument: true,\n context: context\n });\n var focusRelevant = isFocusRelevant.rules({\n context: element,\n except: except\n });\n if (!focusRelevant || isOnlyFocusRelevant(element)) {\n return false;\n }\n if (!except.disabled && isDisabled(element)) {\n return false;\n }\n if (!except.onlyTabbable && _isOnlyTabbable(element)) {\n // some elements may be keyboard focusable, but not script focusable\n return false;\n }\n // elements that are not rendered, cannot be focused\n if (!except.visible) {\n var visibilityOptions = {\n context: element,\n except: {}\n };\n if (supports$5.focusInHiddenIframe) {\n // WebKit and Blink can focus content in hidden <iframe> and <object>\n visibilityOptions.except.browsingContext = true;\n }\n if (supports$5.focusObjectSvgHidden) {\n // Blink allows focusing the object element, even if it has visibility: hidden;\n // @browser-issue Blink https://code.google.com/p/chromium/issues/detail?id=586191\n var _nodeName2 = element.nodeName.toLowerCase();\n if (_nodeName2 === \"object\") {\n visibilityOptions.except.cssVisibility = true;\n }\n }\n if (!isVisible.rules(visibilityOptions)) {\n return false;\n }\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n var _nodeName = frameElement.nodeName.toLowerCase();\n if (_nodeName === \"object\" && !supports$5.focusInZeroDimensionObject) {\n if (!frameElement.offsetWidth || !frameElement.offsetHeight) {\n // WebKit can not focus content in <object> if it doesn't have dimensions\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"svg\" && supports$5.focusSvgInIframe && !frameElement && element.getAttribute(\"tabindex\") === null) {\n return false;\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisFocusableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusable = function isFocusable(context) {\n return isFocusableRules({\n context: context,\n except: except\n });\n };\n isFocusable.rules = isFocusableRules;\n return isFocusable;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusable = isFocusableRules.except({});\nfunction createFilter(condition) {\n // see https://developer.mozilla.org/docs/Web/API/NodeFilter\n var filter = function filter(node) {\n if (node.shadowRoot) {\n // return ShadowRoot elements regardless of them being focusable,\n // so they can be walked recursively later\n return NodeFilter.FILTER_ACCEPT;\n }\n if (condition(node)) {\n // finds elements that could have been found by document.querySelectorAll()\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_SKIP;\n };\n // IE requires a function, Browsers require {acceptNode: function}\n // see http://www.bennadel.com/blog/2607-finding-html-comment-nodes-in-the-dom-using-treewalker.htm\n filter.acceptNode = filter;\n return filter;\n}\nvar PossiblyFocusableFilter = createFilter(isFocusRelevant);\nfunction queryFocusableStrict() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!context) {\n context = document.documentElement;\n }\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var _document = getDocument(context);\n // see https://developer.mozilla.org/docs/Web/API/Document/createTreeWalker\n var walker = _document.createTreeWalker(context, NodeFilter.SHOW_ELEMENT, strategy === \"all\" ? PossiblyFocusableFilter : createFilter(_isFocusable), false);\n var list = [];\n while(walker.nextNode()){\n if (walker.currentNode.shadowRoot) {\n if (_isFocusable(walker.currentNode)) {\n list.push(walker.currentNode);\n }\n list = list.concat(queryFocusableStrict({\n context: walker.currentNode.shadowRoot,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }));\n } else {\n list.push(walker.currentNode);\n }\n }\n // add context if requested and focusable\n if (includeContext) {\n if (strategy === \"all\") {\n if (isFocusRelevant(context)) {\n list.unshift(context);\n }\n } else if (_isFocusable(context)) {\n list.unshift(context);\n }\n }\n return list;\n}\n// NOTE: this selector MUST *never* be used directly,\nvar supports$6 = void 0;\nvar selector$1 = void 0;\nfunction selector$2() {\n if (!supports$6) {\n supports$6 = _supports();\n }\n if (typeof selector$1 === \"string\") {\n return selector$1;\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n selector$1 = \"\" + // IE11 supports.can focus <table> and <td>\n (supports$6.focusTable ? \"table, td,\" : \"\") + // IE11 supports.can focus <fieldset>\n (supports$6.focusFieldset ? \"fieldset,\" : \"\") + // Namespace problems of [xlink:href] explained in https://stackoverflow.com/a/23047888/515124\n // svg a[*|href] does not match in IE9, but since we're filtering\n // through is/focusable we can include all <a> from SVG\n \"svg a,\" + // may behave as 'svg, svg *,' in chrome as *every* svg element with a focus event listener is focusable\n // navigational elements\n \"a[href],\" + // validity determined by is/valid-area.js\n \"area[href],\" + // validity determined by is/disabled.js\n \"input, select, textarea, button,\" + // browsing context containers\n \"iframe, object, embed,\" + // interactive content\n \"keygen,\" + (supports$6.focusAudioWithoutControls ? \"audio,\" : \"audio[controls],\") + (supports$6.focusVideoWithoutControls ? \"video,\" : \"video[controls],\") + (supports$6.focusSummary ? \"summary,\" : \"\") + // validity determined by is/valid-tabindex.js\n \"[tabindex],\" + // editing hosts\n \"[contenteditable]\";\n // where ShadowDOM is supported, we also want the shadowed focusable elements (via \">>>\" or \"/deep/\")\n selector$1 = selectInShadows(selector$1);\n return selector$1;\n}\nfunction queryFocusableQuick() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable;\n var _selector = selector$2();\n var elements = context.querySelectorAll(_selector);\n // the selector potentially matches more than really is focusable\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var result = [].filter.call(elements, _isFocusable);\n // add context if requested and focusable\n if (includeContext && _isFocusable(context)) {\n result.unshift(context);\n }\n return result;\n}\nfunction queryFocusable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, _ref$strategy = _ref.strategy, strategy = _ref$strategy === undefined ? \"quick\" : _ref$strategy;\n var element = contextToElement({\n label: \"query/focusable\",\n resolveDocument: true,\n defaultToDocument: true,\n context: context\n });\n var options = {\n context: element,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n };\n if (strategy === \"quick\") {\n return queryFocusableQuick(options);\n } else if (strategy === \"strict\" || strategy === \"all\") {\n return queryFocusableStrict(options);\n }\n throw new TypeError('query/focusable requires option.strategy to be one of [\"quick\", \"strict\", \"all\"]');\n}\nvar supports$7 = void 0;\n// Internet Explorer 11 considers fieldset, table, td focusable, but not tabbable\n// Internet Explorer 11 considers body to have [tabindex=0], but does not allow tabbing to it\nvar focusableElementsPattern = /^(fieldset|table|td|body)$/;\nfunction isTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$7) {\n supports$7 = _supports();\n }\n var element = contextToElement({\n label: \"is/tabbable\",\n resolveDocument: true,\n context: context\n });\n if (platform.is.BLINK && platform.is.ANDROID && platform.majorVersion > 42) {\n // External keyboard support worked fine in CHrome 42, but stopped working in Chrome 45.\n // The on-screen keyboard does not provide a way to focus the next input element (like iOS does).\n // That leaves us with no option to advance focus by keyboard, ergo nothing is tabbable (keyboard focusable).\n return false;\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only does not consider anything from another browsing context keyboard focusable\n return false;\n }\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n if (tabindexValue(frameElement) < 0) {\n return false;\n }\n if (!except.visible && (platform.is.BLINK || platform.is.WEBKIT) && !isVisible(frameElement)) {\n // Blink and WebKit consider elements in hidden browsing contexts focusable, but not tabbable\n return false;\n }\n // Webkit and Blink don't consider anything in <object> tabbable\n // Blink fixed that fixed in Chrome 54, Opera 41\n var frameNodeName = frameElement.nodeName.toLowerCase();\n if (frameNodeName === \"object\") {\n var isFixedBlink = platform.name === \"Chrome\" && platform.majorVersion >= 54 || platform.name === \"Opera\" && platform.majorVersion >= 41;\n if (platform.is.WEBKIT || platform.is.BLINK && !isFixedBlink) {\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var _tabindex = tabindexValue(element);\n var tabindex = _tabindex === null ? null : _tabindex >= 0;\n if (platform.is.EDGE && platform.majorVersion >= 14 && frameElement && element.ownerSVGElement && _tabindex < 0) {\n // Edge 14+ considers <a xlink:href=\"…\" tabindex=\"-1\"> keyboard focusable\n // if the element is in a nested browsing context\n return true;\n }\n var hasTabbableTabindexOrNone = tabindex !== false;\n var hasTabbableTabindex = _tabindex !== null && _tabindex >= 0;\n // NOTE: Firefox 31 considers [contenteditable] to have [tabindex=-1], but allows tabbing to it\n // fixed in Firefox 40 the latest - https://bugzilla.mozilla.org/show_bug.cgi?id=1185657\n if (element.hasAttribute(\"contenteditable\")) {\n // tabbing can still be disabled by explicitly providing [tabindex=\"-1\"]\n return hasTabbableTabindexOrNone;\n }\n if (focusableElementsPattern.test(nodeName) && tabindex !== true) {\n return false;\n }\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only considers a hand full of elements tabbable (keyboard focusable)\n // this holds true even with external keyboards\n var potentiallyTabbable = nodeName === \"input\" && element.type === \"text\" || element.type === \"password\" || nodeName === \"select\" || nodeName === \"textarea\" || element.hasAttribute(\"contenteditable\");\n if (!potentiallyTabbable) {\n var style = window.getComputedStyle(element, null);\n potentiallyTabbable = isUserModifyWritable(style);\n }\n if (!potentiallyTabbable) {\n return false;\n }\n }\n if (nodeName === \"use\" && _tabindex !== null) {\n if (platform.is.BLINK || platform.is.WEBKIT && platform.majorVersion === 9) {\n // In Chrome and Safari 9 the <use> element is keyboard focusable even for tabindex=\"-1\"\n return true;\n }\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n if (hasTabbableTabindexOrNone) {\n // in Trident and Gecko SVGElement does not handle the tabIndex property properly\n return true;\n }\n if (element.focus && !supports$7.focusSvgNegativeTabindexAttribute) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return true;\n }\n }\n if (nodeName === \"svg\" && supports$7.focusSvgInIframe && hasTabbableTabindexOrNone) {\n return true;\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n if (nodeName === \"svg\") {\n if (supports$7.focusSvg) {\n // older Internet Explorers consider <svg> keyboard focusable\n // unless they have focsable=\"false\", but then they wouldn't\n // be focusable and thus not even reach this filter\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\") || hasTabbableTabindex;\n }\n if (element.ownerSVGElement) {\n if (supports$7.focusSvgTabindexAttribute && hasTabbableTabindex) {\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\");\n }\n }\n if (element.tabIndex === undefined) {\n return Boolean(except.onlyTabbable);\n }\n if (nodeName === \"audio\") {\n if (!element.hasAttribute(\"controls\")) {\n // In Internet Explorer the <audio> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n } else if (platform.is.BLINK) {\n // In Chrome <audio controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"video\") {\n if (!element.hasAttribute(\"controls\")) {\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // In Internet Explorer and Edge the <video> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n }\n } else if (platform.is.BLINK || platform.is.GECKO) {\n // In Chrome and Firefox <video controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"object\") {\n if (platform.is.BLINK || platform.is.WEBKIT) {\n // In all Blink and WebKit based browsers <embed> and <object> are never keyboard focusable, even with tabindex=\"0\" set\n return false;\n }\n }\n if (nodeName === \"iframe\") {\n // In Internet Explorer all iframes are only focusable\n // In WebKit, Blink and Gecko iframes may be tabbable depending on content.\n // Since we can't reliably investigate iframe documents because of the\n // SameOriginPolicy, we're declaring everything only focusable.\n return false;\n }\n if (!except.scrollable && platform.is.GECKO) {\n // Firefox considers scrollable containers keyboard focusable,\n // even though their tabIndex property is -1\n var _style = window.getComputedStyle(element, null);\n if (hasCssOverflowScroll(_style)) {\n return hasTabbableTabindexOrNone;\n }\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // IE and Edge degrade <area> to script focusable, if the image\n // using the <map> has been given tabindex=\"-1\"\n if (nodeName === \"area\") {\n var img = getImageOfArea(element);\n if (img && tabindexValue(img) < 0) {\n return false;\n }\n }\n var _style2 = window.getComputedStyle(element, null);\n if (isUserModifyWritable(_style2)) {\n // prevent being swallowed by the overzealous isScrollableContainer() below\n return element.tabIndex >= 0;\n }\n if (!except.flexbox && hasCssDisplayFlex(_style2)) {\n if (_tabindex !== null) {\n return hasTabbableTabindex;\n }\n return isFocusRelevantWithoutFlexbox(element) && isTabbableWithoutFlexbox(element);\n }\n // IE considers scrollable containers script focusable only,\n // even though their tabIndex property is 0\n if (isScrollableContainer(element, nodeName)) {\n return false;\n }\n var parent = element.parentElement;\n if (parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n // IE considers scrollable bodies script focusable only,\n if (isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n return false;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11,\n // even though their tabIndex property suggests otherwise\n if (hasCssDisplayFlex(parentStyle)) {\n // value of tabindex takes precedence\n return hasTabbableTabindex;\n }\n }\n }\n // https://www.w3.org/WAI/PF/aria-practices/#focus_tabindex\n return element.tabIndex >= 0;\n}\n// bind exceptions to an iterator callback\nisTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isTabbable = function isTabbable(context) {\n return isTabbableRules({\n context: context,\n except: except\n });\n };\n isTabbable.rules = isTabbableRules;\n return isTabbable;\n};\nvar isFocusRelevantWithoutFlexbox = isFocusRelevant.rules.except({\n flexbox: true\n});\nvar isTabbableWithoutFlexbox = isTabbableRules.except({\n flexbox: true\n});\n// provide isTabbable(context) as default iterator callback\nvar isTabbable = isTabbableRules.except({});\nfunction queryTabbable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n var _isTabbable = isTabbable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n return queryFocusable({\n context: context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }).filter(_isTabbable);\n}\n// sorts a list of elements according to their order in the DOM\nfunction compareDomPosition(a, b) {\n return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n}\nfunction sortDomOrder(elements) {\n return elements.sort(compareDomPosition);\n}\nfunction getFirstSuccessorOffset(list, target) {\n // find the first element that comes AFTER the target element\n return findIndex(list, function(element) {\n return target.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_FOLLOWING;\n });\n}\nfunction findInsertionOffsets(list, elements, resolveElement) {\n // instead of mutating the elements list directly, remember position and map\n // to inject later, when we can do this more efficiently\n var insertions = [];\n elements.forEach(function(element) {\n var replace = true;\n var offset = list.indexOf(element);\n if (offset === -1) {\n // element is not in target list\n offset = getFirstSuccessorOffset(list, element);\n replace = false;\n }\n if (offset === -1) {\n // there is no successor in the tabsequence,\n // meaning the image must be the last element\n offset = list.length;\n }\n // allow the consumer to replace the injected element\n var injections = nodeArray(resolveElement ? resolveElement(element) : element);\n if (!injections.length) {\n // we can't inject zero elements\n return;\n }\n insertions.push({\n offset: offset,\n replace: replace,\n elements: injections\n });\n });\n return insertions;\n}\nfunction insertElementsAtOffsets(list, insertions) {\n // remember the number of elements we have already injected\n // so we account for the caused index offset\n var inserted = 0;\n // make sure that we insert the elements in sequence,\n // otherwise the offset compensation won't work\n insertions.sort(function(a, b) {\n return a.offset - b.offset;\n });\n insertions.forEach(function(insertion) {\n // array.splice has an annoying function signature :(\n var remove = insertion.replace ? 1 : 0;\n var args = [\n insertion.offset + inserted,\n remove\n ].concat(insertion.elements);\n list.splice.apply(list, args);\n inserted += insertion.elements.length - remove;\n });\n}\nfunction mergeInDomOrder() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, list = _ref.list, elements = _ref.elements, resolveElement = _ref.resolveElement;\n // operate on a copy so we don't mutate the original array\n var _list = list.slice(0);\n // make sure the elements we're injecting are provided in DOM order\n var _elements = nodeArray(elements).slice(0);\n sortDomOrder(_elements);\n // find the offsets within the target array (list) at which to inject\n // each individual element (from elements)\n var insertions = findInsertionOffsets(_list, _elements, resolveElement);\n // actually inject the elements into the target array at the identified positions\n insertElementsAtOffsets(_list, insertions);\n return _list;\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 return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Maps = function() {\n function Maps(context) {\n _classCallCheck(this, Maps);\n this._document = getDocument(context);\n this.maps = {};\n }\n _createClass(Maps, [\n {\n key: \"getAreasFor\",\n value: function getAreasFor(name) {\n if (!this.maps[name]) {\n // the map is not defined within the context, so we\n // have to go find it elsewhere in the document\n this.addMapByName(name);\n }\n return this.maps[name];\n }\n },\n {\n key: \"addMapByName\",\n value: function addMapByName(name) {\n var map = getMapByName(name, this._document);\n if (!map) {\n // if there is no map, the img[usemap] wasn't doing anything anyway\n return;\n }\n this.maps[map.name] = queryTabbable({\n context: map\n });\n }\n },\n {\n key: \"extractAreasFromList\",\n value: function extractAreasFromList(elements) {\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n return elements.filter(function(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return true;\n }\n var map = element.parentNode;\n if (!this.maps[map.name]) {\n this.maps[map.name] = [];\n }\n this.maps[map.name].push(element);\n return false;\n }, this);\n }\n }\n ]);\n return Maps;\n}();\nfunction sortArea(elements, context) {\n // images - unless they are focusable themselves, likely not\n // part of the elements list, so we'll have to find them and\n // sort them into the elements list manually\n var usemaps = context.querySelectorAll(\"img[usemap]\");\n var maps = new Maps(context);\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n var _elements = maps.extractAreasFromList(elements);\n if (!usemaps.length) {\n // the context does not contain any <area>s so no need\n // to replace anything, just remove any maps\n return _elements;\n }\n return mergeInDomOrder({\n list: _elements,\n elements: usemaps,\n resolveElement: function resolveElement(image) {\n var name = image.getAttribute(\"usemap\").slice(1);\n return maps.getAreasFor(name);\n }\n });\n}\nvar _createClass$1 = 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 return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Shadows = function() {\n function Shadows(context, sortElements) {\n _classCallCheck$1(this, Shadows);\n // document context we're working with\n this.context = context;\n // callback that sorts an array of elements\n this.sortElements = sortElements;\n // reference to create unique IDs for each ShadowHost\n this.hostCounter = 1;\n // reference map for child-ShadowHosts of a ShadowHost\n this.inHost = {};\n // reference map for child-ShadowHost of the document\n this.inDocument = [];\n // reference map for ShadowHosts\n this.hosts = {};\n // reference map for tabbable elements of a ShadowHost\n this.elements = {};\n }\n // remember which hosts we have to sort within later\n _createClass$1(Shadows, [\n {\n key: \"_registerHost\",\n value: function _registerHost(host) {\n if (host._sortingId) {\n return;\n }\n // make the ShadowHost identifiable (see cleanup() for undo)\n host._sortingId = \"shadow-\" + this.hostCounter++;\n this.hosts[host._sortingId] = host;\n // hosts may contain other hosts\n var parentHost = getShadowHost({\n context: host\n });\n if (parentHost) {\n this._registerHost(parentHost);\n this._registerHostParent(host, parentHost);\n } else {\n this.inDocument.push(host);\n }\n }\n },\n {\n key: \"_registerHostParent\",\n value: function _registerHostParent(host, parent) {\n if (!this.inHost[parent._sortingId]) {\n this.inHost[parent._sortingId] = [];\n }\n this.inHost[parent._sortingId].push(host);\n }\n },\n {\n key: \"_registerElement\",\n value: function _registerElement(element, host) {\n if (!this.elements[host._sortingId]) {\n this.elements[host._sortingId] = [];\n }\n this.elements[host._sortingId].push(element);\n }\n },\n {\n key: \"extractElements\",\n value: function extractElements(elements) {\n return elements.filter(function(element) {\n var host = getShadowHost({\n context: element\n });\n if (!host) {\n return true;\n }\n this._registerHost(host);\n this._registerElement(element, host);\n return false;\n }, this);\n }\n },\n {\n key: \"sort\",\n value: function sort(elements) {\n var _elements = this._injectHosts(elements);\n _elements = this._replaceHosts(_elements);\n this._cleanup();\n return _elements;\n }\n },\n {\n key: \"_injectHosts\",\n value: function _injectHosts(elements) {\n Object.keys(this.hosts).forEach(function(_sortingId) {\n var _list = this.elements[_sortingId];\n var _elements = this.inHost[_sortingId];\n var _context = this.hosts[_sortingId].shadowRoot;\n this.elements[_sortingId] = this._merge(_list, _elements, _context);\n }, this);\n return this._merge(elements, this.inDocument, this.context);\n }\n },\n {\n key: \"_merge\",\n value: function _merge(list, elements, context) {\n var merged = mergeInDomOrder({\n list: list,\n elements: elements\n });\n return this.sortElements(merged, context);\n }\n },\n {\n key: \"_replaceHosts\",\n value: function _replaceHosts(elements) {\n return mergeInDomOrder({\n list: elements,\n elements: this.inDocument,\n resolveElement: this._resolveHostElement.bind(this)\n });\n }\n },\n {\n key: \"_resolveHostElement\",\n value: function _resolveHostElement(host) {\n var merged = mergeInDomOrder({\n list: this.elements[host._sortingId],\n elements: this.inHost[host._sortingId],\n resolveElement: this._resolveHostElement.bind(this)\n });\n var _tabindex = tabindexValue(host);\n if (_tabindex !== null && _tabindex > -1) {\n return [\n host\n ].concat(merged);\n }\n return merged;\n }\n },\n {\n key: \"_cleanup\",\n value: function _cleanup() {\n // remove those identifers we put on the ShadowHost to avoid using Map()\n Object.keys(this.hosts).forEach(function(key) {\n delete this.hosts[key]._sortingId;\n }, this);\n }\n }\n ]);\n return Shadows;\n}();\nfunction sortShadowed(elements, context, sortElements) {\n var shadows = new Shadows(context, sortElements);\n var _elements = shadows.extractElements(elements);\n if (_elements.length === elements.length) {\n // no shadowed content found, no need to continue\n return sortElements(elements);\n }\n return shadows.sort(_elements);\n}\nfunction sortTabindex(elements) {\n // https://developer.mozilla.org/docs/Web/API/HTMLElement.tabIndex\n // elements with tabIndex \"0\" (including tabbableElements without tabIndex) should be navigated in the order they appear.\n // elements with a positive tabIndex:\n // Elements that have identical tabIndexes should be navigated in the order they appear.\n // Navigation proceeds from the lowest tabIndex to the highest tabIndex.\n // NOTE: sort implementation may be unstable and thus mess up DOM order,\n // that's why we build a map that's being sorted instead. If we were able to rely\n // on a stable sorting algorithm, sortTabindex() could be as simple as\n // elements.sort(function(a, b) { return a.tabIndex - b.tabIndex; });\n // at this time Chrome does not use a stable sorting algorithm\n // see http://blog.rodneyrehm.de/archives/14-Sorting-Were-Doing-It-Wrong.html#stability\n // NOTE: compareDocumentPosition seemed like more overhead than just sorting this with buckets\n // https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n var map = {};\n var indexes = [];\n var normal = elements.filter(function(element) {\n // in Trident and Gecko SVGElement does not know about the tabIndex property\n var tabIndex = element.tabIndex;\n if (tabIndex === undefined) {\n tabIndex = tabindexValue(element);\n }\n // extract elements that don't need sorting\n if (tabIndex <= 0 || tabIndex === null || tabIndex === undefined) {\n return true;\n }\n if (!map[tabIndex]) {\n // create sortable bucket for dom-order-preservation of elements with the same tabIndex\n map[tabIndex] = [];\n // maintain a list of unique tabIndexes\n indexes.push(tabIndex);\n }\n // sort element into the proper bucket\n map[tabIndex].push(element);\n // element moved to sorting map, so not \"normal\" anymore\n return false;\n });\n // sort the tabindex ascending,\n // then resolve them to their appropriate buckets,\n // then flatten the array of arrays to an array\n var _elements = indexes.sort().map(function(tabIndex) {\n return map[tabIndex];\n }).reduceRight(function(previous, current) {\n return current.concat(previous);\n }, normal);\n return _elements;\n}\nvar supports$8 = void 0;\nfunction moveContextToBeginning(elements, context) {\n var pos = elements.indexOf(context);\n if (pos > 0) {\n var tmp = elements.splice(pos, 1);\n return tmp.concat(elements);\n }\n return elements;\n}\nfunction sortElements(elements, _context) {\n if (supports$8.tabsequenceAreaAtImgPosition) {\n // Some browsers sort <area> in DOM order, some place the <area>s\n // where the <img> referecing them would've been in DOM order.\n // https://github.com/medialize/ally.js/issues/5\n elements = sortArea(elements, _context);\n }\n elements = sortTabindex(elements);\n return elements;\n}\nfunction queryTabsequence() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!supports$8) {\n supports$8 = _supports();\n }\n var _context = nodeArray(context)[0] || document.documentElement;\n var elements = queryTabbable({\n context: _context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n });\n if (document.body.createShadowRoot && platform.is.BLINK) {\n // sort tabindex localized to shadow dom\n // see https://github.com/medialize/ally.js/issues/6\n elements = sortShadowed(elements, _context, sortElements);\n } else {\n elements = sortElements(elements, _context);\n }\n if (includeContext) {\n // if we include the context itself, it has to be the first\n // element of the sequence\n elements = moveContextToBeginning(elements, _context);\n }\n return elements;\n}\n// codes mostly cloned from https://github.com/keithamus/jwerty/blob/master/jwerty.js\n// deliberately not exposing characters like <,.-#* because they vary *wildly*\n// across keyboard layouts and may cause various problems\n// (e.g. \"*\" is \"Shift +\" on a German Mac keyboard)\n// (e.g. \"@\" is \"Alt L\" on a German Mac keyboard)\nvar keycode = {\n // Element Focus\n tab: 9,\n // Navigation\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n pageUp: 33,\n \"page-up\": 33,\n pageDown: 34,\n \"page-down\": 34,\n end: 35,\n home: 36,\n // Action\n enter: 13,\n escape: 27,\n space: 32,\n // Modifier\n shift: 16,\n capsLock: 20,\n \"caps-lock\": 20,\n ctrl: 17,\n alt: 18,\n meta: 91,\n // in firefox: 224\n // on mac (chrome): meta-left=91, meta-right=93\n // on win (IE11): meta-left=91, meta-right=92\n pause: 19,\n // Content Manipulation\n insert: 45,\n delete: 46,\n backspace: 8,\n // the same logical key may be identified through different keyCodes\n _alias: {\n 91: [\n 92,\n 93,\n 224\n ]\n }\n};\n// Function keys (112 - 137)\n// NOTE: not every keyboard knows F13+\nfor(var n = 1; n < 26; n++){\n keycode[\"f\" + n] = n + 111;\n}\n// Number keys (48-57, numpad 96-105)\n// NOTE: not every keyboard knows num-0+\nfor(var _n = 0; _n < 10; _n++){\n var code = _n + 48;\n var numCode = _n + 96;\n keycode[_n] = code;\n keycode[\"num-\" + _n] = numCode;\n keycode._alias[code] = [\n numCode\n ];\n}\n// Latin characters (65 - 90)\nfor(var _n2 = 0; _n2 < 26; _n2++){\n var _code = _n2 + 65;\n var name$1 = String.fromCharCode(_code).toLowerCase();\n keycode[name$1] = _code;\n}\nvar modifier = {\n alt: \"altKey\",\n ctrl: \"ctrlKey\",\n meta: \"metaKey\",\n shift: \"shiftKey\"\n};\nvar modifierSequence = Object.keys(modifier).map(function(name) {\n return modifier[name];\n});\nfunction createExpectedModifiers(ignoreModifiers) {\n var value = ignoreModifiers ? null : false;\n return {\n altKey: value,\n ctrlKey: value,\n metaKey: value,\n shiftKey: value\n };\n}\nfunction resolveModifiers(modifiers) {\n var ignoreModifiers = modifiers.indexOf(\"*\") !== -1;\n var expected = createExpectedModifiers(ignoreModifiers);\n modifiers.forEach(function(token) {\n if (token === \"*\") {\n // we've already covered the all-in operator\n return;\n }\n // we want the modifier pressed\n var value = true;\n var operator = token.slice(0, 1);\n if (operator === \"?\") {\n // we don't care if the modifier is pressed\n value = null;\n } else if (operator === \"!\") {\n // we do not want the modifier pressed\n value = false;\n }\n if (value !== true) {\n // compensate for the modifier's operator\n token = token.slice(1);\n }\n var propertyName = modifier[token];\n if (!propertyName) {\n throw new TypeError('Unknown modifier \"' + token + '\"');\n }\n expected[propertyName] = value;\n });\n return expected;\n}\nfunction resolveKey(key) {\n var code = keycode[key] || parseInt(key, 10);\n if (!code || typeof code !== \"number\" || isNaN(code)) {\n throw new TypeError('Unknown key \"' + key + '\"');\n }\n return [\n code\n ].concat(keycode._alias[code] || []);\n}\nfunction matchModifiers(expected, event) {\n // returns true on match\n return !modifierSequence.some(function(prop) {\n // returns true on mismatch\n return typeof expected[prop] === \"boolean\" && Boolean(event[prop]) !== expected[prop];\n });\n}\nfunction keyBinding(text) {\n return text.split(/\\s+/).map(function(_text) {\n var tokens = _text.split(\"+\");\n var _modifiers = resolveModifiers(tokens.slice(0, -1));\n var _keyCodes = resolveKey(tokens.slice(-1));\n return {\n keyCodes: _keyCodes,\n modifiers: _modifiers,\n matchModifiers: matchModifiers.bind(null, _modifiers)\n };\n });\n}\n// Node.compareDocumentPosition is available since IE9\n// see https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n// callback returns true when element is contained by parent or is the parent suited for use with Array.some()\n/*\n USAGE:\n var isChildOf = getParentComparator({parent: someNode});\n listOfElements.some(isChildOf)\n*/ function getParentComparator() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, parent = _ref.parent, element = _ref.element, includeSelf = _ref.includeSelf;\n if (parent) {\n return function isChildOf(node) {\n return Boolean(includeSelf && node === parent || parent.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n } else if (element) {\n return function isParentOf(node) {\n return Boolean(includeSelf && element === node || node.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n }\n throw new TypeError(\"util/compare-position#getParentComparator required either options.parent or options.element\");\n}\n// Bug 286933 - Key events in the autocomplete popup should be hidden from page scripts\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=286933\nfunction whenKey() {\n var map = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var bindings = {};\n var context = nodeArray(map.context)[0] || document.documentElement;\n delete map.context;\n var filter = nodeArray(map.filter);\n delete map.filter;\n var mapKeys = Object.keys(map);\n if (!mapKeys.length) {\n throw new TypeError(\"when/key requires at least one option key\");\n }\n var registerBinding = function registerBinding(event) {\n event.keyCodes.forEach(function(code) {\n if (!bindings[code]) {\n bindings[code] = [];\n }\n bindings[code].push(event);\n });\n };\n mapKeys.forEach(function(text) {\n if (typeof map[text] !== \"function\") {\n throw new TypeError('when/key requires option[\"' + text + '\"] to be a function');\n }\n var addCallback = function addCallback(event) {\n event.callback = map[text];\n return event;\n };\n keyBinding(text).map(addCallback).forEach(registerBinding);\n });\n var handleKeyDown = function handleKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (filter.length) {\n // ignore elements within the exempted sub-trees\n var isParentOfElement = getParentComparator({\n element: event.target,\n includeSelf: true\n });\n if (filter.some(isParentOfElement)) {\n return;\n }\n }\n var key = event.keyCode || event.which;\n if (!bindings[key]) {\n return;\n }\n bindings[key].forEach(function(_event) {\n if (!_event.matchModifiers(event)) {\n return;\n }\n _event.callback.call(context, event, disengage);\n });\n };\n context.addEventListener(\"keydown\", handleKeyDown, false);\n var disengage = function disengage() {\n context.removeEventListener(\"keydown\", handleKeyDown, false);\n };\n return {\n disengage: disengage\n };\n}\nfunction _default(param) {\n let { context } = param === void 0 ? {} : param;\n if (!context) {\n context = document.documentElement;\n }\n // Make sure the supports tests are run before intercepting the Tab key,\n // or IE10 and IE11 will fail to process the first Tab key event. Not\n // limiting this warm-up to IE because it may be a problem elsewhere, too.\n queryTabsequence();\n return whenKey({\n // Safari on OSX may require ALT+TAB to reach links,\n // see https://github.com/medialize/ally.js/issues/146\n \"?alt+?shift+tab\": function altShiftTab(event) {\n // we're completely taking over the Tab key handling\n event.preventDefault();\n var sequence = queryTabsequence({\n context: context\n });\n var backward = event.shiftKey;\n var first = sequence[0];\n var last = sequence[sequence.length - 1];\n // wrap around first to last, last to first\n var source = backward ? first : last;\n var target = backward ? last : first;\n if (isActiveElement(source)) {\n target.focus();\n return;\n }\n // find current position in tabsequence\n var currentIndex = void 0;\n var found = sequence.some(function(element, index) {\n if (!isActiveElement(element)) {\n return false;\n }\n currentIndex = index;\n return true;\n });\n if (!found) {\n // redirect to first as we're not in our tabsequence\n first.focus();\n return;\n }\n // shift focus to previous/next element in the sequence\n var offset = backward ? -1 : 1;\n sequence[currentIndex + offset].focus();\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=maintain--tab-focus.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L21haW50YWluLS10YWItZm9jdXMuanMiLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLEdBQ2xCLGNBQWM7QUFDZCxtREFBbUQ7QUFDbkQsZUFBZTtBQUNmLGlDQUFpQztBQUNqQyxFQUFFO0FBQ0YseUNBQXlDOzs7OzsyQ0FtN0d6Qzs7O2VBQUFBOzs7OytFQWo3R3NCO2dGQUNBO0FBRXRCLHlGQUF5RjtBQUN6Riw2RUFBNkU7QUFDN0UsU0FBU0MsVUFBVUMsS0FBSztJQUN0QixJQUFJLENBQUNBLE9BQU87UUFDVixPQUFPLEVBQUU7SUFDWDtJQUVBLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0YsUUFBUTtRQUN4QixPQUFPQTtJQUNUO0lBRUEsK0NBQStDO0lBQy9DLElBQUlBLE1BQU1HLFFBQVEsS0FBS0MsV0FBVztRQUNoQyxPQUFPO1lBQUNKO1NBQU07SUFDaEI7SUFFQSxJQUFJLE9BQU9BLFVBQVUsVUFBVTtRQUM3QkEsUUFBUUssU0FBU0MsZ0JBQWdCLENBQUNOO0lBQ3BDO0lBRUEsSUFBSUEsTUFBTU8sTUFBTSxLQUFLSCxXQUFXO1FBQzlCLE9BQU8sRUFBRSxDQUFDSSxLQUFLLENBQUNDLElBQUksQ0FBQ1QsT0FBTztJQUM5QjtJQUVBLE1BQU0sSUFBSVUsVUFBVSxzQkFBc0JDLE9BQU9YO0FBQ25EO0FBRUEsU0FBU1ksaUJBQWlCQyxJQUFJO0lBQzVCLElBQUlDLFVBQVVELEtBQUtDLE9BQU8sRUFDeEJDLGFBQWFGLEtBQUtHLEtBQUssRUFDdkJBLFFBQVFELGVBQWVYLFlBQVksdUJBQXVCVyxZQUMxREUsa0JBQWtCSixLQUFLSSxlQUFlLEVBQ3RDQyxvQkFBb0JMLEtBQUtLLGlCQUFpQjtJQUU1QyxJQUFJQyxVQUFVcEIsVUFBVWUsUUFBUSxDQUFDLEVBQUU7SUFF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WUFFQSx1Q0FBdUM7WUFDdkMsSUFBSW1jLGVBQWUsS0FBSztZQUN4QixJQUFJQyxRQUFRTixTQUFTbGYsSUFBSSxDQUFDLFNBQVV6QixPQUFPLEVBQUVraEIsS0FBSztnQkFDaEQsSUFBSSxDQUFDcGdCLGdCQUFnQmQsVUFBVTtvQkFDN0IsT0FBTztnQkFDVDtnQkFFQWdoQixlQUFlRTtnQkFDZixPQUFPO1lBQ1Q7WUFFQSxJQUFJLENBQUNELE9BQU87Z0JBQ1Ysb0RBQW9EO2dCQUNwREosTUFBTWhjLEtBQUs7Z0JBQ1g7WUFDRjtZQUVBLHVEQUF1RDtZQUN2RCxJQUFJcU0sU0FBUzBQLFdBQVcsQ0FBQyxJQUFJO1lBQzdCRCxRQUFRLENBQUNLLGVBQWU5UCxPQUFPLENBQUNyTSxLQUFLO1FBQ3ZDO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9tYWludGFpbi0tdGFiLWZvY3VzLnRzPzI1ZjYiXSwibmFtZXMiOlsiX2RlZmF1bHQiLCJub2RlQXJyYXkiLCJpbnB1dCIsIkFycmF5IiwiaXNBcnJheSIsIm5vZGVUeXBlIiwidW5kZWZpbmVkIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwic2xpY2UiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiY29udGV4dFRvRWxlbWVudCIsIl9yZWYiLCJjb250ZXh0IiwiX3JlZiRsYWJlbCIsImxhYmVsIiwicmVzb2x2ZURvY3VtZW50IiwiZGVmYXVsdFRvRG9jdW1lbnQiLCJlbGVtZW50IiwiTm9kZSIsIkRPQ1VNRU5UX05PREUiLCJkb2N1bWVudEVsZW1lbnQiLCJFTEVNRU5UX05PREUiLCJET0NVTUVOVF9GUkFHTUVOVF9OT0RFIiwiZ2V0U2hhZG93SG9zdCIsImFyZ3VtZW50cyIsImNvbnRhaW5lciIsInBhcmVudE5vZGUiLCJob3N0IiwiZ2V0RG9jdW1lbnQiLCJub2RlIiwib3duZXJEb2N1bWVudCIsImlzQWN0aXZlRWxlbWVudCIsIl9kb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiLCJzaGFkb3dIb3N0Iiwic2hhZG93Um9vdCIsImdldFBhcmVudHMiLCJsaXN0IiwicHVzaCIsIm5hbWVzIiwibmFtZSIsImZpbmRNZXRob2ROYW1lIiwic29tZSIsIl9uYW1lIiwiZWxlbWVudE1hdGNoZXMiLCJzZWxlY3RvciIsInBsYXRmb3JtIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiX3BsYXRmb3JtIiwib3MiLCJmYW1pbHkiLCJBTkRST0lEIiwiV0lORE9XUyIsIk9TWCIsIklPUyIsIkJMSU5LIiwibGF5b3V0IiwiR0VDS08iLCJUUklERU5UIiwiRURHRSIsIldFQktJVCIsInZlcnNpb24iLCJwYXJzZUZsb2F0IiwibWFqb3JWZXJzaW9uIiwiTWF0aCIsImZsb29yIiwiaXMiLCJJRTkiLCJJRTEwIiwiSUUxMSIsImJlZm9yZSIsImRhdGEiLCJ3aW5kb3dTY3JvbGxUb3AiLCJ3aW5kb3ciLCJzY3JvbGxUb3AiLCJ3aW5kb3dTY3JvbGxMZWZ0Iiwic2Nyb2xsTGVmdCIsImJvZHlTY3JvbGxUb3AiLCJib2R5IiwiYm9keVNjcm9sbExlZnQiLCJpZnJhbWUiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiYXBwZW5kQ2hpbGQiLCJfd2luZG93IiwiY29udGVudFdpbmRvdyIsIm9wZW4iLCJjbG9zZSIsIndyYXBwZXIiLCJ0ZXN0Iiwib3B0aW9ucyIsImlubmVySFRNTCIsImZvY3VzIiwibXV0YXRlIiwidmFsaWRhdGUiLCJhZnRlciIsImJsdXIiLCJyZW1vdmVDaGlsZCIsImRldGVjdEZvY3VzIiwidGVzdHMiLCJyZXN1bHRzIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZlcnNpb24kMSIsInJlYWRMb2NhbFN0b3JhZ2UiLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiZSIsIndyaXRlTG9jYWxTdG9yYWdlIiwidmFsdWUiLCJoYXNGb2N1cyIsInJlbW92ZUl0ZW0iLCJzZXRJdGVtIiwidXNlckFnZW50IiwibmF2aWdhdG9yIiwiY2FjaGVLZXkiLCJjYWNoZSIsImNhY2hlJDEiLCJnZXQiLCJzZXQiLCJ2YWx1ZXMiLCJmb3JFYWNoIiwidGltZSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsImNzc1NoYWRvd1BpZXJjaW5nRGVlcENvbWJpbmF0b3IiLCJjb21iaW5hdG9yIiwicXVlcnlTZWxlY3RvciIsIm5vQXJyb3dBcnJvd0Fycm93Iiwibm9EZWVwIiwiZ2lmIiwiZm9jdXNBcmVhSW1nVGFiaW5kZXgiLCJmb2N1c0FyZWFUYWJpbmRleCIsImZvY3VzVGFyZ2V0IiwiZm9jdXNBcmVhV2l0aG91dEhyZWYiLCJmb2N1c0F1ZGlvV2l0aG91dENvbnRyb2xzIiwiaW52YWxpZEdpZiIsImZvY3VzQnJva2VuSW1hZ2VNYXAiLCJmb2N1c0NoaWxkcmVuT2ZGb2N1c2FibGVGbGV4Ym94IiwiZm9jdXNGaWVsZHNldERpc2FibGVkIiwiZm9jdXNGaWVsZHNldCIsImZvY3VzRmxleGJveENvbnRhaW5lciIsImZvY3VzRm9ybURpc2FibGVkIiwiZm9jdXNJbWdJc21hcCIsImhyZWYiLCJmb2N1c0ltZ1VzZW1hcFRhYmluZGV4IiwiZm9jdXNJbkhpZGRlbklmcmFtZSIsImlmcmFtZURvY3VtZW50Iiwic3R5bGUiLCJ2aXNpYmlsaXR5IiwicmVzdWx0IiwiZm9jdXNJblplcm9EaW1lbnNpb25PYmplY3QiLCJmb2N1c0ludmFsaWRUYWJpbmRleCIsImZvY3VzTGFiZWxUYWJpbmRleCIsInZhcmlhYmxlVG9QcmV2ZW50RGVhZENvZGVFbGltaW5hdGlvbiIsIm9mZnNldEhlaWdodCIsInN2ZyIsImZvY3VzT2JqZWN0U3ZnSGlkZGVuIiwiZm9jdXNPYmplY3RTdmciLCJyZXN1bHQkMSIsImZvY3VzT2JqZWN0U3dmIiwiZm9jdXNSZWRpcmVjdEltZ1VzZW1hcCIsInRhcmdldCIsImZvY3VzUmVkaXJlY3RMZWdlbmQiLCJmb2N1c2FibGUiLCJ0YWJiYWJsZSIsImZvY3VzU2Nyb2xsQm9keSIsImZvY3VzU2Nyb2xsQ29udGFpbmVyV2l0aG91dE92ZXJmbG93IiwiZm9jdXNTY3JvbGxDb250YWluZXIiLCJmb2N1c1N1bW1hcnkiLCJmaXJzdEVsZW1lbnRDaGlsZCIsIm1ha2VGb2N1c2FibGVGb3JlaWduT2JqZWN0IiwiZm9yZWlnbk9iamVjdCIsImNyZWF0ZUVsZW1lbnROUyIsIndpZHRoIiwiYmFzZVZhbCIsImhlaWdodCIsImxhc3RDaGlsZCIsInR5cGUiLCJmb2N1c1N2Z0ZvcmVpZ25PYmplY3RIYWNrIiwiaXNTdmdFbGVtZW50Iiwib3duZXJTVkdFbGVtZW50Iiwibm9kZU5hbWUiLCJ0b0xvd2VyQ2FzZSIsImRpc2FibGVkIiwiZ2VuZXJhdGUiLCJIVE1MRWxlbWVudCIsInByb3RvdHlwZSIsImZvY3VzU3ZnRm9jdXNhYmxlQXR0cmlidXRlIiwiZm9jdXNTdmdUYWJpbmRleEF0dHJpYnV0ZSIsImZvY3VzU3ZnTmVnYXRpdmVUYWJpbmRleEF0dHJpYnV0ZSIsImZvY3VzU3ZnVXNlVGFiaW5kZXgiLCJqb2luIiwiZm9jdXNTdmdGb3JlaWdub2JqZWN0VGFiaW5kZXgiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInJlc3VsdCQyIiwiQm9vbGVhbiIsIlNWR0VsZW1lbnQiLCJmb2N1c1N2Z0luSWZyYW1lIiwiZm9jdXNTdmciLCJmaXJzdENoaWxkIiwiZm9jdXNUYWJpbmRleFRyYWlsaW5nQ2hhcmFjdGVycyIsImZvY3VzVGFibGUiLCJmcmFnbWVudCIsImNyZWF0ZURvY3VtZW50RnJhZ21lbnQiLCJmb2N1c1ZpZGVvV2l0aG91dENvbnRyb2xzIiwicmVzdWx0JDMiLCJ0YWJzZXF1ZW5jZUFyZWFBdEltZ1Bvc2l0aW9uIiwidGVzdENhbGxiYWNrcyIsInRlc3REZXNjcmlwdGlvbnMiLCJleGVjdXRlVGVzdHMiLCJzdXBwb3J0c0NhY2hlIiwiX3N1cHBvcnRzIiwic3VwcG9ydHMiLCJ2YWxpZEludGVnZXJQYXR0ZXJuTm9UcmFpbGluZyIsInZhbGlkSW50ZWdlclBhdHRlcm5XaXRoVHJhaWxpbmciLCJpc1ZhbGlkVGFiaW5kZXgiLCJ2YWxpZEludGVnZXJQYXR0ZXJuIiwiaGFzVGFiaW5kZXgiLCJoYXNBdHRyaWJ1dGUiLCJoYXNUYWJJbmRleCIsInRhYmluZGV4IiwiZ2V0QXR0cmlidXRlIiwidGFiaW5kZXhWYWx1ZSIsImF0dHJpYnV0ZU5hbWUiLCJwYXJzZUludCIsImlzTmFOIiwiaXNVc2VyTW9kaWZ5V3JpdGFibGUiLCJ1c2VyTW9kaWZ5Iiwid2Via2l0VXNlck1vZGlmeSIsImluZGV4T2YiLCJoYXNDc3NPdmVyZmxvd1Njcm9sbCIsImdldFByb3BlcnR5VmFsdWUiLCJvdmVyZmxvdyIsImhhc0Nzc0Rpc3BsYXlGbGV4IiwiZGlzcGxheSIsImlzU2Nyb2xsYWJsZUNvbnRhaW5lciIsInBhcmVudE5vZGVOYW1lIiwicGFyZW50U3R5bGUiLCJzY3JvbGxIZWlnaHQiLCJvZmZzZXRXaWR0aCIsInNjcm9sbFdpZHRoIiwic3VwcG9ydHMkMSIsImlzRm9jdXNSZWxldmFudFJ1bGVzIiwiX3JlZiRleGNlcHQiLCJleGNlcHQiLCJmbGV4Ym94Iiwic2Nyb2xsYWJsZSIsInNoYWRvdyIsInN2Z1R5cGUiLCJ2YWxpZFRhYmluZGV4IiwiaXNTdmdDb250ZW50IiwiZm9jdXNhYmxlQXR0cmlidXRlIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImhhc0xpbmtQYXJlbnQiLCJwYXJlbnQiLCJwYXJlbnRFbGVtZW50IiwiaXNGb2N1c1JlbGV2YW50IiwicnVsZXMiLCJmaW5kSW5kZXgiLCJhcnJheSIsImNhbGxiYWNrIiwiaSIsImdldENvbnRlbnREb2N1bWVudCIsImNvbnRlbnREb2N1bWVudCIsImdldFNWR0RvY3VtZW50IiwiZ2V0V2luZG93IiwiZGVmYXVsdFZpZXciLCJzaGFkb3dQcmVmaXgiLCJzZWxlY3RJblNoYWRvd3MiLCJvcGVyYXRvciIsInJlcGxhY2UiLCJzcGxpdCIsImZpbmREb2N1bWVudEhvc3RFbGVtZW50IiwiX2ZyYW1lRWxlbWVudCIsInBvdGVudGlhbEhvc3RzIiwiZ2V0RnJhbWVFbGVtZW50IiwiZnJhbWVFbGVtZW50Iiwibm90UmVuZGVyZWRFbGVtZW50c1BhdHRlcm4iLCJjb21wdXRlZFN0eWxlIiwicHJvcGVydHkiLCJub3REaXNwbGF5ZWQiLCJfcGF0aCIsIm5vdFZpc2libGUiLCJoaWRkZW4iLCJ2aXNpYmxlIiwiY29sbGFwc2VkUGFyZW50Iiwib2Zmc2V0IiwiaXNWaXNpYmxlUnVsZXMiLCJub3RSZW5kZXJlZCIsImNzc0Rpc3BsYXkiLCJjc3NWaXNpYmlsaXR5IiwiZGV0YWlsc0VsZW1lbnQiLCJicm93c2luZ0NvbnRleHQiLCJpc0F1ZGlvV2l0aG91dENvbnRyb2xzIiwiX2lzVmlzaWJsZSIsImlzVmlzaWJsZSIsImdldE1hcEJ5TmFtZSIsImNzc0VzY2FwZSIsImdldEltYWdlT2ZBcmVhIiwic3VwcG9ydHMkMiIsImlzVmFsaWRBcmVhIiwiaW1nIiwiY29tcGxldGUiLCJuYXR1cmFsSGVpZ2h0IiwiY2hpbGRPZkludGVyYWN0aXZlIiwiX2VsZW1lbnQiLCJzdXBwb3J0cyQzIiwiZGlzYWJsZWRFbGVtZW50c1BhdHRlcm4iLCJkaXNhYmxlZEVsZW1lbnRzIiwic2VsZWN0IiwidGV4dGFyZWEiLCJidXR0b24iLCJmaWVsZHNldCIsImZvcm0iLCJpc05hdGl2ZURpc2FibGVkU3VwcG9ydGVkIiwiUmVnRXhwIiwic3VwcG9ydHMkNCIsImlzRGlzYWJsZWRGaWVsZHNldCIsImlzRGlzYWJsZWRGb3JtIiwiaXNEaXNhYmxlZCIsInBhcmVudHMiLCJpc09ubHlUYWJiYWJsZVJ1bGVzIiwib25seUZvY3VzYWJsZUJyb3dzaW5nQ29udGV4dCIsImlzT25seVRhYmJhYmxlIiwic3VwcG9ydHMkNSIsImlzT25seUZvY3VzUmVsZXZhbnQiLCJfdGFiaW5kZXgiLCJpc0ZvY3VzYWJsZVJ1bGVzIiwib25seVRhYmJhYmxlIiwiX2lzT25seVRhYmJhYmxlIiwiZm9jdXNSZWxldmFudCIsInZpc2liaWxpdHlPcHRpb25zIiwiX25vZGVOYW1lMiIsIl9ub2RlTmFtZSIsImlzRm9jdXNhYmxlIiwiY3JlYXRlRmlsdGVyIiwiY29uZGl0aW9uIiwiZmlsdGVyIiwiTm9kZUZpbHRlciIsIkZJTFRFUl9BQ0NFUFQiLCJGSUxURVJfU0tJUCIsImFjY2VwdE5vZGUiLCJQb3NzaWJseUZvY3VzYWJsZUZpbHRlciIsInF1ZXJ5Rm9jdXNhYmxlU3RyaWN0IiwiaW5jbHVkZUNvbnRleHQiLCJpbmNsdWRlT25seVRhYmJhYmxlIiwic3RyYXRlZ3kiLCJfaXNGb2N1c2FibGUiLCJ3YWxrZXIiLCJjcmVhdGVUcmVlV2Fsa2VyIiwiU0hPV19FTEVNRU5UIiwibmV4dE5vZGUiLCJjdXJyZW50Tm9kZSIsImNvbmNhdCIsInVuc2hpZnQiLCJzdXBwb3J0cyQ2Iiwic2VsZWN0b3IkMSIsInNlbGVjdG9yJDIiLCJxdWVyeUZvY3VzYWJsZVF1aWNrIiwiX3NlbGVjdG9yIiwiZWxlbWVudHMiLCJxdWVyeUZvY3VzYWJsZSIsIl9yZWYkc3RyYXRlZ3kiLCJzdXBwb3J0cyQ3IiwiZm9jdXNhYmxlRWxlbWVudHNQYXR0ZXJuIiwiaXNUYWJiYWJsZVJ1bGVzIiwiZnJhbWVOb2RlTmFtZSIsImlzRml4ZWRCbGluayIsImhhc1RhYmJhYmxlVGFiaW5kZXhPck5vbmUiLCJoYXNUYWJiYWJsZVRhYmluZGV4IiwicG90ZW50aWFsbHlUYWJiYWJsZSIsInRhYkluZGV4IiwiX3N0eWxlIiwiX3N0eWxlMiIsImlzRm9jdXNSZWxldmFudFdpdGhvdXRGbGV4Ym94IiwiaXNUYWJiYWJsZVdpdGhvdXRGbGV4Ym94IiwiaXNUYWJiYWJsZSIsInF1ZXJ5VGFiYmFibGUiLCJfaXNUYWJiYWJsZSIsImNvbXBhcmVEb21Qb3NpdGlvbiIsImEiLCJiIiwiY29tcGFyZURvY3VtZW50UG9zaXRpb24iLCJET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkciLCJzb3J0RG9tT3JkZXIiLCJzb3J0IiwiZ2V0Rmlyc3RTdWNjZXNzb3JPZmZzZXQiLCJmaW5kSW5zZXJ0aW9uT2Zmc2V0cyIsInJlc29sdmVFbGVtZW50IiwiaW5zZXJ0aW9ucyIsImluamVjdGlvbnMiLCJpbnNlcnRFbGVtZW50c0F0T2Zmc2V0cyIsImluc2VydGVkIiwiaW5zZXJ0aW9uIiwicmVtb3ZlIiwiYXJncyIsInNwbGljZSIsImFwcGx5IiwibWVyZ2VJbkRvbU9yZGVyIiwiX2xpc3QiLCJfZWxlbWVudHMiLCJfY3JlYXRlQ2xhc3MiLCJkZWZpbmVQcm9wZXJ0aWVzIiwicHJvcHMiLCJkZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiZGVmaW5lUHJvcGVydHkiLCJDb25zdHJ1Y3RvciIsInByb3RvUHJvcHMiLCJzdGF0aWNQcm9wcyIsIl9jbGFzc0NhbGxDaGVjayIsImluc3RhbmNlIiwiTWFwcyIsIm1hcHMiLCJnZXRBcmVhc0ZvciIsImFkZE1hcEJ5TmFtZSIsImV4dHJhY3RBcmVhc0Zyb21MaXN0Iiwic29ydEFyZWEiLCJ1c2VtYXBzIiwiaW1hZ2UiLCJfY3JlYXRlQ2xhc3MkMSIsIl9jbGFzc0NhbGxDaGVjayQxIiwiU2hhZG93cyIsInNvcnRFbGVtZW50cyIsImhvc3RDb3VudGVyIiwiaW5Ib3N0IiwiaW5Eb2N1bWVudCIsImhvc3RzIiwiX3JlZ2lzdGVySG9zdCIsIl9zb3J0aW5nSWQiLCJwYXJlbnRIb3N0IiwiX3JlZ2lzdGVySG9zdFBhcmVudCIsIl9yZWdpc3RlckVsZW1lbnQiLCJleHRyYWN0RWxlbWVudHMiLCJfaW5qZWN0SG9zdHMiLCJfcmVwbGFjZUhvc3RzIiwiX2NsZWFudXAiLCJfY29udGV4dCIsIl9tZXJnZSIsIm1lcmdlZCIsIl9yZXNvbHZlSG9zdEVsZW1lbnQiLCJiaW5kIiwic29ydFNoYWRvd2VkIiwic2hhZG93cyIsInNvcnRUYWJpbmRleCIsImluZGV4ZXMiLCJub3JtYWwiLCJyZWR1Y2VSaWdodCIsInByZXZpb3VzIiwiY3VycmVudCIsInN1cHBvcnRzJDgiLCJtb3ZlQ29udGV4dFRvQmVnaW5uaW5nIiwicG9zIiwidG1wIiwicXVlcnlUYWJzZXF1ZW5jZSIsImNyZWF0ZVNoYWRvd1Jvb3QiLCJrZXljb2RlIiwidGFiIiwibGVmdCIsInVwIiwicmlnaHQiLCJkb3duIiwicGFnZVVwIiwicGFnZURvd24iLCJlbmQiLCJob21lIiwiZW50ZXIiLCJlc2NhcGUiLCJzcGFjZSIsInNoaWZ0IiwiY2Fwc0xvY2siLCJjdHJsIiwiYWx0IiwibWV0YSIsInBhdXNlIiwiaW5zZXJ0IiwiZGVsZXRlIiwiYmFja3NwYWNlIiwiX2FsaWFzIiwibiIsIl9uIiwiY29kZSIsIm51bUNvZGUiLCJfbjIiLCJfY29kZSIsIm5hbWUkMSIsImZyb21DaGFyQ29kZSIsIm1vZGlmaWVyIiwibW9kaWZpZXJTZXF1ZW5jZSIsImNyZWF0ZUV4cGVjdGVkTW9kaWZpZXJzIiwiaWdub3JlTW9kaWZpZXJzIiwiYWx0S2V5IiwiY3RybEtleSIsIm1ldGFLZXkiLCJzaGlmdEtleSIsInJlc29sdmVNb2RpZmllcnMiLCJtb2RpZmllcnMiLCJleHBlY3RlZCIsInRva2VuIiwicHJvcGVydHlOYW1lIiwicmVzb2x2ZUtleSIsIm1hdGNoTW9kaWZpZXJzIiwiZXZlbnQiLCJwcm9wIiwia2V5QmluZGluZyIsInRleHQiLCJfdGV4dCIsInRva2VucyIsIl9tb2RpZmllcnMiLCJfa2V5Q29kZXMiLCJrZXlDb2RlcyIsImdldFBhcmVudENvbXBhcmF0b3IiLCJpbmNsdWRlU2VsZiIsImlzQ2hpbGRPZiIsIkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSIsImlzUGFyZW50T2YiLCJ3aGVuS2V5IiwiYmluZGluZ3MiLCJtYXBLZXlzIiwicmVnaXN0ZXJCaW5kaW5nIiwiYWRkQ2FsbGJhY2siLCJoYW5kbGVLZXlEb3duIiwiZGVmYXVsdFByZXZlbnRlZCIsImlzUGFyZW50T2ZFbGVtZW50Iiwia2V5Q29kZSIsIndoaWNoIiwiX2V2ZW50IiwiZGlzZW5nYWdlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJwYXJhbSIsImFsdFNoaWZ0VGFiIiwicHJldmVudERlZmF1bHQiLCJzZXF1ZW5jZSIsImJhY2t3YXJkIiwiZmlyc3QiLCJsYXN0Iiwic291cmNlIiwiY3VycmVudEluZGV4IiwiZm91bmQiLCJpbmRleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js ***! - \**********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-overlay] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n overflow: auto;\\n z-index: 9000;\\n\\n display: flex;\\n align-content: center;\\n align-items: center;\\n flex-direction: column;\\n padding: 10vh 15px 0;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n padding: 15px 15px 0;\\n }\\n }\\n\\n [data-nextjs-dialog-backdrop] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n background-color: var(--color-backdrop);\\n pointer-events: all;\\n z-index: -1;\\n }\\n\\n [data-nextjs-dialog-backdrop-fixed] {\\n cursor: not-allowed;\\n -webkit-backdrop-filter: blur(8px);\\n backdrop-filter: blur(8px);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTJDU0E7OztlQUFBQTs7OzswQ0EzQ21COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvc3R5bGVzLnRzeD8zNGQ0Il0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ShadowPortal\", ({\n enumerable: true,\n get: function() {\n return ShadowPortal;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\nfunction ShadowPortal(param) {\n _s();\n let { children } = param;\n let portalNode = _react.useRef(null);\n let shadowNode = _react.useRef(null);\n let [, forceUpdate] = _react.useState();\n _react.useLayoutEffect(()=>{\n const ownerDocument = document;\n portalNode.current = ownerDocument.createElement(\"nextjs-portal\");\n shadowNode.current = portalNode.current.attachShadow({\n mode: \"open\"\n });\n ownerDocument.body.appendChild(portalNode.current);\n forceUpdate({});\n return ()=>{\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current);\n }\n };\n }, []);\n return shadowNode.current ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, shadowNode.current) : null;\n}\n_s(ShadowPortal, \"P7YL0rn/sjH62F7+OsEXN5GMw3U=\");\n_c = ShadowPortal;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ShadowPortal.js.map\nvar _c;\n$RefreshReg$(_c, \"ShadowPortal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9TaGFkb3dQb3J0YWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O2dEQUdnQkE7OztlQUFBQTs7Ozs2RUFITztzQ0FDTTtBQUV0QixTQUFTQSxhQUFhQyxLQUEyQzs7SUFBM0MsTUFBRUMsUUFBUSxFQUFpQyxHQUEzQ0Q7SUFDM0IsSUFBSUUsYUFBYUMsT0FBTUMsTUFBTSxDQUFxQjtJQUNsRCxJQUFJQyxhQUFhRixPQUFNQyxNQUFNLENBQW9CO0lBQ2pELElBQUksR0FBR0UsWUFBWSxHQUFHSCxPQUFNSSxRQUFRO0lBRXBDSixPQUFNSyxlQUFlLENBQUM7UUFDcEIsTUFBTUMsZ0JBQWdCQztRQUN0QlIsV0FBV1MsT0FBTyxHQUFHRixjQUFjRyxhQUFhLENBQUM7UUFDakRQLFdBQVdNLE9BQU8sR0FBR1QsV0FBV1MsT0FBTyxDQUFDRSxZQUFZLENBQUM7WUFBRUMsTUFBTTtRQUFPO1FBQ3BFTCxjQUFjTSxJQUFJLENBQUNDLFdBQVcsQ0FBQ2QsV0FBV1MsT0FBTztRQUNqREwsWUFBWSxDQUFDO1FBQ2IsT0FBTztZQUNMLElBQUlKLFdBQVdTLE9BQU8sSUFBSVQsV0FBV1MsT0FBTyxDQUFDRixhQUFhLEVBQUU7Z0JBQzFEUCxXQUFXUyxPQUFPLENBQUNGLGFBQWEsQ0FBQ00sSUFBSSxDQUFDRSxXQUFXLENBQUNmLFdBQVdTLE9BQU87WUFDdEU7UUFDRjtJQUNGLEdBQUcsRUFBRTtJQUVMLE9BQU9OLFdBQVdNLE9BQU8sR0FDckJPLFdBRHFCLEdBQ3JCQSxDQUFBQSxHQUFBQSxVQUFBQSxZQUFZLEVBQUNqQixVQUFVSSxXQUFXTSxPQUFPLElBQ3pDO0FBQ047R0FyQmdCWjtLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvU2hhZG93UG9ydGFsLnRzeD9iNDVlIl0sIm5hbWVzIjpbIlNoYWRvd1BvcnRhbCIsInBhcmFtIiwiY2hpbGRyZW4iLCJwb3J0YWxOb2RlIiwiUmVhY3QiLCJ1c2VSZWYiLCJzaGFkb3dOb2RlIiwiZm9yY2VVcGRhdGUiLCJ1c2VTdGF0ZSIsInVzZUxheW91dEVmZmVjdCIsIm93bmVyRG9jdW1lbnQiLCJkb2N1bWVudCIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiYXR0YWNoU2hhZG93IiwibW9kZSIsImJvZHkiLCJhcHBlbmRDaGlsZCIsInJlbW92ZUNoaWxkIiwiY3JlYXRlUG9ydGFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"EditorLink\", ({\n enumerable: true,\n get: function() {\n return EditorLink;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nfunction EditorLink(param) {\n let { file, isSourceFile, location } = param;\n var _location_line, _location_column;\n const open = (0, _useopenineditor.useOpenInEditor)({\n file,\n lineNumber: (_location_line = location == null ? void 0 : location.line) != null ? _location_line : 1,\n column: (_location_column = location == null ? void 0 : location.column) != null ? _location_column : 0\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-with-open-in-editor-link\": true,\n \"data-with-open-in-editor-link-source-file\": isSourceFile ? true : undefined,\n \"data-with-open-in-editor-link-import-trace\": isSourceFile ? undefined : true,\n tabIndex: 10,\n role: \"link\",\n onClick: open,\n title: \"Click to open in your editor\",\n children: [\n file,\n location ? \":\" + location.line + \":\" + location.column : null,\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n });\n}\n_c = EditorLink;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=EditorLink.js.map\nvar _c;\n$RefreshReg$(_c, \"EditorLink\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9UZXJtaW5hbC9FZGl0b3JMaW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7OENBV2dCQTs7O2VBQUFBOzs7Ozs0RUFYRTs2Q0FDYztBQVV6QixTQUFTQSxXQUFXQyxLQUFpRDtJQUFqRCxNQUFFQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsUUFBUSxFQUFtQixHQUFqREg7UUFHWEcsZ0JBQ0pBO0lBSFYsTUFBTUMsT0FBT0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFBQztRQUMzQko7UUFDQUssWUFBWUgsQ0FBQUEsaUJBQUFBLFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVVJLElBQUksWUFBZEosaUJBQWtCO1FBQzlCSyxRQUFRTCxDQUFBQSxtQkFBQUEsWUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsU0FBVUssTUFBTSxZQUFoQkwsbUJBQW9CO0lBQzlCO0lBRUEsT0FDRSxXQURGLEdBQ0UsSUFBQU0sWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUNDQyxpQ0FBNkI7UUFDN0JDLDZDQUNFWCxlQUFlLE9BQU9ZO1FBRXhCQyw4Q0FDRWIsZUFBZVksWUFBWTtRQUU3QkUsVUFBVTtRQUNWQyxNQUFNO1FBQ05DLFNBQVNkO1FBQ1RlLE9BQU87O1lBRU5sQjtZQUNBRSxXQUFXLE1BQUlBLFNBQVNJLElBQUksR0FBQyxNQUFHSixTQUFTSyxNQUFNLEdBQUs7MEJBQ3JELElBQUFDLFlBQUFDLElBQUEsRUFBQ1UsT0FBQUE7Z0JBQ0NDLE9BQU07Z0JBQ05DLFNBQVE7Z0JBQ1JDLE1BQUs7Z0JBQ0xDLFFBQU87Z0JBQ1BDLGFBQVk7Z0JBQ1pDLGVBQWM7Z0JBQ2RDLGdCQUFlOztrQ0FFZixJQUFBbEIsWUFBQW1CLEdBQUEsRUFBQ0MsUUFBQUE7d0JBQUtDLEdBQUU7O2tDQUNSLElBQUFyQixZQUFBbUIsR0FBQSxFQUFDRyxZQUFBQTt3QkFBU0MsUUFBTzs7a0NBQ2pCLElBQUF2QixZQUFBbUIsR0FBQSxFQUFDckIsUUFBQUE7d0JBQUswQixJQUFHO3dCQUFLQyxJQUFHO3dCQUFLQyxJQUFHO3dCQUFLQyxJQUFHOzs7Ozs7QUFJekM7S0F0Q2dCckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL0VkaXRvckxpbmsudHN4PzQ1YTYiXSwibmFtZXMiOlsiRWRpdG9yTGluayIsInBhcmFtIiwiZmlsZSIsImlzU291cmNlRmlsZSIsImxvY2F0aW9uIiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImxpbmVOdW1iZXIiLCJsaW5lIiwiY29sdW1uIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS13aXRoLW9wZW4taW4tZWRpdG9yLWxpbmsiLCJkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGluay1zb3VyY2UtZmlsZSIsInVuZGVmaW5lZCIsImRhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rLWltcG9ydC10cmFjZSIsInRhYkluZGV4Iiwicm9sZSIsIm9uQ2xpY2siLCJ0aXRsZSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImpzeCIsInBhdGgiLCJkIiwicG9seWxpbmUiLCJwb2ludHMiLCJ4MSIsInkxIiwieDIiLCJ5MiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return Terminal;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(app-pages-browser)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _EditorLink = __webpack_require__(/*! ./EditorLink */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\");\nfunction getFile(lines) {\n const contentFileName = lines.shift();\n if (!contentFileName) return null;\n const [fileName, line, column] = contentFileName.split(\":\", 3);\n const parsedLine = Number(line);\n const parsedColumn = Number(column);\n const hasLocation = !Number.isNaN(parsedLine) && !Number.isNaN(parsedColumn);\n return {\n fileName: hasLocation ? fileName : contentFileName,\n location: hasLocation ? {\n line: parsedLine,\n column: parsedColumn\n } : undefined\n };\n}\nfunction getImportTraceFiles(lines) {\n if (lines.some((line)=>/ReactServerComponentsError:/.test(line)) || lines.some((line)=>/Import trace for requested module:/.test(line))) {\n // Grab the lines at the end containing the files\n const files = [];\n while(/.+\\..+/.test(lines[lines.length - 1]) && !lines[lines.length - 1].includes(\":\")){\n const file = lines.pop().trim();\n files.unshift(file);\n }\n return files;\n }\n return [];\n}\nfunction getEditorLinks(content) {\n const lines = content.split(\"\\n\");\n const file = getFile(lines);\n const importTraceFiles = getImportTraceFiles(lines);\n return {\n file,\n source: lines.join(\"\\n\"),\n importTraceFiles\n };\n}\nconst Terminal = function Terminal(param) {\n _s();\n let { content } = param;\n const { file, source, importTraceFiles } = _react.useMemo(()=>getEditorLinks(content), [\n content\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(source, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n source\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-terminal\": true,\n children: [\n file && /*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: true,\n file: file.fileName,\n location: file.location\n }, file.fileName),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"pre\", {\n children: [\n decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: entry.content\n })\n }, \"terminal-entry-\" + index)),\n importTraceFiles.map((importTraceFile)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: false,\n file: importTraceFile\n }, importTraceFile))\n ]\n })\n ]\n });\n};\n_s(Terminal, \"nkmao/TIox3Jie/+6JvWO3hTKPQ=\");\n_c = Terminal;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Terminal.js.map\nvar _c;\n$RefreshReg$(_c, \"Terminal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9UZXJtaW5hbC9UZXJtaW5hbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7NENBd0RhQTs7O2VBQUFBOzs7Ozs7NEVBeERLOzZFQUNLOzJDQUNPO3dDQUNIO0FBSTNCLFNBQVNDLFFBQVFDLEtBQWU7SUFDOUIsTUFBTUMsa0JBQWtCRCxNQUFNRSxLQUFLO0lBQ25DLElBQUksQ0FBQ0QsaUJBQWlCLE9BQU87SUFDN0IsTUFBTSxDQUFDRSxVQUFVQyxNQUFNQyxPQUFPLEdBQUdKLGdCQUFnQkssS0FBSyxDQUFDLEtBQUs7SUFFNUQsTUFBTUMsYUFBYUMsT0FBT0o7SUFDMUIsTUFBTUssZUFBZUQsT0FBT0g7SUFDNUIsTUFBTUssY0FBYyxDQUFDRixPQUFPRyxLQUFLLENBQUNKLGVBQWUsQ0FBQ0MsT0FBT0csS0FBSyxDQUFDRjtJQUUvRCxPQUFPO1FBQ0xOLFVBQVVPLGNBQWNQLFdBQVdGO1FBQ25DVyxVQUFVRixjQUNOO1lBQ0VOLE1BQU1HO1lBQ05GLFFBQVFJO1FBQ1YsSUFDQUk7SUFDTjtBQUNGO0FBRUEsU0FBU0Msb0JBQW9CZCxLQUFlO0lBQzFDLElBQ0VBLE1BQU1lLElBQUksQ0FBQyxDQUFDWCxPQUFTLDhCQUE4QlksSUFBSSxDQUFDWixVQUN4REosTUFBTWUsSUFBSSxDQUFDLENBQUNYLE9BQVMscUNBQXFDWSxJQUFJLENBQUNaLFFBQy9EO1FBQ0EsaURBQWlEO1FBQ2pELE1BQU1hLFFBQVEsRUFBRTtRQUNoQixNQUNFLFNBQVNELElBQUksQ0FBQ2hCLEtBQUssQ0FBQ0EsTUFBTWtCLE1BQU0sR0FBRyxFQUFFLEtBQ3JDLENBQUNsQixLQUFLLENBQUNBLE1BQU1rQixNQUFNLEdBQUcsRUFBRSxDQUFDQyxRQUFRLENBQUMsS0FDbEM7WUFDQSxNQUFNQyxPQUFPcEIsTUFBTXFCLEdBQUcsR0FBSUMsSUFBSTtZQUM5QkwsTUFBTU0sT0FBTyxDQUFDSDtRQUNoQjtRQUVBLE9BQU9IO0lBQ1Q7SUFFQSxPQUFPLEVBQUU7QUFDWDtBQUVBLFNBQVNPLGVBQWVDLE9BQWU7SUFDckMsTUFBTXpCLFFBQVF5QixRQUFRbkIsS0FBSyxDQUFDO0lBQzVCLE1BQU1jLE9BQU9yQixRQUFRQztJQUNyQixNQUFNMEIsbUJBQW1CWixvQkFBb0JkO0lBRTdDLE9BQU87UUFBRW9CO1FBQU1PLFFBQVEzQixNQUFNNEIsSUFBSSxDQUFDO1FBQU9GO0lBQWlCO0FBQzVEO0FBRU8sTUFBTTVCLFdBQW9DLFNBQVNBLFNBQVMrQixLQUVsRTs7SUFGa0UsTUFDakVKLE9BQU8sRUFDUixHQUZrRUk7SUFHakUsTUFBTSxFQUFFVCxJQUFJLEVBQUVPLE1BQU0sRUFBRUQsZ0JBQWdCLEVBQUUsR0FBR0ksT0FBTUMsT0FBTyxDQUN0RCxJQUFNUCxlQUFlQyxVQUNyQjtRQUFDQTtLQUFRO0lBR1gsTUFBTU8sVUFBVUYsT0FBTUMsT0FBTyxDQUFDO1FBQzVCLE9BQU9FLE9BQUFBLE9BQUssQ0FBQ0MsVUFBVSxDQUFDUCxRQUFRO1lBQzlCUSxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsY0FBYztRQUNoQjtJQUNGLEdBQUc7UUFBQ1Y7S0FBTztJQUVYLE9BQ0UsV0FERixHQUNFLElBQUFXLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFBSUMsd0JBQW9COztZQUN0QnJCLFFBQ0MsV0FEREEsR0FDQyxJQUFBa0IsWUFBQUksR0FBQSxFQUFDQyxZQUFBQSxVQUFVO2dCQUNUQyxjQUFZO2dCQUVaeEIsTUFBTUEsS0FBS2pCLFFBQVE7Z0JBQ25CUyxVQUFVUSxLQUFLUixRQUFRO2VBRmxCUSxLQUFLakIsUUFBUTswQkFLdEIsSUFBQW1DLFlBQUFDLElBQUEsRUFBQ00sT0FBQUE7O29CQUNFYixRQUFRYyxHQUFHLENBQUMsQ0FBQ0MsT0FBT0MsUUFDbkIsV0FEbUJBLEdBQ25CLElBQUFWLFlBQUFJLEdBQUEsRUFBQ08sUUFBQUE7NEJBRUNDLE9BQU87Z0NBQ0xDLE9BQU9KLE1BQU1LLEVBQUUsR0FBRyxpQkFBZUwsTUFBTUssRUFBRSxHQUFDLE1BQUt2QztnQ0FDL0MsR0FBSWtDLE1BQU1NLFVBQVUsS0FBSyxTQUNyQjtvQ0FBRUMsWUFBWTtnQ0FBSSxJQUNsQlAsTUFBTU0sVUFBVSxLQUFLLFdBQ3JCO29DQUFFRSxXQUFXO2dDQUFTLElBQ3RCMUMsU0FBUzs0QkFDZjtzQ0FFQSxrQkFBQXlCLFlBQUFJLEdBQUEsRUFBQ2MsZUFBQUEsYUFBYTtnQ0FBQ0MsTUFBTVYsTUFBTXRCLE9BQU87OzJCQVY3QixvQkFBa0J1QjtvQkFhMUJ0QixpQkFBaUJvQixHQUFHLENBQUMsQ0FBQ1ksa0JBQ3JCLFdBRHFCQSxHQUNyQixJQUFBcEIsWUFBQUksR0FBQSxFQUFDQyxZQUFBQSxVQUFVOzRCQUNUQyxjQUFjOzRCQUVkeEIsTUFBTXNDOzJCQUREQTs7Ozs7QUFPakI7R0FwRGE1RDtLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvVGVybWluYWwudHN4Pzg1YWEiXSwibmFtZXMiOlsiVGVybWluYWwiLCJnZXRGaWxlIiwibGluZXMiLCJjb250ZW50RmlsZU5hbWUiLCJzaGlmdCIsImZpbGVOYW1lIiwibGluZSIsImNvbHVtbiIsInNwbGl0IiwicGFyc2VkTGluZSIsIk51bWJlciIsInBhcnNlZENvbHVtbiIsImhhc0xvY2F0aW9uIiwiaXNOYU4iLCJsb2NhdGlvbiIsInVuZGVmaW5lZCIsImdldEltcG9ydFRyYWNlRmlsZXMiLCJzb21lIiwidGVzdCIsImZpbGVzIiwibGVuZ3RoIiwiaW5jbHVkZXMiLCJmaWxlIiwicG9wIiwidHJpbSIsInVuc2hpZnQiLCJnZXRFZGl0b3JMaW5rcyIsImNvbnRlbnQiLCJpbXBvcnRUcmFjZUZpbGVzIiwic291cmNlIiwiam9pbiIsInBhcmFtIiwiUmVhY3QiLCJ1c2VNZW1vIiwiZGVjb2RlZCIsIkFuc2VyIiwiYW5zaVRvSnNvbiIsImpzb24iLCJ1c2VfY2xhc3NlcyIsInJlbW92ZV9lbXB0eSIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLXRlcm1pbmFsIiwianN4IiwiRWRpdG9yTGluayIsImlzU291cmNlRmlsZSIsInByZSIsIm1hcCIsImVudHJ5IiwiaW5kZXgiLCJzcGFuIiwic3R5bGUiLCJjb2xvciIsImZnIiwiZGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJmb250U3R5bGUiLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsImltcG9ydFRyYWNlRmlsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js ***! - \**********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return _Terminal.Terminal;\n }\n}));\nconst _Terminal = __webpack_require__(/*! ./Terminal */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9UZXJtaW5hbC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OzRDQUFTQTs7O2VBQUFBLFVBQUFBLFFBQVE7OztzQ0FBUSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvaW5kZXgudHN4P2I0ZDQiXSwibmFtZXMiOlsiVGVybWluYWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-terminal] {\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-terminal]::selection,\\n [data-nextjs-terminal] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-terminal] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n [data-nextjs-terminal] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n\\n [data-nextjs-terminal] pre {\\n white-space: pre-wrap;\\n word-break: break-word;\\n }\\n\\n [data-with-open-in-editor-link] svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n }\\n [data-with-open-in-editor-link] {\\n cursor: pointer;\\n }\\n [data-with-open-in-editor-link]:hover {\\n text-decoration: underline dotted;\\n }\\n [data-with-open-in-editor-link-source-file] {\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-with-open-in-editor-link-import-trace] {\\n margin-left: var(--size-gap-double);\\n }\\n [data-nextjs-terminal] a {\\n color: inherit;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9UZXJtaW5hbC9zdHlsZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzswQ0FxRFNBOzs7ZUFBQUE7Ozs7MENBckRtQjs7Ozs7Ozs7OztBQUU1QixNQUFNQSxTQUFBQSxDQUFBQSxHQUFTQyxjQUFBQSxJQUFHLEVBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9UZXJtaW5hbC9zdHlsZXMudHN4PzVkYTgiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Toast\", ({\n enumerable: true,\n get: function() {\n return Toast;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst Toast = function Toast(param) {\n let { onClick, children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast\": true,\n onClick: (e)=>{\n e.preventDefault();\n return onClick == null ? void 0 : onClick();\n },\n className: className,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast-wrapper\": true,\n children: children\n })\n });\n};\n_c = Toast;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Toast.js.map\nvar _c;\n$RefreshReg$(_c, \"Toast\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3lDQVFhQTs7O2VBQUFBOzs7Ozs2RUFSVTtBQVFoQixNQUFNQSxRQUE4QixTQUFTQSxNQUFNQyxLQUl6RDtJQUp5RCxNQUN4REMsT0FBTyxFQUNQQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVixHQUp5REg7SUFLeEQsT0FDRSxXQURGLEdBQ0UsSUFBQUksWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtRQUNDQyxxQkFBaUI7UUFDakJOLFNBQVMsQ0FBQ087WUFDUkEsRUFBRUMsY0FBYztZQUNoQixPQUFPUixXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQTtRQUNUO1FBQ0FFLFdBQVdBO2tCQUVYLGtCQUFBQyxZQUFBQyxHQUFBLEVBQUNDLE9BQUFBO1lBQUlJLDZCQUF5QjtzQkFBRVI7OztBQUd0QztLQWpCYUgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1RvYXN0L1RvYXN0LnRzeD9lNjg2Il0sIm5hbWVzIjpbIlRvYXN0IiwicGFyYW0iLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJfanN4cnVudGltZSIsImpzeCIsImRpdiIsImRhdGEtbmV4dGpzLXRvYXN0IiwiZSIsInByZXZlbnREZWZhdWx0IiwiZGF0YS1uZXh0anMtdG9hc3Qtd3JhcHBlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Toast: function() {\n return _Toast.Toast;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\");\nconst _Toast = __webpack_require__(/*! ./Toast */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Ub2FzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFDU0EsT0FBSztlQUFMQSxPQUFBQSxLQUFLOztJQURMQyxRQUFNO2VBQU5BLFFBQUFBLE1BQU07OztvQ0FBUTttQ0FDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvaW5kZXgudHN4PzlhMDAiXSwibmFtZXMiOlsiVG9hc3QiLCJzdHlsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-toast] {\\n position: fixed;\\n bottom: var(--size-gap-double);\\n left: var(--size-gap-double);\\n max-width: 420px;\\n z-index: 9000;\\n }\\n\\n @media (max-width: 440px) {\\n [data-nextjs-toast] {\\n max-width: 90vw;\\n left: 5vw;\\n }\\n }\\n\\n [data-nextjs-toast-wrapper] {\\n padding: 16px;\\n border-radius: var(--size-gap-half);\\n font-weight: 500;\\n color: var(--color-ansi-bright-white);\\n background-color: var(--color-ansi-red);\\n box-shadow: 0px var(--size-gap-double) var(--size-gap-quad)\\n rgba(0, 0, 0, 0.25);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Ub2FzdC9zdHlsZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzswQ0E2QlNBOzs7ZUFBQUE7Ozs7MENBN0JtQjs7Ozs7Ozs7OztBQUU1QixNQUFNQSxTQUFBQSxDQUFBQSxHQUFTQyxjQUFBQSxJQUFHLEVBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Ub2FzdC9zdHlsZXMudHM/Yzg0OCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js": -/*!*************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js ***! - \*************************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VersionStalenessInfo: function() {\n return VersionStalenessInfo;\n },\n getStaleness: function() {\n return getStaleness;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nfunction VersionStalenessInfo(props) {\n if (!props) return null;\n const { staleness } = props;\n let { text, indicatorClass, title } = getStaleness(props);\n if (!text) return null;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n className: \"nextjs-container-build-error-version-status\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n className: indicatorClass\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n \"data-nextjs-version-checker\": true,\n title: title,\n children: text\n }),\n \" \",\n staleness === \"fresh\" || staleness === \"newer-than-npm\" || staleness === \"unknown\" ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://nextjs.org/docs/messages/version-staleness\",\n children: \"(learn more)\"\n }),\n false ? 0 : \"\"\n ]\n });\n}\n_c = VersionStalenessInfo;\nfunction getStaleness(param) {\n let { installed, staleness, expected } = param;\n let text = \"\";\n let title = \"\";\n let indicatorClass = \"\";\n const versionLabel = \"Next.js (\" + installed + \")\";\n switch(staleness){\n case \"newer-than-npm\":\n case \"fresh\":\n text = versionLabel;\n title = \"Latest available version is detected (\" + installed + \").\";\n indicatorClass = \"fresh\";\n break;\n case \"stale-patch\":\n case \"stale-minor\":\n text = \"\" + versionLabel + \" out of date\";\n title = \"There is a newer version (\" + expected + \") available, upgrade recommended! \";\n indicatorClass = \"stale\";\n break;\n case \"stale-major\":\n {\n text = \"\" + versionLabel + \" is outdated\";\n title = \"An outdated version detected (latest is \" + expected + \"), upgrade is highly recommended!\";\n indicatorClass = \"outdated\";\n break;\n }\n case \"stale-prerelease\":\n {\n text = \"\" + versionLabel + \" is outdated\";\n title = \"There is a newer canary version (\" + expected + \") available, please upgrade! \";\n indicatorClass = \"stale\";\n break;\n }\n case \"unknown\":\n break;\n default:\n break;\n }\n return {\n text,\n indicatorClass,\n title\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=VersionStalenessInfo.js.map\nvar _c;\n$RefreshReg$(_c, \"VersionStalenessInfo\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9WZXJzaW9uU3RhbGVuZXNzSW5mby5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFHZ0JBLHNCQUFvQjtlQUFwQkE7O0lBNkJBQyxjQUFZO2VBQVpBOzs7Ozs0RUFoQ0U7QUFHWCxTQUFTRCxxQkFBcUJFLEtBQWtCO0lBQ3JELElBQUksQ0FBQ0EsT0FBTyxPQUFPO0lBQ25CLE1BQU0sRUFBRUMsU0FBUyxFQUFFLEdBQUdEO0lBQ3RCLElBQUksRUFBRUUsSUFBSSxFQUFFQyxjQUFjLEVBQUVDLEtBQUssRUFBRSxHQUFHTCxhQUFhQztJQUVuRCxJQUFJLENBQUNFLE1BQU0sT0FBTztJQUVsQixPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxJQUFBLEVBQUNDLFNBQUFBO1FBQU1DLFdBQVU7OzBCQUNmLElBQUFILFlBQUFJLEdBQUEsRUFBQ0MsUUFBQUE7Z0JBQUtGLFdBQVdMOzswQkFDakIsSUFBQUUsWUFBQUksR0FBQSxFQUFDRixTQUFBQTtnQkFBTUksK0JBQTJCO2dCQUFDUCxPQUFPQTswQkFDdkNGOztZQUNNO1lBQ1JELGNBQWMsV0FDZkEsY0FBYyxvQkFDZEEsY0FBYyxZQUFZLE9BQ3hCLFdBRHdCLEdBQ3hCLElBQUFJLFlBQUFJLEdBQUEsRUFBQ0csS0FBQUE7Z0JBQ0NDLFFBQU87Z0JBQ1BDLEtBQUk7Z0JBQ0pDLE1BQUs7MEJBQ047O1lBSUZDLE1BQXFCLEdBQUcsSUFBYTs7O0FBRzVDO0tBM0JnQmxCO0FBNkJULFNBQVNDLGFBQWFvQixLQUErQztJQUEvQyxNQUFFQyxTQUFTLEVBQUVuQixTQUFTLEVBQUVvQixRQUFRLEVBQWUsR0FBL0NGO0lBQzNCLElBQUlqQixPQUFPO0lBQ1gsSUFBSUUsUUFBUTtJQUNaLElBQUlELGlCQUFpQjtJQUNyQixNQUFNbUIsZUFBZSxjQUFZRixZQUFVO0lBQzNDLE9BQVFuQjtRQUNOLEtBQUs7UUFDTCxLQUFLO1lBQ0hDLE9BQU9vQjtZQUNQbEIsUUFBUSwyQ0FBeUNnQixZQUFVO1lBQzNEakIsaUJBQWlCO1lBQ2pCO1FBQ0YsS0FBSztRQUNMLEtBQUs7WUFDSEQsT0FBTyxLQUFHb0IsZUFBYTtZQUN2QmxCLFFBQVEsK0JBQTZCaUIsV0FBUztZQUM5Q2xCLGlCQUFpQjtZQUNqQjtRQUNGLEtBQUs7WUFBZTtnQkFDbEJELE9BQU8sS0FBR29CLGVBQWE7Z0JBQ3ZCbEIsUUFBUSw2Q0FBMkNpQixXQUFTO2dCQUM1RGxCLGlCQUFpQjtnQkFDakI7WUFDRjtRQUNBLEtBQUs7WUFBb0I7Z0JBQ3ZCRCxPQUFPLEtBQUdvQixlQUFhO2dCQUN2QmxCLFFBQVEsc0NBQW9DaUIsV0FBUztnQkFDckRsQixpQkFBaUI7Z0JBQ2pCO1lBQ0Y7UUFDQSxLQUFLO1lBQ0g7UUFDRjtZQUNFO0lBQ0o7SUFDQSxPQUFPO1FBQUVEO1FBQU1DO1FBQWdCQztJQUFNO0FBQ3ZDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9WZXJzaW9uU3RhbGVuZXNzSW5mby50c3g/MmExOCJdLCJuYW1lcyI6WyJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsImdldFN0YWxlbmVzcyIsInByb3BzIiwic3RhbGVuZXNzIiwidGV4dCIsImluZGljYXRvckNsYXNzIiwidGl0bGUiLCJfanN4cnVudGltZSIsImpzeHMiLCJzbWFsbCIsImNsYXNzTmFtZSIsImpzeCIsInNwYW4iLCJkYXRhLW5leHRqcy12ZXJzaW9uLWNoZWNrZXIiLCJhIiwidGFyZ2V0IiwicmVsIiwiaHJlZiIsInByb2Nlc3MiLCJlbnYiLCJUVVJCT1BBQ0siLCJwYXJhbSIsImluc3RhbGxlZCIsImV4cGVjdGVkIiwidmVyc2lvbkxhYmVsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js": -/*!**********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js ***! - \**********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VersionStalenessInfo: function() {\n return _VersionStalenessInfo.VersionStalenessInfo;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ./VersionStalenessInfo */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFDU0Esc0JBQW9CO2VBQXBCQSxzQkFBQUEsb0JBQW9COztJQURwQkMsUUFBTTtlQUFOQSxRQUFBQSxNQUFNOzs7b0NBQVE7a0RBQ2MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1ZlcnNpb25TdGFsZW5lc3NJbmZvL2luZGV4LnRzeD8xN2RmIl0sIm5hbWVzIjpbIlZlcnNpb25TdGFsZW5lc3NJbmZvIiwic3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js ***! - \***********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-build-error-version-status {\\n flex: 1;\\n text-align: right;\\n }\\n .nextjs-container-build-error-version-status small {\\n margin-left: var(--size-gap);\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status a {\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status span {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n border-radius: 5px;\\n background: var(--color-ansi-bright-black);\\n }\\n .nextjs-container-build-error-version-status span.fresh {\\n background: var(--color-ansi-green);\\n }\\n .nextjs-container-build-error-version-status span.stale {\\n background: var(--color-ansi-yellow);\\n }\\n .nextjs-container-build-error-version-status span.outdated {\\n background: var(--color-ansi-red);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9zdHlsZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzswQ0FnQ1NBOzs7ZUFBQUE7Ozs7MENBaENtQjs7Ozs7Ozs7OztBQUU1QixNQUFNQSxTQUFBQSxDQUFBQSxHQUFTQyxjQUFBQSxJQUFHLEVBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9zdHlsZXMudHM/OTIxNCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js": -/*!*****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js ***! - \*****************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HotlinkedText\", ({\n enumerable: true,\n get: function() {\n return HotlinkedText;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _magicidentifier = __webpack_require__(/*! ../../../../../../shared/lib/magic-identifier */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/magic-identifier.js\");\nconst linkRegex = /https?:\\/\\/[^\\s/$.?#].[^\\s)'\"]*/i;\nconst splitRegexp = new RegExp(\"(\" + _magicidentifier.MAGIC_IDENTIFIER_REGEX.source + \"|\\\\s+)\");\nconst HotlinkedText = function HotlinkedText(props) {\n const { text, matcher } = props;\n const wordsAndWhitespaces = text.split(splitRegexp);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: wordsAndWhitespaces.map((word, index)=>{\n if (linkRegex.test(word)) {\n const link = linkRegex.exec(word);\n const href = link[0];\n // If link matcher is present but the link doesn't match, don't turn it into a link\n if (typeof matcher === \"function\" && !matcher(href)) {\n return word;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n href: href,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n children: word\n })\n }, \"link-\" + index);\n }\n try {\n const decodedWord = (0, _magicidentifier.decodeMagicIdentifier)(word);\n if (decodedWord !== word) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"i\", {\n children: [\n \"{\",\n decodedWord,\n \"}\"\n ]\n }, \"ident-\" + index);\n }\n } catch (e) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"i\", {\n children: [\n \"{\",\n word,\n \" (decoding failed: \",\n \"\" + e,\n \")\",\n \"}\"\n ]\n }, \"ident-\" + index);\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: word\n }, \"text-\" + index);\n })\n });\n};\n_c = HotlinkedText;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c;\n$RefreshReg$(_c, \"HotlinkedText\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9ob3QtbGlua2VkLXRleHQvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7OztpREFVYUE7OztlQUFBQTs7Ozs7NEVBVks7NkNBSVg7QUFFUCxNQUFNQyxZQUFZO0FBRWxCLE1BQU1DLGNBQWMsSUFBSUMsT0FBTyxNQUFJQyxpQkFBQUEsc0JBQXNCLENBQUNDLE1BQU0sR0FBQztBQUUxRCxNQUFNTCxnQkFHUixTQUFTQSxjQUFjTSxLQUFLO0lBQy9CLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQUUsR0FBR0Y7SUFFMUIsTUFBTUcsc0JBQXNCRixLQUFLRyxLQUFLLENBQUNSO0lBRXZDLE9BQ0UsV0FERixHQUNFLElBQUFTLFlBQUFDLEdBQUEsRUFBQUQsWUFBQUUsUUFBQTtrQkFDR0osb0JBQW9CSyxHQUFHLENBQUMsQ0FBQ0MsTUFBTUM7WUFDOUIsSUFBSWYsVUFBVWdCLElBQUksQ0FBQ0YsT0FBTztnQkFDeEIsTUFBTUcsT0FBT2pCLFVBQVVrQixJQUFJLENBQUNKO2dCQUM1QixNQUFNSyxPQUFPRixJQUFJLENBQUMsRUFBRTtnQkFDcEIsbUZBQW1GO2dCQUNuRixJQUFJLE9BQU9WLFlBQVksY0FBYyxDQUFDQSxRQUFRWSxPQUFPO29CQUNuRCxPQUFPTDtnQkFDVDtnQkFDQSxPQUNFLFdBREYsR0FDRSxJQUFBSixZQUFBQyxHQUFBLEVBQUNTLE9BQUFBLE9BQUssQ0FBQ1IsUUFBUTs4QkFDYixrQkFBQUYsWUFBQUMsR0FBQSxFQUFDVSxLQUFBQTt3QkFBRUYsTUFBTUE7d0JBQU1HLFFBQU87d0JBQVNDLEtBQUk7a0NBQ2hDVDs7bUJBRmdCLFVBQVFDO1lBTWpDO1lBQ0EsSUFBSTtnQkFDRixNQUFNUyxjQUFjQyxDQUFBQSxHQUFBQSxpQkFBQUEscUJBQXFCLEVBQUNYO2dCQUMxQyxJQUFJVSxnQkFBZ0JWLE1BQU07b0JBQ3hCLE9BQ0UsV0FERixHQUNFLElBQUFKLFlBQUFnQixJQUFBLEVBQUNDLEtBQUFBOzs0QkFDRTs0QkFDQUg7NEJBQ0E7O3VCQUhLLFdBQVNUO2dCQU1yQjtZQUNGLEVBQUUsT0FBT2EsR0FBRztnQkFDVixPQUNFLFdBREYsR0FDRSxJQUFBbEIsWUFBQWdCLElBQUEsRUFBQ0MsS0FBQUE7O3dCQUNFO3dCQUNBYjt3QkFBSzt3QkFBb0IsS0FBS2M7d0JBQUU7d0JBQUU7O21CQUY3QixXQUFTYjtZQUtyQjtZQUNBLE9BQU8sV0FBUCxHQUFPLElBQUFMLFlBQUFDLEdBQUEsRUFBQ1MsT0FBQUEsT0FBSyxDQUFDUixRQUFROzBCQUF3QkU7ZUFBbEIsVUFBUUM7UUFDdEM7O0FBR047S0FqRGFoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvaG90LWxpbmtlZC10ZXh0L2luZGV4LnRzeD9lY2FmIl0sIm5hbWVzIjpbIkhvdGxpbmtlZFRleHQiLCJsaW5rUmVnZXgiLCJzcGxpdFJlZ2V4cCIsIlJlZ0V4cCIsIk1BR0lDX0lERU5USUZJRVJfUkVHRVgiLCJzb3VyY2UiLCJwcm9wcyIsInRleHQiLCJtYXRjaGVyIiwid29yZHNBbmRXaGl0ZXNwYWNlcyIsInNwbGl0IiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJGcmFnbWVudCIsIm1hcCIsIndvcmQiLCJpbmRleCIsInRlc3QiLCJsaW5rIiwiZXhlYyIsImhyZWYiLCJSZWFjdCIsImEiLCJ0YXJnZXQiLCJyZWwiLCJkZWNvZGVkV29yZCIsImRlY29kZU1hZ2ljSWRlbnRpZmllciIsImpzeHMiLCJpIiwiZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js ***! - \*****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BuildError: function() {\n return BuildError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Terminal = __webpack_require__(/*! ../components/Terminal */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: var(--size-gap-double) 0;\\n }\\n .nextjs-container-errors-header p {\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n white-space: pre-wrap;\\n }\\n .nextjs-container-errors-body footer {\\n margin-top: var(--size-gap);\\n }\\n .nextjs-container-errors-body footer p {\\n margin: 0;\\n }\\n\\n .nextjs-container-errors-body small {\\n color: var(--color-font);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst BuildError = function BuildError(param) {\n _s();\n let { message, versionInfo } = param;\n const noop = _react.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n fixed: true,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_error_label\",\n \"aria-describedby\": \"nextjs__container_error_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: \"Build Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: \"Failed to compile\"\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Terminal.Terminal, {\n content: message\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"footer\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_build_error_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error occurred during the build process and can only be dismissed by fixing the error.\"\n })\n })\n })\n ]\n })\n ]\n })\n })\n });\n};\n_s(BuildError, \"hHp3im7kVRcdOeKmK0+3cSEjzLI=\");\n_c = BuildError;\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=BuildError.js.map\nvar _c;\n$RefreshReg$(_c, \"BuildError\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL0J1aWxkRXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUFlYUEsWUFBVTtlQUFWQTs7SUF5Q0FDLFFBQU07ZUFBTkE7Ozs7Ozs2RUF4RFU7b0NBT2hCO3FDQUNpQjtzQ0FDQztrREFDWTswQ0FDVDs7Ozs7Ozs7OztBQUlyQixNQUFNRCxhQUF3QyxTQUFTQSxXQUFXRSxLQUd4RTs7SUFId0UsTUFDdkVDLE9BQU8sRUFDUEMsV0FBVyxFQUNaLEdBSHdFRjtJQUl2RSxNQUFNRyxPQUFPQyxPQUFNQyxXQUFXLENBQUMsS0FBTyxHQUFHLEVBQUU7SUFDM0MsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsR0FBQSxFQUFDQyxTQUFBQSxPQUFPO1FBQUNDLE9BQUs7a0JBQ1osa0JBQUFILFlBQUFDLEdBQUEsRUFBQ0csUUFBQUEsTUFBTTtZQUNMQyxNQUFLO1lBQ0xDLG1CQUFnQjtZQUNoQkMsb0JBQWlCO1lBQ2pCQyxTQUFTWDtzQkFFVCxrQkFBQUcsWUFBQVMsSUFBQSxFQUFDQyxRQUFBQSxhQUFhOztrQ0FDWixJQUFBVixZQUFBUyxJQUFBLEVBQUNFLFFBQUFBLFlBQVk7d0JBQUNDLFdBQVU7OzBDQUN0QixJQUFBWixZQUFBQyxHQUFBLEVBQUNZLE1BQUFBO2dDQUFHQyxJQUFHOzBDQUFrQzs7MENBQ3pDLElBQUFkLFlBQUFDLEdBQUEsRUFBQ2MsS0FBQUE7Z0NBQ0NELElBQUc7Z0NBQ0hGLFdBQVU7MENBQ1g7OzRCQUdBaEIsY0FBYyxXQUFkQSxHQUFjLElBQUFJLFlBQUFDLEdBQUEsRUFBQ2Usc0JBQUFBLG9CQUFvQjtnQ0FBRSxHQUFHcEIsV0FBVztpQ0FBTzs7O2tDQUU3RCxJQUFBSSxZQUFBUyxJQUFBLEVBQUNRLFFBQUFBLFVBQVU7d0JBQUNMLFdBQVU7OzBDQUNwQixJQUFBWixZQUFBQyxHQUFBLEVBQUNpQixVQUFBQSxRQUFRO2dDQUFDQyxTQUFTeEI7OzBDQUNuQixJQUFBSyxZQUFBQyxHQUFBLEVBQUNtQixVQUFBQTswQ0FDQyxrQkFBQXBCLFlBQUFDLEdBQUEsRUFBQ2MsS0FBQUE7b0NBQUVELElBQUc7OENBQ0osa0JBQUFkLFlBQUFDLEdBQUEsRUFBQ29CLFNBQUFBO2tEQUFNOzs7Ozs7Ozs7O0FBV3ZCO0dBdkNhN0I7S0FBQUE7QUF5Q04sTUFBTUMsU0FBQUEsQ0FBQUEsR0FBUzZCLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvQnVpbGRFcnJvci50c3g/OGU2NSJdLCJuYW1lcyI6WyJCdWlsZEVycm9yIiwic3R5bGVzIiwicGFyYW0iLCJtZXNzYWdlIiwidmVyc2lvbkluZm8iLCJub29wIiwiUmVhY3QiLCJ1c2VDYWxsYmFjayIsIl9qc3hydW50aW1lIiwianN4IiwiT3ZlcmxheSIsImZpeGVkIiwiRGlhbG9nIiwidHlwZSIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJvbkNsb3NlIiwianN4cyIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dIZWFkZXIiLCJjbGFzc05hbWUiLCJoMSIsImlkIiwicCIsIlZlcnNpb25TdGFsZW5lc3NJbmZvIiwiRGlhbG9nQm9keSIsIlRlcm1pbmFsIiwiY29udGVudCIsImZvb3RlciIsInNtYWxsIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js": -/*!*************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js ***! - \*************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Errors: function() {\n return Errors;\n },\n styles: function() {\n return styles;\n }\n});\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _shared = __webpack_require__(/*! ../../shared */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _LeftRightDialogHeader = __webpack_require__(/*! ../components/LeftRightDialogHeader */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _getErrorByType = __webpack_require__(/*! ../helpers/getErrorByType */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _CloseIcon = __webpack_require__(/*! ../icons/CloseIcon */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst _RuntimeError = __webpack_require__(/*! ./RuntimeError */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/error-source.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../components/hot-linked-text */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _componentstackpseudohtml = __webpack_require__(/*! ./RuntimeError/component-stack-pseudo-html */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ../helpers/hydration-error-info */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: calc(var(--size-gap-double) * 1.5) 0;\\n color: var(--color-title-h1);\\n }\\n .nextjs-container-errors-header small {\\n font-size: var(--size-font-small);\\n color: var(--color-accents-1);\\n margin-left: var(--size-gap-double);\\n }\\n .nextjs-container-errors-header small > span {\\n font-family: var(--font-stack-monospace);\\n }\\n .nextjs-container-errors-header p {\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n white-space: pre-wrap;\\n }\\n .nextjs__container_errors_desc {\\n font-family: var(--font-stack-monospace);\\n padding: var(--size-gap) var(--size-gap-double);\\n border-left: 2px solid var(--color-text-color-red-1);\\n margin-top: var(--size-gap);\\n font-weight: bold;\\n color: var(--color-text-color-red-1);\\n background-color: var(--color-text-background-red-1);\\n }\\n p.nextjs__container_errors__notes {\\n margin: var(--size-gap-double) auto;\\n color: var(--color-stack-notes);\\n font-weight: 600;\\n font-size: 15px;\\n }\\n .nextjs-container-errors-header > div > small {\\n margin: 0;\\n margin-top: var(--size-gap-half);\\n }\\n .nextjs-container-errors-header > p > a {\\n color: inherit;\\n font-weight: bold;\\n }\\n .nextjs-container-errors-body > h2:not(:first-child) {\\n margin-top: calc(var(--size-gap-double) + var(--size-gap));\\n }\\n .nextjs-container-errors-body > h2 {\\n color: var(--color-title-color);\\n margin-bottom: var(--size-gap);\\n font-size: var(--size-font-big);\\n }\\n .nextjs__container_errors__component-stack {\\n padding: 12px 32px;\\n color: var(--color-ansi-fg);\\n background: var(--color-ansi-bg);\\n }\\n .nextjs-toast-errors-parent {\\n cursor: pointer;\\n transition: transform 0.2s ease;\\n }\\n .nextjs-toast-errors-parent:hover {\\n transform: scale(1.1);\\n }\\n .nextjs-toast-errors {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n }\\n .nextjs-toast-errors > svg {\\n margin-right: var(--size-gap);\\n }\\n .nextjs-toast-errors-hide-button {\\n margin-left: var(--size-gap-triple);\\n border: none;\\n background: none;\\n color: var(--color-ansi-bright-white);\\n padding: 0;\\n transition: opacity 0.25s ease;\\n opacity: 0.7;\\n }\\n .nextjs-toast-errors-hide-button:hover {\\n opacity: 1;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction isNextjsLink(text) {\n return text.startsWith(\"https://nextjs.org\");\n}\nfunction getErrorSignature(ev) {\n const { event } = ev;\n switch(event.type){\n case _shared.ACTION_UNHANDLED_ERROR:\n case _shared.ACTION_UNHANDLED_REJECTION:\n {\n return event.reason.name + \"::\" + event.reason.message + \"::\" + event.reason.stack;\n }\n default:\n {}\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n return \"\";\n}\nfunction Errors(param) {\n let { isAppDir, errors, initialDisplayState, versionInfo } = param;\n var _activeError_componentStackFrames;\n const [lookups, setLookups] = (0, _react.useState)({});\n const [readyErrors, nextError] = (0, _react.useMemo)(()=>{\n let ready = [];\n let next = null;\n // Ensure errors are displayed in the order they occurred in:\n for(let idx = 0; idx < errors.length; ++idx){\n const e = errors[idx];\n const { id } = e;\n if (id in lookups) {\n ready.push(lookups[id]);\n continue;\n }\n // Check for duplicate errors\n if (idx > 0) {\n const prev = errors[idx - 1];\n if (getErrorSignature(prev) === getErrorSignature(e)) {\n continue;\n }\n }\n next = e;\n break;\n }\n return [\n ready,\n next\n ];\n }, [\n errors,\n lookups\n ]);\n const isLoading = (0, _react.useMemo)(()=>{\n return readyErrors.length < 1 && Boolean(errors.length);\n }, [\n errors.length,\n readyErrors.length\n ]);\n (0, _react.useEffect)(()=>{\n if (nextError == null) {\n return;\n }\n let mounted = true;\n (0, _getErrorByType.getErrorByType)(nextError, isAppDir).then((resolved)=>{\n // We don't care if the desired error changed while we were resolving,\n // thus we're not tracking it using a ref. Once the work has been done,\n // we'll store it.\n if (mounted) {\n setLookups((m)=>({\n ...m,\n [resolved.id]: resolved\n }));\n }\n }, ()=>{\n // TODO: handle this, though an edge case\n });\n return ()=>{\n mounted = false;\n };\n }, [\n nextError,\n isAppDir\n ]);\n const [displayState, setDisplayState] = (0, _react.useState)(initialDisplayState);\n const [activeIdx, setActiveIndex] = (0, _react.useState)(0);\n const previous = (0, _react.useCallback)(()=>setActiveIndex((v)=>Math.max(0, v - 1)), []);\n const next = (0, _react.useCallback)(()=>setActiveIndex((v)=>Math.max(0, Math.min(readyErrors.length - 1, v + 1))), [\n readyErrors.length\n ]);\n const activeError = (0, _react.useMemo)(()=>{\n var _readyErrors_activeIdx;\n return (_readyErrors_activeIdx = readyErrors[activeIdx]) != null ? _readyErrors_activeIdx : null;\n }, [\n activeIdx,\n readyErrors\n ]);\n // Reset component state when there are no errors to be displayed.\n // This should never happen, but lets handle it.\n (0, _react.useEffect)(()=>{\n if (errors.length < 1) {\n setLookups({});\n setDisplayState(\"hidden\");\n setActiveIndex(0);\n }\n }, [\n errors.length\n ]);\n const minimize = (0, _react.useCallback)(()=>setDisplayState(\"minimized\"), []);\n const hide = (0, _react.useCallback)(()=>setDisplayState(\"hidden\"), []);\n const fullscreen = (0, _react.useCallback)(()=>setDisplayState(\"fullscreen\"), []);\n // This component shouldn't be rendered with no errors, but if it is, let's\n // handle it gracefully by rendering nothing.\n if (errors.length < 1 || activeError == null) {\n return null;\n }\n if (isLoading) {\n // TODO: better loading state\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {});\n }\n if (displayState === \"hidden\") {\n return null;\n }\n if (displayState === \"minimized\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Toast.Toast, {\n className: \"nextjs-toast-errors-parent\",\n onClick: fullscreen,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n className: \"nextjs-toast-errors\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n readyErrors.length,\n \" error\",\n readyErrors.length > 1 ? \"s\" : \"\"\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-toast-errors-hide-button\": true,\n className: \"nextjs-toast-errors-hide-button\",\n type: \"button\",\n onClick: (e)=>{\n e.stopPropagation();\n hide();\n },\n \"aria-label\": \"Hide Errors\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n ]\n })\n });\n }\n const error = activeError.error;\n const isServerError = [\n \"server\",\n \"edge-server\"\n ].includes((0, _errorsource.getErrorSource)(error) || \"\");\n const errorDetails = error.details || {};\n const [warningTemplate, serverContent, clientContent] = errorDetails.warning || [\n null,\n \"\",\n \"\"\n ];\n const hydrationErrorType = (0, _hydrationerrorinfo.getHydrationWarningType)(warningTemplate);\n const hydrationWarning = warningTemplate ? warningTemplate.replace(\"%s\", serverContent).replace(\"%s\", clientContent).replace(\"%s\", \"\") // remove the %s for stack\n .replace(/%s$/, \"\") // If there's still a %s at the end, remove it\n .replace(/^Warning: /, \"\") : null;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_errors_label\",\n \"aria-describedby\": \"nextjs__container_errors_desc\",\n onClose: isServerError ? undefined : minimize,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_LeftRightDialogHeader.LeftRightDialogHeader, {\n previous: activeIdx > 0 ? previous : null,\n next: activeIdx < readyErrors.length - 1 ? next : null,\n close: isServerError ? undefined : minimize,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: activeIdx + 1\n }),\n \" of\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-dialog-header-total-count\": true,\n children: readyErrors.length\n }),\n \" error\",\n readyErrors.length < 2 ? \"\" : \"s\"\n ]\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: isServerError ? \"Server Error\" : \"Unhandled Runtime Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: [\n error.name,\n \":\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: error.message,\n matcher: isNextjsLink\n })\n ]\n }),\n hydrationWarning && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors__notes\",\n className: \"nextjs__container_errors__notes\",\n children: hydrationWarning\n }),\n ((_activeError_componentStackFrames = activeError.componentStackFrames) == null ? void 0 : _activeError_componentStackFrames.length) ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_componentstackpseudohtml.PseudoHtmlDiff, {\n className: \"nextjs__container_errors__component-stack\",\n hydrationMismatchType: hydrationErrorType,\n componentStackFrames: activeError.componentStackFrames,\n firstContent: serverContent,\n secondContent: clientContent\n }) : null\n ]\n }),\n isServerError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error happened while generating the page. Any console logs will be displayed in the terminal window.\"\n })\n }) : undefined\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_RuntimeError.RuntimeError, {\n error: activeError\n }, activeError.id.toString())\n })\n ]\n })\n })\n });\n}\n_c = Errors;\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Errors.js.map\nvar _c;\n$RefreshReg$(_c, \"Errors\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL0Vycm9ycy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFrRWdCQSxRQUFNO2VBQU5BOztJQXdQSEMsUUFBTTtlQUFOQTs7Ozs7bUNBMVQ2QztvQ0FNbkQ7b0NBTUE7bURBQytCO3FDQUNkO21DQUNGOzRDQUNTOzBDQUVIO3VDQUNGOzBDQUNHO2tEQUNRO3lDQUVOOzJDQUNEO3NEQUNDO2dEQUl4Qjs7Ozs7Ozs7OztBQWlCUCxTQUFTQyxhQUFhQyxJQUFZO0lBQ2hDLE9BQU9BLEtBQUtDLFVBQVUsQ0FBQztBQUN6QjtBQUVBLFNBQVNDLGtCQUFrQkMsRUFBdUI7SUFDaEQsTUFBTSxFQUFFQyxLQUFLLEVBQUUsR0FBR0Q7SUFDbEIsT0FBUUMsTUFBTUMsSUFBSTtRQUNoQixLQUFLQyxRQUFBQSxzQkFBc0I7UUFDM0IsS0FBS0MsUUFBQUEsMEJBQTBCO1lBQUU7Z0JBQy9CLE9BQU9ILE1BQVNJLE1BQU0sQ0FBQ0MsSUFBSSxHQUFDLE9BQUlMLE1BQU1JLE1BQU0sQ0FBQ0UsT0FBTyxHQUFDLE9BQUlOLE1BQU1JLE1BQU0sQ0FBQ0csS0FBSztZQUM3RTtRQUNBO1lBQVMsQ0FDVDtJQUNGO0lBRUEsNkRBQTZEO0lBQzdELE1BQU1DLElBQVdSO0lBQ2pCLE9BQU87QUFDVDtBQUVPLFNBQVNQLE9BQU9nQixLQUtUO0lBTFMsTUFDckJDLFFBQVEsRUFDUkMsTUFBTSxFQUNOQyxtQkFBbUIsRUFDbkJDLFdBQVcsRUFDQyxHQUxTSjtRQTJOTks7SUFyTmYsTUFBTSxDQUFDQyxTQUFTQyxXQUFXLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFDcEMsQ0FBQztJQUdILE1BQU0sQ0FBQ0MsYUFBYUMsVUFBVSxHQUFHQyxDQUFBQSxHQUFBQSxPQUFBQSxPQUFPLEVBRXRDO1FBQ0EsSUFB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LEVBQUMyRCxLQUFBQTt3Q0FDQ3BGLElBQUc7d0NBQ0g0QixXQUFVO2tEQUVUeUM7O29DQUVGakYsQ0FBQUEsQ0FBQUEsb0NBQUFBLFlBQVlvRyxvQkFBb0IscUJBQWhDcEcsa0NBQWtDVSxNQUFNLElBQ3ZDLFdBRHVDLEdBQ3ZDLElBQUEwQixZQUFBQyxHQUFBLEVBQUNnRSwwQkFBQUEsY0FBYzt3Q0FDYjdELFdBQVU7d0NBQ1Y4RCx1QkFBdUJ2Qjt3Q0FDdkJxQixzQkFBc0JwRyxZQUFZb0csb0JBQW9CO3dDQUN0REcsY0FBYzNCO3dDQUNkNEIsZUFBZTNCO3lDQUVmOzs7NEJBR1BQLGdCQUNDLFdBRERBLEdBQ0MsSUFBQWxDLFlBQUFDLEdBQUEsRUFBQ00sT0FBQUE7MENBQ0Msa0JBQUFQLFlBQUFDLEdBQUEsRUFBQ3VELFNBQUFBOzhDQUFNOztpQ0FLUEw7OztrQ0FFTixJQUFBbkQsWUFBQUMsR0FBQSxFQUFDb0UsUUFBQUEsVUFBVTt3QkFBQ2pFLFdBQVU7a0NBQ3BCLGtCQUFBSixZQUFBQyxHQUFBLEVBQUNxRSxjQUFBQSxZQUFZOzRCQUFpQ3JDLE9BQU9yRTsyQkFBbENBLFlBQVlZLEVBQUUsQ0FBQytGLFFBQVE7Ozs7OztBQU10RDtLQXRQZ0JoSTtBQXdQVCxNQUFNQyxTQUFBQSxDQUFBQSxHQUFTZ0ksY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9FcnJvcnMudHN4PzhhMzQiXSwibmFtZXMiOlsiRXJyb3JzIiwic3R5bGVzIiwiaXNOZXh0anNMaW5rIiwidGV4dCIsInN0YXJ0c1dpdGgiLCJnZXRFcnJvclNpZ25hdHVyZSIsImV2IiwiZXZlbnQiLCJ0eXBlIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwicmVhc29uIiwibmFtZSIsIm1lc3NhZ2UiLCJzdGFjayIsIl8iLCJwYXJhbSIsImlzQXBwRGlyIiwiZXJyb3JzIiwiaW5pdGlhbERpc3BsYXlTdGF0ZSIsInZlcnNpb25JbmZvIiwiYWN0aXZlRXJyb3IiLCJsb29rdXBzIiwic2V0TG9va3VwcyIsInVzZVN0YXRlIiwicmVhZHlFcnJvcnMiLCJuZXh0RXJyb3IiLCJ1c2VNZW1vIiwicmVhZHkiLCJuZXh0IiwiaWR4IiwibGVuZ3RoIiwiZSIsImlkIiwicHVzaCIsInByZXYiLCJpc0xvYWRpbmciLCJCb29sZWFuIiwidXNlRWZmZWN0IiwibW91bnRlZCIsImdldEVycm9yQnlUeXBlIiwidGhlbiIsInJlc29sdmVkIiwibSIsImRpc3BsYXlTdGF0ZSIsInNldERpc3BsYXlTdGF0ZSIsImFjdGl2ZUlkeCIsInNldEFjdGl2ZUluZGV4IiwicHJldmlvdXMiLCJ1c2VDYWxsYmFjayIsInYiLCJNYXRoIiwibWF4IiwibWluIiwibWluaW1pemUiLCJoaWRlIiwiZnVsbHNjcmVlbiIsIl9qc3hydW50aW1lIiwianN4IiwiT3ZlcmxheSIsIlRvYXN0IiwiY2xhc3NOYW1lIiwib25DbGljayIsImpzeHMiLCJkaXYiLCJzdmciLCJ4bWxucyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImNpcmNsZSIsImN4IiwiY3kiLCJyIiwibGluZSIsIngxIiwieTEiLCJ4MiIsInkyIiwic3BhbiIsImJ1dHRvbiIsImRhdGEtbmV4dGpzLXRvYXN0LWVycm9ycy1oaWRlLWJ1dHRvbiIsInN0b3BQcm9wYWdhdGlvbiIsImFyaWEtbGFiZWwiLCJDbG9zZUljb24iLCJlcnJvciIsImlzU2VydmVyRXJyb3IiLCJpbmNsdWRlcyIsImdldEVycm9yU291cmNlIiwiZXJyb3JEZXRhaWxzIiwiZGV0YWlscyIsIndhcm5pbmdUZW1wbGF0ZSIsInNlcnZlckNvbnRlbnQiLCJjbGllbnRDb250ZW50Iiwid2FybmluZyIsImh5ZHJhdGlvbkVycm9yVHlwZSIsImdldEh5ZHJhdGlvbldhcm5pbmdUeXBlIiwiaHlkcmF0aW9uV2FybmluZyIsInJlcGxhY2UiLCJEaWFsb2ciLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5Iiwib25DbG9zZSIsInVuZGVmaW5lZCIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dIZWFkZXIiLCJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJjbG9zZSIsInNtYWxsIiwiZGF0YS1uZXh0anMtZGlhbG9nLWhlYWRlci10b3RhbC1jb3VudCIsIlZlcnNpb25TdGFsZW5lc3NJbmZvIiwiaDEiLCJwIiwiSG90bGlua2VkVGV4dCIsIm1hdGNoZXIiLCJGcmFnbWVudCIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwiUHNldWRvSHRtbERpZmYiLCJoeWRyYXRpb25NaXNtYXRjaFR5cGUiLCJmaXJzdENvbnRlbnQiLCJzZWNvbmRDb250ZW50IiwiRGlhbG9nQm9keSIsIlJ1bnRpbWVFcnJvciIsInRvU3RyaW5nIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js": -/*!**********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js ***! - \**********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CallStackFrame\", ({\n enumerable: true,\n get: function() {\n return CallStackFrame;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../../components/hot-linked-text */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst CallStackFrame = function CallStackFrame(param) {\n let { frame } = param;\n var _frame_originalStackFrame;\n // TODO: ability to expand resolved frames\n // TODO: render error or external indicator\n const f = (_frame_originalStackFrame = frame.originalStackFrame) != null ? _frame_originalStackFrame : frame.sourceStackFrame;\n const hasSource = Boolean(frame.originalCodeFrame);\n const open = (0, _useopenineditor.useOpenInEditor)(hasSource ? {\n file: f.file,\n lineNumber: f.lineNumber,\n column: f.column\n } : undefined);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-call-stack-frame\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n \"data-nextjs-frame-expanded\": Boolean(frame.expanded),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: f.methodName\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-has-source\": hasSource ? \"true\" : undefined,\n tabIndex: hasSource ? 10 : undefined,\n role: hasSource ? \"link\" : undefined,\n onClick: open,\n title: hasSource ? \"Click to open in your editor\" : undefined,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: (0, _stackframe.getFrameSource)(f)\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n ]\n });\n};\n_c = CallStackFrame;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CallStackFrame.js.map\nvar _c;\n$RefreshReg$(_c, \"CallStackFrame\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9DYWxsU3RhY2tGcmFtZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVFhQTs7O2VBQUFBOzs7O3dDQUpOOzZDQUN5QjsyQ0FDRjtBQUV2QixNQUFNQSxpQkFFUixTQUFTQSxlQUFlQyxLQUFTO0lBQVQsTUFBRUMsS0FBSyxFQUFFLEdBQVREO1FBSUxDO0lBSHRCLDBDQUEwQztJQUMxQywyQ0FBMkM7SUFFM0MsTUFBTUMsSUFBZ0JELENBQUFBLDRCQUFBQSxNQUFNRSxrQkFBa0IsWUFBeEJGLDRCQUE0QkEsTUFBTUcsZ0JBQWdCO0lBQ3hFLE1BQU1DLFlBQVlDLFFBQVFMLE1BQU1NLGlCQUFpQjtJQUNqRCxNQUFNQyxPQUFPQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUMxQkosWUFDSTtRQUNFSyxNQUFNUixFQUFFUSxJQUFJO1FBQ1pDLFlBQVlULEVBQUVTLFVBQVU7UUFDeEJDLFFBQVFWLEVBQUVVLE1BQU07SUFDbEIsSUFDQUM7SUFHTixPQUNFLFdBREYsR0FDRSxJQUFBQyxZQUFBQyxJQUFBLEVBQUNDLE9BQUFBO1FBQUlDLGdDQUE0Qjs7MEJBQy9CLElBQUFILFlBQUFJLEdBQUEsRUFBQ0MsTUFBQUE7Z0JBQUdDLDhCQUE0QmQsUUFBUUwsTUFBTW9CLFFBQVE7MEJBQ3BELGtCQUFBUCxZQUFBSSxHQUFBLEVBQUNJLGVBQUFBLGFBQWE7b0JBQUNDLE1BQU1yQixFQUFFc0IsVUFBVTs7OzBCQUVuQyxJQUFBVixZQUFBQyxJQUFBLEVBQUNDLE9BQUFBO2dCQUNDUyxtQkFBaUJwQixZQUFZLFNBQVNRO2dCQUN0Q2EsVUFBVXJCLFlBQVksS0FBS1E7Z0JBQzNCYyxNQUFNdEIsWUFBWSxTQUFTUTtnQkFDM0JlLFNBQVNwQjtnQkFDVHFCLE9BQU94QixZQUFZLGlDQUFpQ1E7O2tDQUVwRCxJQUFBQyxZQUFBSSxHQUFBLEVBQUNZLFFBQUFBO2tDQUFNQyxDQUFBQSxHQUFBQSxZQUFBQSxjQUFjLEVBQUM3Qjs7a0NBQ3RCLElBQUFZLFlBQUFDLElBQUEsRUFBQ2lCLE9BQUFBO3dCQUNDQyxPQUFNO3dCQUNOQyxTQUFRO3dCQUNSQyxNQUFLO3dCQUNMQyxRQUFPO3dCQUNQQyxhQUFZO3dCQUNaQyxlQUFjO3dCQUNkQyxnQkFBZTs7MENBRWYsSUFBQXpCLFlBQUFJLEdBQUEsRUFBQ3NCLFFBQUFBO2dDQUFLQyxHQUFFOzswQ0FDUixJQUFBM0IsWUFBQUksR0FBQSxFQUFDd0IsWUFBQUE7Z0NBQVNDLFFBQU87OzBDQUNqQixJQUFBN0IsWUFBQUksR0FBQSxFQUFDMEIsUUFBQUE7Z0NBQUtDLElBQUc7Z0NBQUtDLElBQUc7Z0NBQUtDLElBQUc7Z0NBQUtDLElBQUc7Ozs7Ozs7O0FBSzNDO0tBL0NhakQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvUnVudGltZUVycm9yL0NhbGxTdGFja0ZyYW1lLnRzeD9iNmMzIl0sIm5hbWVzIjpbIkNhbGxTdGFja0ZyYW1lIiwicGFyYW0iLCJmcmFtZSIsImYiLCJvcmlnaW5hbFN0YWNrRnJhbWUiLCJzb3VyY2VTdGFja0ZyYW1lIiwiaGFzU291cmNlIiwiQm9vbGVhbiIsIm9yaWdpbmFsQ29kZUZyYW1lIiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwidW5kZWZpbmVkIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZSIsImpzeCIsImgzIiwiZGF0YS1uZXh0anMtZnJhbWUtZXhwYW5kZWQiLCJleHBhbmRlZCIsIkhvdGxpbmtlZFRleHQiLCJ0ZXh0IiwibWV0aG9kTmFtZSIsImRhdGEtaGFzLXNvdXJjZSIsInRhYkluZGV4Iiwicm9sZSIsIm9uQ2xpY2siLCJ0aXRsZSIsInNwYW4iLCJnZXRGcmFtZVNvdXJjZSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInBhdGgiLCJkIiwicG9seWxpbmUiLCJwb2ludHMiLCJsaW5lIiwieDEiLCJ5MSIsIngyIiwieTIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js": -/*!**************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js ***! - \**************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"GroupedStackFrames\", ({\n enumerable: true,\n get: function() {\n return GroupedStackFrames;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _CallStackFrame = __webpack_require__(/*! ./CallStackFrame */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\");\nconst _CollapseIcon = __webpack_require__(/*! ../../icons/CollapseIcon */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\");\nconst _FrameworkIcon = __webpack_require__(/*! ../../icons/FrameworkIcon */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js\");\nfunction FrameworkGroup(param) {\n let { framework, stackFrames } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"details\", {\n \"data-nextjs-collapsed-call-stack-details\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"summary\", {\n tabIndex: 10,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CollapseIcon.CollapseIcon, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_FrameworkIcon.FrameworkIcon, {\n framework: framework\n }),\n framework === \"react\" ? \"React\" : \"Next.js\"\n ]\n }),\n stackFrames.map((frame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + index))\n ]\n });\n}\n_c = FrameworkGroup;\nfunction GroupedStackFrames(param) {\n let { groupedStackFrames, show } = param;\n if (!show) return;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: groupedStackFrames.map((stackFramesGroup, groupIndex)=>{\n // Collapse React and Next.js frames\n if (stackFramesGroup.framework) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(FrameworkGroup, {\n framework: stackFramesGroup.framework,\n stackFrames: stackFramesGroup.stackFrames\n }, \"call-stack-framework-group-\" + groupIndex);\n }\n return stackFramesGroup.stackFrames.map((frame, frameIndex)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + groupIndex + \"-\" + frameIndex));\n })\n });\n}\n_c1 = GroupedStackFrames;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=GroupedStackFrames.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"FrameworkGroup\");\n$RefreshReg$(_c1, \"GroupedStackFrames\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9Hcm91cGVkU3RhY2tGcmFtZXMuanMiLCJtYXBwaW5ncyI6Ijs7OztzREEyQmdCQTs7O2VBQUFBOzs7OzRDQTFCZTswQ0FDRjsyQ0FDQztBQUU5QixTQUFTQyxlQUFlQyxLQU12QjtJQU51QixNQUN0QkMsU0FBUyxFQUNUQyxXQUFXLEVBSVosR0FOdUJGO0lBT3RCLE9BQ0UsV0FERixHQUNFLElBQUFHLFlBQUFDLElBQUEsRUFBQ0MsV0FBQUE7UUFBUUMsNENBQXdDOzswQkFFL0MsSUFBQUgsWUFBQUMsSUFBQSxFQUFDRyxXQUFBQTtnQkFBUUMsVUFBVTs7a0NBQ2pCLElBQUFMLFlBQUFNLEdBQUEsRUFBQ0MsY0FBQUEsWUFBWTtrQ0FDYixJQUFBUCxZQUFBTSxHQUFBLEVBQUNFLGVBQUFBLGFBQWE7d0JBQUNWLFdBQVdBOztvQkFDekJBLGNBQWMsVUFBVSxVQUFVOzs7WUFFcENDLFlBQVlVLEdBQUcsQ0FBQyxDQUFDQyxPQUFPQyxRQUN2QixXQUR1QkEsR0FDdkIsSUFBQVgsWUFBQU0sR0FBQSxFQUFDTSxnQkFBQUEsY0FBYztvQkFBNkJGLE9BQU9BO21CQUE5QixnQkFBY0M7OztBQUkzQztLQXBCU2Y7QUFzQkYsU0FBU0QsbUJBQW1CRSxLQU1sQztJQU5rQyxNQUNqQ2dCLGtCQUFrQixFQUNsQkMsSUFBSSxFQUlMLEdBTmtDakI7SUFPakMsSUFBSSxDQUFDaUIsTUFBTTtJQUNYLE9BQ0UsV0FERixHQUNFLElBQUFkLFlBQUFNLEdBQUEsRUFBQU4sWUFBQWUsUUFBQTtrQkFDR0YsbUJBQW1CSixHQUFHLENBQUMsQ0FBQ08sa0JBQWtCQztZQUN6QyxvQ0FBb0M7WUFDcEMsSUFBSUQsaUJBQWlCbEIsU0FBUyxFQUFFO2dCQUM5QixPQUNFLFdBREYsR0FDRSxJQUFBRSxZQUFBTSxHQUFBLEVBQUNWLGdCQUFBQTtvQkFFQ0UsV0FBV2tCLGlCQUFpQmxCLFNBQVM7b0JBQ3JDQyxhQUFhaUIsaUJBQWlCakIsV0FBVzttQkFGcEMsZ0NBQThCa0I7WUFLekM7WUFFQSxPQUVFRCxpQkFBaUJqQixXQUFXLENBQUNVLEdBQUcsQ0FBQyxDQUFDQyxPQUFPUSxhQUN2QyxXQUR1Q0EsR0FDdkMsSUFBQWxCLFlBQUFNLEdBQUEsRUFBQ00sZ0JBQUFBLGNBQWM7b0JBRWJGLE9BQU9BO21CQURGLGdCQUFjTyxhQUFXLE1BQUdDO1FBS3pDOztBQUdOO01BbENnQnZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9Hcm91cGVkU3RhY2tGcmFtZXMudHN4PzYwOTIiXSwibmFtZXMiOlsiR3JvdXBlZFN0YWNrRnJhbWVzIiwiRnJhbWV3b3JrR3JvdXAiLCJwYXJhbSIsImZyYW1ld29yayIsInN0YWNrRnJhbWVzIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGV0YWlscyIsImRhdGEtbmV4dGpzLWNvbGxhcHNlZC1jYWxsLXN0YWNrLWRldGFpbHMiLCJzdW1tYXJ5IiwidGFiSW5kZXgiLCJqc3giLCJDb2xsYXBzZUljb24iLCJGcmFtZXdvcmtJY29uIiwibWFwIiwiZnJhbWUiLCJpbmRleCIsIkNhbGxTdGFja0ZyYW1lIiwiZ3JvdXBlZFN0YWNrRnJhbWVzIiwic2hvdyIsIkZyYWdtZW50Iiwic3RhY2tGcmFtZXNHcm91cCIsImdyb3VwSW5kZXgiLCJmcmFtZUluZGV4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js": -/*!***********************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js ***! - \***********************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PseudoHtmlDiff\", ({\n enumerable: true,\n get: function() {\n return PseudoHtmlDiff;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _CollapseIcon = __webpack_require__(/*! ../../icons/CollapseIcon */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\");\nfunction getAdjacentProps(isAdj) {\n return {\n \"data-nextjs-container-errors-pseudo-html--tag-adjacent\": isAdj\n };\n}\nfunction PseudoHtmlDiff(param) {\n let { componentStackFrames, firstContent, secondContent, hydrationMismatchType, ...props } = param;\n const isHtmlTagsWarning = hydrationMismatchType === \"tag\";\n // For text mismatch, mismatched text will take 2 rows, so we display 4 rows of component stack\n const MAX_NON_COLLAPSED_FRAMES = isHtmlTagsWarning ? 6 : 4;\n const shouldCollapse = componentStackFrames.length > MAX_NON_COLLAPSED_FRAMES;\n const [isHtmlCollapsed, toggleCollapseHtml] = (0, _react.useState)(shouldCollapse);\n const htmlComponents = (0, _react.useMemo)(()=>{\n const tagNames = isHtmlTagsWarning ? [\n firstContent.replace(/<|>/g, \"\"),\n secondContent.replace(/<|>/g, \"\")\n ] : [];\n const nestedHtmlStack = [];\n let lastText = \"\";\n const componentStack = componentStackFrames.map((frame)=>frame.component).reverse();\n // [child index, parent index]\n const matchedIndex = [\n -1,\n -1\n ];\n if (isHtmlTagsWarning) {\n // Reverse search for the child tag\n for(let i = componentStack.length - 1; i >= 0; i--){\n if (componentStack[i] === tagNames[0]) {\n matchedIndex[0] = i;\n break;\n }\n }\n // Start searching parent tag from child tag above\n for(let i = matchedIndex[0] - 1; i >= 0; i--){\n if (componentStack[i] === tagNames[1]) {\n matchedIndex[1] = i;\n break;\n }\n }\n }\n componentStack.forEach((component, index, componentList)=>{\n const spaces = \" \".repeat(nestedHtmlStack.length * 2);\n // const prevComponent = componentList[index - 1]\n // const nextComponent = componentList[index + 1]\n // When component is the server or client tag name, highlight it\n const isHighlightedTag = isHtmlTagsWarning ? index === matchedIndex[0] || index === matchedIndex[1] : tagNames.includes(component);\n const isAdjacentTag = isHighlightedTag || Math.abs(index - matchedIndex[0]) <= 1 || Math.abs(index - matchedIndex[1]) <= 1;\n const isLastFewFrames = !isHtmlTagsWarning && index >= componentList.length - 6;\n const adjProps = getAdjacentProps(isAdjacentTag);\n if (isHtmlTagsWarning && isAdjacentTag || isLastFewFrames) {\n const codeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n spaces,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n ...adjProps,\n ...isHighlightedTag ? {\n \"data-nextjs-container-errors-pseudo-html--tag-error\": true\n } : undefined,\n children: \"<\" + component + \">\\n\"\n })\n ]\n });\n lastText = component;\n const wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n codeLine,\n isHighlightedTag && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--hint\": true,\n children: spaces + \"^\".repeat(component.length + 2) + \"\\n\"\n })\n ]\n }, nestedHtmlStack.length);\n nestedHtmlStack.push(wrappedCodeLine);\n } else {\n if (nestedHtmlStack.length >= MAX_NON_COLLAPSED_FRAMES && isHtmlCollapsed) {\n return;\n }\n if (!isHtmlCollapsed || isLastFewFrames) {\n nestedHtmlStack.push(/*#__PURE__*/ (0, _react.createElement)(\"span\", {\n ...adjProps,\n key: nestedHtmlStack.length,\n children: [\n spaces,\n \"<\" + component + \">\\n\"\n ]\n }));\n } else if (isHtmlCollapsed && lastText !== \"...\") {\n lastText = \"...\";\n nestedHtmlStack.push(/*#__PURE__*/ (0, _react.createElement)(\"span\", {\n ...adjProps,\n key: nestedHtmlStack.length,\n children: [\n spaces,\n \"...\\n\"\n ]\n }));\n }\n }\n });\n // Hydration mismatch: text or text-tag\n if (!isHtmlTagsWarning) {\n const spaces = \" \".repeat(nestedHtmlStack.length * 2);\n let wrappedCodeLine;\n if (hydrationMismatchType === \"text\") {\n // hydration type is \"text\", represent [server content, client content]\n wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-remove\": true,\n children: spaces + ('\"' + firstContent + '\"\\n')\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-add\": true,\n children: spaces + ('\"' + secondContent + '\"\\n')\n })\n ]\n }, nestedHtmlStack.length);\n } else {\n // hydration type is \"text-in-tag\", represent [parent tag, mismatch content]\n wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--tag-adjacent\": true,\n children: spaces + (\"<\" + secondContent + \">\\n\")\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-remove\": true,\n children: spaces + (' \"' + firstContent + '\"\\n')\n })\n ]\n }, nestedHtmlStack.length);\n }\n nestedHtmlStack.push(wrappedCodeLine);\n }\n return nestedHtmlStack;\n }, [\n componentStackFrames,\n isHtmlCollapsed,\n firstContent,\n secondContent,\n isHtmlTagsWarning,\n hydrationMismatchType,\n MAX_NON_COLLAPSED_FRAMES\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-container-errors-pseudo-html\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-container-errors-pseudo-html-collapse\": true,\n onClick: ()=>toggleCollapseHtml(!isHtmlCollapsed),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CollapseIcon.CollapseIcon, {\n collapsed: isHtmlCollapsed\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n ...props,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"code\", {\n children: htmlComponents\n })\n })\n ]\n });\n}\n_c = PseudoHtmlDiff;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=component-stack-pseudo-html.js.map\nvar _c;\n$RefreshReg$(_c, \"PseudoHtmlDiff\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9jb21wb25lbnQtc3RhY2stcHNldWRvLWh0bWwuanMiLCJtYXBwaW5ncyI6Ijs7OztrREF3RGdCQTs7O2VBQUFBOzs7O21DQXhENEI7MENBRWY7QUFFN0IsU0FBU0MsaUJBQWlCQyxLQUFjO0lBQ3RDLE9BQU87UUFBRSwwREFBMERBO0lBQU07QUFDM0U7QUFrRE8sU0FBU0YsZUFBZUcsS0FXUztJQVhULE1BQzdCQyxvQkFBb0IsRUFDcEJDLFlBQVksRUFDWkMsYUFBYSxFQUNiQyxxQkFBcUIsRUFDckIsR0FBR0MsT0FNbUMsR0FYVEw7SUFZN0IsTUFBTU0sb0JBQW9CRiwwQkFBMEI7SUFDcEQsK0ZBQStGO0lBQy9GLE1BQU1HLDJCQUEyQkQsb0JBQW9CLElBQUk7SUFDekQsTUFBTUUsaUJBQWlCUCxxQkFBcUJRLE1BQU0sR0FBR0Y7SUFDckQsTUFBTSxDQUFDRyxpQkFBaUJDLG1CQUFtQixHQUFHQyxDQUFBQSxHQUFBQSxPQUFBQSxRQUFRLEVBQUNKO0lBRXZELE1BQU1LLGlCQUFpQkMsQ0FBQUEsR0FBQUEsT0FBQUEsT0FBTyxFQUFDO1FBQzdCLE1BQU1DLFdBQVdULG9CQUViO1lBQUNKLGFBQWFjLE9BQU8sQ0FBQyxRQUFRO1lBQUtiLGNBQWNhLE9BQU8sQ0FBQyxRQUFRO1NBQUksR0FDckUsRUFBRTtRQUNOLE1BQU1DLGtCQUFxQyxFQUFFO1FBQzdDLElBQUlDLFdBQVc7UUFFZixNQUFNQyxpQkFBaUJsQixxQkFDcEJtQixHQUFHLENBQUMsQ0FBQ0MsUUFBVUEsTUFBTUMsU0FBUyxFQUM5QkMsT0FBTztRQUVWLDhCQUE4QjtRQUM5QixNQUFNQyxlQUFlO1lBQUMsQ0FBQztZQUFHLENBQUM7U0FBRTtRQUM3QixJQUFJbEIsbUJBQW1CO1lBQ3JCLG1DQUFtQztZQUNuQyxJQUFLLElBQUltQixJQUFJTixlQUFlVixNQUFNLEdBQUcsR0FBR2dCLEtBQUssR0FBR0EsSUFBSztnQkFDbkQsSUFBSU4sY0FBYyxDQUFDTSxFQUFFLEtBQUtWLFFBQVEsQ0FBQyxFQUFFLEVBQUU7b0JBQ3JDUyxZQUFZLENBQUMsRUFBRSxHQUFHQztvQkFDbEI7Z0JBQ0Y7WUFDRjtZQUNBLGtEQUFrRDtZQUNsRCxJQUFLLElBQUlBLElBQUlELFlBQVksQ0FBQyxFQUFFLEdBQUcsR0FBR0MsS0FBSyxHQUFHQSxJQUFLO2dCQUM3QyxJQUFJTixjQUFjLENBQUNNLEVBQUUsS0FBS1YsUUFBUSxDQUFDLEVBQUUsRUFBRTtvQkFDckNTLFlBQVksQ0FBQyxFQUFFLEdBQUdDO29CQUNsQjtnQkFDRjtZQUNGO1FBQ0Y7UUFFQU4sZUFBZU8sT0FBTyxDQUFDLENBQUNKLFdBQVdLLE9BQU9DO1lBQ3hDLE1BQU1DLFNBQVMsSUFBSUMsTUFBTSxDQUFDYixnQkFBZ0JSLE1BQU0sR0FBRztZQUNuRCxpREFBaUQ7WUFDakQsaURBQWlEO1lBQ2pELGdFQUFnRTtZQUVoRSxNQUFNc0IsbUJBQW1CekIsb0JBQ3JCcUIsVUFBVUgsWUFBWSxDQUFDLEVBQUUsSUFBSUcsVUFBVUgsWUFBWSxDQUFDLEVBQUUsR0FDdERULFNBQVNpQixRQUFRLENBQUNWO1lBQ3RCLE1BQU1XLGdCQUNKRixvQkFDQUcsS0FBS0MsR0FBRyxDQUFDUixRQUFRSCxZQUFZLENBQUMsRUFBRSxLQUFLLEtBQ3JDVSxLQUFLQyxHQUFHLENBQUNSLFFBQVFILFlBQVksQ0FBQyxFQUFFLEtBQUs7WUFFdkMsTUFBTVksa0JBQ0osQ0FBQzlCLHFCQUFxQnFCLFNBQVNDLGNBQWNuQixNQUFNLEdBQUc7WUFFeEQsTUFBTTRCLFdBQVd2QyxpQkFBaUJtQztZQUVsQyxJQUFJM0IscUJBQXNCMkIsaUJBQWtCRyxpQkFBaUI7Z0JBQzNELE1BQU1FLFdBQ0osV0FESUEsR0FDSixJQUFBQyxZQUFBQyxJQUFBLEVBQUNDLFFBQUFBOzt3QkFDRVo7c0NBQ0QsSUFBQVUsWUFBQUcsR0FBQSxFQUFDRCxRQUFBQTs0QkFDRSxHQUFHSixRQUFROzRCQUVWLEdBQUlOLG1CQUNBO2dDQUNFLHVEQUNFOzRCQUNKLElBQ0FZLFNBQVM7c0NBR2QsTUFBSXJCLFlBQVU7Ozs7Z0JBSXJCSixXQUFXSTtnQkFFWCxNQUFNc0Isa0JBQ0osV0FESUEsR0FDSixJQUFBTCxZQUFBQyxJQUFBLEVBQUNLLE9BQUFBLFFBQVE7O3dCQUNOUDt3QkFFQVAsb0JBQ0MsV0FEREEsR0FDQyxJQUFBUSxZQUFBRyxHQUFBLEVBQUNELFFBQUFBOzRCQUFLSyxrREFBOEM7c0NBQ2pEakIsU0FBUyxJQUFJQyxNQUFNLENBQUNSLFVBQVViLE1BQU0sR0FBRyxLQUFLOzs7bUJBTHBDUSxnQkFBZ0JSLE1BQU07Z0JBVXZDUSxnQkFBZ0I4QixJQUFJLENBQUNIO1lBQ3ZCLE9BQU87Z0JBQ0wsSUFDRTNCLGdCQUFnQlIsTUFBTSxJQUFJRiw0QkFDMUJHLGlCQUNBO29CQUNBO2dCQUNGO2dCQUVBLElBQUksQ0FBQ0EsbUJBQW1CMEIsaUJBQWlCO29CQUN2Q25CLGdCQUFnQjhCLElBQUksQ0FDbEIsV0FEa0IsR0FDbEIsSUFBQUMsT0FBQUMsYUFBQSxFQUFDUixRQUFBQTt3QkFBTSxHQUFHSixRQUFRO3dCQUFFYSxLQUFLakMsZ0JBQWdCUixNQUFNOzs0QkFDNUNvQjs0QkFDQSxNQUFNUCxZQUFZOzs7Z0JBR3pCLE9BQU8sSUFBSVosbUJBQW1CUSxhQUFhLE9BQU87b0JBQ2hEQSxXQUFXO29CQUNYRCxnQkFBZ0I4QixJQUFJLENBQ2xCLFdBRGtCLEdBQ2xCLElBQUFDLE9BQUFDLGFBQUEsRUFBQ1IsUUFBQUE7d0JBQU0sR0FBR0osUUFBUTt3QkFBRWEsS0FBS2pDLGdCQUFnQlIsTUFBTTs7NEJBQzVDb0I7NEJBQ0E7OztnQkFHUDtZQUNGO1FBQ0Y7UUFFQSx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDdkIsbUJBQW1CO1lBQ3RCLE1BQU11QixTQUFTLElBQUlDLE1BQU0sQ0FBQ2IsZ0JBQWdCUixNQUFNLEdBQUc7WUFDbkQsSUFBSW1DO1lBQ0osSUFBSXhDLDBCQUEwQixRQUFRO2dCQUNwQyx1RUFBdUU7Z0JBQ3ZFd0Msa0JBQ0UsV0FERkEsR0FDRSxJQUFBTCxZQUFBQyxJQUFBLEVBQUNLLE9BQUFBLFFBQVE7O3NDQUNQLElBQUFOLFlBQUFHLEdBQUEsRUFBQ0QsUUFBQUE7NEJBQUtVLHlEQUFxRDtzQ0FDeER0QixTQUFTLE9BQUkzQixlQUFhOztzQ0FFN0IsSUFBQXFDLFlBQUFHLEdBQUEsRUFBQ0QsUUFBQUE7NEJBQUtXLHNEQUFrRDtzQ0FDckR2QixTQUFTLE9BQUkxQixnQkFBYzs7O21CQUxqQmMsZ0JBQWdCUixNQUFNO1lBU3pDLE9BQU87Z0JBQ0wsNEVBQTRFO2dCQUM1RW1DLGtCQUNFLFdBREZBLEdBQ0UsSUFBQUwsWUFBQUMsSUFBQSxFQUFDSyxPQUFBQSxRQUFROztzQ0FDUCxJQUFBTixZQUFBRyxHQUFBLEVBQUNELFFBQUFBOzRCQUFLWSwwREFBc0Q7c0NBQ3pEeEIsU0FBUyxPQUFJMUIsZ0JBQWM7O3NDQUU5QixJQUFBb0MsWUFBQUcsR0FBQSxFQUFDRCxRQUFBQTs0QkFBS1UseURBQXFEO3NDQUN4RHRCLFNBQVMsU0FBTTNCLGVBQWE7OzttQkFMbEJlLGdCQUFnQlIsTUFBTTtZQVN6QztZQUNBUSxnQkFBZ0I4QixJQUFJLENBQUNIO1FBQ3ZCO1FBRUEsT0FBTzNCO0lBQ1QsR0FBRztRQUNEaEI7UUFDQVM7UUFDQVI7UUFDQUM7UUFDQUc7UUFDQUY7UUFDQUc7S0FDRDtJQUVELE9BQ0UsV0FERixHQUNFLElBQUFnQyxZQUFBQyxJQUFBLEVBQUNjLE9BQUFBO1FBQUlDLDRDQUF3Qzs7MEJBQzNDLElBQUFoQixZQUFBRyxHQUFBLEVBQUNjLFVBQUFBO2dCQUNDQyxVQUFVO2dCQUNWQyxxREFBaUQ7Z0JBQ2pEQyxTQUFTLElBQU1oRCxtQkFBbUIsQ0FBQ0Q7MEJBRW5DLGtCQUFBNkIsWUFBQUcsR0FBQSxFQUFDa0IsY0FBQUEsWUFBWTtvQkFBQ0MsV0FBV25EOzs7MEJBRTNCLElBQUE2QixZQUFBRyxHQUFBLEVBQUNvQixPQUFBQTtnQkFBSyxHQUFHekQsS0FBSzswQkFDWixrQkFBQWtDLFlBQUFHLEdBQUEsRUFBQ3FCLFFBQUFBOzhCQUFNbEQ7Ozs7O0FBSWY7S0F6TGdCaEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvUnVudGltZUVycm9yL2NvbXBvbmVudC1zdGFjay1wc2V1ZG8taHRtbC50c3g/NjMxNiJdLCJuYW1lcyI6WyJQc2V1ZG9IdG1sRGlmZiIsImdldEFkamFjZW50UHJvcHMiLCJpc0FkaiIsInBhcmFtIiwiY29tcG9uZW50U3RhY2tGcmFtZXMiLCJmaXJzdENvbnRlbnQiLCJzZWNvbmRDb250ZW50IiwiaHlkcmF0aW9uTWlzbWF0Y2hUeXBlIiwicHJvcHMiLCJpc0h0bWxUYWdzV2FybmluZyIsIk1BWF9OT05fQ09MTEFQU0VEX0ZSQU1FUyIsInNob3VsZENvbGxhcHNlIiwibGVuZ3RoIiwiaXNIdG1sQ29sbGFwc2VkIiwidG9nZ2xlQ29sbGFwc2VIdG1sIiwidXNlU3RhdGUiLCJodG1sQ29tcG9uZW50cyIsInVzZU1lbW8iLCJ0YWdOYW1lcyIsInJlcGxhY2UiLCJuZXN0ZWRIdG1sU3RhY2siLCJsYXN0VGV4dCIsImNvbXBvbmVudFN0YWNrIiwibWFwIiwiZnJhbWUiLCJjb21wb25lbnQiLCJyZXZlcnNlIiwibWF0Y2hlZEluZGV4IiwiaSIsImZvckVhY2giLCJpbmRleCIsImNvbXBvbmVudExpc3QiLCJzcGFjZXMiLCJyZXBlYXQiLCJpc0hpZ2hsaWdodGVkVGFnIiwiaW5jbHVkZXMiLCJpc0FkamFjZW50VGFnIiwiTWF0aCIsImFicyIsImlzTGFzdEZld0ZyYW1lcyIsImFkalByb3BzIiwiY29kZUxpbmUiLCJfanN4cnVudGltZSIsImpzeHMiLCJzcGFuIiwianN4IiwidW5kZWZpbmVkIiwid3JhcHBlZENvZGVMaW5lIiwiRnJhZ21lbnQiLCJkYXRhLW5leHRqcy1jb250YWluZXItZXJyb3JzLXBzZXVkby1odG1sLS1oaW50IiwicHVzaCIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJkYXRhLW5leHRqcy1jb250YWluZXItZXJyb3JzLXBzZXVkby1odG1sLS1kaWZmLXJlbW92ZSIsImRhdGEtbmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtcHNldWRvLWh0bWwtLWRpZmYtYWRkIiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbC0tdGFnLWFkamFjZW50IiwiZGl2IiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbCIsImJ1dHRvbiIsInRhYkluZGV4IiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbC1jb2xsYXBzZSIsIm9uQ2xpY2siLCJDb2xsYXBzZUljb24iLCJjb2xsYXBzZWQiLCJwcmUiLCJjb2RlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RuntimeError: function() {\n return RuntimeError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _CodeFrame = __webpack_require__(/*! ../../components/CodeFrame */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _groupstackframesbyframework = __webpack_require__(/*! ../../helpers/group-stack-frames-by-framework */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\");\nconst _GroupedStackFrames = __webpack_require__(/*! ./GroupedStackFrames */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n button[data-nextjs-data-runtime-error-collapsed-action] {\\n background: none;\\n border: none;\\n padding: 0;\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-bigger);\\n color: var(--color-accents-3);\\n }\\n\\n [data-nextjs-call-stack-frame]:not(:last-child),\\n [data-nextjs-component-stack-frame]:not(:last-child) {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-call-stack-frame] > h3,\\n [data-nextjs-component-stack-frame] > h3 {\\n margin-top: 0;\\n margin-bottom: var(--size-gap);\\n font-family: var(--font-stack-monospace);\\n font-size: var(--size-font);\\n color: #222;\\n }\\n [data-nextjs-call-stack-frame] > h3[data-nextjs-frame-expanded='false'] {\\n color: #666;\\n }\\n [data-nextjs-call-stack-frame] > div,\\n [data-nextjs-component-stack-frame] > div {\\n display: flex;\\n align-items: center;\\n padding-left: calc(var(--size-gap) + var(--size-gap-half));\\n font-size: var(--size-font-small);\\n color: #999;\\n }\\n [data-nextjs-call-stack-frame] > div > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n flex-shrink: 0;\\n\\n display: none;\\n }\\n\\n [data-nextjs-call-stack-frame] > div[data-has-source],\\n [data-nextjs-component-stack-frame] > [role='link'] {\\n cursor: pointer;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source]:hover,\\n [data-nextjs-component-stack-frame] > [role='link']:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source] > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n display: unset;\\n }\\n\\n [data-nextjs-call-stack-framework-icon] {\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-call-stack-framework-icon='next'] > mask {\\n mask-type: alpha;\\n }\\n [data-nextjs-call-stack-framework-icon='react'] {\\n color: rgb(20, 158, 202);\\n }\\n [data-nextjs-collapsed-call-stack-details][open]\\n [data-nextjs-call-stack-chevron-icon] {\\n transform: rotate(90deg);\\n }\\n [data-nextjs-collapsed-call-stack-details] summary {\\n display: flex;\\n align-items: center;\\n margin-bottom: var(--size-gap);\\n list-style: none;\\n }\\n [data-nextjs-collapsed-call-stack-details] summary::-webkit-details-marker {\\n display: none;\\n }\\n\\n [data-nextjs-collapsed-call-stack-details] h3 {\\n color: #666;\\n }\\n [data-nextjs-collapsed-call-stack-details] [data-nextjs-call-stack-frame] {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-container-errors-pseudo-html] {\\n position: relative;\\n }\\n [data-nextjs-container-errors-pseudo-html-collapse] {\\n position: absolute;\\n left: 10px;\\n top: 10px;\\n color: inherit;\\n background: none;\\n border: none;\\n padding: 0;\\n }\\n [data-nextjs-container-errors-pseudo-html--diff-add] {\\n color: var(--color-ansi-green);\\n }\\n [data-nextjs-container-errors-pseudo-html--diff-remove] {\\n color: var(--color-ansi-red);\\n }\\n [data-nextjs-container-errors-pseudo-html--tag-error] {\\n color: var(--color-ansi-red);\\n font-weight: bold;\\n }\\n /* hide but text are still accessible in DOM */\\n [data-nextjs-container-errors-pseudo-html--hint] {\\n display: inline-block;\\n font-size: 0;\\n }\\n [data-nextjs-container-errors-pseudo-html--tag-adjacent='false'] {\\n color: var(--color-accents-1);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction RuntimeError(param) {\n _s();\n let { error } = param;\n const { firstFrame, allLeadingFrames, allCallStackFrames } = _react.useMemo(()=>{\n const filteredFrames = error.frames.filter((f)=>{\n var _f_sourceStackFrame_file;\n return !(f.sourceStackFrame.file === \"<anonymous>\" && [\n \"stringify\",\n \"<unknown>\"\n ].includes(f.sourceStackFrame.methodName)) && !((_f_sourceStackFrame_file = f.sourceStackFrame.file) == null ? void 0 : _f_sourceStackFrame_file.startsWith(\"node:internal\"));\n });\n const firstFirstPartyFrameIndex = filteredFrames.findIndex((entry)=>entry.expanded && Boolean(entry.originalCodeFrame) && Boolean(entry.originalStackFrame));\n var _filteredFrames_firstFirstPartyFrameIndex;\n return {\n firstFrame: (_filteredFrames_firstFirstPartyFrameIndex = filteredFrames[firstFirstPartyFrameIndex]) != null ? _filteredFrames_firstFirstPartyFrameIndex : null,\n allLeadingFrames: firstFirstPartyFrameIndex < 0 ? [] : filteredFrames.slice(0, firstFirstPartyFrameIndex),\n allCallStackFrames: filteredFrames.slice(firstFirstPartyFrameIndex + 1)\n };\n }, [\n error.frames\n ]);\n const [all, setAll] = _react.useState(firstFrame == null);\n const { canShowMore, leadingFramesGroupedByFramework, stackFramesGroupedByFramework } = _react.useMemo(()=>{\n const leadingFrames = allLeadingFrames.filter((f)=>f.expanded || all);\n const visibleCallStackFrames = allCallStackFrames.filter((f)=>f.expanded || all);\n return {\n canShowMore: allCallStackFrames.length !== visibleCallStackFrames.length || all && firstFrame != null,\n stackFramesGroupedByFramework: (0, _groupstackframesbyframework.groupStackFramesByFramework)(allCallStackFrames),\n leadingFramesGroupedByFramework: (0, _groupstackframesbyframework.groupStackFramesByFramework)(leadingFrames)\n };\n }, [\n all,\n allCallStackFrames,\n allLeadingFrames,\n firstFrame\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n firstFrame ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Source\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: leadingFramesGroupedByFramework,\n show: all\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CodeFrame.CodeFrame, {\n stackFrame: firstFrame.originalStackFrame,\n codeFrame: firstFrame.originalCodeFrame\n })\n ]\n }) : undefined,\n stackFramesGroupedByFramework.length ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Call Stack\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: stackFramesGroupedByFramework,\n show: all\n })\n ]\n }) : undefined,\n canShowMore ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-data-runtime-error-collapsed-action\": true,\n type: \"button\",\n onClick: ()=>setAll(!all),\n children: [\n all ? \"Hide\" : \"Show\",\n \" collapsed frames\"\n ]\n })\n }) : undefined\n ]\n });\n}\n_s(RuntimeError, \"IxUV+6sfFf94RV83YAUHBr0cfHM=\");\n_c = RuntimeError;\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c;\n$RefreshReg$(_c, \"RuntimeError\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQVNnQkEsY0FBWTtlQUFaQTs7SUE4RkhDLFFBQU07ZUFBTkE7Ozs7Ozs2RUF2R1U7dUNBQ0c7MENBRUU7eURBQ2dCO2dEQUNUOzs7Ozs7Ozs7O0FBSTVCLFNBQVNELGFBQWFFLEtBQTRCOztJQUE1QixNQUFFQyxLQUFLLEVBQXFCLEdBQTVCRDtJQUMzQixNQUFNLEVBQUVFLFVBQVUsRUFBRUMsZ0JBQWdCLEVBQUVDLGtCQUFrQixFQUFFLEdBQ3hEQyxPQUFNQyxPQUFPLENBQUM7UUFDWixNQUFNQyxpQkFBaUJOLE1BQU1PLE1BQU0sQ0FBQ0MsTUFBTSxDQUN4QyxDQUFDQztnQkFJT0E7bUJBSE4sQ0FDRUEsQ0FBQUEsRUFBRUMsZ0JBQWdCLENBQUNDLElBQUksS0FBSyxpQkFDNUI7Z0JBQUM7Z0JBQWE7YUFBWSxDQUFDQyxRQUFRLENBQUNILEVBQUVDLGdCQUFnQixDQUFDRyxVQUFVLE1BQzlELEdBQUNKLDJCQUFBQSxFQUFFQyxnQkFBZ0IsQ0FBQ0MsSUFBSSxxQkFBdkJGLHlCQUF5QkssVUFBVSxDQUFDOztRQUc5QyxNQUFNQyw0QkFBNEJULGVBQWVVLFNBQVMsQ0FDeEQsQ0FBQ0MsUUFDQ0EsTUFBTUMsUUFBUSxJQUNkQyxRQUFRRixNQUFNRyxpQkFBaUIsS0FDL0JELFFBQVFGLE1BQU1JLGtCQUFrQjtZQUl0QmY7UUFEZCxPQUFPO1lBQ0xMLFlBQVlLLENBQUFBLDRDQUFBQSxjQUFjLENBQUNTLDBCQUEwQixZQUF6Q1QsNENBQTZDO1lBQ3pESixrQkFDRWEsNEJBQTRCLElBQ3hCLEVBQUUsR0FDRlQsZUFBZWdCLEtBQUssQ0FBQyxHQUFHUDtZQUM5Qlosb0JBQW9CRyxlQUFlZ0IsS0FBSyxDQUFDUCw0QkFBNEI7UUFDdkU7SUFDRixHQUFHO1FBQUNmLE1BQU1PLE1BQU07S0FBQztJQUVuQixNQUFNLENBQUNnQixLQUFLQyxPQUFPLEdBQUdwQixPQUFNcUIsUUFBUSxDQUFDeEIsY0FBYztJQUVuRCxNQUFNLEVBQ0p5QixXQUFXLEVBQ1hDLCtCQUErQixFQUMvQkMsNkJBQTZCLEVBQzlCLEdBQUd4QixPQUFNQyxPQUFPLENBQUM7UUFDaEIsTUFBTXdCLGdCQUFnQjNCLGlCQUFpQk0sTUFBTSxDQUFDLENBQUNDLElBQU1BLEVBQUVTLFFBQVEsSUFBSUs7UUFDbkUsTUFBTU8seUJBQXlCM0IsbUJBQW1CSyxNQUFNLENBQ3RELENBQUNDLElBQU1BLEVBQUVTLFFBQVEsSUFBSUs7UUFHdkIsT0FBTztZQUNMRyxhQUNFdkIsbUJBQW1CNEIsTUFBTSxLQUFLRCx1QkFBdUJDLE1BQU0sSUFDMURSLE9BQU90QixjQUFjO1lBRXhCMkIsK0JBQ0VJLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBMkIsRUFBQzdCO1lBRTlCd0IsaUNBQ0VLLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBMkIsRUFBQ0g7UUFDaEM7SUFDRixHQUFHO1FBQUNOO1FBQUtwQjtRQUFvQkQ7UUFBa0JEO0tBQVc7SUFFMUQsT0FDRSxXQURGLEdBQ0UsSUFBQWdDLFlBQUFDLElBQUEsRUFBQzlCLE9BQU0rQixRQUFROztZQUNabEMsYUFDQyxXQUREQSxHQUNDLElBQUFnQyxZQUFBQyxJQUFBLEVBQUM5QixPQUFNK0IsUUFBUTs7a0NBQ2IsSUFBQUYsWUFBQUcsR0FBQSxFQUFDQyxNQUFBQTtrQ0FBRzs7a0NBQ0osSUFBQUosWUFBQUcsR0FBQSxFQUFDRSxvQkFBQUEsa0JBQWtCO3dCQUNqQkMsb0JBQW9CWjt3QkFDcEJhLE1BQU1qQjs7a0NBRVIsSUFBQVUsWUFBQUcsR0FBQSxFQUFDSyxXQUFBQSxTQUFTO3dCQUNSQyxZQUFZekMsV0FBV29CLGtCQUFrQjt3QkFDekNzQixXQUFXMUMsV0FBV21CLGlCQUFpQjs7O2lCQUd6Q3dCO1lBRUhoQiw4QkFBOEJHLE1BQU0sR0FDbkMsV0FEbUMsR0FDbkMsSUFBQUUsWUFBQUMsSUFBQSxFQUFDOUIsT0FBTStCLFFBQVE7O2tDQUNiLElBQUFGLFlBQUFHLEdBQUEsRUFBQ0MsTUFBQUE7a0NBQUc7O2tDQUNKLElBQUFKLFlBQUFHLEdBQUEsRUFBQ0Usb0JBQUFBLGtCQUFrQjt3QkFDakJDLG9CQUFvQlg7d0JBQ3BCWSxNQUFNakI7OztpQkFHUnFCO1lBQ0hsQixjQUNDLFdBRERBLEdBQ0MsSUFBQU8sWUFBQUcsR0FBQSxFQUFDaEMsT0FBTStCLFFBQVE7MEJBQ2Isa0JBQUFGLFlBQUFDLElBQUEsRUFBQ1csVUFBQUE7b0JBQ0NDLFVBQVU7b0JBQ1ZDLG1EQUErQztvQkFDL0NDLE1BQUs7b0JBQ0xDLFNBQVMsSUFBTXpCLE9BQU8sQ0FBQ0Q7O3dCQUV0QkEsTUFBTSxTQUFTO3dCQUFPOzs7aUJBR3pCcUI7OztBQUdWO0dBNUZnQi9DO0tBQUFBO0FBOEZULE1BQU1DLFNBQUFBLENBQUFBLEdBQVNvRCxjQUFBQSxJQUFHLEVBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9pbmRleC50c3g/MGYxNCJdLCJuYW1lcyI6WyJSdW50aW1lRXJyb3IiLCJzdHlsZXMiLCJwYXJhbSIsImVycm9yIiwiZmlyc3RGcmFtZSIsImFsbExlYWRpbmdGcmFtZXMiLCJhbGxDYWxsU3RhY2tGcmFtZXMiLCJSZWFjdCIsInVzZU1lbW8iLCJmaWx0ZXJlZEZyYW1lcyIsImZyYW1lcyIsImZpbHRlciIsImYiLCJzb3VyY2VTdGFja0ZyYW1lIiwiZmlsZSIsImluY2x1ZGVzIiwibWV0aG9kTmFtZSIsInN0YXJ0c1dpdGgiLCJmaXJzdEZpcnN0UGFydHlGcmFtZUluZGV4IiwiZmluZEluZGV4IiwiZW50cnkiLCJleHBhbmRlZCIsIkJvb2xlYW4iLCJvcmlnaW5hbENvZGVGcmFtZSIsIm9yaWdpbmFsU3RhY2tGcmFtZSIsInNsaWNlIiwiYWxsIiwic2V0QWxsIiwidXNlU3RhdGUiLCJjYW5TaG93TW9yZSIsImxlYWRpbmdGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsiLCJzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yayIsImxlYWRpbmdGcmFtZXMiLCJ2aXNpYmxlQ2FsbFN0YWNrRnJhbWVzIiwibGVuZ3RoIiwiZ3JvdXBTdGFja0ZyYW1lc0J5RnJhbWV3b3JrIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiRnJhZ21lbnQiLCJqc3giLCJoMiIsIkdyb3VwZWRTdGFja0ZyYW1lcyIsImdyb3VwZWRTdGFja0ZyYW1lcyIsInNob3ciLCJDb2RlRnJhbWUiLCJzdGFja0ZyYW1lIiwiY29kZUZyYW1lIiwidW5kZWZpbmVkIiwiYnV0dG9uIiwidGFiSW5kZXgiLCJkYXRhLW5leHRqcy1kYXRhLXJ1bnRpbWUtZXJyb3ItY29sbGFwc2VkLWFjdGlvbiIsInR5cGUiLCJvbkNsaWNrIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js": -/*!*************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js ***! - \*************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RootLayoutMissingTagsError\", ({\n enumerable: true,\n get: function() {\n return RootLayoutMissingTagsError;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../components/hot-linked-text */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst RootLayoutMissingTagsError = function RootLayoutMissingTagsError(param) {\n _s();\n let { missingTags, versionInfo } = param;\n const noop = _react.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_errors_label\",\n \"aria-describedby\": \"nextjs__container_errors_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogContent, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n id: \"nextjs__container_errors_label\",\n children: \"Missing required html tags\"\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: \"The following tags are missing in the Root Layout: \" + missingTags.map((tagName)=>\"<\" + tagName + \">\").join(\", \") + \".\\nRead more at https://nextjs.org/docs/messages/missing-root-layout-tags\"\n })\n })\n ]\n })\n })\n })\n });\n};\n_s(RootLayoutMissingTagsError, \"hHp3im7kVRcdOeKmK0+3cSEjzLI=\");\n_c = RootLayoutMissingTagsError;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=root-layout-missing-tags-error.js.map\nvar _c;\n$RefreshReg$(_c, \"RootLayoutMissingTagsError\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL3Jvb3QtbGF5b3V0LW1pc3NpbmctdGFncy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OERBWWFBOzs7ZUFBQUE7Ozs7OzZFQVpVO29DQUU2QjtxQ0FDNUI7a0RBQ2E7MkNBQ1A7QUFPdkIsTUFBTUEsNkJBQ1gsU0FBU0EsMkJBQTJCQyxLQUE0Qjs7SUFBNUIsTUFBRUMsV0FBVyxFQUFFQyxXQUFXLEVBQUUsR0FBNUJGO0lBQ2xDLE1BQU1HLE9BQU9DLE9BQU1DLFdBQVcsQ0FBQyxLQUFPLEdBQUcsRUFBRTtJQUMzQyxPQUNFLFdBREYsR0FDRSxJQUFBQyxZQUFBQyxHQUFBLEVBQUNDLFNBQUFBLE9BQU87a0JBQ04sa0JBQUFGLFlBQUFDLEdBQUEsRUFBQ0UsUUFBQUEsTUFBTTtZQUNMQyxNQUFLO1lBQ0xDLG1CQUFnQjtZQUNoQkMsb0JBQWlCO1lBQ2pCQyxTQUFTVjtzQkFFVCxrQkFBQUcsWUFBQUMsR0FBQSxFQUFDTyxRQUFBQSxhQUFhOzBCQUNaLGtCQUFBUixZQUFBUyxJQUFBLEVBQUNDLFFBQUFBLFlBQVk7b0JBQUNDLFdBQVU7O3NDQUN0QixJQUFBWCxZQUFBQyxHQUFBLEVBQUNXLE1BQUFBOzRCQUFHQyxJQUFHO3NDQUFpQzs7d0JBR3ZDakIsY0FBYyxXQUFkQSxHQUFjLElBQUFJLFlBQUFDLEdBQUEsRUFBQ2Esc0JBQUFBLG9CQUFvQjs0QkFBRSxHQUFHbEIsV0FBVzs2QkFBTztzQ0FDM0QsSUFBQUksWUFBQUMsR0FBQSxFQUFDYyxLQUFBQTs0QkFDQ0YsSUFBRzs0QkFDSEYsV0FBVTtzQ0FFVixrQkFBQVgsWUFBQUMsR0FBQSxFQUFDZSxlQUFBQSxhQUFhO2dDQUNaQyxNQUFNLHdEQUFzRHRCLFlBQ3pEdUIsR0FBRyxDQUFDLENBQUNDLFVBQVksTUFBSUEsVUFBUSxLQUM3QkMsSUFBSSxDQUNILFFBQ0E7Ozs7Ozs7O0FBUXBCO0dBbENXM0I7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvcm9vdC1sYXlvdXQtbWlzc2luZy10YWdzLWVycm9yLnRzeD9mZDdiIl0sIm5hbWVzIjpbIlJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yIiwicGFyYW0iLCJtaXNzaW5nVGFncyIsInZlcnNpb25JbmZvIiwibm9vcCIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJfanN4cnVudGltZSIsImpzeCIsIk92ZXJsYXkiLCJEaWFsb2ciLCJ0eXBlIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsIm9uQ2xvc2UiLCJEaWFsb2dDb250ZW50IiwianN4cyIsIkRpYWxvZ0hlYWRlciIsImNsYXNzTmFtZSIsImgzIiwiaWQiLCJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsInAiLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsIm1hcCIsInRhZ05hbWUiLCJqb2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js": -/*!****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js ***! - \****************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\nMIT License\n\nCopyright (c) 2015-present, Facebook, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return formatWebpackMessages;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(app-pages-browser)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\n// This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js\n// It's been edited to remove chalk and CRA-specific logic\nconst friendlySyntaxErrorLabel = \"Syntax error:\";\nconst WEBPACK_BREAKING_CHANGE_POLYFILLS = \"\\n\\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\";\nfunction isLikelyASyntaxError(message) {\n return (0, _stripansi.default)(message).includes(friendlySyntaxErrorLabel);\n}\nlet hadMissingSassError = false;\n// Cleans up webpack error messages.\nfunction formatMessage(message, verbose, importTraceNote) {\n // TODO: Replace this once webpack 5 is stable\n if (typeof message === \"object\" && message.message) {\n const filteredModuleTrace = message.moduleTrace && message.moduleTrace.filter((trace)=>!/next-(middleware|client-pages|route|edge-function)-loader\\.js/.test(trace.originName));\n let body = message.message;\n const breakingChangeIndex = body.indexOf(WEBPACK_BREAKING_CHANGE_POLYFILLS);\n if (breakingChangeIndex >= 0) {\n body = body.slice(0, breakingChangeIndex);\n }\n message = (message.moduleName ? (0, _stripansi.default)(message.moduleName) + \"\\n\" : \"\") + (message.file ? (0, _stripansi.default)(message.file) + \"\\n\" : \"\") + body + (message.details && verbose ? \"\\n\" + message.details : \"\") + (filteredModuleTrace && filteredModuleTrace.length ? (importTraceNote || \"\\n\\nImport trace for requested module:\") + filteredModuleTrace.map((trace)=>\"\\n\" + trace.moduleName).join(\"\") : \"\") + (message.stack && verbose ? \"\\n\" + message.stack : \"\");\n }\n let lines = message.split(\"\\n\");\n // Strip Webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line)=>!/Module [A-z ]+\\(from/.test(line));\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line)=>{\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return friendlySyntaxErrorLabel + \" \" + errorMessage + \" (\" + errorLine + \":\" + errorColumn + \")\";\n });\n message = lines.join(\"\\n\");\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(/SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g, \"\" + friendlySyntaxErrorLabel + \" $3 ($1:$2)\\n\");\n // Clean up export errors\n message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$2'.\");\n message = message.replace(/^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$2' does not contain a default export (imported as '$1').\");\n message = message.replace(/^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$3' (imported as '$2').\");\n lines = message.split(\"\\n\");\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === \"\") {\n lines.splice(1, 1);\n }\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf(\"Module not found: \") === 0) {\n lines = [\n lines[0],\n lines[1].replace(\"Error: \", \"\").replace(\"Module not found: Cannot find file:\", \"Cannot find file:\"),\n ...lines.slice(2)\n ];\n }\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {\n // ./file.module.scss (<<loader info>>) => ./file.module.scss\n const firstLine = lines[0].split(\"!\");\n lines[0] = firstLine[firstLine.length - 1];\n lines[1] = \"To use Next.js' built-in Sass support, you first need to install `sass`.\\n\";\n lines[1] += \"Run `npm i sass` or `yarn add sass` inside your workspace.\\n\";\n lines[1] += \"\\nLearn more: https://nextjs.org/docs/messages/install-sass\";\n // dispose of unhelpful stack trace\n lines = lines.slice(0, 2);\n hadMissingSassError = true;\n } else if (hadMissingSassError && message.match(/(sass-loader|resolve-url-loader: CSS error)/)) {\n // dispose of unhelpful stack trace following missing sass module\n lines = [];\n }\n if (!verbose) {\n message = lines.join(\"\\n\");\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by Webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, \"\") // at ... ...:x:y\n ;\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, \"\") // at <anonymous>\n ;\n message = message.replace(/File was processed with these loaders:\\n(.+[\\\\/](next[\\\\/]dist[\\\\/].+|@next[\\\\/]react-refresh-utils[\\\\/]loader)\\.js\\n)*You may need an additional loader to handle the result of these loaders.\\n/g, \"\");\n lines = message.split(\"\\n\");\n }\n // Remove duplicated newlines\n lines = lines.filter((line, index, arr)=>index === 0 || line.trim() !== \"\" || line.trim() !== arr[index - 1].trim());\n // Reassemble the message\n message = lines.join(\"\\n\");\n return message.trim();\n}\nfunction formatWebpackMessages(json, verbose) {\n const formattedErrors = json.errors.map((message)=>{\n const isUnknownNextFontError = message.message.includes(\"An error occurred in `next/font`.\");\n return formatMessage(message, isUnknownNextFontError || verbose);\n });\n const formattedWarnings = json.warnings.map((message)=>{\n return formatMessage(message, verbose);\n });\n // Reorder errors to put the most relevant ones first.\n let reactServerComponentsError = -1;\n for(let i = 0; i < formattedErrors.length; i++){\n const error = formattedErrors[i];\n if (error.includes(\"ReactServerComponentsError\")) {\n reactServerComponentsError = i;\n break;\n }\n }\n // Move the reactServerComponentsError to the top if it exists\n if (reactServerComponentsError !== -1) {\n const error = formattedErrors.splice(reactServerComponentsError, 1);\n formattedErrors.unshift(error[0]);\n }\n const result = {\n ...json,\n errors: formattedErrors,\n warnings: formattedWarnings\n };\n if (!verbose && result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n result.warnings = [];\n }\n return result;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=format-webpack-messages.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9mb3JtYXQtd2VicGFjay1tZXNzYWdlcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCQTs7OzsyQ0FpS0E7OztlQUF3QkE7Ozs7Z0ZBaEtGO0FBQ3RCLHFLQUFxSztBQUNySywwREFBMEQ7QUFFMUQsTUFBTUMsMkJBQTJCO0FBRWpDLE1BQU1DLG9DQUNKO0FBRUYsU0FBU0MscUJBQXFCQyxPQUFlO0lBQzNDLE9BQU9DLENBQUFBLEdBQUFBLFdBQUFBLE9BQVMsRUFBQ0QsU0FBU0UsUUFBUSxDQUFDTDtBQUNyQztBQUVBLElBQUlNLHNCQUFzQjtBQUUxQixvQ0FBb0M7QUFDcEMsU0FBU0MsY0FDUEosT0FBWSxFQUNaSyxPQUFpQixFQUNqQkMsZUFBeUI7SUFFekIsOENBQThDO0lBQzlDLElBQUksT0FBT04sWUFBWSxZQUFZQSxRQUFRQSxPQUFPLEVBQUU7UUFDbEQsTUFBTU8sc0JBQ0pQLFFBQVFRLFdBQVcsSUFDbkJSLFFBQVFRLFdBQVcsQ0FBQ0MsTUFBTSxDQUN4QixDQUFDQyxRQUNDLENBQUMsZ0VBQWdFQyxJQUFJLENBQ25FRCxNQUFNRSxVQUFVO1FBSXhCLElBQUlDLE9BQU9iLFFBQVFBLE9BQU87UUFDMUIsTUFBTWMsc0JBQXNCRCxLQUFLRSxPQUFPLENBQUNqQjtRQUN6QyxJQUFJZ0IsdUJBQXVCLEdBQUc7WUFDNUJELE9BQU9BLEtBQUtHLEtBQUssQ0FBQyxHQUFHRjtRQUN2QjtRQUVBZCxVQUNFLENBQUNBLFFBQVFpQixVQUFVLEdBQUdoQixDQUFBQSxHQUFBQSxXQUFBQSxPQUFTLEVBQUNELFFBQVFpQixVQUFVLElBQUksT0FBTyxNQUM1RGpCLENBQUFBLFFBQVFrQixJQUFJLEdBQUdqQixDQUFBQSxHQUFBQSxXQUFBQSxPQUFTLEVBQUNE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LENBQUNXLDRCQUE0QjtRQUNqRUwsZ0JBQWdCUSxPQUFPLENBQUNELEtBQUssQ0FBQyxFQUFFO0lBQ2xDO0lBRUEsTUFBTUUsU0FBUztRQUNiLEdBQUdWLElBQUk7UUFDUEUsUUFBUUQ7UUFDUkksVUFBVUQ7SUFDWjtJQUNBLElBQUksQ0FBQ3RDLFdBQVc0QyxPQUFPUixNQUFNLENBQUNTLElBQUksQ0FBQ25ELHVCQUF1QjtRQUN4RCxrREFBa0Q7UUFDbERrRCxPQUFPUixNQUFNLEdBQUdRLE9BQU9SLE1BQU0sQ0FBQ2hDLE1BQU0sQ0FBQ1Y7UUFDckNrRCxPQUFPTCxRQUFRLEdBQUcsRUFBRTtJQUN0QjtJQUNBLE9BQU9LO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL2Zvcm1hdC13ZWJwYWNrLW1lc3NhZ2VzLnRzPzg1MWQiXSwibmFtZXMiOlsiZm9ybWF0V2VicGFja01lc3NhZ2VzIiwiZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsIiwiV0VCUEFDS19CUkVBS0lOR19DSEFOR0VfUE9MWUZJTExTIiwiaXNMaWtlbHlBU3ludGF4RXJyb3IiLCJtZXNzYWdlIiwic3RyaXBBbnNpIiwiaW5jbHVkZXMiLCJoYWRNaXNzaW5nU2Fzc0Vycm9yIiwiZm9ybWF0TWVzc2FnZSIsInZlcmJvc2UiLCJpbXBvcnRUcmFjZU5vdGUiLCJmaWx0ZXJlZE1vZHVsZVRyYWNlIiwibW9kdWxlVHJhY2UiLCJmaWx0ZXIiLCJ0cmFjZSIsInRlc3QiLCJvcmlnaW5OYW1lIiwiYm9keSIsImJyZWFraW5nQ2hhbmdlSW5kZXgiLCJpbmRleE9mIiwic2xpY2UiLCJtb2R1bGVOYW1lIiwiZmlsZSIsImRldGFpbHMiLCJsZW5ndGgiLCJtYXAiLCJqb2luIiwic3RhY2siLCJsaW5lcyIsInNwbGl0IiwibGluZSIsInBhcnNpbmdFcnJvciIsImV4ZWMiLCJlcnJvckxpbmUiLCJlcnJvckNvbHVtbiIsImVycm9yTWVzc2FnZSIsInJlcGxhY2UiLCJ0cmltIiwic3BsaWNlIiwibWF0Y2giLCJmaXJzdExpbmUiLCJpbmRleCIsImFyciIsImpzb24iLCJmb3JtYXR0ZWRFcnJvcnMiLCJlcnJvcnMiLCJpc1Vua25vd25OZXh0Rm9udEVycm9yIiwiZm9ybWF0dGVkV2FybmluZ3MiLCJ3YXJuaW5ncyIsInJlYWN0U2VydmVyQ29tcG9uZW50c0Vycm9yIiwiaSIsImVycm9yIiwidW5zaGlmdCIsInJlc3VsdCIsInNvbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSocketUrl\", ({\n enumerable: true,\n get: function() {\n return getSocketUrl;\n }\n}));\nfunction getSocketProtocol(assetPrefix) {\n let protocol = window.location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (e) {}\n return protocol === \"http:\" ? \"ws\" : \"wss\";\n}\nfunction getSocketUrl(assetPrefix) {\n const { hostname, port } = window.location;\n const protocol = getSocketProtocol(assetPrefix);\n const normalizedAssetPrefix = assetPrefix.replace(/^\\/+/, \"\");\n let url = protocol + \"://\" + hostname + \":\" + port + (normalizedAssetPrefix ? \"/\" + normalizedAssetPrefix : \"\");\n if (normalizedAssetPrefix.startsWith(\"http\")) {\n url = protocol + \"://\" + normalizedAssetPrefix.split(\"://\", 2)[1];\n }\n return url;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-socket-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9nZXQtc29ja2V0LXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQVdnQkE7OztlQUFBQTs7O0FBWGhCLFNBQVNDLGtCQUFrQkMsV0FBbUI7SUFDNUMsSUFBSUMsV0FBV0MsT0FBT0MsUUFBUSxDQUFDRixRQUFRO0lBRXZDLElBQUk7UUFDRix1QkFBdUI7UUFDdkJBLFdBQVcsSUFBSUcsSUFBSUosYUFBYUMsUUFBUTtJQUMxQyxFQUFFLE9BQUFJLEdBQU0sQ0FBQztJQUVULE9BQU9KLGFBQWEsVUFBVSxPQUFPO0FBQ3ZDO0FBRU8sU0FBU0gsYUFBYUUsV0FBbUI7SUFDOUMsTUFBTSxFQUFFTSxRQUFRLEVBQUVDLElBQUksRUFBRSxHQUFHTCxPQUFPQyxRQUFRO0lBQzFDLE1BQU1GLFdBQVdGLGtCQUFrQkM7SUFDbkMsTUFBTVEsd0JBQXdCUixZQUFZUyxPQUFPLENBQUMsUUFBUTtJQUUxRCxJQUFJQyxNQUFNVCxXQUFZLFFBQUtLLFdBQVMsTUFBR0MsT0FDckNDLENBQUFBLHdCQUF3QixNQUFJQSx3QkFBMEI7SUFHeEQsSUFBSUEsc0JBQXNCRyxVQUFVLENBQUMsU0FBUztRQUM1Q0QsTUFBTVQsV0FBWSxRQUFLTyxzQkFBc0JJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO0lBQ2pFO0lBRUEsT0FBT0Y7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0LXNvY2tldC11cmwudHM/ZDcyZiJdLCJuYW1lcyI6WyJnZXRTb2NrZXRVcmwiLCJnZXRTb2NrZXRQcm90b2NvbCIsImFzc2V0UHJlZml4IiwicHJvdG9jb2wiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsIlVSTCIsImUiLCJob3N0bmFtZSIsInBvcnQiLCJub3JtYWxpemVkQXNzZXRQcmVmaXgiLCJyZXBsYWNlIiwidXJsIiwic3RhcnRzV2l0aCIsInNwbGl0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getErrorByType\", ({\n enumerable: true,\n get: function() {\n return getErrorByType;\n }\n}));\nconst _shared = __webpack_require__(/*! ../../shared */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _stackframe = __webpack_require__(/*! ./stack-frame */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/error-source.js\");\nasync function getErrorByType(ev, isAppDir) {\n const { id, event } = ev;\n switch(event.type){\n case _shared.ACTION_UNHANDLED_ERROR:\n case _shared.ACTION_UNHANDLED_REJECTION:\n {\n const readyRuntimeError = {\n id,\n runtime: true,\n error: event.reason,\n frames: await (0, _stackframe.getOriginalStackFrames)(event.frames, (0, _errorsource.getErrorSource)(event.reason), isAppDir, event.reason.toString())\n };\n if (event.type === _shared.ACTION_UNHANDLED_ERROR) {\n readyRuntimeError.componentStackFrames = event.componentStackFrames;\n }\n return readyRuntimeError;\n }\n default:\n {\n break;\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n throw new Error(\"type system invariant violation\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=getErrorByType.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9nZXRFcnJvckJ5VHlwZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQWtCc0JBOzs7ZUFBQUE7OztvQ0FmZjt3Q0FFZ0M7eUNBR1I7QUFVeEIsZUFBZUEsZUFDcEJDLEVBQXVCLEVBQ3ZCQyxRQUFpQjtJQUVqQixNQUFNLEVBQUVDLEVBQUUsRUFBRUMsS0FBSyxFQUFFLEdBQUdIO0lBQ3RCLE9BQVFHLE1BQU1DLElBQUk7UUFDaEIsS0FBS0MsUUFBQUEsc0JBQXNCO1FBQzNCLEtBQUtDLFFBQUFBLDBCQUEwQjtZQUFFO2dCQUMvQixNQUFNQyxvQkFBdUM7b0JBQzNDTDtvQkFDQU0sU0FBUztvQkFDVEMsT0FBT04sTUFBTU8sTUFBTTtvQkFDbkJDLFFBQVEsTUFBTUMsQ0FBQUEsR0FBQUEsWUFBQUEsc0JBQXNCLEVBQ2xDVCxNQUFNUSxNQUFNLEVBQ1pFLENBQUFBLEdBQUFBLGFBQUFBLGNBQWMsRUFBQ1YsTUFBTU8sTUFBTSxHQUMzQlQsVUFDQUUsTUFBTU8sTUFBTSxDQUFDSSxRQUFRO2dCQUV6QjtnQkFDQSxJQUFJWCxNQUFNQyxJQUFJLEtBQUtDLFFBQUFBLHNCQUFzQixFQUFFO29CQUN6Q0Usa0JBQWtCUSxvQkFBb0IsR0FBR1osTUFBTVksb0JBQW9CO2dCQUNyRTtnQkFDQSxPQUFPUjtZQUNUO1FBQ0E7WUFBUztnQkFDUDtZQUNGO0lBQ0Y7SUFDQSw2REFBNkQ7SUFDN0QsTUFBTVMsSUFBV2I7SUFDakIsTUFBTSxJQUFJYyxNQUFNO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9nZXRFcnJvckJ5VHlwZS50cz9iMTFmIl0sIm5hbWVzIjpbImdldEVycm9yQnlUeXBlIiwiZXYiLCJpc0FwcERpciIsImlkIiwiZXZlbnQiLCJ0eXBlIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwicmVhZHlSdW50aW1lRXJyb3IiLCJydW50aW1lIiwiZXJyb3IiLCJyZWFzb24iLCJmcmFtZXMiLCJnZXRPcmlnaW5hbFN0YWNrRnJhbWVzIiwiZ2V0RXJyb3JTb3VyY2UiLCJ0b1N0cmluZyIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwiXyIsIkVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js": -/*!************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js ***! - \************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"groupStackFramesByFramework\", ({\n enumerable: true,\n get: function() {\n return groupStackFramesByFramework;\n }\n}));\nfunction groupStackFramesByFramework(stackFrames) {\n const stackFramesGroupedByFramework = [];\n for (const stackFrame of stackFrames){\n const currentGroup = stackFramesGroupedByFramework[stackFramesGroupedByFramework.length - 1];\n const framework = stackFrame.sourcePackage;\n if (currentGroup && currentGroup.framework === framework) {\n currentGroup.stackFrames.push(stackFrame);\n } else {\n stackFramesGroupedByFramework.push({\n framework: framework,\n stackFrames: [\n stackFrame\n ]\n });\n }\n }\n return stackFramesGroupedByFramework;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=group-stack-frames-by-framework.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ncm91cC1zdGFjay1mcmFtZXMtYnktZnJhbWV3b3JrLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0RBNkJnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsNEJBQ2RDLFdBQWlDO0lBRWpDLE1BQU1DLGdDQUFvRCxFQUFFO0lBRTVELEtBQUssTUFBTUMsY0FBY0YsWUFBYTtRQUNwQyxNQUFNRyxlQUNKRiw2QkFBNkIsQ0FBQ0EsOEJBQThCRyxNQUFNLEdBQUcsRUFBRTtRQUN6RSxNQUFNQyxZQUFZSCxXQUFXSSxhQUFhO1FBRTFDLElBQUlILGdCQUFnQkEsYUFBYUUsU0FBUyxLQUFLQSxXQUFXO1lBQ3hERixhQUFhSCxXQUFXLENBQUNPLElBQUksQ0FBQ0w7UUFDaEMsT0FBTztZQUNMRCw4QkFBOEJNLElBQUksQ0FBQztnQkFDakNGLFdBQVdBO2dCQUNYTCxhQUFhO29CQUFDRTtpQkFBVztZQUMzQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPRDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ncm91cC1zdGFjay1mcmFtZXMtYnktZnJhbWV3b3JrLnRzP2MyNGMiXSwibmFtZXMiOlsiZ3JvdXBTdGFja0ZyYW1lc0J5RnJhbWV3b3JrIiwic3RhY2tGcmFtZXMiLCJzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yayIsInN0YWNrRnJhbWUiLCJjdXJyZW50R3JvdXAiLCJsZW5ndGgiLCJmcmFtZXdvcmsiLCJzb3VyY2VQYWNrYWdlIiwicHVzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getHydrationWarningType: function() {\n return getHydrationWarningType;\n },\n hydrationErrorState: function() {\n return hydrationErrorState;\n },\n patchConsoleError: function() {\n return patchConsoleError;\n }\n});\nconst getHydrationWarningType = (msg)=>{\n if (isHtmlTagsWarning(msg)) return \"tag\";\n if (isTextInTagsMismatchWarning(msg)) return \"text-in-tag\";\n return \"text\";\n};\nconst isHtmlTagsWarning = (msg)=>Boolean(msg && htmlTagsWarnings.has(msg));\nconst isTextMismatchWarning = (msg)=>textMismatchWarning === msg;\nconst isTextInTagsMismatchWarning = (msg)=>Boolean(msg && textAndTagsMismatchWarnings.has(msg));\nconst isKnownHydrationWarning = (msg)=>isHtmlTagsWarning(msg) || isTextInTagsMismatchWarning(msg) || isTextMismatchWarning(msg);\nconst hydrationErrorState = {};\n// https://github.com/facebook/react/blob/main/packages/react-dom/src/__tests__/ReactDOMHydrationDiff-test.js used as a reference\nconst htmlTagsWarnings = new Set([\n 'Warning: Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async=\"\" or moving it into the root <head> tag.%s',\n \"Warning: In HTML, %s cannot be a child of <%s>.%s\\nThis will cause a hydration error.%s\",\n \"Warning: In HTML, %s cannot be a descendant of <%s>.\\nThis will cause a hydration error.%s\",\n \"Warning: In HTML, text nodes cannot be a child of <%s>.\\nThis will cause a hydration error.\",\n \"Warning: In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\\nThis will cause a hydration error.\",\n \"Warning: Expected server HTML to contain a matching <%s> in <%s>.%s\",\n \"Warning: Did not expect server HTML to contain a <%s> in <%s>.%s\"\n]);\nconst textAndTagsMismatchWarnings = new Set([\n 'Warning: Expected server HTML to contain a matching text node for \"%s\" in <%s>.%s',\n 'Warning: Did not expect server HTML to contain the text node \"%s\" in <%s>.%s'\n]);\nconst textMismatchWarning = 'Warning: Text content did not match. Server: \"%s\" Client: \"%s\"%s';\nfunction patchConsoleError() {\n const prev = console.error;\n console.error = function(msg, serverContent, clientContent, componentStack) {\n if (isKnownHydrationWarning(msg)) {\n hydrationErrorState.warning = [\n // remove the last %s from the message\n msg,\n serverContent,\n clientContent\n ];\n hydrationErrorState.componentStack = componentStack;\n hydrationErrorState.serverContent = serverContent;\n hydrationErrorState.clientContent = clientContent;\n }\n // @ts-expect-error argument is defined\n prev.apply(console, arguments);\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hydration-error-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9oeWRyYXRpb24tZXJyb3ItaW5mby5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFVYUEseUJBQXVCO2VBQXZCQTs7SUFvQkFDLHFCQUFtQjtlQUFuQkE7O0lBeUJHQyxtQkFBaUI7ZUFBakJBOzs7QUE3Q1QsTUFBTUYsMEJBQTBCLENBQ3JDRztJQUVBLElBQUlDLGtCQUFrQkQsTUFBTSxPQUFPO0lBQ25DLElBQUlFLDRCQUE0QkYsTUFBTSxPQUFPO0lBQzdDLE9BQU87QUFDVDtBQUVBLE1BQU1DLG9CQUFvQixDQUFDRCxNQUN6QkcsUUFBUUgsT0FBT0ksaUJBQWlCQyxHQUFHLENBQUNMO0FBRXRDLE1BQU1NLHdCQUF3QixDQUFDTixNQUFzQk8sd0JBQXdCUDtBQUM3RSxNQUFNRSw4QkFBOEIsQ0FBQ0YsTUFDbkNHLFFBQVFILE9BQU9RLDRCQUE0QkgsR0FBRyxDQUFDTDtBQUVqRCxNQUFNUywwQkFBMEIsQ0FBQ1QsTUFDL0JDLGtCQUFrQkQsUUFDbEJFLDRCQUE0QkYsUUFDNUJNLHNCQUFzQk47QUFFakIsTUFBTUYsc0JBQTJDLENBQUM7QUFFekQsaUlBQWlJO0FBQ2pJLE1BQU1NLG1CQUFtQixJQUFJTSxJQUFJO0lBQy9CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFDRCxNQUFNRiw4QkFBOEIsSUFBSUUsSUFBSTtJQUMxQztJQUNBO0NBQ0Q7QUFDRCxNQUFNSCxzQkFDSjtBQVFLLFNBQVNSO0lBQ2QsTUFBTVksT0FBT0MsUUFBUUMsS0FBSztJQUMxQkQsUUFBUUMsS0FBSyxHQUFHLFNBQVViLEdBQUcsRUFBRWMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGNBQWM7UUFDekUsSUFBSVAsd0JBQXdCVCxNQUFNO1lBQ2hDRixvQkFBb0JtQixPQUFPLEdBQUc7Z0JBQzVCLHNDQUFzQztnQkFDdENqQjtnQkFDQWM7Z0JBQ0FDO2FBQ0Q7WUFDRGpCLG9CQUFvQmtCLGNBQWMsR0FBR0E7WUFDckNsQixvQkFBb0JnQixhQUFhLEdBQUdBO1lBQ3BDaEIsb0JBQW9CaUIsYUFBYSxHQUFHQTtRQUN0QztRQUVBLHVDQUF1QztRQUN2Q0osS0FBS08sS0FBSyxDQUFDTixTQUFTTztJQUN0QjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9oeWRyYXRpb24tZXJyb3ItaW5mby50cz84NDI3Il0sIm5hbWVzIjpbImdldEh5ZHJhdGlvbldhcm5pbmdUeXBlIiwiaHlkcmF0aW9uRXJyb3JTdGF0ZSIsInBhdGNoQ29uc29sZUVycm9yIiwibXNnIiwiaXNIdG1sVGFnc1dhcm5pbmciLCJpc1RleHRJblRhZ3NNaXNtYXRjaFdhcm5pbmciLCJCb29sZWFuIiwiaHRtbFRhZ3NXYXJuaW5ncyIsImhhcyIsImlzVGV4dE1pc21hdGNoV2FybmluZyIsInRleHRNaXNtYXRjaFdhcm5pbmciLCJ0ZXh0QW5kVGFnc01pc21hdGNoV2FybmluZ3MiLCJpc0tub3duSHlkcmF0aW9uV2FybmluZyIsIlNldCIsInByZXYiLCJjb25zb2xlIiwiZXJyb3IiLCJzZXJ2ZXJDb250ZW50IiwiY2xpZW50Q29udGVudCIsImNvbXBvbmVudFN0YWNrIiwid2FybmluZyIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js": -/*!******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js ***! - \******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"noop\", ({\n enumerable: true,\n get: function() {\n return noop;\n }\n}));\nfunction noop(strings) {\n for(var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n keys[_key - 1] = arguments[_key];\n }\n const lastIndex = strings.length - 1;\n return strings.slice(0, lastIndex).reduce((p, s, i)=>p + s + keys[i], \"\") + strings[lastIndex];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-template.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ub29wLXRlbXBsYXRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7d0NBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxLQUNkQyxPQUE2QjtJQUM3QixRQUFBQyxPQUFBQyxVQUFBQyxNQUFBLEVBQUFDLE9BQUEsSUFBQUMsTUFBQUosT0FBQSxJQUFBQSxPQUFBLFFBQUFLLE9BQUEsR0FBQUEsT0FBQUwsTUFBQUssT0FBQTtRQUFHRixJQUFBQSxDQUFIRSxPQUFBLEtBQUFKLFNBQUEsQ0FBQUksS0FBMEI7O0lBRTFCLE1BQU1DLFlBQVlQLFFBQVFHLE1BQU0sR0FBRztJQUNuQyxPQUNFSCxRQUFRUSxLQUFLLENBQUMsR0FBR0QsV0FBV0UsTUFBTSxDQUFDLENBQUNDLEdBQUdDLEdBQUdDLElBQU1GLElBQUlDLElBQUlQLElBQUksQ0FBQ1EsRUFBRSxFQUFFLE1BQ2pFWixPQUFPLENBQUNPLFVBQVU7QUFFdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL25vb3AtdGVtcGxhdGUudHM/ZWE2OCJdLCJuYW1lcyI6WyJub29wIiwic3RyaW5ncyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJrZXlzIiwiQXJyYXkiLCJfa2V5IiwibGFzdEluZGV4Iiwic2xpY2UiLCJyZWR1Y2UiLCJwIiwicyIsImkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js ***! - \**************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseComponentStack\", ({\n enumerable: true,\n get: function() {\n return parseComponentStack;\n }\n}));\nvar LocationType;\n(function(LocationType) {\n LocationType[\"FILE\"] = \"file\";\n LocationType[\"WEBPACK_INTERNAL\"] = \"webpack-internal\";\n LocationType[\"HTTP\"] = \"http\";\n LocationType[\"PROTOCOL_RELATIVE\"] = \"protocol-relative\";\n LocationType[\"UNKNOWN\"] = \"unknown\";\n})(LocationType || (LocationType = {}));\n/**\n * Get the type of frame line based on the location\n */ function getLocationType(location) {\n if (location.startsWith(\"file://\")) {\n return \"file\";\n }\n if (location.startsWith(\"webpack-internal://\")) {\n return \"webpack-internal\";\n }\n if (location.startsWith(\"http://\") || location.startsWith(\"https://\")) {\n return \"http\";\n }\n if (location.startsWith(\"//\")) {\n return \"protocol-relative\";\n }\n return \"unknown\";\n}\nfunction parseStackFrameLocation(location) {\n const locationType = getLocationType(location);\n const modulePath = location == null ? void 0 : location.replace(/^(webpack-internal:\\/\\/\\/|file:\\/\\/)(\\(.*\\)\\/)?/, \"\");\n var _modulePath_match;\n const [, file, lineNumber, column] = (_modulePath_match = modulePath == null ? void 0 : modulePath.match(/^(.+):(\\d+):(\\d+)/)) != null ? _modulePath_match : [];\n switch(locationType){\n case \"file\":\n case \"webpack-internal\":\n return {\n canOpenInEditor: true,\n file,\n lineNumber: lineNumber ? Number(lineNumber) : undefined,\n column: column ? Number(column) : undefined\n };\n // When the location is a URL we only show the file\n // TODO: Resolve http(s) URLs through sourcemaps\n case \"http\":\n case \"protocol-relative\":\n case \"unknown\":\n default:\n {\n return {\n canOpenInEditor: false\n };\n }\n }\n}\nfunction parseComponentStack(componentStack) {\n const componentStackFrames = [];\n for (const line of componentStack.trim().split(\"\\n\")){\n // Get component and file from the component stack line\n const match = /at ([^ ]+)( \\((.*)\\))?/.exec(line);\n if (match == null ? void 0 : match[1]) {\n const component = match[1];\n const location = match[3];\n if (!location) {\n componentStackFrames.push({\n canOpenInEditor: false,\n component\n });\n continue;\n }\n // Stop parsing the component stack if we reach a Next.js component\n if (location == null ? void 0 : location.includes(\"next/dist\")) {\n break;\n }\n const frameLocation = parseStackFrameLocation(location);\n componentStackFrames.push({\n component,\n ...frameLocation\n });\n }\n }\n return componentStackFrames;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parse-component-stack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9wYXJzZS1jb21wb25lbnQtc3RhY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFxRWdCQTs7O2VBQUFBOzs7O1VBN0RYQyxZQUFBQTs7Ozs7O0dBQUFBLGdCQUFBQSxDQUFBQSxlQUFBQSxDQUFBQSxDQUFBQTtBQVFMOztDQUVDLEdBQ0QsU0FBU0MsZ0JBQWdCQyxRQUFnQjtJQUN2QyxJQUFJQSxTQUFTQyxVQUFVLENBQUMsWUFBWTtRQUNsQztJQUNGO0lBQ0EsSUFBSUQsU0FBU0MsVUFBVSxDQUFDLHdCQUF3QjtRQUM5QztJQUNGO0lBQ0EsSUFBSUQsU0FBU0MsVUFBVSxDQUFDLGNBQWNELFNBQVNDLFVBQVUsQ0FBQyxhQUFhO1FBQ3JFO0lBQ0Y7SUFDQSxJQUFJRCxTQUFTQyxVQUFVLENBQUMsT0FBTztRQUM3QjtJQUNGO0lBQ0E7QUFDRjtBQUVBLFNBQVNDLHdCQUNQRixRQUFnQjtJQUVoQixNQUFNRyxlQUFlSixnQkFBZ0JDO0lBRXJDLE1BQU1JLGFBQWFKLFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVVLLE9BQU8sQ0FDbEMsbURBQ0E7UUFHQUQ7SUFERixNQUFNLEdBQUdFLE1BQU1DLFlBQVlDLE9BQU8sR0FDaENKLENBQUFBLG9CQUFBQSxjQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxXQUFZSyxLQUFLLENBQUMsZ0NBQWxCTCxvQkFBMEMsRUFBRTtJQUU5QyxPQUFRRDtRQUNOO1FBQ0E7WUFDRSxPQUFPO2dCQUNMTyxpQkFBaUI7Z0JBQ2pCSjtnQkFDQUMsWUFBWUEsYUFBYUksT0FBT0osY0FBY0s7Z0JBQzlDSixRQUFRQSxTQUFTRyxPQUFPSCxVQUFVSTtZQUNwQztRQUNGLG1EQUFtRDtRQUNuRCxnREFBZ0Q7UUFDaEQ7UUFDQTtRQUNBO1FBQ0E7WUFBUztnQkFDUCxPQUFPO29CQUNMRixpQkFBaUI7Z0JBQ25CO1lBQ0Y7SUFDRjtBQUNGO0FBRU8sU0FBU2Isb0JBQ2RnQixjQUFzQjtJQUV0QixNQUFNQyx1QkFBOEMsRUFBRTtJQUN0RCxLQUFLLE1BQU1DLFFBQVFGLGVBQWVHLElBQUksR0FBR0MsS0FBSyxDQUFDLE1BQU87UUFDcEQsdURBQXVEO1FBQ3ZELE1BQU1SLFFBQVEseUJBQXlCUyxJQUFJLENBQUNIO1FBQzVDLElBQUlOLFNBQUFBLE9BQUFBLEtBQUFBLElBQUFBLEtBQU8sQ0FBQyxFQUFFLEVBQUU7WUFDZCxNQUFNVSxZQUFZVixLQUFLLENBQUMsRUFBRTtZQUMxQixNQUFNVCxXQUFXUyxLQUFLLENBQUMsRUFBRTtZQUV6QixJQUFJLENBQUNULFVBQVU7Z0JBQ2JjLHFCQUFxQk0sSUFBSSxDQUFDO29CQUN4QlYsaUJBQWlCO29CQUNqQlM7Z0JBQ0Y7Z0JBQ0E7WUFDRjtZQUVBLG1FQUFtRTtZQUNuRSxJQUFJbkIsWUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsU0FBVXFCLFFBQVEsQ0FBQyxjQUFjO2dCQUNuQztZQUNGO1lBRUEsTUFBTUMsZ0JBQWdCcEIsd0JBQXdCRjtZQUM5Q2MscUJBQXFCTSxJQUFJLENBQUM7Z0JBQ3hCRDtnQkFDQSxHQUFHRyxhQUFhO1lBQ2xCO1FBQ0Y7SUFDRjtJQUVBLE9BQU9SO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlLWNvbXBvbmVudC1zdGFjay50cz9jMGE0Il0sIm5hbWVzIjpbInBhcnNlQ29tcG9uZW50U3RhY2siLCJMb2NhdGlvblR5cGUiLCJnZXRMb2NhdGlvblR5cGUiLCJsb2NhdGlvbiIsInN0YXJ0c1dpdGgiLCJwYXJzZVN0YWNrRnJhbWVMb2NhdGlvbiIsImxvY2F0aW9uVHlwZSIsIm1vZHVsZVBhdGgiLCJyZXBsYWNlIiwiZmlsZSIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJtYXRjaCIsImNhbk9wZW5JbkVkaXRvciIsIk51bWJlciIsInVuZGVmaW5lZCIsImNvbXBvbmVudFN0YWNrIiwiY29tcG9uZW50U3RhY2tGcmFtZXMiLCJsaW5lIiwidHJpbSIsInNwbGl0IiwiZXhlYyIsImNvbXBvbmVudCIsInB1c2giLCJpbmNsdWRlcyIsImZyYW1lTG9jYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js ***! - \***************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseStack\", ({\n enumerable: true,\n get: function() {\n return parseStack;\n }\n}));\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"(app-pages-browser)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nconst regexNextStatic = /\\/_next(\\/static\\/.+)/;\nfunction parseStack(stack) {\n const frames = (0, _stacktraceparser.parse)(stack);\n return frames.map((frame)=>{\n try {\n const url = new URL(frame.file);\n const res = regexNextStatic.exec(url.pathname);\n if (res) {\n var _process_env___NEXT_DIST_DIR_replace, _process_env___NEXT_DIST_DIR;\n const distDir = (_process_env___NEXT_DIST_DIR = \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/.next\") == null ? void 0 : (_process_env___NEXT_DIST_DIR_replace = _process_env___NEXT_DIST_DIR.replace(/\\\\/g, \"/\")) == null ? void 0 : _process_env___NEXT_DIST_DIR_replace.replace(/\\/$/, \"\");\n if (distDir) {\n frame.file = \"file://\" + distDir.concat(res.pop()) + url.search;\n }\n }\n } catch (e) {}\n return frame;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parseStack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9wYXJzZVN0YWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7OENBS2dCQTs7O2VBQUFBOzs7OENBTE07QUFHdEIsTUFBTUMsa0JBQWtCO0FBRWpCLFNBQVNELFdBQVdFLEtBQWE7SUFDdEMsTUFBTUMsU0FBU0MsQ0FBQUEsR0FBQUEsa0JBQUFBLEtBQUssRUFBQ0Y7SUFDckIsT0FBT0MsT0FBT0UsR0FBRyxDQUFDLENBQUNDO1FBQ2pCLElBQUk7WUFDRixNQUFNQyxNQUFNLElBQUlDLElBQUlGLE1BQU1HLElBQUk7WUFDOUIsTUFBTUMsTUFBTVQsZ0JBQWdCVSxJQUFJLENBQUNKLElBQUlLLFFBQVE7WUFDN0MsSUFBSUYsS0FBSztvQkFDU0csc0NBQUFBO2dCQUFoQixNQUFNQyxVQUFBQSxDQUFVRCwrQkFBQUEsNkRBQTJCLHNCQUEzQkEsdUNBQUFBLDZCQUNaSSxPQUFPLENBQUMsT0FBTyx5QkFESEoscUNBRVpJLE9BQU8sQ0FBQyxPQUFPO2dCQUNuQixJQUFJSCxTQUFTO29CQUNYUixNQUFNRyxJQUFJLEdBQUcsWUFBWUssUUFBUUksTUFBTSxDQUFDUixJQUFJUyxHQUFHLE1BQU9aLElBQUlhLE1BQU07Z0JBQ2xFO1lBQ0Y7UUFDRixFQUFFLE9BQUFDLEdBQU0sQ0FBQztRQUNULE9BQU9mO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2VTdGFjay50cz9hZDAzIl0sIm5hbWVzIjpbInBhcnNlU3RhY2siLCJyZWdleE5leHRTdGF0aWMiLCJzdGFjayIsImZyYW1lcyIsInBhcnNlIiwibWFwIiwiZnJhbWUiLCJ1cmwiLCJVUkwiLCJmaWxlIiwicmVzIiwiZXhlYyIsInBhdGhuYW1lIiwicHJvY2VzcyIsImRpc3REaXIiLCJlbnYiLCJfX05FWFRfRElTVF9ESVIiLCJyZXBsYWNlIiwiY29uY2F0IiwicG9wIiwic2VhcmNoIiwiZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js ***! - \**************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RuntimeErrorHandler\", ({\n enumerable: true,\n get: function() {\n return RuntimeErrorHandler;\n }\n}));\nconst RuntimeErrorHandler = {\n hadRuntimeError: false\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=runtime-error-handler.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ydW50aW1lLWVycm9yLWhhbmRsZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsc0JBQXNCO0lBQ2pDQyxpQkFBaUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3J1bnRpbWUtZXJyb3ItaGFuZGxlci50cz84OTUxIl0sIm5hbWVzIjpbIlJ1bnRpbWVFcnJvckhhbmRsZXIiLCJoYWRSdW50aW1lRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js ***! - \****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getFrameSource: function() {\n return getFrameSource;\n },\n getOriginalStackFrames: function() {\n return getOriginalStackFrames;\n }\n});\nfunction getOriginalStackFrame(source, type, isAppDir, errorMessage) {\n var _source_file, _source_file1;\n async function _getOriginalStackFrame() {\n var /* collapsed */ _source_file, _body_originalStackFrame_file, _body_originalStackFrame, _body_originalStackFrame_file1, _body_originalStackFrame1;\n const params = new URLSearchParams();\n params.append(\"isServer\", String(type === \"server\"));\n params.append(\"isEdgeServer\", String(type === \"edge-server\"));\n params.append(\"isAppDirectory\", String(isAppDir));\n params.append(\"errorMessage\", errorMessage);\n for(const key in source){\n var _source_key;\n params.append(key, ((_source_key = source[key]) != null ? _source_key : \"\").toString());\n }\n const controller = new AbortController();\n const tm = setTimeout(()=>controller.abort(), 3000);\n const res = await self.fetch(( false || \"\") + \"/__nextjs_original-stack-frame?\" + params.toString(), {\n signal: controller.signal\n }).finally(()=>{\n clearTimeout(tm);\n });\n if (!res.ok || res.status === 204) {\n return Promise.reject(new Error(await res.text()));\n }\n const body = await res.json();\n var _ref;\n return {\n error: false,\n reason: null,\n external: false,\n expanded: !Boolean((_ref = ((_source_file = source.file) == null ? void 0 : _source_file.includes(\"node_modules\")) || ((_body_originalStackFrame = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file = _body_originalStackFrame.file) == null ? void 0 : _body_originalStackFrame_file.includes(\"node_modules\")) || ((_body_originalStackFrame1 = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file1 = _body_originalStackFrame1.file) == null ? void 0 : _body_originalStackFrame_file1.startsWith(\"[turbopack]/\"))) != null ? _ref : true),\n sourceStackFrame: source,\n originalStackFrame: body.originalStackFrame,\n originalCodeFrame: body.originalCodeFrame || null,\n sourcePackage: body.sourcePackage\n };\n }\n if (source.file === \"<anonymous>\" || ((_source_file = source.file) == null ? void 0 : _source_file.match(/^node:/)) || ((_source_file1 = source.file) == null ? void 0 : _source_file1.match(/https?:\\/\\//))) {\n return Promise.resolve({\n error: false,\n reason: null,\n external: true,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null,\n sourcePackage: null\n });\n }\n return _getOriginalStackFrame().catch((err)=>{\n var _err_message, _ref;\n return {\n error: true,\n reason: (_ref = (_err_message = err == null ? void 0 : err.message) != null ? _err_message : err == null ? void 0 : err.toString()) != null ? _ref : \"Unknown Error\",\n external: false,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null,\n sourcePackage: null\n };\n });\n}\nfunction getOriginalStackFrames(frames, type, isAppDir, errorMessage) {\n return Promise.all(frames.map((frame)=>getOriginalStackFrame(frame, type, isAppDir, errorMessage)));\n}\nconst webpackRegExes = [\n /^webpack-internal:\\/\\/\\/(\\.)?(\\((\\w+)\\))?/,\n /^(webpack:\\/\\/\\/(\\.)?|webpack:\\/\\/(_N_E\\/)?)(\\((\\w+)\\))?/\n];\nfunction isWebpackBundled(file) {\n return webpackRegExes.some((regEx)=>regEx.test(file));\n}\n/**\n * Format the webpack internal id to original file path\n * webpack-internal:///./src/hello.tsx => ./src/hello.tsx\n * webpack://_N_E/./src/hello.tsx => ./src/hello.tsx\n * webpack://./src/hello.tsx => ./src/hello.tsx\n * webpack:///./src/hello.tsx => ./src/hello.tsx\n */ function formatFrameSourceFile(file) {\n for (const regex of webpackRegExes)file = file.replace(regex, \"\");\n return file;\n}\nfunction getFrameSource(frame) {\n if (!frame.file) return \"\";\n let str = \"\";\n try {\n var _globalThis_location;\n const u = new URL(frame.file);\n // Strip the origin for same-origin scripts.\n if (((_globalThis_location = globalThis.location) == null ? void 0 : _globalThis_location.origin) !== u.origin) {\n // URLs can be valid without an `origin`, so long as they have a\n // `protocol`. However, `origin` is preferred.\n if (u.origin === \"null\") {\n str += u.protocol;\n } else {\n str += u.origin;\n }\n }\n // Strip query string information as it's typically too verbose to be\n // meaningful.\n str += u.pathname;\n str += \" \";\n str = formatFrameSourceFile(str);\n } catch (e) {\n str += formatFrameSourceFile(frame.file || \"(unknown)\") + \" \";\n }\n if (!isWebpackBundled(frame.file) && frame.lineNumber != null) {\n if (frame.column != null) {\n str += \"(\" + frame.lineNumber + \":\" + frame.column + \") \";\n } else {\n str += \"(\" + frame.lineNumber + \") \";\n }\n }\n return str.slice(0, -1);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=stack-frame.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9zdGFjay1mcmFtZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE2SGdCQSxnQkFBYztlQUFkQTs7SUFsQ0FDLHdCQUFzQjtlQUF0QkE7OztBQWhGaEIsU0FBU0Msc0JBQ1BDLE1BQWtCLEVBQ2xCQyxJQUFxQyxFQUNyQ0MsUUFBaUIsRUFDakJDLFlBQW9CO1FBaURsQkgsY0FDQUE7SUFoREYsZUFBZUk7WUFnQ1QsYUFBYSxHQUNaSixjQUNDSywrQkFBQUEsMEJBQ0FBLGdDQUFBQTtRQWxDTixNQUFNQyxTQUFTLElBQUlDO1FBQ25CRCxPQUFPRSxNQUFNLENBQUMsWUFBWUMsT0FBT1IsU0FBUztRQUMxQ0ssT0FBT0UsTUFBTSxDQUFDLGdCQUFnQkMsT0FBT1IsU0FBUztRQUM5Q0ssT0FBT0UsTUFBTSxDQUFDLGtCQUFrQkMsT0FBT1A7UUFDdkNJLE9BQU9FLE1BQU0sQ0FBQyxnQkFBZ0JMO1FBQzlCLElBQUssTUFBTU8sT0FBT1YsT0FBUTtnQkFDSlc7WUFBcEJMLE9BQU9FLE1BQU0sQ0FBQ0UsS0FBSyxDQUFDLENBQUFDLGNBQUFYLE1BQWUsQ0FBQ1UsSUFBSSxZQUFwQkMsY0FBd0IsSUFBSUMsUUFBUTtRQUMxRDtRQUVBLE1BQU1DLGFBQWEsSUFBSUM7UUFDdkIsTUFBTUMsS0FBS0MsV0FBVyxJQUFNSCxXQUFXSSxLQUFLLElBQUk7UUFDaEQsTUFBTUMsTUFBTSxNQUFNQyxLQUNmQyxLQUFLLENBQ0osQ0FDRUMsTUFBa0MsSUFBSSxNQUN2QyxvQ0FBaUNmLE9BQU9NLFFBQVEsSUFDakQ7WUFBRVksUUFBUVgsV0FBV1csTUFBTTtRQUFDLEdBRTdCQyxPQUFPLENBQUM7WUFDUEMsYUFBYVg7UUFDZjtRQUNGLElBQUksQ0FBQ0csSUFBSVMsRUFBRSxJQUFJVCxJQUFJVSxNQUFNLEtB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QztZQUM5QyxJQUFJSCxFQUFFRyxNQUFNLEtBQUssUUFBUTtnQkFDdkJMLE9BQU9FLEVBQUVJLFFBQVE7WUFDbkIsT0FBTztnQkFDTE4sT0FBT0UsRUFBRUcsTUFBTTtZQUNqQjtRQUNGO1FBRUEscUVBQXFFO1FBQ3JFLGNBQWM7UUFDZEwsT0FBT0UsRUFBRUssUUFBUTtRQUNqQlAsT0FBTztRQUNQQSxNQUFNSCxzQkFBc0JHO0lBQzlCLEVBQUUsT0FBQVEsR0FBTTtRQUNOUixPQUFPSCxzQkFBc0JOLE1BQU1mLElBQUksSUFBSSxlQUFlO0lBQzVEO0lBRUEsSUFBSSxDQUFDaUIsaUJBQWlCRixNQUFNZixJQUFJLEtBQUtlLE1BQU1rQixVQUFVLElBQUksTUFBTTtRQUM3RCxJQUFJbEIsTUFBTW1CLE1BQU0sSUFBSSxNQUFNO1lBQ3hCVixPQUFPLE1BQUlULE1BQU1rQixVQUFVLEdBQUMsTUFBR2xCLE1BQU1tQixNQUFNLEdBQUM7UUFDOUMsT0FBTztZQUNMVixPQUFPLE1BQUlULE1BQU1rQixVQUFVLEdBQUM7UUFDOUI7SUFDRjtJQUNBLE9BQU9ULElBQUlXLEtBQUssQ0FBQyxHQUFHLENBQUM7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3N0YWNrLWZyYW1lLnRzPzI4YjgiXSwibmFtZXMiOlsiZ2V0RnJhbWVTb3VyY2UiLCJnZXRPcmlnaW5hbFN0YWNrRnJhbWVzIiwiZ2V0T3JpZ2luYWxTdGFja0ZyYW1lIiwic291cmNlIiwidHlwZSIsImlzQXBwRGlyIiwiZXJyb3JNZXNzYWdlIiwiX2dldE9yaWdpbmFsU3RhY2tGcmFtZSIsImJvZHkiLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJhcHBlbmQiLCJTdHJpbmciLCJrZXkiLCJfc291cmNlX2tleSIsInRvU3RyaW5nIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsInRtIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwic2VsZiIsImZldGNoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJzaWduYWwiLCJmaW5hbGx5IiwiY2xlYXJUaW1lb3V0Iiwib2siLCJzdGF0dXMiLCJQcm9taXNlIiwicmVqZWN0IiwiRXJyb3IiLCJ0ZXh0IiwianNvbiIsImVycm9yIiwicmVhc29uIiwiZXh0ZXJuYWwiLCJleHBhbmRlZCIsIkJvb2xlYW4iLCJmaWxlIiwiaW5jbHVkZXMiLCJvcmlnaW5hbFN0YWNrRnJhbWUiLCJzdGFydHNXaXRoIiwic291cmNlU3RhY2tGcmFtZSIsIm9yaWdpbmFsQ29kZUZyYW1lIiwic291cmNlUGFja2FnZSIsIm1hdGNoIiwicmVzb2x2ZSIsImNhdGNoIiwiZXJyIiwibWVzc2FnZSIsImZyYW1lcyIsImFsbCIsIm1hcCIsImZyYW1lIiwid2VicGFja1JlZ0V4ZXMiLCJpc1dlYnBhY2tCdW5kbGVkIiwic29tZSIsInJlZ0V4IiwidGVzdCIsImZvcm1hdEZyYW1lU291cmNlRmlsZSIsInJlZ2V4IiwicmVwbGFjZSIsInN0ciIsImdsb2JhbFRoaXMiLCJ1IiwiVVJMIiwibG9jYXRpb24iLCJvcmlnaW4iLCJwcm90b2NvbCIsInBhdGhuYW1lIiwiZSIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js ***! - \**********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useErrorHandler\", ({\n enumerable: true,\n get: function() {\n return useErrorHandler;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ./hydration-error-info */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nconst _isnextroutererror = __webpack_require__(/*! ../../../is-next-router-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst _ishydrationerror = __webpack_require__(/*! ../../../is-hydration-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/is-hydration-error.js\");\nif (typeof window !== \"undefined\") {\n try {\n // Increase the number of stack frames on the client\n Error.stackTraceLimit = 50;\n } catch (e) {}\n}\nlet hasHydrationError = false;\nconst errorQueue = [];\nconst rejectionQueue = [];\nconst errorHandlers = [];\nconst rejectionHandlers = [];\nif (typeof window !== \"undefined\") {\n // These event handlers must be added outside of the hook because there is no\n // guarantee that the hook will be alive in a mounted component in time to\n // when the errors occur.\n window.addEventListener(\"error\", (ev)=>{\n if ((0, _isnextroutererror.isNextRouterError)(ev.error)) {\n ev.preventDefault();\n return;\n }\n const error = ev == null ? void 0 : ev.error;\n if (!error || !(error instanceof Error) || typeof error.stack !== \"string\") {\n // A non-error was thrown, we don't have anything to show. :-(\n return;\n }\n const isCausedByHydrationFailure = (0, _ishydrationerror.isHydrationError)(error);\n if ((0, _ishydrationerror.isHydrationError)(error) && !error.message.includes(\"https://nextjs.org/docs/messages/react-hydration-error\")) {\n // If there's any extra information in the error message to display,\n // append it to the error message details property\n if (_hydrationerrorinfo.hydrationErrorState.warning) {\n error.details = {\n ...error.details,\n // It contains the warning, component stack, server and client tag names\n ..._hydrationerrorinfo.hydrationErrorState\n };\n }\n error.message += \"\\nSee more info here: https://nextjs.org/docs/messages/react-hydration-error\";\n }\n const e = error;\n // Only queue one hydration every time\n if (isCausedByHydrationFailure) {\n if (!hasHydrationError) {\n errorQueue.push(e);\n }\n hasHydrationError = true;\n }\n for (const handler of errorHandlers){\n handler(e);\n }\n });\n window.addEventListener(\"unhandledrejection\", (ev)=>{\n const reason = ev == null ? void 0 : ev.reason;\n if (!reason || !(reason instanceof Error) || typeof reason.stack !== \"string\") {\n // A non-error was thrown, we don't have anything to show. :-(\n return;\n }\n const e = reason;\n rejectionQueue.push(e);\n for (const handler of rejectionHandlers){\n handler(e);\n }\n });\n}\nfunction useErrorHandler(handleOnUnhandledError, handleOnUnhandledRejection) {\n (0, _react.useEffect)(()=>{\n // Handle queued errors.\n errorQueue.forEach(handleOnUnhandledError);\n rejectionQueue.forEach(handleOnUnhandledRejection);\n // Listen to new errors.\n errorHandlers.push(handleOnUnhandledError);\n rejectionHandlers.push(handleOnUnhandledRejection);\n return ()=>{\n // Remove listeners.\n errorHandlers.splice(errorHandlers.indexOf(handleOnUnhandledError), 1);\n rejectionHandlers.splice(rejectionHandlers.indexOf(handleOnUnhandledRejection), 1);\n };\n }, [\n handleOnUnhandledError,\n handleOnUnhandledRejection\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-error-handler.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy91c2UtZXJyb3ItaGFuZGxlci5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQWdHZ0JBOzs7ZUFBQUE7OzttQ0FoR1U7Z0RBQ1U7K0NBQ0Y7OENBQ0Q7QUFJakMsSUFBSSxPQUFPQyxXQUFXLGFBQWE7SUFDakMsSUFBSTtRQUNGLG9EQUFvRDtRQUNwREMsTUFBTUMsZUFBZSxHQUFHO0lBQzFCLEVBQUUsT0FBQUMsR0FBTSxDQUFDO0FBQ1g7QUFFQSxJQUFJQyxvQkFBb0I7QUFDeEIsTUFBTUMsYUFBMkIsRUFBRTtBQUNuQyxNQUFNQyxpQkFBK0IsRUFBRTtBQUN2QyxNQUFNQyxnQkFBcUMsRUFBRTtBQUM3QyxNQUFNQyxvQkFBeUMsRUFBRTtBQUVqRCxJQUFJLE9BQU9SLFdBQVcsYUFBYTtJQUNqQyw2RUFBNkU7SUFDN0UsMEVBQTBFO0lBQzFFLHlCQUF5QjtJQUN6QkEsT0FBT1MsZ0JBQWdCLENBQUMsU0FBUyxDQUFDQztRQUNoQyxJQUFJQyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUNELEdBQUdFLEtBQUssR0FBRztZQUMvQkYsR0FBR0csY0FBYztZQUNqQjtRQUNGO1FBRUEsTUFBTUQsUUFBUUYsTUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsR0FBSUUsS0FBSztRQUN2QixJQUNFLENBQUNBLFNBQ0QsQ0FBRUEsQ0FBQUEsaUJBQWlCWCxLQUFBQSxLQUNuQixPQUFPVyxNQUFNRSxLQUFLLEtBQUssVUFDdkI7WUFDQSw4REFBOEQ7WUFDOUQ7UUFDRjtRQUVBLE1BQU1DLDZCQUE2QkMsQ0FBQUEsR0FBQUEsa0JBQUFBLGdCQUFnQixFQUFDSjtRQUNwRCxJQUNFSSxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQWdCLEVBQUNKLFVBQ2pCLENBQUNBLE1BQU1LLE9BQU8sQ0FBQ0MsUUFBUSxDQUNyQiwyREFFRjtZQUNBLG9FQUFvRTtZQUNwRSxrREFBa0Q7WUFDbEQsSUFBSUMsb0JBQUFBLG1CQUFtQixDQUFDQyxPQUFPLEVBQUU7Z0JBRzdCUixNQUFjUyxPQUFPLEdBQUc7b0JBQ3hCLEdBQUdULE1BQWVTLE9BQU87b0JBQ3pCLHdFQUF3RTtvQkFDeEUsR0FBR0Ysb0JBQUFBLG1CQUFtQjtnQkFDeEI7WUFDRjtZQUNBUCxNQUFNSyxPQUFPLElBQ1g7UUFDSjtRQUVBLE1BQU1kLElBQUlTO1FBQ1Ysc0NBQXNDO1FBQ3RDLElBQUlHLDRCQUE0QjtZQUM5QixJQUFJLENBQUNYLG1CQUFtQjtnQkFDdEJDLFdBQVdpQixJQUFJLENBQUNuQjtZQUNsQjtZQUNBQyxvQkFBb0I7UUFDdEI7UUFDQSxLQUFLLE1BQU1tQixXQUFXaEIsY0FBZTtZQUNuQ2dCLFFBQVFwQjtRQUNWO0lBQ0Y7SUFDQUgsT0FBT1MsZ0JBQWdCLENBQ3JCLHNCQUNBLENBQUNDO1FBQ0MsTUFBTWMsU0FBU2QsTUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsR0FBSWMsTUFBTTtRQUN6QixJQUNFLENBQUNBLFVBQ0QsQ0FBRUEsQ0FBQUEsa0JBQWtCdkIsS0FBQUEsS0FDcEIsT0FBT3VCLE9BQU9WLEtBQUssS0FBSyxVQUN4QjtZQUNBLDhEQUE4RDtZQUM5RDtRQUNGO1FBRUEsTUFBTVgsSUFBSXFCO1FBQ1ZsQixlQUFlZ0IsSUFBSSxDQUFDbkI7UUFDcEIsS0FBSyxNQUFNb0IsV0FBV2Ysa0JBQW1CO1lBQ3ZDZSxRQUFRcEI7UUFDVjtJQUNGO0FBRUo7QUFFTyxTQUFTSixnQkFDZDBCLHNCQUFvQyxFQUNwQ0MsMEJBQXdDO0lBRXhDQyxDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUix3QkFBd0I7UUFDeEJ0QixXQUFXdUIsT0FBTyxDQUFDSDtRQUNuQm5CLGVBQWVzQixPQUFPLENBQUNGO1FBRXZCLHdCQUF3QjtRQUN4Qm5CLGNBQWNlLElBQUksQ0FBQ0c7UUFDbkJqQixrQkFBa0JjLElBQUksQ0FBQ0k7UUFFdkIsT0FBTztZQUNMLG9CQUFvQjtZQUNwQm5CLGNBQWNzQixNQUFNLENBQUN0QixjQUFjdUIsT0FBTyxDQUFDTCx5QkFBeUI7WUFDcEVqQixrQkFBa0JxQixNQUFNLENBQ3RCckIsa0JBQWtCc0IsT0FBTyxDQUFDSiw2QkFDMUI7UUFFSjtJQUNGLEdBQUc7UUFBQ0Q7UUFBd0JDO0tBQTJCO0FBQ3pEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy91c2UtZXJyb3ItaGFuZGxlci50cz80NWZlIl0sIm5hbWVzIjpbInVzZUVycm9ySGFuZGxlciIsIndpbmRvdyIsIkVycm9yIiwic3RhY2tUcmFjZUxpbWl0IiwiZSIsImhhc0h5ZHJhdGlvbkVycm9yIiwiZXJyb3JRdWV1ZSIsInJlamVjdGlvblF1ZXVlIiwiZXJyb3JIYW5kbGVycyIsInJlamVjdGlvbkhhbmRsZXJzIiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2IiwiaXNOZXh0Um91dGVyRXJyb3IiLCJlcnJvciIsInByZXZlbnREZWZhdWx0Iiwic3RhY2siLCJpc0NhdXNlZEJ5SHlkcmF0aW9uRmFpbHVyZSIsImlzSHlkcmF0aW9uRXJyb3IiLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJoeWRyYXRpb25FcnJvclN0YXRlIiwid2FybmluZyIsImRldGFpbHMiLCJwdXNoIiwiaGFuZGxlciIsInJlYXNvbiIsImhhbmRsZU9uVW5oYW5kbGVkRXJyb3IiLCJoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiIsInVzZUVmZmVjdCIsImZvckVhY2giLCJzcGxpY2UiLCJpbmRleE9mIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOpenInEditor\", ({\n enumerable: true,\n get: function() {\n return useOpenInEditor;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nfunction useOpenInEditor(param) {\n let { file, lineNumber, column } = param === void 0 ? {} : param;\n const openInEditor = (0, _react.useCallback)(()=>{\n if (file == null || lineNumber == null || column == null) return;\n const params = new URLSearchParams();\n params.append(\"file\", file);\n params.append(\"lineNumber\", String(lineNumber));\n params.append(\"column\", String(column));\n self.fetch(( false || \"\") + \"/__nextjs_launch-editor?\" + params.toString()).then(()=>{}, ()=>{\n console.error(\"There was an issue opening this code in your editor.\");\n });\n }, [\n file,\n lineNumber,\n column\n ]);\n return openInEditor;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-open-in-editor.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy91c2Utb3Blbi1pbi1lZGl0b3IuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFFZ0JBOzs7ZUFBQUE7OzttQ0FGWTtBQUVyQixTQUFTQSxnQkFBZ0JDLEtBQUE7SUFBQSxNQUM5QkMsSUFBSSxFQUNKQyxVQUFVLEVBQ1ZDLE1BQU0sRUFLUCxHQVIrQkgsVUFBQSxTQVE1QixDQUFDLElBUjJCQTtJQVM5QixNQUFNSSxlQUFlQyxDQUFBQSxHQUFBQSxPQUFBQSxXQUFXLEVBQUM7UUFDL0IsSUFBSUosUUFBUSxRQUFRQyxjQUFjLFFBQVFDLFVBQVUsTUFBTTtRQUUxRCxNQUFNRyxTQUFTLElBQUlDO1FBQ25CRCxPQUFPRSxNQUFNLENBQUMsUUFBUVA7UUFDdEJLLE9BQU9FLE1BQU0sQ0FBQyxjQUFjQyxPQUFPUDtRQUNuQ0ksT0FBT0UsTUFBTSxDQUFDLFVBQVVDLE9BQU9OO1FBRS9CTyxLQUNHQyxLQUFLLENBQ0osQ0FDRUMsTUFBa0MsSUFBSSxNQUN2Qyw2QkFBMEJOLE9BQU9TLFFBQVEsSUFFM0NDLElBQUksQ0FDSCxLQUFPLEdBQ1A7WUFDRUMsUUFBUUMsS0FBSyxDQUFDO1FBQ2hCO0lBRU4sR0FBRztRQUFDakI7UUFBTUM7UUFBWUM7S0FBTztJQUU3QixPQUFPQztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy91c2Utb3Blbi1pbi1lZGl0b3IudHM/M2Q3NiJdLCJuYW1lcyI6WyJ1c2VPcGVuSW5FZGl0b3IiLCJwYXJhbSIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwib3BlbkluRWRpdG9yIiwidXNlQ2FsbGJhY2siLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJhcHBlbmQiLCJTdHJpbmciLCJzZWxmIiwiZmV0Y2giLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInRvU3RyaW5nIiwidGhlbiIsImNvbnNvbGUiLCJlcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js": -/*!******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js ***! - \******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n useSendMessage: function() {\n return useSendMessage;\n },\n useTurbopack: function() {\n return useTurbopack;\n },\n useWebsocket: function() {\n return useWebsocket;\n },\n useWebsocketPing: function() {\n return useWebsocketPing;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../../../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _getsocketurl = __webpack_require__(/*! ./get-socket-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js\");\nfunction useWebsocket(assetPrefix) {\n const webSocketRef = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n if (webSocketRef.current) {\n return;\n }\n const url = (0, _getsocketurl.getSocketUrl)(assetPrefix);\n webSocketRef.current = new window.WebSocket(\"\" + url + \"/_next/webpack-hmr\");\n }, [\n assetPrefix\n ]);\n return webSocketRef;\n}\nfunction useSendMessage(webSocketRef) {\n const sendMessage = (0, _react.useCallback)((data)=>{\n const socket = webSocketRef.current;\n if (!socket || socket.readyState !== socket.OPEN) {\n return;\n }\n return socket.send(data);\n }, [\n webSocketRef\n ]);\n return sendMessage;\n}\nfunction useTurbopack(sendMessage, onUpdateError) {\n const turbopackState = (0, _react.useRef)({\n init: false,\n // Until the dynamic import resolves, queue any turbopack messages which will be replayed.\n queue: [],\n callback: undefined\n });\n const processTurbopackMessage = (0, _react.useCallback)((msg)=>{\n const { callback, queue } = turbopackState.current;\n if (callback) {\n callback(msg);\n } else {\n queue.push(msg);\n }\n }, []);\n (0, _react.useEffect)(()=>{\n const { current: initCurrent } = turbopackState;\n // TODO(WEB-1589): only install if `process.turbopack` set.\n if (initCurrent.init) {\n return;\n }\n initCurrent.init = true;\n Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! @vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\"))).then((param)=>{\n let { connect } = param;\n const { current } = turbopackState;\n connect({\n addMessageListener (cb) {\n current.callback = cb;\n // Replay all Turbopack messages before we were able to establish the HMR client.\n for (const msg of current.queue){\n cb(msg);\n }\n current.queue = undefined;\n },\n sendMessage,\n onUpdateError\n });\n });\n }, [\n sendMessage,\n onUpdateError\n ]);\n return processTurbopackMessage;\n}\nfunction useWebsocketPing(websocketRef) {\n _s();\n const sendMessage = useSendMessage(websocketRef);\n const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n (0, _react.useEffect)(()=>{\n // Taken from on-demand-entries-client.js\n const interval = setInterval(()=>{\n sendMessage(JSON.stringify({\n event: \"ping\",\n tree,\n appDirRoute: true\n }));\n }, 2500);\n return ()=>clearInterval(interval);\n }, [\n tree,\n sendMessage\n ]);\n}\n_s(useWebsocketPing, \"wUse5NG7XMV1uhKK1kY0LLDje8k=\", false, function() {\n return [\n useSendMessage\n ];\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-websocket.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy91c2Utd2Vic29ja2V0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXFCZ0JBLGdCQUFjO2VBQWRBOztJQWNBQyxjQUFZO2VBQVpBOztJQTlCQUMsY0FBWTtlQUFaQTs7SUFzRkFDLGtCQUFnQjtlQUFoQkE7OzttQ0EzRjJDOzJEQUNqQjswQ0FDYjtBQUd0QixTQUFTRCxhQUFhRSxXQUFtQjtJQUM5QyxNQUFNQyxlQUFlQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFNO0lBRTNCQyxDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUixJQUFJRixhQUFhRyxPQUFPLEVBQUU7WUFDeEI7UUFDRjtRQUVBLE1BQU1DLE1BQU1DLENBQUFBLEdBQUFBLGNBQUFBLFlBQVksRUFBQ047UUFFekJDLGFBQWFHLE9BQU8sR0FBRyxJQUFJRyxPQUFPQyxTQUFTLENBQUMsS0FBR0gsTUFBSTtJQUNyRCxHQUFHO1FBQUNMO0tBQVk7SUFFaEIsT0FBT0M7QUFDVDtBQUVPLFNBQVNMLGVBQWVLLFlBQTZDO0lBQzFFLE1BQU1RLGNBQWNDLENBQUFBLEdBQUFBLE9BQUFBLFdBQVcsRUFDN0IsQ0FBQ0M7UUFDQyxNQUFNQyxTQUFTWCxhQUFhRyxPQUFPO1FBQ25DLElBQUksQ0FBQ1EsVUFBVUEsT0FBT0MsVUFBVSxLQUFLRCxPQUFPRSxJQUFJLEVBQUU7WUFDaEQ7UUFDRjtRQUNBLE9BQU9GLE9BQU9HLElBQUksQ0FBQ0o7SUFDckIsR0FDQTtRQUFDVjtLQUFhO0lBRWhCLE9BQU9RO0FBQ1Q7QUFFTyxTQUFTWixhQUNkWSxXQUE4QyxFQUM5Q08sYUFBcUM7SUFFckMsTUFBTUMsaUJBQWlCZixDQUFBQSxHQUFBQSxPQUFBQSxNQUFNLEVBSTFCO1FBQ0RnQixNQUFNO1FBQ04sMEZBQTBGO1FBQzFGQyxPQUFPLEVBQUU7UUFDVEMsVUFBVUM7SUFDWjtJQUVBLE1BQU1DLDBCQUEwQlosQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDLENBQUNhO1FBQzNDLE1BQU0sRUFBRUgsUUFBUSxFQUFFRCxLQUFLLEVBQUUsR0FBR0YsZUFBZWIsT0FBTztRQUNsRCxJQUFJZ0IsVUFBVTtZQUNaQSxTQUFTRztRQUNYLE9BQU87WUFDTEosTUFBT0ssSUFBSSxDQUFDRDtRQUNkO0lBQ0YsR0FBRyxFQUFFO0lBRUxwQixDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUixNQUFNLEVBQUVDLFNBQVNxQixXQUFXLEVBQUUsR0FBR1I7UUFDakMsMkRBQTJEO1FBQzNELElBQUlRLFlBQVlQLElBQUksRUFBRTtZQUNwQjtRQUNGO1FBQ0FPLFlBQVlQLElBQUksR0FBRztRQUVuQix5RkFFRSx3SkFDQVEsSUFBSSxDQUFDLENBQUFDO2dCQUFDLEVBQUVDLE9BQU8sRUFBRSxHQUFBRDtZQUNqQixNQUFNLEVBQUV2QixPQUFPLEVBQUUsR0FBR2E7WUFDcEJXLFFBQVE7Z0JBQ05DLG9CQUFtQkMsRUFBd0M7b0JBQ3pEMUIsUUFBUWdCLFFBQVEsR0FBR1U7b0JBRW5CLGlGQUFpRjtvQkFDakYsS0FBSyxNQUFNUCxPQUFPbkIsUUFBUWUsS0FBSyxDQUFHO3dCQUNoQ1csR0FBR1A7b0JBQ0w7b0JBQ0FuQixRQUFRZSxLQUFLLEdBQUdFO2dCQUNsQjtnQkFDQVo7Z0JBQ0FPO1lBQ0Y7UUFDRjtJQUNGLEdBQUc7UUFBQ1A7UUFBYU87S0FBYztJQUUvQixPQUFPTTtBQUNUO0FBRU8sU0FBU3ZCLGlCQUNkZ0MsWUFBNkM7O0lBRTdDLE1BQU10QixjQUFjYixlQUFlbUM7SUFDbkMsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBVSxFQUFDQywrQkFBQUEseUJBQXlCO0lBRXJEL0IsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBUyxFQUFDO1FBQ1IseUNBQXlDO1FBQ3pDLE1BQU1nQyxXQUFXQyxZQUFZO1lBQzNCM0IsWUFDRTRCLEtBQUtDLFNBQVMsQ0FBQztnQkFDYkMsT0FBTztnQkFDUFA7Z0JBQ0FRLGFBQWE7WUFDZjtRQUVKLEdBQUc7UUFDSCxPQUFPLElBQU1DLGNBQWNOO0lBQzdCLEdBQUc7UUFBQ0g7UUFBTXZCO0tBQVk7QUFDeEI7R0FuQmdCVjs7UUFHTUgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3VzZS13ZWJzb2NrZXQudHM/YzYxMSJdLCJuYW1lcyI6WyJ1c2VTZW5kTWVzc2FnZSIsInVzZVR1cmJvcGFjayIsInVzZVdlYnNvY2tldCIsInVzZVdlYnNvY2tldFBpbmciLCJhc3NldFByZWZpeCIsIndlYlNvY2tldFJlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJ1cmwiLCJnZXRTb2NrZXRVcmwiLCJ3aW5kb3ciLCJXZWJTb2NrZXQiLCJzZW5kTWVzc2FnZSIsInVzZUNhbGxiYWNrIiwiZGF0YSIsInNvY2tldCIsInJlYWR5U3RhdGUiLCJPUEVOIiwic2VuZCIsIm9uVXBkYXRlRXJyb3IiLCJ0dXJib3BhY2tTdGF0ZSIsImluaXQiLCJxdWV1ZSIsImNhbGxiYWNrIiwidW5kZWZpbmVkIiwicHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UiLCJtc2ciLCJwdXNoIiwiaW5pdEN1cnJlbnQiLCJ0aGVuIiwicGFyYW0iLCJjb25uZWN0IiwiYWRkTWVzc2FnZUxpc3RlbmVyIiwiY2IiLCJ3ZWJzb2NrZXRSZWYiLCJ0cmVlIiwidXNlQ29udGV4dCIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJpbnRlcnZhbCIsInNldEludGVydmFsIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiYXBwRGlyUm91dGUiLCJjbGVhckludGVydmFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOnClickOutside\", ({\n enumerable: true,\n get: function() {\n return useOnClickOutside;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nfunction useOnClickOutside(el, handler) {\n _s();\n _react.useEffect(()=>{\n if (el == null || handler == null) {\n return;\n }\n const listener = (e)=>{\n // Do nothing if clicking ref's element or descendent elements\n if (!el || el.contains(e.target)) {\n return;\n }\n handler(e);\n };\n const root = el.getRootNode();\n root.addEventListener(\"mousedown\", listener);\n root.addEventListener(\"touchstart\", listener);\n return function() {\n root.removeEventListener(\"mousedown\", listener);\n root.removeEventListener(\"touchstart\", listener);\n };\n }, [\n handler,\n el\n ]);\n}\n_s(useOnClickOutside, \"OD7bBpZva5O2jO+Puf00hKivP7c=\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-on-click-outside.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaG9va3MvdXNlLW9uLWNsaWNrLW91dHNpZGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O3FEQUVnQkE7OztlQUFBQTs7Ozs2RUFGTztBQUVoQixTQUFTQSxrQkFDZEMsRUFBZSxFQUNmQyxPQUEyRDs7SUFFM0RDLE9BQU1DLFNBQVMsQ0FBQztRQUNkLElBQUlILE1BQU0sUUFBUUMsV0FBVyxNQUFNO1lBQ2pDO1FBQ0Y7UUFFQSxNQUFNRyxXQUFXLENBQUNDO1lBQ2hCLDhEQUE4RDtZQUM5RCxJQUFJLENBQUNMLE1BQU1BLEdBQUdNLFFBQVEsQ0FBQ0QsRUFBRUUsTUFBTSxHQUFjO2dCQUMzQztZQUNGO1lBRUFOLFFBQVFJO1FBQ1Y7UUFFQSxNQUFNRyxPQUFPUixHQUFHUyxXQUFXO1FBQzNCRCxLQUFLRSxnQkFBZ0IsQ0FBQyxhQUFhTjtRQUNuQ0ksS0FBS0UsZ0JBQWdCLENBQUMsY0FBY047UUFDcEMsT0FBTztZQUNMSSxLQUFLRyxtQkFBbUIsQ0FBQyxhQUFhUDtZQUN0Q0ksS0FBS0csbUJBQW1CLENBQUMsY0FBY1A7UUFDekM7SUFDRixHQUFHO1FBQUNIO1FBQVNEO0tBQUc7QUFDbEI7R0ExQmdCRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hvb2tzL3VzZS1vbi1jbGljay1vdXRzaWRlLnRzPzhlZTUiXSwibmFtZXMiOlsidXNlT25DbGlja091dHNpZGUiLCJlbCIsImhhbmRsZXIiLCJSZWFjdCIsInVzZUVmZmVjdCIsImxpc3RlbmVyIiwiZSIsImNvbnRhaW5zIiwidGFyZ2V0Iiwicm9vdCIsImdldFJvb3ROb2RlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js ***! - \************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CloseIcon\", ({\n enumerable: true,\n get: function() {\n return CloseIcon;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst CloseIcon = ()=>{\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 6L6 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6 6L18 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n });\n};\n_c = CloseIcon;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CloseIcon.js.map\nvar _c;\n$RefreshReg$(_c, \"CloseIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaWNvbnMvQ2xvc2VJY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBNkJTQTs7O2VBQUFBOzs7Ozs2RUE3QmM7QUFFdkIsTUFBTUEsWUFBWTtJQUNoQixPQUNFLFdBREYsR0FDRSxJQUFBQyxZQUFBQyxJQUFBLEVBQUNDLE9BQUFBO1FBQ0NDLE9BQU07UUFDTkMsUUFBTztRQUNQQyxTQUFRO1FBQ1JDLE1BQUs7UUFDTEMsT0FBTTs7MEJBRU4sSUFBQVAsWUFBQVEsR0FBQSxFQUFDQyxRQUFBQTtnQkFDQ0MsR0FBRTtnQkFDRkMsUUFBTztnQkFDUEMsYUFBWTtnQkFDWkMsZUFBYztnQkFDZEMsZ0JBQWU7OzBCQUVqQixJQUFBZCxZQUFBUSxHQUFBLEVBQUNDLFFBQUFBO2dCQUNDQyxHQUFFO2dCQUNGQyxRQUFPO2dCQUNQQyxhQUFZO2dCQUNaQyxlQUFjO2dCQUNkQyxnQkFBZTs7OztBQUl2QjtLQXpCTWYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9pY29ucy9DbG9zZUljb24udHN4PzE5N2QiXSwibmFtZXMiOlsiQ2xvc2VJY29uIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwic3ZnIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsInhtbG5zIiwianN4IiwicGF0aCIsImQiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js ***! - \***************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CollapseIcon\", ({\n enumerable: true,\n get: function() {\n return CollapseIcon;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nfunction CollapseIcon(param) {\n let { collapsed } = param === void 0 ? {} : param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"svg\", {\n \"data-nextjs-call-stack-chevron-icon\": true,\n \"data-collapsed\": collapsed,\n fill: \"none\",\n height: \"20\",\n width: \"20\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"2\",\n viewBox: \"0 0 24 24\",\n ...typeof collapsed === \"boolean\" ? {\n style: {\n transform: collapsed ? undefined : \"rotate(90deg)\"\n }\n } : {},\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M9 18l6-6-6-6\"\n })\n });\n}\n_c = CollapseIcon;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CollapseIcon.js.map\nvar _c;\n$RefreshReg$(_c, \"CollapseIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaWNvbnMvQ29sbGFwc2VJY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0RBQWdCQTs7O2VBQUFBOzs7O0FBQVQsU0FBU0EsYUFBYUMsS0FBQTtJQUFBLE1BQUVDLFNBQVMsRUFBMkIsR0FBdENELFVBQUEsU0FBeUMsQ0FBQyxJQUExQ0E7SUFDM0IsT0FDRSxXQURGLEdBQ0UsSUFBQUUsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtRQUNDQyx1Q0FBbUM7UUFDbkNDLGtCQUFnQkw7UUFDaEJNLE1BQUs7UUFDTEMsUUFBTztRQUNQQyxPQUFNO1FBQ05DLGdCQUFlO1FBQ2ZDLFFBQU87UUFDUEMsZUFBYztRQUNkQyxnQkFBZTtRQUNmQyxhQUFZO1FBQ1pDLFNBQVE7UUFHUCxHQUFJLE9BQU9kLGNBQWMsWUFDdEI7WUFBRWUsT0FBTztnQkFBRUMsV0FBV2hCLFlBQVlpQixZQUFZO1lBQWdCO1FBQUUsSUFDaEUsQ0FBQyxDQUFDO2tCQUVOLGtCQUFBaEIsWUFBQUMsR0FBQSxFQUFDZ0IsUUFBQUE7WUFBS0MsR0FBRTs7O0FBR2Q7S0F2QmdCckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9pY29ucy9Db2xsYXBzZUljb24udHN4PzI2ZGUiXSwibmFtZXMiOlsiQ29sbGFwc2VJY29uIiwicGFyYW0iLCJjb2xsYXBzZWQiLCJfanN4cnVudGltZSIsImpzeCIsInN2ZyIsImRhdGEtbmV4dGpzLWNhbGwtc3RhY2stY2hldnJvbi1pY29uIiwiZGF0YS1jb2xsYXBzZWQiLCJmaWxsIiwiaGVpZ2h0Iiwid2lkdGgiLCJzaGFwZVJlbmRlcmluZyIsInN0cm9rZSIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInN0cm9rZVdpZHRoIiwidmlld0JveCIsInN0eWxlIiwidHJhbnNmb3JtIiwidW5kZWZpbmVkIiwicGF0aCIsImQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js ***! - \****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"FrameworkIcon\", ({\n enumerable: true,\n get: function() {\n return FrameworkIcon;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nfunction FrameworkIcon(param) {\n let { framework } = param;\n if (framework === \"react\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"react\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 410 369\",\n fill: \"none\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"5\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M204.995 224.552C226.56 224.552 244.042 207.07 244.042 185.506C244.042 163.941 226.56 146.459 204.995 146.459C183.43 146.459 165.948 163.941 165.948 185.506C165.948 207.07 183.43 224.552 204.995 224.552Z\",\n fill: \"currentColor\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M409.99 184.505C409.99 153.707 381.437 126.667 335.996 108.925C343.342 60.6535 334.19 22.3878 307.492 6.98883C283.649 -6.77511 250.631 -0.0395641 214.512 25.9753C211.316 28.2692 208.143 30.7097 204.97 33.2477C201.822 30.7097 198.65 28.2692 195.477 25.9753C159.359 -0.0395641 126.34 -6.79951 102.497 6.98883C75.8237 22.3878 66.6721 60.6291 74.0422 108.852C28.5529 126.618 0 153.682 0 184.505C0 215.303 28.5528 242.342 73.9934 260.084C66.6477 308.356 75.7993 346.621 102.497 362.02C110.575 366.682 119.727 369 129.684 369C149.085 369 171.61 360.215 195.477 343.034C198.674 340.74 201.847 338.3 205.019 335.762C208.167 338.3 211.34 340.74 214.512 343.034C238.38 360.239 260.905 369 280.306 369C290.263 369 299.415 366.682 307.492 362.02C331.335 348.256 342 316.287 337.534 271.993C337.143 268.089 336.631 264.135 335.996 260.109C381.461 242.367 409.99 215.327 409.99 184.505ZM225.934 41.8136C246.238 27.1955 265.127 19.5814 280.306 19.5814C286.871 19.5814 292.728 20.9968 297.731 23.8765C315.204 33.9798 322.672 62.9475 317.327 102.433C299.756 97.0401 280.306 92.9158 259.392 90.2802C246.872 73.8074 233.597 58.9453 220.003 46.2551C221.98 44.7421 223.957 43.229 225.934 41.8136ZM112.259 23.8765C117.262 20.9968 123.119 19.5814 129.684 19.5814C144.863 19.5814 163.752 27.1711 184.056 41.8136C186.033 43.229 188.01 44.7176 189.986 46.2551C176.393 58.9453 163.142 73.783 150.622 90.2558C129.732 92.8914 110.258 97.0401 92.687 102.409C87.3424 62.9475 94.7857 33.9798 112.259 23.8765ZM19.5233 184.505C19.5233 164.322 40.9014 143.359 77.776 128.253C81.9003 146.141 88.0502 165.054 96.1768 184.456C88.0014 203.881 81.8515 222.819 77.7272 240.732C40.9014 225.626 19.5233 204.687 19.5233 184.505ZM184.056 327.196C154.966 348.134 128.805 354.675 112.259 345.133C94.7857 335.029 87.3181 306.062 92.6626 266.576C110.234 271.969 129.684 276.093 150.598 278.729C163.117 295.202 176.393 310.064 189.986 322.754C188.01 324.292 186.033 325.78 184.056 327.196ZM204.995 310.04C180.591 287.685 157.138 257.815 137.347 223.551C132.051 214.4 121.344 191.396 117 182.489C113.535 190.786 110.112 198.398 107.427 206.5C109.623 210.575 118.092 229.213 120.434 233.288C125.071 241.317 129.928 249.127 134.931 256.692C120.898 254.227 107.915 251.055 96.1035 247.321C102.815 217.011 116.213 182.064 137.347 145.458C142.545 136.453 153.838 116.346 159.5 108C150.568 109.147 143.395 108.767 135 110.5C132.56 114.453 122.777 131.645 120.434 135.721C115.749 143.823 111.454 151.925 107.427 159.978C102.546 146.581 98.8124 133.744 96.1524 121.64C125.755 112.293 162.727 106.411 204.995 106.411C215.562 106.411 237.63 106.197 247.49 106.905C242.048 99.7544 237.38 93.2819 231.694 86.888C227.082 86.7416 209.705 86.888 204.995 86.888C195.672 86.888 186.545 87.2053 177.589 87.7422C186.472 77.1752 195.672 67.5111 204.995 58.9697C229.375 81.3239 252.851 111.195 272.643 145.458C277.841 154.463 289.073 175.426 293.49 184.505C296.98 176.207 300.281 168.64 302.99 160.489C300.793 156.389 291.898 139.747 289.555 135.696C284.918 127.667 280.062 119.858 275.059 112.317C289.092 114.782 302.075 117.954 313.886 121.688C307.175 151.998 293.777 186.945 272.643 223.551C267.445 232.556 252.651 253.178 246.99 261.524C255.922 260.377 265.595 258.663 273.99 256.93C276.43 252.976 287.212 237.364 289.555 233.288C294.216 225.235 298.512 217.182 302.489 209.153C307.224 222.185 310.982 234.997 313.715 247.394C284.138 256.741 247.214 262.598 204.995 262.598C194.428 262.598 169.859 261.208 160 260.5C165.442 267.65 171.304 275.095 176.99 281.489C181.602 281.635 200.285 282.121 204.995 282.121C214.317 282.121 223.444 281.804 232.401 281.267C223.493 291.834 214.317 301.498 204.995 310.04ZM297.731 345.133C281.185 354.699 254.999 348.159 225.934 327.196C223.957 325.78 221.98 324.292 220.003 322.754C233.597 310.064 246.848 295.226 259.367 278.753C280.233 276.118 299.659 271.993 317.205 266.625C317.547 269.089 317.888 271.554 318.132 273.97C321.72 309.649 314.277 335.566 297.731 345.133ZM332.262 240.756C328.065 222.599 321.842 203.686 313.813 184.578C321.988 165.152 328.138 146.215 332.262 128.302C369.088 143.408 390.466 164.322 390.466 184.505C390.466 204.687 369.113 225.626 332.262 240.756Z\",\n fill: \"currentColor\"\n })\n ]\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"next\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 180 180\",\n fill: \"none\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"mask\", {\n id: \"mask0_408_139\",\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"180\",\n height: \"180\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"90\",\n fill: \"black\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"g\", {\n mask: \"url(#mask0_408_139)\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"87\",\n fill: \"black\",\n stroke: \"white\",\n strokeWidth: \"6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z\",\n fill: \"url(#paint0_linear_408_139)\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"rect\", {\n x: \"115\",\n y: \"54\",\n width: \"12\",\n height: \"72\",\n fill: \"url(#paint1_linear_408_139)\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"defs\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint0_linear_408_139\",\n x1: \"109\",\n y1: \"116.5\",\n x2: \"144.5\",\n y2: \"160.5\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint1_linear_408_139\",\n x1: \"121\",\n y1: \"54\",\n x2: \"120.799\",\n y2: \"106.875\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n })\n ]\n })\n ]\n });\n}\n_c = FrameworkIcon;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=FrameworkIcon.js.map\nvar _c;\n$RefreshReg$(_c, \"FrameworkIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaWNvbnMvRnJhbWV3b3JrSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUVnQkE7OztlQUFBQTs7OztBQUFULFNBQVNBLGNBQWNDLEtBSTdCO0lBSjZCLE1BQzVCQyxTQUFTLEVBR1YsR0FKNkJEO0lBSzVCLElBQUlDLGNBQWMsU0FBUztRQUN6QixPQUNFLFdBREYsR0FDRSxJQUFBQyxZQUFBQyxJQUFBLEVBQUNDLE9BQUFBO1lBQ0NDLHlDQUFzQztZQUN0Q0MsT0FBTTtZQUNOQyxPQUFNO1lBQ05DLFFBQU87WUFDUEMsU0FBUTtZQUNSQyxNQUFLO1lBQ0xDLGdCQUFlO1lBQ2ZDLFFBQU87WUFDUEMsZUFBYztZQUNkQyxnQkFBZTtZQUNmQyxhQUFZOzs4QkFFWixJQUFBYixZQUFBYyxHQUFBLEVBQUNDLFFBQUFBO29CQUNDQyxHQUFFO29CQUNGUixNQUFLOzs4QkFFUCxJQUFBUixZQUFBYyxHQUFBLEVBQUNDLFFBQUFBO29CQUNDQyxHQUFFO29CQUNGUixNQUFLOzs7O0lBSWI7SUFFQSxPQUNFLFdBREYsR0FDRSxJQUFBUixZQUFBQyxJQUFBLEVBQUNDLE9BQUFBO1FBQ0NDLHlDQUFzQztRQUN0Q0MsT0FBTTtRQUNOQyxPQUFNO1FBQ05DLFFBQU87UUFDUEMsU0FBUTtRQUNSQyxNQUFLOzswQkFFTCxJQUFBUixZQUFBYyxHQUFBLEVBQUNHLFFBQUFBO2dCQUNDQyxJQUFHO2dCQUNIQyxXQUFVO2dCQUNWQyxHQUFFO2dCQUNGQyxHQUFFO2dCQUNGaEIsT0FBTTtnQkFDTkMsUUFBTzswQkFFUCxrQkFBQU4sWUFBQWMsR0FBQSxFQUFDUSxVQUFBQTtvQkFBT0MsSUFBRztvQkFBS0MsSUFBRztvQkFBS0MsR0FBRTtvQkFBS2pCLE1BQUs7OzswQkFFdEMsSUFBQVIsWUFBQUMsSUFBQSxFQUFDeUIsS0FBQUE7Z0JBQUVULE1BQUs7O2tDQUNOLElBQUFqQixZQUFBYyxHQUFBLEVBQUNRLFVBQUFBO3dCQUNDQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxHQUFFO3dCQUNGakIsTUFBSzt3QkFDTEUsUUFBTzt3QkFDUEcsYUFBWTs7a0NBRWQsSUFBQWIsWUFBQWMsR0FBQSxFQUFDQyxRQUFBQTt3QkFDQ0MsR0FBRTt3QkFDRlIsTUFBSzs7a0NBRVAsSUFBQVIsWUFBQWMsR0FBQSxFQUFDYSxRQUFBQTt3QkFDQ1AsR0FBRTt3QkFDRkMsR0FBRTt3QkFDRmhCLE9BQU07d0JBQ05DLFFBQU87d0JBQ1BFLE1BQUs7Ozs7MEJBR1QsSUFBQVIsWUFBQUMsSUFBQSxFQUFDMkIsUUFBQUE7O2tDQUNDLElBQUE1QixZQUFBQyxJQUFBLEVBQUM0QixrQkFBQUE7d0JBQ0NYLElBQUc7d0JBQ0hZLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLGVBQWM7OzBDQUVkLElBQUFsQyxZQUFBYyxHQUFBLEVBQUNxQixRQUFBQTtnQ0FBS0MsV0FBVTs7MENBQ2hCLElBQUFwQyxZQUFBYyxHQUFBLEVBQUNxQixRQUFBQTtnQ0FBS0UsUUFBTztnQ0FBSUQsV0FBVTtnQ0FBUUUsYUFBWTs7OztrQ0FFakQsSUFBQXRDLFlBQUFDLElBQUEsRUFBQzRCLGtCQUFBQTt3QkFDQ1gsSUFBRzt3QkFDSFksSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsZUFBYzs7MENBRWQsSUFBQWxDLFlBQUFjLEdBQUEsRUFBQ3FCLFFBQUFBO2dDQUFLQyxXQUFVOzswQ0FDaEIsSUFBQXBDLFlBQUFjLEdBQUEsRUFBQ3FCLFFBQUFBO2dDQUFLRSxRQUFPO2dDQUFJRCxXQUFVO2dDQUFRRSxhQUFZOzs7Ozs7OztBQUt6RDtLQWxHZ0J6QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0ZyYW1ld29ya0ljb24udHN4P2M5MDAiXSwibmFtZXMiOlsiRnJhbWV3b3JrSWNvbiIsInBhcmFtIiwiZnJhbWV3b3JrIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwic3ZnIiwiZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZXdvcmstaWNvbiIsInhtbG5zIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsInNoYXBlUmVuZGVyaW5nIiwic3Ryb2tlIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJqc3giLCJwYXRoIiwiZCIsIm1hc2siLCJpZCIsIm1hc2tVbml0cyIsIngiLCJ5IiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJnIiwicmVjdCIsImRlZnMiLCJsaW5lYXJHcmFkaWVudCIsIngxIiwieTEiLCJ4MiIsInkyIiwiZ3JhZGllbnRVbml0cyIsInN0b3AiLCJzdG9wQ29sb3IiLCJvZmZzZXQiLCJzdG9wT3BhY2l0eSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js ***! - \********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Base\", ({\n enumerable: true,\n get: function() {\n return Base;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n --size-gap-half: 4px;\\n --size-gap: 8px;\\n --size-gap-double: 16px;\\n --size-gap-triple: 24px;\\n --size-gap-quad: 32px;\\n\\n --size-font-small: 14px;\\n --size-font: 16px;\\n --size-font-big: 20px;\\n --size-font-bigger: 24px;\\n\\n --color-background: white;\\n --color-font: #757575;\\n --color-backdrop: rgba(17, 17, 17, 0.2);\\n\\n --color-title-color: #1f1f1f;\\n --color-stack-h6: #222;\\n --color-stack-headline: #666;\\n --color-stack-subline: #999;\\n --color-stack-notes: #777;\\n\\n --color-accents-1: #808080;\\n --color-accents-2: #222222;\\n --color-accents-3: #404040;\\n\\n --color-text-color-red-1: #ff5555;\\n --color-text-background-red-1: #fff9f9;\\n\\n --font-stack-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono',\\n Menlo, Courier, monospace;\\n --font-stack-sans: -apple-system, 'Source Sans Pro', sans-serif;\\n\\n --color-ansi-selection: rgba(95, 126, 151, 0.48);\\n --color-ansi-bg: #111111;\\n --color-ansi-fg: #cccccc;\\n\\n --color-ansi-white: #777777;\\n --color-ansi-black: #141414;\\n --color-ansi-blue: #00aaff;\\n --color-ansi-cyan: #88ddff;\\n --color-ansi-green: #98ec65;\\n --color-ansi-magenta: #aa88ff;\\n --color-ansi-red: #ff5555;\\n --color-ansi-yellow: #ffcc33;\\n --color-ansi-bright-white: #ffffff;\\n --color-ansi-bright-black: #777777;\\n --color-ansi-bright-blue: #33bbff;\\n --color-ansi-bright-cyan: #bbecff;\\n --color-ansi-bright-green: #b6f292;\\n --color-ansi-bright-magenta: #cebbff;\\n --color-ansi-bright-red: #ff8888;\\n --color-ansi-bright-yellow: #ffd966;\\n }\\n\\n @media (prefers-color-scheme: dark) {\\n :host {\\n --color-background: rgb(28, 28, 30);\\n --color-font: white;\\n --color-backdrop: rgb(44, 44, 46);\\n\\n --color-title-color: #fafafa;\\n --color-stack-h6: rgb(200, 200, 204);\\n --color-stack-headline: rgb(99, 99, 102);\\n --color-stack-notes: #a9a9a9;\\n --color-stack-subline: rgb(121, 121, 121);\\n\\n --color-accents-3: rgb(118, 118, 118);\\n\\n --color-text-background-red-1: #2a1e1e;\\n }\\n }\\n\\n .mono {\\n font-family: var(--font-stack-monospace);\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-bottom: var(--size-gap);\\n font-weight: 500;\\n line-height: 1.5;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction Base() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\n_c = Base;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Base.js.map\nvar _c;\n$RefreshReg$(_c, \"Base\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvc3R5bGVzL0Jhc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozt3Q0FHZ0JBOzs7ZUFBQUE7Ozs7Ozs2RUFITzswQ0FDSzs7Ozs7Ozs7OztBQUVyQixTQUFTQTtJQUNkLE9BQ0UsV0FERixHQUNFLElBQUFDLFlBQUFDLEdBQUEsRUFBQ0MsU0FBQUE7c0JBQ0VDLGNBQUFBLElBQUcsRUFBQUM7O0FBMkZWO0tBOUZnQkwiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9zdHlsZXMvQmFzZS50c3g/ODAzYSJdLCJuYW1lcyI6WyJCYXNlIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJzdHlsZSIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ComponentStyles\", ({\n enumerable: true,\n get: function() {\n return ComponentStyles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _styles = __webpack_require__(/*! ../components/CodeFrame/styles */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _styles1 = __webpack_require__(/*! ../components/LeftRightDialogHeader/styles */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nconst _styles2 = __webpack_require__(/*! ../components/Overlay/styles */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\");\nconst _styles3 = __webpack_require__(/*! ../components/Terminal/styles */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _BuildError = __webpack_require__(/*! ../container/BuildError */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../container/Errors */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _RuntimeError = __webpack_require__(/*! ../container/RuntimeError */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction ComponentStyles() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject(), _styles2.styles, _Toast.styles, _Dialog.styles, _styles1.styles, _styles.styles, _styles3.styles, _BuildError.styles, _Errors.styles, _RuntimeError.styles, _VersionStalenessInfo.styles)\n });\n}\n_c = ComponentStyles;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ComponentStyles.js.map\nvar _c;\n$RefreshReg$(_c, \"ComponentStyles\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvc3R5bGVzL0NvbXBvbmVudFN0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQVlnQkE7OztlQUFBQTs7Ozs7b0NBWm9CO29DQUNIO3FDQUNlO3FDQUNkO3FDQUNDO21DQUNIO2tEQUNXO3dDQUNBO29DQUNJOzBDQUNPOzBDQUMxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckIsU0FBU0E7SUFDZCxPQUNFLFdBREYsR0FDRSxJQUFBQyxZQUFBQyxHQUFBLEVBQUNDLFNBQUFBO3NCQUNFQyxjQUFBQSxJQUFHLEVBQUFDLG1CQUNBQyxTQUFBQSxNQUFPLEVBQ1BDLE9BQUFBLE1BQUssRUFDTEMsUUFBQUEsTUFBTSxFQUNOQyxTQUFBQSxNQUFxQixFQUNyQkMsUUFBQUEsTUFBUyxFQUNUQyxTQUFBQSxNQUFRLEVBQ1JDLFlBQUFBLE1BQWdCLEVBQ2hCQyxRQUFBQSxNQUFvQixFQUNwQkMsY0FBQUEsTUFBMkIsRUFDM0JDLHNCQUFBQSxNQUFnQjs7QUFJMUI7S0FqQmdCZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Db21wb25lbnRTdHlsZXMudHN4PzhkYmEiXSwibmFtZXMiOlsiQ29tcG9uZW50U3R5bGVzIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJzdHlsZSIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCIsIm92ZXJsYXkiLCJ0b2FzdCIsImRpYWxvZyIsImxlZnRSaWdodERpYWxvZ0hlYWRlciIsImNvZGVGcmFtZSIsInRlcm1pbmFsIiwiYnVpbGRFcnJvclN0eWxlcyIsImNvbnRhaW5lckVycm9yU3R5bGVzIiwiY29udGFpbmVyUnVudGltZUVycm9yU3R5bGVzIiwidmVyc2lvblN0YWxlbmVzcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js ***! - \************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CssReset\", ({\n enumerable: true,\n get: function() {\n return CssReset;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n all: initial;\\n\\n /* the direction property is not reset by 'all' */\\n direction: ltr;\\n }\\n\\n /*!\\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\\n * Copyright 2011-2019 The Bootstrap Authors\\n * Copyright 2011-2019 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\\n */\\n *,\\n *::before,\\n *::after {\\n box-sizing: border-box;\\n }\\n\\n :host {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n }\\n\\n article,\\n aside,\\n figcaption,\\n figure,\\n footer,\\n header,\\n hgroup,\\n main,\\n nav,\\n section {\\n display: block;\\n }\\n\\n :host {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,\\n 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\\n 'Noto Color Emoji';\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 1.5;\\n color: var(--color-font);\\n text-align: left;\\n background-color: #fff;\\n }\\n\\n [tabindex='-1']:focus:not(:focus-visible) {\\n outline: 0 !important;\\n }\\n\\n hr {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible;\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-top: 0;\\n margin-bottom: 8px;\\n }\\n\\n p {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n abbr[title],\\n abbr[data-original-title] {\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none;\\n }\\n\\n address {\\n margin-bottom: 16px;\\n font-style: normal;\\n line-height: inherit;\\n }\\n\\n ol,\\n ul,\\n dl {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n ol ol,\\n ul ul,\\n ol ul,\\n ul ol {\\n margin-bottom: 0;\\n }\\n\\n dt {\\n font-weight: 700;\\n }\\n\\n dd {\\n margin-bottom: 8px;\\n margin-left: 0;\\n }\\n\\n blockquote {\\n margin: 0 0 16px;\\n }\\n\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n\\n small {\\n font-size: 80%;\\n }\\n\\n sub,\\n sup {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline;\\n }\\n\\n sub {\\n bottom: -0.25em;\\n }\\n\\n sup {\\n top: -0.5em;\\n }\\n\\n a {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n }\\n\\n a:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n }\\n\\n a:not([href]) {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n a:not([href]):hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n pre,\\n code,\\n kbd,\\n samp {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas,\\n 'Liberation Mono', 'Courier New', monospace;\\n font-size: 1em;\\n }\\n\\n pre {\\n margin-top: 0;\\n margin-bottom: 16px;\\n overflow: auto;\\n }\\n\\n figure {\\n margin: 0 0 16px;\\n }\\n\\n img {\\n vertical-align: middle;\\n border-style: none;\\n }\\n\\n svg {\\n overflow: hidden;\\n vertical-align: middle;\\n }\\n\\n table {\\n border-collapse: collapse;\\n }\\n\\n caption {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom;\\n }\\n\\n th {\\n text-align: inherit;\\n }\\n\\n label {\\n display: inline-block;\\n margin-bottom: 8px;\\n }\\n\\n button {\\n border-radius: 0;\\n }\\n\\n button:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n }\\n\\n input,\\n button,\\n select,\\n optgroup,\\n textarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n }\\n\\n button,\\n input {\\n overflow: visible;\\n }\\n\\n button,\\n select {\\n text-transform: none;\\n }\\n\\n select {\\n word-wrap: normal;\\n }\\n\\n button,\\n [type='button'],\\n [type='reset'],\\n [type='submit'] {\\n -webkit-appearance: button;\\n }\\n\\n button:not(:disabled),\\n [type='button']:not(:disabled),\\n [type='reset']:not(:disabled),\\n [type='submit']:not(:disabled) {\\n cursor: pointer;\\n }\\n\\n button::-moz-focus-inner,\\n [type='button']::-moz-focus-inner,\\n [type='reset']::-moz-focus-inner,\\n [type='submit']::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n }\\n\\n input[type='radio'],\\n input[type='checkbox'] {\\n box-sizing: border-box;\\n padding: 0;\\n }\\n\\n input[type='date'],\\n input[type='time'],\\n input[type='datetime-local'],\\n input[type='month'] {\\n -webkit-appearance: listbox;\\n }\\n\\n textarea {\\n overflow: auto;\\n resize: vertical;\\n }\\n\\n fieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n }\\n\\n legend {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: 8px;\\n font-size: 24px;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal;\\n }\\n\\n progress {\\n vertical-align: baseline;\\n }\\n\\n [type='number']::-webkit-inner-spin-button,\\n [type='number']::-webkit-outer-spin-button {\\n height: auto;\\n }\\n\\n [type='search'] {\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n }\\n\\n [type='search']::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n\\n ::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button;\\n }\\n\\n output {\\n display: inline-block;\\n }\\n\\n summary {\\n display: list-item;\\n cursor: pointer;\\n }\\n\\n template {\\n display: none;\\n }\\n\\n [hidden] {\\n display: none !important;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction CssReset() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\n_c = CssReset;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CssReset.js.map\nvar _c;\n$RefreshReg$(_c, \"CssReset\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvc3R5bGVzL0Nzc1Jlc2V0LmpzIiwibWFwcGluZ3MiOiI7Ozs7NENBR2dCQTs7O2VBQUFBOzs7Ozs7NkVBSE87MENBQ0s7Ozs7Ozs7Ozs7QUFFckIsU0FBU0E7SUFDZCxPQUNFLFdBREYsR0FDRSxJQUFBQyxZQUFBQyxHQUFBLEVBQUNDLFNBQUFBO3NCQUNFQyxjQUFBQSxJQUFHLEVBQUFDOztBQW1XVjtLQXRXZ0JMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvc3R5bGVzL0Nzc1Jlc2V0LnRzeD82OTAyIl0sIm5hbWVzIjpbIkNzc1Jlc2V0IiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJzdHlsZSIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/shared.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_BEFORE_REFRESH: function() {\n return ACTION_BEFORE_REFRESH;\n },\n ACTION_BUILD_ERROR: function() {\n return ACTION_BUILD_ERROR;\n },\n ACTION_BUILD_OK: function() {\n return ACTION_BUILD_OK;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_UNHANDLED_ERROR: function() {\n return ACTION_UNHANDLED_ERROR;\n },\n ACTION_UNHANDLED_REJECTION: function() {\n return ACTION_UNHANDLED_REJECTION;\n },\n ACTION_VERSION_INFO: function() {\n return ACTION_VERSION_INFO;\n },\n INITIAL_OVERLAY_STATE: function() {\n return INITIAL_OVERLAY_STATE;\n },\n REACT_REFRESH_FULL_RELOAD_FROM_ERROR: function() {\n return REACT_REFRESH_FULL_RELOAD_FROM_ERROR;\n },\n useErrorOverlayReducer: function() {\n return useErrorOverlayReducer;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst ACTION_BUILD_OK = \"build-ok\";\nconst ACTION_BUILD_ERROR = \"build-error\";\nconst ACTION_BEFORE_REFRESH = \"before-fast-refresh\";\nconst ACTION_REFRESH = \"fast-refresh\";\nconst ACTION_VERSION_INFO = \"version-info\";\nconst ACTION_UNHANDLED_ERROR = \"unhandled-error\";\nconst ACTION_UNHANDLED_REJECTION = \"unhandled-rejection\";\nfunction pushErrorFilterDuplicates(errors, err) {\n return [\n ...errors.filter((e)=>{\n // Filter out duplicate errors\n return e.event.reason !== err.event.reason;\n }),\n err\n ];\n}\nconst INITIAL_OVERLAY_STATE = {\n nextId: 1,\n buildError: null,\n errors: [],\n notFound: false,\n refreshState: {\n type: \"idle\"\n },\n rootLayoutMissingTags: [],\n versionInfo: {\n installed: \"0.0.0\",\n staleness: \"unknown\"\n }\n};\nfunction useErrorOverlayReducer() {\n return (0, _react.useReducer)((_state, action)=>{\n switch(action.type){\n case ACTION_BUILD_OK:\n {\n return {\n ..._state,\n buildError: null\n };\n }\n case ACTION_BUILD_ERROR:\n {\n return {\n ..._state,\n buildError: action.message\n };\n }\n case ACTION_BEFORE_REFRESH:\n {\n return {\n ..._state,\n refreshState: {\n type: \"pending\",\n errors: []\n }\n };\n }\n case ACTION_REFRESH:\n {\n return {\n ..._state,\n buildError: null,\n errors: // and UNHANDLED_REJECTION events might be dispatched between the\n // BEFORE_REFRESH and the REFRESH event. We want to keep those errors\n // around until the next refresh. Otherwise we run into a race\n // condition where those errors would be cleared on refresh completion\n // before they can be displayed.\n _state.refreshState.type === \"pending\" ? _state.refreshState.errors : [],\n refreshState: {\n type: \"idle\"\n }\n };\n }\n case ACTION_UNHANDLED_ERROR:\n case ACTION_UNHANDLED_REJECTION:\n {\n switch(_state.refreshState.type){\n case \"idle\":\n {\n return {\n ..._state,\n nextId: _state.nextId + 1,\n errors: pushErrorFilterDuplicates(_state.errors, {\n id: _state.nextId,\n event: action\n })\n };\n }\n case \"pending\":\n {\n return {\n ..._state,\n nextId: _state.nextId + 1,\n refreshState: {\n ..._state.refreshState,\n errors: pushErrorFilterDuplicates(_state.refreshState.errors, {\n id: _state.nextId,\n event: action\n })\n }\n };\n }\n default:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = _state.refreshState;\n return _state;\n }\n }\n case ACTION_VERSION_INFO:\n {\n return {\n ..._state,\n versionInfo: action.versionInfo\n };\n }\n default:\n {\n return _state;\n }\n }\n }, INITIAL_OVERLAY_STATE);\n}\nconst REACT_REFRESH_FULL_RELOAD_FROM_ERROR = \"[Fast Refresh] performing full reload because your application had an unrecoverable error\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=shared.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvc2hhcmVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXlCYUEsdUJBQXFCO2VBQXJCQTs7SUFEQUMsb0JBQWtCO2VBQWxCQTs7SUFEQUMsaUJBQWU7ZUFBZkE7O0lBR0FDLGdCQUFjO2VBQWRBOztJQUVBQyx3QkFBc0I7ZUFBdEJBOztJQUNBQyw0QkFBMEI7ZUFBMUJBOztJQUZBQyxxQkFBbUI7ZUFBbkJBOztJQTBEQUMsdUJBQXFCO2VBQXJCQTs7SUFpRkFDLHNDQUFvQztlQUFwQ0E7O0lBdkVHQyx3QkFBc0I7ZUFBdEJBOzs7bUNBL0ZXO0FBdUJwQixNQUFNUCxrQkFBa0I7QUFDeEIsTUFBTUQscUJBQXFCO0FBQzNCLE1BQU1ELHdCQUF3QjtBQUM5QixNQUFNRyxpQkFBaUI7QUFDdkIsTUFBTUcsc0JBQXNCO0FBQzVCLE1BQU1GLHlCQUF5QjtBQUMvQixNQUFNQyw2QkFBNkI7QUEyQzFDLFNBQVNLLDBCQUNQQyxNQUE2QixFQUM3QkMsR0FBd0I7SUFFeEIsT0FBTztXQUNGRCxPQUFPRSxNQUFNLENBQUMsQ0FBQ0M7WUFDaEIsOEJBQThCO1lBQzlCLE9BQU9BLEVBQUVDLEtBQUssQ0FBQ0MsTUFBTSxLQUFLSixJQUFJRyxLQUFLLENBQUNDLE1BQU07UUFDNUM7UUFDQUo7S0FDRDtBQUNIO0FBRU8sTUFBTUwsd0JBQXNDO0lBQ2pEVSxRQUFRO0lBQ1JDLFlBQVk7SUFDWlAsUUFBUSxFQUFFO0lBQ1ZRLFVBQVU7SUFDVkMsY0FBYztRQUFFQyxNQUFNO0lBQU87SUFDN0JDLHVCQUF1QixFQUFFO0lBQ3pCQyxhQUFhO1FBQUVDLFdBQVc7UUFBU0MsV0FBVztJQUFVO0FBQzFEO0FBRU8sU0FBU2hCO0lBQ2QsT0FBT2lCLENBQUFBLEdBQUFBLE9BQUFBLFVBQVUsRUFBd0MsQ0FBQ0MsUUFBUUM7UUFDaEUsT0FBUUEsT0FBT1AsSUFBSTtZQUNqQixLQUFLbkI7Z0JBQWlCO29CQUNwQixPQUFPO3dCQUFFLEdBQUd5QixNQUFNO3dCQUFFVCxZQUFZO29CQUFLO2dCQUN2QztZQUNBLEtBQUtqQjtnQkFBb0I7b0JBQ3ZCLE9BQU87d0JBQUUsR0FBRzBCLE1BQU07d0JBQUVULFlBQVlVLE9BQU9DLE9BQU87b0JBQUM7Z0JBQ2pEO1lBQ0EsS0FBSzdCO2dCQUF1QjtvQkFDMUIsT0FBTzt3QkFBRSxHQUFHMkIsTUFBTTt3QkFBRVAsY0FBYzs0QkFBRUMsTUFBTTs0QkFBV1YsUUFBUSxFQUFFO3dCQUFDO29CQUFFO2dCQUNwRTtZQUNBLEtBQUtSO2dCQUFnQjtvQkFDbkIsT0FBTzt3QkFDTCxHQUFHd0IsTUFBTTt3QkFDVFQsWUFBWTt3QkFDWlAsUUFFRSxpRUFBaUU7d0JBQ2pFLHFFQUFxRTt3QkFDckUsOERBQThEO3dCQUM5RCxzRUFBc0U7d0JBQ3RFLGdDQUFnQzt3QkFDaENnQixPQUFPUCxZQUFZLENBQUNDLElBQUksS0FBSyxZQUN6Qk0sT0FBT1AsWUFBWSxDQUFDVCxNQUFNLEdBQzFCLEVBQUU7d0JBQ1JTLGNBQWM7NEJBQUVDLE1BQU07d0JBQU87b0JBQy9CO2dCQUNGO1lBQ0EsS0FBS2pCO1lBQ0wsS0FBS0M7Z0JBQTRCO29CQUMvQixPQUFRc0IsT0FBT1AsWUFBWSxDQUFDQyxJQUFJO3dCQUM5QixLQUFLOzRCQUFRO2dDQUNYLE9BQU87b0NBQ0wsR0FBR00sTUFBTTtvQ0FDVFYsUUFBUVUsT0FBT1YsTUFBTSxHQUFHO29DQUN4Qk4sUUFBUUQsMEJBQTBCaUIsT0FBT2hCLE1BQU0sRUFBRTt3Q0FDL0NtQixJQUFJSCxPQUFPVixNQUFNO3dDQUNqQkYsT0FBT2E7b0NBQ1Q7Z0NBQ0Y7NEJBQ0Y7d0JBQ0EsS0FBSzs0QkFBVztnQ0FDZCxPQUFPO29DQUNMLEdBQUdELE1BQU07b0NBQ1RWLFFBQVFVLE9BQU9WLE1BQU0sR0FBRztvQ0FDeEJHLGNBQWM7d0NBQ1osR0FBR08sT0FBT1AsWUFBWTt3Q0FDdEJULFFBQVFELDBCQUEwQmlCLE9BQU9QLFlBQVksQ0FBQ1QsTUFBTSxFQUFFOzRDQUM1RG1CLElBQUlILE9BQU9WLE1BQU07NENBQ2pCRixPQUFPYTt3Q0FDVDtvQ0FDRjtnQ0FDRjs0QkFDRjt3QkFDQTs0QkFDRSw2REFBNkQ7NEJBQzdELE1BQU1HLElBQVdKLE9BQU9QLFlBQVk7NEJBQ3BDLE9BQU9PO29CQUNYO2dCQUNGO1lBQ0EsS0FBS3JCO2dCQUFxQjtvQkFDeEIsT0FBTzt3QkFBRSxHQUFHcUIsTUFBTTt3QkFBRUosYUFBYUssT0FBT0wsV0FBVztvQkFBQztnQkFDdEQ7WUFDQTtnQkFBUztvQkFDUCxPQUFPSTtnQkFDVDtRQUNGO0lBQ0YsR0FBR3BCO0FBQ0w7QUFFTyxNQUFNQyx1Q0FDWCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3NoYXJlZC50cz9jNDRmIl0sIm5hbWVzIjpbIkFDVElPTl9CRUZPUkVfUkVGUkVTSCIsIkFDVElPTl9CVUlMRF9FUlJPUiIsIkFDVElPTl9CVUlMRF9PSyIsIkFDVElPTl9SRUZSRVNIIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwiQUNUSU9OX1ZFUlNJT05fSU5GTyIsIklOSVRJQUxfT1ZFUkxBWV9TVEFURSIsIlJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQURfRlJPTV9FUlJPUiIsInVzZUVycm9yT3ZlcmxheVJlZHVjZXIiLCJwdXNoRXJyb3JGaWx0ZXJEdXBsaWNhdGVzIiwiZXJyb3JzIiwiZXJyIiwiZmlsdGVyIiwiZSIsImV2ZW50IiwicmVhc29uIiwibmV4dElkIiwiYnVpbGRFcnJvciIsIm5vdEZvdW5kIiwicmVmcmVzaFN0YXRlIiwidHlwZSIsInJvb3RMYXlvdXRNaXNzaW5nVGFncyIsInZlcnNpb25JbmZvIiwiaW5zdGFsbGVkIiwic3RhbGVuZXNzIiwidXNlUmVkdWNlciIsIl9zdGF0ZSIsImFjdGlvbiIsIm1lc3NhZ2UiLCJpZCIsIl8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/redirect-boundary.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/client/components/redirect-boundary.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RedirectBoundary: function() {\n return RedirectBoundary;\n },\n RedirectErrorBoundary: function() {\n return RedirectErrorBoundary;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js\");\nfunction HandleRedirect(param) {\n let { redirect, reset, redirectType } = param;\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n _react.default.startTransition(()=>{\n if (redirectType === _redirect.RedirectType.push) {\n router.push(redirect, {});\n } else {\n router.replace(redirect, {});\n }\n reset();\n });\n }, [\n redirect,\n redirectType,\n reset,\n router\n ]);\n return null;\n}\n_c = HandleRedirect;\nclass RedirectErrorBoundary extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _redirect.isRedirectError)(error)) {\n const url = (0, _redirect.getURLFromRedirectError)(error);\n const redirectType = (0, _redirect.getRedirectTypeFromError)(error);\n return {\n redirect: url,\n redirectType\n };\n }\n // Re-throw if error is not for redirect\n throw error;\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific the the `@types/react` version.\n render() {\n const { redirect, redirectType } = this.state;\n if (redirect !== null && redirectType !== null) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleRedirect, {\n redirect: redirect,\n redirectType: redirectType,\n reset: ()=>this.setState({\n redirect: null\n })\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n redirect: null,\n redirectType: null\n };\n }\n}\nfunction RedirectBoundary(param) {\n let { children } = param;\n const router = (0, _navigation.useRouter)();\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(RedirectErrorBoundary, {\n router: router,\n children: children\n });\n}\n_c1 = RedirectBoundary;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect-boundary.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"HandleRedirect\");\n$RefreshReg$(_c1, \"RedirectBoundary\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3QtYm91bmRhcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUE2RWdCQSxTQUFBQTtzQkFBQUE7O0lBcENIQzsyQkFBQUE7Ozs7Ozs2QkF0Q2FDLDBCQUFBQyxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO3dDQU1uQjtBQU9QLE1BQUFDLFlBQVNDLG1CQUFBQSxDQUFlO1NBQUFBLGVBRXRCQyxLQUNBQztJQU1BLE1BQU1DLFFBQUFBLEVBQVNDLEtBQUFBLEVBQUFBLFlBQUFBLEVBQUFBLEdBQVNDO0lBRXhCQyxNQUFBQSxTQUFBQSxDQUFBQSxHQUFBQSxZQUFVRixTQUFBO1FBQ1JHLE9BQUFBLFNBQU1DLEVBQUFBO2VBQ0pDLE9BQUlQLENBQUFBLGVBQWlCUSxDQUFBQTtnQkFDbkJQLGlCQUFZUSxVQUFXRCxZQUFBLENBQUFFLElBQUE7Z0JBQ3pCVCxPQUFPUyxJQUFBLENBQUFELFVBQUE7bUJBQ0xSO2dCQUNGQSxPQUFBVSxPQUFBLENBQUFGLFVBQUE7WUFDQVY7WUFDRkE7UUFDQzs7UUFBV0M7UUFBY0Q7UUFBT0U7UUFBT0E7S0FFMUM7SUFDRjtBQUVPO0tBekJpQkg7TUFrQ3RCTCw4QkFBZ0NtQixPQUFZTCxPQUFBLENBQUFNLFNBQUE7V0FDMUNDLHlCQUFJQyxLQUFlLEVBQUNIO1lBQ2xCLElBQUFmLFVBQVltQixlQUFBQSxFQUFBQSxRQUFBQTtZQUNaLE1BQU1oQixNQUFBQSxDQUFBQSxHQUFBQSxVQUFlaUIsdUJBQUFBLEVBQUFBO1lBQ3JCLE1BQUFqQixlQUFPLElBQUFILFVBQUFvQix3QkFBQSxFQUFBTDttQkFBRUg7Z0JBQWVULFVBQUFBO2dCQUFhQTtZQUN2QztRQUNBO1FBQ0Esd0NBQU1ZO1FBQ1IsTUFBQUE7SUFFQTtJQUNBTSwwSUFBMEI7YUFDeEI7UUFDQSxNQUFJVCxFQUFBQSxRQUFBQSxFQUFhVCxZQUFRQSxFQUFBQSxHQUFBQSxJQUFBQSxDQUFBQSxLQUFpQjtZQUN4Q1MsYUFBQSxRQUNFVCxpQkFBQSxNQUFDRjttQkFDV1csV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsZ0JBQUFBO2dCQUNWVCxVQUFBQTtnQkFDQUQsY0FBYUM7MkJBQWdCUyxJQUFBQSxDQUFBQSxRQUFVO3dCQUFLQSxVQUFBOztZQUdsRDtRQUVBO1FBQ0YsWUFBQVUsS0FBQSxDQUFBQyxRQUFBO0lBN0JBQztnQkFDUUYsS0FBQUEsQ0FBQUE7UUFDTixLQUFLRyxDQUFBQTtZQUFVYixDQUFBQSxLQUFBQSxHQUFBQTtZQUFnQlQsVUFBQUE7WUFBbUJBLGNBQUE7UUFDcEQ7SUEyQkY7QUFFTztTQUEwQlIsaUJBQUFXLEtBQUE7SUFDL0IsTUFBTUYsUUFBQUEsRUFBU0MsR0FBQUE7SUFDZixNQUFBRCxTQUFBLElBQUFzQixZQUNFckIsU0FBQTtXQUErQkQsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsdUJBQUFBOzs7SUFFbkM7O01BTGlDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LWJvdW5kYXJ5LnRzeD81Nzg5Il0sIm5hbWVzIjpbIlJlZGlyZWN0Qm91bmRhcnkiLCJSZWRpcmVjdEVycm9yQm91bmRhcnkiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiXyIsInJlcXVpcmUiLCJfcmVkaXJlY3QiLCJIYW5kbGVSZWRpcmVjdCIsInJlc2V0IiwicmVkaXJlY3RUeXBlIiwicm91dGVyIiwidXNlUm91dGVyIiwicGFyYW0iLCJ1c2VFZmZlY3QiLCJSZWFjdCIsInN0YXJ0VHJhbnNpdGlvbiIsImRlZmF1bHQiLCJSZWRpcmVjdFR5cGUiLCJyZWRpcmVjdCIsInB1c2giLCJyZXBsYWNlIiwiZXJyb3IiLCJDb21wb25lbnQiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJpc1JlZGlyZWN0RXJyb3IiLCJnZXRVUkxGcm9tUmVkaXJlY3RFcnJvciIsImdldFJlZGlyZWN0VHlwZUZyb21FcnJvciIsInJlbmRlciIsInByb3BzIiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsInN0YXRlIiwiX25hdmlnYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/redirect-boundary.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/redirect-status-code.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/redirect-status-code.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RedirectStatusCode\", ({\n enumerable: true,\n get: function() {\n return RedirectStatusCode;\n }\n}));\nvar RedirectStatusCode;\n(function(RedirectStatusCode) {\n RedirectStatusCode[RedirectStatusCode[\"SeeOther\"] = 303] = \"SeeOther\";\n RedirectStatusCode[RedirectStatusCode[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n RedirectStatusCode[RedirectStatusCode[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n})(RedirectStatusCode || (RedirectStatusCode = {}));\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect-status-code.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3Qtc3RhdHVzLWNvZGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7VUFBWUEsa0JBQUFBOzs7O0dBQUFBLHNCQUFBQSxDQUFBQSxxQkFBQUEsQ0FBQUEsQ0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWRpcmVjdC1zdGF0dXMtY29kZS50cz80MjgxIl0sIm5hbWVzIjpbIlJlZGlyZWN0U3RhdHVzQ29kZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/redirect-status-code.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/client/components/redirect.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RedirectType: function() {\n return RedirectType;\n },\n getRedirectError: function() {\n return getRedirectError;\n },\n getRedirectStatusCodeFromError: function() {\n return getRedirectStatusCodeFromError;\n },\n getRedirectTypeFromError: function() {\n return getRedirectTypeFromError;\n },\n getURLFromRedirectError: function() {\n return getURLFromRedirectError;\n },\n isRedirectError: function() {\n return isRedirectError;\n },\n permanentRedirect: function() {\n return permanentRedirect;\n },\n redirect: function() {\n return redirect;\n }\n});\nconst _requestasyncstorageexternal = __webpack_require__(/*! ./request-async-storage.external */ \"(shared)/./node_modules/next/dist/client/components/request-async-storage.external.js\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ./action-async-storage.external */ \"(shared)/./node_modules/next/dist/client/components/action-async-storage.external.js\");\nconst _redirectstatuscode = __webpack_require__(/*! ./redirect-status-code */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-status-code.js\");\nconst REDIRECT_ERROR_CODE = \"NEXT_REDIRECT\";\nvar RedirectType;\n(function(RedirectType) {\n RedirectType[\"push\"] = \"push\";\n RedirectType[\"replace\"] = \"replace\";\n})(RedirectType || (RedirectType = {}));\nfunction getRedirectError(url, type, statusCode) {\n if (statusCode === void 0) statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect;\n const error = new Error(REDIRECT_ERROR_CODE);\n error.digest = REDIRECT_ERROR_CODE + \";\" + type + \";\" + url + \";\" + statusCode + \";\";\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (requestStore) {\n error.mutableCookies = requestStore.mutableCookies;\n }\n return error;\n}\nfunction redirect(/** The URL to redirect to */ url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.TemporaryRedirect);\n}\nfunction permanentRedirect(/** The URL to redirect to */ url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.PermanentRedirect);\n}\nfunction isRedirectError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error) || typeof error.digest !== \"string\") {\n return false;\n }\n const [errorCode, type, destination, status] = error.digest.split(\";\", 4);\n const statusCode = Number(status);\n return errorCode === REDIRECT_ERROR_CODE && (type === \"replace\" || type === \"push\") && typeof destination === \"string\" && !isNaN(statusCode) && statusCode in _redirectstatuscode.RedirectStatusCode;\n}\nfunction getURLFromRedirectError(error) {\n if (!isRedirectError(error)) return null;\n // Slices off the beginning of the digest that contains the code and the\n // separating ';'.\n return error.digest.split(\";\", 3)[2];\n}\nfunction getRedirectTypeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return error.digest.split(\";\", 2)[1];\n}\nfunction getRedirectStatusCodeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return Number(error.digest.split(\";\", 4)[3]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0lBaUJnQkEsa0JBQWdCO2VBQWhCQTs7SUFvSUFDLGdDQUE4QjtlQUE5QkE7O0lBVkFDLDBCQUF3QjtlQUF4QkE7O0lBUkFDLHlCQUF1QjtlQUF2QkE7O0lBbkNBQyxpQkFBZTtlQUFmQTs7SUF6QkFDLG1CQUFpQjtlQUFqQkE7O0lBN0JBQyxVQUFRO2VBQVJBOzs7eURBMUNvQjt3REFFRDtnREFDQTtBQUVuQyxNQUFNQyxzQkFBc0I7O1VBRWhCQyxZQUFBQTs7O0dBQUFBLGdCQUFBQSxDQUFBQSxlQUFBQSxDQUFBQSxDQUFBQTtBQVVMLFNBQVNSLGlCQUNkUyxHQUFXLEVBQ1hDLElBQWtCLEVBQ2xCQyxVQUFxRTtJQUFyRUEsSUFBQUEsZUFBQUEsS0FBQUEsR0FBQUEsYUFBaUNDLG9CQUFBQSxrQkFBa0IsQ0FBQ0MsaUJBQWlCO0lBRXJFLE1BQU1DLFFBQVEsSUFBSUMsTUFBTVI7SUFDeEJPLE1BQU1FLE1BQU0sR0FBR1Qsc0JBQXVCLE1BQUdHLE9BQUssTUFBR0QsTUFBSSxNQUFHRSxhQUFXO0lBQ25FLE1BQU1NLGVBQWVDLDZCQUFBQSxtQkFBbUIsQ0FBQ0MsUUFBUTtJQUNqRCxJQUFJRixjQUFjO1FBQ2hCSCxNQUFNTSxjQUFjLEdBQUdILGFBQWFHLGNBQWM7SUFDcEQ7SUFDQSxPQUFPTjtBQUNUO0FBYU8sU0FBU1IsU0FDZCwyQkFBMkIsR0FDM0JHLEdBQVcsRUFDWEMsSUFBeUM7SUFBekNBLElBQUFBLFNBQUFBLEtBQUFBLEdBQUFBLE9BQUFBO0lBRUEsTUFBTVcsY0FBY0MsNEJBQUFBLGtCQUFrQixDQUFDSCxRQUFRO0lBQy9DLE1BQU1uQixpQkFDSlMsS0FDQUMsTUFJQVcsNERBRjREO0lBQzVELGtEQUFrRDtJQUNsREEsQ0FBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsWUFBYUUsUUFBUSxJQUNqQlgsb0JBQUFBLGtCQUFrQixDQUFDWSxRQUFRLEdBQzNCWixvQkFBQUEsa0JBQWtCLENBQUNDLGlCQUFpQjtBQUU1QztBQWFPLFNBQVNSLGtCQUNkLDJCQUEyQixHQUMzQkksR0FBVyxFQUNYQyxJQUF5QztJQUF6Q0EsSUFBQUEsU0FBQUEsS0FBQUEsR0FBQUEsT0FBQUE7SUFFQSxNQUFNVyxjQUFjQyw0QkFBQUEsa0JBQWtCLENBQUNILFFBQVE7SUFDL0MsTUFBTW5CLGlCQUNKUyxLQUNBQyxNQUlBVyw0REFGNEQ7SUFDNUQsa0RBQWtEO0lBQ2xEQSxDQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxZQUFhRSxRQUFRLElBQ2pCWCxvQkFBQUEsa0JBQWtCLENBQUNZLFFBQVEsR0FDM0JaLG9CQUFBQSxrQkFBa0IsQ0FBQ2EsaUJBQWlCO0FBRTVDO0FBU08sU0FBU3JCLGdCQUNkVSxLQUFjO0lBRWQsSUFDRSxPQUFPQSxVQUFVLFlBQ2pCQSxVQUFVLFFBQ1YsQ0FBRSxhQUFZQSxLQUFBQSxLQUNkLE9BQU9BLE1BQU1FLE1BQU0sS0FBSyxVQUN4QjtRQUNBLE9BQU87SUFDVDtJQUVBLE1BQU0sQ0FBQ1UsV0FBV2hCLE1BQU1pQixhQUFhQyxPQUFPLEdBQUdkLE1BQU1FLE1BQU0sQ0FBQ2EsS0FBSyxDQUFDLEtBQUs7SUFFdkUsTUFBTWxCLGFBQWFtQixPQUFPRjtJQUUxQixPQUNFRixjQUFjbkIsdUJBQ2JHLENBQUFBLFNBQVMsYUFBYUEsU0FBUyxXQUNoQyxPQUFPaUIsZ0JBQWdCLFlBQ3ZCLENBQUNJLE1BQU1wQixlQUNQQSxjQUFjQyxvQkFBQUEsa0JBQWtCO0FBRXBDO0FBWU8sU0FBU1Qsd0JBQXdCVyxLQUFjO0lBQ3BELElBQUksQ0FBQ1YsZ0JBQWdCVSxRQUFRLE9BQU87SUFFcEMsd0VBQXdFO0lBQ3hFLGtCQUFrQjtJQUNsQixPQUFPQSxNQUFNRSxNQUFNLENBQUNhLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFO0FBQ3RDO0FBRU8sU0FBUzNCLHlCQUNkWSxLQUF1QjtJQUV2QixJQUFJLENBQUNWLGdCQUFnQlUsUUFBUTtRQUMzQixNQUFNLElBQUlDLE1BQU07SUFDbEI7SUFFQSxPQUFPRCxNQUFNRSxNQUFNLENBQUNhLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFO0FBQ3RDO0FBRU8sU0FBUzVCLCtCQUNkYSxLQUF1QjtJQUV2QixJQUFJLENBQUNWLGdCQUFnQlUsUUFBUTtRQUMzQixNQUFNLElBQUlDLE1BQU07SUFDbEI7SUFFQSxPQUFPZSxPQUFPaEIsTUFBTUUsTUFBTSxDQUFDYSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRTtBQUM3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LnRzP2RjMjciXSwibmFtZXMiOlsiZ2V0UmVkaXJlY3RFcnJvciIsImdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvciIsImdldFJlZGlyZWN0VHlwZUZyb21FcnJvciIsImdldFVSTEZyb21SZWRpcmVjdEVycm9yIiwiaXNSZWRpcmVjdEVycm9yIiwicGVybWFuZW50UmVkaXJlY3QiLCJyZWRpcmVjdCIsIlJFRElSRUNUX0VSUk9SX0NPREUiLCJSZWRpcmVjdFR5cGUiLCJ1cmwiLCJ0eXBlIiwic3RhdHVzQ29kZSIsIlJlZGlyZWN0U3RhdHVzQ29kZSIsIlRlbXBvcmFyeVJlZGlyZWN0IiwiZXJyb3IiLCJFcnJvciIsImRpZ2VzdCIsInJlcXVlc3RTdG9yZSIsInJlcXVlc3RBc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsIm11dGFibGVDb29raWVzIiwiYWN0aW9uU3RvcmUiLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLCJpc0FjdGlvbiIsIlNlZU90aGVyIiwiUGVybWFuZW50UmVkaXJlY3QiLCJlcnJvckNvZGUiLCJkZXN0aW5hdGlvbiIsInN0YXR1cyIsInNwbGl0IiwiTnVtYmVyIiwiaXNOYU4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js\n")); - -/***/ }), - -/***/ "(shared)/./node_modules/next/dist/client/components/request-async-storage.external.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/request-async-storage.external.js ***! - \************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("\"TURBOPACK { transition: next-shared }\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getExpectedRequestStore: function() {\n return getExpectedRequestStore;\n },\n requestAsyncStorage: function() {\n return _requestasyncstorageinstance.requestAsyncStorage;\n }\n});\nconst _requestasyncstorageinstance = __webpack_require__(/*! ./request-async-storage-instance */ \"(shared)/./node_modules/next/dist/client/components/request-async-storage-instance.js\");\nfunction getExpectedRequestStore(callingExpression) {\n const store = _requestasyncstorageinstance.requestAsyncStorage.getStore();\n if (store) return store;\n throw new Error(\"`\" + callingExpression + \"` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-async-storage.external.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlcXVlc3QtYXN5bmMtc3RvcmFnZS5leHRlcm5hbC5qcyIsIm1hcHBpbmdzIjoiQUFRRTs7Ozs7Ozs7Ozs7OztJQWdCY0EseUJBQXVCO2VBQXZCQTs7SUFGUEMscUJBQW1CO2VBQW5CQSw2QkFBQUEsbUJBQW1COzs7eURBYlE7QUFlN0IsU0FBU0Qsd0JBQXdCRSxpQkFBeUI7SUFDL0QsTUFBTUMsUUFBUUYsNkJBQUFBLG1CQUFtQixDQUFDRyxRQUFRO0lBQzFDLElBQUlELE9BQU8sT0FBT0E7SUFDbEIsTUFBTSxJQUFJRSxNQUNSLE1BQUtILG9CQUFrQjtBQUUzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlcXVlc3QtYXN5bmMtc3RvcmFnZS5leHRlcm5hbC50cz8zY2Q0Il0sIm5hbWVzIjpbImdldEV4cGVjdGVkUmVxdWVzdFN0b3JlIiwicmVxdWVzdEFzeW5jU3RvcmFnZSIsImNhbGxpbmdFeHByZXNzaW9uIiwic3RvcmUiLCJnZXRTdG9yZSIsIkVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(shared)/./node_modules/next/dist/client/components/request-async-storage.external.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js ***! - \**************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"applyFlightData\", ({\n enumerable: true,\n get: function() {\n return applyFlightData;\n }\n}));\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _fillcachewithnewsubtreedata = __webpack_require__(/*! ./fill-cache-with-new-subtree-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\");\nfunction applyFlightData(existingCache, cache, flightDataPath, prefetchEntry) {\n // The one before last item is the router state tree patch\n const [treePatch, cacheNodeSeedData, head] = flightDataPath.slice(-3);\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (cacheNodeSeedData === null) {\n return false;\n }\n if (flightDataPath.length === 3) {\n const rsc = cacheNodeSeedData[2];\n const loading = cacheNodeSeedData[3];\n cache.loading = loading;\n cache.rsc = rsc;\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, existingCache, treePatch, cacheNodeSeedData, head, prefetchEntry);\n } else {\n // Copy rsc for the root node of the cache.\n cache.rsc = existingCache.rsc;\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n cache.prefetchRsc = existingCache.prefetchRsc;\n cache.parallelRoutes = new Map(existingCache.parallelRoutes);\n cache.loading = existingCache.loading;\n // Create a copy of the existing cache with the rsc applied.\n (0, _fillcachewithnewsubtreedata.fillCacheWithNewSubTreeData)(cache, existingCache, flightDataPath, prefetchEntry);\n }\n return true;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=apply-flight-data.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktZmxpZ2h0LWRhdGEuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFNZ0JBOzs7ZUFBQUE7OzsyREFKOEI7eURBQ0Y7QUFHckMsU0FBU0EsZ0JBQ2RDLGFBQXdCLEVBQ3hCQyxLQUFnQixFQUNoQkMsY0FBOEIsRUFDOUJDLGFBQWtDO0lBRWxDLDBEQUEwRDtJQUMxRCxNQUFNLENBQUNDLFdBQVdDLG1CQUFtQkMsS0FBSyxHQUFHSixlQUFlSyxLQUFLLENBQUMsQ0FBQztJQUVuRSw4RkFBOEY7SUFDOUYsSUFBSUYsc0JBQXNCLE1BQU07UUFDOUIsT0FBTztJQUNUO0lBRUEsSUFBSUgsZUFBZU0sTUFBTSxLQUFLLEdBQUc7UUFDL0IsTUFBTUMsTUFBTUosaUJBQWlCLENBQUMsRUFBRTtRQUNoQyxNQUFNSyxVQUFVTCxpQkFBaUIsQ0FBQyxFQUFFO1FBQ3BDSixNQUFNUyxPQUFPLEdBQUdBO1FBQ2hCVCxNQUFNUSxHQUFHLEdBQUdBO1FBQ1osa0VBQWtFO1FBQ2xFLG9FQUFvRTtRQUNwRSwyREFBMkQ7UUFDM0Qsa0VBQWtFO1FBQ2xFLCtCQUErQjtRQUMvQlIsTUFBTVUsV0FBVyxHQUFHO1FBQ3BCQyxDQUFBQSxHQUFBQSwrQkFBQUEsNkJBQTZCLEVBQzNCWCxPQUNBRCxlQUNBSSxXQUNBQyxtQkFDQUMsTUFDQUg7SUFFSixPQUFPO1FBQ0wsMkNBQTJDO1FBQzNDRixNQUFNUSxHQUFHLEdBQUdULGNBQWNTLEdBQUc7UUFDN0Isb0VBQW9FO1FBQ3BFLGtFQUFrRTtRQUNsRSwyQkFBMkI7UUFDM0JSLE1BQU1VLFdBQVcsR0FBR1gsY0FBY1csV0FBVztRQUM3Q1YsTUFBTVksY0FBYyxHQUFHLElBQUlDLElBQUlkLGNBQWNhLGNBQWM7UUFDM0RaLE1BQU1TLE9BQU8sR0FBR1YsY0FBY1UsT0FBTztRQUNyQyw0REFBNEQ7UUFDNURLLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBMkIsRUFDekJkLE9BQ0FELGVBQ0FFLGdCQUNBQztJQUVKO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktZmxpZ2h0LWRhdGEudHM/MjhiYyJdLCJuYW1lcyI6WyJhcHBseUZsaWdodERhdGEiLCJleGlzdGluZ0NhY2hlIiwiY2FjaGUiLCJmbGlnaHREYXRhUGF0aCIsInByZWZldGNoRW50cnkiLCJ0cmVlUGF0Y2giLCJjYWNoZU5vZGVTZWVkRGF0YSIsImhlYWQiLCJzbGljZSIsImxlbmd0aCIsInJzYyIsImxvYWRpbmciLCJwcmVmZXRjaFJzYyIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwicGFyYWxsZWxSb3V0ZXMiLCJNYXAiLCJmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js ***! - \*****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"applyRouterStatePatchToTree\", ({\n enumerable: true,\n get: function() {\n return applyRouterStatePatchToTree;\n }\n}));\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ./refetch-inactive-parallel-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\n/**\n * Deep merge of the two router states. Parallel route keys are preserved if the patch doesn't have them.\n */ function applyPatch(initialTree, patchTree, flightSegmentPath) {\n const [initialSegment, initialParallelRoutes] = initialTree;\n const [patchSegment, patchParallelRoutes] = patchTree;\n // if the applied patch segment is __DEFAULT__ then it can be ignored in favor of the initial tree\n // this is because the __DEFAULT__ segment is used as a placeholder on navigation\n if (patchSegment === _segment.DEFAULT_SEGMENT_KEY && initialSegment !== _segment.DEFAULT_SEGMENT_KEY) {\n return initialTree;\n }\n if ((0, _matchsegments.matchSegment)(initialSegment, patchSegment)) {\n const newParallelRoutes = {};\n for(const key in initialParallelRoutes){\n const isInPatchTreeParallelRoutes = typeof patchParallelRoutes[key] !== \"undefined\";\n if (isInPatchTreeParallelRoutes) {\n newParallelRoutes[key] = applyPatch(initialParallelRoutes[key], patchParallelRoutes[key], flightSegmentPath);\n } else {\n newParallelRoutes[key] = initialParallelRoutes[key];\n }\n }\n for(const key in patchParallelRoutes){\n if (newParallelRoutes[key]) {\n continue;\n }\n newParallelRoutes[key] = patchParallelRoutes[key];\n }\n const tree = [\n initialSegment,\n newParallelRoutes\n ];\n // Copy over the existing tree\n if (initialTree[2]) {\n tree[2] = initialTree[2];\n }\n if (initialTree[3]) {\n tree[3] = initialTree[3];\n }\n if (initialTree[4]) {\n tree[4] = initialTree[4];\n }\n return tree;\n }\n return patchTree;\n}\nfunction applyRouterStatePatchToTree(flightSegmentPath, flightRouterState, treePatch, path) {\n const [segment, parallelRoutes, url, refetch, isRootLayout] = flightRouterState;\n // Root refresh\n if (flightSegmentPath.length === 1) {\n const tree = applyPatch(flightRouterState, treePatch, flightSegmentPath);\n (0, _refetchinactiveparallelsegments.addRefreshMarkerToActiveParallelSegments)(tree, path);\n return tree;\n }\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Tree path returned from the server should always match up with the current tree in the browser\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n return null;\n }\n const lastSegment = flightSegmentPath.length === 2;\n let parallelRoutePatch;\n if (lastSegment) {\n parallelRoutePatch = applyPatch(parallelRoutes[parallelRouteKey], treePatch, flightSegmentPath);\n } else {\n parallelRoutePatch = applyRouterStatePatchToTree(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey], treePatch, path);\n if (parallelRoutePatch === null) {\n return null;\n }\n }\n const tree = [\n flightSegmentPath[0],\n {\n ...parallelRoutes,\n [parallelRouteKey]: parallelRoutePatch\n },\n url,\n refetch\n ];\n // Current segment is the root layout\n if (isRootLayout) {\n tree[4] = true;\n }\n (0, _refetchinactiveparallelsegments.addRefreshMarkerToActiveParallelSegments)(tree, path);\n return tree;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=apply-router-state-patch-to-tree.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWUuanMiLCJtYXBwaW5ncyI6Ijs7OzsrREE4RWdCQTs7O2VBQUFBOzs7cUNBMUVvQjsyQ0FDUDs2REFDNEI7QUFFekQ7O0NBRUMsR0FDRCxTQUFTQyxXQUNQQyxXQUE4QixFQUM5QkMsU0FBNEIsRUFDNUJDLGlCQUFvQztJQUVwQyxNQUFNLENBQUNDLGdCQUFnQkMsc0JBQXNCLEdBQUdKO0lBQ2hELE1BQU0sQ0FBQ0ssY0FBY0Msb0JBQW9CLEdBQUdMO0lBRTVDLGtHQUFrRztJQUNsRyxpRkFBaUY7SUFDakYsSUFDRUksaUJBQWlCRSxTQUFBQSxtQkFBbUIsSUFDcENKLG1CQUFtQkksU0FBQUEsbUJBQW1CLEVBQ3RDO1FBQ0EsT0FBT1A7SUFDVDtJQUVBLElBQUlRLENBQUFBLEdBQUFBLGVBQUFBLFlBQVksRUFBQ0wsZ0JBQWdCRSxlQUFlO1FBQzlDLE1BQU1JLG9CQUEwQyxDQUFDO1FBQ2pELElBQUssTUFBTUMsT0FBT04sc0JBQXVCO1lBQ3ZDLE1BQU1PLDhCQUNKLE9BQU9MLG1CQUFtQixDQUFDSSxJQUFJLEtBQUs7WUFDdEMsSUFBSUMsNkJBQTZCO2dCQUMvQkYsaUJBQWlCLENBQUNDLElBQUksR0FBR1gsV0FDdkJLLHFCQUFxQixDQUFDTSxJQUFJLEVBQzFCSixtQkFBbUIsQ0FBQ0ksSUFBSSxFQUN4QlI7WUFFSixPQUFPO2dCQUNMTyxpQkFBaUIsQ0FBQ0MsSUFBSSxHQUFHTixxQkFBcUIsQ0FBQ00sSUFBSTtZQUNyRDtRQUNGO1FBRUEsSUFBSyxNQUFNQSxPQUFPSixvQkFBcUI7WUFDckMsSUFBSUcsaUJBQWlCLENBQUNDLElBQUksRUFBRTtnQkFDMUI7WUFDRjtZQUVBRCxpQkFBaUIsQ0FBQ0MsSUFBSSxHQUFHSixtQkFBbUIsQ0FBQ0ksSUFBSTtRQUNuRDtRQUVBLE1BQU1FLE9BQTBCO1lBQUNUO1lBQWdCTTtTQUFrQjtRQUVuRSw4QkFBOEI7UUFDOUIsSUFBSVQsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUNsQlksSUFBSSxDQUFDLEVBQUUsR0FBR1osV0FBVyxDQUFDLEVBQUU7UUFDMUI7UUFFQSxJQUFJQSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQ2xCWSxJQUFJLENBQUMsRUFBRSxHQUFHWixXQUFXLENBQUMsRUFBRTtRQUMxQjtRQUVBLElBQUlBLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDbEJZLElBQUksQ0FBQyxFQUFFLEdBQUdaLFdBQVcsQ0FBQyxFQUFFO1FBQzFCO1FBRUEsT0FBT1k7SUFDVDtJQUVBLE9BQU9YO0FBQ1Q7QUFPTyxTQUFTSCw0QkFDZEksaUJBQW9DLEVBQ3BDVyxpQkFBb0MsRUFDcENDLFNBQTRCLEVBQzVCQyxJQUFZO0lBRVosTUFBTSxDQUFDQyxTQUFTQyxnQkFBZ0JDLEtBQUtDLFNBQVNDLGFBQWEsR0FDekRQO0lBRUYsZUFBZTtJQUNmLElBQUlYLGtCQUFrQm1CLE1BQU0sS0FBSyxHQUFHO1FBQ2xDLE1BQU1ULE9BQTBCYixXQUM5QmMsbUJBQ0FDLFdBQ0FaO1FBR0ZvQixDQUFBQSxHQUFBQSxpQ0FBQUEsd0NBQXdDLEVBQUNWLE1BQU1HO1FBRS9DLE9BQU9IO0lBQ1Q7SUFFQSxNQUFNLENBQUNXLGdCQUFnQkMsaUJBQWlCLEdBQUd0QjtJQUUzQyxpR0FBaUc7SUFDakcsSUFBSSxDQUFDTSxDQUFBQSxHQUFBQSxlQUFBQSxZQUFZLEVBQUNlLGdCQUFnQlAsVUFBVTtRQUMxQyxPQUFPO0lBQ1Q7SUFFQSxNQUFNUyxjQUFjdkIsa0JBQWtCbUIsTUFBTSxLQUFLO0lBRWpELElBQUlLO0lBQ0osSUFBSUQsYUFBYTtRQUNmQyxxQkFBcUIzQixXQUNuQmtCLGNBQWMsQ0FBQ08saUJBQWlCLEVBQ2hDVixXQUNBWjtJQUVKLE9BQU87UUFDTHdCLHFCQUFxQjVCLDRCQUNuQkksa0JBQWtCeUIsS0FBSyxDQUFDLElBQ3hCVixjQUFjLENBQUNPLGlCQUFpQixFQUNoQ1YsV0FDQUM7UUFHRixJQUFJVyx1QkFBdUIsTUFBTTtZQUMvQixPQUFPO1FBQ1Q7SUFDRjtJQUVBLE1BQU1kLE9BQTBCO1FBQzlCVixpQkFBaUIsQ0FBQyxFQUFFO1FBQ3BCO1lBQ0UsR0FBR2UsY0FBYztZQUNqQixDQUFDTyxpQkFBaUIsRUFBRUU7UUFDdEI7UUFDQVI7UUFDQUM7S0FDRDtJQUVELHFDQUFxQztJQUNyQyxJQUFJQyxjQUFjO1FBQ2hCUixJQUFJLENBQUMsRUFBRSxHQUFHO0lBQ1o7SUFFQVUsQ0FBQUEsR0FBQUEsaUNBQUFBLHdDQUF3QyxFQUFDVixNQUFNRztJQUUvQyxPQUFPSDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWUudHM/NGQxMiJdLCJuYW1lcyI6WyJhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWUiLCJhcHBseVBhdGNoIiwiaW5pdGlhbFRyZWUiLCJwYXRjaFRyZWUiLCJmbGlnaHRTZWdtZW50UGF0aCIsImluaXRpYWxTZWdtZW50IiwiaW5pdGlhbFBhcmFsbGVsUm91dGVzIiwicGF0Y2hTZWdtZW50IiwicGF0Y2hQYXJhbGxlbFJvdXRlcyIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJtYXRjaFNlZ21lbnQiLCJuZXdQYXJhbGxlbFJvdXRlcyIsImtleSIsImlzSW5QYXRjaFRyZWVQYXJhbGxlbFJvdXRlcyIsInRyZWUiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsInRyZWVQYXRjaCIsInBhdGgiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZXMiLCJ1cmwiLCJyZWZldGNoIiwiaXNSb290TGF5b3V0IiwibGVuZ3RoIiwiYWRkUmVmcmVzaE1hcmtlclRvQWN0aXZlUGFyYWxsZWxTZWdtZW50cyIsImN1cnJlbnRTZWdtZW50IiwicGFyYWxsZWxSb3V0ZUtleSIsImxhc3RTZWdtZW50IiwicGFyYWxsZWxSb3V0ZVBhdGNoIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"clearCacheNodeDataForSegmentPath\", ({\n enumerable: true,\n get: function() {\n return clearCacheNodeDataForSegmentPath;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction clearCacheNodeDataForSegmentPath(newCache, existingCache, flightSegmentPath) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap == null ? void 0 : existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n // In case of last segment start off the fetch at this level and don't copy further down.\n if (isLastEntry) {\n if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n });\n }\n return;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n // Start fetch in the place where the existing cache doesn't have the data yet.\n if (!childCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n });\n }\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n head: childCacheNode.head,\n prefetchHead: childCacheNode.prefetchHead,\n parallelRoutes: new Map(childCacheNode.parallelRoutes),\n lazyDataResolved: childCacheNode.lazyDataResolved,\n loading: childCacheNode.loading\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n return clearCacheNodeDataForSegmentPath(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=clear-cache-node-data-for-segment-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY2xlYXItY2FjaGUtbm9kZS1kYXRhLWZvci1zZWdtZW50LXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7OztvRUFPZ0JBOzs7ZUFBQUE7OztrREFMcUI7QUFLOUIsU0FBU0EsaUNBQ2RDLFFBQW1CLEVBQ25CQyxhQUF3QixFQUN4QkMsaUJBQW9DO0lBRXBDLE1BQU1DLGNBQWNELGtCQUFrQkUsTUFBTSxJQUFJO0lBRWhELE1BQU0sQ0FBQ0Msa0JBQWtCQyxRQUFRLEdBQUdKO0lBQ3BDLE1BQU1LLFdBQVdDLENBQUFBLEdBQUFBLHNCQUFBQSxvQkFBb0IsRUFBQ0Y7SUFFdEMsTUFBTUcsMEJBQ0pSLGNBQWNTLGNBQWMsQ0FBQ0MsR0FBRyxDQUFDTjtJQUVuQyxJQUFJTyxrQkFBa0JaLFNBQVNVLGNBQWMsQ0FBQ0MsR0FBRyxDQUFDTjtJQUVsRCxJQUFJLENBQUNPLG1CQUFtQkEsb0JBQW9CSCx5QkFBeUI7UUFDbkVHLGtCQUFrQixJQUFJQyxJQUFJSjtRQUMxQlQsU0FBU1UsY0FBYyxDQUFDSSxHQUFHLENBQUNULGtCQUFrQk87SUFDaEQ7SUFFQSxNQUFNRyx5QkFBeUJOLDJCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSx3QkFBeUJFLEdBQUcsQ0FBQ0o7SUFDNUQsSUFBSVMsaUJBQWlCSixnQkFBZ0JELEdBQUcsQ0FBQ0o7SUFFekMseUZBQXlGO0lBQ3pGLElBQUlKLGFBQWE7UUFDZixJQUNFLENBQUNhLGtCQUNELENBQUNBLGVBQWVDLFFBQVEsSUFDeEJELG1CQUFtQkQsd0JBQ25CO1lBQ0FILGdCQUFnQkUsR0FBRyxDQUFDUCxVQUFVO2dCQUM1QlUsVUFBVTtnQkFDVkMsS0FBSztnQkFDTEMsYUFBYTtnQkFDYkMsTUFBTTtnQkFDTkMsY0FBYztnQkFDZFgsZ0JBQWdCLElBQUlHO2dCQUNwQlMsa0JBQWtCO2dCQUNsQkMsU0FBUztZQUNYO1FBQ0Y7UUFDQTtJQUNGO0lBRUEsSUFBSSxDQUFDUCxrQkFBa0IsQ0FBQ0Qsd0JBQXdCO1FBQzlDLCtFQUErRTtRQUMvRSxJQUFJLENBQUNDLGdCQUFnQjtZQUNuQkosZ0JBQWdCRSxHQUFHLENBQUNQLFVBQVU7Z0JBQzVCVSxVQUFVO2dCQUNWQyxLQUFLO2dCQUNMQyxhQUFhO2dCQUNiQyxNQUFNO2dCQUNOQyxjQUFjO2dCQUNkWCxnQkFBZ0IsSUFBSUc7Z0JBQ3BCUyxrQkFBa0I7Z0JBQ2xCQyxTQUFTO1lBQ1g7UUFDRjtRQUNBO0lBQ0Y7SUFFQSxJQUFJUCxtQkFBbUJELHdCQUF3QjtRQUM3Q0MsaUJBQWlCO1lBQ2ZDLFVBQVVELGVBQWVDLFFBQVE7WUFDakNDLEtBQUtGLGVBQWVFLEdBQUc7WUFDdkJDLGFBQWFILGVBQWVHLFdBQVc7WUFDdkNDLE1BQU1KLGVBQWVJLElBQUk7WUFDekJDLGNBQWNMLGVBQWVLLFlBQVk7WUFDekNYLGdCQUFnQixJQUFJRyxJQUFJRyxlQUFlTixjQUFjO1lBQ3JEWSxrQkFBa0JOLGVBQWVNLGdCQUFnQjtZQUNqREMsU0FBU1AsZUFBZU8sT0FBTztRQUNqQztRQUNBWCxnQkFBZ0JFLEdBQUcsQ0FBQ1AsVUFBVVM7SUFDaEM7SUFFQSxPQUFPakIsaUNBQ0xpQixnQkFDQUQsd0JBQ0FiLGtCQUFrQnNCLEtBQUssQ0FBQztBQUU1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NsZWFyLWNhY2hlLW5vZGUtZGF0YS1mb3Itc2VnbWVudC1wYXRoLnRzP2FhOGQiXSwibmFtZXMiOlsiY2xlYXJDYWNoZU5vZGVEYXRhRm9yU2VnbWVudFBhdGgiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJmbGlnaHRTZWdtZW50UGF0aCIsImlzTGFzdEVudHJ5IiwibGVuZ3RoIiwicGFyYWxsZWxSb3V0ZUtleSIsInNlZ21lbnQiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXAiLCJwYXJhbGxlbFJvdXRlcyIsImdldCIsImNoaWxkU2VnbWVudE1hcCIsIk1hcCIsInNldCIsImV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUiLCJjaGlsZENhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwicHJlZmV0Y2hIZWFkIiwibGF6eURhdGFSZXNvbHZlZCIsImxvYWRpbmciLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js ***! - \*****************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n computeChangedPath: function() {\n return computeChangedPath;\n },\n extractPathFromFlightRouterState: function() {\n return extractPathFromFlightRouterState;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\");\nconst removeLeadingSlash = (segment)=>{\n return segment[0] === \"/\" ? segment.slice(1) : segment;\n};\nconst segmentToPathname = (segment)=>{\n if (typeof segment === \"string\") {\n // 'children' is not a valid path -- it's technically a parallel route that corresponds with the current segment's page\n // if we don't skip it, then the computed pathname might be something like `/children` which doesn't make sense.\n if (segment === \"children\") return \"\";\n return segment;\n }\n return segment[1];\n};\nfunction normalizeSegments(segments) {\n return segments.reduce((acc, segment)=>{\n segment = removeLeadingSlash(segment);\n if (segment === \"\" || (0, _segment.isGroupSegment)(segment)) {\n return acc;\n }\n return acc + \"/\" + segment;\n }, \"\") || \"/\";\n}\nfunction extractPathFromFlightRouterState(flightRouterState) {\n const segment = Array.isArray(flightRouterState[0]) ? flightRouterState[0][1] : flightRouterState[0];\n if (segment === _segment.DEFAULT_SEGMENT_KEY || _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m))) return undefined;\n if (segment.startsWith(_segment.PAGE_SEGMENT_KEY)) return \"\";\n const segments = [\n segmentToPathname(segment)\n ];\n var _flightRouterState_;\n const parallelRoutes = (_flightRouterState_ = flightRouterState[1]) != null ? _flightRouterState_ : {};\n const childrenPath = parallelRoutes.children ? extractPathFromFlightRouterState(parallelRoutes.children) : undefined;\n if (childrenPath !== undefined) {\n segments.push(childrenPath);\n } else {\n for (const [key, value] of Object.entries(parallelRoutes)){\n if (key === \"children\") continue;\n const childPath = extractPathFromFlightRouterState(value);\n if (childPath !== undefined) {\n segments.push(childPath);\n }\n }\n }\n return normalizeSegments(segments);\n}\nfunction computeChangedPathImpl(treeA, treeB) {\n const [segmentA, parallelRoutesA] = treeA;\n const [segmentB, parallelRoutesB] = treeB;\n const normalizedSegmentA = segmentToPathname(segmentA);\n const normalizedSegmentB = segmentToPathname(segmentB);\n if (_interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>normalizedSegmentA.startsWith(m) || normalizedSegmentB.startsWith(m))) {\n return \"\";\n }\n if (!(0, _matchsegments.matchSegment)(segmentA, segmentB)) {\n var _extractPathFromFlightRouterState;\n // once we find where the tree changed, we compute the rest of the path by traversing the tree\n return (_extractPathFromFlightRouterState = extractPathFromFlightRouterState(treeB)) != null ? _extractPathFromFlightRouterState : \"\";\n }\n for(const parallelRouterKey in parallelRoutesA){\n if (parallelRoutesB[parallelRouterKey]) {\n const changedPath = computeChangedPathImpl(parallelRoutesA[parallelRouterKey], parallelRoutesB[parallelRouterKey]);\n if (changedPath !== null) {\n return segmentToPathname(segmentB) + \"/\" + changedPath;\n }\n }\n }\n return null;\n}\nfunction computeChangedPath(treeA, treeB) {\n const changedPath = computeChangedPathImpl(treeA, treeB);\n if (changedPath == null || changedPath === \"/\") {\n return changedPath;\n }\n // lightweight normalization to remove route groups\n return normalizeSegments(changedPath.split(\"/\"));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=compute-changed-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY29tcHV0ZS1jaGFuZ2VkLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBdUhnQkEsb0JBQWtCO2VBQWxCQTs7SUE5RUFDLGtDQUFnQztlQUFoQ0E7OztnREFyQzJCO3FDQUtwQzsyQ0FDc0I7QUFFN0IsTUFBTUMscUJBQXFCLENBQUNDO0lBQzFCLE9BQU9BLE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTUEsUUFBUUMsS0FBSyxDQUFDLEtBQUtEO0FBQ2pEO0FBRUEsTUFBTUUsb0JBQW9CLENBQUNGO0lBQ3pCLElBQUksT0FBT0EsWUFBWSxVQUFVO1FBQy9CLHVIQUF1SDtRQUN2SCxnSEFBZ0g7UUFDaEgsSUFBSUEsWUFBWSxZQUFZLE9BQU87UUFFbkMsT0FBT0E7SUFDVDtJQUVBLE9BQU9BLE9BQU8sQ0FBQyxFQUFFO0FBQ25CO0FBRUEsU0FBU0csa0JBQWtCQyxRQUFrQjtJQUMzQyxPQUNFQSxTQUFTQyxNQUFNLENBQUMsQ0FBQ0MsS0FBS047UUFDcEJBLFVBQVVELG1CQUFtQkM7UUFDN0IsSUFBSUEsWUFBWSxNQUFNTyxDQUFBQSxHQUFBQSxTQUFBQSxjQUFjLEVBQUNQLFVBQVU7WUFDN0MsT0FBT007UUFDVDtRQUVBLE9BQU9BLE1BQU8sTUFBR047SUFDbkIsR0FBRyxPQUFPO0FBRWQ7QUFFTyxTQUFTRixpQ0FDZFUsaUJBQW9DO0lBRXBDLE1BQU1SLFVBQVVTLE1BQU1DLE9BQU8sQ0FBQ0YsaUJBQWlCLENBQUMsRUFBRSxJQUM5Q0EsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FDdkJBLGlCQUFpQixDQUFDLEVBQUU7SUFFeEIsSUFDRVIsWUFBWVcsU0FBQUEsbUJBQW1CLElBQy9CQyxvQkFBQUEsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDQyxJQUFNZCxRQUFRZSxVQUFVLENBQUNELEtBRTFELE9BQU9FO0lBRVQsSUFBSWhCLFFBQVFlLFVBQVUsQ0FBQ0UsU0FBQUEsZ0JBQWdCLEdBQUcsT0FBTztJQUVqRCxNQUFNYixXQUFXO1FBQUNGLGtCQUFrQkY7S0FBUztRQUN0QlE7SUFBdkIsTUFBTVUsaUJBQWlCVixDQUFBQSxzQkFBQUEsaUJBQWlCLENBQUMsRUFBRSxZQUFwQkEsc0JBQXdCLENBQUM7SUFFaEQsTUFBTVcsZUFBZUQsZUFBZUUsUUFBUSxHQUN4Q3RCLGlDQUFpQ29CLGVBQWVFLFFBQVEsSUFDeERKO0lBRUosSUFBSUcsaUJBQWlCSCxXQUFXO1FBQzlCWixTQUFTaUIsSUFBSSxDQUFDRjtJQUNoQixPQUFPO1FBQ0wsS0FBSyxNQUFNLENBQUNHLEtBQUtDLE1BQU0sSUFBSUMsT0FBT0MsT0FBTyxDQUFDUCxnQkFBaUI7WUFDekQsSUFBSUksUUFBUSxZQUFZO1lBRXhCLE1BQU1JLFlBQVk1QixpQ0FBaUN5QjtZQUVuRCxJQUFJRyxjQUFjVixXQUFXO2dCQUMzQlosU0FBU2lCLElBQUksQ0FBQ0s7WUFDaEI7UUFDRjtJQUNGO0lBRUEsT0FBT3ZCLGtCQUFrQkM7QUFDM0I7QUFFQSxTQUFTdUIsdUJBQ1BDLEtBQXdCLEVBQ3hCQyxLQUF3QjtJQUV4QixNQUFNLENBQUNDLFVBQVVDLGdCQUFnQixHQUFHSDtJQUNwQyxNQUFNLENBQUNJLFVBQVVDLGdCQUFnQixHQUFHSjtJQUVwQyxNQUFNSyxxQkFBcUJoQyxrQkFBa0I0QjtJQUM3QyxNQUFNSyxxQkFBcUJqQyxrQkFBa0I4QjtJQUU3QyxJQUNFcEIsb0JBQUFBLDBCQUEwQixDQUFDQyxJQUFJLENBQzdCLENBQUNDLElBQ0NvQixtQkFBbUJuQixVQUFVLENBQUNELE1BQU1xQixtQkFBbUJwQixVQUFVLENBQUNELEtBRXRFO1FBQ0EsT0FBTztJQUNUO0lBRUEsSUFBSSxDQUFDc0IsQ0FBQUEsR0FBQUEsZUFBQUEsWUFBWSxFQUFDTixVQUFVRSxXQUFXO1lBRTlCbEM7UUFEUCw4RkFBOEY7UUFDOUYsT0FBT0EsQ0FBQUEsb0NBQUFBLGlDQUFpQytCLE1BQUFBLEtBQUFBLE9BQWpDL0Isb0NBQTJDO0lBQ3BEO0lBRUEsSUFBSyxNQUFNdUMscUJBQXFCTixnQkFBaUI7UUFDL0MsSUFBSUUsZUFBZSxDQUFDSSxrQkFBa0IsRUFBRTtZQUN0QyxNQUFNQyxjQUFjWCx1QkFDbEJJLGVBQWUsQ0FBQ00sa0JBQWtCLEVBQ2xDSixlQUFlLENBQUNJLGtCQUFrQjtZQUVwQyxJQUFJQyxnQkFBZ0IsTUFBTTtnQkFDeEIsT0FBT3BDLGtCQUFxQjhCLFlBQVUsTUFBR007WUFDM0M7UUFDRjtJQUNGO0lBRUEsT0FBTztBQUNUO0FBRU8sU0FBU3pDLG1CQUNkK0IsS0FBd0IsRUFDeEJDLEtBQXdCO0lBRXhCLE1BQU1TLGNBQWNYLHVCQUF1QkMsT0FBT0M7SUFFbEQsSUFBSVMsZUFBZSxRQUFRQSxnQkFBZ0IsS0FBSztRQUM5QyxPQUFPQTtJQUNUO0lBRUEsbURBQW1EO0lBQ25ELE9BQU9uQyxrQkFBa0JtQyxZQUFZQyxLQUFLLENBQUM7QUFDN0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9jb21wdXRlLWNoYW5nZWQtcGF0aC50cz9jMWMzIl0sIm5hbWVzIjpbImNvbXB1dGVDaGFuZ2VkUGF0aCIsImV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlIiwicmVtb3ZlTGVhZGluZ1NsYXNoIiwic2VnbWVudCIsInNsaWNlIiwic2VnbWVudFRvUGF0aG5hbWUiLCJub3JtYWxpemVTZWdtZW50cyIsInNlZ21lbnRzIiwicmVkdWNlIiwiYWNjIiwiaXNHcm91cFNlZ21lbnQiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsIkFycmF5IiwiaXNBcnJheSIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyIsInNvbWUiLCJtIiwic3RhcnRzV2l0aCIsInVuZGVmaW5lZCIsIlBBR0VfU0VHTUVOVF9LRVkiLCJwYXJhbGxlbFJvdXRlcyIsImNoaWxkcmVuUGF0aCIsImNoaWxkcmVuIiwicHVzaCIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsImNoaWxkUGF0aCIsImNvbXB1dGVDaGFuZ2VkUGF0aEltcGwiLCJ0cmVlQSIsInRyZWVCIiwic2VnbWVudEEiLCJwYXJhbGxlbFJvdXRlc0EiLCJzZWdtZW50QiIsInBhcmFsbGVsUm91dGVzQiIsIm5vcm1hbGl6ZWRTZWdtZW50QSIsIm5vcm1hbGl6ZWRTZWdtZW50QiIsIm1hdGNoU2VnbWVudCIsInBhcmFsbGVsUm91dGVyS2V5IiwiY2hhbmdlZFBhdGgiLCJzcGxpdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js ***! - \*****************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createHrefFromUrl\", ({\n enumerable: true,\n get: function() {\n return createHrefFromUrl;\n }\n}));\nfunction createHrefFromUrl(url, includeHash) {\n if (includeHash === void 0) includeHash = true;\n return url.pathname + url.search + (includeHash ? url.hash : \"\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-href-from-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLWhyZWYtZnJvbS11cmwuanMiLCJtYXBwaW5ncyI6Ijs7OztxREFBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGtCQUNkQyxHQUE4QyxFQUM5Q0MsV0FBMkI7SUFBM0JBLElBQUFBLGdCQUFBQSxLQUFBQSxHQUFBQSxjQUF1QjtJQUV2QixPQUFPRCxJQUFJRSxRQUFRLEdBQUdGLElBQUlHLE1BQU0sR0FBSUYsQ0FBQUEsY0FBY0QsSUFBSUksSUFBSSxHQUFHO0FBQy9EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLWhyZWYtZnJvbS11cmwudHM/ZTBlYiJdLCJuYW1lcyI6WyJjcmVhdGVIcmVmRnJvbVVybCIsInVybCIsImluY2x1ZGVIYXNoIiwicGF0aG5hbWUiLCJzZWFyY2giLCJoYXNoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js ***! - \************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createInitialRouterState\", ({\n enumerable: true,\n get: function() {\n return createInitialRouterState;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ./create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ./prefetch-cache-utils */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ./refetch-inactive-parallel-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\nfunction createInitialRouterState(param) {\n let { buildId, initialTree, initialSeedData, initialCanonicalUrl, initialParallelRoutes, location, initialHead, couldBeIntercepted } = param;\n const isServer = !location;\n const rsc = initialSeedData[2];\n const cache = {\n lazyData: null,\n rsc: rsc,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n // The cache gets seeded during the first render. `initialParallelRoutes` ensures the cache from the first render is there during the second render.\n parallelRoutes: isServer ? new Map() : initialParallelRoutes,\n lazyDataResolved: false,\n loading: initialSeedData[3]\n };\n const canonicalUrl = // This is safe to do as canonicalUrl can't be rendered, it's only used to control the history updates in the useEffect further down in this file.\n location ? (0, _createhreffromurl.createHrefFromUrl)(location) : initialCanonicalUrl;\n (0, _refetchinactiveparallelsegments.addRefreshMarkerToActiveParallelSegments)(initialTree, canonicalUrl);\n const prefetchCache = new Map();\n // When the cache hasn't been seeded yet we fill the cache with the head.\n if (initialParallelRoutes === null || initialParallelRoutes.size === 0) {\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, initialTree, initialSeedData, initialHead);\n }\n var _ref;\n const initialState = {\n buildId,\n tree: initialTree,\n cache,\n prefetchCache,\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // First render needs to preserve the previous window.history.state\n // to avoid it being overwritten on navigation back/forward with MPA Navigation.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: {\n apply: false,\n onlyHashChange: false,\n hashFragment: null,\n segmentPaths: []\n },\n canonicalUrl,\n nextUrl: (_ref = (0, _computechangedpath.extractPathFromFlightRouterState)(initialTree) || (location == null ? void 0 : location.pathname)) != null ? _ref : null\n };\n if (location) {\n // Seed the prefetch cache with this page's data.\n // This is to prevent needlessly re-prefetching a page that is already reusable,\n // and will avoid triggering a loading state/data fetch stall when navigating back to the page.\n const url = new URL(location.pathname, location.origin);\n const initialFlightData = [\n [\n \"\",\n initialTree,\n null,\n null\n ]\n ];\n (0, _prefetchcacheutils.createPrefetchCacheEntryForInitialLoad)({\n url,\n kind: _routerreducertypes.PrefetchKind.AUTO,\n data: [\n initialFlightData,\n undefined,\n false,\n couldBeIntercepted\n ],\n tree: initialState.tree,\n prefetchCache: initialState.prefetchCache,\n nextUrl: initialState.nextUrl\n });\n }\n return initialState;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-initial-router-state.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLWluaXRpYWwtcm91dGVyLXN0YXRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NERBMEJnQkE7OztlQUFBQTs7OytDQWxCa0I7MkRBQ1k7Z0RBQ0c7Z0RBQ007Z0RBQ0Q7NkRBQ0c7QUFhbEQsU0FBU0EseUJBQXlCQyxLQVNWO0lBVFUsTUFDdkNDLE9BQU8sRUFDUEMsV0FBVyxFQUNYQyxlQUFlLEVBQ2ZDLG1CQUFtQixFQUNuQkMscUJBQXFCLEVBQ3JCQyxRQUFRLEVBQ1JDLFdBQVcsRUFDWEMsa0JBQWtCLEVBQ1csR0FUVVI7SUFVdkMsTUFBTVMsV0FBVyxDQUFDSDtJQUNsQixNQUFNSSxNQUFNUCxlQUFlLENBQUMsRUFBRTtJQUU5QixNQUFNUSxRQUFtQjtRQUN2QkMsVUFBVTtRQUNWRixLQUFLQTtRQUNMRyxhQUFhO1FBQ2JDLE1BQU07UUFDTkMsY0FBYztRQUNkLG9KQUFvSjtRQUNwSkMsZ0JBQWdCUCxXQUFXLElBQUlRLFFBQVFaO1FBQ3ZDYSxrQkFBa0I7UUFDbEJDLFNBQVNoQixlQUFlLENBQUMsRUFBRTtJQUM3QjtJQUVBLE1BQU1pQixlQUVKLGtKQUFrSjtJQUNsSmQsV0FFSWUsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDZixZQUNsQkY7SUFFTmtCLENBQUFBLEdBQUFBLGlDQUFBQSx3Q0FBd0MsRUFBQ3BCLGFBQWFrQjtJQUV0RCxNQUFNRyxnQkFBZ0IsSUFBSU47SUFFMUIseUVBQXlFO0lBQ3pFLElBQUlaLDBCQUEwQixRQUFRQSxzQkFBc0JtQixJQUFJLEtBQUssR0FBRztRQUN0RUMsQ0FBQUEsR0FBQUEsK0JBQUFBLDZCQUE2QixFQUMzQmQsT0FDQWUsV0FDQXhCLGFBQ0FDLGlCQUNBSTtJQUVKO1FBdUJLb0I7SUFyQkwsTUFBTUMsZUFBZTtRQUNuQjNCO1FBQ0E0QixNQUFNM0I7UUFDTlM7UUFDQVk7UUFDQU8sU0FBUztZQUNQQyxhQUFhO1lBQ2JDLGVBQWU7WUFDZixtRUFBbUU7WUFDbkUsZ0ZBQWdGO1lBQ2hGQyw0QkFBNEI7UUFDOUI7UUFDQUMsbUJBQW1CO1lBQ2pCQyxPQUFPO1lBQ1BDLGdCQUFnQjtZQUNoQkMsY0FBYztZQUNkQyxjQUFjLEVBQUU7UUFDbEI7UUFDQWxCO1FBQ0FtQixTQUVFLENBQUNaLE9BQUFBLENBQUFBLEdBQUFBLG9CQUFBQSxnQ0FBZ0MsRUFBQ3pCLGdCQUFnQkksQ0FBQUEsWUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsU0FBVWtDLFFBQVEsYUFBbkViLE9BQ0Q7SUFDSjtJQUVBLElBQUlyQixVQUFVO1FBQ1osaURBQWlEO1FBQ2pELGdGQUFnRjtRQUNoRiwrRkFBK0Y7UUFDL0YsTUFBTW1DLE1BQU0sSUFBSUMsSUFBSXBDLFNBQVNrQyxRQUFRLEVBQUVsQyxTQUFTcUMsTUFBTTtRQUV0RCxNQUFNQyxvQkFBZ0M7WUFBQztnQkFBQztnQkFBSTFDO2dCQUFhO2dCQUFNO2FBQUs7U0FBQztRQUNyRTJDLENBQUFBLEdBQUFBLG9CQUFBQSxzQ0FBc0MsRUFBQztZQUNyQ0o7WUFDQUssTUFBTUMsb0JBQUFBLFlBQVksQ0FBQ0MsSUFBSTtZQUN2QkMsTUFBTTtnQkFBQ0w7Z0JBQW1CbEI7Z0JBQVc7Z0JBQU9sQjthQUFtQjtZQUMvRHFCLE1BQU1ELGFBQWFDLElBQUk7WUFDdkJOLGVBQWVLLGFBQWFMLGFBQWE7WUFDekNnQixTQUFTWCxhQUFhVyxPQUFPO1FBQy9CO0lBQ0Y7SUFFQSxPQUFPWDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLWluaXRpYWwtcm91dGVyLXN0YXRlLnRzP2Q1MDAiXSwibmFtZXMiOlsiY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlIiwicGFyYW0iLCJidWlsZElkIiwiaW5pdGlhbFRyZWUiLCJpbml0aWFsU2VlZERhdGEiLCJpbml0aWFsQ2Fub25pY2FsVXJsIiwiaW5pdGlhbFBhcmFsbGVsUm91dGVzIiwibG9jYXRpb24iLCJpbml0aWFsSGVhZCIsImNvdWxkQmVJbnRlcmNlcHRlZCIsImlzU2VydmVyIiwicnNjIiwiY2FjaGUiLCJsYXp5RGF0YSIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsInBhcmFsbGVsUm91dGVzIiwiTWFwIiwibGF6eURhdGFSZXNvbHZlZCIsImxvYWRpbmciLCJjYW5vbmljYWxVcmwiLCJjcmVhdGVIcmVmRnJvbVVybCIsImFkZFJlZnJlc2hNYXJrZXJUb0FjdGl2ZVBhcmFsbGVsU2VnbWVudHMiLCJwcmVmZXRjaENhY2hlIiwic2l6ZSIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwidW5kZWZpbmVkIiwiZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUiLCJpbml0aWFsU3RhdGUiLCJ0cmVlIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsIm9ubHlIYXNoQ2hhbmdlIiwiaGFzaEZyYWdtZW50Iiwic2VnbWVudFBhdGhzIiwibmV4dFVybCIsInBhdGhuYW1lIiwidXJsIiwiVVJMIiwib3JpZ2luIiwiaW5pdGlhbEZsaWdodERhdGEiLCJjcmVhdGVQcmVmZXRjaENhY2hlRW50cnlGb3JJbml0aWFsTG9hZCIsImtpbmQiLCJQcmVmZXRjaEtpbmQiLCJBVVRPIiwiZGF0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js ***! - \********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createRouterCacheKey\", ({\n enumerable: true,\n get: function() {\n return createRouterCacheKey;\n }\n}));\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction createRouterCacheKey(segment, withoutSearchParameters) {\n if (withoutSearchParameters === void 0) withoutSearchParameters = false;\n // if the segment is an array, it means it's a dynamic segment\n // for example, ['lang', 'en', 'd']. We need to convert it to a string to store it as a cache node key.\n if (Array.isArray(segment)) {\n return segment[0] + \"|\" + segment[1] + \"|\" + segment[2];\n }\n // Page segments might have search parameters, ie __PAGE__?foo=bar\n // When `withoutSearchParameters` is true, we only want to return the page segment\n if (withoutSearchParameters && segment.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return _segment.PAGE_SEGMENT_KEY;\n }\n return segment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-router-cache-key.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLXJvdXRlci1jYWNoZS1rZXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozt3REFHZ0JBOzs7ZUFBQUE7OztxQ0FGaUI7QUFFMUIsU0FBU0EscUJBQ2RDLE9BQWdCLEVBQ2hCQyx1QkFBd0M7SUFBeENBLElBQUFBLDRCQUFBQSxLQUFBQSxHQUFBQSwwQkFBbUM7SUFFbkMsOERBQThEO0lBQzlELHVHQUF1RztJQUN2RyxJQUFJQyxNQUFNQyxPQUFPLENBQUNILFVBQVU7UUFDMUIsT0FBT0EsT0FBVSxDQUFDLEVBQUUsR0FBQyxNQUFHQSxPQUFPLENBQUMsRUFBRSxHQUFDLE1BQUdBLE9BQU8sQ0FBQyxFQUFFO0lBQ2xEO0lBRUEsa0VBQWtFO0lBQ2xFLGtGQUFrRjtJQUNsRixJQUFJQywyQkFBMkJELFFBQVFJLFVBQVUsQ0FBQ0MsU0FBQUEsZ0JBQWdCLEdBQUc7UUFDbkUsT0FBT0EsU0FBQUEsZ0JBQWdCO0lBQ3pCO0lBRUEsT0FBT0w7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5LnRzP2M1N2UiXSwibmFtZXMiOlsiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJzZWdtZW50Iiwid2l0aG91dFNlYXJjaFBhcmFtZXRlcnMiLCJBcnJheSIsImlzQXJyYXkiLCJzdGFydHNXaXRoIiwiUEFHRV9TRUdNRU5UX0tFWSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js ***! - \******************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fetchServerResponse\", ({\n enumerable: true,\n get: function() {\n return fetchServerResponse;\n }\n}));\nconst _approuterheaders = __webpack_require__(/*! ../app-router-headers */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _approuter = __webpack_require__(/*! ../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _appcallserver = __webpack_require__(/*! ../../app-call-server */ \"(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _hash = __webpack_require__(/*! ../../../shared/lib/hash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/hash.js\");\n// @ts-ignore\n// eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromFetch } from 'react-server-dom-webpack/client'\nconst { createFromFetch } = false ? 0 : __webpack_require__(/*! react-server-dom-webpack/client */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.js\");\nfunction doMpaNavigation(url) {\n return [\n (0, _approuter.urlToUrlWithoutFlightMarker)(url).toString(),\n undefined,\n false,\n false\n ];\n}\nasync function fetchServerResponse(url, flightRouterState, nextUrl, currentBuildId, prefetchKind) {\n const headers = {\n // Enable flight response\n [_approuterheaders.RSC_HEADER]: \"1\",\n // Provide the current router state\n [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(flightRouterState))\n };\n /**\n * Three cases:\n * - `prefetchKind` is `undefined`, it means it's a normal navigation, so we want to prefetch the page data fully\n * - `prefetchKind` is `full` - we want to prefetch the whole page so same as above\n * - `prefetchKind` is `auto` - if the page is dynamic, prefetch the page data partially, if static prefetch the page data fully\n */ if (prefetchKind === _routerreducertypes.PrefetchKind.AUTO) {\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = \"1\";\n }\n if (nextUrl) {\n headers[_approuterheaders.NEXT_URL] = nextUrl;\n }\n const uniqueCacheQuery = (0, _hash.hexHash)([\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] || \"0\",\n headers[_approuterheaders.NEXT_ROUTER_STATE_TREE],\n headers[_approuterheaders.NEXT_URL]\n ].join(\",\"));\n try {\n var _res_headers_get;\n let fetchUrl = new URL(url);\n if (false) {}\n // Add unique cache query to avoid caching conflicts on CDN which don't respect to Vary header\n fetchUrl.searchParams.set(_approuterheaders.NEXT_RSC_UNION_QUERY, uniqueCacheQuery);\n const res = await fetch(fetchUrl, {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: \"same-origin\",\n headers\n });\n const responseUrl = (0, _approuter.urlToUrlWithoutFlightMarker)(res.url);\n const canonicalUrl = res.redirected ? responseUrl : undefined;\n const contentType = res.headers.get(\"content-type\") || \"\";\n const postponed = !!res.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER);\n const interception = !!((_res_headers_get = res.headers.get(\"vary\")) == null ? void 0 : _res_headers_get.includes(_approuterheaders.NEXT_URL));\n let isFlightResponse = contentType === _approuterheaders.RSC_CONTENT_TYPE_HEADER;\n if (false) {}\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash;\n }\n return doMpaNavigation(responseUrl.toString());\n }\n // Handle the `fetch` readable stream that can be unwrapped by `React.use`.\n const [buildId, flightData] = await createFromFetch(Promise.resolve(res), {\n callServer: _appcallserver.callServer\n });\n if (currentBuildId !== buildId) {\n return doMpaNavigation(res.url);\n }\n return [\n flightData,\n canonicalUrl,\n postponed,\n interception\n ];\n } catch (err) {\n console.error(\"Failed to fetch RSC payload for \" + url + \". Falling back to browser navigation.\", err);\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return [\n url.toString(),\n undefined,\n false,\n false\n ];\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fetch-server-response.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmV0Y2gtc2VydmVyLXJlc3BvbnNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OENBMkI0Qzs7OzRCQUdwQkEsbUJBQUFBLENBQUE7QUE1QnhCLE1BQUFDLFFBQWFELG1CQUFBQSxDQUFBO0FBQ2I7QUFDQTtBQUNBLG9FQUdjO0FBK0JkLFFBQUFFLGVBQVNDLEVBQWdCQyxHQUFXLFNBQUFKLENBQUEsR0FBQUEsbUJBQUFBLENBQUE7U0FDbENHLGdCQUFPQyxHQUFBO1dBQUNJO1FBQTZDQyxDQUFBQSxHQUFBQSxXQUFBQSwyQkFBQUEsRUFBQUEsS0FBQUEsUUFBQUE7UUFBV0E7UUFBTztRQUFNO0tBQy9FO0FBS087ZUFPQ0Msb0JBS0ZOLEdBQUEsRUFBQU8saUJBQUEsRUFBQUMsT0FBQSxFQUFBQyxjQUFBLEVBQUFDLFlBQUE7VUFDRkosVUFBQTtRQUNBLHlCQUFDSztRQUNELENBQUFDLGtCQUFBRCxVQUFBO1FBQ0EsbUNBQUNFO1FBR0gsQ0FBQUQsa0JBQUFDLHNCQUFBLEdBQUFDLG1CQUFBQyxLQUFBQyxTQUFBLENBQUFUO0lBRUE7Ozs7OztVQU9FRCxpQkFBUVcsb0JBQUFBLFlBQUFBLENBQUFBLElBQTRCLEVBQUc7UUFDekNYLE9BQUEsQ0FBQU0sa0JBQUFLLDJCQUFBO0lBRUE7UUFDRVgsU0FBUVk7UUFDVlosT0FBQSxDQUFBTSxrQkFBQU0sUUFBQSxJQUFBVjtJQUVBO1VBRUlGLG1CQUFRVyxDQUFBQSxHQUFBQSxNQUFBQSxPQUFBQSxFQUFBQTtRQUNSWCxPQUFPLENBQUNPLGtCQUFBQSwyQkFBdUI7UUFDL0JQLE9BQU8sQ0FBQ1ksa0JBQUFBLHNCQUFTO1FBQ2pCQyxPQUFLLENBQUFQLGtCQUFBTSxRQUFBO0tBR1QsQ0FBQUMsSUFBSTs7UUFDRixJQUFJQztRQUNKLElBQUluQixXQUFXLElBQUNvQixJQUFBQTtZQUNkcEIsS0FBZ0JxQixFQUFvQixFQVN0QztRQUNBRiw4RkFBZ0RLO1FBRWhETCxTQUFNTSxZQUFZQyxDQUFBQSxHQUFNUCxDQUFBQSxrQkFBVVEsb0JBQUEsRUFBQUg7Y0FDaENDLE1BQUEsTUFBQUMsTUFBQVAsVUFBQTtZQUNBUyx3RkFBYTtZQUNidkIsYUFBQUE7WUFDRkE7UUFFQTtRQUNBLE1BQU13QixjQUFBQSxDQUFlSixHQUFBQSxXQUFjdEIsMkJBQWlCQyxFQUFBQSxJQUFBQSxHQUFBQTtRQUVwRCxNQUFNMEIsZUFBY0wsSUFBSXBCLFVBQVcsR0FBQzBCLGNBQUEzQjtRQUNwQyxNQUFNNEIsY0FBY1AsSUFBSXBCLE9BQU8sQ0FBQzRCLEdBQUcsQ0FBQ0MsbUJBQUFBO1FBQ3BDLE1BQU1DLFlBQUFBLENBQUFBLENBQUFBLElBQWdCOUIsT0FBQ29CLENBQUFBLEdBQUFBLENBQUFBLGtCQUFJcEIsd0JBQVk7UUFDdkMsTUFBSStCLGVBQUFBLENBQUFBLENBQW1CTixDQUFBQSxDQUFBQSxtQkFBZ0JPLElBQUFBLE9BQUFBLENBQUFBLEdBQUFBLENBQUFBLE9BQUFBLEtBQUFBLE9BQUFBLEtBQXVCLElBQUFDLGlCQUFBQyxRQUFBLENBQUE1QixrQkFBQU0sUUFBQTtRQUU5RCxJQUFJakIsbUJBQVlvQixnQkFBYVQsa0JBQWMwQix1QkFBQTtZQUN6Q3JDLEtBQWdCcUIsRUFBb0IsRUFPdEM7UUFDQSw0RkFBb0U7UUFDcEUsb0VBQWtDO1lBQ2hDLENBQUFlLG9CQUFBLENBQUFYLElBQUFnQixFQUFBO1lBQ0EsMkZBQWM7Z0JBQ1pWLElBQUFBLElBQUFBLEVBQUFBO2dCQUNGQSxZQUFBVyxJQUFBLEdBQUEzQyxJQUFBMkMsSUFBQTtZQUVBO1lBQ0YsT0FBQTVDLGdCQUFBaUMsWUFBQVksUUFBQTtRQUVBO1FBQ0EsMkVBRUU7Y0FDRUMsQ0FBQUEsU0FBQUEsV0FBQUEsR0FBQUEsTUFBQUEsZ0JBQVVDLFFBQUFDLE9BQUEsQ0FBQXJCLE1BQUE7WUFDWm1CLFlBQUFHLGVBQUFILFVBQUE7UUFHRjtZQUNFcEMsbUJBQU9WLFNBQW9CQztZQUM3QixPQUFBRCxnQkFBQTJCLElBQUExQixHQUFBO1FBRUE7ZUFBUWlEO1lBQVluQjtZQUFjRztZQUFXRztZQUFhQTtTQUMxRDthQUNBYyxLQUFRQztRQUlSRCxRQUFBQyxLQUFBLHNDQUFpRG5ELE1BQUEseUNBQUFvRDtRQUNqRDtRQUNBLHFIQUFpRztRQUNqRyxpR0FBTztlQUFDcEQ7WUFBZ0JLLElBQUFBLFFBQUFBO1lBQVdBO1lBQU87WUFBTTtTQUNsRDtJQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmV0Y2gtc2VydmVyLXJlc3BvbnNlLnRzP2RlNmQiXSwibmFtZXMiOlsicmVxdWlyZSIsIl9oYXNoIiwiY3JlYXRlRnJvbUZldGNoIiwiZG9NcGFOYXZpZ2F0aW9uIiwidXJsIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsInVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlciIsInVuZGVmaW5lZCIsImhlYWRlcnMiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsIm5leHRVcmwiLCJjdXJyZW50QnVpbGRJZCIsInByZWZldGNoS2luZCIsIlJTQ19IRUFERVIiLCJfYXBwcm91dGVyaGVhZGVycyIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJKU09OIiwic3RyaW5naWZ5IiwiTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSIiwiTkVYVF9VUkwiLCJqb2luIiwiZmV0Y2hVcmwiLCJOT0RFX0VOViIsIl9fTkVYVF9DT05GSUdfT1VUUFVUIiwicGF0aG5hbWUiLCJlbmRzV2l0aCIsInVuaXF1ZUNhY2hlUXVlcnkiLCJyZXMiLCJmZXRjaCIsIk5FWFRfUlNDX1VOSU9OX1FVRVJZIiwiY3JlZGVudGlhbHMiLCJjYW5vbmljYWxVcmwiLCJjb250ZW50VHlwZSIsInJlc3BvbnNlVXJsIiwicG9zdHBvbmVkIiwiZ2V0IiwiTkVYVF9ESURfUE9TVFBPTkVfSEVBREVSIiwiaW50ZXJjZXB0aW9uIiwiaXNGbGlnaHRSZXNwb25zZSIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiX3Jlc19oZWFkZXJzX2dldCIsImluY2x1ZGVzIiwic3RhcnRzV2l0aCIsIm9rIiwiaGFzaCIsInRvU3RyaW5nIiwiY2FsbFNlcnZlciIsIlByb21pc2UiLCJyZXNvbHZlIiwiX2FwcGNhbGxzZXJ2ZXIiLCJmbGlnaHREYXRhIiwiY29uc29sZSIsImVycm9yIiwiZXJyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js ***! - \*****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillCacheWithNewSubTreeData\", ({\n enumerable: true,\n get: function() {\n return fillCacheWithNewSubTreeData;\n }\n}));\nconst _invalidatecachebyrouterstate = __webpack_require__(/*! ./invalidate-cache-by-router-state */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction fillCacheWithNewSubTreeData(newCache, existingCache, flightDataPath, prefetchEntry) {\n const isLastEntry = flightDataPath.length <= 5;\n const [parallelRouteKey, segment] = flightDataPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (isLastEntry) {\n if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) {\n const seedData = flightDataPath[3];\n const rsc = seedData[2];\n const loading = seedData[3];\n childCacheNode = {\n lazyData: null,\n rsc,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n loading,\n // Ensure segments other than the one we got data for are preserved.\n parallelRoutes: existingChildCacheNode ? new Map(existingChildCacheNode.parallelRoutes) : new Map(),\n lazyDataResolved: false\n };\n if (existingChildCacheNode) {\n (0, _invalidatecachebyrouterstate.invalidateCacheByRouterState)(childCacheNode, existingChildCacheNode, flightDataPath[2]);\n }\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(childCacheNode, existingChildCacheNode, flightDataPath[2], seedData, flightDataPath[4], prefetchEntry);\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n return;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n head: childCacheNode.head,\n prefetchHead: childCacheNode.prefetchHead,\n parallelRoutes: new Map(childCacheNode.parallelRoutes),\n lazyDataResolved: false,\n loading: childCacheNode.loading\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n fillCacheWithNewSubTreeData(childCacheNode, existingChildCacheNode, flightDataPath.slice(2), prefetchEntry);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-cache-with-new-subtree-data.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1jYWNoZS13aXRoLW5ldy1zdWJ0cmVlLWRhdGEuanMiLCJtYXBwaW5ncyI6Ijs7OzsrREFhZ0JBOzs7ZUFBQUE7OzswREFSNkI7MkRBQ0M7a0RBQ1Q7QUFNOUIsU0FBU0EsNEJBQ2RDLFFBQW1CLEVBQ25CQyxhQUF3QixFQUN4QkMsY0FBOEIsRUFDOUJDLGFBQWtDO0lBRWxDLE1BQU1DLGNBQWNGLGVBQWVHLE1BQU0sSUFBSTtJQUM3QyxNQUFNLENBQUNDLGtCQUFrQkMsUUFBUSxHQUFHTDtJQUVwQyxNQUFNTSxXQUFXQyxDQUFBQSxHQUFBQSxzQkFBQUEsb0JBQW9CLEVBQUNGO0lBRXRDLE1BQU1HLDBCQUNKVCxjQUFjVSxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFFbkMsSUFBSSxDQUFDSSx5QkFBeUI7UUFDNUIsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNGO0lBRUEsSUFBSUcsa0JBQWtCYixTQUFTVyxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFDbEQsSUFBSSxDQUFDTyxtQkFBbUJBLG9CQUFvQkgseUJBQXlCO1FBQ25FRyxrQkFBa0IsSUFBSUMsSUFBSUo7UUFDMUJWLFNBQVNXLGNBQWMsQ0FBQ0ksR0FBRyxDQUFDVCxrQkFBa0JPO0lBQ2hEO0lBRUEsTUFBTUcseUJBQXlCTix3QkFBd0JFLEdBQUcsQ0FBQ0o7SUFDM0QsSUFBSVMsaUJBQWlCSixnQkFBZ0JELEdBQUcsQ0FBQ0o7SUFFekMsSUFBSUosYUFBYTtRQUNmLElBQ0UsQ0FBQ2Esa0JBQ0QsQ0FBQ0EsZUFBZUMsUUFBUSxJQUN4QkQsbUJBQW1CRCx3QkFDbkI7WUFDQSxNQUFNRyxXQUE4QmpCLGNBQWMsQ0FBQyxFQUFFO1lBQ3JELE1BQU1rQixNQUFNRCxRQUFRLENBQUMsRUFBRTtZQUN2QixNQUFNRSxVQUFVRixRQUFRLENBQUMsRUFBRTtZQUMzQkYsaUJBQWlCO2dCQUNmQyxVQUFVO2dCQUNWRTtnQkFDQUUsYUFBYTtnQkFDYkMsTUFBTTtnQkFDTkMsY0FBYztnQkFDZEg7Z0JBQ0Esb0VBQW9FO2dCQUNwRVYsZ0JBQWdCSyx5QkFDWixJQUFJRixJQUFJRSx1QkFBdUJMLGNBQWMsSUFDN0MsSUFBSUc7Z0JBQ1JXLGtCQUFrQjtZQUNwQjtZQUVBLElBQUlULHdCQUF3QjtnQkFDMUJVLENBQUFBLEdBQUFBLDhCQUFBQSw0QkFBNEIsRUFDMUJULGdCQUNBRCx3QkFDQWQsY0FBYyxDQUFDLEVBQUU7WUFFckI7WUFFQXlCLENBQUFBLEdBQUFBLCtCQUFBQSw2QkFBNkIsRUFDM0JWLGdCQUNBRCx3QkFDQWQsY0FBYyxDQUFDLEVBQUUsRUFDakJpQixVQUNBakIsY0FBYyxDQUFDLEVBQUUsRUFDakJDO1lBR0ZVLGdCQUFnQkUsR0FBRyxDQUFDUCxVQUFVUztRQUNoQztRQUNBO0lBQ0Y7SUFFQSxJQUFJLENBQUNBLGtCQUFrQixDQUFDRCx3QkFBd0I7UUFDOUMsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNGO0lBRUEsSUFBSUMsbUJBQW1CRCx3QkFBd0I7UUFDN0NDLGlCQUFpQjtZQUNmQyxVQUFVRCxlQUFlQyxRQUFRO1lBQ2pDRSxLQUFLSCxlQUFlRyxHQUFHO1lBQ3ZCRSxhQUFhTCxlQUFlSyxXQUFXO1lBQ3ZDQyxNQUFNTixlQUFlTSxJQUFJO1lBQ3pCQyxjQUFjUCxlQUFlTyxZQUFZO1lBQ3pDYixnQkFBZ0IsSUFBSUcsSUFBSUcsZUFBZU4sY0FBYztZQUNyRGMsa0JBQWtCO1lBQ2xCSixTQUFTSixlQUFlSSxPQUFPO1FBQ2pDO1FBQ0FSLGdCQUFnQkUsR0FBRyxDQUFDUCxVQUFVUztJQUNoQztJQUVBbEIsNEJBQ0VrQixnQkFDQUQsd0JBQ0FkLGVBQWUwQixLQUFLLENBQUMsSUFDckJ6QjtBQUVKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1jYWNoZS13aXRoLW5ldy1zdWJ0cmVlLWRhdGEudHM/NDQzMiJdLCJuYW1lcyI6WyJmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGEiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJmbGlnaHREYXRhUGF0aCIsInByZWZldGNoRW50cnkiLCJpc0xhc3RFbnRyeSIsImxlbmd0aCIsInBhcmFsbGVsUm91dGVLZXkiLCJzZWdtZW50IiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwIiwicGFyYWxsZWxSb3V0ZXMiLCJnZXQiLCJjaGlsZFNlZ21lbnRNYXAiLCJNYXAiLCJzZXQiLCJleGlzdGluZ0NoaWxkQ2FjaGVOb2RlIiwiY2hpbGRDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInNlZWREYXRhIiwicnNjIiwibG9hZGluZyIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsImxhenlEYXRhUmVzb2x2ZWQiLCJpbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlIiwiZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQiLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillLazyItemsTillLeafWithHead\", ({\n enumerable: true,\n get: function() {\n return fillLazyItemsTillLeafWithHead;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nfunction fillLazyItemsTillLeafWithHead(newCache, existingCache, routerState, cacheNodeSeedData, head, prefetchEntry) {\n const isLastSegment = Object.keys(routerState[1]).length === 0;\n if (isLastSegment) {\n newCache.head = head;\n return;\n }\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const parallelRouteState = routerState[1][key];\n const segmentForParallelRoute = parallelRouteState[0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n // TODO: We should traverse the cacheNodeSeedData tree instead of the router\n // state tree. Ideally, they would always be the same shape, but because of\n // the loading.js pattern, cacheNodeSeedData sometimes only represents a\n // partial tree. That's why this node is sometimes null. Once PPR lands,\n // loading.js will no longer have special behavior and we can traverse the\n // data tree instead.\n //\n // We should also consider merging the router state tree and the data tree\n // in the response format, so that we don't have to send the keys twice.\n // Then the client can convert them into separate representations.\n const parallelSeedData = cacheNodeSeedData !== null && cacheNodeSeedData[1][key] !== undefined ? cacheNodeSeedData[1][key] : null;\n if (existingCache) {\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n const hasReusablePrefetch = (prefetchEntry == null ? void 0 : prefetchEntry.kind) === \"auto\" && prefetchEntry.status === _routerreducertypes.PrefetchCacheEntryStatus.reusable;\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n const existingCacheNode = parallelRouteCacheNode.get(cacheKey);\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[2];\n const loading = parallelSeedData[3];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n loading,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes),\n lazyDataResolved: false\n };\n } else if (hasReusablePrefetch && existingCacheNode) {\n // No new data was sent from the server, but the existing cache node\n // was prefetched, so we should reuse that.\n newCacheNode = {\n lazyData: existingCacheNode.lazyData,\n rsc: existingCacheNode.rsc,\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n prefetchRsc: existingCacheNode.prefetchRsc,\n head: existingCacheNode.head,\n prefetchHead: existingCacheNode.prefetchHead,\n parallelRoutes: new Map(existingCacheNode.parallelRoutes),\n lazyDataResolved: existingCacheNode.lazyDataResolved,\n loading: existingCacheNode.loading\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes),\n lazyDataResolved: false,\n loading: null\n };\n }\n // Overrides the cache key with the new cache node.\n parallelRouteCacheNode.set(cacheKey, newCacheNode);\n // Traverse deeper to apply the head / fill lazy items till the head.\n fillLazyItemsTillLeafWithHead(newCacheNode, existingCacheNode, parallelRouteState, parallelSeedData ? parallelSeedData : null, head, prefetchEntry);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\n continue;\n }\n }\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[2];\n const loading = parallelSeedData[3];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n }\n const existingParallelRoutes = newCache.parallelRoutes.get(key);\n if (existingParallelRoutes) {\n existingParallelRoutes.set(cacheKey, newCacheNode);\n } else {\n newCache.parallelRoutes.set(key, new Map([\n [\n cacheKey,\n newCacheNode\n ]\n ]));\n }\n fillLazyItemsTillLeafWithHead(newCacheNode, undefined, parallelRouteState, parallelSeedData, head, prefetchEntry);\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-lazy-items-till-leaf-with-head.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWQuanMiLCJtYXBwaW5ncyI6Ijs7OztpRUFXZ0JBOzs7ZUFBQUE7OztrREFOcUI7Z0RBSTlCO0FBRUEsU0FBU0EsOEJBQ2RDLFFBQW1CLEVBQ25CQyxhQUFvQyxFQUNwQ0MsV0FBOEIsRUFDOUJDLGlCQUEyQyxFQUMzQ0MsSUFBcUIsRUFDckJDLGFBQWtDO0lBRWxDLE1BQU1DLGdCQUFnQkMsT0FBT0MsSUFBSSxDQUFDTixXQUFXLENBQUMsRUFBRSxFQUFFTyxNQUFNLEtBQUs7SUFDN0QsSUFBSUgsZUFBZTtRQUNqQk4sU0FBU0ksSUFBSSxHQUFHQTtRQUNoQjtJQUNGO0lBQ0EsdUZBQXVGO0lBQ3ZGLElBQUssTUFBTU0sT0FBT1IsV0FBVyxDQUFDLEVBQUUsQ0FBRTtRQUNoQyxNQUFNUyxxQkFBcUJULFdBQVcsQ0FBQyxFQUFFLENBQUNRLElBQUk7UUFDOUMsTUFBTUUsMEJBQTBCRCxrQkFBa0IsQ0FBQyxFQUFFO1FBQ3JELE1BQU1FLFdBQVdDLENBQUFBLEdBQUFBLHNCQUFBQSxvQkFBb0IsRUFBQ0Y7UUFFdEMsNEVBQTRFO1FBQzVFLDJFQUEyRTtRQUMzRSx3RUFBd0U7UUFDeEUsd0VBQXdFO1FBQ3hFLDBFQUEwRTtRQUMxRSxxQkFBcUI7UUFDckIsRUFBRTtRQUNGLDBFQUEwRTtRQUMxRSx3RUFBd0U7UUFDeEUsa0VBQWtFO1FBQ2xFLE1BQU1HLG1CQUNKWixzQkFBc0IsUUFBUUEsaUJBQWlCLENBQUMsRUFBRSxDQUFDTyxJQUFJLEtBQUtNLFlBQ3hEYixpQkFBaUIsQ0FBQyxFQUFFLENBQUNPLElBQUksR0FDekI7UUFDTixJQUFJVCxlQUFlO1lBQ2pCLE1BQU1nQixrQ0FDSmhCLGNBQWNpQixjQUFjLENBQUNDLEdBQUcsQ0FBQ1Q7WUFDbkMsSUFBSU8saUNB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d0I7WUFDMUJBLHVCQUF1QkQsR0FBRyxDQUFDdkIsVUFBVWU7UUFDdkMsT0FBTztZQUNMNUIsU0FBU2tCLGNBQWMsQ0FBQ2tCLEdBQUcsQ0FBQzFCLEtBQUssSUFBSWdCLElBQUk7Z0JBQUM7b0JBQUNiO29CQUFVZTtpQkFBYTthQUFDO1FBQ3JFO1FBRUE3Qiw4QkFDRTZCLGNBQ0FaLFdBQ0FMLG9CQUNBSSxrQkFDQVgsTUFDQUM7SUFFSjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWQudHM/M2Y4NSJdLCJuYW1lcyI6WyJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsInJvdXRlclN0YXRlIiwiY2FjaGVOb2RlU2VlZERhdGEiLCJoZWFkIiwicHJlZmV0Y2hFbnRyeSIsImlzTGFzdFNlZ21lbnQiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwia2V5IiwicGFyYWxsZWxSb3V0ZVN0YXRlIiwic2VnbWVudEZvclBhcmFsbGVsUm91dGUiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwicGFyYWxsZWxTZWVkRGF0YSIsInVuZGVmaW5lZCIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUiLCJwYXJhbGxlbFJvdXRlcyIsImdldCIsImhhc1JldXNhYmxlUHJlZmV0Y2giLCJraW5kIiwic3RhdHVzIiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwicmV1c2FibGUiLCJwYXJhbGxlbFJvdXRlQ2FjaGVOb2RlIiwiTWFwIiwiZXhpc3RpbmdDYWNoZU5vZGUiLCJuZXdDYWNoZU5vZGUiLCJzZWVkTm9kZSIsImxvYWRpbmciLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwicHJlZmV0Y2hIZWFkIiwibGF6eURhdGFSZXNvbHZlZCIsInNldCIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/handle-mutable.js ***! - \***********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleMutable\", ({\n enumerable: true,\n get: function() {\n return handleMutable;\n }\n}));\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nfunction isNotUndefined(value) {\n return typeof value !== \"undefined\";\n}\nfunction handleMutable(state, mutable) {\n var _mutable_canonicalUrl;\n var _mutable_shouldScroll;\n // shouldScroll is true by default, can override to false.\n const shouldScroll = (_mutable_shouldScroll = mutable.shouldScroll) != null ? _mutable_shouldScroll : true;\n let nextUrl = state.nextUrl;\n if (isNotUndefined(mutable.patchedTree)) {\n // If we received a patched tree, we need to compute the changed path.\n const changedPath = (0, _computechangedpath.computeChangedPath)(state.tree, mutable.patchedTree);\n if (changedPath) {\n // If the tree changed, we need to update the nextUrl\n nextUrl = changedPath;\n } else if (!nextUrl) {\n // if the tree ends up being the same (ie, no changed path), and we don't have a nextUrl, then we should use the canonicalUrl\n nextUrl = state.canonicalUrl;\n }\n // otherwise this will be a no-op and continue to use the existing nextUrl\n }\n var _mutable_scrollableSegments;\n return {\n buildId: state.buildId,\n // Set href.\n canonicalUrl: isNotUndefined(mutable.canonicalUrl) ? mutable.canonicalUrl === state.canonicalUrl ? state.canonicalUrl : mutable.canonicalUrl : state.canonicalUrl,\n pushRef: {\n pendingPush: isNotUndefined(mutable.pendingPush) ? mutable.pendingPush : state.pushRef.pendingPush,\n mpaNavigation: isNotUndefined(mutable.mpaNavigation) ? mutable.mpaNavigation : state.pushRef.mpaNavigation,\n preserveCustomHistoryState: isNotUndefined(mutable.preserveCustomHistoryState) ? mutable.preserveCustomHistoryState : state.pushRef.preserveCustomHistoryState\n },\n // All navigation requires scroll and focus management to trigger.\n focusAndScrollRef: {\n apply: shouldScroll ? isNotUndefined(mutable == null ? void 0 : mutable.scrollableSegments) ? true : state.focusAndScrollRef.apply : false,\n onlyHashChange: !!mutable.hashFragment && state.canonicalUrl.split(\"#\", 1)[0] === ((_mutable_canonicalUrl = mutable.canonicalUrl) == null ? void 0 : _mutable_canonicalUrl.split(\"#\", 1)[0]),\n hashFragment: shouldScroll ? mutable.hashFragment && mutable.hashFragment !== \"\" ? decodeURIComponent(mutable.hashFragment.slice(1)) : state.focusAndScrollRef.hashFragment : null,\n segmentPaths: shouldScroll ? (_mutable_scrollableSegments = mutable == null ? void 0 : mutable.scrollableSegments) != null ? _mutable_scrollableSegments : state.focusAndScrollRef.segmentPaths : []\n },\n // Apply cache.\n cache: mutable.cache ? mutable.cache : state.cache,\n prefetchCache: mutable.prefetchCache ? mutable.prefetchCache : state.prefetchCache,\n // Apply patched router state.\n tree: isNotUndefined(mutable.patchedTree) ? mutable.patchedTree : state.tree,\n nextUrl\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=handle-mutable.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaGFuZGxlLW11dGFibGUuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFXZ0JBOzs7ZUFBQUE7OztnREFYbUI7QUFPbkMsU0FBU0MsZUFBa0JDLEtBQVE7SUFDakMsT0FBTyxPQUFPQSxVQUFVO0FBQzFCO0FBRU8sU0FBU0YsY0FDZEcsS0FBMkIsRUFDM0JDLE9BQWdCO1FBb0RSQTtRQWpEYUE7SUFEckIsMERBQTBEO0lBQzFELE1BQU1DLGVBQWVELENBQUFBLHdCQUFBQSxRQUFRQyxZQUFZLFlBQXBCRCx3QkFBd0I7SUFFN0MsSUFBSUUsVUFBVUgsTUFBTUcsT0FBTztJQUUzQixJQUFJTCxlQUFlRyxRQUFRRyxXQUFXLEdBQUc7UUFDdkMsc0VBQXNFO1FBQ3RFLE1BQU1DLGNBQWNDLENBQUFBLEdBQUFBLG9CQUFBQSxrQkFBa0IsRUFBQ04sTUFBTU8sSUFBSSxFQUFFTixRQUFRRyxXQUFXO1FBQ3RFLElBQUlDLGFBQWE7WUFDZixxREFBcUQ7WUFDckRGLFVBQVVFO1FBQ1osT0FBTyxJQUFJLENBQUNGLFNBQVM7WUFDbkIsNkhBQTZIO1lBQzdIQSxVQUFVSCxNQUFNUSxZQUFZO1FBQzlCO0lBQ0EsMEVBQTBFO0lBQzVFO1FBNkNRUDtJQTNDUixPQUFPO1FBQ0xRLFNBQVNULE1BQU1TLE9BQU87UUFDdEIsWUFBWTtRQUNaRCxjQUFjVixlQUFlRyxRQUFRTyxZQUFZLElBQzdDUCxRQUFRTyxZQUFZLEtBQUtSLE1BQU1RLFlBQVksR0FDekNSLE1BQU1RLFlBQVksR0FDbEJQLFFBQVFPLFlBQVksR0FDdEJSLE1BQU1RLFlBQVk7UUFDdEJFLFNBQVM7WUFDUEMsYUFBYWIsZUFBZUcsUUFBUVUsV0FBVyxJQUMzQ1YsUUFBUVUsV0FBVyxHQUNuQlgsTUFBTVUsT0FBTyxDQUFDQyxXQUFXO1lBQzdCQyxlQUFlZCxlQUFlRyxRQUFRVyxhQUFhLElBQy9DWCxRQUFRVyxhQUFhLEdBQ3JCWixNQUFNVSxPQUFPLENBQUNFLGFBQWE7WUFDL0JDLDRCQUE0QmYsZUFDMUJHLFFBQVFZLDBCQUEwQixJQUVoQ1osUUFBUVksMEJBQTBCLEdBQ2xDYixNQUFNVSxPQUFPLENBQUNHLDBCQUEwQjtRQUM5QztRQUNBLGtFQUFrRTtRQUNsRUMsbUJBQW1CO1lBQ2pCQyxPQUFPYixlQUNISixlQUFlRyxXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxRQUFTZSxrQkFBa0IsSUFDeEMsT0FDQWhCLE1BQU1jLGlCQUFpQixDQUFDQyxLQUFLLEdBRS9CO1lBQ0pFLGdCQUNFLENBQUMsQ0FBQ2hCLFFBQVFpQixZQUFZLElBQ3RCbEIsTUFBTVEsWUFBWSxDQUFDVyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUNqQ2xCLHdCQUFBQSxRQUFRTyxZQUFZLHFCQUFwQlAsc0JBQXNCa0IsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDMUNELGNBQWNoQixlQUdWRCxRQUFRaUIsWUFBWSxJQUFJakIsUUFBUWlCLFlBQVksS0FBSyxLQUUvQ0UsbUJBQW1CbkIsUUFBUWlCLFlBQVksQ0FBQ0csS0FBSyxDQUFDLE1BQzlDckIsTUFBTWMsaUJBQWlCLENBQUNJLFlBQVksR0FFdEM7WUFDSkksY0FBY3BCLGVBQ1ZELENBQUFBLDhCQUFBQSxXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxRQUFTZSxrQkFBa0IsWUFBM0JmLDhCQUErQkQsTUFBTWMsaUJBQWlCLENBQUNRLFlBQVksR0FFbkUsRUFBRTtRQUNSO1FBQ0EsZUFBZTtRQUNmQyxPQUFPdEIsUUFBUXNCLEtBQUssR0FBR3RCLFFBQVFzQixLQUFLLEdBQUd2QixNQUFNdUIsS0FBSztRQUNsREMsZUFBZXZCLFFBQVF1QixhQUFhLEdBQ2hDdkIsUUFBUXVCLGFBQWEsR0FDckJ4QixNQUFNd0IsYUFBYTtRQUN2Qiw4QkFBOEI7UUFDOUJqQixNQUFNVCxlQUFlRyxRQUFRRyxXQUFXLElBQ3BDSCxRQUFRRyxXQUFXLEdBQ25CSixNQUFNTyxJQUFJO1FBQ2RKO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1tdXRhYmxlLnRzP2ZmZjgiXSwibmFtZXMiOlsiaGFuZGxlTXV0YWJsZSIsImlzTm90VW5kZWZpbmVkIiwidmFsdWUiLCJzdGF0ZSIsIm11dGFibGUiLCJzaG91bGRTY3JvbGwiLCJuZXh0VXJsIiwicGF0Y2hlZFRyZWUiLCJjaGFuZ2VkUGF0aCIsImNvbXB1dGVDaGFuZ2VkUGF0aCIsInRyZWUiLCJjYW5vbmljYWxVcmwiLCJidWlsZElkIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsInNjcm9sbGFibGVTZWdtZW50cyIsIm9ubHlIYXNoQ2hhbmdlIiwiaGFzaEZyYWdtZW50Iiwic3BsaXQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJzbGljZSIsInNlZ21lbnRQYXRocyIsImNhY2hlIiwicHJlZmV0Y2hDYWNoZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js ***! - \********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSegmentMismatch\", ({\n enumerable: true,\n get: function() {\n return handleSegmentMismatch;\n }\n}));\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nfunction handleSegmentMismatch(state, action, treePatch) {\n if (true) {\n console.warn(\"Performing hard navigation because your application experienced an unrecoverable error. If this keeps occurring, please file a Next.js issue.\\n\\n\" + \"Reason: Segment mismatch\\n\" + (\"Last Action: \" + action.type + \"\\n\\n\") + (\"Current Tree: \" + JSON.stringify(state.tree) + \"\\n\\n\") + (\"Tree Patch Payload: \" + JSON.stringify(treePatch)));\n }\n return (0, _navigatereducer.handleExternalUrl)(state, {}, state.canonicalUrl, true);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=handle-segment-mismatch.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaGFuZGxlLXNlZ21lbnQtbWlzbWF0Y2guanMiLCJtYXBwaW5ncyI6Ijs7Ozt5REFXZ0JBOzs7ZUFBQUE7Ozs2Q0FWa0I7QUFVM0IsU0FBU0Esc0JBQ2RDLEtBQTJCLEVBQzNCQyxNQUFzQixFQUN0QkMsU0FBNEI7SUFFNUIsSUFBSUMsSUFBeUIsRUFBZTtRQUMxQ0MsUUFBUUMsSUFBSSxDQUNWLHNKQUNFLCtCQUNBLG1CQUFnQkosT0FBT0ssSUFBSSxHQUFDLFVBQzVCLG9CQUFpQkMsS0FBS0MsU0FBUyxDQUFDUixNQUFNUyxJQUFJLElBQUUsVUFDNUMsMEJBQXVCRixLQUFLQyxTQUFTLENBQUNOLFVBQUFBO0lBRTVDO0lBRUEsT0FBT1EsQ0FBQUEsR0FBQUEsaUJBQUFBLGlCQUFpQixFQUFDVixPQUFPLENBQUMsR0FBR0EsTUFBTVcsWUFBWSxFQUFFO0FBQzFEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaGFuZGxlLXNlZ21lbnQtbWlzbWF0Y2gudHM/YjgwMyJdLCJuYW1lcyI6WyJoYW5kbGVTZWdtZW50TWlzbWF0Y2giLCJzdGF0ZSIsImFjdGlvbiIsInRyZWVQYXRjaCIsInByb2Nlc3MiLCJjb25zb2xlIiwid2FybiIsInR5cGUiLCJKU09OIiwic3RyaW5naWZ5IiwidHJlZSIsImhhbmRsZUV4dGVybmFsVXJsIiwiY2Fub25pY2FsVXJsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js ***! - \**************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheBelowFlightSegmentPath\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheBelowFlightSegmentPath;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction invalidateCacheBelowFlightSegmentPath(newCache, existingCache, flightSegmentPath) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n // In case of last entry don't copy further down.\n if (isLastEntry) {\n childSegmentMap.delete(cacheKey);\n return;\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (!childCacheNode || !existingChildCacheNode) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n head: childCacheNode.head,\n prefetchHead: childCacheNode.prefetchHead,\n parallelRoutes: new Map(childCacheNode.parallelRoutes),\n lazyDataResolved: childCacheNode.lazyDataResolved\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n invalidateCacheBelowFlightSegmentPath(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=invalidate-cache-below-flight-segmentpath.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaW52YWxpZGF0ZS1jYWNoZS1iZWxvdy1mbGlnaHQtc2VnbWVudHBhdGguanMiLCJtYXBwaW5ncyI6Ijs7Ozt5RUFPZ0JBOzs7ZUFBQUE7OztrREFMcUI7QUFLOUIsU0FBU0Esc0NBQ2RDLFFBQW1CLEVBQ25CQyxhQUF3QixFQUN4QkMsaUJBQW9DO0lBRXBDLE1BQU1DLGNBQWNELGtCQUFrQkUsTUFBTSxJQUFJO0lBQ2hELE1BQU0sQ0FBQ0Msa0JBQWtCQyxRQUFRLEdBQUdKO0lBRXBDLE1BQU1LLFdBQVdDLENBQUFBLEdBQUFBLHNCQUFBQSxvQkFBb0IsRUFBQ0Y7SUFFdEMsTUFBTUcsMEJBQ0pSLGNBQWNTLGNBQWMsQ0FBQ0MsR0FBRyxDQUFDTjtJQUVuQyxJQUFJLENBQUNJLHlCQUF5QjtRQUM1Qiw2RUFBNkU7UUFDN0Usc0VBQXNFO1FBQ3RFO0lBQ0Y7SUFFQSxJQUFJRyxrQkFBa0JaLFNBQVNVLGNBQWMsQ0FBQ0MsR0FBRyxDQUFDTjtJQUNsRCxJQUFJLENBQUNPLG1CQUFtQkEsb0JBQW9CSCx5QkFBeUI7UUFDbkVHLGtCQUFrQixJQUFJQyxJQUFJSjtRQUMxQlQsU0FBU1UsY0FBYyxDQUFDSSxHQUFHLENBQUNULGtCQUFrQk87SUFDaEQ7SUFFQSxpREFBaUQ7SUFDakQsSUFBSVQsYUFBYTtRQUNmUyxnQkFBZ0JHLE1BQU0sQ0FBQ1I7UUFDdkI7SUFDRjtJQUVBLE1BQU1TLHlCQUF5QlAsd0JBQXdCRSxHQUFHLENBQUNKO0lBQzNELElBQUlVLGlCQUFpQkwsZ0JBQWdCRCxHQUFHLENBQUNKO0lBRXpDLElBQUksQ0FBQ1Usa0JBQWtCLENBQUNELHdCQUF3QjtRQUM5Qyw2RUFBNkU7UUFDN0Usc0VBQXNFO1FBQ3RFO0lBQ0Y7SUFFQSxJQUFJQyxtQkFBbUJELHdCQUF3QjtRQUM3Q0MsaUJBQWlCO1lBQ2ZDLFVBQVVELGVBQWVDLFFBQVE7WUFDakNDLEtBQUtGLGVBQWVFLEdBQUc7WUFDdkJDLGFBQWFILGVBQWVHLFdBQVc7WUFDdkNDLE1BQU1KLGVBQWVJLElBQUk7WUFDekJDLGNBQWNMLGVBQWVLLFlBQVk7WUFDekNaLGdCQUFnQixJQUFJRyxJQUFJSSxlQUFlUCxjQUFjO1lBQ3JEYSxrQkFBa0JOLGVBQWVNLGdCQUFnQjtRQUNuRDtRQUNBWCxnQkFBZ0JFLEdBQUcsQ0FBQ1AsVUFBVVU7SUFDaEM7SUFFQWxCLHNDQUNFa0IsZ0JBQ0FELHdCQUNBZCxrQkFBa0JzQixLQUFLLENBQUM7QUFFNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9pbnZhbGlkYXRlLWNhY2hlLWJlbG93LWZsaWdodC1zZWdtZW50cGF0aC50cz9iZTgzIl0sIm5hbWVzIjpbImludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGgiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJmbGlnaHRTZWdtZW50UGF0aCIsImlzTGFzdEVudHJ5IiwibGVuZ3RoIiwicGFyYWxsZWxSb3V0ZUtleSIsInNlZ21lbnQiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXAiLCJwYXJhbGxlbFJvdXRlcyIsImdldCIsImNoaWxkU2VnbWVudE1hcCIsIk1hcCIsInNldCIsImRlbGV0ZSIsImV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUiLCJjaGlsZENhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwicHJlZmV0Y2hIZWFkIiwibGF6eURhdGFSZXNvbHZlZCIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js ***! - \*****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheByRouterState\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheByRouterState;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction invalidateCacheByRouterState(newCache, existingCache, routerState) {\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const segmentForParallelRoute = routerState[1][key][0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n parallelRouteCacheNode.delete(cacheKey);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=invalidate-cache-by-router-state.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaW52YWxpZGF0ZS1jYWNoZS1ieS1yb3V0ZXItc3RhdGUuanMiLCJtYXBwaW5ncyI6Ijs7OztnRUFPZ0JBOzs7ZUFBQUE7OztrREFMcUI7QUFLOUIsU0FBU0EsNkJBQ2RDLFFBQW1CLEVBQ25CQyxhQUF3QixFQUN4QkMsV0FBOEI7SUFFOUIsdUZBQXVGO0lBQ3ZGLElBQUssTUFBTUMsT0FBT0QsV0FBVyxDQUFDLEVBQUUsQ0FBRTtRQUNoQyxNQUFNRSwwQkFBMEJGLFdBQVcsQ0FBQyxFQUFFLENBQUNDLElBQUksQ0FBQyxFQUFFO1FBQ3RELE1BQU1FLFdBQVdDLENBQUFBLEdBQUFBLHNCQUFBQSxvQkFBb0IsRUFBQ0Y7UUFDdEMsTUFBTUcsa0NBQ0pOLGNBQWNPLGNBQWMsQ0FBQ0MsR0FBRyxDQUFDTjtRQUNuQyxJQUFJSSxpQ0FBaUM7WUFDbkMsSUFBSUcseUJBQXlCLElBQUlDLElBQUlKO1lBQ3JDRyx1QkFBdUJFLE1BQU0sQ0FBQ1A7WUFDOUJMLFNBQVNRLGNBQWMsQ0FBQ0ssR0FBRyxDQUFDVixLQUFLTztRQUNuQztJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9pbnZhbGlkYXRlLWNhY2hlLWJ5LXJvdXRlci1zdGF0ZS50cz9mNWIxIl0sIm5hbWVzIjpbImludmFsaWRhdGVDYWNoZUJ5Um91dGVyU3RhdGUiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJyb3V0ZXJTdGF0ZSIsImtleSIsInNlZ21lbnRGb3JQYXJhbGxlbFJvdXRlIiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUiLCJwYXJhbGxlbFJvdXRlcyIsImdldCIsInBhcmFsbGVsUm91dGVDYWNoZU5vZGUiLCJNYXAiLCJkZWxldGUiLCJzZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js ***! - \*****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNavigatingToNewRootLayout\", ({\n enumerable: true,\n get: function() {\n return isNavigatingToNewRootLayout;\n }\n}));\nfunction isNavigatingToNewRootLayout(currentTree, nextTree) {\n // Compare segments\n const currentTreeSegment = currentTree[0];\n const nextTreeSegment = nextTree[0];\n // If any segment is different before we find the root layout, the root layout has changed.\n // E.g. /same/(group1)/layout.js -> /same/(group2)/layout.js\n // First segment is 'same' for both, keep looking. (group1) changed to (group2) before the root layout was found, it must have changed.\n if (Array.isArray(currentTreeSegment) && Array.isArray(nextTreeSegment)) {\n // Compare dynamic param name and type but ignore the value, different values would not affect the current root layout\n // /[name] - /slug1 and /slug2, both values (slug1 & slug2) still has the same layout /[name]/layout.js\n if (currentTreeSegment[0] !== nextTreeSegment[0] || currentTreeSegment[2] !== nextTreeSegment[2]) {\n return true;\n }\n } else if (currentTreeSegment !== nextTreeSegment) {\n return true;\n }\n // Current tree root layout found\n if (currentTree[4]) {\n // If the next tree doesn't have the root layout flag, it must have changed.\n return !nextTree[4];\n }\n // Current tree didn't have its root layout here, must have changed.\n if (nextTree[4]) {\n return true;\n }\n // We can't assume it's `parallelRoutes.children` here in case the root layout is `app/@something/layout.js`\n // But it's not possible to be more than one parallelRoutes before the root layout is found\n // TODO-APP: change to traverse all parallel routes\n const currentTreeChild = Object.values(currentTree[1])[0];\n const nextTreeChild = Object.values(nextTree[1])[0];\n if (!currentTreeChild || !nextTreeChild) return true;\n return isNavigatingToNewRootLayout(currentTreeChild, nextTreeChild);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-navigating-to-new-root-layout.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXQuanMiLCJtYXBwaW5ncyI6Ijs7OzsrREFFZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLDRCQUNkQyxXQUE4QixFQUM5QkMsUUFBMkI7SUFFM0IsbUJBQW1CO0lBQ25CLE1BQU1DLHFCQUFxQkYsV0FBVyxDQUFDLEVBQUU7SUFDekMsTUFBTUcsa0JBQWtCRixRQUFRLENBQUMsRUFBRTtJQUVuQywyRkFBMkY7SUFDM0YsNERBQTREO0lBQzVELHVJQUF1STtJQUN2SSxJQUFJRyxNQUFNQyxPQUFPLENBQUNILHVCQUF1QkUsTUFBTUMsT0FBTyxDQUFDRixrQkFBa0I7UUFDdkUsc0hBQXNIO1FBQ3RILHVHQUF1RztRQUN2RyxJQUNFRCxrQkFBa0IsQ0FBQyxFQUFFLEtBQUtDLGVBQWUsQ0FBQyxFQUFFLElBQzVDRCxrQkFBa0IsQ0FBQyxFQUFFLEtBQUtDLGVBQWUsQ0FBQyxFQUFFLEVBQzVDO1lBQ0EsT0FBTztRQUNUO0lBQ0YsT0FBTyxJQUFJRCx1QkFBdUJDLGlCQUFpQjtRQUNqRCxPQUFPO0lBQ1Q7SUFFQSxpQ0FBaUM7SUFDakMsSUFBSUgsV0FBVyxDQUFDLEVBQUUsRUFBRTtRQUNsQiw0RUFBNEU7UUFDNUUsT0FBTyxDQUFDQyxRQUFRLENBQUMsRUFBRTtJQUNyQjtJQUNBLHFFQUFxRTtJQUNyRSxJQUFJQSxRQUFRLENBQUMsRUFBRSxFQUFFO1FBQ2YsT0FBTztJQUNUO0lBQ0EsNEdBQTRHO0lBQzVHLDJGQUEyRjtJQUMzRixtREFBbUQ7SUFDbkQsTUFBTUssbUJBQW1CQyxPQUFPQyxNQUFNLENBQUNSLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ3pELE1BQU1TLGdCQUFnQkYsT0FBT0MsTUFBTSxDQUFDUCxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUNuRCxJQUFJLENBQUNLLG9CQUFvQixDQUFDRyxlQUFlLE9BQU87SUFDaEQsT0FBT1YsNEJBQTRCTyxrQkFBa0JHO0FBQ3ZEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXQudHM/NDVjYyJdLCJuYW1lcyI6WyJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLCJjdXJyZW50VHJlZSIsIm5leHRUcmVlIiwiY3VycmVudFRyZWVTZWdtZW50IiwibmV4dFRyZWVTZWdtZW50IiwiQXJyYXkiLCJpc0FycmF5IiwiY3VycmVudFRyZWVDaGlsZCIsIk9iamVjdCIsInZhbHVlcyIsIm5leHRUcmVlQ2hpbGQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js ***! - \************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n abortTask: function() {\n return abortTask;\n },\n listenForDynamicRequest: function() {\n return listenForDynamicRequest;\n },\n updateCacheNodeOnNavigation: function() {\n return updateCacheNodeOnNavigation;\n },\n updateCacheNodeOnPopstateRestoration: function() {\n return updateCacheNodeOnPopstateRestoration;\n }\n});\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction updateCacheNodeOnNavigation(oldCacheNode, oldRouterState, newRouterState, prefetchData, prefetchHead) {\n // Diff the old and new trees to reuse the shared layouts.\n const oldRouterStateChildren = oldRouterState[1];\n const newRouterStateChildren = newRouterState[1];\n const prefetchDataChildren = prefetchData[1];\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n // Clone the current set of segment children, even if they aren't active in\n // the new tree.\n // TODO: We currently retain all the inactive segments indefinitely, until\n // there's an explicit refresh, or a parent layout is lazily refreshed. We\n // rely on this for popstate navigations, which update the Router State Tree\n // but do not eagerly perform a data fetch, because they expect the segment\n // data to already be in the Cache Node tree. For highly static sites that\n // are mostly read-only, this may happen only rarely, causing memory to\n // leak. We should figure out a better model for the lifetime of inactive\n // segments, so we can maintain instant back/forward navigations without\n // leaking memory indefinitely.\n const prefetchParallelRoutes = new Map(oldParallelRoutes);\n // As we diff the trees, we may sometimes modify (copy-on-write, not mutate)\n // the Route Tree that was returned by the server — for example, in the case\n // of default parallel routes, we preserve the currently active segment. To\n // avoid mutating the original tree, we clone the router state children along\n // the return path.\n let patchedRouterStateChildren = {};\n let taskChildren = null;\n for(let parallelRouteKey in newRouterStateChildren){\n const newRouterStateChild = newRouterStateChildren[parallelRouteKey];\n const oldRouterStateChild = oldRouterStateChildren[parallelRouteKey];\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n const prefetchDataChild = prefetchDataChildren[parallelRouteKey];\n const newSegmentChild = newRouterStateChild[0];\n const newSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(newSegmentChild);\n const oldSegmentChild = oldRouterStateChild !== undefined ? oldRouterStateChild[0] : undefined;\n const oldCacheNodeChild = oldSegmentMapChild !== undefined ? oldSegmentMapChild.get(newSegmentKeyChild) : undefined;\n let taskChild;\n if (newSegmentChild === _segment.PAGE_SEGMENT_KEY) {\n // This is a leaf segment — a page, not a shared layout. We always apply\n // its data.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead);\n } else if (newSegmentChild === _segment.DEFAULT_SEGMENT_KEY) {\n // This is another kind of leaf segment — a default route.\n //\n // Default routes have special behavior. When there's no matching segment\n // for a parallel route, Next.js preserves the currently active segment\n // during a client navigation — but not for initial render. The server\n // leaves it to the client to account for this. So we need to handle\n // it here.\n if (oldRouterStateChild !== undefined) {\n // Reuse the existing Router State for this segment. We spawn a \"task\"\n // just to keep track of the updated router state; unlike most, it's\n // already fulfilled and won't be affected by the dynamic response.\n taskChild = spawnReusedTask(oldRouterStateChild);\n } else {\n // There's no currently active segment. Switch to the \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead);\n }\n } else if (oldSegmentChild !== undefined && (0, _matchsegments.matchSegment)(newSegmentChild, oldSegmentChild)) {\n if (oldCacheNodeChild !== undefined && oldRouterStateChild !== undefined) {\n // This segment exists in both the old and new trees.\n if (prefetchDataChild !== undefined && prefetchDataChild !== null) {\n // Recursively update the children.\n taskChild = updateCacheNodeOnNavigation(oldCacheNodeChild, oldRouterStateChild, newRouterStateChild, prefetchDataChild, prefetchHead);\n } else {\n // The server didn't send any prefetch data for this segment. This\n // shouldn't happen because the Route Tree and the Seed Data tree\n // should always be the same shape, but until we unify those types\n // it's still possible. For now we're going to deopt and trigger a\n // lazy fetch during render.\n taskChild = spawnTaskForMissingData(newRouterStateChild);\n }\n } else {\n // Either there's no existing Cache Node for this segment, or this\n // segment doesn't exist in the old Router State tree. Switch to the\n // \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead);\n }\n } else {\n // This is a new tree. Switch to the \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead);\n }\n if (taskChild !== null) {\n // Something changed in the child tree. Keep track of the child task.\n if (taskChildren === null) {\n taskChildren = new Map();\n }\n taskChildren.set(parallelRouteKey, taskChild);\n const newCacheNodeChild = taskChild.node;\n if (newCacheNodeChild !== null) {\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(newSegmentKeyChild, newCacheNodeChild);\n prefetchParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The child tree's route state may be different from the prefetched\n // route sent by the server. We need to clone it as we traverse back up\n // the tree.\n patchedRouterStateChildren[parallelRouteKey] = taskChild.route;\n } else {\n // The child didn't change. We can use the prefetched router state.\n patchedRouterStateChildren[parallelRouteKey] = newRouterStateChild;\n }\n }\n if (taskChildren === null) {\n // No new tasks were spawned.\n return null;\n }\n const newCacheNode = {\n lazyData: null,\n rsc: oldCacheNode.rsc,\n // We intentionally aren't updating the prefetchRsc field, since this node\n // is already part of the current tree, because it would be weird for\n // prefetch data to be newer than the final data. It probably won't ever be\n // observable anyway, but it could happen if the segment is unmounted then\n // mounted again, because LayoutRouter will momentarily switch to rendering\n // prefetchRsc, via useDeferredValue.\n prefetchRsc: oldCacheNode.prefetchRsc,\n head: oldCacheNode.head,\n prefetchHead: oldCacheNode.prefetchHead,\n loading: oldCacheNode.loading,\n // Everything is cloned except for the children, which we computed above.\n parallelRoutes: prefetchParallelRoutes,\n lazyDataResolved: false\n };\n return {\n // Return a cloned copy of the router state with updated children.\n route: patchRouterStateWithNewChildren(newRouterState, patchedRouterStateChildren),\n node: newCacheNode,\n children: taskChildren\n };\n}\nfunction patchRouterStateWithNewChildren(baseRouterState, newChildren) {\n const clone = [\n baseRouterState[0],\n newChildren\n ];\n // Based on equivalent logic in apply-router-state-patch-to-tree, but should\n // confirm whether we need to copy all of these fields. Not sure the server\n // ever sends, e.g. the refetch marker.\n if (2 in baseRouterState) {\n clone[2] = baseRouterState[2];\n }\n if (3 in baseRouterState) {\n clone[3] = baseRouterState[3];\n }\n if (4 in baseRouterState) {\n clone[4] = baseRouterState[4];\n }\n return clone;\n}\nfunction spawnPendingTask(routerState, prefetchData, prefetchHead) {\n // Create a task that will later be fulfilled by data from the server.\n const pendingCacheNode = createPendingCacheNode(routerState, prefetchData, prefetchHead);\n return {\n route: routerState,\n node: pendingCacheNode,\n children: null\n };\n}\nfunction spawnReusedTask(reusedRouterState) {\n // Create a task that reuses an existing segment, e.g. when reusing\n // the current active segment in place of a default route.\n return {\n route: reusedRouterState,\n node: null,\n children: null\n };\n}\nfunction spawnTaskForMissingData(routerState) {\n // Create a task for a new subtree that wasn't prefetched by the server.\n // This shouldn't really ever happen but it's here just in case the Seed Data\n // Tree and the Router State Tree disagree unexpectedly.\n const pendingCacheNode = createPendingCacheNode(routerState, null, null);\n return {\n route: routerState,\n node: pendingCacheNode,\n children: null\n };\n}\nfunction listenForDynamicRequest(task, responsePromise) {\n responsePromise.then((response)=>{\n const flightData = response[0];\n for (const flightDataPath of flightData){\n const segmentPath = flightDataPath.slice(0, -3);\n const serverRouterState = flightDataPath[flightDataPath.length - 3];\n const dynamicData = flightDataPath[flightDataPath.length - 2];\n const dynamicHead = flightDataPath[flightDataPath.length - 1];\n if (typeof segmentPath === \"string\") {\n continue;\n }\n writeDynamicDataIntoPendingTask(task, segmentPath, serverRouterState, dynamicData, dynamicHead);\n }\n // Now that we've exhausted all the data we received from the server, if\n // there are any remaining pending tasks in the tree, abort them now.\n // If there's any missing data, it will trigger a lazy fetch.\n abortTask(task, null);\n }, (error)=>{\n // This will trigger an error during render\n abortTask(task, error);\n });\n}\nfunction writeDynamicDataIntoPendingTask(rootTask, segmentPath, serverRouterState, dynamicData, dynamicHead) {\n // The data sent by the server represents only a subtree of the app. We need\n // to find the part of the task tree that matches the server response, and\n // fulfill it using the dynamic data.\n //\n // segmentPath represents the parent path of subtree. It's a repeating pattern\n // of parallel route key and segment:\n //\n // [string, Segment, string, Segment, string, Segment, ...]\n //\n // Iterate through the path and finish any tasks that match this payload.\n let task = rootTask;\n for(let i = 0; i < segmentPath.length; i += 2){\n const parallelRouteKey = segmentPath[i];\n const segment = segmentPath[i + 1];\n const taskChildren = task.children;\n if (taskChildren !== null) {\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(segment, taskSegment)) {\n // Found a match for this task. Keep traversing down the task tree.\n task = taskChild;\n continue;\n }\n }\n }\n // We didn't find a child task that matches the server data. Exit. We won't\n // abort the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n return;\n }\n finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead);\n}\nfunction finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead) {\n // dynamicData may represent a larger subtree than the task. Before we can\n // finish the task, we need to line them up.\n const taskChildren = task.children;\n const taskNode = task.node;\n if (taskChildren === null) {\n // We've reached the leaf node of the pending task. The server data tree\n // lines up the pending Cache Node tree. We can now switch to the\n // normal algorithm.\n if (taskNode !== null) {\n finishPendingCacheNode(taskNode, task.route, serverRouterState, dynamicData, dynamicHead);\n // Null this out to indicate that the task is complete.\n task.node = null;\n }\n return;\n }\n // The server returned more data than we need to finish the task. Skip over\n // the extra segments until we reach the leaf task node.\n const serverChildren = serverRouterState[1];\n const dynamicDataChildren = dynamicData[1];\n for(const parallelRouteKey in serverRouterState){\n const serverRouterStateChild = serverChildren[parallelRouteKey];\n const dynamicDataChild = dynamicDataChildren[parallelRouteKey];\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(serverRouterStateChild[0], taskSegment) && dynamicDataChild !== null && dynamicDataChild !== undefined) {\n // Found a match for this task. Keep traversing down the task tree.\n return finishTaskUsingDynamicDataPayload(taskChild, serverRouterStateChild, dynamicDataChild, dynamicHead);\n }\n }\n // We didn't find a child task that matches the server data. We won't abort\n // the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n }\n}\nfunction createPendingCacheNode(routerState, prefetchData, prefetchHead) {\n const routerStateChildren = routerState[1];\n const prefetchDataChildren = prefetchData !== null ? prefetchData[1] : null;\n const parallelRoutes = new Map();\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const prefetchDataChild = prefetchDataChildren !== null ? prefetchDataChildren[parallelRouteKey] : null;\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const newCacheNodeChild = createPendingCacheNode(routerStateChild, prefetchDataChild === undefined ? null : prefetchDataChild, prefetchHead);\n const newSegmentMapChild = new Map();\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n parallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The head is assigned to every leaf segment delivered by the server. Based\n // on corresponding logic in fill-lazy-items-till-leaf-with-head.ts\n const isLeafSegment = parallelRoutes.size === 0;\n const maybePrefetchRsc = prefetchData !== null ? prefetchData[2] : null;\n const maybePrefetchLoading = prefetchData !== null ? prefetchData[3] : null;\n return {\n lazyData: null,\n parallelRoutes: parallelRoutes,\n prefetchRsc: maybePrefetchRsc !== undefined ? maybePrefetchRsc : null,\n prefetchHead: isLeafSegment ? prefetchHead : null,\n loading: maybePrefetchLoading !== undefined ? maybePrefetchLoading : null,\n // Create a deferred promise. This will be fulfilled once the dynamic\n // response is received from the server.\n rsc: createDeferredRsc(),\n head: isLeafSegment ? createDeferredRsc() : null,\n lazyDataResolved: false\n };\n}\nfunction finishPendingCacheNode(cacheNode, taskState, serverState, dynamicData, dynamicHead) {\n // Writes a dynamic response into an existing Cache Node tree. This does _not_\n // create a new tree, it updates the existing tree in-place. So it must follow\n // the Suspense rules of cache safety — it can resolve pending promises, but\n // it cannot overwrite existing data. It can add segments to the tree (because\n // a missing segment will cause the layout router to suspend).\n // but it cannot delete them.\n //\n // We must resolve every promise in the tree, or else it will suspend\n // indefinitely. If we did not receive data for a segment, we will resolve its\n // data promise to `null` to trigger a lazy fetch during render.\n const taskStateChildren = taskState[1];\n const serverStateChildren = serverState[1];\n const dataChildren = dynamicData[1];\n // The router state that we traverse the tree with (taskState) is the same one\n // that we used to construct the pending Cache Node tree. That way we're sure\n // to resolve all the pending promises.\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in taskStateChildren){\n const taskStateChild = taskStateChildren[parallelRouteKey];\n const serverStateChild = serverStateChildren[parallelRouteKey];\n const dataChild = dataChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n const taskSegmentChild = taskStateChild[0];\n const taskSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(taskSegmentChild);\n const cacheNodeChild = segmentMapChild !== undefined ? segmentMapChild.get(taskSegmentKeyChild) : undefined;\n if (cacheNodeChild !== undefined) {\n if (serverStateChild !== undefined && (0, _matchsegments.matchSegment)(taskSegmentChild, serverStateChild[0])) {\n if (dataChild !== undefined && dataChild !== null) {\n // This is the happy path. Recursively update all the children.\n finishPendingCacheNode(cacheNodeChild, taskStateChild, serverStateChild, dataChild, dynamicHead);\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render. This shouldn't happen because the Route Tree\n // and the Seed Data tree sent by the server should always be the same\n // shape when part of the same server response.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server response matches what was expected to receive, but there's\n // no matching Cache Node in the task tree. This is a bug in the\n // implementation because we should have created a node for every\n // segment in the tree that's associated with this task.\n }\n }\n // Use the dynamic data from the server to fulfill the deferred RSC promise\n // on the Cache Node.\n const rsc = cacheNode.rsc;\n const dynamicSegmentData = dynamicData[2];\n if (rsc === null) {\n // This is a lazy cache node. We can overwrite it. This is only safe\n // because we know that the LayoutRouter suspends if `rsc` is `null`.\n cacheNode.rsc = dynamicSegmentData;\n } else if (isDeferredRsc(rsc)) {\n // This is a deferred RSC promise. We can fulfill it with the data we just\n // received from the server. If it was already resolved by a different\n // navigation, then this does nothing because we can't overwrite data.\n rsc.resolve(dynamicSegmentData);\n } else {\n // This is not a deferred RSC promise, nor is it empty, so it must have\n // been populated by a different navigation. We must not overwrite it.\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved with the dynamic head from\n // the server.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(dynamicHead);\n }\n}\nfunction abortTask(task, error) {\n const cacheNode = task.node;\n if (cacheNode === null) {\n // This indicates the task is already complete.\n return;\n }\n const taskChildren = task.children;\n if (taskChildren === null) {\n // Reached the leaf task node. This is the root of a pending cache\n // node tree.\n abortPendingCacheNode(task.route, cacheNode, error);\n } else {\n // This is an intermediate task node. Keep traversing until we reach a\n // task node with no children. That will be the root of the cache node tree\n // that needs to be resolved.\n for (const taskChild of taskChildren.values()){\n abortTask(taskChild, error);\n }\n }\n // Null this out to indicate that the task is complete.\n task.node = null;\n}\nfunction abortPendingCacheNode(routerState, cacheNode, error) {\n // For every pending segment in the tree, resolve its `rsc` promise to `null`\n // to trigger a lazy fetch during render.\n //\n // Or, if an error object is provided, it will error instead.\n const routerStateChildren = routerState[1];\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n if (segmentMapChild === undefined) {\n continue;\n }\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const cacheNodeChild = segmentMapChild.get(segmentKeyChild);\n if (cacheNodeChild !== undefined) {\n abortPendingCacheNode(routerStateChild, cacheNodeChild, error);\n } else {\n // This shouldn't happen because we're traversing the same tree that was\n // used to construct the cache nodes in the first place.\n }\n }\n const rsc = cacheNode.rsc;\n if (isDeferredRsc(rsc)) {\n if (error === null) {\n // This will trigger a lazy fetch during render.\n rsc.resolve(null);\n } else {\n // This will trigger an error during rendering.\n rsc.reject(error);\n }\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved. If an error was provided, we\n // will not resolve it with an error, since this is rendered at the root of\n // the app. We want the segment to error, not the entire app.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(null);\n }\n}\nfunction updateCacheNodeOnPopstateRestoration(oldCacheNode, routerState) {\n // A popstate navigation reads data from the local cache. It does not issue\n // new network requests (unless the cache entries have been evicted). So, we\n // update the cache to drop the prefetch data for any segment whose dynamic\n // data was already received. This prevents an unnecessary flash back to PPR\n // state during a back/forward navigation.\n //\n // This function clones the entire cache node tree and sets the `prefetchRsc`\n // field to `null` to prevent it from being rendered. We can't mutate the node\n // in place because this is a concurrent data structure.\n const routerStateChildren = routerState[1];\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n const newParallelRoutes = new Map(oldParallelRoutes);\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n if (oldSegmentMapChild !== undefined) {\n const oldCacheNodeChild = oldSegmentMapChild.get(segmentKeyChild);\n if (oldCacheNodeChild !== undefined) {\n const newCacheNodeChild = updateCacheNodeOnPopstateRestoration(oldCacheNodeChild, routerStateChild);\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n newParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n }\n }\n // Only show prefetched data if the dynamic data is still pending.\n //\n // Tehnically, what we're actually checking is whether the dynamic network\n // response was received. But since it's a streaming response, this does not\n // mean that all the dynamic data has fully streamed in. It just means that\n // _some_ of the dynamic data was received. But as a heuristic, we assume that\n // the rest dynamic data will stream in quickly, so it's still better to skip\n // the prefetch state.\n const rsc = oldCacheNode.rsc;\n const shouldUsePrefetch = isDeferredRsc(rsc) && rsc.status === \"pending\";\n return {\n lazyData: null,\n rsc,\n head: oldCacheNode.head,\n prefetchHead: shouldUsePrefetch ? oldCacheNode.prefetchHead : null,\n prefetchRsc: shouldUsePrefetch ? oldCacheNode.prefetchRsc : null,\n loading: shouldUsePrefetch ? oldCacheNode.loading : null,\n // These are the cloned children we computed above\n parallelRoutes: newParallelRoutes,\n lazyDataResolved: false\n };\n}\nconst DEFERRED = Symbol();\n// This type exists to distinguish a DeferredRsc from a Flight promise. It's a\n// compromise to avoid adding an extra field on every Cache Node, which would be\n// awkward because the pre-PPR parts of codebase would need to account for it,\n// too. We can remove it once type Cache Node type is more settled.\nfunction isDeferredRsc(value) {\n return value && value.tag === DEFERRED;\n}\nfunction createDeferredRsc() {\n let resolve;\n let reject;\n const pendingRsc = new Promise((res, rej)=>{\n resolve = res;\n reject = rej;\n });\n pendingRsc.status = \"pending\";\n pendingRsc.resolve = (value)=>{\n if (pendingRsc.status === \"pending\") {\n const fulfilledRsc = pendingRsc;\n fulfilledRsc.status = \"fulfilled\";\n fulfilledRsc.value = value;\n resolve(value);\n }\n };\n pendingRsc.reject = (error)=>{\n if (pendingRsc.status === \"pending\") {\n const rejectedRsc = pendingRsc;\n rejectedRsc.status = \"rejected\";\n rejectedRsc.reason = error;\n reject(error);\n }\n };\n pendingRsc.tag = DEFERRED;\n return pendingRsc;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ppr-navigations.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcHByLW5hdmlnYXRpb25zLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTJuQmdCQSxXQUFTO2VBQVRBOztJQW5UQUMseUJBQXVCO2VBQXZCQTs7SUF4UUFDLDZCQUEyQjtlQUEzQkE7O0lBdW9CQUMsc0NBQW9DO2VBQXBDQTs7O3FDQXpyQlQ7MkNBQ3NCO2tEQUNRO0FBZ0Q5QixTQUFTRCw0QkFDZEUsWUFBdUIsRUFDdkJDLGNBQWlDLEVBQ2pDQyxjQUFpQyxFQUNqQ0MsWUFBK0IsRUFDL0JDLFlBQTZCO0lBRTdCLDBEQUEwRDtJQUMxRCxNQUFNQyx5QkFBeUJKLGNBQWMsQ0FBQyxFQUFFO0lBQ2hELE1BQU1LLHlCQUF5QkosY0FBYyxDQUFDLEVBQUU7SUFDaEQsTUFBTUssdUJBQXVCSixZQUFZLENBQUMsRUFBRTtJQUU1QyxNQUFNSyxvQkFBb0JSLGFBQWFTLGNBQWM7SUFFckQsMkVBQTJFO0lBQzNFLGdCQUFnQjtJQUNoQiwwRUFBMEU7SUFDMUUsMEVBQTBFO0lBQzFFLDRFQUE0RTtJQUM1RSwyRUFBMkU7SUFDM0UsMEVBQTBFO0lBQzFFLHVFQUF1RTtJQUN2RSx5RUFBeUU7SUFDekUsd0VBQXdFO0lBQ3hFLCtCQUErQjtJQUMvQixNQUFNQyx5QkFBeUIsSUFBSUMsSUFBSUg7SUFFdkMsNEVBQTRFO0lBQzVFLDRFQUE0RTtJQUM1RSwyRUFBMkU7SUFDM0UsNkVBQTZFO0lBQzdFLG1CQUFtQjtJQUNuQixJQUFJSSw2QkFFQSxDQUFDO0lBQ0wsSUFBSUMsZUFBZTtJQUNuQixJQUFLLElBQUlDLG9CQUFvQlIsdUJBQXdCO1FBQ25ELE1BQU1TLHNCQUNKVCxzQkFBc0IsQ0FBQ1EsaUJBQWlCO1FBQzFDLE1BQU1FLHNCQUNKWCxzQkFBc0IsQ0FBQ1MsaUJBQWlCO1FBQzFDLE1BQU1HLHFCQUFxQlQsa0JBQWtCVSxHQUFH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QVcsR0FBRztRQUM1REUsU0FBU2lFLG9CQUFvQjVHLGFBQWEyQyxPQUFPLEdBQUc7UUFFcEQsa0RBQWtEO1FBQ2xEbEMsZ0JBQWdCa0c7UUFDaEIvRCxrQkFBa0I7SUFDcEI7QUFDRjtBQUVBLE1BQU1rRSxXQUFXQztBQThCakIsOEVBQThFO0FBQzlFLGdGQUFnRjtBQUNoRiw4RUFBOEU7QUFDOUUsbUVBQW1FO0FBQ25FLFNBQVNSLGNBQWNTLEtBQVU7SUFDL0IsT0FBT0EsU0FBU0EsTUFBTUMsR0FBRyxLQUFLSDtBQUNoQztBQUVBLFNBQVN2QjtJQUNQLElBQUlpQjtJQUNKLElBQUlFO0lBQ0osTUFBTVEsYUFBYSxJQUFJQyxRQUF5QixDQUFDQyxLQUFLQztRQUNwRGIsVUFBVVk7UUFDVlYsU0FBU1c7SUFDWDtJQUNBSCxXQUFXTCxNQUFNLEdBQUc7SUFDcEJLLFdBQVdWLE9BQU8sR0FBRyxDQUFDUTtRQUNwQixJQUFJRSxXQUFXTCxNQUFNLEtBQUssV0FBVztZQUNuQyxNQUFNUyxlQUFxQ0o7WUFDM0NJLGFBQWFULE1BQU0sR0FBRztZQUN0QlMsYUFBYU4sS0FBSyxHQUFHQTtZQUNyQlIsUUFBUVE7UUFDVjtJQUNGO0lBQ0FFLFdBQVdSLE1BQU0sR0FBRyxDQUFDdkM7UUFDbkIsSUFBSStDLFdBQVdMLE1BQU0sS0FBSyxXQUFXO1lBQ25DLE1BQU1VLGNBQW1DTDtZQUN6Q0ssWUFBWVYsTUFBTSxHQUFHO1lBQ3JCVSxZQUFZQyxNQUFNLEdBQUdyRDtZQUNyQnVDLE9BQU92QztRQUNUO0lBQ0Y7SUFDQStDLFdBQVdELEdBQUcsR0FBR0g7SUFDakIsT0FBT0k7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3Bwci1uYXZpZ2F0aW9ucy50cz82YTU2Il0sIm5hbWVzIjpbImFib3J0VGFzayIsImxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0IiwidXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uIiwidXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uIiwib2xkQ2FjaGVOb2RlIiwib2xkUm91dGVyU3RhdGUiLCJuZXdSb3V0ZXJTdGF0ZSIsInByZWZldGNoRGF0YSIsInByZWZldGNoSGVhZCIsIm9sZFJvdXRlclN0YXRlQ2hpbGRyZW4iLCJuZXdSb3V0ZXJTdGF0ZUNoaWxkcmVuIiwicHJlZmV0Y2hEYXRhQ2hpbGRyZW4iLCJvbGRQYXJhbGxlbFJvdXRlcyIsInBhcmFsbGVsUm91dGVzIiwicHJlZmV0Y2hQYXJhbGxlbFJvdXRlcyIsIk1hcCIsInBhdGNoZWRSb3V0ZXJTdGF0ZUNoaWxkcmVuIiwidGFza0NoaWxkcmVuIiwicGFyYWxsZWxSb3V0ZUtleSIsIm5ld1JvdXRlclN0YXRlQ2hpbGQiLCJvbGRSb3V0ZXJTdGF0ZUNoaWxkIiwib2xkU2VnbWVudE1hcENoaWxkIiwiZ2V0IiwicHJlZmV0Y2hEYXRhQ2hpbGQiLCJuZXdTZWdtZW50Q2hpbGQiLCJuZXdTZWdtZW50S2V5Q2hpbGQiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsIm9sZFNlZ21lbnRDaGlsZCIsInVuZGVmaW5lZCIsIm9sZENhY2hlTm9kZUNoaWxkIiwidGFza0NoaWxkIiwiUEFHRV9TRUdNRU5UX0tFWSIsInNwYXduUGVuZGluZ1Rhc2siLCJERUZBVUxUX1NFR01FTlRfS0VZIiwic3Bhd25SZXVzZWRUYXNrIiwibWF0Y2hTZWdtZW50Iiwic3Bhd25UYXNrRm9yTWlzc2luZ0RhdGEiLCJzZXQiLCJuZXdDYWNoZU5vZGVDaGlsZCIsIm5vZGUiLCJuZXdTZWdtZW50TWFwQ2hpbGQiLCJyb3V0ZSIsIm5ld0NhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwibG9hZGluZyIsImxhenlEYXRhUmVzb2x2ZWQiLCJwYXRjaFJvdXRlclN0YXRlV2l0aE5ld0NoaWxkcmVuIiwiY2hpbGRyZW4iLCJiYXNlUm91dGVyU3RhdGUiLCJuZXdDaGlsZHJlbiIsImNsb25lIiwicm91dGVyU3RhdGUiLCJwZW5kaW5nQ2FjaGVOb2RlIiwiY3JlYXRlUGVuZGluZ0NhY2hlTm9kZSIsInJldXNlZFJvdXRlclN0YXRlIiwidGFzayIsInJlc3BvbnNlUHJvbWlzZSIsInRoZW4iLCJyZXNwb25zZSIsImZsaWdodERhdGEiLCJmbGlnaHREYXRhUGF0aCIsInNlZ21lbnRQYXRoIiwic2xpY2UiLCJzZXJ2ZXJSb3V0ZXJTdGF0ZSIsImxlbmd0aCIsImR5bmFtaWNEYXRhIiwiZHluYW1pY0hlYWQiLCJ3cml0ZUR5bmFtaWNEYXRhSW50b1BlbmRpbmdUYXNrIiwiZXJyb3IiLCJyb290VGFzayIsImkiLCJzZWdtZW50IiwidGFza1NlZ21lbnQiLCJmaW5pc2hUYXNrVXNpbmdEeW5hbWljRGF0YVBheWxvYWQiLCJ0YXNrTm9kZSIsImZpbmlzaFBlbmRpbmdDYWNoZU5vZGUiLCJzZXJ2ZXJDaGlsZHJlbiIsImR5bmFtaWNEYXRhQ2hpbGRyZW4iLCJzZXJ2ZXJSb3V0ZXJTdGF0ZUNoaWxkIiwiZHluYW1pY0RhdGFDaGlsZCIsInJvdXRlclN0YXRlQ2hpbGRyZW4iLCJyb3V0ZXJTdGF0ZUNoaWxkIiwic2VnbWVudENoaWxkIiwic2VnbWVudEtleUNoaWxkIiwiaXNMZWFmU2VnbWVudCIsInNpemUiLCJtYXliZVByZWZldGNoUnNjIiwibWF5YmVQcmVmZXRjaExvYWRpbmciLCJjcmVhdGVEZWZlcnJlZFJzYyIsImNhY2hlTm9kZSIsInRhc2tTdGF0ZSIsInNlcnZlclN0YXRlIiwidGFza1N0YXRlQ2hpbGRyZW4iLCJzZXJ2ZXJTdGF0ZUNoaWxkcmVuIiwiZGF0YUNoaWxkcmVuIiwidGFza1N0YXRlQ2hpbGQiLCJzZXJ2ZXJTdGF0ZUNoaWxkIiwiZGF0YUNoaWxkIiwic2VnbWVudE1hcENoaWxkIiwidGFza1NlZ21lbnRDaGlsZCIsInRhc2tTZWdtZW50S2V5Q2hpbGQiLCJjYWNoZU5vZGVDaGlsZCIsImFib3J0UGVuZGluZ0NhY2hlTm9kZSIsImR5bmFtaWNTZWdtZW50RGF0YSIsImlzRGVmZXJyZWRSc2MiLCJyZXNvbHZlIiwidmFsdWVzIiwicmVqZWN0IiwibmV3UGFyYWxsZWxSb3V0ZXMiLCJzaG91bGRVc2VQcmVmZXRjaCIsInN0YXR1cyIsIkRFRkVSUkVEIiwiU3ltYm9sIiwidmFsdWUiLCJ0YWciLCJwZW5kaW5nUnNjIiwiUHJvbWlzZSIsInJlcyIsInJlaiIsImZ1bGZpbGxlZFJzYyIsInJlamVjdGVkUnNjIiwicmVhc29uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js ***! - \*****************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createPrefetchCacheEntryForInitialLoad: function() {\n return createPrefetchCacheEntryForInitialLoad;\n },\n getOrCreatePrefetchCacheEntry: function() {\n return getOrCreatePrefetchCacheEntry;\n },\n prunePrefetchCache: function() {\n return prunePrefetchCache;\n }\n});\nconst _createhreffromurl = __webpack_require__(/*! ./create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./reducers/prefetch-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\n/**\n * Creates a cache key for the router prefetch cache\n *\n * @param url - The URL being navigated to\n * @param nextUrl - an internal URL, primarily used for handling rewrites. Defaults to '/'.\n * @return The generated prefetch cache key.\n */ function createPrefetchCacheKey(url, nextUrl) {\n const pathnameFromUrl = (0, _createhreffromurl.createHrefFromUrl)(url, false);\n // nextUrl is used as a cache key delimiter since entries can vary based on the Next-URL header\n if (nextUrl) {\n return nextUrl + \"%\" + pathnameFromUrl;\n }\n return pathnameFromUrl;\n}\nfunction getOrCreatePrefetchCacheEntry(param) {\n let { url, nextUrl, tree, buildId, prefetchCache, kind } = param;\n let existingCacheEntry = undefined;\n // We first check if there's a more specific interception route prefetch entry\n // This is because when we detect a prefetch that corresponds with an interception route, we prefix it with nextUrl (see `createPrefetchCacheKey`)\n // to avoid conflicts with other pages that may have the same URL but render different things depending on the `Next-URL` header.\n const interceptionCacheKey = createPrefetchCacheKey(url, nextUrl);\n const interceptionData = prefetchCache.get(interceptionCacheKey);\n if (interceptionData) {\n existingCacheEntry = interceptionData;\n } else {\n // If we dont find a more specific interception route prefetch entry, we check for a regular prefetch entry\n const prefetchCacheKey = createPrefetchCacheKey(url);\n const prefetchData = prefetchCache.get(prefetchCacheKey);\n if (prefetchData) {\n existingCacheEntry = prefetchData;\n }\n }\n if (existingCacheEntry) {\n // Grab the latest status of the cache entry and update it\n existingCacheEntry.status = getPrefetchEntryCacheStatus(existingCacheEntry);\n // when `kind` is provided, an explicit prefetch was requested.\n // if the requested prefetch is \"full\" and the current cache entry wasn't, we want to re-prefetch with the new intent\n const switchedToFullPrefetch = existingCacheEntry.kind !== _routerreducertypes.PrefetchKind.FULL && kind === _routerreducertypes.PrefetchKind.FULL;\n if (switchedToFullPrefetch) {\n return createLazyPrefetchEntry({\n tree,\n url,\n buildId,\n nextUrl,\n prefetchCache,\n // If we didn't get an explicit prefetch kind, we want to set a temporary kind\n // rather than assuming the same intent as the previous entry, to be consistent with how we\n // lazily create prefetch entries when intent is left unspecified.\n kind: kind != null ? kind : _routerreducertypes.PrefetchKind.TEMPORARY\n });\n }\n // If the existing cache entry was marked as temporary, it means it was lazily created when attempting to get an entry,\n // where we didn't have the prefetch intent. Now that we have the intent (in `kind`), we want to update the entry to the more accurate kind.\n if (kind && existingCacheEntry.kind === _routerreducertypes.PrefetchKind.TEMPORARY) {\n existingCacheEntry.kind = kind;\n }\n // We've determined that the existing entry we found is still valid, so we return it.\n return existingCacheEntry;\n }\n // If we didn't return an entry, create a new one.\n return createLazyPrefetchEntry({\n tree,\n url,\n buildId,\n nextUrl,\n prefetchCache,\n kind: kind || // in dev, there's never gonna be a prefetch entry so we want to prefetch here\n ( true ? _routerreducertypes.PrefetchKind.AUTO : 0)\n });\n}\n/*\n * Used to take an existing cache entry and prefix it with the nextUrl, if it exists.\n * This ensures that we don't have conflicting cache entries for the same URL (as is the case with route interception).\n */ function prefixExistingPrefetchCacheEntry(param) {\n let { url, nextUrl, prefetchCache } = param;\n const existingCacheKey = createPrefetchCacheKey(url);\n const existingCacheEntry = prefetchCache.get(existingCacheKey);\n if (!existingCacheEntry) {\n // no-op -- there wasn't an entry to move\n return;\n }\n const newCacheKey = createPrefetchCacheKey(url, nextUrl);\n prefetchCache.set(newCacheKey, existingCacheEntry);\n prefetchCache.delete(existingCacheKey);\n}\nfunction createPrefetchCacheEntryForInitialLoad(param) {\n let { nextUrl, tree, prefetchCache, url, kind, data } = param;\n const [, , , intercept] = data;\n // if the prefetch corresponds with an interception route, we use the nextUrl to prefix the cache key\n const prefetchCacheKey = intercept ? createPrefetchCacheKey(url, nextUrl) : createPrefetchCacheKey(url);\n const prefetchEntry = {\n treeAtTimeOfPrefetch: tree,\n data: Promise.resolve(data),\n kind,\n prefetchTime: Date.now(),\n lastUsedTime: Date.now(),\n key: prefetchCacheKey,\n status: _routerreducertypes.PrefetchCacheEntryStatus.fresh\n };\n prefetchCache.set(prefetchCacheKey, prefetchEntry);\n return prefetchEntry;\n}\n/**\n * Creates a prefetch entry entry and enqueues a fetch request to retrieve the data.\n */ function createLazyPrefetchEntry(param) {\n let { url, kind, tree, nextUrl, buildId, prefetchCache } = param;\n const prefetchCacheKey = createPrefetchCacheKey(url);\n // initiates the fetch request for the prefetch and attaches a listener\n // to the promise to update the prefetch cache entry when the promise resolves (if necessary)\n const data = _prefetchreducer.prefetchQueue.enqueue(()=>(0, _fetchserverresponse.fetchServerResponse)(url, tree, nextUrl, buildId, kind).then((prefetchResponse)=>{\n // TODO: `fetchServerResponse` should be more tighly coupled to these prefetch cache operations\n // to avoid drift between this cache key prefixing logic\n // (which is currently directly influenced by the server response)\n const [, , , intercepted] = prefetchResponse;\n if (intercepted) {\n prefixExistingPrefetchCacheEntry({\n url,\n nextUrl,\n prefetchCache\n });\n }\n return prefetchResponse;\n }));\n const prefetchEntry = {\n treeAtTimeOfPrefetch: tree,\n data,\n kind,\n prefetchTime: Date.now(),\n lastUsedTime: null,\n key: prefetchCacheKey,\n status: _routerreducertypes.PrefetchCacheEntryStatus.fresh\n };\n prefetchCache.set(prefetchCacheKey, prefetchEntry);\n return prefetchEntry;\n}\nfunction prunePrefetchCache(prefetchCache) {\n for (const [href, prefetchCacheEntry] of prefetchCache){\n if (getPrefetchEntryCacheStatus(prefetchCacheEntry) === _routerreducertypes.PrefetchCacheEntryStatus.expired) {\n prefetchCache.delete(href);\n }\n }\n}\n// These values are set by `define-env-plugin` (based on `nextConfig.experimental.staleTimes`)\n// and default to 5 minutes (static) / 30 seconds (dynamic)\nconst DYNAMIC_STALETIME_MS = Number(\"30\") * 1000;\nconst STATIC_STALETIME_MS = Number(\"300\") * 1000;\nfunction getPrefetchEntryCacheStatus(param) {\n let { kind, prefetchTime, lastUsedTime } = param;\n // We will re-use the cache entry data for up to the `dynamic` staletime window.\n if (Date.now() < (lastUsedTime != null ? lastUsedTime : prefetchTime) + DYNAMIC_STALETIME_MS) {\n return lastUsedTime ? _routerreducertypes.PrefetchCacheEntryStatus.reusable : _routerreducertypes.PrefetchCacheEntryStatus.fresh;\n }\n // For \"auto\" prefetching, we'll re-use only the loading boundary for up to `static` staletime window.\n // A stale entry will only re-use the `loading` boundary, not the full data.\n // This will trigger a \"lazy fetch\" for the full data.\n if (kind === \"auto\") {\n if (Date.now() < prefetchTime + STATIC_STALETIME_MS) {\n return _routerreducertypes.PrefetchCacheEntryStatus.stale;\n }\n }\n // for \"full\" prefetching, we'll re-use the cache entry data for up to `static` staletime window.\n if (kind === \"full\") {\n if (Date.now() < prefetchTime + STATIC_STALETIME_MS) {\n return _routerreducertypes.PrefetchCacheEntryStatus.reusable;\n }\n }\n return _routerreducertypes.PrefetchCacheEntryStatus.expired;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=prefetch-cache-utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcHJlZmV0Y2gtY2FjaGUtdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBbUpnQkEsd0NBQXNDO2VBQXRDQTs7SUE1R0FDLCtCQUE2QjtlQUE3QkE7O0lBaU1BQyxvQkFBa0I7ZUFBbEJBOzs7K0NBeE9rQjtpREFJM0I7Z0RBTUE7NkNBQ3VCO0FBRTlCOzs7Ozs7Q0FNQyxHQUNELFNBQVNDLHVCQUF1QkMsR0FBUSxFQUFFQyxPQUF1QjtJQUMvRCxNQUFNQyxrQkFBa0JDLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBaUIsRUFDdkNILEtBRUE7SUFHRiwrRkFBK0Y7SUFDL0YsSUFBSUMsU0FBUztRQUNYLE9BQU9BLFVBQVcsTUFBR0M7SUFDdkI7SUFFQSxPQUFPQTtBQUNUO0FBTU8sU0FBU0wsOEJBQThCTyxLQWE3QztJQWI2QyxNQUM1Q0osR0FBRyxFQUNIQyxPQUFPLEVBQ1BJLElBQUksRUFDSkMsT0FBTyxFQUNQQyxhQUFhLEVBQ2JDLElBQUksRUFPTCxHQWI2Q0o7SUFjNUMsSUFBSUsscUJBQXFEQztJQUN6RCw4RUFBOEU7SUFDOUUsa0pBQWtKO0lBQ2xKLGlJQUFpSTtJQUNqSSxNQUFNQyx1QkFBdUJaLHVCQUF1QkMsS0FBS0M7SUFDekQsTUFBTVcsbUJBQW1CTCxjQUFjTSxHQUFHLENBQUNGO0lBRTNDLElBQUlDLGtCQUFrQjtRQUNwQkgscUJBQXFCRztJQUN2QixPQUFPO1FBQ0wsMkdBQTJHO1FBQzNHLE1BQU1FLG1CQUFtQmYsdUJBQXVCQztRQUNoRCxNQUFNZSxlQUFlUixjQUFjTSxHQUFHLENBQUNDO1FBQ3ZDLElBQUlDLGNBQWM7WUFDaEJOLHFCQUFxQk07UUFDdkI7SUFDRjtJQUVBLElBQUlOLG9CQUFvQjtRQUN0QiwwREFBMEQ7UUFDMURBLG1CQUFtQk8sTUFBTSxHQUFHQyw0QkFBNEJSO1FBRXhE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QUFpRztJQUNqRyxJQUFJbkQsU0FBUyxRQUFRO1FBQ25CLElBQUk2QixLQUFLQyxHQUFHLEtBQUtGLGVBQWVvQixxQkFBcUI7WUFDbkQsT0FBT2Ysb0JBQUFBLHdCQUF3QixDQUFDaUIsUUFBUTtRQUMxQztJQUNGO0lBRUEsT0FBT2pCLG9CQUFBQSx3QkFBd0IsQ0FBQ1UsT0FBTztBQUN6QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3ByZWZldGNoLWNhY2hlLXV0aWxzLnRzP2I2MjEiXSwibmFtZXMiOlsiY3JlYXRlUHJlZmV0Y2hDYWNoZUVudHJ5Rm9ySW5pdGlhbExvYWQiLCJnZXRPckNyZWF0ZVByZWZldGNoQ2FjaGVFbnRyeSIsInBydW5lUHJlZmV0Y2hDYWNoZSIsImNyZWF0ZVByZWZldGNoQ2FjaGVLZXkiLCJ1cmwiLCJuZXh0VXJsIiwicGF0aG5hbWVGcm9tVXJsIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJwYXJhbSIsInRyZWUiLCJidWlsZElkIiwicHJlZmV0Y2hDYWNoZSIsImtpbmQiLCJleGlzdGluZ0NhY2hlRW50cnkiLCJ1bmRlZmluZWQiLCJpbnRlcmNlcHRpb25DYWNoZUtleSIsImludGVyY2VwdGlvbkRhdGEiLCJnZXQiLCJwcmVmZXRjaENhY2hlS2V5IiwicHJlZmV0Y2hEYXRhIiwic3RhdHVzIiwiZ2V0UHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzIiwic3dpdGNoZWRUb0Z1bGxQcmVmZXRjaCIsIlByZWZldGNoS2luZCIsIkZVTEwiLCJjcmVhdGVMYXp5UHJlZmV0Y2hFbnRyeSIsIlRFTVBPUkFSWSIsInByb2Nlc3MiLCJBVVRPIiwicHJlZml4RXhpc3RpbmdQcmVmZXRjaENhY2hlRW50cnkiLCJleGlzdGluZ0NhY2hlS2V5IiwibmV3Q2FjaGVLZXkiLCJzZXQiLCJkZWxldGUiLCJkYXRhIiwiaW50ZXJjZXB0IiwicHJlZmV0Y2hFbnRyeSIsInRyZWVBdFRpbWVPZlByZWZldGNoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcmVmZXRjaFRpbWUiLCJEYXRlIiwibm93IiwibGFzdFVzZWRUaW1lIiwia2V5IiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwiZnJlc2giLCJwcmVmZXRjaFF1ZXVlIiwiZW5xdWV1ZSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJ0aGVuIiwicHJlZmV0Y2hSZXNwb25zZSIsImludGVyY2VwdGVkIiwiaHJlZiIsInByZWZldGNoQ2FjaGVFbnRyeSIsImV4cGlyZWQiLCJEWU5BTUlDX1NUQUxFVElNRV9NUyIsIk51bWJlciIsImVudiIsIl9fTkVYVF9DTElFTlRfUk9VVEVSX0RZTkFNSUNfU1RBTEVUSU1FIiwiU1RBVElDX1NUQUxFVElNRV9NUyIsIl9fTkVYVF9DTElFTlRfUk9VVEVSX1NUQVRJQ19TVEFMRVRJTUUiLCJyZXVzYWJsZSIsInN0YWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js": -/*!**************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js ***! - \**************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fastRefreshReducer\", ({\n enumerable: true,\n get: function() {\n return fastRefreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./has-interception-route-in-current-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\n// A version of refresh reducer that keeps the cache around instead of wiping all of it.\nfunction fastRefreshReducerImpl(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // If the current tree was intercepted, the nextUrl should be included in the request.\n // This is to ensure that the refresh request doesn't get intercepted, accidentally triggering the interception route.\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(state.tree);\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [\n state.tree[0],\n state.tree[1],\n state.tree[2],\n \"refetch\"\n ], includeNextUrl ? state.nextUrl : null, state.buildId);\n return cache.lazyData.then((param)=>{\n let [flightData, canonicalUrlOverride] = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"REFRESH FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n \"\"\n ], currentTree, treePatch, state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath);\n if (applied) {\n mutable.cache = cache;\n currentCache = cache;\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nfunction fastRefreshReducerNoop(state, _action) {\n return state;\n}\nconst fastRefreshReducer = false ? 0 : fastRefreshReducerImpl;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fast-refresh-reducer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZmFzdC1yZWZyZXNoLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6Ijs7OztzREE0SGFBOzs7ZUFBQUE7OztpREE1SHVCOytDQUNGO3lEQUNVO3lEQUNBOzZDQU9WOzJDQUNKOzZDQUNFO3VDQUVLO21EQUNDOytEQUNZO0FBRWxELHdGQUF3RjtBQUN4RixTQUFTQyx1QkFDUEMsS0FBMkIsRUFDM0JDLE1BQXlCO0lBRXpCLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdEO0lBQ25CLE1BQU1FLFVBQW1CLENBQUM7SUFDMUIsTUFBTUMsT0FBT0osTUFBTUssWUFBWTtJQUUvQkYsUUFBUUcsMEJBQTBCLEdBQUc7SUFFckMsTUFBTUMsUUFBbUJDLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQjtJQUM3QyxzRkFBc0Y7SUFDdEYsc0hBQXNIO0lBQ3RILE1BQU1DLGlCQUFpQkMsQ0FBQUEsR0FBQUEsbUNBQUFBLGlDQUFpQyxFQUFDVixNQUFNVyxJQUFJO0lBRW5FLHVEQUF1RDtJQUN2RCx3Q0FBd0M7SUFDeENKLE1BQU1LLFFBQVEsR0FBR0MsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUNsQyxJQUFJQyxJQUFJVixNQUFNRixTQUNkO1FBQUNGLE1BQU1XLElBQUksQ0FBQyxFQUFFO1FBQUVYLE1BQU1XLElBQUksQ0FBQyxFQUFFO1FBQUVYLE1BQU1XLElBQUksQ0FBQyxFQUFFO1FBQUU7S0FBVSxFQUN4REYsaUJBQWlCVCxNQUFNZSxPQUFPLEdBQUcsTUFDakNmLE1BQU1nQixPQUFPO0lBR2YsT0FBT1QsTUFBTUssUUFBUSxDQUFDSyxJQUFJLENBQ3hCLENBQUFDO1lBQUMsQ0FBQ0MsWUFBWUMscUJBQXFCLEdBQUFGO1FBQ2pDLDREQUE0RDtRQUM1RCxJQUFJLE9BQU9DLGVBQWUsVUFBVTtZQUNsQyxPQUFPRSxDQUFBQSxHQUFBQSxpQkFBQUEsaUJBQWlCLEVBQ3RCckIsT0FDQUcsU0FDQWdCLFlBQ0FuQixNQUFNc0IsT0FBTyxDQUFDQyxXQUFXO1FBRTdCO1FBRUEsK0RBQStEO1FBQy9EaEIsTUFBTUssUUFBUSxHQUFHO1FBRWpCLElBQUlZLGNBQWN4QixNQUFNVyxJQUFJO1FBQzVCLElBQUljLGVBQWV6QixNQUFNTyxLQUFLO1FBRTlCLEtBQUssTUFBTW1CLGtCQUFrQlAsV0FBWTtZQUN2QyxvRkFBb0Y7WUFDcEYsSUFBSU8sZUFBZUMsTUFBTSxLQUFLLEdBQUc7Z0JBQy9CLG9DQUFvQztnQkFDcENDLFFBQVFDLEdBQUcsQ0FBQztnQkFDWixPQUFPN0I7WUFDVDtZQUVBLG1HQUFtRztZQUNuRyxNQUFNLENBQUM4QixVQUFVLEdBQUdKO1lBQ3BCLE1BQU1LLFVBQVVDLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBMkIsRUFFekM7Z0JBQUM7YUFBRyxFQUNKUixhQUNBTSxXQUNBOUIsTUFBTUssWUFBWTtZQUdwQixJQUFJMEIsWUFBWSxNQUFNO2dCQUNwQixPQUFPRSxDQUFBQSxHQUFBQSx1QkFBQUEscUJBQXFCLEVBQUNqQyxPQUFPQyxRQUFRNkI7WUFDOUM7WUFFQSxJQUFJSSxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQUNWLGFBQWFPLFVBQVU7Z0JBQ3JELE9BQU9WLENBQUFBLEdBQUFBLGlCQUFBQSxpQkFBaUIsRUFDdEJyQixPQUNBRyxTQUNBQyxNQUNBSixNQUFNc0IsT0FBTyxDQUFDQyxXQUFXO1lBRTdCO1lBRUEsTUFBTVksMkJBQTJCZix1QkFDN0JnQixDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUNoQix3QkFDbEJpQjtZQUVKLElBQUlqQixzQkFBc0I7Z0JBQ3hCakIsUUFBUUUsWUFBWSxHQUFHOEI7WUFDekI7WUFDQSxNQUFNRyxVQUFVQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDZCxjQUFjbEIsT0FBT21CO1lBRXJELElBQUlZLFNBQVM7Z0JBQ1huQyxRQUFRSSxLQUFLLEdBQUdBO2dCQUNoQmtCLGVBQWVsQjtZQUNqQjtZQUVBSixRQUFRcUMsV0FBVyxHQUFHVDtZQUN0QjVCLFFBQVFFLFlBQVksR0FBR0Q7WUFFdkJvQixjQUFjTztRQUNoQjtRQUNBLE9BQU9VLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ3pDLE9BQU9HO0lBQzlCLEdBQ0EsSUFBTUg7QUFFVjtBQUVBLFNBQVMwQyx1QkFDUDFDLEtBQTJCLEVBQzNCMkMsT0FBMEI7SUFFMUIsT0FBTzNDO0FBQ1Q7QUFFTyxNQUFNRixxQkFDWDhDLE1BQXlCLEdBQ3JCRixDQUFBQSxHQUNBM0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9mYXN0LXJlZnJlc2gtcmVkdWNlci50cz9lNWJiIl0sIm5hbWVzIjpbImZhc3RSZWZyZXNoUmVkdWNlciIsImZhc3RSZWZyZXNoUmVkdWNlckltcGwiLCJzdGF0ZSIsImFjdGlvbiIsIm9yaWdpbiIsIm11dGFibGUiLCJocmVmIiwiY2Fub25pY2FsVXJsIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJjYWNoZSIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwiaW5jbHVkZU5leHRVcmwiLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLCJ0cmVlIiwibGF6eURhdGEiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwiVVJMIiwibmV4dFVybCIsImJ1aWxkSWQiLCJ0aGVuIiwicGFyYW0iLCJmbGlnaHREYXRhIiwiY2Fub25pY2FsVXJsT3ZlcnJpZGUiLCJoYW5kbGVFeHRlcm5hbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsImN1cnJlbnRUcmVlIiwiY3VycmVudENhY2hlIiwiZmxpZ2h0RGF0YVBhdGgiLCJsZW5ndGgiLCJjb25zb2xlIiwibG9nIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSIsImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidW5kZWZpbmVkIiwiYXBwbGllZCIsImFwcGx5RmxpZ2h0RGF0YSIsInBhdGNoZWRUcmVlIiwiaGFuZGxlTXV0YWJsZSIsImZhc3RSZWZyZXNoUmVkdWNlck5vb3AiLCJfYWN0aW9uIiwicHJvY2VzcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js ***! - \************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"findHeadInCache\", ({\n enumerable: true,\n get: function() {\n return findHeadInCache;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ../create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction findHeadInCache(cache, parallelRoutes) {\n return findHeadInCacheImpl(cache, parallelRoutes, \"\");\n}\nfunction findHeadInCacheImpl(cache, parallelRoutes, keyPrefix) {\n const isLastItem = Object.keys(parallelRoutes).length === 0;\n if (isLastItem) {\n // Returns the entire Cache Node of the segment whose head we will render.\n return [\n cache,\n keyPrefix\n ];\n }\n for(const key in parallelRoutes){\n const [segment, childParallelRoutes] = parallelRoutes[key];\n const childSegmentMap = cache.parallelRoutes.get(key);\n if (!childSegmentMap) {\n continue;\n }\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const cacheNode = childSegmentMap.get(cacheKey);\n if (!cacheNode) {\n continue;\n }\n const item = findHeadInCacheImpl(cacheNode, childParallelRoutes, keyPrefix + \"/\" + cacheKey);\n if (item) {\n return item;\n }\n }\n return null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=find-head-in-cache.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZmluZC1oZWFkLWluLWNhY2hlLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBSWdCQTs7O2VBQUFBOzs7a0RBRnFCO0FBRTlCLFNBQVNBLGdCQUNkQyxLQUFnQixFQUNoQkMsY0FBb0M7SUFFcEMsT0FBT0Msb0JBQW9CRixPQUFPQyxnQkFBZ0I7QUFDcEQ7QUFFQSxTQUFTQyxvQkFDUEYsS0FBZ0IsRUFDaEJDLGNBQW9DLEVBQ3BDRSxTQUFpQjtJQUVqQixNQUFNQyxhQUFhQyxPQUFPQyxJQUFJLENBQUNMLGdCQUFnQk0sTUFBTSxLQUFLO0lBQzFELElBQUlILFlBQVk7UUFDZCwwRUFBMEU7UUFDMUUsT0FBTztZQUFDSjtZQUFPRztTQUFVO0lBQzNCO0lBQ0EsSUFBSyxNQUFNSyxPQUFPUCxlQUFnQjtRQUNoQyxNQUFNLENBQUNRLFNBQVNDLG9CQUFvQixHQUFHVCxjQUFjLENBQUNPLElBQUk7UUFDMUQsTUFBTUcsa0JBQWtCWCxNQUFNQyxjQUFjLENBQUNXLEdBQUcsQ0FBQ0o7UUFDakQsSUFBSSxDQUFDRyxpQkFBaUI7WUFDcEI7UUFDRjtRQUVBLE1BQU1FLFdBQVdDLENBQUFBLEdBQUFBLHNCQUFBQSxvQkFBb0IsRUFBQ0w7UUFFdEMsTUFBTU0sWUFBWUosZ0JBQWdCQyxHQUFHLENBQUNDO1FBQ3RDLElBQUksQ0FBQ0UsV0FBVztZQUNkO1FBQ0Y7UUFFQSxNQUFNQyxPQUFPZCxvQkFDWGEsV0FDQUwscUJBQ0FQLFlBQVksTUFBTVU7UUFFcEIsSUFBSUcsTUFBTTtZQUNSLE9BQU9BO1FBQ1Q7SUFDRjtJQUVBLE9BQU87QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2ZpbmQtaGVhZC1pbi1jYWNoZS50cz84YmNkIl0sIm5hbWVzIjpbImZpbmRIZWFkSW5DYWNoZSIsImNhY2hlIiwicGFyYWxsZWxSb3V0ZXMiLCJmaW5kSGVhZEluQ2FjaGVJbXBsIiwia2V5UHJlZml4IiwiaXNMYXN0SXRlbSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJrZXkiLCJzZWdtZW50IiwiY2hpbGRQYXJhbGxlbFJvdXRlcyIsImNoaWxkU2VnbWVudE1hcCIsImdldCIsImNhY2hlS2V5IiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJjYWNoZU5vZGUiLCJpdGVtIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js ***! - \***********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentValue\", ({\n enumerable: true,\n get: function() {\n return getSegmentValue;\n }\n}));\nfunction getSegmentValue(segment) {\n return Array.isArray(segment) ? segment[1] : segment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-segment-value.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWUuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFFZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGdCQUFnQkMsT0FBZ0I7SUFDOUMsT0FBT0MsTUFBTUMsT0FBTyxDQUFDRixXQUFXQSxPQUFPLENBQUMsRUFBRSxHQUFHQTtBQUMvQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlLnRzP2FiOGEiXSwibmFtZXMiOlsiZ2V0U2VnbWVudFZhbHVlIiwic2VnbWVudCIsIkFycmF5IiwiaXNBcnJheSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js": -/*!********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js ***! - \********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasInterceptionRouteInCurrentTree\", ({\n enumerable: true,\n get: function() {\n return hasInterceptionRouteInCurrentTree;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nfunction hasInterceptionRouteInCurrentTree(param) {\n let [segment, parallelRoutes] = param;\n // If we have a dynamic segment, it's marked as an interception route by the presence of the `i` suffix.\n if (Array.isArray(segment) && (segment[2] === \"di\" || segment[2] === \"ci\")) {\n return true;\n }\n // If segment is not an array, apply the existing string-based check\n if (typeof segment === \"string\" && (0, _interceptionroutes.isInterceptionRouteAppPath)(segment)) {\n return true;\n }\n // Iterate through parallelRoutes if they exist\n if (parallelRoutes) {\n for(const key in parallelRoutes){\n if (hasInterceptionRouteInCurrentTree(parallelRoutes[key])) {\n return true;\n }\n }\n }\n return false;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-interception-route-in-current-tree.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvaGFzLWludGVyY2VwdGlvbi1yb3V0ZS1pbi1jdXJyZW50LXRyZWUuanMiLCJtYXBwaW5ncyI6Ijs7OztxRUFHZ0JBOzs7ZUFBQUE7OztnREFGMkI7QUFFcEMsU0FBU0Esa0NBQWtDQyxLQUc5QjtJQUg4QixLQUNoREMsU0FDQUMsZUFDa0IsR0FIOEJGO0lBSWhELHdHQUF3RztJQUN4RyxJQUFJRyxNQUFNQyxPQUFPLENBQUNILFlBQWFBLENBQUFBLE9BQU8sQ0FBQyxFQUFFLEtBQUssUUFBUUEsT0FBTyxDQUFDLEVBQUUsS0FBSyxPQUFPO1FBQzFFLE9BQU87SUFDVDtJQUVBLG9FQUFvRTtJQUNwRSxJQUFJLE9BQU9BLFlBQVksWUFBWUksQ0FBQUEsR0FBQUEsb0JBQUFBLDBCQUEwQixFQUFDSixVQUFVO1FBQ3RFLE9BQU87SUFDVDtJQUVBLCtDQUErQztJQUMvQyxJQUFJQyxnQkFBZ0I7UUFDbEIsSUFBSyxNQUFNSSxPQUFPSixlQUFnQjtZQUNoQyxJQUFJSCxrQ0FBa0NHLGNBQWMsQ0FBQ0ksSUFBSSxHQUFHO2dCQUMxRCxPQUFPO1lBQ1Q7UUFDRjtJQUNGO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvaGFzLWludGVyY2VwdGlvbi1yb3V0ZS1pbi1jdXJyZW50LXRyZWUudHM/ZGZjNiJdLCJuYW1lcyI6WyJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLCJwYXJhbSIsInNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlcyIsIkFycmF5IiwiaXNBcnJheSIsImlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIiwia2V5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js ***! - \**********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n handleExternalUrl: function() {\n return handleExternalUrl;\n },\n navigateReducer: function() {\n return navigateReducer;\n }\n});\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _invalidatecachebelowflightsegmentpath = __webpack_require__(/*! ../invalidate-cache-below-flight-segmentpath */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _shouldhardnavigate = __webpack_require__(/*! ../should-hard-navigate */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./prefetch-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _segment = __webpack_require__(/*! ../../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ../prefetch-cache-utils */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst _clearcachenodedataforsegmentpath = __webpack_require__(/*! ../clear-cache-node-data-for-segment-path */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js\");\nfunction handleExternalUrl(state, mutable, url, pendingPush) {\n mutable.mpaNavigation = true;\n mutable.canonicalUrl = url;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = undefined;\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nfunction generateSegmentsFromPatch(flightRouterPatch) {\n const segments = [];\n const [segment, parallelRoutes] = flightRouterPatch;\n if (Object.keys(parallelRoutes).length === 0) {\n return [\n [\n segment\n ]\n ];\n }\n for (const [parallelRouteKey, parallelRoute] of Object.entries(parallelRoutes)){\n for (const childSegment of generateSegmentsFromPatch(parallelRoute)){\n // If the segment is empty, it means we are at the root of the tree\n if (segment === \"\") {\n segments.push([\n parallelRouteKey,\n ...childSegment\n ]);\n } else {\n segments.push([\n segment,\n parallelRouteKey,\n ...childSegment\n ]);\n }\n }\n }\n return segments;\n}\nfunction triggerLazyFetchForLeafSegments(newCache, currentCache, flightSegmentPath, treePatch) {\n let appliedPatch = false;\n newCache.rsc = currentCache.rsc;\n newCache.prefetchRsc = currentCache.prefetchRsc;\n newCache.loading = currentCache.loading;\n newCache.parallelRoutes = new Map(currentCache.parallelRoutes);\n const segmentPathsToFill = generateSegmentsFromPatch(treePatch).map((segment)=>[\n ...flightSegmentPath,\n ...segment\n ]);\n for (const segmentPaths of segmentPathsToFill){\n (0, _clearcachenodedataforsegmentpath.clearCacheNodeDataForSegmentPath)(newCache, currentCache, segmentPaths);\n appliedPatch = true;\n }\n return appliedPatch;\n}\nconst navigateReducer = false ? 0 : navigateReducer_noPPR;\n// This is the implementation when PPR is disabled. We can assume its behavior\n// is relatively stable because it's been running in production for a while.\nfunction navigateReducer_noPPR(state, action) {\n const { url, isExternalUrl, navigateType, shouldScroll } = action;\n const mutable = {};\n const { hash } = url;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const pendingPush = navigateType === \"push\";\n // we want to prune the prefetch cache on every navigation to avoid it growing too large\n (0, _prefetchcacheutils.prunePrefetchCache)(state.prefetchCache);\n mutable.preserveCustomHistoryState = false;\n if (isExternalUrl) {\n return handleExternalUrl(state, mutable, url.toString(), pendingPush);\n }\n const prefetchValues = (0, _prefetchcacheutils.getOrCreatePrefetchCacheEntry)({\n url,\n nextUrl: state.nextUrl,\n tree: state.tree,\n buildId: state.buildId,\n prefetchCache: state.prefetchCache\n });\n const { treeAtTimeOfPrefetch, data } = prefetchValues;\n _prefetchreducer.prefetchQueue.bump(data);\n return data.then((param)=>{\n let [flightData, canonicalUrlOverride] = param;\n let isFirstRead = false;\n // we only want to mark this once\n if (!prefetchValues.lastUsedTime) {\n // important: we should only mark the cache node as dirty after we unsuspend from the call above\n prefetchValues.lastUsedTime = Date.now();\n isFirstRead = true;\n }\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return handleExternalUrl(state, mutable, flightData, pendingPush);\n }\n // Handles case where `<meta http-equiv=\"refresh\">` tag is present,\n // which will trigger an MPA navigation.\n if (document.getElementById(\"__next-page-redirect\")) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n let currentTree = state.tree;\n const currentCache = state.cache;\n let scrollableSegments = [];\n for (const flightDataPath of flightData){\n const flightSegmentPath = flightDataPath.slice(0, -4);\n // The one before last item is the router state tree patch\n const treePatch = flightDataPath.slice(-3)[0];\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n \"\",\n ...flightSegmentPath\n ];\n // Create new tree based on the flightSegmentPath and router state patch\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch, href);\n // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch\n // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch.\n if (newTree === null) {\n newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch, href);\n }\n if (newTree !== null) {\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n let applied = false;\n if (prefetchValues.status === _routerreducertypes.PrefetchCacheEntryStatus.stale && !isFirstRead) {\n // When we have a stale prefetch entry, we only want to re-use the loading state of the route we're navigating to, to support instant loading navigations\n // this will trigger a lazy fetch for the actual page data by nulling the `rsc` and `prefetchRsc` values for page data,\n // while copying over the `loading` for the segment that contains the page data.\n // We only do this on subsequent reads, as otherwise there'd be no loading data to re-use.\n applied = triggerLazyFetchForLeafSegments(cache, currentCache, flightSegmentPath, treePatch);\n // since we re-used the stale cache's loading state & refreshed the data,\n // update the `lastUsedTime` so that it can continue to be re-used for the next 30s\n prefetchValues.lastUsedTime = Date.now();\n } else {\n applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, prefetchValues);\n }\n const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree);\n if (hardNavigate) {\n // Copy rsc for the root node of the cache.\n cache.rsc = currentCache.rsc;\n cache.prefetchRsc = currentCache.prefetchRsc;\n (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath);\n // Ensure the existing cache value is used when the cache was not invalidated.\n mutable.cache = cache;\n } else if (applied) {\n mutable.cache = cache;\n }\n currentTree = newTree;\n for (const subSegment of generateSegmentsFromPatch(treePatch)){\n const scrollableSegmentPath = [\n ...flightSegmentPath,\n ...subSegment\n ];\n // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case.\n if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) {\n scrollableSegments.push(scrollableSegmentPath);\n }\n }\n }\n }\n mutable.patchedTree = currentTree;\n mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = scrollableSegments;\n mutable.hashFragment = hash;\n mutable.shouldScroll = shouldScroll;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\n// This is the experimental PPR implementation. It's closer to the behavior we\n// want, but is likelier to include accidental regressions because it rewrites\n// existing functionality.\nfunction navigateReducer_PPR(state, action) {\n const { url, isExternalUrl, navigateType, shouldScroll } = action;\n const mutable = {};\n const { hash } = url;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const pendingPush = navigateType === \"push\";\n // we want to prune the prefetch cache on every navigation to avoid it growing too large\n (0, _prefetchcacheutils.prunePrefetchCache)(state.prefetchCache);\n mutable.preserveCustomHistoryState = false;\n if (isExternalUrl) {\n return handleExternalUrl(state, mutable, url.toString(), pendingPush);\n }\n const prefetchValues = (0, _prefetchcacheutils.getOrCreatePrefetchCacheEntry)({\n url,\n nextUrl: state.nextUrl,\n tree: state.tree,\n buildId: state.buildId,\n prefetchCache: state.prefetchCache\n });\n const { treeAtTimeOfPrefetch, data } = prefetchValues;\n _prefetchreducer.prefetchQueue.bump(data);\n return data.then((param)=>{\n let [flightData, canonicalUrlOverride, _postponed] = param;\n let isFirstRead = false;\n // we only want to mark this once\n if (!prefetchValues.lastUsedTime) {\n // important: we should only mark the cache node as dirty after we unsuspend from the call above\n prefetchValues.lastUsedTime = Date.now();\n isFirstRead = true;\n }\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return handleExternalUrl(state, mutable, flightData, pendingPush);\n }\n // Handles case where `<meta http-equiv=\"refresh\">` tag is present,\n // which will trigger an MPA navigation.\n if (document.getElementById(\"__next-page-redirect\")) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n let currentTree = state.tree;\n const currentCache = state.cache;\n let scrollableSegments = [];\n // TODO: In practice, this is always a single item array. We probably\n // aren't going to every send multiple segments, at least not in this\n // format. So we could remove the extra wrapper for now until\n // that settles.\n for (const flightDataPath of flightData){\n const flightSegmentPath = flightDataPath.slice(0, -4);\n // The one before last item is the router state tree patch\n const treePatch = flightDataPath.slice(-3)[0];\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n \"\",\n ...flightSegmentPath\n ];\n // Create new tree based on the flightSegmentPath and router state patch\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch, href);\n // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch\n // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch.\n if (newTree === null) {\n newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch, href);\n }\n if (newTree !== null) {\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n if (// will always send back a static response that's rendered from\n // the root. If for some reason it doesn't, we fall back to the\n // non-PPR implementation.\n // TODO: We should get rid of the else branch and do all navigations\n // via updateCacheNodeOnNavigation. The current structure is just\n // an incremental step.\n flightDataPath.length === 3) {\n const prefetchedTree = flightDataPath[0];\n const seedData = flightDataPath[1];\n const head = flightDataPath[2];\n const task = (0, _pprnavigations.updateCacheNodeOnNavigation)(currentCache, currentTree, prefetchedTree, seedData, head);\n if (task !== null && task.node !== null) {\n // We've created a new Cache Node tree that contains a prefetched\n // version of the next page. This can be rendered instantly.\n // Use the tree computed by updateCacheNodeOnNavigation instead\n // of the one computed by applyRouterStatePatchToTree.\n // TODO: We should remove applyRouterStatePatchToTree\n // from the PPR path entirely.\n const patchedRouterState = task.route;\n newTree = patchedRouterState;\n const newCache = task.node;\n // The prefetched tree has dynamic holes in it. We initiate a\n // dynamic request to fill them in.\n //\n // Do not block on the result. We'll immediately render the Cache\n // Node tree and suspend on the dynamic parts. When the request\n // comes in, we'll fill in missing data and ping React to\n // re-render. Unlike the lazy fetching model in the non-PPR\n // implementation, this is modeled as a single React update +\n // streaming, rather than multiple top-level updates. (However,\n // even in the new model, we'll still need to sometimes update the\n // root multiple times per navigation, like if the server sends us\n // a different response than we expected. For now, we revert back\n // to the lazy fetching mechanism in that case.)\n (0, _pprnavigations.listenForDynamicRequest)(task, (0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId));\n mutable.cache = newCache;\n } else {\n // Nothing changed, so reuse the old cache.\n // TODO: What if the head changed but not any of the segment data?\n // Is that possible? If so, we should clone the whole tree and\n // update the head.\n newTree = prefetchedTree;\n }\n } else {\n // The static response does not include any dynamic holes, so\n // there's no need to do a second request.\n // TODO: As an incremental step this just reverts back to the\n // non-PPR implementation. We can simplify this branch further,\n // given that PPR prefetches are always static and return the whole\n // tree. Or in the meantime we could factor it out into a\n // separate function.\n const cache = (0, _approuter.createEmptyCacheNode)();\n let applied = false;\n if (prefetchValues.status === _routerreducertypes.PrefetchCacheEntryStatus.stale && !isFirstRead) {\n // When we have a stale prefetch entry, we only want to re-use the loading state of the route we're navigating to, to support instant loading navigations\n // this will trigger a lazy fetch for the actual page data by nulling the `rsc` and `prefetchRsc` values for page data,\n // while copying over the `loading` for the segment that contains the page data.\n // We only do this on subsequent reads, as otherwise there'd be no loading data to re-use.\n applied = triggerLazyFetchForLeafSegments(cache, currentCache, flightSegmentPath, treePatch);\n // since we re-used the stale cache's loading state & refreshed the data,\n // update the `lastUsedTime` so that it can continue to be re-used for the next 30s\n prefetchValues.lastUsedTime = Date.now();\n } else {\n applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, prefetchValues);\n }\n const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree);\n if (hardNavigate) {\n // Copy rsc for the root node of the cache.\n cache.rsc = currentCache.rsc;\n cache.prefetchRsc = currentCache.prefetchRsc;\n (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath);\n // Ensure the existing cache value is used when the cache was not invalidated.\n mutable.cache = cache;\n } else if (applied) {\n mutable.cache = cache;\n }\n }\n currentTree = newTree;\n for (const subSegment of generateSegmentsFromPatch(treePatch)){\n const scrollableSegmentPath = [\n ...flightSegmentPath,\n ...subSegment\n ];\n // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case.\n if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) {\n scrollableSegments.push(scrollableSegmentPath);\n }\n }\n }\n }\n mutable.patchedTree = currentTree;\n mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = scrollableSegments;\n mutable.hashFragment = hash;\n mutable.shouldScroll = shouldScroll;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigate-reducer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvbmF2aWdhdGUtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ2dCQSxtQkFBaUI7ZUFBakJBOztJQXFFSEMsaUJBQWU7ZUFBZkE7OztpREFqR3VCOytDQUNGO21FQUNvQjt5REFDVjtnREFDVDt5REFDUztnREFPckM7MkNBQ3VCOzZDQUNFOzZDQUNGO3VDQUNPO3FDQUNEOzRDQUk3QjtnREFJQTs4REFDMEM7QUFFMUMsU0FBU0Qsa0JBQ2RFLEtBQTJCLEVBQzNCQyxPQUFnQixFQUNoQkMsR0FBVyxFQUNYQyxXQUFvQjtJQUVwQkYsUUFBUUcsYUFBYSxHQUFHO0lBQ3hCSCxRQUFRSSxZQUFZLEdBQUdIO0lBQ3ZCRCxRQUFRRSxXQUFXLEdBQUdBO0lBQ3RCRixRQUFRSyxrQkFBa0IsR0FBR0M7SUFFN0IsT0FBT0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDUixPQUFPQztBQUM5QjtBQUVBLFNBQVNRLDBCQUNQQyxpQkFBb0M7SUFFcEMsTUFBTUMsV0FBZ0MsRUFBRTtJQUN4QyxNQUFNLENBQUNDLFNBQVNDLGVBQWUsR0FBR0g7SUFFbEMsSUFBSUksT0FBT0MsSUFBSSxDQUFDRixnQkFBZ0JHLE1BQU0sS0FBSyxHQUFHO1FBQzVDLE9BQU87WUFBQztnQkFBQ0o7YUFBUTtTQUFDO0lBQ3BCO0lBRUEsS0FBSyxNQUFNLENBQUNLLGtCQUFrQkMsY0FBYyxJQUFJSixPQUFPSyxPQUFPLENBQzVETixnQkFDQztRQUNELEtBQUssTUFBTU8sZ0JBQWdCWCwwQkFBMEJTLGVBQWdCO1lBQ25FLG1FQUFtRTtZQUNuRSxJQUFJTixZQUFZLElBQUk7Z0JBQ2xCRCxTQUFTVSxJQUFJLENBQUM7b0JBQUNKO3VCQUFxQkc7aUJBQWE7WUFDbkQsT0FBTztnQkFDTFQsU0FBU1UsSUFBSSxDQUFDO29CQUFD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Q0Y7UUFFQXhGLFFBQVEwRixXQUFXLEdBQUdwQjtRQUN0QnRFLFFBQVFJLFlBQVksR0FBRzJELHVCQUNuQmpCLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBaUIsRUFBQ2lCLHdCQUNsQmxCO1FBQ0o3QyxRQUFRRSxXQUFXLEdBQUdBO1FBQ3RCRixRQUFRSyxrQkFBa0IsR0FBR0E7UUFDN0JMLFFBQVEyRixZQUFZLEdBQUcvQztRQUN2QjVDLFFBQVEyQyxZQUFZLEdBQUdBO1FBRXZCLE9BQU9wQyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNSLE9BQU9DO0lBQzlCLEdBQ0EsSUFBTUQ7QUFFViIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL25hdmlnYXRlLXJlZHVjZXIudHM/MWZlYiJdLCJuYW1lcyI6WyJoYW5kbGVFeHRlcm5hbFVybCIsIm5hdmlnYXRlUmVkdWNlciIsInN0YXRlIiwibXV0YWJsZSIsInVybCIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsImNhbm9uaWNhbFVybCIsInNjcm9sbGFibGVTZWdtZW50cyIsInVuZGVmaW5lZCIsImhhbmRsZU11dGFibGUiLCJnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoIiwiZmxpZ2h0Um91dGVyUGF0Y2giLCJzZWdtZW50cyIsInNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlcyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlS2V5IiwicGFyYWxsZWxSb3V0ZSIsImVudHJpZXMiLCJjaGlsZFNlZ21lbnQiLCJwdXNoIiwidHJpZ2dlckxhenlGZXRjaEZvckxlYWZTZWdtZW50cyIsIm5ld0NhY2hlIiwiY3VycmVudENhY2hlIiwiZmxpZ2h0U2VnbWVudFBhdGgiLCJ0cmVlUGF0Y2giLCJhcHBsaWVkUGF0Y2giLCJyc2MiLCJwcmVmZXRjaFJzYyIsImxvYWRpbmciLCJNYXAiLCJzZWdtZW50UGF0aHNUb0ZpbGwiLCJtYXAiLCJzZWdtZW50UGF0aHMiLCJjbGVhckNhY2hlTm9kZURhdGFGb3JTZWdtZW50UGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUFBSIiwibmF2aWdhdGVSZWR1Y2VyX1BQUiIsIm5hdmlnYXRlUmVkdWNlcl9ub1BQUiIsImFjdGlvbiIsImlzRXh0ZXJuYWxVcmwiLCJuYXZpZ2F0ZVR5cGUiLCJzaG91bGRTY3JvbGwiLCJoYXNoIiwiaHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwicHJ1bmVQcmVmZXRjaENhY2hlIiwicHJlZmV0Y2hDYWNoZSIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwidG9TdHJpbmciLCJwcmVmZXRjaFZhbHVlcyIsImdldE9yQ3JlYXRlUHJlZmV0Y2hDYWNoZUVudHJ5IiwibmV4dFVybCIsInRyZWUiLCJidWlsZElkIiwidHJlZUF0VGltZU9mUHJlZmV0Y2giLCJkYXRhIiwicHJlZmV0Y2hRdWV1ZSIsImJ1bXAiLCJ0aGVuIiwicGFyYW0iLCJmbGlnaHREYXRhIiwiY2Fub25pY2FsVXJsT3ZlcnJpZGUiLCJpc0ZpcnN0UmVhZCIsImxhc3RVc2VkVGltZSIsIkRhdGUiLCJub3ciLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY3VycmVudFRyZWUiLCJjYWNoZSIsImZsaWdodERhdGFQYXRoIiwic2xpY2UiLCJmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHkiLCJuZXdUcmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlIiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJhcHBsaWVkIiwic3RhdHVzIiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwic3RhbGUiLCJhcHBseUZsaWdodERhdGEiLCJoYXJkTmF2aWdhdGUiLCJzaG91bGRIYXJkTmF2aWdhdGUiLCJpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoIiwic3ViU2VnbWVudCIsInNjcm9sbGFibGVTZWdtZW50UGF0aCIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJwYXRjaGVkVHJlZSIsImhhc2hGcmFnbWVudCIsIl9wb3N0cG9uZWQiLCJwcmVmZXRjaGVkVHJlZSIsInNlZWREYXRhIiwiaGVhZCIsInRhc2siLCJ1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24iLCJub2RlIiwicGF0Y2hlZFJvdXRlclN0YXRlIiwicm91dGUiLCJsaXN0ZW5Gb3JEeW5hbWljUmVxdWVzdCIsImZldGNoU2VydmVyUmVzcG9uc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js ***! - \**********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n prefetchQueue: function() {\n return prefetchQueue;\n },\n prefetchReducer: function() {\n return prefetchReducer;\n }\n});\nconst _approuterheaders = __webpack_require__(/*! ../../app-router-headers */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _promisequeue = __webpack_require__(/*! ../../promise-queue */ \"(app-pages-browser)/./node_modules/next/dist/client/components/promise-queue.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ../prefetch-cache-utils */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst prefetchQueue = new _promisequeue.PromiseQueue(5);\nfunction prefetchReducer(state, action) {\n // let's prune the prefetch cache before we do anything else\n (0, _prefetchcacheutils.prunePrefetchCache)(state.prefetchCache);\n const { url } = action;\n url.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n (0, _prefetchcacheutils.getOrCreatePrefetchCacheEntry)({\n url,\n nextUrl: state.nextUrl,\n prefetchCache: state.prefetchCache,\n kind: action.kind,\n tree: state.tree,\n buildId: state.buildId\n });\n return state;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=prefetch-reducer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcHJlZmV0Y2gtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFZYUEsZUFBYTtlQUFiQTs7SUFFR0MsaUJBQWU7ZUFBZkE7Ozs4Q0FUcUI7MENBQ1I7Z0RBSXRCO0FBRUEsTUFBTUQsZ0JBQWdCLElBQUlFLGNBQUFBLFlBQVksQ0FBQztBQUV2QyxTQUFTRCxnQkFDZEUsS0FBMkIsRUFDM0JDLE1BQXNCO0lBRXRCLDREQUE0RDtJQUM1REMsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFrQixFQUFDRixNQUFNRyxhQUFhO0lBRXRDLE1BQU0sRUFBRUMsR0FBRyxFQUFFLEdBQUdIO0lBQ2hCRyxJQUFJQyxZQUFZLENBQUNDLE1BQU0sQ0FBQ0Msa0JBQUFBLG9CQUFvQjtJQUU1Q0MsQ0FBQUEsR0FBQUEsb0JBQUFBLDZCQUE2QixFQUFDO1FBQzVCSjtRQUNBSyxTQUFTVCxNQUFNUyxPQUFPO1FBQ3RCTixlQUFlSCxNQUFNRyxhQUFhO1FBQ2xDTyxNQUFNVCxPQUFPUyxJQUFJO1FBQ2pCQyxNQUFNWCxNQUFNVyxJQUFJO1FBQ2hCQyxTQUFTWixNQUFNWSxPQUFPO0lBQ3hCO0lBRUEsT0FBT1o7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3ByZWZldGNoLXJlZHVjZXIudHM/NDViZiJdLCJuYW1lcyI6WyJwcmVmZXRjaFF1ZXVlIiwicHJlZmV0Y2hSZWR1Y2VyIiwiUHJvbWlzZVF1ZXVlIiwic3RhdGUiLCJhY3Rpb24iLCJwcnVuZVByZWZldGNoQ2FjaGUiLCJwcmVmZXRjaENhY2hlIiwidXJsIiwic2VhcmNoUGFyYW1zIiwiZGVsZXRlIiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJnZXRPckNyZWF0ZVByZWZldGNoQ2FjaGVFbnRyeSIsIm5leHRVcmwiLCJraW5kIiwidHJlZSIsImJ1aWxkSWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js ***! - \*********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"refreshReducer\", ({\n enumerable: true,\n get: function() {\n return refreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./has-interception-route-in-current-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ../refetch-inactive-parallel-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\nfunction refreshReducer(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // If the current tree was intercepted, the nextUrl should be included in the request.\n // This is to ensure that the refresh request doesn't get intercepted, accidentally triggering the interception route.\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(state.tree);\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [\n currentTree[0],\n currentTree[1],\n currentTree[2],\n \"refetch\"\n ], includeNextUrl ? state.nextUrl : null, state.buildId);\n return cache.lazyData.then(async (param)=>{\n let [flightData, canonicalUrlOverride] = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"REFRESH FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n \"\"\n ], currentTree, treePatch, state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n // The one before last item is the router state tree patch\n const [cacheNodeSeedData, head] = flightDataPath.slice(-2);\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (cacheNodeSeedData !== null) {\n const rsc = cacheNodeSeedData[2];\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head);\n mutable.prefetchCache = new Map();\n }\n await (0, _refetchinactiveparallelsegments.refreshInactiveParallelSegments)({\n state,\n updatedTree: newTree,\n updatedCache: cache,\n includeNextUrl\n });\n mutable.cache = cache;\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=refresh-reducer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcmVmcmVzaC1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBbUJnQkE7OztlQUFBQTs7O2lEQW5Cb0I7K0NBQ0Y7eURBQ1U7eURBQ0E7NkNBT1Y7MkNBQ0o7MkRBRWdCO3VDQUNUO21EQUNDOytEQUNZOzZEQUNGO0FBRXpDLFNBQVNBLGVBQ2RDLEtBQTJCLEVBQzNCQyxNQUFxQjtJQUVyQixNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHRDtJQUNuQixNQUFNRSxVQUFtQixDQUFDO0lBQzFCLE1BQU1DLE9BQU9KLE1BQU1LLFlBQVk7SUFFL0IsSUFBSUMsY0FBY04sTUFBTU8sSUFBSTtJQUU1QkosUUFBUUssMEJBQTBCLEdBQUc7SUFFckMsTUFBTUMsUUFBbUJDLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQjtJQUU3QyxzRkFBc0Y7SUFDdEYsc0hBQXNIO0lBQ3RILE1BQU1DLGlCQUFpQkMsQ0FBQUEsR0FBQUEsbUNBQUFBLGlDQUFpQyxFQUFDWixNQUFNTyxJQUFJO0lBRW5FLHVEQUF1RDtJQUN2RCx3Q0FBd0M7SUFDeENFLE1BQU1JLFFBQVEsR0FBR0MsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUNsQyxJQUFJQyxJQUFJWCxNQUFNRixTQUNkO1FBQUNJLFdBQVcsQ0FBQyxFQUFFO1FBQUVBLFdBQVcsQ0FBQyxFQUFFO1FBQUVBLFdBQVcsQ0FBQyxFQUFFO1FBQUU7S0FBVSxFQUMzREssaUJBQWlCWCxNQUFNZ0IsT0FBTyxHQUFHLE1BQ2pDaEIsTUFBTWlCLE9BQU87SUFHZixPQUFPUixNQUFNSSxRQUFRLENBQUNLLElBQUksQ0FDeEIsT0FBQUM7WUFBTyxDQUFDQyxZQUFZQyxxQkFBcUIsR0FBQUY7UUFDdkMsNERBQTREO1FBQzVELElBQUksT0FBT0MsZUFBZSxVQUFVO1lBQ2xDLE9BQU9FLENBQUFBLEdBQUFBLGlCQUFBQSxpQkFBaUIsRUFDdEJ0QixPQUNBRyxTQUNBaUIsWUFDQXBCLE1BQU11QixPQUFPLENBQUNDLFdBQVc7UUFFN0I7UUFFQSwrREFBK0Q7UUFDL0RmLE1BQU1JLFFBQVEsR0FBRztRQUVqQixLQUFLLE1BQU1ZLGtCQUFrQkwsV0FBWTtZQUN2QyxvRkFBb0Y7WUFDcEYsSUFBSUssZUFBZUMsTUFBTSxLQUFLLEdBQUc7Z0JBQy9CLG9DQUFvQztnQkFDcENDLFFBQVFDLEdBQUcsQ0FBQztnQkFDWixPQUFPNUI7WUFDVDtZQUVBLG1HQUFtRztZQUNuRyxNQUFNLENBQUM2QixVQUFVLEdBQUdKO1lBQ3BCLE1BQU1LLFVBQVVDLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBMkIsRUFFekM7Z0JBQUM7YUFBRyxFQUNKekIsYUFDQXVCLFdBQ0E3QixNQUFNSyxZQUFZO1lBR3BCLElBQUl5QixZQUFZLE1BQU07Z0JBQ3BCLE9BQU9FLENBQUFBLEdBQUFBLHVCQUFBQSxxQkFBcUIsRUFBQ2hDLE9BQU9DLFFBQVE0QjtZQUM5QztZQUVBLElBQUlJLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBMkIsRUFBQzNCLGFBQWF3QixVQUFVO2dCQUNyRCxPQUFPUixDQUFBQSxHQUFBQSxpQkFBQUEsaUJBQWlCLEVBQ3RCdEIsT0FDQUcsU0FDQUMsTUFDQUosTUFBTXVCLE9BQU8sQ0FBQ0MsV0FBVztZQUU3QjtZQUVBLE1BQU1VLDJCQUEyQmIsdUJBQzdCYyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUNkLHdCQUNsQmU7WUFFSixJQUFJZixzQkFBc0I7Z0JBQ3hCbEIsUUFBUUUsWUFBWSxHQUFHNkI7WUFDekI7WUFFQSwwREFBMEQ7WUFDMUQsTUFBTSxDQUFDRyxtQkFBbUJDLEtBQUssR0FBR2IsZUFBZWMsS0FBSyxDQUFDLENBQUM7WUFFeEQsOEZBQThGO1lBQzlGLElBQUlGLHNCQUFzQixNQUFNO2dCQUM5QixNQUFNRyxNQUFNSCxpQkFBaUIsQ0FBQyxFQUFFO2dCQUNoQzVCLE1BQU0rQixHQUFHLEdBQUdBO2dCQUNaL0IsTUFBTWdDLFdBQVcsR0FBRztnQkFDcEJDLENBQUFBLEdBQUFBLCtCQUFBQSw2QkFBNkIsRUFDM0JqQyxPQUVBMkIsV0FDQVAsV0FDQVEsbUJBQ0FDO2dCQUVGbkMsUUFBUXdDLGFBQWEsR0FBRyxJQUFJQztZQUM5QjtZQUVBLE1BQU1DLENBQUFBLEdBQUFBLGlDQUFBQSwrQkFBK0IsRUFBQztnQkFDcEM3QztnQkFDQThDLGFBQWFoQjtnQkFDYmlCLGNBQWN0QztnQkFDZEU7WUFDRjtZQUVBUixRQUFRTSxLQUFLLEdBQUdBO1lBQ2hCTixRQUFRNkMsV0FBVyxHQUFHbEI7WUFDdEIzQixRQUFRRSxZQUFZLEdBQUdEO1lBRXZCRSxjQUFjd0I7UUFDaEI7UUFFQSxPQUFPbUIsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDakQsT0FBT0c7SUFDOUIsR0FDQSxJQUFNSDtBQUVWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcmVmcmVzaC1yZWR1Y2VyLnRzP2I1ZTciXSwibmFtZXMiOlsicmVmcmVzaFJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsIm9yaWdpbiIsIm11dGFibGUiLCJocmVmIiwiY2Fub25pY2FsVXJsIiwiY3VycmVudFRyZWUiLCJ0cmVlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJjYWNoZSIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwiaW5jbHVkZU5leHRVcmwiLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLCJsYXp5RGF0YSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJVUkwiLCJuZXh0VXJsIiwiYnVpbGRJZCIsInRoZW4iLCJwYXJhbSIsImZsaWdodERhdGEiLCJjYW5vbmljYWxVcmxPdmVycmlkZSIsImhhbmRsZUV4dGVybmFsVXJsIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwiZmxpZ2h0RGF0YVBhdGgiLCJsZW5ndGgiLCJjb25zb2xlIiwibG9nIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSIsImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidW5kZWZpbmVkIiwiY2FjaGVOb2RlU2VlZERhdGEiLCJoZWFkIiwic2xpY2UiLCJyc2MiLCJwcmVmZXRjaFJzYyIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwicHJlZmV0Y2hDYWNoZSIsIk1hcCIsInJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHMiLCJ1cGRhdGVkVHJlZSIsInVwZGF0ZWRDYWNoZSIsInBhdGNoZWRUcmVlIiwiaGFuZGxlTXV0YWJsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js ***! - \*********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"restoreReducer\", ({\n enumerable: true,\n get: function() {\n return restoreReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _computechangedpath = __webpack_require__(/*! ../compute-changed-path */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nfunction restoreReducer(state, action) {\n const { url, tree } = action;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n // This action is used to restore the router state from the history state.\n // However, it's possible that the history state no longer contains the `FlightRouterState`.\n // We will copy over the internal state on pushState/replaceState events, but if a history entry\n // occurred before hydration, or if the user navigated to a hash using a regular anchor link,\n // the history state will not contain the `FlightRouterState`.\n // In this case, we'll continue to use the existing tree so the router doesn't get into an invalid state.\n const treeToRestore = tree || state.tree;\n const oldCache = state.cache;\n const newCache = false ? // prevents an unnecessary flash back to PPR state during a\n // back/forward navigation.\n 0 : oldCache;\n var _extractPathFromFlightRouterState;\n return {\n buildId: state.buildId,\n // Set canonical url\n canonicalUrl: href,\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // Ensures that the custom history state that was set is preserved when applying this update.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: state.focusAndScrollRef,\n cache: newCache,\n prefetchCache: state.prefetchCache,\n // Restore provided tree\n tree: treeToRestore,\n nextUrl: (_extractPathFromFlightRouterState = (0, _computechangedpath.extractPathFromFlightRouterState)(treeToRestore)) != null ? _extractPathFromFlightRouterState : url.pathname\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=restore-reducer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcmVzdG9yZS1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBU2dCQTs7O2VBQUFBOzs7K0NBVGtCO2dEQU1lOzRDQUNJO0FBRTlDLFNBQVNBLGVBQ2RDLEtBQTJCLEVBQzNCQyxNQUFxQjtJQUVyQixNQUFNLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxFQUFFLEdBQUdGO0lBQ3RCLE1BQU1HLE9BQU9DLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBaUIsRUFBQ0g7SUFDL0IsMEVBQTBFO0lBQzFFLDRGQUE0RjtJQUM1RixnR0FBZ0c7SUFDaEcsNkZBQTZGO0lBQzdGLDhEQUE4RDtJQUM5RCx5R0FBeUc7SUFDekcsTUFBTUksZ0JBQWdCSCxRQUFRSCxNQUFNRyxJQUFJO0lBRXhDLE1BQU1JLFdBQVdQLE1BQU1RLEtBQUs7SUFDNUIsTUFBTUMsV0FBV0MsTUFBc0IsR0FLbkNHLDJEQUYyRDtJQUMzRCwyQkFBMkI7SUFDM0JBLENBQStDUCxHQUMvQ0M7UUFpQk9PO0lBZlgsT0FBTztRQUNMQyxTQUFTZixNQUFNZSxPQUFPO1FBQ3RCLG9CQUFvQjtRQUNwQkMsY0FBY1o7UUFDZGEsU0FBUztZQUNQQyxhQUFhO1lBQ2JDLGVBQWU7WUFDZiw2RkFBNkY7WUFDN0ZDLDRCQUE0QjtRQUM5QjtRQUNBQyxtQkFBbUJyQixNQUFNcUIsaUJBQWlCO1FBQzFDYixPQUFPQztRQUNQYSxlQUFldEIsTUFBTXNCLGFBQWE7UUFDbEMsd0JBQXdCO1FBQ3hCbkIsTUFBTUc7UUFDTmlCLFNBQVNULENBQUFBLG9DQUFBQSxDQUFBQSxHQUFBQSxvQkFBQUEsZ0NBQWdDLEVBQUNSLGNBQUFBLEtBQUFBLE9BQWpDUSxvQ0FBbURaLElBQUlzQixRQUFRO0lBQzFFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9yZXN0b3JlLXJlZHVjZXIudHM/YWU1NiJdLCJuYW1lcyI6WyJyZXN0b3JlUmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwidXJsIiwidHJlZSIsImhyZWYiLCJjcmVhdGVIcmVmRnJvbVVybCIsInRyZWVUb1Jlc3RvcmUiLCJvbGRDYWNoZSIsImNhY2hlIiwibmV3Q2FjaGUiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1BQUiIsInVwZGF0ZUNhY2hlTm9kZU9uUG9wc3RhdGVSZXN0b3JhdGlvbiIsImV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlIiwiYnVpbGRJZCIsImNhbm9uaWNhbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsIm1wYU5hdmlnYXRpb24iLCJwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSIsImZvY3VzQW5kU2Nyb2xsUmVmIiwicHJlZmV0Y2hDYWNoZSIsIm5leHRVcmwiLCJwYXRobmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js ***! - \***************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverActionReducer\", ({\n enumerable: true,\n get: function() {\n return serverActionReducer;\n }\n}));\nconst _appcallserver = __webpack_require__(/*! ../../../app-call-server */ \"(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../app-router-headers */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _addbasepath = __webpack_require__(/*! ../../../add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./has-interception-route-in-current-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ../refetch-inactive-parallel-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\n// // eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromFetch } from 'react-server-dom-webpack/client'\n// // eslint-disable-next-line import/no-extraneous-dependencies\n// import { encodeReply } from 'react-server-dom-webpack/client'\nconst { createFromFetch, encodeReply } = false ? 0 : __webpack_require__(/*! react-server-dom-webpack/client */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.js\");\nasync function fetchServerAction(state, nextUrl, param) {\n let { actionId, actionArgs } = param;\n const body = await encodeReply(actionArgs);\n const res = await fetch(\"\", {\n method: \"POST\",\n headers: {\n Accept: _approuterheaders.RSC_CONTENT_TYPE_HEADER,\n [_approuterheaders.ACTION]: actionId,\n [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(state.tree)),\n ... false ? 0 : {},\n ...nextUrl ? {\n [_approuterheaders.NEXT_URL]: nextUrl\n } : {}\n },\n body\n });\n const location = res.headers.get(\"x-action-redirect\");\n let revalidatedParts;\n try {\n const revalidatedHeader = JSON.parse(res.headers.get(\"x-action-revalidated\") || \"[[],0,0]\");\n revalidatedParts = {\n paths: revalidatedHeader[0] || [],\n tag: !!revalidatedHeader[1],\n cookie: revalidatedHeader[2]\n };\n } catch (e) {\n revalidatedParts = {\n paths: [],\n tag: false,\n cookie: false\n };\n }\n const redirectLocation = location ? new URL((0, _addbasepath.addBasePath)(location), new URL(state.canonicalUrl, window.location.href)) : undefined;\n let isFlightResponse = res.headers.get(\"content-type\") === _approuterheaders.RSC_CONTENT_TYPE_HEADER;\n if (isFlightResponse) {\n const response = await createFromFetch(Promise.resolve(res), {\n callServer: _appcallserver.callServer\n });\n if (location) {\n // if it was a redirection, then result is just a regular RSC payload\n const [, actionFlightData] = response != null ? response : [];\n return {\n actionFlightData: actionFlightData,\n redirectLocation,\n revalidatedParts\n };\n }\n // otherwise it's a tuple of [actionResult, actionFlightData]\n const [actionResult, [, actionFlightData]] = response != null ? response : [];\n return {\n actionResult,\n actionFlightData,\n redirectLocation,\n revalidatedParts\n };\n }\n return {\n redirectLocation,\n revalidatedParts\n };\n}\nfunction serverActionReducer(state, action) {\n const { resolve, reject } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n // only pass along the `nextUrl` param (used for interception routes) if the current route was intercepted.\n // If the route has been intercepted, the action should be as well.\n // Otherwise the server action might be intercepted with the wrong action id\n // (ie, one that corresponds with the intercepted route)\n const nextUrl = state.nextUrl && (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(state.tree) ? state.nextUrl : null;\n mutable.inFlightServerAction = fetchServerAction(state, nextUrl, action);\n return mutable.inFlightServerAction.then(async (param)=>{\n let { actionResult, actionFlightData: flightData, redirectLocation } = param;\n // Make sure the redirection is a push instead of a replace.\n // Issue: https://github.com/vercel/next.js/issues/53911\n if (redirectLocation) {\n state.pushRef.pendingPush = true;\n mutable.pendingPush = true;\n }\n if (!flightData) {\n resolve(actionResult);\n // If there is a redirect but no flight data we need to do a mpaNavigation.\n if (redirectLocation) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, redirectLocation.href, state.pushRef.pendingPush);\n }\n return state;\n }\n if (typeof flightData === \"string\") {\n // Handle case when navigating to page in `pages` from `app`\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.data as it has been resolved at this point.\n mutable.inFlightServerAction = null;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"SERVER ACTION APPLY FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n \"\"\n ], currentTree, treePatch, redirectLocation ? (0, _createhreffromurl.createHrefFromUrl)(redirectLocation) : state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n // The one before last item is the router state tree patch\n const [cacheNodeSeedData, head] = flightDataPath.slice(-2);\n const rsc = cacheNodeSeedData !== null ? cacheNodeSeedData[2] : null;\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (rsc !== null) {\n const cache = (0, _approuter.createEmptyCacheNode)();\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head);\n await (0, _refetchinactiveparallelsegments.refreshInactiveParallelSegments)({\n state,\n updatedTree: newTree,\n updatedCache: cache,\n includeNextUrl: Boolean(nextUrl)\n });\n mutable.cache = cache;\n mutable.prefetchCache = new Map();\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n if (redirectLocation) {\n const newHref = (0, _createhreffromurl.createHrefFromUrl)(redirectLocation, false);\n mutable.canonicalUrl = newHref;\n }\n resolve(actionResult);\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, (e)=>{\n // When the server action is rejected we don't update the state and instead call the reject handler of the promise.\n reject(e);\n return state;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=server-action-reducer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvc2VydmVyLWFjdGlvbi1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBb0pnQkE7OztlQUFBQTs7OzJDQS9JVzs4Q0FNcEI7eUNBbUJxQjsrQ0FDTTs2Q0FDQTt5REFDVTt5REFDQTsyQ0FFZDsyREFDZ0I7dUNBQ1Q7K0RBQ2E7bURBQ1o7NkRBQ1U7QUE3QmhELGdFQUFnRTtBQUNoRSxvRUFBb0U7QUFDcEUsZ0VBQWdFO0FBQ2hFLGdFQUFnRTtBQUNoRSxNQUFNLEVBQUVDLGVBQWUsRUFBRUMsV0FBVyxFQUFFLEdBQ3BDLE1BQTBCLEdBRXRCSSxDQUFRLEdBRVJBLG1CQUFBQSxDQUFRO0FBaUNkLGVBQWVDLGtCQUNiQyxLQUEyQixFQUMzQkMsT0FBd0MsRUFDeENDLEtBQTRDO0lBQTVDLE1BQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFzQixHQUE1Q0Y7SUFFQSxNQUFNRyxPQUFPLE1BQU1YLFlBQVlVO0lBRS9CLE1BQU1FLE1BQU0sTUFBTUMsTUFBTSxJQUFJO1FBQzFCQyxRQUFRO1FBQ1JDLFNBQVM7WUFDUEMsUUFBUUMsa0JBQUFBLHVCQUF1QjtZQUMvQixDQUFDQyxrQkFBQUEsTUFBTSxDQUFDLEVBQUVUO1lBQ1YsQ0FBQ1Usa0JBQUFBLHNCQUFzQixDQUFDLEVBQUVDLG1CQUFtQkMsS0FBS0MsU0FBUyxDQUFDaEIsTUFBTWlCLElBQUk7WUFDdEUsR0FBSXRCLE1BQThCLEdBQzlCLENBRUEsR0FDQSxDQUFDLENBQUM7WUFDTixHQUFJTSxVQUNBO2dCQUNFLENBQUNrQixrQkFBQUEsUUFBUSxDQUFDLEVBQUVsQjtZQUNkLElBQ0EsQ0FBQyxDQUFDO1FBQ1I7UUFDQUk7SUFDRjtJQUVBLE1BQU1lLFdBQVdkLElBQUlHLE9BQU8sQ0FBQ1ksR0FBRyxDQUFDO0lBQ2pDLElBQUlDO0lBQ0osSUFBSTtRQUNG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NkJBQTZCLEVBQzNCSCxPQUVBbEMsV0FDQXdCLFdBQ0FNLG1CQUNBQztnQkFHRixNQUFNTyxDQUFBQSxHQUFBQSxpQ0FBQUEsK0JBQStCLEVBQUM7b0JBQ3BDekU7b0JBQ0EwRSxhQUFhZDtvQkFDYmUsY0FBY047b0JBQ2RPLGdCQUFnQkMsUUFBUTVFO2dCQUMxQjtnQkFFQTRDLFFBQVF3QixLQUFLLEdBQUdBO2dCQUNoQnhCLFFBQVFpQyxhQUFhLEdBQUcsSUFBSUM7WUFDOUI7WUFFQWxDLFFBQVFtQyxXQUFXLEdBQUdwQjtZQUN0QmYsUUFBUWIsWUFBWSxHQUFHRTtZQUV2QlksY0FBY2M7UUFDaEI7UUFFQSxJQUFJL0Isa0JBQWtCO1lBQ3BCLE1BQU1vRCxVQUFVbkIsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDakMsa0JBQWtCO1lBQ3BEZ0IsUUFBUWIsWUFBWSxHQUFHaUQ7UUFDekI7UUFFQTFDLFFBQVFHO1FBRVIsT0FBT3dDLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ2xGLE9BQU82QztJQUM5QixHQUNBLENBQUNqQjtRQUNDLG1IQUFtSDtRQUNuSGdCLE9BQU9oQjtRQUVQLE9BQU81QjtJQUNUO0FBRUoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9zZXJ2ZXItYWN0aW9uLXJlZHVjZXIudHM/Y2YxMiJdLCJuYW1lcyI6WyJzZXJ2ZXJBY3Rpb25SZWR1Y2VyIiwiY3JlYXRlRnJvbUZldGNoIiwiZW5jb2RlUmVwbHkiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwicmVxdWlyZSIsImZldGNoU2VydmVyQWN0aW9uIiwic3RhdGUiLCJuZXh0VXJsIiwicGFyYW0iLCJhY3Rpb25JZCIsImFjdGlvbkFyZ3MiLCJib2R5IiwicmVzIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwiQWNjZXB0IiwiUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIiLCJBQ1RJT04iLCJORVhUX1JPVVRFUl9TVEFURV9UUkVFIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsInRyZWUiLCJORVhUX0RFUExPWU1FTlRfSUQiLCJORVhUX1VSTCIsImxvY2F0aW9uIiwiZ2V0IiwicmV2YWxpZGF0ZWRQYXJ0cyIsInJldmFsaWRhdGVkSGVhZGVyIiwicGFyc2UiLCJwYXRocyIsInRhZyIsImNvb2tpZSIsImUiLCJyZWRpcmVjdExvY2F0aW9uIiwiVVJMIiwiYWRkQmFzZVBhdGgiLCJjYW5vbmljYWxVcmwiLCJ3aW5kb3ciLCJocmVmIiwidW5kZWZpbmVkIiwiaXNGbGlnaHRSZXNwb25zZSIsInJlc3BvbnNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJjYWxsU2VydmVyIiwiYWN0aW9uRmxpZ2h0RGF0YSIsImFjdGlvblJlc3VsdCIsImFjdGlvbiIsInJlamVjdCIsIm11dGFibGUiLCJjdXJyZW50VHJlZSIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiaGFzSW50ZXJjZXB0aW9uUm91dGVJbkN1cnJlbnRUcmVlIiwiaW5GbGlnaHRTZXJ2ZXJBY3Rpb24iLCJ0aGVuIiwiZmxpZ2h0RGF0YSIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsImhhbmRsZUV4dGVybmFsVXJsIiwiZmxpZ2h0RGF0YVBhdGgiLCJsZW5ndGgiLCJjb25zb2xlIiwibG9nIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSIsImNyZWF0ZUhyZWZGcm9tVXJsIiwiaGFuZGxlU2VnbWVudE1pc21hdGNoIiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwiY2FjaGVOb2RlU2VlZERhdGEiLCJoZWFkIiwic2xpY2UiLCJyc2MiLCJjYWNoZSIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwicHJlZmV0Y2hSc2MiLCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsInJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHMiLCJ1cGRhdGVkVHJlZSIsInVwZGF0ZWRDYWNoZSIsImluY2x1ZGVOZXh0VXJsIiwiQm9vbGVhbiIsInByZWZldGNoQ2FjaGUiLCJNYXAiLCJwYXRjaGVkVHJlZSIsIm5ld0hyZWYiLCJoYW5kbGVNdXRhYmxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js": -/*!**************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js ***! - \**************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverPatchReducer\", ({\n enumerable: true,\n get: function() {\n return serverPatchReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nfunction serverPatchReducer(state, action) {\n const { serverResponse } = action;\n const [flightData, overrideCanonicalUrl] = serverResponse;\n const mutable = {};\n mutable.preserveCustomHistoryState = false;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const flightDataPath of flightData){\n // Slices off the last segment (which is at -4) as it doesn't exist in the tree yet\n const flightSegmentPath = flightDataPath.slice(0, -4);\n const [treePatch] = flightDataPath.slice(-3, -2);\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n \"\",\n ...flightSegmentPath\n ], currentTree, treePatch, state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, state.canonicalUrl, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = overrideCanonicalUrl ? (0, _createhreffromurl.createHrefFromUrl)(overrideCanonicalUrl) : undefined;\n if (canonicalUrlOverrideHref) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath);\n mutable.patchedTree = newTree;\n mutable.cache = cache;\n currentCache = cache;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=server-patch-reducer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvc2VydmVyLXBhdGNoLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFnQmdCQTs7O2VBQUFBOzs7K0NBaEJrQjt5REFDVTt5REFDQTs2Q0FPVjs2Q0FDRjsyQ0FDRjt1Q0FFTzttREFDQztBQUUvQixTQUFTQSxtQkFDZEMsS0FBMkIsRUFDM0JDLE1BQXlCO0lBRXpCLE1BQU0sRUFBRUMsY0FBYyxFQUFFLEdBQUdEO0lBQzNCLE1BQU0sQ0FBQ0UsWUFBWUMscUJBQXFCLEdBQUdGO0lBRTNDLE1BQU1HLFVBQW1CLENBQUM7SUFFMUJBLFFBQVFDLDBCQUEwQixHQUFHO0lBRXJDLDREQUE0RDtJQUM1RCxJQUFJLE9BQU9ILGVBQWUsVUFBVTtRQUNsQyxPQUFPSSxDQUFBQSxHQUFBQSxpQkFBQUEsaUJBQWlCLEVBQ3RCUCxPQUNBSyxTQUNBRixZQUNBSCxNQUFNUSxPQUFPLENBQUNDLFdBQVc7SUFFN0I7SUFFQSxJQUFJQyxjQUFjVixNQUFNVyxJQUFJO0lBQzVCLElBQUlDLGVBQWVaLE1BQU1hLEtBQUs7SUFFOUIsS0FBSyxNQUFNQyxrQkFBa0JYLFdBQVk7UUFDdkMsbUZBQW1GO1FBQ25GLE1BQU1ZLG9CQUFvQkQsZUFBZUUsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUVuRCxNQUFNLENBQUNDLFVBQVUsR0FBR0gsZUFBZUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlDLE1BQU1FLFVBQVVDLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBMkIsRUFFekM7WUFBQztlQUFPSjtTQUFrQixFQUMxQkwsYUFDQU8sV0FDQWpCLE1BQU1vQixZQUFZO1FBR3BCLElBQUlGLFlBQVksTUFBTTtZQUNwQixPQUFPRyxDQUFBQSxHQUFBQSx1QkFBQUEscUJBQXFCLEVBQUNyQixPQUFPQyxRQUFRZ0I7UUFDOUM7UUFFQSxJQUFJSyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQUNaLGFBQWFRLFVBQVU7WUFDckQsT0FBT1gsQ0FBQUEsR0FBQUEsaUJBQUFBLGlCQUFpQixFQUN0QlAsT0FDQUssU0FDQUwsTUFBTW9CLFlBQVksRUFDbEJwQixNQUFNUSxPQUFPLENBQUNDLFdBQVc7UUFFN0I7UUFFQSxNQUFNYywyQkFBMkJuQix1QkFDN0JvQixDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUNwQix3QkFDbEJxQjtRQUVKLElBQUlGLDBCQUEwQjtZQUM1QmxCLFFBQVFlLFlBQVksR0FBR0c7UUFDekI7UUFFQSxNQUFNVixRQUFtQmEsQ0FBQUEsR0FBQUEsV0FBQUEsb0JBQW9CO1FBQzdDQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDZixjQUFjQyxPQUFPQztRQUVyQ1QsUUFBUXVCLFdBQVcsR0FBR1Y7UUFDdEJiLFFBQVFRLEtBQUssR0FBR0E7UUFFaEJELGVBQWVDO1FBQ2ZILGNBQWNRO0lBQ2hCO0lBRUEsT0FBT1csQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDN0IsT0FBT0s7QUFDOUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9zZXJ2ZXItcGF0Y2gtcmVkdWNlci50cz85MTFlIl0sIm5hbWVzIjpbInNlcnZlclBhdGNoUmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwic2VydmVyUmVzcG9uc2UiLCJmbGlnaHREYXRhIiwib3ZlcnJpZGVDYW5vbmljYWxVcmwiLCJtdXRhYmxlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJoYW5kbGVFeHRlcm5hbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsImN1cnJlbnRUcmVlIiwidHJlZSIsImN1cnJlbnRDYWNoZSIsImNhY2hlIiwiZmxpZ2h0RGF0YVBhdGgiLCJmbGlnaHRTZWdtZW50UGF0aCIsInNsaWNlIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSIsImNhbm9uaWNhbFVybCIsImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidW5kZWZpbmVkIiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJhcHBseUZsaWdodERhdGEiLCJwYXRjaGVkVHJlZSIsImhhbmRsZU11dGFibGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n addRefreshMarkerToActiveParallelSegments: function() {\n return addRefreshMarkerToActiveParallelSegments;\n },\n refreshInactiveParallelSegments: function() {\n return refreshInactiveParallelSegments;\n }\n});\nconst _applyflightdata = __webpack_require__(/*! ./apply-flight-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nasync function refreshInactiveParallelSegments(options) {\n const fetchedSegments = new Set();\n await refreshInactiveParallelSegmentsImpl({\n ...options,\n rootTree: options.updatedTree,\n fetchedSegments\n });\n}\nasync function refreshInactiveParallelSegmentsImpl(param) {\n let { state, updatedTree, updatedCache, includeNextUrl, fetchedSegments, rootTree = updatedTree } = param;\n const [, parallelRoutes, refetchPath, refetchMarker] = updatedTree;\n const fetchPromises = [];\n if (refetchPath && refetchPath !== location.pathname + location.search && refetchMarker === \"refresh\" && // it's possible for the tree to contain multiple segments that contain data at the same URL\n // we keep track of them so we can dedupe the requests\n !fetchedSegments.has(refetchPath)) {\n fetchedSegments.add(refetchPath) // Mark this URL as fetched\n ;\n // Eagerly kick off the fetch for the refetch path & the parallel routes. This should be fine to do as they each operate\n // independently on their own cache nodes, and `applyFlightData` will copy anything it doesn't care about from the existing cache.\n const fetchPromise = (0, _fetchserverresponse.fetchServerResponse)(new URL(refetchPath, location.origin), // and might not contain the data we need to patch in interception route data (such as dynamic params from a previous segment)\n [\n rootTree[0],\n rootTree[1],\n rootTree[2],\n \"refetch\"\n ], includeNextUrl ? state.nextUrl : null, state.buildId).then((fetchResponse)=>{\n const flightData = fetchResponse[0];\n if (typeof flightData !== \"string\") {\n for (const flightDataPath of flightData){\n // we only pass the new cache as this function is called after clearing the router cache\n // and filling in the new page data from the server. Meaning the existing cache is actually the cache that's\n // just been created & has been written to, but hasn't been \"committed\" yet.\n (0, _applyflightdata.applyFlightData)(updatedCache, updatedCache, flightDataPath);\n }\n } else {\n // When flightData is a string, it suggests that the server response should have triggered an MPA navigation\n // I'm not 100% sure of this decision, but it seems unlikely that we'd want to introduce a redirect side effect\n // when refreshing on-screen data, so handling this has been ommitted.\n }\n });\n fetchPromises.push(fetchPromise);\n }\n for(const key in parallelRoutes){\n const parallelFetchPromise = refreshInactiveParallelSegmentsImpl({\n state,\n updatedTree: parallelRoutes[key],\n updatedCache,\n includeNextUrl,\n fetchedSegments,\n rootTree\n });\n fetchPromises.push(parallelFetchPromise);\n }\n await Promise.all(fetchPromises);\n}\nfunction addRefreshMarkerToActiveParallelSegments(tree, path) {\n const [segment, parallelRoutes, , refetchMarker] = tree;\n // a page segment might also contain concatenated search params, so we do a partial match on the key\n if (segment.includes(_segment.PAGE_SEGMENT_KEY) && refetchMarker !== \"refresh\") {\n tree[2] = path;\n tree[3] = \"refresh\";\n }\n for(const key in parallelRoutes){\n addRefreshMarkerToActiveParallelSegments(parallelRoutes[key], path);\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=refetch-inactive-parallel-segments.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVmZXRjaC1pbmFjdGl2ZS1wYXJhbGxlbC1zZWdtZW50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE4R2dCQSwwQ0FBd0M7ZUFBeENBOztJQXJGTUMsaUNBQStCO2VBQS9CQTs7OzZDQXRCVTtpREFDSTtxQ0FDSDtBQW9CMUIsZUFBZUEsZ0NBQ3BCQyxPQUF3QztJQUV4QyxNQUFNQyxrQkFBa0IsSUFBSUM7SUFDNUIsTUFBTUMsb0NBQW9DO1FBQ3hDLEdBQUdILE9BQU87UUFDVkksVUFBVUosUUFBUUssV0FBVztRQUM3Qko7SUFDRjtBQUNGO0FBRUEsZUFBZUUsb0NBQW9DRyxLQVVsRDtJQVZrRCxNQUNqREMsS0FBSyxFQUNMRixXQUFXLEVBQ1hHLFlBQVksRUFDWkMsY0FBYyxFQUNkUixlQUFlLEVBQ2ZHLFdBQVdDLFdBQVcsRUFJdkIsR0FWa0RDO0lBV2pELE1BQU0sR0FBR0ksZ0JBQWdCQyxhQUFhQyxjQUFjLEdBQUdQO0lBQ3ZELE1BQU1RLGdCQUFnQixFQUFFO0lBRXhCLElBQ0VGLGVBQ0FBLGdCQUFnQkcsU0FBU0MsUUFBUSxHQUFHRCxTQUFTRSxNQUFNLElBQ25ESixrQkFBa0IsYUFDbEIsNEZBQTRGO0lBQzVGLHNEQUFzRDtJQUN0RCxDQUFDWCxnQkFBZ0JnQixHQUFHLENBQUNOLGNBQ3JCO1FBQ0FWLGdCQUFnQmlCLEdBQUcsQ0FBQ1AsYUFBYSwyQkFBMkI7O1FBRTVELHdIQUF3SDtRQUN4SCxrSUFBa0k7UUFDbEksTUFBTVEsZUFBZUMsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUN0QyxJQUFJQyxJQUFJVixhQUFhRyxTQUFTUSxNQUFNLEdBRXBDLDhIQUE4SDtRQUM5SDtZQUFDbEIsUUFBUSxDQUFDLEVBQUU7WUFBRUEsUUFBUSxDQUFDLEVBQUU7WUFBRUEsUUFBUSxDQUFDLEVBQUU7WUFBRTtTQUFVLEVBQ2xESyxpQkFBaUJGLE1BQU1nQixPQUFPLEdBQUcsTUFDakNoQixNQUFNaUIsT0FBTyxFQUNiQyxJQUFJLENBQUMsQ0FBQ0M7WUFDTixNQUFNQyxhQUFhRCxhQUFhLENBQUMsRUFBRTtZQUNuQyxJQUFJLE9BQU9DLGVBQWUsVUFBVTtnQkFDbEMsS0FBSyxNQUFNQyxrQkFBa0JELFdBQVk7b0JBQ3ZDLHdGQUF3RjtvQkFDeEYsNEdBQTRHO29CQUM1Ryw0RUFBNEU7b0JBQzVFRSxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDckIsY0FBY0EsY0FBY29CO2dCQUM5QztZQUNGLE9BQU87WUFDTCw0R0FBNEc7WUFDNUcsK0dBQStHO1lBQy9HLHNFQUFzRTtZQUN4RTtRQUNGO1FBRUFmLGNBQWNpQixJQUFJLENBQUNYO0lBQ3JCO0lBRUEsSUFBSyxNQUFNWSxPQUFPckIsZUFBZ0I7UUFDaEMsTUFBTXNCLHVCQUF1QjdCLG9DQUFvQztZQUMvREk7WUFDQUYsYUFBYUssY0FBYyxDQUFDcUIsSUFBSTtZQUNoQ3ZCO1lBQ0FDO1lBQ0FSO1lBQ0FHO1FBQ0Y7UUFFQVMsY0FBY2lCLElBQUksQ0FBQ0U7SUFDckI7SUFFQSxNQUFNQyxRQUFRQyxHQUFHLENBQUNyQjtBQUNwQjtBQVFPLFNBQVNmLHlDQUNkcUMsSUFBdUIsRUFDdkJDLElBQVk7SUFFWixNQUFNLENBQUNDLFNBQVMzQixrQkFBa0JFLGNBQWMsR0FBR3VCO0lBQ25ELG9HQUFvRztJQUNwRyxJQUFJRSxRQUFRQyxRQUFRLENBQUNDLFNBQUFBLGdCQUFnQixLQUFLM0Isa0JBQWtCLFdBQVc7UUFDckV1QixJQUFJLENBQUMsRUFBRSxHQUFHQztRQUNWRCxJQUFJLENBQUMsRUFBRSxHQUFHO0lBQ1o7SUFFQSxJQUFLLE1BQU1KLE9BQU9yQixlQUFnQjtRQUNoQ1oseUNBQXlDWSxjQUFjLENBQUNxQixJQUFJLEVBQUVLO0lBQ2hFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWZldGNoLWluYWN0aXZlLXBhcmFsbGVsLXNlZ21lbnRzLnRzPzc4ODgiXSwibmFtZXMiOlsiYWRkUmVmcmVzaE1hcmtlclRvQWN0aXZlUGFyYWxsZWxTZWdtZW50cyIsInJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHMiLCJvcHRpb25zIiwiZmV0Y2hlZFNlZ21lbnRzIiwiU2V0IiwicmVmcmVzaEluYWN0aXZlUGFyYWxsZWxTZWdtZW50c0ltcGwiLCJyb290VHJlZSIsInVwZGF0ZWRUcmVlIiwicGFyYW0iLCJzdGF0ZSIsInVwZGF0ZWRDYWNoZSIsImluY2x1ZGVOZXh0VXJsIiwicGFyYWxsZWxSb3V0ZXMiLCJyZWZldGNoUGF0aCIsInJlZmV0Y2hNYXJrZXIiLCJmZXRjaFByb21pc2VzIiwibG9jYXRpb24iLCJwYXRobmFtZSIsInNlYXJjaCIsImhhcyIsImFkZCIsImZldGNoUHJvbWlzZSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJVUkwiLCJvcmlnaW4iLCJuZXh0VXJsIiwiYnVpbGRJZCIsInRoZW4iLCJmZXRjaFJlc3BvbnNlIiwiZmxpZ2h0RGF0YSIsImZsaWdodERhdGFQYXRoIiwiYXBwbHlGbGlnaHREYXRhIiwicHVzaCIsImtleSIsInBhcmFsbGVsRmV0Y2hQcm9taXNlIiwiUHJvbWlzZSIsImFsbCIsInRyZWUiLCJwYXRoIiwic2VnbWVudCIsImluY2x1ZGVzIiwiUEFHRV9TRUdNRU5UX0tFWSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js ***! - \*****************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_FAST_REFRESH: function() {\n return ACTION_FAST_REFRESH;\n },\n ACTION_NAVIGATE: function() {\n return ACTION_NAVIGATE;\n },\n ACTION_PREFETCH: function() {\n return ACTION_PREFETCH;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_RESTORE: function() {\n return ACTION_RESTORE;\n },\n ACTION_SERVER_ACTION: function() {\n return ACTION_SERVER_ACTION;\n },\n ACTION_SERVER_PATCH: function() {\n return ACTION_SERVER_PATCH;\n },\n PrefetchCacheEntryStatus: function() {\n return PrefetchCacheEntryStatus;\n },\n PrefetchKind: function() {\n return PrefetchKind;\n },\n isThenable: function() {\n return isThenable;\n }\n});\nconst ACTION_REFRESH = \"refresh\";\nconst ACTION_NAVIGATE = \"navigate\";\nconst ACTION_RESTORE = \"restore\";\nconst ACTION_SERVER_PATCH = \"server-patch\";\nconst ACTION_PREFETCH = \"prefetch\";\nconst ACTION_FAST_REFRESH = \"fast-refresh\";\nconst ACTION_SERVER_ACTION = \"server-action\";\nvar PrefetchKind;\n(function(PrefetchKind) {\n PrefetchKind[\"AUTO\"] = \"auto\";\n PrefetchKind[\"FULL\"] = \"full\";\n PrefetchKind[\"TEMPORARY\"] = \"temporary\";\n})(PrefetchKind || (PrefetchKind = {}));\nvar PrefetchCacheEntryStatus;\n(function(PrefetchCacheEntryStatus) {\n PrefetchCacheEntryStatus[\"fresh\"] = \"fresh\";\n PrefetchCacheEntryStatus[\"reusable\"] = \"reusable\";\n PrefetchCacheEntryStatus[\"expired\"] = \"expired\";\n PrefetchCacheEntryStatus[\"stale\"] = \"stale\";\n})(PrefetchCacheEntryStatus || (PrefetchCacheEntryStatus = {}));\nfunction isThenable(value) {\n // TODO: We don't gain anything from this abstraction. It's unsound, and only\n // makes sense in the specific places where we use it. So it's better to keep\n // the type coercion inline, instead of leaking this to other places in\n // the codebase.\n return value && (typeof value === \"object\" || typeof value === \"function\") && typeof value.then === \"function\";\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router-reducer-types.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBWWFBLHFCQUFtQjtlQUFuQkE7O0lBSkFDLGlCQUFlO2VBQWZBOztJQUdBQyxpQkFBZTtlQUFmQTs7SUFKQUMsZ0JBQWM7ZUFBZEE7O0lBRUFDLGdCQUFjO2VBQWRBOztJQUlBQyxzQkFBb0I7ZUFBcEJBOztJQUhBQyxxQkFBbUI7ZUFBbkJBOzs7Ozs7OztJQXVRR0MsWUFBVTtlQUFWQTs7O0FBMVFULE1BQU1KLGlCQUFpQjtBQUN2QixNQUFNRixrQkFBa0I7QUFDeEIsTUFBTUcsaUJBQWlCO0FBQ3ZCLE1BQU1FLHNCQUFzQjtBQUM1QixNQUFNSixrQkFBa0I7QUFDeEIsTUFBTUYsc0JBQXNCO0FBQzVCLE1BQU1LLHVCQUF1Qjs7VUF1SXhCRyxZQUFBQTs7OztHQUFBQSxnQkFBQUEsQ0FBQUEsZUFBQUEsQ0FBQUEsQ0FBQUE7O1VBOERBQyx3QkFBQUE7Ozs7O0dBQUFBLDRCQUFBQSxDQUFBQSwyQkFBQUEsQ0FBQUEsQ0FBQUE7QUErREwsU0FBU0YsV0FBV0csS0FBVTtJQUNuQyw2RUFBNkU7SUFDN0UsNkVBQTZFO0lBQzdFLHVFQUF1RTtJQUN2RSxnQkFBZ0I7SUFDaEIsT0FDRUEsU0FDQyxRQUFPQSxVQUFVLFlBQVksT0FBT0EsVUFBVSxlQUMvQyxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFFMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlcy50cz9lZjFjIl0sIm5hbWVzIjpbIkFDVElPTl9GQVNUX1JFRlJFU0giLCJBQ1RJT05fTkFWSUdBVEUiLCJBQ1RJT05fUFJFRkVUQ0giLCJBQ1RJT05fUkVGUkVTSCIsIkFDVElPTl9SRVNUT1JFIiwiQUNUSU9OX1NFUlZFUl9BQ1RJT04iLCJBQ1RJT05fU0VSVkVSX1BBVENIIiwiaXNUaGVuYWJsZSIsIlByZWZldGNoS2luZCIsIlByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cyIsInZhbHVlIiwidGhlbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer.js ***! - \***********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"reducer\", ({\n enumerable: true,\n get: function() {\n return reducer;\n }\n}));\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _serverpatchreducer = __webpack_require__(/*! ./reducers/server-patch-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\");\nconst _restorereducer = __webpack_require__(/*! ./reducers/restore-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\");\nconst _refreshreducer = __webpack_require__(/*! ./reducers/refresh-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./reducers/prefetch-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _fastrefreshreducer = __webpack_require__(/*! ./reducers/fast-refresh-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js\");\nconst _serveractionreducer = __webpack_require__(/*! ./reducers/server-action-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\");\n/**\n * Reducer that handles the app-router state updates.\n */ function clientReducer(state, action) {\n switch(action.type){\n case _routerreducertypes.ACTION_NAVIGATE:\n {\n return (0, _navigatereducer.navigateReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_PATCH:\n {\n return (0, _serverpatchreducer.serverPatchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_RESTORE:\n {\n return (0, _restorereducer.restoreReducer)(state, action);\n }\n case _routerreducertypes.ACTION_REFRESH:\n {\n return (0, _refreshreducer.refreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_FAST_REFRESH:\n {\n return (0, _fastrefreshreducer.fastRefreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_PREFETCH:\n {\n return (0, _prefetchreducer.prefetchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_ACTION:\n {\n return (0, _serveractionreducer.serverActionReducer)(state, action);\n }\n // This case should never be hit as dispatch is strongly typed.\n default:\n throw new Error(\"Unknown action\");\n }\n}\nfunction serverReducer(state, _action) {\n return state;\n}\nconst reducer = typeof window === \"undefined\" ? serverReducer : clientReducer;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router-reducer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FpRWFBOzs7ZUFBQUE7OztnREF6RE47NkNBTXlCO2dEQUNHOzRDQUNKOzRDQUNBOzZDQUNDO2dEQUNHO2lEQUNDO0FBRXBDOztDQUVDLEdBQ0QsU0FBU0MsY0FDUEMsS0FBMkIsRUFDM0JDLE1BQXNCO0lBRXRCLE9BQVFBLE9BQU9DLElBQUk7UUFDakIsS0FBS0Msb0JBQUFBLGVBQWU7WUFBRTtnQkFDcEIsT0FBT0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFBQ0osT0FBT0M7WUFDaEM7UUFDQSxLQUFLSSxvQkFBQUEsbUJBQW1CO1lBQUU7Z0JBQ3hCLE9BQU9DLENBQUFBLEdBQUFBLG9CQUFBQSxrQkFBa0IsRUFBQ04sT0FBT0M7WUFDbkM7UUFDQSxLQUFLTSxvQkFBQUEsY0FBYztZQUFFO2dCQUNuQixPQUFPQyxDQUFBQSxHQUFBQSxnQkFBQUEsY0FBYyxFQUFDUixPQUFPQztZQUMvQjtRQUNBLEtBQUtRLG9CQUFBQSxjQUFjO1lBQUU7Z0JBQ25CLE9BQU9DLENBQUFBLEdBQUFBLGdCQUFBQSxjQUFjLEVBQUNWLE9BQU9DO1lBQy9CO1FBQ0EsS0FBS1Usb0JBQUFBLG1CQUFtQjtZQUFFO2dCQUN4QixPQUFPQyxDQUFBQSxHQUFBQSxvQkFBQUEsa0JBQWtCLEVBQUNaLE9BQU9DO1lBQ25DO1FBQ0EsS0FBS1ksb0JBQUFBLGVBQWU7WUFBRTtnQkFDcEIsT0FBT0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFBQ2QsT0FBT0M7WUFDaEM7UUFDQSxLQUFLYyxvQkFBQUEsb0JBQW9CO1lBQUU7Z0JBQ3pCLE9BQU9DLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ2hCLE9BQU9DO1lBQ3BDO1FBQ0EsK0RBQStEO1FBQy9EO1lBQ0UsTUFBTSxJQUFJZ0IsTUFBTTtJQUNwQjtBQUNGO0FBRUEsU0FBU0MsY0FDUGxCLEtBQTJCLEVBQzNCbUIsT0FBdUI7SUFFdkIsT0FBT25CO0FBQ1Q7QUFHTyxNQUFNRixVQUNYLE9BQU9zQixXQUFXLGNBQWNGLGdCQUFnQm5CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXIudHM/M2M2NSJdLCJuYW1lcyI6WyJyZWR1Y2VyIiwiY2xpZW50UmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsIkFDVElPTl9OQVZJR0FURSIsIm5hdmlnYXRlUmVkdWNlciIsIkFDVElPTl9TRVJWRVJfUEFUQ0giLCJzZXJ2ZXJQYXRjaFJlZHVjZXIiLCJBQ1RJT05fUkVTVE9SRSIsInJlc3RvcmVSZWR1Y2VyIiwiQUNUSU9OX1JFRlJFU0giLCJyZWZyZXNoUmVkdWNlciIsIkFDVElPTl9GQVNUX1JFRlJFU0giLCJmYXN0UmVmcmVzaFJlZHVjZXIiLCJBQ1RJT05fUFJFRkVUQ0giLCJwcmVmZXRjaFJlZHVjZXIiLCJBQ1RJT05fU0VSVkVSX0FDVElPTiIsInNlcnZlckFjdGlvblJlZHVjZXIiLCJFcnJvciIsInNlcnZlclJlZHVjZXIiLCJfYWN0aW9uIiwid2luZG93Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js ***! - \*****************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"shouldHardNavigate\", ({\n enumerable: true,\n get: function() {\n return shouldHardNavigate;\n }\n}));\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\");\nfunction shouldHardNavigate(flightSegmentPath, flightRouterState) {\n const [segment, parallelRoutes] = flightRouterState;\n // TODO-APP: Check if `as` can be replaced.\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Check if current segment matches the existing segment.\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n // If dynamic parameter in tree doesn't match up with segment path a hard navigation is triggered.\n if (Array.isArray(currentSegment)) {\n return true;\n }\n // If the existing segment did not match soft navigation is triggered.\n return false;\n }\n const lastSegment = flightSegmentPath.length <= 2;\n if (lastSegment) {\n return false;\n }\n return shouldHardNavigate(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=should-hard-navigate.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvc2hvdWxkLWhhcmQtbmF2aWdhdGUuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFRZ0JBOzs7ZUFBQUE7OzsyQ0FIYTtBQUd0QixTQUFTQSxtQkFDZEMsaUJBQWlDLEVBQ2pDQyxpQkFBb0M7SUFFcEMsTUFBTSxDQUFDQyxTQUFTQyxlQUFlLEdBQUdGO0lBQ2xDLDJDQUEyQztJQUMzQyxNQUFNLENBQUNHLGdCQUFnQkMsaUJBQWlCLEdBQUdMO0lBSzNDLHlEQUF5RDtJQUN6RCxJQUFJLENBQUNNLENBQUFBLEdBQUFBLGVBQUFBLFlBQVksRUFBQ0YsZ0JBQWdCRixVQUFVO1FBQzFDLGtHQUFrRztRQUNsRyxJQUFJSyxNQUFNQyxPQUFPLENBQUNKLGlCQUFpQjtZQUNqQyxPQUFPO1FBQ1Q7UUFFQSxzRUFBc0U7UUFDdEUsT0FBTztJQUNUO0lBQ0EsTUFBTUssY0FBY1Qsa0JBQWtCVSxNQUFNLElBQUk7SUFFaEQsSUFBSUQsYUFBYTtRQUNmLE9BQU87SUFDVDtJQUVBLE9BQU9WLG1CQUNMQyxrQkFBa0JXLEtBQUssQ0FBQyxJQUN4QlIsY0FBYyxDQUFDRSxpQkFBaUI7QUFFcEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9zaG91bGQtaGFyZC1uYXZpZ2F0ZS50cz8yZTlmIl0sIm5hbWVzIjpbInNob3VsZEhhcmROYXZpZ2F0ZSIsImZsaWdodFNlZ21lbnRQYXRoIiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZXMiLCJjdXJyZW50U2VnbWVudCIsInBhcmFsbGVsUm91dGVLZXkiLCJtYXRjaFNlZ21lbnQiLCJBcnJheSIsImlzQXJyYXkiLCJsYXN0U2VnbWVudCIsImxlbmd0aCIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\n")); - -/***/ }), - -/***/ "(shared)/./node_modules/next/dist/client/components/static-generation-async-storage.external.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/static-generation-async-storage.external.js ***! - \**********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("\"TURBOPACK { transition: next-shared }\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"staticGenerationAsyncStorage\", ({\n enumerable: true,\n get: function() {\n return _staticgenerationasyncstorageinstance.staticGenerationAsyncStorage;\n }\n}));\nconst _staticgenerationasyncstorageinstance = __webpack_require__(/*! ./static-generation-async-storage-instance */ \"(shared)/./node_modules/next/dist/client/components/static-generation-async-storage-instance.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-async-storage.external.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwuanMiLCJtYXBwaW5ncyI6IkFBU0U7Ozs7O2dFQW1ET0E7OztlQUFBQSxzQ0FBQUEsNEJBQTRCOzs7a0VBbERRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbC50cz8yMmI3Il0sIm5hbWVzIjpbInN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(shared)/./node_modules/next/dist/client/components/static-generation-async-storage.external.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/unresolved-thenable.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/unresolved-thenable.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Create a \"Thenable\" that does not resolve. This is used to suspend indefinitely when data is not available yet.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"unresolvedThenable\", ({\n enumerable: true,\n get: function() {\n return unresolvedThenable;\n }\n}));\nconst unresolvedThenable = {\n then: ()=>{}\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=unresolved-thenable.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdW5yZXNvbHZlZC10aGVuYWJsZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OztzREFDWUE7OztlQUFBQTs7O0FBQU4sTUFBTUEscUJBQXFCO0lBQ2hDQyxNQUFNLEtBQU87QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3VucmVzb2x2ZWQtdGhlbmFibGUudHM/NDAzNiJdLCJuYW1lcyI6WyJ1bnJlc29sdmVkVGhlbmFibGUiLCJ0aGVuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/unresolved-thenable.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/use-reducer-with-devtools.js ***! - \*******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n useReducerWithReduxDevtools: function() {\n return useReducerWithReduxDevtools;\n },\n useUnwrapState: function() {\n return useUnwrapState;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _actionqueue = __webpack_require__(/*! ../../shared/lib/router/action-queue */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/action-queue.js\");\nfunction normalizeRouterState(val) {\n if (val instanceof Map) {\n const obj = {};\n for (const [key, value] of val.entries()){\n if (typeof value === \"function\") {\n obj[key] = \"fn()\";\n continue;\n }\n if (typeof value === \"object\" && value !== null) {\n if (value.$$typeof) {\n obj[key] = value.$$typeof.toString();\n continue;\n }\n if (value._bundlerConfig) {\n obj[key] = \"FlightData\";\n continue;\n }\n }\n obj[key] = normalizeRouterState(value);\n }\n return obj;\n }\n if (typeof val === \"object\" && val !== null) {\n const obj = {};\n for(const key in val){\n const value = val[key];\n if (typeof value === \"function\") {\n obj[key] = \"fn()\";\n continue;\n }\n if (typeof value === \"object\" && value !== null) {\n if (value.$$typeof) {\n obj[key] = value.$$typeof.toString();\n continue;\n }\n if (value.hasOwnProperty(\"_bundlerConfig\")) {\n obj[key] = \"FlightData\";\n continue;\n }\n }\n obj[key] = normalizeRouterState(value);\n }\n return obj;\n }\n if (Array.isArray(val)) {\n return val.map(normalizeRouterState);\n }\n return val;\n}\nfunction useUnwrapState(state) {\n // reducer actions can be async, so sometimes we need to suspend until the state is resolved\n if ((0, _routerreducertypes.isThenable)(state)) {\n const result = (0, _react.use)(state);\n return result;\n }\n return state;\n}\nfunction useReducerWithReduxDevtoolsNoop(initialState) {\n return [\n initialState,\n ()=>{},\n ()=>{}\n ];\n}\nfunction useReducerWithReduxDevtoolsImpl(initialState) {\n _s();\n const [state, setState] = _react.default.useState(initialState);\n const actionQueue = (0, _react.useContext)(_actionqueue.ActionQueueContext);\n if (!actionQueue) {\n throw new Error(\"Invariant: Missing ActionQueueContext\");\n }\n const devtoolsConnectionRef = (0, _react.useRef)();\n const enabledRef = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n if (devtoolsConnectionRef.current || enabledRef.current === false) {\n return;\n }\n if (enabledRef.current === undefined && typeof window.__REDUX_DEVTOOLS_EXTENSION__ === \"undefined\") {\n enabledRef.current = false;\n return;\n }\n devtoolsConnectionRef.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect({\n instanceId: 8000,\n name: \"next-router\"\n });\n if (devtoolsConnectionRef.current) {\n devtoolsConnectionRef.current.init(normalizeRouterState(initialState));\n if (actionQueue) {\n actionQueue.devToolsInstance = devtoolsConnectionRef.current;\n }\n }\n return ()=>{\n devtoolsConnectionRef.current = undefined;\n };\n }, [\n initialState,\n actionQueue\n ]);\n const dispatch = (0, _react.useCallback)((action)=>{\n if (!actionQueue.state) {\n // we lazy initialize the mutable action queue state since the data needed\n // to generate the state is not available when the actionQueue context is created\n actionQueue.state = initialState;\n }\n actionQueue.dispatch(action, setState);\n }, [\n actionQueue,\n initialState\n ]);\n // Sync is called after a state update in the HistoryUpdater,\n // for debugging purposes. Since the reducer state may be a Promise,\n // we let the app router use() it and sync on the resolved value if\n // something changed.\n // Using the `state` here would be referentially unstable and cause\n // undesirable re-renders and history updates.\n const sync = (0, _react.useCallback)((resolvedState)=>{\n if (devtoolsConnectionRef.current) {\n devtoolsConnectionRef.current.send({\n type: \"RENDER_SYNC\"\n }, normalizeRouterState(resolvedState));\n }\n }, []);\n return [\n state,\n dispatch,\n sync\n ];\n}\n_s(useReducerWithReduxDevtoolsImpl, \"2/eSVXfk2V5ZKttKXeUPXMa6Sd8=\");\nconst useReducerWithReduxDevtools = typeof window !== \"undefined\" ? useReducerWithReduxDevtoolsImpl : useReducerWithReduxDevtoolsNoop;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-reducer-with-devtools.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdXNlLXJlZHVjZXItd2l0aC1kZXZ0b29scy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQTJLYUEsNkJBQTJCO2VBQTNCQTs7SUE3RkdDLGdCQUFjO2VBQWRBOzs7OzZFQTdFdUI7Z0RBT2hDO3lDQUM0QjtBQUluQyxTQUFTQyxxQkFBcUJDLEdBQVE7SUFDcEMsSUFBSUEsZUFBZUMsS0FBSztRQUN0QixNQUFNQyxNQUE4QixDQUFDO1FBQ3JDLEtBQUssTUFBTSxDQUFDQyxLQUFLQyxNQUFNLElBQUlKLElBQUlLLE9BQU8sR0FBSTtZQUN4QyxJQUFJLE9BQU9ELFVBQVUsWUFBWTtnQkFDL0JGLEdBQUcsQ0FBQ0MsSUFBSSxHQUFHO2dCQUNYO1lBQ0Y7WUFDQSxJQUFJLE9BQU9DLFVBQVUsWUFBWUEsVUFBVSxNQUFNO2dCQUMvQyxJQUFJQSxNQUFNRSxRQUFRLEVBQUU7b0JBQ2xCSixHQUFHLENBQUNDLElBQUksR0FBR0MsTUFBTUUsUUFBUSxDQUFDQyxRQUFRO29CQUNsQztnQkFDRjtnQkFDQSxJQUFJSCxNQUFNSSxjQUFjLEVBQUU7b0JBQ3hCTixHQUFHLENBQUNDLElBQUksR0FBRztvQkFDWDtnQkFDRjtZQUNGO1lBQ0FELEdBQUcsQ0FBQ0MsSUFBSSxHQUFHSixxQkFBcUJLO1FBQ2xDO1FBQ0EsT0FBT0Y7SUFDVDtJQUVBLElBQUksT0FBT0YsUUFBUSxZQUFZQSxRQUFRLE1BQU07UUFDM0MsTUFBTUUsTUFBOEIsQ0FBQztRQUNyQyxJQUFLLE1BQU1DLE9BQU9ILElBQUs7WUFDckIsTUFBTUksUUFBUUosR0FBRyxDQUFDRyxJQUFJO1lBQ3RCLElBQUksT0FBT0MsVUFBVSxZQUFZO2dCQUMvQkYsR0FBRyxDQUFDQyxJQUFJLEdBQUc7Z0JBQ1g7WUFDRjtZQUNBLElBQUksT0FBT0MsVUFBVSxZQUFZQSxVQUFVLE1BQU07Z0JBQy9DLElBQUlB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QUFDaEM7R0EzRVN4QjtBQTZFRixNQUFNdEIsOEJBQ1gsT0FBT29DLFdBQVcsY0FDZGQsa0NBQ0FGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvdXNlLXJlZHVjZXItd2l0aC1kZXZ0b29scy50cz80ZTNiIl0sIm5hbWVzIjpbInVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29scyIsInVzZVVud3JhcFN0YXRlIiwibm9ybWFsaXplUm91dGVyU3RhdGUiLCJ2YWwiLCJNYXAiLCJvYmoiLCJrZXkiLCJ2YWx1ZSIsImVudHJpZXMiLCIkJHR5cGVvZiIsInRvU3RyaW5nIiwiX2J1bmRsZXJDb25maWciLCJoYXNPd25Qcm9wZXJ0eSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsInN0YXRlIiwiaXNUaGVuYWJsZSIsInJlc3VsdCIsInVzZSIsInVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29sc05vb3AiLCJpbml0aWFsU3RhdGUiLCJ1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHNJbXBsIiwic2V0U3RhdGUiLCJSZWFjdCIsInVzZVN0YXRlIiwiYWN0aW9uUXVldWUiLCJ1c2VDb250ZXh0IiwiQWN0aW9uUXVldWVDb250ZXh0IiwiRXJyb3IiLCJkZXZ0b29sc0Nvbm5lY3Rpb25SZWYiLCJ1c2VSZWYiLCJlbmFibGVkUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsInVuZGVmaW5lZCIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0IiwiaW5zdGFuY2VJZCIsIm5hbWUiLCJpbml0IiwiZGV2VG9vbHNJbnN0YW5jZSIsImRpc3BhdGNoIiwidXNlQ2FsbGJhY2siLCJhY3Rpb24iLCJzeW5jIiwicmVzb2x2ZWRTdGF0ZSIsInNlbmQiLCJ0eXBlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/noop-turbopack-hmr.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// The Turbopack HMR client can't be properly omitted at the moment (WEB-1589),\n// so instead we remap its import to this file in webpack builds.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"connect\", ({\n enumerable: true,\n get: function() {\n return connect;\n }\n}));\nfunction connect() {}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-turbopack-hmr.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9ub29wLXR1cmJvcGFjay1obXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFO0FBQy9FLGlFQUFpRTs7Ozs7MkNBQ2pEQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxXQUFXIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2Rldi9ub29wLXR1cmJvcGFjay1obXIudHM/ZTMzYiJdLCJuYW1lcyI6WyJjb25uZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/has-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasBasePath\", ({\n enumerable: true,\n get: function() {\n return hasBasePath;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst basePath = false || \"\";\nfunction hasBasePath(path) {\n return (0, _pathhasprefix.pathHasPrefix)(path, basePath);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2hhcy1iYXNlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0FJZ0JBOzs7ZUFBQUE7OzsyQ0FKYztBQUU5QixNQUFNQyxXQUFXQyxNQUFtQyxJQUFlO0FBRTVELFNBQVNGLFlBQVlLLElBQVk7SUFDdEMsT0FBT0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDRCxNQUFNSjtBQUM3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9oYXMtYmFzZS1wYXRoLnRzP2EzMTIiXSwibmFtZXMiOlsiaGFzQmFzZVBhdGgiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInBhdGhIYXNQcmVmaXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return normalizePathTrailingSlash;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst normalizePathTrailingSlash = (path)=>{\n if (!path.startsWith(\"/\") || undefined) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n if (false) {}\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=normalize-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiOzs7OzhEQU9hQTs7O2VBQUFBOzs7aURBUHVCO3VDQUNWO0FBTW5CLE1BQU1BLDZCQUE2QixDQUFDQztJQUN6QyxJQUFJLENBQUNBLEtBQUtDLFVBQVUsQ0FBQyxRQUFRQyxTQUF3QyxFQUFFO1FBQ3JFLE9BQU9GO0lBQ1Q7SUFFQSxNQUFNLEVBQUVLLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBUyxFQUFDUjtJQUM1QyxJQUFJRSxLQUFpQyxFQUFFLEVBUXZDO0lBRUEsT0FBTyxLQUFHUyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNOLFlBQVlDLFFBQVFDO0FBQ3BEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaC50cz9iYTAxIl0sIm5hbWVzIjpbIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwicGF0aCIsInN0YXJ0c1dpdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX01BTlVBTF9UUkFJTElOR19TTEFTSCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIiwiX19ORVhUX1RSQUlMSU5HX1NMQVNIIiwidGVzdCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJlbmRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/on-recoverable-error.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/on-recoverable-error.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return onRecoverableError;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../shared/lib/lazy-dynamic/bailout-to-csr */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nfunction onRecoverableError(err) {\n // Using default react onRecoverableError\n // x-ref: https://github.com/facebook/react/blob/d4bc16a7d69eb2ea38a88c8ac0b461d5f72cdcab/packages/react-dom/src/client/ReactDOMRoot.js#L83\n const defaultOnRecoverableError = typeof reportError === \"function\" ? reportError : (error)=>{\n window.console.error(error);\n };\n // Skip certain custom errors which are not expected to be reported on client\n if ((0, _bailouttocsr.isBailoutToCSRError)(err)) return;\n defaultOnRecoverableError(err);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=on-recoverable-error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L29uLXJlY292ZXJhYmxlLWVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBRUE7OztlQUF3QkE7OzswQ0FGWTtBQUVyQixTQUFTQSxtQkFBbUJDLEdBQVk7SUFDckQseUNBQXlDO0lBQ3pDLDJJQUEySTtJQUMzSSxNQUFNQyw0QkFDSixPQUFPQyxnQkFBZ0IsYUFHbkJBLGNBQ0EsQ0FBQ0M7UUFDQ0MsT0FBT0MsT0FBTyxDQUFDRixLQUFLLENBQUNBO0lBQ3ZCO0lBRU4sNkVBQTZFO0lBQzdFLElBQUlHLENBQUFBLEdBQUFBLGNBQUFBLG1CQUFtQixFQUFDTixNQUFNO0lBRTlCQywwQkFBMEJEO0FBQzVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L29uLXJlY292ZXJhYmxlLWVycm9yLnRzPzMxM2QiXSwibmFtZXMiOlsib25SZWNvdmVyYWJsZUVycm9yIiwiZXJyIiwiZGVmYXVsdE9uUmVjb3ZlcmFibGVFcnJvciIsInJlcG9ydEVycm9yIiwiZXJyb3IiLCJ3aW5kb3ciLCJjb25zb2xlIiwiaXNCYWlsb3V0VG9DU1JFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/on-recoverable-error.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/client/remove-base-path.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-base-path.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeBasePath\", ({\n enumerable: true,\n get: function() {\n return removeBasePath;\n }\n}));\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || \"\";\nfunction removeBasePath(path) {\n if (false) {}\n // Can't trim the basePath if it has zero length!\n if (basePath.length === 0) return path;\n path = path.slice(basePath.length);\n if (!path.startsWith(\"/\")) path = \"/\" + path;\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlbW92ZS1iYXNlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7OztrREFJZ0JBOzs7ZUFBQUE7Ozt5Q0FKWTtBQUU1QixNQUFNQyxXQUFXQyxNQUFtQyxJQUFlO0FBRTVELFNBQVNGLGVBQWVLLElBQVk7SUFDekMsSUFBSUgsS0FBMEMsRUFBRSxFQUloRDtJQUVBLGlEQUFpRDtJQUNqRCxJQUFJRCxTQUFTTyxNQUFNLEtBQUssR0FBRyxPQUFPSDtJQUVsQ0EsT0FBT0EsS0FBS0ksS0FBSyxDQUFDUixTQUFTTyxNQUFNO0lBQ2pDLElBQUksQ0FBQ0gsS0FBS0ssVUFBVSxDQUFDLE1BQU1MLE9BQU8sTUFBSUE7SUFDdEMsT0FBT0E7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLnRzP2ZhNzIiXSwibmFtZXMiOlsicmVtb3ZlQmFzZVBhdGgiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsIl9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCIsImhhc0Jhc2VQYXRoIiwibGVuZ3RoIiwic2xpY2UiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/remove-base-path.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js ***! - \********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n AppRouterContext: function() {\n return AppRouterContext;\n },\n GlobalLayoutRouterContext: function() {\n return GlobalLayoutRouterContext;\n },\n LayoutRouterContext: function() {\n return LayoutRouterContext;\n },\n MissingSlotContext: function() {\n return MissingSlotContext;\n },\n TemplateContext: function() {\n return TemplateContext;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst AppRouterContext = _react.default.createContext(null);\nconst LayoutRouterContext = _react.default.createContext(null);\nconst GlobalLayoutRouterContext = _react.default.createContext(null);\nconst TemplateContext = _react.default.createContext(null);\nif (true) {\n AppRouterContext.displayName = \"AppRouterContext\";\n LayoutRouterContext.displayName = \"LayoutRouterContext\";\n GlobalLayoutRouterContext.displayName = \"GlobalLayoutRouterContext\";\n TemplateContext.displayName = \"TemplateContext\";\n}\nconst MissingSlotContext = _react.default.createContext(new Set()); //# sourceMappingURL=app-router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUEwSmFBLFNBQUFBO3NCQUFBQTs7SUFVQUM7K0JBQUFBOztJQVBBQzt5QkFBQUE7O0lBd0JBQzt3QkFBQUE7O0lBVEFDO3FCQUFBQTs7Ozs7QUFsQk4sTUFBTUosU0FBQUEsV0FBbUJLLEdBQUFBLHlCQUM5QkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTtBQUVLLE1BQU1MLG1CQUFBQSxPQUFzQkcsT0FBQUEsQ0FBQUEsYUFBTUcsQ0FBQUE7QUFPbEMsTUFBTVAsc0JBQUFBLE9BQTRCSSxPQUFBQSxDQUFBQSxhQUFNRyxDQUFBQTtBQVF4QyxNQUFNSiw0QkFBa0JDLE9BQU1HLE9BQUFBLENBQUFBLGFBQStCO0FBRXBFLE1BQUlDLGtCQUFvQkMsT0FBS0MsT0FBQSxDQUFBSCxhQUFjO0lBQ3pDUixJQUFpQlksRUFBYztJQUMvQlYsaUJBQUFBLFdBQW9CVSxHQUFXO0lBQy9CWCxvQkFBQUEsV0FBMEJXLEdBQUFBO0lBQzFCUiwwQkFBZ0JRLFdBQWM7SUFDaENSLGdCQUFBUSxXQUFBO0FBRU8iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz8wMzBlIl0sIm5hbWVzIjpbIkFwcFJvdXRlckNvbnRleHQiLCJHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IiwiTGF5b3V0Um91dGVyQ29udGV4dCIsIk1pc3NpbmdTbG90Q29udGV4dCIsIlRlbXBsYXRlQ29udGV4dCIsIlJlYWN0IiwiXyIsInJlcXVpcmUiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsIl9yZWFjdCIsImRlZmF1bHQiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/error-source.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/error-source.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n decorateServerError: function() {\n return decorateServerError;\n },\n getErrorSource: function() {\n return getErrorSource;\n }\n});\nconst symbolError = Symbol.for(\"NextjsError\");\nfunction getErrorSource(error) {\n return error[symbolError] || null;\n}\nfunction decorateServerError(error, type) {\n Object.defineProperty(error, symbolError, {\n writable: false,\n enumerable: false,\n configurable: false,\n value: type\n });\n} //# sourceMappingURL=error-source.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9lcnJvci1zb3VyY2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBUWdCQSxxQkFBbUI7ZUFBbkJBOztJQU5BQyxnQkFBYztlQUFkQTs7O0FBRmhCLE1BQU1DLGNBQWNDLE9BQU9DLEdBQUcsQ0FBQztBQUV4QixTQUFTSCxlQUFlSSxLQUFZO0lBQ3pDLE9BQU9BLEtBQWMsQ0FBQ0gsWUFBWSxJQUFJO0FBQ3hDO0FBSU8sU0FBU0Ysb0JBQW9CSyxLQUFZLEVBQUVDLElBQXFCO0lBQ3JFQyxPQUFPQyxjQUFjLENBQUNILE9BQU9ILGFBQWE7UUFDeENPLFVBQVU7UUFDVkMsWUFBWTtRQUNaQyxjQUFjO1FBQ2RDLE9BQU9OO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZXJyb3Itc291cmNlLnRzPzQ0NjEiXSwibmFtZXMiOlsiZGVjb3JhdGVTZXJ2ZXJFcnJvciIsImdldEVycm9yU291cmNlIiwic3ltYm9sRXJyb3IiLCJTeW1ib2wiLCJmb3IiLCJlcnJvciIsInR5cGUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIndyaXRhYmxlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsInZhbHVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/error-source.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/hash.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/hash.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// http://www.cse.yorku.ca/~oz/hash.html\n// More specifically, 32-bit hash via djbxor\n// (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765)\n// This is due to number type differences between rust for turbopack to js number types,\n// where rust does not have easy way to repreesnt js's 53-bit float number type for the matching\n// overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation\n// as can gaurantee determinstic output from 32bit hash.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n djb2Hash: function() {\n return djb2Hash;\n },\n hexHash: function() {\n return hexHash;\n }\n});\nfunction djb2Hash(str) {\n let hash = 5381;\n for(let i = 0; i < str.length; i++){\n const char = str.charCodeAt(i);\n hash = (hash << 5) + hash + char & 0xffffffff;\n }\n return hash >>> 0;\n}\nfunction hexHash(str) {\n return djb2Hash(str).toString(36).slice(0, 5);\n} //# sourceMappingURL=hash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4Qyw0Q0FBNEM7QUFDNUMsaUhBQWlIO0FBQ2pILHdGQUF3RjtBQUN4RixnR0FBZ0c7QUFDaEcsd0hBQXdIO0FBQ3hILHdEQUF3RDs7Ozs7Ozs7Ozs7OztJQUN4Q0EsVUFBUTtlQUFSQTs7SUFTQUMsU0FBTztlQUFQQTs7O0FBVFQsU0FBU0QsU0FBU0UsR0FBVztJQUNsQyxJQUFJQyxPQUFPO0lBQ1gsSUFBSyxJQUFJQyxJQUFJLEdBQUdBLElBQUlGLElBQUlHLE1BQU0sRUFBRUQsSUFBSztRQUNuQyxNQUFNRSxPQUFPSixJQUFJSyxVQUFVLENBQUNIO1FBQzVCRCxPQUFPLENBQUVBLFFBQVEsS0FBS0EsT0FBT0csT0FBUTtJQUN2QztJQUNBLE9BQU9ILFNBQVM7QUFDbEI7QUFFTyxTQUFTRixRQUFRQyxHQUFXO0lBQ2pDLE9BQU9GLFNBQVNFLEtBQUtNLFFBQVEsQ0FBQyxJQUFJQyxLQUFLLENBQUMsR0FBRztBQUM3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaGFzaC50cz9kYjQ2Il0sIm5hbWVzIjpbImRqYjJIYXNoIiwiaGV4SGFzaCIsInN0ciIsImhhc2giLCJpIiwibGVuZ3RoIiwiY2hhciIsImNoYXJDb2RlQXQiLCJ0b1N0cmluZyIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/hash.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HeadManagerContext\", ({\n enumerable: true,\n get: function() {\n return HeadManagerContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst HeadManagerContext = _react.default.createContext({});\nif (true) {\n HeadManagerContext.displayName = \"HeadManagerContext\";\n} //# sourceMappingURL=head-manager-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oZWFkLW1hbmFnZXItY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUVhQTs7O2VBQUFBOzs7OzRFQUZLO0FBRVgsTUFBTUEscUJBVVJDLE9BQUFBLE9BQUssQ0FBQ0MsYUFBYSxDQUFDLENBQUM7QUFFMUIsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0gsbUJBQW1CSSxXQUFXLEdBQUc7QUFDbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2hlYWQtbWFuYWdlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lLnRzPzE2ZjEiXSwibmFtZXMiOlsiSGVhZE1hbmFnZXJDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PathParamsContext: function() {\n return PathParamsContext;\n },\n PathnameContext: function() {\n return PathnameContext;\n },\n SearchParamsContext: function() {\n return SearchParamsContext;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst SearchParamsContext = (0, _react.createContext)(null);\nconst PathnameContext = (0, _react.createContext)(null);\nconst PathParamsContext = (0, _react.createContext)(null);\nif (true) {\n SearchParamsContext.displayName = \"SearchParamsContext\";\n PathnameContext.displayName = \"PathnameContext\";\n PathParamsContext.displayName = \"PathParamsContext\";\n} //# sourceMappingURL=hooks-client-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9ob29rcy1jbGllbnQtY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQU9hQSxTQUFBQTt1QkFBQUE7O0lBREFDO3FCQUFBQTs7SUFEQUM7eUJBQUFBOzs7O0FBQU4sTUFBTUEsU0FBQUEsbUJBQUFBLENBQUFBLG1GQUFBQTtBQUNOLE1BQU1ELHNCQUFrQkUsQ0FBQUEsR0FBQUEsT0FBQUEsYUFBNkI7QUFDckQsTUFBTUgsa0JBQUFBLENBQUFBLEdBQW9CRyxPQUFBQSxhQUFBQSxFQUFhO0FBRTlDLE1BQUlDLG9CQUFvQixJQUFLQyxPQUFBRixhQUFjO0lBQ3pDRCxJQUFvQkksRUFBYztJQUNsQ0wsb0JBQWdCSyxXQUFjO0lBQzlCTixnQkFBQUEsV0FBa0JNLEdBQVc7SUFDL0JOLGtCQUFBTSxXQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9ob29rcy1jbGllbnQtY29udGV4dC5zaGFyZWQtcnVudGltZS50cz83MTFiIl0sIm5hbWVzIjpbIlBhdGhQYXJhbXNDb250ZXh0IiwiUGF0aG5hbWVDb250ZXh0IiwiU2VhcmNoUGFyYW1zQ29udGV4dCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiX3JlYWN0IiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/is-plain-object.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/is-plain-object.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getObjectClassLabel: function() {\n return getObjectClassLabel;\n },\n isPlainObject: function() {\n return isPlainObject;\n }\n});\nfunction getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nfunction isPlainObject(value) {\n if (getObjectClassLabel(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty(\"isPrototypeOf\");\n} //# sourceMappingURL=is-plain-object.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pcy1wbGFpbi1vYmplY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWdCQSxxQkFBbUI7ZUFBbkJBOztJQUlBQyxlQUFhO2VBQWJBOzs7QUFKVCxTQUFTRCxvQkFBb0JFLEtBQVU7SUFDNUMsT0FBT0MsT0FBT0MsU0FBUyxDQUFDQyxRQUFRLENBQUNDLElBQUksQ0FBQ0o7QUFDeEM7QUFFTyxTQUFTRCxjQUFjQyxLQUFVO0lBQ3RDLElBQUlGLG9CQUFvQkUsV0FBVyxtQkFBbUI7UUFDcEQsT0FBTztJQUNUO0lBRUEsTUFBTUUsWUFBWUQsT0FBT0ksY0FBYyxDQUFDTDtJQUV4Qzs7Ozs7Ozs7R0FRQyxHQUNELE9BQU9FLGNBQWMsUUFBUUEsVUFBVUksY0FBYyxDQUFDO0FBQ3hEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pcy1wbGFpbi1vYmplY3QudHM/MmZiMiJdLCJuYW1lcyI6WyJnZXRPYmplY3RDbGFzc0xhYmVsIiwiaXNQbGFpbk9iamVjdCIsInZhbHVlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJjYWxsIiwiZ2V0UHJvdG90eXBlT2YiLCJoYXNPd25Qcm9wZXJ0eSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/is-plain-object.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// This has to be a shared module which is shared between client component error boundary and dynamic component\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BailoutToCSRError: function() {\n return BailoutToCSRError;\n },\n isBailoutToCSRError: function() {\n return isBailoutToCSRError;\n }\n});\nconst BAILOUT_TO_CSR = \"BAILOUT_TO_CLIENT_SIDE_RENDERING\";\nclass BailoutToCSRError extends Error {\n constructor(reason){\n super(\"Bail out to client-side rendering: \" + reason);\n this.reason = reason;\n this.digest = BAILOUT_TO_CSR;\n }\n}\nfunction isBailoutToCSRError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err)) {\n return false;\n }\n return err.digest === BAILOUT_TO_CSR;\n} //# sourceMappingURL=bailout-to-csr.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9sYXp5LWR5bmFtaWMvYmFpbG91dC10by1jc3IuanMiLCJtYXBwaW5ncyI6IkFBQUEsK0dBQStHOzs7Ozs7Ozs7Ozs7O0lBSWxHQSxtQkFBaUI7ZUFBakJBOztJQVNHQyxxQkFBbUI7ZUFBbkJBOzs7QUFaaEIsTUFBTUMsaUJBQWlCO0FBR2hCLE1BQU1GLDBCQUEwQkc7SUFHckNDLFlBQVlDLE1BQThCLENBQUU7UUFDMUMsS0FBSyxDQUFDLHdDQUFzQ0E7YUFEbEJBLE1BQUFBLEdBQUFBO2FBRlpDLE1BQUFBLEdBQVNKO0lBSXpCO0FBQ0Y7QUFHTyxTQUFTRCxvQkFBb0JNLEdBQVk7SUFDOUMsSUFBSSxPQUFPQSxRQUFRLFlBQVlBLFFBQVEsUUFBUSxDQUFFLGFBQVlBLEdBQUFBLEdBQU07UUFDakUsT0FBTztJQUNUO0lBRUEsT0FBT0EsSUFBSUQsTUFBTSxLQUFLSjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyLnRzPzc5MTciXSwibmFtZXMiOlsiQmFpbG91dFRvQ1NSRXJyb3IiLCJpc0JhaWxvdXRUb0NTUkVycm9yIiwiQkFJTE9VVF9UT19DU1IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwicmVhc29uIiwiZGlnZXN0IiwiZXJyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/magic-identifier.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/magic-identifier.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n MAGIC_IDENTIFIER_REGEX: function() {\n return MAGIC_IDENTIFIER_REGEX;\n },\n decodeMagicIdentifier: function() {\n return decodeMagicIdentifier;\n }\n});\nfunction decodeHex(hexStr) {\n if (hexStr.trim() === \"\") {\n throw new Error(\"can't decode empty hex\");\n }\n const num = parseInt(hexStr, 16);\n if (isNaN(num)) {\n throw new Error(\"invalid hex: `\" + hexStr + \"`\");\n }\n return String.fromCodePoint(num);\n}\nvar Mode;\nconst DECODE_REGEX = /^__TURBOPACK__([a-zA-Z0-9_$]+)__$/;\nfunction decodeMagicIdentifier(identifier) {\n const matches = identifier.match(DECODE_REGEX);\n if (!matches) {\n return identifier;\n }\n const inner = matches[1];\n let output = \"\";\n let mode = 0;\n let buffer = \"\";\n for(let i = 0; i < inner.length; i++){\n const char = inner[i];\n if (mode === 0) {\n if (char === \"_\") {\n mode = 1;\n } else if (char === \"$\") {\n mode = 2;\n } else {\n output += char;\n }\n } else if (mode === 1) {\n if (char === \"_\") {\n output += \" \";\n mode = 0;\n } else if (char === \"$\") {\n output += \"_\";\n mode = 2;\n } else {\n output += char;\n mode = 0;\n }\n } else if (mode === 2) {\n if (buffer.length === 2) {\n output += decodeHex(buffer);\n buffer = \"\";\n }\n if (char === \"_\") {\n if (buffer !== \"\") {\n throw new Error(\"invalid hex: `\" + buffer + \"`\");\n }\n mode = 3;\n } else if (char === \"$\") {\n if (buffer !== \"\") {\n throw new Error(\"invalid hex: `\" + buffer + \"`\");\n }\n mode = 0;\n } else {\n buffer += char;\n }\n } else if (mode === 3) {\n if (char === \"_\") {\n throw new Error(\"invalid hex: `\" + (buffer + char) + \"`\");\n } else if (char === \"$\") {\n output += decodeHex(buffer);\n buffer = \"\";\n mode = 0;\n } else {\n buffer += char;\n }\n }\n }\n return output;\n}\nconst MAGIC_IDENTIFIER_REGEX = /__TURBOPACK__[a-zA-Z0-9_$]+__/g; //# sourceMappingURL=magic-identifier.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYWdpYy1pZGVudGlmaWVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQThGYUEsd0JBQXNCO2VBQXRCQTs7SUF4RUdDLHVCQUFxQjtlQUFyQkE7OztBQXRCaEIsU0FBU0MsVUFBVUMsTUFBYztJQUMvQixJQUFJQSxPQUFPQyxJQUFJLE9BQU8sSUFBSTtRQUN4QixNQUFNLElBQUlDLE1BQU07SUFDbEI7SUFFQSxNQUFNQyxNQUFNQyxTQUFTSixRQUFRO0lBQzdCLElBQUlLLE1BQU1GLE1BQU07UUFDZCxNQUFNLElBQUlELE1BQU0sbUJBQWtCRixTQUFPO0lBQzNDO0lBRUEsT0FBT00sT0FBT0MsYUFBYSxDQUFDSjtBQUM5Qjs7QUFTQSxNQUFNSyxlQUFlO0FBRWQsU0FBU1Ysc0JBQXNCVyxVQUFrQjtJQUN0RCxNQUFNQyxVQUFVRCxXQUFXRSxLQUFLLENBQUNIO0lBQ2pDLElBQUksQ0FBQ0UsU0FBUztRQUNaLE9BQU9EO0lBQ1Q7SUFFQSxNQUFNRyxRQUFRRixPQUFPLENBQUMsRUFBRTtJQUV4QixJQUFJRyxTQUFTO0lBRWIsSUFBSUMsT0FBQUE7SUFDSixJQUFJQyxTQUFTO0lBQ2IsSUFBSyxJQUFJQyxJQUFJLEdBQUdBLElBQUlKLE1BQU1LLE1BQU0sRUFBRUQsSUFBSztRQUNyQyxNQUFNRSxPQUFPTixLQUFLLENBQUNJLEVBQUU7UUFFckIsSUFBSUYsU0FBQUEsR0FBb0I7WUFDdEIsSUFBSUksU0FBUyxLQUFLO2dCQUNoQkosT0FBQUE7WUFDRixPQUFPLElBQUlJLFNBQVMsS0FBSztnQkFDdkJKLE9BQUFBO1lBQ0YsT0FBTztnQkFDTEQsVUFBVUs7WUFDWjtRQUNGLE9BQU8sSUFBSUosU0FBQUEsR0FBMEI7WUFDbkMsSUFBSUksU0FBUyxLQUFLO2dCQUNoQkwsVUFBVTtnQkFDVkMsT0FBQUE7WUFDRixPQUFPLElBQUlJLFNBQVMsS0FBSztnQkFDdkJMLFVBQVU7Z0JBQ1ZDLE9BQUFBO1lBQ0YsT0FBTztnQkFDTEQsVUFBVUs7Z0JBQ1ZKLE9BQUFBO1lBQ0Y7UUFDRixPQUFPLElBQUlBLFNBQUFBLEdBQW1CO1lBQzVCLElBQUlDLE9BQU9FLE1BQU0sS0FBSyxHQUFHO2dCQUN2QkosVUFBVWQsVUFBVWdCO2dCQUNwQkEsU0FBUztZQUNYO1lBRUEsSUFBSUcsU0FBUyxLQUFLO2dCQUNoQixJQUFJSCxXQUFXLElBQUk7b0JBQ2pCLE1BQU0sSUFBSWIsTUFBTSxtQkFBa0JhLFNBQU87Z0JBQzNDO2dCQUVBRCxPQUFBQTtZQUNGLE9BQU8sSUFBSUksU0FBUyxLQUFLO2dCQUN2QixJQUFJSCxXQUFXLElBQUk7b0JBQ2pCLE1BQU0sSUFBSWIsTUFBTSxtQkFBa0JhLFNBQU87Z0JBQzNDO2dCQUVBRCxPQUFBQTtZQUNGLE9BQU87Z0JBQ0xDLFVBQVVHO1lBQ1o7UUFDRixPQUFPLElBQUlKLFNBQUFBLEdBQXVCO1lBQ2hDLElBQUlJLFNBQVMsS0FBSztnQkFDaEIsTUFBTSxJQUFJaEIsTUFBTSxtQkFBa0JhLENBQUFBLFNBQVNHLElBQUFBLElBQUs7WUFDbEQsT0FBTyxJQUFJQSxTQUFTLEtBQUs7Z0JBQ3ZCTCxVQUFVZCxVQUFVZ0I7Z0JBQ3BCQSxTQUFTO2dCQUVURCxPQUFBQTtZQUNGLE9BQU87Z0JBQ0xDLFVBQVVHO1lBQ1o7UUFDRjtJQUNGO0lBRUEsT0FBT0w7QUFDVDtBQUVPLE1BQU1oQix5QkFBeUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL21hZ2ljLWlkZW50aWZpZXIudHM/OTkxNCJdLCJuYW1lcyI6WyJNQUdJQ19JREVOVElGSUVSX1JFR0VYIiwiZGVjb2RlTWFnaWNJZGVudGlmaWVyIiwiZGVjb2RlSGV4IiwiaGV4U3RyIiwidHJpbSIsIkVycm9yIiwibnVtIiwicGFyc2VJbnQiLCJpc05hTiIsIlN0cmluZyIsImZyb21Db2RlUG9pbnQiLCJERUNPREVfUkVHRVgiLCJpZGVudGlmaWVyIiwibWF0Y2hlcyIsIm1hdGNoIiwiaW5uZXIiLCJvdXRwdXQiLCJtb2RlIiwiYnVmZmVyIiwiaSIsImxlbmd0aCIsImNoYXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/magic-identifier.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! - \*****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9wYWdlLXBhdGgvZW5zdXJlLWxlYWRpbmctc2xhc2guanMiLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDOzs7O3NEQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxtQkFBbUJDLElBQVk7SUFDN0MsT0FBT0EsS0FBS0MsVUFBVSxDQUFDLE9BQU9ELE9BQU8sTUFBSUE7QUFDM0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3BhZ2UtcGF0aC9lbnN1cmUtbGVhZGluZy1zbGFzaC50cz8xOGYyIl0sIm5hbWVzIjpbImVuc3VyZUxlYWRpbmdTbGFzaCIsInBhdGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/action-queue.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/action-queue.js ***! - \******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ActionQueueContext: function() {\n return ActionQueueContext;\n },\n createMutableActionQueue: function() {\n return createMutableActionQueue;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../../../client/components/router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _routerreducer = __webpack_require__(/*! ../../../client/components/router-reducer/router-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst ActionQueueContext = _react.default.createContext(null);\nfunction runRemainingActions(actionQueue, setState) {\n if (actionQueue.pending !== null) {\n actionQueue.pending = actionQueue.pending.next;\n if (actionQueue.pending !== null) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n runAction({\n actionQueue,\n action: actionQueue.pending,\n setState\n });\n } else {\n // No more actions are pending, check if a refresh is needed\n if (actionQueue.needsRefresh) {\n actionQueue.needsRefresh = false;\n actionQueue.dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n }, setState);\n }\n }\n }\n}\nasync function runAction(param) {\n let { actionQueue, action, setState } = param;\n const prevState = actionQueue.state;\n if (!prevState) {\n // This shouldn't happen as the state is initialized in the dispatcher if it's not set\n throw new Error(\"Invariant: Router state not initialized\");\n }\n actionQueue.pending = action;\n const payload = action.payload;\n const actionResult = actionQueue.action(prevState, payload);\n function handleResult(nextState) {\n // if we discarded this action, the state should also be discarded\n if (action.discarded) {\n return;\n }\n actionQueue.state = nextState;\n if (actionQueue.devToolsInstance) {\n actionQueue.devToolsInstance.send(payload, nextState);\n }\n runRemainingActions(actionQueue, setState);\n action.resolve(nextState);\n }\n // if the action is a promise, set up a callback to resolve it\n if ((0, _routerreducertypes.isThenable)(actionResult)) {\n actionResult.then(handleResult, (err)=>{\n runRemainingActions(actionQueue, setState);\n action.reject(err);\n });\n } else {\n handleResult(actionResult);\n }\n}\nfunction dispatchAction(actionQueue, payload, setState) {\n let resolvers = {\n resolve: setState,\n reject: ()=>{}\n };\n // most of the action types are async with the exception of restore\n // it's important that restore is handled quickly since it's fired on the popstate event\n // and we don't want to add any delay on a back/forward nav\n // this only creates a promise for the async actions\n if (payload.type !== _routerreducertypes.ACTION_RESTORE) {\n // Create the promise and assign the resolvers to the object.\n const deferredPromise = new Promise((resolve, reject)=>{\n resolvers = {\n resolve,\n reject\n };\n });\n (0, _react.startTransition)(()=>{\n // we immediately notify React of the pending promise -- the resolver is attached to the action node\n // and will be called when the associated action promise resolves\n setState(deferredPromise);\n });\n }\n const newAction = {\n payload,\n next: null,\n resolve: resolvers.resolve,\n reject: resolvers.reject\n };\n // Check if the queue is empty\n if (actionQueue.pending === null) {\n // The queue is empty, so add the action and start it immediately\n // Mark this action as the last in the queue\n actionQueue.last = newAction;\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else if (payload.type === _routerreducertypes.ACTION_NAVIGATE || payload.type === _routerreducertypes.ACTION_RESTORE) {\n // Navigations (including back/forward) take priority over any pending actions.\n // Mark the pending action as discarded (so the state is never applied) and start the navigation action immediately.\n actionQueue.pending.discarded = true;\n // Mark this action as the last in the queue\n actionQueue.last = newAction;\n // if the pending action was a server action, mark the queue as needing a refresh once events are processed\n if (actionQueue.pending.payload.type === _routerreducertypes.ACTION_SERVER_ACTION) {\n actionQueue.needsRefresh = true;\n }\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else {\n // The queue is not empty, so add the action to the end of the queue\n // It will be started by runRemainingActions after the previous action finishes\n if (actionQueue.last !== null) {\n actionQueue.last.next = newAction;\n }\n actionQueue.last = newAction;\n }\n}\nfunction createMutableActionQueue() {\n const actionQueue = {\n state: null,\n dispatch: (payload, setState)=>dispatchAction(actionQueue, payload, setState),\n action: async (state, action)=>{\n if (state === null) {\n throw new Error(\"Invariant: Router state not initialized\");\n }\n const result = (0, _routerreducer.reducer)(state, action);\n return result;\n },\n pending: null,\n last: null\n };\n return actionQueue;\n} //# sourceMappingURL=action-queue.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvYWN0aW9uLXF1ZXVlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWtDYUEsb0JBQWtCO2VBQWxCQTs7SUEySkdDLDBCQUF3QjtlQUF4QkE7Ozs7Z0RBcExUOzJDQUVpQjs2RUFDZTtBQXNCaEMsTUFBTUQscUJBQ1hFLE9BQUFBLE9BQUssQ0FBQ0MsYUFBYSxDQUE4QjtBQUVuRCxTQUFTQyxvQkFDUEMsV0FBaUMsRUFDakNDLFFBQThCO0lBRTlCLElBQUlELFlBQVlFLE9BQU8sS0FBSyxNQUFNO1FBQ2hDRixZQUFZRSxPQUFPLEdBQUdGLFlBQVlFLE9BQU8sQ0FBQ0MsSUFBSTtRQUM5QyxJQUFJSCxZQUFZRSxPQUFPLEtBQUssTUFBTTtZQUNoQyxtRUFBbUU7WUFDbkVFLFVBQVU7Z0JBQ1JKO2dCQUNBSyxRQUFRTCxZQUFZRSxPQUFPO2dCQUMzQkQ7WUFDRjtRQUNGLE9BQU87WUFDTCw0REFBNEQ7WUFDNUQsSUFBSUQsWUFBWU0sWUFBWSxFQUFFO2dCQUM1Qk4sWUFBWU0sWUFBWSxHQUFHO2dCQUMzQk4sWUFBWU8sUUFBUSxDQUNsQjtvQkFDRUMsTUFBTUMsb0JBQUFBLGNBQWM7b0JBQ3BCQyxRQUFRQyxPQUFPQyxRQUFRLENBQUNGLE1BQU07Z0JBQ2hDLEdBQ0FUO1lBRUo7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxlQUFlRyxVQUFVUyxLQVF4QjtJQVJ3QixNQUN2QmIsV0FBVyxFQUNYSyxNQUFNLEVBQ05KLFFBQVEsRUFLVCxHQVJ3Qlk7SUFTdkIsTUFBTUMsWUFBWWQsWUFBWWUsS0FBSztJQUNuQyxJQUFJLENBQUNELFdBQVc7UUFDZCxzRkFBc0Y7UUFDdEYsTUFBTSxJQUFJRSxNQUFNO0lBQ2xCO0lBRUFoQixZQUFZRSxPQUFPLEdBQUdHO0lBRXRCLE1BQU1ZLFVBQVVaLE9BQU9ZLE9BQU87SUFDOUIsTUFBTUMsZUFBZWxCLFlBQVlLLE1BQU0s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QUFNO0lBQ1I7SUFFQSxPQUFPcEM7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL2FjdGlvbi1xdWV1ZS50cz9iMDViIl0sIm5hbWVzIjpbIkFjdGlvblF1ZXVlQ29udGV4dCIsImNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInJ1blJlbWFpbmluZ0FjdGlvbnMiLCJhY3Rpb25RdWV1ZSIsInNldFN0YXRlIiwicGVuZGluZyIsIm5leHQiLCJydW5BY3Rpb24iLCJhY3Rpb24iLCJuZWVkc1JlZnJlc2giLCJkaXNwYXRjaCIsInR5cGUiLCJBQ1RJT05fUkVGUkVTSCIsIm9yaWdpbiIsIndpbmRvdyIsImxvY2F0aW9uIiwicGFyYW0iLCJwcmV2U3RhdGUiLCJzdGF0ZSIsIkVycm9yIiwicGF5bG9hZCIsImFjdGlvblJlc3VsdCIsImhhbmRsZVJlc3VsdCIsIm5leHRTdGF0ZSIsImRpc2NhcmRlZCIsImRldlRvb2xzSW5zdGFuY2UiLCJzZW5kIiwicmVzb2x2ZSIsImlzVGhlbmFibGUiLCJ0aGVuIiwiZXJyIiwicmVqZWN0IiwiZGlzcGF0Y2hBY3Rpb24iLCJyZXNvbHZlcnMiLCJBQ1RJT05fUkVTVE9SRSIsImRlZmVycmVkUHJvbWlzZSIsIlByb21pc2UiLCJzdGFydFRyYW5zaXRpb24iLCJuZXdBY3Rpb24iLCJsYXN0IiwiQUNUSU9OX05BVklHQVRFIiwiQUNUSU9OX1NFUlZFUl9BQ1RJT04iLCJyZXN1bHQiLCJyZWR1Y2VyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/action-queue.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYWRkLXBhdGgtcHJlZml4LmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBTWdCQTs7O2VBQUFBOzs7dUNBTlU7QUFNbkIsU0FBU0EsY0FBY0MsSUFBWSxFQUFFQyxNQUFlO0lBQ3pELElBQUksQ0FBQ0QsS0FBS0UsVUFBVSxDQUFDLFFBQVEsQ0FBQ0QsUUFBUTtRQUNwQyxPQUFPRDtJQUNUO0lBRUEsTUFBTSxFQUFFRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLFdBQUFBLFNBQVMsRUFBQ047SUFDNUMsT0FBTyxLQUFHQyxTQUFTRSxXQUFXQyxRQUFRQztBQUN4QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC50cz9iNDU1Il0sIm5hbWVzIjpbImFkZFBhdGhQcmVmaXgiLCJwYXRoIiwicHJlZml4Iiwic3RhcnRzV2l0aCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! - \*********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYXBwLXBhdGhzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXNCZ0JBLGtCQUFnQjtlQUFoQkE7O0lBbUNBQyxpQkFBZTtlQUFmQTs7O2dEQXpEbUI7cUNBQ0o7QUFxQnhCLFNBQVNELGlCQUFpQkUsS0FBYTtJQUM1QyxPQUFPQyxDQUFBQSxHQUFBQSxvQkFBQUEsa0JBQWtCLEVBQ3ZCRCxNQUFNRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDLENBQUNDLFVBQVVDLFNBQVNDLE9BQU9DO1FBQ2pELDhCQUE4QjtRQUM5QixJQUFJLENBQUNGLFNBQVM7WUFDWixPQUFPRDtRQUNUO1FBRUEsc0JBQXNCO1FBQ3RCLElBQUlJLENBQUFBLEdBQUFBLFNBQUFBLGNBQWMsRUFBQ0gsVUFBVTtZQUMzQixPQUFPRDtRQUNUO1FBRUEsaUNBQWlDO1FBQ2pDLElBQUlDLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSztZQUN0QixPQUFPRDtRQUNUO1FBRUEsdURBQXVEO1FBQ3ZELElBQ0UsQ0FBQ0MsWUFBWSxVQUFVQSxZQUFZLFlBQ25DQyxVQUFVQyxTQUFTRSxNQUFNLEdBQUcsR0FDNUI7WUFDQSxPQUFPTDtRQUNUO1FBRUEsT0FBT0EsV0FBWSxNQUFHQztJQUN4QixHQUFHO0FBRVA7QUFNTyxTQUFTTixnQkFBZ0JXLEdBQVc7SUFDekMsT0FBT0EsSUFBSUMsT0FBTyxDQUNoQixlQUVBO0FBRUoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHMudHM/ZDQ2ZCJdLCJuYW1lcyI6WyJub3JtYWxpemVBcHBQYXRoIiwibm9ybWFsaXplUnNjVVJMIiwicm91dGUiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJzcGxpdCIsInJlZHVjZSIsInBhdGhuYW1lIiwic2VnbWVudCIsImluZGV4Iiwic2VnbWVudHMiLCJpc0dyb3VwU2VnbWVudCIsImxlbmd0aCIsInVybCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-bot.js ***! - \******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isBot\", ({\n enumerable: true,\n get: function() {\n return isBot;\n }\n}));\nfunction isBot(userAgent) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(userAgent);\n} //# sourceMappingURL=is-bot.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtYm90LmpzIiwibWFwcGluZ3MiOiI7Ozs7eUNBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxNQUFNQyxTQUFpQjtJQUNyQyxPQUFPLG9WQUFvVkMsSUFBSSxDQUM3VkQ7QUFFSiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC50cz84YTM3Il0sIm5hbWVzIjpbImlzQm90IiwidXNlckFnZW50IiwidGVzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDOzs7OzZDQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxVQUFVQyxJQUFZO0lBQ3BDLE1BQU1DLFlBQVlELEtBQUtFLE9BQU8sQ0FBQztJQUMvQixNQUFNQyxhQUFhSCxLQUFLRSxPQUFPLENBQUM7SUFDaEMsTUFBTUUsV0FBV0QsYUFBYSxDQUFDLEtBQU1GLENBQUFBLFlBQVksS0FBS0UsYUFBYUYsU0FBQUE7SUFFbkUsSUFBSUcsWUFBWUgsWUFBWSxDQUFDLEdBQUc7UUFDOUIsT0FBTztZQUNMSSxVQUFVTCxLQUFLTSxTQUFTLENBQUMsR0FBR0YsV0FBV0QsYUFBYUY7WUFDcERNLE9BQU9ILFdBQ0hKLEtBQUtNLFNBQVMsQ0FBQ0gsWUFBWUYsWUFBWSxDQUFDLElBQUlBLFlBQVlPLGFBQ3hEO1lBQ0pDLE1BQU1SLFlBQVksQ0FBQyxJQUFJRCxLQUFLVSxLQUFLLENBQUNULGFBQWE7UUFDakQ7SUFDRjtJQUVBLE9BQU87UUFBRUksVUFBVUw7UUFBTU8sT0FBTztRQUFJRSxNQUFNO0lBQUc7QUFDL0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS1wYXRoLnRzP2EzOWUiXSwibmFtZXMiOlsicGFyc2VQYXRoIiwicGF0aCIsImhhc2hJbmRleCIsImluZGV4T2YiLCJxdWVyeUluZGV4IiwiaGFzUXVlcnkiLCJwYXRobmFtZSIsInN1YnN0cmluZyIsInF1ZXJ5IiwidW5kZWZpbmVkIiwiaGFzaCIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGF0aC1oYXMtcHJlZml4LmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBU2dCQTs7O2VBQUFBOzs7dUNBVFU7QUFTbkIsU0FBU0EsY0FBY0MsSUFBWSxFQUFFQyxNQUFjO0lBQ3hELElBQUksT0FBT0QsU0FBUyxVQUFVO1FBQzVCLE9BQU87SUFDVDtJQUVBLE1BQU0sRUFBRUUsUUFBUSxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLFdBQUFBLFNBQVMsRUFBQ0g7SUFDL0IsT0FBT0UsYUFBYUQsVUFBVUMsU0FBU0UsVUFBVSxDQUFDSCxTQUFTO0FBQzdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGF0aC1oYXMtcHJlZml4LnRzPzkwOWEiXSwibmFtZXMiOlsicGF0aEhhc1ByZWZpeCIsInBhdGgiLCJwcmVmaXgiLCJwYXRobmFtZSIsInBhcnNlUGF0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! - \*********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Q0FNQzs7Ozt1REFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0Esb0JBQW9CQyxLQUFhO0lBQy9DLE9BQU9BLE1BQU1DLE9BQU8sQ0FBQyxPQUFPLE9BQU87QUFDckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yZW1vdmUtdHJhaWxpbmctc2xhc2gudHM/ZTk4MiJdLCJuYW1lcyI6WyJyZW1vdmVUcmFpbGluZ1NsYXNoIiwicm91dGUiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/segment.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n isGroupSegment: function() {\n return isGroupSegment;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zZWdtZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQU1hQSxxQkFBbUI7ZUFBbkJBOztJQURBQyxrQkFBZ0I7ZUFBaEJBOztJQUxHQyxnQkFBYztlQUFkQTs7O0FBQVQsU0FBU0EsZUFBZUMsT0FBZTtJQUM1QyxzQ0FBc0M7SUFDdEMsT0FBT0EsT0FBTyxDQUFDLEVBQUUsS0FBSyxPQUFPQSxRQUFRQyxRQUFRLENBQUM7QUFDaEQ7QUFFTyxNQUFNSCxtQkFBbUI7QUFDekIsTUFBTUQsc0JBQXNCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9zZWdtZW50LnRzP2FkMjUiXSwibmFtZXMiOlsiREVGQVVMVF9TRUdNRU5UX0tFWSIsIlBBR0VfU0VHTUVOVF9LRVkiLCJpc0dyb3VwU2VnbWVudCIsInNlZ21lbnQiLCJlbmRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ServerInsertedHTMLContext: function() {\n return ServerInsertedHTMLContext;\n },\n useServerInsertedHTML: function() {\n return useServerInsertedHTML;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst ServerInsertedHTMLContext = /*#__PURE__*/ _react.default.createContext(null);\nfunction useServerInsertedHTML(callback) {\n const addInsertedServerHTMLCallback = (0, _react.useContext)(ServerInsertedHTMLContext);\n // Should have no effects on client where there's no flush effects provider\n if (addInsertedServerHTMLCallback) {\n addInsertedServerHTMLCallback(callback);\n }\n} //# sourceMappingURL=server-inserted-html.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zZXJ2ZXItaW5zZXJ0ZWQtaHRtbC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQVlhQSxTQUFBQTsrQkFBQUE7O0lBR0dDOzJCQUFBQTs7Ozs7QUFIVCxNQUFNRCxTQUFBQSxXQUFBQSxHQUFBQSwwQkFDWEUsQ0FBQUEsQ0FBQUEsbUJBQUFBLENBQU1DLG1GQUFBQTtBQUVELE1BQUFILDRCQUErQkksV0FBK0IsR0FBQUMsT0FBQUMsT0FBQSxDQUFBSCxhQUFBO1NBQ25FRixzQkFBTU0sUUFBQUE7SUFDTixNQUFBQSxnQ0FBQSxJQUFBRixPQUFBRyxVQUFBLEVBQUFSO0lBQ0EsMkVBQW1DO1FBQ2pDTywrQkFBOEJIO1FBQ2hDRyw4QkFBQUg7SUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvc2VydmVyLWluc2VydGVkLWh0bWwuc2hhcmVkLXJ1bnRpbWUudHN4PzQxNjciXSwibmFtZXMiOlsiU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dCIsInVzZVNlcnZlckluc2VydGVkSFRNTCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsImNhbGxiYWNrIiwiX3JlYWN0IiwiZGVmYXVsdCIsImFkZEluc2VydGVkU2VydmVySFRNTENhbGxiYWNrIiwidXNlQ29udGV4dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs0Q0FXU0E7OztlQUFBQTs7O0FBWFQsSUFBSUEsV0FBVyxDQUFDQyxLQUFlO0FBQy9CLElBQUlDLElBQXlCLEVBQWM7SUFDekMsTUFBTUMsV0FBVyxJQUFJQztJQUNyQkosV0FBVyxDQUFDSztRQUNWLElBQUksQ0FBQ0YsU0FBU0csR0FBRyxDQUFDRCxNQUFNO1lBQ3RCRSxRQUFRQyxJQUFJLENBQUNIO1FBQ2Y7UUFDQUYsU0FBU00sR0FBRyxDQUFDSjtJQUNmO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZS50cz9kMDQxIl0sIm5hbWVzIjpbIndhcm5PbmNlIiwiXyIsInByb2Nlc3MiLCJ3YXJuaW5ncyIsIlNldCIsIm1zZyIsImhhcyIsImNvbnNvbGUiLCJ3YXJuIiwiYWRkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\n")); - -/***/ }), - -/***/ "(shared)/./node_modules/next/dist/client/components/action-async-storage-instance.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/action-async-storage-instance.js ***! - \***********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"actionAsyncStorage\", ({\n enumerable: true,\n get: function() {\n return actionAsyncStorage;\n }\n}));\nconst _asynclocalstorage = __webpack_require__(/*! ./async-local-storage */ \"(shared)/./node_modules/next/dist/client/components/async-local-storage.js\");\nconst actionAsyncStorage = (0, _asynclocalstorage.createAsyncLocalStorage)();\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=action-async-storage-instance.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FjdGlvbi1hc3luYy1zdG9yYWdlLWluc3RhbmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBR2FBOzs7ZUFBQUE7OzsrQ0FGMkI7QUFFakMsTUFBTUEscUJBQXlDQyxDQUFBQSxHQUFBQSxtQkFBQUEsdUJBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvYWN0aW9uLWFzeW5jLXN0b3JhZ2UtaW5zdGFuY2UudHM/YmI0YSJdLCJuYW1lcyI6WyJhY3Rpb25Bc3luY1N0b3JhZ2UiLCJjcmVhdGVBc3luY0xvY2FsU3RvcmFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(shared)/./node_modules/next/dist/client/components/action-async-storage-instance.js\n")); - -/***/ }), - -/***/ "(shared)/./node_modules/next/dist/client/components/async-local-storage.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/async-local-storage.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createAsyncLocalStorage\", ({\n enumerable: true,\n get: function() {\n return createAsyncLocalStorage;\n }\n}));\nconst sharedAsyncLocalStorageNotAvailableError = new Error(\"Invariant: AsyncLocalStorage accessed in runtime where it is not available\");\nclass FakeAsyncLocalStorage {\n disable() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n getStore() {\n // This fake implementation of AsyncLocalStorage always returns `undefined`.\n return undefined;\n }\n run() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n exit() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n enterWith() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n}\nconst maybeGlobalAsyncLocalStorage = globalThis.AsyncLocalStorage;\nfunction createAsyncLocalStorage() {\n if (maybeGlobalAsyncLocalStorage) {\n return new maybeGlobalAsyncLocalStorage();\n }\n return new FakeAsyncLocalStorage();\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=async-local-storage.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FzeW5jLWxvY2FsLXN0b3JhZ2UuanMiLCJtYXBwaW5ncyI6Ijs7OzsyREFpQ2dCQTs7O2VBQUFBOzs7QUEvQmhCLE1BQU1DLDJDQUEyQyxJQUFJQyxNQUNuRDtBQUdGLE1BQU1DO0lBR0pDLFVBQWdCO1FBQ2QsTUFBTUg7SUFDUjtJQUVBSSxXQUE4QjtRQUM1Qiw0RUFBNEU7UUFDNUUsT0FBT0M7SUFDVDtJQUVBQyxNQUFZO1FBQ1YsTUFBTU47SUFDUjtJQUVBTyxPQUFhO1FBQ1gsTUFBTVA7SUFDUjtJQUVBUSxZQUFrQjtRQUNoQixNQUFNUjtJQUNSO0FBQ0Y7QUFFQSxNQUFNUywrQkFBK0JDLFdBQW9CQyxpQkFBaUI7QUFFbkUsU0FBU1o7SUFHZCxJQUFJVSw4QkFBOEI7UUFDaEMsT0FBTyxJQUFJQTtJQUNiO0lBQ0EsT0FBTyxJQUFJUDtBQUNiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvYXN5bmMtbG9jYWwtc3RvcmFnZS50cz85N2Y2Il0sIm5hbWVzIjpbImNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlIiwic2hhcmVkQXN5bmNMb2NhbFN0b3JhZ2VOb3RBdmFpbGFibGVFcnJvciIsIkVycm9yIiwiRmFrZUFzeW5jTG9jYWxTdG9yYWdlIiwiZGlzYWJsZSIsImdldFN0b3JlIiwidW5kZWZpbmVkIiwicnVuIiwiZXhpdCIsImVudGVyV2l0aCIsIm1heWJlR2xvYmFsQXN5bmNMb2NhbFN0b3JhZ2UiLCJnbG9iYWxUaGlzIiwiQXN5bmNMb2NhbFN0b3JhZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(shared)/./node_modules/next/dist/client/components/async-local-storage.js\n")); - -/***/ }), - -/***/ "(shared)/./node_modules/next/dist/client/components/request-async-storage-instance.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/request-async-storage-instance.js ***! - \************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"requestAsyncStorage\", ({\n enumerable: true,\n get: function() {\n return requestAsyncStorage;\n }\n}));\nconst _asynclocalstorage = __webpack_require__(/*! ./async-local-storage */ \"(shared)/./node_modules/next/dist/client/components/async-local-storage.js\");\nconst requestAsyncStorage = (0, _asynclocalstorage.createAsyncLocalStorage)();\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-async-storage-instance.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlcXVlc3QtYXN5bmMtc3RvcmFnZS1pbnN0YW5jZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3VEQUdhQTs7O2VBQUFBOzs7K0NBSDJCO0FBR2pDLE1BQU1BLHNCQUNYQyxDQUFBQSxHQUFBQSxtQkFBQUEsdUJBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVxdWVzdC1hc3luYy1zdG9yYWdlLWluc3RhbmNlLnRzPzI5OTkiXSwibmFtZXMiOlsicmVxdWVzdEFzeW5jU3RvcmFnZSIsImNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(shared)/./node_modules/next/dist/client/components/request-async-storage-instance.js\n")); - -/***/ }), - -/***/ "(shared)/./node_modules/next/dist/client/components/static-generation-async-storage-instance.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/static-generation-async-storage-instance.js ***! - \**********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"staticGenerationAsyncStorage\", ({\n enumerable: true,\n get: function() {\n return staticGenerationAsyncStorage;\n }\n}));\nconst _asynclocalstorage = __webpack_require__(/*! ./async-local-storage */ \"(shared)/./node_modules/next/dist/client/components/async-local-storage.js\");\nconst staticGenerationAsyncStorage = (0, _asynclocalstorage.createAsyncLocalStorage)();\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-async-storage-instance.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWFzeW5jLXN0b3JhZ2UtaW5zdGFuY2UuanMiLCJtYXBwaW5ncyI6Ijs7OztnRUFHYUE7OztlQUFBQTs7OytDQUYyQjtBQUVqQyxNQUFNQSwrQkFDWEMsQ0FBQUEsR0FBQUEsbUJBQUFBLHVCQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWFzeW5jLXN0b3JhZ2UtaW5zdGFuY2UudHM/ZjcyNiJdLCJuYW1lcyI6WyJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(shared)/./node_modules/next/dist/client/components/static-generation-async-storage-instance.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nvar Scheduler = __webpack_require__(/*! next/dist/compiled/scheduler */ \"(app-pages-browser)/./node_modules/next/dist/compiled/scheduler/index.js\");\n\nvar Internals = {\n usingClientEntryPoint: false,\n Events: null,\n Dispatcher: {\n current: null\n }\n};\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar assign = Object.assign;\n\n// -----------------------------------------------------------------------------\n// Killswitch\n//\n// Flags that exist solely to turn off a change in case it causes a regression\n// when it rolls out to prod. We should remove these as soon as possible.\n// -----------------------------------------------------------------------------\n// -----------------------------------------------------------------------------\n// Land or remove (moderate effort)\n//\n// Flags that can be probably deleted or landed, but might require extra effort\n// like migrating internal callers or performance testing.\n// -----------------------------------------------------------------------------\n// TODO: Finish rolling out in www\n\nvar enableClientRenderFallbackOnTextMismatch = true;\nvar enableFormActions = true;\nvar enableAsyncActions = true; // Need to remove didTimeout argument from Scheduler before landing\n// Slated for removal in the future (significant effort)\n//\n// These are experiments that didn't work out, and never shipped, but we can't\n// delete from the codebase until we migrate internal callers.\n// -----------------------------------------------------------------------------\n// Add a callback property to suspense to notify which promises are currently\n// in the update queue. This allows reporting and tracing of what is causing\n// the user to see a loading state.\n//\n// Also allows hydration callbacks to fire when a dehydrated boundary gets\n// hydrated or deleted.\n//\n// This will eventually be replaced by the Transition Tracing proposal.\n\nvar enableSuspenseCallback = false; // Experimental Scope support.\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar alwaysThrottleRetries = true;\nvar syncLaneExpirationMs = 250;\nvar transitionLaneExpirationMs = 5000; // -----------------------------------------------------------------------------\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true;\n// Debugging and DevTools\n// -----------------------------------------------------------------------------\n// Adds user timing marks for e.g. state updates, suspense, and work loop stuff,\n// for an experimental timeline tool.\n\nvar enableSchedulingProfiler = true; // Helps identify side effects in render-phase lifecycle hooks and setState\n\nvar enableProfilerTimer = true; // Record durations for commit and passive effects phases.\n\nvar enableProfilerCommitHooks = true; // Phase param passed to onRender callback differentiates between an \"update\" and a \"cascading-update\".\n\nvar enableProfilerNestedUpdatePhase = true; // Adds verbose console logging for e.g. state updates, suspense, and work loop\n\nvar ReactCurrentDispatcher$3 = ReactSharedInternals.ReactCurrentDispatcher; // Since the \"not pending\" value is always the same, we can reuse the\n// same object across all transitions.\n\nvar sharedNotPendingObject = {\n pending: false,\n data: null,\n method: null,\n action: null\n};\nvar NotPending = Object.freeze(sharedNotPendingObject) ;\n\nfunction resolveDispatcher() {\n // Copied from react/src/ReactHooks.js. It's the same thing but in a\n // different package.\n var dispatcher = ReactCurrentDispatcher$3.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\n\nfunction useFormStatus() {\n {\n var dispatcher = resolveDispatcher(); // $FlowFixMe[not-a-function] We know this exists because of the feature check above.\n\n return dispatcher.useHostTransitionStatus();\n }\n}\nfunction useFormState(action, initialState, permalink) {\n {\n var dispatcher = resolveDispatcher(); // $FlowFixMe[not-a-function] This is unstable, thus optional\n\n return dispatcher.useFormState(action, initialState, permalink);\n }\n}\n\nvar valueStack = [];\nvar fiberStack;\n\n{\n fiberStack = [];\n}\n\nvar index = -1;\n\nfunction createCursor(defaultValue) {\n return {\n current: defaultValue\n };\n}\n\nfunction pop(cursor, fiber) {\n if (index < 0) {\n {\n error('Unexpected pop.');\n }\n\n return;\n }\n\n {\n if (fiber !== fiberStack[index]) {\n error('Unexpected Fiber popped.');\n }\n }\n\n cursor.current = valueStack[index];\n valueStack[index] = null;\n\n {\n fiberStack[index] = null;\n }\n\n index--;\n}\n\nfunction push(cursor, value, fiber) {\n index++;\n valueStack[index] = cursor.current;\n\n {\n fiberStack[index] = fiber;\n }\n\n cursor.current = value;\n}\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_SCOPE_TYPE = Symbol.for('react.scope');\nvar REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar contextStackCursor$1 = createCursor(null);\nvar contextFiberStackCursor = createCursor(null);\nvar rootInstanceStackCursor = createCursor(null); // Represents the nearest host transition provider (in React DOM, a <form />)\n// NOTE: Since forms cannot be nested, and this feature is only implemented by\n// React DOM, we don't technically need this to be a stack. It could be a single\n// module variable instead.\n\nvar hostTransitionProviderCursor = createCursor(null); // TODO: This should initialize to NotPendingTransition, a constant\n// imported from the fiber config. However, because of a cycle in the module\n// graph, that value isn't defined during this module's initialization. I can't\n// think of a way to work around this without moving that value out of the\n// fiber config. For now, the \"no provider\" case is handled when reading,\n// inside useHostTransitionStatus.\n\nvar HostTransitionContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n};\n\nfunction requiredContext(c) {\n {\n if (c === null) {\n error('Expected host context to exist. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n }\n\n return c;\n}\n\nfunction getCurrentRootHostContainer() {\n return rootInstanceStackCursor.current;\n}\n\nfunction getRootHostContainer() {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n return rootInstance;\n}\n\nfunction pushHostContainer(fiber, nextRootInstance) {\n // Push current root instance onto the stack;\n // This allows us to reset root when portals are popped.\n push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack.\n // However, we can't just call getRootHostContext() and push it because\n // we'd have a different number of entries on the stack depending on\n // whether getRootHostContext() throws somewhere in renderer code or not.\n // So we push an empty value first. This lets us safely unwind on errors.\n\n push(contextStackCursor$1, null, fiber);\n var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it.\n\n pop(contextStackCursor$1, fiber);\n push(contextStackCursor$1, nextRootContext, fiber);\n}\n\nfunction popHostContainer(fiber) {\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n pop(rootInstanceStackCursor, fiber);\n}\n\nfunction getHostContext() {\n var context = requiredContext(contextStackCursor$1.current);\n return context;\n}\n\nfunction pushHostContext(fiber) {\n {\n var stateHook = fiber.memoizedState;\n\n if (stateHook !== null) {\n // Only provide context if this fiber has been upgraded by a host\n // transition. We use the same optimization for regular host context below.\n push(hostTransitionProviderCursor, fiber, fiber);\n }\n }\n\n var context = requiredContext(contextStackCursor$1.current);\n var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique.\n\n if (context !== nextContext) {\n // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n push(contextFiberStackCursor, fiber, fiber);\n push(contextStackCursor$1, nextContext, fiber);\n }\n}\n\nfunction popHostContext(fiber) {\n if (contextFiberStackCursor.current === fiber) {\n // Do not pop unless this Fiber provided the current context.\n // pushHostContext() only pushes Fibers that provide unique contexts.\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n }\n\n {\n if (hostTransitionProviderCursor.current === fiber) {\n // Do not pop unless this Fiber provided the current context. This is mostly\n // a performance optimization, but conveniently it also prevents a potential\n // data race where a host provider is upgraded (i.e. memoizedState becomes\n // non-null) during a concurrent event. This is a bit of a flaw in the way\n // we upgrade host components, but because we're accounting for it here, it\n // should be fine.\n pop(hostTransitionProviderCursor, fiber); // When popping the transition provider, we reset the context value back\n // to `null`. We can do this because you're not allowd to nest forms. If\n // we allowed for multiple nested host transition providers, then we'd\n // need to reset this to the parent provider's status.\n\n {\n HostTransitionContext._currentValue = null;\n }\n }\n }\n}\n\nvar NoFlags$1 =\n/* */\n0;\nvar PerformedWork =\n/* */\n1;\nvar Placement =\n/* */\n2;\nvar DidCapture =\n/* */\n128;\nvar Hydrating =\n/* */\n4096; // You can change the rest (and add more).\n\nvar Update =\n/* */\n4;\n/* Skipped value: 0b0000000000000000000000001000; */\n\nvar ChildDeletion =\n/* */\n16;\nvar ContentReset =\n/* */\n32;\nvar Callback =\n/* */\n64;\n/* Used by DidCapture: 0b0000000000000000000010000000; */\n\nvar ForceClientRender =\n/* */\n256;\nvar Ref =\n/* */\n512;\nvar Snapshot =\n/* */\n1024;\nvar Passive$1 =\n/* */\n2048;\n/* Used by Hydrating: 0b0000000000000001000000000000; */\n\nvar Visibility =\n/* */\n8192;\nvar StoreConsistency =\n/* */\n16384; // It's OK to reuse these bits because these flags are mutually exclusive for\n// different fiber types. We should really be doing this for as many flags as\n// possible, because we're about to run out of bits.\n\nvar ScheduleRetry = StoreConsistency;\nvar ShouldSuspendCommit = Visibility;\nvar DidDefer = ContentReset;\nvar LifecycleEffectMask = Passive$1 | Update | Callback | Ref | Snapshot | StoreConsistency; // Union of all commit flags (flags with the lifetime of a particular commit)\n\nvar HostEffectMask =\n/* */\n32767; // These are not really side effects, but we still reuse this field.\n\nvar Incomplete =\n/* */\n32768;\nvar ShouldCapture =\n/* */\n65536;\nvar ForceUpdateForLegacySuspense =\n/* */\n131072;\nvar Forked =\n/* */\n1048576; // Static tags describe aspects of a fiber that are not specific to a render,\n// e.g. a fiber uses a passive effect (even if there are no updates on this particular render).\n// This enables us to defer more work in the unmount case,\n// since we can defer traversing the tree during layout to look for Passive effects,\n// and instead rely on the static flag as a signal that there may be cleanup work.\n\nvar RefStatic =\n/* */\n2097152;\nvar LayoutStatic =\n/* */\n4194304;\nvar PassiveStatic =\n/* */\n8388608;\nvar MaySuspendCommit =\n/* */\n16777216; // Flag used to identify newly inserted fibers. It isn't reset after commit unlike `Placement`.\n\nvar PlacementDEV =\n/* */\n33554432;\nvar MountLayoutDev =\n/* */\n67108864;\nvar MountPassiveDev =\n/* */\n134217728; // Groups of flags that are used in the commit phase to skip over trees that\n// don't contain effects, by checking subtreeFlags.\n\nvar BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visibility\n// flag logic (see #20043)\nUpdate | Snapshot | (0);\nvar MutationMask = Placement | Update | ChildDeletion | ContentReset | Ref | Hydrating | Visibility;\nvar LayoutMask = Update | Callback | Ref | Visibility; // TODO: Split into PassiveMountMask and PassiveUnmountMask\n\nvar PassiveMask = Passive$1 | Visibility | ChildDeletion; // Union of tags that don't get reset on clones.\n// This allows certain concepts to persist without recalculating them,\n// e.g. whether a subtree contains passive effects or portals.\n\nvar StaticMask = LayoutStatic | PassiveStatic | RefStatic | MaySuspendCommit;\n\n// This module only exists as an ESM wrapper around the external CommonJS\nvar scheduleCallback$3 = Scheduler.unstable_scheduleCallback;\nvar cancelCallback$1 = Scheduler.unstable_cancelCallback;\nvar shouldYield = Scheduler.unstable_shouldYield;\nvar requestPaint = Scheduler.unstable_requestPaint;\nvar now$1 = Scheduler.unstable_now;\nvar getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel;\nvar ImmediatePriority = Scheduler.unstable_ImmediatePriority;\nvar UserBlockingPriority = Scheduler.unstable_UserBlockingPriority;\nvar NormalPriority$1 = Scheduler.unstable_NormalPriority;\nvar LowPriority = Scheduler.unstable_LowPriority;\nvar IdlePriority = Scheduler.unstable_IdlePriority; // this doesn't actually exist on the scheduler, but it *does*\n// on scheduler/unstable_mock, which we'll need for internal testing\n\nvar log$1 = Scheduler.log;\nvar unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar rendererID = null;\nvar injectedHook = null;\nvar injectedProfilingHooks = null;\nvar hasLoggedError = false;\nvar isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined';\nfunction injectInternals(internals) {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // No DevTools\n return false;\n }\n\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // https://github.com/facebook/react/issues/3877\n return true;\n }\n\n if (!hook.supportsFiber) {\n {\n error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://reactjs.org/link/react-devtools');\n } // DevTools exists, even though it doesn't support Fiber.\n\n\n return true;\n }\n\n try {\n if (enableSchedulingProfiler) {\n // Conditionally inject these hooks only if Timeline profiler is supported by this build.\n // This gives DevTools a way to feature detect that isn't tied to version number\n // (since profiling and timeline are controlled by different feature flags).\n internals = assign({}, internals, {\n getLaneLabelMap: getLaneLabelMap,\n injectProfilingHooks: injectProfilingHooks\n });\n }\n\n rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks.\n\n injectedHook = hook;\n } catch (err) {\n // Catch all errors because it is unsafe to throw during initialization.\n {\n error('React instrumentation encountered an error: %s.', err);\n }\n }\n\n if (hook.checkDCE) {\n // This is the real DevTools.\n return true;\n } else {\n // This is likely a hook installed by Fast Refresh runtime.\n return false;\n }\n}\nfunction onScheduleRoot(root, children) {\n {\n if (injectedHook && typeof injectedHook.onScheduleFiberRoot === 'function') {\n try {\n injectedHook.onScheduleFiberRoot(rendererID, root, children);\n } catch (err) {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitRoot$1(root, eventPriority) {\n if (injectedHook && typeof injectedHook.onCommitFiberRoot === 'function') {\n try {\n var didError = (root.current.flags & DidCapture) === DidCapture;\n\n if (enableProfilerTimer) {\n var schedulerPriority;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n schedulerPriority = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriority = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriority = NormalPriority$1;\n break;\n\n case IdleEventPriority:\n schedulerPriority = IdlePriority;\n break;\n\n default:\n schedulerPriority = NormalPriority$1;\n break;\n }\n\n injectedHook.onCommitFiberRoot(rendererID, root, schedulerPriority, didError);\n }\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onPostCommitRoot(root) {\n if (injectedHook && typeof injectedHook.onPostCommitFiberRoot === 'function') {\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitUnmount(fiber) {\n if (injectedHook && typeof injectedHook.onCommitFiberUnmount === 'function') {\n try {\n injectedHook.onCommitFiberUnmount(rendererID, fiber);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n {\n if (typeof log$1 === 'function') {\n // We're in a test because Scheduler.log only exists\n // in SchedulerMock. To reduce the noise in strict mode tests,\n // suppress warnings and disable scheduler yielding during the double render\n unstable_setDisableYieldValue(newIsStrictMode);\n setSuppressWarning(newIsStrictMode);\n }\n\n if (injectedHook && typeof injectedHook.setStrictMode === 'function') {\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n }\n} // Profiler API hooks\n\nfunction injectProfilingHooks(profilingHooks) {\n injectedProfilingHooks = profilingHooks;\n}\n\nfunction getLaneLabelMap() {\n {\n var map = new Map();\n var lane = 1;\n\n for (var index = 0; index < TotalLanes; index++) {\n var label = getLabelForLane(lane);\n map.set(lane, label);\n lane *= 2;\n }\n\n return map;\n }\n}\n\nfunction markCommitStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStarted === 'function') {\n injectedProfilingHooks.markCommitStarted(lanes);\n }\n }\n}\nfunction markCommitStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStopped === 'function') {\n injectedProfilingHooks.markCommitStopped();\n }\n }\n}\nfunction markComponentRenderStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStarted === 'function') {\n injectedProfilingHooks.markComponentRenderStarted(fiber);\n }\n }\n}\nfunction markComponentRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStopped === 'function') {\n injectedProfilingHooks.markComponentRenderStopped();\n }\n }\n}\nfunction markComponentPassiveEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStopped();\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStopped();\n }\n }\n}\nfunction markComponentErrored(fiber, thrownValue, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentErrored === 'function') {\n injectedProfilingHooks.markComponentErrored(fiber, thrownValue, lanes);\n }\n }\n}\nfunction markComponentSuspended(fiber, wakeable, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentSuspended === 'function') {\n injectedProfilingHooks.markComponentSuspended(fiber, wakeable, lanes);\n }\n }\n}\nfunction markLayoutEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStarted === 'function') {\n injectedProfilingHooks.markLayoutEffectsStarted(lanes);\n }\n }\n}\nfunction markLayoutEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStopped === 'function') {\n injectedProfilingHooks.markLayoutEffectsStopped();\n }\n }\n}\nfunction markPassiveEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStarted === 'function') {\n injectedProfilingHooks.markPassiveEffectsStarted(lanes);\n }\n }\n}\nfunction markPassiveEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStopped === 'function') {\n injectedProfilingHooks.markPassiveEffectsStopped();\n }\n }\n}\nfunction markRenderStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStarted === 'function') {\n injectedProfilingHooks.markRenderStarted(lanes);\n }\n }\n}\nfunction markRenderYielded() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderYielded === 'function') {\n injectedProfilingHooks.markRenderYielded();\n }\n }\n}\nfunction markRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStopped === 'function') {\n injectedProfilingHooks.markRenderStopped();\n }\n }\n}\nfunction markRenderScheduled(lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderScheduled === 'function') {\n injectedProfilingHooks.markRenderScheduled(lane);\n }\n }\n}\nfunction markForceUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markForceUpdateScheduled === 'function') {\n injectedProfilingHooks.markForceUpdateScheduled(fiber, lane);\n }\n }\n}\nfunction markStateUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markStateUpdateScheduled === 'function') {\n injectedProfilingHooks.markStateUpdateScheduled(fiber, lane);\n }\n }\n}\n\nvar NoMode =\n/* */\n0; // TODO: Remove ConcurrentMode by reading from the root tag instead\n\nvar ConcurrentMode =\n/* */\n1;\nvar ProfileMode =\n/* */\n2;\nvar StrictLegacyMode =\n/* */\n8;\nvar StrictEffectsMode =\n/* */\n16;\nvar NoStrictPassiveEffectsMode =\n/* */\n64;\n\n// TODO: This is pretty well supported by browsers. Maybe we can drop it.\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback; // Count leading zeros.\n// Based on:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nfunction clz32Fallback(x) {\n var asUint = x >>> 0;\n\n if (asUint === 0) {\n return 32;\n }\n\n return 31 - (log(asUint) / LN2 | 0) | 0;\n}\n\n// If those values are changed that package should be rebuilt and redeployed.\n\nvar TotalLanes = 31;\nvar NoLanes =\n/* */\n0;\nvar NoLane =\n/* */\n0;\nvar SyncHydrationLane =\n/* */\n1;\nvar SyncLane =\n/* */\n2;\nvar SyncLaneIndex = 1;\nvar InputContinuousHydrationLane =\n/* */\n4;\nvar InputContinuousLane =\n/* */\n8;\nvar DefaultHydrationLane =\n/* */\n16;\nvar DefaultLane =\n/* */\n32;\nvar SyncUpdateLanes = SyncLane | InputContinuousLane | DefaultLane ;\nvar TransitionHydrationLane =\n/* */\n64;\nvar TransitionLanes =\n/* */\n4194176;\nvar TransitionLane1 =\n/* */\n128;\nvar TransitionLane2 =\n/* */\n256;\nvar TransitionLane3 =\n/* */\n512;\nvar TransitionLane4 =\n/* */\n1024;\nvar TransitionLane5 =\n/* */\n2048;\nvar TransitionLane6 =\n/* */\n4096;\nvar TransitionLane7 =\n/* */\n8192;\nvar TransitionLane8 =\n/* */\n16384;\nvar TransitionLane9 =\n/* */\n32768;\nvar TransitionLane10 =\n/* */\n65536;\nvar TransitionLane11 =\n/* */\n131072;\nvar TransitionLane12 =\n/* */\n262144;\nvar TransitionLane13 =\n/* */\n524288;\nvar TransitionLane14 =\n/* */\n1048576;\nvar TransitionLane15 =\n/* */\n2097152;\nvar RetryLanes =\n/* */\n62914560;\nvar RetryLane1 =\n/* */\n4194304;\nvar RetryLane2 =\n/* */\n8388608;\nvar RetryLane3 =\n/* */\n16777216;\nvar RetryLane4 =\n/* */\n33554432;\nvar SomeRetryLane = RetryLane1;\nvar SelectiveHydrationLane =\n/* */\n67108864;\nvar NonIdleLanes =\n/* */\n134217727;\nvar IdleHydrationLane =\n/* */\n134217728;\nvar IdleLane =\n/* */\n268435456;\nvar OffscreenLane =\n/* */\n536870912;\nvar DeferredLane =\n/* */\n1073741824; // Any lane that might schedule an update. This is used to detect infinite\n// update loops, so it doesn't include hydration lanes or retries.\n\nvar UpdateLanes = SyncLane | InputContinuousLane | DefaultLane | TransitionLanes; // This function is used for the experimental timeline (react-devtools-timeline)\n// It should be kept in sync with the Lanes values above.\n\nfunction getLabelForLane(lane) {\n {\n if (lane & SyncHydrationLane) {\n return 'SyncHydrationLane';\n }\n\n if (lane & SyncLane) {\n return 'Sync';\n }\n\n if (lane & InputContinuousHydrationLane) {\n return 'InputContinuousHydration';\n }\n\n if (lane & InputContinuousLane) {\n return 'InputContinuous';\n }\n\n if (lane & DefaultHydrationLane) {\n return 'DefaultHydration';\n }\n\n if (lane & DefaultLane) {\n return 'Default';\n }\n\n if (lane & TransitionHydrationLane) {\n return 'TransitionHydration';\n }\n\n if (lane & TransitionLanes) {\n return 'Transition';\n }\n\n if (lane & RetryLanes) {\n return 'Retry';\n }\n\n if (lane & SelectiveHydrationLane) {\n return 'SelectiveHydration';\n }\n\n if (lane & IdleHydrationLane) {\n return 'IdleHydration';\n }\n\n if (lane & IdleLane) {\n return 'Idle';\n }\n\n if (lane & OffscreenLane) {\n return 'Offscreen';\n }\n\n if (lane & DeferredLane) {\n return 'Deferred';\n }\n }\n}\nvar NoTimestamp = -1;\nvar nextTransitionLane = TransitionLane1;\nvar nextRetryLane = RetryLane1;\n\nfunction getHighestPriorityLanes(lanes) {\n {\n var pendingSyncLanes = lanes & SyncUpdateLanes;\n\n if (pendingSyncLanes !== 0) {\n return pendingSyncLanes;\n }\n }\n\n switch (getHighestPriorityLane(lanes)) {\n case SyncHydrationLane:\n return SyncHydrationLane;\n\n case SyncLane:\n return SyncLane;\n\n case InputContinuousHydrationLane:\n return InputContinuousHydrationLane;\n\n case InputContinuousLane:\n return InputContinuousLane;\n\n case DefaultHydrationLane:\n return DefaultHydrationLane;\n\n case DefaultLane:\n return DefaultLane;\n\n case TransitionHydrationLane:\n return TransitionHydrationLane;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n return lanes & TransitionLanes;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n return lanes & RetryLanes;\n\n case SelectiveHydrationLane:\n return SelectiveHydrationLane;\n\n case IdleHydrationLane:\n return IdleHydrationLane;\n\n case IdleLane:\n return IdleLane;\n\n case OffscreenLane:\n return OffscreenLane;\n\n case DeferredLane:\n // This shouldn't be reachable because deferred work is always entangled\n // with something else.\n return NoLanes;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n } // This shouldn't be reachable, but as a fallback, return the entire bitmask.\n\n\n return lanes;\n }\n}\n\nfunction getNextLanes(root, wipLanes) {\n // Early bailout if there's no pending work left.\n var pendingLanes = root.pendingLanes;\n\n if (pendingLanes === NoLanes) {\n return NoLanes;\n }\n\n var nextLanes = NoLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes; // Do not work on any idle work until all the non-idle work has finished,\n // even if the work is suspended.\n\n var nonIdlePendingLanes = pendingLanes & NonIdleLanes;\n\n if (nonIdlePendingLanes !== NoLanes) {\n var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes;\n\n if (nonIdleUnblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes);\n } else {\n var nonIdlePingedLanes = nonIdlePendingLanes & pingedLanes;\n\n if (nonIdlePingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdlePingedLanes);\n }\n }\n } else {\n // The only remaining work is Idle.\n var unblockedLanes = pendingLanes & ~suspendedLanes;\n\n if (unblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(unblockedLanes);\n } else {\n if (pingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(pingedLanes);\n }\n }\n }\n\n if (nextLanes === NoLanes) {\n // This should only be reachable if we're suspended\n // TODO: Consider warning in this path if a fallback timer is not scheduled.\n return NoLanes;\n } // If we're already in the middle of a render, switching lanes will interrupt\n // it and we'll lose our progress. We should only do this if the new lanes are\n // higher priority.\n\n\n if (wipLanes !== NoLanes && wipLanes !== nextLanes && // If we already suspended with a delay, then interrupting is fine. Don't\n // bother waiting until the root is complete.\n (wipLanes & suspendedLanes) === NoLanes) {\n var nextLane = getHighestPriorityLane(nextLanes);\n var wipLane = getHighestPriorityLane(wipLanes);\n\n if ( // Tests whether the next lane is equal or lower priority than the wip\n // one. This works because the bits decrease in priority as you go left.\n nextLane >= wipLane || // Default priority updates should not interrupt transition updates. The\n // only difference between default updates and transition updates is that\n // default updates do not support refresh transitions.\n nextLane === DefaultLane && (wipLane & TransitionLanes) !== NoLanes) {\n // Keep working on the existing in-progress tree. Do not interrupt.\n return wipLanes;\n }\n }\n\n return nextLanes;\n}\nfunction getEntangledLanes(root, renderLanes) {\n var entangledLanes = renderLanes;\n\n if ((entangledLanes & InputContinuousLane) !== NoLanes) {\n // When updates are sync by default, we entangle continuous priority updates\n // and default updates, so they render in the same batch. The only reason\n // they use separate lanes is because continuous updates should interrupt\n // transitions, but default updates should not.\n entangledLanes |= entangledLanes & DefaultLane;\n } // Check for entangled lanes and add them to the batch.\n //\n // A lane is said to be entangled with another when it's not allowed to render\n // in a batch that does not also include the other lane. Typically we do this\n // when multiple updates have the same source, and we only want to respond to\n // the most recent event from that source.\n //\n // Note that we apply entanglements *after* checking for partial work above.\n // This means that if a lane is entangled during an interleaved event while\n // it's already rendering, we won't interrupt it. This is intentional, since\n // entanglement is usually \"best effort\": we'll try our best to render the\n // lanes in the same batch, but it's not worth throwing out partially\n // completed work in order to do it.\n // TODO: Reconsider this. The counter-argument is that the partial work\n // represents an intermediate state, which we don't want to show to the user.\n // And by spending extra time finishing it, we're increasing the amount of\n // time it takes to show the final state, which is what they are actually\n // waiting for.\n //\n // For those exceptions where entanglement is semantically important,\n // we should ensure that there is no partial work at the\n // time we apply the entanglement.\n\n\n var allEntangledLanes = root.entangledLanes;\n\n if (allEntangledLanes !== NoLanes) {\n var entanglements = root.entanglements;\n var lanes = entangledLanes & allEntangledLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n entangledLanes |= entanglements[index];\n lanes &= ~lane;\n }\n }\n\n return entangledLanes;\n}\n\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case SyncHydrationLane:\n case SyncLane:\n case InputContinuousHydrationLane:\n case InputContinuousLane:\n // User interactions should expire slightly more quickly.\n //\n // NOTE: This is set to the corresponding constant as in Scheduler.js.\n // When we made it larger, a product metric in www regressed, suggesting\n // there's a user interaction that's being starved by a series of\n // synchronous updates. If that theory is correct, the proper solution is\n // to fix the starvation. However, this scenario supports the idea that\n // expiration times are an important safeguard when starvation\n // does happen.\n return currentTime + syncLaneExpirationMs;\n\n case DefaultHydrationLane:\n case DefaultLane:\n case TransitionHydrationLane:\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n return currentTime + transitionLaneExpirationMs;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n // TODO: Retries should be allowed to expire if they are CPU bound for\n // too long, but when I made this change it caused a spike in browser\n // crashes. There must be some other underlying bug; not super urgent but\n // ideally should figure out why and fix it. Unfortunately we don't have\n // a repro for the crashes, only detected via production metrics.\n return NoTimestamp;\n\n case SelectiveHydrationLane:\n case IdleHydrationLane:\n case IdleLane:\n case OffscreenLane:\n case DeferredLane:\n // Anything idle priority or lower should never expire.\n return NoTimestamp;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n }\n\n return NoTimestamp;\n }\n}\n\nfunction markStarvedLanesAsExpired(root, currentTime) {\n // TODO: This gets called every time we yield. We can optimize by storing\n // the earliest expiration time on the root. Then use that to quickly bail out\n // of this function.\n var pendingLanes = root.pendingLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes;\n var expirationTimes = root.expirationTimes; // Iterate through the pending lanes and check if we've reached their\n // expiration time. If so, we'll assume the update is being starved and mark\n // it as expired to force it to finish.\n // TODO: We should be able to replace this with upgradePendingLanesToSync\n //\n // We exclude retry lanes because those must always be time sliced, in order\n // to unwrap uncached promises.\n // TODO: Write a test for this\n\n var lanes = pendingLanes & ~RetryLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var expirationTime = expirationTimes[index];\n\n if (expirationTime === NoTimestamp) {\n // Found a pending lane with no expiration time. If it's not suspended, or\n // if it's pinged, assume it's CPU-bound. Compute a new expiration time\n // using the current time.\n if ((lane & suspendedLanes) === NoLanes || (lane & pingedLanes) !== NoLanes) {\n // Assumes timestamps are monotonically increasing.\n expirationTimes[index] = computeExpirationTime(lane, currentTime);\n }\n } else if (expirationTime <= currentTime) {\n // This lane expired\n root.expiredLanes |= lane;\n }\n\n lanes &= ~lane;\n }\n} // This returns the highest priority pending lanes regardless of whether they\n// are suspended.\n\nfunction getHighestPriorityPendingLanes(root) {\n return getHighestPriorityLanes(root.pendingLanes);\n}\nfunction getLanesToRetrySynchronouslyOnError(root, originallyAttemptedLanes) {\n if (root.errorRecoveryDisabledLanes & originallyAttemptedLanes) {\n // The error recovery mechanism is disabled until these lanes are cleared.\n return NoLanes;\n }\n\n var everythingButOffscreen = root.pendingLanes & ~OffscreenLane;\n\n if (everythingButOffscreen !== NoLanes) {\n return everythingButOffscreen;\n }\n\n if (everythingButOffscreen & OffscreenLane) {\n return OffscreenLane;\n }\n\n return NoLanes;\n}\nfunction includesSyncLane(lanes) {\n return (lanes & (SyncLane | SyncHydrationLane)) !== NoLanes;\n}\nfunction includesNonIdleWork(lanes) {\n return (lanes & NonIdleLanes) !== NoLanes;\n}\nfunction includesOnlyRetries(lanes) {\n return (lanes & RetryLanes) === lanes;\n}\nfunction includesOnlyNonUrgentLanes(lanes) {\n // TODO: Should hydration lanes be included here? This function is only\n // used in `updateDeferredValueImpl`.\n var UrgentLanes = SyncLane | InputContinuousLane | DefaultLane;\n return (lanes & UrgentLanes) === NoLanes;\n}\nfunction includesOnlyTransitions(lanes) {\n return (lanes & TransitionLanes) === lanes;\n}\nfunction includesBlockingLane(root, lanes) {\n\n var SyncDefaultLanes = InputContinuousHydrationLane | InputContinuousLane | DefaultHydrationLane | DefaultLane;\n return (lanes & SyncDefaultLanes) !== NoLanes;\n}\nfunction includesExpiredLane(root, lanes) {\n // This is a separate check from includesBlockingLane because a lane can\n // expire after a render has already started.\n return (lanes & root.expiredLanes) !== NoLanes;\n}\nfunction isTransitionLane(lane) {\n return (lane & TransitionLanes) !== NoLanes;\n}\nfunction claimNextTransitionLane() {\n // Cycle through the lanes, assigning each new transition to the next lane.\n // In most cases, this means every transition gets its own lane, until we\n // run out of lanes and cycle back to the beginning.\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n\n if ((nextTransitionLane & TransitionLanes) === NoLanes) {\n nextTransitionLane = TransitionLane1;\n }\n\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n\n if ((nextRetryLane & RetryLanes) === NoLanes) {\n nextRetryLane = RetryLane1;\n }\n\n return lane;\n}\nfunction getHighestPriorityLane(lanes) {\n return lanes & -lanes;\n}\nfunction pickArbitraryLane(lanes) {\n // This wrapper function gets inlined. Only exists so to communicate that it\n // doesn't matter which bit is selected; you can pick any bit without\n // affecting the algorithms where its used. Here I'm using\n // getHighestPriorityLane because it requires the fewest operations.\n return getHighestPriorityLane(lanes);\n}\n\nfunction pickArbitraryLaneIndex(lanes) {\n return 31 - clz32(lanes);\n}\n\nfunction laneToIndex(lane) {\n return pickArbitraryLaneIndex(lane);\n}\n\nfunction includesSomeLane(a, b) {\n return (a & b) !== NoLanes;\n}\nfunction isSubsetOfLanes(set, subset) {\n return (set & subset) === subset;\n}\nfunction mergeLanes(a, b) {\n return a | b;\n}\nfunction removeLanes(set, subset) {\n return set & ~subset;\n}\nfunction intersectLanes(a, b) {\n return a & b;\n} // Seems redundant, but it changes the type from a single lane (used for\n// updates) to a group of lanes (used for flushing work).\n\nfunction laneToLanes(lane) {\n return lane;\n}\nfunction higherPriorityLane(a, b) {\n // This works because the bit ranges decrease in priority as you go left.\n return a !== NoLane && a < b ? a : b;\n}\nfunction createLaneMap(initial) {\n // Intentionally pushing one by one.\n // https://v8.dev/blog/elements-kinds#avoid-creating-holes\n var laneMap = [];\n\n for (var i = 0; i < TotalLanes; i++) {\n laneMap.push(initial);\n }\n\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane; // If there are any suspended transitions, it's possible this new update\n // could unblock them. Clear the suspended lanes so that we can try rendering\n // them again.\n //\n // TODO: We really only need to unsuspend only lanes that are in the\n // `subtreeLanes` of the updated fiber, or the update lanes of the return\n // path. This would exclude suspended updates in an unrelated sibling tree,\n // since there's no way for this update to unblock it.\n //\n // We don't do this if the incoming update is idle, because we never process\n // idle updates until after all the regular updates have finished; there's no\n // way it could unblock a transition.\n\n if (updateLane !== IdleLane) {\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n }\n}\nfunction markRootSuspended$1(root, suspendedLanes, spawnedLane) {\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes; // The suspended lanes are no longer CPU-bound. Clear their expiration times.\n\n var expirationTimes = root.expirationTimes;\n var lanes = suspendedLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n\n if (spawnedLane !== NoLane) {\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n }\n}\nfunction markRootPinged$1(root, pingedLanes) {\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n}\nfunction markRootFinished(root, remainingLanes, spawnedLane) {\n var noLongerPendingLanes = root.pendingLanes & ~remainingLanes;\n root.pendingLanes = remainingLanes; // Let's try everything again\n\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements;\n var expirationTimes = root.expirationTimes;\n var hiddenUpdates = root.hiddenUpdates; // Clear the lanes that no longer have pending work\n\n var lanes = noLongerPendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n entanglements[index] = NoLanes;\n expirationTimes[index] = NoTimestamp;\n var hiddenUpdatesForLane = hiddenUpdates[index];\n\n if (hiddenUpdatesForLane !== null) {\n hiddenUpdates[index] = null; // \"Hidden\" updates are updates that were made to a hidden component. They\n // have special logic associated with them because they may be entangled\n // with updates that occur outside that tree. But once the outer tree\n // commits, they behave like regular updates.\n\n for (var i = 0; i < hiddenUpdatesForLane.length; i++) {\n var update = hiddenUpdatesForLane[i];\n\n if (update !== null) {\n update.lane &= ~OffscreenLane;\n }\n }\n }\n\n lanes &= ~lane;\n }\n\n if (spawnedLane !== NoLane) {\n markSpawnedDeferredLane(root, spawnedLane, // This render finished successfully without suspending, so we don't need\n // to entangle the spawned task with the parent task.\n NoLanes);\n }\n}\n\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n // This render spawned a deferred task. Mark it as pending.\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane; // Entangle the spawned lane with the DeferredLane bit so that we know it\n // was the result of another render. This lets us avoid a useDeferredValue\n // waterfall — only the first level will defer.\n\n var spawnedLaneIndex = laneToIndex(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] |= DeferredLane | // If the parent render task suspended, we must also entangle those lanes\n // with the spawned task, so that the deferred task includes all the same\n // updates that the parent task did. We can exclude any lane that is not\n // used for updates (e.g. Offscreen).\n entangledLanes & UpdateLanes;\n}\n\nfunction markRootEntangled(root, entangledLanes) {\n // In addition to entangling each of the given lanes with each other, we also\n // have to consider _transitive_ entanglements. For each lane that is already\n // entangled with *any* of the given lanes, that lane is now transitively\n // entangled with *all* the given lanes.\n //\n // Translated: If C is entangled with A, then entangling A with B also\n // entangles C with B.\n //\n // If this is hard to grasp, it might help to intentionally break this\n // function and look at the tests that fail in ReactTransition-test.js. Try\n // commenting out one of the conditions below.\n var rootEntangledLanes = root.entangledLanes |= entangledLanes;\n var entanglements = root.entanglements;\n var lanes = rootEntangledLanes;\n\n while (lanes) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n\n if ( // Is this one of the newly entangled lanes?\n lane & entangledLanes | // Is this lane transitively entangled with the newly entangled lanes?\n entanglements[index] & entangledLanes) {\n entanglements[index] |= entangledLanes;\n }\n\n lanes &= ~lane;\n }\n}\nfunction upgradePendingLaneToSync(root, lane) {\n // Since we're upgrading the priority of the given lane, there is now pending\n // sync work.\n root.pendingLanes |= SyncLane; // Entangle the sync lane with the lane we're upgrading. This means SyncLane\n // will not be allowed to finish without also finishing the given lane.\n\n root.entangledLanes |= SyncLane;\n root.entanglements[SyncLaneIndex] |= lane;\n}\nfunction upgradePendingLanesToSync(root, lanesToUpgrade) {\n // Same as upgradePendingLaneToSync but accepts multiple lanes, so it's a\n // bit slower.\n root.pendingLanes |= SyncLane;\n root.entangledLanes |= SyncLane;\n var lanes = lanesToUpgrade;\n\n while (lanes) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n root.entanglements[SyncLaneIndex] |= lane;\n lanes &= ~lane;\n }\n}\nfunction markHiddenUpdate(root, update, lane) {\n var index = laneToIndex(lane);\n var hiddenUpdates = root.hiddenUpdates;\n var hiddenUpdatesForLane = hiddenUpdates[index];\n\n if (hiddenUpdatesForLane === null) {\n hiddenUpdates[index] = [update];\n } else {\n hiddenUpdatesForLane.push(update);\n }\n\n update.lane = lane | OffscreenLane;\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = getHighestPriorityLane(renderLanes);\n var lane;\n\n if ((renderLane & SyncUpdateLanes) !== NoLane) {\n lane = SyncHydrationLane;\n } else {\n switch (renderLane) {\n case SyncLane:\n lane = SyncHydrationLane;\n break;\n\n case InputContinuousLane:\n lane = InputContinuousHydrationLane;\n break;\n\n case DefaultLane:\n lane = DefaultHydrationLane;\n break;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n lane = TransitionHydrationLane;\n break;\n\n case IdleLane:\n lane = IdleHydrationLane;\n break;\n\n default:\n // Everything else is already either a hydration lane, or shouldn't\n // be retried at a hydration lane.\n lane = NoLane;\n break;\n }\n } // Check if the lane we chose is suspended. If so, that indicates that we\n // already attempted and failed to hydrate at that level. Also check if we're\n // already rendering that lane, which is rare but could happen.\n\n\n if ((lane & (root.suspendedLanes | renderLanes)) !== NoLane) {\n // Give up trying to hydrate and fall back to client render.\n return NoLane;\n }\n\n return lane;\n}\nfunction addFiberToLanesMap(root, fiber, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n updaters.add(fiber);\n lanes &= ~lane;\n }\n}\nfunction movePendingFibersToMemoized(root, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n var memoizedUpdaters = root.memoizedUpdaters;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n\n if (updaters.size > 0) {\n updaters.forEach(function (fiber) {\n var alternate = fiber.alternate;\n\n if (alternate === null || !memoizedUpdaters.has(alternate)) {\n memoizedUpdaters.add(fiber);\n }\n });\n updaters.clear();\n }\n\n lanes &= ~lane;\n }\n}\nfunction getTransitionsForLanes(root, lanes) {\n {\n return null;\n }\n}\n\nvar DiscreteEventPriority = SyncLane;\nvar ContinuousEventPriority = InputContinuousLane;\nvar DefaultEventPriority = DefaultLane;\nvar IdleEventPriority = IdleLane;\nvar currentUpdatePriority = NoLane;\nfunction getCurrentUpdatePriority() {\n return currentUpdatePriority;\n}\nfunction setCurrentUpdatePriority(newPriority) {\n currentUpdatePriority = newPriority;\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = currentUpdatePriority;\n\n try {\n currentUpdatePriority = priority;\n return fn();\n } finally {\n currentUpdatePriority = previousPriority;\n }\n}\nfunction higherEventPriority(a, b) {\n return a !== 0 && a < b ? a : b;\n}\nfunction lowerEventPriority(a, b) {\n return a === 0 || a > b ? a : b;\n}\nfunction isHigherEventPriority(a, b) {\n return a !== 0 && a < b;\n}\nfunction lanesToEventPriority(lanes) {\n var lane = getHighestPriorityLane(lanes);\n\n if (!isHigherEventPriority(DiscreteEventPriority, lane)) {\n return DiscreteEventPriority;\n }\n\n if (!isHigherEventPriority(ContinuousEventPriority, lane)) {\n return ContinuousEventPriority;\n }\n\n if (includesNonIdleWork(lane)) {\n return DefaultEventPriority;\n }\n\n return IdleEventPriority;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\n\nfunction checkAttributeStringCoercion(value, attributeName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` attribute is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', attributeName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkPropStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` prop is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkCSSPropertyStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` CSS property is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkHtmlStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided HTML markup uses a value of unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkFormFieldValueStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('Form field values (value, checked, defaultValue, or defaultChecked props)' + ' must be strings, not %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\nvar HostHoistable = 26;\nvar HostSingleton = 27;\n\nvar randomKey = Math.random().toString(36).slice(2);\nvar internalInstanceKey = '__reactFiber$' + randomKey;\nvar internalPropsKey = '__reactProps$' + randomKey;\nvar internalContainerInstanceKey = '__reactContainer$' + randomKey;\nvar internalEventHandlersKey = '__reactEvents$' + randomKey;\nvar internalEventHandlerListenersKey = '__reactListeners$' + randomKey;\nvar internalEventHandlesSetKey = '__reactHandles$' + randomKey;\nvar internalRootNodeResourcesKey = '__reactResources$' + randomKey;\nvar internalHoistableMarker = '__reactMarker$' + randomKey;\nfunction detachDeletedInstance(node) {\n // TODO: This function is only called on host components. I don't think all of\n // these fields are relevant.\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction precacheFiberNode(hostInst, node) {\n node[internalInstanceKey] = hostInst;\n}\nfunction markContainerAsRoot(hostRoot, node) {\n // $FlowFixMe[prop-missing]\n node[internalContainerInstanceKey] = hostRoot;\n}\nfunction unmarkContainerAsRoot(node) {\n // $FlowFixMe[prop-missing]\n node[internalContainerInstanceKey] = null;\n}\nfunction isContainerMarkedAsRoot(node) {\n // $FlowFixMe[prop-missing]\n return !!node[internalContainerInstanceKey];\n} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor.\n// If the target node is part of a hydrated or not yet rendered subtree, then\n// this may also return a SuspenseComponent or HostRoot to indicate that.\n// Conceptually the HostRoot fiber is a child of the Container node. So if you\n// pass the Container node as the targetNode, you will not actually get the\n// HostRoot back. To get to the HostRoot, you need to pass a child of it.\n// The same thing applies to Suspense boundaries.\n\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n\n if (targetInst) {\n // Don't return HostRoot or SuspenseComponent here.\n return targetInst;\n } // If the direct event target isn't a React owned DOM node, we need to look\n // to see if one of its parents is a React owned DOM node.\n\n\n var parentNode = targetNode.parentNode;\n\n while (parentNode) {\n // We'll check if this is a container root that could include\n // React nodes in the future. We need to check this first because\n // if we're a child of a dehydrated container, we need to first\n // find that inner container before moving on to finding the parent\n // instance. Note that we don't check this field on the targetNode\n // itself because the fibers are conceptually between the container\n // node and the first child. It isn't surrounding the container node.\n // If it's not a container, we check if it's an instance.\n targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey];\n\n if (targetInst) {\n // Since this wasn't the direct target of the event, we might have\n // stepped past dehydrated DOM nodes to get here. However they could\n // also have been non-React nodes. We need to answer which one.\n // If we the instance doesn't have any children, then there can't be\n // a nested suspense boundary within it. So we can use this as a fast\n // bailout. Most of the time, when people add non-React children to\n // the tree, it is using a ref to a child-less DOM node.\n // Normally we'd only need to check one of the fibers because if it\n // has ever gone from having children to deleting them or vice versa\n // it would have deleted the dehydrated boundary nested inside already.\n // However, since the HostRoot starts out with an alternate it might\n // have one on the alternate so we need to check in case this was a\n // root.\n var alternate = targetInst.alternate;\n\n if (targetInst.child !== null || alternate !== null && alternate.child !== null) {\n // Next we need to figure out if the node that skipped past is\n // nested within a dehydrated boundary and if so, which one.\n var suspenseInstance = getParentSuspenseInstance(targetNode);\n\n while (suspenseInstance !== null) {\n // We found a suspense instance. That means that we haven't\n // hydrated it yet. Even though we leave the comments in the\n // DOM after hydrating, and there are boundaries in the DOM\n // that could already be hydrated, we wouldn't have found them\n // through this pass since if the target is hydrated it would\n // have had an internalInstanceKey on it.\n // Let's get the fiber associated with the SuspenseComponent\n // as the deepest instance.\n // $FlowFixMe[prop-missing]\n var targetSuspenseInst = suspenseInstance[internalInstanceKey];\n\n if (targetSuspenseInst) {\n return targetSuspenseInst;\n } // If we don't find a Fiber on the comment, it might be because\n // we haven't gotten to hydrate it yet. There might still be a\n // parent boundary that hasn't above this one so we need to find\n // the outer most that is known.\n\n\n suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent\n // host component also hasn't hydrated yet. We can return it\n // below since it will bail out on the isMounted check later.\n }\n }\n\n return targetInst;\n }\n\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n\n return null;\n}\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\n\nfunction getInstanceFromNode(node) {\n var inst = node[internalInstanceKey] || node[internalContainerInstanceKey];\n\n if (inst) {\n var tag = inst.tag;\n\n if (tag === HostComponent || tag === HostText || tag === SuspenseComponent || (tag === HostHoistable ) || tag === HostSingleton || tag === HostRoot) {\n return inst;\n } else {\n return null;\n }\n }\n\n return null;\n}\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\n\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n\n if (tag === HostComponent || (tag === HostHoistable ) || tag === HostSingleton || tag === HostText) {\n // In Fiber this, is just the state node right now. We assume it will be\n // a host component or host text.\n return inst.stateNode;\n } // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n\n\n throw new Error('getNodeFromInstance: Invalid argument.');\n}\nfunction getFiberCurrentPropsFromNode(node) {\n return node[internalPropsKey] || null;\n}\nfunction updateFiberProps(node, props) {\n node[internalPropsKey] = props;\n}\nfunction getEventListenerSet(node) {\n var elementListenerSet = node[internalEventHandlersKey];\n\n if (elementListenerSet === undefined) {\n elementListenerSet = node[internalEventHandlersKey] = new Set();\n }\n\n return elementListenerSet;\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n\n if (!resources) {\n resources = root[internalRootNodeResourcesKey] = {\n hoistableStyles: new Map(),\n hoistableScripts: new Map()\n };\n }\n\n return resources;\n}\nfunction isMarkedHoistable(node) {\n return !!node[internalHoistableMarker];\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = true;\n}\nfunction isOwnedInstance(node) {\n return !!(node[internalHoistableMarker] || node[internalInstanceKey]);\n}\n\nvar allNativeEvents = new Set();\n/**\n * Mapping from registration name to event name\n */\n\n\nvar registrationNameDependencies = {};\n/**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in __DEV__.\n * @type {Object}\n */\n\nvar possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true\n\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + 'Capture', dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n {\n if (registrationNameDependencies[registrationName]) {\n error('EventRegistry: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName);\n }\n }\n\n registrationNameDependencies[registrationName] = dependencies;\n\n {\n var lowerCasedName = registrationName.toLowerCase();\n possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n\n for (var i = 0; i < dependencies.length; i++) {\n allNativeEvents.add(dependencies[i]);\n }\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar hasReadOnlyValue = {\n button: true,\n checkbox: true,\n image: true,\n hidden: true,\n radio: true,\n reset: true,\n submit: true\n};\nfunction checkControlledValueProps(tagName, props) {\n {\n if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) {\n if (tagName === 'select') {\n error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, set `onChange`.');\n } else {\n error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.');\n }\n }\n\n if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) {\n error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n }\n}\n\n/* eslint-disable max-len */\n\nvar ATTRIBUTE_NAME_START_CHAR = \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n/* eslint-enable max-len */\n\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + \"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {\n return true;\n }\n\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {\n return false;\n }\n\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n\n illegalAttributeNameCache[attributeName] = true;\n\n {\n error('Invalid attribute name: `%s`', attributeName);\n }\n\n return false;\n}\n\n/**\n * Get the value for a attribute on a node. Only used in DEV for SSR validation.\n * The third argument is used as a hint of what the expected value is. Some\n * attributes have multiple equivalent values.\n */\n\nfunction getValueForAttribute(node, name, expected) {\n {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n\n if (!node.hasAttribute(name)) {\n // shouldRemoveAttribute\n switch (typeof expected) {\n case 'function':\n case 'symbol':\n // eslint-disable-line\n return expected;\n\n case 'boolean':\n {\n var prefix = name.toLowerCase().slice(0, 5);\n\n if (prefix !== 'data-' && prefix !== 'aria-') {\n return expected;\n }\n }\n }\n\n return expected === undefined ? undefined : null;\n }\n\n var value = node.getAttribute(name);\n\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n}\nfunction getValueForAttributeOnCustomComponent(node, name, expected) {\n {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n\n if (!node.hasAttribute(name)) {\n // shouldRemoveAttribute\n switch (typeof expected) {\n case 'symbol':\n case 'object':\n // Symbols and objects are ignored when they're emitted so\n // it would be expected that they end up not having an attribute.\n return expected;\n\n }\n\n return expected === undefined ? undefined : null;\n }\n\n var value = node.getAttribute(name);\n\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name)) {\n // If the prop isn't in the special list, treat it as a simple attribute.\n // shouldRemoveAttribute\n if (value === null) {\n node.removeAttribute(name);\n return;\n }\n\n switch (typeof value) {\n case 'undefined':\n case 'function':\n case 'symbol':\n // eslint-disable-line\n node.removeAttribute(name);\n return;\n\n case 'boolean':\n {\n var prefix = name.toLowerCase().slice(0, 5);\n\n if (prefix !== 'data-' && prefix !== 'aria-') {\n node.removeAttribute(name);\n return;\n }\n }\n }\n\n {\n checkAttributeStringCoercion(value, name);\n }\n\n node.setAttribute(name, '' + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (value === null) {\n node.removeAttribute(name);\n return;\n }\n\n switch (typeof value) {\n case 'undefined':\n case 'function':\n case 'symbol':\n case 'boolean':\n {\n node.removeAttribute(name);\n return;\n }\n }\n\n {\n checkAttributeStringCoercion(value, name);\n }\n\n node.setAttribute(name, '' + value);\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (value === null) {\n node.removeAttribute(name);\n return;\n }\n\n switch (typeof value) {\n case 'undefined':\n case 'function':\n case 'symbol':\n case 'boolean':\n {\n node.removeAttribute(name);\n return;\n }\n }\n\n {\n checkAttributeStringCoercion(value, name);\n }\n\n node.setAttributeNS(namespace, name, '' + value);\n}\n\nvar ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nfunction describeDebugInfoFrame(name, env) {\n return describeBuiltInComponentFrame(name + (env ? ' (' + env + ')' : ''));\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap$1();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$2.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$2.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$2.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\n\nfunction describeClassComponentFrame(ctor, ownerFn) {\n {\n return describeNativeComponentFrame(ctor, true);\n }\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction describeFiber(fiber) {\n\n switch (fiber.tag) {\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n return describeBuiltInComponentFrame(fiber.type);\n\n case LazyComponent:\n return describeBuiltInComponentFrame('Lazy');\n\n case SuspenseComponent:\n return describeBuiltInComponentFrame('Suspense');\n\n case SuspenseListComponent:\n return describeBuiltInComponentFrame('SuspenseList');\n\n case FunctionComponent:\n case IndeterminateComponent:\n case SimpleMemoComponent:\n return describeFunctionComponentFrame(fiber.type);\n\n case ForwardRef:\n return describeFunctionComponentFrame(fiber.type.render);\n\n case ClassComponent:\n return describeClassComponentFrame(fiber.type);\n\n default:\n return '';\n }\n}\n\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = '';\n var node = workInProgress;\n\n do {\n info += describeFiber(node);\n\n if (true) {\n // Add any Server Component stack frames in reverse order.\n var debugInfo = node._debugInfo;\n\n if (debugInfo) {\n for (var i = debugInfo.length - 1; i >= 0; i--) {\n var entry = debugInfo[i];\n\n if (typeof entry.name === 'string') {\n info += describeDebugInfoFrame(entry.name, entry.env);\n }\n }\n }\n } // $FlowFixMe[incompatible-type] we bail out when we get a null\n\n\n node = node.return;\n } while (node);\n\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n\nfunction getWrappedName$1(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName$1(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName$1(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName$1(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName$1(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n} // Keep in sync with shared/getComponentNameFromType\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nfunction getComponentNameFromFiber(fiber) {\n var tag = fiber.tag,\n type = fiber.type;\n\n switch (tag) {\n case CacheComponent:\n return 'Cache';\n\n case ContextConsumer:\n {\n var context = type;\n return getContextName(context) + '.Consumer';\n }\n\n case ContextProvider:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case DehydratedFragment:\n return 'DehydratedFragment';\n\n case ForwardRef:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case Fragment:\n return 'Fragment';\n\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n // Host component type is the display name (e.g. \"div\", \"View\")\n return type;\n\n case HostPortal:\n return 'Portal';\n\n case HostRoot:\n return 'Root';\n\n case HostText:\n return 'Text';\n\n case LazyComponent:\n // Name comes from the type in this case; we don't have a tag.\n return getComponentNameFromType(type);\n\n case Mode:\n if (type === REACT_STRICT_MODE_TYPE) {\n // Don't be less specific than shared/getComponentNameFromType\n return 'StrictMode';\n }\n\n return 'Mode';\n\n case OffscreenComponent:\n return 'Offscreen';\n\n case Profiler:\n return 'Profiler';\n\n case ScopeComponent:\n return 'Scope';\n\n case SuspenseComponent:\n return 'Suspense';\n\n case SuspenseListComponent:\n return 'SuspenseList';\n\n case TracingMarkerComponent:\n return 'TracingMarker';\n // The display name for this tags come from the user-provided type:\n\n case ClassComponent:\n case FunctionComponent:\n case IncompleteClassComponent:\n case IndeterminateComponent:\n case MemoComponent:\n case SimpleMemoComponent:\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n break;\n\n }\n\n return null;\n}\n\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar current = null;\nvar isRendering = false;\nfunction getCurrentFiberOwnerNameInDevOrNull() {\n {\n if (current === null) {\n return null;\n }\n\n var owner = current._debugOwner;\n\n if (owner !== null && typeof owner !== 'undefined') {\n return getComponentNameFromFiber(owner);\n }\n }\n\n return null;\n}\n\nfunction getCurrentFiberStackInDev() {\n {\n if (current === null) {\n return '';\n } // Safe because if current fiber exists, we are reconciling,\n // and it is guaranteed to be the work-in-progress version.\n\n\n return getStackByFiberInDevAndProd(current);\n }\n}\n\nfunction resetCurrentFiber() {\n {\n ReactDebugCurrentFrame.getCurrentStack = null;\n current = null;\n isRendering = false;\n }\n}\nfunction setCurrentFiber(fiber) {\n {\n ReactDebugCurrentFrame.getCurrentStack = fiber === null ? null : getCurrentFiberStackInDev;\n current = fiber;\n isRendering = false;\n }\n}\nfunction getCurrentFiber() {\n {\n return current;\n }\n}\nfunction setIsRendering(rendering) {\n {\n isRendering = rendering;\n }\n}\n\n// around this limitation, we use an opaque type that can only be obtained by\n// passing the value through getToStringValue first.\n\nfunction toString(value) {\n // The coercion safety check is performed in getToStringValue().\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n\n case 'object':\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n return value;\n\n default:\n // function, symbol are assigned as empty strings\n return '';\n }\n}\n\nfunction isCheckable(elem) {\n var type = elem.type;\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\n}\n\nfunction getTracker(node) {\n return node._valueTracker;\n}\n\nfunction detachTracker(node) {\n node._valueTracker = null;\n}\n\nfunction getValueFromNode(node) {\n var value = '';\n\n if (!node) {\n return value;\n }\n\n if (isCheckable(node)) {\n value = node.checked ? 'true' : 'false';\n } else {\n value = node.value;\n }\n\n return value;\n}\n\nfunction trackValueOnNode(node) {\n var valueField = isCheckable(node) ? 'checked' : 'value';\n var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n\n {\n checkFormFieldValueStringCoercion(node[valueField]);\n }\n\n var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail\n // and don't track value will cause over reporting of changes,\n // but it's better then a hard failure\n // (needed for certain tests that spyOn input values and Safari)\n\n if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\n return;\n }\n\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: true,\n // $FlowFixMe[missing-this-annot]\n get: function () {\n return get.call(this);\n },\n // $FlowFixMe[missing-local-annot]\n // $FlowFixMe[missing-this-annot]\n set: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n set.call(this, value);\n }\n }); // We could've passed this the first time\n // but it triggers a bug in IE11 and Edge 14/15.\n // Calling defineProperty() again should be equivalent.\n // https://github.com/facebook/react/issues/11768\n\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n var tracker = {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n },\n stopTracking: function () {\n detachTracker(node);\n delete node[valueField];\n }\n };\n return tracker;\n}\n\nfunction track(node) {\n if (getTracker(node)) {\n return;\n }\n\n node._valueTracker = trackValueOnNode(node);\n}\nfunction updateValueIfChanged(node) {\n if (!node) {\n return false;\n }\n\n var tracker = getTracker(node); // if there is no tracker at this point it's unlikely\n // that trying again will succeed\n\n if (!tracker) {\n return true;\n }\n\n var lastValue = tracker.getValue();\n var nextValue = getValueFromNode(node);\n\n if (nextValue !== lastValue) {\n tracker.setValue(nextValue);\n return true;\n }\n\n return false;\n}\n\nfunction getActiveElement(doc) {\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n if (typeof doc === 'undefined') {\n return null;\n }\n\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\n// When passing user input into querySelector(All) the embedded string must not alter\n// the semantics of the query. This escape function is safe to use when we know the\n// provided value is going to be wrapped in double quotes as part of an attribute selector\n// Do not use it anywhere else\n// we escape double quotes and backslashes\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\\\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(escapeSelectorAttributeValueInsideDoubleQuotesRegex, function (ch) {\n return '\\\\' + ch.charCodeAt(0).toString(16) + ' ';\n });\n}\n\nvar didWarnValueDefaultValue$1 = false;\nvar didWarnCheckedDefaultChecked = false;\n/**\n * Implements an <input> host component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\n\nfunction validateInputProps(element, props) {\n {\n // Normally we check for undefined and null the same, but explicitly specifying both\n // properties, at all is probably worth warning for. We could move this either direction\n // and just make it ok to pass null or just check hasOwnProperty.\n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnCheckedDefaultChecked = true;\n }\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) {\n error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnValueDefaultValue$1 = true;\n }\n }\n}\nfunction updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name) {\n var node = element; // Temporarily disconnect the input from any radio buttons.\n // Changing the type or name as the same time as changing the checked value\n // needs to be atomically applied. We can only ensure that by disconnecting\n // the name while do the mutations and then reapply the name after that's done.\n\n node.name = '';\n\n if (type != null && typeof type !== 'function' && typeof type !== 'symbol' && typeof type !== 'boolean') {\n {\n checkAttributeStringCoercion(type, 'type');\n }\n\n node.type = type;\n } else {\n node.removeAttribute('type');\n }\n\n if (value != null) {\n if (type === 'number') {\n if ( // $FlowFixMe[incompatible-type]\n value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible.\n // eslint-disable-next-line\n node.value != value) {\n node.value = toString(getToStringValue(value));\n }\n } else if (node.value !== toString(getToStringValue(value))) {\n node.value = toString(getToStringValue(value));\n }\n } else if (type === 'submit' || type === 'reset') {\n // Submit/reset inputs need the attribute removed completely to avoid\n // blank-text buttons.\n node.removeAttribute('value');\n }\n\n {\n // When syncing the value attribute, the value comes from a cascade of\n // properties:\n // 1. The value React property\n // 2. The defaultValue React property\n // 3. Otherwise there should be no change\n if (value != null) {\n setDefaultValue(node, type, getToStringValue(value));\n } else if (defaultValue != null) {\n setDefaultValue(node, type, getToStringValue(defaultValue));\n } else if (lastDefaultValue != null) {\n node.removeAttribute('value');\n }\n }\n\n {\n // When syncing the checked attribute, it only changes when it needs\n // to be removed, such as transitioning from a checkbox into a text input\n if (checked == null && defaultChecked != null) {\n node.defaultChecked = !!defaultChecked;\n }\n }\n\n if (checked != null) {\n // Important to set this even if it's not a change in order to update input\n // value tracking with radio buttons\n // TODO: Should really update input value tracking for the whole radio\n // button group in an effect or something (similar to #27024)\n node.checked = checked && typeof checked !== 'function' && typeof checked !== 'symbol';\n }\n\n if (name != null && typeof name !== 'function' && typeof name !== 'symbol' && typeof name !== 'boolean') {\n {\n checkAttributeStringCoercion(name, 'name');\n }\n\n node.name = toString(getToStringValue(name));\n } else {\n node.removeAttribute('name');\n }\n}\nfunction initInput(element, value, defaultValue, checked, defaultChecked, type, name, isHydrating) {\n var node = element;\n\n if (type != null && typeof type !== 'function' && typeof type !== 'symbol' && typeof type !== 'boolean') {\n {\n checkAttributeStringCoercion(type, 'type');\n }\n\n node.type = type;\n }\n\n if (value != null || defaultValue != null) {\n var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the\n // default value provided by the browser. See: #12872\n\n if (isButton && (value === undefined || value === null)) {\n return;\n }\n\n var defaultValueStr = defaultValue != null ? toString(getToStringValue(defaultValue)) : '';\n var initialValue = value != null ? toString(getToStringValue(value)) : defaultValueStr; // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (!isHydrating) {\n {\n // When syncing the value attribute, the value property should use\n // the wrapperState._initialValue property. This uses:\n //\n // 1. The value React property when present\n // 2. The defaultValue React property when present\n // 3. An empty string\n if (initialValue !== node.value) {\n node.value = initialValue;\n }\n }\n }\n\n {\n // Otherwise, the value attribute is synchronized to the property,\n // so we assign defaultValue to the same thing as the value property\n // assignment step above.\n node.defaultValue = initialValue;\n }\n } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n // this is needed to work around a chrome bug where setting defaultChecked\n // will sometimes influence the value of checked (even after detachment).\n // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n // We need to temporarily unset name to avoid disrupting radio button groups.\n\n\n var checkedOrDefault = checked != null ? checked : defaultChecked; // TODO: This 'function' or 'symbol' check isn't replicated in other places\n // so this semantic is inconsistent.\n\n var initialChecked = typeof checkedOrDefault !== 'function' && typeof checkedOrDefault !== 'symbol' && !!checkedOrDefault;\n\n if (isHydrating) {\n // Detach .checked from .defaultChecked but leave user input alone\n node.checked = node.checked;\n } else {\n node.checked = !!initialChecked;\n }\n\n {\n // When syncing the checked attribute, both the checked property and\n // attribute are assigned at the same time using defaultChecked. This uses:\n //\n // 1. The checked React property when present\n // 2. The defaultChecked React property when present\n // 3. Otherwise, false\n node.defaultChecked = !node.defaultChecked;\n node.defaultChecked = !!initialChecked;\n } // Name needs to be set at the end so that it applies atomically to connected radio buttons.\n\n\n if (name != null && typeof name !== 'function' && typeof name !== 'symbol' && typeof name !== 'boolean') {\n {\n checkAttributeStringCoercion(name, 'name');\n }\n\n node.name = name;\n }\n}\nfunction restoreControlledInputState(element, props) {\n var rootNode = element;\n updateInput(rootNode, props.value, props.defaultValue, props.defaultValue, props.checked, props.defaultChecked, props.type, props.name);\n var name = props.name;\n\n if (props.type === 'radio' && name != null) {\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n } // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form. It might not even be in the\n // document. Let's just use the local `querySelectorAll` to ensure we don't\n // miss anything.\n\n\n {\n checkAttributeStringCoercion(name, 'name');\n }\n\n var group = queryRoot.querySelectorAll('input[name=\"' + escapeSelectorAttributeValueInsideDoubleQuotes('' + name) + '\"][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n } // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React radio buttons with non-React ones.\n\n\n var otherProps = getFiberCurrentPropsFromNode(otherNode);\n\n if (!otherProps) {\n throw new Error('ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.');\n } // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n\n\n updateInput(otherNode, otherProps.value, otherProps.defaultValue, otherProps.defaultValue, otherProps.checked, otherProps.defaultChecked, otherProps.type, otherProps.name);\n } // If any updateInput() call set .checked to true, an input in this group\n // (often, `rootNode` itself) may have become unchecked\n\n\n for (var _i = 0; _i < group.length; _i++) {\n var _otherNode = group[_i];\n\n if (_otherNode.form !== rootNode.form) {\n continue;\n }\n\n updateValueIfChanged(_otherNode);\n }\n }\n} // In Chrome, assigning defaultValue to certain input types triggers input validation.\n// For number inputs, the display value loses trailing decimal points. For email inputs,\n// Chrome raises \"The specified value <x> is not a valid email address\".\n//\n// Here we check to see if the defaultValue has actually changed, avoiding these problems\n// when the user is inputting text\n//\n// https://github.com/facebook/react/issues/7253\n\nfunction setDefaultValue(node, type, value) {\n if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js\n type !== 'number' || getActiveElement(node.ownerDocument) !== node) {\n if (node.defaultValue !== toString(value)) {\n node.defaultValue = toString(value);\n }\n }\n}\n\nvar didWarnSelectedSetOnOption = false;\nvar didWarnInvalidChild = false;\nvar didWarnInvalidInnerHTML = false;\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\n\nfunction validateOptionProps(element, props) {\n {\n // If a value is not provided, then the children must be simple.\n if (props.value == null) {\n if (typeof props.children === 'object' && props.children !== null) {\n React.Children.forEach(props.children, function (child) {\n if (child == null) {\n return;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n return;\n }\n\n if (!didWarnInvalidChild) {\n didWarnInvalidChild = true;\n\n error('Cannot infer the option value of complex children. ' + 'Pass a `value` prop or use a plain string as children to <option>.');\n }\n });\n } else if (props.dangerouslySetInnerHTML != null) {\n if (!didWarnInvalidInnerHTML) {\n didWarnInvalidInnerHTML = true;\n\n error('Pass a `value` prop if you set dangerouslyInnerHTML so React knows ' + 'which value should be selected.');\n }\n }\n } // TODO: Remove support for `selected` in <option>.\n\n\n if (props.selected != null && !didWarnSelectedSetOnOption) {\n error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');\n\n didWarnSelectedSetOnOption = true;\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\nvar didWarnValueDefaultValue;\n\n{\n didWarnValueDefaultValue = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n return '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n/**\n * Validation function for `value` and `defaultValue`.\n */\n\nfunction checkSelectPropTypes(props) {\n {\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n\n if (props[propName] == null) {\n continue;\n }\n\n var propNameIsArray = isArray(props[propName]);\n\n if (props.multiple && !propNameIsArray) {\n error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());\n } else if (!props.multiple && propNameIsArray) {\n error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());\n }\n }\n }\n}\n\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n var options = node.options;\n\n if (multiple) {\n var selectedValues = propValue;\n var selectedValue = {};\n\n for (var i = 0; i < selectedValues.length; i++) {\n // Prefix to avoid chaos with special keys.\n selectedValue['$' + selectedValues[i]] = true;\n }\n\n for (var _i = 0; _i < options.length; _i++) {\n var selected = selectedValue.hasOwnProperty('$' + options[_i].value);\n\n if (options[_i].selected !== selected) {\n options[_i].selected = selected;\n }\n\n if (selected && setDefaultSelected) {\n options[_i].defaultSelected = true;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n var _selectedValue = toString(getToStringValue(propValue));\n\n var defaultSelected = null;\n\n for (var _i2 = 0; _i2 < options.length; _i2++) {\n if (options[_i2].value === _selectedValue) {\n options[_i2].selected = true;\n\n if (setDefaultSelected) {\n options[_i2].defaultSelected = true;\n }\n\n return;\n }\n\n if (defaultSelected === null && !options[_i2].disabled) {\n defaultSelected = options[_i2];\n }\n }\n\n if (defaultSelected !== null) {\n defaultSelected.selected = true;\n }\n }\n}\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\n\n\nfunction validateSelectProps(element, props) {\n {\n checkSelectPropTypes(props);\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components');\n\n didWarnValueDefaultValue = true;\n }\n }\n}\nfunction initSelect(element, value, defaultValue, multiple) {\n var node = element;\n node.multiple = !!multiple;\n\n if (value != null) {\n updateOptions(node, !!multiple, value, false);\n } else if (defaultValue != null) {\n updateOptions(node, !!multiple, defaultValue, true);\n }\n}\nfunction updateSelect(element, value, defaultValue, multiple, wasMultiple) {\n var node = element;\n\n if (value != null) {\n updateOptions(node, !!multiple, value, false);\n } else if (!!wasMultiple !== !!multiple) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (defaultValue != null) {\n updateOptions(node, !!multiple, defaultValue, true);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(node, !!multiple, multiple ? [] : '', false);\n }\n }\n}\nfunction restoreControlledSelectState(element, props) {\n var node = element;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n }\n}\n\nvar didWarnValDefaultVal = false;\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\n\nfunction validateTextareaProps(element, props) {\n {\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component');\n\n didWarnValDefaultVal = true;\n }\n\n if (props.children != null && props.value == null) {\n error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');\n }\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n var node = element;\n\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = toString(getToStringValue(value)); // To avoid side effects (such as losing text selection), only set value if changed\n\n if (newValue !== node.value) {\n node.value = newValue;\n } // TOOO: This should respect disableInputAttributeSyncing flag.\n\n\n if (defaultValue == null) {\n if (node.defaultValue !== newValue) {\n node.defaultValue = newValue;\n }\n\n return;\n }\n }\n\n if (defaultValue != null) {\n node.defaultValue = toString(getToStringValue(defaultValue));\n } else {\n node.defaultValue = '';\n }\n}\nfunction initTextarea(element, value, defaultValue, children) {\n var node = element;\n var initialValue = value; // Only bother fetching default value if we're going to use it\n\n if (initialValue == null) {\n if (children != null) {\n {\n if (defaultValue != null) {\n throw new Error('If you supply `defaultValue` on a <textarea>, do not pass children.');\n }\n\n if (isArray(children)) {\n if (children.length > 1) {\n throw new Error('<textarea> can only have at most one child.');\n }\n\n children = children[0];\n }\n\n defaultValue = children;\n }\n }\n\n if (defaultValue == null) {\n defaultValue = '';\n }\n\n initialValue = defaultValue;\n }\n\n var stringValue = getToStringValue(initialValue);\n node.defaultValue = stringValue; // This will be toString:ed.\n // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n\n var textContent = node.textContent; // Only set node.value if textContent is equal to the expected\n // initial value. In IE10/IE11 there is a bug where the placeholder attribute\n // will populate textContent as well.\n // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\n\n if (textContent === stringValue) {\n if (textContent !== '' && textContent !== null) {\n node.value = textContent;\n }\n }\n}\nfunction restoreControlledTextareaState(element, props) {\n // DOM component is still mounted; update\n updateTextarea(element, props.value, props.defaultValue);\n}\n\n// This validation code was written based on the HTML5 parsing spec:\n// https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n//\n// Note: this does not catch all invalid nesting, nor does it try to (as it's\n// not clear what practical benefit doing so provides); instead, we warn only\n// for cases where the parser will give a parse tree differing from what React\n// intended. For example, <b><div></div></b> is invalid but we don't warn\n// because it still parses correctly; we do warn for other cases like nested\n// <p> tags where the beginning of the second element implicitly closes the\n// first, causing a confusing mess.\n// https://html.spec.whatwg.org/multipage/syntax.html#special\nvar specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n\nvar inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n// TODO: Distinguish by namespace here -- for <title>, including it here\n// errs on the side of fewer warnings\n'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n\nvar buttonScopeTags = inScopeTags.concat(['button']) ; // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n\nvar impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\nvar emptyAncestorInfoDev = {\n current: null,\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null,\n containerTagInScope: null\n};\n\nfunction updatedAncestorInfoDev(oldInfo, tag) {\n {\n var ancestorInfo = assign({}, oldInfo || emptyAncestorInfoDev);\n\n var info = {\n tag: tag\n };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n } // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.current = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n if (tag === '#document' || tag === 'html') {\n ancestorInfo.containerTagInScope = null;\n } else if (!ancestorInfo.containerTagInScope) {\n ancestorInfo.containerTagInScope = info;\n }\n\n return ancestorInfo;\n }\n}\n/**\n * Returns whether\n */\n\n\nfunction isTagValidWithParent(tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'hr' || tag === 'option' || tag === 'optgroup' || tag === '#text';\n\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n\n case 'option':\n return tag === '#text';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n\n case 'html':\n return tag === 'head' || tag === 'body' || tag === 'frameset';\n\n case 'frameset':\n return tag === 'frame';\n\n case '#document':\n return tag === 'html';\n } // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'body':\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frameset':\n case 'frame':\n case 'head':\n case 'html':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n}\n/**\n * Returns whether\n */\n\n\nfunction findInvalidAncestorForTag(tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n case 'pre':\n case 'listing':\n case 'table':\n case 'hr':\n case 'xmp':\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n}\n\nvar didWarn$1 = {};\n\nfunction validateDOMNesting(childTag, ancestorInfo) {\n {\n ancestorInfo = ancestorInfo || emptyAncestorInfoDev;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var invalidParentOrAncestor = invalidParent || invalidAncestor;\n\n if (!invalidParentOrAncestor) {\n return true;\n }\n\n var ancestorTag = invalidParentOrAncestor.tag;\n var warnKey = // eslint-disable-next-line react-internal/safe-string-coercion\n String(!!invalidParent) + '|' + childTag + '|' + ancestorTag;\n\n if (didWarn$1[warnKey]) {\n return false;\n }\n\n didWarn$1[warnKey] = true;\n var tagDisplayName = '<' + childTag + '>';\n\n if (invalidParent) {\n var info = '';\n\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n\n error('In HTML, %s cannot be a child of <%s>.%s\\n' + 'This will cause a hydration error.', tagDisplayName, ancestorTag, info);\n } else {\n error('In HTML, %s cannot be a descendant of <%s>.\\n' + 'This will cause a hydration error.', tagDisplayName, ancestorTag);\n }\n\n return false;\n }\n}\n\nfunction validateTextNesting(childText, parentTag) {\n {\n if (isTagValidWithParent('#text', parentTag)) {\n return true;\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var warnKey = '#text|' + parentTag;\n\n if (didWarn$1[warnKey]) {\n return false;\n }\n\n didWarn$1[warnKey] = true;\n\n if (/\\S/.test(childText)) {\n error('In HTML, text nodes cannot be a child of <%s>.\\n' + 'This will cause a hydration error.', parentTag);\n } else {\n error('In HTML, whitespace text nodes cannot be a child of <%s>. ' + \"Make sure you don't have any extra whitespace between tags on \" + 'each line of your source code.\\n' + 'This will cause a hydration error.', parentTag);\n }\n\n return false;\n }\n}\n\nvar MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\nvar SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n\nvar reusableSVGContainer;\n\nfunction setInnerHTMLImpl(node, html) {\n if (node.namespaceURI === SVG_NAMESPACE) {\n\n if (!('innerHTML' in node)) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>';\n var svgNode = reusableSVGContainer.firstChild;\n\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n } // $FlowFixMe[incompatible-use]\n // $FlowFixMe[incompatible-type]\n\n\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n\n return;\n }\n }\n\n node.innerHTML = html;\n}\n\nvar setInnerHTML = setInnerHTMLImpl; // $FlowFixMe[cannot-resolve-name]\n\nif (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n /**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\n setInnerHTML = function (node, html) {\n // $FlowFixMe[cannot-resolve-name]\n return MSApp.execUnsafeLocalFunction(function () {\n return setInnerHTMLImpl(node, html);\n });\n };\n}\n\nvar setInnerHTML$1 = setInnerHTML;\n\n/**\n * HTML nodeType values that represent the type of the node\n */\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = 11;\n\n/**\n * Set the textContent property of a node. For text updates, it's faster\n * to set the `nodeValue` of the Text node directly instead of using\n * `.textContent` which will remove the existing node and create a new one.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\n\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {\n firstChild.nodeValue = text;\n return;\n }\n }\n\n node.textContent = text;\n}\n\n// List derived from Gecko source code:\n// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js\nvar shorthandToLonghand = {\n animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],\n background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'],\n backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],\n border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],\n borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],\n borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],\n borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],\n borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],\n borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],\n borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'],\n borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],\n columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'],\n columns: ['columnCount', 'columnWidth'],\n flex: ['flexBasis', 'flexGrow', 'flexShrink'],\n flexFlow: ['flexDirection', 'flexWrap'],\n font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'],\n fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],\n gap: ['columnGap', 'rowGap'],\n grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],\n gridColumn: ['gridColumnEnd', 'gridColumnStart'],\n gridColumnGap: ['columnGap'],\n gridGap: ['columnGap', 'rowGap'],\n gridRow: ['gridRowEnd', 'gridRowStart'],\n gridRowGap: ['rowGap'],\n gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n marker: ['markerEnd', 'markerMid', 'markerStart'],\n mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'],\n maskPosition: ['maskPositionX', 'maskPositionY'],\n outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],\n overflow: ['overflowX', 'overflowY'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n placeContent: ['alignContent', 'justifyContent'],\n placeItems: ['alignItems', 'justifyItems'],\n placeSelf: ['alignSelf', 'justifySelf'],\n textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],\n textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'],\n wordWrap: ['overflowWrap']\n};\n\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern$1 = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n */\n\nfunction hyphenateStyleName(name) {\n return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern$1, '-ms-');\n}\n\n// 'msTransform' is correct, but the other prefixes should be capitalized\nvar badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\nvar msPattern = /^-ms-/;\nvar hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon\n\nvar badStyleValueWithSemicolonPattern = /;\\s*$/;\nvar warnedStyleNames = {};\nvar warnedStyleValues = {};\nvar warnedForNaNValue = false;\nvar warnedForInfinityValue = false;\n\nfunction camelize(string) {\n return string.replace(hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nfunction warnHyphenatedStyleName(name) {\n {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests\n // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n // is converted to lowercase `ms`.\n camelize(name.replace(msPattern, 'ms-')));\n }\n}\n\nfunction warnBadVendoredStyleName(name) {\n {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));\n }\n}\n\nfunction warnStyleValueWithSemicolon(name, value) {\n {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n\n error(\"Style property values shouldn't contain a semicolon. \" + 'Try \"%s: %s\" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));\n }\n}\n\nfunction warnStyleValueIsNaN(name, value) {\n {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n\n error('`NaN` is an invalid value for the `%s` css style property.', name);\n }\n}\n\nfunction warnStyleValueIsInfinity(name, value) {\n {\n if (warnedForInfinityValue) {\n return;\n }\n\n warnedForInfinityValue = true;\n\n error('`Infinity` is an invalid value for the `%s` css style property.', name);\n }\n}\n\nfunction warnValidStyle(name, value) {\n {\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value);\n }\n\n if (typeof value === 'number') {\n if (isNaN(value)) {\n warnStyleValueIsNaN(name);\n } else if (!isFinite(value)) {\n warnStyleValueIsInfinity(name);\n }\n }\n }\n}\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\nvar unitlessNumbers = new Set(['animationIterationCount', 'aspectRatio', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'columns', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'gridArea', 'gridRow', 'gridRowEnd', 'gridRowSpan', 'gridRowStart', 'gridColumn', 'gridColumnEnd', 'gridColumnSpan', 'gridColumnStart', 'fontWeight', 'lineClamp', 'lineHeight', 'opacity', 'order', 'orphans', 'scale', 'tabSize', 'widows', 'zIndex', 'zoom', 'fillOpacity', // SVG-related properties\n'floodOpacity', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'MozAnimationIterationCount', // Known Prefixed Properties\n'MozBoxFlex', // TODO: Remove these since they shouldn't be used in modern code\n'MozBoxFlexGroup', 'MozLineClamp', 'msAnimationIterationCount', 'msFlex', 'msZoom', 'msFlexGrow', 'msFlexNegative', 'msFlexOrder', 'msFlexPositive', 'msFlexShrink', 'msGridColumn', 'msGridColumnSpan', 'msGridRow', 'msGridRowSpan', 'WebkitAnimationIterationCount', 'WebkitBoxFlex', 'WebKitBoxFlexGroup', 'WebkitBoxOrdinalGroup', 'WebkitColumnCount', 'WebkitColumns', 'WebkitFlex', 'WebkitFlexGrow', 'WebkitFlexPositive', 'WebkitFlexShrink', 'WebkitLineClamp']);\nfunction isUnitlessNumber (name) {\n return unitlessNumbers.has(name);\n}\n\n/**\n * Operations for dealing with CSS properties.\n */\n\n/**\n * This creates a string that is expected to be equivalent to the style\n * attribute generated by server-side rendering. It by-passes warnings and\n * security checks so it's not safe to use this value for anything other than\n * comparison. It is only used in DEV for SSR validation.\n */\n\nfunction createDangerousStringForStyles(styles) {\n {\n var serialized = '';\n var delimiter = '';\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var value = styles[styleName];\n\n if (value != null && typeof value !== 'boolean' && value !== '') {\n var isCustomProperty = styleName.indexOf('--') === 0;\n\n if (isCustomProperty) {\n {\n checkCSSPropertyStringCoercion(value, styleName);\n }\n\n serialized += delimiter + styleName + ':' + ('' + value).trim();\n } else {\n if (typeof value === 'number' && value !== 0 && !isUnitlessNumber(styleName)) {\n serialized += delimiter + hyphenateStyleName(styleName) + ':' + value + 'px';\n } else {\n {\n checkCSSPropertyStringCoercion(value, styleName);\n }\n\n serialized += delimiter + hyphenateStyleName(styleName) + ':' + ('' + value).trim();\n }\n }\n\n delimiter = ';';\n }\n }\n\n return serialized || null;\n }\n}\n\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = styleName.indexOf('--') === 0;\n\n {\n if (!isCustomProperty) {\n warnValidStyle(styleName, value);\n }\n }\n\n if (value == null || typeof value === 'boolean' || value === '') {\n if (isCustomProperty) {\n style.setProperty(styleName, '');\n } else if (styleName === 'float') {\n style.cssFloat = '';\n } else {\n style[styleName] = '';\n }\n } else if (isCustomProperty) {\n style.setProperty(styleName, value);\n } else if (typeof value === 'number' && value !== 0 && !isUnitlessNumber(styleName)) {\n style[styleName] = value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n } else {\n if (styleName === 'float') {\n style.cssFloat = value;\n } else {\n {\n checkCSSPropertyStringCoercion(value, styleName);\n }\n\n style[styleName] = ('' + value).trim();\n }\n }\n}\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\n\n\nfunction setValueForStyles(node, styles, prevStyles) {\n if (styles != null && typeof styles !== 'object') {\n throw new Error('The `style` prop expects a mapping from style properties to values, ' + \"not a string. For example, style={{marginRight: spacing + 'em'}} when \" + 'using JSX.');\n }\n\n {\n if (styles) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(styles);\n }\n }\n\n var style = node.style;\n\n if (prevStyles != null) {\n {\n validateShorthandPropertyCollisionInDev(prevStyles, styles);\n }\n\n for (var styleName in prevStyles) {\n if (prevStyles.hasOwnProperty(styleName) && (styles == null || !styles.hasOwnProperty(styleName))) {\n // Clear style\n var isCustomProperty = styleName.indexOf('--') === 0;\n\n if (isCustomProperty) {\n style.setProperty(styleName, '');\n } else if (styleName === 'float') {\n style.cssFloat = '';\n } else {\n style[styleName] = '';\n }\n }\n }\n\n for (var _styleName in styles) {\n var value = styles[_styleName];\n\n if (styles.hasOwnProperty(_styleName) && prevStyles[_styleName] !== value) {\n setValueForStyle(style, _styleName, value);\n }\n }\n } else {\n for (var _styleName2 in styles) {\n if (styles.hasOwnProperty(_styleName2)) {\n var _value = styles[_styleName2];\n setValueForStyle(style, _styleName2, _value);\n }\n }\n }\n}\n\nfunction isValueEmpty(value) {\n return value == null || typeof value === 'boolean' || value === '';\n}\n/**\n * Given {color: 'red', overflow: 'hidden'} returns {\n * color: 'color',\n * overflowX: 'overflow',\n * overflowY: 'overflow',\n * }. This can be read as \"the overflowY property was set by the overflow\n * shorthand\". That is, the values are the property that each was derived from.\n */\n\n\nfunction expandShorthandMap(styles) {\n var expanded = {};\n\n for (var key in styles) {\n var longhands = shorthandToLonghand[key] || [key];\n\n for (var i = 0; i < longhands.length; i++) {\n expanded[longhands[i]] = key;\n }\n }\n\n return expanded;\n}\n/**\n * When mixing shorthand and longhand property names, we warn during updates if\n * we expect an incorrect result to occur. In particular, we warn for:\n *\n * Updating a shorthand property (longhand gets overwritten):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}\n * becomes .style.font = 'baz'\n * Removing a shorthand property (longhand gets lost too):\n * {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}\n * becomes .style.font = ''\n * Removing a longhand property (should revert to shorthand; doesn't):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}\n * becomes .style.fontVariant = ''\n */\n\n\nfunction validateShorthandPropertyCollisionInDev(prevStyles, nextStyles) {\n {\n if (!nextStyles) {\n return;\n } // Compute the diff as it would happen elsewhere.\n\n\n var expandedUpdates = {};\n\n if (prevStyles) {\n for (var key in prevStyles) {\n if (prevStyles.hasOwnProperty(key) && !nextStyles.hasOwnProperty(key)) {\n var longhands = shorthandToLonghand[key] || [key];\n\n for (var i = 0; i < longhands.length; i++) {\n expandedUpdates[longhands[i]] = key;\n }\n }\n }\n }\n\n for (var _key in nextStyles) {\n if (nextStyles.hasOwnProperty(_key) && (!prevStyles || prevStyles[_key] !== nextStyles[_key])) {\n var _longhands = shorthandToLonghand[_key] || [_key];\n\n for (var _i = 0; _i < _longhands.length; _i++) {\n expandedUpdates[_longhands[_i]] = _key;\n }\n }\n }\n\n var expandedStyles = expandShorthandMap(nextStyles);\n var warnedAbout = {};\n\n for (var _key2 in expandedUpdates) {\n var originalKey = expandedUpdates[_key2];\n var correctOriginalKey = expandedStyles[_key2];\n\n if (correctOriginalKey && originalKey !== correctOriginalKey) {\n var warningKey = originalKey + ',' + correctOriginalKey;\n\n if (warnedAbout[warningKey]) {\n continue;\n }\n\n warnedAbout[warningKey] = true;\n\n error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + \"avoid this, don't mix shorthand and non-shorthand properties \" + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(nextStyles[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);\n }\n }\n }\n}\n\nfunction isCustomElement(tagName, props) {\n if (tagName.indexOf('-') === -1) {\n return false;\n }\n\n switch (tagName) {\n // These are reserved SVG and MathML elements.\n // We don't mind this list too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n case 'annotation-xml':\n case 'color-profile':\n case 'font-face':\n case 'font-face-src':\n case 'font-face-uri':\n case 'font-face-format':\n case 'font-face-name':\n case 'missing-glyph':\n return false;\n\n default:\n return true;\n }\n}\n\nvar aliases = new Map([['acceptCharset', 'accept-charset'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv'], // HTML and SVG attributes, but the SVG attribute is case sensitive.],\n['crossOrigin', 'crossorigin'], // This is a list of all SVG attributes that need special casing.\n// Regular attributes that just accept strings.],\n['accentHeight', 'accent-height'], ['alignmentBaseline', 'alignment-baseline'], ['arabicForm', 'arabic-form'], ['baselineShift', 'baseline-shift'], ['capHeight', 'cap-height'], ['clipPath', 'clip-path'], ['clipRule', 'clip-rule'], ['colorInterpolation', 'color-interpolation'], ['colorInterpolationFilters', 'color-interpolation-filters'], ['colorProfile', 'color-profile'], ['colorRendering', 'color-rendering'], ['dominantBaseline', 'dominant-baseline'], ['enableBackground', 'enable-background'], ['fillOpacity', 'fill-opacity'], ['fillRule', 'fill-rule'], ['floodColor', 'flood-color'], ['floodOpacity', 'flood-opacity'], ['fontFamily', 'font-family'], ['fontSize', 'font-size'], ['fontSizeAdjust', 'font-size-adjust'], ['fontStretch', 'font-stretch'], ['fontStyle', 'font-style'], ['fontVariant', 'font-variant'], ['fontWeight', 'font-weight'], ['glyphName', 'glyph-name'], ['glyphOrientationHorizontal', 'glyph-orientation-horizontal'], ['glyphOrientationVertical', 'glyph-orientation-vertical'], ['horizAdvX', 'horiz-adv-x'], ['horizOriginX', 'horiz-origin-x'], ['imageRendering', 'image-rendering'], ['letterSpacing', 'letter-spacing'], ['lightingColor', 'lighting-color'], ['markerEnd', 'marker-end'], ['markerMid', 'marker-mid'], ['markerStart', 'marker-start'], ['overlinePosition', 'overline-position'], ['overlineThickness', 'overline-thickness'], ['paintOrder', 'paint-order'], ['panose-1', 'panose-1'], ['pointerEvents', 'pointer-events'], ['renderingIntent', 'rendering-intent'], ['shapeRendering', 'shape-rendering'], ['stopColor', 'stop-color'], ['stopOpacity', 'stop-opacity'], ['strikethroughPosition', 'strikethrough-position'], ['strikethroughThickness', 'strikethrough-thickness'], ['strokeDasharray', 'stroke-dasharray'], ['strokeDashoffset', 'stroke-dashoffset'], ['strokeLinecap', 'stroke-linecap'], ['strokeLinejoin', 'stroke-linejoin'], ['strokeMiterlimit', 'stroke-miterlimit'], ['strokeOpacity', 'stroke-opacity'], ['strokeWidth', 'stroke-width'], ['textAnchor', 'text-anchor'], ['textDecoration', 'text-decoration'], ['textRendering', 'text-rendering'], ['transformOrigin', 'transform-origin'], ['underlinePosition', 'underline-position'], ['underlineThickness', 'underline-thickness'], ['unicodeBidi', 'unicode-bidi'], ['unicodeRange', 'unicode-range'], ['unitsPerEm', 'units-per-em'], ['vAlphabetic', 'v-alphabetic'], ['vHanging', 'v-hanging'], ['vIdeographic', 'v-ideographic'], ['vMathematical', 'v-mathematical'], ['vectorEffect', 'vector-effect'], ['vertAdvY', 'vert-adv-y'], ['vertOriginX', 'vert-origin-x'], ['vertOriginY', 'vert-origin-y'], ['wordSpacing', 'word-spacing'], ['writingMode', 'writing-mode'], ['xmlnsXlink', 'xmlns:xlink'], ['xHeight', 'x-height']]);\nfunction getAttributeAlias (name) {\n return aliases.get(name) || name;\n}\n\n// When adding attributes to the HTML or SVG allowed attribute list, be sure to\n// also add them to this module to ensure casing and incorrect name\n// warnings.\nvar possibleStandardNames = {\n // HTML\n accept: 'accept',\n acceptcharset: 'acceptCharset',\n 'accept-charset': 'acceptCharset',\n accesskey: 'accessKey',\n action: 'action',\n allowfullscreen: 'allowFullScreen',\n alt: 'alt',\n as: 'as',\n async: 'async',\n autocapitalize: 'autoCapitalize',\n autocomplete: 'autoComplete',\n autocorrect: 'autoCorrect',\n autofocus: 'autoFocus',\n autoplay: 'autoPlay',\n autosave: 'autoSave',\n capture: 'capture',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n challenge: 'challenge',\n charset: 'charSet',\n checked: 'checked',\n children: 'children',\n cite: 'cite',\n class: 'className',\n classid: 'classID',\n classname: 'className',\n cols: 'cols',\n colspan: 'colSpan',\n content: 'content',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n controls: 'controls',\n controlslist: 'controlsList',\n coords: 'coords',\n crossorigin: 'crossOrigin',\n dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n data: 'data',\n datetime: 'dateTime',\n default: 'default',\n defaultchecked: 'defaultChecked',\n defaultvalue: 'defaultValue',\n defer: 'defer',\n dir: 'dir',\n disabled: 'disabled',\n disablepictureinpicture: 'disablePictureInPicture',\n disableremoteplayback: 'disableRemotePlayback',\n download: 'download',\n draggable: 'draggable',\n enctype: 'encType',\n enterkeyhint: 'enterKeyHint',\n fetchpriority: 'fetchPriority',\n for: 'htmlFor',\n form: 'form',\n formmethod: 'formMethod',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n headers: 'headers',\n height: 'height',\n hidden: 'hidden',\n high: 'high',\n href: 'href',\n hreflang: 'hrefLang',\n htmlfor: 'htmlFor',\n httpequiv: 'httpEquiv',\n 'http-equiv': 'httpEquiv',\n icon: 'icon',\n id: 'id',\n imagesizes: 'imageSizes',\n imagesrcset: 'imageSrcSet',\n innerhtml: 'innerHTML',\n inputmode: 'inputMode',\n integrity: 'integrity',\n is: 'is',\n itemid: 'itemID',\n itemprop: 'itemProp',\n itemref: 'itemRef',\n itemscope: 'itemScope',\n itemtype: 'itemType',\n keyparams: 'keyParams',\n keytype: 'keyType',\n kind: 'kind',\n label: 'label',\n lang: 'lang',\n list: 'list',\n loop: 'loop',\n low: 'low',\n manifest: 'manifest',\n marginwidth: 'marginWidth',\n marginheight: 'marginHeight',\n max: 'max',\n maxlength: 'maxLength',\n media: 'media',\n mediagroup: 'mediaGroup',\n method: 'method',\n min: 'min',\n minlength: 'minLength',\n multiple: 'multiple',\n muted: 'muted',\n name: 'name',\n nomodule: 'noModule',\n nonce: 'nonce',\n novalidate: 'noValidate',\n open: 'open',\n optimum: 'optimum',\n pattern: 'pattern',\n placeholder: 'placeholder',\n playsinline: 'playsInline',\n poster: 'poster',\n preload: 'preload',\n profile: 'profile',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n referrerpolicy: 'referrerPolicy',\n rel: 'rel',\n required: 'required',\n reversed: 'reversed',\n role: 'role',\n rows: 'rows',\n rowspan: 'rowSpan',\n sandbox: 'sandbox',\n scope: 'scope',\n scoped: 'scoped',\n scrolling: 'scrolling',\n seamless: 'seamless',\n selected: 'selected',\n shape: 'shape',\n size: 'size',\n sizes: 'sizes',\n span: 'span',\n spellcheck: 'spellCheck',\n src: 'src',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n start: 'start',\n step: 'step',\n style: 'style',\n summary: 'summary',\n tabindex: 'tabIndex',\n target: 'target',\n title: 'title',\n type: 'type',\n usemap: 'useMap',\n value: 'value',\n width: 'width',\n wmode: 'wmode',\n wrap: 'wrap',\n // SVG\n about: 'about',\n accentheight: 'accentHeight',\n 'accent-height': 'accentHeight',\n accumulate: 'accumulate',\n additive: 'additive',\n alignmentbaseline: 'alignmentBaseline',\n 'alignment-baseline': 'alignmentBaseline',\n allowreorder: 'allowReorder',\n alphabetic: 'alphabetic',\n amplitude: 'amplitude',\n arabicform: 'arabicForm',\n 'arabic-form': 'arabicForm',\n ascent: 'ascent',\n attributename: 'attributeName',\n attributetype: 'attributeType',\n autoreverse: 'autoReverse',\n azimuth: 'azimuth',\n basefrequency: 'baseFrequency',\n baselineshift: 'baselineShift',\n 'baseline-shift': 'baselineShift',\n baseprofile: 'baseProfile',\n bbox: 'bbox',\n begin: 'begin',\n bias: 'bias',\n by: 'by',\n calcmode: 'calcMode',\n capheight: 'capHeight',\n 'cap-height': 'capHeight',\n clip: 'clip',\n clippath: 'clipPath',\n 'clip-path': 'clipPath',\n clippathunits: 'clipPathUnits',\n cliprule: 'clipRule',\n 'clip-rule': 'clipRule',\n color: 'color',\n colorinterpolation: 'colorInterpolation',\n 'color-interpolation': 'colorInterpolation',\n colorinterpolationfilters: 'colorInterpolationFilters',\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorprofile: 'colorProfile',\n 'color-profile': 'colorProfile',\n colorrendering: 'colorRendering',\n 'color-rendering': 'colorRendering',\n contentscripttype: 'contentScriptType',\n contentstyletype: 'contentStyleType',\n cursor: 'cursor',\n cx: 'cx',\n cy: 'cy',\n d: 'd',\n datatype: 'datatype',\n decelerate: 'decelerate',\n descent: 'descent',\n diffuseconstant: 'diffuseConstant',\n direction: 'direction',\n display: 'display',\n divisor: 'divisor',\n dominantbaseline: 'dominantBaseline',\n 'dominant-baseline': 'dominantBaseline',\n dur: 'dur',\n dx: 'dx',\n dy: 'dy',\n edgemode: 'edgeMode',\n elevation: 'elevation',\n enablebackground: 'enableBackground',\n 'enable-background': 'enableBackground',\n end: 'end',\n exponent: 'exponent',\n externalresourcesrequired: 'externalResourcesRequired',\n fill: 'fill',\n fillopacity: 'fillOpacity',\n 'fill-opacity': 'fillOpacity',\n fillrule: 'fillRule',\n 'fill-rule': 'fillRule',\n filter: 'filter',\n filterres: 'filterRes',\n filterunits: 'filterUnits',\n floodopacity: 'floodOpacity',\n 'flood-opacity': 'floodOpacity',\n floodcolor: 'floodColor',\n 'flood-color': 'floodColor',\n focusable: 'focusable',\n fontfamily: 'fontFamily',\n 'font-family': 'fontFamily',\n fontsize: 'fontSize',\n 'font-size': 'fontSize',\n fontsizeadjust: 'fontSizeAdjust',\n 'font-size-adjust': 'fontSizeAdjust',\n fontstretch: 'fontStretch',\n 'font-stretch': 'fontStretch',\n fontstyle: 'fontStyle',\n 'font-style': 'fontStyle',\n fontvariant: 'fontVariant',\n 'font-variant': 'fontVariant',\n fontweight: 'fontWeight',\n 'font-weight': 'fontWeight',\n format: 'format',\n from: 'from',\n fx: 'fx',\n fy: 'fy',\n g1: 'g1',\n g2: 'g2',\n glyphname: 'glyphName',\n 'glyph-name': 'glyphName',\n glyphorientationhorizontal: 'glyphOrientationHorizontal',\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphorientationvertical: 'glyphOrientationVertical',\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n hanging: 'hanging',\n horizadvx: 'horizAdvX',\n 'horiz-adv-x': 'horizAdvX',\n horizoriginx: 'horizOriginX',\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 'ideographic',\n imagerendering: 'imageRendering',\n 'image-rendering': 'imageRendering',\n in2: 'in2',\n in: 'in',\n inlist: 'inlist',\n intercept: 'intercept',\n k1: 'k1',\n k2: 'k2',\n k3: 'k3',\n k4: 'k4',\n k: 'k',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n kerning: 'kerning',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n letterspacing: 'letterSpacing',\n 'letter-spacing': 'letterSpacing',\n lightingcolor: 'lightingColor',\n 'lighting-color': 'lightingColor',\n limitingconeangle: 'limitingConeAngle',\n local: 'local',\n markerend: 'markerEnd',\n 'marker-end': 'markerEnd',\n markerheight: 'markerHeight',\n markermid: 'markerMid',\n 'marker-mid': 'markerMid',\n markerstart: 'markerStart',\n 'marker-start': 'markerStart',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n mask: 'mask',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n mathematical: 'mathematical',\n mode: 'mode',\n numoctaves: 'numOctaves',\n offset: 'offset',\n opacity: 'opacity',\n operator: 'operator',\n order: 'order',\n orient: 'orient',\n orientation: 'orientation',\n origin: 'origin',\n overflow: 'overflow',\n overlineposition: 'overlinePosition',\n 'overline-position': 'overlinePosition',\n overlinethickness: 'overlineThickness',\n 'overline-thickness': 'overlineThickness',\n paintorder: 'paintOrder',\n 'paint-order': 'paintOrder',\n panose1: 'panose1',\n 'panose-1': 'panose1',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointerevents: 'pointerEvents',\n 'pointer-events': 'pointerEvents',\n points: 'points',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n prefix: 'prefix',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n property: 'property',\n r: 'r',\n radius: 'radius',\n refx: 'refX',\n refy: 'refY',\n renderingintent: 'renderingIntent',\n 'rendering-intent': 'renderingIntent',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n resource: 'resource',\n restart: 'restart',\n result: 'result',\n results: 'results',\n rotate: 'rotate',\n rx: 'rx',\n ry: 'ry',\n scale: 'scale',\n security: 'security',\n seed: 'seed',\n shaperendering: 'shapeRendering',\n 'shape-rendering': 'shapeRendering',\n slope: 'slope',\n spacing: 'spacing',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n speed: 'speed',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stemh: 'stemh',\n stemv: 'stemv',\n stitchtiles: 'stitchTiles',\n stopcolor: 'stopColor',\n 'stop-color': 'stopColor',\n stopopacity: 'stopOpacity',\n 'stop-opacity': 'stopOpacity',\n strikethroughposition: 'strikethroughPosition',\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughthickness: 'strikethroughThickness',\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 'string',\n stroke: 'stroke',\n strokedasharray: 'strokeDasharray',\n 'stroke-dasharray': 'strokeDasharray',\n strokedashoffset: 'strokeDashoffset',\n 'stroke-dashoffset': 'strokeDashoffset',\n strokelinecap: 'strokeLinecap',\n 'stroke-linecap': 'strokeLinecap',\n strokelinejoin: 'strokeLinejoin',\n 'stroke-linejoin': 'strokeLinejoin',\n strokemiterlimit: 'strokeMiterlimit',\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokewidth: 'strokeWidth',\n 'stroke-width': 'strokeWidth',\n strokeopacity: 'strokeOpacity',\n 'stroke-opacity': 'strokeOpacity',\n suppresscontenteditablewarning: 'suppressContentEditableWarning',\n suppresshydrationwarning: 'suppressHydrationWarning',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textanchor: 'textAnchor',\n 'text-anchor': 'textAnchor',\n textdecoration: 'textDecoration',\n 'text-decoration': 'textDecoration',\n textlength: 'textLength',\n textrendering: 'textRendering',\n 'text-rendering': 'textRendering',\n to: 'to',\n transform: 'transform',\n transformorigin: 'transformOrigin',\n 'transform-origin': 'transformOrigin',\n typeof: 'typeof',\n u1: 'u1',\n u2: 'u2',\n underlineposition: 'underlinePosition',\n 'underline-position': 'underlinePosition',\n underlinethickness: 'underlineThickness',\n 'underline-thickness': 'underlineThickness',\n unicode: 'unicode',\n unicodebidi: 'unicodeBidi',\n 'unicode-bidi': 'unicodeBidi',\n unicoderange: 'unicodeRange',\n 'unicode-range': 'unicodeRange',\n unitsperem: 'unitsPerEm',\n 'units-per-em': 'unitsPerEm',\n unselectable: 'unselectable',\n valphabetic: 'vAlphabetic',\n 'v-alphabetic': 'vAlphabetic',\n values: 'values',\n vectoreffect: 'vectorEffect',\n 'vector-effect': 'vectorEffect',\n version: 'version',\n vertadvy: 'vertAdvY',\n 'vert-adv-y': 'vertAdvY',\n vertoriginx: 'vertOriginX',\n 'vert-origin-x': 'vertOriginX',\n vertoriginy: 'vertOriginY',\n 'vert-origin-y': 'vertOriginY',\n vhanging: 'vHanging',\n 'v-hanging': 'vHanging',\n videographic: 'vIdeographic',\n 'v-ideographic': 'vIdeographic',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n visibility: 'visibility',\n vmathematical: 'vMathematical',\n 'v-mathematical': 'vMathematical',\n vocab: 'vocab',\n widths: 'widths',\n wordspacing: 'wordSpacing',\n 'word-spacing': 'wordSpacing',\n writingmode: 'writingMode',\n 'writing-mode': 'writingMode',\n x1: 'x1',\n x2: 'x2',\n x: 'x',\n xchannelselector: 'xChannelSelector',\n xheight: 'xHeight',\n 'x-height': 'xHeight',\n xlinkactuate: 'xlinkActuate',\n 'xlink:actuate': 'xlinkActuate',\n xlinkarcrole: 'xlinkArcrole',\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkhref: 'xlinkHref',\n 'xlink:href': 'xlinkHref',\n xlinkrole: 'xlinkRole',\n 'xlink:role': 'xlinkRole',\n xlinkshow: 'xlinkShow',\n 'xlink:show': 'xlinkShow',\n xlinktitle: 'xlinkTitle',\n 'xlink:title': 'xlinkTitle',\n xlinktype: 'xlinkType',\n 'xlink:type': 'xlinkType',\n xmlbase: 'xmlBase',\n 'xml:base': 'xmlBase',\n xmllang: 'xmlLang',\n 'xml:lang': 'xmlLang',\n xmlns: 'xmlns',\n 'xml:space': 'xmlSpace',\n xmlnsxlink: 'xmlnsXlink',\n 'xmlns:xlink': 'xmlnsXlink',\n xmlspace: 'xmlSpace',\n y1: 'y1',\n y2: 'y2',\n y: 'y',\n ychannelselector: 'yChannelSelector',\n z: 'z',\n zoomandpan: 'zoomAndPan'\n};\n\nvar ariaProperties = {\n 'aria-current': 0,\n // state\n 'aria-description': 0,\n 'aria-details': 0,\n 'aria-disabled': 0,\n // state\n 'aria-hidden': 0,\n // state\n 'aria-invalid': 0,\n // state\n 'aria-keyshortcuts': 0,\n 'aria-label': 0,\n 'aria-roledescription': 0,\n // Widget Attributes\n 'aria-autocomplete': 0,\n 'aria-checked': 0,\n 'aria-expanded': 0,\n 'aria-haspopup': 0,\n 'aria-level': 0,\n 'aria-modal': 0,\n 'aria-multiline': 0,\n 'aria-multiselectable': 0,\n 'aria-orientation': 0,\n 'aria-placeholder': 0,\n 'aria-pressed': 0,\n 'aria-readonly': 0,\n 'aria-required': 0,\n 'aria-selected': 0,\n 'aria-sort': 0,\n 'aria-valuemax': 0,\n 'aria-valuemin': 0,\n 'aria-valuenow': 0,\n 'aria-valuetext': 0,\n // Live Region Attributes\n 'aria-atomic': 0,\n 'aria-busy': 0,\n 'aria-live': 0,\n 'aria-relevant': 0,\n // Drag-and-Drop Attributes\n 'aria-dropeffect': 0,\n 'aria-grabbed': 0,\n // Relationship Attributes\n 'aria-activedescendant': 0,\n 'aria-colcount': 0,\n 'aria-colindex': 0,\n 'aria-colspan': 0,\n 'aria-controls': 0,\n 'aria-describedby': 0,\n 'aria-errormessage': 0,\n 'aria-flowto': 0,\n 'aria-labelledby': 0,\n 'aria-owns': 0,\n 'aria-posinset': 0,\n 'aria-rowcount': 0,\n 'aria-rowindex': 0,\n 'aria-rowspan': 0,\n 'aria-setsize': 0\n};\n\nvar warnedProperties$1 = {};\nvar rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\nfunction validateProperty$1(tagName, name) {\n {\n if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {\n return true;\n }\n\n if (rARIACamel$1.test(name)) {\n var ariaName = 'aria-' + name.slice(4).toLowerCase();\n var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (correctName == null) {\n error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);\n\n warnedProperties$1[name] = true;\n return true;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== correctName) {\n error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n }\n\n if (rARIA$1.test(name)) {\n var lowerCasedName = name.toLowerCase();\n var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (standardName == null) {\n warnedProperties$1[name] = true;\n return false;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== standardName) {\n error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n }\n }\n\n return true;\n}\n\nfunction validateProperties$2(type, props) {\n {\n var invalidProps = [];\n\n for (var key in props) {\n var isValid = validateProperty$1(type, key);\n\n if (!isValid) {\n invalidProps.push(key);\n }\n }\n\n var unknownPropString = invalidProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (invalidProps.length === 1) {\n error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n } else if (invalidProps.length > 1) {\n error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n }\n }\n}\n\nvar didWarnValueNull = false;\nfunction validateProperties$1(type, props) {\n {\n if (type !== 'input' && type !== 'textarea' && type !== 'select') {\n return;\n }\n\n if (props != null && props.value === null && !didWarnValueNull) {\n didWarnValueNull = true;\n\n if (type === 'select' && props.multiple) {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);\n } else {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);\n }\n }\n }\n}\n\nvar warnedProperties = {};\nvar EVENT_NAME_REGEX = /^on./;\nvar INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;\nvar rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$') ;\nvar rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$') ;\n\nfunction validateProperty(tagName, name, value, eventRegistry) {\n {\n if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) {\n return true;\n }\n\n var lowerCasedName = name.toLowerCase();\n\n if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {\n error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');\n\n warnedProperties[name] = true;\n return true;\n }\n\n {\n // Actions are special because unlike events they can have other value types.\n if (typeof value === 'function') {\n if (tagName === 'form' && name === 'action') {\n return true;\n }\n\n if (tagName === 'input' && name === 'formAction') {\n return true;\n }\n\n if (tagName === 'button' && name === 'formAction') {\n return true;\n }\n }\n } // We can't rely on the event system being injected on the server.\n\n\n if (eventRegistry != null) {\n var registrationNameDependencies = eventRegistry.registrationNameDependencies,\n possibleRegistrationNames = eventRegistry.possibleRegistrationNames;\n\n if (registrationNameDependencies.hasOwnProperty(name)) {\n return true;\n }\n\n var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;\n\n if (registrationName != null) {\n error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);\n\n warnedProperties[name] = true;\n return true;\n }\n\n if (EVENT_NAME_REGEX.test(name)) {\n error('Unknown event handler property `%s`. It will be ignored.', name);\n\n warnedProperties[name] = true;\n return true;\n }\n } else if (EVENT_NAME_REGEX.test(name)) {\n // If no event plugins have been injected, we are in a server environment.\n // So we can't tell if the event name is correct for sure, but we can filter\n // out known bad ones like `onclick`. We can't suggest a specific replacement though.\n if (INVALID_EVENT_NAME_REGEX.test(name)) {\n error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);\n }\n\n warnedProperties[name] = true;\n return true;\n } // Let the ARIA attribute hook validate ARIA attributes\n\n\n if (rARIA.test(name) || rARIACamel.test(name)) {\n return true;\n }\n\n if (lowerCasedName === 'innerhtml') {\n error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');\n\n warnedProperties[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'aria') {\n error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');\n\n warnedProperties[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {\n error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);\n\n warnedProperties[name] = true;\n return true;\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);\n\n warnedProperties[name] = true;\n return true;\n } // Known attributes should match the casing specified in the property config.\n\n\n if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n var standardName = possibleStandardNames[lowerCasedName];\n\n if (standardName !== name) {\n error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties[name] = true;\n return true;\n }\n } else if (name !== lowerCasedName) {\n // Unknown attributes should have lowercase casing since that's how they\n // will be cased anyway with server rendering.\n error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);\n\n warnedProperties[name] = true;\n return true;\n } // Now that we've validated casing, do not validate\n // data types for reserved props\n\n\n switch (name) {\n case 'dangerouslySetInnerHTML':\n case 'children':\n case 'style':\n case 'suppressContentEditableWarning':\n case 'suppressHydrationWarning':\n case 'defaultValue': // Reserved\n\n case 'defaultChecked':\n case 'innerHTML':\n case 'ref':\n {\n return true;\n }\n\n }\n\n switch (typeof value) {\n case 'boolean':\n {\n switch (name) {\n case 'autoFocus':\n case 'checked':\n case 'multiple':\n case 'muted':\n case 'selected':\n case 'contentEditable':\n case 'spellCheck':\n case 'draggable':\n case 'value':\n case 'autoReverse':\n case 'externalResourcesRequired':\n case 'focusable':\n case 'preserveAlpha':\n case 'allowFullScreen':\n case 'async':\n case 'autoPlay':\n case 'controls':\n case 'default':\n case 'defer':\n case 'disabled':\n case 'disablePictureInPicture':\n case 'disableRemotePlayback':\n case 'formNoValidate':\n case 'hidden':\n case 'loop':\n case 'noModule':\n case 'noValidate':\n case 'open':\n case 'playsInline':\n case 'readOnly':\n case 'required':\n case 'reversed':\n case 'scoped':\n case 'seamless':\n case 'itemScope':\n case 'capture':\n case 'download':\n {\n // Boolean properties can accept boolean values\n return true;\n }\n\n default:\n {\n var prefix = name.toLowerCase().slice(0, 5);\n\n if (prefix === 'data-' || prefix === 'aria-') {\n return true;\n }\n\n if (value) {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.', value, name, name, value, name);\n } else {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);\n }\n\n warnedProperties[name] = true;\n return true;\n }\n }\n }\n\n case 'function':\n case 'symbol':\n // eslint-disable-line\n // Warn when a known attribute is a bad type\n warnedProperties[name] = true;\n return false;\n\n case 'string':\n {\n // Warn when passing the strings 'false' or 'true' into a boolean prop\n if (value === 'false' || value === 'true') {\n switch (name) {\n case 'checked':\n case 'selected':\n case 'multiple':\n case 'muted':\n case 'allowFullScreen':\n case 'async':\n case 'autoPlay':\n case 'controls':\n case 'default':\n case 'defer':\n case 'disabled':\n case 'disablePictureInPicture':\n case 'disableRemotePlayback':\n case 'formNoValidate':\n case 'hidden':\n case 'loop':\n case 'noModule':\n case 'noValidate':\n case 'open':\n case 'playsInline':\n case 'readOnly':\n case 'required':\n case 'reversed':\n case 'scoped':\n case 'seamless':\n case 'itemScope':\n {\n break;\n }\n\n default:\n {\n return true;\n }\n }\n\n error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string \"false\".', name, value);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n }\n\n return true;\n }\n}\n\nfunction warnUnknownProperties(type, props, eventRegistry) {\n {\n var unknownProps = [];\n\n for (var key in props) {\n var isValid = validateProperty(type, key, props[key], eventRegistry);\n\n if (!isValid) {\n unknownProps.push(key);\n }\n }\n\n var unknownPropString = unknownProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (unknownProps.length === 1) {\n error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n } else if (unknownProps.length > 1) {\n error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n }\n }\n}\n\nfunction validateProperties(type, props, eventRegistry) {\n if (isCustomElement(type) || typeof props.is === 'string') {\n return;\n }\n\n warnUnknownProperties(type, props, eventRegistry);\n}\n\n// and any newline or tab are filtered out as if they're not part of the URL.\n// https://url.spec.whatwg.org/#url-parsing\n// Tab or newline are defined as \\r\\n\\t:\n// https://infra.spec.whatwg.org/#ascii-tab-or-newline\n// A C0 control is a code point in the range \\u0000 NULL to \\u001F\n// INFORMATION SEPARATOR ONE, inclusive:\n// https://infra.spec.whatwg.org/#c0-control-or-space\n\n/* eslint-disable max-len */\n\nvar isJavaScriptProtocol = /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*\\:/i;\nvar didWarn = false;\n\nfunction sanitizeURL(url) {\n // We should never have symbols here because they get filtered out elsewhere.\n // eslint-disable-next-line react-internal/safe-string-coercion\n var stringifiedURL = '' + url;\n\n {\n if (!didWarn && isJavaScriptProtocol.test(stringifiedURL)) {\n didWarn = true;\n\n error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(stringifiedURL));\n }\n }\n\n return url;\n}\n\nvar IS_EVENT_HANDLE_NON_MANAGED_NODE = 1;\nvar IS_NON_DELEGATED = 1 << 1;\nvar IS_CAPTURE_PHASE = 1 << 2;\n// set to LEGACY_FB_SUPPORT. LEGACY_FB_SUPPORT only gets set when\n// we call willDeferLaterForLegacyFBSupport, thus not bailing out\n// will result in endless cycles like an infinite loop.\n// We also don't want to defer during event replaying.\n\nvar SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS = IS_EVENT_HANDLE_NON_MANAGED_NODE | IS_NON_DELEGATED | IS_CAPTURE_PHASE;\n\n// This exists to avoid circular dependency between ReactDOMEventReplaying\n// and DOMPluginEventSystem.\nvar currentReplayingEvent = null;\nfunction setReplayingEvent(event) {\n {\n if (currentReplayingEvent !== null) {\n error('Expected currently replaying event to be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = event;\n}\nfunction resetReplayingEvent() {\n {\n if (currentReplayingEvent === null) {\n error('Expected currently replaying event to not be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = null;\n}\nfunction isReplayingEvent(event) {\n return event === currentReplayingEvent;\n}\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n // Fallback to nativeEvent.srcElement for IE9\n // https://github.com/facebook/react/issues/12506\n var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963\n\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n\n\n return target.nodeType === TEXT_NODE ? target.parentNode : target;\n}\n\nvar restoreTarget = null;\nvar restoreQueue = null;\n\nfunction restoreStateOfTarget(target) {\n // We perform this translation at the end of the event loop so that we\n // always receive the correct fiber here\n var internalInstance = getInstanceFromNode(target);\n\n if (!internalInstance) {\n // Unmounted\n return;\n }\n\n var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted.\n\n if (stateNode) {\n var props = getFiberCurrentPropsFromNode(stateNode);\n restoreControlledState(internalInstance.stateNode, internalInstance.type, props);\n }\n}\n\nfunction enqueueStateRestore(target) {\n if (restoreTarget) {\n if (restoreQueue) {\n restoreQueue.push(target);\n } else {\n restoreQueue = [target];\n }\n } else {\n restoreTarget = target;\n }\n}\nfunction needsStateRestore() {\n return restoreTarget !== null || restoreQueue !== null;\n}\nfunction restoreStateIfNeeded() {\n if (!restoreTarget) {\n return;\n }\n\n var target = restoreTarget;\n var queuedTargets = restoreQueue;\n restoreTarget = null;\n restoreQueue = null;\n restoreStateOfTarget(target);\n\n if (queuedTargets) {\n for (var i = 0; i < queuedTargets.length; i++) {\n restoreStateOfTarget(queuedTargets[i]);\n }\n }\n}\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n *\n * Note that this module is currently shared and assumed to be stateless.\n * If this becomes an actual Map, that will break.\n */\nfunction get(key) {\n return key._reactInternals;\n}\nfunction has(key) {\n return key._reactInternals !== undefined;\n}\nfunction set(key, value) {\n key._reactInternals = value;\n}\n\nvar ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;\nfunction getNearestMountedFiber(fiber) {\n var node = fiber;\n var nearestMounted = fiber;\n\n if (!fiber.alternate) {\n // If there is no alternate, this might be a new tree that isn't inserted\n // yet. If it is, then it will have a pending insertion effect on it.\n var nextNode = node;\n\n do {\n node = nextNode;\n\n if ((node.flags & (Placement | Hydrating)) !== NoFlags$1) {\n // This is an insertion or in-progress hydration. The nearest possible\n // mounted fiber is the parent but we need to continue to figure out\n // if that one is still mounted.\n nearestMounted = node.return;\n } // $FlowFixMe[incompatible-type] we bail out when we get a null\n\n\n nextNode = node.return;\n } while (nextNode);\n } else {\n while (node.return) {\n node = node.return;\n }\n }\n\n if (node.tag === HostRoot) {\n // TODO: Check if this was a nested HostRoot when used with\n // renderContainerIntoSubtree.\n return nearestMounted;\n } // If we didn't hit the root, that means that we're in an disconnected tree\n // that has been unmounted.\n\n\n return null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (fiber.tag === SuspenseComponent) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState === null) {\n var current = fiber.alternate;\n\n if (current !== null) {\n suspenseState = current.memoizedState;\n }\n }\n\n if (suspenseState !== null) {\n return suspenseState.dehydrated;\n }\n }\n\n return null;\n}\nfunction getContainerFromFiber(fiber) {\n return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null;\n}\nfunction isFiberMounted(fiber) {\n return getNearestMountedFiber(fiber) === fiber;\n}\nfunction isMounted(component) {\n {\n var owner = ReactCurrentOwner$3.current;\n\n if (owner !== null && owner.tag === ClassComponent) {\n var ownerFiber = owner;\n var instance = ownerFiber.stateNode;\n\n if (!instance._warnedAboutRefsInRender) {\n error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromFiber(ownerFiber) || 'A component');\n }\n\n instance._warnedAboutRefsInRender = true;\n }\n }\n\n var fiber = get(component);\n\n if (!fiber) {\n return false;\n }\n\n return getNearestMountedFiber(fiber) === fiber;\n}\n\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n}\n\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n\n if (!alternate) {\n // If there is no alternate, then we only need to check if it is mounted.\n var nearestMounted = getNearestMountedFiber(fiber);\n\n if (nearestMounted === null) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (nearestMounted !== fiber) {\n return null;\n }\n\n return fiber;\n } // If we have two possible branches, we'll walk backwards up to the root\n // to see what path the root points to. On the way we may hit one of the\n // special cases and we'll deal with them.\n\n\n var a = fiber;\n var b = alternate;\n\n while (true) {\n var parentA = a.return;\n\n if (parentA === null) {\n // We're at the root.\n break;\n }\n\n var parentB = parentA.alternate;\n\n if (parentB === null) {\n // There is no alternate. This is an unusual case. Currently, it only\n // happens when a Suspense component is hidden. An extra fragment fiber\n // is inserted in between the Suspense fiber and its children. Skip\n // over this extra fragment fiber and proceed to the next parent.\n var nextParent = parentA.return;\n\n if (nextParent !== null) {\n a = b = nextParent;\n continue;\n } // If there's no parent, we're at the root.\n\n\n break;\n } // If both copies of the parent fiber point to the same child, we can\n // assume that the child is current. This happens when we bailout on low\n // priority: the bailed out fiber's child reuses the current child.\n\n\n if (parentA.child === parentB.child) {\n var child = parentA.child;\n\n while (child) {\n if (child === a) {\n // We've determined that A is the current branch.\n assertIsMounted(parentA);\n return fiber;\n }\n\n if (child === b) {\n // We've determined that B is the current branch.\n assertIsMounted(parentA);\n return alternate;\n }\n\n child = child.sibling;\n } // We should never have an alternate for any mounting node. So the only\n // way this could possibly happen is if this was unmounted, if at all.\n\n\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.return !== b.return) {\n // The return pointer of A and the return pointer of B point to different\n // fibers. We assume that return pointers never criss-cross, so A must\n // belong to the child set of A.return, and B must belong to the child\n // set of B.return.\n a = parentA;\n b = parentB;\n } else {\n // The return pointers point to the same fiber. We'll have to use the\n // default, slow path: scan the child sets of each parent alternate to see\n // which child belongs to which set.\n //\n // Search parent A's child set\n var didFindChild = false;\n var _child = parentA.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentA;\n b = parentB;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentA;\n a = parentB;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n // Search parent B's child set\n _child = parentB.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentB;\n b = parentA;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentB;\n a = parentA;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n throw new Error('Child was not found in either parent set. This indicates a bug ' + 'in React related to the return pointer. Please file an issue.');\n }\n }\n }\n\n if (a.alternate !== b) {\n throw new Error(\"Return fibers should always be each others' alternates. \" + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n } // If the root is not a host container, we're in a disconnected tree. I.e.\n // unmounted.\n\n\n if (a.tag !== HostRoot) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.stateNode.current === a) {\n // We've determined that A is the current branch.\n return fiber;\n } // Otherwise B has to be current branch.\n\n\n return alternate;\n}\nfunction findCurrentHostFiber(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n var tag = node.tag;\n\n if (tag === HostComponent || (tag === HostHoistable ) || tag === HostSingleton || tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n var match = findCurrentHostFiberImpl(child);\n\n if (match !== null) {\n return match;\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\nfunction findCurrentHostFiberWithNoPortals(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberWithNoPortalsImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberWithNoPortalsImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n var tag = node.tag;\n\n if (tag === HostComponent || (tag === HostHoistable ) || tag === HostSingleton || tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n if (child.tag !== HostPortal) {\n var match = findCurrentHostFiberWithNoPortalsImpl(child);\n\n if (match !== null) {\n return match;\n }\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\nvar warnedAboutMissingGetChildContext;\n\n{\n warnedAboutMissingGetChildContext = {};\n}\n\nvar emptyContextObject = {};\n\n{\n Object.freeze(emptyContextObject);\n} // A cursor to the current merged context object on the stack.\n\n\nvar contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed.\n\nvar didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack.\n// We use this to get access to the parent context after we have already\n// pushed the next context provider, and now need to merge their contexts.\n\nvar previousContext = emptyContextObject;\n\nfunction getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) {\n {\n if (didPushOwnContextIfProvider && isContextProvider(Component)) {\n // If the fiber is a context provider itself, when we read its context\n // we may have already pushed its own child context on the stack. A context\n // provider should not \"see\" its own child context. Therefore we read the\n // previous (parent) context instead for a context provider.\n return previousContext;\n }\n\n return contextStackCursor.current;\n }\n}\n\nfunction cacheContext(workInProgress, unmaskedContext, maskedContext) {\n {\n var instance = workInProgress.stateNode;\n instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext;\n instance.__reactInternalMemoizedMaskedChildContext = maskedContext;\n }\n}\n\nfunction getMaskedContext(workInProgress, unmaskedContext) {\n {\n var type = workInProgress.type;\n var contextTypes = type.contextTypes;\n\n if (!contextTypes) {\n return emptyContextObject;\n } // Avoid recreating masked context unless unmasked context has changed.\n // Failing to do this will result in unnecessary calls to componentWillReceiveProps.\n // This may trigger infinite loops if componentWillReceiveProps calls setState.\n\n\n var instance = workInProgress.stateNode;\n\n if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) {\n return instance.__reactInternalMemoizedMaskedChildContext;\n }\n\n var context = {};\n\n for (var key in contextTypes) {\n context[key] = unmaskedContext[key];\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // Context is created before the class component is instantiated so check for instance.\n\n\n if (instance) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return context;\n }\n}\n\nfunction hasContextChanged() {\n {\n return didPerformWorkStackCursor.current;\n }\n}\n\nfunction isContextProvider(type) {\n {\n var childContextTypes = type.childContextTypes;\n return childContextTypes !== null && childContextTypes !== undefined;\n }\n}\n\nfunction popContext(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction popTopLevelContextObject(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction pushTopLevelContextObject(fiber, context, didChange) {\n {\n if (contextStackCursor.current !== emptyContextObject) {\n throw new Error('Unexpected context found on stack. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n push(contextStackCursor, context, fiber);\n push(didPerformWorkStackCursor, didChange, fiber);\n }\n}\n\nfunction processChildContext(fiber, type, parentContext) {\n {\n var instance = fiber.stateNode;\n var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future.\n // It has only been added in Fiber to match the (unintentional) behavior in Stack.\n\n if (typeof instance.getChildContext !== 'function') {\n {\n var componentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n if (!warnedAboutMissingGetChildContext[componentName]) {\n warnedAboutMissingGetChildContext[componentName] = true;\n\n error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);\n }\n }\n\n return parentContext;\n }\n\n var childContext = instance.getChildContext();\n\n for (var contextKey in childContext) {\n if (!(contextKey in childContextTypes)) {\n throw new Error((getComponentNameFromFiber(fiber) || 'Unknown') + \".getChildContext(): key \\\"\" + contextKey + \"\\\" is not defined in childContextTypes.\");\n }\n }\n\n return assign({}, parentContext, childContext);\n }\n}\n\nfunction pushContextProvider(workInProgress) {\n {\n var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity.\n // If the instance does not exist yet, we will push null at first,\n // and replace it on the stack later when invalidating the context.\n\n var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later.\n // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates.\n\n previousContext = contextStackCursor.current;\n push(contextStackCursor, memoizedMergedChildContext, workInProgress);\n push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress);\n return true;\n }\n}\n\nfunction invalidateContextProvider(workInProgress, type, didChange) {\n {\n var instance = workInProgress.stateNode;\n\n if (!instance) {\n throw new Error('Expected to have an instance by this point. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n if (didChange) {\n // Merge parent and own context.\n // Skip this if we're not updating due to sCU.\n // This avoids unnecessarily recomputing memoized values.\n var mergedContext = processChildContext(workInProgress, type, previousContext);\n instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one.\n // It is important to unwind the context in the reverse order.\n\n pop(didPerformWorkStackCursor, workInProgress);\n pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed.\n\n push(contextStackCursor, mergedContext, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n } else {\n pop(didPerformWorkStackCursor, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n }\n }\n}\n\nfunction findCurrentUnmaskedContext(fiber) {\n {\n // Currently this is only used with renderSubtreeIntoContainer; not sure if it\n // makes sense elsewhere\n if (!isFiberMounted(fiber) || fiber.tag !== ClassComponent) {\n throw new Error('Expected subtree parent to be a mounted class component. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var node = fiber;\n\n do {\n switch (node.tag) {\n case HostRoot:\n return node.stateNode.context;\n\n case ClassComponent:\n {\n var Component = node.type;\n\n if (isContextProvider(Component)) {\n return node.stateNode.__reactInternalMemoizedMergedChildContext;\n }\n\n break;\n }\n } // $FlowFixMe[incompatible-type] we bail out when we get a null\n\n\n node = node.return;\n } while (node !== null);\n\n throw new Error('Found unexpected detached subtree parent. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n}\n\nvar LegacyRoot = 0;\nvar ConcurrentRoot = 1;\n\n// We use the existence of the state object as an indicator that the component\n// is hidden.\nvar OffscreenVisible =\n/* */\n1;\nvar OffscreenDetached =\n/* */\n2;\nvar OffscreenPassiveEffectsConnected =\n/* */\n4;\nfunction isOffscreenManual(offscreenFiber) {\n return offscreenFiber.memoizedProps !== null && offscreenFiber.memoizedProps.mode === 'manual';\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = // $FlowFixMe[method-unbinding]\ntypeof Object.is === 'function' ? Object.is : is;\n\n// This is imported by the event replaying implementation in React DOM. It's\n// in a separate file to break a circular dependency between the renderer and\n// the reconciler.\nfunction isRootDehydrated(root) {\n var currentState = root.current.memoizedState;\n return currentState.isDehydrated;\n}\n\n// Intentionally not using it yet to derisk the initial implementation, because\n// the way we push/pop these values is a bit unusual. If there's a mistake, I'd\n// rather the ids be wrong than crash the whole reconciler.\n\nvar forkStack = [];\nvar forkStackIndex = 0;\nvar treeForkProvider = null;\nvar treeForkCount = 0;\nvar idStack = [];\nvar idStackIndex = 0;\nvar treeContextProvider = null;\nvar treeContextId = 1;\nvar treeContextOverflow = '';\nfunction isForkedChild(workInProgress) {\n warnIfNotHydrating();\n return (workInProgress.flags & Forked) !== NoFlags$1;\n}\nfunction getForksAtLevel(workInProgress) {\n warnIfNotHydrating();\n return treeForkCount;\n}\nfunction getTreeId() {\n var overflow = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n var id = idWithLeadingBit & ~getLeadingBit(idWithLeadingBit);\n return id.toString(32) + overflow;\n}\nfunction pushTreeFork(workInProgress, totalChildren) {\n // This is called right after we reconcile an array (or iterator) of child\n // fibers, because that's the only place where we know how many children in\n // the whole set without doing extra work later, or storing addtional\n // information on the fiber.\n //\n // That's why this function is separate from pushTreeId — it's called during\n // the render phase of the fork parent, not the child, which is where we push\n // the other context values.\n //\n // In the Fizz implementation this is much simpler because the child is\n // rendered in the same callstack as the parent.\n //\n // It might be better to just add a `forks` field to the Fiber type. It would\n // make this module simpler.\n warnIfNotHydrating();\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n var baseOverflow = treeContextOverflow; // The leftmost 1 marks the end of the sequence, non-inclusive. It's not part\n // of the id; we use it to account for leading 0s.\n\n var baseLength = getBitLength(baseIdWithLeadingBit) - 1;\n var baseId = baseIdWithLeadingBit & ~(1 << baseLength);\n var slot = index + 1;\n var length = getBitLength(totalChildren) + baseLength; // 30 is the max length we can store without overflowing, taking into\n // consideration the leading 1 we use to mark the end of the sequence.\n\n if (length > 30) {\n // We overflowed the bitwise-safe range. Fall back to slower algorithm.\n // This branch assumes the length of the base id is greater than 5; it won't\n // work for smaller ids, because you need 5 bits per character.\n //\n // We encode the id in multiple steps: first the base id, then the\n // remaining digits.\n //\n // Each 5 bit sequence corresponds to a single base 32 character. So for\n // example, if the current id is 23 bits long, we can convert 20 of those\n // bits into a string of 4 characters, with 3 bits left over.\n //\n // First calculate how many bits in the base id represent a complete\n // sequence of characters.\n var numberOfOverflowBits = baseLength - baseLength % 5; // Then create a bitmask that selects only those bits.\n\n var newOverflowBits = (1 << numberOfOverflowBits) - 1; // Select the bits, and convert them to a base 32 string.\n\n var newOverflow = (baseId & newOverflowBits).toString(32); // Now we can remove those bits from the base id.\n\n var restOfBaseId = baseId >> numberOfOverflowBits;\n var restOfBaseLength = baseLength - numberOfOverflowBits; // Finally, encode the rest of the bits using the normal algorithm. Because\n // we made more room, this time it won't overflow.\n\n var restOfLength = getBitLength(totalChildren) + restOfBaseLength;\n var restOfNewBits = slot << restOfBaseLength;\n var id = restOfNewBits | restOfBaseId;\n var overflow = newOverflow + baseOverflow;\n treeContextId = 1 << restOfLength | id;\n treeContextOverflow = overflow;\n } else {\n // Normal path\n var newBits = slot << baseLength;\n\n var _id = newBits | baseId;\n\n var _overflow = baseOverflow;\n treeContextId = 1 << length | _id;\n treeContextOverflow = _overflow;\n }\n}\nfunction pushMaterializedTreeId(workInProgress) {\n warnIfNotHydrating(); // This component materialized an id. This will affect any ids that appear\n // in its children.\n\n var returnFiber = workInProgress.return;\n\n if (returnFiber !== null) {\n var numberOfForks = 1;\n var slotIndex = 0;\n pushTreeFork(workInProgress, numberOfForks);\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n}\n\nfunction getBitLength(number) {\n return 32 - clz32(number);\n}\n\nfunction getLeadingBit(id) {\n return 1 << getBitLength(id) - 1;\n}\n\nfunction popTreeContext(workInProgress) {\n // Restore the previous values.\n // This is a bit more complicated than other context-like modules in Fiber\n // because the same Fiber may appear on the stack multiple times and for\n // different reasons. We have to keep popping until the work-in-progress is\n // no longer at the top of the stack.\n while (workInProgress === treeForkProvider) {\n treeForkProvider = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n treeForkCount = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n }\n\n while (workInProgress === treeContextProvider) {\n treeContextProvider = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextOverflow = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextId = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n }\n}\nfunction getSuspendedTreeContext() {\n warnIfNotHydrating();\n\n if (treeContextProvider !== null) {\n return {\n id: treeContextId,\n overflow: treeContextOverflow\n };\n } else {\n return null;\n }\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\n\nfunction warnIfNotHydrating() {\n {\n if (!getIsHydrating()) {\n error('Expected to be hydrating. This is a bug in React. Please file ' + 'an issue.');\n }\n }\n}\n\n// This may have been an insertion or a hydration.\n\nvar hydrationParentFiber = null;\nvar nextHydratableInstance = null;\nvar isHydrating = false; // This flag allows for warning supression when we expect there to be mismatches\n// due to earlier mismatches or a suspended fiber.\n\nvar didSuspendOrErrorDEV = false; // Hydration errors that were thrown inside this boundary\n\nvar hydrationErrors = null;\nvar rootOrSingletonContext = false;\n\nfunction warnIfHydrating() {\n {\n if (isHydrating) {\n error('We should not be hydrating here. This is a bug in React. Please file a bug.');\n }\n }\n}\n\nfunction markDidThrowWhileHydratingDEV() {\n {\n didSuspendOrErrorDEV = true;\n }\n}\nfunction didSuspendOrErrorWhileHydratingDEV() {\n {\n return didSuspendOrErrorDEV;\n }\n}\n\nfunction enterHydrationState(fiber) {\n\n var parentInstance = fiber.stateNode.containerInfo;\n nextHydratableInstance = getFirstHydratableChildWithinContainer(parentInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n rootOrSingletonContext = true;\n return true;\n}\n\nfunction reenterHydrationStateFromDehydratedSuspenseInstance(fiber, suspenseInstance, treeContext) {\n\n nextHydratableInstance = getFirstHydratableChildWithinSuspenseInstance(suspenseInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n rootOrSingletonContext = false;\n\n if (treeContext !== null) {\n restoreSuspendedTreeContext(fiber, treeContext);\n }\n\n return true;\n}\n\nfunction warnUnhydratedInstance(returnFiber, instance) {\n {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n didNotHydrateInstanceWithinContainer(returnFiber.stateNode.containerInfo, instance);\n break;\n }\n\n case HostSingleton:\n case HostComponent:\n {\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n if (suspenseState.dehydrated !== null) didNotHydrateInstanceWithinSuspenseInstance(suspenseState.dehydrated, instance);\n break;\n }\n }\n }\n}\n\nfunction deleteHydratableInstance(returnFiber, instance) {\n var childToDelete = createFiberFromHostInstanceForDeletion();\n childToDelete.stateNode = instance;\n childToDelete.return = returnFiber;\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n}\n\nfunction warnNonHydratedInstance(returnFiber, fiber) {\n {\n if (didSuspendOrErrorDEV) {\n // Inside a boundary that already suspended. We're currently rendering the\n // siblings of a suspended node. The mismatch may be due to the missing\n // data, so it's probably a false positive.\n return;\n }\n\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n\n switch (fiber.tag) {\n case HostSingleton:\n case HostComponent:\n var type = fiber.type;\n didNotFindHydratableInstanceWithinContainer(parentContainer, type);\n break;\n\n case HostText:\n var text = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinContainer(parentContainer, text);\n break;\n }\n\n break;\n }\n\n case HostSingleton:\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n switch (fiber.tag) {\n case HostSingleton:\n case HostComponent:\n {\n var _type = fiber.type;\n var _props = fiber.pendingProps;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostText:\n {\n var _text = fiber.pendingProps;\n\n var _isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode);\n break;\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n var _parentInstance = suspenseState.dehydrated;\n if (_parentInstance !== null) switch (fiber.tag) {\n case HostSingleton:\n case HostComponent:\n var _type2 = fiber.type;\n didNotFindHydratableInstanceWithinSuspenseInstance(_parentInstance, _type2);\n break;\n\n case HostText:\n var _text2 = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinSuspenseInstance(_parentInstance, _text2);\n break;\n }\n break;\n }\n\n default:\n return;\n }\n }\n}\n\nfunction insertNonHydratedInstance(returnFiber, fiber) {\n fiber.flags = fiber.flags & ~Hydrating | Placement;\n}\n\nfunction tryHydrateInstance(fiber, nextInstance) {\n // fiber is a HostComponent Fiber\n var instance = canHydrateInstance(nextInstance, fiber.type, fiber.pendingProps, rootOrSingletonContext);\n\n if (instance !== null) {\n fiber.stateNode = instance;\n hydrationParentFiber = fiber;\n nextHydratableInstance = getFirstHydratableChild(instance);\n rootOrSingletonContext = false;\n return true;\n }\n\n return false;\n}\n\nfunction tryHydrateText(fiber, nextInstance) {\n // fiber is a HostText Fiber\n var text = fiber.pendingProps;\n var textInstance = canHydrateTextInstance(nextInstance, text, rootOrSingletonContext);\n\n if (textInstance !== null) {\n fiber.stateNode = textInstance;\n hydrationParentFiber = fiber; // Text Instances don't have children so there's nothing to hydrate.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n}\n\nfunction tryHydrateSuspense(fiber, nextInstance) {\n // fiber is a SuspenseComponent Fiber\n var suspenseInstance = canHydrateSuspenseInstance(nextInstance, rootOrSingletonContext);\n\n if (suspenseInstance !== null) {\n var suspenseState = {\n dehydrated: suspenseInstance,\n treeContext: getSuspendedTreeContext(),\n retryLane: OffscreenLane\n };\n fiber.memoizedState = suspenseState; // Store the dehydrated fragment as a child fiber.\n // This simplifies the code for getHostSibling and deleting nodes,\n // since it doesn't have to consider all Suspense boundaries and\n // check if they're dehydrated ones or not.\n\n var dehydratedFragment = createFiberFromDehydratedFragment(suspenseInstance);\n dehydratedFragment.return = fiber;\n fiber.child = dehydratedFragment;\n hydrationParentFiber = fiber; // While a Suspense Instance does have children, we won't step into\n // it during the first pass. Instead, we'll reenter it later.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n}\n\nfunction shouldClientRenderOnMismatch(fiber) {\n return (fiber.mode & ConcurrentMode) !== NoMode && (fiber.flags & DidCapture) === NoFlags$1;\n}\n\nfunction throwOnHydrationMismatch(fiber) {\n throw new Error('Hydration failed because the initial UI does not match what was ' + 'rendered on the server.');\n}\n\nfunction claimHydratableSingleton(fiber) {\n {\n if (!isHydrating) {\n return;\n }\n\n var currentRootContainer = getRootHostContainer();\n var currentHostContext = getHostContext();\n var instance = fiber.stateNode = resolveSingletonInstance(fiber.type, fiber.pendingProps, currentRootContainer, currentHostContext, false);\n hydrationParentFiber = fiber;\n rootOrSingletonContext = true;\n nextHydratableInstance = getFirstHydratableChild(instance);\n }\n}\n\nfunction tryToClaimNextHydratableInstance(fiber) {\n if (!isHydrating) {\n return;\n } // Validate that this is ok to render here before any mismatches.\n\n\n var currentHostContext = getHostContext();\n var shouldKeepWarning = validateHydratableInstance(fiber.type, fiber.pendingProps, currentHostContext);\n var initialInstance = nextHydratableInstance;\n var nextInstance = nextHydratableInstance;\n\n if (!nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n if (shouldKeepWarning) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n }\n\n throwOnHydrationMismatch();\n } // Nothing to hydrate. Make it an insertion.\n\n\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n\n if (shouldKeepWarning) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n }\n\n isHydrating = false;\n hydrationParentFiber = fiber;\n nextHydratableInstance = initialInstance;\n return;\n }\n\n var firstAttemptedInstance = nextInstance;\n\n if (!tryHydrateInstance(fiber, nextInstance)) {\n if (shouldClientRenderOnMismatch(fiber)) {\n if (shouldKeepWarning) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n }\n\n throwOnHydrationMismatch();\n } // If we can't hydrate this instance let's try the next one.\n // We use this as a heuristic. It's based on intuition and not data so it\n // might be flawed or unnecessary.\n\n\n nextHydratableInstance = getNextHydratableSibling(nextInstance);\n var prevHydrationParentFiber = hydrationParentFiber;\n\n if (!nextHydratableInstance || !tryHydrateInstance(fiber, nextHydratableInstance)) {\n // Nothing to hydrate. Make it an insertion.\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n\n if (shouldKeepWarning) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n }\n\n isHydrating = false;\n hydrationParentFiber = fiber;\n nextHydratableInstance = initialInstance;\n return;\n } // We matched the next one, we'll now assume that the first one was\n // superfluous and we'll delete it. Since we can't eagerly delete it\n // we'll have to schedule a deletion. To do that, this node needs a dummy\n // fiber associated with it.\n\n\n if (shouldKeepWarning) {\n warnUnhydratedInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n\n deleteHydratableInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n}\n\nfunction tryToClaimNextHydratableTextInstance(fiber) {\n if (!isHydrating) {\n return;\n }\n\n var text = fiber.pendingProps;\n var isHydratable = isHydratableText(text);\n var shouldKeepWarning = true;\n\n if (isHydratable) {\n // Validate that this is ok to render here before any mismatches.\n var currentHostContext = getHostContext();\n shouldKeepWarning = validateHydratableTextInstance(text, currentHostContext);\n }\n\n var initialInstance = nextHydratableInstance;\n var nextInstance = nextHydratableInstance;\n\n if (!nextInstance || !isHydratable) {\n // We exclude non hydrabable text because we know there are no matching hydratables.\n // We either throw or insert depending on the render mode.\n if (shouldClientRenderOnMismatch(fiber)) {\n if (shouldKeepWarning) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n }\n\n throwOnHydrationMismatch();\n } // Nothing to hydrate. Make it an insertion.\n\n\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n\n if (shouldKeepWarning) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n }\n\n isHydrating = false;\n hydrationParentFiber = fiber;\n nextHydratableInstance = initialInstance;\n return;\n }\n\n var firstAttemptedInstance = nextInstance;\n\n if (!tryHydrateText(fiber, nextInstance)) {\n if (shouldClientRenderOnMismatch(fiber)) {\n if (shouldKeepWarning) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n }\n\n throwOnHydrationMismatch();\n } // If we can't hydrate this instance let's try the next one.\n // We use this as a heuristic. It's based on intuition and not data so it\n // might be flawed or unnecessary.\n\n\n nextHydratableInstance = getNextHydratableSibling(nextInstance);\n var prevHydrationParentFiber = hydrationParentFiber;\n\n if (!nextHydratableInstance || !tryHydrateText(fiber, nextHydratableInstance)) {\n // Nothing to hydrate. Make it an insertion.\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n\n if (shouldKeepWarning) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n }\n\n isHydrating = false;\n hydrationParentFiber = fiber;\n nextHydratableInstance = initialInstance;\n return;\n } // We matched the next one, we'll now assume that the first one was\n // superfluous and we'll delete it. Since we can't eagerly delete it\n // we'll have to schedule a deletion. To do that, this node needs a dummy\n // fiber associated with it.\n\n\n if (shouldKeepWarning) {\n warnUnhydratedInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n\n deleteHydratableInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n}\n\nfunction tryToClaimNextHydratableSuspenseInstance(fiber) {\n if (!isHydrating) {\n return;\n }\n\n var initialInstance = nextHydratableInstance;\n var nextInstance = nextHydratableInstance;\n\n if (!nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // Nothing to hydrate. Make it an insertion.\n\n\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n nextHydratableInstance = initialInstance;\n return;\n }\n\n var firstAttemptedInstance = nextInstance;\n\n if (!tryHydrateSuspense(fiber, nextInstance)) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // If we can't hydrate this instance let's try the next one.\n // We use this as a heuristic. It's based on intuition and not data so it\n // might be flawed or unnecessary.\n\n\n nextHydratableInstance = getNextHydratableSibling(nextInstance);\n var prevHydrationParentFiber = hydrationParentFiber;\n\n if (!nextHydratableInstance || !tryHydrateSuspense(fiber, nextHydratableInstance)) {\n // Nothing to hydrate. Make it an insertion.\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n warnNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n nextHydratableInstance = initialInstance;\n return;\n } // We matched the next one, we'll now assume that the first one was\n // superfluous and we'll delete it. Since we can't eagerly delete it\n // we'll have to schedule a deletion. To do that, this node needs a dummy\n // fiber associated with it.\n\n\n warnUnhydratedInstance(prevHydrationParentFiber, firstAttemptedInstance);\n deleteHydratableInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n}\n\nfunction tryToClaimNextHydratableFormMarkerInstance(fiber) {\n if (!isHydrating) {\n return false;\n }\n\n if (nextHydratableInstance) {\n var markerInstance = canHydrateFormStateMarker(nextHydratableInstance, rootOrSingletonContext);\n\n if (markerInstance) {\n // Found the marker instance.\n nextHydratableInstance = getNextHydratableSibling(markerInstance); // Return true if this marker instance should use the state passed\n // to hydrateRoot.\n // TODO: As an optimization, Fizz should only emit these markers if form\n // state is passed at the root.\n\n return isFormStateMarkerMatching(markerInstance);\n }\n } // Should have found a marker instance. Throw an error to trigger client\n // rendering. We don't bother to check if we're in a concurrent root because\n // useFormState is a new API, so backwards compat is not an issue.\n\n\n throwOnHydrationMismatch();\n return false;\n}\n\nfunction prepareToHydrateHostInstance(fiber, hostContext) {\n\n var instance = fiber.stateNode;\n var shouldWarnIfMismatchDev = !didSuspendOrErrorDEV;\n hydrateInstance(instance, fiber.type, fiber.memoizedProps, hostContext, fiber, shouldWarnIfMismatchDev);\n}\n\nfunction prepareToHydrateHostTextInstance(fiber) {\n\n var textInstance = fiber.stateNode;\n var textContent = fiber.memoizedProps;\n var shouldWarnIfMismatchDev = !didSuspendOrErrorDEV;\n var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber);\n\n if (shouldUpdate) {\n // We assume that prepareToHydrateHostTextInstance is called in a context where the\n // hydration parent is the parent host component of this host text.\n var returnFiber = hydrationParentFiber;\n\n if (returnFiber !== null) {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode, shouldWarnIfMismatchDev);\n\n if (isConcurrentMode && enableClientRenderFallbackOnTextMismatch) {\n // In concurrent mode we never update the mismatched text,\n // even if the error was ignored.\n return false;\n }\n\n break;\n }\n\n case HostSingleton:\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n var _isConcurrentMode2 = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode2, shouldWarnIfMismatchDev);\n\n if (_isConcurrentMode2 && enableClientRenderFallbackOnTextMismatch) {\n // In concurrent mode we never update the mismatched text,\n // even if the error was ignored.\n return false;\n }\n\n break;\n }\n }\n }\n }\n\n return shouldUpdate;\n}\n\nfunction prepareToHydrateHostSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n hydrateSuspenseInstance(suspenseInstance, fiber);\n}\n\nfunction skipPastDehydratedSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance);\n}\n\nfunction popToNextHostParent(fiber) {\n hydrationParentFiber = fiber.return;\n\n while (hydrationParentFiber) {\n switch (hydrationParentFiber.tag) {\n case HostRoot:\n case HostSingleton:\n rootOrSingletonContext = true;\n return;\n\n case HostComponent:\n case SuspenseComponent:\n rootOrSingletonContext = false;\n return;\n\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n }\n}\n\nfunction popHydrationState(fiber) {\n\n if (fiber !== hydrationParentFiber) {\n // We're deeper than the current hydration context, inside an inserted\n // tree.\n return false;\n }\n\n if (!isHydrating) {\n // If we're not currently hydrating but we're in a hydration context, then\n // we were an insertion and now need to pop up reenter hydration of our\n // siblings.\n popToNextHostParent(fiber);\n isHydrating = true;\n return false;\n }\n\n var shouldClear = false;\n\n {\n // With float we never clear the Root, or Singleton instances. We also do not clear Instances\n // that have singleton text content\n if (fiber.tag !== HostRoot && fiber.tag !== HostSingleton && !(fiber.tag === HostComponent && (!shouldDeleteUnhydratedTailInstances(fiber.type) || shouldSetTextContent(fiber.type, fiber.memoizedProps)))) {\n shouldClear = true;\n }\n }\n\n if (shouldClear) {\n var nextInstance = nextHydratableInstance;\n\n if (nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnIfUnhydratedTailNodes(fiber);\n throwOnHydrationMismatch();\n } else {\n while (nextInstance) {\n warnUnhydratedInstance(fiber, nextInstance);\n deleteHydratableInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n }\n }\n }\n\n popToNextHostParent(fiber);\n\n if (fiber.tag === SuspenseComponent) {\n nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber);\n } else {\n nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;\n }\n\n return true;\n}\n\nfunction hasUnhydratedTailNodes() {\n return isHydrating && nextHydratableInstance !== null;\n}\n\nfunction warnIfUnhydratedTailNodes(fiber) {\n var nextInstance = nextHydratableInstance;\n\n while (nextInstance) {\n warnUnhydratedInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n}\n\nfunction resetHydrationState() {\n\n hydrationParentFiber = null;\n nextHydratableInstance = null;\n isHydrating = false;\n didSuspendOrErrorDEV = false;\n}\n\nfunction upgradeHydrationErrorsToRecoverable() {\n if (hydrationErrors !== null) {\n // Successfully completed a forced client render. The errors that occurred\n // during the hydration attempt are now recovered. We will log them in\n // commit phase, once the entire tree has finished.\n queueRecoverableErrors(hydrationErrors);\n hydrationErrors = null;\n }\n}\n\nfunction getIsHydrating() {\n return isHydrating;\n}\n\nfunction queueHydrationError(error) {\n if (hydrationErrors === null) {\n hydrationErrors = [error];\n } else {\n hydrationErrors.push(error);\n }\n}\n\n// we wait until the current render is over (either finished or interrupted)\n// before adding it to the fiber/hook queue. Push to this array so we can\n// access the queue, fiber, update, et al later.\n\nvar concurrentQueues = [];\nvar concurrentQueuesIndex = 0;\nvar concurrentlyUpdatedLanes = NoLanes;\nfunction finishQueueingConcurrentUpdates() {\n var endIndex = concurrentQueuesIndex;\n concurrentQueuesIndex = 0;\n concurrentlyUpdatedLanes = NoLanes;\n var i = 0;\n\n while (i < endIndex) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n\n if (queue !== null && update !== null) {\n var pending = queue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n queue.pending = update;\n }\n\n if (lane !== NoLane) {\n markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n }\n}\nfunction getConcurrentlyUpdatedLanes() {\n return concurrentlyUpdatedLanes;\n}\n\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n // Don't update the `childLanes` on the return path yet. If we already in\n // the middle of rendering, wait until after it has completed.\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes = mergeLanes(concurrentlyUpdatedLanes, lane); // The fiber's `lane` field is used in some places to check if any work is\n // scheduled, to perform an eager bailout, so we need to update it immediately.\n // TODO: We should probably move this to the \"shared\" queue instead.\n\n fiber.lanes = mergeLanes(fiber.lanes, lane);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, lane);\n }\n}\n\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n var concurrentQueue = queue;\n var concurrentUpdate = update;\n enqueueUpdate$1(fiber, concurrentQueue, concurrentUpdate, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update) {\n // This function is used to queue an update that doesn't need a rerender. The\n // only reason we queue it is in case there's a subsequent higher priority\n // update that causes it to be rebased.\n var lane = NoLane;\n var concurrentQueue = queue;\n var concurrentUpdate = update;\n enqueueUpdate$1(fiber, concurrentQueue, concurrentUpdate, lane); // Usually we can rely on the upcoming render phase to process the concurrent\n // queue. However, since this is a bail out, we're not scheduling any work\n // here. So the update we just queued will leak until something else happens\n // to schedule work (if ever).\n //\n // Check if we're currently in the middle of rendering a tree, and if not,\n // process the queue immediately to prevent a leak.\n\n var isConcurrentlyRendering = getWorkInProgressRoot() !== null;\n\n if (!isConcurrentlyRendering) {\n finishQueueingConcurrentUpdates();\n }\n}\nfunction enqueueConcurrentClassUpdate(fiber, queue, update, lane) {\n var concurrentQueue = queue;\n var concurrentUpdate = update;\n enqueueUpdate$1(fiber, concurrentQueue, concurrentUpdate, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n} // Calling this function outside this module should only be done for backwards\n// compatibility and should always be accompanied by a warning.\n\nfunction unsafe_markUpdateLaneFromFiberToRoot(sourceFiber, lane) {\n // NOTE: For Hyrum's Law reasons, if an infinite update loop is detected, it\n // should throw before `markUpdateLaneFromFiberToRoot` is called. But this is\n // undefined behavior and we can change it if we need to; it just so happens\n // that, at the time of this writing, there's an internal product test that\n // happens to rely on this.\n var root = getRootForUpdatedFiber(sourceFiber);\n markUpdateLaneFromFiberToRoot(sourceFiber, null, lane);\n return root;\n}\n\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n // Update the source fiber's lanes\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, lane);\n var alternate = sourceFiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, lane);\n } // Walk the parent path to the root and update the child lanes.\n\n\n var isHidden = false;\n var parent = sourceFiber.return;\n var node = sourceFiber;\n\n while (parent !== null) {\n parent.childLanes = mergeLanes(parent.childLanes, lane);\n alternate = parent.alternate;\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, lane);\n }\n\n if (parent.tag === OffscreenComponent) {\n // Check if this offscreen boundary is currently hidden.\n //\n // The instance may be null if the Offscreen parent was unmounted. Usually\n // the parent wouldn't be reachable in that case because we disconnect\n // fibers from the tree when they are deleted. However, there's a weird\n // edge case where setState is called on a fiber that was interrupted\n // before it ever mounted. Because it never mounts, it also never gets\n // deleted. Because it never gets deleted, its return pointer never gets\n // disconnected. Which means it may be attached to a deleted Offscreen\n // parent node. (This discovery suggests it may be better for memory usage\n // if we don't attach the `return` pointer until the commit phase, though\n // in order to do that we'd need some other way to track the return\n // pointer during the initial render, like on the stack.)\n //\n // This case is always accompanied by a warning, but we still need to\n // account for it. (There may be other cases that we haven't discovered,\n // too.)\n var offscreenInstance = parent.stateNode;\n\n if (offscreenInstance !== null && !(offscreenInstance._visibility & OffscreenVisible)) {\n isHidden = true;\n }\n }\n\n node = parent;\n parent = parent.return;\n }\n\n if (isHidden && update !== null && node.tag === HostRoot) {\n var root = node.stateNode;\n markHiddenUpdate(root, update, lane);\n }\n}\n\nfunction getRootForUpdatedFiber(sourceFiber) {\n // TODO: We will detect and infinite update loop and throw even if this fiber\n // has already unmounted. This isn't really necessary but it happens to be the\n // current behavior we've used for several release cycles. Consider not\n // performing this check if the updated fiber already unmounted, since it's\n // not possible for that to cause an infinite update loop.\n throwIfInfiniteUpdateLoopDetected(); // When a setState happens, we must ensure the root is scheduled. Because\n // update queues do not have a backpointer to the root, the only way to do\n // this currently is to walk up the return path. This used to not be a big\n // deal because we would have to walk up the return path to set\n // the `childLanes`, anyway, but now those two traversals happen at\n // different times.\n // TODO: Consider adding a `root` backpointer on the update queue.\n\n detectUpdateOnUnmountedFiber(sourceFiber, sourceFiber);\n var node = sourceFiber;\n var parent = node.return;\n\n while (parent !== null) {\n detectUpdateOnUnmountedFiber(sourceFiber, node);\n node = parent;\n parent = node.return;\n }\n\n return node.tag === HostRoot ? node.stateNode : null;\n}\n\nfunction detectUpdateOnUnmountedFiber(sourceFiber, parent) {\n {\n var alternate = parent.alternate;\n\n if (alternate === null && (parent.flags & (Placement | Hydrating)) !== NoFlags$1) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n }\n}\n\nvar ReactCurrentActQueue$3 = ReactSharedInternals.ReactCurrentActQueue; // A linked list of all the roots with pending work. In an idiomatic app,\n// there's only a single root, but we do support multi root apps, hence this\n// extra complexity. But this module is optimized for the single root case.\n\nvar firstScheduledRoot = null;\nvar lastScheduledRoot = null; // Used to prevent redundant mircotasks from being scheduled.\n\nvar didScheduleMicrotask = false; // `act` \"microtasks\" are scheduled on the `act` queue instead of an actual\n// microtask, so we have to dedupe those separately. This wouldn't be an issue\n// if we required all `act` calls to be awaited, which we might in the future.\n\nvar didScheduleMicrotask_act = false; // Used to quickly bail out of flushSync if there's no sync work to do.\n\nvar mightHavePendingSyncWork = false;\nvar isFlushingWork = false;\nvar currentEventTransitionLane = NoLane;\nfunction ensureRootIsScheduled(root) {\n // This function is called whenever a root receives an update. It does two\n // things 1) it ensures the root is in the root schedule, and 2) it ensures\n // there's a pending microtask to process the root schedule.\n //\n // Most of the actual scheduling logic does not happen until\n // `scheduleTaskForRootDuringMicrotask` runs.\n // Add the root to the schedule\n if (root === lastScheduledRoot || root.next !== null) ; else {\n if (lastScheduledRoot === null) {\n firstScheduledRoot = lastScheduledRoot = root;\n } else {\n lastScheduledRoot.next = root;\n lastScheduledRoot = root;\n }\n } // Any time a root received an update, we set this to true until the next time\n // we process the schedule. If it's false, then we can quickly exit flushSync\n // without consulting the schedule.\n\n\n mightHavePendingSyncWork = true; // At the end of the current event, go through each of the roots and ensure\n // there's a task scheduled for each one at the correct priority.\n\n if (ReactCurrentActQueue$3.current !== null) {\n // We're inside an `act` scope.\n if (!didScheduleMicrotask_act) {\n didScheduleMicrotask_act = true;\n scheduleImmediateTask(processRootScheduleInMicrotask);\n }\n } else {\n if (!didScheduleMicrotask) {\n didScheduleMicrotask = true;\n scheduleImmediateTask(processRootScheduleInMicrotask);\n }\n }\n\n if (ReactCurrentActQueue$3.isBatchingLegacy && root.tag === LegacyRoot) {\n // Special `act` case: Record whenever a legacy update is scheduled.\n ReactCurrentActQueue$3.didScheduleLegacyUpdate = true;\n }\n}\nfunction flushSyncWorkOnAllRoots() {\n // This is allowed to be called synchronously, but the caller should check\n // the execution context first.\n flushSyncWorkAcrossRoots_impl(false);\n}\nfunction flushSyncWorkOnLegacyRootsOnly() {\n // This is allowed to be called synchronously, but the caller should check\n // the execution context first.\n flushSyncWorkAcrossRoots_impl(true);\n}\n\nfunction flushSyncWorkAcrossRoots_impl(onlyLegacy) {\n if (isFlushingWork) {\n // Prevent reentrancy.\n // TODO: Is this overly defensive? The callers must check the execution\n // context first regardless.\n return;\n }\n\n if (!mightHavePendingSyncWork) {\n // Fast path. There's no sync work to do.\n return;\n } // There may or may not be synchronous work scheduled. Let's check.\n\n\n var didPerformSomeWork;\n var errors = null;\n isFlushingWork = true;\n\n do {\n didPerformSomeWork = false;\n var root = firstScheduledRoot;\n\n while (root !== null) {\n if (onlyLegacy && root.tag !== LegacyRoot) ; else {\n var workInProgressRoot = getWorkInProgressRoot();\n var workInProgressRootRenderLanes = getWorkInProgressRootRenderLanes();\n var nextLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (includesSyncLane(nextLanes)) {\n // This root has pending sync work. Flush it now.\n try {\n didPerformSomeWork = true;\n performSyncWorkOnRoot(root, nextLanes);\n } catch (error) {\n // Collect errors so we can rethrow them at the end\n if (errors === null) {\n errors = [error];\n } else {\n errors.push(error);\n }\n }\n }\n }\n\n root = root.next;\n }\n } while (didPerformSomeWork);\n\n isFlushingWork = false; // If any errors were thrown, rethrow them right before exiting.\n // TODO: Consider returning these to the caller, to allow them to decide\n // how/when to rethrow.\n\n if (errors !== null) {\n if (errors.length > 1) {\n if (typeof AggregateError === 'function') {\n // eslint-disable-next-line no-undef\n throw new AggregateError(errors);\n } else {\n for (var i = 1; i < errors.length; i++) {\n scheduleImmediateTask(throwError.bind(null, errors[i]));\n }\n\n var firstError = errors[0];\n throw firstError;\n }\n } else {\n var error = errors[0];\n throw error;\n }\n }\n}\n\nfunction throwError(error) {\n throw error;\n}\n\nfunction processRootScheduleInMicrotask() {\n // This function is always called inside a microtask. It should never be\n // called synchronously.\n didScheduleMicrotask = false;\n\n {\n didScheduleMicrotask_act = false;\n } // We'll recompute this as we iterate through all the roots and schedule them.\n\n\n mightHavePendingSyncWork = false;\n var currentTime = now$1();\n var prev = null;\n var root = firstScheduledRoot;\n\n while (root !== null) {\n var next = root.next;\n\n if (currentEventTransitionLane !== NoLane && shouldAttemptEagerTransition()) {\n // A transition was scheduled during an event, but we're going to try to\n // render it synchronously anyway. We do this during a popstate event to\n // preserve the scroll position of the previous page.\n upgradePendingLaneToSync(root, currentEventTransitionLane);\n }\n\n var nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n\n if (nextLanes === NoLane) {\n // This root has no more pending work. Remove it from the schedule. To\n // guard against subtle reentrancy bugs, this microtask is the only place\n // we do this — you can add roots to the schedule whenever, but you can\n // only remove them here.\n // Null this out so we know it's been removed from the schedule.\n root.next = null;\n\n if (prev === null) {\n // This is the new head of the list\n firstScheduledRoot = next;\n } else {\n prev.next = next;\n }\n\n if (next === null) {\n // This is the new tail of the list\n lastScheduledRoot = prev;\n }\n } else {\n // This root still has work. Keep it in the list.\n prev = root;\n\n if (includesSyncLane(nextLanes)) {\n mightHavePendingSyncWork = true;\n }\n }\n\n root = next;\n }\n\n currentEventTransitionLane = NoLane; // At the end of the microtask, flush any pending synchronous work. This has\n // to come at the end, because it does actual rendering work that might throw.\n\n flushSyncWorkOnAllRoots();\n}\n\nfunction scheduleTaskForRootDuringMicrotask(root, currentTime) {\n // This function is always called inside a microtask, or at the very end of a\n // rendering task right before we yield to the main thread. It should never be\n // called synchronously.\n //\n // TODO: Unless enableDeferRootSchedulingToMicrotask is off. We need to land\n // that ASAP to unblock additional features we have planned.\n //\n // This function also never performs React work synchronously; it should\n // only schedule work to be performed later, in a separate task or microtask.\n // Check if any lanes are being starved by other work. If so, mark them as\n // expired so we know to work on those next.\n markStarvedLanesAsExpired(root, currentTime); // Determine the next lanes to work on, and their priority.\n\n var workInProgressRoot = getWorkInProgressRoot();\n var workInProgressRootRenderLanes = getWorkInProgressRootRenderLanes();\n var nextLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n var existingCallbackNode = root.callbackNode;\n\n if ( // Check if there's nothing to work on\n nextLanes === NoLanes || // If this root is currently suspended and waiting for data to resolve, don't\n // schedule a task to render it. We'll either wait for a ping, or wait to\n // receive an update.\n //\n // Suspended render phase\n root === workInProgressRoot && isWorkLoopSuspendedOnData() || // Suspended commit phase\n root.cancelPendingCommit !== null) {\n // Fast path: There's nothing to work on.\n if (existingCallbackNode !== null) {\n cancelCallback(existingCallbackNode);\n }\n\n root.callbackNode = null;\n root.callbackPriority = NoLane;\n return NoLane;\n } // Schedule a new callback in the host environment.\n\n\n if (includesSyncLane(nextLanes)) {\n // Synchronous work is always flushed at the end of the microtask, so we\n // don't need to schedule an additional task.\n if (existingCallbackNode !== null) {\n cancelCallback(existingCallbackNode);\n }\n\n root.callbackPriority = SyncLane;\n root.callbackNode = null;\n return SyncLane;\n } else {\n // We use the highest priority lane to represent the priority of the callback.\n var existingCallbackPriority = root.callbackPriority;\n var newCallbackPriority = getHighestPriorityLane(nextLanes);\n\n if (newCallbackPriority === existingCallbackPriority && // Special case related to `act`. If the currently scheduled task is a\n // Scheduler task, rather than an `act` task, cancel it and re-schedule\n // on the `act` queue.\n !(ReactCurrentActQueue$3.current !== null && existingCallbackNode !== fakeActCallbackNode$1)) {\n // The priority hasn't changed. We can reuse the existing task.\n return newCallbackPriority;\n } else {\n // Cancel the existing callback. We'll schedule a new one below.\n cancelCallback(existingCallbackNode);\n }\n\n var schedulerPriorityLevel;\n\n switch (lanesToEventPriority(nextLanes)) {\n case DiscreteEventPriority:\n schedulerPriorityLevel = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriorityLevel = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriorityLevel = NormalPriority$1;\n break;\n\n case IdleEventPriority:\n schedulerPriorityLevel = IdlePriority;\n break;\n\n default:\n schedulerPriorityLevel = NormalPriority$1;\n break;\n }\n\n var newCallbackNode = scheduleCallback$2(schedulerPriorityLevel, performConcurrentWorkOnRoot.bind(null, root));\n root.callbackPriority = newCallbackPriority;\n root.callbackNode = newCallbackNode;\n return newCallbackPriority;\n }\n}\n\nfunction getContinuationForRoot(root, originalCallbackNode) {\n // This is called at the end of `performConcurrentWorkOnRoot` to determine\n // if we need to schedule a continuation task.\n //\n // Usually `scheduleTaskForRootDuringMicrotask` only runs inside a microtask;\n // however, since most of the logic for determining if we need a continuation\n // versus a new task is the same, we cheat a bit and call it here. This is\n // only safe to do because we know we're at the end of the browser task.\n // So although it's not an actual microtask, it might as well be.\n scheduleTaskForRootDuringMicrotask(root, now$1());\n\n if (root.callbackNode === originalCallbackNode) {\n // The task node scheduled for this root is the same one that's\n // currently executed. Need to return a continuation.\n return performConcurrentWorkOnRoot.bind(null, root);\n }\n\n return null;\n}\nvar fakeActCallbackNode$1 = {};\n\nfunction scheduleCallback$2(priorityLevel, callback) {\n if (ReactCurrentActQueue$3.current !== null) {\n // Special case: We're inside an `act` scope (a testing utility).\n // Instead of scheduling work in the host environment, add it to a\n // fake internal queue that's managed by the `act` implementation.\n ReactCurrentActQueue$3.current.push(callback);\n return fakeActCallbackNode$1;\n } else {\n return scheduleCallback$3(priorityLevel, callback);\n }\n}\n\nfunction cancelCallback(callbackNode) {\n if (callbackNode === fakeActCallbackNode$1) ; else if (callbackNode !== null) {\n cancelCallback$1(callbackNode);\n }\n}\n\nfunction scheduleImmediateTask(cb) {\n if (ReactCurrentActQueue$3.current !== null) {\n // Special case: Inside an `act` scope, we push microtasks to the fake `act`\n // callback queue. This is because we currently support calling `act`\n // without awaiting the result. The plan is to deprecate that, and require\n // that you always await the result so that the microtasks have a chance to\n // run. But it hasn't happened yet.\n ReactCurrentActQueue$3.current.push(function () {\n cb();\n return null;\n });\n } // TODO: Can we land supportsMicrotasks? Which environments don't support it?\n // Alternatively, can we move this check to the host config?\n\n\n {\n scheduleMicrotask(function () {\n // In Safari, appending an iframe forces microtasks to run.\n // https://github.com/facebook/react/issues/22459\n // We don't support running callbacks in the middle of render\n // or commit so we need to check against that.\n var executionContext = getExecutionContext();\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n // Note that this would still prematurely flush the callbacks\n // if this happens outside render or commit phase (e.g. in an event).\n // Intentionally using a macrotask instead of a microtask here. This is\n // wrong semantically but it prevents an infinite loop. The bug is\n // Safari's, not ours, so we just do our best to not crash even though\n // the behavior isn't completely correct.\n scheduleCallback$3(ImmediatePriority, cb);\n return;\n }\n\n cb();\n });\n }\n}\n\nfunction requestTransitionLane( // This argument isn't used, it's only here to encourage the caller to\n// check that it's inside a transition before calling this function.\n// TODO: Make this non-nullable. Requires a tweak to useOptimistic.\ntransition) {\n // The algorithm for assigning an update to a lane should be stable for all\n // updates at the same priority within the same event. To do this, the\n // inputs to the algorithm must be the same.\n //\n // The trick we use is to cache the first of each of these inputs within an\n // event. Then reset the cached values once we can be sure the event is\n // over. Our heuristic for that is whenever we enter a concurrent work loop.\n if (currentEventTransitionLane === NoLane) {\n // All transitions within the same event are assigned the same lane.\n currentEventTransitionLane = claimNextTransitionLane();\n }\n\n return currentEventTransitionLane;\n}\n\n// transition updates that occur while the async action is still in progress\n// are treated as part of the action.\n//\n// The ideal behavior would be to treat each async function as an independent\n// action. However, without a mechanism like AsyncContext, we can't tell which\n// action an update corresponds to. So instead, we entangle them all into one.\n// The listeners to notify once the entangled scope completes.\n\nvar currentEntangledListeners = null; // The number of pending async actions in the entangled scope.\n\nvar currentEntangledPendingCount = 0; // The transition lane shared by all updates in the entangled scope.\n\nvar currentEntangledLane = NoLane; // A thenable that resolves when the entangled scope completes. It does not\n// resolve to a particular value because it's only used for suspending the UI\n// until the async action scope has completed.\n\nvar currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n // `thenable` is the return value of the async action scope function. Create\n // a combined thenable that resolves once every entangled scope function\n // has finished.\n if (currentEntangledListeners === null) {\n // There's no outer async action scope. Create a new one.\n var entangledListeners = currentEntangledListeners = [];\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n var entangledThenable = {\n status: 'pending',\n value: undefined,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n currentEntangledActionThenable = entangledThenable;\n }\n\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\n\nfunction pingEngtangledActionScope() {\n if (currentEntangledListeners !== null && --currentEntangledPendingCount === 0) {\n // All the actions have finished. Close the entangled async action scope\n // and notify all the listeners.\n if (currentEntangledActionThenable !== null) {\n var fulfilledThenable = currentEntangledActionThenable;\n fulfilledThenable.status = 'fulfilled';\n }\n\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = NoLane;\n currentEntangledActionThenable = null;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n }\n}\n\nfunction chainThenableValue(thenable, result) {\n // Equivalent to: Promise.resolve(thenable).then(() => result), except we can\n // cheat a bit since we know that that this thenable is only ever consumed\n // by React.\n //\n // We don't technically require promise support on the client yet, hence this\n // extra code.\n var listeners = [];\n var thenableWithOverride = {\n status: 'pending',\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(function (value) {\n var fulfilledThenable = thenableWithOverride;\n fulfilledThenable.status = 'fulfilled';\n fulfilledThenable.value = result;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener(result);\n }\n }, function (error) {\n var rejectedThenable = thenableWithOverride;\n rejectedThenable.status = 'rejected';\n rejectedThenable.reason = error;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i]; // This is a perf hack where we call the `onFulfill` ping function\n // instead of `onReject`, because we know that React is the only\n // consumer of these promises, and it passes the same listener to both.\n // We also know that it will read the error directly off the\n // `.reason` field.\n\n listener(undefined);\n }\n });\n return thenableWithOverride;\n}\nfunction peekEntangledActionLane() {\n return currentEntangledLane;\n}\nfunction peekEntangledActionThenable() {\n return currentEntangledActionThenable;\n}\n\nvar UpdateState = 0;\nvar ReplaceState = 1;\nvar ForceUpdate = 2;\nvar CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`.\n// It should only be read right after calling `processUpdateQueue`, via\n// `checkHasForceUpdateAfterProcessing`.\n\nvar hasForceUpdate = false;\nvar didWarnUpdateInsideUpdate;\nvar currentlyProcessingQueue;\n\n{\n didWarnUpdateInsideUpdate = false;\n currentlyProcessingQueue = null;\n}\n\nfunction initializeUpdateQueue(fiber) {\n var queue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: {\n pending: null,\n lanes: NoLanes,\n hiddenCallbacks: null\n },\n callbacks: null\n };\n fiber.updateQueue = queue;\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n // Clone the update queue from current. Unless it's already a clone.\n var queue = workInProgress.updateQueue;\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n var clone = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: currentQueue.firstBaseUpdate,\n lastBaseUpdate: currentQueue.lastBaseUpdate,\n shared: currentQueue.shared,\n callbacks: null\n };\n workInProgress.updateQueue = clone;\n }\n}\nfunction createUpdate(lane) {\n var update = {\n lane: lane,\n tag: UpdateState,\n payload: null,\n callback: null,\n next: null\n };\n return update;\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return null;\n }\n\n var sharedQueue = updateQueue.shared;\n\n {\n if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) {\n var componentName = getComponentNameFromFiber(fiber);\n\n error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.\\n\\nPlease update the following component: %s', componentName);\n\n didWarnUpdateInsideUpdate = true;\n }\n }\n\n if (isUnsafeClassRenderPhaseUpdate()) {\n // This is an unsafe render phase update. Add directly to the update\n // queue so we can process it immediately during the current render.\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update; // Update the childLanes even though we're most likely already rendering\n // this fiber. This is for backwards compatibility in the case where you\n // update a different component during render phase than the one that is\n // currently renderings (a pattern that is accompanied by a warning).\n\n return unsafe_markUpdateLaneFromFiberToRoot(fiber, lane);\n } else {\n return enqueueConcurrentClassUpdate(fiber, sharedQueue, update, lane);\n }\n}\nfunction entangleTransitions(root, fiber, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return;\n }\n\n var sharedQueue = updateQueue.shared;\n\n if (isTransitionLane(lane)) {\n var queueLanes = sharedQueue.lanes; // If any entangled lanes are no longer pending on the root, then they must\n // have finished. We can remove them from the shared queue, which represents\n // a superset of the actually pending lanes. In some cases we may entangle\n // more than we need to, but that's OK. In fact it's worse if we *don't*\n // entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n sharedQueue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n // Captured updates are updates that are thrown by a child during the render\n // phase. They should be discarded if the render is aborted. Therefore,\n // we should only put them on the work-in-progress queue, not the current one.\n var queue = workInProgress.updateQueue; // Check if the work-in-progress queue is a clone.\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n // The work-in-progress queue is the same as current. This happens when\n // we bail out on a parent fiber that then captures an error thrown by\n // a child. Since we want to append the update only to the work-in\n // -progress queue, we need to clone the updates. We usually clone during\n // processUpdateQueue, but that didn't happen in this case because we\n // skipped over the parent when we bailed out.\n var newFirst = null;\n var newLast = null;\n var firstBaseUpdate = queue.firstBaseUpdate;\n\n if (firstBaseUpdate !== null) {\n // Loop through the updates and clone them.\n var update = firstBaseUpdate;\n\n do {\n var clone = {\n lane: update.lane,\n tag: update.tag,\n payload: update.payload,\n // When this update is rebased, we should not fire its\n // callback again.\n callback: null,\n next: null\n };\n\n if (newLast === null) {\n newFirst = newLast = clone;\n } else {\n newLast.next = clone;\n newLast = clone;\n } // $FlowFixMe[incompatible-type] we bail out when we get a null\n\n\n update = update.next;\n } while (update !== null); // Append the captured update the end of the cloned list.\n\n\n if (newLast === null) {\n newFirst = newLast = capturedUpdate;\n } else {\n newLast.next = capturedUpdate;\n newLast = capturedUpdate;\n }\n } else {\n // There are no base updates.\n newFirst = newLast = capturedUpdate;\n }\n\n queue = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: currentQueue.shared,\n callbacks: currentQueue.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n } // Append the update to the end of the list.\n\n\n var lastBaseUpdate = queue.lastBaseUpdate;\n\n if (lastBaseUpdate === null) {\n queue.firstBaseUpdate = capturedUpdate;\n } else {\n lastBaseUpdate.next = capturedUpdate;\n }\n\n queue.lastBaseUpdate = capturedUpdate;\n}\n\nfunction getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) {\n switch (update.tag) {\n case ReplaceState:\n {\n var payload = update.payload;\n\n if (typeof payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n var nextState = payload.call(instance, prevState, nextProps);\n\n {\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n\n return nextState;\n } // State object\n\n\n return payload;\n }\n\n case CaptureUpdate:\n {\n workInProgress.flags = workInProgress.flags & ~ShouldCapture | DidCapture;\n }\n // Intentional fallthrough\n\n case UpdateState:\n {\n var _payload = update.payload;\n var partialState;\n\n if (typeof _payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n partialState = _payload.call(instance, prevState, nextProps);\n\n {\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n _payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n } else {\n // Partial state object\n partialState = _payload;\n }\n\n if (partialState === null || partialState === undefined) {\n // Null and undefined are treated as no-ops.\n return prevState;\n } // Merge the partial state and the previous state.\n\n\n return assign({}, prevState, partialState);\n }\n\n case ForceUpdate:\n {\n hasForceUpdate = true;\n return prevState;\n }\n }\n\n return prevState;\n}\n\nvar didReadFromEntangledAsyncAction = false; // Each call to processUpdateQueue should be accompanied by a call to this. It's\n// only in a separate function because in updateHostRoot, it must happen after\n// all the context stacks have been pushed to, to prevent a stack mismatch. A\n// bit unfortunate.\n\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n // Check if this update is part of a pending async action. If so, we'll\n // need to suspend until the action has finished, so that it's batched\n // together with future updates in the same action.\n // TODO: Once we support hooks inside useMemo (or an equivalent\n // memoization boundary like Forget), hoist this logic so that it only\n // suspends if the memo boundary produces a new value.\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = peekEntangledActionThenable();\n\n if (entangledActionThenable !== null) {\n // TODO: Instead of the throwing the thenable directly, throw a\n // special object like `use` does so we can detect if it's captured\n // by userspace.\n throw entangledActionThenable;\n }\n }\n}\nfunction processUpdateQueue(workInProgress, props, instance, renderLanes) {\n didReadFromEntangledAsyncAction = false; // This is always non-null on a ClassComponent or HostRoot\n\n var queue = workInProgress.updateQueue;\n hasForceUpdate = false;\n\n {\n currentlyProcessingQueue = queue.shared;\n }\n\n var firstBaseUpdate = queue.firstBaseUpdate;\n var lastBaseUpdate = queue.lastBaseUpdate; // Check if there are pending updates. If so, transfer them to the base queue.\n\n var pendingQueue = queue.shared.pending;\n\n if (pendingQueue !== null) {\n queue.shared.pending = null; // The pending queue is circular. Disconnect the pointer between first\n // and last so that it's non-circular.\n\n var lastPendingUpdate = pendingQueue;\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null; // Append pending updates to base queue\n\n if (lastBaseUpdate === null) {\n firstBaseUpdate = firstPendingUpdate;\n } else {\n lastBaseUpdate.next = firstPendingUpdate;\n }\n\n lastBaseUpdate = lastPendingUpdate; // If there's a current queue, and it's different from the base queue, then\n // we need to transfer the updates to that queue, too. Because the base\n // queue is a singly-linked list with no cycles, we can append to both\n // lists and take advantage of structural sharing.\n // TODO: Pass `current` as argument\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n // This is always non-null on a ClassComponent or HostRoot\n var currentQueue = current.updateQueue;\n var currentLastBaseUpdate = currentQueue.lastBaseUpdate;\n\n if (currentLastBaseUpdate !== lastBaseUpdate) {\n if (currentLastBaseUpdate === null) {\n currentQueue.firstBaseUpdate = firstPendingUpdate;\n } else {\n currentLastBaseUpdate.next = firstPendingUpdate;\n }\n\n currentQueue.lastBaseUpdate = lastPendingUpdate;\n }\n }\n } // These values may change as we process the queue.\n\n\n if (firstBaseUpdate !== null) {\n // Iterate through the list of updates to compute the result.\n var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes\n // from the original lanes.\n\n var newLanes = NoLanes;\n var newBaseState = null;\n var newFirstBaseUpdate = null;\n var newLastBaseUpdate = null;\n var update = firstBaseUpdate;\n\n do {\n // An extra OffscreenLane bit is added to updates that were made to\n // a hidden tree, so that we can distinguish them from updates that were\n // already there when the tree was hidden.\n var updateLane = removeLanes(update.lane, OffscreenLane);\n var isHiddenUpdate = updateLane !== update.lane; // Check if this update was made while the tree was hidden. If so, then\n // it's not a \"base\" update and we should disregard the extra base lanes\n // that were added to renderLanes when we entered the Offscreen tree.\n\n var shouldSkipUpdate = isHiddenUpdate ? !isSubsetOfLanes(getWorkInProgressRootRenderLanes(), updateLane) : !isSubsetOfLanes(renderLanes, updateLane);\n\n if (shouldSkipUpdate) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n lane: updateLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLastBaseUpdate === null) {\n newFirstBaseUpdate = newLastBaseUpdate = clone;\n newBaseState = newState;\n } else {\n newLastBaseUpdate = newLastBaseUpdate.next = clone;\n } // Update the remaining priority in the queue.\n\n\n newLanes = mergeLanes(newLanes, updateLane);\n } else {\n // This update does have sufficient priority.\n // Check if this update is part of a pending async action. If so,\n // we'll need to suspend until the action has finished, so that it's\n // batched together with future updates in the same action.\n if (updateLane !== NoLane && updateLane === peekEntangledActionLane()) {\n didReadFromEntangledAsyncAction = true;\n }\n\n if (newLastBaseUpdate !== null) {\n var _clone = {\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n tag: update.tag,\n payload: update.payload,\n // When this update is rebased, we should not fire its\n // callback again.\n callback: null,\n next: null\n };\n newLastBaseUpdate = newLastBaseUpdate.next = _clone;\n } // Process this update.\n\n\n newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance);\n var callback = update.callback;\n\n if (callback !== null) {\n workInProgress.flags |= Callback;\n\n if (isHiddenUpdate) {\n workInProgress.flags |= Visibility;\n }\n\n var callbacks = queue.callbacks;\n\n if (callbacks === null) {\n queue.callbacks = [callback];\n } else {\n callbacks.push(callback);\n }\n }\n } // $FlowFixMe[incompatible-type] we bail out when we get a null\n\n\n update = update.next;\n\n if (update === null) {\n pendingQueue = queue.shared.pending;\n\n if (pendingQueue === null) {\n break;\n } else {\n // An update was scheduled from inside a reducer. Add the new\n // pending updates to the end of the list and keep processing.\n var _lastPendingUpdate = pendingQueue; // Intentionally unsound. Pending updates form a circular list, but we\n // unravel them when transferring them to the base queue.\n\n var _firstPendingUpdate = _lastPendingUpdate.next;\n _lastPendingUpdate.next = null;\n update = _firstPendingUpdate;\n queue.lastBaseUpdate = _lastPendingUpdate;\n queue.shared.pending = null;\n }\n }\n } while (true);\n\n if (newLastBaseUpdate === null) {\n newBaseState = newState;\n }\n\n queue.baseState = newBaseState;\n queue.firstBaseUpdate = newFirstBaseUpdate;\n queue.lastBaseUpdate = newLastBaseUpdate;\n\n if (firstBaseUpdate === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.shared.lanes = NoLanes;\n } // Set the remaining expiration time to be whatever is remaining in the queue.\n // This should be fine because the only two other things that contribute to\n // expiration time are props and context. We're already in the middle of the\n // begin phase by the time we start processing the queue, so we've already\n // dealt with the props. Context in components that specify\n // shouldComponentUpdate is tricky; but we'll have to account for\n // that regardless.\n\n\n markSkippedUpdateLanes(newLanes);\n workInProgress.lanes = newLanes;\n workInProgress.memoizedState = newState;\n }\n\n {\n currentlyProcessingQueue = null;\n }\n}\n\nfunction callCallback(callback, context) {\n if (typeof callback !== 'function') {\n throw new Error('Invalid argument passed as callback. Expected a function. Instead ' + (\"received: \" + callback));\n }\n\n callback.call(context);\n}\n\nfunction resetHasForceUpdateBeforeProcessing() {\n hasForceUpdate = false;\n}\nfunction checkHasForceUpdateAfterProcessing() {\n return hasForceUpdate;\n}\nfunction deferHiddenCallbacks(updateQueue) {\n // When an update finishes on a hidden component, its callback should not\n // be fired until/unless the component is made visible again. Stash the\n // callback on the shared queue object so it can be fired later.\n var newHiddenCallbacks = updateQueue.callbacks;\n\n if (newHiddenCallbacks !== null) {\n var existingHiddenCallbacks = updateQueue.shared.hiddenCallbacks;\n\n if (existingHiddenCallbacks === null) {\n updateQueue.shared.hiddenCallbacks = newHiddenCallbacks;\n } else {\n updateQueue.shared.hiddenCallbacks = existingHiddenCallbacks.concat(newHiddenCallbacks);\n }\n }\n}\nfunction commitHiddenCallbacks(updateQueue, context) {\n // This component is switching from hidden -> visible. Commit any callbacks\n // that were previously deferred.\n var hiddenCallbacks = updateQueue.shared.hiddenCallbacks;\n\n if (hiddenCallbacks !== null) {\n updateQueue.shared.hiddenCallbacks = null;\n\n for (var i = 0; i < hiddenCallbacks.length; i++) {\n var callback = hiddenCallbacks[i];\n callCallback(callback, context);\n }\n }\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n\n if (callbacks !== null) {\n updateQueue.callbacks = null;\n\n for (var i = 0; i < callbacks.length; i++) {\n var callback = callbacks[i];\n callCallback(callback, context);\n }\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\n\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\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 } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n var currentKey = keysA[i];\n\n if (!hasOwnProperty.call(objB, currentKey) || // $FlowFixMe[incompatible-use] lost refinement of `objB`\n !objectIs(objA[currentKey], objB[currentKey])) {\n return false;\n }\n }\n\n return true;\n}\n\nvar ReactStrictModeWarnings = {\n recordUnsafeLifecycleWarnings: function (fiber, instance) {},\n flushPendingUnsafeLifecycleWarnings: function () {},\n recordLegacyContextWarning: function (fiber, instance) {},\n flushLegacyContextWarning: function () {},\n discardPendingWarnings: function () {}\n};\n\n{\n var findStrictRoot = function (fiber) {\n var maybeStrictRoot = null;\n var node = fiber;\n\n while (node !== null) {\n if (node.mode & StrictLegacyMode) {\n maybeStrictRoot = node;\n }\n\n node = node.return;\n }\n\n return maybeStrictRoot;\n };\n\n var setToSortedString = function (set) {\n var array = [];\n set.forEach(function (value) {\n array.push(value);\n });\n return array.sort().join(', ');\n };\n\n var pendingComponentWillMountWarnings = [];\n var pendingUNSAFE_ComponentWillMountWarnings = [];\n var pendingComponentWillReceivePropsWarnings = [];\n var pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n var pendingComponentWillUpdateWarnings = [];\n var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about.\n\n var didWarnAboutUnsafeLifecycles = new Set();\n\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) {\n // Dedupe strategy: Warn once per component.\n if (didWarnAboutUnsafeLifecycles.has(fiber.type)) {\n return;\n }\n\n if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components.\n instance.componentWillMount.__suppressDeprecationWarning !== true) {\n pendingComponentWillMountWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillMount === 'function') {\n pendingUNSAFE_ComponentWillMountWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n pendingComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n pendingComponentWillUpdateWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillUpdate === 'function') {\n pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {\n // We do an initial pass to gather component names\n var componentWillMountUniqueNames = new Set();\n\n if (pendingComponentWillMountWarnings.length > 0) {\n pendingComponentWillMountWarnings.forEach(function (fiber) {\n componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillMountWarnings = [];\n }\n\n var UNSAFE_componentWillMountUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) {\n pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {\n UNSAFE_componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillMountWarnings = [];\n }\n\n var componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingComponentWillReceivePropsWarnings.length > 0) {\n pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {\n componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillReceivePropsWarnings = [];\n }\n\n var UNSAFE_componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) {\n UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n }\n\n var componentWillUpdateUniqueNames = new Set();\n\n if (pendingComponentWillUpdateWarnings.length > 0) {\n pendingComponentWillUpdateWarnings.forEach(function (fiber) {\n componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillUpdateWarnings = [];\n }\n\n var UNSAFE_componentWillUpdateUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) {\n pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {\n UNSAFE_componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n } // Finally, we flush all the warnings\n // UNSAFE_ ones before the deprecated ones, since they'll be 'louder'\n\n\n if (UNSAFE_componentWillMountUniqueNames.size > 0) {\n var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);\n\n error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '\\nPlease update the following components: %s', sortedNames);\n }\n\n if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames);\n\n error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, \" + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '\\nPlease update the following components: %s', _sortedNames);\n }\n\n if (UNSAFE_componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames);\n\n error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '\\nPlease update the following components: %s', _sortedNames2);\n }\n\n if (componentWillMountUniqueNames.size > 0) {\n var _sortedNames3 = setToSortedString(componentWillMountUniqueNames);\n\n warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames3);\n }\n\n if (componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames);\n\n warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, refactor your \" + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames4);\n }\n\n if (componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames);\n\n warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames5);\n }\n };\n\n var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about.\n\n var didWarnAboutLegacyContext = new Set();\n\n ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) {\n var strictRoot = findStrictRoot(fiber);\n\n if (strictRoot === null) {\n error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n\n return;\n } // Dedup strategy: Warn once per component.\n\n\n if (didWarnAboutLegacyContext.has(fiber.type)) {\n return;\n }\n\n var warningsForRoot = pendingLegacyContextWarning.get(strictRoot);\n\n if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') {\n if (warningsForRoot === undefined) {\n warningsForRoot = [];\n pendingLegacyContextWarning.set(strictRoot, warningsForRoot);\n }\n\n warningsForRoot.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushLegacyContextWarning = function () {\n pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) {\n if (fiberArray.length === 0) {\n return;\n }\n\n var firstFiber = fiberArray[0];\n var uniqueNames = new Set();\n fiberArray.forEach(function (fiber) {\n uniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutLegacyContext.add(fiber.type);\n });\n var sortedNames = setToSortedString(uniqueNames);\n\n try {\n setCurrentFiber(firstFiber);\n\n error('Legacy context API has been detected within a strict-mode tree.' + '\\n\\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\\n\\nPlease update the following components: %s' + '\\n\\nLearn more about this warning here: https://reactjs.org/link/legacy-context', sortedNames);\n } finally {\n resetCurrentFiber();\n }\n });\n };\n\n ReactStrictModeWarnings.discardPendingWarnings = function () {\n pendingComponentWillMountWarnings = [];\n pendingUNSAFE_ComponentWillMountWarnings = [];\n pendingComponentWillReceivePropsWarnings = [];\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n pendingComponentWillUpdateWarnings = [];\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n pendingLegacyContextWarning = new Map();\n };\n}\n\nvar ReactCurrentActQueue$2 = ReactSharedInternals.ReactCurrentActQueue;\n\nfunction getThenablesFromState(state) {\n {\n var devState = state;\n return devState.thenables;\n }\n} // An error that is thrown (e.g. by `use`) to trigger Suspense. If we\n// detect this is caught by userspace, we'll log a warning in development.\n\n\nvar SuspenseException = new Error(\"Suspense Exception: This is not a real error! It's an implementation \" + 'detail of `use` to interrupt the current render. You must either ' + 'rethrow it immediately, or move the `use` call outside of the ' + '`try/catch` block. Capturing without rethrowing will lead to ' + 'unexpected behavior.\\n\\n' + 'To handle async errors, wrap your component in an error boundary, or ' + \"call the promise's `.catch` method and pass the result to `use`\");\nvar SuspenseyCommitException = new Error('Suspense Exception: This is not a real error, and should not leak into ' + \"userspace. If you're seeing this, it's likely a bug in React.\"); // This is a noop thenable that we use to trigger a fallback in throwException.\n// TODO: It would be better to refactor throwException into multiple functions\n// so we can trigger a fallback directly without having to check the type. But\n// for now this will do.\n\nvar noopSuspenseyCommitThenable = {\n then: function () {\n {\n error('Internal React error: A listener was unexpectedly attached to a ' + '\"noop\" thenable. This is a bug in React. Please file an issue.');\n }\n }\n};\nfunction createThenableState() {\n // The ThenableState is created the first time a component suspends. If it\n // suspends again, we'll reuse the same state.\n {\n return {\n didWarnAboutUncachedPromise: false,\n thenables: []\n };\n }\n}\nfunction isThenableResolved(thenable) {\n var status = thenable.status;\n return status === 'fulfilled' || status === 'rejected';\n}\n\nfunction noop$2() {}\n\nfunction trackUsedThenable(thenableState, thenable, index) {\n if (ReactCurrentActQueue$2.current !== null) {\n ReactCurrentActQueue$2.didUsePromise = true;\n }\n\n var trackedThenables = getThenablesFromState(thenableState);\n var previous = trackedThenables[index];\n\n if (previous === undefined) {\n trackedThenables.push(thenable);\n } else {\n if (previous !== thenable) {\n // Reuse the previous thenable, and drop the new one. We can assume\n // they represent the same value, because components are idempotent.\n {\n var thenableStateDev = thenableState;\n\n if (!thenableStateDev.didWarnAboutUncachedPromise) {\n // We should only warn the first time an uncached thenable is\n // discovered per component, because if there are multiple, the\n // subsequent ones are likely derived from the first.\n //\n // We track this on the thenableState instead of deduping using the\n // component name like we usually do, because in the case of a\n // promise-as-React-node, the owner component is likely different from\n // the parent that's currently being reconciled. We'd have to track\n // the owner using state, which we're trying to move away from. Though\n // since this is dev-only, maybe that'd be OK.\n //\n // However, another benefit of doing it this way is we might\n // eventually have a thenableState per memo/Forget boundary instead\n // of per component, so this would allow us to have more\n // granular warnings.\n thenableStateDev.didWarnAboutUncachedPromise = true; // TODO: This warning should link to a corresponding docs page.\n\n error('A component was suspended by an uncached promise. Creating ' + 'promises inside a Client Component or hook is not yet ' + 'supported, except via a Suspense-compatible library or framework.');\n }\n } // Avoid an unhandled rejection errors for the Promises that we'll\n // intentionally ignore.\n\n\n thenable.then(noop$2, noop$2);\n thenable = previous;\n }\n } // We use an expando to track the status and result of a thenable so that we\n // can synchronously unwrap the value. Think of this as an extension of the\n // Promise API, or a custom interface that is a superset of Thenable.\n //\n // If the thenable doesn't have a status, set it to \"pending\" and attach\n // a listener that will update its status and result when it resolves.\n\n\n switch (thenable.status) {\n case 'fulfilled':\n {\n var fulfilledValue = thenable.value;\n return fulfilledValue;\n }\n\n case 'rejected':\n {\n var rejectedError = thenable.reason;\n checkIfUseWrappedInAsyncCatch(rejectedError);\n throw rejectedError;\n }\n\n default:\n {\n if (typeof thenable.status === 'string') {\n // Only instrument the thenable if the status if not defined. If\n // it's defined, but an unknown value, assume it's been instrumented by\n // some custom userspace implementation. We treat it as \"pending\".\n // Attach a dummy listener, to ensure that any lazy initialization can\n // happen. Flight lazily parses JSON when the value is actually awaited.\n thenable.then(noop$2, noop$2);\n } else {\n // This is an uncached thenable that we haven't seen before.\n // Detect infinite ping loops caused by uncached promises.\n var root = getWorkInProgressRoot();\n\n if (root !== null && root.shellSuspendCounter > 100) {\n // This root has suspended repeatedly in the shell without making any\n // progress (i.e. committing something). This is highly suggestive of\n // an infinite ping loop, often caused by an accidental Async Client\n // Component.\n //\n // During a transition, we can suspend the work loop until the promise\n // to resolve, but this is a sync render, so that's not an option. We\n // also can't show a fallback, because none was provided. So our last\n // resort is to throw an error.\n //\n // TODO: Remove this error in a future release. Other ways of handling\n // this case include forcing a concurrent render, or putting the whole\n // root into offscreen mode.\n throw new Error('async/await is not yet supported in Client Components, only ' + 'Server Components. This error is often caused by accidentally ' + \"adding `'use client'` to a module that was originally written \" + 'for the server.');\n }\n\n var pendingThenable = thenable;\n pendingThenable.status = 'pending';\n pendingThenable.then(function (fulfilledValue) {\n if (thenable.status === 'pending') {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = 'fulfilled';\n fulfilledThenable.value = fulfilledValue;\n }\n }, function (error) {\n if (thenable.status === 'pending') {\n var rejectedThenable = thenable;\n rejectedThenable.status = 'rejected';\n rejectedThenable.reason = error;\n }\n });\n } // Check one more time in case the thenable resolved synchronously.\n\n\n switch (thenable.status) {\n case 'fulfilled':\n {\n var fulfilledThenable = thenable;\n return fulfilledThenable.value;\n }\n\n case 'rejected':\n {\n var rejectedThenable = thenable;\n var _rejectedError = rejectedThenable.reason;\n checkIfUseWrappedInAsyncCatch(_rejectedError);\n throw _rejectedError;\n }\n } // Suspend.\n //\n // Throwing here is an implementation detail that allows us to unwind the\n // call stack. But we shouldn't allow it to leak into userspace. Throw an\n // opaque placeholder value instead of the actual thenable. If it doesn't\n // get captured by the work loop, log a warning, because that means\n // something in userspace must have caught it.\n\n\n suspendedThenable = thenable;\n\n {\n needsToResetSuspendedThenableDEV = true;\n }\n\n throw SuspenseException;\n }\n }\n}\nfunction suspendCommit() {\n // This extra indirection only exists so it can handle passing\n // noopSuspenseyCommitThenable through to throwException.\n // TODO: Factor the thenable check out of throwException\n suspendedThenable = noopSuspenseyCommitThenable;\n throw SuspenseyCommitException;\n} // This is used to track the actual thenable that suspended so it can be\n// passed to the rest of the Suspense implementation — which, for historical\n// reasons, expects to receive a thenable.\n\nvar suspendedThenable = null;\nvar needsToResetSuspendedThenableDEV = false;\nfunction getSuspendedThenable() {\n // This is called right after `use` suspends by throwing an exception. `use`\n // throws an opaque value instead of the thenable itself so that it can't be\n // caught in userspace. Then the work loop accesses the actual thenable using\n // this function.\n if (suspendedThenable === null) {\n throw new Error('Expected a suspended thenable. This is a bug in React. Please file ' + 'an issue.');\n }\n\n var thenable = suspendedThenable;\n suspendedThenable = null;\n\n {\n needsToResetSuspendedThenableDEV = false;\n }\n\n return thenable;\n}\nfunction checkIfUseWrappedInTryCatch() {\n {\n // This was set right before SuspenseException was thrown, and it should\n // have been cleared when the exception was handled. If it wasn't,\n // it must have been caught by userspace.\n if (needsToResetSuspendedThenableDEV) {\n needsToResetSuspendedThenableDEV = false;\n return true;\n }\n }\n\n return false;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n // This check runs in prod, too, because it prevents a more confusing\n // downstream error, where SuspenseException is caught by a promise and\n // thrown asynchronously.\n // TODO: Another way to prevent SuspenseException from leaking into an async\n // execution context is to check the dispatcher every time `use` is called,\n // or some equivalent. That might be preferable for other reasons, too, since\n // it matches how we prevent similar mistakes for other hooks.\n if (rejectedReason === SuspenseException) {\n throw new Error('Hooks are not supported inside an async component. This ' + \"error is often caused by accidentally adding `'use client'` \" + 'to a module that was originally written for the server.');\n }\n}\n\nvar thenableState$1 = null;\nvar thenableIndexCounter$1 = 0;\n\nfunction mergeDebugInfo(outer, inner) {\n\n if (inner == null) {\n return outer;\n } else if (outer === null) {\n return inner;\n } else {\n // If we have two debugInfo, we need to create a new one. This makes the array no longer\n // live so we'll miss any future updates if we received more so ideally we should always\n // do this after both have fully resolved/unsuspended.\n return outer.concat(inner);\n }\n}\n\nvar didWarnAboutMaps;\nvar didWarnAboutGenerators;\nvar didWarnAboutStringRefs;\nvar ownerHasKeyUseWarning;\nvar ownerHasFunctionTypeWarning;\nvar ownerHasSymbolTypeWarning;\n\nvar warnForMissingKey = function (child, returnFiber) {};\n\n{\n didWarnAboutMaps = false;\n didWarnAboutGenerators = false;\n didWarnAboutStringRefs = {};\n /**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n ownerHasKeyUseWarning = {};\n ownerHasFunctionTypeWarning = {};\n ownerHasSymbolTypeWarning = {};\n\n warnForMissingKey = function (child, returnFiber) {\n if (child === null || typeof child !== 'object') {\n return;\n }\n\n if (!child._store || child._store.validated || child.key != null) {\n return;\n }\n\n if (typeof child._store !== 'object') {\n throw new Error('React Component in warnForMissingKey should have a _store. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n } // $FlowFixMe[cannot-write] unable to narrow type from mixed to writable object\n\n\n child._store.validated = true;\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasKeyUseWarning[componentName]) {\n return;\n }\n\n ownerHasKeyUseWarning[componentName] = true;\n\n error('Each child in a list should have a unique ' + '\"key\" prop. See https://reactjs.org/link/warning-keys for ' + 'more information.');\n };\n}\n\nfunction isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n}\n\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n\n if (thenableState$1 === null) {\n thenableState$1 = createThenableState();\n }\n\n return trackUsedThenable(thenableState$1, thenable, index);\n}\n\nfunction convertStringRefToCallbackRef(returnFiber, current, element, mixedRef) {\n var owner = element._owner;\n\n if (!owner) {\n if (typeof mixedRef !== 'string') {\n throw new Error('Expected ref to be a function, a string, an object returned by React.createRef(), or null.');\n }\n\n throw new Error(\"Element ref was specified as a string (\" + mixedRef + \") but no owner was set. This could happen for one of\" + ' the following reasons:\\n' + '1. You may be adding a ref to a function component\\n' + \"2. You may be adding a ref to a component that was not created inside a component's render method\\n\" + '3. You have multiple copies of React loaded\\n' + 'See https://reactjs.org/link/refs-must-have-owner for more information.');\n }\n\n if (owner.tag !== ClassComponent) {\n throw new Error('Function components cannot have string refs. ' + 'We recommend using useRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref');\n } // At this point, we know the ref isn't an object or function but it could\n // be a number. Coerce it to a string.\n\n\n {\n checkPropStringCoercion(mixedRef, 'ref');\n }\n\n var stringRef = '' + mixedRef;\n\n {\n if ( // Will already warn with \"Function components cannot be given refs\"\n !(typeof element.type === 'function' && !isReactClass(element.type))) {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". Support for string refs ' + 'will be removed in a future major release. We recommend using ' + 'useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, stringRef);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n\n var inst = owner.stateNode;\n\n if (!inst) {\n throw new Error(\"Missing owner for string ref \" + stringRef + \". This error is likely caused by a \" + 'bug in React. Please file an issue.');\n } // Check if previous string ref matches new string ref\n\n\n if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) {\n // Reuse the existing string ref\n var currentRef = current.ref;\n return currentRef;\n } // Create a new string ref\n\n\n var ref = function (value) {\n var refs = inst.refs;\n\n if (value === null) {\n delete refs[stringRef];\n } else {\n refs[stringRef] = value;\n }\n };\n\n ref._stringRef = stringRef;\n return ref;\n}\n\nfunction coerceRef(returnFiber, current, workInProgress, element) {\n var mixedRef;\n\n {\n // Old behavior.\n mixedRef = element.ref;\n }\n\n var coercedRef;\n\n if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') {\n // Assume this is a string ref. If it's not, then this will throw an error\n // to the user.\n coercedRef = convertStringRefToCallbackRef(returnFiber, current, element, mixedRef);\n } else {\n coercedRef = mixedRef;\n } // TODO: If enableRefAsProp is on, we shouldn't use the `ref` field. We\n // should always read the ref from the prop.\n\n\n workInProgress.ref = coercedRef;\n}\n\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n // $FlowFixMe[method-unbinding]\n var childString = Object.prototype.toString.call(newChild);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childString === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : childString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n}\n\nfunction warnOnFunctionType(returnFiber, invalidChild) {\n {\n var parentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasFunctionTypeWarning[parentName]) {\n return;\n }\n\n ownerHasFunctionTypeWarning[parentName] = true;\n var name = invalidChild.displayName || invalidChild.name || 'Component';\n\n if (returnFiber.tag === HostRoot) {\n error('Functions are not valid as a React child. This may happen if ' + 'you return %s instead of <%s /> from render. ' + 'Or maybe you meant to call this function rather than return it.\\n' + ' root.render(%s)', name, name, name);\n } else {\n error('Functions are not valid as a React child. This may happen if ' + 'you return %s instead of <%s /> from render. ' + 'Or maybe you meant to call this function rather than return it.\\n' + ' <%s>{%s}</%s>', name, name, parentName, name, parentName);\n }\n }\n}\n\nfunction warnOnSymbolType(returnFiber, invalidChild) {\n {\n var parentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasSymbolTypeWarning[parentName]) {\n return;\n }\n\n ownerHasSymbolTypeWarning[parentName] = true; // eslint-disable-next-line react-internal/safe-string-coercion\n\n var name = String(invalidChild);\n\n if (returnFiber.tag === HostRoot) {\n error('Symbols are not valid as a React child.\\n' + ' root.render(%s)', name);\n } else {\n error('Symbols are not valid as a React child.\\n' + ' <%s>%s</%s>', parentName, name, parentName);\n }\n }\n}\n\nfunction resolveLazy(lazyType) {\n var payload = lazyType._payload;\n var init = lazyType._init;\n return init(payload);\n} // This wrapper function exists because I expect to clone the code in each path\n// to be able to optimize each path individually by branching early. This needs\n// a compiler or we can do it manually. Helpers that don't need this branching\n// live outside of this function.\n\n\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return;\n }\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n }\n\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return null;\n } // TODO: For the shouldClone case, this could be micro-optimized a bit by\n // assuming that after the first child we've already added everything.\n\n\n var childToDelete = currentFirstChild;\n\n while (childToDelete !== null) {\n deleteChild(returnFiber, childToDelete);\n childToDelete = childToDelete.sibling;\n }\n\n return null;\n }\n\n function mapRemainingChildren(returnFiber, currentFirstChild) {\n // Add the remaining children to a temporary map so that we can find them by\n // keys quickly. Implicit (null) keys get added to this set with their index\n // instead.\n var existingChildren = new Map();\n var existingChild = currentFirstChild;\n\n while (existingChild !== null) {\n if (existingChild.key !== null) {\n existingChildren.set(existingChild.key, existingChild);\n } else {\n existingChildren.set(existingChild.index, existingChild);\n }\n\n existingChild = existingChild.sibling;\n }\n\n return existingChildren;\n }\n\n function useFiber(fiber, pendingProps) {\n // We currently set sibling to null and index to 0 here because it is easy\n // to forget to do before returning it. E.g. for the single child case.\n var clone = createWorkInProgress(fiber, pendingProps);\n clone.index = 0;\n clone.sibling = null;\n return clone;\n }\n\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n\n if (!shouldTrackSideEffects) {\n // During hydration, the useId algorithm needs to know which fibers are\n // part of a list of children (arrays, iterators).\n newFiber.flags |= Forked;\n return lastPlacedIndex;\n }\n\n var current = newFiber.alternate;\n\n if (current !== null) {\n var oldIndex = current.index;\n\n if (oldIndex < lastPlacedIndex) {\n // This is a move.\n newFiber.flags |= Placement | PlacementDEV;\n return lastPlacedIndex;\n } else {\n // This item can stay in place.\n return oldIndex;\n }\n } else {\n // This is an insertion.\n newFiber.flags |= Placement | PlacementDEV;\n return lastPlacedIndex;\n }\n }\n\n function placeSingleChild(newFiber) {\n // This is simpler for the single child case. We only need to do a\n // placement for inserting new children.\n if (shouldTrackSideEffects && newFiber.alternate === null) {\n newFiber.flags |= Placement | PlacementDEV;\n }\n\n return newFiber;\n }\n\n function updateTextNode(returnFiber, current, textContent, lanes, debugInfo) {\n if (current === null || current.tag !== HostText) {\n // Insert\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n\n {\n created._debugInfo = debugInfo;\n }\n\n return created;\n } else {\n // Update\n var existing = useFiber(current, textContent);\n existing.return = returnFiber;\n\n {\n existing._debugInfo = debugInfo;\n }\n\n return existing;\n }\n }\n\n function updateElement(returnFiber, current, element, lanes, debugInfo) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n return updateFragment(returnFiber, current, element.props.children, lanes, element.key, debugInfo);\n }\n\n if (current !== null) {\n if (current.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(current, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current.type) {\n // Move based on index\n var existing = useFiber(current, element.props);\n coerceRef(returnFiber, current, existing, element);\n existing.return = returnFiber;\n\n {\n existing._debugOwner = element._owner;\n existing._debugInfo = debugInfo;\n }\n\n return existing;\n }\n } // Insert\n\n\n var created = createFiberFromElement(element, returnFiber.mode, lanes);\n coerceRef(returnFiber, current, created, element);\n created.return = returnFiber;\n\n {\n created._debugInfo = debugInfo;\n }\n\n return created;\n }\n\n function updatePortal(returnFiber, current, portal, lanes, debugInfo) {\n if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) {\n // Insert\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n\n {\n created._debugInfo = debugInfo;\n }\n\n return created;\n } else {\n // Update\n var existing = useFiber(current, portal.children || []);\n existing.return = returnFiber;\n\n {\n existing._debugInfo = debugInfo;\n }\n\n return existing;\n }\n }\n\n function updateFragment(returnFiber, current, fragment, lanes, key, debugInfo) {\n if (current === null || current.tag !== Fragment) {\n // Insert\n var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);\n created.return = returnFiber;\n\n {\n created._debugInfo = debugInfo;\n }\n\n return created;\n } else {\n // Update\n var existing = useFiber(current, fragment);\n existing.return = returnFiber;\n\n {\n existing._debugInfo = debugInfo;\n }\n\n return existing;\n }\n }\n\n function createChild(returnFiber, newChild, lanes, debugInfo) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n var created = createFiberFromText('' + newChild, returnFiber.mode, lanes);\n created.return = returnFiber;\n\n {\n created._debugInfo = debugInfo;\n }\n\n return created;\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _created = createFiberFromElement(newChild, returnFiber.mode, lanes);\n\n coerceRef(returnFiber, null, _created, newChild);\n _created.return = returnFiber;\n\n {\n _created._debugInfo = mergeDebugInfo(debugInfo, newChild._debugInfo);\n }\n\n return _created;\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _created2 = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n\n _created2.return = returnFiber;\n\n {\n _created2._debugInfo = debugInfo;\n }\n\n return _created2;\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return createChild(returnFiber, init(payload), lanes, mergeDebugInfo(debugInfo, newChild._debugInfo) // call merge after init\n );\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _created3 = createFiberFromFragment(newChild, returnFiber.mode, lanes, null);\n\n _created3.return = returnFiber;\n\n {\n _created3._debugInfo = mergeDebugInfo(debugInfo, newChild._debugInfo);\n }\n\n return _created3;\n } // Usable node types\n //\n // Unwrap the inner value and recursively call this function again.\n\n\n if (typeof newChild.then === 'function') {\n var thenable = newChild;\n return createChild(returnFiber, unwrapThenable(thenable), lanes, mergeDebugInfo(debugInfo, newChild._debugInfo));\n }\n\n if (newChild.$$typeof === REACT_CONTEXT_TYPE) {\n var context = newChild;\n return createChild(returnFiber, readContextDuringReconcilation(returnFiber, context, lanes), lanes, debugInfo);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'symbol') {\n warnOnSymbolType(returnFiber, newChild);\n }\n }\n\n return null;\n }\n\n function updateSlot(returnFiber, oldFiber, newChild, lanes, debugInfo) {\n // Update the fiber if the keys match, otherwise return null.\n var key = oldFiber !== null ? oldFiber.key : null;\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n if (key !== null) {\n return null;\n }\n\n return updateTextNode(returnFiber, oldFiber, '' + newChild, lanes, debugInfo);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n if (newChild.key === key) {\n return updateElement(returnFiber, oldFiber, newChild, lanes, mergeDebugInfo(debugInfo, newChild._debugInfo));\n } else {\n return null;\n }\n }\n\n case REACT_PORTAL_TYPE:\n {\n if (newChild.key === key) {\n return updatePortal(returnFiber, oldFiber, newChild, lanes, debugInfo);\n } else {\n return null;\n }\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return updateSlot(returnFiber, oldFiber, init(payload), lanes, mergeDebugInfo(debugInfo, newChild._debugInfo));\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n if (key !== null) {\n return null;\n }\n\n return updateFragment(returnFiber, oldFiber, newChild, lanes, null, mergeDebugInfo(debugInfo, newChild._debugInfo));\n } // Usable node types\n //\n // Unwrap the inner value and recursively call this function again.\n\n\n if (typeof newChild.then === 'function') {\n var thenable = newChild;\n return updateSlot(returnFiber, oldFiber, unwrapThenable(thenable), lanes, debugInfo);\n }\n\n if (newChild.$$typeof === REACT_CONTEXT_TYPE) {\n var context = newChild;\n return updateSlot(returnFiber, oldFiber, readContextDuringReconcilation(returnFiber, context, lanes), lanes, debugInfo);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'symbol') {\n warnOnSymbolType(returnFiber, newChild);\n }\n }\n\n return null;\n }\n\n function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes, debugInfo) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys, so we neither have to check the old nor\n // new node for the key. If both are text nodes, they match.\n var matchedFiber = existingChildren.get(newIdx) || null;\n return updateTextNode(returnFiber, matchedFiber, '' + newChild, lanes, debugInfo);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updateElement(returnFiber, _matchedFiber, newChild, lanes, mergeDebugInfo(debugInfo, newChild._debugInfo));\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updatePortal(returnFiber, _matchedFiber2, newChild, lanes, debugInfo);\n }\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init;\n return updateFromMap(existingChildren, returnFiber, newIdx, init(payload), lanes, mergeDebugInfo(debugInfo, newChild._debugInfo));\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _matchedFiber3 = existingChildren.get(newIdx) || null;\n\n return updateFragment(returnFiber, _matchedFiber3, newChild, lanes, null, mergeDebugInfo(debugInfo, newChild._debugInfo));\n } // Usable node types\n //\n // Unwrap the inner value and recursively call this function again.\n\n\n if (typeof newChild.then === 'function') {\n var thenable = newChild;\n return updateFromMap(existingChildren, returnFiber, newIdx, unwrapThenable(thenable), lanes, debugInfo);\n }\n\n if (newChild.$$typeof === REACT_CONTEXT_TYPE) {\n var context = newChild;\n return updateFromMap(existingChildren, returnFiber, newIdx, readContextDuringReconcilation(returnFiber, context, lanes), lanes, debugInfo);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'symbol') {\n warnOnSymbolType(returnFiber, newChild);\n }\n }\n\n return null;\n }\n /**\n * Warns if there is a duplicate or missing key\n */\n\n\n function warnOnInvalidKey(child, knownKeys, returnFiber) {\n {\n if (typeof child !== 'object' || child === null) {\n return knownKeys;\n }\n\n switch (child.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n warnForMissingKey(child, returnFiber);\n var key = child.key;\n\n if (typeof key !== 'string') {\n break;\n }\n\n if (knownKeys === null) {\n knownKeys = new Set();\n knownKeys.add(key);\n break;\n }\n\n if (!knownKeys.has(key)) {\n knownKeys.add(key);\n break;\n }\n\n error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key);\n\n break;\n\n case REACT_LAZY_TYPE:\n var payload = child._payload;\n var init = child._init;\n warnOnInvalidKey(init(payload), knownKeys, returnFiber);\n break;\n }\n }\n\n return knownKeys;\n }\n\n function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes, debugInfo) {\n // This algorithm can't optimize by searching from both ends since we\n // don't have backpointers on fibers. I'm trying to see how far we can get\n // with that model. If it ends up not being worth the tradeoffs, we can\n // add it later.\n // Even with a two ended optimization, we'd want to optimize for the case\n // where there are few changes and brute force the comparison instead of\n // going for the Map. It'd like to explore hitting that path first in\n // forward-only mode and only go for the Map once we notice that we need\n // lots of look ahead. This doesn't handle reversal as well as two ended\n // search but that's unusual. Besides, for the two ended optimization to\n // work on Iterables, we'd need to copy the whole set.\n // In this first iteration, we'll just live with hitting the bad case\n // (adding everything to a Map) in for every insert/move.\n // If you change this code, also update reconcileChildrenIterator() which\n // uses the same algorithm.\n {\n // First, validate keys.\n var knownKeys = null;\n\n for (var i = 0; i < newChildren.length; i++) {\n var child = newChildren[i];\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n\n for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes, debugInfo);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (newIdx === newChildren.length) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber = createChild(returnFiber, newChildren[newIdx], lanes, debugInfo);\n\n if (_newFiber === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber;\n } else {\n previousNewFiber.sibling = _newFiber;\n }\n\n previousNewFiber = _newFiber;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks = newIdx;\n pushTreeFork(returnFiber, _numberOfForks);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], lanes, debugInfo);\n\n if (_newFiber2 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber2.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber2;\n } else {\n previousNewFiber.sibling = _newFiber2;\n }\n\n previousNewFiber = _newFiber2;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks2 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks2);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, lanes, debugInfo) {\n // This is the same implementation as reconcileChildrenArray(),\n // but using the iterator instead.\n var iteratorFn = getIteratorFn(newChildrenIterable);\n\n if (typeof iteratorFn !== 'function') {\n throw new Error('An object is not an iterable. This error is likely caused by a bug in ' + 'React. Please file an issue.');\n }\n\n {\n // We don't support rendering Generators because it's a mutation.\n // See https://github.com/facebook/react/issues/12995\n if (typeof Symbol === 'function' && // $FlowFixMe[prop-missing] Flow doesn't know about toStringTag\n newChildrenIterable[Symbol.toStringTag] === 'Generator') {\n if (!didWarnAboutGenerators) {\n error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');\n }\n\n didWarnAboutGenerators = true;\n } // Warn about using Maps as children\n\n\n if (newChildrenIterable.entries === iteratorFn) {\n if (!didWarnAboutMaps) {\n error('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n } // First, validate keys.\n // We'll get a different iterator later for the main pass.\n\n\n var _newChildren = iteratorFn.call(newChildrenIterable);\n\n if (_newChildren) {\n var knownKeys = null;\n\n var _step = _newChildren.next();\n\n for (; !_step.done; _step = _newChildren.next()) {\n var child = _step.value;\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n }\n\n var newChildren = iteratorFn.call(newChildrenIterable);\n\n if (newChildren == null) {\n throw new Error('An iterable object provided no iterator.');\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n var step = newChildren.next();\n\n for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes, debugInfo);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (step.done) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber3 = createChild(returnFiber, step.value, lanes, debugInfo);\n\n if (_newFiber3 === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber3;\n } else {\n previousNewFiber.sibling = _newFiber3;\n }\n\n previousNewFiber = _newFiber3;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks3 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks3);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, lanes, debugInfo);\n\n if (_newFiber4 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber4.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber4;\n } else {\n previousNewFiber.sibling = _newFiber4;\n }\n\n previousNewFiber = _newFiber4;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks4 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks4);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, lanes) {\n // There's no need to check for keys on text nodes since we don't have a\n // way to define them.\n if (currentFirstChild !== null && currentFirstChild.tag === HostText) {\n // We already have an existing node so let's just update it and delete\n // the rest.\n deleteRemainingChildren(returnFiber, currentFirstChild.sibling);\n var existing = useFiber(currentFirstChild, textContent);\n existing.return = returnFiber;\n return existing;\n } // The existing first child is not a text node so we need to create one\n // and delete the existing ones.\n\n\n deleteRemainingChildren(returnFiber, currentFirstChild);\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n function reconcileSingleElement(returnFiber, currentFirstChild, element, lanes, debugInfo) {\n var key = element.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n if (child.tag === Fragment) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, element.props.children);\n existing.return = returnFiber;\n\n {\n existing._debugOwner = element._owner;\n existing._debugInfo = debugInfo;\n }\n\n return existing;\n }\n } else {\n if (child.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(child, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === child.type) {\n deleteRemainingChildren(returnFiber, child.sibling);\n\n var _existing = useFiber(child, element.props);\n\n coerceRef(returnFiber, child, _existing, element);\n _existing.return = returnFiber;\n\n {\n _existing._debugOwner = element._owner;\n _existing._debugInfo = debugInfo;\n }\n\n return _existing;\n }\n } // Didn't match.\n\n\n deleteRemainingChildren(returnFiber, child);\n break;\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n if (element.type === REACT_FRAGMENT_TYPE) {\n var created = createFiberFromFragment(element.props.children, returnFiber.mode, lanes, element.key);\n created.return = returnFiber;\n\n {\n created._debugInfo = debugInfo;\n }\n\n return created;\n } else {\n var _created4 = createFiberFromElement(element, returnFiber.mode, lanes);\n\n coerceRef(returnFiber, currentFirstChild, _created4, element);\n _created4.return = returnFiber;\n\n {\n _created4._debugInfo = debugInfo;\n }\n\n return _created4;\n }\n }\n\n function reconcileSinglePortal(returnFiber, currentFirstChild, portal, lanes, debugInfo) {\n var key = portal.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, portal.children || []);\n existing.return = returnFiber;\n return existing;\n } else {\n deleteRemainingChildren(returnFiber, child);\n break;\n }\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } // This API will tag the children with the side-effect of the reconciliation\n // itself. They will be added to the side-effect list as we pass through the\n // children and the parent.\n\n\n function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes, debugInfo) {\n // This function is not recursive.\n // If the top level item is an array, we treat it as a set of children,\n // not as a fragment. Nested arrays on the other hand will be treated as\n // fragment nodes. Recursion happens at the normal flow.\n // Handle top level unkeyed fragments as if they were arrays.\n // This leads to an ambiguity between <>{[...]}</> and <>...</>.\n // We treat the ambiguous cases above the same.\n // TODO: Let's use recursion like we do for Usable nodes?\n var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null;\n\n if (isUnkeyedTopLevelFragment) {\n newChild = newChild.props.children;\n } // Handle object types\n\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, lanes, mergeDebugInfo(debugInfo, newChild._debugInfo)));\n\n case REACT_PORTAL_TYPE:\n return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init;\n return reconcileChildFibersImpl(returnFiber, currentFirstChild, init(payload), lanes, mergeDebugInfo(debugInfo, newChild._debugInfo));\n }\n\n if (isArray(newChild)) {\n return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes, mergeDebugInfo(debugInfo, newChild._debugInfo));\n }\n\n if (getIteratorFn(newChild)) {\n return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, lanes, mergeDebugInfo(debugInfo, newChild._debugInfo));\n } // Usables are a valid React node type. When React encounters a Usable in\n // a child position, it unwraps it using the same algorithm as `use`. For\n // example, for promises, React will throw an exception to unwind the\n // stack, then replay the component once the promise resolves.\n //\n // A difference from `use` is that React will keep unwrapping the value\n // until it reaches a non-Usable type.\n //\n // e.g. Usable<Usable<Usable<T>>> should resolve to T\n //\n // The structure is a bit unfortunate. Ideally, we shouldn't need to\n // replay the entire begin phase of the parent fiber in order to reconcile\n // the children again. This would require a somewhat significant refactor,\n // because reconcilation happens deep within the begin phase, and\n // depending on the type of work, not always at the end. We should\n // consider as an future improvement.\n\n\n if (typeof newChild.then === 'function') {\n var thenable = newChild;\n return reconcileChildFibersImpl(returnFiber, currentFirstChild, unwrapThenable(thenable), lanes, mergeDebugInfo(debugInfo, thenable._debugInfo));\n }\n\n if (newChild.$$typeof === REACT_CONTEXT_TYPE) {\n var context = newChild;\n return reconcileChildFibersImpl(returnFiber, currentFirstChild, readContextDuringReconcilation(returnFiber, context, lanes), lanes, debugInfo);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, lanes));\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'symbol') {\n warnOnSymbolType(returnFiber, newChild);\n }\n } // Remaining cases are all treated as empty.\n\n\n return deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n\n function reconcileChildFibers(returnFiber, currentFirstChild, newChild, lanes) {\n // This indirection only exists so we can reset `thenableState` at the end.\n // It should get inlined by Closure.\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes, null // debugInfo\n );\n thenableState$1 = null; // Don't bother to reset `thenableIndexCounter` to 0 because it always gets\n // set at the beginning.\n\n return firstChildFiber;\n }\n\n return reconcileChildFibers;\n}\n\nvar reconcileChildFibers = createChildReconciler(true);\nvar mountChildFibers = createChildReconciler(false);\nfunction resetChildReconcilerOnUnwind() {\n // On unwind, clear any pending thenables that were used.\n thenableState$1 = null;\n thenableIndexCounter$1 = 0;\n}\nfunction cloneChildFibers(current, workInProgress) {\n if (current !== null && workInProgress.child !== current.child) {\n throw new Error('Resuming work not yet implemented.');\n }\n\n if (workInProgress.child === null) {\n return;\n }\n\n var currentChild = workInProgress.child;\n var newChild = createWorkInProgress(currentChild, currentChild.pendingProps);\n workInProgress.child = newChild;\n newChild.return = workInProgress;\n\n while (currentChild.sibling !== null) {\n currentChild = currentChild.sibling;\n newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps);\n newChild.return = workInProgress;\n }\n\n newChild.sibling = null;\n} // Reset a workInProgress child set to prepare it for a second pass.\n\nfunction resetChildFibers(workInProgress, lanes) {\n var child = workInProgress.child;\n\n while (child !== null) {\n resetWorkInProgress(child, lanes);\n child = child.sibling;\n }\n}\n\n// TODO: This isn't being used yet, but it's intended to replace the\n// InvisibleParentContext that is currently managed by SuspenseContext.\n\nvar currentTreeHiddenStackCursor = createCursor(null);\nvar prevEntangledRenderLanesCursor = createCursor(NoLanes);\nfunction pushHiddenContext(fiber, context) {\n var prevEntangledRenderLanes = getEntangledRenderLanes();\n push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber);\n push(currentTreeHiddenStackCursor, context, fiber); // When rendering a subtree that's currently hidden, we must include all\n // lanes that would have rendered if the hidden subtree hadn't been deferred.\n // That is, in order to reveal content from hidden -> visible, we must commit\n // all the updates that we skipped when we originally hid the tree.\n\n setEntangledRenderLanes(mergeLanes(prevEntangledRenderLanes, context.baseLanes));\n}\nfunction reuseHiddenContextOnStack(fiber) {\n // This subtree is not currently hidden, so we don't need to add any lanes\n // to the render lanes. But we still need to push something to avoid a\n // context mismatch. Reuse the existing context on the stack.\n push(prevEntangledRenderLanesCursor, getEntangledRenderLanes(), fiber);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current, fiber);\n}\nfunction popHiddenContext(fiber) {\n // Restore the previous render lanes from the stack\n setEntangledRenderLanes(prevEntangledRenderLanesCursor.current);\n pop(currentTreeHiddenStackCursor, fiber);\n pop(prevEntangledRenderLanesCursor, fiber);\n}\nfunction isCurrentTreeHidden() {\n return currentTreeHiddenStackCursor.current !== null;\n}\n\n// suspends, i.e. it's the nearest `catch` block on the stack.\n\nvar suspenseHandlerStackCursor = createCursor(null); // Represents the outermost boundary that is not visible in the current tree.\n// Everything above this is the \"shell\". When this is null, it means we're\n// rendering in the shell of the app. If it's non-null, it means we're rendering\n// deeper than the shell, inside a new tree that wasn't already visible.\n//\n// The main way we use this concept is to determine whether showing a fallback\n// would result in a desirable or undesirable loading state. Activing a fallback\n// in the shell is considered an undersirable loading state, because it would\n// mean hiding visible (albeit stale) content in the current tree — we prefer to\n// show the stale content, rather than switch to a fallback. But showing a\n// fallback in a new tree is fine, because there's no stale content to\n// prefer instead.\n\nvar shellBoundary = null;\nfunction getShellBoundary() {\n return shellBoundary;\n}\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n // TODO: Pass as argument\n var current = handler.alternate;\n // propagated a single level. For example, when ForceSuspenseFallback is set,\n // it should only force the nearest Suspense boundary into fallback mode.\n\n pushSuspenseListContext(handler, setDefaultShallowSuspenseListContext(suspenseStackCursor.current)); // Experimental feature: Some Suspense boundaries are marked as having an\n // to push a nested Suspense handler, because it will get replaced by the\n // outer fallback, anyway. Consider this as a future optimization.\n\n\n push(suspenseHandlerStackCursor, handler, handler);\n\n if (shellBoundary === null) {\n if (current === null || isCurrentTreeHidden()) {\n // This boundary is not visible in the current UI.\n shellBoundary = handler;\n } else {\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n // This boundary is showing a fallback in the current UI.\n shellBoundary = handler;\n }\n }\n }\n}\nfunction pushFallbackTreeSuspenseHandler(fiber) {\n // We're about to render the fallback. If something in the fallback suspends,\n // it's akin to throwing inside of a `catch` block. This boundary should not\n // capture. Reuse the existing handler on the stack.\n reuseSuspenseHandlerOnStack(fiber);\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n if (fiber.tag === OffscreenComponent) {\n // A SuspenseList context is only pushed here to avoid a push/pop mismatch.\n // Reuse the current value on the stack.\n // TODO: We can avoid needing to push here by by forking popSuspenseHandler\n // into separate functions for Suspense and Offscreen.\n pushSuspenseListContext(fiber, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, fiber, fiber);\n\n if (shellBoundary !== null) ; else {\n var current = fiber.alternate;\n\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n // This is the first boundary in the stack that's already showing\n // a fallback. So everything outside is considered the shell.\n shellBoundary = fiber;\n }\n }\n }\n } else {\n // This is a LegacyHidden component.\n reuseSuspenseHandlerOnStack(fiber);\n }\n}\nfunction reuseSuspenseHandlerOnStack(fiber) {\n pushSuspenseListContext(fiber, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, getSuspenseHandler(), fiber);\n}\nfunction getSuspenseHandler() {\n return suspenseHandlerStackCursor.current;\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor, fiber);\n\n if (shellBoundary === fiber) {\n // Popping back into the shell.\n shellBoundary = null;\n }\n\n popSuspenseListContext(fiber);\n} // SuspenseList context\n// TODO: Move to a separate module? We may change the SuspenseList\n// implementation to hide/show in the commit phase, anyway.\n\nvar DefaultSuspenseContext = 0;\nvar SubtreeSuspenseContextMask = 1; // ForceSuspenseFallback can be used by SuspenseList to force newly added\n// items into their fallback state during one of the render passes.\n\nvar ForceSuspenseFallback = 2;\nvar suspenseStackCursor = createCursor(DefaultSuspenseContext);\nfunction hasSuspenseListContext(parentContext, flag) {\n return (parentContext & flag) !== 0;\n}\nfunction setDefaultShallowSuspenseListContext(parentContext) {\n return parentContext & SubtreeSuspenseContextMask;\n}\nfunction setShallowSuspenseListContext(parentContext, shallowContext) {\n return parentContext & SubtreeSuspenseContextMask | shallowContext;\n}\nfunction pushSuspenseListContext(fiber, newContext) {\n push(suspenseStackCursor, newContext, fiber);\n}\nfunction popSuspenseListContext(fiber) {\n pop(suspenseStackCursor, fiber);\n}\n\n// A non-null SuspenseState means that it is blocked for one reason or another.\n// - A non-null dehydrated field means it's blocked pending hydration.\n// - A non-null dehydrated field can use isSuspenseInstancePending or\n// isSuspenseInstanceFallback to query the reason for being dehydrated.\n// - A null dehydrated field means it's blocked by something suspending and\n// we're currently showing a fallback instead.\n\nfunction findFirstSuspended(row) {\n var node = row;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n var dehydrated = state.dehydrated;\n\n if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) {\n return node;\n }\n }\n } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't\n // keep track of whether it suspended or not.\n node.memoizedProps.revealOrder !== undefined) {\n var didSuspend = (node.flags & DidCapture) !== NoFlags$1;\n\n if (didSuspend) {\n return node;\n }\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === row) {\n return null;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === row) {\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n\n return null;\n}\n\nvar NoFlags =\n/* */\n0; // Represents whether effect should fire.\n\nvar HasEffect =\n/* */\n1; // Represents the phase in which the effect (not the clean-up) fires.\n\nvar Insertion =\n/* */\n2;\nvar Layout =\n/* */\n4;\nvar Passive =\n/* */\n8;\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentBatchConfig$3 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar didWarnAboutMismatchedHooksForComponent;\nvar didWarnUncachedGetSnapshot;\nvar didWarnAboutUseWrappedInTryCatch;\nvar didWarnAboutAsyncClientComponent;\n\n{\n didWarnAboutMismatchedHooksForComponent = new Set();\n didWarnAboutUseWrappedInTryCatch = new Set();\n didWarnAboutAsyncClientComponent = new Set();\n} // The effect \"instance\" is a shared object that remains the same for the entire\n// lifetime of an effect. In Rust terms, a RefCell. We use it to store the\n// \"destroy\" function that is returned from an effect, because that is stateful.\n// The field is `undefined` if the effect is unmounted, or if the effect ran\n// but is not stateful. We don't explicitly track whether the effect is mounted\n// or unmounted because that can be inferred by the hiddenness of the fiber in\n// the tree, i.e. whether there is a hidden Offscreen fiber above it.\n//\n// It's unfortunate that this is stored on a separate object, because it adds\n// more memory per effect instance, but it's conceptually sound. I think there's\n// likely a better data structure we could use for effects; perhaps just one\n// array of effect instances per fiber. But I think this is OK for now despite\n// the additional memory and we can follow up with performance\n// optimizations later.\n// These are set right before calling the component.\n\n\nvar renderLanes = NoLanes; // The work-in-progress fiber. I've named it differently to distinguish it from\n// the work-in-progress hook.\n\nvar currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The\n// current hook list is the list that belongs to the current fiber. The\n// work-in-progress hook list is a new list that will be added to the\n// work-in-progress fiber.\n\nvar currentHook = null;\nvar workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This\n// does not get reset if we do another render pass; only when we're completely\n// finished evaluating this component. This is an optimization so we know\n// whether we need to clear render phase updates after a throw.\n\nvar didScheduleRenderPhaseUpdate = false; // Where an update was scheduled only during the current render pass. This\n// gets reset after each attempt.\n// TODO: Maybe there's some way to consolidate this with\n// `didScheduleRenderPhaseUpdate`. Or with `numberOfReRenders`.\n\nvar didScheduleRenderPhaseUpdateDuringThisPass = false;\nvar shouldDoubleInvokeUserFnsInHooksDEV = false; // Counts the number of useId hooks in this component.\n\nvar localIdCounter = 0; // Counts number of `use`-d thenables\n\nvar thenableIndexCounter = 0;\nvar thenableState = null; // Used for ids that are generated completely client-side (i.e. not during\n// hydration). This counter is global, so client ids are not stable across\n// render attempts.\n\nvar globalClientIdCounter = 0;\nvar RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook\n\nvar currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders.\n// The list stores the order of hooks used during the initial render (mount).\n// Subsequent renders (updates) reference this list.\n\nvar hookTypesDev = null;\nvar hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore\n// the dependencies for Hooks that need them (e.g. useEffect or useMemo).\n// When true, such Hooks will always be \"remounted\". Only used during hot reload.\n\nvar ignorePreviousDependencies = false;\n\nfunction mountHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev === null) {\n hookTypesDev = [hookName];\n } else {\n hookTypesDev.push(hookName);\n }\n }\n}\n\nfunction updateHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev !== null) {\n hookTypesUpdateIndexDev++;\n\n if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {\n warnOnHookMismatchInDev(hookName);\n }\n }\n }\n}\n\nfunction checkDepsAreArrayDev(deps) {\n {\n if (deps !== undefined && deps !== null && !isArray(deps)) {\n // Verify deps, but only on mount to avoid extra checks.\n // It's unlikely their type would change as usually you define them inline.\n error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps);\n }\n }\n}\n\nfunction warnOnHookMismatchInDev(currentHookName) {\n {\n var componentName = getComponentNameFromFiber(currentlyRenderingFiber$1);\n\n if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {\n didWarnAboutMismatchedHooksForComponent.add(componentName);\n\n if (hookTypesDev !== null) {\n var table = '';\n var secondColumnStart = 30;\n\n for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {\n var oldHookName = hookTypesDev[i];\n var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;\n var row = i + 1 + \". \" + oldHookName; // Extra space so second column lines up\n // lol @ IE not supporting String#repeat\n\n while (row.length < secondColumnStart) {\n row += ' ';\n }\n\n row += newHookName + '\\n';\n table += row;\n }\n\n error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks\\n\\n' + ' Previous render Next render\\n' + ' ------------------------------------------------------\\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', componentName, table);\n }\n }\n }\n}\n\nfunction warnIfAsyncClientComponent(Component) {\n {\n // This dev-only check only works for detecting native async functions,\n // not transpiled ones. There's also a prod check that we use to prevent\n // async client components from crashing the app; the prod one works even\n // for transpiled async functions. Neither mechanism is completely\n // bulletproof but together they cover the most common cases.\n var isAsyncFunction = // $FlowIgnore[method-unbinding]\n Object.prototype.toString.call(Component) === '[object AsyncFunction]';\n\n if (isAsyncFunction) {\n // Encountered an async Client Component. This is not yet supported.\n var componentName = getComponentNameFromFiber(currentlyRenderingFiber$1);\n\n if (!didWarnAboutAsyncClientComponent.has(componentName)) {\n didWarnAboutAsyncClientComponent.add(componentName);\n\n error('async/await is not yet supported in Client Components, only ' + 'Server Components. This error is often caused by accidentally ' + \"adding `'use client'` to a module that was originally written \" + 'for the server.');\n }\n }\n }\n}\n\nfunction throwInvalidHookError() {\n throw new Error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n}\n\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n {\n if (ignorePreviousDependencies) {\n // Only true when this component is being hot reloaded.\n return false;\n }\n }\n\n if (prevDeps === null) {\n {\n error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);\n }\n\n return false;\n }\n\n {\n // Don't bother comparing lengths in prod because these arrays should be\n // passed inline.\n if (nextDeps.length !== prevDeps.length) {\n error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\\n\\n' + 'Previous: %s\\n' + 'Incoming: %s', currentHookNameInDev, \"[\" + prevDeps.join(', ') + \"]\", \"[\" + nextDeps.join(', ') + \"]\");\n }\n } // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n if (objectIs(nextDeps[i], prevDeps[i])) {\n continue;\n }\n\n return false;\n }\n\n return true;\n}\n\nfunction renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderLanes) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n\n {\n hookTypesDev = current !== null ? current._debugHookTypes : null;\n hookTypesUpdateIndexDev = -1; // Used for hot reloading:\n\n ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;\n warnIfAsyncClientComponent(Component);\n }\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = NoLanes; // The following should have already been reset\n // currentHook = null;\n // workInProgressHook = null;\n // didScheduleRenderPhaseUpdate = false;\n // localIdCounter = 0;\n // thenableIndexCounter = 0;\n // thenableState = null;\n // TODO Warn if no hooks are used at all during mount, then some are used during update.\n // Currently we will identify the update render as a mount because memoizedState === null.\n // This is tricky because it's valid for certain types of components (e.g. React.lazy)\n // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used.\n // Non-stateful hooks (e.g. context) don't get added to memoizedState,\n // so memoizedState would be null during updates and mounts.\n\n {\n if (current !== null && current.memoizedState !== null) {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV;\n } else if (hookTypesDev !== null) {\n // This dispatcher handles an edge case where a component is updating,\n // but no stateful hooks have been used.\n // We want to match the production code behavior (which will use HooksDispatcherOnMount),\n // but with the extra DEV validation to ensure hooks ordering hasn't changed.\n // This dispatcher does that.\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountWithHookTypesInDEV;\n } else {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV;\n }\n } // In Strict Mode, during development, user functions are double invoked to\n // help detect side effects. The logic for how this is implemented for in\n // hook components is a bit complex so let's break it down.\n //\n // We will invoke the entire component function twice. However, during the\n // second invocation of the component, the hook state from the first\n // invocation will be reused. That means things like `useMemo` functions won't\n // run again, because the deps will match and the memoized result will\n // be reused.\n //\n // We want memoized functions to run twice, too, so account for this, user\n // functions are double invoked during the *first* invocation of the component\n // function, and are *not* double invoked during the second incovation:\n //\n // - First execution of component function: user functions are double invoked\n // - Second execution of component function (in Strict Mode, during\n // development): user functions are not double invoked.\n //\n // This is intentional for a few reasons; most importantly, it's because of\n // how `use` works when something suspends: it reuses the promise that was\n // passed during the first attempt. This is itself a form of memoization.\n // We need to be able to memoize the reactive inputs to the `use` call using\n // a hook (i.e. `useMemo`), which means, the reactive inputs to `use` must\n // come from the same component invocation as the output.\n //\n // There are plenty of tests to ensure this behavior is correct.\n\n\n var shouldDoubleRenderDEV = (workInProgress.mode & StrictLegacyMode) !== NoMode;\n shouldDoubleInvokeUserFnsInHooksDEV = shouldDoubleRenderDEV;\n var children = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = false; // Check if there was a render phase update\n\n if (didScheduleRenderPhaseUpdateDuringThisPass) {\n // Keep rendering until the component stabilizes (there are no more render\n // phase updates).\n children = renderWithHooksAgain(workInProgress, Component, props, secondArg);\n }\n\n if (shouldDoubleRenderDEV) {\n // In development, components are invoked twice to help detect side effects.\n setIsStrictModeForDevtools(true);\n\n try {\n children = renderWithHooksAgain(workInProgress, Component, props, secondArg);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n finishRenderingHooks(current, workInProgress);\n return children;\n}\n\nfunction finishRenderingHooks(current, workInProgress, Component) {\n {\n workInProgress._debugHookTypes = hookTypesDev;\n } // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n\n\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher; // This check uses currentHook so that it works the same in DEV and prod bundles.\n // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.\n\n var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n currentHookNameInDev = null;\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1; // Confirm that a static flag was not added or removed since the last\n // render. If this fires, it suggests that we incorrectly reset the static\n // flags in some other part of the codebase. This has happened before, for\n // example, in the SuspenseList implementation.\n\n if (current !== null && (current.flags & StaticMask) !== (workInProgress.flags & StaticMask) && // Disable this warning in legacy mode, because legacy Suspense is weird\n // and creates false positives. To make this work in legacy mode, we'd\n // need to mark fibers that commit in an incomplete state, somehow. For\n // now I'll disable the warning that most of the bugs that would trigger\n // it are either exclusive to concurrent mode or exist in both.\n (current.mode & ConcurrentMode) !== NoMode) {\n error('Internal React error: Expected static flag was missing. Please ' + 'notify the React team.');\n }\n }\n\n didScheduleRenderPhaseUpdate = false; // This is reset by checkDidRenderIdHook\n // localIdCounter = 0;\n\n thenableIndexCounter = 0;\n thenableState = null;\n\n if (didRenderTooFewHooks) {\n throw new Error('Rendered fewer hooks than expected. This may be caused by an accidental ' + 'early return statement.');\n }\n\n {\n if (checkIfUseWrappedInTryCatch()) {\n var componentName = getComponentNameFromFiber(workInProgress) || 'Unknown';\n\n if (!didWarnAboutUseWrappedInTryCatch.has(componentName) && // This warning also fires if you suspend with `use` inside an\n // async component. Since we warn for that above, we'll silence this\n // second warning by checking here.\n !didWarnAboutAsyncClientComponent.has(componentName)) {\n didWarnAboutUseWrappedInTryCatch.add(componentName);\n\n error('`use` was called from inside a try/catch block. This is not allowed ' + 'and can lead to unexpected behavior. To handle errors triggered ' + 'by `use`, wrap your component in a error boundary.');\n }\n }\n }\n}\n\nfunction replaySuspendedComponentWithHooks(current, workInProgress, Component, props, secondArg) {\n // This function is used to replay a component that previously suspended,\n // after its data resolves.\n //\n // It's a simplified version of renderWithHooks, but it doesn't need to do\n // most of the set up work because they weren't reset when we suspended; they\n // only get reset when the component either completes (finishRenderingHooks)\n // or unwinds (resetHooksOnUnwind).\n {\n hookTypesUpdateIndexDev = -1; // Used for hot reloading:\n\n ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;\n }\n\n var children = renderWithHooksAgain(workInProgress, Component, props, secondArg);\n finishRenderingHooks(current, workInProgress);\n return children;\n}\n\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n // This is used to perform another render pass. It's used when setState is\n // called during render, and for double invoking components in Strict Mode\n // during development.\n //\n // The state from the previous pass is reused whenever possible. So, state\n // updates that were already processed are not processed again, and memoized\n // functions (`useMemo`) are not invoked again.\n //\n // Keep rendering in a loop for as long as render phase updates continue to\n // be scheduled. Use a counter to prevent infinite loops.\n currentlyRenderingFiber$1 = workInProgress;\n var numberOfReRenders = 0;\n var children;\n\n do {\n if (didScheduleRenderPhaseUpdateDuringThisPass) {\n // It's possible that a use() value depended on a state that was updated in\n // this rerender, so we need to watch for different thenables this time.\n thenableState = null;\n }\n\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n\n if (numberOfReRenders >= RE_RENDER_LIMIT) {\n throw new Error('Too many re-renders. React limits the number of renders to prevent ' + 'an infinite loop.');\n }\n\n numberOfReRenders += 1;\n\n {\n // Even when hot reloading, allow dependencies to stabilize\n // after first render to prevent infinite render phase updates.\n ignorePreviousDependencies = false;\n } // Start over from the beginning of the list\n\n\n currentHook = null;\n workInProgressHook = null;\n workInProgress.updateQueue = null;\n\n {\n // Also validate hook order for cascading updates.\n hookTypesUpdateIndexDev = -1;\n }\n\n ReactCurrentDispatcher$1.current = HooksDispatcherOnRerenderInDEV ;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n\n return children;\n}\n\nfunction renderTransitionAwareHostComponentWithHooks(current, workInProgress, lanes) {\n\n return renderWithHooks(current, workInProgress, TransitionAwareHostComponent, null, null, lanes);\n}\nfunction TransitionAwareHostComponent() {\n\n var dispatcher = ReactCurrentDispatcher$1.current;\n\n var _dispatcher$useState = dispatcher.useState(),\n maybeThenable = _dispatcher$useState[0];\n\n if (typeof maybeThenable.then === 'function') {\n var thenable = maybeThenable;\n return useThenable(thenable);\n } else {\n var status = maybeThenable;\n return status;\n }\n}\nfunction checkDidRenderIdHook() {\n // This should be called immediately after every renderWithHooks call.\n // Conceptually, it's part of the return value of renderWithHooks; it's only a\n // separate function to avoid using an array tuple.\n var didRenderIdHook = localIdCounter !== 0;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the\n // complete phase (bubbleProperties).\n\n if ((workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags &= ~(MountPassiveDev | MountLayoutDev | Passive$1 | Update);\n } else {\n workInProgress.flags &= ~(Passive$1 | Update);\n }\n\n current.lanes = removeLanes(current.lanes, lanes);\n}\nfunction resetHooksAfterThrow() {\n // This is called immediaetly after a throw. It shouldn't reset the entire\n // module state, because the work loop might decide to replay the component\n // again without rewinding.\n //\n // It should only reset things like the current dispatcher, to prevent hooks\n // from being called outside of a component.\n currentlyRenderingFiber$1 = null; // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n // There were render phase updates. These are only valid for this render\n // phase, which we are now aborting. Remove the updates from the queues so\n // they do not persist to the next render. Do not remove updates from hooks\n // that weren't processed.\n //\n // Only reset the updates from the queue if it has a clone. If it does\n // not have a clone, that means it wasn't processed, and the updates were\n // scheduled before we entered the render phase.\n var hook = workInProgress.memoizedState;\n\n while (hook !== null) {\n var queue = hook.queue;\n\n if (queue !== null) {\n queue.pending = null;\n }\n\n hook = hook.next;\n }\n\n didScheduleRenderPhaseUpdate = false;\n }\n\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1;\n currentHookNameInDev = null;\n }\n\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n thenableIndexCounter = 0;\n thenableState = null;\n}\n\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook;\n } else {\n // Append to the end of the list\n workInProgressHook = workInProgressHook.next = hook;\n }\n\n return workInProgressHook;\n}\n\nfunction updateWorkInProgressHook() {\n // This function is used both for updates and for re-renders triggered by a\n // render phase update. It assumes there is either a current hook we can\n // clone, or a work-in-progress hook from a previous render pass that we can\n // use as a base.\n var nextCurrentHook;\n\n if (currentHook === null) {\n var current = currentlyRenderingFiber$1.alternate;\n\n if (current !== null) {\n nextCurrentHook = current.memoizedState;\n } else {\n nextCurrentHook = null;\n }\n } else {\n nextCurrentHook = currentHook.next;\n }\n\n var nextWorkInProgressHook;\n\n if (workInProgressHook === null) {\n nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState;\n } else {\n nextWorkInProgressHook = workInProgressHook.next;\n }\n\n if (nextWorkInProgressHook !== null) {\n // There's already a work-in-progress. Reuse it.\n workInProgressHook = nextWorkInProgressHook;\n nextWorkInProgressHook = workInProgressHook.next;\n currentHook = nextCurrentHook;\n } else {\n // Clone from the current hook.\n if (nextCurrentHook === null) {\n var currentFiber = currentlyRenderingFiber$1.alternate;\n\n if (currentFiber === null) {\n // This is the initial render. This branch is reached when the component\n // suspends, resumes, then renders an additional hook.\n // Should never be reached because we should switch to the mount dispatcher first.\n throw new Error('Update hook called on initial render. This is likely a bug in React. Please file an issue.');\n } else {\n // This is an update. We should always have a current hook.\n throw new Error('Rendered more hooks than during the previous render.');\n }\n }\n\n currentHook = nextCurrentHook;\n var newHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list.\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook;\n } else {\n // Append to the end of the list.\n workInProgressHook = workInProgressHook.next = newHook;\n }\n }\n\n return workInProgressHook;\n} // NOTE: defining two versions of this function to avoid size impact when this feature is disabled.\n// Previously this function was inlined, the additional `memoCache` property makes it not inlined.\n\n\nvar createFunctionComponentUpdateQueue;\n\n{\n createFunctionComponentUpdateQueue = function () {\n return {\n lastEffect: null,\n events: null,\n stores: null\n };\n };\n}\n\nfunction useThenable(thenable) {\n // Track the position of the thenable within this fiber.\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n\n if (thenableState === null) {\n thenableState = createThenableState();\n }\n\n var result = trackUsedThenable(thenableState, thenable, index);\n\n if (currentlyRenderingFiber$1.alternate === null && (workInProgressHook === null ? currentlyRenderingFiber$1.memoizedState === null : workInProgressHook.next === null)) {\n // Initial render, and either this is the first time the component is\n // called, or there were no Hooks called after this use() the previous\n // time (perhaps because it threw). Subsequent Hook calls should use the\n // mount dispatcher.\n {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV;\n }\n }\n\n return result;\n}\n\nfunction use(usable) {\n if (usable !== null && typeof usable === 'object') {\n // $FlowFixMe[method-unbinding]\n if (typeof usable.then === 'function') {\n // This is a thenable.\n var thenable = usable;\n return useThenable(thenable);\n } else if (usable.$$typeof === REACT_CONTEXT_TYPE) {\n var context = usable;\n return readContext(context);\n }\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n throw new Error('An unsupported type was passed to use(): ' + String(usable));\n}\n\nfunction basicStateReducer(state, action) {\n // $FlowFixMe[incompatible-use]: Flow doesn't like mixed types\n return typeof action === 'function' ? action(state) : action;\n}\n\nfunction mountReducer(reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n var initialState;\n\n if (init !== undefined) {\n initialState = init(initialArg);\n\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(true);\n init(initialArg);\n setIsStrictModeForDevtools(false);\n }\n } else {\n initialState = initialArg;\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchReducerAction.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\n\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer; // The last rebase update that is NOT part of the base state.\n\n var baseQueue = hook.baseQueue; // The last pending update that hasn't been processed yet.\n\n var pendingQueue = queue.pending;\n\n if (pendingQueue !== null) {\n // We have new updates that haven't been processed yet.\n // We'll add them to the base queue.\n if (baseQueue !== null) {\n // Merge the pending queue and the base queue.\n var baseFirst = baseQueue.next;\n var pendingFirst = pendingQueue.next;\n baseQueue.next = pendingFirst;\n pendingQueue.next = baseFirst;\n }\n\n {\n if (current.baseQueue !== baseQueue) {\n // Internal invariant that should never happen, but feasibly could in\n // the future if we implement resuming, or some form of that.\n error('Internal error: Expected work-in-progress queue to be a clone. ' + 'This is a bug in React.');\n }\n }\n\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n\n var baseState = hook.baseState;\n\n if (baseQueue === null) {\n // If there are no pending updates, then the memoized state should be the\n // same as the base state. Currently these only diverge in the case of\n // useOptimistic, because useOptimistic accepts a new baseState on\n // every render.\n hook.memoizedState = baseState; // We don't need to call markWorkInProgressReceivedUpdate because\n // baseState is derived from other reactive values.\n } else {\n // We have a queue to process.\n var first = baseQueue.next;\n var newState = baseState;\n var newBaseState = null;\n var newBaseQueueFirst = null;\n var newBaseQueueLast = null;\n var update = first;\n var didReadFromEntangledAsyncAction = false;\n\n do {\n // An extra OffscreenLane bit is added to updates that were made to\n // a hidden tree, so that we can distinguish them from updates that were\n // already there when the tree was hidden.\n var updateLane = removeLanes(update.lane, OffscreenLane);\n var isHiddenUpdate = updateLane !== update.lane; // Check if this update was made while the tree was hidden. If so, then\n // it's not a \"base\" update and we should disregard the extra base lanes\n // that were added to renderLanes when we entered the Offscreen tree.\n\n var shouldSkipUpdate = isHiddenUpdate ? !isSubsetOfLanes(getWorkInProgressRootRenderLanes(), updateLane) : !isSubsetOfLanes(renderLanes, updateLane);\n\n if (shouldSkipUpdate) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n lane: updateLane,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n\n if (newBaseQueueLast === null) {\n newBaseQueueFirst = newBaseQueueLast = clone;\n newBaseState = newState;\n } else {\n newBaseQueueLast = newBaseQueueLast.next = clone;\n } // Update the remaining priority in the queue.\n // TODO: Don't need to accumulate this. Instead, we can remove\n // renderLanes from the original lanes.\n\n\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, updateLane);\n markSkippedUpdateLanes(updateLane);\n } else {\n // This update does have sufficient priority.\n // Check if this is an optimistic update.\n var revertLane = update.revertLane;\n\n if (revertLane === NoLane) {\n // This is not an optimistic update, and we're going to apply it now.\n // But, if there were earlier updates that were skipped, we need to\n // leave this update in the queue so it can be rebased later.\n if (newBaseQueueLast !== null) {\n var _clone = {\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n revertLane: NoLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n newBaseQueueLast = newBaseQueueLast.next = _clone;\n } // Check if this update is part of a pending async action. If so,\n // we'll need to suspend until the action has finished, so that it's\n // batched together with future updates in the same action.\n\n\n if (updateLane === peekEntangledActionLane()) {\n didReadFromEntangledAsyncAction = true;\n }\n } else {\n // This is an optimistic update. If the \"revert\" priority is\n // sufficient, don't apply the update. Otherwise, apply the update,\n // but leave it in the queue so it can be either reverted or\n // rebased in a subsequent render.\n if (isSubsetOfLanes(renderLanes, revertLane)) {\n // The transition that this optimistic update is associated with\n // has finished. Pretend the update doesn't exist by skipping\n // over it.\n update = update.next; // Check if this update is part of a pending async action. If so,\n // we'll need to suspend until the action has finished, so that it's\n // batched together with future updates in the same action.\n\n if (revertLane === peekEntangledActionLane()) {\n didReadFromEntangledAsyncAction = true;\n }\n\n continue;\n } else {\n var _clone2 = {\n // Once we commit an optimistic update, we shouldn't uncommit it\n // until the transition it is associated with has finished\n // (represented by revertLane). Using NoLane here works because 0\n // is a subset of all bitmasks, so this will never be skipped by\n // the check above.\n lane: NoLane,\n // Reuse the same revertLane so we know when the transition\n // has finished.\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n\n if (newBaseQueueLast === null) {\n newBaseQueueFirst = newBaseQueueLast = _clone2;\n newBaseState = newState;\n } else {\n newBaseQueueLast = newBaseQueueLast.next = _clone2;\n } // Update the remaining priority in the queue.\n // TODO: Don't need to accumulate this. Instead, we can remove\n // renderLanes from the original lanes.\n\n\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, revertLane);\n markSkippedUpdateLanes(revertLane);\n }\n } // Process this update.\n\n\n var action = update.action;\n\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n reducer(newState, action);\n }\n\n if (update.hasEagerState) {\n // If this update is a state update (not a reducer) and was processed eagerly,\n // we can use the eagerly computed state\n newState = update.eagerState;\n } else {\n newState = reducer(newState, action);\n }\n }\n\n update = update.next;\n } while (update !== null && update !== first);\n\n if (newBaseQueueLast === null) {\n newBaseState = newState;\n } else {\n newBaseQueueLast.next = newBaseQueueFirst;\n } // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate(); // Check if this update is part of a pending async action. If so, we'll\n // need to suspend until the action has finished, so that it's batched\n // together with future updates in the same action.\n // TODO: Once we support hooks inside useMemo (or an equivalent\n // memoization boundary like Forget), hoist this logic so that it only\n // suspends if the memo boundary produces a new value.\n\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = peekEntangledActionThenable();\n\n if (entangledActionThenable !== null) {\n // TODO: Instead of the throwing the thenable directly, throw a\n // special object like `use` does so we can detect if it's captured\n // by userspace.\n throw entangledActionThenable;\n }\n }\n }\n\n hook.memoizedState = newState;\n hook.baseState = newBaseState;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = newState;\n }\n\n if (baseQueue === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.lanes = NoLanes;\n }\n\n var dispatch = queue.dispatch;\n return [hook.memoizedState, dispatch];\n}\n\nfunction rerenderReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous\n // work-in-progress hook.\n\n var dispatch = queue.dispatch;\n var lastRenderPhaseUpdate = queue.pending;\n var newState = hook.memoizedState;\n\n if (lastRenderPhaseUpdate !== null) {\n // The queue doesn't persist past this render pass.\n queue.pending = null;\n var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next;\n var update = firstRenderPhaseUpdate;\n\n do {\n // Process this render phase update. We don't have to check the\n // priority because it will always be the same as the current\n // render's.\n var action = update.action;\n newState = reducer(newState, action);\n update = update.next;\n } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to\n // the base state unless the queue is empty.\n // TODO: Not sure if this is the desired semantics, but it's what we\n // do for gDSFP. I can't remember why.\n\n if (hook.baseQueue === null) {\n hook.baseState = newState;\n }\n\n queue.lastRenderedState = newState;\n }\n\n return [newState, dispatch];\n}\n\nfunction mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = mountWorkInProgressHook();\n var nextSnapshot;\n var isHydrating = getIsHydrating();\n\n if (isHydrating) {\n if (getServerSnapshot === undefined) {\n throw new Error('Missing getServerSnapshot, which is required for ' + 'server-rendered content. Will revert to client rendering.');\n }\n\n nextSnapshot = getServerSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n if (nextSnapshot !== getServerSnapshot()) {\n error('The result of getServerSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n } else {\n nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n //\n // We won't do this if we're hydrating server-rendered content, because if\n // the content is stale, it's already visible anyway. Instead we'll patch\n // it up in a passive effect.\n\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n var rootRenderLanes = getWorkInProgressRootRenderLanes();\n\n if (!includesBlockingLane(root, rootRenderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n } // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n\n hook.memoizedState = nextSnapshot;\n var inst = {\n value: nextSnapshot,\n getSnapshot: getSnapshot\n };\n hook.queue = inst; // Schedule an effect to subscribe to the store.\n\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Schedule an effect to update the mutable instance fields. We will update\n // this whenever subscribe, getSnapshot, or value changes. Because there's no\n // clean-up function, and we track the deps correctly, we can call pushEffect\n // directly, without storing any additional state. For the same reason, we\n // don't need to set a static flag, either.\n\n fiber.flags |= Passive$1;\n pushEffect(HasEffect | Passive, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), createEffectInstance(), null);\n return nextSnapshot;\n}\n\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = updateWorkInProgressHook(); // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n var nextSnapshot;\n var isHydrating = getIsHydrating();\n\n if (isHydrating) {\n // Needed for strict mode double render\n if (getServerSnapshot === undefined) {\n throw new Error('Missing getServerSnapshot, which is required for ' + 'server-rendered content. Will revert to client rendering.');\n }\n\n nextSnapshot = getServerSnapshot();\n } else {\n nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n }\n\n var prevSnapshot = (currentHook || hook).memoizedState;\n var snapshotChanged = !objectIs(prevSnapshot, nextSnapshot);\n\n if (snapshotChanged) {\n hook.memoizedState = nextSnapshot;\n markWorkInProgressReceivedUpdate();\n }\n\n var inst = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (inst.getSnapshot !== getSnapshot || snapshotChanged || // Check if the subscribe function changed. We can save some memory by\n // checking whether we scheduled a subscription effect above.\n workInProgressHook !== null && workInProgressHook.memoizedState.tag & HasEffect) {\n fiber.flags |= Passive$1;\n pushEffect(HasEffect | Passive, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), createEffectInstance(), null); // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!isHydrating && !includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n }\n\n return nextSnapshot;\n}\n\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= StoreConsistency;\n var check = {\n getSnapshot: getSnapshot,\n value: renderedSnapshot\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.stores = [check];\n } else {\n var stores = componentUpdateQueue.stores;\n\n if (stores === null) {\n componentUpdateQueue.stores = [check];\n } else {\n stores.push(check);\n }\n }\n}\n\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n // These are updated in the passive phase\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot; // Something may have been mutated in between render and commit. This could\n // have been in an event that fired before the passive effects, or it could\n // have been in a layout effect. In that case, we would have used the old\n // snapsho and getSnapshot values to bail out. We need to check one more time.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n}\n\nfunction subscribeToStore(fiber, inst, subscribe) {\n var handleStoreChange = function () {\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n}\n\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n\n if (typeof initialState === 'function') {\n var initialStateInitializer = initialState; // $FlowFixMe[incompatible-use]: Flow doesn't like mixed types\n\n initialState = initialStateInitializer();\n\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(true); // $FlowFixMe[incompatible-use]: Flow doesn't like mixed types\n\n initialStateInitializer();\n setIsStrictModeForDevtools(false);\n }\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n return hook;\n}\n\nfunction mountState(initialState) {\n var hook = mountStateImpl(initialState);\n var queue = hook.queue;\n var dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue);\n queue.dispatch = dispatch;\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateState(initialState) {\n return updateReducer(basicStateReducer);\n}\n\nfunction rerenderState(initialState) {\n return rerenderReducer(basicStateReducer);\n}\n\nfunction mountOptimistic(passthrough, reducer) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: NoLanes,\n dispatch: null,\n // Optimistic state does not use the eager update optimization.\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue; // This is different than the normal setState function.\n\n var dispatch = dispatchOptimisticSetState.bind(null, currentlyRenderingFiber$1, true, queue);\n queue.dispatch = dispatch;\n return [passthrough, dispatch];\n}\n\nfunction updateOptimistic(passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n}\n\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n // Optimistic updates are always rebased on top of the latest value passed in\n // as an argument. It's called a passthrough because if there are no pending\n // updates, it will be returned as-is.\n //\n // Reset the base state to the passthrough. Future updates will be applied\n // on top of this.\n hook.baseState = passthrough; // If a reducer is not provided, default to the same one used by useState.\n\n var resolvedReducer = typeof reducer === 'function' ? reducer : basicStateReducer;\n return updateReducerImpl(hook, currentHook, resolvedReducer);\n}\n\nfunction rerenderOptimistic(passthrough, reducer) {\n // Unlike useState, useOptimistic doesn't support render phase updates.\n // Also unlike useState, we need to replay all pending updates again in case\n // the passthrough value changed.\n //\n // So instead of a forked re-render implementation that knows how to handle\n // render phase udpates, we can use the same implementation as during a\n // regular mount or update.\n var hook = updateWorkInProgressHook();\n\n if (currentHook !== null) {\n // This is an update. Process the update queue.\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n } // This is a mount. No updates to process.\n // Reset the base state to the passthrough. Future updates will be applied\n // on top of this.\n\n\n hook.baseState = passthrough;\n var dispatch = hook.queue.dispatch;\n return [passthrough, dispatch];\n} // useFormState actions run sequentially, because each action receives the\n// previous state as an argument. We store pending actions on a queue.\n\n\nfunction dispatchFormState(fiber, actionQueue, setState, payload) {\n if (isRenderPhaseUpdate(fiber)) {\n throw new Error('Cannot update form state while rendering.');\n }\n\n var last = actionQueue.pending;\n\n if (last === null) {\n // There are no pending actions; this is the first one. We can run\n // it immediately.\n var newLast = {\n payload: payload,\n next: null // circular\n\n };\n newLast.next = actionQueue.pending = newLast;\n runFormStateAction(actionQueue, setState, payload);\n } else {\n // There's already an action running. Add to the queue.\n var first = last.next;\n var _newLast = {\n payload: payload,\n next: first\n };\n actionQueue.pending = last.next = _newLast;\n }\n}\n\nfunction runFormStateAction(actionQueue, setState, payload) {\n var action = actionQueue.action;\n var prevState = actionQueue.state; // This is a fork of startTransition\n\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var currentTransition = {\n _callbacks: new Set()\n };\n ReactCurrentBatchConfig$3.transition = currentTransition;\n\n {\n ReactCurrentBatchConfig$3.transition._updatedFibers = new Set();\n }\n\n try {\n var returnValue = action(prevState, payload);\n\n if (returnValue !== null && typeof returnValue === 'object' && // $FlowFixMe[method-unbinding]\n typeof returnValue.then === 'function') {\n var thenable = returnValue;\n notifyTransitionCallbacks(currentTransition, thenable); // Attach a listener to read the return state of the action. As soon as\n // this resolves, we can run the next action in the sequence.\n\n thenable.then(function (nextState) {\n actionQueue.state = nextState;\n finishRunningFormStateAction(actionQueue, setState);\n }, function () {\n return finishRunningFormStateAction(actionQueue, setState);\n });\n setState(thenable);\n } else {\n setState(returnValue);\n var nextState = returnValue;\n actionQueue.state = nextState;\n finishRunningFormStateAction(actionQueue, setState);\n }\n } catch (error) {\n // This is a trick to get the `useFormState` hook to rethrow the error.\n // When it unwraps the thenable with the `use` algorithm, the error\n // will be thrown.\n var rejectedThenable = {\n then: function () {},\n status: 'rejected',\n reason: error // $FlowFixMe: Not sure why this doesn't work\n\n };\n setState(rejectedThenable);\n finishRunningFormStateAction(actionQueue, setState);\n } finally {\n ReactCurrentBatchConfig$3.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n currentTransition._updatedFibers.clear();\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n }\n }\n }\n}\n\nfunction finishRunningFormStateAction(actionQueue, setState) {\n // The action finished running. Pop it from the queue and run the next pending\n // action, if there are any.\n var last = actionQueue.pending;\n\n if (last !== null) {\n var first = last.next;\n\n if (first === last) {\n // This was the last action in the queue.\n actionQueue.pending = null;\n } else {\n // Remove the first node from the circular queue.\n var next = first.next;\n last.next = next; // Run the next action.\n\n runFormStateAction(actionQueue, setState, next.payload);\n }\n }\n}\n\nfunction formStateReducer(oldState, newState) {\n return newState;\n}\n\nfunction mountFormState(action, initialStateProp, permalink) {\n var initialState = initialStateProp;\n\n if (getIsHydrating()) {\n var root = getWorkInProgressRoot();\n var ssrFormState = root.formState; // If a formState option was passed to the root, there are form state\n // markers that we need to hydrate. These indicate whether the form state\n // matches this hook instance.\n\n if (ssrFormState !== null) {\n var isMatching = tryToClaimNextHydratableFormMarkerInstance();\n\n if (isMatching) {\n initialState = ssrFormState[0];\n }\n }\n } // State hook. The state is stored in a thenable which is then unwrapped by\n // the `use` algorithm during render.\n\n\n var stateHook = mountWorkInProgressHook();\n stateHook.memoizedState = stateHook.baseState = initialState; // TODO: Typing this \"correctly\" results in recursion limit errors\n // const stateQueue: UpdateQueue<S | Awaited<S>, S | Awaited<S>> = {\n\n var stateQueue = {\n pending: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: formStateReducer,\n lastRenderedState: initialState\n };\n stateHook.queue = stateQueue;\n var setState = dispatchSetState.bind(null, currentlyRenderingFiber$1, stateQueue);\n stateQueue.dispatch = setState; // Action queue hook. This is used to queue pending actions. The queue is\n // shared between all instances of the hook. Similar to a regular state queue,\n // but different because the actions are run sequentially, and they run in\n // an event instead of during render.\n\n var actionQueueHook = mountWorkInProgressHook();\n var actionQueue = {\n state: initialState,\n dispatch: null,\n // circular\n action: action,\n pending: null\n };\n actionQueueHook.queue = actionQueue;\n var dispatch = dispatchFormState.bind(null, currentlyRenderingFiber$1, actionQueue, setState);\n actionQueue.dispatch = dispatch; // Stash the action function on the memoized state of the hook. We'll use this\n // to detect when the action function changes so we can update it in\n // an effect.\n\n actionQueueHook.memoizedState = action;\n return [initialState, dispatch];\n}\n\nfunction updateFormState(action, initialState, permalink) {\n var stateHook = updateWorkInProgressHook();\n var currentStateHook = currentHook;\n return updateFormStateImpl(stateHook, currentStateHook, action);\n}\n\nfunction updateFormStateImpl(stateHook, currentStateHook, action, initialState, permalink) {\n var _updateReducerImpl = updateReducerImpl(stateHook, currentStateHook, formStateReducer),\n actionResult = _updateReducerImpl[0]; // This will suspend until the action finishes.\n\n\n var state = typeof actionResult === 'object' && actionResult !== null && // $FlowFixMe[method-unbinding]\n typeof actionResult.then === 'function' ? useThenable(actionResult) : actionResult;\n var actionQueueHook = updateWorkInProgressHook();\n var actionQueue = actionQueueHook.queue;\n var dispatch = actionQueue.dispatch; // Check if a new action was passed. If so, update it in an effect.\n\n var prevAction = actionQueueHook.memoizedState;\n\n if (action !== prevAction) {\n currentlyRenderingFiber$1.flags |= Passive$1;\n pushEffect(HasEffect | Passive, formStateActionEffect.bind(null, actionQueue, action), createEffectInstance(), null);\n }\n\n return [state, dispatch];\n}\n\nfunction formStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\n\nfunction rerenderFormState(action, initialState, permalink) {\n // Unlike useState, useFormState doesn't support render phase updates.\n // Also unlike useState, we need to replay all pending updates again in case\n // the passthrough value changed.\n //\n // So instead of a forked re-render implementation that knows how to handle\n // render phase udpates, we can use the same implementation as during a\n // regular mount or update.\n var stateHook = updateWorkInProgressHook();\n var currentStateHook = currentHook;\n\n if (currentStateHook !== null) {\n // This is an update. Process the update queue.\n return updateFormStateImpl(stateHook, currentStateHook, action);\n } // This is a mount. No updates to process.\n\n\n var state = stateHook.memoizedState;\n var actionQueueHook = updateWorkInProgressHook();\n var actionQueue = actionQueueHook.queue;\n var dispatch = actionQueue.dispatch; // This may have changed during the rerender.\n\n actionQueueHook.memoizedState = action;\n return [state, dispatch];\n}\n\nfunction pushEffect(tag, create, inst, deps) {\n var effect = {\n tag: tag,\n create: create,\n inst: inst,\n deps: deps,\n // Circular\n next: null\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var lastEffect = componentUpdateQueue.lastEffect;\n\n if (lastEffect === null) {\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var firstEffect = lastEffect.next;\n lastEffect.next = effect;\n effect.next = firstEffect;\n componentUpdateQueue.lastEffect = effect;\n }\n }\n\n return effect;\n}\n\nfunction createEffectInstance() {\n return {\n destroy: undefined\n };\n}\n\nfunction mountRef(initialValue) {\n var hook = mountWorkInProgressHook();\n\n {\n var _ref2 = {\n current: initialValue\n };\n hook.memoizedState = _ref2;\n return _ref2;\n }\n}\n\nfunction updateRef(initialValue) {\n var hook = updateWorkInProgressHook();\n return hook.memoizedState;\n}\n\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, createEffectInstance(), nextDeps);\n}\n\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var effect = hook.memoizedState;\n var inst = effect.inst; // currentHook is null on initial mount when rerendering after a render phase\n // state update or for strict mode.\n\n if (currentHook !== null) {\n if (nextDeps !== null) {\n var prevEffect = currentHook.memoizedState;\n var prevDeps = prevEffect.deps;\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n hook.memoizedState = pushEffect(hookFlags, create, inst, nextDeps);\n return;\n }\n }\n }\n\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, inst, nextDeps);\n}\n\nfunction mountEffect(create, deps) {\n if ((currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode && (currentlyRenderingFiber$1.mode & NoStrictPassiveEffectsMode) === NoMode) {\n mountEffectImpl(MountPassiveDev | Passive$1 | PassiveStatic, Passive, create, deps);\n } else {\n mountEffectImpl(Passive$1 | PassiveStatic, Passive, create, deps);\n }\n}\n\nfunction updateEffect(create, deps) {\n updateEffectImpl(Passive$1, Passive, create, deps);\n}\n\nfunction mountInsertionEffect(create, deps) {\n mountEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction mountLayoutEffect(create, deps) {\n var fiberFlags = Update | LayoutStatic;\n\n if ((currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, create, deps);\n}\n\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(Update, Layout, create, deps);\n}\n\nfunction imperativeHandleEffect(create, ref) {\n if (typeof ref === 'function') {\n var refCallback = ref;\n var inst = create();\n refCallback(inst);\n return function () {\n refCallback(null);\n };\n } else if (ref !== null && ref !== undefined) {\n var refObject = ref;\n\n {\n if (!refObject.hasOwnProperty('current')) {\n error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}');\n }\n }\n\n var _inst = create();\n\n refObject.current = _inst;\n return function () {\n refObject.current = null;\n };\n }\n}\n\nfunction mountImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n var fiberFlags = Update | LayoutStatic;\n\n if ((currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n mountEffectImpl(fiberFlags, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction updateImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction mountDebugValue(value, formatterFn) {// This hook is normally a no-op.\n // The react-debug-hooks package injects its own implementation\n // so that e.g. DevTools can display custom hook values.\n}\n\nvar updateDebugValue = mountDebugValue;\n\nfunction mountCallback(callback, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction mountMemo(nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var nextValue = nextCreate();\n\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(true);\n nextCreate();\n setIsStrictModeForDevtools(false);\n }\n\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState; // Assume these are defined. If they're not, areHookInputsEqual will warn.\n\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n\n var nextValue = nextCreate();\n\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(true);\n nextCreate();\n setIsStrictModeForDevtools(false);\n }\n\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction mountDeferredValue(value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value);\n}\n\nfunction updateDeferredValue(value, initialValue) {\n var hook = updateWorkInProgressHook();\n var resolvedCurrentHook = currentHook;\n var prevValue = resolvedCurrentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n}\n\nfunction rerenderDeferredValue(value, initialValue) {\n var hook = updateWorkInProgressHook();\n\n if (currentHook === null) {\n // This is a rerender during a mount.\n return mountDeferredValueImpl(hook, value);\n } else {\n // This is a rerender during an update.\n var prevValue = currentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n }\n}\n\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n {\n hook.memoizedState = value;\n return value;\n }\n}\n\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) {\n // The incoming value is referentially identical to the currently rendered\n // value, so we can bail out quickly.\n return value;\n } else {\n // Received a new value that's different from the current value.\n // Check if we're inside a hidden tree\n if (isCurrentTreeHidden()) {\n // Revealing a prerendered tree is considered the same as mounting new\n // one, so we reuse the \"mount\" path in this case.\n var resultValue = mountDeferredValueImpl(hook, value); // Unlike during an actual mount, we need to mark this as an update if\n // the value changed.\n\n if (!objectIs(resultValue, prevValue)) {\n markWorkInProgressReceivedUpdate();\n }\n\n return resultValue;\n }\n\n var shouldDeferValue = !includesOnlyNonUrgentLanes(renderLanes);\n\n if (shouldDeferValue) {\n // This is an urgent update. Since the value has changed, keep using the\n // previous value and spawn a deferred render to update it later.\n // Schedule a deferred render\n var deferredLane = requestDeferredLane();\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, deferredLane);\n markSkippedUpdateLanes(deferredLane); // Reuse the previous value. We do not need to mark this as an update,\n // because we did not render a new value.\n\n return prevValue;\n } else {\n // This is not an urgent update, so we can use the latest value regardless\n // of what it is. No need to defer it.\n // Mark this as an update to prevent the fiber from bailing out.\n markWorkInProgressReceivedUpdate();\n hook.memoizedState = value;\n return value;\n }\n }\n}\n\nfunction startTransition(fiber, queue, pendingState, finishedState, callback, options) {\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(higherEventPriority(previousPriority, ContinuousEventPriority));\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var currentTransition = {\n _callbacks: new Set()\n };\n\n {\n // We don't really need to use an optimistic update here, because we\n // schedule a second \"revert\" update below (which we use to suspend the\n // transition until the async action scope has finished). But we'll use an\n // optimistic update anyway to make it less likely the behavior accidentally\n // diverges; for example, both an optimistic update and this one should\n // share the same lane.\n ReactCurrentBatchConfig$3.transition = currentTransition;\n dispatchOptimisticSetState(fiber, false, queue, pendingState);\n }\n\n {\n ReactCurrentBatchConfig$3.transition._updatedFibers = new Set();\n }\n\n try {\n if (enableAsyncActions) {\n var returnValue = callback(); // Check if we're inside an async action scope. If so, we'll entangle\n // this new action with the existing scope.\n //\n // If we're not already inside an async action scope, and this action is\n // async, then we'll create a new async scope.\n //\n // In the async case, the resulting render will suspend until the async\n // action scope has finished.\n\n if (returnValue !== null && typeof returnValue === 'object' && typeof returnValue.then === 'function') {\n var thenable = returnValue;\n notifyTransitionCallbacks(currentTransition, thenable); // Create a thenable that resolves to `finishedState` once the async\n // action has completed.\n\n var thenableForFinishedState = chainThenableValue(thenable, finishedState);\n dispatchSetState(fiber, queue, thenableForFinishedState);\n } else {\n dispatchSetState(fiber, queue, finishedState);\n }\n }\n } catch (error) {\n {\n // This is a trick to get the `useTransition` hook to rethrow the error.\n // When it unwraps the thenable with the `use` algorithm, the error\n // will be thrown.\n var rejectedThenable = {\n then: function () {},\n status: 'rejected',\n reason: error\n };\n dispatchSetState(fiber, queue, rejectedThenable);\n }\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n currentTransition._updatedFibers.clear();\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n }\n }\n }\n}\n\nfunction startHostTransition(formFiber, pendingState, callback, formData) {\n\n if (formFiber.tag !== HostComponent) {\n throw new Error('Expected the form instance to be a HostComponent. This ' + 'is a bug in React.');\n }\n\n var queue;\n\n if (formFiber.memoizedState === null) {\n // Upgrade this host component fiber to be stateful. We're going to pretend\n // it was stateful all along so we can reuse most of the implementation\n // for function components and useTransition.\n //\n // Create the state hook used by TransitionAwareHostComponent. This is\n // essentially an inlined version of mountState.\n var newQueue = {\n pending: null,\n lanes: NoLanes,\n // We're going to cheat and intentionally not create a bound dispatch\n // method, because we can call it directly in startTransition.\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: NotPendingTransition\n };\n queue = newQueue;\n var stateHook = {\n memoizedState: NotPendingTransition,\n baseState: NotPendingTransition,\n baseQueue: null,\n queue: newQueue,\n next: null\n }; // Add the state hook to both fiber alternates. The idea is that the fiber\n // had this hook all along.\n\n formFiber.memoizedState = stateHook;\n var alternate = formFiber.alternate;\n\n if (alternate !== null) {\n alternate.memoizedState = stateHook;\n }\n } else {\n // This fiber was already upgraded to be stateful.\n var _stateHook = formFiber.memoizedState;\n queue = _stateHook.queue;\n }\n\n startTransition(formFiber, queue, pendingState, NotPendingTransition, // TODO: We can avoid this extra wrapper, somehow. Figure out layering\n // once more of this function is implemented.\n function () {\n return callback(formData);\n });\n}\n\nfunction mountTransition() {\n var stateHook = mountStateImpl(false); // The `start` method never changes.\n\n var start = startTransition.bind(null, currentlyRenderingFiber$1, stateHook.queue, true, false);\n var hook = mountWorkInProgressHook();\n hook.memoizedState = start;\n return [false, start];\n}\n\nfunction updateTransition() {\n var _updateState = updateState(),\n booleanOrThenable = _updateState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n var isPending = typeof booleanOrThenable === 'boolean' ? booleanOrThenable : // This will suspend until the async action scope has finished.\n useThenable(booleanOrThenable);\n return [isPending, start];\n}\n\nfunction rerenderTransition() {\n var _rerenderState = rerenderState(),\n booleanOrThenable = _rerenderState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n var isPending = typeof booleanOrThenable === 'boolean' ? booleanOrThenable : // This will suspend until the async action scope has finished.\n useThenable(booleanOrThenable);\n return [isPending, start];\n}\n\nfunction useHostTransitionStatus() {\n\n var status = readContext(HostTransitionContext);\n return status !== null ? status : NotPendingTransition;\n}\n\nfunction mountId() {\n var hook = mountWorkInProgressHook();\n var root = getWorkInProgressRoot(); // TODO: In Fizz, id generation is specific to each server config. Maybe we\n // should do this in Fiber, too? Deferring this decision for now because\n // there's no other place to store the prefix except for an internal field on\n // the public createRoot object, which the fiber tree does not currently have\n // a reference to.\n\n var identifierPrefix = root.identifierPrefix;\n var id;\n\n if (getIsHydrating()) {\n var treeId = getTreeId(); // Use a captial R prefix for server-generated ids.\n\n id = ':' + identifierPrefix + 'R' + treeId; // Unless this is the first id at this level, append a number at the end\n // that represents the position of this useId hook among all the useId\n // hooks for this fiber.\n\n var localId = localIdCounter++;\n\n if (localId > 0) {\n id += 'H' + localId.toString(32);\n }\n\n id += ':';\n } else {\n // Use a lowercase r prefix for client-generated ids.\n var globalClientId = globalClientIdCounter++;\n id = ':' + identifierPrefix + 'r' + globalClientId.toString(32) + ':';\n }\n\n hook.memoizedState = id;\n return id;\n}\n\nfunction updateId() {\n var hook = updateWorkInProgressHook();\n var id = hook.memoizedState;\n return id;\n}\n\nfunction mountRefresh() {\n var hook = mountWorkInProgressHook();\n var refresh = hook.memoizedState = refreshCache.bind(null, currentlyRenderingFiber$1);\n return refresh;\n}\n\nfunction updateRefresh() {\n var hook = updateWorkInProgressHook();\n return hook.memoizedState;\n}\n\nfunction refreshCache(fiber, seedKey, seedValue) {\n // TODO: Consider warning if the refresh is at discrete priority, or if we\n // otherwise suspect that it wasn't batched properly.\n\n\n var provider = fiber.return;\n\n while (provider !== null) {\n switch (provider.tag) {\n case CacheComponent:\n case HostRoot:\n {\n // Schedule an update on the cache boundary to trigger a refresh.\n var lane = requestUpdateLane(provider);\n var refreshUpdate = createUpdate(lane);\n var root = enqueueUpdate(provider, refreshUpdate, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, provider, lane);\n entangleTransitions(root, provider, lane);\n } // TODO: If a refresh never commits, the new cache created here must be\n // released. A simple case is start refreshing a cache boundary, but then\n // unmount that boundary before the refresh completes.\n\n\n var seededCache = createCache();\n\n if (seedKey !== null && seedKey !== undefined && root !== null) {\n {\n {\n error('The seed argument is not enabled outside experimental channels.');\n }\n }\n }\n\n var payload = {\n cache: seededCache\n };\n refreshUpdate.payload = payload;\n return;\n }\n }\n\n provider = provider.return;\n } // TODO: Warn if unmounted?\n\n}\n\nfunction dispatchReducerAction(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n revertLane: NoLane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction dispatchSetState(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n revertLane: NoLane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var alternate = fiber.alternate;\n\n if (fiber.lanes === NoLanes && (alternate === null || alternate.lanes === NoLanes)) {\n // The queue is currently empty, which means we can eagerly compute the\n // next state before entering the render phase. If the new state is the\n // same as the current state, we may be able to bail out entirely.\n var lastRenderedReducer = queue.lastRenderedReducer;\n\n if (lastRenderedReducer !== null) {\n var prevDispatcher;\n\n {\n prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n }\n\n try {\n var currentState = queue.lastRenderedState;\n var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute\n // it, on the update object. If the reducer hasn't changed by the\n // time we enter the render phase, then the eager state can be used\n // without calling the reducer again.\n\n update.hasEagerState = true;\n update.eagerState = eagerState;\n\n if (objectIs(eagerState, currentState)) {\n // Fast path. We can bail out without scheduling React to re-render.\n // It's still possible that we'll need to rebase this update later,\n // if the component re-renders for a different reason and by that\n // time the reducer has changed.\n // TODO: Do we still need to entangle transitions in this case?\n enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update);\n return;\n }\n } catch (error) {// Suppress the error. It will throw again in the render phase.\n } finally {\n {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n }\n }\n }\n\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n var transition = requestCurrentTransition();\n\n {\n if (transition === null) {\n // An optimistic update occurred, but startTransition is not on the stack.\n // There are two likely scenarios.\n // One possibility is that the optimistic update is triggered by a regular\n // event handler (e.g. `onSubmit`) instead of an action. This is a mistake\n // and we will warn.\n // The other possibility is the optimistic update is inside an async\n // action, but after an `await`. In this case, we can make it \"just work\"\n // by associating the optimistic update with the pending async action.\n // Technically it's possible that the optimistic update is unrelated to\n // the pending action, but we don't have a way of knowing this for sure\n // because browsers currently do not provide a way to track async scope.\n // (The AsyncContext proposal, if it lands, will solve this in the\n // future.) However, this is no different than the problem of unrelated\n // transitions being grouped together — it's not wrong per se, but it's\n // not ideal.\n // Once AsyncContext starts landing in browsers, we will provide better\n // warnings in development for these cases.\n if (peekEntangledActionLane() !== NoLane) ; else {\n // There's no pending async action. The most likely cause is that we're\n // inside a regular event handler (e.g. onSubmit) instead of an action.\n error('An optimistic state update occurred outside a transition or ' + 'action. To fix, move the update to an action, or wrap ' + 'with startTransition.');\n }\n }\n }\n\n var update = {\n // An optimistic update commits synchronously.\n lane: SyncLane,\n // After committing, the optimistic update is \"reverted\" using the same\n // lane as the transition it's associated with.\n revertLane: requestTransitionLane(),\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n // When calling startTransition during render, this warns instead of\n // throwing because throwing would be a breaking change. setOptimisticState\n // is a new API so it's OK to throw.\n if (throwIfDuringRender) {\n throw new Error('Cannot update optimistic state while rendering.');\n } else {\n // startTransition was called during render. We don't need to do anything\n // besides warn here because the render phase update would be overidden by\n // the second update, anyway. We can remove this branch and make it throw\n // in a future release.\n {\n error('Cannot call startTransition while rendering.');\n }\n }\n } else {\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, SyncLane);\n\n if (root !== null) {\n // NOTE: The optimistic update implementation assumes that the transition\n // will never be attempted before the optimistic update. This currently\n // holds because the optimistic update is always synchronous. If we ever\n // change that, we'll need to account for this.\n scheduleUpdateOnFiber(root, fiber, SyncLane); // Optimistic updates are always synchronous, so we don't need to call\n // entangleTransitionUpdate here.\n }\n }\n\n markUpdateInDevTools(fiber, SyncLane);\n}\n\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1;\n}\n\nfunction enqueueRenderPhaseUpdate(queue, update) {\n // This is a render phase update. Stash it in a lazily-created map of\n // queue -> linked list of updates. After this render pass, we'll restart\n // and apply the stashed updates on top of the work-in-progress hook.\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;\n var pending = queue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n queue.pending = update;\n} // TODO: Move to ReactFiberConcurrentUpdates?\n\n\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (isTransitionLane(lane)) {\n var queueLanes = queue.lanes; // If any entangled lanes are no longer pending on the root, then they\n // must have finished. We can remove them from the shared queue, which\n // represents a superset of the actually pending lanes. In some cases we\n // may entangle more than we need to, but that's OK. In fact it's worse if\n // we *don't* entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n queue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\n\nfunction markUpdateInDevTools(fiber, lane, action) {\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n}\n\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError\n};\n\n{\n ContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError;\n}\n\n{\n ContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError;\n ContextOnlyDispatcher.useFormState = throwInvalidHookError;\n}\n\n{\n ContextOnlyDispatcher.useOptimistic = throwInvalidHookError;\n}\n\nvar HooksDispatcherOnMountInDEV = null;\nvar HooksDispatcherOnMountWithHookTypesInDEV = null;\nvar HooksDispatcherOnUpdateInDEV = null;\nvar HooksDispatcherOnRerenderInDEV = null;\nvar InvalidNestedHooksDispatcherOnMountInDEV = null;\nvar InvalidNestedHooksDispatcherOnUpdateInDEV = null;\nvar InvalidNestedHooksDispatcherOnRerenderInDEV = null;\n\n{\n var warnInvalidContextAccess = function () {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n };\n\n var warnInvalidHookAccess = function () {\n error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://reactjs.org/link/rules-of-hooks');\n };\n\n HooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n use: use,\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = 'useDeferredValue';\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n mountHookTypesDev();\n return mountTransition();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n mountHookTypesDev();\n return mountId();\n }\n };\n\n {\n HooksDispatcherOnMountInDEV.useCacheRefresh = function useCacheRefresh() {\n currentHookNameInDev = 'useCacheRefresh';\n mountHookTypesDev();\n return mountRefresh();\n };\n }\n\n {\n HooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus;\n\n HooksDispatcherOnMountInDEV.useFormState = function useFormState(action, initialState, permalink) {\n currentHookNameInDev = 'useFormState';\n mountHookTypesDev();\n return mountFormState(action, initialState);\n };\n }\n\n {\n HooksDispatcherOnMountInDEV.useOptimistic = function useOptimistic(passthrough, reducer) {\n currentHookNameInDev = 'useOptimistic';\n mountHookTypesDev();\n return mountOptimistic(passthrough);\n };\n }\n\n HooksDispatcherOnMountWithHookTypesInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n use: use,\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return mountTransition();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return mountId();\n }\n };\n\n {\n HooksDispatcherOnMountWithHookTypesInDEV.useCacheRefresh = function useCacheRefresh() {\n currentHookNameInDev = 'useCacheRefresh';\n updateHookTypesDev();\n return mountRefresh();\n };\n }\n\n {\n HooksDispatcherOnMountWithHookTypesInDEV.useHostTransitionStatus = useHostTransitionStatus;\n\n HooksDispatcherOnMountWithHookTypesInDEV.useFormState = function useFormState(action, initialState, permalink) {\n currentHookNameInDev = 'useFormState';\n updateHookTypesDev();\n return mountFormState(action, initialState);\n };\n }\n\n {\n HooksDispatcherOnMountWithHookTypesInDEV.useOptimistic = function useOptimistic(passthrough, reducer) {\n currentHookNameInDev = 'useOptimistic';\n updateHookTypesDev();\n return mountOptimistic(passthrough);\n };\n }\n\n HooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n use: use,\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return updateTransition();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n }\n };\n\n {\n HooksDispatcherOnUpdateInDEV.useCacheRefresh = function useCacheRefresh() {\n currentHookNameInDev = 'useCacheRefresh';\n updateHookTypesDev();\n return updateRefresh();\n };\n }\n\n {\n HooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus;\n\n HooksDispatcherOnUpdateInDEV.useFormState = function useFormState(action, initialState, permalink) {\n currentHookNameInDev = 'useFormState';\n updateHookTypesDev();\n return updateFormState(action);\n };\n }\n\n {\n HooksDispatcherOnUpdateInDEV.useOptimistic = function useOptimistic(passthrough, reducer) {\n currentHookNameInDev = 'useOptimistic';\n updateHookTypesDev();\n return updateOptimistic(passthrough, reducer);\n };\n }\n\n HooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n use: use,\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return rerenderTransition();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n }\n };\n\n {\n HooksDispatcherOnRerenderInDEV.useCacheRefresh = function useCacheRefresh() {\n currentHookNameInDev = 'useCacheRefresh';\n updateHookTypesDev();\n return updateRefresh();\n };\n }\n\n {\n HooksDispatcherOnRerenderInDEV.useHostTransitionStatus = useHostTransitionStatus;\n\n HooksDispatcherOnRerenderInDEV.useFormState = function useFormState(action, initialState, permalink) {\n currentHookNameInDev = 'useFormState';\n updateHookTypesDev();\n return rerenderFormState(action);\n };\n }\n\n {\n HooksDispatcherOnRerenderInDEV.useOptimistic = function useOptimistic(passthrough, reducer) {\n currentHookNameInDev = 'useOptimistic';\n updateHookTypesDev();\n return rerenderOptimistic(passthrough, reducer);\n };\n }\n\n InvalidNestedHooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n use: function (usable) {\n warnInvalidHookAccess();\n return use(usable);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountTransition();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountId();\n }\n };\n\n {\n InvalidNestedHooksDispatcherOnMountInDEV.useCacheRefresh = function useCacheRefresh() {\n currentHookNameInDev = 'useCacheRefresh';\n mountHookTypesDev();\n return mountRefresh();\n };\n }\n\n {\n InvalidNestedHooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus;\n\n InvalidNestedHooksDispatcherOnMountInDEV.useFormState = function useFormState(action, initialState, permalink) {\n currentHookNameInDev = 'useFormState';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountFormState(action, initialState);\n };\n }\n\n {\n InvalidNestedHooksDispatcherOnMountInDEV.useOptimistic = function useOptimistic(passthrough, reducer) {\n currentHookNameInDev = 'useOptimistic';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountOptimistic(passthrough);\n };\n }\n\n InvalidNestedHooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n use: function (usable) {\n warnInvalidHookAccess();\n return use(usable);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateTransition();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n }\n };\n\n {\n InvalidNestedHooksDispatcherOnUpdateInDEV.useCacheRefresh = function useCacheRefresh() {\n currentHookNameInDev = 'useCacheRefresh';\n updateHookTypesDev();\n return updateRefresh();\n };\n }\n\n {\n InvalidNestedHooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus;\n\n InvalidNestedHooksDispatcherOnUpdateInDEV.useFormState = function useFormState(action, initialState, permalink) {\n currentHookNameInDev = 'useFormState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateFormState(action);\n };\n }\n\n {\n InvalidNestedHooksDispatcherOnUpdateInDEV.useOptimistic = function useOptimistic(passthrough, reducer) {\n currentHookNameInDev = 'useOptimistic';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateOptimistic(passthrough, reducer);\n };\n }\n\n InvalidNestedHooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n use: function (usable) {\n warnInvalidHookAccess();\n return use(usable);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderTransition();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n }\n };\n\n {\n InvalidNestedHooksDispatcherOnRerenderInDEV.useCacheRefresh = function useCacheRefresh() {\n currentHookNameInDev = 'useCacheRefresh';\n updateHookTypesDev();\n return updateRefresh();\n };\n }\n\n {\n InvalidNestedHooksDispatcherOnRerenderInDEV.useHostTransitionStatus = useHostTransitionStatus;\n\n InvalidNestedHooksDispatcherOnRerenderInDEV.useFormState = function useFormState(action, initialState, permalink) {\n currentHookNameInDev = 'useFormState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderFormState(action);\n };\n }\n\n {\n InvalidNestedHooksDispatcherOnRerenderInDEV.useOptimistic = function useOptimistic(passthrough, reducer) {\n currentHookNameInDev = 'useOptimistic';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderOptimistic(passthrough, reducer);\n };\n }\n}\n\nvar now = Scheduler.unstable_now;\nvar commitTime = 0;\nvar layoutEffectStartTime = -1;\nvar profilerStartTime = -1;\nvar passiveEffectStartTime = -1;\n/**\n * Tracks whether the current update was a nested/cascading update (scheduled from a layout effect).\n *\n * The overall sequence is:\n * 1. render\n * 2. commit (and call `onRender`, `onCommit`)\n * 3. check for nested updates\n * 4. flush passive effects (and call `onPostCommit`)\n *\n * Nested updates are identified in step 3 above,\n * but step 4 still applies to the work that was just committed.\n * We use two flags to track nested updates then:\n * one tracks whether the upcoming update is a nested update,\n * and the other tracks whether the current update was a nested update.\n * The first value gets synced to the second at the start of the render phase.\n */\n\nvar currentUpdateIsNested = false;\nvar nestedUpdateScheduled = false;\n\nfunction isCurrentUpdateNested() {\n return currentUpdateIsNested;\n}\n\nfunction markNestedUpdateScheduled() {\n {\n nestedUpdateScheduled = true;\n }\n}\n\nfunction resetNestedUpdateFlag() {\n {\n currentUpdateIsNested = false;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction syncNestedUpdateFlag() {\n {\n currentUpdateIsNested = nestedUpdateScheduled;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction getCommitTime() {\n return commitTime;\n}\n\nfunction recordCommitTime() {\n\n commitTime = now();\n}\n\nfunction startProfilerTimer(fiber) {\n\n profilerStartTime = now();\n\n if (fiber.actualStartTime < 0) {\n fiber.actualStartTime = now();\n }\n}\n\nfunction stopProfilerTimerIfRunning(fiber) {\n\n profilerStartTime = -1;\n}\n\nfunction stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) {\n\n if (profilerStartTime >= 0) {\n var elapsedTime = now() - profilerStartTime;\n fiber.actualDuration += elapsedTime;\n\n if (overrideBaseTime) {\n fiber.selfBaseDuration = elapsedTime;\n }\n\n profilerStartTime = -1;\n }\n}\n\nfunction recordLayoutEffectDuration(fiber) {\n\n if (layoutEffectStartTime >= 0) {\n var elapsedTime = now() - layoutEffectStartTime;\n layoutEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += elapsedTime;\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += elapsedTime;\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction recordPassiveEffectDuration(fiber) {\n\n if (passiveEffectStartTime >= 0) {\n var elapsedTime = now() - passiveEffectStartTime;\n passiveEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n\n if (root !== null) {\n root.passiveEffectDuration += elapsedTime;\n }\n\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n\n if (parentStateNode !== null) {\n // Detached fibers have their state node cleared out.\n // In this case, the return pointer is also cleared out,\n // so we won't be able to report the time spent in this Profiler's subtree.\n parentStateNode.passiveEffectDuration += elapsedTime;\n }\n\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction startLayoutEffectTimer() {\n\n layoutEffectStartTime = now();\n}\n\nfunction startPassiveEffectTimer() {\n\n passiveEffectStartTime = now();\n}\n\nfunction transferActualDuration(fiber) {\n // Transfer time spent rendering these children so we don't lose it\n // after we rerender. This is used as a helper in special cases\n // where we should count the work of multiple passes.\n var child = fiber.child;\n\n while (child) {\n // $FlowFixMe[unsafe-addition] addition with possible null/undefined value\n fiber.actualDuration += child.actualDuration;\n child = child.sibling;\n }\n}\n\nfunction resolveDefaultProps(Component, baseProps) {\n if (Component && Component.defaultProps) {\n // Resolve default props. Taken from ReactElement\n var props = assign({}, baseProps);\n var defaultProps = Component.defaultProps;\n\n for (var propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n }\n\n return baseProps;\n}\n\nvar fakeInternalInstance = {};\nvar didWarnAboutStateAssignmentForComponent;\nvar didWarnAboutUninitializedState;\nvar didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;\nvar didWarnAboutLegacyLifecyclesAndDerivedState;\nvar didWarnAboutUndefinedDerivedState;\nvar didWarnAboutDirectlyAssigningPropsToState;\nvar didWarnAboutContextTypeAndContextTypes;\nvar didWarnAboutInvalidateContextType;\nvar didWarnOnInvalidCallback;\n\n{\n didWarnAboutStateAssignmentForComponent = new Set();\n didWarnAboutUninitializedState = new Set();\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();\n didWarnAboutLegacyLifecyclesAndDerivedState = new Set();\n didWarnAboutDirectlyAssigningPropsToState = new Set();\n didWarnAboutUndefinedDerivedState = new Set();\n didWarnAboutContextTypeAndContextTypes = new Set();\n didWarnAboutInvalidateContextType = new Set();\n didWarnOnInvalidCallback = new Set(); // This is so gross but it's at least non-critical and can be removed if\n // it causes problems. This is meant to give a nicer error message for\n // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component,\n // ...)) which otherwise throws a \"_processChildContext is not a function\"\n // exception.\n\n Object.defineProperty(fakeInternalInstance, '_processChildContext', {\n enumerable: false,\n value: function () {\n throw new Error('_processChildContext is not available in React 16+. This likely ' + 'means you have multiple copies of React and are attempting to nest ' + 'a React 15 tree inside a React 16 tree using ' + \"unstable_renderSubtreeIntoContainer, which isn't supported. Try \" + 'to make sure you have only one copy of React (and ideally, switch ' + 'to ReactDOM.createPortal).');\n }\n });\n Object.freeze(fakeInternalInstance);\n}\n\nfunction warnOnInvalidCallback$1(callback) {\n {\n if (callback === null || typeof callback === 'function') {\n return;\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var key = String(callback);\n\n if (!didWarnOnInvalidCallback.has(key)) {\n didWarnOnInvalidCallback.add(key);\n\n error('Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\n }\n }\n}\n\nfunction warnOnUndefinedDerivedState(type, partialState) {\n {\n if (partialState === undefined) {\n var componentName = getComponentNameFromType(type) || 'Component';\n\n if (!didWarnAboutUndefinedDerivedState.has(componentName)) {\n didWarnAboutUndefinedDerivedState.add(componentName);\n\n error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);\n }\n }\n }\n}\n\nfunction applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {\n var prevState = workInProgress.memoizedState;\n var partialState = getDerivedStateFromProps(nextProps, prevState);\n\n {\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n partialState = getDerivedStateFromProps(nextProps, prevState);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n warnOnUndefinedDerivedState(ctor, partialState);\n } // Merge the partial state and the previous state.\n\n\n var memoizedState = partialState === null || partialState === undefined ? prevState : assign({}, prevState, partialState);\n workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the\n // base state.\n\n if (workInProgress.lanes === NoLanes) {\n // Queue is always non-null for classes\n var updateQueue = workInProgress.updateQueue;\n updateQueue.baseState = memoizedState;\n }\n}\n\nvar classComponentUpdater = {\n isMounted: isMounted,\n // $FlowFixMe[missing-local-annot]\n enqueueSetState: function (inst, payload, callback) {\n var fiber = get(inst);\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(lane);\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback$1(callback);\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueReplaceState: function (inst, payload, callback) {\n var fiber = get(inst);\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(lane);\n update.tag = ReplaceState;\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback$1(callback);\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n // $FlowFixMe[missing-local-annot]\n enqueueForceUpdate: function (inst, callback) {\n var fiber = get(inst);\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(lane);\n update.tag = ForceUpdate;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback$1(callback);\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markForceUpdateScheduled(fiber, lane);\n }\n }\n};\n\nfunction checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {\n var instance = workInProgress.stateNode;\n\n if (typeof instance.shouldComponentUpdate === 'function') {\n var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n\n {\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n if (shouldUpdate === undefined) {\n error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentNameFromType(ctor) || 'Component');\n }\n }\n\n return shouldUpdate;\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent) {\n return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState);\n }\n\n return true;\n}\n\nfunction checkClassInstance(workInProgress, ctor, newProps) {\n var instance = workInProgress.stateNode;\n\n {\n var name = getComponentNameFromType(ctor) || 'Component';\n var renderPresent = instance.render;\n\n if (!renderPresent) {\n if (ctor.prototype && typeof ctor.prototype.render === 'function') {\n error('No `render` method found on the %s ' + 'instance: did you accidentally return an object from the constructor?', name);\n } else {\n error('No `render` method found on the %s ' + 'instance: you may have forgotten to define `render`.', name);\n }\n }\n\n if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {\n error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);\n }\n\n if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);\n }\n\n if (instance.propTypes) {\n error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);\n }\n\n if (instance.contextType) {\n error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);\n }\n\n {\n if (instance.contextTypes) {\n error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);\n }\n\n if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {\n didWarnAboutContextTypeAndContextTypes.add(ctor);\n\n error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);\n }\n }\n\n if (typeof instance.componentShouldUpdate === 'function') {\n error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {\n error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentNameFromType(ctor) || 'A pure component');\n }\n\n if (typeof instance.componentDidUnmount === 'function') {\n error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);\n }\n\n if (typeof instance.componentDidReceiveProps === 'function') {\n error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);\n }\n\n if (typeof instance.componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);\n }\n\n if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);\n }\n\n var hasMutatedProps = instance.props !== newProps;\n\n if (instance.props !== undefined && hasMutatedProps) {\n error('When calling super() in `%s`, make sure to pass ' + \"up the same props that your component's constructor was passed.\", name);\n }\n\n if (instance.defaultProps) {\n error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);\n\n error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentNameFromType(ctor));\n }\n\n if (typeof instance.getDerivedStateFromProps === 'function') {\n error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof instance.getDerivedStateFromError === 'function') {\n error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof ctor.getSnapshotBeforeUpdate === 'function') {\n error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);\n }\n\n var state = instance.state;\n\n if (state && (typeof state !== 'object' || isArray(state))) {\n error('%s.state: must be set to an object or null', name);\n }\n\n if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {\n error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);\n }\n }\n}\n\nfunction adoptClassInstance(workInProgress, instance) {\n instance.updater = classComponentUpdater;\n workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates\n\n set(instance, workInProgress);\n\n {\n instance._reactInternalInstance = fakeInternalInstance;\n }\n}\n\nfunction constructClassInstance(workInProgress, ctor, props) {\n var isLegacyContextConsumer = false;\n var unmaskedContext = emptyContextObject;\n var context = emptyContextObject;\n var contextType = ctor.contextType;\n\n {\n if ('contextType' in ctor) {\n var isValid = // Allow null for conditional declaration\n contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE;\n\n if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {\n didWarnAboutInvalidateContextType.add(ctor);\n var addendum = '';\n\n if (contextType === undefined) {\n addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';\n } else if (typeof contextType !== 'object') {\n addendum = ' However, it is set to a ' + typeof contextType + '.';\n } else if (contextType.$$typeof === REACT_CONSUMER_TYPE) {\n addendum = ' Did you accidentally pass the Context.Consumer instead?';\n } else {\n addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';\n }\n\n error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentNameFromType(ctor) || 'Component', addendum);\n }\n }\n }\n\n if (typeof contextType === 'object' && contextType !== null) {\n context = readContext(contextType);\n } else {\n unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n var contextTypes = ctor.contextTypes;\n isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined;\n context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject;\n }\n\n var instance = new ctor(props, context); // Instantiate twice to help detect side-effects.\n\n {\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance = new ctor(props, context); // eslint-disable-line no-new\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null;\n adoptClassInstance(workInProgress, instance);\n\n {\n if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutUninitializedState.has(componentName)) {\n didWarnAboutUninitializedState.add(componentName);\n\n error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);\n }\n } // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Warn about these lifecycles if they are present.\n // Don't warn about react-lifecycles-compat polyfilled methods though.\n\n\n if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n\n if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {\n foundWillMountName = 'componentWillMount';\n } else if (typeof instance.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n\n if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {\n var _componentName = getComponentNameFromType(ctor) || 'Component';\n\n var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';\n\n if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {\n didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);\n\n error('Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\\n\\n' + 'The above lifecycles should be removed. Learn more about this warning here:\\n' + 'https://reactjs.org/link/unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? \"\\n \" + foundWillMountName : '', foundWillReceivePropsName !== null ? \"\\n \" + foundWillReceivePropsName : '', foundWillUpdateName !== null ? \"\\n \" + foundWillUpdateName : '');\n }\n }\n }\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // ReactFiberContext usually updates this cache but can't for newly-created instances.\n\n\n if (isLegacyContextConsumer) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return instance;\n}\n\nfunction callComponentWillMount(workInProgress, instance) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n\n if (oldState !== instance.state) {\n {\n error('%s.componentWillMount(): Assigning directly to this.state is ' + \"deprecated (except inside a component's \" + 'constructor). Use setState instead.', getComponentNameFromFiber(workInProgress) || 'Component');\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n}\n\nfunction callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillReceiveProps === 'function') {\n instance.componentWillReceiveProps(newProps, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n }\n\n if (instance.state !== oldState) {\n {\n var componentName = getComponentNameFromFiber(workInProgress) || 'Component';\n\n if (!didWarnAboutStateAssignmentForComponent.has(componentName)) {\n didWarnAboutStateAssignmentForComponent.add(componentName);\n\n error('%s.componentWillReceiveProps(): Assigning directly to ' + \"this.state is deprecated (except inside a component's \" + 'constructor). Use setState instead.', componentName);\n }\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n} // Invokes the mount life-cycles on a previously never rendered instance.\n\n\nfunction mountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n {\n checkClassInstance(workInProgress, ctor, newProps);\n }\n\n var instance = workInProgress.stateNode;\n instance.props = newProps;\n instance.state = workInProgress.memoizedState;\n instance.refs = {};\n initializeUpdateQueue(workInProgress);\n var contextType = ctor.contextType;\n\n if (typeof contextType === 'object' && contextType !== null) {\n instance.context = readContext(contextType);\n } else {\n var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n instance.context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n {\n if (instance.state === newProps) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {\n didWarnAboutDirectlyAssigningPropsToState.add(componentName);\n\n error('%s: It is not recommended to assign props directly to state ' + \"because updates to props won't be reflected in state. \" + 'In most cases, it is better to use props directly.', componentName);\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance);\n }\n\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance);\n }\n\n instance.state = workInProgress.memoizedState;\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n instance.state = workInProgress.memoizedState;\n } // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n\n if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's\n // process them now.\n\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n instance.state = workInProgress.memoizedState;\n }\n\n if (typeof instance.componentDidMount === 'function') {\n workInProgress.flags |= Update | LayoutStatic;\n }\n\n if ((workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags |= MountLayoutDev;\n }\n}\n\nfunction resumeMountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n var oldProps = workInProgress.memoizedProps;\n instance.props = oldProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (oldProps !== newProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n newState = workInProgress.memoizedState;\n\n if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n workInProgress.flags |= Update | LayoutStatic;\n }\n\n if ((workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags |= MountLayoutDev;\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n }\n\n if (typeof instance.componentDidMount === 'function') {\n workInProgress.flags |= Update | LayoutStatic;\n }\n\n if ((workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags |= MountLayoutDev;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n workInProgress.flags |= Update | LayoutStatic;\n }\n\n if ((workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags |= MountLayoutDev;\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n} // Invokes the update life-cycles and returns false if it shouldn't rerender.\n\n\nfunction updateClassInstance(current, workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n var unresolvedOldProps = workInProgress.memoizedProps;\n var oldProps = workInProgress.type === workInProgress.elementType ? unresolvedOldProps : resolveDefaultProps(workInProgress.type, unresolvedOldProps);\n instance.props = oldProps;\n var unresolvedNewProps = workInProgress.pendingProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (unresolvedOldProps !== unresolvedNewProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n newState = workInProgress.memoizedState;\n\n if (unresolvedOldProps === unresolvedNewProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing() && !(enableLazyContextPropagation )) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) || // TODO: In some cases, we'll end up checking if context has changed twice,\n // both before and after `shouldComponentUpdate` has been called. Not ideal,\n // but I'm loath to refactor this function. This only happens for memoized\n // components so it's not that common.\n enableLazyContextPropagation ;\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) {\n if (typeof instance.componentWillUpdate === 'function') {\n instance.componentWillUpdate(newProps, newState, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext);\n }\n }\n\n if (typeof instance.componentDidUpdate === 'function') {\n workInProgress.flags |= Update;\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n workInProgress.flags |= Snapshot;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized props/state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n}\n\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n // If the value is an error, call this function immediately after it is thrown\n // so the stack is accurate.\n var stack;\n\n if (typeof value === 'object' && value !== null) {\n var capturedStack = CapturedStacks.get(value);\n\n if (typeof capturedStack === 'string') {\n stack = capturedStack;\n } else {\n stack = getStackByFiberInDevAndProd(source);\n CapturedStacks.set(value, stack);\n }\n } else {\n stack = getStackByFiberInDevAndProd(source);\n }\n\n return {\n value: value,\n source: source,\n stack: stack,\n digest: null\n };\n}\nfunction createCapturedValueFromError(value, digest, stack) {\n if (typeof stack === 'string') {\n CapturedStacks.set(value, stack);\n }\n\n return {\n value: value,\n source: null,\n stack: stack != null ? stack : null,\n digest: digest != null ? digest : null\n };\n}\n\n// This module is forked in different environments.\n// By default, return `true` to log errors to the console.\n// Forks can return `false` if this isn't desirable.\nfunction showErrorDialog(boundary, errorInfo) {\n return true;\n}\n\nfunction logCapturedError(boundary, errorInfo) {\n try {\n var logError = showErrorDialog(boundary, errorInfo); // Allow injected showErrorDialog() to prevent default console.error logging.\n // This enables renderers like ReactNative to better manage redbox behavior.\n\n if (logError === false) {\n return;\n }\n\n var error = errorInfo.value;\n\n if (true) {\n var source = errorInfo.source;\n var stack = errorInfo.stack;\n var componentStack = stack !== null ? stack : ''; // Browsers support silencing uncaught errors by calling\n // `preventDefault()` in window `error` handler.\n // We record this information as an expando on the error.\n\n if (error != null && error._suppressLogging) {\n if (boundary.tag === ClassComponent) {\n // The error is recoverable and was silenced.\n // Ignore it and don't print the stack addendum.\n // This is handy for testing error boundaries without noise.\n return;\n } // The error is fatal. Since the silencing might have\n // been accidental, we'll surface it anyway.\n // However, the browser would have silenced the original error\n // so we'll print it first, and then print the stack addendum.\n\n\n console['error'](error); // Don't transform to our wrapper\n // For a more detailed description of this block, see:\n // https://github.com/facebook/react/pull/13384\n }\n\n var componentName = source ? getComponentNameFromFiber(source) : null;\n var componentNameMessage = componentName ? \"The above error occurred in the <\" + componentName + \"> component:\" : 'The above error occurred in one of your React components:';\n var errorBoundaryMessage;\n\n if (boundary.tag === HostRoot) {\n errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\\n' + 'Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.';\n } else {\n var errorBoundaryName = getComponentNameFromFiber(boundary) || 'Anonymous';\n errorBoundaryMessage = \"React will try to recreate this component tree from scratch \" + (\"using the error boundary you provided, \" + errorBoundaryName + \".\");\n }\n\n var combinedMessage = componentNameMessage + \"\\n\" + componentStack + \"\\n\\n\" + (\"\" + errorBoundaryMessage); // In development, we provide our own message with just the component stack.\n // We don't include the original error message and JS stack because the browser\n // has already printed it. Even if the application swallows the error, it is still\n // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils.\n\n console['error'](combinedMessage); // Don't transform to our wrapper\n }\n } catch (e) {\n // This method must not throw, or React internal state will get messed up.\n // If console.error is overridden, or logCapturedError() shows a dialog that throws,\n // we want to report this error outside of the normal stack as a last resort.\n // https://github.com/facebook/react/issues/13188\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction createRootErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(lane); // Unmount the root by rendering null.\n\n update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: null\n };\n var error = errorInfo.value;\n\n update.callback = function () {\n onUncaughtError(error);\n logCapturedError(fiber, errorInfo);\n };\n\n return update;\n}\n\nfunction createClassErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(lane);\n update.tag = CaptureUpdate;\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n\n if (typeof getDerivedStateFromError === 'function') {\n var error$1 = errorInfo.value;\n\n update.payload = function () {\n return getDerivedStateFromError(error$1);\n };\n\n update.callback = function () {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n };\n }\n\n var inst = fiber.stateNode;\n\n if (inst !== null && typeof inst.componentDidCatch === 'function') {\n // $FlowFixMe[missing-this-annot]\n update.callback = function callback() {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n\n if (typeof getDerivedStateFromError !== 'function') {\n // To preserve the preexisting retry behavior of error boundaries,\n // we keep track of which ones already failed during this batch.\n // This gets reset before we yield back to the browser.\n // TODO: Warn in strict mode if getDerivedStateFromError is\n // not defined.\n markLegacyErrorBoundaryAsFailed(this);\n }\n\n var error$1 = errorInfo.value;\n var stack = errorInfo.stack;\n this.componentDidCatch(error$1, {\n componentStack: stack !== null ? stack : ''\n });\n\n {\n if (typeof getDerivedStateFromError !== 'function') {\n // If componentDidCatch is the only error boundary method defined,\n // then it needs to call setState to recover from errors.\n // If no state update is scheduled then the boundary will swallow the error.\n if (!includesSomeLane(fiber.lanes, SyncLane)) {\n error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentNameFromFiber(fiber) || 'Unknown');\n }\n }\n }\n };\n }\n\n return update;\n}\n\nfunction resetSuspendedComponent(sourceFiber, rootRenderLanes) {\n // A legacy mode Suspense quirk, only relevant to hook components.\n\n\n var tag = sourceFiber.tag;\n\n if ((sourceFiber.mode & ConcurrentMode) === NoMode && (tag === FunctionComponent || tag === ForwardRef || tag === SimpleMemoComponent)) {\n var currentSource = sourceFiber.alternate;\n\n if (currentSource) {\n sourceFiber.updateQueue = currentSource.updateQueue;\n sourceFiber.memoizedState = currentSource.memoizedState;\n sourceFiber.lanes = currentSource.lanes;\n } else {\n sourceFiber.updateQueue = null;\n sourceFiber.memoizedState = null;\n }\n }\n}\n\nfunction markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes) {\n // This marks a Suspense boundary so that when we're unwinding the stack,\n // it captures the suspended \"exception\" and does a second (fallback) pass.\n if ((suspenseBoundary.mode & ConcurrentMode) === NoMode) {\n // Legacy Mode Suspense\n //\n // If the boundary is in legacy mode, we should *not*\n // suspend the commit. Pretend as if the suspended component rendered\n // null and keep rendering. When the Suspense boundary completes,\n // we'll do a second pass to render the fallback.\n if (suspenseBoundary === returnFiber) {\n // Special case where we suspended while reconciling the children of\n // a Suspense boundary's inner Offscreen wrapper fiber. This happens\n // when a React.lazy component is a direct child of a\n // Suspense boundary.\n //\n // Suspense boundaries are implemented as multiple fibers, but they\n // are a single conceptual unit. The legacy mode behavior where we\n // pretend the suspended fiber committed as `null` won't work,\n // because in this case the \"suspended\" fiber is the inner\n // Offscreen wrapper.\n //\n // Because the contents of the boundary haven't started rendering\n // yet (i.e. nothing in the tree has partially rendered) we can\n // switch to the regular, concurrent mode behavior: mark the\n // boundary with ShouldCapture and enter the unwind phase.\n suspenseBoundary.flags |= ShouldCapture;\n } else {\n suspenseBoundary.flags |= DidCapture;\n sourceFiber.flags |= ForceUpdateForLegacySuspense; // We're going to commit this fiber even though it didn't complete.\n // But we shouldn't call any lifecycle methods or callbacks. Remove\n // all lifecycle effect tags.\n\n sourceFiber.flags &= ~(LifecycleEffectMask | Incomplete);\n\n if (sourceFiber.tag === ClassComponent) {\n var currentSourceFiber = sourceFiber.alternate;\n\n if (currentSourceFiber === null) {\n // This is a new mount. Change the tag so it's not mistaken for a\n // completed class component. For example, we should not call\n // componentWillUnmount if it is deleted.\n sourceFiber.tag = IncompleteClassComponent;\n } else {\n // When we try rendering again, we should not reuse the current fiber,\n // since it's known to be in an inconsistent state. Use a force update to\n // prevent a bail out.\n var update = createUpdate(SyncLane);\n update.tag = ForceUpdate;\n enqueueUpdate(sourceFiber, update, SyncLane);\n }\n } // The source fiber did not complete. Mark it with Sync priority to\n // indicate that it still has pending work.\n\n\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, SyncLane);\n }\n\n return suspenseBoundary;\n } // Confirmed that the boundary is in a concurrent mode tree. Continue\n // with the normal suspend path.\n //\n // After this we'll use a set of heuristics to determine whether this\n // render pass will run to completion or restart or \"suspend\" the commit.\n // The actual logic for this is spread out in different places.\n //\n // This first principle is that if we're going to suspend when we complete\n // a root, then we should also restart if we get an update or ping that\n // might unsuspend it, and vice versa. The only reason to suspend is\n // because you think you might want to restart before committing. However,\n // it doesn't make sense to restart only while in the period we're suspended.\n //\n // Restarting too aggressively is also not good because it starves out any\n // intermediate loading state. So we use heuristics to determine when.\n // Suspense Heuristics\n //\n // If nothing threw a Promise or all the same fallbacks are already showing,\n // then don't suspend/restart.\n //\n // If this is an initial render of a new tree of Suspense boundaries and\n // those trigger a fallback, then don't suspend/restart. We want to ensure\n // that we can show the initial loading state as quickly as possible.\n //\n // If we hit a \"Delayed\" case, such as when we'd switch from content back into\n // a fallback, then we should always suspend/restart. Transitions apply\n // to this case. If none is defined, JND is used instead.\n //\n // If we're already showing a fallback and it gets \"retried\", allowing us to show\n // another level, but there's still an inner boundary that would show a fallback,\n // then we suspend/restart for 500ms since the last time we showed a fallback\n // anywhere in the tree. This effectively throttles progressive loading into a\n // consistent train of commits. This also gives us an opportunity to restart to\n // get to the completed state slightly earlier.\n //\n // If there's ambiguity due to batching it's resolved in preference of:\n // 1) \"delayed\", 2) \"initial render\", 3) \"retry\".\n //\n // We want to ensure that a \"busy\" state doesn't get force committed. We want to\n // ensure that new initial loading states can commit as soon as possible.\n\n\n suspenseBoundary.flags |= ShouldCapture; // TODO: I think we can remove this, since we now use `DidCapture` in\n // the begin phase to prevent an early bailout.\n\n suspenseBoundary.lanes = rootRenderLanes;\n return suspenseBoundary;\n}\n\nfunction throwException(root, returnFiber, sourceFiber, value, rootRenderLanes) {\n // The source fiber did not complete.\n sourceFiber.flags |= Incomplete;\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, rootRenderLanes);\n }\n }\n\n if (value !== null && typeof value === 'object') {\n\n if (typeof value.then === 'function') {\n // This is a wakeable. The component suspended.\n var wakeable = value;\n resetSuspendedComponent(sourceFiber);\n\n {\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n }\n }\n\n\n var suspenseBoundary = getSuspenseHandler();\n\n if (suspenseBoundary !== null) {\n switch (suspenseBoundary.tag) {\n case SuspenseComponent:\n {\n // If this suspense boundary is not already showing a fallback, mark\n // the in-progress render as suspended. We try to perform this logic\n // as soon as soon as possible during the render phase, so the work\n // loop can know things like whether it's OK to switch to other tasks,\n // or whether it can wait for data to resolve before continuing.\n // TODO: Most of these checks are already performed when entering a\n // Suspense boundary. We should track the information on the stack so\n // we don't have to recompute it on demand. This would also allow us\n // to unify with `use` which needs to perform this logic even sooner,\n // before `throwException` is called.\n if (sourceFiber.mode & ConcurrentMode) {\n if (getShellBoundary() === null) {\n // Suspended in the \"shell\" of the app. This is an undesirable\n // loading state. We should avoid committing this tree.\n renderDidSuspendDelayIfPossible();\n } else {\n // If we suspended deeper than the shell, we don't need to delay\n // the commmit. However, we still call renderDidSuspend if this is\n // a new boundary, to tell the work loop that a new fallback has\n // appeared during this render.\n // TODO: Theoretically we should be able to delete this branch.\n // It's currently used for two things: 1) to throttle the\n // appearance of successive loading states, and 2) in\n // SuspenseList, to determine whether the children include any\n // pending fallbacks. For 1, we should apply throttling to all\n // retries, not just ones that render an additional fallback. For\n // 2, we should check subtreeFlags instead. Then we can delete\n // this branch.\n var current = suspenseBoundary.alternate;\n\n if (current === null) {\n renderDidSuspend();\n }\n }\n }\n\n suspenseBoundary.flags &= ~ForceClientRender;\n markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // Retry listener\n //\n // If the fallback does commit, we need to attach a different type of\n // listener. This one schedules an update on the Suspense boundary to\n // turn the fallback state off.\n //\n // Stash the wakeable on the boundary fiber so we can access it in the\n // commit phase.\n //\n // When the wakeable resolves, we'll attempt to render the boundary\n // again (\"retry\").\n // Check if this is a Suspensey resource. We do not attach retry\n // listeners to these, because we don't actually need them for\n // rendering. Only for committing. Instead, if a fallback commits\n // and the only thing that suspended was a Suspensey resource, we\n // retry immediately.\n // TODO: Refactor throwException so that we don't have to do this type\n // check. The caller already knows what the cause was.\n\n var isSuspenseyResource = wakeable === noopSuspenseyCommitThenable;\n\n if (isSuspenseyResource) {\n suspenseBoundary.flags |= ScheduleRetry;\n } else {\n var retryQueue = suspenseBoundary.updateQueue;\n\n if (retryQueue === null) {\n suspenseBoundary.updateQueue = new Set([wakeable]);\n } else {\n retryQueue.add(wakeable);\n } // We only attach ping listeners in concurrent mode. Legacy\n // Suspense always commits fallbacks synchronously, so there are\n // no pings.\n\n\n if (suspenseBoundary.mode & ConcurrentMode) {\n attachPingListener(root, wakeable, rootRenderLanes);\n }\n }\n\n return false;\n }\n\n case OffscreenComponent:\n {\n if (suspenseBoundary.mode & ConcurrentMode) {\n suspenseBoundary.flags |= ShouldCapture;\n\n var _isSuspenseyResource = wakeable === noopSuspenseyCommitThenable;\n\n if (_isSuspenseyResource) {\n suspenseBoundary.flags |= ScheduleRetry;\n } else {\n var offscreenQueue = suspenseBoundary.updateQueue;\n\n if (offscreenQueue === null) {\n var newOffscreenQueue = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([wakeable])\n };\n suspenseBoundary.updateQueue = newOffscreenQueue;\n } else {\n var _retryQueue = offscreenQueue.retryQueue;\n\n if (_retryQueue === null) {\n offscreenQueue.retryQueue = new Set([wakeable]);\n } else {\n _retryQueue.add(wakeable);\n }\n }\n\n attachPingListener(root, wakeable, rootRenderLanes);\n }\n\n return false;\n }\n }\n }\n\n throw new Error(\"Unexpected Suspense handler tag (\" + suspenseBoundary.tag + \"). This \" + 'is a bug in React.');\n } else {\n // No boundary was found. Unless this is a sync update, this is OK.\n // We can suspend and wait for more data to arrive.\n if (root.tag === ConcurrentRoot) {\n // In a concurrent root, suspending without a Suspense boundary is\n // allowed. It will suspend indefinitely without committing.\n //\n // TODO: Should we have different behavior for discrete updates? What\n // about flushSync? Maybe it should put the tree into an inert state,\n // and potentially log a warning. Revisit this for a future release.\n attachPingListener(root, wakeable, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return false;\n } else {\n // In a legacy root, suspending without a boundary is always an error.\n var uncaughtSuspenseError = new Error('A component suspended while responding to synchronous input. This ' + 'will cause the UI to be replaced with a loading indicator. To ' + 'fix, updates that suspend should be wrapped ' + 'with startTransition.');\n value = uncaughtSuspenseError;\n }\n }\n }\n } // This is a regular error, not a Suspense wakeable.\n\n\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n\n var _suspenseBoundary = getSuspenseHandler(); // If the error was thrown during hydration, we may be able to recover by\n // discarding the dehydrated content and switching to a client render.\n // Instead of surfacing the error, find the nearest Suspense boundary\n // and render it again without hydration.\n\n\n if (_suspenseBoundary !== null) {\n if ((_suspenseBoundary.flags & ShouldCapture) === NoFlags$1) {\n // Set a flag to indicate that we should try rendering the normal\n // children again, not the fallback.\n _suspenseBoundary.flags |= ForceClientRender;\n }\n\n markSuspenseBoundaryShouldCapture(_suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // Even though the user may not be affected by this error, we should\n // still log it so it can be fixed.\n\n queueHydrationError(createCapturedValueAtFiber(value, sourceFiber));\n return false;\n }\n }\n\n value = createCapturedValueAtFiber(value, sourceFiber);\n renderDidError(value); // We didn't find a boundary that could handle this type of exception. Start\n // over and traverse parent path again, this time treating the exception\n // as an error.\n\n if (returnFiber === null) {\n // There's no return fiber, which means the root errored. This should never\n // happen. Return `true` to trigger a fatal error (panic).\n return true;\n }\n\n var workInProgress = returnFiber;\n\n do {\n switch (workInProgress.tag) {\n case HostRoot:\n {\n var _errorInfo = value;\n workInProgress.flags |= ShouldCapture;\n var lane = pickArbitraryLane(rootRenderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane);\n var update = createRootErrorUpdate(workInProgress, _errorInfo, lane);\n enqueueCapturedUpdate(workInProgress, update);\n return false;\n }\n\n case ClassComponent:\n // Capture and retry\n var errorInfo = value;\n var ctor = workInProgress.type;\n var instance = workInProgress.stateNode;\n\n if ((workInProgress.flags & DidCapture) === NoFlags$1 && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) {\n workInProgress.flags |= ShouldCapture;\n\n var _lane = pickArbitraryLane(rootRenderLanes);\n\n workInProgress.lanes = mergeLanes(workInProgress.lanes, _lane); // Schedule the error boundary to re-render using updated state\n\n var _update = createClassErrorUpdate(workInProgress, errorInfo, _lane);\n\n enqueueCapturedUpdate(workInProgress, _update);\n return false;\n }\n\n break;\n } // $FlowFixMe[incompatible-type] we bail out when we get a null\n\n\n workInProgress = workInProgress.return;\n } while (workInProgress !== null);\n\n return false;\n}\n\nvar ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner; // A special exception that's used to unwind the stack when an update flows\n// into a dehydrated boundary.\n\nvar SelectiveHydrationException = new Error(\"This is not a real error. It's an implementation detail of React's \" + \"selective hydration feature. If this leaks into userspace, it's a bug in \" + 'React. Please file an issue.');\nvar didReceiveUpdate = false;\nvar didWarnAboutBadClass;\nvar didWarnAboutModulePatternComponent;\nvar didWarnAboutContextTypeOnFunctionComponent;\nvar didWarnAboutGetDerivedStateOnFunctionComponent;\nvar didWarnAboutFunctionRefs;\nvar didWarnAboutReassigningProps;\nvar didWarnAboutRevealOrder;\nvar didWarnAboutTailOptions;\nvar didWarnAboutDefaultPropsOnFunctionComponent;\n\n{\n didWarnAboutBadClass = {};\n didWarnAboutModulePatternComponent = {};\n didWarnAboutContextTypeOnFunctionComponent = {};\n didWarnAboutGetDerivedStateOnFunctionComponent = {};\n didWarnAboutFunctionRefs = {};\n didWarnAboutReassigningProps = false;\n didWarnAboutRevealOrder = {};\n didWarnAboutTailOptions = {};\n didWarnAboutDefaultPropsOnFunctionComponent = {};\n}\n\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n if (current === null) {\n // If this is a fresh new component that hasn't been rendered yet, we\n // won't update its child set by applying minimal side-effects. Instead,\n // we will add them all to the child before it gets rendered. That means\n // we can optimize this reconciliation pass by not tracking side-effects.\n workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n // If the current child is the same as the work in progress, it means that\n // we haven't yet started any work on these children. Therefore, we use\n // the clone algorithm to create a copy of all the current children.\n // If we had any progressed work already, that is invalid at this point so\n // let's throw it out.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderLanes);\n }\n}\n\nfunction forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes) {\n // This function is fork of reconcileChildren. It's used in cases where we\n // want to reconcile without matching against the existing set. This has the\n // effect of all current children being unmounted; even if the type and key\n // are the same, the old child is unmounted and a new child is created.\n //\n // To do this, we're going to go through the reconcile algorithm twice. In\n // the first pass, we schedule a deletion for all the current children by\n // passing null.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderLanes); // In the second pass, we mount the new children. The trick here is that we\n // pass null in place of where we usually pass the current child set. This has\n // the effect of remounting all children regardless of whether their\n // identities match.\n\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n}\n\nfunction updateForwardRef(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens after the first render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n var render = Component.render;\n var ref = workInProgress.ref;\n var propsWithoutRef;\n\n {\n propsWithoutRef = nextProps;\n } // The rest is a fork of updateFunctionComponent\n\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$2.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, render, propsWithoutRef, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n if (current === null) {\n var type = Component.type;\n\n if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.\n Component.defaultProps === undefined) {\n var resolvedType = type;\n\n {\n resolvedType = resolveFunctionForHotReloading(type);\n } // If this is a plain function component without default props,\n // and with only the default shallow comparison, we upgrade it\n // to a SimpleMemoComponent to allow fast path updates.\n\n\n workInProgress.tag = SimpleMemoComponent;\n workInProgress.type = resolvedType;\n\n {\n validateFunctionComponentInDev(workInProgress, type);\n }\n\n return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, renderLanes);\n }\n\n {\n if (Component.defaultProps !== undefined) {\n var componentName = getComponentNameFromType(type) || 'Unknown';\n\n if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {\n error('%s: Support for defaultProps will be removed from memo components ' + 'in a future major release. Use JavaScript default parameters instead.', componentName);\n\n didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true;\n }\n }\n }\n\n var child = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress, workInProgress.mode, renderLanes);\n child.ref = workInProgress.ref;\n child.return = workInProgress;\n workInProgress.child = child;\n return child;\n }\n\n var currentChild = current.child; // This is always exactly one child\n\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext) {\n // This will be the props with resolved defaultProps,\n // unlike current.memoizedProps which will be the unresolved ones.\n var prevProps = currentChild.memoizedProps; // Default to shallow comparison\n\n var compare = Component.compare;\n compare = compare !== null ? compare : shallowEqual;\n\n if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n var newChild = createWorkInProgress(currentChild, nextProps);\n newChild.ref = workInProgress.ref;\n newChild.return = workInProgress;\n workInProgress.child = newChild;\n return newChild;\n}\n\nfunction updateSimpleMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens when the inner render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n if (current !== null) {\n var prevProps = current.memoizedProps;\n\n if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload.\n workInProgress.type === current.type )) {\n didReceiveUpdate = false; // The props are shallowly equal. Reuse the previous props object, like we\n // would during a normal fiber bailout.\n //\n // We don't have strong guarantees that the props object is referentially\n // equal during updates where we can't bail out anyway — like if the props\n // are shallowly equal, but there's a local state or context update in the\n // same batch.\n //\n // However, as a principle, we should aim to make the behavior consistent\n // across different ways of memoizing a component. For example, React.memo\n // has a different internal Fiber layout if you pass a normal function\n // component (SimpleMemoComponent) versus if you pass a different type\n // like forwardRef (MemoComponent). But this is an implementation detail.\n // Wrapping a component in forwardRef (or React.lazy, etc) shouldn't\n // affect whether the props object is reused during a bailout.\n\n workInProgress.pendingProps = nextProps = prevProps;\n\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n // The pending lanes were cleared at the beginning of beginWork. We're\n // about to bail out, but there might be other lanes that weren't\n // included in the current render. Usually, the priority level of the\n // remaining updates is accumulated during the evaluation of the\n // component (i.e. when processing the update queue). But since since\n // we're bailing out early *without* evaluating the component, we need\n // to account for it here, too. Reset to the value of the current fiber.\n // NOTE: This only applies to SimpleMemoComponent, not MemoComponent,\n // because a MemoComponent fiber does not have hooks or an update queue;\n // rather, it wraps around an inner component, which may or may not\n // contains hooks.\n // TODO: Move the reset at in beginWork out of the common path so that\n // this is no longer necessary.\n workInProgress.lanes = current.lanes;\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n } else if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags$1) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n }\n }\n }\n\n return updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes);\n}\n\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n var nextIsDetached = (workInProgress.stateNode._pendingVisibility & OffscreenDetached) !== 0;\n var prevState = current !== null ? current.memoizedState : null;\n markRef(current, workInProgress);\n\n if (nextProps.mode === 'hidden' || enableLegacyHidden || nextIsDetached) {\n // Rendering a hidden tree.\n var didSuspend = (workInProgress.flags & DidCapture) !== NoFlags$1;\n\n if (didSuspend) {\n // Something suspended inside a hidden tree\n // Include the base lanes from the last render\n var nextBaseLanes = prevState !== null ? mergeLanes(prevState.baseLanes, renderLanes) : renderLanes;\n\n if (current !== null) {\n // Reset to the current children\n var currentChild = workInProgress.child = current.child; // The current render suspended, but there may be other lanes with\n // pending work. We can't read `childLanes` from the current Offscreen\n // fiber because we reset it when it was deferred; however, we can read\n // the pending lanes from the child fibers.\n\n var currentChildLanes = NoLanes;\n\n while (currentChild !== null) {\n currentChildLanes = mergeLanes(mergeLanes(currentChildLanes, currentChild.lanes), currentChild.childLanes);\n currentChild = currentChild.sibling;\n }\n\n var lanesWeJustAttempted = nextBaseLanes;\n var remainingChildLanes = removeLanes(currentChildLanes, lanesWeJustAttempted);\n workInProgress.childLanes = remainingChildLanes;\n } else {\n workInProgress.childLanes = NoLanes;\n workInProgress.child = null;\n }\n\n return deferHiddenOffscreenComponent(current, workInProgress, nextBaseLanes);\n }\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy sync mode, don't defer the subtree. Render it now.\n // TODO: Consider how Offscreen should work with transitions in the future\n var nextState = {\n baseLanes: NoLanes,\n cachePool: null\n };\n workInProgress.memoizedState = nextState;\n\n {\n // push the cache pool even though we're going to bail out\n // because otherwise there'd be a context mismatch\n if (current !== null) {\n pushTransition(workInProgress, null);\n }\n }\n\n reuseHiddenContextOnStack(workInProgress);\n pushOffscreenSuspenseHandler(workInProgress);\n } else if (!includesSomeLane(renderLanes, OffscreenLane)) {\n // We're hidden, and we're not rendering at Offscreen. We will bail out\n // and resume this tree later.\n // Schedule this fiber to re-render at Offscreen priority\n workInProgress.lanes = workInProgress.childLanes = laneToLanes(OffscreenLane); // Include the base lanes from the last render\n\n var _nextBaseLanes = prevState !== null ? mergeLanes(prevState.baseLanes, renderLanes) : renderLanes;\n\n return deferHiddenOffscreenComponent(current, workInProgress, _nextBaseLanes);\n } else {\n // This is the second render. The surrounding visible content has already\n // committed. Now we resume rendering the hidden tree.\n // Rendering at offscreen, so we can clear the base lanes.\n var _nextState = {\n baseLanes: NoLanes,\n cachePool: null\n };\n workInProgress.memoizedState = _nextState;\n\n if (current !== null) {\n // If the render that spawned this one accessed the cache pool, resume\n // using the same cache. Unless the parent changed, since that means\n // there was a refresh.\n var prevCachePool = prevState !== null ? prevState.cachePool : null; // TODO: Consider if and how Offscreen pre-rendering should\n // be attributed to the transition that spawned it\n\n pushTransition(workInProgress, prevCachePool);\n } // Push the lanes that were skipped when we bailed out.\n\n\n if (prevState !== null) {\n pushHiddenContext(workInProgress, prevState);\n } else {\n reuseHiddenContextOnStack(workInProgress);\n }\n\n pushOffscreenSuspenseHandler(workInProgress);\n }\n } else {\n // Rendering a visible tree.\n if (prevState !== null) {\n // We're going from hidden -> visible.\n var _prevCachePool = null;\n\n {\n // If the render that spawned this one accessed the cache pool, resume\n // using the same cache. Unless the parent changed, since that means\n // there was a refresh.\n _prevCachePool = prevState.cachePool;\n }\n\n pushTransition(workInProgress, _prevCachePool); // Push the lanes that were skipped when we bailed out.\n\n pushHiddenContext(workInProgress, prevState);\n reuseSuspenseHandlerOnStack(workInProgress); // Since we're not hidden anymore, reset the state\n\n workInProgress.memoizedState = null;\n } else {\n // We weren't previously hidden, and we still aren't, so there's nothing\n // special to do. Need to push to the stack regardless, though, to avoid\n // a push/pop misalignment.\n {\n // If the render that spawned this one accessed the cache pool, resume\n // using the same cache. Unless the parent changed, since that means\n // there was a refresh.\n if (current !== null) {\n pushTransition(workInProgress, null);\n }\n } // We're about to bail out, but we need to push this to the stack anyway\n // to avoid a push/pop misalignment.\n\n\n reuseHiddenContextOnStack(workInProgress);\n reuseSuspenseHandlerOnStack(workInProgress);\n }\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction deferHiddenOffscreenComponent(current, workInProgress, nextBaseLanes, renderLanes) {\n var nextState = {\n baseLanes: nextBaseLanes,\n // Save the cache pool so we can resume later.\n cachePool: getOffscreenDeferredCache() \n };\n workInProgress.memoizedState = nextState;\n\n {\n // push the cache pool even though we're going to bail out\n // because otherwise there'd be a context mismatch\n if (current !== null) {\n pushTransition(workInProgress, null);\n }\n } // We're about to bail out, but we need to push this to the stack anyway\n // to avoid a push/pop misalignment.\n\n\n reuseHiddenContextOnStack(workInProgress);\n pushOffscreenSuspenseHandler(workInProgress);\n\n return null;\n} // Note: These happen to have identical begin phases, for now. We shouldn't hold\n\nfunction updateCacheComponent(current, workInProgress, renderLanes) {\n\n prepareToReadContext(workInProgress, renderLanes);\n var parentCache = readContext(CacheContext);\n\n if (current === null) {\n // Initial mount. Request a fresh cache from the pool.\n var freshCache = requestCacheFromPool(renderLanes);\n var initialState = {\n parent: parentCache,\n cache: freshCache\n };\n workInProgress.memoizedState = initialState;\n initializeUpdateQueue(workInProgress);\n pushCacheProvider(workInProgress, freshCache);\n } else {\n // Check for updates\n if (includesSomeLane(current.lanes, renderLanes)) {\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, null, null, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n }\n\n var prevState = current.memoizedState;\n var nextState = workInProgress.memoizedState; // Compare the new parent cache to the previous to see detect there was\n // a refresh.\n\n if (prevState.parent !== parentCache) {\n // Refresh in parent. Update the parent.\n var derivedState = {\n parent: parentCache,\n cache: parentCache\n }; // Copied from getDerivedStateFromProps implementation. Once the update\n // queue is empty, persist the derived state onto the base state.\n\n workInProgress.memoizedState = derivedState;\n\n if (workInProgress.lanes === NoLanes) {\n var updateQueue = workInProgress.updateQueue;\n workInProgress.memoizedState = updateQueue.baseState = derivedState;\n }\n\n pushCacheProvider(workInProgress, parentCache); // No need to propagate a context change because the refreshed parent\n // already did.\n } else {\n // The parent didn't refresh. Now check if this cache did.\n var nextCache = nextState.cache;\n pushCacheProvider(workInProgress, nextCache);\n\n if (nextCache !== prevState.cache) {\n // This cache refreshed. Propagate a context change.\n propagateContextChange(workInProgress, CacheContext, renderLanes);\n }\n }\n }\n\n var nextChildren = workInProgress.pendingProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n} // This should only be called if the name changes\n\nfunction updateFragment(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMode(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateProfiler(current, workInProgress, renderLanes) {\n {\n workInProgress.flags |= Update;\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markRef(current, workInProgress) {\n // TODO: This is also where we should check the type of the ref and error if\n // an invalid one is passed, instead of during child reconcilation.\n var ref = workInProgress.ref;\n\n if (current === null && ref !== null || current !== null && current.ref !== ref) {\n // Schedule a Ref effect\n workInProgress.flags |= Ref;\n workInProgress.flags |= RefStatic;\n }\n}\n\nfunction updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes) {\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, true);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$2.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction replayFunctionComponent(current, workInProgress, nextProps, Component, secondArg, renderLanes) {\n // This function is used to replay a component that previously suspended,\n // after its data resolves. It's a simplified version of\n // updateFunctionComponent that reuses the hooks from the previous attempt.\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n var nextChildren = replaySuspendedComponentWithHooks(current, workInProgress, Component, nextProps, secondArg);\n var hasId = checkDidRenderIdHook();\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateClassComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n // This is used by DevTools to force a boundary to error.\n switch (shouldError(workInProgress)) {\n case false:\n {\n var _instance = workInProgress.stateNode;\n var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack.\n // Is there a better way to do this?\n\n var tempInstance = new ctor(workInProgress.memoizedProps, _instance.context);\n var state = tempInstance.state;\n\n _instance.updater.enqueueSetState(_instance, state, null);\n\n break;\n }\n\n case true:\n {\n workInProgress.flags |= DidCapture;\n workInProgress.flags |= ShouldCapture; // eslint-disable-next-line react-internal/prod-error-codes\n\n var error$1 = new Error('Simulated error coming from DevTools');\n var lane = pickArbitraryLane(renderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane); // Schedule the error boundary to re-render using updated state\n\n var update = createClassErrorUpdate(workInProgress, createCapturedValueAtFiber(error$1, workInProgress), lane);\n enqueueCapturedUpdate(workInProgress, update);\n break;\n }\n }\n } // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var instance = workInProgress.stateNode;\n var shouldUpdate;\n\n if (instance === null) {\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress); // In the initial pass we might need to construct the instance.\n\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n shouldUpdate = true;\n } else if (current === null) {\n // In a resume, we'll already have an instance we can reuse.\n shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderLanes);\n } else {\n shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderLanes);\n }\n\n var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes);\n\n {\n var inst = workInProgress.stateNode;\n\n if (shouldUpdate && inst.props !== nextProps) {\n if (!didWarnAboutReassigningProps) {\n error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentNameFromFiber(workInProgress) || 'a component');\n }\n\n didWarnAboutReassigningProps = true;\n }\n }\n\n return nextUnitOfWork;\n}\n\nfunction finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes) {\n // Refs should update even if shouldComponentUpdate returns false\n markRef(current, workInProgress);\n var didCaptureError = (workInProgress.flags & DidCapture) !== NoFlags$1;\n\n if (!shouldUpdate && !didCaptureError) {\n // Context providers should defer to sCU for rendering\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, false);\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n var instance = workInProgress.stateNode; // Rerender\n\n ReactCurrentOwner$2.current = workInProgress;\n var nextChildren;\n\n if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') {\n // If we captured an error, but getDerivedStateFromError is not defined,\n // unmount all the children. componentDidCatch will schedule an update to\n // re-render a fallback. This is temporary until we migrate everyone to\n // the new API.\n // TODO: Warn in a future release.\n nextChildren = null;\n\n {\n stopProfilerTimerIfRunning();\n }\n } else {\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n setIsRendering(true);\n nextChildren = instance.render();\n\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance.render();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n if (current !== null && didCaptureError) {\n // If we're recovering from an error, reconcile without reusing any of\n // the existing children. Conceptually, the normal children and the children\n // that are shown on error are two different sets, so we shouldn't reuse\n // normal children even if their identities match.\n forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n } // Memoize state using the values we just used to render.\n // TODO: Restructure so we never read values from the instance.\n\n\n workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it.\n\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, true);\n }\n\n return workInProgress.child;\n}\n\nfunction pushHostRootContext(workInProgress) {\n var root = workInProgress.stateNode;\n\n if (root.pendingContext) {\n pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context);\n } else if (root.context) {\n // Should always be set\n pushTopLevelContextObject(workInProgress, root.context, false);\n }\n\n pushHostContainer(workInProgress, root.containerInfo);\n}\n\nfunction updateHostRoot(current, workInProgress, renderLanes) {\n pushHostRootContext(workInProgress);\n\n if (current === null) {\n throw new Error('Should have a current fiber. This is a bug in React.');\n }\n\n var nextProps = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n var prevChildren = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n\n {\n var nextCache = nextState.cache;\n pushCacheProvider(workInProgress, nextCache);\n\n if (nextCache !== prevState.cache) {\n // The root cache refreshed.\n propagateContextChange(workInProgress, CacheContext, renderLanes);\n }\n } // This would ideally go inside processUpdateQueue, but because it suspends,\n // it needs to happen after the `pushCacheProvider` call above to avoid a\n // context stack mismatch. A bit unfortunate.\n\n\n suspendIfUpdateReadFromEntangledAsyncAction(); // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n var nextChildren = nextState.element;\n\n if (prevState.isDehydrated) {\n // This is a hydration root whose shell has not yet hydrated. We should\n // attempt to hydrate.\n // Flip isDehydrated to false to indicate that when this render\n // finishes, the root will no longer be dehydrated.\n var overrideState = {\n element: nextChildren,\n isDehydrated: false,\n cache: nextState.cache\n };\n var updateQueue = workInProgress.updateQueue; // `baseState` can always be the last state because the root doesn't\n // have reducer functions so it doesn't need rebasing.\n\n updateQueue.baseState = overrideState;\n workInProgress.memoizedState = overrideState;\n\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during a previous attempt to hydrate the shell, so we\n // forced a client render.\n var recoverableError = createCapturedValueAtFiber(new Error('There was an error while hydrating. Because the error happened outside ' + 'of a Suspense boundary, the entire root will switch to ' + 'client rendering.'), workInProgress);\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError);\n } else if (nextChildren !== prevChildren) {\n var _recoverableError = createCapturedValueAtFiber(new Error('This root received an early update, before anything was able ' + 'hydrate. Switched the entire root to client rendering.'), workInProgress);\n\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, _recoverableError);\n } else {\n // The outermost shell has not hydrated yet. Start hydrating.\n enterHydrationState(workInProgress);\n var child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n workInProgress.child = child;\n var node = child;\n\n while (node) {\n // Mark each child as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n node.flags = node.flags & ~Placement | Hydrating;\n node = node.sibling;\n }\n }\n } else {\n // Root is not dehydrated. Either this is a client-only root, or it\n // already hydrated.\n resetHydrationState();\n\n if (nextChildren === prevChildren) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nfunction mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError) {\n // Revert to client rendering.\n resetHydrationState();\n queueHydrationError(recoverableError);\n workInProgress.flags |= ForceClientRender;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostComponent$1(current, workInProgress, renderLanes) {\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n }\n\n pushHostContext(workInProgress);\n var type = workInProgress.type;\n var nextProps = workInProgress.pendingProps;\n var prevProps = current !== null ? current.memoizedProps : null;\n var nextChildren = nextProps.children;\n var isDirectTextChild = shouldSetTextContent(type, nextProps);\n\n if (isDirectTextChild) {\n // We special case a direct text child of a host node. This is a common\n // case. We won't handle it as a reified child. We will instead handle\n // this in the host environment that also has access to this prop. That\n // avoids allocating another HostText fiber and traversing it.\n nextChildren = null;\n } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) {\n // If we're switching from a direct text child to a normal child, or to\n // empty, we need to schedule the text content to be reset.\n workInProgress.flags |= ContentReset;\n }\n\n {\n var memoizedState = workInProgress.memoizedState;\n\n if (memoizedState !== null) {\n // This fiber has been upgraded to a stateful component. The only way\n // happens currently is for form actions. We use hooks to track the\n // pending and error state of the form.\n //\n // Once a fiber is upgraded to be stateful, it remains stateful for the\n // rest of its lifetime.\n var newState = renderTransitionAwareHostComponentWithHooks(current, workInProgress, renderLanes); // If the transition state changed, propagate the change to all the\n // descendents. We use Context as an implementation detail for this.\n //\n // This is intentionally set here instead of pushHostContext because\n // pushHostContext gets called before we process the state hook, to avoid\n // a state mismatch in the event that something suspends.\n //\n // NOTE: This assumes that there cannot be nested transition providers,\n // because the only renderer that implements this feature is React DOM,\n // and forms cannot be nested. If we did support nested providers, then\n // we would need to push a context value even for host fibers that\n // haven't been upgraded yet.\n\n {\n HostTransitionContext._currentValue = newState;\n }\n\n {\n if (didReceiveUpdate) {\n if (current !== null) {\n var oldStateHook = current.memoizedState;\n var oldState = oldStateHook.memoizedState; // This uses regular equality instead of Object.is because we assume\n // that host transition state doesn't include NaN as a valid type.\n\n if (oldState !== newState) {\n propagateContextChange(workInProgress, HostTransitionContext, renderLanes);\n }\n }\n }\n }\n }\n }\n\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostHoistable(current, workInProgress, renderLanes) {\n markRef(current, workInProgress);\n var currentProps = current === null ? null : current.memoizedProps;\n var resource = workInProgress.memoizedState = getResource(workInProgress.type, currentProps, workInProgress.pendingProps);\n\n if (current === null) {\n if (!getIsHydrating() && resource === null) {\n // This is not a Resource Hoistable and we aren't hydrating so we construct the instance.\n workInProgress.stateNode = createHoistableInstance(workInProgress.type, workInProgress.pendingProps, getRootHostContainer(), workInProgress);\n }\n } // Resources never have reconciler managed children. It is possible for\n // the host implementation of getResource to consider children in the\n // resource construction but they will otherwise be discarded. In practice\n // this precludes all but the simplest children and Host specific warnings\n // should be implemented to warn when children are passsed when otherwise not\n // expected\n\n\n return null;\n}\n\nfunction updateHostSingleton(current, workInProgress, renderLanes) {\n pushHostContext(workInProgress);\n\n if (current === null) {\n claimHydratableSingleton(workInProgress);\n }\n\n var nextChildren = workInProgress.pendingProps.children;\n\n if (current === null && !getIsHydrating()) {\n // Similar to Portals we append Singleton children in the commit phase. So we\n // Track insertions even on mount.\n // TODO: Consider unifying this with how the root works.\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n markRef(current, workInProgress);\n return workInProgress.child;\n}\n\nfunction updateHostText$1(current, workInProgress) {\n if (current === null) {\n tryToClaimNextHydratableTextInstance(workInProgress);\n } // Nothing to do here. This is terminal. We'll do the completion step\n // immediately after.\n\n\n return null;\n}\n\nfunction mountLazyComponent(_current, workInProgress, elementType, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var lazyComponent = elementType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n var Component = init(payload); // Store the unwrapped component in the type.\n\n workInProgress.type = Component;\n var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component);\n var resolvedProps = resolveDefaultProps(Component, props);\n var child;\n\n switch (resolvedTag) {\n case FunctionComponent:\n {\n {\n validateFunctionComponentInDev(workInProgress, Component);\n workInProgress.type = Component = resolveFunctionForHotReloading(Component);\n }\n\n child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ClassComponent:\n {\n {\n workInProgress.type = Component = resolveClassForHotReloading(Component);\n }\n\n child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ForwardRef:\n {\n {\n workInProgress.type = Component = resolveForwardRefForHotReloading(Component);\n }\n\n child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case MemoComponent:\n {\n child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too\n renderLanes);\n return child;\n }\n }\n\n var hint = '';\n\n {\n if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) {\n hint = ' Did you wrap a component in React.lazy() more than once?';\n }\n } // This message intentionally doesn't mention ForwardRef or MemoComponent\n // because the fact that it's a separate type of work is an\n // implementation detail.\n\n\n throw new Error(\"Element type is invalid. Received a promise that resolves to: \" + Component + \". \" + (\"Lazy element type must resolve to a class or function.\" + hint));\n}\n\nfunction mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress); // Promote the fiber to a class and try rendering again.\n\n workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent`\n // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n}\n\nfunction mountIndeterminateComponent(_current, workInProgress, Component, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, false);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var value;\n var hasId;\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n if (Component.prototype && typeof Component.prototype.render === 'function') {\n var componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutBadClass[componentName]) {\n error(\"The <%s /> component appears to have a render method, but doesn't extend React.Component. \" + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);\n\n didWarnAboutBadClass[componentName] = true;\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);\n }\n\n setIsRendering(true);\n ReactCurrentOwner$2.current = workInProgress;\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n {\n // Support for module components is deprecated and is removed behind a flag.\n // Whether or not it would crash later, we want to show a good message in DEV first.\n if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n var _componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);\n\n didWarnAboutModulePatternComponent[_componentName] = true;\n }\n }\n }\n\n if ( // Run these checks in production only if the flag is off.\n // Eventually we'll delete this branch altogether.\n typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n {\n var _componentName2 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName2]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName2, _componentName2, _componentName2);\n\n didWarnAboutModulePatternComponent[_componentName2] = true;\n }\n } // Proceed under the assumption that this is a class instance\n\n\n workInProgress.tag = ClassComponent; // Throw out any hooks that were used.\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext = false;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null;\n initializeUpdateQueue(workInProgress);\n adoptClassInstance(workInProgress, value);\n mountClassInstance(workInProgress, Component, props, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n } else {\n // Proceed under the assumption that this is a function component\n workInProgress.tag = FunctionComponent;\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n }\n\n reconcileChildren(null, workInProgress, value, renderLanes);\n\n {\n validateFunctionComponentInDev(workInProgress, Component);\n }\n\n return workInProgress.child;\n }\n}\n\nfunction validateFunctionComponentInDev(workInProgress, Component) {\n {\n if (Component) {\n if (Component.childContextTypes) {\n error('childContextTypes cannot be defined on a function component.\\n' + ' %s.childContextTypes = ...', Component.displayName || Component.name || 'Component');\n }\n }\n\n if (workInProgress.ref !== null) {\n var info = '';\n var componentName = getComponentNameFromType(Component) || 'Unknown';\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n var warningKey = componentName + '|' + (ownerName || '');\n\n if (!didWarnAboutFunctionRefs[warningKey]) {\n didWarnAboutFunctionRefs[warningKey] = true;\n\n error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info);\n }\n }\n\n if (Component.defaultProps !== undefined) {\n var _componentName3 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutDefaultPropsOnFunctionComponent[_componentName3]) {\n error('%s: Support for defaultProps will be removed from function components ' + 'in a future major release. Use JavaScript default parameters instead.', _componentName3);\n\n didWarnAboutDefaultPropsOnFunctionComponent[_componentName3] = true;\n }\n }\n\n if (typeof Component.getDerivedStateFromProps === 'function') {\n var _componentName4 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName4]) {\n error('%s: Function components do not support getDerivedStateFromProps.', _componentName4);\n\n didWarnAboutGetDerivedStateOnFunctionComponent[_componentName4] = true;\n }\n }\n\n if (typeof Component.contextType === 'object' && Component.contextType !== null) {\n var _componentName5 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutContextTypeOnFunctionComponent[_componentName5]) {\n error('%s: Function components do not support contextType.', _componentName5);\n\n didWarnAboutContextTypeOnFunctionComponent[_componentName5] = true;\n }\n }\n }\n}\n\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: NoLane\n};\n\nfunction mountSuspenseOffscreenState(renderLanes) {\n return {\n baseLanes: renderLanes,\n cachePool: getSuspendedCache()\n };\n}\n\nfunction updateSuspenseOffscreenState(prevOffscreenState, renderLanes) {\n var cachePool = null;\n\n {\n var prevCachePool = prevOffscreenState.cachePool;\n\n if (prevCachePool !== null) {\n var parentCache = CacheContext._currentValue ;\n\n if (prevCachePool.parent !== parentCache) {\n // Detected a refresh in the parent. This overrides any previously\n // suspended cache.\n cachePool = {\n parent: parentCache,\n pool: parentCache\n };\n } else {\n // We can reuse the cache from last time. The only thing that would have\n // overridden it is a parent refresh, which we checked for above.\n cachePool = prevCachePool;\n }\n } else {\n // If there's no previous cache pool, grab the current one.\n cachePool = getSuspendedCache();\n }\n }\n\n return {\n baseLanes: mergeLanes(prevOffscreenState.baseLanes, renderLanes),\n cachePool: cachePool\n };\n} // TODO: Probably should inline this back\n\n\nfunction shouldRemainOnFallback(current, workInProgress, renderLanes) {\n // If we're already showing a fallback, there are cases where we need to\n // remain on that fallback regardless of whether the content has resolved.\n // For example, SuspenseList coordinates when nested content appears.\n // TODO: For compatibility with offscreen prerendering, this should also check\n // whether the current fiber (if it exists) was visible in the previous tree.\n if (current !== null) {\n var suspenseState = current.memoizedState;\n\n if (suspenseState === null) {\n // Currently showing content. Don't hide it, even if ForceSuspenseFallback\n // is true. More precise name might be \"ForceRemainSuspenseFallback\".\n // Note: This is a factoring smell. Can't remain on a fallback if there's\n // no fallback to remain on.\n return false;\n }\n } // Not currently showing content. Consult the Suspense context.\n\n\n var suspenseContext = suspenseStackCursor.current;\n return hasSuspenseListContext(suspenseContext, ForceSuspenseFallback);\n}\n\nfunction getRemainingWorkInPrimaryTree(current, primaryTreeDidDefer, renderLanes) {\n var remainingLanes = current !== null ? removeLanes(current.childLanes, renderLanes) : NoLanes;\n\n if (primaryTreeDidDefer) {\n // A useDeferredValue hook spawned a deferred task inside the primary tree.\n // Ensure that we retry this component at the deferred priority.\n // TODO: We could make this a per-subtree value instead of a global one.\n // Would need to track it on the context stack somehow, similar to what\n // we'd have to do for resumable contexts.\n remainingLanes = mergeLanes(remainingLanes, peekDeferredLane());\n }\n\n return remainingLanes;\n}\n\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend.\n\n {\n if (shouldSuspend(workInProgress)) {\n workInProgress.flags |= DidCapture;\n }\n }\n\n var showFallback = false;\n var didSuspend = (workInProgress.flags & DidCapture) !== NoFlags$1;\n\n if (didSuspend || shouldRemainOnFallback(current)) {\n // Something in this boundary's subtree already suspended. Switch to\n // rendering the fallback children.\n showFallback = true;\n workInProgress.flags &= ~DidCapture;\n } // Check if the primary children spawned a deferred task (useDeferredValue)\n // during the first pass.\n\n\n var didPrimaryChildrenDefer = (workInProgress.flags & DidDefer) !== NoFlags$1;\n workInProgress.flags &= ~DidDefer; // OK, the next part is confusing. We're about to reconcile the Suspense\n // boundary's children. This involves some custom reconciliation logic. Two\n // main reasons this is so complicated.\n //\n // First, Legacy Mode has different semantics for backwards compatibility. The\n // primary tree will commit in an inconsistent state, so when we do the\n // second pass to render the fallback, we do some exceedingly, uh, clever\n // hacks to make that not totally break. Like transferring effects and\n // deletions from hidden tree. In Concurrent Mode, it's much simpler,\n // because we bailout on the primary tree completely and leave it in its old\n // state, no effects. Same as what we do for Offscreen (except that\n // Offscreen doesn't have the first render pass).\n //\n // Second is hydration. During hydration, the Suspense fiber has a slightly\n // different layout, where the child points to a dehydrated fragment, which\n // contains the DOM rendered by the server.\n //\n // Third, even if you set all that aside, Suspense is like error boundaries in\n // that we first we try to render one tree, and if that fails, we render again\n // and switch to a different tree. Like a try/catch block. So we have to track\n // which branch we're currently rendering. Ideally we would model this using\n // a stack.\n\n if (current === null) {\n // Initial mount\n // Special path for hydration\n // If we're currently hydrating, try to hydrate this boundary.\n if (getIsHydrating()) {\n // We must push the suspense handler context *before* attempting to\n // hydrate, to avoid a mismatch in case it errors.\n if (showFallback) {\n pushPrimaryTreeSuspenseHandler(workInProgress);\n } else {\n pushFallbackTreeSuspenseHandler(workInProgress);\n }\n\n tryToClaimNextHydratableSuspenseInstance(workInProgress); // This could've been a dehydrated suspense component.\n\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null) {\n var dehydrated = suspenseState.dehydrated;\n\n if (dehydrated !== null) {\n return mountDehydratedSuspenseComponent(workInProgress, dehydrated);\n }\n } // If hydration didn't succeed, fall through to the normal Suspense path.\n // To avoid a stack mismatch we need to pop the Suspense handler that we\n // pushed above. This will become less awkward when move the hydration\n // logic to its own fiber.\n\n\n popSuspenseHandler(workInProgress);\n }\n\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n\n if (showFallback) {\n pushFallbackTreeSuspenseHandler(workInProgress);\n var fallbackFragment = mountSuspenseFallbackChildren(workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var primaryChildFragment = workInProgress.child;\n primaryChildFragment.memoizedState = mountSuspenseOffscreenState(renderLanes);\n primaryChildFragment.childLanes = getRemainingWorkInPrimaryTree(current, didPrimaryChildrenDefer, renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n\n return fallbackFragment;\n } else {\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n } else {\n // This is an update.\n // Special path for hydration\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var _dehydrated = prevState.dehydrated;\n\n if (_dehydrated !== null) {\n return updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, didPrimaryChildrenDefer, nextProps, _dehydrated, prevState, renderLanes);\n }\n }\n\n if (showFallback) {\n pushFallbackTreeSuspenseHandler(workInProgress);\n var _nextFallbackChildren = nextProps.fallback;\n var _nextPrimaryChildren = nextProps.children;\n var fallbackChildFragment = updateSuspenseFallbackChildren(current, workInProgress, _nextPrimaryChildren, _nextFallbackChildren, renderLanes);\n var _primaryChildFragment2 = workInProgress.child;\n var prevOffscreenState = current.child.memoizedState;\n _primaryChildFragment2.memoizedState = prevOffscreenState === null ? mountSuspenseOffscreenState(renderLanes) : updateSuspenseOffscreenState(prevOffscreenState, renderLanes);\n\n _primaryChildFragment2.childLanes = getRemainingWorkInPrimaryTree(current, didPrimaryChildrenDefer, renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n } else {\n pushPrimaryTreeSuspenseHandler(workInProgress);\n var _nextPrimaryChildren2 = nextProps.children;\n\n var _primaryChildFragment3 = updateSuspensePrimaryChildren(current, workInProgress, _nextPrimaryChildren2, renderLanes);\n\n workInProgress.memoizedState = null;\n return _primaryChildFragment3;\n }\n }\n}\n\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren, renderLanes) {\n var mode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n primaryChildFragment.return = workInProgress;\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackChildren(workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var progressedPrimaryFragment = workInProgress.child;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n var fallbackChildFragment;\n\n if ((mode & ConcurrentMode) === NoMode && progressedPrimaryFragment !== null) {\n // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if (workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = 0;\n primaryChildFragment.treeBaseDuration = 0;\n }\n\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n } else {\n primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n }\n\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode, renderLanes) {\n // The props argument to `createFiberFromOffscreen` is `any` typed, so we use\n // this wrapper function to constrain it.\n return createFiberFromOffscreen(offscreenProps, mode, NoLanes, null);\n}\n\nfunction updateWorkInProgressOffscreenFiber(current, offscreenProps) {\n // The props argument to `createWorkInProgress` is `any` typed, so we use this\n // wrapper function to constrain it.\n return createWorkInProgress(current, offscreenProps);\n}\n\nfunction updateSuspensePrimaryChildren(current, workInProgress, primaryChildren, renderLanes) {\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, {\n mode: 'visible',\n children: primaryChildren\n });\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n primaryChildFragment.lanes = renderLanes;\n }\n\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = null;\n\n if (currentFallbackChildFragment !== null) {\n // Delete the fallback child fragment\n var deletions = workInProgress.deletions;\n\n if (deletions === null) {\n workInProgress.deletions = [currentFallbackChildFragment];\n workInProgress.flags |= ChildDeletion;\n } else {\n deletions.push(currentFallbackChildFragment);\n }\n }\n\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction updateSuspenseFallbackChildren(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n\n if ( // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n (mode & ConcurrentMode) === NoMode && // Make sure we're on the second pass, i.e. the primary child fragment was\n // already cloned. In legacy mode, the only case where this isn't true is\n // when DevTools forces us to display a fallback; we skip the first render\n // pass entirely and go straight to rendering the fallback. (In Concurrent\n // Mode, SuspenseList can also trigger this scenario, but this is a legacy-\n // only codepath.)\n workInProgress.child !== currentPrimaryChildFragment) {\n var progressedPrimaryFragment = workInProgress.child;\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if (workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = currentPrimaryChildFragment.selfBaseDuration;\n primaryChildFragment.treeBaseDuration = currentPrimaryChildFragment.treeBaseDuration;\n } // The fallback fiber was added as a deletion during the first pass.\n // However, since we're going to remain on the fallback, we no longer want\n // to delete it.\n\n\n workInProgress.deletions = null;\n } else {\n primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, primaryChildProps); // Since we're reusing a current tree, we need to reuse the flags, too.\n // (We don't do this in legacy mode, because in legacy mode we don't re-use\n // the current tree; see previous branch.)\n\n primaryChildFragment.subtreeFlags = currentPrimaryChildFragment.subtreeFlags & StaticMask;\n }\n\n var fallbackChildFragment;\n\n if (currentFallbackChildFragment !== null) {\n fallbackChildFragment = createWorkInProgress(currentFallbackChildFragment, fallbackChildren);\n } else {\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n }\n\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, recoverableError) {\n // Falling back to client rendering. Because this has performance\n // implications, it's considered a recoverable error, even though the user\n // likely won't observe anything wrong with the UI.\n //\n // The error is passed in as an argument to enforce that every caller provide\n // a custom message, or explicitly opt out (currently the only path that opts\n // out is legacy mode; every concurrent path provides an error).\n if (recoverableError !== null) {\n queueHydrationError(recoverableError);\n } // This will add the old fiber to the deletion list\n\n\n reconcileChildFibers(workInProgress, current.child, null, renderLanes); // We're now not suspended nor dehydrated.\n\n var nextProps = workInProgress.pendingProps;\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n primaryChildFragment.flags |= Placement;\n workInProgress.memoizedState = null;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var fiberMode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, fiberMode);\n var fallbackChildFragment = createFiberFromFragment(fallbackChildren, fiberMode, renderLanes, null); // Needs a placement effect because the parent (the Suspense\n // boundary) already mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // We will have dropped the effect list which contains the\n // deletion. We need to reconcile to delete the current child.\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n }\n\n return fallbackChildFragment;\n}\n\nfunction mountDehydratedSuspenseComponent(workInProgress, suspenseInstance, renderLanes) {\n // During the first pass, we'll bail out and not drill into the children.\n // Instead, we'll leave the content in place and try to hydrate it later.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n {\n error('Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOMClient.hydrateRoot(container, <App />)' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');\n }\n\n workInProgress.lanes = laneToLanes(SyncLane);\n } else if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This is a client-only boundary. Since we won't get any content from the server\n // for this, we need to schedule that at a higher priority based on when it would\n // have timed out. In theory we could render it in this pass but it would have the\n // wrong priority associated with it and will prevent hydration of parent path.\n // Instead, we'll leave work left on it to render it in a separate commit.\n // TODO This time should be the time at which the server rendered response that is\n // a parent to this boundary was displayed. However, since we currently don't have\n // a protocol to transfer that time, we'll just estimate it by using the current\n // time. This will mean that Suspense timeouts are slightly shifted to later than\n // they should be.\n // Schedule a normal pri update to render this content.\n workInProgress.lanes = laneToLanes(DefaultHydrationLane);\n } else {\n // We'll continue hydrating the rest at offscreen priority since we'll already\n // be showing the right content coming from the server, it is no rush.\n workInProgress.lanes = laneToLanes(OffscreenLane);\n }\n\n return null;\n}\n\nfunction updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, didPrimaryChildrenDefer, nextProps, suspenseInstance, suspenseState, renderLanes) {\n if (!didSuspend) {\n // This is the first render pass. Attempt to hydrate.\n pushPrimaryTreeSuspenseHandler(workInProgress); // We should never be hydrating at this point because it is the first pass,\n // but after we've already committed once.\n\n warnIfHydrating();\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, null);\n }\n\n if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This boundary is in a permanent fallback state. In this case, we'll never\n // get an update and we'll never be able to hydrate the final content. Let's just try the\n // client side render instead.\n var digest;\n var message, stack;\n\n {\n var _getSuspenseInstanceF = getSuspenseInstanceFallbackErrorDetails(suspenseInstance);\n\n digest = _getSuspenseInstanceF.digest;\n message = _getSuspenseInstanceF.message;\n stack = _getSuspenseInstanceF.stack;\n }\n\n var capturedValue = null; // TODO: Figure out a better signal than encoding a magic digest value.\n\n {\n var error;\n\n if (message) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(message);\n } else {\n error = new Error('The server could not finish this Suspense boundary, likely ' + 'due to an error during server rendering. Switched to ' + 'client rendering.');\n }\n\n error.digest = digest;\n capturedValue = createCapturedValueFromError(error, digest, stack);\n }\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, capturedValue);\n }\n // any context has changed, we need to treat is as if the input might have changed.\n\n\n var hasContextChanged = includesSomeLane(renderLanes, current.childLanes);\n\n if (didReceiveUpdate || hasContextChanged) {\n // This boundary has changed since the first render. This means that we are now unable to\n // hydrate it. We might still be able to hydrate it using a higher priority lane.\n var root = getWorkInProgressRoot();\n\n if (root !== null) {\n var attemptHydrationAtLane = getBumpedLaneForHydration(root, renderLanes);\n\n if (attemptHydrationAtLane !== NoLane && attemptHydrationAtLane !== suspenseState.retryLane) {\n // Intentionally mutating since this render will get interrupted. This\n // is one of the very rare times where we mutate the current tree\n // during the render phase.\n suspenseState.retryLane = attemptHydrationAtLane;\n enqueueConcurrentRenderForLane(current, attemptHydrationAtLane);\n scheduleUpdateOnFiber(root, current, attemptHydrationAtLane); // Throw a special object that signals to the work loop that it should\n // interrupt the current render.\n //\n // Because we're inside a React-only execution stack, we don't\n // strictly need to throw here — we could instead modify some internal\n // work loop state. But using an exception means we don't need to\n // check for this case on every iteration of the work loop. So doing\n // it this way moves the check out of the fast path.\n\n throw SelectiveHydrationException;\n }\n } // If we did not selectively hydrate, we'll continue rendering without\n // hydrating. Mark this tree as suspended to prevent it from committing\n // outside a transition.\n //\n // This path should only happen if the hydration lane already suspended.\n // Currently, it also happens during sync updates because there is no\n // hydration lane for sync updates.\n // TODO: We should ideally have a sync hydration lane that we can apply to do\n // a pass where we hydrate this subtree in place using the previous Context and then\n // reapply the update afterwards.\n\n\n if (isSuspenseInstancePending(suspenseInstance)) ; else {\n renderDidSuspendDelayIfPossible();\n }\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, null);\n } else if (isSuspenseInstancePending(suspenseInstance)) {\n // This component is still pending more data from the server, so we can't hydrate its\n // content. We treat it as if this component suspended itself. It might seem as if\n // we could just try to render it client-side instead. However, this will perform a\n // lot of unnecessary work and is unlikely to complete since it often will suspend\n // on missing data anyway. Additionally, the server might be able to render more\n // than we can on the client yet. In that case we'd end up with more fallback states\n // on the client than if we just leave it alone. If the server times out or errors\n // these should update this boundary to the permanent Fallback state instead.\n // Mark it as having captured (i.e. suspended).\n workInProgress.flags |= DidCapture; // Leave the child in place. I.e. the dehydrated fragment.\n\n workInProgress.child = current.child; // Register a callback to retry this boundary once the server has sent the result.\n\n var retry = retryDehydratedSuspenseBoundary.bind(null, current);\n registerSuspenseInstanceRetry(suspenseInstance, retry);\n return null;\n } else {\n // This is the first attempt.\n reenterHydrationStateFromDehydratedSuspenseInstance(workInProgress, suspenseInstance, suspenseState.treeContext);\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Mark the children as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n\n primaryChildFragment.flags |= Hydrating;\n return primaryChildFragment;\n }\n } else {\n // This is the second render pass. We already attempted to hydrated, but\n // something either suspended or errored.\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during hydration. Try again without hydrating.\n pushPrimaryTreeSuspenseHandler(workInProgress);\n workInProgress.flags &= ~ForceClientRender;\n\n var _capturedValue = createCapturedValueFromError(new Error('There was an error while hydrating this Suspense boundary. ' + 'Switched to client rendering.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue);\n } else if (workInProgress.memoizedState !== null) {\n // Something suspended and we should still be in dehydrated mode.\n // Leave the existing child in place.\n // Push to avoid a mismatch\n pushFallbackTreeSuspenseHandler(workInProgress);\n workInProgress.child = current.child; // The dehydrated completion pass expects this flag to be there\n // but the normal suspense pass doesn't.\n\n workInProgress.flags |= DidCapture;\n return null;\n } else {\n // Suspended but we should no longer be in dehydrated mode.\n // Therefore we now have to render the fallback.\n pushFallbackTreeSuspenseHandler(workInProgress);\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n var fallbackChildFragment = mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var _primaryChildFragment4 = workInProgress.child;\n _primaryChildFragment4.memoizedState = mountSuspenseOffscreenState(renderLanes);\n _primaryChildFragment4.childLanes = getRemainingWorkInPrimaryTree(current, didPrimaryChildrenDefer, renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n }\n }\n}\n\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\n\nfunction propagateSuspenseContextChange(workInProgress, firstChild, renderLanes) {\n // Mark any Suspense boundaries with fallbacks as having work to do.\n // If they were previously forced into fallbacks, they may now be able\n // to unblock.\n var node = firstChild;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n }\n } else if (node.tag === SuspenseListComponent) {\n // If the tail is hidden there might not be an Suspense boundaries\n // to schedule work on. In this case we have to schedule it on the\n // list itself.\n // We don't have to traverse to the children of the list since\n // the list will propagate the change when it rerenders.\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n } // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n\n while (node.sibling === null) {\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n } // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n}\n\nfunction findLastContentRow(firstChild) {\n // This is going to find the last row among these children that is already\n // showing content on the screen, as opposed to being in fallback state or\n // new. If a row has multiple Suspense boundaries, any of them being in the\n // fallback state, counts as the whole row being in a fallback state.\n // Note that the \"rows\" will be workInProgress, but any nested children\n // will still be current since we haven't rendered them yet. The mounted\n // order may not be the same as the new order. We use the new order.\n var row = firstChild;\n var lastContentRow = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n lastContentRow = row;\n }\n\n row = row.sibling;\n }\n\n return lastContentRow;\n}\n\nfunction validateRevealOrder(revealOrder) {\n {\n if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) {\n didWarnAboutRevealOrder[revealOrder] = true;\n\n if (typeof revealOrder === 'string') {\n switch (revealOrder.toLowerCase()) {\n case 'together':\n case 'forwards':\n case 'backwards':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase \"%s\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n case 'forward':\n case 'backward':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use \"%ss\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n default:\n error('\"%s\" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n\n break;\n }\n } else {\n error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n }\n }\n }\n}\n\nfunction validateTailOptions(tailMode, revealOrder) {\n {\n if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) {\n if (tailMode !== 'collapsed' && tailMode !== 'hidden') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('\"%s\" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean \"collapsed\" or \"hidden\"?', tailMode);\n } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('<SuspenseList tail=\"%s\" /> is only valid if revealOrder is ' + '\"forwards\" or \"backwards\". ' + 'Did you mean to specify revealOrder=\"forwards\"?', tailMode);\n }\n }\n }\n}\n\nfunction validateSuspenseListNestedChild(childSlot, index) {\n {\n var isAnArray = isArray(childSlot);\n var isIterable = !isAnArray && typeof getIteratorFn(childSlot) === 'function';\n\n if (isAnArray || isIterable) {\n var type = isAnArray ? 'array' : 'iterable';\n\n error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type);\n\n return false;\n }\n }\n\n return true;\n}\n\nfunction validateSuspenseListChildren(children, revealOrder) {\n {\n if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n if (!validateSuspenseListNestedChild(children[i], i)) {\n return;\n }\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var childrenIterator = iteratorFn.call(children);\n\n if (childrenIterator) {\n var step = childrenIterator.next();\n var _i = 0;\n\n for (; !step.done; step = childrenIterator.next()) {\n if (!validateSuspenseListNestedChild(step.value, _i)) {\n return;\n }\n\n _i++;\n }\n }\n } else {\n error('A single row was passed to a <SuspenseList revealOrder=\"%s\" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder);\n }\n }\n }\n }\n}\n\nfunction initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode) {\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n };\n } else {\n // We can reuse the existing object from previous renders.\n renderState.isBackwards = isBackwards;\n renderState.rendering = null;\n renderState.renderingStartTime = 0;\n renderState.last = lastContentRow;\n renderState.tail = tail;\n renderState.tailMode = tailMode;\n }\n} // This can end up rendering this component multiple passes.\n// The first pass splits the children fibers into two sets. A head and tail.\n// We first render the head. If anything is in fallback state, we do another\n// pass through beginWork to rerender all children (including the tail) with\n// the force suspend context. If the first render didn't have anything in\n// in fallback state. Then we render each row in the tail one-by-one.\n// That happens in the completeWork phase without going back to beginWork.\n\n\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var revealOrder = nextProps.revealOrder;\n var tailMode = nextProps.tail;\n var newChildren = nextProps.children;\n validateRevealOrder(revealOrder);\n validateTailOptions(tailMode, revealOrder);\n validateSuspenseListChildren(newChildren, revealOrder);\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n var suspenseContext = suspenseStackCursor.current;\n var shouldForceFallback = hasSuspenseListContext(suspenseContext, ForceSuspenseFallback);\n\n if (shouldForceFallback) {\n suspenseContext = setShallowSuspenseListContext(suspenseContext, ForceSuspenseFallback);\n workInProgress.flags |= DidCapture;\n } else {\n var didSuspendBefore = current !== null && (current.flags & DidCapture) !== NoFlags$1;\n\n if (didSuspendBefore) {\n // If we previously forced a fallback, we need to schedule work\n // on any nested boundaries to let them know to try to render\n // again. This is the same as context updating.\n propagateSuspenseContextChange(workInProgress, workInProgress.child, renderLanes);\n }\n\n suspenseContext = setDefaultShallowSuspenseListContext(suspenseContext);\n }\n\n pushSuspenseListContext(workInProgress, suspenseContext);\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy mode, SuspenseList doesn't work so we just\n // use make it a noop by treating it as the default revealOrder.\n workInProgress.memoizedState = null;\n } else {\n switch (revealOrder) {\n case 'forwards':\n {\n var lastContentRow = findLastContentRow(workInProgress.child);\n var tail;\n\n if (lastContentRow === null) {\n // The whole list is part of the tail.\n // TODO: We could fast path by just rendering the tail now.\n tail = workInProgress.child;\n workInProgress.child = null;\n } else {\n // Disconnect the tail rows after the content row.\n // We're going to render them separately later.\n tail = lastContentRow.sibling;\n lastContentRow.sibling = null;\n }\n\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n tail, lastContentRow, tailMode);\n break;\n }\n\n case 'backwards':\n {\n // We're going to find the first row that has existing content.\n // At the same time we're going to reverse the list of everything\n // we pass in the meantime. That's going to be our tail in reverse\n // order.\n var _tail = null;\n var row = workInProgress.child;\n workInProgress.child = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n // This is the beginning of the main content.\n workInProgress.child = row;\n break;\n }\n\n var nextRow = row.sibling;\n row.sibling = _tail;\n _tail = row;\n row = nextRow;\n } // TODO: If workInProgress.child is null, we can continue on the tail immediately.\n\n\n initSuspenseListRenderState(workInProgress, true, // isBackwards\n _tail, null, // last\n tailMode);\n break;\n }\n\n case 'together':\n {\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n null, // tail\n null, // last\n undefined);\n break;\n }\n\n default:\n {\n // The default reveal order is the same as not having\n // a boundary.\n workInProgress.memoizedState = null;\n }\n }\n }\n\n return workInProgress.child;\n}\n\nfunction updatePortalComponent(current, workInProgress, renderLanes) {\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n var nextChildren = workInProgress.pendingProps;\n\n if (current === null) {\n // Portals are special because we don't append the children during mount\n // but at commit. Therefore we need to track insertions which the normal\n // flow doesn't do during mount. This doesn't happen at the root because\n // the root always starts with a \"current\" with a null child.\n // TODO: Consider unifying this with how the root works.\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingNoValuePropOnContextProvider = false;\n\nfunction updateContextProvider(current, workInProgress, renderLanes) {\n var context;\n\n {\n context = workInProgress.type._context;\n }\n\n var newProps = workInProgress.pendingProps;\n var oldProps = workInProgress.memoizedProps;\n var newValue = newProps.value;\n\n {\n if (!('value' in newProps)) {\n if (!hasWarnedAboutUsingNoValuePropOnContextProvider) {\n hasWarnedAboutUsingNoValuePropOnContextProvider = true;\n\n error('The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?');\n }\n }\n }\n\n pushProvider(workInProgress, context, newValue);\n\n {\n if (oldProps !== null) {\n var oldValue = oldProps.value;\n\n if (objectIs(oldValue, newValue)) {\n // No change. Bailout early if children are the same.\n if (oldProps.children === newProps.children && !hasContextChanged()) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } else {\n // The context value changed. Search for matching consumers and schedule\n // them to update.\n propagateContextChange(workInProgress, context, renderLanes);\n }\n }\n }\n\n var newChildren = newProps.children;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateContextConsumer(current, workInProgress, renderLanes) {\n var context;\n\n {\n context = workInProgress.type;\n\n {\n if (context._context !== undefined) {\n context = context._context;\n }\n }\n }\n\n var newProps = workInProgress.pendingProps;\n var render = newProps.children;\n\n {\n if (typeof render !== 'function') {\n error('A context consumer was rendered with multiple children, or a child ' + \"that isn't a function. A context consumer expects a single child \" + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');\n }\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var newValue = readContext(context);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n var newChildren;\n\n {\n ReactCurrentOwner$2.current = workInProgress;\n setIsRendering(true);\n newChildren = render(newValue);\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markWorkInProgressReceivedUpdate() {\n didReceiveUpdate = true;\n}\n\nfunction resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress) {\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n if (current !== null) {\n // A lazy component only mounts if it suspended inside a non-\n // concurrent tree, in an inconsistent state. We want to treat it like\n // a new mount, even though an empty version of it already committed.\n // Disconnect the alternate pointers.\n current.alternate = null;\n workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\n\n workInProgress.flags |= Placement;\n }\n }\n}\n\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n if (current !== null) {\n // Reuse previous dependencies\n workInProgress.dependencies = current.dependencies;\n }\n\n {\n // Don't update \"base\" render times for bailouts.\n stopProfilerTimerIfRunning();\n }\n\n markSkippedUpdateLanes(workInProgress.lanes); // Check if the children have any pending work.\n\n if (!includesSomeLane(renderLanes, workInProgress.childLanes)) {\n // The children don't have any work either. We can skip them.\n // TODO: Once we add back resuming, we should check if the children are\n // a work-in-progress set. If so, we need to transfer their effects.\n {\n return null;\n }\n } // This fiber doesn't have work, but its subtree does. Clone the child\n // fibers and continue.\n\n\n cloneChildFibers(current, workInProgress);\n return workInProgress.child;\n}\n\nfunction remountFiber(current, oldWorkInProgress, newWorkInProgress) {\n {\n var returnFiber = oldWorkInProgress.return;\n\n if (returnFiber === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Cannot swap the root fiber.');\n } // Disconnect from the old current.\n // It will get deleted.\n\n\n current.alternate = null;\n oldWorkInProgress.alternate = null; // Connect to the new tree.\n\n newWorkInProgress.index = oldWorkInProgress.index;\n newWorkInProgress.sibling = oldWorkInProgress.sibling;\n newWorkInProgress.return = oldWorkInProgress.return;\n newWorkInProgress.ref = oldWorkInProgress.ref;\n\n {\n newWorkInProgress._debugInfo = oldWorkInProgress._debugInfo;\n } // Replace the child/sibling pointers above it.\n\n\n if (oldWorkInProgress === returnFiber.child) {\n returnFiber.child = newWorkInProgress;\n } else {\n var prevSibling = returnFiber.child;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected parent to have a child.');\n } // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n\n while (prevSibling.sibling !== oldWorkInProgress) {\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n prevSibling = prevSibling.sibling;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected to find the previous sibling.');\n }\n } // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n\n prevSibling.sibling = newWorkInProgress;\n } // Delete the old fiber and place the new one.\n // Since the old fiber is disconnected, we have to schedule it manually.\n\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [current];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(current);\n }\n\n newWorkInProgress.flags |= Placement; // Restart work from the new fiber.\n\n return newWorkInProgress;\n }\n}\n\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n // Before performing an early bailout, we must check if there are pending\n // updates or context.\n var updateLanes = current.lanes;\n\n if (includesSomeLane(updateLanes, renderLanes)) {\n return true;\n } // No pending update, but because context is propagated lazily, we need\n\n return false;\n}\n\nfunction attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes) {\n // This fiber does not have any pending work. Bailout without entering\n // the begin phase. There's still some bookkeeping we that needs to be done\n // in this optimized path, mostly pushing stuff onto the stack.\n switch (workInProgress.tag) {\n case HostRoot:\n pushHostRootContext(workInProgress);\n\n {\n var cache = current.memoizedState.cache;\n pushCacheProvider(workInProgress, cache);\n }\n\n resetHydrationState();\n break;\n\n case HostSingleton:\n case HostComponent:\n pushHostContext(workInProgress);\n break;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n pushContextProvider(workInProgress);\n }\n\n break;\n }\n\n case HostPortal:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n\n case ContextProvider:\n {\n var newValue = workInProgress.memoizedProps.value;\n var context;\n\n {\n context = workInProgress.type._context;\n }\n\n pushProvider(workInProgress, context, newValue);\n break;\n }\n\n case Profiler:\n {\n // Profiler should only call onRender when one of its descendants actually rendered.\n var hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (hasChildWork) {\n workInProgress.flags |= Update;\n }\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n break;\n\n case SuspenseComponent:\n {\n var state = workInProgress.memoizedState;\n\n if (state !== null) {\n if (state.dehydrated !== null) {\n // We're not going to render the children, so this is just to maintain\n // push/pop symmetry\n pushPrimaryTreeSuspenseHandler(workInProgress); // We know that this component will suspend again because if it has\n // been unsuspended it has committed as a resolved Suspense component.\n // If it needs to be retried, it should have work scheduled on it.\n\n workInProgress.flags |= DidCapture; // We should never render the children of a dehydrated boundary until we\n // upgrade it. We return null instead of bailoutOnAlreadyFinishedWork.\n\n return null;\n } // If this boundary is currently timed out, we need to decide\n // whether to retry the primary children, or to skip over it and\n // go straight to the fallback. Check the priority of the primary\n // child fragment.\n\n\n var primaryChildFragment = workInProgress.child;\n var primaryChildLanes = primaryChildFragment.childLanes;\n\n if (includesSomeLane(renderLanes, primaryChildLanes)) {\n // The primary children have pending work. Use the normal path\n // to attempt to render the primary children again.\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n } else {\n // The primary child fragment does not have pending work marked\n // on it\n pushPrimaryTreeSuspenseHandler(workInProgress); // The primary children do not have pending work with sufficient\n // priority. Bailout.\n\n var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n\n if (child !== null) {\n // The fallback children have pending work. Skip over the\n // primary children and work on the fallback.\n return child.sibling;\n } else {\n // Note: We can return `null` here because we already checked\n // whether there were nested context consumers, via the call to\n // `bailoutOnAlreadyFinishedWork` above.\n return null;\n }\n }\n } else {\n pushPrimaryTreeSuspenseHandler(workInProgress);\n }\n\n break;\n }\n\n case SuspenseListComponent:\n {\n var didSuspendBefore = (current.flags & DidCapture) !== NoFlags$1;\n\n var _hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (didSuspendBefore) {\n if (_hasChildWork) {\n // If something was in fallback state last time, and we have all the\n // same children then we're still in progressive loading state.\n // Something might get unblocked by state updates or retries in the\n // tree which will affect the tail. So we need to use the normal\n // path to compute the correct tail.\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n } // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n\n\n workInProgress.flags |= DidCapture;\n } // If nothing suspended before and we're rendering the same children,\n // then the tail doesn't matter. Anything new that suspends will work\n // in the \"together\" mode, so we can continue from the state we had.\n\n\n var renderState = workInProgress.memoizedState;\n\n if (renderState !== null) {\n // Reset to the \"together\" mode in case we've started a different\n // update in the past but didn't complete it.\n renderState.rendering = null;\n renderState.tail = null;\n renderState.lastEffect = null;\n }\n\n pushSuspenseListContext(workInProgress, suspenseStackCursor.current);\n\n if (_hasChildWork) {\n break;\n } else {\n // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n return null;\n }\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n // Need to check if the tree still needs to be deferred. This is\n // almost identical to the logic used in the normal update path,\n // so we'll just enter that. The only difference is we'll bail out\n // at the next level instead of this one, because the child props\n // have not changed. Which is fine.\n // TODO: Probably should refactor `beginWork` to split the bailout\n // path from the normal path. I'm tempted to do a labeled break here\n // but I won't :)\n workInProgress.lanes = NoLanes;\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n\n case CacheComponent:\n {\n {\n var _cache = current.memoizedState.cache;\n pushCacheProvider(workInProgress, _cache);\n }\n\n break;\n }\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\n\nfunction beginWork$1(current, workInProgress, renderLanes) {\n {\n if (workInProgress._debugNeedsRemount && current !== null) {\n // This will restart the begin phase with a new fiber.\n return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.lanes));\n }\n }\n\n if (current !== null) {\n var oldProps = current.memoizedProps;\n var newProps = workInProgress.pendingProps;\n\n if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload:\n workInProgress.type !== current.type )) {\n // If props or context changed, mark the fiber as having performed work.\n // This may be unset if the props are determined to be equal later (memo).\n didReceiveUpdate = true;\n } else {\n // Neither props nor legacy context changes. Check if there's a pending\n // update or context change.\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext && // If this is the second pass of an error or suspense boundary, there\n // may not be work scheduled on `current`, so we check for this flag.\n (workInProgress.flags & DidCapture) === NoFlags$1) {\n // No pending updates or context. Bail out now.\n didReceiveUpdate = false;\n return attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes);\n }\n\n if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags$1) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n } else {\n // An update was scheduled on this fiber, but there are no new props\n // nor legacy context. Set this to false. If an update queue or context\n // consumer produces a changed value, it will set this to true. Otherwise,\n // the component will assume the children have not changed and bail out.\n didReceiveUpdate = false;\n }\n }\n } else {\n didReceiveUpdate = false;\n\n if (getIsHydrating() && isForkedChild(workInProgress)) {\n // Check if this child belongs to a list of muliple children in\n // its parent.\n //\n // In a true multi-threaded implementation, we would render children on\n // parallel threads. This would represent the beginning of a new render\n // thread for this subtree.\n //\n // We only use this for id generation during hydration, which is why the\n // logic is located in this special branch.\n var slotIndex = workInProgress.index;\n var numberOfForks = getForksAtLevel();\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n } // Before entering the begin phase, clear pending update priority.\n // TODO: This assumes that we're about to evaluate the component and process\n // the update queue. However, there's an exception: SimpleMemoComponent\n // sometimes bails out later in the begin phase. This indicates that we should\n // move this assignment out of the common path and into each branch.\n\n\n workInProgress.lanes = NoLanes;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n {\n return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderLanes);\n }\n\n case LazyComponent:\n {\n var elementType = workInProgress.elementType;\n return mountLazyComponent(current, workInProgress, elementType, renderLanes);\n }\n\n case FunctionComponent:\n {\n var Component = workInProgress.type;\n var unresolvedProps = workInProgress.pendingProps;\n var resolvedProps = workInProgress.elementType === Component ? unresolvedProps : resolveDefaultProps(Component, unresolvedProps);\n return updateFunctionComponent(current, workInProgress, Component, resolvedProps, renderLanes);\n }\n\n case ClassComponent:\n {\n var _Component = workInProgress.type;\n var _unresolvedProps = workInProgress.pendingProps;\n\n var _resolvedProps = workInProgress.elementType === _Component ? _unresolvedProps : resolveDefaultProps(_Component, _unresolvedProps);\n\n return updateClassComponent(current, workInProgress, _Component, _resolvedProps, renderLanes);\n }\n\n case HostRoot:\n return updateHostRoot(current, workInProgress, renderLanes);\n\n case HostHoistable:\n {\n return updateHostHoistable(current, workInProgress);\n }\n\n // Fall through\n\n case HostSingleton:\n {\n return updateHostSingleton(current, workInProgress, renderLanes);\n }\n\n // Fall through\n\n case HostComponent:\n return updateHostComponent$1(current, workInProgress, renderLanes);\n\n case HostText:\n return updateHostText$1(current, workInProgress);\n\n case SuspenseComponent:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n\n case HostPortal:\n return updatePortalComponent(current, workInProgress, renderLanes);\n\n case ForwardRef:\n {\n var type = workInProgress.type;\n var _unresolvedProps2 = workInProgress.pendingProps;\n\n var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);\n\n return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderLanes);\n }\n\n case Fragment:\n return updateFragment(current, workInProgress, renderLanes);\n\n case Mode:\n return updateMode(current, workInProgress, renderLanes);\n\n case Profiler:\n return updateProfiler(current, workInProgress, renderLanes);\n\n case ContextProvider:\n return updateContextProvider(current, workInProgress, renderLanes);\n\n case ContextConsumer:\n return updateContextConsumer(current, workInProgress, renderLanes);\n\n case MemoComponent:\n {\n var _type = workInProgress.type;\n var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.\n\n var _resolvedProps3 = resolveDefaultProps(_type, _unresolvedProps3);\n\n _resolvedProps3 = resolveDefaultProps(_type.type, _resolvedProps3);\n return updateMemoComponent(current, workInProgress, _type, _resolvedProps3, renderLanes);\n }\n\n case SimpleMemoComponent:\n {\n return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes);\n }\n\n case IncompleteClassComponent:\n {\n var _Component2 = workInProgress.type;\n var _unresolvedProps4 = workInProgress.pendingProps;\n\n var _resolvedProps4 = workInProgress.elementType === _Component2 ? _unresolvedProps4 : resolveDefaultProps(_Component2, _unresolvedProps4);\n\n return mountIncompleteClassComponent(current, workInProgress, _Component2, _resolvedProps4, renderLanes);\n }\n\n case SuspenseListComponent:\n {\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n {\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n\n case LegacyHiddenComponent:\n {\n\n break;\n }\n\n case CacheComponent:\n {\n {\n return updateCacheComponent(current, workInProgress, renderLanes);\n }\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nvar valueCursor = createCursor(null);\nvar rendererCursorDEV;\n\n{\n rendererCursorDEV = createCursor(null);\n}\n\nvar rendererSigil;\n\n{\n // Use this to detect multiple renderers using the same context\n rendererSigil = {};\n}\n\nvar currentlyRenderingFiber = null;\nvar lastContextDependency = null;\nvar lastFullyObservedContext = null;\nvar isDisallowedContextReadInDEV = false;\nfunction resetContextDependencies() {\n // This is called right before React yields execution, to ensure `readContext`\n // cannot be called outside the render phase.\n currentlyRenderingFiber = null;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction enterDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = true;\n }\n}\nfunction exitDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction pushProvider(providerFiber, context, nextValue) {\n {\n push(valueCursor, context._currentValue, providerFiber);\n context._currentValue = nextValue;\n\n {\n push(rendererCursorDEV, context._currentRenderer, providerFiber);\n\n if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {\n error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');\n }\n\n context._currentRenderer = rendererSigil;\n }\n }\n}\nfunction popProvider(context, providerFiber) {\n var currentValue = valueCursor.current;\n\n {\n context._currentValue = currentValue;\n\n {\n var currentRenderer = rendererCursorDEV.current;\n pop(rendererCursorDEV, providerFiber);\n context._currentRenderer = currentRenderer;\n }\n }\n\n pop(valueCursor, providerFiber);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n // Update the child lanes of all the ancestors, including the alternates.\n var node = parent;\n\n while (node !== null) {\n var alternate = node.alternate;\n\n if (!isSubsetOfLanes(node.childLanes, renderLanes)) {\n node.childLanes = mergeLanes(node.childLanes, renderLanes);\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n } else if (alternate !== null && !isSubsetOfLanes(alternate.childLanes, renderLanes)) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n } else ;\n\n if (node === propagationRoot) {\n break;\n }\n\n node = node.return;\n }\n\n {\n if (node !== propagationRoot) {\n error('Expected to find the propagation root when scheduling context work. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n }\n}\nfunction propagateContextChange(workInProgress, context, renderLanes) {\n {\n propagateContextChange_eager(workInProgress, context, renderLanes);\n }\n}\n\nfunction propagateContextChange_eager(workInProgress, context, renderLanes) {\n\n var fiber = workInProgress.child;\n\n if (fiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n fiber.return = workInProgress;\n }\n\n while (fiber !== null) {\n var nextFiber = void 0; // Visit this fiber.\n\n var list = fiber.dependencies;\n\n if (list !== null) {\n nextFiber = fiber.child;\n var dependency = list.firstContext;\n\n while (dependency !== null) {\n // Check if the context matches.\n if (dependency.context === context) {\n // Match! Schedule an update on this fiber.\n if (fiber.tag === ClassComponent) {\n // Schedule a force update on the work-in-progress.\n var lane = pickArbitraryLane(renderLanes);\n var update = createUpdate(lane);\n update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the\n // update to the current fiber, too, which means it will persist even if\n // this render is thrown away. Since it's a race condition, not sure it's\n // worth fixing.\n // Inlined `enqueueUpdate` to remove interleaved update check\n\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) ; else {\n var sharedQueue = updateQueue.shared;\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update;\n }\n }\n\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, workInProgress); // Mark the updated lanes on the list, too.\n\n list.lanes = mergeLanes(list.lanes, renderLanes); // Since we already found a match, we can stop traversing the\n // dependency list.\n\n break;\n }\n\n dependency = dependency.next;\n }\n } else if (fiber.tag === ContextProvider) {\n // Don't scan deeper if this is a matching provider\n nextFiber = fiber.type === workInProgress.type ? null : fiber.child;\n } else if (fiber.tag === DehydratedFragment) {\n // If a dehydrated suspense boundary is in this subtree, we don't know\n // if it will have any context consumers in it. The best we can do is\n // mark it as having updates.\n var parentSuspense = fiber.return;\n\n if (parentSuspense === null) {\n throw new Error('We just came from a parent so we must have had a parent. This is a bug in React.');\n }\n\n parentSuspense.lanes = mergeLanes(parentSuspense.lanes, renderLanes);\n var _alternate = parentSuspense.alternate;\n\n if (_alternate !== null) {\n _alternate.lanes = mergeLanes(_alternate.lanes, renderLanes);\n } // This is intentionally passing this fiber as the parent\n // because we want to schedule this fiber as having work\n // on its children. We'll use the childLanes on\n // this fiber to indicate that a context has changed.\n\n\n scheduleContextWorkOnParentPath(parentSuspense, renderLanes, workInProgress);\n nextFiber = fiber.sibling;\n } else {\n // Traverse down.\n nextFiber = fiber.child;\n }\n\n if (nextFiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n nextFiber.return = fiber;\n } else {\n // No child. Traverse to next sibling.\n nextFiber = fiber;\n\n while (nextFiber !== null) {\n if (nextFiber === workInProgress) {\n // We're back to the root of this subtree. Exit.\n nextFiber = null;\n break;\n }\n\n var sibling = nextFiber.sibling;\n\n if (sibling !== null) {\n // Set the return pointer of the sibling to the work-in-progress fiber.\n sibling.return = nextFiber.return;\n nextFiber = sibling;\n break;\n } // No more siblings. Traverse up.\n\n\n nextFiber = nextFiber.return;\n }\n }\n\n fiber = nextFiber;\n }\n}\nfunction prepareToReadContext(workInProgress, renderLanes) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n var dependencies = workInProgress.dependencies;\n\n if (dependencies !== null) {\n {\n var firstContext = dependencies.firstContext;\n\n if (firstContext !== null) {\n if (includesSomeLane(dependencies.lanes, renderLanes)) {\n // Context list has a pending update. Mark that this fiber performed work.\n markWorkInProgressReceivedUpdate();\n } // Reset the work-in-progress list\n\n\n dependencies.firstContext = null;\n }\n }\n }\n}\nfunction readContext(context) {\n {\n // This warning would fire if you read context inside a Hook like useMemo.\n // Unlike the class check below, it's not enforced in production for perf.\n if (isDisallowedContextReadInDEV) {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n }\n }\n\n return readContextForConsumer(currentlyRenderingFiber, context);\n}\nfunction readContextDuringReconcilation(consumer, context, renderLanes) {\n if (currentlyRenderingFiber === null) {\n prepareToReadContext(consumer, renderLanes);\n }\n\n return readContextForConsumer(consumer, context);\n}\n\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue ;\n\n if (lastFullyObservedContext === context) ; else {\n var contextItem = {\n context: context,\n memoizedValue: value,\n next: null\n };\n\n if (lastContextDependency === null) {\n if (consumer === null) {\n throw new Error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n } // This is the first dependency for this component. Create a new list.\n\n\n lastContextDependency = contextItem;\n consumer.dependencies = {\n lanes: NoLanes,\n firstContext: contextItem\n };\n } else {\n // Append a new context item.\n lastContextDependency = lastContextDependency.next = contextItem;\n }\n }\n\n return value;\n}\n\n// replace it with a lightweight shim that only has the features we use.\n\nvar AbortControllerLocal = typeof AbortController !== 'undefined' ? AbortController : // $FlowFixMe[missing-this-annot]\n// $FlowFixMe[prop-missing]\nfunction AbortControllerShim() {\n var listeners = [];\n var signal = this.signal = {\n aborted: false,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n };\n\n this.abort = function () {\n signal.aborted = true;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n} ; // Intentionally not named imports because Rollup would\n// use dynamic dispatch for CommonJS interop named imports.\n\nvar scheduleCallback$1 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority;\nvar CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n // We don't use Consumer/Provider for Cache components. So we'll cheat.\n Consumer: null,\n Provider: null,\n // We'll initialize these at the root.\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n} ;\n\n{\n CacheContext._currentRenderer = null;\n CacheContext._currentRenderer2 = null;\n} // Creates a new empty Cache instance with a ref-count of 0. The caller is responsible\n// for retaining the cache once it is in use (retainCache), and releasing the cache\n// once it is no longer needed (releaseCache).\n\n\nfunction createCache() {\n\n var cache = {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n return cache;\n}\nfunction retainCache(cache) {\n\n {\n if (cache.controller.signal.aborted) {\n warn('A cache instance was retained after it was already freed. ' + 'This likely indicates a bug in React.');\n }\n }\n\n cache.refCount++;\n} // Cleanup a cache instance, potentially freeing it if there are no more references\n\nfunction releaseCache(cache) {\n\n cache.refCount--;\n\n {\n if (cache.refCount < 0) {\n warn('A cache instance was released after it was already freed. ' + 'This likely indicates a bug in React.');\n }\n }\n\n if (cache.refCount === 0) {\n scheduleCallback$1(NormalPriority, function () {\n cache.controller.abort();\n });\n }\n}\nfunction pushCacheProvider(workInProgress, cache) {\n\n pushProvider(workInProgress, CacheContext, cache);\n}\nfunction popCacheProvider(workInProgress, cache) {\n\n popProvider(CacheContext, workInProgress);\n}\n\nvar ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig;\nfunction requestCurrentTransition() {\n var transition = ReactCurrentBatchConfig$2.transition;\n\n if (transition !== null) {\n // Whenever a transition update is scheduled, register a callback on the\n // transition object so we can get the return value of the scope function.\n transition._callbacks.add(handleAsyncAction);\n }\n\n return transition;\n}\n\nfunction handleAsyncAction(transition, thenable) {\n {\n // This is an async action.\n entangleAsyncAction(transition, thenable);\n }\n}\n\nfunction notifyTransitionCallbacks(transition, returnValue) {\n var callbacks = transition._callbacks;\n callbacks.forEach(function (callback) {\n return callback(transition, returnValue);\n });\n} // When retrying a Suspense/Offscreen boundary, we restore the cache that was\n// used during the previous render by placing it here, on the stack.\n\nvar resumedCache = createCursor(null); // During the render/synchronous commit phase, we don't actually process the\n\nfunction peekCacheFromPool() {\n // If we're rendering inside a Suspense boundary that is currently hidden,\n // we should use the same cache that we used during the previous render, if\n // one exists.\n\n\n var cacheResumedFromPreviousRender = resumedCache.current;\n\n if (cacheResumedFromPreviousRender !== null) {\n return cacheResumedFromPreviousRender;\n } // Otherwise, check the root's cache pool.\n\n\n var root = getWorkInProgressRoot();\n var cacheFromRootCachePool = root.pooledCache;\n return cacheFromRootCachePool;\n}\n\nfunction requestCacheFromPool(renderLanes) {\n // Similar to previous function, except if there's not already a cache in the\n // pool, we allocate a new one.\n var cacheFromPool = peekCacheFromPool();\n\n if (cacheFromPool !== null) {\n return cacheFromPool;\n } // Create a fresh cache and add it to the root cache pool. A cache can have\n // multiple owners:\n // - A cache pool that lives on the FiberRoot. This is where all fresh caches\n // are originally created (TODO: except during refreshes, until we implement\n // this correctly). The root takes ownership immediately when the cache is\n // created. Conceptually, root.pooledCache is an Option<Arc<Cache>> (owned),\n // and the return value of this function is a &Arc<Cache> (borrowed).\n // - One of several fiber types: host root, cache boundary, suspense\n // component. These retain and release in the commit phase.\n\n\n var root = getWorkInProgressRoot();\n var freshCache = createCache();\n root.pooledCache = freshCache;\n retainCache(freshCache);\n\n if (freshCache !== null) {\n root.pooledCacheLanes |= renderLanes;\n }\n\n return freshCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool, newTransitions) {\n {\n if (prevCachePool === null) {\n push(resumedCache, resumedCache.current, offscreenWorkInProgress);\n } else {\n push(resumedCache, prevCachePool.pool, offscreenWorkInProgress);\n }\n }\n}\nfunction popTransition(workInProgress, current) {\n if (current !== null) {\n\n {\n pop(resumedCache, workInProgress);\n }\n }\n}\nfunction getSuspendedCache() {\n // cache that would have been used to render fresh data during this render,\n // if there was any, so that we can resume rendering with the same cache when\n // we receive more data.\n\n\n var cacheFromPool = peekCacheFromPool();\n\n if (cacheFromPool === null) {\n return null;\n }\n\n return {\n // We must also save the parent, so that when we resume we can detect\n // a refresh.\n parent: CacheContext._currentValue ,\n pool: cacheFromPool\n };\n}\nfunction getOffscreenDeferredCache() {\n\n var cacheFromPool = peekCacheFromPool();\n\n if (cacheFromPool === null) {\n return null;\n }\n\n return {\n // We must also store the parent, so that when we resume we can detect\n // a refresh.\n parent: CacheContext._currentValue ,\n pool: cacheFromPool\n };\n}\n\n/**\n * Tag the fiber with an update effect. This turns a Placement into\n * a PlacementAndUpdate.\n */\n\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= Update;\n}\n\nfunction appendAllChildren(parent, workInProgress, needsVisibilityToggle, isHidden) {\n {\n // We only have the top Fiber that was created but we need recurse down its\n // children to find all the terminal nodes.\n var node = workInProgress.child;\n\n while (node !== null) {\n if (node.tag === HostComponent || node.tag === HostText) {\n appendInitialChild(parent, node.stateNode);\n } else if (node.tag === HostPortal || (node.tag === HostSingleton )) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n } // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n\n while (node.sibling === null) {\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n } // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n} // An unfortunate fork of appendAllChildren because we have two different parent types.\n\nfunction updateHostComponent(current, workInProgress, type, newProps, renderLanes) {\n {\n // If we have an alternate, that means this is an update and we need to\n // schedule a side-effect to do the updates.\n var oldProps = current.memoizedProps;\n\n if (oldProps === newProps) {\n // In mutation mode, this is sufficient for a bailout because\n // we won't touch this node even if children changed.\n return;\n }\n\n markUpdate(workInProgress);\n }\n} // This function must be called at the very end of the complete phase, because\n// it might throw to suspend, and if the resource immediately loads, the work\n// loop will resume rendering as if the work-in-progress completed. So it must\n// fully complete.\n// TODO: This should ideally move to begin phase, but currently the instance is\n// not created until the complete phase. For our existing use cases, host nodes\n// that suspend don't have children, so it doesn't matter. But that might not\n// always be true in the future.\n\n\nfunction preloadInstanceAndSuspendIfNeeded(workInProgress, type, props, renderLanes) {\n {\n // If this flag was set previously, we can remove it. The flag\n // represents whether this particular set of props might ever need to\n // suspend. The safest thing to do is for maySuspendCommit to always\n // return true, but if the renderer is reasonably confident that the\n // underlying resource won't be evicted, it can return false as a\n // performance optimization.\n workInProgress.flags &= ~MaySuspendCommit;\n return;\n } // Mark this fiber with a flag. This gets set on all host instances\n}\n\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource, type, props, renderLanes) {\n // This is a fork of preloadInstanceAndSuspendIfNeeded, but for resources.\n if (!mayResourceSuspendCommit(resource)) {\n workInProgress.flags &= ~MaySuspendCommit;\n return;\n }\n\n workInProgress.flags |= MaySuspendCommit;\n var rootRenderLanes = getWorkInProgressRootRenderLanes();\n\n if (!includesOnlyNonUrgentLanes(rootRenderLanes)) ; else {\n var isReady = preloadResource(resource);\n\n if (!isReady) {\n if (shouldRemainOnPreviousScreen()) {\n workInProgress.flags |= ShouldSuspendCommit;\n } else {\n suspendCommit();\n }\n }\n }\n}\n\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n var wakeables = retryQueue;\n\n if (wakeables !== null) {\n // Schedule an effect to attach a retry listener to the promise.\n // TODO: Move to passive phase\n workInProgress.flags |= Update;\n } else {\n // This boundary suspended, but no wakeables were added to the retry\n // queue. Check if the renderer suspended commit. If so, this means\n // that once the fallback is committed, we can immediately retry\n // rendering again, because rendering wasn't actually blocked. Only\n // the commit phase.\n // TODO: Consider a model where we always schedule an immediate retry, even\n // for normal Suspense. That way the retry can partially render up to the\n // first thing that suspends.\n if (workInProgress.flags & ScheduleRetry) {\n var retryLane = // TODO: This check should probably be moved into claimNextRetryLane\n // I also suspect that we need some further consolidation of offscreen\n // and retry lanes.\n workInProgress.tag !== OffscreenComponent ? claimNextRetryLane() : OffscreenLane;\n workInProgress.lanes = mergeLanes(workInProgress.lanes, retryLane);\n }\n }\n}\n\nfunction updateHostText(current, workInProgress, oldText, newText) {\n {\n // If the text differs, mark it as an update. All the work in done in commitWork.\n if (oldText !== newText) {\n markUpdate(workInProgress);\n }\n }\n}\n\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (getIsHydrating()) {\n // If we're hydrating, we should consume as many items as we can\n // so we don't leave any behind.\n return;\n }\n\n switch (renderState.tailMode) {\n case 'hidden':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var tailNode = renderState.tail;\n var lastTailNode = null;\n\n while (tailNode !== null) {\n if (tailNode.alternate !== null) {\n lastTailNode = tailNode;\n }\n\n tailNode = tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (lastTailNode === null) {\n // All remaining items in the tail are insertions.\n renderState.tail = null;\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n lastTailNode.sibling = null;\n }\n\n break;\n }\n\n case 'collapsed':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var _tailNode = renderState.tail;\n var _lastTailNode = null;\n\n while (_tailNode !== null) {\n if (_tailNode.alternate !== null) {\n _lastTailNode = _tailNode;\n }\n\n _tailNode = _tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (_lastTailNode === null) {\n // All remaining items in the tail are insertions.\n if (!hasRenderedATailFallback && renderState.tail !== null) {\n // We suspended during the head. We want to show at least one\n // row at the tail. So we'll keep on and cut off the rest.\n renderState.tail.sibling = null;\n } else {\n renderState.tail = null;\n }\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n _lastTailNode.sibling = null;\n }\n\n break;\n }\n }\n}\n\nfunction bubbleProperties(completedWork) {\n var didBailout = completedWork.alternate !== null && completedWork.alternate.child === completedWork.child;\n var newChildLanes = NoLanes;\n var subtreeFlags = NoFlags$1;\n\n if (!didBailout) {\n // Bubble up the earliest expiration time.\n if ((completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var actualDuration = completedWork.actualDuration;\n var treeBaseDuration = completedWork.selfBaseDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(child.lanes, child.childLanes));\n subtreeFlags |= child.subtreeFlags;\n subtreeFlags |= child.flags; // When a fiber is cloned, its actualDuration is reset to 0. This value will\n // only be updated if work is done on the fiber (i.e. it doesn't bailout).\n // When work is done, it should bubble to the parent's actualDuration. If\n // the fiber has not been cloned though, (meaning no work was done), then\n // this value will reflect the amount of time spent working on a previous\n // render. In that case it should not bubble. We determine whether it was\n // cloned by comparing the child pointer.\n // $FlowFixMe[unsafe-addition] addition with possible null/undefined value\n\n actualDuration += child.actualDuration; // $FlowFixMe[unsafe-addition] addition with possible null/undefined value\n\n treeBaseDuration += child.treeBaseDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n completedWork.treeBaseDuration = treeBaseDuration;\n } else {\n var _child = completedWork.child;\n\n while (_child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child.lanes, _child.childLanes));\n subtreeFlags |= _child.subtreeFlags;\n subtreeFlags |= _child.flags; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child.return = completedWork;\n _child = _child.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n } else {\n // Bubble up the earliest expiration time.\n if ((completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var _treeBaseDuration = completedWork.selfBaseDuration;\n var _child2 = completedWork.child;\n\n while (_child2 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child2.lanes, _child2.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child2.subtreeFlags & StaticMask;\n subtreeFlags |= _child2.flags & StaticMask; // $FlowFixMe[unsafe-addition] addition with possible null/undefined value\n\n _treeBaseDuration += _child2.treeBaseDuration;\n _child2 = _child2.sibling;\n }\n\n completedWork.treeBaseDuration = _treeBaseDuration;\n } else {\n var _child3 = completedWork.child;\n\n while (_child3 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child3.lanes, _child3.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child3.subtreeFlags & StaticMask;\n subtreeFlags |= _child3.flags & StaticMask; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child3.return = completedWork;\n _child3 = _child3.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n }\n\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\n\nfunction completeDehydratedSuspenseBoundary(current, workInProgress, nextState) {\n if (hasUnhydratedTailNodes() && (workInProgress.mode & ConcurrentMode) !== NoMode && (workInProgress.flags & DidCapture) === NoFlags$1) {\n warnIfUnhydratedTailNodes(workInProgress);\n resetHydrationState();\n workInProgress.flags |= ForceClientRender | DidCapture;\n return false;\n }\n\n var wasHydrated = popHydrationState(workInProgress);\n\n if (nextState !== null && nextState.dehydrated !== null) {\n // We might be inside a hydration state the first time we're picking up this\n // Suspense boundary, and also after we've reentered it for further hydration.\n if (current === null) {\n if (!wasHydrated) {\n throw new Error('A dehydrated suspense component was completed without a hydrated node. ' + 'This is probably a bug in React.');\n }\n\n prepareToHydrateHostSuspenseInstance(workInProgress);\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var isTimedOutSuspense = nextState !== null;\n\n if (isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe[unsafe-arithmetic] Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n } else {\n // We might have reentered this boundary to hydrate it. If so, we need to reset the hydration\n // state since we're now exiting out of it. popHydrationState doesn't do that for us.\n resetHydrationState();\n\n if ((workInProgress.flags & DidCapture) === NoFlags$1) {\n // This boundary did not suspend so it's now hydrated and unsuspended.\n workInProgress.memoizedState = null;\n } // If nothing suspended, we need to schedule an effect to mark this boundary\n // as having hydrated so events know that they're free to be invoked.\n // It's also a signal to replay events and the suspense callback.\n // If something suspended, schedule an effect to attach retry listeners.\n // So we might as well always mark this.\n\n\n workInProgress.flags |= Update;\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var _isTimedOutSuspense = nextState !== null;\n\n if (_isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var _primaryChildFragment = workInProgress.child;\n\n if (_primaryChildFragment !== null) {\n // $FlowFixMe[unsafe-arithmetic] Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= _primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n }\n } else {\n // Successfully completed this tree. If this was a forced client render,\n // there may have been recoverable errors during first hydration\n // attempt. If so, add them to a queue so we can log them in the\n // commit phase.\n upgradeHydrationErrorsToRecoverable(); // Fall through to normal Suspense path\n\n return true;\n }\n}\n\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps; // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case LazyComponent:\n case SimpleMemoComponent:\n case FunctionComponent:\n case ForwardRef:\n case Fragment:\n case Mode:\n case Profiler:\n case ContextConsumer:\n case MemoComponent:\n bubbleProperties(workInProgress);\n return null;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostRoot:\n {\n var fiberRoot = workInProgress.stateNode;\n\n {\n var previousCache = null;\n\n if (current !== null) {\n previousCache = current.memoizedState.cache;\n }\n\n var cache = workInProgress.memoizedState.cache;\n\n if (cache !== previousCache) {\n // Run passive effects to retain/release the cache.\n workInProgress.flags |= Passive$1;\n }\n\n popCacheProvider(workInProgress);\n }\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n\n if (fiberRoot.pendingContext) {\n fiberRoot.context = fiberRoot.pendingContext;\n fiberRoot.pendingContext = null;\n }\n\n if (current === null || current.child === null) {\n // If we hydrated, pop so that we can delete any remaining children\n // that weren't hydrated.\n var wasHydrated = popHydrationState(workInProgress);\n\n if (wasHydrated) {\n // If we hydrated, then we'll need to schedule an update for\n // the commit side-effects on the root.\n markUpdate(workInProgress);\n } else {\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if ( // Check if this is a client root\n !prevState.isDehydrated || // Check if we reverted to client rendering (e.g. due to an error)\n (workInProgress.flags & ForceClientRender) !== NoFlags$1) {\n // Schedule an effect to clear this container at the start of the\n // next commit. This handles the case of React rendering into a\n // container with previous children. It's also safe to do for\n // updates too, because current.child would only be null if the\n // previous render was null (so the container would already\n // be empty).\n workInProgress.flags |= Snapshot; // If this was a forced client render, there may have been\n // recoverable errors during first hydration attempt. If so, add\n // them to a queue so we can log them in the commit phase.\n\n upgradeHydrationErrorsToRecoverable();\n }\n }\n }\n }\n bubbleProperties(workInProgress);\n\n return null;\n }\n\n case HostHoistable:\n {\n {\n var nextResource = workInProgress.memoizedState;\n\n if (current === null) {\n // We are mounting and must Update this Hoistable in this commit\n // @TODO refactor this block to create the instance here in complete\n // phase if we are not hydrating.\n markUpdate(workInProgress);\n\n if (nextResource !== null) {\n // This is a Hoistable Resource\n // This must come at the very end of the complete phase.\n bubbleProperties(workInProgress);\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource);\n return null;\n } else {\n // This is a Hoistable Instance\n // This must come at the very end of the complete phase.\n bubbleProperties(workInProgress);\n preloadInstanceAndSuspendIfNeeded(workInProgress);\n return null;\n }\n } else {\n // We are updating.\n var currentResource = current.memoizedState;\n\n if (nextResource !== currentResource) {\n // We are transitioning to, from, or between Hoistable Resources\n // and require an update\n markUpdate(workInProgress);\n }\n\n if (nextResource !== null) {\n // This is a Hoistable Resource\n // This must come at the very end of the complete phase.\n bubbleProperties(workInProgress);\n\n if (nextResource === currentResource) {\n workInProgress.flags &= ~MaySuspendCommit;\n } else {\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource);\n }\n\n return null;\n } else {\n // This is a Hoistable Instance\n // We may have props to update on the Hoistable instance.\n {\n var oldProps = current.memoizedProps;\n\n if (oldProps !== newProps) {\n markUpdate(workInProgress);\n }\n } // This must come at the very end of the complete phase.\n\n\n bubbleProperties(workInProgress);\n preloadInstanceAndSuspendIfNeeded(workInProgress);\n return null;\n }\n }\n } // Fall through\n\n }\n\n case HostSingleton:\n {\n {\n popHostContext(workInProgress);\n var rootContainerInstance = getRootHostContainer();\n var _type = workInProgress.type;\n\n if (current !== null && workInProgress.stateNode != null) {\n {\n var _oldProps2 = current.memoizedProps;\n\n if (_oldProps2 !== newProps) {\n markUpdate(workInProgress);\n }\n }\n } else {\n if (!newProps) {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n var currentHostContext = getHostContext();\n\n var _wasHydrated = popHydrationState(workInProgress);\n\n var instance;\n\n if (_wasHydrated) {\n // We ignore the boolean indicating there is an updateQueue because\n // it is used only to set text children and HostSingletons do not\n // use them.\n prepareToHydrateHostInstance(workInProgress, currentHostContext);\n instance = workInProgress.stateNode;\n } else {\n instance = resolveSingletonInstance(_type, newProps, rootContainerInstance, currentHostContext, true);\n workInProgress.stateNode = instance;\n markUpdate(workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n } // Fall through\n\n }\n\n case HostComponent:\n {\n popHostContext(workInProgress);\n var _type2 = workInProgress.type;\n\n if (current !== null && workInProgress.stateNode != null) {\n updateHostComponent(current, workInProgress, _type2, newProps);\n } else {\n if (!newProps) {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n var _currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context\n // \"stack\" as the parent. Then append children as we go in beginWork\n // or completeWork depending on whether we want to add them top->down or\n // bottom->up. Top->down is faster in IE11.\n\n\n var _wasHydrated2 = popHydrationState(workInProgress);\n\n if (_wasHydrated2) {\n // TODO: Move this and createInstance step into the beginPhase\n // to consolidate.\n prepareToHydrateHostInstance(workInProgress, _currentHostContext);\n } else {\n var _rootContainerInstance = getRootHostContainer();\n\n var _instance3 = createInstance(_type2, newProps, _rootContainerInstance, _currentHostContext, workInProgress); // TODO: For persistent renderers, we should pass children as part\n // of the initial instance creation\n\n\n appendAllChildren(_instance3, workInProgress);\n workInProgress.stateNode = _instance3; // Certain renderers require commit-time effects for initial mount.\n // (eg DOM renderer supports auto-focus for certain elements).\n // Make sure such renderers get scheduled for later work.\n\n if (finalizeInitialChildren(_instance3, _type2, newProps)) {\n markUpdate(workInProgress);\n }\n }\n }\n\n bubbleProperties(workInProgress); // This must come at the very end of the complete phase, because it might\n // throw to suspend, and if the resource immediately loads, the work loop\n // will resume rendering as if the work-in-progress completed. So it must\n // fully complete.\n\n preloadInstanceAndSuspendIfNeeded(workInProgress);\n return null;\n }\n\n case HostText:\n {\n var newText = newProps;\n\n if (current && workInProgress.stateNode != null) {\n var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need\n // to schedule a side-effect to do the updates.\n\n updateHostText(current, workInProgress, oldText, newText);\n } else {\n if (typeof newText !== 'string') {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n }\n\n var _rootContainerInstance2 = getRootHostContainer();\n\n var _currentHostContext2 = getHostContext();\n\n var _wasHydrated3 = popHydrationState(workInProgress);\n\n if (_wasHydrated3) {\n if (prepareToHydrateHostTextInstance(workInProgress)) {\n markUpdate(workInProgress);\n }\n } else {\n workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance2, _currentHostContext2, workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseHandler(workInProgress);\n var nextState = workInProgress.memoizedState; // Special path for dehydrated boundaries. We may eventually move this\n // to its own fiber type so that we can add other kinds of hydration\n // boundaries that aren't associated with a Suspense tree. In anticipation\n // of such a refactor, all the hydration logic is contained in\n // this branch.\n\n if (current === null || current.memoizedState !== null && current.memoizedState.dehydrated !== null) {\n var fallthroughToNormalSuspensePath = completeDehydratedSuspenseBoundary(current, workInProgress, nextState);\n\n if (!fallthroughToNormalSuspensePath) {\n if (workInProgress.flags & ForceClientRender) {\n // Special case. There were remaining unhydrated nodes. We treat\n // this as a mismatch. Revert to client rendering.\n return workInProgress;\n } else {\n // Did not finish hydrating, either because this is the initial\n // render or because something suspended.\n return null;\n }\n } // Continue with the normal Suspense path.\n\n }\n\n if ((workInProgress.flags & DidCapture) !== NoFlags$1) {\n // Something suspended. Re-render with the fallback children.\n workInProgress.lanes = renderLanes; // Do not reset the effect list.\n\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n } // Don't bubble properties in this case.\n\n\n return workInProgress;\n }\n\n var nextDidTimeout = nextState !== null;\n var prevDidTimeout = current !== null && current.memoizedState !== null;\n\n if (nextDidTimeout) {\n var offscreenFiber = workInProgress.child;\n var _previousCache = null;\n\n if (offscreenFiber.alternate !== null && offscreenFiber.alternate.memoizedState !== null && offscreenFiber.alternate.memoizedState.cachePool !== null) {\n _previousCache = offscreenFiber.alternate.memoizedState.cachePool.pool;\n }\n\n var _cache = null;\n\n if (offscreenFiber.memoizedState !== null && offscreenFiber.memoizedState.cachePool !== null) {\n _cache = offscreenFiber.memoizedState.cachePool.pool;\n }\n\n if (_cache !== _previousCache) {\n // Run passive effects to retain/release the cache.\n offscreenFiber.flags |= Passive$1;\n }\n } // If the suspended state of the boundary changes, we need to schedule\n // a passive effect, which is when we process the transitions\n\n\n if (nextDidTimeout !== prevDidTimeout) {\n // an effect to toggle the subtree's visibility. When we switch from\n // fallback -> primary, the inner Offscreen fiber schedules this effect\n // as part of its normal complete phase. But when we switch from\n // primary -> fallback, the inner Offscreen fiber does not have a complete\n // phase. So we need to schedule its effect here.\n //\n // We also use this flag to connect/disconnect the effects, but the same\n // logic applies: when re-connecting, the Offscreen fiber's complete\n // phase will handle scheduling the effect. It's only when the fallback\n // is active that we have to do anything special.\n\n\n if (nextDidTimeout) {\n var _offscreenFiber2 = workInProgress.child;\n _offscreenFiber2.flags |= Visibility;\n }\n }\n\n var retryQueue = workInProgress.updateQueue;\n scheduleRetryEffect(workInProgress, retryQueue);\n\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n if (nextDidTimeout) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe[unsafe-arithmetic] Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n\n if (current === null) {\n preparePortalMount(workInProgress.stateNode.containerInfo);\n }\n\n bubbleProperties(workInProgress);\n return null;\n\n case ContextProvider:\n // Pop provider fiber\n var context;\n\n {\n context = workInProgress.type._context;\n }\n\n popProvider(context, workInProgress);\n bubbleProperties(workInProgress);\n return null;\n\n case IncompleteClassComponent:\n {\n // Same as class component case. I put it down here so that the tags are\n // sequential to ensure this switch is compiled to a jump table.\n var _Component = workInProgress.type;\n\n if (isContextProvider(_Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseListContext(workInProgress);\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n // We're running in the default, \"independent\" mode.\n // We don't do anything in this mode.\n bubbleProperties(workInProgress);\n return null;\n }\n\n var didSuspendAlready = (workInProgress.flags & DidCapture) !== NoFlags$1;\n var renderedTail = renderState.rendering;\n\n if (renderedTail === null) {\n // We just rendered the head.\n if (!didSuspendAlready) {\n // This is the first pass. We need to figure out if anything is still\n // suspended in the rendered set.\n // If new content unsuspended, but there's still some content that\n // didn't. Then we need to do a second pass that forces everything\n // to keep showing their fallbacks.\n // We might be suspended if something in this render pass suspended, or\n // something in the previous committed pass suspended. Otherwise,\n // there's no chance so we can skip the expensive call to\n // findFirstSuspended.\n var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.flags & DidCapture) === NoFlags$1);\n\n if (!cannotBeSuspended) {\n var row = workInProgress.child;\n\n while (row !== null) {\n var suspended = findFirstSuspended(row);\n\n if (suspended !== null) {\n didSuspendAlready = true;\n workInProgress.flags |= DidCapture;\n cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as\n // part of the second pass. In that case nothing will subscribe to\n // its thenables. Instead, we'll transfer its thenables to the\n // SuspenseList so that it can retry if they resolve.\n // There might be multiple of these in the list but since we're\n // going to wait for all of them anyway, it doesn't really matter\n // which ones gets to ping. In theory we could get clever and keep\n // track of how many dependencies remain but it gets tricky because\n // in the meantime, we can add/remove/change items and dependencies.\n // We might bail out of the loop before finding any but that\n // doesn't matter since that means that the other boundaries that\n // we did find already has their listeners attached.\n\n var _retryQueue = suspended.updateQueue;\n workInProgress.updateQueue = _retryQueue;\n scheduleRetryEffect(workInProgress, _retryQueue); // Rerender the whole list, but this time, we'll force fallbacks\n // to stay in place.\n // Reset the effect flags before doing the second pass since that's now invalid.\n // Reset the child fibers to their original state.\n\n workInProgress.subtreeFlags = NoFlags$1;\n resetChildFibers(workInProgress, renderLanes); // Set up the Suspense List Context to force suspense and\n // immediately rerender the children.\n\n pushSuspenseListContext(workInProgress, setShallowSuspenseListContext(suspenseStackCursor.current, ForceSuspenseFallback)); // Don't bubble properties in this case.\n\n return workInProgress.child;\n }\n\n row = row.sibling;\n }\n }\n\n if (renderState.tail !== null && now$1() > getRenderTargetTime()) {\n // We have already passed our CPU deadline but we still have rows\n // left in the tail. We'll just give up further attempts to render\n // the main content and only render fallbacks.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n } else {\n cutOffTailIfNeeded(renderState, false);\n } // Next we're going to render the tail.\n\n } else {\n // Append the rendered row to the child list.\n if (!didSuspendAlready) {\n var _suspended = findFirstSuspended(renderedTail);\n\n if (_suspended !== null) {\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't\n // get lost if this row ends up dropped during a second pass.\n\n var _retryQueue2 = _suspended.updateQueue;\n workInProgress.updateQueue = _retryQueue2;\n scheduleRetryEffect(workInProgress, _retryQueue2);\n cutOffTailIfNeeded(renderState, true); // This might have been modified.\n\n if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate && !getIsHydrating() // We don't cut it if we're hydrating.\n ) {\n // We're done.\n bubbleProperties(workInProgress);\n return null;\n }\n } else if ( // The time it took to render last row is greater than the remaining\n // time we have to render. So rendering one more row would likely\n // exceed it.\n now$1() * 2 - renderState.renderingStartTime > getRenderTargetTime() && renderLanes !== OffscreenLane) {\n // We have now passed our CPU deadline and we'll just give up further\n // attempts to render the main content and only render fallbacks.\n // The assumption is that this is usually faster.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n }\n\n if (renderState.isBackwards) {\n // The effect list of the backwards tail will have been added\n // to the end. This breaks the guarantee that life-cycles fire in\n // sibling order but that isn't a strong guarantee promised by React.\n // Especially since these might also just pop in during future commits.\n // Append to the beginning of the list.\n renderedTail.sibling = workInProgress.child;\n workInProgress.child = renderedTail;\n } else {\n var previousSibling = renderState.last;\n\n if (previousSibling !== null) {\n previousSibling.sibling = renderedTail;\n } else {\n workInProgress.child = renderedTail;\n }\n\n renderState.last = renderedTail;\n }\n }\n\n if (renderState.tail !== null) {\n // We still have tail rows to render.\n // Pop a row.\n var next = renderState.tail;\n renderState.rendering = next;\n renderState.tail = next.sibling;\n renderState.renderingStartTime = now$1();\n next.sibling = null; // Restore the context.\n // TODO: We can probably just avoid popping it instead and only\n // setting it the first time we go from not suspended to suspended.\n\n var suspenseContext = suspenseStackCursor.current;\n\n if (didSuspendAlready) {\n suspenseContext = setShallowSuspenseListContext(suspenseContext, ForceSuspenseFallback);\n } else {\n suspenseContext = setDefaultShallowSuspenseListContext(suspenseContext);\n }\n\n pushSuspenseListContext(workInProgress, suspenseContext); // Do a pass over the next row.\n // Don't bubble properties in this case.\n\n return next;\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n popSuspenseHandler(workInProgress);\n popHiddenContext(workInProgress);\n var _nextState = workInProgress.memoizedState;\n var nextIsHidden = _nextState !== null; // Schedule a Visibility effect if the visibility has changed\n\n {\n if (current !== null) {\n var _prevState = current.memoizedState;\n var prevIsHidden = _prevState !== null;\n\n if (prevIsHidden !== nextIsHidden) {\n workInProgress.flags |= Visibility;\n }\n } else {\n // On initial mount, we only need a Visibility effect if the tree\n // is hidden.\n if (nextIsHidden) {\n workInProgress.flags |= Visibility;\n }\n }\n }\n\n if (!nextIsHidden || (workInProgress.mode & ConcurrentMode) === NoMode) {\n bubbleProperties(workInProgress);\n } else {\n // Don't bubble properties for hidden children unless we're rendering\n // at offscreen priority.\n if (includesSomeLane(renderLanes, OffscreenLane) && // Also don't bubble if the tree suspended\n (workInProgress.flags & DidCapture) === NoLanes) {\n bubbleProperties(workInProgress); // Check if there was an insertion or update in the hidden subtree.\n // If so, we need to hide those nodes in the commit phase, so\n // schedule a visibility effect.\n\n if (workInProgress.subtreeFlags & (Placement | Update)) {\n workInProgress.flags |= Visibility;\n }\n }\n }\n\n var offscreenQueue = workInProgress.updateQueue;\n\n if (offscreenQueue !== null) {\n var _retryQueue3 = offscreenQueue.retryQueue;\n scheduleRetryEffect(workInProgress, _retryQueue3);\n }\n\n {\n var _previousCache2 = null;\n\n if (current !== null && current.memoizedState !== null && current.memoizedState.cachePool !== null) {\n _previousCache2 = current.memoizedState.cachePool.pool;\n }\n\n var _cache2 = null;\n\n if (workInProgress.memoizedState !== null && workInProgress.memoizedState.cachePool !== null) {\n _cache2 = workInProgress.memoizedState.cachePool.pool;\n }\n\n if (_cache2 !== _previousCache2) {\n // Run passive effects to retain/release the cache.\n workInProgress.flags |= Passive$1;\n }\n }\n\n popTransition(workInProgress, current);\n return null;\n }\n\n case CacheComponent:\n {\n {\n var _previousCache3 = null;\n\n if (current !== null) {\n _previousCache3 = current.memoizedState.cache;\n }\n\n var _cache3 = workInProgress.memoizedState.cache;\n\n if (_cache3 !== _previousCache3) {\n // Run passive effects to retain/release the cache.\n workInProgress.flags |= Passive$1;\n }\n\n popCacheProvider(workInProgress);\n bubbleProperties(workInProgress);\n }\n\n return null;\n }\n\n case TracingMarkerComponent:\n {\n\n return null;\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction unwindWork(current, workInProgress, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n var flags = workInProgress.flags;\n\n if (flags & ShouldCapture) {\n workInProgress.flags = flags & ~ShouldCapture | DidCapture;\n\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case HostRoot:\n {\n\n {\n popCacheProvider(workInProgress);\n }\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n var _flags = workInProgress.flags;\n\n if ((_flags & ShouldCapture) !== NoFlags$1 && (_flags & DidCapture) === NoFlags$1) {\n // There was an error during render that wasn't captured by a suspense\n // boundary. Do a second pass on the root to unmount the children.\n workInProgress.flags = _flags & ~ShouldCapture | DidCapture;\n return workInProgress;\n } // We unwound to the root without completing it. Exit.\n\n\n return null;\n }\n\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n {\n // TODO: popHydrationState\n popHostContext(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseHandler(workInProgress);\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n if (workInProgress.alternate === null) {\n throw new Error('Threw in newly mounted dehydrated component. This is likely a bug in ' + 'React. Please file an issue.');\n }\n\n resetHydrationState();\n }\n\n var _flags2 = workInProgress.flags;\n\n if (_flags2 & ShouldCapture) {\n workInProgress.flags = _flags2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.\n\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseListContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been\n // caught by a nested boundary. If not, it should bubble through.\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n return null;\n\n case ContextProvider:\n var context;\n\n {\n context = workInProgress.type._context;\n }\n\n popProvider(context, workInProgress);\n return null;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n popSuspenseHandler(workInProgress);\n popHiddenContext(workInProgress);\n popTransition(workInProgress, current);\n var _flags3 = workInProgress.flags;\n\n if (_flags3 & ShouldCapture) {\n workInProgress.flags = _flags3 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.\n\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case CacheComponent:\n {\n popCacheProvider(workInProgress);\n }\n\n return null;\n\n case TracingMarkerComponent:\n\n return null;\n\n default:\n return null;\n }\n}\n\nfunction unwindInterruptedWork(current, interruptedWork, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(interruptedWork);\n\n switch (interruptedWork.tag) {\n case ClassComponent:\n {\n var childContextTypes = interruptedWork.type.childContextTypes;\n\n if (childContextTypes !== null && childContextTypes !== undefined) {\n popContext(interruptedWork);\n }\n\n break;\n }\n\n case HostRoot:\n {\n\n {\n popCacheProvider(interruptedWork);\n }\n popHostContainer(interruptedWork);\n popTopLevelContextObject(interruptedWork);\n break;\n }\n\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n {\n popHostContext(interruptedWork);\n break;\n }\n\n case HostPortal:\n popHostContainer(interruptedWork);\n break;\n\n case SuspenseComponent:\n popSuspenseHandler(interruptedWork);\n break;\n\n case SuspenseListComponent:\n popSuspenseListContext(interruptedWork);\n break;\n\n case ContextProvider:\n var context;\n\n {\n context = interruptedWork.type._context;\n }\n\n popProvider(context, interruptedWork);\n break;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popSuspenseHandler(interruptedWork);\n popHiddenContext(interruptedWork);\n popTransition(interruptedWork, current);\n break;\n\n case CacheComponent:\n {\n popCacheProvider(interruptedWork);\n }\n\n break;\n }\n}\n\nvar fakeNode = null;\n\n{\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && // $FlowFixMe[method-unbinding]\n typeof document.createEvent === 'function') {\n fakeNode = document.createElement('react');\n }\n}\n\nfunction invokeGuardedCallbackImpl(name, func, context) {\n {\n // In DEV mode, we use a special version\n // that plays more nicely with the browser's DevTools. The idea is to preserve\n // \"Pause on exceptions\" behavior. Because React wraps all user-provided\n // functions in invokeGuardedCallback, and the production version of\n // invokeGuardedCallback uses a try-catch, all user exceptions are treated\n // like caught exceptions, and the DevTools won't pause unless the developer\n // takes the extra step of enabling pause on caught exceptions. This is\n // unintuitive, though, because even though React has caught the error, from\n // the developer's perspective, the error is uncaught.\n //\n // To preserve the expected \"Pause on exceptions\" behavior, we don't use a\n // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake\n // DOM node, and call the user-provided callback from inside an event handler\n // for that fake event. If the callback throws, the error is \"captured\" using\n // event loop context, it does not interrupt the normal program flow.\n // Effectively, this gives us try-catch behavior without actually using\n // try-catch. Neat!\n // fakeNode signifies we are in an environment with a document and window object\n if (fakeNode) {\n var evt = document.createEvent('Event');\n var didCall = false; // Keeps track of whether the user-provided callback threw an error. We\n // set this to true at the beginning, then set it to false right after\n // calling the function. If the function errors, `didError` will never be\n // set to false. This strategy works even if the browser is flaky and\n // fails to call our global error handler, because it doesn't rely on\n // the error event at all.\n\n var didError = true; // Keeps track of the value of window.event so that we can reset it\n // during the callback to let user code access window.event in the\n // browsers that support it.\n\n var windowEvent = window.event; // Keeps track of the descriptor of window.event to restore it after event\n // dispatching: https://github.com/facebook/react/issues/13688\n\n var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event');\n\n var restoreAfterDispatch = function () {\n // We immediately remove the callback from event listeners so that\n // nested `invokeGuardedCallback` calls do not clash. Otherwise, a\n // nested call would trigger the fake event handlers of any call higher\n // in the stack.\n fakeNode.removeEventListener(evtType, callCallback, false); // We check for window.hasOwnProperty('event') to prevent the\n // window.event assignment in both IE <= 10 as they throw an error\n // \"Member not found\" in strict mode, and in Firefox which does not\n // support window.event.\n\n if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) {\n window.event = windowEvent;\n }\n }; // Create an event handler for our fake event. We will synchronously\n // dispatch our fake event using `dispatchEvent`. Inside the handler, we\n // call the user-provided callback.\n // $FlowFixMe[method-unbinding]\n\n\n var _funcArgs = Array.prototype.slice.call(arguments, 3);\n\n var callCallback = function () {\n didCall = true;\n restoreAfterDispatch(); // $FlowFixMe[incompatible-call] Flow doesn't understand the arguments splicing.\n\n func.apply(context, _funcArgs);\n didError = false;\n }; // Create a global error event handler. We use this to capture the value\n // that was thrown. It's possible that this error handler will fire more\n // than once; for example, if non-React code also calls `dispatchEvent`\n // and a handler for that event throws. We should be resilient to most of\n // those cases. Even if our error event handler fires more than once, the\n // last error event is always used. If the callback actually does error,\n // we know that the last error event is the correct one, because it's not\n // possible for anything else to have happened in between our callback\n // erroring and the code that follows the `dispatchEvent` call below. If\n // the callback doesn't error, but the error event was fired, we know to\n // ignore it because `didError` will be false, as described above.\n\n\n var error; // Use this to track whether the error event is ever called.\n\n var didSetError = false;\n var isCrossOriginError = false;\n\n var handleWindowError = function (event) {\n error = event.error;\n didSetError = true;\n\n if (error === null && event.colno === 0 && event.lineno === 0) {\n isCrossOriginError = true;\n }\n\n if (event.defaultPrevented) {\n // Some other error handler has prevented default.\n // Browsers silence the error report if this happens.\n // We'll remember this to later decide whether to log it or not.\n if (error != null && typeof error === 'object') {\n try {\n error._suppressLogging = true;\n } catch (inner) {// Ignore.\n }\n }\n }\n }; // Create a fake event type.\n\n\n var evtType = \"react-\" + (name ? name : 'invokeguardedcallback'); // Attach our event handlers\n\n window.addEventListener('error', handleWindowError);\n fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function\n // errors, it will trigger our global error handler.\n\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n\n if (windowEventDescriptor) {\n Object.defineProperty(window, 'event', windowEventDescriptor);\n }\n\n if (didCall && didError) {\n if (!didSetError) {\n // The callback errored, but the error event never fired.\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error('An error was thrown inside one of your components, but React ' + \"doesn't know what it was. This is likely due to browser \" + 'flakiness. React does its best to preserve the \"Pause on ' + 'exceptions\" behavior of the DevTools, which requires some ' + \"DEV-mode only tricks. It's possible that these don't work in \" + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.');\n } else if (isCrossOriginError) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(\"A cross-origin error was thrown. React doesn't have access to \" + 'the actual error object in development. ' + 'See https://reactjs.org/link/crossorigin-error for more information.');\n }\n\n this.onError(error);\n } // Remove our event listeners\n\n\n window.removeEventListener('error', handleWindowError);\n\n if (didCall) {\n return;\n } else {\n // Something went really wrong, and our event was not dispatched.\n // https://github.com/facebook/react/issues/16734\n // https://github.com/facebook/react/issues/16585\n // Fall back to the production implementation.\n restoreAfterDispatch(); // we fall through and call the prod version instead\n }\n } // We only get here if we are in an environment that either does not support the browser\n // variant or we had trouble getting the browser to emit the error.\n // $FlowFixMe[method-unbinding]\n\n\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n try {\n // $FlowFixMe[incompatible-call] Flow doesn't understand the arguments splicing.\n func.apply(context, funcArgs);\n } catch (error) {\n this.onError(error);\n }\n }\n}\n\nvar hasError = false;\nvar caughtError = null; // Used by event system to capture/rethrow the first error.\n\nvar hasRethrowError = false;\nvar rethrowError = null;\nvar reporter = {\n onError: function (error) {\n hasError = true;\n caughtError = error;\n }\n};\n/**\n * Call a function while guarding against errors that happens within it.\n * Returns an error if it throws, otherwise null.\n *\n * In production, this is implemented using a try-catch. The reason we don't\n * use a try-catch directly is so that we can swap out a different\n * implementation in DEV mode.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {\n hasError = false;\n caughtError = null;\n invokeGuardedCallbackImpl.apply(reporter, arguments);\n}\n/**\n * Same as invokeGuardedCallback, but instead of returning an error, it stores\n * it in a global so it can be rethrown by `rethrowCaughtError` later.\n * TODO: See if caughtError and rethrowError can be unified.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {\n invokeGuardedCallback.apply(this, arguments);\n\n if (hasError) {\n var error = clearCaughtError();\n\n if (!hasRethrowError) {\n hasRethrowError = true;\n rethrowError = error;\n }\n }\n}\n/**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n\nfunction rethrowCaughtError() {\n if (hasRethrowError) {\n var error = rethrowError;\n hasRethrowError = false;\n rethrowError = null;\n throw error;\n }\n}\nfunction hasCaughtError() {\n return hasError;\n}\nfunction clearCaughtError() {\n if (hasError) {\n var error = caughtError;\n hasError = false;\n caughtError = null;\n return error;\n } else {\n throw new Error('clearCaughtError was called but no error was captured. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n}\n\nvar didWarnAboutUndefinedSnapshotBeforeUpdate = null;\n\n{\n didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();\n} // Used during the commit phase to track the state of the Offscreen component stack.\n// Allows us to avoid traversing the return path to find the nearest Offscreen ancestor.\n\n\nvar offscreenSubtreeIsHidden = false;\nvar offscreenSubtreeWasHidden = false;\nvar PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set;\nvar nextEffect = null; // Used for Profiling builds to track updaters.\n\nvar inProgressLanes = null;\nvar inProgressRoot = null;\n\nfunction shouldProfile(current) {\n return (current.mode & ProfileMode) !== NoMode && (getExecutionContext() & CommitContext) !== NoContext;\n}\n\nfunction reportUncaughtErrorInDEV(error) {\n // Wrapping each small part of the commit phase into a guarded\n // callback is a bit too slow (https://github.com/facebook/react/pull/21666).\n // But we rely on it to surface errors to DEV tools like overlays\n // (https://github.com/facebook/react/issues/21712).\n // As a compromise, rethrow only caught errors in a guard.\n {\n invokeGuardedCallback(null, function () {\n throw error;\n });\n clearCaughtError();\n }\n}\n\nfunction callComponentWillUnmountWithTimer(current, instance) {\n instance.props = current.memoizedProps;\n instance.state = current.memoizedState;\n\n if (shouldProfile(current)) {\n try {\n startLayoutEffectTimer();\n instance.componentWillUnmount();\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n instance.componentWillUnmount();\n }\n} // Capture errors so they don't interrupt unmounting.\n\n\nfunction safelyCallComponentWillUnmount(current, nearestMountedAncestor, instance) {\n try {\n callComponentWillUnmountWithTimer(current, instance);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n commitAttachRef(current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref;\n var refCleanup = current.refCleanup;\n\n if (ref !== null) {\n if (typeof refCleanup === 'function') {\n try {\n if (shouldProfile(current)) {\n try {\n startLayoutEffectTimer();\n refCleanup();\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n refCleanup();\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n // `refCleanup` has been called. Nullify all references to it to prevent double invocation.\n current.refCleanup = null;\n var finishedWork = current.alternate;\n\n if (finishedWork != null) {\n finishedWork.refCleanup = null;\n }\n }\n } else if (typeof ref === 'function') {\n var retVal;\n\n try {\n if (shouldProfile(current)) {\n try {\n startLayoutEffectTimer();\n retVal = ref(null);\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n retVal = ref(null);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(current));\n }\n }\n } else {\n // $FlowFixMe[incompatible-use] unable to narrow type to RefObject\n ref.current = null;\n }\n }\n}\n\nfunction safelyCallDestroy(current, nearestMountedAncestor, destroy) {\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nvar shouldFireAfterActiveInstanceBlur = false;\nfunction commitBeforeMutationEffects(root, firstChild) {\n prepareForCommit();\n nextEffect = firstChild;\n commitBeforeMutationEffects_begin(); // We no longer need to track the active instance fiber\n\n var shouldFire = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = false;\n return shouldFire;\n}\n\nfunction commitBeforeMutationEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect; // This phase is only used for beforeActiveInstanceBlur.\n\n var child = fiber.child;\n\n if ((fiber.subtreeFlags & BeforeMutationMask) !== NoFlags$1 && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitBeforeMutationEffects_complete();\n }\n }\n}\n\nfunction commitBeforeMutationEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n setCurrentFiber(fiber);\n\n try {\n commitBeforeMutationEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitBeforeMutationEffectsOnFiber(finishedWork) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags;\n\n if ((flags & Snapshot) !== NoFlags$1) {\n setCurrentFiber(finishedWork);\n }\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n {\n\n break;\n }\n\n case ForwardRef:\n case SimpleMemoComponent:\n {\n break;\n }\n\n case ClassComponent:\n {\n if ((flags & Snapshot) !== NoFlags$1) {\n if (current !== null) {\n var prevProps = current.memoizedProps;\n var prevState = current.memoizedState;\n var instance = finishedWork.stateNode; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);\n\n {\n var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;\n\n if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {\n didWarnSet.add(finishedWork.type);\n\n error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentNameFromFiber(finishedWork));\n }\n }\n\n instance.__reactInternalSnapshotBeforeUpdate = snapshot;\n }\n }\n\n break;\n }\n\n case HostRoot:\n {\n if ((flags & Snapshot) !== NoFlags$1) {\n {\n var root = finishedWork.stateNode;\n clearContainer(root.containerInfo);\n }\n }\n\n break;\n }\n\n case HostComponent:\n case HostHoistable:\n case HostSingleton:\n case HostText:\n case HostPortal:\n case IncompleteClassComponent:\n // Nothing to do for these component types\n break;\n\n default:\n {\n if ((flags & Snapshot) !== NoFlags$1) {\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n }\n\n if ((flags & Snapshot) !== NoFlags$1) {\n resetCurrentFiber();\n }\n}\n\nfunction commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n // Unmount\n var inst = effect.inst;\n var destroy = inst.destroy;\n\n if (destroy !== undefined) {\n inst.destroy = undefined;\n\n {\n if ((flags & Passive) !== NoFlags) {\n markComponentPassiveEffectUnmountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags) {\n markComponentLayoutEffectUnmountStarted(finishedWork);\n }\n }\n\n {\n if ((flags & Insertion) !== NoFlags) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n safelyCallDestroy(finishedWork, nearestMountedAncestor, destroy);\n\n {\n if ((flags & Insertion) !== NoFlags) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive) !== NoFlags) {\n markComponentPassiveEffectUnmountStopped();\n } else if ((flags & Layout) !== NoFlags) {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitHookEffectListMount(flags, finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n {\n if ((flags & Passive) !== NoFlags) {\n markComponentPassiveEffectMountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags) {\n markComponentLayoutEffectMountStarted(finishedWork);\n }\n } // Mount\n\n\n var create = effect.create;\n\n {\n if ((flags & Insertion) !== NoFlags) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n var inst = effect.inst;\n var destroy = create();\n inst.destroy = destroy;\n\n {\n if ((flags & Insertion) !== NoFlags) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive) !== NoFlags) {\n markComponentPassiveEffectMountStopped();\n } else if ((flags & Layout) !== NoFlags) {\n markComponentLayoutEffectMountStopped();\n }\n }\n\n {\n if (destroy !== undefined && typeof destroy !== 'function') {\n var hookName = void 0;\n\n if ((effect.tag & Layout) !== NoFlags$1) {\n hookName = 'useLayoutEffect';\n } else if ((effect.tag & Insertion) !== NoFlags$1) {\n hookName = 'useInsertionEffect';\n } else {\n hookName = 'useEffect';\n }\n\n var addendum = void 0;\n\n if (destroy === null) {\n addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).';\n } else if (typeof destroy.then === 'function') {\n addendum = '\\n\\nIt looks like you wrote ' + hookName + '(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\\n\\n' + hookName + '(() => {\\n' + ' async function fetchData() {\\n' + ' // You can await here\\n' + ' const response = await MyAPI.getData(someId);\\n' + ' // ...\\n' + ' }\\n' + ' fetchData();\\n' + \"}, [someId]); // Or [] if effect doesn't need props or state\\n\\n\" + 'Learn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching';\n } else {\n addendum = ' You returned: ' + destroy;\n }\n\n error('%s must not return anything besides a function, ' + 'which is used for clean-up.%s', hookName, addendum);\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitPassiveEffectDurations(finishedRoot, finishedWork) {\n if (getExecutionContext() & CommitContext) {\n // Only Profilers with work in their subtree will have an Update effect scheduled.\n if ((finishedWork.flags & Update) !== NoFlags$1) {\n switch (finishedWork.tag) {\n case Profiler:\n {\n var passiveEffectDuration = finishedWork.stateNode.passiveEffectDuration;\n var _finishedWork$memoize = finishedWork.memoizedProps,\n id = _finishedWork$memoize.id,\n onPostCommit = _finishedWork$memoize.onPostCommit; // This value will still reflect the previous commit phase.\n // It does not get reset until the start of the next commit phase.\n\n var commitTime = getCommitTime();\n var phase = finishedWork.alternate === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onPostCommit === 'function') {\n onPostCommit(id, phase, passiveEffectDuration, commitTime);\n } // Bubble times to the next nearest ancestor Profiler.\n // After we process that Profiler, we'll bubble further up.\n\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.passiveEffectDuration += passiveEffectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.passiveEffectDuration += passiveEffectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction commitHookLayoutEffects(finishedWork, hookFlags) {\n // At this point layout effects have already been destroyed (during mutation phase).\n // This is done to prevent sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n if (shouldProfile(finishedWork)) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListMount(hookFlags, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordLayoutEffectDuration(finishedWork);\n } else {\n try {\n commitHookEffectListMount(hookFlags, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\n\nfunction commitClassLayoutLifecycles(finishedWork, current) {\n var instance = finishedWork.stateNode;\n\n if (current === null) {\n // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if (shouldProfile(finishedWork)) {\n try {\n startLayoutEffectTimer();\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordLayoutEffectDuration(finishedWork);\n } else {\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else {\n var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps);\n var prevState = current.memoizedState; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if (shouldProfile(finishedWork)) {\n try {\n startLayoutEffectTimer();\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordLayoutEffectDuration(finishedWork);\n } else {\n try {\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n}\n\nfunction commitClassCallbacks(finishedWork) {\n // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n var updateQueue = finishedWork.updateQueue;\n\n if (updateQueue !== null) {\n var instance = finishedWork.stateNode;\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n } // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\n\nfunction commitHostComponentMount(finishedWork) {\n var type = finishedWork.type;\n var props = finishedWork.memoizedProps;\n var instance = finishedWork.stateNode;\n\n try {\n commitMount(instance, type, props, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\n\nfunction commitProfilerUpdate(finishedWork, current) {\n if (getExecutionContext() & CommitContext) {\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n onCommit = _finishedWork$memoize2.onCommit,\n onRender = _finishedWork$memoize2.onRender;\n var effectDuration = finishedWork.stateNode.effectDuration;\n var commitTime = getCommitTime();\n var phase = current === null ? 'mount' : 'update';\n\n if (enableProfilerNestedUpdatePhase) {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onRender === 'function') {\n onRender(finishedWork.memoizedProps.id, phase, finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, commitTime);\n }\n\n if (enableProfilerCommitHooks) {\n if (typeof onCommit === 'function') {\n onCommit(finishedWork.memoizedProps.id, phase, effectDuration, commitTime);\n } // Schedule a passive effect for this Profiler to call onPostCommit hooks.\n // This effect should be scheduled even if there is no onPostCommit callback for this Profiler,\n // because the effect is also where times bubble to parent Profilers.\n\n\n enqueuePendingPassiveProfilerEffect(finishedWork); // Propagate layout effect durations to the next nearest Profiler ancestor.\n // Do not reset these values until the next render so DevTools has a chance to read them first.\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += effectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += effectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\n\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork, committedLanes) {\n // When updating this function, also update reappearLayoutEffects, which does\n // most of the same things when an offscreen tree goes from hidden -> visible.\n var flags = finishedWork.flags;\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n\n if (flags & Update) {\n commitHookLayoutEffects(finishedWork, Layout | HasEffect);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n\n if (flags & Update) {\n commitClassLayoutLifecycles(finishedWork, current);\n }\n\n if (flags & Callback) {\n commitClassCallbacks(finishedWork);\n }\n\n if (flags & Ref) {\n safelyAttachRef(finishedWork, finishedWork.return);\n }\n\n break;\n }\n\n case HostRoot:\n {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n\n if (flags & Callback) {\n // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n var updateQueue = finishedWork.updateQueue;\n\n if (updateQueue !== null) {\n var instance = null;\n\n if (finishedWork.child !== null) {\n switch (finishedWork.child.tag) {\n case HostSingleton:\n case HostComponent:\n instance = getPublicInstance(finishedWork.child.stateNode);\n break;\n\n case ClassComponent:\n instance = finishedWork.child.stateNode;\n break;\n }\n }\n\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n break;\n }\n\n case HostHoistable:\n {\n {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n\n if (flags & Ref) {\n safelyAttachRef(finishedWork, finishedWork.return);\n }\n\n break;\n } // Fall through\n\n }\n\n case HostSingleton:\n case HostComponent:\n {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); // Renderers may schedule work to be done after host components are mounted\n // (eg DOM renderer may schedule auto-focus for inputs and form controls).\n // These effects should only be committed when components are first mounted,\n // aka when there is no current/alternate.\n\n if (current === null && flags & Update) {\n commitHostComponentMount(finishedWork);\n }\n\n if (flags & Ref) {\n safelyAttachRef(finishedWork, finishedWork.return);\n }\n\n break;\n }\n\n case Profiler:\n {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); // TODO: Should this fire inside an offscreen tree? Or should it wait to\n // fire when the tree becomes visible again.\n\n if (flags & Update) {\n commitProfilerUpdate(finishedWork, current);\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n\n if (flags & Update) {\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n }\n\n break;\n }\n\n case OffscreenComponent:\n {\n var isModernRoot = (finishedWork.mode & ConcurrentMode) !== NoMode;\n\n if (isModernRoot) {\n var isHidden = finishedWork.memoizedState !== null;\n var newOffscreenSubtreeIsHidden = isHidden || offscreenSubtreeIsHidden;\n\n if (newOffscreenSubtreeIsHidden) ; else {\n // The Offscreen tree is visible.\n var wasHidden = current !== null && current.memoizedState !== null;\n var newOffscreenSubtreeWasHidden = wasHidden || offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = newOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden;\n\n if (offscreenSubtreeWasHidden && !prevOffscreenSubtreeWasHidden) {\n // This is the root of a reappearing boundary. As we continue\n // traversing the layout effects, we must also re-mount layout\n // effects that were unmounted when the Offscreen subtree was\n // hidden. So this is a superset of the normal commitLayoutEffects.\n var includeWorkInProgressEffects = (finishedWork.subtreeFlags & LayoutMask) !== NoFlags$1;\n recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);\n } else {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n } else {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n\n if (flags & Ref) {\n var props = finishedWork.memoizedProps;\n\n if (props.mode === 'manual') {\n safelyAttachRef(finishedWork, finishedWork.return);\n } else {\n safelyDetachRef(finishedWork, finishedWork.return);\n }\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n }\n }\n}\n\nfunction hideOrUnhideAllChildren(finishedWork, isHidden) {\n // Only hide or unhide the top-most host nodes.\n var hostSubtreeRoot = null;\n\n {\n // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n var node = finishedWork;\n\n while (true) {\n if (node.tag === HostComponent || (node.tag === HostHoistable ) || (node.tag === HostSingleton )) {\n if (hostSubtreeRoot === null) {\n hostSubtreeRoot = node;\n\n try {\n var instance = node.stateNode;\n\n if (isHidden) {\n hideInstance(instance);\n } else {\n unhideInstance(node.stateNode, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if (node.tag === HostText) {\n if (hostSubtreeRoot === null) {\n try {\n var _instance = node.stateNode;\n\n if (isHidden) {\n hideTextInstance(_instance);\n } else {\n unhideTextInstance(_instance, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if ((node.tag === OffscreenComponent || node.tag === LegacyHiddenComponent) && node.memoizedState !== null && node !== finishedWork) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === finishedWork) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node = node.return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n}\n\nfunction commitAttachRef(finishedWork) {\n var ref = finishedWork.ref;\n\n if (ref !== null) {\n var instance = finishedWork.stateNode;\n var instanceToUse;\n\n switch (finishedWork.tag) {\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n instanceToUse = getPublicInstance(instance);\n break;\n\n default:\n instanceToUse = instance;\n } // Moved outside to ensure DCE works with this flag\n\n if (typeof ref === 'function') {\n if (shouldProfile(finishedWork)) {\n try {\n startLayoutEffectTimer();\n finishedWork.refCleanup = ref(instanceToUse);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n finishedWork.refCleanup = ref(instanceToUse);\n }\n } else {\n {\n if (!ref.hasOwnProperty('current')) {\n error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().', getComponentNameFromFiber(finishedWork));\n }\n } // $FlowFixMe[incompatible-use] unable to narrow type to the non-function case\n\n\n ref.current = instanceToUse;\n }\n }\n}\n\nfunction detachFiberMutation(fiber) {\n // Cut off the return pointer to disconnect it from the tree.\n // This enables us to detect and warn against state updates on an unmounted component.\n // It also prevents events from bubbling from within disconnected components.\n //\n // Ideally, we should also clear the child pointer of the parent alternate to let this\n // get GC:ed but we don't know which for sure which parent is the current\n // one so we'll settle for GC:ing the subtree of this child.\n // This child itself will be GC:ed when the parent updates the next time.\n //\n // Note that we can't clear child or sibling pointers yet.\n // They're needed for passive effects and for findDOMNode.\n // We defer those fields, and all other cleanup, to the passive phase (see detachFiberAfterEffects).\n //\n // Don't reset the alternate yet, either. We need that so we can detach the\n // alternate's fields in the passive phase. Clearing the return pointer is\n // sufficient for findDOMNode semantics.\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.return = null;\n }\n\n fiber.return = null;\n}\n\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n fiber.alternate = null;\n detachFiberAfterEffects(alternate);\n } // Clear cyclical Fiber fields. This level alone is designed to roughly\n // approximate the planned Fiber refactor. In that world, `setState` will be\n // bound to a special \"instance\" object instead of a Fiber. The Instance\n // object will not have any of these fields. It will only be connected to\n // the fiber tree via a single link at the root. So if this level alone is\n // sufficient to fix memory issues, that bodes well for our plans.\n\n\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null; // The `stateNode` is cyclical because on host nodes it points to the host\n // tree, which has its own pointers to children, parents, and siblings.\n // The other host nodes also point back to fibers, so we should detach that\n // one, too.\n\n if (fiber.tag === HostComponent) {\n var hostInstance = fiber.stateNode;\n\n if (hostInstance !== null) {\n detachDeletedInstance(hostInstance);\n }\n }\n\n fiber.stateNode = null;\n\n {\n fiber._debugOwner = null;\n } // Theoretically, nothing in here should be necessary, because we already\n // disconnected the fiber from the tree. So even if something leaks this\n // particular fiber, it won't leak anything else.\n\n\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead.\n\n fiber.updateQueue = null;\n}\n\nfunction getHostParentFiber(fiber) {\n var parent = fiber.return;\n\n while (parent !== null) {\n if (isHostParent(parent)) {\n return parent;\n }\n\n parent = parent.return;\n }\n\n throw new Error('Expected to find a host parent. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n}\n\nfunction isHostParent(fiber) {\n return fiber.tag === HostComponent || fiber.tag === HostRoot || (fiber.tag === HostHoistable ) || (fiber.tag === HostSingleton ) || fiber.tag === HostPortal;\n}\n\nfunction getHostSibling(fiber) {\n // We're going to search forward into the tree until we find a sibling host\n // node. Unfortunately, if multiple insertions are done in a row we have to\n // search past them. This leads to exponential search for the next sibling.\n // TODO: Find a more efficient way to do this.\n var node = fiber;\n\n siblings: while (true) {\n // If we didn't find anything, let's try the next sibling.\n while (node.sibling === null) {\n if (node.return === null || isHostParent(node.return)) {\n // If we pop out of the root or hit the parent the fiber we are the\n // last sibling.\n return null;\n } // $FlowFixMe[incompatible-type] found when upgrading Flow\n\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n\n while (node.tag !== HostComponent && node.tag !== HostText && (node.tag !== HostSingleton) && node.tag !== DehydratedFragment) {\n // If it is not host node and, we might have a host node inside it.\n // Try to search down until we find one.\n if (node.flags & Placement) {\n // If we don't have a child, try the siblings instead.\n continue siblings;\n } // If we don't have a child, try the siblings instead.\n // We also skip portals because they are not part of this host tree.\n\n\n if (node.child === null || node.tag === HostPortal) {\n continue siblings;\n } else {\n node.child.return = node;\n node = node.child;\n }\n } // Check if this host node is stable or about to be placed.\n\n\n if (!(node.flags & Placement)) {\n // Found it!\n return node.stateNode;\n }\n }\n}\n\nfunction commitPlacement(finishedWork) {\n\n {\n if (finishedWork.tag === HostSingleton) {\n // Singletons are already in the Host and don't need to be placed\n // Since they operate somewhat like Portals though their children will\n // have Placement and will get placed inside them\n return;\n }\n } // Recursively insert all host nodes into the parent.\n\n\n var parentFiber = getHostParentFiber(finishedWork);\n\n switch (parentFiber.tag) {\n case HostSingleton:\n {\n {\n var parent = parentFiber.stateNode;\n var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n } // Fall through\n\n }\n\n case HostComponent:\n {\n var _parent = parentFiber.stateNode;\n\n if (parentFiber.flags & ContentReset) {\n // Reset the text content of the parent before doing any insertions\n resetTextContent(_parent); // Clear ContentReset from the effect tag\n\n parentFiber.flags &= ~ContentReset;\n }\n\n var _before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n\n\n insertOrAppendPlacementNode(finishedWork, _before, _parent);\n break;\n }\n\n case HostRoot:\n case HostPortal:\n {\n var _parent2 = parentFiber.stateNode.containerInfo;\n\n var _before2 = getHostSibling(finishedWork);\n\n insertOrAppendPlacementNodeIntoContainer(finishedWork, _before2, _parent2);\n break;\n }\n\n default:\n throw new Error('Invalid host parent fiber. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n}\n\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertInContainerBefore(parent, stateNode, before);\n } else {\n appendChildToContainer(parent, stateNode);\n }\n } else if (tag === HostPortal || (tag === HostSingleton )) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNodeIntoContainer(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNodeIntoContainer(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n}\n\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertBefore(parent, stateNode, before);\n } else {\n appendChild(parent, stateNode);\n }\n } else if (tag === HostPortal || (tag === HostSingleton )) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNode(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNode(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n} // These are tracked on the stack as we recursively traverse a\n// deleted subtree.\n// TODO: Update these during the whole mutation phase, not just during\n// a deletion.\n\n\nvar hostParent = null;\nvar hostParentIsContainer = false;\n\nfunction commitDeletionEffects(root, returnFiber, deletedFiber) {\n {\n // We only have the top Fiber that was deleted but we need to recurse down its\n // children to find all the terminal nodes.\n // Recursively delete all host nodes from the parent, detach refs, clean\n // up mounted layout effects, and call componentWillUnmount.\n // We only need to remove the topmost host child in each branch. But then we\n // still need to keep traversing to unmount effects, refs, and cWU. TODO: We\n // could split this into two separate traversals functions, where the second\n // one doesn't include any removeChild logic. This is maybe the same\n // function as \"disappearLayoutEffects\" (or whatever that turns into after\n // the layout phase is refactored to use recursion).\n // Before starting, find the nearest host parent on the stack so we know\n // which instance/container to remove the children from.\n // TODO: Instead of searching up the fiber return path on every deletion, we\n // can track the nearest host component on the JS stack as we traverse the\n // tree during the commit phase. This would make insertions faster, too.\n var parent = returnFiber;\n\n findParent: while (parent !== null) {\n switch (parent.tag) {\n case HostSingleton:\n case HostComponent:\n {\n hostParent = parent.stateNode;\n hostParentIsContainer = false;\n break findParent;\n }\n\n case HostRoot:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n\n case HostPortal:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n }\n\n parent = parent.return;\n }\n\n if (hostParent === null) {\n throw new Error('Expected to find a host parent. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n }\n\n commitDeletionEffectsOnFiber(root, returnFiber, deletedFiber);\n hostParent = null;\n hostParentIsContainer = false;\n }\n\n detachFiberMutation(deletedFiber);\n}\n\nfunction recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {\n // TODO: Use a static flag to skip trees that don't have unmount effects\n var child = parent.child;\n\n while (child !== null) {\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, child);\n child = child.sibling;\n }\n}\n\nfunction commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {\n onCommitUnmount(deletedFiber); // The cases in this outer switch modify the stack before they traverse\n // into their subtree. There are simpler cases in the inner switch\n // that don't modify the stack.\n\n switch (deletedFiber.tag) {\n case HostHoistable:\n {\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n\n if (deletedFiber.memoizedState) {\n releaseResource(deletedFiber.memoizedState);\n } else if (deletedFiber.stateNode) {\n unmountHoistable(deletedFiber.stateNode);\n }\n\n return;\n } // Fall through\n\n }\n\n case HostSingleton:\n {\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n }\n\n var prevHostParent = hostParent;\n var prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber); // Normally this is called in passive unmount effect phase however with\n // HostSingleton we warn if you acquire one that is already associated to\n // a different fiber. To increase our chances of avoiding this, specifically\n // if you keyed a HostSingleton so there will be a delete followed by a Placement\n // we treat detach eagerly here\n\n releaseSingletonInstance(deletedFiber.stateNode);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n return;\n } // Fall through\n\n }\n\n case HostComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n } // Intentional fallthrough to next branch\n\n }\n\n case HostText:\n {\n // We only need to remove the nearest host child. Set the host parent\n // to `null` on the stack to indicate that nested children don't\n // need to be removed.\n {\n var _prevHostParent = hostParent;\n var _prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = _prevHostParent;\n hostParentIsContainer = _prevHostParentIsContainer;\n\n if (hostParent !== null) {\n // Now that all the child effects have unmounted, we can remove the\n // node from the tree.\n if (hostParentIsContainer) {\n removeChildFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n removeChild(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case DehydratedFragment:\n {\n // Delete the dehydrated suspense boundary and all of its content.\n\n\n {\n if (hostParent !== null) {\n if (hostParentIsContainer) {\n clearSuspenseBoundaryFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n clearSuspenseBoundary(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n {\n // When we go into a portal, it becomes the parent to remove from.\n var _prevHostParent2 = hostParent;\n var _prevHostParentIsContainer2 = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = true;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = _prevHostParent2;\n hostParentIsContainer = _prevHostParentIsContainer2;\n }\n\n return;\n }\n\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n var updateQueue = deletedFiber.updateQueue;\n\n if (updateQueue !== null) {\n var lastEffect = updateQueue.lastEffect;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n var tag = effect.tag;\n var inst = effect.inst;\n var destroy = inst.destroy;\n\n if (destroy !== undefined) {\n if ((tag & Insertion) !== NoFlags) {\n inst.destroy = undefined;\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n } else if ((tag & Layout) !== NoFlags) {\n {\n markComponentLayoutEffectUnmountStarted(deletedFiber);\n }\n\n if (shouldProfile(deletedFiber)) {\n startLayoutEffectTimer();\n inst.destroy = undefined;\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n recordLayoutEffectDuration(deletedFiber);\n } else {\n inst.destroy = undefined;\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n }\n\n {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ClassComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var instance = deletedFiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(deletedFiber, nearestMountedAncestor, instance);\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ScopeComponent:\n {\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case OffscreenComponent:\n {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n\n if (deletedFiber.mode & ConcurrentMode) {\n // If this offscreen component is hidden, we already unmounted it. Before\n // deleting the children, track that it's already unmounted so that we\n // don't attempt to unmount the effects again.\n // TODO: If the tree is hidden, in most cases we should be able to skip\n // over the nested children entirely. An exception is we haven't yet found\n // the topmost host node to delete, which we already track on the stack.\n // But the other case is portals, which need to be detached no matter how\n // deeply they are nested. We should use a subtree flag to track whether a\n // subtree includes a nested portal.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || deletedFiber.memoizedState !== null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n }\n}\n\nfunction commitSuspenseCallback(finishedWork) {\n}\n\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n\n var newState = finishedWork.memoizedState;\n\n if (newState === null) {\n var current = finishedWork.alternate;\n\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var suspenseInstance = prevState.dehydrated;\n\n if (suspenseInstance !== null) {\n try {\n commitHydratedSuspenseInstance(suspenseInstance);\n\n var hydrationCallbacks, onHydrated; if (enableSuspenseCallback) ;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n}\n\nfunction getRetryCache(finishedWork) {\n // TODO: Unify the interface for the retry cache so we don't have to switch\n // on the tag like this.\n switch (finishedWork.tag) {\n case SuspenseComponent:\n case SuspenseListComponent:\n {\n var retryCache = finishedWork.stateNode;\n\n if (retryCache === null) {\n retryCache = finishedWork.stateNode = new PossiblyWeakSet();\n }\n\n return retryCache;\n }\n\n case OffscreenComponent:\n {\n var instance = finishedWork.stateNode;\n var _retryCache = instance._retryCache;\n\n if (_retryCache === null) {\n _retryCache = instance._retryCache = new PossiblyWeakSet();\n }\n\n return _retryCache;\n }\n\n default:\n {\n throw new Error(\"Unexpected Suspense handler tag (\" + finishedWork.tag + \"). This is a \" + 'bug in React.');\n }\n }\n}\n\nfunction detachOffscreenInstance(instance) {\n var fiber = instance._current;\n\n if (fiber === null) {\n throw new Error('Calling Offscreen.detach before instance handle has been set.');\n }\n\n if ((instance._pendingVisibility & OffscreenDetached) !== NoFlags$1) {\n // The instance is already detached, this is a noop.\n return;\n } // TODO: There is an opportunity to optimise this by not entering commit phase\n // and unmounting effects directly.\n\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n instance._pendingVisibility |= OffscreenDetached;\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n}\nfunction attachOffscreenInstance(instance) {\n var fiber = instance._current;\n\n if (fiber === null) {\n throw new Error('Calling Offscreen.detach before instance handle has been set.');\n }\n\n if ((instance._pendingVisibility & OffscreenDetached) === NoFlags$1) {\n // The instance is already attached, this is a noop.\n return;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n instance._pendingVisibility &= ~OffscreenDetached;\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n}\n\nfunction attachSuspenseRetryListeners(finishedWork, wakeables) {\n // If this boundary just timed out, then it will have a set of wakeables.\n // For each wakeable, attach a listener so that when it resolves, React\n // attempts to re-render the boundary in the primary (pre-timeout) state.\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n // Memoize using the boundary fiber to prevent redundant listeners.\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n\n {\n if (isDevToolsPresent) {\n if (inProgressLanes !== null && inProgressRoot !== null) {\n // If we have pending work still, associate the original updaters with it.\n restorePendingUpdaters(inProgressRoot, inProgressLanes);\n } else {\n throw Error('Expected finished root and lanes to be set. This is a bug in React.');\n }\n }\n }\n\n wakeable.then(retry, retry);\n }\n });\n} // This function detects when a Suspense boundary goes from visible to hidden.\nfunction commitMutationEffects(root, finishedWork, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n setCurrentFiber(finishedWork);\n commitMutationEffectsOnFiber(finishedWork, root);\n setCurrentFiber(finishedWork);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction recursivelyTraverseMutationEffects(root, parentFiber, lanes) {\n // Deletions effects can be scheduled on any fiber type. They need to happen\n // before the children effects hae fired.\n var deletions = parentFiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n\n try {\n commitDeletionEffects(root, parentFiber, childToDelete);\n } catch (error) {\n captureCommitPhaseError(childToDelete, parentFiber, error);\n }\n }\n }\n\n var prevDebugFiber = getCurrentFiber();\n\n if (parentFiber.subtreeFlags & MutationMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n commitMutationEffectsOnFiber(child, root);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nvar currentHoistableRoot = null;\n\nfunction commitMutationEffectsOnFiber(finishedWork, root, lanes) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags; // The effect flag should be checked *after* we refine the type of fiber,\n // because the fiber tag is more specific. An exception is any flag related\n // to reconciliation, because those can be set on all fiber types.\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n try {\n commitHookEffectListUnmount(Insertion | HasEffect, finishedWork, finishedWork.return);\n commitHookEffectListMount(Insertion | HasEffect, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Layout effects are destroyed during the mutation phase so that all\n // destroy functions for all fibers are called before any create functions.\n // This prevents sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n\n\n if (shouldProfile(finishedWork)) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordLayoutEffectDuration(finishedWork);\n } else {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case ClassComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n if (flags & Callback && offscreenSubtreeIsHidden) {\n var updateQueue = finishedWork.updateQueue;\n\n if (updateQueue !== null) {\n deferHiddenCallbacks(updateQueue);\n }\n }\n\n return;\n }\n\n case HostHoistable:\n {\n {\n // We cast because we always set the root at the React root and so it cannot be\n // null while we are processing mutation effects\n var hoistableRoot = currentHoistableRoot;\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n if (flags & Update) {\n var currentResource = current !== null ? current.memoizedState : null;\n var newResource = finishedWork.memoizedState;\n\n if (current === null) {\n // We are mounting a new HostHoistable Fiber. We fork the mount\n // behavior based on whether this instance is a Hoistable Instance\n // or a Hoistable Resource\n if (newResource === null) {\n if (finishedWork.stateNode === null) {\n finishedWork.stateNode = hydrateHoistable(hoistableRoot, finishedWork.type, finishedWork.memoizedProps, finishedWork);\n } else {\n mountHoistable(hoistableRoot, finishedWork.type, finishedWork.stateNode);\n }\n } else {\n finishedWork.stateNode = acquireResource(hoistableRoot, newResource, finishedWork.memoizedProps);\n }\n } else if (currentResource !== newResource) {\n // We are moving to or from Hoistable Resource, or between different Hoistable Resources\n if (currentResource === null) {\n if (current.stateNode !== null) {\n unmountHoistable(current.stateNode);\n }\n } else {\n releaseResource(currentResource);\n }\n\n if (newResource === null) {\n mountHoistable(hoistableRoot, finishedWork.type, finishedWork.stateNode);\n } else {\n acquireResource(hoistableRoot, newResource, finishedWork.memoizedProps);\n }\n } else if (newResource === null && finishedWork.stateNode !== null) {\n // We may have an update on a Hoistable element\n var updatePayload = finishedWork.updateQueue;\n finishedWork.updateQueue = null;\n\n try {\n commitUpdate(finishedWork.stateNode, updatePayload, finishedWork.type, current.memoizedProps, finishedWork.memoizedProps, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n } // Fall through\n\n }\n\n case HostSingleton:\n {\n {\n if (flags & Update) {\n var previousWork = finishedWork.alternate;\n\n if (previousWork === null) {\n var singleton = finishedWork.stateNode;\n var props = finishedWork.memoizedProps; // This was a new mount, we need to clear and set initial properties\n\n clearSingleton(singleton);\n acquireSingletonInstance(finishedWork.type, props, singleton, finishedWork);\n }\n }\n } // Fall through\n\n }\n\n case HostComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n {\n // TODO: ContentReset gets cleared by the children during the commit\n // phase. This is a refactor hazard because it means we must read\n // flags the flags after `commitReconciliationEffects` has already run;\n // the order matters. We should refactor so that ContentReset does not\n // rely on mutating the flag during commit. Like by setting a flag\n // during the render phase instead.\n if (finishedWork.flags & ContentReset) {\n var instance = finishedWork.stateNode;\n\n try {\n resetTextContent(instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n\n if (flags & Update) {\n var _instance2 = finishedWork.stateNode;\n\n if (_instance2 != null) {\n // Commit the work prepared earlier.\n var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldProps = current !== null ? current.memoizedProps : newProps;\n var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components.\n\n var _updatePayload = finishedWork.updateQueue;\n finishedWork.updateQueue = null;\n\n try {\n commitUpdate(_instance2, _updatePayload, type, oldProps, newProps, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n\n return;\n }\n\n case HostText:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (finishedWork.stateNode === null) {\n throw new Error('This should have a text node initialized. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n }\n\n var textInstance = finishedWork.stateNode;\n var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldText = current !== null ? current.memoizedProps : newText;\n\n try {\n commitTextUpdate(textInstance, oldText, newText);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case HostRoot:\n {\n {\n prepareToCommitHoistables();\n var previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(root.containerInfo);\n recursivelyTraverseMutationEffects(root, finishedWork);\n currentHoistableRoot = previousHoistableRoot;\n commitReconciliationEffects(finishedWork);\n }\n\n if (flags & Update) {\n {\n if (current !== null) {\n var prevRootState = current.memoizedState;\n\n if (prevRootState.isDehydrated) {\n try {\n commitHydratedContainer(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n {\n var _previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(finishedWork.stateNode.containerInfo);\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n currentHoistableRoot = _previousHoistableRoot;\n }\n\n return;\n }\n\n case SuspenseComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork); // TODO: We should mark a flag on the Suspense fiber itself, rather than\n // relying on the Offscreen fiber having a flag also being marked. The\n // reason is that this offscreen fiber might not be part of the work-in-\n // progress tree! It could have been reused from a previous render. This\n // doesn't lead to incorrect behavior because we don't rely on the flag\n // check alone; we also compare the states explicitly below. But for\n // modeling purposes, we _should_ be able to rely on the flag check alone.\n // So this is a bit fragile.\n //\n // Also, all this logic could/should move to the passive phase so it\n // doesn't block paint.\n\n var offscreenFiber = finishedWork.child;\n\n if (offscreenFiber.flags & Visibility) {\n // Throttle the appearance and disappearance of Suspense fallbacks.\n var isShowingFallback = finishedWork.memoizedState !== null;\n var wasShowingFallback = current !== null && current.memoizedState !== null;\n\n {\n if (isShowingFallback !== wasShowingFallback) {\n // A fallback is either appearing or disappearing.\n markCommitTimeOfFallback();\n }\n }\n }\n\n if (flags & Update) {\n try {\n commitSuspenseCallback(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n var retryQueue = finishedWork.updateQueue;\n\n if (retryQueue !== null) {\n finishedWork.updateQueue = null;\n attachSuspenseRetryListeners(finishedWork, retryQueue);\n }\n }\n\n return;\n }\n\n case OffscreenComponent:\n {\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n var newState = finishedWork.memoizedState;\n var isHidden = newState !== null;\n var wasHidden = current !== null && current.memoizedState !== null;\n\n if (finishedWork.mode & ConcurrentMode) {\n // Before committing the children, track on the stack whether this\n // offscreen subtree was already hidden, so that we don't unmount the\n // effects again.\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || isHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n } else {\n recursivelyTraverseMutationEffects(root, finishedWork);\n }\n\n commitReconciliationEffects(finishedWork);\n var offscreenInstance = finishedWork.stateNode; // TODO: Add explicit effect flag to set _current.\n\n offscreenInstance._current = finishedWork; // Offscreen stores pending changes to visibility in `_pendingVisibility`. This is\n // to support batching of `attach` and `detach` calls.\n\n offscreenInstance._visibility &= ~OffscreenDetached;\n offscreenInstance._visibility |= offscreenInstance._pendingVisibility & OffscreenDetached;\n\n if (flags & Visibility) {\n // Track the current state on the Offscreen instance so we can\n // read it during an event\n if (isHidden) {\n offscreenInstance._visibility &= ~OffscreenVisible;\n } else {\n offscreenInstance._visibility |= OffscreenVisible;\n }\n\n if (isHidden) {\n var isUpdate = current !== null;\n var wasHiddenByAncestorOffscreen = offscreenSubtreeIsHidden || offscreenSubtreeWasHidden; // Only trigger disapper layout effects if:\n // - This is an update, not first mount.\n // - This Offscreen was not hidden before.\n // - Ancestor Offscreen was not hidden in previous commit.\n\n if (isUpdate && !wasHidden && !wasHiddenByAncestorOffscreen) {\n if ((finishedWork.mode & ConcurrentMode) !== NoMode) {\n // Disappear the layout effects of all the children\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n }\n } // Offscreen with manual mode manages visibility manually.\n\n\n if (!isOffscreenManual(finishedWork)) {\n // TODO: This needs to run whenever there's an insertion or update\n // inside a hidden Offscreen tree.\n hideOrUnhideAllChildren(finishedWork, isHidden);\n }\n } // TODO: Move to passive phase\n\n\n if (flags & Update) {\n var offscreenQueue = finishedWork.updateQueue;\n\n if (offscreenQueue !== null) {\n var _retryQueue = offscreenQueue.retryQueue;\n\n if (_retryQueue !== null) {\n offscreenQueue.retryQueue = null;\n attachSuspenseRetryListeners(finishedWork, _retryQueue);\n }\n }\n }\n\n return;\n }\n\n case SuspenseListComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n var _retryQueue2 = finishedWork.updateQueue;\n\n if (_retryQueue2 !== null) {\n finishedWork.updateQueue = null;\n attachSuspenseRetryListeners(finishedWork, _retryQueue2);\n }\n }\n\n return;\n }\n\n case ScopeComponent:\n {\n\n return;\n }\n\n default:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n return;\n }\n }\n}\n\nfunction commitReconciliationEffects(finishedWork) {\n // Placement effects (insertions, reorders) can be scheduled on any fiber\n // type. They needs to happen after the children effects have fired, but\n // before the effects on this fiber have fired.\n var flags = finishedWork.flags;\n\n if (flags & Placement) {\n try {\n commitPlacement(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Clear the \"placement\" from effect tag so that we know that this is\n // inserted, before any life-cycles like componentDidMount gets called.\n // TODO: findDOMNode doesn't rely on this any more but isMounted does\n // and isMounted is deprecated anyway so we should be able to kill this.\n\n\n finishedWork.flags &= ~Placement;\n }\n\n if (flags & Hydrating) {\n finishedWork.flags &= ~Hydrating;\n }\n}\n\nfunction commitLayoutEffects(finishedWork, root, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n var current = finishedWork.alternate;\n commitLayoutEffectOnFiber(root, current, finishedWork);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction recursivelyTraverseLayoutEffects(root, parentFiber, lanes) {\n var prevDebugFiber = getCurrentFiber();\n\n if (parentFiber.subtreeFlags & LayoutMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n var current = child.alternate;\n commitLayoutEffectOnFiber(root, current, child);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction disappearLayoutEffects(finishedWork) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n // TODO (Offscreen) Check: flags & LayoutStatic\n if (shouldProfile(finishedWork)) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout, finishedWork, finishedWork.return);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListUnmount(Layout, finishedWork, finishedWork.return);\n }\n\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n }\n\n case ClassComponent:\n {\n // TODO (Offscreen) Check: flags & RefStatic\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(finishedWork, finishedWork.return, instance);\n }\n\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n }\n\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n {\n // TODO (Offscreen) Check: flags & RefStatic\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n }\n\n case OffscreenComponent:\n {\n // TODO (Offscreen) Check: flags & RefStatic\n safelyDetachRef(finishedWork, finishedWork.return);\n var isHidden = finishedWork.memoizedState !== null;\n\n if (isHidden) ; else {\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n }\n }\n}\n\nfunction recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n // TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)\n var child = parentFiber.child;\n\n while (child !== null) {\n disappearLayoutEffects(child);\n child = child.sibling;\n }\n}\n\nfunction reappearLayoutEffects(finishedRoot, current, finishedWork, // This function visits both newly finished work and nodes that were re-used\n// from a previously committed tree. We cannot check non-static flags if the\n// node was reused.\nincludeWorkInProgressEffects) {\n // Turn on layout effects in a tree that previously disappeared.\n var flags = finishedWork.flags;\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects); // TODO: Check flags & LayoutStatic\n\n commitHookLayoutEffects(finishedWork, Layout);\n break;\n }\n\n case ClassComponent:\n {\n recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects); // TODO: Check for LayoutStatic flag\n\n var instance = finishedWork.stateNode;\n\n if (typeof instance.componentDidMount === 'function') {\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } // Commit any callbacks that would have fired while the component\n // was hidden.\n\n\n var updateQueue = finishedWork.updateQueue;\n\n if (updateQueue !== null) {\n commitHiddenCallbacks(updateQueue, instance);\n } // If this is newly finished work, check for setState callbacks\n\n\n if (includeWorkInProgressEffects && flags & Callback) {\n commitClassCallbacks(finishedWork);\n } // TODO: Check flags & RefStatic\n\n\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n }\n // Unlike commitLayoutEffectsOnFiber, we don't need to handle HostRoot\n // because this function only visits nodes that are inside an\n // Offscreen fiber.\n // case HostRoot: {\n // ...\n // }\n\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n {\n recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects); // Renderers may schedule work to be done after host components are mounted\n // (eg DOM renderer may schedule auto-focus for inputs and form controls).\n // These effects should only be committed when components are first mounted,\n // aka when there is no current/alternate.\n\n if (includeWorkInProgressEffects && current === null && flags & Update) {\n commitHostComponentMount(finishedWork);\n } // TODO: Check flags & Ref\n\n\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n }\n\n case Profiler:\n {\n recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects); // TODO: Figure out how Profiler updates should work with Offscreen\n\n if (includeWorkInProgressEffects && flags & Update) {\n commitProfilerUpdate(finishedWork, current);\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects); // TODO: Figure out how Suspense hydration callbacks should work\n // with Offscreen.\n\n if (includeWorkInProgressEffects && flags & Update) {\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n }\n\n break;\n }\n\n case OffscreenComponent:\n {\n var offscreenState = finishedWork.memoizedState;\n var isHidden = offscreenState !== null;\n\n if (isHidden) ; else {\n recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);\n } // TODO: Check flags & Ref\n\n\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n }\n\n default:\n {\n recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);\n break;\n }\n }\n}\n\nfunction recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, includeWorkInProgressEffects) {\n // This function visits both newly finished work and nodes that were re-used\n // from a previously committed tree. We cannot check non-static flags if the\n // node was reused.\n var childShouldIncludeWorkInProgressEffects = includeWorkInProgressEffects && (parentFiber.subtreeFlags & LayoutMask) !== NoFlags$1; // TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)\n\n var prevDebugFiber = getCurrentFiber();\n var child = parentFiber.child;\n\n while (child !== null) {\n var current = child.alternate;\n reappearLayoutEffects(finishedRoot, current, child, childShouldIncludeWorkInProgressEffects);\n child = child.sibling;\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction commitHookPassiveMountEffects(finishedWork, hookFlags) {\n if (shouldProfile(finishedWork)) {\n startPassiveEffectTimer();\n\n try {\n commitHookEffectListMount(hookFlags, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordPassiveEffectDuration(finishedWork);\n } else {\n try {\n commitHookEffectListMount(hookFlags, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\n\nfunction commitOffscreenPassiveMountEffects(current, finishedWork, instance) {\n {\n var previousCache = null;\n\n if (current !== null && current.memoizedState !== null && current.memoizedState.cachePool !== null) {\n previousCache = current.memoizedState.cachePool.pool;\n }\n\n var nextCache = null;\n\n if (finishedWork.memoizedState !== null && finishedWork.memoizedState.cachePool !== null) {\n nextCache = finishedWork.memoizedState.cachePool.pool;\n } // Retain/release the cache used for pending (suspended) nodes.\n // Note that this is only reached in the non-suspended/visible case:\n // when the content is suspended/hidden, the retain/release occurs\n // via the parent Suspense component (see case above).\n\n\n if (nextCache !== previousCache) {\n if (nextCache != null) {\n retainCache(nextCache);\n }\n\n if (previousCache != null) {\n releaseCache(previousCache);\n }\n }\n }\n}\n\nfunction commitCachePassiveMountEffect(current, finishedWork) {\n {\n var previousCache = null;\n\n if (finishedWork.alternate !== null) {\n previousCache = finishedWork.alternate.memoizedState.cache;\n }\n\n var nextCache = finishedWork.memoizedState.cache; // Retain/release the cache. In theory the cache component\n // could be \"borrowing\" a cache instance owned by some parent,\n // in which case we could avoid retaining/releasing. But it\n // is non-trivial to determine when that is the case, so we\n // always retain/release.\n\n if (nextCache !== previousCache) {\n retainCache(nextCache);\n\n if (previousCache != null) {\n releaseCache(previousCache);\n }\n }\n }\n}\n\nfunction commitPassiveMountEffects(root, finishedWork, committedLanes, committedTransitions) {\n setCurrentFiber(finishedWork);\n commitPassiveMountOnFiber(root, finishedWork, committedLanes, committedTransitions);\n resetCurrentFiber();\n}\n\nfunction recursivelyTraversePassiveMountEffects(root, parentFiber, committedLanes, committedTransitions) {\n var prevDebugFiber = getCurrentFiber();\n\n if (parentFiber.subtreeFlags & PassiveMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n commitPassiveMountOnFiber(root, child, committedLanes, committedTransitions);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) {\n // When updating this function, also update reconnectPassiveEffects, which does\n // most of the same things when an offscreen tree goes from hidden -> visible,\n // or when toggling effects inside a hidden tree.\n var flags = finishedWork.flags;\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions);\n\n if (flags & Passive$1) {\n commitHookPassiveMountEffects(finishedWork, Passive | HasEffect);\n }\n\n break;\n }\n\n case HostRoot:\n {\n recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions);\n\n if (flags & Passive$1) {\n {\n var previousCache = null;\n\n if (finishedWork.alternate !== null) {\n previousCache = finishedWork.alternate.memoizedState.cache;\n }\n\n var nextCache = finishedWork.memoizedState.cache; // Retain/release the root cache.\n // Note that on initial mount, previousCache and nextCache will be the same\n // and this retain won't occur. To counter this, we instead retain the HostRoot's\n // initial cache when creating the root itself (see createFiberRoot() in\n // ReactFiberRoot.js). Subsequent updates that change the cache are reflected\n // here, such that previous/next caches are retained correctly.\n\n if (nextCache !== previousCache) {\n retainCache(nextCache);\n\n if (previousCache != null) {\n releaseCache(previousCache);\n }\n }\n }\n }\n\n break;\n }\n\n case LegacyHiddenComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n {\n // TODO: Pass `current` as argument to this function\n var _instance3 = finishedWork.stateNode;\n var nextState = finishedWork.memoizedState;\n var isHidden = nextState !== null;\n\n if (isHidden) {\n if (_instance3._visibility & OffscreenPassiveEffectsConnected) {\n // The effects are currently connected. Update them.\n recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions);\n } else {\n if (finishedWork.mode & ConcurrentMode) {\n // The effects are currently disconnected. Since the tree is hidden,\n // don't connect them. This also applies to the initial render.\n {\n // \"Atomic\" effects are ones that need to fire on every commit,\n // even during pre-rendering. An example is updating the reference\n // count on cache instances.\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n } else {\n // Legacy Mode: Fire the effects even if the tree is hidden.\n _instance3._visibility |= OffscreenPassiveEffectsConnected;\n recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions);\n }\n }\n } else {\n // Tree is visible\n if (_instance3._visibility & OffscreenPassiveEffectsConnected) {\n // The effects are currently connected. Update them.\n recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions);\n } else {\n // The effects are currently disconnected. Reconnect them, while also\n // firing effects inside newly mounted trees. This also applies to\n // the initial render.\n _instance3._visibility |= OffscreenPassiveEffectsConnected;\n var includeWorkInProgressEffects = (finishedWork.subtreeFlags & PassiveMask) !== NoFlags$1;\n recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects);\n }\n }\n\n if (flags & Passive$1) {\n var _current = finishedWork.alternate;\n commitOffscreenPassiveMountEffects(_current, finishedWork);\n }\n\n break;\n }\n\n case CacheComponent:\n {\n recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions);\n\n if (flags & Passive$1) {\n // TODO: Pass `current` as argument to this function\n var _current2 = finishedWork.alternate;\n commitCachePassiveMountEffect(_current2, finishedWork);\n }\n\n break;\n }\n\n case TracingMarkerComponent:\n\n default:\n {\n recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions);\n break;\n }\n }\n}\n\nfunction recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects) {\n // This function visits both newly finished work and nodes that were re-used\n // from a previously committed tree. We cannot check non-static flags if the\n // node was reused.\n var childShouldIncludeWorkInProgressEffects = includeWorkInProgressEffects && (parentFiber.subtreeFlags & PassiveMask) !== NoFlags$1; // TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)\n\n var prevDebugFiber = getCurrentFiber();\n var child = parentFiber.child;\n\n while (child !== null) {\n reconnectPassiveEffects(finishedRoot, child, committedLanes, committedTransitions, childShouldIncludeWorkInProgressEffects);\n child = child.sibling;\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, // This function visits both newly finished work and nodes that were re-used\n// from a previously committed tree. We cannot check non-static flags if the\n// node was reused.\nincludeWorkInProgressEffects) {\n var flags = finishedWork.flags;\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects); // TODO: Check for PassiveStatic flag\n\n commitHookPassiveMountEffects(finishedWork, Passive);\n break;\n }\n // Unlike commitPassiveMountOnFiber, we don't need to handle HostRoot\n // because this function only visits nodes that are inside an\n // Offscreen fiber.\n // case HostRoot: {\n // ...\n // }\n\n case LegacyHiddenComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n {\n var _instance4 = finishedWork.stateNode;\n var nextState = finishedWork.memoizedState;\n var isHidden = nextState !== null;\n\n if (isHidden) {\n if (_instance4._visibility & OffscreenPassiveEffectsConnected) {\n // The effects are currently connected. Update them.\n recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects);\n } else {\n if (finishedWork.mode & ConcurrentMode) {\n // The effects are currently disconnected. Since the tree is hidden,\n // don't connect them. This also applies to the initial render.\n {\n // \"Atomic\" effects are ones that need to fire on every commit,\n // even during pre-rendering. An example is updating the reference\n // count on cache instances.\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n } else {\n // Legacy Mode: Fire the effects even if the tree is hidden.\n _instance4._visibility |= OffscreenPassiveEffectsConnected;\n recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects);\n }\n }\n } else {\n // Tree is visible\n // Since we're already inside a reconnecting tree, it doesn't matter\n // whether the effects are currently connected. In either case, we'll\n // continue traversing the tree and firing all the effects.\n //\n // We do need to set the \"connected\" flag on the instance, though.\n _instance4._visibility |= OffscreenPassiveEffectsConnected;\n recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects);\n }\n\n if (includeWorkInProgressEffects && flags & Passive$1) {\n // TODO: Pass `current` as argument to this function\n var _current3 = finishedWork.alternate;\n commitOffscreenPassiveMountEffects(_current3, finishedWork);\n }\n\n break;\n }\n\n case CacheComponent:\n {\n recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects);\n\n if (includeWorkInProgressEffects && flags & Passive$1) {\n // TODO: Pass `current` as argument to this function\n var _current4 = finishedWork.alternate;\n commitCachePassiveMountEffect(_current4, finishedWork);\n }\n\n break;\n }\n\n case TracingMarkerComponent:\n\n default:\n {\n recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects);\n break;\n }\n }\n}\n\nfunction recursivelyTraverseAtomicPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions) {\n // \"Atomic\" effects are ones that need to fire on every commit, even during\n // pre-rendering. We call this function when traversing a hidden tree whose\n // regular effects are currently disconnected.\n var prevDebugFiber = getCurrentFiber(); // TODO: Add special flag for atomic effects\n\n if (parentFiber.subtreeFlags & PassiveMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n commitAtomicPassiveEffects(finishedRoot, child);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction commitAtomicPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions) {\n // \"Atomic\" effects are ones that need to fire on every commit, even during\n // pre-rendering. We call this function when traversing a hidden tree whose\n // regular effects are currently disconnected.\n var flags = finishedWork.flags;\n\n switch (finishedWork.tag) {\n case OffscreenComponent:\n {\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n\n if (flags & Passive$1) {\n // TODO: Pass `current` as argument to this function\n var current = finishedWork.alternate;\n commitOffscreenPassiveMountEffects(current, finishedWork);\n }\n\n break;\n }\n\n case CacheComponent:\n {\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n\n if (flags & Passive$1) {\n // TODO: Pass `current` as argument to this function\n var _current5 = finishedWork.alternate;\n commitCachePassiveMountEffect(_current5, finishedWork);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffects(finishedWork) {\n setCurrentFiber(finishedWork);\n commitPassiveUnmountOnFiber(finishedWork);\n resetCurrentFiber();\n} // If we're inside a brand new tree, or a tree that was already visible, then we\n// should only suspend host components that have a ShouldSuspendCommit flag.\n// Components without it haven't changed since the last commit, so we can skip\n// over those.\n//\n// When we enter a tree that is being revealed (going from hidden -> visible),\n// we need to suspend _any_ component that _may_ suspend. Even if they're\n// already in the \"current\" tree. Because their visibility has changed, the\n// browser may not have prerendered them yet. So we check the MaySuspendCommit\n// flag instead.\n\nvar suspenseyCommitFlag = ShouldSuspendCommit;\nfunction accumulateSuspenseyCommit(finishedWork) {\n accumulateSuspenseyCommitOnFiber(finishedWork);\n}\n\nfunction recursivelyAccumulateSuspenseyCommit(parentFiber) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag) {\n var child = parentFiber.child;\n\n while (child !== null) {\n accumulateSuspenseyCommitOnFiber(child);\n child = child.sibling;\n }\n }\n}\n\nfunction accumulateSuspenseyCommitOnFiber(fiber) {\n switch (fiber.tag) {\n case HostHoistable:\n {\n recursivelyAccumulateSuspenseyCommit(fiber);\n\n if (fiber.flags & suspenseyCommitFlag) {\n if (fiber.memoizedState !== null) {\n suspendResource( // This should always be set by visiting HostRoot first\n currentHoistableRoot, fiber.memoizedState, fiber.memoizedProps);\n }\n }\n\n break;\n }\n\n case HostComponent:\n {\n recursivelyAccumulateSuspenseyCommit(fiber);\n\n break;\n }\n\n case HostRoot:\n case HostPortal:\n {\n {\n var previousHoistableRoot = currentHoistableRoot;\n var container = fiber.stateNode.containerInfo;\n currentHoistableRoot = getHoistableRoot(container);\n recursivelyAccumulateSuspenseyCommit(fiber);\n currentHoistableRoot = previousHoistableRoot;\n }\n\n break;\n }\n\n case OffscreenComponent:\n {\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) ; else {\n var current = fiber.alternate;\n var wasHidden = current !== null && current.memoizedState !== null;\n\n if (wasHidden) {\n // This tree is being revealed. Visit all newly visible suspensey\n // instances, even if they're in the current tree.\n var prevFlags = suspenseyCommitFlag;\n suspenseyCommitFlag = MaySuspendCommit;\n recursivelyAccumulateSuspenseyCommit(fiber);\n suspenseyCommitFlag = prevFlags;\n } else {\n recursivelyAccumulateSuspenseyCommit(fiber);\n }\n }\n\n break;\n }\n\n default:\n {\n recursivelyAccumulateSuspenseyCommit(fiber);\n }\n }\n}\n\nfunction detachAlternateSiblings(parentFiber) {\n // A fiber was deleted from this parent fiber, but it's still part of the\n // previous (alternate) parent fiber's list of children. Because children\n // are a linked list, an earlier sibling that's still alive will be\n // connected to the deleted fiber via its `alternate`:\n //\n // live fiber --alternate--> previous live fiber --sibling--> deleted\n // fiber\n //\n // We can't disconnect `alternate` on nodes that haven't been deleted yet,\n // but we can disconnect the `sibling` and `child` pointers.\n var previousFiber = parentFiber.alternate;\n\n if (previousFiber !== null) {\n var detachedChild = previousFiber.child;\n\n if (detachedChild !== null) {\n previousFiber.child = null;\n\n do {\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n var detachedSibling = detachedChild.sibling; // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n detachedChild.sibling = null;\n detachedChild = detachedSibling;\n } while (detachedChild !== null);\n }\n }\n}\n\nfunction commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {\n if (shouldProfile(finishedWork)) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(hookFlags, finishedWork, nearestMountedAncestor);\n recordPassiveEffectDuration(finishedWork);\n } else {\n commitHookEffectListUnmount(hookFlags, finishedWork, nearestMountedAncestor);\n }\n}\n\nfunction recursivelyTraversePassiveUnmountEffects(parentFiber) {\n // Deletions effects can be scheduled on any fiber type. They need to happen\n // before the children effects have fired.\n var deletions = parentFiber.deletions;\n\n if ((parentFiber.flags & ChildDeletion) !== NoFlags$1) {\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i]; // TODO: Convert this to use recursion\n\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(childToDelete, parentFiber);\n }\n }\n\n detachAlternateSiblings(parentFiber);\n }\n\n var prevDebugFiber = getCurrentFiber(); // TODO: Split PassiveMask into separate masks for mount and unmount?\n\n if (parentFiber.subtreeFlags & PassiveMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n commitPassiveUnmountOnFiber(child);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n\n if (finishedWork.flags & Passive$1) {\n commitHookPassiveUnmountEffects(finishedWork, finishedWork.return, Passive | HasEffect);\n }\n\n break;\n }\n\n case OffscreenComponent:\n {\n var instance = finishedWork.stateNode;\n var nextState = finishedWork.memoizedState;\n var isHidden = nextState !== null;\n\n if (isHidden && instance._visibility & OffscreenPassiveEffectsConnected && ( // For backwards compatibility, don't unmount when a tree suspends. In\n // the future we may change this to unmount after a delay.\n finishedWork.return === null || finishedWork.return.tag !== SuspenseComponent)) {\n // The effects are currently connected. Disconnect them.\n // TODO: Add option or heuristic to delay before disconnecting the\n // effects. Then if the tree reappears before the delay has elapsed, we\n // can skip toggling the effects entirely.\n instance._visibility &= ~OffscreenPassiveEffectsConnected;\n recursivelyTraverseDisconnectPassiveEffects(finishedWork);\n } else {\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n }\n }\n}\n\nfunction recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n // Deletions effects can be scheduled on any fiber type. They need to happen\n // before the children effects have fired.\n var deletions = parentFiber.deletions;\n\n if ((parentFiber.flags & ChildDeletion) !== NoFlags$1) {\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i]; // TODO: Convert this to use recursion\n\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(childToDelete, parentFiber);\n }\n }\n\n detachAlternateSiblings(parentFiber);\n }\n\n var prevDebugFiber = getCurrentFiber(); // TODO: Check PassiveStatic flag\n\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n disconnectPassiveEffect(child);\n child = child.sibling;\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction disconnectPassiveEffect(finishedWork) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n // TODO: Check PassiveStatic flag\n commitHookPassiveUnmountEffects(finishedWork, finishedWork.return, Passive); // When disconnecting passive effects, we fire the effects in the same\n // order as during a deletiong: parent before child\n\n recursivelyTraverseDisconnectPassiveEffects(finishedWork);\n break;\n }\n\n case OffscreenComponent:\n {\n var instance = finishedWork.stateNode;\n\n if (instance._visibility & OffscreenPassiveEffectsConnected) {\n instance._visibility &= ~OffscreenPassiveEffectsConnected;\n recursivelyTraverseDisconnectPassiveEffects(finishedWork);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseDisconnectPassiveEffects(finishedWork);\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // Deletion effects fire in parent -> child order\n // TODO: Check if fiber has a PassiveStatic flag\n\n setCurrentFiber(fiber);\n commitPassiveUnmountInsideDeletedTreeOnFiber(fiber, nearestMountedAncestor);\n resetCurrentFiber();\n var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag.\n\n if (child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot);\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var sibling = fiber.sibling;\n var returnFiber = fiber.return; // Recursively traverse the entire deleted tree and clean up fiber fields.\n // This is more aggressive than ideal, and the long term goal is to only\n // have to detach the deleted tree at the root.\n\n detachFiberAfterEffects(fiber);\n\n if (fiber === deletedSubtreeRoot) {\n nextEffect = null;\n return;\n }\n\n if (sibling !== null) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = returnFiber;\n }\n}\n\nfunction commitPassiveUnmountInsideDeletedTreeOnFiber(current, nearestMountedAncestor) {\n switch (current.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n commitHookPassiveUnmountEffects(current, nearestMountedAncestor, Passive);\n break;\n }\n // TODO: run passive unmount effects when unmounting a root.\n // Because passive unmount effects are not currently run,\n // the cache instance owned by the root will never be freed.\n // When effects are run, the cache should be freed here:\n // case HostRoot: {\n // if (enableCache) {\n // const cache = current.memoizedState.cache;\n // releaseCache(cache);\n // }\n // break;\n // }\n\n case LegacyHiddenComponent:\n case OffscreenComponent:\n {\n {\n if (current.memoizedState !== null && current.memoizedState.cachePool !== null) {\n var cache = current.memoizedState.cachePool.pool; // Retain/release the cache used for pending (suspended) nodes.\n // Note that this is only reached in the non-suspended/visible case:\n // when the content is suspended/hidden, the retain/release occurs\n // via the parent Suspense component (see case above).\n\n if (cache != null) {\n retainCache(cache);\n }\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n\n break;\n }\n\n case CacheComponent:\n {\n {\n var _cache = current.memoizedState.cache;\n releaseCache(_cache);\n }\n\n break;\n }\n }\n}\n\nfunction invokeLayoutEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Layout | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n if (typeof instance.componentDidMount === 'function') {\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Passive | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokeLayoutEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Passive | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n }\n }\n }\n}\n\nfunction getCacheSignal() {\n\n var cache = readContext(CacheContext);\n return cache.controller.signal;\n}\n\nfunction getCacheForType(resourceType) {\n\n var cache = readContext(CacheContext);\n var cacheForType = cache.data.get(resourceType);\n\n if (cacheForType === undefined) {\n cacheForType = resourceType();\n cache.data.set(resourceType, cacheForType);\n }\n\n return cacheForType;\n}\n\nvar DefaultCacheDispatcher = {\n getCacheSignal: getCacheSignal,\n getCacheForType: getCacheForType\n};\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n symbolFor('selector.component');\n symbolFor('selector.has_pseudo_class');\n symbolFor('selector.role');\n symbolFor('selector.test_id');\n symbolFor('selector.text');\n}\nvar commitHooks = [];\nfunction onCommitRoot() {\n {\n commitHooks.forEach(function (commitHook) {\n return commitHook();\n });\n }\n}\n\nvar ReactCurrentActQueue$1 = ReactSharedInternals.ReactCurrentActQueue;\nfunction isLegacyActEnvironment(fiber) {\n {\n // Legacy mode. We preserve the behavior of React 17's act. It assumes an\n // act environment whenever `jest` is defined, but you can still turn off\n // spurious warnings by setting IS_REACT_ACT_ENVIRONMENT explicitly\n // to false.\n var isReactActEnvironmentGlobal = // $FlowFixMe[cannot-resolve-name] Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? // $FlowFixMe[cannot-resolve-name]\n IS_REACT_ACT_ENVIRONMENT : undefined; // $FlowFixMe[cannot-resolve-name] - Flow doesn't know about jest\n\n var jestIsDefined = typeof jest !== 'undefined';\n return jestIsDefined && isReactActEnvironmentGlobal !== false;\n }\n}\nfunction isConcurrentActEnvironment() {\n {\n var isReactActEnvironmentGlobal = // $FlowFixMe[cannot-resolve-name] Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? // $FlowFixMe[cannot-resolve-name]\n IS_REACT_ACT_ENVIRONMENT : undefined;\n\n if (!isReactActEnvironmentGlobal && ReactCurrentActQueue$1.current !== null) {\n // TODO: Include link to relevant documentation page.\n error('The current testing environment is not configured to support ' + 'act(...)');\n }\n\n return isReactActEnvironmentGlobal;\n }\n}\n\nvar PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentCache = ReactSharedInternals.ReactCurrentCache,\n ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner,\n ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig,\n ReactCurrentActQueue = ReactSharedInternals.ReactCurrentActQueue;\nvar NoContext =\n/* */\n0;\nvar BatchedContext =\n/* */\n1;\nvar RenderContext =\n/* */\n2;\nvar CommitContext =\n/* */\n4;\nvar RootInProgress = 0;\nvar RootFatalErrored = 1;\nvar RootErrored = 2;\nvar RootSuspended = 3;\nvar RootSuspendedWithDelay = 4;\nvar RootCompleted = 5;\nvar RootDidNotComplete = 6; // Describes where we are in the React execution stack\n\nvar executionContext = NoContext; // The root we're working on\n\nvar workInProgressRoot = null; // The fiber we're working on\n\nvar workInProgress = null; // The lanes we're rendering\n\nvar workInProgressRootRenderLanes = NoLanes;\nvar NotSuspended = 0;\nvar SuspendedOnError = 1;\nvar SuspendedOnData = 2;\nvar SuspendedOnImmediate = 3;\nvar SuspendedOnInstance = 4;\nvar SuspendedOnInstanceAndReadyToContinue = 5;\nvar SuspendedOnDeprecatedThrowPromise = 6;\nvar SuspendedAndReadyToContinue = 7;\nvar SuspendedOnHydration = 8; // When this is true, the work-in-progress fiber just suspended (or errored) and\n// we've yet to unwind the stack. In some cases, we may yield to the main thread\n// after this happens. If the fiber is pinged before we resume, we can retry\n// immediately instead of unwinding the stack.\n\nvar workInProgressSuspendedReason = NotSuspended;\nvar workInProgressThrownValue = null; // Whether a ping listener was attached during this render. This is slightly\n// different that whether something suspended, because we don't add multiple\n// listeners to a promise we've already seen (per root and lane).\n\nvar workInProgressRootDidAttachPingListener = false; // A contextual version of workInProgressRootRenderLanes. It is a superset of\n// the lanes that we started working on at the root. When we enter a subtree\n// that is currently hidden, we add the lanes that would have committed if\n// the hidden tree hadn't been deferred. This is modified by the\n// HiddenContext module.\n//\n// Most things in the work loop should deal with workInProgressRootRenderLanes.\n// Most things in begin/complete phases should deal with entangledRenderLanes.\n\nvar entangledRenderLanes = NoLanes; // Whether to root completed, errored, suspended, etc.\n\nvar workInProgressRootExitStatus = RootInProgress; // A fatal error, if one is thrown\n\nvar workInProgressRootFatalError = null; // The work left over by components that were visited during this render. Only\n// includes unprocessed updates, not work in bailed out children.\n\nvar workInProgressRootSkippedLanes = NoLanes; // Lanes that were updated (in an interleaved event) during this render.\n\nvar workInProgressRootInterleavedUpdatedLanes = NoLanes; // Lanes that were updated during the render phase (*not* an interleaved event).\n\nvar workInProgressRootPingedLanes = NoLanes; // If this lane scheduled deferred work, this is the lane of the deferred task.\n\nvar workInProgressDeferredLane = NoLane; // Errors that are thrown during the render phase.\n\nvar workInProgressRootConcurrentErrors = null; // These are errors that we recovered from without surfacing them to the UI.\n// We will log them once the tree commits.\n\nvar workInProgressRootRecoverableErrors = null; // Tracks when an update occurs during the render phase.\n\nvar workInProgressRootDidIncludeRecursiveRenderUpdate = false; // Thacks when an update occurs during the commit phase. It's a separate\n// variable from the one for renders because the commit phase may run\n// concurrently to a render phase.\n\nvar didIncludeCommitPhaseUpdate = false; // The most recent time we either committed a fallback, or when a fallback was\n// filled in with the resolved UI. This lets us throttle the appearance of new\n// content as it streams in, to minimize jank.\n// TODO: Think of a better name for this variable?\n\nvar globalMostRecentFallbackTime = 0;\nvar FALLBACK_THROTTLE_MS = 300; // The absolute time for when we should start giving up on rendering\n// more and prefer CPU suspense heuristics instead.\n\nvar workInProgressRootRenderTargetTime = Infinity; // How long a render is supposed to take before we start following CPU\n// suspense heuristics and opt out of rendering more content.\n\nvar RENDER_TIMEOUT_MS = 500;\nvar workInProgressTransitions = null;\n\nfunction resetRenderTimer() {\n workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS;\n}\n\nfunction getRenderTargetTime() {\n return workInProgressRootRenderTargetTime;\n}\nvar hasUncaughtError = false;\nvar firstUncaughtError = null;\nvar legacyErrorBoundariesThatAlreadyFailed = null; // Only used when enableProfilerNestedUpdateScheduledHook is true;\nvar rootDoesHavePassiveEffects = false;\nvar rootWithPendingPassiveEffects = null;\nvar pendingPassiveEffectsLanes = NoLanes;\nvar pendingPassiveProfilerEffects = [];\nvar pendingPassiveEffectsRemainingLanes = NoLanes;\nvar pendingPassiveTransitions = null; // Use these to prevent an infinite loop of nested updates\n\nvar NESTED_UPDATE_LIMIT = 50;\nvar nestedUpdateCount = 0;\nvar rootWithNestedUpdates = null;\nvar isFlushingPassiveEffects = false;\nvar didScheduleUpdateDuringPassiveEffects = false;\nvar NESTED_PASSIVE_UPDATE_LIMIT = 50;\nvar nestedPassiveUpdateCount = 0;\nvar rootWithPassiveNestedUpdates = null;\nvar isRunningInsertionEffect = false;\nfunction getWorkInProgressRoot() {\n return workInProgressRoot;\n}\nfunction getWorkInProgressRootRenderLanes() {\n return workInProgressRootRenderLanes;\n}\nfunction isWorkLoopSuspendedOnData() {\n return workInProgressSuspendedReason === SuspendedOnData;\n}\nfunction requestUpdateLane(fiber) {\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n } else if ((executionContext & RenderContext) !== NoContext && workInProgressRootRenderLanes !== NoLanes) {\n // This is a render phase update. These are not officially supported. The\n // old behavior is to give this the same \"thread\" (lanes) as\n // whatever is currently rendering. So if you call `setState` on a component\n // that happens later in the same render, it will flush. Ideally, we want to\n // remove the special case and treat them as if they came from an\n // interleaved event. Regardless, this pattern is not officially supported.\n // This behavior is only a fallback. The flag only exists until we can roll\n // out the setState warning, since existing code might accidentally rely on\n // the current behavior.\n return pickArbitraryLane(workInProgressRootRenderLanes);\n }\n\n var transition = requestCurrentTransition();\n\n if (transition !== null) {\n {\n var batchConfigTransition = ReactCurrentBatchConfig$1.transition;\n\n if (!batchConfigTransition._updatedFibers) {\n batchConfigTransition._updatedFibers = new Set();\n }\n\n batchConfigTransition._updatedFibers.add(fiber);\n }\n\n var actionScopeLane = peekEntangledActionLane();\n return actionScopeLane !== NoLane ? // We're inside an async action scope. Reuse the same lane.\n actionScopeLane : // We may or may not be inside an async action scope. If we are, this\n // is the first update in that scope. Either way, we need to get a\n // fresh transition lane.\n requestTransitionLane();\n } // Updates originating inside certain React methods, like flushSync, have\n // their priority set by tracking it with a context variable.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var updateLane = getCurrentUpdatePriority();\n\n if (updateLane !== NoLane) {\n return updateLane;\n } // This update originated outside React. Ask the host environment for an\n // appropriate priority, based on the type of event.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var eventLane = getCurrentEventPriority();\n return eventLane;\n}\n\nfunction requestRetryLane(fiber) {\n // This is a fork of `requestUpdateLane` designed specifically for Suspense\n // \"retries\" — a special update that attempts to flip a Suspense boundary\n // from its placeholder state to its primary/resolved state.\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n }\n\n return claimNextRetryLane();\n}\n\nfunction requestDeferredLane() {\n if (workInProgressDeferredLane === NoLane) {\n // If there are multiple useDeferredValue hooks in the same render, the\n // tasks that they spawn should all be batched together, so they should all\n // receive the same lane.\n // Check the priority of the current render to decide the priority of the\n // deferred task.\n // OffscreenLane is used for prerendering, but we also use OffscreenLane\n // for incremental hydration. It's given the lowest priority because the\n // initial HTML is the same as the final UI. But useDeferredValue during\n // hydration is an exception — we need to upgrade the UI to the final\n // value. So if we're currently hydrating, we treat it like a transition.\n var isPrerendering = includesSomeLane(workInProgressRootRenderLanes, OffscreenLane) && !getIsHydrating();\n\n if (isPrerendering) {\n // There's only one OffscreenLane, so if it contains deferred work, we\n // should just reschedule using the same lane.\n workInProgressDeferredLane = OffscreenLane;\n } else {\n // Everything else is spawned as a transition.\n workInProgressDeferredLane = claimNextTransitionLane();\n }\n } // Mark the parent Suspense boundary so it knows to spawn the deferred lane.\n\n\n var suspenseHandler = getSuspenseHandler();\n\n if (suspenseHandler !== null) {\n // TODO: As an optimization, we shouldn't entangle the lanes at the root; we\n // can entangle them using the baseLanes of the Suspense boundary instead.\n // We only need to do something special if there's no Suspense boundary.\n suspenseHandler.flags |= DidDefer;\n }\n\n return workInProgressDeferredLane;\n}\nfunction peekDeferredLane() {\n return workInProgressDeferredLane;\n}\nfunction scheduleUpdateOnFiber(root, fiber, lane) {\n {\n if (isRunningInsertionEffect) {\n error('useInsertionEffect must not schedule updates.');\n }\n }\n\n {\n if (isFlushingPassiveEffects) {\n didScheduleUpdateDuringPassiveEffects = true;\n }\n } // Check if the work loop is currently suspended and waiting for data to\n // finish loading.\n\n\n if ( // Suspended render phase\n root === workInProgressRoot && workInProgressSuspendedReason === SuspendedOnData || // Suspended commit phase\n root.cancelPendingCommit !== null) {\n // The incoming update might unblock the current render. Interrupt the\n // current attempt and restart from the top.\n prepareFreshStack(root, NoLanes);\n markRootSuspended(root, workInProgressRootRenderLanes, workInProgressDeferredLane);\n } // Mark that the root has a pending update.\n\n\n markRootUpdated(root, lane);\n\n if ((executionContext & RenderContext) !== NoLanes && root === workInProgressRoot) {\n // This update was dispatched during the render phase. This is a mistake\n // if the update originates from user space (with the exception of local\n // hook updates, which are handled differently and don't reach this\n // function), but there are some internal React features that use this as\n // an implementation detail, like selective hydration.\n warnAboutRenderPhaseUpdatesInDEV(fiber); // Track lanes that were updated during the render phase\n } else {\n // This is a normal update, scheduled from outside the render phase. For\n // example, during an input event.\n {\n if (isDevToolsPresent) {\n addFiberToLanesMap(root, fiber, lane);\n }\n }\n\n warnIfUpdatesNotWrappedWithActDEV(fiber);\n\n if (root === workInProgressRoot) {\n // Received an update to a tree that's in the middle of rendering. Mark\n // that there was an interleaved update work on this root.\n if ((executionContext & RenderContext) === NoContext) {\n workInProgressRootInterleavedUpdatedLanes = mergeLanes(workInProgressRootInterleavedUpdatedLanes, lane);\n }\n\n if (workInProgressRootExitStatus === RootSuspendedWithDelay) {\n // The root already suspended with a delay, which means this render\n // definitely won't finish. Since we have a new update, let's mark it as\n // suspended now, right before marking the incoming update. This has the\n // effect of interrupting the current render and switching to the update.\n // TODO: Make sure this doesn't override pings that happen while we've\n // already started rendering.\n markRootSuspended(root, workInProgressRootRenderLanes, workInProgressDeferredLane);\n }\n }\n\n ensureRootIsScheduled(root);\n\n if (lane === SyncLane && executionContext === NoContext && (fiber.mode & ConcurrentMode) === NoMode) {\n if (ReactCurrentActQueue.isBatchingLegacy) ; else {\n // Flush the synchronous work now, unless we're already working or inside\n // a batch. This is intentionally inside scheduleUpdateOnFiber instead of\n // scheduleCallbackForFiber to preserve the ability to schedule a callback\n // without immediately flushing it. We only do this for user-initiated\n // updates, to preserve historical behavior of legacy mode.\n resetRenderTimer();\n flushSyncWorkOnLegacyRootsOnly();\n }\n }\n }\n}\nfunction scheduleInitialHydrationOnRoot(root, lane) {\n // This is a special fork of scheduleUpdateOnFiber that is only used to\n // schedule the initial hydration of a root that has just been created. Most\n // of the stuff in scheduleUpdateOnFiber can be skipped.\n //\n // The main reason for this separate path, though, is to distinguish the\n // initial children from subsequent updates. In fully client-rendered roots\n // (createRoot instead of hydrateRoot), all top-level renders are modeled as\n // updates, but hydration roots are special because the initial render must\n // match what was rendered on the server.\n var current = root.current;\n current.lanes = lane;\n markRootUpdated(root, lane);\n ensureRootIsScheduled(root);\n}\nfunction isUnsafeClassRenderPhaseUpdate(fiber) {\n // Check if this is a render phase update. Only called by class components,\n // which special (deprecated) behavior for UNSAFE_componentWillReceive props.\n return (executionContext & RenderContext) !== NoContext;\n} // This is the entry point for every concurrent task, i.e. anything that\n// goes through Scheduler.\n\nfunction performConcurrentWorkOnRoot(root, didTimeout) {\n {\n resetNestedUpdateFlag();\n }\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n } // Flush any pending passive effects before deciding which lanes to work on,\n // in case they schedule additional work.\n\n\n var originalCallbackNode = root.callbackNode;\n var didFlushPassiveEffects = flushPassiveEffects();\n\n if (didFlushPassiveEffects) {\n // Something in the passive effect phase may have canceled the current task.\n // Check if the task node for this root was changed.\n if (root.callbackNode !== originalCallbackNode) {\n // The current task was canceled. Exit. We don't need to call\n // `ensureRootIsScheduled` because the check above implies either that\n // there's a new task, or that there's no remaining work on this root.\n return null;\n }\n } // Determine the next lanes to work on, using the fields stored\n // on the root.\n // TODO: This was already computed in the caller. Pass it as an argument.\n\n\n var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (lanes === NoLanes) {\n // Defensive coding. This is never expected to happen.\n return null;\n } // We disable time-slicing in some cases: if the work has been CPU-bound\n // for too long (\"expired\" work, to prevent starvation), or we're in\n // sync-updates-by-default mode.\n // TODO: We only check `didTimeout` defensively, to account for a Scheduler\n // bug we're still investigating. Once the bug in Scheduler is fixed,\n // we can remove this, since we track expiration ourselves.\n\n\n var shouldTimeSlice = !includesBlockingLane(root, lanes) && !includesExpiredLane(root, lanes) && (!didTimeout);\n var exitStatus = shouldTimeSlice ? renderRootConcurrent(root, lanes) : renderRootSync(root, lanes);\n\n if (exitStatus !== RootInProgress) {\n var renderWasConcurrent = shouldTimeSlice;\n\n do {\n if (exitStatus === RootDidNotComplete) {\n // The render unwound without completing the tree. This happens in special\n // cases where need to exit the current render without producing a\n // consistent tree or committing.\n markRootSuspended(root, lanes, NoLane);\n } else {\n // The render completed.\n // Check if this render may have yielded to a concurrent event, and if so,\n // confirm that any newly rendered stores are consistent.\n // TODO: It's possible that even a concurrent render may never have yielded\n // to the main thread, if it was fast enough, or if it expired. We could\n // skip the consistency check in that case, too.\n var finishedWork = root.current.alternate;\n\n if (renderWasConcurrent && !isRenderConsistentWithExternalStores(finishedWork)) {\n // A store was mutated in an interleaved event. Render again,\n // synchronously, to block further mutations.\n exitStatus = renderRootSync(root, lanes); // We assume the tree is now consistent because we didn't yield to any\n // concurrent events.\n\n renderWasConcurrent = false; // Need to check the exit status again.\n\n continue;\n } // Check if something threw\n\n\n if (exitStatus === RootErrored) {\n var originallyAttemptedLanes = lanes;\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root, originallyAttemptedLanes);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, originallyAttemptedLanes, errorRetryLanes);\n renderWasConcurrent = false;\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended(root, lanes, NoLane);\n ensureRootIsScheduled(root);\n throw fatalError;\n } // We now have a consistent tree. The next step is either to commit it,\n // or, if something suspended, wait to commit it after a timeout.\n\n\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n finishConcurrentRender(root, exitStatus, finishedWork, lanes);\n }\n\n break;\n } while (true);\n }\n\n ensureRootIsScheduled(root);\n return getContinuationForRoot(root, originalCallbackNode);\n}\n\nfunction recoverFromConcurrentError(root, originallyAttemptedLanes, errorRetryLanes) {\n // If an error occurred during hydration, discard server response and fall\n // back to client side render.\n // Before rendering again, save the errors from the previous attempt.\n var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;\n var wasRootDehydrated = isRootDehydrated(root);\n\n if (wasRootDehydrated) {\n // The shell failed to hydrate. Set a flag to force a client rendering\n // during the next attempt. To do this, we call prepareFreshStack now\n // to create the root work-in-progress fiber. This is a bit weird in terms\n // of factoring, because it relies on renderRootSync not calling\n // prepareFreshStack again in the call below, which happens because the\n // root and lanes haven't changed.\n //\n // TODO: I think what we should do is set ForceClientRender inside\n // throwException, like we do for nested Suspense boundaries. The reason\n // it's here instead is so we can switch to the synchronous work loop, too.\n // Something to consider for a future refactor.\n var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);\n rootWorkInProgress.flags |= ForceClientRender;\n\n {\n errorHydratingContainer(root.containerInfo);\n }\n }\n\n var exitStatus = renderRootSync(root, errorRetryLanes);\n\n if (exitStatus !== RootErrored) {\n // Successfully finished rendering on retry\n if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) {\n // During the synchronous render, we attached additional ping listeners.\n // This is highly suggestive of an uncached promise (though it's not the\n // only reason this would happen). If it was an uncached promise, then\n // it may have masked a downstream error from ocurring without actually\n // fixing it. Example:\n //\n // use(Promise.resolve('uncached'))\n // throw new Error('Oops!')\n //\n // When this happens, there's a conflict between blocking potential\n // concurrent data races and unwrapping uncached promise values. We\n // have to choose one or the other. Because the data race recovery is\n // a last ditch effort, we'll disable it.\n root.errorRecoveryDisabledLanes = mergeLanes(root.errorRecoveryDisabledLanes, originallyAttemptedLanes); // Mark the current render as suspended and force it to restart. Once\n // these lanes finish successfully, we'll re-enable the error recovery\n // mechanism for subsequent updates.\n\n workInProgressRootInterleavedUpdatedLanes |= originallyAttemptedLanes;\n return RootSuspendedWithDelay;\n } // The errors from the failed first attempt have been recovered. Add\n // them to the collection of recoverable errors. We'll log them in the\n // commit phase.\n\n\n var errorsFromSecondAttempt = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = errorsFromFirstAttempt; // The errors from the second attempt should be queued after the errors\n // from the first attempt, to preserve the causal sequence.\n\n if (errorsFromSecondAttempt !== null) {\n queueRecoverableErrors(errorsFromSecondAttempt);\n }\n }\n\n return exitStatus;\n}\n\nfunction queueRecoverableErrors(errors) {\n if (workInProgressRootRecoverableErrors === null) {\n workInProgressRootRecoverableErrors = errors;\n } else {\n // $FlowFixMe[method-unbinding]\n workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, errors);\n }\n}\n\nfunction finishConcurrentRender(root, exitStatus, finishedWork, lanes) {\n // TODO: The fact that most of these branches are identical suggests that some\n // of the exit statuses are not best modeled as exit statuses and should be\n // tracked orthogonally.\n switch (exitStatus) {\n case RootInProgress:\n case RootFatalErrored:\n {\n throw new Error('Root did not complete. This is a bug in React.');\n }\n\n case RootSuspendedWithDelay:\n {\n if (includesOnlyTransitions(lanes)) {\n // This is a transition, so we should exit without committing a\n // placeholder and without scheduling a timeout. Delay indefinitely\n // until we receive more data.\n markRootSuspended(root, lanes, workInProgressDeferredLane);\n return;\n } // Commit the placeholder.\n\n\n break;\n }\n\n case RootErrored:\n case RootSuspended:\n case RootCompleted:\n {\n break;\n }\n\n default:\n {\n throw new Error('Unknown root exit status.');\n }\n }\n\n if (shouldForceFlushFallbacksInDEV()) {\n // We're inside an `act` scope. Commit immediately.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions, workInProgressRootDidIncludeRecursiveRenderUpdate, workInProgressDeferredLane);\n } else {\n if (includesOnlyRetries(lanes) && (alwaysThrottleRetries )) {\n // This render only included retries, no updates. Throttle committing\n // retries so that we don't show too many loading states too quickly.\n var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(); // Don't bother with a very short suspense time.\n\n if (msUntilTimeout > 10) {\n markRootSuspended(root, lanes, workInProgressDeferredLane);\n var nextLanes = getNextLanes(root, NoLanes);\n\n if (nextLanes !== NoLanes) {\n // There's additional work we can do on this root. We might as well\n // attempt to work on that while we're suspended.\n return;\n } // The render is suspended, it hasn't timed out, and there's no\n // lower priority work to do. Instead of committing the fallback\n // immediately, wait for more data to arrive.\n // TODO: Combine retry throttling with Suspensey commits. Right now they\n // run one after the other.\n\n\n root.timeoutHandle = scheduleTimeout(commitRootWhenReady.bind(null, root, finishedWork, workInProgressRootRecoverableErrors, workInProgressTransitions, workInProgressRootDidIncludeRecursiveRenderUpdate, lanes, workInProgressDeferredLane), msUntilTimeout);\n return;\n }\n }\n\n commitRootWhenReady(root, finishedWork, workInProgressRootRecoverableErrors, workInProgressTransitions, workInProgressRootDidIncludeRecursiveRenderUpdate, lanes, workInProgressDeferredLane);\n }\n}\n\nfunction commitRootWhenReady(root, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane) {\n // TODO: Combine retry throttling with Suspensey commits. Right now they run\n // one after the other.\n if (includesOnlyNonUrgentLanes(lanes)) {\n // Before committing, ask the renderer whether the host tree is ready.\n // If it's not, we'll wait until it notifies us.\n startSuspendingCommit(); // This will walk the completed fiber tree and attach listeners to all\n // the suspensey resources. The renderer is responsible for accumulating\n // all the load events. This all happens in a single synchronous\n // transaction, so it track state in its own module scope.\n\n accumulateSuspenseyCommit(finishedWork); // At the end, ask the renderer if it's ready to commit, or if we should\n // suspend. If it's not ready, it will return a callback to subscribe to\n // a ready event.\n\n var schedulePendingCommit = waitForCommitToBeReady();\n\n if (schedulePendingCommit !== null) {\n // NOTE: waitForCommitToBeReady returns a subscribe function so that we\n // only allocate a function if the commit isn't ready yet. The other\n // pattern would be to always pass a callback to waitForCommitToBeReady.\n // Not yet ready to commit. Delay the commit until the renderer notifies\n // us that it's ready. This will be canceled if we start work on the\n // root again.\n root.cancelPendingCommit = schedulePendingCommit(commitRoot.bind(null, root, recoverableErrors, transitions, didIncludeRenderPhaseUpdate));\n markRootSuspended(root, lanes, spawnedLane);\n return;\n }\n } // Otherwise, commit immediately.\n\n\n commitRoot(root, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane);\n}\n\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n // Search the rendered tree for external store reads, and check whether the\n // stores were mutated in a concurrent event. Intentionally using an iterative\n // loop instead of recursion so we can exit early.\n var node = finishedWork;\n\n while (true) {\n if (node.flags & StoreConsistency) {\n var updateQueue = node.updateQueue;\n\n if (updateQueue !== null) {\n var checks = updateQueue.stores;\n\n if (checks !== null) {\n for (var i = 0; i < checks.length; i++) {\n var check = checks[i];\n var getSnapshot = check.getSnapshot;\n var renderedValue = check.value;\n\n try {\n if (!objectIs(getSnapshot(), renderedValue)) {\n // Found an inconsistent store.\n return false;\n }\n } catch (error) {\n // If `getSnapshot` throws, return `false`. This will schedule\n // a re-render, and the error will be rethrown during render.\n return false;\n }\n }\n }\n }\n }\n\n var child = node.child;\n\n if (node.subtreeFlags & StoreConsistency && child !== null) {\n child.return = node;\n node = child;\n continue;\n }\n\n if (node === finishedWork) {\n return true;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return true;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n } // Flow doesn't know this is unreachable, but eslint does\n // eslint-disable-next-line no-unreachable\n\n\n return true;\n} // The extra indirections around markRootUpdated and markRootSuspended is\n// needed to avoid a circular dependency between this module and\n// ReactFiberLane. There's probably a better way to split up these modules and\n// avoid this problem. Perhaps all the root-marking functions should move into\n// the work loop.\n\n\nfunction markRootUpdated(root, updatedLanes) {\n markRootUpdated$1(root, updatedLanes);\n\n {\n // Check for recursive updates\n if (executionContext & RenderContext) {\n workInProgressRootDidIncludeRecursiveRenderUpdate = true;\n } else if (executionContext & CommitContext) {\n didIncludeCommitPhaseUpdate = true;\n }\n\n throwIfInfiniteUpdateLoopDetected();\n }\n}\n\nfunction markRootPinged(root, pingedLanes) {\n markRootPinged$1(root, pingedLanes);\n\n {\n // Check for recursive pings. Pings are conceptually different from updates in\n // other contexts but we call it an \"update\" in this context because\n // repeatedly pinging a suspended render can cause a recursive render loop.\n // The relevant property is that it can result in a new render attempt\n // being scheduled.\n if (executionContext & RenderContext) {\n workInProgressRootDidIncludeRecursiveRenderUpdate = true;\n } else if (executionContext & CommitContext) {\n didIncludeCommitPhaseUpdate = true;\n }\n\n throwIfInfiniteUpdateLoopDetected();\n }\n}\n\nfunction markRootSuspended(root, suspendedLanes, spawnedLane) {\n // When suspending, we should always exclude lanes that were pinged or (more\n // rarely, since we try to avoid it) updated during the render phase.\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootPingedLanes);\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootInterleavedUpdatedLanes);\n\n markRootSuspended$1(root, suspendedLanes, spawnedLane);\n} // This is the entry point for synchronous tasks that don't go\n// through Scheduler\n\n\nfunction performSyncWorkOnRoot(root, lanes) {\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n var didFlushPassiveEffects = flushPassiveEffects();\n\n if (didFlushPassiveEffects) {\n // If passive effects were flushed, exit to the outer work loop in the root\n // scheduler, so we can recompute the priority.\n // TODO: We don't actually need this `ensureRootIsScheduled` call because\n // this path is only reachable if the root is already part of the schedule.\n // I'm including it only for consistency with the other exit points from\n // this function. Can address in a subsequent refactor.\n ensureRootIsScheduled(root);\n return null;\n }\n\n {\n syncNestedUpdateFlag();\n }\n\n var exitStatus = renderRootSync(root, lanes);\n\n if (root.tag !== LegacyRoot && exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll render\n // synchronously to block concurrent data mutations, and we'll includes\n // all pending updates are included. If it still fails after the second\n // attempt, we'll give up and commit the resulting tree.\n var originallyAttemptedLanes = lanes;\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root, originallyAttemptedLanes);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, originallyAttemptedLanes, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended(root, lanes, NoLane);\n ensureRootIsScheduled(root);\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n // The render unwound without completing the tree. This happens in special\n // cases where need to exit the current render without producing a\n // consistent tree or committing.\n markRootSuspended(root, lanes, workInProgressDeferredLane);\n ensureRootIsScheduled(root);\n return null;\n } // We now have a consistent tree. Because this is a sync render, we\n // will commit it even if something suspended.\n\n\n var finishedWork = root.current.alternate;\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions, workInProgressRootDidIncludeRecursiveRenderUpdate, workInProgressDeferredLane); // Before exiting, make sure there's a callback scheduled for the next\n // pending level.\n\n ensureRootIsScheduled(root);\n return null;\n}\nfunction flushRoot(root, lanes) {\n if (lanes !== NoLanes) {\n upgradePendingLanesToSync(root, lanes);\n ensureRootIsScheduled(root);\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n resetRenderTimer(); // TODO: For historical reasons this flushes all sync work across all\n // roots. It shouldn't really matter either way, but we could change this\n // to only flush the given root.\n\n flushSyncWorkOnAllRoots();\n }\n }\n}\nfunction getExecutionContext() {\n return executionContext;\n}\nfunction batchedUpdates$1(fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n\n try {\n return fn(a);\n } finally {\n executionContext = prevExecutionContext; // If there were legacy sync updates, flush them at the end of the outer\n // most batchedUpdates-like method.\n\n if (executionContext === NoContext && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !(ReactCurrentActQueue.isBatchingLegacy)) {\n resetRenderTimer();\n flushSyncWorkOnLegacyRootsOnly();\n }\n }\n}\n// Warning, this opts-out of checking the function body.\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\n// eslint-disable-next-line no-redeclare\n\nfunction flushSync$1(fn) {\n // In legacy mode, we flush pending passive effects at the beginning of the\n // next event, not at the end of the previous one.\n if (rootWithPendingPassiveEffects !== null && rootWithPendingPassiveEffects.tag === LegacyRoot && (executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushPassiveEffects();\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n var prevTransition = ReactCurrentBatchConfig$1.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$1.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n if (fn) {\n return fn();\n } else {\n return undefined;\n }\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$1.transition = prevTransition;\n executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.\n // Note that this will happen even if batchedUpdates is higher up\n // the stack.\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushSyncWorkOnAllRoots();\n }\n }\n}\nfunction isAlreadyRendering() {\n // Used by the renderer to print a warning if certain APIs are called from\n // the wrong context.\n return (executionContext & (RenderContext | CommitContext)) !== NoContext;\n}\n// hidden subtree. The stack logic is managed there because that's the only\n// place that ever modifies it. Which module it lives in doesn't matter for\n// performance because this function will get inlined regardless\n\nfunction setEntangledRenderLanes(newEntangledRenderLanes) {\n entangledRenderLanes = newEntangledRenderLanes;\n}\nfunction getEntangledRenderLanes() {\n return entangledRenderLanes;\n}\n\nfunction resetWorkInProgressStack() {\n if (workInProgress === null) return;\n var interruptedWork;\n\n if (workInProgressSuspendedReason === NotSuspended) {\n // Normal case. Work-in-progress hasn't started yet. Unwind all\n // its parents.\n interruptedWork = workInProgress.return;\n } else {\n // Work-in-progress is in suspended state. Reset the work loop and unwind\n // both the suspended fiber and all its parents.\n resetSuspendedWorkLoopOnUnwind(workInProgress);\n interruptedWork = workInProgress;\n }\n\n while (interruptedWork !== null) {\n var current = interruptedWork.alternate;\n unwindInterruptedWork(current, interruptedWork);\n interruptedWork = interruptedWork.return;\n }\n\n workInProgress = null;\n}\n\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n var timeoutHandle = root.timeoutHandle;\n\n if (timeoutHandle !== noTimeout) {\n // The root previous suspended and scheduled a timeout to commit a fallback\n // state. Now that we have additional work, cancel the timeout.\n root.timeoutHandle = noTimeout; // $FlowFixMe[incompatible-call] Complains noTimeout is not a TimeoutID, despite the check above\n\n cancelTimeout(timeoutHandle);\n }\n\n var cancelPendingCommit = root.cancelPendingCommit;\n\n if (cancelPendingCommit !== null) {\n root.cancelPendingCommit = null;\n cancelPendingCommit();\n }\n\n resetWorkInProgressStack();\n workInProgressRoot = root;\n var rootWorkInProgress = createWorkInProgress(root.current, null);\n workInProgress = rootWorkInProgress;\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n workInProgressRootDidAttachPingListener = false;\n workInProgressRootExitStatus = RootInProgress;\n workInProgressRootFatalError = null;\n workInProgressRootSkippedLanes = NoLanes;\n workInProgressRootInterleavedUpdatedLanes = NoLanes;\n workInProgressRootPingedLanes = NoLanes;\n workInProgressDeferredLane = NoLane;\n workInProgressRootConcurrentErrors = null;\n workInProgressRootRecoverableErrors = null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = false; // Get the lanes that are entangled with whatever we're about to render. We\n // track these separately so we can distinguish the priority of the render\n // task from the priority of the lanes it is entangled with. For example, a\n // transition may not be allowed to finish unless it includes the Sync lane,\n // which is currently suspended. We should be able to render the Transition\n // and Sync lane in the same batch, but at Transition priority, because the\n // Sync lane already suspended.\n\n entangledRenderLanes = getEntangledLanes(root, lanes);\n finishQueueingConcurrentUpdates();\n\n {\n ReactStrictModeWarnings.discardPendingWarnings();\n }\n\n return rootWorkInProgress;\n}\n\nfunction resetSuspendedWorkLoopOnUnwind(fiber) {\n // Reset module-level state that was set during the render phase.\n resetContextDependencies();\n resetHooksOnUnwind(fiber);\n resetChildReconcilerOnUnwind();\n}\n\nfunction handleThrow(root, thrownValue) {\n // A component threw an exception. Usually this is because it suspended, but\n // it also includes regular program errors.\n //\n // We're either going to unwind the stack to show a Suspense or error\n // boundary, or we're going to replay the component again. Like after a\n // promise resolves.\n //\n // Until we decide whether we're going to unwind or replay, we should preserve\n // the current state of the work loop without resetting anything.\n //\n // If we do decide to unwind the stack, module-level variables will be reset\n // in resetSuspendedWorkLoopOnUnwind.\n // These should be reset immediately because they're only supposed to be set\n // when React is executing user code.\n resetHooksAfterThrow();\n resetCurrentFiber();\n ReactCurrentOwner$1.current = null;\n\n if (thrownValue === SuspenseException) {\n // This is a special type of exception used for Suspense. For historical\n // reasons, the rest of the Suspense implementation expects the thrown value\n // to be a thenable, because before `use` existed that was the (unstable)\n // API for suspending. This implementation detail can change later, once we\n // deprecate the old API in favor of `use`.\n thrownValue = getSuspendedThenable();\n workInProgressSuspendedReason = shouldRemainOnPreviousScreen() && // Check if there are other pending updates that might possibly unblock this\n // component from suspending. This mirrors the check in\n // renderDidSuspendDelayIfPossible. We should attempt to unify them somehow.\n // TODO: Consider unwinding immediately, using the\n // SuspendedOnHydration mechanism.\n !includesNonIdleWork(workInProgressRootSkippedLanes) && !includesNonIdleWork(workInProgressRootInterleavedUpdatedLanes) ? // Suspend work loop until data resolves\n SuspendedOnData : // Don't suspend work loop, except to check if the data has\n // immediately resolved (i.e. in a microtask). Otherwise, trigger the\n // nearest Suspense fallback.\n SuspendedOnImmediate;\n } else if (thrownValue === SuspenseyCommitException) {\n thrownValue = getSuspendedThenable();\n workInProgressSuspendedReason = SuspendedOnInstance;\n } else if (thrownValue === SelectiveHydrationException) {\n // An update flowed into a dehydrated boundary. Before we can apply the\n // update, we need to finish hydrating. Interrupt the work-in-progress\n // render so we can restart at the hydration lane.\n //\n // The ideal implementation would be able to switch contexts without\n // unwinding the current stack.\n //\n // We could name this something more general but as of now it's the only\n // case where we think this should happen.\n workInProgressSuspendedReason = SuspendedOnHydration;\n } else {\n // This is a regular error.\n var isWakeable = thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.then === 'function';\n workInProgressSuspendedReason = isWakeable ? // A wakeable object was thrown by a legacy Suspense implementation.\n // This has slightly different behavior than suspending with `use`.\n SuspendedOnDeprecatedThrowPromise : // This is a regular error. If something earlier in the component already\n // suspended, we must clear the thenable state to unblock the work loop.\n SuspendedOnError;\n }\n\n workInProgressThrownValue = thrownValue;\n var erroredWork = workInProgress;\n\n if (erroredWork === null) {\n // This is a fatal error\n workInProgressRootExitStatus = RootFatalErrored;\n workInProgressRootFatalError = thrownValue;\n return;\n }\n\n if (erroredWork.mode & ProfileMode) {\n // Record the time spent rendering before an error was thrown. This\n // avoids inaccurate Profiler durations in the case of a\n // suspended render.\n stopProfilerTimerIfRunningAndRecordDelta(erroredWork, true);\n }\n\n {\n markComponentRenderStopped();\n\n switch (workInProgressSuspendedReason) {\n case SuspendedOnError:\n {\n markComponentErrored(erroredWork, thrownValue, workInProgressRootRenderLanes);\n break;\n }\n\n case SuspendedOnData:\n case SuspendedOnImmediate:\n case SuspendedOnDeprecatedThrowPromise:\n case SuspendedAndReadyToContinue:\n {\n var wakeable = thrownValue;\n markComponentSuspended(erroredWork, wakeable, workInProgressRootRenderLanes);\n break;\n }\n }\n }\n}\n\nfunction shouldRemainOnPreviousScreen() {\n // This is asking whether it's better to suspend the transition and remain\n // on the previous screen, versus showing a fallback as soon as possible. It\n // takes into account both the priority of render and also whether showing a\n // fallback would produce a desirable user experience.\n var handler = getSuspenseHandler();\n\n if (handler === null) {\n // There's no Suspense boundary that can provide a fallback. We have no\n // choice but to remain on the previous screen.\n // NOTE: We do this even for sync updates, for lack of any better option. In\n // the future, we may change how we handle this, like by putting the whole\n // root into a \"detached\" mode.\n return true;\n } // TODO: Once `use` has fully replaced the `throw promise` pattern, we should\n // be able to remove the equivalent check in finishConcurrentRender, and rely\n // just on this one.\n\n\n if (includesOnlyTransitions(workInProgressRootRenderLanes)) {\n if (getShellBoundary() === null) {\n // We're rendering inside the \"shell\" of the app. Activating the nearest\n // fallback would cause visible content to disappear. It's better to\n // suspend the transition and remain on the previous screen.\n return true;\n } else {\n // We're rendering content that wasn't part of the previous screen.\n // Rather than block the transition, it's better to show a fallback as\n // soon as possible. The appearance of any nested fallbacks will be\n // throttled to avoid jank.\n return false;\n }\n }\n\n if (includesOnlyRetries(workInProgressRootRenderLanes) || // In this context, an OffscreenLane counts as a Retry\n // TODO: It's become increasingly clear that Retries and Offscreen are\n // deeply connected. They probably can be unified further.\n includesSomeLane(workInProgressRootRenderLanes, OffscreenLane)) {\n // During a retry, we can suspend rendering if the nearest Suspense boundary\n // is the boundary of the \"shell\", because we're guaranteed not to block\n // any new content from appearing.\n //\n // The reason we must check if this is a retry is because it guarantees\n // that suspending the work loop won't block an actual update, because\n // retries don't \"update\" anything; they fill in fallbacks that were left\n // behind by a previous transition.\n return handler === getShellBoundary();\n } // For all other Lanes besides Transitions and Retries, we should not wait\n // for the data to load.\n\n\n return false;\n}\n\nfunction pushDispatcher(container) {\n var prevDispatcher = ReactCurrentDispatcher.current;\n ReactCurrentDispatcher.current = ContextOnlyDispatcher;\n\n if (prevDispatcher === null) {\n // The React isomorphic package does not include a default dispatcher.\n // Instead the first renderer will lazily attach one, in order to give\n // nicer error messages.\n return ContextOnlyDispatcher;\n } else {\n return prevDispatcher;\n }\n}\n\nfunction popDispatcher(prevDispatcher) {\n ReactCurrentDispatcher.current = prevDispatcher;\n}\n\nfunction pushCacheDispatcher() {\n {\n var prevCacheDispatcher = ReactCurrentCache.current;\n ReactCurrentCache.current = DefaultCacheDispatcher;\n return prevCacheDispatcher;\n }\n}\n\nfunction popCacheDispatcher(prevCacheDispatcher) {\n {\n ReactCurrentCache.current = prevCacheDispatcher;\n }\n}\n\nfunction markCommitTimeOfFallback() {\n globalMostRecentFallbackTime = now$1();\n}\nfunction markSkippedUpdateLanes(lane) {\n workInProgressRootSkippedLanes = mergeLanes(lane, workInProgressRootSkippedLanes);\n}\nfunction renderDidSuspend() {\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootSuspended;\n }\n}\nfunction renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = RootSuspendedWithDelay; // Check if there are updates that we skipped tree that might have unblocked\n // this render.\n\n if ((includesNonIdleWork(workInProgressRootSkippedLanes) || includesNonIdleWork(workInProgressRootInterleavedUpdatedLanes)) && workInProgressRoot !== null) {\n // Mark the current render as suspended so that we switch to working on\n // the updates that were skipped. Usually we only suspend at the end of\n // the render phase.\n // TODO: We should probably always mark the root as suspended immediately\n // (inside this function), since by suspending at the end of the render\n // phase introduces a potential mistake where we suspend lanes that were\n // pinged or updated while we were rendering.\n // TODO: Consider unwinding immediately, using the\n // SuspendedOnHydration mechanism.\n markRootSuspended(workInProgressRoot, workInProgressRootRenderLanes, workInProgressDeferredLane);\n }\n}\nfunction renderDidError(error) {\n if (workInProgressRootExitStatus !== RootSuspendedWithDelay) {\n workInProgressRootExitStatus = RootErrored;\n }\n\n if (workInProgressRootConcurrentErrors === null) {\n workInProgressRootConcurrentErrors = [error];\n } else {\n workInProgressRootConcurrentErrors.push(error);\n }\n} // Called during render to determine if anything has suspended.\n// Returns false if we're not sure.\n\nfunction renderHasNotSuspendedYet() {\n // If something errored or completed, we can't really be sure,\n // so those are false.\n return workInProgressRootExitStatus === RootInProgress;\n} // TODO: Over time, this function and renderRootConcurrent have become more\n// and more similar. Not sure it makes sense to maintain forked paths. Consider\n// unifying them again.\n\nfunction renderRootSync(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher();\n var prevCacheDispatcher = pushCacheDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n var didSuspendInShell = false;\n\n outer: do {\n try {\n if (workInProgressSuspendedReason !== NotSuspended && workInProgress !== null) {\n // The work loop is suspended. During a synchronous render, we don't\n // yield to the main thread. Immediately unwind the stack. This will\n // trigger either a fallback or an error boundary.\n // TODO: For discrete and \"default\" updates (anything that's not\n // flushSync), we want to wait for the microtasks the flush before\n // unwinding. Will probably implement this using renderRootConcurrent,\n // or merge renderRootSync and renderRootConcurrent into the same\n // function and fork the behavior some other way.\n var unitOfWork = workInProgress;\n var thrownValue = workInProgressThrownValue;\n\n switch (workInProgressSuspendedReason) {\n case SuspendedOnHydration:\n {\n // Selective hydration. An update flowed into a dehydrated tree.\n // Interrupt the current render so the work loop can switch to the\n // hydration lane.\n resetWorkInProgressStack();\n workInProgressRootExitStatus = RootDidNotComplete;\n break outer;\n }\n\n case SuspendedOnImmediate:\n case SuspendedOnData:\n {\n if (!didSuspendInShell && getSuspenseHandler() === null) {\n didSuspendInShell = true;\n } // Intentional fallthrough\n\n }\n\n default:\n {\n // Unwind then continue with the normal work loop.\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue);\n break;\n }\n }\n }\n\n workLoopSync();\n break;\n } catch (thrownValue) {\n handleThrow(root, thrownValue);\n }\n } while (true); // Check if something suspended in the shell. We use this to detect an\n // infinite ping loop caused by an uncached promise.\n //\n // Only increment this counter once per synchronous render attempt across the\n // whole tree. Even if there are many sibling components that suspend, this\n // counter only gets incremented once.\n\n\n if (didSuspendInShell) {\n root.shellSuspendCounter++;\n }\n\n resetContextDependencies();\n executionContext = prevExecutionContext;\n popDispatcher(prevDispatcher);\n popCacheDispatcher(prevCacheDispatcher);\n\n if (workInProgress !== null) {\n // This is a sync render, so we should have finished the whole tree.\n throw new Error('Cannot commit an incomplete root. This error is likely caused by a ' + 'bug in React. Please file an issue.');\n }\n\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes; // It's safe to process the queue now that the render phase is complete.\n\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n} // The work loop is an extremely hot path. Tell Closure not to inline it.\n\n/** @noinline */\n\n\nfunction workLoopSync() {\n // Perform work without checking if we need to yield between fiber.\n while (workInProgress !== null) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher();\n var prevCacheDispatcher = pushCacheDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n resetRenderTimer();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n outer: do {\n try {\n if (workInProgressSuspendedReason !== NotSuspended && workInProgress !== null) {\n // The work loop is suspended. We need to either unwind the stack or\n // replay the suspended component.\n var unitOfWork = workInProgress;\n var thrownValue = workInProgressThrownValue;\n\n resumeOrUnwind: switch (workInProgressSuspendedReason) {\n case SuspendedOnError:\n {\n // Unwind then continue with the normal work loop.\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue);\n break;\n }\n\n case SuspendedOnData:\n {\n var thenable = thrownValue;\n\n if (isThenableResolved(thenable)) {\n // The data resolved. Try rendering the component again.\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(unitOfWork);\n break;\n } // The work loop is suspended on data. We should wait for it to\n // resolve before continuing to render.\n // TODO: Handle the case where the promise resolves synchronously.\n // Usually this is handled when we instrument the promise to add a\n // `status` field, but if the promise already has a status, we won't\n // have added a listener until right here.\n\n\n var onResolution = function () {\n // Check if the root is still suspended on this promise.\n if (workInProgressSuspendedReason === SuspendedOnData && workInProgressRoot === root) {\n // Mark the root as ready to continue rendering.\n workInProgressSuspendedReason = SuspendedAndReadyToContinue;\n } // Ensure the root is scheduled. We should do this even if we're\n // currently working on a different root, so that we resume\n // rendering later.\n\n\n ensureRootIsScheduled(root);\n };\n\n thenable.then(onResolution, onResolution);\n break outer;\n }\n\n case SuspendedOnImmediate:\n {\n // If this fiber just suspended, it's possible the data is already\n // cached. Yield to the main thread to give it a chance to ping. If\n // it does, we can retry immediately without unwinding the stack.\n workInProgressSuspendedReason = SuspendedAndReadyToContinue;\n break outer;\n }\n\n case SuspendedOnInstance:\n {\n workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue;\n break outer;\n }\n\n case SuspendedAndReadyToContinue:\n {\n var _thenable = thrownValue;\n\n if (isThenableResolved(_thenable)) {\n // The data resolved. Try rendering the component again.\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(unitOfWork);\n } else {\n // Otherwise, unwind then continue with the normal work loop.\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue);\n }\n\n break;\n }\n\n case SuspendedOnInstanceAndReadyToContinue:\n {\n switch (workInProgress.tag) {\n case HostComponent:\n case HostHoistable:\n case HostSingleton:\n {\n // Before unwinding the stack, check one more time if the\n // instance is ready. It may have loaded when React yielded to\n // the main thread.\n // Assigning this to a constant so Flow knows the binding won't\n // be mutated by `preloadInstance`.\n var hostFiber = workInProgress;\n var type = hostFiber.type;\n var props = hostFiber.pendingProps;\n var isReady = preloadInstance(type, props);\n\n if (isReady) {\n // The data resolved. Resume the work loop as if nothing\n // suspended. Unlike when a user component suspends, we don't\n // have to replay anything because the host fiber\n // already completed.\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n\n if (sibling !== null) {\n workInProgress = sibling;\n } else {\n var returnFiber = hostFiber.return;\n\n if (returnFiber !== null) {\n workInProgress = returnFiber;\n completeUnitOfWork(returnFiber);\n } else {\n workInProgress = null;\n }\n }\n\n break resumeOrUnwind;\n }\n\n break;\n }\n\n default:\n {\n // This will fail gracefully but it's not correct, so log a\n // warning in dev.\n if (true) {\n error('Unexpected type of fiber triggered a suspensey commit. ' + 'This is a bug in React.');\n }\n\n break;\n }\n } // Otherwise, unwind then continue with the normal work loop.\n\n\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue);\n break;\n }\n\n case SuspendedOnDeprecatedThrowPromise:\n {\n // Suspended by an old implementation that uses the `throw promise`\n // pattern. The newer replaying behavior can cause subtle issues\n // like infinite ping loops. So we maintain the old behavior and\n // always unwind.\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue);\n break;\n }\n\n case SuspendedOnHydration:\n {\n // Selective hydration. An update flowed into a dehydrated tree.\n // Interrupt the current render so the work loop can switch to the\n // hydration lane.\n resetWorkInProgressStack();\n workInProgressRootExitStatus = RootDidNotComplete;\n break outer;\n }\n\n default:\n {\n throw new Error('Unexpected SuspendedReason. This is a bug in React.');\n }\n }\n }\n\n if ( true && ReactCurrentActQueue.current !== null) {\n // `act` special case: If we're inside an `act` scope, don't consult\n // `shouldYield`. Always keep working until the render is complete.\n // This is not just an optimization: in a unit test environment, we\n // can't trust the result of `shouldYield`, because the host I/O is\n // likely mocked.\n workLoopSync();\n } else {\n workLoopConcurrent();\n }\n\n break;\n } catch (thrownValue) {\n handleThrow(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n popDispatcher(prevDispatcher);\n popCacheDispatcher(prevCacheDispatcher);\n executionContext = prevExecutionContext;\n\n\n if (workInProgress !== null) {\n // Still work remaining.\n {\n markRenderYielded();\n }\n\n return RootInProgress;\n } else {\n // Completed the tree.\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes; // It's safe to process the queue now that the render phase is complete.\n\n finishQueueingConcurrentUpdates(); // Return the final exit status.\n\n return workInProgressRootExitStatus;\n }\n}\n/** @noinline */\n\n\nfunction workLoopConcurrent() {\n // Perform work until Scheduler asks us to yield\n while (workInProgress !== null && !shouldYield()) {\n // $FlowFixMe[incompatible-call] found when upgrading Flow\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction performUnitOfWork(unitOfWork) {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = unitOfWork.alternate;\n setCurrentFiber(unitOfWork);\n var next;\n\n if ((unitOfWork.mode & ProfileMode) !== NoMode) {\n startProfilerTimer(unitOfWork);\n next = beginWork(current, unitOfWork, entangledRenderLanes);\n stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);\n } else {\n next = beginWork(current, unitOfWork, entangledRenderLanes);\n }\n\n resetCurrentFiber();\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n\n if (next === null) {\n // If this doesn't spawn new work, complete the current work.\n completeUnitOfWork(unitOfWork);\n } else {\n workInProgress = next;\n }\n\n ReactCurrentOwner$1.current = null;\n}\n\nfunction replaySuspendedUnitOfWork(unitOfWork) {\n // This is a fork of performUnitOfWork specifcally for replaying a fiber that\n // just suspended.\n //\n var current = unitOfWork.alternate;\n setCurrentFiber(unitOfWork);\n var next;\n setCurrentFiber(unitOfWork);\n var isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode;\n\n if (isProfilingMode) {\n startProfilerTimer(unitOfWork);\n }\n\n switch (unitOfWork.tag) {\n case IndeterminateComponent:\n {\n // Because it suspended with `use`, we can assume it's a\n // function component.\n unitOfWork.tag = FunctionComponent; // Fallthrough to the next branch.\n }\n\n case SimpleMemoComponent:\n case FunctionComponent:\n {\n // Resolve `defaultProps`. This logic is copied from `beginWork`.\n // TODO: Consider moving this switch statement into that module. Also,\n // could maybe use this as an opportunity to say `use` doesn't work with\n // `defaultProps` :)\n var Component = unitOfWork.type;\n var unresolvedProps = unitOfWork.pendingProps;\n var resolvedProps = unitOfWork.elementType === Component ? unresolvedProps : resolveDefaultProps(Component, unresolvedProps);\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(unitOfWork, Component, true);\n context = getMaskedContext(unitOfWork, unmaskedContext);\n }\n\n next = replayFunctionComponent(current, unitOfWork, resolvedProps, Component, context, workInProgressRootRenderLanes);\n break;\n }\n\n case ForwardRef:\n {\n // Resolve `defaultProps`. This logic is copied from `beginWork`.\n // TODO: Consider moving this switch statement into that module. Also,\n // could maybe use this as an opportunity to say `use` doesn't work with\n // `defaultProps` :)\n var _Component = unitOfWork.type.render;\n var _unresolvedProps = unitOfWork.pendingProps;\n\n var _resolvedProps = unitOfWork.elementType === _Component ? _unresolvedProps : resolveDefaultProps(_Component, _unresolvedProps);\n\n next = replayFunctionComponent(current, unitOfWork, _resolvedProps, _Component, unitOfWork.ref, workInProgressRootRenderLanes);\n break;\n }\n\n case HostComponent:\n {\n // Some host components are stateful (that's how we implement form\n // actions) but we don't bother to reuse the memoized state because it's\n // not worth the extra code. The main reason to reuse the previous hooks\n // is to reuse uncached promises, but we happen to know that the only\n // promises that a host component might suspend on are definitely cached\n // because they are controlled by us. So don't bother.\n resetHooksOnUnwind(unitOfWork); // Fallthrough to the next branch.\n }\n\n default:\n {\n // Other types besides function components are reset completely before\n // being replayed. Currently this only happens when a Usable type is\n // reconciled — the reconciler will suspend.\n //\n // We reset the fiber back to its original state; however, this isn't\n // a full \"unwind\" because we're going to reuse the promises that were\n // reconciled previously. So it's intentional that we don't call\n // resetSuspendedWorkLoopOnUnwind here.\n unwindInterruptedWork(current, unitOfWork);\n unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes);\n next = beginWork(current, unitOfWork, entangledRenderLanes);\n break;\n }\n }\n\n if (isProfilingMode) {\n stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);\n } // The begin phase finished successfully without suspending. Return to the\n // normal work loop.\n\n\n resetCurrentFiber();\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n\n if (next === null) {\n // If this doesn't spawn new work, complete the current work.\n completeUnitOfWork(unitOfWork);\n } else {\n workInProgress = next;\n }\n\n ReactCurrentOwner$1.current = null;\n}\n\nfunction throwAndUnwindWorkLoop(root, unitOfWork, thrownValue) {\n // This is a fork of performUnitOfWork specifcally for unwinding a fiber\n // that threw an exception.\n //\n // Return to the normal work loop. This will unwind the stack, and potentially\n // result in showing a fallback.\n resetSuspendedWorkLoopOnUnwind(unitOfWork);\n var returnFiber = unitOfWork.return;\n\n try {\n // Find and mark the nearest Suspense or error boundary that can handle\n // this \"exception\".\n var didFatal = throwException(root, returnFiber, unitOfWork, thrownValue, workInProgressRootRenderLanes);\n\n if (didFatal) {\n panicOnRootError(thrownValue);\n return;\n }\n } catch (error) {\n // We had trouble processing the error. An example of this happening is\n // when accessing the `componentDidCatch` property of an error boundary\n // throws an error. A weird edge case. There's a regression test for this.\n // To prevent an infinite loop, bubble the error up to the next parent.\n if (returnFiber !== null) {\n workInProgress = returnFiber;\n throw error;\n } else {\n panicOnRootError(thrownValue);\n return;\n }\n }\n\n if (unitOfWork.flags & Incomplete) {\n // Unwind the stack until we reach the nearest boundary.\n unwindUnitOfWork(unitOfWork);\n } else {\n // Although the fiber suspended, we're intentionally going to commit it in\n // an inconsistent state. We can do this safely in cases where we know the\n // inconsistent tree will be hidden.\n //\n // This currently only applies to Legacy Suspense implementation, but we may\n // port a version of this to concurrent roots, too, when performing a\n // synchronous render. Because that will allow us to mutate the tree as we\n // go instead of buffering mutations until the end. Though it's unclear if\n // this particular path is how that would be implemented.\n completeUnitOfWork(unitOfWork);\n }\n}\n\nfunction panicOnRootError(error) {\n // There's no ancestor that can handle this exception. This should never\n // happen because the root is supposed to capture all errors that weren't\n // caught by an error boundary. This is a fatal error, or panic condition,\n // because we've run out of ways to recover.\n workInProgressRootExitStatus = RootFatalErrored;\n workInProgressRootFatalError = error; // Set `workInProgress` to null. This represents advancing to the next\n // sibling, or the parent if there are no siblings. But since the root\n // has no siblings nor a parent, we set it to null. Usually this is\n // handled by `completeUnitOfWork` or `unwindWork`, but since we're\n // intentionally not calling those, we need set it here.\n // TODO: Consider calling `unwindWork` to pop the contexts.\n\n workInProgress = null;\n}\n\nfunction completeUnitOfWork(unitOfWork) {\n // Attempt to complete the current unit of work, then move to the next\n // sibling. If there are no more siblings, return to the parent fiber.\n var completedWork = unitOfWork;\n\n do {\n {\n if ((completedWork.flags & Incomplete) !== NoFlags$1) {\n // NOTE: If we re-enable sibling prerendering in some cases, this branch\n // is where we would switch to the unwinding path.\n error('Internal React error: Expected this fiber to be complete, but ' + \"it isn't. It should have been unwound. This is a bug in React.\");\n }\n } // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n\n\n var current = completedWork.alternate;\n var returnFiber = completedWork.return;\n setCurrentFiber(completedWork);\n var next = void 0;\n\n if ((completedWork.mode & ProfileMode) === NoMode) {\n next = completeWork(current, completedWork, entangledRenderLanes);\n } else {\n startProfilerTimer(completedWork);\n next = completeWork(current, completedWork, entangledRenderLanes); // Update render duration assuming we didn't error.\n\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false);\n }\n\n resetCurrentFiber();\n\n if (next !== null) {\n // Completing this fiber spawned new work. Work on that next.\n workInProgress = next;\n return;\n }\n\n var siblingFiber = completedWork.sibling;\n\n if (siblingFiber !== null) {\n // If there is more work to do in this returnFiber, do that next.\n workInProgress = siblingFiber;\n return;\n } // Otherwise, return to the parent\n // $FlowFixMe[incompatible-type] we bail out when we get a null\n\n\n completedWork = returnFiber; // Update the next thing we're working on in case something throws.\n\n workInProgress = completedWork;\n } while (completedWork !== null); // We've reached the root.\n\n\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootCompleted;\n }\n}\n\nfunction unwindUnitOfWork(unitOfWork) {\n var incompleteWork = unitOfWork;\n\n do {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = incompleteWork.alternate; // This fiber did not complete because something threw. Pop values off\n // the stack without entering the complete phase. If this is a boundary,\n // capture values if possible.\n\n var next = unwindWork(current, incompleteWork); // Because this fiber did not complete, don't reset its lanes.\n\n if (next !== null) {\n // Found a boundary that can handle this exception. Re-renter the\n // begin phase. This branch will return us to the normal work loop.\n //\n // Since we're restarting, remove anything that is not a host effect\n // from the effect tag.\n next.flags &= HostEffectMask;\n workInProgress = next;\n return;\n } // Keep unwinding until we reach either a boundary or the root.\n\n\n if ((incompleteWork.mode & ProfileMode) !== NoMode) {\n // Record the render duration for the fiber that errored.\n stopProfilerTimerIfRunningAndRecordDelta(incompleteWork, false); // Include the time spent working on failed children before continuing.\n\n var actualDuration = incompleteWork.actualDuration;\n var child = incompleteWork.child;\n\n while (child !== null) {\n // $FlowFixMe[unsafe-addition] addition with possible null/undefined value\n actualDuration += child.actualDuration;\n child = child.sibling;\n }\n\n incompleteWork.actualDuration = actualDuration;\n } // TODO: Once we stop prerendering siblings, instead of resetting the parent\n // of the node being unwound, we should be able to reset node itself as we\n // unwind the stack. Saves an additional null check.\n\n\n var returnFiber = incompleteWork.return;\n\n if (returnFiber !== null) {\n // Mark the parent fiber as incomplete and clear its subtree flags.\n // TODO: Once we stop prerendering siblings, we may be able to get rid of\n // the Incomplete flag because unwinding to the nearest boundary will\n // happen synchronously.\n returnFiber.flags |= Incomplete;\n returnFiber.subtreeFlags = NoFlags$1;\n returnFiber.deletions = null;\n } // NOTE: If we re-enable sibling prerendering in some cases, here we\n // would switch to the normal completion path: check if a sibling\n // exists, and if so, begin work on it.\n // Otherwise, return to the parent\n // $FlowFixMe[incompatible-type] we bail out when we get a null\n\n\n incompleteWork = returnFiber; // Update the next thing we're working on in case something throws.\n\n workInProgress = incompleteWork;\n } while (incompleteWork !== null); // We've unwound all the way to the root.\n\n\n workInProgressRootExitStatus = RootDidNotComplete;\n workInProgress = null;\n}\n\nfunction commitRoot(root, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane) {\n // TODO: This no longer makes any sense. We already wrap the mutation and\n // layout phases. Should be able to remove.\n var previousUpdateLanePriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$1.transition;\n\n try {\n ReactCurrentBatchConfig$1.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n commitRootImpl(root, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, previousUpdateLanePriority, spawnedLane);\n } finally {\n ReactCurrentBatchConfig$1.transition = prevTransition;\n setCurrentUpdatePriority(previousUpdateLanePriority);\n }\n\n return null;\n}\n\nfunction commitRootImpl(root, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, renderPriorityLevel, spawnedLane) {\n do {\n // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which\n // means `flushPassiveEffects` will sometimes result in additional\n // passive effects. So we need to keep flushing in a loop until there are\n // no more pending effects.\n // TODO: Might be better if `flushPassiveEffects` did not automatically\n // flush synchronous work at the end, to avoid factoring hazards like this.\n flushPassiveEffects();\n } while (rootWithPendingPassiveEffects !== null);\n\n flushRenderPhaseStrictModeWarningsInDEV();\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n var finishedWork = root.finishedWork;\n var lanes = root.finishedLanes;\n\n {\n markCommitStarted(lanes);\n }\n\n if (finishedWork === null) {\n\n {\n markCommitStopped();\n }\n\n return null;\n } else {\n {\n if (lanes === NoLanes) {\n error('root.finishedLanes should not be empty during a commit. This is a ' + 'bug in React.');\n }\n }\n }\n\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n\n if (finishedWork === root.current) {\n throw new Error('Cannot commit the same tree as before. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n } // commitRoot never returns a continuation; it always finishes synchronously.\n // So we can clear these now to allow a new callback to be scheduled.\n\n\n root.callbackNode = null;\n root.callbackPriority = NoLane;\n root.cancelPendingCommit = null; // Check which lanes no longer have any work scheduled on them, and mark\n // those as finished.\n\n var remainingLanes = mergeLanes(finishedWork.lanes, finishedWork.childLanes); // Make sure to account for lanes that were updated by a concurrent event\n // during the render phase; don't mark them as finished.\n\n var concurrentlyUpdatedLanes = getConcurrentlyUpdatedLanes();\n remainingLanes = mergeLanes(remainingLanes, concurrentlyUpdatedLanes);\n markRootFinished(root, remainingLanes, spawnedLane); // Reset this before firing side effects so we can detect recursive updates.\n\n didIncludeCommitPhaseUpdate = false;\n\n if (root === workInProgressRoot) {\n // We can reset these now that they are finished.\n workInProgressRoot = null;\n workInProgress = null;\n workInProgressRootRenderLanes = NoLanes;\n } // If there are pending passive effects, schedule a callback to process them.\n // Do this as early as possible, so it is queued before anything else that\n // might get scheduled in the commit phase. (See #16714.)\n // TODO: Delete all other places that schedule the passive effect callback\n // They're redundant.\n\n\n if ((finishedWork.subtreeFlags & PassiveMask) !== NoFlags$1 || (finishedWork.flags & PassiveMask) !== NoFlags$1) {\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n pendingPassiveEffectsRemainingLanes = remainingLanes; // workInProgressTransitions might be overwritten, so we want\n // to store it in pendingPassiveTransitions until they get processed\n // We need to pass this through as an argument to commitRoot\n // because workInProgressTransitions might have changed between\n // the previous render and commit if we throttle the commit\n // with setTimeout\n\n pendingPassiveTransitions = transitions;\n scheduleCallback(NormalPriority$1, function () {\n flushPassiveEffects(); // This render triggered passive effects: release the root cache pool\n // *after* passive effects fire to avoid freeing a cache pool that may\n // be referenced by a node in the tree (HostRoot, Cache boundary etc)\n\n return null;\n });\n }\n } // Check if there are any effects in the whole tree.\n // TODO: This is left over from the effect list implementation, where we had\n // to check for the existence of `firstEffect` to satisfy Flow. I think the\n // only other reason this optimization exists is because it affects profiling.\n // Reconsider whether this is necessary.\n\n\n var subtreeHasEffects = (finishedWork.subtreeFlags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags$1;\n var rootHasEffect = (finishedWork.flags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags$1;\n\n if (subtreeHasEffects || rootHasEffect) {\n var prevTransition = ReactCurrentBatchConfig$1.transition;\n ReactCurrentBatchConfig$1.transition = null;\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(DiscreteEventPriority);\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext; // Reset this to null before calling lifecycles\n\n ReactCurrentOwner$1.current = null; // The commit phase is broken into several sub-phases. We do a separate pass\n // of the effect list for each phase: all mutation effects come before all\n // layout effects, and so on.\n // The first phase a \"before mutation\" phase. We use this phase to read the\n // state of the host tree right before we mutate it. This is where\n // getSnapshotBeforeUpdate is called.\n\n commitBeforeMutationEffects(root, finishedWork);\n\n {\n // Mark the current commit time to be shared by all Profilers in this\n // batch. This enables them to be grouped later.\n recordCommitTime();\n }\n\n\n commitMutationEffects(root, finishedWork, lanes);\n\n resetAfterCommit(); // The work-in-progress tree is now the current tree. This must come after\n // the mutation phase, so that the previous tree is still current during\n // componentWillUnmount, but before the layout phase, so that the finished\n // work is current during componentDidMount/Update.\n\n root.current = finishedWork; // The next phase is the layout phase, where we call effects that read\n\n {\n markLayoutEffectsStarted(lanes);\n }\n\n commitLayoutEffects(finishedWork, root, lanes);\n\n {\n markLayoutEffectsStopped();\n }\n // opportunity to paint.\n\n\n requestPaint();\n executionContext = prevExecutionContext; // Reset the priority to the previous non-sync value.\n\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$1.transition = prevTransition;\n } else {\n // No effects.\n root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were\n // no effects.\n // TODO: Maybe there's a better way to report this.\n\n {\n recordCommitTime();\n }\n }\n\n var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;\n\n if (rootDoesHavePassiveEffects) {\n // This commit has passive effects. Stash a reference to them. But don't\n // schedule a callback until after flushing layout work.\n rootDoesHavePassiveEffects = false;\n rootWithPendingPassiveEffects = root;\n pendingPassiveEffectsLanes = lanes;\n } else {\n // There were no passive effects, so we can immediately release the cache\n // pool for this render.\n releaseRootPooledCache(root, remainingLanes);\n\n {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n }\n } // Read this again, since an effect might have updated it\n\n\n remainingLanes = root.pendingLanes; // Check if there's remaining work on this root\n // TODO: This is part of the `componentDidCatch` implementation. Its purpose\n // is to detect whether something might have called setState inside\n // `componentDidCatch`. The mechanism is known to be flawed because `setState`\n // inside `componentDidCatch` is itself flawed — that's why we recommend\n // `getDerivedStateFromError` instead. However, it could be improved by\n // checking if remainingLanes includes Sync work, instead of whether there's\n // any work remaining at all (which would also include stuff like Suspense\n // retries or transitions). It's been like this for a while, though, so fixing\n // it probably isn't that urgent.\n\n if (remainingLanes === NoLanes) {\n // If there's no remaining work, we can clear the set of already failed\n // error boundaries.\n legacyErrorBoundariesThatAlreadyFailed = null;\n }\n\n {\n if (!rootDidHavePassiveEffects) {\n commitDoubleInvokeEffectsInDEV(root, false);\n }\n }\n\n onCommitRoot$1(finishedWork.stateNode, renderPriorityLevel);\n\n {\n if (isDevToolsPresent) {\n root.memoizedUpdaters.clear();\n }\n }\n\n {\n onCommitRoot();\n } // Always call this before exiting `commitRoot`, to ensure that any\n // additional work on this root is scheduled.\n\n\n ensureRootIsScheduled(root);\n\n if (recoverableErrors !== null) {\n // There were errors during this render, but recovered from them without\n // needing to surface it to the UI. We log them here.\n var onRecoverableError = root.onRecoverableError;\n\n for (var i = 0; i < recoverableErrors.length; i++) {\n var recoverableError = recoverableErrors[i];\n var errorInfo = makeErrorInfo(recoverableError.digest, recoverableError.stack);\n onRecoverableError(recoverableError.value, errorInfo);\n }\n }\n\n if (hasUncaughtError) {\n hasUncaughtError = false;\n var error$1 = firstUncaughtError;\n firstUncaughtError = null;\n throw error$1;\n } // If the passive effects are the result of a discrete render, flush them\n // synchronously at the end of the current task so that the result is\n // immediately observable. Otherwise, we assume that they are not\n // order-dependent and do not need to be observed by external systems, so we\n // can wait until after paint.\n // TODO: We can optimize this by not scheduling the callback earlier. Since we\n // currently schedule the callback in multiple places, will wait until those\n // are consolidated.\n\n\n if (includesSyncLane(pendingPassiveEffectsLanes) && root.tag !== LegacyRoot) {\n flushPassiveEffects();\n } // Read this again, since a passive effect might have updated it\n\n\n remainingLanes = root.pendingLanes; // Check if this render scheduled a cascading synchronous update. This is a\n // heurstic to detect infinite update loops. We are intentionally excluding\n // hydration lanes in this check, because render triggered by selective\n // hydration is conceptually not an update.\n\n if ( // Check if there was a recursive update spawned by this render, in either\n // the render phase or the commit phase. We track these explicitly because\n // we can't infer from the remaining lanes alone.\n (didIncludeRenderPhaseUpdate || didIncludeCommitPhaseUpdate) || // Was the finished render the result of an update (not hydration)?\n includesSomeLane(lanes, UpdateLanes) && // Did it schedule a sync update?\n includesSomeLane(remainingLanes, SyncUpdateLanes)) {\n {\n markNestedUpdateScheduled();\n } // Count the number of times the root synchronously re-renders without\n // finishing. If there are too many, it indicates an infinite update loop.\n\n\n if (root === rootWithNestedUpdates) {\n nestedUpdateCount++;\n } else {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = root;\n }\n } else {\n nestedUpdateCount = 0;\n } // If layout work was scheduled, flush it now.\n\n\n flushSyncWorkOnAllRoots();\n\n {\n markCommitStopped();\n }\n\n return null;\n}\n\nfunction makeErrorInfo(digest, componentStack) {\n {\n var errorInfo = {\n componentStack: componentStack,\n digest: digest\n };\n Object.defineProperty(errorInfo, 'digest', {\n configurable: false,\n enumerable: true,\n get: function () {\n error('You are accessing \"digest\" from the errorInfo object passed to onRecoverableError.' + ' This property is deprecated and will be removed in a future version of React.' + ' To access the digest of an Error look for this property on the Error instance itself.');\n\n return digest;\n }\n });\n return errorInfo;\n }\n}\n\nfunction releaseRootPooledCache(root, remainingLanes) {\n {\n var pooledCacheLanes = root.pooledCacheLanes &= remainingLanes;\n\n if (pooledCacheLanes === NoLanes) {\n // None of the remaining work relies on the cache pool. Clear it so\n // subsequent requests get a new cache\n var pooledCache = root.pooledCache;\n\n if (pooledCache != null) {\n root.pooledCache = null;\n releaseCache(pooledCache);\n }\n }\n }\n}\n\nfunction flushPassiveEffects() {\n // Returns whether passive effects were flushed.\n // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should\n // probably just combine the two functions. I believe they were only separate\n // in the first place because we used to wrap it with\n // `Scheduler.runWithPriority`, which accepts a function. But now we track the\n // priority within React itself, so we can mutate the variable directly.\n if (rootWithPendingPassiveEffects !== null) {\n // Cache the root since rootWithPendingPassiveEffects is cleared in\n // flushPassiveEffectsImpl\n var root = rootWithPendingPassiveEffects; // Cache and clear the remaining lanes flag; it must be reset since this\n // method can be called from various places, not always from commitRoot\n // where the remaining lanes are known\n\n var remainingLanes = pendingPassiveEffectsRemainingLanes;\n pendingPassiveEffectsRemainingLanes = NoLanes;\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes);\n var priority = lowerEventPriority(DefaultEventPriority, renderPriority);\n var prevTransition = ReactCurrentBatchConfig$1.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$1.transition = null;\n setCurrentUpdatePriority(priority);\n return flushPassiveEffectsImpl();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$1.transition = prevTransition; // Once passive effects have run for the tree - giving components a\n // chance to retain cache instances they use - release the pooled\n // cache at the root (if there is one)\n\n releaseRootPooledCache(root, remainingLanes);\n }\n }\n\n return false;\n}\nfunction enqueuePendingPassiveProfilerEffect(fiber) {\n {\n pendingPassiveProfilerEffects.push(fiber);\n\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n scheduleCallback(NormalPriority$1, function () {\n flushPassiveEffects();\n return null;\n });\n }\n }\n}\n\nfunction flushPassiveEffectsImpl() {\n if (rootWithPendingPassiveEffects === null) {\n return false;\n } // Cache and clear the transitions flag\n\n\n var transitions = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root = rootWithPendingPassiveEffects;\n var lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects.\n // Figure out why and fix it. It's not causing any known issues (probably\n // because it's only used for profiling), but it's a refactor hazard.\n\n pendingPassiveEffectsLanes = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Cannot flush passive effects while already rendering.');\n }\n\n {\n isFlushingPassiveEffects = true;\n didScheduleUpdateDuringPassiveEffects = false;\n }\n\n {\n markPassiveEffectsStarted(lanes);\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n commitPassiveUnmountEffects(root.current);\n commitPassiveMountEffects(root, root.current, lanes, transitions); // TODO: Move to commitPassiveMountEffects\n\n {\n var profilerEffects = pendingPassiveProfilerEffects;\n pendingPassiveProfilerEffects = [];\n\n for (var i = 0; i < profilerEffects.length; i++) {\n var fiber = profilerEffects[i];\n commitPassiveEffectDurations(root, fiber);\n }\n }\n\n {\n markPassiveEffectsStopped();\n }\n\n {\n commitDoubleInvokeEffectsInDEV(root, true);\n }\n\n executionContext = prevExecutionContext;\n flushSyncWorkOnAllRoots();\n\n {\n // If additional passive effects were scheduled, increment a counter. If this\n // exceeds the limit, we'll fire a warning.\n if (didScheduleUpdateDuringPassiveEffects) {\n if (root === rootWithPassiveNestedUpdates) {\n nestedPassiveUpdateCount++;\n } else {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = root;\n }\n } else {\n nestedPassiveUpdateCount = 0;\n }\n\n isFlushingPassiveEffects = false;\n didScheduleUpdateDuringPassiveEffects = false;\n } // TODO: Move to commitPassiveMountEffects\n\n\n onPostCommitRoot(root);\n\n {\n var stateNode = root.current.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n\n return true;\n}\n\nfunction isAlreadyFailedLegacyErrorBoundary(instance) {\n return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);\n}\nfunction markLegacyErrorBoundaryAsFailed(instance) {\n if (legacyErrorBoundariesThatAlreadyFailed === null) {\n legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);\n } else {\n legacyErrorBoundariesThatAlreadyFailed.add(instance);\n }\n}\n\nfunction prepareToThrowUncaughtError(error) {\n if (!hasUncaughtError) {\n hasUncaughtError = true;\n firstUncaughtError = error;\n }\n}\n\nvar onUncaughtError = prepareToThrowUncaughtError;\n\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n var errorInfo = createCapturedValueAtFiber(error, sourceFiber);\n var update = createRootErrorUpdate(rootFiber, errorInfo, SyncLane);\n var root = enqueueUpdate(rootFiber, update, SyncLane);\n\n if (root !== null) {\n markRootUpdated(root, SyncLane);\n ensureRootIsScheduled(root);\n }\n}\n\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error$1) {\n {\n reportUncaughtErrorInDEV(error$1);\n setIsRunningInsertionEffect(false);\n }\n\n if (sourceFiber.tag === HostRoot) {\n // Error was thrown at the root. There is no parent, so the root\n // itself should capture it.\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error$1);\n return;\n }\n\n var fiber = nearestMountedAncestor;\n\n while (fiber !== null) {\n if (fiber.tag === HostRoot) {\n captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error$1);\n return;\n } else if (fiber.tag === ClassComponent) {\n var ctor = fiber.type;\n var instance = fiber.stateNode;\n\n if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {\n var errorInfo = createCapturedValueAtFiber(error$1, sourceFiber);\n var update = createClassErrorUpdate(fiber, errorInfo, SyncLane);\n var root = enqueueUpdate(fiber, update, SyncLane);\n\n if (root !== null) {\n markRootUpdated(root, SyncLane);\n ensureRootIsScheduled(root);\n }\n\n return;\n }\n }\n\n fiber = fiber.return;\n }\n\n {\n error('Internal React error: Attempted to capture a commit phase error ' + 'inside a detached tree. This indicates a bug in React. Potential ' + 'causes include deleting the same fiber more than once, committing an ' + 'already-finished tree, or an inconsistent return pointer.\\n\\n' + 'Error message:\\n\\n%s', error$1);\n }\n}\nfunction attachPingListener(root, wakeable, lanes) {\n // Attach a ping listener\n //\n // The data might resolve before we have a chance to commit the fallback. Or,\n // in the case of a refresh, we'll never commit a fallback. So we need to\n // attach a listener now. When it resolves (\"pings\"), we can decide whether to\n // try rendering the tree again.\n //\n // Only attach a listener if one does not already exist for the lanes\n // we're currently rendering (which acts like a \"thread ID\" here).\n //\n // We only need to do this in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n var pingCache = root.pingCache;\n var threadIDs;\n\n if (pingCache === null) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else {\n threadIDs = pingCache.get(wakeable);\n\n if (threadIDs === undefined) {\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n }\n }\n\n if (!threadIDs.has(lanes)) {\n workInProgressRootDidAttachPingListener = true; // Memoize using the thread ID to prevent redundant listeners.\n\n threadIDs.add(lanes);\n var ping = pingSuspendedRoot.bind(null, root, wakeable, lanes);\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, lanes);\n }\n }\n\n wakeable.then(ping, ping);\n }\n}\n\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n\n if (pingCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n pingCache.delete(wakeable);\n }\n\n markRootPinged(root, pingedLanes);\n warnIfSuspenseResolutionNotWrappedWithActDEV(root);\n\n if (workInProgressRoot === root && isSubsetOfLanes(workInProgressRootRenderLanes, pingedLanes)) {\n // Received a ping at the same priority level at which we're currently\n // rendering. We might want to restart this render. This should mirror\n // the logic of whether or not a root suspends once it completes.\n // TODO: If we're rendering sync either due to Sync, Batched or expired,\n // we should probably never restart.\n // If we're suspended with delay, or if it's a retry, we'll always suspend\n // so we can always restart.\n if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && includesOnlyRetries(workInProgressRootRenderLanes) && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {\n // Force a restart from the root by unwinding the stack. Unless this is\n // being called from the render phase, because that would cause a crash.\n if ((executionContext & RenderContext) === NoContext) {\n prepareFreshStack(root, NoLanes);\n }\n } else {\n // Even though we can't restart right now, we might get an\n // opportunity later. So we mark this render as having a ping.\n workInProgressRootPingedLanes = mergeLanes(workInProgressRootPingedLanes, pingedLanes);\n }\n }\n\n ensureRootIsScheduled(root);\n}\n\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n // The boundary fiber (a Suspense component or SuspenseList component)\n // previously was rendered in its fallback state. One of the promises that\n // suspended it has resolved, which means at least part of the tree was\n // likely unblocked. Try rendering again, at a new lanes.\n if (retryLane === NoLane) {\n // TODO: Assign this to `suspenseState.retryLane`? to avoid\n // unnecessary entanglement?\n retryLane = requestRetryLane(boundaryFiber);\n } // TODO: Special case idle priority?\n\n\n var root = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n\n if (root !== null) {\n markRootUpdated(root, retryLane);\n ensureRootIsScheduled(root);\n }\n}\n\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState;\n var retryLane = NoLane;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = NoLane; // Default\n\n var retryCache;\n\n switch (boundaryFiber.tag) {\n case SuspenseComponent:\n retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n break;\n\n case SuspenseListComponent:\n retryCache = boundaryFiber.stateNode;\n break;\n\n case OffscreenComponent:\n {\n var instance = boundaryFiber.stateNode;\n retryCache = instance._retryCache;\n break;\n }\n\n default:\n throw new Error('Pinged unknown suspense boundary type. ' + 'This is probably a bug in React.');\n }\n\n if (retryCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n retryCache.delete(wakeable);\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction throwIfInfiniteUpdateLoopDetected() {\n if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {\n nestedUpdateCount = 0;\n nestedPassiveUpdateCount = 0;\n rootWithNestedUpdates = null;\n rootWithPassiveNestedUpdates = null;\n\n {\n if (executionContext & RenderContext && workInProgressRoot !== null) {\n // We're in the render phase. Disable the concurrent error recovery\n // mechanism to ensure that the error we're about to throw gets handled.\n // We need it to trigger the nearest error boundary so that the infinite\n // update loop is broken.\n workInProgressRoot.errorRecoveryDisabledLanes = mergeLanes(workInProgressRoot.errorRecoveryDisabledLanes, workInProgressRootRenderLanes);\n }\n }\n\n throw new Error('Maximum update depth exceeded. This can happen when a component ' + 'repeatedly calls setState inside componentWillUpdate or ' + 'componentDidUpdate. React limits the number of nested updates to ' + 'prevent infinite loops.');\n }\n\n {\n if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n\n error('Maximum update depth exceeded. This can happen when a component ' + \"calls setState inside useEffect, but useEffect either doesn't \" + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');\n }\n }\n}\n\nfunction flushRenderPhaseStrictModeWarningsInDEV() {\n {\n ReactStrictModeWarnings.flushLegacyContextWarning();\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\n }\n}\n\nfunction commitDoubleInvokeEffectsInDEV(root, hasPassiveEffects) {\n {\n {\n legacyCommitDoubleInvokeEffectsInDEV(root.current, hasPassiveEffects);\n }\n }\n}\n\nfunction legacyCommitDoubleInvokeEffectsInDEV(fiber, hasPassiveEffects) {\n // TODO (StrictEffects) Should we set a marker on the root if it contains strict effects\n // so we don't traverse unnecessarily? similar to subtreeFlags but just at the root level.\n // Maybe not a big deal since this is DEV only behavior.\n setCurrentFiber(fiber);\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectUnmountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectUnmountInDEV);\n }\n\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectMountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectMountInDEV);\n }\n\n resetCurrentFiber();\n}\n\nfunction invokeEffectsInDev(firstChild, fiberFlags, invokeEffectFn) {\n var current = firstChild;\n var subtreeRoot = null;\n\n while (current != null) {\n var primarySubtreeFlag = current.subtreeFlags & fiberFlags;\n\n if (current !== subtreeRoot && current.child != null && primarySubtreeFlag !== NoFlags$1) {\n current = current.child;\n } else {\n if ((current.flags & fiberFlags) !== NoFlags$1) {\n invokeEffectFn(current);\n }\n\n if (current.sibling !== null) {\n current = current.sibling;\n } else {\n current = subtreeRoot = current.return;\n }\n }\n }\n}\n\nvar didWarnStateUpdateForNotYetMountedComponent = null;\nfunction warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {\n {\n if ((executionContext & RenderContext) !== NoContext) {\n // We let the other warning about render phase updates deal with this one.\n return;\n }\n\n if (!(fiber.mode & ConcurrentMode)) {\n return;\n }\n\n var tag = fiber.tag;\n\n if (tag !== IndeterminateComponent && tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent) {\n // Only warn for user-defined components, not internal ones like Suspense.\n return;\n } // We show the whole stack but dedupe on the top component's name because\n // the problematic code almost always lies inside that component.\n\n\n var componentName = getComponentNameFromFiber(fiber) || 'ReactComponent';\n\n if (didWarnStateUpdateForNotYetMountedComponent !== null) {\n if (didWarnStateUpdateForNotYetMountedComponent.has(componentName)) {\n return;\n } // $FlowFixMe[incompatible-use] found when upgrading Flow\n\n\n didWarnStateUpdateForNotYetMountedComponent.add(componentName);\n } else {\n didWarnStateUpdateForNotYetMountedComponent = new Set([componentName]);\n }\n\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error(\"Can't perform a React state update on a component that hasn't mounted yet. \" + 'This indicates that you have a side-effect in your render function that ' + 'asynchronously later calls tries to update the component. Move this work to ' + 'useEffect instead.');\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n}\nvar beginWork;\n\n{\n var dummyFiber = null;\n\n beginWork = function (current, unitOfWork, lanes) {\n // If a component throws an error, we replay it again in a synchronously\n // dispatched event, so that the debugger will treat it as an uncaught\n // error See ReactErrorUtils for more information.\n // Before entering the begin phase, copy the work-in-progress onto a dummy\n // fiber. If beginWork throws, we'll use this to reset the state.\n var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);\n\n try {\n return beginWork$1(current, unitOfWork, lanes);\n } catch (originalError) {\n if (didSuspendOrErrorWhileHydratingDEV() || originalError === SuspenseException || originalError === SelectiveHydrationException || originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {\n // Don't replay promises.\n // Don't replay errors if we are hydrating and have already suspended or handled an error\n throw originalError;\n } // Don't reset current debug fiber, since we're about to work on the\n // same fiber again.\n // Unwind the failed stack frame\n\n\n resetSuspendedWorkLoopOnUnwind(unitOfWork);\n unwindInterruptedWork(current, unitOfWork); // Restore the original properties of the fiber.\n\n assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);\n\n if (unitOfWork.mode & ProfileMode) {\n // Reset the profiler timer.\n startProfilerTimer(unitOfWork);\n } // Run beginWork again.\n\n\n invokeGuardedCallback(null, beginWork$1, null, current, unitOfWork, lanes);\n\n if (hasCaughtError()) {\n var replayError = clearCaughtError();\n\n if (typeof replayError === 'object' && replayError !== null && replayError._suppressLogging && typeof originalError === 'object' && originalError !== null && !originalError._suppressLogging) {\n // If suppressed, let the flag carry over to the original error which is the one we'll rethrow.\n originalError._suppressLogging = true;\n }\n } // We always throw the original error in case the second render pass is not idempotent.\n // This can happen if a memoized function or CommonJS module doesn't throw after first invocation.\n\n\n throw originalError;\n }\n };\n}\n\nvar didWarnAboutUpdateInRender = false;\nvar didWarnAboutUpdateInRenderForAnotherComponent;\n\n{\n didWarnAboutUpdateInRenderForAnotherComponent = new Set();\n}\n\nfunction warnAboutRenderPhaseUpdatesInDEV(fiber) {\n {\n if (isRendering) {\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n var renderingComponentName = workInProgress && getComponentNameFromFiber(workInProgress) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.\n\n var dedupeKey = renderingComponentName;\n\n if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {\n didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);\n var setStateComponentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://reactjs.org/link/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n if (!didWarnAboutUpdateInRender) {\n error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');\n\n didWarnAboutUpdateInRender = true;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction restorePendingUpdaters(root, lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n memoizedUpdaters.forEach(function (schedulingFiber) {\n addFiberToLanesMap(root, schedulingFiber, lanes);\n }); // This function intentionally does not clear memoized updaters.\n // Those may still be relevant to the current commit\n // and a future one (e.g. Suspense).\n }\n }\n}\nvar fakeActCallbackNode = {}; // $FlowFixMe[missing-local-annot]\n\nfunction scheduleCallback(priorityLevel, callback) {\n {\n // If we're currently inside an `act` scope, bypass Scheduler and push to\n // the `act` queue instead.\n var actQueue = ReactCurrentActQueue.current;\n\n if (actQueue !== null) {\n actQueue.push(callback);\n return fakeActCallbackNode;\n } else {\n return scheduleCallback$3(priorityLevel, callback);\n }\n }\n}\n\nfunction shouldForceFlushFallbacksInDEV() {\n // Never force flush in production. This function should get stripped out.\n return ReactCurrentActQueue.current !== null;\n}\n\nfunction warnIfUpdatesNotWrappedWithActDEV(fiber) {\n {\n if (fiber.mode & ConcurrentMode) {\n if (!isConcurrentActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n } else {\n // Legacy mode has additional cases where we suppress a warning.\n if (!isLegacyActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n\n if (executionContext !== NoContext) {\n // Legacy mode doesn't warn if the update is batched, i.e.\n // batchedUpdates or flushSync.\n return;\n }\n\n if (fiber.tag !== FunctionComponent && fiber.tag !== ForwardRef && fiber.tag !== SimpleMemoComponent) {\n // For backwards compatibility with pre-hooks code, legacy mode only\n // warns for updates that originate from a hook.\n return;\n }\n }\n\n if (ReactCurrentActQueue.current === null) {\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error('An update to %s inside a test was not wrapped in act(...).\\n\\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\\n\\n' + 'act(() => {\\n' + ' /* fire events that update state */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act', getComponentNameFromFiber(fiber));\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n}\n\nfunction warnIfSuspenseResolutionNotWrappedWithActDEV(root) {\n {\n if (root.tag !== LegacyRoot && isConcurrentActEnvironment() && ReactCurrentActQueue.current === null) {\n error('A suspended resource finished loading inside a test, but the event ' + 'was not wrapped in act(...).\\n\\n' + 'When testing, code that resolves suspended data should be wrapped ' + 'into act(...):\\n\\n' + 'act(() => {\\n' + ' /* finish loading suspended data */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act');\n }\n }\n}\n\nfunction setIsRunningInsertionEffect(isRunning) {\n {\n isRunningInsertionEffect = isRunning;\n }\n}\n\n/* eslint-disable react-internal/prod-error-codes */\n// Used by React Refresh runtime through DevTools Global Hook.\n\nvar resolveFamily = null;\nvar failedBoundaries = null;\nvar setRefreshHandler = function (handler) {\n {\n resolveFamily = handler;\n }\n};\nfunction resolveFunctionForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction resolveClassForHotReloading(type) {\n // No implementation differences.\n return resolveFunctionForHotReloading(type);\n}\nfunction resolveForwardRefForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n // Check if we're dealing with a real forwardRef. Don't want to crash early.\n if (type !== null && type !== undefined && typeof type.render === 'function') {\n // ForwardRef is special because its resolved .type is an object,\n // but it's possible that we only have its inner render function in the map.\n // If that inner render function is different, we'll build a new forwardRef type.\n var currentRender = resolveFunctionForHotReloading(type.render);\n\n if (type.render !== currentRender) {\n var syntheticType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: currentRender\n };\n\n if (type.displayName !== undefined) {\n syntheticType.displayName = type.displayName;\n }\n\n return syntheticType;\n }\n }\n\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction isCompatibleFamilyForHotReloading(fiber, element) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return false;\n }\n\n var prevType = fiber.elementType;\n var nextType = element.type; // If we got here, we know types aren't === equal.\n\n var needsCompareFamilies = false;\n var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;\n\n switch (fiber.tag) {\n case ClassComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case FunctionComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n // We don't know the inner type yet.\n // We're going to assume that the lazy inner type is stable,\n // and so it is sufficient to avoid reconciling it away.\n // We're not going to unwrap or actually use the new lazy type.\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case ForwardRef:\n {\n if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ($$typeofNextType === REACT_MEMO_TYPE) {\n // TODO: if it was but can no longer be simple,\n // we shouldn't set this.\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n default:\n return false;\n } // Check if both types have a family and it's the same one.\n\n\n if (needsCompareFamilies) {\n // Note: memo() and forwardRef() we'll compare outer rather than inner type.\n // This means both of them need to be registered to preserve state.\n // If we unwrapped and compared the inner types for wrappers instead,\n // then we would risk falsely saying two separate memo(Foo)\n // calls are equivalent because they wrap the same Foo function.\n var prevFamily = resolveFamily(prevType); // $FlowFixMe[not-a-function] found when upgrading Flow\n\n if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {\n return true;\n }\n }\n\n return false;\n }\n}\nfunction markFailedErrorBoundaryForHotReloading(fiber) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n if (typeof WeakSet !== 'function') {\n return;\n }\n\n if (failedBoundaries === null) {\n failedBoundaries = new WeakSet();\n }\n\n failedBoundaries.add(fiber);\n }\n}\nvar scheduleRefresh = function (root, update) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n var staleFamilies = update.staleFamilies,\n updatedFamilies = update.updatedFamilies;\n flushPassiveEffects();\n flushSync$1(function () {\n scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);\n });\n }\n};\nvar scheduleRoot = function (root, element) {\n {\n if (root.context !== emptyContextObject) {\n // Super edge case: root has a legacy _renderSubtree context\n // but we don't know the parentComponent so we can't pass it.\n // Just ignore. We'll delete this with _renderSubtree code path later.\n return;\n }\n\n flushPassiveEffects();\n flushSync$1(function () {\n updateContainer(element, root, null, null);\n });\n }\n};\n\nfunction scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {\n {\n var alternate = fiber.alternate,\n child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n if (resolveFamily === null) {\n throw new Error('Expected resolveFamily to be set during hot reload.');\n }\n\n var needsRender = false;\n var needsRemount = false;\n\n if (candidateType !== null) {\n var family = resolveFamily(candidateType);\n\n if (family !== undefined) {\n if (staleFamilies.has(family)) {\n needsRemount = true;\n } else if (updatedFamilies.has(family)) {\n if (tag === ClassComponent) {\n needsRemount = true;\n } else {\n needsRender = true;\n }\n }\n }\n }\n\n if (failedBoundaries !== null) {\n if (failedBoundaries.has(fiber) || // $FlowFixMe[incompatible-use] found when upgrading Flow\n alternate !== null && failedBoundaries.has(alternate)) {\n needsRemount = true;\n }\n }\n\n if (needsRemount) {\n fiber._debugNeedsRemount = true;\n }\n\n if (needsRemount || needsRender) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n }\n\n if (child !== null && !needsRemount) {\n scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);\n }\n\n if (sibling !== null) {\n scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);\n }\n }\n}\n\nvar findHostInstancesForRefresh = function (root, families) {\n {\n var hostInstances = new Set();\n var types = new Set(families.map(function (family) {\n return family.current;\n }));\n findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);\n return hostInstances;\n }\n};\n\nfunction findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {\n {\n var child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n var didMatch = false;\n\n if (candidateType !== null) {\n if (types.has(candidateType)) {\n didMatch = true;\n }\n }\n\n if (didMatch) {\n // We have a match. This only drills down to the closest host components.\n // There's no need to search deeper because for the purpose of giving\n // visual feedback, \"flashing\" outermost parent rectangles is sufficient.\n findHostInstancesForFiberShallowly(fiber, hostInstances);\n } else {\n // If there's no match, maybe there will be one further down in the child tree.\n if (child !== null) {\n findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);\n }\n }\n\n if (sibling !== null) {\n findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);\n }\n }\n}\n\nfunction findHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);\n\n if (foundHostInstances) {\n return;\n } // If we didn't find any host children, fallback to closest host parent.\n\n\n var node = fiber;\n\n while (true) {\n switch (node.tag) {\n case HostSingleton:\n case HostComponent:\n hostInstances.add(node.stateNode);\n return;\n\n case HostPortal:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n\n case HostRoot:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n }\n\n if (node.return === null) {\n throw new Error('Expected to reach root first.');\n }\n\n node = node.return;\n }\n }\n}\n\nfunction findChildHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var node = fiber;\n var foundHostInstances = false;\n\n while (true) {\n if (node.tag === HostComponent || (node.tag === HostHoistable ) || (node.tag === HostSingleton )) {\n // We got a match.\n foundHostInstances = true;\n hostInstances.add(node.stateNode); // There may still be more, so keep searching.\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === fiber) {\n return foundHostInstances;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === fiber) {\n return foundHostInstances;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n\n return false;\n}\n\nvar hasBadMapPolyfill;\n\n{\n hasBadMapPolyfill = false;\n\n try {\n var nonExtensibleObject = Object.preventExtensions({});\n /* eslint-disable no-new */\n\n new Map([[nonExtensibleObject, null]]);\n new Set([nonExtensibleObject]);\n /* eslint-enable no-new */\n } catch (e) {\n // TODO: Consider warning about bad polyfills\n hasBadMapPolyfill = true;\n }\n}\n\nfunction FiberNode(tag, pendingProps, key, mode) {\n // Instance\n this.tag = tag;\n this.key = key;\n this.elementType = null;\n this.type = null;\n this.stateNode = null; // Fiber\n\n this.return = null;\n this.child = null;\n this.sibling = null;\n this.index = 0;\n this.ref = null;\n this.refCleanup = null;\n this.pendingProps = pendingProps;\n this.memoizedProps = null;\n this.updateQueue = null;\n this.memoizedState = null;\n this.dependencies = null;\n this.mode = mode; // Effects\n\n this.flags = NoFlags$1;\n this.subtreeFlags = NoFlags$1;\n this.deletions = null;\n this.lanes = NoLanes;\n this.childLanes = NoLanes;\n this.alternate = null;\n\n {\n // Note: The following is done to avoid a v8 performance cliff.\n //\n // Initializing the fields below to smis and later updating them with\n // double values will cause Fibers to end up having separate shapes.\n // This behavior/bug has something to do with Object.preventExtension().\n // Fortunately this only impacts DEV builds.\n // Unfortunately it makes React unusably slow for some applications.\n // To work around this, initialize the fields below with doubles.\n //\n // Learn more about this here:\n // https://github.com/facebook/react/issues/14365\n // https://bugs.chromium.org/p/v8/issues/detail?id=8538\n this.actualDuration = Number.NaN;\n this.actualStartTime = Number.NaN;\n this.selfBaseDuration = Number.NaN;\n this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.\n // This won't trigger the performance cliff mentioned above,\n // and it simplifies other profiler code (including DevTools).\n\n this.actualDuration = 0;\n this.actualStartTime = -1;\n this.selfBaseDuration = 0;\n this.treeBaseDuration = 0;\n }\n\n {\n // This isn't directly used but is handy for debugging internals:\n this._debugInfo = null;\n this._debugOwner = null;\n this._debugNeedsRemount = false;\n this._debugHookTypes = null;\n\n if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {\n Object.preventExtensions(this);\n }\n }\n} // This is a constructor function, rather than a POJO constructor, still\n// please ensure we do the following:\n// 1) Nobody should add any instance methods on this. Instance methods can be\n// more difficult to predict when they get optimized and they are almost\n// never inlined properly in static compilers.\n// 2) Nobody should rely on `instanceof Fiber` for type testing. We should\n// always know when it is a fiber.\n// 3) We might want to experiment with using numeric keys since they are easier\n// to optimize in a non-JIT environment.\n// 4) We can easily go from a constructor to a createFiber object literal if that\n// is faster.\n// 5) It should be easy to port this to a C struct and keep a C implementation\n// compatible.\n\n\nfunction createFiber(tag, pendingProps, key, mode) {\n // $FlowFixMe[invalid-constructor]: the shapes are exact here but Flow doesn't like constructors\n return new FiberNode(tag, pendingProps, key, mode);\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction isSimpleFunctionComponent(type) {\n return typeof type === 'function' && !shouldConstruct(type) && type.defaultProps === undefined;\n}\nfunction resolveLazyComponentTag(Component) {\n if (typeof Component === 'function') {\n return shouldConstruct(Component) ? ClassComponent : FunctionComponent;\n } else if (Component !== undefined && Component !== null) {\n var $$typeof = Component.$$typeof;\n\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n return ForwardRef;\n }\n\n if ($$typeof === REACT_MEMO_TYPE) {\n return MemoComponent;\n }\n }\n\n return IndeterminateComponent;\n} // This is used to create an alternate fiber to do work on.\n\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n\n if (workInProgress === null) {\n // We use a double buffering pooling technique because we know that we'll\n // only ever need at most two versions of a tree. We pool the \"other\" unused\n // node that we're free to reuse. This is lazily created to avoid allocating\n // extra objects for things that are never updated. It also allow us to\n // reclaim the extra memory if needed.\n workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);\n workInProgress.elementType = current.elementType;\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n\n {\n // DEV-only fields\n workInProgress._debugOwner = current._debugOwner;\n workInProgress._debugHookTypes = current._debugHookTypes;\n }\n\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // We already have an alternate.\n // Reset the effect tag.\n\n workInProgress.flags = NoFlags$1; // The effects are no longer valid.\n\n workInProgress.subtreeFlags = NoFlags$1;\n workInProgress.deletions = null;\n\n {\n // We intentionally reset, rather than copy, actualDuration & actualStartTime.\n // This prevents time from endlessly accumulating in new commits.\n // This has the downside of resetting values for different priority renders,\n // But works for yielding (the common case) and should support resuming.\n workInProgress.actualDuration = 0;\n workInProgress.actualStartTime = -1;\n }\n } // Reset all effects except static ones.\n // Static effects are not specific to a render.\n\n\n workInProgress.flags = current.flags & StaticMask;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n }; // These will be overridden during the parent's reconciliation\n\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n\n {\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n\n {\n workInProgress._debugInfo = current._debugInfo;\n workInProgress._debugNeedsRemount = current._debugNeedsRemount;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case FunctionComponent:\n case SimpleMemoComponent:\n workInProgress.type = resolveFunctionForHotReloading(current.type);\n break;\n\n case ClassComponent:\n workInProgress.type = resolveClassForHotReloading(current.type);\n break;\n\n case ForwardRef:\n workInProgress.type = resolveForwardRefForHotReloading(current.type);\n break;\n }\n }\n\n return workInProgress;\n} // Used to reuse a Fiber for a second pass.\n\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n // This resets the Fiber to what createFiber or createWorkInProgress would\n // have set the values to before during the first pass. Ideally this wouldn't\n // be necessary but unfortunately many code paths reads from the workInProgress\n // when they should be reading from current and writing to workInProgress.\n // We assume pendingProps, index, key, ref, return are still untouched to\n // avoid doing another reconciliation.\n // Reset the effect flags but keep any Placement tags, since that's something\n // that child fiber is setting, not the reconciliation.\n workInProgress.flags &= StaticMask | Placement; // The effects are no longer valid.\n\n var current = workInProgress.alternate;\n\n if (current === null) {\n // Reset to createFiber's initial values.\n workInProgress.childLanes = NoLanes;\n workInProgress.lanes = renderLanes;\n workInProgress.child = null;\n workInProgress.subtreeFlags = NoFlags$1;\n workInProgress.memoizedProps = null;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.dependencies = null;\n workInProgress.stateNode = null;\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = 0;\n workInProgress.treeBaseDuration = 0;\n }\n } else {\n // Reset to the cloned values that createWorkInProgress would've.\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.subtreeFlags = NoFlags$1;\n workInProgress.deletions = null;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n };\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n }\n\n return workInProgress;\n}\nfunction createHostRootFiber(tag, isStrictMode, concurrentUpdatesByDefaultOverride) {\n var mode;\n\n if (tag === ConcurrentRoot) {\n mode = ConcurrentMode;\n\n if (isStrictMode === true) {\n mode |= StrictLegacyMode | StrictEffectsMode;\n }\n } else {\n mode = NoMode;\n }\n\n if (isDevToolsPresent) {\n // Always collect profile timings when DevTools are present.\n // This enables DevTools to start capturing timing at any point–\n // Without some nodes in the tree having empty base times.\n mode |= ProfileMode;\n }\n\n return createFiber(HostRoot, null, null, mode);\n}\nfunction createFiberFromTypeAndProps(type, // React$ElementType\nkey, pendingProps, owner, mode, lanes) {\n var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.\n\n var resolvedType = type;\n\n if (typeof type === 'function') {\n if (shouldConstruct(type)) {\n fiberTag = ClassComponent;\n\n {\n resolvedType = resolveClassForHotReloading(resolvedType);\n }\n } else {\n {\n resolvedType = resolveFunctionForHotReloading(resolvedType);\n }\n }\n } else if (typeof type === 'string') {\n {\n var hostContext = getHostContext();\n fiberTag = isHostHoistableType(type, pendingProps, hostContext) ? HostHoistable : isHostSingletonType(type) ? HostSingleton : HostComponent;\n }\n } else {\n getTag: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n\n case REACT_STRICT_MODE_TYPE:\n fiberTag = Mode;\n mode |= StrictLegacyMode;\n\n if ((mode & ConcurrentMode) !== NoMode) {\n // Strict effects should never run on legacy roots\n mode |= StrictEffectsMode;\n }\n\n break;\n\n case REACT_PROFILER_TYPE:\n return createFiberFromProfiler(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_TYPE:\n return createFiberFromSuspense(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_LIST_TYPE:\n return createFiberFromSuspenseList(pendingProps, mode, lanes, key);\n\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n\n case REACT_LEGACY_HIDDEN_TYPE:\n\n // Fall through\n\n case REACT_SCOPE_TYPE:\n\n // Fall through\n\n case REACT_CACHE_TYPE:\n {\n return createFiberFromCache(pendingProps, mode, lanes, key);\n }\n\n // Fall through\n\n case REACT_TRACING_MARKER_TYPE:\n\n // Fall through\n\n case REACT_DEBUG_TRACING_MODE_TYPE:\n\n // Fall through\n\n default:\n {\n if (typeof type === 'object' && type !== null) {\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n fiberTag = ContextProvider;\n break getTag;\n }\n\n // Fall through\n\n case REACT_CONTEXT_TYPE:\n {\n fiberTag = ContextConsumer;\n break getTag;\n }\n\n case REACT_CONSUMER_TYPE:\n\n // Fall through\n\n case REACT_FORWARD_REF_TYPE:\n fiberTag = ForwardRef;\n\n {\n resolvedType = resolveForwardRefForHotReloading(resolvedType);\n }\n\n break getTag;\n\n case REACT_MEMO_TYPE:\n fiberTag = MemoComponent;\n break getTag;\n\n case REACT_LAZY_TYPE:\n fiberTag = LazyComponent;\n resolvedType = null;\n break getTag;\n }\n }\n\n var info = '';\n\n {\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and \" + 'named imports.';\n }\n\n var ownerName = owner ? getComponentNameFromFiber(owner) : null;\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n }\n\n throw new Error('Element type is invalid: expected a string (for built-in ' + 'components) or a class/function (for composite components) ' + (\"but got: \" + (type == null ? type : typeof type) + \".\" + info));\n }\n }\n }\n\n var fiber = createFiber(fiberTag, pendingProps, key, mode);\n fiber.elementType = type;\n fiber.type = resolvedType;\n fiber.lanes = lanes;\n\n {\n fiber._debugOwner = owner;\n }\n\n return fiber;\n}\nfunction createFiberFromElement(element, mode, lanes) {\n var owner = null;\n\n {\n owner = element._owner;\n }\n\n var type = element.type;\n var key = element.key;\n var pendingProps = element.props;\n var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes);\n\n {\n fiber._debugOwner = element._owner;\n }\n\n return fiber;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n var fiber = createFiber(Fragment, elements, key, mode);\n fiber.lanes = lanes;\n return fiber;\n}\n\nfunction createFiberFromProfiler(pendingProps, mode, lanes, key) {\n {\n if (typeof pendingProps.id !== 'string') {\n error('Profiler must specify an \"id\" of type `string` as a prop. Received the type `%s` instead.', typeof pendingProps.id);\n }\n }\n\n var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode);\n fiber.elementType = REACT_PROFILER_TYPE;\n fiber.lanes = lanes;\n\n {\n fiber.stateNode = {\n effectDuration: 0,\n passiveEffectDuration: 0\n };\n }\n\n return fiber;\n}\n\nfunction createFiberFromSuspense(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromSuspenseList(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_LIST_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n var fiber = createFiber(OffscreenComponent, pendingProps, key, mode);\n fiber.elementType = REACT_OFFSCREEN_TYPE;\n fiber.lanes = lanes;\n var primaryChildInstance = {\n _visibility: OffscreenVisible,\n _pendingVisibility: OffscreenVisible,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null,\n _current: null,\n detach: function () {\n return detachOffscreenInstance(primaryChildInstance);\n },\n attach: function () {\n return attachOffscreenInstance(primaryChildInstance);\n }\n };\n fiber.stateNode = primaryChildInstance;\n return fiber;\n}\nfunction createFiberFromCache(pendingProps, mode, lanes, key) {\n var fiber = createFiber(CacheComponent, pendingProps, key, mode);\n fiber.elementType = REACT_CACHE_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromText(content, mode, lanes) {\n var fiber = createFiber(HostText, content, null, mode);\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromHostInstanceForDeletion() {\n var fiber = createFiber(HostComponent, null, null, NoMode);\n fiber.elementType = 'DELETED';\n return fiber;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiber(DehydratedFragment, null, null, NoMode);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n var pendingProps = portal.children !== null ? portal.children : [];\n var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);\n fiber.lanes = lanes;\n fiber.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n // Used by persistent updates\n implementation: portal.implementation\n };\n return fiber;\n} // Used for stashing WIP properties to replay failed work in DEV.\n\nfunction assignFiberPropertiesInDEV(target, source) {\n if (target === null) {\n // This Fiber's initial properties will always be overwritten.\n // We only use a Fiber to ensure the same hidden class so DEV isn't slow.\n target = createFiber(IndeterminateComponent, null, null, NoMode);\n } // This is intentionally written as a list of all properties.\n // We tried to use Object.assign() instead but this is called in\n // the hottest path, and Object.assign() was too slow:\n // https://github.com/facebook/react/issues/12502\n // This code is DEV-only so size is not a concern.\n\n\n target.tag = source.tag;\n target.key = source.key;\n target.elementType = source.elementType;\n target.type = source.type;\n target.stateNode = source.stateNode;\n target.return = source.return;\n target.child = source.child;\n target.sibling = source.sibling;\n target.index = source.index;\n target.ref = source.ref;\n target.refCleanup = source.refCleanup;\n target.pendingProps = source.pendingProps;\n target.memoizedProps = source.memoizedProps;\n target.updateQueue = source.updateQueue;\n target.memoizedState = source.memoizedState;\n target.dependencies = source.dependencies;\n target.mode = source.mode;\n target.flags = source.flags;\n target.subtreeFlags = source.subtreeFlags;\n target.deletions = source.deletions;\n target.lanes = source.lanes;\n target.childLanes = source.childLanes;\n target.alternate = source.alternate;\n\n {\n target.actualDuration = source.actualDuration;\n target.actualStartTime = source.actualStartTime;\n target.selfBaseDuration = source.selfBaseDuration;\n target.treeBaseDuration = source.treeBaseDuration;\n }\n\n target._debugInfo = source._debugInfo;\n target._debugOwner = source._debugOwner;\n target._debugNeedsRemount = source._debugNeedsRemount;\n target._debugHookTypes = source._debugHookTypes;\n return target;\n}\n\nfunction FiberRootNode(containerInfo, // $FlowFixMe[missing-local-annot]\ntag, hydrate, identifierPrefix, onRecoverableError, formState) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.pendingChildren = null;\n this.current = null;\n this.pingCache = null;\n this.finishedWork = null;\n this.timeoutHandle = noTimeout;\n this.cancelPendingCommit = null;\n this.context = null;\n this.pendingContext = null;\n this.next = null;\n this.callbackNode = null;\n this.callbackPriority = NoLane;\n this.expirationTimes = createLaneMap(NoTimestamp);\n this.pendingLanes = NoLanes;\n this.suspendedLanes = NoLanes;\n this.pingedLanes = NoLanes;\n this.expiredLanes = NoLanes;\n this.finishedLanes = NoLanes;\n this.errorRecoveryDisabledLanes = NoLanes;\n this.shellSuspendCounter = 0;\n this.entangledLanes = NoLanes;\n this.entanglements = createLaneMap(NoLanes);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onRecoverableError = onRecoverableError;\n\n {\n this.pooledCache = null;\n this.pooledCacheLanes = NoLanes;\n }\n\n this.formState = formState;\n this.incompleteTransitions = new Map();\n\n {\n this.effectDuration = 0;\n this.passiveEffectDuration = 0;\n }\n\n {\n this.memoizedUpdaters = new Set();\n var pendingUpdatersLaneMap = this.pendingUpdatersLaneMap = [];\n\n for (var _i = 0; _i < TotalLanes; _i++) {\n pendingUpdatersLaneMap.push(new Set());\n }\n }\n\n {\n switch (tag) {\n case ConcurrentRoot:\n this._debugRootType = hydrate ? 'hydrateRoot()' : 'createRoot()';\n break;\n\n case LegacyRoot:\n this._debugRootType = hydrate ? 'hydrate()' : 'render()';\n break;\n }\n }\n}\n\nfunction createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, // TODO: We have several of these arguments that are conceptually part of the\n// host config, but because they are passed in at runtime, we have to thread\n// them through the root constructor. Perhaps we should put them all into a\n// single type, like a DynamicHostConfig that is defined by the renderer.\nidentifierPrefix, onRecoverableError, transitionCallbacks, formState) {\n // $FlowFixMe[invalid-constructor] Flow no longer supports calling new on functions\n var root = new FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError, formState);\n // stateNode is any.\n\n\n var uninitializedFiber = createHostRootFiber(tag, isStrictMode);\n root.current = uninitializedFiber;\n uninitializedFiber.stateNode = root;\n\n {\n var initialCache = createCache();\n retainCache(initialCache); // The pooledCache is a fresh cache instance that is used temporarily\n // for newly mounted boundaries during a render. In general, the\n // pooledCache is always cleared from the root at the end of a render:\n // it is either released when render commits, or moved to an Offscreen\n // component if rendering suspends. Because the lifetime of the pooled\n // cache is distinct from the main memoizedState.cache, it must be\n // retained separately.\n\n root.pooledCache = initialCache;\n retainCache(initialCache);\n var initialState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: initialCache\n };\n uninitializedFiber.memoizedState = initialState;\n }\n\n initializeUpdateQueue(uninitializedFiber);\n return root;\n}\n\nvar ReactVersion = '18.3.0-canary-14898b6a9-20240318';\n\nfunction createPortal$1(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.\nimplementation) {\n var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n {\n checkKeyStringCoercion(key);\n }\n\n return {\n // This tag allow us to uniquely identify this as a React Portal\n $$typeof: REACT_PORTAL_TYPE,\n key: key == null ? null : '' + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\n\n// Might add PROFILE later.\n\nvar didWarnAboutNestedUpdates;\nvar didWarnAboutFindNodeInStrictMode;\n\n{\n didWarnAboutNestedUpdates = false;\n didWarnAboutFindNodeInStrictMode = {};\n}\n\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) {\n return emptyContextObject;\n }\n\n var fiber = get(parentComponent);\n var parentContext = findCurrentUnmaskedContext(fiber);\n\n if (fiber.tag === ClassComponent) {\n var Component = fiber.type;\n\n if (isContextProvider(Component)) {\n return processChildContext(fiber, Component, parentContext);\n }\n }\n\n return parentContext;\n}\n\nfunction findHostInstanceWithWarning(component, methodName) {\n {\n var fiber = get(component);\n\n if (fiber === undefined) {\n if (typeof component.render === 'function') {\n throw new Error('Unable to find node on an unmounted component.');\n } else {\n var keys = Object.keys(component).join(',');\n throw new Error(\"Argument appears to not be a ReactComponent. Keys: \" + keys);\n }\n }\n\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n if (hostFiber.mode & StrictLegacyMode) {\n var componentName = getComponentNameFromFiber(fiber) || 'Component';\n\n if (!didWarnAboutFindNodeInStrictMode[componentName]) {\n didWarnAboutFindNodeInStrictMode[componentName] = true;\n var previousFiber = current;\n\n try {\n setCurrentFiber(hostFiber);\n\n if (fiber.mode & StrictLegacyMode) {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n } else {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n }\n } finally {\n // Ideally this should reset to previous but this shouldn't be called in\n // render and there's another warning for that anyway.\n if (previousFiber) {\n setCurrentFiber(previousFiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n\n return getPublicInstance(hostFiber.stateNode);\n }\n}\n\nfunction createContainer(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = false;\n var initialChildren = null;\n return createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks, null);\n}\nfunction createHydrationContainer(initialChildren, // TODO: Remove `callback` when we delete legacy mode.\ncallback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks, formState) {\n var hydrate = true;\n var root = createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks, formState); // TODO: Move this to FiberRoot constructor\n\n root.context = getContextForSubtree(null); // Schedule the initial render. In a hydration root, this is different from\n // a regular update because the initial render must match was was rendered\n // on the server.\n // NOTE: This update intentionally doesn't have a payload. We're only using\n // the update to schedule work on the root fiber (and, for legacy roots, to\n // enqueue the callback if one is provided).\n\n var current = root.current;\n var lane = requestUpdateLane(current);\n var update = createUpdate(lane);\n update.callback = callback !== undefined && callback !== null ? callback : null;\n enqueueUpdate(current, update, lane);\n scheduleInitialHydrationOnRoot(root, lane);\n return root;\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n {\n onScheduleRoot(container, element);\n }\n\n var current$1 = container.current;\n var lane = requestUpdateLane(current$1);\n\n {\n markRenderScheduled(lane);\n }\n\n var context = getContextForSubtree(parentComponent);\n\n if (container.context === null) {\n container.context = context;\n } else {\n container.pendingContext = context;\n }\n\n {\n if (isRendering && current !== null && !didWarnAboutNestedUpdates) {\n didWarnAboutNestedUpdates = true;\n\n error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\\n\\n' + 'Check the render method of %s.', getComponentNameFromFiber(current) || 'Unknown');\n }\n }\n\n var update = createUpdate(lane); // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: element\n };\n callback = callback === undefined ? null : callback;\n\n if (callback !== null) {\n {\n if (typeof callback !== 'function') {\n error('Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\n }\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(current$1, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, current$1, lane);\n entangleTransitions(root, current$1, lane);\n }\n\n return lane;\n}\nfunction getPublicRootInstance(container) {\n var containerFiber = container.current;\n\n if (!containerFiber.child) {\n return null;\n }\n\n switch (containerFiber.child.tag) {\n case HostSingleton:\n case HostComponent:\n return getPublicInstance(containerFiber.child.stateNode);\n\n default:\n return containerFiber.child.stateNode;\n }\n}\nfunction attemptSynchronousHydration(fiber) {\n switch (fiber.tag) {\n case HostRoot:\n {\n var root = fiber.stateNode;\n\n if (isRootDehydrated(root)) {\n // Flush the first scheduled \"update\".\n var lanes = getHighestPriorityPendingLanes(root);\n flushRoot(root, lanes);\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n flushSync$1(function () {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n }); // If we're still blocked after this, we need to increase\n // the priority of any promises resolving within this\n // boundary so that they next attempt also has higher pri.\n\n var retryLane = SyncLane;\n markRetryLaneIfNotHydrated(fiber, retryLane);\n break;\n }\n }\n}\n\nfunction markRetryLaneImpl(fiber, retryLane) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n suspenseState.retryLane = higherPriorityLane(suspenseState.retryLane, retryLane);\n }\n} // Increases the priority of thenables when they resolve within this boundary.\n\n\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n var alternate = fiber.alternate;\n\n if (alternate) {\n markRetryLaneImpl(alternate, retryLane);\n }\n}\n\nfunction attemptContinuousHydration(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority and they should not suspend on I/O,\n // since you have to wrap anything that might suspend in\n // Suspense.\n return;\n }\n\n var lane = SelectiveHydrationLane;\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction attemptHydrationAtCurrentPriority(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority other than synchronously flush it.\n return;\n }\n\n var lane = requestUpdateLane(fiber);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction findHostInstanceWithNoPortals(fiber) {\n var hostFiber = findCurrentHostFiberWithNoPortals(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return getPublicInstance(hostFiber.stateNode);\n}\n\nvar shouldErrorImpl = function (fiber) {\n return null;\n};\n\nfunction shouldError(fiber) {\n return shouldErrorImpl(fiber);\n}\n\nvar shouldSuspendImpl = function (fiber) {\n return false;\n};\n\nfunction shouldSuspend(fiber) {\n return shouldSuspendImpl(fiber);\n}\nvar overrideHookState = null;\nvar overrideHookStateDeletePath = null;\nvar overrideHookStateRenamePath = null;\nvar overrideProps = null;\nvar overridePropsDeletePath = null;\nvar overridePropsRenamePath = null;\nvar scheduleUpdate = null;\nvar setErrorHandler = null;\nvar setSuspenseHandler = null;\n\n{\n var copyWithDeleteImpl = function (obj, path, index) {\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === path.length) {\n if (isArray(updated)) {\n updated.splice(key, 1);\n } else {\n delete updated[key];\n }\n\n return updated;\n } // $FlowFixMe[incompatible-use] number or string is fine here\n\n\n updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);\n return updated;\n };\n\n var copyWithDelete = function (obj, path) {\n return copyWithDeleteImpl(obj, path, 0);\n };\n\n var copyWithRenameImpl = function (obj, oldPath, newPath, index) {\n var oldKey = oldPath[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === oldPath.length) {\n var newKey = newPath[index]; // $FlowFixMe[incompatible-use] number or string is fine here\n\n updated[newKey] = updated[oldKey];\n\n if (isArray(updated)) {\n updated.splice(oldKey, 1);\n } else {\n delete updated[oldKey];\n }\n } else {\n // $FlowFixMe[incompatible-use] number or string is fine here\n updated[oldKey] = copyWithRenameImpl( // $FlowFixMe[incompatible-use] number or string is fine here\n obj[oldKey], oldPath, newPath, index + 1);\n }\n\n return updated;\n };\n\n var copyWithRename = function (obj, oldPath, newPath) {\n if (oldPath.length !== newPath.length) {\n warn('copyWithRename() expects paths of the same length');\n\n return;\n } else {\n for (var i = 0; i < newPath.length - 1; i++) {\n if (oldPath[i] !== newPath[i]) {\n warn('copyWithRename() expects paths to be the same except for the deepest key');\n\n return;\n }\n }\n }\n\n return copyWithRenameImpl(obj, oldPath, newPath, 0);\n };\n\n var copyWithSetImpl = function (obj, path, index, value) {\n if (index >= path.length) {\n return value;\n }\n\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj); // $FlowFixMe[incompatible-use] number or string is fine here\n\n updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);\n return updated;\n };\n\n var copyWithSet = function (obj, path, value) {\n return copyWithSetImpl(obj, path, 0, value);\n };\n\n var findHook = function (fiber, id) {\n // For now, the \"id\" of stateful hooks is just the stateful hook index.\n // This may change in the future with e.g. nested hooks.\n var currentHook = fiber.memoizedState;\n\n while (currentHook !== null && id > 0) {\n currentHook = currentHook.next;\n id--;\n }\n\n return currentHook;\n }; // Support DevTools editable values for useState and useReducer.\n\n\n overrideHookState = function (fiber, id, path, value) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithSet(hook.memoizedState, path, value);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n }\n };\n\n overrideHookStateDeletePath = function (fiber, id, path) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithDelete(hook.memoizedState, path);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n }\n };\n\n overrideHookStateRenamePath = function (fiber, id, oldPath, newPath) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithRename(hook.memoizedState, oldPath, newPath);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n }\n }; // Support DevTools props for function components, forwardRef, memo, host components, etc.\n\n\n overrideProps = function (fiber, path, value) {\n fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n };\n\n overridePropsDeletePath = function (fiber, path) {\n fiber.pendingProps = copyWithDelete(fiber.memoizedProps, path);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n };\n\n overridePropsRenamePath = function (fiber, oldPath, newPath) {\n fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n };\n\n scheduleUpdate = function (fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane);\n }\n };\n\n setErrorHandler = function (newShouldErrorImpl) {\n shouldErrorImpl = newShouldErrorImpl;\n };\n\n setSuspenseHandler = function (newShouldSuspendImpl) {\n shouldSuspendImpl = newShouldSuspendImpl;\n };\n}\n\nfunction findHostInstanceByFiber(fiber) {\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nfunction emptyFindFiberByHostInstance(instance) {\n return null;\n}\n\nfunction getCurrentFiberForDevTools() {\n return current;\n}\n\nfunction injectIntoDevTools(devToolsConfig) {\n var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;\n var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\n return injectInternals({\n bundleType: devToolsConfig.bundleType,\n version: devToolsConfig.version,\n rendererPackageName: devToolsConfig.rendererPackageName,\n rendererConfig: devToolsConfig.rendererConfig,\n overrideHookState: overrideHookState,\n overrideHookStateDeletePath: overrideHookStateDeletePath,\n overrideHookStateRenamePath: overrideHookStateRenamePath,\n overrideProps: overrideProps,\n overridePropsDeletePath: overridePropsDeletePath,\n overridePropsRenamePath: overridePropsRenamePath,\n setErrorHandler: setErrorHandler,\n setSuspenseHandler: setSuspenseHandler,\n scheduleUpdate: scheduleUpdate,\n currentDispatcherRef: ReactCurrentDispatcher,\n findHostInstanceByFiber: findHostInstanceByFiber,\n findFiberByHostInstance: findFiberByHostInstance || emptyFindFiberByHostInstance,\n // React Refresh\n findHostInstancesForRefresh: findHostInstancesForRefresh ,\n scheduleRefresh: scheduleRefresh ,\n scheduleRoot: scheduleRoot ,\n setRefreshHandler: setRefreshHandler ,\n // Enables DevTools to append owner stacks to error messages in DEV mode.\n getCurrentFiber: getCurrentFiberForDevTools ,\n // Enables DevTools to detect reconciler version rather than renderer version\n // which may not match for third party renderers.\n reconcilerVersion: ReactVersion\n });\n}\n\n// the renderer. Such as when we're dispatching events or if third party\n// libraries need to call batchedUpdates. Eventually, this API will go away when\n// everything is batched by default. We'll then have a similar API to opt-out of\n// scheduled work and instead do synchronous work.\n\nvar isInsideEventHandler = false;\n\nfunction finishEventHandler() {\n // Here we wait until all updates have propagated, which is important\n // when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n // Then we restore state of any controlled component.\n var controlledComponentsHavePendingUpdates = needsStateRestore();\n\n if (controlledComponentsHavePendingUpdates) {\n // If a controlled event was fired, we may need to restore the state of\n // the DOM node back to the controlled value. This is necessary when React\n // bails out of the update without touching the DOM.\n // TODO: Restore state in the microtask, after the discrete updates flush,\n // instead of early flushing them here.\n flushSync$1();\n restoreStateIfNeeded();\n }\n}\n\nfunction batchedUpdates(fn, a, b) {\n if (isInsideEventHandler) {\n // If we are currently inside another batch, we need to wait until it\n // fully completes before restoring state.\n return fn(a, b);\n }\n\n isInsideEventHandler = true;\n\n try {\n return batchedUpdates$1(fn, a, b);\n } finally {\n isInsideEventHandler = false;\n finishEventHandler();\n }\n} // TODO: Replace with flushSync\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nfunction shouldPreventMouseEvent(name, type, props) {\n switch (name) {\n case 'onClick':\n case 'onClickCapture':\n case 'onDoubleClick':\n case 'onDoubleClickCapture':\n case 'onMouseDown':\n case 'onMouseDownCapture':\n case 'onMouseMove':\n case 'onMouseMoveCapture':\n case 'onMouseUp':\n case 'onMouseUpCapture':\n case 'onMouseEnter':\n return !!(props.disabled && isInteractive(type));\n\n default:\n return false;\n }\n}\n/**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n\n\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n\n if (stateNode === null) {\n // Work in progress (ex: onload events in incremental mode).\n return null;\n }\n\n var props = getFiberCurrentPropsFromNode(stateNode);\n\n if (props === null) {\n // Work in progress.\n return null;\n }\n\n var listener = props[registrationName];\n\n if (shouldPreventMouseEvent(registrationName, inst.type, props)) {\n return null;\n }\n\n if (listener && typeof listener !== 'function') {\n throw new Error(\"Expected `\" + registrationName + \"` listener to be a function, instead got a value of `\" + typeof listener + \"` type.\");\n }\n\n return listener;\n}\n\nvar passiveBrowserEventsSupported = false; // Check if browser support events with passive listeners\n// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n\nif (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get: function () {\n passiveBrowserEventsSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (e) {\n passiveBrowserEventsSupported = false;\n }\n}\n\n/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)\n // report Enter as charCode 10 when ctrl is pressed.\n\n\n if (charCode === 10) {\n charCode = 13;\n } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n\n\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nfunction functionThatReturnsTrue() {\n return true;\n}\n\nfunction functionThatReturnsFalse() {\n return false;\n} // This is intentionally a factory so that we have different returned constructors.\n// If we had a single constructor, it would be megamorphic and engines would deopt.\n\n\nfunction createSyntheticEvent(Interface) {\n /**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n */\n // $FlowFixMe[missing-this-annot]\n function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n\n for (var propName in Interface) {\n if (!Interface.hasOwnProperty(propName)) {\n continue;\n }\n\n var normalize = Interface[propName];\n\n if (normalize) {\n this[propName] = normalize(nativeEvent);\n } else {\n this[propName] = nativeEvent[propName];\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n\n if (defaultPrevented) {\n this.isDefaultPrevented = functionThatReturnsTrue;\n } else {\n this.isDefaultPrevented = functionThatReturnsFalse;\n }\n\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n assign(SyntheticBaseEvent.prototype, {\n // $FlowFixMe[missing-this-annot]\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault(); // $FlowFixMe[illegal-typeof] - flow is not aware of `unknown` in IE\n } else if (typeof event.returnValue !== 'unknown') {\n event.returnValue = false;\n }\n\n this.isDefaultPrevented = functionThatReturnsTrue;\n },\n // $FlowFixMe[missing-this-annot]\n stopPropagation: function () {\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation(); // $FlowFixMe[illegal-typeof] - flow is not aware of `unknown` in IE\n } else if (typeof event.cancelBubble !== 'unknown') {\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = functionThatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {// Modern event system doesn't use pooling.\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n};\nvar SyntheticEvent = createSyntheticEvent(EventInterface);\n\nvar UIEventInterface = assign({}, EventInterface, {\n view: 0,\n detail: 0\n});\n\nvar SyntheticUIEvent = createSyntheticEvent(UIEventInterface);\nvar lastMovementX;\nvar lastMovementY;\nvar lastMouseEvent;\n\nfunction updateMouseMovementPolyfillState(event) {\n if (event !== lastMouseEvent) {\n if (lastMouseEvent && event.type === 'mousemove') {\n // $FlowFixMe[unsafe-arithmetic] assuming this is a number\n lastMovementX = event.screenX - lastMouseEvent.screenX; // $FlowFixMe[unsafe-arithmetic] assuming this is a number\n\n lastMovementY = event.screenY - lastMouseEvent.screenY;\n } else {\n lastMovementX = 0;\n lastMovementY = 0;\n }\n\n lastMouseEvent = event;\n }\n}\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n if (event.relatedTarget === undefined) return event.fromElement === event.srcElement ? event.toElement : event.fromElement;\n return event.relatedTarget;\n },\n movementX: function (event) {\n if ('movementX' in event) {\n return event.movementX;\n }\n\n updateMouseMovementPolyfillState(event);\n return lastMovementX;\n },\n movementY: function (event) {\n if ('movementY' in event) {\n return event.movementY;\n } // Don't need to call updateMouseMovementPolyfillState() here\n // because it's guaranteed to have already run when movementX\n // was copied.\n\n\n return lastMovementY;\n }\n});\n\nvar SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface);\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar DragEventInterface = assign({}, MouseEventInterface, {\n dataTransfer: 0\n});\n\nvar SyntheticDragEvent = createSyntheticEvent(DragEventInterface);\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar FocusEventInterface = assign({}, UIEventInterface, {\n relatedTarget: 0\n});\n\nvar SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n */\n\nvar AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\n\nvar ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n});\n\nvar SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\n\nvar CompositionEventInterface = assign({}, EventInterface, {\n data: 0\n});\n\nvar SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\n// Happens to share the same list for now.\n\nvar SyntheticInputEvent = SyntheticCompositionEvent;\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar normalizeKey = {\n Esc: 'Escape',\n Spacebar: ' ',\n Left: 'ArrowLeft',\n Up: 'ArrowUp',\n Right: 'ArrowRight',\n Down: 'ArrowDown',\n Del: 'Delete',\n Win: 'OS',\n Menu: 'ContextMenu',\n Apps: 'ContextMenu',\n Scroll: 'ScrollLock',\n MozPrintableKey: 'Unidentified'\n};\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar translateToKey = {\n '8': 'Backspace',\n '9': 'Tab',\n '12': 'Clear',\n '13': 'Enter',\n '16': 'Shift',\n '17': 'Control',\n '18': 'Alt',\n '19': 'Pause',\n '20': 'CapsLock',\n '27': 'Escape',\n '32': ' ',\n '33': 'PageUp',\n '34': 'PageDown',\n '35': 'End',\n '36': 'Home',\n '37': 'ArrowLeft',\n '38': 'ArrowUp',\n '39': 'ArrowRight',\n '40': 'ArrowDown',\n '45': 'Insert',\n '46': 'Delete',\n '112': 'F1',\n '113': 'F2',\n '114': 'F3',\n '115': 'F4',\n '116': 'F5',\n '117': 'F6',\n '118': 'F7',\n '119': 'F8',\n '120': 'F9',\n '121': 'F10',\n '122': 'F11',\n '123': 'F12',\n '144': 'NumLock',\n '145': 'ScrollLock',\n '224': 'Meta'\n};\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\n\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = // $FlowFixMe[invalid-computed-prop] unable to index with a `mixed` value\n normalizeKey[nativeEvent.key] || nativeEvent.key;\n\n if (key !== 'Unidentified') {\n return key;\n }\n } // Browser does not implement `key`, polyfill as much of it as we can.\n\n\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode( // $FlowFixMe[incompatible-call] unable to narrow to `KeyboardEvent`\n nativeEvent); // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n // $FlowFixMe[invalid-computed-prop] unable to index with a `mixed` value\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n\n return '';\n}\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\n\nvar modifierKeyToProp = {\n Alt: 'altKey',\n Control: 'ctrlKey',\n Meta: 'metaKey',\n Shift: 'shiftKey'\n}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support\n// getModifierState. If getModifierState is not supported, we map it to a set of\n// modifier keys exposed by the event. In this case, Lock-keys are not supported.\n// $FlowFixMe[missing-local-annot]\n// $FlowFixMe[missing-this-annot]\n\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: getEventKey,\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function (event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode( // $FlowFixMe[incompatible-call] unable to narrow to `KeyboardEvent`\n event);\n }\n\n return 0;\n },\n keyCode: function (event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n },\n which: function (event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode( // $FlowFixMe[incompatible-call] unable to narrow to `KeyboardEvent`\n event);\n }\n\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n }\n});\n\nvar SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface);\n/**\n * @interface PointerEvent\n * @see http://www.w3.org/TR/pointerevents/\n */\n\nvar PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n});\n\nvar SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface);\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\n\nvar TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n});\n\nvar SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n */\n\nvar TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface);\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? // $FlowFixMe[unsafe-arithmetic] assuming this is a number\n -event.wheelDeltaX : 0;\n },\n deltaY: function (event) {\n return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? // $FlowFixMe[unsafe-arithmetic] assuming this is a number\n -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? // $FlowFixMe[unsafe-arithmetic] assuming this is a number\n -event.wheelDelta : 0;\n },\n deltaZ: 0,\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: 0\n});\n\nvar SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface);\n\n/**\n * This plugin invokes action functions on forms, inputs and buttons if\n * the form doesn't prevent default.\n */\n\nfunction extractEvents$6(dispatchQueue, domEventName, maybeTargetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n if (domEventName !== 'submit') {\n return;\n }\n\n if (!maybeTargetInst || maybeTargetInst.stateNode !== nativeEventTarget) {\n // If we're inside a parent root that itself is a parent of this root, then\n // its deepest target won't be the actual form that's being submitted.\n return;\n }\n\n var formInst = maybeTargetInst;\n var form = nativeEventTarget;\n var action = getFiberCurrentPropsFromNode(form).action;\n var submitter = nativeEvent.submitter;\n var submitterAction;\n\n if (submitter) {\n var submitterProps = getFiberCurrentPropsFromNode(submitter);\n submitterAction = submitterProps ? submitterProps.formAction : submitter.getAttribute('formAction');\n\n if (submitterAction != null) {\n // The submitter overrides the form action.\n action = submitterAction; // If the action is a function, we don't want to pass its name\n // value to the FormData since it's controlled by the server.\n\n submitter = null;\n }\n }\n\n if (typeof action !== 'function') {\n return;\n }\n\n var event = new SyntheticEvent('action', 'action', null, nativeEvent, nativeEventTarget);\n\n function submitForm() {\n if (nativeEvent.defaultPrevented) {\n // We let earlier events to prevent the action from submitting.\n return;\n } // Prevent native navigation.\n\n\n event.preventDefault();\n var formData;\n\n if (submitter) {\n // The submitter's value should be included in the FormData.\n // It should be in the document order in the form.\n // Since the FormData constructor invokes the formdata event it also\n // needs to be available before that happens so after construction it's too\n // late. We use a temporary fake node for the duration of this event.\n // TODO: FormData takes a second argument that it's the submitter but this\n // is fairly new so not all browsers support it yet. Switch to that technique\n // when available.\n var temp = submitter.ownerDocument.createElement('input');\n temp.name = submitter.name;\n temp.value = submitter.value;\n submitter.parentNode.insertBefore(temp, submitter);\n formData = new FormData(form);\n temp.parentNode.removeChild(temp);\n } else {\n formData = new FormData(form);\n }\n\n var pendingState = {\n pending: true,\n data: formData,\n method: form.method,\n action: action\n };\n\n {\n Object.freeze(pendingState);\n }\n\n startHostTransition(formInst, pendingState, action, formData);\n }\n\n dispatchQueue.push({\n event: event,\n listeners: [{\n instance: null,\n listener: submitForm,\n currentTarget: form\n }]\n });\n}\nfunction dispatchReplayedFormAction(formInst, form, action, formData) {\n var pendingState = {\n pending: true,\n data: formData,\n method: form.method,\n action: action\n };\n\n {\n Object.freeze(pendingState);\n }\n\n startHostTransition(formInst, pendingState, action, formData);\n}\n\n// has this definition built-in.\n\nvar hasScheduledReplayAttempt = false; // The last of each continuous event type. We only need to replay the last one\n// if the last target was dehydrated.\n\nvar queuedFocus = null;\nvar queuedDrag = null;\nvar queuedMouse = null; // For pointer events there can be one latest event per pointerId.\n\nvar queuedPointers = new Map();\nvar queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too.\n\nvar queuedExplicitHydrationTargets = [];\nvar discreteReplayableEvents = ['mousedown', 'mouseup', 'touchcancel', 'touchend', 'touchstart', 'auxclick', 'dblclick', 'pointercancel', 'pointerdown', 'pointerup', 'dragend', 'dragstart', 'drop', 'compositionend', 'compositionstart', 'keydown', 'keypress', 'keyup', 'input', 'textInput', // Intentionally camelCase\n'copy', 'cut', 'paste', 'click', 'change', 'contextmenu', 'reset' // 'submit', // stopPropagation blocks the replay mechanism\n];\nfunction isDiscreteEventThatRequiresHydration(eventType) {\n return discreteReplayableEvents.indexOf(eventType) > -1;\n}\n\nfunction createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n return {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n };\n} // Resets the replaying for this type of continuous event to no event.\n\n\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'focusin':\n case 'focusout':\n queuedFocus = null;\n break;\n\n case 'dragenter':\n case 'dragleave':\n queuedDrag = null;\n break;\n\n case 'mouseover':\n case 'mouseout':\n queuedMouse = null;\n break;\n\n case 'pointerover':\n case 'pointerout':\n {\n var pointerId = nativeEvent.pointerId;\n queuedPointers.delete(pointerId);\n break;\n }\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n {\n var _pointerId = nativeEvent.pointerId;\n queuedPointerCaptures.delete(_pointerId);\n break;\n }\n }\n}\n\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) {\n var queuedEvent = createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn !== null) {\n var fiber = getInstanceFromNode(blockedOn);\n\n if (fiber !== null) {\n // Attempt to increase the priority of this target.\n attemptContinuousHydration(fiber);\n }\n }\n\n return queuedEvent;\n } // If we have already queued this exact event, then it's because\n // the different event systems have different DOM event listeners.\n // We can accumulate the flags, and the targetContainers, and\n // store a single event to be replayed.\n\n\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n var targetContainers = existingQueuedEvent.targetContainers;\n\n if (targetContainer !== null && targetContainers.indexOf(targetContainer) === -1) {\n targetContainers.push(targetContainer);\n }\n\n return existingQueuedEvent;\n}\n\nfunction queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // These set relatedTarget to null because the replayed event will be treated as if we\n // moved from outside the window (no target) onto the target once it hydrates.\n // Instead of mutating we could clone the event.\n switch (domEventName) {\n case 'focusin':\n {\n var focusEvent = nativeEvent;\n queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, domEventName, eventSystemFlags, targetContainer, focusEvent);\n return true;\n }\n\n case 'dragenter':\n {\n var dragEvent = nativeEvent;\n queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, domEventName, eventSystemFlags, targetContainer, dragEvent);\n return true;\n }\n\n case 'mouseover':\n {\n var mouseEvent = nativeEvent;\n queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, domEventName, eventSystemFlags, targetContainer, mouseEvent);\n return true;\n }\n\n case 'pointerover':\n {\n var pointerEvent = nativeEvent;\n var pointerId = pointerEvent.pointerId;\n queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, pointerEvent));\n return true;\n }\n\n case 'gotpointercapture':\n {\n var _pointerEvent = nativeEvent;\n var _pointerId2 = _pointerEvent.pointerId;\n queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, _pointerEvent));\n return true;\n }\n }\n\n return false;\n} // Check if this target is unblocked. Returns true if it's unblocked.\n\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n // TODO: This function shares a lot of logic with findInstanceBlockingEvent.\n // Try to unify them. It's a bit tricky since it would require two return\n // values.\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted !== null) {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // We're blocked on hydrating this boundary.\n // Increase its priority.\n queuedTarget.blockedOn = instance;\n runWithPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of\n // a root other than sync.\n\n return;\n }\n }\n }\n }\n\n queuedTarget.blockedOn = null;\n}\n\nfunction queueExplicitHydrationTarget(target) {\n // TODO: This will read the priority if it's dispatched by the React\n // event system but not native events. Should read window.event.type, like\n // we do for updates (getCurrentEventPriority).\n var updatePriority = getCurrentUpdatePriority();\n var queuedTarget = {\n blockedOn: null,\n target: target,\n priority: updatePriority\n };\n var i = 0;\n\n for (; i < queuedExplicitHydrationTargets.length; i++) {\n // Stop once we hit the first target with lower priority than\n if (!isHigherEventPriority(updatePriority, queuedExplicitHydrationTargets[i].priority)) {\n break;\n }\n }\n\n queuedExplicitHydrationTargets.splice(i, 0, queuedTarget);\n\n if (i === 0) {\n attemptExplicitHydrationTarget(queuedTarget);\n }\n}\n\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (queuedEvent.blockedOn !== null) {\n return false;\n }\n\n var targetContainers = queuedEvent.targetContainers;\n\n while (targetContainers.length > 0) {\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);\n\n if (nextBlockedOn === null) {\n var nativeEvent = queuedEvent.nativeEvent;\n var nativeEventClone = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n setReplayingEvent(nativeEventClone);\n nativeEvent.target.dispatchEvent(nativeEventClone);\n resetReplayingEvent();\n } else {\n // We're still blocked. Try again later.\n var fiber = getInstanceFromNode(nextBlockedOn);\n\n if (fiber !== null) {\n attemptContinuousHydration(fiber);\n }\n\n queuedEvent.blockedOn = nextBlockedOn;\n return false;\n } // This target container was successfully dispatched. Try the next.\n\n\n targetContainers.shift();\n }\n\n return true;\n}\n\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n if (attemptReplayContinuousQueuedEvent(queuedEvent)) {\n map.delete(key);\n }\n}\n\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = false; // Replay any continuous events.\n\n if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) {\n queuedFocus = null;\n }\n\n if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) {\n queuedDrag = null;\n }\n\n if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) {\n queuedMouse = null;\n }\n\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\n\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n\n if (!hasScheduledReplayAttempt) {\n hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are\n // now unblocked. This first might not actually be unblocked yet.\n // We could check it early to avoid scheduling an unnecessary callback.\n\n Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents);\n }\n }\n} // [form, submitter or action, formData...]\n\n\nvar lastScheduledReplayQueue = null;\n\nfunction replayUnblockedFormActions(formReplayingQueue) {\n if (lastScheduledReplayQueue === formReplayingQueue) {\n lastScheduledReplayQueue = null;\n }\n\n for (var i = 0; i < formReplayingQueue.length; i += 3) {\n var form = formReplayingQueue[i];\n var submitterOrAction = formReplayingQueue[i + 1];\n var formData = formReplayingQueue[i + 2];\n\n if (typeof submitterOrAction !== 'function') {\n // This action is not hydrated yet. This might be because it's blocked on\n // a different React instance or higher up our tree.\n var blockedOn = findInstanceBlockingTarget(submitterOrAction || form);\n\n if (blockedOn === null) {\n // We're not blocked but we don't have an action. This must mean that\n // this is in another React instance. We'll just skip past it.\n continue;\n } else {\n // We're blocked on something in this React instance. We'll retry later.\n break;\n }\n }\n\n var formInst = getInstanceFromNode(form);\n\n if (formInst !== null) {\n // This is part of our instance.\n // We're ready to replay this. Let's delete it from the queue.\n formReplayingQueue.splice(i, 3);\n i -= 3;\n dispatchReplayedFormAction(formInst, form, submitterOrAction, formData); // Continue without incrementing the index.\n\n continue;\n } // This form must've been part of a different React instance.\n // If we want to preserve ordering between React instances on the same root\n // we'd need some way for the other instance to ping us when it's done.\n // We'll just skip this and let the other instance execute it.\n\n }\n}\n\nfunction scheduleReplayQueueIfNeeded(formReplayingQueue) {\n // Schedule a callback to execute any unblocked form actions in.\n // We only keep track of the last queue which means that if multiple React oscillate\n // commits, we could schedule more callbacks than necessary but it's not a big deal\n // and we only really except one instance.\n if (lastScheduledReplayQueue !== formReplayingQueue) {\n lastScheduledReplayQueue = formReplayingQueue;\n Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, function () {\n return replayUnblockedFormActions(formReplayingQueue);\n });\n }\n}\n\nfunction retryIfBlockedOn(unblocked) {\n if (queuedFocus !== null) {\n scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n }\n\n if (queuedDrag !== null) {\n scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n }\n\n if (queuedMouse !== null) {\n scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n }\n\n var unblock = function (queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n };\n\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n\n for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {\n var queuedTarget = queuedExplicitHydrationTargets[i];\n\n if (queuedTarget.blockedOn === unblocked) {\n queuedTarget.blockedOn = null;\n }\n }\n\n while (queuedExplicitHydrationTargets.length > 0) {\n var nextExplicitTarget = queuedExplicitHydrationTargets[0];\n\n if (nextExplicitTarget.blockedOn !== null) {\n // We're still blocked.\n break;\n } else {\n attemptExplicitHydrationTarget(nextExplicitTarget);\n\n if (nextExplicitTarget.blockedOn === null) {\n // We're unblocked.\n queuedExplicitHydrationTargets.shift();\n }\n }\n }\n\n {\n // Check the document if there are any queued form actions.\n // If there's no ownerDocument, then this is the document.\n var root = unblocked.ownerDocument || unblocked;\n var formReplayingQueue = root.$$reactFormReplay;\n\n if (formReplayingQueue != null) {\n for (var _i = 0; _i < formReplayingQueue.length; _i += 3) {\n var form = formReplayingQueue[_i];\n var submitterOrAction = formReplayingQueue[_i + 1];\n var formProps = getFiberCurrentPropsFromNode(form);\n\n if (typeof submitterOrAction === 'function') {\n // This action has already resolved. We're just waiting to dispatch it.\n if (!formProps) {\n // This was not part of this React instance. It might have been recently\n // unblocking us from dispatching our events. So let's make sure we schedule\n // a retry.\n scheduleReplayQueueIfNeeded(formReplayingQueue);\n }\n\n continue;\n }\n\n var target = form;\n\n if (formProps) {\n // This form belongs to this React instance but the submitter might\n // not be done yet.\n var action = null;\n var submitter = submitterOrAction;\n\n if (submitter && submitter.hasAttribute('formAction')) {\n // The submitter is the one that is responsible for the action.\n target = submitter;\n var submitterProps = getFiberCurrentPropsFromNode(submitter);\n\n if (submitterProps) {\n // The submitter is part of this instance.\n action = submitterProps.formAction;\n } else {\n var blockedOn = findInstanceBlockingTarget(target);\n\n if (blockedOn !== null) {\n // The submitter is not hydrated yet. We'll wait for it.\n continue;\n } // The submitter must have been a part of a different React instance.\n // Except the form isn't. We don't dispatch actions in this scenario.\n\n }\n } else {\n action = formProps.action;\n }\n\n if (typeof action === 'function') {\n formReplayingQueue[_i + 1] = action;\n } else {\n // Something went wrong so let's just delete this action.\n formReplayingQueue.splice(_i, 3);\n _i -= 3;\n } // Schedule a replay in case this unblocked something.\n\n\n scheduleReplayQueueIfNeeded(formReplayingQueue);\n continue;\n } // Something above this target is still blocked so we can't continue yet.\n // We're not sure if this target is actually part of this React instance\n // yet. It could be a different React as a child but at least some parent is.\n // We must continue for any further queued actions.\n\n }\n }\n }\n}\n\nvar ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig; // TODO: can we stop exporting these?\n\nvar _enabled = true; // This is exported in FB builds for use by legacy FB layer infra.\n// We'd like to remove this but it's not clear if this is safe.\n\nfunction setEnabled(enabled) {\n _enabled = !!enabled;\n}\nfunction isEnabled() {\n return _enabled;\n}\nfunction createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags) {\n var eventPriority = getEventPriority(domEventName);\n var listenerWrapper;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n listenerWrapper = dispatchDiscreteEvent;\n break;\n\n case ContinuousEventPriority:\n listenerWrapper = dispatchContinuousEvent;\n break;\n\n case DefaultEventPriority:\n default:\n listenerWrapper = dispatchEvent;\n break;\n }\n\n return listenerWrapper.bind(null, domEventName, eventSystemFlags, targetContainer);\n}\n\nfunction dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(DiscreteEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(ContinuousEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (!_enabled) {\n return;\n }\n\n var blockedOn = findInstanceBlockingEvent(nativeEvent);\n\n if (blockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n clearIfContinuousEvent(domEventName, nativeEvent);\n return;\n }\n\n if (queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent)) {\n nativeEvent.stopPropagation();\n return;\n } // We need to clear only if we didn't queue because\n // queueing is accumulative.\n\n\n clearIfContinuousEvent(domEventName, nativeEvent);\n\n if (eventSystemFlags & IS_CAPTURE_PHASE && isDiscreteEventThatRequiresHydration(domEventName)) {\n while (blockedOn !== null) {\n var fiber = getInstanceFromNode(blockedOn);\n\n if (fiber !== null) {\n attemptSynchronousHydration(fiber);\n }\n\n var nextBlockedOn = findInstanceBlockingEvent(nativeEvent);\n\n if (nextBlockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n }\n\n if (nextBlockedOn === blockedOn) {\n break;\n }\n\n blockedOn = nextBlockedOn;\n }\n\n if (blockedOn !== null) {\n nativeEvent.stopPropagation();\n }\n\n return;\n } // This is not replayable so we'll invoke it but without a target,\n // in case the event system needs to trace it.\n\n\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, null, targetContainer);\n}\nfunction findInstanceBlockingEvent(nativeEvent) {\n var nativeEventTarget = getEventTarget(nativeEvent);\n return findInstanceBlockingTarget(nativeEventTarget);\n}\nvar return_targetInst = null; // Returns a SuspenseInstance or Container if it's blocked.\n// The return_targetInst field above is conceptually part of the return value.\n\nfunction findInstanceBlockingTarget(targetNode) {\n // TODO: Warn if _enabled is false.\n return_targetInst = null;\n var targetInst = getClosestInstanceFromNode(targetNode);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted === null) {\n // This tree has been unmounted already. Dispatch without a target.\n targetInst = null;\n } else {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // Queue the event to be replayed later. Abort dispatching since we\n // don't want this event dispatched twice through the event system.\n // TODO: If this is the first discrete event in the queue. Schedule an increased\n // priority for this boundary.\n return instance;\n } // This shouldn't happen, something went wrong but to avoid blocking\n // the whole system, dispatch the event without a target.\n // TODO: Warn.\n\n\n targetInst = null;\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n // If this happens during a replay something went wrong and it might block\n // the whole system.\n return getContainerFromFiber(nearestMounted);\n }\n\n targetInst = null;\n } else if (nearestMounted !== targetInst) {\n // If we get an event (ex: img onload) before committing that\n // component's mount, ignore it for now (that is, treat it as if it was an\n // event on a non-React tree). We might also consider queueing events and\n // dispatching them after the mount.\n targetInst = null;\n }\n }\n }\n\n return_targetInst = targetInst; // We're not blocked on anything.\n\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n // Used by SimpleEventPlugin:\n case 'cancel':\n case 'click':\n case 'close':\n case 'contextmenu':\n case 'copy':\n case 'cut':\n case 'auxclick':\n case 'dblclick':\n case 'dragend':\n case 'dragstart':\n case 'drop':\n case 'focusin':\n case 'focusout':\n case 'input':\n case 'invalid':\n case 'keydown':\n case 'keypress':\n case 'keyup':\n case 'mousedown':\n case 'mouseup':\n case 'paste':\n case 'pause':\n case 'play':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointerup':\n case 'ratechange':\n case 'reset':\n case 'resize':\n case 'seeked':\n case 'submit':\n case 'touchcancel':\n case 'touchend':\n case 'touchstart':\n case 'volumechange': // Used by polyfills: (fall through)\n\n case 'change':\n case 'selectionchange':\n case 'textInput':\n case 'compositionstart':\n case 'compositionend':\n case 'compositionupdate': // Only enableCreateEventHandleAPI: (fall through)\n\n case 'beforeblur':\n case 'afterblur': // Not used by React but could be by user code: (fall through)\n\n case 'beforeinput':\n case 'blur':\n case 'fullscreenchange':\n case 'focus':\n case 'hashchange':\n case 'popstate':\n case 'select':\n case 'selectstart':\n return DiscreteEventPriority;\n\n case 'drag':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'mousemove':\n case 'mouseout':\n case 'mouseover':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'scroll':\n case 'toggle':\n case 'touchmove':\n case 'wheel': // Not used by React but could be by user code: (fall through)\n\n case 'mouseenter':\n case 'mouseleave':\n case 'pointerenter':\n case 'pointerleave':\n return ContinuousEventPriority;\n\n case 'message':\n {\n // We might be in the Scheduler callback.\n // Eventually this mechanism will be replaced by a check\n // of the current priority on the native scheduler.\n var schedulerPriority = getCurrentPriorityLevel();\n\n switch (schedulerPriority) {\n case ImmediatePriority:\n return DiscreteEventPriority;\n\n case UserBlockingPriority:\n return ContinuousEventPriority;\n\n case NormalPriority$1:\n case LowPriority:\n // TODO: Handle LowSchedulerPriority, somehow. Maybe the same lane as hydration.\n return DefaultEventPriority;\n\n case IdlePriority:\n return IdleEventPriority;\n\n default:\n return DefaultEventPriority;\n }\n }\n\n default:\n return DefaultEventPriority;\n }\n}\n\nfunction addEventBubbleListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, false);\n return listener;\n}\nfunction addEventCaptureListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, true);\n return listener;\n}\nfunction addEventCaptureListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n capture: true,\n passive: passive\n });\n return listener;\n}\nfunction addEventBubbleListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n passive: passive\n });\n return listener;\n}\n\n/**\n * These variables store information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n *\n */\nvar root = null;\nvar startText = null;\nvar fallbackText = null;\nfunction initialize(nativeEventTarget) {\n root = nativeEventTarget;\n startText = getText();\n return true;\n}\nfunction reset() {\n root = null;\n startText = null;\n fallbackText = null;\n}\nfunction getData() {\n if (fallbackText) {\n return fallbackText;\n }\n\n var start;\n var startValue = startText;\n var startLength = startValue.length;\n var end;\n var endValue = getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n fallbackText = endValue.slice(start, sliceTail);\n return fallbackText;\n}\nfunction getText() {\n if ('value' in root) {\n return root.value;\n }\n\n return root.textContent;\n}\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\n\nvar START_KEYCODE = 229;\nvar canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;\nvar documentMode = null;\n\nif (canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n} // Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\n\n\nvar canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\n\nvar useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\nfunction registerEvents$3() {\n registerTwoPhaseEvent('onBeforeInput', ['compositionend', 'keypress', 'textInput', 'paste']);\n registerTwoPhaseEvent('onCompositionEnd', ['compositionend', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionStart', ['compositionstart', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionUpdate', ['compositionupdate', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n} // Track whether we've ever handled a keypress on the space key.\n\n\nvar hasSpaceKeypress = false;\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\n\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n/**\n * Translate native top level events into event types.\n */\n\n\nfunction getCompositionEventType(domEventName) {\n switch (domEventName) {\n case 'compositionstart':\n return 'onCompositionStart';\n\n case 'compositionend':\n return 'onCompositionEnd';\n\n case 'compositionupdate':\n return 'onCompositionUpdate';\n }\n}\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n */\n\n\nfunction isFallbackCompositionStart(domEventName, nativeEvent) {\n return domEventName === 'keydown' && nativeEvent.keyCode === START_KEYCODE;\n}\n/**\n * Does our fallback mode think that this event is the end of composition?\n */\n\n\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'keyup':\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n\n case 'keydown':\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n\n case 'keypress':\n case 'mousedown':\n case 'focusout':\n // Events are not possible without cancelling IME.\n return true;\n\n default:\n return false;\n }\n}\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\n\n\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n\n return null;\n}\n/**\n * Check if a composition event was triggered by Korean IME.\n * Our fallback mode does not work well with IE's Korean IME,\n * so just use native composition events when Korean IME is used.\n * Although CompositionEvent.locale property is deprecated,\n * it is available in IE, where our fallback mode is enabled.\n *\n * @param {object} nativeEvent\n * @return {boolean}\n */\n\n\nfunction isUsingKoreanIME(nativeEvent) {\n return nativeEvent.locale === 'ko';\n} // Track the current IME composition status, if any.\n\n\nvar isComposing = false;\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\n\nfunction extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(domEventName);\n } else if (!isComposing) {\n if (isFallbackCompositionStart(domEventName, nativeEvent)) {\n eventType = 'onCompositionStart';\n }\n } else if (isFallbackCompositionEnd(domEventName, nativeEvent)) {\n eventType = 'onCompositionEnd';\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!isComposing && eventType === 'onCompositionStart') {\n isComposing = initialize(nativeEventTarget);\n } else if (eventType === 'onCompositionEnd') {\n if (isComposing) {\n fallbackData = getData();\n }\n }\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, eventType);\n\n if (listeners.length > 0) {\n var event = new SyntheticCompositionEvent(eventType, domEventName, null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n // $FlowFixMe[incompatible-use]\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n\n if (customData !== null) {\n // $FlowFixMe[incompatible-use]\n event.data = customData;\n }\n }\n }\n}\n\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'compositionend':\n return getDataFromCustomEvent(nativeEvent);\n\n case 'keypress':\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case 'textInput':\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to ignore it.\n\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n */\n\n\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n // If composition event is available, we extract a string only at\n // compositionevent, otherwise extract it at fallback events.\n if (isComposing) {\n if (domEventName === 'compositionend' || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent)) {\n var chars = getData();\n reset();\n isComposing = false;\n return chars;\n }\n\n return null;\n }\n\n switch (domEventName) {\n case 'paste':\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n\n case 'keypress':\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (!isKeypressCommand(nativeEvent)) {\n // IE fires the `keypress` event when a user types an emoji via\n // Touch keyboard of Windows. In such a case, the `char` property\n // holds an emoji character like `\\uD83D\\uDE0A`. Because its length\n // is 2, the property `which` does not represent an emoji correctly.\n // In such a case, we directly return the `char` property instead of\n // using `which`.\n if (nativeEvent.char && nativeEvent.char.length > 1) {\n return nativeEvent.char;\n } else if (nativeEvent.which) {\n return String.fromCharCode(nativeEvent.which);\n }\n }\n\n return null;\n\n case 'compositionend':\n return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;\n\n default:\n return null;\n }\n}\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\n\n\nfunction extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(domEventName, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(domEventName, nativeEvent);\n } // If no characters are being inserted, no BeforeInput event should\n // be fired.\n\n\n if (!chars) {\n return null;\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, 'onBeforeInput');\n\n if (listeners.length > 0) {\n var event = new SyntheticInputEvent('onBeforeInput', 'beforeinput', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n }); // $FlowFixMe[incompatible-use]\n\n event.data = chars;\n }\n}\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\n\n\nfunction extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n}\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\nvar supportedInputTypes = {\n color: true,\n date: true,\n datetime: true,\n 'datetime-local': true,\n email: true,\n month: true,\n number: true,\n password: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\n\nfunction isEventSupported(eventNameSuffix) {\n if (!canUseDOM) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n return isSupported;\n}\n\nfunction registerEvents$2() {\n registerTwoPhaseEvent('onChange', ['change', 'click', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'selectionchange']);\n}\n\nfunction createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) {\n // Flag this event loop as needing state restore.\n enqueueStateRestore(target);\n var listeners = accumulateTwoPhaseListeners(inst, 'onChange');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onChange', 'change', null, nativeEvent, target);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n}\n/**\n * For IE shims\n */\n\n\nvar activeElement$1 = null;\nvar activeElementInst$1 = null;\n/**\n * SECTION: handle `change` event\n */\n\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(dispatchQueue, activeElementInst$1, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n\n batchedUpdates(runEventInBatch, dispatchQueue);\n}\n\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\n\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n\n if (updateValueIfChanged(targetNode)) {\n return targetInst;\n }\n}\n\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (domEventName === 'change') {\n return targetInst;\n }\n}\n/**\n * SECTION: handle `input` event\n */\n\n\nvar isInputEventSupported = false;\n\nif (canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);\n}\n/**\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\n\n\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement$1 = target;\n activeElementInst$1 = targetInst;\n activeElement$1.attachEvent('onpropertychange', handlePropertyChange);\n}\n/**\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\n\n\nfunction stopWatchingForValueChange() {\n if (!activeElement$1) {\n return;\n }\n\n activeElement$1.detachEvent('onpropertychange', handlePropertyChange);\n activeElement$1 = null;\n activeElementInst$1 = null;\n}\n/**\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\n// $FlowFixMe[missing-local-annot]\n\n\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n\n if (getInstIfValueChanged(activeElementInst$1)) {\n manualDispatchChangeEvent(nativeEvent);\n }\n}\n\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n if (domEventName === 'focusin') {\n // In IE9, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (domEventName === 'focusout') {\n stopWatchingForValueChange();\n }\n} // For IE8 and IE9.\n\n\nfunction getTargetInstForInputEventPolyfill(domEventName, targetInst) {\n if (domEventName === 'selectionchange' || domEventName === 'keyup' || domEventName === 'keydown') {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n return getInstIfValueChanged(activeElementInst$1);\n }\n}\n/**\n * SECTION: handle `click` event\n */\n\n\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (domEventName === 'click') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (domEventName === 'input' || domEventName === 'change') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction handleControlledInputBlur(node, props) {\n if (node.type !== 'number') {\n return;\n }\n\n {\n var isControlled = props.value != null;\n\n if (isControlled) {\n // If controlled, assign the value attribute to the current value on blur\n setDefaultValue(node, 'number', node.value);\n }\n }\n}\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\n\n\nfunction extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n var getTargetInstFunc, handleEventFunc;\n\n if (shouldUseChangeEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n handleEventFunc = handleEventsForInputEventPolyfill;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n } else ;\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(domEventName, targetInst);\n\n if (inst) {\n createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, nativeEventTarget);\n return;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(domEventName, targetNode, targetInst);\n } // When blurring, set the value attribute for number inputs\n\n\n if (domEventName === 'focusout' && targetInst) {\n // These props aren't necessarily the most current but we warn for changing\n // between controlled and uncontrolled, so it doesn't matter and the previous\n // code was also broken for changes.\n var props = targetInst.memoizedProps;\n handleControlledInputBlur(targetNode, props);\n }\n}\n\nfunction registerEvents$1() {\n registerDirectEvent('onMouseEnter', ['mouseout', 'mouseover']);\n registerDirectEvent('onMouseLeave', ['mouseout', 'mouseover']);\n registerDirectEvent('onPointerEnter', ['pointerout', 'pointerover']);\n registerDirectEvent('onPointerLeave', ['pointerout', 'pointerover']);\n}\n/**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n\n\nfunction extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var isOverEvent = domEventName === 'mouseover' || domEventName === 'pointerover';\n var isOutEvent = domEventName === 'mouseout' || domEventName === 'pointerout';\n\n if (isOverEvent && !isReplayingEvent(nativeEvent)) {\n // If this is an over event with a target, we might have already dispatched\n // the event in the out event of the other target. If this is replayed,\n // then it's because we couldn't dispatch against this target previously\n // so we have to do it now instead.\n var related = nativeEvent.relatedTarget || nativeEvent.fromElement;\n\n if (related) {\n // If the related node is managed by React, we can assume that we have\n // already dispatched the corresponding events during its mouseout.\n if (getClosestInstanceFromNode(related) || isContainerMarkedAsRoot(related)) {\n return;\n }\n }\n }\n\n if (!isOutEvent && !isOverEvent) {\n // Must not be a mouse or pointer in or out - ignoring.\n return;\n }\n\n var win; // TODO: why is this nullable in the types but we read from it?\n\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n\n if (isOutEvent) {\n var _related = nativeEvent.relatedTarget || nativeEvent.toElement;\n\n from = targetInst;\n to = _related ? getClosestInstanceFromNode(_related) : null;\n\n if (to !== null) {\n var nearestMounted = getNearestMountedFiber(to);\n var tag = to.tag;\n\n if (to !== nearestMounted || tag !== HostComponent && tag !== HostSingleton && tag !== HostText) {\n to = null;\n }\n }\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return;\n }\n\n var SyntheticEventCtor = SyntheticMouseEvent;\n var leaveEventType = 'onMouseLeave';\n var enterEventType = 'onMouseEnter';\n var eventTypePrefix = 'mouse';\n\n if (domEventName === 'pointerout' || domEventName === 'pointerover') {\n SyntheticEventCtor = SyntheticPointerEvent;\n leaveEventType = 'onPointerLeave';\n enterEventType = 'onPointerEnter';\n eventTypePrefix = 'pointer';\n }\n\n var fromNode = from == null ? win : getNodeFromInstance(from);\n var toNode = to == null ? win : getNodeFromInstance(to);\n var leave = new SyntheticEventCtor(leaveEventType, eventTypePrefix + 'leave', from, nativeEvent, nativeEventTarget);\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n var enter = null; // We should only process this nativeEvent if we are processing\n // the first ancestor. Next time, we will ignore the event.\n\n var nativeTargetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (nativeTargetInst === targetInst) {\n var enterEvent = new SyntheticEventCtor(enterEventType, eventTypePrefix + 'enter', to, nativeEvent, nativeEventTarget);\n enterEvent.target = toNode;\n enterEvent.relatedTarget = fromNode;\n enter = enterEvent;\n }\n\n accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leave, enter, from, to);\n}\n\n/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\n\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n\n return node;\n}\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\n\n\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n\n node = node.parentNode;\n }\n}\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\n\n\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === TEXT_NODE) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\n/**\n * @param {DOMElement} outerNode\n * @return {?object}\n */\n\nfunction getOffsets(outerNode) {\n var ownerDocument = outerNode.ownerDocument;\n var win = ownerDocument && ownerDocument.defaultView || window;\n var selection = win.getSelection && win.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode,\n anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode,\n focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be \"anonymous divs\", e.g. the\n // up/down buttons on an <input type=\"number\">. Anonymous divs do not seem to\n // expose properties, triggering a \"Permission denied error\" if any of its\n // properties are accessed. The only seemingly possible way to avoid erroring\n // is to access a property that typically works for non-anonymous divs and\n // catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n\n try {\n /* eslint-disable ft-flow/no-unused-expressions */\n anchorNode.nodeType;\n focusNode.nodeType;\n /* eslint-enable ft-flow/no-unused-expressions */\n } catch (e) {\n return null;\n }\n\n return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset);\n}\n/**\n * Returns {start, end} where `start` is the character/codepoint index of\n * (anchorNode, anchorOffset) within the textContent of `outerNode`, and\n * `end` is the index of (focusNode, focusOffset).\n *\n * Returns null if you pass in garbage input but we should probably just crash.\n *\n * Exported only for testing.\n */\n\nfunction getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) {\n var length = 0;\n var start = -1;\n var end = -1;\n var indexWithinAnchor = 0;\n var indexWithinFocus = 0;\n var node = outerNode;\n var parentNode = null;\n\n outer: while (true) {\n var next = null;\n\n while (true) {\n if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) {\n start = length + anchorOffset;\n }\n\n if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {\n end = length + focusOffset;\n }\n\n if (node.nodeType === TEXT_NODE) {\n length += node.nodeValue.length;\n }\n\n if ((next = node.firstChild) === null) {\n break;\n } // Moving from `node` to its first child `next`.\n\n\n parentNode = node;\n node = next;\n }\n\n while (true) {\n if (node === outerNode) {\n // If `outerNode` has children, this is always the second time visiting\n // it. If it has no children, this is still the first loop, and the only\n // valid selection is anchorNode and focusNode both equal to this node\n // and both offsets 0, in which case we will have handled above.\n break outer;\n }\n\n if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) {\n start = length;\n }\n\n if (parentNode === focusNode && ++indexWithinFocus === focusOffset) {\n end = length;\n }\n\n if ((next = node.nextSibling) !== null) {\n break;\n }\n\n node = parentNode;\n parentNode = node.parentNode;\n } // Moving from `node` to its next sibling `next`.\n\n\n node = next;\n }\n\n if (start === -1 || end === -1) {\n // This should never happen. (Would happen if the anchor/focus nodes aren't\n // actually inside the passed-in node.)\n return null;\n }\n\n return {\n start: start,\n end: end\n };\n}\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programmatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n\nfunction setOffsets(node, offsets) {\n var doc = node.ownerDocument || document;\n var win = doc && doc.defaultView || window; // Edge fails with \"Object expected\" in some scenarios.\n // (For instance: TinyMCE editor used in a list component that supports pasting to add more,\n // fails when pasting 100+ items)\n\n if (!win.getSelection) {\n return;\n }\n\n var selection = win.getSelection();\n var length = node.textContent.length;\n var start = Math.min(offsets.start, length);\n var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {\n return;\n }\n\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nfunction isTextNode(node) {\n return node && node.nodeType === TEXT_NODE;\n}\n\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nfunction isInDocument(node) {\n return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);\n}\n\nfunction isSameOriginFrame(iframe) {\n try {\n // Accessing the contentDocument of a HTMLIframeElement can cause the browser\n // to throw, e.g. if it has a cross-origin src attribute.\n // Safari will show an error in the console when the access results in \"Blocked a frame with origin\". e.g:\n // iframe.contentDocument.defaultView;\n // A safety way is to access one of the cross origin properties: Window or Location\n // Which might result in \"SecurityError\" DOM Exception and it is compatible to Safari.\n // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl\n return typeof iframe.contentWindow.location.href === 'string';\n } catch (err) {\n return false;\n }\n}\n\nfunction getActiveElementDeep() {\n var win = window;\n var element = getActiveElement();\n\n while (element instanceof win.HTMLIFrameElement) {\n if (isSameOriginFrame(element)) {\n win = element.contentWindow;\n } else {\n return element;\n }\n\n element = getActiveElement(win.document);\n }\n\n return element;\n}\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\n\n/**\n * @hasSelectionCapabilities: we get the element types that support selection\n * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`\n * and `selectionEnd` rows.\n */\n\n\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true');\n}\nfunction getSelectionInformation() {\n var focusedElem = getActiveElementDeep();\n return {\n focusedElem: focusedElem,\n selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection$1(focusedElem) : null\n };\n}\n/**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n\nfunction restoreSelection(priorSelectionInformation) {\n var curFocusedElem = getActiveElementDeep();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) {\n setSelection(priorFocusedElem, priorSelectionRange);\n } // Focusing a node can change the scroll position, which is undesirable\n\n\n var ancestors = [];\n var ancestor = priorFocusedElem;\n\n while (ancestor = ancestor.parentNode) {\n if (ancestor.nodeType === ELEMENT_NODE) {\n ancestors.push({\n element: ancestor,\n left: ancestor.scrollLeft,\n top: ancestor.scrollTop\n });\n }\n }\n\n if (typeof priorFocusedElem.focus === 'function') {\n priorFocusedElem.focus();\n }\n\n for (var i = 0; i < ancestors.length; i++) {\n var info = ancestors[i];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n}\n/**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n\nfunction getSelection$1(input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else {\n // Content editable or old IE textarea.\n selection = getOffsets(input);\n }\n\n return selection || {\n start: 0,\n end: 0\n };\n}\n/**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n\nfunction setSelection(input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n\n if (end === undefined) {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else {\n setOffsets(input, offsets);\n }\n}\n\nvar skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\nfunction registerEvents() {\n registerTwoPhaseEvent('onSelect', ['focusout', 'contextmenu', 'dragend', 'focusin', 'keydown', 'keyup', 'mousedown', 'mouseup', 'selectionchange']);\n}\n\nvar activeElement = null;\nvar activeElementInst = null;\nvar lastSelection = null;\nvar mouseDown = false;\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n */\n\nfunction getSelection(node) {\n if ('selectionStart' in node && hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else {\n var win = node.ownerDocument && node.ownerDocument.defaultView || window;\n var selection = win.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n }\n}\n/**\n * Get document associated with the event target.\n */\n\n\nfunction getEventTargetDocument(eventTarget) {\n return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument;\n}\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @param {object} nativeEventTarget\n * @return {?SyntheticEvent}\n */\n\n\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n var doc = getEventTargetDocument(nativeEventTarget);\n\n if (mouseDown || activeElement == null || activeElement !== getActiveElement(doc)) {\n return;\n } // Only fire when selection has actually changed.\n\n\n var currentSelection = getSelection(activeElement);\n\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n var listeners = accumulateTwoPhaseListeners(activeElementInst, 'onSelect');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onSelect', 'select', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.target = activeElement;\n }\n }\n}\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\n\n\nfunction extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n\n switch (domEventName) {\n // Track the input node that has focus.\n case 'focusin':\n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n activeElement = targetNode;\n activeElementInst = targetInst;\n lastSelection = null;\n }\n\n break;\n\n case 'focusout':\n activeElement = null;\n activeElementInst = null;\n lastSelection = null;\n break;\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n\n case 'mousedown':\n mouseDown = true;\n break;\n\n case 'contextmenu':\n case 'mouseup':\n case 'dragend':\n mouseDown = false;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n\n case 'selectionchange':\n if (skipSelectionChangeEvent) {\n break;\n }\n\n // falls through\n\n case 'keydown':\n case 'keyup':\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n}\n\n/**\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n *\n * @param {string} styleProp\n * @param {string} eventName\n * @returns {object}\n */\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n return prefixes;\n}\n/**\n * A list of event names to a configurable list of vendor prefixes.\n */\n\n\nvar vendorPrefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n animationstart: makePrefixMap('Animation', 'AnimationStart'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n};\n/**\n * Event names that have already been detected and prefixed (if applicable).\n */\n\nvar prefixedEventNames = {};\n/**\n * Element to check for prefixes on.\n */\n\nvar style = {};\n/**\n * Bootstrap if a DOM exists.\n */\n\nif (canUseDOM) {\n style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are usable, and if not remove them from the map.\n\n if (!('AnimationEvent' in window)) {\n delete vendorPrefixes.animationend.animation;\n delete vendorPrefixes.animationiteration.animation;\n delete vendorPrefixes.animationstart.animation;\n } // Same as above\n\n\n if (!('TransitionEvent' in window)) {\n delete vendorPrefixes.transitionend.transition;\n }\n}\n/**\n * Attempts to determine the correct vendor prefixed event name.\n *\n * @param {string} eventName\n * @returns {string}\n */\n\n\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n } else if (!vendorPrefixes[eventName]) {\n return eventName;\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n for (var styleProp in prefixMap) {\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n return prefixedEventNames[eventName] = prefixMap[styleProp];\n }\n }\n\n return eventName;\n}\n\nvar ANIMATION_END = getVendorPrefixedEventName('animationend');\nvar ANIMATION_ITERATION = getVendorPrefixedEventName('animationiteration');\nvar ANIMATION_START = getVendorPrefixedEventName('animationstart');\nvar TRANSITION_END = getVendorPrefixedEventName('transitionend');\n\nvar topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important in this list!\n//\n// E.g. it needs \"pointerDown\", not \"pointerdown\".\n// This is because we derive both React name (\"onPointerDown\")\n// and DOM name (\"pointerdown\") from the same list.\n//\n// Exceptions that don't match this convention are listed separately.\n//\n// prettier-ignore\n\nvar simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'scrollEnd', 'toggle', 'touchMove', 'waiting', 'wheel'];\n\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\n\nfunction registerSimpleEvents() {\n for (var i = 0; i < simpleEventPluginEvents.length; i++) {\n var eventName = simpleEventPluginEvents[i];\n var domEventName = eventName.toLowerCase();\n var capitalizedEvent = eventName[0].toUpperCase() + eventName.slice(1);\n registerSimpleEvent(domEventName, 'on' + capitalizedEvent);\n } // Special cases where event names don't match.\n\n\n registerSimpleEvent(ANIMATION_END, 'onAnimationEnd');\n registerSimpleEvent(ANIMATION_ITERATION, 'onAnimationIteration');\n registerSimpleEvent(ANIMATION_START, 'onAnimationStart');\n registerSimpleEvent('dblclick', 'onDoubleClick');\n registerSimpleEvent('focusin', 'onFocus');\n registerSimpleEvent('focusout', 'onBlur');\n registerSimpleEvent(TRANSITION_END, 'onTransitionEnd');\n}\n\nfunction extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n\n if (reactName === undefined) {\n return;\n }\n\n var SyntheticEventCtor = SyntheticEvent;\n var reactEventType = domEventName;\n\n switch (domEventName) {\n case 'keypress':\n // Firefox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n // TODO: Fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=968056. Can\n // probably remove.\n if (getEventCharCode(nativeEvent) === 0) {\n return;\n }\n\n /* falls through */\n\n case 'keydown':\n case 'keyup':\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n\n case 'focusin':\n reactEventType = 'focus';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'focusout':\n reactEventType = 'blur';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'beforeblur':\n case 'afterblur':\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'click':\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n // TODO: Fixed in https://phabricator.services.mozilla.com/D26793. Can\n // probably remove.\n if (nativeEvent.button === 2) {\n return;\n }\n\n /* falls through */\n\n case 'auxclick':\n case 'dblclick':\n case 'mousedown':\n case 'mousemove':\n case 'mouseup': // TODO: Disabled elements should not respond to mouse events\n\n /* falls through */\n\n case 'mouseout':\n case 'mouseover':\n case 'contextmenu':\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n\n case 'drag':\n case 'dragend':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'dragstart':\n case 'drop':\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n\n case 'touchcancel':\n case 'touchend':\n case 'touchmove':\n case 'touchstart':\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n\n case 'scroll':\n case 'scrollend':\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n\n case 'wheel':\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n\n case 'copy':\n case 'cut':\n case 'paste':\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'pointerup':\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n }\n\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n {\n // Some events don't bubble in the browser.\n // In the past, React has always bubbled them, but this can be surprising.\n // We're going to try aligning closer to the browser behavior by not bubbling\n // them in React either. We'll start by not bubbling onScroll, and then expand.\n var accumulateTargetOnly = !inCapturePhase && ( // TODO: ideally, we'd eventually add all events from\n // nonDelegatedEvents list in DOMPluginEventSystem.\n // Then we can remove this special list.\n // This is a breaking change that can wait until React 18.\n domEventName === 'scroll' || domEventName === 'scrollend');\n\n var _listeners = accumulateSinglePhaseListeners(targetInst, reactName, nativeEvent.type, inCapturePhase, accumulateTargetOnly);\n\n if (_listeners.length > 0) {\n // Intentionally create event lazily.\n var _event = new SyntheticEventCtor(reactName, reactEventType, null, nativeEvent, nativeEventTarget);\n\n dispatchQueue.push({\n event: _event,\n listeners: _listeners\n });\n }\n }\n}\n\nregisterSimpleEvents();\nregisterEvents$1();\nregisterEvents$2();\nregisterEvents();\nregisterEvents$3();\n\nfunction extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n // TODO: we should remove the concept of a \"SimpleEventPlugin\".\n // This is the basic functionality of the event system. All\n // the other plugins are essentially polyfills. So the plugin\n // should probably be inlined somewhere and have its logic\n // be core the to event system. This would potentially allow\n // us to ship builds of React without the polyfilled plugins below.\n extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n var shouldProcessPolyfillPlugins = (eventSystemFlags & SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS) === 0; // We don't process these events unless we are in the\n // event's native \"bubble\" phase, which means that we're\n // not in the capture phase. That's because we emulate\n // the capture phase here still. This is a trade-off,\n // because in an ideal world we would not emulate and use\n // the phases properly, like we do with the SimpleEvent\n // plugin. However, the plugins below either expect\n // emulation (EnterLeave) or use state localized to that\n // plugin (BeforeInput, Change, Select). The state in\n // these modules complicates things, as you'll essentially\n // get the case where the capture phase event might change\n // state, only for the following bubble event to come in\n // later and not trigger anything as the state now\n // invalidates the heuristics of the event plugin. We\n // could alter all these plugins to work in such ways, but\n // that might cause other unknown side-effects that we\n // can't foresee right now.\n\n if (shouldProcessPolyfillPlugins) {\n extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n\n {\n extractEvents$6(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n }\n }\n} // List of events that need to be individually attached to media elements.\n\n\nvar mediaEventTypes = ['abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'encrypted', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'playing', 'progress', 'ratechange', 'resize', 'seeked', 'seeking', 'stalled', 'suspend', 'timeupdate', 'volumechange', 'waiting']; // We should not delegate these events to the container, but rather\n// set them on the actual target element itself. This is primarily\n// because these events do not consistently bubble in the DOM.\n\nvar nonDelegatedEvents = new Set(['cancel', 'close', 'invalid', 'load', 'scroll', 'scrollend', 'toggle'].concat(mediaEventTypes));\n\nfunction executeDispatch(event, listener, currentTarget) {\n var type = event.type || 'unknown-event';\n event.currentTarget = currentTarget;\n invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);\n event.currentTarget = null;\n}\n\nfunction processDispatchQueueItemsInOrder(event, dispatchListeners, inCapturePhase) {\n var previousInstance;\n\n if (inCapturePhase) {\n for (var i = dispatchListeners.length - 1; i >= 0; i--) {\n var _dispatchListeners$i = dispatchListeners[i],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget,\n listener = _dispatchListeners$i.listener;\n\n if (instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, listener, currentTarget);\n previousInstance = instance;\n }\n } else {\n for (var _i = 0; _i < dispatchListeners.length; _i++) {\n var _dispatchListeners$_i = dispatchListeners[_i],\n _instance = _dispatchListeners$_i.instance,\n _currentTarget = _dispatchListeners$_i.currentTarget,\n _listener = _dispatchListeners$_i.listener;\n\n if (_instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, _listener, _currentTarget);\n previousInstance = _instance;\n }\n }\n}\n\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event,\n listeners = _dispatchQueue$i.listeners;\n processDispatchQueueItemsInOrder(event, listeners, inCapturePhase); // event system doesn't use pooling.\n } // This would be a good time to rethrow if any of the event handlers threw.\n\n\n rethrowCaughtError();\n}\n\nfunction dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var nativeEventTarget = getEventTarget(nativeEvent);\n var dispatchQueue = [];\n extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n}\n\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n {\n if (!nonDelegatedEvents.has(domEventName)) {\n error('Did not expect a listenToNonDelegatedEvent() call for \"%s\". ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var isCapturePhaseListener = false;\n var listenerSet = getEventListenerSet(targetElement);\n var listenerSetKey = getListenerSetKey(domEventName, isCapturePhaseListener);\n\n if (!listenerSet.has(listenerSetKey)) {\n addTrappedEventListener(targetElement, domEventName, IS_NON_DELEGATED, isCapturePhaseListener);\n listenerSet.add(listenerSetKey);\n }\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n {\n if (nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener) {\n error('Did not expect a listenToNativeEvent() call for \"%s\" in the bubble phase. ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var eventSystemFlags = 0;\n\n if (isCapturePhaseListener) {\n eventSystemFlags |= IS_CAPTURE_PHASE;\n }\n\n addTrappedEventListener(target, domEventName, eventSystemFlags, isCapturePhaseListener);\n} // This is only used by createEventHandle when the\nvar listeningMarker = '_reactListening' + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = true;\n allNativeEvents.forEach(function (domEventName) {\n // We handle selectionchange separately because it\n // doesn't bubble and needs to be on the document.\n if (domEventName !== 'selectionchange') {\n if (!nonDelegatedEvents.has(domEventName)) {\n listenToNativeEvent(domEventName, false, rootContainerElement);\n }\n\n listenToNativeEvent(domEventName, true, rootContainerElement);\n }\n });\n var ownerDocument = rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n\n if (ownerDocument !== null) {\n // The selectionchange event also needs deduplication\n // but it is attached to the document.\n if (!ownerDocument[listeningMarker]) {\n ownerDocument[listeningMarker] = true;\n listenToNativeEvent('selectionchange', false, ownerDocument);\n }\n }\n }\n}\n\nfunction addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener, isDeferredListenerForLegacyFBSupport) {\n var listener = createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags); // If passive option is not supported, then the event will be\n // active and not passive.\n\n var isPassiveListener = undefined;\n\n if (passiveBrowserEventsSupported) {\n // Browsers introduced an intervention, making these events\n // passive by default on document. React doesn't bind them\n // to document anymore, but changing this now would undo\n // the performance wins from the change. So we emulate\n // the existing behavior manually on the roots now.\n // https://github.com/facebook/react/issues/19651\n if (domEventName === 'touchstart' || domEventName === 'touchmove' || domEventName === 'wheel') {\n isPassiveListener = true;\n }\n }\n\n targetContainer = targetContainer;\n\n\n if (isCapturePhaseListener) {\n if (isPassiveListener !== undefined) {\n addEventCaptureListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n addEventCaptureListener(targetContainer, domEventName, listener);\n }\n } else {\n if (isPassiveListener !== undefined) {\n addEventBubbleListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n addEventBubbleListener(targetContainer, domEventName, listener);\n }\n }\n}\n\nfunction isMatchingRootContainer(grandContainer, targetContainer) {\n return grandContainer === targetContainer || grandContainer.nodeType === COMMENT_NODE && grandContainer.parentNode === targetContainer;\n}\n\nfunction dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var ancestorInst = targetInst;\n\n if ((eventSystemFlags & IS_EVENT_HANDLE_NON_MANAGED_NODE) === 0 && (eventSystemFlags & IS_NON_DELEGATED) === 0) {\n var targetContainerNode = targetContainer; // If we are using the legacy FB support flag, we\n\n if (targetInst !== null) {\n // The below logic attempts to work out if we need to change\n // the target fiber to a different ancestor. We had similar logic\n // in the legacy event system, except the big difference between\n // systems is that the modern event system now has an event listener\n // attached to each React Root and React Portal Root. Together,\n // the DOM nodes representing these roots are the \"rootContainer\".\n // To figure out which ancestor instance we should use, we traverse\n // up the fiber tree from the target instance and attempt to find\n // root boundaries that match that of our current \"rootContainer\".\n // If we find that \"rootContainer\", we find the parent fiber\n // sub-tree for that root and make that our ancestor instance.\n var node = targetInst;\n\n mainLoop: while (true) {\n if (node === null) {\n return;\n }\n\n var nodeTag = node.tag;\n\n if (nodeTag === HostRoot || nodeTag === HostPortal) {\n var container = node.stateNode.containerInfo;\n\n if (isMatchingRootContainer(container, targetContainerNode)) {\n break;\n }\n\n if (nodeTag === HostPortal) {\n // The target is a portal, but it's not the rootContainer we're looking for.\n // Normally portals handle their own events all the way down to the root.\n // So we should be able to stop now. However, we don't know if this portal\n // was part of *our* root.\n var grandNode = node.return;\n\n while (grandNode !== null) {\n var grandTag = grandNode.tag;\n\n if (grandTag === HostRoot || grandTag === HostPortal) {\n var grandContainer = grandNode.stateNode.containerInfo;\n\n if (isMatchingRootContainer(grandContainer, targetContainerNode)) {\n // This is the rootContainer we're looking for and we found it as\n // a parent of the Portal. That means we can ignore it because the\n // Portal will bubble through to us.\n return;\n }\n }\n\n grandNode = grandNode.return;\n }\n } // Now we need to find it's corresponding host fiber in the other\n // tree. To do this we can use getClosestInstanceFromNode, but we\n // need to validate that the fiber is a host instance, otherwise\n // we need to traverse up through the DOM till we find the correct\n // node that is from the other tree.\n\n\n while (container !== null) {\n var parentNode = getClosestInstanceFromNode(container);\n\n if (parentNode === null) {\n return;\n }\n\n var parentTag = parentNode.tag;\n\n if (parentTag === HostComponent || parentTag === HostText || (parentTag === HostHoistable ) || parentTag === HostSingleton) {\n node = ancestorInst = parentNode;\n continue mainLoop;\n }\n\n container = container.parentNode;\n }\n }\n\n node = node.return;\n }\n }\n }\n\n batchedUpdates(function () {\n return dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, ancestorInst);\n });\n}\n\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\n\nfunction accumulateSinglePhaseListeners(targetFiber, reactName, nativeEventType, inCapturePhase, accumulateTargetOnly, nativeEvent) {\n var captureName = reactName !== null ? reactName + 'Capture' : null;\n var reactEventName = inCapturePhase ? captureName : reactName;\n var listeners = [];\n var instance = targetFiber;\n var lastHostComponent = null; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance2 = instance,\n stateNode = _instance2.stateNode,\n tag = _instance2.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if ((tag === HostComponent || (tag === HostHoistable ) || tag === HostSingleton) && stateNode !== null) {\n lastHostComponent = stateNode; // createEventHandle listeners\n\n\n if (reactEventName !== null) {\n var listener = getListener(instance, reactEventName);\n\n if (listener != null) {\n listeners.push(createDispatchListener(instance, listener, lastHostComponent));\n }\n }\n } // If we are only accumulating events for the target, then we don't\n // continue to propagate through the React fiber tree to find other\n // listeners.\n\n\n if (accumulateTargetOnly) {\n break;\n } // If we are processing the onBeforeBlur event, then we need to take\n\n instance = instance.return;\n }\n\n return listeners;\n} // We should only use this function for:\n// - BeforeInputEventPlugin\n// - ChangeEventPlugin\n// - SelectEventPlugin\n// This is because we only process these plugins\n// in the bubble phase, so we need to accumulate two\n// phase event listeners (via emulation).\n\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n var captureName = reactName + 'Capture';\n var listeners = [];\n var instance = targetFiber; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance3 = instance,\n stateNode = _instance3.stateNode,\n tag = _instance3.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if ((tag === HostComponent || (tag === HostHoistable ) || tag === HostSingleton) && stateNode !== null) {\n var currentTarget = stateNode;\n var captureListener = getListener(instance, captureName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n\n var bubbleListener = getListener(instance, reactName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n\n instance = instance.return;\n }\n\n return listeners;\n}\n\nfunction getParent(inst) {\n if (inst === null) {\n return null;\n }\n\n do {\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n inst = inst.return; // TODO: If this is a HostRoot we might want to bail out.\n // That is depending on if we want nested subtrees (layers) to bubble\n // events to their parent. We could also go through parentNode on the\n // host node but that wouldn't work for React Native and doesn't let us\n // do the portal feature.\n } while (inst && inst.tag !== HostComponent && inst.tag !== HostSingleton);\n\n if (inst) {\n return inst;\n }\n\n return null;\n}\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\n\n\nfunction getLowestCommonAncestor(instA, instB) {\n var nodeA = instA;\n var nodeB = instB;\n var depthA = 0;\n\n for (var tempA = nodeA; tempA; tempA = getParent(tempA)) {\n depthA++;\n }\n\n var depthB = 0;\n\n for (var tempB = nodeB; tempB; tempB = getParent(tempB)) {\n depthB++;\n } // If A is deeper, crawl up.\n\n\n while (depthA - depthB > 0) {\n nodeA = getParent(nodeA);\n depthA--;\n } // If B is deeper, crawl up.\n\n\n while (depthB - depthA > 0) {\n nodeB = getParent(nodeB);\n depthB--;\n } // Walk in lockstep until we find a match.\n\n\n var depth = depthA;\n\n while (depth--) {\n if (nodeA === nodeB || nodeB !== null && nodeA === nodeB.alternate) {\n return nodeA;\n }\n\n nodeA = getParent(nodeA);\n nodeB = getParent(nodeB);\n }\n\n return null;\n}\n\nfunction accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) {\n var registrationName = event._reactName;\n var listeners = [];\n var instance = target;\n\n while (instance !== null) {\n if (instance === common) {\n break;\n }\n\n var _instance4 = instance,\n alternate = _instance4.alternate,\n stateNode = _instance4.stateNode,\n tag = _instance4.tag;\n\n if (alternate !== null && alternate === common) {\n break;\n }\n\n if ((tag === HostComponent || (tag === HostHoistable ) || tag === HostSingleton) && stateNode !== null) {\n var currentTarget = stateNode;\n\n if (inCapturePhase) {\n var captureListener = getListener(instance, registrationName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n } else if (!inCapturePhase) {\n var bubbleListener = getListener(instance, registrationName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n }\n\n instance = instance.return;\n }\n\n if (listeners.length !== 0) {\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n} // We should only use this function for:\n// - EnterLeaveEventPlugin\n// This is because we only process this plugin\n// in the bubble phase, so we need to accumulate two\n// phase event listeners.\n\n\nfunction accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leaveEvent, enterEvent, from, to) {\n var common = from && to ? getLowestCommonAncestor(from, to) : null;\n\n if (from !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, leaveEvent, from, common, false);\n }\n\n if (to !== null && enterEvent !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, enterEvent, to, common, true);\n }\n}\nfunction getListenerSetKey(domEventName, capture) {\n return domEventName + \"__\" + (capture ? 'capture' : 'bubble');\n}\n\nvar didWarnControlledToUncontrolled = false;\nvar didWarnUncontrolledToControlled = false;\nvar didWarnInvalidHydration = false;\nvar didWarnFormActionType = false;\nvar didWarnFormActionName = false;\nvar didWarnFormActionTarget = false;\nvar didWarnFormActionMethod = false;\nvar canDiffStyleForHydrationWarning;\n\n{\n // IE 11 parses & normalizes the style attribute as opposed to other\n // browsers. It adds spaces and sorts the properties in some\n // non-alphabetical order. Handling that would require sorting CSS\n // properties in the client & server versions or applying\n // `expectedStyle` to a temporary DOM node to read its `style` attribute\n // normalized. Since it only affects IE, we're skipping style warnings\n // in that browser completely in favor of doing all that work.\n // See https://github.com/facebook/react/issues/11807\n canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode;\n}\n\nfunction validatePropertiesInDevelopment(type, props) {\n {\n validateProperties$2(type, props);\n validateProperties$1(type, props);\n validateProperties(type, props, {\n registrationNameDependencies: registrationNameDependencies,\n possibleRegistrationNames: possibleRegistrationNames\n });\n\n if (props.contentEditable && !props.suppressContentEditableWarning && props.children != null) {\n error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');\n }\n }\n}\n\nfunction validateFormActionInDevelopment(tag, key, value, props) {\n {\n if (value == null) {\n return;\n }\n\n if (tag === 'form') {\n if (key === 'formAction') {\n error('You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>.');\n } else if (typeof value === 'function') {\n if ((props.encType != null || props.method != null) && !didWarnFormActionMethod) {\n didWarnFormActionMethod = true;\n\n error('Cannot specify a encType or method for a form that specifies a ' + 'function as the action. React provides those automatically. ' + 'They will get overridden.');\n }\n\n if (props.target != null && !didWarnFormActionTarget) {\n didWarnFormActionTarget = true;\n\n error('Cannot specify a target for a form that specifies a function as the action. ' + 'The function will always be executed in the same window.');\n }\n }\n } else if (tag === 'input' || tag === 'button') {\n if (key === 'action') {\n error('You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>.');\n } else if (tag === 'input' && props.type !== 'submit' && props.type !== 'image' && !didWarnFormActionType) {\n didWarnFormActionType = true;\n\n error('An input can only specify a formAction along with type=\"submit\" or type=\"image\".');\n } else if (tag === 'button' && props.type != null && props.type !== 'submit' && !didWarnFormActionType) {\n didWarnFormActionType = true;\n\n error('A button can only specify a formAction along with type=\"submit\" or no type.');\n } else if (typeof value === 'function') {\n // Function form actions cannot control the form properties\n if (props.name != null && !didWarnFormActionName) {\n didWarnFormActionName = true;\n\n error('Cannot specify a \"name\" prop for a button that specifies a function as a formAction. ' + 'React needs it to encode which action should be invoked. It will get overridden.');\n }\n\n if ((props.formEncType != null || props.formMethod != null) && !didWarnFormActionMethod) {\n didWarnFormActionMethod = true;\n\n error('Cannot specify a formEncType or formMethod for a button that specifies a ' + 'function as a formAction. React provides those automatically. They will get overridden.');\n }\n\n if (props.formTarget != null && !didWarnFormActionTarget) {\n didWarnFormActionTarget = true;\n\n error('Cannot specify a formTarget for a button that specifies a function as a formAction. ' + 'The function will always be executed in the same window.');\n }\n }\n } else {\n if (key === 'action') {\n error('You can only pass the action prop to <form>.');\n } else {\n error('You can only pass the formAction prop to <input> or <button>.');\n }\n }\n }\n}\n\nfunction warnForPropDifference(propName, serverValue, clientValue) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n if (serverValue === clientValue) {\n return;\n }\n\n var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue);\n var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue);\n\n if (normalizedServerValue === normalizedClientValue) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue));\n }\n}\n\nfunction warnForExtraAttributes(attributeNames) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n var names = [];\n attributeNames.forEach(function (name) {\n names.push(name);\n });\n\n error('Extra attributes from the server: %s', names);\n }\n}\n\nfunction warnForInvalidEventListener(registrationName, listener) {\n {\n if (listener === false) {\n error('Expected `%s` listener to be a function, instead got `false`.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName);\n } else {\n error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener);\n }\n }\n} // Parse the HTML and read it back to normalize the HTML string so that it\n// can be used for comparison.\n\n\nfunction normalizeHTML(parent, html) {\n {\n // We could have created a separate document here to avoid\n // re-initializing custom elements if they exist. But this breaks\n // how <noscript> is being handled. So we use the same document.\n // See the discussion in https://github.com/facebook/react/pull/11157.\n var testElement = parent.namespaceURI === MATH_NAMESPACE || parent.namespaceURI === SVG_NAMESPACE ? parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName) : parent.ownerDocument.createElement(parent.tagName);\n testElement.innerHTML = html;\n return testElement.innerHTML;\n }\n} // HTML parsing normalizes CR and CRLF to LF.\n// It also can turn \\u0000 into \\uFFFD inside attributes.\n// https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream\n// If we have a mismatch, it might be caused by that.\n// We will still patch up in this case but not fire the warning.\n\n\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g;\nvar NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\n\nfunction normalizeMarkupForTextOrAttribute(markup) {\n {\n checkHtmlStringCoercion(markup);\n }\n\n var markupString = typeof markup === 'string' ? markup : '' + markup;\n return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, '');\n}\n\nfunction checkForUnmatchedText(serverText, clientText, isConcurrentMode, shouldWarnDev) {\n var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText);\n var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText);\n\n if (normalizedServerText === normalizedClientText) {\n return;\n }\n\n if (shouldWarnDev) {\n {\n if (!didWarnInvalidHydration) {\n didWarnInvalidHydration = true;\n\n error('Text content did not match. Server: \"%s\" Client: \"%s\"', normalizedServerText, normalizedClientText);\n }\n }\n }\n\n if (isConcurrentMode && enableClientRenderFallbackOnTextMismatch) {\n // In concurrent roots, we throw when there's a text mismatch and revert to\n // client rendering, up to the nearest Suspense boundary.\n throw new Error('Text content does not match server-rendered HTML.');\n }\n}\n\nfunction noop$1() {}\n\nfunction trapClickOnNonInteractiveElement(node) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n // https://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n // Just set it using the onclick property so that we don't have to manage any\n // bookkeeping for it. Not sure if we need to clear it when the listener is\n // removed.\n // TODO: Only do this for the relevant Safaris maybe?\n node.onclick = noop$1;\n}\nvar xlinkNamespace = 'http://www.w3.org/1999/xlink';\nvar xmlNamespace = 'http://www.w3.org/XML/1998/namespace';\n\nfunction setProp(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case 'children':\n {\n if (typeof value === 'string') {\n {\n validateTextNesting(value, tag);\n } // Avoid setting initial textContent when the text is empty. In IE11 setting\n // textContent on a <textarea> will cause the placeholder to not\n // show within the <textarea> until it has been focused and blurred again.\n // https://github.com/facebook/react/issues/6731#issuecomment-254874553\n\n\n var canSetTextContent = tag !== 'body' && (tag !== 'textarea' || value !== '');\n\n if (canSetTextContent) {\n setTextContent(domElement, value);\n }\n } else if (typeof value === 'number') {\n {\n validateTextNesting('' + value, tag);\n }\n\n var _canSetTextContent = tag !== 'body';\n\n if (_canSetTextContent) {\n setTextContent(domElement, '' + value);\n }\n }\n\n break;\n }\n // These are very common props and therefore are in the beginning of the switch.\n // TODO: aria-label is a very common prop but allows booleans so is not like the others\n // but should ideally go in this list too.\n\n case 'className':\n setValueForKnownAttribute(domElement, 'class', value);\n break;\n\n case 'tabIndex':\n // This has to be case sensitive in SVG.\n setValueForKnownAttribute(domElement, 'tabindex', value);\n break;\n\n case 'dir':\n case 'role':\n case 'viewBox':\n case 'width':\n case 'height':\n {\n setValueForKnownAttribute(domElement, key, value);\n break;\n }\n\n case 'style':\n {\n setValueForStyles(domElement, value, prevValue);\n break;\n }\n // These attributes accept URLs. These must not allow javascript: URLS.\n\n case 'src':\n case 'href':\n {\n\n if (value == null || typeof value === 'function' || typeof value === 'symbol' || typeof value === 'boolean') {\n domElement.removeAttribute(key);\n break;\n } // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n\n\n {\n checkAttributeStringCoercion(value, key);\n }\n\n var sanitizedValue = sanitizeURL('' + value);\n domElement.setAttribute(key, sanitizedValue);\n break;\n }\n\n case 'action':\n case 'formAction':\n {\n // TODO: Consider moving these special cases to the form, input and button tags.\n {\n validateFormActionInDevelopment(tag, key, value, props);\n }\n\n {\n if (typeof value === 'function') {\n // Set a javascript URL that doesn't do anything. We don't expect this to be invoked\n // because we'll preventDefault, but it can happen if a form is manually submitted or\n // if someone calls stopPropagation before React gets the event.\n // If CSP is used to block javascript: URLs that's fine too. It just won't show this\n // error message but the URL will be logged.\n domElement.setAttribute(key, // eslint-disable-next-line no-script-url\n \"javascript:throw new Error('\" + 'A React form was unexpectedly submitted. If you called form.submit() manually, ' + \"consider using form.requestSubmit() instead. If you\\\\'re trying to use \" + 'event.stopPropagation() in a submit event handler, consider also calling ' + 'event.preventDefault().' + \"')\");\n break;\n } else if (typeof prevValue === 'function') {\n // When we're switching off a Server Action that was originally hydrated.\n // The server control these fields during SSR that are now trailing.\n // The regular diffing doesn't apply since we compare against the previous props.\n // Instead, we need to force them to be set to whatever they should be now.\n // This would be a lot cleaner if we did this whole fork in the per-tag approach.\n if (key === 'formAction') {\n if (tag !== 'input') {\n // Setting the name here isn't completely safe for inputs if this is switching\n // to become a radio button. In that case we let the tag based override take\n // control.\n setProp(domElement, tag, 'name', props.name, props, null);\n }\n\n setProp(domElement, tag, 'formEncType', props.formEncType, props, null);\n setProp(domElement, tag, 'formMethod', props.formMethod, props, null);\n setProp(domElement, tag, 'formTarget', props.formTarget, props, null);\n } else {\n setProp(domElement, tag, 'encType', props.encType, props, null);\n setProp(domElement, tag, 'method', props.method, props, null);\n setProp(domElement, tag, 'target', props.target, props, null);\n }\n }\n }\n\n if (value == null || !enableFormActions || typeof value === 'symbol' || typeof value === 'boolean') {\n domElement.removeAttribute(key);\n break;\n } // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n\n\n {\n checkAttributeStringCoercion(value, key);\n }\n\n var _sanitizedValue = sanitizeURL('' + value);\n\n domElement.setAttribute(key, _sanitizedValue);\n break;\n }\n\n case 'onClick':\n {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n if (value != null) {\n if (typeof value !== 'function') {\n warnForInvalidEventListener(key, value);\n }\n\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n case 'onScroll':\n {\n if (value != null) {\n if (typeof value !== 'function') {\n warnForInvalidEventListener(key, value);\n }\n\n listenToNonDelegatedEvent('scroll', domElement);\n }\n\n break;\n }\n\n case 'onScrollEnd':\n {\n if (value != null) {\n if (typeof value !== 'function') {\n warnForInvalidEventListener(key, value);\n }\n\n listenToNonDelegatedEvent('scrollend', domElement);\n }\n\n break;\n }\n\n case 'dangerouslySetInnerHTML':\n {\n if (value != null) {\n if (typeof value !== 'object' || !('__html' in value)) {\n throw new Error('`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://reactjs.org/link/dangerously-set-inner-html ' + 'for more information.');\n }\n\n var nextHtml = value.__html;\n\n if (nextHtml != null) {\n if (props.children != null) {\n throw new Error('Can only set one of `children` or `props.dangerouslySetInnerHTML`.');\n }\n\n {\n setInnerHTML$1(domElement, nextHtml);\n }\n }\n }\n\n break;\n }\n // Note: `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`. We have special logic for handling this.\n\n case 'multiple':\n {\n domElement.multiple = value && typeof value !== 'function' && typeof value !== 'symbol';\n break;\n }\n\n case 'muted':\n {\n domElement.muted = value && typeof value !== 'function' && typeof value !== 'symbol';\n break;\n }\n\n case 'suppressContentEditableWarning':\n case 'suppressHydrationWarning':\n case 'defaultValue': // Reserved\n\n case 'defaultChecked':\n case 'innerHTML':\n case 'ref':\n {\n // TODO: `ref` is pretty common, should we move it up?\n // Noop\n break;\n }\n\n case 'autoFocus':\n {\n // We polyfill it separately on the client during commit.\n // We could have excluded it in the property list instead of\n // adding a special case here, but then it wouldn't be emitted\n // on server rendering (but we *do* want to emit it in SSR).\n break;\n }\n\n case 'xlinkHref':\n {\n if (value == null || typeof value === 'function' || typeof value === 'boolean' || typeof value === 'symbol') {\n domElement.removeAttribute('xlink:href');\n break;\n } // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n\n\n {\n checkAttributeStringCoercion(value, key);\n }\n\n var _sanitizedValue2 = sanitizeURL('' + value);\n\n domElement.setAttributeNS(xlinkNamespace, 'xlink:href', _sanitizedValue2);\n break;\n }\n\n case 'contentEditable':\n case 'spellCheck':\n case 'draggable':\n case 'value':\n case 'autoReverse':\n case 'externalResourcesRequired':\n case 'focusable':\n case 'preserveAlpha':\n {\n // Booleanish String\n // These are \"enumerated\" attributes that accept \"true\" and \"false\".\n // In React, we let users pass `true` and `false` even though technically\n // these aren't boolean attributes (they are coerced to strings).\n // The SVG attributes are case-sensitive. Since the HTML attributes are\n // insensitive they also work even though we canonically use lower case.\n if (value != null && typeof value !== 'function' && typeof value !== 'symbol') {\n {\n checkAttributeStringCoercion(value, key);\n }\n\n domElement.setAttribute(key, '' + value);\n } else {\n domElement.removeAttribute(key);\n }\n\n break;\n }\n // Boolean\n\n case 'allowFullScreen':\n case 'async':\n case 'autoPlay':\n case 'controls':\n case 'default':\n case 'defer':\n case 'disabled':\n case 'disablePictureInPicture':\n case 'disableRemotePlayback':\n case 'formNoValidate':\n case 'hidden':\n case 'loop':\n case 'noModule':\n case 'noValidate':\n case 'open':\n case 'playsInline':\n case 'readOnly':\n case 'required':\n case 'reversed':\n case 'scoped':\n case 'seamless':\n case 'itemScope':\n {\n if (value && typeof value !== 'function' && typeof value !== 'symbol') {\n domElement.setAttribute(key, '');\n } else {\n domElement.removeAttribute(key);\n }\n\n break;\n }\n // Overloaded Boolean\n\n case 'capture':\n case 'download':\n {\n // An attribute that can be used as a flag as well as with a value.\n // When true, it should be present (set either to an empty string or its name).\n // When false, it should be omitted.\n // For any other value, should be present with that value.\n if (value === true) {\n domElement.setAttribute(key, '');\n } else if (value !== false && value != null && typeof value !== 'function' && typeof value !== 'symbol') {\n {\n checkAttributeStringCoercion(value, key);\n }\n\n domElement.setAttribute(key, value);\n } else {\n domElement.removeAttribute(key);\n }\n\n break;\n }\n\n case 'cols':\n case 'rows':\n case 'size':\n case 'span':\n {\n // These are HTML attributes that must be positive numbers.\n if (value != null && typeof value !== 'function' && typeof value !== 'symbol' && !isNaN(value) && value >= 1) {\n {\n checkAttributeStringCoercion(value, key);\n }\n\n domElement.setAttribute(key, value);\n } else {\n domElement.removeAttribute(key);\n }\n\n break;\n }\n\n case 'rowSpan':\n case 'start':\n {\n // These are HTML attributes that must be numbers.\n if (value != null && typeof value !== 'function' && typeof value !== 'symbol' && !isNaN(value)) {\n {\n checkAttributeStringCoercion(value, key);\n }\n\n domElement.setAttribute(key, value);\n } else {\n domElement.removeAttribute(key);\n }\n\n break;\n }\n\n case 'xlinkActuate':\n setValueForNamespacedAttribute(domElement, xlinkNamespace, 'xlink:actuate', value);\n break;\n\n case 'xlinkArcrole':\n setValueForNamespacedAttribute(domElement, xlinkNamespace, 'xlink:arcrole', value);\n break;\n\n case 'xlinkRole':\n setValueForNamespacedAttribute(domElement, xlinkNamespace, 'xlink:role', value);\n break;\n\n case 'xlinkShow':\n setValueForNamespacedAttribute(domElement, xlinkNamespace, 'xlink:show', value);\n break;\n\n case 'xlinkTitle':\n setValueForNamespacedAttribute(domElement, xlinkNamespace, 'xlink:title', value);\n break;\n\n case 'xlinkType':\n setValueForNamespacedAttribute(domElement, xlinkNamespace, 'xlink:type', value);\n break;\n\n case 'xmlBase':\n setValueForNamespacedAttribute(domElement, xmlNamespace, 'xml:base', value);\n break;\n\n case 'xmlLang':\n setValueForNamespacedAttribute(domElement, xmlNamespace, 'xml:lang', value);\n break;\n\n case 'xmlSpace':\n setValueForNamespacedAttribute(domElement, xmlNamespace, 'xml:space', value);\n break;\n // Properties that should not be allowed on custom elements.\n\n case 'is':\n {\n {\n if (prevValue != null) {\n error('Cannot update the \"is\" prop after it has been initialized.');\n }\n } // TODO: We shouldn't actually set this attribute, because we've already\n // passed it to createElement. We don't also need the attribute.\n // However, our tests currently query for it so it's plausible someone\n // else does too so it's break.\n\n\n setValueForAttribute(domElement, 'is', value);\n break;\n }\n\n case 'innerText':\n case 'textContent':\n\n // Fall through\n\n default:\n {\n if (key.length > 2 && (key[0] === 'o' || key[0] === 'O') && (key[1] === 'n' || key[1] === 'N')) {\n if (registrationNameDependencies.hasOwnProperty(key) && value != null && typeof value !== 'function') {\n warnForInvalidEventListener(key, value);\n }\n } else {\n var attributeName = getAttributeAlias(key);\n setValueForAttribute(domElement, attributeName, value);\n }\n }\n }\n}\n\nfunction setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case 'style':\n {\n setValueForStyles(domElement, value, prevValue);\n break;\n }\n\n case 'dangerouslySetInnerHTML':\n {\n if (value != null) {\n if (typeof value !== 'object' || !('__html' in value)) {\n throw new Error('`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://reactjs.org/link/dangerously-set-inner-html ' + 'for more information.');\n }\n\n var nextHtml = value.__html;\n\n if (nextHtml != null) {\n if (props.children != null) {\n throw new Error('Can only set one of `children` or `props.dangerouslySetInnerHTML`.');\n }\n\n {\n setInnerHTML$1(domElement, nextHtml);\n }\n }\n }\n\n break;\n }\n\n case 'children':\n {\n if (typeof value === 'string') {\n setTextContent(domElement, value);\n } else if (typeof value === 'number') {\n setTextContent(domElement, '' + value);\n }\n\n break;\n }\n\n case 'onScroll':\n {\n if (value != null) {\n if (typeof value !== 'function') {\n warnForInvalidEventListener(key, value);\n }\n\n listenToNonDelegatedEvent('scroll', domElement);\n }\n\n break;\n }\n\n case 'onScrollEnd':\n {\n if (value != null) {\n if (typeof value !== 'function') {\n warnForInvalidEventListener(key, value);\n }\n\n listenToNonDelegatedEvent('scrollend', domElement);\n }\n\n break;\n }\n\n case 'onClick':\n {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n if (value != null) {\n if (typeof value !== 'function') {\n warnForInvalidEventListener(key, value);\n }\n\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n case 'suppressContentEditableWarning':\n case 'suppressHydrationWarning':\n case 'innerHTML':\n case 'ref':\n {\n // Noop\n break;\n }\n\n case 'innerText': // Properties\n\n case 'textContent':\n\n // Fall through\n\n default:\n {\n if (registrationNameDependencies.hasOwnProperty(key)) {\n if (value != null && typeof value !== 'function') {\n warnForInvalidEventListener(key, value);\n }\n } else {\n {\n if (typeof value === 'boolean') {\n // Special case before the new flag is on\n value = '' + value;\n }\n\n setValueForAttribute(domElement, key, value);\n }\n }\n }\n }\n}\n\nfunction setInitialProperties(domElement, tag, props) {\n {\n validatePropertiesInDevelopment(tag, props);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n switch (tag) {\n case 'div':\n case 'span':\n case 'svg':\n case 'path':\n case 'a':\n case 'g':\n case 'p':\n case 'li':\n {\n // Fast track the most common tag types\n break;\n }\n\n case 'input':\n {\n {\n checkControlledValueProps('input', props);\n } // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n\n listenToNonDelegatedEvent('invalid', domElement);\n var name = null;\n var type = null;\n var value = null;\n var defaultValue = null;\n var checked = null;\n var defaultChecked = null;\n\n for (var propKey in props) {\n if (!props.hasOwnProperty(propKey)) {\n continue;\n }\n\n var propValue = props[propKey];\n\n if (propValue == null) {\n continue;\n }\n\n switch (propKey) {\n case 'name':\n {\n name = propValue;\n break;\n }\n\n case 'type':\n {\n type = propValue;\n break;\n }\n\n case 'checked':\n {\n checked = propValue;\n break;\n }\n\n case 'defaultChecked':\n {\n defaultChecked = propValue;\n break;\n }\n\n case 'value':\n {\n value = propValue;\n break;\n }\n\n case 'defaultValue':\n {\n defaultValue = propValue;\n break;\n }\n\n case 'children':\n case 'dangerouslySetInnerHTML':\n {\n if (propValue != null) {\n throw new Error(tag + \" is a void element tag and must neither have `children` nor \" + 'use `dangerouslySetInnerHTML`.');\n }\n\n break;\n }\n\n default:\n {\n setProp(domElement, tag, propKey, propValue, props, null);\n }\n }\n } // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n\n\n validateInputProps(domElement, props);\n initInput(domElement, value, defaultValue, checked, defaultChecked, type, name, false);\n track(domElement);\n return;\n }\n\n case 'select':\n {\n {\n checkControlledValueProps('select', props);\n } // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n\n listenToNonDelegatedEvent('invalid', domElement);\n var _value = null;\n var _defaultValue = null;\n var multiple = null;\n\n for (var _propKey in props) {\n if (!props.hasOwnProperty(_propKey)) {\n continue;\n }\n\n var _propValue = props[_propKey];\n\n if (_propValue == null) {\n continue;\n }\n\n switch (_propKey) {\n case 'value':\n {\n _value = _propValue; // This is handled by initSelect below.\n\n break;\n }\n\n case 'defaultValue':\n {\n _defaultValue = _propValue; // This is handled by initSelect below.\n\n break;\n }\n\n case 'multiple':\n {\n multiple = _propValue; // TODO: We don't actually have to fall through here because we set it\n // in initSelect anyway. We can remove the special case in setProp.\n }\n // Fallthrough\n\n default:\n {\n setProp(domElement, tag, _propKey, _propValue, props, null);\n }\n }\n }\n\n validateSelectProps(domElement, props);\n initSelect(domElement, _value, _defaultValue, multiple);\n return;\n }\n\n case 'textarea':\n {\n {\n checkControlledValueProps('textarea', props);\n } // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n\n listenToNonDelegatedEvent('invalid', domElement);\n var _value2 = null;\n var _defaultValue2 = null;\n var children = null;\n\n for (var _propKey2 in props) {\n if (!props.hasOwnProperty(_propKey2)) {\n continue;\n }\n\n var _propValue2 = props[_propKey2];\n\n if (_propValue2 == null) {\n continue;\n }\n\n switch (_propKey2) {\n case 'value':\n {\n _value2 = _propValue2; // This is handled by initTextarea below.\n\n break;\n }\n\n case 'defaultValue':\n {\n _defaultValue2 = _propValue2;\n break;\n }\n\n case 'children':\n {\n children = _propValue2; // Handled by initTextarea above.\n\n break;\n }\n\n case 'dangerouslySetInnerHTML':\n {\n if (_propValue2 != null) {\n // TODO: Do we really need a special error message for this. It's also pretty blunt.\n throw new Error('`dangerouslySetInnerHTML` does not make sense on <textarea>.');\n }\n\n break;\n }\n\n default:\n {\n setProp(domElement, tag, _propKey2, _propValue2, props, null);\n }\n }\n } // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n\n\n validateTextareaProps(domElement, props);\n initTextarea(domElement, _value2, _defaultValue2, children);\n track(domElement);\n return;\n }\n\n case 'option':\n {\n validateOptionProps(domElement, props);\n\n for (var _propKey3 in props) {\n if (!props.hasOwnProperty(_propKey3)) {\n continue;\n }\n\n var _propValue3 = props[_propKey3];\n\n if (_propValue3 == null) {\n continue;\n }\n\n switch (_propKey3) {\n case 'selected':\n {\n // TODO: Remove support for selected on option.\n domElement.selected = _propValue3 && typeof _propValue3 !== 'function' && typeof _propValue3 !== 'symbol';\n break;\n }\n\n default:\n {\n setProp(domElement, tag, _propKey3, _propValue3, props, null);\n }\n }\n }\n\n return;\n }\n\n case 'dialog':\n {\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n break;\n }\n\n case 'iframe':\n case 'object':\n {\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n break;\n }\n\n case 'video':\n case 'audio':\n {\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n break;\n }\n\n case 'image':\n {\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n break;\n }\n\n case 'details':\n {\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n break;\n }\n\n case 'embed':\n case 'source':\n case 'img':\n case 'link':\n {\n // These are void elements that also need delegated events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement); // We fallthrough to the return of the void elements\n }\n\n case 'area':\n case 'base':\n case 'br':\n case 'col':\n case 'hr':\n case 'keygen':\n case 'meta':\n case 'param':\n case 'track':\n case 'wbr':\n case 'menuitem':\n {\n // Void elements\n for (var _propKey4 in props) {\n if (!props.hasOwnProperty(_propKey4)) {\n continue;\n }\n\n var _propValue4 = props[_propKey4];\n\n if (_propValue4 == null) {\n continue;\n }\n\n switch (_propKey4) {\n case 'children':\n case 'dangerouslySetInnerHTML':\n {\n // TODO: Can we make this a DEV warning to avoid this deny list?\n throw new Error(tag + \" is a void element tag and must neither have `children` nor \" + 'use `dangerouslySetInnerHTML`.');\n }\n // defaultChecked and defaultValue are ignored by setProp\n\n default:\n {\n setProp(domElement, tag, _propKey4, _propValue4, props, null);\n }\n }\n }\n\n return;\n }\n\n default:\n {\n if (isCustomElement(tag)) {\n for (var _propKey5 in props) {\n if (!props.hasOwnProperty(_propKey5)) {\n continue;\n }\n\n var _propValue5 = props[_propKey5];\n\n if (_propValue5 == null) {\n continue;\n }\n\n setPropOnCustomElement(domElement, tag, _propKey5, _propValue5, props, null);\n }\n\n return;\n }\n }\n }\n\n for (var _propKey6 in props) {\n if (!props.hasOwnProperty(_propKey6)) {\n continue;\n }\n\n var _propValue6 = props[_propKey6];\n\n if (_propValue6 == null) {\n continue;\n }\n\n setProp(domElement, tag, _propKey6, _propValue6, props, null);\n }\n}\nfunction updateProperties(domElement, tag, lastProps, nextProps) {\n {\n validatePropertiesInDevelopment(tag, nextProps);\n }\n\n switch (tag) {\n case 'div':\n case 'span':\n case 'svg':\n case 'path':\n case 'a':\n case 'g':\n case 'p':\n case 'li':\n {\n // Fast track the most common tag types\n break;\n }\n\n case 'input':\n {\n var name = null;\n var type = null;\n var value = null;\n var defaultValue = null;\n var lastDefaultValue = null;\n var checked = null;\n var defaultChecked = null;\n\n for (var propKey in lastProps) {\n var lastProp = lastProps[propKey];\n\n if (lastProps.hasOwnProperty(propKey) && lastProp != null) {\n switch (propKey) {\n case 'checked':\n {\n break;\n }\n\n case 'value':\n {\n // This is handled by updateWrapper below.\n break;\n }\n\n case 'defaultValue':\n {\n lastDefaultValue = lastProp;\n }\n // defaultChecked and defaultValue are ignored by setProp\n // Fallthrough\n\n default:\n {\n if (!nextProps.hasOwnProperty(propKey)) setProp(domElement, tag, propKey, null, nextProps, lastProp);\n }\n }\n }\n }\n\n for (var _propKey7 in nextProps) {\n var nextProp = nextProps[_propKey7];\n var _lastProp = lastProps[_propKey7];\n\n if (nextProps.hasOwnProperty(_propKey7) && (nextProp != null || _lastProp != null)) {\n switch (_propKey7) {\n case 'type':\n {\n type = nextProp;\n break;\n }\n\n case 'name':\n {\n name = nextProp;\n break;\n }\n\n case 'checked':\n {\n checked = nextProp;\n break;\n }\n\n case 'defaultChecked':\n {\n defaultChecked = nextProp;\n break;\n }\n\n case 'value':\n {\n value = nextProp;\n break;\n }\n\n case 'defaultValue':\n {\n defaultValue = nextProp;\n break;\n }\n\n case 'children':\n case 'dangerouslySetInnerHTML':\n {\n if (nextProp != null) {\n throw new Error(tag + \" is a void element tag and must neither have `children` nor \" + 'use `dangerouslySetInnerHTML`.');\n }\n\n break;\n }\n\n default:\n {\n if (nextProp !== _lastProp) setProp(domElement, tag, _propKey7, nextProp, nextProps, _lastProp);\n }\n }\n }\n }\n\n {\n var wasControlled = lastProps.type === 'checkbox' || lastProps.type === 'radio' ? lastProps.checked != null : lastProps.value != null;\n var isControlled = nextProps.type === 'checkbox' || nextProps.type === 'radio' ? nextProps.checked != null : nextProps.value != null;\n\n if (!wasControlled && isControlled && !didWarnUncontrolledToControlled) {\n error('A component is changing an uncontrolled input to be controlled. ' + 'This is likely caused by the value changing from undefined to ' + 'a defined value, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnUncontrolledToControlled = true;\n }\n\n if (wasControlled && !isControlled && !didWarnControlledToUncontrolled) {\n error('A component is changing a controlled input to be uncontrolled. ' + 'This is likely caused by the value changing from a defined to ' + 'undefined, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnControlledToUncontrolled = true;\n }\n } // Update the wrapper around inputs *after* updating props. This has to\n // happen after updating the rest of props. Otherwise HTML5 input validations\n // raise warnings and prevent the new value from being assigned.\n\n\n updateInput(domElement, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name);\n return;\n }\n\n case 'select':\n {\n var _value3 = null;\n var _defaultValue3 = null;\n var multiple = null;\n var wasMultiple = null;\n\n for (var _propKey8 in lastProps) {\n var _lastProp2 = lastProps[_propKey8];\n\n if (lastProps.hasOwnProperty(_propKey8) && _lastProp2 != null) {\n switch (_propKey8) {\n case 'value':\n {\n // This is handled by updateWrapper below.\n break;\n }\n // defaultValue are ignored by setProp\n\n case 'multiple':\n {\n wasMultiple = _lastProp2; // TODO: Move special case in here from setProp.\n }\n // Fallthrough\n\n default:\n {\n if (!nextProps.hasOwnProperty(_propKey8)) setProp(domElement, tag, _propKey8, null, nextProps, _lastProp2);\n }\n }\n }\n }\n\n for (var _propKey9 in nextProps) {\n var _nextProp = nextProps[_propKey9];\n var _lastProp3 = lastProps[_propKey9];\n\n if (nextProps.hasOwnProperty(_propKey9) && (_nextProp != null || _lastProp3 != null)) {\n switch (_propKey9) {\n case 'value':\n {\n _value3 = _nextProp; // This is handled by updateSelect below.\n\n break;\n }\n\n case 'defaultValue':\n {\n _defaultValue3 = _nextProp;\n break;\n }\n\n case 'multiple':\n {\n multiple = _nextProp; // TODO: Just move the special case in here from setProp.\n }\n // Fallthrough\n\n default:\n {\n if (_nextProp !== _lastProp3) setProp(domElement, tag, _propKey9, _nextProp, nextProps, _lastProp3);\n }\n }\n }\n } // <select> value update needs to occur after <option> children\n // reconciliation\n\n\n updateSelect(domElement, _value3, _defaultValue3, multiple, wasMultiple);\n return;\n }\n\n case 'textarea':\n {\n var _value4 = null;\n var _defaultValue4 = null;\n\n for (var _propKey10 in lastProps) {\n var _lastProp4 = lastProps[_propKey10];\n\n if (lastProps.hasOwnProperty(_propKey10) && _lastProp4 != null && !nextProps.hasOwnProperty(_propKey10)) {\n switch (_propKey10) {\n case 'value':\n {\n // This is handled by updateTextarea below.\n break;\n }\n\n case 'children':\n {\n // TODO: This doesn't actually do anything if it updates.\n break;\n }\n // defaultValue is ignored by setProp\n\n default:\n {\n setProp(domElement, tag, _propKey10, null, nextProps, _lastProp4);\n }\n }\n }\n }\n\n for (var _propKey11 in nextProps) {\n var _nextProp2 = nextProps[_propKey11];\n var _lastProp5 = lastProps[_propKey11];\n\n if (nextProps.hasOwnProperty(_propKey11) && (_nextProp2 != null || _lastProp5 != null)) {\n switch (_propKey11) {\n case 'value':\n {\n _value4 = _nextProp2; // This is handled by updateTextarea below.\n\n break;\n }\n\n case 'defaultValue':\n {\n _defaultValue4 = _nextProp2;\n break;\n }\n\n case 'children':\n {\n // TODO: This doesn't actually do anything if it updates.\n break;\n }\n\n case 'dangerouslySetInnerHTML':\n {\n if (_nextProp2 != null) {\n // TODO: Do we really need a special error message for this. It's also pretty blunt.\n throw new Error('`dangerouslySetInnerHTML` does not make sense on <textarea>.');\n }\n\n break;\n }\n\n default:\n {\n if (_nextProp2 !== _lastProp5) setProp(domElement, tag, _propKey11, _nextProp2, nextProps, _lastProp5);\n }\n }\n }\n }\n\n updateTextarea(domElement, _value4, _defaultValue4);\n return;\n }\n\n case 'option':\n {\n for (var _propKey12 in lastProps) {\n var _lastProp6 = lastProps[_propKey12];\n\n if (lastProps.hasOwnProperty(_propKey12) && _lastProp6 != null && !nextProps.hasOwnProperty(_propKey12)) {\n switch (_propKey12) {\n case 'selected':\n {\n // TODO: Remove support for selected on option.\n domElement.selected = false;\n break;\n }\n\n default:\n {\n setProp(domElement, tag, _propKey12, null, nextProps, _lastProp6);\n }\n }\n }\n }\n\n for (var _propKey13 in nextProps) {\n var _nextProp3 = nextProps[_propKey13];\n var _lastProp7 = lastProps[_propKey13];\n\n if (nextProps.hasOwnProperty(_propKey13) && _nextProp3 !== _lastProp7 && (_nextProp3 != null || _lastProp7 != null)) {\n switch (_propKey13) {\n case 'selected':\n {\n // TODO: Remove support for selected on option.\n domElement.selected = _nextProp3 && typeof _nextProp3 !== 'function' && typeof _nextProp3 !== 'symbol';\n break;\n }\n\n default:\n {\n setProp(domElement, tag, _propKey13, _nextProp3, nextProps, _lastProp7);\n }\n }\n }\n }\n\n return;\n }\n\n case 'img':\n case 'link':\n case 'area':\n case 'base':\n case 'br':\n case 'col':\n case 'embed':\n case 'hr':\n case 'keygen':\n case 'meta':\n case 'param':\n case 'source':\n case 'track':\n case 'wbr':\n case 'menuitem':\n {\n // Void elements\n for (var _propKey14 in lastProps) {\n var _lastProp8 = lastProps[_propKey14];\n\n if (lastProps.hasOwnProperty(_propKey14) && _lastProp8 != null && !nextProps.hasOwnProperty(_propKey14)) {\n setProp(domElement, tag, _propKey14, null, nextProps, _lastProp8);\n }\n }\n\n for (var _propKey15 in nextProps) {\n var _nextProp4 = nextProps[_propKey15];\n var _lastProp9 = lastProps[_propKey15];\n\n if (nextProps.hasOwnProperty(_propKey15) && _nextProp4 !== _lastProp9 && (_nextProp4 != null || _lastProp9 != null)) {\n switch (_propKey15) {\n case 'children':\n case 'dangerouslySetInnerHTML':\n {\n if (_nextProp4 != null) {\n // TODO: Can we make this a DEV warning to avoid this deny list?\n throw new Error(tag + \" is a void element tag and must neither have `children` nor \" + 'use `dangerouslySetInnerHTML`.');\n }\n\n break;\n }\n // defaultChecked and defaultValue are ignored by setProp\n\n default:\n {\n setProp(domElement, tag, _propKey15, _nextProp4, nextProps, _lastProp9);\n }\n }\n }\n }\n\n return;\n }\n\n default:\n {\n if (isCustomElement(tag)) {\n for (var _propKey16 in lastProps) {\n var _lastProp10 = lastProps[_propKey16];\n\n if (lastProps.hasOwnProperty(_propKey16) && _lastProp10 != null && !nextProps.hasOwnProperty(_propKey16)) {\n setPropOnCustomElement(domElement, tag, _propKey16, null, nextProps, _lastProp10);\n }\n }\n\n for (var _propKey17 in nextProps) {\n var _nextProp5 = nextProps[_propKey17];\n var _lastProp11 = lastProps[_propKey17];\n\n if (nextProps.hasOwnProperty(_propKey17) && _nextProp5 !== _lastProp11 && (_nextProp5 != null || _lastProp11 != null)) {\n setPropOnCustomElement(domElement, tag, _propKey17, _nextProp5, nextProps, _lastProp11);\n }\n }\n\n return;\n }\n }\n }\n\n for (var _propKey18 in lastProps) {\n var _lastProp12 = lastProps[_propKey18];\n\n if (lastProps.hasOwnProperty(_propKey18) && _lastProp12 != null && !nextProps.hasOwnProperty(_propKey18)) {\n setProp(domElement, tag, _propKey18, null, nextProps, _lastProp12);\n }\n }\n\n for (var _propKey19 in nextProps) {\n var _nextProp6 = nextProps[_propKey19];\n var _lastProp13 = lastProps[_propKey19];\n\n if (nextProps.hasOwnProperty(_propKey19) && _nextProp6 !== _lastProp13 && (_nextProp6 != null || _lastProp13 != null)) {\n setProp(domElement, tag, _propKey19, _nextProp6, nextProps, _lastProp13);\n }\n }\n}\n\nfunction getPossibleStandardName(propName) {\n {\n var lowerCasedName = propName.toLowerCase();\n\n if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n return null;\n }\n\n return possibleStandardNames[lowerCasedName] || null;\n }\n}\n\nfunction diffHydratedStyles(domElement, value) {\n if (value != null && typeof value !== 'object') {\n throw new Error('The `style` prop expects a mapping from style properties to values, ' + \"not a string. For example, style={{marginRight: spacing + 'em'}} when \" + 'using JSX.');\n }\n\n if (canDiffStyleForHydrationWarning) {\n var expectedStyle = createDangerousStringForStyles(value);\n var serverValue = domElement.getAttribute('style');\n warnForPropDifference('style', serverValue, expectedStyle);\n }\n}\n\nfunction hydrateAttribute(domElement, propKey, attributeName, value, extraAttributes) {\n extraAttributes.delete(attributeName);\n var serverValue = domElement.getAttribute(attributeName);\n\n if (serverValue === null) {\n switch (typeof value) {\n case 'undefined':\n case 'function':\n case 'symbol':\n case 'boolean':\n return;\n }\n } else {\n if (value == null) ; else {\n switch (typeof value) {\n case 'function':\n case 'symbol':\n case 'boolean':\n break;\n\n default:\n {\n {\n checkAttributeStringCoercion(value, propKey);\n }\n\n if (serverValue === '' + value) {\n return;\n }\n }\n }\n }\n }\n\n warnForPropDifference(propKey, serverValue, value);\n}\n\nfunction hydrateBooleanAttribute(domElement, propKey, attributeName, value, extraAttributes) {\n extraAttributes.delete(attributeName);\n var serverValue = domElement.getAttribute(attributeName);\n\n if (serverValue === null) {\n switch (typeof value) {\n case 'function':\n case 'symbol':\n return;\n }\n\n if (!value) {\n return;\n }\n } else {\n switch (typeof value) {\n case 'function':\n case 'symbol':\n break;\n\n default:\n {\n if (value) {\n // If this was a boolean, it doesn't matter what the value is\n // the fact that we have it is the same as the expected.\n // As long as it's positive.\n return;\n }\n }\n }\n }\n\n warnForPropDifference(propKey, serverValue, value);\n}\n\nfunction hydrateOverloadedBooleanAttribute(domElement, propKey, attributeName, value, extraAttributes) {\n extraAttributes.delete(attributeName);\n var serverValue = domElement.getAttribute(attributeName);\n\n if (serverValue === null) {\n switch (typeof value) {\n case 'undefined':\n case 'function':\n case 'symbol':\n return;\n\n default:\n if (value === false) {\n return;\n }\n\n }\n } else {\n if (value == null) ; else {\n switch (typeof value) {\n case 'function':\n case 'symbol':\n break;\n\n case 'boolean':\n if (value === true && serverValue === '') {\n return;\n }\n\n break;\n\n default:\n {\n {\n checkAttributeStringCoercion(value, propKey);\n }\n\n if (serverValue === '' + value) {\n return;\n }\n }\n }\n }\n }\n\n warnForPropDifference(propKey, serverValue, value);\n}\n\nfunction hydrateBooleanishAttribute(domElement, propKey, attributeName, value, extraAttributes) {\n extraAttributes.delete(attributeName);\n var serverValue = domElement.getAttribute(attributeName);\n\n if (serverValue === null) {\n switch (typeof value) {\n case 'undefined':\n case 'function':\n case 'symbol':\n return;\n }\n } else {\n if (value == null) ; else {\n switch (typeof value) {\n case 'function':\n case 'symbol':\n break;\n\n default:\n {\n {\n checkAttributeStringCoercion(value, attributeName);\n }\n\n if (serverValue === '' + value) {\n return;\n }\n }\n }\n }\n }\n\n warnForPropDifference(propKey, serverValue, value);\n}\n\nfunction hydrateNumericAttribute(domElement, propKey, attributeName, value, extraAttributes) {\n extraAttributes.delete(attributeName);\n var serverValue = domElement.getAttribute(attributeName);\n\n if (serverValue === null) {\n switch (typeof value) {\n case 'undefined':\n case 'function':\n case 'symbol':\n case 'boolean':\n return;\n\n default:\n if (isNaN(value)) {\n return;\n }\n\n }\n } else {\n if (value == null) ; else {\n switch (typeof value) {\n case 'function':\n case 'symbol':\n case 'boolean':\n break;\n\n default:\n {\n if (isNaN(value)) {\n // We had an attribute but shouldn't have had one, so read it\n // for the error message.\n break;\n }\n\n {\n checkAttributeStringCoercion(value, propKey);\n }\n\n if (serverValue === '' + value) {\n return;\n }\n }\n }\n }\n }\n\n warnForPropDifference(propKey, serverValue, value);\n}\n\nfunction hydratePositiveNumericAttribute(domElement, propKey, attributeName, value, extraAttributes) {\n extraAttributes.delete(attributeName);\n var serverValue = domElement.getAttribute(attributeName);\n\n if (serverValue === null) {\n switch (typeof value) {\n case 'undefined':\n case 'function':\n case 'symbol':\n case 'boolean':\n return;\n\n default:\n if (isNaN(value) || value < 1) {\n return;\n }\n\n }\n } else {\n if (value == null) ; else {\n switch (typeof value) {\n case 'function':\n case 'symbol':\n case 'boolean':\n break;\n\n default:\n {\n if (isNaN(value) || value < 1) {\n // We had an attribute but shouldn't have had one, so read it\n // for the error message.\n break;\n }\n\n {\n checkAttributeStringCoercion(value, propKey);\n }\n\n if (serverValue === '' + value) {\n return;\n }\n }\n }\n }\n }\n\n warnForPropDifference(propKey, serverValue, value);\n}\n\nfunction hydrateSanitizedAttribute(domElement, propKey, attributeName, value, extraAttributes) {\n extraAttributes.delete(attributeName);\n var serverValue = domElement.getAttribute(attributeName);\n\n if (serverValue === null) {\n switch (typeof value) {\n case 'undefined':\n case 'function':\n case 'symbol':\n case 'boolean':\n return;\n }\n } else {\n if (value == null) ; else {\n switch (typeof value) {\n case 'function':\n case 'symbol':\n case 'boolean':\n break;\n\n default:\n {\n {\n checkAttributeStringCoercion(value, propKey);\n }\n\n var sanitizedValue = sanitizeURL('' + value);\n\n if (serverValue === sanitizedValue) {\n return;\n }\n }\n }\n }\n }\n\n warnForPropDifference(propKey, serverValue, value);\n}\n\nfunction diffHydratedCustomComponent(domElement, tag, props, hostContext, extraAttributes) {\n for (var propKey in props) {\n if (!props.hasOwnProperty(propKey)) {\n continue;\n }\n\n var value = props[propKey];\n\n if (value == null) {\n continue;\n }\n\n if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (typeof value !== 'function') {\n warnForInvalidEventListener(propKey, value);\n }\n\n continue;\n }\n\n if (props.suppressHydrationWarning === true) {\n // Don't bother comparing. We're ignoring all these warnings.\n continue;\n } // Validate that the properties correspond to their expected values.\n\n\n switch (propKey) {\n case 'children': // Checked above already\n\n case 'suppressContentEditableWarning':\n case 'suppressHydrationWarning':\n case 'defaultValue':\n case 'defaultChecked':\n case 'innerHTML':\n case 'ref':\n // Noop\n continue;\n\n case 'dangerouslySetInnerHTML':\n var serverHTML = domElement.innerHTML;\n var nextHtml = value ? value.__html : undefined;\n\n if (nextHtml != null) {\n var expectedHTML = normalizeHTML(domElement, nextHtml);\n warnForPropDifference(propKey, serverHTML, expectedHTML);\n }\n\n continue;\n\n case 'style':\n extraAttributes.delete(propKey);\n diffHydratedStyles(domElement, value);\n continue;\n\n case 'offsetParent':\n case 'offsetTop':\n case 'offsetLeft':\n case 'offsetWidth':\n case 'offsetHeight':\n case 'isContentEditable':\n case 'outerText':\n case 'outerHTML':\n\n // Fall through\n\n case 'className':\n\n // Fall through\n\n default:\n {\n // This is a DEV-only path\n var hostContextDev = hostContext;\n var hostContextProd = hostContextDev.context;\n\n if (hostContextProd === HostContextNamespaceNone && tag !== 'svg' && tag !== 'math') {\n extraAttributes.delete(propKey.toLowerCase());\n } else {\n extraAttributes.delete(propKey);\n }\n\n var _serverValue = getValueForAttributeOnCustomComponent(domElement, propKey, value);\n\n warnForPropDifference(propKey, _serverValue, value);\n }\n }\n }\n} // This is the exact URL string we expect that Fizz renders if we provide a function action.\n// We use this for hydration warnings. It needs to be in sync with Fizz. Maybe makes sense\n// as a shared module for that reason.\n\n\nvar EXPECTED_FORM_ACTION_URL = // eslint-disable-next-line no-script-url\n\"javascript:throw new Error('React form unexpectedly submitted.')\";\n\nfunction diffHydratedGenericElement(domElement, tag, props, hostContext, extraAttributes) {\n for (var propKey in props) {\n if (!props.hasOwnProperty(propKey)) {\n continue;\n }\n\n var value = props[propKey];\n\n if (value == null) {\n continue;\n }\n\n if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (typeof value !== 'function') {\n warnForInvalidEventListener(propKey, value);\n }\n\n continue;\n }\n\n if (props.suppressHydrationWarning === true) {\n // Don't bother comparing. We're ignoring all these warnings.\n continue;\n } // Validate that the properties correspond to their expected values.\n\n\n switch (propKey) {\n case 'children': // Checked above already\n\n case 'suppressContentEditableWarning':\n case 'suppressHydrationWarning':\n case 'value': // Controlled attributes are not validated\n\n case 'checked': // TODO: Only ignore them on controlled tags.\n\n case 'selected':\n case 'defaultValue':\n case 'defaultChecked':\n case 'innerHTML':\n case 'ref':\n // Noop\n continue;\n\n case 'dangerouslySetInnerHTML':\n var serverHTML = domElement.innerHTML;\n var nextHtml = value ? value.__html : undefined;\n\n if (nextHtml != null) {\n var expectedHTML = normalizeHTML(domElement, nextHtml);\n warnForPropDifference(propKey, serverHTML, expectedHTML);\n }\n\n continue;\n\n case 'className':\n hydrateAttribute(domElement, propKey, 'class', value, extraAttributes);\n continue;\n\n case 'tabIndex':\n hydrateAttribute(domElement, propKey, 'tabindex', value, extraAttributes);\n continue;\n\n case 'style':\n extraAttributes.delete(propKey);\n diffHydratedStyles(domElement, value);\n continue;\n\n case 'multiple':\n {\n extraAttributes.delete(propKey);\n var serverValue = domElement.multiple;\n warnForPropDifference(propKey, serverValue, value);\n continue;\n }\n\n case 'muted':\n {\n extraAttributes.delete(propKey);\n var _serverValue2 = domElement.muted;\n warnForPropDifference(propKey, _serverValue2, value);\n continue;\n }\n\n case 'autoFocus':\n {\n extraAttributes.delete('autofocus');\n var _serverValue3 = domElement.autofocus;\n warnForPropDifference(propKey, _serverValue3, value);\n continue;\n }\n\n case 'src':\n case 'href':\n\n hydrateSanitizedAttribute(domElement, propKey, propKey, value, extraAttributes);\n continue;\n\n case 'action':\n case 'formAction':\n {\n var _serverValue4 = domElement.getAttribute(propKey);\n\n if (typeof value === 'function') {\n extraAttributes.delete(propKey.toLowerCase()); // The server can set these extra properties to implement actions.\n // So we remove them from the extra attributes warnings.\n\n if (propKey === 'formAction') {\n extraAttributes.delete('name');\n extraAttributes.delete('formenctype');\n extraAttributes.delete('formmethod');\n extraAttributes.delete('formtarget');\n } else {\n extraAttributes.delete('enctype');\n extraAttributes.delete('method');\n extraAttributes.delete('target');\n } // Ideally we should be able to warn if the server value was not a function\n // however since the function can return any of these attributes any way it\n // wants as a custom progressive enhancement, there's nothing to compare to.\n // We can check if the function has the $FORM_ACTION property on the client\n // and if it's not, warn, but that's an unnecessary constraint that they\n // have to have the extra extension that doesn't do anything on the client.\n\n\n continue;\n } else if (_serverValue4 === EXPECTED_FORM_ACTION_URL) {\n extraAttributes.delete(propKey.toLowerCase());\n warnForPropDifference(propKey, 'function', value);\n continue;\n }\n }\n\n hydrateSanitizedAttribute(domElement, propKey, propKey.toLowerCase(), value, extraAttributes);\n continue;\n\n case 'xlinkHref':\n hydrateSanitizedAttribute(domElement, propKey, 'xlink:href', value, extraAttributes);\n continue;\n\n case 'contentEditable':\n {\n // Lower-case Booleanish String\n hydrateBooleanishAttribute(domElement, propKey, 'contenteditable', value, extraAttributes);\n continue;\n }\n\n case 'spellCheck':\n {\n // Lower-case Booleanish String\n hydrateBooleanishAttribute(domElement, propKey, 'spellcheck', value, extraAttributes);\n continue;\n }\n\n case 'draggable':\n case 'autoReverse':\n case 'externalResourcesRequired':\n case 'focusable':\n case 'preserveAlpha':\n {\n // Case-sensitive Booleanish String\n hydrateBooleanishAttribute(domElement, propKey, propKey, value, extraAttributes);\n continue;\n }\n\n case 'allowFullScreen':\n case 'async':\n case 'autoPlay':\n case 'controls':\n case 'default':\n case 'defer':\n case 'disabled':\n case 'disablePictureInPicture':\n case 'disableRemotePlayback':\n case 'formNoValidate':\n case 'hidden':\n case 'loop':\n case 'noModule':\n case 'noValidate':\n case 'open':\n case 'playsInline':\n case 'readOnly':\n case 'required':\n case 'reversed':\n case 'scoped':\n case 'seamless':\n case 'itemScope':\n {\n // Some of these need to be lower case to remove them from the extraAttributes list.\n hydrateBooleanAttribute(domElement, propKey, propKey.toLowerCase(), value, extraAttributes);\n continue;\n }\n\n case 'capture':\n case 'download':\n {\n hydrateOverloadedBooleanAttribute(domElement, propKey, propKey, value, extraAttributes);\n continue;\n }\n\n case 'cols':\n case 'rows':\n case 'size':\n case 'span':\n {\n hydratePositiveNumericAttribute(domElement, propKey, propKey, value, extraAttributes);\n continue;\n }\n\n case 'rowSpan':\n {\n hydrateNumericAttribute(domElement, propKey, 'rowspan', value, extraAttributes);\n continue;\n }\n\n case 'start':\n {\n hydrateNumericAttribute(domElement, propKey, propKey, value, extraAttributes);\n continue;\n }\n\n case 'xHeight':\n hydrateAttribute(domElement, propKey, 'x-height', value, extraAttributes);\n continue;\n\n case 'xlinkActuate':\n hydrateAttribute(domElement, propKey, 'xlink:actuate', value, extraAttributes);\n continue;\n\n case 'xlinkArcrole':\n hydrateAttribute(domElement, propKey, 'xlink:arcrole', value, extraAttributes);\n continue;\n\n case 'xlinkRole':\n hydrateAttribute(domElement, propKey, 'xlink:role', value, extraAttributes);\n continue;\n\n case 'xlinkShow':\n hydrateAttribute(domElement, propKey, 'xlink:show', value, extraAttributes);\n continue;\n\n case 'xlinkTitle':\n hydrateAttribute(domElement, propKey, 'xlink:title', value, extraAttributes);\n continue;\n\n case 'xlinkType':\n hydrateAttribute(domElement, propKey, 'xlink:type', value, extraAttributes);\n continue;\n\n case 'xmlBase':\n hydrateAttribute(domElement, propKey, 'xml:base', value, extraAttributes);\n continue;\n\n case 'xmlLang':\n hydrateAttribute(domElement, propKey, 'xml:lang', value, extraAttributes);\n continue;\n\n case 'xmlSpace':\n hydrateAttribute(domElement, propKey, 'xml:space', value, extraAttributes);\n continue;\n\n default:\n {\n if ( // shouldIgnoreAttribute\n // We have already filtered out null/undefined and reserved words.\n propKey.length > 2 && (propKey[0] === 'o' || propKey[0] === 'O') && (propKey[1] === 'n' || propKey[1] === 'N')) {\n continue;\n }\n\n var attributeName = getAttributeAlias(propKey);\n var isMismatchDueToBadCasing = false; // This is a DEV-only path\n\n var hostContextDev = hostContext;\n var hostContextProd = hostContextDev.context;\n\n if (hostContextProd === HostContextNamespaceNone && tag !== 'svg' && tag !== 'math') {\n extraAttributes.delete(attributeName.toLowerCase());\n } else {\n var standardName = getPossibleStandardName(propKey);\n\n if (standardName !== null && standardName !== propKey) {\n // If an SVG prop is supplied with bad casing, it will\n // be successfully parsed from HTML, but will produce a mismatch\n // (and would be incorrectly rendered on the client).\n // However, we already warn about bad casing elsewhere.\n // So we'll skip the misleading extra mismatch warning in this case.\n isMismatchDueToBadCasing = true;\n extraAttributes.delete(standardName);\n }\n\n extraAttributes.delete(attributeName);\n }\n\n var _serverValue5 = getValueForAttribute(domElement, attributeName, value);\n\n if (!isMismatchDueToBadCasing) {\n warnForPropDifference(propKey, _serverValue5, value);\n }\n }\n }\n }\n}\n\nfunction diffHydratedProperties(domElement, tag, props, isConcurrentMode, shouldWarnDev, hostContext) {\n {\n validatePropertiesInDevelopment(tag, props);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n break;\n\n case 'input':\n {\n checkControlledValueProps('input', props);\n } // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n\n listenToNonDelegatedEvent('invalid', domElement); // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n\n validateInputProps(domElement, props); // For input and textarea we current always set the value property at\n // post mount to force it to diverge from attributes. However, for\n // option and select we don't quite do the same thing and select\n // is not resilient to the DOM state changing so we don't do that here.\n // TODO: Consider not doing this for input and textarea.\n\n initInput(domElement, props.value, props.defaultValue, props.checked, props.defaultChecked, props.type, props.name, true);\n track(domElement);\n break;\n\n case 'option':\n validateOptionProps(domElement, props);\n break;\n\n case 'select':\n {\n checkControlledValueProps('select', props);\n } // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n\n listenToNonDelegatedEvent('invalid', domElement);\n validateSelectProps(domElement, props);\n break;\n\n case 'textarea':\n {\n checkControlledValueProps('textarea', props);\n } // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n\n listenToNonDelegatedEvent('invalid', domElement); // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n\n validateTextareaProps(domElement, props);\n initTextarea(domElement, props.value, props.defaultValue, props.children);\n track(domElement);\n break;\n }\n\n var children = props.children; // For text content children we compare against textContent. This\n // might match additional HTML that is hidden when we read it using\n // textContent. E.g. \"foo\" will match \"f<span>oo</span>\" but that still\n // satisfies our requirement. Our requirement is not to produce perfect\n // HTML and attributes. Ideally we should preserve structure but it's\n // ok not to if the visible content is still enough to indicate what\n // even listeners these nodes might be wired up to.\n // TODO: Warn if there is more than a single textNode as a child.\n // TODO: Should we use domElement.firstChild.nodeValue to compare?\n\n if (typeof children === 'string' || typeof children === 'number') {\n if (domElement.textContent !== '' + children) {\n if (props.suppressHydrationWarning !== true) {\n checkForUnmatchedText(domElement.textContent, children, isConcurrentMode, shouldWarnDev);\n }\n\n if (!isConcurrentMode || !enableClientRenderFallbackOnTextMismatch) {\n // We really should be patching this in the commit phase but since\n // this only affects legacy mode hydration which is deprecated anyway\n // we can get away with it.\n // Host singletons get their children appended and don't use the text\n // content mechanism.\n if (tag !== 'body') {\n domElement.textContent = children;\n }\n }\n }\n }\n\n if (props.onScroll != null) {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n\n if (props.onScrollEnd != null) {\n listenToNonDelegatedEvent('scrollend', domElement);\n }\n\n if (props.onClick != null) {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n if (shouldWarnDev) {\n var extraAttributes = new Set();\n var attributes = domElement.attributes;\n\n for (var _i = 0; _i < attributes.length; _i++) {\n var name = attributes[_i].name.toLowerCase();\n\n switch (name) {\n // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n case 'value':\n break;\n\n case 'checked':\n break;\n\n case 'selected':\n break;\n\n default:\n // Intentionally use the original name.\n // See discussion in https://github.com/facebook/react/pull/10676.\n extraAttributes.add(attributes[_i].name);\n }\n }\n\n if (isCustomElement(tag)) {\n diffHydratedCustomComponent(domElement, tag, props, hostContext, extraAttributes);\n } else {\n diffHydratedGenericElement(domElement, tag, props, hostContext, extraAttributes);\n }\n\n if (extraAttributes.size > 0 && props.suppressHydrationWarning !== true) {\n warnForExtraAttributes(extraAttributes);\n }\n }\n}\nfunction diffHydratedText(textNode, text, isConcurrentMode) {\n var isDifferent = textNode.nodeValue !== text;\n return isDifferent;\n}\nfunction warnForDeletedHydratableElement(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForDeletedHydratableText(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain the text node \"%s\" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedElement(parentNode, tag, props) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedText(parentNode, text) {\n {\n if (text === '') {\n // We expect to insert empty text nodes since they're not represented in\n // the HTML.\n // TODO: Remove this special case if we can just avoid inserting empty\n // text nodes.\n return;\n }\n\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching text node for \"%s\" in <%s>.', text, parentNode.nodeName.toLowerCase());\n }\n}\nfunction restoreControlledState(domElement, tag, props) {\n switch (tag) {\n case 'input':\n restoreControlledInputState(domElement, props);\n return;\n\n case 'textarea':\n restoreControlledTextareaState(domElement, props);\n return;\n\n case 'select':\n restoreControlledSelectState(domElement, props);\n return;\n }\n}\n\nfunction validateLinkPropsForStyleResource(props) {\n {\n // This should only be called when we know we are opting into Resource semantics (i.e. precedence is not null)\n var href = props.href,\n onLoad = props.onLoad,\n onError = props.onError,\n disabled = props.disabled;\n var includedProps = [];\n if (onLoad) includedProps.push('`onLoad`');\n if (onError) includedProps.push('`onError`');\n if (disabled != null) includedProps.push('`disabled`');\n var includedPropsPhrase = propNamesListJoin(includedProps, 'and');\n includedPropsPhrase += includedProps.length === 1 ? ' prop' : ' props';\n var withArticlePhrase = includedProps.length === 1 ? 'an ' + includedPropsPhrase : 'the ' + includedPropsPhrase;\n\n if (includedProps.length) {\n error('React encountered a <link rel=\"stylesheet\" href=\"%s\" ... /> with a `precedence` prop that' + ' also included %s. The presence of loading and error handlers indicates an intent to manage' + ' the stylesheet loading state from your from your Component code and React will not hoist or' + ' deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet' + ' using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.', href, withArticlePhrase, includedPropsPhrase);\n\n return true;\n }\n }\n\n return false;\n}\n\nfunction propNamesListJoin(list, combinator) {\n switch (list.length) {\n case 0:\n return '';\n\n case 1:\n return list[0];\n\n case 2:\n return list[0] + ' ' + combinator + ' ' + list[1];\n\n default:\n return list.slice(0, -1).join(', ') + ', ' + combinator + ' ' + list[list.length - 1];\n }\n}\n\nvar SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';\nvar SUSPENSE_START_DATA = '$';\nvar SUSPENSE_END_DATA = '/$';\nvar SUSPENSE_PENDING_START_DATA = '$?';\nvar SUSPENSE_FALLBACK_START_DATA = '$!';\nvar FORM_STATE_IS_MATCHING = 'F!';\nvar FORM_STATE_IS_NOT_MATCHING = 'F';\nvar STYLE = 'style';\nvar HostContextNamespaceNone = 0;\nvar HostContextNamespaceSvg = 1;\nvar HostContextNamespaceMath = 2;\nvar eventsEnabled = null;\nvar selectionInformation = null;\n\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n}\n\nfunction getRootHostContext(rootContainerInstance) {\n var type;\n var context;\n var nodeType = rootContainerInstance.nodeType;\n\n switch (nodeType) {\n case DOCUMENT_NODE:\n case DOCUMENT_FRAGMENT_NODE:\n {\n type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment';\n var root = rootContainerInstance.documentElement;\n\n if (root) {\n var namespaceURI = root.namespaceURI;\n context = namespaceURI ? getOwnHostContext(namespaceURI) : HostContextNamespaceNone;\n } else {\n context = HostContextNamespaceNone;\n }\n\n break;\n }\n\n default:\n {\n var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance;\n type = container.tagName;\n var _namespaceURI = container.namespaceURI;\n\n if (!_namespaceURI) {\n switch (type) {\n case 'svg':\n context = HostContextNamespaceSvg;\n break;\n\n case 'math':\n context = HostContextNamespaceMath;\n break;\n\n default:\n context = HostContextNamespaceNone;\n break;\n }\n } else {\n var ownContext = getOwnHostContext(_namespaceURI);\n context = getChildHostContextProd(ownContext, type);\n }\n\n break;\n }\n }\n\n {\n var validatedTag = type.toLowerCase();\n var ancestorInfo = updatedAncestorInfoDev(null, validatedTag);\n return {\n context: context,\n ancestorInfo: ancestorInfo\n };\n }\n}\n\nfunction getOwnHostContext(namespaceURI) {\n switch (namespaceURI) {\n case SVG_NAMESPACE:\n return HostContextNamespaceSvg;\n\n case MATH_NAMESPACE:\n return HostContextNamespaceMath;\n\n default:\n return HostContextNamespaceNone;\n }\n}\n\nfunction getChildHostContextProd(parentNamespace, type) {\n if (parentNamespace === HostContextNamespaceNone) {\n // No (or default) parent namespace: potential entry point.\n switch (type) {\n case 'svg':\n return HostContextNamespaceSvg;\n\n case 'math':\n return HostContextNamespaceMath;\n\n default:\n return HostContextNamespaceNone;\n }\n }\n\n if (parentNamespace === HostContextNamespaceSvg && type === 'foreignObject') {\n // We're leaving SVG.\n return HostContextNamespaceNone;\n } // By default, pass namespace below.\n\n\n return parentNamespace;\n}\n\nfunction getChildHostContext(parentHostContext, type) {\n {\n var parentHostContextDev = parentHostContext;\n var context = getChildHostContextProd(parentHostContextDev.context, type);\n var ancestorInfo = updatedAncestorInfoDev(parentHostContextDev.ancestorInfo, type);\n return {\n context: context,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getPublicInstance(instance) {\n return instance;\n}\nfunction prepareForCommit(containerInfo) {\n eventsEnabled = isEnabled();\n selectionInformation = getSelectionInformation();\n var activeInstance = null;\n\n setEnabled(false);\n return activeInstance;\n}\nfunction resetAfterCommit(containerInfo) {\n restoreSelection(selectionInformation);\n setEnabled(eventsEnabled);\n eventsEnabled = null;\n selectionInformation = null;\n}\nfunction createHoistableInstance(type, props, rootContainerInstance, internalInstanceHandle) {\n var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerInstance);\n var domElement = ownerDocument.createElement(type);\n precacheFiberNode(internalInstanceHandle, domElement);\n updateFiberProps(domElement, props);\n setInitialProperties(domElement, type, props);\n markNodeAsHoistable(domElement);\n return domElement;\n}\nvar warnedUnknownTags = {\n // There are working polyfills for <dialog>. Let people use it.\n dialog: true,\n // Electron ships a custom <webview> tag to display external web content in\n // an isolated frame and process.\n // This tag is not present in non Electron environments such as JSDom which\n // is often used for testing purposes.\n // @see https://electronjs.org/docs/api/webview-tag\n webview: true\n};\nfunction createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) {\n var hostContextProd;\n\n {\n // TODO: take namespace into account when validating.\n var hostContextDev = hostContext;\n validateDOMNesting(type, hostContextDev.ancestorInfo);\n hostContextProd = hostContextDev.context;\n }\n\n var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerInstance);\n var domElement;\n\n switch (hostContextProd) {\n case HostContextNamespaceSvg:\n domElement = ownerDocument.createElementNS(SVG_NAMESPACE, type);\n break;\n\n case HostContextNamespaceMath:\n domElement = ownerDocument.createElementNS(MATH_NAMESPACE, type);\n break;\n\n default:\n switch (type) {\n case 'svg':\n {\n domElement = ownerDocument.createElementNS(SVG_NAMESPACE, type);\n break;\n }\n\n case 'math':\n {\n domElement = ownerDocument.createElementNS(MATH_NAMESPACE, type);\n break;\n }\n\n case 'script':\n {\n // Create the script via .innerHTML so its \"parser-inserted\" flag is\n // set to true and it does not execute\n var div = ownerDocument.createElement('div');\n\n div.innerHTML = '<script><' + '/script>'; // eslint-disable-line\n // This is guaranteed to yield a script element.\n\n var firstChild = div.firstChild;\n domElement = div.removeChild(firstChild);\n break;\n }\n\n case 'select':\n {\n if (typeof props.is === 'string') {\n domElement = ownerDocument.createElement('select', {\n is: props.is\n });\n } else {\n // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n domElement = ownerDocument.createElement('select');\n }\n\n if (props.multiple) {\n domElement.multiple = true;\n } else if (props.size) {\n // Setting a size greater than 1 causes a select to behave like `multiple=true`, where\n // it is possible that no option is selected.\n //\n // This is only necessary when a select in \"single selection mode\".\n domElement.size = props.size;\n }\n\n break;\n }\n\n default:\n {\n if (typeof props.is === 'string') {\n domElement = ownerDocument.createElement(type, {\n is: props.is\n });\n } else {\n // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n domElement = ownerDocument.createElement(type);\n }\n\n {\n if (type.indexOf('-') === -1) {\n // We're not SVG/MathML and we don't have a dash, so we're not a custom element\n // Even if you use `is`, these should be of known type and lower case.\n if (type !== type.toLowerCase()) {\n error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);\n }\n\n if ( // $FlowFixMe[method-unbinding]\n Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !hasOwnProperty.call(warnedUnknownTags, type)) {\n warnedUnknownTags[type] = true;\n\n error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type);\n }\n }\n }\n }\n }\n\n }\n\n precacheFiberNode(internalInstanceHandle, domElement);\n updateFiberProps(domElement, props);\n return domElement;\n}\nfunction appendInitialChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction finalizeInitialChildren(domElement, type, props, hostContext) {\n setInitialProperties(domElement, type, props);\n\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n return !!props.autoFocus;\n\n case 'img':\n return true;\n\n default:\n return false;\n }\n}\nfunction shouldSetTextContent(type, props) {\n return type === 'textarea' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null;\n}\nfunction createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {\n {\n var hostContextDev = hostContext;\n var ancestor = hostContextDev.ancestorInfo.current;\n\n if (ancestor != null) {\n validateTextNesting(text, ancestor.tag);\n }\n }\n\n var textNode = getOwnerDocumentFromRootContainer(rootContainerInstance).createTextNode(text);\n precacheFiberNode(internalInstanceHandle, textNode);\n return textNode;\n}\nfunction getCurrentEventPriority() {\n var currentEvent = window.event;\n\n if (currentEvent === undefined) {\n return DefaultEventPriority;\n }\n\n return getEventPriority(currentEvent.type);\n}\nvar currentPopstateTransitionEvent = null;\nfunction shouldAttemptEagerTransition() {\n var event = window.event;\n\n if (event && event.type === 'popstate') {\n // This is a popstate event. Attempt to render any transition during this\n // event synchronously. Unless we already attempted during this event.\n if (event === currentPopstateTransitionEvent) {\n // We already attempted to render this popstate transition synchronously.\n // Any subsequent attempts must have happened as the result of a derived\n // update, like startTransition inside useEffect, or useDV. Switch back to\n // the default behavior for all remaining transitions during the current\n // popstate event.\n return false;\n } else {\n // Cache the current event in case a derived transition is scheduled.\n // (Refer to previous branch.)\n currentPopstateTransitionEvent = event;\n return true;\n }\n } // We're not inside a popstate event.\n\n\n currentPopstateTransitionEvent = null;\n return false;\n}\n// if a component just imports ReactDOM (e.g. for findDOMNode).\n// Some environments might not have setTimeout or clearTimeout.\n\nvar scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;\nvar cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;\nvar noTimeout = -1;\nvar localPromise = typeof Promise === 'function' ? Promise : undefined;\nfunction preparePortalMount(portalInstance) {\n listenToAllSupportedEvents(portalInstance);\n}\nvar scheduleMicrotask = typeof queueMicrotask === 'function' ? queueMicrotask : typeof localPromise !== 'undefined' ? function (callback) {\n return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);\n} : scheduleTimeout; // TODO: Determine the best fallback here.\n\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n} // -------------------\nfunction commitMount(domElement, type, newProps, internalInstanceHandle) {\n // Despite the naming that might imply otherwise, this method only\n // fires if there is an `Update` effect scheduled during mounting.\n // This happens if `finalizeInitialChildren` returns `true` (which it\n // does to implement the `autoFocus` attribute on the client). But\n // there are also other cases when this might happen (such as patching\n // up text content during hydration mismatch). So we'll check this again.\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n if (newProps.autoFocus) {\n domElement.focus();\n }\n\n return;\n\n case 'img':\n {\n if (newProps.src) {\n domElement.src = newProps.src;\n }\n\n return;\n }\n }\n}\nfunction commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) {\n // Diff and update the properties.\n updateProperties(domElement, type, oldProps, newProps); // Update the props handle so that we know which props are the ones with\n // with current event handlers.\n\n updateFiberProps(domElement, newProps);\n}\nfunction resetTextContent(domElement) {\n setTextContent(domElement, '');\n}\nfunction commitTextUpdate(textInstance, oldText, newText) {\n textInstance.nodeValue = newText;\n}\nfunction appendChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction appendChildToContainer(container, child) {\n var parentNode;\n\n if (container.nodeType === COMMENT_NODE) {\n parentNode = container.parentNode;\n parentNode.insertBefore(child, container);\n } else {\n parentNode = container;\n parentNode.appendChild(child);\n } // This container might be used for a portal.\n // If something inside a portal is clicked, that click should bubble\n // through the React tree. However, on Mobile Safari the click would\n // never bubble through the *DOM* tree unless an ancestor with onclick\n // event exists. So we wouldn't see it and dispatch it.\n // This is why we ensure that non React root containers have inline onclick\n // defined.\n // https://github.com/facebook/react/issues/11918\n\n\n var reactRootContainer = container._reactRootContainer;\n\n if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(parentNode);\n }\n}\nfunction insertBefore(parentInstance, child, beforeChild) {\n parentInstance.insertBefore(child, beforeChild);\n}\nfunction insertInContainerBefore(container, child, beforeChild) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.insertBefore(child, beforeChild);\n } else {\n container.insertBefore(child, beforeChild);\n }\n}\n\nfunction removeChild(parentInstance, child) {\n parentInstance.removeChild(child);\n}\nfunction removeChildFromContainer(container, child) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.removeChild(child);\n } else {\n container.removeChild(child);\n }\n}\nfunction clearSuspenseBoundary(parentInstance, suspenseInstance) {\n var node = suspenseInstance; // Delete all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n\n if (nextNode && nextNode.nodeType === COMMENT_NODE) {\n var data = nextNode.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n parentInstance.removeChild(nextNode); // Retry if any event replaying was blocked on this.\n\n retryIfBlockedOn(suspenseInstance);\n return;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_PENDING_START_DATA || data === SUSPENSE_FALLBACK_START_DATA) {\n depth++;\n }\n } // $FlowFixMe[incompatible-type] we bail out when we get a null\n\n\n node = nextNode;\n } while (node); // TODO: Warn, we didn't find the end comment boundary.\n // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(suspenseInstance);\n}\nfunction clearSuspenseBoundaryFromContainer(container, suspenseInstance) {\n if (container.nodeType === COMMENT_NODE) {\n clearSuspenseBoundary(container.parentNode, suspenseInstance);\n } else if (container.nodeType === ELEMENT_NODE) {\n clearSuspenseBoundary(container, suspenseInstance);\n } else ; // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(container);\n}\nfunction hideInstance(instance) {\n // TODO: Does this work for all element types? What about MathML? Should we\n // pass host context to this method?\n instance = instance;\n var style = instance.style; // $FlowFixMe[method-unbinding]\n\n if (typeof style.setProperty === 'function') {\n style.setProperty('display', 'none', 'important');\n } else {\n style.display = 'none';\n }\n}\nfunction hideTextInstance(textInstance) {\n textInstance.nodeValue = '';\n}\nfunction unhideInstance(instance, props) {\n instance = instance;\n var styleProp = props[STYLE];\n var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null;\n instance.style.display = display == null || typeof display === 'boolean' ? '' : // The value would've errored already if it wasn't safe.\n // eslint-disable-next-line react-internal/safe-string-coercion\n ('' + display).trim();\n}\nfunction unhideTextInstance(textInstance, text) {\n textInstance.nodeValue = text;\n}\nfunction clearContainer(container) {\n var nodeType = container.nodeType;\n\n if (nodeType === DOCUMENT_NODE) {\n clearContainerSparingly(container);\n } else if (nodeType === ELEMENT_NODE) {\n switch (container.nodeName) {\n case 'HEAD':\n case 'HTML':\n case 'BODY':\n clearContainerSparingly(container);\n return;\n\n default:\n {\n container.textContent = '';\n }\n }\n }\n}\n\nfunction clearContainerSparingly(container) {\n var node;\n var nextNode = container.firstChild;\n\n if (nextNode && nextNode.nodeType === DOCUMENT_TYPE_NODE) {\n nextNode = nextNode.nextSibling;\n }\n\n while (nextNode) {\n node = nextNode;\n nextNode = nextNode.nextSibling;\n\n switch (node.nodeName) {\n case 'HTML':\n case 'HEAD':\n case 'BODY':\n {\n var element = node;\n clearContainerSparingly(element); // If these singleton instances had previously been rendered with React they\n // may still hold on to references to the previous fiber tree. We detatch them\n // prospectively to reset them to a baseline starting state since we cannot create\n // new instances.\n\n detachDeletedInstance(element);\n continue;\n }\n // Script tags are retained to avoid an edge case bug. Normally scripts will execute if they\n // are ever inserted into the DOM. However when streaming if a script tag is opened but not\n // yet closed some browsers create and insert the script DOM Node but the script cannot execute\n // yet until the closing tag is parsed. If something causes React to call clearContainer while\n // this DOM node is in the document but not yet executable the DOM node will be removed from the\n // document and when the script closing tag comes in the script will not end up running. This seems\n // to happen in Chrome/Firefox but not Safari at the moment though this is not necessarily specified\n // behavior so it could change in future versions of browsers. While leaving all scripts is broader\n // than strictly necessary this is the least amount of additional code to avoid this breaking\n // edge case.\n //\n // Style tags are retained because they may likely come from 3rd party scripts and extensions\n\n case 'SCRIPT':\n case 'STYLE':\n {\n continue;\n }\n // Stylesheet tags are retained because tehy may likely come from 3rd party scripts and extensions\n\n case 'LINK':\n {\n if (node.rel.toLowerCase() === 'stylesheet') {\n continue;\n }\n }\n }\n\n container.removeChild(node);\n }\n\n return;\n} // Making this so we can eventually move all of the instance caching to the commit phase.\nfunction isHydratableText(text) {\n return text !== '';\n}\nfunction canHydrateInstance(instance, type, props, inRootOrSingleton) {\n while (instance.nodeType === ELEMENT_NODE) {\n var element = instance;\n var anyProps = props;\n\n if (element.nodeName.toLowerCase() !== type.toLowerCase()) {\n if (!inRootOrSingleton) {\n // Usually we error for mismatched tags.\n if (element.nodeName === 'INPUT' && element.type === 'hidden') ; else {\n return null;\n }\n } // In root or singleton parents we skip past mismatched instances.\n\n } else if (!inRootOrSingleton) {\n // Match\n if (type === 'input' && element.type === 'hidden') {\n {\n checkAttributeStringCoercion(anyProps.name, 'name');\n }\n\n var name = anyProps.name == null ? null : '' + anyProps.name;\n\n if (anyProps.type !== 'hidden' || element.getAttribute('name') !== name) ; else {\n return element;\n }\n } else {\n return element;\n }\n } else if (isMarkedHoistable(element)) ; else {\n // We have an Element with the right type.\n // We are going to try to exclude it if we can definitely identify it as a hoisted Node or if\n // we can guess that the node is likely hoisted or was inserted by a 3rd party script or browser extension\n // using high entropy attributes for certain types. This technique will fail for strange insertions like\n // extension prepending <div> in the <body> but that already breaks before and that is an edge case.\n switch (type) {\n // case 'title':\n //We assume all titles are matchable. You should only have one in the Document, at least in a hoistable scope\n // and if you are a HostComponent with type title we must either be in an <svg> context or this title must have an `itemProp` prop.\n case 'meta':\n {\n // The only way to opt out of hoisting meta tags is to give it an itemprop attribute. We assume there will be\n // not 3rd party meta tags that are prepended, accepting the cases where this isn't true because meta tags\n // are usually only functional for SSR so even in a rare case where we did bind to an injected tag the runtime\n // implications are minimal\n if (!element.hasAttribute('itemprop')) {\n // This is a Hoistable\n break;\n }\n\n return element;\n }\n\n case 'link':\n {\n // Links come in many forms and we do expect 3rd parties to inject them into <head> / <body>. We exclude known resources\n // and then use high-entroy attributes like href which are almost always used and almost always unique to filter out unlikely\n // matches.\n var rel = element.getAttribute('rel');\n\n if (rel === 'stylesheet' && element.hasAttribute('data-precedence')) {\n // This is a stylesheet resource\n break;\n } else if (rel !== anyProps.rel || element.getAttribute('href') !== (anyProps.href == null ? null : anyProps.href) || element.getAttribute('crossorigin') !== (anyProps.crossOrigin == null ? null : anyProps.crossOrigin) || element.getAttribute('title') !== (anyProps.title == null ? null : anyProps.title)) {\n // rel + href should usually be enough to uniquely identify a link however crossOrigin can vary for rel preconnect\n // and title could vary for rel alternate\n break;\n }\n\n return element;\n }\n\n case 'style':\n {\n // Styles are hard to match correctly. We can exclude known resources but otherwise we accept the fact that a non-hoisted style tags\n // in <head> or <body> are likely never going to be unmounted given their position in the document and the fact they likely hold global styles\n if (element.hasAttribute('data-precedence')) {\n // This is a style resource\n break;\n }\n\n return element;\n }\n\n case 'script':\n {\n // Scripts are a little tricky, we exclude known resources and then similar to links try to use high-entropy attributes\n // to reject poor matches. One challenge with scripts are inline scripts. We don't attempt to check text content which could\n // in theory lead to a hydration error later if a 3rd party injected an inline script before the React rendered nodes.\n // Falling back to client rendering if this happens should be seemless though so we will try this hueristic and revisit later\n // if we learn it is problematic\n var srcAttr = element.getAttribute('src');\n\n if (srcAttr !== (anyProps.src == null ? null : anyProps.src) || element.getAttribute('type') !== (anyProps.type == null ? null : anyProps.type) || element.getAttribute('crossorigin') !== (anyProps.crossOrigin == null ? null : anyProps.crossOrigin)) {\n // This script is for a different src/type/crossOrigin. It may be a script resource\n // or it may just be a mistmatch\n if (srcAttr && element.hasAttribute('async') && !element.hasAttribute('itemprop')) {\n // This is an async script resource\n break;\n }\n }\n\n return element;\n }\n\n default:\n {\n // We have excluded the most likely cases of mismatch between hoistable tags, 3rd party script inserted tags,\n // and browser extension inserted tags. While it is possible this is not the right match it is a decent hueristic\n // that should work in the vast majority of cases.\n return element;\n }\n }\n }\n\n var nextInstance = getNextHydratableSibling(element);\n\n if (nextInstance === null) {\n break;\n }\n\n instance = nextInstance;\n } // This is a suspense boundary or Text node or we got the end.\n // Suspense Boundaries are never expected to be injected by 3rd parties. If we see one it should be matched\n // and this is a hydration error.\n // Text Nodes are also not expected to be injected by 3rd parties. This is less of a guarantee for <body>\n // but it seems reasonable and conservative to reject this as a hydration error as well\n\n\n return null;\n}\nfunction canHydrateTextInstance(instance, text, inRootOrSingleton) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n if (text === '') return null;\n\n while (instance.nodeType !== TEXT_NODE) {\n if (instance.nodeType === ELEMENT_NODE && instance.nodeName === 'INPUT' && instance.type === 'hidden') ; else if (!inRootOrSingleton) {\n return null;\n }\n\n var nextInstance = getNextHydratableSibling(instance);\n\n if (nextInstance === null) {\n return null;\n }\n\n instance = nextInstance;\n } // This has now been refined to a text node.\n\n\n return instance;\n}\nfunction canHydrateSuspenseInstance(instance, inRootOrSingleton) {\n while (instance.nodeType !== COMMENT_NODE) {\n if (!inRootOrSingleton) {\n return null;\n }\n\n var nextInstance = getNextHydratableSibling(instance);\n\n if (nextInstance === null) {\n return null;\n }\n\n instance = nextInstance;\n } // This has now been refined to a suspense node.\n\n\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return instance.data === SUSPENSE_PENDING_START_DATA;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return instance.data === SUSPENSE_FALLBACK_START_DATA;\n}\nfunction getSuspenseInstanceFallbackErrorDetails(instance) {\n var dataset = instance.nextSibling && instance.nextSibling.dataset;\n var digest, message, stack;\n\n if (dataset) {\n digest = dataset.dgst;\n\n {\n message = dataset.msg;\n stack = dataset.stck;\n }\n }\n\n {\n return {\n message: message,\n digest: digest,\n stack: stack\n };\n }\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n instance._reactRetry = callback;\n}\nfunction canHydrateFormStateMarker(instance, inRootOrSingleton) {\n while (instance.nodeType !== COMMENT_NODE) {\n if (!inRootOrSingleton) {\n return null;\n }\n\n var nextInstance = getNextHydratableSibling(instance);\n\n if (nextInstance === null) {\n return null;\n }\n\n instance = nextInstance;\n }\n\n var nodeData = instance.data;\n\n if (nodeData === FORM_STATE_IS_MATCHING || nodeData === FORM_STATE_IS_NOT_MATCHING) {\n var markerInstance = instance;\n return markerInstance;\n }\n\n return null;\n}\nfunction isFormStateMarkerMatching(markerInstance) {\n return markerInstance.data === FORM_STATE_IS_MATCHING;\n}\n\nfunction getNextHydratable(node) {\n // Skip non-hydratable nodes.\n for (; node != null; node = node.nextSibling) {\n var nodeType = node.nodeType;\n\n if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) {\n break;\n }\n\n if (nodeType === COMMENT_NODE) {\n var nodeData = node.data;\n\n if (nodeData === SUSPENSE_START_DATA || nodeData === SUSPENSE_FALLBACK_START_DATA || nodeData === SUSPENSE_PENDING_START_DATA || (nodeData === FORM_STATE_IS_MATCHING || nodeData === FORM_STATE_IS_NOT_MATCHING)) {\n break;\n }\n\n if (nodeData === SUSPENSE_END_DATA) {\n return null;\n }\n }\n }\n\n return node;\n}\n\nfunction getNextHydratableSibling(instance) {\n return getNextHydratable(instance.nextSibling);\n}\nfunction getFirstHydratableChild(parentInstance) {\n return getNextHydratable(parentInstance.firstChild);\n}\nfunction getFirstHydratableChildWithinContainer(parentContainer) {\n return getNextHydratable(parentContainer.firstChild);\n}\nfunction getFirstHydratableChildWithinSuspenseInstance(parentInstance) {\n return getNextHydratable(parentInstance.nextSibling);\n}\nfunction validateHydratableInstance(type, props, hostContext) {\n {\n // TODO: take namespace into account when validating.\n var hostContextDev = hostContext;\n return validateDOMNesting(type, hostContextDev.ancestorInfo);\n }\n}\nfunction hydrateInstance(instance, type, props, hostContext, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events\n // get attached.\n\n updateFiberProps(instance, props); // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n diffHydratedProperties(instance, type, props, isConcurrentMode, shouldWarnDev, hostContext);\n}\nfunction validateHydratableTextInstance(text, hostContext) {\n {\n var hostContextDev = hostContext;\n var ancestor = hostContextDev.ancestorInfo.current;\n\n if (ancestor != null) {\n return validateTextNesting(text, ancestor.tag);\n }\n }\n\n return true;\n}\nfunction hydrateTextInstance(textInstance, text, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, textInstance); // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n return diffHydratedText(textInstance, text);\n}\nfunction hydrateSuspenseInstance(suspenseInstance, internalInstanceHandle) {\n precacheFiberNode(internalInstanceHandle, suspenseInstance);\n}\nfunction getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {\n var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n return getNextHydratableSibling(node);\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n depth++;\n }\n }\n\n node = node.nextSibling;\n } // TODO: Warn, we didn't find the end comment boundary.\n\n\n return null;\n} // Returns the SuspenseInstance if this node is a direct child of a\n// SuspenseInstance. I.e. if its previous sibling is a Comment with\n// SUSPENSE_x_START_DATA. Otherwise, null.\n\nfunction getParentSuspenseInstance(targetInstance) {\n var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n if (depth === 0) {\n return node;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_END_DATA) {\n depth++;\n }\n }\n\n node = node.previousSibling;\n }\n\n return null;\n}\nfunction commitHydratedContainer(container) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(container);\n}\nfunction commitHydratedSuspenseInstance(suspenseInstance) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(suspenseInstance);\n}\nfunction shouldDeleteUnhydratedTailInstances(parentType) {\n return parentType !== 'form' && parentType !== 'button';\n}\nfunction didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text, isConcurrentMode, shouldWarnDev) {\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n}\nfunction didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text, isConcurrentMode, shouldWarnDev) {\n if (parentProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n }\n}\nfunction didNotHydrateInstanceWithinContainer(parentContainer, instance) {\n {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentContainer, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentContainer, instance);\n }\n }\n}\nfunction didNotHydrateInstanceWithinSuspenseInstance(parentInstance, instance) {\n {\n // $FlowFixMe[incompatible-type]: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n\n if (parentNode !== null) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentNode, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentNode, instance);\n }\n }\n }\n}\nfunction didNotHydrateInstance(parentType, parentProps, parentInstance, instance, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentInstance, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentInstance, instance);\n }\n }\n }\n}\nfunction didNotFindHydratableInstanceWithinContainer(parentContainer, type, props) {\n {\n warnForInsertedHydratedElement(parentContainer, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinContainer(parentContainer, text) {\n {\n warnForInsertedHydratedText(parentContainer, text);\n }\n}\nfunction didNotFindHydratableInstanceWithinSuspenseInstance(parentInstance, type, props) {\n {\n // $FlowFixMe[incompatible-type]: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedElement(parentNode, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinSuspenseInstance(parentInstance, text) {\n {\n // $FlowFixMe[incompatible-type]: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedText(parentNode, text);\n }\n}\nfunction didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n warnForInsertedHydratedElement(parentInstance, type);\n }\n }\n}\nfunction didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n warnForInsertedHydratedText(parentInstance, text);\n }\n }\n}\nfunction errorHydratingContainer(parentContainer) {\n {\n // TODO: This gets logged by onRecoverableError, too, so we should be\n // able to remove it.\n error('An error occurred during hydration. The server HTML was replaced with client content in <%s>.', parentContainer.nodeName.toLowerCase());\n }\n} // -------------------\nfunction isHostSingletonType(type) {\n return type === 'html' || type === 'head' || type === 'body';\n}\nfunction resolveSingletonInstance(type, props, rootContainerInstance, hostContext, validateDOMNestingDev) {\n {\n var hostContextDev = hostContext;\n\n if (validateDOMNestingDev) {\n validateDOMNesting(type, hostContextDev.ancestorInfo);\n }\n }\n\n var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerInstance);\n\n switch (type) {\n case 'html':\n {\n var documentElement = ownerDocument.documentElement;\n\n if (!documentElement) {\n throw new Error('React expected an <html> element (document.documentElement) to exist in the Document but one was' + ' not found. React never removes the documentElement for any Document it renders into so' + ' the cause is likely in some other script running on this page.');\n }\n\n return documentElement;\n }\n\n case 'head':\n {\n var head = ownerDocument.head;\n\n if (!head) {\n throw new Error('React expected a <head> element (document.head) to exist in the Document but one was' + ' not found. React never removes the head for any Document it renders into so' + ' the cause is likely in some other script running on this page.');\n }\n\n return head;\n }\n\n case 'body':\n {\n var body = ownerDocument.body;\n\n if (!body) {\n throw new Error('React expected a <body> element (document.body) to exist in the Document but one was' + ' not found. React never removes the body for any Document it renders into so' + ' the cause is likely in some other script running on this page.');\n }\n\n return body;\n }\n\n default:\n {\n throw new Error('resolveSingletonInstance was called with an element type that is not supported. This is a bug in React.');\n }\n }\n}\nfunction acquireSingletonInstance(type, props, instance, internalInstanceHandle) {\n {\n var currentInstanceHandle = getInstanceFromNode(instance);\n\n if (currentInstanceHandle) {\n var tagName = instance.tagName.toLowerCase();\n\n error('You are mounting a new %s component when a previous one has not first unmounted. It is an' + ' error to render more than one %s component at a time and attributes and children of these' + ' components will likely fail in unpredictable ways. Please only render a single instance of' + ' <%s> and if you need to mount a new one, ensure any previous ones have unmounted first.', tagName, tagName, tagName);\n }\n\n switch (type) {\n case 'html':\n case 'head':\n case 'body':\n {\n break;\n }\n\n default:\n {\n error('acquireSingletonInstance was called with an element type that is not supported. This is a bug in React.');\n }\n }\n }\n\n var attributes = instance.attributes;\n\n while (attributes.length) {\n instance.removeAttributeNode(attributes[0]);\n }\n\n setInitialProperties(instance, type, props);\n precacheFiberNode(internalInstanceHandle, instance);\n updateFiberProps(instance, props);\n}\nfunction releaseSingletonInstance(instance) {\n var attributes = instance.attributes;\n\n while (attributes.length) {\n instance.removeAttributeNode(attributes[0]);\n }\n\n detachDeletedInstance(instance);\n}\nfunction clearSingleton(instance) {\n var element = instance;\n var node = element.firstChild;\n\n while (node) {\n var nextNode = node.nextSibling;\n var nodeName = node.nodeName;\n\n if (isMarkedHoistable(node) || nodeName === 'HEAD' || nodeName === 'BODY' || nodeName === 'SCRIPT' || nodeName === 'STYLE' || nodeName === 'LINK' && node.rel.toLowerCase() === 'stylesheet') ; else {\n element.removeChild(node);\n }\n\n node = nextNode;\n }\n\n return;\n} // -------------------\nvar NotLoaded =\n/* */\n0;\nvar Loaded =\n/* */\n1;\nvar Errored =\n/* */\n2;\nvar Settled =\n/* */\n3;\nvar Inserted =\n/* */\n4;\nfunction prepareToCommitHoistables() {\n tagCaches = null;\n} // global collections of Resources\n\nvar preloadPropsMap = new Map();\nvar preconnectsSet = new Set(); // getRootNode is missing from IE and old jsdom versions\n\nfunction getHoistableRoot(container) {\n // $FlowFixMe[method-unbinding]\n return typeof container.getRootNode === 'function' ?\n /* $FlowFixMe[incompatible-return] Flow types this as returning a `Node`,\n * but it's either a `Document` or `ShadowRoot`. */\n container.getRootNode() : container.ownerDocument;\n}\n\nfunction getCurrentResourceRoot() {\n var currentContainer = getCurrentRootHostContainer();\n return currentContainer ? getHoistableRoot(currentContainer) : null;\n}\n\nfunction getDocumentFromRoot(root) {\n return root.ownerDocument || root;\n} // We want this to be the default dispatcher on ReactDOMSharedInternals but we don't want to mutate\n// internals in Module scope. Instead we export it and Internals will import it. There is already a cycle\n// from Internals -> ReactDOM -> HostConfig -> Internals so this doesn't introduce a new one.\n\n\nvar ReactDOMClientDispatcher = {\n prefetchDNS: prefetchDNS$1,\n preconnect: preconnect$1,\n preload: preload$1,\n preloadModule: preloadModule$1,\n preinitStyle: preinitStyle,\n preinitScript: preinitScript,\n preinitModuleScript: preinitModuleScript\n}; // We expect this to get inlined. It is a function mostly to communicate the special nature of\n// how we resolve the HoistableRoot for ReactDOM.pre*() methods. Because we support calling\n// these methods outside of render there is no way to know which Document or ShadowRoot is 'scoped'\n// and so we have to fall back to something universal. Currently we just refer to the global document.\n// This is notable because nowhere else in ReactDOM do we actually reference the global document or window\n// because we may be rendering inside an iframe.\n\nfunction getDocumentForImperativeFloatMethods() {\n return document;\n}\n\nfunction preconnectAs(rel, href, crossOrigin) {\n var ownerDocument = getDocumentForImperativeFloatMethods();\n\n if (typeof href === 'string' && href) {\n var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href);\n var key = \"link[rel=\\\"\" + rel + \"\\\"][href=\\\"\" + limitedEscapedHref + \"\\\"]\";\n\n if (typeof crossOrigin === 'string') {\n key += \"[crossorigin=\\\"\" + crossOrigin + \"\\\"]\";\n }\n\n if (!preconnectsSet.has(key)) {\n preconnectsSet.add(key);\n var preconnectProps = {\n rel: rel,\n crossOrigin: crossOrigin,\n href: href\n };\n\n if (null === ownerDocument.querySelector(key)) {\n var instance = ownerDocument.createElement('link');\n setInitialProperties(instance, 'link', preconnectProps);\n markNodeAsHoistable(instance);\n ownerDocument.head.appendChild(instance);\n }\n }\n }\n}\n\nfunction prefetchDNS$1(href) {\n\n preconnectAs('dns-prefetch', href, null);\n}\n\nfunction preconnect$1(href, crossOrigin) {\n\n preconnectAs('preconnect', href, crossOrigin);\n}\n\nfunction preload$1(href, as, options) {\n\n var ownerDocument = getDocumentForImperativeFloatMethods();\n\n if (href && as && ownerDocument) {\n var preloadSelector = \"link[rel=\\\"preload\\\"][as=\\\"\" + escapeSelectorAttributeValueInsideDoubleQuotes(as) + \"\\\"]\";\n\n if (as === 'image') {\n if (options && options.imageSrcSet) {\n preloadSelector += \"[imagesrcset=\\\"\" + escapeSelectorAttributeValueInsideDoubleQuotes(options.imageSrcSet) + \"\\\"]\";\n\n if (typeof options.imageSizes === 'string') {\n preloadSelector += \"[imagesizes=\\\"\" + escapeSelectorAttributeValueInsideDoubleQuotes(options.imageSizes) + \"\\\"]\";\n }\n } else {\n preloadSelector += \"[href=\\\"\" + escapeSelectorAttributeValueInsideDoubleQuotes(href) + \"\\\"]\";\n }\n } else {\n preloadSelector += \"[href=\\\"\" + escapeSelectorAttributeValueInsideDoubleQuotes(href) + \"\\\"]\";\n } // Some preloads are keyed under their selector. This happens when the preload is for\n // an arbitrary type. Other preloads are keyed under the resource key they represent a preload for.\n // Here we figure out which key to use to determine if we have a preload already.\n\n\n var key = preloadSelector;\n\n switch (as) {\n case 'style':\n key = getStyleKey(href);\n break;\n\n case 'script':\n key = getScriptKey(href);\n break;\n }\n\n if (!preloadPropsMap.has(key)) {\n var preloadProps = assign({\n rel: 'preload',\n // There is a bug in Safari where imageSrcSet is not respected on preload links\n // so we omit the href here if we have imageSrcSet b/c safari will load the wrong image.\n // This harms older browers that do not support imageSrcSet by making their preloads not work\n // but this population is shrinking fast and is already small so we accept this tradeoff.\n href: as === 'image' && options && options.imageSrcSet ? undefined : href,\n as: as\n }, options);\n\n preloadPropsMap.set(key, preloadProps);\n\n if (null === ownerDocument.querySelector(preloadSelector)) {\n if (as === 'style' && ownerDocument.querySelector(getStylesheetSelectorFromKey(key))) {\n // We already have a stylesheet for this key. We don't need to preload it.\n return;\n } else if (as === 'script' && ownerDocument.querySelector(getScriptSelectorFromKey(key))) {\n // We already have a stylesheet for this key. We don't need to preload it.\n return;\n }\n\n var instance = ownerDocument.createElement('link');\n setInitialProperties(instance, 'link', preloadProps);\n markNodeAsHoistable(instance);\n ownerDocument.head.appendChild(instance);\n }\n }\n }\n}\n\nfunction preloadModule$1(href, options) {\n\n var ownerDocument = getDocumentForImperativeFloatMethods();\n\n if (href) {\n var as = options && typeof options.as === 'string' ? options.as : 'script';\n var preloadSelector = \"link[rel=\\\"modulepreload\\\"][as=\\\"\" + escapeSelectorAttributeValueInsideDoubleQuotes(as) + \"\\\"][href=\\\"\" + escapeSelectorAttributeValueInsideDoubleQuotes(href) + \"\\\"]\"; // Some preloads are keyed under their selector. This happens when the preload is for\n // an arbitrary type. Other preloads are keyed under the resource key they represent a preload for.\n // Here we figure out which key to use to determine if we have a preload already.\n\n var key = preloadSelector;\n\n switch (as) {\n case 'audioworklet':\n case 'paintworklet':\n case 'serviceworker':\n case 'sharedworker':\n case 'worker':\n case 'script':\n {\n key = getScriptKey(href);\n break;\n }\n }\n\n if (!preloadPropsMap.has(key)) {\n var props = assign({\n rel: 'modulepreload',\n href: href\n }, options);\n\n preloadPropsMap.set(key, props);\n\n if (null === ownerDocument.querySelector(preloadSelector)) {\n switch (as) {\n case 'audioworklet':\n case 'paintworklet':\n case 'serviceworker':\n case 'sharedworker':\n case 'worker':\n case 'script':\n {\n if (ownerDocument.querySelector(getScriptSelectorFromKey(key))) {\n return;\n }\n }\n }\n\n var instance = ownerDocument.createElement('link');\n setInitialProperties(instance, 'link', props);\n markNodeAsHoistable(instance);\n ownerDocument.head.appendChild(instance);\n }\n }\n }\n}\n\nfunction preinitStyle(href, precedence, options) {\n\n var ownerDocument = getDocumentForImperativeFloatMethods();\n\n if (href) {\n var styles = getResourcesFromRoot(ownerDocument).hoistableStyles;\n var key = getStyleKey(href);\n precedence = precedence || 'default'; // Check if this resource already exists\n\n var resource = styles.get(key);\n\n if (resource) {\n // We can early return. The resource exists and there is nothing\n // more to do\n return;\n }\n\n var state = {\n loading: NotLoaded,\n preload: null\n }; // Attempt to hydrate instance from DOM\n\n var instance = ownerDocument.querySelector(getStylesheetSelectorFromKey(key));\n\n if (instance) {\n state.loading = Loaded | Inserted;\n } else {\n // Construct a new instance and insert it\n var stylesheetProps = assign({\n rel: 'stylesheet',\n href: href,\n 'data-precedence': precedence\n }, options);\n\n var preloadProps = preloadPropsMap.get(key);\n\n if (preloadProps) {\n adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps);\n }\n\n var link = instance = ownerDocument.createElement('link');\n markNodeAsHoistable(link);\n setInitialProperties(link, 'link', stylesheetProps);\n link._p = new Promise(function (resolve, reject) {\n link.onload = resolve;\n link.onerror = reject;\n });\n link.addEventListener('load', function () {\n state.loading |= Loaded;\n });\n link.addEventListener('error', function () {\n state.loading |= Errored;\n });\n state.loading |= Inserted;\n insertStylesheet(instance, precedence, ownerDocument);\n } // Construct a Resource and cache it\n\n\n resource = {\n type: 'stylesheet',\n instance: instance,\n count: 1,\n state: state\n };\n styles.set(key, resource);\n return;\n }\n}\n\nfunction preinitScript(src, options) {\n\n var ownerDocument = getDocumentForImperativeFloatMethods();\n\n if (src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts;\n var key = getScriptKey(src); // Check if this resource already exists\n\n var resource = scripts.get(key);\n\n if (resource) {\n // We can early return. The resource exists and there is nothing\n // more to do\n return;\n } // Attempt to hydrate instance from DOM\n\n\n var instance = ownerDocument.querySelector(getScriptSelectorFromKey(key));\n\n if (!instance) {\n // Construct a new instance and insert it\n var scriptProps = assign({\n src: src,\n async: true\n }, options); // Adopt certain preload props\n\n\n var preloadProps = preloadPropsMap.get(key);\n\n if (preloadProps) {\n adoptPreloadPropsForScript(scriptProps, preloadProps);\n }\n\n instance = ownerDocument.createElement('script');\n markNodeAsHoistable(instance);\n setInitialProperties(instance, 'link', scriptProps);\n ownerDocument.head.appendChild(instance);\n } // Construct a Resource and cache it\n\n\n resource = {\n type: 'script',\n instance: instance,\n count: 1,\n state: null\n };\n scripts.set(key, resource);\n return;\n }\n}\n\nfunction preinitModuleScript(src, options) {\n\n var ownerDocument = getDocumentForImperativeFloatMethods();\n\n if (src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts;\n var key = getScriptKey(src); // Check if this resource already exists\n\n var resource = scripts.get(key);\n\n if (resource) {\n // We can early return. The resource exists and there is nothing\n // more to do\n return;\n } // Attempt to hydrate instance from DOM\n\n\n var instance = ownerDocument.querySelector(getScriptSelectorFromKey(key));\n\n if (!instance) {\n // Construct a new instance and insert it\n var scriptProps = assign({\n src: src,\n async: true,\n type: 'module'\n }, options); // Adopt certain preload props\n\n\n var preloadProps = preloadPropsMap.get(key);\n\n if (preloadProps) {\n adoptPreloadPropsForScript(scriptProps, preloadProps);\n }\n\n instance = ownerDocument.createElement('script');\n markNodeAsHoistable(instance);\n setInitialProperties(instance, 'link', scriptProps);\n ownerDocument.head.appendChild(instance);\n } // Construct a Resource and cache it\n\n\n resource = {\n type: 'script',\n instance: instance,\n count: 1,\n state: null\n };\n scripts.set(key, resource);\n return;\n }\n} // This function is called in begin work and we should always have a currentDocument set\n\n\nfunction getResource(type, currentProps, pendingProps) {\n var resourceRoot = getCurrentResourceRoot();\n\n if (!resourceRoot) {\n throw new Error('\"resourceRoot\" was expected to exist. This is a bug in React.');\n }\n\n switch (type) {\n case 'meta':\n case 'title':\n {\n return null;\n }\n\n case 'style':\n {\n if (typeof pendingProps.precedence === 'string' && typeof pendingProps.href === 'string') {\n var key = getStyleKey(pendingProps.href);\n var styles = getResourcesFromRoot(resourceRoot).hoistableStyles;\n var resource = styles.get(key);\n\n if (!resource) {\n resource = {\n type: 'style',\n instance: null,\n count: 0,\n state: null\n };\n styles.set(key, resource);\n }\n\n return resource;\n }\n\n return {\n type: 'void',\n instance: null,\n count: 0,\n state: null\n };\n }\n\n case 'link':\n {\n if (pendingProps.rel === 'stylesheet' && typeof pendingProps.href === 'string' && typeof pendingProps.precedence === 'string') {\n var qualifiedProps = pendingProps;\n\n var _key = getStyleKey(qualifiedProps.href);\n\n var _styles = getResourcesFromRoot(resourceRoot).hoistableStyles;\n\n var _resource = _styles.get(_key);\n\n if (!_resource) {\n // We asserted this above but Flow can't figure out that the type satisfies\n var ownerDocument = getDocumentFromRoot(resourceRoot);\n _resource = {\n type: 'stylesheet',\n instance: null,\n count: 0,\n state: {\n loading: NotLoaded,\n preload: null\n }\n };\n\n _styles.set(_key, _resource);\n\n if (!preloadPropsMap.has(_key)) {\n preloadStylesheet(ownerDocument, _key, preloadPropsFromStylesheet(qualifiedProps), _resource.state);\n }\n }\n\n return _resource;\n }\n\n return null;\n }\n\n case 'script':\n {\n if (typeof pendingProps.src === 'string' && pendingProps.async === true) {\n var scriptProps = pendingProps;\n\n var _key2 = getScriptKey(scriptProps.src);\n\n var scripts = getResourcesFromRoot(resourceRoot).hoistableScripts;\n\n var _resource2 = scripts.get(_key2);\n\n if (!_resource2) {\n _resource2 = {\n type: 'script',\n instance: null,\n count: 0,\n state: null\n };\n scripts.set(_key2, _resource2);\n }\n\n return _resource2;\n }\n\n return {\n type: 'void',\n instance: null,\n count: 0,\n state: null\n };\n }\n\n default:\n {\n throw new Error(\"getResource encountered a type it did not expect: \\\"\" + type + \"\\\". this is a bug in React.\");\n }\n }\n}\n\nfunction styleTagPropsFromRawProps(rawProps) {\n return assign({}, rawProps, {\n 'data-href': rawProps.href,\n 'data-precedence': rawProps.precedence,\n href: null,\n precedence: null\n });\n}\n\nfunction getStyleKey(href) {\n var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href);\n return \"href=\\\"\" + limitedEscapedHref + \"\\\"\";\n}\n\nfunction getStyleTagSelector(href) {\n var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href);\n return \"style[data-href~=\\\"\" + limitedEscapedHref + \"\\\"]\";\n}\n\nfunction getStylesheetSelectorFromKey(key) {\n return \"link[rel=\\\"stylesheet\\\"][\" + key + \"]\";\n}\n\nfunction getPreloadStylesheetSelectorFromKey(key) {\n return \"link[rel=\\\"preload\\\"][as=\\\"style\\\"][\" + key + \"]\";\n}\n\nfunction stylesheetPropsFromRawProps(rawProps) {\n return assign({}, rawProps, {\n 'data-precedence': rawProps.precedence,\n precedence: null\n });\n}\n\nfunction preloadStylesheet(ownerDocument, key, preloadProps, state) {\n preloadPropsMap.set(key, preloadProps);\n\n if (!ownerDocument.querySelector(getStylesheetSelectorFromKey(key))) {\n // There is no matching stylesheet instance in the Document.\n // We will insert a preload now to kick off loading because\n // we expect this stylesheet to commit\n var preloadEl = ownerDocument.querySelector(getPreloadStylesheetSelectorFromKey(key));\n\n if (preloadEl) {\n // If we find a preload already it was SSR'd and we won't have an actual\n // loading state to track. For now we will just assume it is loaded\n state.loading = Loaded;\n } else {\n var instance = ownerDocument.createElement('link');\n state.preload = instance;\n instance.addEventListener('load', function () {\n return state.loading |= Loaded;\n });\n instance.addEventListener('error', function () {\n return state.loading |= Errored;\n });\n setInitialProperties(instance, 'link', preloadProps);\n markNodeAsHoistable(instance);\n ownerDocument.head.appendChild(instance);\n }\n }\n}\n\nfunction preloadPropsFromStylesheet(props) {\n return {\n rel: 'preload',\n as: 'style',\n href: props.href,\n crossOrigin: props.crossOrigin,\n integrity: props.integrity,\n media: props.media,\n hrefLang: props.hrefLang,\n referrerPolicy: props.referrerPolicy\n };\n}\n\nfunction getScriptKey(src) {\n var limitedEscapedSrc = escapeSelectorAttributeValueInsideDoubleQuotes(src);\n return \"[src=\\\"\" + limitedEscapedSrc + \"\\\"]\";\n}\n\nfunction getScriptSelectorFromKey(key) {\n return 'script[async]' + key;\n}\n\nfunction acquireResource(hoistableRoot, resource, props) {\n resource.count++;\n\n if (resource.instance === null) {\n switch (resource.type) {\n case 'style':\n {\n var qualifiedProps = props; // Attempt to hydrate instance from DOM\n\n var instance = hoistableRoot.querySelector(getStyleTagSelector(qualifiedProps.href));\n\n if (instance) {\n resource.instance = instance;\n markNodeAsHoistable(instance);\n return instance;\n }\n\n var styleProps = styleTagPropsFromRawProps(props);\n var ownerDocument = getDocumentFromRoot(hoistableRoot);\n instance = ownerDocument.createElement('style');\n markNodeAsHoistable(instance);\n setInitialProperties(instance, 'style', styleProps); // TODO: `style` does not have loading state for tracking insertions. I\n // guess because these aren't suspensey? Not sure whether this is a\n // factoring smell.\n // resource.state.loading |= Inserted;\n\n insertStylesheet(instance, qualifiedProps.precedence, hoistableRoot);\n resource.instance = instance;\n return instance;\n }\n\n case 'stylesheet':\n {\n // This typing is enforce by `getResource`. If we change the logic\n // there for what qualifies as a stylesheet resource we need to ensure\n // this cast still makes sense;\n var _qualifiedProps = props;\n var key = getStyleKey(_qualifiedProps.href); // Attempt to hydrate instance from DOM\n\n var _instance = hoistableRoot.querySelector(getStylesheetSelectorFromKey(key));\n\n if (_instance) {\n resource.state.loading |= Inserted;\n resource.instance = _instance;\n markNodeAsHoistable(_instance);\n return _instance;\n }\n\n var stylesheetProps = stylesheetPropsFromRawProps(props);\n var preloadProps = preloadPropsMap.get(key);\n\n if (preloadProps) {\n adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps);\n } // Construct and insert a new instance\n\n\n var _ownerDocument = getDocumentFromRoot(hoistableRoot);\n\n _instance = _ownerDocument.createElement('link');\n markNodeAsHoistable(_instance);\n var linkInstance = _instance;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(_instance, 'link', stylesheetProps);\n resource.state.loading |= Inserted;\n insertStylesheet(_instance, _qualifiedProps.precedence, hoistableRoot);\n resource.instance = _instance;\n return _instance;\n }\n\n case 'script':\n {\n // This typing is enforce by `getResource`. If we change the logic\n // there for what qualifies as a stylesheet resource we need to ensure\n // this cast still makes sense;\n var borrowedScriptProps = props;\n\n var _key3 = getScriptKey(borrowedScriptProps.src); // Attempt to hydrate instance from DOM\n\n\n var _instance2 = hoistableRoot.querySelector(getScriptSelectorFromKey(_key3));\n\n if (_instance2) {\n resource.instance = _instance2;\n markNodeAsHoistable(_instance2);\n return _instance2;\n }\n\n var scriptProps = borrowedScriptProps;\n\n var _preloadProps = preloadPropsMap.get(_key3);\n\n if (_preloadProps) {\n scriptProps = assign({}, borrowedScriptProps);\n adoptPreloadPropsForScript(scriptProps, _preloadProps);\n } // Construct and insert a new instance\n\n\n var _ownerDocument2 = getDocumentFromRoot(hoistableRoot);\n\n _instance2 = _ownerDocument2.createElement('script');\n markNodeAsHoistable(_instance2);\n setInitialProperties(_instance2, 'link', scriptProps);\n\n _ownerDocument2.head.appendChild(_instance2);\n\n resource.instance = _instance2;\n return _instance2;\n }\n\n case 'void':\n {\n return null;\n }\n\n default:\n {\n throw new Error(\"acquireResource encountered a resource type it did not expect: \\\"\" + resource.type + \"\\\". this is a bug in React.\");\n }\n }\n } else {\n // In the case of stylesheets, they might have already been assigned an\n // instance during `suspendResource`. But that doesn't mean they were\n // inserted, because the commit might have been interrupted. So we need to\n // check now.\n //\n // The other resource types are unaffected because they are not\n // yet suspensey.\n //\n // TODO: This is a bit of a code smell. Consider refactoring how\n // `suspendResource` and `acquireResource` work together. The idea is that\n // `suspendResource` does all the same stuff as `acquireResource` except\n // for the insertion.\n if (resource.type === 'stylesheet' && (resource.state.loading & Inserted) === NotLoaded) {\n var _qualifiedProps2 = props;\n var _instance3 = resource.instance;\n resource.state.loading |= Inserted;\n insertStylesheet(_instance3, _qualifiedProps2.precedence, hoistableRoot);\n }\n }\n\n return resource.instance;\n}\nfunction releaseResource(resource) {\n resource.count--;\n}\n\nfunction insertStylesheet(instance, precedence, root) {\n var nodes = root.querySelectorAll('link[rel=\"stylesheet\"][data-precedence],style[data-precedence]');\n var last = nodes.length ? nodes[nodes.length - 1] : null;\n var prior = last;\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var nodePrecedence = node.dataset.precedence;\n\n if (nodePrecedence === precedence) {\n prior = node;\n } else if (prior !== last) {\n break;\n }\n }\n\n if (prior) {\n // We get the prior from the document so we know it is in the tree.\n // We also know that links can't be the topmost Node so the parentNode\n // must exist.\n prior.parentNode.insertBefore(instance, prior.nextSibling);\n } else {\n var parent = root.nodeType === DOCUMENT_NODE ? root.head : root;\n parent.insertBefore(instance, parent.firstChild);\n }\n}\n\nfunction adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {\n if (stylesheetProps.crossOrigin == null) stylesheetProps.crossOrigin = preloadProps.crossOrigin;\n if (stylesheetProps.referrerPolicy == null) stylesheetProps.referrerPolicy = preloadProps.referrerPolicy;\n if (stylesheetProps.title == null) stylesheetProps.title = preloadProps.title;\n}\n\nfunction adoptPreloadPropsForScript(scriptProps, preloadProps) {\n if (scriptProps.crossOrigin == null) scriptProps.crossOrigin = preloadProps.crossOrigin;\n if (scriptProps.referrerPolicy == null) scriptProps.referrerPolicy = preloadProps.referrerPolicy;\n if (scriptProps.integrity == null) scriptProps.integrity = preloadProps.integrity;\n}\n\nvar tagCaches = null;\nfunction hydrateHoistable(hoistableRoot, type, props, internalInstanceHandle) {\n var ownerDocument = getDocumentFromRoot(hoistableRoot);\n var instance = null;\n\n getInstance: switch (type) {\n case 'title':\n {\n instance = ownerDocument.getElementsByTagName('title')[0];\n\n if (!instance || isOwnedInstance(instance) || instance.namespaceURI === SVG_NAMESPACE || instance.hasAttribute('itemprop')) {\n instance = ownerDocument.createElement(type);\n ownerDocument.head.insertBefore(instance, ownerDocument.querySelector('head > title'));\n }\n\n setInitialProperties(instance, type, props);\n precacheFiberNode(internalInstanceHandle, instance);\n markNodeAsHoistable(instance);\n return instance;\n }\n\n case 'link':\n {\n var cache = getHydratableHoistableCache('link', 'href', ownerDocument);\n var key = type + (props.href || '');\n var maybeNodes = cache.get(key);\n\n if (maybeNodes) {\n var nodes = maybeNodes;\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n if (node.getAttribute('href') !== (props.href == null ? null : props.href) || node.getAttribute('rel') !== (props.rel == null ? null : props.rel) || node.getAttribute('title') !== (props.title == null ? null : props.title) || node.getAttribute('crossorigin') !== (props.crossOrigin == null ? null : props.crossOrigin)) {\n // mismatch, try the next node;\n continue;\n }\n\n instance = node;\n nodes.splice(i, 1);\n break getInstance;\n }\n }\n\n instance = ownerDocument.createElement(type);\n setInitialProperties(instance, type, props);\n ownerDocument.head.appendChild(instance);\n break;\n }\n\n case 'meta':\n {\n var _cache = getHydratableHoistableCache('meta', 'content', ownerDocument);\n\n var _key4 = type + (props.content || '');\n\n var _maybeNodes = _cache.get(_key4);\n\n if (_maybeNodes) {\n var _nodes = _maybeNodes;\n\n for (var _i = 0; _i < _nodes.length; _i++) {\n var _node = _nodes[_i]; // We coerce content to string because it is the most likely one to\n // use a `toString` capable value. For the rest we just do identity match\n // passing non-strings here is not really valid anyway.\n\n {\n checkAttributeStringCoercion(props.content, 'content');\n }\n\n if (_node.getAttribute('content') !== (props.content == null ? null : '' + props.content) || _node.getAttribute('name') !== (props.name == null ? null : props.name) || _node.getAttribute('property') !== (props.property == null ? null : props.property) || _node.getAttribute('http-equiv') !== (props.httpEquiv == null ? null : props.httpEquiv) || _node.getAttribute('charset') !== (props.charSet == null ? null : props.charSet)) {\n // mismatch, try the next node;\n continue;\n }\n\n instance = _node;\n\n _nodes.splice(_i, 1);\n\n break getInstance;\n }\n }\n\n instance = ownerDocument.createElement(type);\n setInitialProperties(instance, type, props);\n ownerDocument.head.appendChild(instance);\n break;\n }\n\n default:\n throw new Error(\"getNodesForType encountered a type it did not expect: \\\"\" + type + \"\\\". This is a bug in React.\");\n } // This node is a match\n\n\n precacheFiberNode(internalInstanceHandle, instance);\n markNodeAsHoistable(instance);\n return instance;\n}\n\nfunction getHydratableHoistableCache(type, keyAttribute, ownerDocument) {\n var cache;\n var caches;\n\n if (tagCaches === null) {\n cache = new Map();\n caches = tagCaches = new Map();\n caches.set(ownerDocument, cache);\n } else {\n caches = tagCaches;\n var maybeCache = caches.get(ownerDocument);\n\n if (!maybeCache) {\n cache = new Map();\n caches.set(ownerDocument, cache);\n } else {\n cache = maybeCache;\n }\n }\n\n if (cache.has(type)) {\n // We use type as a special key that signals that this cache has been seeded for this type\n return cache;\n } // Mark this cache as seeded for this type\n\n\n cache.set(type, null);\n var nodes = ownerDocument.getElementsByTagName(type);\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n if (!isOwnedInstance(node) && (type !== 'link' || node.getAttribute('rel') !== 'stylesheet') && node.namespaceURI !== SVG_NAMESPACE) {\n var nodeKey = node.getAttribute(keyAttribute) || '';\n var key = type + nodeKey;\n var existing = cache.get(key);\n\n if (existing) {\n existing.push(node);\n } else {\n cache.set(key, [node]);\n }\n }\n }\n\n return cache;\n}\n\nfunction mountHoistable(hoistableRoot, type, instance) {\n var ownerDocument = getDocumentFromRoot(hoistableRoot);\n ownerDocument.head.insertBefore(instance, type === 'title' ? ownerDocument.querySelector('head > title') : null);\n}\nfunction unmountHoistable(instance) {\n instance.parentNode.removeChild(instance);\n}\nfunction isHostHoistableType(type, props, hostContext) {\n var outsideHostContainerContext;\n var hostContextProd;\n\n {\n var hostContextDev = hostContext; // We can only render resources when we are not within the host container context\n\n outsideHostContainerContext = !hostContextDev.ancestorInfo.containerTagInScope;\n hostContextProd = hostContextDev.context;\n } // Global opt out of hoisting for anything in SVG Namespace or anything with an itemProp inside an itemScope\n\n\n if (hostContextProd === HostContextNamespaceSvg || props.itemProp != null) {\n {\n if (outsideHostContainerContext && props.itemProp != null && (type === 'meta' || type === 'title' || type === 'style' || type === 'link' || type === 'script')) {\n error('Cannot render a <%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an' + ' `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this <%s> remove the `itemProp` prop.' + ' Otherwise, try moving this tag into the <head> or <body> of the Document.', type, type);\n }\n }\n\n return false;\n }\n\n switch (type) {\n case 'meta':\n case 'title':\n {\n return true;\n }\n\n case 'style':\n {\n if (typeof props.precedence !== 'string' || typeof props.href !== 'string' || props.href === '') {\n {\n if (outsideHostContainerContext) {\n error('Cannot render a <style> outside the main document without knowing its precedence and a unique href key.' + ' React can hoist and deduplicate <style> tags if you provide a `precedence` prop along with an `href` prop that' + ' does not conflic with the `href` values used in any other hoisted <style> or <link rel=\"stylesheet\" ...> tags. ' + ' Note that hoisting <style> tags is considered an advanced feature that most will not use directly.' + ' Consider moving the <style> tag to the <head> or consider adding a `precedence=\"default\"` and `href=\"some unique resource identifier\"`, or move the <style>' + ' to the <style> tag.');\n }\n }\n\n return false;\n }\n\n return true;\n }\n\n case 'link':\n {\n if (typeof props.rel !== 'string' || typeof props.href !== 'string' || props.href === '' || props.onLoad || props.onError) {\n {\n if (props.rel === 'stylesheet' && typeof props.precedence === 'string') {\n validateLinkPropsForStyleResource(props);\n }\n\n if (outsideHostContainerContext) {\n if (typeof props.rel !== 'string' || typeof props.href !== 'string' || props.href === '') {\n error('Cannot render a <link> outside the main document without a `rel` and `href` prop.' + ' Try adding a `rel` and/or `href` prop to this <link> or moving the link into the <head> tag');\n } else if (props.onError || props.onLoad) {\n error('Cannot render a <link> with onLoad or onError listeners outside the main document.' + ' Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or' + ' somewhere in the <body>.');\n }\n }\n }\n\n return false;\n }\n\n switch (props.rel) {\n case 'stylesheet':\n {\n var precedence = props.precedence,\n disabled = props.disabled;\n\n {\n if (typeof precedence !== 'string') {\n if (outsideHostContainerContext) {\n error('Cannot render a <link rel=\"stylesheet\" /> outside the main document without knowing its precedence.' + ' Consider adding precedence=\"default\" or moving it into the root <head> tag.');\n }\n }\n }\n\n return typeof precedence === 'string' && disabled == null;\n }\n\n default:\n {\n return true;\n }\n }\n }\n\n case 'script':\n {\n if (props.async !== true || props.onLoad || props.onError || typeof props.src !== 'string' || !props.src) {\n {\n if (outsideHostContainerContext) {\n if (props.async !== true) {\n error('Cannot render a sync or defer <script> outside the main document without knowing its order.' + ' Try adding async=\"\" or moving it into the root <head> tag.');\n } else if (props.onLoad || props.onError) {\n error('Cannot render a <script> with onLoad or onError listeners outside the main document.' + ' Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or' + ' somewhere in the <body>.');\n } else {\n error('Cannot render a <script> outside the main document without `async={true}` and a non-empty `src` prop.' + ' Ensure there is a valid `src` and either make the script async or move it into the root <head> tag or' + ' somewhere in the <body>.');\n }\n }\n }\n\n return false;\n }\n\n return true;\n }\n\n case 'noscript':\n case 'template':\n {\n {\n if (outsideHostContainerContext) {\n error('Cannot render <%s> outside the main document. Try moving it into the root <head> tag.', type);\n }\n }\n\n return false;\n }\n }\n\n return false;\n}\nfunction mayResourceSuspendCommit(resource) {\n return resource.type === 'stylesheet' && (resource.state.loading & Inserted) === NotLoaded;\n}\nfunction preloadInstance(type, props) {\n // Return true to indicate it's already loaded\n return true;\n}\nfunction preloadResource(resource) {\n if (resource.type === 'stylesheet' && (resource.state.loading & Settled) === NotLoaded) {\n // we have not finished loading the underlying stylesheet yet.\n return false;\n } // Return true to indicate it's already loaded\n\n\n return true;\n}\nvar suspendedState = null; // We use a noop function when we begin suspending because if possible we want the\n// waitfor step to finish synchronously. If it doesn't we'll return a function to\n// provide the actual unsuspend function and that will get completed when the count\n// hits zero or it will get cancelled if the root starts new work.\n\nfunction noop() {}\n\nfunction startSuspendingCommit() {\n suspendedState = {\n stylesheets: null,\n count: 0,\n unsuspend: noop\n };\n}\nfunction suspendResource(hoistableRoot, resource, props) {\n if (suspendedState === null) {\n throw new Error('Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug.');\n }\n\n var state = suspendedState;\n\n if (resource.type === 'stylesheet') {\n if (typeof props.media === 'string') {\n // If we don't currently match media we avoid suspending on this resource\n // and let it insert on the mutation path\n if (matchMedia(props.media).matches === false) {\n return;\n }\n }\n\n if ((resource.state.loading & Inserted) === NotLoaded) {\n if (resource.instance === null) {\n var qualifiedProps = props;\n var key = getStyleKey(qualifiedProps.href); // Attempt to hydrate instance from DOM\n\n var instance = hoistableRoot.querySelector(getStylesheetSelectorFromKey(key));\n\n if (instance) {\n // If this instance has a loading state it came from the Fizz runtime.\n // If there is not loading state it is assumed to have been server rendered\n // as part of the preamble and therefore synchronously loaded. It could have\n // errored however which we still do not yet have a means to detect. For now\n // we assume it is loaded.\n var maybeLoadingState = instance._p;\n\n if (maybeLoadingState !== null && typeof maybeLoadingState === 'object' && // $FlowFixMe[method-unbinding]\n typeof maybeLoadingState.then === 'function') {\n var loadingState = maybeLoadingState;\n state.count++;\n var ping = onUnsuspend.bind(state);\n loadingState.then(ping, ping);\n }\n\n resource.state.loading |= Inserted;\n resource.instance = instance;\n markNodeAsHoistable(instance);\n return;\n }\n\n var ownerDocument = getDocumentFromRoot(hoistableRoot);\n var stylesheetProps = stylesheetPropsFromRawProps(props);\n var preloadProps = preloadPropsMap.get(key);\n\n if (preloadProps) {\n adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps);\n } // Construct and insert a new instance\n\n\n instance = ownerDocument.createElement('link');\n markNodeAsHoistable(instance);\n var linkInstance = instance; // This Promise is a loading state used by the Fizz runtime. We need this incase there is a race\n // between this resource being rendered on the client and being rendered with a late completed boundary.\n\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance, 'link', stylesheetProps);\n resource.instance = instance;\n }\n\n if (state.stylesheets === null) {\n state.stylesheets = new Map();\n }\n\n state.stylesheets.set(resource, hoistableRoot);\n var preloadEl = resource.state.preload;\n\n if (preloadEl && (resource.state.loading & Settled) === NotLoaded) {\n state.count++;\n\n var _ping = onUnsuspend.bind(state);\n\n preloadEl.addEventListener('load', _ping);\n preloadEl.addEventListener('error', _ping);\n }\n }\n }\n}\nfunction waitForCommitToBeReady() {\n if (suspendedState === null) {\n throw new Error('Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug.');\n }\n\n var state = suspendedState;\n\n if (state.stylesheets && state.count === 0) {\n // We are not currently blocked but we have not inserted all stylesheets.\n // If this insertion happens and loads or errors synchronously then we can\n // avoid suspending the commit. To do this we check the count again immediately after\n insertSuspendedStylesheets(state, state.stylesheets);\n } // We need to check the count again because the inserted stylesheets may have led to new\n // tasks to wait on.\n\n\n if (state.count > 0) {\n return function (commit) {\n // We almost never want to show content before its styles have loaded. But\n // eventually we will give up and allow unstyled content. So this number is\n // somewhat arbitrary — big enough that you'd only reach it under\n // extreme circumstances.\n // TODO: Figure out what the browser engines do during initial page load and\n // consider aligning our behavior with that.\n var stylesheetTimer = setTimeout(function () {\n if (state.stylesheets) {\n insertSuspendedStylesheets(state, state.stylesheets);\n }\n\n if (state.unsuspend) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n }, 60000); // one minute\n\n state.unsuspend = commit;\n return function () {\n state.unsuspend = null;\n clearTimeout(stylesheetTimer);\n };\n };\n }\n\n return null;\n}\n\nfunction onUnsuspend() {\n this.count--;\n\n if (this.count === 0) {\n if (this.stylesheets) {\n // If we haven't actually inserted the stylesheets yet we need to do so now before starting the commit.\n // The reason we do this after everything else has finished is because we want to have all the stylesheets\n // load synchronously right before mutating. Ideally the new styles will cause a single recalc only on the\n // new tree. When we filled up stylesheets we only inlcuded stylesheets with matching media attributes so we\n // wait for them to load before actually continuing. We expect this to increase the count above zero\n insertSuspendedStylesheets(this, this.stylesheets);\n } else if (this.unsuspend) {\n var unsuspend = this.unsuspend;\n this.unsuspend = null;\n unsuspend();\n }\n }\n} // We use a value that is type distinct from precedence to track which one is last.\n// This ensures there is no collision with user defined precedences. Normally we would\n// just track this in module scope but since the precedences are tracked per HoistableRoot\n// we need to associate it to something other than a global scope hence why we try to\n// colocate it with the map of precedences in the first place\n\n\nvar LAST_PRECEDENCE = null; // This is typecast to non-null because it will always be set before read.\n// it is important that this not be used except when the stack guarantees it exists.\n// Currentlyt his is only during insertSuspendedStylesheet.\n\nvar precedencesByRoot = null;\n\nfunction insertSuspendedStylesheets(state, resources) {\n // We need to clear this out so we don't try to reinsert after the stylesheets have loaded\n state.stylesheets = null;\n\n if (state.unsuspend === null) {\n // The suspended commit was cancelled. We don't need to insert any stylesheets.\n return;\n } // Temporarily increment count. we don't want any synchronously loaded stylesheets to try to unsuspend\n // before we finish inserting all stylesheets.\n\n\n state.count++;\n precedencesByRoot = new Map();\n resources.forEach(insertStylesheetIntoRoot, state);\n precedencesByRoot = null; // We can remove our temporary count and if we're still at zero we can unsuspend.\n // If we are in the synchronous phase before deciding if the commit should suspend and this\n // ends up hitting the unsuspend path it will just invoke the noop unsuspend.\n\n onUnsuspend.call(state);\n}\n\nfunction insertStylesheetIntoRoot(root, resource, map) {\n if (resource.state.loading & Inserted) {\n // This resource was inserted by another root committing. we don't need to insert it again\n return;\n }\n\n var last;\n var precedences = precedencesByRoot.get(root);\n\n if (!precedences) {\n precedences = new Map();\n precedencesByRoot.set(root, precedences);\n var nodes = root.querySelectorAll('link[data-precedence],style[data-precedence]');\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n if (node.nodeName === 'link' || // We omit style tags with media=\"not all\" because they are not in the right position\n // and will be hoisted by the Fizz runtime imminently.\n node.getAttribute('media') !== 'not all') {\n precedences.set(node.dataset.precedence, node);\n last = node;\n }\n }\n\n if (last) {\n precedences.set(LAST_PRECEDENCE, last);\n }\n } else {\n last = precedences.get(LAST_PRECEDENCE);\n } // We only call this after we have constructed an instance so we assume it here\n\n\n var instance = resource.instance; // We will always have a precedence for stylesheet instances\n\n var precedence = instance.getAttribute('data-precedence');\n var prior = precedences.get(precedence) || last;\n\n if (prior === last) {\n precedences.set(LAST_PRECEDENCE, instance);\n }\n\n precedences.set(precedence, instance);\n this.count++;\n var onComplete = onUnsuspend.bind(this);\n instance.addEventListener('load', onComplete);\n instance.addEventListener('error', onComplete);\n\n if (prior) {\n prior.parentNode.insertBefore(instance, prior.nextSibling);\n } else {\n var parent = root.nodeType === DOCUMENT_NODE ? root.head : root;\n parent.insertBefore(instance, parent.firstChild);\n }\n\n resource.state.loading |= Inserted;\n}\n\nvar NotPendingTransition = NotPending;\n\nvar Dispatcher$1 = Internals.Dispatcher;\n\nif (typeof document !== 'undefined') {\n // Set the default dispatcher to the client dispatcher\n Dispatcher$1.current = ReactDOMClientDispatcher;\n}\n/* global reportError */\n\nvar defaultOnRecoverableError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n}; // $FlowFixMe[missing-this-annot]\n\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n} // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = // $FlowFixMe[missing-this-annot]\nfunction (children) {\n var root = this._internalRoot;\n\n if (root === null) {\n throw new Error('Cannot update an unmounted root.');\n }\n\n {\n if (typeof arguments[1] === 'function') {\n error('does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n } else if (isValidContainer(arguments[1])) {\n error('You passed a container to the second argument of root.render(...). ' + \"You don't need to pass it again since you already passed it to create the root.\");\n } else if (typeof arguments[1] !== 'undefined') {\n error('You passed a second argument to root.render(...) but it only accepts ' + 'one argument.');\n }\n }\n\n updateContainer(children, root, null, null);\n}; // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = // $FlowFixMe[missing-this-annot]\nfunction () {\n {\n if (typeof arguments[0] === 'function') {\n error('does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n }\n }\n\n var root = this._internalRoot;\n\n if (root !== null) {\n this._internalRoot = null;\n var container = root.containerInfo;\n\n {\n if (isAlreadyRendering()) {\n error('Attempted to synchronously unmount a root while React was already ' + 'rendering. React cannot finish unmounting the root until the ' + 'current render has completed, which may lead to a race condition.');\n }\n }\n\n flushSync$1(function () {\n updateContainer(null, root, null, null);\n });\n unmarkContainerAsRoot(container);\n }\n};\n\nfunction createRoot$1(container, options) {\n if (!isValidContainer(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n var transitionCallbacks = null;\n\n if (options !== null && options !== undefined) {\n {\n if (options.hydrate) {\n warn('hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead.');\n } else {\n if (typeof options === 'object' && options !== null && options.$$typeof === REACT_ELEMENT_TYPE) {\n error('You passed a JSX element to createRoot. You probably meant to ' + 'call root.render instead. ' + 'Example usage:\\n\\n' + ' let root = createRoot(domContainer);\\n' + ' root.render(<App />);');\n }\n }\n }\n\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n\n if (options.unstable_transitionCallbacks !== undefined) {\n transitionCallbacks = options.unstable_transitionCallbacks;\n }\n }\n\n var root = createContainer(container, ConcurrentRoot, null, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks);\n markContainerAsRoot(root.current, container);\n Dispatcher$1.current = ReactDOMClientDispatcher;\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement); // $FlowFixMe[invalid-constructor] Flow no longer supports calling new on functions\n\n return new ReactDOMRoot(root);\n} // $FlowFixMe[missing-this-annot]\n\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nfunction scheduleHydration(target) {\n if (target) {\n queueExplicitHydrationTarget(target);\n }\n} // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = scheduleHydration;\nfunction hydrateRoot$1(container, initialChildren, options) {\n if (!isValidContainer(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n\n {\n if (initialChildren === undefined) {\n error('Must provide initial children as second argument to hydrateRoot. ' + 'Example usage: hydrateRoot(domContainer, <App />)');\n }\n } // For now we reuse the whole bag of options since they contain\n // the hydration callbacks.\n\n\n var hydrationCallbacks = options != null ? options : null;\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n var transitionCallbacks = null;\n var formState = null;\n\n if (options !== null && options !== undefined) {\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n\n if (options.unstable_transitionCallbacks !== undefined) {\n transitionCallbacks = options.unstable_transitionCallbacks;\n }\n\n {\n if (options.formState !== undefined) {\n formState = options.formState;\n }\n }\n }\n\n var root = createHydrationContainer(initialChildren, null, container, ConcurrentRoot, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks, formState);\n markContainerAsRoot(root.current, container);\n Dispatcher$1.current = ReactDOMClientDispatcher; // This can't be a comment node since hydration doesn't work on comment nodes anyway.\n\n listenToAllSupportedEvents(container); // $FlowFixMe[invalid-constructor] Flow no longer supports calling new on functions\n\n return new ReactDOMHydrationRoot(root);\n}\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || !disableCommentsAsDOMContainers ));\n} // TODO: Remove this function which also includes comment nodes.\n// We only use it in places that are currently more relaxed.\n\nfunction isValidContainerLegacy(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));\n}\n\nfunction warnIfReactDOMContainerInDEV(container) {\n {\n if (isContainerMarkedAsRoot(container)) {\n if (container._reactRootContainer) {\n error('You are calling ReactDOMClient.createRoot() on a container that was previously ' + 'passed to ReactDOM.render(). This is not supported.');\n } else {\n error('You are calling ReactDOMClient.createRoot() on a container that ' + 'has already been passed to createRoot() before. Instead, call ' + 'root.render() on the existing root instead if you want to update it.');\n }\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar topLevelUpdateWarnings;\n\n{\n topLevelUpdateWarnings = function (container) {\n if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');\n }\n }\n }\n\n var isRootRenderedBySomeReact = !!container._reactRootContainer;\n var rootEl = getReactRootElementInContainer(container);\n var hasNonRootReactChild = !!(rootEl && getInstanceFromNode(rootEl));\n\n if (hasNonRootReactChild && !isRootRenderedBySomeReact) {\n error('Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');\n }\n };\n}\n\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOCUMENT_NODE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction noopOnRecoverableError() {// This isn't reachable because onRecoverableError isn't called in the\n // legacy API.\n}\n\nfunction legacyCreateRootFromDOMContainer(container, initialChildren, parentComponent, callback, isHydrationContainer) {\n if (isHydrationContainer) {\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n }\n\n var root = createHydrationContainer(initialChildren, callback, container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError, // TODO(luna) Support hydration later\n null, null);\n container._reactRootContainer = root;\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container; // $FlowFixMe[incompatible-call]\n\n listenToAllSupportedEvents(rootContainerElement);\n flushSync$1();\n return root;\n } else {\n // First clear any existing content.\n clearContainer(container);\n\n if (typeof callback === 'function') {\n var _originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(_root);\n\n _originalCallback.call(instance);\n };\n }\n\n var _root = createContainer(container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError, // onRecoverableError\n null // transitionCallbacks\n );\n\n container._reactRootContainer = _root;\n markContainerAsRoot(_root.current, container);\n\n var _rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container; // $FlowFixMe[incompatible-call]\n\n\n listenToAllSupportedEvents(_rootContainerElement); // Initial mount should not be batched.\n\n flushSync$1(function () {\n updateContainer(initialChildren, _root, parentComponent, callback);\n });\n return _root;\n }\n}\n\nfunction warnOnInvalidCallback(callback) {\n {\n if (callback !== null && typeof callback !== 'function') {\n error('Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\n }\n }\n}\n\nfunction legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {\n {\n topLevelUpdateWarnings(container);\n warnOnInvalidCallback(callback === undefined ? null : callback);\n }\n\n var maybeRoot = container._reactRootContainer;\n var root;\n\n if (!maybeRoot) {\n // Initial mount\n root = legacyCreateRootFromDOMContainer(container, children, parentComponent, callback, forceHydrate);\n } else {\n root = maybeRoot;\n\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n } // Update\n\n\n updateContainer(children, root, parentComponent, callback);\n }\n\n return getPublicRootInstance(root);\n}\n\nfunction findDOMNode(componentOrElement) {\n {\n var owner = ReactCurrentOwner.current;\n\n if (owner !== null && owner.stateNode !== null) {\n var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;\n\n if (!warnedAboutRefsInRender) {\n error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromType(owner.type) || 'A component');\n }\n\n owner.stateNode._warnedAboutRefsInRender = true;\n }\n }\n\n if (componentOrElement == null) {\n return null;\n }\n\n if (componentOrElement.nodeType === ELEMENT_NODE) {\n return componentOrElement;\n }\n\n {\n return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');\n }\n}\nfunction hydrate(element, container, callback) {\n {\n error('ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call hydrateRoot(container, element)?');\n }\n } // TODO: throw or warn if we couldn't hydrate?\n\n\n return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);\n}\nfunction render(element, container, callback) {\n {\n error('ReactDOM.render is no longer supported in React 18. Use createRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');\n }\n }\n\n return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);\n}\nfunction unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n {\n error('ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported ' + 'in React 18. Consider using a portal instead. Until you switch to ' + \"the createRoot API, your app will behave as if it's running React \" + '17. Learn more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(containerNode)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n if (parentComponent == null || !has(parentComponent)) {\n throw new Error('parentComponent must be a valid React Component');\n }\n\n return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);\n}\nfunction unmountComponentAtNode(container) {\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?');\n }\n }\n\n if (container._reactRootContainer) {\n {\n var rootEl = getReactRootElementInContainer(container);\n var renderedByDifferentReact = rootEl && !getInstanceFromNode(rootEl);\n\n if (renderedByDifferentReact) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by another copy of React.');\n }\n } // Unmount should not be batched.\n\n\n flushSync$1(function () {\n legacyRenderSubtreeIntoContainer(null, null, container, false, function () {\n // $FlowFixMe[incompatible-type] This should probably use `delete container._reactRootContainer`\n container._reactRootContainer = null;\n unmarkContainerAsRoot(container);\n });\n }); // If you call unmountComponentAtNode twice in quick succession, you'll\n // get `true` twice. That's probably fine?\n\n return true;\n } else {\n {\n var _rootEl = getReactRootElementInContainer(container);\n\n var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode(_rootEl)); // Check if the container itself is a React root node.\n\n var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainerLegacy(container.parentNode) && // $FlowFixMe[prop-missing]\n // $FlowFixMe[incompatible-use]\n !!container.parentNode._reactRootContainer;\n\n if (hasNonRootReactChild) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');\n }\n }\n\n return false;\n }\n}\n\nfunction getCrossOriginString(input) {\n if (typeof input === 'string') {\n return input === 'use-credentials' ? input : '';\n }\n\n return undefined;\n}\nfunction getCrossOriginStringAs(as, input) {\n if (as === 'font') {\n return '';\n }\n\n if (typeof input === 'string') {\n return input === 'use-credentials' ? input : '';\n }\n\n return undefined;\n}\n\nvar Dispatcher = Internals.Dispatcher;\nfunction prefetchDNS(href) {\n {\n if (typeof href !== 'string' || !href) {\n error('ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.', getValueDescriptorExpectingObjectForWarning(href));\n } else if (arguments.length > 1) {\n var options = arguments[1];\n\n if (typeof options === 'object' && options.hasOwnProperty('crossOrigin')) {\n error('ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.', getValueDescriptorExpectingEnumForWarning(options));\n } else {\n error('ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.', getValueDescriptorExpectingEnumForWarning(options));\n }\n }\n }\n\n var dispatcher = Dispatcher.current;\n\n if (dispatcher && typeof href === 'string') {\n dispatcher.prefetchDNS(href);\n } // We don't error because preconnect needs to be resilient to being called in a variety of scopes\n // and the runtime may not be capable of responding. The function is optimistic and not critical\n // so we favor silent bailout over warning or erroring.\n\n}\nfunction preconnect(href, options) {\n {\n if (typeof href !== 'string' || !href) {\n error('ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.', getValueDescriptorExpectingObjectForWarning(href));\n } else if (options != null && typeof options !== 'object') {\n error('ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.', getValueDescriptorExpectingEnumForWarning(options));\n } else if (options != null && typeof options.crossOrigin !== 'string') {\n error('ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.', getValueDescriptorExpectingObjectForWarning(options.crossOrigin));\n }\n }\n\n var dispatcher = Dispatcher.current;\n\n if (dispatcher && typeof href === 'string') {\n var crossOrigin = options ? getCrossOriginString(options.crossOrigin) : null;\n dispatcher.preconnect(href, crossOrigin);\n } // We don't error because preconnect needs to be resilient to being called in a variety of scopes\n // and the runtime may not be capable of responding. The function is optimistic and not critical\n // so we favor silent bailout over warning or erroring.\n\n}\nfunction preload(href, options) {\n {\n var encountered = '';\n\n if (typeof href !== 'string' || !href) {\n encountered += \" The `href` argument encountered was \" + getValueDescriptorExpectingObjectForWarning(href) + \".\";\n }\n\n if (options == null || typeof options !== 'object') {\n encountered += \" The `options` argument encountered was \" + getValueDescriptorExpectingObjectForWarning(options) + \".\";\n } else if (typeof options.as !== 'string' || !options.as) {\n encountered += \" The `as` option encountered was \" + getValueDescriptorExpectingObjectForWarning(options.as) + \".\";\n }\n\n if (encountered) {\n error('ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel=\"preload\" as=\"...\" />` tag.%s', encountered);\n }\n }\n\n var dispatcher = Dispatcher.current;\n\n if (dispatcher && typeof href === 'string' && // We check existence because we cannot enforce this function is actually called with the stated type\n typeof options === 'object' && options !== null && typeof options.as === 'string') {\n var as = options.as;\n var crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n dispatcher.preload(href, as, {\n crossOrigin: crossOrigin,\n integrity: typeof options.integrity === 'string' ? options.integrity : undefined,\n nonce: typeof options.nonce === 'string' ? options.nonce : undefined,\n type: typeof options.type === 'string' ? options.type : undefined,\n fetchPriority: typeof options.fetchPriority === 'string' ? options.fetchPriority : undefined,\n referrerPolicy: typeof options.referrerPolicy === 'string' ? options.referrerPolicy : undefined,\n imageSrcSet: typeof options.imageSrcSet === 'string' ? options.imageSrcSet : undefined,\n imageSizes: typeof options.imageSizes === 'string' ? options.imageSizes : undefined\n });\n } // We don't error because preload needs to be resilient to being called in a variety of scopes\n // and the runtime may not be capable of responding. The function is optimistic and not critical\n // so we favor silent bailout over warning or erroring.\n\n}\nfunction preloadModule(href, options) {\n {\n var encountered = '';\n\n if (typeof href !== 'string' || !href) {\n encountered += \" The `href` argument encountered was \" + getValueDescriptorExpectingObjectForWarning(href) + \".\";\n }\n\n if (options !== undefined && typeof options !== 'object') {\n encountered += \" The `options` argument encountered was \" + getValueDescriptorExpectingObjectForWarning(options) + \".\";\n } else if (options && 'as' in options && typeof options.as !== 'string') {\n encountered += \" The `as` option encountered was \" + getValueDescriptorExpectingObjectForWarning(options.as) + \".\";\n }\n\n if (encountered) {\n error('ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel=\"modulepreload\" as=\"...\" />` tag.%s', encountered);\n }\n }\n\n var dispatcher = Dispatcher.current;\n\n if (dispatcher && typeof href === 'string') {\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n dispatcher.preloadModule(href, {\n as: typeof options.as === 'string' && options.as !== 'script' ? options.as : undefined,\n crossOrigin: crossOrigin,\n integrity: typeof options.integrity === 'string' ? options.integrity : undefined\n });\n } else {\n dispatcher.preloadModule(href);\n }\n } // We don't error because preload needs to be resilient to being called in a variety of scopes\n // and the runtime may not be capable of responding. The function is optimistic and not critical\n // so we favor silent bailout over warning or erroring.\n\n}\nfunction preinit(href, options) {\n {\n if (typeof href !== 'string' || !href) {\n error('ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.', getValueDescriptorExpectingObjectForWarning(href));\n } else if (options == null || typeof options !== 'object') {\n error('ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.', getValueDescriptorExpectingEnumForWarning(options));\n } else if (options.as !== 'style' && options.as !== 'script') {\n error('ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \"style\" and \"script\".', getValueDescriptorExpectingEnumForWarning(options.as));\n }\n }\n\n var dispatcher = Dispatcher.current;\n\n if (dispatcher && typeof href === 'string' && options && typeof options.as === 'string') {\n var as = options.as;\n var crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n var integrity = typeof options.integrity === 'string' ? options.integrity : undefined;\n var fetchPriority = typeof options.fetchPriority === 'string' ? options.fetchPriority : undefined;\n\n if (as === 'style') {\n dispatcher.preinitStyle(href, typeof options.precedence === 'string' ? options.precedence : undefined, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n });\n } else if (as === 'script') {\n dispatcher.preinitScript(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: typeof options.nonce === 'string' ? options.nonce : undefined\n });\n }\n } // We don't error because preinit needs to be resilient to being called in a variety of scopes\n // and the runtime may not be capable of responding. The function is optimistic and not critical\n // so we favor silent bailout over warning or erroring.\n\n}\nfunction preinitModule(href, options) {\n {\n var encountered = '';\n\n if (typeof href !== 'string' || !href) {\n encountered += \" The `href` argument encountered was \" + getValueDescriptorExpectingObjectForWarning(href) + \".\";\n }\n\n if (options !== undefined && typeof options !== 'object') {\n encountered += \" The `options` argument encountered was \" + getValueDescriptorExpectingObjectForWarning(options) + \".\";\n } else if (options && 'as' in options && options.as !== 'script') {\n encountered += \" The `as` option encountered was \" + getValueDescriptorExpectingEnumForWarning(options.as) + \".\";\n }\n\n if (encountered) {\n error('ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s', encountered);\n } else {\n var as = options && typeof options.as === 'string' ? options.as : 'script';\n\n switch (as) {\n case 'script':\n {\n break;\n }\n // We have an invalid as type and need to warn\n\n default:\n {\n var typeOfAs = getValueDescriptorExpectingEnumForWarning(as);\n\n error('ReactDOM.preinitModule(): Currently the only supported \"as\" type for this function is \"script\"' + ' but received \"%s\" instead. This warning was generated for `href` \"%s\". In the future other' + ' module types will be supported, aligning with the import-attributes proposal. Learn more here:' + ' (https://github.com/tc39/proposal-import-attributes)', typeOfAs, href);\n }\n }\n }\n }\n\n var dispatcher = Dispatcher.current;\n\n if (dispatcher && typeof href === 'string') {\n if (typeof options === 'object' && options !== null) {\n if (options.as == null || options.as === 'script') {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n dispatcher.preinitModuleScript(href, {\n crossOrigin: crossOrigin,\n integrity: typeof options.integrity === 'string' ? options.integrity : undefined,\n nonce: typeof options.nonce === 'string' ? options.nonce : undefined\n });\n }\n } else if (options == null) {\n dispatcher.preinitModuleScript(href);\n }\n } // We don't error because preinit needs to be resilient to being called in a variety of scopes\n // and the runtime may not be capable of responding. The function is optimistic and not critical\n // so we favor silent bailout over warning or erroring.\n\n}\n\nfunction getValueDescriptorExpectingObjectForWarning(thing) {\n return thing === null ? '`null`' : thing === undefined ? '`undefined`' : thing === '' ? 'an empty string' : \"something with type \\\"\" + typeof thing + \"\\\"\";\n}\n\nfunction getValueDescriptorExpectingEnumForWarning(thing) {\n return thing === null ? '`null`' : thing === undefined ? '`undefined`' : thing === '' ? 'an empty string' : typeof thing === 'string' ? JSON.stringify(thing) : typeof thing === 'number' ? '`' + thing + '`' : \"something with type \\\"\" + typeof thing + \"\\\"\";\n}\n\n{\n if (typeof Map !== 'function' || // $FlowFixMe[prop-missing] Flow incorrectly thinks Map has no prototype\n Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowFixMe[prop-missing] Flow incorrectly thinks Set has no prototype\n Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {\n error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n}\n\nfunction createPortal(children, container) {\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!isValidContainer(container)) {\n throw new Error('Target container is not a DOM element.');\n } // TODO: pass ReactDOM portal implementation as third argument\n // $FlowFixMe[incompatible-return] The Flow type is opaque but there's no way to actually create it.\n\n\n return createPortal$1(children, container, null, key);\n}\n\nfunction renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);\n}\n\nfunction createRoot(container, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing createRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return createRoot$1(container, options);\n}\n\nfunction hydrateRoot(container, initialChildren, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing hydrateRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return hydrateRoot$1(container, initialChildren, options);\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n// eslint-disable-next-line no-redeclare\n// eslint-disable-next-line no-redeclare\n\n\nfunction flushSync(fn) {\n {\n if (isAlreadyRendering()) {\n error('flushSync was called from inside a lifecycle method. React cannot ' + 'flush when React is already rendering. Consider moving this call to ' + 'a scheduler task or micro task.');\n }\n }\n\n return flushSync$1(fn);\n}\n// This is an array for better minification.\n\nInternals.Events = [getInstanceFromNode, getNodeFromInstance, getFiberCurrentPropsFromNode, enqueueStateRestore, restoreStateIfNeeded, batchedUpdates$1];\nvar foundDevTools = injectIntoDevTools({\n findFiberByHostInstance: getClosestInstanceFromNode,\n bundleType: 1 ,\n version: ReactVersion,\n rendererPackageName: 'react-dom'\n});\n\n{\n if (!foundDevTools && canUseDOM && window.top === window.self) {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.\n\n if (/^(https?|file):$/.test(protocol)) {\n // eslint-disable-next-line react-internal/no-production-logging\n console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://reactjs.org/link/react-devtools' + (protocol === 'file:' ? '\\nYou might need to use a local HTTP server (instead of file://): ' + 'https://reactjs.org/link/react-devtools-faq' : ''), 'font-weight:bold');\n }\n }\n }\n}\n\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;\nexports.createPortal = createPortal;\nexports.createRoot = createRoot;\nexports.findDOMNode = findDOMNode;\nexports.flushSync = flushSync;\nexports.hydrate = hydrate;\nexports.hydrateRoot = hydrateRoot;\nexports.preconnect = preconnect;\nexports.prefetchDNS = prefetchDNS;\nexports.preinit = preinit;\nexports.preinitModule = preinitModule;\nexports.preload = preload;\nexports.preloadModule = preloadModule;\nexports.render = render;\nexports.unmountComponentAtNode = unmountComponentAtNode;\nexports.unstable_batchedUpdates = batchedUpdates$1;\nexports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;\nexports.useFormState = useFormState;\nexports.useFormStatus = useFormStatus;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixtQkFBTyxDQUFDLHNHQUEwQjtBQUN4RCxnQkFBZ0IsbUJBQU8sQ0FBQyw4R0FBOEI7O0FBRXREO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkZBQTZGLGFBQWE7QUFDMUc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0NBQW9DOztBQUVwQywwQ0FBMEM7O0FBRTFDLGdDQUFnQztBQUNoQztBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDOztBQUVyQyxnQ0FBZ0M7O0FBRWhDLHNDQUFzQzs7QUFFdEMsNENBQTRDOztBQUU1Qyw0RUFBNEU7QUFDNUU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0Q7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQTtBQUNBOztBQUVBLHVEQUF1RDtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDs7QUFFQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFBOEQ7O0FBRTlEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFBOEQ7O0FBRTlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQSxrRkFBa0Y7O0FBRWxGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtGQUFrRjs7QUFFbEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0ZBQWtGOztBQUVsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkZBQTZGOztBQUU3RjtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVOztBQUVWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQ7O0FBRXZELDBEQUEwRDtBQUMxRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0Q7QUFDcEQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0EsU0FBUztBQUNULHVCQUF1QjtBQUN2QjtBQUNBLFNBQVM7QUFDVCx1QkFBdUI7QUFDdkI7QUFDQSxTQUFTO0FBQ1Qsd0JBQXdCO0FBQ3hCO0FBQ0EsU0FBUztBQUNULHdCQUF3QjtBQUN4QjtBQUNBLFNBQVM7QUFDVCxpQ0FBaUM7QUFDakM7QUFDQSxTQUFTO0FBQ1QsMkJBQTJCO0FBQzNCO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBLHlDQUF5Qzs7QUFFekM7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdCQUF3QixvQkFBb0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxREFBcUQ7QUFDckQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaOztBQUVBLGtGQUFrRjtBQUNsRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNDQUFzQztBQUN0Qzs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGdCQUFnQjtBQUNsQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQzs7QUFFMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0IsaUNBQWlDO0FBQ3ZEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtHQUFrRzs7QUFFbEc7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdDQUFnQzs7QUFFaEMsa0JBQWtCOztBQUVsQixvQkFBb0I7O0FBRXBCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7O0FBR0EsMEVBQTBFO0FBQzFFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjs7QUFFQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IseUJBQXlCO0FBQzNDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkRBQTJEOztBQUUzRDtBQUNBOztBQUVBO0FBQ0EsMkRBQTJEO0FBQzNEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhOzs7QUFHYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOztBQUVYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsY0FBYzs7O0FBR2Q7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7OztBQUdBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsZ0hBQWdIOztBQUVoSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsYUFBYSxrQkFBa0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjs7QUFFQTtBQUNBO0FBQ0EsZ0ZBQWdGO0FBQ2hGO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsSUFBSTtBQUN4QjtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7OztBQUdsQjtBQUNBO0FBQ0EsY0FBYztBQUNkOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxVQUFVLElBQUk7QUFDZDtBQUNBOztBQUVBO0FBQ0EsNkNBQTZDLFFBQVE7QUFDckQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0EsTUFBTTs7QUFFTjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTs7QUFFQSxtRUFBbUU7O0FBRW5FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsNENBQTRDO0FBQzVDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsR0FBRztBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsMERBQTBEO0FBQzFEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRGQUE0RjtBQUM1Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7OztBQUdBLHFFQUFxRTtBQUNyRTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsb0JBQW9CLGtCQUFrQjtBQUN0Qzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsK0JBQStCO0FBQy9COzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7OztBQUdBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQSxxQkFBcUIsbUJBQW1CO0FBQ3hDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0JBQW9CLDJCQUEyQjtBQUMvQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG9CQUFvQiwyQkFBMkI7QUFDL0M7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixxQkFBcUI7QUFDMUM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxzQkFBc0Isc0JBQXNCO0FBQzVDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7O0FBRXREO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCOztBQUU1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTs7QUFFQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQSx5dkJBQXl2Qjs7QUFFenZCO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQzs7QUFFbkMsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEscUNBQXFDOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkIsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7O0FBRTdCLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNB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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtRkFBbUY7QUFDbkY7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUSwwQ0FBMEM7OztBQUdsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnR0FBZ0c7QUFDaEc7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUSwwQ0FBMEM7OztBQUdsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7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QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0YsMkRBQTJEOztBQUUzRCxxREFBcUQ7QUFDckQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFD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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5RUFBeUU7QUFDekU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlFQUF5RTtBQUN6RTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtRUFBbUU7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3RUFBd0U7QUFDeEU7QUFDQTs7QUFFQTtBQUNBLDhCQUE4Qjs7QUFFOUIsa0NBQWtDO0FBQ2xDO0FBQ0E7O0FBRUEsc0NBQXNDOztBQUV0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBEO0FBQzFEO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBLG1DQUFtQztBQUNuQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSiwwQkFBMEI7QUFDMUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSLHdCQUF3QixtQkFBbUI7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx1Q0FBdUM7QUFDdkM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVB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QUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBLG9DQUFvQztBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQ7QUFDdkQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7OztBQUdWO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVOzs7QUFHVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxpREFBaUQ7QUFDakQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG9CQUFvQiw0QkFBNEI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxvQkFBb0Isc0JBQXNCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osa0JBQWtCLGtCQUFrQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSw4REFBOEQ7QUFDOUQscURBQXFEO0FBQ3JELDJEQUEyRDtBQUMzRCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLCtDQUErQzs7QUFFL0M7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQSx1TEFBdUw7QUFDdkw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRDs7QUFFL0Q7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhIQUE4SCx5Q0FBeUM7QUFDdks7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ04sOE1BQThNLEdBQUc7QUFDak47QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsa0RBQWtEOztBQUVsRDs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0Isd0JBQXdCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxXQUFXLGtEQUFrRDtBQUM3RDtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYSw2QkFBNkI7QUFDMUM7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOzs7QUFHTix3RUFBd0U7O0FBRXhFLFdBQVcsNkJBQTZCO0FBQ3hDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7OztBQUdBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUEsZUFBZSxhQUFhO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFdBQVcsaUNBQWlDO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFlBQVk7QUFDekI7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOzs7QUFHTix3RUFBd0U7O0FBRXhFLFdBQVcsWUFBWTtBQUN2Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsTUFBTTtBQUNuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEO0FBQ3REO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEscURBQXFEO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHVHQUF1RztBQUN2RztBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBLG9DQUFvQztBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7OztBQUdBLDJCQUEyQjtBQUMzQjs7QUFFQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0JBQStCO0FBQy9CLG9EQUFvRDtBQUNwRDtBQUNBOztBQUVBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpREFBaUQ7O0FBRWpELHdCQUF3Qjs7QUFFeEI7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQjs7QUFFMUIsaUNBQWlDO0FBQ2pDO0FBQ0E7O0FBRUE7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSx3QkFBd0IsOEJBQThCO0FBQ3REO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEO0FBQ3REO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osa0JBQWtCLDRDQUE0QztBQUM5RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQ0FBa0M7O0FBRWxDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQSw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkVBQTJFO0FBQzNFO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BEOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUNBQXVDOztBQUV2QyxrQ0FBa0M7O0FBRWxDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RDtBQUN2RDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7O0FBR0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsY0FBYztBQUNkO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7OztBQUdWOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSx1Q0FBdUM7QUFDdkM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLDJDQUEyQztBQUNqRDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjs7QUFFckIsaUZBQWlGO0FBQ2pGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0ZBQWtGO0FBQ2xGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJJQUEySTtBQUMzSTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQ7O0FBRUE7QUFDQSx3Q0FBd0M7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsOERBQThEO0FBQzlEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0Esd0JBQXdCOztBQUV4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQSxnRUFBZ0U7QUFDaEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7OztBQUc1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBLHlLQUF5SywwQ0FBMEM7QUFDbk47QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQSw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7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QUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzRUFBc0U7QUFDdEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxlQUFlO0FBQ3pCLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTtBQUNBLGlDQUFpQztBQUNqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGdDQUFnQztBQUNoQzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKLGlHQUFpRztBQUNqRyxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVixrRUFBa0UsNENBQTRDO0FBQzlHOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QyxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBLHNEQUFzRDtBQUN0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtSUFBbUk7QUFDbkk7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUlBQW1JO0FBQ25JO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxRQUFRLElBQUk7QUFDWjtBQUNBO0FBQ0Esd0RBQXdEO0FBQ3hEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7O0FBR0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUEsaUhBQWlIO0FBQ2pIO0FBQ0E7QUFDQTs7QUFFQSx5Q0FBeUM7QUFDekM7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxtQ0FBbUM7O0FBRW5DLDhCQUE4QjtBQUM5Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBLDJDQUEyQztBQUMzQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpRUFBaUU7QUFDakU7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxxRkFBcUY7O0FBRXJGOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2RUFBNkU7QUFDN0U7O0FBRUE7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0RBQXNEOztBQUV0RDtBQUNBLG1EQUFtRDs7QUFFbkQ7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0RBQWtEO0FBQ2xEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0RBQXNEO0FBQ3REO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7O0FBRWpEO0FBQ0E7QUFDQSx5RUFBeUU7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUVBQXVFOztBQUV2RTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDJDQUEyQzs7QUFFM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQSxpREFBaUQ7O0FBRWpEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBLGlEQUFpRDtBQUNqRDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0dBQXdHO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEO0FBQ3ZEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQSxzRUFBc0U7O0FBRXRFLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTix5Q0FBeUM7O0FBRXpDO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBLGdFQUFnRTs7QUFFaEU7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0EsSUFBSTtBQUNKLCtHQUErRztBQUMvRztBQUNBLHlCQUF5Qjs7QUFFekI7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLGdHQUFnRztBQUNoRzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osMEVBQTBFOztBQUUxRTtBQUNBO0FBQ0EsNEZBQTRGO0FBQzVGOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUdBQXVHO0FBQ3ZHOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0NBQWdDOztBQUVoQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0VBQXdFO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSx5REFBeUQ7QUFDekQ7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEM7O0FBRTFDLDRDQUE0Qzs7QUFFNUM7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLGdHQUFnRztBQUNoRztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQ0FBb0M7O0FBRXBDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHlOQUF5TixHQUFHOztBQUU1TjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixxQkFBcUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLFlBQVk7QUFDL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRDQUE0Qzs7QUFFNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7OztBQUdaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdEOztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0Esd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBLE1BQU07QUFDTjs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUEsMENBQTBDOztBQUUxQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQTs7QUFFQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOzs7QUFHQTtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RDs7QUFFN0Q7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNEJBQTRCOztBQUU1Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxzRkFBc0Y7O0FBRXRGLDREQUE0RDtBQUM1RDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVOzs7QUFHVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVOzs7QUFHVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjs7QUFFQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLHFFQUFxRTtBQUM3RTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsc0RBQXNEO0FBQ3REOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnREFBZ0Q7O0FBRWhEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtHQUFrRztBQUNsRztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvREFBb0Q7O0FBRXBEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBLGtHQUFrRztBQUNsRztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvREFBb0Q7QUFDcEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7O0FBRUE7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCOzs7QUFHaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7O0FBRVY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7OztBQUdoQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7O0FBRVY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxjQUFjOzs7QUFHZDtBQUNBO0FBQ0E7O0FBRUEsc0RBQXNEO0FBQ3REO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7O0FBRUEsNEhBQTRIO0FBQzVIOzs7QUFHQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMENBQTBDO0FBQzFDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0NBQStDO0FBQy9DOztBQUVBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBLGNBQWM7O0FBRWQ7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTs7QUFFWjs7QUFFQTtBQUNBO0FBQ0EsOENBQThDOztBQUU5QztBQUNBO0FBQ0EsWUFBWTs7O0FBR1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwwREFBMEQ7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0VBQW9FO0FBQ3BFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlFQUFpRTtBQUNqRTs7QUFFQSw4SUFBOEk7O0FBRTlJO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0EsWUFBWTs7QUFFWixVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscURBQXFEOztBQUVyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBLG9FQUFvRTtBQUNwRTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEOztBQUVoRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVOzs7QUFHVjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHdFQUF3RTs7QUFFeEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3RUFBd0U7O0FBRXhFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVB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LG1FQUFtRTtBQUNuRTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZDs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQSwyREFBMkQ7QUFDM0Q7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTs7QUFFVjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzRUFBc0U7QUFDdEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0VBQXNFO0FBQ3RFOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDZDQUE2QztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsUUFBUSw0SUFBNEk7QUFDcEo7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFEO0FBQ3JEOztBQUVBO0FBQ0E7QUFDQSxVQUFVOztBQUVWOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUNBQXFDOztBQUVyQztBQUNBOztBQUVBLG9EQUFvRDtBQUNwRDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJLDJEQUEyRDtBQUMvRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSSwyREFBMkQ7QUFDL0Q7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBLFVBQVU7O0FBRVY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtHQUFrRztBQUNsRztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7O0FBRVY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVOztBQUVWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGdEQUFnRDtBQUNoRCxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0Isc0JBQXNCO0FBQzFDOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7O0FBRVY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7O0FBRVY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEO0FBQ0E7O0FBRUE7QUFDQSw0Q0FBNEM7O0FBRTVDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQSx3REFBd0Q7O0FBRXhELG1EQUFtRDtBQUNuRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0dBQXNHO0FBQ3RHO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZOzs7QUFHWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3QkFBd0I7QUFDeEI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEdBQTRHOztBQUU1RztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRHQUE0Rzs7QUFFNUc7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7OztBQUdBOztBQUVBO0FBQ0E7QUFDQSxVQUFVOzs7QUFHVjtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEdBQTRHO0FBQzVHO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0R0FBNEc7O0FBRTVHO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0R0FBNEc7QUFDNUc7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCO0FBQ3hCO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUlBQXVJOztBQUV2STtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0RBQXNEO0FBQ3REO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDhEQUE4RDtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdJQUF3STs7QUFFeEk7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9KQUFvSjs7QUFFcEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQzs7QUFFMUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCO0FBQ3hCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFEQUFxRDs7QUFFckQ7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNCQUFzQixzQkFBc0I7QUFDNUMsMENBQTBDOztBQUUxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDBDQUEwQzs7QUFFMUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNCQUFzQixzQkFBc0I7QUFDNUMsMENBQTBDOztBQUUxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDBDQUEwQzs7QUFFMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUZBQXFGO0FBQ3JGOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qjs7QUFFN0I7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOERBQThEO0FBQzlEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUIsa0NBQWtDOztBQUVsQywrQkFBK0I7O0FBRS9CLDJCQUEyQjs7QUFFM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBOztBQUVBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0M7O0FBRXBDLG1EQUFtRDs7QUFFbkQseUNBQXlDO0FBQ3pDOztBQUVBLDhDQUE4Qzs7QUFFOUMseURBQXlEOztBQUV6RCw2Q0FBNkM7O0FBRTdDLHlDQUF5Qzs7QUFFekMsK0NBQStDO0FBQy9DOztBQUVBLGdEQUFnRDs7QUFFaEQsK0RBQStEO0FBQy9EO0FBQ0E7O0FBRUEseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQztBQUNoQzs7QUFFQSxtREFBbUQ7QUFDbkQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDOztBQUV0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0EsOEVBQThFO0FBQzlFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxtREFBbUQ7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQSx1Q0FBdUM7O0FBRXZDO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtHQUErRztBQUMvRztBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7QUFDQSxrRUFBa0U7QUFDbEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLDBGQUEwRjs7QUFFMUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTs7QUFFQSw2Q0FBNkM7QUFDN0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsMEJBQTBCLG1CQUFtQjtBQUM3QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFO0FBQ0Y7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxtS0FBbUs7QUFDbks7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RDtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCOztBQUVoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJLGNBQWM7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBLEVBQUU7O0FBRUY7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsSUFBSTtBQUM1QjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnQkFBZ0I7OztBQUdoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxVQUFVLEtBQUk7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBLDZDQUE2Qzs7QUFFN0MsdUNBQXVDOztBQUV2QztBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDO0FBQzVDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBEO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLDZDQUE2QztBQUMzRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLDZEQUE2RDtBQUM3RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7O0FBRXJFO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsNEJBQTRCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9EQUFvRDs7QUFFcEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7O0FBRTFCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7O0FBR0E7QUFDQSxrREFBa0Q7O0FBRWxEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtSEFBbUg7O0FBRW5IOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxHQUFHO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4Qjs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsOExBQThMLG9EQUFvRCxFQUFFO0FBQ3BQLFFBQVE7QUFDUjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtT0FBbU8sb0RBQW9ELEVBQUU7QUFDelI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0MsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHlEQUF5RDtBQUN6RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCOztBQUV6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9COztBQUVwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLGdEQUFnRDs7QUFFaEQsd0NBQXdDO0FBQ3hDOztBQUVBLHNDQUFzQzs7QUFFdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0Q7QUFDcEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRDs7QUFFdEQsd0NBQXdDO0FBQ3hDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7O0FBRXpDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsaUJBQWlCO0FBQ3RDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3TkFBd047O0FBRXhOLDZDQUE2QztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDBFQUEwRTtBQUMxRTtBQUNBOztBQUVBLG1DQUFtQztBQUNuQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLEdBQUc7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3REFBd0Q7O0FBRXhEO0FBQ0EsbUNBQW1DOztBQUVuQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ04sc0JBQXNCLHdCQUF3QjtBQUM5QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3REFBd0QsUUFBUTs7QUFFaEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNB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QUNBOztBQUVBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEseUNBQXlDO0FBQ3pDO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0Esc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUEsdUNBQXVDO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQSx3QkFBd0I7O0FBRXhCO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBLDBFQUEwRTtBQUMxRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLDJDQUEyQztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQiwrQkFBK0I7QUFDakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrRUFBK0U7O0FBRS9FO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsa0JBQWtCLDJDQUEyQztBQUM3RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1QixnQ0FBZ0M7QUFDdkQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBLFlBQVk7OztBQUdaO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRFQUE0RTs7QUFFNUUscUJBQXFCO0FBQ3JCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7OztBQUdBO0FBQ0EsUUFBUTtBQUNSOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNB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QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFNBQVM7QUFDckI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0hBQWdIO0FBQ2hIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7O0FBRUo7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkMsWUFBWTtBQUNaOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsd0JBQXdCO0FBQ25DLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHdCQUF3QjtBQUNuQyxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxZQUFZO0FBQ3ZCLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHdCQUF3QjtBQUNuQyxXQUFXLFFBQVE7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwrRUFBK0U7QUFDL0U7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsYUFBYTtBQUNiOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsYUFBYTtBQUNiOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNENBQTRDO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0Isb0NBQW9DO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFF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Q0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsT0FBTztBQUNqQztBQUNBOztBQUVBOztBQUVBLDBCQUEwQixPQUFPO0FBQ2pDO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlJQUFpSSxtQkFBbUIsZ0JBQWdCLCtCQUErQjtBQUNuTSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtRkFBbUYsWUFBWTtBQUMvRjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1GQUFtRixZQUFZO0FBQy9GOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQzs7QUFFckM7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNENBQTRDOztBQUU1QztBQUNBOztBQUVBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3Q0FBd0M7O0FBRXhDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsNEJBQTRCO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEO0FBQ3ZEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDOztBQUV4QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUlBQWlJLDhCQUE4QjtBQUMvSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0oseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSix5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSix5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJEQUEyRDtBQUMzRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnREFBZ0Q7O0FBRWhEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLDRCQUE0QjtBQUNsRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0Esd0RBQXdEO0FBQ3hEOztBQUVBLDZDQUE2QztBQUM3QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0Esd0RBQXdEO0FBQ3hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLHdCQUF3QjtBQUM3Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0RBQXNEO0FBQ3REOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2YsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQW1COztBQUVyQjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBLElBQUksY0FBYztBQUNsQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUksT0FBTzs7O0FBR1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCOztBQUU5QjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlFQUF5RTtBQUN6RTtBQUNBO0FBQ0EsUUFBUTs7QUFFUixNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxtRkFBbUY7QUFDbkY7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsTUFBTSx1Q0FBdUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2R0FBNkc7QUFDN0c7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTLGNBQWM7QUFDdkI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEO0FBQ3ZEOztBQUVBLHFDQUFxQztBQUNyQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLCtDQUErQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsK0NBQStDO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSwrQ0FBK0M7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsb01BQW9NO0FBQ3BNO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLG1NQUFtTTtBQUNuTTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQzs7QUFFMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxpQ0FBaUM7O0FBRWpDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sWUFBWTs7O0FBR25COztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVB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QUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixrQkFBa0I7QUFDcEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSwwQkFBMEIsa0JBQWtCO0FBQzVDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSwyQkFBMkIsb0JBQW9CO0FBQy9DLG9DQUFvQztBQUNwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBLGtCQUFrQixrQkFBa0I7QUFDcEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FB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O0FBQ0EsSUFBSTs7O0FBR0osb0NBQW9DOztBQUVwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxnTEFBZ0wsOEJBQThCO0FBQzlNO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDs7QUFFcEQ7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbURBQW1EOztBQUVuRCx5Q0FBeUM7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUdBQXVHOztBQUV2RztBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsd0dBQXdHOzs7QUFHeEcsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQSw4RUFBOEU7O0FBRTlFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwREFBMEQ7QUFDMUQsb0JBQW9CO0FBQ3BCLGtCQUFrQjtBQUNsQixtQkFBbUI7QUFDbkIsaUJBQWlCO0FBQ2pCLGVBQWU7QUFDZixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLG1CQUFtQjtBQUNuQixlQUFlO0FBQ2YscUJBQXFCO0FBQ3JCLGVBQWU7QUFDZixxQkFBcUI7QUFDckIsY0FBYztBQUNkLDhCQUE4QjtBQUM5QiwrQkFBK0I7QUFDL0IsMkNBQTJDO0FBQzNDLG9CQUFvQjtBQUNwQixxQkFBcUI7QUFDckIsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzP2IyNjUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBNZXRhIFBsYXRmb3JtcywgSW5jLiBhbmQgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgUmVhY3QgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0XCIpO1xudmFyIFNjaGVkdWxlciA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvc2NoZWR1bGVyXCIpO1xuXG52YXIgSW50ZXJuYWxzID0ge1xuICB1c2luZ0NsaWVudEVudHJ5UG9pbnQ6IGZhbHNlLFxuICBFdmVudHM6IG51bGwsXG4gIERpc3BhdGNoZXI6IHtcbiAgICBjdXJyZW50OiBudWxsXG4gIH1cbn07XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG52YXIgc3VwcHJlc3NXYXJuaW5nID0gZmFsc2U7XG5mdW5jdGlvbiBzZXRTdXBwcmVzc1dhcm5pbmcobmV3U3VwcHJlc3NXYXJuaW5nKSB7XG4gIHtcbiAgICBzdXBwcmVzc1dhcm5pbmcgPSBuZXdTdXBwcmVzc1dhcm5pbmc7XG4gIH1cbn0gLy8gSW4gREVWLCBjYWxscyB0byBjb25zb2xlLndhcm4gYW5kIGNvbnNvbGUuZXJyb3IgZ2V0IHJlcGxhY2VkXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxuLy9cbi8vIEluIFBST0QgKG9yIGluIHBhY2thZ2VzIHdpdGhvdXQgYWNjZXNzIHRvIFJlYWN0IGludGVybmFscyksXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXG5cbmZ1bmN0aW9uIHdhcm4oZm9ybWF0KSB7XG4gIHtcbiAgICBpZiAoIXN1cHByZXNzV2FybmluZykge1xuICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgIH1cblxuICAgICAgcHJpbnRXYXJuaW5nKCd3YXJuJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGVycm9yKGZvcm1hdCkge1xuICB7XG4gICAgaWYgKCFzdXBwcmVzc1dhcm5pbmcpIHtcbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcobGV2ZWwsIGZvcm1hdCwgYXJncykge1xuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cbiAgLy8gdXBkYXRlIGNvbnNvbGVXaXRoU3RhY2tEZXYud3d3LmpzIGFzIHdlbGwuXG4gIHtcbiAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICBpZiAoc3RhY2sgIT09ICcnKSB7XG4gICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtKTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuICB9XG59XG5cbnZhciBhc3NpZ24gPSBPYmplY3QuYXNzaWduO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gS2lsbHN3aXRjaFxuLy9cbi8vIEZsYWdzIHRoYXQgZXhpc3Qgc29sZWx5IHRvIHR1cm4gb2ZmIGEgY2hhbmdlIGluIGNhc2UgaXQgY2F1c2VzIGEgcmVncmVzc2lvblxuLy8gd2hlbiBpdCByb2xscyBvdXQgdG8gcHJvZC4gV2Ugc2hvdWxkIHJlbW92ZSB0aGVzZSBhcyBzb29uIGFzIHBvc3NpYmxlLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMYW5kIG9yIHJlbW92ZSAobW9kZXJhdGUgZWZmb3J0KVxuLy9cbi8vIEZsYWdzIHRoYXQgY2FuIGJlIHByb2JhYmx5IGRlbGV0ZWQgb3IgbGFuZGVkLCBidXQgbWlnaHQgcmVxdWlyZSBleHRyYSBlZmZvcnRcbi8vIGxpa2UgbWlncmF0aW5nIGludGVybmFsIGNhbGxlcnMgb3IgcGVyZm9ybWFuY2UgdGVzdGluZy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUT0RPOiBGaW5pc2ggcm9sbGluZyBvdXQgaW4gd3d3XG5cbnZhciBlbmFibGVDbGllbnRSZW5kZXJGYWxsYmFja09uVGV4dE1pc21hdGNoID0gdHJ1ZTtcbnZhciBlbmFibGVGb3JtQWN0aW9ucyA9IHRydWU7XG52YXIgZW5hYmxlQXN5bmNBY3Rpb25zID0gdHJ1ZTsgLy8gTmVlZCB0byByZW1vdmUgZGlkVGltZW91dCBhcmd1bWVudCBmcm9tIFNjaGVkdWxlciBiZWZvcmUgbGFuZGluZ1xuLy8gU2xhdGVkIGZvciByZW1vdmFsIGluIHRoZSBmdXR1cmUgKHNpZ25pZmljYW50IGVmZm9ydClcbi8vXG4vLyBUaGVzZSBhcmUgZXhwZXJpbWVudHMgdGhhdCBkaWRuJ3Qgd29yayBvdXQsIGFuZCBuZXZlciBzaGlwcGVkLCBidXQgd2UgY2FuJ3Rcbi8vIGRlbGV0ZSBmcm9tIHRoZSBjb2RlYmFzZSB1bnRpbCB3ZSBtaWdyYXRlIGludGVybmFsIGNhbGxlcnMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQWRkIGEgY2FsbGJhY2sgcHJvcGVydHkgdG8gc3VzcGVuc2UgdG8gbm90aWZ5IHdoaWNoIHByb21pc2VzIGFyZSBjdXJyZW50bHlcbi8vIGluIHRoZSB1cGRhdGUgcXVldWUuIFRoaXMgYWxsb3dzIHJlcG9ydGluZyBhbmQgdHJhY2luZyBvZiB3aGF0IGlzIGNhdXNpbmdcbi8vIHRoZSB1c2VyIHRvIHNlZSBhIGxvYWRpbmcgc3RhdGUuXG4vL1xuLy8gQWxzbyBhbGxvd3MgaHlkcmF0aW9uIGNhbGxiYWNrcyB0byBmaXJlIHdoZW4gYSBkZWh5ZHJhdGVkIGJvdW5kYXJ5IGdldHNcbi8vIGh5ZHJhdGVkIG9yIGRlbGV0ZWQuXG4vL1xuLy8gVGhpcyB3aWxsIGV2ZW50dWFsbHkgYmUgcmVwbGFjZWQgYnkgdGhlIFRyYW5zaXRpb24gVHJhY2luZyBwcm9wb3NhbC5cblxudmFyIGVuYWJsZVN1c3BlbnNlQ2FsbGJhY2sgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIFNjb3BlIHN1cHBvcnQuXG5cbnZhciBlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uID0gZmFsc2U7IC8vIEZCLW9ubHkgdXNhZ2UuIFRoZSBuZXcgQVBJIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzLlxuXG52YXIgZW5hYmxlTGVnYWN5SGlkZGVuID0gZmFsc2U7IC8vIEVuYWJsZXMgdW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgZmVhdHVyZSBpbiBGaWJlclxudmFyIGFsd2F5c1Rocm90dGxlUmV0cmllcyA9IHRydWU7XG52YXIgc3luY0xhbmVFeHBpcmF0aW9uTXMgPSAyNTA7XG52YXIgdHJhbnNpdGlvbkxhbmVFeHBpcmF0aW9uTXMgPSA1MDAwOyAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVhY3QgRE9NIENob3BwaW5nIEJsb2NrXG4vL1xuLy8gU2ltaWxhciB0byBtYWluIENob3BwaW5nIEJsb2NrIGJ1dCBvbmx5IGZsYWdzIHJlbGF0ZWQgdG8gUmVhY3QgRE9NLiBUaGVzZSBhcmVcbi8vIGdyb3VwZWQgYmVjYXVzZSB3ZSB3aWxsIGxpa2VseSBiYXRjaCBhbGwgb2YgdGhlbSBpbnRvIGEgc2luZ2xlIG1ham9yIHJlbGVhc2UuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGlzYWJsZSBzdXBwb3J0IGZvciBjb21tZW50IG5vZGVzIGFzIFJlYWN0IERPTSBjb250YWluZXJzLiBBbHJlYWR5IGRpc2FibGVkXG4vLyBpbiBvcGVuIHNvdXJjZSwgYnV0IHd3dyBjb2RlYmFzZSBzdGlsbCByZWxpZXMgb24gaXQuIE5lZWQgdG8gcmVtb3ZlLlxuXG52YXIgZGlzYWJsZUNvbW1lbnRzQXNET01Db250YWluZXJzID0gdHJ1ZTtcbi8vIERlYnVnZ2luZyBhbmQgRGV2VG9vbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBZGRzIHVzZXIgdGltaW5nIG1hcmtzIGZvciBlLmcuIHN0YXRlIHVwZGF0ZXMsIHN1c3BlbnNlLCBhbmQgd29yayBsb29wIHN0dWZmLFxuLy8gZm9yIGFuIGV4cGVyaW1lbnRhbCB0aW1lbGluZSB0b29sLlxuXG52YXIgZW5hYmxlU2NoZWR1bGluZ1Byb2ZpbGVyID0gdHJ1ZTsgLy8gSGVscHMgaWRlbnRpZnkgc2lkZSBlZmZlY3RzIGluIHJlbmRlci1waGFzZSBsaWZlY3ljbGUgaG9va3MgYW5kIHNldFN0YXRlXG5cbnZhciBlbmFibGVQcm9maWxlclRpbWVyID0gdHJ1ZTsgLy8gUmVjb3JkIGR1cmF0aW9ucyBmb3IgY29tbWl0IGFuZCBwYXNzaXZlIGVmZmVjdHMgcGhhc2VzLlxuXG52YXIgZW5hYmxlUHJvZmlsZXJDb21taXRIb29rcyA9IHRydWU7IC8vIFBoYXNlIHBhcmFtIHBhc3NlZCB0byBvblJlbmRlciBjYWxsYmFjayBkaWZmZXJlbnRpYXRlcyBiZXR3ZWVuIGFuIFwidXBkYXRlXCIgYW5kIGEgXCJjYXNjYWRpbmctdXBkYXRlXCIuXG5cbnZhciBlbmFibGVQcm9maWxlck5lc3RlZFVwZGF0ZVBoYXNlID0gdHJ1ZTsgLy8gQWRkcyB2ZXJib3NlIGNvbnNvbGUgbG9nZ2luZyBmb3IgZS5nLiBzdGF0ZSB1cGRhdGVzLCBzdXNwZW5zZSwgYW5kIHdvcmsgbG9vcFxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjsgLy8gU2luY2UgdGhlIFwibm90IHBlbmRpbmdcIiB2YWx1ZSBpcyBhbHdheXMgdGhlIHNhbWUsIHdlIGNhbiByZXVzZSB0aGVcbi8vIHNhbWUgb2JqZWN0IGFjcm9zcyBhbGwgdHJhbnNpdGlvbnMuXG5cbnZhciBzaGFyZWROb3RQZW5kaW5nT2JqZWN0ID0ge1xuICBwZW5kaW5nOiBmYWxzZSxcbiAgZGF0YTogbnVsbCxcbiAgbWV0aG9kOiBudWxsLFxuICBhY3Rpb246IG51bGxcbn07XG52YXIgTm90UGVuZGluZyA9IE9iamVjdC5mcmVlemUoc2hhcmVkTm90UGVuZGluZ09iamVjdCkgO1xuXG5mdW5jdGlvbiByZXNvbHZlRGlzcGF0Y2hlcigpIHtcbiAgLy8gQ29waWVkIGZyb20gcmVhY3Qvc3JjL1JlYWN0SG9va3MuanMuIEl0J3MgdGhlIHNhbWUgdGhpbmcgYnV0IGluIGFcbiAgLy8gZGlmZmVyZW50IHBhY2thZ2UuXG4gIHZhciBkaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQzLmN1cnJlbnQ7XG5cbiAge1xuICAgIGlmIChkaXNwYXRjaGVyID09PSBudWxsKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvcicgKyAnIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4nICsgJzIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4nICsgJzMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLicpO1xuICAgIH1cbiAgfSAvLyBXaWxsIHJlc3VsdCBpbiBhIG51bGwgYWNjZXNzIGVycm9yIGlmIGFjY2Vzc2VkIG91dHNpZGUgcmVuZGVyIHBoYXNlLiBXZVxuICAvLyBpbnRlbnRpb25hbGx5IGRvbid0IHRocm93IG91ciBvd24gZXJyb3IgYmVjYXVzZSB0aGlzIGlzIGluIGEgaG90IHBhdGguXG4gIC8vIEFsc28gaGVscHMgZW5zdXJlIHRoaXMgaXMgaW5saW5lZC5cblxuXG4gIHJldHVybiBkaXNwYXRjaGVyO1xufVxuXG5mdW5jdGlvbiB1c2VGb3JtU3RhdHVzKCkge1xuICB7XG4gICAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpOyAvLyAkRmxvd0ZpeE1lW25vdC1hLWZ1bmN0aW9uXSBXZSBrbm93IHRoaXMgZXhpc3RzIGJlY2F1c2Ugb2YgdGhlIGZlYXR1cmUgY2hlY2sgYWJvdmUuXG5cbiAgICByZXR1cm4gZGlzcGF0Y2hlci51c2VIb3N0VHJhbnNpdGlvblN0YXR1cygpO1xuICB9XG59XG5mdW5jdGlvbiB1c2VGb3JtU3RhdGUoYWN0aW9uLCBpbml0aWFsU3RhdGUsIHBlcm1hbGluaykge1xuICB7XG4gICAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpOyAvLyAkRmxvd0ZpeE1lW25vdC1hLWZ1bmN0aW9uXSBUaGlzIGlzIHVuc3RhYmxlLCB0aHVzIG9wdGlvbmFsXG5cbiAgICByZXR1cm4gZGlzcGF0Y2hlci51c2VGb3JtU3RhdGUoYWN0aW9uLCBpbml0aWFsU3RhdGUsIHBlcm1hbGluayk7XG4gIH1cbn1cblxudmFyIHZhbHVlU3RhY2sgPSBbXTtcbnZhciBmaWJlclN0YWNrO1xuXG57XG4gIGZpYmVyU3RhY2sgPSBbXTtcbn1cblxudmFyIGluZGV4ID0gLTE7XG5cbmZ1bmN0aW9uIGNyZWF0ZUN1cnNvcihkZWZhdWx0VmFsdWUpIHtcbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50OiBkZWZhdWx0VmFsdWVcbiAgfTtcbn1cblxuZnVuY3Rpb24gcG9wKGN1cnNvciwgZmliZXIpIHtcbiAgaWYgKGluZGV4IDwgMCkge1xuICAgIHtcbiAgICAgIGVycm9yKCdVbmV4cGVjdGVkIHBvcC4nKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICB7XG4gICAgaWYgKGZpYmVyICE9PSBmaWJlclN0YWNrW2luZGV4XSkge1xuICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgRmliZXIgcG9wcGVkLicpO1xuICAgIH1cbiAgfVxuXG4gIGN1cnNvci5jdXJyZW50ID0gdmFsdWVTdGFja1tpbmRleF07XG4gIHZhbHVlU3RhY2tbaW5kZXhdID0gbnVsbDtcblxuICB7XG4gICAgZmliZXJTdGFja1tpbmRleF0gPSBudWxsO1xuICB9XG5cbiAgaW5kZXgtLTtcbn1cblxuZnVuY3Rpb24gcHVzaChjdXJzb3IsIHZhbHVlLCBmaWJlcikge1xuICBpbmRleCsrO1xuICB2YWx1ZVN0YWNrW2luZGV4XSA9IGN1cnNvci5jdXJyZW50O1xuXG4gIHtcbiAgICBmaWJlclN0YWNrW2luZGV4XSA9IGZpYmVyO1xuICB9XG5cbiAgY3Vyc29yLmN1cnJlbnQgPSB2YWx1ZTtcbn1cblxuLy8gQVRURU5USU9OXG4vLyBXaGVuIGFkZGluZyBuZXcgc3ltYm9scyB0byB0aGlzIGZpbGUsXG4vLyBQbGVhc2UgY29uc2lkZXIgYWxzbyBhZGRpbmcgdG8gJ3JlYWN0LWRldnRvb2xzLXNoYXJlZC9zcmMvYmFja2VuZC9SZWFjdFN5bWJvbHMnXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy5cbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50Jyk7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKTtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKTtcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTsgLy8gVE9ETzogRGVsZXRlIHdpdGggZW5hYmxlUmVuZGVyYWJsZUNvbnRleHRcblxudmFyIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb25zdW1lcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKTtcbnZhciBSRUFDVF9ERUJVR19UUkFDSU5HX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmRlYnVnX3RyYWNlX21vZGUnKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0xFR0FDWV9ISURERU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxlZ2FjeV9oaWRkZW4nKTtcbnZhciBSRUFDVF9DQUNIRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY2FjaGUnKTtcbnZhciBSRUFDVF9UUkFDSU5HX01BUktFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QudHJhY2luZ19tYXJrZXInKTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSBTeW1ib2wuaXRlcmF0b3I7XG52YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7XG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbWF5YmVJdGVyYXRvciA9IE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF07XG5cbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1heWJlSXRlcmF0b3I7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIGNvbnRleHRTdGFja0N1cnNvciQxID0gY3JlYXRlQ3Vyc29yKG51bGwpO1xudmFyIGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKG51bGwpO1xudmFyIHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKG51bGwpOyAvLyBSZXByZXNlbnRzIHRoZSBuZWFyZXN0IGhvc3QgdHJhbnNpdGlvbiBwcm92aWRlciAoaW4gUmVhY3QgRE9NLCBhIDxmb3JtIC8+KVxuLy8gTk9URTogU2luY2UgZm9ybXMgY2Fubm90IGJlIG5lc3RlZCwgYW5kIHRoaXMgZmVhdHVyZSBpcyBvbmx5IGltcGxlbWVudGVkIGJ5XG4vLyBSZWFjdCBET00sIHdlIGRvbid0IHRlY2huaWNhbGx5IG5lZWQgdGhpcyB0byBiZSBhIHN0YWNrLiBJdCBjb3VsZCBiZSBhIHNpbmdsZVxuLy8gbW9kdWxlIHZhcmlhYmxlIGluc3RlYWQuXG5cbnZhciBob3N0VHJhbnNpdGlvblByb3ZpZGVyQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKG51bGwpOyAvLyBUT0RPOiBUaGlzIHNob3VsZCBpbml0aWFsaXplIHRvIE5vdFBlbmRpbmdUcmFuc2l0aW9uLCBhIGNvbnN0YW50XG4vLyBpbXBvcnRlZCBmcm9tIHRoZSBmaWJlciBjb25maWcuIEhvd2V2ZXIsIGJlY2F1c2Ugb2YgYSBjeWNsZSBpbiB0aGUgbW9kdWxlXG4vLyBncmFwaCwgdGhhdCB2YWx1ZSBpc24ndCBkZWZpbmVkIGR1cmluZyB0aGlzIG1vZHVsZSdzIGluaXRpYWxpemF0aW9uLiBJIGNhbid0XG4vLyB0aGluayBvZiBhIHdheSB0byB3b3JrIGFyb3VuZCB0aGlzIHdpdGhvdXQgbW92aW5nIHRoYXQgdmFsdWUgb3V0IG9mIHRoZVxuLy8gZmliZXIgY29uZmlnLiBGb3Igbm93LCB0aGUgXCJubyBwcm92aWRlclwiIGNhc2UgaXMgaGFuZGxlZCB3aGVuIHJlYWRpbmcsXG4vLyBpbnNpZGUgdXNlSG9zdFRyYW5zaXRpb25TdGF0dXMuXG5cbnZhciBIb3N0VHJhbnNpdGlvbkNvbnRleHQgPSB7XG4gICQkdHlwZW9mOiBSRUFDVF9DT05URVhUX1RZUEUsXG4gIF9jdXJyZW50VmFsdWU6IG51bGwsXG4gIF9jdXJyZW50VmFsdWUyOiBudWxsLFxuICBfdGhyZWFkQ291bnQ6IDAsXG4gIFByb3ZpZGVyOiBudWxsLFxuICBDb25zdW1lcjogbnVsbFxufTtcblxuZnVuY3Rpb24gcmVxdWlyZWRDb250ZXh0KGMpIHtcbiAge1xuICAgIGlmIChjID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgaG9zdCBjb250ZXh0IHRvIGV4aXN0LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgJyArICdpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGM7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRSb290SG9zdENvbnRhaW5lcigpIHtcbiAgcmV0dXJuIHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG59XG5cbmZ1bmN0aW9uIGdldFJvb3RIb3N0Q29udGFpbmVyKCkge1xuICB2YXIgcm9vdEluc3RhbmNlID0gcmVxdWlyZWRDb250ZXh0KHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yLmN1cnJlbnQpO1xuICByZXR1cm4gcm9vdEluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdENvbnRhaW5lcihmaWJlciwgbmV4dFJvb3RJbnN0YW5jZSkge1xuICAvLyBQdXNoIGN1cnJlbnQgcm9vdCBpbnN0YW5jZSBvbnRvIHRoZSBzdGFjaztcbiAgLy8gVGhpcyBhbGxvd3MgdXMgdG8gcmVzZXQgcm9vdCB3aGVuIHBvcnRhbHMgYXJlIHBvcHBlZC5cbiAgcHVzaChyb290SW5zdGFuY2VTdGFja0N1cnNvciwgbmV4dFJvb3RJbnN0YW5jZSwgZmliZXIpOyAvLyBUcmFjayB0aGUgY29udGV4dCBhbmQgdGhlIEZpYmVyIHRoYXQgcHJvdmlkZWQgaXQuXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cblxuICBwdXNoKGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yLCBmaWJlciwgZmliZXIpOyAvLyBGaW5hbGx5LCB3ZSBuZWVkIHRvIHB1c2ggdGhlIGhvc3QgY29udGV4dCB0byB0aGUgc3RhY2suXG4gIC8vIEhvd2V2ZXIsIHdlIGNhbid0IGp1c3QgY2FsbCBnZXRSb290SG9zdENvbnRleHQoKSBhbmQgcHVzaCBpdCBiZWNhdXNlXG4gIC8vIHdlJ2QgaGF2ZSBhIGRpZmZlcmVudCBudW1iZXIgb2YgZW50cmllcyBvbiB0aGUgc3RhY2sgZGVwZW5kaW5nIG9uXG4gIC8vIHdoZXRoZXIgZ2V0Um9vdEhvc3RDb250ZXh0KCkgdGhyb3dzIHNvbWV3aGVyZSBpbiByZW5kZXJlciBjb2RlIG9yIG5vdC5cbiAgLy8gU28gd2UgcHVzaCBhbiBlbXB0eSB2YWx1ZSBmaXJzdC4gVGhpcyBsZXRzIHVzIHNhZmVseSB1bndpbmQgb24gZXJyb3JzLlxuXG4gIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yJDEsIG51bGwsIGZpYmVyKTtcbiAgdmFyIG5leHRSb290Q29udGV4dCA9IGdldFJvb3RIb3N0Q29udGV4dChuZXh0Um9vdEluc3RhbmNlKTsgLy8gTm93IHRoYXQgd2Uga25vdyB0aGlzIGZ1bmN0aW9uIGRvZXNuJ3QgdGhyb3csIHJlcGxhY2UgaXQuXG5cbiAgcG9wKGNvbnRleHRTdGFja0N1cnNvciQxLCBmaWJlcik7XG4gIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yJDEsIG5leHRSb290Q29udGV4dCwgZmliZXIpO1xufVxuXG5mdW5jdGlvbiBwb3BIb3N0Q29udGFpbmVyKGZpYmVyKSB7XG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwb3AoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyKTtcbiAgcG9wKHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yLCBmaWJlcik7XG59XG5cbmZ1bmN0aW9uIGdldEhvc3RDb250ZXh0KCkge1xuICB2YXIgY29udGV4dCA9IHJlcXVpcmVkQ29udGV4dChjb250ZXh0U3RhY2tDdXJzb3IkMS5jdXJyZW50KTtcbiAgcmV0dXJuIGNvbnRleHQ7XG59XG5cbmZ1bmN0aW9uIHB1c2hIb3N0Q29udGV4dChmaWJlcikge1xuICB7XG4gICAgdmFyIHN0YXRlSG9vayA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgICBpZiAoc3RhdGVIb29rICE9PSBudWxsKSB7XG4gICAgICAvLyBPbmx5IHByb3ZpZGUgY29udGV4dCBpZiB0aGlzIGZpYmVyIGhhcyBiZWVuIHVwZ3JhZGVkIGJ5IGEgaG9zdFxuICAgICAgLy8gdHJhbnNpdGlvbi4gV2UgdXNlIHRoZSBzYW1lIG9wdGltaXphdGlvbiBmb3IgcmVndWxhciBob3N0IGNvbnRleHQgYmVsb3cuXG4gICAgICBwdXNoKGhvc3RUcmFuc2l0aW9uUHJvdmlkZXJDdXJzb3IsIGZpYmVyLCBmaWJlcik7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHZhciBuZXh0Q29udGV4dCA9IGdldENoaWxkSG9zdENvbnRleHQoY29udGV4dCwgZmliZXIudHlwZSk7IC8vIERvbid0IHB1c2ggdGhpcyBGaWJlcidzIGNvbnRleHQgdW5sZXNzIGl0J3MgdW5pcXVlLlxuXG4gIGlmIChjb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgIC8vIFRyYWNrIHRoZSBjb250ZXh0IGFuZCB0aGUgRmliZXIgdGhhdCBwcm92aWRlZCBpdC5cbiAgICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gcG9wIG9ubHkgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG4gICAgcHVzaChjb250ZXh0RmliZXJTdGFja0N1cnNvciwgZmliZXIsIGZpYmVyKTtcbiAgICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBuZXh0Q29udGV4dCwgZmliZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcEhvc3RDb250ZXh0KGZpYmVyKSB7XG4gIGlmIChjb250ZXh0RmliZXJTdGFja0N1cnNvci5jdXJyZW50ID09PSBmaWJlcikge1xuICAgIC8vIERvIG5vdCBwb3AgdW5sZXNzIHRoaXMgRmliZXIgcHJvdmlkZWQgdGhlIGN1cnJlbnQgY29udGV4dC5cbiAgICAvLyBwdXNoSG9zdENvbnRleHQoKSBvbmx5IHB1c2hlcyBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cbiAgICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcbiAgICBwb3AoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAoaG9zdFRyYW5zaXRpb25Qcm92aWRlckN1cnNvci5jdXJyZW50ID09PSBmaWJlcikge1xuICAgICAgLy8gRG8gbm90IHBvcCB1bmxlc3MgdGhpcyBGaWJlciBwcm92aWRlZCB0aGUgY3VycmVudCBjb250ZXh0LiBUaGlzIGlzIG1vc3RseVxuICAgICAgLy8gYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24sIGJ1dCBjb252ZW5pZW50bHkgaXQgYWxzbyBwcmV2ZW50cyBhIHBvdGVudGlhbFxuICAgICAgLy8gZGF0YSByYWNlIHdoZXJlIGEgaG9zdCBwcm92aWRlciBpcyB1cGdyYWRlZCAoaS5lLiBtZW1vaXplZFN0YXRlIGJlY29tZXNcbiAgICAgIC8vIG5vbi1udWxsKSBkdXJpbmcgYSBjb25jdXJyZW50IGV2ZW50LiBUaGlzIGlzIGEgYml0IG9mIGEgZmxhdyBpbiB0aGUgd2F5XG4gICAgICAvLyB3ZSB1cGdyYWRlIGhvc3QgY29tcG9uZW50cywgYnV0IGJlY2F1c2Ugd2UncmUgYWNjb3VudGluZyBmb3IgaXQgaGVyZSwgaXRcbiAgICAgIC8vIHNob3VsZCBiZSBmaW5lLlxuICAgICAgcG9wKGhvc3RUcmFuc2l0aW9uUHJvdmlkZXJDdXJzb3IsIGZpYmVyKTsgLy8gV2hlbiBwb3BwaW5nIHRoZSB0cmFuc2l0aW9uIHByb3ZpZGVyLCB3ZSByZXNldCB0aGUgY29udGV4dCB2YWx1ZSBiYWNrXG4gICAgICAvLyB0byBgbnVsbGAuIFdlIGNhbiBkbyB0aGlzIGJlY2F1c2UgeW91J3JlIG5vdCBhbGxvd2QgdG8gbmVzdCBmb3Jtcy4gSWZcbiAgICAgIC8vIHdlIGFsbG93ZWQgZm9yIG11bHRpcGxlIG5lc3RlZCBob3N0IHRyYW5zaXRpb24gcHJvdmlkZXJzLCB0aGVuIHdlJ2RcbiAgICAgIC8vIG5lZWQgdG8gcmVzZXQgdGhpcyB0byB0aGUgcGFyZW50IHByb3ZpZGVyJ3Mgc3RhdHVzLlxuXG4gICAgICB7XG4gICAgICAgIEhvc3RUcmFuc2l0aW9uQ29udGV4dC5fY3VycmVudFZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIE5vRmxhZ3MkMSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAqL1xuMDtcbnZhciBQZXJmb3JtZWRXb3JrID1cbi8qICAgICAgICAgICAgICAgICovXG4xO1xudmFyIFBsYWNlbWVudCA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgRGlkQ2FwdHVyZSA9XG4vKiAgICAgICAgICAgICAgICAgICAqL1xuMTI4O1xudmFyIEh5ZHJhdGluZyA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjQwOTY7IC8vIFlvdSBjYW4gY2hhbmdlIHRoZSByZXN0IChhbmQgYWRkIG1vcmUpLlxuXG52YXIgVXBkYXRlID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNDtcbi8qIFNraXBwZWQgdmFsdWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAwOyAqL1xuXG52YXIgQ2hpbGREZWxldGlvbiA9XG4vKiAgICAgICAgICAgICAgICAqL1xuMTY7XG52YXIgQ29udGVudFJlc2V0ID1cbi8qICAgICAgICAgICAgICAgICAqL1xuMzI7XG52YXIgQ2FsbGJhY2sgPVxuLyogICAgICAgICAgICAgICAgICAgICAqL1xuNjQ7XG4vKiBVc2VkIGJ5IERpZENhcHR1cmU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDsgKi9cblxudmFyIEZvcmNlQ2xpZW50UmVuZGVyID1cbi8qICAgICAgICAgICAgKi9cbjI1NjtcbnZhciBSZWYgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICovXG41MTI7XG52YXIgU25hcHNob3QgPVxuLyogICAgICAgICAgICAgICAgICAgICAqL1xuMTAyNDtcbnZhciBQYXNzaXZlJDEgPVxuLyogICAgICAgICAgICAgICAgICAgICAgKi9cbjIwNDg7XG4vKiBVc2VkIGJ5IEh5ZHJhdGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBiMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDsgKi9cblxudmFyIFZpc2liaWxpdHkgPVxuLyogICAgICAgICAgICAgICAgICAgKi9cbjgxOTI7XG52YXIgU3RvcmVDb25zaXN0ZW5jeSA9XG4vKiAgICAgICAgICAgICAqL1xuMTYzODQ7IC8vIEl0J3MgT0sgdG8gcmV1c2UgdGhlc2UgYml0cyBiZWNhdXNlIHRoZXNlIGZsYWdzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgZm9yXG4vLyBkaWZmZXJlbnQgZmliZXIgdHlwZXMuIFdlIHNob3VsZCByZWFsbHkgYmUgZG9pbmcgdGhpcyBmb3IgYXMgbWFueSBmbGFncyBhc1xuLy8gcG9zc2libGUsIGJlY2F1c2Ugd2UncmUgYWJvdXQgdG8gcnVuIG91dCBvZiBiaXRzLlxuXG52YXIgU2NoZWR1bGVSZXRyeSA9IFN0b3JlQ29uc2lzdGVuY3k7XG52YXIgU2hvdWxkU3VzcGVuZENvbW1pdCA9IFZpc2liaWxpdHk7XG52YXIgRGlkRGVmZXIgPSBDb250ZW50UmVzZXQ7XG52YXIgTGlmZWN5Y2xlRWZmZWN0TWFzayA9IFBhc3NpdmUkMSB8IFVwZGF0ZSB8IENhbGxiYWNrIHwgUmVmIHwgU25hcHNob3QgfCBTdG9yZUNvbnNpc3RlbmN5OyAvLyBVbmlvbiBvZiBhbGwgY29tbWl0IGZsYWdzIChmbGFncyB3aXRoIHRoZSBsaWZldGltZSBvZiBhIHBhcnRpY3VsYXIgY29tbWl0KVxuXG52YXIgSG9zdEVmZmVjdE1hc2sgPVxuLyogICAgICAgICAgICAgICAqL1xuMzI3Njc7IC8vIFRoZXNlIGFyZSBub3QgcmVhbGx5IHNpZGUgZWZmZWN0cywgYnV0IHdlIHN0aWxsIHJldXNlIHRoaXMgZmllbGQuXG5cbnZhciBJbmNvbXBsZXRlID1cbi8qICAgICAgICAgICAgICAgICAgICovXG4zMjc2ODtcbnZhciBTaG91bGRDYXB0dXJlID1cbi8qICAgICAgICAgICAgICAgICovXG42NTUzNjtcbnZhciBGb3JjZVVwZGF0ZUZvckxlZ2FjeVN1c3BlbnNlID1cbi8qICovXG4xMzEwNzI7XG52YXIgRm9ya2VkID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuMTA0ODU3NjsgLy8gU3RhdGljIHRhZ3MgZGVzY3JpYmUgYXNwZWN0cyBvZiBhIGZpYmVyIHRoYXQgYXJlIG5vdCBzcGVjaWZpYyB0byBhIHJlbmRlcixcbi8vIGUuZy4gYSBmaWJlciB1c2VzIGEgcGFzc2l2ZSBlZmZlY3QgKGV2ZW4gaWYgdGhlcmUgYXJlIG5vIHVwZGF0ZXMgb24gdGhpcyBwYXJ0aWN1bGFyIHJlbmRlcikuXG4vLyBUaGlzIGVuYWJsZXMgdXMgdG8gZGVmZXIgbW9yZSB3b3JrIGluIHRoZSB1bm1vdW50IGNhc2UsXG4vLyBzaW5jZSB3ZSBjYW4gZGVmZXIgdHJhdmVyc2luZyB0aGUgdHJlZSBkdXJpbmcgbGF5b3V0IHRvIGxvb2sgZm9yIFBhc3NpdmUgZWZmZWN0cyxcbi8vIGFuZCBpbnN0ZWFkIHJlbHkgb24gdGhlIHN0YXRpYyBmbGFnIGFzIGEgc2lnbmFsIHRoYXQgdGhlcmUgbWF5IGJlIGNsZWFudXAgd29yay5cblxudmFyIFJlZlN0YXRpYyA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjIwOTcxNTI7XG52YXIgTGF5b3V0U3RhdGljID1cbi8qICAgICAgICAgICAgICAgICAqL1xuNDE5NDMwNDtcbnZhciBQYXNzaXZlU3RhdGljID1cbi8qICAgICAgICAgICAgICAgICovXG44Mzg4NjA4O1xudmFyIE1heVN1c3BlbmRDb21taXQgPVxuLyogICAgICAgICAgICAgKi9cbjE2Nzc3MjE2OyAvLyBGbGFnIHVzZWQgdG8gaWRlbnRpZnkgbmV3bHkgaW5zZXJ0ZWQgZmliZXJzLiBJdCBpc24ndCByZXNldCBhZnRlciBjb21taXQgdW5saWtlIGBQbGFjZW1lbnRgLlxuXG52YXIgUGxhY2VtZW50REVWID1cbi8qICAgICAgICAgICAgICAgICAqL1xuMzM1NTQ0MzI7XG52YXIgTW91bnRMYXlvdXREZXYgPVxuLyogICAgICAgICAgICAgICAqL1xuNjcxMDg4NjQ7XG52YXIgTW91bnRQYXNzaXZlRGV2ID1cbi8qICAgICAgICAgICAgICAqL1xuMTM0MjE3NzI4OyAvLyBHcm91cHMgb2YgZmxhZ3MgdGhhdCBhcmUgdXNlZCBpbiB0aGUgY29tbWl0IHBoYXNlIHRvIHNraXAgb3ZlciB0cmVlcyB0aGF0XG4vLyBkb24ndCBjb250YWluIGVmZmVjdHMsIGJ5IGNoZWNraW5nIHN1YnRyZWVGbGFncy5cblxudmFyIEJlZm9yZU11dGF0aW9uTWFzayA9IC8vIFRPRE86IFJlbW92ZSBVcGRhdGUgZmxhZyBmcm9tIGJlZm9yZSBtdXRhdGlvbiBwaGFzZSBieSByZS1sYW5kaW5nIFZpc2liaWxpdHlcbi8vIGZsYWcgbG9naWMgKHNlZSAjMjAwNDMpXG5VcGRhdGUgfCBTbmFwc2hvdCB8ICgwKTtcbnZhciBNdXRhdGlvbk1hc2sgPSBQbGFjZW1lbnQgfCBVcGRhdGUgfCBDaGlsZERlbGV0aW9uIHwgQ29udGVudFJlc2V0IHwgUmVmIHwgSHlkcmF0aW5nIHwgVmlzaWJpbGl0eTtcbnZhciBMYXlvdXRNYXNrID0gVXBkYXRlIHwgQ2FsbGJhY2sgfCBSZWYgfCBWaXNpYmlsaXR5OyAvLyBUT0RPOiBTcGxpdCBpbnRvIFBhc3NpdmVNb3VudE1hc2sgYW5kIFBhc3NpdmVVbm1vdW50TWFza1xuXG52YXIgUGFzc2l2ZU1hc2sgPSBQYXNzaXZlJDEgfCBWaXNpYmlsaXR5IHwgQ2hpbGREZWxldGlvbjsgLy8gVW5pb24gb2YgdGFncyB0aGF0IGRvbid0IGdldCByZXNldCBvbiBjbG9uZXMuXG4vLyBUaGlzIGFsbG93cyBjZXJ0YWluIGNvbmNlcHRzIHRvIHBlcnNpc3Qgd2l0aG91dCByZWNhbGN1bGF0aW5nIHRoZW0sXG4vLyBlLmcuIHdoZXRoZXIgYSBzdWJ0cmVlIGNvbnRhaW5zIHBhc3NpdmUgZWZmZWN0cyBvciBwb3J0YWxzLlxuXG52YXIgU3RhdGljTWFzayA9IExheW91dFN0YXRpYyB8IFBhc3NpdmVTdGF0aWMgfCBSZWZTdGF0aWMgfCBNYXlTdXNwZW5kQ29tbWl0O1xuXG4vLyBUaGlzIG1vZHVsZSBvbmx5IGV4aXN0cyBhcyBhbiBFU00gd3JhcHBlciBhcm91bmQgdGhlIGV4dGVybmFsIENvbW1vbkpTXG52YXIgc2NoZWR1bGVDYWxsYmFjayQzID0gU2NoZWR1bGVyLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XG52YXIgY2FuY2VsQ2FsbGJhY2skMSA9IFNjaGVkdWxlci51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaztcbnZhciBzaG91bGRZaWVsZCA9IFNjaGVkdWxlci51bnN0YWJsZV9zaG91bGRZaWVsZDtcbnZhciByZXF1ZXN0UGFpbnQgPSBTY2hlZHVsZXIudW5zdGFibGVfcmVxdWVzdFBhaW50O1xudmFyIG5vdyQxID0gU2NoZWR1bGVyLnVuc3RhYmxlX25vdztcbnZhciBnZXRDdXJyZW50UHJpb3JpdHlMZXZlbCA9IFNjaGVkdWxlci51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbDtcbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eTtcbnZhciBVc2VyQmxvY2tpbmdQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eTtcbnZhciBOb3JtYWxQcmlvcml0eSQxID0gU2NoZWR1bGVyLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5O1xudmFyIExvd1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX0xvd1ByaW9yaXR5O1xudmFyIElkbGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JZGxlUHJpb3JpdHk7IC8vIHRoaXMgZG9lc24ndCBhY3R1YWxseSBleGlzdCBvbiB0aGUgc2NoZWR1bGVyLCBidXQgaXQgKmRvZXMqXG4vLyBvbiBzY2hlZHVsZXIvdW5zdGFibGVfbW9jaywgd2hpY2ggd2UnbGwgbmVlZCBmb3IgaW50ZXJuYWwgdGVzdGluZ1xuXG52YXIgbG9nJDEgPSBTY2hlZHVsZXIubG9nO1xudmFyIHVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlID0gU2NoZWR1bGVyLnVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlO1xuXG4vLyBIZWxwZXJzIHRvIHBhdGNoIGNvbnNvbGUubG9ncyB0byBhdm9pZCBsb2dnaW5nIGR1cmluZyBzaWRlLWVmZmVjdCBmcmVlXG4vLyByZXBsYXlpbmcgb24gcmVuZGVyIGZ1bmN0aW9uLiBUaGlzIGN1cnJlbnRseSBvbmx5IHBhdGNoZXMgdGhlIG9iamVjdFxuLy8gbGF6aWx5IHdoaWNoIHdvbid0IGNvdmVyIGlmIHRoZSBsb2cgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBlYWdlcmx5LlxuLy8gV2UgY291bGQgYWxzbyBlYWdlcmx5IHBhdGNoIHRoZSBtZXRob2QuXG52YXIgZGlzYWJsZWREZXB0aCA9IDA7XG52YXIgcHJldkxvZztcbnZhciBwcmV2SW5mbztcbnZhciBwcmV2V2FybjtcbnZhciBwcmV2RXJyb3I7XG52YXIgcHJldkdyb3VwO1xudmFyIHByZXZHcm91cENvbGxhcHNlZDtcbnZhciBwcmV2R3JvdXBFbmQ7XG5cbmZ1bmN0aW9uIGRpc2FibGVkTG9nKCkge31cblxuZGlzYWJsZWRMb2cuX19yZWFjdERpc2FibGVkTG9nID0gdHJ1ZTtcbmZ1bmN0aW9uIGRpc2FibGVMb2dzKCkge1xuICB7XG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgcHJldkxvZyA9IGNvbnNvbGUubG9nO1xuICAgICAgcHJldkluZm8gPSBjb25zb2xlLmluZm87XG4gICAgICBwcmV2V2FybiA9IGNvbnNvbGUud2FybjtcbiAgICAgIHByZXZFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICBwcmV2R3JvdXAgPSBjb25zb2xlLmdyb3VwO1xuICAgICAgcHJldkdyb3VwQ29sbGFwc2VkID0gY29uc29sZS5ncm91cENvbGxhcHNlZDtcbiAgICAgIHByZXZHcm91cEVuZCA9IGNvbnNvbGUuZ3JvdXBFbmQ7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTkwOTlcblxuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBkaXNhYmxlZExvZyxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgcmVuZGVyZXJJRCA9IG51bGw7XG52YXIgaW5qZWN0ZWRIb29rID0gbnVsbDtcbnZhciBpbmplY3RlZFByb2ZpbGluZ0hvb2tzID0gbnVsbDtcbnZhciBoYXNMb2dnZWRFcnJvciA9IGZhbHNlO1xudmFyIGlzRGV2VG9vbHNQcmVzZW50ID0gdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAhPT0gJ3VuZGVmaW5lZCc7XG5mdW5jdGlvbiBpbmplY3RJbnRlcm5hbHMoaW50ZXJuYWxzKSB7XG4gIGlmICh0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fID09PSAndW5kZWZpbmVkJykge1xuICAgIC8vIE5vIERldlRvb2xzXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGhvb2sgPSBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187XG5cbiAgaWYgKGhvb2suaXNEaXNhYmxlZCkge1xuICAgIC8vIFRoaXMgaXNuJ3QgYSByZWFsIHByb3BlcnR5IG9uIHRoZSBob29rLCBidXQgaXQgY2FuIGJlIHNldCB0byBvcHQgb3V0XG4gICAgLy8gb2YgRGV2VG9vbHMgaW50ZWdyYXRpb24gYW5kIGFzc29jaWF0ZWQgd2FybmluZ3MgYW5kIGxvZ3MuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8zODc3XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoIWhvb2suc3VwcG9ydHNGaWJlcikge1xuICAgIHtcbiAgICAgIGVycm9yKCdUaGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgUmVhY3QgRGV2VG9vbHMgaXMgdG9vIG9sZCBhbmQgd2lsbCBub3Qgd29yayAnICsgJ3dpdGggdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBSZWFjdC4gUGxlYXNlIHVwZGF0ZSBSZWFjdCBEZXZUb29scy4gJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVhY3QtZGV2dG9vbHMnKTtcbiAgICB9IC8vIERldlRvb2xzIGV4aXN0cywgZXZlbiB0aG91Z2ggaXQgZG9lc24ndCBzdXBwb3J0IEZpYmVyLlxuXG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGVuYWJsZVNjaGVkdWxpbmdQcm9maWxlcikge1xuICAgICAgLy8gQ29uZGl0aW9uYWxseSBpbmplY3QgdGhlc2UgaG9va3Mgb25seSBpZiBUaW1lbGluZSBwcm9maWxlciBpcyBzdXBwb3J0ZWQgYnkgdGhpcyBidWlsZC5cbiAgICAgIC8vIFRoaXMgZ2l2ZXMgRGV2VG9vbHMgYSB3YXkgdG8gZmVhdHVyZSBkZXRlY3QgdGhhdCBpc24ndCB0aWVkIHRvIHZlcnNpb24gbnVtYmVyXG4gICAgICAvLyAoc2luY2UgcHJvZmlsaW5nIGFuZCB0aW1lbGluZSBhcmUgY29udHJvbGxlZCBieSBkaWZmZXJlbnQgZmVhdHVyZSBmbGFncykuXG4gICAgICBpbnRlcm5hbHMgPSBhc3NpZ24oe30sIGludGVybmFscywge1xuICAgICAgICBnZXRMYW5lTGFiZWxNYXA6IGdldExhbmVMYWJlbE1hcCxcbiAgICAgICAgaW5qZWN0UHJvZmlsaW5nSG9va3M6IGluamVjdFByb2ZpbGluZ0hvb2tzXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZW5kZXJlcklEID0gaG9vay5pbmplY3QoaW50ZXJuYWxzKTsgLy8gV2UgaGF2ZSBzdWNjZXNzZnVsbHkgaW5qZWN0ZWQsIHNvIG5vdyBpdCBpcyBzYWZlIHRvIHNldCB1cCBob29rcy5cblxuICAgIGluamVjdGVkSG9vayA9IGhvb2s7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIENhdGNoIGFsbCBlcnJvcnMgYmVjYXVzZSBpdCBpcyB1bnNhZmUgdG8gdGhyb3cgZHVyaW5nIGluaXRpYWxpemF0aW9uLlxuICAgIHtcbiAgICAgIGVycm9yKCdSZWFjdCBpbnN0cnVtZW50YXRpb24gZW5jb3VudGVyZWQgYW4gZXJyb3I6ICVzLicsIGVycik7XG4gICAgfVxuICB9XG5cbiAgaWYgKGhvb2suY2hlY2tEQ0UpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSByZWFsIERldlRvb2xzLlxuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgbGlrZWx5IGEgaG9vayBpbnN0YWxsZWQgYnkgRmFzdCBSZWZyZXNoIHJ1bnRpbWUuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBvblNjaGVkdWxlUm9vdChyb290LCBjaGlsZHJlbikge1xuICB7XG4gICAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uU2NoZWR1bGVGaWJlclJvb3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGluamVjdGVkSG9vay5vblNjaGVkdWxlRmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QsIGNoaWxkcmVuKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFJvb3QkMShyb290LCBldmVudFByaW9yaXR5KSB7XG4gIGlmIChpbmplY3RlZEhvb2sgJiYgdHlwZW9mIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRyeSB7XG4gICAgICB2YXIgZGlkRXJyb3IgPSAocm9vdC5jdXJyZW50LmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IERpZENhcHR1cmU7XG5cbiAgICAgIGlmIChlbmFibGVQcm9maWxlclRpbWVyKSB7XG4gICAgICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eTtcblxuICAgICAgICBzd2l0Y2ggKGV2ZW50UHJpb3JpdHkpIHtcbiAgICAgICAgICBjYXNlIERpc2NyZXRlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgICAgIHNjaGVkdWxlclByaW9yaXR5ID0gSW1tZWRpYXRlUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgQ29udGludW91c0V2ZW50UHJpb3JpdHk6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IFVzZXJCbG9ja2luZ1ByaW9yaXR5O1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIERlZmF1bHRFdmVudFByaW9yaXR5OlxuICAgICAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHkgPSBOb3JtYWxQcmlvcml0eSQxO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIElkbGVFdmVudFByaW9yaXR5OlxuICAgICAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHkgPSBJZGxlUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IE5vcm1hbFByaW9yaXR5JDE7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBzY2hlZHVsZXJQcmlvcml0eSwgZGlkRXJyb3IpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvblBvc3RDb21taXRSb290KHJvb3QpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uUG9zdENvbW1pdEZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRyeSB7XG4gICAgICBpbmplY3RlZEhvb2sub25Qb3N0Q29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFVubW91bnQoZmliZXIpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uQ29tbWl0RmliZXJVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyVW5tb3VudChyZW5kZXJlcklELCBmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB7XG4gICAgICAgIGlmICghaGFzTG9nZ2VkRXJyb3IpIHtcbiAgICAgICAgICBoYXNMb2dnZWRFcnJvciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKG5ld0lzU3RyaWN0TW9kZSkge1xuICB7XG4gICAgaWYgKHR5cGVvZiBsb2ckMSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gV2UncmUgaW4gYSB0ZXN0IGJlY2F1c2UgU2NoZWR1bGVyLmxvZyBvbmx5IGV4aXN0c1xuICAgICAgLy8gaW4gU2NoZWR1bGVyTW9jay4gVG8gcmVkdWNlIHRoZSBub2lzZSBpbiBzdHJpY3QgbW9kZSB0ZXN0cyxcbiAgICAgIC8vIHN1cHByZXNzIHdhcm5pbmdzIGFuZCBkaXNhYmxlIHNjaGVkdWxlciB5aWVsZGluZyBkdXJpbmcgdGhlIGRvdWJsZSByZW5kZXJcbiAgICAgIHVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlKG5ld0lzU3RyaWN0TW9kZSk7XG4gICAgICBzZXRTdXBwcmVzc1dhcm5pbmcobmV3SXNTdHJpY3RNb2RlKTtcbiAgICB9XG5cbiAgICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2suc2V0U3RyaWN0TW9kZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLnNldFN0cmljdE1vZGUocmVuZGVyZXJJRCwgbmV3SXNTdHJpY3RNb2RlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xuICAgICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIFByb2ZpbGVyIEFQSSBob29rc1xuXG5mdW5jdGlvbiBpbmplY3RQcm9maWxpbmdIb29rcyhwcm9maWxpbmdIb29rcykge1xuICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzID0gcHJvZmlsaW5nSG9va3M7XG59XG5cbmZ1bmN0aW9uIGdldExhbmVMYWJlbE1hcCgpIHtcbiAge1xuICAgIHZhciBtYXAgPSBuZXcgTWFwKCk7XG4gICAgdmFyIGxhbmUgPSAxO1xuXG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IFRvdGFsTGFuZXM7IGluZGV4KyspIHtcbiAgICAgIHZhciBsYWJlbCA9IGdldExhYmVsRm9yTGFuZShsYW5lKTtcbiAgICAgIG1hcC5zZXQobGFuZSwgbGFiZWwpO1xuICAgICAgbGFuZSAqPSAyO1xuICAgIH1cblxuICAgIHJldHVybiBtYXA7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya0NvbW1pdFN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21taXRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdGFydGVkKGZpYmVyKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50U3VzcGVuZGVkKGZpYmVyLCB3YWtlYWJsZSwgbGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRTdXNwZW5kZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFN1c3BlbmRlZChmaWJlciwgd2FrZWFibGUsIGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkKGxhbmVzKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJZaWVsZGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclNjaGVkdWxlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUmVuZGVyU2NoZWR1bGVkKGxhbmUpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrRm9yY2VVcGRhdGVTY2hlZHVsZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBOb01vZGUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjA7IC8vIFRPRE86IFJlbW92ZSBDb25jdXJyZW50TW9kZSBieSByZWFkaW5nIGZyb20gdGhlIHJvb3QgdGFnIGluc3RlYWRcblxudmFyIENvbmN1cnJlbnRNb2RlID1cbi8qICAgICAgICAgICAgICAgICAqL1xuMTtcbnZhciBQcm9maWxlTW9kZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgU3RyaWN0TGVnYWN5TW9kZSA9XG4vKiAgICAgICAgICAgICAgICovXG44O1xudmFyIFN0cmljdEVmZmVjdHNNb2RlID1cbi8qICAgICAgICAgICAgICAqL1xuMTY7XG52YXIgTm9TdHJpY3RQYXNzaXZlRWZmZWN0c01vZGUgPVxuLyogICAgICovXG42NDtcblxuLy8gVE9ETzogVGhpcyBpcyBwcmV0dHkgd2VsbCBzdXBwb3J0ZWQgYnkgYnJvd3NlcnMuIE1heWJlIHdlIGNhbiBkcm9wIGl0LlxudmFyIGNsejMyID0gTWF0aC5jbHozMiA/IE1hdGguY2x6MzIgOiBjbHozMkZhbGxiYWNrOyAvLyBDb3VudCBsZWFkaW5nIHplcm9zLlxuLy8gQmFzZWQgb246XG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9NYXRoL2NsejMyXG5cbnZhciBsb2cgPSBNYXRoLmxvZztcbnZhciBMTjIgPSBNYXRoLkxOMjtcblxuZnVuY3Rpb24gY2x6MzJGYWxsYmFjayh4KSB7XG4gIHZhciBhc1VpbnQgPSB4ID4+PiAwO1xuXG4gIGlmIChhc1VpbnQgPT09IDApIHtcbiAgICByZXR1cm4gMzI7XG4gIH1cblxuICByZXR1cm4gMzEgLSAobG9nKGFzVWludCkgLyBMTjIgfCAwKSB8IDA7XG59XG5cbi8vIElmIHRob3NlIHZhbHVlcyBhcmUgY2hhbmdlZCB0aGF0IHBhY2thZ2Ugc2hvdWxkIGJlIHJlYnVpbHQgYW5kIHJlZGVwbG95ZWQuXG5cbnZhciBUb3RhbExhbmVzID0gMzE7XG52YXIgTm9MYW5lcyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4wO1xudmFyIE5vTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjA7XG52YXIgU3luY0h5ZHJhdGlvbkxhbmUgPVxuLyogICAgICAgICAgICAgICAqL1xuMTtcbnZhciBTeW5jTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4yO1xudmFyIFN5bmNMYW5lSW5kZXggPSAxO1xudmFyIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmUgPVxuLyogICAgKi9cbjQ7XG52YXIgSW5wdXRDb250aW51b3VzTGFuZSA9XG4vKiAgICAgICAgICAgICAqL1xuODtcbnZhciBEZWZhdWx0SHlkcmF0aW9uTGFuZSA9XG4vKiAgICAgICAgICAgICovXG4xNjtcbnZhciBEZWZhdWx0TGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICovXG4zMjtcbnZhciBTeW5jVXBkYXRlTGFuZXMgPSBTeW5jTGFuZSB8IElucHV0Q29udGludW91c0xhbmUgfCBEZWZhdWx0TGFuZSA7XG52YXIgVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmUgPVxuLyogICAgICAgICAgICAgICAgKi9cbjY0O1xudmFyIFRyYW5zaXRpb25MYW5lcyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjQxOTQxNzY7XG52YXIgVHJhbnNpdGlvbkxhbmUxID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjEyODtcbnZhciBUcmFuc2l0aW9uTGFuZTIgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAqL1xuMjU2O1xudmFyIFRyYW5zaXRpb25MYW5lMyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG41MTI7XG52YXIgVHJhbnNpdGlvbkxhbmU0ID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjEwMjQ7XG52YXIgVHJhbnNpdGlvbkxhbmU1ID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjIwNDg7XG52YXIgVHJhbnNpdGlvbkxhbmU2ID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjQwOTY7XG52YXIgVHJhbnNpdGlvbkxhbmU3ID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjgxOTI7XG52YXIgVHJhbnNpdGlvbkxhbmU4ID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjE2Mzg0O1xudmFyIFRyYW5zaXRpb25MYW5lOSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4zMjc2ODtcbnZhciBUcmFuc2l0aW9uTGFuZTEwID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNjU1MzY7XG52YXIgVHJhbnNpdGlvbkxhbmUxMSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjEzMTA3MjtcbnZhciBUcmFuc2l0aW9uTGFuZTEyID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuMjYyMTQ0O1xudmFyIFRyYW5zaXRpb25MYW5lMTMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG41MjQyODg7XG52YXIgVHJhbnNpdGlvbkxhbmUxNCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjEwNDg1NzY7XG52YXIgVHJhbnNpdGlvbkxhbmUxNSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjIwOTcxNTI7XG52YXIgUmV0cnlMYW5lcyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuNjI5MTQ1NjA7XG52YXIgUmV0cnlMYW5lMSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjQxOTQzMDQ7XG52YXIgUmV0cnlMYW5lMiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjgzODg2MDg7XG52YXIgUmV0cnlMYW5lMyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjE2Nzc3MjE2O1xudmFyIFJldHJ5TGFuZTQgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4zMzU1NDQzMjtcbnZhciBTb21lUmV0cnlMYW5lID0gUmV0cnlMYW5lMTtcbnZhciBTZWxlY3RpdmVIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICovXG42NzEwODg2NDtcbnZhciBOb25JZGxlTGFuZXMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICovXG4xMzQyMTc3Mjc7XG52YXIgSWRsZUh5ZHJhdGlvbkxhbmUgPVxuLyogICAgICAgICAgICAgICAqL1xuMTM0MjE3NzI4O1xudmFyIElkbGVMYW5lID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjI2ODQzNTQ1NjtcbnZhciBPZmZzY3JlZW5MYW5lID1cbi8qICAgICAgICAgICAgICAgICAgICovXG41MzY4NzA5MTI7XG52YXIgRGVmZXJyZWRMYW5lID1cbi8qICAgICAgICAgICAgICAgICAgICAqL1xuMTA3Mzc0MTgyNDsgLy8gQW55IGxhbmUgdGhhdCBtaWdodCBzY2hlZHVsZSBhbiB1cGRhdGUuIFRoaXMgaXMgdXNlZCB0byBkZXRlY3QgaW5maW5pdGVcbi8vIHVwZGF0ZSBsb29wcywgc28gaXQgZG9lc24ndCBpbmNsdWRlIGh5ZHJhdGlvbiBsYW5lcyBvciByZXRyaWVzLlxuXG52YXIgVXBkYXRlTGFuZXMgPSBTeW5jTGFuZSB8IElucHV0Q29udGludW91c0xhbmUgfCBEZWZhdWx0TGFuZSB8IFRyYW5zaXRpb25MYW5lczsgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvciB0aGUgZXhwZXJpbWVudGFsIHRpbWVsaW5lIChyZWFjdC1kZXZ0b29scy10aW1lbGluZSlcbi8vIEl0IHNob3VsZCBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgTGFuZXMgdmFsdWVzIGFib3ZlLlxuXG5mdW5jdGlvbiBnZXRMYWJlbEZvckxhbmUobGFuZSkge1xuICB7XG4gICAgaWYgKGxhbmUgJiBTeW5jSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdTeW5jSHlkcmF0aW9uTGFuZSc7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBTeW5jTGFuZSkge1xuICAgICAgcmV0dXJuICdTeW5jJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0xhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIERlZmF1bHRIeWRyYXRpb25MYW5lKSB7XG4gICAgICByZXR1cm4gJ0RlZmF1bHRIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgRGVmYXVsdExhbmUpIHtcbiAgICAgIHJldHVybiAnRGVmYXVsdCc7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBUcmFuc2l0aW9uSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFRyYW5zaXRpb25MYW5lcykge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFJldHJ5TGFuZXMpIHtcbiAgICAgIHJldHVybiAnUmV0cnknO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgU2VsZWN0aXZlSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdTZWxlY3RpdmVIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgSWRsZUh5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSWRsZUh5ZHJhdGlvbic7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBJZGxlTGFuZSkge1xuICAgICAgcmV0dXJuICdJZGxlJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIE9mZnNjcmVlbkxhbmUpIHtcbiAgICAgIHJldHVybiAnT2Zmc2NyZWVuJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIERlZmVycmVkTGFuZSkge1xuICAgICAgcmV0dXJuICdEZWZlcnJlZCc7XG4gICAgfVxuICB9XG59XG52YXIgTm9UaW1lc3RhbXAgPSAtMTtcbnZhciBuZXh0VHJhbnNpdGlvbkxhbmUgPSBUcmFuc2l0aW9uTGFuZTE7XG52YXIgbmV4dFJldHJ5TGFuZSA9IFJldHJ5TGFuZTE7XG5cbmZ1bmN0aW9uIGdldEhpZ2hlc3RQcmlvcml0eUxhbmVzKGxhbmVzKSB7XG4gIHtcbiAgICB2YXIgcGVuZGluZ1N5bmNMYW5lcyA9IGxhbmVzICYgU3luY1VwZGF0ZUxhbmVzO1xuXG4gICAgaWYgKHBlbmRpbmdTeW5jTGFuZXMgIT09IDApIHtcbiAgICAgIHJldHVybiBwZW5kaW5nU3luY0xhbmVzO1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAoZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShsYW5lcykpIHtcbiAgICBjYXNlIFN5bmNIeWRyYXRpb25MYW5lOlxuICAgICAgcmV0dXJuIFN5bmNIeWRyYXRpb25MYW5lO1xuXG4gICAgY2FzZSBTeW5jTGFuZTpcbiAgICAgIHJldHVybiBTeW5jTGFuZTtcblxuICAgIGNhc2UgSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZTpcbiAgICAgIHJldHVybiBJbnB1dENvbnRpbnVvdXNIeWRyYXRpb25MYW5lO1xuXG4gICAgY2FzZSBJbnB1dENvbnRpbnVvdXNMYW5lOlxuICAgICAgcmV0dXJuIElucHV0Q29udGludW91c0xhbmU7XG5cbiAgICBjYXNlIERlZmF1bHRIeWRyYXRpb25MYW5lOlxuICAgICAgcmV0dXJuIERlZmF1bHRIeWRyYXRpb25MYW5lO1xuXG4gICAgY2FzZSBEZWZhdWx0TGFuZTpcbiAgICAgIHJldHVybiBEZWZhdWx0TGFuZTtcblxuICAgIGNhc2UgVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmU7XG5cbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMjpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMzpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lNTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lNjpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lNzpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lODpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lOTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTA6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTExOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMjpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE0OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNTpcbiAgICAgIHJldHVybiBsYW5lcyAmIFRyYW5zaXRpb25MYW5lcztcblxuICAgIGNhc2UgUmV0cnlMYW5lMTpcbiAgICBjYXNlIFJldHJ5TGFuZTI6XG4gICAgY2FzZSBSZXRyeUxhbmUzOlxuICAgIGNhc2UgUmV0cnlMYW5lNDpcbiAgICAgIHJldHVybiBsYW5lcyAmIFJldHJ5TGFuZXM7XG5cbiAgICBjYXNlIFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gU2VsZWN0aXZlSHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgSWRsZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gSWRsZUh5ZHJhdGlvbkxhbmU7XG5cbiAgICBjYXNlIElkbGVMYW5lOlxuICAgICAgcmV0dXJuIElkbGVMYW5lO1xuXG4gICAgY2FzZSBPZmZzY3JlZW5MYW5lOlxuICAgICAgcmV0dXJuIE9mZnNjcmVlbkxhbmU7XG5cbiAgICBjYXNlIERlZmVycmVkTGFuZTpcbiAgICAgIC8vIFRoaXMgc2hvdWxkbid0IGJlIHJlYWNoYWJsZSBiZWNhdXNlIGRlZmVycmVkIHdvcmsgaXMgYWx3YXlzIGVudGFuZ2xlZFxuICAgICAgLy8gd2l0aCBzb21ldGhpbmcgZWxzZS5cbiAgICAgIHJldHVybiBOb0xhbmVzO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgZXJyb3IoJ1Nob3VsZCBoYXZlIGZvdW5kIG1hdGNoaW5nIGxhbmVzLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LicpO1xuICAgICAgfSAvLyBUaGlzIHNob3VsZG4ndCBiZSByZWFjaGFibGUsIGJ1dCBhcyBhIGZhbGxiYWNrLCByZXR1cm4gdGhlIGVudGlyZSBiaXRtYXNrLlxuXG5cbiAgICAgIHJldHVybiBsYW5lcztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXROZXh0TGFuZXMocm9vdCwgd2lwTGFuZXMpIHtcbiAgLy8gRWFybHkgYmFpbG91dCBpZiB0aGVyZSdzIG5vIHBlbmRpbmcgd29yayBsZWZ0LlxuICB2YXIgcGVuZGluZ0xhbmVzID0gcm9vdC5wZW5kaW5nTGFuZXM7XG5cbiAgaWYgKHBlbmRpbmdMYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIHJldHVybiBOb0xhbmVzO1xuICB9XG5cbiAgdmFyIG5leHRMYW5lcyA9IE5vTGFuZXM7XG4gIHZhciBzdXNwZW5kZWRMYW5lcyA9IHJvb3Quc3VzcGVuZGVkTGFuZXM7XG4gIHZhciBwaW5nZWRMYW5lcyA9IHJvb3QucGluZ2VkTGFuZXM7IC8vIERvIG5vdCB3b3JrIG9uIGFueSBpZGxlIHdvcmsgdW50aWwgYWxsIHRoZSBub24taWRsZSB3b3JrIGhhcyBmaW5pc2hlZCxcbiAgLy8gZXZlbiBpZiB0aGUgd29yayBpcyBzdXNwZW5kZWQuXG5cbiAgdmFyIG5vbklkbGVQZW5kaW5nTGFuZXMgPSBwZW5kaW5nTGFuZXMgJiBOb25JZGxlTGFuZXM7XG5cbiAgaWYgKG5vbklkbGVQZW5kaW5nTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICB2YXIgbm9uSWRsZVVuYmxvY2tlZExhbmVzID0gbm9uSWRsZVBlbmRpbmdMYW5lcyAmIH5zdXNwZW5kZWRMYW5lcztcblxuICAgIGlmIChub25JZGxlVW5ibG9ja2VkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgIG5leHRMYW5lcyA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmVzKG5vbklkbGVVbmJsb2NrZWRMYW5lcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBub25JZGxlUGluZ2VkTGFuZXMgPSBub25JZGxlUGVuZGluZ0xhbmVzICYgcGluZ2VkTGFuZXM7XG5cbiAgICAgIGlmIChub25JZGxlUGluZ2VkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMobm9uSWRsZVBpbmdlZExhbmVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhlIG9ubHkgcmVtYWluaW5nIHdvcmsgaXMgSWRsZS5cbiAgICB2YXIgdW5ibG9ja2VkTGFuZXMgPSBwZW5kaW5nTGFuZXMgJiB+c3VzcGVuZGVkTGFuZXM7XG5cbiAgICBpZiAodW5ibG9ja2VkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgIG5leHRMYW5lcyA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmVzKHVuYmxvY2tlZExhbmVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBpbmdlZExhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgICAgIG5leHRMYW5lcyA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmVzKHBpbmdlZExhbmVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobmV4dExhbmVzID09PSBOb0xhbmVzKSB7XG4gICAgLy8gVGhpcyBzaG91bGQgb25seSBiZSByZWFjaGFibGUgaWYgd2UncmUgc3VzcGVuZGVkXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgd2FybmluZyBpbiB0aGlzIHBhdGggaWYgYSBmYWxsYmFjayB0aW1lciBpcyBub3Qgc2NoZWR1bGVkLlxuICAgIHJldHVybiBOb0xhbmVzO1xuICB9IC8vIElmIHdlJ3JlIGFscmVhZHkgaW4gdGhlIG1pZGRsZSBvZiBhIHJlbmRlciwgc3dpdGNoaW5nIGxhbmVzIHdpbGwgaW50ZXJydXB0XG4gIC8vIGl0IGFuZCB3ZSdsbCBsb3NlIG91ciBwcm9ncmVzcy4gV2Ugc2hvdWxkIG9ubHkgZG8gdGhpcyBpZiB0aGUgbmV3IGxhbmVzIGFyZVxuICAvLyBoaWdoZXIgcHJpb3JpdHkuXG5cblxuICBpZiAod2lwTGFuZXMgIT09IE5vTGFuZXMgJiYgd2lwTGFuZXMgIT09IG5leHRMYW5lcyAmJiAvLyBJZiB3ZSBhbHJlYWR5IHN1c3BlbmRlZCB3aXRoIGEgZGVsYXksIHRoZW4gaW50ZXJydXB0aW5nIGlzIGZpbmUuIERvbid0XG4gIC8vIGJvdGhlciB3YWl0aW5nIHVudGlsIHRoZSByb290IGlzIGNvbXBsZXRlLlxuICAod2lwTGFuZXMgJiBzdXNwZW5kZWRMYW5lcykgPT09IE5vTGFuZXMpIHtcbiAgICB2YXIgbmV4dExhbmUgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKG5leHRMYW5lcyk7XG4gICAgdmFyIHdpcExhbmUgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKHdpcExhbmVzKTtcblxuICAgIGlmICggLy8gVGVzdHMgd2hldGhlciB0aGUgbmV4dCBsYW5lIGlzIGVxdWFsIG9yIGxvd2VyIHByaW9yaXR5IHRoYW4gdGhlIHdpcFxuICAgIC8vIG9uZS4gVGhpcyB3b3JrcyBiZWNhdXNlIHRoZSBiaXRzIGRlY3JlYXNlIGluIHByaW9yaXR5IGFzIHlvdSBnbyBsZWZ0LlxuICAgIG5leHRMYW5lID49IHdpcExhbmUgfHwgLy8gRGVmYXVsdCBwcmlvcml0eSB1cGRhdGVzIHNob3VsZCBub3QgaW50ZXJydXB0IHRyYW5zaXRpb24gdXBkYXRlcy4gVGhlXG4gICAgLy8gb25seSBkaWZmZXJlbmNlIGJldHdlZW4gZGVmYXVsdCB1cGRhdGVzIGFuZCB0cmFuc2l0aW9uIHVwZGF0ZXMgaXMgdGhhdFxuICAgIC8vIGRlZmF1bHQgdXBkYXRlcyBkbyBub3Qgc3VwcG9ydCByZWZyZXNoIHRyYW5zaXRpb25zLlxuICAgIG5leHRMYW5lID09PSBEZWZhdWx0TGFuZSAmJiAod2lwTGFuZSAmIFRyYW5zaXRpb25MYW5lcykgIT09IE5vTGFuZXMpIHtcbiAgICAgIC8vIEtlZXAgd29ya2luZyBvbiB0aGUgZXhpc3RpbmcgaW4tcHJvZ3Jlc3MgdHJlZS4gRG8gbm90IGludGVycnVwdC5cbiAgICAgIHJldHVybiB3aXBMYW5lcztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV4dExhbmVzO1xufVxuZnVuY3Rpb24gZ2V0RW50YW5nbGVkTGFuZXMocm9vdCwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGVudGFuZ2xlZExhbmVzID0gcmVuZGVyTGFuZXM7XG5cbiAgaWYgKChlbnRhbmdsZWRMYW5lcyAmIElucHV0Q29udGludW91c0xhbmUpICE9PSBOb0xhbmVzKSB7XG4gICAgLy8gV2hlbiB1cGRhdGVzIGFyZSBzeW5jIGJ5IGRlZmF1bHQsIHdlIGVudGFuZ2xlIGNvbnRpbnVvdXMgcHJpb3JpdHkgdXBkYXRlc1xuICAgIC8vIGFuZCBkZWZhdWx0IHVwZGF0ZXMsIHNvIHRoZXkgcmVuZGVyIGluIHRoZSBzYW1lIGJhdGNoLiBUaGUgb25seSByZWFzb25cbiAgICAvLyB0aGV5IHVzZSBzZXBhcmF0ZSBsYW5lcyBpcyBiZWNhdXNlIGNvbnRpbnVvdXMgdXBkYXRlcyBzaG91bGQgaW50ZXJydXB0XG4gICAgLy8gdHJhbnNpdGlvbnMsIGJ1dCBkZWZhdWx0IHVwZGF0ZXMgc2hvdWxkIG5vdC5cbiAgICBlbnRhbmdsZWRMYW5lcyB8PSBlbnRhbmdsZWRMYW5lcyAmIERlZmF1bHRMYW5lO1xuICB9IC8vIENoZWNrIGZvciBlbnRhbmdsZWQgbGFuZXMgYW5kIGFkZCB0aGVtIHRvIHRoZSBiYXRjaC5cbiAgLy9cbiAgLy8gQSBsYW5lIGlzIHNhaWQgdG8gYmUgZW50YW5nbGVkIHdpdGggYW5vdGhlciB3aGVuIGl0J3Mgbm90IGFsbG93ZWQgdG8gcmVuZGVyXG4gIC8vIGluIGEgYmF0Y2ggdGhhdCBkb2VzIG5vdCBhbHNvIGluY2x1ZGUgdGhlIG90aGVyIGxhbmUuIFR5cGljYWxseSB3ZSBkbyB0aGlzXG4gIC8vIHdoZW4gbXVsdGlwbGUgdXBkYXRlcyBoYXZlIHRoZSBzYW1lIHNvdXJjZSwgYW5kIHdlIG9ubHkgd2FudCB0byByZXNwb25kIHRvXG4gIC8vIHRoZSBtb3N0IHJlY2VudCBldmVudCBmcm9tIHRoYXQgc291cmNlLlxuICAvL1xuICAvLyBOb3RlIHRoYXQgd2UgYXBwbHkgZW50YW5nbGVtZW50cyAqYWZ0ZXIqIGNoZWNraW5nIGZvciBwYXJ0aWFsIHdvcmsgYWJvdmUuXG4gIC8vIFRoaXMgbWVhbnMgdGhhdCBpZiBhIGxhbmUgaXMgZW50YW5nbGVkIGR1cmluZyBhbiBpbnRlcmxlYXZlZCBldmVudCB3aGlsZVxuICAvLyBpdCdzIGFscmVhZHkgcmVuZGVyaW5nLCB3ZSB3b24ndCBpbnRlcnJ1cHQgaXQuIFRoaXMgaXMgaW50ZW50aW9uYWwsIHNpbmNlXG4gIC8vIGVudGFuZ2xlbWVudCBpcyB1c3VhbGx5IFwiYmVzdCBlZmZvcnRcIjogd2UnbGwgdHJ5IG91ciBiZXN0IHRvIHJlbmRlciB0aGVcbiAgLy8gbGFuZXMgaW4gdGhlIHNhbWUgYmF0Y2gsIGJ1dCBpdCdzIG5vdCB3b3J0aCB0aHJvd2luZyBvdXQgcGFydGlhbGx5XG4gIC8vIGNvbXBsZXRlZCB3b3JrIGluIG9yZGVyIHRvIGRvIGl0LlxuICAvLyBUT0RPOiBSZWNvbnNpZGVyIHRoaXMuIFRoZSBjb3VudGVyLWFyZ3VtZW50IGlzIHRoYXQgdGhlIHBhcnRpYWwgd29ya1xuICAvLyByZXByZXNlbnRzIGFuIGludGVybWVkaWF0ZSBzdGF0ZSwgd2hpY2ggd2UgZG9uJ3Qgd2FudCB0byBzaG93IHRvIHRoZSB1c2VyLlxuICAvLyBBbmQgYnkgc3BlbmRpbmcgZXh0cmEgdGltZSBmaW5pc2hpbmcgaXQsIHdlJ3JlIGluY3JlYXNpbmcgdGhlIGFtb3VudCBvZlxuICAvLyB0aW1lIGl0IHRha2VzIHRvIHNob3cgdGhlIGZpbmFsIHN0YXRlLCB3aGljaCBpcyB3aGF0IHRoZXkgYXJlIGFjdHVhbGx5XG4gIC8vIHdhaXRpbmcgZm9yLlxuICAvL1xuICAvLyBGb3IgdGhvc2UgZXhjZXB0aW9ucyB3aGVyZSBlbnRhbmdsZW1lbnQgaXMgc2VtYW50aWNhbGx5IGltcG9ydGFudCxcbiAgLy8gd2Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZXJlIGlzIG5vIHBhcnRpYWwgd29yayBhdCB0aGVcbiAgLy8gdGltZSB3ZSBhcHBseSB0aGUgZW50YW5nbGVtZW50LlxuXG5cbiAgdmFyIGFsbEVudGFuZ2xlZExhbmVzID0gcm9vdC5lbnRhbmdsZWRMYW5lcztcblxuICBpZiAoYWxsRW50YW5nbGVkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICB2YXIgZW50YW5nbGVtZW50cyA9IHJvb3QuZW50YW5nbGVtZW50cztcbiAgICB2YXIgbGFuZXMgPSBlbnRhbmdsZWRMYW5lcyAmIGFsbEVudGFuZ2xlZExhbmVzO1xuXG4gICAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgICB2YXIgbGFuZSA9IDEgPDwgaW5kZXg7XG4gICAgICBlbnRhbmdsZWRMYW5lcyB8PSBlbnRhbmdsZW1lbnRzW2luZGV4XTtcbiAgICAgIGxhbmVzICY9IH5sYW5lO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlbnRhbmdsZWRMYW5lcztcbn1cblxuZnVuY3Rpb24gY29tcHV0ZUV4cGlyYXRpb25UaW1lKGxhbmUsIGN1cnJlbnRUaW1lKSB7XG4gIHN3aXRjaCAobGFuZSkge1xuICAgIGNhc2UgU3luY0h5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBTeW5jTGFuZTpcbiAgICBjYXNlIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJbnB1dENvbnRpbnVvdXNMYW5lOlxuICAgICAgLy8gVXNlciBpbnRlcmFjdGlvbnMgc2hvdWxkIGV4cGlyZSBzbGlnaHRseSBtb3JlIHF1aWNrbHkuXG4gICAgICAvL1xuICAgICAgLy8gTk9URTogVGhpcyBpcyBzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgY29uc3RhbnQgYXMgaW4gU2NoZWR1bGVyLmpzLlxuICAgICAgLy8gV2hlbiB3ZSBtYWRlIGl0IGxhcmdlciwgYSBwcm9kdWN0IG1ldHJpYyBpbiB3d3cgcmVncmVzc2VkLCBzdWdnZXN0aW5nXG4gICAgICAvLyB0aGVyZSdzIGEgdXNlciBpbnRlcmFjdGlvbiB0aGF0J3MgYmVpbmcgc3RhcnZlZCBieSBhIHNlcmllcyBvZlxuICAgICAgLy8gc3luY2hyb25vdXMgdXBkYXRlcy4gSWYgdGhhdCB0aGVvcnkgaXMgY29ycmVjdCwgdGhlIHByb3BlciBzb2x1dGlvbiBpc1xuICAgICAgLy8gdG8gZml4IHRoZSBzdGFydmF0aW9uLiBIb3dldmVyLCB0aGlzIHNjZW5hcmlvIHN1cHBvcnRzIHRoZSBpZGVhIHRoYXRcbiAgICAgIC8vIGV4cGlyYXRpb24gdGltZXMgYXJlIGFuIGltcG9ydGFudCBzYWZlZ3VhcmQgd2hlbiBzdGFydmF0aW9uXG4gICAgICAvLyBkb2VzIGhhcHBlbi5cbiAgICAgIHJldHVybiBjdXJyZW50VGltZSArIHN5bmNMYW5lRXhwaXJhdGlvbk1zO1xuXG4gICAgY2FzZSBEZWZhdWx0SHlkcmF0aW9uTGFuZTpcbiAgICBjYXNlIERlZmF1bHRMYW5lOlxuICAgIGNhc2UgVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTc6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTg6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEwOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgICByZXR1cm4gY3VycmVudFRpbWUgKyB0cmFuc2l0aW9uTGFuZUV4cGlyYXRpb25NcztcblxuICAgIGNhc2UgUmV0cnlMYW5lMTpcbiAgICBjYXNlIFJldHJ5TGFuZTI6XG4gICAgY2FzZSBSZXRyeUxhbmUzOlxuICAgIGNhc2UgUmV0cnlMYW5lNDpcbiAgICAgIC8vIFRPRE86IFJldHJpZXMgc2hvdWxkIGJlIGFsbG93ZWQgdG8gZXhwaXJlIGlmIHRoZXkgYXJlIENQVSBib3VuZCBmb3JcbiAgICAgIC8vIHRvbyBsb25nLCBidXQgd2hlbiBJIG1hZGUgdGhpcyBjaGFuZ2UgaXQgY2F1c2VkIGEgc3Bpa2UgaW4gYnJvd3NlclxuICAgICAgLy8gY3Jhc2hlcy4gVGhlcmUgbXVzdCBiZSBzb21lIG90aGVyIHVuZGVybHlpbmcgYnVnOyBub3Qgc3VwZXIgdXJnZW50IGJ1dFxuICAgICAgLy8gaWRlYWxseSBzaG91bGQgZmlndXJlIG91dCB3aHkgYW5kIGZpeCBpdC4gVW5mb3J0dW5hdGVseSB3ZSBkb24ndCBoYXZlXG4gICAgICAvLyBhIHJlcHJvIGZvciB0aGUgY3Jhc2hlcywgb25seSBkZXRlY3RlZCB2aWEgcHJvZHVjdGlvbiBtZXRyaWNzLlxuICAgICAgcmV0dXJuIE5vVGltZXN0YW1wO1xuXG4gICAgY2FzZSBTZWxlY3RpdmVIeWRyYXRpb25MYW5lOlxuICAgIGNhc2UgSWRsZUh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJZGxlTGFuZTpcbiAgICBjYXNlIE9mZnNjcmVlbkxhbmU6XG4gICAgY2FzZSBEZWZlcnJlZExhbmU6XG4gICAgICAvLyBBbnl0aGluZyBpZGxlIHByaW9yaXR5IG9yIGxvd2VyIHNob3VsZCBuZXZlciBleHBpcmUuXG4gICAgICByZXR1cm4gTm9UaW1lc3RhbXA7XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICBlcnJvcignU2hvdWxkIGhhdmUgZm91bmQgbWF0Y2hpbmcgbGFuZXMuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBOb1RpbWVzdGFtcDtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhcnZlZExhbmVzQXNFeHBpcmVkKHJvb3QsIGN1cnJlbnRUaW1lKSB7XG4gIC8vIFRPRE86IFRoaXMgZ2V0cyBjYWxsZWQgZXZlcnkgdGltZSB3ZSB5aWVsZC4gV2UgY2FuIG9wdGltaXplIGJ5IHN0b3JpbmdcbiAgLy8gdGhlIGVhcmxpZXN0IGV4cGlyYXRpb24gdGltZSBvbiB0aGUgcm9vdC4gVGhlbiB1c2UgdGhhdCB0byBxdWlja2x5IGJhaWwgb3V0XG4gIC8vIG9mIHRoaXMgZnVuY3Rpb24uXG4gIHZhciBwZW5kaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lcztcbiAgdmFyIHN1c3BlbmRlZExhbmVzID0gcm9vdC5zdXNwZW5kZWRMYW5lcztcbiAgdmFyIHBpbmdlZExhbmVzID0gcm9vdC5waW5nZWRMYW5lcztcbiAgdmFyIGV4cGlyYXRpb25UaW1lcyA9IHJvb3QuZXhwaXJhdGlvblRpbWVzOyAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIHBlbmRpbmcgbGFuZXMgYW5kIGNoZWNrIGlmIHdlJ3ZlIHJlYWNoZWQgdGhlaXJcbiAgLy8gZXhwaXJhdGlvbiB0aW1lLiBJZiBzbywgd2UnbGwgYXNzdW1lIHRoZSB1cGRhdGUgaXMgYmVpbmcgc3RhcnZlZCBhbmQgbWFya1xuICAvLyBpdCBhcyBleHBpcmVkIHRvIGZvcmNlIGl0IHRvIGZpbmlzaC5cbiAgLy8gVE9ETzogV2Ugc2hvdWxkIGJlIGFibGUgdG8gcmVwbGFjZSB0aGlzIHdpdGggdXBncmFkZVBlbmRpbmdMYW5lc1RvU3luY1xuICAvL1xuICAvLyBXZSBleGNsdWRlIHJldHJ5IGxhbmVzIGJlY2F1c2UgdGhvc2UgbXVzdCBhbHdheXMgYmUgdGltZSBzbGljZWQsIGluIG9yZGVyXG4gIC8vIHRvIHVud3JhcCB1bmNhY2hlZCBwcm9taXNlcy5cbiAgLy8gVE9ETzogV3JpdGUgYSB0ZXN0IGZvciB0aGlzXG5cbiAgdmFyIGxhbmVzID0gcGVuZGluZ0xhbmVzICYgflJldHJ5TGFuZXM7XG5cbiAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZXNbaW5kZXhdO1xuXG4gICAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBOb1RpbWVzdGFtcCkge1xuICAgICAgLy8gRm91bmQgYSBwZW5kaW5nIGxhbmUgd2l0aCBubyBleHBpcmF0aW9uIHRpbWUuIElmIGl0J3Mgbm90IHN1c3BlbmRlZCwgb3JcbiAgICAgIC8vIGlmIGl0J3MgcGluZ2VkLCBhc3N1bWUgaXQncyBDUFUtYm91bmQuIENvbXB1dGUgYSBuZXcgZXhwaXJhdGlvbiB0aW1lXG4gICAgICAvLyB1c2luZyB0aGUgY3VycmVudCB0aW1lLlxuICAgICAgaWYgKChsYW5lICYgc3VzcGVuZGVkTGFuZXMpID09PSBOb0xhbmVzIHx8IChsYW5lICYgcGluZ2VkTGFuZXMpICE9PSBOb0xhbmVzKSB7XG4gICAgICAgIC8vIEFzc3VtZXMgdGltZXN0YW1wcyBhcmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nLlxuICAgICAgICBleHBpcmF0aW9uVGltZXNbaW5kZXhdID0gY29tcHV0ZUV4cGlyYXRpb25UaW1lKGxhbmUsIGN1cnJlbnRUaW1lKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGV4cGlyYXRpb25UaW1lIDw9IGN1cnJlbnRUaW1lKSB7XG4gICAgICAvLyBUaGlzIGxhbmUgZXhwaXJlZFxuICAgICAgcm9vdC5leHBpcmVkTGFuZXMgfD0gbGFuZTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufSAvLyBUaGlzIHJldHVybnMgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgcGVuZGluZyBsYW5lcyByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleVxuLy8gYXJlIHN1c3BlbmRlZC5cblxuZnVuY3Rpb24gZ2V0SGlnaGVzdFByaW9yaXR5UGVuZGluZ0xhbmVzKHJvb3QpIHtcbiAgcmV0dXJuIGdldEhpZ2hlc3RQcmlvcml0eUxhbmVzKHJvb3QucGVuZGluZ0xhbmVzKTtcbn1cbmZ1bmN0aW9uIGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QsIG9yaWdpbmFsbHlBdHRlbXB0ZWRMYW5lcykge1xuICBpZiAocm9vdC5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyAmIG9yaWdpbmFsbHlBdHRlbXB0ZWRMYW5lcykge1xuICAgIC8vIFRoZSBlcnJvciByZWNvdmVyeSBtZWNoYW5pc20gaXMgZGlzYWJsZWQgdW50aWwgdGhlc2UgbGFuZXMgYXJlIGNsZWFyZWQuXG4gICAgcmV0dXJuIE5vTGFuZXM7XG4gIH1cblxuICB2YXIgZXZlcnl0aGluZ0J1dE9mZnNjcmVlbiA9IHJvb3QucGVuZGluZ0xhbmVzICYgfk9mZnNjcmVlbkxhbmU7XG5cbiAgaWYgKGV2ZXJ5dGhpbmdCdXRPZmZzY3JlZW4gIT09IE5vTGFuZXMpIHtcbiAgICByZXR1cm4gZXZlcnl0aGluZ0J1dE9mZnNjcmVlbjtcbiAgfVxuXG4gIGlmIChldmVyeXRoaW5nQnV0T2Zmc2NyZWVuICYgT2Zmc2NyZWVuTGFuZSkge1xuICAgIHJldHVybiBPZmZzY3JlZW5MYW5lO1xuICB9XG5cbiAgcmV0dXJuIE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc1N5bmNMYW5lKGxhbmVzKSB7XG4gIHJldHVybiAobGFuZXMgJiAoU3luY0xhbmUgfCBTeW5jSHlkcmF0aW9uTGFuZSkpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gaW5jbHVkZXNOb25JZGxlV29yayhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgTm9uSWRsZUxhbmVzKSAhPT0gTm9MYW5lcztcbn1cbmZ1bmN0aW9uIGluY2x1ZGVzT25seVJldHJpZXMobGFuZXMpIHtcbiAgcmV0dXJuIChsYW5lcyAmIFJldHJ5TGFuZXMpID09PSBsYW5lcztcbn1cbmZ1bmN0aW9uIGluY2x1ZGVzT25seU5vblVyZ2VudExhbmVzKGxhbmVzKSB7XG4gIC8vIFRPRE86IFNob3VsZCBoeWRyYXRpb24gbGFuZXMgYmUgaW5jbHVkZWQgaGVyZT8gVGhpcyBmdW5jdGlvbiBpcyBvbmx5XG4gIC8vIHVzZWQgaW4gYHVwZGF0ZURlZmVycmVkVmFsdWVJbXBsYC5cbiAgdmFyIFVyZ2VudExhbmVzID0gU3luY0xhbmUgfCBJbnB1dENvbnRpbnVvdXNMYW5lIHwgRGVmYXVsdExhbmU7XG4gIHJldHVybiAobGFuZXMgJiBVcmdlbnRMYW5lcykgPT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc09ubHlUcmFuc2l0aW9ucyhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgVHJhbnNpdGlvbkxhbmVzKSA9PT0gbGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCBsYW5lcykge1xuXG4gIHZhciBTeW5jRGVmYXVsdExhbmVzID0gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZSB8IElucHV0Q29udGludW91c0xhbmUgfCBEZWZhdWx0SHlkcmF0aW9uTGFuZSB8IERlZmF1bHRMYW5lO1xuICByZXR1cm4gKGxhbmVzICYgU3luY0RlZmF1bHRMYW5lcykgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0V4cGlyZWRMYW5lKHJvb3QsIGxhbmVzKSB7XG4gIC8vIFRoaXMgaXMgYSBzZXBhcmF0ZSBjaGVjayBmcm9tIGluY2x1ZGVzQmxvY2tpbmdMYW5lIGJlY2F1c2UgYSBsYW5lIGNhblxuICAvLyBleHBpcmUgYWZ0ZXIgYSByZW5kZXIgaGFzIGFscmVhZHkgc3RhcnRlZC5cbiAgcmV0dXJuIChsYW5lcyAmIHJvb3QuZXhwaXJlZExhbmVzKSAhPT0gTm9MYW5lcztcbn1cbmZ1bmN0aW9uIGlzVHJhbnNpdGlvbkxhbmUobGFuZSkge1xuICByZXR1cm4gKGxhbmUgJiBUcmFuc2l0aW9uTGFuZXMpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gY2xhaW1OZXh0VHJhbnNpdGlvbkxhbmUoKSB7XG4gIC8vIEN5Y2xlIHRocm91Z2ggdGhlIGxhbmVzLCBhc3NpZ25pbmcgZWFjaCBuZXcgdHJhbnNpdGlvbiB0byB0aGUgbmV4dCBsYW5lLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIG1lYW5zIGV2ZXJ5IHRyYW5zaXRpb24gZ2V0cyBpdHMgb3duIGxhbmUsIHVudGlsIHdlXG4gIC8vIHJ1biBvdXQgb2YgbGFuZXMgYW5kIGN5Y2xlIGJhY2sgdG8gdGhlIGJlZ2lubmluZy5cbiAgdmFyIGxhbmUgPSBuZXh0VHJhbnNpdGlvbkxhbmU7XG4gIG5leHRUcmFuc2l0aW9uTGFuZSA8PD0gMTtcblxuICBpZiAoKG5leHRUcmFuc2l0aW9uTGFuZSAmIFRyYW5zaXRpb25MYW5lcykgPT09IE5vTGFuZXMpIHtcbiAgICBuZXh0VHJhbnNpdGlvbkxhbmUgPSBUcmFuc2l0aW9uTGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGNsYWltTmV4dFJldHJ5TGFuZSgpIHtcbiAgdmFyIGxhbmUgPSBuZXh0UmV0cnlMYW5lO1xuICBuZXh0UmV0cnlMYW5lIDw8PSAxO1xuXG4gIGlmICgobmV4dFJldHJ5TGFuZSAmIFJldHJ5TGFuZXMpID09PSBOb0xhbmVzKSB7XG4gICAgbmV4dFJldHJ5TGFuZSA9IFJldHJ5TGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGdldEhpZ2hlc3RQcmlvcml0eUxhbmUobGFuZXMpIHtcbiAgcmV0dXJuIGxhbmVzICYgLWxhbmVzO1xufVxuZnVuY3Rpb24gcGlja0FyYml0cmFyeUxhbmUobGFuZXMpIHtcbiAgLy8gVGhpcyB3cmFwcGVyIGZ1bmN0aW9uIGdldHMgaW5saW5lZC4gT25seSBleGlzdHMgc28gdG8gY29tbXVuaWNhdGUgdGhhdCBpdFxuICAvLyBkb2Vzbid0IG1hdHRlciB3aGljaCBiaXQgaXMgc2VsZWN0ZWQ7IHlvdSBjYW4gcGljayBhbnkgYml0IHdpdGhvdXRcbiAgLy8gYWZmZWN0aW5nIHRoZSBhbGdvcml0aG1zIHdoZXJlIGl0cyB1c2VkLiBIZXJlIEknbSB1c2luZ1xuICAvLyBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lIGJlY2F1c2UgaXQgcmVxdWlyZXMgdGhlIGZld2VzdCBvcGVyYXRpb25zLlxuICByZXR1cm4gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShsYW5lcyk7XG59XG5cbmZ1bmN0aW9uIHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpIHtcbiAgcmV0dXJuIDMxIC0gY2x6MzIobGFuZXMpO1xufVxuXG5mdW5jdGlvbiBsYW5lVG9JbmRleChsYW5lKSB7XG4gIHJldHVybiBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmUpO1xufVxuXG5mdW5jdGlvbiBpbmNsdWRlc1NvbWVMYW5lKGEsIGIpIHtcbiAgcmV0dXJuIChhICYgYikgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpc1N1YnNldE9mTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIChzZXQgJiBzdWJzZXQpID09PSBzdWJzZXQ7XG59XG5mdW5jdGlvbiBtZXJnZUxhbmVzKGEsIGIpIHtcbiAgcmV0dXJuIGEgfCBiO1xufVxuZnVuY3Rpb24gcmVtb3ZlTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIHNldCAmIH5zdWJzZXQ7XG59XG5mdW5jdGlvbiBpbnRlcnNlY3RMYW5lcyhhLCBiKSB7XG4gIHJldHVybiBhICYgYjtcbn0gLy8gU2VlbXMgcmVkdW5kYW50LCBidXQgaXQgY2hhbmdlcyB0aGUgdHlwZSBmcm9tIGEgc2luZ2xlIGxhbmUgKHVzZWQgZm9yXG4vLyB1cGRhdGVzKSB0byBhIGdyb3VwIG9mIGxhbmVzICh1c2VkIGZvciBmbHVzaGluZyB3b3JrKS5cblxuZnVuY3Rpb24gbGFuZVRvTGFuZXMobGFuZSkge1xuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGhpZ2hlclByaW9yaXR5TGFuZShhLCBiKSB7XG4gIC8vIFRoaXMgd29ya3MgYmVjYXVzZSB0aGUgYml0IHJhbmdlcyBkZWNyZWFzZSBpbiBwcmlvcml0eSBhcyB5b3UgZ28gbGVmdC5cbiAgcmV0dXJuIGEgIT09IE5vTGFuZSAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gY3JlYXRlTGFuZU1hcChpbml0aWFsKSB7XG4gIC8vIEludGVudGlvbmFsbHkgcHVzaGluZyBvbmUgYnkgb25lLlxuICAvLyBodHRwczovL3Y4LmRldi9ibG9nL2VsZW1lbnRzLWtpbmRzI2F2b2lkLWNyZWF0aW5nLWhvbGVzXG4gIHZhciBsYW5lTWFwID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBUb3RhbExhbmVzOyBpKyspIHtcbiAgICBsYW5lTWFwLnB1c2goaW5pdGlhbCk7XG4gIH1cblxuICByZXR1cm4gbGFuZU1hcDtcbn1cbmZ1bmN0aW9uIG1hcmtSb290VXBkYXRlZCQxKHJvb3QsIHVwZGF0ZUxhbmUpIHtcbiAgcm9vdC5wZW5kaW5nTGFuZXMgfD0gdXBkYXRlTGFuZTsgLy8gSWYgdGhlcmUgYXJlIGFueSBzdXNwZW5kZWQgdHJhbnNpdGlvbnMsIGl0J3MgcG9zc2libGUgdGhpcyBuZXcgdXBkYXRlXG4gIC8vIGNvdWxkIHVuYmxvY2sgdGhlbS4gQ2xlYXIgdGhlIHN1c3BlbmRlZCBsYW5lcyBzbyB0aGF0IHdlIGNhbiB0cnkgcmVuZGVyaW5nXG4gIC8vIHRoZW0gYWdhaW4uXG4gIC8vXG4gIC8vIFRPRE86IFdlIHJlYWxseSBvbmx5IG5lZWQgdG8gdW5zdXNwZW5kIG9ubHkgbGFuZXMgdGhhdCBhcmUgaW4gdGhlXG4gIC8vIGBzdWJ0cmVlTGFuZXNgIG9mIHRoZSB1cGRhdGVkIGZpYmVyLCBvciB0aGUgdXBkYXRlIGxhbmVzIG9mIHRoZSByZXR1cm5cbiAgLy8gcGF0aC4gVGhpcyB3b3VsZCBleGNsdWRlIHN1c3BlbmRlZCB1cGRhdGVzIGluIGFuIHVucmVsYXRlZCBzaWJsaW5nIHRyZWUsXG4gIC8vIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IGZvciB0aGlzIHVwZGF0ZSB0byB1bmJsb2NrIGl0LlxuICAvL1xuICAvLyBXZSBkb24ndCBkbyB0aGlzIGlmIHRoZSBpbmNvbWluZyB1cGRhdGUgaXMgaWRsZSwgYmVjYXVzZSB3ZSBuZXZlciBwcm9jZXNzXG4gIC8vIGlkbGUgdXBkYXRlcyB1bnRpbCBhZnRlciBhbGwgdGhlIHJlZ3VsYXIgdXBkYXRlcyBoYXZlIGZpbmlzaGVkOyB0aGVyZSdzIG5vXG4gIC8vIHdheSBpdCBjb3VsZCB1bmJsb2NrIGEgdHJhbnNpdGlvbi5cblxuICBpZiAodXBkYXRlTGFuZSAhPT0gSWRsZUxhbmUpIHtcbiAgICByb290LnN1c3BlbmRlZExhbmVzID0gTm9MYW5lcztcbiAgICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgfVxufVxuZnVuY3Rpb24gbWFya1Jvb3RTdXNwZW5kZWQkMShyb290LCBzdXNwZW5kZWRMYW5lcywgc3Bhd25lZExhbmUpIHtcbiAgcm9vdC5zdXNwZW5kZWRMYW5lcyB8PSBzdXNwZW5kZWRMYW5lcztcbiAgcm9vdC5waW5nZWRMYW5lcyAmPSB+c3VzcGVuZGVkTGFuZXM7IC8vIFRoZSBzdXNwZW5kZWQgbGFuZXMgYXJlIG5vIGxvbmdlciBDUFUtYm91bmQuIENsZWFyIHRoZWlyIGV4cGlyYXRpb24gdGltZXMuXG5cbiAgdmFyIGV4cGlyYXRpb25UaW1lcyA9IHJvb3QuZXhwaXJhdGlvblRpbWVzO1xuICB2YXIgbGFuZXMgPSBzdXNwZW5kZWRMYW5lcztcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIGV4cGlyYXRpb25UaW1lc1tpbmRleF0gPSBOb1RpbWVzdGFtcDtcbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxuXG4gIGlmIChzcGF3bmVkTGFuZSAhPT0gTm9MYW5lKSB7XG4gICAgbWFya1NwYXduZWREZWZlcnJlZExhbmUocm9vdCwgc3Bhd25lZExhbmUsIHN1c3BlbmRlZExhbmVzKTtcbiAgfVxufVxuZnVuY3Rpb24gbWFya1Jvb3RQaW5nZWQkMShyb290LCBwaW5nZWRMYW5lcykge1xuICByb290LnBpbmdlZExhbmVzIHw9IHJvb3Quc3VzcGVuZGVkTGFuZXMgJiBwaW5nZWRMYW5lcztcbn1cbmZ1bmN0aW9uIG1hcmtSb290RmluaXNoZWQocm9vdCwgcmVtYWluaW5nTGFuZXMsIHNwYXduZWRMYW5lKSB7XG4gIHZhciBub0xvbmdlclBlbmRpbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzICYgfnJlbWFpbmluZ0xhbmVzO1xuICByb290LnBlbmRpbmdMYW5lcyA9IHJlbWFpbmluZ0xhbmVzOyAvLyBMZXQncyB0cnkgZXZlcnl0aGluZyBhZ2FpblxuXG4gIHJvb3Quc3VzcGVuZGVkTGFuZXMgPSBOb0xhbmVzO1xuICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgcm9vdC5leHBpcmVkTGFuZXMgJj0gcmVtYWluaW5nTGFuZXM7XG4gIHJvb3QuZW50YW5nbGVkTGFuZXMgJj0gcmVtYWluaW5nTGFuZXM7XG4gIHJvb3QuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXMgJj0gcmVtYWluaW5nTGFuZXM7XG4gIHJvb3Quc2hlbGxTdXNwZW5kQ291bnRlciA9IDA7XG4gIHZhciBlbnRhbmdsZW1lbnRzID0gcm9vdC5lbnRhbmdsZW1lbnRzO1xuICB2YXIgZXhwaXJhdGlvblRpbWVzID0gcm9vdC5leHBpcmF0aW9uVGltZXM7XG4gIHZhciBoaWRkZW5VcGRhdGVzID0gcm9vdC5oaWRkZW5VcGRhdGVzOyAvLyBDbGVhciB0aGUgbGFuZXMgdGhhdCBubyBsb25nZXIgaGF2ZSBwZW5kaW5nIHdvcmtcblxuICB2YXIgbGFuZXMgPSBub0xvbmdlclBlbmRpbmdMYW5lcztcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIGVudGFuZ2xlbWVudHNbaW5kZXhdID0gTm9MYW5lcztcbiAgICBleHBpcmF0aW9uVGltZXNbaW5kZXhdID0gTm9UaW1lc3RhbXA7XG4gICAgdmFyIGhpZGRlblVwZGF0ZXNGb3JMYW5lID0gaGlkZGVuVXBkYXRlc1tpbmRleF07XG5cbiAgICBpZiAoaGlkZGVuVXBkYXRlc0ZvckxhbmUgIT09IG51bGwpIHtcbiAgICAgIGhpZGRlblVwZGF0ZXNbaW5kZXhdID0gbnVsbDsgLy8gXCJIaWRkZW5cIiB1cGRhdGVzIGFyZSB1cGRhdGVzIHRoYXQgd2VyZSBtYWRlIHRvIGEgaGlkZGVuIGNvbXBvbmVudC4gVGhleVxuICAgICAgLy8gaGF2ZSBzcGVjaWFsIGxvZ2ljIGFzc29jaWF0ZWQgd2l0aCB0aGVtIGJlY2F1c2UgdGhleSBtYXkgYmUgZW50YW5nbGVkXG4gICAgICAvLyB3aXRoIHVwZGF0ZXMgdGhhdCBvY2N1ciBvdXRzaWRlIHRoYXQgdHJlZS4gQnV0IG9uY2UgdGhlIG91dGVyIHRyZWVcbiAgICAgIC8vIGNvbW1pdHMsIHRoZXkgYmVoYXZlIGxpa2UgcmVndWxhciB1cGRhdGVzLlxuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhpZGRlblVwZGF0ZXNGb3JMYW5lLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciB1cGRhdGUgPSBoaWRkZW5VcGRhdGVzRm9yTGFuZVtpXTtcblxuICAgICAgICBpZiAodXBkYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgdXBkYXRlLmxhbmUgJj0gfk9mZnNjcmVlbkxhbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxuXG4gIGlmIChzcGF3bmVkTGFuZSAhPT0gTm9MYW5lKSB7XG4gICAgbWFya1NwYXduZWREZWZlcnJlZExhbmUocm9vdCwgc3Bhd25lZExhbmUsIC8vIFRoaXMgcmVuZGVyIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseSB3aXRob3V0IHN1c3BlbmRpbmcsIHNvIHdlIGRvbid0IG5lZWRcbiAgICAvLyB0byBlbnRhbmdsZSB0aGUgc3Bhd25lZCB0YXNrIHdpdGggdGhlIHBhcmVudCB0YXNrLlxuICAgIE5vTGFuZXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcmtTcGF3bmVkRGVmZXJyZWRMYW5lKHJvb3QsIHNwYXduZWRMYW5lLCBlbnRhbmdsZWRMYW5lcykge1xuICAvLyBUaGlzIHJlbmRlciBzcGF3bmVkIGEgZGVmZXJyZWQgdGFzay4gTWFyayBpdCBhcyBwZW5kaW5nLlxuICByb290LnBlbmRpbmdMYW5lcyB8PSBzcGF3bmVkTGFuZTtcbiAgcm9vdC5zdXNwZW5kZWRMYW5lcyAmPSB+c3Bhd25lZExhbmU7IC8vIEVudGFuZ2xlIHRoZSBzcGF3bmVkIGxhbmUgd2l0aCB0aGUgRGVmZXJyZWRMYW5lIGJpdCBzbyB0aGF0IHdlIGtub3cgaXRcbiAgLy8gd2FzIHRoZSByZXN1bHQgb2YgYW5vdGhlciByZW5kZXIuIFRoaXMgbGV0cyB1cyBhdm9pZCBhIHVzZURlZmVycmVkVmFsdWVcbiAgLy8gd2F0ZXJmYWxsIOKAlCBvbmx5IHRoZSBmaXJzdCBsZXZlbCB3aWxsIGRlZmVyLlxuXG4gIHZhciBzcGF3bmVkTGFuZUluZGV4ID0gbGFuZVRvSW5kZXgoc3Bhd25lZExhbmUpO1xuICByb290LmVudGFuZ2xlZExhbmVzIHw9IHNwYXduZWRMYW5lO1xuICByb290LmVudGFuZ2xlbWVudHNbc3Bhd25lZExhbmVJbmRleF0gfD0gRGVmZXJyZWRMYW5lIHwgLy8gSWYgdGhlIHBhcmVudCByZW5kZXIgdGFzayBzdXNwZW5kZWQsIHdlIG11c3QgYWxzbyBlbnRhbmdsZSB0aG9zZSBsYW5lc1xuICAvLyB3aXRoIHRoZSBzcGF3bmVkIHRhc2ssIHNvIHRoYXQgdGhlIGRlZmVycmVkIHRhc2sgaW5jbHVkZXMgYWxsIHRoZSBzYW1lXG4gIC8vIHVwZGF0ZXMgdGhhdCB0aGUgcGFyZW50IHRhc2sgZGlkLiBXZSBjYW4gZXhjbHVkZSBhbnkgbGFuZSB0aGF0IGlzIG5vdFxuICAvLyB1c2VkIGZvciB1cGRhdGVzIChlLmcuIE9mZnNjcmVlbikuXG4gIGVudGFuZ2xlZExhbmVzICYgVXBkYXRlTGFuZXM7XG59XG5cbmZ1bmN0aW9uIG1hcmtSb290RW50YW5nbGVkKHJvb3QsIGVudGFuZ2xlZExhbmVzKSB7XG4gIC8vIEluIGFkZGl0aW9uIHRvIGVudGFuZ2xpbmcgZWFjaCBvZiB0aGUgZ2l2ZW4gbGFuZXMgd2l0aCBlYWNoIG90aGVyLCB3ZSBhbHNvXG4gIC8vIGhhdmUgdG8gY29uc2lkZXIgX3RyYW5zaXRpdmVfIGVudGFuZ2xlbWVudHMuIEZvciBlYWNoIGxhbmUgdGhhdCBpcyBhbHJlYWR5XG4gIC8vIGVudGFuZ2xlZCB3aXRoICphbnkqIG9mIHRoZSBnaXZlbiBsYW5lcywgdGhhdCBsYW5lIGlzIG5vdyB0cmFuc2l0aXZlbHlcbiAgLy8gZW50YW5nbGVkIHdpdGggKmFsbCogdGhlIGdpdmVuIGxhbmVzLlxuICAvL1xuICAvLyBUcmFuc2xhdGVkOiBJZiBDIGlzIGVudGFuZ2xlZCB3aXRoIEEsIHRoZW4gZW50YW5nbGluZyBBIHdpdGggQiBhbHNvXG4gIC8vIGVudGFuZ2xlcyBDIHdpdGggQi5cbiAgLy9cbiAgLy8gSWYgdGhpcyBpcyBoYXJkIHRvIGdyYXNwLCBpdCBtaWdodCBoZWxwIHRvIGludGVudGlvbmFsbHkgYnJlYWsgdGhpc1xuICAvLyBmdW5jdGlvbiBhbmQgbG9vayBhdCB0aGUgdGVzdHMgdGhhdCBmYWlsIGluIFJlYWN0VHJhbnNpdGlvbi10ZXN0LmpzLiBUcnlcbiAgLy8gY29tbWVudGluZyBvdXQgb25lIG9mIHRoZSBjb25kaXRpb25zIGJlbG93LlxuICB2YXIgcm9vdEVudGFuZ2xlZExhbmVzID0gcm9vdC5lbnRhbmdsZWRMYW5lcyB8PSBlbnRhbmdsZWRMYW5lcztcbiAgdmFyIGVudGFuZ2xlbWVudHMgPSByb290LmVudGFuZ2xlbWVudHM7XG4gIHZhciBsYW5lcyA9IHJvb3RFbnRhbmdsZWRMYW5lcztcblxuICB3aGlsZSAobGFuZXMpIHtcbiAgICB2YXIgaW5kZXggPSBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmVzKTtcbiAgICB2YXIgbGFuZSA9IDEgPDwgaW5kZXg7XG5cbiAgICBpZiAoIC8vIElzIHRoaXMgb25lIG9mIHRoZSBuZXdseSBlbnRhbmdsZWQgbGFuZXM/XG4gICAgbGFuZSAmIGVudGFuZ2xlZExhbmVzIHwgLy8gSXMgdGhpcyBsYW5lIHRyYW5zaXRpdmVseSBlbnRhbmdsZWQgd2l0aCB0aGUgbmV3bHkgZW50YW5nbGVkIGxhbmVzP1xuICAgIGVudGFuZ2xlbWVudHNbaW5kZXhdICYgZW50YW5nbGVkTGFuZXMpIHtcbiAgICAgIGVudGFuZ2xlbWVudHNbaW5kZXhdIHw9IGVudGFuZ2xlZExhbmVzO1xuICAgIH1cblxuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiB1cGdyYWRlUGVuZGluZ0xhbmVUb1N5bmMocm9vdCwgbGFuZSkge1xuICAvLyBTaW5jZSB3ZSdyZSB1cGdyYWRpbmcgdGhlIHByaW9yaXR5IG9mIHRoZSBnaXZlbiBsYW5lLCB0aGVyZSBpcyBub3cgcGVuZGluZ1xuICAvLyBzeW5jIHdvcmsuXG4gIHJvb3QucGVuZGluZ0xhbmVzIHw9IFN5bmNMYW5lOyAvLyBFbnRhbmdsZSB0aGUgc3luYyBsYW5lIHdpdGggdGhlIGxhbmUgd2UncmUgdXBncmFkaW5nLiBUaGlzIG1lYW5zIFN5bmNMYW5lXG4gIC8vIHdpbGwgbm90IGJlIGFsbG93ZWQgdG8gZmluaXNoIHdpdGhvdXQgYWxzbyBmaW5pc2hpbmcgdGhlIGdpdmVuIGxhbmUuXG5cbiAgcm9vdC5lbnRhbmdsZWRMYW5lcyB8PSBTeW5jTGFuZTtcbiAgcm9vdC5lbnRhbmdsZW1lbnRzW1N5bmNMYW5lSW5kZXhdIHw9IGxhbmU7XG59XG5mdW5jdGlvbiB1cGdyYWRlUGVuZGluZ0xhbmVzVG9TeW5jKHJvb3QsIGxhbmVzVG9VcGdyYWRlKSB7XG4gIC8vIFNhbWUgYXMgdXBncmFkZVBlbmRpbmdMYW5lVG9TeW5jIGJ1dCBhY2NlcHRzIG11bHRpcGxlIGxhbmVzLCBzbyBpdCdzIGFcbiAgLy8gYml0IHNsb3dlci5cbiAgcm9vdC5wZW5kaW5nTGFuZXMgfD0gU3luY0xhbmU7XG4gIHJvb3QuZW50YW5nbGVkTGFuZXMgfD0gU3luY0xhbmU7XG4gIHZhciBsYW5lcyA9IGxhbmVzVG9VcGdyYWRlO1xuXG4gIHdoaWxlIChsYW5lcykge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICByb290LmVudGFuZ2xlbWVudHNbU3luY0xhbmVJbmRleF0gfD0gbGFuZTtcbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gbWFya0hpZGRlblVwZGF0ZShyb290LCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIGluZGV4ID0gbGFuZVRvSW5kZXgobGFuZSk7XG4gIHZhciBoaWRkZW5VcGRhdGVzID0gcm9vdC5oaWRkZW5VcGRhdGVzO1xuICB2YXIgaGlkZGVuVXBkYXRlc0ZvckxhbmUgPSBoaWRkZW5VcGRhdGVzW2luZGV4XTtcblxuICBpZiAoaGlkZGVuVXBkYXRlc0ZvckxhbmUgPT09IG51bGwpIHtcbiAgICBoaWRkZW5VcGRhdGVzW2luZGV4XSA9IFt1cGRhdGVdO1xuICB9IGVsc2Uge1xuICAgIGhpZGRlblVwZGF0ZXNGb3JMYW5lLnB1c2godXBkYXRlKTtcbiAgfVxuXG4gIHVwZGF0ZS5sYW5lID0gbGFuZSB8IE9mZnNjcmVlbkxhbmU7XG59XG5mdW5jdGlvbiBnZXRCdW1wZWRMYW5lRm9ySHlkcmF0aW9uKHJvb3QsIHJlbmRlckxhbmVzKSB7XG4gIHZhciByZW5kZXJMYW5lID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShyZW5kZXJMYW5lcyk7XG4gIHZhciBsYW5lO1xuXG4gIGlmICgocmVuZGVyTGFuZSAmIFN5bmNVcGRhdGVMYW5lcykgIT09IE5vTGFuZSkge1xuICAgIGxhbmUgPSBTeW5jSHlkcmF0aW9uTGFuZTtcbiAgfSBlbHNlIHtcbiAgICBzd2l0Y2ggKHJlbmRlckxhbmUpIHtcbiAgICAgIGNhc2UgU3luY0xhbmU6XG4gICAgICAgIGxhbmUgPSBTeW5jSHlkcmF0aW9uTGFuZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgSW5wdXRDb250aW51b3VzTGFuZTpcbiAgICAgICAgbGFuZSA9IElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIERlZmF1bHRMYW5lOlxuICAgICAgICBsYW5lID0gRGVmYXVsdEh5ZHJhdGlvbkxhbmU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTpcbiAgICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUyOlxuICAgICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgICBjYXNlIFRyYW5zaXRpb25MYW5lNDpcbiAgICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU1OlxuICAgICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgICBjYXNlIFRyYW5zaXRpb25MYW5lNzpcbiAgICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU4OlxuICAgICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTA6XG4gICAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTE6XG4gICAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTM6XG4gICAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTQ6XG4gICAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgICBjYXNlIFJldHJ5TGFuZTE6XG4gICAgICBjYXNlIFJldHJ5TGFuZTI6XG4gICAgICBjYXNlIFJldHJ5TGFuZTM6XG4gICAgICBjYXNlIFJldHJ5TGFuZTQ6XG4gICAgICAgIGxhbmUgPSBUcmFuc2l0aW9uSHlkcmF0aW9uTGFuZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgSWRsZUxhbmU6XG4gICAgICAgIGxhbmUgPSBJZGxlSHlkcmF0aW9uTGFuZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIEV2ZXJ5dGhpbmcgZWxzZSBpcyBhbHJlYWR5IGVpdGhlciBhIGh5ZHJhdGlvbiBsYW5lLCBvciBzaG91bGRuJ3RcbiAgICAgICAgLy8gYmUgcmV0cmllZCBhdCBhIGh5ZHJhdGlvbiBsYW5lLlxuICAgICAgICBsYW5lID0gTm9MYW5lO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH0gLy8gQ2hlY2sgaWYgdGhlIGxhbmUgd2UgY2hvc2UgaXMgc3VzcGVuZGVkLiBJZiBzbywgdGhhdCBpbmRpY2F0ZXMgdGhhdCB3ZVxuICAvLyBhbHJlYWR5IGF0dGVtcHRlZCBhbmQgZmFpbGVkIHRvIGh5ZHJhdGUgYXQgdGhhdCBsZXZlbC4gQWxzbyBjaGVjayBpZiB3ZSdyZVxuICAvLyBhbHJlYWR5IHJlbmRlcmluZyB0aGF0IGxhbmUsIHdoaWNoIGlzIHJhcmUgYnV0IGNvdWxkIGhhcHBlbi5cblxuXG4gIGlmICgobGFuZSAmIChyb290LnN1c3BlbmRlZExhbmVzIHwgcmVuZGVyTGFuZXMpKSAhPT0gTm9MYW5lKSB7XG4gICAgLy8gR2l2ZSB1cCB0cnlpbmcgdG8gaHlkcmF0ZSBhbmQgZmFsbCBiYWNrIHRvIGNsaWVudCByZW5kZXIuXG4gICAgcmV0dXJuIE5vTGFuZTtcbiAgfVxuXG4gIHJldHVybiBsYW5lO1xufVxuZnVuY3Rpb24gYWRkRmliZXJUb0xhbmVzTWFwKHJvb3QsIGZpYmVyLCBsYW5lcykge1xuXG4gIGlmICghaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcCA9IHJvb3QucGVuZGluZ1VwZGF0ZXJzTGFuZU1hcDtcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gbGFuZVRvSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgdXBkYXRlcnMgPSBwZW5kaW5nVXBkYXRlcnNMYW5lTWFwW2luZGV4XTtcbiAgICB1cGRhdGVycy5hZGQoZmliZXIpO1xuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiBtb3ZlUGVuZGluZ0ZpYmVyc1RvTWVtb2l6ZWQocm9vdCwgbGFuZXMpIHtcblxuICBpZiAoIWlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHBlbmRpbmdVcGRhdGVyc0xhbmVNYXAgPSByb290LnBlbmRpbmdVcGRhdGVyc0xhbmVNYXA7XG4gIHZhciBtZW1vaXplZFVwZGF0ZXJzID0gcm9vdC5tZW1vaXplZFVwZGF0ZXJzO1xuXG4gIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICB2YXIgaW5kZXggPSBsYW5lVG9JbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIHZhciB1cGRhdGVycyA9IHBlbmRpbmdVcGRhdGVyc0xhbmVNYXBbaW5kZXhdO1xuXG4gICAgaWYgKHVwZGF0ZXJzLnNpemUgPiAwKSB7XG4gICAgICB1cGRhdGVycy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gICAgICAgIGlmIChhbHRlcm5hdGUgPT09IG51bGwgfHwgIW1lbW9pemVkVXBkYXRlcnMuaGFzKGFsdGVybmF0ZSkpIHtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmFkZChmaWJlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdXBkYXRlcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcyhyb290LCBsYW5lcykge1xuICB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxudmFyIERpc2NyZXRlRXZlbnRQcmlvcml0eSA9IFN5bmNMYW5lO1xudmFyIENvbnRpbnVvdXNFdmVudFByaW9yaXR5ID0gSW5wdXRDb250aW51b3VzTGFuZTtcbnZhciBEZWZhdWx0RXZlbnRQcmlvcml0eSA9IERlZmF1bHRMYW5lO1xudmFyIElkbGVFdmVudFByaW9yaXR5ID0gSWRsZUxhbmU7XG52YXIgY3VycmVudFVwZGF0ZVByaW9yaXR5ID0gTm9MYW5lO1xuZnVuY3Rpb24gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCkge1xuICByZXR1cm4gY3VycmVudFVwZGF0ZVByaW9yaXR5O1xufVxuZnVuY3Rpb24gc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KG5ld1ByaW9yaXR5KSB7XG4gIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IG5ld1ByaW9yaXR5O1xufVxuZnVuY3Rpb24gcnVuV2l0aFByaW9yaXR5KHByaW9yaXR5LCBmbikge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGN1cnJlbnRVcGRhdGVQcmlvcml0eTtcblxuICB0cnkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByaW9yaXR5O1xuICAgIHJldHVybiBmbigpO1xuICB9IGZpbmFsbHkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByZXZpb3VzUHJpb3JpdHk7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZ2hlckV2ZW50UHJpb3JpdHkoYSwgYikge1xuICByZXR1cm4gYSAhPT0gMCAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gbG93ZXJFdmVudFByaW9yaXR5KGEsIGIpIHtcbiAgcmV0dXJuIGEgPT09IDAgfHwgYSA+IGIgPyBhIDogYjtcbn1cbmZ1bmN0aW9uIGlzSGlnaGVyRXZlbnRQcmlvcml0eShhLCBiKSB7XG4gIHJldHVybiBhICE9PSAwICYmIGEgPCBiO1xufVxuZnVuY3Rpb24gbGFuZXNUb0V2ZW50UHJpb3JpdHkobGFuZXMpIHtcbiAgdmFyIGxhbmUgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKGxhbmVzKTtcblxuICBpZiAoIWlzSGlnaGVyRXZlbnRQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHksIGxhbmUpKSB7XG4gICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmICghaXNIaWdoZXJFdmVudFByaW9yaXR5KENvbnRpbnVvdXNFdmVudFByaW9yaXR5LCBsYW5lKSkge1xuICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmIChpbmNsdWRlc05vbklkbGVXb3JrKGxhbmUpKSB7XG4gICAgcmV0dXJuIERlZmF1bHRFdmVudFByaW9yaXR5O1xuICB9XG5cbiAgcmV0dXJuIElkbGVFdmVudFByaW9yaXR5O1xufVxuXG4vLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG4vKlxuICogVGhlIGAnJyArIHZhbHVlYCBwYXR0ZXJuICh1c2VkIGluIHBlcmYtc2Vuc2l0aXZlIGNvZGUpIHRocm93cyBmb3IgU3ltYm9sXG4gKiBhbmQgVGVtcG9yYWwuKiB0eXBlcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzIyMDY0LlxuICpcbiAqIFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlYXNpZXItdG8tdW5kZXJzdGFuZCxcbiAqIGVhc2llci10by1kZWJ1ZyBleGNlcHRpb24gd2l0aCBhIGNsZWFyIGVycm9ycyBtZXNzYWdlIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGVcbiAqIHByb2JsZW0uIChJbnN0ZWFkIG9mIGEgY29uZnVzaW5nIGV4Y2VwdGlvbiB0aHJvd24gaW5zaWRlIHRoZSBpbXBsZW1lbnRhdGlvblxuICogb2YgdGhlIGB2YWx1ZWAgb2JqZWN0KS5cbiAqL1xuLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cbmZ1bmN0aW9uIHR5cGVOYW1lKHZhbHVlKSB7XG4gIHtcbiAgICAvLyB0b1N0cmluZ1RhZyBpcyBuZWVkZWQgZm9yIG5hbWVzcGFjZWQgdHlwZXMgbGlrZSBUZW1wb3JhbC5JbnN0YW50XG4gICAgdmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wudG9TdHJpbmdUYWc7XG4gICAgdmFyIHR5cGUgPSBoYXNUb1N0cmluZ1RhZyAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIHx8IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHwgJ09iamVjdCc7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBgJXNgIGF0dHJpYnV0ZSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIGF0dHJpYnV0ZU5hbWUsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrUHJvcFN0cmluZ0NvZXJjaW9uKHZhbHVlLCBwcm9wTmFtZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBgJXNgIHByb3AgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCBwcm9wTmFtZSwgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjaGVja0NTU1Byb3BlcnR5U3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BOYW1lKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGAlc2AgQ1NTIHByb3BlcnR5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgcHJvcE5hbWUsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gY2hlY2tIdG1sU3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQgSFRNTCBtYXJrdXAgdXNlcyBhIHZhbHVlIG9mIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdGb3JtIGZpZWxkIHZhbHVlcyAodmFsdWUsIGNoZWNrZWQsIGRlZmF1bHRWYWx1ZSwgb3IgZGVmYXVsdENoZWNrZWQgcHJvcHMpJyArICcgbXVzdCBiZSBzdHJpbmdzLCBub3QgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbnZhciBGdW5jdGlvbkNvbXBvbmVudCA9IDA7XG52YXIgQ2xhc3NDb21wb25lbnQgPSAxO1xudmFyIEluZGV0ZXJtaW5hdGVDb21wb25lbnQgPSAyOyAvLyBCZWZvcmUgd2Uga25vdyB3aGV0aGVyIGl0IGlzIGZ1bmN0aW9uIG9yIGNsYXNzXG5cbnZhciBIb3N0Um9vdCA9IDM7IC8vIFJvb3Qgb2YgYSBob3N0IHRyZWUuIENvdWxkIGJlIG5lc3RlZCBpbnNpZGUgYW5vdGhlciBub2RlLlxuXG52YXIgSG9zdFBvcnRhbCA9IDQ7IC8vIEEgc3VidHJlZS4gQ291bGQgYmUgYW4gZW50cnkgcG9pbnQgdG8gYSBkaWZmZXJlbnQgcmVuZGVyZXIuXG5cbnZhciBIb3N0Q29tcG9uZW50ID0gNTtcbnZhciBIb3N0VGV4dCA9IDY7XG52YXIgRnJhZ21lbnQgPSA3O1xudmFyIE1vZGUgPSA4O1xudmFyIENvbnRleHRDb25zdW1lciA9IDk7XG52YXIgQ29udGV4dFByb3ZpZGVyID0gMTA7XG52YXIgRm9yd2FyZFJlZiA9IDExO1xudmFyIFByb2ZpbGVyID0gMTI7XG52YXIgU3VzcGVuc2VDb21wb25lbnQgPSAxMztcbnZhciBNZW1vQ29tcG9uZW50ID0gMTQ7XG52YXIgU2ltcGxlTWVtb0NvbXBvbmVudCA9IDE1O1xudmFyIExhenlDb21wb25lbnQgPSAxNjtcbnZhciBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQgPSAxNztcbnZhciBEZWh5ZHJhdGVkRnJhZ21lbnQgPSAxODtcbnZhciBTdXNwZW5zZUxpc3RDb21wb25lbnQgPSAxOTtcbnZhciBTY29wZUNvbXBvbmVudCA9IDIxO1xudmFyIE9mZnNjcmVlbkNvbXBvbmVudCA9IDIyO1xudmFyIExlZ2FjeUhpZGRlbkNvbXBvbmVudCA9IDIzO1xudmFyIENhY2hlQ29tcG9uZW50ID0gMjQ7XG52YXIgVHJhY2luZ01hcmtlckNvbXBvbmVudCA9IDI1O1xudmFyIEhvc3RIb2lzdGFibGUgPSAyNjtcbnZhciBIb3N0U2luZ2xldG9uID0gMjc7XG5cbnZhciByYW5kb21LZXkgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtcbnZhciBpbnRlcm5hbEluc3RhbmNlS2V5ID0gJ19fcmVhY3RGaWJlciQnICsgcmFuZG9tS2V5O1xudmFyIGludGVybmFsUHJvcHNLZXkgPSAnX19yZWFjdFByb3BzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleSA9ICdfX3JlYWN0Q29udGFpbmVyJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5ID0gJ19fcmVhY3RFdmVudHMkJyArIHJhbmRvbUtleTtcbnZhciBpbnRlcm5hbEV2ZW50SGFuZGxlckxpc3RlbmVyc0tleSA9ICdfX3JlYWN0TGlzdGVuZXJzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXNTZXRLZXkgPSAnX19yZWFjdEhhbmRsZXMkJyArIHJhbmRvbUtleTtcbnZhciBpbnRlcm5hbFJvb3ROb2RlUmVzb3VyY2VzS2V5ID0gJ19fcmVhY3RSZXNvdXJjZXMkJyArIHJhbmRvbUtleTtcbnZhciBpbnRlcm5hbEhvaXN0YWJsZU1hcmtlciA9ICdfX3JlYWN0TWFya2VyJCcgKyByYW5kb21LZXk7XG5mdW5jdGlvbiBkZXRhY2hEZWxldGVkSW5zdGFuY2Uobm9kZSkge1xuICAvLyBUT0RPOiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIG9uIGhvc3QgY29tcG9uZW50cy4gSSBkb24ndCB0aGluayBhbGwgb2ZcbiAgLy8gdGhlc2UgZmllbGRzIGFyZSByZWxldmFudC5cbiAgZGVsZXRlIG5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsUHJvcHNLZXldO1xuICBkZWxldGUgbm9kZVtpbnRlcm5hbEV2ZW50SGFuZGxlcnNLZXldO1xuICBkZWxldGUgbm9kZVtpbnRlcm5hbEV2ZW50SGFuZGxlckxpc3RlbmVyc0tleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVzU2V0S2V5XTtcbn1cbmZ1bmN0aW9uIHByZWNhY2hlRmliZXJOb2RlKGhvc3RJbnN0LCBub2RlKSB7XG4gIG5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV0gPSBob3N0SW5zdDtcbn1cbmZ1bmN0aW9uIG1hcmtDb250YWluZXJBc1Jvb3QoaG9zdFJvb3QsIG5vZGUpIHtcbiAgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gIG5vZGVbaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleV0gPSBob3N0Um9vdDtcbn1cbmZ1bmN0aW9uIHVubWFya0NvbnRhaW5lckFzUm9vdChub2RlKSB7XG4gIC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuICBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzQ29udGFpbmVyTWFya2VkQXNSb290KG5vZGUpIHtcbiAgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gIHJldHVybiAhIW5vZGVbaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleV07XG59IC8vIEdpdmVuIGEgRE9NIG5vZGUsIHJldHVybiB0aGUgY2xvc2VzdCBIb3N0Q29tcG9uZW50IG9yIEhvc3RUZXh0IGZpYmVyIGFuY2VzdG9yLlxuLy8gSWYgdGhlIHRhcmdldCBub2RlIGlzIHBhcnQgb2YgYSBoeWRyYXRlZCBvciBub3QgeWV0IHJlbmRlcmVkIHN1YnRyZWUsIHRoZW5cbi8vIHRoaXMgbWF5IGFsc28gcmV0dXJuIGEgU3VzcGVuc2VDb21wb25lbnQgb3IgSG9zdFJvb3QgdG8gaW5kaWNhdGUgdGhhdC5cbi8vIENvbmNlcHR1YWxseSB0aGUgSG9zdFJvb3QgZmliZXIgaXMgYSBjaGlsZCBvZiB0aGUgQ29udGFpbmVyIG5vZGUuIFNvIGlmIHlvdVxuLy8gcGFzcyB0aGUgQ29udGFpbmVyIG5vZGUgYXMgdGhlIHRhcmdldE5vZGUsIHlvdSB3aWxsIG5vdCBhY3R1YWxseSBnZXQgdGhlXG4vLyBIb3N0Um9vdCBiYWNrLiBUbyBnZXQgdG8gdGhlIEhvc3RSb290LCB5b3UgbmVlZCB0byBwYXNzIGEgY2hpbGQgb2YgaXQuXG4vLyBUaGUgc2FtZSB0aGluZyBhcHBsaWVzIHRvIFN1c3BlbnNlIGJvdW5kYXJpZXMuXG5cbmZ1bmN0aW9uIGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKHRhcmdldE5vZGUpIHtcbiAgdmFyIHRhcmdldEluc3QgPSB0YXJnZXROb2RlW2ludGVybmFsSW5zdGFuY2VLZXldO1xuXG4gIGlmICh0YXJnZXRJbnN0KSB7XG4gICAgLy8gRG9uJ3QgcmV0dXJuIEhvc3RSb290IG9yIFN1c3BlbnNlQ29tcG9uZW50IGhlcmUuXG4gICAgcmV0dXJuIHRhcmdldEluc3Q7XG4gIH0gLy8gSWYgdGhlIGRpcmVjdCBldmVudCB0YXJnZXQgaXNuJ3QgYSBSZWFjdCBvd25lZCBET00gbm9kZSwgd2UgbmVlZCB0byBsb29rXG4gIC8vIHRvIHNlZSBpZiBvbmUgb2YgaXRzIHBhcmVudHMgaXMgYSBSZWFjdCBvd25lZCBET00gbm9kZS5cblxuXG4gIHZhciBwYXJlbnROb2RlID0gdGFyZ2V0Tm9kZS5wYXJlbnROb2RlO1xuXG4gIHdoaWxlIChwYXJlbnROb2RlKSB7XG4gICAgLy8gV2UnbGwgY2hlY2sgaWYgdGhpcyBpcyBhIGNvbnRhaW5lciByb290IHRoYXQgY291bGQgaW5jbHVkZVxuICAgIC8vIFJlYWN0IG5vZGVzIGluIHRoZSBmdXR1cmUuIFdlIG5lZWQgdG8gY2hlY2sgdGhpcyBmaXJzdCBiZWNhdXNlXG4gICAgLy8gaWYgd2UncmUgYSBjaGlsZCBvZiBhIGRlaHlkcmF0ZWQgY29udGFpbmVyLCB3ZSBuZWVkIHRvIGZpcnN0XG4gICAgLy8gZmluZCB0aGF0IGlubmVyIGNvbnRhaW5lciBiZWZvcmUgbW92aW5nIG9uIHRvIGZpbmRpbmcgdGhlIHBhcmVudFxuICAgIC8vIGluc3RhbmNlLiBOb3RlIHRoYXQgd2UgZG9uJ3QgY2hlY2sgdGhpcyBmaWVsZCBvbiAgdGhlIHRhcmdldE5vZGVcbiAgICAvLyBpdHNlbGYgYmVjYXVzZSB0aGUgZmliZXJzIGFyZSBjb25jZXB0dWFsbHkgYmV0d2VlbiB0aGUgY29udGFpbmVyXG4gICAgLy8gbm9kZSBhbmQgdGhlIGZpcnN0IGNoaWxkLiBJdCBpc24ndCBzdXJyb3VuZGluZyB0aGUgY29udGFpbmVyIG5vZGUuXG4gICAgLy8gSWYgaXQncyBub3QgYSBjb250YWluZXIsIHdlIGNoZWNrIGlmIGl0J3MgYW4gaW5zdGFuY2UuXG4gICAgdGFyZ2V0SW5zdCA9IHBhcmVudE5vZGVbaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleV0gfHwgcGFyZW50Tm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcblxuICAgIGlmICh0YXJnZXRJbnN0KSB7XG4gICAgICAvLyBTaW5jZSB0aGlzIHdhc24ndCB0aGUgZGlyZWN0IHRhcmdldCBvZiB0aGUgZXZlbnQsIHdlIG1pZ2h0IGhhdmVcbiAgICAgIC8vIHN0ZXBwZWQgcGFzdCBkZWh5ZHJhdGVkIERPTSBub2RlcyB0byBnZXQgaGVyZS4gSG93ZXZlciB0aGV5IGNvdWxkXG4gICAgICAvLyBhbHNvIGhhdmUgYmVlbiBub24tUmVhY3Qgbm9kZXMuIFdlIG5lZWQgdG8gYW5zd2VyIHdoaWNoIG9uZS5cbiAgICAgIC8vIElmIHdlIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGhhdmUgYW55IGNoaWxkcmVuLCB0aGVuIHRoZXJlIGNhbid0IGJlXG4gICAgICAvLyBhIG5lc3RlZCBzdXNwZW5zZSBib3VuZGFyeSB3aXRoaW4gaXQuIFNvIHdlIGNhbiB1c2UgdGhpcyBhcyBhIGZhc3RcbiAgICAgIC8vIGJhaWxvdXQuIE1vc3Qgb2YgdGhlIHRpbWUsIHdoZW4gcGVvcGxlIGFkZCBub24tUmVhY3QgY2hpbGRyZW4gdG9cbiAgICAgIC8vIHRoZSB0cmVlLCBpdCBpcyB1c2luZyBhIHJlZiB0byBhIGNoaWxkLWxlc3MgRE9NIG5vZGUuXG4gICAgICAvLyBOb3JtYWxseSB3ZSdkIG9ubHkgbmVlZCB0byBjaGVjayBvbmUgb2YgdGhlIGZpYmVycyBiZWNhdXNlIGlmIGl0XG4gICAgICAvLyBoYXMgZXZlciBnb25lIGZyb20gaGF2aW5nIGNoaWxkcmVuIHRvIGRlbGV0aW5nIHRoZW0gb3IgdmljZSB2ZXJzYVxuICAgICAgLy8gaXQgd291bGQgaGF2ZSBkZWxldGVkIHRoZSBkZWh5ZHJhdGVkIGJvdW5kYXJ5IG5lc3RlZCBpbnNpZGUgYWxyZWFkeS5cbiAgICAgIC8vIEhvd2V2ZXIsIHNpbmNlIHRoZSBIb3N0Um9vdCBzdGFydHMgb3V0IHdpdGggYW4gYWx0ZXJuYXRlIGl0IG1pZ2h0XG4gICAgICAvLyBoYXZlIG9uZSBvbiB0aGUgYWx0ZXJuYXRlIHNvIHdlIG5lZWQgdG8gY2hlY2sgaW4gY2FzZSB0aGlzIHdhcyBhXG4gICAgICAvLyByb290LlxuICAgICAgdmFyIGFsdGVybmF0ZSA9IHRhcmdldEluc3QuYWx0ZXJuYXRlO1xuXG4gICAgICBpZiAodGFyZ2V0SW5zdC5jaGlsZCAhPT0gbnVsbCB8fCBhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIC8vIE5leHQgd2UgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoZSBub2RlIHRoYXQgc2tpcHBlZCBwYXN0IGlzXG4gICAgICAgIC8vIG5lc3RlZCB3aXRoaW4gYSBkZWh5ZHJhdGVkIGJvdW5kYXJ5IGFuZCBpZiBzbywgd2hpY2ggb25lLlxuICAgICAgICB2YXIgc3VzcGVuc2VJbnN0YW5jZSA9IGdldFBhcmVudFN1c3BlbnNlSW5zdGFuY2UodGFyZ2V0Tm9kZSk7XG5cbiAgICAgICAgd2hpbGUgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSBmb3VuZCBhIHN1c3BlbnNlIGluc3RhbmNlLiBUaGF0IG1lYW5zIHRoYXQgd2UgaGF2ZW4ndFxuICAgICAgICAgIC8vIGh5ZHJhdGVkIGl0IHlldC4gRXZlbiB0aG91Z2ggd2UgbGVhdmUgdGhlIGNvbW1lbnRzIGluIHRoZVxuICAgICAgICAgIC8vIERPTSBhZnRlciBoeWRyYXRpbmcsIGFuZCB0aGVyZSBhcmUgYm91bmRhcmllcyBpbiB0aGUgRE9NXG4gICAgICAgICAgLy8gdGhhdCBjb3VsZCBhbHJlYWR5IGJlIGh5ZHJhdGVkLCB3ZSB3b3VsZG4ndCBoYXZlIGZvdW5kIHRoZW1cbiAgICAgICAgICAvLyB0aHJvdWdoIHRoaXMgcGFzcyBzaW5jZSBpZiB0aGUgdGFyZ2V0IGlzIGh5ZHJhdGVkIGl0IHdvdWxkXG4gICAgICAgICAgLy8gaGF2ZSBoYWQgYW4gaW50ZXJuYWxJbnN0YW5jZUtleSBvbiBpdC5cbiAgICAgICAgICAvLyBMZXQncyBnZXQgdGhlIGZpYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgU3VzcGVuc2VDb21wb25lbnRcbiAgICAgICAgICAvLyBhcyB0aGUgZGVlcGVzdCBpbnN0YW5jZS5cbiAgICAgICAgICAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgICAgICAgICB2YXIgdGFyZ2V0U3VzcGVuc2VJbnN0ID0gc3VzcGVuc2VJbnN0YW5jZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcblxuICAgICAgICAgIGlmICh0YXJnZXRTdXNwZW5zZUluc3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRTdXNwZW5zZUluc3Q7XG4gICAgICAgICAgfSAvLyBJZiB3ZSBkb24ndCBmaW5kIGEgRmliZXIgb24gdGhlIGNvbW1lbnQsIGl0IG1pZ2h0IGJlIGJlY2F1c2VcbiAgICAgICAgICAvLyB3ZSBoYXZlbid0IGdvdHRlbiB0byBoeWRyYXRlIGl0IHlldC4gVGhlcmUgbWlnaHQgc3RpbGwgYmUgYVxuICAgICAgICAgIC8vIHBhcmVudCBib3VuZGFyeSB0aGF0IGhhc24ndCBhYm92ZSB0aGlzIG9uZSBzbyB3ZSBuZWVkIHRvIGZpbmRcbiAgICAgICAgICAvLyB0aGUgb3V0ZXIgbW9zdCB0aGF0IGlzIGtub3duLlxuXG5cbiAgICAgICAgICBzdXNwZW5zZUluc3RhbmNlID0gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKTsgLy8gSWYgd2UgZG9uJ3QgZmluZCBvbmUsIHRoZW4gdGhhdCBzaG91bGQgbWVhbiB0aGF0IHRoZSBwYXJlbnRcbiAgICAgICAgICAvLyBob3N0IGNvbXBvbmVudCBhbHNvIGhhc24ndCBoeWRyYXRlZCB5ZXQuIFdlIGNhbiByZXR1cm4gaXRcbiAgICAgICAgICAvLyBiZWxvdyBzaW5jZSBpdCB3aWxsIGJhaWwgb3V0IG9uIHRoZSBpc01vdW50ZWQgY2hlY2sgbGF0ZXIuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRhcmdldEluc3Q7XG4gICAgfVxuXG4gICAgdGFyZ2V0Tm9kZSA9IHBhcmVudE5vZGU7XG4gICAgcGFyZW50Tm9kZSA9IHRhcmdldE5vZGUucGFyZW50Tm9kZTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBHaXZlbiBhIERPTSBub2RlLCByZXR1cm4gdGhlIFJlYWN0RE9NQ29tcG9uZW50IG9yIFJlYWN0RE9NVGV4dENvbXBvbmVudFxuICogaW5zdGFuY2UsIG9yIG51bGwgaWYgdGhlIG5vZGUgd2FzIG5vdCByZW5kZXJlZCBieSB0aGlzIFJlYWN0LlxuICovXG5cbmZ1bmN0aW9uIGdldEluc3RhbmNlRnJvbU5vZGUobm9kZSkge1xuICB2YXIgaW5zdCA9IG5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV0gfHwgbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XTtcblxuICBpZiAoaW5zdCkge1xuICAgIHZhciB0YWcgPSBpbnN0LnRhZztcblxuICAgIGlmICh0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgdGFnID09PSBIb3N0VGV4dCB8fCB0YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50IHx8ICh0YWcgPT09IEhvc3RIb2lzdGFibGUgKSB8fCB0YWcgPT09IEhvc3RTaW5nbGV0b24gfHwgdGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgcmV0dXJuIGluc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBHaXZlbiBhIFJlYWN0RE9NQ29tcG9uZW50IG9yIFJlYWN0RE9NVGV4dENvbXBvbmVudCwgcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nXG4gKiBET00gbm9kZS5cbiAqL1xuXG5mdW5jdGlvbiBnZXROb2RlRnJvbUluc3RhbmNlKGluc3QpIHtcbiAgdmFyIHRhZyA9IGluc3QudGFnO1xuXG4gIGlmICh0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgKHRhZyA9PT0gSG9zdEhvaXN0YWJsZSApIHx8IHRhZyA9PT0gSG9zdFNpbmdsZXRvbiB8fCB0YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgLy8gSW4gRmliZXIgdGhpcywgaXMganVzdCB0aGUgc3RhdGUgbm9kZSByaWdodCBub3cuIFdlIGFzc3VtZSBpdCB3aWxsIGJlXG4gICAgLy8gYSBob3N0IGNvbXBvbmVudCBvciBob3N0IHRleHQuXG4gICAgcmV0dXJuIGluc3Quc3RhdGVOb2RlO1xuICB9IC8vIFdpdGhvdXQgdGhpcyBmaXJzdCBpbnZhcmlhbnQsIHBhc3NpbmcgYSBub24tRE9NLWNvbXBvbmVudCB0cmlnZ2VycyB0aGUgbmV4dFxuICAvLyBpbnZhcmlhbnQgZm9yIGEgbWlzc2luZyBwYXJlbnQsIHdoaWNoIGlzIHN1cGVyIGNvbmZ1c2luZy5cblxuXG4gIHRocm93IG5ldyBFcnJvcignZ2V0Tm9kZUZyb21JbnN0YW5jZTogSW52YWxpZCBhcmd1bWVudC4nKTtcbn1cbmZ1bmN0aW9uIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZVtpbnRlcm5hbFByb3BzS2V5XSB8fCBudWxsO1xufVxuZnVuY3Rpb24gdXBkYXRlRmliZXJQcm9wcyhub2RlLCBwcm9wcykge1xuICBub2RlW2ludGVybmFsUHJvcHNLZXldID0gcHJvcHM7XG59XG5mdW5jdGlvbiBnZXRFdmVudExpc3RlbmVyU2V0KG5vZGUpIHtcbiAgdmFyIGVsZW1lbnRMaXN0ZW5lclNldCA9IG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5XTtcblxuICBpZiAoZWxlbWVudExpc3RlbmVyU2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICBlbGVtZW50TGlzdGVuZXJTZXQgPSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyc0tleV0gPSBuZXcgU2V0KCk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudExpc3RlbmVyU2V0O1xufVxuZnVuY3Rpb24gZ2V0UmVzb3VyY2VzRnJvbVJvb3Qocm9vdCkge1xuICB2YXIgcmVzb3VyY2VzID0gcm9vdFtpbnRlcm5hbFJvb3ROb2RlUmVzb3VyY2VzS2V5XTtcblxuICBpZiAoIXJlc291cmNlcykge1xuICAgIHJlc291cmNlcyA9IHJvb3RbaW50ZXJuYWxSb290Tm9kZVJlc291cmNlc0tleV0gPSB7XG4gICAgICBob2lzdGFibGVTdHlsZXM6IG5ldyBNYXAoKSxcbiAgICAgIGhvaXN0YWJsZVNjcmlwdHM6IG5ldyBNYXAoKVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gcmVzb3VyY2VzO1xufVxuZnVuY3Rpb24gaXNNYXJrZWRIb2lzdGFibGUobm9kZSkge1xuICByZXR1cm4gISFub2RlW2ludGVybmFsSG9pc3RhYmxlTWFya2VyXTtcbn1cbmZ1bmN0aW9uIG1hcmtOb2RlQXNIb2lzdGFibGUobm9kZSkge1xuICBub2RlW2ludGVybmFsSG9pc3RhYmxlTWFya2VyXSA9IHRydWU7XG59XG5mdW5jdGlvbiBpc093bmVkSW5zdGFuY2Uobm9kZSkge1xuICByZXR1cm4gISEobm9kZVtpbnRlcm5hbEhvaXN0YWJsZU1hcmtlcl0gfHwgbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSk7XG59XG5cbnZhciBhbGxOYXRpdmVFdmVudHMgPSBuZXcgU2V0KCk7XG4vKipcbiAqIE1hcHBpbmcgZnJvbSByZWdpc3RyYXRpb24gbmFtZSB0byBldmVudCBuYW1lXG4gKi9cblxuXG52YXIgcmVnaXN0cmF0aW9uTmFtZURlcGVuZGVuY2llcyA9IHt9O1xuLyoqXG4gKiBNYXBwaW5nIGZyb20gbG93ZXJjYXNlIHJlZ2lzdHJhdGlvbiBuYW1lcyB0byB0aGUgcHJvcGVybHkgY2FzZWQgdmVyc2lvbixcbiAqIHVzZWQgdG8gd2FybiBpbiB0aGUgY2FzZSBvZiBtaXNzaW5nIGV2ZW50IGhhbmRsZXJzLiBBdmFpbGFibGVcbiAqIG9ubHkgaW4gX19ERVZfXy5cbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cblxudmFyIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMgPSB7fSA7IC8vIFRydXN0IHRoZSBkZXZlbG9wZXIgdG8gb25seSB1c2UgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyBpbiB0cnVlXG5cbmZ1bmN0aW9uIHJlZ2lzdGVyVHdvUGhhc2VFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpIHtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUgKyAnQ2FwdHVyZScsIGRlcGVuZGVuY2llcyk7XG59XG5mdW5jdGlvbiByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUsIGRlcGVuZGVuY2llcykge1xuICB7XG4gICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0pIHtcbiAgICAgIGVycm9yKCdFdmVudFJlZ2lzdHJ5OiBNb3JlIHRoYW4gb25lIHBsdWdpbiBhdHRlbXB0ZWQgdG8gcHVibGlzaCB0aGUgc2FtZSAnICsgJ3JlZ2lzdHJhdGlvbiBuYW1lLCBgJXNgLicsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0gPSBkZXBlbmRlbmNpZXM7XG5cbiAge1xuICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IHJlZ2lzdHJhdGlvbk5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzW2xvd2VyQ2FzZWROYW1lXSA9IHJlZ2lzdHJhdGlvbk5hbWU7XG5cbiAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSA9PT0gJ29uRG91YmxlQ2xpY2snKSB7XG4gICAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzLm9uZGJsY2xpY2sgPSByZWdpc3RyYXRpb25OYW1lO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZGVwZW5kZW5jaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgYWxsTmF0aXZlRXZlbnRzLmFkZChkZXBlbmRlbmNpZXNbaV0pO1xuICB9XG59XG5cbnZhciBjYW5Vc2VET00gPSAhISh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgIT09ICd1bmRlZmluZWQnKTtcblxudmFyIGhhc1JlYWRPbmx5VmFsdWUgPSB7XG4gIGJ1dHRvbjogdHJ1ZSxcbiAgY2hlY2tib3g6IHRydWUsXG4gIGltYWdlOiB0cnVlLFxuICBoaWRkZW46IHRydWUsXG4gIHJhZGlvOiB0cnVlLFxuICByZXNldDogdHJ1ZSxcbiAgc3VibWl0OiB0cnVlXG59O1xuZnVuY3Rpb24gY2hlY2tDb250cm9sbGVkVmFsdWVQcm9wcyh0YWdOYW1lLCBwcm9wcykge1xuICB7XG4gICAgaWYgKCEoaGFzUmVhZE9ubHlWYWx1ZVtwcm9wcy50eXBlXSB8fCBwcm9wcy5vbkNoYW5nZSB8fCBwcm9wcy5vbklucHV0IHx8IHByb3BzLnJlYWRPbmx5IHx8IHByb3BzLmRpc2FibGVkIHx8IHByb3BzLnZhbHVlID09IG51bGwpKSB7XG4gICAgICBpZiAodGFnTmFtZSA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGB2YWx1ZWAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0VmFsdWVgLiBPdGhlcndpc2UsIHNldCBgb25DaGFuZ2VgLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGB2YWx1ZWAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0VmFsdWVgLiBPdGhlcndpc2UsIHNldCBlaXRoZXIgYG9uQ2hhbmdlYCBvciBgcmVhZE9ubHlgLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghKHByb3BzLm9uQ2hhbmdlIHx8IHByb3BzLnJlYWRPbmx5IHx8IHByb3BzLmRpc2FibGVkIHx8IHByb3BzLmNoZWNrZWQgPT0gbnVsbCkpIHtcbiAgICAgIGVycm9yKCdZb3UgcHJvdmlkZWQgYSBgY2hlY2tlZGAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0Q2hlY2tlZGAuIE90aGVyd2lzZSwgJyArICdzZXQgZWl0aGVyIGBvbkNoYW5nZWAgb3IgYHJlYWRPbmx5YC4nKTtcbiAgICB9XG4gIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuXG52YXIgQVRUUklCVVRFX05BTUVfU1RBUlRfQ0hBUiA9IFwiOkEtWl9hLXpcXFxcdTAwQzAtXFxcXHUwMEQ2XFxcXHUwMEQ4LVxcXFx1MDBGNlxcXFx1MDBGOC1cXFxcdTAyRkZcXFxcdTAzNzAtXFxcXHUwMzdEXFxcXHUwMzdGLVxcXFx1MUZGRlxcXFx1MjAwQy1cXFxcdTIwMERcXFxcdTIwNzAtXFxcXHUyMThGXFxcXHUyQzAwLVxcXFx1MkZFRlxcXFx1MzAwMS1cXFxcdUQ3RkZcXFxcdUY5MDAtXFxcXHVGRENGXFxcXHVGREYwLVxcXFx1RkZGRFwiO1xuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuICovXG5cbnZhciBBVFRSSUJVVEVfTkFNRV9DSEFSID0gQVRUUklCVVRFX05BTUVfU1RBUlRfQ0hBUiArIFwiXFxcXC0uMC05XFxcXHUwMEI3XFxcXHUwMzAwLVxcXFx1MDM2RlxcXFx1MjAzRi1cXFxcdTIwNDBcIjtcbnZhciBWQUxJRF9BVFRSSUJVVEVfTkFNRV9SRUdFWCA9IG5ldyBSZWdFeHAoJ15bJyArIEFUVFJJQlVURV9OQU1FX1NUQVJUX0NIQVIgKyAnXVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbnZhciBpbGxlZ2FsQXR0cmlidXRlTmFtZUNhY2hlID0ge307XG52YXIgdmFsaWRhdGVkQXR0cmlidXRlTmFtZUNhY2hlID0ge307XG5mdW5jdGlvbiBpc0F0dHJpYnV0ZU5hbWVTYWZlKGF0dHJpYnV0ZU5hbWUpIHtcbiAgaWYgKGhhc093blByb3BlcnR5LmNhbGwodmFsaWRhdGVkQXR0cmlidXRlTmFtZUNhY2hlLCBhdHRyaWJ1dGVOYW1lKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoaWxsZWdhbEF0dHJpYnV0ZU5hbWVDYWNoZSwgYXR0cmlidXRlTmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoVkFMSURfQVRUUklCVVRFX05BTUVfUkVHRVgudGVzdChhdHRyaWJ1dGVOYW1lKSkge1xuICAgIHZhbGlkYXRlZEF0dHJpYnV0ZU5hbWVDYWNoZVthdHRyaWJ1dGVOYW1lXSA9IHRydWU7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpbGxlZ2FsQXR0cmlidXRlTmFtZUNhY2hlW2F0dHJpYnV0ZU5hbWVdID0gdHJ1ZTtcblxuICB7XG4gICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIG5hbWU6IGAlc2AnLCBhdHRyaWJ1dGVOYW1lKTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIGF0dHJpYnV0ZSBvbiBhIG5vZGUuIE9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxuICogVGhlIHRoaXJkIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLiBTb21lXG4gKiBhdHRyaWJ1dGVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0VmFsdWVGb3JBdHRyaWJ1dGUobm9kZSwgbmFtZSwgZXhwZWN0ZWQpIHtcbiAge1xuICAgIGlmICghaXNBdHRyaWJ1dGVOYW1lU2FmZShuYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghbm9kZS5oYXNBdHRyaWJ1dGUobmFtZSkpIHtcbiAgICAgIC8vIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVxuICAgICAgc3dpdGNoICh0eXBlb2YgZXhwZWN0ZWQpIHtcbiAgICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG5cbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHByZWZpeCA9IG5hbWUudG9Mb3dlckNhc2UoKS5zbGljZSgwLCA1KTtcblxuICAgICAgICAgICAgaWYgKHByZWZpeCAhPT0gJ2RhdGEtJyAmJiBwcmVmaXggIT09ICdhcmlhLScpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGV4cGVjdGVkID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBudWxsO1xuICAgIH1cblxuICAgIHZhciB2YWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKG5hbWUpO1xuXG4gICAge1xuICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbihleHBlY3RlZCwgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG5mdW5jdGlvbiBnZXRWYWx1ZUZvckF0dHJpYnV0ZU9uQ3VzdG9tQ29tcG9uZW50KG5vZGUsIG5hbWUsIGV4cGVjdGVkKSB7XG4gIHtcbiAgICBpZiAoIWlzQXR0cmlidXRlTmFtZVNhZmUobmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIW5vZGUuaGFzQXR0cmlidXRlKG5hbWUpKSB7XG4gICAgICAvLyBzaG91bGRSZW1vdmVBdHRyaWJ1dGVcbiAgICAgIHN3aXRjaCAodHlwZW9mIGV4cGVjdGVkKSB7XG4gICAgICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgICAgLy8gU3ltYm9scyBhbmQgb2JqZWN0cyBhcmUgaWdub3JlZCB3aGVuIHRoZXkncmUgZW1pdHRlZCBzb1xuICAgICAgICAgIC8vIGl0IHdvdWxkIGJlIGV4cGVjdGVkIHRoYXQgdGhleSBlbmQgdXAgbm90IGhhdmluZyBhbiBhdHRyaWJ1dGUuXG4gICAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xuXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBleHBlY3RlZCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgdmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShuYW1lKTtcblxuICAgIHtcbiAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24oZXhwZWN0ZWQsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA9PT0gJycgKyBleHBlY3RlZCkge1xuICAgICAgcmV0dXJuIGV4cGVjdGVkO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuZnVuY3Rpb24gc2V0VmFsdWVGb3JBdHRyaWJ1dGUobm9kZSwgbmFtZSwgdmFsdWUpIHtcbiAgaWYgKGlzQXR0cmlidXRlTmFtZVNhZmUobmFtZSkpIHtcbiAgICAvLyBJZiB0aGUgcHJvcCBpc24ndCBpbiB0aGUgc3BlY2lhbCBsaXN0LCB0cmVhdCBpdCBhcyBhIHNpbXBsZSBhdHRyaWJ1dGUuXG4gICAgLy8gc2hvdWxkUmVtb3ZlQXR0cmlidXRlXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgICAgIHJldHVybjtcblxuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgcHJlZml4ID0gbmFtZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsIDUpO1xuXG4gICAgICAgICAgaWYgKHByZWZpeCAhPT0gJ2RhdGEtJyAmJiBwcmVmaXggIT09ICdhcmlhLScpIHtcbiAgICAgICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHtcbiAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24odmFsdWUsIG5hbWUpO1xuICAgIH1cblxuICAgIG5vZGUuc2V0QXR0cmlidXRlKG5hbWUsICcnICsgdmFsdWUpO1xuICB9XG59XG5mdW5jdGlvbiBzZXRWYWx1ZUZvcktub3duQXR0cmlidXRlKG5vZGUsIG5hbWUsIHZhbHVlKSB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgY2FzZSAnc3ltYm9sJzpcbiAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIHtcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgfVxuXG4gIHtcbiAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKHZhbHVlLCBuYW1lKTtcbiAgfVxuXG4gIG5vZGUuc2V0QXR0cmlidXRlKG5hbWUsICcnICsgdmFsdWUpO1xufVxuZnVuY3Rpb24gc2V0VmFsdWVGb3JOYW1lc3BhY2VkQXR0cmlidXRlKG5vZGUsIG5hbWVzcGFjZSwgbmFtZSwgdmFsdWUpIHtcbiAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICBjYXNlICdzeW1ib2wnOlxuICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAge1xuICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG5cbiAge1xuICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24odmFsdWUsIG5hbWUpO1xuICB9XG5cbiAgbm9kZS5zZXRBdHRyaWJ1dGVOUyhuYW1lc3BhY2UsIG5hbWUsICcnICsgdmFsdWUpO1xufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjtcbnZhciBwcmVmaXg7XG5mdW5jdGlvbiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRGVidWdJbmZvRnJhbWUobmFtZSwgZW52KSB7XG4gIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lICsgKGVudiA/ICcgKCcgKyBlbnYgKyAnKScgOiAnJykpO1xufVxudmFyIHJlZW50cnkgPSBmYWxzZTtcbnZhciBjb21wb25lbnRGcmFtZUNhY2hlO1xuXG57XG4gIHZhciBQb3NzaWJseVdlYWtNYXAkMSA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAkMSgpO1xufVxuLyoqXG4gKiBMZXZlcmFnZXMgbmF0aXZlIGJyb3dzZXIvVk0gc3RhY2sgZnJhbWVzIHRvIGdldCBwcm9wZXIgZGV0YWlscyAoZS5nLlxuICogZmlsZW5hbWUsIGxpbmUgKyBjb2wgbnVtYmVyKSBmb3IgYSBzaW5nbGUgY29tcG9uZW50IGluIGEgY29tcG9uZW50IHN0YWNrLiBXZVxuICogZG8gdGhpcyBieTpcbiAqICAgKDEpIHRocm93aW5nIGFuZCBjYXRjaGluZyBhbiBlcnJvciBpbiB0aGUgZnVuY3Rpb24gLSB0aGlzIHdpbGwgYmUgb3VyXG4gKiAgICAgICBjb250cm9sIGVycm9yLlxuICogICAoMikgY2FsbGluZyB0aGUgY29tcG9uZW50IHdoaWNoIHdpbGwgZXZlbnR1YWxseSB0aHJvdyBhbiBlcnJvciB0aGF0IHdlJ2xsXG4gKiAgICAgICBjYXRjaCAtIHRoaXMgd2lsbCBiZSBvdXIgc2FtcGxlIGVycm9yLlxuICogICAoMykgZGlmZmluZyB0aGUgY29udHJvbCBhbmQgc2FtcGxlIGVycm9yIHN0YWNrcyB0byBmaW5kIHRoZSBzdGFjayBmcmFtZVxuICogICAgICAgd2hpY2ggcmVwcmVzZW50cyBvdXIgY29tcG9uZW50LlxuICovXG5cblxuZnVuY3Rpb24gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgY29uc3RydWN0KSB7XG4gIC8vIElmIHNvbWV0aGluZyBhc2tlZCBmb3IgYSBzdGFjayBpbnNpZGUgYSBmYWtlIHJlbmRlciwgaXQgc2hvdWxkIGdldCBpZ25vcmVkLlxuICBpZiAoIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICByZWVudHJ5ID0gdHJ1ZTtcbiAgdmFyIHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2UgPSBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZTsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV0gSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDIuY3VycmVudDsgLy8gU2V0IHRoZSBkaXNwYXRjaGVyIGluIERFViBiZWNhdXNlIHRoaXMgbWlnaHQgYmUgY2FsbCBpbiB0aGUgcmVuZGVyIGZ1bmN0aW9uXG4gICAgLy8gZm9yIHdhcm5pbmdzLlxuXG4gICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cbiAgLyoqXG4gICAqIEZpbmRpbmcgYSBjb21tb24gc3RhY2sgZnJhbWUgYmV0d2VlbiBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGNhbiBiZVxuICAgKiB0cmlja3kgZ2l2ZW4gdGhlIGRpZmZlcmVudCB0eXBlcyBhbmQgbGV2ZWxzIG9mIHN0YWNrIHRyYWNlIHRydW5jYXRpb24gZnJvbVxuICAgKiBkaWZmZXJlbnQgSlMgVk1zLiBTbyBpbnN0ZWFkIHdlJ2xsIGF0dGVtcHQgdG8gY29udHJvbCB3aGF0IHRoYXQgY29tbW9uXG4gICAqIGZyYW1lIHNob3VsZCBiZSB0aHJvdWdoIHRoaXMgb2JqZWN0IG1ldGhvZDpcbiAgICogSGF2aW5nIGJvdGggdGhlIHNhbXBsZSBhbmQgY29udHJvbCBlcnJvcnMgYmUgaW4gdGhlIGZ1bmN0aW9uIHVuZGVyIHRoZVxuICAgKiBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIHByb3BlcnR5LCArIHNldHRpbmcgdGhlIGBuYW1lYCBhbmRcbiAgICogYGRpc3BsYXlOYW1lYCBwcm9wZXJ0aWVzIG9mIHRoZSBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYSBzdGFja1xuICAgKiBmcmFtZSBleGlzdHMgdGhhdCBoYXMgdGhlIG1ldGhvZCBuYW1lIGBEZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lUm9vdGAgaW5cbiAgICogaXQgZm9yIGJvdGggY29udHJvbCBhbmQgc2FtcGxlIHN0YWNrcy5cbiAgICovXG5cblxuICB2YXIgUnVuSW5Sb290RnJhbWUgPSB7XG4gICAgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290OiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgY29udHJvbDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgICAgICAvLyBTb21ldGhpbmcgc2hvdWxkIGJlIHNldHRpbmcgdGhlIHByb3BzIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGYWtlLnByb3RvdHlwZSwgJ3Byb3BzJywge1xuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHdvbid0IHRocm93IGluIGEgbm9uLXN0cmljdCBtb2RlIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAgICAgLy8gZnJhbWVzIGFkZGVkIGJ5IHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KGZuLCBbXSwgRmFrZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIEZha2UuY2FsbCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICAgICAgICBmbi5jYWxsKEZha2UucHJvdG90eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgfSAvLyBUT0RPKGx1bmEpOiBUaGlzIHdpbGwgY3VycmVudGx5IG9ubHkgdGhyb3cgaWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgICAgICAgIC8vIHRyaWVzIHRvIGFjY2VzcyBSZWFjdC9SZWFjdERPTS9wcm9wcy4gV2Ugc2hvdWxkIHByb2JhYmx5IG1ha2UgdGhpcyB0aHJvd1xuICAgICAgICAgIC8vIGluIHNpbXBsZSBjb21wb25lbnRzIHRvb1xuXG5cbiAgICAgICAgICB2YXIgbWF5YmVQcm9taXNlID0gZm4oKTsgLy8gSWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudCByZXR1cm5zIGEgcHJvbWlzZSwgaXQncyBsaWtlbHkgYW4gYXN5bmNcbiAgICAgICAgICAvLyBjb21wb25lbnQsIHdoaWNoIHdlIGRvbid0IHlldCBzdXBwb3J0LiBBdHRhY2ggYSBub29wIGNhdGNoIGhhbmRsZXIgdG9cbiAgICAgICAgICAvLyBzaWxlbmNlIHRoZSBlcnJvci5cbiAgICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgY29tcG9uZW50IHN0YWNrcyBmb3IgYXN5bmMgY2xpZW50IGNvbXBvbmVudHM/XG5cbiAgICAgICAgICBpZiAobWF5YmVQcm9taXNlICYmIHR5cGVvZiBtYXliZVByb21pc2UuY2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1heWJlUHJvbWlzZS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChzYW1wbGUpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICAgICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIFtzYW1wbGUuc3RhY2ssIGNvbnRyb2wuc3RhY2tdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuICB9OyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuICBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWUgPSAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JztcbiAgdmFyIG5hbWVQcm9wRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCAnbmFtZScpOyAvLyBCZWZvcmUgRVM2LCB0aGUgYG5hbWVgIHByb3BlcnR5IHdhcyBub3QgY29uZmlndXJhYmxlLlxuXG4gIGlmIChuYW1lUHJvcERlc2NyaXB0b3IgJiYgbmFtZVByb3BEZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIC8vIFY4IHV0aWxpemVzIGEgZnVuY3Rpb24ncyBgbmFtZWAgcHJvcGVydHkgd2hlbiBnZW5lcmF0aW5nIGEgc3RhY2sgdHJhY2UuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgLy8gQ29uZmlndXJhYmxlIHByb3BlcnRpZXMgY2FuIGJlIHVwZGF0ZWQgZXZlbiBpZiBpdHMgd3JpdGFibGUgZGVzY3JpcHRvclxuICAgIC8vIGlzIHNldCB0byBgZmFsc2VgLlxuICAgIC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXVxuICAgICduYW1lJywge1xuICAgICAgdmFsdWU6ICdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnXG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIHZhciBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPSBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxcbiAgICAgICAgc2FtcGxlU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMF0sXG4gICAgICAgIGNvbnRyb2xTdGFjayA9IF9SdW5JblJvb3RGcmFtZSREZXRlclsxXTtcblxuICAgIGlmIChzYW1wbGVTdGFjayAmJiBjb250cm9sU3RhY2spIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZVN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBjb250cm9sTGluZXMgPSBjb250cm9sU3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgdmFyIGMgPSAwO1xuXG4gICAgICB3aGlsZSAocyA8IHNhbXBsZUxpbmVzLmxlbmd0aCAmJiAhc2FtcGxlTGluZXNbc10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIHMrKztcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKGMgPCBjb250cm9sTGluZXMubGVuZ3RoICYmICFjb250cm9sTGluZXNbY10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIGMrKztcbiAgICAgIH0gLy8gV2UgY291bGRuJ3QgZmluZCBvdXIgaW50ZW50aW9uYWxseSBpbmplY3RlZCBjb21tb24gcm9vdCBmcmFtZSwgYXR0ZW1wdFxuICAgICAgLy8gdG8gZmluZCBhbm90aGVyIGNvbW1vbiByb290IGZyYW1lIGJ5IHNlYXJjaCBmcm9tIHRoZSBib3R0b20gb2YgdGhlXG4gICAgICAvLyBjb250cm9sIHN0YWNrLi4uXG5cblxuICAgICAgaWYgKHMgPT09IHNhbXBsZUxpbmVzLmxlbmd0aCB8fCBjID09PSBjb250cm9sTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgICBjID0gY29udHJvbExpbmVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAgIC8vIFR5cGljYWxseSB0aGlzIHdpbGwgYmUgdGhlIHJvb3QgbW9zdCBvbmUuIEhvd2V2ZXIsIHN0YWNrIGZyYW1lcyBtYXkgYmVcbiAgICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYW5kIHRoZXJlIGZvciBjdXQgb2ZmIGVhcmxpZXIuIFNvIHdlIHNob3VsZCBmaW5kIHRoZSByb290IG1vc3QgZnJhbWUgaW5cbiAgICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgICBjLS07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICg7IHMgPj0gMSAmJiBjID49IDA7IHMtLSwgYy0tKSB7XG4gICAgICAgIC8vIE5leHQgd2UgZmluZCB0aGUgZmlyc3Qgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgd2hpY2ggc2hvdWxkIGJlIHRoZVxuICAgICAgICAvLyBmcmFtZSB0aGF0IGNhbGxlZCBvdXIgc2FtcGxlIGZ1bmN0aW9uIGFuZCB0aGUgY29udHJvbC5cbiAgICAgICAgaWYgKHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBJbiBWOCwgdGhlIGZpcnN0IGxpbmUgaXMgZGVzY3JpYmluZyB0aGUgbWVzc2FnZSBidXQgb3RoZXIgVk1zIGRvbid0LlxuICAgICAgICAgIC8vIElmIHdlJ3JlIGFib3V0IHRvIHJldHVybiB0aGUgZmlyc3QgbGluZSwgYW5kIHRoZSBjb250cm9sIGlzIGFsc28gb24gdGhlIHNhbWVcbiAgICAgICAgICAvLyBsaW5lLCB0aGF0J3MgYSBwcmV0dHkgZ29vZCBpbmRpY2F0b3IgdGhhdCBvdXIgc2FtcGxlIHRocmV3IGF0IHNhbWUgbGluZSBhc1xuICAgICAgICAgIC8vIHRoZSBjb250cm9sLiBJLmUuIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSBzYW1wbGUgZnJhbWUuIFNvIHdlIGlnbm9yZSB0aGlzIHJlc3VsdC5cbiAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgeW91IHBhc3NlZCBhIGNsYXNzIHRvIGZ1bmN0aW9uIGNvbXBvbmVudCwgb3Igbm9uLWZ1bmN0aW9uLlxuICAgICAgICAgIGlmIChzICE9PSAxIHx8IGMgIT09IDEpIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgcy0tO1xuICAgICAgICAgICAgICBjLS07IC8vIFdlIG1heSBzdGlsbCBoYXZlIHNpbWlsYXIgaW50ZXJtZWRpYXRlIGZyYW1lcyBmcm9tIHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgICAgLy8gVGhlIG5leHQgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgc2hvdWxkIGJlIG91ciBtYXRjaCB0aG91Z2guXG5cbiAgICAgICAgICAgICAgaWYgKGMgPCAwIHx8IHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAgICAgICAvLyBWOCBhZGRzIGEgXCJuZXdcIiBwcmVmaXggZm9yIG5hdGl2ZSBjbGFzc2VzLiBMZXQncyByZW1vdmUgaXQgdG8gbWFrZSBpdCBwcmV0dGllci5cbiAgICAgICAgICAgICAgICB2YXIgX2ZyYW1lID0gJ1xcbicgKyBzYW1wbGVMaW5lc1tzXS5yZXBsYWNlKCcgYXQgbmV3ICcsICcgYXQgJyk7IC8vIElmIG91ciBjb21wb25lbnQgZnJhbWUgaXMgbGFiZWxlZCBcIjxhbm9ueW1vdXM+XCJcbiAgICAgICAgICAgICAgICAvLyBidXQgd2UgaGF2ZSBhIHVzZXItcHJvdmlkZWQgXCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgICAgLy8gc3BsaWNlIGl0IGluIHRvIG1ha2UgdGhlIHN0YWNrIG1vcmUgcmVhZGFibGUuXG5cblxuICAgICAgICAgICAgICAgIGlmIChmbi5kaXNwbGF5TmFtZSAmJiBfZnJhbWUuaW5jbHVkZXMoJzxhbm9ueW1vdXM+JykpIHtcbiAgICAgICAgICAgICAgICAgIF9mcmFtZSA9IF9mcmFtZS5yZXBsYWNlKCc8YW5vbnltb3VzPicsIGZuLmRpc3BsYXlOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQyLmN1cnJlbnQgPSBwcmV2aW91c0Rpc3BhdGNoZXI7XG4gICAgICByZWVuYWJsZUxvZ3MoKTtcbiAgICB9XG5cbiAgICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2U7XG4gIH0gLy8gRmFsbGJhY2sgdG8ganVzdCB1c2luZyB0aGUgbmFtZSBpZiB3ZSBjb3VsZG4ndCBtYWtlIGl0IHRocm93LlxuXG5cbiAgdmFyIG5hbWUgPSBmbiA/IGZuLmRpc3BsYXlOYW1lIHx8IGZuLm5hbWUgOiAnJztcbiAgdmFyIHN5bnRoZXRpY0ZyYW1lID0gbmFtZSA/IGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUpIDogJyc7XG5cbiAge1xuICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbXBvbmVudEZyYW1lQ2FjaGUuc2V0KGZuLCBzeW50aGV0aWNGcmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN5bnRoZXRpY0ZyYW1lO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZUNsYXNzQ29tcG9uZW50RnJhbWUoY3Rvciwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoY3RvciwgdHJ1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZXNjcmliZUZpYmVyKGZpYmVyKSB7XG5cbiAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RIb2lzdGFibGU6XG4gICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShmaWJlci50eXBlKTtcblxuICAgIGNhc2UgTGF6eUNvbXBvbmVudDpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnTGF6eScpO1xuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcblxuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBJbmRldGVybWluYXRlQ29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZmliZXIudHlwZSk7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKGZpYmVyLnR5cGUucmVuZGVyKTtcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICByZXR1cm4gZGVzY3JpYmVDbGFzc0NvbXBvbmVudEZyYW1lKGZpYmVyLnR5cGUpO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnJztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2Qod29ya0luUHJvZ3Jlc3MpIHtcbiAgdHJ5IHtcbiAgICB2YXIgaW5mbyA9ICcnO1xuICAgIHZhciBub2RlID0gd29ya0luUHJvZ3Jlc3M7XG5cbiAgICBkbyB7XG4gICAgICBpbmZvICs9IGRlc2NyaWJlRmliZXIobm9kZSk7XG5cbiAgICAgIGlmICh0cnVlKSB7XG4gICAgICAgIC8vIEFkZCBhbnkgU2VydmVyIENvbXBvbmVudCBzdGFjayBmcmFtZXMgaW4gcmV2ZXJzZSBvcmRlci5cbiAgICAgICAgdmFyIGRlYnVnSW5mbyA9IG5vZGUuX2RlYnVnSW5mbztcblxuICAgICAgICBpZiAoZGVidWdJbmZvKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IGRlYnVnSW5mby5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgdmFyIGVudHJ5ID0gZGVidWdJbmZvW2ldO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGVudHJ5Lm5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gZGVzY3JpYmVEZWJ1Z0luZm9GcmFtZShlbnRyeS5uYW1lLCBlbnRyeS5lbnYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXSB3ZSBiYWlsIG91dCB3aGVuIHdlIGdldCBhIG51bGxcblxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfSB3aGlsZSAobm9kZSk7XG5cbiAgICByZXR1cm4gaW5mbztcbiAgfSBjYXRjaCAoeCkge1xuICAgIHJldHVybiAnXFxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogJyArIHgubWVzc2FnZSArICdcXG4nICsgeC5zdGFjaztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZSQxKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUkMSh0eXBlKSB7XG4gIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8ICdDb250ZXh0Jztcbn1cblxudmFyIFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UgPSBTeW1ib2wuZm9yKCdyZWFjdC5jbGllbnQucmVmZXJlbmNlJyk7IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UpIHtcbiAgICAgIC8vIFRPRE86IENyZWF0ZSBhIGNvbnZlbnRpb24gZm9yIG5hbWluZyBjbGllbnQgcmVmZXJlbmNlcyB3aXRoIGRlYnVnIGluZm8uXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgIHJldHVybiAnRnJhZ21lbnQnO1xuXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgIHJldHVybiAnUG9ydGFsJztcblxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgIHJldHVybiAnUHJvZmlsZXInO1xuXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG5cbiAgICBjYXNlIFJFQUNUX0NBQ0hFX1RZUEU6XG4gICAgICB7XG4gICAgICAgIHJldHVybiAnQ2FjaGUnO1xuICAgICAgfVxuXG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAge1xuICAgICAgaWYgKHR5cGVvZiB0eXBlLnRhZyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgZXJyb3IoJ1JlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiAnICsgJ1RoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwcm92aWRlciA9IHR5cGU7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lJDEocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcblxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lJDEoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFJFQUNUX0NPTlNVTUVSX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSQxKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgdmFyIG91dGVyTmFtZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbDtcblxuICAgICAgICBpZiAob3V0ZXJOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG91dGVyTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnTWVtbyc7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShpbml0KHBheWxvYWQpKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gZ2V0V3JhcHBlZE5hbWUob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBvdXRlclR5cGUuZGlzcGxheU5hbWUgfHwgKGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZSk7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHNoYXJlZC9nZXRDb21wb25lbnROYW1lRnJvbVR5cGVcblxuXG5mdW5jdGlvbiBnZXRDb250ZXh0TmFtZSh0eXBlKSB7XG4gIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8ICdDb250ZXh0Jztcbn1cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikge1xuICB2YXIgdGFnID0gZmliZXIudGFnLFxuICAgICAgdHlwZSA9IGZpYmVyLnR5cGU7XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuICdDYWNoZSc7XG5cbiAgICBjYXNlIENvbnRleHRDb25zdW1lcjpcbiAgICAgIHtcbiAgICAgICAgdmFyIGNvbnRleHQgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcbiAgICAgIH1cblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAge1xuICAgICAgICB2YXIgcHJvdmlkZXIgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG4gICAgICB9XG5cbiAgICBjYXNlIERlaHlkcmF0ZWRGcmFnbWVudDpcbiAgICAgIHJldHVybiAnRGVoeWRyYXRlZEZyYWdtZW50JztcblxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgIGNhc2UgRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgSG9zdEhvaXN0YWJsZTpcbiAgICBjYXNlIEhvc3RTaW5nbGV0b246XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgLy8gSG9zdCBjb21wb25lbnQgdHlwZSBpcyB0aGUgZGlzcGxheSBuYW1lIChlLmcuIFwiZGl2XCIsIFwiVmlld1wiKVxuICAgICAgcmV0dXJuIHR5cGU7XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAgcmV0dXJuICdSb290JztcblxuICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICByZXR1cm4gJ1RleHQnO1xuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAgLy8gTmFtZSBjb21lcyBmcm9tIHRoZSB0eXBlIGluIHRoaXMgY2FzZTsgd2UgZG9uJ3QgaGF2ZSBhIHRhZy5cbiAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSk7XG5cbiAgICBjYXNlIE1vZGU6XG4gICAgICBpZiAodHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSkge1xuICAgICAgICAvLyBEb24ndCBiZSBsZXNzIHNwZWNpZmljIHRoYW4gc2hhcmVkL2dldENvbXBvbmVudE5hbWVGcm9tVHlwZVxuICAgICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ01vZGUnO1xuXG4gICAgY2FzZSBPZmZzY3JlZW5Db21wb25lbnQ6XG4gICAgICByZXR1cm4gJ09mZnNjcmVlbic7XG5cbiAgICBjYXNlIFByb2ZpbGVyOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuICdTY29wZSc7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICAgIGNhc2UgVHJhY2luZ01hcmtlckNvbXBvbmVudDpcbiAgICAgIHJldHVybiAnVHJhY2luZ01hcmtlcic7XG4gICAgLy8gVGhlIGRpc3BsYXkgbmFtZSBmb3IgdGhpcyB0YWdzIGNvbWUgZnJvbSB0aGUgdXNlci1wcm92aWRlZCB0eXBlOlxuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxuICAgIGNhc2UgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcblxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbnZhciBjdXJyZW50ID0gbnVsbDtcbnZhciBpc1JlbmRlcmluZyA9IGZhbHNlO1xuZnVuY3Rpb24gZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKSB7XG4gIHtcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdmFyIG93bmVyID0gY3VycmVudC5fZGVidWdPd25lcjtcblxuICAgIGlmIChvd25lciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3duZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihvd25lcik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYoKSB7XG4gIHtcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH0gLy8gU2FmZSBiZWNhdXNlIGlmIGN1cnJlbnQgZmliZXIgZXhpc3RzLCB3ZSBhcmUgcmVjb25jaWxpbmcsXG4gICAgLy8gYW5kIGl0IGlzIGd1YXJhbnRlZWQgdG8gYmUgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgdmVyc2lvbi5cblxuXG4gICAgcmV0dXJuIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChjdXJyZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldEN1cnJlbnRGaWJlcigpIHtcbiAge1xuICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrID0gbnVsbDtcbiAgICBjdXJyZW50ID0gbnVsbDtcbiAgICBpc1JlbmRlcmluZyA9IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBzZXRDdXJyZW50RmliZXIoZmliZXIpIHtcbiAge1xuICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrID0gZmliZXIgPT09IG51bGwgPyBudWxsIDogZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldjtcbiAgICBjdXJyZW50ID0gZmliZXI7XG4gICAgaXNSZW5kZXJpbmcgPSBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0Q3VycmVudEZpYmVyKCkge1xuICB7XG4gICAgcmV0dXJuIGN1cnJlbnQ7XG4gIH1cbn1cbmZ1bmN0aW9uIHNldElzUmVuZGVyaW5nKHJlbmRlcmluZykge1xuICB7XG4gICAgaXNSZW5kZXJpbmcgPSByZW5kZXJpbmc7XG4gIH1cbn1cblxuLy8gYXJvdW5kIHRoaXMgbGltaXRhdGlvbiwgd2UgdXNlIGFuIG9wYXF1ZSB0eXBlIHRoYXQgY2FuIG9ubHkgYmUgb2J0YWluZWQgYnlcbi8vIHBhc3NpbmcgdGhlIHZhbHVlIHRocm91Z2ggZ2V0VG9TdHJpbmdWYWx1ZSBmaXJzdC5cblxuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgLy8gVGhlIGNvZXJjaW9uIHNhZmV0eSBjaGVjayBpcyBwZXJmb3JtZWQgaW4gZ2V0VG9TdHJpbmdWYWx1ZSgpLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBnZXRUb1N0cmluZ1ZhbHVlKHZhbHVlKSB7XG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgY2FzZSAnYm9vbGVhbic6XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdzdHJpbmcnOlxuICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBjYXNlICdvYmplY3QnOlxuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gZnVuY3Rpb24sIHN5bWJvbCBhcmUgYXNzaWduZWQgYXMgZW1wdHkgc3RyaW5nc1xuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzQ2hlY2thYmxlKGVsZW0pIHtcbiAgdmFyIHR5cGUgPSBlbGVtLnR5cGU7XG4gIHZhciBub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWU7XG4gIHJldHVybiBub2RlTmFtZSAmJiBub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW5wdXQnICYmICh0eXBlID09PSAnY2hlY2tib3gnIHx8IHR5cGUgPT09ICdyYWRpbycpO1xufVxuXG5mdW5jdGlvbiBnZXRUcmFja2VyKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUuX3ZhbHVlVHJhY2tlcjtcbn1cblxuZnVuY3Rpb24gZGV0YWNoVHJhY2tlcihub2RlKSB7XG4gIG5vZGUuX3ZhbHVlVHJhY2tlciA9IG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldFZhbHVlRnJvbU5vZGUobm9kZSkge1xuICB2YXIgdmFsdWUgPSAnJztcblxuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBpZiAoaXNDaGVja2FibGUobm9kZSkpIHtcbiAgICB2YWx1ZSA9IG5vZGUuY2hlY2tlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gIH0gZWxzZSB7XG4gICAgdmFsdWUgPSBub2RlLnZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiB0cmFja1ZhbHVlT25Ob2RlKG5vZGUpIHtcbiAgdmFyIHZhbHVlRmllbGQgPSBpc0NoZWNrYWJsZShub2RlKSA/ICdjaGVja2VkJyA6ICd2YWx1ZSc7XG4gIHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihub2RlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwgdmFsdWVGaWVsZCk7XG5cbiAge1xuICAgIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbihub2RlW3ZhbHVlRmllbGRdKTtcbiAgfVxuXG4gIHZhciBjdXJyZW50VmFsdWUgPSAnJyArIG5vZGVbdmFsdWVGaWVsZF07IC8vIGlmIHNvbWVvbmUgaGFzIGFscmVhZHkgZGVmaW5lZCBhIHZhbHVlIG9yIFNhZmFyaSwgdGhlbiBiYWlsXG4gIC8vIGFuZCBkb24ndCB0cmFjayB2YWx1ZSB3aWxsIGNhdXNlIG92ZXIgcmVwb3J0aW5nIG9mIGNoYW5nZXMsXG4gIC8vIGJ1dCBpdCdzIGJldHRlciB0aGVuIGEgaGFyZCBmYWlsdXJlXG4gIC8vIChuZWVkZWQgZm9yIGNlcnRhaW4gdGVzdHMgdGhhdCBzcHlPbiBpbnB1dCB2YWx1ZXMgYW5kIFNhZmFyaSlcblxuICBpZiAobm9kZS5oYXNPd25Qcm9wZXJ0eSh2YWx1ZUZpZWxkKSB8fCB0eXBlb2YgZGVzY3JpcHRvciA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIGRlc2NyaXB0b3IuZ2V0ICE9PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBkZXNjcmlwdG9yLnNldCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBnZXQgPSBkZXNjcmlwdG9yLmdldCxcbiAgICAgIHNldCA9IGRlc2NyaXB0b3Iuc2V0O1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobm9kZSwgdmFsdWVGaWVsZCwge1xuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAvLyAkRmxvd0ZpeE1lW21pc3NpbmctdGhpcy1hbm5vdF1cbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBnZXQuY2FsbCh0aGlzKTtcbiAgICB9LFxuICAgIC8vICRGbG93Rml4TWVbbWlzc2luZy1sb2NhbC1hbm5vdF1cbiAgICAvLyAkRmxvd0ZpeE1lW21pc3NpbmctdGhpcy1hbm5vdF1cbiAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50VmFsdWUgPSAnJyArIHZhbHVlO1xuICAgICAgc2V0LmNhbGwodGhpcywgdmFsdWUpO1xuICAgIH1cbiAgfSk7IC8vIFdlIGNvdWxkJ3ZlIHBhc3NlZCB0aGlzIHRoZSBmaXJzdCB0aW1lXG4gIC8vIGJ1dCBpdCB0cmlnZ2VycyBhIGJ1ZyBpbiBJRTExIGFuZCBFZGdlIDE0LzE1LlxuICAvLyBDYWxsaW5nIGRlZmluZVByb3BlcnR5KCkgYWdhaW4gc2hvdWxkIGJlIGVxdWl2YWxlbnQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE3NjhcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobm9kZSwgdmFsdWVGaWVsZCwge1xuICAgIGVudW1lcmFibGU6IGRlc2NyaXB0b3IuZW51bWVyYWJsZVxuICB9KTtcbiAgdmFyIHRyYWNrZXIgPSB7XG4gICAgZ2V0VmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XG4gICAgfSxcbiAgICBzZXRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgfSxcbiAgICBzdG9wVHJhY2tpbmc6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGRldGFjaFRyYWNrZXIobm9kZSk7XG4gICAgICBkZWxldGUgbm9kZVt2YWx1ZUZpZWxkXTtcbiAgICB9XG4gIH07XG4gIHJldHVybiB0cmFja2VyO1xufVxuXG5mdW5jdGlvbiB0cmFjayhub2RlKSB7XG4gIGlmIChnZXRUcmFja2VyKG5vZGUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbm9kZS5fdmFsdWVUcmFja2VyID0gdHJhY2tWYWx1ZU9uTm9kZShub2RlKTtcbn1cbmZ1bmN0aW9uIHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKG5vZGUpIHtcbiAgaWYgKCFub2RlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHRyYWNrZXIgPSBnZXRUcmFja2VyKG5vZGUpOyAvLyBpZiB0aGVyZSBpcyBubyB0cmFja2VyIGF0IHRoaXMgcG9pbnQgaXQncyB1bmxpa2VseVxuICAvLyB0aGF0IHRyeWluZyBhZ2FpbiB3aWxsIHN1Y2NlZWRcblxuICBpZiAoIXRyYWNrZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhciBsYXN0VmFsdWUgPSB0cmFja2VyLmdldFZhbHVlKCk7XG4gIHZhciBuZXh0VmFsdWUgPSBnZXRWYWx1ZUZyb21Ob2RlKG5vZGUpO1xuXG4gIGlmIChuZXh0VmFsdWUgIT09IGxhc3RWYWx1ZSkge1xuICAgIHRyYWNrZXIuc2V0VmFsdWUobmV4dFZhbHVlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ2V0QWN0aXZlRWxlbWVudChkb2MpIHtcbiAgZG9jID0gZG9jIHx8ICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQgOiB1bmRlZmluZWQpO1xuXG4gIGlmICh0eXBlb2YgZG9jID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZG9jLmFjdGl2ZUVsZW1lbnQgfHwgZG9jLmJvZHk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZG9jLmJvZHk7XG4gIH1cbn1cblxuLy8gV2hlbiBwYXNzaW5nIHVzZXIgaW5wdXQgaW50byBxdWVyeVNlbGVjdG9yKEFsbCkgdGhlIGVtYmVkZGVkIHN0cmluZyBtdXN0IG5vdCBhbHRlclxuLy8gdGhlIHNlbWFudGljcyBvZiB0aGUgcXVlcnkuIFRoaXMgZXNjYXBlIGZ1bmN0aW9uIGlzIHNhZmUgdG8gdXNlIHdoZW4gd2Uga25vdyB0aGVcbi8vIHByb3ZpZGVkIHZhbHVlIGlzIGdvaW5nIHRvIGJlIHdyYXBwZWQgaW4gZG91YmxlIHF1b3RlcyBhcyBwYXJ0IG9mIGFuIGF0dHJpYnV0ZSBzZWxlY3RvclxuLy8gRG8gbm90IHVzZSBpdCBhbnl3aGVyZSBlbHNlXG4vLyB3ZSBlc2NhcGUgZG91YmxlIHF1b3RlcyBhbmQgYmFja3NsYXNoZXNcbnZhciBlc2NhcGVTZWxlY3RvckF0dHJpYnV0ZVZhbHVlSW5zaWRlRG91YmxlUXVvdGVzUmVnZXggPSAvW1xcblxcXCJcXFxcXS9nO1xuZnVuY3Rpb24gZXNjYXBlU2VsZWN0b3JBdHRyaWJ1dGVWYWx1ZUluc2lkZURvdWJsZVF1b3Rlcyh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUucmVwbGFjZShlc2NhcGVTZWxlY3RvckF0dHJpYnV0ZVZhbHVlSW5zaWRlRG91YmxlUXVvdGVzUmVnZXgsIGZ1bmN0aW9uIChjaCkge1xuICAgIHJldHVybiAnXFxcXCcgKyBjaC5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSArICcgJztcbiAgfSk7XG59XG5cbnZhciBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSA9IGZhbHNlO1xudmFyIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSBmYWxzZTtcbi8qKlxuICogSW1wbGVtZW50cyBhbiA8aW5wdXQ+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIHNldHRpbmcgdGhlc2Ugb3B0aW9uYWxcbiAqIHByb3BzOiBgY2hlY2tlZGAsIGB2YWx1ZWAsIGBkZWZhdWx0Q2hlY2tlZGAsIGFuZCBgZGVmYXVsdFZhbHVlYC5cbiAqXG4gKiBJZiBgY2hlY2tlZGAgb3IgYHZhbHVlYCBhcmUgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9uc1xuICogdGhhdCBhZmZlY3QgdGhlIGNoZWNrZWQgc3RhdGUgb3IgdmFsdWUgd2lsbCB0cmlnZ2VyIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQuXG4gKlxuICogSWYgdGhleSBhcmUgc3VwcGxpZWQgKGFuZCBub3QgbnVsbC91bmRlZmluZWQpLCB0aGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIG5vdFxuICogdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LiBJbnN0ZWFkLCB0aGUgcHJvcHMgbXVzdCBjaGFuZ2UgaW4gb3JkZXIgZm9yXG4gKiB0aGUgcmVuZGVyZWQgZWxlbWVudCB0byBiZSB1cGRhdGVkLlxuICpcbiAqIFRoZSByZW5kZXJlZCBlbGVtZW50IHdpbGwgYmUgaW5pdGlhbGl6ZWQgYXMgdW5jaGVja2VkIChvciBgZGVmYXVsdENoZWNrZWRgKVxuICogd2l0aCBhbiBlbXB0eSB2YWx1ZSAob3IgYGRlZmF1bHRWYWx1ZWApLlxuICpcbiAqIFNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELWh0bWw1LTIwMTIxMDI1L3RoZS1pbnB1dC1lbGVtZW50Lmh0bWxcbiAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0ZUlucHV0UHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcbiAge1xuICAgIC8vIE5vcm1hbGx5IHdlIGNoZWNrIGZvciB1bmRlZmluZWQgYW5kIG51bGwgdGhlIHNhbWUsIGJ1dCBleHBsaWNpdGx5IHNwZWNpZnlpbmcgYm90aFxuICAgIC8vIHByb3BlcnRpZXMsIGF0IGFsbCBpcyBwcm9iYWJseSB3b3J0aCB3YXJuaW5nIGZvci4gV2UgY291bGQgbW92ZSB0aGlzIGVpdGhlciBkaXJlY3Rpb25cbiAgICAvLyBhbmQganVzdCBtYWtlIGl0IG9rIHRvIHBhc3MgbnVsbCBvciBqdXN0IGNoZWNrIGhhc093blByb3BlcnR5LlxuICAgIGlmIChwcm9wcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdENoZWNrZWQgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCkge1xuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGFuIGlucHV0IG9mIHR5cGUgJXMgd2l0aCBib3RoIGNoZWNrZWQgYW5kIGRlZmF1bHRDaGVja2VkIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSBjaGVja2VkIHByb3AsIG9yIHRoZSBkZWZhdWx0Q2hlY2tlZCBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycsIGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCkgfHwgJ0EgY29tcG9uZW50JywgcHJvcHMudHlwZSk7XG5cbiAgICAgIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSkge1xuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGFuIGlucHV0IG9mIHR5cGUgJXMgd2l0aCBib3RoIHZhbHVlIGFuZCBkZWZhdWx0VmFsdWUgcHJvcHMuICcgKyAnSW5wdXQgZWxlbWVudHMgbXVzdCBiZSBlaXRoZXIgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgJyArICcoc3BlY2lmeSBlaXRoZXIgdGhlIHZhbHVlIHByb3AsIG9yIHRoZSBkZWZhdWx0VmFsdWUgcHJvcCwgYnV0IG5vdCAnICsgJ2JvdGgpLiBEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIGlucHV0ICcgKyAnZWxlbWVudCBhbmQgcmVtb3ZlIG9uZSBvZiB0aGVzZSBwcm9wcy4gTW9yZSBpbmZvOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcsIHByb3BzLnR5cGUpO1xuXG4gICAgICBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSA9IHRydWU7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiB1cGRhdGVJbnB1dChlbGVtZW50LCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBsYXN0RGVmYXVsdFZhbHVlLCBjaGVja2VkLCBkZWZhdWx0Q2hlY2tlZCwgdHlwZSwgbmFtZSkge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7IC8vIFRlbXBvcmFyaWx5IGRpc2Nvbm5lY3QgdGhlIGlucHV0IGZyb20gYW55IHJhZGlvIGJ1dHRvbnMuXG4gIC8vIENoYW5naW5nIHRoZSB0eXBlIG9yIG5hbWUgYXMgdGhlIHNhbWUgdGltZSBhcyBjaGFuZ2luZyB0aGUgY2hlY2tlZCB2YWx1ZVxuICAvLyBuZWVkcyB0byBiZSBhdG9taWNhbGx5IGFwcGxpZWQuIFdlIGNhbiBvbmx5IGVuc3VyZSB0aGF0IGJ5IGRpc2Nvbm5lY3RpbmdcbiAgLy8gdGhlIG5hbWUgd2hpbGUgZG8gdGhlIG11dGF0aW9ucyBhbmQgdGhlbiByZWFwcGx5IHRoZSBuYW1lIGFmdGVyIHRoYXQncyBkb25lLlxuXG4gIG5vZGUubmFtZSA9ICcnO1xuXG4gIGlmICh0eXBlICE9IG51bGwgJiYgdHlwZW9mIHR5cGUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHR5cGUgIT09ICdzeW1ib2wnICYmIHR5cGVvZiB0eXBlICE9PSAnYm9vbGVhbicpIHtcbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKHR5cGUsICd0eXBlJyk7XG4gICAgfVxuXG4gICAgbm9kZS50eXBlID0gdHlwZTtcbiAgfSBlbHNlIHtcbiAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZSgndHlwZScpO1xuICB9XG5cbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICBpZiAodHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGlmICggLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV1cbiAgICAgIHZhbHVlID09PSAwICYmIG5vZGUudmFsdWUgPT09ICcnIHx8IC8vIFdlIGV4cGxpY2l0bHkgd2FudCB0byBjb2VyY2UgdG8gbnVtYmVyIGhlcmUgaWYgcG9zc2libGUuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIG5vZGUudmFsdWUgIT0gdmFsdWUpIHtcbiAgICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUodmFsdWUpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudmFsdWUgIT09IHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUodmFsdWUpKSkge1xuICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUodmFsdWUpKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0Jykge1xuICAgIC8vIFN1Ym1pdC9yZXNldCBpbnB1dHMgbmVlZCB0aGUgYXR0cmlidXRlIHJlbW92ZWQgY29tcGxldGVseSB0byBhdm9pZFxuICAgIC8vIGJsYW5rLXRleHQgYnV0dG9ucy5cbiAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZSgndmFsdWUnKTtcbiAgfVxuXG4gIHtcbiAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIHZhbHVlIGF0dHJpYnV0ZSwgdGhlIHZhbHVlIGNvbWVzIGZyb20gYSBjYXNjYWRlIG9mXG4gICAgLy8gcHJvcGVydGllczpcbiAgICAvLyAgMS4gVGhlIHZhbHVlIFJlYWN0IHByb3BlcnR5XG4gICAgLy8gIDIuIFRoZSBkZWZhdWx0VmFsdWUgUmVhY3QgcHJvcGVydHlcbiAgICAvLyAgMy4gT3RoZXJ3aXNlIHRoZXJlIHNob3VsZCBiZSBubyBjaGFuZ2VcbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsIHR5cGUsIGdldFRvU3RyaW5nVmFsdWUodmFsdWUpKTtcbiAgICB9IGVsc2UgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgdHlwZSwgZ2V0VG9TdHJpbmdWYWx1ZShkZWZhdWx0VmFsdWUpKTtcbiAgICB9IGVsc2UgaWYgKGxhc3REZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoJ3ZhbHVlJyk7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIC8vIFdoZW4gc3luY2luZyB0aGUgY2hlY2tlZCBhdHRyaWJ1dGUsIGl0IG9ubHkgY2hhbmdlcyB3aGVuIGl0IG5lZWRzXG4gICAgLy8gdG8gYmUgcmVtb3ZlZCwgc3VjaCBhcyB0cmFuc2l0aW9uaW5nIGZyb20gYSBjaGVja2JveCBpbnRvIGEgdGV4dCBpbnB1dFxuICAgIGlmIChjaGVja2VkID09IG51bGwgJiYgZGVmYXVsdENoZWNrZWQgIT0gbnVsbCkge1xuICAgICAgbm9kZS5kZWZhdWx0Q2hlY2tlZCA9ICEhZGVmYXVsdENoZWNrZWQ7XG4gICAgfVxuICB9XG5cbiAgaWYgKGNoZWNrZWQgIT0gbnVsbCkge1xuICAgIC8vIEltcG9ydGFudCB0byBzZXQgdGhpcyBldmVuIGlmIGl0J3Mgbm90IGEgY2hhbmdlIGluIG9yZGVyIHRvIHVwZGF0ZSBpbnB1dFxuICAgIC8vIHZhbHVlIHRyYWNraW5nIHdpdGggcmFkaW8gYnV0dG9uc1xuICAgIC8vIFRPRE86IFNob3VsZCByZWFsbHkgdXBkYXRlIGlucHV0IHZhbHVlIHRyYWNraW5nIGZvciB0aGUgd2hvbGUgcmFkaW9cbiAgICAvLyBidXR0b24gZ3JvdXAgaW4gYW4gZWZmZWN0IG9yIHNvbWV0aGluZyAoc2ltaWxhciB0byAjMjcwMjQpXG4gICAgbm9kZS5jaGVja2VkID0gY2hlY2tlZCAmJiB0eXBlb2YgY2hlY2tlZCAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgY2hlY2tlZCAhPT0gJ3N5bWJvbCc7XG4gIH1cblxuICBpZiAobmFtZSAhPSBudWxsICYmIHR5cGVvZiBuYW1lICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBuYW1lICE9PSAnc3ltYm9sJyAmJiB0eXBlb2YgbmFtZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAge1xuICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbihuYW1lLCAnbmFtZScpO1xuICAgIH1cblxuICAgIG5vZGUubmFtZSA9IHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUobmFtZSkpO1xuICB9IGVsc2Uge1xuICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKCduYW1lJyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGluaXRJbnB1dChlbGVtZW50LCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBjaGVja2VkLCBkZWZhdWx0Q2hlY2tlZCwgdHlwZSwgbmFtZSwgaXNIeWRyYXRpbmcpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIGlmICh0eXBlICE9IG51bGwgJiYgdHlwZW9mIHR5cGUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHR5cGUgIT09ICdzeW1ib2wnICYmIHR5cGVvZiB0eXBlICE9PSAnYm9vbGVhbicpIHtcbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKHR5cGUsICd0eXBlJyk7XG4gICAgfVxuXG4gICAgbm9kZS50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGlmICh2YWx1ZSAhPSBudWxsIHx8IGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgdmFyIGlzQnV0dG9uID0gdHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0JzsgLy8gQXZvaWQgc2V0dGluZyB2YWx1ZSBhdHRyaWJ1dGUgb24gc3VibWl0L3Jlc2V0IGlucHV0cyBhcyBpdCBvdmVycmlkZXMgdGhlXG4gICAgLy8gZGVmYXVsdCB2YWx1ZSBwcm92aWRlZCBieSB0aGUgYnJvd3Nlci4gU2VlOiAjMTI4NzJcblxuICAgIGlmIChpc0J1dHRvbiAmJiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZGVmYXVsdFZhbHVlU3RyID0gZGVmYXVsdFZhbHVlICE9IG51bGwgPyB0b1N0cmluZyhnZXRUb1N0cmluZ1ZhbHVlKGRlZmF1bHRWYWx1ZSkpIDogJyc7XG4gICAgdmFyIGluaXRpYWxWYWx1ZSA9IHZhbHVlICE9IG51bGwgPyB0b1N0cmluZyhnZXRUb1N0cmluZ1ZhbHVlKHZhbHVlKSkgOiBkZWZhdWx0VmFsdWVTdHI7IC8vIERvIG5vdCBhc3NpZ24gdmFsdWUgaWYgaXQgaXMgYWxyZWFkeSBzZXQuIFRoaXMgcHJldmVudHMgdXNlciB0ZXh0IGlucHV0XG4gICAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxuXG4gICAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgICAge1xuICAgICAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIHZhbHVlIGF0dHJpYnV0ZSwgdGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCB1c2VcbiAgICAgICAgLy8gdGhlIHdyYXBwZXJTdGF0ZS5faW5pdGlhbFZhbHVlIHByb3BlcnR5LiBUaGlzIHVzZXM6XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgMS4gVGhlIHZhbHVlIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgICAgICAvLyAgIDIuIFRoZSBkZWZhdWx0VmFsdWUgUmVhY3QgcHJvcGVydHkgd2hlbiBwcmVzZW50XG4gICAgICAgIC8vICAgMy4gQW4gZW1wdHkgc3RyaW5nXG4gICAgICAgIGlmIChpbml0aWFsVmFsdWUgIT09IG5vZGUudmFsdWUpIHtcbiAgICAgICAgICBub2RlLnZhbHVlID0gaW5pdGlhbFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gT3RoZXJ3aXNlLCB0aGUgdmFsdWUgYXR0cmlidXRlIGlzIHN5bmNocm9uaXplZCB0byB0aGUgcHJvcGVydHksXG4gICAgICAvLyBzbyB3ZSBhc3NpZ24gZGVmYXVsdFZhbHVlIHRvIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSB2YWx1ZSBwcm9wZXJ0eVxuICAgICAgLy8gYXNzaWdubWVudCBzdGVwIGFib3ZlLlxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSBpbml0aWFsVmFsdWU7XG4gICAgfVxuICB9IC8vIE5vcm1hbGx5LCB3ZSdkIGp1c3QgZG8gYG5vZGUuY2hlY2tlZCA9IG5vZGUuY2hlY2tlZGAgdXBvbiBpbml0aWFsIG1vdW50LCBsZXNzIHRoaXMgYnVnXG4gIC8vIHRoaXMgaXMgbmVlZGVkIHRvIHdvcmsgYXJvdW5kIGEgY2hyb21lIGJ1ZyB3aGVyZSBzZXR0aW5nIGRlZmF1bHRDaGVja2VkXG4gIC8vIHdpbGwgc29tZXRpbWVzIGluZmx1ZW5jZSB0aGUgdmFsdWUgb2YgY2hlY2tlZCAoZXZlbiBhZnRlciBkZXRhY2htZW50KS5cbiAgLy8gUmVmZXJlbmNlOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD02MDg0MTZcbiAgLy8gV2UgbmVlZCB0byB0ZW1wb3JhcmlseSB1bnNldCBuYW1lIHRvIGF2b2lkIGRpc3J1cHRpbmcgcmFkaW8gYnV0dG9uIGdyb3Vwcy5cblxuXG4gIHZhciBjaGVja2VkT3JEZWZhdWx0ID0gY2hlY2tlZCAhPSBudWxsID8gY2hlY2tlZCA6IGRlZmF1bHRDaGVja2VkOyAvLyBUT0RPOiBUaGlzICdmdW5jdGlvbicgb3IgJ3N5bWJvbCcgY2hlY2sgaXNuJ3QgcmVwbGljYXRlZCBpbiBvdGhlciBwbGFjZXNcbiAgLy8gc28gdGhpcyBzZW1hbnRpYyBpcyBpbmNvbnNpc3RlbnQuXG5cbiAgdmFyIGluaXRpYWxDaGVja2VkID0gdHlwZW9mIGNoZWNrZWRPckRlZmF1bHQgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGNoZWNrZWRPckRlZmF1bHQgIT09ICdzeW1ib2wnICYmICEhY2hlY2tlZE9yRGVmYXVsdDtcblxuICBpZiAoaXNIeWRyYXRpbmcpIHtcbiAgICAvLyBEZXRhY2ggLmNoZWNrZWQgZnJvbSAuZGVmYXVsdENoZWNrZWQgYnV0IGxlYXZlIHVzZXIgaW5wdXQgYWxvbmVcbiAgICBub2RlLmNoZWNrZWQgPSBub2RlLmNoZWNrZWQ7XG4gIH0gZWxzZSB7XG4gICAgbm9kZS5jaGVja2VkID0gISFpbml0aWFsQ2hlY2tlZDtcbiAgfVxuXG4gIHtcbiAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIGNoZWNrZWQgYXR0cmlidXRlLCBib3RoIHRoZSBjaGVja2VkIHByb3BlcnR5IGFuZFxuICAgIC8vIGF0dHJpYnV0ZSBhcmUgYXNzaWduZWQgYXQgdGhlIHNhbWUgdGltZSB1c2luZyBkZWZhdWx0Q2hlY2tlZC4gVGhpcyB1c2VzOlxuICAgIC8vXG4gICAgLy8gICAxLiBUaGUgY2hlY2tlZCBSZWFjdCBwcm9wZXJ0eSB3aGVuIHByZXNlbnRcbiAgICAvLyAgIDIuIFRoZSBkZWZhdWx0Q2hlY2tlZCBSZWFjdCBwcm9wZXJ0eSB3aGVuIHByZXNlbnRcbiAgICAvLyAgIDMuIE90aGVyd2lzZSwgZmFsc2VcbiAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gIW5vZGUuZGVmYXVsdENoZWNrZWQ7XG4gICAgbm9kZS5kZWZhdWx0Q2hlY2tlZCA9ICEhaW5pdGlhbENoZWNrZWQ7XG4gIH0gLy8gTmFtZSBuZWVkcyB0byBiZSBzZXQgYXQgdGhlIGVuZCBzbyB0aGF0IGl0IGFwcGxpZXMgYXRvbWljYWxseSB0byBjb25uZWN0ZWQgcmFkaW8gYnV0dG9ucy5cblxuXG4gIGlmIChuYW1lICE9IG51bGwgJiYgdHlwZW9mIG5hbWUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG5hbWUgIT09ICdzeW1ib2wnICYmIHR5cGVvZiBuYW1lICE9PSAnYm9vbGVhbicpIHtcbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKG5hbWUsICduYW1lJyk7XG4gICAgfVxuXG4gICAgbm9kZS5uYW1lID0gbmFtZTtcbiAgfVxufVxuZnVuY3Rpb24gcmVzdG9yZUNvbnRyb2xsZWRJbnB1dFN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciByb290Tm9kZSA9IGVsZW1lbnQ7XG4gIHVwZGF0ZUlucHV0KHJvb3ROb2RlLCBwcm9wcy52YWx1ZSwgcHJvcHMuZGVmYXVsdFZhbHVlLCBwcm9wcy5kZWZhdWx0VmFsdWUsIHByb3BzLmNoZWNrZWQsIHByb3BzLmRlZmF1bHRDaGVja2VkLCBwcm9wcy50eXBlLCBwcm9wcy5uYW1lKTtcbiAgdmFyIG5hbWUgPSBwcm9wcy5uYW1lO1xuXG4gIGlmIChwcm9wcy50eXBlID09PSAncmFkaW8nICYmIG5hbWUgIT0gbnVsbCkge1xuICAgIHZhciBxdWVyeVJvb3QgPSByb290Tm9kZTtcblxuICAgIHdoaWxlIChxdWVyeVJvb3QucGFyZW50Tm9kZSkge1xuICAgICAgcXVlcnlSb290ID0gcXVlcnlSb290LnBhcmVudE5vZGU7XG4gICAgfSAvLyBJZiBgcm9vdE5vZGUuZm9ybWAgd2FzIG5vbi1udWxsLCB0aGVuIHdlIGNvdWxkIHRyeSBgZm9ybS5lbGVtZW50c2AsXG4gICAgLy8gYnV0IHRoYXQgc29tZXRpbWVzIGJlaGF2ZXMgc3RyYW5nZWx5IGluIElFOC4gV2UgY291bGQgYWxzbyB0cnkgdXNpbmdcbiAgICAvLyBgZm9ybS5nZXRFbGVtZW50c0J5TmFtZWAsIGJ1dCB0aGF0IHdpbGwgb25seSByZXR1cm4gZGlyZWN0IGNoaWxkcmVuXG4gICAgLy8gYW5kIHdvbid0IGluY2x1ZGUgaW5wdXRzIHRoYXQgdXNlIHRoZSBIVE1MNSBgZm9ybT1gIGF0dHJpYnV0ZS4gU2luY2VcbiAgICAvLyB0aGUgaW5wdXQgbWlnaHQgbm90IGV2ZW4gYmUgaW4gYSBmb3JtLiBJdCBtaWdodCBub3QgZXZlbiBiZSBpbiB0aGVcbiAgICAvLyBkb2N1bWVudC4gTGV0J3MganVzdCB1c2UgdGhlIGxvY2FsIGBxdWVyeVNlbGVjdG9yQWxsYCB0byBlbnN1cmUgd2UgZG9uJ3RcbiAgICAvLyBtaXNzIGFueXRoaW5nLlxuXG5cbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKG5hbWUsICduYW1lJyk7XG4gICAgfVxuXG4gICAgdmFyIGdyb3VwID0gcXVlcnlSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9XCInICsgZXNjYXBlU2VsZWN0b3JBdHRyaWJ1dGVWYWx1ZUluc2lkZURvdWJsZVF1b3RlcygnJyArIG5hbWUpICsgJ1wiXVt0eXBlPVwicmFkaW9cIl0nKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ3JvdXAubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBvdGhlck5vZGUgPSBncm91cFtpXTtcblxuICAgICAgaWYgKG90aGVyTm9kZSA9PT0gcm9vdE5vZGUgfHwgb3RoZXJOb2RlLmZvcm0gIT09IHJvb3ROb2RlLmZvcm0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IC8vIFRoaXMgd2lsbCB0aHJvdyBpZiByYWRpbyBidXR0b25zIHJlbmRlcmVkIGJ5IGRpZmZlcmVudCBjb3BpZXMgb2YgUmVhY3RcbiAgICAgIC8vIGFuZCB0aGUgc2FtZSBuYW1lIGFyZSByZW5kZXJlZCBpbnRvIHRoZSBzYW1lIGZvcm0gKHNhbWUgYXMgIzE5MzkpLlxuICAgICAgLy8gVGhhdCdzIHByb2JhYmx5IG9rYXk7IHdlIGRvbid0IHN1cHBvcnQgaXQganVzdCBhcyB3ZSBkb24ndCBzdXBwb3J0XG4gICAgICAvLyBtaXhpbmcgUmVhY3QgcmFkaW8gYnV0dG9ucyB3aXRoIG5vbi1SZWFjdCBvbmVzLlxuXG5cbiAgICAgIHZhciBvdGhlclByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShvdGhlck5vZGUpO1xuXG4gICAgICBpZiAoIW90aGVyUHJvcHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZWFjdERPTUlucHV0OiBNaXhpbmcgUmVhY3QgYW5kIG5vbi1SZWFjdCByYWRpbyBpbnB1dHMgd2l0aCB0aGUgJyArICdzYW1lIGBuYW1lYCBpcyBub3Qgc3VwcG9ydGVkLicpO1xuICAgICAgfSAvLyBJZiB0aGlzIGlzIGEgY29udHJvbGxlZCByYWRpbyBidXR0b24gZ3JvdXAsIGZvcmNpbmcgdGhlIGlucHV0IHRoYXRcbiAgICAgIC8vIHdhcyBwcmV2aW91c2x5IGNoZWNrZWQgdG8gdXBkYXRlIHdpbGwgY2F1c2UgaXQgdG8gYmUgY29tZSByZS1jaGVja2VkXG4gICAgICAvLyBhcyBhcHByb3ByaWF0ZS5cblxuXG4gICAgICB1cGRhdGVJbnB1dChvdGhlck5vZGUsIG90aGVyUHJvcHMudmFsdWUsIG90aGVyUHJvcHMuZGVmYXVsdFZhbHVlLCBvdGhlclByb3BzLmRlZmF1bHRWYWx1ZSwgb3RoZXJQcm9wcy5jaGVja2VkLCBvdGhlclByb3BzLmRlZmF1bHRDaGVja2VkLCBvdGhlclByb3BzLnR5cGUsIG90aGVyUHJvcHMubmFtZSk7XG4gICAgfSAvLyBJZiBhbnkgdXBkYXRlSW5wdXQoKSBjYWxsIHNldCAuY2hlY2tlZCB0byB0cnVlLCBhbiBpbnB1dCBpbiB0aGlzIGdyb3VwXG4gICAgLy8gKG9mdGVuLCBgcm9vdE5vZGVgIGl0c2VsZikgbWF5IGhhdmUgYmVjb21lIHVuY2hlY2tlZFxuXG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgZ3JvdXAubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX290aGVyTm9kZSA9IGdyb3VwW19pXTtcblxuICAgICAgaWYgKF9vdGhlck5vZGUuZm9ybSAhPT0gcm9vdE5vZGUuZm9ybSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlVmFsdWVJZkNoYW5nZWQoX290aGVyTm9kZSk7XG4gICAgfVxuICB9XG59IC8vIEluIENocm9tZSwgYXNzaWduaW5nIGRlZmF1bHRWYWx1ZSB0byBjZXJ0YWluIGlucHV0IHR5cGVzIHRyaWdnZXJzIGlucHV0IHZhbGlkYXRpb24uXG4vLyBGb3IgbnVtYmVyIGlucHV0cywgdGhlIGRpc3BsYXkgdmFsdWUgbG9zZXMgdHJhaWxpbmcgZGVjaW1hbCBwb2ludHMuIEZvciBlbWFpbCBpbnB1dHMsXG4vLyBDaHJvbWUgcmFpc2VzIFwiVGhlIHNwZWNpZmllZCB2YWx1ZSA8eD4gaXMgbm90IGEgdmFsaWQgZW1haWwgYWRkcmVzc1wiLlxuLy9cbi8vIEhlcmUgd2UgY2hlY2sgdG8gc2VlIGlmIHRoZSBkZWZhdWx0VmFsdWUgaGFzIGFjdHVhbGx5IGNoYW5nZWQsIGF2b2lkaW5nIHRoZXNlIHByb2JsZW1zXG4vLyB3aGVuIHRoZSB1c2VyIGlzIGlucHV0dGluZyB0ZXh0XG4vL1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy83MjUzXG5cbmZ1bmN0aW9uIHNldERlZmF1bHRWYWx1ZShub2RlLCB0eXBlLCB2YWx1ZSkge1xuICBpZiAoIC8vIEZvY3VzZWQgbnVtYmVyIGlucHV0cyBzeW5jaHJvbml6ZSBvbiBibHVyLiBTZWUgQ2hhbmdlRXZlbnRQbHVnaW4uanNcbiAgdHlwZSAhPT0gJ251bWJlcicgfHwgZ2V0QWN0aXZlRWxlbWVudChub2RlLm93bmVyRG9jdW1lbnQpICE9PSBub2RlKSB7XG4gICAgaWYgKG5vZGUuZGVmYXVsdFZhbHVlICE9PSB0b1N0cmluZyh2YWx1ZSkpIHtcbiAgICAgIG5vZGUuZGVmYXVsdFZhbHVlID0gdG9TdHJpbmcodmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgZGlkV2FyblNlbGVjdGVkU2V0T25PcHRpb24gPSBmYWxzZTtcbnZhciBkaWRXYXJuSW52YWxpZENoaWxkID0gZmFsc2U7XG52YXIgZGlkV2FybkludmFsaWRJbm5lckhUTUwgPSBmYWxzZTtcbi8qKlxuICogSW1wbGVtZW50cyBhbiA8b3B0aW9uPiBob3N0IGNvbXBvbmVudCB0aGF0IHdhcm5zIHdoZW4gYHNlbGVjdGVkYCBpcyBzZXQuXG4gKi9cblxuZnVuY3Rpb24gdmFsaWRhdGVPcHRpb25Qcm9wcyhlbGVtZW50LCBwcm9wcykge1xuICB7XG4gICAgLy8gSWYgYSB2YWx1ZSBpcyBub3QgcHJvdmlkZWQsIHRoZW4gdGhlIGNoaWxkcmVuIG11c3QgYmUgc2ltcGxlLlxuICAgIGlmIChwcm9wcy52YWx1ZSA9PSBudWxsKSB7XG4gICAgICBpZiAodHlwZW9mIHByb3BzLmNoaWxkcmVuID09PSAnb2JqZWN0JyAmJiBwcm9wcy5jaGlsZHJlbiAhPT0gbnVsbCkge1xuICAgICAgICBSZWFjdC5DaGlsZHJlbi5mb3JFYWNoKHByb3BzLmNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgICBpZiAoY2hpbGQgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBjaGlsZCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWRpZFdhcm5JbnZhbGlkQ2hpbGQpIHtcbiAgICAgICAgICAgIGRpZFdhcm5JbnZhbGlkQ2hpbGQgPSB0cnVlO1xuXG4gICAgICAgICAgICBlcnJvcignQ2Fubm90IGluZmVyIHRoZSBvcHRpb24gdmFsdWUgb2YgY29tcGxleCBjaGlsZHJlbi4gJyArICdQYXNzIGEgYHZhbHVlYCBwcm9wIG9yIHVzZSBhIHBsYWluIHN0cmluZyBhcyBjaGlsZHJlbiB0byA8b3B0aW9uPi4nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XG4gICAgICAgIGlmICghZGlkV2FybkludmFsaWRJbm5lckhUTUwpIHtcbiAgICAgICAgICBkaWRXYXJuSW52YWxpZElubmVySFRNTCA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUGFzcyBhIGB2YWx1ZWAgcHJvcCBpZiB5b3Ugc2V0IGRhbmdlcm91c2x5SW5uZXJIVE1MIHNvIFJlYWN0IGtub3dzICcgKyAnd2hpY2ggdmFsdWUgc2hvdWxkIGJlIHNlbGVjdGVkLicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBUT0RPOiBSZW1vdmUgc3VwcG9ydCBmb3IgYHNlbGVjdGVkYCBpbiA8b3B0aW9uPi5cblxuXG4gICAgaWYgKHByb3BzLnNlbGVjdGVkICE9IG51bGwgJiYgIWRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uKSB7XG4gICAgICBlcnJvcignVXNlIHRoZSBgZGVmYXVsdFZhbHVlYCBvciBgdmFsdWVgIHByb3BzIG9uIDxzZWxlY3Q+IGluc3RlYWQgb2YgJyArICdzZXR0aW5nIGBzZWxlY3RlZGAgb24gPG9wdGlvbj4uJyk7XG5cbiAgICAgIGRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlO1xuXG57XG4gIGRpZFdhcm5WYWx1ZURlZmF1bHRWYWx1ZSA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHZhciBvd25lck5hbWUgPSBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpO1xuXG4gIGlmIChvd25lck5hbWUpIHtcbiAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxudmFyIHZhbHVlUHJvcE5hbWVzID0gWyd2YWx1ZScsICdkZWZhdWx0VmFsdWUnXTtcbi8qKlxuICogVmFsaWRhdGlvbiBmdW5jdGlvbiBmb3IgYHZhbHVlYCBhbmQgYGRlZmF1bHRWYWx1ZWAuXG4gKi9cblxuZnVuY3Rpb24gY2hlY2tTZWxlY3RQcm9wVHlwZXMocHJvcHMpIHtcbiAge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWVQcm9wTmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBwcm9wTmFtZSA9IHZhbHVlUHJvcE5hbWVzW2ldO1xuXG4gICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09IG51bGwpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBwcm9wTmFtZUlzQXJyYXkgPSBpc0FycmF5KHByb3BzW3Byb3BOYW1lXSk7XG5cbiAgICAgIGlmIChwcm9wcy5tdWx0aXBsZSAmJiAhcHJvcE5hbWVJc0FycmF5KSB7XG4gICAgICAgIGVycm9yKCdUaGUgYCVzYCBwcm9wIHN1cHBsaWVkIHRvIDxzZWxlY3Q+IG11c3QgYmUgYW4gYXJyYXkgaWYgJyArICdgbXVsdGlwbGVgIGlzIHRydWUuJXMnLCBwcm9wTmFtZSwgZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkpO1xuICAgICAgfSBlbHNlIGlmICghcHJvcHMubXVsdGlwbGUgJiYgcHJvcE5hbWVJc0FycmF5KSB7XG4gICAgICAgIGVycm9yKCdUaGUgYCVzYCBwcm9wIHN1cHBsaWVkIHRvIDxzZWxlY3Q+IG11c3QgYmUgYSBzY2FsYXIgJyArICd2YWx1ZSBpZiBgbXVsdGlwbGVgIGlzIGZhbHNlLiVzJywgcHJvcE5hbWUsIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlT3B0aW9ucyhub2RlLCBtdWx0aXBsZSwgcHJvcFZhbHVlLCBzZXREZWZhdWx0U2VsZWN0ZWQpIHtcbiAgdmFyIG9wdGlvbnMgPSBub2RlLm9wdGlvbnM7XG5cbiAgaWYgKG11bHRpcGxlKSB7XG4gICAgdmFyIHNlbGVjdGVkVmFsdWVzID0gcHJvcFZhbHVlO1xuICAgIHZhciBzZWxlY3RlZFZhbHVlID0ge307XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlbGVjdGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAvLyBQcmVmaXggdG8gYXZvaWQgY2hhb3Mgd2l0aCBzcGVjaWFsIGtleXMuXG4gICAgICBzZWxlY3RlZFZhbHVlWyckJyArIHNlbGVjdGVkVmFsdWVzW2ldXSA9IHRydWU7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IG9wdGlvbnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgc2VsZWN0ZWQgPSBzZWxlY3RlZFZhbHVlLmhhc093blByb3BlcnR5KCckJyArIG9wdGlvbnNbX2ldLnZhbHVlKTtcblxuICAgICAgaWYgKG9wdGlvbnNbX2ldLnNlbGVjdGVkICE9PSBzZWxlY3RlZCkge1xuICAgICAgICBvcHRpb25zW19pXS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2VsZWN0ZWQgJiYgc2V0RGVmYXVsdFNlbGVjdGVkKSB7XG4gICAgICAgIG9wdGlvbnNbX2ldLmRlZmF1bHRTZWxlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIERvIG5vdCBzZXQgYHNlbGVjdC52YWx1ZWAgYXMgZXhhY3QgYmVoYXZpb3IgaXNuJ3QgY29uc2lzdGVudCBhY3Jvc3MgYWxsXG4gICAgLy8gYnJvd3NlcnMgZm9yIGFsbCBjYXNlcy5cbiAgICB2YXIgX3NlbGVjdGVkVmFsdWUgPSB0b1N0cmluZyhnZXRUb1N0cmluZ1ZhbHVlKHByb3BWYWx1ZSkpO1xuXG4gICAgdmFyIGRlZmF1bHRTZWxlY3RlZCA9IG51bGw7XG5cbiAgICBmb3IgKHZhciBfaTIgPSAwOyBfaTIgPCBvcHRpb25zLmxlbmd0aDsgX2kyKyspIHtcbiAgICAgIGlmIChvcHRpb25zW19pMl0udmFsdWUgPT09IF9zZWxlY3RlZFZhbHVlKSB7XG4gICAgICAgIG9wdGlvbnNbX2kyXS5zZWxlY3RlZCA9IHRydWU7XG5cbiAgICAgICAgaWYgKHNldERlZmF1bHRTZWxlY3RlZCkge1xuICAgICAgICAgIG9wdGlvbnNbX2kyXS5kZWZhdWx0U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGVmYXVsdFNlbGVjdGVkID09PSBudWxsICYmICFvcHRpb25zW19pMl0uZGlzYWJsZWQpIHtcbiAgICAgICAgZGVmYXVsdFNlbGVjdGVkID0gb3B0aW9uc1tfaTJdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZWZhdWx0U2VsZWN0ZWQgIT09IG51bGwpIHtcbiAgICAgIGRlZmF1bHRTZWxlY3RlZC5zZWxlY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEltcGxlbWVudHMgYSA8c2VsZWN0PiBob3N0IGNvbXBvbmVudCB0aGF0IGFsbG93cyBvcHRpb25hbGx5IHNldHRpbmcgdGhlXG4gKiBwcm9wcyBgdmFsdWVgIGFuZCBgZGVmYXVsdFZhbHVlYC4gSWYgYG11bHRpcGxlYCBpcyBmYWxzZSwgdGhlIHByb3AgbXVzdCBiZSBhXG4gKiBzdHJpbmdhYmxlLiBJZiBgbXVsdGlwbGVgIGlzIHRydWUsIHRoZSBwcm9wIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5nYWJsZXMuXG4gKlxuICogSWYgYHZhbHVlYCBpcyBub3Qgc3VwcGxpZWQgKG9yIG51bGwvdW5kZWZpbmVkKSwgdXNlciBhY3Rpb25zIHRoYXQgY2hhbmdlIHRoZVxuICogc2VsZWN0ZWQgb3B0aW9uIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSByZW5kZXJlZCBvcHRpb25zLlxuICpcbiAqIElmIGl0IGlzIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIG9wdGlvbnMgd2lsbCBub3RcbiAqIHVwZGF0ZSBpbiByZXNwb25zZSB0byB1c2VyIGFjdGlvbnMuIEluc3RlYWQsIHRoZSBgdmFsdWVgIHByb3AgbXVzdCBjaGFuZ2UgaW5cbiAqIG9yZGVyIGZvciB0aGUgcmVuZGVyZWQgb3B0aW9ucyB0byB1cGRhdGUuXG4gKlxuICogSWYgYGRlZmF1bHRWYWx1ZWAgaXMgcHJvdmlkZWQsIGFueSBvcHRpb25zIHdpdGggdGhlIHN1cHBsaWVkIHZhbHVlcyB3aWxsIGJlXG4gKiBzZWxlY3RlZC5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlU2VsZWN0UHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcbiAge1xuICAgIGNoZWNrU2VsZWN0UHJvcFR5cGVzKHByb3BzKTtcblxuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUpIHtcbiAgICAgIGVycm9yKCdTZWxlY3QgZWxlbWVudHMgbXVzdCBiZSBlaXRoZXIgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgJyArICcoc3BlY2lmeSBlaXRoZXIgdGhlIHZhbHVlIHByb3AsIG9yIHRoZSBkZWZhdWx0VmFsdWUgcHJvcCwgYnV0IG5vdCAnICsgJ2JvdGgpLiBEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIHNlbGVjdCAnICsgJ2VsZW1lbnQgYW5kIHJlbW92ZSBvbmUgb2YgdGhlc2UgcHJvcHMuIE1vcmUgaW5mbzogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvY29udHJvbGxlZC1jb21wb25lbnRzJyk7XG5cbiAgICAgIGRpZFdhcm5WYWx1ZURlZmF1bHRWYWx1ZSA9IHRydWU7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBpbml0U2VsZWN0KGVsZW1lbnQsIHZhbHVlLCBkZWZhdWx0VmFsdWUsIG11bHRpcGxlKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgbm9kZS5tdWx0aXBsZSA9ICEhbXVsdGlwbGU7XG5cbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhbXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XG4gIH0gZWxzZSBpZiAoZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhbXVsdGlwbGUsIGRlZmF1bHRWYWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHVwZGF0ZVNlbGVjdChlbGVtZW50LCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBtdWx0aXBsZSwgd2FzTXVsdGlwbGUpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIW11bHRpcGxlLCB2YWx1ZSwgZmFsc2UpO1xuICB9IGVsc2UgaWYgKCEhd2FzTXVsdGlwbGUgIT09ICEhbXVsdGlwbGUpIHtcbiAgICAvLyBGb3Igc2ltcGxpY2l0eSwgcmVhcHBseSBgZGVmYXVsdFZhbHVlYCBpZiBgbXVsdGlwbGVgIGlzIHRvZ2dsZWQuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhbXVsdGlwbGUsIGRlZmF1bHRWYWx1ZSwgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJldmVydCB0aGUgc2VsZWN0IGJhY2sgdG8gaXRzIGRlZmF1bHQgdW5zZWxlY3RlZCBzdGF0ZS5cbiAgICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFtdWx0aXBsZSwgbXVsdGlwbGUgPyBbXSA6ICcnLCBmYWxzZSk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFNlbGVjdFN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XG5cbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XG4gIH1cbn1cblxudmFyIGRpZFdhcm5WYWxEZWZhdWx0VmFsID0gZmFsc2U7XG4vKipcbiAqIEltcGxlbWVudHMgYSA8dGV4dGFyZWE+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIHNldHRpbmcgYHZhbHVlYCwgYW5kXG4gKiBgZGVmYXVsdFZhbHVlYC4gVGhpcyBkaWZmZXJzIGZyb20gdGhlIHRyYWRpdGlvbmFsIERPTSBBUEkgYmVjYXVzZSB2YWx1ZSBpc1xuICogdXN1YWxseSBzZXQgYXMgUENEQVRBIGNoaWxkcmVuLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGFmZmVjdCB0aGVcbiAqIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgc3VwcGxpZWQgKGFuZCBub3QgbnVsbC91bmRlZmluZWQpLCB0aGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsXG4gKiBub3QgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIHdpdGggYW4gZW1wdHkgdmFsdWUsIHRoZSBwcm9wXG4gKiBgZGVmYXVsdFZhbHVlYCBpZiBzcGVjaWZpZWQsIG9yIHRoZSBjaGlsZHJlbiBjb250ZW50IChkZXByZWNhdGVkKS5cbiAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVRleHRhcmVhUHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcbiAge1xuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsRGVmYXVsdFZhbCkge1xuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGEgdGV4dGFyZWEgd2l0aCBib3RoIHZhbHVlIGFuZCBkZWZhdWx0VmFsdWUgcHJvcHMuICcgKyAnVGV4dGFyZWEgZWxlbWVudHMgbXVzdCBiZSBlaXRoZXIgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgJyArICcoc3BlY2lmeSBlaXRoZXIgdGhlIHZhbHVlIHByb3AsIG9yIHRoZSBkZWZhdWx0VmFsdWUgcHJvcCwgYnV0IG5vdCAnICsgJ2JvdGgpLiBEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIHRleHRhcmVhICcgKyAnYW5kIHJlbW92ZSBvbmUgb2YgdGhlc2UgcHJvcHMuIE1vcmUgaW5mbzogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvY29udHJvbGxlZC1jb21wb25lbnRzJywgZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKSB8fCAnQSBjb21wb25lbnQnKTtcblxuICAgICAgZGlkV2FyblZhbERlZmF1bHRWYWwgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5jaGlsZHJlbiAhPSBudWxsICYmIHByb3BzLnZhbHVlID09IG51bGwpIHtcbiAgICAgIGVycm9yKCdVc2UgdGhlIGBkZWZhdWx0VmFsdWVgIG9yIGB2YWx1ZWAgcHJvcHMgaW5zdGVhZCBvZiBzZXR0aW5nICcgKyAnY2hpbGRyZW4gb24gPHRleHRhcmVhPi4nKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHVwZGF0ZVRleHRhcmVhKGVsZW1lbnQsIHZhbHVlLCBkZWZhdWx0VmFsdWUpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgLy8gQ2FzdCBgdmFsdWVgIHRvIGEgc3RyaW5nIHRvIGVuc3VyZSB0aGUgdmFsdWUgaXMgc2V0IGNvcnJlY3RseS4gV2hpbGVcbiAgICAvLyBicm93c2VycyB0eXBpY2FsbHkgZG8gdGhpcyBhcyBuZWNlc3NhcnksIGpzZG9tIGRvZXNuJ3QuXG4gICAgdmFyIG5ld1ZhbHVlID0gdG9TdHJpbmcoZ2V0VG9TdHJpbmdWYWx1ZSh2YWx1ZSkpOyAvLyBUbyBhdm9pZCBzaWRlIGVmZmVjdHMgKHN1Y2ggYXMgbG9zaW5nIHRleHQgc2VsZWN0aW9uKSwgb25seSBzZXQgdmFsdWUgaWYgY2hhbmdlZFxuXG4gICAgaWYgKG5ld1ZhbHVlICE9PSBub2RlLnZhbHVlKSB7XG4gICAgICBub2RlLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgfSAvLyBUT09POiBUaGlzIHNob3VsZCByZXNwZWN0IGRpc2FibGVJbnB1dEF0dHJpYnV0ZVN5bmNpbmcgZmxhZy5cblxuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSA9PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS5kZWZhdWx0VmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgIG5vZGUuZGVmYXVsdFZhbHVlID0gbmV3VmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBpZiAoZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUoZGVmYXVsdFZhbHVlKSk7XG4gIH0gZWxzZSB7XG4gICAgbm9kZS5kZWZhdWx0VmFsdWUgPSAnJztcbiAgfVxufVxuZnVuY3Rpb24gaW5pdFRleHRhcmVhKGVsZW1lbnQsIHZhbHVlLCBkZWZhdWx0VmFsdWUsIGNoaWxkcmVuKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIGluaXRpYWxWYWx1ZSA9IHZhbHVlOyAvLyBPbmx5IGJvdGhlciBmZXRjaGluZyBkZWZhdWx0IHZhbHVlIGlmIHdlJ3JlIGdvaW5nIHRvIHVzZSBpdFxuXG4gIGlmIChpbml0aWFsVmFsdWUgPT0gbnVsbCkge1xuICAgIGlmIChjaGlsZHJlbiAhPSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIGlmIChkZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSWYgeW91IHN1cHBseSBgZGVmYXVsdFZhbHVlYCBvbiBhIDx0ZXh0YXJlYT4sIGRvIG5vdCBwYXNzIGNoaWxkcmVuLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignPHRleHRhcmVhPiBjYW4gb25seSBoYXZlIGF0IG1vc3Qgb25lIGNoaWxkLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGRyZW5bMF07XG4gICAgICAgIH1cblxuICAgICAgICBkZWZhdWx0VmFsdWUgPSBjaGlsZHJlbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlID09IG51bGwpIHtcbiAgICAgIGRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIGluaXRpYWxWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIHZhciBzdHJpbmdWYWx1ZSA9IGdldFRvU3RyaW5nVmFsdWUoaW5pdGlhbFZhbHVlKTtcbiAgbm9kZS5kZWZhdWx0VmFsdWUgPSBzdHJpbmdWYWx1ZTsgLy8gVGhpcyB3aWxsIGJlIHRvU3RyaW5nOmVkLlxuICAvLyBUaGlzIGlzIGluIHBvc3RNb3VudCBiZWNhdXNlIHdlIG5lZWQgYWNjZXNzIHRvIHRoZSBET00gbm9kZSwgd2hpY2ggaXMgbm90XG4gIC8vIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBtb3VudGVkLlxuXG4gIHZhciB0ZXh0Q29udGVudCA9IG5vZGUudGV4dENvbnRlbnQ7IC8vIE9ubHkgc2V0IG5vZGUudmFsdWUgaWYgdGV4dENvbnRlbnQgaXMgZXF1YWwgdG8gdGhlIGV4cGVjdGVkXG4gIC8vIGluaXRpYWwgdmFsdWUuIEluIElFMTAvSUUxMSB0aGVyZSBpcyBhIGJ1ZyB3aGVyZSB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlXG4gIC8vIHdpbGwgcG9wdWxhdGUgdGV4dENvbnRlbnQgYXMgd2VsbC5cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTAxNTI1L1xuXG4gIGlmICh0ZXh0Q29udGVudCA9PT0gc3RyaW5nVmFsdWUpIHtcbiAgICBpZiAodGV4dENvbnRlbnQgIT09ICcnICYmIHRleHRDb250ZW50ICE9PSBudWxsKSB7XG4gICAgICBub2RlLnZhbHVlID0gdGV4dENvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFRleHRhcmVhU3RhdGUoZWxlbWVudCwgcHJvcHMpIHtcbiAgLy8gRE9NIGNvbXBvbmVudCBpcyBzdGlsbCBtb3VudGVkOyB1cGRhdGVcbiAgdXBkYXRlVGV4dGFyZWEoZWxlbWVudCwgcHJvcHMudmFsdWUsIHByb3BzLmRlZmF1bHRWYWx1ZSk7XG59XG5cbi8vIFRoaXMgdmFsaWRhdGlvbiBjb2RlIHdhcyB3cml0dGVuIGJhc2VkIG9uIHRoZSBIVE1MNSBwYXJzaW5nIHNwZWM6XG4vLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNoYXMtYW4tZWxlbWVudC1pbi1zY29wZVxuLy9cbi8vIE5vdGU6IHRoaXMgZG9lcyBub3QgY2F0Y2ggYWxsIGludmFsaWQgbmVzdGluZywgbm9yIGRvZXMgaXQgdHJ5IHRvIChhcyBpdCdzXG4vLyBub3QgY2xlYXIgd2hhdCBwcmFjdGljYWwgYmVuZWZpdCBkb2luZyBzbyBwcm92aWRlcyk7IGluc3RlYWQsIHdlIHdhcm4gb25seVxuLy8gZm9yIGNhc2VzIHdoZXJlIHRoZSBwYXJzZXIgd2lsbCBnaXZlIGEgcGFyc2UgdHJlZSBkaWZmZXJpbmcgZnJvbSB3aGF0IFJlYWN0XG4vLyBpbnRlbmRlZC4gRm9yIGV4YW1wbGUsIDxiPjxkaXY+PC9kaXY+PC9iPiBpcyBpbnZhbGlkIGJ1dCB3ZSBkb24ndCB3YXJuXG4vLyBiZWNhdXNlIGl0IHN0aWxsIHBhcnNlcyBjb3JyZWN0bHk7IHdlIGRvIHdhcm4gZm9yIG90aGVyIGNhc2VzIGxpa2UgbmVzdGVkXG4vLyA8cD4gdGFncyB3aGVyZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzZWNvbmQgZWxlbWVudCBpbXBsaWNpdGx5IGNsb3NlcyB0aGVcbi8vIGZpcnN0LCBjYXVzaW5nIGEgY29uZnVzaW5nIG1lc3MuXG4vLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNzcGVjaWFsXG52YXIgc3BlY2lhbFRhZ3MgPSBbJ2FkZHJlc3MnLCAnYXBwbGV0JywgJ2FyZWEnLCAnYXJ0aWNsZScsICdhc2lkZScsICdiYXNlJywgJ2Jhc2Vmb250JywgJ2Jnc291bmQnLCAnYmxvY2txdW90ZScsICdib2R5JywgJ2JyJywgJ2J1dHRvbicsICdjYXB0aW9uJywgJ2NlbnRlcicsICdjb2wnLCAnY29sZ3JvdXAnLCAnZGQnLCAnZGV0YWlscycsICdkaXInLCAnZGl2JywgJ2RsJywgJ2R0JywgJ2VtYmVkJywgJ2ZpZWxkc2V0JywgJ2ZpZ2NhcHRpb24nLCAnZmlndXJlJywgJ2Zvb3RlcicsICdmb3JtJywgJ2ZyYW1lJywgJ2ZyYW1lc2V0JywgJ2gxJywgJ2gyJywgJ2gzJywgJ2g0JywgJ2g1JywgJ2g2JywgJ2hlYWQnLCAnaGVhZGVyJywgJ2hncm91cCcsICdocicsICdodG1sJywgJ2lmcmFtZScsICdpbWcnLCAnaW5wdXQnLCAnaXNpbmRleCcsICdsaScsICdsaW5rJywgJ2xpc3RpbmcnLCAnbWFpbicsICdtYXJxdWVlJywgJ21lbnUnLCAnbWVudWl0ZW0nLCAnbWV0YScsICduYXYnLCAnbm9lbWJlZCcsICdub2ZyYW1lcycsICdub3NjcmlwdCcsICdvYmplY3QnLCAnb2wnLCAncCcsICdwYXJhbScsICdwbGFpbnRleHQnLCAncHJlJywgJ3NjcmlwdCcsICdzZWN0aW9uJywgJ3NlbGVjdCcsICdzb3VyY2UnLCAnc3R5bGUnLCAnc3VtbWFyeScsICd0YWJsZScsICd0Ym9keScsICd0ZCcsICd0ZW1wbGF0ZScsICd0ZXh0YXJlYScsICd0Zm9vdCcsICd0aCcsICd0aGVhZCcsICd0aXRsZScsICd0cicsICd0cmFjaycsICd1bCcsICd3YnInLCAneG1wJ107IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI2hhcy1hbi1lbGVtZW50LWluLXNjb3BlXG5cbnZhciBpblNjb3BlVGFncyA9IFsnYXBwbGV0JywgJ2NhcHRpb24nLCAnaHRtbCcsICd0YWJsZScsICd0ZCcsICd0aCcsICdtYXJxdWVlJywgJ29iamVjdCcsICd0ZW1wbGF0ZScsIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI2h0bWwtaW50ZWdyYXRpb24tcG9pbnRcbi8vIFRPRE86IERpc3Rpbmd1aXNoIGJ5IG5hbWVzcGFjZSBoZXJlIC0tIGZvciA8dGl0bGU+LCBpbmNsdWRpbmcgaXQgaGVyZVxuLy8gZXJycyBvbiB0aGUgc2lkZSBvZiBmZXdlciB3YXJuaW5nc1xuJ2ZvcmVpZ25PYmplY3QnLCAnZGVzYycsICd0aXRsZSddOyAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNoYXMtYW4tZWxlbWVudC1pbi1idXR0b24tc2NvcGVcblxudmFyIGJ1dHRvblNjb3BlVGFncyA9IGluU2NvcGVUYWdzLmNvbmNhdChbJ2J1dHRvbiddKSA7IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI2dlbmVyYXRlLWltcGxpZWQtZW5kLXRhZ3NcblxudmFyIGltcGxpZWRFbmRUYWdzID0gWydkZCcsICdkdCcsICdsaScsICdvcHRpb24nLCAnb3B0Z3JvdXAnLCAncCcsICdycCcsICdydCddO1xudmFyIGVtcHR5QW5jZXN0b3JJbmZvRGV2ID0ge1xuICBjdXJyZW50OiBudWxsLFxuICBmb3JtVGFnOiBudWxsLFxuICBhVGFnSW5TY29wZTogbnVsbCxcbiAgYnV0dG9uVGFnSW5TY29wZTogbnVsbCxcbiAgbm9iclRhZ0luU2NvcGU6IG51bGwsXG4gIHBUYWdJbkJ1dHRvblNjb3BlOiBudWxsLFxuICBsaXN0SXRlbVRhZ0F1dG9jbG9zaW5nOiBudWxsLFxuICBkbEl0ZW1UYWdBdXRvY2xvc2luZzogbnVsbCxcbiAgY29udGFpbmVyVGFnSW5TY29wZTogbnVsbFxufTtcblxuZnVuY3Rpb24gdXBkYXRlZEFuY2VzdG9ySW5mb0RldihvbGRJbmZvLCB0YWcpIHtcbiAge1xuICAgIHZhciBhbmNlc3RvckluZm8gPSBhc3NpZ24oe30sIG9sZEluZm8gfHwgZW1wdHlBbmNlc3RvckluZm9EZXYpO1xuXG4gICAgdmFyIGluZm8gPSB7XG4gICAgICB0YWc6IHRhZ1xuICAgIH07XG5cbiAgICBpZiAoaW5TY29wZVRhZ3MuaW5kZXhPZih0YWcpICE9PSAtMSkge1xuICAgICAgYW5jZXN0b3JJbmZvLmFUYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5ub2JyVGFnSW5TY29wZSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGJ1dHRvblNjb3BlVGFncy5pbmRleE9mKHRhZykgIT09IC0xKSB7XG4gICAgICBhbmNlc3RvckluZm8ucFRhZ0luQnV0dG9uU2NvcGUgPSBudWxsO1xuICAgIH0gLy8gU2VlIHJ1bGVzIGZvciAnbGknLCAnZGQnLCAnZHQnIHN0YXJ0IHRhZ3MgaW5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5XG5cblxuICAgIGlmIChzcGVjaWFsVGFncy5pbmRleE9mKHRhZykgIT09IC0xICYmIHRhZyAhPT0gJ2FkZHJlc3MnICYmIHRhZyAhPT0gJ2RpdicgJiYgdGFnICE9PSAncCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IG51bGw7XG4gICAgfVxuXG4gICAgYW5jZXN0b3JJbmZvLmN1cnJlbnQgPSBpbmZvO1xuXG4gICAgaWYgKHRhZyA9PT0gJ2Zvcm0nKSB7XG4gICAgICBhbmNlc3RvckluZm8uZm9ybVRhZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2EnKSB7XG4gICAgICBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdidXR0b24nKSB7XG4gICAgICBhbmNlc3RvckluZm8uYnV0dG9uVGFnSW5TY29wZSA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ25vYnInKSB7XG4gICAgICBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdwJykge1xuICAgICAgYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlID0gaW5mbztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSAnbGknKSB7XG4gICAgICBhbmNlc3RvckluZm8ubGlzdEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2RkJyB8fCB0YWcgPT09ICdkdCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJyNkb2N1bWVudCcgfHwgdGFnID09PSAnaHRtbCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5jb250YWluZXJUYWdJblNjb3BlID0gbnVsbDtcbiAgICB9IGVsc2UgaWYgKCFhbmNlc3RvckluZm8uY29udGFpbmVyVGFnSW5TY29wZSkge1xuICAgICAgYW5jZXN0b3JJbmZvLmNvbnRhaW5lclRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIHJldHVybiBhbmNlc3RvckluZm87XG4gIH1cbn1cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyXG4gKi9cblxuXG5mdW5jdGlvbiBpc1RhZ1ZhbGlkV2l0aFBhcmVudCh0YWcsIHBhcmVudFRhZykge1xuICAvLyBGaXJzdCwgbGV0J3MgY2hlY2sgaWYgd2UncmUgaW4gYW4gdW51c3VhbCBwYXJzaW5nIG1vZGUuLi5cbiAgc3dpdGNoIChwYXJlbnRUYWcpIHtcbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5zZWxlY3RcbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgcmV0dXJuIHRhZyA9PT0gJ2hyJyB8fCB0YWcgPT09ICdvcHRpb24nIHx8IHRhZyA9PT0gJ29wdGdyb3VwJyB8fCB0YWcgPT09ICcjdGV4dCc7XG5cbiAgICBjYXNlICdvcHRncm91cCc6XG4gICAgICByZXR1cm4gdGFnID09PSAnb3B0aW9uJyB8fCB0YWcgPT09ICcjdGV4dCc7XG4gICAgLy8gU3RyaWN0bHkgc3BlYWtpbmcsIHNlZWluZyBhbiA8b3B0aW9uPiBkb2Vzbid0IG1lYW4gd2UncmUgaW4gYSA8c2VsZWN0PlxuICAgIC8vIGJ1dFxuXG4gICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgIHJldHVybiB0YWcgPT09ICcjdGV4dCc7XG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWludGRcbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5jYXB0aW9uXG4gICAgLy8gTm8gc3BlY2lhbCBiZWhhdmlvciBzaW5jZSB0aGVzZSBydWxlcyBmYWxsIGJhY2sgdG8gXCJpbiBib2R5XCIgbW9kZSBmb3JcbiAgICAvLyBhbGwgZXhjZXB0IHNwZWNpYWwgdGFibGUgbm9kZXMgd2hpY2ggY2F1c2UgYmFkIHBhcnNpbmcgYmVoYXZpb3IgYW55d2F5LlxuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRyXG5cbiAgICBjYXNlICd0cic6XG4gICAgICByZXR1cm4gdGFnID09PSAndGgnIHx8IHRhZyA9PT0gJ3RkJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWludGJvZHlcblxuICAgIGNhc2UgJ3Rib2R5JzpcbiAgICBjYXNlICd0aGVhZCc6XG4gICAgY2FzZSAndGZvb3QnOlxuICAgICAgcmV0dXJuIHRhZyA9PT0gJ3RyJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluY29sZ3JvdXBcblxuICAgIGNhc2UgJ2NvbGdyb3VwJzpcbiAgICAgIHJldHVybiB0YWcgPT09ICdjb2wnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50YWJsZVxuXG4gICAgY2FzZSAndGFibGUnOlxuICAgICAgcmV0dXJuIHRhZyA9PT0gJ2NhcHRpb24nIHx8IHRhZyA9PT0gJ2NvbGdyb3VwJyB8fCB0YWcgPT09ICd0Ym9keScgfHwgdGFnID09PSAndGZvb3QnIHx8IHRhZyA9PT0gJ3RoZWFkJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluaGVhZFxuXG4gICAgY2FzZSAnaGVhZCc6XG4gICAgICByZXR1cm4gdGFnID09PSAnYmFzZScgfHwgdGFnID09PSAnYmFzZWZvbnQnIHx8IHRhZyA9PT0gJ2Jnc291bmQnIHx8IHRhZyA9PT0gJ2xpbmsnIHx8IHRhZyA9PT0gJ21ldGEnIHx8IHRhZyA9PT0gJ3RpdGxlJyB8fCB0YWcgPT09ICdub3NjcmlwdCcgfHwgdGFnID09PSAnbm9mcmFtZXMnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCN0aGUtaHRtbC1lbGVtZW50XG5cbiAgICBjYXNlICdodG1sJzpcbiAgICAgIHJldHVybiB0YWcgPT09ICdoZWFkJyB8fCB0YWcgPT09ICdib2R5JyB8fCB0YWcgPT09ICdmcmFtZXNldCc7XG5cbiAgICBjYXNlICdmcmFtZXNldCc6XG4gICAgICByZXR1cm4gdGFnID09PSAnZnJhbWUnO1xuXG4gICAgY2FzZSAnI2RvY3VtZW50JzpcbiAgICAgIHJldHVybiB0YWcgPT09ICdodG1sJztcbiAgfSAvLyBQcm9iYWJseSBpbiB0aGUgXCJpbiBib2R5XCIgcGFyc2luZyBtb2RlLCBzbyB3ZSBvdXRsYXcgb25seSB0YWcgY29tYm9zXG4gIC8vIHdoZXJlIHRoZSBwYXJzaW5nIHJ1bGVzIGNhdXNlIGltcGxpY2l0IG9wZW5zIG9yIGNsb3NlcyB0byBiZSBhZGRlZC5cbiAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluYm9keVxuXG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdoMSc6XG4gICAgY2FzZSAnaDInOlxuICAgIGNhc2UgJ2gzJzpcbiAgICBjYXNlICdoNCc6XG4gICAgY2FzZSAnaDUnOlxuICAgIGNhc2UgJ2g2JzpcbiAgICAgIHJldHVybiBwYXJlbnRUYWcgIT09ICdoMScgJiYgcGFyZW50VGFnICE9PSAnaDInICYmIHBhcmVudFRhZyAhPT0gJ2gzJyAmJiBwYXJlbnRUYWcgIT09ICdoNCcgJiYgcGFyZW50VGFnICE9PSAnaDUnICYmIHBhcmVudFRhZyAhPT0gJ2g2JztcblxuICAgIGNhc2UgJ3JwJzpcbiAgICBjYXNlICdydCc6XG4gICAgICByZXR1cm4gaW1wbGllZEVuZFRhZ3MuaW5kZXhPZihwYXJlbnRUYWcpID09PSAtMTtcblxuICAgIGNhc2UgJ2JvZHknOlxuICAgIGNhc2UgJ2NhcHRpb24nOlxuICAgIGNhc2UgJ2NvbCc6XG4gICAgY2FzZSAnY29sZ3JvdXAnOlxuICAgIGNhc2UgJ2ZyYW1lc2V0JzpcbiAgICBjYXNlICdmcmFtZSc6XG4gICAgY2FzZSAnaGVhZCc6XG4gICAgY2FzZSAnaHRtbCc6XG4gICAgY2FzZSAndGJvZHknOlxuICAgIGNhc2UgJ3RkJzpcbiAgICBjYXNlICd0Zm9vdCc6XG4gICAgY2FzZSAndGgnOlxuICAgIGNhc2UgJ3RoZWFkJzpcbiAgICBjYXNlICd0cic6XG4gICAgICAvLyBUaGVzZSB0YWdzIGFyZSBvbmx5IHZhbGlkIHdpdGggYSBmZXcgcGFyZW50cyB0aGF0IGhhdmUgc3BlY2lhbCBjaGlsZFxuICAgICAgLy8gcGFyc2luZyBydWxlcyAtLSBpZiB3ZSdyZSBkb3duIGhlcmUsIHRoZW4gbm9uZSBvZiB0aG9zZSBtYXRjaGVkIGFuZFxuICAgICAgLy8gc28gd2UgYWxsb3cgaXQgb25seSBpZiB3ZSBkb24ndCBrbm93IHdoYXQgdGhlIHBhcmVudCBpcywgYXMgYWxsIG90aGVyXG4gICAgICAvLyBjYXNlcyBhcmUgaW52YWxpZC5cbiAgICAgIHJldHVybiBwYXJlbnRUYWcgPT0gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXJcbiAqL1xuXG5cbmZ1bmN0aW9uIGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcodGFnLCBhbmNlc3RvckluZm8pIHtcbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdhZGRyZXNzJzpcbiAgICBjYXNlICdhcnRpY2xlJzpcbiAgICBjYXNlICdhc2lkZSc6XG4gICAgY2FzZSAnYmxvY2txdW90ZSc6XG4gICAgY2FzZSAnY2VudGVyJzpcbiAgICBjYXNlICdkZXRhaWxzJzpcbiAgICBjYXNlICdkaWFsb2cnOlxuICAgIGNhc2UgJ2Rpcic6XG4gICAgY2FzZSAnZGl2JzpcbiAgICBjYXNlICdkbCc6XG4gICAgY2FzZSAnZmllbGRzZXQnOlxuICAgIGNhc2UgJ2ZpZ2NhcHRpb24nOlxuICAgIGNhc2UgJ2ZpZ3VyZSc6XG4gICAgY2FzZSAnZm9vdGVyJzpcbiAgICBjYXNlICdoZWFkZXInOlxuICAgIGNhc2UgJ2hncm91cCc6XG4gICAgY2FzZSAnbWFpbic6XG4gICAgY2FzZSAnbWVudSc6XG4gICAgY2FzZSAnbmF2JzpcbiAgICBjYXNlICdvbCc6XG4gICAgY2FzZSAncCc6XG4gICAgY2FzZSAnc2VjdGlvbic6XG4gICAgY2FzZSAnc3VtbWFyeSc6XG4gICAgY2FzZSAndWwnOlxuICAgIGNhc2UgJ3ByZSc6XG4gICAgY2FzZSAnbGlzdGluZyc6XG4gICAgY2FzZSAndGFibGUnOlxuICAgIGNhc2UgJ2hyJzpcbiAgICBjYXNlICd4bXAnOlxuICAgIGNhc2UgJ2gxJzpcbiAgICBjYXNlICdoMic6XG4gICAgY2FzZSAnaDMnOlxuICAgIGNhc2UgJ2g0JzpcbiAgICBjYXNlICdoNSc6XG4gICAgY2FzZSAnaDYnOlxuICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZTtcblxuICAgIGNhc2UgJ2Zvcm0nOlxuICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5mb3JtVGFnIHx8IGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZTtcblxuICAgIGNhc2UgJ2xpJzpcbiAgICAgIHJldHVybiBhbmNlc3RvckluZm8ubGlzdEl0ZW1UYWdBdXRvY2xvc2luZztcblxuICAgIGNhc2UgJ2RkJzpcbiAgICBjYXNlICdkdCc6XG4gICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmRsSXRlbVRhZ0F1dG9jbG9zaW5nO1xuXG4gICAgY2FzZSAnYnV0dG9uJzpcbiAgICAgIHJldHVybiBhbmNlc3RvckluZm8uYnV0dG9uVGFnSW5TY29wZTtcblxuICAgIGNhc2UgJ2EnOlxuICAgICAgLy8gU3BlYyBzYXlzIHNvbWV0aGluZyBhYm91dCBzdG9yaW5nIGEgbGlzdCBvZiBtYXJrZXJzLCBidXQgaXQgc291bmRzXG4gICAgICAvLyBlcXVpdmFsZW50IHRvIHRoaXMgY2hlY2suXG4gICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmFUYWdJblNjb3BlO1xuXG4gICAgY2FzZSAnbm9icic6XG4gICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLm5vYnJUYWdJblNjb3BlO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBkaWRXYXJuJDEgPSB7fTtcblxuZnVuY3Rpb24gdmFsaWRhdGVET01OZXN0aW5nKGNoaWxkVGFnLCBhbmNlc3RvckluZm8pIHtcbiAge1xuICAgIGFuY2VzdG9ySW5mbyA9IGFuY2VzdG9ySW5mbyB8fCBlbXB0eUFuY2VzdG9ySW5mb0RldjtcbiAgICB2YXIgcGFyZW50SW5mbyA9IGFuY2VzdG9ySW5mby5jdXJyZW50O1xuICAgIHZhciBwYXJlbnRUYWcgPSBwYXJlbnRJbmZvICYmIHBhcmVudEluZm8udGFnO1xuICAgIHZhciBpbnZhbGlkUGFyZW50ID0gaXNUYWdWYWxpZFdpdGhQYXJlbnQoY2hpbGRUYWcsIHBhcmVudFRhZykgPyBudWxsIDogcGFyZW50SW5mbztcbiAgICB2YXIgaW52YWxpZEFuY2VzdG9yID0gaW52YWxpZFBhcmVudCA/IG51bGwgOiBmaW5kSW52YWxpZEFuY2VzdG9yRm9yVGFnKGNoaWxkVGFnLCBhbmNlc3RvckluZm8pO1xuICAgIHZhciBpbnZhbGlkUGFyZW50T3JBbmNlc3RvciA9IGludmFsaWRQYXJlbnQgfHwgaW52YWxpZEFuY2VzdG9yO1xuXG4gICAgaWYgKCFpbnZhbGlkUGFyZW50T3JBbmNlc3Rvcikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIGFuY2VzdG9yVGFnID0gaW52YWxpZFBhcmVudE9yQW5jZXN0b3IudGFnO1xuICAgIHZhciB3YXJuS2V5ID0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gICAgU3RyaW5nKCEhaW52YWxpZFBhcmVudCkgKyAnfCcgKyBjaGlsZFRhZyArICd8JyArIGFuY2VzdG9yVGFnO1xuXG4gICAgaWYgKGRpZFdhcm4kMVt3YXJuS2V5XSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGRpZFdhcm4kMVt3YXJuS2V5XSA9IHRydWU7XG4gICAgdmFyIHRhZ0Rpc3BsYXlOYW1lID0gJzwnICsgY2hpbGRUYWcgKyAnPic7XG5cbiAgICBpZiAoaW52YWxpZFBhcmVudCkge1xuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKGFuY2VzdG9yVGFnID09PSAndGFibGUnICYmIGNoaWxkVGFnID09PSAndHInKSB7XG4gICAgICAgIGluZm8gKz0gJyBBZGQgYSA8dGJvZHk+LCA8dGhlYWQ+IG9yIDx0Zm9vdD4gdG8geW91ciBjb2RlIHRvIG1hdGNoIHRoZSBET00gdHJlZSBnZW5lcmF0ZWQgYnkgJyArICd0aGUgYnJvd3Nlci4nO1xuICAgICAgfVxuXG4gICAgICBlcnJvcignSW4gSFRNTCwgJXMgY2Fubm90IGJlIGEgY2hpbGQgb2YgPCVzPi4lc1xcbicgKyAnVGhpcyB3aWxsIGNhdXNlIGEgaHlkcmF0aW9uIGVycm9yLicsIHRhZ0Rpc3BsYXlOYW1lLCBhbmNlc3RvclRhZywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yKCdJbiBIVE1MLCAlcyBjYW5ub3QgYmUgYSBkZXNjZW5kYW50IG9mIDwlcz4uXFxuJyArICdUaGlzIHdpbGwgY2F1c2UgYSBoeWRyYXRpb24gZXJyb3IuJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVUZXh0TmVzdGluZyhjaGlsZFRleHQsIHBhcmVudFRhZykge1xuICB7XG4gICAgaWYgKGlzVGFnVmFsaWRXaXRoUGFyZW50KCcjdGV4dCcsIHBhcmVudFRhZykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG5cblxuICAgIHZhciB3YXJuS2V5ID0gJyN0ZXh0fCcgKyBwYXJlbnRUYWc7XG5cbiAgICBpZiAoZGlkV2FybiQxW3dhcm5LZXldKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZGlkV2FybiQxW3dhcm5LZXldID0gdHJ1ZTtcblxuICAgIGlmICgvXFxTLy50ZXN0KGNoaWxkVGV4dCkpIHtcbiAgICAgIGVycm9yKCdJbiBIVE1MLCB0ZXh0IG5vZGVzIGNhbm5vdCBiZSBhIGNoaWxkIG9mIDwlcz4uXFxuJyArICdUaGlzIHdpbGwgY2F1c2UgYSBoeWRyYXRpb24gZXJyb3IuJywgcGFyZW50VGFnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3IoJ0luIEhUTUwsIHdoaXRlc3BhY2UgdGV4dCBub2RlcyBjYW5ub3QgYmUgYSBjaGlsZCBvZiA8JXM+LiAnICsgXCJNYWtlIHN1cmUgeW91IGRvbid0IGhhdmUgYW55IGV4dHJhIHdoaXRlc3BhY2UgYmV0d2VlbiB0YWdzIG9uIFwiICsgJ2VhY2ggbGluZSBvZiB5b3VyIHNvdXJjZSBjb2RlLlxcbicgKyAnVGhpcyB3aWxsIGNhdXNlIGEgaHlkcmF0aW9uIGVycm9yLicsIHBhcmVudFRhZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbnZhciBNQVRIX05BTUVTUEFDRSA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MJztcbnZhciBTVkdfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcblxudmFyIHJldXNhYmxlU1ZHQ29udGFpbmVyO1xuXG5mdW5jdGlvbiBzZXRJbm5lckhUTUxJbXBsKG5vZGUsIGh0bWwpIHtcbiAgaWYgKG5vZGUubmFtZXNwYWNlVVJJID09PSBTVkdfTkFNRVNQQUNFKSB7XG5cbiAgICBpZiAoISgnaW5uZXJIVE1MJyBpbiBub2RlKSkge1xuICAgICAgLy8gSUUgZG9lcyBub3QgaGF2ZSBpbm5lckhUTUwgZm9yIFNWRyBub2Rlcywgc28gaW5zdGVhZCB3ZSBpbmplY3QgdGhlXG4gICAgICAvLyBuZXcgbWFya3VwIGluIGEgdGVtcCBub2RlIGFuZCB0aGVuIG1vdmUgdGhlIGNoaWxkIG5vZGVzIGFjcm9zcyBpbnRvXG4gICAgICAvLyB0aGUgdGFyZ2V0IG5vZGVcbiAgICAgIHJldXNhYmxlU1ZHQ29udGFpbmVyID0gcmV1c2FibGVTVkdDb250YWluZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICByZXVzYWJsZVNWR0NvbnRhaW5lci5pbm5lckhUTUwgPSAnPHN2Zz4nICsgaHRtbC52YWx1ZU9mKCkudG9TdHJpbmcoKSArICc8L3N2Zz4nO1xuICAgICAgdmFyIHN2Z05vZGUgPSByZXVzYWJsZVNWR0NvbnRhaW5lci5maXJzdENoaWxkO1xuXG4gICAgICB3aGlsZSAobm9kZS5maXJzdENoaWxkKSB7XG4gICAgICAgIG5vZGUucmVtb3ZlQ2hpbGQobm9kZS5maXJzdENoaWxkKTtcbiAgICAgIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdXNlXVxuICAgICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV1cblxuXG4gICAgICB3aGlsZSAoc3ZnTm9kZS5maXJzdENoaWxkKSB7XG4gICAgICAgIG5vZGUuYXBwZW5kQ2hpbGQoc3ZnTm9kZS5maXJzdENoaWxkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcbn1cblxudmFyIHNldElubmVySFRNTCA9IHNldElubmVySFRNTEltcGw7IC8vICRGbG93Rml4TWVbY2Fubm90LXJlc29sdmUtbmFtZV1cblxuaWYgKHR5cGVvZiBNU0FwcCAhPT0gJ3VuZGVmaW5lZCcgJiYgTVNBcHAuZXhlY1Vuc2FmZUxvY2FsRnVuY3Rpb24pIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGZ1bmN0aW9uIHdoaWNoIGhhcyAndW5zYWZlJyBwcml2aWxlZ2VzIChyZXF1aXJlZCBieSB3aW5kb3dzOCBhcHBzKVxuICAgKi9cbiAgc2V0SW5uZXJIVE1MID0gZnVuY3Rpb24gKG5vZGUsIGh0bWwpIHtcbiAgICAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC1yZXNvbHZlLW5hbWVdXG4gICAgcmV0dXJuIE1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBzZXRJbm5lckhUTUxJbXBsKG5vZGUsIGh0bWwpO1xuICAgIH0pO1xuICB9O1xufVxuXG52YXIgc2V0SW5uZXJIVE1MJDEgPSBzZXRJbm5lckhUTUw7XG5cbi8qKlxuICogSFRNTCBub2RlVHlwZSB2YWx1ZXMgdGhhdCByZXByZXNlbnQgdGhlIHR5cGUgb2YgdGhlIG5vZGVcbiAqL1xudmFyIEVMRU1FTlRfTk9ERSA9IDE7XG52YXIgVEVYVF9OT0RFID0gMztcbnZhciBDT01NRU5UX05PREUgPSA4O1xudmFyIERPQ1VNRU5UX05PREUgPSA5O1xudmFyIERPQ1VNRU5UX1RZUEVfTk9ERSA9IDEwO1xudmFyIERPQ1VNRU5UX0ZSQUdNRU5UX05PREUgPSAxMTtcblxuLyoqXG4gKiBTZXQgdGhlIHRleHRDb250ZW50IHByb3BlcnR5IG9mIGEgbm9kZS4gRm9yIHRleHQgdXBkYXRlcywgaXQncyBmYXN0ZXJcbiAqIHRvIHNldCB0aGUgYG5vZGVWYWx1ZWAgb2YgdGhlIFRleHQgbm9kZSBkaXJlY3RseSBpbnN0ZWFkIG9mIHVzaW5nXG4gKiBgLnRleHRDb250ZW50YCB3aGljaCB3aWxsIHJlbW92ZSB0aGUgZXhpc3Rpbmcgbm9kZSBhbmQgY3JlYXRlIGEgbmV3IG9uZS5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR9IG5vZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0XG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5mdW5jdGlvbiBzZXRUZXh0Q29udGVudChub2RlLCB0ZXh0KSB7XG4gIGlmICh0ZXh0KSB7XG4gICAgdmFyIGZpcnN0Q2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICBpZiAoZmlyc3RDaGlsZCAmJiBmaXJzdENoaWxkID09PSBub2RlLmxhc3RDaGlsZCAmJiBmaXJzdENoaWxkLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcbiAgICAgIGZpcnN0Q2hpbGQubm9kZVZhbHVlID0gdGV4dDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcbn1cblxuLy8gTGlzdCBkZXJpdmVkIGZyb20gR2Vja28gc291cmNlIGNvZGU6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi80ZTYzOGVmYzcxL2xheW91dC9zdHlsZS90ZXN0L3Byb3BlcnR5X2RhdGFiYXNlLmpzXG52YXIgc2hvcnRoYW5kVG9Mb25naGFuZCA9IHtcbiAgYW5pbWF0aW9uOiBbJ2FuaW1hdGlvbkRlbGF5JywgJ2FuaW1hdGlvbkRpcmVjdGlvbicsICdhbmltYXRpb25EdXJhdGlvbicsICdhbmltYXRpb25GaWxsTW9kZScsICdhbmltYXRpb25JdGVyYXRpb25Db3VudCcsICdhbmltYXRpb25OYW1lJywgJ2FuaW1hdGlvblBsYXlTdGF0ZScsICdhbmltYXRpb25UaW1pbmdGdW5jdGlvbiddLFxuICBiYWNrZ3JvdW5kOiBbJ2JhY2tncm91bmRBdHRhY2htZW50JywgJ2JhY2tncm91bmRDbGlwJywgJ2JhY2tncm91bmRDb2xvcicsICdiYWNrZ3JvdW5kSW1hZ2UnLCAnYmFja2dyb3VuZE9yaWdpbicsICdiYWNrZ3JvdW5kUG9zaXRpb25YJywgJ2JhY2tncm91bmRQb3NpdGlvblknLCAnYmFja2dyb3VuZFJlcGVhdCcsICdiYWNrZ3JvdW5kU2l6ZSddLFxuICBiYWNrZ3JvdW5kUG9zaXRpb246IFsnYmFja2dyb3VuZFBvc2l0aW9uWCcsICdiYWNrZ3JvdW5kUG9zaXRpb25ZJ10sXG4gIGJvcmRlcjogWydib3JkZXJCb3R0b21Db2xvcicsICdib3JkZXJCb3R0b21TdHlsZScsICdib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJJbWFnZU91dHNldCcsICdib3JkZXJJbWFnZVJlcGVhdCcsICdib3JkZXJJbWFnZVNsaWNlJywgJ2JvcmRlckltYWdlU291cmNlJywgJ2JvcmRlckltYWdlV2lkdGgnLCAnYm9yZGVyTGVmdENvbG9yJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRDb2xvcicsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclJpZ2h0V2lkdGgnLCAnYm9yZGVyVG9wQ29sb3InLCAnYm9yZGVyVG9wU3R5bGUnLCAnYm9yZGVyVG9wV2lkdGgnXSxcbiAgYm9yZGVyQmxvY2tFbmQ6IFsnYm9yZGVyQmxvY2tFbmRDb2xvcicsICdib3JkZXJCbG9ja0VuZFN0eWxlJywgJ2JvcmRlckJsb2NrRW5kV2lkdGgnXSxcbiAgYm9yZGVyQmxvY2tTdGFydDogWydib3JkZXJCbG9ja1N0YXJ0Q29sb3InLCAnYm9yZGVyQmxvY2tTdGFydFN0eWxlJywgJ2JvcmRlckJsb2NrU3RhcnRXaWR0aCddLFxuICBib3JkZXJCb3R0b206IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyQm90dG9tV2lkdGgnXSxcbiAgYm9yZGVyQ29sb3I6IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyTGVmdENvbG9yJywgJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyVG9wQ29sb3InXSxcbiAgYm9yZGVySW1hZ2U6IFsnYm9yZGVySW1hZ2VPdXRzZXQnLCAnYm9yZGVySW1hZ2VSZXBlYXQnLCAnYm9yZGVySW1hZ2VTbGljZScsICdib3JkZXJJbWFnZVNvdXJjZScsICdib3JkZXJJbWFnZVdpZHRoJ10sXG4gIGJvcmRlcklubGluZUVuZDogWydib3JkZXJJbmxpbmVFbmRDb2xvcicsICdib3JkZXJJbmxpbmVFbmRTdHlsZScsICdib3JkZXJJbmxpbmVFbmRXaWR0aCddLFxuICBib3JkZXJJbmxpbmVTdGFydDogWydib3JkZXJJbmxpbmVTdGFydENvbG9yJywgJ2JvcmRlcklubGluZVN0YXJ0U3R5bGUnLCAnYm9yZGVySW5saW5lU3RhcnRXaWR0aCddLFxuICBib3JkZXJMZWZ0OiBbJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJMZWZ0U3R5bGUnLCAnYm9yZGVyTGVmdFdpZHRoJ10sXG4gIGJvcmRlclJhZGl1czogWydib3JkZXJCb3R0b21MZWZ0UmFkaXVzJywgJ2JvcmRlckJvdHRvbVJpZ2h0UmFkaXVzJywgJ2JvcmRlclRvcExlZnRSYWRpdXMnLCAnYm9yZGVyVG9wUmlnaHRSYWRpdXMnXSxcbiAgYm9yZGVyUmlnaHQ6IFsnYm9yZGVyUmlnaHRDb2xvcicsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclJpZ2h0V2lkdGgnXSxcbiAgYm9yZGVyU3R5bGU6IFsnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyTGVmdFN0eWxlJywgJ2JvcmRlclJpZ2h0U3R5bGUnLCAnYm9yZGVyVG9wU3R5bGUnXSxcbiAgYm9yZGVyVG9wOiBbJ2JvcmRlclRvcENvbG9yJywgJ2JvcmRlclRvcFN0eWxlJywgJ2JvcmRlclRvcFdpZHRoJ10sXG4gIGJvcmRlcldpZHRoOiBbJ2JvcmRlckJvdHRvbVdpZHRoJywgJ2JvcmRlckxlZnRXaWR0aCcsICdib3JkZXJSaWdodFdpZHRoJywgJ2JvcmRlclRvcFdpZHRoJ10sXG4gIGNvbHVtblJ1bGU6IFsnY29sdW1uUnVsZUNvbG9yJywgJ2NvbHVtblJ1bGVTdHlsZScsICdjb2x1bW5SdWxlV2lkdGgnXSxcbiAgY29sdW1uczogWydjb2x1bW5Db3VudCcsICdjb2x1bW5XaWR0aCddLFxuICBmbGV4OiBbJ2ZsZXhCYXNpcycsICdmbGV4R3JvdycsICdmbGV4U2hyaW5rJ10sXG4gIGZsZXhGbG93OiBbJ2ZsZXhEaXJlY3Rpb24nLCAnZmxleFdyYXAnXSxcbiAgZm9udDogWydmb250RmFtaWx5JywgJ2ZvbnRGZWF0dXJlU2V0dGluZ3MnLCAnZm9udEtlcm5pbmcnLCAnZm9udExhbmd1YWdlT3ZlcnJpZGUnLCAnZm9udFNpemUnLCAnZm9udFNpemVBZGp1c3QnLCAnZm9udFN0cmV0Y2gnLCAnZm9udFN0eWxlJywgJ2ZvbnRWYXJpYW50JywgJ2ZvbnRWYXJpYW50QWx0ZXJuYXRlcycsICdmb250VmFyaWFudENhcHMnLCAnZm9udFZhcmlhbnRFYXN0QXNpYW4nLCAnZm9udFZhcmlhbnRMaWdhdHVyZXMnLCAnZm9udFZhcmlhbnROdW1lcmljJywgJ2ZvbnRWYXJpYW50UG9zaXRpb24nLCAnZm9udFdlaWdodCcsICdsaW5lSGVpZ2h0J10sXG4gIGZvbnRWYXJpYW50OiBbJ2ZvbnRWYXJpYW50QWx0ZXJuYXRlcycsICdmb250VmFyaWFudENhcHMnLCAnZm9udFZhcmlhbnRFYXN0QXNpYW4nLCAnZm9udFZhcmlhbnRMaWdhdHVyZXMnLCAnZm9udFZhcmlhbnROdW1lcmljJywgJ2ZvbnRWYXJpYW50UG9zaXRpb24nXSxcbiAgZ2FwOiBbJ2NvbHVtbkdhcCcsICdyb3dHYXAnXSxcbiAgZ3JpZDogWydncmlkQXV0b0NvbHVtbnMnLCAnZ3JpZEF1dG9GbG93JywgJ2dyaWRBdXRvUm93cycsICdncmlkVGVtcGxhdGVBcmVhcycsICdncmlkVGVtcGxhdGVDb2x1bW5zJywgJ2dyaWRUZW1wbGF0ZVJvd3MnXSxcbiAgZ3JpZEFyZWE6IFsnZ3JpZENvbHVtbkVuZCcsICdncmlkQ29sdW1uU3RhcnQnLCAnZ3JpZFJvd0VuZCcsICdncmlkUm93U3RhcnQnXSxcbiAgZ3JpZENvbHVtbjogWydncmlkQ29sdW1uRW5kJywgJ2dyaWRDb2x1bW5TdGFydCddLFxuICBncmlkQ29sdW1uR2FwOiBbJ2NvbHVtbkdhcCddLFxuICBncmlkR2FwOiBbJ2NvbHVtbkdhcCcsICdyb3dHYXAnXSxcbiAgZ3JpZFJvdzogWydncmlkUm93RW5kJywgJ2dyaWRSb3dTdGFydCddLFxuICBncmlkUm93R2FwOiBbJ3Jvd0dhcCddLFxuICBncmlkVGVtcGxhdGU6IFsnZ3JpZFRlbXBsYXRlQXJlYXMnLCAnZ3JpZFRlbXBsYXRlQ29sdW1ucycsICdncmlkVGVtcGxhdGVSb3dzJ10sXG4gIGxpc3RTdHlsZTogWydsaXN0U3R5bGVJbWFnZScsICdsaXN0U3R5bGVQb3NpdGlvbicsICdsaXN0U3R5bGVUeXBlJ10sXG4gIG1hcmdpbjogWydtYXJnaW5Cb3R0b20nLCAnbWFyZ2luTGVmdCcsICdtYXJnaW5SaWdodCcsICdtYXJnaW5Ub3AnXSxcbiAgbWFya2VyOiBbJ21hcmtlckVuZCcsICdtYXJrZXJNaWQnLCAnbWFya2VyU3RhcnQnXSxcbiAgbWFzazogWydtYXNrQ2xpcCcsICdtYXNrQ29tcG9zaXRlJywgJ21hc2tJbWFnZScsICdtYXNrTW9kZScsICdtYXNrT3JpZ2luJywgJ21hc2tQb3NpdGlvblgnLCAnbWFza1Bvc2l0aW9uWScsICdtYXNrUmVwZWF0JywgJ21hc2tTaXplJ10sXG4gIG1hc2tQb3NpdGlvbjogWydtYXNrUG9zaXRpb25YJywgJ21hc2tQb3NpdGlvblknXSxcbiAgb3V0bGluZTogWydvdXRsaW5lQ29sb3InLCAnb3V0bGluZVN0eWxlJywgJ291dGxpbmVXaWR0aCddLFxuICBvdmVyZmxvdzogWydvdmVyZmxvd1gnLCAnb3ZlcmZsb3dZJ10sXG4gIHBhZGRpbmc6IFsncGFkZGluZ0JvdHRvbScsICdwYWRkaW5nTGVmdCcsICdwYWRkaW5nUmlnaHQnLCAncGFkZGluZ1RvcCddLFxuICBwbGFjZUNvbnRlbnQ6IFsnYWxpZ25Db250ZW50JywgJ2p1c3RpZnlDb250ZW50J10sXG4gIHBsYWNlSXRlbXM6IFsnYWxpZ25JdGVtcycsICdqdXN0aWZ5SXRlbXMnXSxcbiAgcGxhY2VTZWxmOiBbJ2FsaWduU2VsZicsICdqdXN0aWZ5U2VsZiddLFxuICB0ZXh0RGVjb3JhdGlvbjogWyd0ZXh0RGVjb3JhdGlvbkNvbG9yJywgJ3RleHREZWNvcmF0aW9uTGluZScsICd0ZXh0RGVjb3JhdGlvblN0eWxlJ10sXG4gIHRleHRFbXBoYXNpczogWyd0ZXh0RW1waGFzaXNDb2xvcicsICd0ZXh0RW1waGFzaXNTdHlsZSddLFxuICB0cmFuc2l0aW9uOiBbJ3RyYW5zaXRpb25EZWxheScsICd0cmFuc2l0aW9uRHVyYXRpb24nLCAndHJhbnNpdGlvblByb3BlcnR5JywgJ3RyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiddLFxuICB3b3JkV3JhcDogWydvdmVyZmxvd1dyYXAnXVxufTtcblxudmFyIHVwcGVyY2FzZVBhdHRlcm4gPSAvKFtBLVpdKS9nO1xudmFyIG1zUGF0dGVybiQxID0gL15tcy0vO1xuLyoqXG4gKiBIeXBoZW5hdGVzIGEgY2FtZWxjYXNlZCBDU1MgcHJvcGVydHkgbmFtZSwgZm9yIGV4YW1wbGU6XG4gKlxuICogICA+IGh5cGhlbmF0ZVN0eWxlTmFtZSgnYmFja2dyb3VuZENvbG9yJylcbiAqICAgPCBcImJhY2tncm91bmQtY29sb3JcIlxuICogICA+IGh5cGhlbmF0ZVN0eWxlTmFtZSgnTW96VHJhbnNpdGlvbicpXG4gKiAgIDwgXCItbW96LXRyYW5zaXRpb25cIlxuICogICA+IGh5cGhlbmF0ZVN0eWxlTmFtZSgnbXNUcmFuc2l0aW9uJylcbiAqICAgPCBcIi1tcy10cmFuc2l0aW9uXCJcbiAqXG4gKiBBcyBNb2Rlcm5penIgc3VnZ2VzdHMgKGh0dHA6Ly9tb2Rlcm5penIuY29tL2RvY3MvI3ByZWZpeGVkKSwgYW4gYG1zYCBwcmVmaXhcbiAqIGlzIGNvbnZlcnRlZCB0byBgLW1zLWAuXG4gKi9cblxuZnVuY3Rpb24gaHlwaGVuYXRlU3R5bGVOYW1lKG5hbWUpIHtcbiAgcmV0dXJuIG5hbWUucmVwbGFjZSh1cHBlcmNhc2VQYXR0ZXJuLCAnLSQxJykudG9Mb3dlckNhc2UoKS5yZXBsYWNlKG1zUGF0dGVybiQxLCAnLW1zLScpO1xufVxuXG4vLyAnbXNUcmFuc2Zvcm0nIGlzIGNvcnJlY3QsIGJ1dCB0aGUgb3RoZXIgcHJlZml4ZXMgc2hvdWxkIGJlIGNhcGl0YWxpemVkXG52YXIgYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuID0gL14oPzp3ZWJraXR8bW96fG8pW0EtWl0vO1xudmFyIG1zUGF0dGVybiA9IC9eLW1zLS87XG52YXIgaHlwaGVuUGF0dGVybiA9IC8tKC4pL2c7IC8vIHN0eWxlIHZhbHVlcyBzaG91bGRuJ3QgY29udGFpbiBhIHNlbWljb2xvblxuXG52YXIgYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuID0gLztcXHMqJC87XG52YXIgd2FybmVkU3R5bGVOYW1lcyA9IHt9O1xudmFyIHdhcm5lZFN0eWxlVmFsdWVzID0ge307XG52YXIgd2FybmVkRm9yTmFOVmFsdWUgPSBmYWxzZTtcbnZhciB3YXJuZWRGb3JJbmZpbml0eVZhbHVlID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGNhbWVsaXplKHN0cmluZykge1xuICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoaHlwaGVuUGF0dGVybiwgZnVuY3Rpb24gKF8sIGNoYXJhY3Rlcikge1xuICAgIHJldHVybiBjaGFyYWN0ZXIudG9VcHBlckNhc2UoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHdhcm5IeXBoZW5hdGVkU3R5bGVOYW1lKG5hbWUpIHtcbiAge1xuICAgIGlmICh3YXJuZWRTdHlsZU5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpICYmIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZU5hbWVzW25hbWVdID0gdHJ1ZTtcblxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIC8vIEFzIEFuZGkgU21pdGggc3VnZ2VzdHNcbiAgICAvLyAoaHR0cDovL3d3dy5hbmRpc21pdGguY29tL2Jsb2cvMjAxMi8wMi9tb2Rlcm5penItcHJlZml4ZWQvKSwgYW4gYC1tc2AgcHJlZml4XG4gICAgLy8gaXMgY29udmVydGVkIHRvIGxvd2VyY2FzZSBgbXNgLlxuICAgIGNhbWVsaXplKG5hbWUucmVwbGFjZShtc1BhdHRlcm4sICdtcy0nKSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZShuYW1lKSB7XG4gIHtcbiAgICBpZiAod2FybmVkU3R5bGVOYW1lcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSAmJiB3YXJuZWRTdHlsZU5hbWVzW25hbWVdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSA9IHRydWU7XG5cbiAgICBlcnJvcignVW5zdXBwb3J0ZWQgdmVuZG9yLXByZWZpeGVkIHN0eWxlIHByb3BlcnR5ICVzLiBEaWQgeW91IG1lYW4gJXM/JywgbmFtZSwgbmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoMSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5TdHlsZVZhbHVlV2l0aFNlbWljb2xvbihuYW1lLCB2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdhcm5lZFN0eWxlVmFsdWVzLmhhc093blByb3BlcnR5KHZhbHVlKSAmJiB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoXCJTdHlsZSBwcm9wZXJ0eSB2YWx1ZXMgc2hvdWxkbid0IGNvbnRhaW4gYSBzZW1pY29sb24uIFwiICsgJ1RyeSBcIiVzOiAlc1wiIGluc3RlYWQuJywgbmFtZSwgdmFsdWUucmVwbGFjZShiYWRTdHlsZVZhbHVlV2l0aFNlbWljb2xvblBhdHRlcm4sICcnKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gd2FyblN0eWxlVmFsdWVJc05hTihuYW1lLCB2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdhcm5lZEZvck5hTlZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2FybmVkRm9yTmFOVmFsdWUgPSB0cnVlO1xuXG4gICAgZXJyb3IoJ2BOYU5gIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yIHRoZSBgJXNgIGNzcyBzdHlsZSBwcm9wZXJ0eS4nLCBuYW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkobmFtZSwgdmFsdWUpIHtcbiAge1xuICAgIGlmICh3YXJuZWRGb3JJbmZpbml0eVZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2FybmVkRm9ySW5maW5pdHlWYWx1ZSA9IHRydWU7XG5cbiAgICBlcnJvcignYEluZmluaXR5YCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciB0aGUgYCVzYCBjc3Mgc3R5bGUgcHJvcGVydHkuJywgbmFtZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gd2FyblZhbGlkU3R5bGUobmFtZSwgdmFsdWUpIHtcbiAge1xuICAgIGlmIChuYW1lLmluZGV4T2YoJy0nKSA+IC0xKSB7XG4gICAgICB3YXJuSHlwaGVuYXRlZFN0eWxlTmFtZShuYW1lKTtcbiAgICB9IGVsc2UgaWYgKGJhZFZlbmRvcmVkU3R5bGVOYW1lUGF0dGVybi50ZXN0KG5hbWUpKSB7XG4gICAgICB3YXJuQmFkVmVuZG9yZWRTdHlsZU5hbWUobmFtZSk7XG4gICAgfSBlbHNlIGlmIChiYWRTdHlsZVZhbHVlV2l0aFNlbWljb2xvblBhdHRlcm4udGVzdCh2YWx1ZSkpIHtcbiAgICAgIHdhcm5TdHlsZVZhbHVlV2l0aFNlbWljb2xvbihuYW1lLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgd2FyblN0eWxlVmFsdWVJc05hTihuYW1lKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRmluaXRlKHZhbHVlKSkge1xuICAgICAgICB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkobmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQ1NTIHByb3BlcnRpZXMgd2hpY2ggYWNjZXB0IG51bWJlcnMgYnV0IGFyZSBub3QgaW4gdW5pdHMgb2YgXCJweFwiLlxuICovXG52YXIgdW5pdGxlc3NOdW1iZXJzID0gbmV3IFNldChbJ2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50JywgJ2FzcGVjdFJhdGlvJywgJ2JvcmRlckltYWdlT3V0c2V0JywgJ2JvcmRlckltYWdlU2xpY2UnLCAnYm9yZGVySW1hZ2VXaWR0aCcsICdib3hGbGV4JywgJ2JveEZsZXhHcm91cCcsICdib3hPcmRpbmFsR3JvdXAnLCAnY29sdW1uQ291bnQnLCAnY29sdW1ucycsICdmbGV4JywgJ2ZsZXhHcm93JywgJ2ZsZXhQb3NpdGl2ZScsICdmbGV4U2hyaW5rJywgJ2ZsZXhOZWdhdGl2ZScsICdmbGV4T3JkZXInLCAnZ3JpZEFyZWEnLCAnZ3JpZFJvdycsICdncmlkUm93RW5kJywgJ2dyaWRSb3dTcGFuJywgJ2dyaWRSb3dTdGFydCcsICdncmlkQ29sdW1uJywgJ2dyaWRDb2x1bW5FbmQnLCAnZ3JpZENvbHVtblNwYW4nLCAnZ3JpZENvbHVtblN0YXJ0JywgJ2ZvbnRXZWlnaHQnLCAnbGluZUNsYW1wJywgJ2xpbmVIZWlnaHQnLCAnb3BhY2l0eScsICdvcmRlcicsICdvcnBoYW5zJywgJ3NjYWxlJywgJ3RhYlNpemUnLCAnd2lkb3dzJywgJ3pJbmRleCcsICd6b29tJywgJ2ZpbGxPcGFjaXR5JywgLy8gU1ZHLXJlbGF0ZWQgcHJvcGVydGllc1xuJ2Zsb29kT3BhY2l0eScsICdzdG9wT3BhY2l0eScsICdzdHJva2VEYXNoYXJyYXknLCAnc3Ryb2tlRGFzaG9mZnNldCcsICdzdHJva2VNaXRlcmxpbWl0JywgJ3N0cm9rZU9wYWNpdHknLCAnc3Ryb2tlV2lkdGgnLCAnTW96QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQnLCAvLyBLbm93biBQcmVmaXhlZCBQcm9wZXJ0aWVzXG4nTW96Qm94RmxleCcsIC8vIFRPRE86IFJlbW92ZSB0aGVzZSBzaW5jZSB0aGV5IHNob3VsZG4ndCBiZSB1c2VkIGluIG1vZGVybiBjb2RlXG4nTW96Qm94RmxleEdyb3VwJywgJ01vekxpbmVDbGFtcCcsICdtc0FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50JywgJ21zRmxleCcsICdtc1pvb20nLCAnbXNGbGV4R3JvdycsICdtc0ZsZXhOZWdhdGl2ZScsICdtc0ZsZXhPcmRlcicsICdtc0ZsZXhQb3NpdGl2ZScsICdtc0ZsZXhTaHJpbmsnLCAnbXNHcmlkQ29sdW1uJywgJ21zR3JpZENvbHVtblNwYW4nLCAnbXNHcmlkUm93JywgJ21zR3JpZFJvd1NwYW4nLCAnV2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQnLCAnV2Via2l0Qm94RmxleCcsICdXZWJLaXRCb3hGbGV4R3JvdXAnLCAnV2Via2l0Qm94T3JkaW5hbEdyb3VwJywgJ1dlYmtpdENvbHVtbkNvdW50JywgJ1dlYmtpdENvbHVtbnMnLCAnV2Via2l0RmxleCcsICdXZWJraXRGbGV4R3JvdycsICdXZWJraXRGbGV4UG9zaXRpdmUnLCAnV2Via2l0RmxleFNocmluaycsICdXZWJraXRMaW5lQ2xhbXAnXSk7XG5mdW5jdGlvbiBpc1VuaXRsZXNzTnVtYmVyIChuYW1lKSB7XG4gIHJldHVybiB1bml0bGVzc051bWJlcnMuaGFzKG5hbWUpO1xufVxuXG4vKipcbiAqIE9wZXJhdGlvbnMgZm9yIGRlYWxpbmcgd2l0aCBDU1MgcHJvcGVydGllcy5cbiAqL1xuXG4vKipcbiAqIFRoaXMgY3JlYXRlcyBhIHN0cmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGJlIGVxdWl2YWxlbnQgdG8gdGhlIHN0eWxlXG4gKiBhdHRyaWJ1dGUgZ2VuZXJhdGVkIGJ5IHNlcnZlci1zaWRlIHJlbmRlcmluZy4gSXQgYnktcGFzc2VzIHdhcm5pbmdzIGFuZFxuICogc2VjdXJpdHkgY2hlY2tzIHNvIGl0J3Mgbm90IHNhZmUgdG8gdXNlIHRoaXMgdmFsdWUgZm9yIGFueXRoaW5nIG90aGVyIHRoYW5cbiAqIGNvbXBhcmlzb24uIEl0IGlzIG9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxuICovXG5cbmZ1bmN0aW9uIGNyZWF0ZURhbmdlcm91c1N0cmluZ0ZvclN0eWxlcyhzdHlsZXMpIHtcbiAge1xuICAgIHZhciBzZXJpYWxpemVkID0gJyc7XG4gICAgdmFyIGRlbGltaXRlciA9ICcnO1xuXG4gICAgZm9yICh2YXIgc3R5bGVOYW1lIGluIHN0eWxlcykge1xuICAgICAgaWYgKCFzdHlsZXMuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdmFyIHZhbHVlID0gc3R5bGVzW3N0eWxlTmFtZV07XG5cbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nICYmIHZhbHVlICE9PSAnJykge1xuICAgICAgICB2YXIgaXNDdXN0b21Qcm9wZXJ0eSA9IHN0eWxlTmFtZS5pbmRleE9mKCctLScpID09PSAwO1xuXG4gICAgICAgIGlmIChpc0N1c3RvbVByb3BlcnR5KSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgY2hlY2tDU1NQcm9wZXJ0eVN0cmluZ0NvZXJjaW9uKHZhbHVlLCBzdHlsZU5hbWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNlcmlhbGl6ZWQgKz0gZGVsaW1pdGVyICsgc3R5bGVOYW1lICsgJzonICsgKCcnICsgdmFsdWUpLnRyaW0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhaXNVbml0bGVzc051bWJlcihzdHlsZU5hbWUpKSB7XG4gICAgICAgICAgICBzZXJpYWxpemVkICs9IGRlbGltaXRlciArIGh5cGhlbmF0ZVN0eWxlTmFtZShzdHlsZU5hbWUpICsgJzonICsgdmFsdWUgKyAncHgnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNoZWNrQ1NTUHJvcGVydHlTdHJpbmdDb2VyY2lvbih2YWx1ZSwgc3R5bGVOYW1lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2VyaWFsaXplZCArPSBkZWxpbWl0ZXIgKyBoeXBoZW5hdGVTdHlsZU5hbWUoc3R5bGVOYW1lKSArICc6JyArICgnJyArIHZhbHVlKS50cmltKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGVsaW1pdGVyID0gJzsnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzZXJpYWxpemVkIHx8IG51bGw7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0VmFsdWVGb3JTdHlsZShzdHlsZSwgc3R5bGVOYW1lLCB2YWx1ZSkge1xuICB2YXIgaXNDdXN0b21Qcm9wZXJ0eSA9IHN0eWxlTmFtZS5pbmRleE9mKCctLScpID09PSAwO1xuXG4gIHtcbiAgICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkpIHtcbiAgICAgIHdhcm5WYWxpZFN0eWxlKHN0eWxlTmFtZSwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh2YWx1ZSA9PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nIHx8IHZhbHVlID09PSAnJykge1xuICAgIGlmIChpc0N1c3RvbVByb3BlcnR5KSB7XG4gICAgICBzdHlsZS5zZXRQcm9wZXJ0eShzdHlsZU5hbWUsICcnKTtcbiAgICB9IGVsc2UgaWYgKHN0eWxlTmFtZSA9PT0gJ2Zsb2F0Jykge1xuICAgICAgc3R5bGUuY3NzRmxvYXQgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVbc3R5bGVOYW1lXSA9ICcnO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc0N1c3RvbVByb3BlcnR5KSB7XG4gICAgc3R5bGUuc2V0UHJvcGVydHkoc3R5bGVOYW1lLCB2YWx1ZSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhaXNVbml0bGVzc051bWJlcihzdHlsZU5hbWUpKSB7XG4gICAgc3R5bGVbc3R5bGVOYW1lXSA9IHZhbHVlICsgJ3B4JzsgLy8gUHJlc3VtZXMgaW1wbGljaXQgJ3B4JyBzdWZmaXggZm9yIHVuaXRsZXNzIG51bWJlcnNcbiAgfSBlbHNlIHtcbiAgICBpZiAoc3R5bGVOYW1lID09PSAnZmxvYXQnKSB7XG4gICAgICBzdHlsZS5jc3NGbG9hdCA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrQ1NTUHJvcGVydHlTdHJpbmdDb2VyY2lvbih2YWx1ZSwgc3R5bGVOYW1lKTtcbiAgICAgIH1cblxuICAgICAgc3R5bGVbc3R5bGVOYW1lXSA9ICgnJyArIHZhbHVlKS50cmltKCk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFNldHMgdGhlIHZhbHVlIGZvciBtdWx0aXBsZSBzdHlsZXMgb24gYSBub2RlLiAgSWYgYSB2YWx1ZSBpcyBzcGVjaWZpZWQgYXNcbiAqICcnIChlbXB0eSBzdHJpbmcpLCB0aGUgY29ycmVzcG9uZGluZyBzdHlsZSBwcm9wZXJ0eSB3aWxsIGJlIHVuc2V0LlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IHN0eWxlc1xuICovXG5cblxuZnVuY3Rpb24gc2V0VmFsdWVGb3JTdHlsZXMobm9kZSwgc3R5bGVzLCBwcmV2U3R5bGVzKSB7XG4gIGlmIChzdHlsZXMgIT0gbnVsbCAmJiB0eXBlb2Ygc3R5bGVzICE9PSAnb2JqZWN0Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGBzdHlsZWAgcHJvcCBleHBlY3RzIGEgbWFwcGluZyBmcm9tIHN0eWxlIHByb3BlcnRpZXMgdG8gdmFsdWVzLCAnICsgXCJub3QgYSBzdHJpbmcuIEZvciBleGFtcGxlLCBzdHlsZT17e21hcmdpblJpZ2h0OiBzcGFjaW5nICsgJ2VtJ319IHdoZW4gXCIgKyAndXNpbmcgSlNYLicpO1xuICB9XG5cbiAge1xuICAgIGlmIChzdHlsZXMpIHtcbiAgICAgIC8vIEZyZWV6ZSB0aGUgbmV4dCBzdHlsZSBvYmplY3Qgc28gdGhhdCB3ZSBjYW4gYXNzdW1lIGl0IHdvbid0IGJlXG4gICAgICAvLyBtdXRhdGVkLiBXZSBoYXZlIGFscmVhZHkgd2FybmVkIGZvciB0aGlzIGluIHRoZSBwYXN0LlxuICAgICAgT2JqZWN0LmZyZWV6ZShzdHlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBzdHlsZSA9IG5vZGUuc3R5bGU7XG5cbiAgaWYgKHByZXZTdHlsZXMgIT0gbnVsbCkge1xuICAgIHtcbiAgICAgIHZhbGlkYXRlU2hvcnRoYW5kUHJvcGVydHlDb2xsaXNpb25JbkRldihwcmV2U3R5bGVzLCBzdHlsZXMpO1xuICAgIH1cblxuICAgIGZvciAodmFyIHN0eWxlTmFtZSBpbiBwcmV2U3R5bGVzKSB7XG4gICAgICBpZiAocHJldlN0eWxlcy5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpICYmIChzdHlsZXMgPT0gbnVsbCB8fCAhc3R5bGVzLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpKSB7XG4gICAgICAgIC8vIENsZWFyIHN0eWxlXG4gICAgICAgIHZhciBpc0N1c3RvbVByb3BlcnR5ID0gc3R5bGVOYW1lLmluZGV4T2YoJy0tJykgPT09IDA7XG5cbiAgICAgICAgaWYgKGlzQ3VzdG9tUHJvcGVydHkpIHtcbiAgICAgICAgICBzdHlsZS5zZXRQcm9wZXJ0eShzdHlsZU5hbWUsICcnKTtcbiAgICAgICAgfSBlbHNlIGlmIChzdHlsZU5hbWUgPT09ICdmbG9hdCcpIHtcbiAgICAgICAgICBzdHlsZS5jc3NGbG9hdCA9ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0eWxlW3N0eWxlTmFtZV0gPSAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9zdHlsZU5hbWUgaW4gc3R5bGVzKSB7XG4gICAgICB2YXIgdmFsdWUgPSBzdHlsZXNbX3N0eWxlTmFtZV07XG5cbiAgICAgIGlmIChzdHlsZXMuaGFzT3duUHJvcGVydHkoX3N0eWxlTmFtZSkgJiYgcHJldlN0eWxlc1tfc3R5bGVOYW1lXSAhPT0gdmFsdWUpIHtcbiAgICAgICAgc2V0VmFsdWVGb3JTdHlsZShzdHlsZSwgX3N0eWxlTmFtZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBfc3R5bGVOYW1lMiBpbiBzdHlsZXMpIHtcbiAgICAgIGlmIChzdHlsZXMuaGFzT3duUHJvcGVydHkoX3N0eWxlTmFtZTIpKSB7XG4gICAgICAgIHZhciBfdmFsdWUgPSBzdHlsZXNbX3N0eWxlTmFtZTJdO1xuICAgICAgICBzZXRWYWx1ZUZvclN0eWxlKHN0eWxlLCBfc3R5bGVOYW1lMiwgX3ZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNWYWx1ZUVtcHR5KHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nIHx8IHZhbHVlID09PSAnJztcbn1cbi8qKlxuICogR2l2ZW4ge2NvbG9yOiAncmVkJywgb3ZlcmZsb3c6ICdoaWRkZW4nfSByZXR1cm5zIHtcbiAqICAgY29sb3I6ICdjb2xvcicsXG4gKiAgIG92ZXJmbG93WDogJ292ZXJmbG93JyxcbiAqICAgb3ZlcmZsb3dZOiAnb3ZlcmZsb3cnLFxuICogfS4gVGhpcyBjYW4gYmUgcmVhZCBhcyBcInRoZSBvdmVyZmxvd1kgcHJvcGVydHkgd2FzIHNldCBieSB0aGUgb3ZlcmZsb3dcbiAqIHNob3J0aGFuZFwiLiBUaGF0IGlzLCB0aGUgdmFsdWVzIGFyZSB0aGUgcHJvcGVydHkgdGhhdCBlYWNoIHdhcyBkZXJpdmVkIGZyb20uXG4gKi9cblxuXG5mdW5jdGlvbiBleHBhbmRTaG9ydGhhbmRNYXAoc3R5bGVzKSB7XG4gIHZhciBleHBhbmRlZCA9IHt9O1xuXG4gIGZvciAodmFyIGtleSBpbiBzdHlsZXMpIHtcbiAgICB2YXIgbG9uZ2hhbmRzID0gc2hvcnRoYW5kVG9Mb25naGFuZFtrZXldIHx8IFtrZXldO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsb25naGFuZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGV4cGFuZGVkW2xvbmdoYW5kc1tpXV0gPSBrZXk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4cGFuZGVkO1xufVxuLyoqXG4gKiBXaGVuIG1peGluZyBzaG9ydGhhbmQgYW5kIGxvbmdoYW5kIHByb3BlcnR5IG5hbWVzLCB3ZSB3YXJuIGR1cmluZyB1cGRhdGVzIGlmXG4gKiB3ZSBleHBlY3QgYW4gaW5jb3JyZWN0IHJlc3VsdCB0byBvY2N1ci4gSW4gcGFydGljdWxhciwgd2Ugd2FybiBmb3I6XG4gKlxuICogVXBkYXRpbmcgYSBzaG9ydGhhbmQgcHJvcGVydHkgKGxvbmdoYW5kIGdldHMgb3ZlcndyaXR0ZW4pOlxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnQ6ICdiYXonLCBmb250VmFyaWFudDogJ2Jhcid9XG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnQgPSAnYmF6J1xuICogUmVtb3ZpbmcgYSBzaG9ydGhhbmQgcHJvcGVydHkgKGxvbmdoYW5kIGdldHMgbG9zdCB0b28pOlxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnRWYXJpYW50OiAnYmFyJ31cbiAqICAgYmVjb21lcyAuc3R5bGUuZm9udCA9ICcnXG4gKiBSZW1vdmluZyBhIGxvbmdoYW5kIHByb3BlcnR5IChzaG91bGQgcmV2ZXJ0IHRvIHNob3J0aGFuZDsgZG9lc24ndCk6XG4gKiAgIHtmb250OiAnZm9vJywgZm9udFZhcmlhbnQ6ICdiYXInfSAtPiB7Zm9udDogJ2Zvbyd9XG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnRWYXJpYW50ID0gJydcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlU2hvcnRoYW5kUHJvcGVydHlDb2xsaXNpb25JbkRldihwcmV2U3R5bGVzLCBuZXh0U3R5bGVzKSB7XG4gIHtcbiAgICBpZiAoIW5leHRTdHlsZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIENvbXB1dGUgdGhlIGRpZmYgYXMgaXQgd291bGQgaGFwcGVuIGVsc2V3aGVyZS5cblxuXG4gICAgdmFyIGV4cGFuZGVkVXBkYXRlcyA9IHt9O1xuXG4gICAgaWYgKHByZXZTdHlsZXMpIHtcbiAgICAgIGZvciAodmFyIGtleSBpbiBwcmV2U3R5bGVzKSB7XG4gICAgICAgIGlmIChwcmV2U3R5bGVzLmhhc093blByb3BlcnR5KGtleSkgJiYgIW5leHRTdHlsZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgIHZhciBsb25naGFuZHMgPSBzaG9ydGhhbmRUb0xvbmdoYW5kW2tleV0gfHwgW2tleV07XG5cbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxvbmdoYW5kcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZXhwYW5kZWRVcGRhdGVzW2xvbmdoYW5kc1tpXV0gPSBrZXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yICh2YXIgX2tleSBpbiBuZXh0U3R5bGVzKSB7XG4gICAgICBpZiAobmV4dFN0eWxlcy5oYXNPd25Qcm9wZXJ0eShfa2V5KSAmJiAoIXByZXZTdHlsZXMgfHwgcHJldlN0eWxlc1tfa2V5XSAhPT0gbmV4dFN0eWxlc1tfa2V5XSkpIHtcbiAgICAgICAgdmFyIF9sb25naGFuZHMgPSBzaG9ydGhhbmRUb0xvbmdoYW5kW19rZXldIHx8IFtfa2V5XTtcblxuICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgX2xvbmdoYW5kcy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICBleHBhbmRlZFVwZGF0ZXNbX2xvbmdoYW5kc1tfaV1dID0gX2tleTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBleHBhbmRlZFN0eWxlcyA9IGV4cGFuZFNob3J0aGFuZE1hcChuZXh0U3R5bGVzKTtcbiAgICB2YXIgd2FybmVkQWJvdXQgPSB7fTtcblxuICAgIGZvciAodmFyIF9rZXkyIGluIGV4cGFuZGVkVXBkYXRlcykge1xuICAgICAgdmFyIG9yaWdpbmFsS2V5ID0gZXhwYW5kZWRVcGRhdGVzW19rZXkyXTtcbiAgICAgIHZhciBjb3JyZWN0T3JpZ2luYWxLZXkgPSBleHBhbmRlZFN0eWxlc1tfa2V5Ml07XG5cbiAgICAgIGlmIChjb3JyZWN0T3JpZ2luYWxLZXkgJiYgb3JpZ2luYWxLZXkgIT09IGNvcnJlY3RPcmlnaW5hbEtleSkge1xuICAgICAgICB2YXIgd2FybmluZ0tleSA9IG9yaWdpbmFsS2V5ICsgJywnICsgY29ycmVjdE9yaWdpbmFsS2V5O1xuXG4gICAgICAgIGlmICh3YXJuZWRBYm91dFt3YXJuaW5nS2V5XSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgd2FybmVkQWJvdXRbd2FybmluZ0tleV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclcyBhIHN0eWxlIHByb3BlcnR5IGR1cmluZyByZXJlbmRlciAoJXMpIHdoZW4gYSAnICsgJ2NvbmZsaWN0aW5nIHByb3BlcnR5IGlzIHNldCAoJXMpIGNhbiBsZWFkIHRvIHN0eWxpbmcgYnVncy4gVG8gJyArIFwiYXZvaWQgdGhpcywgZG9uJ3QgbWl4IHNob3J0aGFuZCBhbmQgbm9uLXNob3J0aGFuZCBwcm9wZXJ0aWVzIFwiICsgJ2ZvciB0aGUgc2FtZSB2YWx1ZTsgaW5zdGVhZCwgcmVwbGFjZSB0aGUgc2hvcnRoYW5kIHdpdGggJyArICdzZXBhcmF0ZSB2YWx1ZXMuJywgaXNWYWx1ZUVtcHR5KG5leHRTdHlsZXNbb3JpZ2luYWxLZXldKSA/ICdSZW1vdmluZycgOiAnVXBkYXRpbmcnLCBvcmlnaW5hbEtleSwgY29ycmVjdE9yaWdpbmFsS2V5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNDdXN0b21FbGVtZW50KHRhZ05hbWUsIHByb3BzKSB7XG4gIGlmICh0YWdOYW1lLmluZGV4T2YoJy0nKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzd2l0Y2ggKHRhZ05hbWUpIHtcbiAgICAvLyBUaGVzZSBhcmUgcmVzZXJ2ZWQgU1ZHIGFuZCBNYXRoTUwgZWxlbWVudHMuXG4gICAgLy8gV2UgZG9uJ3QgbWluZCB0aGlzIGxpc3QgdG9vIG11Y2ggYmVjYXVzZSB3ZSBleHBlY3QgaXQgdG8gbmV2ZXIgZ3Jvdy5cbiAgICAvLyBUaGUgYWx0ZXJuYXRpdmUgaXMgdG8gdHJhY2sgdGhlIG5hbWVzcGFjZSBpbiBhIGZldyBwbGFjZXMgd2hpY2ggaXMgY29udm9sdXRlZC5cbiAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViY29tcG9uZW50cy9zcGVjL2N1c3RvbS8jY3VzdG9tLWVsZW1lbnRzLWNvcmUtY29uY2VwdHNcbiAgICBjYXNlICdhbm5vdGF0aW9uLXhtbCc6XG4gICAgY2FzZSAnY29sb3ItcHJvZmlsZSc6XG4gICAgY2FzZSAnZm9udC1mYWNlJzpcbiAgICBjYXNlICdmb250LWZhY2Utc3JjJzpcbiAgICBjYXNlICdmb250LWZhY2UtdXJpJzpcbiAgICBjYXNlICdmb250LWZhY2UtZm9ybWF0JzpcbiAgICBjYXNlICdmb250LWZhY2UtbmFtZSc6XG4gICAgY2FzZSAnbWlzc2luZy1nbHlwaCc6XG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxudmFyIGFsaWFzZXMgPSBuZXcgTWFwKFtbJ2FjY2VwdENoYXJzZXQnLCAnYWNjZXB0LWNoYXJzZXQnXSwgWydodG1sRm9yJywgJ2ZvciddLCBbJ2h0dHBFcXVpdicsICdodHRwLWVxdWl2J10sIC8vIEhUTUwgYW5kIFNWRyBhdHRyaWJ1dGVzLCBidXQgdGhlIFNWRyBhdHRyaWJ1dGUgaXMgY2FzZSBzZW5zaXRpdmUuXSxcblsnY3Jvc3NPcmlnaW4nLCAnY3Jvc3NvcmlnaW4nXSwgLy8gVGhpcyBpcyBhIGxpc3Qgb2YgYWxsIFNWRyBhdHRyaWJ1dGVzIHRoYXQgbmVlZCBzcGVjaWFsIGNhc2luZy5cbi8vIFJlZ3VsYXIgYXR0cmlidXRlcyB0aGF0IGp1c3QgYWNjZXB0IHN0cmluZ3MuXSxcblsnYWNjZW50SGVpZ2h0JywgJ2FjY2VudC1oZWlnaHQnXSwgWydhbGlnbm1lbnRCYXNlbGluZScsICdhbGlnbm1lbnQtYmFzZWxpbmUnXSwgWydhcmFiaWNGb3JtJywgJ2FyYWJpYy1mb3JtJ10sIFsnYmFzZWxpbmVTaGlmdCcsICdiYXNlbGluZS1zaGlmdCddLCBbJ2NhcEhlaWdodCcsICdjYXAtaGVpZ2h0J10sIFsnY2xpcFBhdGgnLCAnY2xpcC1wYXRoJ10sIFsnY2xpcFJ1bGUnLCAnY2xpcC1ydWxlJ10sIFsnY29sb3JJbnRlcnBvbGF0aW9uJywgJ2NvbG9yLWludGVycG9sYXRpb24nXSwgWydjb2xvckludGVycG9sYXRpb25GaWx0ZXJzJywgJ2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyddLCBbJ2NvbG9yUHJvZmlsZScsICdjb2xvci1wcm9maWxlJ10sIFsnY29sb3JSZW5kZXJpbmcnLCAnY29sb3ItcmVuZGVyaW5nJ10sIFsnZG9taW5hbnRCYXNlbGluZScsICdkb21pbmFudC1iYXNlbGluZSddLCBbJ2VuYWJsZUJhY2tncm91bmQnLCAnZW5hYmxlLWJhY2tncm91bmQnXSwgWydmaWxsT3BhY2l0eScsICdmaWxsLW9wYWNpdHknXSwgWydmaWxsUnVsZScsICdmaWxsLXJ1bGUnXSwgWydmbG9vZENvbG9yJywgJ2Zsb29kLWNvbG9yJ10sIFsnZmxvb2RPcGFjaXR5JywgJ2Zsb29kLW9wYWNpdHknXSwgWydmb250RmFtaWx5JywgJ2ZvbnQtZmFtaWx5J10sIFsnZm9udFNpemUnLCAnZm9udC1zaXplJ10sIFsnZm9udFNpemVBZGp1c3QnLCAnZm9udC1zaXplLWFkanVzdCddLCBbJ2ZvbnRTdHJldGNoJywgJ2ZvbnQtc3RyZXRjaCddLCBbJ2ZvbnRTdHlsZScsICdmb250LXN0eWxlJ10sIFsnZm9udFZhcmlhbnQnLCAnZm9udC12YXJpYW50J10sIFsnZm9udFdlaWdodCcsICdmb250LXdlaWdodCddLCBbJ2dseXBoTmFtZScsICdnbHlwaC1uYW1lJ10sIFsnZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwnLCAnZ2x5cGgtb3JpZW50YXRpb24taG9yaXpvbnRhbCddLCBbJ2dseXBoT3JpZW50YXRpb25WZXJ0aWNhbCcsICdnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCddLCBbJ2hvcml6QWR2WCcsICdob3Jpei1hZHYteCddLCBbJ2hvcml6T3JpZ2luWCcsICdob3Jpei1vcmlnaW4teCddLCBbJ2ltYWdlUmVuZGVyaW5nJywgJ2ltYWdlLXJlbmRlcmluZyddLCBbJ2xldHRlclNwYWNpbmcnLCAnbGV0dGVyLXNwYWNpbmcnXSwgWydsaWdodGluZ0NvbG9yJywgJ2xpZ2h0aW5nLWNvbG9yJ10sIFsnbWFya2VyRW5kJywgJ21hcmtlci1lbmQnXSwgWydtYXJrZXJNaWQnLCAnbWFya2VyLW1pZCddLCBbJ21hcmtlclN0YXJ0JywgJ21hcmtlci1zdGFydCddLCBbJ292ZXJsaW5lUG9zaXRpb24nLCAnb3ZlcmxpbmUtcG9zaXRpb24nXSwgWydvdmVybGluZVRoaWNrbmVzcycsICdvdmVybGluZS10aGlja25lc3MnXSwgWydwYWludE9yZGVyJywgJ3BhaW50LW9yZGVyJ10sIFsncGFub3NlLTEnLCAncGFub3NlLTEnXSwgWydwb2ludGVyRXZlbnRzJywgJ3BvaW50ZXItZXZlbnRzJ10sIFsncmVuZGVyaW5nSW50ZW50JywgJ3JlbmRlcmluZy1pbnRlbnQnXSwgWydzaGFwZVJlbmRlcmluZycsICdzaGFwZS1yZW5kZXJpbmcnXSwgWydzdG9wQ29sb3InLCAnc3RvcC1jb2xvciddLCBbJ3N0b3BPcGFjaXR5JywgJ3N0b3Atb3BhY2l0eSddLCBbJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsICdzdHJpa2V0aHJvdWdoLXBvc2l0aW9uJ10sIFsnc3RyaWtldGhyb3VnaFRoaWNrbmVzcycsICdzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyddLCBbJ3N0cm9rZURhc2hhcnJheScsICdzdHJva2UtZGFzaGFycmF5J10sIFsnc3Ryb2tlRGFzaG9mZnNldCcsICdzdHJva2UtZGFzaG9mZnNldCddLCBbJ3N0cm9rZUxpbmVjYXAnLCAnc3Ryb2tlLWxpbmVjYXAnXSwgWydzdHJva2VMaW5lam9pbicsICdzdHJva2UtbGluZWpvaW4nXSwgWydzdHJva2VNaXRlcmxpbWl0JywgJ3N0cm9rZS1taXRlcmxpbWl0J10sIFsnc3Ryb2tlT3BhY2l0eScsICdzdHJva2Utb3BhY2l0eSddLCBbJ3N0cm9rZVdpZHRoJywgJ3N0cm9rZS13aWR0aCddLCBbJ3RleHRBbmNob3InLCAndGV4dC1hbmNob3InXSwgWyd0ZXh0RGVjb3JhdGlvbicsICd0ZXh0LWRlY29yYXRpb24nXSwgWyd0ZXh0UmVuZGVyaW5nJywgJ3RleHQtcmVuZGVyaW5nJ10sIFsndHJhbnNmb3JtT3JpZ2luJywgJ3RyYW5zZm9ybS1vcmlnaW4nXSwgWyd1bmRlcmxpbmVQb3NpdGlvbicsICd1bmRlcmxpbmUtcG9zaXRpb24nXSwgWyd1bmRlcmxpbmVUaGlja25lc3MnLCAndW5kZXJsaW5lLXRoaWNrbmVzcyddLCBbJ3VuaWNvZGVCaWRpJywgJ3VuaWNvZGUtYmlkaSddLCBbJ3VuaWNvZGVSYW5nZScsICd1bmljb2RlLXJhbmdlJ10sIFsndW5pdHNQZXJFbScsICd1bml0cy1wZXItZW0nXSwgWyd2QWxwaGFiZXRpYycsICd2LWFscGhhYmV0aWMnXSwgWyd2SGFuZ2luZycsICd2LWhhbmdpbmcnXSwgWyd2SWRlb2dyYXBoaWMnLCAndi1pZGVvZ3JhcGhpYyddLCBbJ3ZNYXRoZW1hdGljYWwnLCAndi1tYXRoZW1hdGljYWwnXSwgWyd2ZWN0b3JFZmZlY3QnLCAndmVjdG9yLWVmZmVjdCddLCBbJ3ZlcnRBZHZZJywgJ3ZlcnQtYWR2LXknXSwgWyd2ZXJ0T3JpZ2luWCcsICd2ZXJ0LW9yaWdpbi14J10sIFsndmVydE9yaWdpblknLCAndmVydC1vcmlnaW4teSddLCBbJ3dvcmRTcGFjaW5nJywgJ3dvcmQtc3BhY2luZyddLCBbJ3dyaXRpbmdNb2RlJywgJ3dyaXRpbmctbW9kZSddLCBbJ3htbG5zWGxpbmsnLCAneG1sbnM6eGxpbmsnXSwgWyd4SGVpZ2h0JywgJ3gtaGVpZ2h0J11dKTtcbmZ1bmN0aW9uIGdldEF0dHJpYnV0ZUFsaWFzIChuYW1lKSB7XG4gIHJldHVybiBhbGlhc2VzLmdldChuYW1lKSB8fCBuYW1lO1xufVxuXG4vLyBXaGVuIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBIVE1MIG9yIFNWRyBhbGxvd2VkIGF0dHJpYnV0ZSBsaXN0LCBiZSBzdXJlIHRvXG4vLyBhbHNvIGFkZCB0aGVtIHRvIHRoaXMgbW9kdWxlIHRvIGVuc3VyZSBjYXNpbmcgYW5kIGluY29ycmVjdCBuYW1lXG4vLyB3YXJuaW5ncy5cbnZhciBwb3NzaWJsZVN0YW5kYXJkTmFtZXMgPSB7XG4gIC8vIEhUTUxcbiAgYWNjZXB0OiAnYWNjZXB0JyxcbiAgYWNjZXB0Y2hhcnNldDogJ2FjY2VwdENoYXJzZXQnLFxuICAnYWNjZXB0LWNoYXJzZXQnOiAnYWNjZXB0Q2hhcnNldCcsXG4gIGFjY2Vzc2tleTogJ2FjY2Vzc0tleScsXG4gIGFjdGlvbjogJ2FjdGlvbicsXG4gIGFsbG93ZnVsbHNjcmVlbjogJ2FsbG93RnVsbFNjcmVlbicsXG4gIGFsdDogJ2FsdCcsXG4gIGFzOiAnYXMnLFxuICBhc3luYzogJ2FzeW5jJyxcbiAgYXV0b2NhcGl0YWxpemU6ICdhdXRvQ2FwaXRhbGl6ZScsXG4gIGF1dG9jb21wbGV0ZTogJ2F1dG9Db21wbGV0ZScsXG4gIGF1dG9jb3JyZWN0OiAnYXV0b0NvcnJlY3QnLFxuICBhdXRvZm9jdXM6ICdhdXRvRm9jdXMnLFxuICBhdXRvcGxheTogJ2F1dG9QbGF5JyxcbiAgYXV0b3NhdmU6ICdhdXRvU2F2ZScsXG4gIGNhcHR1cmU6ICdjYXB0dXJlJyxcbiAgY2VsbHBhZGRpbmc6ICdjZWxsUGFkZGluZycsXG4gIGNlbGxzcGFjaW5nOiAnY2VsbFNwYWNpbmcnLFxuICBjaGFsbGVuZ2U6ICdjaGFsbGVuZ2UnLFxuICBjaGFyc2V0OiAnY2hhclNldCcsXG4gIGNoZWNrZWQ6ICdjaGVja2VkJyxcbiAgY2hpbGRyZW46ICdjaGlsZHJlbicsXG4gIGNpdGU6ICdjaXRlJyxcbiAgY2xhc3M6ICdjbGFzc05hbWUnLFxuICBjbGFzc2lkOiAnY2xhc3NJRCcsXG4gIGNsYXNzbmFtZTogJ2NsYXNzTmFtZScsXG4gIGNvbHM6ICdjb2xzJyxcbiAgY29sc3BhbjogJ2NvbFNwYW4nLFxuICBjb250ZW50OiAnY29udGVudCcsXG4gIGNvbnRlbnRlZGl0YWJsZTogJ2NvbnRlbnRFZGl0YWJsZScsXG4gIGNvbnRleHRtZW51OiAnY29udGV4dE1lbnUnLFxuICBjb250cm9sczogJ2NvbnRyb2xzJyxcbiAgY29udHJvbHNsaXN0OiAnY29udHJvbHNMaXN0JyxcbiAgY29vcmRzOiAnY29vcmRzJyxcbiAgY3Jvc3NvcmlnaW46ICdjcm9zc09yaWdpbicsXG4gIGRhbmdlcm91c2x5c2V0aW5uZXJodG1sOiAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnLFxuICBkYXRhOiAnZGF0YScsXG4gIGRhdGV0aW1lOiAnZGF0ZVRpbWUnLFxuICBkZWZhdWx0OiAnZGVmYXVsdCcsXG4gIGRlZmF1bHRjaGVja2VkOiAnZGVmYXVsdENoZWNrZWQnLFxuICBkZWZhdWx0dmFsdWU6ICdkZWZhdWx0VmFsdWUnLFxuICBkZWZlcjogJ2RlZmVyJyxcbiAgZGlyOiAnZGlyJyxcbiAgZGlzYWJsZWQ6ICdkaXNhYmxlZCcsXG4gIGRpc2FibGVwaWN0dXJlaW5waWN0dXJlOiAnZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUnLFxuICBkaXNhYmxlcmVtb3RlcGxheWJhY2s6ICdkaXNhYmxlUmVtb3RlUGxheWJhY2snLFxuICBkb3dubG9hZDogJ2Rvd25sb2FkJyxcbiAgZHJhZ2dhYmxlOiAnZHJhZ2dhYmxlJyxcbiAgZW5jdHlwZTogJ2VuY1R5cGUnLFxuICBlbnRlcmtleWhpbnQ6ICdlbnRlcktleUhpbnQnLFxuICBmZXRjaHByaW9yaXR5OiAnZmV0Y2hQcmlvcml0eScsXG4gIGZvcjogJ2h0bWxGb3InLFxuICBmb3JtOiAnZm9ybScsXG4gIGZvcm1tZXRob2Q6ICdmb3JtTWV0aG9kJyxcbiAgZm9ybWFjdGlvbjogJ2Zvcm1BY3Rpb24nLFxuICBmb3JtZW5jdHlwZTogJ2Zvcm1FbmNUeXBlJyxcbiAgZm9ybW5vdmFsaWRhdGU6ICdmb3JtTm9WYWxpZGF0ZScsXG4gIGZvcm10YXJnZXQ6ICdmb3JtVGFyZ2V0JyxcbiAgZnJhbWVib3JkZXI6ICdmcmFtZUJvcmRlcicsXG4gIGhlYWRlcnM6ICdoZWFkZXJzJyxcbiAgaGVpZ2h0OiAnaGVpZ2h0JyxcbiAgaGlkZGVuOiAnaGlkZGVuJyxcbiAgaGlnaDogJ2hpZ2gnLFxuICBocmVmOiAnaHJlZicsXG4gIGhyZWZsYW5nOiAnaHJlZkxhbmcnLFxuICBodG1sZm9yOiAnaHRtbEZvcicsXG4gIGh0dHBlcXVpdjogJ2h0dHBFcXVpdicsXG4gICdodHRwLWVxdWl2JzogJ2h0dHBFcXVpdicsXG4gIGljb246ICdpY29uJyxcbiAgaWQ6ICdpZCcsXG4gIGltYWdlc2l6ZXM6ICdpbWFnZVNpemVzJyxcbiAgaW1hZ2VzcmNzZXQ6ICdpbWFnZVNyY1NldCcsXG4gIGlubmVyaHRtbDogJ2lubmVySFRNTCcsXG4gIGlucHV0bW9kZTogJ2lucHV0TW9kZScsXG4gIGludGVncml0eTogJ2ludGVncml0eScsXG4gIGlzOiAnaXMnLFxuICBpdGVtaWQ6ICdpdGVtSUQnLFxuICBpdGVtcHJvcDogJ2l0ZW1Qcm9wJyxcbiAgaXRlbXJlZjogJ2l0ZW1SZWYnLFxuICBpdGVtc2NvcGU6ICdpdGVtU2NvcGUnLFxuICBpdGVtdHlwZTogJ2l0ZW1UeXBlJyxcbiAga2V5cGFyYW1zOiAna2V5UGFyYW1zJyxcbiAga2V5dHlwZTogJ2tleVR5cGUnLFxuICBraW5kOiAna2luZCcsXG4gIGxhYmVsOiAnbGFiZWwnLFxuICBsYW5nOiAnbGFuZycsXG4gIGxpc3Q6ICdsaXN0JyxcbiAgbG9vcDogJ2xvb3AnLFxuICBsb3c6ICdsb3cnLFxuICBtYW5pZmVzdDogJ21hbmlmZXN0JyxcbiAgbWFyZ2lud2lkdGg6ICdtYXJnaW5XaWR0aCcsXG4gIG1hcmdpbmhlaWdodDogJ21hcmdpbkhlaWdodCcsXG4gIG1heDogJ21heCcsXG4gIG1heGxlbmd0aDogJ21heExlbmd0aCcsXG4gIG1lZGlhOiAnbWVkaWEnLFxuICBtZWRpYWdyb3VwOiAnbWVkaWFHcm91cCcsXG4gIG1ldGhvZDogJ21ldGhvZCcsXG4gIG1pbjogJ21pbicsXG4gIG1pbmxlbmd0aDogJ21pbkxlbmd0aCcsXG4gIG11bHRpcGxlOiAnbXVsdGlwbGUnLFxuICBtdXRlZDogJ211dGVkJyxcbiAgbmFtZTogJ25hbWUnLFxuICBub21vZHVsZTogJ25vTW9kdWxlJyxcbiAgbm9uY2U6ICdub25jZScsXG4gIG5vdmFsaWRhdGU6ICdub1ZhbGlkYXRlJyxcbiAgb3BlbjogJ29wZW4nLFxuICBvcHRpbXVtOiAnb3B0aW11bScsXG4gIHBhdHRlcm46ICdwYXR0ZXJuJyxcbiAgcGxhY2Vob2xkZXI6ICdwbGFjZWhvbGRlcicsXG4gIHBsYXlzaW5saW5lOiAncGxheXNJbmxpbmUnLFxuICBwb3N0ZXI6ICdwb3N0ZXInLFxuICBwcmVsb2FkOiAncHJlbG9hZCcsXG4gIHByb2ZpbGU6ICdwcm9maWxlJyxcbiAgcmFkaW9ncm91cDogJ3JhZGlvR3JvdXAnLFxuICByZWFkb25seTogJ3JlYWRPbmx5JyxcbiAgcmVmZXJyZXJwb2xpY3k6ICdyZWZlcnJlclBvbGljeScsXG4gIHJlbDogJ3JlbCcsXG4gIHJlcXVpcmVkOiAncmVxdWlyZWQnLFxuICByZXZlcnNlZDogJ3JldmVyc2VkJyxcbiAgcm9sZTogJ3JvbGUnLFxuICByb3dzOiAncm93cycsXG4gIHJvd3NwYW46ICdyb3dTcGFuJyxcbiAgc2FuZGJveDogJ3NhbmRib3gnLFxuICBzY29wZTogJ3Njb3BlJyxcbiAgc2NvcGVkOiAnc2NvcGVkJyxcbiAgc2Nyb2xsaW5nOiAnc2Nyb2xsaW5nJyxcbiAgc2VhbWxlc3M6ICdzZWFtbGVzcycsXG4gIHNlbGVjdGVkOiAnc2VsZWN0ZWQnLFxuICBzaGFwZTogJ3NoYXBlJyxcbiAgc2l6ZTogJ3NpemUnLFxuICBzaXplczogJ3NpemVzJyxcbiAgc3BhbjogJ3NwYW4nLFxuICBzcGVsbGNoZWNrOiAnc3BlbGxDaGVjaycsXG4gIHNyYzogJ3NyYycsXG4gIHNyY2RvYzogJ3NyY0RvYycsXG4gIHNyY2xhbmc6ICdzcmNMYW5nJyxcbiAgc3Jjc2V0OiAnc3JjU2V0JyxcbiAgc3RhcnQ6ICdzdGFydCcsXG4gIHN0ZXA6ICdzdGVwJyxcbiAgc3R5bGU6ICdzdHlsZScsXG4gIHN1bW1hcnk6ICdzdW1tYXJ5JyxcbiAgdGFiaW5kZXg6ICd0YWJJbmRleCcsXG4gIHRhcmdldDogJ3RhcmdldCcsXG4gIHRpdGxlOiAndGl0bGUnLFxuICB0eXBlOiAndHlwZScsXG4gIHVzZW1hcDogJ3VzZU1hcCcsXG4gIHZhbHVlOiAndmFsdWUnLFxuICB3aWR0aDogJ3dpZHRoJyxcbiAgd21vZGU6ICd3bW9kZScsXG4gIHdyYXA6ICd3cmFwJyxcbiAgLy8gU1ZHXG4gIGFib3V0OiAnYWJvdXQnLFxuICBhY2NlbnRoZWlnaHQ6ICdhY2NlbnRIZWlnaHQnLFxuICAnYWNjZW50LWhlaWdodCc6ICdhY2NlbnRIZWlnaHQnLFxuICBhY2N1bXVsYXRlOiAnYWNjdW11bGF0ZScsXG4gIGFkZGl0aXZlOiAnYWRkaXRpdmUnLFxuICBhbGlnbm1lbnRiYXNlbGluZTogJ2FsaWdubWVudEJhc2VsaW5lJyxcbiAgJ2FsaWdubWVudC1iYXNlbGluZSc6ICdhbGlnbm1lbnRCYXNlbGluZScsXG4gIGFsbG93cmVvcmRlcjogJ2FsbG93UmVvcmRlcicsXG4gIGFscGhhYmV0aWM6ICdhbHBoYWJldGljJyxcbiAgYW1wbGl0dWRlOiAnYW1wbGl0dWRlJyxcbiAgYXJhYmljZm9ybTogJ2FyYWJpY0Zvcm0nLFxuICAnYXJhYmljLWZvcm0nOiAnYXJhYmljRm9ybScsXG4gIGFzY2VudDogJ2FzY2VudCcsXG4gIGF0dHJpYnV0ZW5hbWU6ICdhdHRyaWJ1dGVOYW1lJyxcbiAgYXR0cmlidXRldHlwZTogJ2F0dHJpYnV0ZVR5cGUnLFxuICBhdXRvcmV2ZXJzZTogJ2F1dG9SZXZlcnNlJyxcbiAgYXppbXV0aDogJ2F6aW11dGgnLFxuICBiYXNlZnJlcXVlbmN5OiAnYmFzZUZyZXF1ZW5jeScsXG4gIGJhc2VsaW5lc2hpZnQ6ICdiYXNlbGluZVNoaWZ0JyxcbiAgJ2Jhc2VsaW5lLXNoaWZ0JzogJ2Jhc2VsaW5lU2hpZnQnLFxuICBiYXNlcHJvZmlsZTogJ2Jhc2VQcm9maWxlJyxcbiAgYmJveDogJ2Jib3gnLFxuICBiZWdpbjogJ2JlZ2luJyxcbiAgYmlhczogJ2JpYXMnLFxuICBieTogJ2J5JyxcbiAgY2FsY21vZGU6ICdjYWxjTW9kZScsXG4gIGNhcGhlaWdodDogJ2NhcEhlaWdodCcsXG4gICdjYXAtaGVpZ2h0JzogJ2NhcEhlaWdodCcsXG4gIGNsaXA6ICdjbGlwJyxcbiAgY2xpcHBhdGg6ICdjbGlwUGF0aCcsXG4gICdjbGlwLXBhdGgnOiAnY2xpcFBhdGgnLFxuICBjbGlwcGF0aHVuaXRzOiAnY2xpcFBhdGhVbml0cycsXG4gIGNsaXBydWxlOiAnY2xpcFJ1bGUnLFxuICAnY2xpcC1ydWxlJzogJ2NsaXBSdWxlJyxcbiAgY29sb3I6ICdjb2xvcicsXG4gIGNvbG9yaW50ZXJwb2xhdGlvbjogJ2NvbG9ySW50ZXJwb2xhdGlvbicsXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uJzogJ2NvbG9ySW50ZXJwb2xhdGlvbicsXG4gIGNvbG9yaW50ZXJwb2xhdGlvbmZpbHRlcnM6ICdjb2xvckludGVycG9sYXRpb25GaWx0ZXJzJyxcbiAgJ2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyc6ICdjb2xvckludGVycG9sYXRpb25GaWx0ZXJzJyxcbiAgY29sb3Jwcm9maWxlOiAnY29sb3JQcm9maWxlJyxcbiAgJ2NvbG9yLXByb2ZpbGUnOiAnY29sb3JQcm9maWxlJyxcbiAgY29sb3JyZW5kZXJpbmc6ICdjb2xvclJlbmRlcmluZycsXG4gICdjb2xvci1yZW5kZXJpbmcnOiAnY29sb3JSZW5kZXJpbmcnLFxuICBjb250ZW50c2NyaXB0dHlwZTogJ2NvbnRlbnRTY3JpcHRUeXBlJyxcbiAgY29udGVudHN0eWxldHlwZTogJ2NvbnRlbnRTdHlsZVR5cGUnLFxuICBjdXJzb3I6ICdjdXJzb3InLFxuICBjeDogJ2N4JyxcbiAgY3k6ICdjeScsXG4gIGQ6ICdkJyxcbiAgZGF0YXR5cGU6ICdkYXRhdHlwZScsXG4gIGRlY2VsZXJhdGU6ICdkZWNlbGVyYXRlJyxcbiAgZGVzY2VudDogJ2Rlc2NlbnQnLFxuICBkaWZmdXNlY29uc3RhbnQ6ICdkaWZmdXNlQ29uc3RhbnQnLFxuICBkaXJlY3Rpb246ICdkaXJlY3Rpb24nLFxuICBkaXNwbGF5OiAnZGlzcGxheScsXG4gIGRpdmlzb3I6ICdkaXZpc29yJyxcbiAgZG9taW5hbnRiYXNlbGluZTogJ2RvbWluYW50QmFzZWxpbmUnLFxuICAnZG9taW5hbnQtYmFzZWxpbmUnOiAnZG9taW5hbnRCYXNlbGluZScsXG4gIGR1cjogJ2R1cicsXG4gIGR4OiAnZHgnLFxuICBkeTogJ2R5JyxcbiAgZWRnZW1vZGU6ICdlZGdlTW9kZScsXG4gIGVsZXZhdGlvbjogJ2VsZXZhdGlvbicsXG4gIGVuYWJsZWJhY2tncm91bmQ6ICdlbmFibGVCYWNrZ3JvdW5kJyxcbiAgJ2VuYWJsZS1iYWNrZ3JvdW5kJzogJ2VuYWJsZUJhY2tncm91bmQnLFxuICBlbmQ6ICdlbmQnLFxuICBleHBvbmVudDogJ2V4cG9uZW50JyxcbiAgZXh0ZXJuYWxyZXNvdXJjZXNyZXF1aXJlZDogJ2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQnLFxuICBmaWxsOiAnZmlsbCcsXG4gIGZpbGxvcGFjaXR5OiAnZmlsbE9wYWNpdHknLFxuICAnZmlsbC1vcGFjaXR5JzogJ2ZpbGxPcGFjaXR5JyxcbiAgZmlsbHJ1bGU6ICdmaWxsUnVsZScsXG4gICdmaWxsLXJ1bGUnOiAnZmlsbFJ1bGUnLFxuICBmaWx0ZXI6ICdmaWx0ZXInLFxuICBmaWx0ZXJyZXM6ICdmaWx0ZXJSZXMnLFxuICBmaWx0ZXJ1bml0czogJ2ZpbHRlclVuaXRzJyxcbiAgZmxvb2RvcGFjaXR5OiAnZmxvb2RPcGFjaXR5JyxcbiAgJ2Zsb29kLW9wYWNpdHknOiAnZmxvb2RPcGFjaXR5JyxcbiAgZmxvb2Rjb2xvcjogJ2Zsb29kQ29sb3InLFxuICAnZmxvb2QtY29sb3InOiAnZmxvb2RDb2xvcicsXG4gIGZvY3VzYWJsZTogJ2ZvY3VzYWJsZScsXG4gIGZvbnRmYW1pbHk6ICdmb250RmFtaWx5JyxcbiAgJ2ZvbnQtZmFtaWx5JzogJ2ZvbnRGYW1pbHknLFxuICBmb250c2l6ZTogJ2ZvbnRTaXplJyxcbiAgJ2ZvbnQtc2l6ZSc6ICdmb250U2l6ZScsXG4gIGZvbnRzaXplYWRqdXN0OiAnZm9udFNpemVBZGp1c3QnLFxuICAnZm9udC1zaXplLWFkanVzdCc6ICdmb250U2l6ZUFkanVzdCcsXG4gIGZvbnRzdHJldGNoOiAnZm9udFN0cmV0Y2gnLFxuICAnZm9udC1zdHJldGNoJzogJ2ZvbnRTdHJldGNoJyxcbiAgZm9udHN0eWxlOiAnZm9udFN0eWxlJyxcbiAgJ2ZvbnQtc3R5bGUnOiAnZm9udFN0eWxlJyxcbiAgZm9udHZhcmlhbnQ6ICdmb250VmFyaWFudCcsXG4gICdmb250LXZhcmlhbnQnOiAnZm9udFZhcmlhbnQnLFxuICBmb250d2VpZ2h0OiAnZm9udFdlaWdodCcsXG4gICdmb250LXdlaWdodCc6ICdmb250V2VpZ2h0JyxcbiAgZm9ybWF0OiAnZm9ybWF0JyxcbiAgZnJvbTogJ2Zyb20nLFxuICBmeDogJ2Z4JyxcbiAgZnk6ICdmeScsXG4gIGcxOiAnZzEnLFxuICBnMjogJ2cyJyxcbiAgZ2x5cGhuYW1lOiAnZ2x5cGhOYW1lJyxcbiAgJ2dseXBoLW5hbWUnOiAnZ2x5cGhOYW1lJyxcbiAgZ2x5cGhvcmllbnRhdGlvbmhvcml6b250YWw6ICdnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCcsXG4gICdnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsJzogJ2dseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsJyxcbiAgZ2x5cGhvcmllbnRhdGlvbnZlcnRpY2FsOiAnZ2x5cGhPcmllbnRhdGlvblZlcnRpY2FsJyxcbiAgJ2dseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsJzogJ2dseXBoT3JpZW50YXRpb25WZXJ0aWNhbCcsXG4gIGdseXBocmVmOiAnZ2x5cGhSZWYnLFxuICBncmFkaWVudHRyYW5zZm9ybTogJ2dyYWRpZW50VHJhbnNmb3JtJyxcbiAgZ3JhZGllbnR1bml0czogJ2dyYWRpZW50VW5pdHMnLFxuICBoYW5naW5nOiAnaGFuZ2luZycsXG4gIGhvcml6YWR2eDogJ2hvcml6QWR2WCcsXG4gICdob3Jpei1hZHYteCc6ICdob3JpekFkdlgnLFxuICBob3Jpem9yaWdpbng6ICdob3Jpek9yaWdpblgnLFxuICAnaG9yaXotb3JpZ2luLXgnOiAnaG9yaXpPcmlnaW5YJyxcbiAgaWRlb2dyYXBoaWM6ICdpZGVvZ3JhcGhpYycsXG4gIGltYWdlcmVuZGVyaW5nOiAnaW1hZ2VSZW5kZXJpbmcnLFxuICAnaW1hZ2UtcmVuZGVyaW5nJzogJ2ltYWdlUmVuZGVyaW5nJyxcbiAgaW4yOiAnaW4yJyxcbiAgaW46ICdpbicsXG4gIGlubGlzdDogJ2lubGlzdCcsXG4gIGludGVyY2VwdDogJ2ludGVyY2VwdCcsXG4gIGsxOiAnazEnLFxuICBrMjogJ2syJyxcbiAgazM6ICdrMycsXG4gIGs0OiAnazQnLFxuICBrOiAnaycsXG4gIGtlcm5lbG1hdHJpeDogJ2tlcm5lbE1hdHJpeCcsXG4gIGtlcm5lbHVuaXRsZW5ndGg6ICdrZXJuZWxVbml0TGVuZ3RoJyxcbiAga2VybmluZzogJ2tlcm5pbmcnLFxuICBrZXlwb2ludHM6ICdrZXlQb2ludHMnLFxuICBrZXlzcGxpbmVzOiAna2V5U3BsaW5lcycsXG4gIGtleXRpbWVzOiAna2V5VGltZXMnLFxuICBsZW5ndGhhZGp1c3Q6ICdsZW5ndGhBZGp1c3QnLFxuICBsZXR0ZXJzcGFjaW5nOiAnbGV0dGVyU3BhY2luZycsXG4gICdsZXR0ZXItc3BhY2luZyc6ICdsZXR0ZXJTcGFjaW5nJyxcbiAgbGlnaHRpbmdjb2xvcjogJ2xpZ2h0aW5nQ29sb3InLFxuICAnbGlnaHRpbmctY29sb3InOiAnbGlnaHRpbmdDb2xvcicsXG4gIGxpbWl0aW5nY29uZWFuZ2xlOiAnbGltaXRpbmdDb25lQW5nbGUnLFxuICBsb2NhbDogJ2xvY2FsJyxcbiAgbWFya2VyZW5kOiAnbWFya2VyRW5kJyxcbiAgJ21hcmtlci1lbmQnOiAnbWFya2VyRW5kJyxcbiAgbWFya2VyaGVpZ2h0OiAnbWFya2VySGVpZ2h0JyxcbiAgbWFya2VybWlkOiAnbWFya2VyTWlkJyxcbiAgJ21hcmtlci1taWQnOiAnbWFya2VyTWlkJyxcbiAgbWFya2Vyc3RhcnQ6ICdtYXJrZXJTdGFydCcsXG4gICdtYXJrZXItc3RhcnQnOiAnbWFya2VyU3RhcnQnLFxuICBtYXJrZXJ1bml0czogJ21hcmtlclVuaXRzJyxcbiAgbWFya2Vyd2lkdGg6ICdtYXJrZXJXaWR0aCcsXG4gIG1hc2s6ICdtYXNrJyxcbiAgbWFza2NvbnRlbnR1bml0czogJ21hc2tDb250ZW50VW5pdHMnLFxuICBtYXNrdW5pdHM6ICdtYXNrVW5pdHMnLFxuICBtYXRoZW1hdGljYWw6ICdtYXRoZW1hdGljYWwnLFxuICBtb2RlOiAnbW9kZScsXG4gIG51bW9jdGF2ZXM6ICdudW1PY3RhdmVzJyxcbiAgb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgb3BhY2l0eTogJ29wYWNpdHknLFxuICBvcGVyYXRvcjogJ29wZXJhdG9yJyxcbiAgb3JkZXI6ICdvcmRlcicsXG4gIG9yaWVudDogJ29yaWVudCcsXG4gIG9yaWVudGF0aW9uOiAnb3JpZW50YXRpb24nLFxuICBvcmlnaW46ICdvcmlnaW4nLFxuICBvdmVyZmxvdzogJ292ZXJmbG93JyxcbiAgb3ZlcmxpbmVwb3NpdGlvbjogJ292ZXJsaW5lUG9zaXRpb24nLFxuICAnb3ZlcmxpbmUtcG9zaXRpb24nOiAnb3ZlcmxpbmVQb3NpdGlvbicsXG4gIG92ZXJsaW5ldGhpY2tuZXNzOiAnb3ZlcmxpbmVUaGlja25lc3MnLFxuICAnb3ZlcmxpbmUtdGhpY2tuZXNzJzogJ292ZXJsaW5lVGhpY2tuZXNzJyxcbiAgcGFpbnRvcmRlcjogJ3BhaW50T3JkZXInLFxuICAncGFpbnQtb3JkZXInOiAncGFpbnRPcmRlcicsXG4gIHBhbm9zZTE6ICdwYW5vc2UxJyxcbiAgJ3Bhbm9zZS0xJzogJ3Bhbm9zZTEnLFxuICBwYXRobGVuZ3RoOiAncGF0aExlbmd0aCcsXG4gIHBhdHRlcm5jb250ZW50dW5pdHM6ICdwYXR0ZXJuQ29udGVudFVuaXRzJyxcbiAgcGF0dGVybnRyYW5zZm9ybTogJ3BhdHRlcm5UcmFuc2Zvcm0nLFxuICBwYXR0ZXJudW5pdHM6ICdwYXR0ZXJuVW5pdHMnLFxuICBwb2ludGVyZXZlbnRzOiAncG9pbnRlckV2ZW50cycsXG4gICdwb2ludGVyLWV2ZW50cyc6ICdwb2ludGVyRXZlbnRzJyxcbiAgcG9pbnRzOiAncG9pbnRzJyxcbiAgcG9pbnRzYXR4OiAncG9pbnRzQXRYJyxcbiAgcG9pbnRzYXR5OiAncG9pbnRzQXRZJyxcbiAgcG9pbnRzYXR6OiAncG9pbnRzQXRaJyxcbiAgcHJlZml4OiAncHJlZml4JyxcbiAgcHJlc2VydmVhbHBoYTogJ3ByZXNlcnZlQWxwaGEnLFxuICBwcmVzZXJ2ZWFzcGVjdHJhdGlvOiAncHJlc2VydmVBc3BlY3RSYXRpbycsXG4gIHByaW1pdGl2ZXVuaXRzOiAncHJpbWl0aXZlVW5pdHMnLFxuICBwcm9wZXJ0eTogJ3Byb3BlcnR5JyxcbiAgcjogJ3InLFxuICByYWRpdXM6ICdyYWRpdXMnLFxuICByZWZ4OiAncmVmWCcsXG4gIHJlZnk6ICdyZWZZJyxcbiAgcmVuZGVyaW5naW50ZW50OiAncmVuZGVyaW5nSW50ZW50JyxcbiAgJ3JlbmRlcmluZy1pbnRlbnQnOiAncmVuZGVyaW5nSW50ZW50JyxcbiAgcmVwZWF0Y291bnQ6ICdyZXBlYXRDb3VudCcsXG4gIHJlcGVhdGR1cjogJ3JlcGVhdER1cicsXG4gIHJlcXVpcmVkZXh0ZW5zaW9uczogJ3JlcXVpcmVkRXh0ZW5zaW9ucycsXG4gIHJlcXVpcmVkZmVhdHVyZXM6ICdyZXF1aXJlZEZlYXR1cmVzJyxcbiAgcmVzb3VyY2U6ICdyZXNvdXJjZScsXG4gIHJlc3RhcnQ6ICdyZXN0YXJ0JyxcbiAgcmVzdWx0OiAncmVzdWx0JyxcbiAgcmVzdWx0czogJ3Jlc3VsdHMnLFxuICByb3RhdGU6ICdyb3RhdGUnLFxuICByeDogJ3J4JyxcbiAgcnk6ICdyeScsXG4gIHNjYWxlOiAnc2NhbGUnLFxuICBzZWN1cml0eTogJ3NlY3VyaXR5JyxcbiAgc2VlZDogJ3NlZWQnLFxuICBzaGFwZXJlbmRlcmluZzogJ3NoYXBlUmVuZGVyaW5nJyxcbiAgJ3NoYXBlLXJlbmRlcmluZyc6ICdzaGFwZVJlbmRlcmluZycsXG4gIHNsb3BlOiAnc2xvcGUnLFxuICBzcGFjaW5nOiAnc3BhY2luZycsXG4gIHNwZWN1bGFyY29uc3RhbnQ6ICdzcGVjdWxhckNvbnN0YW50JyxcbiAgc3BlY3VsYXJleHBvbmVudDogJ3NwZWN1bGFyRXhwb25lbnQnLFxuICBzcGVlZDogJ3NwZWVkJyxcbiAgc3ByZWFkbWV0aG9kOiAnc3ByZWFkTWV0aG9kJyxcbiAgc3RhcnRvZmZzZXQ6ICdzdGFydE9mZnNldCcsXG4gIHN0ZGRldmlhdGlvbjogJ3N0ZERldmlhdGlvbicsXG4gIHN0ZW1oOiAnc3RlbWgnLFxuICBzdGVtdjogJ3N0ZW12JyxcbiAgc3RpdGNodGlsZXM6ICdzdGl0Y2hUaWxlcycsXG4gIHN0b3Bjb2xvcjogJ3N0b3BDb2xvcicsXG4gICdzdG9wLWNvbG9yJzogJ3N0b3BDb2xvcicsXG4gIHN0b3BvcGFjaXR5OiAnc3RvcE9wYWNpdHknLFxuICAnc3RvcC1vcGFjaXR5JzogJ3N0b3BPcGFjaXR5JyxcbiAgc3RyaWtldGhyb3VnaHBvc2l0aW9uOiAnc3RyaWtldGhyb3VnaFBvc2l0aW9uJyxcbiAgJ3N0cmlrZXRocm91Z2gtcG9zaXRpb24nOiAnc3RyaWtldGhyb3VnaFBvc2l0aW9uJyxcbiAgc3RyaWtldGhyb3VnaHRoaWNrbmVzczogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxuICAnc3RyaWtldGhyb3VnaC10aGlja25lc3MnOiAnc3RyaWtldGhyb3VnaFRoaWNrbmVzcycsXG4gIHN0cmluZzogJ3N0cmluZycsXG4gIHN0cm9rZTogJ3N0cm9rZScsXG4gIHN0cm9rZWRhc2hhcnJheTogJ3N0cm9rZURhc2hhcnJheScsXG4gICdzdHJva2UtZGFzaGFycmF5JzogJ3N0cm9rZURhc2hhcnJheScsXG4gIHN0cm9rZWRhc2hvZmZzZXQ6ICdzdHJva2VEYXNob2Zmc2V0JyxcbiAgJ3N0cm9rZS1kYXNob2Zmc2V0JzogJ3N0cm9rZURhc2hvZmZzZXQnLFxuICBzdHJva2VsaW5lY2FwOiAnc3Ryb2tlTGluZWNhcCcsXG4gICdzdHJva2UtbGluZWNhcCc6ICdzdHJva2VMaW5lY2FwJyxcbiAgc3Ryb2tlbGluZWpvaW46ICdzdHJva2VMaW5lam9pbicsXG4gICdzdHJva2UtbGluZWpvaW4nOiAnc3Ryb2tlTGluZWpvaW4nLFxuICBzdHJva2VtaXRlcmxpbWl0OiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXG4gICdzdHJva2UtbWl0ZXJsaW1pdCc6ICdzdHJva2VNaXRlcmxpbWl0JyxcbiAgc3Ryb2tld2lkdGg6ICdzdHJva2VXaWR0aCcsXG4gICdzdHJva2Utd2lkdGgnOiAnc3Ryb2tlV2lkdGgnLFxuICBzdHJva2VvcGFjaXR5OiAnc3Ryb2tlT3BhY2l0eScsXG4gICdzdHJva2Utb3BhY2l0eSc6ICdzdHJva2VPcGFjaXR5JyxcbiAgc3VwcHJlc3Njb250ZW50ZWRpdGFibGV3YXJuaW5nOiAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJyxcbiAgc3VwcHJlc3NoeWRyYXRpb253YXJuaW5nOiAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJyxcbiAgc3VyZmFjZXNjYWxlOiAnc3VyZmFjZVNjYWxlJyxcbiAgc3lzdGVtbGFuZ3VhZ2U6ICdzeXN0ZW1MYW5ndWFnZScsXG4gIHRhYmxldmFsdWVzOiAndGFibGVWYWx1ZXMnLFxuICB0YXJnZXR4OiAndGFyZ2V0WCcsXG4gIHRhcmdldHk6ICd0YXJnZXRZJyxcbiAgdGV4dGFuY2hvcjogJ3RleHRBbmNob3InLFxuICAndGV4dC1hbmNob3InOiAndGV4dEFuY2hvcicsXG4gIHRleHRkZWNvcmF0aW9uOiAndGV4dERlY29yYXRpb24nLFxuICAndGV4dC1kZWNvcmF0aW9uJzogJ3RleHREZWNvcmF0aW9uJyxcbiAgdGV4dGxlbmd0aDogJ3RleHRMZW5ndGgnLFxuICB0ZXh0cmVuZGVyaW5nOiAndGV4dFJlbmRlcmluZycsXG4gICd0ZXh0LXJlbmRlcmluZyc6ICd0ZXh0UmVuZGVyaW5nJyxcbiAgdG86ICd0bycsXG4gIHRyYW5zZm9ybTogJ3RyYW5zZm9ybScsXG4gIHRyYW5zZm9ybW9yaWdpbjogJ3RyYW5zZm9ybU9yaWdpbicsXG4gICd0cmFuc2Zvcm0tb3JpZ2luJzogJ3RyYW5zZm9ybU9yaWdpbicsXG4gIHR5cGVvZjogJ3R5cGVvZicsXG4gIHUxOiAndTEnLFxuICB1MjogJ3UyJyxcbiAgdW5kZXJsaW5lcG9zaXRpb246ICd1bmRlcmxpbmVQb3NpdGlvbicsXG4gICd1bmRlcmxpbmUtcG9zaXRpb24nOiAndW5kZXJsaW5lUG9zaXRpb24nLFxuICB1bmRlcmxpbmV0aGlja25lc3M6ICd1bmRlcmxpbmVUaGlja25lc3MnLFxuICAndW5kZXJsaW5lLXRoaWNrbmVzcyc6ICd1bmRlcmxpbmVUaGlja25lc3MnLFxuICB1bmljb2RlOiAndW5pY29kZScsXG4gIHVuaWNvZGViaWRpOiAndW5pY29kZUJpZGknLFxuICAndW5pY29kZS1iaWRpJzogJ3VuaWNvZGVCaWRpJyxcbiAgdW5pY29kZXJhbmdlOiAndW5pY29kZVJhbmdlJyxcbiAgJ3VuaWNvZGUtcmFuZ2UnOiAndW5pY29kZVJhbmdlJyxcbiAgdW5pdHNwZXJlbTogJ3VuaXRzUGVyRW0nLFxuICAndW5pdHMtcGVyLWVtJzogJ3VuaXRzUGVyRW0nLFxuICB1bnNlbGVjdGFibGU6ICd1bnNlbGVjdGFibGUnLFxuICB2YWxwaGFiZXRpYzogJ3ZBbHBoYWJldGljJyxcbiAgJ3YtYWxwaGFiZXRpYyc6ICd2QWxwaGFiZXRpYycsXG4gIHZhbHVlczogJ3ZhbHVlcycsXG4gIHZlY3RvcmVmZmVjdDogJ3ZlY3RvckVmZmVjdCcsXG4gICd2ZWN0b3ItZWZmZWN0JzogJ3ZlY3RvckVmZmVjdCcsXG4gIHZlcnNpb246ICd2ZXJzaW9uJyxcbiAgdmVydGFkdnk6ICd2ZXJ0QWR2WScsXG4gICd2ZXJ0LWFkdi15JzogJ3ZlcnRBZHZZJyxcbiAgdmVydG9yaWdpbng6ICd2ZXJ0T3JpZ2luWCcsXG4gICd2ZXJ0LW9yaWdpbi14JzogJ3ZlcnRPcmlnaW5YJyxcbiAgdmVydG9yaWdpbnk6ICd2ZXJ0T3JpZ2luWScsXG4gICd2ZXJ0LW9yaWdpbi15JzogJ3ZlcnRPcmlnaW5ZJyxcbiAgdmhhbmdpbmc6ICd2SGFuZ2luZycsXG4gICd2LWhhbmdpbmcnOiAndkhhbmdpbmcnLFxuICB2aWRlb2dyYXBoaWM6ICd2SWRlb2dyYXBoaWMnLFxuICAndi1pZGVvZ3JhcGhpYyc6ICd2SWRlb2dyYXBoaWMnLFxuICB2aWV3Ym94OiAndmlld0JveCcsXG4gIHZpZXd0YXJnZXQ6ICd2aWV3VGFyZ2V0JyxcbiAgdmlzaWJpbGl0eTogJ3Zpc2liaWxpdHknLFxuICB2bWF0aGVtYXRpY2FsOiAndk1hdGhlbWF0aWNhbCcsXG4gICd2LW1hdGhlbWF0aWNhbCc6ICd2TWF0aGVtYXRpY2FsJyxcbiAgdm9jYWI6ICd2b2NhYicsXG4gIHdpZHRoczogJ3dpZHRocycsXG4gIHdvcmRzcGFjaW5nOiAnd29yZFNwYWNpbmcnLFxuICAnd29yZC1zcGFjaW5nJzogJ3dvcmRTcGFjaW5nJyxcbiAgd3JpdGluZ21vZGU6ICd3cml0aW5nTW9kZScsXG4gICd3cml0aW5nLW1vZGUnOiAnd3JpdGluZ01vZGUnLFxuICB4MTogJ3gxJyxcbiAgeDI6ICd4MicsXG4gIHg6ICd4JyxcbiAgeGNoYW5uZWxzZWxlY3RvcjogJ3hDaGFubmVsU2VsZWN0b3InLFxuICB4aGVpZ2h0OiAneEhlaWdodCcsXG4gICd4LWhlaWdodCc6ICd4SGVpZ2h0JyxcbiAgeGxpbmthY3R1YXRlOiAneGxpbmtBY3R1YXRlJyxcbiAgJ3hsaW5rOmFjdHVhdGUnOiAneGxpbmtBY3R1YXRlJyxcbiAgeGxpbmthcmNyb2xlOiAneGxpbmtBcmNyb2xlJyxcbiAgJ3hsaW5rOmFyY3JvbGUnOiAneGxpbmtBcmNyb2xlJyxcbiAgeGxpbmtocmVmOiAneGxpbmtIcmVmJyxcbiAgJ3hsaW5rOmhyZWYnOiAneGxpbmtIcmVmJyxcbiAgeGxpbmtyb2xlOiAneGxpbmtSb2xlJyxcbiAgJ3hsaW5rOnJvbGUnOiAneGxpbmtSb2xlJyxcbiAgeGxpbmtzaG93OiAneGxpbmtTaG93JyxcbiAgJ3hsaW5rOnNob3cnOiAneGxpbmtTaG93JyxcbiAgeGxpbmt0aXRsZTogJ3hsaW5rVGl0bGUnLFxuICAneGxpbms6dGl0bGUnOiAneGxpbmtUaXRsZScsXG4gIHhsaW5rdHlwZTogJ3hsaW5rVHlwZScsXG4gICd4bGluazp0eXBlJzogJ3hsaW5rVHlwZScsXG4gIHhtbGJhc2U6ICd4bWxCYXNlJyxcbiAgJ3htbDpiYXNlJzogJ3htbEJhc2UnLFxuICB4bWxsYW5nOiAneG1sTGFuZycsXG4gICd4bWw6bGFuZyc6ICd4bWxMYW5nJyxcbiAgeG1sbnM6ICd4bWxucycsXG4gICd4bWw6c3BhY2UnOiAneG1sU3BhY2UnLFxuICB4bWxuc3hsaW5rOiAneG1sbnNYbGluaycsXG4gICd4bWxuczp4bGluayc6ICd4bWxuc1hsaW5rJyxcbiAgeG1sc3BhY2U6ICd4bWxTcGFjZScsXG4gIHkxOiAneTEnLFxuICB5MjogJ3kyJyxcbiAgeTogJ3knLFxuICB5Y2hhbm5lbHNlbGVjdG9yOiAneUNoYW5uZWxTZWxlY3RvcicsXG4gIHo6ICd6JyxcbiAgem9vbWFuZHBhbjogJ3pvb21BbmRQYW4nXG59O1xuXG52YXIgYXJpYVByb3BlcnRpZXMgPSB7XG4gICdhcmlhLWN1cnJlbnQnOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1kZXNjcmlwdGlvbic6IDAsXG4gICdhcmlhLWRldGFpbHMnOiAwLFxuICAnYXJpYS1kaXNhYmxlZCc6IDAsXG4gIC8vIHN0YXRlXG4gICdhcmlhLWhpZGRlbic6IDAsXG4gIC8vIHN0YXRlXG4gICdhcmlhLWludmFsaWQnOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1rZXlzaG9ydGN1dHMnOiAwLFxuICAnYXJpYS1sYWJlbCc6IDAsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IDAsXG4gIC8vIFdpZGdldCBBdHRyaWJ1dGVzXG4gICdhcmlhLWF1dG9jb21wbGV0ZSc6IDAsXG4gICdhcmlhLWNoZWNrZWQnOiAwLFxuICAnYXJpYS1leHBhbmRlZCc6IDAsXG4gICdhcmlhLWhhc3BvcHVwJzogMCxcbiAgJ2FyaWEtbGV2ZWwnOiAwLFxuICAnYXJpYS1tb2RhbCc6IDAsXG4gICdhcmlhLW11bHRpbGluZSc6IDAsXG4gICdhcmlhLW11bHRpc2VsZWN0YWJsZSc6IDAsXG4gICdhcmlhLW9yaWVudGF0aW9uJzogMCxcbiAgJ2FyaWEtcGxhY2Vob2xkZXInOiAwLFxuICAnYXJpYS1wcmVzc2VkJzogMCxcbiAgJ2FyaWEtcmVhZG9ubHknOiAwLFxuICAnYXJpYS1yZXF1aXJlZCc6IDAsXG4gICdhcmlhLXNlbGVjdGVkJzogMCxcbiAgJ2FyaWEtc29ydCc6IDAsXG4gICdhcmlhLXZhbHVlbWF4JzogMCxcbiAgJ2FyaWEtdmFsdWVtaW4nOiAwLFxuICAnYXJpYS12YWx1ZW5vdyc6IDAsXG4gICdhcmlhLXZhbHVldGV4dCc6IDAsXG4gIC8vIExpdmUgUmVnaW9uIEF0dHJpYnV0ZXNcbiAgJ2FyaWEtYXRvbWljJzogMCxcbiAgJ2FyaWEtYnVzeSc6IDAsXG4gICdhcmlhLWxpdmUnOiAwLFxuICAnYXJpYS1yZWxldmFudCc6IDAsXG4gIC8vIERyYWctYW5kLURyb3AgQXR0cmlidXRlc1xuICAnYXJpYS1kcm9wZWZmZWN0JzogMCxcbiAgJ2FyaWEtZ3JhYmJlZCc6IDAsXG4gIC8vIFJlbGF0aW9uc2hpcCBBdHRyaWJ1dGVzXG4gICdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnOiAwLFxuICAnYXJpYS1jb2xjb3VudCc6IDAsXG4gICdhcmlhLWNvbGluZGV4JzogMCxcbiAgJ2FyaWEtY29sc3Bhbic6IDAsXG4gICdhcmlhLWNvbnRyb2xzJzogMCxcbiAgJ2FyaWEtZGVzY3JpYmVkYnknOiAwLFxuICAnYXJpYS1lcnJvcm1lc3NhZ2UnOiAwLFxuICAnYXJpYS1mbG93dG8nOiAwLFxuICAnYXJpYS1sYWJlbGxlZGJ5JzogMCxcbiAgJ2FyaWEtb3ducyc6IDAsXG4gICdhcmlhLXBvc2luc2V0JzogMCxcbiAgJ2FyaWEtcm93Y291bnQnOiAwLFxuICAnYXJpYS1yb3dpbmRleCc6IDAsXG4gICdhcmlhLXJvd3NwYW4nOiAwLFxuICAnYXJpYS1zZXRzaXplJzogMFxufTtcblxudmFyIHdhcm5lZFByb3BlcnRpZXMkMSA9IHt9O1xudmFyIHJBUklBJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbnZhciByQVJJQUNhbWVsJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpW0EtWl1bJyArIEFUVFJJQlVURV9OQU1FX0NIQVIgKyAnXSokJyk7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydHkkMSh0YWdOYW1lLCBuYW1lKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzJDEsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHJBUklBQ2FtZWwkMS50ZXN0KG5hbWUpKSB7XG4gICAgICB2YXIgYXJpYU5hbWUgPSAnYXJpYS0nICsgbmFtZS5zbGljZSg0KS50b0xvd2VyQ2FzZSgpO1xuICAgICAgdmFyIGNvcnJlY3ROYW1lID0gYXJpYVByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoYXJpYU5hbWUpID8gYXJpYU5hbWUgOiBudWxsOyAvLyBJZiB0aGlzIGlzIGFuIGFyaWEtKiBhdHRyaWJ1dGUsIGJ1dCBpcyBub3QgbGlzdGVkIGluIHRoZSBrbm93biBET01cbiAgICAgIC8vIERPTSBwcm9wZXJ0aWVzLCB0aGVuIGl0IGlzIGFuIGludmFsaWQgYXJpYS0qIGF0dHJpYnV0ZS5cblxuICAgICAgaWYgKGNvcnJlY3ROYW1lID09IG51bGwpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgQVJJQSBhdHRyaWJ1dGUgYCVzYC4gQVJJQSBhdHRyaWJ1dGVzIGZvbGxvdyB0aGUgcGF0dGVybiBhcmlhLSogYW5kIG11c3QgYmUgbG93ZXJjYXNlLicsIG5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gY29ycmVjdE5hbWUpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgQVJJQSBhdHRyaWJ1dGUgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgY29ycmVjdE5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyQVJJQSQxLnRlc3QobmFtZSkpIHtcbiAgICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgIHZhciBzdGFuZGFyZE5hbWUgPSBhcmlhUHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShsb3dlckNhc2VkTmFtZSkgPyBsb3dlckNhc2VkTmFtZSA6IG51bGw7IC8vIElmIHRoaXMgaXMgYW4gYXJpYS0qIGF0dHJpYnV0ZSwgYnV0IGlzIG5vdCBsaXN0ZWQgaW4gdGhlIGtub3duIERPTVxuICAgICAgLy8gRE9NIHByb3BlcnRpZXMsIHRoZW4gaXQgaXMgYW4gaW52YWxpZCBhcmlhLSogYXR0cmlidXRlLlxuXG4gICAgICBpZiAoc3RhbmRhcmROYW1lID09IG51bGwpIHtcbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gc3RhbmRhcmROYW1lKSB7XG4gICAgICAgIGVycm9yKCdVbmtub3duIEFSSUEgYXR0cmlidXRlIGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHN0YW5kYXJkTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyQyKHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICB2YXIgaW52YWxpZFByb3BzID0gW107XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gdmFsaWRhdGVQcm9wZXJ0eSQxKHR5cGUsIGtleSk7XG5cbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICBpbnZhbGlkUHJvcHMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciB1bmtub3duUHJvcFN0cmluZyA9IGludmFsaWRQcm9wcy5tYXAoZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgIHJldHVybiAnYCcgKyBwcm9wICsgJ2AnO1xuICAgIH0pLmpvaW4oJywgJyk7XG5cbiAgICBpZiAoaW52YWxpZFByb3BzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgZXJyb3IoJ0ludmFsaWQgYXJpYSBwcm9wICVzIG9uIDwlcz4gdGFnLiAnICsgJ0ZvciBkZXRhaWxzLCBzZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2ludmFsaWQtYXJpYS1wcm9wcycsIHVua25vd25Qcm9wU3RyaW5nLCB0eXBlKTtcbiAgICB9IGVsc2UgaWYgKGludmFsaWRQcm9wcy5sZW5ndGggPiAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBhcmlhIHByb3BzICVzIG9uIDwlcz4gdGFnLiAnICsgJ0ZvciBkZXRhaWxzLCBzZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2ludmFsaWQtYXJpYS1wcm9wcycsIHVua25vd25Qcm9wU3RyaW5nLCB0eXBlKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGRpZFdhcm5WYWx1ZU51bGwgPSBmYWxzZTtcbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyQxKHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAodHlwZSAhPT0gJ2lucHV0JyAmJiB0eXBlICE9PSAndGV4dGFyZWEnICYmIHR5cGUgIT09ICdzZWxlY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByb3BzICE9IG51bGwgJiYgcHJvcHMudmFsdWUgPT09IG51bGwgJiYgIWRpZFdhcm5WYWx1ZU51bGwpIHtcbiAgICAgIGRpZFdhcm5WYWx1ZU51bGwgPSB0cnVlO1xuXG4gICAgICBpZiAodHlwZSA9PT0gJ3NlbGVjdCcgJiYgcHJvcHMubXVsdGlwbGUpIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBhcnJheSB3aGVuIGBtdWx0aXBsZWAgaXMgc2V0IHRvIGB0cnVlYCAnICsgJ3RvIGNsZWFyIHRoZSBjb21wb25lbnQgb3IgYHVuZGVmaW5lZGAgZm9yIHVuY29udHJvbGxlZCBjb21wb25lbnRzLicsIHR5cGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBzdHJpbmcgdG8gY2xlYXIgdGhlIGNvbXBvbmVudCBvciBgdW5kZWZpbmVkYCAnICsgJ2ZvciB1bmNvbnRyb2xsZWQgY29tcG9uZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIHdhcm5lZFByb3BlcnRpZXMgPSB7fTtcbnZhciBFVkVOVF9OQU1FX1JFR0VYID0gL15vbi4vO1xudmFyIElOVkFMSURfRVZFTlRfTkFNRV9SRUdFWCA9IC9eb25bXkEtWl0vO1xudmFyIHJBUklBID0gbmV3IFJlZ0V4cCgnXihhcmlhKS1bJyArIEFUVFJJQlVURV9OQU1FX0NIQVIgKyAnXSokJykgO1xudmFyIHJBUklBQ2FtZWwgPSBuZXcgUmVnRXhwKCdeKGFyaWEpW0EtWl1bJyArIEFUVFJJQlVURV9OQU1FX0NIQVIgKyAnXSokJykgO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHRhZ05hbWUsIG5hbWUsIHZhbHVlLCBldmVudFJlZ2lzdHJ5KSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzLCBuYW1lKSAmJiB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAobG93ZXJDYXNlZE5hbWUgPT09ICdvbmZvY3VzaW4nIHx8IGxvd2VyQ2FzZWROYW1lID09PSAnb25mb2N1c291dCcpIHtcbiAgICAgIGVycm9yKCdSZWFjdCB1c2VzIG9uRm9jdXMgYW5kIG9uQmx1ciBpbnN0ZWFkIG9mIG9uRm9jdXNJbiBhbmQgb25Gb2N1c091dC4gJyArICdBbGwgUmVhY3QgZXZlbnRzIGFyZSBub3JtYWxpemVkIHRvIGJ1YmJsZSwgc28gb25Gb2N1c0luIGFuZCBvbkZvY3VzT3V0ICcgKyAnYXJlIG5vdCBuZWVkZWQvc3VwcG9ydGVkIGJ5IFJlYWN0LicpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHtcbiAgICAgIC8vIEFjdGlvbnMgYXJlIHNwZWNpYWwgYmVjYXVzZSB1bmxpa2UgZXZlbnRzIHRoZXkgY2FuIGhhdmUgb3RoZXIgdmFsdWUgdHlwZXMuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGlmICh0YWdOYW1lID09PSAnZm9ybScgJiYgbmFtZSA9PT0gJ2FjdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0YWdOYW1lID09PSAnaW5wdXQnICYmIG5hbWUgPT09ICdmb3JtQWN0aW9uJykge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRhZ05hbWUgPT09ICdidXR0b24nICYmIG5hbWUgPT09ICdmb3JtQWN0aW9uJykge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBXZSBjYW4ndCByZWx5IG9uIHRoZSBldmVudCBzeXN0ZW0gYmVpbmcgaW5qZWN0ZWQgb24gdGhlIHNlcnZlci5cblxuXG4gICAgaWYgKGV2ZW50UmVnaXN0cnkgIT0gbnVsbCkge1xuICAgICAgdmFyIHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXMgPSBldmVudFJlZ2lzdHJ5LnJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXMsXG4gICAgICAgICAgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyA9IGV2ZW50UmVnaXN0cnkucG9zc2libGVSZWdpc3RyYXRpb25OYW1lcztcblxuICAgICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWdpc3RyYXRpb25OYW1lID0gcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcy5oYXNPd25Qcm9wZXJ0eShsb3dlckNhc2VkTmFtZSkgPyBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzW2xvd2VyQ2FzZWROYW1lXSA6IG51bGw7XG5cbiAgICAgIGlmIChyZWdpc3RyYXRpb25OYW1lICE9IG51bGwpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiBEaWQgeW91IG1lYW4gYCVzYD8nLCBuYW1lLCByZWdpc3RyYXRpb25OYW1lKTtcblxuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChFVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgICAgZXJyb3IoJ1Vua25vd24gZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiBJdCB3aWxsIGJlIGlnbm9yZWQuJywgbmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoRVZFTlRfTkFNRV9SRUdFWC50ZXN0KG5hbWUpKSB7XG4gICAgICAvLyBJZiBubyBldmVudCBwbHVnaW5zIGhhdmUgYmVlbiBpbmplY3RlZCwgd2UgYXJlIGluIGEgc2VydmVyIGVudmlyb25tZW50LlxuICAgICAgLy8gU28gd2UgY2FuJ3QgdGVsbCBpZiB0aGUgZXZlbnQgbmFtZSBpcyBjb3JyZWN0IGZvciBzdXJlLCBidXQgd2UgY2FuIGZpbHRlclxuICAgICAgLy8gb3V0IGtub3duIGJhZCBvbmVzIGxpa2UgYG9uY2xpY2tgLiBXZSBjYW4ndCBzdWdnZXN0IGEgc3BlY2lmaWMgcmVwbGFjZW1lbnQgdGhvdWdoLlxuICAgICAgaWYgKElOVkFMSURfRVZFTlRfTkFNRV9SRUdFWC50ZXN0KG5hbWUpKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIGV2ZW50IGhhbmRsZXIgcHJvcGVydHkgYCVzYC4gJyArICdSZWFjdCBldmVudHMgdXNlIHRoZSBjYW1lbENhc2UgbmFtaW5nIGNvbnZlbnRpb24sIGZvciBleGFtcGxlIGBvbkNsaWNrYC4nLCBuYW1lKTtcbiAgICAgIH1cblxuICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IC8vIExldCB0aGUgQVJJQSBhdHRyaWJ1dGUgaG9vayB2YWxpZGF0ZSBBUklBIGF0dHJpYnV0ZXNcblxuXG4gICAgaWYgKHJBUklBLnRlc3QobmFtZSkgfHwgckFSSUFDYW1lbC50ZXN0KG5hbWUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJDYXNlZE5hbWUgPT09ICdpbm5lcmh0bWwnKSB7XG4gICAgICBlcnJvcignRGlyZWN0bHkgc2V0dGluZyBwcm9wZXJ0eSBgaW5uZXJIVE1MYCBpcyBub3QgcGVybWl0dGVkLiAnICsgJ0ZvciBtb3JlIGluZm9ybWF0aW9uLCBsb29rdXAgZG9jdW1lbnRhdGlvbiBvbiBgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgLicpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2FyaWEnKSB7XG4gICAgICBlcnJvcignVGhlIGBhcmlhYCBhdHRyaWJ1dGUgaXMgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UgaW4gUmVhY3QuICcgKyAnUGFzcyBpbmRpdmlkdWFsIGBhcmlhLWAgYXR0cmlidXRlcyBpbnN0ZWFkLicpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lzJyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhIGAlc2AgZm9yIGEgc3RyaW5nIGF0dHJpYnV0ZSBgaXNgLiBJZiB0aGlzIGlzIGV4cGVjdGVkLCBjYXN0ICcgKyAndGhlIHZhbHVlIHRvIGEgc3RyaW5nLicsIHR5cGVvZiB2YWx1ZSk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgaXNOYU4odmFsdWUpKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgTmFOIGZvciB0aGUgYCVzYCBhdHRyaWJ1dGUuIElmIHRoaXMgaXMgZXhwZWN0ZWQsIGNhc3QgJyArICd0aGUgdmFsdWUgdG8gYSBzdHJpbmcuJywgbmFtZSk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBLbm93biBhdHRyaWJ1dGVzIHNob3VsZCBtYXRjaCB0aGUgY2FzaW5nIHNwZWNpZmllZCBpbiB0aGUgcHJvcGVydHkgY29uZmlnLlxuXG5cbiAgICBpZiAocG9zc2libGVTdGFuZGFyZE5hbWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSkge1xuICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IHBvc3NpYmxlU3RhbmRhcmROYW1lc1tsb3dlckNhc2VkTmFtZV07XG5cbiAgICAgIGlmIChzdGFuZGFyZE5hbWUgIT09IG5hbWUpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgRE9NIHByb3BlcnR5IGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHN0YW5kYXJkTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobmFtZSAhPT0gbG93ZXJDYXNlZE5hbWUpIHtcbiAgICAgIC8vIFVua25vd24gYXR0cmlidXRlcyBzaG91bGQgaGF2ZSBsb3dlcmNhc2UgY2FzaW5nIHNpbmNlIHRoYXQncyBob3cgdGhleVxuICAgICAgLy8gd2lsbCBiZSBjYXNlZCBhbnl3YXkgd2l0aCBzZXJ2ZXIgcmVuZGVyaW5nLlxuICAgICAgZXJyb3IoJ1JlYWN0IGRvZXMgbm90IHJlY29nbml6ZSB0aGUgYCVzYCBwcm9wIG9uIGEgRE9NIGVsZW1lbnQuIElmIHlvdSAnICsgJ2ludGVudGlvbmFsbHkgd2FudCBpdCB0byBhcHBlYXIgaW4gdGhlIERPTSBhcyBhIGN1c3RvbSAnICsgJ2F0dHJpYnV0ZSwgc3BlbGwgaXQgYXMgbG93ZXJjYXNlIGAlc2AgaW5zdGVhZC4gJyArICdJZiB5b3UgYWNjaWRlbnRhbGx5IHBhc3NlZCBpdCBmcm9tIGEgcGFyZW50IGNvbXBvbmVudCwgcmVtb3ZlICcgKyAnaXQgZnJvbSB0aGUgRE9NIGVsZW1lbnQuJywgbmFtZSwgbG93ZXJDYXNlZE5hbWUpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gLy8gTm93IHRoYXQgd2UndmUgdmFsaWRhdGVkIGNhc2luZywgZG8gbm90IHZhbGlkYXRlXG4gICAgLy8gZGF0YSB0eXBlcyBmb3IgcmVzZXJ2ZWQgcHJvcHNcblxuXG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlICdkYW5nZXJvdXNseVNldElubmVySFRNTCc6XG4gICAgICBjYXNlICdjaGlsZHJlbic6XG4gICAgICBjYXNlICdzdHlsZSc6XG4gICAgICBjYXNlICdzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcnOlxuICAgICAgY2FzZSAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJzpcbiAgICAgIGNhc2UgJ2RlZmF1bHRWYWx1ZSc6IC8vIFJlc2VydmVkXG5cbiAgICAgIGNhc2UgJ2RlZmF1bHRDaGVja2VkJzpcbiAgICAgIGNhc2UgJ2lubmVySFRNTCc6XG4gICAgICBjYXNlICdyZWYnOlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAge1xuICAgICAgICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgICAgICAgY2FzZSAnYXV0b0ZvY3VzJzpcbiAgICAgICAgICAgIGNhc2UgJ2NoZWNrZWQnOlxuICAgICAgICAgICAgY2FzZSAnbXVsdGlwbGUnOlxuICAgICAgICAgICAgY2FzZSAnbXV0ZWQnOlxuICAgICAgICAgICAgY2FzZSAnc2VsZWN0ZWQnOlxuICAgICAgICAgICAgY2FzZSAnY29udGVudEVkaXRhYmxlJzpcbiAgICAgICAgICAgIGNhc2UgJ3NwZWxsQ2hlY2snOlxuICAgICAgICAgICAgY2FzZSAnZHJhZ2dhYmxlJzpcbiAgICAgICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICAgIGNhc2UgJ2F1dG9SZXZlcnNlJzpcbiAgICAgICAgICAgIGNhc2UgJ2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQnOlxuICAgICAgICAgICAgY2FzZSAnZm9jdXNhYmxlJzpcbiAgICAgICAgICAgIGNhc2UgJ3ByZXNlcnZlQWxwaGEnOlxuICAgICAgICAgICAgY2FzZSAnYWxsb3dGdWxsU2NyZWVuJzpcbiAgICAgICAgICAgIGNhc2UgJ2FzeW5jJzpcbiAgICAgICAgICAgIGNhc2UgJ2F1dG9QbGF5JzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbnRyb2xzJzpcbiAgICAgICAgICAgIGNhc2UgJ2RlZmF1bHQnOlxuICAgICAgICAgICAgY2FzZSAnZGVmZXInOlxuICAgICAgICAgICAgY2FzZSAnZGlzYWJsZWQnOlxuICAgICAgICAgICAgY2FzZSAnZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUnOlxuICAgICAgICAgICAgY2FzZSAnZGlzYWJsZVJlbW90ZVBsYXliYWNrJzpcbiAgICAgICAgICAgIGNhc2UgJ2Zvcm1Ob1ZhbGlkYXRlJzpcbiAgICAgICAgICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICAgICAgICBjYXNlICdsb29wJzpcbiAgICAgICAgICAgIGNhc2UgJ25vTW9kdWxlJzpcbiAgICAgICAgICAgIGNhc2UgJ25vVmFsaWRhdGUnOlxuICAgICAgICAgICAgY2FzZSAnb3Blbic6XG4gICAgICAgICAgICBjYXNlICdwbGF5c0lubGluZSc6XG4gICAgICAgICAgICBjYXNlICdyZWFkT25seSc6XG4gICAgICAgICAgICBjYXNlICdyZXF1aXJlZCc6XG4gICAgICAgICAgICBjYXNlICdyZXZlcnNlZCc6XG4gICAgICAgICAgICBjYXNlICdzY29wZWQnOlxuICAgICAgICAgICAgY2FzZSAnc2VhbWxlc3MnOlxuICAgICAgICAgICAgY2FzZSAnaXRlbVNjb3BlJzpcbiAgICAgICAgICAgIGNhc2UgJ2NhcHR1cmUnOlxuICAgICAgICAgICAgY2FzZSAnZG93bmxvYWQnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLy8gQm9vbGVhbiBwcm9wZXJ0aWVzIGNhbiBhY2NlcHQgYm9vbGVhbiB2YWx1ZXNcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFyIHByZWZpeCA9IG5hbWUudG9Mb3dlckNhc2UoKS5zbGljZSgwLCA1KTtcblxuICAgICAgICAgICAgICAgIGlmIChwcmVmaXggPT09ICdkYXRhLScgfHwgcHJlZml4ID09PSAnYXJpYS0nKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcblxcbicgKyAnSWYgeW91IHdhbnQgdG8gd3JpdGUgaXQgdG8gdGhlIERPTSwgcGFzcyBhIHN0cmluZyBpbnN0ZWFkOiAnICsgJyVzPVwiJXNcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uJywgdmFsdWUsIG5hbWUsIG5hbWUsIHZhbHVlLCBuYW1lKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ1JlY2VpdmVkIGAlc2AgZm9yIGEgbm9uLWJvb2xlYW4gYXR0cmlidXRlIGAlc2AuXFxuXFxuJyArICdJZiB5b3Ugd2FudCB0byB3cml0ZSBpdCB0byB0aGUgRE9NLCBwYXNzIGEgc3RyaW5nIGluc3RlYWQ6ICcgKyAnJXM9XCIlc1wiIG9yICVzPXt2YWx1ZS50b1N0cmluZygpfS5cXG5cXG4nICsgJ0lmIHlvdSB1c2VkIHRvIGNvbmRpdGlvbmFsbHkgb21pdCBpdCB3aXRoICVzPXtjb25kaXRpb24gJiYgdmFsdWV9LCAnICsgJ3Bhc3MgJXM9e2NvbmRpdGlvbiA/IHZhbHVlIDogdW5kZWZpbmVkfSBpbnN0ZWFkLicsIHZhbHVlLCBuYW1lLCBuYW1lLCB2YWx1ZSwgbmFtZSwgbmFtZSwgbmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgY2FzZSAnc3ltYm9sJzpcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAvLyBXYXJuIHdoZW4gYSBrbm93biBhdHRyaWJ1dGUgaXMgYSBiYWQgdHlwZVxuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gV2FybiB3aGVuIHBhc3NpbmcgdGhlIHN0cmluZ3MgJ2ZhbHNlJyBvciAndHJ1ZScgaW50byBhIGJvb2xlYW4gcHJvcFxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJ2ZhbHNlJyB8fCB2YWx1ZSA9PT0gJ3RydWUnKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgICAgICAgICAgY2FzZSAnY2hlY2tlZCc6XG4gICAgICAgICAgICAgIGNhc2UgJ3NlbGVjdGVkJzpcbiAgICAgICAgICAgICAgY2FzZSAnbXVsdGlwbGUnOlxuICAgICAgICAgICAgICBjYXNlICdtdXRlZCc6XG4gICAgICAgICAgICAgIGNhc2UgJ2FsbG93RnVsbFNjcmVlbic6XG4gICAgICAgICAgICAgIGNhc2UgJ2FzeW5jJzpcbiAgICAgICAgICAgICAgY2FzZSAnYXV0b1BsYXknOlxuICAgICAgICAgICAgICBjYXNlICdjb250cm9scyc6XG4gICAgICAgICAgICAgIGNhc2UgJ2RlZmF1bHQnOlxuICAgICAgICAgICAgICBjYXNlICdkZWZlcic6XG4gICAgICAgICAgICAgIGNhc2UgJ2Rpc2FibGVkJzpcbiAgICAgICAgICAgICAgY2FzZSAnZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUnOlxuICAgICAgICAgICAgICBjYXNlICdkaXNhYmxlUmVtb3RlUGxheWJhY2snOlxuICAgICAgICAgICAgICBjYXNlICdmb3JtTm9WYWxpZGF0ZSc6XG4gICAgICAgICAgICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICAgICAgICAgIGNhc2UgJ2xvb3AnOlxuICAgICAgICAgICAgICBjYXNlICdub01vZHVsZSc6XG4gICAgICAgICAgICAgIGNhc2UgJ25vVmFsaWRhdGUnOlxuICAgICAgICAgICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgICAgICAgY2FzZSAncGxheXNJbmxpbmUnOlxuICAgICAgICAgICAgICBjYXNlICdyZWFkT25seSc6XG4gICAgICAgICAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgICAgICAgY2FzZSAncmV2ZXJzZWQnOlxuICAgICAgICAgICAgICBjYXNlICdzY29wZWQnOlxuICAgICAgICAgICAgICBjYXNlICdzZWFtbGVzcyc6XG4gICAgICAgICAgICAgIGNhc2UgJ2l0ZW1TY29wZSc6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBlcnJvcignUmVjZWl2ZWQgdGhlIHN0cmluZyBgJXNgIGZvciB0aGUgYm9vbGVhbiBhdHRyaWJ1dGUgYCVzYC4gJyArICclcyAnICsgJ0RpZCB5b3UgbWVhbiAlcz17JXN9PycsIHZhbHVlLCBuYW1lLCB2YWx1ZSA9PT0gJ2ZhbHNlJyA/ICdUaGUgYnJvd3NlciB3aWxsIGludGVycHJldCBpdCBhcyBhIHRydXRoeSB2YWx1ZS4nIDogJ0FsdGhvdWdoIHRoaXMgd29ya3MsIGl0IHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQgaWYgeW91IHBhc3MgdGhlIHN0cmluZyBcImZhbHNlXCIuJywgbmFtZSwgdmFsdWUpO1xuXG4gICAgICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5Vbmtub3duUHJvcGVydGllcyh0eXBlLCBwcm9wcywgZXZlbnRSZWdpc3RyeSkge1xuICB7XG4gICAgdmFyIHVua25vd25Qcm9wcyA9IFtdO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgICB2YXIgaXNWYWxpZCA9IHZhbGlkYXRlUHJvcGVydHkodHlwZSwga2V5LCBwcm9wc1trZXldLCBldmVudFJlZ2lzdHJ5KTtcblxuICAgICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICAgIHVua25vd25Qcm9wcy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHVua25vd25Qcm9wU3RyaW5nID0gdW5rbm93blByb3BzLm1hcChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgcmV0dXJuICdgJyArIHByb3AgKyAnYCc7XG4gICAgfSkuam9pbignLCAnKTtcblxuICAgIGlmICh1bmtub3duUHJvcHMubGVuZ3RoID09PSAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCB2YWx1ZSBmb3IgcHJvcCAlcyBvbiA8JXM+IHRhZy4gRWl0aGVyIHJlbW92ZSBpdCBmcm9tIHRoZSBlbGVtZW50LCAnICsgJ29yIHBhc3MgYSBzdHJpbmcgb3IgbnVtYmVyIHZhbHVlIHRvIGtlZXAgaXQgaW4gdGhlIERPTS4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9hdHRyaWJ1dGUtYmVoYXZpb3IgJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH0gZWxzZSBpZiAodW5rbm93blByb3BzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIHZhbHVlcyBmb3IgcHJvcHMgJXMgb24gPCVzPiB0YWcuIEVpdGhlciByZW1vdmUgdGhlbSBmcm9tIHRoZSBlbGVtZW50LCAnICsgJ29yIHBhc3MgYSBzdHJpbmcgb3IgbnVtYmVyIHZhbHVlIHRvIGtlZXAgdGhlbSBpbiB0aGUgRE9NLiAnICsgJ0ZvciBkZXRhaWxzLCBzZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2F0dHJpYnV0ZS1iZWhhdmlvciAnLCB1bmtub3duUHJvcFN0cmluZywgdHlwZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyh0eXBlLCBwcm9wcywgZXZlbnRSZWdpc3RyeSkge1xuICBpZiAoaXNDdXN0b21FbGVtZW50KHR5cGUpIHx8IHR5cGVvZiBwcm9wcy5pcyA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB3YXJuVW5rbm93blByb3BlcnRpZXModHlwZSwgcHJvcHMsIGV2ZW50UmVnaXN0cnkpO1xufVxuXG4vLyBhbmQgYW55IG5ld2xpbmUgb3IgdGFiIGFyZSBmaWx0ZXJlZCBvdXQgYXMgaWYgdGhleSdyZSBub3QgcGFydCBvZiB0aGUgVVJMLlxuLy8gaHR0cHM6Ly91cmwuc3BlYy53aGF0d2cub3JnLyN1cmwtcGFyc2luZ1xuLy8gVGFiIG9yIG5ld2xpbmUgYXJlIGRlZmluZWQgYXMgXFxyXFxuXFx0OlxuLy8gaHR0cHM6Ly9pbmZyYS5zcGVjLndoYXR3Zy5vcmcvI2FzY2lpLXRhYi1vci1uZXdsaW5lXG4vLyBBIEMwIGNvbnRyb2wgaXMgYSBjb2RlIHBvaW50IGluIHRoZSByYW5nZSBcXHUwMDAwIE5VTEwgdG8gXFx1MDAxRlxuLy8gSU5GT1JNQVRJT04gU0VQQVJBVE9SIE9ORSwgaW5jbHVzaXZlOlxuLy8gaHR0cHM6Ly9pbmZyYS5zcGVjLndoYXR3Zy5vcmcvI2MwLWNvbnRyb2wtb3Itc3BhY2VcblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuXG52YXIgaXNKYXZhU2NyaXB0UHJvdG9jb2wgPSAvXltcXHUwMDAwLVxcdTAwMUYgXSpqW1xcclxcblxcdF0qYVtcXHJcXG5cXHRdKnZbXFxyXFxuXFx0XSphW1xcclxcblxcdF0qc1tcXHJcXG5cXHRdKmNbXFxyXFxuXFx0XSpyW1xcclxcblxcdF0qaVtcXHJcXG5cXHRdKnBbXFxyXFxuXFx0XSp0W1xcclxcblxcdF0qXFw6L2k7XG52YXIgZGlkV2FybiA9IGZhbHNlO1xuXG5mdW5jdGlvbiBzYW5pdGl6ZVVSTCh1cmwpIHtcbiAgLy8gV2Ugc2hvdWxkIG5ldmVyIGhhdmUgc3ltYm9scyBoZXJlIGJlY2F1c2UgdGhleSBnZXQgZmlsdGVyZWQgb3V0IGVsc2V3aGVyZS5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHZhciBzdHJpbmdpZmllZFVSTCA9ICcnICsgdXJsO1xuXG4gIHtcbiAgICBpZiAoIWRpZFdhcm4gJiYgaXNKYXZhU2NyaXB0UHJvdG9jb2wudGVzdChzdHJpbmdpZmllZFVSTCkpIHtcbiAgICAgIGRpZFdhcm4gPSB0cnVlO1xuXG4gICAgICBlcnJvcignQSBmdXR1cmUgdmVyc2lvbiBvZiBSZWFjdCB3aWxsIGJsb2NrIGphdmFzY3JpcHQ6IFVSTHMgYXMgYSBzZWN1cml0eSBwcmVjYXV0aW9uLiAnICsgJ1VzZSBldmVudCBoYW5kbGVycyBpbnN0ZWFkIGlmIHlvdSBjYW4uIElmIHlvdSBuZWVkIHRvIGdlbmVyYXRlIHVuc2FmZSBIVE1MIHRyeSAnICsgJ3VzaW5nIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGluc3RlYWQuIFJlYWN0IHdhcyBwYXNzZWQgJXMuJywgSlNPTi5zdHJpbmdpZnkoc3RyaW5naWZpZWRVUkwpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdXJsO1xufVxuXG52YXIgSVNfRVZFTlRfSEFORExFX05PTl9NQU5BR0VEX05PREUgPSAxO1xudmFyIElTX05PTl9ERUxFR0FURUQgPSAxIDw8IDE7XG52YXIgSVNfQ0FQVFVSRV9QSEFTRSA9IDEgPDwgMjtcbi8vIHNldCB0byBMRUdBQ1lfRkJfU1VQUE9SVC4gTEVHQUNZX0ZCX1NVUFBPUlQgb25seSBnZXRzIHNldCB3aGVuXG4vLyB3ZSBjYWxsIHdpbGxEZWZlckxhdGVyRm9yTGVnYWN5RkJTdXBwb3J0LCB0aHVzIG5vdCBiYWlsaW5nIG91dFxuLy8gd2lsbCByZXN1bHQgaW4gZW5kbGVzcyBjeWNsZXMgbGlrZSBhbiBpbmZpbml0ZSBsb29wLlxuLy8gV2UgYWxzbyBkb24ndCB3YW50IHRvIGRlZmVyIGR1cmluZyBldmVudCByZXBsYXlpbmcuXG5cbnZhciBTSE9VTERfTk9UX1BST0NFU1NfUE9MWUZJTExfRVZFTlRfUExVR0lOUyA9IElTX0VWRU5UX0hBTkRMRV9OT05fTUFOQUdFRF9OT0RFIHwgSVNfTk9OX0RFTEVHQVRFRCB8IElTX0NBUFRVUkVfUEhBU0U7XG5cbi8vIFRoaXMgZXhpc3RzIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kgYmV0d2VlbiBSZWFjdERPTUV2ZW50UmVwbGF5aW5nXG4vLyBhbmQgRE9NUGx1Z2luRXZlbnRTeXN0ZW0uXG52YXIgY3VycmVudFJlcGxheWluZ0V2ZW50ID0gbnVsbDtcbmZ1bmN0aW9uIHNldFJlcGxheWluZ0V2ZW50KGV2ZW50KSB7XG4gIHtcbiAgICBpZiAoY3VycmVudFJlcGxheWluZ0V2ZW50ICE9PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgY3VycmVudGx5IHJlcGxheWluZyBldmVudCB0byBiZSBudWxsLiBUaGlzIGVycm9yICcgKyAnaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG5cbiAgY3VycmVudFJlcGxheWluZ0V2ZW50ID0gZXZlbnQ7XG59XG5mdW5jdGlvbiByZXNldFJlcGxheWluZ0V2ZW50KCkge1xuICB7XG4gICAgaWYgKGN1cnJlbnRSZXBsYXlpbmdFdmVudCA9PT0gbnVsbCkge1xuICAgICAgZXJyb3IoJ0V4cGVjdGVkIGN1cnJlbnRseSByZXBsYXlpbmcgZXZlbnQgdG8gbm90IGJlIG51bGwuIFRoaXMgZXJyb3IgJyArICdpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBjdXJyZW50UmVwbGF5aW5nRXZlbnQgPSBudWxsO1xufVxuZnVuY3Rpb24gaXNSZXBsYXlpbmdFdmVudChldmVudCkge1xuICByZXR1cm4gZXZlbnQgPT09IGN1cnJlbnRSZXBsYXlpbmdFdmVudDtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB0YXJnZXQgbm9kZSBmcm9tIGEgbmF0aXZlIGJyb3dzZXIgZXZlbnQgYnkgYWNjb3VudGluZyBmb3JcbiAqIGluY29uc2lzdGVuY2llcyBpbiBicm93c2VyIERPTSBBUElzLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudCBOYXRpdmUgYnJvd3NlciBldmVudC5cbiAqIEByZXR1cm4ge0RPTUV2ZW50VGFyZ2V0fSBUYXJnZXQgbm9kZS5cbiAqL1xuXG5mdW5jdGlvbiBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCkge1xuICAvLyBGYWxsYmFjayB0byBuYXRpdmVFdmVudC5zcmNFbGVtZW50IGZvciBJRTlcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMjUwNlxuICB2YXIgdGFyZ2V0ID0gbmF0aXZlRXZlbnQudGFyZ2V0IHx8IG5hdGl2ZUV2ZW50LnNyY0VsZW1lbnQgfHwgd2luZG93OyAvLyBOb3JtYWxpemUgU1ZHIDx1c2U+IGVsZW1lbnQgZXZlbnRzICM0OTYzXG5cbiAgaWYgKHRhcmdldC5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCkge1xuICAgIHRhcmdldCA9IHRhcmdldC5jb3JyZXNwb25kaW5nVXNlRWxlbWVudDtcbiAgfSAvLyBTYWZhcmkgbWF5IGZpcmUgZXZlbnRzIG9uIHRleHQgbm9kZXMgKE5vZGUuVEVYVF9OT0RFIGlzIDMpLlxuICAvLyBAc2VlIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvanMvZXZlbnRzX3Byb3BlcnRpZXMuaHRtbFxuXG5cbiAgcmV0dXJuIHRhcmdldC5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFID8gdGFyZ2V0LnBhcmVudE5vZGUgOiB0YXJnZXQ7XG59XG5cbnZhciByZXN0b3JlVGFyZ2V0ID0gbnVsbDtcbnZhciByZXN0b3JlUXVldWUgPSBudWxsO1xuXG5mdW5jdGlvbiByZXN0b3JlU3RhdGVPZlRhcmdldCh0YXJnZXQpIHtcbiAgLy8gV2UgcGVyZm9ybSB0aGlzIHRyYW5zbGF0aW9uIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IGxvb3Agc28gdGhhdCB3ZVxuICAvLyBhbHdheXMgcmVjZWl2ZSB0aGUgY29ycmVjdCBmaWJlciBoZXJlXG4gIHZhciBpbnRlcm5hbEluc3RhbmNlID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSh0YXJnZXQpO1xuXG4gIGlmICghaW50ZXJuYWxJbnN0YW5jZSkge1xuICAgIC8vIFVubW91bnRlZFxuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBzdGF0ZU5vZGUgPSBpbnRlcm5hbEluc3RhbmNlLnN0YXRlTm9kZTsgLy8gR3VhcmQgYWdhaW5zdCBGaWJlciBiZWluZyB1bm1vdW50ZWQuXG5cbiAgaWYgKHN0YXRlTm9kZSkge1xuICAgIHZhciBwcm9wcyA9IGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUoc3RhdGVOb2RlKTtcbiAgICByZXN0b3JlQ29udHJvbGxlZFN0YXRlKGludGVybmFsSW5zdGFuY2Uuc3RhdGVOb2RlLCBpbnRlcm5hbEluc3RhbmNlLnR5cGUsIHByb3BzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnF1ZXVlU3RhdGVSZXN0b3JlKHRhcmdldCkge1xuICBpZiAocmVzdG9yZVRhcmdldCkge1xuICAgIGlmIChyZXN0b3JlUXVldWUpIHtcbiAgICAgIHJlc3RvcmVRdWV1ZS5wdXNoKHRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3RvcmVRdWV1ZSA9IFt0YXJnZXRdO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXN0b3JlVGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG59XG5mdW5jdGlvbiBuZWVkc1N0YXRlUmVzdG9yZSgpIHtcbiAgcmV0dXJuIHJlc3RvcmVUYXJnZXQgIT09IG51bGwgfHwgcmVzdG9yZVF1ZXVlICE9PSBudWxsO1xufVxuZnVuY3Rpb24gcmVzdG9yZVN0YXRlSWZOZWVkZWQoKSB7XG4gIGlmICghcmVzdG9yZVRhcmdldCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciB0YXJnZXQgPSByZXN0b3JlVGFyZ2V0O1xuICB2YXIgcXVldWVkVGFyZ2V0cyA9IHJlc3RvcmVRdWV1ZTtcbiAgcmVzdG9yZVRhcmdldCA9IG51bGw7XG4gIHJlc3RvcmVRdWV1ZSA9IG51bGw7XG4gIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHF1ZXVlZFRhcmdldHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZFRhcmdldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHF1ZXVlZFRhcmdldHNbaV0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIGBSZWFjdEluc3RhbmNlTWFwYCBtYWludGFpbnMgYSBtYXBwaW5nIGZyb20gYSBwdWJsaWMgZmFjaW5nIHN0YXRlZnVsXG4gKiBpbnN0YW5jZSAoa2V5KSBhbmQgdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uICh2YWx1ZSkuIFRoaXMgYWxsb3dzIHB1YmxpY1xuICogbWV0aG9kcyB0byBhY2NlcHQgdGhlIHVzZXIgZmFjaW5nIGluc3RhbmNlIGFzIGFuIGFyZ3VtZW50IGFuZCBtYXAgdGhlbSBiYWNrXG4gKiB0byBpbnRlcm5hbCBtZXRob2RzLlxuICpcbiAqIE5vdGUgdGhhdCB0aGlzIG1vZHVsZSBpcyBjdXJyZW50bHkgc2hhcmVkIGFuZCBhc3N1bWVkIHRvIGJlIHN0YXRlbGVzcy5cbiAqIElmIHRoaXMgYmVjb21lcyBhbiBhY3R1YWwgTWFwLCB0aGF0IHdpbGwgYnJlYWsuXG4gKi9cbmZ1bmN0aW9uIGdldChrZXkpIHtcbiAgcmV0dXJuIGtleS5fcmVhY3RJbnRlcm5hbHM7XG59XG5mdW5jdGlvbiBoYXMoa2V5KSB7XG4gIHJldHVybiBrZXkuX3JlYWN0SW50ZXJuYWxzICE9PSB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBzZXQoa2V5LCB2YWx1ZSkge1xuICBrZXkuX3JlYWN0SW50ZXJuYWxzID0gdmFsdWU7XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG5mdW5jdGlvbiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSB7XG4gIHZhciBub2RlID0gZmliZXI7XG4gIHZhciBuZWFyZXN0TW91bnRlZCA9IGZpYmVyO1xuXG4gIGlmICghZmliZXIuYWx0ZXJuYXRlKSB7XG4gICAgLy8gSWYgdGhlcmUgaXMgbm8gYWx0ZXJuYXRlLCB0aGlzIG1pZ2h0IGJlIGEgbmV3IHRyZWUgdGhhdCBpc24ndCBpbnNlcnRlZFxuICAgIC8vIHlldC4gSWYgaXQgaXMsIHRoZW4gaXQgd2lsbCBoYXZlIGEgcGVuZGluZyBpbnNlcnRpb24gZWZmZWN0IG9uIGl0LlxuICAgIHZhciBuZXh0Tm9kZSA9IG5vZGU7XG5cbiAgICBkbyB7XG4gICAgICBub2RlID0gbmV4dE5vZGU7XG5cbiAgICAgIGlmICgobm9kZS5mbGFncyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gaW5zZXJ0aW9uIG9yIGluLXByb2dyZXNzIGh5ZHJhdGlvbi4gVGhlIG5lYXJlc3QgcG9zc2libGVcbiAgICAgICAgLy8gbW91bnRlZCBmaWJlciBpcyB0aGUgcGFyZW50IGJ1dCB3ZSBuZWVkIHRvIGNvbnRpbnVlIHRvIGZpZ3VyZSBvdXRcbiAgICAgICAgLy8gaWYgdGhhdCBvbmUgaXMgc3RpbGwgbW91bnRlZC5cbiAgICAgICAgbmVhcmVzdE1vdW50ZWQgPSBub2RlLnJldHVybjtcbiAgICAgIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV0gd2UgYmFpbCBvdXQgd2hlbiB3ZSBnZXQgYSBudWxsXG5cblxuICAgICAgbmV4dE5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9IHdoaWxlIChuZXh0Tm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKG5vZGUucmV0dXJuKSB7XG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgd2FzIGEgbmVzdGVkIEhvc3RSb290IHdoZW4gdXNlZCB3aXRoXG4gICAgLy8gcmVuZGVyQ29udGFpbmVySW50b1N1YnRyZWUuXG4gICAgcmV0dXJuIG5lYXJlc3RNb3VudGVkO1xuICB9IC8vIElmIHdlIGRpZG4ndCBoaXQgdGhlIHJvb3QsIHRoYXQgbWVhbnMgdGhhdCB3ZSdyZSBpbiBhbiBkaXNjb25uZWN0ZWQgdHJlZVxuICAvLyB0aGF0IGhhcyBiZWVuIHVubW91bnRlZC5cblxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihmaWJlcikge1xuICBpZiAoZmliZXIudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlID09PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgc3VzcGVuc2VTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldENvbnRhaW5lckZyb21GaWJlcihmaWJlcikge1xuICByZXR1cm4gZmliZXIudGFnID09PSBIb3N0Um9vdCA/IGZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIDogbnVsbDtcbn1cbmZ1bmN0aW9uIGlzRmliZXJNb3VudGVkKGZpYmVyKSB7XG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5mdW5jdGlvbiBpc01vdW50ZWQoY29tcG9uZW50KSB7XG4gIHtcbiAgICB2YXIgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lciQzLmN1cnJlbnQ7XG5cbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgb3duZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgICAgdmFyIG93bmVyRmliZXIgPSBvd25lcjtcbiAgICAgIHZhciBpbnN0YW5jZSA9IG93bmVyRmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICBpZiAoIWluc3RhbmNlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlcikge1xuICAgICAgICBlcnJvcignJXMgaXMgYWNjZXNzaW5nIGlzTW91bnRlZCBpbnNpZGUgaXRzIHJlbmRlcigpIGZ1bmN0aW9uLiAnICsgJ3JlbmRlcigpIHNob3VsZCBiZSBhIHB1cmUgZnVuY3Rpb24gb2YgcHJvcHMgYW5kIHN0YXRlLiBJdCBzaG91bGQgJyArICduZXZlciBhY2Nlc3Mgc29tZXRoaW5nIHRoYXQgcmVxdWlyZXMgc3RhbGUgZGF0YSBmcm9tIHRoZSBwcmV2aW91cyAnICsgJ3JlbmRlciwgc3VjaCBhcyByZWZzLiBNb3ZlIHRoaXMgbG9naWMgdG8gY29tcG9uZW50RGlkTW91bnQgYW5kICcgKyAnY29tcG9uZW50RGlkVXBkYXRlIGluc3RlYWQuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihvd25lckZpYmVyKSB8fCAnQSBjb21wb25lbnQnKTtcbiAgICAgIH1cblxuICAgICAgaW5zdGFuY2UuX3dhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB2YXIgZmliZXIgPSBnZXQoY29tcG9uZW50KTtcblxuICBpZiAoIWZpYmVyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpID09PSBmaWJlcjtcbn1cblxuZnVuY3Rpb24gYXNzZXJ0SXNNb3VudGVkKGZpYmVyKSB7XG4gIGlmIChnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSAhPT0gZmliZXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBmaW5kIG5vZGUgb24gYW4gdW5tb3VudGVkIGNvbXBvbmVudC4nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChmaWJlcikge1xuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gIGlmICghYWx0ZXJuYXRlKSB7XG4gICAgLy8gSWYgdGhlcmUgaXMgbm8gYWx0ZXJuYXRlLCB0aGVuIHdlIG9ubHkgbmVlZCB0byBjaGVjayBpZiBpdCBpcyBtb3VudGVkLlxuICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBmaW5kIG5vZGUgb24gYW4gdW5tb3VudGVkIGNvbXBvbmVudC4nKTtcbiAgICB9XG5cbiAgICBpZiAobmVhcmVzdE1vdW50ZWQgIT09IGZpYmVyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmliZXI7XG4gIH0gLy8gSWYgd2UgaGF2ZSB0d28gcG9zc2libGUgYnJhbmNoZXMsIHdlJ2xsIHdhbGsgYmFja3dhcmRzIHVwIHRvIHRoZSByb290XG4gIC8vIHRvIHNlZSB3aGF0IHBhdGggdGhlIHJvb3QgcG9pbnRzIHRvLiBPbiB0aGUgd2F5IHdlIG1heSBoaXQgb25lIG9mIHRoZVxuICAvLyBzcGVjaWFsIGNhc2VzIGFuZCB3ZSdsbCBkZWFsIHdpdGggdGhlbS5cblxuXG4gIHZhciBhID0gZmliZXI7XG4gIHZhciBiID0gYWx0ZXJuYXRlO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgdmFyIHBhcmVudEEgPSBhLnJldHVybjtcblxuICAgIGlmIChwYXJlbnRBID09PSBudWxsKSB7XG4gICAgICAvLyBXZSdyZSBhdCB0aGUgcm9vdC5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBwYXJlbnRCID0gcGFyZW50QS5hbHRlcm5hdGU7XG5cbiAgICBpZiAocGFyZW50QiA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhlcmUgaXMgbm8gYWx0ZXJuYXRlLiBUaGlzIGlzIGFuIHVudXN1YWwgY2FzZS4gQ3VycmVudGx5LCBpdCBvbmx5XG4gICAgICAvLyBoYXBwZW5zIHdoZW4gYSBTdXNwZW5zZSBjb21wb25lbnQgaXMgaGlkZGVuLiBBbiBleHRyYSBmcmFnbWVudCBmaWJlclxuICAgICAgLy8gaXMgaW5zZXJ0ZWQgaW4gYmV0d2VlbiB0aGUgU3VzcGVuc2UgZmliZXIgYW5kIGl0cyBjaGlsZHJlbi4gU2tpcFxuICAgICAgLy8gb3ZlciB0aGlzIGV4dHJhIGZyYWdtZW50IGZpYmVyIGFuZCBwcm9jZWVkIHRvIHRoZSBuZXh0IHBhcmVudC5cbiAgICAgIHZhciBuZXh0UGFyZW50ID0gcGFyZW50QS5yZXR1cm47XG5cbiAgICAgIGlmIChuZXh0UGFyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGEgPSBiID0gbmV4dFBhcmVudDtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IC8vIElmIHRoZXJlJ3Mgbm8gcGFyZW50LCB3ZSdyZSBhdCB0aGUgcm9vdC5cblxuXG4gICAgICBicmVhaztcbiAgICB9IC8vIElmIGJvdGggY29waWVzIG9mIHRoZSBwYXJlbnQgZmliZXIgcG9pbnQgdG8gdGhlIHNhbWUgY2hpbGQsIHdlIGNhblxuICAgIC8vIGFzc3VtZSB0aGF0IHRoZSBjaGlsZCBpcyBjdXJyZW50LiBUaGlzIGhhcHBlbnMgd2hlbiB3ZSBiYWlsb3V0IG9uIGxvd1xuICAgIC8vIHByaW9yaXR5OiB0aGUgYmFpbGVkIG91dCBmaWJlcidzIGNoaWxkIHJldXNlcyB0aGUgY3VycmVudCBjaGlsZC5cblxuXG4gICAgaWYgKHBhcmVudEEuY2hpbGQgPT09IHBhcmVudEIuY2hpbGQpIHtcbiAgICAgIHZhciBjaGlsZCA9IHBhcmVudEEuY2hpbGQ7XG5cbiAgICAgIHdoaWxlIChjaGlsZCkge1xuICAgICAgICBpZiAoY2hpbGQgPT09IGEpIHtcbiAgICAgICAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQSBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgICAgICAgYXNzZXJ0SXNNb3VudGVkKHBhcmVudEEpO1xuICAgICAgICAgIHJldHVybiBmaWJlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGlsZCA9PT0gYikge1xuICAgICAgICAgIC8vIFdlJ3ZlIGRldGVybWluZWQgdGhhdCBCIGlzIHRoZSBjdXJyZW50IGJyYW5jaC5cbiAgICAgICAgICBhc3NlcnRJc01vdW50ZWQocGFyZW50QSk7XG4gICAgICAgICAgcmV0dXJuIGFsdGVybmF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICAgIH0gLy8gV2Ugc2hvdWxkIG5ldmVyIGhhdmUgYW4gYWx0ZXJuYXRlIGZvciBhbnkgbW91bnRpbmcgbm9kZS4gU28gdGhlIG9ubHlcbiAgICAgIC8vIHdheSB0aGlzIGNvdWxkIHBvc3NpYmx5IGhhcHBlbiBpcyBpZiB0aGlzIHdhcyB1bm1vdW50ZWQsIGlmIGF0IGFsbC5cblxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBmaW5kIG5vZGUgb24gYW4gdW5tb3VudGVkIGNvbXBvbmVudC4nKTtcbiAgICB9XG5cbiAgICBpZiAoYS5yZXR1cm4gIT09IGIucmV0dXJuKSB7XG4gICAgICAvLyBUaGUgcmV0dXJuIHBvaW50ZXIgb2YgQSBhbmQgdGhlIHJldHVybiBwb2ludGVyIG9mIEIgcG9pbnQgdG8gZGlmZmVyZW50XG4gICAgICAvLyBmaWJlcnMuIFdlIGFzc3VtZSB0aGF0IHJldHVybiBwb2ludGVycyBuZXZlciBjcmlzcy1jcm9zcywgc28gQSBtdXN0XG4gICAgICAvLyBiZWxvbmcgdG8gdGhlIGNoaWxkIHNldCBvZiBBLnJldHVybiwgYW5kIEIgbXVzdCBiZWxvbmcgdG8gdGhlIGNoaWxkXG4gICAgICAvLyBzZXQgb2YgQi5yZXR1cm4uXG4gICAgICBhID0gcGFyZW50QTtcbiAgICAgIGIgPSBwYXJlbnRCO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgcmV0dXJuIHBvaW50ZXJzIHBvaW50IHRvIHRoZSBzYW1lIGZpYmVyLiBXZSdsbCBoYXZlIHRvIHVzZSB0aGVcbiAgICAgIC8vIGRlZmF1bHQsIHNsb3cgcGF0aDogc2NhbiB0aGUgY2hpbGQgc2V0cyBvZiBlYWNoIHBhcmVudCBhbHRlcm5hdGUgdG8gc2VlXG4gICAgICAvLyB3aGljaCBjaGlsZCBiZWxvbmdzIHRvIHdoaWNoIHNldC5cbiAgICAgIC8vXG4gICAgICAvLyBTZWFyY2ggcGFyZW50IEEncyBjaGlsZCBzZXRcbiAgICAgIHZhciBkaWRGaW5kQ2hpbGQgPSBmYWxzZTtcbiAgICAgIHZhciBfY2hpbGQgPSBwYXJlbnRBLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkKSB7XG4gICAgICAgIGlmIChfY2hpbGQgPT09IGEpIHtcbiAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgIGEgPSBwYXJlbnRBO1xuICAgICAgICAgIGIgPSBwYXJlbnRCO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF9jaGlsZCA9PT0gYikge1xuICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XG4gICAgICAgICAgYiA9IHBhcmVudEE7XG4gICAgICAgICAgYSA9IHBhcmVudEI7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBfY2hpbGQgPSBfY2hpbGQuc2libGluZztcbiAgICAgIH1cblxuICAgICAgaWYgKCFkaWRGaW5kQ2hpbGQpIHtcbiAgICAgICAgLy8gU2VhcmNoIHBhcmVudCBCJ3MgY2hpbGQgc2V0XG4gICAgICAgIF9jaGlsZCA9IHBhcmVudEIuY2hpbGQ7XG5cbiAgICAgICAgd2hpbGUgKF9jaGlsZCkge1xuICAgICAgICAgIGlmIChfY2hpbGQgPT09IGEpIHtcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XG4gICAgICAgICAgICBhID0gcGFyZW50QjtcbiAgICAgICAgICAgIGIgPSBwYXJlbnRBO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKF9jaGlsZCA9PT0gYikge1xuICAgICAgICAgICAgZGlkRmluZENoaWxkID0gdHJ1ZTtcbiAgICAgICAgICAgIGIgPSBwYXJlbnRCO1xuICAgICAgICAgICAgYSA9IHBhcmVudEE7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfY2hpbGQgPSBfY2hpbGQuc2libGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZGlkRmluZENoaWxkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDaGlsZCB3YXMgbm90IGZvdW5kIGluIGVpdGhlciBwYXJlbnQgc2V0LiBUaGlzIGluZGljYXRlcyBhIGJ1ZyAnICsgJ2luIFJlYWN0IHJlbGF0ZWQgdG8gdGhlIHJldHVybiBwb2ludGVyLiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChhLmFsdGVybmF0ZSAhPT0gYikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmV0dXJuIGZpYmVycyBzaG91bGQgYWx3YXlzIGJlIGVhY2ggb3RoZXJzJyBhbHRlcm5hdGVzLiBcIiArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfSAvLyBJZiB0aGUgcm9vdCBpcyBub3QgYSBob3N0IGNvbnRhaW5lciwgd2UncmUgaW4gYSBkaXNjb25uZWN0ZWQgdHJlZS4gSS5lLlxuICAvLyB1bm1vdW50ZWQuXG5cblxuICBpZiAoYS50YWcgIT09IEhvc3RSb290KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gIH1cblxuICBpZiAoYS5zdGF0ZU5vZGUuY3VycmVudCA9PT0gYSkge1xuICAgIC8vIFdlJ3ZlIGRldGVybWluZWQgdGhhdCBBIGlzIHRoZSBjdXJyZW50IGJyYW5jaC5cbiAgICByZXR1cm4gZmliZXI7XG4gIH0gLy8gT3RoZXJ3aXNlIEIgaGFzIHRvIGJlIGN1cnJlbnQgYnJhbmNoLlxuXG5cbiAgcmV0dXJuIGFsdGVybmF0ZTtcbn1cbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVyKHBhcmVudCkge1xuICB2YXIgY3VycmVudFBhcmVudCA9IGZpbmRDdXJyZW50RmliZXJVc2luZ1Nsb3dQYXRoKHBhcmVudCk7XG4gIHJldHVybiBjdXJyZW50UGFyZW50ICE9PSBudWxsID8gZmluZEN1cnJlbnRIb3N0RmliZXJJbXBsKGN1cnJlbnRQYXJlbnQpIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRIb3N0RmliZXJJbXBsKG5vZGUpIHtcbiAgLy8gTmV4dCB3ZSdsbCBkcmlsbCBkb3duIHRoaXMgY29tcG9uZW50IHRvIGZpbmQgdGhlIGZpcnN0IEhvc3RDb21wb25lbnQvVGV4dC5cbiAgdmFyIHRhZyA9IG5vZGUudGFnO1xuXG4gIGlmICh0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgKHRhZyA9PT0gSG9zdEhvaXN0YWJsZSApIHx8IHRhZyA9PT0gSG9zdFNpbmdsZXRvbiB8fCB0YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkO1xuXG4gIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgIHZhciBtYXRjaCA9IGZpbmRDdXJyZW50SG9zdEZpYmVySW1wbChjaGlsZCk7XG5cbiAgICBpZiAobWF0Y2ggIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9XG5cbiAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzKHBhcmVudCkge1xuICB2YXIgY3VycmVudFBhcmVudCA9IGZpbmRDdXJyZW50RmliZXJVc2luZ1Nsb3dQYXRoKHBhcmVudCk7XG4gIHJldHVybiBjdXJyZW50UGFyZW50ICE9PSBudWxsID8gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChjdXJyZW50UGFyZW50KSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVyV2l0aE5vUG9ydGFsc0ltcGwobm9kZSkge1xuICAvLyBOZXh0IHdlJ2xsIGRyaWxsIGRvd24gdGhpcyBjb21wb25lbnQgdG8gZmluZCB0aGUgZmlyc3QgSG9zdENvbXBvbmVudC9UZXh0LlxuICB2YXIgdGFnID0gbm9kZS50YWc7XG5cbiAgaWYgKHRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCAodGFnID09PSBIb3N0SG9pc3RhYmxlICkgfHwgdGFnID09PSBIb3N0U2luZ2xldG9uIHx8IHRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgaWYgKGNoaWxkLnRhZyAhPT0gSG9zdFBvcnRhbCkge1xuICAgICAgdmFyIG1hdGNoID0gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChjaGlsZCk7XG5cbiAgICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHQ7XG5cbntcbiAgd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0ID0ge307XG59XG5cbnZhciBlbXB0eUNvbnRleHRPYmplY3QgPSB7fTtcblxue1xuICBPYmplY3QuZnJlZXplKGVtcHR5Q29udGV4dE9iamVjdCk7XG59IC8vIEEgY3Vyc29yIHRvIHRoZSBjdXJyZW50IG1lcmdlZCBjb250ZXh0IG9iamVjdCBvbiB0aGUgc3RhY2suXG5cblxudmFyIGNvbnRleHRTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihlbXB0eUNvbnRleHRPYmplY3QpOyAvLyBBIGN1cnNvciB0byBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjb250ZXh0IGhhcyBjaGFuZ2VkLlxuXG52YXIgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihmYWxzZSk7IC8vIEtlZXAgdHJhY2sgb2YgdGhlIHByZXZpb3VzIGNvbnRleHQgb2JqZWN0IHRoYXQgd2FzIG9uIHRoZSBzdGFjay5cbi8vIFdlIHVzZSB0aGlzIHRvIGdldCBhY2Nlc3MgdG8gdGhlIHBhcmVudCBjb250ZXh0IGFmdGVyIHdlIGhhdmUgYWxyZWFkeVxuLy8gcHVzaGVkIHRoZSBuZXh0IGNvbnRleHQgcHJvdmlkZXIsIGFuZCBub3cgbmVlZCB0byBtZXJnZSB0aGVpciBjb250ZXh0cy5cblxudmFyIHByZXZpb3VzQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuZnVuY3Rpb24gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlcikge1xuICB7XG4gICAgaWYgKGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlciAmJiBpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAvLyBJZiB0aGUgZmliZXIgaXMgYSBjb250ZXh0IHByb3ZpZGVyIGl0c2VsZiwgd2hlbiB3ZSByZWFkIGl0cyBjb250ZXh0XG4gICAgICAvLyB3ZSBtYXkgaGF2ZSBhbHJlYWR5IHB1c2hlZCBpdHMgb3duIGNoaWxkIGNvbnRleHQgb24gdGhlIHN0YWNrLiBBIGNvbnRleHRcbiAgICAgIC8vIHByb3ZpZGVyIHNob3VsZCBub3QgXCJzZWVcIiBpdHMgb3duIGNoaWxkIGNvbnRleHQuIFRoZXJlZm9yZSB3ZSByZWFkIHRoZVxuICAgICAgLy8gcHJldmlvdXMgKHBhcmVudCkgY29udGV4dCBpbnN0ZWFkIGZvciBhIGNvbnRleHQgcHJvdmlkZXIuXG4gICAgICByZXR1cm4gcHJldmlvdXNDb250ZXh0O1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWNoZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCwgbWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQgPSB1bm1hc2tlZENvbnRleHQ7XG4gICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQgPSBtYXNrZWRDb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgIHZhciBjb250ZXh0VHlwZXMgPSB0eXBlLmNvbnRleHRUeXBlcztcblxuICAgIGlmICghY29udGV4dFR5cGVzKSB7XG4gICAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xuICAgIH0gLy8gQXZvaWQgcmVjcmVhdGluZyBtYXNrZWQgY29udGV4dCB1bmxlc3MgdW5tYXNrZWQgY29udGV4dCBoYXMgY2hhbmdlZC5cbiAgICAvLyBGYWlsaW5nIHRvIGRvIHRoaXMgd2lsbCByZXN1bHQgaW4gdW5uZWNlc3NhcnkgY2FsbHMgdG8gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcy5cbiAgICAvLyBUaGlzIG1heSB0cmlnZ2VyIGluZmluaXRlIGxvb3BzIGlmIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgY2FsbHMgc2V0U3RhdGUuXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmIChpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0ID09PSB1bm1hc2tlZENvbnRleHQpIHtcbiAgICAgIHJldHVybiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY29udGV4dCA9IHt9O1xuXG4gICAgZm9yICh2YXIga2V5IGluIGNvbnRleHRUeXBlcykge1xuICAgICAgY29udGV4dFtrZXldID0gdW5tYXNrZWRDb250ZXh0W2tleV07XG4gICAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gICAgLy8gQ29udGV4dCBpcyBjcmVhdGVkIGJlZm9yZSB0aGUgY2xhc3MgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBzbyBjaGVjayBmb3IgaW5zdGFuY2UuXG5cblxuICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc0NvbnRleHRDaGFuZ2VkKCkge1xuICB7XG4gICAgcmV0dXJuIGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NvbnRleHRQcm92aWRlcih0eXBlKSB7XG4gIHtcbiAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSB0eXBlLmNoaWxkQ29udGV4dFR5cGVzO1xuICAgIHJldHVybiBjaGlsZENvbnRleHRUeXBlcyAhPT0gbnVsbCAmJiBjaGlsZENvbnRleHRUeXBlcyAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIHBvcChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBmaWJlcik7XG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlcikge1xuICB7XG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcbiAgICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHVzaFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlciwgY29udGV4dCwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICBpZiAoY29udGV4dFN0YWNrQ3Vyc29yLmN1cnJlbnQgIT09IGVtcHR5Q29udGV4dE9iamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIGNvbnRleHQgZm91bmQgb24gc3RhY2suICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciwgY29udGV4dCwgZmliZXIpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0NoaWxkQ29udGV4dChmaWJlciwgdHlwZSwgcGFyZW50Q29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICAgIHZhciBjaGlsZENvbnRleHRUeXBlcyA9IHR5cGUuY2hpbGRDb250ZXh0VHlwZXM7IC8vIFRPRE8gKGJ2YXVnaG4pIFJlcGxhY2UgdGhpcyBiZWhhdmlvciB3aXRoIGFuIGludmFyaWFudCgpIGluIHRoZSBmdXR1cmUuXG4gICAgLy8gSXQgaGFzIG9ubHkgYmVlbiBhZGRlZCBpbiBGaWJlciB0byBtYXRjaCB0aGUgKHVuaW50ZW50aW9uYWwpIGJlaGF2aW9yIGluIFN0YWNrLlxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bic7XG5cbiAgICAgICAgaWYgKCF3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzLmNoaWxkQ29udGV4dFR5cGVzIGlzIHNwZWNpZmllZCBidXQgdGhlcmUgaXMgbm8gZ2V0Q2hpbGRDb250ZXh0KCkgbWV0aG9kICcgKyAnb24gdGhlIGluc3RhbmNlLiBZb3UgY2FuIGVpdGhlciBkZWZpbmUgZ2V0Q2hpbGRDb250ZXh0KCkgb24gJXMgb3IgcmVtb3ZlICcgKyAnY2hpbGRDb250ZXh0VHlwZXMgZnJvbSBpdC4nLCBjb21wb25lbnROYW1lLCBjb21wb25lbnROYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyZW50Q29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY2hpbGRDb250ZXh0ID0gaW5zdGFuY2UuZ2V0Q2hpbGRDb250ZXh0KCk7XG5cbiAgICBmb3IgKHZhciBjb250ZXh0S2V5IGluIGNoaWxkQ29udGV4dCkge1xuICAgICAgaWYgKCEoY29udGV4dEtleSBpbiBjaGlsZENvbnRleHRUeXBlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bicpICsgXCIuZ2V0Q2hpbGRDb250ZXh0KCk6IGtleSBcXFwiXCIgKyBjb250ZXh0S2V5ICsgXCJcXFwiIGlzIG5vdCBkZWZpbmVkIGluIGNoaWxkQ29udGV4dFR5cGVzLlwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYXNzaWduKHt9LCBwYXJlbnRDb250ZXh0LCBjaGlsZENvbnRleHQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHB1c2hDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpIHtcbiAge1xuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTsgLy8gV2UgcHVzaCB0aGUgY29udGV4dCBhcyBlYXJseSBhcyBwb3NzaWJsZSB0byBlbnN1cmUgc3RhY2sgaW50ZWdyaXR5LlxuICAgIC8vIElmIHRoZSBpbnN0YW5jZSBkb2VzIG5vdCBleGlzdCB5ZXQsIHdlIHdpbGwgcHVzaCBudWxsIGF0IGZpcnN0LFxuICAgIC8vIGFuZCByZXBsYWNlIGl0IG9uIHRoZSBzdGFjayBsYXRlciB3aGVuIGludmFsaWRhdGluZyB0aGUgY29udGV4dC5cblxuICAgIHZhciBtZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCA9IGluc3RhbmNlICYmIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0IHx8IGVtcHR5Q29udGV4dE9iamVjdDsgLy8gUmVtZW1iZXIgdGhlIHBhcmVudCBjb250ZXh0IHNvIHdlIGNhbiBtZXJnZSB3aXRoIGl0IGxhdGVyLlxuICAgIC8vIEluaGVyaXQgdGhlIHBhcmVudCdzIGRpZC1wZXJmb3JtLXdvcmsgdmFsdWUgdG8gYXZvaWQgaW5hZHZlcnRlbnRseSBibG9ja2luZyB1cGRhdGVzLlxuXG4gICAgcHJldmlvdXNDb250ZXh0ID0gY29udGV4dFN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG4gICAgcHVzaChjb250ZXh0U3RhY2tDdXJzb3IsIG1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgcHVzaChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLmN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCB0eXBlLCBkaWRDaGFuZ2UpIHtcbiAge1xuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmICghaW5zdGFuY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgdG8gaGF2ZSBhbiBpbnN0YW5jZSBieSB0aGlzIHBvaW50LiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgaWYgKGRpZENoYW5nZSkge1xuICAgICAgLy8gTWVyZ2UgcGFyZW50IGFuZCBvd24gY29udGV4dC5cbiAgICAgIC8vIFNraXAgdGhpcyBpZiB3ZSdyZSBub3QgdXBkYXRpbmcgZHVlIHRvIHNDVS5cbiAgICAgIC8vIFRoaXMgYXZvaWRzIHVubmVjZXNzYXJpbHkgcmVjb21wdXRpbmcgbWVtb2l6ZWQgdmFsdWVzLlxuICAgICAgdmFyIG1lcmdlZENvbnRleHQgPSBwcm9jZXNzQ2hpbGRDb250ZXh0KHdvcmtJblByb2dyZXNzLCB0eXBlLCBwcmV2aW91c0NvbnRleHQpO1xuICAgICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQgPSBtZXJnZWRDb250ZXh0OyAvLyBSZXBsYWNlIHRoZSBvbGQgKG9yIGVtcHR5KSBjb250ZXh0IHdpdGggdGhlIG5ldyBvbmUuXG4gICAgICAvLyBJdCBpcyBpbXBvcnRhbnQgdG8gdW53aW5kIHRoZSBjb250ZXh0IGluIHRoZSByZXZlcnNlIG9yZGVyLlxuXG4gICAgICBwb3AoZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgd29ya0luUHJvZ3Jlc3MpOyAvLyBOb3cgcHVzaCB0aGUgbmV3IGNvbnRleHQgYW5kIG1hcmsgdGhhdCBpdCBoYXMgY2hhbmdlZC5cblxuICAgICAgcHVzaChjb250ZXh0U3RhY2tDdXJzb3IsIG1lcmdlZENvbnRleHQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvcChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBwdXNoKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGRpZENoYW5nZSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kQ3VycmVudFVubWFza2VkQ29udGV4dChmaWJlcikge1xuICB7XG4gICAgLy8gQ3VycmVudGx5IHRoaXMgaXMgb25seSB1c2VkIHdpdGggcmVuZGVyU3VidHJlZUludG9Db250YWluZXI7IG5vdCBzdXJlIGlmIGl0XG4gICAgLy8gbWFrZXMgc2Vuc2UgZWxzZXdoZXJlXG4gICAgaWYgKCFpc0ZpYmVyTW91bnRlZChmaWJlcikgfHwgZmliZXIudGFnICE9PSBDbGFzc0NvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBzdWJ0cmVlIHBhcmVudCB0byBiZSBhIG1vdW50ZWQgY2xhc3MgY29tcG9uZW50LiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcblxuICAgIGRvIHtcbiAgICAgIHN3aXRjaCAobm9kZS50YWcpIHtcbiAgICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAgICByZXR1cm4gbm9kZS5zdGF0ZU5vZGUuY29udGV4dDtcblxuICAgICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBDb21wb25lbnQgPSBub2RlLnR5cGU7XG5cbiAgICAgICAgICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBub2RlLnN0YXRlTm9kZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXSB3ZSBiYWlsIG91dCB3aGVuIHdlIGdldCBhIG51bGxcblxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfSB3aGlsZSAobm9kZSAhPT0gbnVsbCk7XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZvdW5kIHVuZXhwZWN0ZWQgZGV0YWNoZWQgc3VidHJlZSBwYXJlbnQuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxufVxuXG52YXIgTGVnYWN5Um9vdCA9IDA7XG52YXIgQ29uY3VycmVudFJvb3QgPSAxO1xuXG4vLyBXZSB1c2UgdGhlIGV4aXN0ZW5jZSBvZiB0aGUgc3RhdGUgb2JqZWN0IGFzIGFuIGluZGljYXRvciB0aGF0IHRoZSBjb21wb25lbnRcbi8vIGlzIGhpZGRlbi5cbnZhciBPZmZzY3JlZW5WaXNpYmxlID1cbi8qICAgICAgICAgICAgICAgICAgICAgKi9cbjE7XG52YXIgT2Zmc2NyZWVuRGV0YWNoZWQgPVxuLyogICAgICAgICAgICAgICAgICAgICovXG4yO1xudmFyIE9mZnNjcmVlblBhc3NpdmVFZmZlY3RzQ29ubmVjdGVkID1cbi8qICAgICAqL1xuNDtcbmZ1bmN0aW9uIGlzT2Zmc2NyZWVuTWFudWFsKG9mZnNjcmVlbkZpYmVyKSB7XG4gIHJldHVybiBvZmZzY3JlZW5GaWJlci5tZW1vaXplZFByb3BzICE9PSBudWxsICYmIG9mZnNjcmVlbkZpYmVyLm1lbW9pemVkUHJvcHMubW9kZSA9PT0gJ21hbnVhbCc7XG59XG5cbi8qKlxuICogaW5saW5lZCBPYmplY3QuaXMgcG9seWZpbGwgdG8gYXZvaWQgcmVxdWlyaW5nIGNvbnN1bWVycyBzaGlwIHRoZWlyIG93blxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvT2JqZWN0L2lzXG4gKi9cbmZ1bmN0aW9uIGlzKHgsIHkpIHtcbiAgcmV0dXJuIHggPT09IHkgJiYgKHggIT09IDAgfHwgMSAvIHggPT09IDEgLyB5KSB8fCB4ICE9PSB4ICYmIHkgIT09IHkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgO1xufVxuXG52YXIgb2JqZWN0SXMgPSAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG50eXBlb2YgT2JqZWN0LmlzID09PSAnZnVuY3Rpb24nID8gT2JqZWN0LmlzIDogaXM7XG5cbi8vIFRoaXMgaXMgaW1wb3J0ZWQgYnkgdGhlIGV2ZW50IHJlcGxheWluZyBpbXBsZW1lbnRhdGlvbiBpbiBSZWFjdCBET00uIEl0J3Ncbi8vIGluIGEgc2VwYXJhdGUgZmlsZSB0byBicmVhayBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGUgcmVuZGVyZXIgYW5kXG4vLyB0aGUgcmVjb25jaWxlci5cbmZ1bmN0aW9uIGlzUm9vdERlaHlkcmF0ZWQocm9vdCkge1xuICB2YXIgY3VycmVudFN0YXRlID0gcm9vdC5jdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gIHJldHVybiBjdXJyZW50U3RhdGUuaXNEZWh5ZHJhdGVkO1xufVxuXG4vLyBJbnRlbnRpb25hbGx5IG5vdCB1c2luZyBpdCB5ZXQgdG8gZGVyaXNrIHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uLCBiZWNhdXNlXG4vLyB0aGUgd2F5IHdlIHB1c2gvcG9wIHRoZXNlIHZhbHVlcyBpcyBhIGJpdCB1bnVzdWFsLiBJZiB0aGVyZSdzIGEgbWlzdGFrZSwgSSdkXG4vLyByYXRoZXIgdGhlIGlkcyBiZSB3cm9uZyB0aGFuIGNyYXNoIHRoZSB3aG9sZSByZWNvbmNpbGVyLlxuXG52YXIgZm9ya1N0YWNrID0gW107XG52YXIgZm9ya1N0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVGb3JrUHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVGb3JrQ291bnQgPSAwO1xudmFyIGlkU3RhY2sgPSBbXTtcbnZhciBpZFN0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVDb250ZXh0UHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVDb250ZXh0SWQgPSAxO1xudmFyIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSAnJztcbmZ1bmN0aW9uIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIHJldHVybiAod29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiBGb3JrZWQpICE9PSBOb0ZsYWdzJDE7XG59XG5mdW5jdGlvbiBnZXRGb3Jrc0F0TGV2ZWwod29ya0luUHJvZ3Jlc3MpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIHJldHVybiB0cmVlRm9ya0NvdW50O1xufVxuZnVuY3Rpb24gZ2V0VHJlZUlkKCkge1xuICB2YXIgb3ZlcmZsb3cgPSB0cmVlQ29udGV4dE92ZXJmbG93O1xuICB2YXIgaWRXaXRoTGVhZGluZ0JpdCA9IHRyZWVDb250ZXh0SWQ7XG4gIHZhciBpZCA9IGlkV2l0aExlYWRpbmdCaXQgJiB+Z2V0TGVhZGluZ0JpdChpZFdpdGhMZWFkaW5nQml0KTtcbiAgcmV0dXJuIGlkLnRvU3RyaW5nKDMyKSArIG92ZXJmbG93O1xufVxuZnVuY3Rpb24gcHVzaFRyZWVGb3JrKHdvcmtJblByb2dyZXNzLCB0b3RhbENoaWxkcmVuKSB7XG4gIC8vIFRoaXMgaXMgY2FsbGVkIHJpZ2h0IGFmdGVyIHdlIHJlY29uY2lsZSBhbiBhcnJheSAob3IgaXRlcmF0b3IpIG9mIGNoaWxkXG4gIC8vIGZpYmVycywgYmVjYXVzZSB0aGF0J3MgdGhlIG9ubHkgcGxhY2Ugd2hlcmUgd2Uga25vdyBob3cgbWFueSBjaGlsZHJlbiBpblxuICAvLyB0aGUgd2hvbGUgc2V0IHdpdGhvdXQgZG9pbmcgZXh0cmEgd29yayBsYXRlciwgb3Igc3RvcmluZyBhZGR0aW9uYWxcbiAgLy8gaW5mb3JtYXRpb24gb24gdGhlIGZpYmVyLlxuICAvL1xuICAvLyBUaGF0J3Mgd2h5IHRoaXMgZnVuY3Rpb24gaXMgc2VwYXJhdGUgZnJvbSBwdXNoVHJlZUlkIOKAlCBpdCdzIGNhbGxlZCBkdXJpbmdcbiAgLy8gdGhlIHJlbmRlciBwaGFzZSBvZiB0aGUgZm9yayBwYXJlbnQsIG5vdCB0aGUgY2hpbGQsIHdoaWNoIGlzIHdoZXJlIHdlIHB1c2hcbiAgLy8gdGhlIG90aGVyIGNvbnRleHQgdmFsdWVzLlxuICAvL1xuICAvLyBJbiB0aGUgRml6eiBpbXBsZW1lbnRhdGlvbiB0aGlzIGlzIG11Y2ggc2ltcGxlciBiZWNhdXNlIHRoZSBjaGlsZCBpc1xuICAvLyByZW5kZXJlZCBpbiB0aGUgc2FtZSBjYWxsc3RhY2sgYXMgdGhlIHBhcmVudC5cbiAgLy9cbiAgLy8gSXQgbWlnaHQgYmUgYmV0dGVyIHRvIGp1c3QgYWRkIGEgYGZvcmtzYCBmaWVsZCB0byB0aGUgRmliZXIgdHlwZS4gSXQgd291bGRcbiAgLy8gbWFrZSB0aGlzIG1vZHVsZSBzaW1wbGVyLlxuICB3YXJuSWZOb3RIeWRyYXRpbmcoKTtcbiAgZm9ya1N0YWNrW2ZvcmtTdGFja0luZGV4KytdID0gdHJlZUZvcmtDb3VudDtcbiAgZm9ya1N0YWNrW2ZvcmtTdGFja0luZGV4KytdID0gdHJlZUZvcmtQcm92aWRlcjtcbiAgdHJlZUZvcmtQcm92aWRlciA9IHdvcmtJblByb2dyZXNzO1xuICB0cmVlRm9ya0NvdW50ID0gdG90YWxDaGlsZHJlbjtcbn1cbmZ1bmN0aW9uIHB1c2hUcmVlSWQod29ya0luUHJvZ3Jlc3MsIHRvdGFsQ2hpbGRyZW4sIGluZGV4KSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpO1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0SWQ7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRPdmVyZmxvdztcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dFByb3ZpZGVyO1xuICB0cmVlQ29udGV4dFByb3ZpZGVyID0gd29ya0luUHJvZ3Jlc3M7XG4gIHZhciBiYXNlSWRXaXRoTGVhZGluZ0JpdCA9IHRyZWVDb250ZXh0SWQ7XG4gIHZhciBiYXNlT3ZlcmZsb3cgPSB0cmVlQ29udGV4dE92ZXJmbG93OyAvLyBUaGUgbGVmdG1vc3QgMSBtYXJrcyB0aGUgZW5kIG9mIHRoZSBzZXF1ZW5jZSwgbm9uLWluY2x1c2l2ZS4gSXQncyBub3QgcGFydFxuICAvLyBvZiB0aGUgaWQ7IHdlIHVzZSBpdCB0byBhY2NvdW50IGZvciBsZWFkaW5nIDBzLlxuXG4gIHZhciBiYXNlTGVuZ3RoID0gZ2V0Qml0TGVuZ3RoKGJhc2VJZFdpdGhMZWFkaW5nQml0KSAtIDE7XG4gIHZhciBiYXNlSWQgPSBiYXNlSWRXaXRoTGVhZGluZ0JpdCAmIH4oMSA8PCBiYXNlTGVuZ3RoKTtcbiAgdmFyIHNsb3QgPSBpbmRleCArIDE7XG4gIHZhciBsZW5ndGggPSBnZXRCaXRMZW5ndGgodG90YWxDaGlsZHJlbikgKyBiYXNlTGVuZ3RoOyAvLyAzMCBpcyB0aGUgbWF4IGxlbmd0aCB3ZSBjYW4gc3RvcmUgd2l0aG91dCBvdmVyZmxvd2luZywgdGFraW5nIGludG9cbiAgLy8gY29uc2lkZXJhdGlvbiB0aGUgbGVhZGluZyAxIHdlIHVzZSB0byBtYXJrIHRoZSBlbmQgb2YgdGhlIHNlcXVlbmNlLlxuXG4gIGlmIChsZW5ndGggPiAzMCkge1xuICAgIC8vIFdlIG92ZXJmbG93ZWQgdGhlIGJpdHdpc2Utc2FmZSByYW5nZS4gRmFsbCBiYWNrIHRvIHNsb3dlciBhbGdvcml0aG0uXG4gICAgLy8gVGhpcyBicmFuY2ggYXNzdW1lcyB0aGUgbGVuZ3RoIG9mIHRoZSBiYXNlIGlkIGlzIGdyZWF0ZXIgdGhhbiA1OyBpdCB3b24ndFxuICAgIC8vIHdvcmsgZm9yIHNtYWxsZXIgaWRzLCBiZWNhdXNlIHlvdSBuZWVkIDUgYml0cyBwZXIgY2hhcmFjdGVyLlxuICAgIC8vXG4gICAgLy8gV2UgZW5jb2RlIHRoZSBpZCBpbiBtdWx0aXBsZSBzdGVwczogZmlyc3QgdGhlIGJhc2UgaWQsIHRoZW4gdGhlXG4gICAgLy8gcmVtYWluaW5nIGRpZ2l0cy5cbiAgICAvL1xuICAgIC8vIEVhY2ggNSBiaXQgc2VxdWVuY2UgY29ycmVzcG9uZHMgdG8gYSBzaW5nbGUgYmFzZSAzMiBjaGFyYWN0ZXIuIFNvIGZvclxuICAgIC8vIGV4YW1wbGUsIGlmIHRoZSBjdXJyZW50IGlkIGlzIDIzIGJpdHMgbG9uZywgd2UgY2FuIGNvbnZlcnQgMjAgb2YgdGhvc2VcbiAgICAvLyBiaXRzIGludG8gYSBzdHJpbmcgb2YgNCBjaGFyYWN0ZXJzLCB3aXRoIDMgYml0cyBsZWZ0IG92ZXIuXG4gICAgLy9cbiAgICAvLyBGaXJzdCBjYWxjdWxhdGUgaG93IG1hbnkgYml0cyBpbiB0aGUgYmFzZSBpZCByZXByZXNlbnQgYSBjb21wbGV0ZVxuICAgIC8vIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMuXG4gICAgdmFyIG51bWJlck9mT3ZlcmZsb3dCaXRzID0gYmFzZUxlbmd0aCAtIGJhc2VMZW5ndGggJSA1OyAvLyBUaGVuIGNyZWF0ZSBhIGJpdG1hc2sgdGhhdCBzZWxlY3RzIG9ubHkgdGhvc2UgYml0cy5cblxuICAgIHZhciBuZXdPdmVyZmxvd0JpdHMgPSAoMSA8PCBudW1iZXJPZk92ZXJmbG93Qml0cykgLSAxOyAvLyBTZWxlY3QgdGhlIGJpdHMsIGFuZCBjb252ZXJ0IHRoZW0gdG8gYSBiYXNlIDMyIHN0cmluZy5cblxuICAgIHZhciBuZXdPdmVyZmxvdyA9IChiYXNlSWQgJiBuZXdPdmVyZmxvd0JpdHMpLnRvU3RyaW5nKDMyKTsgLy8gTm93IHdlIGNhbiByZW1vdmUgdGhvc2UgYml0cyBmcm9tIHRoZSBiYXNlIGlkLlxuXG4gICAgdmFyIHJlc3RPZkJhc2VJZCA9IGJhc2VJZCA+PiBudW1iZXJPZk92ZXJmbG93Qml0cztcbiAgICB2YXIgcmVzdE9mQmFzZUxlbmd0aCA9IGJhc2VMZW5ndGggLSBudW1iZXJPZk92ZXJmbG93Qml0czsgLy8gRmluYWxseSwgZW5jb2RlIHRoZSByZXN0IG9mIHRoZSBiaXRzIHVzaW5nIHRoZSBub3JtYWwgYWxnb3JpdGhtLiBCZWNhdXNlXG4gICAgLy8gd2UgbWFkZSBtb3JlIHJvb20sIHRoaXMgdGltZSBpdCB3b24ndCBvdmVyZmxvdy5cblxuICAgIHZhciByZXN0T2ZMZW5ndGggPSBnZXRCaXRMZW5ndGgodG90YWxDaGlsZHJlbikgKyByZXN0T2ZCYXNlTGVuZ3RoO1xuICAgIHZhciByZXN0T2ZOZXdCaXRzID0gc2xvdCA8PCByZXN0T2ZCYXNlTGVuZ3RoO1xuICAgIHZhciBpZCA9IHJlc3RPZk5ld0JpdHMgfCByZXN0T2ZCYXNlSWQ7XG4gICAgdmFyIG92ZXJmbG93ID0gbmV3T3ZlcmZsb3cgKyBiYXNlT3ZlcmZsb3c7XG4gICAgdHJlZUNvbnRleHRJZCA9IDEgPDwgcmVzdE9mTGVuZ3RoIHwgaWQ7XG4gICAgdHJlZUNvbnRleHRPdmVyZmxvdyA9IG92ZXJmbG93O1xuICB9IGVsc2Uge1xuICAgIC8vIE5vcm1hbCBwYXRoXG4gICAgdmFyIG5ld0JpdHMgPSBzbG90IDw8IGJhc2VMZW5ndGg7XG5cbiAgICB2YXIgX2lkID0gbmV3Qml0cyB8IGJhc2VJZDtcblxuICAgIHZhciBfb3ZlcmZsb3cgPSBiYXNlT3ZlcmZsb3c7XG4gICAgdHJlZUNvbnRleHRJZCA9IDEgPDwgbGVuZ3RoIHwgX2lkO1xuICAgIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSBfb3ZlcmZsb3c7XG4gIH1cbn1cbmZ1bmN0aW9uIHB1c2hNYXRlcmlhbGl6ZWRUcmVlSWQod29ya0luUHJvZ3Jlc3MpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7IC8vIFRoaXMgY29tcG9uZW50IG1hdGVyaWFsaXplZCBhbiBpZC4gVGhpcyB3aWxsIGFmZmVjdCBhbnkgaWRzIHRoYXQgYXBwZWFyXG4gIC8vIGluIGl0cyBjaGlsZHJlbi5cblxuICB2YXIgcmV0dXJuRmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG5cbiAgaWYgKHJldHVybkZpYmVyICE9PSBudWxsKSB7XG4gICAgdmFyIG51bWJlck9mRm9ya3MgPSAxO1xuICAgIHZhciBzbG90SW5kZXggPSAwO1xuICAgIHB1c2hUcmVlRm9yayh3b3JrSW5Qcm9ncmVzcywgbnVtYmVyT2ZGb3Jrcyk7XG4gICAgcHVzaFRyZWVJZCh3b3JrSW5Qcm9ncmVzcywgbnVtYmVyT2ZGb3Jrcywgc2xvdEluZGV4KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRCaXRMZW5ndGgobnVtYmVyKSB7XG4gIHJldHVybiAzMiAtIGNsejMyKG51bWJlcik7XG59XG5cbmZ1bmN0aW9uIGdldExlYWRpbmdCaXQoaWQpIHtcbiAgcmV0dXJuIDEgPDwgZ2V0Qml0TGVuZ3RoKGlkKSAtIDE7XG59XG5cbmZ1bmN0aW9uIHBvcFRyZWVDb250ZXh0KHdvcmtJblByb2dyZXNzKSB7XG4gIC8vIFJlc3RvcmUgdGhlIHByZXZpb3VzIHZhbHVlcy5cbiAgLy8gVGhpcyBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkIHRoYW4gb3RoZXIgY29udGV4dC1saWtlIG1vZHVsZXMgaW4gRmliZXJcbiAgLy8gYmVjYXVzZSB0aGUgc2FtZSBGaWJlciBtYXkgYXBwZWFyIG9uIHRoZSBzdGFjayBtdWx0aXBsZSB0aW1lcyBhbmQgZm9yXG4gIC8vIGRpZmZlcmVudCByZWFzb25zLiBXZSBoYXZlIHRvIGtlZXAgcG9wcGluZyB1bnRpbCB0aGUgd29yay1pbi1wcm9ncmVzcyBpc1xuICAvLyBubyBsb25nZXIgYXQgdGhlIHRvcCBvZiB0aGUgc3RhY2suXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyA9PT0gdHJlZUZvcmtQcm92aWRlcikge1xuICAgIHRyZWVGb3JrUHJvdmlkZXIgPSBmb3JrU3RhY2tbLS1mb3JrU3RhY2tJbmRleF07XG4gICAgZm9ya1N0YWNrW2ZvcmtTdGFja0luZGV4XSA9IG51bGw7XG4gICAgdHJlZUZvcmtDb3VudCA9IGZvcmtTdGFja1stLWZvcmtTdGFja0luZGV4XTtcbiAgICBmb3JrU3RhY2tbZm9ya1N0YWNrSW5kZXhdID0gbnVsbDtcbiAgfVxuXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyA9PT0gdHJlZUNvbnRleHRQcm92aWRlcikge1xuICAgIHRyZWVDb250ZXh0UHJvdmlkZXIgPSBpZFN0YWNrWy0taWRTdGFja0luZGV4XTtcbiAgICBpZFN0YWNrW2lkU3RhY2tJbmRleF0gPSBudWxsO1xuICAgIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSBpZFN0YWNrWy0taWRTdGFja0luZGV4XTtcbiAgICBpZFN0YWNrW2lkU3RhY2tJbmRleF0gPSBudWxsO1xuICAgIHRyZWVDb250ZXh0SWQgPSBpZFN0YWNrWy0taWRTdGFja0luZGV4XTtcbiAgICBpZFN0YWNrW2lkU3RhY2tJbmRleF0gPSBudWxsO1xuICB9XG59XG5mdW5jdGlvbiBnZXRTdXNwZW5kZWRUcmVlQ29udGV4dCgpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG5cbiAgaWYgKHRyZWVDb250ZXh0UHJvdmlkZXIgIT09IG51bGwpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRyZWVDb250ZXh0SWQsXG4gICAgICBvdmVyZmxvdzogdHJlZUNvbnRleHRPdmVyZmxvd1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVTdXNwZW5kZWRUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuZGVkQ29udGV4dCkge1xuICB3YXJuSWZOb3RIeWRyYXRpbmcoKTtcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dElkO1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0T3ZlcmZsb3c7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRQcm92aWRlcjtcbiAgdHJlZUNvbnRleHRJZCA9IHN1c3BlbmRlZENvbnRleHQuaWQ7XG4gIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSBzdXNwZW5kZWRDb250ZXh0Lm92ZXJmbG93O1xuICB0cmVlQ29udGV4dFByb3ZpZGVyID0gd29ya0luUHJvZ3Jlc3M7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZk5vdEh5ZHJhdGluZygpIHtcbiAge1xuICAgIGlmICghZ2V0SXNIeWRyYXRpbmcoKSkge1xuICAgICAgZXJyb3IoJ0V4cGVjdGVkIHRvIGJlIGh5ZHJhdGluZy4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgJyArICdhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBtYXkgaGF2ZSBiZWVuIGFuIGluc2VydGlvbiBvciBhIGh5ZHJhdGlvbi5cblxudmFyIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gbnVsbDtcbnZhciBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gbnVsbDtcbnZhciBpc0h5ZHJhdGluZyA9IGZhbHNlOyAvLyBUaGlzIGZsYWcgYWxsb3dzIGZvciB3YXJuaW5nIHN1cHJlc3Npb24gd2hlbiB3ZSBleHBlY3QgdGhlcmUgdG8gYmUgbWlzbWF0Y2hlc1xuLy8gZHVlIHRvIGVhcmxpZXIgbWlzbWF0Y2hlcyBvciBhIHN1c3BlbmRlZCBmaWJlci5cblxudmFyIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7IC8vIEh5ZHJhdGlvbiBlcnJvcnMgdGhhdCB3ZXJlIHRocm93biBpbnNpZGUgdGhpcyBib3VuZGFyeVxuXG52YXIgaHlkcmF0aW9uRXJyb3JzID0gbnVsbDtcbnZhciByb290T3JTaW5nbGV0b25Db250ZXh0ID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHdhcm5JZkh5ZHJhdGluZygpIHtcbiAge1xuICAgIGlmIChpc0h5ZHJhdGluZykge1xuICAgICAgZXJyb3IoJ1dlIHNob3VsZCBub3QgYmUgaHlkcmF0aW5nIGhlcmUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGEgYnVnLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrRGlkVGhyb3dXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIGRpZFN1c3BlbmRPckVycm9yREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkU3VzcGVuZE9yRXJyb3JXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIHJldHVybiBkaWRTdXNwZW5kT3JFcnJvckRFVjtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnRlckh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgdmFyIHBhcmVudEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG4gIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpbkNvbnRhaW5lcihwYXJlbnRJbnN0YW5jZSk7XG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gIGlzSHlkcmF0aW5nID0gdHJ1ZTtcbiAgaHlkcmF0aW9uRXJyb3JzID0gbnVsbDtcbiAgZGlkU3VzcGVuZE9yRXJyb3JERVYgPSBmYWxzZTtcbiAgcm9vdE9yU2luZ2xldG9uQ29udGV4dCA9IHRydWU7XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiByZWVudGVySHlkcmF0aW9uU3RhdGVGcm9tRGVoeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2UoZmliZXIsIHN1c3BlbnNlSW5zdGFuY2UsIHRyZWVDb250ZXh0KSB7XG5cbiAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IGdldEZpcnN0SHlkcmF0YWJsZUNoaWxkV2l0aGluU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKTtcbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcbiAgaXNIeWRyYXRpbmcgPSB0cnVlO1xuICBoeWRyYXRpb25FcnJvcnMgPSBudWxsO1xuICBkaWRTdXNwZW5kT3JFcnJvckRFViA9IGZhbHNlO1xuICByb290T3JTaW5nbGV0b25Db250ZXh0ID0gZmFsc2U7XG5cbiAgaWYgKHRyZWVDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgcmVzdG9yZVN1c3BlbmRlZFRyZWVDb250ZXh0KGZpYmVyLCB0cmVlQ29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgaW5zdGFuY2UpIHtcbiAge1xuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluQ29udGFpbmVyKHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLCBpbnN0YW5jZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZShyZXR1cm5GaWJlci50eXBlLCByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzLCByZXR1cm5GaWJlci5zdGF0ZU5vZGUsIGluc3RhbmNlLCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgIGlzQ29uY3VycmVudE1vZGUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHJldHVybkZpYmVyLm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgaWYgKHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQsIGluc3RhbmNlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKSB7XG4gIHZhciBjaGlsZFRvRGVsZXRlID0gY3JlYXRlRmliZXJGcm9tSG9zdEluc3RhbmNlRm9yRGVsZXRpb24oKTtcbiAgY2hpbGRUb0RlbGV0ZS5zdGF0ZU5vZGUgPSBpbnN0YW5jZTtcbiAgY2hpbGRUb0RlbGV0ZS5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgdmFyIGRlbGV0aW9ucyA9IHJldHVybkZpYmVyLmRlbGV0aW9ucztcblxuICBpZiAoZGVsZXRpb25zID09PSBudWxsKSB7XG4gICAgcmV0dXJuRmliZXIuZGVsZXRpb25zID0gW2NoaWxkVG9EZWxldGVdO1xuICAgIHJldHVybkZpYmVyLmZsYWdzIHw9IENoaWxkRGVsZXRpb247XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRpb25zLnB1c2goY2hpbGRUb0RlbGV0ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gd2Fybk5vbkh5ZHJhdGVkSW5zdGFuY2UocmV0dXJuRmliZXIsIGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoZGlkU3VzcGVuZE9yRXJyb3JERVYpIHtcbiAgICAgIC8vIEluc2lkZSBhIGJvdW5kYXJ5IHRoYXQgYWxyZWFkeSBzdXNwZW5kZWQuIFdlJ3JlIGN1cnJlbnRseSByZW5kZXJpbmcgdGhlXG4gICAgICAvLyBzaWJsaW5ncyBvZiBhIHN1c3BlbmRlZCBub2RlLiBUaGUgbWlzbWF0Y2ggbWF5IGJlIGR1ZSB0byB0aGUgbWlzc2luZ1xuICAgICAgLy8gZGF0YSwgc28gaXQncyBwcm9iYWJseSBhIGZhbHNlIHBvc2l0aXZlLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHBhcmVudENvbnRhaW5lciA9IHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuXG4gICAgICAgICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgICAgICAgIGNhc2UgSG9zdFNpbmdsZXRvbjpcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAgICAgICAgdmFyIHR5cGUgPSBmaWJlci50eXBlO1xuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZUluc3RhbmNlV2l0aGluQ29udGFpbmVyKHBhcmVudENvbnRhaW5lciwgdHlwZSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgICAgICAgICB2YXIgdGV4dCA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyLCB0ZXh0KTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHBhcmVudFR5cGUgPSByZXR1cm5GaWJlci50eXBlO1xuICAgICAgICAgIHZhciBwYXJlbnRQcm9wcyA9IHJldHVybkZpYmVyLm1lbW9pemVkUHJvcHM7XG4gICAgICAgICAgdmFyIHBhcmVudEluc3RhbmNlID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgICAgICAgIGNhc2UgSG9zdFNpbmdsZXRvbjpcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhciBfdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgICAgdmFyIF9wcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgICAgICAgICB2YXIgaXNDb25jdXJyZW50TW9kZSA9IChyZXR1cm5GaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG4gICAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIF90eXBlLCBfcHJvcHMsIC8vIFRPRE86IERlbGV0ZSB0aGlzIGFyZ3VtZW50IHdoZW4gd2UgcmVtb3ZlIHRoZSBsZWdhY3kgcm9vdCBBUEkuXG4gICAgICAgICAgICAgICAgaXNDb25jdXJyZW50TW9kZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhciBfdGV4dCA9IGZpYmVyLnBlbmRpbmdQcm9wcztcblxuICAgICAgICAgICAgICAgIHZhciBfaXNDb25jdXJyZW50TW9kZSA9IChyZXR1cm5GaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG5cbiAgICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZVRleHRJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIF90ZXh0LCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgICAgIF9pc0NvbmN1cnJlbnRNb2RlKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHJldHVybkZpYmVyLm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgdmFyIF9wYXJlbnRJbnN0YW5jZSA9IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcbiAgICAgICAgICBpZiAoX3BhcmVudEluc3RhbmNlICE9PSBudWxsKSBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICAgICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICB2YXIgX3R5cGUyID0gZmliZXIudHlwZTtcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UoX3BhcmVudEluc3RhbmNlLCBfdHlwZTIpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgICAgICAgICAgdmFyIF90ZXh0MiA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5TdXNwZW5zZUluc3RhbmNlKF9wYXJlbnRJbnN0YW5jZSwgX3RleHQyKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgZmliZXIpIHtcbiAgZmliZXIuZmxhZ3MgPSBmaWJlci5mbGFncyAmIH5IeWRyYXRpbmcgfCBQbGFjZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyeUh5ZHJhdGVJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKSB7XG4gIC8vIGZpYmVyIGlzIGEgSG9zdENvbXBvbmVudCBGaWJlclxuICB2YXIgaW5zdGFuY2UgPSBjYW5IeWRyYXRlSW5zdGFuY2UobmV4dEluc3RhbmNlLCBmaWJlci50eXBlLCBmaWJlci5wZW5kaW5nUHJvcHMsIHJvb3RPclNpbmdsZXRvbkNvbnRleHQpO1xuXG4gIGlmIChpbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgIGZpYmVyLnN0YXRlTm9kZSA9IGluc3RhbmNlO1xuICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IGdldEZpcnN0SHlkcmF0YWJsZUNoaWxkKGluc3RhbmNlKTtcbiAgICByb290T3JTaW5nbGV0b25Db250ZXh0ID0gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHRyeUh5ZHJhdGVUZXh0KGZpYmVyLCBuZXh0SW5zdGFuY2UpIHtcbiAgLy8gZmliZXIgaXMgYSBIb3N0VGV4dCBGaWJlclxuICB2YXIgdGV4dCA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgdmFyIHRleHRJbnN0YW5jZSA9IGNhbkh5ZHJhdGVUZXh0SW5zdGFuY2UobmV4dEluc3RhbmNlLCB0ZXh0LCByb290T3JTaW5nbGV0b25Db250ZXh0KTtcblxuICBpZiAodGV4dEluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgZmliZXIuc3RhdGVOb2RlID0gdGV4dEluc3RhbmNlO1xuICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7IC8vIFRleHQgSW5zdGFuY2VzIGRvbid0IGhhdmUgY2hpbGRyZW4gc28gdGhlcmUncyBub3RoaW5nIHRvIGh5ZHJhdGUuXG5cbiAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gbnVsbDtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdHJ5SHlkcmF0ZVN1c3BlbnNlKGZpYmVyLCBuZXh0SW5zdGFuY2UpIHtcbiAgLy8gZmliZXIgaXMgYSBTdXNwZW5zZUNvbXBvbmVudCBGaWJlclxuICB2YXIgc3VzcGVuc2VJbnN0YW5jZSA9IGNhbkh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKG5leHRJbnN0YW5jZSwgcm9vdE9yU2luZ2xldG9uQ29udGV4dCk7XG5cbiAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHtcbiAgICAgIGRlaHlkcmF0ZWQ6IHN1c3BlbnNlSW5zdGFuY2UsXG4gICAgICB0cmVlQ29udGV4dDogZ2V0U3VzcGVuZGVkVHJlZUNvbnRleHQoKSxcbiAgICAgIHJldHJ5TGFuZTogT2Zmc2NyZWVuTGFuZVxuICAgIH07XG4gICAgZmliZXIubWVtb2l6ZWRTdGF0ZSA9IHN1c3BlbnNlU3RhdGU7IC8vIFN0b3JlIHRoZSBkZWh5ZHJhdGVkIGZyYWdtZW50IGFzIGEgY2hpbGQgZmliZXIuXG4gICAgLy8gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGZvciBnZXRIb3N0U2libGluZyBhbmQgZGVsZXRpbmcgbm9kZXMsXG4gICAgLy8gc2luY2UgaXQgZG9lc24ndCBoYXZlIHRvIGNvbnNpZGVyIGFsbCBTdXNwZW5zZSBib3VuZGFyaWVzIGFuZFxuICAgIC8vIGNoZWNrIGlmIHRoZXkncmUgZGVoeWRyYXRlZCBvbmVzIG9yIG5vdC5cblxuICAgIHZhciBkZWh5ZHJhdGVkRnJhZ21lbnQgPSBjcmVhdGVGaWJlckZyb21EZWh5ZHJhdGVkRnJhZ21lbnQoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgZGVoeWRyYXRlZEZyYWdtZW50LnJldHVybiA9IGZpYmVyO1xuICAgIGZpYmVyLmNoaWxkID0gZGVoeWRyYXRlZEZyYWdtZW50O1xuICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7IC8vIFdoaWxlIGEgU3VzcGVuc2UgSW5zdGFuY2UgZG9lcyBoYXZlIGNoaWxkcmVuLCB3ZSB3b24ndCBzdGVwIGludG9cbiAgICAvLyBpdCBkdXJpbmcgdGhlIGZpcnN0IHBhc3MuIEluc3RlYWQsIHdlJ2xsIHJlZW50ZXIgaXQgbGF0ZXIuXG5cbiAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gbnVsbDtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikge1xuICByZXR1cm4gKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSAmJiAoZmliZXIuZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncyQxO1xufVxuXG5mdW5jdGlvbiB0aHJvd09uSHlkcmF0aW9uTWlzbWF0Y2goZmliZXIpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdIeWRyYXRpb24gZmFpbGVkIGJlY2F1c2UgdGhlIGluaXRpYWwgVUkgZG9lcyBub3QgbWF0Y2ggd2hhdCB3YXMgJyArICdyZW5kZXJlZCBvbiB0aGUgc2VydmVyLicpO1xufVxuXG5mdW5jdGlvbiBjbGFpbUh5ZHJhdGFibGVTaW5nbGV0b24oZmliZXIpIHtcbiAge1xuICAgIGlmICghaXNIeWRyYXRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgY3VycmVudFJvb3RDb250YWluZXIgPSBnZXRSb290SG9zdENvbnRhaW5lcigpO1xuICAgIHZhciBjdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpO1xuICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZSA9IHJlc29sdmVTaW5nbGV0b25JbnN0YW5jZShmaWJlci50eXBlLCBmaWJlci5wZW5kaW5nUHJvcHMsIGN1cnJlbnRSb290Q29udGFpbmVyLCBjdXJyZW50SG9zdENvbnRleHQsIGZhbHNlKTtcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICAgIHJvb3RPclNpbmdsZXRvbkNvbnRleHQgPSB0cnVlO1xuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZChpbnN0YW5jZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2UoZmliZXIpIHtcbiAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgIHJldHVybjtcbiAgfSAvLyBWYWxpZGF0ZSB0aGF0IHRoaXMgaXMgb2sgdG8gcmVuZGVyIGhlcmUgYmVmb3JlIGFueSBtaXNtYXRjaGVzLlxuXG5cbiAgdmFyIGN1cnJlbnRIb3N0Q29udGV4dCA9IGdldEhvc3RDb250ZXh0KCk7XG4gIHZhciBzaG91bGRLZWVwV2FybmluZyA9IHZhbGlkYXRlSHlkcmF0YWJsZUluc3RhbmNlKGZpYmVyLnR5cGUsIGZpYmVyLnBlbmRpbmdQcm9wcywgY3VycmVudEhvc3RDb250ZXh0KTtcbiAgdmFyIGluaXRpYWxJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xuXG4gIGlmICghbmV4dEluc3RhbmNlKSB7XG4gICAgaWYgKHNob3VsZENsaWVudFJlbmRlck9uTWlzbWF0Y2goZmliZXIpKSB7XG4gICAgICBpZiAoc2hvdWxkS2VlcFdhcm5pbmcpIHtcbiAgICAgICAgd2Fybk5vbkh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKCk7XG4gICAgfSAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuXG5cbiAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG5cbiAgICBpZiAoc2hvdWxkS2VlcFdhcm5pbmcpIHtcbiAgICAgIHdhcm5Ob25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgfVxuXG4gICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBpbml0aWFsSW5zdGFuY2U7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGZpcnN0QXR0ZW1wdGVkSW5zdGFuY2UgPSBuZXh0SW5zdGFuY2U7XG5cbiAgaWYgKCF0cnlIeWRyYXRlSW5zdGFuY2UoZmliZXIsIG5leHRJbnN0YW5jZSkpIHtcbiAgICBpZiAoc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikpIHtcbiAgICAgIGlmIChzaG91bGRLZWVwV2FybmluZykge1xuICAgICAgICB3YXJuTm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgfVxuXG4gICAgICB0aHJvd09uSHlkcmF0aW9uTWlzbWF0Y2goKTtcbiAgICB9IC8vIElmIHdlIGNhbid0IGh5ZHJhdGUgdGhpcyBpbnN0YW5jZSBsZXQncyB0cnkgdGhlIG5leHQgb25lLlxuICAgIC8vIFdlIHVzZSB0aGlzIGFzIGEgaGV1cmlzdGljLiBJdCdzIGJhc2VkIG9uIGludHVpdGlvbiBhbmQgbm90IGRhdGEgc28gaXRcbiAgICAvLyBtaWdodCBiZSBmbGF3ZWQgb3IgdW5uZWNlc3NhcnkuXG5cblxuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgICB2YXIgcHJldkh5ZHJhdGlvblBhcmVudEZpYmVyID0gaHlkcmF0aW9uUGFyZW50RmliZXI7XG5cbiAgICBpZiAoIW5leHRIeWRyYXRhYmxlSW5zdGFuY2UgfHwgIXRyeUh5ZHJhdGVJbnN0YW5jZShmaWJlciwgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSkpIHtcbiAgICAgIC8vIE5vdGhpbmcgdG8gaHlkcmF0ZS4gTWFrZSBpdCBhbiBpbnNlcnRpb24uXG4gICAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG5cbiAgICAgIGlmIChzaG91bGRLZWVwV2FybmluZykge1xuICAgICAgICB3YXJuTm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgfVxuXG4gICAgICBpc0h5ZHJhdGluZyA9IGZhbHNlO1xuICAgICAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcbiAgICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBpbml0aWFsSW5zdGFuY2U7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBXZSBtYXRjaGVkIHRoZSBuZXh0IG9uZSwgd2UnbGwgbm93IGFzc3VtZSB0aGF0IHRoZSBmaXJzdCBvbmUgd2FzXG4gICAgLy8gc3VwZXJmbHVvdXMgYW5kIHdlJ2xsIGRlbGV0ZSBpdC4gU2luY2Ugd2UgY2FuJ3QgZWFnZXJseSBkZWxldGUgaXRcbiAgICAvLyB3ZSdsbCBoYXZlIHRvIHNjaGVkdWxlIGEgZGVsZXRpb24uIFRvIGRvIHRoYXQsIHRoaXMgbm9kZSBuZWVkcyBhIGR1bW15XG4gICAgLy8gZmliZXIgYXNzb2NpYXRlZCB3aXRoIGl0LlxuXG5cbiAgICBpZiAoc2hvdWxkS2VlcFdhcm5pbmcpIHtcbiAgICAgIHdhcm5Vbmh5ZHJhdGVkSW5zdGFuY2UocHJldkh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaXJzdEF0dGVtcHRlZEluc3RhbmNlKTtcbiAgICB9XG5cbiAgICBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocHJldkh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaXJzdEF0dGVtcHRlZEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVUZXh0SW5zdGFuY2UoZmliZXIpIHtcbiAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciB0ZXh0ID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICB2YXIgaXNIeWRyYXRhYmxlID0gaXNIeWRyYXRhYmxlVGV4dCh0ZXh0KTtcbiAgdmFyIHNob3VsZEtlZXBXYXJuaW5nID0gdHJ1ZTtcblxuICBpZiAoaXNIeWRyYXRhYmxlKSB7XG4gICAgLy8gVmFsaWRhdGUgdGhhdCB0aGlzIGlzIG9rIHRvIHJlbmRlciBoZXJlIGJlZm9yZSBhbnkgbWlzbWF0Y2hlcy5cbiAgICB2YXIgY3VycmVudEhvc3RDb250ZXh0ID0gZ2V0SG9zdENvbnRleHQoKTtcbiAgICBzaG91bGRLZWVwV2FybmluZyA9IHZhbGlkYXRlSHlkcmF0YWJsZVRleHRJbnN0YW5jZSh0ZXh0LCBjdXJyZW50SG9zdENvbnRleHQpO1xuICB9XG5cbiAgdmFyIGluaXRpYWxJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xuXG4gIGlmICghbmV4dEluc3RhbmNlIHx8ICFpc0h5ZHJhdGFibGUpIHtcbiAgICAvLyBXZSBleGNsdWRlIG5vbiBoeWRyYWJhYmxlIHRleHQgYmVjYXVzZSB3ZSBrbm93IHRoZXJlIGFyZSBubyBtYXRjaGluZyBoeWRyYXRhYmxlcy5cbiAgICAvLyBXZSBlaXRoZXIgdGhyb3cgb3IgaW5zZXJ0IGRlcGVuZGluZyBvbiB0aGUgcmVuZGVyIG1vZGUuXG4gICAgaWYgKHNob3VsZENsaWVudFJlbmRlck9uTWlzbWF0Y2goZmliZXIpKSB7XG4gICAgICBpZiAoc2hvdWxkS2VlcFdhcm5pbmcpIHtcbiAgICAgICAgd2Fybk5vbkh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKCk7XG4gICAgfSAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuXG5cbiAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG5cbiAgICBpZiAoc2hvdWxkS2VlcFdhcm5pbmcpIHtcbiAgICAgIHdhcm5Ob25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgfVxuXG4gICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBpbml0aWFsSW5zdGFuY2U7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGZpcnN0QXR0ZW1wdGVkSW5zdGFuY2UgPSBuZXh0SW5zdGFuY2U7XG5cbiAgaWYgKCF0cnlIeWRyYXRlVGV4dChmaWJlciwgbmV4dEluc3RhbmNlKSkge1xuICAgIGlmIChzaG91bGRDbGllbnRSZW5kZXJPbk1pc21hdGNoKGZpYmVyKSkge1xuICAgICAgaWYgKHNob3VsZEtlZXBXYXJuaW5nKSB7XG4gICAgICAgIHdhcm5Ob25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgICB9XG5cbiAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgIH0gLy8gSWYgd2UgY2FuJ3QgaHlkcmF0ZSB0aGlzIGluc3RhbmNlIGxldCdzIHRyeSB0aGUgbmV4dCBvbmUuXG4gICAgLy8gV2UgdXNlIHRoaXMgYXMgYSBoZXVyaXN0aWMuIEl0J3MgYmFzZWQgb24gaW50dWl0aW9uIGFuZCBub3QgZGF0YSBzbyBpdFxuICAgIC8vIG1pZ2h0IGJlIGZsYXdlZCBvciB1bm5lY2Vzc2FyeS5cblxuXG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IGdldE5leHRIeWRyYXRhYmxlU2libGluZyhuZXh0SW5zdGFuY2UpO1xuICAgIHZhciBwcmV2SHlkcmF0aW9uUGFyZW50RmliZXIgPSBoeWRyYXRpb25QYXJlbnRGaWJlcjtcblxuICAgIGlmICghbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSB8fCAhdHJ5SHlkcmF0ZVRleHQoZmliZXIsIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UpKSB7XG4gICAgICAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuICAgICAgaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuXG4gICAgICBpZiAoc2hvdWxkS2VlcFdhcm5pbmcpIHtcbiAgICAgICAgd2Fybk5vbkh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICAgIH1cblxuICAgICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gaW5pdGlhbEluc3RhbmNlO1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gV2UgbWF0Y2hlZCB0aGUgbmV4dCBvbmUsIHdlJ2xsIG5vdyBhc3N1bWUgdGhhdCB0aGUgZmlyc3Qgb25lIHdhc1xuICAgIC8vIHN1cGVyZmx1b3VzIGFuZCB3ZSdsbCBkZWxldGUgaXQuIFNpbmNlIHdlIGNhbid0IGVhZ2VybHkgZGVsZXRlIGl0XG4gICAgLy8gd2UnbGwgaGF2ZSB0byBzY2hlZHVsZSBhIGRlbGV0aW9uLiBUbyBkbyB0aGF0LCB0aGlzIG5vZGUgbmVlZHMgYSBkdW1teVxuICAgIC8vIGZpYmVyIGFzc29jaWF0ZWQgd2l0aCBpdC5cblxuXG4gICAgaWYgKHNob3VsZEtlZXBXYXJuaW5nKSB7XG4gICAgICB3YXJuVW5oeWRyYXRlZEluc3RhbmNlKHByZXZIeWRyYXRpb25QYXJlbnRGaWJlciwgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgZGVsZXRlSHlkcmF0YWJsZUluc3RhbmNlKHByZXZIeWRyYXRpb25QYXJlbnRGaWJlciwgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlU3VzcGVuc2VJbnN0YW5jZShmaWJlcikge1xuICBpZiAoIWlzSHlkcmF0aW5nKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGluaXRpYWxJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xuXG4gIGlmICghbmV4dEluc3RhbmNlKSB7XG4gICAgaWYgKHNob3VsZENsaWVudFJlbmRlck9uTWlzbWF0Y2goZmliZXIpKSB7XG4gICAgICB3YXJuTm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKCk7XG4gICAgfSAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuXG5cbiAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgd2Fybk5vbkh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICBpc0h5ZHJhdGluZyA9IGZhbHNlO1xuICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IGluaXRpYWxJbnN0YW5jZTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSA9IG5leHRJbnN0YW5jZTtcblxuICBpZiAoIXRyeUh5ZHJhdGVTdXNwZW5zZShmaWJlciwgbmV4dEluc3RhbmNlKSkge1xuICAgIGlmIChzaG91bGRDbGllbnRSZW5kZXJPbk1pc21hdGNoKGZpYmVyKSkge1xuICAgICAgd2Fybk5vbkh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgIH0gLy8gSWYgd2UgY2FuJ3QgaHlkcmF0ZSB0aGlzIGluc3RhbmNlIGxldCdzIHRyeSB0aGUgbmV4dCBvbmUuXG4gICAgLy8gV2UgdXNlIHRoaXMgYXMgYSBoZXVyaXN0aWMuIEl0J3MgYmFzZWQgb24gaW50dWl0aW9uIGFuZCBub3QgZGF0YSBzbyBpdFxuICAgIC8vIG1pZ2h0IGJlIGZsYXdlZCBvciB1bm5lY2Vzc2FyeS5cblxuXG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IGdldE5leHRIeWRyYXRhYmxlU2libGluZyhuZXh0SW5zdGFuY2UpO1xuICAgIHZhciBwcmV2SHlkcmF0aW9uUGFyZW50RmliZXIgPSBoeWRyYXRpb25QYXJlbnRGaWJlcjtcblxuICAgIGlmICghbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSB8fCAhdHJ5SHlkcmF0ZVN1c3BlbnNlKGZpYmVyLCBuZXh0SHlkcmF0YWJsZUluc3RhbmNlKSkge1xuICAgICAgLy8gTm90aGluZyB0byBoeWRyYXRlLiBNYWtlIGl0IGFuIGluc2VydGlvbi5cbiAgICAgIGluc2VydE5vbkh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICAgIHdhcm5Ob25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgICBpc0h5ZHJhdGluZyA9IGZhbHNlO1xuICAgICAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcbiAgICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBpbml0aWFsSW5zdGFuY2U7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBXZSBtYXRjaGVkIHRoZSBuZXh0IG9uZSwgd2UnbGwgbm93IGFzc3VtZSB0aGF0IHRoZSBmaXJzdCBvbmUgd2FzXG4gICAgLy8gc3VwZXJmbHVvdXMgYW5kIHdlJ2xsIGRlbGV0ZSBpdC4gU2luY2Ugd2UgY2FuJ3QgZWFnZXJseSBkZWxldGUgaXRcbiAgICAvLyB3ZSdsbCBoYXZlIHRvIHNjaGVkdWxlIGEgZGVsZXRpb24uIFRvIGRvIHRoYXQsIHRoaXMgbm9kZSBuZWVkcyBhIGR1bW15XG4gICAgLy8gZmliZXIgYXNzb2NpYXRlZCB3aXRoIGl0LlxuXG5cbiAgICB3YXJuVW5oeWRyYXRlZEluc3RhbmNlKHByZXZIeWRyYXRpb25QYXJlbnRGaWJlciwgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSk7XG4gICAgZGVsZXRlSHlkcmF0YWJsZUluc3RhbmNlKHByZXZIeWRyYXRpb25QYXJlbnRGaWJlciwgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlRm9ybU1hcmtlckluc3RhbmNlKGZpYmVyKSB7XG4gIGlmICghaXNIeWRyYXRpbmcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAobmV4dEh5ZHJhdGFibGVJbnN0YW5jZSkge1xuICAgIHZhciBtYXJrZXJJbnN0YW5jZSA9IGNhbkh5ZHJhdGVGb3JtU3RhdGVNYXJrZXIobmV4dEh5ZHJhdGFibGVJbnN0YW5jZSwgcm9vdE9yU2luZ2xldG9uQ29udGV4dCk7XG5cbiAgICBpZiAobWFya2VySW5zdGFuY2UpIHtcbiAgICAgIC8vIEZvdW5kIHRoZSBtYXJrZXIgaW5zdGFuY2UuXG4gICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKG1hcmtlckluc3RhbmNlKTsgLy8gUmV0dXJuIHRydWUgaWYgdGhpcyBtYXJrZXIgaW5zdGFuY2Ugc2hvdWxkIHVzZSB0aGUgc3RhdGUgcGFzc2VkXG4gICAgICAvLyB0byBoeWRyYXRlUm9vdC5cbiAgICAgIC8vIFRPRE86IEFzIGFuIG9wdGltaXphdGlvbiwgRml6eiBzaG91bGQgb25seSBlbWl0IHRoZXNlIG1hcmtlcnMgaWYgZm9ybVxuICAgICAgLy8gc3RhdGUgaXMgcGFzc2VkIGF0IHRoZSByb290LlxuXG4gICAgICByZXR1cm4gaXNGb3JtU3RhdGVNYXJrZXJNYXRjaGluZyhtYXJrZXJJbnN0YW5jZSk7XG4gICAgfVxuICB9IC8vIFNob3VsZCBoYXZlIGZvdW5kIGEgbWFya2VyIGluc3RhbmNlLiBUaHJvdyBhbiBlcnJvciB0byB0cmlnZ2VyIGNsaWVudFxuICAvLyByZW5kZXJpbmcuIFdlIGRvbid0IGJvdGhlciB0byBjaGVjayBpZiB3ZSdyZSBpbiBhIGNvbmN1cnJlbnQgcm9vdCBiZWNhdXNlXG4gIC8vIHVzZUZvcm1TdGF0ZSBpcyBhIG5ldyBBUEksIHNvIGJhY2t3YXJkcyBjb21wYXQgaXMgbm90IGFuIGlzc3VlLlxuXG5cbiAgdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKCk7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVRvSHlkcmF0ZUhvc3RJbnN0YW5jZShmaWJlciwgaG9zdENvbnRleHQpIHtcblxuICB2YXIgaW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG4gIHZhciBzaG91bGRXYXJuSWZNaXNtYXRjaERldiA9ICFkaWRTdXNwZW5kT3JFcnJvckRFVjtcbiAgaHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCBmaWJlci50eXBlLCBmaWJlci5tZW1vaXplZFByb3BzLCBob3N0Q29udGV4dCwgZmliZXIsIHNob3VsZFdhcm5JZk1pc21hdGNoRGV2KTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVRvSHlkcmF0ZUhvc3RUZXh0SW5zdGFuY2UoZmliZXIpIHtcblxuICB2YXIgdGV4dEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICB2YXIgdGV4dENvbnRlbnQgPSBmaWJlci5tZW1vaXplZFByb3BzO1xuICB2YXIgc2hvdWxkV2FybklmTWlzbWF0Y2hEZXYgPSAhZGlkU3VzcGVuZE9yRXJyb3JERVY7XG4gIHZhciBzaG91bGRVcGRhdGUgPSBoeWRyYXRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIGZpYmVyKTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gV2UgYXNzdW1lIHRoYXQgcHJlcGFyZVRvSHlkcmF0ZUhvc3RUZXh0SW5zdGFuY2UgaXMgY2FsbGVkIGluIGEgY29udGV4dCB3aGVyZSB0aGVcbiAgICAvLyBoeWRyYXRpb24gcGFyZW50IGlzIHRoZSBwYXJlbnQgaG9zdCBjb21wb25lbnQgb2YgdGhpcyBob3N0IHRleHQuXG4gICAgdmFyIHJldHVybkZpYmVyID0gaHlkcmF0aW9uUGFyZW50RmliZXI7XG5cbiAgICBpZiAocmV0dXJuRmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudENvbnRhaW5lciA9IHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgICAgZGlkTm90TWF0Y2hIeWRyYXRlZENvbnRhaW5lclRleHRJbnN0YW5jZShwYXJlbnRDb250YWluZXIsIHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIC8vIFRPRE86IERlbGV0ZSB0aGlzIGFyZ3VtZW50IHdoZW4gd2UgcmVtb3ZlIHRoZSBsZWdhY3kgcm9vdCBBUEkuXG4gICAgICAgICAgICBpc0NvbmN1cnJlbnRNb2RlLCBzaG91bGRXYXJuSWZNaXNtYXRjaERldik7XG5cbiAgICAgICAgICAgIGlmIChpc0NvbmN1cnJlbnRNb2RlICYmIGVuYWJsZUNsaWVudFJlbmRlckZhbGxiYWNrT25UZXh0TWlzbWF0Y2gpIHtcbiAgICAgICAgICAgICAgLy8gSW4gY29uY3VycmVudCBtb2RlIHdlIG5ldmVyIHVwZGF0ZSB0aGUgbWlzbWF0Y2hlZCB0ZXh0LFxuICAgICAgICAgICAgICAvLyBldmVuIGlmIHRoZSBlcnJvciB3YXMgaWdub3JlZC5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudFR5cGUgPSByZXR1cm5GaWJlci50eXBlO1xuICAgICAgICAgICAgdmFyIHBhcmVudFByb3BzID0gcmV0dXJuRmliZXIubWVtb2l6ZWRQcm9wcztcbiAgICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgdmFyIF9pc0NvbmN1cnJlbnRNb2RlMiA9IChyZXR1cm5GaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG5cbiAgICAgICAgICAgIGRpZE5vdE1hdGNoSHlkcmF0ZWRUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0ZXh0SW5zdGFuY2UsIHRleHRDb250ZW50LCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgX2lzQ29uY3VycmVudE1vZGUyLCBzaG91bGRXYXJuSWZNaXNtYXRjaERldik7XG5cbiAgICAgICAgICAgIGlmIChfaXNDb25jdXJyZW50TW9kZTIgJiYgZW5hYmxlQ2xpZW50UmVuZGVyRmFsbGJhY2tPblRleHRNaXNtYXRjaCkge1xuICAgICAgICAgICAgICAvLyBJbiBjb25jdXJyZW50IG1vZGUgd2UgbmV2ZXIgdXBkYXRlIHRoZSBtaXNtYXRjaGVkIHRleHQsXG4gICAgICAgICAgICAgIC8vIGV2ZW4gaWYgdGhlIGVycm9yIHdhcyBpZ25vcmVkLlxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpIHtcblxuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzdXNwZW5zZUluc3RhbmNlID0gc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCA/IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCA6IG51bGw7XG5cbiAgaWYgKCFzdXNwZW5zZUluc3RhbmNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBoYXZlIGEgaHlkcmF0ZWQgc3VzcGVuc2UgaW5zdGFuY2UuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIGh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2tpcFBhc3REZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlcikge1xuXG4gIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHN1c3BlbnNlSW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlICE9PSBudWxsID8gc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkIDogbnVsbDtcblxuICBpZiAoIXN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGhhdmUgYSBoeWRyYXRlZCBzdXNwZW5zZSBpbnN0YW5jZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG5cbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlSW5zdGFuY2VBZnRlclN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG59XG5cbmZ1bmN0aW9uIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpIHtcbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgd2hpbGUgKGh5ZHJhdGlvblBhcmVudEZpYmVyKSB7XG4gICAgc3dpdGNoIChoeWRyYXRpb25QYXJlbnRGaWJlci50YWcpIHtcbiAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICBjYXNlIEhvc3RTaW5nbGV0b246XG4gICAgICAgIHJvb3RPclNpbmdsZXRvbkNvbnRleHQgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICAgIHJvb3RPclNpbmdsZXRvbkNvbnRleHQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGh5ZHJhdGlvblBhcmVudEZpYmVyLnJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wSHlkcmF0aW9uU3RhdGUoZmliZXIpIHtcblxuICBpZiAoZmliZXIgIT09IGh5ZHJhdGlvblBhcmVudEZpYmVyKSB7XG4gICAgLy8gV2UncmUgZGVlcGVyIHRoYW4gdGhlIGN1cnJlbnQgaHlkcmF0aW9uIGNvbnRleHQsIGluc2lkZSBhbiBpbnNlcnRlZFxuICAgIC8vIHRyZWUuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgIC8vIElmIHdlJ3JlIG5vdCBjdXJyZW50bHkgaHlkcmF0aW5nIGJ1dCB3ZSdyZSBpbiBhIGh5ZHJhdGlvbiBjb250ZXh0LCB0aGVuXG4gICAgLy8gd2Ugd2VyZSBhbiBpbnNlcnRpb24gYW5kIG5vdyBuZWVkIHRvIHBvcCB1cCByZWVudGVyIGh5ZHJhdGlvbiBvZiBvdXJcbiAgICAvLyBzaWJsaW5ncy5cbiAgICBwb3BUb05leHRIb3N0UGFyZW50KGZpYmVyKTtcbiAgICBpc0h5ZHJhdGluZyA9IHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHNob3VsZENsZWFyID0gZmFsc2U7XG5cbiAge1xuICAgIC8vIFdpdGggZmxvYXQgd2UgbmV2ZXIgY2xlYXIgdGhlIFJvb3QsIG9yIFNpbmdsZXRvbiBpbnN0YW5jZXMuIFdlIGFsc28gZG8gbm90IGNsZWFyIEluc3RhbmNlc1xuICAgIC8vIHRoYXQgaGF2ZSBzaW5nbGV0b24gdGV4dCBjb250ZW50XG4gICAgaWYgKGZpYmVyLnRhZyAhPT0gSG9zdFJvb3QgJiYgZmliZXIudGFnICE9PSBIb3N0U2luZ2xldG9uICYmICEoZmliZXIudGFnID09PSBIb3N0Q29tcG9uZW50ICYmICghc2hvdWxkRGVsZXRlVW5oeWRyYXRlZFRhaWxJbnN0YW5jZXMoZmliZXIudHlwZSkgfHwgc2hvdWxkU2V0VGV4dENvbnRlbnQoZmliZXIudHlwZSwgZmliZXIubWVtb2l6ZWRQcm9wcykpKSkge1xuICAgICAgc2hvdWxkQ2xlYXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzaG91bGRDbGVhcikge1xuICAgIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xuXG4gICAgaWYgKG5leHRJbnN0YW5jZSkge1xuICAgICAgaWYgKHNob3VsZENsaWVudFJlbmRlck9uTWlzbWF0Y2goZmliZXIpKSB7XG4gICAgICAgIHdhcm5JZlVuaHlkcmF0ZWRUYWlsTm9kZXMoZmliZXIpO1xuICAgICAgICB0aHJvd09uSHlkcmF0aW9uTWlzbWF0Y2goKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdoaWxlIChuZXh0SW5zdGFuY2UpIHtcbiAgICAgICAgICB3YXJuVW5oeWRyYXRlZEluc3RhbmNlKGZpYmVyLCBuZXh0SW5zdGFuY2UpO1xuICAgICAgICAgIGRlbGV0ZUh5ZHJhdGFibGVJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICAgICAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpO1xuXG4gIGlmIChmaWJlci50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IHNraXBQYXN0RGVoeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpO1xuICB9IGVsc2Uge1xuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBoeWRyYXRpb25QYXJlbnRGaWJlciA/IGdldE5leHRIeWRyYXRhYmxlU2libGluZyhmaWJlci5zdGF0ZU5vZGUpIDogbnVsbDtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBoYXNVbmh5ZHJhdGVkVGFpbE5vZGVzKCkge1xuICByZXR1cm4gaXNIeWRyYXRpbmcgJiYgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSAhPT0gbnVsbDtcbn1cblxuZnVuY3Rpb24gd2FybklmVW5oeWRyYXRlZFRhaWxOb2RlcyhmaWJlcikge1xuICB2YXIgbmV4dEluc3RhbmNlID0gbmV4dEh5ZHJhdGFibGVJbnN0YW5jZTtcblxuICB3aGlsZSAobmV4dEluc3RhbmNlKSB7XG4gICAgd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldEh5ZHJhdGlvblN0YXRlKCkge1xuXG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gbnVsbDtcbiAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG4gIGlzSHlkcmF0aW5nID0gZmFsc2U7XG4gIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHVwZ3JhZGVIeWRyYXRpb25FcnJvcnNUb1JlY292ZXJhYmxlKCkge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzICE9PSBudWxsKSB7XG4gICAgLy8gU3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCBhIGZvcmNlZCBjbGllbnQgcmVuZGVyLiBUaGUgZXJyb3JzIHRoYXQgb2NjdXJyZWRcbiAgICAvLyBkdXJpbmcgdGhlIGh5ZHJhdGlvbiBhdHRlbXB0IGFyZSBub3cgcmVjb3ZlcmVkLiBXZSB3aWxsIGxvZyB0aGVtIGluXG4gICAgLy8gY29tbWl0IHBoYXNlLCBvbmNlIHRoZSBlbnRpcmUgdHJlZSBoYXMgZmluaXNoZWQuXG4gICAgcXVldWVSZWNvdmVyYWJsZUVycm9ycyhoeWRyYXRpb25FcnJvcnMpO1xuICAgIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SXNIeWRyYXRpbmcoKSB7XG4gIHJldHVybiBpc0h5ZHJhdGluZztcbn1cblxuZnVuY3Rpb24gcXVldWVIeWRyYXRpb25FcnJvcihlcnJvcikge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzID09PSBudWxsKSB7XG4gICAgaHlkcmF0aW9uRXJyb3JzID0gW2Vycm9yXTtcbiAgfSBlbHNlIHtcbiAgICBoeWRyYXRpb25FcnJvcnMucHVzaChlcnJvcik7XG4gIH1cbn1cblxuLy8gd2Ugd2FpdCB1bnRpbCB0aGUgY3VycmVudCByZW5kZXIgaXMgb3ZlciAoZWl0aGVyIGZpbmlzaGVkIG9yIGludGVycnVwdGVkKVxuLy8gYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgZmliZXIvaG9vayBxdWV1ZS4gUHVzaCB0byB0aGlzIGFycmF5IHNvIHdlIGNhblxuLy8gYWNjZXNzIHRoZSBxdWV1ZSwgZmliZXIsIHVwZGF0ZSwgZXQgYWwgbGF0ZXIuXG5cbnZhciBjb25jdXJyZW50UXVldWVzID0gW107XG52YXIgY29uY3VycmVudFF1ZXVlc0luZGV4ID0gMDtcbnZhciBjb25jdXJyZW50bHlVcGRhdGVkTGFuZXMgPSBOb0xhbmVzO1xuZnVuY3Rpb24gZmluaXNoUXVldWVpbmdDb25jdXJyZW50VXBkYXRlcygpIHtcbiAgdmFyIGVuZEluZGV4ID0gY29uY3VycmVudFF1ZXVlc0luZGV4O1xuICBjb25jdXJyZW50UXVldWVzSW5kZXggPSAwO1xuICBjb25jdXJyZW50bHlVcGRhdGVkTGFuZXMgPSBOb0xhbmVzO1xuICB2YXIgaSA9IDA7XG5cbiAgd2hpbGUgKGkgPCBlbmRJbmRleCkge1xuICAgIHZhciBmaWJlciA9IGNvbmN1cnJlbnRRdWV1ZXNbaV07XG4gICAgY29uY3VycmVudFF1ZXVlc1tpKytdID0gbnVsbDtcbiAgICB2YXIgcXVldWUgPSBjb25jdXJyZW50UXVldWVzW2ldO1xuICAgIGNvbmN1cnJlbnRRdWV1ZXNbaSsrXSA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGNvbmN1cnJlbnRRdWV1ZXNbaV07XG4gICAgY29uY3VycmVudFF1ZXVlc1tpKytdID0gbnVsbDtcbiAgICB2YXIgbGFuZSA9IGNvbmN1cnJlbnRRdWV1ZXNbaV07XG4gICAgY29uY3VycmVudFF1ZXVlc1tpKytdID0gbnVsbDtcblxuICAgIGlmIChxdWV1ZSAhPT0gbnVsbCAmJiB1cGRhdGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBwZW5kaW5nID0gcXVldWUucGVuZGluZztcblxuICAgICAgaWYgKHBlbmRpbmcgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgICAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgICAgICBwZW5kaW5nLm5leHQgPSB1cGRhdGU7XG4gICAgICB9XG5cbiAgICAgIHF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgIT09IE5vTGFuZSkge1xuICAgICAgbWFya1VwZGF0ZUxhbmVGcm9tRmliZXJUb1Jvb3QoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBnZXRDb25jdXJyZW50bHlVcGRhdGVkTGFuZXMoKSB7XG4gIHJldHVybiBjb25jdXJyZW50bHlVcGRhdGVkTGFuZXM7XG59XG5cbmZ1bmN0aW9uIGVucXVldWVVcGRhdGUkMShmaWJlciwgcXVldWUsIHVwZGF0ZSwgbGFuZSkge1xuICAvLyBEb24ndCB1cGRhdGUgdGhlIGBjaGlsZExhbmVzYCBvbiB0aGUgcmV0dXJuIHBhdGggeWV0LiBJZiB3ZSBhbHJlYWR5IGluXG4gIC8vIHRoZSBtaWRkbGUgb2YgcmVuZGVyaW5nLCB3YWl0IHVudGlsIGFmdGVyIGl0IGhhcyBjb21wbGV0ZWQuXG4gIGNvbmN1cnJlbnRRdWV1ZXNbY29uY3VycmVudFF1ZXVlc0luZGV4KytdID0gZmliZXI7XG4gIGNvbmN1cnJlbnRRdWV1ZXNbY29uY3VycmVudFF1ZXVlc0luZGV4KytdID0gcXVldWU7XG4gIGNvbmN1cnJlbnRRdWV1ZXNbY29uY3VycmVudFF1ZXVlc0luZGV4KytdID0gdXBkYXRlO1xuICBjb25jdXJyZW50UXVldWVzW2NvbmN1cnJlbnRRdWV1ZXNJbmRleCsrXSA9IGxhbmU7XG4gIGNvbmN1cnJlbnRseVVwZGF0ZWRMYW5lcyA9IG1lcmdlTGFuZXMoY29uY3VycmVudGx5VXBkYXRlZExhbmVzLCBsYW5lKTsgLy8gVGhlIGZpYmVyJ3MgYGxhbmVgIGZpZWxkIGlzIHVzZWQgaW4gc29tZSBwbGFjZXMgdG8gY2hlY2sgaWYgYW55IHdvcmsgaXNcbiAgLy8gc2NoZWR1bGVkLCB0byBwZXJmb3JtIGFuIGVhZ2VyIGJhaWxvdXQsIHNvIHdlIG5lZWQgdG8gdXBkYXRlIGl0IGltbWVkaWF0ZWx5LlxuICAvLyBUT0RPOiBXZSBzaG91bGQgcHJvYmFibHkgbW92ZSB0aGlzIHRvIHRoZSBcInNoYXJlZFwiIHF1ZXVlIGluc3RlYWQuXG5cbiAgZmliZXIubGFuZXMgPSBtZXJnZUxhbmVzKGZpYmVyLmxhbmVzLCBsYW5lKTtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgYWx0ZXJuYXRlLmxhbmVzID0gbWVyZ2VMYW5lcyhhbHRlcm5hdGUubGFuZXMsIGxhbmUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVucXVldWVDb25jdXJyZW50SG9va1VwZGF0ZShmaWJlciwgcXVldWUsIHVwZGF0ZSwgbGFuZSkge1xuICB2YXIgY29uY3VycmVudFF1ZXVlID0gcXVldWU7XG4gIHZhciBjb25jdXJyZW50VXBkYXRlID0gdXBkYXRlO1xuICBlbnF1ZXVlVXBkYXRlJDEoZmliZXIsIGNvbmN1cnJlbnRRdWV1ZSwgY29uY3VycmVudFVwZGF0ZSwgbGFuZSk7XG4gIHJldHVybiBnZXRSb290Rm9yVXBkYXRlZEZpYmVyKGZpYmVyKTtcbn1cbmZ1bmN0aW9uIGVucXVldWVDb25jdXJyZW50SG9va1VwZGF0ZUFuZEVhZ2VybHlCYWlsb3V0KGZpYmVyLCBxdWV1ZSwgdXBkYXRlKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBxdWV1ZSBhbiB1cGRhdGUgdGhhdCBkb2Vzbid0IG5lZWQgYSByZXJlbmRlci4gVGhlXG4gIC8vIG9ubHkgcmVhc29uIHdlIHF1ZXVlIGl0IGlzIGluIGNhc2UgdGhlcmUncyBhIHN1YnNlcXVlbnQgaGlnaGVyIHByaW9yaXR5XG4gIC8vIHVwZGF0ZSB0aGF0IGNhdXNlcyBpdCB0byBiZSByZWJhc2VkLlxuICB2YXIgbGFuZSA9IE5vTGFuZTtcbiAgdmFyIGNvbmN1cnJlbnRRdWV1ZSA9IHF1ZXVlO1xuICB2YXIgY29uY3VycmVudFVwZGF0ZSA9IHVwZGF0ZTtcbiAgZW5xdWV1ZVVwZGF0ZSQxKGZpYmVyLCBjb25jdXJyZW50UXVldWUsIGNvbmN1cnJlbnRVcGRhdGUsIGxhbmUpOyAvLyBVc3VhbGx5IHdlIGNhbiByZWx5IG9uIHRoZSB1cGNvbWluZyByZW5kZXIgcGhhc2UgdG8gcHJvY2VzcyB0aGUgY29uY3VycmVudFxuICAvLyBxdWV1ZS4gSG93ZXZlciwgc2luY2UgdGhpcyBpcyBhIGJhaWwgb3V0LCB3ZSdyZSBub3Qgc2NoZWR1bGluZyBhbnkgd29ya1xuICAvLyBoZXJlLiBTbyB0aGUgdXBkYXRlIHdlIGp1c3QgcXVldWVkIHdpbGwgbGVhayB1bnRpbCBzb21ldGhpbmcgZWxzZSBoYXBwZW5zXG4gIC8vIHRvIHNjaGVkdWxlIHdvcmsgKGlmIGV2ZXIpLlxuICAvL1xuICAvLyBDaGVjayBpZiB3ZSdyZSBjdXJyZW50bHkgaW4gdGhlIG1pZGRsZSBvZiByZW5kZXJpbmcgYSB0cmVlLCBhbmQgaWYgbm90LFxuICAvLyBwcm9jZXNzIHRoZSBxdWV1ZSBpbW1lZGlhdGVseSB0byBwcmV2ZW50IGEgbGVhay5cblxuICB2YXIgaXNDb25jdXJyZW50bHlSZW5kZXJpbmcgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKSAhPT0gbnVsbDtcblxuICBpZiAoIWlzQ29uY3VycmVudGx5UmVuZGVyaW5nKSB7XG4gICAgZmluaXNoUXVldWVpbmdDb25jdXJyZW50VXBkYXRlcygpO1xuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudENsYXNzVXBkYXRlKGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKSB7XG4gIHZhciBjb25jdXJyZW50UXVldWUgPSBxdWV1ZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGUgPSB1cGRhdGU7XG4gIGVucXVldWVVcGRhdGUkMShmaWJlciwgY29uY3VycmVudFF1ZXVlLCBjb25jdXJyZW50VXBkYXRlLCBsYW5lKTtcbiAgcmV0dXJuIGdldFJvb3RGb3JVcGRhdGVkRmliZXIoZmliZXIpO1xufVxuZnVuY3Rpb24gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBsYW5lKSB7XG4gIGVucXVldWVVcGRhdGUkMShmaWJlciwgbnVsbCwgbnVsbCwgbGFuZSk7XG4gIHJldHVybiBnZXRSb290Rm9yVXBkYXRlZEZpYmVyKGZpYmVyKTtcbn0gLy8gQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIG91dHNpZGUgdGhpcyBtb2R1bGUgc2hvdWxkIG9ubHkgYmUgZG9uZSBmb3IgYmFja3dhcmRzXG4vLyBjb21wYXRpYmlsaXR5IGFuZCBzaG91bGQgYWx3YXlzIGJlIGFjY29tcGFuaWVkIGJ5IGEgd2FybmluZy5cblxuZnVuY3Rpb24gdW5zYWZlX21hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KHNvdXJjZUZpYmVyLCBsYW5lKSB7XG4gIC8vIE5PVEU6IEZvciBIeXJ1bSdzIExhdyByZWFzb25zLCBpZiBhbiBpbmZpbml0ZSB1cGRhdGUgbG9vcCBpcyBkZXRlY3RlZCwgaXRcbiAgLy8gc2hvdWxkIHRocm93IGJlZm9yZSBgbWFya1VwZGF0ZUxhbmVGcm9tRmliZXJUb1Jvb3RgIGlzIGNhbGxlZC4gQnV0IHRoaXMgaXNcbiAgLy8gdW5kZWZpbmVkIGJlaGF2aW9yIGFuZCB3ZSBjYW4gY2hhbmdlIGl0IGlmIHdlIG5lZWQgdG87IGl0IGp1c3Qgc28gaGFwcGVuc1xuICAvLyB0aGF0LCBhdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcsIHRoZXJlJ3MgYW4gaW50ZXJuYWwgcHJvZHVjdCB0ZXN0IHRoYXRcbiAgLy8gaGFwcGVucyB0byByZWx5IG9uIHRoaXMuXG4gIHZhciByb290ID0gZ2V0Um9vdEZvclVwZGF0ZWRGaWJlcihzb3VyY2VGaWJlcik7XG4gIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KHNvdXJjZUZpYmVyLCBudWxsLCBsYW5lKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5cbmZ1bmN0aW9uIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KHNvdXJjZUZpYmVyLCB1cGRhdGUsIGxhbmUpIHtcbiAgLy8gVXBkYXRlIHRoZSBzb3VyY2UgZmliZXIncyBsYW5lc1xuICBzb3VyY2VGaWJlci5sYW5lcyA9IG1lcmdlTGFuZXMoc291cmNlRmliZXIubGFuZXMsIGxhbmUpO1xuICB2YXIgYWx0ZXJuYXRlID0gc291cmNlRmliZXIuYWx0ZXJuYXRlO1xuXG4gIGlmIChhbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICBhbHRlcm5hdGUubGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5sYW5lcywgbGFuZSk7XG4gIH0gLy8gV2FsayB0aGUgcGFyZW50IHBhdGggdG8gdGhlIHJvb3QgYW5kIHVwZGF0ZSB0aGUgY2hpbGQgbGFuZXMuXG5cblxuICB2YXIgaXNIaWRkZW4gPSBmYWxzZTtcbiAgdmFyIHBhcmVudCA9IHNvdXJjZUZpYmVyLnJldHVybjtcbiAgdmFyIG5vZGUgPSBzb3VyY2VGaWJlcjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgcGFyZW50LmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKHBhcmVudC5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICBhbHRlcm5hdGUgPSBwYXJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICB9XG5cbiAgICBpZiAocGFyZW50LnRhZyA9PT0gT2Zmc2NyZWVuQ29tcG9uZW50KSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGlzIG9mZnNjcmVlbiBib3VuZGFyeSBpcyBjdXJyZW50bHkgaGlkZGVuLlxuICAgICAgLy9cbiAgICAgIC8vIFRoZSBpbnN0YW5jZSBtYXkgYmUgbnVsbCBpZiB0aGUgT2Zmc2NyZWVuIHBhcmVudCB3YXMgdW5tb3VudGVkLiBVc3VhbGx5XG4gICAgICAvLyB0aGUgcGFyZW50IHdvdWxkbid0IGJlIHJlYWNoYWJsZSBpbiB0aGF0IGNhc2UgYmVjYXVzZSB3ZSBkaXNjb25uZWN0XG4gICAgICAvLyBmaWJlcnMgZnJvbSB0aGUgdHJlZSB3aGVuIHRoZXkgYXJlIGRlbGV0ZWQuIEhvd2V2ZXIsIHRoZXJlJ3MgYSB3ZWlyZFxuICAgICAgLy8gZWRnZSBjYXNlIHdoZXJlIHNldFN0YXRlIGlzIGNhbGxlZCBvbiBhIGZpYmVyIHRoYXQgd2FzIGludGVycnVwdGVkXG4gICAgICAvLyBiZWZvcmUgaXQgZXZlciBtb3VudGVkLiBCZWNhdXNlIGl0IG5ldmVyIG1vdW50cywgaXQgYWxzbyBuZXZlciBnZXRzXG4gICAgICAvLyBkZWxldGVkLiBCZWNhdXNlIGl0IG5ldmVyIGdldHMgZGVsZXRlZCwgaXRzIHJldHVybiBwb2ludGVyIG5ldmVyIGdldHNcbiAgICAgIC8vIGRpc2Nvbm5lY3RlZC4gV2hpY2ggbWVhbnMgaXQgbWF5IGJlIGF0dGFjaGVkIHRvIGEgZGVsZXRlZCBPZmZzY3JlZW5cbiAgICAgIC8vIHBhcmVudCBub2RlLiAoVGhpcyBkaXNjb3Zlcnkgc3VnZ2VzdHMgaXQgbWF5IGJlIGJldHRlciBmb3IgbWVtb3J5IHVzYWdlXG4gICAgICAvLyBpZiB3ZSBkb24ndCBhdHRhY2ggdGhlIGByZXR1cm5gIHBvaW50ZXIgdW50aWwgdGhlIGNvbW1pdCBwaGFzZSwgdGhvdWdoXG4gICAgICAvLyBpbiBvcmRlciB0byBkbyB0aGF0IHdlJ2QgbmVlZCBzb21lIG90aGVyIHdheSB0byB0cmFjayB0aGUgcmV0dXJuXG4gICAgICAvLyBwb2ludGVyIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIsIGxpa2Ugb24gdGhlIHN0YWNrLilcbiAgICAgIC8vXG4gICAgICAvLyBUaGlzIGNhc2UgaXMgYWx3YXlzIGFjY29tcGFuaWVkIGJ5IGEgd2FybmluZywgYnV0IHdlIHN0aWxsIG5lZWQgdG9cbiAgICAgIC8vIGFjY291bnQgZm9yIGl0LiAoVGhlcmUgbWF5IGJlIG90aGVyIGNhc2VzIHRoYXQgd2UgaGF2ZW4ndCBkaXNjb3ZlcmVkLFxuICAgICAgLy8gdG9vLilcbiAgICAgIHZhciBvZmZzY3JlZW5JbnN0YW5jZSA9IHBhcmVudC5zdGF0ZU5vZGU7XG5cbiAgICAgIGlmIChvZmZzY3JlZW5JbnN0YW5jZSAhPT0gbnVsbCAmJiAhKG9mZnNjcmVlbkluc3RhbmNlLl92aXNpYmlsaXR5ICYgT2Zmc2NyZWVuVmlzaWJsZSkpIHtcbiAgICAgICAgaXNIaWRkZW4gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5vZGUgPSBwYXJlbnQ7XG4gICAgcGFyZW50ID0gcGFyZW50LnJldHVybjtcbiAgfVxuXG4gIGlmIChpc0hpZGRlbiAmJiB1cGRhdGUgIT09IG51bGwgJiYgbm9kZS50YWcgPT09IEhvc3RSb290KSB7XG4gICAgdmFyIHJvb3QgPSBub2RlLnN0YXRlTm9kZTtcbiAgICBtYXJrSGlkZGVuVXBkYXRlKHJvb3QsIHVwZGF0ZSwgbGFuZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Um9vdEZvclVwZGF0ZWRGaWJlcihzb3VyY2VGaWJlcikge1xuICAvLyBUT0RPOiBXZSB3aWxsIGRldGVjdCBhbmQgaW5maW5pdGUgdXBkYXRlIGxvb3AgYW5kIHRocm93IGV2ZW4gaWYgdGhpcyBmaWJlclxuICAvLyBoYXMgYWxyZWFkeSB1bm1vdW50ZWQuIFRoaXMgaXNuJ3QgcmVhbGx5IG5lY2Vzc2FyeSBidXQgaXQgaGFwcGVucyB0byBiZSB0aGVcbiAgLy8gY3VycmVudCBiZWhhdmlvciB3ZSd2ZSB1c2VkIGZvciBzZXZlcmFsIHJlbGVhc2UgY3ljbGVzLiBDb25zaWRlciBub3RcbiAgLy8gcGVyZm9ybWluZyB0aGlzIGNoZWNrIGlmIHRoZSB1cGRhdGVkIGZpYmVyIGFscmVhZHkgdW5tb3VudGVkLCBzaW5jZSBpdCdzXG4gIC8vIG5vdCBwb3NzaWJsZSBmb3IgdGhhdCB0byBjYXVzZSBhbiBpbmZpbml0ZSB1cGRhdGUgbG9vcC5cbiAgdGhyb3dJZkluZmluaXRlVXBkYXRlTG9vcERldGVjdGVkKCk7IC8vIFdoZW4gYSBzZXRTdGF0ZSBoYXBwZW5zLCB3ZSBtdXN0IGVuc3VyZSB0aGUgcm9vdCBpcyBzY2hlZHVsZWQuIEJlY2F1c2VcbiAgLy8gdXBkYXRlIHF1ZXVlcyBkbyBub3QgaGF2ZSBhIGJhY2twb2ludGVyIHRvIHRoZSByb290LCB0aGUgb25seSB3YXkgdG8gZG9cbiAgLy8gdGhpcyBjdXJyZW50bHkgaXMgdG8gd2FsayB1cCB0aGUgcmV0dXJuIHBhdGguIFRoaXMgdXNlZCB0byBub3QgYmUgYSBiaWdcbiAgLy8gZGVhbCBiZWNhdXNlIHdlIHdvdWxkIGhhdmUgdG8gd2FsayB1cCB0aGUgcmV0dXJuIHBhdGggdG8gc2V0XG4gIC8vIHRoZSBgY2hpbGRMYW5lc2AsIGFueXdheSwgYnV0IG5vdyB0aG9zZSB0d28gdHJhdmVyc2FscyBoYXBwZW4gYXRcbiAgLy8gZGlmZmVyZW50IHRpbWVzLlxuICAvLyBUT0RPOiBDb25zaWRlciBhZGRpbmcgYSBgcm9vdGAgYmFja3BvaW50ZXIgb24gdGhlIHVwZGF0ZSBxdWV1ZS5cblxuICBkZXRlY3RVcGRhdGVPblVubW91bnRlZEZpYmVyKHNvdXJjZUZpYmVyLCBzb3VyY2VGaWJlcik7XG4gIHZhciBub2RlID0gc291cmNlRmliZXI7XG4gIHZhciBwYXJlbnQgPSBub2RlLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgZGV0ZWN0VXBkYXRlT25Vbm1vdW50ZWRGaWJlcihzb3VyY2VGaWJlciwgbm9kZSk7XG4gICAgbm9kZSA9IHBhcmVudDtcbiAgICBwYXJlbnQgPSBub2RlLnJldHVybjtcbiAgfVxuXG4gIHJldHVybiBub2RlLnRhZyA9PT0gSG9zdFJvb3QgPyBub2RlLnN0YXRlTm9kZSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGRldGVjdFVwZGF0ZU9uVW5tb3VudGVkRmliZXIoc291cmNlRmliZXIsIHBhcmVudCkge1xuICB7XG4gICAgdmFyIGFsdGVybmF0ZSA9IHBhcmVudC5hbHRlcm5hdGU7XG5cbiAgICBpZiAoYWx0ZXJuYXRlID09PSBudWxsICYmIChwYXJlbnQuZmxhZ3MgJiAoUGxhY2VtZW50IHwgSHlkcmF0aW5nKSkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgd2FybkFib3V0VXBkYXRlT25Ob3RZZXRNb3VudGVkRmliZXJJbkRFVihzb3VyY2VGaWJlcik7XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QWN0UXVldWU7IC8vIEEgbGlua2VkIGxpc3Qgb2YgYWxsIHRoZSByb290cyB3aXRoIHBlbmRpbmcgd29yay4gSW4gYW4gaWRpb21hdGljIGFwcCxcbi8vIHRoZXJlJ3Mgb25seSBhIHNpbmdsZSByb290LCBidXQgd2UgZG8gc3VwcG9ydCBtdWx0aSByb290IGFwcHMsIGhlbmNlIHRoaXNcbi8vIGV4dHJhIGNvbXBsZXhpdHkuIEJ1dCB0aGlzIG1vZHVsZSBpcyBvcHRpbWl6ZWQgZm9yIHRoZSBzaW5nbGUgcm9vdCBjYXNlLlxuXG52YXIgZmlyc3RTY2hlZHVsZWRSb290ID0gbnVsbDtcbnZhciBsYXN0U2NoZWR1bGVkUm9vdCA9IG51bGw7IC8vIFVzZWQgdG8gcHJldmVudCByZWR1bmRhbnQgbWlyY290YXNrcyBmcm9tIGJlaW5nIHNjaGVkdWxlZC5cblxudmFyIGRpZFNjaGVkdWxlTWljcm90YXNrID0gZmFsc2U7IC8vIGBhY3RgIFwibWljcm90YXNrc1wiIGFyZSBzY2hlZHVsZWQgb24gdGhlIGBhY3RgIHF1ZXVlIGluc3RlYWQgb2YgYW4gYWN0dWFsXG4vLyBtaWNyb3Rhc2ssIHNvIHdlIGhhdmUgdG8gZGVkdXBlIHRob3NlIHNlcGFyYXRlbHkuIFRoaXMgd291bGRuJ3QgYmUgYW4gaXNzdWVcbi8vIGlmIHdlIHJlcXVpcmVkIGFsbCBgYWN0YCBjYWxscyB0byBiZSBhd2FpdGVkLCB3aGljaCB3ZSBtaWdodCBpbiB0aGUgZnV0dXJlLlxuXG52YXIgZGlkU2NoZWR1bGVNaWNyb3Rhc2tfYWN0ID0gZmFsc2U7IC8vIFVzZWQgdG8gcXVpY2tseSBiYWlsIG91dCBvZiBmbHVzaFN5bmMgaWYgdGhlcmUncyBubyBzeW5jIHdvcmsgdG8gZG8uXG5cbnZhciBtaWdodEhhdmVQZW5kaW5nU3luY1dvcmsgPSBmYWxzZTtcbnZhciBpc0ZsdXNoaW5nV29yayA9IGZhbHNlO1xudmFyIGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lID0gTm9MYW5lO1xuZnVuY3Rpb24gZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbmV2ZXIgYSByb290IHJlY2VpdmVzIGFuIHVwZGF0ZS4gSXQgZG9lcyB0d29cbiAgLy8gdGhpbmdzIDEpIGl0IGVuc3VyZXMgdGhlIHJvb3QgaXMgaW4gdGhlIHJvb3Qgc2NoZWR1bGUsIGFuZCAyKSBpdCBlbnN1cmVzXG4gIC8vIHRoZXJlJ3MgYSBwZW5kaW5nIG1pY3JvdGFzayB0byBwcm9jZXNzIHRoZSByb290IHNjaGVkdWxlLlxuICAvL1xuICAvLyBNb3N0IG9mIHRoZSBhY3R1YWwgc2NoZWR1bGluZyBsb2dpYyBkb2VzIG5vdCBoYXBwZW4gdW50aWxcbiAgLy8gYHNjaGVkdWxlVGFza0ZvclJvb3REdXJpbmdNaWNyb3Rhc2tgIHJ1bnMuXG4gIC8vIEFkZCB0aGUgcm9vdCB0byB0aGUgc2NoZWR1bGVcbiAgaWYgKHJvb3QgPT09IGxhc3RTY2hlZHVsZWRSb290IHx8IHJvb3QubmV4dCAhPT0gbnVsbCkgOyBlbHNlIHtcbiAgICBpZiAobGFzdFNjaGVkdWxlZFJvb3QgPT09IG51bGwpIHtcbiAgICAgIGZpcnN0U2NoZWR1bGVkUm9vdCA9IGxhc3RTY2hlZHVsZWRSb290ID0gcm9vdDtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdFNjaGVkdWxlZFJvb3QubmV4dCA9IHJvb3Q7XG4gICAgICBsYXN0U2NoZWR1bGVkUm9vdCA9IHJvb3Q7XG4gICAgfVxuICB9IC8vIEFueSB0aW1lIGEgcm9vdCByZWNlaXZlZCBhbiB1cGRhdGUsIHdlIHNldCB0aGlzIHRvIHRydWUgdW50aWwgdGhlIG5leHQgdGltZVxuICAvLyB3ZSBwcm9jZXNzIHRoZSBzY2hlZHVsZS4gSWYgaXQncyBmYWxzZSwgdGhlbiB3ZSBjYW4gcXVpY2tseSBleGl0IGZsdXNoU3luY1xuICAvLyB3aXRob3V0IGNvbnN1bHRpbmcgdGhlIHNjaGVkdWxlLlxuXG5cbiAgbWlnaHRIYXZlUGVuZGluZ1N5bmNXb3JrID0gdHJ1ZTsgLy8gQXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBldmVudCwgZ28gdGhyb3VnaCBlYWNoIG9mIHRoZSByb290cyBhbmQgZW5zdXJlXG4gIC8vIHRoZXJlJ3MgYSB0YXNrIHNjaGVkdWxlZCBmb3IgZWFjaCBvbmUgYXQgdGhlIGNvcnJlY3QgcHJpb3JpdHkuXG5cbiAgaWYgKFJlYWN0Q3VycmVudEFjdFF1ZXVlJDMuY3VycmVudCAhPT0gbnVsbCkge1xuICAgIC8vIFdlJ3JlIGluc2lkZSBhbiBgYWN0YCBzY29wZS5cbiAgICBpZiAoIWRpZFNjaGVkdWxlTWljcm90YXNrX2FjdCkge1xuICAgICAgZGlkU2NoZWR1bGVNaWNyb3Rhc2tfYWN0ID0gdHJ1ZTtcbiAgICAgIHNjaGVkdWxlSW1tZWRpYXRlVGFzayhwcm9jZXNzUm9vdFNjaGVkdWxlSW5NaWNyb3Rhc2spO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoIWRpZFNjaGVkdWxlTWljcm90YXNrKSB7XG4gICAgICBkaWRTY2hlZHVsZU1pY3JvdGFzayA9IHRydWU7XG4gICAgICBzY2hlZHVsZUltbWVkaWF0ZVRhc2socHJvY2Vzc1Jvb3RTY2hlZHVsZUluTWljcm90YXNrKTtcbiAgICB9XG4gIH1cblxuICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUkMy5pc0JhdGNoaW5nTGVnYWN5ICYmIHJvb3QudGFnID09PSBMZWdhY3lSb290KSB7XG4gICAgLy8gU3BlY2lhbCBgYWN0YCBjYXNlOiBSZWNvcmQgd2hlbmV2ZXIgYSBsZWdhY3kgdXBkYXRlIGlzIHNjaGVkdWxlZC5cbiAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQzLmRpZFNjaGVkdWxlTGVnYWN5VXBkYXRlID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZmx1c2hTeW5jV29ya09uQWxsUm9vdHMoKSB7XG4gIC8vIFRoaXMgaXMgYWxsb3dlZCB0byBiZSBjYWxsZWQgc3luY2hyb25vdXNseSwgYnV0IHRoZSBjYWxsZXIgc2hvdWxkIGNoZWNrXG4gIC8vIHRoZSBleGVjdXRpb24gY29udGV4dCBmaXJzdC5cbiAgZmx1c2hTeW5jV29ya0Fjcm9zc1Jvb3RzX2ltcGwoZmFsc2UpO1xufVxuZnVuY3Rpb24gZmx1c2hTeW5jV29ya09uTGVnYWN5Um9vdHNPbmx5KCkge1xuICAvLyBUaGlzIGlzIGFsbG93ZWQgdG8gYmUgY2FsbGVkIHN5bmNocm9ub3VzbHksIGJ1dCB0aGUgY2FsbGVyIHNob3VsZCBjaGVja1xuICAvLyB0aGUgZXhlY3V0aW9uIGNvbnRleHQgZmlyc3QuXG4gIGZsdXNoU3luY1dvcmtBY3Jvc3NSb290c19pbXBsKHRydWUpO1xufVxuXG5mdW5jdGlvbiBmbHVzaFN5bmNXb3JrQWNyb3NzUm9vdHNfaW1wbChvbmx5TGVnYWN5KSB7XG4gIGlmIChpc0ZsdXNoaW5nV29yaykge1xuICAgIC8vIFByZXZlbnQgcmVlbnRyYW5jeS5cbiAgICAvLyBUT0RPOiBJcyB0aGlzIG92ZXJseSBkZWZlbnNpdmU/IFRoZSBjYWxsZXJzIG11c3QgY2hlY2sgdGhlIGV4ZWN1dGlvblxuICAgIC8vIGNvbnRleHQgZmlyc3QgcmVnYXJkbGVzcy5cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIW1pZ2h0SGF2ZVBlbmRpbmdTeW5jV29yaykge1xuICAgIC8vIEZhc3QgcGF0aC4gVGhlcmUncyBubyBzeW5jIHdvcmsgdG8gZG8uXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoZXJlIG1heSBvciBtYXkgbm90IGJlIHN5bmNocm9ub3VzIHdvcmsgc2NoZWR1bGVkLiBMZXQncyBjaGVjay5cblxuXG4gIHZhciBkaWRQZXJmb3JtU29tZVdvcms7XG4gIHZhciBlcnJvcnMgPSBudWxsO1xuICBpc0ZsdXNoaW5nV29yayA9IHRydWU7XG5cbiAgZG8ge1xuICAgIGRpZFBlcmZvcm1Tb21lV29yayA9IGZhbHNlO1xuICAgIHZhciByb290ID0gZmlyc3RTY2hlZHVsZWRSb290O1xuXG4gICAgd2hpbGUgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIGlmIChvbmx5TGVnYWN5ICYmIHJvb3QudGFnICE9PSBMZWdhY3lSb290KSA7IGVsc2Uge1xuICAgICAgICB2YXIgd29ya0luUHJvZ3Jlc3NSb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG4gICAgICAgIHZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IGdldFdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKCk7XG4gICAgICAgIHZhciBuZXh0TGFuZXMgPSBnZXROZXh0TGFuZXMocm9vdCwgcm9vdCA9PT0gd29ya0luUHJvZ3Jlc3NSb290ID8gd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgOiBOb0xhbmVzKTtcblxuICAgICAgICBpZiAoaW5jbHVkZXNTeW5jTGFuZShuZXh0TGFuZXMpKSB7XG4gICAgICAgICAgLy8gVGhpcyByb290IGhhcyBwZW5kaW5nIHN5bmMgd29yay4gRmx1c2ggaXQgbm93LlxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkaWRQZXJmb3JtU29tZVdvcmsgPSB0cnVlO1xuICAgICAgICAgICAgcGVyZm9ybVN5bmNXb3JrT25Sb290KHJvb3QsIG5leHRMYW5lcyk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIENvbGxlY3QgZXJyb3JzIHNvIHdlIGNhbiByZXRocm93IHRoZW0gYXQgdGhlIGVuZFxuICAgICAgICAgICAgaWYgKGVycm9ycyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBlcnJvcnMgPSBbZXJyb3JdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByb290ID0gcm9vdC5uZXh0O1xuICAgIH1cbiAgfSB3aGlsZSAoZGlkUGVyZm9ybVNvbWVXb3JrKTtcblxuICBpc0ZsdXNoaW5nV29yayA9IGZhbHNlOyAvLyBJZiBhbnkgZXJyb3JzIHdlcmUgdGhyb3duLCByZXRocm93IHRoZW0gcmlnaHQgYmVmb3JlIGV4aXRpbmcuXG4gIC8vIFRPRE86IENvbnNpZGVyIHJldHVybmluZyB0aGVzZSB0byB0aGUgY2FsbGVyLCB0byBhbGxvdyB0aGVtIHRvIGRlY2lkZVxuICAvLyBob3cvd2hlbiB0byByZXRocm93LlxuXG4gIGlmIChlcnJvcnMgIT09IG51bGwpIHtcbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGlmICh0eXBlb2YgQWdncmVnYXRlRXJyb3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgICAgIHRocm93IG5ldyBBZ2dyZWdhdGVFcnJvcihlcnJvcnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBlcnJvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBzY2hlZHVsZUltbWVkaWF0ZVRhc2sodGhyb3dFcnJvci5iaW5kKG51bGwsIGVycm9yc1tpXSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGZpcnN0RXJyb3IgPSBlcnJvcnNbMF07XG4gICAgICAgIHRocm93IGZpcnN0RXJyb3I7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBlcnJvciA9IGVycm9yc1swXTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0aHJvd0Vycm9yKGVycm9yKSB7XG4gIHRocm93IGVycm9yO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzUm9vdFNjaGVkdWxlSW5NaWNyb3Rhc2soKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgYWx3YXlzIGNhbGxlZCBpbnNpZGUgYSBtaWNyb3Rhc2suIEl0IHNob3VsZCBuZXZlciBiZVxuICAvLyBjYWxsZWQgc3luY2hyb25vdXNseS5cbiAgZGlkU2NoZWR1bGVNaWNyb3Rhc2sgPSBmYWxzZTtcblxuICB7XG4gICAgZGlkU2NoZWR1bGVNaWNyb3Rhc2tfYWN0ID0gZmFsc2U7XG4gIH0gLy8gV2UnbGwgcmVjb21wdXRlIHRoaXMgYXMgd2UgaXRlcmF0ZSB0aHJvdWdoIGFsbCB0aGUgcm9vdHMgYW5kIHNjaGVkdWxlIHRoZW0uXG5cblxuICBtaWdodEhhdmVQZW5kaW5nU3luY1dvcmsgPSBmYWxzZTtcbiAgdmFyIGN1cnJlbnRUaW1lID0gbm93JDEoKTtcbiAgdmFyIHByZXYgPSBudWxsO1xuICB2YXIgcm9vdCA9IGZpcnN0U2NoZWR1bGVkUm9vdDtcblxuICB3aGlsZSAocm9vdCAhPT0gbnVsbCkge1xuICAgIHZhciBuZXh0ID0gcm9vdC5uZXh0O1xuXG4gICAgaWYgKGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lICE9PSBOb0xhbmUgJiYgc2hvdWxkQXR0ZW1wdEVhZ2VyVHJhbnNpdGlvbigpKSB7XG4gICAgICAvLyBBIHRyYW5zaXRpb24gd2FzIHNjaGVkdWxlZCBkdXJpbmcgYW4gZXZlbnQsIGJ1dCB3ZSdyZSBnb2luZyB0byB0cnkgdG9cbiAgICAgIC8vIHJlbmRlciBpdCBzeW5jaHJvbm91c2x5IGFueXdheS4gV2UgZG8gdGhpcyBkdXJpbmcgYSBwb3BzdGF0ZSBldmVudCB0b1xuICAgICAgLy8gcHJlc2VydmUgdGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgcHJldmlvdXMgcGFnZS5cbiAgICAgIHVwZ3JhZGVQZW5kaW5nTGFuZVRvU3luYyhyb290LCBjdXJyZW50RXZlbnRUcmFuc2l0aW9uTGFuZSk7XG4gICAgfVxuXG4gICAgdmFyIG5leHRMYW5lcyA9IHNjaGVkdWxlVGFza0ZvclJvb3REdXJpbmdNaWNyb3Rhc2socm9vdCwgY3VycmVudFRpbWUpO1xuXG4gICAgaWYgKG5leHRMYW5lcyA9PT0gTm9MYW5lKSB7XG4gICAgICAvLyBUaGlzIHJvb3QgaGFzIG5vIG1vcmUgcGVuZGluZyB3b3JrLiBSZW1vdmUgaXQgZnJvbSB0aGUgc2NoZWR1bGUuIFRvXG4gICAgICAvLyBndWFyZCBhZ2FpbnN0IHN1YnRsZSByZWVudHJhbmN5IGJ1Z3MsIHRoaXMgbWljcm90YXNrIGlzIHRoZSBvbmx5IHBsYWNlXG4gICAgICAvLyB3ZSBkbyB0aGlzIOKAlCB5b3UgY2FuIGFkZCByb290cyB0byB0aGUgc2NoZWR1bGUgd2hlbmV2ZXIsIGJ1dCB5b3UgY2FuXG4gICAgICAvLyBvbmx5IHJlbW92ZSB0aGVtIGhlcmUuXG4gICAgICAvLyBOdWxsIHRoaXMgb3V0IHNvIHdlIGtub3cgaXQncyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc2NoZWR1bGUuXG4gICAgICByb290Lm5leHQgPSBudWxsO1xuXG4gICAgICBpZiAocHJldiA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUaGlzIGlzIHRoZSBuZXcgaGVhZCBvZiB0aGUgbGlzdFxuICAgICAgICBmaXJzdFNjaGVkdWxlZFJvb3QgPSBuZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJldi5uZXh0ID0gbmV4dDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5leHQgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVGhpcyBpcyB0aGUgbmV3IHRhaWwgb2YgdGhlIGxpc3RcbiAgICAgICAgbGFzdFNjaGVkdWxlZFJvb3QgPSBwcmV2O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIHJvb3Qgc3RpbGwgaGFzIHdvcmsuIEtlZXAgaXQgaW4gdGhlIGxpc3QuXG4gICAgICBwcmV2ID0gcm9vdDtcblxuICAgICAgaWYgKGluY2x1ZGVzU3luY0xhbmUobmV4dExhbmVzKSkge1xuICAgICAgICBtaWdodEhhdmVQZW5kaW5nU3luY1dvcmsgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJvb3QgPSBuZXh0O1xuICB9XG5cbiAgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBOb0xhbmU7IC8vIEF0IHRoZSBlbmQgb2YgdGhlIG1pY3JvdGFzaywgZmx1c2ggYW55IHBlbmRpbmcgc3luY2hyb25vdXMgd29yay4gVGhpcyBoYXNcbiAgLy8gdG8gY29tZSBhdCB0aGUgZW5kLCBiZWNhdXNlIGl0IGRvZXMgYWN0dWFsIHJlbmRlcmluZyB3b3JrIHRoYXQgbWlnaHQgdGhyb3cuXG5cbiAgZmx1c2hTeW5jV29ya09uQWxsUm9vdHMoKTtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVUYXNrRm9yUm9vdER1cmluZ01pY3JvdGFzayhyb290LCBjdXJyZW50VGltZSkge1xuICAvLyBUaGlzIGZ1bmN0aW9uIGlzIGFsd2F5cyBjYWxsZWQgaW5zaWRlIGEgbWljcm90YXNrLCBvciBhdCB0aGUgdmVyeSBlbmQgb2YgYVxuICAvLyByZW5kZXJpbmcgdGFzayByaWdodCBiZWZvcmUgd2UgeWllbGQgdG8gdGhlIG1haW4gdGhyZWFkLiBJdCBzaG91bGQgbmV2ZXIgYmVcbiAgLy8gY2FsbGVkIHN5bmNocm9ub3VzbHkuXG4gIC8vXG4gIC8vIFRPRE86IFVubGVzcyBlbmFibGVEZWZlclJvb3RTY2hlZHVsaW5nVG9NaWNyb3Rhc2sgaXMgb2ZmLiBXZSBuZWVkIHRvIGxhbmRcbiAgLy8gdGhhdCBBU0FQIHRvIHVuYmxvY2sgYWRkaXRpb25hbCBmZWF0dXJlcyB3ZSBoYXZlIHBsYW5uZWQuXG4gIC8vXG4gIC8vIFRoaXMgZnVuY3Rpb24gYWxzbyBuZXZlciBwZXJmb3JtcyBSZWFjdCB3b3JrIHN5bmNocm9ub3VzbHk7IGl0IHNob3VsZFxuICAvLyBvbmx5IHNjaGVkdWxlIHdvcmsgdG8gYmUgcGVyZm9ybWVkIGxhdGVyLCBpbiBhIHNlcGFyYXRlIHRhc2sgb3IgbWljcm90YXNrLlxuICAvLyBDaGVjayBpZiBhbnkgbGFuZXMgYXJlIGJlaW5nIHN0YXJ2ZWQgYnkgb3RoZXIgd29yay4gSWYgc28sIG1hcmsgdGhlbSBhc1xuICAvLyBleHBpcmVkIHNvIHdlIGtub3cgdG8gd29yayBvbiB0aG9zZSBuZXh0LlxuICBtYXJrU3RhcnZlZExhbmVzQXNFeHBpcmVkKHJvb3QsIGN1cnJlbnRUaW1lKTsgLy8gRGV0ZXJtaW5lIHRoZSBuZXh0IGxhbmVzIHRvIHdvcmsgb24sIGFuZCB0aGVpciBwcmlvcml0eS5cblxuICB2YXIgd29ya0luUHJvZ3Jlc3NSb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG4gIHZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IGdldFdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKCk7XG4gIHZhciBuZXh0TGFuZXMgPSBnZXROZXh0TGFuZXMocm9vdCwgcm9vdCA9PT0gd29ya0luUHJvZ3Jlc3NSb290ID8gd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgOiBOb0xhbmVzKTtcbiAgdmFyIGV4aXN0aW5nQ2FsbGJhY2tOb2RlID0gcm9vdC5jYWxsYmFja05vZGU7XG5cbiAgaWYgKCAvLyBDaGVjayBpZiB0aGVyZSdzIG5vdGhpbmcgdG8gd29yayBvblxuICBuZXh0TGFuZXMgPT09IE5vTGFuZXMgfHwgLy8gSWYgdGhpcyByb290IGlzIGN1cnJlbnRseSBzdXNwZW5kZWQgYW5kIHdhaXRpbmcgZm9yIGRhdGEgdG8gcmVzb2x2ZSwgZG9uJ3RcbiAgLy8gc2NoZWR1bGUgYSB0YXNrIHRvIHJlbmRlciBpdC4gV2UnbGwgZWl0aGVyIHdhaXQgZm9yIGEgcGluZywgb3Igd2FpdCB0b1xuICAvLyByZWNlaXZlIGFuIHVwZGF0ZS5cbiAgLy9cbiAgLy8gU3VzcGVuZGVkIHJlbmRlciBwaGFzZVxuICByb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QgJiYgaXNXb3JrTG9vcFN1c3BlbmRlZE9uRGF0YSgpIHx8IC8vIFN1c3BlbmRlZCBjb21taXQgcGhhc2VcbiAgcm9vdC5jYW5jZWxQZW5kaW5nQ29tbWl0ICE9PSBudWxsKSB7XG4gICAgLy8gRmFzdCBwYXRoOiBUaGVyZSdzIG5vdGhpbmcgdG8gd29yayBvbi5cbiAgICBpZiAoZXhpc3RpbmdDYWxsYmFja05vZGUgIT09IG51bGwpIHtcbiAgICAgIGNhbmNlbENhbGxiYWNrKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgICB9XG5cbiAgICByb290LmNhbGxiYWNrTm9kZSA9IG51bGw7XG4gICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9MYW5lO1xuICAgIHJldHVybiBOb0xhbmU7XG4gIH0gLy8gU2NoZWR1bGUgYSBuZXcgY2FsbGJhY2sgaW4gdGhlIGhvc3QgZW52aXJvbm1lbnQuXG5cblxuICBpZiAoaW5jbHVkZXNTeW5jTGFuZShuZXh0TGFuZXMpKSB7XG4gICAgLy8gU3luY2hyb25vdXMgd29yayBpcyBhbHdheXMgZmx1c2hlZCBhdCB0aGUgZW5kIG9mIHRoZSBtaWNyb3Rhc2ssIHNvIHdlXG4gICAgLy8gZG9uJ3QgbmVlZCB0byBzY2hlZHVsZSBhbiBhZGRpdGlvbmFsIHRhc2suXG4gICAgaWYgKGV4aXN0aW5nQ2FsbGJhY2tOb2RlICE9PSBudWxsKSB7XG4gICAgICBjYW5jZWxDYWxsYmFjayhleGlzdGluZ0NhbGxiYWNrTm9kZSk7XG4gICAgfVxuXG4gICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gU3luY0xhbmU7XG4gICAgcm9vdC5jYWxsYmFja05vZGUgPSBudWxsO1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfSBlbHNlIHtcbiAgICAvLyBXZSB1c2UgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgbGFuZSB0byByZXByZXNlbnQgdGhlIHByaW9yaXR5IG9mIHRoZSBjYWxsYmFjay5cbiAgICB2YXIgZXhpc3RpbmdDYWxsYmFja1ByaW9yaXR5ID0gcm9vdC5jYWxsYmFja1ByaW9yaXR5O1xuICAgIHZhciBuZXdDYWxsYmFja1ByaW9yaXR5ID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShuZXh0TGFuZXMpO1xuXG4gICAgaWYgKG5ld0NhbGxiYWNrUHJpb3JpdHkgPT09IGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSAmJiAvLyBTcGVjaWFsIGNhc2UgcmVsYXRlZCB0byBgYWN0YC4gSWYgdGhlIGN1cnJlbnRseSBzY2hlZHVsZWQgdGFzayBpcyBhXG4gICAgLy8gU2NoZWR1bGVyIHRhc2ssIHJhdGhlciB0aGFuIGFuIGBhY3RgIHRhc2ssIGNhbmNlbCBpdCBhbmQgcmUtc2NoZWR1bGVcbiAgICAvLyBvbiB0aGUgYGFjdGAgcXVldWUuXG4gICAgIShSZWFjdEN1cnJlbnRBY3RRdWV1ZSQzLmN1cnJlbnQgIT09IG51bGwgJiYgZXhpc3RpbmdDYWxsYmFja05vZGUgIT09IGZha2VBY3RDYWxsYmFja05vZGUkMSkpIHtcbiAgICAgIC8vIFRoZSBwcmlvcml0eSBoYXNuJ3QgY2hhbmdlZC4gV2UgY2FuIHJldXNlIHRoZSBleGlzdGluZyB0YXNrLlxuICAgICAgcmV0dXJuIG5ld0NhbGxiYWNrUHJpb3JpdHk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENhbmNlbCB0aGUgZXhpc3RpbmcgY2FsbGJhY2suIFdlJ2xsIHNjaGVkdWxlIGEgbmV3IG9uZSBiZWxvdy5cbiAgICAgIGNhbmNlbENhbGxiYWNrKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgICB9XG5cbiAgICB2YXIgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbDtcblxuICAgIHN3aXRjaCAobGFuZXNUb0V2ZW50UHJpb3JpdHkobmV4dExhbmVzKSkge1xuICAgICAgY2FzZSBEaXNjcmV0ZUV2ZW50UHJpb3JpdHk6XG4gICAgICAgIHNjaGVkdWxlclByaW9yaXR5TGV2ZWwgPSBJbW1lZGlhdGVQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgQ29udGludW91c0V2ZW50UHJpb3JpdHk6XG4gICAgICAgIHNjaGVkdWxlclByaW9yaXR5TGV2ZWwgPSBVc2VyQmxvY2tpbmdQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgRGVmYXVsdEV2ZW50UHJpb3JpdHk6XG4gICAgICAgIHNjaGVkdWxlclByaW9yaXR5TGV2ZWwgPSBOb3JtYWxQcmlvcml0eSQxO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBJZGxlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IElkbGVQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNjaGVkdWxlclByaW9yaXR5TGV2ZWwgPSBOb3JtYWxQcmlvcml0eSQxO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgbmV3Q2FsbGJhY2tOb2RlID0gc2NoZWR1bGVDYWxsYmFjayQyKHNjaGVkdWxlclByaW9yaXR5TGV2ZWwsIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpKTtcbiAgICByb290LmNhbGxiYWNrUHJpb3JpdHkgPSBuZXdDYWxsYmFja1ByaW9yaXR5O1xuICAgIHJvb3QuY2FsbGJhY2tOb2RlID0gbmV3Q2FsbGJhY2tOb2RlO1xuICAgIHJldHVybiBuZXdDYWxsYmFja1ByaW9yaXR5O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldENvbnRpbnVhdGlvbkZvclJvb3Qocm9vdCwgb3JpZ2luYWxDYWxsYmFja05vZGUpIHtcbiAgLy8gVGhpcyBpcyBjYWxsZWQgYXQgdGhlIGVuZCBvZiBgcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290YCB0byBkZXRlcm1pbmVcbiAgLy8gaWYgd2UgbmVlZCB0byBzY2hlZHVsZSBhIGNvbnRpbnVhdGlvbiB0YXNrLlxuICAvL1xuICAvLyBVc3VhbGx5IGBzY2hlZHVsZVRhc2tGb3JSb290RHVyaW5nTWljcm90YXNrYCBvbmx5IHJ1bnMgaW5zaWRlIGEgbWljcm90YXNrO1xuICAvLyBob3dldmVyLCBzaW5jZSBtb3N0IG9mIHRoZSBsb2dpYyBmb3IgZGV0ZXJtaW5pbmcgaWYgd2UgbmVlZCBhIGNvbnRpbnVhdGlvblxuICAvLyB2ZXJzdXMgYSBuZXcgdGFzayBpcyB0aGUgc2FtZSwgd2UgY2hlYXQgYSBiaXQgYW5kIGNhbGwgaXQgaGVyZS4gVGhpcyBpc1xuICAvLyBvbmx5IHNhZmUgdG8gZG8gYmVjYXVzZSB3ZSBrbm93IHdlJ3JlIGF0IHRoZSBlbmQgb2YgdGhlIGJyb3dzZXIgdGFzay5cbiAgLy8gU28gYWx0aG91Z2ggaXQncyBub3QgYW4gYWN0dWFsIG1pY3JvdGFzaywgaXQgbWlnaHQgYXMgd2VsbCBiZS5cbiAgc2NoZWR1bGVUYXNrRm9yUm9vdER1cmluZ01pY3JvdGFzayhyb290LCBub3ckMSgpKTtcblxuICBpZiAocm9vdC5jYWxsYmFja05vZGUgPT09IG9yaWdpbmFsQ2FsbGJhY2tOb2RlKSB7XG4gICAgLy8gVGhlIHRhc2sgbm9kZSBzY2hlZHVsZWQgZm9yIHRoaXMgcm9vdCBpcyB0aGUgc2FtZSBvbmUgdGhhdCdzXG4gICAgLy8gY3VycmVudGx5IGV4ZWN1dGVkLiBOZWVkIHRvIHJldHVybiBhIGNvbnRpbnVhdGlvbi5cbiAgICByZXR1cm4gcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290LmJpbmQobnVsbCwgcm9vdCk7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbnZhciBmYWtlQWN0Q2FsbGJhY2tOb2RlJDEgPSB7fTtcblxuZnVuY3Rpb24gc2NoZWR1bGVDYWxsYmFjayQyKHByaW9yaXR5TGV2ZWwsIGNhbGxiYWNrKSB7XG4gIGlmIChSZWFjdEN1cnJlbnRBY3RRdWV1ZSQzLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAvLyBTcGVjaWFsIGNhc2U6IFdlJ3JlIGluc2lkZSBhbiBgYWN0YCBzY29wZSAoYSB0ZXN0aW5nIHV0aWxpdHkpLlxuICAgIC8vIEluc3RlYWQgb2Ygc2NoZWR1bGluZyB3b3JrIGluIHRoZSBob3N0IGVudmlyb25tZW50LCBhZGQgaXQgdG8gYVxuICAgIC8vIGZha2UgaW50ZXJuYWwgcXVldWUgdGhhdCdzIG1hbmFnZWQgYnkgdGhlIGBhY3RgIGltcGxlbWVudGF0aW9uLlxuICAgIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDMuY3VycmVudC5wdXNoKGNhbGxiYWNrKTtcbiAgICByZXR1cm4gZmFrZUFjdENhbGxiYWNrTm9kZSQxO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzY2hlZHVsZUNhbGxiYWNrJDMocHJpb3JpdHlMZXZlbCwgY2FsbGJhY2spO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbmNlbENhbGxiYWNrKGNhbGxiYWNrTm9kZSkge1xuICBpZiAoY2FsbGJhY2tOb2RlID09PSBmYWtlQWN0Q2FsbGJhY2tOb2RlJDEpIDsgZWxzZSBpZiAoY2FsbGJhY2tOb2RlICE9PSBudWxsKSB7XG4gICAgY2FuY2VsQ2FsbGJhY2skMShjYWxsYmFja05vZGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNjaGVkdWxlSW1tZWRpYXRlVGFzayhjYikge1xuICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUkMy5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBJbnNpZGUgYW4gYGFjdGAgc2NvcGUsIHdlIHB1c2ggbWljcm90YXNrcyB0byB0aGUgZmFrZSBgYWN0YFxuICAgIC8vIGNhbGxiYWNrIHF1ZXVlLiBUaGlzIGlzIGJlY2F1c2Ugd2UgY3VycmVudGx5IHN1cHBvcnQgY2FsbGluZyBgYWN0YFxuICAgIC8vIHdpdGhvdXQgYXdhaXRpbmcgdGhlIHJlc3VsdC4gVGhlIHBsYW4gaXMgdG8gZGVwcmVjYXRlIHRoYXQsIGFuZCByZXF1aXJlXG4gICAgLy8gdGhhdCB5b3UgYWx3YXlzIGF3YWl0IHRoZSByZXN1bHQgc28gdGhhdCB0aGUgbWljcm90YXNrcyBoYXZlIGEgY2hhbmNlIHRvXG4gICAgLy8gcnVuLiBCdXQgaXQgaGFzbid0IGhhcHBlbmVkIHlldC5cbiAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQzLmN1cnJlbnQucHVzaChmdW5jdGlvbiAoKSB7XG4gICAgICBjYigpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG4gIH0gLy8gVE9ETzogQ2FuIHdlIGxhbmQgc3VwcG9ydHNNaWNyb3Rhc2tzPyBXaGljaCBlbnZpcm9ubWVudHMgZG9uJ3Qgc3VwcG9ydCBpdD9cbiAgLy8gQWx0ZXJuYXRpdmVseSwgY2FuIHdlIG1vdmUgdGhpcyBjaGVjayB0byB0aGUgaG9zdCBjb25maWc/XG5cblxuICB7XG4gICAgc2NoZWR1bGVNaWNyb3Rhc2soZnVuY3Rpb24gKCkge1xuICAgICAgLy8gSW4gU2FmYXJpLCBhcHBlbmRpbmcgYW4gaWZyYW1lIGZvcmNlcyBtaWNyb3Rhc2tzIHRvIHJ1bi5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjI0NTlcbiAgICAgIC8vIFdlIGRvbid0IHN1cHBvcnQgcnVubmluZyBjYWxsYmFja3MgaW4gdGhlIG1pZGRsZSBvZiByZW5kZXJcbiAgICAgIC8vIG9yIGNvbW1pdCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGFnYWluc3QgdGhhdC5cbiAgICAgIHZhciBleGVjdXRpb25Db250ZXh0ID0gZ2V0RXhlY3V0aW9uQ29udGV4dCgpO1xuXG4gICAgICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSAhPT0gTm9Db250ZXh0KSB7XG4gICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIHdvdWxkIHN0aWxsIHByZW1hdHVyZWx5IGZsdXNoIHRoZSBjYWxsYmFja3NcbiAgICAgICAgLy8gaWYgdGhpcyBoYXBwZW5zIG91dHNpZGUgcmVuZGVyIG9yIGNvbW1pdCBwaGFzZSAoZS5nLiBpbiBhbiBldmVudCkuXG4gICAgICAgIC8vIEludGVudGlvbmFsbHkgdXNpbmcgYSBtYWNyb3Rhc2sgaW5zdGVhZCBvZiBhIG1pY3JvdGFzayBoZXJlLiBUaGlzIGlzXG4gICAgICAgIC8vIHdyb25nIHNlbWFudGljYWxseSBidXQgaXQgcHJldmVudHMgYW4gaW5maW5pdGUgbG9vcC4gVGhlIGJ1ZyBpc1xuICAgICAgICAvLyBTYWZhcmkncywgbm90IG91cnMsIHNvIHdlIGp1c3QgZG8gb3VyIGJlc3QgdG8gbm90IGNyYXNoIGV2ZW4gdGhvdWdoXG4gICAgICAgIC8vIHRoZSBiZWhhdmlvciBpc24ndCBjb21wbGV0ZWx5IGNvcnJlY3QuXG4gICAgICAgIHNjaGVkdWxlQ2FsbGJhY2skMyhJbW1lZGlhdGVQcmlvcml0eSwgY2IpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNiKCk7XG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVxdWVzdFRyYW5zaXRpb25MYW5lKCAvLyBUaGlzIGFyZ3VtZW50IGlzbid0IHVzZWQsIGl0J3Mgb25seSBoZXJlIHRvIGVuY291cmFnZSB0aGUgY2FsbGVyIHRvXG4vLyBjaGVjayB0aGF0IGl0J3MgaW5zaWRlIGEgdHJhbnNpdGlvbiBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLlxuLy8gVE9ETzogTWFrZSB0aGlzIG5vbi1udWxsYWJsZS4gUmVxdWlyZXMgYSB0d2VhayB0byB1c2VPcHRpbWlzdGljLlxudHJhbnNpdGlvbikge1xuICAvLyBUaGUgYWxnb3JpdGhtIGZvciBhc3NpZ25pbmcgYW4gdXBkYXRlIHRvIGEgbGFuZSBzaG91bGQgYmUgc3RhYmxlIGZvciBhbGxcbiAgLy8gdXBkYXRlcyBhdCB0aGUgc2FtZSBwcmlvcml0eSB3aXRoaW4gdGhlIHNhbWUgZXZlbnQuIFRvIGRvIHRoaXMsIHRoZVxuICAvLyBpbnB1dHMgdG8gdGhlIGFsZ29yaXRobSBtdXN0IGJlIHRoZSBzYW1lLlxuICAvL1xuICAvLyBUaGUgdHJpY2sgd2UgdXNlIGlzIHRvIGNhY2hlIHRoZSBmaXJzdCBvZiBlYWNoIG9mIHRoZXNlIGlucHV0cyB3aXRoaW4gYW5cbiAgLy8gZXZlbnQuIFRoZW4gcmVzZXQgdGhlIGNhY2hlZCB2YWx1ZXMgb25jZSB3ZSBjYW4gYmUgc3VyZSB0aGUgZXZlbnQgaXNcbiAgLy8gb3Zlci4gT3VyIGhldXJpc3RpYyBmb3IgdGhhdCBpcyB3aGVuZXZlciB3ZSBlbnRlciBhIGNvbmN1cnJlbnQgd29yayBsb29wLlxuICBpZiAoY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPT09IE5vTGFuZSkge1xuICAgIC8vIEFsbCB0cmFuc2l0aW9ucyB3aXRoaW4gdGhlIHNhbWUgZXZlbnQgYXJlIGFzc2lnbmVkIHRoZSBzYW1lIGxhbmUuXG4gICAgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBjbGFpbU5leHRUcmFuc2l0aW9uTGFuZSgpO1xuICB9XG5cbiAgcmV0dXJuIGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lO1xufVxuXG4vLyB0cmFuc2l0aW9uIHVwZGF0ZXMgdGhhdCBvY2N1ciB3aGlsZSB0aGUgYXN5bmMgYWN0aW9uIGlzIHN0aWxsIGluIHByb2dyZXNzXG4vLyBhcmUgdHJlYXRlZCBhcyBwYXJ0IG9mIHRoZSBhY3Rpb24uXG4vL1xuLy8gVGhlIGlkZWFsIGJlaGF2aW9yIHdvdWxkIGJlIHRvIHRyZWF0IGVhY2ggYXN5bmMgZnVuY3Rpb24gYXMgYW4gaW5kZXBlbmRlbnRcbi8vIGFjdGlvbi4gSG93ZXZlciwgd2l0aG91dCBhIG1lY2hhbmlzbSBsaWtlIEFzeW5jQ29udGV4dCwgd2UgY2FuJ3QgdGVsbCB3aGljaFxuLy8gYWN0aW9uIGFuIHVwZGF0ZSBjb3JyZXNwb25kcyB0by4gU28gaW5zdGVhZCwgd2UgZW50YW5nbGUgdGhlbSBhbGwgaW50byBvbmUuXG4vLyBUaGUgbGlzdGVuZXJzIHRvIG5vdGlmeSBvbmNlIHRoZSBlbnRhbmdsZWQgc2NvcGUgY29tcGxldGVzLlxuXG52YXIgY3VycmVudEVudGFuZ2xlZExpc3RlbmVycyA9IG51bGw7IC8vIFRoZSBudW1iZXIgb2YgcGVuZGluZyBhc3luYyBhY3Rpb25zIGluIHRoZSBlbnRhbmdsZWQgc2NvcGUuXG5cbnZhciBjdXJyZW50RW50YW5nbGVkUGVuZGluZ0NvdW50ID0gMDsgLy8gVGhlIHRyYW5zaXRpb24gbGFuZSBzaGFyZWQgYnkgYWxsIHVwZGF0ZXMgaW4gdGhlIGVudGFuZ2xlZCBzY29wZS5cblxudmFyIGN1cnJlbnRFbnRhbmdsZWRMYW5lID0gTm9MYW5lOyAvLyBBIHRoZW5hYmxlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZW50YW5nbGVkIHNjb3BlIGNvbXBsZXRlcy4gSXQgZG9lcyBub3Rcbi8vIHJlc29sdmUgdG8gYSBwYXJ0aWN1bGFyIHZhbHVlIGJlY2F1c2UgaXQncyBvbmx5IHVzZWQgZm9yIHN1c3BlbmRpbmcgdGhlIFVJXG4vLyB1bnRpbCB0aGUgYXN5bmMgYWN0aW9uIHNjb3BlIGhhcyBjb21wbGV0ZWQuXG5cbnZhciBjdXJyZW50RW50YW5nbGVkQWN0aW9uVGhlbmFibGUgPSBudWxsO1xuZnVuY3Rpb24gZW50YW5nbGVBc3luY0FjdGlvbih0cmFuc2l0aW9uLCB0aGVuYWJsZSkge1xuICAvLyBgdGhlbmFibGVgIGlzIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGFzeW5jIGFjdGlvbiBzY29wZSBmdW5jdGlvbi4gQ3JlYXRlXG4gIC8vIGEgY29tYmluZWQgdGhlbmFibGUgdGhhdCByZXNvbHZlcyBvbmNlIGV2ZXJ5IGVudGFuZ2xlZCBzY29wZSBmdW5jdGlvblxuICAvLyBoYXMgZmluaXNoZWQuXG4gIGlmIChjdXJyZW50RW50YW5nbGVkTGlzdGVuZXJzID09PSBudWxsKSB7XG4gICAgLy8gVGhlcmUncyBubyBvdXRlciBhc3luYyBhY3Rpb24gc2NvcGUuIENyZWF0ZSBhIG5ldyBvbmUuXG4gICAgdmFyIGVudGFuZ2xlZExpc3RlbmVycyA9IGN1cnJlbnRFbnRhbmdsZWRMaXN0ZW5lcnMgPSBbXTtcbiAgICBjdXJyZW50RW50YW5nbGVkUGVuZGluZ0NvdW50ID0gMDtcbiAgICBjdXJyZW50RW50YW5nbGVkTGFuZSA9IHJlcXVlc3RUcmFuc2l0aW9uTGFuZSgpO1xuICAgIHZhciBlbnRhbmdsZWRUaGVuYWJsZSA9IHtcbiAgICAgIHN0YXR1czogJ3BlbmRpbmcnLFxuICAgICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICAgIHRoZW46IGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgIGVudGFuZ2xlZExpc3RlbmVycy5wdXNoKHJlc29sdmUpO1xuICAgICAgfVxuICAgIH07XG4gICAgY3VycmVudEVudGFuZ2xlZEFjdGlvblRoZW5hYmxlID0gZW50YW5nbGVkVGhlbmFibGU7XG4gIH1cblxuICBjdXJyZW50RW50YW5nbGVkUGVuZGluZ0NvdW50Kys7XG4gIHRoZW5hYmxlLnRoZW4ocGluZ0VuZ3RhbmdsZWRBY3Rpb25TY29wZSwgcGluZ0VuZ3RhbmdsZWRBY3Rpb25TY29wZSk7XG4gIHJldHVybiB0aGVuYWJsZTtcbn1cblxuZnVuY3Rpb24gcGluZ0VuZ3RhbmdsZWRBY3Rpb25TY29wZSgpIHtcbiAgaWYgKGN1cnJlbnRFbnRhbmdsZWRMaXN0ZW5lcnMgIT09IG51bGwgJiYgLS1jdXJyZW50RW50YW5nbGVkUGVuZGluZ0NvdW50ID09PSAwKSB7XG4gICAgLy8gQWxsIHRoZSBhY3Rpb25zIGhhdmUgZmluaXNoZWQuIENsb3NlIHRoZSBlbnRhbmdsZWQgYXN5bmMgYWN0aW9uIHNjb3BlXG4gICAgLy8gYW5kIG5vdGlmeSBhbGwgdGhlIGxpc3RlbmVycy5cbiAgICBpZiAoY3VycmVudEVudGFuZ2xlZEFjdGlvblRoZW5hYmxlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZnVsZmlsbGVkVGhlbmFibGUgPSBjdXJyZW50RW50YW5nbGVkQWN0aW9uVGhlbmFibGU7XG4gICAgICBmdWxmaWxsZWRUaGVuYWJsZS5zdGF0dXMgPSAnZnVsZmlsbGVkJztcbiAgICB9XG5cbiAgICB2YXIgbGlzdGVuZXJzID0gY3VycmVudEVudGFuZ2xlZExpc3RlbmVycztcbiAgICBjdXJyZW50RW50YW5nbGVkTGlzdGVuZXJzID0gbnVsbDtcbiAgICBjdXJyZW50RW50YW5nbGVkTGFuZSA9IE5vTGFuZTtcbiAgICBjdXJyZW50RW50YW5nbGVkQWN0aW9uVGhlbmFibGUgPSBudWxsO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0ZW5lcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBsaXN0ZW5lciA9IGxpc3RlbmVyc1tpXTtcbiAgICAgIGxpc3RlbmVyKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoYWluVGhlbmFibGVWYWx1ZSh0aGVuYWJsZSwgcmVzdWx0KSB7XG4gIC8vIEVxdWl2YWxlbnQgdG86IFByb21pc2UucmVzb2x2ZSh0aGVuYWJsZSkudGhlbigoKSA9PiByZXN1bHQpLCBleGNlcHQgd2UgY2FuXG4gIC8vIGNoZWF0IGEgYml0IHNpbmNlIHdlIGtub3cgdGhhdCB0aGF0IHRoaXMgdGhlbmFibGUgaXMgb25seSBldmVyIGNvbnN1bWVkXG4gIC8vIGJ5IFJlYWN0LlxuICAvL1xuICAvLyBXZSBkb24ndCB0ZWNobmljYWxseSByZXF1aXJlIHByb21pc2Ugc3VwcG9ydCBvbiB0aGUgY2xpZW50IHlldCwgaGVuY2UgdGhpc1xuICAvLyBleHRyYSBjb2RlLlxuICB2YXIgbGlzdGVuZXJzID0gW107XG4gIHZhciB0aGVuYWJsZVdpdGhPdmVycmlkZSA9IHtcbiAgICBzdGF0dXM6ICdwZW5kaW5nJyxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICByZWFzb246IG51bGwsXG4gICAgdGhlbjogZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgIGxpc3RlbmVycy5wdXNoKHJlc29sdmUpO1xuICAgIH1cbiAgfTtcbiAgdGhlbmFibGUudGhlbihmdW5jdGlvbiAodmFsdWUpIHtcbiAgICB2YXIgZnVsZmlsbGVkVGhlbmFibGUgPSB0aGVuYWJsZVdpdGhPdmVycmlkZTtcbiAgICBmdWxmaWxsZWRUaGVuYWJsZS5zdGF0dXMgPSAnZnVsZmlsbGVkJztcbiAgICBmdWxmaWxsZWRUaGVuYWJsZS52YWx1ZSA9IHJlc3VsdDtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdGVuZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgbGlzdGVuZXIgPSBsaXN0ZW5lcnNbaV07XG4gICAgICBsaXN0ZW5lcihyZXN1bHQpO1xuICAgIH1cbiAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgdmFyIHJlamVjdGVkVGhlbmFibGUgPSB0aGVuYWJsZVdpdGhPdmVycmlkZTtcbiAgICByZWplY3RlZFRoZW5hYmxlLnN0YXR1cyA9ICdyZWplY3RlZCc7XG4gICAgcmVqZWN0ZWRUaGVuYWJsZS5yZWFzb24gPSBlcnJvcjtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdGVuZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgbGlzdGVuZXIgPSBsaXN0ZW5lcnNbaV07IC8vIFRoaXMgaXMgYSBwZXJmIGhhY2sgd2hlcmUgd2UgY2FsbCB0aGUgYG9uRnVsZmlsbGAgcGluZyBmdW5jdGlvblxuICAgICAgLy8gaW5zdGVhZCBvZiBgb25SZWplY3RgLCBiZWNhdXNlIHdlIGtub3cgdGhhdCBSZWFjdCBpcyB0aGUgb25seVxuICAgICAgLy8gY29uc3VtZXIgb2YgdGhlc2UgcHJvbWlzZXMsIGFuZCBpdCBwYXNzZXMgdGhlIHNhbWUgbGlzdGVuZXIgdG8gYm90aC5cbiAgICAgIC8vIFdlIGFsc28ga25vdyB0aGF0IGl0IHdpbGwgcmVhZCB0aGUgZXJyb3IgZGlyZWN0bHkgb2ZmIHRoZVxuICAgICAgLy8gYC5yZWFzb25gIGZpZWxkLlxuXG4gICAgICBsaXN0ZW5lcih1bmRlZmluZWQpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB0aGVuYWJsZVdpdGhPdmVycmlkZTtcbn1cbmZ1bmN0aW9uIHBlZWtFbnRhbmdsZWRBY3Rpb25MYW5lKCkge1xuICByZXR1cm4gY3VycmVudEVudGFuZ2xlZExhbmU7XG59XG5mdW5jdGlvbiBwZWVrRW50YW5nbGVkQWN0aW9uVGhlbmFibGUoKSB7XG4gIHJldHVybiBjdXJyZW50RW50YW5nbGVkQWN0aW9uVGhlbmFibGU7XG59XG5cbnZhciBVcGRhdGVTdGF0ZSA9IDA7XG52YXIgUmVwbGFjZVN0YXRlID0gMTtcbnZhciBGb3JjZVVwZGF0ZSA9IDI7XG52YXIgQ2FwdHVyZVVwZGF0ZSA9IDM7IC8vIEdsb2JhbCBzdGF0ZSB0aGF0IGlzIHJlc2V0IGF0IHRoZSBiZWdpbm5pbmcgb2YgY2FsbGluZyBgcHJvY2Vzc1VwZGF0ZVF1ZXVlYC5cbi8vIEl0IHNob3VsZCBvbmx5IGJlIHJlYWQgcmlnaHQgYWZ0ZXIgY2FsbGluZyBgcHJvY2Vzc1VwZGF0ZVF1ZXVlYCwgdmlhXG4vLyBgY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZ2AuXG5cbnZhciBoYXNGb3JjZVVwZGF0ZSA9IGZhbHNlO1xudmFyIGRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGU7XG52YXIgY3VycmVudGx5UHJvY2Vzc2luZ1F1ZXVlO1xuXG57XG4gIGRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUgPSBmYWxzZTtcbiAgY3VycmVudGx5UHJvY2Vzc2luZ1F1ZXVlID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gaW5pdGlhbGl6ZVVwZGF0ZVF1ZXVlKGZpYmVyKSB7XG4gIHZhciBxdWV1ZSA9IHtcbiAgICBiYXNlU3RhdGU6IGZpYmVyLm1lbW9pemVkU3RhdGUsXG4gICAgZmlyc3RCYXNlVXBkYXRlOiBudWxsLFxuICAgIGxhc3RCYXNlVXBkYXRlOiBudWxsLFxuICAgIHNoYXJlZDoge1xuICAgICAgcGVuZGluZzogbnVsbCxcbiAgICAgIGxhbmVzOiBOb0xhbmVzLFxuICAgICAgaGlkZGVuQ2FsbGJhY2tzOiBudWxsXG4gICAgfSxcbiAgICBjYWxsYmFja3M6IG51bGxcbiAgfTtcbiAgZmliZXIudXBkYXRlUXVldWUgPSBxdWV1ZTtcbn1cbmZ1bmN0aW9uIGNsb25lVXBkYXRlUXVldWUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgLy8gQ2xvbmUgdGhlIHVwZGF0ZSBxdWV1ZSBmcm9tIGN1cnJlbnQuIFVubGVzcyBpdCdzIGFscmVhZHkgYSBjbG9uZS5cbiAgdmFyIHF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7XG4gIHZhciBjdXJyZW50UXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlO1xuXG4gIGlmIChxdWV1ZSA9PT0gY3VycmVudFF1ZXVlKSB7XG4gICAgdmFyIGNsb25lID0ge1xuICAgICAgYmFzZVN0YXRlOiBjdXJyZW50UXVldWUuYmFzZVN0YXRlLFxuICAgICAgZmlyc3RCYXNlVXBkYXRlOiBjdXJyZW50UXVldWUuZmlyc3RCYXNlVXBkYXRlLFxuICAgICAgbGFzdEJhc2VVcGRhdGU6IGN1cnJlbnRRdWV1ZS5sYXN0QmFzZVVwZGF0ZSxcbiAgICAgIHNoYXJlZDogY3VycmVudFF1ZXVlLnNoYXJlZCxcbiAgICAgIGNhbGxiYWNrczogbnVsbFxuICAgIH07XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjbG9uZTtcbiAgfVxufVxuZnVuY3Rpb24gY3JlYXRlVXBkYXRlKGxhbmUpIHtcbiAgdmFyIHVwZGF0ZSA9IHtcbiAgICBsYW5lOiBsYW5lLFxuICAgIHRhZzogVXBkYXRlU3RhdGUsXG4gICAgcGF5bG9hZDogbnVsbCxcbiAgICBjYWxsYmFjazogbnVsbCxcbiAgICBuZXh0OiBudWxsXG4gIH07XG4gIHJldHVybiB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmliZXIudXBkYXRlUXVldWU7XG5cbiAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSB7XG4gICAgLy8gT25seSBvY2N1cnMgaWYgdGhlIGZpYmVyIGhhcyBiZWVuIHVubW91bnRlZC5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBzaGFyZWRRdWV1ZSA9IHVwZGF0ZVF1ZXVlLnNoYXJlZDtcblxuICB7XG4gICAgaWYgKGN1cnJlbnRseVByb2Nlc3NpbmdRdWV1ZSA9PT0gc2hhcmVkUXVldWUgJiYgIWRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcik7XG5cbiAgICAgIGVycm9yKCdBbiB1cGRhdGUgKHNldFN0YXRlLCByZXBsYWNlU3RhdGUsIG9yIGZvcmNlVXBkYXRlKSB3YXMgc2NoZWR1bGVkICcgKyAnZnJvbSBpbnNpZGUgYW4gdXBkYXRlIGZ1bmN0aW9uLiBVcGRhdGUgZnVuY3Rpb25zIHNob3VsZCBiZSBwdXJlLCAnICsgJ3dpdGggemVybyBzaWRlLWVmZmVjdHMuIENvbnNpZGVyIHVzaW5nIGNvbXBvbmVudERpZFVwZGF0ZSBvciBhICcgKyAnY2FsbGJhY2suXFxuXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudDogJXMnLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGlzVW5zYWZlQ2xhc3NSZW5kZXJQaGFzZVVwZGF0ZSgpKSB7XG4gICAgLy8gVGhpcyBpcyBhbiB1bnNhZmUgcmVuZGVyIHBoYXNlIHVwZGF0ZS4gQWRkIGRpcmVjdGx5IHRvIHRoZSB1cGRhdGVcbiAgICAvLyBxdWV1ZSBzbyB3ZSBjYW4gcHJvY2VzcyBpdCBpbW1lZGlhdGVseSBkdXJpbmcgdGhlIGN1cnJlbnQgcmVuZGVyLlxuICAgIHZhciBwZW5kaW5nID0gc2hhcmVkUXVldWUucGVuZGluZztcblxuICAgIGlmIChwZW5kaW5nID09PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCB1cGRhdGUuIENyZWF0ZSBhIGNpcmN1bGFyIGxpc3QuXG4gICAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXBkYXRlLm5leHQgPSBwZW5kaW5nLm5leHQ7XG4gICAgICBwZW5kaW5nLm5leHQgPSB1cGRhdGU7XG4gICAgfVxuXG4gICAgc2hhcmVkUXVldWUucGVuZGluZyA9IHVwZGF0ZTsgLy8gVXBkYXRlIHRoZSBjaGlsZExhbmVzIGV2ZW4gdGhvdWdoIHdlJ3JlIG1vc3QgbGlrZWx5IGFscmVhZHkgcmVuZGVyaW5nXG4gICAgLy8gdGhpcyBmaWJlci4gVGhpcyBpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaW4gdGhlIGNhc2Ugd2hlcmUgeW91XG4gICAgLy8gdXBkYXRlIGEgZGlmZmVyZW50IGNvbXBvbmVudCBkdXJpbmcgcmVuZGVyIHBoYXNlIHRoYW4gdGhlIG9uZSB0aGF0IGlzXG4gICAgLy8gY3VycmVudGx5IHJlbmRlcmluZ3MgKGEgcGF0dGVybiB0aGF0IGlzIGFjY29tcGFuaWVkIGJ5IGEgd2FybmluZykuXG5cbiAgICByZXR1cm4gdW5zYWZlX21hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBsYW5lKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZW5xdWV1ZUNvbmN1cnJlbnRDbGFzc1VwZGF0ZShmaWJlciwgc2hhcmVkUXVldWUsIHVwZGF0ZSwgbGFuZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGVudGFuZ2xlVHJhbnNpdGlvbnMocm9vdCwgZmliZXIsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmliZXIudXBkYXRlUXVldWU7XG5cbiAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSB7XG4gICAgLy8gT25seSBvY2N1cnMgaWYgdGhlIGZpYmVyIGhhcyBiZWVuIHVubW91bnRlZC5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc2hhcmVkUXVldWUgPSB1cGRhdGVRdWV1ZS5zaGFyZWQ7XG5cbiAgaWYgKGlzVHJhbnNpdGlvbkxhbmUobGFuZSkpIHtcbiAgICB2YXIgcXVldWVMYW5lcyA9IHNoYXJlZFF1ZXVlLmxhbmVzOyAvLyBJZiBhbnkgZW50YW5nbGVkIGxhbmVzIGFyZSBubyBsb25nZXIgcGVuZGluZyBvbiB0aGUgcm9vdCwgdGhlbiB0aGV5IG11c3RcbiAgICAvLyBoYXZlIGZpbmlzaGVkLiBXZSBjYW4gcmVtb3ZlIHRoZW0gZnJvbSB0aGUgc2hhcmVkIHF1ZXVlLCB3aGljaCByZXByZXNlbnRzXG4gICAgLy8gYSBzdXBlcnNldCBvZiB0aGUgYWN0dWFsbHkgcGVuZGluZyBsYW5lcy4gSW4gc29tZSBjYXNlcyB3ZSBtYXkgZW50YW5nbGVcbiAgICAvLyBtb3JlIHRoYW4gd2UgbmVlZCB0bywgYnV0IHRoYXQncyBPSy4gSW4gZmFjdCBpdCdzIHdvcnNlIGlmIHdlICpkb24ndCpcbiAgICAvLyBlbnRhbmdsZSB3aGVuIHdlIHNob3VsZC5cblxuICAgIHF1ZXVlTGFuZXMgPSBpbnRlcnNlY3RMYW5lcyhxdWV1ZUxhbmVzLCByb290LnBlbmRpbmdMYW5lcyk7IC8vIEVudGFuZ2xlIHRoZSBuZXcgdHJhbnNpdGlvbiBsYW5lIHdpdGggdGhlIG90aGVyIHRyYW5zaXRpb24gbGFuZXMuXG5cbiAgICB2YXIgbmV3UXVldWVMYW5lcyA9IG1lcmdlTGFuZXMocXVldWVMYW5lcywgbGFuZSk7XG4gICAgc2hhcmVkUXVldWUubGFuZXMgPSBuZXdRdWV1ZUxhbmVzOyAvLyBFdmVuIGlmIHF1ZXVlLmxhbmVzIGFscmVhZHkgaW5jbHVkZSBsYW5lLCB3ZSBkb24ndCBrbm93IGZvciBjZXJ0YWluIGlmXG4gICAgLy8gdGhlIGxhbmUgZmluaXNoZWQgc2luY2UgdGhlIGxhc3QgdGltZSB3ZSBlbnRhbmdsZWQgaXQuIFNvIHdlIG5lZWQgdG9cbiAgICAvLyBlbnRhbmdsZSBpdCBhZ2FpbiwganVzdCB0byBiZSBzdXJlLlxuXG4gICAgbWFya1Jvb3RFbnRhbmdsZWQocm9vdCwgbmV3UXVldWVMYW5lcyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY2FwdHVyZWRVcGRhdGUpIHtcbiAgLy8gQ2FwdHVyZWQgdXBkYXRlcyBhcmUgdXBkYXRlcyB0aGF0IGFyZSB0aHJvd24gYnkgYSBjaGlsZCBkdXJpbmcgdGhlIHJlbmRlclxuICAvLyBwaGFzZS4gVGhleSBzaG91bGQgYmUgZGlzY2FyZGVkIGlmIHRoZSByZW5kZXIgaXMgYWJvcnRlZC4gVGhlcmVmb3JlLFxuICAvLyB3ZSBzaG91bGQgb25seSBwdXQgdGhlbSBvbiB0aGUgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSwgbm90IHRoZSBjdXJyZW50IG9uZS5cbiAgdmFyIHF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7IC8vIENoZWNrIGlmIHRoZSB3b3JrLWluLXByb2dyZXNzIHF1ZXVlIGlzIGEgY2xvbmUuXG5cbiAgdmFyIGN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGU7XG5cbiAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICB2YXIgY3VycmVudFF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcblxuICAgIGlmIChxdWV1ZSA9PT0gY3VycmVudFF1ZXVlKSB7XG4gICAgICAvLyBUaGUgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSBpcyB0aGUgc2FtZSBhcyBjdXJyZW50LiBUaGlzIGhhcHBlbnMgd2hlblxuICAgICAgLy8gd2UgYmFpbCBvdXQgb24gYSBwYXJlbnQgZmliZXIgdGhhdCB0aGVuIGNhcHR1cmVzIGFuIGVycm9yIHRocm93biBieVxuICAgICAgLy8gYSBjaGlsZC4gU2luY2Ugd2Ugd2FudCB0byBhcHBlbmQgdGhlIHVwZGF0ZSBvbmx5IHRvIHRoZSB3b3JrLWluXG4gICAgICAvLyAtcHJvZ3Jlc3MgcXVldWUsIHdlIG5lZWQgdG8gY2xvbmUgdGhlIHVwZGF0ZXMuIFdlIHVzdWFsbHkgY2xvbmUgZHVyaW5nXG4gICAgICAvLyBwcm9jZXNzVXBkYXRlUXVldWUsIGJ1dCB0aGF0IGRpZG4ndCBoYXBwZW4gaW4gdGhpcyBjYXNlIGJlY2F1c2Ugd2VcbiAgICAgIC8vIHNraXBwZWQgb3ZlciB0aGUgcGFyZW50IHdoZW4gd2UgYmFpbGVkIG91dC5cbiAgICAgIHZhciBuZXdGaXJzdCA9IG51bGw7XG4gICAgICB2YXIgbmV3TGFzdCA9IG51bGw7XG4gICAgICB2YXIgZmlyc3RCYXNlVXBkYXRlID0gcXVldWUuZmlyc3RCYXNlVXBkYXRlO1xuXG4gICAgICBpZiAoZmlyc3RCYXNlVXBkYXRlICE9PSBudWxsKSB7XG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgdXBkYXRlcyBhbmQgY2xvbmUgdGhlbS5cbiAgICAgICAgdmFyIHVwZGF0ZSA9IGZpcnN0QmFzZVVwZGF0ZTtcblxuICAgICAgICBkbyB7XG4gICAgICAgICAgdmFyIGNsb25lID0ge1xuICAgICAgICAgICAgbGFuZTogdXBkYXRlLmxhbmUsXG4gICAgICAgICAgICB0YWc6IHVwZGF0ZS50YWcsXG4gICAgICAgICAgICBwYXlsb2FkOiB1cGRhdGUucGF5bG9hZCxcbiAgICAgICAgICAgIC8vIFdoZW4gdGhpcyB1cGRhdGUgaXMgcmViYXNlZCwgd2Ugc2hvdWxkIG5vdCBmaXJlIGl0c1xuICAgICAgICAgICAgLy8gY2FsbGJhY2sgYWdhaW4uXG4gICAgICAgICAgICBjYWxsYmFjazogbnVsbCxcbiAgICAgICAgICAgIG5leHQ6IG51bGxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKG5ld0xhc3QgPT09IG51bGwpIHtcbiAgICAgICAgICAgIG5ld0ZpcnN0ID0gbmV3TGFzdCA9IGNsb25lO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdMYXN0Lm5leHQgPSBjbG9uZTtcbiAgICAgICAgICAgIG5ld0xhc3QgPSBjbG9uZTtcbiAgICAgICAgICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIHdlIGJhaWwgb3V0IHdoZW4gd2UgZ2V0IGEgbnVsbFxuXG5cbiAgICAgICAgICB1cGRhdGUgPSB1cGRhdGUubmV4dDtcbiAgICAgICAgfSB3aGlsZSAodXBkYXRlICE9PSBudWxsKTsgLy8gQXBwZW5kIHRoZSBjYXB0dXJlZCB1cGRhdGUgdGhlIGVuZCBvZiB0aGUgY2xvbmVkIGxpc3QuXG5cblxuICAgICAgICBpZiAobmV3TGFzdCA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld0ZpcnN0ID0gbmV3TGFzdCA9IGNhcHR1cmVkVXBkYXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0xhc3QubmV4dCA9IGNhcHR1cmVkVXBkYXRlO1xuICAgICAgICAgIG5ld0xhc3QgPSBjYXB0dXJlZFVwZGF0ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlcmUgYXJlIG5vIGJhc2UgdXBkYXRlcy5cbiAgICAgICAgbmV3Rmlyc3QgPSBuZXdMYXN0ID0gY2FwdHVyZWRVcGRhdGU7XG4gICAgICB9XG5cbiAgICAgIHF1ZXVlID0ge1xuICAgICAgICBiYXNlU3RhdGU6IGN1cnJlbnRRdWV1ZS5iYXNlU3RhdGUsXG4gICAgICAgIGZpcnN0QmFzZVVwZGF0ZTogbmV3Rmlyc3QsXG4gICAgICAgIGxhc3RCYXNlVXBkYXRlOiBuZXdMYXN0LFxuICAgICAgICBzaGFyZWQ6IGN1cnJlbnRRdWV1ZS5zaGFyZWQsXG4gICAgICAgIGNhbGxiYWNrczogY3VycmVudFF1ZXVlLmNhbGxiYWNrc1xuICAgICAgfTtcbiAgICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gcXVldWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9IC8vIEFwcGVuZCB0aGUgdXBkYXRlIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXG5cblxuICB2YXIgbGFzdEJhc2VVcGRhdGUgPSBxdWV1ZS5sYXN0QmFzZVVwZGF0ZTtcblxuICBpZiAobGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICBxdWV1ZS5maXJzdEJhc2VVcGRhdGUgPSBjYXB0dXJlZFVwZGF0ZTtcbiAgfSBlbHNlIHtcbiAgICBsYXN0QmFzZVVwZGF0ZS5uZXh0ID0gY2FwdHVyZWRVcGRhdGU7XG4gIH1cblxuICBxdWV1ZS5sYXN0QmFzZVVwZGF0ZSA9IGNhcHR1cmVkVXBkYXRlO1xufVxuXG5mdW5jdGlvbiBnZXRTdGF0ZUZyb21VcGRhdGUod29ya0luUHJvZ3Jlc3MsIHF1ZXVlLCB1cGRhdGUsIHByZXZTdGF0ZSwgbmV4dFByb3BzLCBpbnN0YW5jZSkge1xuICBzd2l0Y2ggKHVwZGF0ZS50YWcpIHtcbiAgICBjYXNlIFJlcGxhY2VTdGF0ZTpcbiAgICAgIHtcbiAgICAgICAgdmFyIHBheWxvYWQgPSB1cGRhdGUucGF5bG9hZDtcblxuICAgICAgICBpZiAodHlwZW9mIHBheWxvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAvLyBVcGRhdGVyIGZ1bmN0aW9uXG4gICAgICAgICAge1xuICAgICAgICAgICAgZW50ZXJEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBuZXh0U3RhdGUgPSBwYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHBheWxvYWQuY2FsbChpbnN0YW5jZSwgcHJldlN0YXRlLCBuZXh0UHJvcHMpO1xuICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBleGl0RGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbmV4dFN0YXRlO1xuICAgICAgICB9IC8vIFN0YXRlIG9iamVjdFxuXG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgICB9XG5cbiAgICBjYXNlIENhcHR1cmVVcGRhdGU6XG4gICAgICB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzID0gd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiB+U2hvdWxkQ2FwdHVyZSB8IERpZENhcHR1cmU7XG4gICAgICB9XG4gICAgLy8gSW50ZW50aW9uYWwgZmFsbHRocm91Z2hcblxuICAgIGNhc2UgVXBkYXRlU3RhdGU6XG4gICAgICB7XG4gICAgICAgIHZhciBfcGF5bG9hZCA9IHVwZGF0ZS5wYXlsb2FkO1xuICAgICAgICB2YXIgcGFydGlhbFN0YXRlO1xuXG4gICAgICAgIGlmICh0eXBlb2YgX3BheWxvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAvLyBVcGRhdGVyIGZ1bmN0aW9uXG4gICAgICAgICAge1xuICAgICAgICAgICAgZW50ZXJEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHBhcnRpYWxTdGF0ZSA9IF9wYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIF9wYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcbiAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFBhcnRpYWwgc3RhdGUgb2JqZWN0XG4gICAgICAgICAgcGFydGlhbFN0YXRlID0gX3BheWxvYWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFydGlhbFN0YXRlID09PSBudWxsIHx8IHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gTnVsbCBhbmQgdW5kZWZpbmVkIGFyZSB0cmVhdGVkIGFzIG5vLW9wcy5cbiAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICB9IC8vIE1lcmdlIHRoZSBwYXJ0aWFsIHN0YXRlIGFuZCB0aGUgcHJldmlvdXMgc3RhdGUuXG5cblxuICAgICAgICByZXR1cm4gYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XG4gICAgICB9XG5cbiAgICBjYXNlIEZvcmNlVXBkYXRlOlxuICAgICAge1xuICAgICAgICBoYXNGb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBwcmV2U3RhdGU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gcHJldlN0YXRlO1xufVxuXG52YXIgZGlkUmVhZEZyb21FbnRhbmdsZWRBc3luY0FjdGlvbiA9IGZhbHNlOyAvLyBFYWNoIGNhbGwgdG8gcHJvY2Vzc1VwZGF0ZVF1ZXVlIHNob3VsZCBiZSBhY2NvbXBhbmllZCBieSBhIGNhbGwgdG8gdGhpcy4gSXQnc1xuLy8gb25seSBpbiBhIHNlcGFyYXRlIGZ1bmN0aW9uIGJlY2F1c2UgaW4gdXBkYXRlSG9zdFJvb3QsIGl0IG11c3QgaGFwcGVuIGFmdGVyXG4vLyBhbGwgdGhlIGNvbnRleHQgc3RhY2tzIGhhdmUgYmVlbiBwdXNoZWQgdG8sIHRvIHByZXZlbnQgYSBzdGFjayBtaXNtYXRjaC4gQVxuLy8gYml0IHVuZm9ydHVuYXRlLlxuXG5mdW5jdGlvbiBzdXNwZW5kSWZVcGRhdGVSZWFkRnJvbUVudGFuZ2xlZEFzeW5jQWN0aW9uKCkge1xuICAvLyBDaGVjayBpZiB0aGlzIHVwZGF0ZSBpcyBwYXJ0IG9mIGEgcGVuZGluZyBhc3luYyBhY3Rpb24uIElmIHNvLCB3ZSdsbFxuICAvLyBuZWVkIHRvIHN1c3BlbmQgdW50aWwgdGhlIGFjdGlvbiBoYXMgZmluaXNoZWQsIHNvIHRoYXQgaXQncyBiYXRjaGVkXG4gIC8vIHRvZ2V0aGVyIHdpdGggZnV0dXJlIHVwZGF0ZXMgaW4gdGhlIHNhbWUgYWN0aW9uLlxuICAvLyBUT0RPOiBPbmNlIHdlIHN1cHBvcnQgaG9va3MgaW5zaWRlIHVzZU1lbW8gKG9yIGFuIGVxdWl2YWxlbnRcbiAgLy8gbWVtb2l6YXRpb24gYm91bmRhcnkgbGlrZSBGb3JnZXQpLCBob2lzdCB0aGlzIGxvZ2ljIHNvIHRoYXQgaXQgb25seVxuICAvLyBzdXNwZW5kcyBpZiB0aGUgbWVtbyBib3VuZGFyeSBwcm9kdWNlcyBhIG5ldyB2YWx1ZS5cbiAgaWYgKGRpZFJlYWRGcm9tRW50YW5nbGVkQXN5bmNBY3Rpb24pIHtcbiAgICB2YXIgZW50YW5nbGVkQWN0aW9uVGhlbmFibGUgPSBwZWVrRW50YW5nbGVkQWN0aW9uVGhlbmFibGUoKTtcblxuICAgIGlmIChlbnRhbmdsZWRBY3Rpb25UaGVuYWJsZSAhPT0gbnVsbCkge1xuICAgICAgLy8gVE9ETzogSW5zdGVhZCBvZiB0aGUgdGhyb3dpbmcgdGhlIHRoZW5hYmxlIGRpcmVjdGx5LCB0aHJvdyBhXG4gICAgICAvLyBzcGVjaWFsIG9iamVjdCBsaWtlIGB1c2VgIGRvZXMgc28gd2UgY2FuIGRldGVjdCBpZiBpdCdzIGNhcHR1cmVkXG4gICAgICAvLyBieSB1c2Vyc3BhY2UuXG4gICAgICB0aHJvdyBlbnRhbmdsZWRBY3Rpb25UaGVuYWJsZTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgcHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcykge1xuICBkaWRSZWFkRnJvbUVudGFuZ2xlZEFzeW5jQWN0aW9uID0gZmFsc2U7IC8vIFRoaXMgaXMgYWx3YXlzIG5vbi1udWxsIG9uIGEgQ2xhc3NDb21wb25lbnQgb3IgSG9zdFJvb3RcblxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgaGFzRm9yY2VVcGRhdGUgPSBmYWxzZTtcblxuICB7XG4gICAgY3VycmVudGx5UHJvY2Vzc2luZ1F1ZXVlID0gcXVldWUuc2hhcmVkO1xuICB9XG5cbiAgdmFyIGZpcnN0QmFzZVVwZGF0ZSA9IHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZTtcbiAgdmFyIGxhc3RCYXNlVXBkYXRlID0gcXVldWUubGFzdEJhc2VVcGRhdGU7IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBwZW5kaW5nIHVwZGF0ZXMuIElmIHNvLCB0cmFuc2ZlciB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxuXG4gIHZhciBwZW5kaW5nUXVldWUgPSBxdWV1ZS5zaGFyZWQucGVuZGluZztcblxuICBpZiAocGVuZGluZ1F1ZXVlICE9PSBudWxsKSB7XG4gICAgcXVldWUuc2hhcmVkLnBlbmRpbmcgPSBudWxsOyAvLyBUaGUgcGVuZGluZyBxdWV1ZSBpcyBjaXJjdWxhci4gRGlzY29ubmVjdCB0aGUgcG9pbnRlciBiZXR3ZWVuIGZpcnN0XG4gICAgLy8gYW5kIGxhc3Qgc28gdGhhdCBpdCdzIG5vbi1jaXJjdWxhci5cblxuICAgIHZhciBsYXN0UGVuZGluZ1VwZGF0ZSA9IHBlbmRpbmdRdWV1ZTtcbiAgICB2YXIgZmlyc3RQZW5kaW5nVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGUubmV4dDtcbiAgICBsYXN0UGVuZGluZ1VwZGF0ZS5uZXh0ID0gbnVsbDsgLy8gQXBwZW5kIHBlbmRpbmcgdXBkYXRlcyB0byBiYXNlIHF1ZXVlXG5cbiAgICBpZiAobGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgIGZpcnN0QmFzZVVwZGF0ZSA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdEJhc2VVcGRhdGUubmV4dCA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9XG5cbiAgICBsYXN0QmFzZVVwZGF0ZSA9IGxhc3RQZW5kaW5nVXBkYXRlOyAvLyBJZiB0aGVyZSdzIGEgY3VycmVudCBxdWV1ZSwgYW5kIGl0J3MgZGlmZmVyZW50IGZyb20gdGhlIGJhc2UgcXVldWUsIHRoZW5cbiAgICAvLyB3ZSBuZWVkIHRvIHRyYW5zZmVyIHRoZSB1cGRhdGVzIHRvIHRoYXQgcXVldWUsIHRvby4gQmVjYXVzZSB0aGUgYmFzZVxuICAgIC8vIHF1ZXVlIGlzIGEgc2luZ2x5LWxpbmtlZCBsaXN0IHdpdGggbm8gY3ljbGVzLCB3ZSBjYW4gYXBwZW5kIHRvIGJvdGhcbiAgICAvLyBsaXN0cyBhbmQgdGFrZSBhZHZhbnRhZ2Ugb2Ygc3RydWN0dXJhbCBzaGFyaW5nLlxuICAgIC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50XG5cbiAgICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIGFsd2F5cyBub24tbnVsbCBvbiBhIENsYXNzQ29tcG9uZW50IG9yIEhvc3RSb290XG4gICAgICB2YXIgY3VycmVudFF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcbiAgICAgIHZhciBjdXJyZW50TGFzdEJhc2VVcGRhdGUgPSBjdXJyZW50UXVldWUubGFzdEJhc2VVcGRhdGU7XG5cbiAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgIT09IGxhc3RCYXNlVXBkYXRlKSB7XG4gICAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICBjdXJyZW50UXVldWUuZmlyc3RCYXNlVXBkYXRlID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFRoZXNlIHZhbHVlcyBtYXkgY2hhbmdlIGFzIHdlIHByb2Nlc3MgdGhlIHF1ZXVlLlxuXG5cbiAgaWYgKGZpcnN0QmFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCBvZiB1cGRhdGVzIHRvIGNvbXB1dGUgdGhlIHJlc3VsdC5cbiAgICB2YXIgbmV3U3RhdGUgPSBxdWV1ZS5iYXNlU3RhdGU7IC8vIFRPRE86IERvbid0IG5lZWQgdG8gYWNjdW11bGF0ZSB0aGlzLiBJbnN0ZWFkLCB3ZSBjYW4gcmVtb3ZlIHJlbmRlckxhbmVzXG4gICAgLy8gZnJvbSB0aGUgb3JpZ2luYWwgbGFuZXMuXG5cbiAgICB2YXIgbmV3TGFuZXMgPSBOb0xhbmVzO1xuICAgIHZhciBuZXdCYXNlU3RhdGUgPSBudWxsO1xuICAgIHZhciBuZXdGaXJzdEJhc2VVcGRhdGUgPSBudWxsO1xuICAgIHZhciBuZXdMYXN0QmFzZVVwZGF0ZSA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0QmFzZVVwZGF0ZTtcblxuICAgIGRvIHtcbiAgICAgIC8vIEFuIGV4dHJhIE9mZnNjcmVlbkxhbmUgYml0IGlzIGFkZGVkIHRvIHVwZGF0ZXMgdGhhdCB3ZXJlIG1hZGUgdG9cbiAgICAgIC8vIGEgaGlkZGVuIHRyZWUsIHNvIHRoYXQgd2UgY2FuIGRpc3Rpbmd1aXNoIHRoZW0gZnJvbSB1cGRhdGVzIHRoYXQgd2VyZVxuICAgICAgLy8gYWxyZWFkeSB0aGVyZSB3aGVuIHRoZSB0cmVlIHdhcyBoaWRkZW4uXG4gICAgICB2YXIgdXBkYXRlTGFuZSA9IHJlbW92ZUxhbmVzKHVwZGF0ZS5sYW5lLCBPZmZzY3JlZW5MYW5lKTtcbiAgICAgIHZhciBpc0hpZGRlblVwZGF0ZSA9IHVwZGF0ZUxhbmUgIT09IHVwZGF0ZS5sYW5lOyAvLyBDaGVjayBpZiB0aGlzIHVwZGF0ZSB3YXMgbWFkZSB3aGlsZSB0aGUgdHJlZSB3YXMgaGlkZGVuLiBJZiBzbywgdGhlblxuICAgICAgLy8gaXQncyBub3QgYSBcImJhc2VcIiB1cGRhdGUgYW5kIHdlIHNob3VsZCBkaXNyZWdhcmQgdGhlIGV4dHJhIGJhc2UgbGFuZXNcbiAgICAgIC8vIHRoYXQgd2VyZSBhZGRlZCB0byByZW5kZXJMYW5lcyB3aGVuIHdlIGVudGVyZWQgdGhlIE9mZnNjcmVlbiB0cmVlLlxuXG4gICAgICB2YXIgc2hvdWxkU2tpcFVwZGF0ZSA9IGlzSGlkZGVuVXBkYXRlID8gIWlzU3Vic2V0T2ZMYW5lcyhnZXRXb3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcygpLCB1cGRhdGVMYW5lKSA6ICFpc1N1YnNldE9mTGFuZXMocmVuZGVyTGFuZXMsIHVwZGF0ZUxhbmUpO1xuXG4gICAgICBpZiAoc2hvdWxkU2tpcFVwZGF0ZSkge1xuICAgICAgICAvLyBQcmlvcml0eSBpcyBpbnN1ZmZpY2llbnQuIFNraXAgdGhpcyB1cGRhdGUuIElmIHRoaXMgaXMgdGhlIGZpcnN0XG4gICAgICAgIC8vIHNraXBwZWQgdXBkYXRlLCB0aGUgcHJldmlvdXMgdXBkYXRlL3N0YXRlIGlzIHRoZSBuZXcgYmFzZVxuICAgICAgICAvLyB1cGRhdGUvc3RhdGUuXG4gICAgICAgIHZhciBjbG9uZSA9IHtcbiAgICAgICAgICBsYW5lOiB1cGRhdGVMYW5lLFxuICAgICAgICAgIHRhZzogdXBkYXRlLnRhZyxcbiAgICAgICAgICBwYXlsb2FkOiB1cGRhdGUucGF5bG9hZCxcbiAgICAgICAgICBjYWxsYmFjazogdXBkYXRlLmNhbGxiYWNrLFxuICAgICAgICAgIG5leHQ6IG51bGxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobmV3TGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICBuZXdGaXJzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZSA9IGNsb25lO1xuICAgICAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0xhc3RCYXNlVXBkYXRlID0gbmV3TGFzdEJhc2VVcGRhdGUubmV4dCA9IGNsb25lO1xuICAgICAgICB9IC8vIFVwZGF0ZSB0aGUgcmVtYWluaW5nIHByaW9yaXR5IGluIHRoZSBxdWV1ZS5cblxuXG4gICAgICAgIG5ld0xhbmVzID0gbWVyZ2VMYW5lcyhuZXdMYW5lcywgdXBkYXRlTGFuZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIHVwZGF0ZSBkb2VzIGhhdmUgc3VmZmljaWVudCBwcmlvcml0eS5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyB1cGRhdGUgaXMgcGFydCBvZiBhIHBlbmRpbmcgYXN5bmMgYWN0aW9uLiBJZiBzbyxcbiAgICAgICAgLy8gd2UnbGwgbmVlZCB0byBzdXNwZW5kIHVudGlsIHRoZSBhY3Rpb24gaGFzIGZpbmlzaGVkLCBzbyB0aGF0IGl0J3NcbiAgICAgICAgLy8gYmF0Y2hlZCB0b2dldGhlciB3aXRoIGZ1dHVyZSB1cGRhdGVzIGluIHRoZSBzYW1lIGFjdGlvbi5cbiAgICAgICAgaWYgKHVwZGF0ZUxhbmUgIT09IE5vTGFuZSAmJiB1cGRhdGVMYW5lID09PSBwZWVrRW50YW5nbGVkQWN0aW9uTGFuZSgpKSB7XG4gICAgICAgICAgZGlkUmVhZEZyb21FbnRhbmdsZWRBc3luY0FjdGlvbiA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3TGFzdEJhc2VVcGRhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgLy8gVGhpcyB1cGRhdGUgaXMgZ29pbmcgdG8gYmUgY29tbWl0dGVkIHNvIHdlIG5ldmVyIHdhbnQgdW5jb21taXRcbiAgICAgICAgICAgIC8vIGl0LiBVc2luZyBOb0xhbmUgd29ya3MgYmVjYXVzZSAwIGlzIGEgc3Vic2V0IG9mIGFsbCBiaXRtYXNrcywgc29cbiAgICAgICAgICAgIC8vIHRoaXMgd2lsbCBuZXZlciBiZSBza2lwcGVkIGJ5IHRoZSBjaGVjayBhYm92ZS5cbiAgICAgICAgICAgIGxhbmU6IE5vTGFuZSxcbiAgICAgICAgICAgIHRhZzogdXBkYXRlLnRhZyxcbiAgICAgICAgICAgIHBheWxvYWQ6IHVwZGF0ZS5wYXlsb2FkLFxuICAgICAgICAgICAgLy8gV2hlbiB0aGlzIHVwZGF0ZSBpcyByZWJhc2VkLCB3ZSBzaG91bGQgbm90IGZpcmUgaXRzXG4gICAgICAgICAgICAvLyBjYWxsYmFjayBhZ2Fpbi5cbiAgICAgICAgICAgIGNhbGxiYWNrOiBudWxsLFxuICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgICAgbmV3TGFzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cblxuICAgICAgICBuZXdTdGF0ZSA9IGdldFN0YXRlRnJvbVVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgcXVldWUsIHVwZGF0ZSwgbmV3U3RhdGUsIHByb3BzLCBpbnN0YW5jZSk7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHVwZGF0ZS5jYWxsYmFjaztcblxuICAgICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBDYWxsYmFjaztcblxuICAgICAgICAgIGlmIChpc0hpZGRlblVwZGF0ZSkge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgY2FsbGJhY2tzID0gcXVldWUuY2FsbGJhY2tzO1xuXG4gICAgICAgICAgaWYgKGNhbGxiYWNrcyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcXVldWUuY2FsbGJhY2tzID0gW2NhbGxiYWNrXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXSB3ZSBiYWlsIG91dCB3aGVuIHdlIGdldCBhIG51bGxcblxuXG4gICAgICB1cGRhdGUgPSB1cGRhdGUubmV4dDtcblxuICAgICAgaWYgKHVwZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICBwZW5kaW5nUXVldWUgPSBxdWV1ZS5zaGFyZWQucGVuZGluZztcblxuICAgICAgICBpZiAocGVuZGluZ1F1ZXVlID09PSBudWxsKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gQW4gdXBkYXRlIHdhcyBzY2hlZHVsZWQgZnJvbSBpbnNpZGUgYSByZWR1Y2VyLiBBZGQgdGhlIG5ld1xuICAgICAgICAgIC8vIHBlbmRpbmcgdXBkYXRlcyB0byB0aGUgZW5kIG9mIHRoZSBsaXN0IGFuZCBrZWVwIHByb2Nlc3NpbmcuXG4gICAgICAgICAgdmFyIF9sYXN0UGVuZGluZ1VwZGF0ZSA9IHBlbmRpbmdRdWV1ZTsgLy8gSW50ZW50aW9uYWxseSB1bnNvdW5kLiBQZW5kaW5nIHVwZGF0ZXMgZm9ybSBhIGNpcmN1bGFyIGxpc3QsIGJ1dCB3ZVxuICAgICAgICAgIC8vIHVucmF2ZWwgdGhlbSB3aGVuIHRyYW5zZmVycmluZyB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxuXG4gICAgICAgICAgdmFyIF9maXJzdFBlbmRpbmdVcGRhdGUgPSBfbGFzdFBlbmRpbmdVcGRhdGUubmV4dDtcbiAgICAgICAgICBfbGFzdFBlbmRpbmdVcGRhdGUubmV4dCA9IG51bGw7XG4gICAgICAgICAgdXBkYXRlID0gX2ZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICAgICAgICBxdWV1ZS5sYXN0QmFzZVVwZGF0ZSA9IF9sYXN0UGVuZGluZ1VwZGF0ZTtcbiAgICAgICAgICBxdWV1ZS5zaGFyZWQucGVuZGluZyA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IHdoaWxlICh0cnVlKTtcblxuICAgIGlmIChuZXdMYXN0QmFzZVVwZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgfVxuXG4gICAgcXVldWUuYmFzZVN0YXRlID0gbmV3QmFzZVN0YXRlO1xuICAgIHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZSA9IG5ld0ZpcnN0QmFzZVVwZGF0ZTtcbiAgICBxdWV1ZS5sYXN0QmFzZVVwZGF0ZSA9IG5ld0xhc3RCYXNlVXBkYXRlO1xuXG4gICAgaWYgKGZpcnN0QmFzZVVwZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgLy8gYHF1ZXVlLmxhbmVzYCBpcyB1c2VkIGZvciBlbnRhbmdsaW5nIHRyYW5zaXRpb25zLiBXZSBjYW4gc2V0IGl0IGJhY2sgdG9cbiAgICAgIC8vIHplcm8gb25jZSB0aGUgcXVldWUgaXMgZW1wdHkuXG4gICAgICBxdWV1ZS5zaGFyZWQubGFuZXMgPSBOb0xhbmVzO1xuICAgIH0gLy8gU2V0IHRoZSByZW1haW5pbmcgZXhwaXJhdGlvbiB0aW1lIHRvIGJlIHdoYXRldmVyIGlzIHJlbWFpbmluZyBpbiB0aGUgcXVldWUuXG4gICAgLy8gVGhpcyBzaG91bGQgYmUgZmluZSBiZWNhdXNlIHRoZSBvbmx5IHR3byBvdGhlciB0aGluZ3MgdGhhdCBjb250cmlidXRlIHRvXG4gICAgLy8gZXhwaXJhdGlvbiB0aW1lIGFyZSBwcm9wcyBhbmQgY29udGV4dC4gV2UncmUgYWxyZWFkeSBpbiB0aGUgbWlkZGxlIG9mIHRoZVxuICAgIC8vIGJlZ2luIHBoYXNlIGJ5IHRoZSB0aW1lIHdlIHN0YXJ0IHByb2Nlc3NpbmcgdGhlIHF1ZXVlLCBzbyB3ZSd2ZSBhbHJlYWR5XG4gICAgLy8gZGVhbHQgd2l0aCB0aGUgcHJvcHMuIENvbnRleHQgaW4gY29tcG9uZW50cyB0aGF0IHNwZWNpZnlcbiAgICAvLyBzaG91bGRDb21wb25lbnRVcGRhdGUgaXMgdHJpY2t5OyBidXQgd2UnbGwgaGF2ZSB0byBhY2NvdW50IGZvclxuICAgIC8vIHRoYXQgcmVnYXJkbGVzcy5cblxuXG4gICAgbWFya1NraXBwZWRVcGRhdGVMYW5lcyhuZXdMYW5lcyk7XG4gICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBuZXdMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7XG4gIH1cblxuICB7XG4gICAgY3VycmVudGx5UHJvY2Vzc2luZ1F1ZXVlID0gbnVsbDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxsQ2FsbGJhY2soY2FsbGJhY2ssIGNvbnRleHQpIHtcbiAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgYXMgY2FsbGJhY2suIEV4cGVjdGVkIGEgZnVuY3Rpb24uIEluc3RlYWQgJyArIChcInJlY2VpdmVkOiBcIiArIGNhbGxiYWNrKSk7XG4gIH1cblxuICBjYWxsYmFjay5jYWxsKGNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiByZXNldEhhc0ZvcmNlVXBkYXRlQmVmb3JlUHJvY2Vzc2luZygpIHtcbiAgaGFzRm9yY2VVcGRhdGUgPSBmYWxzZTtcbn1cbmZ1bmN0aW9uIGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB7XG4gIHJldHVybiBoYXNGb3JjZVVwZGF0ZTtcbn1cbmZ1bmN0aW9uIGRlZmVySGlkZGVuQ2FsbGJhY2tzKHVwZGF0ZVF1ZXVlKSB7XG4gIC8vIFdoZW4gYW4gdXBkYXRlIGZpbmlzaGVzIG9uIGEgaGlkZGVuIGNvbXBvbmVudCwgaXRzIGNhbGxiYWNrIHNob3VsZCBub3RcbiAgLy8gYmUgZmlyZWQgdW50aWwvdW5sZXNzIHRoZSBjb21wb25lbnQgaXMgbWFkZSB2aXNpYmxlIGFnYWluLiBTdGFzaCB0aGVcbiAgLy8gY2FsbGJhY2sgb24gdGhlIHNoYXJlZCBxdWV1ZSBvYmplY3Qgc28gaXQgY2FuIGJlIGZpcmVkIGxhdGVyLlxuICB2YXIgbmV3SGlkZGVuQ2FsbGJhY2tzID0gdXBkYXRlUXVldWUuY2FsbGJhY2tzO1xuXG4gIGlmIChuZXdIaWRkZW5DYWxsYmFja3MgIT09IG51bGwpIHtcbiAgICB2YXIgZXhpc3RpbmdIaWRkZW5DYWxsYmFja3MgPSB1cGRhdGVRdWV1ZS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzO1xuXG4gICAgaWYgKGV4aXN0aW5nSGlkZGVuQ2FsbGJhY2tzID09PSBudWxsKSB7XG4gICAgICB1cGRhdGVRdWV1ZS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzID0gbmV3SGlkZGVuQ2FsbGJhY2tzO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cGRhdGVRdWV1ZS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzID0gZXhpc3RpbmdIaWRkZW5DYWxsYmFja3MuY29uY2F0KG5ld0hpZGRlbkNhbGxiYWNrcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjb21taXRIaWRkZW5DYWxsYmFja3ModXBkYXRlUXVldWUsIGNvbnRleHQpIHtcbiAgLy8gVGhpcyBjb21wb25lbnQgaXMgc3dpdGNoaW5nIGZyb20gaGlkZGVuIC0+IHZpc2libGUuIENvbW1pdCBhbnkgY2FsbGJhY2tzXG4gIC8vIHRoYXQgd2VyZSBwcmV2aW91c2x5IGRlZmVycmVkLlxuICB2YXIgaGlkZGVuQ2FsbGJhY2tzID0gdXBkYXRlUXVldWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztcblxuICBpZiAoaGlkZGVuQ2FsbGJhY2tzICE9PSBudWxsKSB7XG4gICAgdXBkYXRlUXVldWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyA9IG51bGw7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhpZGRlbkNhbGxiYWNrcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNhbGxiYWNrID0gaGlkZGVuQ2FsbGJhY2tzW2ldO1xuICAgICAgY2FsbENhbGxiYWNrKGNhbGxiYWNrLCBjb250ZXh0KTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNvbW1pdENhbGxiYWNrcyh1cGRhdGVRdWV1ZSwgY29udGV4dCkge1xuICB2YXIgY2FsbGJhY2tzID0gdXBkYXRlUXVldWUuY2FsbGJhY2tzO1xuXG4gIGlmIChjYWxsYmFja3MgIT09IG51bGwpIHtcbiAgICB1cGRhdGVRdWV1ZS5jYWxsYmFja3MgPSBudWxsO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYWxsYmFja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBjYWxsYmFjayA9IGNhbGxiYWNrc1tpXTtcbiAgICAgIGNhbGxDYWxsYmFjayhjYWxsYmFjaywgY29udGV4dCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUGVyZm9ybXMgZXF1YWxpdHkgYnkgaXRlcmF0aW5nIHRocm91Z2gga2V5cyBvbiBhbiBvYmplY3QgYW5kIHJldHVybmluZyBmYWxzZVxuICogd2hlbiBhbnkga2V5IGhhcyB2YWx1ZXMgd2hpY2ggYXJlIG5vdCBzdHJpY3RseSBlcXVhbCBiZXR3ZWVuIHRoZSBhcmd1bWVudHMuXG4gKiBSZXR1cm5zIHRydWUgd2hlbiB0aGUgdmFsdWVzIG9mIGFsbCBrZXlzIGFyZSBzdHJpY3RseSBlcXVhbC5cbiAqL1xuXG5mdW5jdGlvbiBzaGFsbG93RXF1YWwob2JqQSwgb2JqQikge1xuICBpZiAob2JqZWN0SXMob2JqQSwgb2JqQikpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICh0eXBlb2Ygb2JqQSAhPT0gJ29iamVjdCcgfHwgb2JqQSA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqQiAhPT0gJ29iamVjdCcgfHwgb2JqQiA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBrZXlzQSA9IE9iamVjdC5rZXlzKG9iakEpO1xuICB2YXIga2V5c0IgPSBPYmplY3Qua2V5cyhvYmpCKTtcblxuICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gLy8gVGVzdCBmb3IgQSdzIGtleXMgZGlmZmVyZW50IGZyb20gQi5cblxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwga2V5c0EubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgY3VycmVudEtleSA9IGtleXNBW2ldO1xuXG4gICAgaWYgKCFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iakIsIGN1cnJlbnRLZXkpIHx8IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gbG9zdCByZWZpbmVtZW50IG9mIGBvYmpCYFxuICAgICFvYmplY3RJcyhvYmpBW2N1cnJlbnRLZXldLCBvYmpCW2N1cnJlbnRLZXldKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG52YXIgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MgPSB7XG4gIHJlY29yZFVuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7fSxcbiAgZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3M6IGZ1bmN0aW9uICgpIHt9LFxuICByZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZzogZnVuY3Rpb24gKGZpYmVyLCBpbnN0YW5jZSkge30sXG4gIGZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmc6IGZ1bmN0aW9uICgpIHt9LFxuICBkaXNjYXJkUGVuZGluZ1dhcm5pbmdzOiBmdW5jdGlvbiAoKSB7fVxufTtcblxue1xuICB2YXIgZmluZFN0cmljdFJvb3QgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgICB2YXIgbWF5YmVTdHJpY3RSb290ID0gbnVsbDtcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgIG1heWJlU3RyaWN0Um9vdCA9IG5vZGU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gbWF5YmVTdHJpY3RSb290O1xuICB9O1xuXG4gIHZhciBzZXRUb1NvcnRlZFN0cmluZyA9IGZ1bmN0aW9uIChzZXQpIHtcbiAgICB2YXIgYXJyYXkgPSBbXTtcbiAgICBzZXQuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGFycmF5LnB1c2godmFsdWUpO1xuICAgIH0pO1xuICAgIHJldHVybiBhcnJheS5zb3J0KCkuam9pbignLCAnKTtcbiAgfTtcblxuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcyA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRVbnNhZmVMaWZlY3ljbGVXYXJuaW5ncyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICAvLyBEZWR1cGUgc3RyYXRlZ3k6IFdhcm4gb25jZSBwZXIgY29tcG9uZW50LlxuICAgIGlmIChkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nICYmIC8vIERvbid0IHdhcm4gYWJvdXQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLlxuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudC5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLnB1c2goZmliZXIpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG5cbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG4gIH07XG5cbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gV2UgZG8gYW4gaW5pdGlhbCBwYXNzIHRvIGdhdGhlciBjb21wb25lbnQgbmFtZXNcbiAgICB2YXIgY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xuXG4gICAgaWYgKHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIH0gLy8gRmluYWxseSwgd2UgZmx1c2ggYWxsIHRoZSB3YXJuaW5nc1xuICAgIC8vIFVOU0FGRV8gb25lcyBiZWZvcmUgdGhlIGRlcHJlY2F0ZWQgb25lcywgc2luY2UgdGhleSdsbCBiZSAnbG91ZGVyJ1xuXG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgc29ydGVkTmFtZXMgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICBlcnJvcignVXNpbmcgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgYW5kIG1heSBpbmRpY2F0ZSBidWdzIGluIHlvdXIgY29kZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZE1vdW50LCBhbmQgc2V0IGluaXRpYWwgc3RhdGUgaW4gdGhlIGNvbnN0cnVjdG9yLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgc29ydGVkTmFtZXMpO1xuICAgIH1cblxuICAgIGlmIChVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgX3NvcnRlZE5hbWVzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyk7XG5cbiAgICAgIGVycm9yKCdVc2luZyBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgJyArICdhbmQgbWF5IGluZGljYXRlIGJ1Z3MgaW4geW91ciBjb2RlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGRhdGEgZmV0Y2hpbmcgY29kZSBvciBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkVXBkYXRlLlxcbicgKyBcIiogSWYgeW91J3JlIHVwZGF0aW5nIHN0YXRlIHdoZW5ldmVyIHByb3BzIGNoYW5nZSwgXCIgKyAncmVmYWN0b3IgeW91ciBjb2RlIHRvIHVzZSBtZW1vaXphdGlvbiB0ZWNobmlxdWVzIG9yIG1vdmUgaXQgdG8gJyArICdzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiBMZWFybiBtb3JlIGF0OiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvZGVyaXZlZC1zdGF0ZVxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczIgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgZXJyb3IoJ1VzaW5nIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIGluIHN0cmljdCBtb2RlIGlzIG5vdCByZWNvbW1lbmRlZCAnICsgJ2FuZCBtYXkgaW5kaWNhdGUgYnVncyBpbiB5b3VyIGNvZGUuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXMyKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXMzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsTW91bnQgaGFzIGJlZW4gcmVuYW1lZCwgYW5kIGlzIG5vdCByZWNvbW1lbmRlZCBmb3IgdXNlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkTW91bnQsIGFuZCBzZXQgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgY29uc3RydWN0b3IuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsTW91bnQgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCB0byBzdXBwcmVzcyAnICsgJ3RoaXMgd2FybmluZyBpbiBub24tc3RyaWN0IG1vZGUuIEluIFJlYWN0IDE4LngsIG9ubHkgdGhlIFVOU0FGRV8gbmFtZSB3aWxsIHdvcmsuICcgKyAnVG8gcmVuYW1lIGFsbCBkZXByZWNhdGVkIGxpZmVjeWNsZXMgdG8gdGhlaXIgbmV3IG5hbWVzLCB5b3UgY2FuIHJ1biAnICsgJ2BucHggcmVhY3QtY29kZW1vZCByZW5hbWUtdW5zYWZlLWxpZmVjeWNsZXNgIGluIHlvdXIgcHJvamVjdCBzb3VyY2UgZm9sZGVyLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMyk7XG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczQgPSBzZXRUb1NvcnRlZFN0cmluZyhjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBkYXRhIGZldGNoaW5nIGNvZGUgb3Igc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZFVwZGF0ZS5cXG4nICsgXCIqIElmIHlvdSdyZSB1cGRhdGluZyBzdGF0ZSB3aGVuZXZlciBwcm9wcyBjaGFuZ2UsIHJlZmFjdG9yIHlvdXIgXCIgKyAnY29kZSB0byB1c2UgbWVtb2l6YXRpb24gdGVjaG5pcXVlcyBvciBtb3ZlIGl0IHRvICcgKyAnc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gTGVhcm4gbW9yZSBhdDogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Rlcml2ZWQtc3RhdGVcXG4nICsgJyogUmVuYW1lIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gc3VwcHJlc3MgJyArICd0aGlzIHdhcm5pbmcgaW4gbm9uLXN0cmljdCBtb2RlLiBJbiBSZWFjdCAxOC54LCBvbmx5IHRoZSBVTlNBRkVfIG5hbWUgd2lsbCB3b3JrLiAnICsgJ1RvIHJlbmFtZSBhbGwgZGVwcmVjYXRlZCBsaWZlY3ljbGVzIHRvIHRoZWlyIG5ldyBuYW1lcywgeW91IGNhbiBydW4gJyArICdgbnB4IHJlYWN0LWNvZGVtb2QgcmVuYW1lLXVuc2FmZS1saWZlY3ljbGVzYCBpbiB5b3VyIHByb2plY3Qgc291cmNlIGZvbGRlci5cXG4nICsgJ1xcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczQpO1xuICAgIH1cblxuICAgIGlmIChjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXM1ID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgd2FybignY29tcG9uZW50V2lsbFVwZGF0ZSBoYXMgYmVlbiByZW5hbWVkLCBhbmQgaXMgbm90IHJlY29tbWVuZGVkIGZvciB1c2UuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsVXBkYXRlIHRvIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIHRvIHN1cHByZXNzICcgKyAndGhpcyB3YXJuaW5nIGluIG5vbi1zdHJpY3QgbW9kZS4gSW4gUmVhY3QgMTgueCwgb25seSB0aGUgVU5TQUZFXyBuYW1lIHdpbGwgd29yay4gJyArICdUbyByZW5hbWUgYWxsIGRlcHJlY2F0ZWQgbGlmZWN5Y2xlcyB0byB0aGVpciBuZXcgbmFtZXMsIHlvdSBjYW4gcnVuICcgKyAnYG5weCByZWFjdC1jb2RlbW9kIHJlbmFtZS11bnNhZmUtbGlmZWN5Y2xlc2AgaW4geW91ciBwcm9qZWN0IHNvdXJjZSBmb2xkZXIuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXM1KTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dCA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICB2YXIgc3RyaWN0Um9vdCA9IGZpbmRTdHJpY3RSb290KGZpYmVyKTtcblxuICAgIGlmIChzdHJpY3RSb290ID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgdG8gZmluZCBhIFN0cmljdE1vZGUgY29tcG9uZW50IGluIGEgc3RyaWN0IG1vZGUgdHJlZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuXG4gICAgICByZXR1cm47XG4gICAgfSAvLyBEZWR1cCBzdHJhdGVneTogV2FybiBvbmNlIHBlciBjb21wb25lbnQuXG5cblxuICAgIGlmIChkaWRXYXJuQWJvdXRMZWdhY3lDb250ZXh0LmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB3YXJuaW5nc0ZvclJvb3QgPSBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuZ2V0KHN0cmljdFJvb3QpO1xuXG4gICAgaWYgKGZpYmVyLnR5cGUuY29udGV4dFR5cGVzICE9IG51bGwgfHwgZmliZXIudHlwZS5jaGlsZENvbnRleHRUeXBlcyAhPSBudWxsIHx8IGluc3RhbmNlICE9PSBudWxsICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh3YXJuaW5nc0ZvclJvb3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB3YXJuaW5nc0ZvclJvb3QgPSBbXTtcbiAgICAgICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLnNldChzdHJpY3RSb290LCB3YXJuaW5nc0ZvclJvb3QpO1xuICAgICAgfVxuXG4gICAgICB3YXJuaW5nc0ZvclJvb3QucHVzaChmaWJlcik7XG4gICAgfVxuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmcgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyQXJyYXksIHN0cmljdFJvb3QpIHtcbiAgICAgIGlmIChmaWJlckFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBmaXJzdEZpYmVyID0gZmliZXJBcnJheVswXTtcbiAgICAgIHZhciB1bmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICAgIGZpYmVyQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgdW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dC5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHZhciBzb3J0ZWROYW1lcyA9IHNldFRvU29ydGVkU3RyaW5nKHVuaXF1ZU5hbWVzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpcnN0RmliZXIpO1xuXG4gICAgICAgIGVycm9yKCdMZWdhY3kgY29udGV4dCBBUEkgaGFzIGJlZW4gZGV0ZWN0ZWQgd2l0aGluIGEgc3RyaWN0LW1vZGUgdHJlZS4nICsgJ1xcblxcblRoZSBvbGQgQVBJIHdpbGwgYmUgc3VwcG9ydGVkIGluIGFsbCAxNi54IHJlbGVhc2VzLCBidXQgYXBwbGljYXRpb25zICcgKyAndXNpbmcgaXQgc2hvdWxkIG1pZ3JhdGUgdG8gdGhlIG5ldyB2ZXJzaW9uLicgKyAnXFxuXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJyArICdcXG5cXG5MZWFybiBtb3JlIGFib3V0IHRoaXMgd2FybmluZyBoZXJlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvbGVnYWN5LWNvbnRleHQnLCBzb3J0ZWROYW1lcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmRpc2NhcmRQZW5kaW5nV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTtcbiAgfTtcbn1cblxudmFyIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRBY3RRdWV1ZTtcblxuZnVuY3Rpb24gZ2V0VGhlbmFibGVzRnJvbVN0YXRlKHN0YXRlKSB7XG4gIHtcbiAgICB2YXIgZGV2U3RhdGUgPSBzdGF0ZTtcbiAgICByZXR1cm4gZGV2U3RhdGUudGhlbmFibGVzO1xuICB9XG59IC8vIEFuIGVycm9yIHRoYXQgaXMgdGhyb3duIChlLmcuIGJ5IGB1c2VgKSB0byB0cmlnZ2VyIFN1c3BlbnNlLiBJZiB3ZVxuLy8gZGV0ZWN0IHRoaXMgaXMgY2F1Z2h0IGJ5IHVzZXJzcGFjZSwgd2UnbGwgbG9nIGEgd2FybmluZyBpbiBkZXZlbG9wbWVudC5cblxuXG52YXIgU3VzcGVuc2VFeGNlcHRpb24gPSBuZXcgRXJyb3IoXCJTdXNwZW5zZSBFeGNlcHRpb246IFRoaXMgaXMgbm90IGEgcmVhbCBlcnJvciEgSXQncyBhbiBpbXBsZW1lbnRhdGlvbiBcIiArICdkZXRhaWwgb2YgYHVzZWAgdG8gaW50ZXJydXB0IHRoZSBjdXJyZW50IHJlbmRlci4gWW91IG11c3QgZWl0aGVyICcgKyAncmV0aHJvdyBpdCBpbW1lZGlhdGVseSwgb3IgbW92ZSB0aGUgYHVzZWAgY2FsbCBvdXRzaWRlIG9mIHRoZSAnICsgJ2B0cnkvY2F0Y2hgIGJsb2NrLiBDYXB0dXJpbmcgd2l0aG91dCByZXRocm93aW5nIHdpbGwgbGVhZCB0byAnICsgJ3VuZXhwZWN0ZWQgYmVoYXZpb3IuXFxuXFxuJyArICdUbyBoYW5kbGUgYXN5bmMgZXJyb3JzLCB3cmFwIHlvdXIgY29tcG9uZW50IGluIGFuIGVycm9yIGJvdW5kYXJ5LCBvciAnICsgXCJjYWxsIHRoZSBwcm9taXNlJ3MgYC5jYXRjaGAgbWV0aG9kIGFuZCBwYXNzIHRoZSByZXN1bHQgdG8gYHVzZWBcIik7XG52YXIgU3VzcGVuc2V5Q29tbWl0RXhjZXB0aW9uID0gbmV3IEVycm9yKCdTdXNwZW5zZSBFeGNlcHRpb246IFRoaXMgaXMgbm90IGEgcmVhbCBlcnJvciwgYW5kIHNob3VsZCBub3QgbGVhayBpbnRvICcgKyBcInVzZXJzcGFjZS4gSWYgeW91J3JlIHNlZWluZyB0aGlzLCBpdCdzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC5cIik7IC8vIFRoaXMgaXMgYSBub29wIHRoZW5hYmxlIHRoYXQgd2UgdXNlIHRvIHRyaWdnZXIgYSBmYWxsYmFjayBpbiB0aHJvd0V4Y2VwdGlvbi5cbi8vIFRPRE86IEl0IHdvdWxkIGJlIGJldHRlciB0byByZWZhY3RvciB0aHJvd0V4Y2VwdGlvbiBpbnRvIG11bHRpcGxlIGZ1bmN0aW9uc1xuLy8gc28gd2UgY2FuIHRyaWdnZXIgYSBmYWxsYmFjayBkaXJlY3RseSB3aXRob3V0IGhhdmluZyB0byBjaGVjayB0aGUgdHlwZS4gQnV0XG4vLyBmb3Igbm93IHRoaXMgd2lsbCBkby5cblxudmFyIG5vb3BTdXNwZW5zZXlDb21taXRUaGVuYWJsZSA9IHtcbiAgdGhlbjogZnVuY3Rpb24gKCkge1xuICAgIHtcbiAgICAgIGVycm9yKCdJbnRlcm5hbCBSZWFjdCBlcnJvcjogQSBsaXN0ZW5lciB3YXMgdW5leHBlY3RlZGx5IGF0dGFjaGVkIHRvIGEgJyArICdcIm5vb3BcIiB0aGVuYWJsZS4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG59O1xuZnVuY3Rpb24gY3JlYXRlVGhlbmFibGVTdGF0ZSgpIHtcbiAgLy8gVGhlIFRoZW5hYmxlU3RhdGUgaXMgY3JlYXRlZCB0aGUgZmlyc3QgdGltZSBhIGNvbXBvbmVudCBzdXNwZW5kcy4gSWYgaXRcbiAgLy8gc3VzcGVuZHMgYWdhaW4sIHdlJ2xsIHJldXNlIHRoZSBzYW1lIHN0YXRlLlxuICB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpZFdhcm5BYm91dFVuY2FjaGVkUHJvbWlzZTogZmFsc2UsXG4gICAgICB0aGVuYWJsZXM6IFtdXG4gICAgfTtcbiAgfVxufVxuZnVuY3Rpb24gaXNUaGVuYWJsZVJlc29sdmVkKHRoZW5hYmxlKSB7XG4gIHZhciBzdGF0dXMgPSB0aGVuYWJsZS5zdGF0dXM7XG4gIHJldHVybiBzdGF0dXMgPT09ICdmdWxmaWxsZWQnIHx8IHN0YXR1cyA9PT0gJ3JlamVjdGVkJztcbn1cblxuZnVuY3Rpb24gbm9vcCQyKCkge31cblxuZnVuY3Rpb24gdHJhY2tVc2VkVGhlbmFibGUodGhlbmFibGVTdGF0ZSwgdGhlbmFibGUsIGluZGV4KSB7XG4gIGlmIChSZWFjdEN1cnJlbnRBY3RRdWV1ZSQyLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQyLmRpZFVzZVByb21pc2UgPSB0cnVlO1xuICB9XG5cbiAgdmFyIHRyYWNrZWRUaGVuYWJsZXMgPSBnZXRUaGVuYWJsZXNGcm9tU3RhdGUodGhlbmFibGVTdGF0ZSk7XG4gIHZhciBwcmV2aW91cyA9IHRyYWNrZWRUaGVuYWJsZXNbaW5kZXhdO1xuXG4gIGlmIChwcmV2aW91cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdHJhY2tlZFRoZW5hYmxlcy5wdXNoKHRoZW5hYmxlKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJldmlvdXMgIT09IHRoZW5hYmxlKSB7XG4gICAgICAvLyBSZXVzZSB0aGUgcHJldmlvdXMgdGhlbmFibGUsIGFuZCBkcm9wIHRoZSBuZXcgb25lLiBXZSBjYW4gYXNzdW1lXG4gICAgICAvLyB0aGV5IHJlcHJlc2VudCB0aGUgc2FtZSB2YWx1ZSwgYmVjYXVzZSBjb21wb25lbnRzIGFyZSBpZGVtcG90ZW50LlxuICAgICAge1xuICAgICAgICB2YXIgdGhlbmFibGVTdGF0ZURldiA9IHRoZW5hYmxlU3RhdGU7XG5cbiAgICAgICAgaWYgKCF0aGVuYWJsZVN0YXRlRGV2LmRpZFdhcm5BYm91dFVuY2FjaGVkUHJvbWlzZSkge1xuICAgICAgICAgIC8vIFdlIHNob3VsZCBvbmx5IHdhcm4gdGhlIGZpcnN0IHRpbWUgYW4gdW5jYWNoZWQgdGhlbmFibGUgaXNcbiAgICAgICAgICAvLyBkaXNjb3ZlcmVkIHBlciBjb21wb25lbnQsIGJlY2F1c2UgaWYgdGhlcmUgYXJlIG11bHRpcGxlLCB0aGVcbiAgICAgICAgICAvLyBzdWJzZXF1ZW50IG9uZXMgYXJlIGxpa2VseSBkZXJpdmVkIGZyb20gdGhlIGZpcnN0LlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gV2UgdHJhY2sgdGhpcyBvbiB0aGUgdGhlbmFibGVTdGF0ZSBpbnN0ZWFkIG9mIGRlZHVwaW5nIHVzaW5nIHRoZVxuICAgICAgICAgIC8vIGNvbXBvbmVudCBuYW1lIGxpa2Ugd2UgdXN1YWxseSBkbywgYmVjYXVzZSBpbiB0aGUgY2FzZSBvZiBhXG4gICAgICAgICAgLy8gcHJvbWlzZS1hcy1SZWFjdC1ub2RlLCB0aGUgb3duZXIgY29tcG9uZW50IGlzIGxpa2VseSBkaWZmZXJlbnQgZnJvbVxuICAgICAgICAgIC8vIHRoZSBwYXJlbnQgdGhhdCdzIGN1cnJlbnRseSBiZWluZyByZWNvbmNpbGVkLiBXZSdkIGhhdmUgdG8gdHJhY2tcbiAgICAgICAgICAvLyB0aGUgb3duZXIgdXNpbmcgc3RhdGUsIHdoaWNoIHdlJ3JlIHRyeWluZyB0byBtb3ZlIGF3YXkgZnJvbS4gVGhvdWdoXG4gICAgICAgICAgLy8gc2luY2UgdGhpcyBpcyBkZXYtb25seSwgbWF5YmUgdGhhdCdkIGJlIE9LLlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gSG93ZXZlciwgYW5vdGhlciBiZW5lZml0IG9mIGRvaW5nIGl0IHRoaXMgd2F5IGlzIHdlIG1pZ2h0XG4gICAgICAgICAgLy8gZXZlbnR1YWxseSBoYXZlIGEgdGhlbmFibGVTdGF0ZSBwZXIgbWVtby9Gb3JnZXQgYm91bmRhcnkgaW5zdGVhZFxuICAgICAgICAgIC8vIG9mIHBlciBjb21wb25lbnQsIHNvIHRoaXMgd291bGQgYWxsb3cgdXMgdG8gaGF2ZSBtb3JlXG4gICAgICAgICAgLy8gZ3JhbnVsYXIgd2FybmluZ3MuXG4gICAgICAgICAgdGhlbmFibGVTdGF0ZURldi5kaWRXYXJuQWJvdXRVbmNhY2hlZFByb21pc2UgPSB0cnVlOyAvLyBUT0RPOiBUaGlzIHdhcm5pbmcgc2hvdWxkIGxpbmsgdG8gYSBjb3JyZXNwb25kaW5nIGRvY3MgcGFnZS5cblxuICAgICAgICAgIGVycm9yKCdBIGNvbXBvbmVudCB3YXMgc3VzcGVuZGVkIGJ5IGFuIHVuY2FjaGVkIHByb21pc2UuIENyZWF0aW5nICcgKyAncHJvbWlzZXMgaW5zaWRlIGEgQ2xpZW50IENvbXBvbmVudCBvciBob29rIGlzIG5vdCB5ZXQgJyArICdzdXBwb3J0ZWQsIGV4Y2VwdCB2aWEgYSBTdXNwZW5zZS1jb21wYXRpYmxlIGxpYnJhcnkgb3IgZnJhbWV3b3JrLicpO1xuICAgICAgICB9XG4gICAgICB9IC8vIEF2b2lkIGFuIHVuaGFuZGxlZCByZWplY3Rpb24gZXJyb3JzIGZvciB0aGUgUHJvbWlzZXMgdGhhdCB3ZSdsbFxuICAgICAgLy8gaW50ZW50aW9uYWxseSBpZ25vcmUuXG5cblxuICAgICAgdGhlbmFibGUudGhlbihub29wJDIsIG5vb3AkMik7XG4gICAgICB0aGVuYWJsZSA9IHByZXZpb3VzO1xuICAgIH1cbiAgfSAvLyBXZSB1c2UgYW4gZXhwYW5kbyB0byB0cmFjayB0aGUgc3RhdHVzIGFuZCByZXN1bHQgb2YgYSB0aGVuYWJsZSBzbyB0aGF0IHdlXG4gIC8vIGNhbiBzeW5jaHJvbm91c2x5IHVud3JhcCB0aGUgdmFsdWUuIFRoaW5rIG9mIHRoaXMgYXMgYW4gZXh0ZW5zaW9uIG9mIHRoZVxuICAvLyBQcm9taXNlIEFQSSwgb3IgYSBjdXN0b20gaW50ZXJmYWNlIHRoYXQgaXMgYSBzdXBlcnNldCBvZiBUaGVuYWJsZS5cbiAgLy9cbiAgLy8gSWYgdGhlIHRoZW5hYmxlIGRvZXNuJ3QgaGF2ZSBhIHN0YXR1cywgc2V0IGl0IHRvIFwicGVuZGluZ1wiIGFuZCBhdHRhY2hcbiAgLy8gYSBsaXN0ZW5lciB0aGF0IHdpbGwgdXBkYXRlIGl0cyBzdGF0dXMgYW5kIHJlc3VsdCB3aGVuIGl0IHJlc29sdmVzLlxuXG5cbiAgc3dpdGNoICh0aGVuYWJsZS5zdGF0dXMpIHtcbiAgICBjYXNlICdmdWxmaWxsZWQnOlxuICAgICAge1xuICAgICAgICB2YXIgZnVsZmlsbGVkVmFsdWUgPSB0aGVuYWJsZS52YWx1ZTtcbiAgICAgICAgcmV0dXJuIGZ1bGZpbGxlZFZhbHVlO1xuICAgICAgfVxuXG4gICAgY2FzZSAncmVqZWN0ZWQnOlxuICAgICAge1xuICAgICAgICB2YXIgcmVqZWN0ZWRFcnJvciA9IHRoZW5hYmxlLnJlYXNvbjtcbiAgICAgICAgY2hlY2tJZlVzZVdyYXBwZWRJbkFzeW5jQ2F0Y2gocmVqZWN0ZWRFcnJvcik7XG4gICAgICAgIHRocm93IHJlamVjdGVkRXJyb3I7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICBpZiAodHlwZW9mIHRoZW5hYmxlLnN0YXR1cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAvLyBPbmx5IGluc3RydW1lbnQgdGhlIHRoZW5hYmxlIGlmIHRoZSBzdGF0dXMgaWYgbm90IGRlZmluZWQuIElmXG4gICAgICAgICAgLy8gaXQncyBkZWZpbmVkLCBidXQgYW4gdW5rbm93biB2YWx1ZSwgYXNzdW1lIGl0J3MgYmVlbiBpbnN0cnVtZW50ZWQgYnlcbiAgICAgICAgICAvLyBzb21lIGN1c3RvbSB1c2Vyc3BhY2UgaW1wbGVtZW50YXRpb24uIFdlIHRyZWF0IGl0IGFzIFwicGVuZGluZ1wiLlxuICAgICAgICAgIC8vIEF0dGFjaCBhIGR1bW15IGxpc3RlbmVyLCB0byBlbnN1cmUgdGhhdCBhbnkgbGF6eSBpbml0aWFsaXphdGlvbiBjYW5cbiAgICAgICAgICAvLyBoYXBwZW4uIEZsaWdodCBsYXppbHkgcGFyc2VzIEpTT04gd2hlbiB0aGUgdmFsdWUgaXMgYWN0dWFsbHkgYXdhaXRlZC5cbiAgICAgICAgICB0aGVuYWJsZS50aGVuKG5vb3AkMiwgbm9vcCQyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGFuIHVuY2FjaGVkIHRoZW5hYmxlIHRoYXQgd2UgaGF2ZW4ndCBzZWVuIGJlZm9yZS5cbiAgICAgICAgICAvLyBEZXRlY3QgaW5maW5pdGUgcGluZyBsb29wcyBjYXVzZWQgYnkgdW5jYWNoZWQgcHJvbWlzZXMuXG4gICAgICAgICAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTtcblxuICAgICAgICAgIGlmIChyb290ICE9PSBudWxsICYmIHJvb3Quc2hlbGxTdXNwZW5kQ291bnRlciA+IDEwMCkge1xuICAgICAgICAgICAgLy8gVGhpcyByb290IGhhcyBzdXNwZW5kZWQgcmVwZWF0ZWRseSBpbiB0aGUgc2hlbGwgd2l0aG91dCBtYWtpbmcgYW55XG4gICAgICAgICAgICAvLyBwcm9ncmVzcyAoaS5lLiBjb21taXR0aW5nIHNvbWV0aGluZykuIFRoaXMgaXMgaGlnaGx5IHN1Z2dlc3RpdmUgb2ZcbiAgICAgICAgICAgIC8vIGFuIGluZmluaXRlIHBpbmcgbG9vcCwgb2Z0ZW4gY2F1c2VkIGJ5IGFuIGFjY2lkZW50YWwgQXN5bmMgQ2xpZW50XG4gICAgICAgICAgICAvLyBDb21wb25lbnQuXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRHVyaW5nIGEgdHJhbnNpdGlvbiwgd2UgY2FuIHN1c3BlbmQgdGhlIHdvcmsgbG9vcCB1bnRpbCB0aGUgcHJvbWlzZVxuICAgICAgICAgICAgLy8gdG8gcmVzb2x2ZSwgYnV0IHRoaXMgaXMgYSBzeW5jIHJlbmRlciwgc28gdGhhdCdzIG5vdCBhbiBvcHRpb24uIFdlXG4gICAgICAgICAgICAvLyBhbHNvIGNhbid0IHNob3cgYSBmYWxsYmFjaywgYmVjYXVzZSBub25lIHdhcyBwcm92aWRlZC4gU28gb3VyIGxhc3RcbiAgICAgICAgICAgIC8vIHJlc29ydCBpcyB0byB0aHJvdyBhbiBlcnJvci5cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBlcnJvciBpbiBhIGZ1dHVyZSByZWxlYXNlLiBPdGhlciB3YXlzIG9mIGhhbmRsaW5nXG4gICAgICAgICAgICAvLyB0aGlzIGNhc2UgaW5jbHVkZSBmb3JjaW5nIGEgY29uY3VycmVudCByZW5kZXIsIG9yIHB1dHRpbmcgdGhlIHdob2xlXG4gICAgICAgICAgICAvLyByb290IGludG8gb2Zmc2NyZWVuIG1vZGUuXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2FzeW5jL2F3YWl0IGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGluIENsaWVudCBDb21wb25lbnRzLCBvbmx5ICcgKyAnU2VydmVyIENvbXBvbmVudHMuIFRoaXMgZXJyb3IgaXMgb2Z0ZW4gY2F1c2VkIGJ5IGFjY2lkZW50YWxseSAnICsgXCJhZGRpbmcgYCd1c2UgY2xpZW50J2AgdG8gYSBtb2R1bGUgdGhhdCB3YXMgb3JpZ2luYWxseSB3cml0dGVuIFwiICsgJ2ZvciB0aGUgc2VydmVyLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBwZW5kaW5nVGhlbmFibGUgPSB0aGVuYWJsZTtcbiAgICAgICAgICBwZW5kaW5nVGhlbmFibGUuc3RhdHVzID0gJ3BlbmRpbmcnO1xuICAgICAgICAgIHBlbmRpbmdUaGVuYWJsZS50aGVuKGZ1bmN0aW9uIChmdWxmaWxsZWRWYWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoZW5hYmxlLnN0YXR1cyA9PT0gJ3BlbmRpbmcnKSB7XG4gICAgICAgICAgICAgIHZhciBmdWxmaWxsZWRUaGVuYWJsZSA9IHRoZW5hYmxlO1xuICAgICAgICAgICAgICBmdWxmaWxsZWRUaGVuYWJsZS5zdGF0dXMgPSAnZnVsZmlsbGVkJztcbiAgICAgICAgICAgICAgZnVsZmlsbGVkVGhlbmFibGUudmFsdWUgPSBmdWxmaWxsZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGlmICh0aGVuYWJsZS5zdGF0dXMgPT09ICdwZW5kaW5nJykge1xuICAgICAgICAgICAgICB2YXIgcmVqZWN0ZWRUaGVuYWJsZSA9IHRoZW5hYmxlO1xuICAgICAgICAgICAgICByZWplY3RlZFRoZW5hYmxlLnN0YXR1cyA9ICdyZWplY3RlZCc7XG4gICAgICAgICAgICAgIHJlamVjdGVkVGhlbmFibGUucmVhc29uID0gZXJyb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gLy8gQ2hlY2sgb25lIG1vcmUgdGltZSBpbiBjYXNlIHRoZSB0aGVuYWJsZSByZXNvbHZlZCBzeW5jaHJvbm91c2x5LlxuXG5cbiAgICAgICAgc3dpdGNoICh0aGVuYWJsZS5zdGF0dXMpIHtcbiAgICAgICAgICBjYXNlICdmdWxmaWxsZWQnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YXIgZnVsZmlsbGVkVGhlbmFibGUgPSB0aGVuYWJsZTtcbiAgICAgICAgICAgICAgcmV0dXJuIGZ1bGZpbGxlZFRoZW5hYmxlLnZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmVqZWN0ZWQnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YXIgcmVqZWN0ZWRUaGVuYWJsZSA9IHRoZW5hYmxlO1xuICAgICAgICAgICAgICB2YXIgX3JlamVjdGVkRXJyb3IgPSByZWplY3RlZFRoZW5hYmxlLnJlYXNvbjtcbiAgICAgICAgICAgICAgY2hlY2tJZlVzZVdyYXBwZWRJbkFzeW5jQ2F0Y2goX3JlamVjdGVkRXJyb3IpO1xuICAgICAgICAgICAgICB0aHJvdyBfcmVqZWN0ZWRFcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBTdXNwZW5kLlxuICAgICAgICAvL1xuICAgICAgICAvLyBUaHJvd2luZyBoZXJlIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCB0aGF0IGFsbG93cyB1cyB0byB1bndpbmQgdGhlXG4gICAgICAgIC8vIGNhbGwgc3RhY2suIEJ1dCB3ZSBzaG91bGRuJ3QgYWxsb3cgaXQgdG8gbGVhayBpbnRvIHVzZXJzcGFjZS4gVGhyb3cgYW5cbiAgICAgICAgLy8gb3BhcXVlIHBsYWNlaG9sZGVyIHZhbHVlIGluc3RlYWQgb2YgdGhlIGFjdHVhbCB0aGVuYWJsZS4gSWYgaXQgZG9lc24ndFxuICAgICAgICAvLyBnZXQgY2FwdHVyZWQgYnkgdGhlIHdvcmsgbG9vcCwgbG9nIGEgd2FybmluZywgYmVjYXVzZSB0aGF0IG1lYW5zXG4gICAgICAgIC8vIHNvbWV0aGluZyBpbiB1c2Vyc3BhY2UgbXVzdCBoYXZlIGNhdWdodCBpdC5cblxuXG4gICAgICAgIHN1c3BlbmRlZFRoZW5hYmxlID0gdGhlbmFibGU7XG5cbiAgICAgICAge1xuICAgICAgICAgIG5lZWRzVG9SZXNldFN1c3BlbmRlZFRoZW5hYmxlREVWID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IFN1c3BlbnNlRXhjZXB0aW9uO1xuICAgICAgfVxuICB9XG59XG5mdW5jdGlvbiBzdXNwZW5kQ29tbWl0KCkge1xuICAvLyBUaGlzIGV4dHJhIGluZGlyZWN0aW9uIG9ubHkgZXhpc3RzIHNvIGl0IGNhbiBoYW5kbGUgcGFzc2luZ1xuICAvLyBub29wU3VzcGVuc2V5Q29tbWl0VGhlbmFibGUgdGhyb3VnaCB0byB0aHJvd0V4Y2VwdGlvbi5cbiAgLy8gVE9ETzogRmFjdG9yIHRoZSB0aGVuYWJsZSBjaGVjayBvdXQgb2YgdGhyb3dFeGNlcHRpb25cbiAgc3VzcGVuZGVkVGhlbmFibGUgPSBub29wU3VzcGVuc2V5Q29tbWl0VGhlbmFibGU7XG4gIHRocm93IFN1c3BlbnNleUNvbW1pdEV4Y2VwdGlvbjtcbn0gLy8gVGhpcyBpcyB1c2VkIHRvIHRyYWNrIHRoZSBhY3R1YWwgdGhlbmFibGUgdGhhdCBzdXNwZW5kZWQgc28gaXQgY2FuIGJlXG4vLyBwYXNzZWQgdG8gdGhlIHJlc3Qgb2YgdGhlIFN1c3BlbnNlIGltcGxlbWVudGF0aW9uIOKAlCB3aGljaCwgZm9yIGhpc3RvcmljYWxcbi8vIHJlYXNvbnMsIGV4cGVjdHMgdG8gcmVjZWl2ZSBhIHRoZW5hYmxlLlxuXG52YXIgc3VzcGVuZGVkVGhlbmFibGUgPSBudWxsO1xudmFyIG5lZWRzVG9SZXNldFN1c3BlbmRlZFRoZW5hYmxlREVWID0gZmFsc2U7XG5mdW5jdGlvbiBnZXRTdXNwZW5kZWRUaGVuYWJsZSgpIHtcbiAgLy8gVGhpcyBpcyBjYWxsZWQgcmlnaHQgYWZ0ZXIgYHVzZWAgc3VzcGVuZHMgYnkgdGhyb3dpbmcgYW4gZXhjZXB0aW9uLiBgdXNlYFxuICAvLyB0aHJvd3MgYW4gb3BhcXVlIHZhbHVlIGluc3RlYWQgb2YgdGhlIHRoZW5hYmxlIGl0c2VsZiBzbyB0aGF0IGl0IGNhbid0IGJlXG4gIC8vIGNhdWdodCBpbiB1c2Vyc3BhY2UuIFRoZW4gdGhlIHdvcmsgbG9vcCBhY2Nlc3NlcyB0aGUgYWN0dWFsIHRoZW5hYmxlIHVzaW5nXG4gIC8vIHRoaXMgZnVuY3Rpb24uXG4gIGlmIChzdXNwZW5kZWRUaGVuYWJsZSA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgYSBzdXNwZW5kZWQgdGhlbmFibGUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlICcgKyAnYW4gaXNzdWUuJyk7XG4gIH1cblxuICB2YXIgdGhlbmFibGUgPSBzdXNwZW5kZWRUaGVuYWJsZTtcbiAgc3VzcGVuZGVkVGhlbmFibGUgPSBudWxsO1xuXG4gIHtcbiAgICBuZWVkc1RvUmVzZXRTdXNwZW5kZWRUaGVuYWJsZURFViA9IGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRoZW5hYmxlO1xufVxuZnVuY3Rpb24gY2hlY2tJZlVzZVdyYXBwZWRJblRyeUNhdGNoKCkge1xuICB7XG4gICAgLy8gVGhpcyB3YXMgc2V0IHJpZ2h0IGJlZm9yZSBTdXNwZW5zZUV4Y2VwdGlvbiB3YXMgdGhyb3duLCBhbmQgaXQgc2hvdWxkXG4gICAgLy8gaGF2ZSBiZWVuIGNsZWFyZWQgd2hlbiB0aGUgZXhjZXB0aW9uIHdhcyBoYW5kbGVkLiBJZiBpdCB3YXNuJ3QsXG4gICAgLy8gaXQgbXVzdCBoYXZlIGJlZW4gY2F1Z2h0IGJ5IHVzZXJzcGFjZS5cbiAgICBpZiAobmVlZHNUb1Jlc2V0U3VzcGVuZGVkVGhlbmFibGVERVYpIHtcbiAgICAgIG5lZWRzVG9SZXNldFN1c3BlbmRlZFRoZW5hYmxlREVWID0gZmFsc2U7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBjaGVja0lmVXNlV3JhcHBlZEluQXN5bmNDYXRjaChyZWplY3RlZFJlYXNvbikge1xuICAvLyBUaGlzIGNoZWNrIHJ1bnMgaW4gcHJvZCwgdG9vLCBiZWNhdXNlIGl0IHByZXZlbnRzIGEgbW9yZSBjb25mdXNpbmdcbiAgLy8gZG93bnN0cmVhbSBlcnJvciwgd2hlcmUgU3VzcGVuc2VFeGNlcHRpb24gaXMgY2F1Z2h0IGJ5IGEgcHJvbWlzZSBhbmRcbiAgLy8gdGhyb3duIGFzeW5jaHJvbm91c2x5LlxuICAvLyBUT0RPOiBBbm90aGVyIHdheSB0byBwcmV2ZW50IFN1c3BlbnNlRXhjZXB0aW9uIGZyb20gbGVha2luZyBpbnRvIGFuIGFzeW5jXG4gIC8vIGV4ZWN1dGlvbiBjb250ZXh0IGlzIHRvIGNoZWNrIHRoZSBkaXNwYXRjaGVyIGV2ZXJ5IHRpbWUgYHVzZWAgaXMgY2FsbGVkLFxuICAvLyBvciBzb21lIGVxdWl2YWxlbnQuIFRoYXQgbWlnaHQgYmUgcHJlZmVyYWJsZSBmb3Igb3RoZXIgcmVhc29ucywgdG9vLCBzaW5jZVxuICAvLyBpdCBtYXRjaGVzIGhvdyB3ZSBwcmV2ZW50IHNpbWlsYXIgbWlzdGFrZXMgZm9yIG90aGVyIGhvb2tzLlxuICBpZiAocmVqZWN0ZWRSZWFzb24gPT09IFN1c3BlbnNlRXhjZXB0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdIb29rcyBhcmUgbm90IHN1cHBvcnRlZCBpbnNpZGUgYW4gYXN5bmMgY29tcG9uZW50LiBUaGlzICcgKyBcImVycm9yIGlzIG9mdGVuIGNhdXNlZCBieSBhY2NpZGVudGFsbHkgYWRkaW5nIGAndXNlIGNsaWVudCdgIFwiICsgJ3RvIGEgbW9kdWxlIHRoYXQgd2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBmb3IgdGhlIHNlcnZlci4nKTtcbiAgfVxufVxuXG52YXIgdGhlbmFibGVTdGF0ZSQxID0gbnVsbDtcbnZhciB0aGVuYWJsZUluZGV4Q291bnRlciQxID0gMDtcblxuZnVuY3Rpb24gbWVyZ2VEZWJ1Z0luZm8ob3V0ZXIsIGlubmVyKSB7XG5cbiAgaWYgKGlubmVyID09IG51bGwpIHtcbiAgICByZXR1cm4gb3V0ZXI7XG4gIH0gZWxzZSBpZiAob3V0ZXIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gaW5uZXI7XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgd2UgaGF2ZSB0d28gZGVidWdJbmZvLCB3ZSBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBvbmUuIFRoaXMgbWFrZXMgdGhlIGFycmF5IG5vIGxvbmdlclxuICAgIC8vIGxpdmUgc28gd2UnbGwgbWlzcyBhbnkgZnV0dXJlIHVwZGF0ZXMgaWYgd2UgcmVjZWl2ZWQgbW9yZSBzbyBpZGVhbGx5IHdlIHNob3VsZCBhbHdheXNcbiAgICAvLyBkbyB0aGlzIGFmdGVyIGJvdGggaGF2ZSBmdWxseSByZXNvbHZlZC91bnN1c3BlbmRlZC5cbiAgICByZXR1cm4gb3V0ZXIuY29uY2F0KGlubmVyKTtcbiAgfVxufVxuXG52YXIgZGlkV2FybkFib3V0TWFwcztcbnZhciBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nO1xudmFyIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZztcbnZhciBvd25lckhhc1N5bWJvbFR5cGVXYXJuaW5nO1xuXG52YXIgd2FybkZvck1pc3NpbmdLZXkgPSBmdW5jdGlvbiAoY2hpbGQsIHJldHVybkZpYmVyKSB7fTtcblxue1xuICBkaWRXYXJuQWJvdXRNYXBzID0gZmFsc2U7XG4gIGRpZFdhcm5BYm91dEdlbmVyYXRvcnMgPSBmYWxzZTtcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xuICAvKipcbiAgICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICAgKiBvYmplY3Qga2V5cyBhcmUgbm90IHZhbGlkLiBUaGlzIGFsbG93cyB1cyB0byBrZWVwIHRyYWNrIG9mIGNoaWxkcmVuIGJldHdlZW5cbiAgICogdXBkYXRlcy5cbiAgICovXG5cbiAgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4gIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZyA9IHt9O1xuICBvd25lckhhc1N5bWJvbFR5cGVXYXJuaW5nID0ge307XG5cbiAgd2FybkZvck1pc3NpbmdLZXkgPSBmdW5jdGlvbiAoY2hpbGQsIHJldHVybkZpYmVyKSB7XG4gICAgaWYgKGNoaWxkID09PSBudWxsIHx8IHR5cGVvZiBjaGlsZCAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWNoaWxkLl9zdG9yZSB8fCBjaGlsZC5fc3RvcmUudmFsaWRhdGVkIHx8IGNoaWxkLmtleSAhPSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjaGlsZC5fc3RvcmUgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlYWN0IENvbXBvbmVudCBpbiB3YXJuRm9yTWlzc2luZ0tleSBzaG91bGQgaGF2ZSBhIF9zdG9yZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH0gLy8gJEZsb3dGaXhNZVtjYW5ub3Qtd3JpdGVdIHVuYWJsZSB0byBuYXJyb3cgdHlwZSBmcm9tIG1peGVkIHRvIHdyaXRhYmxlIG9iamVjdFxuXG5cbiAgICBjaGlsZC5fc3RvcmUudmFsaWRhdGVkID0gdHJ1ZTtcbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIocmV0dXJuRmliZXIpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjb21wb25lbnROYW1lXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjb21wb25lbnROYW1lXSA9IHRydWU7XG5cbiAgICBlcnJvcignRWFjaCBjaGlsZCBpbiBhIGxpc3Qgc2hvdWxkIGhhdmUgYSB1bmlxdWUgJyArICdcImtleVwiIHByb3AuIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciAnICsgJ21vcmUgaW5mb3JtYXRpb24uJyk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzUmVhY3RDbGFzcyh0eXBlKSB7XG4gIHJldHVybiB0eXBlLnByb3RvdHlwZSAmJiB0eXBlLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50O1xufVxuXG5mdW5jdGlvbiB1bndyYXBUaGVuYWJsZSh0aGVuYWJsZSkge1xuICB2YXIgaW5kZXggPSB0aGVuYWJsZUluZGV4Q291bnRlciQxO1xuICB0aGVuYWJsZUluZGV4Q291bnRlciQxICs9IDE7XG5cbiAgaWYgKHRoZW5hYmxlU3RhdGUkMSA9PT0gbnVsbCkge1xuICAgIHRoZW5hYmxlU3RhdGUkMSA9IGNyZWF0ZVRoZW5hYmxlU3RhdGUoKTtcbiAgfVxuXG4gIHJldHVybiB0cmFja1VzZWRUaGVuYWJsZSh0aGVuYWJsZVN0YXRlJDEsIHRoZW5hYmxlLCBpbmRleCk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRTdHJpbmdSZWZUb0NhbGxiYWNrUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LCBtaXhlZFJlZikge1xuICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcblxuICBpZiAoIW93bmVyKSB7XG4gICAgaWYgKHR5cGVvZiBtaXhlZFJlZiAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgcmVmIHRvIGJlIGEgZnVuY3Rpb24sIGEgc3RyaW5nLCBhbiBvYmplY3QgcmV0dXJuZWQgYnkgUmVhY3QuY3JlYXRlUmVmKCksIG9yIG51bGwuJyk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRWxlbWVudCByZWYgd2FzIHNwZWNpZmllZCBhcyBhIHN0cmluZyAoXCIgKyBtaXhlZFJlZiArIFwiKSBidXQgbm8gb3duZXIgd2FzIHNldC4gVGhpcyBjb3VsZCBoYXBwZW4gZm9yIG9uZSBvZlwiICsgJyB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWF5IGJlIGFkZGluZyBhIHJlZiB0byBhIGZ1bmN0aW9uIGNvbXBvbmVudFxcbicgKyBcIjIuIFlvdSBtYXkgYmUgYWRkaW5nIGEgcmVmIHRvIGEgY29tcG9uZW50IHRoYXQgd2FzIG5vdCBjcmVhdGVkIGluc2lkZSBhIGNvbXBvbmVudCdzIHJlbmRlciBtZXRob2RcXG5cIiArICczLiBZb3UgaGF2ZSBtdWx0aXBsZSBjb3BpZXMgb2YgUmVhY3QgbG9hZGVkXFxuJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3JlZnMtbXVzdC1oYXZlLW93bmVyIGZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICB9XG5cbiAgaWYgKG93bmVyLnRhZyAhPT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIGNvbXBvbmVudHMgY2Fubm90IGhhdmUgc3RyaW5nIHJlZnMuICcgKyAnV2UgcmVjb21tZW5kIHVzaW5nIHVzZVJlZigpIGluc3RlYWQuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zdHJpY3QtbW9kZS1zdHJpbmctcmVmJyk7XG4gIH0gLy8gQXQgdGhpcyBwb2ludCwgd2Uga25vdyB0aGUgcmVmIGlzbid0IGFuIG9iamVjdCBvciBmdW5jdGlvbiBidXQgaXQgY291bGRcbiAgLy8gYmUgYSBudW1iZXIuIENvZXJjZSBpdCB0byBhIHN0cmluZy5cblxuXG4gIHtcbiAgICBjaGVja1Byb3BTdHJpbmdDb2VyY2lvbihtaXhlZFJlZiwgJ3JlZicpO1xuICB9XG5cbiAgdmFyIHN0cmluZ1JlZiA9ICcnICsgbWl4ZWRSZWY7XG5cbiAge1xuICAgIGlmICggLy8gV2lsbCBhbHJlYWR5IHdhcm4gd2l0aCBcIkZ1bmN0aW9uIGNvbXBvbmVudHMgY2Fubm90IGJlIGdpdmVuIHJlZnNcIlxuICAgICEodHlwZW9mIGVsZW1lbnQudHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiAhaXNSZWFjdENsYXNzKGVsZW1lbnQudHlwZSkpKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIocmV0dXJuRmliZXIpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgZXJyb3IoJ0NvbXBvbmVudCBcIiVzXCIgY29udGFpbnMgdGhlIHN0cmluZyByZWYgXCIlc1wiLiBTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyAnICsgJ3dpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgdXNpbmcgJyArICd1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGNvbXBvbmVudE5hbWUsIHN0cmluZ1JlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGluc3QgPSBvd25lci5zdGF0ZU5vZGU7XG5cbiAgaWYgKCFpbnN0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBvd25lciBmb3Igc3RyaW5nIHJlZiBcIiArIHN0cmluZ1JlZiArIFwiLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBcIiArICdidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9IC8vIENoZWNrIGlmIHByZXZpb3VzIHN0cmluZyByZWYgbWF0Y2hlcyBuZXcgc3RyaW5nIHJlZlxuXG5cbiAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5yZWYgIT09IG51bGwgJiYgdHlwZW9mIGN1cnJlbnQucmVmID09PSAnZnVuY3Rpb24nICYmIGN1cnJlbnQucmVmLl9zdHJpbmdSZWYgPT09IHN0cmluZ1JlZikge1xuICAgIC8vIFJldXNlIHRoZSBleGlzdGluZyBzdHJpbmcgcmVmXG4gICAgdmFyIGN1cnJlbnRSZWYgPSBjdXJyZW50LnJlZjtcbiAgICByZXR1cm4gY3VycmVudFJlZjtcbiAgfSAvLyBDcmVhdGUgYSBuZXcgc3RyaW5nIHJlZlxuXG5cbiAgdmFyIHJlZiA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgIHZhciByZWZzID0gaW5zdC5yZWZzO1xuXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICBkZWxldGUgcmVmc1tzdHJpbmdSZWZdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZWZzW3N0cmluZ1JlZl0gPSB2YWx1ZTtcbiAgICB9XG4gIH07XG5cbiAgcmVmLl9zdHJpbmdSZWYgPSBzdHJpbmdSZWY7XG4gIHJldHVybiByZWY7XG59XG5cbmZ1bmN0aW9uIGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGVsZW1lbnQpIHtcbiAgdmFyIG1peGVkUmVmO1xuXG4gIHtcbiAgICAvLyBPbGQgYmVoYXZpb3IuXG4gICAgbWl4ZWRSZWYgPSBlbGVtZW50LnJlZjtcbiAgfVxuXG4gIHZhciBjb2VyY2VkUmVmO1xuXG4gIGlmIChtaXhlZFJlZiAhPT0gbnVsbCAmJiB0eXBlb2YgbWl4ZWRSZWYgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG1peGVkUmVmICE9PSAnb2JqZWN0Jykge1xuICAgIC8vIEFzc3VtZSB0aGlzIGlzIGEgc3RyaW5nIHJlZi4gSWYgaXQncyBub3QsIHRoZW4gdGhpcyB3aWxsIHRocm93IGFuIGVycm9yXG4gICAgLy8gdG8gdGhlIHVzZXIuXG4gICAgY29lcmNlZFJlZiA9IGNvbnZlcnRTdHJpbmdSZWZUb0NhbGxiYWNrUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LCBtaXhlZFJlZik7XG4gIH0gZWxzZSB7XG4gICAgY29lcmNlZFJlZiA9IG1peGVkUmVmO1xuICB9IC8vIFRPRE86IElmIGVuYWJsZVJlZkFzUHJvcCBpcyBvbiwgd2Ugc2hvdWxkbid0IHVzZSB0aGUgYHJlZmAgZmllbGQuIFdlXG4gIC8vIHNob3VsZCBhbHdheXMgcmVhZCB0aGUgcmVmIGZyb20gdGhlIHByb3AuXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5yZWYgPSBjb2VyY2VkUmVmO1xufVxuXG5mdW5jdGlvbiB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKSB7XG4gIC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cbiAgdmFyIGNoaWxkU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ld0NoaWxkKTtcbiAgdGhyb3cgbmV3IEVycm9yKFwiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiBcIiArIChjaGlsZFN0cmluZyA9PT0gJ1tvYmplY3QgT2JqZWN0XScgPyAnb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKG5ld0NoaWxkKS5qb2luKCcsICcpICsgJ30nIDogY2hpbGRTdHJpbmcpICsgXCIpLiBcIiArICdJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5ICcgKyAnaW5zdGVhZC4nKTtcbn1cblxuZnVuY3Rpb24gd2Fybk9uRnVuY3Rpb25UeXBlKHJldHVybkZpYmVyLCBpbnZhbGlkQ2hpbGQpIHtcbiAge1xuICAgIHZhciBwYXJlbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihyZXR1cm5GaWJlcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICBpZiAob3duZXJIYXNGdW5jdGlvblR5cGVXYXJuaW5nW3BhcmVudE5hbWVdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb3duZXJIYXNGdW5jdGlvblR5cGVXYXJuaW5nW3BhcmVudE5hbWVdID0gdHJ1ZTtcbiAgICB2YXIgbmFtZSA9IGludmFsaWRDaGlsZC5kaXNwbGF5TmFtZSB8fCBpbnZhbGlkQ2hpbGQubmFtZSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChyZXR1cm5GaWJlci50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICBlcnJvcignRnVuY3Rpb25zIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZC4gVGhpcyBtYXkgaGFwcGVuIGlmICcgKyAneW91IHJldHVybiAlcyBpbnN0ZWFkIG9mIDwlcyAvPiBmcm9tIHJlbmRlci4gJyArICdPciBtYXliZSB5b3UgbWVhbnQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHJldHVybiBpdC5cXG4nICsgJyAgcm9vdC5yZW5kZXIoJXMpJywgbmFtZSwgbmFtZSwgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yKCdGdW5jdGlvbnMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkLiBUaGlzIG1heSBoYXBwZW4gaWYgJyArICd5b3UgcmV0dXJuICVzIGluc3RlYWQgb2YgPCVzIC8+IGZyb20gcmVuZGVyLiAnICsgJ09yIG1heWJlIHlvdSBtZWFudCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gcmV0dXJuIGl0LlxcbicgKyAnICA8JXM+eyVzfTwvJXM+JywgbmFtZSwgbmFtZSwgcGFyZW50TmFtZSwgbmFtZSwgcGFyZW50TmFtZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5PblN5bWJvbFR5cGUocmV0dXJuRmliZXIsIGludmFsaWRDaGlsZCkge1xuICB7XG4gICAgdmFyIHBhcmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChvd25lckhhc1N5bWJvbFR5cGVXYXJuaW5nW3BhcmVudE5hbWVdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb3duZXJIYXNTeW1ib2xUeXBlV2FybmluZ1twYXJlbnROYW1lXSA9IHRydWU7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG4gICAgdmFyIG5hbWUgPSBTdHJpbmcoaW52YWxpZENoaWxkKTtcblxuICAgIGlmIChyZXR1cm5GaWJlci50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICBlcnJvcignU3ltYm9scyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQuXFxuJyArICcgIHJvb3QucmVuZGVyKCVzKScsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvcignU3ltYm9scyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQuXFxuJyArICcgIDwlcz4lczwvJXM+JywgcGFyZW50TmFtZSwgbmFtZSwgcGFyZW50TmFtZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVMYXp5KGxhenlUeXBlKSB7XG4gIHZhciBwYXlsb2FkID0gbGF6eVR5cGUuX3BheWxvYWQ7XG4gIHZhciBpbml0ID0gbGF6eVR5cGUuX2luaXQ7XG4gIHJldHVybiBpbml0KHBheWxvYWQpO1xufSAvLyBUaGlzIHdyYXBwZXIgZnVuY3Rpb24gZXhpc3RzIGJlY2F1c2UgSSBleHBlY3QgdG8gY2xvbmUgdGhlIGNvZGUgaW4gZWFjaCBwYXRoXG4vLyB0byBiZSBhYmxlIHRvIG9wdGltaXplIGVhY2ggcGF0aCBpbmRpdmlkdWFsbHkgYnkgYnJhbmNoaW5nIGVhcmx5LiBUaGlzIG5lZWRzXG4vLyBhIGNvbXBpbGVyIG9yIHdlIGNhbiBkbyBpdCBtYW51YWxseS4gSGVscGVycyB0aGF0IGRvbid0IG5lZWQgdGhpcyBicmFuY2hpbmdcbi8vIGxpdmUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLlxuXG5cbmZ1bmN0aW9uIGNyZWF0ZUNoaWxkUmVjb25jaWxlcihzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gIGZ1bmN0aW9uIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZFRvRGVsZXRlKSB7XG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBOb29wLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBkZWxldGlvbnMgPSByZXR1cm5GaWJlci5kZWxldGlvbnM7XG5cbiAgICBpZiAoZGVsZXRpb25zID09PSBudWxsKSB7XG4gICAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBbY2hpbGRUb0RlbGV0ZV07XG4gICAgICByZXR1cm5GaWJlci5mbGFncyB8PSBDaGlsZERlbGV0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGlvbnMucHVzaChjaGlsZFRvRGVsZXRlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpIHtcbiAgICBpZiAoIXNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgIC8vIE5vb3AuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IC8vIFRPRE86IEZvciB0aGUgc2hvdWxkQ2xvbmUgY2FzZSwgdGhpcyBjb3VsZCBiZSBtaWNyby1vcHRpbWl6ZWQgYSBiaXQgYnlcbiAgICAvLyBhc3N1bWluZyB0aGF0IGFmdGVyIHRoZSBmaXJzdCBjaGlsZCB3ZSd2ZSBhbHJlYWR5IGFkZGVkIGV2ZXJ5dGhpbmcuXG5cblxuICAgIHZhciBjaGlsZFRvRGVsZXRlID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGRUb0RlbGV0ZSAhPT0gbnVsbCkge1xuICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkVG9EZWxldGUpO1xuICAgICAgY2hpbGRUb0RlbGV0ZSA9IGNoaWxkVG9EZWxldGUuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCkge1xuICAgIC8vIEFkZCB0aGUgcmVtYWluaW5nIGNoaWxkcmVuIHRvIGEgdGVtcG9yYXJ5IG1hcCBzbyB0aGF0IHdlIGNhbiBmaW5kIHRoZW0gYnlcbiAgICAvLyBrZXlzIHF1aWNrbHkuIEltcGxpY2l0IChudWxsKSBrZXlzIGdldCBhZGRlZCB0byB0aGlzIHNldCB3aXRoIHRoZWlyIGluZGV4XG4gICAgLy8gaW5zdGVhZC5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG5ldyBNYXAoKTtcbiAgICB2YXIgZXhpc3RpbmdDaGlsZCA9IGN1cnJlbnRGaXJzdENoaWxkO1xuXG4gICAgd2hpbGUgKGV4aXN0aW5nQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGlmIChleGlzdGluZ0NoaWxkLmtleSAhPT0gbnVsbCkge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmtleSwgZXhpc3RpbmdDaGlsZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmluZGV4LCBleGlzdGluZ0NoaWxkKTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdDaGlsZCA9IGV4aXN0aW5nQ2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gZXhpc3RpbmdDaGlsZHJlbjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVzZUZpYmVyKGZpYmVyLCBwZW5kaW5nUHJvcHMpIHtcbiAgICAvLyBXZSBjdXJyZW50bHkgc2V0IHNpYmxpbmcgdG8gbnVsbCBhbmQgaW5kZXggdG8gMCBoZXJlIGJlY2F1c2UgaXQgaXMgZWFzeVxuICAgIC8vIHRvIGZvcmdldCB0byBkbyBiZWZvcmUgcmV0dXJuaW5nIGl0LiBFLmcuIGZvciB0aGUgc2luZ2xlIGNoaWxkIGNhc2UuXG4gICAgdmFyIGNsb25lID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoZmliZXIsIHBlbmRpbmdQcm9wcyk7XG4gICAgY2xvbmUuaW5kZXggPSAwO1xuICAgIGNsb25lLnNpYmxpbmcgPSBudWxsO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SW5kZXgpIHtcbiAgICBuZXdGaWJlci5pbmRleCA9IG5ld0luZGV4O1xuXG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBEdXJpbmcgaHlkcmF0aW9uLCB0aGUgdXNlSWQgYWxnb3JpdGhtIG5lZWRzIHRvIGtub3cgd2hpY2ggZmliZXJzIGFyZVxuICAgICAgLy8gcGFydCBvZiBhIGxpc3Qgb2YgY2hpbGRyZW4gKGFycmF5cywgaXRlcmF0b3JzKS5cbiAgICAgIG5ld0ZpYmVyLmZsYWdzIHw9IEZvcmtlZDtcbiAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgfVxuXG4gICAgdmFyIGN1cnJlbnQgPSBuZXdGaWJlci5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgdmFyIG9sZEluZGV4ID0gY3VycmVudC5pbmRleDtcblxuICAgICAgaWYgKG9sZEluZGV4IDwgbGFzdFBsYWNlZEluZGV4KSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBtb3ZlLlxuICAgICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQgfCBQbGFjZW1lbnRERVY7XG4gICAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIGl0ZW0gY2FuIHN0YXkgaW4gcGxhY2UuXG4gICAgICAgIHJldHVybiBvbGRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBpcyBhbiBpbnNlcnRpb24uXG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQgfCBQbGFjZW1lbnRERVY7XG4gICAgICByZXR1cm4gbGFzdFBsYWNlZEluZGV4O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlU2luZ2xlQ2hpbGQobmV3RmliZXIpIHtcbiAgICAvLyBUaGlzIGlzIHNpbXBsZXIgZm9yIHRoZSBzaW5nbGUgY2hpbGQgY2FzZS4gV2Ugb25seSBuZWVkIHRvIGRvIGFcbiAgICAvLyBwbGFjZW1lbnQgZm9yIGluc2VydGluZyBuZXcgY2hpbGRyZW4uXG4gICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQgfCBQbGFjZW1lbnRERVY7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld0ZpYmVyO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnQsIHRleHRDb250ZW50LCBsYW5lcywgZGVidWdJbmZvKSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEhvc3RUZXh0KSB7XG4gICAgICAvLyBJbnNlcnRcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tVGV4dCh0ZXh0Q29udGVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcblxuICAgICAge1xuICAgICAgICBjcmVhdGVkLl9kZWJ1Z0luZm8gPSBkZWJ1Z0luZm87XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjcmVhdGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGVcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIHRleHRDb250ZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICB7XG4gICAgICAgIGV4aXN0aW5nLl9kZWJ1Z0luZm8gPSBkZWJ1Z0luZm87XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LCBsYW5lcywgZGVidWdJbmZvKSB7XG4gICAgdmFyIGVsZW1lbnRUeXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKGVsZW1lbnRUeXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICByZXR1cm4gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQucHJvcHMuY2hpbGRyZW4sIGxhbmVzLCBlbGVtZW50LmtleSwgZGVidWdJbmZvKTtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgaWYgKGN1cnJlbnQuZWxlbWVudFR5cGUgPT09IGVsZW1lbnRUeXBlIHx8ICggLy8gS2VlcCB0aGlzIGNoZWNrIGlubGluZSBzbyBpdCBvbmx5IHJ1bnMgb24gdGhlIGZhbHNlIHBhdGg6XG4gICAgICBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoY3VycmVudCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgIC8vIFdlIG5lZWQgdG8gZG8gdGhpcyBhZnRlciB0aGUgSG90IFJlbG9hZGluZyBjaGVjayBhYm92ZSxcbiAgICAgIC8vIGJlY2F1c2UgaG90IHJlbG9hZGluZyBoYXMgZGlmZmVyZW50IHNlbWFudGljcyB0aGFuIHByb2QgYmVjYXVzZVxuICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgdHlwZW9mIGVsZW1lbnRUeXBlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50VHlwZSAhPT0gbnVsbCAmJiBlbGVtZW50VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFICYmIHJlc29sdmVMYXp5KGVsZW1lbnRUeXBlKSA9PT0gY3VycmVudC50eXBlKSB7XG4gICAgICAgIC8vIE1vdmUgYmFzZWQgb24gaW5kZXhcbiAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgZWxlbWVudC5wcm9wcyk7XG4gICAgICAgIGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudCwgZXhpc3RpbmcsIGVsZW1lbnQpO1xuICAgICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcblxuICAgICAgICB7XG4gICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgICBleGlzdGluZy5fZGVidWdJbmZvID0gZGVidWdJbmZvO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgICAgfVxuICAgIH0gLy8gSW5zZXJ0XG5cblxuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCByZXR1cm5GaWJlci5tb2RlLCBsYW5lcyk7XG4gICAgY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBjcmVhdGVkLCBlbGVtZW50KTtcbiAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAge1xuICAgICAgY3JlYXRlZC5fZGVidWdJbmZvID0gZGVidWdJbmZvO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVkO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50LCBwb3J0YWwsIGxhbmVzLCBkZWJ1Z0luZm8pIHtcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50LnRhZyAhPT0gSG9zdFBvcnRhbCB8fCBjdXJyZW50LnN0YXRlTm9kZS5jb250YWluZXJJbmZvICE9PSBwb3J0YWwuY29udGFpbmVySW5mbyB8fCBjdXJyZW50LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiAhPT0gcG9ydGFsLmltcGxlbWVudGF0aW9uKSB7XG4gICAgICAvLyBJbnNlcnRcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcblxuICAgICAge1xuICAgICAgICBjcmVhdGVkLl9kZWJ1Z0luZm8gPSBkZWJ1Z0luZm87XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjcmVhdGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGVcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIHBvcnRhbC5jaGlsZHJlbiB8fCBbXSk7XG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcblxuICAgICAge1xuICAgICAgICBleGlzdGluZy5fZGVidWdJbmZvID0gZGVidWdJbmZvO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIGN1cnJlbnQsIGZyYWdtZW50LCBsYW5lcywga2V5LCBkZWJ1Z0luZm8pIHtcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50LnRhZyAhPT0gRnJhZ21lbnQpIHtcbiAgICAgIC8vIEluc2VydFxuICAgICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudChmcmFnbWVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMsIGtleSk7XG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICB7XG4gICAgICAgIGNyZWF0ZWQuX2RlYnVnSW5mbyA9IGRlYnVnSW5mbztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNyZWF0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVwZGF0ZVxuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgZnJhZ21lbnQpO1xuICAgICAgZXhpc3RpbmcucmV0dXJuID0gcmV0dXJuRmliZXI7XG5cbiAgICAgIHtcbiAgICAgICAgZXhpc3RpbmcuX2RlYnVnSW5mbyA9IGRlYnVnSW5mbztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZCwgbGFuZXMsIGRlYnVnSW5mbykge1xuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnICYmIG5ld0NoaWxkICE9PSAnJyB8fCB0eXBlb2YgbmV3Q2hpbGQgPT09ICdudW1iZXInKSB7XG4gICAgICAvLyBUZXh0IG5vZGVzIGRvbid0IGhhdmUga2V5cy4gSWYgdGhlIHByZXZpb3VzIG5vZGUgaXMgaW1wbGljaXRseSBrZXllZFxuICAgICAgLy8gd2UgY2FuIGNvbnRpbnVlIHRvIHJlcGxhY2UgaXQgd2l0aG91dCBhYm9ydGluZyBldmVuIGlmIGl0IGlzIG5vdCBhIHRleHRcbiAgICAgIC8vIG5vZGUuXG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVRleHQoJycgKyBuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcblxuICAgICAge1xuICAgICAgICBjcmVhdGVkLl9kZWJ1Z0luZm8gPSBkZWJ1Z0luZm87XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjcmVhdGVkO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKG5ld0NoaWxkLiQkdHlwZW9mKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBfY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQobmV3Q2hpbGQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcblxuICAgICAgICAgICAgY29lcmNlUmVmKHJldHVybkZpYmVyLCBudWxsLCBfY3JlYXRlZCwgbmV3Q2hpbGQpO1xuICAgICAgICAgICAgX2NyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgX2NyZWF0ZWQuX2RlYnVnSW5mbyA9IG1lcmdlRGVidWdJbmZvKGRlYnVnSW5mbywgbmV3Q2hpbGQuX2RlYnVnSW5mbyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBfY3JlYXRlZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX2NyZWF0ZWQyID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBsYW5lcyk7XG5cbiAgICAgICAgICAgIF9jcmVhdGVkMi5yZXR1cm4gPSByZXR1cm5GaWJlcjtcblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBfY3JlYXRlZDIuX2RlYnVnSW5mbyA9IGRlYnVnSW5mbztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIF9jcmVhdGVkMjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICAgIHZhciBpbml0ID0gbmV3Q2hpbGQuX2luaXQ7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlQ2hpbGQocmV0dXJuRmliZXIsIGluaXQocGF5bG9hZCksIGxhbmVzLCBtZXJnZURlYnVnSW5mbyhkZWJ1Z0luZm8sIG5ld0NoaWxkLl9kZWJ1Z0luZm8pIC8vIGNhbGwgbWVyZ2UgYWZ0ZXIgaW5pdFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0FycmF5KG5ld0NoaWxkKSB8fCBnZXRJdGVyYXRvckZuKG5ld0NoaWxkKSkge1xuICAgICAgICB2YXIgX2NyZWF0ZWQzID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQobmV3Q2hpbGQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzLCBudWxsKTtcblxuICAgICAgICBfY3JlYXRlZDMucmV0dXJuID0gcmV0dXJuRmliZXI7XG5cbiAgICAgICAge1xuICAgICAgICAgIF9jcmVhdGVkMy5fZGVidWdJbmZvID0gbWVyZ2VEZWJ1Z0luZm8oZGVidWdJbmZvLCBuZXdDaGlsZC5fZGVidWdJbmZvKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBfY3JlYXRlZDM7XG4gICAgICB9IC8vIFVzYWJsZSBub2RlIHR5cGVzXG4gICAgICAvL1xuICAgICAgLy8gVW53cmFwIHRoZSBpbm5lciB2YWx1ZSBhbmQgcmVjdXJzaXZlbHkgY2FsbCB0aGlzIGZ1bmN0aW9uIGFnYWluLlxuXG5cbiAgICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB2YXIgdGhlbmFibGUgPSBuZXdDaGlsZDtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCB1bndyYXBUaGVuYWJsZSh0aGVuYWJsZSksIGxhbmVzLCBtZXJnZURlYnVnSW5mbyhkZWJ1Z0luZm8sIG5ld0NoaWxkLl9kZWJ1Z0luZm8pKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5ld0NoaWxkLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUpIHtcbiAgICAgICAgdmFyIGNvbnRleHQgPSBuZXdDaGlsZDtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCByZWFkQ29udGV4dER1cmluZ1JlY29uY2lsYXRpb24ocmV0dXJuRmliZXIsIGNvbnRleHQsIGxhbmVzKSwgbGFuZXMsIGRlYnVnSW5mbyk7XG4gICAgICB9XG5cbiAgICAgIHRocm93T25JbnZhbGlkT2JqZWN0VHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgd2Fybk9uRnVuY3Rpb25UeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzeW1ib2wnKSB7XG4gICAgICAgIHdhcm5PblN5bWJvbFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMsIGRlYnVnSW5mbykge1xuICAgIC8vIFVwZGF0ZSB0aGUgZmliZXIgaWYgdGhlIGtleXMgbWF0Y2gsIG90aGVyd2lzZSByZXR1cm4gbnVsbC5cbiAgICB2YXIga2V5ID0gb2xkRmliZXIgIT09IG51bGwgPyBvbGRGaWJlci5rZXkgOiBudWxsO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgJiYgbmV3Q2hpbGQgIT09ICcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIC8vIFRleHQgbm9kZXMgZG9uJ3QgaGF2ZSBrZXlzLiBJZiB0aGUgcHJldmlvdXMgbm9kZSBpcyBpbXBsaWNpdGx5IGtleWVkXG4gICAgICAvLyB3ZSBjYW4gY29udGludWUgdG8gcmVwbGFjZSBpdCB3aXRob3V0IGFib3J0aW5nIGV2ZW4gaWYgaXQgaXMgbm90IGEgdGV4dFxuICAgICAgLy8gbm9kZS5cbiAgICAgIGlmIChrZXkgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1cGRhdGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgb2xkRmliZXIsICcnICsgbmV3Q2hpbGQsIGxhbmVzLCBkZWJ1Z0luZm8pO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKG5ld0NoaWxkLiQkdHlwZW9mKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChuZXdDaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlRWxlbWVudChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBsYW5lcywgbWVyZ2VEZWJ1Z0luZm8oZGVidWdJbmZvLCBuZXdDaGlsZC5fZGVidWdJbmZvKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAobmV3Q2hpbGQua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVBvcnRhbChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBsYW5lcywgZGVidWdJbmZvKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcGF5bG9hZCA9IG5ld0NoaWxkLl9wYXlsb2FkO1xuICAgICAgICAgICAgdmFyIGluaXQgPSBuZXdDaGlsZC5faW5pdDtcbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVTbG90KHJldHVybkZpYmVyLCBvbGRGaWJlciwgaW5pdChwYXlsb2FkKSwgbGFuZXMsIG1lcmdlRGVidWdJbmZvKGRlYnVnSW5mbywgbmV3Q2hpbGQuX2RlYnVnSW5mbykpO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIGlmIChrZXkgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cGRhdGVGcmFnbWVudChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBsYW5lcywgbnVsbCwgbWVyZ2VEZWJ1Z0luZm8oZGVidWdJbmZvLCBuZXdDaGlsZC5fZGVidWdJbmZvKSk7XG4gICAgICB9IC8vIFVzYWJsZSBub2RlIHR5cGVzXG4gICAgICAvL1xuICAgICAgLy8gVW53cmFwIHRoZSBpbm5lciB2YWx1ZSBhbmQgcmVjdXJzaXZlbHkgY2FsbCB0aGlzIGZ1bmN0aW9uIGFnYWluLlxuXG5cbiAgICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB2YXIgdGhlbmFibGUgPSBuZXdDaGlsZDtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCB1bndyYXBUaGVuYWJsZSh0aGVuYWJsZSksIGxhbmVzLCBkZWJ1Z0luZm8pO1xuICAgICAgfVxuXG4gICAgICBpZiAobmV3Q2hpbGQuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSkge1xuICAgICAgICB2YXIgY29udGV4dCA9IG5ld0NoaWxkO1xuICAgICAgICByZXR1cm4gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIHJlYWRDb250ZXh0RHVyaW5nUmVjb25jaWxhdGlvbihyZXR1cm5GaWJlciwgY29udGV4dCwgbGFuZXMpLCBsYW5lcywgZGVidWdJbmZvKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgd2Fybk9uU3ltYm9sVHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJvbU1hcChleGlzdGluZ0NoaWxkcmVuLCByZXR1cm5GaWJlciwgbmV3SWR4LCBuZXdDaGlsZCwgbGFuZXMsIGRlYnVnSW5mbykge1xuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnICYmIG5ld0NoaWxkICE9PSAnJyB8fCB0eXBlb2YgbmV3Q2hpbGQgPT09ICdudW1iZXInKSB7XG4gICAgICAvLyBUZXh0IG5vZGVzIGRvbid0IGhhdmUga2V5cywgc28gd2UgbmVpdGhlciBoYXZlIHRvIGNoZWNrIHRoZSBvbGQgbm9yXG4gICAgICAvLyBuZXcgbm9kZSBmb3IgdGhlIGtleS4gSWYgYm90aCBhcmUgdGV4dCBub2RlcywgdGhleSBtYXRjaC5cbiAgICAgIHZhciBtYXRjaGVkRmliZXIgPSBleGlzdGluZ0NoaWxkcmVuLmdldChuZXdJZHgpIHx8IG51bGw7XG4gICAgICByZXR1cm4gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIG1hdGNoZWRGaWJlciwgJycgKyBuZXdDaGlsZCwgbGFuZXMsIGRlYnVnSW5mbyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ29iamVjdCcgJiYgbmV3Q2hpbGQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAobmV3Q2hpbGQuJCR0eXBlb2YpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9tYXRjaGVkRmliZXIgPSBleGlzdGluZ0NoaWxkcmVuLmdldChuZXdDaGlsZC5rZXkgPT09IG51bGwgPyBuZXdJZHggOiBuZXdDaGlsZC5rZXkpIHx8IG51bGw7XG5cbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMsIG1lcmdlRGVidWdJbmZvKGRlYnVnSW5mbywgbmV3Q2hpbGQuX2RlYnVnSW5mbykpO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBfbWF0Y2hlZEZpYmVyMiA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0NoaWxkLmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IG5ld0NoaWxkLmtleSkgfHwgbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVBvcnRhbChyZXR1cm5GaWJlciwgX21hdGNoZWRGaWJlcjIsIG5ld0NoaWxkLCBsYW5lcywgZGVidWdJbmZvKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0O1xuICAgICAgICAgIHJldHVybiB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIGluaXQocGF5bG9hZCksIGxhbmVzLCBtZXJnZURlYnVnSW5mbyhkZWJ1Z0luZm8sIG5ld0NoaWxkLl9kZWJ1Z0luZm8pKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIHZhciBfbWF0Y2hlZEZpYmVyMyA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0lkeCkgfHwgbnVsbDtcblxuICAgICAgICByZXR1cm4gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIzLCBuZXdDaGlsZCwgbGFuZXMsIG51bGwsIG1lcmdlRGVidWdJbmZvKGRlYnVnSW5mbywgbmV3Q2hpbGQuX2RlYnVnSW5mbykpO1xuICAgICAgfSAvLyBVc2FibGUgbm9kZSB0eXBlc1xuICAgICAgLy9cbiAgICAgIC8vIFVud3JhcCB0aGUgaW5uZXIgdmFsdWUgYW5kIHJlY3Vyc2l2ZWx5IGNhbGwgdGhpcyBmdW5jdGlvbiBhZ2Fpbi5cblxuXG4gICAgICBpZiAodHlwZW9mIG5ld0NoaWxkLnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdmFyIHRoZW5hYmxlID0gbmV3Q2hpbGQ7XG4gICAgICAgIHJldHVybiB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIHVud3JhcFRoZW5hYmxlKHRoZW5hYmxlKSwgbGFuZXMsIGRlYnVnSW5mbyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXdDaGlsZC4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFKSB7XG4gICAgICAgIHZhciBjb250ZXh0ID0gbmV3Q2hpbGQ7XG4gICAgICAgIHJldHVybiB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIHJlYWRDb250ZXh0RHVyaW5nUmVjb25jaWxhdGlvbihyZXR1cm5GaWJlciwgY29udGV4dCwgbGFuZXMpLCBsYW5lcywgZGVidWdJbmZvKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgd2Fybk9uU3ltYm9sVHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8qKlxuICAgKiBXYXJucyBpZiB0aGVyZSBpcyBhIGR1cGxpY2F0ZSBvciBtaXNzaW5nIGtleVxuICAgKi9cblxuXG4gIGZ1bmN0aW9uIHdhcm5PbkludmFsaWRLZXkoY2hpbGQsIGtub3duS2V5cywgcmV0dXJuRmliZXIpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkICE9PSAnb2JqZWN0JyB8fCBjaGlsZCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4ga25vd25LZXlzO1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKGNoaWxkLiQkdHlwZW9mKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgICAgIHdhcm5Gb3JNaXNzaW5nS2V5KGNoaWxkLCByZXR1cm5GaWJlcik7XG4gICAgICAgICAgdmFyIGtleSA9IGNoaWxkLmtleTtcblxuICAgICAgICAgIGlmICh0eXBlb2Yga2V5ICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGtub3duS2V5cyA9PT0gbnVsbCkge1xuICAgICAgICAgICAga25vd25LZXlzID0gbmV3IFNldCgpO1xuICAgICAgICAgICAga25vd25LZXlzLmFkZChrZXkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFrbm93bktleXMuaGFzKGtleSkpIHtcbiAgICAgICAgICAgIGtub3duS2V5cy5hZGQoa2V5KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVycm9yKCdFbmNvdW50ZXJlZCB0d28gY2hpbGRyZW4gd2l0aCB0aGUgc2FtZSBrZXksIGAlc2AuICcgKyAnS2V5cyBzaG91bGQgYmUgdW5pcXVlIHNvIHRoYXQgY29tcG9uZW50cyBtYWludGFpbiB0aGVpciBpZGVudGl0eSAnICsgJ2Fjcm9zcyB1cGRhdGVzLiBOb24tdW5pcXVlIGtleXMgbWF5IGNhdXNlIGNoaWxkcmVuIHRvIGJlICcgKyAnZHVwbGljYXRlZCBhbmQvb3Igb21pdHRlZCDigJQgdGhlIGJlaGF2aW9yIGlzIHVuc3VwcG9ydGVkIGFuZCAnICsgJ2NvdWxkIGNoYW5nZSBpbiBhIGZ1dHVyZSB2ZXJzaW9uLicsIGtleSk7XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGNoaWxkLl9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gY2hpbGQuX2luaXQ7XG4gICAgICAgICAgd2Fybk9uSW52YWxpZEtleShpbml0KHBheWxvYWQpLCBrbm93bktleXMsIHJldHVybkZpYmVyKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ga25vd25LZXlzO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlQ2hpbGRyZW5BcnJheShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkcmVuLCBsYW5lcywgZGVidWdJbmZvKSB7XG4gICAgLy8gVGhpcyBhbGdvcml0aG0gY2FuJ3Qgb3B0aW1pemUgYnkgc2VhcmNoaW5nIGZyb20gYm90aCBlbmRzIHNpbmNlIHdlXG4gICAgLy8gZG9uJ3QgaGF2ZSBiYWNrcG9pbnRlcnMgb24gZmliZXJzLiBJJ20gdHJ5aW5nIHRvIHNlZSBob3cgZmFyIHdlIGNhbiBnZXRcbiAgICAvLyB3aXRoIHRoYXQgbW9kZWwuIElmIGl0IGVuZHMgdXAgbm90IGJlaW5nIHdvcnRoIHRoZSB0cmFkZW9mZnMsIHdlIGNhblxuICAgIC8vIGFkZCBpdCBsYXRlci5cbiAgICAvLyBFdmVuIHdpdGggYSB0d28gZW5kZWQgb3B0aW1pemF0aW9uLCB3ZSdkIHdhbnQgdG8gb3B0aW1pemUgZm9yIHRoZSBjYXNlXG4gICAgLy8gd2hlcmUgdGhlcmUgYXJlIGZldyBjaGFuZ2VzIGFuZCBicnV0ZSBmb3JjZSB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mXG4gICAgLy8gZ29pbmcgZm9yIHRoZSBNYXAuIEl0J2QgbGlrZSB0byBleHBsb3JlIGhpdHRpbmcgdGhhdCBwYXRoIGZpcnN0IGluXG4gICAgLy8gZm9yd2FyZC1vbmx5IG1vZGUgYW5kIG9ubHkgZ28gZm9yIHRoZSBNYXAgb25jZSB3ZSBub3RpY2UgdGhhdCB3ZSBuZWVkXG4gICAgLy8gbG90cyBvZiBsb29rIGFoZWFkLiBUaGlzIGRvZXNuJ3QgaGFuZGxlIHJldmVyc2FsIGFzIHdlbGwgYXMgdHdvIGVuZGVkXG4gICAgLy8gc2VhcmNoIGJ1dCB0aGF0J3MgdW51c3VhbC4gQmVzaWRlcywgZm9yIHRoZSB0d28gZW5kZWQgb3B0aW1pemF0aW9uIHRvXG4gICAgLy8gd29yayBvbiBJdGVyYWJsZXMsIHdlJ2QgbmVlZCB0byBjb3B5IHRoZSB3aG9sZSBzZXQuXG4gICAgLy8gSW4gdGhpcyBmaXJzdCBpdGVyYXRpb24sIHdlJ2xsIGp1c3QgbGl2ZSB3aXRoIGhpdHRpbmcgdGhlIGJhZCBjYXNlXG4gICAgLy8gKGFkZGluZyBldmVyeXRoaW5nIHRvIGEgTWFwKSBpbiBmb3IgZXZlcnkgaW5zZXJ0L21vdmUuXG4gICAgLy8gSWYgeW91IGNoYW5nZSB0aGlzIGNvZGUsIGFsc28gdXBkYXRlIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IoKSB3aGljaFxuICAgIC8vIHVzZXMgdGhlIHNhbWUgYWxnb3JpdGhtLlxuICAgIHtcbiAgICAgIC8vIEZpcnN0LCB2YWxpZGF0ZSBrZXlzLlxuICAgICAgdmFyIGtub3duS2V5cyA9IG51bGw7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoaWxkID0gbmV3Q2hpbGRyZW5baV07XG4gICAgICAgIGtub3duS2V5cyA9IHdhcm5PbkludmFsaWRLZXkoY2hpbGQsIGtub3duS2V5cywgcmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByZXN1bHRpbmdGaXJzdENoaWxkID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNOZXdGaWJlciA9IG51bGw7XG4gICAgdmFyIG9sZEZpYmVyID0gY3VycmVudEZpcnN0Q2hpbGQ7XG4gICAgdmFyIGxhc3RQbGFjZWRJbmRleCA9IDA7XG4gICAgdmFyIG5ld0lkeCA9IDA7XG4gICAgdmFyIG5leHRPbGRGaWJlciA9IG51bGw7XG5cbiAgICBmb3IgKDsgb2xkRmliZXIgIT09IG51bGwgJiYgbmV3SWR4IDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBuZXdJZHgrKykge1xuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyO1xuICAgICAgICBvbGRGaWJlciA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlci5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICB2YXIgbmV3RmliZXIgPSB1cGRhdGVTbG90KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMsIGRlYnVnSW5mbyk7XG5cbiAgICAgIGlmIChuZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGJyZWFrcyBvbiBlbXB0eSBzbG90cyBsaWtlIG51bGwgY2hpbGRyZW4uIFRoYXQnc1xuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXG4gICAgICAgIC8vIGEgYmV0dGVyIHdheSB0byBjb21tdW5pY2F0ZSB3aGV0aGVyIHRoaXMgd2FzIGEgbWlzcyBvciBudWxsLFxuICAgICAgICAvLyBib29sZWFuLCB1bmRlZmluZWQsIGV0Yy5cbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgaWYgKG9sZEZpYmVyICYmIG5ld0ZpYmVyLmFsdGVybmF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxuICAgICAgICAgIC8vIG5lZWQgdG8gZGVsZXRlIHRoZSBleGlzdGluZyBjaGlsZC5cbiAgICAgICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgb2xkRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gbmV3RmliZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXG4gICAgICAgIC8vIEkuZS4gaWYgd2UgaGFkIG51bGwgdmFsdWVzIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIGRlZmVyIHRoaXNcbiAgICAgICAgLy8gZm9yIGVhY2ggbnVsbCB2YWx1ZS4gSG93ZXZlciwgd2UgYWxzbyBkb24ndCB3YW50IHRvIGNhbGwgdXBkYXRlU2xvdFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IG5ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBwcmV2aW91c05ld0ZpYmVyID0gbmV3RmliZXI7XG4gICAgICBvbGRGaWJlciA9IG5leHRPbGRGaWJlcjtcbiAgICB9XG5cbiAgICBpZiAobmV3SWR4ID09PSBuZXdDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIC8vIFdlJ3ZlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgbmV3IGNoaWxkcmVuLiBXZSBjYW4gZGVsZXRlIHRoZSByZXN0LlxuICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIG9sZEZpYmVyKTtcblxuICAgICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgICAgdmFyIG51bWJlck9mRm9ya3MgPSBuZXdJZHg7XG4gICAgICAgIHB1c2hUcmVlRm9yayhyZXR1cm5GaWJlciwgbnVtYmVyT2ZGb3Jrcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICAgIH1cblxuICAgIGlmIChvbGRGaWJlciA9PT0gbnVsbCkge1xuICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhbnkgbW9yZSBleGlzdGluZyBjaGlsZHJlbiB3ZSBjYW4gY2hvb3NlIGEgZmFzdCBwYXRoXG4gICAgICAvLyBzaW5jZSB0aGUgcmVzdCB3aWxsIGFsbCBiZSBpbnNlcnRpb25zLlxuICAgICAgZm9yICg7IG5ld0lkeCA8IG5ld0NoaWxkcmVuLmxlbmd0aDsgbmV3SWR4KyspIHtcbiAgICAgICAgdmFyIF9uZXdGaWJlciA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZHJlbltuZXdJZHhdLCBsYW5lcywgZGVidWdJbmZvKTtcblxuICAgICAgICBpZiAoX25ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlciwgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJldmlvdXNOZXdGaWJlciA9IF9uZXdGaWJlcjtcbiAgICAgIH1cblxuICAgICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgICAgdmFyIF9udW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIF9udW1iZXJPZkZvcmtzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XG4gICAgfSAvLyBBZGQgYWxsIGNoaWxkcmVuIHRvIGEga2V5IG1hcCBmb3IgcXVpY2sgbG9va3Vwcy5cblxuXG4gICAgdmFyIGV4aXN0aW5nQ2hpbGRyZW4gPSBtYXBSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgb2xkRmliZXIpOyAvLyBLZWVwIHNjYW5uaW5nIGFuZCB1c2UgdGhlIG1hcCB0byByZXN0b3JlIGRlbGV0ZWQgaXRlbXMgYXMgbW92ZXMuXG5cbiAgICBmb3IgKDsgbmV3SWR4IDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBuZXdJZHgrKykge1xuICAgICAgdmFyIF9uZXdGaWJlcjIgPSB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIG5ld0NoaWxkcmVuW25ld0lkeF0sIGxhbmVzLCBkZWJ1Z0luZm8pO1xuXG4gICAgICBpZiAoX25ld0ZpYmVyMiAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgICAgIGlmIChfbmV3RmliZXIyLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gVGhlIG5ldyBmaWJlciBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MsIGJ1dCBpZiB0aGVyZSBleGlzdHMgYVxuICAgICAgICAgICAgLy8gY3VycmVudCwgdGhhdCBtZWFucyB0aGF0IHdlIHJldXNlZCB0aGUgZmliZXIuIFdlIG5lZWQgdG8gZGVsZXRlXG4gICAgICAgICAgICAvLyBpdCBmcm9tIHRoZSBjaGlsZCBsaXN0IHNvIHRoYXQgd2UgZG9uJ3QgYWRkIGl0IHRvIHRoZSBkZWxldGlvblxuICAgICAgICAgICAgLy8gbGlzdC5cbiAgICAgICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZGVsZXRlKF9uZXdGaWJlcjIua2V5ID09PSBudWxsID8gbmV3SWR4IDogX25ld0ZpYmVyMi5rZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMiwgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXIyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBBbnkgZXhpc3RpbmcgY2hpbGRyZW4gdGhhdCB3ZXJlbid0IGNvbnN1bWVkIGFib3ZlIHdlcmUgZGVsZXRlZC4gV2UgbmVlZFxuICAgICAgLy8gdG8gYWRkIHRoZW0gdG8gdGhlIGRlbGV0aW9uIGxpc3QuXG4gICAgICBleGlzdGluZ0NoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgIHJldHVybiBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIHZhciBfbnVtYmVyT2ZGb3JrczIgPSBuZXdJZHg7XG4gICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIF9udW1iZXJPZkZvcmtzMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkl0ZXJhdG9yKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW5JdGVyYWJsZSwgbGFuZXMsIGRlYnVnSW5mbykge1xuICAgIC8vIFRoaXMgaXMgdGhlIHNhbWUgaW1wbGVtZW50YXRpb24gYXMgcmVjb25jaWxlQ2hpbGRyZW5BcnJheSgpLFxuICAgIC8vIGJ1dCB1c2luZyB0aGUgaXRlcmF0b3IgaW5zdGVhZC5cbiAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGRyZW5JdGVyYWJsZSk7XG5cbiAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQW4gb2JqZWN0IGlzIG5vdCBhbiBpdGVyYWJsZS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluICcgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIHtcbiAgICAgIC8vIFdlIGRvbid0IHN1cHBvcnQgcmVuZGVyaW5nIEdlbmVyYXRvcnMgYmVjYXVzZSBpdCdzIGEgbXV0YXRpb24uXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMjk5NVxuICAgICAgaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IHRvU3RyaW5nVGFnXG4gICAgICBuZXdDaGlsZHJlbkl0ZXJhYmxlW1N5bWJvbC50b1N0cmluZ1RhZ10gPT09ICdHZW5lcmF0b3InKSB7XG4gICAgICAgIGlmICghZGlkV2FybkFib3V0R2VuZXJhdG9ycykge1xuICAgICAgICAgIGVycm9yKCdVc2luZyBHZW5lcmF0b3JzIGFzIGNoaWxkcmVuIGlzIHVuc3VwcG9ydGVkIGFuZCB3aWxsIGxpa2VseSB5aWVsZCAnICsgJ3VuZXhwZWN0ZWQgcmVzdWx0cyBiZWNhdXNlIGVudW1lcmF0aW5nIGEgZ2VuZXJhdG9yIG11dGF0ZXMgaXQuICcgKyAnWW91IG1heSBjb252ZXJ0IGl0IHRvIGFuIGFycmF5IHdpdGggYEFycmF5LmZyb20oKWAgb3IgdGhlICcgKyAnYFsuLi5zcHJlYWRdYCBvcGVyYXRvciBiZWZvcmUgcmVuZGVyaW5nLiBLZWVwIGluIG1pbmQgJyArICd5b3UgbWlnaHQgbmVlZCB0byBwb2x5ZmlsbCB0aGVzZSBmZWF0dXJlcyBmb3Igb2xkZXIgYnJvd3NlcnMuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzID0gdHJ1ZTtcbiAgICAgIH0gLy8gV2FybiBhYm91dCB1c2luZyBNYXBzIGFzIGNoaWxkcmVuXG5cblxuICAgICAgaWYgKG5ld0NoaWxkcmVuSXRlcmFibGUuZW50cmllcyA9PT0gaXRlcmF0b3JGbikge1xuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dE1hcHMpIHtcbiAgICAgICAgICBlcnJvcignVXNpbmcgTWFwcyBhcyBjaGlsZHJlbiBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1VzZSBhbiBhcnJheSBvZiBrZXllZCBSZWFjdEVsZW1lbnRzIGluc3RlYWQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBkaWRXYXJuQWJvdXRNYXBzID0gdHJ1ZTtcbiAgICAgIH0gLy8gRmlyc3QsIHZhbGlkYXRlIGtleXMuXG4gICAgICAvLyBXZSdsbCBnZXQgYSBkaWZmZXJlbnQgaXRlcmF0b3IgbGF0ZXIgZm9yIHRoZSBtYWluIHBhc3MuXG5cblxuICAgICAgdmFyIF9uZXdDaGlsZHJlbiA9IGl0ZXJhdG9yRm4uY2FsbChuZXdDaGlsZHJlbkl0ZXJhYmxlKTtcblxuICAgICAgaWYgKF9uZXdDaGlsZHJlbikge1xuICAgICAgICB2YXIga25vd25LZXlzID0gbnVsbDtcblxuICAgICAgICB2YXIgX3N0ZXAgPSBfbmV3Q2hpbGRyZW4ubmV4dCgpO1xuXG4gICAgICAgIGZvciAoOyAhX3N0ZXAuZG9uZTsgX3N0ZXAgPSBfbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XG4gICAgICAgICAgdmFyIGNoaWxkID0gX3N0ZXAudmFsdWU7XG4gICAgICAgICAga25vd25LZXlzID0gd2Fybk9uSW52YWxpZEtleShjaGlsZCwga25vd25LZXlzLCByZXR1cm5GaWJlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgbmV3Q2hpbGRyZW4gPSBpdGVyYXRvckZuLmNhbGwobmV3Q2hpbGRyZW5JdGVyYWJsZSk7XG5cbiAgICBpZiAobmV3Q2hpbGRyZW4gPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBbiBpdGVyYWJsZSBvYmplY3QgcHJvdmlkZWQgbm8gaXRlcmF0b3IuJyk7XG4gICAgfVxuXG4gICAgdmFyIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBudWxsO1xuICAgIHZhciBwcmV2aW91c05ld0ZpYmVyID0gbnVsbDtcbiAgICB2YXIgb2xkRmliZXIgPSBjdXJyZW50Rmlyc3RDaGlsZDtcbiAgICB2YXIgbGFzdFBsYWNlZEluZGV4ID0gMDtcbiAgICB2YXIgbmV3SWR4ID0gMDtcbiAgICB2YXIgbmV4dE9sZEZpYmVyID0gbnVsbDtcbiAgICB2YXIgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKTtcblxuICAgIGZvciAoOyBvbGRGaWJlciAhPT0gbnVsbCAmJiAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyO1xuICAgICAgICBvbGRGaWJlciA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlci5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICB2YXIgbmV3RmliZXIgPSB1cGRhdGVTbG90KHJldHVybkZpYmVyLCBvbGRGaWJlciwgc3RlcC52YWx1ZSwgbGFuZXMsIGRlYnVnSW5mbyk7XG5cbiAgICAgIGlmIChuZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGJyZWFrcyBvbiBlbXB0eSBzbG90cyBsaWtlIG51bGwgY2hpbGRyZW4uIFRoYXQnc1xuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXG4gICAgICAgIC8vIGEgYmV0dGVyIHdheSB0byBjb21tdW5pY2F0ZSB3aGV0aGVyIHRoaXMgd2FzIGEgbWlzcyBvciBudWxsLFxuICAgICAgICAvLyBib29sZWFuLCB1bmRlZmluZWQsIGV0Yy5cbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgaWYgKG9sZEZpYmVyICYmIG5ld0ZpYmVyLmFsdGVybmF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxuICAgICAgICAgIC8vIG5lZWQgdG8gZGVsZXRlIHRoZSBleGlzdGluZyBjaGlsZC5cbiAgICAgICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgb2xkRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gbmV3RmliZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXG4gICAgICAgIC8vIEkuZS4gaWYgd2UgaGFkIG51bGwgdmFsdWVzIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIGRlZmVyIHRoaXNcbiAgICAgICAgLy8gZm9yIGVhY2ggbnVsbCB2YWx1ZS4gSG93ZXZlciwgd2UgYWxzbyBkb24ndCB3YW50IHRvIGNhbGwgdXBkYXRlU2xvdFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IG5ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBwcmV2aW91c05ld0ZpYmVyID0gbmV3RmliZXI7XG4gICAgICBvbGRGaWJlciA9IG5leHRPbGRGaWJlcjtcbiAgICB9XG5cbiAgICBpZiAoc3RlcC5kb25lKSB7XG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG5cbiAgICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIG51bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cbiAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgICB2YXIgX25ld0ZpYmVyMyA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBzdGVwLnZhbHVlLCBsYW5lcywgZGVidWdJbmZvKTtcblxuICAgICAgICBpZiAoX25ld0ZpYmVyMyA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFzdFBsYWNlZEluZGV4ID0gcGxhY2VDaGlsZChfbmV3RmliZXIzLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUT0RPOiBNb3ZlIG91dCBvZiB0aGUgbG9vcC4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIHRoZSBmaXJzdCBydW4uXG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyMztcbiAgICAgICAgfVxuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXIzO1xuICAgICAgfVxuXG4gICAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSkge1xuICAgICAgICB2YXIgX251bWJlck9mRm9ya3MzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIF9udW1iZXJPZkZvcmtzMyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICAgIH0gLy8gQWRkIGFsbCBjaGlsZHJlbiB0byBhIGtleSBtYXAgZm9yIHF1aWNrIGxvb2t1cHMuXG5cblxuICAgIHZhciBleGlzdGluZ0NoaWxkcmVuID0gbWFwUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIG9sZEZpYmVyKTsgLy8gS2VlcCBzY2FubmluZyBhbmQgdXNlIHRoZSBtYXAgdG8gcmVzdG9yZSBkZWxldGVkIGl0ZW1zIGFzIG1vdmVzLlxuXG4gICAgZm9yICg7ICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XG4gICAgICB2YXIgX25ld0ZpYmVyNCA9IHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgc3RlcC52YWx1ZSwgbGFuZXMsIGRlYnVnSW5mbyk7XG5cbiAgICAgIGlmIChfbmV3RmliZXI0ICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAgICAgaWYgKF9uZXdGaWJlcjQuYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgbmV3IGZpYmVyIGlzIGEgd29yayBpbiBwcm9ncmVzcywgYnV0IGlmIHRoZXJlIGV4aXN0cyBhXG4gICAgICAgICAgICAvLyBjdXJyZW50LCB0aGF0IG1lYW5zIHRoYXQgd2UgcmV1c2VkIHRoZSBmaWJlci4gV2UgbmVlZCB0byBkZWxldGVcbiAgICAgICAgICAgIC8vIGl0IGZyb20gdGhlIGNoaWxkIGxpc3Qgc28gdGhhdCB3ZSBkb24ndCBhZGQgaXQgdG8gdGhlIGRlbGV0aW9uXG4gICAgICAgICAgICAvLyBsaXN0LlxuICAgICAgICAgICAgZXhpc3RpbmdDaGlsZHJlbi5kZWxldGUoX25ld0ZpYmVyNC5rZXkgPT09IG51bGwgPyBuZXdJZHggOiBfbmV3RmliZXI0LmtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFzdFBsYWNlZEluZGV4ID0gcGxhY2VDaGlsZChfbmV3RmliZXI0LCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gX25ld0ZpYmVyNDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBfbmV3RmliZXI0O1xuICAgICAgICB9XG5cbiAgICAgICAgcHJldmlvdXNOZXdGaWJlciA9IF9uZXdGaWJlcjQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgIC8vIEFueSBleGlzdGluZyBjaGlsZHJlbiB0aGF0IHdlcmVuJ3QgY29uc3VtZWQgYWJvdmUgd2VyZSBkZWxldGVkLiBXZSBuZWVkXG4gICAgICAvLyB0byBhZGQgdGhlbSB0byB0aGUgZGVsZXRpb24gbGlzdC5cbiAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgcmV0dXJuIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSkge1xuICAgICAgdmFyIF9udW1iZXJPZkZvcmtzNCA9IG5ld0lkeDtcbiAgICAgIHB1c2hUcmVlRm9yayhyZXR1cm5GaWJlciwgX251bWJlck9mRm9ya3M0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlY29uY2lsZVNpbmdsZVRleHROb2RlKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgdGV4dENvbnRlbnQsIGxhbmVzKSB7XG4gICAgLy8gVGhlcmUncyBubyBuZWVkIHRvIGNoZWNrIGZvciBrZXlzIG9uIHRleHQgbm9kZXMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBhXG4gICAgLy8gd2F5IHRvIGRlZmluZSB0aGVtLlxuICAgIGlmIChjdXJyZW50Rmlyc3RDaGlsZCAhPT0gbnVsbCAmJiBjdXJyZW50Rmlyc3RDaGlsZC50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYW4gZXhpc3Rpbmcgbm9kZSBzbyBsZXQncyBqdXN0IHVwZGF0ZSBpdCBhbmQgZGVsZXRlXG4gICAgICAvLyB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZC5zaWJsaW5nKTtcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnRGaXJzdENoaWxkLCB0ZXh0Q29udGVudCk7XG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBleGlzdGluZztcbiAgICB9IC8vIFRoZSBleGlzdGluZyBmaXJzdCBjaGlsZCBpcyBub3QgYSB0ZXh0IG5vZGUgc28gd2UgbmVlZCB0byBjcmVhdGUgb25lXG4gICAgLy8gYW5kIGRlbGV0ZSB0aGUgZXhpc3Rpbmcgb25lcy5cblxuXG4gICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkKTtcbiAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVRleHQodGV4dENvbnRlbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgIHJldHVybiBjcmVhdGVkO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlU2luZ2xlRWxlbWVudChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIGVsZW1lbnQsIGxhbmVzLCBkZWJ1Z0luZm8pIHtcbiAgICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSBlbGVtZW50LnR5cGU7XG5cbiAgICAgICAgaWYgKGVsZW1lbnRUeXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLnRhZyA9PT0gRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcbiAgICAgICAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z0luZm8gPSBkZWJ1Z0luZm87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBleGlzdGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGNoaWxkLmVsZW1lbnRUeXBlID09PSBlbGVtZW50VHlwZSB8fCAoIC8vIEtlZXAgdGhpcyBjaGVjayBpbmxpbmUgc28gaXQgb25seSBydW5zIG9uIHRoZSBmYWxzZSBwYXRoOlxuICAgICAgICAgIGlzQ29tcGF0aWJsZUZhbWlseUZvckhvdFJlbG9hZGluZyhjaGlsZCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRvIHRoaXMgYWZ0ZXIgdGhlIEhvdCBSZWxvYWRpbmcgY2hlY2sgYWJvdmUsXG4gICAgICAgICAgLy8gYmVjYXVzZSBob3QgcmVsb2FkaW5nIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIHRoYW4gcHJvZCBiZWNhdXNlXG4gICAgICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgICAgIHR5cGVvZiBlbGVtZW50VHlwZSA9PT0gJ29iamVjdCcgJiYgZWxlbWVudFR5cGUgIT09IG51bGwgJiYgZWxlbWVudFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSAmJiByZXNvbHZlTGF6eShlbGVtZW50VHlwZSkgPT09IGNoaWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcblxuICAgICAgICAgICAgdmFyIF9leGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzKTtcblxuICAgICAgICAgICAgY29lcmNlUmVmKHJldHVybkZpYmVyLCBjaGlsZCwgX2V4aXN0aW5nLCBlbGVtZW50KTtcbiAgICAgICAgICAgIF9leGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBfZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgICAgICAgX2V4aXN0aW5nLl9kZWJ1Z0luZm8gPSBkZWJ1Z0luZm87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBfZXhpc3Rpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIERpZG4ndCBtYXRjaC5cblxuXG4gICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH1cblxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZWxlbWVudC5wcm9wcy5jaGlsZHJlbiwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMsIGVsZW1lbnQua2V5KTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG5cbiAgICAgIHtcbiAgICAgICAgY3JlYXRlZC5fZGVidWdJbmZvID0gZGVidWdJbmZvO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIF9jcmVhdGVkNCA9IGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQoZWxlbWVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuXG4gICAgICBjb2VyY2VSZWYocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBfY3JlYXRlZDQsIGVsZW1lbnQpO1xuICAgICAgX2NyZWF0ZWQ0LnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICB7XG4gICAgICAgIF9jcmVhdGVkNC5fZGVidWdJbmZvID0gZGVidWdJbmZvO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gX2NyZWF0ZWQ0O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHJlY29uY2lsZVNpbmdsZVBvcnRhbChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIHBvcnRhbCwgbGFuZXMsIGRlYnVnSW5mbykge1xuICAgIHZhciBrZXkgPSBwb3J0YWwua2V5O1xuICAgIHZhciBjaGlsZCA9IGN1cnJlbnRGaXJzdENoaWxkO1xuXG4gICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAvLyBUT0RPOiBJZiBrZXkgPT09IG51bGwgYW5kIGNoaWxkLmtleSA9PT0gbnVsbCwgdGhlbiB0aGlzIG9ubHkgYXBwbGllcyB0b1xuICAgICAgLy8gdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIGxpc3QuXG4gICAgICBpZiAoY2hpbGQua2V5ID09PSBrZXkpIHtcbiAgICAgICAgaWYgKGNoaWxkLnRhZyA9PT0gSG9zdFBvcnRhbCAmJiBjaGlsZC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyA9PT0gcG9ydGFsLmNvbnRhaW5lckluZm8gJiYgY2hpbGQuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uID09PSBwb3J0YWwuaW1wbGVtZW50YXRpb24pIHtcbiAgICAgICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY2hpbGQuc2libGluZyk7XG4gICAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY2hpbGQsIHBvcnRhbC5jaGlsZHJlbiB8fCBbXSk7XG4gICAgICAgICAgZXhpc3RpbmcucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChwb3J0YWwsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgIHJldHVybiBjcmVhdGVkO1xuICB9IC8vIFRoaXMgQVBJIHdpbGwgdGFnIHRoZSBjaGlsZHJlbiB3aXRoIHRoZSBzaWRlLWVmZmVjdCBvZiB0aGUgcmVjb25jaWxpYXRpb25cbiAgLy8gaXRzZWxmLiBUaGV5IHdpbGwgYmUgYWRkZWQgdG8gdGhlIHNpZGUtZWZmZWN0IGxpc3QgYXMgd2UgcGFzcyB0aHJvdWdoIHRoZVxuICAvLyBjaGlsZHJlbiBhbmQgdGhlIHBhcmVudC5cblxuXG4gIGZ1bmN0aW9uIHJlY29uY2lsZUNoaWxkRmliZXJzSW1wbChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcywgZGVidWdJbmZvKSB7XG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBub3QgcmVjdXJzaXZlLlxuICAgIC8vIElmIHRoZSB0b3AgbGV2ZWwgaXRlbSBpcyBhbiBhcnJheSwgd2UgdHJlYXQgaXQgYXMgYSBzZXQgb2YgY2hpbGRyZW4sXG4gICAgLy8gbm90IGFzIGEgZnJhZ21lbnQuIE5lc3RlZCBhcnJheXMgb24gdGhlIG90aGVyIGhhbmQgd2lsbCBiZSB0cmVhdGVkIGFzXG4gICAgLy8gZnJhZ21lbnQgbm9kZXMuIFJlY3Vyc2lvbiBoYXBwZW5zIGF0IHRoZSBub3JtYWwgZmxvdy5cbiAgICAvLyBIYW5kbGUgdG9wIGxldmVsIHVua2V5ZWQgZnJhZ21lbnRzIGFzIGlmIHRoZXkgd2VyZSBhcnJheXMuXG4gICAgLy8gVGhpcyBsZWFkcyB0byBhbiBhbWJpZ3VpdHkgYmV0d2VlbiA8PntbLi4uXX08Lz4gYW5kIDw+Li4uPC8+LlxuICAgIC8vIFdlIHRyZWF0IHRoZSBhbWJpZ3VvdXMgY2FzZXMgYWJvdmUgdGhlIHNhbWUuXG4gICAgLy8gVE9ETzogTGV0J3MgdXNlIHJlY3Vyc2lvbiBsaWtlIHdlIGRvIGZvciBVc2FibGUgbm9kZXM/XG4gICAgdmFyIGlzVW5rZXllZFRvcExldmVsRnJhZ21lbnQgPSB0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsICYmIG5ld0NoaWxkLnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgJiYgbmV3Q2hpbGQua2V5ID09PSBudWxsO1xuXG4gICAgaWYgKGlzVW5rZXllZFRvcExldmVsRnJhZ21lbnQpIHtcbiAgICAgIG5ld0NoaWxkID0gbmV3Q2hpbGQucHJvcHMuY2hpbGRyZW47XG4gICAgfSAvLyBIYW5kbGUgb2JqZWN0IHR5cGVzXG5cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKG5ld0NoaWxkLiQkdHlwZW9mKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIHJldHVybiBwbGFjZVNpbmdsZUNoaWxkKHJlY29uY2lsZVNpbmdsZUVsZW1lbnQocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgbGFuZXMsIG1lcmdlRGVidWdJbmZvKGRlYnVnSW5mbywgbmV3Q2hpbGQuX2RlYnVnSW5mbykpKTtcblxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgICAgIHJldHVybiBwbGFjZVNpbmdsZUNoaWxkKHJlY29uY2lsZVNpbmdsZVBvcnRhbChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcykpO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgIHZhciBwYXlsb2FkID0gbmV3Q2hpbGQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBuZXdDaGlsZC5faW5pdDtcbiAgICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnNJbXBsKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgaW5pdChwYXlsb2FkKSwgbGFuZXMsIG1lcmdlRGVidWdJbmZvKGRlYnVnSW5mbywgbmV3Q2hpbGQuX2RlYnVnSW5mbykpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNBcnJheShuZXdDaGlsZCkpIHtcbiAgICAgICAgcmV0dXJuIHJlY29uY2lsZUNoaWxkcmVuQXJyYXkocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgbGFuZXMsIG1lcmdlRGVidWdJbmZvKGRlYnVnSW5mbywgbmV3Q2hpbGQuX2RlYnVnSW5mbykpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZ2V0SXRlcmF0b3JGbihuZXdDaGlsZCkpIHtcbiAgICAgICAgcmV0dXJuIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgbGFuZXMsIG1lcmdlRGVidWdJbmZvKGRlYnVnSW5mbywgbmV3Q2hpbGQuX2RlYnVnSW5mbykpO1xuICAgICAgfSAvLyBVc2FibGVzIGFyZSBhIHZhbGlkIFJlYWN0IG5vZGUgdHlwZS4gV2hlbiBSZWFjdCBlbmNvdW50ZXJzIGEgVXNhYmxlIGluXG4gICAgICAvLyBhIGNoaWxkIHBvc2l0aW9uLCBpdCB1bndyYXBzIGl0IHVzaW5nIHRoZSBzYW1lIGFsZ29yaXRobSBhcyBgdXNlYC4gRm9yXG4gICAgICAvLyBleGFtcGxlLCBmb3IgcHJvbWlzZXMsIFJlYWN0IHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIHRvIHVud2luZCB0aGVcbiAgICAgIC8vIHN0YWNrLCB0aGVuIHJlcGxheSB0aGUgY29tcG9uZW50IG9uY2UgdGhlIHByb21pc2UgcmVzb2x2ZXMuXG4gICAgICAvL1xuICAgICAgLy8gQSBkaWZmZXJlbmNlIGZyb20gYHVzZWAgaXMgdGhhdCBSZWFjdCB3aWxsIGtlZXAgdW53cmFwcGluZyB0aGUgdmFsdWVcbiAgICAgIC8vIHVudGlsIGl0IHJlYWNoZXMgYSBub24tVXNhYmxlIHR5cGUuXG4gICAgICAvL1xuICAgICAgLy8gZS5nLiBVc2FibGU8VXNhYmxlPFVzYWJsZTxUPj4+IHNob3VsZCByZXNvbHZlIHRvIFRcbiAgICAgIC8vXG4gICAgICAvLyBUaGUgc3RydWN0dXJlIGlzIGEgYml0IHVuZm9ydHVuYXRlLiBJZGVhbGx5LCB3ZSBzaG91bGRuJ3QgbmVlZCB0b1xuICAgICAgLy8gcmVwbGF5IHRoZSBlbnRpcmUgYmVnaW4gcGhhc2Ugb2YgdGhlIHBhcmVudCBmaWJlciBpbiBvcmRlciB0byByZWNvbmNpbGVcbiAgICAgIC8vIHRoZSBjaGlsZHJlbiBhZ2Fpbi4gVGhpcyB3b3VsZCByZXF1aXJlIGEgc29tZXdoYXQgc2lnbmlmaWNhbnQgcmVmYWN0b3IsXG4gICAgICAvLyBiZWNhdXNlIHJlY29uY2lsYXRpb24gaGFwcGVucyBkZWVwIHdpdGhpbiB0aGUgYmVnaW4gcGhhc2UsIGFuZFxuICAgICAgLy8gZGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHdvcmssIG5vdCBhbHdheXMgYXQgdGhlIGVuZC4gV2Ugc2hvdWxkXG4gICAgICAvLyBjb25zaWRlciBhcyBhbiBmdXR1cmUgaW1wcm92ZW1lbnQuXG5cblxuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZC50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHZhciB0aGVuYWJsZSA9IG5ld0NoaWxkO1xuICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnNJbXBsKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgdW53cmFwVGhlbmFibGUodGhlbmFibGUpLCBsYW5lcywgbWVyZ2VEZWJ1Z0luZm8oZGVidWdJbmZvLCB0aGVuYWJsZS5fZGVidWdJbmZvKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXdDaGlsZC4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFKSB7XG4gICAgICAgIHZhciBjb250ZXh0ID0gbmV3Q2hpbGQ7XG4gICAgICAgIHJldHVybiByZWNvbmNpbGVDaGlsZEZpYmVyc0ltcGwocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCByZWFkQ29udGV4dER1cmluZ1JlY29uY2lsYXRpb24ocmV0dXJuRmliZXIsIGNvbnRleHQsIGxhbmVzKSwgbGFuZXMsIGRlYnVnSW5mbyk7XG4gICAgICB9XG5cbiAgICAgIHRocm93T25JbnZhbGlkT2JqZWN0VHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnICYmIG5ld0NoaWxkICE9PSAnJyB8fCB0eXBlb2YgbmV3Q2hpbGQgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gcGxhY2VTaW5nbGVDaGlsZChyZWNvbmNpbGVTaW5nbGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsICcnICsgbmV3Q2hpbGQsIGxhbmVzKSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgd2Fybk9uU3ltYm9sVHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xuICAgICAgfVxuICAgIH0gLy8gUmVtYWluaW5nIGNhc2VzIGFyZSBhbGwgdHJlYXRlZCBhcyBlbXB0eS5cblxuXG4gICAgcmV0dXJuIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCk7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZEZpYmVycyhyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcykge1xuICAgIC8vIFRoaXMgaW5kaXJlY3Rpb24gb25seSBleGlzdHMgc28gd2UgY2FuIHJlc2V0IGB0aGVuYWJsZVN0YXRlYCBhdCB0aGUgZW5kLlxuICAgIC8vIEl0IHNob3VsZCBnZXQgaW5saW5lZCBieSBDbG9zdXJlLlxuICAgIHRoZW5hYmxlSW5kZXhDb3VudGVyJDEgPSAwO1xuICAgIHZhciBmaXJzdENoaWxkRmliZXIgPSByZWNvbmNpbGVDaGlsZEZpYmVyc0ltcGwocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgbGFuZXMsIG51bGwgLy8gZGVidWdJbmZvXG4gICAgKTtcbiAgICB0aGVuYWJsZVN0YXRlJDEgPSBudWxsOyAvLyBEb24ndCBib3RoZXIgdG8gcmVzZXQgYHRoZW5hYmxlSW5kZXhDb3VudGVyYCB0byAwIGJlY2F1c2UgaXQgYWx3YXlzIGdldHNcbiAgICAvLyBzZXQgYXQgdGhlIGJlZ2lubmluZy5cblxuICAgIHJldHVybiBmaXJzdENoaWxkRmliZXI7XG4gIH1cblxuICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnM7XG59XG5cbnZhciByZWNvbmNpbGVDaGlsZEZpYmVycyA9IGNyZWF0ZUNoaWxkUmVjb25jaWxlcih0cnVlKTtcbnZhciBtb3VudENoaWxkRmliZXJzID0gY3JlYXRlQ2hpbGRSZWNvbmNpbGVyKGZhbHNlKTtcbmZ1bmN0aW9uIHJlc2V0Q2hpbGRSZWNvbmNpbGVyT25VbndpbmQoKSB7XG4gIC8vIE9uIHVud2luZCwgY2xlYXIgYW55IHBlbmRpbmcgdGhlbmFibGVzIHRoYXQgd2VyZSB1c2VkLlxuICB0aGVuYWJsZVN0YXRlJDEgPSBudWxsO1xuICB0aGVuYWJsZUluZGV4Q291bnRlciQxID0gMDtcbn1cbmZ1bmN0aW9uIGNsb25lQ2hpbGRGaWJlcnMoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgIT09IGN1cnJlbnQuY2hpbGQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc3VtaW5nIHdvcmsgbm90IHlldCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9PT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBjdXJyZW50Q2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgdmFyIG5ld0NoaWxkID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcbiAgbmV3Q2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG5cbiAgd2hpbGUgKGN1cnJlbnRDaGlsZC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgY3VycmVudENoaWxkID0gY3VycmVudENoaWxkLnNpYmxpbmc7XG4gICAgbmV3Q2hpbGQgPSBuZXdDaGlsZC5zaWJsaW5nID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgICBuZXdDaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIG5ld0NoaWxkLnNpYmxpbmcgPSBudWxsO1xufSAvLyBSZXNldCBhIHdvcmtJblByb2dyZXNzIGNoaWxkIHNldCB0byBwcmVwYXJlIGl0IGZvciBhIHNlY29uZCBwYXNzLlxuXG5mdW5jdGlvbiByZXNldENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBsYW5lcykge1xuICB2YXIgY2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICByZXNldFdvcmtJblByb2dyZXNzKGNoaWxkLCBsYW5lcyk7XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbi8vIFRPRE86IFRoaXMgaXNuJ3QgYmVpbmcgdXNlZCB5ZXQsIGJ1dCBpdCdzIGludGVuZGVkIHRvIHJlcGxhY2UgdGhlXG4vLyBJbnZpc2libGVQYXJlbnRDb250ZXh0IHRoYXQgaXMgY3VycmVudGx5IG1hbmFnZWQgYnkgU3VzcGVuc2VDb250ZXh0LlxuXG52YXIgY3VycmVudFRyZWVIaWRkZW5TdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihudWxsKTtcbnZhciBwcmV2RW50YW5nbGVkUmVuZGVyTGFuZXNDdXJzb3IgPSBjcmVhdGVDdXJzb3IoTm9MYW5lcyk7XG5mdW5jdGlvbiBwdXNoSGlkZGVuQ29udGV4dChmaWJlciwgY29udGV4dCkge1xuICB2YXIgcHJldkVudGFuZ2xlZFJlbmRlckxhbmVzID0gZ2V0RW50YW5nbGVkUmVuZGVyTGFuZXMoKTtcbiAgcHVzaChwcmV2RW50YW5nbGVkUmVuZGVyTGFuZXNDdXJzb3IsIHByZXZFbnRhbmdsZWRSZW5kZXJMYW5lcywgZmliZXIpO1xuICBwdXNoKGN1cnJlbnRUcmVlSGlkZGVuU3RhY2tDdXJzb3IsIGNvbnRleHQsIGZpYmVyKTsgLy8gV2hlbiByZW5kZXJpbmcgYSBzdWJ0cmVlIHRoYXQncyBjdXJyZW50bHkgaGlkZGVuLCB3ZSBtdXN0IGluY2x1ZGUgYWxsXG4gIC8vIGxhbmVzIHRoYXQgd291bGQgaGF2ZSByZW5kZXJlZCBpZiB0aGUgaGlkZGVuIHN1YnRyZWUgaGFkbid0IGJlZW4gZGVmZXJyZWQuXG4gIC8vIFRoYXQgaXMsIGluIG9yZGVyIHRvIHJldmVhbCBjb250ZW50IGZyb20gaGlkZGVuIC0+IHZpc2libGUsIHdlIG11c3QgY29tbWl0XG4gIC8vIGFsbCB0aGUgdXBkYXRlcyB0aGF0IHdlIHNraXBwZWQgd2hlbiB3ZSBvcmlnaW5hbGx5IGhpZCB0aGUgdHJlZS5cblxuICBzZXRFbnRhbmdsZWRSZW5kZXJMYW5lcyhtZXJnZUxhbmVzKHByZXZFbnRhbmdsZWRSZW5kZXJMYW5lcywgY29udGV4dC5iYXNlTGFuZXMpKTtcbn1cbmZ1bmN0aW9uIHJldXNlSGlkZGVuQ29udGV4dE9uU3RhY2soZmliZXIpIHtcbiAgLy8gVGhpcyBzdWJ0cmVlIGlzIG5vdCBjdXJyZW50bHkgaGlkZGVuLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGFkZCBhbnkgbGFuZXNcbiAgLy8gdG8gdGhlIHJlbmRlciBsYW5lcy4gQnV0IHdlIHN0aWxsIG5lZWQgdG8gcHVzaCBzb21ldGhpbmcgdG8gYXZvaWQgYVxuICAvLyBjb250ZXh0IG1pc21hdGNoLiBSZXVzZSB0aGUgZXhpc3RpbmcgY29udGV4dCBvbiB0aGUgc3RhY2suXG4gIHB1c2gocHJldkVudGFuZ2xlZFJlbmRlckxhbmVzQ3Vyc29yLCBnZXRFbnRhbmdsZWRSZW5kZXJMYW5lcygpLCBmaWJlcik7XG4gIHB1c2goY3VycmVudFRyZWVIaWRkZW5TdGFja0N1cnNvciwgY3VycmVudFRyZWVIaWRkZW5TdGFja0N1cnNvci5jdXJyZW50LCBmaWJlcik7XG59XG5mdW5jdGlvbiBwb3BIaWRkZW5Db250ZXh0KGZpYmVyKSB7XG4gIC8vIFJlc3RvcmUgdGhlIHByZXZpb3VzIHJlbmRlciBsYW5lcyBmcm9tIHRoZSBzdGFja1xuICBzZXRFbnRhbmdsZWRSZW5kZXJMYW5lcyhwcmV2RW50YW5nbGVkUmVuZGVyTGFuZXNDdXJzb3IuY3VycmVudCk7XG4gIHBvcChjdXJyZW50VHJlZUhpZGRlblN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIHBvcChwcmV2RW50YW5nbGVkUmVuZGVyTGFuZXNDdXJzb3IsIGZpYmVyKTtcbn1cbmZ1bmN0aW9uIGlzQ3VycmVudFRyZWVIaWRkZW4oKSB7XG4gIHJldHVybiBjdXJyZW50VHJlZUhpZGRlblN0YWNrQ3Vyc29yLmN1cnJlbnQgIT09IG51bGw7XG59XG5cbi8vIHN1c3BlbmRzLCBpLmUuIGl0J3MgdGhlIG5lYXJlc3QgYGNhdGNoYCBibG9jayBvbiB0aGUgc3RhY2suXG5cbnZhciBzdXNwZW5zZUhhbmRsZXJTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihudWxsKTsgLy8gUmVwcmVzZW50cyB0aGUgb3V0ZXJtb3N0IGJvdW5kYXJ5IHRoYXQgaXMgbm90IHZpc2libGUgaW4gdGhlIGN1cnJlbnQgdHJlZS5cbi8vIEV2ZXJ5dGhpbmcgYWJvdmUgdGhpcyBpcyB0aGUgXCJzaGVsbFwiLiBXaGVuIHRoaXMgaXMgbnVsbCwgaXQgbWVhbnMgd2UncmVcbi8vIHJlbmRlcmluZyBpbiB0aGUgc2hlbGwgb2YgdGhlIGFwcC4gSWYgaXQncyBub24tbnVsbCwgaXQgbWVhbnMgd2UncmUgcmVuZGVyaW5nXG4vLyBkZWVwZXIgdGhhbiB0aGUgc2hlbGwsIGluc2lkZSBhIG5ldyB0cmVlIHRoYXQgd2Fzbid0IGFscmVhZHkgdmlzaWJsZS5cbi8vXG4vLyBUaGUgbWFpbiB3YXkgd2UgdXNlIHRoaXMgY29uY2VwdCBpcyB0byBkZXRlcm1pbmUgd2hldGhlciBzaG93aW5nIGEgZmFsbGJhY2tcbi8vIHdvdWxkIHJlc3VsdCBpbiBhIGRlc2lyYWJsZSBvciB1bmRlc2lyYWJsZSBsb2FkaW5nIHN0YXRlLiBBY3RpdmluZyBhIGZhbGxiYWNrXG4vLyBpbiB0aGUgc2hlbGwgaXMgY29uc2lkZXJlZCBhbiB1bmRlcnNpcmFibGUgbG9hZGluZyBzdGF0ZSwgYmVjYXVzZSBpdCB3b3VsZFxuLy8gbWVhbiBoaWRpbmcgdmlzaWJsZSAoYWxiZWl0IHN0YWxlKSBjb250ZW50IGluIHRoZSBjdXJyZW50IHRyZWUg4oCUIHdlIHByZWZlciB0b1xuLy8gc2hvdyB0aGUgc3RhbGUgY29udGVudCwgcmF0aGVyIHRoYW4gc3dpdGNoIHRvIGEgZmFsbGJhY2suIEJ1dCBzaG93aW5nIGFcbi8vIGZhbGxiYWNrIGluIGEgbmV3IHRyZWUgaXMgZmluZSwgYmVjYXVzZSB0aGVyZSdzIG5vIHN0YWxlIGNvbnRlbnQgdG9cbi8vIHByZWZlciBpbnN0ZWFkLlxuXG52YXIgc2hlbGxCb3VuZGFyeSA9IG51bGw7XG5mdW5jdGlvbiBnZXRTaGVsbEJvdW5kYXJ5KCkge1xuICByZXR1cm4gc2hlbGxCb3VuZGFyeTtcbn1cbmZ1bmN0aW9uIHB1c2hQcmltYXJ5VHJlZVN1c3BlbnNlSGFuZGxlcihoYW5kbGVyKSB7XG4gIC8vIFRPRE86IFBhc3MgYXMgYXJndW1lbnRcbiAgdmFyIGN1cnJlbnQgPSBoYW5kbGVyLmFsdGVybmF0ZTtcbiAgLy8gcHJvcGFnYXRlZCBhIHNpbmdsZSBsZXZlbC4gRm9yIGV4YW1wbGUsIHdoZW4gRm9yY2VTdXNwZW5zZUZhbGxiYWNrIGlzIHNldCxcbiAgLy8gaXQgc2hvdWxkIG9ubHkgZm9yY2UgdGhlIG5lYXJlc3QgU3VzcGVuc2UgYm91bmRhcnkgaW50byBmYWxsYmFjayBtb2RlLlxuXG4gIHB1c2hTdXNwZW5zZUxpc3RDb250ZXh0KGhhbmRsZXIsIHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VMaXN0Q29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gRXhwZXJpbWVudGFsIGZlYXR1cmU6IFNvbWUgU3VzcGVuc2UgYm91bmRhcmllcyBhcmUgbWFya2VkIGFzIGhhdmluZyBhblxuICAvLyB0byBwdXNoIGEgbmVzdGVkIFN1c3BlbnNlIGhhbmRsZXIsIGJlY2F1c2UgaXQgd2lsbCBnZXQgcmVwbGFjZWQgYnkgdGhlXG4gIC8vIG91dGVyIGZhbGxiYWNrLCBhbnl3YXkuIENvbnNpZGVyIHRoaXMgYXMgYSBmdXR1cmUgb3B0aW1pemF0aW9uLlxuXG5cbiAgcHVzaChzdXNwZW5zZUhhbmRsZXJTdGFja0N1cnNvciwgaGFuZGxlciwgaGFuZGxlcik7XG5cbiAgaWYgKHNoZWxsQm91bmRhcnkgPT09IG51bGwpIHtcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBpc0N1cnJlbnRUcmVlSGlkZGVuKCkpIHtcbiAgICAgIC8vIFRoaXMgYm91bmRhcnkgaXMgbm90IHZpc2libGUgaW4gdGhlIGN1cnJlbnQgVUkuXG4gICAgICBzaGVsbEJvdW5kYXJ5ID0gaGFuZGxlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAvLyBUaGlzIGJvdW5kYXJ5IGlzIHNob3dpbmcgYSBmYWxsYmFjayBpbiB0aGUgY3VycmVudCBVSS5cbiAgICAgICAgc2hlbGxCb3VuZGFyeSA9IGhhbmRsZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBwdXNoRmFsbGJhY2tUcmVlU3VzcGVuc2VIYW5kbGVyKGZpYmVyKSB7XG4gIC8vIFdlJ3JlIGFib3V0IHRvIHJlbmRlciB0aGUgZmFsbGJhY2suIElmIHNvbWV0aGluZyBpbiB0aGUgZmFsbGJhY2sgc3VzcGVuZHMsXG4gIC8vIGl0J3MgYWtpbiB0byB0aHJvd2luZyBpbnNpZGUgb2YgYSBgY2F0Y2hgIGJsb2NrLiBUaGlzIGJvdW5kYXJ5IHNob3VsZCBub3RcbiAgLy8gY2FwdHVyZS4gUmV1c2UgdGhlIGV4aXN0aW5nIGhhbmRsZXIgb24gdGhlIHN0YWNrLlxuICByZXVzZVN1c3BlbnNlSGFuZGxlck9uU3RhY2soZmliZXIpO1xufVxuZnVuY3Rpb24gcHVzaE9mZnNjcmVlblN1c3BlbnNlSGFuZGxlcihmaWJlcikge1xuICBpZiAoZmliZXIudGFnID09PSBPZmZzY3JlZW5Db21wb25lbnQpIHtcbiAgICAvLyBBIFN1c3BlbnNlTGlzdCBjb250ZXh0IGlzIG9ubHkgcHVzaGVkIGhlcmUgdG8gYXZvaWQgYSBwdXNoL3BvcCBtaXNtYXRjaC5cbiAgICAvLyBSZXVzZSB0aGUgY3VycmVudCB2YWx1ZSBvbiB0aGUgc3RhY2suXG4gICAgLy8gVE9ETzogV2UgY2FuIGF2b2lkIG5lZWRpbmcgdG8gcHVzaCBoZXJlIGJ5IGJ5IGZvcmtpbmcgcG9wU3VzcGVuc2VIYW5kbGVyXG4gICAgLy8gaW50byBzZXBhcmF0ZSBmdW5jdGlvbnMgZm9yIFN1c3BlbnNlIGFuZCBPZmZzY3JlZW4uXG4gICAgcHVzaFN1c3BlbnNlTGlzdENvbnRleHQoZmliZXIsIHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCk7XG4gICAgcHVzaChzdXNwZW5zZUhhbmRsZXJTdGFja0N1cnNvciwgZmliZXIsIGZpYmVyKTtcblxuICAgIGlmIChzaGVsbEJvdW5kYXJ5ICE9PSBudWxsKSA7IGVsc2Uge1xuICAgICAgdmFyIGN1cnJlbnQgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IGJvdW5kYXJ5IGluIHRoZSBzdGFjayB0aGF0J3MgYWxyZWFkeSBzaG93aW5nXG4gICAgICAgICAgLy8gYSBmYWxsYmFjay4gU28gZXZlcnl0aGluZyBvdXRzaWRlIGlzIGNvbnNpZGVyZWQgdGhlIHNoZWxsLlxuICAgICAgICAgIHNoZWxsQm91bmRhcnkgPSBmaWJlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgTGVnYWN5SGlkZGVuIGNvbXBvbmVudC5cbiAgICByZXVzZVN1c3BlbnNlSGFuZGxlck9uU3RhY2soZmliZXIpO1xuICB9XG59XG5mdW5jdGlvbiByZXVzZVN1c3BlbnNlSGFuZGxlck9uU3RhY2soZmliZXIpIHtcbiAgcHVzaFN1c3BlbnNlTGlzdENvbnRleHQoZmliZXIsIHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCk7XG4gIHB1c2goc3VzcGVuc2VIYW5kbGVyU3RhY2tDdXJzb3IsIGdldFN1c3BlbnNlSGFuZGxlcigpLCBmaWJlcik7XG59XG5mdW5jdGlvbiBnZXRTdXNwZW5zZUhhbmRsZXIoKSB7XG4gIHJldHVybiBzdXNwZW5zZUhhbmRsZXJTdGFja0N1cnNvci5jdXJyZW50O1xufVxuZnVuY3Rpb24gcG9wU3VzcGVuc2VIYW5kbGVyKGZpYmVyKSB7XG4gIHBvcChzdXNwZW5zZUhhbmRsZXJTdGFja0N1cnNvciwgZmliZXIpO1xuXG4gIGlmIChzaGVsbEJvdW5kYXJ5ID09PSBmaWJlcikge1xuICAgIC8vIFBvcHBpbmcgYmFjayBpbnRvIHRoZSBzaGVsbC5cbiAgICBzaGVsbEJvdW5kYXJ5ID0gbnVsbDtcbiAgfVxuXG4gIHBvcFN1c3BlbnNlTGlzdENvbnRleHQoZmliZXIpO1xufSAvLyBTdXNwZW5zZUxpc3QgY29udGV4dFxuLy8gVE9ETzogTW92ZSB0byBhIHNlcGFyYXRlIG1vZHVsZT8gV2UgbWF5IGNoYW5nZSB0aGUgU3VzcGVuc2VMaXN0XG4vLyBpbXBsZW1lbnRhdGlvbiB0byBoaWRlL3Nob3cgaW4gdGhlIGNvbW1pdCBwaGFzZSwgYW55d2F5LlxuXG52YXIgRGVmYXVsdFN1c3BlbnNlQ29udGV4dCA9IDA7XG52YXIgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgPSAxOyAvLyBGb3JjZVN1c3BlbnNlRmFsbGJhY2sgY2FuIGJlIHVzZWQgYnkgU3VzcGVuc2VMaXN0IHRvIGZvcmNlIG5ld2x5IGFkZGVkXG4vLyBpdGVtcyBpbnRvIHRoZWlyIGZhbGxiYWNrIHN0YXRlIGR1cmluZyBvbmUgb2YgdGhlIHJlbmRlciBwYXNzZXMuXG5cbnZhciBGb3JjZVN1c3BlbnNlRmFsbGJhY2sgPSAyO1xudmFyIHN1c3BlbnNlU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoRGVmYXVsdFN1c3BlbnNlQ29udGV4dCk7XG5mdW5jdGlvbiBoYXNTdXNwZW5zZUxpc3RDb250ZXh0KHBhcmVudENvbnRleHQsIGZsYWcpIHtcbiAgcmV0dXJuIChwYXJlbnRDb250ZXh0ICYgZmxhZykgIT09IDA7XG59XG5mdW5jdGlvbiBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlTGlzdENvbnRleHQocGFyZW50Q29udGV4dCkge1xuICByZXR1cm4gcGFyZW50Q29udGV4dCAmIFN1YnRyZWVTdXNwZW5zZUNvbnRleHRNYXNrO1xufVxuZnVuY3Rpb24gc2V0U2hhbGxvd1N1c3BlbnNlTGlzdENvbnRleHQocGFyZW50Q29udGV4dCwgc2hhbGxvd0NvbnRleHQpIHtcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgJiBTdWJ0cmVlU3VzcGVuc2VDb250ZXh0TWFzayB8IHNoYWxsb3dDb250ZXh0O1xufVxuZnVuY3Rpb24gcHVzaFN1c3BlbnNlTGlzdENvbnRleHQoZmliZXIsIG5ld0NvbnRleHQpIHtcbiAgcHVzaChzdXNwZW5zZVN0YWNrQ3Vyc29yLCBuZXdDb250ZXh0LCBmaWJlcik7XG59XG5mdW5jdGlvbiBwb3BTdXNwZW5zZUxpc3RDb250ZXh0KGZpYmVyKSB7XG4gIHBvcChzdXNwZW5zZVN0YWNrQ3Vyc29yLCBmaWJlcik7XG59XG5cbi8vIEEgbm9uLW51bGwgU3VzcGVuc2VTdGF0ZSBtZWFucyB0aGF0IGl0IGlzIGJsb2NrZWQgZm9yIG9uZSByZWFzb24gb3IgYW5vdGhlci5cbi8vIC0gQSBub24tbnVsbCBkZWh5ZHJhdGVkIGZpZWxkIG1lYW5zIGl0J3MgYmxvY2tlZCBwZW5kaW5nIGh5ZHJhdGlvbi5cbi8vICAgLSBBIG5vbi1udWxsIGRlaHlkcmF0ZWQgZmllbGQgY2FuIHVzZSBpc1N1c3BlbnNlSW5zdGFuY2VQZW5kaW5nIG9yXG4vLyAgICAgaXNTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2sgdG8gcXVlcnkgdGhlIHJlYXNvbiBmb3IgYmVpbmcgZGVoeWRyYXRlZC5cbi8vIC0gQSBudWxsIGRlaHlkcmF0ZWQgZmllbGQgbWVhbnMgaXQncyBibG9ja2VkIGJ5IHNvbWV0aGluZyBzdXNwZW5kaW5nIGFuZFxuLy8gICB3ZSdyZSBjdXJyZW50bHkgc2hvd2luZyBhIGZhbGxiYWNrIGluc3RlYWQuXG5cbmZ1bmN0aW9uIGZpbmRGaXJzdFN1c3BlbmRlZChyb3cpIHtcbiAgdmFyIG5vZGUgPSByb3c7XG5cbiAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgICB2YXIgc3RhdGUgPSBub2RlLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgZGVoeWRyYXRlZCA9IHN0YXRlLmRlaHlkcmF0ZWQ7XG5cbiAgICAgICAgaWYgKGRlaHlkcmF0ZWQgPT09IG51bGwgfHwgaXNTdXNwZW5zZUluc3RhbmNlUGVuZGluZyhkZWh5ZHJhdGVkKSB8fCBpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhkZWh5ZHJhdGVkKSkge1xuICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gU3VzcGVuc2VMaXN0Q29tcG9uZW50ICYmIC8vIHJldmVhbE9yZGVyIHVuZGVmaW5lZCBjYW4ndCBiZSB0cnVzdGVkIGJlY2F1c2UgaXQgZG9uJ3RcbiAgICAvLyBrZWVwIHRyYWNrIG9mIHdoZXRoZXIgaXQgc3VzcGVuZGVkIG9yIG5vdC5cbiAgICBub2RlLm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdmFyIGRpZFN1c3BlbmQgPSAobm9kZS5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzJDE7XG5cbiAgICAgIGlmIChkaWRTdXNwZW5kKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobm9kZSA9PT0gcm93KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IHJvdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgIH1cblxuICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcbiAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBOb0ZsYWdzID1cbi8qICAgKi9cbjA7IC8vIFJlcHJlc2VudHMgd2hldGhlciBlZmZlY3Qgc2hvdWxkIGZpcmUuXG5cbnZhciBIYXNFZmZlY3QgPVxuLyogKi9cbjE7IC8vIFJlcHJlc2VudHMgdGhlIHBoYXNlIGluIHdoaWNoIHRoZSBlZmZlY3QgKG5vdCB0aGUgY2xlYW4tdXApIGZpcmVzLlxuXG52YXIgSW5zZXJ0aW9uID1cbi8qICovXG4yO1xudmFyIExheW91dCA9XG4vKiAgICAqL1xuNDtcbnZhciBQYXNzaXZlID1cbi8qICAgKi9cbjg7XG5cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbnZhciBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQ7XG52YXIgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3Q7XG52YXIgZGlkV2FybkFib3V0VXNlV3JhcHBlZEluVHJ5Q2F0Y2g7XG52YXIgZGlkV2FybkFib3V0QXN5bmNDbGllbnRDb21wb25lbnQ7XG5cbntcbiAgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXRVc2VXcmFwcGVkSW5UcnlDYXRjaCA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0QXN5bmNDbGllbnRDb21wb25lbnQgPSBuZXcgU2V0KCk7XG59IC8vIFRoZSBlZmZlY3QgXCJpbnN0YW5jZVwiIGlzIGEgc2hhcmVkIG9iamVjdCB0aGF0IHJlbWFpbnMgdGhlIHNhbWUgZm9yIHRoZSBlbnRpcmVcbi8vIGxpZmV0aW1lIG9mIGFuIGVmZmVjdC4gSW4gUnVzdCB0ZXJtcywgYSBSZWZDZWxsLiBXZSB1c2UgaXQgdG8gc3RvcmUgdGhlXG4vLyBcImRlc3Ryb3lcIiBmdW5jdGlvbiB0aGF0IGlzIHJldHVybmVkIGZyb20gYW4gZWZmZWN0LCBiZWNhdXNlIHRoYXQgaXMgc3RhdGVmdWwuXG4vLyBUaGUgZmllbGQgaXMgYHVuZGVmaW5lZGAgaWYgdGhlIGVmZmVjdCBpcyB1bm1vdW50ZWQsIG9yIGlmIHRoZSBlZmZlY3QgcmFuXG4vLyBidXQgaXMgbm90IHN0YXRlZnVsLiBXZSBkb24ndCBleHBsaWNpdGx5IHRyYWNrIHdoZXRoZXIgdGhlIGVmZmVjdCBpcyBtb3VudGVkXG4vLyBvciB1bm1vdW50ZWQgYmVjYXVzZSB0aGF0IGNhbiBiZSBpbmZlcnJlZCBieSB0aGUgaGlkZGVubmVzcyBvZiB0aGUgZmliZXIgaW5cbi8vIHRoZSB0cmVlLCBpLmUuIHdoZXRoZXIgdGhlcmUgaXMgYSBoaWRkZW4gT2Zmc2NyZWVuIGZpYmVyIGFib3ZlIGl0LlxuLy9cbi8vIEl0J3MgdW5mb3J0dW5hdGUgdGhhdCB0aGlzIGlzIHN0b3JlZCBvbiBhIHNlcGFyYXRlIG9iamVjdCwgYmVjYXVzZSBpdCBhZGRzXG4vLyBtb3JlIG1lbW9yeSBwZXIgZWZmZWN0IGluc3RhbmNlLCBidXQgaXQncyBjb25jZXB0dWFsbHkgc291bmQuIEkgdGhpbmsgdGhlcmUnc1xuLy8gbGlrZWx5IGEgYmV0dGVyIGRhdGEgc3RydWN0dXJlIHdlIGNvdWxkIHVzZSBmb3IgZWZmZWN0czsgcGVyaGFwcyBqdXN0IG9uZVxuLy8gYXJyYXkgb2YgZWZmZWN0IGluc3RhbmNlcyBwZXIgZmliZXIuIEJ1dCBJIHRoaW5rIHRoaXMgaXMgT0sgZm9yIG5vdyBkZXNwaXRlXG4vLyB0aGUgYWRkaXRpb25hbCBtZW1vcnkgYW5kIHdlIGNhbiBmb2xsb3cgdXAgd2l0aCBwZXJmb3JtYW5jZVxuLy8gb3B0aW1pemF0aW9ucyBsYXRlci5cbi8vIFRoZXNlIGFyZSBzZXQgcmlnaHQgYmVmb3JlIGNhbGxpbmcgdGhlIGNvbXBvbmVudC5cblxuXG52YXIgcmVuZGVyTGFuZXMgPSBOb0xhbmVzOyAvLyBUaGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gSSd2ZSBuYW1lZCBpdCBkaWZmZXJlbnRseSB0byBkaXN0aW5ndWlzaCBpdCBmcm9tXG4vLyB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7IC8vIEhvb2tzIGFyZSBzdG9yZWQgYXMgYSBsaW5rZWQgbGlzdCBvbiB0aGUgZmliZXIncyBtZW1vaXplZFN0YXRlIGZpZWxkLiBUaGVcbi8vIGN1cnJlbnQgaG9vayBsaXN0IGlzIHRoZSBsaXN0IHRoYXQgYmVsb25ncyB0byB0aGUgY3VycmVudCBmaWJlci4gVGhlXG4vLyB3b3JrLWluLXByb2dyZXNzIGhvb2sgbGlzdCBpcyBhIG5ldyBsaXN0IHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGVcbi8vIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG5cbnZhciBjdXJyZW50SG9vayA9IG51bGw7XG52YXIgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDsgLy8gV2hldGhlciBhbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBhdCBhbnkgcG9pbnQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuIFRoaXNcbi8vIGRvZXMgbm90IGdldCByZXNldCBpZiB3ZSBkbyBhbm90aGVyIHJlbmRlciBwYXNzOyBvbmx5IHdoZW4gd2UncmUgY29tcGxldGVseVxuLy8gZmluaXNoZWQgZXZhbHVhdGluZyB0aGlzIGNvbXBvbmVudC4gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gc28gd2Uga25vd1xuLy8gd2hldGhlciB3ZSBuZWVkIHRvIGNsZWFyIHJlbmRlciBwaGFzZSB1cGRhdGVzIGFmdGVyIGEgdGhyb3cuXG5cbnZhciBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gZmFsc2U7IC8vIFdoZXJlIGFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9ubHkgZHVyaW5nIHRoZSBjdXJyZW50IHJlbmRlciBwYXNzLiBUaGlzXG4vLyBnZXRzIHJlc2V0IGFmdGVyIGVhY2ggYXR0ZW1wdC5cbi8vIFRPRE86IE1heWJlIHRoZXJlJ3Mgc29tZSB3YXkgdG8gY29uc29saWRhdGUgdGhpcyB3aXRoXG4vLyBgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZWAuIE9yIHdpdGggYG51bWJlck9mUmVSZW5kZXJzYC5cblxudmFyIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlO1xudmFyIHNob3VsZERvdWJsZUludm9rZVVzZXJGbnNJbkhvb2tzREVWID0gZmFsc2U7IC8vIENvdW50cyB0aGUgbnVtYmVyIG9mIHVzZUlkIGhvb2tzIGluIHRoaXMgY29tcG9uZW50LlxuXG52YXIgbG9jYWxJZENvdW50ZXIgPSAwOyAvLyBDb3VudHMgbnVtYmVyIG9mIGB1c2VgLWQgdGhlbmFibGVzXG5cbnZhciB0aGVuYWJsZUluZGV4Q291bnRlciA9IDA7XG52YXIgdGhlbmFibGVTdGF0ZSA9IG51bGw7IC8vIFVzZWQgZm9yIGlkcyB0aGF0IGFyZSBnZW5lcmF0ZWQgY29tcGxldGVseSBjbGllbnQtc2lkZSAoaS5lLiBub3QgZHVyaW5nXG4vLyBoeWRyYXRpb24pLiBUaGlzIGNvdW50ZXIgaXMgZ2xvYmFsLCBzbyBjbGllbnQgaWRzIGFyZSBub3Qgc3RhYmxlIGFjcm9zc1xuLy8gcmVuZGVyIGF0dGVtcHRzLlxuXG52YXIgZ2xvYmFsQ2xpZW50SWRDb3VudGVyID0gMDtcbnZhciBSRV9SRU5ERVJfTElNSVQgPSAyNTsgLy8gSW4gREVWLCB0aGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIHByaW1pdGl2ZSBob29rXG5cbnZhciBjdXJyZW50SG9va05hbWVJbkRldiA9IG51bGw7IC8vIEluIERFViwgdGhpcyBsaXN0IGVuc3VyZXMgdGhhdCBob29rcyBhcmUgY2FsbGVkIGluIHRoZSBzYW1lIG9yZGVyIGJldHdlZW4gcmVuZGVycy5cbi8vIFRoZSBsaXN0IHN0b3JlcyB0aGUgb3JkZXIgb2YgaG9va3MgdXNlZCBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIChtb3VudCkuXG4vLyBTdWJzZXF1ZW50IHJlbmRlcnMgKHVwZGF0ZXMpIHJlZmVyZW5jZSB0aGlzIGxpc3QuXG5cbnZhciBob29rVHlwZXNEZXYgPSBudWxsO1xudmFyIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIEluIERFViwgdGhpcyB0cmFja3Mgd2hldGhlciBjdXJyZW50bHkgcmVuZGVyaW5nIGNvbXBvbmVudCBuZWVkcyB0byBpZ25vcmVcbi8vIHRoZSBkZXBlbmRlbmNpZXMgZm9yIEhvb2tzIHRoYXQgbmVlZCB0aGVtIChlLmcuIHVzZUVmZmVjdCBvciB1c2VNZW1vKS5cbi8vIFdoZW4gdHJ1ZSwgc3VjaCBIb29rcyB3aWxsIGFsd2F5cyBiZSBcInJlbW91bnRlZFwiLiBPbmx5IHVzZWQgZHVyaW5nIGhvdCByZWxvYWQuXG5cbnZhciBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGZhbHNlO1xuXG5mdW5jdGlvbiBtb3VudEhvb2tUeXBlc0RldigpIHtcbiAge1xuICAgIHZhciBob29rTmFtZSA9IGN1cnJlbnRIb29rTmFtZUluRGV2O1xuXG4gICAgaWYgKGhvb2tUeXBlc0RldiA9PT0gbnVsbCkge1xuICAgICAgaG9va1R5cGVzRGV2ID0gW2hvb2tOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgaG9va1R5cGVzRGV2LnB1c2goaG9va05hbWUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVIb29rVHlwZXNEZXYoKSB7XG4gIHtcbiAgICB2YXIgaG9va05hbWUgPSBjdXJyZW50SG9va05hbWVJbkRldjtcblxuICAgIGlmIChob29rVHlwZXNEZXYgIT09IG51bGwpIHtcbiAgICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2Kys7XG5cbiAgICAgIGlmIChob29rVHlwZXNEZXZbaG9va1R5cGVzVXBkYXRlSW5kZXhEZXZdICE9PSBob29rTmFtZSkge1xuICAgICAgICB3YXJuT25Ib29rTWlzbWF0Y2hJbkRldihob29rTmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpIHtcbiAge1xuICAgIGlmIChkZXBzICE9PSB1bmRlZmluZWQgJiYgZGVwcyAhPT0gbnVsbCAmJiAhaXNBcnJheShkZXBzKSkge1xuICAgICAgLy8gVmVyaWZ5IGRlcHMsIGJ1dCBvbmx5IG9uIG1vdW50IHRvIGF2b2lkIGV4dHJhIGNoZWNrcy5cbiAgICAgIC8vIEl0J3MgdW5saWtlbHkgdGhlaXIgdHlwZSB3b3VsZCBjaGFuZ2UgYXMgdXN1YWxseSB5b3UgZGVmaW5lIHRoZW0gaW5saW5lLlxuICAgICAgZXJyb3IoJyVzIHJlY2VpdmVkIGEgZmluYWwgYXJndW1lbnQgdGhhdCBpcyBub3QgYW4gYXJyYXkgKGluc3RlYWQsIHJlY2VpdmVkIGAlc2ApLiBXaGVuICcgKyAnc3BlY2lmaWVkLCB0aGUgZmluYWwgYXJndW1lbnQgbXVzdCBiZSBhbiBhcnJheS4nLCBjdXJyZW50SG9va05hbWVJbkRldiwgdHlwZW9mIGRlcHMpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuT25Ib29rTWlzbWF0Y2hJbkRldihjdXJyZW50SG9va05hbWUpIHtcbiAge1xuICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxKTtcblxuICAgIGlmICghZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50Lmhhcyhjb21wb25lbnROYW1lKSkge1xuICAgICAgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgdGFibGUgPSAnJztcbiAgICAgICAgdmFyIHNlY29uZENvbHVtblN0YXJ0ID0gMzA7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gaG9va1R5cGVzVXBkYXRlSW5kZXhEZXY7IGkrKykge1xuICAgICAgICAgIHZhciBvbGRIb29rTmFtZSA9IGhvb2tUeXBlc0RldltpXTtcbiAgICAgICAgICB2YXIgbmV3SG9va05hbWUgPSBpID09PSBob29rVHlwZXNVcGRhdGVJbmRleERldiA/IGN1cnJlbnRIb29rTmFtZSA6IG9sZEhvb2tOYW1lO1xuICAgICAgICAgIHZhciByb3cgPSBpICsgMSArIFwiLiBcIiArIG9sZEhvb2tOYW1lOyAvLyBFeHRyYSBzcGFjZSBzbyBzZWNvbmQgY29sdW1uIGxpbmVzIHVwXG4gICAgICAgICAgLy8gbG9sIEAgSUUgbm90IHN1cHBvcnRpbmcgU3RyaW5nI3JlcGVhdFxuXG4gICAgICAgICAgd2hpbGUgKHJvdy5sZW5ndGggPCBzZWNvbmRDb2x1bW5TdGFydCkge1xuICAgICAgICAgICAgcm93ICs9ICcgJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByb3cgKz0gbmV3SG9va05hbWUgKyAnXFxuJztcbiAgICAgICAgICB0YWJsZSArPSByb3c7XG4gICAgICAgIH1cblxuICAgICAgICBlcnJvcignUmVhY3QgaGFzIGRldGVjdGVkIGEgY2hhbmdlIGluIHRoZSBvcmRlciBvZiBIb29rcyBjYWxsZWQgYnkgJXMuICcgKyAnVGhpcyB3aWxsIGxlYWQgdG8gYnVncyBhbmQgZXJyb3JzIGlmIG5vdCBmaXhlZC4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVhZCB0aGUgUnVsZXMgb2YgSG9va3M6IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9ydWxlcy1vZi1ob29rc1xcblxcbicgKyAnICAgUHJldmlvdXMgcmVuZGVyICAgICAgICAgICAgTmV4dCByZW5kZXJcXG4nICsgJyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcbicgKyAnJXMnICsgJyAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlxcbicsIGNvbXBvbmVudE5hbWUsIHRhYmxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gd2FybklmQXN5bmNDbGllbnRDb21wb25lbnQoQ29tcG9uZW50KSB7XG4gIHtcbiAgICAvLyBUaGlzIGRldi1vbmx5IGNoZWNrIG9ubHkgd29ya3MgZm9yIGRldGVjdGluZyBuYXRpdmUgYXN5bmMgZnVuY3Rpb25zLFxuICAgIC8vIG5vdCB0cmFuc3BpbGVkIG9uZXMuIFRoZXJlJ3MgYWxzbyBhIHByb2QgY2hlY2sgdGhhdCB3ZSB1c2UgdG8gcHJldmVudFxuICAgIC8vIGFzeW5jIGNsaWVudCBjb21wb25lbnRzIGZyb20gY3Jhc2hpbmcgdGhlIGFwcDsgdGhlIHByb2Qgb25lIHdvcmtzIGV2ZW5cbiAgICAvLyBmb3IgdHJhbnNwaWxlZCBhc3luYyBmdW5jdGlvbnMuIE5laXRoZXIgbWVjaGFuaXNtIGlzIGNvbXBsZXRlbHlcbiAgICAvLyBidWxsZXRwcm9vZiBidXQgdG9nZXRoZXIgdGhleSBjb3ZlciB0aGUgbW9zdCBjb21tb24gY2FzZXMuXG4gICAgdmFyIGlzQXN5bmNGdW5jdGlvbiA9IC8vICRGbG93SWdub3JlW21ldGhvZC11bmJpbmRpbmddXG4gICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKENvbXBvbmVudCkgPT09ICdbb2JqZWN0IEFzeW5jRnVuY3Rpb25dJztcblxuICAgIGlmIChpc0FzeW5jRnVuY3Rpb24pIHtcbiAgICAgIC8vIEVuY291bnRlcmVkIGFuIGFzeW5jIENsaWVudCBDb21wb25lbnQuIFRoaXMgaXMgbm90IHlldCBzdXBwb3J0ZWQuXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0QXN5bmNDbGllbnRDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEFzeW5jQ2xpZW50Q29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignYXN5bmMvYXdhaXQgaXMgbm90IHlldCBzdXBwb3J0ZWQgaW4gQ2xpZW50IENvbXBvbmVudHMsIG9ubHkgJyArICdTZXJ2ZXIgQ29tcG9uZW50cy4gVGhpcyBlcnJvciBpcyBvZnRlbiBjYXVzZWQgYnkgYWNjaWRlbnRhbGx5ICcgKyBcImFkZGluZyBgJ3VzZSBjbGllbnQnYCB0byBhIG1vZHVsZSB0aGF0IHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gXCIgKyAnZm9yIHRoZSBzZXJ2ZXIuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRocm93SW52YWxpZEhvb2tFcnJvcigpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGhvb2sgY2FsbC4gSG9va3MgY2FuIG9ubHkgYmUgY2FsbGVkIGluc2lkZSBvZiB0aGUgYm9keSBvZiBhIGZ1bmN0aW9uIGNvbXBvbmVudC4gVGhpcyBjb3VsZCBoYXBwZW4gZm9yJyArICcgb25lIG9mIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcXG4nICsgJzEuIFlvdSBtaWdodCBoYXZlIG1pc21hdGNoaW5nIHZlcnNpb25zIG9mIFJlYWN0IGFuZCB0aGUgcmVuZGVyZXIgKHN1Y2ggYXMgUmVhY3QgRE9NKVxcbicgKyAnMi4gWW91IG1pZ2h0IGJlIGJyZWFraW5nIHRoZSBSdWxlcyBvZiBIb29rc1xcbicgKyAnMy4gWW91IG1pZ2h0IGhhdmUgbW9yZSB0aGFuIG9uZSBjb3B5IG9mIFJlYWN0IGluIHRoZSBzYW1lIGFwcFxcbicgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9pbnZhbGlkLWhvb2stY2FsbCBmb3IgdGlwcyBhYm91dCBob3cgdG8gZGVidWcgYW5kIGZpeCB0aGlzIHByb2JsZW0uJyk7XG59XG5cbmZ1bmN0aW9uIGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpIHtcbiAge1xuICAgIGlmIChpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcykge1xuICAgICAgLy8gT25seSB0cnVlIHdoZW4gdGhpcyBjb21wb25lbnQgaXMgYmVpbmcgaG90IHJlbG9hZGVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwcmV2RGVwcyA9PT0gbnVsbCkge1xuICAgIHtcbiAgICAgIGVycm9yKCclcyByZWNlaXZlZCBhIGZpbmFsIGFyZ3VtZW50IGR1cmluZyB0aGlzIHJlbmRlciwgYnV0IG5vdCBkdXJpbmcgJyArICd0aGUgcHJldmlvdXMgcmVuZGVyLiBFdmVuIHRob3VnaCB0aGUgZmluYWwgYXJndW1lbnQgaXMgb3B0aW9uYWwsICcgKyAnaXRzIHR5cGUgY2Fubm90IGNoYW5nZSBiZXR3ZWVuIHJlbmRlcnMuJywgY3VycmVudEhvb2tOYW1lSW5EZXYpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHtcbiAgICAvLyBEb24ndCBib3RoZXIgY29tcGFyaW5nIGxlbmd0aHMgaW4gcHJvZCBiZWNhdXNlIHRoZXNlIGFycmF5cyBzaG91bGQgYmVcbiAgICAvLyBwYXNzZWQgaW5saW5lLlxuICAgIGlmIChuZXh0RGVwcy5sZW5ndGggIT09IHByZXZEZXBzLmxlbmd0aCkge1xuICAgICAgZXJyb3IoJ1RoZSBmaW5hbCBhcmd1bWVudCBwYXNzZWQgdG8gJXMgY2hhbmdlZCBzaXplIGJldHdlZW4gcmVuZGVycy4gVGhlICcgKyAnb3JkZXIgYW5kIHNpemUgb2YgdGhpcyBhcnJheSBtdXN0IHJlbWFpbiBjb25zdGFudC5cXG5cXG4nICsgJ1ByZXZpb3VzOiAlc1xcbicgKyAnSW5jb21pbmc6ICVzJywgY3VycmVudEhvb2tOYW1lSW5EZXYsIFwiW1wiICsgcHJldkRlcHMuam9pbignLCAnKSArIFwiXVwiLCBcIltcIiArIG5leHREZXBzLmpvaW4oJywgJykgKyBcIl1cIik7XG4gICAgfVxuICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcmV2RGVwcy5sZW5ndGggJiYgaSA8IG5leHREZXBzLmxlbmd0aDsgaSsrKSB7XG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdXNlXSBmb3VuZCB3aGVuIHVwZ3JhZGluZyBGbG93XG4gICAgaWYgKG9iamVjdElzKG5leHREZXBzW2ldLCBwcmV2RGVwc1tpXSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcHJvcHMsIHNlY29uZEFyZywgbmV4dFJlbmRlckxhbmVzKSB7XG4gIHJlbmRlckxhbmVzID0gbmV4dFJlbmRlckxhbmVzO1xuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxID0gd29ya0luUHJvZ3Jlc3M7XG5cbiAge1xuICAgIGhvb2tUeXBlc0RldiA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Ll9kZWJ1Z0hvb2tUeXBlcyA6IG51bGw7XG4gICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTsgLy8gVXNlZCBmb3IgaG90IHJlbG9hZGluZzpcblxuICAgIGlnbm9yZVByZXZpb3VzRGVwZW5kZW5jaWVzID0gY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50LnR5cGUgIT09IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gICAgd2FybklmQXN5bmNDbGllbnRDb21wb25lbnQoQ29tcG9uZW50KTtcbiAgfVxuXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzLmxhbmVzID0gTm9MYW5lczsgLy8gVGhlIGZvbGxvd2luZyBzaG91bGQgaGF2ZSBhbHJlYWR5IGJlZW4gcmVzZXRcbiAgLy8gY3VycmVudEhvb2sgPSBudWxsO1xuICAvLyB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xuICAvLyBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gZmFsc2U7XG4gIC8vIGxvY2FsSWRDb3VudGVyID0gMDtcbiAgLy8gdGhlbmFibGVJbmRleENvdW50ZXIgPSAwO1xuICAvLyB0aGVuYWJsZVN0YXRlID0gbnVsbDtcbiAgLy8gVE9ETyBXYXJuIGlmIG5vIGhvb2tzIGFyZSB1c2VkIGF0IGFsbCBkdXJpbmcgbW91bnQsIHRoZW4gc29tZSBhcmUgdXNlZCBkdXJpbmcgdXBkYXRlLlxuICAvLyBDdXJyZW50bHkgd2Ugd2lsbCBpZGVudGlmeSB0aGUgdXBkYXRlIHJlbmRlciBhcyBhIG1vdW50IGJlY2F1c2UgbWVtb2l6ZWRTdGF0ZSA9PT0gbnVsbC5cbiAgLy8gVGhpcyBpcyB0cmlja3kgYmVjYXVzZSBpdCdzIHZhbGlkIGZvciBjZXJ0YWluIHR5cGVzIG9mIGNvbXBvbmVudHMgKGUuZy4gUmVhY3QubGF6eSlcbiAgLy8gVXNpbmcgbWVtb2l6ZWRTdGF0ZSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gbW91bnQvdXBkYXRlIG9ubHkgd29ya3MgaWYgYXQgbGVhc3Qgb25lIHN0YXRlZnVsIGhvb2sgaXMgdXNlZC5cbiAgLy8gTm9uLXN0YXRlZnVsIGhvb2tzIChlLmcuIGNvbnRleHQpIGRvbid0IGdldCBhZGRlZCB0byBtZW1vaXplZFN0YXRlLFxuICAvLyBzbyBtZW1vaXplZFN0YXRlIHdvdWxkIGJlIG51bGwgZHVyaW5nIHVwZGF0ZXMgYW5kIG1vdW50cy5cblxuICB7XG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG4gICAgfSBlbHNlIGlmIChob29rVHlwZXNEZXYgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgZGlzcGF0Y2hlciBoYW5kbGVzIGFuIGVkZ2UgY2FzZSB3aGVyZSBhIGNvbXBvbmVudCBpcyB1cGRhdGluZyxcbiAgICAgIC8vIGJ1dCBubyBzdGF0ZWZ1bCBob29rcyBoYXZlIGJlZW4gdXNlZC5cbiAgICAgIC8vIFdlIHdhbnQgdG8gbWF0Y2ggdGhlIHByb2R1Y3Rpb24gY29kZSBiZWhhdmlvciAod2hpY2ggd2lsbCB1c2UgSG9va3NEaXNwYXRjaGVyT25Nb3VudCksXG4gICAgICAvLyBidXQgd2l0aCB0aGUgZXh0cmEgREVWIHZhbGlkYXRpb24gdG8gZW5zdXJlIGhvb2tzIG9yZGVyaW5nIGhhc24ndCBjaGFuZ2VkLlxuICAgICAgLy8gVGhpcyBkaXNwYXRjaGVyIGRvZXMgdGhhdC5cbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSG9va3NEaXNwYXRjaGVyT25Nb3VudFdpdGhIb29rVHlwZXNJbkRFVjtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG4gICAgfVxuICB9IC8vIEluIFN0cmljdCBNb2RlLCBkdXJpbmcgZGV2ZWxvcG1lbnQsIHVzZXIgZnVuY3Rpb25zIGFyZSBkb3VibGUgaW52b2tlZCB0b1xuICAvLyBoZWxwIGRldGVjdCBzaWRlIGVmZmVjdHMuIFRoZSBsb2dpYyBmb3IgaG93IHRoaXMgaXMgaW1wbGVtZW50ZWQgZm9yIGluXG4gIC8vIGhvb2sgY29tcG9uZW50cyBpcyBhIGJpdCBjb21wbGV4IHNvIGxldCdzIGJyZWFrIGl0IGRvd24uXG4gIC8vXG4gIC8vIFdlIHdpbGwgaW52b2tlIHRoZSBlbnRpcmUgY29tcG9uZW50IGZ1bmN0aW9uIHR3aWNlLiBIb3dldmVyLCBkdXJpbmcgdGhlXG4gIC8vIHNlY29uZCBpbnZvY2F0aW9uIG9mIHRoZSBjb21wb25lbnQsIHRoZSBob29rIHN0YXRlIGZyb20gdGhlIGZpcnN0XG4gIC8vIGludm9jYXRpb24gd2lsbCBiZSByZXVzZWQuIFRoYXQgbWVhbnMgdGhpbmdzIGxpa2UgYHVzZU1lbW9gIGZ1bmN0aW9ucyB3b24ndFxuICAvLyBydW4gYWdhaW4sIGJlY2F1c2UgdGhlIGRlcHMgd2lsbCBtYXRjaCBhbmQgdGhlIG1lbW9pemVkIHJlc3VsdCB3aWxsXG4gIC8vIGJlIHJldXNlZC5cbiAgLy9cbiAgLy8gV2Ugd2FudCBtZW1vaXplZCBmdW5jdGlvbnMgdG8gcnVuIHR3aWNlLCB0b28sIHNvIGFjY291bnQgZm9yIHRoaXMsIHVzZXJcbiAgLy8gZnVuY3Rpb25zIGFyZSBkb3VibGUgaW52b2tlZCBkdXJpbmcgdGhlICpmaXJzdCogaW52b2NhdGlvbiBvZiB0aGUgY29tcG9uZW50XG4gIC8vIGZ1bmN0aW9uLCBhbmQgYXJlICpub3QqIGRvdWJsZSBpbnZva2VkIGR1cmluZyB0aGUgc2Vjb25kIGluY292YXRpb246XG4gIC8vXG4gIC8vIC0gRmlyc3QgZXhlY3V0aW9uIG9mIGNvbXBvbmVudCBmdW5jdGlvbjogdXNlciBmdW5jdGlvbnMgYXJlIGRvdWJsZSBpbnZva2VkXG4gIC8vIC0gU2Vjb25kIGV4ZWN1dGlvbiBvZiBjb21wb25lbnQgZnVuY3Rpb24gKGluIFN0cmljdCBNb2RlLCBkdXJpbmdcbiAgLy8gICBkZXZlbG9wbWVudCk6IHVzZXIgZnVuY3Rpb25zIGFyZSBub3QgZG91YmxlIGludm9rZWQuXG4gIC8vXG4gIC8vIFRoaXMgaXMgaW50ZW50aW9uYWwgZm9yIGEgZmV3IHJlYXNvbnM7IG1vc3QgaW1wb3J0YW50bHksIGl0J3MgYmVjYXVzZSBvZlxuICAvLyBob3cgYHVzZWAgd29ya3Mgd2hlbiBzb21ldGhpbmcgc3VzcGVuZHM6IGl0IHJldXNlcyB0aGUgcHJvbWlzZSB0aGF0IHdhc1xuICAvLyBwYXNzZWQgZHVyaW5nIHRoZSBmaXJzdCBhdHRlbXB0LiBUaGlzIGlzIGl0c2VsZiBhIGZvcm0gb2YgbWVtb2l6YXRpb24uXG4gIC8vIFdlIG5lZWQgdG8gYmUgYWJsZSB0byBtZW1vaXplIHRoZSByZWFjdGl2ZSBpbnB1dHMgdG8gdGhlIGB1c2VgIGNhbGwgdXNpbmdcbiAgLy8gYSBob29rIChpLmUuIGB1c2VNZW1vYCksIHdoaWNoIG1lYW5zLCB0aGUgcmVhY3RpdmUgaW5wdXRzIHRvIGB1c2VgIG11c3RcbiAgLy8gY29tZSBmcm9tIHRoZSBzYW1lIGNvbXBvbmVudCBpbnZvY2F0aW9uIGFzIHRoZSBvdXRwdXQuXG4gIC8vXG4gIC8vIFRoZXJlIGFyZSBwbGVudHkgb2YgdGVzdHMgdG8gZW5zdXJlIHRoaXMgYmVoYXZpb3IgaXMgY29ycmVjdC5cblxuXG4gIHZhciBzaG91bGREb3VibGVSZW5kZXJERVYgPSAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpICE9PSBOb01vZGU7XG4gIHNob3VsZERvdWJsZUludm9rZVVzZXJGbnNJbkhvb2tzREVWID0gc2hvdWxkRG91YmxlUmVuZGVyREVWO1xuICB2YXIgY2hpbGRyZW4gPSBDb21wb25lbnQocHJvcHMsIHNlY29uZEFyZyk7XG4gIHNob3VsZERvdWJsZUludm9rZVVzZXJGbnNJbkhvb2tzREVWID0gZmFsc2U7IC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhIHJlbmRlciBwaGFzZSB1cGRhdGVcblxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZUR1cmluZ1RoaXNQYXNzKSB7XG4gICAgLy8gS2VlcCByZW5kZXJpbmcgdW50aWwgdGhlIGNvbXBvbmVudCBzdGFiaWxpemVzICh0aGVyZSBhcmUgbm8gbW9yZSByZW5kZXJcbiAgICAvLyBwaGFzZSB1cGRhdGVzKS5cbiAgICBjaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rc0FnYWluKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBzZWNvbmRBcmcpO1xuICB9XG5cbiAgaWYgKHNob3VsZERvdWJsZVJlbmRlckRFVikge1xuICAgIC8vIEluIGRldmVsb3BtZW50LCBjb21wb25lbnRzIGFyZSBpbnZva2VkIHR3aWNlIHRvIGhlbHAgZGV0ZWN0IHNpZGUgZWZmZWN0cy5cbiAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgIHRyeSB7XG4gICAgICBjaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rc0FnYWluKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBzZWNvbmRBcmcpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgZmluaXNoUmVuZGVyaW5nSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICByZXR1cm4gY2hpbGRyZW47XG59XG5cbmZ1bmN0aW9uIGZpbmlzaFJlbmRlcmluZ0hvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpIHtcbiAge1xuICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z0hvb2tUeXBlcyA9IGhvb2tUeXBlc0RldjtcbiAgfSAvLyBXZSBjYW4gYXNzdW1lIHRoZSBwcmV2aW91cyBkaXNwYXRjaGVyIGlzIGFsd2F5cyB0aGlzIG9uZSwgc2luY2Ugd2Ugc2V0IGl0XG4gIC8vIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJlbmRlciBwaGFzZSBhbmQgdGhlcmUncyBubyByZS1lbnRyYW5jZS5cblxuXG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyOyAvLyBUaGlzIGNoZWNrIHVzZXMgY3VycmVudEhvb2sgc28gdGhhdCBpdCB3b3JrcyB0aGUgc2FtZSBpbiBERVYgYW5kIHByb2QgYnVuZGxlcy5cbiAgLy8gaG9va1R5cGVzRGV2IGNvdWxkIGNhdGNoIG1vcmUgY2FzZXMgKGUuZy4gY29udGV4dCkgYnV0IG9ubHkgaW4gREVWIGJ1bmRsZXMuXG5cbiAgdmFyIGRpZFJlbmRlclRvb0Zld0hvb2tzID0gY3VycmVudEhvb2sgIT09IG51bGwgJiYgY3VycmVudEhvb2submV4dCAhPT0gbnVsbDtcbiAgcmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxID0gbnVsbDtcbiAgY3VycmVudEhvb2sgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xuXG4gIHtcbiAgICBjdXJyZW50SG9va05hbWVJbkRldiA9IG51bGw7XG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xOyAvLyBDb25maXJtIHRoYXQgYSBzdGF0aWMgZmxhZyB3YXMgbm90IGFkZGVkIG9yIHJlbW92ZWQgc2luY2UgdGhlIGxhc3RcbiAgICAvLyByZW5kZXIuIElmIHRoaXMgZmlyZXMsIGl0IHN1Z2dlc3RzIHRoYXQgd2UgaW5jb3JyZWN0bHkgcmVzZXQgdGhlIHN0YXRpY1xuICAgIC8vIGZsYWdzIGluIHNvbWUgb3RoZXIgcGFydCBvZiB0aGUgY29kZWJhc2UuIFRoaXMgaGFzIGhhcHBlbmVkIGJlZm9yZSwgZm9yXG4gICAgLy8gZXhhbXBsZSwgaW4gdGhlIFN1c3BlbnNlTGlzdCBpbXBsZW1lbnRhdGlvbi5cblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsICYmIChjdXJyZW50LmZsYWdzICYgU3RhdGljTWFzaykgIT09ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIFN0YXRpY01hc2spICYmIC8vIERpc2FibGUgdGhpcyB3YXJuaW5nIGluIGxlZ2FjeSBtb2RlLCBiZWNhdXNlIGxlZ2FjeSBTdXNwZW5zZSBpcyB3ZWlyZFxuICAgIC8vIGFuZCBjcmVhdGVzIGZhbHNlIHBvc2l0aXZlcy4gVG8gbWFrZSB0aGlzIHdvcmsgaW4gbGVnYWN5IG1vZGUsIHdlJ2RcbiAgICAvLyBuZWVkIHRvIG1hcmsgZmliZXJzIHRoYXQgY29tbWl0IGluIGFuIGluY29tcGxldGUgc3RhdGUsIHNvbWVob3cuIEZvclxuICAgIC8vIG5vdyBJJ2xsIGRpc2FibGUgdGhlIHdhcm5pbmcgdGhhdCBtb3N0IG9mIHRoZSBidWdzIHRoYXQgd291bGQgdHJpZ2dlclxuICAgIC8vIGl0IGFyZSBlaXRoZXIgZXhjbHVzaXZlIHRvIGNvbmN1cnJlbnQgbW9kZSBvciBleGlzdCBpbiBib3RoLlxuICAgIChjdXJyZW50Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgZXJyb3IoJ0ludGVybmFsIFJlYWN0IGVycm9yOiBFeHBlY3RlZCBzdGF0aWMgZmxhZyB3YXMgbWlzc2luZy4gUGxlYXNlICcgKyAnbm90aWZ5IHRoZSBSZWFjdCB0ZWFtLicpO1xuICAgIH1cbiAgfVxuXG4gIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTsgLy8gVGhpcyBpcyByZXNldCBieSBjaGVja0RpZFJlbmRlcklkSG9va1xuICAvLyBsb2NhbElkQ291bnRlciA9IDA7XG5cbiAgdGhlbmFibGVJbmRleENvdW50ZXIgPSAwO1xuICB0aGVuYWJsZVN0YXRlID0gbnVsbDtcblxuICBpZiAoZGlkUmVuZGVyVG9vRmV3SG9va3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlbmRlcmVkIGZld2VyIGhvb2tzIHRoYW4gZXhwZWN0ZWQuIFRoaXMgbWF5IGJlIGNhdXNlZCBieSBhbiBhY2NpZGVudGFsICcgKyAnZWFybHkgcmV0dXJuIHN0YXRlbWVudC4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAoY2hlY2tJZlVzZVdyYXBwZWRJblRyeUNhdGNoKCkpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcih3b3JrSW5Qcm9ncmVzcykgfHwgJ1Vua25vd24nO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFVzZVdyYXBwZWRJblRyeUNhdGNoLmhhcyhjb21wb25lbnROYW1lKSAmJiAvLyBUaGlzIHdhcm5pbmcgYWxzbyBmaXJlcyBpZiB5b3Ugc3VzcGVuZCB3aXRoIGB1c2VgIGluc2lkZSBhblxuICAgICAgLy8gYXN5bmMgY29tcG9uZW50LiBTaW5jZSB3ZSB3YXJuIGZvciB0aGF0IGFib3ZlLCB3ZSdsbCBzaWxlbmNlIHRoaXNcbiAgICAgIC8vIHNlY29uZCB3YXJuaW5nIGJ5IGNoZWNraW5nIGhlcmUuXG4gICAgICAhZGlkV2FybkFib3V0QXN5bmNDbGllbnRDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFVzZVdyYXBwZWRJblRyeUNhdGNoLmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignYHVzZWAgd2FzIGNhbGxlZCBmcm9tIGluc2lkZSBhIHRyeS9jYXRjaCBibG9jay4gVGhpcyBpcyBub3QgYWxsb3dlZCAnICsgJ2FuZCBjYW4gbGVhZCB0byB1bmV4cGVjdGVkIGJlaGF2aW9yLiBUbyBoYW5kbGUgZXJyb3JzIHRyaWdnZXJlZCAnICsgJ2J5IGB1c2VgLCB3cmFwIHlvdXIgY29tcG9uZW50IGluIGEgZXJyb3IgYm91bmRhcnkuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlcGxheVN1c3BlbmRlZENvbXBvbmVudFdpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBwcm9wcywgc2Vjb25kQXJnKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byByZXBsYXkgYSBjb21wb25lbnQgdGhhdCBwcmV2aW91c2x5IHN1c3BlbmRlZCxcbiAgLy8gYWZ0ZXIgaXRzIGRhdGEgcmVzb2x2ZXMuXG4gIC8vXG4gIC8vIEl0J3MgYSBzaW1wbGlmaWVkIHZlcnNpb24gb2YgcmVuZGVyV2l0aEhvb2tzLCBidXQgaXQgZG9lc24ndCBuZWVkIHRvIGRvXG4gIC8vIG1vc3Qgb2YgdGhlIHNldCB1cCB3b3JrIGJlY2F1c2UgdGhleSB3ZXJlbid0IHJlc2V0IHdoZW4gd2Ugc3VzcGVuZGVkOyB0aGV5XG4gIC8vIG9ubHkgZ2V0IHJlc2V0IHdoZW4gdGhlIGNvbXBvbmVudCBlaXRoZXIgY29tcGxldGVzIChmaW5pc2hSZW5kZXJpbmdIb29rcylcbiAgLy8gb3IgdW53aW5kcyAocmVzZXRIb29rc09uVW53aW5kKS5cbiAge1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIFVzZWQgZm9yIGhvdCByZWxvYWRpbmc6XG5cbiAgICBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB9XG5cbiAgdmFyIGNoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzQWdhaW4od29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcHJvcHMsIHNlY29uZEFyZyk7XG4gIGZpbmlzaFJlbmRlcmluZ0hvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgcmV0dXJuIGNoaWxkcmVuO1xufVxuXG5mdW5jdGlvbiByZW5kZXJXaXRoSG9va3NBZ2Fpbih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBwcm9wcywgc2Vjb25kQXJnKSB7XG4gIC8vIFRoaXMgaXMgdXNlZCB0byBwZXJmb3JtIGFub3RoZXIgcmVuZGVyIHBhc3MuIEl0J3MgdXNlZCB3aGVuIHNldFN0YXRlIGlzXG4gIC8vIGNhbGxlZCBkdXJpbmcgcmVuZGVyLCBhbmQgZm9yIGRvdWJsZSBpbnZva2luZyBjb21wb25lbnRzIGluIFN0cmljdCBNb2RlXG4gIC8vIGR1cmluZyBkZXZlbG9wbWVudC5cbiAgLy9cbiAgLy8gVGhlIHN0YXRlIGZyb20gdGhlIHByZXZpb3VzIHBhc3MgaXMgcmV1c2VkIHdoZW5ldmVyIHBvc3NpYmxlLiBTbywgc3RhdGVcbiAgLy8gdXBkYXRlcyB0aGF0IHdlcmUgYWxyZWFkeSBwcm9jZXNzZWQgYXJlIG5vdCBwcm9jZXNzZWQgYWdhaW4sIGFuZCBtZW1vaXplZFxuICAvLyBmdW5jdGlvbnMgKGB1c2VNZW1vYCkgYXJlIG5vdCBpbnZva2VkIGFnYWluLlxuICAvL1xuICAvLyBLZWVwIHJlbmRlcmluZyBpbiBhIGxvb3AgZm9yIGFzIGxvbmcgYXMgcmVuZGVyIHBoYXNlIHVwZGF0ZXMgY29udGludWUgdG9cbiAgLy8gYmUgc2NoZWR1bGVkLiBVc2UgYSBjb3VudGVyIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdmFyIG51bWJlck9mUmVSZW5kZXJzID0gMDtcbiAgdmFyIGNoaWxkcmVuO1xuXG4gIGRvIHtcbiAgICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZUR1cmluZ1RoaXNQYXNzKSB7XG4gICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgYSB1c2UoKSB2YWx1ZSBkZXBlbmRlZCBvbiBhIHN0YXRlIHRoYXQgd2FzIHVwZGF0ZWQgaW5cbiAgICAgIC8vIHRoaXMgcmVyZW5kZXIsIHNvIHdlIG5lZWQgdG8gd2F0Y2ggZm9yIGRpZmZlcmVudCB0aGVuYWJsZXMgdGhpcyB0aW1lLlxuICAgICAgdGhlbmFibGVTdGF0ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhlbmFibGVJbmRleENvdW50ZXIgPSAwO1xuICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlO1xuXG4gICAgaWYgKG51bWJlck9mUmVSZW5kZXJzID49IFJFX1JFTkRFUl9MSU1JVCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb28gbWFueSByZS1yZW5kZXJzLiBSZWFjdCBsaW1pdHMgdGhlIG51bWJlciBvZiByZW5kZXJzIHRvIHByZXZlbnQgJyArICdhbiBpbmZpbml0ZSBsb29wLicpO1xuICAgIH1cblxuICAgIG51bWJlck9mUmVSZW5kZXJzICs9IDE7XG5cbiAgICB7XG4gICAgICAvLyBFdmVuIHdoZW4gaG90IHJlbG9hZGluZywgYWxsb3cgZGVwZW5kZW5jaWVzIHRvIHN0YWJpbGl6ZVxuICAgICAgLy8gYWZ0ZXIgZmlyc3QgcmVuZGVyIHRvIHByZXZlbnQgaW5maW5pdGUgcmVuZGVyIHBoYXNlIHVwZGF0ZXMuXG4gICAgICBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGZhbHNlO1xuICAgIH0gLy8gU3RhcnQgb3ZlciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3RcblxuXG4gICAgY3VycmVudEhvb2sgPSBudWxsO1xuICAgIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuXG4gICAge1xuICAgICAgLy8gQWxzbyB2YWxpZGF0ZSBob29rIG9yZGVyIGZvciBjYXNjYWRpbmcgdXBkYXRlcy5cbiAgICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7XG4gICAgfVxuXG4gICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgO1xuICAgIGNoaWxkcmVuID0gQ29tcG9uZW50KHByb3BzLCBzZWNvbmRBcmcpO1xuICB9IHdoaWxlIChkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MpO1xuXG4gIHJldHVybiBjaGlsZHJlbjtcbn1cblxuZnVuY3Rpb24gcmVuZGVyVHJhbnNpdGlvbkF3YXJlSG9zdENvbXBvbmVudFdpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbGFuZXMpIHtcblxuICByZXR1cm4gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBUcmFuc2l0aW9uQXdhcmVIb3N0Q29tcG9uZW50LCBudWxsLCBudWxsLCBsYW5lcyk7XG59XG5mdW5jdGlvbiBUcmFuc2l0aW9uQXdhcmVIb3N0Q29tcG9uZW50KCkge1xuXG4gIHZhciBkaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG5cbiAgdmFyIF9kaXNwYXRjaGVyJHVzZVN0YXRlID0gZGlzcGF0Y2hlci51c2VTdGF0ZSgpLFxuICAgICAgbWF5YmVUaGVuYWJsZSA9IF9kaXNwYXRjaGVyJHVzZVN0YXRlWzBdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVUaGVuYWJsZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIHRoZW5hYmxlID0gbWF5YmVUaGVuYWJsZTtcbiAgICByZXR1cm4gdXNlVGhlbmFibGUodGhlbmFibGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBzdGF0dXMgPSBtYXliZVRoZW5hYmxlO1xuICAgIHJldHVybiBzdGF0dXM7XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrRGlkUmVuZGVySWRIb29rKCkge1xuICAvLyBUaGlzIHNob3VsZCBiZSBjYWxsZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZXZlcnkgcmVuZGVyV2l0aEhvb2tzIGNhbGwuXG4gIC8vIENvbmNlcHR1YWxseSwgaXQncyBwYXJ0IG9mIHRoZSByZXR1cm4gdmFsdWUgb2YgcmVuZGVyV2l0aEhvb2tzOyBpdCdzIG9ubHkgYVxuICAvLyBzZXBhcmF0ZSBmdW5jdGlvbiB0byBhdm9pZCB1c2luZyBhbiBhcnJheSB0dXBsZS5cbiAgdmFyIGRpZFJlbmRlcklkSG9vayA9IGxvY2FsSWRDb3VudGVyICE9PSAwO1xuICBsb2NhbElkQ291bnRlciA9IDA7XG4gIHJldHVybiBkaWRSZW5kZXJJZEhvb2s7XG59XG5mdW5jdGlvbiBiYWlsb3V0SG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGxhbmVzKSB7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTsgLy8gVE9ETzogRG9uJ3QgbmVlZCB0byByZXNldCB0aGUgZmxhZ3MgaGVyZSwgYmVjYXVzZSB0aGV5J3JlIHJlc2V0IGluIHRoZVxuICAvLyBjb21wbGV0ZSBwaGFzZSAoYnViYmxlUHJvcGVydGllcykuXG5cbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyAmPSB+KE1vdW50UGFzc2l2ZURldiB8IE1vdW50TGF5b3V0RGV2IHwgUGFzc2l2ZSQxIHwgVXBkYXRlKTtcbiAgfSBlbHNlIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyAmPSB+KFBhc3NpdmUkMSB8IFVwZGF0ZSk7XG4gIH1cblxuICBjdXJyZW50LmxhbmVzID0gcmVtb3ZlTGFuZXMoY3VycmVudC5sYW5lcywgbGFuZXMpO1xufVxuZnVuY3Rpb24gcmVzZXRIb29rc0FmdGVyVGhyb3coKSB7XG4gIC8vIFRoaXMgaXMgY2FsbGVkIGltbWVkaWFldGx5IGFmdGVyIGEgdGhyb3cuIEl0IHNob3VsZG4ndCByZXNldCB0aGUgZW50aXJlXG4gIC8vIG1vZHVsZSBzdGF0ZSwgYmVjYXVzZSB0aGUgd29yayBsb29wIG1pZ2h0IGRlY2lkZSB0byByZXBsYXkgdGhlIGNvbXBvbmVudFxuICAvLyBhZ2FpbiB3aXRob3V0IHJld2luZGluZy5cbiAgLy9cbiAgLy8gSXQgc2hvdWxkIG9ubHkgcmVzZXQgdGhpbmdzIGxpa2UgdGhlIGN1cnJlbnQgZGlzcGF0Y2hlciwgdG8gcHJldmVudCBob29rc1xuICAvLyBmcm9tIGJlaW5nIGNhbGxlZCBvdXRzaWRlIG9mIGEgY29tcG9uZW50LlxuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxID0gbnVsbDsgLy8gV2UgY2FuIGFzc3VtZSB0aGUgcHJldmlvdXMgZGlzcGF0Y2hlciBpcyBhbHdheXMgdGhpcyBvbmUsIHNpbmNlIHdlIHNldCBpdFxuICAvLyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSByZW5kZXIgcGhhc2UgYW5kIHRoZXJlJ3Mgbm8gcmUtZW50cmFuY2UuXG5cbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBDb250ZXh0T25seURpc3BhdGNoZXI7XG59XG5mdW5jdGlvbiByZXNldEhvb2tzT25VbndpbmQod29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUpIHtcbiAgICAvLyBUaGVyZSB3ZXJlIHJlbmRlciBwaGFzZSB1cGRhdGVzLiBUaGVzZSBhcmUgb25seSB2YWxpZCBmb3IgdGhpcyByZW5kZXJcbiAgICAvLyBwaGFzZSwgd2hpY2ggd2UgYXJlIG5vdyBhYm9ydGluZy4gUmVtb3ZlIHRoZSB1cGRhdGVzIGZyb20gdGhlIHF1ZXVlcyBzb1xuICAgIC8vIHRoZXkgZG8gbm90IHBlcnNpc3QgdG8gdGhlIG5leHQgcmVuZGVyLiBEbyBub3QgcmVtb3ZlIHVwZGF0ZXMgZnJvbSBob29rc1xuICAgIC8vIHRoYXQgd2VyZW4ndCBwcm9jZXNzZWQuXG4gICAgLy9cbiAgICAvLyBPbmx5IHJlc2V0IHRoZSB1cGRhdGVzIGZyb20gdGhlIHF1ZXVlIGlmIGl0IGhhcyBhIGNsb25lLiBJZiBpdCBkb2VzXG4gICAgLy8gbm90IGhhdmUgYSBjbG9uZSwgdGhhdCBtZWFucyBpdCB3YXNuJ3QgcHJvY2Vzc2VkLCBhbmQgdGhlIHVwZGF0ZXMgd2VyZVxuICAgIC8vIHNjaGVkdWxlZCBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgcmVuZGVyIHBoYXNlLlxuICAgIHZhciBob29rID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgIHdoaWxlIChob29rICE9PSBudWxsKSB7XG4gICAgICB2YXIgcXVldWUgPSBob29rLnF1ZXVlO1xuXG4gICAgICBpZiAocXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgcXVldWUucGVuZGluZyA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGhvb2sgPSBob29rLm5leHQ7XG4gICAgfVxuXG4gICAgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlO1xuICB9XG5cbiAgcmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxID0gbnVsbDtcbiAgY3VycmVudEhvb2sgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xuXG4gIHtcbiAgICBob29rVHlwZXNEZXYgPSBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7XG4gICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSBudWxsO1xuICB9XG5cbiAgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZUR1cmluZ1RoaXNQYXNzID0gZmFsc2U7XG4gIGxvY2FsSWRDb3VudGVyID0gMDtcbiAgdGhlbmFibGVJbmRleENvdW50ZXIgPSAwO1xuICB0aGVuYWJsZVN0YXRlID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKSB7XG4gIHZhciBob29rID0ge1xuICAgIG1lbW9pemVkU3RhdGU6IG51bGwsXG4gICAgYmFzZVN0YXRlOiBudWxsLFxuICAgIGJhc2VRdWV1ZTogbnVsbCxcbiAgICBxdWV1ZTogbnVsbCxcbiAgICBuZXh0OiBudWxsXG4gIH07XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IGhvb2sgaW4gdGhlIGxpc3RcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGUgPSB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBob29rO1xuICB9IGVsc2Uge1xuICAgIC8vIEFwcGVuZCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0XG4gICAgd29ya0luUHJvZ3Jlc3NIb29rID0gd29ya0luUHJvZ3Jlc3NIb29rLm5leHQgPSBob29rO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzSG9vaztcbn1cblxuZnVuY3Rpb24gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCkge1xuICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgYm90aCBmb3IgdXBkYXRlcyBhbmQgZm9yIHJlLXJlbmRlcnMgdHJpZ2dlcmVkIGJ5IGFcbiAgLy8gcmVuZGVyIHBoYXNlIHVwZGF0ZS4gSXQgYXNzdW1lcyB0aGVyZSBpcyBlaXRoZXIgYSBjdXJyZW50IGhvb2sgd2UgY2FuXG4gIC8vIGNsb25lLCBvciBhIHdvcmstaW4tcHJvZ3Jlc3MgaG9vayBmcm9tIGEgcHJldmlvdXMgcmVuZGVyIHBhc3MgdGhhdCB3ZSBjYW5cbiAgLy8gdXNlIGFzIGEgYmFzZS5cbiAgdmFyIG5leHRDdXJyZW50SG9vaztcblxuICBpZiAoY3VycmVudEhvb2sgPT09IG51bGwpIHtcbiAgICB2YXIgY3VycmVudCA9IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIG5leHRDdXJyZW50SG9vayA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV4dEN1cnJlbnRIb29rID0gbnVsbDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV4dEN1cnJlbnRIb29rID0gY3VycmVudEhvb2submV4dDtcbiAgfVxuXG4gIHZhciBuZXh0V29ya0luUHJvZ3Jlc3NIb29rO1xuXG4gIGlmICh3b3JrSW5Qcm9ncmVzc0hvb2sgPT09IG51bGwpIHtcbiAgICBuZXh0V29ya0luUHJvZ3Jlc3NIb29rID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5tZW1vaXplZFN0YXRlO1xuICB9IGVsc2Uge1xuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dDtcbiAgfVxuXG4gIGlmIChuZXh0V29ya0luUHJvZ3Jlc3NIb29rICE9PSBudWxsKSB7XG4gICAgLy8gVGhlcmUncyBhbHJlYWR5IGEgd29yay1pbi1wcm9ncmVzcy4gUmV1c2UgaXQuXG4gICAgd29ya0luUHJvZ3Jlc3NIb29rID0gbmV4dFdvcmtJblByb2dyZXNzSG9vaztcbiAgICBuZXh0V29ya0luUHJvZ3Jlc3NIb29rID0gd29ya0luUHJvZ3Jlc3NIb29rLm5leHQ7XG4gICAgY3VycmVudEhvb2sgPSBuZXh0Q3VycmVudEhvb2s7XG4gIH0gZWxzZSB7XG4gICAgLy8gQ2xvbmUgZnJvbSB0aGUgY3VycmVudCBob29rLlxuICAgIGlmIChuZXh0Q3VycmVudEhvb2sgPT09IG51bGwpIHtcbiAgICAgIHZhciBjdXJyZW50RmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKGN1cnJlbnRGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUaGlzIGlzIHRoZSBpbml0aWFsIHJlbmRlci4gVGhpcyBicmFuY2ggaXMgcmVhY2hlZCB3aGVuIHRoZSBjb21wb25lbnRcbiAgICAgICAgLy8gc3VzcGVuZHMsIHJlc3VtZXMsIHRoZW4gcmVuZGVycyBhbiBhZGRpdGlvbmFsIGhvb2suXG4gICAgICAgIC8vIFNob3VsZCBuZXZlciBiZSByZWFjaGVkIGJlY2F1c2Ugd2Ugc2hvdWxkIHN3aXRjaCB0byB0aGUgbW91bnQgZGlzcGF0Y2hlciBmaXJzdC5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVcGRhdGUgaG9vayBjYWxsZWQgb24gaW5pdGlhbCByZW5kZXIuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gdXBkYXRlLiBXZSBzaG91bGQgYWx3YXlzIGhhdmUgYSBjdXJyZW50IGhvb2suXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUmVuZGVyZWQgbW9yZSBob29rcyB0aGFuIGR1cmluZyB0aGUgcHJldmlvdXMgcmVuZGVyLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGN1cnJlbnRIb29rID0gbmV4dEN1cnJlbnRIb29rO1xuICAgIHZhciBuZXdIb29rID0ge1xuICAgICAgbWVtb2l6ZWRTdGF0ZTogY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZSxcbiAgICAgIGJhc2VTdGF0ZTogY3VycmVudEhvb2suYmFzZVN0YXRlLFxuICAgICAgYmFzZVF1ZXVlOiBjdXJyZW50SG9vay5iYXNlUXVldWUsXG4gICAgICBxdWV1ZTogY3VycmVudEhvb2sucXVldWUsXG4gICAgICBuZXh0OiBudWxsXG4gICAgfTtcblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc0hvb2sgPT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IGhvb2sgaW4gdGhlIGxpc3QuXG4gICAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGUgPSB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBuZXdIb29rO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBBcHBlbmQgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC5cbiAgICAgIHdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0ID0gbmV3SG9vaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NIb29rO1xufSAvLyBOT1RFOiBkZWZpbmluZyB0d28gdmVyc2lvbnMgb2YgdGhpcyBmdW5jdGlvbiB0byBhdm9pZCBzaXplIGltcGFjdCB3aGVuIHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZC5cbi8vIFByZXZpb3VzbHkgdGhpcyBmdW5jdGlvbiB3YXMgaW5saW5lZCwgdGhlIGFkZGl0aW9uYWwgYG1lbW9DYWNoZWAgcHJvcGVydHkgbWFrZXMgaXQgbm90IGlubGluZWQuXG5cblxudmFyIGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWU7XG5cbntcbiAgY3JlYXRlRnVuY3Rpb25Db21wb25lbnRVcGRhdGVRdWV1ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGFzdEVmZmVjdDogbnVsbCxcbiAgICAgIGV2ZW50czogbnVsbCxcbiAgICAgIHN0b3JlczogbnVsbFxuICAgIH07XG4gIH07XG59XG5cbmZ1bmN0aW9uIHVzZVRoZW5hYmxlKHRoZW5hYmxlKSB7XG4gIC8vIFRyYWNrIHRoZSBwb3NpdGlvbiBvZiB0aGUgdGhlbmFibGUgd2l0aGluIHRoaXMgZmliZXIuXG4gIHZhciBpbmRleCA9IHRoZW5hYmxlSW5kZXhDb3VudGVyO1xuICB0aGVuYWJsZUluZGV4Q291bnRlciArPSAxO1xuXG4gIGlmICh0aGVuYWJsZVN0YXRlID09PSBudWxsKSB7XG4gICAgdGhlbmFibGVTdGF0ZSA9IGNyZWF0ZVRoZW5hYmxlU3RhdGUoKTtcbiAgfVxuXG4gIHZhciByZXN1bHQgPSB0cmFja1VzZWRUaGVuYWJsZSh0aGVuYWJsZVN0YXRlLCB0aGVuYWJsZSwgaW5kZXgpO1xuXG4gIGlmIChjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmFsdGVybmF0ZSA9PT0gbnVsbCAmJiAod29ya0luUHJvZ3Jlc3NIb29rID09PSBudWxsID8gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5tZW1vaXplZFN0YXRlID09PSBudWxsIDogd29ya0luUHJvZ3Jlc3NIb29rLm5leHQgPT09IG51bGwpKSB7XG4gICAgLy8gSW5pdGlhbCByZW5kZXIsIGFuZCBlaXRoZXIgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB0aGUgY29tcG9uZW50IGlzXG4gICAgLy8gY2FsbGVkLCBvciB0aGVyZSB3ZXJlIG5vIEhvb2tzIGNhbGxlZCBhZnRlciB0aGlzIHVzZSgpIHRoZSBwcmV2aW91c1xuICAgIC8vIHRpbWUgKHBlcmhhcHMgYmVjYXVzZSBpdCB0aHJldykuIFN1YnNlcXVlbnQgSG9vayBjYWxscyBzaG91bGQgdXNlIHRoZVxuICAgIC8vIG1vdW50IGRpc3BhdGNoZXIuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gdXNlKHVzYWJsZSkge1xuICBpZiAodXNhYmxlICE9PSBudWxsICYmIHR5cGVvZiB1c2FibGUgPT09ICdvYmplY3QnKSB7XG4gICAgLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxuICAgIGlmICh0eXBlb2YgdXNhYmxlLnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB0aGVuYWJsZS5cbiAgICAgIHZhciB0aGVuYWJsZSA9IHVzYWJsZTtcbiAgICAgIHJldHVybiB1c2VUaGVuYWJsZSh0aGVuYWJsZSk7XG4gICAgfSBlbHNlIGlmICh1c2FibGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSkge1xuICAgICAgdmFyIGNvbnRleHQgPSB1c2FibGU7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfVxuICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgdGhyb3cgbmV3IEVycm9yKCdBbiB1bnN1cHBvcnRlZCB0eXBlIHdhcyBwYXNzZWQgdG8gdXNlKCk6ICcgKyBTdHJpbmcodXNhYmxlKSk7XG59XG5cbmZ1bmN0aW9uIGJhc2ljU3RhdGVSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pIHtcbiAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdXNlXTogRmxvdyBkb2Vzbid0IGxpa2UgbWl4ZWQgdHlwZXNcbiAgcmV0dXJuIHR5cGVvZiBhY3Rpb24gPT09ICdmdW5jdGlvbicgPyBhY3Rpb24oc3RhdGUpIDogYWN0aW9uO1xufVxuXG5mdW5jdGlvbiBtb3VudFJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBpbml0aWFsU3RhdGU7XG5cbiAgaWYgKGluaXQgIT09IHVuZGVmaW5lZCkge1xuICAgIGluaXRpYWxTdGF0ZSA9IGluaXQoaW5pdGlhbEFyZyk7XG5cbiAgICBpZiAoc2hvdWxkRG91YmxlSW52b2tlVXNlckZuc0luSG9va3NERVYpIHtcbiAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKHRydWUpO1xuICAgICAgaW5pdChpbml0aWFsQXJnKTtcbiAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaW5pdGlhbFN0YXRlID0gaW5pdGlhbEFyZztcbiAgfVxuXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IGhvb2suYmFzZVN0YXRlID0gaW5pdGlhbFN0YXRlO1xuICB2YXIgcXVldWUgPSB7XG4gICAgcGVuZGluZzogbnVsbCxcbiAgICBsYW5lczogTm9MYW5lcyxcbiAgICBkaXNwYXRjaDogbnVsbCxcbiAgICBsYXN0UmVuZGVyZWRSZWR1Y2VyOiByZWR1Y2VyLFxuICAgIGxhc3RSZW5kZXJlZFN0YXRlOiBpbml0aWFsU3RhdGVcbiAgfTtcbiAgaG9vay5xdWV1ZSA9IHF1ZXVlO1xuICB2YXIgZGlzcGF0Y2ggPSBxdWV1ZS5kaXNwYXRjaCA9IGRpc3BhdGNoUmVkdWNlckFjdGlvbi5iaW5kKG51bGwsIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEsIHF1ZXVlKTtcbiAgcmV0dXJuIFtob29rLm1lbW9pemVkU3RhdGUsIGRpc3BhdGNoXTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHJldHVybiB1cGRhdGVSZWR1Y2VySW1wbChob29rLCBjdXJyZW50SG9vaywgcmVkdWNlcik7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVJlZHVjZXJJbXBsKGhvb2ssIGN1cnJlbnQsIHJlZHVjZXIpIHtcbiAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICBpZiAocXVldWUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyOyAvLyBUaGUgbGFzdCByZWJhc2UgdXBkYXRlIHRoYXQgaXMgTk9UIHBhcnQgb2YgdGhlIGJhc2Ugc3RhdGUuXG5cbiAgdmFyIGJhc2VRdWV1ZSA9IGhvb2suYmFzZVF1ZXVlOyAvLyBUaGUgbGFzdCBwZW5kaW5nIHVwZGF0ZSB0aGF0IGhhc24ndCBiZWVuIHByb2Nlc3NlZCB5ZXQuXG5cbiAgdmFyIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnBlbmRpbmc7XG5cbiAgaWYgKHBlbmRpbmdRdWV1ZSAhPT0gbnVsbCkge1xuICAgIC8vIFdlIGhhdmUgbmV3IHVwZGF0ZXMgdGhhdCBoYXZlbid0IGJlZW4gcHJvY2Vzc2VkIHlldC5cbiAgICAvLyBXZSdsbCBhZGQgdGhlbSB0byB0aGUgYmFzZSBxdWV1ZS5cbiAgICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAvLyBNZXJnZSB0aGUgcGVuZGluZyBxdWV1ZSBhbmQgdGhlIGJhc2UgcXVldWUuXG4gICAgICB2YXIgYmFzZUZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgICB2YXIgcGVuZGluZ0ZpcnN0ID0gcGVuZGluZ1F1ZXVlLm5leHQ7XG4gICAgICBiYXNlUXVldWUubmV4dCA9IHBlbmRpbmdGaXJzdDtcbiAgICAgIHBlbmRpbmdRdWV1ZS5uZXh0ID0gYmFzZUZpcnN0O1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChjdXJyZW50LmJhc2VRdWV1ZSAhPT0gYmFzZVF1ZXVlKSB7XG4gICAgICAgIC8vIEludGVybmFsIGludmFyaWFudCB0aGF0IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dCBmZWFzaWJseSBjb3VsZCBpblxuICAgICAgICAvLyB0aGUgZnV0dXJlIGlmIHdlIGltcGxlbWVudCByZXN1bWluZywgb3Igc29tZSBmb3JtIG9mIHRoYXQuXG4gICAgICAgIGVycm9yKCdJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSB0byBiZSBhIGNsb25lLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY3VycmVudC5iYXNlUXVldWUgPSBiYXNlUXVldWUgPSBwZW5kaW5nUXVldWU7XG4gICAgcXVldWUucGVuZGluZyA9IG51bGw7XG4gIH1cblxuICB2YXIgYmFzZVN0YXRlID0gaG9vay5iYXNlU3RhdGU7XG5cbiAgaWYgKGJhc2VRdWV1ZSA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoZXJlIGFyZSBubyBwZW5kaW5nIHVwZGF0ZXMsIHRoZW4gdGhlIG1lbW9pemVkIHN0YXRlIHNob3VsZCBiZSB0aGVcbiAgICAvLyBzYW1lIGFzIHRoZSBiYXNlIHN0YXRlLiBDdXJyZW50bHkgdGhlc2Ugb25seSBkaXZlcmdlIGluIHRoZSBjYXNlIG9mXG4gICAgLy8gdXNlT3B0aW1pc3RpYywgYmVjYXVzZSB1c2VPcHRpbWlzdGljIGFjY2VwdHMgYSBuZXcgYmFzZVN0YXRlIG9uXG4gICAgLy8gZXZlcnkgcmVuZGVyLlxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IGJhc2VTdGF0ZTsgLy8gV2UgZG9uJ3QgbmVlZCB0byBjYWxsIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlIGJlY2F1c2VcbiAgICAvLyBiYXNlU3RhdGUgaXMgZGVyaXZlZCBmcm9tIG90aGVyIHJlYWN0aXZlIHZhbHVlcy5cbiAgfSBlbHNlIHtcbiAgICAvLyBXZSBoYXZlIGEgcXVldWUgdG8gcHJvY2Vzcy5cbiAgICB2YXIgZmlyc3QgPSBiYXNlUXVldWUubmV4dDtcbiAgICB2YXIgbmV3U3RhdGUgPSBiYXNlU3RhdGU7XG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XG4gICAgdmFyIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbnVsbDtcbiAgICB2YXIgbmV3QmFzZVF1ZXVlTGFzdCA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xuICAgIHZhciBkaWRSZWFkRnJvbUVudGFuZ2xlZEFzeW5jQWN0aW9uID0gZmFsc2U7XG5cbiAgICBkbyB7XG4gICAgICAvLyBBbiBleHRyYSBPZmZzY3JlZW5MYW5lIGJpdCBpcyBhZGRlZCB0byB1cGRhdGVzIHRoYXQgd2VyZSBtYWRlIHRvXG4gICAgICAvLyBhIGhpZGRlbiB0cmVlLCBzbyB0aGF0IHdlIGNhbiBkaXN0aW5ndWlzaCB0aGVtIGZyb20gdXBkYXRlcyB0aGF0IHdlcmVcbiAgICAgIC8vIGFscmVhZHkgdGhlcmUgd2hlbiB0aGUgdHJlZSB3YXMgaGlkZGVuLlxuICAgICAgdmFyIHVwZGF0ZUxhbmUgPSByZW1vdmVMYW5lcyh1cGRhdGUubGFuZSwgT2Zmc2NyZWVuTGFuZSk7XG4gICAgICB2YXIgaXNIaWRkZW5VcGRhdGUgPSB1cGRhdGVMYW5lICE9PSB1cGRhdGUubGFuZTsgLy8gQ2hlY2sgaWYgdGhpcyB1cGRhdGUgd2FzIG1hZGUgd2hpbGUgdGhlIHRyZWUgd2FzIGhpZGRlbi4gSWYgc28sIHRoZW5cbiAgICAgIC8vIGl0J3Mgbm90IGEgXCJiYXNlXCIgdXBkYXRlIGFuZCB3ZSBzaG91bGQgZGlzcmVnYXJkIHRoZSBleHRyYSBiYXNlIGxhbmVzXG4gICAgICAvLyB0aGF0IHdlcmUgYWRkZWQgdG8gcmVuZGVyTGFuZXMgd2hlbiB3ZSBlbnRlcmVkIHRoZSBPZmZzY3JlZW4gdHJlZS5cblxuICAgICAgdmFyIHNob3VsZFNraXBVcGRhdGUgPSBpc0hpZGRlblVwZGF0ZSA/ICFpc1N1YnNldE9mTGFuZXMoZ2V0V29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMoKSwgdXBkYXRlTGFuZSkgOiAhaXNTdWJzZXRPZkxhbmVzKHJlbmRlckxhbmVzLCB1cGRhdGVMYW5lKTtcblxuICAgICAgaWYgKHNob3VsZFNraXBVcGRhdGUpIHtcbiAgICAgICAgLy8gUHJpb3JpdHkgaXMgaW5zdWZmaWNpZW50LiBTa2lwIHRoaXMgdXBkYXRlLiBJZiB0aGlzIGlzIHRoZSBmaXJzdFxuICAgICAgICAvLyBza2lwcGVkIHVwZGF0ZSwgdGhlIHByZXZpb3VzIHVwZGF0ZS9zdGF0ZSBpcyB0aGUgbmV3IGJhc2VcbiAgICAgICAgLy8gdXBkYXRlL3N0YXRlLlxuICAgICAgICB2YXIgY2xvbmUgPSB7XG4gICAgICAgICAgbGFuZTogdXBkYXRlTGFuZSxcbiAgICAgICAgICByZXZlcnRMYW5lOiB1cGRhdGUucmV2ZXJ0TGFuZSxcbiAgICAgICAgICBhY3Rpb246IHVwZGF0ZS5hY3Rpb24sXG4gICAgICAgICAgaGFzRWFnZXJTdGF0ZTogdXBkYXRlLmhhc0VhZ2VyU3RhdGUsXG4gICAgICAgICAgZWFnZXJTdGF0ZTogdXBkYXRlLmVhZ2VyU3RhdGUsXG4gICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChuZXdCYXNlUXVldWVMYXN0ID09PSBudWxsKSB7XG4gICAgICAgICAgbmV3QmFzZVF1ZXVlRmlyc3QgPSBuZXdCYXNlUXVldWVMYXN0ID0gY2xvbmU7XG4gICAgICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3QmFzZVF1ZXVlTGFzdCA9IG5ld0Jhc2VRdWV1ZUxhc3QubmV4dCA9IGNsb25lO1xuICAgICAgICB9IC8vIFVwZGF0ZSB0aGUgcmVtYWluaW5nIHByaW9yaXR5IGluIHRoZSBxdWV1ZS5cbiAgICAgICAgLy8gVE9ETzogRG9uJ3QgbmVlZCB0byBhY2N1bXVsYXRlIHRoaXMuIEluc3RlYWQsIHdlIGNhbiByZW1vdmVcbiAgICAgICAgLy8gcmVuZGVyTGFuZXMgZnJvbSB0aGUgb3JpZ2luYWwgbGFuZXMuXG5cblxuICAgICAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmxhbmVzID0gbWVyZ2VMYW5lcyhjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmxhbmVzLCB1cGRhdGVMYW5lKTtcbiAgICAgICAgbWFya1NraXBwZWRVcGRhdGVMYW5lcyh1cGRhdGVMYW5lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgdXBkYXRlIGRvZXMgaGF2ZSBzdWZmaWNpZW50IHByaW9yaXR5LlxuICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGlzIGFuIG9wdGltaXN0aWMgdXBkYXRlLlxuICAgICAgICB2YXIgcmV2ZXJ0TGFuZSA9IHVwZGF0ZS5yZXZlcnRMYW5lO1xuXG4gICAgICAgIGlmIChyZXZlcnRMYW5lID09PSBOb0xhbmUpIHtcbiAgICAgICAgICAvLyBUaGlzIGlzIG5vdCBhbiBvcHRpbWlzdGljIHVwZGF0ZSwgYW5kIHdlJ3JlIGdvaW5nIHRvIGFwcGx5IGl0IG5vdy5cbiAgICAgICAgICAvLyBCdXQsIGlmIHRoZXJlIHdlcmUgZWFybGllciB1cGRhdGVzIHRoYXQgd2VyZSBza2lwcGVkLCB3ZSBuZWVkIHRvXG4gICAgICAgICAgLy8gbGVhdmUgdGhpcyB1cGRhdGUgaW4gdGhlIHF1ZXVlIHNvIGl0IGNhbiBiZSByZWJhc2VkIGxhdGVyLlxuICAgICAgICAgIGlmIChuZXdCYXNlUXVldWVMYXN0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBpcyBnb2luZyB0byBiZSBjb21taXR0ZWQgc28gd2UgbmV2ZXIgd2FudCB1bmNvbW1pdFxuICAgICAgICAgICAgICAvLyBpdC4gVXNpbmcgTm9MYW5lIHdvcmtzIGJlY2F1c2UgMCBpcyBhIHN1YnNldCBvZiBhbGwgYml0bWFza3MsIHNvXG4gICAgICAgICAgICAgIC8vIHRoaXMgd2lsbCBuZXZlciBiZSBza2lwcGVkIGJ5IHRoZSBjaGVjayBhYm92ZS5cbiAgICAgICAgICAgICAgbGFuZTogTm9MYW5lLFxuICAgICAgICAgICAgICByZXZlcnRMYW5lOiBOb0xhbmUsXG4gICAgICAgICAgICAgIGFjdGlvbjogdXBkYXRlLmFjdGlvbixcbiAgICAgICAgICAgICAgaGFzRWFnZXJTdGF0ZTogdXBkYXRlLmhhc0VhZ2VyU3RhdGUsXG4gICAgICAgICAgICAgIGVhZ2VyU3RhdGU6IHVwZGF0ZS5lYWdlclN0YXRlLFxuICAgICAgICAgICAgICBuZXh0OiBudWxsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbmV3QmFzZVF1ZXVlTGFzdCA9IG5ld0Jhc2VRdWV1ZUxhc3QubmV4dCA9IF9jbG9uZTtcbiAgICAgICAgICB9IC8vIENoZWNrIGlmIHRoaXMgdXBkYXRlIGlzIHBhcnQgb2YgYSBwZW5kaW5nIGFzeW5jIGFjdGlvbi4gSWYgc28sXG4gICAgICAgICAgLy8gd2UnbGwgbmVlZCB0byBzdXNwZW5kIHVudGlsIHRoZSBhY3Rpb24gaGFzIGZpbmlzaGVkLCBzbyB0aGF0IGl0J3NcbiAgICAgICAgICAvLyBiYXRjaGVkIHRvZ2V0aGVyIHdpdGggZnV0dXJlIHVwZGF0ZXMgaW4gdGhlIHNhbWUgYWN0aW9uLlxuXG5cbiAgICAgICAgICBpZiAodXBkYXRlTGFuZSA9PT0gcGVla0VudGFuZ2xlZEFjdGlvbkxhbmUoKSkge1xuICAgICAgICAgICAgZGlkUmVhZEZyb21FbnRhbmdsZWRBc3luY0FjdGlvbiA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoaXMgaXMgYW4gb3B0aW1pc3RpYyB1cGRhdGUuIElmIHRoZSBcInJldmVydFwiIHByaW9yaXR5IGlzXG4gICAgICAgICAgLy8gc3VmZmljaWVudCwgZG9uJ3QgYXBwbHkgdGhlIHVwZGF0ZS4gT3RoZXJ3aXNlLCBhcHBseSB0aGUgdXBkYXRlLFxuICAgICAgICAgIC8vIGJ1dCBsZWF2ZSBpdCBpbiB0aGUgcXVldWUgc28gaXQgY2FuIGJlIGVpdGhlciByZXZlcnRlZCBvclxuICAgICAgICAgIC8vIHJlYmFzZWQgaW4gYSBzdWJzZXF1ZW50IHJlbmRlci5cbiAgICAgICAgICBpZiAoaXNTdWJzZXRPZkxhbmVzKHJlbmRlckxhbmVzLCByZXZlcnRMYW5lKSkge1xuICAgICAgICAgICAgLy8gVGhlIHRyYW5zaXRpb24gdGhhdCB0aGlzIG9wdGltaXN0aWMgdXBkYXRlIGlzIGFzc29jaWF0ZWQgd2l0aFxuICAgICAgICAgICAgLy8gaGFzIGZpbmlzaGVkLiBQcmV0ZW5kIHRoZSB1cGRhdGUgZG9lc24ndCBleGlzdCBieSBza2lwcGluZ1xuICAgICAgICAgICAgLy8gb3ZlciBpdC5cbiAgICAgICAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0OyAvLyBDaGVjayBpZiB0aGlzIHVwZGF0ZSBpcyBwYXJ0IG9mIGEgcGVuZGluZyBhc3luYyBhY3Rpb24uIElmIHNvLFxuICAgICAgICAgICAgLy8gd2UnbGwgbmVlZCB0byBzdXNwZW5kIHVudGlsIHRoZSBhY3Rpb24gaGFzIGZpbmlzaGVkLCBzbyB0aGF0IGl0J3NcbiAgICAgICAgICAgIC8vIGJhdGNoZWQgdG9nZXRoZXIgd2l0aCBmdXR1cmUgdXBkYXRlcyBpbiB0aGUgc2FtZSBhY3Rpb24uXG5cbiAgICAgICAgICAgIGlmIChyZXZlcnRMYW5lID09PSBwZWVrRW50YW5nbGVkQWN0aW9uTGFuZSgpKSB7XG4gICAgICAgICAgICAgIGRpZFJlYWRGcm9tRW50YW5nbGVkQXN5bmNBY3Rpb24gPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIF9jbG9uZTIgPSB7XG4gICAgICAgICAgICAgIC8vIE9uY2Ugd2UgY29tbWl0IGFuIG9wdGltaXN0aWMgdXBkYXRlLCB3ZSBzaG91bGRuJ3QgdW5jb21taXQgaXRcbiAgICAgICAgICAgICAgLy8gdW50aWwgdGhlIHRyYW5zaXRpb24gaXQgaXMgYXNzb2NpYXRlZCB3aXRoIGhhcyBmaW5pc2hlZFxuICAgICAgICAgICAgICAvLyAocmVwcmVzZW50ZWQgYnkgcmV2ZXJ0TGFuZSkuIFVzaW5nIE5vTGFuZSBoZXJlIHdvcmtzIGJlY2F1c2UgMFxuICAgICAgICAgICAgICAvLyBpcyBhIHN1YnNldCBvZiBhbGwgYml0bWFza3MsIHNvIHRoaXMgd2lsbCBuZXZlciBiZSBza2lwcGVkIGJ5XG4gICAgICAgICAgICAgIC8vIHRoZSBjaGVjayBhYm92ZS5cbiAgICAgICAgICAgICAgbGFuZTogTm9MYW5lLFxuICAgICAgICAgICAgICAvLyBSZXVzZSB0aGUgc2FtZSByZXZlcnRMYW5lIHNvIHdlIGtub3cgd2hlbiB0aGUgdHJhbnNpdGlvblxuICAgICAgICAgICAgICAvLyBoYXMgZmluaXNoZWQuXG4gICAgICAgICAgICAgIHJldmVydExhbmU6IHVwZGF0ZS5yZXZlcnRMYW5lLFxuICAgICAgICAgICAgICBhY3Rpb246IHVwZGF0ZS5hY3Rpb24sXG4gICAgICAgICAgICAgIGhhc0VhZ2VyU3RhdGU6IHVwZGF0ZS5oYXNFYWdlclN0YXRlLFxuICAgICAgICAgICAgICBlYWdlclN0YXRlOiB1cGRhdGUuZWFnZXJTdGF0ZSxcbiAgICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgbmV3QmFzZVF1ZXVlRmlyc3QgPSBuZXdCYXNlUXVldWVMYXN0ID0gX2Nsb25lMjtcbiAgICAgICAgICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lMjtcbiAgICAgICAgICAgIH0gLy8gVXBkYXRlIHRoZSByZW1haW5pbmcgcHJpb3JpdHkgaW4gdGhlIHF1ZXVlLlxuICAgICAgICAgICAgLy8gVE9ETzogRG9uJ3QgbmVlZCB0byBhY2N1bXVsYXRlIHRoaXMuIEluc3RlYWQsIHdlIGNhbiByZW1vdmVcbiAgICAgICAgICAgIC8vIHJlbmRlckxhbmVzIGZyb20gdGhlIG9yaWdpbmFsIGxhbmVzLlxuXG5cbiAgICAgICAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMgPSBtZXJnZUxhbmVzKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMsIHJldmVydExhbmUpO1xuICAgICAgICAgICAgbWFya1NraXBwZWRVcGRhdGVMYW5lcyhyZXZlcnRMYW5lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gUHJvY2VzcyB0aGlzIHVwZGF0ZS5cblxuXG4gICAgICAgIHZhciBhY3Rpb24gPSB1cGRhdGUuYWN0aW9uO1xuXG4gICAgICAgIGlmIChzaG91bGREb3VibGVJbnZva2VVc2VyRm5zSW5Ib29rc0RFVikge1xuICAgICAgICAgIHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodXBkYXRlLmhhc0VhZ2VyU3RhdGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHVwZGF0ZSBpcyBhIHN0YXRlIHVwZGF0ZSAobm90IGEgcmVkdWNlcikgYW5kIHdhcyBwcm9jZXNzZWQgZWFnZXJseSxcbiAgICAgICAgICAvLyB3ZSBjYW4gdXNlIHRoZSBlYWdlcmx5IGNvbXB1dGVkIHN0YXRlXG4gICAgICAgICAgbmV3U3RhdGUgPSB1cGRhdGUuZWFnZXJTdGF0ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBudWxsICYmIHVwZGF0ZSAhPT0gZmlyc3QpO1xuXG4gICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcbiAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBuZXdCYXNlUXVldWVGaXJzdDtcbiAgICB9IC8vIE1hcmsgdGhhdCB0aGUgZmliZXIgcGVyZm9ybWVkIHdvcmssIGJ1dCBvbmx5IGlmIHRoZSBuZXcgc3RhdGUgaXNcbiAgICAvLyBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCBzdGF0ZS5cblxuXG4gICAgaWYgKCFvYmplY3RJcyhuZXdTdGF0ZSwgaG9vay5tZW1vaXplZFN0YXRlKSkge1xuICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTsgLy8gQ2hlY2sgaWYgdGhpcyB1cGRhdGUgaXMgcGFydCBvZiBhIHBlbmRpbmcgYXN5bmMgYWN0aW9uLiBJZiBzbywgd2UnbGxcbiAgICAgIC8vIG5lZWQgdG8gc3VzcGVuZCB1bnRpbCB0aGUgYWN0aW9uIGhhcyBmaW5pc2hlZCwgc28gdGhhdCBpdCdzIGJhdGNoZWRcbiAgICAgIC8vIHRvZ2V0aGVyIHdpdGggZnV0dXJlIHVwZGF0ZXMgaW4gdGhlIHNhbWUgYWN0aW9uLlxuICAgICAgLy8gVE9ETzogT25jZSB3ZSBzdXBwb3J0IGhvb2tzIGluc2lkZSB1c2VNZW1vIChvciBhbiBlcXVpdmFsZW50XG4gICAgICAvLyBtZW1vaXphdGlvbiBib3VuZGFyeSBsaWtlIEZvcmdldCksIGhvaXN0IHRoaXMgbG9naWMgc28gdGhhdCBpdCBvbmx5XG4gICAgICAvLyBzdXNwZW5kcyBpZiB0aGUgbWVtbyBib3VuZGFyeSBwcm9kdWNlcyBhIG5ldyB2YWx1ZS5cblxuICAgICAgaWYgKGRpZFJlYWRGcm9tRW50YW5nbGVkQXN5bmNBY3Rpb24pIHtcbiAgICAgICAgdmFyIGVudGFuZ2xlZEFjdGlvblRoZW5hYmxlID0gcGVla0VudGFuZ2xlZEFjdGlvblRoZW5hYmxlKCk7XG5cbiAgICAgICAgaWYgKGVudGFuZ2xlZEFjdGlvblRoZW5hYmxlICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gVE9ETzogSW5zdGVhZCBvZiB0aGUgdGhyb3dpbmcgdGhlIHRoZW5hYmxlIGRpcmVjdGx5LCB0aHJvdyBhXG4gICAgICAgICAgLy8gc3BlY2lhbCBvYmplY3QgbGlrZSBgdXNlYCBkb2VzIHNvIHdlIGNhbiBkZXRlY3QgaWYgaXQncyBjYXB0dXJlZFxuICAgICAgICAgIC8vIGJ5IHVzZXJzcGFjZS5cbiAgICAgICAgICB0aHJvdyBlbnRhbmdsZWRBY3Rpb25UaGVuYWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIGhvb2suYmFzZVN0YXRlID0gbmV3QmFzZVN0YXRlO1xuICAgIGhvb2suYmFzZVF1ZXVlID0gbmV3QmFzZVF1ZXVlTGFzdDtcbiAgICBxdWV1ZS5sYXN0UmVuZGVyZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICB9XG5cbiAgaWYgKGJhc2VRdWV1ZSA9PT0gbnVsbCkge1xuICAgIC8vIGBxdWV1ZS5sYW5lc2AgaXMgdXNlZCBmb3IgZW50YW5nbGluZyB0cmFuc2l0aW9ucy4gV2UgY2FuIHNldCBpdCBiYWNrIHRvXG4gICAgLy8gemVybyBvbmNlIHRoZSBxdWV1ZSBpcyBlbXB0eS5cbiAgICBxdWV1ZS5sYW5lcyA9IE5vTGFuZXM7XG4gIH1cblxuICB2YXIgZGlzcGF0Y2ggPSBxdWV1ZS5kaXNwYXRjaDtcbiAgcmV0dXJuIFtob29rLm1lbW9pemVkU3RhdGUsIGRpc3BhdGNoXTtcbn1cblxuZnVuY3Rpb24gcmVyZW5kZXJSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICBpZiAocXVldWUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyOyAvLyBUaGlzIGlzIGEgcmUtcmVuZGVyLiBBcHBseSB0aGUgbmV3IHJlbmRlciBwaGFzZSB1cGRhdGVzIHRvIHRoZSBwcmV2aW91c1xuICAvLyB3b3JrLWluLXByb2dyZXNzIGhvb2suXG5cbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2g7XG4gIHZhciBsYXN0UmVuZGVyUGhhc2VVcGRhdGUgPSBxdWV1ZS5wZW5kaW5nO1xuICB2YXIgbmV3U3RhdGUgPSBob29rLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKGxhc3RSZW5kZXJQaGFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgIC8vIFRoZSBxdWV1ZSBkb2Vzbid0IHBlcnNpc3QgcGFzdCB0aGlzIHJlbmRlciBwYXNzLlxuICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xuICAgIHZhciBmaXJzdFJlbmRlclBoYXNlVXBkYXRlID0gbGFzdFJlbmRlclBoYXNlVXBkYXRlLm5leHQ7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0UmVuZGVyUGhhc2VVcGRhdGU7XG5cbiAgICBkbyB7XG4gICAgICAvLyBQcm9jZXNzIHRoaXMgcmVuZGVyIHBoYXNlIHVwZGF0ZS4gV2UgZG9uJ3QgaGF2ZSB0byBjaGVjayB0aGVcbiAgICAgIC8vIHByaW9yaXR5IGJlY2F1c2UgaXQgd2lsbCBhbHdheXMgYmUgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnRcbiAgICAgIC8vIHJlbmRlcidzLlxuICAgICAgdmFyIGFjdGlvbiA9IHVwZGF0ZS5hY3Rpb247XG4gICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XG4gICAgICB1cGRhdGUgPSB1cGRhdGUubmV4dDtcbiAgICB9IHdoaWxlICh1cGRhdGUgIT09IGZpcnN0UmVuZGVyUGhhc2VVcGRhdGUpOyAvLyBNYXJrIHRoYXQgdGhlIGZpYmVyIHBlcmZvcm1lZCB3b3JrLCBidXQgb25seSBpZiB0aGUgbmV3IHN0YXRlIGlzXG4gICAgLy8gZGlmZmVyZW50IGZyb20gdGhlIGN1cnJlbnQgc3RhdGUuXG5cblxuICAgIGlmICghb2JqZWN0SXMobmV3U3RhdGUsIGhvb2subWVtb2l6ZWRTdGF0ZSkpIHtcbiAgICAgIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgaG9vay5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7IC8vIERvbid0IHBlcnNpc3QgdGhlIHN0YXRlIGFjY3VtdWxhdGVkIGZyb20gdGhlIHJlbmRlciBwaGFzZSB1cGRhdGVzIHRvXG4gICAgLy8gdGhlIGJhc2Ugc3RhdGUgdW5sZXNzIHRoZSBxdWV1ZSBpcyBlbXB0eS5cbiAgICAvLyBUT0RPOiBOb3Qgc3VyZSBpZiB0aGlzIGlzIHRoZSBkZXNpcmVkIHNlbWFudGljcywgYnV0IGl0J3Mgd2hhdCB3ZVxuICAgIC8vIGRvIGZvciBnRFNGUC4gSSBjYW4ndCByZW1lbWJlciB3aHkuXG5cbiAgICBpZiAoaG9vay5iYXNlUXVldWUgPT09IG51bGwpIHtcbiAgICAgIGhvb2suYmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgfVxuXG4gICAgcXVldWUubGFzdFJlbmRlcmVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfVxuXG4gIHJldHVybiBbbmV3U3RhdGUsIGRpc3BhdGNoXTtcbn1cblxuZnVuY3Rpb24gbW91bnRTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxO1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0U25hcHNob3Q7XG4gIHZhciBpc0h5ZHJhdGluZyA9IGdldElzSHlkcmF0aW5nKCk7XG5cbiAgaWYgKGlzSHlkcmF0aW5nKSB7XG4gICAgaWYgKGdldFNlcnZlclNuYXBzaG90ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnZXRTZXJ2ZXJTbmFwc2hvdCwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yICcgKyAnc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQuIFdpbGwgcmV2ZXJ0IHRvIGNsaWVudCByZW5kZXJpbmcuJyk7XG4gICAgfVxuXG4gICAgbmV4dFNuYXBzaG90ID0gZ2V0U2VydmVyU25hcHNob3QoKTtcblxuICAgIHtcbiAgICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgICAgaWYgKG5leHRTbmFwc2hvdCAhPT0gZ2V0U2VydmVyU25hcHNob3QoKSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNlcnZlclNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5leHRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICB7XG4gICAgICBpZiAoIWRpZFdhcm5VbmNhY2hlZEdldFNuYXBzaG90KSB7XG4gICAgICAgIHZhciBjYWNoZWRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICAgICAgaWYgKCFvYmplY3RJcyhuZXh0U25hcHNob3QsIGNhY2hlZFNuYXBzaG90KSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBVbmxlc3Mgd2UncmUgcmVuZGVyaW5nIGEgYmxvY2tpbmcgbGFuZSwgc2NoZWR1bGUgYSBjb25zaXN0ZW5jeSBjaGVjay5cbiAgICAvLyBSaWdodCBiZWZvcmUgY29tbWl0dGluZywgd2Ugd2lsbCB3YWxrIHRoZSB0cmVlIGFuZCBjaGVjayBpZiBhbnkgb2YgdGhlXG4gICAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZC5cbiAgICAvL1xuICAgIC8vIFdlIHdvbid0IGRvIHRoaXMgaWYgd2UncmUgaHlkcmF0aW5nIHNlcnZlci1yZW5kZXJlZCBjb250ZW50LCBiZWNhdXNlIGlmXG4gICAgLy8gdGhlIGNvbnRlbnQgaXMgc3RhbGUsIGl0J3MgYWxyZWFkeSB2aXNpYmxlIGFueXdheS4gSW5zdGVhZCB3ZSdsbCBwYXRjaFxuICAgIC8vIGl0IHVwIGluIGEgcGFzc2l2ZSBlZmZlY3QuXG5cblxuICAgIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG5cbiAgICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHdvcmstaW4tcHJvZ3Jlc3Mgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgdmFyIHJvb3RSZW5kZXJMYW5lcyA9IGdldFdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKCk7XG5cbiAgICBpZiAoIWluY2x1ZGVzQmxvY2tpbmdMYW5lKHJvb3QsIHJvb3RSZW5kZXJMYW5lcykpIHtcbiAgICAgIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuICAgIH1cbiAgfSAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gVGhpcyBicmVha3MgdGhlXG4gIC8vIG5vcm1hbCBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgYmVjYXVzZSBzdG9yZSB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gIHZhciBpbnN0ID0ge1xuICAgIHZhbHVlOiBuZXh0U25hcHNob3QsXG4gICAgZ2V0U25hcHNob3Q6IGdldFNuYXBzaG90XG4gIH07XG4gIGhvb2sucXVldWUgPSBpbnN0OyAvLyBTY2hlZHVsZSBhbiBlZmZlY3QgdG8gc3Vic2NyaWJlIHRvIHRoZSBzdG9yZS5cblxuICBtb3VudEVmZmVjdChzdWJzY3JpYmVUb1N0b3JlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIHN1YnNjcmliZSksIFtzdWJzY3JpYmVdKTsgLy8gU2NoZWR1bGUgYW4gZWZmZWN0IHRvIHVwZGF0ZSB0aGUgbXV0YWJsZSBpbnN0YW5jZSBmaWVsZHMuIFdlIHdpbGwgdXBkYXRlXG4gIC8vIHRoaXMgd2hlbmV2ZXIgc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgb3IgdmFsdWUgY2hhbmdlcy4gQmVjYXVzZSB0aGVyZSdzIG5vXG4gIC8vIGNsZWFuLXVwIGZ1bmN0aW9uLCBhbmQgd2UgdHJhY2sgdGhlIGRlcHMgY29ycmVjdGx5LCB3ZSBjYW4gY2FsbCBwdXNoRWZmZWN0XG4gIC8vIGRpcmVjdGx5LCB3aXRob3V0IHN0b3JpbmcgYW55IGFkZGl0aW9uYWwgc3RhdGUuIEZvciB0aGUgc2FtZSByZWFzb24sIHdlXG4gIC8vIGRvbid0IG5lZWQgdG8gc2V0IGEgc3RhdGljIGZsYWcsIGVpdGhlci5cblxuICBmaWJlci5mbGFncyB8PSBQYXNzaXZlJDE7XG4gIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSwgdXBkYXRlU3RvcmVJbnN0YW5jZS5iaW5kKG51bGwsIGZpYmVyLCBpbnN0LCBuZXh0U25hcHNob3QsIGdldFNuYXBzaG90KSwgY3JlYXRlRWZmZWN0SW5zdGFuY2UoKSwgbnVsbCk7XG4gIHJldHVybiBuZXh0U25hcHNob3Q7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gIHZhciBmaWJlciA9IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDE7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7IC8vIFJlYWQgdGhlIGN1cnJlbnQgc25hcHNob3QgZnJvbSB0aGUgc3RvcmUgb24gZXZlcnkgcmVuZGVyLiBUaGlzIGJyZWFrcyB0aGVcbiAgLy8gbm9ybWFsIHJ1bGVzIG9mIFJlYWN0LCBhbmQgb25seSB3b3JrcyBiZWNhdXNlIHN0b3JlIHVwZGF0ZXMgYXJlXG4gIC8vIGFsd2F5cyBzeW5jaHJvbm91cy5cblxuICB2YXIgbmV4dFNuYXBzaG90O1xuICB2YXIgaXNIeWRyYXRpbmcgPSBnZXRJc0h5ZHJhdGluZygpO1xuXG4gIGlmIChpc0h5ZHJhdGluZykge1xuICAgIC8vIE5lZWRlZCBmb3Igc3RyaWN0IG1vZGUgZG91YmxlIHJlbmRlclxuICAgIGlmIChnZXRTZXJ2ZXJTbmFwc2hvdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgZ2V0U2VydmVyU25hcHNob3QsIHdoaWNoIGlzIHJlcXVpcmVkIGZvciAnICsgJ3NlcnZlci1yZW5kZXJlZCBjb250ZW50LiBXaWxsIHJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLicpO1xuICAgIH1cblxuICAgIG5leHRTbmFwc2hvdCA9IGdldFNlcnZlclNuYXBzaG90KCk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dFNuYXBzaG90ID0gZ2V0U25hcHNob3QoKTtcblxuICAgIHtcbiAgICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgICAgdmFyIGNhY2hlZFNuYXBzaG90ID0gZ2V0U25hcHNob3QoKTtcblxuICAgICAgICBpZiAoIW9iamVjdElzKG5leHRTbmFwc2hvdCwgY2FjaGVkU25hcHNob3QpKSB7XG4gICAgICAgICAgZXJyb3IoJ1RoZSByZXN1bHQgb2YgZ2V0U25hcHNob3Qgc2hvdWxkIGJlIGNhY2hlZCB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wJyk7XG5cbiAgICAgICAgICBkaWRXYXJuVW5jYWNoZWRHZXRTbmFwc2hvdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgcHJldlNuYXBzaG90ID0gKGN1cnJlbnRIb29rIHx8IGhvb2spLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzbmFwc2hvdENoYW5nZWQgPSAhb2JqZWN0SXMocHJldlNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuXG4gIGlmIChzbmFwc2hvdENoYW5nZWQpIHtcbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgfVxuXG4gIHZhciBpbnN0ID0gaG9vay5xdWV1ZTtcbiAgdXBkYXRlRWZmZWN0KHN1YnNjcmliZVRvU3RvcmUuYmluZChudWxsLCBmaWJlciwgaW5zdCwgc3Vic2NyaWJlKSwgW3N1YnNjcmliZV0pOyAvLyBXaGVuZXZlciBnZXRTbmFwc2hvdCBvciBzdWJzY3JpYmUgY2hhbmdlcywgd2UgbmVlZCB0byBjaGVjayBpbiB0aGVcbiAgLy8gY29tbWl0IHBoYXNlIGlmIHRoZXJlIHdhcyBhbiBpbnRlcmxlYXZlZCBtdXRhdGlvbi4gSW4gY29uY3VycmVudCBtb2RlXG4gIC8vIHRoaXMgY2FuIGhhcHBlbiBhbGwgdGhlIHRpbWUsIGJ1dCBldmVuIGluIHN5bmNocm9ub3VzIG1vZGUsIGFuIGVhcmxpZXJcbiAgLy8gZWZmZWN0IG1heSBoYXZlIG11dGF0ZWQgdGhlIHN0b3JlLlxuXG4gIGlmIChpbnN0LmdldFNuYXBzaG90ICE9PSBnZXRTbmFwc2hvdCB8fCBzbmFwc2hvdENoYW5nZWQgfHwgLy8gQ2hlY2sgaWYgdGhlIHN1YnNjcmliZSBmdW5jdGlvbiBjaGFuZ2VkLiBXZSBjYW4gc2F2ZSBzb21lIG1lbW9yeSBieVxuICAvLyBjaGVja2luZyB3aGV0aGVyIHdlIHNjaGVkdWxlZCBhIHN1YnNjcmlwdGlvbiBlZmZlY3QgYWJvdmUuXG4gIHdvcmtJblByb2dyZXNzSG9vayAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzc0hvb2subWVtb2l6ZWRTdGF0ZS50YWcgJiBIYXNFZmZlY3QpIHtcbiAgICBmaWJlci5mbGFncyB8PSBQYXNzaXZlJDE7XG4gICAgcHVzaEVmZmVjdChIYXNFZmZlY3QgfCBQYXNzaXZlLCB1cGRhdGVTdG9yZUluc3RhbmNlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpLCBjcmVhdGVFZmZlY3RJbnN0YW5jZSgpLCBudWxsKTsgLy8gVW5sZXNzIHdlJ3JlIHJlbmRlcmluZyBhIGJsb2NraW5nIGxhbmUsIHNjaGVkdWxlIGEgY29uc2lzdGVuY3kgY2hlY2suXG4gICAgLy8gUmlnaHQgYmVmb3JlIGNvbW1pdHRpbmcsIHdlIHdpbGwgd2FsayB0aGUgdHJlZSBhbmQgY2hlY2sgaWYgYW55IG9mIHRoZVxuICAgIC8vIHN0b3JlcyB3ZXJlIG11dGF0ZWQuXG5cbiAgICB2YXIgcm9vdCA9IGdldFdvcmtJblByb2dyZXNzUm9vdCgpO1xuXG4gICAgaWYgKHJvb3QgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgYSB3b3JrLWluLXByb2dyZXNzIHJvb3QuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIGlmICghaXNIeWRyYXRpbmcgJiYgIWluY2x1ZGVzQmxvY2tpbmdMYW5lKHJvb3QsIHJlbmRlckxhbmVzKSkge1xuICAgICAgcHVzaFN0b3JlQ29uc2lzdGVuY3lDaGVjayhmaWJlciwgZ2V0U25hcHNob3QsIG5leHRTbmFwc2hvdCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5leHRTbmFwc2hvdDtcbn1cblxuZnVuY3Rpb24gcHVzaFN0b3JlQ29uc2lzdGVuY3lDaGVjayhmaWJlciwgZ2V0U25hcHNob3QsIHJlbmRlcmVkU25hcHNob3QpIHtcbiAgZmliZXIuZmxhZ3MgfD0gU3RvcmVDb25zaXN0ZW5jeTtcbiAgdmFyIGNoZWNrID0ge1xuICAgIGdldFNuYXBzaG90OiBnZXRTbmFwc2hvdCxcbiAgICB2YWx1ZTogcmVuZGVyZWRTbmFwc2hvdFxuICB9O1xuICB2YXIgY29tcG9uZW50VXBkYXRlUXVldWUgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlO1xuXG4gIGlmIChjb21wb25lbnRVcGRhdGVRdWV1ZSA9PT0gbnVsbCkge1xuICAgIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3JlYXRlRnVuY3Rpb25Db21wb25lbnRVcGRhdGVRdWV1ZSgpO1xuICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEudXBkYXRlUXVldWUgPSBjb21wb25lbnRVcGRhdGVRdWV1ZTtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5zdG9yZXMgPSBbY2hlY2tdO1xuICB9IGVsc2Uge1xuICAgIHZhciBzdG9yZXMgPSBjb21wb25lbnRVcGRhdGVRdWV1ZS5zdG9yZXM7XG5cbiAgICBpZiAoc3RvcmVzID09PSBudWxsKSB7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5zdG9yZXMgPSBbY2hlY2tdO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdG9yZXMucHVzaChjaGVjayk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN0b3JlSW5zdGFuY2UoZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpIHtcbiAgLy8gVGhlc2UgYXJlIHVwZGF0ZWQgaW4gdGhlIHBhc3NpdmUgcGhhc2VcbiAgaW5zdC52YWx1ZSA9IG5leHRTbmFwc2hvdDtcbiAgaW5zdC5nZXRTbmFwc2hvdCA9IGdldFNuYXBzaG90OyAvLyBTb21ldGhpbmcgbWF5IGhhdmUgYmVlbiBtdXRhdGVkIGluIGJldHdlZW4gcmVuZGVyIGFuZCBjb21taXQuIFRoaXMgY291bGRcbiAgLy8gaGF2ZSBiZWVuIGluIGFuIGV2ZW50IHRoYXQgZmlyZWQgYmVmb3JlIHRoZSBwYXNzaXZlIGVmZmVjdHMsIG9yIGl0IGNvdWxkXG4gIC8vIGhhdmUgYmVlbiBpbiBhIGxheW91dCBlZmZlY3QuIEluIHRoYXQgY2FzZSwgd2Ugd291bGQgaGF2ZSB1c2VkIHRoZSBvbGRcbiAgLy8gc25hcHNobyBhbmQgZ2V0U25hcHNob3QgdmFsdWVzIHRvIGJhaWwgb3V0LiBXZSBuZWVkIHRvIGNoZWNrIG9uZSBtb3JlIHRpbWUuXG5cbiAgaWYgKGNoZWNrSWZTbmFwc2hvdENoYW5nZWQoaW5zdCkpIHtcbiAgICAvLyBGb3JjZSBhIHJlLXJlbmRlci5cbiAgICBmb3JjZVN0b3JlUmVyZW5kZXIoZmliZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN1YnNjcmliZVRvU3RvcmUoZmliZXIsIGluc3QsIHN1YnNjcmliZSkge1xuICB2YXIgaGFuZGxlU3RvcmVDaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVGhlIHN0b3JlIGNoYW5nZWQuIENoZWNrIGlmIHRoZSBzbmFwc2hvdCBjaGFuZ2VkIHNpbmNlIHRoZSBsYXN0IHRpbWUgd2VcbiAgICAvLyByZWFkIGZyb20gdGhlIHN0b3JlLlxuICAgIGlmIChjaGVja0lmU25hcHNob3RDaGFuZ2VkKGluc3QpKSB7XG4gICAgICAvLyBGb3JjZSBhIHJlLXJlbmRlci5cbiAgICAgIGZvcmNlU3RvcmVSZXJlbmRlcihmaWJlcik7XG4gICAgfVxuICB9OyAvLyBTdWJzY3JpYmUgdG8gdGhlIHN0b3JlIGFuZCByZXR1cm4gYSBjbGVhbi11cCBmdW5jdGlvbi5cblxuXG4gIHJldHVybiBzdWJzY3JpYmUoaGFuZGxlU3RvcmVDaGFuZ2UpO1xufVxuXG5mdW5jdGlvbiBjaGVja0lmU25hcHNob3RDaGFuZ2VkKGluc3QpIHtcbiAgdmFyIGxhdGVzdEdldFNuYXBzaG90ID0gaW5zdC5nZXRTbmFwc2hvdDtcbiAgdmFyIHByZXZWYWx1ZSA9IGluc3QudmFsdWU7XG5cbiAgdHJ5IHtcbiAgICB2YXIgbmV4dFZhbHVlID0gbGF0ZXN0R2V0U25hcHNob3QoKTtcbiAgICByZXR1cm4gIW9iamVjdElzKHByZXZWYWx1ZSwgbmV4dFZhbHVlKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JjZVN0b3JlUmVyZW5kZXIoZmliZXIpIHtcbiAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgU3luY0xhbmUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50U3RhdGVJbXBsKGluaXRpYWxTdGF0ZSkge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAgaWYgKHR5cGVvZiBpbml0aWFsU3RhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgaW5pdGlhbFN0YXRlSW5pdGlhbGl6ZXIgPSBpbml0aWFsU3RhdGU7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV06IEZsb3cgZG9lc24ndCBsaWtlIG1peGVkIHR5cGVzXG5cbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGVJbml0aWFsaXplcigpO1xuXG4gICAgaWYgKHNob3VsZERvdWJsZUludm9rZVVzZXJGbnNJbkhvb2tzREVWKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdXNlXTogRmxvdyBkb2Vzbid0IGxpa2UgbWl4ZWQgdHlwZXNcblxuICAgICAgaW5pdGlhbFN0YXRlSW5pdGlhbGl6ZXIoKTtcbiAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBob29rLmJhc2VTdGF0ZSA9IGluaXRpYWxTdGF0ZTtcbiAgdmFyIHF1ZXVlID0ge1xuICAgIHBlbmRpbmc6IG51bGwsXG4gICAgbGFuZXM6IE5vTGFuZXMsXG4gICAgZGlzcGF0Y2g6IG51bGwsXG4gICAgbGFzdFJlbmRlcmVkUmVkdWNlcjogYmFzaWNTdGF0ZVJlZHVjZXIsXG4gICAgbGFzdFJlbmRlcmVkU3RhdGU6IGluaXRpYWxTdGF0ZVxuICB9O1xuICBob29rLnF1ZXVlID0gcXVldWU7XG4gIHJldHVybiBob29rO1xufVxuXG5mdW5jdGlvbiBtb3VudFN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICB2YXIgaG9vayA9IG1vdW50U3RhdGVJbXBsKGluaXRpYWxTdGF0ZSk7XG4gIHZhciBxdWV1ZSA9IGhvb2sucXVldWU7XG4gIHZhciBkaXNwYXRjaCA9IGRpc3BhdGNoU2V0U3RhdGUuYmluZChudWxsLCBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLCBxdWV1ZSk7XG4gIHF1ZXVlLmRpc3BhdGNoID0gZGlzcGF0Y2g7XG4gIHJldHVybiBbaG9vay5tZW1vaXplZFN0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICByZXR1cm4gdXBkYXRlUmVkdWNlcihiYXNpY1N0YXRlUmVkdWNlcik7XG59XG5cbmZ1bmN0aW9uIHJlcmVuZGVyU3RhdGUoaW5pdGlhbFN0YXRlKSB7XG4gIHJldHVybiByZXJlbmRlclJlZHVjZXIoYmFzaWNTdGF0ZVJlZHVjZXIpO1xufVxuXG5mdW5jdGlvbiBtb3VudE9wdGltaXN0aWMocGFzc3Rocm91Z2gsIHJlZHVjZXIpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBob29rLmJhc2VTdGF0ZSA9IHBhc3N0aHJvdWdoO1xuICB2YXIgcXVldWUgPSB7XG4gICAgcGVuZGluZzogbnVsbCxcbiAgICBsYW5lczogTm9MYW5lcyxcbiAgICBkaXNwYXRjaDogbnVsbCxcbiAgICAvLyBPcHRpbWlzdGljIHN0YXRlIGRvZXMgbm90IHVzZSB0aGUgZWFnZXIgdXBkYXRlIG9wdGltaXphdGlvbi5cbiAgICBsYXN0UmVuZGVyZWRSZWR1Y2VyOiBudWxsLFxuICAgIGxhc3RSZW5kZXJlZFN0YXRlOiBudWxsXG4gIH07XG4gIGhvb2sucXVldWUgPSBxdWV1ZTsgLy8gVGhpcyBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgbm9ybWFsIHNldFN0YXRlIGZ1bmN0aW9uLlxuXG4gIHZhciBkaXNwYXRjaCA9IGRpc3BhdGNoT3B0aW1pc3RpY1NldFN0YXRlLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgdHJ1ZSwgcXVldWUpO1xuICBxdWV1ZS5kaXNwYXRjaCA9IGRpc3BhdGNoO1xuICByZXR1cm4gW3Bhc3N0aHJvdWdoLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU9wdGltaXN0aWMocGFzc3Rocm91Z2gsIHJlZHVjZXIpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgcmV0dXJuIHVwZGF0ZU9wdGltaXN0aWNJbXBsKGhvb2ssIGN1cnJlbnRIb29rLCBwYXNzdGhyb3VnaCwgcmVkdWNlcik7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU9wdGltaXN0aWNJbXBsKGhvb2ssIGN1cnJlbnQsIHBhc3N0aHJvdWdoLCByZWR1Y2VyKSB7XG4gIC8vIE9wdGltaXN0aWMgdXBkYXRlcyBhcmUgYWx3YXlzIHJlYmFzZWQgb24gdG9wIG9mIHRoZSBsYXRlc3QgdmFsdWUgcGFzc2VkIGluXG4gIC8vIGFzIGFuIGFyZ3VtZW50LiBJdCdzIGNhbGxlZCBhIHBhc3N0aHJvdWdoIGJlY2F1c2UgaWYgdGhlcmUgYXJlIG5vIHBlbmRpbmdcbiAgLy8gdXBkYXRlcywgaXQgd2lsbCBiZSByZXR1cm5lZCBhcy1pcy5cbiAgLy9cbiAgLy8gUmVzZXQgdGhlIGJhc2Ugc3RhdGUgdG8gdGhlIHBhc3N0aHJvdWdoLiBGdXR1cmUgdXBkYXRlcyB3aWxsIGJlIGFwcGxpZWRcbiAgLy8gb24gdG9wIG9mIHRoaXMuXG4gIGhvb2suYmFzZVN0YXRlID0gcGFzc3Rocm91Z2g7IC8vIElmIGEgcmVkdWNlciBpcyBub3QgcHJvdmlkZWQsIGRlZmF1bHQgdG8gdGhlIHNhbWUgb25lIHVzZWQgYnkgdXNlU3RhdGUuXG5cbiAgdmFyIHJlc29sdmVkUmVkdWNlciA9IHR5cGVvZiByZWR1Y2VyID09PSAnZnVuY3Rpb24nID8gcmVkdWNlciA6IGJhc2ljU3RhdGVSZWR1Y2VyO1xuICByZXR1cm4gdXBkYXRlUmVkdWNlckltcGwoaG9vaywgY3VycmVudEhvb2ssIHJlc29sdmVkUmVkdWNlcik7XG59XG5cbmZ1bmN0aW9uIHJlcmVuZGVyT3B0aW1pc3RpYyhwYXNzdGhyb3VnaCwgcmVkdWNlcikge1xuICAvLyBVbmxpa2UgdXNlU3RhdGUsIHVzZU9wdGltaXN0aWMgZG9lc24ndCBzdXBwb3J0IHJlbmRlciBwaGFzZSB1cGRhdGVzLlxuICAvLyBBbHNvIHVubGlrZSB1c2VTdGF0ZSwgd2UgbmVlZCB0byByZXBsYXkgYWxsIHBlbmRpbmcgdXBkYXRlcyBhZ2FpbiBpbiBjYXNlXG4gIC8vIHRoZSBwYXNzdGhyb3VnaCB2YWx1ZSBjaGFuZ2VkLlxuICAvL1xuICAvLyBTbyBpbnN0ZWFkIG9mIGEgZm9ya2VkIHJlLXJlbmRlciBpbXBsZW1lbnRhdGlvbiB0aGF0IGtub3dzIGhvdyB0byBoYW5kbGVcbiAgLy8gcmVuZGVyIHBoYXNlIHVkcGF0ZXMsIHdlIGNhbiB1c2UgdGhlIHNhbWUgaW1wbGVtZW50YXRpb24gYXMgZHVyaW5nIGFcbiAgLy8gcmVndWxhciBtb3VudCBvciB1cGRhdGUuXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAgaWYgKGN1cnJlbnRIb29rICE9PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyBhbiB1cGRhdGUuIFByb2Nlc3MgdGhlIHVwZGF0ZSBxdWV1ZS5cbiAgICByZXR1cm4gdXBkYXRlT3B0aW1pc3RpY0ltcGwoaG9vaywgY3VycmVudEhvb2ssIHBhc3N0aHJvdWdoLCByZWR1Y2VyKTtcbiAgfSAvLyBUaGlzIGlzIGEgbW91bnQuIE5vIHVwZGF0ZXMgdG8gcHJvY2Vzcy5cbiAgLy8gUmVzZXQgdGhlIGJhc2Ugc3RhdGUgdG8gdGhlIHBhc3N0aHJvdWdoLiBGdXR1cmUgdXBkYXRlcyB3aWxsIGJlIGFwcGxpZWRcbiAgLy8gb24gdG9wIG9mIHRoaXMuXG5cblxuICBob29rLmJhc2VTdGF0ZSA9IHBhc3N0aHJvdWdoO1xuICB2YXIgZGlzcGF0Y2ggPSBob29rLnF1ZXVlLmRpc3BhdGNoO1xuICByZXR1cm4gW3Bhc3N0aHJvdWdoLCBkaXNwYXRjaF07XG59IC8vIHVzZUZvcm1TdGF0ZSBhY3Rpb25zIHJ1biBzZXF1ZW50aWFsbHksIGJlY2F1c2UgZWFjaCBhY3Rpb24gcmVjZWl2ZXMgdGhlXG4vLyBwcmV2aW91cyBzdGF0ZSBhcyBhbiBhcmd1bWVudC4gV2Ugc3RvcmUgcGVuZGluZyBhY3Rpb25zIG9uIGEgcXVldWUuXG5cblxuZnVuY3Rpb24gZGlzcGF0Y2hGb3JtU3RhdGUoZmliZXIsIGFjdGlvblF1ZXVlLCBzZXRTdGF0ZSwgcGF5bG9hZCkge1xuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1cGRhdGUgZm9ybSBzdGF0ZSB3aGlsZSByZW5kZXJpbmcuJyk7XG4gIH1cblxuICB2YXIgbGFzdCA9IGFjdGlvblF1ZXVlLnBlbmRpbmc7XG5cbiAgaWYgKGxhc3QgPT09IG51bGwpIHtcbiAgICAvLyBUaGVyZSBhcmUgbm8gcGVuZGluZyBhY3Rpb25zOyB0aGlzIGlzIHRoZSBmaXJzdCBvbmUuIFdlIGNhbiBydW5cbiAgICAvLyBpdCBpbW1lZGlhdGVseS5cbiAgICB2YXIgbmV3TGFzdCA9IHtcbiAgICAgIHBheWxvYWQ6IHBheWxvYWQsXG4gICAgICBuZXh0OiBudWxsIC8vIGNpcmN1bGFyXG5cbiAgICB9O1xuICAgIG5ld0xhc3QubmV4dCA9IGFjdGlvblF1ZXVlLnBlbmRpbmcgPSBuZXdMYXN0O1xuICAgIHJ1bkZvcm1TdGF0ZUFjdGlvbihhY3Rpb25RdWV1ZSwgc2V0U3RhdGUsIHBheWxvYWQpO1xuICB9IGVsc2Uge1xuICAgIC8vIFRoZXJlJ3MgYWxyZWFkeSBhbiBhY3Rpb24gcnVubmluZy4gQWRkIHRvIHRoZSBxdWV1ZS5cbiAgICB2YXIgZmlyc3QgPSBsYXN0Lm5leHQ7XG4gICAgdmFyIF9uZXdMYXN0ID0ge1xuICAgICAgcGF5bG9hZDogcGF5bG9hZCxcbiAgICAgIG5leHQ6IGZpcnN0XG4gICAgfTtcbiAgICBhY3Rpb25RdWV1ZS5wZW5kaW5nID0gbGFzdC5uZXh0ID0gX25ld0xhc3Q7XG4gIH1cbn1cblxuZnVuY3Rpb24gcnVuRm9ybVN0YXRlQWN0aW9uKGFjdGlvblF1ZXVlLCBzZXRTdGF0ZSwgcGF5bG9hZCkge1xuICB2YXIgYWN0aW9uID0gYWN0aW9uUXVldWUuYWN0aW9uO1xuICB2YXIgcHJldlN0YXRlID0gYWN0aW9uUXVldWUuc3RhdGU7IC8vIFRoaXMgaXMgYSBmb3JrIG9mIHN0YXJ0VHJhbnNpdGlvblxuXG4gIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbjtcbiAgdmFyIGN1cnJlbnRUcmFuc2l0aW9uID0ge1xuICAgIF9jYWxsYmFja3M6IG5ldyBTZXQoKVxuICB9O1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBjdXJyZW50VHJhbnNpdGlvbjtcblxuICB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uLl91cGRhdGVkRmliZXJzID0gbmV3IFNldCgpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICB2YXIgcmV0dXJuVmFsdWUgPSBhY3Rpb24ocHJldlN0YXRlLCBwYXlsb2FkKTtcblxuICAgIGlmIChyZXR1cm5WYWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgcmV0dXJuVmFsdWUgPT09ICdvYmplY3QnICYmIC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cbiAgICB0eXBlb2YgcmV0dXJuVmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIHRoZW5hYmxlID0gcmV0dXJuVmFsdWU7XG4gICAgICBub3RpZnlUcmFuc2l0aW9uQ2FsbGJhY2tzKGN1cnJlbnRUcmFuc2l0aW9uLCB0aGVuYWJsZSk7IC8vIEF0dGFjaCBhIGxpc3RlbmVyIHRvIHJlYWQgdGhlIHJldHVybiBzdGF0ZSBvZiB0aGUgYWN0aW9uLiBBcyBzb29uIGFzXG4gICAgICAvLyB0aGlzIHJlc29sdmVzLCB3ZSBjYW4gcnVuIHRoZSBuZXh0IGFjdGlvbiBpbiB0aGUgc2VxdWVuY2UuXG5cbiAgICAgIHRoZW5hYmxlLnRoZW4oZnVuY3Rpb24gKG5leHRTdGF0ZSkge1xuICAgICAgICBhY3Rpb25RdWV1ZS5zdGF0ZSA9IG5leHRTdGF0ZTtcbiAgICAgICAgZmluaXNoUnVubmluZ0Zvcm1TdGF0ZUFjdGlvbihhY3Rpb25RdWV1ZSwgc2V0U3RhdGUpO1xuICAgICAgfSwgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZmluaXNoUnVubmluZ0Zvcm1TdGF0ZUFjdGlvbihhY3Rpb25RdWV1ZSwgc2V0U3RhdGUpO1xuICAgICAgfSk7XG4gICAgICBzZXRTdGF0ZSh0aGVuYWJsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFN0YXRlKHJldHVyblZhbHVlKTtcbiAgICAgIHZhciBuZXh0U3RhdGUgPSByZXR1cm5WYWx1ZTtcbiAgICAgIGFjdGlvblF1ZXVlLnN0YXRlID0gbmV4dFN0YXRlO1xuICAgICAgZmluaXNoUnVubmluZ0Zvcm1TdGF0ZUFjdGlvbihhY3Rpb25RdWV1ZSwgc2V0U3RhdGUpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBUaGlzIGlzIGEgdHJpY2sgdG8gZ2V0IHRoZSBgdXNlRm9ybVN0YXRlYCBob29rIHRvIHJldGhyb3cgdGhlIGVycm9yLlxuICAgIC8vIFdoZW4gaXQgdW53cmFwcyB0aGUgdGhlbmFibGUgd2l0aCB0aGUgYHVzZWAgYWxnb3JpdGhtLCB0aGUgZXJyb3JcbiAgICAvLyB3aWxsIGJlIHRocm93bi5cbiAgICB2YXIgcmVqZWN0ZWRUaGVuYWJsZSA9IHtcbiAgICAgIHRoZW46IGZ1bmN0aW9uICgpIHt9LFxuICAgICAgc3RhdHVzOiAncmVqZWN0ZWQnLFxuICAgICAgcmVhc29uOiBlcnJvciAvLyAkRmxvd0ZpeE1lOiBOb3Qgc3VyZSB3aHkgdGhpcyBkb2Vzbid0IHdvcmtcblxuICAgIH07XG4gICAgc2V0U3RhdGUocmVqZWN0ZWRUaGVuYWJsZSk7XG4gICAgZmluaXNoUnVubmluZ0Zvcm1TdGF0ZUFjdGlvbihhY3Rpb25RdWV1ZSwgc2V0U3RhdGUpO1xuICB9IGZpbmFsbHkge1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuXG4gICAge1xuICAgICAgaWYgKHByZXZUcmFuc2l0aW9uID09PSBudWxsICYmIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzKSB7XG4gICAgICAgIHZhciB1cGRhdGVkRmliZXJzQ291bnQgPSBjdXJyZW50VHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5zaXplO1xuXG4gICAgICAgIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLmNsZWFyKCk7XG5cbiAgICAgICAgaWYgKHVwZGF0ZWRGaWJlcnNDb3VudCA+IDEwKSB7XG4gICAgICAgICAgd2FybignRGV0ZWN0ZWQgYSBsYXJnZSBudW1iZXIgb2YgdXBkYXRlcyBpbnNpZGUgc3RhcnRUcmFuc2l0aW9uLiAnICsgJ0lmIHRoaXMgaXMgZHVlIHRvIGEgc3Vic2NyaXB0aW9uIHBsZWFzZSByZS13cml0ZSBpdCB0byB1c2UgUmVhY3QgcHJvdmlkZWQgaG9va3MuICcgKyAnT3RoZXJ3aXNlIGNvbmN1cnJlbnQgbW9kZSBndWFyYW50ZWVzIGFyZSBvZmYgdGhlIHRhYmxlLicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmlzaFJ1bm5pbmdGb3JtU3RhdGVBY3Rpb24oYWN0aW9uUXVldWUsIHNldFN0YXRlKSB7XG4gIC8vIFRoZSBhY3Rpb24gZmluaXNoZWQgcnVubmluZy4gUG9wIGl0IGZyb20gdGhlIHF1ZXVlIGFuZCBydW4gdGhlIG5leHQgcGVuZGluZ1xuICAvLyBhY3Rpb24sIGlmIHRoZXJlIGFyZSBhbnkuXG4gIHZhciBsYXN0ID0gYWN0aW9uUXVldWUucGVuZGluZztcblxuICBpZiAobGFzdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaXJzdCA9IGxhc3QubmV4dDtcblxuICAgIGlmIChmaXJzdCA9PT0gbGFzdCkge1xuICAgICAgLy8gVGhpcyB3YXMgdGhlIGxhc3QgYWN0aW9uIGluIHRoZSBxdWV1ZS5cbiAgICAgIGFjdGlvblF1ZXVlLnBlbmRpbmcgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZW1vdmUgdGhlIGZpcnN0IG5vZGUgZnJvbSB0aGUgY2lyY3VsYXIgcXVldWUuXG4gICAgICB2YXIgbmV4dCA9IGZpcnN0Lm5leHQ7XG4gICAgICBsYXN0Lm5leHQgPSBuZXh0OyAvLyBSdW4gdGhlIG5leHQgYWN0aW9uLlxuXG4gICAgICBydW5Gb3JtU3RhdGVBY3Rpb24oYWN0aW9uUXVldWUsIHNldFN0YXRlLCBuZXh0LnBheWxvYWQpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtU3RhdGVSZWR1Y2VyKG9sZFN0YXRlLCBuZXdTdGF0ZSkge1xuICByZXR1cm4gbmV3U3RhdGU7XG59XG5cbmZ1bmN0aW9uIG1vdW50Rm9ybVN0YXRlKGFjdGlvbiwgaW5pdGlhbFN0YXRlUHJvcCwgcGVybWFsaW5rKSB7XG4gIHZhciBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGVQcm9wO1xuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTtcbiAgICB2YXIgc3NyRm9ybVN0YXRlID0gcm9vdC5mb3JtU3RhdGU7IC8vIElmIGEgZm9ybVN0YXRlIG9wdGlvbiB3YXMgcGFzc2VkIHRvIHRoZSByb290LCB0aGVyZSBhcmUgZm9ybSBzdGF0ZVxuICAgIC8vIG1hcmtlcnMgdGhhdCB3ZSBuZWVkIHRvIGh5ZHJhdGUuIFRoZXNlIGluZGljYXRlIHdoZXRoZXIgdGhlIGZvcm0gc3RhdGVcbiAgICAvLyBtYXRjaGVzIHRoaXMgaG9vayBpbnN0YW5jZS5cblxuICAgIGlmIChzc3JGb3JtU3RhdGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBpc01hdGNoaW5nID0gdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlRm9ybU1hcmtlckluc3RhbmNlKCk7XG5cbiAgICAgIGlmIChpc01hdGNoaW5nKSB7XG4gICAgICAgIGluaXRpYWxTdGF0ZSA9IHNzckZvcm1TdGF0ZVswXTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gU3RhdGUgaG9vay4gVGhlIHN0YXRlIGlzIHN0b3JlZCBpbiBhIHRoZW5hYmxlIHdoaWNoIGlzIHRoZW4gdW53cmFwcGVkIGJ5XG4gIC8vIHRoZSBgdXNlYCBhbGdvcml0aG0gZHVyaW5nIHJlbmRlci5cblxuXG4gIHZhciBzdGF0ZUhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBzdGF0ZUhvb2subWVtb2l6ZWRTdGF0ZSA9IHN0YXRlSG9vay5iYXNlU3RhdGUgPSBpbml0aWFsU3RhdGU7IC8vIFRPRE86IFR5cGluZyB0aGlzIFwiY29ycmVjdGx5XCIgcmVzdWx0cyBpbiByZWN1cnNpb24gbGltaXQgZXJyb3JzXG4gIC8vIGNvbnN0IHN0YXRlUXVldWU6IFVwZGF0ZVF1ZXVlPFMgfCBBd2FpdGVkPFM+LCBTIHwgQXdhaXRlZDxTPj4gPSB7XG5cbiAgdmFyIHN0YXRlUXVldWUgPSB7XG4gICAgcGVuZGluZzogbnVsbCxcbiAgICBsYW5lczogTm9MYW5lcyxcbiAgICBkaXNwYXRjaDogbnVsbCxcbiAgICBsYXN0UmVuZGVyZWRSZWR1Y2VyOiBmb3JtU3RhdGVSZWR1Y2VyLFxuICAgIGxhc3RSZW5kZXJlZFN0YXRlOiBpbml0aWFsU3RhdGVcbiAgfTtcbiAgc3RhdGVIb29rLnF1ZXVlID0gc3RhdGVRdWV1ZTtcbiAgdmFyIHNldFN0YXRlID0gZGlzcGF0Y2hTZXRTdGF0ZS5iaW5kKG51bGwsIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEsIHN0YXRlUXVldWUpO1xuICBzdGF0ZVF1ZXVlLmRpc3BhdGNoID0gc2V0U3RhdGU7IC8vIEFjdGlvbiBxdWV1ZSBob29rLiBUaGlzIGlzIHVzZWQgdG8gcXVldWUgcGVuZGluZyBhY3Rpb25zLiBUaGUgcXVldWUgaXNcbiAgLy8gc2hhcmVkIGJldHdlZW4gYWxsIGluc3RhbmNlcyBvZiB0aGUgaG9vay4gU2ltaWxhciB0byBhIHJlZ3VsYXIgc3RhdGUgcXVldWUsXG4gIC8vIGJ1dCBkaWZmZXJlbnQgYmVjYXVzZSB0aGUgYWN0aW9ucyBhcmUgcnVuIHNlcXVlbnRpYWxseSwgYW5kIHRoZXkgcnVuIGluXG4gIC8vIGFuIGV2ZW50IGluc3RlYWQgb2YgZHVyaW5nIHJlbmRlci5cblxuICB2YXIgYWN0aW9uUXVldWVIb29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGFjdGlvblF1ZXVlID0ge1xuICAgIHN0YXRlOiBpbml0aWFsU3RhdGUsXG4gICAgZGlzcGF0Y2g6IG51bGwsXG4gICAgLy8gY2lyY3VsYXJcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBwZW5kaW5nOiBudWxsXG4gIH07XG4gIGFjdGlvblF1ZXVlSG9vay5xdWV1ZSA9IGFjdGlvblF1ZXVlO1xuICB2YXIgZGlzcGF0Y2ggPSBkaXNwYXRjaEZvcm1TdGF0ZS5iaW5kKG51bGwsIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEsIGFjdGlvblF1ZXVlLCBzZXRTdGF0ZSk7XG4gIGFjdGlvblF1ZXVlLmRpc3BhdGNoID0gZGlzcGF0Y2g7IC8vIFN0YXNoIHRoZSBhY3Rpb24gZnVuY3Rpb24gb24gdGhlIG1lbW9pemVkIHN0YXRlIG9mIHRoZSBob29rLiBXZSdsbCB1c2UgdGhpc1xuICAvLyB0byBkZXRlY3Qgd2hlbiB0aGUgYWN0aW9uIGZ1bmN0aW9uIGNoYW5nZXMgc28gd2UgY2FuIHVwZGF0ZSBpdCBpblxuICAvLyBhbiBlZmZlY3QuXG5cbiAgYWN0aW9uUXVldWVIb29rLm1lbW9pemVkU3RhdGUgPSBhY3Rpb247XG4gIHJldHVybiBbaW5pdGlhbFN0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUZvcm1TdGF0ZShhY3Rpb24sIGluaXRpYWxTdGF0ZSwgcGVybWFsaW5rKSB7XG4gIHZhciBzdGF0ZUhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGN1cnJlbnRTdGF0ZUhvb2sgPSBjdXJyZW50SG9vaztcbiAgcmV0dXJuIHVwZGF0ZUZvcm1TdGF0ZUltcGwoc3RhdGVIb29rLCBjdXJyZW50U3RhdGVIb29rLCBhY3Rpb24pO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVGb3JtU3RhdGVJbXBsKHN0YXRlSG9vaywgY3VycmVudFN0YXRlSG9vaywgYWN0aW9uLCBpbml0aWFsU3RhdGUsIHBlcm1hbGluaykge1xuICB2YXIgX3VwZGF0ZVJlZHVjZXJJbXBsID0gdXBkYXRlUmVkdWNlckltcGwoc3RhdGVIb29rLCBjdXJyZW50U3RhdGVIb29rLCBmb3JtU3RhdGVSZWR1Y2VyKSxcbiAgICAgIGFjdGlvblJlc3VsdCA9IF91cGRhdGVSZWR1Y2VySW1wbFswXTsgLy8gVGhpcyB3aWxsIHN1c3BlbmQgdW50aWwgdGhlIGFjdGlvbiBmaW5pc2hlcy5cblxuXG4gIHZhciBzdGF0ZSA9IHR5cGVvZiBhY3Rpb25SZXN1bHQgPT09ICdvYmplY3QnICYmIGFjdGlvblJlc3VsdCAhPT0gbnVsbCAmJiAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG4gIHR5cGVvZiBhY3Rpb25SZXN1bHQudGhlbiA9PT0gJ2Z1bmN0aW9uJyA/IHVzZVRoZW5hYmxlKGFjdGlvblJlc3VsdCkgOiBhY3Rpb25SZXN1bHQ7XG4gIHZhciBhY3Rpb25RdWV1ZUhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGFjdGlvblF1ZXVlID0gYWN0aW9uUXVldWVIb29rLnF1ZXVlO1xuICB2YXIgZGlzcGF0Y2ggPSBhY3Rpb25RdWV1ZS5kaXNwYXRjaDsgLy8gQ2hlY2sgaWYgYSBuZXcgYWN0aW9uIHdhcyBwYXNzZWQuIElmIHNvLCB1cGRhdGUgaXQgaW4gYW4gZWZmZWN0LlxuXG4gIHZhciBwcmV2QWN0aW9uID0gYWN0aW9uUXVldWVIb29rLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKGFjdGlvbiAhPT0gcHJldkFjdGlvbikge1xuICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZmxhZ3MgfD0gUGFzc2l2ZSQxO1xuICAgIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSwgZm9ybVN0YXRlQWN0aW9uRWZmZWN0LmJpbmQobnVsbCwgYWN0aW9uUXVldWUsIGFjdGlvbiksIGNyZWF0ZUVmZmVjdEluc3RhbmNlKCksIG51bGwpO1xuICB9XG5cbiAgcmV0dXJuIFtzdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiBmb3JtU3RhdGVBY3Rpb25FZmZlY3QoYWN0aW9uUXVldWUsIGFjdGlvbikge1xuICBhY3Rpb25RdWV1ZS5hY3Rpb24gPSBhY3Rpb247XG59XG5cbmZ1bmN0aW9uIHJlcmVuZGVyRm9ybVN0YXRlKGFjdGlvbiwgaW5pdGlhbFN0YXRlLCBwZXJtYWxpbmspIHtcbiAgLy8gVW5saWtlIHVzZVN0YXRlLCB1c2VGb3JtU3RhdGUgZG9lc24ndCBzdXBwb3J0IHJlbmRlciBwaGFzZSB1cGRhdGVzLlxuICAvLyBBbHNvIHVubGlrZSB1c2VTdGF0ZSwgd2UgbmVlZCB0byByZXBsYXkgYWxsIHBlbmRpbmcgdXBkYXRlcyBhZ2FpbiBpbiBjYXNlXG4gIC8vIHRoZSBwYXNzdGhyb3VnaCB2YWx1ZSBjaGFuZ2VkLlxuICAvL1xuICAvLyBTbyBpbnN0ZWFkIG9mIGEgZm9ya2VkIHJlLXJlbmRlciBpbXBsZW1lbnRhdGlvbiB0aGF0IGtub3dzIGhvdyB0byBoYW5kbGVcbiAgLy8gcmVuZGVyIHBoYXNlIHVkcGF0ZXMsIHdlIGNhbiB1c2UgdGhlIHNhbWUgaW1wbGVtZW50YXRpb24gYXMgZHVyaW5nIGFcbiAgLy8gcmVndWxhciBtb3VudCBvciB1cGRhdGUuXG4gIHZhciBzdGF0ZUhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGN1cnJlbnRTdGF0ZUhvb2sgPSBjdXJyZW50SG9vaztcblxuICBpZiAoY3VycmVudFN0YXRlSG9vayAhPT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgYW4gdXBkYXRlLiBQcm9jZXNzIHRoZSB1cGRhdGUgcXVldWUuXG4gICAgcmV0dXJuIHVwZGF0ZUZvcm1TdGF0ZUltcGwoc3RhdGVIb29rLCBjdXJyZW50U3RhdGVIb29rLCBhY3Rpb24pO1xuICB9IC8vIFRoaXMgaXMgYSBtb3VudC4gTm8gdXBkYXRlcyB0byBwcm9jZXNzLlxuXG5cbiAgdmFyIHN0YXRlID0gc3RhdGVIb29rLm1lbW9pemVkU3RhdGU7XG4gIHZhciBhY3Rpb25RdWV1ZUhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGFjdGlvblF1ZXVlID0gYWN0aW9uUXVldWVIb29rLnF1ZXVlO1xuICB2YXIgZGlzcGF0Y2ggPSBhY3Rpb25RdWV1ZS5kaXNwYXRjaDsgLy8gVGhpcyBtYXkgaGF2ZSBjaGFuZ2VkIGR1cmluZyB0aGUgcmVyZW5kZXIuXG5cbiAgYWN0aW9uUXVldWVIb29rLm1lbW9pemVkU3RhdGUgPSBhY3Rpb247XG4gIHJldHVybiBbc3RhdGUsIGRpc3BhdGNoXTtcbn1cblxuZnVuY3Rpb24gcHVzaEVmZmVjdCh0YWcsIGNyZWF0ZSwgaW5zdCwgZGVwcykge1xuICB2YXIgZWZmZWN0ID0ge1xuICAgIHRhZzogdGFnLFxuICAgIGNyZWF0ZTogY3JlYXRlLFxuICAgIGluc3Q6IGluc3QsXG4gICAgZGVwczogZGVwcyxcbiAgICAvLyBDaXJjdWxhclxuICAgIG5leHQ6IG51bGxcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdC5uZXh0ID0gZWZmZWN0O1xuICB9IGVsc2Uge1xuICAgIHZhciBsYXN0RWZmZWN0ID0gY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgIGlmIChsYXN0RWZmZWN0ID09PSBudWxsKSB7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0Lm5leHQgPSBlZmZlY3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdEVmZmVjdCA9IGxhc3RFZmZlY3QubmV4dDtcbiAgICAgIGxhc3RFZmZlY3QubmV4dCA9IGVmZmVjdDtcbiAgICAgIGVmZmVjdC5uZXh0ID0gZmlyc3RFZmZlY3Q7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlZmZlY3Q7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVmZmVjdEluc3RhbmNlKCkge1xuICByZXR1cm4ge1xuICAgIGRlc3Ryb3k6IHVuZGVmaW5lZFxuICB9O1xufVxuXG5mdW5jdGlvbiBtb3VudFJlZihpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuXG4gIHtcbiAgICB2YXIgX3JlZjIgPSB7XG4gICAgICBjdXJyZW50OiBpbml0aWFsVmFsdWVcbiAgICB9O1xuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IF9yZWYyO1xuICAgIHJldHVybiBfcmVmMjtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVSZWYoaW5pdGlhbFZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHJldHVybiBob29rLm1lbW9pemVkU3RhdGU7XG59XG5cbmZ1bmN0aW9uIG1vdW50RWZmZWN0SW1wbChmaWJlckZsYWdzLCBob29rRmxhZ3MsIGNyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmZsYWdzIHw9IGZpYmVyRmxhZ3M7XG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgaG9va0ZsYWdzLCBjcmVhdGUsIGNyZWF0ZUVmZmVjdEluc3RhbmNlKCksIG5leHREZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlRWZmZWN0SW1wbChmaWJlckZsYWdzLCBob29rRmxhZ3MsIGNyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgdmFyIGVmZmVjdCA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIGluc3QgPSBlZmZlY3QuaW5zdDsgLy8gY3VycmVudEhvb2sgaXMgbnVsbCBvbiBpbml0aWFsIG1vdW50IHdoZW4gcmVyZW5kZXJpbmcgYWZ0ZXIgYSByZW5kZXIgcGhhc2VcbiAgLy8gc3RhdGUgdXBkYXRlIG9yIGZvciBzdHJpY3QgbW9kZS5cblxuICBpZiAoY3VycmVudEhvb2sgIT09IG51bGwpIHtcbiAgICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBwcmV2RWZmZWN0ID0gY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgICAgIHZhciBwcmV2RGVwcyA9IHByZXZFZmZlY3QuZGVwcztcblxuICAgICAgaWYgKGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpKSB7XG4gICAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHB1c2hFZmZlY3QoaG9va0ZsYWdzLCBjcmVhdGUsIGluc3QsIG5leHREZXBzKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZmxhZ3MgfD0gZmliZXJGbGFncztcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gcHVzaEVmZmVjdChIYXNFZmZlY3QgfCBob29rRmxhZ3MsIGNyZWF0ZSwgaW5zdCwgbmV4dERlcHMpO1xufVxuXG5mdW5jdGlvbiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgaWYgKChjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1vZGUgJiBTdHJpY3RFZmZlY3RzTW9kZSkgIT09IE5vTW9kZSAmJiAoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5tb2RlICYgTm9TdHJpY3RQYXNzaXZlRWZmZWN0c01vZGUpID09PSBOb01vZGUpIHtcbiAgICBtb3VudEVmZmVjdEltcGwoTW91bnRQYXNzaXZlRGV2IHwgUGFzc2l2ZSQxIHwgUGFzc2l2ZVN0YXRpYywgUGFzc2l2ZSwgY3JlYXRlLCBkZXBzKTtcbiAgfSBlbHNlIHtcbiAgICBtb3VudEVmZmVjdEltcGwoUGFzc2l2ZSQxIHwgUGFzc2l2ZVN0YXRpYywgUGFzc2l2ZSwgY3JlYXRlLCBkZXBzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHVwZGF0ZUVmZmVjdEltcGwoUGFzc2l2ZSQxLCBQYXNzaXZlLCBjcmVhdGUsIGRlcHMpO1xufVxuXG5mdW5jdGlvbiBtb3VudEluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgbW91bnRFZmZlY3RJbXBsKFVwZGF0ZSwgSW5zZXJ0aW9uLCBjcmVhdGUsIGRlcHMpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFVwZGF0ZSwgSW5zZXJ0aW9uLCBjcmVhdGUsIGRlcHMpO1xufVxuXG5mdW5jdGlvbiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGZpYmVyRmxhZ3MgPSBVcGRhdGUgfCBMYXlvdXRTdGF0aWM7XG5cbiAgaWYgKChjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1vZGUgJiBTdHJpY3RFZmZlY3RzTW9kZSkgIT09IE5vTW9kZSkge1xuICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gIH1cblxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKGZpYmVyRmxhZ3MsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICByZXR1cm4gdXBkYXRlRWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gaW1wZXJhdGl2ZUhhbmRsZUVmZmVjdChjcmVhdGUsIHJlZikge1xuICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciByZWZDYWxsYmFjayA9IHJlZjtcbiAgICB2YXIgaW5zdCA9IGNyZWF0ZSgpO1xuICAgIHJlZkNhbGxiYWNrKGluc3QpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZWZDYWxsYmFjayhudWxsKTtcbiAgICB9O1xuICB9IGVsc2UgaWYgKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHZhciByZWZPYmplY3QgPSByZWY7XG5cbiAgICB7XG4gICAgICBpZiAoIXJlZk9iamVjdC5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgZmlyc3QgYXJndW1lbnQgdG8gZWl0aGVyIGJlIGEgJyArICdyZWYgY2FsbGJhY2sgb3IgUmVhY3QuY3JlYXRlUmVmKCkgb2JqZWN0LiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCAnYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKHJlZk9iamVjdCkuam9pbignLCAnKSArICd9Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIF9pbnN0ID0gY3JlYXRlKCk7XG5cbiAgICByZWZPYmplY3QuY3VycmVudCA9IF9pbnN0O1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZWZPYmplY3QuY3VycmVudCA9IG51bGw7XG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAge1xuICAgIGlmICh0eXBlb2YgY3JlYXRlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgdXNlSW1wZXJhdGl2ZUhhbmRsZSgpIHNlY29uZCBhcmd1bWVudCB0byBiZSBhIGZ1bmN0aW9uICcgKyAndGhhdCBjcmVhdGVzIGEgaGFuZGxlLiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCBjcmVhdGUgIT09IG51bGwgPyB0eXBlb2YgY3JlYXRlIDogJ251bGwnKTtcbiAgICB9XG4gIH0gLy8gVE9ETzogSWYgZGVwcyBhcmUgcHJvdmlkZWQsIHNob3VsZCB3ZSBza2lwIGNvbXBhcmluZyB0aGUgcmVmIGl0c2VsZj9cblxuXG4gIHZhciBlZmZlY3REZXBzID0gZGVwcyAhPT0gbnVsbCAmJiBkZXBzICE9PSB1bmRlZmluZWQgPyBkZXBzLmNvbmNhdChbcmVmXSkgOiBudWxsO1xuICB2YXIgZmliZXJGbGFncyA9IFVwZGF0ZSB8IExheW91dFN0YXRpYztcblxuICBpZiAoKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgZmliZXJGbGFncyB8PSBNb3VudExheW91dERldjtcbiAgfVxuXG4gIG1vdW50RWZmZWN0SW1wbChmaWJlckZsYWdzLCBMYXlvdXQsIGltcGVyYXRpdmVIYW5kbGVFZmZlY3QuYmluZChudWxsLCBjcmVhdGUsIHJlZiksIGVmZmVjdERlcHMpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNyZWF0ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ0V4cGVjdGVkIHVzZUltcGVyYXRpdmVIYW5kbGUoKSBzZWNvbmQgYXJndW1lbnQgdG8gYmUgYSBmdW5jdGlvbiAnICsgJ3RoYXQgY3JlYXRlcyBhIGhhbmRsZS4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY3JlYXRlICE9PSBudWxsID8gdHlwZW9mIGNyZWF0ZSA6ICdudWxsJyk7XG4gICAgfVxuICB9IC8vIFRPRE86IElmIGRlcHMgYXJlIHByb3ZpZGVkLCBzaG91bGQgd2Ugc2tpcCBjb21wYXJpbmcgdGhlIHJlZiBpdHNlbGY/XG5cblxuICB2YXIgZWZmZWN0RGVwcyA9IGRlcHMgIT09IG51bGwgJiYgZGVwcyAhPT0gdW5kZWZpbmVkID8gZGVwcy5jb25jYXQoW3JlZl0pIDogbnVsbDtcbiAgdXBkYXRlRWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgaW1wZXJhdGl2ZUhhbmRsZUVmZmVjdC5iaW5kKG51bGwsIGNyZWF0ZSwgcmVmKSwgZWZmZWN0RGVwcyk7XG59XG5cbmZ1bmN0aW9uIG1vdW50RGVidWdWYWx1ZSh2YWx1ZSwgZm9ybWF0dGVyRm4pIHsvLyBUaGlzIGhvb2sgaXMgbm9ybWFsbHkgYSBuby1vcC5cbiAgLy8gVGhlIHJlYWN0LWRlYnVnLWhvb2tzIHBhY2thZ2UgaW5qZWN0cyBpdHMgb3duIGltcGxlbWVudGF0aW9uXG4gIC8vIHNvIHRoYXQgZS5nLiBEZXZUb29scyBjYW4gZGlzcGxheSBjdXN0b20gaG9vayB2YWx1ZXMuXG59XG5cbnZhciB1cGRhdGVEZWJ1Z1ZhbHVlID0gbW91bnREZWJ1Z1ZhbHVlO1xuXG5mdW5jdGlvbiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IFtjYWxsYmFjaywgbmV4dERlcHNdO1xuICByZXR1cm4gY2FsbGJhY2s7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICB2YXIgcHJldlN0YXRlID0gaG9vay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChuZXh0RGVwcyAhPT0gbnVsbCkge1xuICAgIHZhciBwcmV2RGVwcyA9IHByZXZTdGF0ZVsxXTtcblxuICAgIGlmIChhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSkge1xuICAgICAgcmV0dXJuIHByZXZTdGF0ZVswXTtcbiAgICB9XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBbY2FsbGJhY2ssIG5leHREZXBzXTtcbiAgcmV0dXJuIGNhbGxiYWNrO1xufVxuXG5mdW5jdGlvbiBtb3VudE1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICB2YXIgbmV4dFZhbHVlID0gbmV4dENyZWF0ZSgpO1xuXG4gIGlmIChzaG91bGREb3VibGVJbnZva2VVc2VyRm5zSW5Ib29rc0RFVikge1xuICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKHRydWUpO1xuICAgIG5leHRDcmVhdGUoKTtcbiAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBbbmV4dFZhbHVlLCBuZXh0RGVwc107XG4gIHJldHVybiBuZXh0VmFsdWU7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgdmFyIHByZXZTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTsgLy8gQXNzdW1lIHRoZXNlIGFyZSBkZWZpbmVkLiBJZiB0aGV5J3JlIG5vdCwgYXJlSG9va0lucHV0c0VxdWFsIHdpbGwgd2Fybi5cblxuICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcbiAgICB2YXIgcHJldkRlcHMgPSBwcmV2U3RhdGVbMV07XG5cbiAgICBpZiAoYXJlSG9va0lucHV0c0VxdWFsKG5leHREZXBzLCBwcmV2RGVwcykpIHtcbiAgICAgIHJldHVybiBwcmV2U3RhdGVbMF07XG4gICAgfVxuICB9XG5cbiAgdmFyIG5leHRWYWx1ZSA9IG5leHRDcmVhdGUoKTtcblxuICBpZiAoc2hvdWxkRG91YmxlSW52b2tlVXNlckZuc0luSG9va3NERVYpIHtcbiAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcbiAgICBuZXh0Q3JlYXRlKCk7XG4gICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHMoZmFsc2UpO1xuICB9XG5cbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW25leHRWYWx1ZSwgbmV4dERlcHNdO1xuICByZXR1cm4gbmV4dFZhbHVlO1xufVxuXG5mdW5jdGlvbiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUsIGluaXRpYWxWYWx1ZSkge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHJldHVybiBtb3VudERlZmVycmVkVmFsdWVJbXBsKGhvb2ssIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgaW5pdGlhbFZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciByZXNvbHZlZEN1cnJlbnRIb29rID0gY3VycmVudEhvb2s7XG4gIHZhciBwcmV2VmFsdWUgPSByZXNvbHZlZEN1cnJlbnRIb29rLm1lbW9pemVkU3RhdGU7XG4gIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlSW1wbChob29rLCBwcmV2VmFsdWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gcmVyZW5kZXJEZWZlcnJlZFZhbHVlKHZhbHVlLCBpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcblxuICBpZiAoY3VycmVudEhvb2sgPT09IG51bGwpIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVyZW5kZXIgZHVyaW5nIGEgbW91bnQuXG4gICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgdmFsdWUpO1xuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgYSByZXJlbmRlciBkdXJpbmcgYW4gdXBkYXRlLlxuICAgIHZhciBwcmV2VmFsdWUgPSBjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlO1xuICAgIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlSW1wbChob29rLCBwcmV2VmFsdWUsIHZhbHVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VudERlZmVycmVkVmFsdWVJbXBsKGhvb2ssIHZhbHVlLCBpbml0aWFsVmFsdWUpIHtcbiAge1xuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVEZWZlcnJlZFZhbHVlSW1wbChob29rLCBwcmV2VmFsdWUsIHZhbHVlLCBpbml0aWFsVmFsdWUpIHtcbiAgaWYgKG9iamVjdElzKHZhbHVlLCBwcmV2VmFsdWUpKSB7XG4gICAgLy8gVGhlIGluY29taW5nIHZhbHVlIGlzIHJlZmVyZW50aWFsbHkgaWRlbnRpY2FsIHRvIHRoZSBjdXJyZW50bHkgcmVuZGVyZWRcbiAgICAvLyB2YWx1ZSwgc28gd2UgY2FuIGJhaWwgb3V0IHF1aWNrbHkuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9IGVsc2Uge1xuICAgIC8vIFJlY2VpdmVkIGEgbmV3IHZhbHVlIHRoYXQncyBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCB2YWx1ZS5cbiAgICAvLyBDaGVjayBpZiB3ZSdyZSBpbnNpZGUgYSBoaWRkZW4gdHJlZVxuICAgIGlmIChpc0N1cnJlbnRUcmVlSGlkZGVuKCkpIHtcbiAgICAgIC8vIFJldmVhbGluZyBhIHByZXJlbmRlcmVkIHRyZWUgaXMgY29uc2lkZXJlZCB0aGUgc2FtZSBhcyBtb3VudGluZyBuZXdcbiAgICAgIC8vIG9uZSwgc28gd2UgcmV1c2UgdGhlIFwibW91bnRcIiBwYXRoIGluIHRoaXMgY2FzZS5cbiAgICAgIHZhciByZXN1bHRWYWx1ZSA9IG1vdW50RGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgdmFsdWUpOyAvLyBVbmxpa2UgZHVyaW5nIGFuIGFjdHVhbCBtb3VudCwgd2UgbmVlZCB0byBtYXJrIHRoaXMgYXMgYW4gdXBkYXRlIGlmXG4gICAgICAvLyB0aGUgdmFsdWUgY2hhbmdlZC5cblxuICAgICAgaWYgKCFvYmplY3RJcyhyZXN1bHRWYWx1ZSwgcHJldlZhbHVlKSkge1xuICAgICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgdmFyIHNob3VsZERlZmVyVmFsdWUgPSAhaW5jbHVkZXNPbmx5Tm9uVXJnZW50TGFuZXMocmVuZGVyTGFuZXMpO1xuXG4gICAgaWYgKHNob3VsZERlZmVyVmFsdWUpIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gdXJnZW50IHVwZGF0ZS4gU2luY2UgdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLCBrZWVwIHVzaW5nIHRoZVxuICAgICAgLy8gcHJldmlvdXMgdmFsdWUgYW5kIHNwYXduIGEgZGVmZXJyZWQgcmVuZGVyIHRvIHVwZGF0ZSBpdCBsYXRlci5cbiAgICAgIC8vIFNjaGVkdWxlIGEgZGVmZXJyZWQgcmVuZGVyXG4gICAgICB2YXIgZGVmZXJyZWRMYW5lID0gcmVxdWVzdERlZmVycmVkTGFuZSgpO1xuICAgICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcyA9IG1lcmdlTGFuZXMoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcywgZGVmZXJyZWRMYW5lKTtcbiAgICAgIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMoZGVmZXJyZWRMYW5lKTsgLy8gUmV1c2UgdGhlIHByZXZpb3VzIHZhbHVlLiBXZSBkbyBub3QgbmVlZCB0byBtYXJrIHRoaXMgYXMgYW4gdXBkYXRlLFxuICAgICAgLy8gYmVjYXVzZSB3ZSBkaWQgbm90IHJlbmRlciBhIG5ldyB2YWx1ZS5cblxuICAgICAgcmV0dXJuIHByZXZWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBpcyBub3QgYW4gdXJnZW50IHVwZGF0ZSwgc28gd2UgY2FuIHVzZSB0aGUgbGF0ZXN0IHZhbHVlIHJlZ2FyZGxlc3NcbiAgICAgIC8vIG9mIHdoYXQgaXQgaXMuIE5vIG5lZWQgdG8gZGVmZXIgaXQuXG4gICAgICAvLyBNYXJrIHRoaXMgYXMgYW4gdXBkYXRlIHRvIHByZXZlbnQgdGhlIGZpYmVyIGZyb20gYmFpbGluZyBvdXQuXG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgICAgaG9vay5tZW1vaXplZFN0YXRlID0gdmFsdWU7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0VHJhbnNpdGlvbihmaWJlciwgcXVldWUsIHBlbmRpbmdTdGF0ZSwgZmluaXNoZWRTdGF0ZSwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIHByZXZpb3VzUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KGhpZ2hlckV2ZW50UHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSwgQ29udGludW91c0V2ZW50UHJpb3JpdHkpKTtcbiAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uO1xuICB2YXIgY3VycmVudFRyYW5zaXRpb24gPSB7XG4gICAgX2NhbGxiYWNrczogbmV3IFNldCgpXG4gIH07XG5cbiAge1xuICAgIC8vIFdlIGRvbid0IHJlYWxseSBuZWVkIHRvIHVzZSBhbiBvcHRpbWlzdGljIHVwZGF0ZSBoZXJlLCBiZWNhdXNlIHdlXG4gICAgLy8gc2NoZWR1bGUgYSBzZWNvbmQgXCJyZXZlcnRcIiB1cGRhdGUgYmVsb3cgKHdoaWNoIHdlIHVzZSB0byBzdXNwZW5kIHRoZVxuICAgIC8vIHRyYW5zaXRpb24gdW50aWwgdGhlIGFzeW5jIGFjdGlvbiBzY29wZSBoYXMgZmluaXNoZWQpLiBCdXQgd2UnbGwgdXNlIGFuXG4gICAgLy8gb3B0aW1pc3RpYyB1cGRhdGUgYW55d2F5IHRvIG1ha2UgaXQgbGVzcyBsaWtlbHkgdGhlIGJlaGF2aW9yIGFjY2lkZW50YWxseVxuICAgIC8vIGRpdmVyZ2VzOyBmb3IgZXhhbXBsZSwgYm90aCBhbiBvcHRpbWlzdGljIHVwZGF0ZSBhbmQgdGhpcyBvbmUgc2hvdWxkXG4gICAgLy8gc2hhcmUgdGhlIHNhbWUgbGFuZS5cbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBjdXJyZW50VHJhbnNpdGlvbjtcbiAgICBkaXNwYXRjaE9wdGltaXN0aWNTZXRTdGF0ZShmaWJlciwgZmFsc2UsIHF1ZXVlLCBwZW5kaW5nU3RhdGUpO1xuICB9XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycyA9IG5ldyBTZXQoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGVuYWJsZUFzeW5jQWN0aW9ucykge1xuICAgICAgdmFyIHJldHVyblZhbHVlID0gY2FsbGJhY2soKTsgLy8gQ2hlY2sgaWYgd2UncmUgaW5zaWRlIGFuIGFzeW5jIGFjdGlvbiBzY29wZS4gSWYgc28sIHdlJ2xsIGVudGFuZ2xlXG4gICAgICAvLyB0aGlzIG5ldyBhY3Rpb24gd2l0aCB0aGUgZXhpc3Rpbmcgc2NvcGUuXG4gICAgICAvL1xuICAgICAgLy8gSWYgd2UncmUgbm90IGFscmVhZHkgaW5zaWRlIGFuIGFzeW5jIGFjdGlvbiBzY29wZSwgYW5kIHRoaXMgYWN0aW9uIGlzXG4gICAgICAvLyBhc3luYywgdGhlbiB3ZSdsbCBjcmVhdGUgYSBuZXcgYXN5bmMgc2NvcGUuXG4gICAgICAvL1xuICAgICAgLy8gSW4gdGhlIGFzeW5jIGNhc2UsIHRoZSByZXN1bHRpbmcgcmVuZGVyIHdpbGwgc3VzcGVuZCB1bnRpbCB0aGUgYXN5bmNcbiAgICAgIC8vIGFjdGlvbiBzY29wZSBoYXMgZmluaXNoZWQuXG5cbiAgICAgIGlmIChyZXR1cm5WYWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgcmV0dXJuVmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiByZXR1cm5WYWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHZhciB0aGVuYWJsZSA9IHJldHVyblZhbHVlO1xuICAgICAgICBub3RpZnlUcmFuc2l0aW9uQ2FsbGJhY2tzKGN1cnJlbnRUcmFuc2l0aW9uLCB0aGVuYWJsZSk7IC8vIENyZWF0ZSBhIHRoZW5hYmxlIHRoYXQgcmVzb2x2ZXMgdG8gYGZpbmlzaGVkU3RhdGVgIG9uY2UgdGhlIGFzeW5jXG4gICAgICAgIC8vIGFjdGlvbiBoYXMgY29tcGxldGVkLlxuXG4gICAgICAgIHZhciB0aGVuYWJsZUZvckZpbmlzaGVkU3RhdGUgPSBjaGFpblRoZW5hYmxlVmFsdWUodGhlbmFibGUsIGZpbmlzaGVkU3RhdGUpO1xuICAgICAgICBkaXNwYXRjaFNldFN0YXRlKGZpYmVyLCBxdWV1ZSwgdGhlbmFibGVGb3JGaW5pc2hlZFN0YXRlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpc3BhdGNoU2V0U3RhdGUoZmliZXIsIHF1ZXVlLCBmaW5pc2hlZFN0YXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAge1xuICAgICAgLy8gVGhpcyBpcyBhIHRyaWNrIHRvIGdldCB0aGUgYHVzZVRyYW5zaXRpb25gIGhvb2sgdG8gcmV0aHJvdyB0aGUgZXJyb3IuXG4gICAgICAvLyBXaGVuIGl0IHVud3JhcHMgdGhlIHRoZW5hYmxlIHdpdGggdGhlIGB1c2VgIGFsZ29yaXRobSwgdGhlIGVycm9yXG4gICAgICAvLyB3aWxsIGJlIHRocm93bi5cbiAgICAgIHZhciByZWplY3RlZFRoZW5hYmxlID0ge1xuICAgICAgICB0aGVuOiBmdW5jdGlvbiAoKSB7fSxcbiAgICAgICAgc3RhdHVzOiAncmVqZWN0ZWQnLFxuICAgICAgICByZWFzb246IGVycm9yXG4gICAgICB9O1xuICAgICAgZGlzcGF0Y2hTZXRTdGF0ZShmaWJlciwgcXVldWUsIHJlamVjdGVkVGhlbmFibGUpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG5cbiAgICB7XG4gICAgICBpZiAocHJldlRyYW5zaXRpb24gPT09IG51bGwgJiYgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMpIHtcbiAgICAgICAgdmFyIHVwZGF0ZWRGaWJlcnNDb3VudCA9IGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLnNpemU7XG5cbiAgICAgICAgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMuY2xlYXIoKTtcblxuICAgICAgICBpZiAodXBkYXRlZEZpYmVyc0NvdW50ID4gMTApIHtcbiAgICAgICAgICB3YXJuKCdEZXRlY3RlZCBhIGxhcmdlIG51bWJlciBvZiB1cGRhdGVzIGluc2lkZSBzdGFydFRyYW5zaXRpb24uICcgKyAnSWYgdGhpcyBpcyBkdWUgdG8gYSBzdWJzY3JpcHRpb24gcGxlYXNlIHJlLXdyaXRlIGl0IHRvIHVzZSBSZWFjdCBwcm92aWRlZCBob29rcy4gJyArICdPdGhlcndpc2UgY29uY3VycmVudCBtb2RlIGd1YXJhbnRlZXMgYXJlIG9mZiB0aGUgdGFibGUuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RhcnRIb3N0VHJhbnNpdGlvbihmb3JtRmliZXIsIHBlbmRpbmdTdGF0ZSwgY2FsbGJhY2ssIGZvcm1EYXRhKSB7XG5cbiAgaWYgKGZvcm1GaWJlci50YWcgIT09IEhvc3RDb21wb25lbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRoZSBmb3JtIGluc3RhbmNlIHRvIGJlIGEgSG9zdENvbXBvbmVudC4gVGhpcyAnICsgJ2lzIGEgYnVnIGluIFJlYWN0LicpO1xuICB9XG5cbiAgdmFyIHF1ZXVlO1xuXG4gIGlmIChmb3JtRmliZXIubWVtb2l6ZWRTdGF0ZSA9PT0gbnVsbCkge1xuICAgIC8vIFVwZ3JhZGUgdGhpcyBob3N0IGNvbXBvbmVudCBmaWJlciB0byBiZSBzdGF0ZWZ1bC4gV2UncmUgZ29pbmcgdG8gcHJldGVuZFxuICAgIC8vIGl0IHdhcyBzdGF0ZWZ1bCBhbGwgYWxvbmcgc28gd2UgY2FuIHJldXNlIG1vc3Qgb2YgdGhlIGltcGxlbWVudGF0aW9uXG4gICAgLy8gZm9yIGZ1bmN0aW9uIGNvbXBvbmVudHMgYW5kIHVzZVRyYW5zaXRpb24uXG4gICAgLy9cbiAgICAvLyBDcmVhdGUgdGhlIHN0YXRlIGhvb2sgdXNlZCBieSBUcmFuc2l0aW9uQXdhcmVIb3N0Q29tcG9uZW50LiBUaGlzIGlzXG4gICAgLy8gZXNzZW50aWFsbHkgYW4gaW5saW5lZCB2ZXJzaW9uIG9mIG1vdW50U3RhdGUuXG4gICAgdmFyIG5ld1F1ZXVlID0ge1xuICAgICAgcGVuZGluZzogbnVsbCxcbiAgICAgIGxhbmVzOiBOb0xhbmVzLFxuICAgICAgLy8gV2UncmUgZ29pbmcgdG8gY2hlYXQgYW5kIGludGVudGlvbmFsbHkgbm90IGNyZWF0ZSBhIGJvdW5kIGRpc3BhdGNoXG4gICAgICAvLyBtZXRob2QsIGJlY2F1c2Ugd2UgY2FuIGNhbGwgaXQgZGlyZWN0bHkgaW4gc3RhcnRUcmFuc2l0aW9uLlxuICAgICAgZGlzcGF0Y2g6IG51bGwsXG4gICAgICBsYXN0UmVuZGVyZWRSZWR1Y2VyOiBiYXNpY1N0YXRlUmVkdWNlcixcbiAgICAgIGxhc3RSZW5kZXJlZFN0YXRlOiBOb3RQZW5kaW5nVHJhbnNpdGlvblxuICAgIH07XG4gICAgcXVldWUgPSBuZXdRdWV1ZTtcbiAgICB2YXIgc3RhdGVIb29rID0ge1xuICAgICAgbWVtb2l6ZWRTdGF0ZTogTm90UGVuZGluZ1RyYW5zaXRpb24sXG4gICAgICBiYXNlU3RhdGU6IE5vdFBlbmRpbmdUcmFuc2l0aW9uLFxuICAgICAgYmFzZVF1ZXVlOiBudWxsLFxuICAgICAgcXVldWU6IG5ld1F1ZXVlLFxuICAgICAgbmV4dDogbnVsbFxuICAgIH07IC8vIEFkZCB0aGUgc3RhdGUgaG9vayB0byBib3RoIGZpYmVyIGFsdGVybmF0ZXMuIFRoZSBpZGVhIGlzIHRoYXQgdGhlIGZpYmVyXG4gICAgLy8gaGFkIHRoaXMgaG9vayBhbGwgYWxvbmcuXG5cbiAgICBmb3JtRmliZXIubWVtb2l6ZWRTdGF0ZSA9IHN0YXRlSG9vaztcbiAgICB2YXIgYWx0ZXJuYXRlID0gZm9ybUZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChhbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgIGFsdGVybmF0ZS5tZW1vaXplZFN0YXRlID0gc3RhdGVIb29rO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGZpYmVyIHdhcyBhbHJlYWR5IHVwZ3JhZGVkIHRvIGJlIHN0YXRlZnVsLlxuICAgIHZhciBfc3RhdGVIb29rID0gZm9ybUZpYmVyLm1lbW9pemVkU3RhdGU7XG4gICAgcXVldWUgPSBfc3RhdGVIb29rLnF1ZXVlO1xuICB9XG5cbiAgc3RhcnRUcmFuc2l0aW9uKGZvcm1GaWJlciwgcXVldWUsIHBlbmRpbmdTdGF0ZSwgTm90UGVuZGluZ1RyYW5zaXRpb24sIC8vIFRPRE86IFdlIGNhbiBhdm9pZCB0aGlzIGV4dHJhIHdyYXBwZXIsIHNvbWVob3cuIEZpZ3VyZSBvdXQgbGF5ZXJpbmdcbiAgLy8gb25jZSBtb3JlIG9mIHRoaXMgZnVuY3Rpb24gaXMgaW1wbGVtZW50ZWQuXG4gIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gY2FsbGJhY2soZm9ybURhdGEpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gbW91bnRUcmFuc2l0aW9uKCkge1xuICB2YXIgc3RhdGVIb29rID0gbW91bnRTdGF0ZUltcGwoZmFsc2UpOyAvLyBUaGUgYHN0YXJ0YCBtZXRob2QgbmV2ZXIgY2hhbmdlcy5cblxuICB2YXIgc3RhcnQgPSBzdGFydFRyYW5zaXRpb24uYmluZChudWxsLCBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLCBzdGF0ZUhvb2sucXVldWUsIHRydWUsIGZhbHNlKTtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBzdGFydDtcbiAgcmV0dXJuIFtmYWxzZSwgc3RhcnRdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVUcmFuc2l0aW9uKCkge1xuICB2YXIgX3VwZGF0ZVN0YXRlID0gdXBkYXRlU3RhdGUoKSxcbiAgICAgIGJvb2xlYW5PclRoZW5hYmxlID0gX3VwZGF0ZVN0YXRlWzBdO1xuXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBzdGFydCA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIGlzUGVuZGluZyA9IHR5cGVvZiBib29sZWFuT3JUaGVuYWJsZSA9PT0gJ2Jvb2xlYW4nID8gYm9vbGVhbk9yVGhlbmFibGUgOiAvLyBUaGlzIHdpbGwgc3VzcGVuZCB1bnRpbCB0aGUgYXN5bmMgYWN0aW9uIHNjb3BlIGhhcyBmaW5pc2hlZC5cbiAgdXNlVGhlbmFibGUoYm9vbGVhbk9yVGhlbmFibGUpO1xuICByZXR1cm4gW2lzUGVuZGluZywgc3RhcnRdO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclRyYW5zaXRpb24oKSB7XG4gIHZhciBfcmVyZW5kZXJTdGF0ZSA9IHJlcmVuZGVyU3RhdGUoKSxcbiAgICAgIGJvb2xlYW5PclRoZW5hYmxlID0gX3JlcmVuZGVyU3RhdGVbMF07XG5cbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHN0YXJ0ID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICB2YXIgaXNQZW5kaW5nID0gdHlwZW9mIGJvb2xlYW5PclRoZW5hYmxlID09PSAnYm9vbGVhbicgPyBib29sZWFuT3JUaGVuYWJsZSA6IC8vIFRoaXMgd2lsbCBzdXNwZW5kIHVudGlsIHRoZSBhc3luYyBhY3Rpb24gc2NvcGUgaGFzIGZpbmlzaGVkLlxuICB1c2VUaGVuYWJsZShib29sZWFuT3JUaGVuYWJsZSk7XG4gIHJldHVybiBbaXNQZW5kaW5nLCBzdGFydF07XG59XG5cbmZ1bmN0aW9uIHVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzKCkge1xuXG4gIHZhciBzdGF0dXMgPSByZWFkQ29udGV4dChIb3N0VHJhbnNpdGlvbkNvbnRleHQpO1xuICByZXR1cm4gc3RhdHVzICE9PSBudWxsID8gc3RhdHVzIDogTm90UGVuZGluZ1RyYW5zaXRpb247XG59XG5cbmZ1bmN0aW9uIG1vdW50SWQoKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTsgLy8gVE9ETzogSW4gRml6eiwgaWQgZ2VuZXJhdGlvbiBpcyBzcGVjaWZpYyB0byBlYWNoIHNlcnZlciBjb25maWcuIE1heWJlIHdlXG4gIC8vIHNob3VsZCBkbyB0aGlzIGluIEZpYmVyLCB0b28/IERlZmVycmluZyB0aGlzIGRlY2lzaW9uIGZvciBub3cgYmVjYXVzZVxuICAvLyB0aGVyZSdzIG5vIG90aGVyIHBsYWNlIHRvIHN0b3JlIHRoZSBwcmVmaXggZXhjZXB0IGZvciBhbiBpbnRlcm5hbCBmaWVsZCBvblxuICAvLyB0aGUgcHVibGljIGNyZWF0ZVJvb3Qgb2JqZWN0LCB3aGljaCB0aGUgZmliZXIgdHJlZSBkb2VzIG5vdCBjdXJyZW50bHkgaGF2ZVxuICAvLyBhIHJlZmVyZW5jZSB0by5cblxuICB2YXIgaWRlbnRpZmllclByZWZpeCA9IHJvb3QuaWRlbnRpZmllclByZWZpeDtcbiAgdmFyIGlkO1xuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgdmFyIHRyZWVJZCA9IGdldFRyZWVJZCgpOyAvLyBVc2UgYSBjYXB0aWFsIFIgcHJlZml4IGZvciBzZXJ2ZXItZ2VuZXJhdGVkIGlkcy5cblxuICAgIGlkID0gJzonICsgaWRlbnRpZmllclByZWZpeCArICdSJyArIHRyZWVJZDsgLy8gVW5sZXNzIHRoaXMgaXMgdGhlIGZpcnN0IGlkIGF0IHRoaXMgbGV2ZWwsIGFwcGVuZCBhIG51bWJlciBhdCB0aGUgZW5kXG4gICAgLy8gdGhhdCByZXByZXNlbnRzIHRoZSBwb3NpdGlvbiBvZiB0aGlzIHVzZUlkIGhvb2sgYW1vbmcgYWxsIHRoZSB1c2VJZFxuICAgIC8vIGhvb2tzIGZvciB0aGlzIGZpYmVyLlxuXG4gICAgdmFyIGxvY2FsSWQgPSBsb2NhbElkQ291bnRlcisrO1xuXG4gICAgaWYgKGxvY2FsSWQgPiAwKSB7XG4gICAgICBpZCArPSAnSCcgKyBsb2NhbElkLnRvU3RyaW5nKDMyKTtcbiAgICB9XG5cbiAgICBpZCArPSAnOic7XG4gIH0gZWxzZSB7XG4gICAgLy8gVXNlIGEgbG93ZXJjYXNlIHIgcHJlZml4IGZvciBjbGllbnQtZ2VuZXJhdGVkIGlkcy5cbiAgICB2YXIgZ2xvYmFsQ2xpZW50SWQgPSBnbG9iYWxDbGllbnRJZENvdW50ZXIrKztcbiAgICBpZCA9ICc6JyArIGlkZW50aWZpZXJQcmVmaXggKyAncicgKyBnbG9iYWxDbGllbnRJZC50b1N0cmluZygzMikgKyAnOic7XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBpZDtcbiAgcmV0dXJuIGlkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJZCgpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGlkID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gaWQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVmcmVzaCgpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgcmVmcmVzaCA9IGhvb2subWVtb2l6ZWRTdGF0ZSA9IHJlZnJlc2hDYWNoZS5iaW5kKG51bGwsIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEpO1xuICByZXR1cm4gcmVmcmVzaDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUmVmcmVzaCgpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgcmV0dXJuIGhvb2subWVtb2l6ZWRTdGF0ZTtcbn1cblxuZnVuY3Rpb24gcmVmcmVzaENhY2hlKGZpYmVyLCBzZWVkS2V5LCBzZWVkVmFsdWUpIHtcbiAgLy8gVE9ETzogQ29uc2lkZXIgd2FybmluZyBpZiB0aGUgcmVmcmVzaCBpcyBhdCBkaXNjcmV0ZSBwcmlvcml0eSwgb3IgaWYgd2VcbiAgLy8gb3RoZXJ3aXNlIHN1c3BlY3QgdGhhdCBpdCB3YXNuJ3QgYmF0Y2hlZCBwcm9wZXJseS5cblxuXG4gIHZhciBwcm92aWRlciA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocHJvdmlkZXIgIT09IG51bGwpIHtcbiAgICBzd2l0Y2ggKHByb3ZpZGVyLnRhZykge1xuICAgICAgY2FzZSBDYWNoZUNvbXBvbmVudDpcbiAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBTY2hlZHVsZSBhbiB1cGRhdGUgb24gdGhlIGNhY2hlIGJvdW5kYXJ5IHRvIHRyaWdnZXIgYSByZWZyZXNoLlxuICAgICAgICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUocHJvdmlkZXIpO1xuICAgICAgICAgIHZhciByZWZyZXNoVXBkYXRlID0gY3JlYXRlVXBkYXRlKGxhbmUpO1xuICAgICAgICAgIHZhciByb290ID0gZW5xdWV1ZVVwZGF0ZShwcm92aWRlciwgcmVmcmVzaFVwZGF0ZSwgbGFuZSk7XG5cbiAgICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIHByb3ZpZGVyLCBsYW5lKTtcbiAgICAgICAgICAgIGVudGFuZ2xlVHJhbnNpdGlvbnMocm9vdCwgcHJvdmlkZXIsIGxhbmUpO1xuICAgICAgICAgIH0gLy8gVE9ETzogSWYgYSByZWZyZXNoIG5ldmVyIGNvbW1pdHMsIHRoZSBuZXcgY2FjaGUgY3JlYXRlZCBoZXJlIG11c3QgYmVcbiAgICAgICAgICAvLyByZWxlYXNlZC4gQSBzaW1wbGUgY2FzZSBpcyBzdGFydCByZWZyZXNoaW5nIGEgY2FjaGUgYm91bmRhcnksIGJ1dCB0aGVuXG4gICAgICAgICAgLy8gdW5tb3VudCB0aGF0IGJvdW5kYXJ5IGJlZm9yZSB0aGUgcmVmcmVzaCBjb21wbGV0ZXMuXG5cblxuICAgICAgICAgIHZhciBzZWVkZWRDYWNoZSA9IGNyZWF0ZUNhY2hlKCk7XG5cbiAgICAgICAgICBpZiAoc2VlZEtleSAhPT0gbnVsbCAmJiBzZWVkS2V5ICE9PSB1bmRlZmluZWQgJiYgcm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXJyb3IoJ1RoZSBzZWVkIGFyZ3VtZW50IGlzIG5vdCBlbmFibGVkIG91dHNpZGUgZXhwZXJpbWVudGFsIGNoYW5uZWxzLicpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIHBheWxvYWQgPSB7XG4gICAgICAgICAgICBjYWNoZTogc2VlZGVkQ2FjaGVcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJlZnJlc2hVcGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdmlkZXIgPSBwcm92aWRlci5yZXR1cm47XG4gIH0gLy8gVE9ETzogV2FybiBpZiB1bm1vdW50ZWQ/XG5cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hSZWR1Y2VyQWN0aW9uKGZpYmVyLCBxdWV1ZSwgYWN0aW9uKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1szXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoXCJTdGF0ZSB1cGRhdGVzIGZyb20gdGhlIHVzZVN0YXRlKCkgYW5kIHVzZVJlZHVjZXIoKSBIb29rcyBkb24ndCBzdXBwb3J0IHRoZSBcIiArICdzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuIFRvIGV4ZWN1dGUgYSBzaWRlIGVmZmVjdCBhZnRlciAnICsgJ3JlbmRlcmluZywgZGVjbGFyZSBpdCBpbiB0aGUgY29tcG9uZW50IGJvZHkgd2l0aCB1c2VFZmZlY3QoKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgbGFuZSA9IHJlcXVlc3RVcGRhdGVMYW5lKGZpYmVyKTtcbiAgdmFyIHVwZGF0ZSA9IHtcbiAgICBsYW5lOiBsYW5lLFxuICAgIHJldmVydExhbmU6IE5vTGFuZSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICBlbnF1ZXVlUmVuZGVyUGhhc2VVcGRhdGUocXVldWUsIHVwZGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuXG4gICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgbGFuZSk7XG4gICAgICBlbnRhbmdsZVRyYW5zaXRpb25VcGRhdGUocm9vdCwgcXVldWUsIGxhbmUpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtVcGRhdGVJbkRldlRvb2xzKGZpYmVyLCBsYW5lKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hTZXRTdGF0ZShmaWJlciwgcXVldWUsIGFjdGlvbikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXCIgKyAnc2Vjb25kIGNhbGxiYWNrIGFyZ3VtZW50LiBUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgJyArICdyZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gdGhlIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgbGFuZTogbGFuZSxcbiAgICByZXZlcnRMYW5lOiBOb0xhbmUsXG4gICAgYWN0aW9uOiBhY3Rpb24sXG4gICAgaGFzRWFnZXJTdGF0ZTogZmFsc2UsXG4gICAgZWFnZXJTdGF0ZTogbnVsbCxcbiAgICBuZXh0OiBudWxsXG4gIH07XG5cbiAgaWYgKGlzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpKSB7XG4gICAgZW5xdWV1ZVJlbmRlclBoYXNlVXBkYXRlKHF1ZXVlLCB1cGRhdGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICBpZiAoZmliZXIubGFuZXMgPT09IE5vTGFuZXMgJiYgKGFsdGVybmF0ZSA9PT0gbnVsbCB8fCBhbHRlcm5hdGUubGFuZXMgPT09IE5vTGFuZXMpKSB7XG4gICAgICAvLyBUaGUgcXVldWUgaXMgY3VycmVudGx5IGVtcHR5LCB3aGljaCBtZWFucyB3ZSBjYW4gZWFnZXJseSBjb21wdXRlIHRoZVxuICAgICAgLy8gbmV4dCBzdGF0ZSBiZWZvcmUgZW50ZXJpbmcgdGhlIHJlbmRlciBwaGFzZS4gSWYgdGhlIG5ldyBzdGF0ZSBpcyB0aGVcbiAgICAgIC8vIHNhbWUgYXMgdGhlIGN1cnJlbnQgc3RhdGUsIHdlIG1heSBiZSBhYmxlIHRvIGJhaWwgb3V0IGVudGlyZWx5LlxuICAgICAgdmFyIGxhc3RSZW5kZXJlZFJlZHVjZXIgPSBxdWV1ZS5sYXN0UmVuZGVyZWRSZWR1Y2VyO1xuXG4gICAgICBpZiAobGFzdFJlbmRlcmVkUmVkdWNlciAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgcHJldkRpc3BhdGNoZXI7XG5cbiAgICAgICAge1xuICAgICAgICAgIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFyIGN1cnJlbnRTdGF0ZSA9IHF1ZXVlLmxhc3RSZW5kZXJlZFN0YXRlO1xuICAgICAgICAgIHZhciBlYWdlclN0YXRlID0gbGFzdFJlbmRlcmVkUmVkdWNlcihjdXJyZW50U3RhdGUsIGFjdGlvbik7IC8vIFN0YXNoIHRoZSBlYWdlcmx5IGNvbXB1dGVkIHN0YXRlLCBhbmQgdGhlIHJlZHVjZXIgdXNlZCB0byBjb21wdXRlXG4gICAgICAgICAgLy8gaXQsIG9uIHRoZSB1cGRhdGUgb2JqZWN0LiBJZiB0aGUgcmVkdWNlciBoYXNuJ3QgY2hhbmdlZCBieSB0aGVcbiAgICAgICAgICAvLyB0aW1lIHdlIGVudGVyIHRoZSByZW5kZXIgcGhhc2UsIHRoZW4gdGhlIGVhZ2VyIHN0YXRlIGNhbiBiZSB1c2VkXG4gICAgICAgICAgLy8gd2l0aG91dCBjYWxsaW5nIHRoZSByZWR1Y2VyIGFnYWluLlxuXG4gICAgICAgICAgdXBkYXRlLmhhc0VhZ2VyU3RhdGUgPSB0cnVlO1xuICAgICAgICAgIHVwZGF0ZS5lYWdlclN0YXRlID0gZWFnZXJTdGF0ZTtcblxuICAgICAgICAgIGlmIChvYmplY3RJcyhlYWdlclN0YXRlLCBjdXJyZW50U3RhdGUpKSB7XG4gICAgICAgICAgICAvLyBGYXN0IHBhdGguIFdlIGNhbiBiYWlsIG91dCB3aXRob3V0IHNjaGVkdWxpbmcgUmVhY3QgdG8gcmUtcmVuZGVyLlxuICAgICAgICAgICAgLy8gSXQncyBzdGlsbCBwb3NzaWJsZSB0aGF0IHdlJ2xsIG5lZWQgdG8gcmViYXNlIHRoaXMgdXBkYXRlIGxhdGVyLFxuICAgICAgICAgICAgLy8gaWYgdGhlIGNvbXBvbmVudCByZS1yZW5kZXJzIGZvciBhIGRpZmZlcmVudCByZWFzb24gYW5kIGJ5IHRoYXRcbiAgICAgICAgICAgIC8vIHRpbWUgdGhlIHJlZHVjZXIgaGFzIGNoYW5nZWQuXG4gICAgICAgICAgICAvLyBUT0RPOiBEbyB3ZSBzdGlsbCBuZWVkIHRvIGVudGFuZ2xlIHRyYW5zaXRpb25zIGluIHRoaXMgY2FzZT9cbiAgICAgICAgICAgIGVucXVldWVDb25jdXJyZW50SG9va1VwZGF0ZUFuZEVhZ2VybHlCYWlsb3V0KGZpYmVyLCBxdWV1ZSwgdXBkYXRlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7Ly8gU3VwcHJlc3MgdGhlIGVycm9yLiBJdCB3aWxsIHRocm93IGFnYWluIGluIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50SG9va1VwZGF0ZShmaWJlciwgcXVldWUsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICAgIGVudGFuZ2xlVHJhbnNpdGlvblVwZGF0ZShyb290LCBxdWV1ZSwgbGFuZSk7XG4gICAgfVxuICB9XG5cbiAgbWFya1VwZGF0ZUluRGV2VG9vbHMoZmliZXIsIGxhbmUpO1xufVxuXG5mdW5jdGlvbiBkaXNwYXRjaE9wdGltaXN0aWNTZXRTdGF0ZShmaWJlciwgdGhyb3dJZkR1cmluZ1JlbmRlciwgcXVldWUsIGFjdGlvbikge1xuICB2YXIgdHJhbnNpdGlvbiA9IHJlcXVlc3RDdXJyZW50VHJhbnNpdGlvbigpO1xuXG4gIHtcbiAgICBpZiAodHJhbnNpdGlvbiA9PT0gbnVsbCkge1xuICAgICAgLy8gQW4gb3B0aW1pc3RpYyB1cGRhdGUgb2NjdXJyZWQsIGJ1dCBzdGFydFRyYW5zaXRpb24gaXMgbm90IG9uIHRoZSBzdGFjay5cbiAgICAgIC8vIFRoZXJlIGFyZSB0d28gbGlrZWx5IHNjZW5hcmlvcy5cbiAgICAgIC8vIE9uZSBwb3NzaWJpbGl0eSBpcyB0aGF0IHRoZSBvcHRpbWlzdGljIHVwZGF0ZSBpcyB0cmlnZ2VyZWQgYnkgYSByZWd1bGFyXG4gICAgICAvLyBldmVudCBoYW5kbGVyIChlLmcuIGBvblN1Ym1pdGApIGluc3RlYWQgb2YgYW4gYWN0aW9uLiBUaGlzIGlzIGEgbWlzdGFrZVxuICAgICAgLy8gYW5kIHdlIHdpbGwgd2Fybi5cbiAgICAgIC8vIFRoZSBvdGhlciBwb3NzaWJpbGl0eSBpcyB0aGUgb3B0aW1pc3RpYyB1cGRhdGUgaXMgaW5zaWRlIGFuIGFzeW5jXG4gICAgICAvLyBhY3Rpb24sIGJ1dCBhZnRlciBhbiBgYXdhaXRgLiBJbiB0aGlzIGNhc2UsIHdlIGNhbiBtYWtlIGl0IFwianVzdCB3b3JrXCJcbiAgICAgIC8vIGJ5IGFzc29jaWF0aW5nIHRoZSBvcHRpbWlzdGljIHVwZGF0ZSB3aXRoIHRoZSBwZW5kaW5nIGFzeW5jIGFjdGlvbi5cbiAgICAgIC8vIFRlY2huaWNhbGx5IGl0J3MgcG9zc2libGUgdGhhdCB0aGUgb3B0aW1pc3RpYyB1cGRhdGUgaXMgdW5yZWxhdGVkIHRvXG4gICAgICAvLyB0aGUgcGVuZGluZyBhY3Rpb24sIGJ1dCB3ZSBkb24ndCBoYXZlIGEgd2F5IG9mIGtub3dpbmcgdGhpcyBmb3Igc3VyZVxuICAgICAgLy8gYmVjYXVzZSBicm93c2VycyBjdXJyZW50bHkgZG8gbm90IHByb3ZpZGUgYSB3YXkgdG8gdHJhY2sgYXN5bmMgc2NvcGUuXG4gICAgICAvLyAoVGhlIEFzeW5jQ29udGV4dCBwcm9wb3NhbCwgaWYgaXQgbGFuZHMsIHdpbGwgc29sdmUgdGhpcyBpbiB0aGVcbiAgICAgIC8vIGZ1dHVyZS4pIEhvd2V2ZXIsIHRoaXMgaXMgbm8gZGlmZmVyZW50IHRoYW4gdGhlIHByb2JsZW0gb2YgdW5yZWxhdGVkXG4gICAgICAvLyB0cmFuc2l0aW9ucyBiZWluZyBncm91cGVkIHRvZ2V0aGVyIOKAlCBpdCdzIG5vdCB3cm9uZyBwZXIgc2UsIGJ1dCBpdCdzXG4gICAgICAvLyBub3QgaWRlYWwuXG4gICAgICAvLyBPbmNlIEFzeW5jQ29udGV4dCBzdGFydHMgbGFuZGluZyBpbiBicm93c2Vycywgd2Ugd2lsbCBwcm92aWRlIGJldHRlclxuICAgICAgLy8gd2FybmluZ3MgaW4gZGV2ZWxvcG1lbnQgZm9yIHRoZXNlIGNhc2VzLlxuICAgICAgaWYgKHBlZWtFbnRhbmdsZWRBY3Rpb25MYW5lKCkgIT09IE5vTGFuZSkgOyBlbHNlIHtcbiAgICAgICAgLy8gVGhlcmUncyBubyBwZW5kaW5nIGFzeW5jIGFjdGlvbi4gVGhlIG1vc3QgbGlrZWx5IGNhdXNlIGlzIHRoYXQgd2UncmVcbiAgICAgICAgLy8gaW5zaWRlIGEgcmVndWxhciBldmVudCBoYW5kbGVyIChlLmcuIG9uU3VibWl0KSBpbnN0ZWFkIG9mIGFuIGFjdGlvbi5cbiAgICAgICAgZXJyb3IoJ0FuIG9wdGltaXN0aWMgc3RhdGUgdXBkYXRlIG9jY3VycmVkIG91dHNpZGUgYSB0cmFuc2l0aW9uIG9yICcgKyAnYWN0aW9uLiBUbyBmaXgsIG1vdmUgdGhlIHVwZGF0ZSB0byBhbiBhY3Rpb24sIG9yIHdyYXAgJyArICd3aXRoIHN0YXJ0VHJhbnNpdGlvbi4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlID0ge1xuICAgIC8vIEFuIG9wdGltaXN0aWMgdXBkYXRlIGNvbW1pdHMgc3luY2hyb25vdXNseS5cbiAgICBsYW5lOiBTeW5jTGFuZSxcbiAgICAvLyBBZnRlciBjb21taXR0aW5nLCB0aGUgb3B0aW1pc3RpYyB1cGRhdGUgaXMgXCJyZXZlcnRlZFwiIHVzaW5nIHRoZSBzYW1lXG4gICAgLy8gbGFuZSBhcyB0aGUgdHJhbnNpdGlvbiBpdCdzIGFzc29jaWF0ZWQgd2l0aC5cbiAgICByZXZlcnRMYW5lOiByZXF1ZXN0VHJhbnNpdGlvbkxhbmUoKSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICAvLyBXaGVuIGNhbGxpbmcgc3RhcnRUcmFuc2l0aW9uIGR1cmluZyByZW5kZXIsIHRoaXMgd2FybnMgaW5zdGVhZCBvZlxuICAgIC8vIHRocm93aW5nIGJlY2F1c2UgdGhyb3dpbmcgd291bGQgYmUgYSBicmVha2luZyBjaGFuZ2UuIHNldE9wdGltaXN0aWNTdGF0ZVxuICAgIC8vIGlzIGEgbmV3IEFQSSBzbyBpdCdzIE9LIHRvIHRocm93LlxuICAgIGlmICh0aHJvd0lmRHVyaW5nUmVuZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1cGRhdGUgb3B0aW1pc3RpYyBzdGF0ZSB3aGlsZSByZW5kZXJpbmcuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHN0YXJ0VHJhbnNpdGlvbiB3YXMgY2FsbGVkIGR1cmluZyByZW5kZXIuIFdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmdcbiAgICAgIC8vIGJlc2lkZXMgd2FybiBoZXJlIGJlY2F1c2UgdGhlIHJlbmRlciBwaGFzZSB1cGRhdGUgd291bGQgYmUgb3ZlcmlkZGVuIGJ5XG4gICAgICAvLyB0aGUgc2Vjb25kIHVwZGF0ZSwgYW55d2F5LiBXZSBjYW4gcmVtb3ZlIHRoaXMgYnJhbmNoIGFuZCBtYWtlIGl0IHRocm93XG4gICAgICAvLyBpbiBhIGZ1dHVyZSByZWxlYXNlLlxuICAgICAge1xuICAgICAgICBlcnJvcignQ2Fubm90IGNhbGwgc3RhcnRUcmFuc2l0aW9uIHdoaWxlIHJlbmRlcmluZy4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIFN5bmNMYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICAvLyBOT1RFOiBUaGUgb3B0aW1pc3RpYyB1cGRhdGUgaW1wbGVtZW50YXRpb24gYXNzdW1lcyB0aGF0IHRoZSB0cmFuc2l0aW9uXG4gICAgICAvLyB3aWxsIG5ldmVyIGJlIGF0dGVtcHRlZCBiZWZvcmUgdGhlIG9wdGltaXN0aWMgdXBkYXRlLiBUaGlzIGN1cnJlbnRseVxuICAgICAgLy8gaG9sZHMgYmVjYXVzZSB0aGUgb3B0aW1pc3RpYyB1cGRhdGUgaXMgYWx3YXlzIHN5bmNocm9ub3VzLiBJZiB3ZSBldmVyXG4gICAgICAvLyBjaGFuZ2UgdGhhdCwgd2UnbGwgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzLlxuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSk7IC8vIE9wdGltaXN0aWMgdXBkYXRlcyBhcmUgYWx3YXlzIHN5bmNocm9ub3VzLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGNhbGxcbiAgICAgIC8vIGVudGFuZ2xlVHJhbnNpdGlvblVwZGF0ZSBoZXJlLlxuICAgIH1cbiAgfVxuXG4gIG1hcmtVcGRhdGVJbkRldlRvb2xzKGZpYmVyLCBTeW5jTGFuZSk7XG59XG5cbmZ1bmN0aW9uIGlzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcbiAgcmV0dXJuIGZpYmVyID09PSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUgPT09IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDE7XG59XG5cbmZ1bmN0aW9uIGVucXVldWVSZW5kZXJQaGFzZVVwZGF0ZShxdWV1ZSwgdXBkYXRlKSB7XG4gIC8vIFRoaXMgaXMgYSByZW5kZXIgcGhhc2UgdXBkYXRlLiBTdGFzaCBpdCBpbiBhIGxhemlseS1jcmVhdGVkIG1hcCBvZlxuICAvLyBxdWV1ZSAtPiBsaW5rZWQgbGlzdCBvZiB1cGRhdGVzLiBBZnRlciB0aGlzIHJlbmRlciBwYXNzLCB3ZSdsbCByZXN0YXJ0XG4gIC8vIGFuZCBhcHBseSB0aGUgc3Rhc2hlZCB1cGRhdGVzIG9uIHRvcCBvZiB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MgPSBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gdHJ1ZTtcbiAgdmFyIHBlbmRpbmcgPSBxdWV1ZS5wZW5kaW5nO1xuXG4gIGlmIChwZW5kaW5nID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcbiAgfVxuXG4gIHF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XG59IC8vIFRPRE86IE1vdmUgdG8gUmVhY3RGaWJlckNvbmN1cnJlbnRVcGRhdGVzP1xuXG5cbmZ1bmN0aW9uIGVudGFuZ2xlVHJhbnNpdGlvblVwZGF0ZShyb290LCBxdWV1ZSwgbGFuZSkge1xuICBpZiAoaXNUcmFuc2l0aW9uTGFuZShsYW5lKSkge1xuICAgIHZhciBxdWV1ZUxhbmVzID0gcXVldWUubGFuZXM7IC8vIElmIGFueSBlbnRhbmdsZWQgbGFuZXMgYXJlIG5vIGxvbmdlciBwZW5kaW5nIG9uIHRoZSByb290LCB0aGVuIHRoZXlcbiAgICAvLyBtdXN0IGhhdmUgZmluaXNoZWQuIFdlIGNhbiByZW1vdmUgdGhlbSBmcm9tIHRoZSBzaGFyZWQgcXVldWUsIHdoaWNoXG4gICAgLy8gcmVwcmVzZW50cyBhIHN1cGVyc2V0IG9mIHRoZSBhY3R1YWxseSBwZW5kaW5nIGxhbmVzLiBJbiBzb21lIGNhc2VzIHdlXG4gICAgLy8gbWF5IGVudGFuZ2xlIG1vcmUgdGhhbiB3ZSBuZWVkIHRvLCBidXQgdGhhdCdzIE9LLiBJbiBmYWN0IGl0J3Mgd29yc2UgaWZcbiAgICAvLyB3ZSAqZG9uJ3QqIGVudGFuZ2xlIHdoZW4gd2Ugc2hvdWxkLlxuXG4gICAgcXVldWVMYW5lcyA9IGludGVyc2VjdExhbmVzKHF1ZXVlTGFuZXMsIHJvb3QucGVuZGluZ0xhbmVzKTsgLy8gRW50YW5nbGUgdGhlIG5ldyB0cmFuc2l0aW9uIGxhbmUgd2l0aCB0aGUgb3RoZXIgdHJhbnNpdGlvbiBsYW5lcy5cblxuICAgIHZhciBuZXdRdWV1ZUxhbmVzID0gbWVyZ2VMYW5lcyhxdWV1ZUxhbmVzLCBsYW5lKTtcbiAgICBxdWV1ZS5sYW5lcyA9IG5ld1F1ZXVlTGFuZXM7IC8vIEV2ZW4gaWYgcXVldWUubGFuZXMgYWxyZWFkeSBpbmNsdWRlIGxhbmUsIHdlIGRvbid0IGtub3cgZm9yIGNlcnRhaW4gaWZcbiAgICAvLyB0aGUgbGFuZSBmaW5pc2hlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIGVudGFuZ2xlZCBpdC4gU28gd2UgbmVlZCB0b1xuICAgIC8vIGVudGFuZ2xlIGl0IGFnYWluLCBqdXN0IHRvIGJlIHN1cmUuXG5cbiAgICBtYXJrUm9vdEVudGFuZ2xlZChyb290LCBuZXdRdWV1ZUxhbmVzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrVXBkYXRlSW5EZXZUb29scyhmaWJlciwgbGFuZSwgYWN0aW9uKSB7XG5cbiAge1xuICAgIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gIH1cbn1cblxudmFyIENvbnRleHRPbmx5RGlzcGF0Y2hlciA9IHtcbiAgcmVhZENvbnRleHQ6IHJlYWRDb250ZXh0LFxuICB1c2U6IHVzZSxcbiAgdXNlQ2FsbGJhY2s6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlQ29udGV4dDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VFZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VJbnNlcnRpb25FZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlTGF5b3V0RWZmZWN0OiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZU1lbW86IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlUmVkdWNlcjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VSZWY6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlU3RhdGU6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlRGVidWdWYWx1ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VEZWZlcnJlZFZhbHVlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVRyYW5zaXRpb246IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlU3luY0V4dGVybmFsU3RvcmU6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlSWQ6IHRocm93SW52YWxpZEhvb2tFcnJvclxufTtcblxue1xuICBDb250ZXh0T25seURpc3BhdGNoZXIudXNlQ2FjaGVSZWZyZXNoID0gdGhyb3dJbnZhbGlkSG9va0Vycm9yO1xufVxuXG57XG4gIENvbnRleHRPbmx5RGlzcGF0Y2hlci51c2VIb3N0VHJhbnNpdGlvblN0YXR1cyA9IHRocm93SW52YWxpZEhvb2tFcnJvcjtcbiAgQ29udGV4dE9ubHlEaXNwYXRjaGVyLnVzZUZvcm1TdGF0ZSA9IHRocm93SW52YWxpZEhvb2tFcnJvcjtcbn1cblxue1xuICBDb250ZXh0T25seURpc3BhdGNoZXIudXNlT3B0aW1pc3RpYyA9IHRocm93SW52YWxpZEhvb2tFcnJvcjtcbn1cblxudmFyIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25Nb3VudFdpdGhIb29rVHlwZXNJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IG51bGw7XG5cbntcbiAgdmFyIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gJyArICdJbiBjbGFzc2VzLCB5b3UgY2FuIHJlYWQgaXQgaW4gdGhlIHJlbmRlciBtZXRob2Qgb3IgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiAnICsgJ0luIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCAnICsgJ2luc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuJyk7XG4gIH07XG5cbiAgdmFyIHdhcm5JbnZhbGlkSG9va0FjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignRG8gbm90IGNhbGwgSG9va3MgaW5zaWRlIHVzZUVmZmVjdCguLi4pLCB1c2VNZW1vKC4uLiksIG9yIG90aGVyIGJ1aWx0LWluIEhvb2tzLiAnICsgJ1lvdSBjYW4gb25seSBjYWxsIEhvb2tzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgeW91ciBSZWFjdCBmdW5jdGlvbi4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3J1bGVzLW9mLWhvb2tzJyk7XG4gIH07XG5cbiAgSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlOiB1c2UsXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50SW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcyk7XG4gICAgICByZXR1cm4gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudFJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnREZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50U3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJZCgpO1xuICAgIH1cbiAgfTtcblxuICB7XG4gICAgSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWLnVzZUNhY2hlUmVmcmVzaCA9IGZ1bmN0aW9uIHVzZUNhY2hlUmVmcmVzaCgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhY2hlUmVmcmVzaCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50UmVmcmVzaCgpO1xuICAgIH07XG4gIH1cblxuICB7XG4gICAgSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWLnVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzID0gdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM7XG5cbiAgICBIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYudXNlRm9ybVN0YXRlID0gZnVuY3Rpb24gdXNlRm9ybVN0YXRlKGFjdGlvbiwgaW5pdGlhbFN0YXRlLCBwZXJtYWxpbmspIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUZvcm1TdGF0ZSc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50Rm9ybVN0YXRlKGFjdGlvbiwgaW5pdGlhbFN0YXRlKTtcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVi51c2VPcHRpbWlzdGljID0gZnVuY3Rpb24gdXNlT3B0aW1pc3RpYyhwYXNzdGhyb3VnaCwgcmVkdWNlcikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlT3B0aW1pc3RpYyc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50T3B0aW1pc3RpYyhwYXNzdGhyb3VnaCk7XG4gICAgfTtcbiAgfVxuXG4gIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRXaXRoSG9va1R5cGVzSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2U6IHVzZSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnREZWZlcnJlZFZhbHVlKHZhbHVlKTtcbiAgICB9LFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudElkKCk7XG4gICAgfVxuICB9O1xuXG4gIHtcbiAgICBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWLnVzZUNhY2hlUmVmcmVzaCA9IGZ1bmN0aW9uIHVzZUNhY2hlUmVmcmVzaCgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhY2hlUmVmcmVzaCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZnJlc2goKTtcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRXaXRoSG9va1R5cGVzSW5ERVYudXNlSG9zdFRyYW5zaXRpb25TdGF0dXMgPSB1c2VIb3N0VHJhbnNpdGlvblN0YXR1cztcblxuICAgIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRXaXRoSG9va1R5cGVzSW5ERVYudXNlRm9ybVN0YXRlID0gZnVuY3Rpb24gdXNlRm9ybVN0YXRlKGFjdGlvbiwgaW5pdGlhbFN0YXRlLCBwZXJtYWxpbmspIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUZvcm1TdGF0ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudEZvcm1TdGF0ZShhY3Rpb24sIGluaXRpYWxTdGF0ZSk7XG4gICAgfTtcbiAgfVxuXG4gIHtcbiAgICBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWLnVzZU9wdGltaXN0aWMgPSBmdW5jdGlvbiB1c2VPcHRpbWlzdGljKHBhc3N0aHJvdWdoLCByZWR1Y2VyKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VPcHRpbWlzdGljJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50T3B0aW1pc3RpYyhwYXNzdGhyb3VnaCk7XG4gICAgfTtcbiAgfVxuXG4gIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2U6IHVzZSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlU3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVUcmFuc2l0aW9uKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCk7XG4gICAgfSxcbiAgICB1c2VJZDogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSWQnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSWQoKTtcbiAgICB9XG4gIH07XG5cbiAge1xuICAgIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYudXNlQ2FjaGVSZWZyZXNoID0gZnVuY3Rpb24gdXNlQ2FjaGVSZWZyZXNoKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FjaGVSZWZyZXNoJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVJlZnJlc2goKTtcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYudXNlSG9zdFRyYW5zaXRpb25TdGF0dXMgPSB1c2VIb3N0VHJhbnNpdGlvblN0YXR1cztcblxuICAgIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYudXNlRm9ybVN0YXRlID0gZnVuY3Rpb24gdXNlRm9ybVN0YXRlKGFjdGlvbiwgaW5pdGlhbFN0YXRlLCBwZXJtYWxpbmspIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUZvcm1TdGF0ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVGb3JtU3RhdGUoYWN0aW9uKTtcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYudXNlT3B0aW1pc3RpYyA9IGZ1bmN0aW9uIHVzZU9wdGltaXN0aWMocGFzc3Rocm91Z2gsIHJlZHVjZXIpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU9wdGltaXN0aWMnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlT3B0aW1pc3RpYyhwYXNzdGhyb3VnaCwgcmVkdWNlcik7XG4gICAgfTtcbiAgfVxuXG4gIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IHtcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZTogdXNlLFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbnNlcnRpb25FZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUluc2VydGlvbkVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXJlbmRlclJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlUmVmKCk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHJlcmVuZGVyU3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlU3luY0V4dGVybmFsU3RvcmU6IGZ1bmN0aW9uIChzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3luY0V4dGVybmFsU3RvcmUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUlkKCk7XG4gICAgfVxuICB9O1xuXG4gIHtcbiAgICBIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYudXNlQ2FjaGVSZWZyZXNoID0gZnVuY3Rpb24gdXNlQ2FjaGVSZWZyZXNoKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FjaGVSZWZyZXNoJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVJlZnJlc2goKTtcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVi51c2VIb3N0VHJhbnNpdGlvblN0YXR1cyA9IHVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzO1xuXG4gICAgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWLnVzZUZvcm1TdGF0ZSA9IGZ1bmN0aW9uIHVzZUZvcm1TdGF0ZShhY3Rpb24sIGluaXRpYWxTdGF0ZSwgcGVybWFsaW5rKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VGb3JtU3RhdGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVyZW5kZXJGb3JtU3RhdGUoYWN0aW9uKTtcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVi51c2VPcHRpbWlzdGljID0gZnVuY3Rpb24gdXNlT3B0aW1pc3RpYyhwYXNzdGhyb3VnaCwgcmVkdWNlcikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlT3B0aW1pc3RpYyc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZXJlbmRlck9wdGltaXN0aWMocGFzc3Rocm91Z2gsIHJlZHVjZXIpO1xuICAgIH07XG4gIH1cblxuICBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgd2FybkludmFsaWRDb250ZXh0QWNjZXNzKCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2U6IGZ1bmN0aW9uICh1c2FibGUpIHtcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgcmV0dXJuIHVzZSh1c2FibGUpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbnNlcnRpb25FZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUluc2VydGlvbkVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50TWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFRyYW5zaXRpb24oKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJZCgpO1xuICAgIH1cbiAgfTtcblxuICB7XG4gICAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVi51c2VDYWNoZVJlZnJlc2ggPSBmdW5jdGlvbiB1c2VDYWNoZVJlZnJlc2goKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWNoZVJlZnJlc2gnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZnJlc2goKTtcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYudXNlSG9zdFRyYW5zaXRpb25TdGF0dXMgPSB1c2VIb3N0VHJhbnNpdGlvblN0YXR1cztcblxuICAgIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYudXNlRm9ybVN0YXRlID0gZnVuY3Rpb24gdXNlRm9ybVN0YXRlKGFjdGlvbiwgaW5pdGlhbFN0YXRlLCBwZXJtYWxpbmspIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUZvcm1TdGF0ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRGb3JtU3RhdGUoYWN0aW9uLCBpbml0aWFsU3RhdGUpO1xuICAgIH07XG4gIH1cblxuICB7XG4gICAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVi51c2VPcHRpbWlzdGljID0gZnVuY3Rpb24gdXNlT3B0aW1pc3RpYyhwYXNzdGhyb3VnaCwgcmVkdWNlcikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlT3B0aW1pc3RpYyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRPcHRpbWlzdGljKHBhc3N0aHJvdWdoKTtcbiAgICB9O1xuICB9XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZTogZnVuY3Rpb24gKHVzYWJsZSkge1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICByZXR1cm4gdXNlKHVzYWJsZSk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbnNlcnRpb25FZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUluc2VydGlvbkVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRyYW5zaXRpb24oKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSWQoKTtcbiAgICB9XG4gIH07XG5cbiAge1xuICAgIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWLnVzZUNhY2hlUmVmcmVzaCA9IGZ1bmN0aW9uIHVzZUNhY2hlUmVmcmVzaCgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhY2hlUmVmcmVzaCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWZyZXNoKCk7XG4gICAgfTtcbiAgfVxuXG4gIHtcbiAgICBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVi51c2VIb3N0VHJhbnNpdGlvblN0YXR1cyA9IHVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzO1xuXG4gICAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYudXNlRm9ybVN0YXRlID0gZnVuY3Rpb24gdXNlRm9ybVN0YXRlKGFjdGlvbiwgaW5pdGlhbFN0YXRlLCBwZXJtYWxpbmspIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUZvcm1TdGF0ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUZvcm1TdGF0ZShhY3Rpb24pO1xuICAgIH07XG4gIH1cblxuICB7XG4gICAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYudXNlT3B0aW1pc3RpYyA9IGZ1bmN0aW9uIHVzZU9wdGltaXN0aWMocGFzc3Rocm91Z2gsIHJlZHVjZXIpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU9wdGltaXN0aWMnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVPcHRpbWlzdGljKHBhc3N0aHJvdWdoLCByZWR1Y2VyKTtcbiAgICB9O1xuICB9XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IHtcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcygpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlOiBmdW5jdGlvbiAodXNhYmxlKSB7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHJldHVybiB1c2UodXNhYmxlKTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXJlbmRlclJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVyZW5kZXJUcmFuc2l0aW9uKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUlkKCk7XG4gICAgfVxuICB9O1xuXG4gIHtcbiAgICBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWLnVzZUNhY2hlUmVmcmVzaCA9IGZ1bmN0aW9uIHVzZUNhY2hlUmVmcmVzaCgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhY2hlUmVmcmVzaCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWZyZXNoKCk7XG4gICAgfTtcbiAgfVxuXG4gIHtcbiAgICBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWLnVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzID0gdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM7XG5cbiAgICBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWLnVzZUZvcm1TdGF0ZSA9IGZ1bmN0aW9uIHVzZUZvcm1TdGF0ZShhY3Rpb24sIGluaXRpYWxTdGF0ZSwgcGVybWFsaW5rKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VGb3JtU3RhdGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZXJlbmRlckZvcm1TdGF0ZShhY3Rpb24pO1xuICAgIH07XG4gIH1cblxuICB7XG4gICAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVi51c2VPcHRpbWlzdGljID0gZnVuY3Rpb24gdXNlT3B0aW1pc3RpYyhwYXNzdGhyb3VnaCwgcmVkdWNlcikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlT3B0aW1pc3RpYyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyT3B0aW1pc3RpYyhwYXNzdGhyb3VnaCwgcmVkdWNlcik7XG4gICAgfTtcbiAgfVxufVxuXG52YXIgbm93ID0gU2NoZWR1bGVyLnVuc3RhYmxlX25vdztcbnZhciBjb21taXRUaW1lID0gMDtcbnZhciBsYXlvdXRFZmZlY3RTdGFydFRpbWUgPSAtMTtcbnZhciBwcm9maWxlclN0YXJ0VGltZSA9IC0xO1xudmFyIHBhc3NpdmVFZmZlY3RTdGFydFRpbWUgPSAtMTtcbi8qKlxuICogVHJhY2tzIHdoZXRoZXIgdGhlIGN1cnJlbnQgdXBkYXRlIHdhcyBhIG5lc3RlZC9jYXNjYWRpbmcgdXBkYXRlIChzY2hlZHVsZWQgZnJvbSBhIGxheW91dCBlZmZlY3QpLlxuICpcbiAqIFRoZSBvdmVyYWxsIHNlcXVlbmNlIGlzOlxuICogICAxLiByZW5kZXJcbiAqICAgMi4gY29tbWl0IChhbmQgY2FsbCBgb25SZW5kZXJgLCBgb25Db21taXRgKVxuICogICAzLiBjaGVjayBmb3IgbmVzdGVkIHVwZGF0ZXNcbiAqICAgNC4gZmx1c2ggcGFzc2l2ZSBlZmZlY3RzIChhbmQgY2FsbCBgb25Qb3N0Q29tbWl0YClcbiAqXG4gKiBOZXN0ZWQgdXBkYXRlcyBhcmUgaWRlbnRpZmllZCBpbiBzdGVwIDMgYWJvdmUsXG4gKiBidXQgc3RlcCA0IHN0aWxsIGFwcGxpZXMgdG8gdGhlIHdvcmsgdGhhdCB3YXMganVzdCBjb21taXR0ZWQuXG4gKiBXZSB1c2UgdHdvIGZsYWdzIHRvIHRyYWNrIG5lc3RlZCB1cGRhdGVzIHRoZW46XG4gKiBvbmUgdHJhY2tzIHdoZXRoZXIgdGhlIHVwY29taW5nIHVwZGF0ZSBpcyBhIG5lc3RlZCB1cGRhdGUsXG4gKiBhbmQgdGhlIG90aGVyIHRyYWNrcyB3aGV0aGVyIHRoZSBjdXJyZW50IHVwZGF0ZSB3YXMgYSBuZXN0ZWQgdXBkYXRlLlxuICogVGhlIGZpcnN0IHZhbHVlIGdldHMgc3luY2VkIHRvIHRoZSBzZWNvbmQgYXQgdGhlIHN0YXJ0IG9mIHRoZSByZW5kZXIgcGhhc2UuXG4gKi9cblxudmFyIGN1cnJlbnRVcGRhdGVJc05lc3RlZCA9IGZhbHNlO1xudmFyIG5lc3RlZFVwZGF0ZVNjaGVkdWxlZCA9IGZhbHNlO1xuXG5mdW5jdGlvbiBpc0N1cnJlbnRVcGRhdGVOZXN0ZWQoKSB7XG4gIHJldHVybiBjdXJyZW50VXBkYXRlSXNOZXN0ZWQ7XG59XG5cbmZ1bmN0aW9uIG1hcmtOZXN0ZWRVcGRhdGVTY2hlZHVsZWQoKSB7XG4gIHtcbiAgICBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc2V0TmVzdGVkVXBkYXRlRmxhZygpIHtcbiAge1xuICAgIGN1cnJlbnRVcGRhdGVJc05lc3RlZCA9IGZhbHNlO1xuICAgIG5lc3RlZFVwZGF0ZVNjaGVkdWxlZCA9IGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN5bmNOZXN0ZWRVcGRhdGVGbGFnKCkge1xuICB7XG4gICAgY3VycmVudFVwZGF0ZUlzTmVzdGVkID0gbmVzdGVkVXBkYXRlU2NoZWR1bGVkO1xuICAgIG5lc3RlZFVwZGF0ZVNjaGVkdWxlZCA9IGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldENvbW1pdFRpbWUoKSB7XG4gIHJldHVybiBjb21taXRUaW1lO1xufVxuXG5mdW5jdGlvbiByZWNvcmRDb21taXRUaW1lKCkge1xuXG4gIGNvbW1pdFRpbWUgPSBub3coKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQcm9maWxlclRpbWVyKGZpYmVyKSB7XG5cbiAgcHJvZmlsZXJTdGFydFRpbWUgPSBub3coKTtcblxuICBpZiAoZmliZXIuYWN0dWFsU3RhcnRUaW1lIDwgMCkge1xuICAgIGZpYmVyLmFjdHVhbFN0YXJ0VGltZSA9IG5vdygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nKGZpYmVyKSB7XG5cbiAgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbn1cblxuZnVuY3Rpb24gc3RvcFByb2ZpbGVyVGltZXJJZlJ1bm5pbmdBbmRSZWNvcmREZWx0YShmaWJlciwgb3ZlcnJpZGVCYXNlVGltZSkge1xuXG4gIGlmIChwcm9maWxlclN0YXJ0VGltZSA+PSAwKSB7XG4gICAgdmFyIGVsYXBzZWRUaW1lID0gbm93KCkgLSBwcm9maWxlclN0YXJ0VGltZTtcbiAgICBmaWJlci5hY3R1YWxEdXJhdGlvbiArPSBlbGFwc2VkVGltZTtcblxuICAgIGlmIChvdmVycmlkZUJhc2VUaW1lKSB7XG4gICAgICBmaWJlci5zZWxmQmFzZUR1cmF0aW9uID0gZWxhcHNlZFRpbWU7XG4gICAgfVxuXG4gICAgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaWJlcikge1xuXG4gIGlmIChsYXlvdXRFZmZlY3RTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdygpIC0gbGF5b3V0RWZmZWN0U3RhcnRUaW1lO1xuICAgIGxheW91dEVmZmVjdFN0YXJ0VGltZSA9IC0xOyAvLyBTdG9yZSBkdXJhdGlvbiBvbiB0aGUgbmV4dCBuZWFyZXN0IFByb2ZpbGVyIGFuY2VzdG9yXG4gICAgLy8gT3IgdGhlIHJvb3QgKGZvciB0aGUgRGV2VG9vbHMgUHJvZmlsZXIgdG8gcmVhZClcblxuICAgIHZhciBwYXJlbnRGaWJlciA9IGZpYmVyLnJldHVybjtcblxuICAgIHdoaWxlIChwYXJlbnRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAgICB2YXIgcm9vdCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICByb290LmVmZmVjdER1cmF0aW9uICs9IGVsYXBzZWRUaW1lO1xuICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjYXNlIFByb2ZpbGVyOlxuICAgICAgICAgIHZhciBwYXJlbnRTdGF0ZU5vZGUgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgcGFyZW50U3RhdGVOb2RlLmVmZmVjdER1cmF0aW9uICs9IGVsYXBzZWRUaW1lO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlY29yZFBhc3NpdmVFZmZlY3REdXJhdGlvbihmaWJlcikge1xuXG4gIGlmIChwYXNzaXZlRWZmZWN0U3RhcnRUaW1lID49IDApIHtcbiAgICB2YXIgZWxhcHNlZFRpbWUgPSBub3coKSAtIHBhc3NpdmVFZmZlY3RTdGFydFRpbWU7XG4gICAgcGFzc2l2ZUVmZmVjdFN0YXJ0VGltZSA9IC0xOyAvLyBTdG9yZSBkdXJhdGlvbiBvbiB0aGUgbmV4dCBuZWFyZXN0IFByb2ZpbGVyIGFuY2VzdG9yXG4gICAgLy8gT3IgdGhlIHJvb3QgKGZvciB0aGUgRGV2VG9vbHMgUHJvZmlsZXIgdG8gcmVhZClcblxuICAgIHZhciBwYXJlbnRGaWJlciA9IGZpYmVyLnJldHVybjtcblxuICAgIHdoaWxlIChwYXJlbnRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAgICB2YXIgcm9vdCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICAgICAgICByb290LnBhc3NpdmVFZmZlY3REdXJhdGlvbiArPSBlbGFwc2VkVGltZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAgICB2YXIgcGFyZW50U3RhdGVOb2RlID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHBhcmVudFN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gRGV0YWNoZWQgZmliZXJzIGhhdmUgdGhlaXIgc3RhdGUgbm9kZSBjbGVhcmVkIG91dC5cbiAgICAgICAgICAgIC8vIEluIHRoaXMgY2FzZSwgdGhlIHJldHVybiBwb2ludGVyIGlzIGFsc28gY2xlYXJlZCBvdXQsXG4gICAgICAgICAgICAvLyBzbyB3ZSB3b24ndCBiZSBhYmxlIHRvIHJlcG9ydCB0aGUgdGltZSBzcGVudCBpbiB0aGlzIFByb2ZpbGVyJ3Mgc3VidHJlZS5cbiAgICAgICAgICAgIHBhcmVudFN0YXRlTm9kZS5wYXNzaXZlRWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBwYXJlbnRGaWJlciA9IHBhcmVudEZpYmVyLnJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpIHtcblxuICBsYXlvdXRFZmZlY3RTdGFydFRpbWUgPSBub3coKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQYXNzaXZlRWZmZWN0VGltZXIoKSB7XG5cbiAgcGFzc2l2ZUVmZmVjdFN0YXJ0VGltZSA9IG5vdygpO1xufVxuXG5mdW5jdGlvbiB0cmFuc2ZlckFjdHVhbER1cmF0aW9uKGZpYmVyKSB7XG4gIC8vIFRyYW5zZmVyIHRpbWUgc3BlbnQgcmVuZGVyaW5nIHRoZXNlIGNoaWxkcmVuIHNvIHdlIGRvbid0IGxvc2UgaXRcbiAgLy8gYWZ0ZXIgd2UgcmVyZW5kZXIuIFRoaXMgaXMgdXNlZCBhcyBhIGhlbHBlciBpbiBzcGVjaWFsIGNhc2VzXG4gIC8vIHdoZXJlIHdlIHNob3VsZCBjb3VudCB0aGUgd29yayBvZiBtdWx0aXBsZSBwYXNzZXMuXG4gIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gIHdoaWxlIChjaGlsZCkge1xuICAgIC8vICRGbG93Rml4TWVbdW5zYWZlLWFkZGl0aW9uXSBhZGRpdGlvbiB3aXRoIHBvc3NpYmxlIG51bGwvdW5kZWZpbmVkIHZhbHVlXG4gICAgZmliZXIuYWN0dWFsRHVyYXRpb24gKz0gY2hpbGQuYWN0dWFsRHVyYXRpb247XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVEZWZhdWx0UHJvcHMoQ29tcG9uZW50LCBiYXNlUHJvcHMpIHtcbiAgaWYgKENvbXBvbmVudCAmJiBDb21wb25lbnQuZGVmYXVsdFByb3BzKSB7XG4gICAgLy8gUmVzb2x2ZSBkZWZhdWx0IHByb3BzLiBUYWtlbiBmcm9tIFJlYWN0RWxlbWVudFxuICAgIHZhciBwcm9wcyA9IGFzc2lnbih7fSwgYmFzZVByb3BzKTtcbiAgICB2YXIgZGVmYXVsdFByb3BzID0gQ29tcG9uZW50LmRlZmF1bHRQcm9wcztcblxuICAgIGZvciAodmFyIHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGRlZmF1bHRQcm9wc1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BzO1xuICB9XG5cbiAgcmV0dXJuIGJhc2VQcm9wcztcbn1cblxudmFyIGZha2VJbnRlcm5hbEluc3RhbmNlID0ge307XG52YXIgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGU7XG52YXIgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRVbmRlZmluZWREZXJpdmVkU3RhdGU7XG52YXIgZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGU7XG52YXIgZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXM7XG52YXIgZGlkV2FybkFib3V0SW52YWxpZGF0ZUNvbnRleHRUeXBlO1xudmFyIGRpZFdhcm5PbkludmFsaWRDYWxsYmFjaztcblxue1xuICBkaWRXYXJuQWJvdXRTdGF0ZUFzc2lnbm1lbnRGb3JDb21wb25lbnQgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0R2V0U25hcHNob3RCZWZvcmVVcGRhdGVXaXRob3V0RGlkVXBkYXRlID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXRMZWdhY3lMaWZlY3ljbGVzQW5kRGVyaXZlZFN0YXRlID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXREaXJlY3RseUFzc2lnbmluZ1Byb3BzVG9TdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0VW5kZWZpbmVkRGVyaXZlZFN0YXRlID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcyA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0SW52YWxpZGF0ZUNvbnRleHRUeXBlID0gbmV3IFNldCgpO1xuICBkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2sgPSBuZXcgU2V0KCk7IC8vIFRoaXMgaXMgc28gZ3Jvc3MgYnV0IGl0J3MgYXQgbGVhc3Qgbm9uLWNyaXRpY2FsIGFuZCBjYW4gYmUgcmVtb3ZlZCBpZlxuICAvLyBpdCBjYXVzZXMgcHJvYmxlbXMuIFRoaXMgaXMgbWVhbnQgdG8gZ2l2ZSBhIG5pY2VyIGVycm9yIG1lc3NhZ2UgZm9yXG4gIC8vIFJlYWN0RE9NMTUudW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIocmVhY3RET00xNkNvbXBvbmVudCxcbiAgLy8gLi4uKSkgd2hpY2ggb3RoZXJ3aXNlIHRocm93cyBhIFwiX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGEgZnVuY3Rpb25cIlxuICAvLyBleGNlcHRpb24uXG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZha2VJbnRlcm5hbEluc3RhbmNlLCAnX3Byb2Nlc3NDaGlsZENvbnRleHQnLCB7XG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGF2YWlsYWJsZSBpbiBSZWFjdCAxNisuIFRoaXMgbGlrZWx5ICcgKyAnbWVhbnMgeW91IGhhdmUgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IGFuZCBhcmUgYXR0ZW1wdGluZyB0byBuZXN0ICcgKyAnYSBSZWFjdCAxNSB0cmVlIGluc2lkZSBhIFJlYWN0IDE2IHRyZWUgdXNpbmcgJyArIFwidW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIsIHdoaWNoIGlzbid0IHN1cHBvcnRlZC4gVHJ5IFwiICsgJ3RvIG1ha2Ugc3VyZSB5b3UgaGF2ZSBvbmx5IG9uZSBjb3B5IG9mIFJlYWN0IChhbmQgaWRlYWxseSwgc3dpdGNoICcgKyAndG8gUmVhY3RET00uY3JlYXRlUG9ydGFsKS4nKTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZnJlZXplKGZha2VJbnRlcm5hbEluc3RhbmNlKTtcbn1cblxuZnVuY3Rpb24gd2Fybk9uSW52YWxpZENhbGxiYWNrJDEoY2FsbGJhY2spIHtcbiAge1xuICAgIGlmIChjYWxsYmFjayA9PT0gbnVsbCB8fCB0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIga2V5ID0gU3RyaW5nKGNhbGxiYWNrKTtcblxuICAgIGlmICghZGlkV2Fybk9uSW52YWxpZENhbGxiYWNrLmhhcyhrZXkpKSB7XG4gICAgICBkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2suYWRkKGtleSk7XG5cbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGUodHlwZSwgcGFydGlhbFN0YXRlKSB7XG4gIHtcbiAgICBpZiAocGFydGlhbFN0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5oYXMoY29tcG9uZW50TmFtZSkpIHtcbiAgICAgICAgZGlkV2FybkFib3V0VW5kZWZpbmVkRGVyaXZlZFN0YXRlLmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCk6IEEgdmFsaWQgc3RhdGUgb2JqZWN0IChvciBudWxsKSBtdXN0IGJlIHJldHVybmVkLiAnICsgJ1lvdSBoYXZlIHJldHVybmVkIHVuZGVmaW5lZC4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV4dFByb3BzKSB7XG4gIHZhciBwcmV2U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgcGFydGlhbFN0YXRlID0gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKTtcblxuICB7XG4gICAgaWYgKHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gSW52b2tlIHRoZSBmdW5jdGlvbiBhbiBleHRyYSB0aW1lIHRvIGhlbHAgZGV0ZWN0IHNpZGUtZWZmZWN0cy5cbiAgICAgICAgcGFydGlhbFN0YXRlID0gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGUoY3RvciwgcGFydGlhbFN0YXRlKTtcbiAgfSAvLyBNZXJnZSB0aGUgcGFydGlhbCBzdGF0ZSBhbmQgdGhlIHByZXZpb3VzIHN0YXRlLlxuXG5cbiAgdmFyIG1lbW9pemVkU3RhdGUgPSBwYXJ0aWFsU3RhdGUgPT09IG51bGwgfHwgcGFydGlhbFN0YXRlID09PSB1bmRlZmluZWQgPyBwcmV2U3RhdGUgOiBhc3NpZ24oe30sIHByZXZTdGF0ZSwgcGFydGlhbFN0YXRlKTtcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG1lbW9pemVkU3RhdGU7IC8vIE9uY2UgdGhlIHVwZGF0ZSBxdWV1ZSBpcyBlbXB0eSwgcGVyc2lzdCB0aGUgZGVyaXZlZCBzdGF0ZSBvbnRvIHRoZVxuICAvLyBiYXNlIHN0YXRlLlxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIFF1ZXVlIGlzIGFsd2F5cyBub24tbnVsbCBmb3IgY2xhc3Nlc1xuICAgIHZhciB1cGRhdGVRdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlO1xuICAgIHVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZSA9IG1lbW9pemVkU3RhdGU7XG4gIH1cbn1cblxudmFyIGNsYXNzQ29tcG9uZW50VXBkYXRlciA9IHtcbiAgaXNNb3VudGVkOiBpc01vdW50ZWQsXG4gIC8vICRGbG93Rml4TWVbbWlzc2luZy1sb2NhbC1hbm5vdF1cbiAgZW5xdWV1ZVNldFN0YXRlOiBmdW5jdGlvbiAoaW5zdCwgcGF5bG9hZCwgY2FsbGJhY2spIHtcbiAgICB2YXIgZmliZXIgPSBnZXQoaW5zdCk7XG4gICAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShsYW5lKTtcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XG5cbiAgICBpZiAoY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2skMShjYWxsYmFjayk7XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlLCBsYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIGxhbmUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBmaWJlciwgbGFuZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH0sXG4gIGVucXVldWVSZXBsYWNlU3RhdGU6IGZ1bmN0aW9uIChpbnN0LCBwYXlsb2FkLCBjYWxsYmFjaykge1xuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcbiAgICB2YXIgbGFuZSA9IHJlcXVlc3RVcGRhdGVMYW5lKGZpYmVyKTtcbiAgICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGxhbmUpO1xuICAgIHVwZGF0ZS50YWcgPSBSZXBsYWNlU3RhdGU7XG4gICAgdXBkYXRlLnBheWxvYWQgPSBwYXlsb2FkO1xuXG4gICAgaWYgKGNhbGxiYWNrICE9PSB1bmRlZmluZWQgJiYgY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICAgIHtcbiAgICAgICAgd2Fybk9uSW52YWxpZENhbGxiYWNrJDEoY2FsbGJhY2spO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICAgIGVudGFuZ2xlVHJhbnNpdGlvbnMocm9vdCwgZmliZXIsIGxhbmUpO1xuICAgIH1cblxuICAgIHtcbiAgICAgIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gICAgfVxuICB9LFxuICAvLyAkRmxvd0ZpeE1lW21pc3NpbmctbG9jYWwtYW5ub3RdXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKGluc3QsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGZpYmVyID0gZ2V0KGluc3QpO1xuICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoZmliZXIpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUobGFuZSk7XG4gICAgdXBkYXRlLnRhZyA9IEZvcmNlVXBkYXRlO1xuXG4gICAgaWYgKGNhbGxiYWNrICE9PSB1bmRlZmluZWQgJiYgY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICAgIHtcbiAgICAgICAgd2Fybk9uSW52YWxpZENhbGxiYWNrJDEoY2FsbGJhY2spO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICAgIGVudGFuZ2xlVHJhbnNpdGlvbnMocm9vdCwgZmliZXIsIGxhbmUpO1xuICAgIH1cblxuICAgIHtcbiAgICAgIG1hcmtGb3JjZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gICAgfVxuICB9XG59O1xuXG5mdW5jdGlvbiBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KSB7XG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICBpZiAodHlwZW9mIGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBzaG91bGRVcGRhdGUgPSBpbnN0YW5jZS5zaG91bGRDb21wb25lbnRVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XG5cbiAgICB7XG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHModHJ1ZSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBJbnZva2UgdGhlIGZ1bmN0aW9uIGFuIGV4dHJhIHRpbWUgdG8gaGVscCBkZXRlY3Qgc2lkZS1lZmZlY3RzLlxuICAgICAgICAgIHNob3VsZFVwZGF0ZSA9IGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZFVwZGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVycm9yKCclcy5zaG91bGRDb21wb25lbnRVcGRhdGUoKTogUmV0dXJuZWQgdW5kZWZpbmVkIGluc3RlYWQgb2YgYSAnICsgJ2Jvb2xlYW4gdmFsdWUuIE1ha2Ugc3VyZSB0byByZXR1cm4gdHJ1ZSBvciBmYWxzZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzaG91bGRVcGRhdGU7XG4gIH1cblxuICBpZiAoY3Rvci5wcm90b3R5cGUgJiYgY3Rvci5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQpIHtcbiAgICByZXR1cm4gIXNoYWxsb3dFcXVhbChvbGRQcm9wcywgbmV3UHJvcHMpIHx8ICFzaGFsbG93RXF1YWwob2xkU3RhdGUsIG5ld1N0YXRlKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBjaGVja0NsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzKSB7XG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICB7XG4gICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG4gICAgdmFyIHJlbmRlclByZXNlbnQgPSBpbnN0YW5jZS5yZW5kZXI7XG5cbiAgICBpZiAoIXJlbmRlclByZXNlbnQpIHtcbiAgICAgIGlmIChjdG9yLnByb3RvdHlwZSAmJiB0eXBlb2YgY3Rvci5wcm90b3R5cGUucmVuZGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGVycm9yKCdObyBgcmVuZGVyYCBtZXRob2QgZm91bmQgb24gdGhlICVzICcgKyAnaW5zdGFuY2U6IGRpZCB5b3UgYWNjaWRlbnRhbGx5IHJldHVybiBhbiBvYmplY3QgZnJvbSB0aGUgY29uc3RydWN0b3I/JywgbmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignTm8gYHJlbmRlcmAgbWV0aG9kIGZvdW5kIG9uIHRoZSAlcyAnICsgJ2luc3RhbmNlOiB5b3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIGRlZmluZSBgcmVuZGVyYC4nLCBuYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuZ2V0SW5pdGlhbFN0YXRlICYmICFpbnN0YW5jZS5nZXRJbml0aWFsU3RhdGUuaXNSZWFjdENsYXNzQXBwcm92ZWQgJiYgIWluc3RhbmNlLnN0YXRlKSB7XG4gICAgICBlcnJvcignZ2V0SW5pdGlhbFN0YXRlIHdhcyBkZWZpbmVkIG9uICVzLCBhIHBsYWluIEphdmFTY3JpcHQgY2xhc3MuICcgKyAnVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgY2xhc3NlcyBjcmVhdGVkIHVzaW5nIFJlYWN0LmNyZWF0ZUNsYXNzLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBkZWZpbmUgYSBzdGF0ZSBwcm9wZXJ0eSBpbnN0ZWFkPycsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChpbnN0YW5jZS5nZXREZWZhdWx0UHJvcHMgJiYgIWluc3RhbmNlLmdldERlZmF1bHRQcm9wcy5pc1JlYWN0Q2xhc3NBcHByb3ZlZCkge1xuICAgICAgZXJyb3IoJ2dldERlZmF1bHRQcm9wcyB3YXMgZGVmaW5lZCBvbiAlcywgYSBwbGFpbiBKYXZhU2NyaXB0IGNsYXNzLiAnICsgJ1RoaXMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIGNsYXNzZXMgY3JlYXRlZCB1c2luZyBSZWFjdC5jcmVhdGVDbGFzcy4gJyArICdVc2UgYSBzdGF0aWMgcHJvcGVydHkgdG8gZGVmaW5lIGRlZmF1bHRQcm9wcyBpbnN0ZWFkLicsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChpbnN0YW5jZS5wcm9wVHlwZXMpIHtcbiAgICAgIGVycm9yKCdwcm9wVHlwZXMgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBwcm9wVHlwZXMgaW5zdGVhZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuY29udGV4dFR5cGUpIHtcbiAgICAgIGVycm9yKCdjb250ZXh0VHlwZSB3YXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBvbiAlcy4gVXNlIGEgc3RhdGljICcgKyAncHJvcGVydHkgdG8gZGVmaW5lIGNvbnRleHRUeXBlIGluc3RlYWQuJywgbmFtZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKGluc3RhbmNlLmNvbnRleHRUeXBlcykge1xuICAgICAgICBlcnJvcignY29udGV4dFR5cGVzIHdhcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIHByb3BlcnR5IG9uICVzLiBVc2UgYSBzdGF0aWMgJyArICdwcm9wZXJ0eSB0byBkZWZpbmUgY29udGV4dFR5cGVzIGluc3RlYWQuJywgbmFtZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjdG9yLmNvbnRleHRUeXBlICYmIGN0b3IuY29udGV4dFR5cGVzICYmICFkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcy5oYXMoY3RvcikpIHtcbiAgICAgICAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMuYWRkKGN0b3IpO1xuXG4gICAgICAgIGVycm9yKCclcyBkZWNsYXJlcyBib3RoIGNvbnRleHRUeXBlcyBhbmQgY29udGV4dFR5cGUgc3RhdGljIHByb3BlcnRpZXMuICcgKyAnVGhlIGxlZ2FjeSBjb250ZXh0VHlwZXMgcHJvcGVydHkgd2lsbCBiZSBpZ25vcmVkLicsIG5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50U2hvdWxkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCAnICsgJ2NvbXBvbmVudFNob3VsZFVwZGF0ZSgpLiBEaWQgeW91IG1lYW4gc2hvdWxkQ29tcG9uZW50VXBkYXRlKCk/ICcgKyAnVGhlIG5hbWUgaXMgcGhyYXNlZCBhcyBhIHF1ZXN0aW9uIGJlY2F1c2UgdGhlIGZ1bmN0aW9uIGlzICcgKyAnZXhwZWN0ZWQgdG8gcmV0dXJuIGEgdmFsdWUuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGN0b3IucHJvdG90eXBlICYmIGN0b3IucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50ICYmIHR5cGVvZiBpbnN0YW5jZS5zaG91bGRDb21wb25lbnRVcGRhdGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBlcnJvcignJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCBzaG91bGRDb21wb25lbnRVcGRhdGUoKS4gJyArICdzaG91bGRDb21wb25lbnRVcGRhdGUgc2hvdWxkIG5vdCBiZSB1c2VkIHdoZW4gZXh0ZW5kaW5nIFJlYWN0LlB1cmVDb21wb25lbnQuICcgKyAnUGxlYXNlIGV4dGVuZCBSZWFjdC5Db21wb25lbnQgaWYgc2hvdWxkQ29tcG9uZW50VXBkYXRlIGlzIHVzZWQuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGN0b3IpIHx8ICdBIHB1cmUgY29tcG9uZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCAnICsgJ2NvbXBvbmVudERpZFVubW91bnQoKS4gQnV0IHRoZXJlIGlzIG5vIHN1Y2ggbGlmZWN5Y2xlIG1ldGhvZC4gJyArICdEaWQgeW91IG1lYW4gY29tcG9uZW50V2lsbFVubW91bnQoKT8nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnREaWRSZWNlaXZlUHJvcHMoKS4gQnV0IHRoZXJlIGlzIG5vIHN1Y2ggbGlmZWN5Y2xlIG1ldGhvZC4gJyArICdJZiB5b3UgbWVhbnQgdG8gdXBkYXRlIHRoZSBzdGF0ZSBpbiByZXNwb25zZSB0byBjaGFuZ2luZyBwcm9wcywgJyArICd1c2UgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpLiBJZiB5b3UgbWVhbnQgdG8gZmV0Y2ggZGF0YSBvciAnICsgJ3J1biBzaWRlLWVmZmVjdHMgb3IgbXV0YXRpb25zIGFmdGVyIFJlYWN0IGhhcyB1cGRhdGVkIHRoZSBVSSwgdXNlIGNvbXBvbmVudERpZFVwZGF0ZSgpLicsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnRXaWxsUmVjaWV2ZVByb3BzKCkuIERpZCB5b3UgbWVhbiBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdVTlNBRkVfY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcygpLiBEaWQgeW91IG1lYW4gVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKT8nLCBuYW1lKTtcbiAgICB9XG5cbiAgICB2YXIgaGFzTXV0YXRlZFByb3BzID0gaW5zdGFuY2UucHJvcHMgIT09IG5ld1Byb3BzO1xuXG4gICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSB1bmRlZmluZWQgJiYgaGFzTXV0YXRlZFByb3BzKSB7XG4gICAgICBlcnJvcignV2hlbiBjYWxsaW5nIHN1cGVyKCkgaW4gYCVzYCwgbWFrZSBzdXJlIHRvIHBhc3MgJyArIFwidXAgdGhlIHNhbWUgcHJvcHMgdGhhdCB5b3VyIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yIHdhcyBwYXNzZWQuXCIsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChpbnN0YW5jZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIGVycm9yKCdTZXR0aW5nIGRlZmF1bHRQcm9wcyBhcyBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBvbiAlcyBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIGlnbm9yZWQuJyArICcgSW5zdGVhZCwgZGVmaW5lIGRlZmF1bHRQcm9wcyBhcyBhIHN0YXRpYyBwcm9wZXJ0eSBvbiAlcy4nLCBuYW1lLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgIT09ICdmdW5jdGlvbicgJiYgIWRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZS5oYXMoY3RvcikpIHtcbiAgICAgIGRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZS5hZGQoY3Rvcik7XG5cbiAgICAgIGVycm9yKCclczogZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKSBzaG91bGQgYmUgdXNlZCB3aXRoIGNvbXBvbmVudERpZFVwZGF0ZSgpLiAnICsgJ1RoaXMgY29tcG9uZW50IGRlZmluZXMgZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKSBvbmx5LicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzOiBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoKSBpcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIG1ldGhvZCAnICsgJ2FuZCB3aWxsIGJlIGlnbm9yZWQuIEluc3RlYWQsIGRlY2xhcmUgaXQgYXMgYSBzdGF0aWMgbWV0aG9kLicsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY3Rvci5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzOiBnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSgpIGlzIGRlZmluZWQgYXMgYSBzdGF0aWMgbWV0aG9kICcgKyAnYW5kIHdpbGwgYmUgaWdub3JlZC4gSW5zdGVhZCwgZGVjbGFyZSBpdCBhcyBhbiBpbnN0YW5jZSBtZXRob2QuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgdmFyIHN0YXRlID0gaW5zdGFuY2Uuc3RhdGU7XG5cbiAgICBpZiAoc3RhdGUgJiYgKHR5cGVvZiBzdGF0ZSAhPT0gJ29iamVjdCcgfHwgaXNBcnJheShzdGF0ZSkpKSB7XG4gICAgICBlcnJvcignJXMuc3RhdGU6IG11c3QgYmUgc2V0IHRvIGFuIG9iamVjdCBvciBudWxsJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGN0b3IuY2hpbGRDb250ZXh0VHlwZXMgIT09ICdvYmplY3QnKSB7XG4gICAgICBlcnJvcignJXMuZ2V0Q2hpbGRDb250ZXh0KCk6IGNoaWxkQ29udGV4dFR5cGVzIG11c3QgYmUgZGVmaW5lZCBpbiBvcmRlciB0byAnICsgJ3VzZSBnZXRDaGlsZENvbnRleHQoKS4nLCBuYW1lKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRvcHRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSkge1xuICBpbnN0YW5jZS51cGRhdGVyID0gY2xhc3NDb21wb25lbnRVcGRhdGVyO1xuICB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPSBpbnN0YW5jZTsgLy8gVGhlIGluc3RhbmNlIG5lZWRzIGFjY2VzcyB0byB0aGUgZmliZXIgc28gdGhhdCBpdCBjYW4gc2NoZWR1bGUgdXBkYXRlc1xuXG4gIHNldChpbnN0YW5jZSwgd29ya0luUHJvZ3Jlc3MpO1xuXG4gIHtcbiAgICBpbnN0YW5jZS5fcmVhY3RJbnRlcm5hbEluc3RhbmNlID0gZmFrZUludGVybmFsSW5zdGFuY2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29uc3RydWN0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgcHJvcHMpIHtcbiAgdmFyIGlzTGVnYWN5Q29udGV4dENvbnN1bWVyID0gZmFsc2U7XG4gIHZhciB1bm1hc2tlZENvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XG4gIHZhciBjb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xuICB2YXIgY29udGV4dFR5cGUgPSBjdG9yLmNvbnRleHRUeXBlO1xuXG4gIHtcbiAgICBpZiAoJ2NvbnRleHRUeXBlJyBpbiBjdG9yKSB7XG4gICAgICB2YXIgaXNWYWxpZCA9IC8vIEFsbG93IG51bGwgZm9yIGNvbmRpdGlvbmFsIGRlY2xhcmF0aW9uXG4gICAgICBjb250ZXh0VHlwZSA9PT0gbnVsbCB8fCBjb250ZXh0VHlwZSAhPT0gdW5kZWZpbmVkICYmIGNvbnRleHRUeXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEU7XG5cbiAgICAgIGlmICghaXNWYWxpZCAmJiAhZGlkV2FybkFib3V0SW52YWxpZGF0ZUNvbnRleHRUeXBlLmhhcyhjdG9yKSkge1xuICAgICAgICBkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGUuYWRkKGN0b3IpO1xuICAgICAgICB2YXIgYWRkZW5kdW0gPSAnJztcblxuICAgICAgICBpZiAoY29udGV4dFR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBIb3dldmVyLCBpdCBpcyBzZXQgdG8gdW5kZWZpbmVkLiAnICsgJ1RoaXMgY2FuIGJlIGNhdXNlZCBieSBhIHR5cG8gb3IgYnkgbWl4aW5nIHVwIG5hbWVkIGFuZCBkZWZhdWx0IGltcG9ydHMuICcgKyAnVGhpcyBjYW4gYWxzbyBoYXBwZW4gZHVlIHRvIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSwgc28gJyArICd0cnkgbW92aW5nIHRoZSBjcmVhdGVDb250ZXh0KCkgY2FsbCB0byBhIHNlcGFyYXRlIGZpbGUuJztcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29udGV4dFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIEhvd2V2ZXIsIGl0IGlzIHNldCB0byBhICcgKyB0eXBlb2YgY29udGV4dFR5cGUgKyAnLic7XG4gICAgICAgIH0gZWxzZSBpZiAoY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlNVTUVSX1RZUEUpIHtcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgcGFzcyB0aGUgQ29udGV4dC5Db25zdW1lciBpbnN0ZWFkPyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIEhvd2V2ZXIsIGl0IGlzIHNldCB0byBhbiBvYmplY3Qgd2l0aCBrZXlzIHsnICsgT2JqZWN0LmtleXMoY29udGV4dFR5cGUpLmpvaW4oJywgJykgKyAnfS4nO1xuICAgICAgICB9XG5cbiAgICAgICAgZXJyb3IoJyVzIGRlZmluZXMgYW4gaW52YWxpZCBjb250ZXh0VHlwZS4gJyArICdjb250ZXh0VHlwZSBzaG91bGQgcG9pbnQgdG8gdGhlIENvbnRleHQgb2JqZWN0IHJldHVybmVkIGJ5IFJlYWN0LmNyZWF0ZUNvbnRleHQoKS4lcycsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50JywgYWRkZW5kdW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XG4gICAgY29udGV4dCA9IHJlYWRDb250ZXh0KGNvbnRleHRUeXBlKTtcbiAgfSBlbHNlIHtcbiAgICB1bm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIGN0b3IsIHRydWUpO1xuICAgIHZhciBjb250ZXh0VHlwZXMgPSBjdG9yLmNvbnRleHRUeXBlcztcbiAgICBpc0xlZ2FjeUNvbnRleHRDb25zdW1lciA9IGNvbnRleHRUeXBlcyAhPT0gbnVsbCAmJiBjb250ZXh0VHlwZXMgIT09IHVuZGVmaW5lZDtcbiAgICBjb250ZXh0ID0gaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPyBnZXRNYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQpIDogZW1wdHlDb250ZXh0T2JqZWN0O1xuICB9XG5cbiAgdmFyIGluc3RhbmNlID0gbmV3IGN0b3IocHJvcHMsIGNvbnRleHQpOyAvLyBJbnN0YW50aWF0ZSB0d2ljZSB0byBoZWxwIGRldGVjdCBzaWRlLWVmZmVjdHMuXG5cbiAge1xuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHModHJ1ZSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGluc3RhbmNlID0gbmV3IGN0b3IocHJvcHMsIGNvbnRleHQpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHMoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBzdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZSAhPT0gbnVsbCAmJiBpbnN0YW5jZS5zdGF0ZSAhPT0gdW5kZWZpbmVkID8gaW5zdGFuY2Uuc3RhdGUgOiBudWxsO1xuICBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcblxuICB7XG4gICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBzdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0VW5pbml0aWFsaXplZFN0YXRlLmhhcyhjb21wb25lbnROYW1lKSkge1xuICAgICAgICBkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGUuYWRkKGNvbXBvbmVudE5hbWUpO1xuXG4gICAgICAgIGVycm9yKCdgJXNgIHVzZXMgYGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc2AgYnV0IGl0cyBpbml0aWFsIHN0YXRlIGlzICcgKyAnJXMuIFRoaXMgaXMgbm90IHJlY29tbWVuZGVkLiBJbnN0ZWFkLCBkZWZpbmUgdGhlIGluaXRpYWwgc3RhdGUgYnkgJyArICdhc3NpZ25pbmcgYW4gb2JqZWN0IHRvIGB0aGlzLnN0YXRlYCBpbiB0aGUgY29uc3RydWN0b3Igb2YgYCVzYC4gJyArICdUaGlzIGVuc3VyZXMgdGhhdCBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBhcmd1bWVudHMgaGF2ZSBhIGNvbnNpc3RlbnQgc2hhcGUuJywgY29tcG9uZW50TmFtZSwgaW5zdGFuY2Uuc3RhdGUgPT09IG51bGwgPyAnbnVsbCcgOiAndW5kZWZpbmVkJywgY29tcG9uZW50TmFtZSk7XG4gICAgICB9XG4gICAgfSAvLyBJZiBuZXcgY29tcG9uZW50IEFQSXMgYXJlIGRlZmluZWQsIFwidW5zYWZlXCIgbGlmZWN5Y2xlcyB3b24ndCBiZSBjYWxsZWQuXG4gICAgLy8gV2FybiBhYm91dCB0aGVzZSBsaWZlY3ljbGVzIGlmIHRoZXkgYXJlIHByZXNlbnQuXG4gICAgLy8gRG9uJ3Qgd2FybiBhYm91dCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIG1ldGhvZHMgdGhvdWdoLlxuXG5cbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGZvdW5kV2lsbE1vdW50TmFtZSA9IG51bGw7XG4gICAgICB2YXIgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9IG51bGw7XG4gICAgICB2YXIgZm91bmRXaWxsVXBkYXRlTmFtZSA9IG51bGw7XG5cbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudC5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICAgIGZvdW5kV2lsbE1vdW50TmFtZSA9ICdjb21wb25lbnRXaWxsTW91bnQnO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBmb3VuZFdpbGxNb3VudE5hbWUgPSAnVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgICAgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9ICdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJztcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgPSAnVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMnO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZS5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICAgIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSAnY29tcG9uZW50V2lsbFVwZGF0ZSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBmb3VuZFdpbGxVcGRhdGVOYW1lID0gJ1VOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJztcbiAgICAgIH1cblxuICAgICAgaWYgKGZvdW5kV2lsbE1vdW50TmFtZSAhPT0gbnVsbCB8fCBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lICE9PSBudWxsIHx8IGZvdW5kV2lsbFVwZGF0ZU5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIF9jb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGN0b3IpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICAgIHZhciBuZXdBcGlOYW1lID0gdHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nID8gJ2dldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpJyA6ICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSgpJztcblxuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dExlZ2FjeUxpZmVjeWNsZXNBbmREZXJpdmVkU3RhdGUuaGFzKF9jb21wb25lbnROYW1lKSkge1xuICAgICAgICAgIGRpZFdhcm5BYm91dExlZ2FjeUxpZmVjeWNsZXNBbmREZXJpdmVkU3RhdGUuYWRkKF9jb21wb25lbnROYW1lKTtcblxuICAgICAgICAgIGVycm9yKCdVbnNhZmUgbGVnYWN5IGxpZmVjeWNsZXMgd2lsbCBub3QgYmUgY2FsbGVkIGZvciBjb21wb25lbnRzIHVzaW5nIG5ldyBjb21wb25lbnQgQVBJcy5cXG5cXG4nICsgJyVzIHVzZXMgJXMgYnV0IGFsc28gY29udGFpbnMgdGhlIGZvbGxvd2luZyBsZWdhY3kgbGlmZWN5Y2xlczolcyVzJXNcXG5cXG4nICsgJ1RoZSBhYm92ZSBsaWZlY3ljbGVzIHNob3VsZCBiZSByZW1vdmVkLiBMZWFybiBtb3JlIGFib3V0IHRoaXMgd2FybmluZyBoZXJlOlxcbicgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcycsIF9jb21wb25lbnROYW1lLCBuZXdBcGlOYW1lLCBmb3VuZFdpbGxNb3VudE5hbWUgIT09IG51bGwgPyBcIlxcbiAgXCIgKyBmb3VuZFdpbGxNb3VudE5hbWUgOiAnJywgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSAhPT0gbnVsbCA/IFwiXFxuICBcIiArIGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgOiAnJywgZm91bmRXaWxsVXBkYXRlTmFtZSAhPT0gbnVsbCA/IFwiXFxuICBcIiArIGZvdW5kV2lsbFVwZGF0ZU5hbWUgOiAnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2FjaGUgdW5tYXNrZWQgY29udGV4dCBzbyB3ZSBjYW4gYXZvaWQgcmVjcmVhdGluZyBtYXNrZWQgY29udGV4dCB1bmxlc3MgbmVjZXNzYXJ5LlxuICAvLyBSZWFjdEZpYmVyQ29udGV4dCB1c3VhbGx5IHVwZGF0ZXMgdGhpcyBjYWNoZSBidXQgY2FuJ3QgZm9yIG5ld2x5LWNyZWF0ZWQgaW5zdGFuY2VzLlxuXG5cbiAgaWYgKGlzTGVnYWN5Q29udGV4dENvbnN1bWVyKSB7XG4gICAgY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBjYWxsQ29tcG9uZW50V2lsbE1vdW50KHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSkge1xuICB2YXIgb2xkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCgpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpO1xuICB9XG5cbiAgaWYgKG9sZFN0YXRlICE9PSBpbnN0YW5jZS5zdGF0ZSkge1xuICAgIHtcbiAgICAgIGVycm9yKCclcy5jb21wb25lbnRXaWxsTW91bnQoKTogQXNzaWduaW5nIGRpcmVjdGx5IHRvIHRoaXMuc3RhdGUgaXMgJyArIFwiZGVwcmVjYXRlZCAoZXhjZXB0IGluc2lkZSBhIGNvbXBvbmVudCdzIFwiICsgJ2NvbnN0cnVjdG9yKS4gVXNlIHNldFN0YXRlIGluc3RlYWQuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcih3b3JrSW5Qcm9ncmVzcykgfHwgJ0NvbXBvbmVudCcpO1xuICAgIH1cblxuICAgIGNsYXNzQ29tcG9uZW50VXBkYXRlci5lbnF1ZXVlUmVwbGFjZVN0YXRlKGluc3RhbmNlLCBpbnN0YW5jZS5zdGF0ZSwgbnVsbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpIHtcbiAgdmFyIG9sZFN0YXRlID0gaW5zdGFuY2Uuc3RhdGU7XG5cbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5ld1Byb3BzLCBuZXh0Q29udGV4dCk7XG4gIH1cblxuICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IG9sZFN0YXRlKSB7XG4gICAge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHdvcmtJblByb2dyZXNzKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdGF0ZUFzc2lnbm1lbnRGb3JDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFN0YXRlQXNzaWdubWVudEZvckNvbXBvbmVudC5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJyVzLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKTogQXNzaWduaW5nIGRpcmVjdGx5IHRvICcgKyBcInRoaXMuc3RhdGUgaXMgZGVwcmVjYXRlZCAoZXhjZXB0IGluc2lkZSBhIGNvbXBvbmVudCdzIFwiICsgJ2NvbnN0cnVjdG9yKS4gVXNlIHNldFN0YXRlIGluc3RlYWQuJywgY29tcG9uZW50TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2xhc3NDb21wb25lbnRVcGRhdGVyLmVucXVldWVSZXBsYWNlU3RhdGUoaW5zdGFuY2UsIGluc3RhbmNlLnN0YXRlLCBudWxsKTtcbiAgfVxufSAvLyBJbnZva2VzIHRoZSBtb3VudCBsaWZlLWN5Y2xlcyBvbiBhIHByZXZpb3VzbHkgbmV2ZXIgcmVuZGVyZWQgaW5zdGFuY2UuXG5cblxuZnVuY3Rpb24gbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAge1xuICAgIGNoZWNrQ2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMpO1xuICB9XG5cbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICBpbnN0YW5jZS5wcm9wcyA9IG5ld1Byb3BzO1xuICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIGluc3RhbmNlLnJlZnMgPSB7fTtcbiAgaW5pdGlhbGl6ZVVwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGluc3RhbmNlLmNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XG4gICAgaW5zdGFuY2UuY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB7XG4gICAgaWYgKGluc3RhbmNlLnN0YXRlID09PSBuZXdQcm9wcykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlLmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXM6IEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBhc3NpZ24gcHJvcHMgZGlyZWN0bHkgdG8gc3RhdGUgJyArIFwiYmVjYXVzZSB1cGRhdGVzIHRvIHByb3BzIHdvbid0IGJlIHJlZmxlY3RlZCBpbiBzdGF0ZS4gXCIgKyAnSW4gbW9zdCBjYXNlcywgaXQgaXMgYmV0dGVyIHRvIHVzZSBwcm9wcyBkaXJlY3RseS4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3Mod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcbiAgfVxuXG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO1xuXG4gIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV3UHJvcHMpO1xuICAgIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgfSAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcbiAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cblxuXG4gIGlmICh0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlICE9PSAnZnVuY3Rpb24nICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSkge1xuICAgIGNhbGxDb21wb25lbnRXaWxsTW91bnQod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTsgLy8gSWYgd2UgaGFkIGFkZGl0aW9uYWwgc3RhdGUgdXBkYXRlcyBkdXJpbmcgdGhpcyBsaWZlLWN5Y2xlLCBsZXQnc1xuICAgIC8vIHByb2Nlc3MgdGhlbSBub3cuXG5cbiAgICBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIG5ld1Byb3BzLCBpbnN0YW5jZSwgcmVuZGVyTGFuZXMpO1xuICAgIHN1c3BlbmRJZlVwZGF0ZVJlYWRGcm9tRW50YW5nbGVkQXN5bmNBY3Rpb24oKTtcbiAgICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlIHwgTGF5b3V0U3RhdGljO1xuICB9XG5cbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBNb3VudExheW91dERldjtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXN1bWVNb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIGluc3RhbmNlLnByb3BzID0gb2xkUHJvcHM7XG4gIHZhciBvbGRDb250ZXh0ID0gaW5zdGFuY2UuY29udGV4dDtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcbiAgdmFyIG5leHRDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xuXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XG4gICAgbmV4dENvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIGN0b3IsIHRydWUpO1xuICAgIG5leHRDb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgbmV4dExlZ2FjeVVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB2YXIgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7XG4gIHZhciBoYXNOZXdMaWZlY3ljbGVzID0gdHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbic7IC8vIE5vdGU6IER1cmluZyB0aGVzZSBsaWZlLWN5Y2xlcywgaW5zdGFuY2UucHJvcHMvaW5zdGFuY2Uuc3RhdGUgYXJlIHdoYXRcbiAgLy8gZXZlciB0aGUgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gcmVuZGVyIC0gbm90IHRoZSBcImN1cnJlbnRcIi4gSG93ZXZlcixcbiAgLy8gZHVyaW5nIGNvbXBvbmVudERpZFVwZGF0ZSB3ZSBwYXNzIHRoZSBcImN1cnJlbnRcIiBwcm9wcy5cbiAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cbiAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgaWYgKG9sZFByb3BzICE9PSBuZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCk7XG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcyk7XG4gIHN1c3BlbmRJZlVwZGF0ZVJlYWRGcm9tRW50YW5nbGVkQXN5bmNBY3Rpb24oKTtcbiAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChvbGRQcm9wcyA9PT0gbmV3UHJvcHMgJiYgb2xkU3RhdGUgPT09IG5ld1N0YXRlICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpICYmICFjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nKCkpIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZSB8IExheW91dFN0YXRpYztcbiAgICB9XG5cbiAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RFZmZlY3RzTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXdQcm9wcyk7XG4gICAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB9XG5cbiAgdmFyIHNob3VsZFVwZGF0ZSA9IGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB8fCBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cbiAgICBpZiAoIWhhc05ld0xpZmVjeWNsZXMgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGUgfCBMYXlvdXRTdGF0aWM7XG4gICAgfVxuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IE1vdW50TGF5b3V0RGV2O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZSB8IExheW91dFN0YXRpYztcbiAgICB9XG5cbiAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RFZmZlY3RzTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgfSAvLyBJZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJuZWQgZmFsc2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlXG4gICAgLy8gbWVtb2l6ZWQgc3RhdGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHdvcmsgY2FuIGJlIHJldXNlZC5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IG5ld1Byb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBVcGRhdGUgdGhlIGV4aXN0aW5nIGluc3RhbmNlJ3Mgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCBwb2ludGVycyBldmVuXG4gIC8vIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlLlxuXG5cbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcbiAgaW5zdGFuY2Uuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgaW5zdGFuY2UuY29udGV4dCA9IG5leHRDb250ZXh0O1xuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufSAvLyBJbnZva2VzIHRoZSB1cGRhdGUgbGlmZS1jeWNsZXMgYW5kIHJldHVybnMgZmFsc2UgaWYgaXQgc2hvdWxkbid0IHJlcmVuZGVyLlxuXG5cbmZ1bmN0aW9uIHVwZGF0ZUNsYXNzSW5zdGFuY2UoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIGNsb25lVXBkYXRlUXVldWUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICB2YXIgdW5yZXNvbHZlZE9sZFByb3BzID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcztcbiAgdmFyIG9sZFByb3BzID0gd29ya0luUHJvZ3Jlc3MudHlwZSA9PT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPyB1bnJlc29sdmVkT2xkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKHdvcmtJblByb2dyZXNzLnR5cGUsIHVucmVzb2x2ZWRPbGRQcm9wcyk7XG4gIGluc3RhbmNlLnByb3BzID0gb2xkUHJvcHM7XG4gIHZhciB1bnJlc29sdmVkTmV3UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHZhciBvbGRDb250ZXh0ID0gaW5zdGFuY2UuY29udGV4dDtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcbiAgdmFyIG5leHRDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xuXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XG4gICAgbmV4dENvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIG5leHRVbm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIGN0b3IsIHRydWUpO1xuICAgIG5leHRDb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgbmV4dFVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB2YXIgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7XG4gIHZhciBoYXNOZXdMaWZlY3ljbGVzID0gdHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbic7IC8vIE5vdGU6IER1cmluZyB0aGVzZSBsaWZlLWN5Y2xlcywgaW5zdGFuY2UucHJvcHMvaW5zdGFuY2Uuc3RhdGUgYXJlIHdoYXRcbiAgLy8gZXZlciB0aGUgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gcmVuZGVyIC0gbm90IHRoZSBcImN1cnJlbnRcIi4gSG93ZXZlcixcbiAgLy8gZHVyaW5nIGNvbXBvbmVudERpZFVwZGF0ZSB3ZSBwYXNzIHRoZSBcImN1cnJlbnRcIiBwcm9wcy5cbiAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cbiAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgaWYgKHVucmVzb2x2ZWRPbGRQcm9wcyAhPT0gdW5yZXNvbHZlZE5ld1Byb3BzIHx8IG9sZENvbnRleHQgIT09IG5leHRDb250ZXh0KSB7XG4gICAgICBjYWxsQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UsIG5ld1Byb3BzLCBuZXh0Q29udGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRIYXNGb3JjZVVwZGF0ZUJlZm9yZVByb2Nlc3NpbmcoKTtcbiAgdmFyIG9sZFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIG5ld1N0YXRlID0gaW5zdGFuY2Uuc3RhdGUgPSBvbGRTdGF0ZTtcbiAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckxhbmVzKTtcbiAgc3VzcGVuZElmVXBkYXRlUmVhZEZyb21FbnRhbmdsZWRBc3luY0FjdGlvbigpO1xuICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHVucmVzb2x2ZWRPbGRQcm9wcyA9PT0gdW5yZXNvbHZlZE5ld1Byb3BzICYmIG9sZFN0YXRlID09PSBuZXdTdGF0ZSAmJiAhaGFzQ29udGV4dENoYW5nZWQoKSAmJiAhY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpICYmICEoZW5hYmxlTGF6eUNvbnRleHRQcm9wYWdhdGlvbiAgICkpIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAodW5yZXNvbHZlZE9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKHVucmVzb2x2ZWRPbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gU25hcHNob3Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXdQcm9wcyk7XG4gICAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB9XG5cbiAgdmFyIHNob3VsZFVwZGF0ZSA9IGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB8fCBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KSB8fCAvLyBUT0RPOiBJbiBzb21lIGNhc2VzLCB3ZSdsbCBlbmQgdXAgY2hlY2tpbmcgaWYgY29udGV4dCBoYXMgY2hhbmdlZCB0d2ljZSxcbiAgLy8gYm90aCBiZWZvcmUgYW5kIGFmdGVyIGBzaG91bGRDb21wb25lbnRVcGRhdGVgIGhhcyBiZWVuIGNhbGxlZC4gTm90IGlkZWFsLFxuICAvLyBidXQgSSdtIGxvYXRoIHRvIHJlZmFjdG9yIHRoaXMgZnVuY3Rpb24uIFRoaXMgb25seSBoYXBwZW5zIGZvciBtZW1vaXplZFxuICAvLyBjb21wb25lbnRzIHNvIGl0J3Mgbm90IHRoYXQgY29tbW9uLlxuICBlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uICAgO1xuXG4gIGlmIChzaG91bGRVcGRhdGUpIHtcbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcbiAgICAvLyBVbnNhZmUgbGlmZWN5Y2xlcyBzaG91bGQgbm90IGJlIGludm9rZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgdGhlIG5ldyBBUElzLlxuICAgIGlmICghaGFzTmV3TGlmZWN5Y2xlcyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSkge1xuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTbmFwc2hvdDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgYW4gdXBkYXRlIHdhcyBhbHJlYWR5IGluIHByb2dyZXNzLCB3ZSBzaG91bGQgc2NoZWR1bGUgYW4gVXBkYXRlXG4gICAgLy8gZWZmZWN0IGV2ZW4gdGhvdWdoIHdlJ3JlIGJhaWxpbmcgb3V0LCBzbyB0aGF0IGNXVS9jRFUgYXJlIGNhbGxlZC5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKHVucmVzb2x2ZWRPbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh1bnJlc29sdmVkT2xkUHJvcHMgIT09IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB8fCBvbGRTdGF0ZSAhPT0gY3VycmVudC5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNuYXBzaG90O1xuICAgICAgfVxuICAgIH0gLy8gSWYgc2hvdWxkQ29tcG9uZW50VXBkYXRlIHJldHVybmVkIGZhbHNlLCB3ZSBzaG91bGQgc3RpbGwgdXBkYXRlIHRoZVxuICAgIC8vIG1lbW9pemVkIHByb3BzL3N0YXRlIHRvIGluZGljYXRlIHRoYXQgdGhpcyB3b3JrIGNhbiBiZSByZXVzZWQuXG5cblxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBuZXdQcm9wcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7XG4gIH0gLy8gVXBkYXRlIHRoZSBleGlzdGluZyBpbnN0YW5jZSdzIHN0YXRlLCBwcm9wcywgYW5kIGNvbnRleHQgcG9pbnRlcnMgZXZlblxuICAvLyBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZS5cblxuXG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gbmV3U3RhdGU7XG4gIGluc3RhbmNlLmNvbnRleHQgPSBuZXh0Q29udGV4dDtcbiAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbn1cblxudmFyIENhcHR1cmVkU3RhY2tzID0gbmV3IFdlYWtNYXAoKTtcbmZ1bmN0aW9uIGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKHZhbHVlLCBzb3VyY2UpIHtcbiAgLy8gSWYgdGhlIHZhbHVlIGlzIGFuIGVycm9yLCBjYWxsIHRoaXMgZnVuY3Rpb24gaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgdGhyb3duXG4gIC8vIHNvIHRoZSBzdGFjayBpcyBhY2N1cmF0ZS5cbiAgdmFyIHN0YWNrO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgdmFyIGNhcHR1cmVkU3RhY2sgPSBDYXB0dXJlZFN0YWNrcy5nZXQodmFsdWUpO1xuXG4gICAgaWYgKHR5cGVvZiBjYXB0dXJlZFN0YWNrID09PSAnc3RyaW5nJykge1xuICAgICAgc3RhY2sgPSBjYXB0dXJlZFN0YWNrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGFjayA9IGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChzb3VyY2UpO1xuICAgICAgQ2FwdHVyZWRTdGFja3Muc2V0KHZhbHVlLCBzdGFjayk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHN0YWNrID0gZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKHNvdXJjZSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICBzdGFjazogc3RhY2ssXG4gICAgZGlnZXN0OiBudWxsXG4gIH07XG59XG5mdW5jdGlvbiBjcmVhdGVDYXB0dXJlZFZhbHVlRnJvbUVycm9yKHZhbHVlLCBkaWdlc3QsIHN0YWNrKSB7XG4gIGlmICh0eXBlb2Ygc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgQ2FwdHVyZWRTdGFja3Muc2V0KHZhbHVlLCBzdGFjayk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBzb3VyY2U6IG51bGwsXG4gICAgc3RhY2s6IHN0YWNrICE9IG51bGwgPyBzdGFjayA6IG51bGwsXG4gICAgZGlnZXN0OiBkaWdlc3QgIT0gbnVsbCA/IGRpZ2VzdCA6IG51bGxcbiAgfTtcbn1cblxuLy8gVGhpcyBtb2R1bGUgaXMgZm9ya2VkIGluIGRpZmZlcmVudCBlbnZpcm9ubWVudHMuXG4vLyBCeSBkZWZhdWx0LCByZXR1cm4gYHRydWVgIHRvIGxvZyBlcnJvcnMgdG8gdGhlIGNvbnNvbGUuXG4vLyBGb3JrcyBjYW4gcmV0dXJuIGBmYWxzZWAgaWYgdGhpcyBpc24ndCBkZXNpcmFibGUuXG5mdW5jdGlvbiBzaG93RXJyb3JEaWFsb2coYm91bmRhcnksIGVycm9ySW5mbykge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbG9nQ2FwdHVyZWRFcnJvcihib3VuZGFyeSwgZXJyb3JJbmZvKSB7XG4gIHRyeSB7XG4gICAgdmFyIGxvZ0Vycm9yID0gc2hvd0Vycm9yRGlhbG9nKGJvdW5kYXJ5LCBlcnJvckluZm8pOyAvLyBBbGxvdyBpbmplY3RlZCBzaG93RXJyb3JEaWFsb2coKSB0byBwcmV2ZW50IGRlZmF1bHQgY29uc29sZS5lcnJvciBsb2dnaW5nLlxuICAgIC8vIFRoaXMgZW5hYmxlcyByZW5kZXJlcnMgbGlrZSBSZWFjdE5hdGl2ZSB0byBiZXR0ZXIgbWFuYWdlIHJlZGJveCBiZWhhdmlvci5cblxuICAgIGlmIChsb2dFcnJvciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZXJyb3IgPSBlcnJvckluZm8udmFsdWU7XG5cbiAgICBpZiAodHJ1ZSkge1xuICAgICAgdmFyIHNvdXJjZSA9IGVycm9ySW5mby5zb3VyY2U7XG4gICAgICB2YXIgc3RhY2sgPSBlcnJvckluZm8uc3RhY2s7XG4gICAgICB2YXIgY29tcG9uZW50U3RhY2sgPSBzdGFjayAhPT0gbnVsbCA/IHN0YWNrIDogJyc7IC8vIEJyb3dzZXJzIHN1cHBvcnQgc2lsZW5jaW5nIHVuY2F1Z2h0IGVycm9ycyBieSBjYWxsaW5nXG4gICAgICAvLyBgcHJldmVudERlZmF1bHQoKWAgaW4gd2luZG93IGBlcnJvcmAgaGFuZGxlci5cbiAgICAgIC8vIFdlIHJlY29yZCB0aGlzIGluZm9ybWF0aW9uIGFzIGFuIGV4cGFuZG8gb24gdGhlIGVycm9yLlxuXG4gICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiBlcnJvci5fc3VwcHJlc3NMb2dnaW5nKSB7XG4gICAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgICAgLy8gVGhlIGVycm9yIGlzIHJlY292ZXJhYmxlIGFuZCB3YXMgc2lsZW5jZWQuXG4gICAgICAgICAgLy8gSWdub3JlIGl0IGFuZCBkb24ndCBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG4gICAgICAgICAgLy8gVGhpcyBpcyBoYW5keSBmb3IgdGVzdGluZyBlcnJvciBib3VuZGFyaWVzIHdpdGhvdXQgbm9pc2UuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFRoZSBlcnJvciBpcyBmYXRhbC4gU2luY2UgdGhlIHNpbGVuY2luZyBtaWdodCBoYXZlXG4gICAgICAgIC8vIGJlZW4gYWNjaWRlbnRhbCwgd2UnbGwgc3VyZmFjZSBpdCBhbnl3YXkuXG4gICAgICAgIC8vIEhvd2V2ZXIsIHRoZSBicm93c2VyIHdvdWxkIGhhdmUgc2lsZW5jZWQgdGhlIG9yaWdpbmFsIGVycm9yXG4gICAgICAgIC8vIHNvIHdlJ2xsIHByaW50IGl0IGZpcnN0LCBhbmQgdGhlbiBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG5cblxuICAgICAgICBjb25zb2xlWydlcnJvciddKGVycm9yKTsgLy8gRG9uJ3QgdHJhbnNmb3JtIHRvIG91ciB3cmFwcGVyXG4gICAgICAgIC8vIEZvciBhIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhpcyBibG9jaywgc2VlOlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMzM4NFxuICAgICAgfVxuXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IHNvdXJjZSA/IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoc291cmNlKSA6IG51bGw7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZU1lc3NhZ2UgPSBjb21wb25lbnROYW1lID8gXCJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGhlIDxcIiArIGNvbXBvbmVudE5hbWUgKyBcIj4gY29tcG9uZW50OlwiIDogJ1RoZSBhYm92ZSBlcnJvciBvY2N1cnJlZCBpbiBvbmUgb2YgeW91ciBSZWFjdCBjb21wb25lbnRzOic7XG4gICAgICB2YXIgZXJyb3JCb3VuZGFyeU1lc3NhZ2U7XG5cbiAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIGVycm9yQm91bmRhcnlNZXNzYWdlID0gJ0NvbnNpZGVyIGFkZGluZyBhbiBlcnJvciBib3VuZGFyeSB0byB5b3VyIHRyZWUgdG8gY3VzdG9taXplIGVycm9yIGhhbmRsaW5nIGJlaGF2aW9yLlxcbicgKyAnVmlzaXQgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Vycm9yLWJvdW5kYXJpZXMgdG8gbGVhcm4gbW9yZSBhYm91dCBlcnJvciBib3VuZGFyaWVzLic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgZXJyb3JCb3VuZGFyeU5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGJvdW5kYXJ5KSB8fCAnQW5vbnltb3VzJztcbiAgICAgICAgZXJyb3JCb3VuZGFyeU1lc3NhZ2UgPSBcIlJlYWN0IHdpbGwgdHJ5IHRvIHJlY3JlYXRlIHRoaXMgY29tcG9uZW50IHRyZWUgZnJvbSBzY3JhdGNoIFwiICsgKFwidXNpbmcgdGhlIGVycm9yIGJvdW5kYXJ5IHlvdSBwcm92aWRlZCwgXCIgKyBlcnJvckJvdW5kYXJ5TmFtZSArIFwiLlwiKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbWJpbmVkTWVzc2FnZSA9IGNvbXBvbmVudE5hbWVNZXNzYWdlICsgXCJcXG5cIiArIGNvbXBvbmVudFN0YWNrICsgXCJcXG5cXG5cIiArIChcIlwiICsgZXJyb3JCb3VuZGFyeU1lc3NhZ2UpOyAvLyBJbiBkZXZlbG9wbWVudCwgd2UgcHJvdmlkZSBvdXIgb3duIG1lc3NhZ2Ugd2l0aCBqdXN0IHRoZSBjb21wb25lbnQgc3RhY2suXG4gICAgICAvLyBXZSBkb24ndCBpbmNsdWRlIHRoZSBvcmlnaW5hbCBlcnJvciBtZXNzYWdlIGFuZCBKUyBzdGFjayBiZWNhdXNlIHRoZSBicm93c2VyXG4gICAgICAvLyBoYXMgYWxyZWFkeSBwcmludGVkIGl0LiBFdmVuIGlmIHRoZSBhcHBsaWNhdGlvbiBzd2FsbG93cyB0aGUgZXJyb3IsIGl0IGlzIHN0aWxsXG4gICAgICAvLyBkaXNwbGF5ZWQgYnkgdGhlIGJyb3dzZXIgdGhhbmtzIHRvIHRoZSBERVYtb25seSBmYWtlIGV2ZW50IHRyaWNrIGluIFJlYWN0RXJyb3JVdGlscy5cblxuICAgICAgY29uc29sZVsnZXJyb3InXShjb21iaW5lZE1lc3NhZ2UpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBUaGlzIG1ldGhvZCBtdXN0IG5vdCB0aHJvdywgb3IgUmVhY3QgaW50ZXJuYWwgc3RhdGUgd2lsbCBnZXQgbWVzc2VkIHVwLlxuICAgIC8vIElmIGNvbnNvbGUuZXJyb3IgaXMgb3ZlcnJpZGRlbiwgb3IgbG9nQ2FwdHVyZWRFcnJvcigpIHNob3dzIGEgZGlhbG9nIHRoYXQgdGhyb3dzLFxuICAgIC8vIHdlIHdhbnQgdG8gcmVwb3J0IHRoaXMgZXJyb3Igb3V0c2lkZSBvZiB0aGUgbm9ybWFsIHN0YWNrIGFzIGEgbGFzdCByZXNvcnQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzE4OFxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVSb290RXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgbGFuZSkge1xuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGxhbmUpOyAvLyBVbm1vdW50IHRoZSByb290IGJ5IHJlbmRlcmluZyBudWxsLlxuXG4gIHVwZGF0ZS50YWcgPSBDYXB0dXJlVXBkYXRlOyAvLyBDYXV0aW9uOiBSZWFjdCBEZXZUb29scyBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByb3BlcnR5XG4gIC8vIGJlaW5nIGNhbGxlZCBcImVsZW1lbnRcIi5cblxuICB1cGRhdGUucGF5bG9hZCA9IHtcbiAgICBlbGVtZW50OiBudWxsXG4gIH07XG4gIHZhciBlcnJvciA9IGVycm9ySW5mby52YWx1ZTtcblxuICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgb25VbmNhdWdodEVycm9yKGVycm9yKTtcbiAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuICB9O1xuXG4gIHJldHVybiB1cGRhdGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgbGFuZSkge1xuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGxhbmUpO1xuICB1cGRhdGUudGFnID0gQ2FwdHVyZVVwZGF0ZTtcbiAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9IGZpYmVyLnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yO1xuXG4gIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIGVycm9yJDEgPSBlcnJvckluZm8udmFsdWU7XG5cbiAgICB1cGRhdGUucGF5bG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IkMSk7XG4gICAgfTtcblxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHtcbiAgICAgICAgbWFya0ZhaWxlZEVycm9yQm91bmRhcnlGb3JIb3RSZWxvYWRpbmcoZmliZXIpO1xuICAgICAgfVxuXG4gICAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuICAgIH07XG4gIH1cblxuICB2YXIgaW5zdCA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICBpZiAoaW5zdCAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdC5jb21wb25lbnREaWRDYXRjaCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vICRGbG93Rml4TWVbbWlzc2luZy10aGlzLWFubm90XVxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGZ1bmN0aW9uIGNhbGxiYWNrKCkge1xuICAgICAge1xuICAgICAgICBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcik7XG4gICAgICB9XG5cbiAgICAgIGxvZ0NhcHR1cmVkRXJyb3IoZmliZXIsIGVycm9ySW5mbyk7XG5cbiAgICAgIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFRvIHByZXNlcnZlIHRoZSBwcmVleGlzdGluZyByZXRyeSBiZWhhdmlvciBvZiBlcnJvciBib3VuZGFyaWVzLFxuICAgICAgICAvLyB3ZSBrZWVwIHRyYWNrIG9mIHdoaWNoIG9uZXMgYWxyZWFkeSBmYWlsZWQgZHVyaW5nIHRoaXMgYmF0Y2guXG4gICAgICAgIC8vIFRoaXMgZ2V0cyByZXNldCBiZWZvcmUgd2UgeWllbGQgYmFjayB0byB0aGUgYnJvd3Nlci5cbiAgICAgICAgLy8gVE9ETzogV2FybiBpbiBzdHJpY3QgbW9kZSBpZiBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgaXNcbiAgICAgICAgLy8gbm90IGRlZmluZWQuXG4gICAgICAgIG1hcmtMZWdhY3lFcnJvckJvdW5kYXJ5QXNGYWlsZWQodGhpcyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBlcnJvciQxID0gZXJyb3JJbmZvLnZhbHVlO1xuICAgICAgdmFyIHN0YWNrID0gZXJyb3JJbmZvLnN0YWNrO1xuICAgICAgdGhpcy5jb21wb25lbnREaWRDYXRjaChlcnJvciQxLCB7XG4gICAgICAgIGNvbXBvbmVudFN0YWNrOiBzdGFjayAhPT0gbnVsbCA/IHN0YWNrIDogJydcbiAgICAgIH0pO1xuXG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gSWYgY29tcG9uZW50RGlkQ2F0Y2ggaXMgdGhlIG9ubHkgZXJyb3IgYm91bmRhcnkgbWV0aG9kIGRlZmluZWQsXG4gICAgICAgICAgLy8gdGhlbiBpdCBuZWVkcyB0byBjYWxsIHNldFN0YXRlIHRvIHJlY292ZXIgZnJvbSBlcnJvcnMuXG4gICAgICAgICAgLy8gSWYgbm8gc3RhdGUgdXBkYXRlIGlzIHNjaGVkdWxlZCB0aGVuIHRoZSBib3VuZGFyeSB3aWxsIHN3YWxsb3cgdGhlIGVycm9yLlxuICAgICAgICAgIGlmICghaW5jbHVkZXNTb21lTGFuZShmaWJlci5sYW5lcywgU3luY0xhbmUpKSB7XG4gICAgICAgICAgICBlcnJvcignJXM6IEVycm9yIGJvdW5kYXJpZXMgc2hvdWxkIGltcGxlbWVudCBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoKS4gJyArICdJbiB0aGF0IG1ldGhvZCwgcmV0dXJuIGEgc3RhdGUgdXBkYXRlIHRvIGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBvciBmYWxsYmFjayBVSS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gdXBkYXRlO1xufVxuXG5mdW5jdGlvbiByZXNldFN1c3BlbmRlZENvbXBvbmVudChzb3VyY2VGaWJlciwgcm9vdFJlbmRlckxhbmVzKSB7XG4gIC8vIEEgbGVnYWN5IG1vZGUgU3VzcGVuc2UgcXVpcmssIG9ubHkgcmVsZXZhbnQgdG8gaG9vayBjb21wb25lbnRzLlxuXG5cbiAgdmFyIHRhZyA9IHNvdXJjZUZpYmVyLnRhZztcblxuICBpZiAoKHNvdXJjZUZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSAmJiAodGFnID09PSBGdW5jdGlvbkNvbXBvbmVudCB8fCB0YWcgPT09IEZvcndhcmRSZWYgfHwgdGFnID09PSBTaW1wbGVNZW1vQ29tcG9uZW50KSkge1xuICAgIHZhciBjdXJyZW50U291cmNlID0gc291cmNlRmliZXIuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKGN1cnJlbnRTb3VyY2UpIHtcbiAgICAgIHNvdXJjZUZpYmVyLnVwZGF0ZVF1ZXVlID0gY3VycmVudFNvdXJjZS51cGRhdGVRdWV1ZTtcbiAgICAgIHNvdXJjZUZpYmVyLm1lbW9pemVkU3RhdGUgPSBjdXJyZW50U291cmNlLm1lbW9pemVkU3RhdGU7XG4gICAgICBzb3VyY2VGaWJlci5sYW5lcyA9IGN1cnJlbnRTb3VyY2UubGFuZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNvdXJjZUZpYmVyLnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgICAgIHNvdXJjZUZpYmVyLm1lbW9pemVkU3RhdGUgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrU3VzcGVuc2VCb3VuZGFyeVNob3VsZENhcHR1cmUoc3VzcGVuc2VCb3VuZGFyeSwgcmV0dXJuRmliZXIsIHNvdXJjZUZpYmVyLCByb290LCByb290UmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyBtYXJrcyBhIFN1c3BlbnNlIGJvdW5kYXJ5IHNvIHRoYXQgd2hlbiB3ZSdyZSB1bndpbmRpbmcgdGhlIHN0YWNrLFxuICAvLyBpdCBjYXB0dXJlcyB0aGUgc3VzcGVuZGVkIFwiZXhjZXB0aW9uXCIgYW5kIGRvZXMgYSBzZWNvbmQgKGZhbGxiYWNrKSBwYXNzLlxuICBpZiAoKHN1c3BlbnNlQm91bmRhcnkubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgLy8gTGVnYWN5IE1vZGUgU3VzcGVuc2VcbiAgICAvL1xuICAgIC8vIElmIHRoZSBib3VuZGFyeSBpcyBpbiBsZWdhY3kgbW9kZSwgd2Ugc2hvdWxkICpub3QqXG4gICAgLy8gc3VzcGVuZCB0aGUgY29tbWl0LiBQcmV0ZW5kIGFzIGlmIHRoZSBzdXNwZW5kZWQgY29tcG9uZW50IHJlbmRlcmVkXG4gICAgLy8gbnVsbCBhbmQga2VlcCByZW5kZXJpbmcuIFdoZW4gdGhlIFN1c3BlbnNlIGJvdW5kYXJ5IGNvbXBsZXRlcyxcbiAgICAvLyB3ZSdsbCBkbyBhIHNlY29uZCBwYXNzIHRvIHJlbmRlciB0aGUgZmFsbGJhY2suXG4gICAgaWYgKHN1c3BlbnNlQm91bmRhcnkgPT09IHJldHVybkZpYmVyKSB7XG4gICAgICAvLyBTcGVjaWFsIGNhc2Ugd2hlcmUgd2Ugc3VzcGVuZGVkIHdoaWxlIHJlY29uY2lsaW5nIHRoZSBjaGlsZHJlbiBvZlxuICAgICAgLy8gYSBTdXNwZW5zZSBib3VuZGFyeSdzIGlubmVyIE9mZnNjcmVlbiB3cmFwcGVyIGZpYmVyLiBUaGlzIGhhcHBlbnNcbiAgICAgIC8vIHdoZW4gYSBSZWFjdC5sYXp5IGNvbXBvbmVudCBpcyBhIGRpcmVjdCBjaGlsZCBvZiBhXG4gICAgICAvLyBTdXNwZW5zZSBib3VuZGFyeS5cbiAgICAgIC8vXG4gICAgICAvLyBTdXNwZW5zZSBib3VuZGFyaWVzIGFyZSBpbXBsZW1lbnRlZCBhcyBtdWx0aXBsZSBmaWJlcnMsIGJ1dCB0aGV5XG4gICAgICAvLyBhcmUgYSBzaW5nbGUgY29uY2VwdHVhbCB1bml0LiBUaGUgbGVnYWN5IG1vZGUgYmVoYXZpb3Igd2hlcmUgd2VcbiAgICAgIC8vIHByZXRlbmQgdGhlIHN1c3BlbmRlZCBmaWJlciBjb21taXR0ZWQgYXMgYG51bGxgIHdvbid0IHdvcmssXG4gICAgICAvLyBiZWNhdXNlIGluIHRoaXMgY2FzZSB0aGUgXCJzdXNwZW5kZWRcIiBmaWJlciBpcyB0aGUgaW5uZXJcbiAgICAgIC8vIE9mZnNjcmVlbiB3cmFwcGVyLlxuICAgICAgLy9cbiAgICAgIC8vIEJlY2F1c2UgdGhlIGNvbnRlbnRzIG9mIHRoZSBib3VuZGFyeSBoYXZlbid0IHN0YXJ0ZWQgcmVuZGVyaW5nXG4gICAgICAvLyB5ZXQgKGkuZS4gbm90aGluZyBpbiB0aGUgdHJlZSBoYXMgcGFydGlhbGx5IHJlbmRlcmVkKSB3ZSBjYW5cbiAgICAgIC8vIHN3aXRjaCB0byB0aGUgcmVndWxhciwgY29uY3VycmVudCBtb2RlIGJlaGF2aW9yOiBtYXJrIHRoZVxuICAgICAgLy8gYm91bmRhcnkgd2l0aCBTaG91bGRDYXB0dXJlIGFuZCBlbnRlciB0aGUgdW53aW5kIHBoYXNlLlxuICAgICAgc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBTaG91bGRDYXB0dXJlO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXNwZW5zZUJvdW5kYXJ5LmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICBzb3VyY2VGaWJlci5mbGFncyB8PSBGb3JjZVVwZGF0ZUZvckxlZ2FjeVN1c3BlbnNlOyAvLyBXZSdyZSBnb2luZyB0byBjb21taXQgdGhpcyBmaWJlciBldmVuIHRob3VnaCBpdCBkaWRuJ3QgY29tcGxldGUuXG4gICAgICAvLyBCdXQgd2Ugc2hvdWxkbid0IGNhbGwgYW55IGxpZmVjeWNsZSBtZXRob2RzIG9yIGNhbGxiYWNrcy4gUmVtb3ZlXG4gICAgICAvLyBhbGwgbGlmZWN5Y2xlIGVmZmVjdCB0YWdzLlxuXG4gICAgICBzb3VyY2VGaWJlci5mbGFncyAmPSB+KExpZmVjeWNsZUVmZmVjdE1hc2sgfCBJbmNvbXBsZXRlKTtcblxuICAgICAgaWYgKHNvdXJjZUZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgdmFyIGN1cnJlbnRTb3VyY2VGaWJlciA9IHNvdXJjZUZpYmVyLmFsdGVybmF0ZTtcblxuICAgICAgICBpZiAoY3VycmVudFNvdXJjZUZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBhIG5ldyBtb3VudC4gQ2hhbmdlIHRoZSB0YWcgc28gaXQncyBub3QgbWlzdGFrZW4gZm9yIGFcbiAgICAgICAgICAvLyBjb21wbGV0ZWQgY2xhc3MgY29tcG9uZW50LiBGb3IgZXhhbXBsZSwgd2Ugc2hvdWxkIG5vdCBjYWxsXG4gICAgICAgICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQgaWYgaXQgaXMgZGVsZXRlZC5cbiAgICAgICAgICBzb3VyY2VGaWJlci50YWcgPSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gV2hlbiB3ZSB0cnkgcmVuZGVyaW5nIGFnYWluLCB3ZSBzaG91bGQgbm90IHJldXNlIHRoZSBjdXJyZW50IGZpYmVyLFxuICAgICAgICAgIC8vIHNpbmNlIGl0J3Mga25vd24gdG8gYmUgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLiBVc2UgYSBmb3JjZSB1cGRhdGUgdG9cbiAgICAgICAgICAvLyBwcmV2ZW50IGEgYmFpbCBvdXQuXG4gICAgICAgICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShTeW5jTGFuZSk7XG4gICAgICAgICAgdXBkYXRlLnRhZyA9IEZvcmNlVXBkYXRlO1xuICAgICAgICAgIGVucXVldWVVcGRhdGUoc291cmNlRmliZXIsIHVwZGF0ZSwgU3luY0xhbmUpO1xuICAgICAgICB9XG4gICAgICB9IC8vIFRoZSBzb3VyY2UgZmliZXIgZGlkIG5vdCBjb21wbGV0ZS4gTWFyayBpdCB3aXRoIFN5bmMgcHJpb3JpdHkgdG9cbiAgICAgIC8vIGluZGljYXRlIHRoYXQgaXQgc3RpbGwgaGFzIHBlbmRpbmcgd29yay5cblxuXG4gICAgICBzb3VyY2VGaWJlci5sYW5lcyA9IG1lcmdlTGFuZXMoc291cmNlRmliZXIubGFuZXMsIFN5bmNMYW5lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VzcGVuc2VCb3VuZGFyeTtcbiAgfSAvLyBDb25maXJtZWQgdGhhdCB0aGUgYm91bmRhcnkgaXMgaW4gYSBjb25jdXJyZW50IG1vZGUgdHJlZS4gQ29udGludWVcbiAgLy8gd2l0aCB0aGUgbm9ybWFsIHN1c3BlbmQgcGF0aC5cbiAgLy9cbiAgLy8gQWZ0ZXIgdGhpcyB3ZSdsbCB1c2UgYSBzZXQgb2YgaGV1cmlzdGljcyB0byBkZXRlcm1pbmUgd2hldGhlciB0aGlzXG4gIC8vIHJlbmRlciBwYXNzIHdpbGwgcnVuIHRvIGNvbXBsZXRpb24gb3IgcmVzdGFydCBvciBcInN1c3BlbmRcIiB0aGUgY29tbWl0LlxuICAvLyBUaGUgYWN0dWFsIGxvZ2ljIGZvciB0aGlzIGlzIHNwcmVhZCBvdXQgaW4gZGlmZmVyZW50IHBsYWNlcy5cbiAgLy9cbiAgLy8gVGhpcyBmaXJzdCBwcmluY2lwbGUgaXMgdGhhdCBpZiB3ZSdyZSBnb2luZyB0byBzdXNwZW5kIHdoZW4gd2UgY29tcGxldGVcbiAgLy8gYSByb290LCB0aGVuIHdlIHNob3VsZCBhbHNvIHJlc3RhcnQgaWYgd2UgZ2V0IGFuIHVwZGF0ZSBvciBwaW5nIHRoYXRcbiAgLy8gbWlnaHQgdW5zdXNwZW5kIGl0LCBhbmQgdmljZSB2ZXJzYS4gVGhlIG9ubHkgcmVhc29uIHRvIHN1c3BlbmQgaXNcbiAgLy8gYmVjYXVzZSB5b3UgdGhpbmsgeW91IG1pZ2h0IHdhbnQgdG8gcmVzdGFydCBiZWZvcmUgY29tbWl0dGluZy4gSG93ZXZlcixcbiAgLy8gaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHJlc3RhcnQgb25seSB3aGlsZSBpbiB0aGUgcGVyaW9kIHdlJ3JlIHN1c3BlbmRlZC5cbiAgLy9cbiAgLy8gUmVzdGFydGluZyB0b28gYWdncmVzc2l2ZWx5IGlzIGFsc28gbm90IGdvb2QgYmVjYXVzZSBpdCBzdGFydmVzIG91dCBhbnlcbiAgLy8gaW50ZXJtZWRpYXRlIGxvYWRpbmcgc3RhdGUuIFNvIHdlIHVzZSBoZXVyaXN0aWNzIHRvIGRldGVybWluZSB3aGVuLlxuICAvLyBTdXNwZW5zZSBIZXVyaXN0aWNzXG4gIC8vXG4gIC8vIElmIG5vdGhpbmcgdGhyZXcgYSBQcm9taXNlIG9yIGFsbCB0aGUgc2FtZSBmYWxsYmFja3MgYXJlIGFscmVhZHkgc2hvd2luZyxcbiAgLy8gdGhlbiBkb24ndCBzdXNwZW5kL3Jlc3RhcnQuXG4gIC8vXG4gIC8vIElmIHRoaXMgaXMgYW4gaW5pdGlhbCByZW5kZXIgb2YgYSBuZXcgdHJlZSBvZiBTdXNwZW5zZSBib3VuZGFyaWVzIGFuZFxuICAvLyB0aG9zZSB0cmlnZ2VyIGEgZmFsbGJhY2ssIHRoZW4gZG9uJ3Qgc3VzcGVuZC9yZXN0YXJ0LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGNhbiBzaG93IHRoZSBpbml0aWFsIGxvYWRpbmcgc3RhdGUgYXMgcXVpY2tseSBhcyBwb3NzaWJsZS5cbiAgLy9cbiAgLy8gSWYgd2UgaGl0IGEgXCJEZWxheWVkXCIgY2FzZSwgc3VjaCBhcyB3aGVuIHdlJ2Qgc3dpdGNoIGZyb20gY29udGVudCBiYWNrIGludG9cbiAgLy8gYSBmYWxsYmFjaywgdGhlbiB3ZSBzaG91bGQgYWx3YXlzIHN1c3BlbmQvcmVzdGFydC4gVHJhbnNpdGlvbnMgYXBwbHlcbiAgLy8gdG8gdGhpcyBjYXNlLiBJZiBub25lIGlzIGRlZmluZWQsIEpORCBpcyB1c2VkIGluc3RlYWQuXG4gIC8vXG4gIC8vIElmIHdlJ3JlIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrIGFuZCBpdCBnZXRzIFwicmV0cmllZFwiLCBhbGxvd2luZyB1cyB0byBzaG93XG4gIC8vIGFub3RoZXIgbGV2ZWwsIGJ1dCB0aGVyZSdzIHN0aWxsIGFuIGlubmVyIGJvdW5kYXJ5IHRoYXQgd291bGQgc2hvdyBhIGZhbGxiYWNrLFxuICAvLyB0aGVuIHdlIHN1c3BlbmQvcmVzdGFydCBmb3IgNTAwbXMgc2luY2UgdGhlIGxhc3QgdGltZSB3ZSBzaG93ZWQgYSBmYWxsYmFja1xuICAvLyBhbnl3aGVyZSBpbiB0aGUgdHJlZS4gVGhpcyBlZmZlY3RpdmVseSB0aHJvdHRsZXMgcHJvZ3Jlc3NpdmUgbG9hZGluZyBpbnRvIGFcbiAgLy8gY29uc2lzdGVudCB0cmFpbiBvZiBjb21taXRzLiBUaGlzIGFsc28gZ2l2ZXMgdXMgYW4gb3Bwb3J0dW5pdHkgdG8gcmVzdGFydCB0b1xuICAvLyBnZXQgdG8gdGhlIGNvbXBsZXRlZCBzdGF0ZSBzbGlnaHRseSBlYXJsaWVyLlxuICAvL1xuICAvLyBJZiB0aGVyZSdzIGFtYmlndWl0eSBkdWUgdG8gYmF0Y2hpbmcgaXQncyByZXNvbHZlZCBpbiBwcmVmZXJlbmNlIG9mOlxuICAvLyAxKSBcImRlbGF5ZWRcIiwgMikgXCJpbml0aWFsIHJlbmRlclwiLCAzKSBcInJldHJ5XCIuXG4gIC8vXG4gIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgYSBcImJ1c3lcIiBzdGF0ZSBkb2Vzbid0IGdldCBmb3JjZSBjb21taXR0ZWQuIFdlIHdhbnQgdG9cbiAgLy8gZW5zdXJlIHRoYXQgbmV3IGluaXRpYWwgbG9hZGluZyBzdGF0ZXMgY2FuIGNvbW1pdCBhcyBzb29uIGFzIHBvc3NpYmxlLlxuXG5cbiAgc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBTaG91bGRDYXB0dXJlOyAvLyBUT0RPOiBJIHRoaW5rIHdlIGNhbiByZW1vdmUgdGhpcywgc2luY2Ugd2Ugbm93IHVzZSBgRGlkQ2FwdHVyZWAgaW5cbiAgLy8gdGhlIGJlZ2luIHBoYXNlIHRvIHByZXZlbnQgYW4gZWFybHkgYmFpbG91dC5cblxuICBzdXNwZW5zZUJvdW5kYXJ5LmxhbmVzID0gcm9vdFJlbmRlckxhbmVzO1xuICByZXR1cm4gc3VzcGVuc2VCb3VuZGFyeTtcbn1cblxuZnVuY3Rpb24gdGhyb3dFeGNlcHRpb24ocm9vdCwgcmV0dXJuRmliZXIsIHNvdXJjZUZpYmVyLCB2YWx1ZSwgcm9vdFJlbmRlckxhbmVzKSB7XG4gIC8vIFRoZSBzb3VyY2UgZmliZXIgZGlkIG5vdCBjb21wbGV0ZS5cbiAgc291cmNlRmliZXIuZmxhZ3MgfD0gSW5jb21wbGV0ZTtcblxuICB7XG4gICAgaWYgKGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgICAvLyBJZiB3ZSBoYXZlIHBlbmRpbmcgd29yayBzdGlsbCwgcmVzdG9yZSB0aGUgb3JpZ2luYWwgdXBkYXRlcnNcbiAgICAgIHJlc3RvcmVQZW5kaW5nVXBkYXRlcnMocm9vdCwgcm9vdFJlbmRlckxhbmVzKTtcbiAgICB9XG4gIH1cblxuICBpZiAodmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgd2FrZWFibGUuIFRoZSBjb21wb25lbnQgc3VzcGVuZGVkLlxuICAgICAgdmFyIHdha2VhYmxlID0gdmFsdWU7XG4gICAgICByZXNldFN1c3BlbmRlZENvbXBvbmVudChzb3VyY2VGaWJlcik7XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKGdldElzSHlkcmF0aW5nKCkgJiYgc291cmNlRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICAgICAgbWFya0RpZFRocm93V2hpbGVIeWRyYXRpbmdERVYoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgIHZhciBzdXNwZW5zZUJvdW5kYXJ5ID0gZ2V0U3VzcGVuc2VIYW5kbGVyKCk7XG5cbiAgICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5ICE9PSBudWxsKSB7XG4gICAgICAgIHN3aXRjaCAoc3VzcGVuc2VCb3VuZGFyeS50YWcpIHtcbiAgICAgICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAvLyBJZiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5IGlzIG5vdCBhbHJlYWR5IHNob3dpbmcgYSBmYWxsYmFjaywgbWFya1xuICAgICAgICAgICAgICAvLyB0aGUgaW4tcHJvZ3Jlc3MgcmVuZGVyIGFzIHN1c3BlbmRlZC4gV2UgdHJ5IHRvIHBlcmZvcm0gdGhpcyBsb2dpY1xuICAgICAgICAgICAgICAvLyBhcyBzb29uIGFzIHNvb24gYXMgcG9zc2libGUgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UsIHNvIHRoZSB3b3JrXG4gICAgICAgICAgICAgIC8vIGxvb3AgY2FuIGtub3cgdGhpbmdzIGxpa2Ugd2hldGhlciBpdCdzIE9LIHRvIHN3aXRjaCB0byBvdGhlciB0YXNrcyxcbiAgICAgICAgICAgICAgLy8gb3Igd2hldGhlciBpdCBjYW4gd2FpdCBmb3IgZGF0YSB0byByZXNvbHZlIGJlZm9yZSBjb250aW51aW5nLlxuICAgICAgICAgICAgICAvLyBUT0RPOiBNb3N0IG9mIHRoZXNlIGNoZWNrcyBhcmUgYWxyZWFkeSBwZXJmb3JtZWQgd2hlbiBlbnRlcmluZyBhXG4gICAgICAgICAgICAgIC8vIFN1c3BlbnNlIGJvdW5kYXJ5LiBXZSBzaG91bGQgdHJhY2sgdGhlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGFjayBzb1xuICAgICAgICAgICAgICAvLyB3ZSBkb24ndCBoYXZlIHRvIHJlY29tcHV0ZSBpdCBvbiBkZW1hbmQuIFRoaXMgd291bGQgYWxzbyBhbGxvdyB1c1xuICAgICAgICAgICAgICAvLyB0byB1bmlmeSB3aXRoIGB1c2VgIHdoaWNoIG5lZWRzIHRvIHBlcmZvcm0gdGhpcyBsb2dpYyBldmVuIHNvb25lcixcbiAgICAgICAgICAgICAgLy8gYmVmb3JlIGB0aHJvd0V4Y2VwdGlvbmAgaXMgY2FsbGVkLlxuICAgICAgICAgICAgICBpZiAoc291cmNlRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGdldFNoZWxsQm91bmRhcnkoKSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgLy8gU3VzcGVuZGVkIGluIHRoZSBcInNoZWxsXCIgb2YgdGhlIGFwcC4gVGhpcyBpcyBhbiB1bmRlc2lyYWJsZVxuICAgICAgICAgICAgICAgICAgLy8gbG9hZGluZyBzdGF0ZS4gV2Ugc2hvdWxkIGF2b2lkIGNvbW1pdHRpbmcgdGhpcyB0cmVlLlxuICAgICAgICAgICAgICAgICAgcmVuZGVyRGlkU3VzcGVuZERlbGF5SWZQb3NzaWJsZSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBzdXNwZW5kZWQgZGVlcGVyIHRoYW4gdGhlIHNoZWxsLCB3ZSBkb24ndCBuZWVkIHRvIGRlbGF5XG4gICAgICAgICAgICAgICAgICAvLyB0aGUgY29tbW1pdC4gSG93ZXZlciwgd2Ugc3RpbGwgY2FsbCByZW5kZXJEaWRTdXNwZW5kIGlmIHRoaXMgaXNcbiAgICAgICAgICAgICAgICAgIC8vIGEgbmV3IGJvdW5kYXJ5LCB0byB0ZWxsIHRoZSB3b3JrIGxvb3AgdGhhdCBhIG5ldyBmYWxsYmFjayBoYXNcbiAgICAgICAgICAgICAgICAgIC8vIGFwcGVhcmVkIGR1cmluZyB0aGlzIHJlbmRlci5cbiAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFRoZW9yZXRpY2FsbHkgd2Ugc2hvdWxkIGJlIGFibGUgdG8gZGVsZXRlIHRoaXMgYnJhbmNoLlxuICAgICAgICAgICAgICAgICAgLy8gSXQncyBjdXJyZW50bHkgdXNlZCBmb3IgdHdvIHRoaW5nczogMSkgdG8gdGhyb3R0bGUgdGhlXG4gICAgICAgICAgICAgICAgICAvLyBhcHBlYXJhbmNlIG9mIHN1Y2Nlc3NpdmUgbG9hZGluZyBzdGF0ZXMsIGFuZCAyKSBpblxuICAgICAgICAgICAgICAgICAgLy8gU3VzcGVuc2VMaXN0LCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgY2hpbGRyZW4gaW5jbHVkZSBhbnlcbiAgICAgICAgICAgICAgICAgIC8vIHBlbmRpbmcgZmFsbGJhY2tzLiBGb3IgMSwgd2Ugc2hvdWxkIGFwcGx5IHRocm90dGxpbmcgdG8gYWxsXG4gICAgICAgICAgICAgICAgICAvLyByZXRyaWVzLCBub3QganVzdCBvbmVzIHRoYXQgcmVuZGVyIGFuIGFkZGl0aW9uYWwgZmFsbGJhY2suIEZvclxuICAgICAgICAgICAgICAgICAgLy8gMiwgd2Ugc2hvdWxkIGNoZWNrIHN1YnRyZWVGbGFncyBpbnN0ZWFkLiBUaGVuIHdlIGNhbiBkZWxldGVcbiAgICAgICAgICAgICAgICAgIC8vIHRoaXMgYnJhbmNoLlxuICAgICAgICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBzdXNwZW5zZUJvdW5kYXJ5LmFsdGVybmF0ZTtcblxuICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRGlkU3VzcGVuZCgpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHN1c3BlbnNlQm91bmRhcnkuZmxhZ3MgJj0gfkZvcmNlQ2xpZW50UmVuZGVyO1xuICAgICAgICAgICAgICBtYXJrU3VzcGVuc2VCb3VuZGFyeVNob3VsZENhcHR1cmUoc3VzcGVuc2VCb3VuZGFyeSwgcmV0dXJuRmliZXIsIHNvdXJjZUZpYmVyLCByb290LCByb290UmVuZGVyTGFuZXMpOyAvLyBSZXRyeSBsaXN0ZW5lclxuICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAvLyBJZiB0aGUgZmFsbGJhY2sgZG9lcyBjb21taXQsIHdlIG5lZWQgdG8gYXR0YWNoIGEgZGlmZmVyZW50IHR5cGUgb2ZcbiAgICAgICAgICAgICAgLy8gbGlzdGVuZXIuIFRoaXMgb25lIHNjaGVkdWxlcyBhbiB1cGRhdGUgb24gdGhlIFN1c3BlbnNlIGJvdW5kYXJ5IHRvXG4gICAgICAgICAgICAgIC8vIHR1cm4gdGhlIGZhbGxiYWNrIHN0YXRlIG9mZi5cbiAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgLy8gU3Rhc2ggdGhlIHdha2VhYmxlIG9uIHRoZSBib3VuZGFyeSBmaWJlciBzbyB3ZSBjYW4gYWNjZXNzIGl0IGluIHRoZVxuICAgICAgICAgICAgICAvLyBjb21taXQgcGhhc2UuXG4gICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgIC8vIFdoZW4gdGhlIHdha2VhYmxlIHJlc29sdmVzLCB3ZSdsbCBhdHRlbXB0IHRvIHJlbmRlciB0aGUgYm91bmRhcnlcbiAgICAgICAgICAgICAgLy8gYWdhaW4gKFwicmV0cnlcIikuXG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBTdXNwZW5zZXkgcmVzb3VyY2UuIFdlIGRvIG5vdCBhdHRhY2ggcmV0cnlcbiAgICAgICAgICAgICAgLy8gbGlzdGVuZXJzIHRvIHRoZXNlLCBiZWNhdXNlIHdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdGhlbSBmb3JcbiAgICAgICAgICAgICAgLy8gcmVuZGVyaW5nLiBPbmx5IGZvciBjb21taXR0aW5nLiBJbnN0ZWFkLCBpZiBhIGZhbGxiYWNrIGNvbW1pdHNcbiAgICAgICAgICAgICAgLy8gYW5kIHRoZSBvbmx5IHRoaW5nIHRoYXQgc3VzcGVuZGVkIHdhcyBhIFN1c3BlbnNleSByZXNvdXJjZSwgd2VcbiAgICAgICAgICAgICAgLy8gcmV0cnkgaW1tZWRpYXRlbHkuXG4gICAgICAgICAgICAgIC8vIFRPRE86IFJlZmFjdG9yIHRocm93RXhjZXB0aW9uIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBkbyB0aGlzIHR5cGVcbiAgICAgICAgICAgICAgLy8gY2hlY2suIFRoZSBjYWxsZXIgYWxyZWFkeSBrbm93cyB3aGF0IHRoZSBjYXVzZSB3YXMuXG5cbiAgICAgICAgICAgICAgdmFyIGlzU3VzcGVuc2V5UmVzb3VyY2UgPSB3YWtlYWJsZSA9PT0gbm9vcFN1c3BlbnNleUNvbW1pdFRoZW5hYmxlO1xuXG4gICAgICAgICAgICAgIGlmIChpc1N1c3BlbnNleVJlc291cmNlKSB7XG4gICAgICAgICAgICAgICAgc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBTY2hlZHVsZVJldHJ5O1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciByZXRyeVF1ZXVlID0gc3VzcGVuc2VCb3VuZGFyeS51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChyZXRyeVF1ZXVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICBzdXNwZW5zZUJvdW5kYXJ5LnVwZGF0ZVF1ZXVlID0gbmV3IFNldChbd2FrZWFibGVdKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmV0cnlRdWV1ZS5hZGQod2FrZWFibGUpO1xuICAgICAgICAgICAgICAgIH0gLy8gV2Ugb25seSBhdHRhY2ggcGluZyBsaXN0ZW5lcnMgaW4gY29uY3VycmVudCBtb2RlLiBMZWdhY3lcbiAgICAgICAgICAgICAgICAvLyBTdXNwZW5zZSBhbHdheXMgY29tbWl0cyBmYWxsYmFja3Mgc3luY2hyb25vdXNseSwgc28gdGhlcmUgYXJlXG4gICAgICAgICAgICAgICAgLy8gbm8gcGluZ3MuXG5cblxuICAgICAgICAgICAgICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgICAgICAgICAgICAgYXR0YWNoUGluZ0xpc3RlbmVyKHJvb3QsIHdha2VhYmxlLCByb290UmVuZGVyTGFuZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZiAoc3VzcGVuc2VCb3VuZGFyeS5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgICAgICAgICBzdXNwZW5zZUJvdW5kYXJ5LmZsYWdzIHw9IFNob3VsZENhcHR1cmU7XG5cbiAgICAgICAgICAgICAgICB2YXIgX2lzU3VzcGVuc2V5UmVzb3VyY2UgPSB3YWtlYWJsZSA9PT0gbm9vcFN1c3BlbnNleUNvbW1pdFRoZW5hYmxlO1xuXG4gICAgICAgICAgICAgICAgaWYgKF9pc1N1c3BlbnNleVJlc291cmNlKSB7XG4gICAgICAgICAgICAgICAgICBzdXNwZW5zZUJvdW5kYXJ5LmZsYWdzIHw9IFNjaGVkdWxlUmV0cnk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHZhciBvZmZzY3JlZW5RdWV1ZSA9IHN1c3BlbnNlQm91bmRhcnkudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChvZmZzY3JlZW5RdWV1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3T2Zmc2NyZWVuUXVldWUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbnM6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgbWFya2VySW5zdGFuY2VzOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgIHJldHJ5UXVldWU6IG5ldyBTZXQoW3dha2VhYmxlXSlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgc3VzcGVuc2VCb3VuZGFyeS51cGRhdGVRdWV1ZSA9IG5ld09mZnNjcmVlblF1ZXVlO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9yZXRyeVF1ZXVlID0gb2Zmc2NyZWVuUXVldWUucmV0cnlRdWV1ZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoX3JldHJ5UXVldWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICBvZmZzY3JlZW5RdWV1ZS5yZXRyeVF1ZXVlID0gbmV3IFNldChbd2FrZWFibGVdKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBfcmV0cnlRdWV1ZS5hZGQod2FrZWFibGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGF0dGFjaFBpbmdMaXN0ZW5lcihyb290LCB3YWtlYWJsZSwgcm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuZXhwZWN0ZWQgU3VzcGVuc2UgaGFuZGxlciB0YWcgKFwiICsgc3VzcGVuc2VCb3VuZGFyeS50YWcgKyBcIikuIFRoaXMgXCIgKyAnaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyBib3VuZGFyeSB3YXMgZm91bmQuIFVubGVzcyB0aGlzIGlzIGEgc3luYyB1cGRhdGUsIHRoaXMgaXMgT0suXG4gICAgICAgIC8vIFdlIGNhbiBzdXNwZW5kIGFuZCB3YWl0IGZvciBtb3JlIGRhdGEgdG8gYXJyaXZlLlxuICAgICAgICBpZiAocm9vdC50YWcgPT09IENvbmN1cnJlbnRSb290KSB7XG4gICAgICAgICAgLy8gSW4gYSBjb25jdXJyZW50IHJvb3QsIHN1c3BlbmRpbmcgd2l0aG91dCBhIFN1c3BlbnNlIGJvdW5kYXJ5IGlzXG4gICAgICAgICAgLy8gYWxsb3dlZC4gSXQgd2lsbCBzdXNwZW5kIGluZGVmaW5pdGVseSB3aXRob3V0IGNvbW1pdHRpbmcuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBUT0RPOiBTaG91bGQgd2UgaGF2ZSBkaWZmZXJlbnQgYmVoYXZpb3IgZm9yIGRpc2NyZXRlIHVwZGF0ZXM/IFdoYXRcbiAgICAgICAgICAvLyBhYm91dCBmbHVzaFN5bmM/IE1heWJlIGl0IHNob3VsZCBwdXQgdGhlIHRyZWUgaW50byBhbiBpbmVydCBzdGF0ZSxcbiAgICAgICAgICAvLyBhbmQgcG90ZW50aWFsbHkgbG9nIGEgd2FybmluZy4gUmV2aXNpdCB0aGlzIGZvciBhIGZ1dHVyZSByZWxlYXNlLlxuICAgICAgICAgIGF0dGFjaFBpbmdMaXN0ZW5lcihyb290LCB3YWtlYWJsZSwgcm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlKCk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEluIGEgbGVnYWN5IHJvb3QsIHN1c3BlbmRpbmcgd2l0aG91dCBhIGJvdW5kYXJ5IGlzIGFsd2F5cyBhbiBlcnJvci5cbiAgICAgICAgICB2YXIgdW5jYXVnaHRTdXNwZW5zZUVycm9yID0gbmV3IEVycm9yKCdBIGNvbXBvbmVudCBzdXNwZW5kZWQgd2hpbGUgcmVzcG9uZGluZyB0byBzeW5jaHJvbm91cyBpbnB1dC4gVGhpcyAnICsgJ3dpbGwgY2F1c2UgdGhlIFVJIHRvIGJlIHJlcGxhY2VkIHdpdGggYSBsb2FkaW5nIGluZGljYXRvci4gVG8gJyArICdmaXgsIHVwZGF0ZXMgdGhhdCBzdXNwZW5kIHNob3VsZCBiZSB3cmFwcGVkICcgKyAnd2l0aCBzdGFydFRyYW5zaXRpb24uJyk7XG4gICAgICAgICAgdmFsdWUgPSB1bmNhdWdodFN1c3BlbnNlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gVGhpcyBpcyBhIHJlZ3VsYXIgZXJyb3IsIG5vdCBhIFN1c3BlbnNlIHdha2VhYmxlLlxuXG5cbiAgaWYgKGdldElzSHlkcmF0aW5nKCkgJiYgc291cmNlRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgbWFya0RpZFRocm93V2hpbGVIeWRyYXRpbmdERVYoKTtcblxuICAgIHZhciBfc3VzcGVuc2VCb3VuZGFyeSA9IGdldFN1c3BlbnNlSGFuZGxlcigpOyAvLyBJZiB0aGUgZXJyb3Igd2FzIHRocm93biBkdXJpbmcgaHlkcmF0aW9uLCB3ZSBtYXkgYmUgYWJsZSB0byByZWNvdmVyIGJ5XG4gICAgLy8gZGlzY2FyZGluZyB0aGUgZGVoeWRyYXRlZCBjb250ZW50IGFuZCBzd2l0Y2hpbmcgdG8gYSBjbGllbnQgcmVuZGVyLlxuICAgIC8vIEluc3RlYWQgb2Ygc3VyZmFjaW5nIHRoZSBlcnJvciwgZmluZCB0aGUgbmVhcmVzdCBTdXNwZW5zZSBib3VuZGFyeVxuICAgIC8vIGFuZCByZW5kZXIgaXQgYWdhaW4gd2l0aG91dCBoeWRyYXRpb24uXG5cblxuICAgIGlmIChfc3VzcGVuc2VCb3VuZGFyeSAhPT0gbnVsbCkge1xuICAgICAgaWYgKChfc3VzcGVuc2VCb3VuZGFyeS5mbGFncyAmIFNob3VsZENhcHR1cmUpID09PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgLy8gU2V0IGEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IHdlIHNob3VsZCB0cnkgcmVuZGVyaW5nIHRoZSBub3JtYWxcbiAgICAgICAgLy8gY2hpbGRyZW4gYWdhaW4sIG5vdCB0aGUgZmFsbGJhY2suXG4gICAgICAgIF9zdXNwZW5zZUJvdW5kYXJ5LmZsYWdzIHw9IEZvcmNlQ2xpZW50UmVuZGVyO1xuICAgICAgfVxuXG4gICAgICBtYXJrU3VzcGVuc2VCb3VuZGFyeVNob3VsZENhcHR1cmUoX3N1c3BlbnNlQm91bmRhcnksIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgcm9vdCwgcm9vdFJlbmRlckxhbmVzKTsgLy8gRXZlbiB0aG91Z2ggdGhlIHVzZXIgbWF5IG5vdCBiZSBhZmZlY3RlZCBieSB0aGlzIGVycm9yLCB3ZSBzaG91bGRcbiAgICAgIC8vIHN0aWxsIGxvZyBpdCBzbyBpdCBjYW4gYmUgZml4ZWQuXG5cbiAgICAgIHF1ZXVlSHlkcmF0aW9uRXJyb3IoY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIodmFsdWUsIHNvdXJjZUZpYmVyKSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgdmFsdWUgPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcih2YWx1ZSwgc291cmNlRmliZXIpO1xuICByZW5kZXJEaWRFcnJvcih2YWx1ZSk7IC8vIFdlIGRpZG4ndCBmaW5kIGEgYm91bmRhcnkgdGhhdCBjb3VsZCBoYW5kbGUgdGhpcyB0eXBlIG9mIGV4Y2VwdGlvbi4gU3RhcnRcbiAgLy8gb3ZlciBhbmQgdHJhdmVyc2UgcGFyZW50IHBhdGggYWdhaW4sIHRoaXMgdGltZSB0cmVhdGluZyB0aGUgZXhjZXB0aW9uXG4gIC8vIGFzIGFuIGVycm9yLlxuXG4gIGlmIChyZXR1cm5GaWJlciA9PT0gbnVsbCkge1xuICAgIC8vIFRoZXJlJ3Mgbm8gcmV0dXJuIGZpYmVyLCB3aGljaCBtZWFucyB0aGUgcm9vdCBlcnJvcmVkLiBUaGlzIHNob3VsZCBuZXZlclxuICAgIC8vIGhhcHBlbi4gUmV0dXJuIGB0cnVlYCB0byB0cmlnZ2VyIGEgZmF0YWwgZXJyb3IgKHBhbmljKS5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhciB3b3JrSW5Qcm9ncmVzcyA9IHJldHVybkZpYmVyO1xuXG4gIGRvIHtcbiAgICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBfZXJyb3JJbmZvID0gdmFsdWU7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gU2hvdWxkQ2FwdHVyZTtcbiAgICAgICAgICB2YXIgbGFuZSA9IHBpY2tBcmJpdHJhcnlMYW5lKHJvb3RSZW5kZXJMYW5lcyk7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBsYW5lKTtcbiAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlUm9vdEVycm9yVXBkYXRlKHdvcmtJblByb2dyZXNzLCBfZXJyb3JJbmZvLCBsYW5lKTtcbiAgICAgICAgICBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIHVwZGF0ZSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIC8vIENhcHR1cmUgYW5kIHJldHJ5XG4gICAgICAgIHZhciBlcnJvckluZm8gPSB2YWx1ZTtcbiAgICAgICAgdmFyIGN0b3IgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzJDEgJiYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCBpbnN0YW5jZSAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSkge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZENhcHR1cmU7XG5cbiAgICAgICAgICB2YXIgX2xhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyb290UmVuZGVyTGFuZXMpO1xuXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBfbGFuZSk7IC8vIFNjaGVkdWxlIHRoZSBlcnJvciBib3VuZGFyeSB0byByZS1yZW5kZXIgdXNpbmcgdXBkYXRlZCBzdGF0ZVxuXG4gICAgICAgICAgdmFyIF91cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKHdvcmtJblByb2dyZXNzLCBlcnJvckluZm8sIF9sYW5lKTtcblxuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgX3VwZGF0ZSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXSB3ZSBiYWlsIG91dCB3aGVuIHdlIGdldCBhIG51bGxcblxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gIH0gd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKTtcblxuICByZXR1cm4gZmFsc2U7XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7IC8vIEEgc3BlY2lhbCBleGNlcHRpb24gdGhhdCdzIHVzZWQgdG8gdW53aW5kIHRoZSBzdGFjayB3aGVuIGFuIHVwZGF0ZSBmbG93c1xuLy8gaW50byBhIGRlaHlkcmF0ZWQgYm91bmRhcnkuXG5cbnZhciBTZWxlY3RpdmVIeWRyYXRpb25FeGNlcHRpb24gPSBuZXcgRXJyb3IoXCJUaGlzIGlzIG5vdCBhIHJlYWwgZXJyb3IuIEl0J3MgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIG9mIFJlYWN0J3MgXCIgKyBcInNlbGVjdGl2ZSBoeWRyYXRpb24gZmVhdHVyZS4gSWYgdGhpcyBsZWFrcyBpbnRvIHVzZXJzcGFjZSwgaXQncyBhIGJ1ZyBpbiBcIiArICdSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG52YXIgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dEJhZENsYXNzO1xudmFyIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzO1xudmFyIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHM7XG52YXIgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXI7XG52YXIgZGlkV2FybkFib3V0VGFpbE9wdGlvbnM7XG52YXIgZGlkV2FybkFib3V0RGVmYXVsdFByb3BzT25GdW5jdGlvbkNvbXBvbmVudDtcblxue1xuICBkaWRXYXJuQWJvdXRCYWRDbGFzcyA9IHt9O1xuICBkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50ID0ge307XG4gIGRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudCA9IHt9O1xuICBkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50ID0ge307XG4gIGRpZFdhcm5BYm91dEZ1bmN0aW9uUmVmcyA9IHt9O1xuICBkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzID0gZmFsc2U7XG4gIGRpZFdhcm5BYm91dFJldmVhbE9yZGVyID0ge307XG4gIGRpZFdhcm5BYm91dFRhaWxPcHRpb25zID0ge307XG4gIGRpZFdhcm5BYm91dERlZmF1bHRQcm9wc09uRnVuY3Rpb25Db21wb25lbnQgPSB7fTtcbn1cblxuZnVuY3Rpb24gcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAvLyBJZiB0aGlzIGlzIGEgZnJlc2ggbmV3IGNvbXBvbmVudCB0aGF0IGhhc24ndCBiZWVuIHJlbmRlcmVkIHlldCwgd2VcbiAgICAvLyB3b24ndCB1cGRhdGUgaXRzIGNoaWxkIHNldCBieSBhcHBseWluZyBtaW5pbWFsIHNpZGUtZWZmZWN0cy4gSW5zdGVhZCxcbiAgICAvLyB3ZSB3aWxsIGFkZCB0aGVtIGFsbCB0byB0aGUgY2hpbGQgYmVmb3JlIGl0IGdldHMgcmVuZGVyZWQuIFRoYXQgbWVhbnNcbiAgICAvLyB3ZSBjYW4gb3B0aW1pemUgdGhpcyByZWNvbmNpbGlhdGlvbiBwYXNzIGJ5IG5vdCB0cmFja2luZyBzaWRlLWVmZmVjdHMuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBtb3VudENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBJZiB0aGUgY3VycmVudCBjaGlsZCBpcyB0aGUgc2FtZSBhcyB0aGUgd29yayBpbiBwcm9ncmVzcywgaXQgbWVhbnMgdGhhdFxuICAgIC8vIHdlIGhhdmVuJ3QgeWV0IHN0YXJ0ZWQgYW55IHdvcmsgb24gdGhlc2UgY2hpbGRyZW4uIFRoZXJlZm9yZSwgd2UgdXNlXG4gICAgLy8gdGhlIGNsb25lIGFsZ29yaXRobSB0byBjcmVhdGUgYSBjb3B5IG9mIGFsbCB0aGUgY3VycmVudCBjaGlsZHJlbi5cbiAgICAvLyBJZiB3ZSBoYWQgYW55IHByb2dyZXNzZWQgd29yayBhbHJlYWR5LCB0aGF0IGlzIGludmFsaWQgYXQgdGhpcyBwb2ludCBzb1xuICAgIC8vIGxldCdzIHRocm93IGl0IG91dC5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBjdXJyZW50LmNoaWxkLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JjZVVubW91bnRDdXJyZW50QW5kUmVjb25jaWxlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgZm9yayBvZiByZWNvbmNpbGVDaGlsZHJlbi4gSXQncyB1c2VkIGluIGNhc2VzIHdoZXJlIHdlXG4gIC8vIHdhbnQgdG8gcmVjb25jaWxlIHdpdGhvdXQgbWF0Y2hpbmcgYWdhaW5zdCB0aGUgZXhpc3Rpbmcgc2V0LiBUaGlzIGhhcyB0aGVcbiAgLy8gZWZmZWN0IG9mIGFsbCBjdXJyZW50IGNoaWxkcmVuIGJlaW5nIHVubW91bnRlZDsgZXZlbiBpZiB0aGUgdHlwZSBhbmQga2V5XG4gIC8vIGFyZSB0aGUgc2FtZSwgdGhlIG9sZCBjaGlsZCBpcyB1bm1vdW50ZWQgYW5kIGEgbmV3IGNoaWxkIGlzIGNyZWF0ZWQuXG4gIC8vXG4gIC8vIFRvIGRvIHRoaXMsIHdlJ3JlIGdvaW5nIHRvIGdvIHRocm91Z2ggdGhlIHJlY29uY2lsZSBhbGdvcml0aG0gdHdpY2UuIEluXG4gIC8vIHRoZSBmaXJzdCBwYXNzLCB3ZSBzY2hlZHVsZSBhIGRlbGV0aW9uIGZvciBhbGwgdGhlIGN1cnJlbnQgY2hpbGRyZW4gYnlcbiAgLy8gcGFzc2luZyBudWxsLlxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBjdXJyZW50LmNoaWxkLCBudWxsLCByZW5kZXJMYW5lcyk7IC8vIEluIHRoZSBzZWNvbmQgcGFzcywgd2UgbW91bnQgdGhlIG5ldyBjaGlsZHJlbi4gVGhlIHRyaWNrIGhlcmUgaXMgdGhhdCB3ZVxuICAvLyBwYXNzIG51bGwgaW4gcGxhY2Ugb2Ygd2hlcmUgd2UgdXN1YWxseSBwYXNzIHRoZSBjdXJyZW50IGNoaWxkIHNldC4gVGhpcyBoYXNcbiAgLy8gdGhlIGVmZmVjdCBvZiByZW1vdW50aW5nIGFsbCBjaGlsZHJlbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlaXJcbiAgLy8gaWRlbnRpdGllcyBtYXRjaC5cblxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlRm9yd2FyZFJlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIC8vIFRPRE86IGN1cnJlbnQgY2FuIGJlIG5vbi1udWxsIGhlcmUgZXZlbiBpZiB0aGUgY29tcG9uZW50XG4gIC8vIGhhc24ndCB5ZXQgbW91bnRlZC4gVGhpcyBoYXBwZW5zIGFmdGVyIHRoZSBmaXJzdCByZW5kZXIgc3VzcGVuZHMuXG4gIC8vIFdlJ2xsIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGlzIGlzIGZpbmUgb3IgY2FuIGNhdXNlIGlzc3Vlcy5cbiAgdmFyIHJlbmRlciA9IENvbXBvbmVudC5yZW5kZXI7XG4gIHZhciByZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7XG4gIHZhciBwcm9wc1dpdGhvdXRSZWY7XG5cbiAge1xuICAgIHByb3BzV2l0aG91dFJlZiA9IG5leHRQcm9wcztcbiAgfSAvLyBUaGUgcmVzdCBpcyBhIGZvcmsgb2YgdXBkYXRlRnVuY3Rpb25Db21wb25lbnRcblxuXG4gIHZhciBuZXh0Q2hpbGRyZW47XG4gIHZhciBoYXNJZDtcbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDIuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyLCBwcm9wc1dpdGhvdXRSZWYsIHJlZiwgcmVuZGVyTGFuZXMpO1xuICAgIGhhc0lkID0gY2hlY2tEaWRSZW5kZXJJZEhvb2soKTtcbiAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gIH1cblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmICFkaWRSZWNlaXZlVXBkYXRlKSB7XG4gICAgYmFpbG91dEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgcHVzaE1hdGVyaWFsaXplZFRyZWVJZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHZhciB0eXBlID0gQ29tcG9uZW50LnR5cGU7XG5cbiAgICBpZiAoaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSAmJiBDb21wb25lbnQuY29tcGFyZSA9PT0gbnVsbCAmJiAvLyBTaW1wbGVNZW1vQ29tcG9uZW50IGNvZGVwYXRoIGRvZXNuJ3QgcmVzb2x2ZSBvdXRlciBwcm9wcyBlaXRoZXIuXG4gICAgQ29tcG9uZW50LmRlZmF1bHRQcm9wcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgcmVzb2x2ZWRUeXBlID0gdHlwZTtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSk7XG4gICAgICB9IC8vIElmIHRoaXMgaXMgYSBwbGFpbiBmdW5jdGlvbiBjb21wb25lbnQgd2l0aG91dCBkZWZhdWx0IHByb3BzLFxuICAgICAgLy8gYW5kIHdpdGggb25seSB0aGUgZGVmYXVsdCBzaGFsbG93IGNvbXBhcmlzb24sIHdlIHVwZ3JhZGUgaXRcbiAgICAgIC8vIHRvIGEgU2ltcGxlTWVtb0NvbXBvbmVudCB0byBhbGxvdyBmYXN0IHBhdGggdXBkYXRlcy5cblxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBTaW1wbGVNZW1vQ29tcG9uZW50O1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVkVHlwZTtcblxuICAgICAge1xuICAgICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIHR5cGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVzb2x2ZWRUeXBlLCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAoQ29tcG9uZW50LmRlZmF1bHRQcm9wcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHx8ICdVbmtub3duJztcblxuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dERlZmF1bHRQcm9wc09uRnVuY3Rpb25Db21wb25lbnRbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICBlcnJvcignJXM6IFN1cHBvcnQgZm9yIGRlZmF1bHRQcm9wcyB3aWxsIGJlIHJlbW92ZWQgZnJvbSBtZW1vIGNvbXBvbmVudHMgJyArICdpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBVc2UgSmF2YVNjcmlwdCBkZWZhdWx0IHBhcmFtZXRlcnMgaW5zdGVhZC4nLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgICAgIGRpZFdhcm5BYm91dERlZmF1bHRQcm9wc09uRnVuY3Rpb25Db21wb25lbnRbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGNoaWxkID0gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKENvbXBvbmVudC50eXBlLCBudWxsLCBuZXh0UHJvcHMsIHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5tb2RlLCByZW5kZXJMYW5lcyk7XG4gICAgY2hpbGQucmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuICAgIGNoaWxkLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY2hpbGQ7XG4gICAgcmV0dXJuIGNoaWxkO1xuICB9XG5cbiAgdmFyIGN1cnJlbnRDaGlsZCA9IGN1cnJlbnQuY2hpbGQ7IC8vIFRoaXMgaXMgYWx3YXlzIGV4YWN0bHkgb25lIGNoaWxkXG5cbiAgdmFyIGhhc1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dCA9IGNoZWNrU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0KGN1cnJlbnQsIHJlbmRlckxhbmVzKTtcblxuICBpZiAoIWhhc1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dCkge1xuICAgIC8vIFRoaXMgd2lsbCBiZSB0aGUgcHJvcHMgd2l0aCByZXNvbHZlZCBkZWZhdWx0UHJvcHMsXG4gICAgLy8gdW5saWtlIGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB3aGljaCB3aWxsIGJlIHRoZSB1bnJlc29sdmVkIG9uZXMuXG4gICAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnRDaGlsZC5tZW1vaXplZFByb3BzOyAvLyBEZWZhdWx0IHRvIHNoYWxsb3cgY29tcGFyaXNvblxuXG4gICAgdmFyIGNvbXBhcmUgPSBDb21wb25lbnQuY29tcGFyZTtcbiAgICBjb21wYXJlID0gY29tcGFyZSAhPT0gbnVsbCA/IGNvbXBhcmUgOiBzaGFsbG93RXF1YWw7XG5cbiAgICBpZiAoY29tcGFyZShwcmV2UHJvcHMsIG5leHRQcm9wcykgJiYgY3VycmVudC5yZWYgPT09IHdvcmtJblByb2dyZXNzLnJlZikge1xuICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICB9XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcbiAgdmFyIG5ld0NoaWxkID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBuZXh0UHJvcHMpO1xuICBuZXdDaGlsZC5yZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7XG4gIG5ld0NoaWxkLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG5ld0NoaWxkO1xuICByZXR1cm4gbmV3Q2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVNpbXBsZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcykge1xuICAvLyBUT0RPOiBjdXJyZW50IGNhbiBiZSBub24tbnVsbCBoZXJlIGV2ZW4gaWYgdGhlIGNvbXBvbmVudFxuICAvLyBoYXNuJ3QgeWV0IG1vdW50ZWQuIFRoaXMgaGFwcGVucyB3aGVuIHRoZSBpbm5lciByZW5kZXIgc3VzcGVuZHMuXG4gIC8vIFdlJ2xsIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGlzIGlzIGZpbmUgb3IgY2FuIGNhdXNlIGlzc3Vlcy5cbiAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICB2YXIgcHJldlByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuXG4gICAgaWYgKHNoYWxsb3dFcXVhbChwcmV2UHJvcHMsIG5leHRQcm9wcykgJiYgY3VycmVudC5yZWYgPT09IHdvcmtJblByb2dyZXNzLnJlZiAmJiAoIC8vIFByZXZlbnQgYmFpbG91dCBpZiB0aGUgaW1wbGVtZW50YXRpb24gY2hhbmdlZCBkdWUgdG8gaG90IHJlbG9hZC5cbiAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID09PSBjdXJyZW50LnR5cGUgKSkge1xuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGUgcHJvcHMgYXJlIHNoYWxsb3dseSBlcXVhbC4gUmV1c2UgdGhlIHByZXZpb3VzIHByb3BzIG9iamVjdCwgbGlrZSB3ZVxuICAgICAgLy8gd291bGQgZHVyaW5nIGEgbm9ybWFsIGZpYmVyIGJhaWxvdXQuXG4gICAgICAvL1xuICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBzdHJvbmcgZ3VhcmFudGVlcyB0aGF0IHRoZSBwcm9wcyBvYmplY3QgaXMgcmVmZXJlbnRpYWxseVxuICAgICAgLy8gZXF1YWwgZHVyaW5nIHVwZGF0ZXMgd2hlcmUgd2UgY2FuJ3QgYmFpbCBvdXQgYW55d2F5IOKAlCBsaWtlIGlmIHRoZSBwcm9wc1xuICAgICAgLy8gYXJlIHNoYWxsb3dseSBlcXVhbCwgYnV0IHRoZXJlJ3MgYSBsb2NhbCBzdGF0ZSBvciBjb250ZXh0IHVwZGF0ZSBpbiB0aGVcbiAgICAgIC8vIHNhbWUgYmF0Y2guXG4gICAgICAvL1xuICAgICAgLy8gSG93ZXZlciwgYXMgYSBwcmluY2lwbGUsIHdlIHNob3VsZCBhaW0gdG8gbWFrZSB0aGUgYmVoYXZpb3IgY29uc2lzdGVudFxuICAgICAgLy8gYWNyb3NzIGRpZmZlcmVudCB3YXlzIG9mIG1lbW9pemluZyBhIGNvbXBvbmVudC4gRm9yIGV4YW1wbGUsIFJlYWN0Lm1lbW9cbiAgICAgIC8vIGhhcyBhIGRpZmZlcmVudCBpbnRlcm5hbCBGaWJlciBsYXlvdXQgaWYgeW91IHBhc3MgYSBub3JtYWwgZnVuY3Rpb25cbiAgICAgIC8vIGNvbXBvbmVudCAoU2ltcGxlTWVtb0NvbXBvbmVudCkgdmVyc3VzIGlmIHlvdSBwYXNzIGEgZGlmZmVyZW50IHR5cGVcbiAgICAgIC8vIGxpa2UgZm9yd2FyZFJlZiAoTWVtb0NvbXBvbmVudCkuIEJ1dCB0aGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbC5cbiAgICAgIC8vIFdyYXBwaW5nIGEgY29tcG9uZW50IGluIGZvcndhcmRSZWYgKG9yIFJlYWN0LmxhenksIGV0Yykgc2hvdWxkbid0XG4gICAgICAvLyBhZmZlY3Qgd2hldGhlciB0aGUgcHJvcHMgb2JqZWN0IGlzIHJldXNlZCBkdXJpbmcgYSBiYWlsb3V0LlxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMgPSBuZXh0UHJvcHMgPSBwcmV2UHJvcHM7XG5cbiAgICAgIGlmICghY2hlY2tTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQoY3VycmVudCwgcmVuZGVyTGFuZXMpKSB7XG4gICAgICAgIC8vIFRoZSBwZW5kaW5nIGxhbmVzIHdlcmUgY2xlYXJlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGJlZ2luV29yay4gV2UncmVcbiAgICAgICAgLy8gYWJvdXQgdG8gYmFpbCBvdXQsIGJ1dCB0aGVyZSBtaWdodCBiZSBvdGhlciBsYW5lcyB0aGF0IHdlcmVuJ3RcbiAgICAgICAgLy8gaW5jbHVkZWQgaW4gdGhlIGN1cnJlbnQgcmVuZGVyLiBVc3VhbGx5LCB0aGUgcHJpb3JpdHkgbGV2ZWwgb2YgdGhlXG4gICAgICAgIC8vIHJlbWFpbmluZyB1cGRhdGVzIGlzIGFjY3VtdWxhdGVkIGR1cmluZyB0aGUgZXZhbHVhdGlvbiBvZiB0aGVcbiAgICAgICAgLy8gY29tcG9uZW50IChpLmUuIHdoZW4gcHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlKS4gQnV0IHNpbmNlIHNpbmNlXG4gICAgICAgIC8vIHdlJ3JlIGJhaWxpbmcgb3V0IGVhcmx5ICp3aXRob3V0KiBldmFsdWF0aW5nIHRoZSBjb21wb25lbnQsIHdlIG5lZWRcbiAgICAgICAgLy8gdG8gYWNjb3VudCBmb3IgaXQgaGVyZSwgdG9vLiBSZXNldCB0byB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgZmliZXIuXG4gICAgICAgIC8vIE5PVEU6IFRoaXMgb25seSBhcHBsaWVzIHRvIFNpbXBsZU1lbW9Db21wb25lbnQsIG5vdCBNZW1vQ29tcG9uZW50LFxuICAgICAgICAvLyBiZWNhdXNlIGEgTWVtb0NvbXBvbmVudCBmaWJlciBkb2VzIG5vdCBoYXZlIGhvb2tzIG9yIGFuIHVwZGF0ZSBxdWV1ZTtcbiAgICAgICAgLy8gcmF0aGVyLCBpdCB3cmFwcyBhcm91bmQgYW4gaW5uZXIgY29tcG9uZW50LCB3aGljaCBtYXkgb3IgbWF5IG5vdFxuICAgICAgICAvLyBjb250YWlucyBob29rcy5cbiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGUgcmVzZXQgYXQgaW4gYmVnaW5Xb3JrIG91dCBvZiB0aGUgY29tbW9uIHBhdGggc28gdGhhdFxuICAgICAgICAvLyB0aGlzIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gY3VycmVudC5sYW5lcztcbiAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH0gZWxzZSBpZiAoKGN1cnJlbnQuZmxhZ3MgJiBGb3JjZVVwZGF0ZUZvckxlZ2FjeVN1c3BlbnNlKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2UgdGhhdCBvbmx5IGV4aXN0cyBmb3IgbGVnYWN5IG1vZGUuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xOTIxNi5cbiAgICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVPZmZzY3JlZW5Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHZhciBuZXh0Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIHZhciBuZXh0SXNEZXRhY2hlZCA9ICh3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuX3BlbmRpbmdWaXNpYmlsaXR5ICYgT2Zmc2NyZWVuRGV0YWNoZWQpICE9PSAwO1xuICB2YXIgcHJldlN0YXRlID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSA6IG51bGw7XG4gIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuXG4gIGlmIChuZXh0UHJvcHMubW9kZSA9PT0gJ2hpZGRlbicgfHwgZW5hYmxlTGVnYWN5SGlkZGVuICB8fCBuZXh0SXNEZXRhY2hlZCkge1xuICAgIC8vIFJlbmRlcmluZyBhIGhpZGRlbiB0cmVlLlxuICAgIHZhciBkaWRTdXNwZW5kID0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgIT09IE5vRmxhZ3MkMTtcblxuICAgIGlmIChkaWRTdXNwZW5kKSB7XG4gICAgICAvLyBTb21ldGhpbmcgc3VzcGVuZGVkIGluc2lkZSBhIGhpZGRlbiB0cmVlXG4gICAgICAvLyBJbmNsdWRlIHRoZSBiYXNlIGxhbmVzIGZyb20gdGhlIGxhc3QgcmVuZGVyXG4gICAgICB2YXIgbmV4dEJhc2VMYW5lcyA9IHByZXZTdGF0ZSAhPT0gbnVsbCA/IG1lcmdlTGFuZXMocHJldlN0YXRlLmJhc2VMYW5lcywgcmVuZGVyTGFuZXMpIDogcmVuZGVyTGFuZXM7XG5cbiAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIFJlc2V0IHRvIHRoZSBjdXJyZW50IGNoaWxkcmVuXG4gICAgICAgIHZhciBjdXJyZW50Q2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IGN1cnJlbnQuY2hpbGQ7IC8vIFRoZSBjdXJyZW50IHJlbmRlciBzdXNwZW5kZWQsIGJ1dCB0aGVyZSBtYXkgYmUgb3RoZXIgbGFuZXMgd2l0aFxuICAgICAgICAvLyBwZW5kaW5nIHdvcmsuIFdlIGNhbid0IHJlYWQgYGNoaWxkTGFuZXNgIGZyb20gdGhlIGN1cnJlbnQgT2Zmc2NyZWVuXG4gICAgICAgIC8vIGZpYmVyIGJlY2F1c2Ugd2UgcmVzZXQgaXQgd2hlbiBpdCB3YXMgZGVmZXJyZWQ7IGhvd2V2ZXIsIHdlIGNhbiByZWFkXG4gICAgICAgIC8vIHRoZSBwZW5kaW5nIGxhbmVzIGZyb20gdGhlIGNoaWxkIGZpYmVycy5cblxuICAgICAgICB2YXIgY3VycmVudENoaWxkTGFuZXMgPSBOb0xhbmVzO1xuXG4gICAgICAgIHdoaWxlIChjdXJyZW50Q2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICBjdXJyZW50Q2hpbGRMYW5lcyA9IG1lcmdlTGFuZXMobWVyZ2VMYW5lcyhjdXJyZW50Q2hpbGRMYW5lcywgY3VycmVudENoaWxkLmxhbmVzKSwgY3VycmVudENoaWxkLmNoaWxkTGFuZXMpO1xuICAgICAgICAgIGN1cnJlbnRDaGlsZCA9IGN1cnJlbnRDaGlsZC5zaWJsaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGxhbmVzV2VKdXN0QXR0ZW1wdGVkID0gbmV4dEJhc2VMYW5lcztcbiAgICAgICAgdmFyIHJlbWFpbmluZ0NoaWxkTGFuZXMgPSByZW1vdmVMYW5lcyhjdXJyZW50Q2hpbGRMYW5lcywgbGFuZXNXZUp1c3RBdHRlbXB0ZWQpO1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZExhbmVzID0gcmVtYWluaW5nQ2hpbGRMYW5lcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMgPSBOb0xhbmVzO1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWZlckhpZGRlbk9mZnNjcmVlbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dEJhc2VMYW5lcyk7XG4gICAgfVxuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIC8vIEluIGxlZ2FjeSBzeW5jIG1vZGUsIGRvbid0IGRlZmVyIHRoZSBzdWJ0cmVlLiBSZW5kZXIgaXQgbm93LlxuICAgICAgLy8gVE9ETzogQ29uc2lkZXIgaG93IE9mZnNjcmVlbiBzaG91bGQgd29yayB3aXRoIHRyYW5zaXRpb25zIGluIHRoZSBmdXR1cmVcbiAgICAgIHZhciBuZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogTm9MYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBudWxsXG4gICAgICB9O1xuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG5leHRTdGF0ZTtcblxuICAgICAge1xuICAgICAgICAvLyBwdXNoIHRoZSBjYWNoZSBwb29sIGV2ZW4gdGhvdWdoIHdlJ3JlIGdvaW5nIHRvIGJhaWwgb3V0XG4gICAgICAgIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZXJlJ2QgYmUgYSBjb250ZXh0IG1pc21hdGNoXG4gICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgcHVzaFRyYW5zaXRpb24od29ya0luUHJvZ3Jlc3MsIG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldXNlSGlkZGVuQ29udGV4dE9uU3RhY2sod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcHVzaE9mZnNjcmVlblN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIGlmICghaW5jbHVkZXNTb21lTGFuZShyZW5kZXJMYW5lcywgT2Zmc2NyZWVuTGFuZSkpIHtcbiAgICAgIC8vIFdlJ3JlIGhpZGRlbiwgYW5kIHdlJ3JlIG5vdCByZW5kZXJpbmcgYXQgT2Zmc2NyZWVuLiBXZSB3aWxsIGJhaWwgb3V0XG4gICAgICAvLyBhbmQgcmVzdW1lIHRoaXMgdHJlZSBsYXRlci5cbiAgICAgIC8vIFNjaGVkdWxlIHRoaXMgZmliZXIgdG8gcmUtcmVuZGVyIGF0IE9mZnNjcmVlbiBwcmlvcml0eVxuICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZExhbmVzID0gbGFuZVRvTGFuZXMoT2Zmc2NyZWVuTGFuZSk7IC8vIEluY2x1ZGUgdGhlIGJhc2UgbGFuZXMgZnJvbSB0aGUgbGFzdCByZW5kZXJcblxuICAgICAgdmFyIF9uZXh0QmFzZUxhbmVzID0gcHJldlN0YXRlICE9PSBudWxsID8gbWVyZ2VMYW5lcyhwcmV2U3RhdGUuYmFzZUxhbmVzLCByZW5kZXJMYW5lcykgOiByZW5kZXJMYW5lcztcblxuICAgICAgcmV0dXJuIGRlZmVySGlkZGVuT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfbmV4dEJhc2VMYW5lcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCByZW5kZXIuIFRoZSBzdXJyb3VuZGluZyB2aXNpYmxlIGNvbnRlbnQgaGFzIGFscmVhZHlcbiAgICAgIC8vIGNvbW1pdHRlZC4gTm93IHdlIHJlc3VtZSByZW5kZXJpbmcgdGhlIGhpZGRlbiB0cmVlLlxuICAgICAgLy8gUmVuZGVyaW5nIGF0IG9mZnNjcmVlbiwgc28gd2UgY2FuIGNsZWFyIHRoZSBiYXNlIGxhbmVzLlxuICAgICAgdmFyIF9uZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogTm9MYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBudWxsXG4gICAgICB9O1xuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IF9uZXh0U3RhdGU7XG5cbiAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIHRoZSByZW5kZXIgdGhhdCBzcGF3bmVkIHRoaXMgb25lIGFjY2Vzc2VkIHRoZSBjYWNoZSBwb29sLCByZXN1bWVcbiAgICAgICAgLy8gdXNpbmcgdGhlIHNhbWUgY2FjaGUuIFVubGVzcyB0aGUgcGFyZW50IGNoYW5nZWQsIHNpbmNlIHRoYXQgbWVhbnNcbiAgICAgICAgLy8gdGhlcmUgd2FzIGEgcmVmcmVzaC5cbiAgICAgICAgdmFyIHByZXZDYWNoZVBvb2wgPSBwcmV2U3RhdGUgIT09IG51bGwgPyBwcmV2U3RhdGUuY2FjaGVQb29sIDogbnVsbDsgLy8gVE9ETzogQ29uc2lkZXIgaWYgYW5kIGhvdyBPZmZzY3JlZW4gcHJlLXJlbmRlcmluZyBzaG91bGRcbiAgICAgICAgLy8gYmUgYXR0cmlidXRlZCB0byB0aGUgdHJhbnNpdGlvbiB0aGF0IHNwYXduZWQgaXRcblxuICAgICAgICBwdXNoVHJhbnNpdGlvbih3b3JrSW5Qcm9ncmVzcywgcHJldkNhY2hlUG9vbCk7XG4gICAgICB9IC8vIFB1c2ggdGhlIGxhbmVzIHRoYXQgd2VyZSBza2lwcGVkIHdoZW4gd2UgYmFpbGVkIG91dC5cblxuXG4gICAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHB1c2hIaWRkZW5Db250ZXh0KHdvcmtJblByb2dyZXNzLCBwcmV2U3RhdGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV1c2VIaWRkZW5Db250ZXh0T25TdGFjayh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB9XG5cbiAgICAgIHB1c2hPZmZzY3JlZW5TdXNwZW5zZUhhbmRsZXIod29ya0luUHJvZ3Jlc3MpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBSZW5kZXJpbmcgYSB2aXNpYmxlIHRyZWUuXG4gICAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgLy8gV2UncmUgZ29pbmcgZnJvbSBoaWRkZW4gLT4gdmlzaWJsZS5cbiAgICAgIHZhciBfcHJldkNhY2hlUG9vbCA9IG51bGw7XG5cbiAgICAgIHtcbiAgICAgICAgLy8gSWYgdGhlIHJlbmRlciB0aGF0IHNwYXduZWQgdGhpcyBvbmUgYWNjZXNzZWQgdGhlIGNhY2hlIHBvb2wsIHJlc3VtZVxuICAgICAgICAvLyB1c2luZyB0aGUgc2FtZSBjYWNoZS4gVW5sZXNzIHRoZSBwYXJlbnQgY2hhbmdlZCwgc2luY2UgdGhhdCBtZWFuc1xuICAgICAgICAvLyB0aGVyZSB3YXMgYSByZWZyZXNoLlxuICAgICAgICBfcHJldkNhY2hlUG9vbCA9IHByZXZTdGF0ZS5jYWNoZVBvb2w7XG4gICAgICB9XG5cbiAgICAgIHB1c2hUcmFuc2l0aW9uKHdvcmtJblByb2dyZXNzLCBfcHJldkNhY2hlUG9vbCk7IC8vIFB1c2ggdGhlIGxhbmVzIHRoYXQgd2VyZSBza2lwcGVkIHdoZW4gd2UgYmFpbGVkIG91dC5cblxuICAgICAgcHVzaEhpZGRlbkNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHByZXZTdGF0ZSk7XG4gICAgICByZXVzZVN1c3BlbnNlSGFuZGxlck9uU3RhY2sod29ya0luUHJvZ3Jlc3MpOyAvLyBTaW5jZSB3ZSdyZSBub3QgaGlkZGVuIGFueW1vcmUsIHJlc2V0IHRoZSBzdGF0ZVxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2Ugd2VyZW4ndCBwcmV2aW91c2x5IGhpZGRlbiwgYW5kIHdlIHN0aWxsIGFyZW4ndCwgc28gdGhlcmUncyBub3RoaW5nXG4gICAgICAvLyBzcGVjaWFsIHRvIGRvLiBOZWVkIHRvIHB1c2ggdG8gdGhlIHN0YWNrIHJlZ2FyZGxlc3MsIHRob3VnaCwgdG8gYXZvaWRcbiAgICAgIC8vIGEgcHVzaC9wb3AgbWlzYWxpZ25tZW50LlxuICAgICAge1xuICAgICAgICAvLyBJZiB0aGUgcmVuZGVyIHRoYXQgc3Bhd25lZCB0aGlzIG9uZSBhY2Nlc3NlZCB0aGUgY2FjaGUgcG9vbCwgcmVzdW1lXG4gICAgICAgIC8vIHVzaW5nIHRoZSBzYW1lIGNhY2hlLiBVbmxlc3MgdGhlIHBhcmVudCBjaGFuZ2VkLCBzaW5jZSB0aGF0IG1lYW5zXG4gICAgICAgIC8vIHRoZXJlIHdhcyBhIHJlZnJlc2guXG4gICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgcHVzaFRyYW5zaXRpb24od29ya0luUHJvZ3Jlc3MsIG51bGwpO1xuICAgICAgICB9XG4gICAgICB9IC8vIFdlJ3JlIGFib3V0IHRvIGJhaWwgb3V0LCBidXQgd2UgbmVlZCB0byBwdXNoIHRoaXMgdG8gdGhlIHN0YWNrIGFueXdheVxuICAgICAgLy8gdG8gYXZvaWQgYSBwdXNoL3BvcCBtaXNhbGlnbm1lbnQuXG5cblxuICAgICAgcmV1c2VIaWRkZW5Db250ZXh0T25TdGFjayh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXVzZVN1c3BlbnNlSGFuZGxlck9uU3RhY2sod29ya0luUHJvZ3Jlc3MpO1xuICAgIH1cbiAgfVxuXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBkZWZlckhpZGRlbk9mZnNjcmVlbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dEJhc2VMYW5lcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG5leHRTdGF0ZSA9IHtcbiAgICBiYXNlTGFuZXM6IG5leHRCYXNlTGFuZXMsXG4gICAgLy8gU2F2ZSB0aGUgY2FjaGUgcG9vbCBzbyB3ZSBjYW4gcmVzdW1lIGxhdGVyLlxuICAgIGNhY2hlUG9vbDogZ2V0T2Zmc2NyZWVuRGVmZXJyZWRDYWNoZSgpIFxuICB9O1xuICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbmV4dFN0YXRlO1xuXG4gIHtcbiAgICAvLyBwdXNoIHRoZSBjYWNoZSBwb29sIGV2ZW4gdGhvdWdoIHdlJ3JlIGdvaW5nIHRvIGJhaWwgb3V0XG4gICAgLy8gYmVjYXVzZSBvdGhlcndpc2UgdGhlcmUnZCBiZSBhIGNvbnRleHQgbWlzbWF0Y2hcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgcHVzaFRyYW5zaXRpb24od29ya0luUHJvZ3Jlc3MsIG51bGwpO1xuICAgIH1cbiAgfSAvLyBXZSdyZSBhYm91dCB0byBiYWlsIG91dCwgYnV0IHdlIG5lZWQgdG8gcHVzaCB0aGlzIHRvIHRoZSBzdGFjayBhbnl3YXlcbiAgLy8gdG8gYXZvaWQgYSBwdXNoL3BvcCBtaXNhbGlnbm1lbnQuXG5cblxuICByZXVzZUhpZGRlbkNvbnRleHRPblN0YWNrKHdvcmtJblByb2dyZXNzKTtcbiAgcHVzaE9mZnNjcmVlblN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgcmV0dXJuIG51bGw7XG59IC8vIE5vdGU6IFRoZXNlIGhhcHBlbiB0byBoYXZlIGlkZW50aWNhbCBiZWdpbiBwaGFzZXMsIGZvciBub3cuIFdlIHNob3VsZG4ndCBob2xkXG5cbmZ1bmN0aW9uIHVwZGF0ZUNhY2hlQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIHZhciBwYXJlbnRDYWNoZSA9IHJlYWRDb250ZXh0KENhY2hlQ29udGV4dCk7XG5cbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAvLyBJbml0aWFsIG1vdW50LiBSZXF1ZXN0IGEgZnJlc2ggY2FjaGUgZnJvbSB0aGUgcG9vbC5cbiAgICB2YXIgZnJlc2hDYWNoZSA9IHJlcXVlc3RDYWNoZUZyb21Qb29sKHJlbmRlckxhbmVzKTtcbiAgICB2YXIgaW5pdGlhbFN0YXRlID0ge1xuICAgICAgcGFyZW50OiBwYXJlbnRDYWNoZSxcbiAgICAgIGNhY2hlOiBmcmVzaENhY2hlXG4gICAgfTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gaW5pdGlhbFN0YXRlO1xuICAgIGluaXRpYWxpemVVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgcHVzaENhY2hlUHJvdmlkZXIod29ya0luUHJvZ3Jlc3MsIGZyZXNoQ2FjaGUpO1xuICB9IGVsc2Uge1xuICAgIC8vIENoZWNrIGZvciB1cGRhdGVzXG4gICAgaWYgKGluY2x1ZGVzU29tZUxhbmUoY3VycmVudC5sYW5lcywgcmVuZGVyTGFuZXMpKSB7XG4gICAgICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbnVsbCwgbnVsbCwgcmVuZGVyTGFuZXMpO1xuICAgICAgc3VzcGVuZElmVXBkYXRlUmVhZEZyb21FbnRhbmdsZWRBc3luY0FjdGlvbigpO1xuICAgIH1cblxuICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgdmFyIG5leHRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7IC8vIENvbXBhcmUgdGhlIG5ldyBwYXJlbnQgY2FjaGUgdG8gdGhlIHByZXZpb3VzIHRvIHNlZSBkZXRlY3QgdGhlcmUgd2FzXG4gICAgLy8gYSByZWZyZXNoLlxuXG4gICAgaWYgKHByZXZTdGF0ZS5wYXJlbnQgIT09IHBhcmVudENhY2hlKSB7XG4gICAgICAvLyBSZWZyZXNoIGluIHBhcmVudC4gVXBkYXRlIHRoZSBwYXJlbnQuXG4gICAgICB2YXIgZGVyaXZlZFN0YXRlID0ge1xuICAgICAgICBwYXJlbnQ6IHBhcmVudENhY2hlLFxuICAgICAgICBjYWNoZTogcGFyZW50Q2FjaGVcbiAgICAgIH07IC8vIENvcGllZCBmcm9tIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyBpbXBsZW1lbnRhdGlvbi4gT25jZSB0aGUgdXBkYXRlXG4gICAgICAvLyBxdWV1ZSBpcyBlbXB0eSwgcGVyc2lzdCB0aGUgZGVyaXZlZCBzdGF0ZSBvbnRvIHRoZSBiYXNlIHN0YXRlLlxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gZGVyaXZlZFN0YXRlO1xuXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3MubGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAgICAgdmFyIHVwZGF0ZVF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSB1cGRhdGVRdWV1ZS5iYXNlU3RhdGUgPSBkZXJpdmVkU3RhdGU7XG4gICAgICB9XG5cbiAgICAgIHB1c2hDYWNoZVByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBwYXJlbnRDYWNoZSk7IC8vIE5vIG5lZWQgdG8gcHJvcGFnYXRlIGEgY29udGV4dCBjaGFuZ2UgYmVjYXVzZSB0aGUgcmVmcmVzaGVkIHBhcmVudFxuICAgICAgLy8gYWxyZWFkeSBkaWQuXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBwYXJlbnQgZGlkbid0IHJlZnJlc2guIE5vdyBjaGVjayBpZiB0aGlzIGNhY2hlIGRpZC5cbiAgICAgIHZhciBuZXh0Q2FjaGUgPSBuZXh0U3RhdGUuY2FjaGU7XG4gICAgICBwdXNoQ2FjaGVQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgbmV4dENhY2hlKTtcblxuICAgICAgaWYgKG5leHRDYWNoZSAhPT0gcHJldlN0YXRlLmNhY2hlKSB7XG4gICAgICAgIC8vIFRoaXMgY2FjaGUgcmVmcmVzaGVkLiBQcm9wYWdhdGUgYSBjb250ZXh0IGNoYW5nZS5cbiAgICAgICAgcHJvcGFnYXRlQ29udGV4dENoYW5nZSh3b3JrSW5Qcm9ncmVzcywgQ2FjaGVDb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5leHRDaGlsZHJlbiA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcy5jaGlsZHJlbjtcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59IC8vIFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGlmIHRoZSBuYW1lIGNoYW5nZXNcblxuZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0Q2hpbGRyZW4gPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVNb2RlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG5cbiAgICB7XG4gICAgICAvLyBSZXNldCBlZmZlY3QgZHVyYXRpb25zIGZvciB0aGUgbmV4dCBldmVudHVhbCBlZmZlY3QgcGhhc2UuXG4gICAgICAvLyBUaGVzZSBhcmUgcmVzZXQgZHVyaW5nIHJlbmRlciB0byBhbGxvdyB0aGUgRGV2VG9vbHMgY29tbWl0IGhvb2sgYSBjaGFuY2UgdG8gcmVhZCB0aGVtLFxuICAgICAgdmFyIHN0YXRlTm9kZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgIHN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICBzdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gMDtcbiAgICB9XG4gIH1cblxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gbWFya1JlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBUT0RPOiBUaGlzIGlzIGFsc28gd2hlcmUgd2Ugc2hvdWxkIGNoZWNrIHRoZSB0eXBlIG9mIHRoZSByZWYgYW5kIGVycm9yIGlmXG4gIC8vIGFuIGludmFsaWQgb25lIGlzIHBhc3NlZCwgaW5zdGVhZCBvZiBkdXJpbmcgY2hpbGQgcmVjb25jaWxhdGlvbi5cbiAgdmFyIHJlZiA9IHdvcmtJblByb2dyZXNzLnJlZjtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCAmJiByZWYgIT09IG51bGwgfHwgY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50LnJlZiAhPT0gcmVmKSB7XG4gICAgLy8gU2NoZWR1bGUgYSBSZWYgZWZmZWN0XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUmVmO1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFJlZlN0YXRpYztcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBjb250ZXh0O1xuXG4gIHtcbiAgICB2YXIgdW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUpO1xuICAgIGNvbnRleHQgPSBnZXRNYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQpO1xuICB9XG5cbiAgdmFyIG5leHRDaGlsZHJlbjtcbiAgdmFyIGhhc0lkO1xuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH1cblxuICB7XG4gICAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgY29udGV4dCwgcmVuZGVyTGFuZXMpO1xuICAgIGhhc0lkID0gY2hlY2tEaWRSZW5kZXJJZEhvb2soKTtcbiAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gIH1cblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmICFkaWRSZWNlaXZlVXBkYXRlKSB7XG4gICAgYmFpbG91dEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgcHVzaE1hdGVyaWFsaXplZFRyZWVJZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHJlcGxheUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0UHJvcHMsIENvbXBvbmVudCwgc2Vjb25kQXJnLCByZW5kZXJMYW5lcykge1xuICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcmVwbGF5IGEgY29tcG9uZW50IHRoYXQgcHJldmlvdXNseSBzdXNwZW5kZWQsXG4gIC8vIGFmdGVyIGl0cyBkYXRhIHJlc29sdmVzLiBJdCdzIGEgc2ltcGxpZmllZCB2ZXJzaW9uIG9mXG4gIC8vIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50IHRoYXQgcmV1c2VzIHRoZSBob29rcyBmcm9tIHRoZSBwcmV2aW91cyBhdHRlbXB0LlxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH1cblxuICB2YXIgbmV4dENoaWxkcmVuID0gcmVwbGF5U3VzcGVuZGVkQ29tcG9uZW50V2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgc2Vjb25kQXJnKTtcbiAgdmFyIGhhc0lkID0gY2hlY2tEaWRSZW5kZXJJZEhvb2soKTtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmICFkaWRSZWNlaXZlVXBkYXRlKSB7XG4gICAgYmFpbG91dEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgcHVzaE1hdGVyaWFsaXplZFRyZWVJZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAge1xuICAgIC8vIFRoaXMgaXMgdXNlZCBieSBEZXZUb29scyB0byBmb3JjZSBhIGJvdW5kYXJ5IHRvIGVycm9yLlxuICAgIHN3aXRjaCAoc2hvdWxkRXJyb3Iod29ya0luUHJvZ3Jlc3MpKSB7XG4gICAgICBjYXNlIGZhbHNlOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9pbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgICAgICB2YXIgY3RvciA9IHdvcmtJblByb2dyZXNzLnR5cGU7IC8vIFRPRE8gVGhpcyB3YXkgb2YgcmVzZXR0aW5nIHRoZSBlcnJvciBib3VuZGFyeSBzdGF0ZSBpcyBhIGhhY2suXG4gICAgICAgICAgLy8gSXMgdGhlcmUgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXM/XG5cbiAgICAgICAgICB2YXIgdGVtcEluc3RhbmNlID0gbmV3IGN0b3Iod29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcywgX2luc3RhbmNlLmNvbnRleHQpO1xuICAgICAgICAgIHZhciBzdGF0ZSA9IHRlbXBJbnN0YW5jZS5zdGF0ZTtcblxuICAgICAgICAgIF9pbnN0YW5jZS51cGRhdGVyLmVucXVldWVTZXRTdGF0ZShfaW5zdGFuY2UsIHN0YXRlLCBudWxsKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgdHJ1ZTpcbiAgICAgICAge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gU2hvdWxkQ2FwdHVyZTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcblxuICAgICAgICAgIHZhciBlcnJvciQxID0gbmV3IEVycm9yKCdTaW11bGF0ZWQgZXJyb3IgY29taW5nIGZyb20gRGV2VG9vbHMnKTtcbiAgICAgICAgICB2YXIgbGFuZSA9IHBpY2tBcmJpdHJhcnlMYW5lKHJlbmRlckxhbmVzKTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3MubGFuZXMsIGxhbmUpOyAvLyBTY2hlZHVsZSB0aGUgZXJyb3IgYm91bmRhcnkgdG8gcmUtcmVuZGVyIHVzaW5nIHVwZGF0ZWQgc3RhdGVcblxuICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKHdvcmtJblByb2dyZXNzLCBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihlcnJvciQxLCB3b3JrSW5Qcm9ncmVzcyksIGxhbmUpO1xuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgdXBkYXRlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfSAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAvLyBEdXJpbmcgbW91bnRpbmcgd2UgZG9uJ3Qga25vdyB0aGUgY2hpbGQgY29udGV4dCB5ZXQgYXMgdGhlIGluc3RhbmNlIGRvZXNuJ3QgZXhpc3QuXG4gIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cblxuXG4gIHZhciBoYXNDb250ZXh0O1xuXG4gIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgaGFzQ29udGV4dCA9IHRydWU7XG4gICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gZWxzZSB7XG4gICAgaGFzQ29udGV4dCA9IGZhbHNlO1xuICB9XG5cbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICB2YXIgc2hvdWxkVXBkYXRlO1xuXG4gIGlmIChpbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpOyAvLyBJbiB0aGUgaW5pdGlhbCBwYXNzIHdlIG1pZ2h0IG5lZWQgdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZS5cblxuICAgIGNvbnN0cnVjdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzKTtcbiAgICBtb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgc2hvdWxkVXBkYXRlID0gdHJ1ZTtcbiAgfSBlbHNlIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgLy8gSW4gYSByZXN1bWUsIHdlJ2xsIGFscmVhZHkgaGF2ZSBhbiBpbnN0YW5jZSB3ZSBjYW4gcmV1c2UuXG4gICAgc2hvdWxkVXBkYXRlID0gcmVzdW1lTW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICB9IGVsc2Uge1xuICAgIHNob3VsZFVwZGF0ZSA9IHVwZGF0ZUNsYXNzSW5zdGFuY2UoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICB2YXIgbmV4dFVuaXRPZldvcmsgPSBmaW5pc2hDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBzaG91bGRVcGRhdGUsIGhhc0NvbnRleHQsIHJlbmRlckxhbmVzKTtcblxuICB7XG4gICAgdmFyIGluc3QgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoc2hvdWxkVXBkYXRlICYmIGluc3QucHJvcHMgIT09IG5leHRQcm9wcykge1xuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgIGVycm9yKCdJdCBsb29rcyBsaWtlICVzIGlzIHJlYXNzaWduaW5nIGl0cyBvd24gYHRoaXMucHJvcHNgIHdoaWxlIHJlbmRlcmluZy4gJyArICdUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgYW5kIGNhbiBsZWFkIHRvIGNvbmZ1c2luZyBidWdzLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIod29ya0luUHJvZ3Jlc3MpIHx8ICdhIGNvbXBvbmVudCcpO1xuICAgICAgfVxuXG4gICAgICBkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV4dFVuaXRPZldvcms7XG59XG5cbmZ1bmN0aW9uIGZpbmlzaENsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHNob3VsZFVwZGF0ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gUmVmcyBzaG91bGQgdXBkYXRlIGV2ZW4gaWYgc2hvdWxkQ29tcG9uZW50VXBkYXRlIHJldHVybnMgZmFsc2VcbiAgbWFya1JlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHZhciBkaWRDYXB0dXJlRXJyb3IgPSAod29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncyQxO1xuXG4gIGlmICghc2hvdWxkVXBkYXRlICYmICFkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBDb250ZXh0IHByb3ZpZGVycyBzaG91bGQgZGVmZXIgdG8gc0NVIGZvciByZW5kZXJpbmdcbiAgICBpZiAoaGFzQ29udGV4dCkge1xuICAgICAgaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTsgLy8gUmVyZW5kZXJcblxuICBSZWFjdEN1cnJlbnRPd25lciQyLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdmFyIG5leHRDaGlsZHJlbjtcblxuICBpZiAoZGlkQ2FwdHVyZUVycm9yICYmIHR5cGVvZiBDb21wb25lbnQuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gSWYgd2UgY2FwdHVyZWQgYW4gZXJyb3IsIGJ1dCBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgaXMgbm90IGRlZmluZWQsXG4gICAgLy8gdW5tb3VudCBhbGwgdGhlIGNoaWxkcmVuLiBjb21wb25lbnREaWRDYXRjaCB3aWxsIHNjaGVkdWxlIGFuIHVwZGF0ZSB0b1xuICAgIC8vIHJlLXJlbmRlciBhIGZhbGxiYWNrLiBUaGlzIGlzIHRlbXBvcmFyeSB1bnRpbCB3ZSBtaWdyYXRlIGV2ZXJ5b25lIHRvXG4gICAgLy8gdGhlIG5ldyBBUEkuXG4gICAgLy8gVE9ETzogV2FybiBpbiBhIGZ1dHVyZSByZWxlYXNlLlxuICAgIG5leHRDaGlsZHJlbiA9IG51bGw7XG5cbiAgICB7XG4gICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZygpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfVxuXG4gICAge1xuICAgICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgICBuZXh0Q2hpbGRyZW4gPSBpbnN0YW5jZS5yZW5kZXIoKTtcblxuICAgICAgaWYgKHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKHRydWUpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaW5zdGFuY2UucmVuZGVyKCk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHMoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICAgIH1cbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBQZXJmb3JtZWRXb3JrO1xuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmIGRpZENhcHR1cmVFcnJvcikge1xuICAgIC8vIElmIHdlJ3JlIHJlY292ZXJpbmcgZnJvbSBhbiBlcnJvciwgcmVjb25jaWxlIHdpdGhvdXQgcmV1c2luZyBhbnkgb2ZcbiAgICAvLyB0aGUgZXhpc3RpbmcgY2hpbGRyZW4uIENvbmNlcHR1YWxseSwgdGhlIG5vcm1hbCBjaGlsZHJlbiBhbmQgdGhlIGNoaWxkcmVuXG4gICAgLy8gdGhhdCBhcmUgc2hvd24gb24gZXJyb3IgYXJlIHR3byBkaWZmZXJlbnQgc2V0cywgc28gd2Ugc2hvdWxkbid0IHJldXNlXG4gICAgLy8gbm9ybWFsIGNoaWxkcmVuIGV2ZW4gaWYgdGhlaXIgaWRlbnRpdGllcyBtYXRjaC5cbiAgICBmb3JjZVVubW91bnRDdXJyZW50QW5kUmVjb25jaWxlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgfSBlbHNlIHtcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH0gLy8gTWVtb2l6ZSBzdGF0ZSB1c2luZyB0aGUgdmFsdWVzIHdlIGp1c3QgdXNlZCB0byByZW5kZXIuXG4gIC8vIFRPRE86IFJlc3RydWN0dXJlIHNvIHdlIG5ldmVyIHJlYWQgdmFsdWVzIGZyb20gdGhlIGluc3RhbmNlLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlOyAvLyBUaGUgY29udGV4dCBtaWdodCBoYXZlIGNoYW5nZWQgc28gd2UgbmVlZCB0byByZWNhbGN1bGF0ZSBpdC5cblxuICBpZiAoaGFzQ29udGV4dCkge1xuICAgIGludmFsaWRhdGVDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgdHJ1ZSk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHB1c2hIb3N0Um9vdENvbnRleHQod29ya0luUHJvZ3Jlc3MpIHtcbiAgdmFyIHJvb3QgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgaWYgKHJvb3QucGVuZGluZ0NvbnRleHQpIHtcbiAgICBwdXNoVG9wTGV2ZWxDb250ZXh0T2JqZWN0KHdvcmtJblByb2dyZXNzLCByb290LnBlbmRpbmdDb250ZXh0LCByb290LnBlbmRpbmdDb250ZXh0ICE9PSByb290LmNvbnRleHQpO1xuICB9IGVsc2UgaWYgKHJvb3QuY29udGV4dCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgYmUgc2V0XG4gICAgcHVzaFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcywgcm9vdC5jb250ZXh0LCBmYWxzZSk7XG4gIH1cblxuICBwdXNoSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcywgcm9vdC5jb250YWluZXJJbmZvKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdFJvb3QoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHB1c2hIb3N0Um9vdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgaGF2ZSBhIGN1cnJlbnQgZmliZXIuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gIH1cblxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgcHJldlN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHByZXZDaGlsZHJlbiA9IHByZXZTdGF0ZS5lbGVtZW50O1xuICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXh0UHJvcHMsIG51bGwsIHJlbmRlckxhbmVzKTtcbiAgdmFyIG5leHRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAge1xuICAgIHZhciBuZXh0Q2FjaGUgPSBuZXh0U3RhdGUuY2FjaGU7XG4gICAgcHVzaENhY2hlUHJvdmlkZXIod29ya0luUHJvZ3Jlc3MsIG5leHRDYWNoZSk7XG5cbiAgICBpZiAobmV4dENhY2hlICE9PSBwcmV2U3RhdGUuY2FjaGUpIHtcbiAgICAgIC8vIFRoZSByb290IGNhY2hlIHJlZnJlc2hlZC5cbiAgICAgIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIENhY2hlQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xuICAgIH1cbiAgfSAvLyBUaGlzIHdvdWxkIGlkZWFsbHkgZ28gaW5zaWRlIHByb2Nlc3NVcGRhdGVRdWV1ZSwgYnV0IGJlY2F1c2UgaXQgc3VzcGVuZHMsXG4gIC8vIGl0IG5lZWRzIHRvIGhhcHBlbiBhZnRlciB0aGUgYHB1c2hDYWNoZVByb3ZpZGVyYCBjYWxsIGFib3ZlIHRvIGF2b2lkIGFcbiAgLy8gY29udGV4dCBzdGFjayBtaXNtYXRjaC4gQSBiaXQgdW5mb3J0dW5hdGUuXG5cblxuICBzdXNwZW5kSWZVcGRhdGVSZWFkRnJvbUVudGFuZ2xlZEFzeW5jQWN0aW9uKCk7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG4gIHZhciBuZXh0Q2hpbGRyZW4gPSBuZXh0U3RhdGUuZWxlbWVudDtcblxuICBpZiAocHJldlN0YXRlLmlzRGVoeWRyYXRlZCkge1xuICAgIC8vIFRoaXMgaXMgYSBoeWRyYXRpb24gcm9vdCB3aG9zZSBzaGVsbCBoYXMgbm90IHlldCBoeWRyYXRlZC4gV2Ugc2hvdWxkXG4gICAgLy8gYXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIC8vIEZsaXAgaXNEZWh5ZHJhdGVkIHRvIGZhbHNlIHRvIGluZGljYXRlIHRoYXQgd2hlbiB0aGlzIHJlbmRlclxuICAgIC8vIGZpbmlzaGVzLCB0aGUgcm9vdCB3aWxsIG5vIGxvbmdlciBiZSBkZWh5ZHJhdGVkLlxuICAgIHZhciBvdmVycmlkZVN0YXRlID0ge1xuICAgICAgZWxlbWVudDogbmV4dENoaWxkcmVuLFxuICAgICAgaXNEZWh5ZHJhdGVkOiBmYWxzZSxcbiAgICAgIGNhY2hlOiBuZXh0U3RhdGUuY2FjaGVcbiAgICB9O1xuICAgIHZhciB1cGRhdGVRdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlOyAvLyBgYmFzZVN0YXRlYCBjYW4gYWx3YXlzIGJlIHRoZSBsYXN0IHN0YXRlIGJlY2F1c2UgdGhlIHJvb3QgZG9lc24ndFxuICAgIC8vIGhhdmUgcmVkdWNlciBmdW5jdGlvbnMgc28gaXQgZG9lc24ndCBuZWVkIHJlYmFzaW5nLlxuXG4gICAgdXBkYXRlUXVldWUuYmFzZVN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSB7XG4gICAgICAvLyBTb21ldGhpbmcgZXJyb3JlZCBkdXJpbmcgYSBwcmV2aW91cyBhdHRlbXB0IHRvIGh5ZHJhdGUgdGhlIHNoZWxsLCBzbyB3ZVxuICAgICAgLy8gZm9yY2VkIGEgY2xpZW50IHJlbmRlci5cbiAgICAgIHZhciByZWNvdmVyYWJsZUVycm9yID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIobmV3IEVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgaHlkcmF0aW5nLiBCZWNhdXNlIHRoZSBlcnJvciBoYXBwZW5lZCBvdXRzaWRlICcgKyAnb2YgYSBTdXNwZW5zZSBib3VuZGFyeSwgdGhlIGVudGlyZSByb290IHdpbGwgc3dpdGNoIHRvICcgKyAnY2xpZW50IHJlbmRlcmluZy4nKSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG1vdW50SG9zdFJvb3RXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzLCByZWNvdmVyYWJsZUVycm9yKTtcbiAgICB9IGVsc2UgaWYgKG5leHRDaGlsZHJlbiAhPT0gcHJldkNoaWxkcmVuKSB7XG4gICAgICB2YXIgX3JlY292ZXJhYmxlRXJyb3IgPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihuZXcgRXJyb3IoJ1RoaXMgcm9vdCByZWNlaXZlZCBhbiBlYXJseSB1cGRhdGUsIGJlZm9yZSBhbnl0aGluZyB3YXMgYWJsZSAnICsgJ2h5ZHJhdGUuIFN3aXRjaGVkIHRoZSBlbnRpcmUgcm9vdCB0byBjbGllbnQgcmVuZGVyaW5nLicpLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHJldHVybiBtb3VudEhvc3RSb290V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcywgX3JlY292ZXJhYmxlRXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgb3V0ZXJtb3N0IHNoZWxsIGhhcyBub3QgaHlkcmF0ZWQgeWV0LiBTdGFydCBoeWRyYXRpbmcuXG4gICAgICBlbnRlckh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHZhciBjaGlsZCA9IG1vdW50Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjaGlsZDtcbiAgICAgIHZhciBub2RlID0gY2hpbGQ7XG5cbiAgICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAgIC8vIE1hcmsgZWFjaCBjaGlsZCBhcyBoeWRyYXRpbmcuIFRoaXMgaXMgYSBmYXN0IHBhdGggdG8ga25vdyB3aGV0aGVyIHRoaXNcbiAgICAgICAgLy8gdHJlZSBpcyBwYXJ0IG9mIGEgaHlkcmF0aW5nIHRyZWUuIFRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgYSBjaGlsZFxuICAgICAgICAvLyBub2RlIGhhcyBmdWxseSBtb3VudGVkIHlldCwgYW5kIGZvciBzY2hlZHVsaW5nIGV2ZW50IHJlcGxheWluZy5cbiAgICAgICAgLy8gQ29uY2VwdHVhbGx5IHRoaXMgaXMgc2ltaWxhciB0byBQbGFjZW1lbnQgaW4gdGhhdCBhIG5ldyBzdWJ0cmVlIGlzXG4gICAgICAgIC8vIGluc2VydGVkIGludG8gdGhlIFJlYWN0IHRyZWUgaGVyZS4gSXQganVzdCBoYXBwZW5zIHRvIG5vdCBuZWVkIERPTVxuICAgICAgICAvLyBtdXRhdGlvbnMgYmVjYXVzZSBpdCBhbHJlYWR5IGV4aXN0cy5cbiAgICAgICAgbm9kZS5mbGFncyA9IG5vZGUuZmxhZ3MgJiB+UGxhY2VtZW50IHwgSHlkcmF0aW5nO1xuICAgICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBSb290IGlzIG5vdCBkZWh5ZHJhdGVkLiBFaXRoZXIgdGhpcyBpcyBhIGNsaWVudC1vbmx5IHJvb3QsIG9yIGl0XG4gICAgLy8gYWxyZWFkeSBoeWRyYXRlZC5cbiAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG5cbiAgICBpZiAobmV4dENoaWxkcmVuID09PSBwcmV2Q2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgfVxuXG4gICAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBtb3VudEhvc3RSb290V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcywgcmVjb3ZlcmFibGVFcnJvcikge1xuICAvLyBSZXZlcnQgdG8gY2xpZW50IHJlbmRlcmluZy5cbiAgcmVzZXRIeWRyYXRpb25TdGF0ZSgpO1xuICBxdWV1ZUh5ZHJhdGlvbkVycm9yKHJlY292ZXJhYmxlRXJyb3IpO1xuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBGb3JjZUNsaWVudFJlbmRlcjtcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvc3RDb21wb25lbnQkMShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XG4gIH1cblxuICBwdXNoSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICB2YXIgdHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gIHZhciBuZXh0UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5tZW1vaXplZFByb3BzIDogbnVsbDtcbiAgdmFyIG5leHRDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgdmFyIGlzRGlyZWN0VGV4dENoaWxkID0gc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgbmV4dFByb3BzKTtcblxuICBpZiAoaXNEaXJlY3RUZXh0Q2hpbGQpIHtcbiAgICAvLyBXZSBzcGVjaWFsIGNhc2UgYSBkaXJlY3QgdGV4dCBjaGlsZCBvZiBhIGhvc3Qgbm9kZS4gVGhpcyBpcyBhIGNvbW1vblxuICAgIC8vIGNhc2UuIFdlIHdvbid0IGhhbmRsZSBpdCBhcyBhIHJlaWZpZWQgY2hpbGQuIFdlIHdpbGwgaW5zdGVhZCBoYW5kbGVcbiAgICAvLyB0aGlzIGluIHRoZSBob3N0IGVudmlyb25tZW50IHRoYXQgYWxzbyBoYXMgYWNjZXNzIHRvIHRoaXMgcHJvcC4gVGhhdFxuICAgIC8vIGF2b2lkcyBhbGxvY2F0aW5nIGFub3RoZXIgSG9zdFRleHQgZmliZXIgYW5kIHRyYXZlcnNpbmcgaXQuXG4gICAgbmV4dENoaWxkcmVuID0gbnVsbDtcbiAgfSBlbHNlIGlmIChwcmV2UHJvcHMgIT09IG51bGwgJiYgc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgcHJldlByb3BzKSkge1xuICAgIC8vIElmIHdlJ3JlIHN3aXRjaGluZyBmcm9tIGEgZGlyZWN0IHRleHQgY2hpbGQgdG8gYSBub3JtYWwgY2hpbGQsIG9yIHRvXG4gICAgLy8gZW1wdHksIHdlIG5lZWQgdG8gc2NoZWR1bGUgdGhlIHRleHQgY29udGVudCB0byBiZSByZXNldC5cbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBDb250ZW50UmVzZXQ7XG4gIH1cblxuICB7XG4gICAgdmFyIG1lbW9pemVkU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgaWYgKG1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgZmliZXIgaGFzIGJlZW4gdXBncmFkZWQgdG8gYSBzdGF0ZWZ1bCBjb21wb25lbnQuIFRoZSBvbmx5IHdheVxuICAgICAgLy8gaGFwcGVucyBjdXJyZW50bHkgaXMgZm9yIGZvcm0gYWN0aW9ucy4gV2UgdXNlIGhvb2tzIHRvIHRyYWNrIHRoZVxuICAgICAgLy8gcGVuZGluZyBhbmQgZXJyb3Igc3RhdGUgb2YgdGhlIGZvcm0uXG4gICAgICAvL1xuICAgICAgLy8gT25jZSBhIGZpYmVyIGlzIHVwZ3JhZGVkIHRvIGJlIHN0YXRlZnVsLCBpdCByZW1haW5zIHN0YXRlZnVsIGZvciB0aGVcbiAgICAgIC8vIHJlc3Qgb2YgaXRzIGxpZmV0aW1lLlxuICAgICAgdmFyIG5ld1N0YXRlID0gcmVuZGVyVHJhbnNpdGlvbkF3YXJlSG9zdENvbXBvbmVudFdpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpOyAvLyBJZiB0aGUgdHJhbnNpdGlvbiBzdGF0ZSBjaGFuZ2VkLCBwcm9wYWdhdGUgdGhlIGNoYW5nZSB0byBhbGwgdGhlXG4gICAgICAvLyBkZXNjZW5kZW50cy4gV2UgdXNlIENvbnRleHQgYXMgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIGZvciB0aGlzLlxuICAgICAgLy9cbiAgICAgIC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBzZXQgaGVyZSBpbnN0ZWFkIG9mIHB1c2hIb3N0Q29udGV4dCBiZWNhdXNlXG4gICAgICAvLyBwdXNoSG9zdENvbnRleHQgZ2V0cyBjYWxsZWQgYmVmb3JlIHdlIHByb2Nlc3MgdGhlIHN0YXRlIGhvb2ssIHRvIGF2b2lkXG4gICAgICAvLyBhIHN0YXRlIG1pc21hdGNoIGluIHRoZSBldmVudCB0aGF0IHNvbWV0aGluZyBzdXNwZW5kcy5cbiAgICAgIC8vXG4gICAgICAvLyBOT1RFOiBUaGlzIGFzc3VtZXMgdGhhdCB0aGVyZSBjYW5ub3QgYmUgbmVzdGVkIHRyYW5zaXRpb24gcHJvdmlkZXJzLFxuICAgICAgLy8gYmVjYXVzZSB0aGUgb25seSByZW5kZXJlciB0aGF0IGltcGxlbWVudHMgdGhpcyBmZWF0dXJlIGlzIFJlYWN0IERPTSxcbiAgICAgIC8vIGFuZCBmb3JtcyBjYW5ub3QgYmUgbmVzdGVkLiBJZiB3ZSBkaWQgc3VwcG9ydCBuZXN0ZWQgcHJvdmlkZXJzLCB0aGVuXG4gICAgICAvLyB3ZSB3b3VsZCBuZWVkIHRvIHB1c2ggYSBjb250ZXh0IHZhbHVlIGV2ZW4gZm9yIGhvc3QgZmliZXJzIHRoYXRcbiAgICAgIC8vIGhhdmVuJ3QgYmVlbiB1cGdyYWRlZCB5ZXQuXG5cbiAgICAgIHtcbiAgICAgICAgSG9zdFRyYW5zaXRpb25Db250ZXh0Ll9jdXJyZW50VmFsdWUgPSBuZXdTdGF0ZTtcbiAgICAgIH1cblxuICAgICAge1xuICAgICAgICBpZiAoZGlkUmVjZWl2ZVVwZGF0ZSkge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgb2xkU3RhdGVIb29rID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICAgICAgICAgICAgdmFyIG9sZFN0YXRlID0gb2xkU3RhdGVIb29rLm1lbW9pemVkU3RhdGU7IC8vIFRoaXMgdXNlcyByZWd1bGFyIGVxdWFsaXR5IGluc3RlYWQgb2YgT2JqZWN0LmlzIGJlY2F1c2Ugd2UgYXNzdW1lXG4gICAgICAgICAgICAvLyB0aGF0IGhvc3QgdHJhbnNpdGlvbiBzdGF0ZSBkb2Vzbid0IGluY2x1ZGUgTmFOIGFzIGEgdmFsaWQgdHlwZS5cblxuICAgICAgICAgICAgaWYgKG9sZFN0YXRlICE9PSBuZXdTdGF0ZSkge1xuICAgICAgICAgICAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCBIb3N0VHJhbnNpdGlvbkNvbnRleHQsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBtYXJrUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvc3RIb2lzdGFibGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICB2YXIgY3VycmVudFByb3BzID0gY3VycmVudCA9PT0gbnVsbCA/IG51bGwgOiBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG4gIHZhciByZXNvdXJjZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBnZXRSZXNvdXJjZSh3b3JrSW5Qcm9ncmVzcy50eXBlLCBjdXJyZW50UHJvcHMsIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcyk7XG5cbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICBpZiAoIWdldElzSHlkcmF0aW5nKCkgJiYgcmVzb3VyY2UgPT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgaXMgbm90IGEgUmVzb3VyY2UgSG9pc3RhYmxlIGFuZCB3ZSBhcmVuJ3QgaHlkcmF0aW5nIHNvIHdlIGNvbnN0cnVjdCB0aGUgaW5zdGFuY2UuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPSBjcmVhdGVIb2lzdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcy50eXBlLCB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMsIGdldFJvb3RIb3N0Q29udGFpbmVyKCksIHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH0gLy8gUmVzb3VyY2VzIG5ldmVyIGhhdmUgcmVjb25jaWxlciBtYW5hZ2VkIGNoaWxkcmVuLiBJdCBpcyBwb3NzaWJsZSBmb3JcbiAgLy8gdGhlIGhvc3QgaW1wbGVtZW50YXRpb24gb2YgZ2V0UmVzb3VyY2UgdG8gY29uc2lkZXIgY2hpbGRyZW4gaW4gdGhlXG4gIC8vIHJlc291cmNlIGNvbnN0cnVjdGlvbiBidXQgdGhleSB3aWxsIG90aGVyd2lzZSBiZSBkaXNjYXJkZWQuIEluIHByYWN0aWNlXG4gIC8vIHRoaXMgcHJlY2x1ZGVzIGFsbCBidXQgdGhlIHNpbXBsZXN0IGNoaWxkcmVuIGFuZCBIb3N0IHNwZWNpZmljIHdhcm5pbmdzXG4gIC8vIHNob3VsZCBiZSBpbXBsZW1lbnRlZCB0byB3YXJuIHdoZW4gY2hpbGRyZW4gYXJlIHBhc3NzZWQgd2hlbiBvdGhlcndpc2Ugbm90XG4gIC8vIGV4cGVjdGVkXG5cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdFNpbmdsZXRvbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgcHVzaEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIGNsYWltSHlkcmF0YWJsZVNpbmdsZXRvbih3b3JrSW5Qcm9ncmVzcyk7XG4gIH1cblxuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLmNoaWxkcmVuO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsICYmICFnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgLy8gU2ltaWxhciB0byBQb3J0YWxzIHdlIGFwcGVuZCBTaW5nbGV0b24gY2hpbGRyZW4gaW4gdGhlIGNvbW1pdCBwaGFzZS4gU28gd2VcbiAgICAvLyBUcmFjayBpbnNlcnRpb25zIGV2ZW4gb24gbW91bnQuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgdW5pZnlpbmcgdGhpcyB3aXRoIGhvdyB0aGUgcm9vdCB3b3Jrcy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgfSBlbHNlIHtcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICBtYXJrUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVIb3N0VGV4dCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7XG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlVGV4dEluc3RhbmNlKHdvcmtJblByb2dyZXNzKTtcbiAgfSAvLyBOb3RoaW5nIHRvIGRvIGhlcmUuIFRoaXMgaXMgdGVybWluYWwuIFdlJ2xsIGRvIHRoZSBjb21wbGV0aW9uIHN0ZXBcbiAgLy8gaW1tZWRpYXRlbHkgYWZ0ZXIuXG5cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gbW91bnRMYXp5Q29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbGF6eUNvbXBvbmVudCA9IGVsZW1lbnRUeXBlO1xuICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcbiAgdmFyIENvbXBvbmVudCA9IGluaXQocGF5bG9hZCk7IC8vIFN0b3JlIHRoZSB1bndyYXBwZWQgY29tcG9uZW50IGluIHRoZSB0eXBlLlxuXG4gIHdvcmtJblByb2dyZXNzLnR5cGUgPSBDb21wb25lbnQ7XG4gIHZhciByZXNvbHZlZFRhZyA9IHdvcmtJblByb2dyZXNzLnRhZyA9IHJlc29sdmVMYXp5Q29tcG9uZW50VGFnKENvbXBvbmVudCk7XG4gIHZhciByZXNvbHZlZFByb3BzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQsIHByb3BzKTtcbiAgdmFyIGNoaWxkO1xuXG4gIHN3aXRjaCAocmVzb2x2ZWRUYWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpO1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBDb21wb25lbnQgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlRnVuY3Rpb25Db21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZWRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IENvbXBvbmVudCA9IHJlc29sdmVDbGFzc0ZvckhvdFJlbG9hZGluZyhDb21wb25lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2hpbGQgPSB1cGRhdGVDbGFzc0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cblxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBDb21wb25lbnQgPSByZXNvbHZlRm9yd2FyZFJlZkZvckhvdFJlbG9hZGluZyhDb21wb25lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2hpbGQgPSB1cGRhdGVGb3J3YXJkUmVmKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgfVxuXG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBjaGlsZCA9IHVwZGF0ZU1lbW9Db21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQudHlwZSwgcmVzb2x2ZWRQcm9wcyksIC8vIFRoZSBpbm5lciB0eXBlIGNhbiBoYXZlIGRlZmF1bHRzIHRvb1xuICAgICAgICByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgfVxuXG4gIHZhciBoaW50ID0gJyc7XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQgIT09IG51bGwgJiYgdHlwZW9mIENvbXBvbmVudCA9PT0gJ29iamVjdCcgJiYgQ29tcG9uZW50LiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgIGhpbnQgPSAnIERpZCB5b3Ugd3JhcCBhIGNvbXBvbmVudCBpbiBSZWFjdC5sYXp5KCkgbW9yZSB0aGFuIG9uY2U/JztcbiAgICB9XG4gIH0gLy8gVGhpcyBtZXNzYWdlIGludGVudGlvbmFsbHkgZG9lc24ndCBtZW50aW9uIEZvcndhcmRSZWYgb3IgTWVtb0NvbXBvbmVudFxuICAvLyBiZWNhdXNlIHRoZSBmYWN0IHRoYXQgaXQncyBhIHNlcGFyYXRlIHR5cGUgb2Ygd29yayBpcyBhblxuICAvLyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXG5cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IHR5cGUgaXMgaW52YWxpZC4gUmVjZWl2ZWQgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG86IFwiICsgQ29tcG9uZW50ICsgXCIuIFwiICsgKFwiTGF6eSBlbGVtZW50IHR5cGUgbXVzdCByZXNvbHZlIHRvIGEgY2xhc3Mgb3IgZnVuY3Rpb24uXCIgKyBoaW50KSk7XG59XG5cbmZ1bmN0aW9uIG1vdW50SW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTsgLy8gUHJvbW90ZSB0aGUgZmliZXIgdG8gYSBjbGFzcyBhbmQgdHJ5IHJlbmRlcmluZyBhZ2Fpbi5cblxuICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBDbGFzc0NvbXBvbmVudDsgLy8gVGhlIHJlc3Qgb2YgdGhpcyBmdW5jdGlvbiBpcyBhIGZvcmsgb2YgYHVwZGF0ZUNsYXNzQ29tcG9uZW50YFxuICAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAvLyBEdXJpbmcgbW91bnRpbmcgd2UgZG9uJ3Qga25vdyB0aGUgY2hpbGQgY29udGV4dCB5ZXQgYXMgdGhlIGluc3RhbmNlIGRvZXNuJ3QgZXhpc3QuXG4gIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cblxuICB2YXIgaGFzQ29udGV4dDtcblxuICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgIGhhc0NvbnRleHQgPSB0cnVlO1xuICAgIHB1c2hDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpO1xuICB9IGVsc2Uge1xuICAgIGhhc0NvbnRleHQgPSBmYWxzZTtcbiAgfVxuXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIGNvbnN0cnVjdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzKTtcbiAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gZmluaXNoQ2xhc3NDb21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgdHJ1ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiBtb3VudEluZGV0ZXJtaW5hdGVDb21wb25lbnQoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgdmFsdWU7XG4gIHZhciBoYXNJZDtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlICYmIHR5cGVvZiBDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgZXJyb3IoXCJUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGhhdmUgYSByZW5kZXIgbWV0aG9kLCBidXQgZG9lc24ndCBleHRlbmQgUmVhY3QuQ29tcG9uZW50LiBcIiArICdUaGlzIGlzIGxpa2VseSB0byBjYXVzZSBlcnJvcnMuIENoYW5nZSAlcyB0byBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuJywgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmcod29ya0luUHJvZ3Jlc3MsIG51bGwpO1xuICAgIH1cblxuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDIuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgaGFzSWQgPSBjaGVja0RpZFJlbmRlcklkSG9vaygpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG5cbiAge1xuICAgIC8vIFN1cHBvcnQgZm9yIG1vZHVsZSBjb21wb25lbnRzIGlzIGRlcHJlY2F0ZWQgYW5kIGlzIHJlbW92ZWQgYmVoaW5kIGEgZmxhZy5cbiAgICAvLyBXaGV0aGVyIG9yIG5vdCBpdCB3b3VsZCBjcmFzaCBsYXRlciwgd2Ugd2FudCB0byBzaG93IGEgZ29vZCBtZXNzYWdlIGluIERFViBmaXJzdC5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUucmVuZGVyID09PSAnZnVuY3Rpb24nICYmIHZhbHVlLiQkdHlwZW9mID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignVGhlIDwlcyAvPiBjb21wb25lbnQgYXBwZWFycyB0byBiZSBhIGZ1bmN0aW9uIGNvbXBvbmVudCB0aGF0IHJldHVybnMgYSBjbGFzcyBpbnN0YW5jZS4gJyArICdDaGFuZ2UgJXMgdG8gYSBjbGFzcyB0aGF0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuICcgKyBcIklmIHlvdSBjYW4ndCB1c2UgYSBjbGFzcyB0cnkgYXNzaWduaW5nIHRoZSBwcm90b3R5cGUgb24gdGhlIGZ1bmN0aW9uIGFzIGEgd29ya2Fyb3VuZC4gXCIgKyBcImAlcy5wcm90b3R5cGUgPSBSZWFjdC5Db21wb25lbnQucHJvdG90eXBlYC4gRG9uJ3QgdXNlIGFuIGFycm93IGZ1bmN0aW9uIHNpbmNlIGl0IFwiICsgJ2Nhbm5vdCBiZSBjYWxsZWQgd2l0aCBgbmV3YCBieSBSZWFjdC4nLCBfY29tcG9uZW50TmFtZSwgX2NvbXBvbmVudE5hbWUsIF9jb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCAvLyBSdW4gdGhlc2UgY2hlY2tzIGluIHByb2R1Y3Rpb24gb25seSBpZiB0aGUgZmxhZyBpcyBvZmYuXG4gIC8vIEV2ZW50dWFsbHkgd2UnbGwgZGVsZXRlIHRoaXMgYnJhbmNoIGFsdG9nZXRoZXIuXG4gIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlLnJlbmRlciA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWx1ZS4kJHR5cGVvZiA9PT0gdW5kZWZpbmVkKSB7XG4gICAge1xuICAgICAgdmFyIF9jb21wb25lbnROYW1lMiA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lMl0pIHtcbiAgICAgICAgZXJyb3IoJ1RoZSA8JXMgLz4gY29tcG9uZW50IGFwcGVhcnMgdG8gYmUgYSBmdW5jdGlvbiBjb21wb25lbnQgdGhhdCByZXR1cm5zIGEgY2xhc3MgaW5zdGFuY2UuICcgKyAnQ2hhbmdlICVzIHRvIGEgY2xhc3MgdGhhdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCBpbnN0ZWFkLiAnICsgXCJJZiB5b3UgY2FuJ3QgdXNlIGEgY2xhc3MgdHJ5IGFzc2lnbmluZyB0aGUgcHJvdG90eXBlIG9uIHRoZSBmdW5jdGlvbiBhcyBhIHdvcmthcm91bmQuIFwiICsgXCJgJXMucHJvdG90eXBlID0gUmVhY3QuQ29tcG9uZW50LnByb3RvdHlwZWAuIERvbid0IHVzZSBhbiBhcnJvdyBmdW5jdGlvbiBzaW5jZSBpdCBcIiArICdjYW5ub3QgYmUgY2FsbGVkIHdpdGggYG5ld2AgYnkgUmVhY3QuJywgX2NvbXBvbmVudE5hbWUyLCBfY29tcG9uZW50TmFtZTIsIF9jb21wb25lbnROYW1lMik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0TW9kdWxlUGF0dGVybkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTJdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IC8vIFByb2NlZWQgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGlzIGlzIGEgY2xhc3MgaW5zdGFuY2VcblxuXG4gICAgd29ya0luUHJvZ3Jlc3MudGFnID0gQ2xhc3NDb21wb25lbnQ7IC8vIFRocm93IG91dCBhbnkgaG9va3MgdGhhdCB3ZXJlIHVzZWQuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG51bGw7IC8vIFB1c2ggY29udGV4dCBwcm92aWRlcnMgZWFybHkgdG8gcHJldmVudCBjb250ZXh0IHN0YWNrIG1pc21hdGNoZXMuXG4gICAgLy8gRHVyaW5nIG1vdW50aW5nIHdlIGRvbid0IGtub3cgdGhlIGNoaWxkIGNvbnRleHQgeWV0IGFzIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGV4aXN0LlxuICAgIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cblxuICAgIHZhciBoYXNDb250ZXh0ID0gZmFsc2U7XG5cbiAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgaGFzQ29udGV4dCA9IHRydWU7XG4gICAgICBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGFzQ29udGV4dCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSB2YWx1ZS5zdGF0ZSAhPT0gbnVsbCAmJiB2YWx1ZS5zdGF0ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUuc3RhdGUgOiBudWxsO1xuICAgIGluaXRpYWxpemVVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgYWRvcHRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCB2YWx1ZSk7XG4gICAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgcmV0dXJuIGZpbmlzaENsYXNzQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUsIGhhc0NvbnRleHQsIHJlbmRlckxhbmVzKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBQcm9jZWVkIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBpcyBhIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgIHdvcmtJblByb2dyZXNzLnRhZyA9IEZ1bmN0aW9uQ29tcG9uZW50O1xuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkgJiYgaGFzSWQpIHtcbiAgICAgIHB1c2hNYXRlcmlhbGl6ZWRUcmVlSWQod29ya0luUHJvZ3Jlc3MpO1xuICAgIH1cblxuICAgIHJlY29uY2lsZUNoaWxkcmVuKG51bGwsIHdvcmtJblByb2dyZXNzLCB2YWx1ZSwgcmVuZGVyTGFuZXMpO1xuXG4gICAge1xuICAgICAgdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCkge1xuICB7XG4gICAgaWYgKENvbXBvbmVudCkge1xuICAgICAgaWYgKENvbXBvbmVudC5jaGlsZENvbnRleHRUeXBlcykge1xuICAgICAgICBlcnJvcignY2hpbGRDb250ZXh0VHlwZXMgY2Fubm90IGJlIGRlZmluZWQgb24gYSBmdW5jdGlvbiBjb21wb25lbnQuXFxuJyArICcgICVzLmNoaWxkQ29udGV4dFR5cGVzID0gLi4uJywgQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lIHx8ICdDb21wb25lbnQnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MucmVmICE9PSBudWxsKSB7XG4gICAgICB2YXIgaW5mbyA9ICcnO1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG4gICAgICB2YXIgb3duZXJOYW1lID0gZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKTtcblxuICAgICAgaWYgKG93bmVyTmFtZSkge1xuICAgICAgICBpbmZvICs9ICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG93bmVyTmFtZSArICdgLic7XG4gICAgICB9XG5cbiAgICAgIHZhciB3YXJuaW5nS2V5ID0gY29tcG9uZW50TmFtZSArICd8JyArIChvd25lck5hbWUgfHwgJycpO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZ1bmN0aW9uUmVmc1t3YXJuaW5nS2V5XSkge1xuICAgICAgICBkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnNbd2FybmluZ0tleV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdGdW5jdGlvbiBjb21wb25lbnRzIGNhbm5vdCBiZSBnaXZlbiByZWZzLiAnICsgJ0F0dGVtcHRzIHRvIGFjY2VzcyB0aGlzIHJlZiB3aWxsIGZhaWwuICcgKyAnRGlkIHlvdSBtZWFuIHRvIHVzZSBSZWFjdC5mb3J3YXJkUmVmKCk/JXMnLCBpbmZvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoQ29tcG9uZW50LmRlZmF1bHRQcm9wcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgX2NvbXBvbmVudE5hbWUzID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKENvbXBvbmVudCkgfHwgJ1Vua25vd24nO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dERlZmF1bHRQcm9wc09uRnVuY3Rpb25Db21wb25lbnRbX2NvbXBvbmVudE5hbWUzXSkge1xuICAgICAgICBlcnJvcignJXM6IFN1cHBvcnQgZm9yIGRlZmF1bHRQcm9wcyB3aWxsIGJlIHJlbW92ZWQgZnJvbSBmdW5jdGlvbiBjb21wb25lbnRzICcgKyAnaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gVXNlIEphdmFTY3JpcHQgZGVmYXVsdCBwYXJhbWV0ZXJzIGluc3RlYWQuJywgX2NvbXBvbmVudE5hbWUzKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXREZWZhdWx0UHJvcHNPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lM10gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgQ29tcG9uZW50LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIF9jb21wb25lbnROYW1lNCA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lNF0pIHtcbiAgICAgICAgZXJyb3IoJyVzOiBGdW5jdGlvbiBjb21wb25lbnRzIGRvIG5vdCBzdXBwb3J0IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4nLCBfY29tcG9uZW50TmFtZTQpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnRbX2NvbXBvbmVudE5hbWU0XSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBDb21wb25lbnQuY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIENvbXBvbmVudC5jb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIF9jb21wb25lbnROYW1lNSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRDb250ZXh0VHlwZU9uRnVuY3Rpb25Db21wb25lbnRbX2NvbXBvbmVudE5hbWU1XSkge1xuICAgICAgICBlcnJvcignJXM6IEZ1bmN0aW9uIGNvbXBvbmVudHMgZG8gbm90IHN1cHBvcnQgY29udGV4dFR5cGUuJywgX2NvbXBvbmVudE5hbWU1KTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZU9uRnVuY3Rpb25Db21wb25lbnRbX2NvbXBvbmVudE5hbWU1XSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBTVVNQRU5ERURfTUFSS0VSID0ge1xuICBkZWh5ZHJhdGVkOiBudWxsLFxuICB0cmVlQ29udGV4dDogbnVsbCxcbiAgcmV0cnlMYW5lOiBOb0xhbmVcbn07XG5cbmZ1bmN0aW9uIG1vdW50U3VzcGVuc2VPZmZzY3JlZW5TdGF0ZShyZW5kZXJMYW5lcykge1xuICByZXR1cm4ge1xuICAgIGJhc2VMYW5lczogcmVuZGVyTGFuZXMsXG4gICAgY2FjaGVQb29sOiBnZXRTdXNwZW5kZWRDYWNoZSgpXG4gIH07XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocHJldk9mZnNjcmVlblN0YXRlLCByZW5kZXJMYW5lcykge1xuICB2YXIgY2FjaGVQb29sID0gbnVsbDtcblxuICB7XG4gICAgdmFyIHByZXZDYWNoZVBvb2wgPSBwcmV2T2Zmc2NyZWVuU3RhdGUuY2FjaGVQb29sO1xuXG4gICAgaWYgKHByZXZDYWNoZVBvb2wgIT09IG51bGwpIHtcbiAgICAgIHZhciBwYXJlbnRDYWNoZSA9IENhY2hlQ29udGV4dC5fY3VycmVudFZhbHVlIDtcblxuICAgICAgaWYgKHByZXZDYWNoZVBvb2wucGFyZW50ICE9PSBwYXJlbnRDYWNoZSkge1xuICAgICAgICAvLyBEZXRlY3RlZCBhIHJlZnJlc2ggaW4gdGhlIHBhcmVudC4gVGhpcyBvdmVycmlkZXMgYW55IHByZXZpb3VzbHlcbiAgICAgICAgLy8gc3VzcGVuZGVkIGNhY2hlLlxuICAgICAgICBjYWNoZVBvb2wgPSB7XG4gICAgICAgICAgcGFyZW50OiBwYXJlbnRDYWNoZSxcbiAgICAgICAgICBwb29sOiBwYXJlbnRDYWNoZVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UgY2FuIHJldXNlIHRoZSBjYWNoZSBmcm9tIGxhc3QgdGltZS4gVGhlIG9ubHkgdGhpbmcgdGhhdCB3b3VsZCBoYXZlXG4gICAgICAgIC8vIG92ZXJyaWRkZW4gaXQgaXMgYSBwYXJlbnQgcmVmcmVzaCwgd2hpY2ggd2UgY2hlY2tlZCBmb3IgYWJvdmUuXG4gICAgICAgIGNhY2hlUG9vbCA9IHByZXZDYWNoZVBvb2w7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gcHJldmlvdXMgY2FjaGUgcG9vbCwgZ3JhYiB0aGUgY3VycmVudCBvbmUuXG4gICAgICBjYWNoZVBvb2wgPSBnZXRTdXNwZW5kZWRDYWNoZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYmFzZUxhbmVzOiBtZXJnZUxhbmVzKHByZXZPZmZzY3JlZW5TdGF0ZS5iYXNlTGFuZXMsIHJlbmRlckxhbmVzKSxcbiAgICBjYWNoZVBvb2w6IGNhY2hlUG9vbFxuICB9O1xufSAvLyBUT0RPOiBQcm9iYWJseSBzaG91bGQgaW5saW5lIHRoaXMgYmFja1xuXG5cbmZ1bmN0aW9uIHNob3VsZFJlbWFpbk9uRmFsbGJhY2soY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIElmIHdlJ3JlIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrLCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgd2UgbmVlZCB0b1xuICAvLyByZW1haW4gb24gdGhhdCBmYWxsYmFjayByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGNvbnRlbnQgaGFzIHJlc29sdmVkLlxuICAvLyBGb3IgZXhhbXBsZSwgU3VzcGVuc2VMaXN0IGNvb3JkaW5hdGVzIHdoZW4gbmVzdGVkIGNvbnRlbnQgYXBwZWFycy5cbiAgLy8gVE9ETzogRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvZmZzY3JlZW4gcHJlcmVuZGVyaW5nLCB0aGlzIHNob3VsZCBhbHNvIGNoZWNrXG4gIC8vIHdoZXRoZXIgdGhlIGN1cnJlbnQgZmliZXIgKGlmIGl0IGV4aXN0cykgd2FzIHZpc2libGUgaW4gdGhlIHByZXZpb3VzIHRyZWUuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIHN1c3BlbnNlU3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgLy8gQ3VycmVudGx5IHNob3dpbmcgY29udGVudC4gRG9uJ3QgaGlkZSBpdCwgZXZlbiBpZiBGb3JjZVN1c3BlbnNlRmFsbGJhY2tcbiAgICAgIC8vIGlzIHRydWUuIE1vcmUgcHJlY2lzZSBuYW1lIG1pZ2h0IGJlIFwiRm9yY2VSZW1haW5TdXNwZW5zZUZhbGxiYWNrXCIuXG4gICAgICAvLyBOb3RlOiBUaGlzIGlzIGEgZmFjdG9yaW5nIHNtZWxsLiBDYW4ndCByZW1haW4gb24gYSBmYWxsYmFjayBpZiB0aGVyZSdzXG4gICAgICAvLyBubyBmYWxsYmFjayB0byByZW1haW4gb24uXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9IC8vIE5vdCBjdXJyZW50bHkgc2hvd2luZyBjb250ZW50LiBDb25zdWx0IHRoZSBTdXNwZW5zZSBjb250ZXh0LlxuXG5cbiAgdmFyIHN1c3BlbnNlQ29udGV4dCA9IHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudDtcbiAgcmV0dXJuIGhhc1N1c3BlbnNlTGlzdENvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBnZXRSZW1haW5pbmdXb3JrSW5QcmltYXJ5VHJlZShjdXJyZW50LCBwcmltYXJ5VHJlZURpZERlZmVyLCByZW5kZXJMYW5lcykge1xuICB2YXIgcmVtYWluaW5nTGFuZXMgPSBjdXJyZW50ICE9PSBudWxsID8gcmVtb3ZlTGFuZXMoY3VycmVudC5jaGlsZExhbmVzLCByZW5kZXJMYW5lcykgOiBOb0xhbmVzO1xuXG4gIGlmIChwcmltYXJ5VHJlZURpZERlZmVyKSB7XG4gICAgLy8gQSB1c2VEZWZlcnJlZFZhbHVlIGhvb2sgc3Bhd25lZCBhIGRlZmVycmVkIHRhc2sgaW5zaWRlIHRoZSBwcmltYXJ5IHRyZWUuXG4gICAgLy8gRW5zdXJlIHRoYXQgd2UgcmV0cnkgdGhpcyBjb21wb25lbnQgYXQgdGhlIGRlZmVycmVkIHByaW9yaXR5LlxuICAgIC8vIFRPRE86IFdlIGNvdWxkIG1ha2UgdGhpcyBhIHBlci1zdWJ0cmVlIHZhbHVlIGluc3RlYWQgb2YgYSBnbG9iYWwgb25lLlxuICAgIC8vIFdvdWxkIG5lZWQgdG8gdHJhY2sgaXQgb24gdGhlIGNvbnRleHQgc3RhY2sgc29tZWhvdywgc2ltaWxhciB0byB3aGF0XG4gICAgLy8gd2UnZCBoYXZlIHRvIGRvIGZvciByZXN1bWFibGUgY29udGV4dHMuXG4gICAgcmVtYWluaW5nTGFuZXMgPSBtZXJnZUxhbmVzKHJlbWFpbmluZ0xhbmVzLCBwZWVrRGVmZXJyZWRMYW5lKCkpO1xuICB9XG5cbiAgcmV0dXJuIHJlbWFpbmluZ0xhbmVzO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wczsgLy8gVGhpcyBpcyB1c2VkIGJ5IERldlRvb2xzIHRvIGZvcmNlIGEgYm91bmRhcnkgdG8gc3VzcGVuZC5cblxuICB7XG4gICAgaWYgKHNob3VsZFN1c3BlbmQod29ya0luUHJvZ3Jlc3MpKSB7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgIH1cbiAgfVxuXG4gIHZhciBzaG93RmFsbGJhY2sgPSBmYWxzZTtcbiAgdmFyIGRpZFN1c3BlbmQgPSAod29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncyQxO1xuXG4gIGlmIChkaWRTdXNwZW5kIHx8IHNob3VsZFJlbWFpbk9uRmFsbGJhY2soY3VycmVudCkpIHtcbiAgICAvLyBTb21ldGhpbmcgaW4gdGhpcyBib3VuZGFyeSdzIHN1YnRyZWUgYWxyZWFkeSBzdXNwZW5kZWQuIFN3aXRjaCB0b1xuICAgIC8vIHJlbmRlcmluZyB0aGUgZmFsbGJhY2sgY2hpbGRyZW4uXG4gICAgc2hvd0ZhbGxiYWNrID0gdHJ1ZTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyAmPSB+RGlkQ2FwdHVyZTtcbiAgfSAvLyBDaGVjayBpZiB0aGUgcHJpbWFyeSBjaGlsZHJlbiBzcGF3bmVkIGEgZGVmZXJyZWQgdGFzayAodXNlRGVmZXJyZWRWYWx1ZSlcbiAgLy8gZHVyaW5nIHRoZSBmaXJzdCBwYXNzLlxuXG5cbiAgdmFyIGRpZFByaW1hcnlDaGlsZHJlbkRlZmVyID0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkRGVmZXIpICE9PSBOb0ZsYWdzJDE7XG4gIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH5EaWREZWZlcjsgLy8gT0ssIHRoZSBuZXh0IHBhcnQgaXMgY29uZnVzaW5nLiBXZSdyZSBhYm91dCB0byByZWNvbmNpbGUgdGhlIFN1c3BlbnNlXG4gIC8vIGJvdW5kYXJ5J3MgY2hpbGRyZW4uIFRoaXMgaW52b2x2ZXMgc29tZSBjdXN0b20gcmVjb25jaWxpYXRpb24gbG9naWMuIFR3b1xuICAvLyBtYWluIHJlYXNvbnMgdGhpcyBpcyBzbyBjb21wbGljYXRlZC5cbiAgLy9cbiAgLy8gRmlyc3QsIExlZ2FjeSBNb2RlIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gVGhlXG4gIC8vIHByaW1hcnkgdHJlZSB3aWxsIGNvbW1pdCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUsIHNvIHdoZW4gd2UgZG8gdGhlXG4gIC8vIHNlY29uZCBwYXNzIHRvIHJlbmRlciB0aGUgZmFsbGJhY2ssIHdlIGRvIHNvbWUgZXhjZWVkaW5nbHksIHVoLCBjbGV2ZXJcbiAgLy8gaGFja3MgdG8gbWFrZSB0aGF0IG5vdCB0b3RhbGx5IGJyZWFrLiBMaWtlIHRyYW5zZmVycmluZyBlZmZlY3RzIGFuZFxuICAvLyBkZWxldGlvbnMgZnJvbSBoaWRkZW4gdHJlZS4gSW4gQ29uY3VycmVudCBNb2RlLCBpdCdzIG11Y2ggc2ltcGxlcixcbiAgLy8gYmVjYXVzZSB3ZSBiYWlsb3V0IG9uIHRoZSBwcmltYXJ5IHRyZWUgY29tcGxldGVseSBhbmQgbGVhdmUgaXQgaW4gaXRzIG9sZFxuICAvLyBzdGF0ZSwgbm8gZWZmZWN0cy4gU2FtZSBhcyB3aGF0IHdlIGRvIGZvciBPZmZzY3JlZW4gKGV4Y2VwdCB0aGF0XG4gIC8vIE9mZnNjcmVlbiBkb2Vzbid0IGhhdmUgdGhlIGZpcnN0IHJlbmRlciBwYXNzKS5cbiAgLy9cbiAgLy8gU2Vjb25kIGlzIGh5ZHJhdGlvbi4gRHVyaW5nIGh5ZHJhdGlvbiwgdGhlIFN1c3BlbnNlIGZpYmVyIGhhcyBhIHNsaWdodGx5XG4gIC8vIGRpZmZlcmVudCBsYXlvdXQsIHdoZXJlIHRoZSBjaGlsZCBwb2ludHMgdG8gYSBkZWh5ZHJhdGVkIGZyYWdtZW50LCB3aGljaFxuICAvLyBjb250YWlucyB0aGUgRE9NIHJlbmRlcmVkIGJ5IHRoZSBzZXJ2ZXIuXG4gIC8vXG4gIC8vIFRoaXJkLCBldmVuIGlmIHlvdSBzZXQgYWxsIHRoYXQgYXNpZGUsIFN1c3BlbnNlIGlzIGxpa2UgZXJyb3IgYm91bmRhcmllcyBpblxuICAvLyB0aGF0IHdlIGZpcnN0IHdlIHRyeSB0byByZW5kZXIgb25lIHRyZWUsIGFuZCBpZiB0aGF0IGZhaWxzLCB3ZSByZW5kZXIgYWdhaW5cbiAgLy8gYW5kIHN3aXRjaCB0byBhIGRpZmZlcmVudCB0cmVlLiBMaWtlIGEgdHJ5L2NhdGNoIGJsb2NrLiBTbyB3ZSBoYXZlIHRvIHRyYWNrXG4gIC8vIHdoaWNoIGJyYW5jaCB3ZSdyZSBjdXJyZW50bHkgcmVuZGVyaW5nLiBJZGVhbGx5IHdlIHdvdWxkIG1vZGVsIHRoaXMgdXNpbmdcbiAgLy8gYSBzdGFjay5cblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICAvLyBTcGVjaWFsIHBhdGggZm9yIGh5ZHJhdGlvblxuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBoeWRyYXRpbmcsIHRyeSB0byBoeWRyYXRlIHRoaXMgYm91bmRhcnkuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIC8vIFdlIG11c3QgcHVzaCB0aGUgc3VzcGVuc2UgaGFuZGxlciBjb250ZXh0ICpiZWZvcmUqIGF0dGVtcHRpbmcgdG9cbiAgICAgIC8vIGh5ZHJhdGUsIHRvIGF2b2lkIGEgbWlzbWF0Y2ggaW4gY2FzZSBpdCBlcnJvcnMuXG4gICAgICBpZiAoc2hvd0ZhbGxiYWNrKSB7XG4gICAgICAgIHB1c2hQcmltYXJ5VHJlZVN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwdXNoRmFsbGJhY2tUcmVlU3VzcGVuc2VIYW5kbGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIH1cblxuICAgICAgdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlU3VzcGVuc2VJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7IC8vIFRoaXMgY291bGQndmUgYmVlbiBhIGRlaHlkcmF0ZWQgc3VzcGVuc2UgY29tcG9uZW50LlxuXG4gICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgIGlmIChzdXNwZW5zZVN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBkZWh5ZHJhdGVkID0gc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkO1xuXG4gICAgICAgIGlmIChkZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG1vdW50RGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KHdvcmtJblByb2dyZXNzLCBkZWh5ZHJhdGVkKTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBJZiBoeWRyYXRpb24gZGlkbid0IHN1Y2NlZWQsIGZhbGwgdGhyb3VnaCB0byB0aGUgbm9ybWFsIFN1c3BlbnNlIHBhdGguXG4gICAgICAvLyBUbyBhdm9pZCBhIHN0YWNrIG1pc21hdGNoIHdlIG5lZWQgdG8gcG9wIHRoZSBTdXNwZW5zZSBoYW5kbGVyIHRoYXQgd2VcbiAgICAgIC8vIHB1c2hlZCBhYm92ZS4gVGhpcyB3aWxsIGJlY29tZSBsZXNzIGF3a3dhcmQgd2hlbiBtb3ZlIHRoZSBoeWRyYXRpb25cbiAgICAgIC8vIGxvZ2ljIHRvIGl0cyBvd24gZmliZXIuXG5cblxuICAgICAgcG9wU3VzcGVuc2VIYW5kbGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG5cbiAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICB2YXIgbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG5cbiAgICBpZiAoc2hvd0ZhbGxiYWNrKSB7XG4gICAgICBwdXNoRmFsbGJhY2tUcmVlU3VzcGVuc2VIYW5kbGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHZhciBmYWxsYmFja0ZyYWdtZW50ID0gbW91bnRTdXNwZW5zZUZhbGxiYWNrQ2hpbGRyZW4od29ya0luUHJvZ3Jlc3MsIG5leHRQcmltYXJ5Q2hpbGRyZW4sIG5leHRGYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50Lm1lbW9pemVkU3RhdGUgPSBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IGdldFJlbWFpbmluZ1dvcmtJblByaW1hcnlUcmVlKGN1cnJlbnQsIGRpZFByaW1hcnlDaGlsZHJlbkRlZmVyLCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gU1VTUEVOREVEX01BUktFUjtcblxuICAgICAgcmV0dXJuIGZhbGxiYWNrRnJhZ21lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHB1c2hQcmltYXJ5VHJlZVN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbW91bnRTdXNwZW5zZVByaW1hcnlDaGlsZHJlbih3b3JrSW5Qcm9ncmVzcywgbmV4dFByaW1hcnlDaGlsZHJlbik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgYW4gdXBkYXRlLlxuICAgIC8vIFNwZWNpYWwgcGF0aCBmb3IgaHlkcmF0aW9uXG4gICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBfZGVoeWRyYXRlZCA9IHByZXZTdGF0ZS5kZWh5ZHJhdGVkO1xuXG4gICAgICBpZiAoX2RlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZURlaHlkcmF0ZWRTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZGlkU3VzcGVuZCwgZGlkUHJpbWFyeUNoaWxkcmVuRGVmZXIsIG5leHRQcm9wcywgX2RlaHlkcmF0ZWQsIHByZXZTdGF0ZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG93RmFsbGJhY2spIHtcbiAgICAgIHB1c2hGYWxsYmFja1RyZWVTdXNwZW5zZUhhbmRsZXIod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgdmFyIF9uZXh0RmFsbGJhY2tDaGlsZHJlbiA9IG5leHRQcm9wcy5mYWxsYmFjaztcbiAgICAgIHZhciBfbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBmYWxsYmFja0NoaWxkRnJhZ21lbnQgPSB1cGRhdGVTdXNwZW5zZUZhbGxiYWNrQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9uZXh0UHJpbWFyeUNoaWxkcmVuLCBfbmV4dEZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICB2YXIgcHJldk9mZnNjcmVlblN0YXRlID0gY3VycmVudC5jaGlsZC5tZW1vaXplZFN0YXRlO1xuICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50Mi5tZW1vaXplZFN0YXRlID0gcHJldk9mZnNjcmVlblN0YXRlID09PSBudWxsID8gbW91bnRTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHJlbmRlckxhbmVzKSA6IHVwZGF0ZVN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocHJldk9mZnNjcmVlblN0YXRlLCByZW5kZXJMYW5lcyk7XG5cbiAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIuY2hpbGRMYW5lcyA9IGdldFJlbWFpbmluZ1dvcmtJblByaW1hcnlUcmVlKGN1cnJlbnQsIGRpZFByaW1hcnlDaGlsZHJlbkRlZmVyLCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gU1VTUEVOREVEX01BUktFUjtcbiAgICAgIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHB1c2hQcmltYXJ5VHJlZVN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB2YXIgX25leHRQcmltYXJ5Q2hpbGRyZW4yID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuXG4gICAgICB2YXIgX3ByaW1hcnlDaGlsZEZyYWdtZW50MyA9IHVwZGF0ZVN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfbmV4dFByaW1hcnlDaGlsZHJlbjIsIHJlbmRlckxhbmVzKTtcblxuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgICByZXR1cm4gX3ByaW1hcnlDaGlsZEZyYWdtZW50MztcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRTdXNwZW5zZVByaW1hcnlDaGlsZHJlbih3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICB2YXIgbW9kZSA9IHdvcmtJblByb2dyZXNzLm1vZGU7XG4gIHZhciBwcmltYXJ5Q2hpbGRQcm9wcyA9IHtcbiAgICBtb2RlOiAndmlzaWJsZScsXG4gICAgY2hpbGRyZW46IHByaW1hcnlDaGlsZHJlblxuICB9O1xuICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBtb3VudFdvcmtJblByb2dyZXNzT2Zmc2NyZWVuRmliZXIocHJpbWFyeUNoaWxkUHJvcHMsIG1vZGUpO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlRmFsbGJhY2tDaGlsZHJlbih3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuLCBmYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICB2YXIgbW9kZSA9IHdvcmtJblByb2dyZXNzLm1vZGU7XG4gIHZhciBwcm9ncmVzc2VkUHJpbWFyeUZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gIHZhciBwcmltYXJ5Q2hpbGRQcm9wcyA9IHtcbiAgICBtb2RlOiAnaGlkZGVuJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH07XG4gIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSAmJiBwcm9ncmVzc2VkUHJpbWFyeUZyYWdtZW50ICE9PSBudWxsKSB7XG4gICAgLy8gSW4gbGVnYWN5IG1vZGUsIHdlIGNvbW1pdCB0aGUgcHJpbWFyeSB0cmVlIGFzIGlmIGl0IHN1Y2Nlc3NmdWxseVxuICAgIC8vIGNvbXBsZXRlZCwgZXZlbiB0aG91Z2ggaXQncyBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuXG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBwcm9ncmVzc2VkUHJpbWFyeUZyYWdtZW50O1xuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LmNoaWxkTGFuZXMgPSBOb0xhbmVzO1xuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnBlbmRpbmdQcm9wcyA9IHByaW1hcnlDaGlsZFByb3BzO1xuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgLy8gUmVzZXQgdGhlIGR1cmF0aW9ucyBmcm9tIHRoZSBmaXJzdCBwYXNzIHNvIHRoZXkgYXJlbid0IGluY2x1ZGVkIGluIHRoZVxuICAgICAgLy8gZmluYWwgYW1vdW50cy4gVGhpcyBzZWVtcyBjb3VudGVyaW50dWl0aXZlLCBzaW5jZSB3ZSdyZSBpbnRlbnRpb25hbGx5XG4gICAgICAvLyBub3QgbWVhc3VyaW5nIHBhcnQgb2YgdGhlIHJlbmRlciBwaGFzZSwgYnV0IHRoaXMgbWFrZXMgaXQgbWF0Y2ggd2hhdCB3ZVxuICAgICAgLy8gZG8gaW4gQ29uY3VycmVudCBNb2RlLlxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zZWxmQmFzZUR1cmF0aW9uID0gMDtcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb24gPSAwO1xuICAgIH1cblxuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckxhbmVzLCBudWxsKTtcbiAgfSBlbHNlIHtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgbW9kZSk7XG4gICAgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZmFsbGJhY2tDaGlsZHJlbiwgbW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpO1xuICB9XG5cbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZyA9IGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gbW91bnRXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKG9mZnNjcmVlblByb3BzLCBtb2RlLCByZW5kZXJMYW5lcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbmAgaXMgYGFueWAgdHlwZWQsIHNvIHdlIHVzZVxuICAvLyB0aGlzIHdyYXBwZXIgZnVuY3Rpb24gdG8gY29uc3RyYWluIGl0LlxuICByZXR1cm4gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKG9mZnNjcmVlblByb3BzLCBtb2RlLCBOb0xhbmVzLCBudWxsKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlV29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZVdvcmtJblByb2dyZXNzYCBpcyBgYW55YCB0eXBlZCwgc28gd2UgdXNlIHRoaXNcbiAgLy8gd3JhcHBlciBmdW5jdGlvbiB0byBjb25zdHJhaW4gaXQuXG4gIHJldHVybiBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjdXJyZW50LmNoaWxkO1xuICB2YXIgY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nO1xuICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudCwge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH0pO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQubGFuZXMgPSByZW5kZXJMYW5lcztcbiAgfVxuXG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gbnVsbDtcblxuICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgIC8vIERlbGV0ZSB0aGUgZmFsbGJhY2sgY2hpbGQgZnJhZ21lbnRcbiAgICB2YXIgZGVsZXRpb25zID0gd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zO1xuXG4gICAgaWYgKGRlbGV0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gW2N1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnRdO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRpb25zLnB1c2goY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCk7XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZUZhbGxiYWNrQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHByaW1hcnlDaGlsZHJlbiwgZmFsbGJhY2tDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG1vZGUgPSB3b3JrSW5Qcm9ncmVzcy5tb2RlO1xuICB2YXIgY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50ID0gY3VycmVudC5jaGlsZDtcbiAgdmFyIGN1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZztcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICdoaWRkZW4nLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuXG4gIGlmICggLy8gSW4gbGVnYWN5IG1vZGUsIHdlIGNvbW1pdCB0aGUgcHJpbWFyeSB0cmVlIGFzIGlmIGl0IHN1Y2Nlc3NmdWxseVxuICAvLyBjb21wbGV0ZWQsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLlxuICAobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlICYmIC8vIE1ha2Ugc3VyZSB3ZSdyZSBvbiB0aGUgc2Vjb25kIHBhc3MsIGkuZS4gdGhlIHByaW1hcnkgY2hpbGQgZnJhZ21lbnQgd2FzXG4gIC8vIGFscmVhZHkgY2xvbmVkLiBJbiBsZWdhY3kgbW9kZSwgdGhlIG9ubHkgY2FzZSB3aGVyZSB0aGlzIGlzbid0IHRydWUgaXNcbiAgLy8gd2hlbiBEZXZUb29scyBmb3JjZXMgdXMgdG8gZGlzcGxheSBhIGZhbGxiYWNrOyB3ZSBza2lwIHRoZSBmaXJzdCByZW5kZXJcbiAgLy8gcGFzcyBlbnRpcmVseSBhbmQgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIHRoZSBmYWxsYmFjay4gKEluIENvbmN1cnJlbnRcbiAgLy8gTW9kZSwgU3VzcGVuc2VMaXN0IGNhbiBhbHNvIHRyaWdnZXIgdGhpcyBzY2VuYXJpbywgYnV0IHRoaXMgaXMgYSBsZWdhY3ktXG4gIC8vIG9ubHkgY29kZXBhdGguKVxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCAhPT0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50KSB7XG4gICAgdmFyIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQ7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzID0gcHJpbWFyeUNoaWxkUHJvcHM7XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAvLyBSZXNldCB0aGUgZHVyYXRpb25zIGZyb20gdGhlIGZpcnN0IHBhc3Mgc28gdGhleSBhcmVuJ3QgaW5jbHVkZWQgaW4gdGhlXG4gICAgICAvLyBmaW5hbCBhbW91bnRzLiBUaGlzIHNlZW1zIGNvdW50ZXJpbnR1aXRpdmUsIHNpbmNlIHdlJ3JlIGludGVudGlvbmFsbHlcbiAgICAgIC8vIG5vdCBtZWFzdXJpbmcgcGFydCBvZiB0aGUgcmVuZGVyIHBoYXNlLCBidXQgdGhpcyBtYWtlcyBpdCBtYXRjaCB3aGF0IHdlXG4gICAgICAvLyBkbyBpbiBDb25jdXJyZW50IE1vZGUuXG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5hY3R1YWxEdXJhdGlvbiA9IDA7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5hY3R1YWxTdGFydFRpbWUgPSAtMTtcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnNlbGZCYXNlRHVyYXRpb24gPSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQuc2VsZkJhc2VEdXJhdGlvbjtcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb24gPSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICB9IC8vIFRoZSBmYWxsYmFjayBmaWJlciB3YXMgYWRkZWQgYXMgYSBkZWxldGlvbiBkdXJpbmcgdGhlIGZpcnN0IHBhc3MuXG4gICAgLy8gSG93ZXZlciwgc2luY2Ugd2UncmUgZ29pbmcgdG8gcmVtYWluIG9uIHRoZSBmYWxsYmFjaywgd2Ugbm8gbG9uZ2VyIHdhbnRcbiAgICAvLyB0byBkZWxldGUgaXQuXG5cblxuICAgIHdvcmtJblByb2dyZXNzLmRlbGV0aW9ucyA9IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudCwgcHJpbWFyeUNoaWxkUHJvcHMpOyAvLyBTaW5jZSB3ZSdyZSByZXVzaW5nIGEgY3VycmVudCB0cmVlLCB3ZSBuZWVkIHRvIHJldXNlIHRoZSBmbGFncywgdG9vLlxuICAgIC8vIChXZSBkb24ndCBkbyB0aGlzIGluIGxlZ2FjeSBtb2RlLCBiZWNhdXNlIGluIGxlZ2FjeSBtb2RlIHdlIGRvbid0IHJlLXVzZVxuICAgIC8vIHRoZSBjdXJyZW50IHRyZWU7IHNlZSBwcmV2aW91cyBicmFuY2guKVxuXG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuc3VidHJlZUZsYWdzID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnN1YnRyZWVGbGFncyAmIFN0YXRpY01hc2s7XG4gIH1cblxuICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuXG4gIGlmIChjdXJyZW50RmFsbGJhY2tDaGlsZEZyYWdtZW50ICE9PSBudWxsKSB7XG4gICAgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCwgZmFsbGJhY2tDaGlsZHJlbik7XG4gIH0gZWxzZSB7XG4gICAgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZmFsbGJhY2tDaGlsZHJlbiwgbW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpOyAvLyBOZWVkcyBhIHBsYWNlbWVudCBlZmZlY3QgYmVjYXVzZSB0aGUgcGFyZW50ICh0aGUgU3VzcGVuc2UgYm91bmRhcnkpIGFscmVhZHlcbiAgICAvLyBtb3VudGVkIGJ1dCB0aGlzIGlzIGEgbmV3IGZpYmVyLlxuXG4gICAgZmFsbGJhY2tDaGlsZEZyYWdtZW50LmZsYWdzIHw9IFBsYWNlbWVudDtcbiAgfVxuXG4gIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnNpYmxpbmcgPSBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG4gIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIHJldHJ5U3VzcGVuc2VDb21wb25lbnRXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcywgcmVjb3ZlcmFibGVFcnJvcikge1xuICAvLyBGYWxsaW5nIGJhY2sgdG8gY2xpZW50IHJlbmRlcmluZy4gQmVjYXVzZSB0aGlzIGhhcyBwZXJmb3JtYW5jZVxuICAvLyBpbXBsaWNhdGlvbnMsIGl0J3MgY29uc2lkZXJlZCBhIHJlY292ZXJhYmxlIGVycm9yLCBldmVuIHRob3VnaCB0aGUgdXNlclxuICAvLyBsaWtlbHkgd29uJ3Qgb2JzZXJ2ZSBhbnl0aGluZyB3cm9uZyB3aXRoIHRoZSBVSS5cbiAgLy9cbiAgLy8gVGhlIGVycm9yIGlzIHBhc3NlZCBpbiBhcyBhbiBhcmd1bWVudCB0byBlbmZvcmNlIHRoYXQgZXZlcnkgY2FsbGVyIHByb3ZpZGVcbiAgLy8gYSBjdXN0b20gbWVzc2FnZSwgb3IgZXhwbGljaXRseSBvcHQgb3V0IChjdXJyZW50bHkgdGhlIG9ubHkgcGF0aCB0aGF0IG9wdHNcbiAgLy8gb3V0IGlzIGxlZ2FjeSBtb2RlOyBldmVyeSBjb25jdXJyZW50IHBhdGggcHJvdmlkZXMgYW4gZXJyb3IpLlxuICBpZiAocmVjb3ZlcmFibGVFcnJvciAhPT0gbnVsbCkge1xuICAgIHF1ZXVlSHlkcmF0aW9uRXJyb3IocmVjb3ZlcmFibGVFcnJvcik7XG4gIH0gLy8gVGhpcyB3aWxsIGFkZCB0aGUgb2xkIGZpYmVyIHRvIHRoZSBkZWxldGlvbiBsaXN0XG5cblxuICByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgY3VycmVudC5jaGlsZCwgbnVsbCwgcmVuZGVyTGFuZXMpOyAvLyBXZSdyZSBub3cgbm90IHN1c3BlbmRlZCBub3IgZGVoeWRyYXRlZC5cblxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgcHJpbWFyeUNoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4pOyAvLyBOZWVkcyBhIHBsYWNlbWVudCBlZmZlY3QgYmVjYXVzZSB0aGUgcGFyZW50ICh0aGUgU3VzcGVuc2UgYm91bmRhcnkpIGFscmVhZHlcbiAgLy8gbW91bnRlZCBidXQgdGhpcyBpcyBhIG5ldyBmaWJlci5cblxuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xuICByZXR1cm4gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50U3VzcGVuc2VGYWxsYmFja0FmdGVyUmV0cnlXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIGZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBmaWJlck1vZGUgPSB3b3JrSW5Qcm9ncmVzcy5tb2RlO1xuICB2YXIgcHJpbWFyeUNoaWxkUHJvcHMgPSB7XG4gICAgbW9kZTogJ3Zpc2libGUnLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gbW91bnRXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKHByaW1hcnlDaGlsZFByb3BzLCBmaWJlck1vZGUpO1xuICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZmFsbGJhY2tDaGlsZHJlbiwgZmliZXJNb2RlLCByZW5kZXJMYW5lcywgbnVsbCk7IC8vIE5lZWRzIGEgcGxhY2VtZW50IGVmZmVjdCBiZWNhdXNlIHRoZSBwYXJlbnQgKHRoZSBTdXNwZW5zZVxuICAvLyBib3VuZGFyeSkgYWxyZWFkeSBtb3VudGVkIGJ1dCB0aGlzIGlzIGEgbmV3IGZpYmVyLlxuXG4gIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBmYWxsYmFja0NoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnNpYmxpbmcgPSBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG5cbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAvLyBXZSB3aWxsIGhhdmUgZHJvcHBlZCB0aGUgZWZmZWN0IGxpc3Qgd2hpY2ggY29udGFpbnMgdGhlXG4gICAgLy8gZGVsZXRpb24uIFdlIG5lZWQgdG8gcmVjb25jaWxlIHRvIGRlbGV0ZSB0aGUgY3VycmVudCBjaGlsZC5cbiAgICByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgY3VycmVudC5jaGlsZCwgbnVsbCwgcmVuZGVyTGFuZXMpO1xuICB9XG5cbiAgcmV0dXJuIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gbW91bnREZWh5ZHJhdGVkU3VzcGVuc2VDb21wb25lbnQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlSW5zdGFuY2UsIHJlbmRlckxhbmVzKSB7XG4gIC8vIER1cmluZyB0aGUgZmlyc3QgcGFzcywgd2UnbGwgYmFpbCBvdXQgYW5kIG5vdCBkcmlsbCBpbnRvIHRoZSBjaGlsZHJlbi5cbiAgLy8gSW5zdGVhZCwgd2UnbGwgbGVhdmUgdGhlIGNvbnRlbnQgaW4gcGxhY2UgYW5kIHRyeSB0byBoeWRyYXRlIGl0IGxhdGVyLlxuICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHtcbiAgICAgIGVycm9yKCdDYW5ub3QgaHlkcmF0ZSBTdXNwZW5zZSBpbiBsZWdhY3kgbW9kZS4gU3dpdGNoIGZyb20gJyArICdSZWFjdERPTS5oeWRyYXRlKGVsZW1lbnQsIGNvbnRhaW5lcikgdG8gJyArICdSZWFjdERPTUNsaWVudC5oeWRyYXRlUm9vdChjb250YWluZXIsIDxBcHAgLz4pJyArICcucmVuZGVyKGVsZW1lbnQpIG9yIHJlbW92ZSB0aGUgU3VzcGVuc2UgY29tcG9uZW50cyBmcm9tICcgKyAndGhlIHNlcnZlciByZW5kZXJlZCBjb21wb25lbnRzLicpO1xuICAgIH1cblxuICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gbGFuZVRvTGFuZXMoU3luY0xhbmUpO1xuICB9IGVsc2UgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrKHN1c3BlbnNlSW5zdGFuY2UpKSB7XG4gICAgLy8gVGhpcyBpcyBhIGNsaWVudC1vbmx5IGJvdW5kYXJ5LiBTaW5jZSB3ZSB3b24ndCBnZXQgYW55IGNvbnRlbnQgZnJvbSB0aGUgc2VydmVyXG4gICAgLy8gZm9yIHRoaXMsIHdlIG5lZWQgdG8gc2NoZWR1bGUgdGhhdCBhdCBhIGhpZ2hlciBwcmlvcml0eSBiYXNlZCBvbiB3aGVuIGl0IHdvdWxkXG4gICAgLy8gaGF2ZSB0aW1lZCBvdXQuIEluIHRoZW9yeSB3ZSBjb3VsZCByZW5kZXIgaXQgaW4gdGhpcyBwYXNzIGJ1dCBpdCB3b3VsZCBoYXZlIHRoZVxuICAgIC8vIHdyb25nIHByaW9yaXR5IGFzc29jaWF0ZWQgd2l0aCBpdCBhbmQgd2lsbCBwcmV2ZW50IGh5ZHJhdGlvbiBvZiBwYXJlbnQgcGF0aC5cbiAgICAvLyBJbnN0ZWFkLCB3ZSdsbCBsZWF2ZSB3b3JrIGxlZnQgb24gaXQgdG8gcmVuZGVyIGl0IGluIGEgc2VwYXJhdGUgY29tbWl0LlxuICAgIC8vIFRPRE8gVGhpcyB0aW1lIHNob3VsZCBiZSB0aGUgdGltZSBhdCB3aGljaCB0aGUgc2VydmVyIHJlbmRlcmVkIHJlc3BvbnNlIHRoYXQgaXNcbiAgICAvLyBhIHBhcmVudCB0byB0aGlzIGJvdW5kYXJ5IHdhcyBkaXNwbGF5ZWQuIEhvd2V2ZXIsIHNpbmNlIHdlIGN1cnJlbnRseSBkb24ndCBoYXZlXG4gICAgLy8gYSBwcm90b2NvbCB0byB0cmFuc2ZlciB0aGF0IHRpbWUsIHdlJ2xsIGp1c3QgZXN0aW1hdGUgaXQgYnkgdXNpbmcgdGhlIGN1cnJlbnRcbiAgICAvLyB0aW1lLiBUaGlzIHdpbGwgbWVhbiB0aGF0IFN1c3BlbnNlIHRpbWVvdXRzIGFyZSBzbGlnaHRseSBzaGlmdGVkIHRvIGxhdGVyIHRoYW5cbiAgICAvLyB0aGV5IHNob3VsZCBiZS5cbiAgICAvLyBTY2hlZHVsZSBhIG5vcm1hbCBwcmkgdXBkYXRlIHRvIHJlbmRlciB0aGlzIGNvbnRlbnQuXG4gICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBsYW5lVG9MYW5lcyhEZWZhdWx0SHlkcmF0aW9uTGFuZSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gV2UnbGwgY29udGludWUgaHlkcmF0aW5nIHRoZSByZXN0IGF0IG9mZnNjcmVlbiBwcmlvcml0eSBzaW5jZSB3ZSdsbCBhbHJlYWR5XG4gICAgLy8gYmUgc2hvd2luZyB0aGUgcmlnaHQgY29udGVudCBjb21pbmcgZnJvbSB0aGUgc2VydmVyLCBpdCBpcyBubyBydXNoLlxuICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gbGFuZVRvTGFuZXMoT2Zmc2NyZWVuTGFuZSk7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlRGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBkaWRTdXNwZW5kLCBkaWRQcmltYXJ5Q2hpbGRyZW5EZWZlciwgbmV4dFByb3BzLCBzdXNwZW5zZUluc3RhbmNlLCBzdXNwZW5zZVN0YXRlLCByZW5kZXJMYW5lcykge1xuICBpZiAoIWRpZFN1c3BlbmQpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCByZW5kZXIgcGFzcy4gQXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIHB1c2hQcmltYXJ5VHJlZVN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7IC8vIFdlIHNob3VsZCBuZXZlciBiZSBoeWRyYXRpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IGlzIHRoZSBmaXJzdCBwYXNzLFxuICAgIC8vIGJ1dCBhZnRlciB3ZSd2ZSBhbHJlYWR5IGNvbW1pdHRlZCBvbmNlLlxuXG4gICAgd2FybklmSHlkcmF0aW5nKCk7XG5cbiAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgICAgcmV0dXJuIHJldHJ5U3VzcGVuc2VDb21wb25lbnRXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcywgbnVsbCk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrKHN1c3BlbnNlSW5zdGFuY2UpKSB7XG4gICAgICAvLyBUaGlzIGJvdW5kYXJ5IGlzIGluIGEgcGVybWFuZW50IGZhbGxiYWNrIHN0YXRlLiBJbiB0aGlzIGNhc2UsIHdlJ2xsIG5ldmVyXG4gICAgICAvLyBnZXQgYW4gdXBkYXRlIGFuZCB3ZSdsbCBuZXZlciBiZSBhYmxlIHRvIGh5ZHJhdGUgdGhlIGZpbmFsIGNvbnRlbnQuIExldCdzIGp1c3QgdHJ5IHRoZVxuICAgICAgLy8gY2xpZW50IHNpZGUgcmVuZGVyIGluc3RlYWQuXG4gICAgICB2YXIgZGlnZXN0O1xuICAgICAgdmFyIG1lc3NhZ2UsIHN0YWNrO1xuXG4gICAgICB7XG4gICAgICAgIHZhciBfZ2V0U3VzcGVuc2VJbnN0YW5jZUYgPSBnZXRTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2tFcnJvckRldGFpbHMoc3VzcGVuc2VJbnN0YW5jZSk7XG5cbiAgICAgICAgZGlnZXN0ID0gX2dldFN1c3BlbnNlSW5zdGFuY2VGLmRpZ2VzdDtcbiAgICAgICAgbWVzc2FnZSA9IF9nZXRTdXNwZW5zZUluc3RhbmNlRi5tZXNzYWdlO1xuICAgICAgICBzdGFjayA9IF9nZXRTdXNwZW5zZUluc3RhbmNlRi5zdGFjaztcbiAgICAgIH1cblxuICAgICAgdmFyIGNhcHR1cmVkVmFsdWUgPSBudWxsOyAvLyBUT0RPOiBGaWd1cmUgb3V0IGEgYmV0dGVyIHNpZ25hbCB0aGFuIGVuY29kaW5nIGEgbWFnaWMgZGlnZXN0IHZhbHVlLlxuXG4gICAgICB7XG4gICAgICAgIHZhciBlcnJvcjtcblxuICAgICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IoJ1RoZSBzZXJ2ZXIgY291bGQgbm90IGZpbmlzaCB0aGlzIFN1c3BlbnNlIGJvdW5kYXJ5LCBsaWtlbHkgJyArICdkdWUgdG8gYW4gZXJyb3IgZHVyaW5nIHNlcnZlciByZW5kZXJpbmcuIFN3aXRjaGVkIHRvICcgKyAnY2xpZW50IHJlbmRlcmluZy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yLmRpZ2VzdCA9IGRpZ2VzdDtcbiAgICAgICAgY2FwdHVyZWRWYWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWVGcm9tRXJyb3IoZXJyb3IsIGRpZ2VzdCwgc3RhY2spO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmV0cnlTdXNwZW5zZUNvbXBvbmVudFdpdGhvdXRIeWRyYXRpbmcoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzLCBjYXB0dXJlZFZhbHVlKTtcbiAgICB9XG4gICAgLy8gYW55IGNvbnRleHQgaGFzIGNoYW5nZWQsIHdlIG5lZWQgdG8gdHJlYXQgaXMgYXMgaWYgdGhlIGlucHV0IG1pZ2h0IGhhdmUgY2hhbmdlZC5cblxuXG4gICAgdmFyIGhhc0NvbnRleHRDaGFuZ2VkID0gaW5jbHVkZXNTb21lTGFuZShyZW5kZXJMYW5lcywgY3VycmVudC5jaGlsZExhbmVzKTtcblxuICAgIGlmIChkaWRSZWNlaXZlVXBkYXRlIHx8IGhhc0NvbnRleHRDaGFuZ2VkKSB7XG4gICAgICAvLyBUaGlzIGJvdW5kYXJ5IGhhcyBjaGFuZ2VkIHNpbmNlIHRoZSBmaXJzdCByZW5kZXIuIFRoaXMgbWVhbnMgdGhhdCB3ZSBhcmUgbm93IHVuYWJsZSB0b1xuICAgICAgLy8gaHlkcmF0ZSBpdC4gV2UgbWlnaHQgc3RpbGwgYmUgYWJsZSB0byBoeWRyYXRlIGl0IHVzaW5nIGEgaGlnaGVyIHByaW9yaXR5IGxhbmUuXG4gICAgICB2YXIgcm9vdCA9IGdldFdvcmtJblByb2dyZXNzUm9vdCgpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSA9IGdldEJ1bXBlZExhbmVGb3JIeWRyYXRpb24ocm9vdCwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICAgIGlmIChhdHRlbXB0SHlkcmF0aW9uQXRMYW5lICE9PSBOb0xhbmUgJiYgYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSAhPT0gc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUpIHtcbiAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IG11dGF0aW5nIHNpbmNlIHRoaXMgcmVuZGVyIHdpbGwgZ2V0IGludGVycnVwdGVkLiBUaGlzXG4gICAgICAgICAgLy8gaXMgb25lIG9mIHRoZSB2ZXJ5IHJhcmUgdGltZXMgd2hlcmUgd2UgbXV0YXRlIHRoZSBjdXJyZW50IHRyZWVcbiAgICAgICAgICAvLyBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZS5cbiAgICAgICAgICBzdXNwZW5zZVN0YXRlLnJldHJ5TGFuZSA9IGF0dGVtcHRIeWRyYXRpb25BdExhbmU7XG4gICAgICAgICAgZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGN1cnJlbnQsIGF0dGVtcHRIeWRyYXRpb25BdExhbmUpO1xuICAgICAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBjdXJyZW50LCBhdHRlbXB0SHlkcmF0aW9uQXRMYW5lKTsgLy8gVGhyb3cgYSBzcGVjaWFsIG9iamVjdCB0aGF0IHNpZ25hbHMgdG8gdGhlIHdvcmsgbG9vcCB0aGF0IGl0IHNob3VsZFxuICAgICAgICAgIC8vIGludGVycnVwdCB0aGUgY3VycmVudCByZW5kZXIuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBCZWNhdXNlIHdlJ3JlIGluc2lkZSBhIFJlYWN0LW9ubHkgZXhlY3V0aW9uIHN0YWNrLCB3ZSBkb24ndFxuICAgICAgICAgIC8vIHN0cmljdGx5IG5lZWQgdG8gdGhyb3cgaGVyZSDigJQgd2UgY291bGQgaW5zdGVhZCBtb2RpZnkgc29tZSBpbnRlcm5hbFxuICAgICAgICAgIC8vIHdvcmsgbG9vcCBzdGF0ZS4gQnV0IHVzaW5nIGFuIGV4Y2VwdGlvbiBtZWFucyB3ZSBkb24ndCBuZWVkIHRvXG4gICAgICAgICAgLy8gY2hlY2sgZm9yIHRoaXMgY2FzZSBvbiBldmVyeSBpdGVyYXRpb24gb2YgdGhlIHdvcmsgbG9vcC4gU28gZG9pbmdcbiAgICAgICAgICAvLyBpdCB0aGlzIHdheSBtb3ZlcyB0aGUgY2hlY2sgb3V0IG9mIHRoZSBmYXN0IHBhdGguXG5cbiAgICAgICAgICB0aHJvdyBTZWxlY3RpdmVIeWRyYXRpb25FeGNlcHRpb247XG4gICAgICAgIH1cbiAgICAgIH0gLy8gSWYgd2UgZGlkIG5vdCBzZWxlY3RpdmVseSBoeWRyYXRlLCB3ZSdsbCBjb250aW51ZSByZW5kZXJpbmcgd2l0aG91dFxuICAgICAgLy8gaHlkcmF0aW5nLiBNYXJrIHRoaXMgdHJlZSBhcyBzdXNwZW5kZWQgdG8gcHJldmVudCBpdCBmcm9tIGNvbW1pdHRpbmdcbiAgICAgIC8vIG91dHNpZGUgYSB0cmFuc2l0aW9uLlxuICAgICAgLy9cbiAgICAgIC8vIFRoaXMgcGF0aCBzaG91bGQgb25seSBoYXBwZW4gaWYgdGhlIGh5ZHJhdGlvbiBsYW5lIGFscmVhZHkgc3VzcGVuZGVkLlxuICAgICAgLy8gQ3VycmVudGx5LCBpdCBhbHNvIGhhcHBlbnMgZHVyaW5nIHN5bmMgdXBkYXRlcyBiZWNhdXNlIHRoZXJlIGlzIG5vXG4gICAgICAvLyBoeWRyYXRpb24gbGFuZSBmb3Igc3luYyB1cGRhdGVzLlxuICAgICAgLy8gVE9ETzogV2Ugc2hvdWxkIGlkZWFsbHkgaGF2ZSBhIHN5bmMgaHlkcmF0aW9uIGxhbmUgdGhhdCB3ZSBjYW4gYXBwbHkgdG8gZG9cbiAgICAgIC8vIGEgcGFzcyB3aGVyZSB3ZSBoeWRyYXRlIHRoaXMgc3VidHJlZSBpbiBwbGFjZSB1c2luZyB0aGUgcHJldmlvdXMgQ29udGV4dCBhbmQgdGhlblxuICAgICAgLy8gcmVhcHBseSB0aGUgdXBkYXRlIGFmdGVyd2FyZHMuXG5cblxuICAgICAgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZVBlbmRpbmcoc3VzcGVuc2VJbnN0YW5jZSkpIDsgZWxzZSB7XG4gICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJldHJ5U3VzcGVuc2VDb21wb25lbnRXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcywgbnVsbCk7XG4gICAgfSBlbHNlIGlmIChpc1N1c3BlbnNlSW5zdGFuY2VQZW5kaW5nKHN1c3BlbnNlSW5zdGFuY2UpKSB7XG4gICAgICAvLyBUaGlzIGNvbXBvbmVudCBpcyBzdGlsbCBwZW5kaW5nIG1vcmUgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIsIHNvIHdlIGNhbid0IGh5ZHJhdGUgaXRzXG4gICAgICAvLyBjb250ZW50LiBXZSB0cmVhdCBpdCBhcyBpZiB0aGlzIGNvbXBvbmVudCBzdXNwZW5kZWQgaXRzZWxmLiBJdCBtaWdodCBzZWVtIGFzIGlmXG4gICAgICAvLyB3ZSBjb3VsZCBqdXN0IHRyeSB0byByZW5kZXIgaXQgY2xpZW50LXNpZGUgaW5zdGVhZC4gSG93ZXZlciwgdGhpcyB3aWxsIHBlcmZvcm0gYVxuICAgICAgLy8gbG90IG9mIHVubmVjZXNzYXJ5IHdvcmsgYW5kIGlzIHVubGlrZWx5IHRvIGNvbXBsZXRlIHNpbmNlIGl0IG9mdGVuIHdpbGwgc3VzcGVuZFxuICAgICAgLy8gb24gbWlzc2luZyBkYXRhIGFueXdheS4gQWRkaXRpb25hbGx5LCB0aGUgc2VydmVyIG1pZ2h0IGJlIGFibGUgdG8gcmVuZGVyIG1vcmVcbiAgICAgIC8vIHRoYW4gd2UgY2FuIG9uIHRoZSBjbGllbnQgeWV0LiBJbiB0aGF0IGNhc2Ugd2UnZCBlbmQgdXAgd2l0aCBtb3JlIGZhbGxiYWNrIHN0YXRlc1xuICAgICAgLy8gb24gdGhlIGNsaWVudCB0aGFuIGlmIHdlIGp1c3QgbGVhdmUgaXQgYWxvbmUuIElmIHRoZSBzZXJ2ZXIgdGltZXMgb3V0IG9yIGVycm9yc1xuICAgICAgLy8gdGhlc2Ugc2hvdWxkIHVwZGF0ZSB0aGlzIGJvdW5kYXJ5IHRvIHRoZSBwZXJtYW5lbnQgRmFsbGJhY2sgc3RhdGUgaW5zdGVhZC5cbiAgICAgIC8vIE1hcmsgaXQgYXMgaGF2aW5nIGNhcHR1cmVkIChpLmUuIHN1c3BlbmRlZCkuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlOyAvLyBMZWF2ZSB0aGUgY2hpbGQgaW4gcGxhY2UuIEkuZS4gdGhlIGRlaHlkcmF0ZWQgZnJhZ21lbnQuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDsgLy8gUmVnaXN0ZXIgYSBjYWxsYmFjayB0byByZXRyeSB0aGlzIGJvdW5kYXJ5IG9uY2UgdGhlIHNlcnZlciBoYXMgc2VudCB0aGUgcmVzdWx0LlxuXG4gICAgICB2YXIgcmV0cnkgPSByZXRyeURlaHlkcmF0ZWRTdXNwZW5zZUJvdW5kYXJ5LmJpbmQobnVsbCwgY3VycmVudCk7XG4gICAgICByZWdpc3RlclN1c3BlbnNlSW5zdGFuY2VSZXRyeShzdXNwZW5zZUluc3RhbmNlLCByZXRyeSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgYXR0ZW1wdC5cbiAgICAgIHJlZW50ZXJIeWRyYXRpb25TdGF0ZUZyb21EZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VJbnN0YW5jZSwgc3VzcGVuc2VTdGF0ZS50cmVlQ29udGV4dCk7XG4gICAgICB2YXIgcHJpbWFyeUNoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICAgICAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gbW91bnRTdXNwZW5zZVByaW1hcnlDaGlsZHJlbih3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuKTsgLy8gTWFyayB0aGUgY2hpbGRyZW4gYXMgaHlkcmF0aW5nLiBUaGlzIGlzIGEgZmFzdCBwYXRoIHRvIGtub3cgd2hldGhlciB0aGlzXG4gICAgICAvLyB0cmVlIGlzIHBhcnQgb2YgYSBoeWRyYXRpbmcgdHJlZS4gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIGNoaWxkXG4gICAgICAvLyBub2RlIGhhcyBmdWxseSBtb3VudGVkIHlldCwgYW5kIGZvciBzY2hlZHVsaW5nIGV2ZW50IHJlcGxheWluZy5cbiAgICAgIC8vIENvbmNlcHR1YWxseSB0aGlzIGlzIHNpbWlsYXIgdG8gUGxhY2VtZW50IGluIHRoYXQgYSBuZXcgc3VidHJlZSBpc1xuICAgICAgLy8gaW5zZXJ0ZWQgaW50byB0aGUgUmVhY3QgdHJlZSBoZXJlLiBJdCBqdXN0IGhhcHBlbnMgdG8gbm90IG5lZWQgRE9NXG4gICAgICAvLyBtdXRhdGlvbnMgYmVjYXVzZSBpdCBhbHJlYWR5IGV4aXN0cy5cblxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuZmxhZ3MgfD0gSHlkcmF0aW5nO1xuICAgICAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBzZWNvbmQgcmVuZGVyIHBhc3MuIFdlIGFscmVhZHkgYXR0ZW1wdGVkIHRvIGh5ZHJhdGVkLCBidXRcbiAgICAvLyBzb21ldGhpbmcgZWl0aGVyIHN1c3BlbmRlZCBvciBlcnJvcmVkLlxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSB7XG4gICAgICAvLyBTb21ldGhpbmcgZXJyb3JlZCBkdXJpbmcgaHlkcmF0aW9uLiBUcnkgYWdhaW4gd2l0aG91dCBoeWRyYXRpbmcuXG4gICAgICBwdXNoUHJpbWFyeVRyZWVTdXNwZW5zZUhhbmRsZXIod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gfkZvcmNlQ2xpZW50UmVuZGVyO1xuXG4gICAgICB2YXIgX2NhcHR1cmVkVmFsdWUgPSBjcmVhdGVDYXB0dXJlZFZhbHVlRnJvbUVycm9yKG5ldyBFcnJvcignVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIGh5ZHJhdGluZyB0aGlzIFN1c3BlbnNlIGJvdW5kYXJ5LiAnICsgJ1N3aXRjaGVkIHRvIGNsaWVudCByZW5kZXJpbmcuJykpO1xuXG4gICAgICByZXR1cm4gcmV0cnlTdXNwZW5zZUNvbXBvbmVudFdpdGhvdXRIeWRyYXRpbmcoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzLCBfY2FwdHVyZWRWYWx1ZSk7XG4gICAgfSBlbHNlIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBTb21ldGhpbmcgc3VzcGVuZGVkIGFuZCB3ZSBzaG91bGQgc3RpbGwgYmUgaW4gZGVoeWRyYXRlZCBtb2RlLlxuICAgICAgLy8gTGVhdmUgdGhlIGV4aXN0aW5nIGNoaWxkIGluIHBsYWNlLlxuICAgICAgLy8gUHVzaCB0byBhdm9pZCBhIG1pc21hdGNoXG4gICAgICBwdXNoRmFsbGJhY2tUcmVlU3VzcGVuc2VIYW5kbGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDsgLy8gVGhlIGRlaHlkcmF0ZWQgY29tcGxldGlvbiBwYXNzIGV4cGVjdHMgdGhpcyBmbGFnIHRvIGJlIHRoZXJlXG4gICAgICAvLyBidXQgdGhlIG5vcm1hbCBzdXNwZW5zZSBwYXNzIGRvZXNuJ3QuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3VzcGVuZGVkIGJ1dCB3ZSBzaG91bGQgbm8gbG9uZ2VyIGJlIGluIGRlaHlkcmF0ZWQgbW9kZS5cbiAgICAgIC8vIFRoZXJlZm9yZSB3ZSBub3cgaGF2ZSB0byByZW5kZXIgdGhlIGZhbGxiYWNrLlxuICAgICAgcHVzaEZhbGxiYWNrVHJlZVN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBuZXh0RmFsbGJhY2tDaGlsZHJlbiA9IG5leHRQcm9wcy5mYWxsYmFjaztcbiAgICAgIHZhciBmYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlRmFsbGJhY2tBZnRlclJldHJ5V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dFByaW1hcnlDaGlsZHJlbiwgbmV4dEZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0Lm1lbW9pemVkU3RhdGUgPSBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpO1xuICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50NC5jaGlsZExhbmVzID0gZ2V0UmVtYWluaW5nV29ya0luUHJpbWFyeVRyZWUoY3VycmVudCwgZGlkUHJpbWFyeUNoaWxkcmVuRGVmZXIsIHJlbmRlckxhbmVzKTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBTVVNQRU5ERURfTUFSS0VSO1xuICAgICAgcmV0dXJuIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVTdXNwZW5zZVdvcmtPbkZpYmVyKGZpYmVyLCByZW5kZXJMYW5lcywgcHJvcGFnYXRpb25Sb290KSB7XG4gIGZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhmaWJlci5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gIGlmIChhbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICBhbHRlcm5hdGUubGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICB9XG5cbiAgc2NoZWR1bGVDb250ZXh0V29ya09uUGFyZW50UGF0aChmaWJlci5yZXR1cm4sIHJlbmRlckxhbmVzLCBwcm9wYWdhdGlvblJvb3QpO1xufVxuXG5mdW5jdGlvbiBwcm9wYWdhdGVTdXNwZW5zZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGZpcnN0Q2hpbGQsIHJlbmRlckxhbmVzKSB7XG4gIC8vIE1hcmsgYW55IFN1c3BlbnNlIGJvdW5kYXJpZXMgd2l0aCBmYWxsYmFja3MgYXMgaGF2aW5nIHdvcmsgdG8gZG8uXG4gIC8vIElmIHRoZXkgd2VyZSBwcmV2aW91c2x5IGZvcmNlZCBpbnRvIGZhbGxiYWNrcywgdGhleSBtYXkgbm93IGJlIGFibGVcbiAgLy8gdG8gdW5ibG9jay5cbiAgdmFyIG5vZGUgPSBmaXJzdENoaWxkO1xuXG4gIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgdmFyIHN0YXRlID0gbm9kZS5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgc2NoZWR1bGVTdXNwZW5zZVdvcmtPbkZpYmVyKG5vZGUsIHJlbmRlckxhbmVzLCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gU3VzcGVuc2VMaXN0Q29tcG9uZW50KSB7XG4gICAgICAvLyBJZiB0aGUgdGFpbCBpcyBoaWRkZW4gdGhlcmUgbWlnaHQgbm90IGJlIGFuIFN1c3BlbnNlIGJvdW5kYXJpZXNcbiAgICAgIC8vIHRvIHNjaGVkdWxlIHdvcmsgb24uIEluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIHNjaGVkdWxlIGl0IG9uIHRoZVxuICAgICAgLy8gbGlzdCBpdHNlbGYuXG4gICAgICAvLyBXZSBkb24ndCBoYXZlIHRvIHRyYXZlcnNlIHRvIHRoZSBjaGlsZHJlbiBvZiB0aGUgbGlzdCBzaW5jZVxuICAgICAgLy8gdGhlIGxpc3Qgd2lsbCBwcm9wYWdhdGUgdGhlIGNoYW5nZSB3aGVuIGl0IHJlcmVuZGVycy5cbiAgICAgIHNjaGVkdWxlU3VzcGVuc2VXb3JrT25GaWJlcihub2RlLCByZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobm9kZSA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuXG5cbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZExhc3RDb250ZW50Um93KGZpcnN0Q2hpbGQpIHtcbiAgLy8gVGhpcyBpcyBnb2luZyB0byBmaW5kIHRoZSBsYXN0IHJvdyBhbW9uZyB0aGVzZSBjaGlsZHJlbiB0aGF0IGlzIGFscmVhZHlcbiAgLy8gc2hvd2luZyBjb250ZW50IG9uIHRoZSBzY3JlZW4sIGFzIG9wcG9zZWQgdG8gYmVpbmcgaW4gZmFsbGJhY2sgc3RhdGUgb3JcbiAgLy8gbmV3LiBJZiBhIHJvdyBoYXMgbXVsdGlwbGUgU3VzcGVuc2UgYm91bmRhcmllcywgYW55IG9mIHRoZW0gYmVpbmcgaW4gdGhlXG4gIC8vIGZhbGxiYWNrIHN0YXRlLCBjb3VudHMgYXMgdGhlIHdob2xlIHJvdyBiZWluZyBpbiBhIGZhbGxiYWNrIHN0YXRlLlxuICAvLyBOb3RlIHRoYXQgdGhlIFwicm93c1wiIHdpbGwgYmUgd29ya0luUHJvZ3Jlc3MsIGJ1dCBhbnkgbmVzdGVkIGNoaWxkcmVuXG4gIC8vIHdpbGwgc3RpbGwgYmUgY3VycmVudCBzaW5jZSB3ZSBoYXZlbid0IHJlbmRlcmVkIHRoZW0geWV0LiBUaGUgbW91bnRlZFxuICAvLyBvcmRlciBtYXkgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBuZXcgb3JkZXIuIFdlIHVzZSB0aGUgbmV3IG9yZGVyLlxuICB2YXIgcm93ID0gZmlyc3RDaGlsZDtcbiAgdmFyIGxhc3RDb250ZW50Um93ID0gbnVsbDtcblxuICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnRSb3cgPSByb3cuYWx0ZXJuYXRlOyAvLyBOZXcgcm93cyBjYW4ndCBiZSBjb250ZW50IHJvd3MuXG5cbiAgICBpZiAoY3VycmVudFJvdyAhPT0gbnVsbCAmJiBmaW5kRmlyc3RTdXNwZW5kZWQoY3VycmVudFJvdykgPT09IG51bGwpIHtcbiAgICAgIGxhc3RDb250ZW50Um93ID0gcm93O1xuICAgIH1cblxuICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIGxhc3RDb250ZW50Um93O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVJldmVhbE9yZGVyKHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAocmV2ZWFsT3JkZXIgIT09IHVuZGVmaW5lZCAmJiByZXZlYWxPcmRlciAhPT0gJ2ZvcndhcmRzJyAmJiByZXZlYWxPcmRlciAhPT0gJ2JhY2t3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICd0b2dldGhlcicgJiYgIWRpZFdhcm5BYm91dFJldmVhbE9yZGVyW3JldmVhbE9yZGVyXSkge1xuICAgICAgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXJbcmV2ZWFsT3JkZXJdID0gdHJ1ZTtcblxuICAgICAgaWYgKHR5cGVvZiByZXZlYWxPcmRlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgc3dpdGNoIChyZXZlYWxPcmRlci50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICAgIGNhc2UgJ2ZvcndhcmRzJzpcbiAgICAgICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1VzZSBsb3dlcmNhc2UgXCIlc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnZm9yd2FyZCc6XG4gICAgICAgICAgY2FzZSAnYmFja3dhcmQnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1JlYWN0IHVzZXMgdGhlIC1zIHN1ZmZpeCBpbiB0aGUgc3BlbGxpbmcuIFVzZSBcIiVzc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwidG9nZXRoZXJcIiwgXCJmb3J3YXJkc1wiIG9yIFwiYmFja3dhcmRzXCI/JywgcmV2ZWFsT3JkZXIpO1xuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJyVzIGlzIG5vdCBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgcmV2ZWFsT3JkZXIgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXCJ0b2dldGhlclwiLCBcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIj8nLCByZXZlYWxPcmRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGFpbE9wdGlvbnModGFpbE1vZGUsIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAodGFpbE1vZGUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkFib3V0VGFpbE9wdGlvbnNbdGFpbE1vZGVdKSB7XG4gICAgICBpZiAodGFpbE1vZGUgIT09ICdjb2xsYXBzZWQnICYmIHRhaWxNb2RlICE9PSAnaGlkZGVuJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHZhbHVlIGZvciB0YWlsIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwiY29sbGFwc2VkXCIgb3IgXCJoaWRkZW5cIj8nLCB0YWlsTW9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHJldmVhbE9yZGVyICE9PSAnZm9yd2FyZHMnICYmIHJldmVhbE9yZGVyICE9PSAnYmFja3dhcmRzJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCc8U3VzcGVuc2VMaXN0IHRhaWw9XCIlc1wiIC8+IGlzIG9ubHkgdmFsaWQgaWYgcmV2ZWFsT3JkZXIgaXMgJyArICdcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIi4gJyArICdEaWQgeW91IG1lYW4gdG8gc3BlY2lmeSByZXZlYWxPcmRlcj1cImZvcndhcmRzXCI/JywgdGFpbE1vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkU2xvdCwgaW5kZXgpIHtcbiAge1xuICAgIHZhciBpc0FuQXJyYXkgPSBpc0FycmF5KGNoaWxkU2xvdCk7XG4gICAgdmFyIGlzSXRlcmFibGUgPSAhaXNBbkFycmF5ICYmIHR5cGVvZiBnZXRJdGVyYXRvckZuKGNoaWxkU2xvdCkgPT09ICdmdW5jdGlvbic7XG5cbiAgICBpZiAoaXNBbkFycmF5IHx8IGlzSXRlcmFibGUpIHtcbiAgICAgIHZhciB0eXBlID0gaXNBbkFycmF5ID8gJ2FycmF5JyA6ICdpdGVyYWJsZSc7XG5cbiAgICAgIGVycm9yKCdBIG5lc3RlZCAlcyB3YXMgcGFzc2VkIHRvIHJvdyAjJXMgaW4gPFN1c3BlbnNlTGlzdCAvPi4gV3JhcCBpdCBpbiAnICsgJ2FuIGFkZGl0aW9uYWwgU3VzcGVuc2VMaXN0IHRvIGNvbmZpZ3VyZSBpdHMgcmV2ZWFsT3JkZXI6ICcgKyAnPFN1c3BlbnNlTGlzdCByZXZlYWxPcmRlcj0uLi4+IC4uLiAnICsgJzxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9Li4uPnslc308L1N1c3BlbnNlTGlzdD4gLi4uICcgKyAnPC9TdXNwZW5zZUxpc3Q+JywgdHlwZSwgaW5kZXgsIHR5cGUpO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4oY2hpbGRyZW4sIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAoKHJldmVhbE9yZGVyID09PSAnZm9yd2FyZHMnIHx8IHJldmVhbE9yZGVyID09PSAnYmFja3dhcmRzJykgJiYgY2hpbGRyZW4gIT09IHVuZGVmaW5lZCAmJiBjaGlsZHJlbiAhPT0gbnVsbCAmJiBjaGlsZHJlbiAhPT0gZmFsc2UpIHtcbiAgICAgIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkcmVuW2ldLCBpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB2YXIgY2hpbGRyZW5JdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChjaGlsZHJlbik7XG5cbiAgICAgICAgICBpZiAoY2hpbGRyZW5JdGVyYXRvcikge1xuICAgICAgICAgICAgdmFyIHN0ZXAgPSBjaGlsZHJlbkl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgICAgIHZhciBfaSA9IDA7XG5cbiAgICAgICAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBzdGVwID0gY2hpbGRyZW5JdGVyYXRvci5uZXh0KCkpIHtcbiAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKHN0ZXAudmFsdWUsIF9pKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIF9pKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yKCdBIHNpbmdsZSByb3cgd2FzIHBhc3NlZCB0byBhIDxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9XCIlc1wiIC8+LiAnICsgJ1RoaXMgaXMgbm90IHVzZWZ1bCBzaW5jZSBpdCBuZWVkcyBtdWx0aXBsZSByb3dzLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBwYXNzIG11bHRpcGxlIGNoaWxkcmVuIG9yIGFuIGFycmF5PycsIHJldmVhbE9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIGlzQmFja3dhcmRzLCB0YWlsLCBsYXN0Q29udGVudFJvdywgdGFpbE1vZGUpIHtcbiAgdmFyIHJlbmRlclN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocmVuZGVyU3RhdGUgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0ge1xuICAgICAgaXNCYWNrd2FyZHM6IGlzQmFja3dhcmRzLFxuICAgICAgcmVuZGVyaW5nOiBudWxsLFxuICAgICAgcmVuZGVyaW5nU3RhcnRUaW1lOiAwLFxuICAgICAgbGFzdDogbGFzdENvbnRlbnRSb3csXG4gICAgICB0YWlsOiB0YWlsLFxuICAgICAgdGFpbE1vZGU6IHRhaWxNb2RlXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBXZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIG9iamVjdCBmcm9tIHByZXZpb3VzIHJlbmRlcnMuXG4gICAgcmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMgPSBpc0JhY2t3YXJkcztcbiAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA9IDA7XG4gICAgcmVuZGVyU3RhdGUubGFzdCA9IGxhc3RDb250ZW50Um93O1xuICAgIHJlbmRlclN0YXRlLnRhaWwgPSB0YWlsO1xuICAgIHJlbmRlclN0YXRlLnRhaWxNb2RlID0gdGFpbE1vZGU7XG4gIH1cbn0gLy8gVGhpcyBjYW4gZW5kIHVwIHJlbmRlcmluZyB0aGlzIGNvbXBvbmVudCBtdWx0aXBsZSBwYXNzZXMuXG4vLyBUaGUgZmlyc3QgcGFzcyBzcGxpdHMgdGhlIGNoaWxkcmVuIGZpYmVycyBpbnRvIHR3byBzZXRzLiBBIGhlYWQgYW5kIHRhaWwuXG4vLyBXZSBmaXJzdCByZW5kZXIgdGhlIGhlYWQuIElmIGFueXRoaW5nIGlzIGluIGZhbGxiYWNrIHN0YXRlLCB3ZSBkbyBhbm90aGVyXG4vLyBwYXNzIHRocm91Z2ggYmVnaW5Xb3JrIHRvIHJlcmVuZGVyIGFsbCBjaGlsZHJlbiAoaW5jbHVkaW5nIHRoZSB0YWlsKSB3aXRoXG4vLyB0aGUgZm9yY2Ugc3VzcGVuZCBjb250ZXh0LiBJZiB0aGUgZmlyc3QgcmVuZGVyIGRpZG4ndCBoYXZlIGFueXRoaW5nIGluXG4vLyBpbiBmYWxsYmFjayBzdGF0ZS4gVGhlbiB3ZSByZW5kZXIgZWFjaCByb3cgaW4gdGhlIHRhaWwgb25lLWJ5LW9uZS5cbi8vIFRoYXQgaGFwcGVucyBpbiB0aGUgY29tcGxldGVXb3JrIHBoYXNlIHdpdGhvdXQgZ29pbmcgYmFjayB0byBiZWdpbldvcmsuXG5cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VMaXN0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgcmV2ZWFsT3JkZXIgPSBuZXh0UHJvcHMucmV2ZWFsT3JkZXI7XG4gIHZhciB0YWlsTW9kZSA9IG5leHRQcm9wcy50YWlsO1xuICB2YXIgbmV3Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIHZhbGlkYXRlUmV2ZWFsT3JkZXIocmV2ZWFsT3JkZXIpO1xuICB2YWxpZGF0ZVRhaWxPcHRpb25zKHRhaWxNb2RlLCByZXZlYWxPcmRlcik7XG4gIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4obmV3Q2hpbGRyZW4sIHJldmVhbE9yZGVyKTtcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5ld0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG4gIHZhciBzaG91bGRGb3JjZUZhbGxiYWNrID0gaGFzU3VzcGVuc2VMaXN0Q29udGV4dChzdXNwZW5zZUNvbnRleHQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjayk7XG5cbiAgaWYgKHNob3VsZEZvcmNlRmFsbGJhY2spIHtcbiAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXRTaGFsbG93U3VzcGVuc2VMaXN0Q29udGV4dChzdXNwZW5zZUNvbnRleHQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjayk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZGlkU3VzcGVuZEJlZm9yZSA9IGN1cnJlbnQgIT09IG51bGwgJiYgKGN1cnJlbnQuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncyQxO1xuXG4gICAgaWYgKGRpZFN1c3BlbmRCZWZvcmUpIHtcbiAgICAgIC8vIElmIHdlIHByZXZpb3VzbHkgZm9yY2VkIGEgZmFsbGJhY2ssIHdlIG5lZWQgdG8gc2NoZWR1bGUgd29ya1xuICAgICAgLy8gb24gYW55IG5lc3RlZCBib3VuZGFyaWVzIHRvIGxldCB0aGVtIGtub3cgdG8gdHJ5IHRvIHJlbmRlclxuICAgICAgLy8gYWdhaW4uIFRoaXMgaXMgdGhlIHNhbWUgYXMgY29udGV4dCB1cGRhdGluZy5cbiAgICAgIHByb3BhZ2F0ZVN1c3BlbnNlQ29udGV4dENoYW5nZSh3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MuY2hpbGQsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlTGlzdENvbnRleHQoc3VzcGVuc2VDb250ZXh0KTtcbiAgfVxuXG4gIHB1c2hTdXNwZW5zZUxpc3RDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUNvbnRleHQpO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgLy8gSW4gbGVnYWN5IG1vZGUsIFN1c3BlbnNlTGlzdCBkb2Vzbid0IHdvcmsgc28gd2UganVzdFxuICAgIC8vIHVzZSBtYWtlIGl0IGEgbm9vcCBieSB0cmVhdGluZyBpdCBhcyB0aGUgZGVmYXVsdCByZXZlYWxPcmRlci5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBzd2l0Y2ggKHJldmVhbE9yZGVyKSB7XG4gICAgICBjYXNlICdmb3J3YXJkcyc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGFzdENvbnRlbnRSb3cgPSBmaW5kTGFzdENvbnRlbnRSb3cod29ya0luUHJvZ3Jlc3MuY2hpbGQpO1xuICAgICAgICAgIHZhciB0YWlsO1xuXG4gICAgICAgICAgaWYgKGxhc3RDb250ZW50Um93ID09PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgd2hvbGUgbGlzdCBpcyBwYXJ0IG9mIHRoZSB0YWlsLlxuICAgICAgICAgICAgLy8gVE9ETzogV2UgY291bGQgZmFzdCBwYXRoIGJ5IGp1c3QgcmVuZGVyaW5nIHRoZSB0YWlsIG5vdy5cbiAgICAgICAgICAgIHRhaWwgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gbnVsbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRGlzY29ubmVjdCB0aGUgdGFpbCByb3dzIGFmdGVyIHRoZSBjb250ZW50IHJvdy5cbiAgICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHJlbmRlciB0aGVtIHNlcGFyYXRlbHkgbGF0ZXIuXG4gICAgICAgICAgICB0YWlsID0gbGFzdENvbnRlbnRSb3cuc2libGluZztcbiAgICAgICAgICAgIGxhc3RDb250ZW50Um93LnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGluaXRTdXNwZW5zZUxpc3RSZW5kZXJTdGF0ZSh3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgdGFpbCwgbGFzdENvbnRlbnRSb3csIHRhaWxNb2RlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gZmluZCB0aGUgZmlyc3Qgcm93IHRoYXQgaGFzIGV4aXN0aW5nIGNvbnRlbnQuXG4gICAgICAgICAgLy8gQXQgdGhlIHNhbWUgdGltZSB3ZSdyZSBnb2luZyB0byByZXZlcnNlIHRoZSBsaXN0IG9mIGV2ZXJ5dGhpbmdcbiAgICAgICAgICAvLyB3ZSBwYXNzIGluIHRoZSBtZWFudGltZS4gVGhhdCdzIGdvaW5nIHRvIGJlIG91ciB0YWlsIGluIHJldmVyc2VcbiAgICAgICAgICAvLyBvcmRlci5cbiAgICAgICAgICB2YXIgX3RhaWwgPSBudWxsO1xuICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG5cbiAgICAgICAgICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudFJvdyA9IHJvdy5hbHRlcm5hdGU7IC8vIE5ldyByb3dzIGNhbid0IGJlIGNvbnRlbnQgcm93cy5cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWFpbiBjb250ZW50LlxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJvdztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBuZXh0Um93ID0gcm93LnNpYmxpbmc7XG4gICAgICAgICAgICByb3cuc2libGluZyA9IF90YWlsO1xuICAgICAgICAgICAgX3RhaWwgPSByb3c7XG4gICAgICAgICAgICByb3cgPSBuZXh0Um93O1xuICAgICAgICAgIH0gLy8gVE9ETzogSWYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgaXMgbnVsbCwgd2UgY2FuIGNvbnRpbnVlIG9uIHRoZSB0YWlsIGltbWVkaWF0ZWx5LlxuXG5cbiAgICAgICAgICBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIHRydWUsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgX3RhaWwsIG51bGwsIC8vIGxhc3RcbiAgICAgICAgICB0YWlsTW9kZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICB7XG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCBmYWxzZSwgLy8gaXNCYWNrd2FyZHNcbiAgICAgICAgICBudWxsLCAvLyB0YWlsXG4gICAgICAgICAgbnVsbCwgLy8gbGFzdFxuICAgICAgICAgIHVuZGVmaW5lZCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IHJldmVhbCBvcmRlciBpcyB0aGUgc2FtZSBhcyBub3QgaGF2aW5nXG4gICAgICAgICAgLy8gYSBib3VuZGFyeS5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBwdXNoSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgLy8gUG9ydGFscyBhcmUgc3BlY2lhbCBiZWNhdXNlIHdlIGRvbid0IGFwcGVuZCB0aGUgY2hpbGRyZW4gZHVyaW5nIG1vdW50XG4gICAgLy8gYnV0IGF0IGNvbW1pdC4gVGhlcmVmb3JlIHdlIG5lZWQgdG8gdHJhY2sgaW5zZXJ0aW9ucyB3aGljaCB0aGUgbm9ybWFsXG4gICAgLy8gZmxvdyBkb2Vzbid0IGRvIGR1cmluZyBtb3VudC4gVGhpcyBkb2Vzbid0IGhhcHBlbiBhdCB0aGUgcm9vdCBiZWNhdXNlXG4gICAgLy8gdGhlIHJvb3QgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgXCJjdXJyZW50XCIgd2l0aCBhIG51bGwgY2hpbGQuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgdW5pZnlpbmcgdGhpcyB3aXRoIGhvdyB0aGUgcm9vdCB3b3Jrcy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgfSBlbHNlIHtcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nTm9WYWx1ZVByb3BPbkNvbnRleHRQcm92aWRlciA9IGZhbHNlO1xuXG5mdW5jdGlvbiB1cGRhdGVDb250ZXh0UHJvdmlkZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBjb250ZXh0O1xuXG4gIHtcbiAgICBjb250ZXh0ID0gd29ya0luUHJvZ3Jlc3MudHlwZS5fY29udGV4dDtcbiAgfVxuXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIG9sZFByb3BzID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcztcbiAgdmFyIG5ld1ZhbHVlID0gbmV3UHJvcHMudmFsdWU7XG5cbiAge1xuICAgIGlmICghKCd2YWx1ZScgaW4gbmV3UHJvcHMpKSB7XG4gICAgICBpZiAoIWhhc1dhcm5lZEFib3V0VXNpbmdOb1ZhbHVlUHJvcE9uQ29udGV4dFByb3ZpZGVyKSB7XG4gICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdOb1ZhbHVlUHJvcE9uQ29udGV4dFByb3ZpZGVyID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignVGhlIGB2YWx1ZWAgcHJvcCBpcyByZXF1aXJlZCBmb3IgdGhlIGA8Q29udGV4dC5Qcm92aWRlcj5gLiBEaWQgeW91IG1pc3NwZWxsIGl0IG9yIGZvcmdldCB0byBwYXNzIGl0PycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgbmV3VmFsdWUpO1xuXG4gIHtcbiAgICBpZiAob2xkUHJvcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBvbGRWYWx1ZSA9IG9sZFByb3BzLnZhbHVlO1xuXG4gICAgICBpZiAob2JqZWN0SXMob2xkVmFsdWUsIG5ld1ZhbHVlKSkge1xuICAgICAgICAvLyBObyBjaGFuZ2UuIEJhaWxvdXQgZWFybHkgaWYgY2hpbGRyZW4gYXJlIHRoZSBzYW1lLlxuICAgICAgICBpZiAob2xkUHJvcHMuY2hpbGRyZW4gPT09IG5ld1Byb3BzLmNoaWxkcmVuICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpKSB7XG4gICAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlIGNvbnRleHQgdmFsdWUgY2hhbmdlZC4gU2VhcmNoIGZvciBtYXRjaGluZyBjb25zdW1lcnMgYW5kIHNjaGVkdWxlXG4gICAgICAgIC8vIHRoZW0gdG8gdXBkYXRlLlxuICAgICAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5ld0NoaWxkcmVuID0gbmV3UHJvcHMuY2hpbGRyZW47XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNvbnRleHRDb25zdW1lcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGNvbnRleHQ7XG5cbiAge1xuICAgIGNvbnRleHQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuXG4gICAge1xuICAgICAgaWYgKGNvbnRleHQuX2NvbnRleHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250ZXh0ID0gY29udGV4dC5fY29udGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgbmV3UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHZhciByZW5kZXIgPSBuZXdQcm9wcy5jaGlsZHJlbjtcblxuICB7XG4gICAgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdBIGNvbnRleHQgY29uc3VtZXIgd2FzIHJlbmRlcmVkIHdpdGggbXVsdGlwbGUgY2hpbGRyZW4sIG9yIGEgY2hpbGQgJyArIFwidGhhdCBpc24ndCBhIGZ1bmN0aW9uLiBBIGNvbnRleHQgY29uc3VtZXIgZXhwZWN0cyBhIHNpbmdsZSBjaGlsZCBcIiArICd0aGF0IGlzIGEgZnVuY3Rpb24uIElmIHlvdSBkaWQgcGFzcyBhIGZ1bmN0aW9uLCBtYWtlIHN1cmUgdGhlcmUgJyArICdpcyBubyB0cmFpbGluZyBvciBsZWFkaW5nIHdoaXRlc3BhY2UgYXJvdW5kIGl0LicpO1xuICAgIH1cbiAgfVxuXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIHZhciBuZXdWYWx1ZSA9IHJlYWRDb250ZXh0KGNvbnRleHQpO1xuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH1cblxuICB2YXIgbmV3Q2hpbGRyZW47XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDIuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIG5ld0NoaWxkcmVuID0gcmVuZGVyKG5ld1ZhbHVlKTtcbiAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gIH1cblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBQZXJmb3JtZWRXb3JrO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV3Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpIHtcbiAgZGlkUmVjZWl2ZVVwZGF0ZSA9IHRydWU7XG59XG5cbmZ1bmN0aW9uIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgLy8gQSBsYXp5IGNvbXBvbmVudCBvbmx5IG1vdW50cyBpZiBpdCBzdXNwZW5kZWQgaW5zaWRlIGEgbm9uLVxuICAgICAgLy8gY29uY3VycmVudCB0cmVlLCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuIFdlIHdhbnQgdG8gdHJlYXQgaXQgbGlrZVxuICAgICAgLy8gYSBuZXcgbW91bnQsIGV2ZW4gdGhvdWdoIGFuIGVtcHR5IHZlcnNpb24gb2YgaXQgYWxyZWFkeSBjb21taXR0ZWQuXG4gICAgICAvLyBEaXNjb25uZWN0IHRoZSBhbHRlcm5hdGUgcG9pbnRlcnMuXG4gICAgICBjdXJyZW50LmFsdGVybmF0ZSA9IG51bGw7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBTaW5jZSB0aGlzIGlzIGNvbmNlcHR1YWxseSBhIG5ldyBmaWJlciwgc2NoZWR1bGUgYSBQbGFjZW1lbnQgZWZmZWN0XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBsYWNlbWVudDtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAvLyBSZXVzZSBwcmV2aW91cyBkZXBlbmRlbmNpZXNcbiAgICB3b3JrSW5Qcm9ncmVzcy5kZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcbiAgfVxuXG4gIHtcbiAgICAvLyBEb24ndCB1cGRhdGUgXCJiYXNlXCIgcmVuZGVyIHRpbWVzIGZvciBiYWlsb3V0cy5cbiAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZygpO1xuICB9XG5cbiAgbWFya1NraXBwZWRVcGRhdGVMYW5lcyh3b3JrSW5Qcm9ncmVzcy5sYW5lcyk7IC8vIENoZWNrIGlmIHRoZSBjaGlsZHJlbiBoYXZlIGFueSBwZW5kaW5nIHdvcmsuXG5cbiAgaWYgKCFpbmNsdWRlc1NvbWVMYW5lKHJlbmRlckxhbmVzLCB3b3JrSW5Qcm9ncmVzcy5jaGlsZExhbmVzKSkge1xuICAgIC8vIFRoZSBjaGlsZHJlbiBkb24ndCBoYXZlIGFueSB3b3JrIGVpdGhlci4gV2UgY2FuIHNraXAgdGhlbS5cbiAgICAvLyBUT0RPOiBPbmNlIHdlIGFkZCBiYWNrIHJlc3VtaW5nLCB3ZSBzaG91bGQgY2hlY2sgaWYgdGhlIGNoaWxkcmVuIGFyZVxuICAgIC8vIGEgd29yay1pbi1wcm9ncmVzcyBzZXQuIElmIHNvLCB3ZSBuZWVkIHRvIHRyYW5zZmVyIHRoZWlyIGVmZmVjdHMuXG4gICAge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9IC8vIFRoaXMgZmliZXIgZG9lc24ndCBoYXZlIHdvcmssIGJ1dCBpdHMgc3VidHJlZSBkb2VzLiBDbG9uZSB0aGUgY2hpbGRcbiAgLy8gZmliZXJzIGFuZCBjb250aW51ZS5cblxuXG4gIGNsb25lQ2hpbGRGaWJlcnMoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHJlbW91bnRGaWJlcihjdXJyZW50LCBvbGRXb3JrSW5Qcm9ncmVzcywgbmV3V29ya0luUHJvZ3Jlc3MpIHtcbiAge1xuICAgIHZhciByZXR1cm5GaWJlciA9IG9sZFdvcmtJblByb2dyZXNzLnJldHVybjtcblxuICAgIGlmIChyZXR1cm5GaWJlciA9PT0gbnVsbCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHN3YXAgdGhlIHJvb3QgZmliZXIuJyk7XG4gICAgfSAvLyBEaXNjb25uZWN0IGZyb20gdGhlIG9sZCBjdXJyZW50LlxuICAgIC8vIEl0IHdpbGwgZ2V0IGRlbGV0ZWQuXG5cblxuICAgIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICBvbGRXb3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBDb25uZWN0IHRvIHRoZSBuZXcgdHJlZS5cblxuICAgIG5ld1dvcmtJblByb2dyZXNzLmluZGV4ID0gb2xkV29ya0luUHJvZ3Jlc3MuaW5kZXg7XG4gICAgbmV3V29ya0luUHJvZ3Jlc3Muc2libGluZyA9IG9sZFdvcmtJblByb2dyZXNzLnNpYmxpbmc7XG4gICAgbmV3V29ya0luUHJvZ3Jlc3MucmV0dXJuID0gb2xkV29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuICAgIG5ld1dvcmtJblByb2dyZXNzLnJlZiA9IG9sZFdvcmtJblByb2dyZXNzLnJlZjtcblxuICAgIHtcbiAgICAgIG5ld1dvcmtJblByb2dyZXNzLl9kZWJ1Z0luZm8gPSBvbGRXb3JrSW5Qcm9ncmVzcy5fZGVidWdJbmZvO1xuICAgIH0gLy8gUmVwbGFjZSB0aGUgY2hpbGQvc2libGluZyBwb2ludGVycyBhYm92ZSBpdC5cblxuXG4gICAgaWYgKG9sZFdvcmtJblByb2dyZXNzID09PSByZXR1cm5GaWJlci5jaGlsZCkge1xuICAgICAgcmV0dXJuRmliZXIuY2hpbGQgPSBuZXdXb3JrSW5Qcm9ncmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHByZXZTaWJsaW5nID0gcmV0dXJuRmliZXIuY2hpbGQ7XG5cbiAgICAgIGlmIChwcmV2U2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHBhcmVudCB0byBoYXZlIGEgY2hpbGQuJyk7XG4gICAgICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuXG5cbiAgICAgIHdoaWxlIChwcmV2U2libGluZy5zaWJsaW5nICE9PSBvbGRXb3JrSW5Qcm9ncmVzcykge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcbiAgICAgICAgcHJldlNpYmxpbmcgPSBwcmV2U2libGluZy5zaWJsaW5nO1xuXG4gICAgICAgIGlmIChwcmV2U2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBmaW5kIHRoZSBwcmV2aW91cyBzaWJsaW5nLicpO1xuICAgICAgICB9XG4gICAgICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuXG5cbiAgICAgIHByZXZTaWJsaW5nLnNpYmxpbmcgPSBuZXdXb3JrSW5Qcm9ncmVzcztcbiAgICB9IC8vIERlbGV0ZSB0aGUgb2xkIGZpYmVyIGFuZCBwbGFjZSB0aGUgbmV3IG9uZS5cbiAgICAvLyBTaW5jZSB0aGUgb2xkIGZpYmVyIGlzIGRpc2Nvbm5lY3RlZCwgd2UgaGF2ZSB0byBzY2hlZHVsZSBpdCBtYW51YWxseS5cblxuXG4gICAgdmFyIGRlbGV0aW9ucyA9IHJldHVybkZpYmVyLmRlbGV0aW9ucztcblxuICAgIGlmIChkZWxldGlvbnMgPT09IG51bGwpIHtcbiAgICAgIHJldHVybkZpYmVyLmRlbGV0aW9ucyA9IFtjdXJyZW50XTtcbiAgICAgIHJldHVybkZpYmVyLmZsYWdzIHw9IENoaWxkRGVsZXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0aW9ucy5wdXNoKGN1cnJlbnQpO1xuICAgIH1cblxuICAgIG5ld1dvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBsYWNlbWVudDsgLy8gUmVzdGFydCB3b3JrIGZyb20gdGhlIG5ldyBmaWJlci5cblxuICAgIHJldHVybiBuZXdXb3JrSW5Qcm9ncmVzcztcbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dChjdXJyZW50LCByZW5kZXJMYW5lcykge1xuICAvLyBCZWZvcmUgcGVyZm9ybWluZyBhbiBlYXJseSBiYWlsb3V0LCB3ZSBtdXN0IGNoZWNrIGlmIHRoZXJlIGFyZSBwZW5kaW5nXG4gIC8vIHVwZGF0ZXMgb3IgY29udGV4dC5cbiAgdmFyIHVwZGF0ZUxhbmVzID0gY3VycmVudC5sYW5lcztcblxuICBpZiAoaW5jbHVkZXNTb21lTGFuZSh1cGRhdGVMYW5lcywgcmVuZGVyTGFuZXMpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gTm8gcGVuZGluZyB1cGRhdGUsIGJ1dCBiZWNhdXNlIGNvbnRleHQgaXMgcHJvcGFnYXRlZCBsYXppbHksIHdlIG5lZWRcblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGF0dGVtcHRFYXJseUJhaWxvdXRJZk5vU2NoZWR1bGVkVXBkYXRlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICAvLyBUaGlzIGZpYmVyIGRvZXMgbm90IGhhdmUgYW55IHBlbmRpbmcgd29yay4gQmFpbG91dCB3aXRob3V0IGVudGVyaW5nXG4gIC8vIHRoZSBiZWdpbiBwaGFzZS4gVGhlcmUncyBzdGlsbCBzb21lIGJvb2trZWVwaW5nIHdlIHRoYXQgbmVlZHMgdG8gYmUgZG9uZVxuICAvLyBpbiB0aGlzIG9wdGltaXplZCBwYXRoLCBtb3N0bHkgcHVzaGluZyBzdHVmZiBvbnRvIHRoZSBzdGFjay5cbiAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAgcHVzaEhvc3RSb290Q29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHtcbiAgICAgICAgdmFyIGNhY2hlID0gY3VycmVudC5tZW1vaXplZFN0YXRlLmNhY2hlO1xuICAgICAgICBwdXNoQ2FjaGVQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY2FjaGUpO1xuICAgICAgfVxuXG4gICAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSG9zdFNpbmdsZXRvbjpcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICBwdXNoSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgIHB1c2hDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICBwdXNoSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcbiAgICAgIHtcbiAgICAgICAgdmFyIG5ld1ZhbHVlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcy52YWx1ZTtcbiAgICAgICAgdmFyIGNvbnRleHQ7XG5cbiAgICAgICAge1xuICAgICAgICAgIGNvbnRleHQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlLl9jb250ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgcHVzaFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCBuZXdWYWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBQcm9maWxlcjpcbiAgICAgIHtcbiAgICAgICAgLy8gUHJvZmlsZXIgc2hvdWxkIG9ubHkgY2FsbCBvblJlbmRlciB3aGVuIG9uZSBvZiBpdHMgZGVzY2VuZGFudHMgYWN0dWFsbHkgcmVuZGVyZWQuXG4gICAgICAgIHZhciBoYXNDaGlsZFdvcmsgPSBpbmNsdWRlc1NvbWVMYW5lKHJlbmRlckxhbmVzLCB3b3JrSW5Qcm9ncmVzcy5jaGlsZExhbmVzKTtcblxuICAgICAgICBpZiAoaGFzQ2hpbGRXb3JrKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAge1xuICAgICAgICAgIC8vIFJlc2V0IGVmZmVjdCBkdXJhdGlvbnMgZm9yIHRoZSBuZXh0IGV2ZW50dWFsIGVmZmVjdCBwaGFzZS5cbiAgICAgICAgICAvLyBUaGVzZSBhcmUgcmVzZXQgZHVyaW5nIHJlbmRlciB0byBhbGxvdyB0aGUgRGV2VG9vbHMgY29tbWl0IGhvb2sgYSBjaGFuY2UgdG8gcmVhZCB0aGVtLFxuICAgICAgICAgIHZhciBzdGF0ZU5vZGUgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gICAgICAgICAgc3RhdGVOb2RlLmVmZmVjdER1cmF0aW9uID0gMDtcbiAgICAgICAgICBzdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBzdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgaWYgKHN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgaWYgKHN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIFdlJ3JlIG5vdCBnb2luZyB0byByZW5kZXIgdGhlIGNoaWxkcmVuLCBzbyB0aGlzIGlzIGp1c3QgdG8gbWFpbnRhaW5cbiAgICAgICAgICAgIC8vIHB1c2gvcG9wIHN5bW1ldHJ5XG4gICAgICAgICAgICBwdXNoUHJpbWFyeVRyZWVTdXNwZW5zZUhhbmRsZXIod29ya0luUHJvZ3Jlc3MpOyAvLyBXZSBrbm93IHRoYXQgdGhpcyBjb21wb25lbnQgd2lsbCBzdXNwZW5kIGFnYWluIGJlY2F1c2UgaWYgaXQgaGFzXG4gICAgICAgICAgICAvLyBiZWVuIHVuc3VzcGVuZGVkIGl0IGhhcyBjb21taXR0ZWQgYXMgYSByZXNvbHZlZCBTdXNwZW5zZSBjb21wb25lbnQuXG4gICAgICAgICAgICAvLyBJZiBpdCBuZWVkcyB0byBiZSByZXRyaWVkLCBpdCBzaG91bGQgaGF2ZSB3b3JrIHNjaGVkdWxlZCBvbiBpdC5cblxuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTsgLy8gV2Ugc2hvdWxkIG5ldmVyIHJlbmRlciB0aGUgY2hpbGRyZW4gb2YgYSBkZWh5ZHJhdGVkIGJvdW5kYXJ5IHVudGlsIHdlXG4gICAgICAgICAgICAvLyB1cGdyYWRlIGl0LiBXZSByZXR1cm4gbnVsbCBpbnN0ZWFkIG9mIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsuXG5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH0gLy8gSWYgdGhpcyBib3VuZGFyeSBpcyBjdXJyZW50bHkgdGltZWQgb3V0LCB3ZSBuZWVkIHRvIGRlY2lkZVxuICAgICAgICAgIC8vIHdoZXRoZXIgdG8gcmV0cnkgdGhlIHByaW1hcnkgY2hpbGRyZW4sIG9yIHRvIHNraXAgb3ZlciBpdCBhbmRcbiAgICAgICAgICAvLyBnbyBzdHJhaWdodCB0byB0aGUgZmFsbGJhY2suIENoZWNrIHRoZSBwcmlvcml0eSBvZiB0aGUgcHJpbWFyeVxuICAgICAgICAgIC8vIGNoaWxkIGZyYWdtZW50LlxuXG5cbiAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkTGFuZXMgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudC5jaGlsZExhbmVzO1xuXG4gICAgICAgICAgaWYgKGluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIHByaW1hcnlDaGlsZExhbmVzKSkge1xuICAgICAgICAgICAgLy8gVGhlIHByaW1hcnkgY2hpbGRyZW4gaGF2ZSBwZW5kaW5nIHdvcmsuIFVzZSB0aGUgbm9ybWFsIHBhdGhcbiAgICAgICAgICAgIC8vIHRvIGF0dGVtcHQgdG8gcmVuZGVyIHRoZSBwcmltYXJ5IGNoaWxkcmVuIGFnYWluLlxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFRoZSBwcmltYXJ5IGNoaWxkIGZyYWdtZW50IGRvZXMgbm90IGhhdmUgcGVuZGluZyB3b3JrIG1hcmtlZFxuICAgICAgICAgICAgLy8gb24gaXRcbiAgICAgICAgICAgIHB1c2hQcmltYXJ5VHJlZVN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7IC8vIFRoZSBwcmltYXJ5IGNoaWxkcmVuIGRvIG5vdCBoYXZlIHBlbmRpbmcgd29yayB3aXRoIHN1ZmZpY2llbnRcbiAgICAgICAgICAgIC8vIHByaW9yaXR5LiBCYWlsb3V0LlxuXG4gICAgICAgICAgICB2YXIgY2hpbGQgPSBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBUaGUgZmFsbGJhY2sgY2hpbGRyZW4gaGF2ZSBwZW5kaW5nIHdvcmsuIFNraXAgb3ZlciB0aGVcbiAgICAgICAgICAgICAgLy8gcHJpbWFyeSBjaGlsZHJlbiBhbmQgd29yayBvbiB0aGUgZmFsbGJhY2suXG4gICAgICAgICAgICAgIHJldHVybiBjaGlsZC5zaWJsaW5nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gTm90ZTogV2UgY2FuIHJldHVybiBgbnVsbGAgaGVyZSBiZWNhdXNlIHdlIGFscmVhZHkgY2hlY2tlZFxuICAgICAgICAgICAgICAvLyB3aGV0aGVyIHRoZXJlIHdlcmUgbmVzdGVkIGNvbnRleHQgY29uc3VtZXJzLCB2aWEgdGhlIGNhbGwgdG9cbiAgICAgICAgICAgICAgLy8gYGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmtgIGFib3ZlLlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHVzaFByaW1hcnlUcmVlU3VzcGVuc2VIYW5kbGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBkaWRTdXNwZW5kQmVmb3JlID0gKGN1cnJlbnQuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncyQxO1xuXG4gICAgICAgIHZhciBfaGFzQ2hpbGRXb3JrID0gaW5jbHVkZXNTb21lTGFuZShyZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyk7XG5cbiAgICAgICAgaWYgKGRpZFN1c3BlbmRCZWZvcmUpIHtcbiAgICAgICAgICBpZiAoX2hhc0NoaWxkV29yaykge1xuICAgICAgICAgICAgLy8gSWYgc29tZXRoaW5nIHdhcyBpbiBmYWxsYmFjayBzdGF0ZSBsYXN0IHRpbWUsIGFuZCB3ZSBoYXZlIGFsbCB0aGVcbiAgICAgICAgICAgIC8vIHNhbWUgY2hpbGRyZW4gdGhlbiB3ZSdyZSBzdGlsbCBpbiBwcm9ncmVzc2l2ZSBsb2FkaW5nIHN0YXRlLlxuICAgICAgICAgICAgLy8gU29tZXRoaW5nIG1pZ2h0IGdldCB1bmJsb2NrZWQgYnkgc3RhdGUgdXBkYXRlcyBvciByZXRyaWVzIGluIHRoZVxuICAgICAgICAgICAgLy8gdHJlZSB3aGljaCB3aWxsIGFmZmVjdCB0aGUgdGFpbC4gU28gd2UgbmVlZCB0byB1c2UgdGhlIG5vcm1hbFxuICAgICAgICAgICAgLy8gcGF0aCB0byBjb21wdXRlIHRoZSBjb3JyZWN0IHRhaWwuXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlU3VzcGVuc2VMaXN0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgICAgICAgfSAvLyBJZiBub25lIG9mIHRoZSBjaGlsZHJlbiBoYWQgYW55IHdvcmssIHRoYXQgbWVhbnMgdGhhdCBub25lIG9mXG4gICAgICAgICAgLy8gdGhlbSBnb3QgcmV0cmllZCBzbyB0aGV5J2xsIHN0aWxsIGJlIGJsb2NrZWQgaW4gdGhlIHNhbWUgd2F5XG4gICAgICAgICAgLy8gYXMgYmVmb3JlLiBXZSBjYW4gZmFzdCBiYWlsIG91dC5cblxuXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgICAgfSAvLyBJZiBub3RoaW5nIHN1c3BlbmRlZCBiZWZvcmUgYW5kIHdlJ3JlIHJlbmRlcmluZyB0aGUgc2FtZSBjaGlsZHJlbixcbiAgICAgICAgLy8gdGhlbiB0aGUgdGFpbCBkb2Vzbid0IG1hdHRlci4gQW55dGhpbmcgbmV3IHRoYXQgc3VzcGVuZHMgd2lsbCB3b3JrXG4gICAgICAgIC8vIGluIHRoZSBcInRvZ2V0aGVyXCIgbW9kZSwgc28gd2UgY2FuIGNvbnRpbnVlIGZyb20gdGhlIHN0YXRlIHdlIGhhZC5cblxuXG4gICAgICAgIHZhciByZW5kZXJTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgaWYgKHJlbmRlclN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gUmVzZXQgdG8gdGhlIFwidG9nZXRoZXJcIiBtb2RlIGluIGNhc2Ugd2UndmUgc3RhcnRlZCBhIGRpZmZlcmVudFxuICAgICAgICAgIC8vIHVwZGF0ZSBpbiB0aGUgcGFzdCBidXQgZGlkbid0IGNvbXBsZXRlIGl0LlxuICAgICAgICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZyA9IG51bGw7XG4gICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG51bGw7XG4gICAgICAgICAgcmVuZGVyU3RhdGUubGFzdEVmZmVjdCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBwdXNoU3VzcGVuc2VMaXN0Q29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50KTtcblxuICAgICAgICBpZiAoX2hhc0NoaWxkV29yaykge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGNoaWxkcmVuIGhhZCBhbnkgd29yaywgdGhhdCBtZWFucyB0aGF0IG5vbmUgb2ZcbiAgICAgICAgICAvLyB0aGVtIGdvdCByZXRyaWVkIHNvIHRoZXknbGwgc3RpbGwgYmUgYmxvY2tlZCBpbiB0aGUgc2FtZSB3YXlcbiAgICAgICAgICAvLyBhcyBiZWZvcmUuIFdlIGNhbiBmYXN0IGJhaWwgb3V0LlxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gTmVlZCB0byBjaGVjayBpZiB0aGUgdHJlZSBzdGlsbCBuZWVkcyB0byBiZSBkZWZlcnJlZC4gVGhpcyBpc1xuICAgICAgICAvLyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBsb2dpYyB1c2VkIGluIHRoZSBub3JtYWwgdXBkYXRlIHBhdGgsXG4gICAgICAgIC8vIHNvIHdlJ2xsIGp1c3QgZW50ZXIgdGhhdC4gVGhlIG9ubHkgZGlmZmVyZW5jZSBpcyB3ZSdsbCBiYWlsIG91dFxuICAgICAgICAvLyBhdCB0aGUgbmV4dCBsZXZlbCBpbnN0ZWFkIG9mIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjaGlsZCBwcm9wc1xuICAgICAgICAvLyBoYXZlIG5vdCBjaGFuZ2VkLiBXaGljaCBpcyBmaW5lLlxuICAgICAgICAvLyBUT0RPOiBQcm9iYWJseSBzaG91bGQgcmVmYWN0b3IgYGJlZ2luV29ya2AgdG8gc3BsaXQgdGhlIGJhaWxvdXRcbiAgICAgICAgLy8gcGF0aCBmcm9tIHRoZSBub3JtYWwgcGF0aC4gSSdtIHRlbXB0ZWQgdG8gZG8gYSBsYWJlbGVkIGJyZWFrIGhlcmVcbiAgICAgICAgLy8gYnV0IEkgd29uJ3QgOilcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBOb0xhbmVzO1xuICAgICAgICByZXR1cm4gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9jYWNoZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5jYWNoZTtcbiAgICAgICAgICBwdXNoQ2FjaGVQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgX2NhY2hlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG5cbiAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gYmVnaW5Xb3JrJDEoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MuX2RlYnVnTmVlZHNSZW1vdW50ICYmIGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgd2lsbCByZXN0YXJ0IHRoZSBiZWdpbiBwaGFzZSB3aXRoIGEgbmV3IGZpYmVyLlxuICAgICAgcmV0dXJuIHJlbW91bnRGaWJlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHdvcmtJblByb2dyZXNzLnR5cGUsIHdvcmtJblByb2dyZXNzLmtleSwgd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLCB3b3JrSW5Qcm9ncmVzcy5fZGVidWdPd25lciB8fCBudWxsLCB3b3JrSW5Qcm9ncmVzcy5tb2RlLCB3b3JrSW5Qcm9ncmVzcy5sYW5lcykpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIG9sZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcblxuICAgIGlmIChvbGRQcm9wcyAhPT0gbmV3UHJvcHMgfHwgaGFzQ29udGV4dENoYW5nZWQoKSB8fCAoIC8vIEZvcmNlIGEgcmUtcmVuZGVyIGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VkIGR1ZSB0byBob3QgcmVsb2FkOlxuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgIT09IGN1cnJlbnQudHlwZSApKSB7XG4gICAgICAvLyBJZiBwcm9wcyBvciBjb250ZXh0IGNoYW5nZWQsIG1hcmsgdGhlIGZpYmVyIGFzIGhhdmluZyBwZXJmb3JtZWQgd29yay5cbiAgICAgIC8vIFRoaXMgbWF5IGJlIHVuc2V0IGlmIHRoZSBwcm9wcyBhcmUgZGV0ZXJtaW5lZCB0byBiZSBlcXVhbCBsYXRlciAobWVtbykuXG4gICAgICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTmVpdGhlciBwcm9wcyBub3IgbGVnYWN5IGNvbnRleHQgY2hhbmdlcy4gQ2hlY2sgaWYgdGhlcmUncyBhIHBlbmRpbmdcbiAgICAgIC8vIHVwZGF0ZSBvciBjb250ZXh0IGNoYW5nZS5cbiAgICAgIHZhciBoYXNTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQgPSBjaGVja1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dChjdXJyZW50LCByZW5kZXJMYW5lcyk7XG5cbiAgICAgIGlmICghaGFzU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0ICYmIC8vIElmIHRoaXMgaXMgdGhlIHNlY29uZCBwYXNzIG9mIGFuIGVycm9yIG9yIHN1c3BlbnNlIGJvdW5kYXJ5LCB0aGVyZVxuICAgICAgLy8gbWF5IG5vdCBiZSB3b3JrIHNjaGVkdWxlZCBvbiBgY3VycmVudGAsIHNvIHdlIGNoZWNrIGZvciB0aGlzIGZsYWcuXG4gICAgICAod29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncyQxKSB7XG4gICAgICAgIC8vIE5vIHBlbmRpbmcgdXBkYXRlcyBvciBjb250ZXh0LiBCYWlsIG91dCBub3cuXG4gICAgICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGF0dGVtcHRFYXJseUJhaWxvdXRJZk5vU2NoZWR1bGVkVXBkYXRlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmICgoY3VycmVudC5mbGFncyAmIEZvcmNlVXBkYXRlRm9yTGVnYWN5U3VzcGVuc2UpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZSB0aGF0IG9ubHkgZXhpc3RzIGZvciBsZWdhY3kgbW9kZS5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzE5MjE2LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9uIHRoaXMgZmliZXIsIGJ1dCB0aGVyZSBhcmUgbm8gbmV3IHByb3BzXG4gICAgICAgIC8vIG5vciBsZWdhY3kgY29udGV4dC4gU2V0IHRoaXMgdG8gZmFsc2UuIElmIGFuIHVwZGF0ZSBxdWV1ZSBvciBjb250ZXh0XG4gICAgICAgIC8vIGNvbnN1bWVyIHByb2R1Y2VzIGEgY2hhbmdlZCB2YWx1ZSwgaXQgd2lsbCBzZXQgdGhpcyB0byB0cnVlLiBPdGhlcndpc2UsXG4gICAgICAgIC8vIHRoZSBjb21wb25lbnQgd2lsbCBhc3N1bWUgdGhlIGNoaWxkcmVuIGhhdmUgbm90IGNoYW5nZWQgYW5kIGJhaWwgb3V0LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpKSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGlzIGNoaWxkIGJlbG9uZ3MgdG8gYSBsaXN0IG9mIG11bGlwbGUgY2hpbGRyZW4gaW5cbiAgICAgIC8vIGl0cyBwYXJlbnQuXG4gICAgICAvL1xuICAgICAgLy8gSW4gYSB0cnVlIG11bHRpLXRocmVhZGVkIGltcGxlbWVudGF0aW9uLCB3ZSB3b3VsZCByZW5kZXIgY2hpbGRyZW4gb25cbiAgICAgIC8vIHBhcmFsbGVsIHRocmVhZHMuIFRoaXMgd291bGQgcmVwcmVzZW50IHRoZSBiZWdpbm5pbmcgb2YgYSBuZXcgcmVuZGVyXG4gICAgICAvLyB0aHJlYWQgZm9yIHRoaXMgc3VidHJlZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBvbmx5IHVzZSB0aGlzIGZvciBpZCBnZW5lcmF0aW9uIGR1cmluZyBoeWRyYXRpb24sIHdoaWNoIGlzIHdoeSB0aGVcbiAgICAgIC8vIGxvZ2ljIGlzIGxvY2F0ZWQgaW4gdGhpcyBzcGVjaWFsIGJyYW5jaC5cbiAgICAgIHZhciBzbG90SW5kZXggPSB3b3JrSW5Qcm9ncmVzcy5pbmRleDtcbiAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gZ2V0Rm9ya3NBdExldmVsKCk7XG4gICAgICBwdXNoVHJlZUlkKHdvcmtJblByb2dyZXNzLCBudW1iZXJPZkZvcmtzLCBzbG90SW5kZXgpO1xuICAgIH1cbiAgfSAvLyBCZWZvcmUgZW50ZXJpbmcgdGhlIGJlZ2luIHBoYXNlLCBjbGVhciBwZW5kaW5nIHVwZGF0ZSBwcmlvcml0eS5cbiAgLy8gVE9ETzogVGhpcyBhc3N1bWVzIHRoYXQgd2UncmUgYWJvdXQgdG8gZXZhbHVhdGUgdGhlIGNvbXBvbmVudCBhbmQgcHJvY2Vzc1xuICAvLyB0aGUgdXBkYXRlIHF1ZXVlLiBIb3dldmVyLCB0aGVyZSdzIGFuIGV4Y2VwdGlvbjogU2ltcGxlTWVtb0NvbXBvbmVudFxuICAvLyBzb21ldGltZXMgYmFpbHMgb3V0IGxhdGVyIGluIHRoZSBiZWdpbiBwaGFzZS4gVGhpcyBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGRcbiAgLy8gbW92ZSB0aGlzIGFzc2lnbm1lbnQgb3V0IG9mIHRoZSBjb21tb24gcGF0aCBhbmQgaW50byBlYWNoIGJyYW5jaC5cblxuXG4gIHdvcmtJblByb2dyZXNzLmxhbmVzID0gTm9MYW5lcztcblxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIG1vdW50SW5kZXRlcm1pbmF0ZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MudHlwZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZTtcbiAgICAgICAgcmV0dXJuIG1vdW50TGF6eUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgdW5yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICAgICAgICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBDb21wb25lbnQgPyB1bnJlc29sdmVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudCwgdW5yZXNvbHZlZFByb3BzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPT09IF9Db21wb25lbnQgPyBfdW5yZXNvbHZlZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50LCBfdW5yZXNvbHZlZFByb3BzKTtcblxuICAgICAgICByZXR1cm4gdXBkYXRlQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9Db21wb25lbnQsIF9yZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAgcmV0dXJuIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RIb2lzdGFibGU6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVIb3N0SG9pc3RhYmxlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIH1cblxuICAgIC8vIEZhbGwgdGhyb3VnaFxuXG4gICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgICAge1xuICAgICAgICByZXR1cm4gdXBkYXRlSG9zdFNpbmdsZXRvbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgLy8gRmFsbCB0aHJvdWdoXG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gdXBkYXRlSG9zdENvbXBvbmVudCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgcmV0dXJuIHVwZGF0ZUhvc3RUZXh0JDEoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcmV0dXJuIHVwZGF0ZVBvcnRhbENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAge1xuICAgICAgICB2YXIgdHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gICAgICAgIHZhciBfdW5yZXNvbHZlZFByb3BzMiA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcblxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHMyID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPT09IHR5cGUgPyBfdW5yZXNvbHZlZFByb3BzMiA6IHJlc29sdmVEZWZhdWx0UHJvcHModHlwZSwgX3VucmVzb2x2ZWRQcm9wczIpO1xuXG4gICAgICAgIHJldHVybiB1cGRhdGVGb3J3YXJkUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB0eXBlLCBfcmVzb2x2ZWRQcm9wczIsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gdXBkYXRlRnJhZ21lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgTW9kZTpcbiAgICAgIHJldHVybiB1cGRhdGVNb2RlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIFByb2ZpbGVyOlxuICAgICAgcmV0dXJuIHVwZGF0ZVByb2ZpbGVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcbiAgICAgIHJldHVybiB1cGRhdGVDb250ZXh0UHJvdmlkZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgICAgcmV0dXJuIHVwZGF0ZUNvbnRleHRDb25zdW1lcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX3R5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFJlc29sdmUgb3V0ZXIgcHJvcHMgZmlyc3QsIHRoZW4gcmVzb2x2ZSBpbm5lciBwcm9wcy5cblxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZSwgX3VucmVzb2x2ZWRQcm9wczMpO1xuXG4gICAgICAgIF9yZXNvbHZlZFByb3BzMyA9IHJlc29sdmVEZWZhdWx0UHJvcHMoX3R5cGUudHlwZSwgX3Jlc29sdmVkUHJvcHMzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF90eXBlLCBfcmVzb2x2ZWRQcm9wczMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVNpbXBsZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHdvcmtJblByb2dyZXNzLnR5cGUsIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfQ29tcG9uZW50MiA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gICAgICAgIHZhciBfdW5yZXNvbHZlZFByb3BzNCA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcblxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHM0ID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPT09IF9Db21wb25lbnQyID8gX3VucmVzb2x2ZWRQcm9wczQgOiByZXNvbHZlRGVmYXVsdFByb3BzKF9Db21wb25lbnQyLCBfdW5yZXNvbHZlZFByb3BzNCk7XG5cbiAgICAgICAgcmV0dXJuIG1vdW50SW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfQ29tcG9uZW50MiwgX3Jlc29sdmVkUHJvcHM0LCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlTGlzdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZXR1cm4gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlQ2FjaGVDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biB1bml0IG9mIHdvcmsgdGFnIChcIiArIHdvcmtJblByb2dyZXNzLnRhZyArIFwiKS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFwiICsgJ1JlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbn1cblxudmFyIHZhbHVlQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKG51bGwpO1xudmFyIHJlbmRlcmVyQ3Vyc29yREVWO1xuXG57XG4gIHJlbmRlcmVyQ3Vyc29yREVWID0gY3JlYXRlQ3Vyc29yKG51bGwpO1xufVxuXG52YXIgcmVuZGVyZXJTaWdpbDtcblxue1xuICAvLyBVc2UgdGhpcyB0byBkZXRlY3QgbXVsdGlwbGUgcmVuZGVyZXJzIHVzaW5nIHRoZSBzYW1lIGNvbnRleHRcbiAgcmVuZGVyZXJTaWdpbCA9IHt9O1xufVxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xudmFyIGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9IG51bGw7XG52YXIgbGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID0gbnVsbDtcbnZhciBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG5mdW5jdGlvbiByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKSB7XG4gIC8vIFRoaXMgaXMgY2FsbGVkIHJpZ2h0IGJlZm9yZSBSZWFjdCB5aWVsZHMgZXhlY3V0aW9uLCB0byBlbnN1cmUgYHJlYWRDb250ZXh0YFxuICAvLyBjYW5ub3QgYmUgY2FsbGVkIG91dHNpZGUgdGhlIHJlbmRlciBwaGFzZS5cbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xuICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xuICBsYXN0RnVsbHlPYnNlcnZlZENvbnRleHQgPSBudWxsO1xuXG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKSB7XG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCkge1xuICB7XG4gICAgaXNEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFViA9IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBwdXNoUHJvdmlkZXIocHJvdmlkZXJGaWJlciwgY29udGV4dCwgbmV4dFZhbHVlKSB7XG4gIHtcbiAgICBwdXNoKHZhbHVlQ3Vyc29yLCBjb250ZXh0Ll9jdXJyZW50VmFsdWUsIHByb3ZpZGVyRmliZXIpO1xuICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IG5leHRWYWx1ZTtcblxuICAgIHtcbiAgICAgIHB1c2gocmVuZGVyZXJDdXJzb3JERVYsIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlciwgcHJvdmlkZXJGaWJlcik7XG5cbiAgICAgIGlmIChjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IHVuZGVmaW5lZCAmJiBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IG51bGwgJiYgY29udGV4dC5fY3VycmVudFJlbmRlcmVyICE9PSByZW5kZXJlclNpZ2lsKSB7XG4gICAgICAgIGVycm9yKCdEZXRlY3RlZCBtdWx0aXBsZSByZW5kZXJlcnMgY29uY3VycmVudGx5IHJlbmRlcmluZyB0aGUgJyArICdzYW1lIGNvbnRleHQgcHJvdmlkZXIuIFRoaXMgaXMgY3VycmVudGx5IHVuc3VwcG9ydGVkLicpO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSByZW5kZXJlclNpZ2lsO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9wUHJvdmlkZXIoY29udGV4dCwgcHJvdmlkZXJGaWJlcikge1xuICB2YXIgY3VycmVudFZhbHVlID0gdmFsdWVDdXJzb3IuY3VycmVudDtcblxuICB7XG4gICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlO1xuXG4gICAge1xuICAgICAgdmFyIGN1cnJlbnRSZW5kZXJlciA9IHJlbmRlcmVyQ3Vyc29yREVWLmN1cnJlbnQ7XG4gICAgICBwb3AocmVuZGVyZXJDdXJzb3JERVYsIHByb3ZpZGVyRmliZXIpO1xuICAgICAgY29udGV4dC5fY3VycmVudFJlbmRlcmVyID0gY3VycmVudFJlbmRlcmVyO1xuICAgIH1cbiAgfVxuXG4gIHBvcCh2YWx1ZUN1cnNvciwgcHJvdmlkZXJGaWJlcik7XG59XG5mdW5jdGlvbiBzY2hlZHVsZUNvbnRleHRXb3JrT25QYXJlbnRQYXRoKHBhcmVudCwgcmVuZGVyTGFuZXMsIHByb3BhZ2F0aW9uUm9vdCkge1xuICAvLyBVcGRhdGUgdGhlIGNoaWxkIGxhbmVzIG9mIGFsbCB0aGUgYW5jZXN0b3JzLCBpbmNsdWRpbmcgdGhlIGFsdGVybmF0ZXMuXG4gIHZhciBub2RlID0gcGFyZW50O1xuXG4gIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgdmFyIGFsdGVybmF0ZSA9IG5vZGUuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKCFpc1N1YnNldE9mTGFuZXMobm9kZS5jaGlsZExhbmVzLCByZW5kZXJMYW5lcykpIHtcbiAgICAgIG5vZGUuY2hpbGRMYW5lcyA9IG1lcmdlTGFuZXMobm9kZS5jaGlsZExhbmVzLCByZW5kZXJMYW5lcyk7XG5cbiAgICAgIGlmIChhbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhbHRlcm5hdGUgIT09IG51bGwgJiYgIWlzU3Vic2V0T2ZMYW5lcyhhbHRlcm5hdGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpKSB7XG4gICAgICBhbHRlcm5hdGUuY2hpbGRMYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmNoaWxkTGFuZXMsIHJlbmRlckxhbmVzKTtcbiAgICB9IGVsc2UgO1xuXG4gICAgaWYgKG5vZGUgPT09IHByb3BhZ2F0aW9uUm9vdCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICB9XG5cbiAge1xuICAgIGlmIChub2RlICE9PSBwcm9wYWdhdGlvblJvb3QpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBmaW5kIHRoZSBwcm9wYWdhdGlvbiByb290IHdoZW4gc2NoZWR1bGluZyBjb250ZXh0IHdvcmsuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGNvbnRleHQsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlX2VhZ2VyKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvcGFnYXRlQ29udGV4dENoYW5nZV9lYWdlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgcmVuZGVyTGFuZXMpIHtcblxuICB2YXIgZmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICBpZiAoZmliZXIgIT09IG51bGwpIHtcbiAgICAvLyBTZXQgdGhlIHJldHVybiBwb2ludGVyIG9mIHRoZSBjaGlsZCB0byB0aGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci5cbiAgICBmaWJlci5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIHdoaWxlIChmaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBuZXh0RmliZXIgPSB2b2lkIDA7IC8vIFZpc2l0IHRoaXMgZmliZXIuXG5cbiAgICB2YXIgbGlzdCA9IGZpYmVyLmRlcGVuZGVuY2llcztcblxuICAgIGlmIChsaXN0ICE9PSBudWxsKSB7XG4gICAgICBuZXh0RmliZXIgPSBmaWJlci5jaGlsZDtcbiAgICAgIHZhciBkZXBlbmRlbmN5ID0gbGlzdC5maXJzdENvbnRleHQ7XG5cbiAgICAgIHdoaWxlIChkZXBlbmRlbmN5ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjb250ZXh0IG1hdGNoZXMuXG4gICAgICAgIGlmIChkZXBlbmRlbmN5LmNvbnRleHQgPT09IGNvbnRleHQpIHtcbiAgICAgICAgICAvLyBNYXRjaCEgU2NoZWR1bGUgYW4gdXBkYXRlIG9uIHRoaXMgZmliZXIuXG4gICAgICAgICAgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIFNjaGVkdWxlIGEgZm9yY2UgdXBkYXRlIG9uIHRoZSB3b3JrLWluLXByb2dyZXNzLlxuICAgICAgICAgICAgdmFyIGxhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyZW5kZXJMYW5lcyk7XG4gICAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGxhbmUpO1xuICAgICAgICAgICAgdXBkYXRlLnRhZyA9IEZvcmNlVXBkYXRlOyAvLyBUT0RPOiBCZWNhdXNlIHdlIGRvbid0IGhhdmUgYSB3b3JrLWluLXByb2dyZXNzLCB0aGlzIHdpbGwgYWRkIHRoZVxuICAgICAgICAgICAgLy8gdXBkYXRlIHRvIHRoZSBjdXJyZW50IGZpYmVyLCB0b28sIHdoaWNoIG1lYW5zIGl0IHdpbGwgcGVyc2lzdCBldmVuIGlmXG4gICAgICAgICAgICAvLyB0aGlzIHJlbmRlciBpcyB0aHJvd24gYXdheS4gU2luY2UgaXQncyBhIHJhY2UgY29uZGl0aW9uLCBub3Qgc3VyZSBpdCdzXG4gICAgICAgICAgICAvLyB3b3J0aCBmaXhpbmcuXG4gICAgICAgICAgICAvLyBJbmxpbmVkIGBlbnF1ZXVlVXBkYXRlYCB0byByZW1vdmUgaW50ZXJsZWF2ZWQgdXBkYXRlIGNoZWNrXG5cbiAgICAgICAgICAgIHZhciB1cGRhdGVRdWV1ZSA9IGZpYmVyLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgICBpZiAodXBkYXRlUXVldWUgPT09IG51bGwpIDsgZWxzZSB7XG4gICAgICAgICAgICAgIHZhciBzaGFyZWRRdWV1ZSA9IHVwZGF0ZVF1ZXVlLnNoYXJlZDtcbiAgICAgICAgICAgICAgdmFyIHBlbmRpbmcgPSBzaGFyZWRRdWV1ZS5wZW5kaW5nO1xuXG4gICAgICAgICAgICAgIGlmIChwZW5kaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgICAgICAgICAgICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgICAgICAgICAgICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHNoYXJlZFF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmliZXIubGFuZXMgPSBtZXJnZUxhbmVzKGZpYmVyLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICAgICAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgICAgICAgIGlmIChhbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGFsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2NoZWR1bGVDb250ZXh0V29ya09uUGFyZW50UGF0aChmaWJlci5yZXR1cm4sIHJlbmRlckxhbmVzLCB3b3JrSW5Qcm9ncmVzcyk7IC8vIE1hcmsgdGhlIHVwZGF0ZWQgbGFuZXMgb24gdGhlIGxpc3QsIHRvby5cblxuICAgICAgICAgIGxpc3QubGFuZXMgPSBtZXJnZUxhbmVzKGxpc3QubGFuZXMsIHJlbmRlckxhbmVzKTsgLy8gU2luY2Ugd2UgYWxyZWFkeSBmb3VuZCBhIG1hdGNoLCB3ZSBjYW4gc3RvcCB0cmF2ZXJzaW5nIHRoZVxuICAgICAgICAgIC8vIGRlcGVuZGVuY3kgbGlzdC5cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVwZW5kZW5jeSA9IGRlcGVuZGVuY3kubmV4dDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGZpYmVyLnRhZyA9PT0gQ29udGV4dFByb3ZpZGVyKSB7XG4gICAgICAvLyBEb24ndCBzY2FuIGRlZXBlciBpZiB0aGlzIGlzIGEgbWF0Y2hpbmcgcHJvdmlkZXJcbiAgICAgIG5leHRGaWJlciA9IGZpYmVyLnR5cGUgPT09IHdvcmtJblByb2dyZXNzLnR5cGUgPyBudWxsIDogZmliZXIuY2hpbGQ7XG4gICAgfSBlbHNlIGlmIChmaWJlci50YWcgPT09IERlaHlkcmF0ZWRGcmFnbWVudCkge1xuICAgICAgLy8gSWYgYSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGJvdW5kYXJ5IGlzIGluIHRoaXMgc3VidHJlZSwgd2UgZG9uJ3Qga25vd1xuICAgICAgLy8gaWYgaXQgd2lsbCBoYXZlIGFueSBjb250ZXh0IGNvbnN1bWVycyBpbiBpdC4gVGhlIGJlc3Qgd2UgY2FuIGRvIGlzXG4gICAgICAvLyBtYXJrIGl0IGFzIGhhdmluZyB1cGRhdGVzLlxuICAgICAgdmFyIHBhcmVudFN1c3BlbnNlID0gZmliZXIucmV0dXJuO1xuXG4gICAgICBpZiAocGFyZW50U3VzcGVuc2UgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXZSBqdXN0IGNhbWUgZnJvbSBhIHBhcmVudCBzbyB3ZSBtdXN0IGhhdmUgaGFkIGEgcGFyZW50LiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuXG4gICAgICBwYXJlbnRTdXNwZW5zZS5sYW5lcyA9IG1lcmdlTGFuZXMocGFyZW50U3VzcGVuc2UubGFuZXMsIHJlbmRlckxhbmVzKTtcbiAgICAgIHZhciBfYWx0ZXJuYXRlID0gcGFyZW50U3VzcGVuc2UuYWx0ZXJuYXRlO1xuXG4gICAgICBpZiAoX2FsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBfYWx0ZXJuYXRlLmxhbmVzID0gbWVyZ2VMYW5lcyhfYWx0ZXJuYXRlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9IC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBwYXNzaW5nIHRoaXMgZmliZXIgYXMgdGhlIHBhcmVudFxuICAgICAgLy8gYmVjYXVzZSB3ZSB3YW50IHRvIHNjaGVkdWxlIHRoaXMgZmliZXIgYXMgaGF2aW5nIHdvcmtcbiAgICAgIC8vIG9uIGl0cyBjaGlsZHJlbi4gV2UnbGwgdXNlIHRoZSBjaGlsZExhbmVzIG9uXG4gICAgICAvLyB0aGlzIGZpYmVyIHRvIGluZGljYXRlIHRoYXQgYSBjb250ZXh0IGhhcyBjaGFuZ2VkLlxuXG5cbiAgICAgIHNjaGVkdWxlQ29udGV4dFdvcmtPblBhcmVudFBhdGgocGFyZW50U3VzcGVuc2UsIHJlbmRlckxhbmVzLCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBuZXh0RmliZXIgPSBmaWJlci5zaWJsaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUcmF2ZXJzZSBkb3duLlxuICAgICAgbmV4dEZpYmVyID0gZmliZXIuY2hpbGQ7XG4gICAgfVxuXG4gICAgaWYgKG5leHRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgLy8gU2V0IHRoZSByZXR1cm4gcG9pbnRlciBvZiB0aGUgY2hpbGQgdG8gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG4gICAgICBuZXh0RmliZXIucmV0dXJuID0gZmliZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGNoaWxkLiBUcmF2ZXJzZSB0byBuZXh0IHNpYmxpbmcuXG4gICAgICBuZXh0RmliZXIgPSBmaWJlcjtcblxuICAgICAgd2hpbGUgKG5leHRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICBpZiAobmV4dEZpYmVyID09PSB3b3JrSW5Qcm9ncmVzcykge1xuICAgICAgICAgIC8vIFdlJ3JlIGJhY2sgdG8gdGhlIHJvb3Qgb2YgdGhpcyBzdWJ0cmVlLiBFeGl0LlxuICAgICAgICAgIG5leHRGaWJlciA9IG51bGw7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc2libGluZyA9IG5leHRGaWJlci5zaWJsaW5nO1xuXG4gICAgICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gU2V0IHRoZSByZXR1cm4gcG9pbnRlciBvZiB0aGUgc2libGluZyB0byB0aGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci5cbiAgICAgICAgICBzaWJsaW5nLnJldHVybiA9IG5leHRGaWJlci5yZXR1cm47XG4gICAgICAgICAgbmV4dEZpYmVyID0gc2libGluZztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSAvLyBObyBtb3JlIHNpYmxpbmdzLiBUcmF2ZXJzZSB1cC5cblxuXG4gICAgICAgIG5leHRGaWJlciA9IG5leHRGaWJlci5yZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmliZXIgPSBuZXh0RmliZXI7XG4gIH1cbn1cbmZ1bmN0aW9uIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciA9IHdvcmtJblByb2dyZXNzO1xuICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xuICBsYXN0RnVsbHlPYnNlcnZlZENvbnRleHQgPSBudWxsO1xuICB2YXIgZGVwZW5kZW5jaWVzID0gd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzO1xuXG4gIGlmIChkZXBlbmRlbmNpZXMgIT09IG51bGwpIHtcbiAgICB7XG4gICAgICB2YXIgZmlyc3RDb250ZXh0ID0gZGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dDtcblxuICAgICAgaWYgKGZpcnN0Q29udGV4dCAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoaW5jbHVkZXNTb21lTGFuZShkZXBlbmRlbmNpZXMubGFuZXMsIHJlbmRlckxhbmVzKSkge1xuICAgICAgICAgIC8vIENvbnRleHQgbGlzdCBoYXMgYSBwZW5kaW5nIHVwZGF0ZS4gTWFyayB0aGF0IHRoaXMgZmliZXIgcGVyZm9ybWVkIHdvcmsuXG4gICAgICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgICAgICAgfSAvLyBSZXNldCB0aGUgd29yay1pbi1wcm9ncmVzcyBsaXN0XG5cblxuICAgICAgICBkZXBlbmRlbmNpZXMuZmlyc3RDb250ZXh0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHJlYWRDb250ZXh0KGNvbnRleHQpIHtcbiAge1xuICAgIC8vIFRoaXMgd2FybmluZyB3b3VsZCBmaXJlIGlmIHlvdSByZWFkIGNvbnRleHQgaW5zaWRlIGEgSG9vayBsaWtlIHVzZU1lbW8uXG4gICAgLy8gVW5saWtlIHRoZSBjbGFzcyBjaGVjayBiZWxvdywgaXQncyBub3QgZW5mb3JjZWQgaW4gcHJvZHVjdGlvbiBmb3IgcGVyZi5cbiAgICBpZiAoaXNEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVikge1xuICAgICAgZXJyb3IoJ0NvbnRleHQgY2FuIG9ubHkgYmUgcmVhZCB3aGlsZSBSZWFjdCBpcyByZW5kZXJpbmcuICcgKyAnSW4gY2xhc3NlcywgeW91IGNhbiByZWFkIGl0IGluIHRoZSByZW5kZXIgbWV0aG9kIG9yIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gJyArICdJbiBmdW5jdGlvbiBjb21wb25lbnRzLCB5b3UgY2FuIHJlYWQgaXQgZGlyZWN0bHkgaW4gdGhlIGZ1bmN0aW9uIGJvZHksIGJ1dCBub3QgJyArICdpbnNpZGUgSG9va3MgbGlrZSB1c2VSZWR1Y2VyKCkgb3IgdXNlTWVtbygpLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWFkQ29udGV4dEZvckNvbnN1bWVyKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyLCBjb250ZXh0KTtcbn1cbmZ1bmN0aW9uIHJlYWRDb250ZXh0RHVyaW5nUmVjb25jaWxhdGlvbihjb25zdW1lciwgY29udGV4dCwgcmVuZGVyTGFuZXMpIHtcbiAgaWYgKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID09PSBudWxsKSB7XG4gICAgcHJlcGFyZVRvUmVhZENvbnRleHQoY29uc3VtZXIsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHJldHVybiByZWFkQ29udGV4dEZvckNvbnN1bWVyKGNvbnN1bWVyLCBjb250ZXh0KTtcbn1cblxuZnVuY3Rpb24gcmVhZENvbnRleHRGb3JDb25zdW1lcihjb25zdW1lciwgY29udGV4dCkge1xuICB2YXIgdmFsdWUgPSBjb250ZXh0Ll9jdXJyZW50VmFsdWUgO1xuXG4gIGlmIChsYXN0RnVsbHlPYnNlcnZlZENvbnRleHQgPT09IGNvbnRleHQpIDsgZWxzZSB7XG4gICAgdmFyIGNvbnRleHRJdGVtID0ge1xuICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgIG1lbW9pemVkVmFsdWU6IHZhbHVlLFxuICAgICAgbmV4dDogbnVsbFxuICAgIH07XG5cbiAgICBpZiAobGFzdENvbnRleHREZXBlbmRlbmN5ID09PSBudWxsKSB7XG4gICAgICBpZiAoY29uc3VtZXIgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb250ZXh0IGNhbiBvbmx5IGJlIHJlYWQgd2hpbGUgUmVhY3QgaXMgcmVuZGVyaW5nLiAnICsgJ0luIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuICcgKyAnSW4gZnVuY3Rpb24gY29tcG9uZW50cywgeW91IGNhbiByZWFkIGl0IGRpcmVjdGx5IGluIHRoZSBmdW5jdGlvbiBib2R5LCBidXQgbm90ICcgKyAnaW5zaWRlIEhvb2tzIGxpa2UgdXNlUmVkdWNlcigpIG9yIHVzZU1lbW8oKS4nKTtcbiAgICAgIH0gLy8gVGhpcyBpcyB0aGUgZmlyc3QgZGVwZW5kZW5jeSBmb3IgdGhpcyBjb21wb25lbnQuIENyZWF0ZSBhIG5ldyBsaXN0LlxuXG5cbiAgICAgIGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9IGNvbnRleHRJdGVtO1xuICAgICAgY29uc3VtZXIuZGVwZW5kZW5jaWVzID0ge1xuICAgICAgICBsYW5lczogTm9MYW5lcyxcbiAgICAgICAgZmlyc3RDb250ZXh0OiBjb250ZXh0SXRlbVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQXBwZW5kIGEgbmV3IGNvbnRleHQgaXRlbS5cbiAgICAgIGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9IGxhc3RDb250ZXh0RGVwZW5kZW5jeS5uZXh0ID0gY29udGV4dEl0ZW07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG4vLyByZXBsYWNlIGl0IHdpdGggYSBsaWdodHdlaWdodCBzaGltIHRoYXQgb25seSBoYXMgdGhlIGZlYXR1cmVzIHdlIHVzZS5cblxudmFyIEFib3J0Q29udHJvbGxlckxvY2FsID0gdHlwZW9mIEFib3J0Q29udHJvbGxlciAhPT0gJ3VuZGVmaW5lZCcgPyBBYm9ydENvbnRyb2xsZXIgOiAvLyAkRmxvd0ZpeE1lW21pc3NpbmctdGhpcy1hbm5vdF1cbi8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuZnVuY3Rpb24gQWJvcnRDb250cm9sbGVyU2hpbSgpIHtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgc2lnbmFsID0gdGhpcy5zaWduYWwgPSB7XG4gICAgYWJvcnRlZDogZmFsc2UsXG4gICAgYWRkRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24gKHR5cGUsIGxpc3RlbmVyKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7XG4gICAgfVxuICB9O1xuXG4gIHRoaXMuYWJvcnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgc2lnbmFsLmFib3J0ZWQgPSB0cnVlO1xuICAgIGxpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICAgICAgcmV0dXJuIGxpc3RlbmVyKCk7XG4gICAgfSk7XG4gIH07XG59IDsgLy8gSW50ZW50aW9uYWxseSBub3QgbmFtZWQgaW1wb3J0cyBiZWNhdXNlIFJvbGx1cCB3b3VsZFxuLy8gdXNlIGR5bmFtaWMgZGlzcGF0Y2ggZm9yIENvbW1vbkpTIGludGVyb3AgbmFtZWQgaW1wb3J0cy5cblxudmFyIHNjaGVkdWxlQ2FsbGJhY2skMSA9IFNjaGVkdWxlci51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLFxuICAgIE5vcm1hbFByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5O1xudmFyIENhY2hlQ29udGV4dCA9IHtcbiAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgLy8gV2UgZG9uJ3QgdXNlIENvbnN1bWVyL1Byb3ZpZGVyIGZvciBDYWNoZSBjb21wb25lbnRzLiBTbyB3ZSdsbCBjaGVhdC5cbiAgQ29uc3VtZXI6IG51bGwsXG4gIFByb3ZpZGVyOiBudWxsLFxuICAvLyBXZSdsbCBpbml0aWFsaXplIHRoZXNlIGF0IHRoZSByb290LlxuICBfY3VycmVudFZhbHVlOiBudWxsLFxuICBfY3VycmVudFZhbHVlMjogbnVsbCxcbiAgX3RocmVhZENvdW50OiAwXG59IDtcblxue1xuICBDYWNoZUNvbnRleHQuX2N1cnJlbnRSZW5kZXJlciA9IG51bGw7XG4gIENhY2hlQ29udGV4dC5fY3VycmVudFJlbmRlcmVyMiA9IG51bGw7XG59IC8vIENyZWF0ZXMgYSBuZXcgZW1wdHkgQ2FjaGUgaW5zdGFuY2Ugd2l0aCBhIHJlZi1jb3VudCBvZiAwLiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlXG4vLyBmb3IgcmV0YWluaW5nIHRoZSBjYWNoZSBvbmNlIGl0IGlzIGluIHVzZSAocmV0YWluQ2FjaGUpLCBhbmQgcmVsZWFzaW5nIHRoZSBjYWNoZVxuLy8gb25jZSBpdCBpcyBubyBsb25nZXIgbmVlZGVkIChyZWxlYXNlQ2FjaGUpLlxuXG5cbmZ1bmN0aW9uIGNyZWF0ZUNhY2hlKCkge1xuXG4gIHZhciBjYWNoZSA9IHtcbiAgICBjb250cm9sbGVyOiBuZXcgQWJvcnRDb250cm9sbGVyTG9jYWwoKSxcbiAgICBkYXRhOiBuZXcgTWFwKCksXG4gICAgcmVmQ291bnQ6IDBcbiAgfTtcbiAgcmV0dXJuIGNhY2hlO1xufVxuZnVuY3Rpb24gcmV0YWluQ2FjaGUoY2FjaGUpIHtcblxuICB7XG4gICAgaWYgKGNhY2hlLmNvbnRyb2xsZXIuc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHdhcm4oJ0EgY2FjaGUgaW5zdGFuY2Ugd2FzIHJldGFpbmVkIGFmdGVyIGl0IHdhcyBhbHJlYWR5IGZyZWVkLiAnICsgJ1RoaXMgbGlrZWx5IGluZGljYXRlcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICB9XG4gIH1cblxuICBjYWNoZS5yZWZDb3VudCsrO1xufSAvLyBDbGVhbnVwIGEgY2FjaGUgaW5zdGFuY2UsIHBvdGVudGlhbGx5IGZyZWVpbmcgaXQgaWYgdGhlcmUgYXJlIG5vIG1vcmUgcmVmZXJlbmNlc1xuXG5mdW5jdGlvbiByZWxlYXNlQ2FjaGUoY2FjaGUpIHtcblxuICBjYWNoZS5yZWZDb3VudC0tO1xuXG4gIHtcbiAgICBpZiAoY2FjaGUucmVmQ291bnQgPCAwKSB7XG4gICAgICB3YXJuKCdBIGNhY2hlIGluc3RhbmNlIHdhcyByZWxlYXNlZCBhZnRlciBpdCB3YXMgYWxyZWFkeSBmcmVlZC4gJyArICdUaGlzIGxpa2VseSBpbmRpY2F0ZXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGNhY2hlLnJlZkNvdW50ID09PSAwKSB7XG4gICAgc2NoZWR1bGVDYWxsYmFjayQxKE5vcm1hbFByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICBjYWNoZS5jb250cm9sbGVyLmFib3J0KCk7XG4gICAgfSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHB1c2hDYWNoZVByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBjYWNoZSkge1xuXG4gIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgQ2FjaGVDb250ZXh0LCBjYWNoZSk7XG59XG5mdW5jdGlvbiBwb3BDYWNoZVByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBjYWNoZSkge1xuXG4gIHBvcFByb3ZpZGVyKENhY2hlQ29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xufVxuXG52YXIgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnO1xuZnVuY3Rpb24gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCkge1xuICB2YXIgdHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDIudHJhbnNpdGlvbjtcblxuICBpZiAodHJhbnNpdGlvbiAhPT0gbnVsbCkge1xuICAgIC8vIFdoZW5ldmVyIGEgdHJhbnNpdGlvbiB1cGRhdGUgaXMgc2NoZWR1bGVkLCByZWdpc3RlciBhIGNhbGxiYWNrIG9uIHRoZVxuICAgIC8vIHRyYW5zaXRpb24gb2JqZWN0IHNvIHdlIGNhbiBnZXQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgc2NvcGUgZnVuY3Rpb24uXG4gICAgdHJhbnNpdGlvbi5fY2FsbGJhY2tzLmFkZChoYW5kbGVBc3luY0FjdGlvbik7XG4gIH1cblxuICByZXR1cm4gdHJhbnNpdGlvbjtcbn1cblxuZnVuY3Rpb24gaGFuZGxlQXN5bmNBY3Rpb24odHJhbnNpdGlvbiwgdGhlbmFibGUpIHtcbiAge1xuICAgIC8vIFRoaXMgaXMgYW4gYXN5bmMgYWN0aW9uLlxuICAgIGVudGFuZ2xlQXN5bmNBY3Rpb24odHJhbnNpdGlvbiwgdGhlbmFibGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG5vdGlmeVRyYW5zaXRpb25DYWxsYmFja3ModHJhbnNpdGlvbiwgcmV0dXJuVmFsdWUpIHtcbiAgdmFyIGNhbGxiYWNrcyA9IHRyYW5zaXRpb24uX2NhbGxiYWNrcztcbiAgY2FsbGJhY2tzLmZvckVhY2goZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKHRyYW5zaXRpb24sIHJldHVyblZhbHVlKTtcbiAgfSk7XG59IC8vIFdoZW4gcmV0cnlpbmcgYSBTdXNwZW5zZS9PZmZzY3JlZW4gYm91bmRhcnksIHdlIHJlc3RvcmUgdGhlIGNhY2hlIHRoYXQgd2FzXG4vLyB1c2VkIGR1cmluZyB0aGUgcHJldmlvdXMgcmVuZGVyIGJ5IHBsYWNpbmcgaXQgaGVyZSwgb24gdGhlIHN0YWNrLlxuXG52YXIgcmVzdW1lZENhY2hlID0gY3JlYXRlQ3Vyc29yKG51bGwpOyAvLyBEdXJpbmcgdGhlIHJlbmRlci9zeW5jaHJvbm91cyBjb21taXQgcGhhc2UsIHdlIGRvbid0IGFjdHVhbGx5IHByb2Nlc3MgdGhlXG5cbmZ1bmN0aW9uIHBlZWtDYWNoZUZyb21Qb29sKCkge1xuICAvLyBJZiB3ZSdyZSByZW5kZXJpbmcgaW5zaWRlIGEgU3VzcGVuc2UgYm91bmRhcnkgdGhhdCBpcyBjdXJyZW50bHkgaGlkZGVuLFxuICAvLyB3ZSBzaG91bGQgdXNlIHRoZSBzYW1lIGNhY2hlIHRoYXQgd2UgdXNlZCBkdXJpbmcgdGhlIHByZXZpb3VzIHJlbmRlciwgaWZcbiAgLy8gb25lIGV4aXN0cy5cblxuXG4gIHZhciBjYWNoZVJlc3VtZWRGcm9tUHJldmlvdXNSZW5kZXIgPSByZXN1bWVkQ2FjaGUuY3VycmVudDtcblxuICBpZiAoY2FjaGVSZXN1bWVkRnJvbVByZXZpb3VzUmVuZGVyICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGNhY2hlUmVzdW1lZEZyb21QcmV2aW91c1JlbmRlcjtcbiAgfSAvLyBPdGhlcndpc2UsIGNoZWNrIHRoZSByb290J3MgY2FjaGUgcG9vbC5cblxuXG4gIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG4gIHZhciBjYWNoZUZyb21Sb290Q2FjaGVQb29sID0gcm9vdC5wb29sZWRDYWNoZTtcbiAgcmV0dXJuIGNhY2hlRnJvbVJvb3RDYWNoZVBvb2w7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RDYWNoZUZyb21Qb29sKHJlbmRlckxhbmVzKSB7XG4gIC8vIFNpbWlsYXIgdG8gcHJldmlvdXMgZnVuY3Rpb24sIGV4Y2VwdCBpZiB0aGVyZSdzIG5vdCBhbHJlYWR5IGEgY2FjaGUgaW4gdGhlXG4gIC8vIHBvb2wsIHdlIGFsbG9jYXRlIGEgbmV3IG9uZS5cbiAgdmFyIGNhY2hlRnJvbVBvb2wgPSBwZWVrQ2FjaGVGcm9tUG9vbCgpO1xuXG4gIGlmIChjYWNoZUZyb21Qb29sICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGNhY2hlRnJvbVBvb2w7XG4gIH0gLy8gQ3JlYXRlIGEgZnJlc2ggY2FjaGUgYW5kIGFkZCBpdCB0byB0aGUgcm9vdCBjYWNoZSBwb29sLiBBIGNhY2hlIGNhbiBoYXZlXG4gIC8vIG11bHRpcGxlIG93bmVyczpcbiAgLy8gLSBBIGNhY2hlIHBvb2wgdGhhdCBsaXZlcyBvbiB0aGUgRmliZXJSb290LiBUaGlzIGlzIHdoZXJlIGFsbCBmcmVzaCBjYWNoZXNcbiAgLy8gICBhcmUgb3JpZ2luYWxseSBjcmVhdGVkIChUT0RPOiBleGNlcHQgZHVyaW5nIHJlZnJlc2hlcywgdW50aWwgd2UgaW1wbGVtZW50XG4gIC8vICAgdGhpcyBjb3JyZWN0bHkpLiBUaGUgcm9vdCB0YWtlcyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgd2hlbiB0aGUgY2FjaGUgaXNcbiAgLy8gICBjcmVhdGVkLiBDb25jZXB0dWFsbHksIHJvb3QucG9vbGVkQ2FjaGUgaXMgYW4gT3B0aW9uPEFyYzxDYWNoZT4+IChvd25lZCksXG4gIC8vICAgYW5kIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhpcyBmdW5jdGlvbiBpcyBhICZBcmM8Q2FjaGU+IChib3Jyb3dlZCkuXG4gIC8vIC0gT25lIG9mIHNldmVyYWwgZmliZXIgdHlwZXM6IGhvc3Qgcm9vdCwgY2FjaGUgYm91bmRhcnksIHN1c3BlbnNlXG4gIC8vICAgY29tcG9uZW50LiBUaGVzZSByZXRhaW4gYW5kIHJlbGVhc2UgaW4gdGhlIGNvbW1pdCBwaGFzZS5cblxuXG4gIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG4gIHZhciBmcmVzaENhY2hlID0gY3JlYXRlQ2FjaGUoKTtcbiAgcm9vdC5wb29sZWRDYWNoZSA9IGZyZXNoQ2FjaGU7XG4gIHJldGFpbkNhY2hlKGZyZXNoQ2FjaGUpO1xuXG4gIGlmIChmcmVzaENhY2hlICE9PSBudWxsKSB7XG4gICAgcm9vdC5wb29sZWRDYWNoZUxhbmVzIHw9IHJlbmRlckxhbmVzO1xuICB9XG5cbiAgcmV0dXJuIGZyZXNoQ2FjaGU7XG59XG5mdW5jdGlvbiBwdXNoVHJhbnNpdGlvbihvZmZzY3JlZW5Xb3JrSW5Qcm9ncmVzcywgcHJldkNhY2hlUG9vbCwgbmV3VHJhbnNpdGlvbnMpIHtcbiAge1xuICAgIGlmIChwcmV2Q2FjaGVQb29sID09PSBudWxsKSB7XG4gICAgICBwdXNoKHJlc3VtZWRDYWNoZSwgcmVzdW1lZENhY2hlLmN1cnJlbnQsIG9mZnNjcmVlbldvcmtJblByb2dyZXNzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHVzaChyZXN1bWVkQ2FjaGUsIHByZXZDYWNoZVBvb2wucG9vbCwgb2Zmc2NyZWVuV29ya0luUHJvZ3Jlc3MpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9wVHJhbnNpdGlvbih3b3JrSW5Qcm9ncmVzcywgY3VycmVudCkge1xuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuXG4gICAge1xuICAgICAgcG9wKHJlc3VtZWRDYWNoZSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZ2V0U3VzcGVuZGVkQ2FjaGUoKSB7XG4gIC8vIGNhY2hlIHRoYXQgd291bGQgaGF2ZSBiZWVuIHVzZWQgdG8gcmVuZGVyIGZyZXNoIGRhdGEgZHVyaW5nIHRoaXMgcmVuZGVyLFxuICAvLyBpZiB0aGVyZSB3YXMgYW55LCBzbyB0aGF0IHdlIGNhbiByZXN1bWUgcmVuZGVyaW5nIHdpdGggdGhlIHNhbWUgY2FjaGUgd2hlblxuICAvLyB3ZSByZWNlaXZlIG1vcmUgZGF0YS5cblxuXG4gIHZhciBjYWNoZUZyb21Qb29sID0gcGVla0NhY2hlRnJvbVBvb2woKTtcblxuICBpZiAoY2FjaGVGcm9tUG9vbCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBXZSBtdXN0IGFsc28gc2F2ZSB0aGUgcGFyZW50LCBzbyB0aGF0IHdoZW4gd2UgcmVzdW1lIHdlIGNhbiBkZXRlY3RcbiAgICAvLyBhIHJlZnJlc2guXG4gICAgcGFyZW50OiBDYWNoZUNvbnRleHQuX2N1cnJlbnRWYWx1ZSAsXG4gICAgcG9vbDogY2FjaGVGcm9tUG9vbFxuICB9O1xufVxuZnVuY3Rpb24gZ2V0T2Zmc2NyZWVuRGVmZXJyZWRDYWNoZSgpIHtcblxuICB2YXIgY2FjaGVGcm9tUG9vbCA9IHBlZWtDYWNoZUZyb21Qb29sKCk7XG5cbiAgaWYgKGNhY2hlRnJvbVBvb2wgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLy8gV2UgbXVzdCBhbHNvIHN0b3JlIHRoZSBwYXJlbnQsIHNvIHRoYXQgd2hlbiB3ZSByZXN1bWUgd2UgY2FuIGRldGVjdFxuICAgIC8vIGEgcmVmcmVzaC5cbiAgICBwYXJlbnQ6IENhY2hlQ29udGV4dC5fY3VycmVudFZhbHVlICxcbiAgICBwb29sOiBjYWNoZUZyb21Qb29sXG4gIH07XG59XG5cbi8qKlxuICogVGFnIHRoZSBmaWJlciB3aXRoIGFuIHVwZGF0ZSBlZmZlY3QuIFRoaXMgdHVybnMgYSBQbGFjZW1lbnQgaW50b1xuICogYSBQbGFjZW1lbnRBbmRVcGRhdGUuXG4gKi9cblxuZnVuY3Rpb24gbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcykge1xuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEFsbENoaWxkcmVuKHBhcmVudCwgd29ya0luUHJvZ3Jlc3MsIG5lZWRzVmlzaWJpbGl0eVRvZ2dsZSwgaXNIaWRkZW4pIHtcbiAge1xuICAgIC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGNyZWF0ZWQgYnV0IHdlIG5lZWQgcmVjdXJzZSBkb3duIGl0c1xuICAgIC8vIGNoaWxkcmVuIHRvIGZpbmQgYWxsIHRoZSB0ZXJtaW5hbCBub2Rlcy5cbiAgICB2YXIgbm9kZSA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgICAgYXBwZW5kSW5pdGlhbENoaWxkKHBhcmVudCwgbm9kZS5zdGF0ZU5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gSG9zdFBvcnRhbCB8fCAobm9kZS50YWcgPT09IEhvc3RTaW5nbGV0b24gKSkgOyBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcbiAgICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobm9kZSA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuICAgICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICAgIH1cbiAgfVxufSAvLyBBbiB1bmZvcnR1bmF0ZSBmb3JrIG9mIGFwcGVuZEFsbENoaWxkcmVuIGJlY2F1c2Ugd2UgaGF2ZSB0d28gZGlmZmVyZW50IHBhcmVudCB0eXBlcy5cblxuZnVuY3Rpb24gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgdHlwZSwgbmV3UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICAvLyBJZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSwgdGhhdCBtZWFucyB0aGlzIGlzIGFuIHVwZGF0ZSBhbmQgd2UgbmVlZCB0b1xuICAgIC8vIHNjaGVkdWxlIGEgc2lkZS1lZmZlY3QgdG8gZG8gdGhlIHVwZGF0ZXMuXG4gICAgdmFyIG9sZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuXG4gICAgaWYgKG9sZFByb3BzID09PSBuZXdQcm9wcykge1xuICAgICAgLy8gSW4gbXV0YXRpb24gbW9kZSwgdGhpcyBpcyBzdWZmaWNpZW50IGZvciBhIGJhaWxvdXQgYmVjYXVzZVxuICAgICAgLy8gd2Ugd29uJ3QgdG91Y2ggdGhpcyBub2RlIGV2ZW4gaWYgY2hpbGRyZW4gY2hhbmdlZC5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgfVxufSAvLyBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgY29tcGxldGUgcGhhc2UsIGJlY2F1c2Vcbi8vIGl0IG1pZ2h0IHRocm93IHRvIHN1c3BlbmQsIGFuZCBpZiB0aGUgcmVzb3VyY2UgaW1tZWRpYXRlbHkgbG9hZHMsIHRoZSB3b3JrXG4vLyBsb29wIHdpbGwgcmVzdW1lIHJlbmRlcmluZyBhcyBpZiB0aGUgd29yay1pbi1wcm9ncmVzcyBjb21wbGV0ZWQuIFNvIGl0IG11c3Rcbi8vIGZ1bGx5IGNvbXBsZXRlLlxuLy8gVE9ETzogVGhpcyBzaG91bGQgaWRlYWxseSBtb3ZlIHRvIGJlZ2luIHBoYXNlLCBidXQgY3VycmVudGx5IHRoZSBpbnN0YW5jZSBpc1xuLy8gbm90IGNyZWF0ZWQgdW50aWwgdGhlIGNvbXBsZXRlIHBoYXNlLiBGb3Igb3VyIGV4aXN0aW5nIHVzZSBjYXNlcywgaG9zdCBub2Rlc1xuLy8gdGhhdCBzdXNwZW5kIGRvbid0IGhhdmUgY2hpbGRyZW4sIHNvIGl0IGRvZXNuJ3QgbWF0dGVyLiBCdXQgdGhhdCBtaWdodCBub3Rcbi8vIGFsd2F5cyBiZSB0cnVlIGluIHRoZSBmdXR1cmUuXG5cblxuZnVuY3Rpb24gcHJlbG9hZEluc3RhbmNlQW5kU3VzcGVuZElmTmVlZGVkKHdvcmtJblByb2dyZXNzLCB0eXBlLCBwcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAge1xuICAgIC8vIElmIHRoaXMgZmxhZyB3YXMgc2V0IHByZXZpb3VzbHksIHdlIGNhbiByZW1vdmUgaXQuIFRoZSBmbGFnXG4gICAgLy8gcmVwcmVzZW50cyB3aGV0aGVyIHRoaXMgcGFydGljdWxhciBzZXQgb2YgcHJvcHMgbWlnaHQgZXZlciBuZWVkIHRvXG4gICAgLy8gc3VzcGVuZC4gVGhlIHNhZmVzdCB0aGluZyB0byBkbyBpcyBmb3IgbWF5U3VzcGVuZENvbW1pdCB0byBhbHdheXNcbiAgICAvLyByZXR1cm4gdHJ1ZSwgYnV0IGlmIHRoZSByZW5kZXJlciBpcyByZWFzb25hYmx5IGNvbmZpZGVudCB0aGF0IHRoZVxuICAgIC8vIHVuZGVybHlpbmcgcmVzb3VyY2Ugd29uJ3QgYmUgZXZpY3RlZCwgaXQgY2FuIHJldHVybiBmYWxzZSBhcyBhXG4gICAgLy8gcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLlxuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH5NYXlTdXNwZW5kQ29tbWl0O1xuICAgIHJldHVybjtcbiAgfSAvLyBNYXJrIHRoaXMgZmliZXIgd2l0aCBhIGZsYWcuIFRoaXMgZ2V0cyBzZXQgb24gYWxsIGhvc3QgaW5zdGFuY2VzXG59XG5cbmZ1bmN0aW9uIHByZWxvYWRSZXNvdXJjZUFuZFN1c3BlbmRJZk5lZWRlZCh3b3JrSW5Qcm9ncmVzcywgcmVzb3VyY2UsIHR5cGUsIHByb3BzLCByZW5kZXJMYW5lcykge1xuICAvLyBUaGlzIGlzIGEgZm9yayBvZiBwcmVsb2FkSW5zdGFuY2VBbmRTdXNwZW5kSWZOZWVkZWQsIGJ1dCBmb3IgcmVzb3VyY2VzLlxuICBpZiAoIW1heVJlc291cmNlU3VzcGVuZENvbW1pdChyZXNvdXJjZSkpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyAmPSB+TWF5U3VzcGVuZENvbW1pdDtcbiAgICByZXR1cm47XG4gIH1cblxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBNYXlTdXNwZW5kQ29tbWl0O1xuICB2YXIgcm9vdFJlbmRlckxhbmVzID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMoKTtcblxuICBpZiAoIWluY2x1ZGVzT25seU5vblVyZ2VudExhbmVzKHJvb3RSZW5kZXJMYW5lcykpIDsgZWxzZSB7XG4gICAgdmFyIGlzUmVhZHkgPSBwcmVsb2FkUmVzb3VyY2UocmVzb3VyY2UpO1xuXG4gICAgaWYgKCFpc1JlYWR5KSB7XG4gICAgICBpZiAoc2hvdWxkUmVtYWluT25QcmV2aW91c1NjcmVlbigpKSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZFN1c3BlbmRDb21taXQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdXNwZW5kQ29tbWl0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNjaGVkdWxlUmV0cnlFZmZlY3Qod29ya0luUHJvZ3Jlc3MsIHJldHJ5UXVldWUpIHtcbiAgdmFyIHdha2VhYmxlcyA9IHJldHJ5UXVldWU7XG5cbiAgaWYgKHdha2VhYmxlcyAhPT0gbnVsbCkge1xuICAgIC8vIFNjaGVkdWxlIGFuIGVmZmVjdCB0byBhdHRhY2ggYSByZXRyeSBsaXN0ZW5lciB0byB0aGUgcHJvbWlzZS5cbiAgICAvLyBUT0RPOiBNb3ZlIHRvIHBhc3NpdmUgcGhhc2VcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhpcyBib3VuZGFyeSBzdXNwZW5kZWQsIGJ1dCBubyB3YWtlYWJsZXMgd2VyZSBhZGRlZCB0byB0aGUgcmV0cnlcbiAgICAvLyBxdWV1ZS4gQ2hlY2sgaWYgdGhlIHJlbmRlcmVyIHN1c3BlbmRlZCBjb21taXQuIElmIHNvLCB0aGlzIG1lYW5zXG4gICAgLy8gdGhhdCBvbmNlIHRoZSBmYWxsYmFjayBpcyBjb21taXR0ZWQsIHdlIGNhbiBpbW1lZGlhdGVseSByZXRyeVxuICAgIC8vIHJlbmRlcmluZyBhZ2FpbiwgYmVjYXVzZSByZW5kZXJpbmcgd2Fzbid0IGFjdHVhbGx5IGJsb2NrZWQuIE9ubHlcbiAgICAvLyB0aGUgY29tbWl0IHBoYXNlLlxuICAgIC8vIFRPRE86IENvbnNpZGVyIGEgbW9kZWwgd2hlcmUgd2UgYWx3YXlzIHNjaGVkdWxlIGFuIGltbWVkaWF0ZSByZXRyeSwgZXZlblxuICAgIC8vIGZvciBub3JtYWwgU3VzcGVuc2UuIFRoYXQgd2F5IHRoZSByZXRyeSBjYW4gcGFydGlhbGx5IHJlbmRlciB1cCB0byB0aGVcbiAgICAvLyBmaXJzdCB0aGluZyB0aGF0IHN1c3BlbmRzLlxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIFNjaGVkdWxlUmV0cnkpIHtcbiAgICAgIHZhciByZXRyeUxhbmUgPSAvLyBUT0RPOiBUaGlzIGNoZWNrIHNob3VsZCBwcm9iYWJseSBiZSBtb3ZlZCBpbnRvIGNsYWltTmV4dFJldHJ5TGFuZVxuICAgICAgLy8gSSBhbHNvIHN1c3BlY3QgdGhhdCB3ZSBuZWVkIHNvbWUgZnVydGhlciBjb25zb2xpZGF0aW9uIG9mIG9mZnNjcmVlblxuICAgICAgLy8gYW5kIHJldHJ5IGxhbmVzLlxuICAgICAgd29ya0luUHJvZ3Jlc3MudGFnICE9PSBPZmZzY3JlZW5Db21wb25lbnQgPyBjbGFpbU5leHRSZXRyeUxhbmUoKSA6IE9mZnNjcmVlbkxhbmU7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3MubGFuZXMsIHJldHJ5TGFuZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvc3RUZXh0KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBvbGRUZXh0LCBuZXdUZXh0KSB7XG4gIHtcbiAgICAvLyBJZiB0aGUgdGV4dCBkaWZmZXJzLCBtYXJrIGl0IGFzIGFuIHVwZGF0ZS4gQWxsIHRoZSB3b3JrIGluIGRvbmUgaW4gY29tbWl0V29yay5cbiAgICBpZiAob2xkVGV4dCAhPT0gbmV3VGV4dCkge1xuICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgaGFzUmVuZGVyZWRBVGFpbEZhbGxiYWNrKSB7XG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgLy8gSWYgd2UncmUgaHlkcmF0aW5nLCB3ZSBzaG91bGQgY29uc3VtZSBhcyBtYW55IGl0ZW1zIGFzIHdlIGNhblxuICAgIC8vIHNvIHdlIGRvbid0IGxlYXZlIGFueSBiZWhpbmQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3dpdGNoIChyZW5kZXJTdGF0ZS50YWlsTW9kZSkge1xuICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgdGFpbE5vZGUgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICB2YXIgbGFzdFRhaWxOb2RlID0gbnVsbDtcblxuICAgICAgICB3aGlsZSAodGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAodGFpbE5vZGUuYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsYXN0VGFpbE5vZGUgPSB0YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWlsTm9kZSA9IHRhaWxOb2RlLnNpYmxpbmc7XG4gICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBzaW1wbHkgZ29pbmcgdG8gZGVsZXRlIGFsbCBpbnNlcnRpb25zIGFmdGVyIHRoZVxuICAgICAgICAvLyBsYXN0IHJlbmRlcmVkIGl0ZW0uXG5cblxuICAgICAgICBpZiAobGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcbiAgICAgICAgICAvLyBpbnNlcnRlZC5cbiAgICAgICAgICBsYXN0VGFpbE5vZGUuc2libGluZyA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2NvbGxhcHNlZCc6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgX3RhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcbiAgICAgICAgdmFyIF9sYXN0VGFpbE5vZGUgPSBudWxsO1xuXG4gICAgICAgIHdoaWxlIChfdGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAoX3RhaWxOb2RlLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX2xhc3RUYWlsTm9kZSA9IF90YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfdGFpbE5vZGUgPSBfdGFpbE5vZGUuc2libGluZztcbiAgICAgICAgfSAvLyBOZXh0IHdlJ3JlIHNpbXBseSBnb2luZyB0byBkZWxldGUgYWxsIGluc2VydGlvbnMgYWZ0ZXIgdGhlXG4gICAgICAgIC8vIGxhc3QgcmVuZGVyZWQgaXRlbS5cblxuXG4gICAgICAgIGlmIChfbGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICBpZiAoIWhhc1JlbmRlcmVkQVRhaWxGYWxsYmFjayAmJiByZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBXZSBzdXNwZW5kZWQgZHVyaW5nIHRoZSBoZWFkLiBXZSB3YW50IHRvIHNob3cgYXQgbGVhc3Qgb25lXG4gICAgICAgICAgICAvLyByb3cgYXQgdGhlIHRhaWwuIFNvIHdlJ2xsIGtlZXAgb24gYW5kIGN1dCBvZmYgdGhlIHJlc3QuXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRGV0YWNoIHRoZSBpbnNlcnRpb24gYWZ0ZXIgdGhlIGxhc3Qgbm9kZSB0aGF0IHdhcyBhbHJlYWR5XG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXG4gICAgICAgICAgX2xhc3RUYWlsTm9kZS5zaWJsaW5nID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGJ1YmJsZVByb3BlcnRpZXMoY29tcGxldGVkV29yaykge1xuICB2YXIgZGlkQmFpbG91dCA9IGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlICE9PSBudWxsICYmIGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlLmNoaWxkID09PSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuICB2YXIgbmV3Q2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gIHZhciBzdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzJDE7XG5cbiAgaWYgKCFkaWRCYWlsb3V0KSB7XG4gICAgLy8gQnViYmxlIHVwIHRoZSBlYXJsaWVzdCBleHBpcmF0aW9uIHRpbWUuXG4gICAgaWYgKChjb21wbGV0ZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgLy8gSW4gcHJvZmlsaW5nIG1vZGUsIHJlc2V0Q2hpbGRFeHBpcmF0aW9uVGltZSBpcyBhbHNvIHVzZWQgdG8gcmVzZXRcbiAgICAgIC8vIHByb2ZpbGVyIGR1cmF0aW9ucy5cbiAgICAgIHZhciBhY3R1YWxEdXJhdGlvbiA9IGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb247XG4gICAgICB2YXIgdHJlZUJhc2VEdXJhdGlvbiA9IGNvbXBsZXRlZFdvcmsuc2VsZkJhc2VEdXJhdGlvbjtcbiAgICAgIHZhciBjaGlsZCA9IGNvbXBsZXRlZFdvcmsuY2hpbGQ7XG5cbiAgICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBuZXdDaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhuZXdDaGlsZExhbmVzLCBtZXJnZUxhbmVzKGNoaWxkLmxhbmVzLCBjaGlsZC5jaGlsZExhbmVzKSk7XG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBjaGlsZC5zdWJ0cmVlRmxhZ3M7XG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBjaGlsZC5mbGFnczsgLy8gV2hlbiBhIGZpYmVyIGlzIGNsb25lZCwgaXRzIGFjdHVhbER1cmF0aW9uIGlzIHJlc2V0IHRvIDAuIFRoaXMgdmFsdWUgd2lsbFxuICAgICAgICAvLyBvbmx5IGJlIHVwZGF0ZWQgaWYgd29yayBpcyBkb25lIG9uIHRoZSBmaWJlciAoaS5lLiBpdCBkb2Vzbid0IGJhaWxvdXQpLlxuICAgICAgICAvLyBXaGVuIHdvcmsgaXMgZG9uZSwgaXQgc2hvdWxkIGJ1YmJsZSB0byB0aGUgcGFyZW50J3MgYWN0dWFsRHVyYXRpb24uIElmXG4gICAgICAgIC8vIHRoZSBmaWJlciBoYXMgbm90IGJlZW4gY2xvbmVkIHRob3VnaCwgKG1lYW5pbmcgbm8gd29yayB3YXMgZG9uZSksIHRoZW5cbiAgICAgICAgLy8gdGhpcyB2YWx1ZSB3aWxsIHJlZmxlY3QgdGhlIGFtb3VudCBvZiB0aW1lIHNwZW50IHdvcmtpbmcgb24gYSBwcmV2aW91c1xuICAgICAgICAvLyByZW5kZXIuIEluIHRoYXQgY2FzZSBpdCBzaG91bGQgbm90IGJ1YmJsZS4gV2UgZGV0ZXJtaW5lIHdoZXRoZXIgaXQgd2FzXG4gICAgICAgIC8vIGNsb25lZCBieSBjb21wYXJpbmcgdGhlIGNoaWxkIHBvaW50ZXIuXG4gICAgICAgIC8vICRGbG93Rml4TWVbdW5zYWZlLWFkZGl0aW9uXSBhZGRpdGlvbiB3aXRoIHBvc3NpYmxlIG51bGwvdW5kZWZpbmVkIHZhbHVlXG5cbiAgICAgICAgYWN0dWFsRHVyYXRpb24gKz0gY2hpbGQuYWN0dWFsRHVyYXRpb247IC8vICRGbG93Rml4TWVbdW5zYWZlLWFkZGl0aW9uXSBhZGRpdGlvbiB3aXRoIHBvc3NpYmxlIG51bGwvdW5kZWZpbmVkIHZhbHVlXG5cbiAgICAgICAgdHJlZUJhc2VEdXJhdGlvbiArPSBjaGlsZC50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIGNvbXBsZXRlZFdvcmsudHJlZUJhc2VEdXJhdGlvbiA9IHRyZWVCYXNlRHVyYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5ld0NoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5ld0NoaWxkTGFuZXMsIG1lcmdlTGFuZXMoX2NoaWxkLmxhbmVzLCBfY2hpbGQuY2hpbGRMYW5lcykpO1xuICAgICAgICBzdWJ0cmVlRmxhZ3MgfD0gX2NoaWxkLnN1YnRyZWVGbGFncztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZC5mbGFnczsgLy8gVXBkYXRlIHRoZSByZXR1cm4gcG9pbnRlciBzbyB0aGUgdHJlZSBpcyBjb25zaXN0ZW50LiBUaGlzIGlzIGEgY29kZVxuICAgICAgICAvLyBzbWVsbCBiZWNhdXNlIGl0IGFzc3VtZXMgdGhlIGNvbW1pdCBwaGFzZSBpcyBuZXZlciBjb25jdXJyZW50IHdpdGhcbiAgICAgICAgLy8gdGhlIHJlbmRlciBwaGFzZS4gV2lsbCBhZGRyZXNzIGR1cmluZyByZWZhY3RvciB0byBhbHRlcm5hdGUgbW9kZWwuXG5cbiAgICAgICAgX2NoaWxkLnJldHVybiA9IGNvbXBsZXRlZFdvcms7XG4gICAgICAgIF9jaGlsZCA9IF9jaGlsZC5zaWJsaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBsZXRlZFdvcmsuc3VidHJlZUZsYWdzIHw9IHN1YnRyZWVGbGFncztcbiAgfSBlbHNlIHtcbiAgICAvLyBCdWJibGUgdXAgdGhlIGVhcmxpZXN0IGV4cGlyYXRpb24gdGltZS5cbiAgICBpZiAoKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAvLyBJbiBwcm9maWxpbmcgbW9kZSwgcmVzZXRDaGlsZEV4cGlyYXRpb25UaW1lIGlzIGFsc28gdXNlZCB0byByZXNldFxuICAgICAgLy8gcHJvZmlsZXIgZHVyYXRpb25zLlxuICAgICAgdmFyIF90cmVlQmFzZUR1cmF0aW9uID0gY29tcGxldGVkV29yay5zZWxmQmFzZUR1cmF0aW9uO1xuICAgICAgdmFyIF9jaGlsZDIgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkMiAhPT0gbnVsbCkge1xuICAgICAgICBuZXdDaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhuZXdDaGlsZExhbmVzLCBtZXJnZUxhbmVzKF9jaGlsZDIubGFuZXMsIF9jaGlsZDIuY2hpbGRMYW5lcykpOyAvLyBcIlN0YXRpY1wiIGZsYWdzIHNoYXJlIHRoZSBsaWZldGltZSBvZiB0aGUgZmliZXIvaG9vayB0aGV5IGJlbG9uZyB0byxcbiAgICAgICAgLy8gc28gd2Ugc2hvdWxkIGJ1YmJsZSB0aG9zZSB1cCBldmVuIGR1cmluZyBhIGJhaWxvdXQuIEFsbCB0aGUgb3RoZXJcbiAgICAgICAgLy8gZmxhZ3MgaGF2ZSBhIGxpZmV0aW1lIG9ubHkgb2YgYSBzaW5nbGUgcmVuZGVyICsgY29tbWl0LCBzbyB3ZSBzaG91bGRcbiAgICAgICAgLy8gaWdub3JlIHRoZW0uXG5cbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDIuc3VidHJlZUZsYWdzICYgU3RhdGljTWFzaztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDIuZmxhZ3MgJiBTdGF0aWNNYXNrOyAvLyAkRmxvd0ZpeE1lW3Vuc2FmZS1hZGRpdGlvbl0gYWRkaXRpb24gd2l0aCBwb3NzaWJsZSBudWxsL3VuZGVmaW5lZCB2YWx1ZVxuXG4gICAgICAgIF90cmVlQmFzZUR1cmF0aW9uICs9IF9jaGlsZDIudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgX2NoaWxkMiA9IF9jaGlsZDIuc2libGluZztcbiAgICAgIH1cblxuICAgICAgY29tcGxldGVkV29yay50cmVlQmFzZUR1cmF0aW9uID0gX3RyZWVCYXNlRHVyYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY2hpbGQzID0gY29tcGxldGVkV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKF9jaGlsZDMgIT09IG51bGwpIHtcbiAgICAgICAgbmV3Q2hpbGRMYW5lcyA9IG1lcmdlTGFuZXMobmV3Q2hpbGRMYW5lcywgbWVyZ2VMYW5lcyhfY2hpbGQzLmxhbmVzLCBfY2hpbGQzLmNoaWxkTGFuZXMpKTsgLy8gXCJTdGF0aWNcIiBmbGFncyBzaGFyZSB0aGUgbGlmZXRpbWUgb2YgdGhlIGZpYmVyL2hvb2sgdGhleSBiZWxvbmcgdG8sXG4gICAgICAgIC8vIHNvIHdlIHNob3VsZCBidWJibGUgdGhvc2UgdXAgZXZlbiBkdXJpbmcgYSBiYWlsb3V0LiBBbGwgdGhlIG90aGVyXG4gICAgICAgIC8vIGZsYWdzIGhhdmUgYSBsaWZldGltZSBvbmx5IG9mIGEgc2luZ2xlIHJlbmRlciArIGNvbW1pdCwgc28gd2Ugc2hvdWxkXG4gICAgICAgIC8vIGlnbm9yZSB0aGVtLlxuXG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQzLnN1YnRyZWVGbGFncyAmIFN0YXRpY01hc2s7XG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQzLmZsYWdzICYgU3RhdGljTWFzazsgLy8gVXBkYXRlIHRoZSByZXR1cm4gcG9pbnRlciBzbyB0aGUgdHJlZSBpcyBjb25zaXN0ZW50LiBUaGlzIGlzIGEgY29kZVxuICAgICAgICAvLyBzbWVsbCBiZWNhdXNlIGl0IGFzc3VtZXMgdGhlIGNvbW1pdCBwaGFzZSBpcyBuZXZlciBjb25jdXJyZW50IHdpdGhcbiAgICAgICAgLy8gdGhlIHJlbmRlciBwaGFzZS4gV2lsbCBhZGRyZXNzIGR1cmluZyByZWZhY3RvciB0byBhbHRlcm5hdGUgbW9kZWwuXG5cbiAgICAgICAgX2NoaWxkMy5yZXR1cm4gPSBjb21wbGV0ZWRXb3JrO1xuICAgICAgICBfY2hpbGQzID0gX2NoaWxkMy5zaWJsaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBsZXRlZFdvcmsuc3VidHJlZUZsYWdzIHw9IHN1YnRyZWVGbGFncztcbiAgfVxuXG4gIGNvbXBsZXRlZFdvcmsuY2hpbGRMYW5lcyA9IG5ld0NoaWxkTGFuZXM7XG4gIHJldHVybiBkaWRCYWlsb3V0O1xufVxuXG5mdW5jdGlvbiBjb21wbGV0ZURlaHlkcmF0ZWRTdXNwZW5zZUJvdW5kYXJ5KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0U3RhdGUpIHtcbiAgaWYgKGhhc1VuaHlkcmF0ZWRUYWlsTm9kZXMoKSAmJiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlICYmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzJDEpIHtcbiAgICB3YXJuSWZVbmh5ZHJhdGVkVGFpbE5vZGVzKHdvcmtJblByb2dyZXNzKTtcbiAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRm9yY2VDbGllbnRSZW5kZXIgfCBEaWRDYXB0dXJlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciB3YXNIeWRyYXRlZCA9IHBvcEh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAobmV4dFN0YXRlICE9PSBudWxsICYmIG5leHRTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgLy8gV2UgbWlnaHQgYmUgaW5zaWRlIGEgaHlkcmF0aW9uIHN0YXRlIHRoZSBmaXJzdCB0aW1lIHdlJ3JlIHBpY2tpbmcgdXAgdGhpc1xuICAgIC8vIFN1c3BlbnNlIGJvdW5kYXJ5LCBhbmQgYWxzbyBhZnRlciB3ZSd2ZSByZWVudGVyZWQgaXQgZm9yIGZ1cnRoZXIgaHlkcmF0aW9uLlxuICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICBpZiAoIXdhc0h5ZHJhdGVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGNvbXBvbmVudCB3YXMgY29tcGxldGVkIHdpdGhvdXQgYSBoeWRyYXRlZCBub2RlLiAnICsgJ1RoaXMgaXMgcHJvYmFibHkgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG5cbiAgICAgIHByZXBhcmVUb0h5ZHJhdGVIb3N0U3VzcGVuc2VJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAge1xuICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgIHZhciBpc1RpbWVkT3V0U3VzcGVuc2UgPSBuZXh0U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAoaXNUaW1lZE91dFN1c3BlbnNlKSB7XG4gICAgICAgICAgICAvLyBEb24ndCBjb3VudCB0aW1lIHNwZW50IGluIGEgdGltZWQgb3V0IFN1c3BlbnNlIHN1YnRyZWUgYXMgcGFydCBvZiB0aGUgYmFzZSBkdXJhdGlvbi5cbiAgICAgICAgICAgIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuXG4gICAgICAgICAgICBpZiAocHJpbWFyeUNoaWxkRnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gJEZsb3dGaXhNZVt1bnNhZmUtYXJpdGhtZXRpY10gRmxvdyBkb2Vzbid0IHN1cHBvcnQgdHlwZSBjYXN0aW5nIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIC09IG9wZXJhdG9yXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSBtaWdodCBoYXZlIHJlZW50ZXJlZCB0aGlzIGJvdW5kYXJ5IHRvIGh5ZHJhdGUgaXQuIElmIHNvLCB3ZSBuZWVkIHRvIHJlc2V0IHRoZSBoeWRyYXRpb25cbiAgICAgIC8vIHN0YXRlIHNpbmNlIHdlJ3JlIG5vdyBleGl0aW5nIG91dCBvZiBpdC4gcG9wSHlkcmF0aW9uU3RhdGUgZG9lc24ndCBkbyB0aGF0IGZvciB1cy5cbiAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcblxuICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgLy8gVGhpcyBib3VuZGFyeSBkaWQgbm90IHN1c3BlbmQgc28gaXQncyBub3cgaHlkcmF0ZWQgYW5kIHVuc3VzcGVuZGVkLlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgIH0gLy8gSWYgbm90aGluZyBzdXNwZW5kZWQsIHdlIG5lZWQgdG8gc2NoZWR1bGUgYW4gZWZmZWN0IHRvIG1hcmsgdGhpcyBib3VuZGFyeVxuICAgICAgLy8gYXMgaGF2aW5nIGh5ZHJhdGVkIHNvIGV2ZW50cyBrbm93IHRoYXQgdGhleSdyZSBmcmVlIHRvIGJlIGludm9rZWQuXG4gICAgICAvLyBJdCdzIGFsc28gYSBzaWduYWwgdG8gcmVwbGF5IGV2ZW50cyBhbmQgdGhlIHN1c3BlbnNlIGNhbGxiYWNrLlxuICAgICAgLy8gSWYgc29tZXRoaW5nIHN1c3BlbmRlZCwgc2NoZWR1bGUgYW4gZWZmZWN0IHRvIGF0dGFjaCByZXRyeSBsaXN0ZW5lcnMuXG4gICAgICAvLyBTbyB3ZSBtaWdodCBhcyB3ZWxsIGFsd2F5cyBtYXJrIHRoaXMuXG5cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICB2YXIgX2lzVGltZWRPdXRTdXNwZW5zZSA9IG5leHRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgIGlmIChfaXNUaW1lZE91dFN1c3BlbnNlKSB7XG4gICAgICAgICAgICAvLyBEb24ndCBjb3VudCB0aW1lIHNwZW50IGluIGEgdGltZWQgb3V0IFN1c3BlbnNlIHN1YnRyZWUgYXMgcGFydCBvZiB0aGUgYmFzZSBkdXJhdGlvbi5cbiAgICAgICAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgICAgaWYgKF9wcmltYXJ5Q2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyAkRmxvd0ZpeE1lW3Vuc2FmZS1hcml0aG1ldGljXSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCB0eXBlIGNhc3RpbmcgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgLT0gb3BlcmF0b3JcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiAtPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBTdWNjZXNzZnVsbHkgY29tcGxldGVkIHRoaXMgdHJlZS4gSWYgdGhpcyB3YXMgYSBmb3JjZWQgY2xpZW50IHJlbmRlcixcbiAgICAvLyB0aGVyZSBtYXkgaGF2ZSBiZWVuIHJlY292ZXJhYmxlIGVycm9ycyBkdXJpbmcgZmlyc3QgaHlkcmF0aW9uXG4gICAgLy8gYXR0ZW1wdC4gSWYgc28sIGFkZCB0aGVtIHRvIGEgcXVldWUgc28gd2UgY2FuIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cbiAgICB1cGdyYWRlSHlkcmF0aW9uRXJyb3JzVG9SZWNvdmVyYWJsZSgpOyAvLyBGYWxsIHRocm91Z2ggdG8gbm9ybWFsIFN1c3BlbnNlIHBhdGhcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzOyAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cblxuICBwb3BUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIEZyYWdtZW50OlxuICAgIGNhc2UgTW9kZTpcbiAgICBjYXNlIFByb2ZpbGVyOlxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgIHBvcENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIGZpYmVyUm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHByZXZpb3VzQ2FjaGUgPSBudWxsO1xuXG4gICAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHByZXZpb3VzQ2FjaGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGUuY2FjaGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGNhY2hlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZS5jYWNoZTtcblxuICAgICAgICAgIGlmIChjYWNoZSAhPT0gcHJldmlvdXNDYWNoZSkge1xuICAgICAgICAgICAgLy8gUnVuIHBhc3NpdmUgZWZmZWN0cyB0byByZXRhaW4vcmVsZWFzZSB0aGUgY2FjaGUuXG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBQYXNzaXZlJDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcG9wQ2FjaGVQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH1cbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgaWYgKGZpYmVyUm9vdC5wZW5kaW5nQ29udGV4dCkge1xuICAgICAgICAgIGZpYmVyUm9vdC5jb250ZXh0ID0gZmliZXJSb290LnBlbmRpbmdDb250ZXh0O1xuICAgICAgICAgIGZpYmVyUm9vdC5wZW5kaW5nQ29udGV4dCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50LmNoaWxkID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gSWYgd2UgaHlkcmF0ZWQsIHBvcCBzbyB0aGF0IHdlIGNhbiBkZWxldGUgYW55IHJlbWFpbmluZyBjaGlsZHJlblxuICAgICAgICAgIC8vIHRoYXQgd2VyZW4ndCBoeWRyYXRlZC5cbiAgICAgICAgICB2YXIgd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgICBpZiAod2FzSHlkcmF0ZWQpIHtcbiAgICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCB0aGVuIHdlJ2xsIG5lZWQgdG8gc2NoZWR1bGUgYW4gdXBkYXRlIGZvclxuICAgICAgICAgICAgLy8gdGhlIGNvbW1pdCBzaWRlLWVmZmVjdHMgb24gdGhlIHJvb3QuXG4gICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICAgICAgICBpZiAoIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBjbGllbnQgcm9vdFxuICAgICAgICAgICAgICAhcHJldlN0YXRlLmlzRGVoeWRyYXRlZCB8fCAvLyBDaGVjayBpZiB3ZSByZXZlcnRlZCB0byBjbGllbnQgcmVuZGVyaW5nIChlLmcuIGR1ZSB0byBhbiBlcnJvcilcbiAgICAgICAgICAgICAgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRm9yY2VDbGllbnRSZW5kZXIpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgICAgICAvLyBTY2hlZHVsZSBhbiBlZmZlY3QgdG8gY2xlYXIgdGhpcyBjb250YWluZXIgYXQgdGhlIHN0YXJ0IG9mIHRoZVxuICAgICAgICAgICAgICAgIC8vIG5leHQgY29tbWl0LiBUaGlzIGhhbmRsZXMgdGhlIGNhc2Ugb2YgUmVhY3QgcmVuZGVyaW5nIGludG8gYVxuICAgICAgICAgICAgICAgIC8vIGNvbnRhaW5lciB3aXRoIHByZXZpb3VzIGNoaWxkcmVuLiBJdCdzIGFsc28gc2FmZSB0byBkbyBmb3JcbiAgICAgICAgICAgICAgICAvLyB1cGRhdGVzIHRvbywgYmVjYXVzZSBjdXJyZW50LmNoaWxkIHdvdWxkIG9ubHkgYmUgbnVsbCBpZiB0aGVcbiAgICAgICAgICAgICAgICAvLyBwcmV2aW91cyByZW5kZXIgd2FzIG51bGwgKHNvIHRoZSBjb250YWluZXIgd291bGQgYWxyZWFkeVxuICAgICAgICAgICAgICAgIC8vIGJlIGVtcHR5KS5cbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTbmFwc2hvdDsgLy8gSWYgdGhpcyB3YXMgYSBmb3JjZWQgY2xpZW50IHJlbmRlciwgdGhlcmUgbWF5IGhhdmUgYmVlblxuICAgICAgICAgICAgICAgIC8vIHJlY292ZXJhYmxlIGVycm9ycyBkdXJpbmcgZmlyc3QgaHlkcmF0aW9uIGF0dGVtcHQuIElmIHNvLCBhZGRcbiAgICAgICAgICAgICAgICAvLyB0aGVtIHRvIGEgcXVldWUgc28gd2UgY2FuIGxvZyB0aGVtIGluIHRoZSBjb21taXQgcGhhc2UuXG5cbiAgICAgICAgICAgICAgICB1cGdyYWRlSHlkcmF0aW9uRXJyb3JzVG9SZWNvdmVyYWJsZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0SG9pc3RhYmxlOlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdmFyIG5leHRSZXNvdXJjZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gV2UgYXJlIG1vdW50aW5nIGFuZCBtdXN0IFVwZGF0ZSB0aGlzIEhvaXN0YWJsZSBpbiB0aGlzIGNvbW1pdFxuICAgICAgICAgICAgLy8gQFRPRE8gcmVmYWN0b3IgdGhpcyBibG9jayB0byBjcmVhdGUgdGhlIGluc3RhbmNlIGhlcmUgaW4gY29tcGxldGVcbiAgICAgICAgICAgIC8vIHBoYXNlIGlmIHdlIGFyZSBub3QgaHlkcmF0aW5nLlxuICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgICAgIGlmIChuZXh0UmVzb3VyY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIEhvaXN0YWJsZSBSZXNvdXJjZVxuICAgICAgICAgICAgICAvLyBUaGlzIG11c3QgY29tZSBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIGNvbXBsZXRlIHBoYXNlLlxuICAgICAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgICAgcHJlbG9hZFJlc291cmNlQW5kU3VzcGVuZElmTmVlZGVkKHdvcmtJblByb2dyZXNzLCBuZXh0UmVzb3VyY2UpO1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBIb2lzdGFibGUgSW5zdGFuY2VcbiAgICAgICAgICAgICAgLy8gVGhpcyBtdXN0IGNvbWUgYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBjb21wbGV0ZSBwaGFzZS5cbiAgICAgICAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICAgIHByZWxvYWRJbnN0YW5jZUFuZFN1c3BlbmRJZk5lZWRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBXZSBhcmUgdXBkYXRpbmcuXG4gICAgICAgICAgICB2YXIgY3VycmVudFJlc291cmNlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgICAgICBpZiAobmV4dFJlc291cmNlICE9PSBjdXJyZW50UmVzb3VyY2UpIHtcbiAgICAgICAgICAgICAgLy8gV2UgYXJlIHRyYW5zaXRpb25pbmcgdG8sIGZyb20sIG9yIGJldHdlZW4gSG9pc3RhYmxlIFJlc291cmNlc1xuICAgICAgICAgICAgICAvLyBhbmQgcmVxdWlyZSBhbiB1cGRhdGVcbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChuZXh0UmVzb3VyY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIEhvaXN0YWJsZSBSZXNvdXJjZVxuICAgICAgICAgICAgICAvLyBUaGlzIG11c3QgY29tZSBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIGNvbXBsZXRlIHBoYXNlLlxuICAgICAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgICAgICAgICBpZiAobmV4dFJlc291cmNlID09PSBjdXJyZW50UmVzb3VyY2UpIHtcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyAmPSB+TWF5U3VzcGVuZENvbW1pdDtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwcmVsb2FkUmVzb3VyY2VBbmRTdXNwZW5kSWZOZWVkZWQod29ya0luUHJvZ3Jlc3MsIG5leHRSZXNvdXJjZSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBIb2lzdGFibGUgSW5zdGFuY2VcbiAgICAgICAgICAgICAgLy8gV2UgbWF5IGhhdmUgcHJvcHMgdG8gdXBkYXRlIG9uIHRoZSBIb2lzdGFibGUgaW5zdGFuY2UuXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YXIgb2xkUHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICAgICAgICAgICAgICBpZiAob2xkUHJvcHMgIT09IG5ld1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gLy8gVGhpcyBtdXN0IGNvbWUgYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBjb21wbGV0ZSBwaGFzZS5cblxuXG4gICAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICBwcmVsb2FkSW5zdGFuY2VBbmRTdXNwZW5kSWZOZWVkZWQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gRmFsbCB0aHJvdWdoXG5cbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFNpbmdsZXRvbjpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB2YXIgcm9vdENvbnRhaW5lckluc3RhbmNlID0gZ2V0Um9vdEhvc3RDb250YWluZXIoKTtcbiAgICAgICAgICB2YXIgX3R5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuXG4gICAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFyIF9vbGRQcm9wczIgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICAgICAgICAgICAgaWYgKF9vbGRQcm9wczIgIT09IG5ld1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFuZXdQcm9wcykge1xuICAgICAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXZSBtdXN0IGhhdmUgbmV3IHByb3BzIGZvciBuZXcgbW91bnRzLiBUaGlzIGVycm9yIGlzIGxpa2VseSAnICsgJ2NhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgICAgICAgICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgYWJvcnQgd29yay5cblxuXG4gICAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGN1cnJlbnRIb3N0Q29udGV4dCA9IGdldEhvc3RDb250ZXh0KCk7XG5cbiAgICAgICAgICAgIHZhciBfd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgICAgIHZhciBpbnN0YW5jZTtcblxuICAgICAgICAgICAgaWYgKF93YXNIeWRyYXRlZCkge1xuICAgICAgICAgICAgICAvLyBXZSBpZ25vcmUgdGhlIGJvb2xlYW4gaW5kaWNhdGluZyB0aGVyZSBpcyBhbiB1cGRhdGVRdWV1ZSBiZWNhdXNlXG4gICAgICAgICAgICAgIC8vIGl0IGlzIHVzZWQgb25seSB0byBzZXQgdGV4dCBjaGlsZHJlbiBhbmQgSG9zdFNpbmdsZXRvbnMgZG8gbm90XG4gICAgICAgICAgICAgIC8vIHVzZSB0aGVtLlxuICAgICAgICAgICAgICBwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdXJyZW50SG9zdENvbnRleHQpO1xuICAgICAgICAgICAgICBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGluc3RhbmNlID0gcmVzb2x2ZVNpbmdsZXRvbkluc3RhbmNlKF90eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlLCBjdXJyZW50SG9zdENvbnRleHQsIHRydWUpO1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPSBpbnN0YW5jZTtcbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gLy8gRmFsbCB0aHJvdWdoXG5cbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgX3R5cGUyID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHVwZGF0ZUhvc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF90eXBlMiwgbmV3UHJvcHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghbmV3UHJvcHMpIHtcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXZSBtdXN0IGhhdmUgbmV3IHByb3BzIGZvciBuZXcgbW91bnRzLiBUaGlzIGVycm9yIGlzIGxpa2VseSAnICsgJ2NhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgICAgICAgICB9IC8vIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHdlIGFib3J0IHdvcmsuXG5cblxuICAgICAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgX2N1cnJlbnRIb3N0Q29udGV4dCA9IGdldEhvc3RDb250ZXh0KCk7IC8vIFRPRE86IE1vdmUgY3JlYXRlSW5zdGFuY2UgdG8gYmVnaW5Xb3JrIGFuZCBrZWVwIGl0IG9uIGEgY29udGV4dFxuICAgICAgICAgIC8vIFwic3RhY2tcIiBhcyB0aGUgcGFyZW50LiBUaGVuIGFwcGVuZCBjaGlsZHJlbiBhcyB3ZSBnbyBpbiBiZWdpbldvcmtcbiAgICAgICAgICAvLyBvciBjb21wbGV0ZVdvcmsgZGVwZW5kaW5nIG9uIHdoZXRoZXIgd2Ugd2FudCB0byBhZGQgdGhlbSB0b3AtPmRvd24gb3JcbiAgICAgICAgICAvLyBib3R0b20tPnVwLiBUb3AtPmRvd24gaXMgZmFzdGVyIGluIElFMTEuXG5cblxuICAgICAgICAgIHZhciBfd2FzSHlkcmF0ZWQyID0gcG9wSHlkcmF0aW9uU3RhdGUod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgaWYgKF93YXNIeWRyYXRlZDIpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBhbmQgY3JlYXRlSW5zdGFuY2Ugc3RlcCBpbnRvIHRoZSBiZWdpblBoYXNlXG4gICAgICAgICAgICAvLyB0byBjb25zb2xpZGF0ZS5cbiAgICAgICAgICAgIHByZXBhcmVUb0h5ZHJhdGVIb3N0SW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIF9jdXJyZW50SG9zdENvbnRleHQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgX3Jvb3RDb250YWluZXJJbnN0YW5jZSA9IGdldFJvb3RIb3N0Q29udGFpbmVyKCk7XG5cbiAgICAgICAgICAgIHZhciBfaW5zdGFuY2UzID0gY3JlYXRlSW5zdGFuY2UoX3R5cGUyLCBuZXdQcm9wcywgX3Jvb3RDb250YWluZXJJbnN0YW5jZSwgX2N1cnJlbnRIb3N0Q29udGV4dCwgd29ya0luUHJvZ3Jlc3MpOyAvLyBUT0RPOiBGb3IgcGVyc2lzdGVudCByZW5kZXJlcnMsIHdlIHNob3VsZCBwYXNzIGNoaWxkcmVuIGFzIHBhcnRcbiAgICAgICAgICAgIC8vIG9mIHRoZSBpbml0aWFsIGluc3RhbmNlIGNyZWF0aW9uXG5cblxuICAgICAgICAgICAgYXBwZW5kQWxsQ2hpbGRyZW4oX2luc3RhbmNlMywgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gX2luc3RhbmNlMzsgLy8gQ2VydGFpbiByZW5kZXJlcnMgcmVxdWlyZSBjb21taXQtdGltZSBlZmZlY3RzIGZvciBpbml0aWFsIG1vdW50LlxuICAgICAgICAgICAgLy8gKGVnIERPTSByZW5kZXJlciBzdXBwb3J0cyBhdXRvLWZvY3VzIGZvciBjZXJ0YWluIGVsZW1lbnRzKS5cbiAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBzdWNoIHJlbmRlcmVycyBnZXQgc2NoZWR1bGVkIGZvciBsYXRlciB3b3JrLlxuXG4gICAgICAgICAgICBpZiAoZmluYWxpemVJbml0aWFsQ2hpbGRyZW4oX2luc3RhbmNlMywgX3R5cGUyLCBuZXdQcm9wcykpIHtcbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7IC8vIFRoaXMgbXVzdCBjb21lIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgY29tcGxldGUgcGhhc2UsIGJlY2F1c2UgaXQgbWlnaHRcbiAgICAgICAgLy8gdGhyb3cgdG8gc3VzcGVuZCwgYW5kIGlmIHRoZSByZXNvdXJjZSBpbW1lZGlhdGVseSBsb2FkcywgdGhlIHdvcmsgbG9vcFxuICAgICAgICAvLyB3aWxsIHJlc3VtZSByZW5kZXJpbmcgYXMgaWYgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgY29tcGxldGVkLiBTbyBpdCBtdXN0XG4gICAgICAgIC8vIGZ1bGx5IGNvbXBsZXRlLlxuXG4gICAgICAgIHByZWxvYWRJbnN0YW5jZUFuZFN1c3BlbmRJZk5lZWRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIG5ld1RleHQgPSBuZXdQcm9wcztcblxuICAgICAgICBpZiAoY3VycmVudCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudC5tZW1vaXplZFByb3BzOyAvLyBJZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSwgdGhhdCBtZWFucyB0aGlzIGlzIGFuIHVwZGF0ZSBhbmQgd2UgbmVlZFxuICAgICAgICAgIC8vIHRvIHNjaGVkdWxlIGEgc2lkZS1lZmZlY3QgdG8gZG8gdGhlIHVwZGF0ZXMuXG5cbiAgICAgICAgICB1cGRhdGVIb3N0VGV4dChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgb2xkVGV4dCwgbmV3VGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBuZXdUZXh0ICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dlIG11c3QgaGF2ZSBuZXcgcHJvcHMgZm9yIG5ldyBtb3VudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5ICcgKyAnY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgYWJvcnQgd29yay5cblxuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfcm9vdENvbnRhaW5lckluc3RhbmNlMiA9IGdldFJvb3RIb3N0Q29udGFpbmVyKCk7XG5cbiAgICAgICAgICB2YXIgX2N1cnJlbnRIb3N0Q29udGV4dDIgPSBnZXRIb3N0Q29udGV4dCgpO1xuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZDMgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgICBpZiAoX3dhc0h5ZHJhdGVkMykge1xuICAgICAgICAgICAgaWYgKHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3JlYXRlVGV4dEluc3RhbmNlKG5ld1RleHQsIF9yb290Q29udGFpbmVySW5zdGFuY2UyLCBfY3VycmVudEhvc3RDb250ZXh0Miwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcFN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciBuZXh0U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlOyAvLyBTcGVjaWFsIHBhdGggZm9yIGRlaHlkcmF0ZWQgYm91bmRhcmllcy4gV2UgbWF5IGV2ZW50dWFsbHkgbW92ZSB0aGlzXG4gICAgICAgIC8vIHRvIGl0cyBvd24gZmliZXIgdHlwZSBzbyB0aGF0IHdlIGNhbiBhZGQgb3RoZXIga2luZHMgb2YgaHlkcmF0aW9uXG4gICAgICAgIC8vIGJvdW5kYXJpZXMgdGhhdCBhcmVuJ3QgYXNzb2NpYXRlZCB3aXRoIGEgU3VzcGVuc2UgdHJlZS4gSW4gYW50aWNpcGF0aW9uXG4gICAgICAgIC8vIG9mIHN1Y2ggYSByZWZhY3RvciwgYWxsIHRoZSBoeWRyYXRpb24gbG9naWMgaXMgY29udGFpbmVkIGluXG4gICAgICAgIC8vIHRoaXMgYnJhbmNoLlxuXG4gICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkge1xuICAgICAgICAgIHZhciBmYWxsdGhyb3VnaFRvTm9ybWFsU3VzcGVuc2VQYXRoID0gY29tcGxldGVEZWh5ZHJhdGVkU3VzcGVuc2VCb3VuZGFyeShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dFN0YXRlKTtcblxuICAgICAgICAgIGlmICghZmFsbHRocm91Z2hUb05vcm1hbFN1c3BlbnNlUGF0aCkge1xuICAgICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRm9yY2VDbGllbnRSZW5kZXIpIHtcbiAgICAgICAgICAgICAgLy8gU3BlY2lhbCBjYXNlLiBUaGVyZSB3ZXJlIHJlbWFpbmluZyB1bmh5ZHJhdGVkIG5vZGVzLiBXZSB0cmVhdFxuICAgICAgICAgICAgICAvLyB0aGlzIGFzIGEgbWlzbWF0Y2guIFJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLlxuICAgICAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBEaWQgbm90IGZpbmlzaCBoeWRyYXRpbmcsIGVpdGhlciBiZWNhdXNlIHRoaXMgaXMgdGhlIGluaXRpYWxcbiAgICAgICAgICAgICAgLy8gcmVuZGVyIG9yIGJlY2F1c2Ugc29tZXRoaW5nIHN1c3BlbmRlZC5cbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBDb250aW51ZSB3aXRoIHRoZSBub3JtYWwgU3VzcGVuc2UgcGF0aC5cblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAvLyBTb21ldGhpbmcgc3VzcGVuZGVkLiBSZS1yZW5kZXIgd2l0aCB0aGUgZmFsbGJhY2sgY2hpbGRyZW4uXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSByZW5kZXJMYW5lczsgLy8gRG8gbm90IHJlc2V0IHRoZSBlZmZlY3QgbGlzdC5cblxuICAgICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFjdHVhbER1cmF0aW9uKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9IC8vIERvbid0IGJ1YmJsZSBwcm9wZXJ0aWVzIGluIHRoaXMgY2FzZS5cblxuXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG5leHREaWRUaW1lb3V0ID0gbmV4dFN0YXRlICE9PSBudWxsO1xuICAgICAgICB2YXIgcHJldkRpZFRpbWVvdXQgPSBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQpIHtcbiAgICAgICAgICB2YXIgb2Zmc2NyZWVuRmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICB2YXIgX3ByZXZpb3VzQ2FjaGUgPSBudWxsO1xuXG4gICAgICAgICAgaWYgKG9mZnNjcmVlbkZpYmVyLmFsdGVybmF0ZSAhPT0gbnVsbCAmJiBvZmZzY3JlZW5GaWJlci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbCAmJiBvZmZzY3JlZW5GaWJlci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wgIT09IG51bGwpIHtcbiAgICAgICAgICAgIF9wcmV2aW91c0NhY2hlID0gb2Zmc2NyZWVuRmliZXIuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2w7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9jYWNoZSA9IG51bGw7XG5cbiAgICAgICAgICBpZiAob2Zmc2NyZWVuRmliZXIubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbCAmJiBvZmZzY3JlZW5GaWJlci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NhY2hlID0gb2Zmc2NyZWVuRmliZXIubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoX2NhY2hlICE9PSBfcHJldmlvdXNDYWNoZSkge1xuICAgICAgICAgICAgLy8gUnVuIHBhc3NpdmUgZWZmZWN0cyB0byByZXRhaW4vcmVsZWFzZSB0aGUgY2FjaGUuXG4gICAgICAgICAgICBvZmZzY3JlZW5GaWJlci5mbGFncyB8PSBQYXNzaXZlJDE7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIElmIHRoZSBzdXNwZW5kZWQgc3RhdGUgb2YgdGhlIGJvdW5kYXJ5IGNoYW5nZXMsIHdlIG5lZWQgdG8gc2NoZWR1bGVcbiAgICAgICAgLy8gYSBwYXNzaXZlIGVmZmVjdCwgd2hpY2ggaXMgd2hlbiB3ZSBwcm9jZXNzIHRoZSB0cmFuc2l0aW9uc1xuXG5cbiAgICAgICAgaWYgKG5leHREaWRUaW1lb3V0ICE9PSBwcmV2RGlkVGltZW91dCkge1xuICAgICAgICAgIC8vIGFuIGVmZmVjdCB0byB0b2dnbGUgdGhlIHN1YnRyZWUncyB2aXNpYmlsaXR5LiBXaGVuIHdlIHN3aXRjaCBmcm9tXG4gICAgICAgICAgLy8gZmFsbGJhY2sgLT4gcHJpbWFyeSwgdGhlIGlubmVyIE9mZnNjcmVlbiBmaWJlciBzY2hlZHVsZXMgdGhpcyBlZmZlY3RcbiAgICAgICAgICAvLyBhcyBwYXJ0IG9mIGl0cyBub3JtYWwgY29tcGxldGUgcGhhc2UuIEJ1dCB3aGVuIHdlIHN3aXRjaCBmcm9tXG4gICAgICAgICAgLy8gcHJpbWFyeSAtPiBmYWxsYmFjaywgdGhlIGlubmVyIE9mZnNjcmVlbiBmaWJlciBkb2VzIG5vdCBoYXZlIGEgY29tcGxldGVcbiAgICAgICAgICAvLyBwaGFzZS4gU28gd2UgbmVlZCB0byBzY2hlZHVsZSBpdHMgZWZmZWN0IGhlcmUuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBXZSBhbHNvIHVzZSB0aGlzIGZsYWcgdG8gY29ubmVjdC9kaXNjb25uZWN0IHRoZSBlZmZlY3RzLCBidXQgdGhlIHNhbWVcbiAgICAgICAgICAvLyBsb2dpYyBhcHBsaWVzOiB3aGVuIHJlLWNvbm5lY3RpbmcsIHRoZSBPZmZzY3JlZW4gZmliZXIncyBjb21wbGV0ZVxuICAgICAgICAgIC8vIHBoYXNlIHdpbGwgaGFuZGxlIHNjaGVkdWxpbmcgdGhlIGVmZmVjdC4gSXQncyBvbmx5IHdoZW4gdGhlIGZhbGxiYWNrXG4gICAgICAgICAgLy8gaXMgYWN0aXZlIHRoYXQgd2UgaGF2ZSB0byBkbyBhbnl0aGluZyBzcGVjaWFsLlxuXG5cbiAgICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQpIHtcbiAgICAgICAgICAgIHZhciBfb2Zmc2NyZWVuRmliZXIyID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgICBfb2Zmc2NyZWVuRmliZXIyLmZsYWdzIHw9IFZpc2liaWxpdHk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHJldHJ5UXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgICAgICAgc2NoZWR1bGVSZXRyeUVmZmVjdCh3b3JrSW5Qcm9ncmVzcywgcmV0cnlRdWV1ZSk7XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAge1xuICAgICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGltZSBzcGVudCBpbiBhIHRpbWVkIG91dCBTdXNwZW5zZSBzdWJ0cmVlIGFzIHBhcnQgb2YgdGhlIGJhc2UgZHVyYXRpb24uXG4gICAgICAgICAgICAgIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuXG4gICAgICAgICAgICAgIGlmIChwcmltYXJ5Q2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vICRGbG93Rml4TWVbdW5zYWZlLWFyaXRobWV0aWNdIEZsb3cgZG9lc24ndCBzdXBwb3J0IHR5cGUgY2FzdGluZyBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSAtPSBvcGVyYXRvclxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgIHByZXBhcmVQb3J0YWxNb3VudCh3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICB9XG5cbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcbiAgICAgIC8vIFBvcCBwcm92aWRlciBmaWJlclxuICAgICAgdmFyIGNvbnRleHQ7XG5cbiAgICAgIHtcbiAgICAgICAgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICB9XG5cbiAgICAgIHBvcFByb3ZpZGVyKGNvbnRleHQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gU2FtZSBhcyBjbGFzcyBjb21wb25lbnQgY2FzZS4gSSBwdXQgaXQgZG93biBoZXJlIHNvIHRoYXQgdGhlIHRhZ3MgYXJlXG4gICAgICAgIC8vIHNlcXVlbnRpYWwgdG8gZW5zdXJlIHRoaXMgc3dpdGNoIGlzIGNvbXBpbGVkIHRvIGEganVtcCB0YWJsZS5cbiAgICAgICAgdmFyIF9Db21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuXG4gICAgICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihfQ29tcG9uZW50KSkge1xuICAgICAgICAgIHBvcENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcFN1c3BlbnNlTGlzdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgcmVuZGVyU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgaW4gdGhlIGRlZmF1bHQsIFwiaW5kZXBlbmRlbnRcIiBtb2RlLlxuICAgICAgICAgIC8vIFdlIGRvbid0IGRvIGFueXRoaW5nIGluIHRoaXMgbW9kZS5cbiAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkaWRTdXNwZW5kQWxyZWFkeSA9ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzJDE7XG4gICAgICAgIHZhciByZW5kZXJlZFRhaWwgPSByZW5kZXJTdGF0ZS5yZW5kZXJpbmc7XG5cbiAgICAgICAgaWYgKHJlbmRlcmVkVGFpbCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIGp1c3QgcmVuZGVyZWQgdGhlIGhlYWQuXG4gICAgICAgICAgaWYgKCFkaWRTdXNwZW5kQWxyZWFkeSkge1xuICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgcGFzcy4gV2UgbmVlZCB0byBmaWd1cmUgb3V0IGlmIGFueXRoaW5nIGlzIHN0aWxsXG4gICAgICAgICAgICAvLyBzdXNwZW5kZWQgaW4gdGhlIHJlbmRlcmVkIHNldC5cbiAgICAgICAgICAgIC8vIElmIG5ldyBjb250ZW50IHVuc3VzcGVuZGVkLCBidXQgdGhlcmUncyBzdGlsbCBzb21lIGNvbnRlbnQgdGhhdFxuICAgICAgICAgICAgLy8gZGlkbid0LiBUaGVuIHdlIG5lZWQgdG8gZG8gYSBzZWNvbmQgcGFzcyB0aGF0IGZvcmNlcyBldmVyeXRoaW5nXG4gICAgICAgICAgICAvLyB0byBrZWVwIHNob3dpbmcgdGhlaXIgZmFsbGJhY2tzLlxuICAgICAgICAgICAgLy8gV2UgbWlnaHQgYmUgc3VzcGVuZGVkIGlmIHNvbWV0aGluZyBpbiB0aGlzIHJlbmRlciBwYXNzIHN1c3BlbmRlZCwgb3JcbiAgICAgICAgICAgIC8vIHNvbWV0aGluZyBpbiB0aGUgcHJldmlvdXMgY29tbWl0dGVkIHBhc3Mgc3VzcGVuZGVkLiBPdGhlcndpc2UsXG4gICAgICAgICAgICAvLyB0aGVyZSdzIG5vIGNoYW5jZSBzbyB3ZSBjYW4gc2tpcCB0aGUgZXhwZW5zaXZlIGNhbGwgdG9cbiAgICAgICAgICAgIC8vIGZpbmRGaXJzdFN1c3BlbmRlZC5cbiAgICAgICAgICAgIHZhciBjYW5ub3RCZVN1c3BlbmRlZCA9IHJlbmRlckhhc05vdFN1c3BlbmRlZFlldCgpICYmIChjdXJyZW50ID09PSBudWxsIHx8IChjdXJyZW50LmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MkMSk7XG5cbiAgICAgICAgICAgIGlmICghY2Fubm90QmVTdXNwZW5kZWQpIHtcbiAgICAgICAgICAgICAgdmFyIHJvdyA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuXG4gICAgICAgICAgICAgIHdoaWxlIChyb3cgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB2YXIgc3VzcGVuZGVkID0gZmluZEZpcnN0U3VzcGVuZGVkKHJvdyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoc3VzcGVuZGVkICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICBkaWRTdXNwZW5kQWxyZWFkeSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBmYWxzZSk7IC8vIElmIHRoaXMgaXMgYSBuZXdseSBzdXNwZW5kZWQgdHJlZSwgaXQgbWlnaHQgbm90IGdldCBjb21taXR0ZWQgYXNcbiAgICAgICAgICAgICAgICAgIC8vIHBhcnQgb2YgdGhlIHNlY29uZCBwYXNzLiBJbiB0aGF0IGNhc2Ugbm90aGluZyB3aWxsIHN1YnNjcmliZSB0b1xuICAgICAgICAgICAgICAgICAgLy8gaXRzIHRoZW5hYmxlcy4gSW5zdGVhZCwgd2UnbGwgdHJhbnNmZXIgaXRzIHRoZW5hYmxlcyB0byB0aGVcbiAgICAgICAgICAgICAgICAgIC8vIFN1c3BlbnNlTGlzdCBzbyB0aGF0IGl0IGNhbiByZXRyeSBpZiB0aGV5IHJlc29sdmUuXG4gICAgICAgICAgICAgICAgICAvLyBUaGVyZSBtaWdodCBiZSBtdWx0aXBsZSBvZiB0aGVzZSBpbiB0aGUgbGlzdCBidXQgc2luY2Ugd2UncmVcbiAgICAgICAgICAgICAgICAgIC8vIGdvaW5nIHRvIHdhaXQgZm9yIGFsbCBvZiB0aGVtIGFueXdheSwgaXQgZG9lc24ndCByZWFsbHkgbWF0dGVyXG4gICAgICAgICAgICAgICAgICAvLyB3aGljaCBvbmVzIGdldHMgdG8gcGluZy4gSW4gdGhlb3J5IHdlIGNvdWxkIGdldCBjbGV2ZXIgYW5kIGtlZXBcbiAgICAgICAgICAgICAgICAgIC8vIHRyYWNrIG9mIGhvdyBtYW55IGRlcGVuZGVuY2llcyByZW1haW4gYnV0IGl0IGdldHMgdHJpY2t5IGJlY2F1c2VcbiAgICAgICAgICAgICAgICAgIC8vIGluIHRoZSBtZWFudGltZSwgd2UgY2FuIGFkZC9yZW1vdmUvY2hhbmdlIGl0ZW1zIGFuZCBkZXBlbmRlbmNpZXMuXG4gICAgICAgICAgICAgICAgICAvLyBXZSBtaWdodCBiYWlsIG91dCBvZiB0aGUgbG9vcCBiZWZvcmUgZmluZGluZyBhbnkgYnV0IHRoYXRcbiAgICAgICAgICAgICAgICAgIC8vIGRvZXNuJ3QgbWF0dGVyIHNpbmNlIHRoYXQgbWVhbnMgdGhhdCB0aGUgb3RoZXIgYm91bmRhcmllcyB0aGF0XG4gICAgICAgICAgICAgICAgICAvLyB3ZSBkaWQgZmluZCBhbHJlYWR5IGhhcyB0aGVpciBsaXN0ZW5lcnMgYXR0YWNoZWQuXG5cbiAgICAgICAgICAgICAgICAgIHZhciBfcmV0cnlRdWV1ZSA9IHN1c3BlbmRlZC51cGRhdGVRdWV1ZTtcbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gX3JldHJ5UXVldWU7XG4gICAgICAgICAgICAgICAgICBzY2hlZHVsZVJldHJ5RWZmZWN0KHdvcmtJblByb2dyZXNzLCBfcmV0cnlRdWV1ZSk7IC8vIFJlcmVuZGVyIHRoZSB3aG9sZSBsaXN0LCBidXQgdGhpcyB0aW1lLCB3ZSdsbCBmb3JjZSBmYWxsYmFja3NcbiAgICAgICAgICAgICAgICAgIC8vIHRvIHN0YXkgaW4gcGxhY2UuXG4gICAgICAgICAgICAgICAgICAvLyBSZXNldCB0aGUgZWZmZWN0IGZsYWdzIGJlZm9yZSBkb2luZyB0aGUgc2Vjb25kIHBhc3Mgc2luY2UgdGhhdCdzIG5vdyBpbnZhbGlkLlxuICAgICAgICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGNoaWxkIGZpYmVycyB0byB0aGVpciBvcmlnaW5hbCBzdGF0ZS5cblxuICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3VidHJlZUZsYWdzID0gTm9GbGFncyQxO1xuICAgICAgICAgICAgICAgICAgcmVzZXRDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpOyAvLyBTZXQgdXAgdGhlIFN1c3BlbnNlIExpc3QgQ29udGV4dCB0byBmb3JjZSBzdXNwZW5zZSBhbmRcbiAgICAgICAgICAgICAgICAgIC8vIGltbWVkaWF0ZWx5IHJlcmVuZGVyIHRoZSBjaGlsZHJlbi5cblxuICAgICAgICAgICAgICAgICAgcHVzaFN1c3BlbnNlTGlzdENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHNldFNoYWxsb3dTdXNwZW5zZUxpc3RDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKSk7IC8vIERvbid0IGJ1YmJsZSBwcm9wZXJ0aWVzIGluIHRoaXMgY2FzZS5cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsICYmIG5vdyQxKCkgPiBnZXRSZW5kZXJUYXJnZXRUaW1lKCkpIHtcbiAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBhbHJlYWR5IHBhc3NlZCBvdXIgQ1BVIGRlYWRsaW5lIGJ1dCB3ZSBzdGlsbCBoYXZlIHJvd3NcbiAgICAgICAgICAgICAgLy8gbGVmdCBpbiB0aGUgdGFpbC4gV2UnbGwganVzdCBnaXZlIHVwIGZ1cnRoZXIgYXR0ZW1wdHMgdG8gcmVuZGVyXG4gICAgICAgICAgICAgIC8vIHRoZSBtYWluIGNvbnRlbnQgYW5kIG9ubHkgcmVuZGVyIGZhbGxiYWNrcy5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlO1xuICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gU2luY2Ugbm90aGluZyBhY3R1YWxseSBzdXNwZW5kZWQsIHRoZXJlIHdpbGwgbm90aGluZyB0byBwaW5nIHRoaXNcbiAgICAgICAgICAgICAgLy8gdG8gZ2V0IGl0IHN0YXJ0ZWQgYmFjayB1cCB0byBhdHRlbXB0IHRoZSBuZXh0IGl0ZW0uIFdoaWxlIGluIHRlcm1zXG4gICAgICAgICAgICAgIC8vIG9mIHByaW9yaXR5IHRoaXMgd29yayBoYXMgdGhlIHNhbWUgcHJpb3JpdHkgYXMgdGhpcyBjdXJyZW50IHJlbmRlcixcbiAgICAgICAgICAgICAgLy8gaXQncyBub3QgcGFydCBvZiB0aGUgc2FtZSB0cmFuc2l0aW9uIG9uY2UgdGhlIHRyYW5zaXRpb24gaGFzXG4gICAgICAgICAgICAgIC8vIGNvbW1pdHRlZC4gSWYgaXQncyBzeW5jLCB3ZSBzdGlsbCB3YW50IHRvIHlpZWxkIHNvIHRoYXQgaXQgY2FuIGJlXG4gICAgICAgICAgICAgIC8vIHBhaW50ZWQuIENvbmNlcHR1YWxseSwgdGhpcyBpcyByZWFsbHkgdGhlIHNhbWUgYXMgcGluZ2luZy5cbiAgICAgICAgICAgICAgLy8gV2UgY2FuIHVzZSBhbnkgUmV0cnlMYW5lIGV2ZW4gaWYgaXQncyB0aGUgb25lIGN1cnJlbnRseSByZW5kZXJpbmdcbiAgICAgICAgICAgICAgLy8gc2luY2Ugd2UncmUgbGVhdmluZyBpdCBiZWhpbmQgb24gdGhpcyBub2RlLlxuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gU29tZVJldHJ5TGFuZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBmYWxzZSk7XG4gICAgICAgICAgfSAvLyBOZXh0IHdlJ3JlIGdvaW5nIHRvIHJlbmRlciB0aGUgdGFpbC5cblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEFwcGVuZCB0aGUgcmVuZGVyZWQgcm93IHRvIHRoZSBjaGlsZCBsaXN0LlxuICAgICAgICAgIGlmICghZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIHZhciBfc3VzcGVuZGVkID0gZmluZEZpcnN0U3VzcGVuZGVkKHJlbmRlcmVkVGFpbCk7XG5cbiAgICAgICAgICAgIGlmIChfc3VzcGVuZGVkICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTsgLy8gRW5zdXJlIHdlIHRyYW5zZmVyIHRoZSB1cGRhdGUgcXVldWUgdG8gdGhlIHBhcmVudCBzbyB0aGF0IGl0IGRvZXNuJ3RcbiAgICAgICAgICAgICAgLy8gZ2V0IGxvc3QgaWYgdGhpcyByb3cgZW5kcyB1cCBkcm9wcGVkIGR1cmluZyBhIHNlY29uZCBwYXNzLlxuXG4gICAgICAgICAgICAgIHZhciBfcmV0cnlRdWV1ZTIgPSBfc3VzcGVuZGVkLnVwZGF0ZVF1ZXVlO1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IF9yZXRyeVF1ZXVlMjtcbiAgICAgICAgICAgICAgc2NoZWR1bGVSZXRyeUVmZmVjdCh3b3JrSW5Qcm9ncmVzcywgX3JldHJ5UXVldWUyKTtcbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCB0cnVlKTsgLy8gVGhpcyBtaWdodCBoYXZlIGJlZW4gbW9kaWZpZWQuXG5cbiAgICAgICAgICAgICAgaWYgKHJlbmRlclN0YXRlLnRhaWwgPT09IG51bGwgJiYgcmVuZGVyU3RhdGUudGFpbE1vZGUgPT09ICdoaWRkZW4nICYmICFyZW5kZXJlZFRhaWwuYWx0ZXJuYXRlICYmICFnZXRJc0h5ZHJhdGluZygpIC8vIFdlIGRvbid0IGN1dCBpdCBpZiB3ZSdyZSBoeWRyYXRpbmcuXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgLy8gV2UncmUgZG9uZS5cbiAgICAgICAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICggLy8gVGhlIHRpbWUgaXQgdG9vayB0byByZW5kZXIgbGFzdCByb3cgaXMgZ3JlYXRlciB0aGFuIHRoZSByZW1haW5pbmdcbiAgICAgICAgICAgIC8vIHRpbWUgd2UgaGF2ZSB0byByZW5kZXIuIFNvIHJlbmRlcmluZyBvbmUgbW9yZSByb3cgd291bGQgbGlrZWx5XG4gICAgICAgICAgICAvLyBleGNlZWQgaXQuXG4gICAgICAgICAgICBub3ckMSgpICogMiAtIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA+IGdldFJlbmRlclRhcmdldFRpbWUoKSAmJiByZW5kZXJMYW5lcyAhPT0gT2Zmc2NyZWVuTGFuZSkge1xuICAgICAgICAgICAgICAvLyBXZSBoYXZlIG5vdyBwYXNzZWQgb3VyIENQVSBkZWFkbGluZSBhbmQgd2UnbGwganVzdCBnaXZlIHVwIGZ1cnRoZXJcbiAgICAgICAgICAgICAgLy8gYXR0ZW1wdHMgdG8gcmVuZGVyIHRoZSBtYWluIGNvbnRlbnQgYW5kIG9ubHkgcmVuZGVyIGZhbGxiYWNrcy5cbiAgICAgICAgICAgICAgLy8gVGhlIGFzc3VtcHRpb24gaXMgdGhhdCB0aGlzIGlzIHVzdWFsbHkgZmFzdGVyLlxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgICAgICBkaWRTdXNwZW5kQWxyZWFkeSA9IHRydWU7XG4gICAgICAgICAgICAgIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgZmFsc2UpOyAvLyBTaW5jZSBub3RoaW5nIGFjdHVhbGx5IHN1c3BlbmRlZCwgdGhlcmUgd2lsbCBub3RoaW5nIHRvIHBpbmcgdGhpc1xuICAgICAgICAgICAgICAvLyB0byBnZXQgaXQgc3RhcnRlZCBiYWNrIHVwIHRvIGF0dGVtcHQgdGhlIG5leHQgaXRlbS4gV2hpbGUgaW4gdGVybXNcbiAgICAgICAgICAgICAgLy8gb2YgcHJpb3JpdHkgdGhpcyB3b3JrIGhhcyB0aGUgc2FtZSBwcmlvcml0eSBhcyB0aGlzIGN1cnJlbnQgcmVuZGVyLFxuICAgICAgICAgICAgICAvLyBpdCdzIG5vdCBwYXJ0IG9mIHRoZSBzYW1lIHRyYW5zaXRpb24gb25jZSB0aGUgdHJhbnNpdGlvbiBoYXNcbiAgICAgICAgICAgICAgLy8gY29tbWl0dGVkLiBJZiBpdCdzIHN5bmMsIHdlIHN0aWxsIHdhbnQgdG8geWllbGQgc28gdGhhdCBpdCBjYW4gYmVcbiAgICAgICAgICAgICAgLy8gcGFpbnRlZC4gQ29uY2VwdHVhbGx5LCB0aGlzIGlzIHJlYWxseSB0aGUgc2FtZSBhcyBwaW5naW5nLlxuICAgICAgICAgICAgICAvLyBXZSBjYW4gdXNlIGFueSBSZXRyeUxhbmUgZXZlbiBpZiBpdCdzIHRoZSBvbmUgY3VycmVudGx5IHJlbmRlcmluZ1xuICAgICAgICAgICAgICAvLyBzaW5jZSB3ZSdyZSBsZWF2aW5nIGl0IGJlaGluZCBvbiB0aGlzIG5vZGUuXG5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBTb21lUmV0cnlMYW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChyZW5kZXJTdGF0ZS5pc0JhY2t3YXJkcykge1xuICAgICAgICAgICAgLy8gVGhlIGVmZmVjdCBsaXN0IG9mIHRoZSBiYWNrd2FyZHMgdGFpbCB3aWxsIGhhdmUgYmVlbiBhZGRlZFxuICAgICAgICAgICAgLy8gdG8gdGhlIGVuZC4gVGhpcyBicmVha3MgdGhlIGd1YXJhbnRlZSB0aGF0IGxpZmUtY3ljbGVzIGZpcmUgaW5cbiAgICAgICAgICAgIC8vIHNpYmxpbmcgb3JkZXIgYnV0IHRoYXQgaXNuJ3QgYSBzdHJvbmcgZ3VhcmFudGVlIHByb21pc2VkIGJ5IFJlYWN0LlxuICAgICAgICAgICAgLy8gRXNwZWNpYWxseSBzaW5jZSB0aGVzZSBtaWdodCBhbHNvIGp1c3QgcG9wIGluIGR1cmluZyBmdXR1cmUgY29tbWl0cy5cbiAgICAgICAgICAgIC8vIEFwcGVuZCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0LlxuICAgICAgICAgICAgcmVuZGVyZWRUYWlsLnNpYmxpbmcgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVuZGVyZWRUYWlsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgcHJldmlvdXNTaWJsaW5nID0gcmVuZGVyU3RhdGUubGFzdDtcblxuICAgICAgICAgICAgaWYgKHByZXZpb3VzU2libGluZyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBwcmV2aW91c1NpYmxpbmcuc2libGluZyA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVuZGVyZWRUYWlsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS5sYXN0ID0gcmVuZGVyZWRUYWlsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gV2Ugc3RpbGwgaGF2ZSB0YWlsIHJvd3MgdG8gcmVuZGVyLlxuICAgICAgICAgIC8vIFBvcCBhIHJvdy5cbiAgICAgICAgICB2YXIgbmV4dCA9IHJlbmRlclN0YXRlLnRhaWw7XG4gICAgICAgICAgcmVuZGVyU3RhdGUucmVuZGVyaW5nID0gbmV4dDtcbiAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbmV4dC5zaWJsaW5nO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA9IG5vdyQxKCk7XG4gICAgICAgICAgbmV4dC5zaWJsaW5nID0gbnVsbDsgLy8gUmVzdG9yZSB0aGUgY29udGV4dC5cbiAgICAgICAgICAvLyBUT0RPOiBXZSBjYW4gcHJvYmFibHkganVzdCBhdm9pZCBwb3BwaW5nIGl0IGluc3RlYWQgYW5kIG9ubHlcbiAgICAgICAgICAvLyBzZXR0aW5nIGl0IHRoZSBmaXJzdCB0aW1lIHdlIGdvIGZyb20gbm90IHN1c3BlbmRlZCB0byBzdXNwZW5kZWQuXG5cbiAgICAgICAgICB2YXIgc3VzcGVuc2VDb250ZXh0ID0gc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50O1xuXG4gICAgICAgICAgaWYgKGRpZFN1c3BlbmRBbHJlYWR5KSB7XG4gICAgICAgICAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXRTaGFsbG93U3VzcGVuc2VMaXN0Q29udGV4dChzdXNwZW5zZUNvbnRleHQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjayk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VMaXN0Q29udGV4dChzdXNwZW5zZUNvbnRleHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHB1c2hTdXNwZW5zZUxpc3RDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUNvbnRleHQpOyAvLyBEbyBhIHBhc3Mgb3ZlciB0aGUgbmV4dCByb3cuXG4gICAgICAgICAgLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgaW4gdGhpcyBjYXNlLlxuXG4gICAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgICAgIH1cblxuICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAge1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBPZmZzY3JlZW5Db21wb25lbnQ6XG4gICAgY2FzZSBMZWdhY3lIaWRkZW5Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcFN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHBvcEhpZGRlbkNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgX25leHRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gICAgICAgIHZhciBuZXh0SXNIaWRkZW4gPSBfbmV4dFN0YXRlICE9PSBudWxsOyAvLyBTY2hlZHVsZSBhIFZpc2liaWxpdHkgZWZmZWN0IGlmIHRoZSB2aXNpYmlsaXR5IGhhcyBjaGFuZ2VkXG5cbiAgICAgICAge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgX3ByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICAgIHZhciBwcmV2SXNIaWRkZW4gPSBfcHJldlN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgICAgICBpZiAocHJldklzSGlkZGVuICE9PSBuZXh0SXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gT24gaW5pdGlhbCBtb3VudCwgd2Ugb25seSBuZWVkIGEgVmlzaWJpbGl0eSBlZmZlY3QgaWYgdGhlIHRyZWVcbiAgICAgICAgICAgIC8vIGlzIGhpZGRlbi5cbiAgICAgICAgICAgIGlmIChuZXh0SXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5leHRJc0hpZGRlbiB8fCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgZm9yIGhpZGRlbiBjaGlsZHJlbiB1bmxlc3Mgd2UncmUgcmVuZGVyaW5nXG4gICAgICAgICAgLy8gYXQgb2Zmc2NyZWVuIHByaW9yaXR5LlxuICAgICAgICAgIGlmIChpbmNsdWRlc1NvbWVMYW5lKHJlbmRlckxhbmVzLCBPZmZzY3JlZW5MYW5lKSAmJiAvLyBBbHNvIGRvbid0IGJ1YmJsZSBpZiB0aGUgdHJlZSBzdXNwZW5kZWRcbiAgICAgICAgICAod29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9MYW5lcykge1xuICAgICAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7IC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhbiBpbnNlcnRpb24gb3IgdXBkYXRlIGluIHRoZSBoaWRkZW4gc3VidHJlZS5cbiAgICAgICAgICAgIC8vIElmIHNvLCB3ZSBuZWVkIHRvIGhpZGUgdGhvc2Ugbm9kZXMgaW4gdGhlIGNvbW1pdCBwaGFzZSwgc29cbiAgICAgICAgICAgIC8vIHNjaGVkdWxlIGEgdmlzaWJpbGl0eSBlZmZlY3QuXG5cbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5zdWJ0cmVlRmxhZ3MgJiAoUGxhY2VtZW50IHwgVXBkYXRlKSkge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBWaXNpYmlsaXR5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBvZmZzY3JlZW5RdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5RdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHZhciBfcmV0cnlRdWV1ZTMgPSBvZmZzY3JlZW5RdWV1ZS5yZXRyeVF1ZXVlO1xuICAgICAgICAgIHNjaGVkdWxlUmV0cnlFZmZlY3Qod29ya0luUHJvZ3Jlc3MsIF9yZXRyeVF1ZXVlMyk7XG4gICAgICAgIH1cblxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9wcmV2aW91c0NhY2hlMiA9IG51bGw7XG5cbiAgICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX3ByZXZpb3VzQ2FjaGUyID0gY3VycmVudC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfY2FjaGUyID0gbnVsbDtcblxuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsICYmIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sICE9PSBudWxsKSB7XG4gICAgICAgICAgICBfY2FjaGUyID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoX2NhY2hlMiAhPT0gX3ByZXZpb3VzQ2FjaGUyKSB7XG4gICAgICAgICAgICAvLyBSdW4gcGFzc2l2ZSBlZmZlY3RzIHRvIHJldGFpbi9yZWxlYXNlIHRoZSBjYWNoZS5cbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBhc3NpdmUkMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwb3BUcmFuc2l0aW9uKHdvcmtJblByb2dyZXNzLCBjdXJyZW50KTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9wcmV2aW91c0NhY2hlMyA9IG51bGw7XG5cbiAgICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX3ByZXZpb3VzQ2FjaGUzID0gY3VycmVudC5tZW1vaXplZFN0YXRlLmNhY2hlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfY2FjaGUzID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZS5jYWNoZTtcblxuICAgICAgICAgIGlmIChfY2FjaGUzICE9PSBfcHJldmlvdXNDYWNoZTMpIHtcbiAgICAgICAgICAgIC8vIFJ1biBwYXNzaXZlIGVmZmVjdHMgdG8gcmV0YWluL3JlbGVhc2UgdGhlIGNhY2hlLlxuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGFzc2l2ZSQxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHBvcENhY2hlUHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHVuaXQgb2Ygd29yayB0YWcgKFwiICsgd29ya0luUHJvZ3Jlc3MudGFnICsgXCIpLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gXCIgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiB1bndpbmRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cbiAgcG9wVHJlZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuXG4gIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIENvbXBvbmVudCA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG5cbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBmbGFncyA9IHdvcmtJblByb2dyZXNzLmZsYWdzO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFNob3VsZENhcHR1cmUpIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IGZsYWdzICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xuXG4gICAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAgIHRyYW5zZmVyQWN0dWFsRHVyYXRpb24od29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcblxuICAgICAgICB7XG4gICAgICAgICAgcG9wQ2FjaGVQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH1cbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciBfZmxhZ3MgPSB3b3JrSW5Qcm9ncmVzcy5mbGFncztcblxuICAgICAgICBpZiAoKF9mbGFncyAmIFNob3VsZENhcHR1cmUpICE9PSBOb0ZsYWdzJDEgJiYgKF9mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAvLyBUaGVyZSB3YXMgYW4gZXJyb3IgZHVyaW5nIHJlbmRlciB0aGF0IHdhc24ndCBjYXB0dXJlZCBieSBhIHN1c3BlbnNlXG4gICAgICAgICAgLy8gYm91bmRhcnkuIERvIGEgc2Vjb25kIHBhc3Mgb24gdGhlIHJvb3QgdG8gdW5tb3VudCB0aGUgY2hpbGRyZW4uXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSBfZmxhZ3MgJiB+U2hvdWxkQ2FwdHVyZSB8IERpZENhcHR1cmU7XG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xuICAgICAgICB9IC8vIFdlIHVud291bmQgdG8gdGhlIHJvb3Qgd2l0aG91dCBjb21wbGV0aW5nIGl0LiBFeGl0LlxuXG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RIb2lzdGFibGU6XG4gICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETzogcG9wSHlkcmF0aW9uU3RhdGVcbiAgICAgICAgcG9wSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcFN1c3BlbnNlSGFuZGxlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciBzdXNwZW5zZVN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCAmJiBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RocmV3IGluIG5ld2x5IG1vdW50ZWQgZGVoeWRyYXRlZCBjb21wb25lbnQuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluICcgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfZmxhZ3MyID0gd29ya0luUHJvZ3Jlc3MuZmxhZ3M7XG5cbiAgICAgICAgaWYgKF9mbGFnczIgJiBTaG91bGRDYXB0dXJlKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSBfZmxhZ3MyICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlOyAvLyBDYXB0dXJlZCBhIHN1c3BlbnNlIGVmZmVjdC4gUmUtcmVuZGVyIHRoZSBib3VuZGFyeS5cblxuICAgICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFjdHVhbER1cmF0aW9uKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUxpc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTsgLy8gU3VzcGVuc2VMaXN0IGRvZXNuJ3QgYWN0dWFsbHkgY2F0Y2ggYW55dGhpbmcuIEl0IHNob3VsZCd2ZSBiZWVuXG4gICAgICAgIC8vIGNhdWdodCBieSBhIG5lc3RlZCBib3VuZGFyeS4gSWYgbm90LCBpdCBzaG91bGQgYnViYmxlIHRocm91Z2guXG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgICB2YXIgY29udGV4dDtcblxuICAgICAge1xuICAgICAgICBjb250ZXh0ID0gd29ya0luUHJvZ3Jlc3MudHlwZS5fY29udGV4dDtcbiAgICAgIH1cblxuICAgICAgcG9wUHJvdmlkZXIoY29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wU3VzcGVuc2VIYW5kbGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcG9wSGlkZGVuQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHBvcFRyYW5zaXRpb24od29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQpO1xuICAgICAgICB2YXIgX2ZsYWdzMyA9IHdvcmtJblByb2dyZXNzLmZsYWdzO1xuXG4gICAgICAgIGlmIChfZmxhZ3MzICYgU2hvdWxkQ2FwdHVyZSkge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzID0gX2ZsYWdzMyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTsgLy8gQ2FwdHVyZWQgYSBzdXNwZW5zZSBlZmZlY3QuIFJlLXJlbmRlciB0aGUgYm91bmRhcnkuXG5cbiAgICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgICAgdHJhbnNmZXJBY3R1YWxEdXJhdGlvbih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BDYWNoZVByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG5cbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVud2luZEludGVycnVwdGVkV29yayhjdXJyZW50LCBpbnRlcnJ1cHRlZFdvcmssIHJlbmRlckxhbmVzKSB7XG4gIC8vIE5vdGU6IFRoaXMgaW50ZW50aW9uYWxseSBkb2Vzbid0IGNoZWNrIGlmIHdlJ3JlIGh5ZHJhdGluZyBiZWNhdXNlIGNvbXBhcmluZ1xuICAvLyB0byB0aGUgY3VycmVudCB0cmVlIHByb3ZpZGVyIGZpYmVyIGlzIGp1c3QgYXMgZmFzdCBhbmQgbGVzcyBlcnJvci1wcm9uZS5cbiAgLy8gSWRlYWxseSB3ZSB3b3VsZCBoYXZlIGEgc3BlY2lhbCB2ZXJzaW9uIG9mIHRoZSB3b3JrIGxvb3Agb25seVxuICAvLyBmb3IgaHlkcmF0aW9uLlxuICBwb3BUcmVlQ29udGV4dChpbnRlcnJ1cHRlZFdvcmspO1xuXG4gIHN3aXRjaCAoaW50ZXJydXB0ZWRXb3JrLnRhZykge1xuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBjaGlsZENvbnRleHRUeXBlcyA9IGludGVycnVwdGVkV29yay50eXBlLmNoaWxkQ29udGV4dFR5cGVzO1xuXG4gICAgICAgIGlmIChjaGlsZENvbnRleHRUeXBlcyAhPT0gbnVsbCAmJiBjaGlsZENvbnRleHRUeXBlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcG9wQ29udGV4dChpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuXG4gICAgICAgIHtcbiAgICAgICAgICBwb3BDYWNoZVByb3ZpZGVyKGludGVycnVwdGVkV29yayk7XG4gICAgICAgIH1cbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcihpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgICBwb3BUb3BMZXZlbENvbnRleHRPYmplY3QoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RIb2lzdGFibGU6XG4gICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wSG9zdENvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICBwb3BIb3N0Q29udGFpbmVyKGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICBwb3BTdXNwZW5zZUhhbmRsZXIoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICBwb3BTdXNwZW5zZUxpc3RDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgdmFyIGNvbnRleHQ7XG5cbiAgICAgIHtcbiAgICAgICAgY29udGV4dCA9IGludGVycnVwdGVkV29yay50eXBlLl9jb250ZXh0O1xuICAgICAgfVxuXG4gICAgICBwb3BQcm92aWRlcihjb250ZXh0LCBpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHBvcFN1c3BlbnNlSGFuZGxlcihpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgcG9wSGlkZGVuQ29udGV4dChpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgcG9wVHJhbnNpdGlvbihpbnRlcnJ1cHRlZFdvcmssIGN1cnJlbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BDYWNoZVByb3ZpZGVyKGludGVycnVwdGVkV29yayk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbnZhciBmYWtlTm9kZSA9IG51bGw7XG5cbntcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cuZGlzcGF0Y2hFdmVudCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cbiAgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUV2ZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZmFrZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdyZWFjdCcpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwobmFtZSwgZnVuYywgY29udGV4dCkge1xuICB7XG4gICAgLy8gSW4gREVWIG1vZGUsIHdlIHVzZSBhIHNwZWNpYWwgdmVyc2lvblxuICAgIC8vIHRoYXQgcGxheXMgbW9yZSBuaWNlbHkgd2l0aCB0aGUgYnJvd3NlcidzIERldlRvb2xzLiBUaGUgaWRlYSBpcyB0byBwcmVzZXJ2ZVxuICAgIC8vIFwiUGF1c2Ugb24gZXhjZXB0aW9uc1wiIGJlaGF2aW9yLiBCZWNhdXNlIFJlYWN0IHdyYXBzIGFsbCB1c2VyLXByb3ZpZGVkXG4gICAgLy8gZnVuY3Rpb25zIGluIGludm9rZUd1YXJkZWRDYWxsYmFjaywgYW5kIHRoZSBwcm9kdWN0aW9uIHZlcnNpb24gb2ZcbiAgICAvLyBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgdXNlcyBhIHRyeS1jYXRjaCwgYWxsIHVzZXIgZXhjZXB0aW9ucyBhcmUgdHJlYXRlZFxuICAgIC8vIGxpa2UgY2F1Z2h0IGV4Y2VwdGlvbnMsIGFuZCB0aGUgRGV2VG9vbHMgd29uJ3QgcGF1c2UgdW5sZXNzIHRoZSBkZXZlbG9wZXJcbiAgICAvLyB0YWtlcyB0aGUgZXh0cmEgc3RlcCBvZiBlbmFibGluZyBwYXVzZSBvbiBjYXVnaHQgZXhjZXB0aW9ucy4gVGhpcyBpc1xuICAgIC8vIHVuaW50dWl0aXZlLCB0aG91Z2gsIGJlY2F1c2UgZXZlbiB0aG91Z2ggUmVhY3QgaGFzIGNhdWdodCB0aGUgZXJyb3IsIGZyb21cbiAgICAvLyB0aGUgZGV2ZWxvcGVyJ3MgcGVyc3BlY3RpdmUsIHRoZSBlcnJvciBpcyB1bmNhdWdodC5cbiAgICAvL1xuICAgIC8vIFRvIHByZXNlcnZlIHRoZSBleHBlY3RlZCBcIlBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBiZWhhdmlvciwgd2UgZG9uJ3QgdXNlIGFcbiAgICAvLyB0cnktY2F0Y2ggaW4gREVWLiBJbnN0ZWFkLCB3ZSBzeW5jaHJvbm91c2x5IGRpc3BhdGNoIGEgZmFrZSBldmVudCB0byBhIGZha2VcbiAgICAvLyBET00gbm9kZSwgYW5kIGNhbGwgdGhlIHVzZXItcHJvdmlkZWQgY2FsbGJhY2sgZnJvbSBpbnNpZGUgYW4gZXZlbnQgaGFuZGxlclxuICAgIC8vIGZvciB0aGF0IGZha2UgZXZlbnQuIElmIHRoZSBjYWxsYmFjayB0aHJvd3MsIHRoZSBlcnJvciBpcyBcImNhcHR1cmVkXCIgdXNpbmdcbiAgICAvLyBldmVudCBsb29wIGNvbnRleHQsIGl0IGRvZXMgbm90IGludGVycnVwdCB0aGUgbm9ybWFsIHByb2dyYW0gZmxvdy5cbiAgICAvLyBFZmZlY3RpdmVseSwgdGhpcyBnaXZlcyB1cyB0cnktY2F0Y2ggYmVoYXZpb3Igd2l0aG91dCBhY3R1YWxseSB1c2luZ1xuICAgIC8vIHRyeS1jYXRjaC4gTmVhdCFcbiAgICAvLyBmYWtlTm9kZSBzaWduaWZpZXMgd2UgYXJlIGluIGFuIGVudmlyb25tZW50IHdpdGggYSBkb2N1bWVudCBhbmQgd2luZG93IG9iamVjdFxuICAgIGlmIChmYWtlTm9kZSkge1xuICAgICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpO1xuICAgICAgdmFyIGRpZENhbGwgPSBmYWxzZTsgLy8gS2VlcHMgdHJhY2sgb2Ygd2hldGhlciB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayB0aHJldyBhbiBlcnJvci4gV2VcbiAgICAgIC8vIHNldCB0aGlzIHRvIHRydWUgYXQgdGhlIGJlZ2lubmluZywgdGhlbiBzZXQgaXQgdG8gZmFsc2UgcmlnaHQgYWZ0ZXJcbiAgICAgIC8vIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLiBJZiB0aGUgZnVuY3Rpb24gZXJyb3JzLCBgZGlkRXJyb3JgIHdpbGwgbmV2ZXIgYmVcbiAgICAgIC8vIHNldCB0byBmYWxzZS4gVGhpcyBzdHJhdGVneSB3b3JrcyBldmVuIGlmIHRoZSBicm93c2VyIGlzIGZsYWt5IGFuZFxuICAgICAgLy8gZmFpbHMgdG8gY2FsbCBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIsIGJlY2F1c2UgaXQgZG9lc24ndCByZWx5IG9uXG4gICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgYXQgYWxsLlxuXG4gICAgICB2YXIgZGlkRXJyb3IgPSB0cnVlOyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgdmFsdWUgb2Ygd2luZG93LmV2ZW50IHNvIHRoYXQgd2UgY2FuIHJlc2V0IGl0XG4gICAgICAvLyBkdXJpbmcgdGhlIGNhbGxiYWNrIHRvIGxldCB1c2VyIGNvZGUgYWNjZXNzIHdpbmRvdy5ldmVudCBpbiB0aGVcbiAgICAgIC8vIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBpdC5cblxuICAgICAgdmFyIHdpbmRvd0V2ZW50ID0gd2luZG93LmV2ZW50OyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgZGVzY3JpcHRvciBvZiB3aW5kb3cuZXZlbnQgdG8gcmVzdG9yZSBpdCBhZnRlciBldmVudFxuICAgICAgLy8gZGlzcGF0Y2hpbmc6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2ODhcblxuICAgICAgdmFyIHdpbmRvd0V2ZW50RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnZXZlbnQnKTtcblxuICAgICAgdmFyIHJlc3RvcmVBZnRlckRpc3BhdGNoID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyBXZSBpbW1lZGlhdGVseSByZW1vdmUgdGhlIGNhbGxiYWNrIGZyb20gZXZlbnQgbGlzdGVuZXJzIHNvIHRoYXRcbiAgICAgICAgLy8gbmVzdGVkIGBpbnZva2VHdWFyZGVkQ2FsbGJhY2tgIGNhbGxzIGRvIG5vdCBjbGFzaC4gT3RoZXJ3aXNlLCBhXG4gICAgICAgIC8vIG5lc3RlZCBjYWxsIHdvdWxkIHRyaWdnZXIgdGhlIGZha2UgZXZlbnQgaGFuZGxlcnMgb2YgYW55IGNhbGwgaGlnaGVyXG4gICAgICAgIC8vIGluIHRoZSBzdGFjay5cbiAgICAgICAgZmFrZU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihldnRUeXBlLCBjYWxsQ2FsbGJhY2ssIGZhbHNlKTsgLy8gV2UgY2hlY2sgZm9yIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnZXZlbnQnKSB0byBwcmV2ZW50IHRoZVxuICAgICAgICAvLyB3aW5kb3cuZXZlbnQgYXNzaWdubWVudCBpbiBib3RoIElFIDw9IDEwIGFzIHRoZXkgdGhyb3cgYW4gZXJyb3JcbiAgICAgICAgLy8gXCJNZW1iZXIgbm90IGZvdW5kXCIgaW4gc3RyaWN0IG1vZGUsIGFuZCBpbiBGaXJlZm94IHdoaWNoIGRvZXMgbm90XG4gICAgICAgIC8vIHN1cHBvcnQgd2luZG93LmV2ZW50LlxuXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93LmV2ZW50ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuaGFzT3duUHJvcGVydHkoJ2V2ZW50JykpIHtcbiAgICAgICAgICB3aW5kb3cuZXZlbnQgPSB3aW5kb3dFdmVudDtcbiAgICAgICAgfVxuICAgICAgfTsgLy8gQ3JlYXRlIGFuIGV2ZW50IGhhbmRsZXIgZm9yIG91ciBmYWtlIGV2ZW50LiBXZSB3aWxsIHN5bmNocm9ub3VzbHlcbiAgICAgIC8vIGRpc3BhdGNoIG91ciBmYWtlIGV2ZW50IHVzaW5nIGBkaXNwYXRjaEV2ZW50YC4gSW5zaWRlIHRoZSBoYW5kbGVyLCB3ZVxuICAgICAgLy8gY2FsbCB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjay5cbiAgICAgIC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cblxuXG4gICAgICB2YXIgX2Z1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICAgICAgdmFyIGNhbGxDYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZGlkQ2FsbCA9IHRydWU7XG4gICAgICAgIHJlc3RvcmVBZnRlckRpc3BhdGNoKCk7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLWNhbGxdIEZsb3cgZG9lc24ndCB1bmRlcnN0YW5kIHRoZSBhcmd1bWVudHMgc3BsaWNpbmcuXG5cbiAgICAgICAgZnVuYy5hcHBseShjb250ZXh0LCBfZnVuY0FyZ3MpO1xuICAgICAgICBkaWRFcnJvciA9IGZhbHNlO1xuICAgICAgfTsgLy8gQ3JlYXRlIGEgZ2xvYmFsIGVycm9yIGV2ZW50IGhhbmRsZXIuIFdlIHVzZSB0aGlzIHRvIGNhcHR1cmUgdGhlIHZhbHVlXG4gICAgICAvLyB0aGF0IHdhcyB0aHJvd24uIEl0J3MgcG9zc2libGUgdGhhdCB0aGlzIGVycm9yIGhhbmRsZXIgd2lsbCBmaXJlIG1vcmVcbiAgICAgIC8vIHRoYW4gb25jZTsgZm9yIGV4YW1wbGUsIGlmIG5vbi1SZWFjdCBjb2RlIGFsc28gY2FsbHMgYGRpc3BhdGNoRXZlbnRgXG4gICAgICAvLyBhbmQgYSBoYW5kbGVyIGZvciB0aGF0IGV2ZW50IHRocm93cy4gV2Ugc2hvdWxkIGJlIHJlc2lsaWVudCB0byBtb3N0IG9mXG4gICAgICAvLyB0aG9zZSBjYXNlcy4gRXZlbiBpZiBvdXIgZXJyb3IgZXZlbnQgaGFuZGxlciBmaXJlcyBtb3JlIHRoYW4gb25jZSwgdGhlXG4gICAgICAvLyBsYXN0IGVycm9yIGV2ZW50IGlzIGFsd2F5cyB1c2VkLiBJZiB0aGUgY2FsbGJhY2sgYWN0dWFsbHkgZG9lcyBlcnJvcixcbiAgICAgIC8vIHdlIGtub3cgdGhhdCB0aGUgbGFzdCBlcnJvciBldmVudCBpcyB0aGUgY29ycmVjdCBvbmUsIGJlY2F1c2UgaXQncyBub3RcbiAgICAgIC8vIHBvc3NpYmxlIGZvciBhbnl0aGluZyBlbHNlIHRvIGhhdmUgaGFwcGVuZWQgaW4gYmV0d2VlbiBvdXIgY2FsbGJhY2tcbiAgICAgIC8vIGVycm9yaW5nIGFuZCB0aGUgY29kZSB0aGF0IGZvbGxvd3MgdGhlIGBkaXNwYXRjaEV2ZW50YCBjYWxsIGJlbG93LiBJZlxuICAgICAgLy8gdGhlIGNhbGxiYWNrIGRvZXNuJ3QgZXJyb3IsIGJ1dCB0aGUgZXJyb3IgZXZlbnQgd2FzIGZpcmVkLCB3ZSBrbm93IHRvXG4gICAgICAvLyBpZ25vcmUgaXQgYmVjYXVzZSBgZGlkRXJyb3JgIHdpbGwgYmUgZmFsc2UsIGFzIGRlc2NyaWJlZCBhYm92ZS5cblxuXG4gICAgICB2YXIgZXJyb3I7IC8vIFVzZSB0aGlzIHRvIHRyYWNrIHdoZXRoZXIgdGhlIGVycm9yIGV2ZW50IGlzIGV2ZXIgY2FsbGVkLlxuXG4gICAgICB2YXIgZGlkU2V0RXJyb3IgPSBmYWxzZTtcbiAgICAgIHZhciBpc0Nyb3NzT3JpZ2luRXJyb3IgPSBmYWxzZTtcblxuICAgICAgdmFyIGhhbmRsZVdpbmRvd0Vycm9yID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIGVycm9yID0gZXZlbnQuZXJyb3I7XG4gICAgICAgIGRpZFNldEVycm9yID0gdHJ1ZTtcblxuICAgICAgICBpZiAoZXJyb3IgPT09IG51bGwgJiYgZXZlbnQuY29sbm8gPT09IDAgJiYgZXZlbnQubGluZW5vID09PSAwKSB7XG4gICAgICAgICAgaXNDcm9zc09yaWdpbkVycm9yID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgLy8gU29tZSBvdGhlciBlcnJvciBoYW5kbGVyIGhhcyBwcmV2ZW50ZWQgZGVmYXVsdC5cbiAgICAgICAgICAvLyBCcm93c2VycyBzaWxlbmNlIHRoZSBlcnJvciByZXBvcnQgaWYgdGhpcyBoYXBwZW5zLlxuICAgICAgICAgIC8vIFdlJ2xsIHJlbWVtYmVyIHRoaXMgdG8gbGF0ZXIgZGVjaWRlIHdoZXRoZXIgdG8gbG9nIGl0IG9yIG5vdC5cbiAgICAgICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBlcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGlubmVyKSB7Ly8gSWdub3JlLlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTsgLy8gQ3JlYXRlIGEgZmFrZSBldmVudCB0eXBlLlxuXG5cbiAgICAgIHZhciBldnRUeXBlID0gXCJyZWFjdC1cIiArIChuYW1lID8gbmFtZSA6ICdpbnZva2VndWFyZGVkY2FsbGJhY2snKTsgLy8gQXR0YWNoIG91ciBldmVudCBoYW5kbGVyc1xuXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVXaW5kb3dFcnJvcik7XG4gICAgICBmYWtlTm9kZS5hZGRFdmVudExpc3RlbmVyKGV2dFR5cGUsIGNhbGxDYWxsYmFjaywgZmFsc2UpOyAvLyBTeW5jaHJvbm91c2x5IGRpc3BhdGNoIG91ciBmYWtlIGV2ZW50LiBJZiB0aGUgdXNlci1wcm92aWRlZCBmdW5jdGlvblxuICAgICAgLy8gZXJyb3JzLCBpdCB3aWxsIHRyaWdnZXIgb3VyIGdsb2JhbCBlcnJvciBoYW5kbGVyLlxuXG4gICAgICBldnQuaW5pdEV2ZW50KGV2dFR5cGUsIGZhbHNlLCBmYWxzZSk7XG4gICAgICBmYWtlTm9kZS5kaXNwYXRjaEV2ZW50KGV2dCk7XG5cbiAgICAgIGlmICh3aW5kb3dFdmVudERlc2NyaXB0b3IpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgJ2V2ZW50Jywgd2luZG93RXZlbnREZXNjcmlwdG9yKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGRpZENhbGwgJiYgZGlkRXJyb3IpIHtcbiAgICAgICAgaWYgKCFkaWRTZXRFcnJvcikge1xuICAgICAgICAgIC8vIFRoZSBjYWxsYmFjayBlcnJvcmVkLCBidXQgdGhlIGVycm9yIGV2ZW50IG5ldmVyIGZpcmVkLlxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IoJ0FuIGVycm9yIHdhcyB0aHJvd24gaW5zaWRlIG9uZSBvZiB5b3VyIGNvbXBvbmVudHMsIGJ1dCBSZWFjdCAnICsgXCJkb2Vzbid0IGtub3cgd2hhdCBpdCB3YXMuIFRoaXMgaXMgbGlrZWx5IGR1ZSB0byBicm93c2VyIFwiICsgJ2ZsYWtpbmVzcy4gUmVhY3QgZG9lcyBpdHMgYmVzdCB0byBwcmVzZXJ2ZSB0aGUgXCJQYXVzZSBvbiAnICsgJ2V4Y2VwdGlvbnNcIiBiZWhhdmlvciBvZiB0aGUgRGV2VG9vbHMsIHdoaWNoIHJlcXVpcmVzIHNvbWUgJyArIFwiREVWLW1vZGUgb25seSB0cmlja3MuIEl0J3MgcG9zc2libGUgdGhhdCB0aGVzZSBkb24ndCB3b3JrIGluIFwiICsgJ3lvdXIgYnJvd3Nlci4gVHJ5IHRyaWdnZXJpbmcgdGhlIGVycm9yIGluIHByb2R1Y3Rpb24gbW9kZSwgJyArICdvciBzd2l0Y2hpbmcgdG8gYSBtb2Rlcm4gYnJvd3Nlci4gSWYgeW91IHN1c3BlY3QgdGhhdCB0aGlzIGlzICcgKyAnYWN0dWFsbHkgYW4gaXNzdWUgd2l0aCBSZWFjdCwgcGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNDcm9zc09yaWdpbkVycm9yKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICBlcnJvciA9IG5ldyBFcnJvcihcIkEgY3Jvc3Mtb3JpZ2luIGVycm9yIHdhcyB0aHJvd24uIFJlYWN0IGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gXCIgKyAndGhlIGFjdHVhbCBlcnJvciBvYmplY3QgaW4gZGV2ZWxvcG1lbnQuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jcm9zc29yaWdpbi1lcnJvciBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25FcnJvcihlcnJvcik7XG4gICAgICB9IC8vIFJlbW92ZSBvdXIgZXZlbnQgbGlzdGVuZXJzXG5cblxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgaGFuZGxlV2luZG93RXJyb3IpO1xuXG4gICAgICBpZiAoZGlkQ2FsbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTb21ldGhpbmcgd2VudCByZWFsbHkgd3JvbmcsIGFuZCBvdXIgZXZlbnQgd2FzIG5vdCBkaXNwYXRjaGVkLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE2NzM0XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTY1ODVcbiAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHRoZSBwcm9kdWN0aW9uIGltcGxlbWVudGF0aW9uLlxuICAgICAgICByZXN0b3JlQWZ0ZXJEaXNwYXRjaCgpOyAvLyB3ZSBmYWxsIHRocm91Z2ggYW5kIGNhbGwgdGhlIHByb2QgdmVyc2lvbiBpbnN0ZWFkXG4gICAgICB9XG4gICAgfSAvLyBXZSBvbmx5IGdldCBoZXJlIGlmIHdlIGFyZSBpbiBhbiBlbnZpcm9ubWVudCB0aGF0IGVpdGhlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSBicm93c2VyXG4gICAgLy8gdmFyaWFudCBvciB3ZSBoYWQgdHJvdWJsZSBnZXR0aW5nIHRoZSBicm93c2VyIHRvIGVtaXQgdGhlIGVycm9yLlxuICAgIC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cblxuXG4gICAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICAgIHRyeSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYWxsXSBGbG93IGRvZXNuJ3QgdW5kZXJzdGFuZCB0aGUgYXJndW1lbnRzIHNwbGljaW5nLlxuICAgICAgZnVuYy5hcHBseShjb250ZXh0LCBmdW5jQXJncyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMub25FcnJvcihlcnJvcik7XG4gICAgfVxuICB9XG59XG5cbnZhciBoYXNFcnJvciA9IGZhbHNlO1xudmFyIGNhdWdodEVycm9yID0gbnVsbDsgLy8gVXNlZCBieSBldmVudCBzeXN0ZW0gdG8gY2FwdHVyZS9yZXRocm93IHRoZSBmaXJzdCBlcnJvci5cblxudmFyIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xudmFyIHJldGhyb3dFcnJvciA9IG51bGw7XG52YXIgcmVwb3J0ZXIgPSB7XG4gIG9uRXJyb3I6IGZ1bmN0aW9uIChlcnJvcikge1xuICAgIGhhc0Vycm9yID0gdHJ1ZTtcbiAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xuICB9XG59O1xuLyoqXG4gKiBDYWxsIGEgZnVuY3Rpb24gd2hpbGUgZ3VhcmRpbmcgYWdhaW5zdCBlcnJvcnMgdGhhdCBoYXBwZW5zIHdpdGhpbiBpdC5cbiAqIFJldHVybnMgYW4gZXJyb3IgaWYgaXQgdGhyb3dzLCBvdGhlcndpc2UgbnVsbC5cbiAqXG4gKiBJbiBwcm9kdWN0aW9uLCB0aGlzIGlzIGltcGxlbWVudGVkIHVzaW5nIGEgdHJ5LWNhdGNoLiBUaGUgcmVhc29uIHdlIGRvbid0XG4gKiB1c2UgYSB0cnktY2F0Y2ggZGlyZWN0bHkgaXMgc28gdGhhdCB3ZSBjYW4gc3dhcCBvdXQgYSBkaWZmZXJlbnRcbiAqIGltcGxlbWVudGF0aW9uIGluIERFViBtb2RlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIG9mIHRoZSBndWFyZCB0byB1c2UgZm9yIGxvZ2dpbmcgb3IgZGVidWdnaW5nXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2VcbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBUaGUgY29udGV4dCB0byB1c2Ugd2hlbiBjYWxsaW5nIHRoZSBmdW5jdGlvblxuICogQHBhcmFtIHsuLi4qfSBhcmdzIEFyZ3VtZW50cyBmb3IgZnVuY3Rpb25cbiAqL1xuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xuICBoYXNFcnJvciA9IGZhbHNlO1xuICBjYXVnaHRFcnJvciA9IG51bGw7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwuYXBwbHkocmVwb3J0ZXIsIGFyZ3VtZW50cyk7XG59XG4vKipcbiAqIFNhbWUgYXMgaW52b2tlR3VhcmRlZENhbGxiYWNrLCBidXQgaW5zdGVhZCBvZiByZXR1cm5pbmcgYW4gZXJyb3IsIGl0IHN0b3Jlc1xuICogaXQgaW4gYSBnbG9iYWwgc28gaXQgY2FuIGJlIHJldGhyb3duIGJ5IGByZXRocm93Q2F1Z2h0RXJyb3JgIGxhdGVyLlxuICogVE9ETzogU2VlIGlmIGNhdWdodEVycm9yIGFuZCByZXRocm93RXJyb3IgY2FuIGJlIHVuaWZpZWQuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgb2YgdGhlIGd1YXJkIHRvIHVzZSBmb3IgbG9nZ2luZyBvciBkZWJ1Z2dpbmdcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGludm9rZVxuICogQHBhcmFtIHsqfSBjb250ZXh0IFRoZSBjb250ZXh0IHRvIHVzZSB3aGVuIGNhbGxpbmcgdGhlIGZ1bmN0aW9uXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgQXJndW1lbnRzIGZvciBmdW5jdGlvblxuICovXG5cbmZ1bmN0aW9uIGludm9rZUd1YXJkZWRDYWxsYmFja0FuZENhdGNoRmlyc3RFcnJvcihuYW1lLCBmdW5jLCBjb250ZXh0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXG4gIGlmIChoYXNFcnJvcikge1xuICAgIHZhciBlcnJvciA9IGNsZWFyQ2F1Z2h0RXJyb3IoKTtcblxuICAgIGlmICghaGFzUmV0aHJvd0Vycm9yKSB7XG4gICAgICBoYXNSZXRocm93RXJyb3IgPSB0cnVlO1xuICAgICAgcmV0aHJvd0Vycm9yID0gZXJyb3I7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIER1cmluZyBleGVjdXRpb24gb2YgZ3VhcmRlZCBmdW5jdGlvbnMgd2Ugd2lsbCBjYXB0dXJlIHRoZSBmaXJzdCBlcnJvciB3aGljaFxuICogd2Ugd2lsbCByZXRocm93IHRvIGJlIGhhbmRsZWQgYnkgdGhlIHRvcCBsZXZlbCBlcnJvciBoYW5kbGVyLlxuICovXG5cbmZ1bmN0aW9uIHJldGhyb3dDYXVnaHRFcnJvcigpIHtcbiAgaWYgKGhhc1JldGhyb3dFcnJvcikge1xuICAgIHZhciBlcnJvciA9IHJldGhyb3dFcnJvcjtcbiAgICBoYXNSZXRocm93RXJyb3IgPSBmYWxzZTtcbiAgICByZXRocm93RXJyb3IgPSBudWxsO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5mdW5jdGlvbiBoYXNDYXVnaHRFcnJvcigpIHtcbiAgcmV0dXJuIGhhc0Vycm9yO1xufVxuZnVuY3Rpb24gY2xlYXJDYXVnaHRFcnJvcigpIHtcbiAgaWYgKGhhc0Vycm9yKSB7XG4gICAgdmFyIGVycm9yID0gY2F1Z2h0RXJyb3I7XG4gICAgaGFzRXJyb3IgPSBmYWxzZTtcbiAgICBjYXVnaHRFcnJvciA9IG51bGw7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJDYXVnaHRFcnJvciB3YXMgY2FsbGVkIGJ1dCBubyBlcnJvciB3YXMgY2FwdHVyZWQuIFRoaXMgZXJyb3IgJyArICdpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxufVxuXG52YXIgZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGUgPSBudWxsO1xuXG57XG4gIGRpZFdhcm5BYm91dFVuZGVmaW5lZFNuYXBzaG90QmVmb3JlVXBkYXRlID0gbmV3IFNldCgpO1xufSAvLyBVc2VkIGR1cmluZyB0aGUgY29tbWl0IHBoYXNlIHRvIHRyYWNrIHRoZSBzdGF0ZSBvZiB0aGUgT2Zmc2NyZWVuIGNvbXBvbmVudCBzdGFjay5cbi8vIEFsbG93cyB1cyB0byBhdm9pZCB0cmF2ZXJzaW5nIHRoZSByZXR1cm4gcGF0aCB0byBmaW5kIHRoZSBuZWFyZXN0IE9mZnNjcmVlbiBhbmNlc3Rvci5cblxuXG52YXIgb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuID0gZmFsc2U7XG52YXIgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IGZhbHNlO1xudmFyIFBvc3NpYmx5V2Vha1NldCA9IHR5cGVvZiBXZWFrU2V0ID09PSAnZnVuY3Rpb24nID8gV2Vha1NldCA6IFNldDtcbnZhciBuZXh0RWZmZWN0ID0gbnVsbDsgLy8gVXNlZCBmb3IgUHJvZmlsaW5nIGJ1aWxkcyB0byB0cmFjayB1cGRhdGVycy5cblxudmFyIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG52YXIgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xuXG5mdW5jdGlvbiBzaG91bGRQcm9maWxlKGN1cnJlbnQpIHtcbiAgcmV0dXJuIChjdXJyZW50Lm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSAmJiAoZ2V0RXhlY3V0aW9uQ29udGV4dCgpICYgQ29tbWl0Q29udGV4dCkgIT09IE5vQ29udGV4dDtcbn1cblxuZnVuY3Rpb24gcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yKSB7XG4gIC8vIFdyYXBwaW5nIGVhY2ggc21hbGwgcGFydCBvZiB0aGUgY29tbWl0IHBoYXNlIGludG8gYSBndWFyZGVkXG4gIC8vIGNhbGxiYWNrIGlzIGEgYml0IHRvbyBzbG93IChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMTY2NikuXG4gIC8vIEJ1dCB3ZSByZWx5IG9uIGl0IHRvIHN1cmZhY2UgZXJyb3JzIHRvIERFViB0b29scyBsaWtlIG92ZXJsYXlzXG4gIC8vIChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzIxNzEyKS5cbiAgLy8gQXMgYSBjb21wcm9taXNlLCByZXRocm93IG9ubHkgY2F1Z2h0IGVycm9ycyBpbiBhIGd1YXJkLlxuICB7XG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICAgIGNsZWFyQ2F1Z2h0RXJyb3IoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxsQ29tcG9uZW50V2lsbFVubW91bnRXaXRoVGltZXIoY3VycmVudCwgaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChzaG91bGRQcm9maWxlKGN1cnJlbnQpKSB7XG4gICAgdHJ5IHtcbiAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGN1cnJlbnQpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCgpO1xuICB9XG59IC8vIENhcHR1cmUgZXJyb3JzIHNvIHRoZXkgZG9uJ3QgaW50ZXJydXB0IHVubW91bnRpbmcuXG5cblxuZnVuY3Rpb24gc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGluc3RhbmNlKSB7XG4gIHRyeSB7XG4gICAgY2FsbENvbXBvbmVudFdpbGxVbm1vdW50V2l0aFRpbWVyKGN1cnJlbnQsIGluc3RhbmNlKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBlcnJvcik7XG4gIH1cbn0gLy8gQ2FwdHVyZSBlcnJvcnMgc28gdGhleSBkb24ndCBpbnRlcnJ1cHQgbW91bnRpbmcuXG5cblxuZnVuY3Rpb24gc2FmZWx5QXR0YWNoUmVmKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgdHJ5IHtcbiAgICBjb21taXRBdHRhY2hSZWYoY3VycmVudCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNhZmVseURldGFjaFJlZihjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHZhciByZWYgPSBjdXJyZW50LnJlZjtcbiAgdmFyIHJlZkNsZWFudXAgPSBjdXJyZW50LnJlZkNsZWFudXA7XG5cbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlb2YgcmVmQ2xlYW51cCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKHNob3VsZFByb2ZpbGUoY3VycmVudCkpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgcmVmQ2xlYW51cCgpO1xuICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihjdXJyZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVmQ2xlYW51cCgpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBlcnJvcik7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICAvLyBgcmVmQ2xlYW51cGAgaGFzIGJlZW4gY2FsbGVkLiBOdWxsaWZ5IGFsbCByZWZlcmVuY2VzIHRvIGl0IHRvIHByZXZlbnQgZG91YmxlIGludm9jYXRpb24uXG4gICAgICAgIGN1cnJlbnQucmVmQ2xlYW51cCA9IG51bGw7XG4gICAgICAgIHZhciBmaW5pc2hlZFdvcmsgPSBjdXJyZW50LmFsdGVybmF0ZTtcblxuICAgICAgICBpZiAoZmluaXNoZWRXb3JrICE9IG51bGwpIHtcbiAgICAgICAgICBmaW5pc2hlZFdvcmsucmVmQ2xlYW51cCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciByZXRWYWw7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChzaG91bGRQcm9maWxlKGN1cnJlbnQpKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oY3VycmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgcmV0VmFsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmV0dXJuIHZhbHVlIGZyb20gYSBjYWxsYmFjayByZWYgaW4gJXMuICcgKyAnQSBjYWxsYmFjayByZWYgc2hvdWxkIG5vdCByZXR1cm4gYSBmdW5jdGlvbi4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGN1cnJlbnQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIHVuYWJsZSB0byBuYXJyb3cgdHlwZSB0byBSZWZPYmplY3RcbiAgICAgIHJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2FmZWx5Q2FsbERlc3Ryb3koY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSkge1xuICB0cnkge1xuICAgIGRlc3Ryb3koKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBlcnJvcik7XG4gIH1cbn1cbnZhciBzaG91bGRGaXJlQWZ0ZXJBY3RpdmVJbnN0YW5jZUJsdXIgPSBmYWxzZTtcbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaXJzdENoaWxkKSB7XG4gIHByZXBhcmVGb3JDb21taXQoKTtcbiAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0c19iZWdpbigpOyAvLyBXZSBubyBsb25nZXIgbmVlZCB0byB0cmFjayB0aGUgYWN0aXZlIGluc3RhbmNlIGZpYmVyXG5cbiAgdmFyIHNob3VsZEZpcmUgPSBzaG91bGRGaXJlQWZ0ZXJBY3RpdmVJbnN0YW5jZUJsdXI7XG4gIHNob3VsZEZpcmVBZnRlckFjdGl2ZUluc3RhbmNlQmx1ciA9IGZhbHNlO1xuICByZXR1cm4gc2hvdWxkRmlyZTtcbn1cblxuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2JlZ2luKCkge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7IC8vIFRoaXMgcGhhc2UgaXMgb25seSB1c2VkIGZvciBiZWZvcmVBY3RpdmVJbnN0YW5jZUJsdXIuXG5cbiAgICB2YXIgY2hpbGQgPSBmaWJlci5jaGlsZDtcblxuICAgIGlmICgoZmliZXIuc3VidHJlZUZsYWdzICYgQmVmb3JlTXV0YXRpb25NYXNrKSAhPT0gTm9GbGFncyQxICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBjaGlsZC5yZXR1cm4gPSBmaWJlcjtcbiAgICAgIG5leHRFZmZlY3QgPSBjaGlsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2NvbXBsZXRlKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0c19jb21wbGV0ZSgpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICB0cnkge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICB9XG5cbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFdvcmspIHtcbiAgdmFyIGN1cnJlbnQgPSBmaW5pc2hlZFdvcmsuYWx0ZXJuYXRlO1xuICB2YXIgZmxhZ3MgPSBmaW5pc2hlZFdvcmsuZmxhZ3M7XG5cbiAgaWYgKChmbGFncyAmIFNuYXBzaG90KSAhPT0gTm9GbGFncyQxKSB7XG4gICAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIH1cblxuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAge1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoKGZsYWdzICYgU25hcHNob3QpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcbiAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlOyAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLnR5cGUgPT09IGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSAmJiAhZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcykge1xuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBwcm9wcyB0byBtYXRjaCBtZW1vaXplZCBwcm9wcyBiZWZvcmUgJyArICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgc3RhdGUgdG8gbWF0Y2ggbWVtb2l6ZWQgc3RhdGUgYmVmb3JlICcgKyAnZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnN0YXRlYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBzbmFwc2hvdCA9IGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSA9PT0gZmluaXNoZWRXb3JrLnR5cGUgPyBwcmV2UHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKGZpbmlzaGVkV29yay50eXBlLCBwcmV2UHJvcHMpLCBwcmV2U3RhdGUpO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhciBkaWRXYXJuU2V0ID0gZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGU7XG5cbiAgICAgICAgICAgICAgaWYgKHNuYXBzaG90ID09PSB1bmRlZmluZWQgJiYgIWRpZFdhcm5TZXQuaGFzKGZpbmlzaGVkV29yay50eXBlKSkge1xuICAgICAgICAgICAgICAgIGRpZFdhcm5TZXQuYWRkKGZpbmlzaGVkV29yay50eXBlKTtcblxuICAgICAgICAgICAgICAgIGVycm9yKCclcy5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSgpOiBBIHNuYXBzaG90IHZhbHVlIChvciBudWxsKSAnICsgJ211c3QgYmUgcmV0dXJuZWQuIFlvdSBoYXZlIHJldHVybmVkIHVuZGVmaW5lZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlID0gc25hcHNob3Q7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICBpZiAoKGZsYWdzICYgU25hcHNob3QpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcm9vdCA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG4gICAgICAgICAgICBjbGVhckNvbnRhaW5lcihyb290LmNvbnRhaW5lckluZm8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgIGNhc2UgSG9zdEhvaXN0YWJsZTpcbiAgICBjYXNlIEhvc3RTaW5nbGV0b246XG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICAvLyBOb3RoaW5nIHRvIGRvIGZvciB0aGVzZSBjb21wb25lbnQgdHlwZXNcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgaWYgKChmbGFncyAmIFNuYXBzaG90KSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIHVuaXQgb2Ygd29yayB0YWcgc2hvdWxkIG5vdCBoYXZlIHNpZGUtZWZmZWN0cy4gVGhpcyBlcnJvciBpcyAnICsgJ2xpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBpZiAoKGZsYWdzICYgU25hcHNob3QpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChmbGFncywgZmluaXNoZWRXb3JrLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZSAhPT0gbnVsbCA/IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgOiBudWxsO1xuXG4gIGlmIChsYXN0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgIHZhciBlZmZlY3QgPSBmaXJzdEVmZmVjdDtcblxuICAgIGRvIHtcbiAgICAgIGlmICgoZWZmZWN0LnRhZyAmIGZsYWdzKSA9PT0gZmxhZ3MpIHtcbiAgICAgICAgLy8gVW5tb3VudFxuICAgICAgICB2YXIgaW5zdCA9IGVmZmVjdC5pbnN0O1xuICAgICAgICB2YXIgZGVzdHJveSA9IGluc3QuZGVzdHJveTtcblxuICAgICAgICBpZiAoZGVzdHJveSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaW5zdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoKGZsYWdzICYgTGF5b3V0KSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICBzZXRJc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2FmZWx5Q2FsbERlc3Ryb3koZmluaXNoZWRXb3JrLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZXN0cm95KTtcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBJbnNlcnRpb24pICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoKGZsYWdzICYgTGF5b3V0KSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChmbGFncywgZmluaXNoZWRXb3JrKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZSAhPT0gbnVsbCA/IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgOiBudWxsO1xuXG4gIGlmIChsYXN0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgIHZhciBlZmZlY3QgPSBmaXJzdEVmZmVjdDtcblxuICAgIGRvIHtcbiAgICAgIGlmICgoZWZmZWN0LnRhZyAmIGZsYWdzKSA9PT0gZmxhZ3MpIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICgoZmxhZ3MgJiBQYXNzaXZlKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIExheW91dCkgIT09IE5vRmxhZ3MpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gTW91bnRcblxuXG4gICAgICAgIHZhciBjcmVhdGUgPSBlZmZlY3QuY3JlYXRlO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgc2V0SXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBpbnN0ID0gZWZmZWN0Lmluc3Q7XG4gICAgICAgIHZhciBkZXN0cm95ID0gY3JlYXRlKCk7XG4gICAgICAgIGluc3QuZGVzdHJveSA9IGRlc3Ryb3k7XG5cbiAgICAgICAge1xuICAgICAgICAgIGlmICgoZmxhZ3MgJiBJbnNlcnRpb24pICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgICBzZXRJc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKGZsYWdzICYgUGFzc2l2ZSkgIT09IE5vRmxhZ3MpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0TW91bnRTdG9wcGVkKCk7XG4gICAgICAgICAgfSBlbHNlIGlmICgoZmxhZ3MgJiBMYXlvdXQpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgICBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAge1xuICAgICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGRlc3Ryb3kgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHZhciBob29rTmFtZSA9IHZvaWQgMDtcblxuICAgICAgICAgICAgaWYgKChlZmZlY3QudGFnICYgTGF5b3V0KSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIGhvb2tOYW1lID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChlZmZlY3QudGFnICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIGhvb2tOYW1lID0gJ3VzZUluc2VydGlvbkVmZmVjdCc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBob29rTmFtZSA9ICd1c2VFZmZlY3QnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgYWRkZW5kdW0gPSB2b2lkIDA7XG5cbiAgICAgICAgICAgIGlmIChkZXN0cm95ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGFkZGVuZHVtID0gJyBZb3UgcmV0dXJuZWQgbnVsbC4gSWYgeW91ciBlZmZlY3QgZG9lcyBub3QgcmVxdWlyZSBjbGVhbiAnICsgJ3VwLCByZXR1cm4gdW5kZWZpbmVkIChvciBub3RoaW5nKS4nO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGVzdHJveS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIGFkZGVuZHVtID0gJ1xcblxcbkl0IGxvb2tzIGxpa2UgeW91IHdyb3RlICcgKyBob29rTmFtZSArICcoYXN5bmMgKCkgPT4gLi4uKSBvciByZXR1cm5lZCBhIFByb21pc2UuICcgKyAnSW5zdGVhZCwgd3JpdGUgdGhlIGFzeW5jIGZ1bmN0aW9uIGluc2lkZSB5b3VyIGVmZmVjdCAnICsgJ2FuZCBjYWxsIGl0IGltbWVkaWF0ZWx5OlxcblxcbicgKyBob29rTmFtZSArICcoKCkgPT4ge1xcbicgKyAnICBhc3luYyBmdW5jdGlvbiBmZXRjaERhdGEoKSB7XFxuJyArICcgICAgLy8gWW91IGNhbiBhd2FpdCBoZXJlXFxuJyArICcgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBNeUFQSS5nZXREYXRhKHNvbWVJZCk7XFxuJyArICcgICAgLy8gLi4uXFxuJyArICcgIH1cXG4nICsgJyAgZmV0Y2hEYXRhKCk7XFxuJyArIFwifSwgW3NvbWVJZF0pOyAvLyBPciBbXSBpZiBlZmZlY3QgZG9lc24ndCBuZWVkIHByb3BzIG9yIHN0YXRlXFxuXFxuXCIgKyAnTGVhcm4gbW9yZSBhYm91dCBkYXRhIGZldGNoaW5nIHdpdGggSG9va3M6IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9ob29rcy1kYXRhLWZldGNoaW5nJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGFkZGVuZHVtID0gJyBZb3UgcmV0dXJuZWQ6ICcgKyBkZXN0cm95O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBlcnJvcignJXMgbXVzdCBub3QgcmV0dXJuIGFueXRoaW5nIGJlc2lkZXMgYSBmdW5jdGlvbiwgJyArICd3aGljaCBpcyB1c2VkIGZvciBjbGVhbi11cC4lcycsIGhvb2tOYW1lLCBhZGRlbmR1bSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGVmZmVjdCA9IGVmZmVjdC5uZXh0O1xuICAgIH0gd2hpbGUgKGVmZmVjdCAhPT0gZmlyc3RFZmZlY3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVFZmZlY3REdXJhdGlvbnMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspIHtcbiAgaWYgKGdldEV4ZWN1dGlvbkNvbnRleHQoKSAmIENvbW1pdENvbnRleHQpIHtcbiAgICAvLyBPbmx5IFByb2ZpbGVycyB3aXRoIHdvcmsgaW4gdGhlaXIgc3VidHJlZSB3aWxsIGhhdmUgYW4gVXBkYXRlIGVmZmVjdCBzY2hlZHVsZWQuXG4gICAgaWYgKChmaW5pc2hlZFdvcmsuZmxhZ3MgJiBVcGRhdGUpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgICAgICBjYXNlIFByb2ZpbGVyOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBwYXNzaXZlRWZmZWN0RHVyYXRpb24gPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlLnBhc3NpdmVFZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgIHZhciBfZmluaXNoZWRXb3JrJG1lbW9pemUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcyxcbiAgICAgICAgICAgICAgICBpZCA9IF9maW5pc2hlZFdvcmskbWVtb2l6ZS5pZCxcbiAgICAgICAgICAgICAgICBvblBvc3RDb21taXQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUub25Qb3N0Q29tbWl0OyAvLyBUaGlzIHZhbHVlIHdpbGwgc3RpbGwgcmVmbGVjdCB0aGUgcHJldmlvdXMgY29tbWl0IHBoYXNlLlxuICAgICAgICAgICAgLy8gSXQgZG9lcyBub3QgZ2V0IHJlc2V0IHVudGlsIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBjb21taXQgcGhhc2UuXG5cbiAgICAgICAgICAgIHZhciBjb21taXRUaW1lID0gZ2V0Q29tbWl0VGltZSgpO1xuICAgICAgICAgICAgdmFyIHBoYXNlID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZSA9PT0gbnVsbCA/ICdtb3VudCcgOiAndXBkYXRlJztcblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZiAoaXNDdXJyZW50VXBkYXRlTmVzdGVkKCkpIHtcbiAgICAgICAgICAgICAgICBwaGFzZSA9ICduZXN0ZWQtdXBkYXRlJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9uUG9zdENvbW1pdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBvblBvc3RDb21taXQoaWQsIHBoYXNlLCBwYXNzaXZlRWZmZWN0RHVyYXRpb24sIGNvbW1pdFRpbWUpO1xuICAgICAgICAgICAgfSAvLyBCdWJibGUgdGltZXMgdG8gdGhlIG5leHQgbmVhcmVzdCBhbmNlc3RvciBQcm9maWxlci5cbiAgICAgICAgICAgIC8vIEFmdGVyIHdlIHByb2Nlc3MgdGhhdCBQcm9maWxlciwgd2UnbGwgYnViYmxlIGZ1cnRoZXIgdXAuXG5cblxuICAgICAgICAgICAgdmFyIHBhcmVudEZpYmVyID0gZmluaXNoZWRXb3JrLnJldHVybjtcblxuICAgICAgICAgICAgb3V0ZXI6IHdoaWxlIChwYXJlbnRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBzd2l0Y2ggKHBhcmVudEZpYmVyLnRhZykge1xuICAgICAgICAgICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgICAgICAgICB2YXIgcm9vdCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICAgICAgICAgIHJvb3QucGFzc2l2ZUVmZmVjdER1cmF0aW9uICs9IHBhc3NpdmVFZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgIGJyZWFrIG91dGVyO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRTdGF0ZU5vZGUgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgICAgICAgICBwYXJlbnRTdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uICs9IHBhc3NpdmVFZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgIGJyZWFrIG91dGVyO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0xheW91dEVmZmVjdHMoZmluaXNoZWRXb3JrLCBob29rRmxhZ3MpIHtcbiAgLy8gQXQgdGhpcyBwb2ludCBsYXlvdXQgZWZmZWN0cyBoYXZlIGFscmVhZHkgYmVlbiBkZXN0cm95ZWQgKGR1cmluZyBtdXRhdGlvbiBwaGFzZSkuXG4gIC8vIFRoaXMgaXMgZG9uZSB0byBwcmV2ZW50IHNpYmxpbmcgY29tcG9uZW50IGVmZmVjdHMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIsXG4gIC8vIGUuZy4gYSBkZXN0cm95IGZ1bmN0aW9uIGluIG9uZSBjb21wb25lbnQgc2hvdWxkIG5ldmVyIG92ZXJyaWRlIGEgcmVmIHNldFxuICAvLyBieSBhIGNyZWF0ZSBmdW5jdGlvbiBpbiBhbm90aGVyIGNvbXBvbmVudCBkdXJpbmcgdGhlIHNhbWUgY29tbWl0LlxuICBpZiAoc2hvdWxkUHJvZmlsZShmaW5pc2hlZFdvcmspKSB7XG4gICAgdHJ5IHtcbiAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoaG9va0ZsYWdzLCBmaW5pc2hlZFdvcmspO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICB9XG5cbiAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICBjb21taXRIb29rRWZmZWN0TGlzdE1vdW50KGhvb2tGbGFncywgZmluaXNoZWRXb3JrKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdENsYXNzTGF5b3V0TGlmZWN5Y2xlcyhmaW5pc2hlZFdvcmssIGN1cnJlbnQpIHtcbiAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIFdlIGNvdWxkIHVwZGF0ZSBpbnN0YW5jZSBwcm9wcyBhbmQgc3RhdGUgaGVyZSxcbiAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cbiAgICAvLyBUT0RPOiByZXZpc2l0IHRoaXMgd2hlbiB3ZSBpbXBsZW1lbnQgcmVzdW1pbmcuXG4gICAge1xuICAgICAgaWYgKGZpbmlzaGVkV29yay50eXBlID09PSBmaW5pc2hlZFdvcmsuZWxlbWVudFR5cGUgJiYgIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcbiAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBwcm9wcyB0byBtYXRjaCBtZW1vaXplZCBwcm9wcyBiZWZvcmUgJyArICdjb21wb25lbnREaWRNb3VudC4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgc3RhdGUgdG8gbWF0Y2ggbWVtb2l6ZWQgc3RhdGUgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkTW91bnQuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnN0YXRlYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkUHJvZmlsZShmaW5pc2hlZFdvcmspKSB7XG4gICAgICB0cnkge1xuICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIgcHJldlByb3BzID0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlID09PSBmaW5pc2hlZFdvcmsudHlwZSA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoZmluaXNoZWRXb3JrLnR5cGUsIGN1cnJlbnQubWVtb2l6ZWRQcm9wcyk7XG4gICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTsgLy8gV2UgY291bGQgdXBkYXRlIGluc3RhbmNlIHByb3BzIGFuZCBzdGF0ZSBoZXJlLFxuICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuICAgIHtcbiAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdjb21wb25lbnREaWRVcGRhdGUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnN0YXRlYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkUHJvZmlsZShmaW5pc2hlZFdvcmspKSB7XG4gICAgICB0cnkge1xuICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSwgaW5zdGFuY2UuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpbmlzaGVkV29yayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSwgaW5zdGFuY2UuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdENsYXNzQ2FsbGJhY2tzKGZpbmlzaGVkV29yaykge1xuICAvLyBUT0RPOiBJIHRoaW5rIHRoaXMgaXMgbm93IGFsd2F5cyBub24tbnVsbCBieSB0aGUgdGltZSBpdCByZWFjaGVzIHRoZVxuICAvLyBjb21taXQgcGhhc2UuIENvbnNpZGVyIHJlbW92aW5nIHRoZSB0eXBlIGNoZWNrLlxuICB2YXIgdXBkYXRlUXVldWUgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XG5cbiAgaWYgKHVwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgIHtcbiAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAncHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdwcm9jZXNzaW5nIHRoZSB1cGRhdGUgcXVldWUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnN0YXRlYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIFdlIGNvdWxkIHVwZGF0ZSBpbnN0YW5jZSBwcm9wcyBhbmQgc3RhdGUgaGVyZSxcbiAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cbiAgICAvLyBUT0RPOiByZXZpc2l0IHRoaXMgd2hlbiB3ZSBpbXBsZW1lbnQgcmVzdW1pbmcuXG5cblxuICAgIHRyeSB7XG4gICAgICBjb21taXRDYWxsYmFja3ModXBkYXRlUXVldWUsIGluc3RhbmNlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEhvc3RDb21wb25lbnRNb3VudChmaW5pc2hlZFdvcmspIHtcbiAgdmFyIHR5cGUgPSBmaW5pc2hlZFdvcmsudHlwZTtcbiAgdmFyIHByb3BzID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7XG4gIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG5cbiAgdHJ5IHtcbiAgICBjb21taXRNb3VudChpbnN0YW5jZSwgdHlwZSwgcHJvcHMsIGZpbmlzaGVkV29yayk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UHJvZmlsZXJVcGRhdGUoZmluaXNoZWRXb3JrLCBjdXJyZW50KSB7XG4gIGlmIChnZXRFeGVjdXRpb25Db250ZXh0KCkgJiBDb21taXRDb250ZXh0KSB7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBfZmluaXNoZWRXb3JrJG1lbW9pemUyID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMsXG4gICAgICAgICAgb25Db21taXQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUyLm9uQ29tbWl0LFxuICAgICAgICAgIG9uUmVuZGVyID0gX2ZpbmlzaGVkV29yayRtZW1vaXplMi5vblJlbmRlcjtcbiAgICAgIHZhciBlZmZlY3REdXJhdGlvbiA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb247XG4gICAgICB2YXIgY29tbWl0VGltZSA9IGdldENvbW1pdFRpbWUoKTtcbiAgICAgIHZhciBwaGFzZSA9IGN1cnJlbnQgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZSc7XG5cbiAgICAgIGlmIChlbmFibGVQcm9maWxlck5lc3RlZFVwZGF0ZVBoYXNlKSB7XG4gICAgICAgIGlmIChpc0N1cnJlbnRVcGRhdGVOZXN0ZWQoKSkge1xuICAgICAgICAgIHBoYXNlID0gJ25lc3RlZC11cGRhdGUnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2Ygb25SZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25SZW5kZXIoZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMuaWQsIHBoYXNlLCBmaW5pc2hlZFdvcmsuYWN0dWFsRHVyYXRpb24sIGZpbmlzaGVkV29yay50cmVlQmFzZUR1cmF0aW9uLCBmaW5pc2hlZFdvcmsuYWN0dWFsU3RhcnRUaW1lLCBjb21taXRUaW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVuYWJsZVByb2ZpbGVyQ29tbWl0SG9va3MpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBvbkNvbW1pdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIG9uQ29tbWl0KGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzLmlkLCBwaGFzZSwgZWZmZWN0RHVyYXRpb24sIGNvbW1pdFRpbWUpO1xuICAgICAgICB9IC8vIFNjaGVkdWxlIGEgcGFzc2l2ZSBlZmZlY3QgZm9yIHRoaXMgUHJvZmlsZXIgdG8gY2FsbCBvblBvc3RDb21taXQgaG9va3MuXG4gICAgICAgIC8vIFRoaXMgZWZmZWN0IHNob3VsZCBiZSBzY2hlZHVsZWQgZXZlbiBpZiB0aGVyZSBpcyBubyBvblBvc3RDb21taXQgY2FsbGJhY2sgZm9yIHRoaXMgUHJvZmlsZXIsXG4gICAgICAgIC8vIGJlY2F1c2UgdGhlIGVmZmVjdCBpcyBhbHNvIHdoZXJlIHRpbWVzIGJ1YmJsZSB0byBwYXJlbnQgUHJvZmlsZXJzLlxuXG5cbiAgICAgICAgZW5xdWV1ZVBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3QoZmluaXNoZWRXb3JrKTsgLy8gUHJvcGFnYXRlIGxheW91dCBlZmZlY3QgZHVyYXRpb25zIHRvIHRoZSBuZXh0IG5lYXJlc3QgUHJvZmlsZXIgYW5jZXN0b3IuXG4gICAgICAgIC8vIERvIG5vdCByZXNldCB0aGVzZSB2YWx1ZXMgdW50aWwgdGhlIG5leHQgcmVuZGVyIHNvIERldlRvb2xzIGhhcyBhIGNoYW5jZSB0byByZWFkIHRoZW0gZmlyc3QuXG5cbiAgICAgICAgdmFyIHBhcmVudEZpYmVyID0gZmluaXNoZWRXb3JrLnJldHVybjtcblxuICAgICAgICBvdXRlcjogd2hpbGUgKHBhcmVudEZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICAgICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgICAgIHZhciByb290ID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICByb290LmVmZmVjdER1cmF0aW9uICs9IGVmZmVjdER1cmF0aW9uO1xuICAgICAgICAgICAgICBicmVhayBvdXRlcjtcblxuICAgICAgICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICAgICAgcGFyZW50U3RhdGVOb2RlLmVmZmVjdER1cmF0aW9uICs9IGVmZmVjdER1cmF0aW9uO1xuICAgICAgICAgICAgICBicmVhayBvdXRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwYXJlbnRGaWJlciA9IHBhcmVudEZpYmVyLnJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0TGF5b3V0RWZmZWN0T25GaWJlcihmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMpIHtcbiAgLy8gV2hlbiB1cGRhdGluZyB0aGlzIGZ1bmN0aW9uLCBhbHNvIHVwZGF0ZSByZWFwcGVhckxheW91dEVmZmVjdHMsIHdoaWNoIGRvZXNcbiAgLy8gbW9zdCBvZiB0aGUgc2FtZSB0aGluZ3Mgd2hlbiBhbiBvZmZzY3JlZW4gdHJlZSBnb2VzIGZyb20gaGlkZGVuIC0+IHZpc2libGUuXG4gIHZhciBmbGFncyA9IGZpbmlzaGVkV29yay5mbGFncztcblxuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICBjb21taXRIb29rTGF5b3V0RWZmZWN0cyhmaW5pc2hlZFdvcmssIExheW91dCB8IEhhc0VmZmVjdCk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICBjb21taXRDbGFzc0xheW91dExpZmVjeWNsZXMoZmluaXNoZWRXb3JrLCBjdXJyZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmbGFncyAmIENhbGxiYWNrKSB7XG4gICAgICAgICAgY29tbWl0Q2xhc3NDYWxsYmFja3MoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmbGFncyAmIFJlZikge1xuICAgICAgICAgIHNhZmVseUF0dGFjaFJlZihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTGF5b3V0RWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgQ2FsbGJhY2spIHtcbiAgICAgICAgICAvLyBUT0RPOiBJIHRoaW5rIHRoaXMgaXMgbm93IGFsd2F5cyBub24tbnVsbCBieSB0aGUgdGltZSBpdCByZWFjaGVzIHRoZVxuICAgICAgICAgIC8vIGNvbW1pdCBwaGFzZS4gQ29uc2lkZXIgcmVtb3ZpbmcgdGhlIHR5cGUgY2hlY2suXG4gICAgICAgICAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBudWxsO1xuXG4gICAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHN3aXRjaCAoZmluaXNoZWRXb3JrLmNoaWxkLnRhZykge1xuICAgICAgICAgICAgICAgIGNhc2UgSG9zdFNpbmdsZXRvbjpcbiAgICAgICAgICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZSA9IGdldFB1YmxpY0luc3RhbmNlKGZpbmlzaGVkV29yay5jaGlsZC5zdGF0ZU5vZGUpO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICAgICAgICAgICAgaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuY2hpbGQuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29tbWl0Q2FsbGJhY2tzKHVwZGF0ZVF1ZXVlLCBpbnN0YW5jZSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdEhvaXN0YWJsZTpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKTtcblxuICAgICAgICAgIGlmIChmbGFncyAmIFJlZikge1xuICAgICAgICAgICAgc2FmZWx5QXR0YWNoUmVmKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gLy8gRmFsbCB0aHJvdWdoXG5cbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFNpbmdsZXRvbjpcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKTsgLy8gUmVuZGVyZXJzIG1heSBzY2hlZHVsZSB3b3JrIHRvIGJlIGRvbmUgYWZ0ZXIgaG9zdCBjb21wb25lbnRzIGFyZSBtb3VudGVkXG4gICAgICAgIC8vIChlZyBET00gcmVuZGVyZXIgbWF5IHNjaGVkdWxlIGF1dG8tZm9jdXMgZm9yIGlucHV0cyBhbmQgZm9ybSBjb250cm9scykuXG4gICAgICAgIC8vIFRoZXNlIGVmZmVjdHMgc2hvdWxkIG9ubHkgYmUgY29tbWl0dGVkIHdoZW4gY29tcG9uZW50cyBhcmUgZmlyc3QgbW91bnRlZCxcbiAgICAgICAgLy8gYWthIHdoZW4gdGhlcmUgaXMgbm8gY3VycmVudC9hbHRlcm5hdGUuXG5cbiAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgJiYgZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICBjb21taXRIb3N0Q29tcG9uZW50TW91bnQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmbGFncyAmIFJlZikge1xuICAgICAgICAgIHNhZmVseUF0dGFjaFJlZihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIFByb2ZpbGVyOlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTGF5b3V0RWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yayk7IC8vIFRPRE86IFNob3VsZCB0aGlzIGZpcmUgaW5zaWRlIGFuIG9mZnNjcmVlbiB0cmVlPyBPciBzaG91bGQgaXQgd2FpdCB0b1xuICAgICAgICAvLyBmaXJlIHdoZW4gdGhlIHRyZWUgYmVjb21lcyB2aXNpYmxlIGFnYWluLlxuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIGNvbW1pdFByb2ZpbGVyVXBkYXRlKGZpbmlzaGVkV29yaywgY3VycmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICBjb21taXRTdXNwZW5zZUh5ZHJhdGlvbkNhbGxiYWNrcyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgaXNNb2Rlcm5Sb290ID0gKGZpbmlzaGVkV29yay5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG5cbiAgICAgICAgaWYgKGlzTW9kZXJuUm9vdCkge1xuICAgICAgICAgIHZhciBpc0hpZGRlbiA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuICAgICAgICAgIHZhciBuZXdPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBpc0hpZGRlbiB8fCBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG5cbiAgICAgICAgICBpZiAobmV3T2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuKSA7IGVsc2Uge1xuICAgICAgICAgICAgLy8gVGhlIE9mZnNjcmVlbiB0cmVlIGlzIHZpc2libGUuXG4gICAgICAgICAgICB2YXIgd2FzSGlkZGVuID0gY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGw7XG4gICAgICAgICAgICB2YXIgbmV3T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IHdhc0hpZGRlbiB8fCBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgICAgICB2YXIgcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICAgICAgb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuID0gbmV3T2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuO1xuICAgICAgICAgICAgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IG5ld09mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47XG5cbiAgICAgICAgICAgIGlmIChvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuICYmICFwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSByb290IG9mIGEgcmVhcHBlYXJpbmcgYm91bmRhcnkuIEFzIHdlIGNvbnRpbnVlXG4gICAgICAgICAgICAgIC8vIHRyYXZlcnNpbmcgdGhlIGxheW91dCBlZmZlY3RzLCB3ZSBtdXN0IGFsc28gcmUtbW91bnQgbGF5b3V0XG4gICAgICAgICAgICAgIC8vIGVmZmVjdHMgdGhhdCB3ZXJlIHVubW91bnRlZCB3aGVuIHRoZSBPZmZzY3JlZW4gc3VidHJlZSB3YXNcbiAgICAgICAgICAgICAgLy8gaGlkZGVuLiBTbyB0aGlzIGlzIGEgc3VwZXJzZXQgb2YgdGhlIG5vcm1hbCBjb21taXRMYXlvdXRFZmZlY3RzLlxuICAgICAgICAgICAgICB2YXIgaW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyA9IChmaW5pc2hlZFdvcmsuc3VidHJlZUZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MkMTtcbiAgICAgICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVJlYXBwZWFyTGF5b3V0RWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgaW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTGF5b3V0RWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiA9IHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmbGFncyAmIFJlZikge1xuICAgICAgICAgIHZhciBwcm9wcyA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzO1xuXG4gICAgICAgICAgaWYgKHByb3BzLm1vZGUgPT09ICdtYW51YWwnKSB7XG4gICAgICAgICAgICBzYWZlbHlBdHRhY2hSZWYoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTGF5b3V0RWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGhpZGVPclVuaGlkZUFsbENoaWxkcmVuKGZpbmlzaGVkV29yaywgaXNIaWRkZW4pIHtcbiAgLy8gT25seSBoaWRlIG9yIHVuaGlkZSB0aGUgdG9wLW1vc3QgaG9zdCBub2Rlcy5cbiAgdmFyIGhvc3RTdWJ0cmVlUm9vdCA9IG51bGw7XG5cbiAge1xuICAgIC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGluc2VydGVkIGJ1dCB3ZSBuZWVkIHRvIHJlY3Vyc2UgZG93biBpdHNcbiAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG4gICAgdmFyIG5vZGUgPSBmaW5pc2hlZFdvcms7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IChub2RlLnRhZyA9PT0gSG9zdEhvaXN0YWJsZSApIHx8IChub2RlLnRhZyA9PT0gSG9zdFNpbmdsZXRvbiApKSB7XG4gICAgICAgIGlmIChob3N0U3VidHJlZVJvb3QgPT09IG51bGwpIHtcbiAgICAgICAgICBob3N0U3VidHJlZVJvb3QgPSBub2RlO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgICBpZiAoaXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaGlkZUluc3RhbmNlKGluc3RhbmNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHVuaGlkZUluc3RhbmNlKG5vZGUuc3RhdGVOb2RlLCBub2RlLm1lbW9pemVkUHJvcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgICAgIGlmIChob3N0U3VidHJlZVJvb3QgPT09IG51bGwpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIF9pbnN0YW5jZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgICBpZiAoaXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaGlkZVRleHRJbnN0YW5jZShfaW5zdGFuY2UpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdW5oaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZSwgbm9kZS5tZW1vaXplZFByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKChub2RlLnRhZyA9PT0gT2Zmc2NyZWVuQ29tcG9uZW50IHx8IG5vZGUudGFnID09PSBMZWdhY3lIaWRkZW5Db21wb25lbnQpICYmIG5vZGUubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbCAmJiBub2RlICE9PSBmaW5pc2hlZFdvcmspIDsgZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZpbmlzaGVkV29yaykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG9zdFN1YnRyZWVSb290ID09PSBub2RlKSB7XG4gICAgICAgICAgaG9zdFN1YnRyZWVSb290ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGhvc3RTdWJ0cmVlUm9vdCA9PT0gbm9kZSkge1xuICAgICAgICBob3N0U3VidHJlZVJvb3QgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRBdHRhY2hSZWYoZmluaXNoZWRXb3JrKSB7XG4gIHZhciByZWYgPSBmaW5pc2hlZFdvcmsucmVmO1xuXG4gIGlmIChyZWYgIT09IG51bGwpIHtcbiAgICB2YXIgaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgIHZhciBpbnN0YW5jZVRvVXNlO1xuXG4gICAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgICBjYXNlIEhvc3RIb2lzdGFibGU6XG4gICAgICBjYXNlIEhvc3RTaW5nbGV0b246XG4gICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgIGluc3RhbmNlVG9Vc2UgPSBnZXRQdWJsaWNJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpbnN0YW5jZVRvVXNlID0gaW5zdGFuY2U7XG4gICAgfSAvLyBNb3ZlZCBvdXRzaWRlIHRvIGVuc3VyZSBEQ0Ugd29ya3Mgd2l0aCB0aGlzIGZsYWdcblxuICAgIGlmICh0eXBlb2YgcmVmID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAoc2hvdWxkUHJvZmlsZShmaW5pc2hlZFdvcmspKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgIGZpbmlzaGVkV29yay5yZWZDbGVhbnVwID0gcmVmKGluc3RhbmNlVG9Vc2UpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbmlzaGVkV29yay5yZWZDbGVhbnVwID0gcmVmKGluc3RhbmNlVG9Vc2UpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB7XG4gICAgICAgIGlmICghcmVmLmhhc093blByb3BlcnR5KCdjdXJyZW50JykpIHtcbiAgICAgICAgICBlcnJvcignVW5leHBlY3RlZCByZWYgb2JqZWN0IHByb3ZpZGVkIGZvciAlcy4gJyArICdVc2UgZWl0aGVyIGEgcmVmLXNldHRlciBmdW5jdGlvbiBvciBSZWFjdC5jcmVhdGVSZWYoKS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykpO1xuICAgICAgICB9XG4gICAgICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gdW5hYmxlIHRvIG5hcnJvdyB0eXBlIHRvIHRoZSBub24tZnVuY3Rpb24gY2FzZVxuXG5cbiAgICAgIHJlZi5jdXJyZW50ID0gaW5zdGFuY2VUb1VzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGV0YWNoRmliZXJNdXRhdGlvbihmaWJlcikge1xuICAvLyBDdXQgb2ZmIHRoZSByZXR1cm4gcG9pbnRlciB0byBkaXNjb25uZWN0IGl0IGZyb20gdGhlIHRyZWUuXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBkZXRlY3QgYW5kIHdhcm4gYWdhaW5zdCBzdGF0ZSB1cGRhdGVzIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuXG4gIC8vIEl0IGFsc28gcHJldmVudHMgZXZlbnRzIGZyb20gYnViYmxpbmcgZnJvbSB3aXRoaW4gZGlzY29ubmVjdGVkIGNvbXBvbmVudHMuXG4gIC8vXG4gIC8vIElkZWFsbHksIHdlIHNob3VsZCBhbHNvIGNsZWFyIHRoZSBjaGlsZCBwb2ludGVyIG9mIHRoZSBwYXJlbnQgYWx0ZXJuYXRlIHRvIGxldCB0aGlzXG4gIC8vIGdldCBHQzplZCBidXQgd2UgZG9uJ3Qga25vdyB3aGljaCBmb3Igc3VyZSB3aGljaCBwYXJlbnQgaXMgdGhlIGN1cnJlbnRcbiAgLy8gb25lIHNvIHdlJ2xsIHNldHRsZSBmb3IgR0M6aW5nIHRoZSBzdWJ0cmVlIG9mIHRoaXMgY2hpbGQuXG4gIC8vIFRoaXMgY2hpbGQgaXRzZWxmIHdpbGwgYmUgR0M6ZWQgd2hlbiB0aGUgcGFyZW50IHVwZGF0ZXMgdGhlIG5leHQgdGltZS5cbiAgLy9cbiAgLy8gTm90ZSB0aGF0IHdlIGNhbid0IGNsZWFyIGNoaWxkIG9yIHNpYmxpbmcgcG9pbnRlcnMgeWV0LlxuICAvLyBUaGV5J3JlIG5lZWRlZCBmb3IgcGFzc2l2ZSBlZmZlY3RzIGFuZCBmb3IgZmluZERPTU5vZGUuXG4gIC8vIFdlIGRlZmVyIHRob3NlIGZpZWxkcywgYW5kIGFsbCBvdGhlciBjbGVhbnVwLCB0byB0aGUgcGFzc2l2ZSBwaGFzZSAoc2VlIGRldGFjaEZpYmVyQWZ0ZXJFZmZlY3RzKS5cbiAgLy9cbiAgLy8gRG9uJ3QgcmVzZXQgdGhlIGFsdGVybmF0ZSB5ZXQsIGVpdGhlci4gV2UgbmVlZCB0aGF0IHNvIHdlIGNhbiBkZXRhY2ggdGhlXG4gIC8vIGFsdGVybmF0ZSdzIGZpZWxkcyBpbiB0aGUgcGFzc2l2ZSBwaGFzZS4gQ2xlYXJpbmcgdGhlIHJldHVybiBwb2ludGVyIGlzXG4gIC8vIHN1ZmZpY2llbnQgZm9yIGZpbmRET01Ob2RlIHNlbWFudGljcy5cbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgYWx0ZXJuYXRlLnJldHVybiA9IG51bGw7XG4gIH1cblxuICBmaWJlci5yZXR1cm4gPSBudWxsO1xufVxuXG5mdW5jdGlvbiBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cyhmaWJlcikge1xuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gIGlmIChhbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICBmaWJlci5hbHRlcm5hdGUgPSBudWxsO1xuICAgIGRldGFjaEZpYmVyQWZ0ZXJFZmZlY3RzKGFsdGVybmF0ZSk7XG4gIH0gLy8gQ2xlYXIgY3ljbGljYWwgRmliZXIgZmllbGRzLiBUaGlzIGxldmVsIGFsb25lIGlzIGRlc2lnbmVkIHRvIHJvdWdobHlcbiAgLy8gYXBwcm94aW1hdGUgdGhlIHBsYW5uZWQgRmliZXIgcmVmYWN0b3IuIEluIHRoYXQgd29ybGQsIGBzZXRTdGF0ZWAgd2lsbCBiZVxuICAvLyBib3VuZCB0byBhIHNwZWNpYWwgXCJpbnN0YW5jZVwiIG9iamVjdCBpbnN0ZWFkIG9mIGEgRmliZXIuIFRoZSBJbnN0YW5jZVxuICAvLyBvYmplY3Qgd2lsbCBub3QgaGF2ZSBhbnkgb2YgdGhlc2UgZmllbGRzLiBJdCB3aWxsIG9ubHkgYmUgY29ubmVjdGVkIHRvXG4gIC8vIHRoZSBmaWJlciB0cmVlIHZpYSBhIHNpbmdsZSBsaW5rIGF0IHRoZSByb290LiBTbyBpZiB0aGlzIGxldmVsIGFsb25lIGlzXG4gIC8vIHN1ZmZpY2llbnQgdG8gZml4IG1lbW9yeSBpc3N1ZXMsIHRoYXQgYm9kZXMgd2VsbCBmb3Igb3VyIHBsYW5zLlxuXG5cbiAgZmliZXIuY2hpbGQgPSBudWxsO1xuICBmaWJlci5kZWxldGlvbnMgPSBudWxsO1xuICBmaWJlci5zaWJsaW5nID0gbnVsbDsgLy8gVGhlIGBzdGF0ZU5vZGVgIGlzIGN5Y2xpY2FsIGJlY2F1c2Ugb24gaG9zdCBub2RlcyBpdCBwb2ludHMgdG8gdGhlIGhvc3RcbiAgLy8gdHJlZSwgd2hpY2ggaGFzIGl0cyBvd24gcG9pbnRlcnMgdG8gY2hpbGRyZW4sIHBhcmVudHMsIGFuZCBzaWJsaW5ncy5cbiAgLy8gVGhlIG90aGVyIGhvc3Qgbm9kZXMgYWxzbyBwb2ludCBiYWNrIHRvIGZpYmVycywgc28gd2Ugc2hvdWxkIGRldGFjaCB0aGF0XG4gIC8vIG9uZSwgdG9vLlxuXG4gIGlmIChmaWJlci50YWcgPT09IEhvc3RDb21wb25lbnQpIHtcbiAgICB2YXIgaG9zdEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgaWYgKGhvc3RJbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgZGV0YWNoRGVsZXRlZEluc3RhbmNlKGhvc3RJbnN0YW5jZSk7XG4gICAgfVxuICB9XG5cbiAgZmliZXIuc3RhdGVOb2RlID0gbnVsbDtcblxuICB7XG4gICAgZmliZXIuX2RlYnVnT3duZXIgPSBudWxsO1xuICB9IC8vIFRoZW9yZXRpY2FsbHksIG5vdGhpbmcgaW4gaGVyZSBzaG91bGQgYmUgbmVjZXNzYXJ5LCBiZWNhdXNlIHdlIGFscmVhZHlcbiAgLy8gZGlzY29ubmVjdGVkIHRoZSBmaWJlciBmcm9tIHRoZSB0cmVlLiBTbyBldmVuIGlmIHNvbWV0aGluZyBsZWFrcyB0aGlzXG4gIC8vIHBhcnRpY3VsYXIgZmliZXIsIGl0IHdvbid0IGxlYWsgYW55dGhpbmcgZWxzZS5cblxuXG4gIGZpYmVyLnJldHVybiA9IG51bGw7XG4gIGZpYmVyLmRlcGVuZGVuY2llcyA9IG51bGw7XG4gIGZpYmVyLm1lbW9pemVkUHJvcHMgPSBudWxsO1xuICBmaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgZmliZXIucGVuZGluZ1Byb3BzID0gbnVsbDtcbiAgZmliZXIuc3RhdGVOb2RlID0gbnVsbDsgLy8gVE9ETzogTW92ZSB0byBgY29tbWl0UGFzc2l2ZVVubW91bnRJbnNpZGVEZWxldGVkVHJlZU9uRmliZXJgIGluc3RlYWQuXG5cbiAgZmliZXIudXBkYXRlUXVldWUgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRIb3N0UGFyZW50RmliZXIoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgaWYgKGlzSG9zdFBhcmVudChwYXJlbnQpKSB7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgIH1cblxuICAgIHBhcmVudCA9IHBhcmVudC5yZXR1cm47XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgYSBob3N0IHBhcmVudC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnICcgKyAnaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiBpc0hvc3RQYXJlbnQoZmliZXIpIHtcbiAgcmV0dXJuIGZpYmVyLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBmaWJlci50YWcgPT09IEhvc3RSb290IHx8IChmaWJlci50YWcgPT09IEhvc3RIb2lzdGFibGUgKSB8fCAoZmliZXIudGFnID09PSBIb3N0U2luZ2xldG9uICkgfHwgZmliZXIudGFnID09PSBIb3N0UG9ydGFsO1xufVxuXG5mdW5jdGlvbiBnZXRIb3N0U2libGluZyhmaWJlcikge1xuICAvLyBXZSdyZSBnb2luZyB0byBzZWFyY2ggZm9yd2FyZCBpbnRvIHRoZSB0cmVlIHVudGlsIHdlIGZpbmQgYSBzaWJsaW5nIGhvc3RcbiAgLy8gbm9kZS4gVW5mb3J0dW5hdGVseSwgaWYgbXVsdGlwbGUgaW5zZXJ0aW9ucyBhcmUgZG9uZSBpbiBhIHJvdyB3ZSBoYXZlIHRvXG4gIC8vIHNlYXJjaCBwYXN0IHRoZW0uIFRoaXMgbGVhZHMgdG8gZXhwb25lbnRpYWwgc2VhcmNoIGZvciB0aGUgbmV4dCBzaWJsaW5nLlxuICAvLyBUT0RPOiBGaW5kIGEgbW9yZSBlZmZpY2llbnQgd2F5IHRvIGRvIHRoaXMuXG4gIHZhciBub2RlID0gZmliZXI7XG5cbiAgc2libGluZ3M6IHdoaWxlICh0cnVlKSB7XG4gICAgLy8gSWYgd2UgZGlkbid0IGZpbmQgYW55dGhpbmcsIGxldCdzIHRyeSB0aGUgbmV4dCBzaWJsaW5nLlxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBpc0hvc3RQYXJlbnQobm9kZS5yZXR1cm4pKSB7XG4gICAgICAgIC8vIElmIHdlIHBvcCBvdXQgb2YgdGhlIHJvb3Qgb3IgaGl0IHRoZSBwYXJlbnQgdGhlIGZpYmVyIHdlIGFyZSB0aGVcbiAgICAgICAgLy8gbGFzdCBzaWJsaW5nLlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuXG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcblxuICAgIHdoaWxlIChub2RlLnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiBub2RlLnRhZyAhPT0gSG9zdFRleHQgJiYgKG5vZGUudGFnICE9PSBIb3N0U2luZ2xldG9uKSAmJiBub2RlLnRhZyAhPT0gRGVoeWRyYXRlZEZyYWdtZW50KSB7XG4gICAgICAvLyBJZiBpdCBpcyBub3QgaG9zdCBub2RlIGFuZCwgd2UgbWlnaHQgaGF2ZSBhIGhvc3Qgbm9kZSBpbnNpZGUgaXQuXG4gICAgICAvLyBUcnkgdG8gc2VhcmNoIGRvd24gdW50aWwgd2UgZmluZCBvbmUuXG4gICAgICBpZiAobm9kZS5mbGFncyAmIFBsYWNlbWVudCkge1xuICAgICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgY2hpbGQsIHRyeSB0aGUgc2libGluZ3MgaW5zdGVhZC5cbiAgICAgICAgY29udGludWUgc2libGluZ3M7XG4gICAgICB9IC8vIElmIHdlIGRvbid0IGhhdmUgYSBjaGlsZCwgdHJ5IHRoZSBzaWJsaW5ncyBpbnN0ZWFkLlxuICAgICAgLy8gV2UgYWxzbyBza2lwIHBvcnRhbHMgYmVjYXVzZSB0aGV5IGFyZSBub3QgcGFydCBvZiB0aGlzIGhvc3QgdHJlZS5cblxuXG4gICAgICBpZiAobm9kZS5jaGlsZCA9PT0gbnVsbCB8fCBub2RlLnRhZyA9PT0gSG9zdFBvcnRhbCkge1xuICAgICAgICBjb250aW51ZSBzaWJsaW5ncztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcbiAgICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XG4gICAgICB9XG4gICAgfSAvLyBDaGVjayBpZiB0aGlzIGhvc3Qgbm9kZSBpcyBzdGFibGUgb3IgYWJvdXQgdG8gYmUgcGxhY2VkLlxuXG5cbiAgICBpZiAoIShub2RlLmZsYWdzICYgUGxhY2VtZW50KSkge1xuICAgICAgLy8gRm91bmQgaXQhXG4gICAgICByZXR1cm4gbm9kZS5zdGF0ZU5vZGU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBsYWNlbWVudChmaW5pc2hlZFdvcmspIHtcblxuICB7XG4gICAgaWYgKGZpbmlzaGVkV29yay50YWcgPT09IEhvc3RTaW5nbGV0b24pIHtcbiAgICAgIC8vIFNpbmdsZXRvbnMgYXJlIGFscmVhZHkgaW4gdGhlIEhvc3QgYW5kIGRvbid0IG5lZWQgdG8gYmUgcGxhY2VkXG4gICAgICAvLyBTaW5jZSB0aGV5IG9wZXJhdGUgc29tZXdoYXQgbGlrZSBQb3J0YWxzIHRob3VnaCB0aGVpciBjaGlsZHJlbiB3aWxsXG4gICAgICAvLyBoYXZlIFBsYWNlbWVudCBhbmQgd2lsbCBnZXQgcGxhY2VkIGluc2lkZSB0aGVtXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9IC8vIFJlY3Vyc2l2ZWx5IGluc2VydCBhbGwgaG9zdCBub2RlcyBpbnRvIHRoZSBwYXJlbnQuXG5cblxuICB2YXIgcGFyZW50RmliZXIgPSBnZXRIb3N0UGFyZW50RmliZXIoZmluaXNoZWRXb3JrKTtcblxuICBzd2l0Y2ggKHBhcmVudEZpYmVyLnRhZykge1xuICAgIGNhc2UgSG9zdFNpbmdsZXRvbjpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwYXJlbnQgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgdmFyIGJlZm9yZSA9IGdldEhvc3RTaWJsaW5nKGZpbmlzaGVkV29yayk7IC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGluc2VydGVkIGJ1dCB3ZSBuZWVkIHRvIHJlY3Vyc2UgZG93biBpdHNcbiAgICAgICAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG5cbiAgICAgICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGUoZmluaXNoZWRXb3JrLCBiZWZvcmUsIHBhcmVudCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gLy8gRmFsbCB0aHJvdWdoXG5cbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wYXJlbnQgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgaWYgKHBhcmVudEZpYmVyLmZsYWdzICYgQ29udGVudFJlc2V0KSB7XG4gICAgICAgICAgLy8gUmVzZXQgdGhlIHRleHQgY29udGVudCBvZiB0aGUgcGFyZW50IGJlZm9yZSBkb2luZyBhbnkgaW5zZXJ0aW9uc1xuICAgICAgICAgIHJlc2V0VGV4dENvbnRlbnQoX3BhcmVudCk7IC8vIENsZWFyIENvbnRlbnRSZXNldCBmcm9tIHRoZSBlZmZlY3QgdGFnXG5cbiAgICAgICAgICBwYXJlbnRGaWJlci5mbGFncyAmPSB+Q29udGVudFJlc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIF9iZWZvcmUgPSBnZXRIb3N0U2libGluZyhmaW5pc2hlZFdvcmspOyAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBpbnNlcnRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgICAgIC8vIGNoaWxkcmVuIHRvIGZpbmQgYWxsIHRoZSB0ZXJtaW5hbCBub2Rlcy5cblxuXG4gICAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZShmaW5pc2hlZFdvcmssIF9iZWZvcmUsIF9wYXJlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAge1xuICAgICAgICB2YXIgX3BhcmVudDIgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcblxuICAgICAgICB2YXIgX2JlZm9yZTIgPSBnZXRIb3N0U2libGluZyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIoZmluaXNoZWRXb3JrLCBfYmVmb3JlMiwgX3BhcmVudDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaG9zdCBwYXJlbnQgZmliZXIuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyAnICsgJ2luIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKG5vZGUsIGJlZm9yZSwgcGFyZW50KSB7XG4gIHZhciB0YWcgPSBub2RlLnRhZztcbiAgdmFyIGlzSG9zdCA9IHRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCB0YWcgPT09IEhvc3RUZXh0O1xuXG4gIGlmIChpc0hvc3QpIHtcbiAgICB2YXIgc3RhdGVOb2RlID0gbm9kZS5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoYmVmb3JlKSB7XG4gICAgICBpbnNlcnRJbkNvbnRhaW5lckJlZm9yZShwYXJlbnQsIHN0YXRlTm9kZSwgYmVmb3JlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXBwZW5kQ2hpbGRUb0NvbnRhaW5lcihwYXJlbnQsIHN0YXRlTm9kZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHRhZyA9PT0gSG9zdFBvcnRhbCB8fCAodGFnID09PSBIb3N0U2luZ2xldG9uICkpIDsgZWxzZSB7XG4gICAgdmFyIGNoaWxkID0gbm9kZS5jaGlsZDtcblxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlSW50b0NvbnRhaW5lcihjaGlsZCwgYmVmb3JlLCBwYXJlbnQpO1xuICAgICAgdmFyIHNpYmxpbmcgPSBjaGlsZC5zaWJsaW5nO1xuXG4gICAgICB3aGlsZSAoc2libGluZyAhPT0gbnVsbCkge1xuICAgICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKHNpYmxpbmcsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgICAgc2libGluZyA9IHNpYmxpbmcuc2libGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKG5vZGUsIGJlZm9yZSwgcGFyZW50KSB7XG4gIHZhciB0YWcgPSBub2RlLnRhZztcbiAgdmFyIGlzSG9zdCA9IHRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCB0YWcgPT09IEhvc3RUZXh0O1xuXG4gIGlmIChpc0hvc3QpIHtcbiAgICB2YXIgc3RhdGVOb2RlID0gbm9kZS5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoYmVmb3JlKSB7XG4gICAgICBpbnNlcnRCZWZvcmUocGFyZW50LCBzdGF0ZU5vZGUsIGJlZm9yZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFwcGVuZENoaWxkKHBhcmVudCwgc3RhdGVOb2RlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodGFnID09PSBIb3N0UG9ydGFsIHx8ICh0YWcgPT09IEhvc3RTaW5nbGV0b24gKSkgOyBlbHNlIHtcbiAgICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkO1xuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGUoY2hpbGQsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcblxuICAgICAgd2hpbGUgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKHNpYmxpbmcsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgICAgc2libGluZyA9IHNpYmxpbmcuc2libGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gLy8gVGhlc2UgYXJlIHRyYWNrZWQgb24gdGhlIHN0YWNrIGFzIHdlIHJlY3Vyc2l2ZWx5IHRyYXZlcnNlIGFcbi8vIGRlbGV0ZWQgc3VidHJlZS5cbi8vIFRPRE86IFVwZGF0ZSB0aGVzZSBkdXJpbmcgdGhlIHdob2xlIG11dGF0aW9uIHBoYXNlLCBub3QganVzdCBkdXJpbmdcbi8vIGEgZGVsZXRpb24uXG5cblxudmFyIGhvc3RQYXJlbnQgPSBudWxsO1xudmFyIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuXG5mdW5jdGlvbiBjb21taXREZWxldGlvbkVmZmVjdHMocm9vdCwgcmV0dXJuRmliZXIsIGRlbGV0ZWRGaWJlcikge1xuICB7XG4gICAgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgZGVsZXRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIC8vIFJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgaG9zdCBub2RlcyBmcm9tIHRoZSBwYXJlbnQsIGRldGFjaCByZWZzLCBjbGVhblxuICAgIC8vIHVwIG1vdW50ZWQgbGF5b3V0IGVmZmVjdHMsIGFuZCBjYWxsIGNvbXBvbmVudFdpbGxVbm1vdW50LlxuICAgIC8vIFdlIG9ubHkgbmVlZCB0byByZW1vdmUgdGhlIHRvcG1vc3QgaG9zdCBjaGlsZCBpbiBlYWNoIGJyYW5jaC4gQnV0IHRoZW4gd2VcbiAgICAvLyBzdGlsbCBuZWVkIHRvIGtlZXAgdHJhdmVyc2luZyB0byB1bm1vdW50IGVmZmVjdHMsIHJlZnMsIGFuZCBjV1UuIFRPRE86IFdlXG4gICAgLy8gY291bGQgc3BsaXQgdGhpcyBpbnRvIHR3byBzZXBhcmF0ZSB0cmF2ZXJzYWxzIGZ1bmN0aW9ucywgd2hlcmUgdGhlIHNlY29uZFxuICAgIC8vIG9uZSBkb2Vzbid0IGluY2x1ZGUgYW55IHJlbW92ZUNoaWxkIGxvZ2ljLiBUaGlzIGlzIG1heWJlIHRoZSBzYW1lXG4gICAgLy8gZnVuY3Rpb24gYXMgXCJkaXNhcHBlYXJMYXlvdXRFZmZlY3RzXCIgKG9yIHdoYXRldmVyIHRoYXQgdHVybnMgaW50byBhZnRlclxuICAgIC8vIHRoZSBsYXlvdXQgcGhhc2UgaXMgcmVmYWN0b3JlZCB0byB1c2UgcmVjdXJzaW9uKS5cbiAgICAvLyBCZWZvcmUgc3RhcnRpbmcsIGZpbmQgdGhlIG5lYXJlc3QgaG9zdCBwYXJlbnQgb24gdGhlIHN0YWNrIHNvIHdlIGtub3dcbiAgICAvLyB3aGljaCBpbnN0YW5jZS9jb250YWluZXIgdG8gcmVtb3ZlIHRoZSBjaGlsZHJlbiBmcm9tLlxuICAgIC8vIFRPRE86IEluc3RlYWQgb2Ygc2VhcmNoaW5nIHVwIHRoZSBmaWJlciByZXR1cm4gcGF0aCBvbiBldmVyeSBkZWxldGlvbiwgd2VcbiAgICAvLyBjYW4gdHJhY2sgdGhlIG5lYXJlc3QgaG9zdCBjb21wb25lbnQgb24gdGhlIEpTIHN0YWNrIGFzIHdlIHRyYXZlcnNlIHRoZVxuICAgIC8vIHRyZWUgZHVyaW5nIHRoZSBjb21taXQgcGhhc2UuIFRoaXMgd291bGQgbWFrZSBpbnNlcnRpb25zIGZhc3RlciwgdG9vLlxuICAgIHZhciBwYXJlbnQgPSByZXR1cm5GaWJlcjtcblxuICAgIGZpbmRQYXJlbnQ6IHdoaWxlIChwYXJlbnQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocGFyZW50LnRhZykge1xuICAgICAgICBjYXNlIEhvc3RTaW5nbGV0b246XG4gICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBob3N0UGFyZW50ID0gcGFyZW50LnN0YXRlTm9kZTtcbiAgICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuICAgICAgICAgICAgYnJlYWsgZmluZFBhcmVudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBob3N0UGFyZW50ID0gcGFyZW50LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgICAgaG9zdFBhcmVudElzQ29udGFpbmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrIGZpbmRQYXJlbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBob3N0UGFyZW50ID0gcGFyZW50LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgICAgaG9zdFBhcmVudElzQ29udGFpbmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrIGZpbmRQYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChob3N0UGFyZW50ID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgYSBob3N0IHBhcmVudC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5ICcgKyAnYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIGNvbW1pdERlbGV0aW9uRWZmZWN0c09uRmliZXIocm9vdCwgcmV0dXJuRmliZXIsIGRlbGV0ZWRGaWJlcik7XG4gICAgaG9zdFBhcmVudCA9IG51bGw7XG4gICAgaG9zdFBhcmVudElzQ29udGFpbmVyID0gZmFsc2U7XG4gIH1cblxuICBkZXRhY2hGaWJlck11dGF0aW9uKGRlbGV0ZWRGaWJlcik7XG59XG5cbmZ1bmN0aW9uIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBwYXJlbnQpIHtcbiAgLy8gVE9ETzogVXNlIGEgc3RhdGljIGZsYWcgdG8gc2tpcCB0cmVlcyB0aGF0IGRvbid0IGhhdmUgdW5tb3VudCBlZmZlY3RzXG4gIHZhciBjaGlsZCA9IHBhcmVudC5jaGlsZDtcblxuICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICBjb21taXREZWxldGlvbkVmZmVjdHNPbkZpYmVyKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgY2hpbGQpO1xuICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXREZWxldGlvbkVmZmVjdHNPbkZpYmVyKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVsZXRlZEZpYmVyKSB7XG4gIG9uQ29tbWl0VW5tb3VudChkZWxldGVkRmliZXIpOyAvLyBUaGUgY2FzZXMgaW4gdGhpcyBvdXRlciBzd2l0Y2ggbW9kaWZ5IHRoZSBzdGFjayBiZWZvcmUgdGhleSB0cmF2ZXJzZVxuICAvLyBpbnRvIHRoZWlyIHN1YnRyZWUuIFRoZXJlIGFyZSBzaW1wbGVyIGNhc2VzIGluIHRoZSBpbm5lciBzd2l0Y2hcbiAgLy8gdGhhdCBkb24ndCBtb2RpZnkgdGhlIHN0YWNrLlxuXG4gIHN3aXRjaCAoZGVsZXRlZEZpYmVyLnRhZykge1xuICAgIGNhc2UgSG9zdEhvaXN0YWJsZTpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICghb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG5cbiAgICAgICAgICBpZiAoZGVsZXRlZEZpYmVyLm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgICAgIHJlbGVhc2VSZXNvdXJjZShkZWxldGVkRmliZXIubWVtb2l6ZWRTdGF0ZSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChkZWxldGVkRmliZXIuc3RhdGVOb2RlKSB7XG4gICAgICAgICAgICB1bm1vdW50SG9pc3RhYmxlKGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSAvLyBGYWxsIHRocm91Z2hcblxuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKCFvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuKSB7XG4gICAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoZGVsZXRlZEZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgcHJldkhvc3RQYXJlbnQgPSBob3N0UGFyZW50O1xuICAgICAgICAgIHZhciBwcmV2SG9zdFBhcmVudElzQ29udGFpbmVyID0gaG9zdFBhcmVudElzQ29udGFpbmVyO1xuICAgICAgICAgIGhvc3RQYXJlbnQgPSBkZWxldGVkRmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpOyAvLyBOb3JtYWxseSB0aGlzIGlzIGNhbGxlZCBpbiBwYXNzaXZlIHVubW91bnQgZWZmZWN0IHBoYXNlIGhvd2V2ZXIgd2l0aFxuICAgICAgICAgIC8vIEhvc3RTaW5nbGV0b24gd2Ugd2FybiBpZiB5b3UgYWNxdWlyZSBvbmUgdGhhdCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgdG9cbiAgICAgICAgICAvLyBhIGRpZmZlcmVudCBmaWJlci4gVG8gaW5jcmVhc2Ugb3VyIGNoYW5jZXMgb2YgYXZvaWRpbmcgdGhpcywgc3BlY2lmaWNhbGx5XG4gICAgICAgICAgLy8gaWYgeW91IGtleWVkIGEgSG9zdFNpbmdsZXRvbiBzbyB0aGVyZSB3aWxsIGJlIGEgZGVsZXRlIGZvbGxvd2VkIGJ5IGEgUGxhY2VtZW50XG4gICAgICAgICAgLy8gd2UgdHJlYXQgZGV0YWNoIGVhZ2VybHkgaGVyZVxuXG4gICAgICAgICAgcmVsZWFzZVNpbmdsZXRvbkluc3RhbmNlKGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGUpO1xuICAgICAgICAgIGhvc3RQYXJlbnQgPSBwcmV2SG9zdFBhcmVudDtcbiAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSBwcmV2SG9zdFBhcmVudElzQ29udGFpbmVyO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSAvLyBGYWxsIHRocm91Z2hcblxuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoZGVsZXRlZEZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICAgICAgfSAvLyBJbnRlbnRpb25hbCBmYWxsdGhyb3VnaCB0byBuZXh0IGJyYW5jaFxuXG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAge1xuICAgICAgICAvLyBXZSBvbmx5IG5lZWQgdG8gcmVtb3ZlIHRoZSBuZWFyZXN0IGhvc3QgY2hpbGQuIFNldCB0aGUgaG9zdCBwYXJlbnRcbiAgICAgICAgLy8gdG8gYG51bGxgIG9uIHRoZSBzdGFjayB0byBpbmRpY2F0ZSB0aGF0IG5lc3RlZCBjaGlsZHJlbiBkb24ndFxuICAgICAgICAvLyBuZWVkIHRvIGJlIHJlbW92ZWQuXG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50ID0gaG9zdFBhcmVudDtcbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXIgPSBob3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IG51bGw7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IF9wcmV2SG9zdFBhcmVudDtcbiAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSBfcHJldkhvc3RQYXJlbnRJc0NvbnRhaW5lcjtcblxuICAgICAgICAgIGlmIChob3N0UGFyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBOb3cgdGhhdCBhbGwgdGhlIGNoaWxkIGVmZmVjdHMgaGF2ZSB1bm1vdW50ZWQsIHdlIGNhbiByZW1vdmUgdGhlXG4gICAgICAgICAgICAvLyBub2RlIGZyb20gdGhlIHRyZWUuXG4gICAgICAgICAgICBpZiAoaG9zdFBhcmVudElzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgIHJlbW92ZUNoaWxkRnJvbUNvbnRhaW5lcihob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlbW92ZUNoaWxkKGhvc3RQYXJlbnQsIGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgRGVoeWRyYXRlZEZyYWdtZW50OlxuICAgICAge1xuICAgICAgICAvLyBEZWxldGUgdGhlIGRlaHlkcmF0ZWQgc3VzcGVuc2UgYm91bmRhcnkgYW5kIGFsbCBvZiBpdHMgY29udGVudC5cblxuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoaG9zdFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKGhvc3RQYXJlbnRJc0NvbnRhaW5lcikge1xuICAgICAgICAgICAgICBjbGVhclN1c3BlbnNlQm91bmRhcnlGcm9tQ29udGFpbmVyKGhvc3RQYXJlbnQsIGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5KGhvc3RQYXJlbnQsIGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIC8vIFdoZW4gd2UgZ28gaW50byBhIHBvcnRhbCwgaXQgYmVjb21lcyB0aGUgcGFyZW50IHRvIHJlbW92ZSBmcm9tLlxuICAgICAgICAgIHZhciBfcHJldkhvc3RQYXJlbnQyID0gaG9zdFBhcmVudDtcbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXIyID0gaG9zdFBhcmVudElzQ29udGFpbmVyO1xuICAgICAgICAgIGhvc3RQYXJlbnQgPSBkZWxldGVkRmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG4gICAgICAgICAgaG9zdFBhcmVudElzQ29udGFpbmVyID0gdHJ1ZTtcbiAgICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgICBob3N0UGFyZW50ID0gX3ByZXZIb3N0UGFyZW50MjtcbiAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSBfcHJldkhvc3RQYXJlbnRJc0NvbnRhaW5lcjI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBkZWxldGVkRmliZXIudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBsYXN0RWZmZWN0ID0gdXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgICAgICAgICAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgICAgICAgICAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XG5cbiAgICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIHZhciB0YWcgPSBlZmZlY3QudGFnO1xuICAgICAgICAgICAgICAgIHZhciBpbnN0ID0gZWZmZWN0Lmluc3Q7XG4gICAgICAgICAgICAgICAgdmFyIGRlc3Ryb3kgPSBpbnN0LmRlc3Ryb3k7XG5cbiAgICAgICAgICAgICAgICBpZiAoZGVzdHJveSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoKHRhZyAmIEluc2VydGlvbikgIT09IE5vRmxhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBzYWZlbHlDYWxsRGVzdHJveShkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgodGFnICYgTGF5b3V0KSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdGFydGVkKGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoc2hvdWxkUHJvZmlsZShkZWxldGVkRmliZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICAgICAgICAgIGluc3QuZGVzdHJveSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICBzYWZlbHlDYWxsRGVzdHJveShkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpO1xuICAgICAgICAgICAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaW5zdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcbiAgICAgICAgICAgICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIGlmICghb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgIHNhZmVseURldGFjaFJlZihkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBzYWZlbHlDYWxsQ29tcG9uZW50V2lsbFVubW91bnQoZGVsZXRlZEZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBzYWZlbHlEZXRhY2hSZWYoZGVsZXRlZEZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcblxuICAgICAgICBpZiAoZGVsZXRlZEZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgICAgIC8vIElmIHRoaXMgb2Zmc2NyZWVuIGNvbXBvbmVudCBpcyBoaWRkZW4sIHdlIGFscmVhZHkgdW5tb3VudGVkIGl0LiBCZWZvcmVcbiAgICAgICAgICAvLyBkZWxldGluZyB0aGUgY2hpbGRyZW4sIHRyYWNrIHRoYXQgaXQncyBhbHJlYWR5IHVubW91bnRlZCBzbyB0aGF0IHdlXG4gICAgICAgICAgLy8gZG9uJ3QgYXR0ZW1wdCB0byB1bm1vdW50IHRoZSBlZmZlY3RzIGFnYWluLlxuICAgICAgICAgIC8vIFRPRE86IElmIHRoZSB0cmVlIGlzIGhpZGRlbiwgaW4gbW9zdCBjYXNlcyB3ZSBzaG91bGQgYmUgYWJsZSB0byBza2lwXG4gICAgICAgICAgLy8gb3ZlciB0aGUgbmVzdGVkIGNoaWxkcmVuIGVudGlyZWx5LiBBbiBleGNlcHRpb24gaXMgd2UgaGF2ZW4ndCB5ZXQgZm91bmRcbiAgICAgICAgICAvLyB0aGUgdG9wbW9zdCBob3N0IG5vZGUgdG8gZGVsZXRlLCB3aGljaCB3ZSBhbHJlYWR5IHRyYWNrIG9uIHRoZSBzdGFjay5cbiAgICAgICAgICAvLyBCdXQgdGhlIG90aGVyIGNhc2UgaXMgcG9ydGFscywgd2hpY2ggbmVlZCB0byBiZSBkZXRhY2hlZCBubyBtYXR0ZXIgaG93XG4gICAgICAgICAgLy8gZGVlcGx5IHRoZXkgYXJlIG5lc3RlZC4gV2Ugc2hvdWxkIHVzZSBhIHN1YnRyZWUgZmxhZyB0byB0cmFjayB3aGV0aGVyIGFcbiAgICAgICAgICAvLyBzdWJ0cmVlIGluY2x1ZGVzIGEgbmVzdGVkIHBvcnRhbC5cbiAgICAgICAgICB2YXIgcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiB8fCBkZWxldGVkRmliZXIubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcbiAgICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0U3VzcGVuc2VDYWxsYmFjayhmaW5pc2hlZFdvcmspIHtcbn1cblxuZnVuY3Rpb24gY29tbWl0U3VzcGVuc2VIeWRyYXRpb25DYWxsYmFja3MoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspIHtcblxuICB2YXIgbmV3U3RhdGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAobmV3U3RhdGUgPT09IG51bGwpIHtcbiAgICB2YXIgY3VycmVudCA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgc3VzcGVuc2VJbnN0YW5jZSA9IHByZXZTdGF0ZS5kZWh5ZHJhdGVkO1xuXG4gICAgICAgIGlmIChzdXNwZW5zZUluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKTtcblxuICAgICAgICAgICAgdmFyIGh5ZHJhdGlvbkNhbGxiYWNrcywgb25IeWRyYXRlZDsgaWYgKGVuYWJsZVN1c3BlbnNlQ2FsbGJhY2spIDtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFJldHJ5Q2FjaGUoZmluaXNoZWRXb3JrKSB7XG4gIC8vIFRPRE86IFVuaWZ5IHRoZSBpbnRlcmZhY2UgZm9yIHRoZSByZXRyeSBjYWNoZSBzbyB3ZSBkb24ndCBoYXZlIHRvIHN3aXRjaFxuICAvLyBvbiB0aGUgdGFnIGxpa2UgdGhpcy5cbiAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChyZXRyeUNhY2hlID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0cnlDYWNoZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGUgPSBuZXcgUG9zc2libHlXZWFrU2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmV0cnlDYWNoZTtcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICB2YXIgX3JldHJ5Q2FjaGUgPSBpbnN0YW5jZS5fcmV0cnlDYWNoZTtcblxuICAgICAgICBpZiAoX3JldHJ5Q2FjaGUgPT09IG51bGwpIHtcbiAgICAgICAgICBfcmV0cnlDYWNoZSA9IGluc3RhbmNlLl9yZXRyeUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha1NldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIF9yZXRyeUNhY2hlO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5leHBlY3RlZCBTdXNwZW5zZSBoYW5kbGVyIHRhZyAoXCIgKyBmaW5pc2hlZFdvcmsudGFnICsgXCIpLiBUaGlzIGlzIGEgXCIgKyAnYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRldGFjaE9mZnNjcmVlbkluc3RhbmNlKGluc3RhbmNlKSB7XG4gIHZhciBmaWJlciA9IGluc3RhbmNlLl9jdXJyZW50O1xuXG4gIGlmIChmaWJlciA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2FsbGluZyBPZmZzY3JlZW4uZGV0YWNoIGJlZm9yZSBpbnN0YW5jZSBoYW5kbGUgaGFzIGJlZW4gc2V0LicpO1xuICB9XG5cbiAgaWYgKChpbnN0YW5jZS5fcGVuZGluZ1Zpc2liaWxpdHkgJiBPZmZzY3JlZW5EZXRhY2hlZCkgIT09IE5vRmxhZ3MkMSkge1xuICAgIC8vIFRoZSBpbnN0YW5jZSBpcyBhbHJlYWR5IGRldGFjaGVkLCB0aGlzIGlzIGEgbm9vcC5cbiAgICByZXR1cm47XG4gIH0gLy8gVE9ETzogVGhlcmUgaXMgYW4gb3Bwb3J0dW5pdHkgdG8gb3B0aW1pc2UgdGhpcyBieSBub3QgZW50ZXJpbmcgY29tbWl0IHBoYXNlXG4gIC8vIGFuZCB1bm1vdW50aW5nIGVmZmVjdHMgZGlyZWN0bHkuXG5cblxuICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgaW5zdGFuY2UuX3BlbmRpbmdWaXNpYmlsaXR5IHw9IE9mZnNjcmVlbkRldGFjaGVkO1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgU3luY0xhbmUpO1xuICB9XG59XG5mdW5jdGlvbiBhdHRhY2hPZmZzY3JlZW5JbnN0YW5jZShpbnN0YW5jZSkge1xuICB2YXIgZmliZXIgPSBpbnN0YW5jZS5fY3VycmVudDtcblxuICBpZiAoZmliZXIgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGxpbmcgT2Zmc2NyZWVuLmRldGFjaCBiZWZvcmUgaW5zdGFuY2UgaGFuZGxlIGhhcyBiZWVuIHNldC4nKTtcbiAgfVxuXG4gIGlmICgoaW5zdGFuY2UuX3BlbmRpbmdWaXNpYmlsaXR5ICYgT2Zmc2NyZWVuRGV0YWNoZWQpID09PSBOb0ZsYWdzJDEpIHtcbiAgICAvLyBUaGUgaW5zdGFuY2UgaXMgYWxyZWFkeSBhdHRhY2hlZCwgdGhpcyBpcyBhIG5vb3AuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIGluc3RhbmNlLl9wZW5kaW5nVmlzaWJpbGl0eSAmPSB+T2Zmc2NyZWVuRGV0YWNoZWQ7XG4gICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmssIHdha2VhYmxlcykge1xuICAvLyBJZiB0aGlzIGJvdW5kYXJ5IGp1c3QgdGltZWQgb3V0LCB0aGVuIGl0IHdpbGwgaGF2ZSBhIHNldCBvZiB3YWtlYWJsZXMuXG4gIC8vIEZvciBlYWNoIHdha2VhYmxlLCBhdHRhY2ggYSBsaXN0ZW5lciBzbyB0aGF0IHdoZW4gaXQgcmVzb2x2ZXMsIFJlYWN0XG4gIC8vIGF0dGVtcHRzIHRvIHJlLXJlbmRlciB0aGUgYm91bmRhcnkgaW4gdGhlIHByaW1hcnkgKHByZS10aW1lb3V0KSBzdGF0ZS5cbiAgdmFyIHJldHJ5Q2FjaGUgPSBnZXRSZXRyeUNhY2hlKGZpbmlzaGVkV29yayk7XG4gIHdha2VhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uICh3YWtlYWJsZSkge1xuICAgIC8vIE1lbW9pemUgdXNpbmcgdGhlIGJvdW5kYXJ5IGZpYmVyIHRvIHByZXZlbnQgcmVkdW5kYW50IGxpc3RlbmVycy5cbiAgICB2YXIgcmV0cnkgPSByZXNvbHZlUmV0cnlXYWtlYWJsZS5iaW5kKG51bGwsIGZpbmlzaGVkV29yaywgd2FrZWFibGUpO1xuXG4gICAgaWYgKCFyZXRyeUNhY2hlLmhhcyh3YWtlYWJsZSkpIHtcbiAgICAgIHJldHJ5Q2FjaGUuYWRkKHdha2VhYmxlKTtcblxuICAgICAge1xuICAgICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgICBpZiAoaW5Qcm9ncmVzc0xhbmVzICE9PSBudWxsICYmIGluUHJvZ3Jlc3NSb290ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIHBlbmRpbmcgd29yayBzdGlsbCwgYXNzb2NpYXRlIHRoZSBvcmlnaW5hbCB1cGRhdGVycyB3aXRoIGl0LlxuICAgICAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhpblByb2dyZXNzUm9vdCwgaW5Qcm9ncmVzc0xhbmVzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0V4cGVjdGVkIGZpbmlzaGVkIHJvb3QgYW5kIGxhbmVzIHRvIGJlIHNldC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgd2FrZWFibGUudGhlbihyZXRyeSwgcmV0cnkpO1xuICAgIH1cbiAgfSk7XG59IC8vIFRoaXMgZnVuY3Rpb24gZGV0ZWN0cyB3aGVuIGEgU3VzcGVuc2UgYm91bmRhcnkgZ29lcyBmcm9tIHZpc2libGUgdG8gaGlkZGVuLlxuZnVuY3Rpb24gY29tbWl0TXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMpIHtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gY29tbWl0dGVkTGFuZXM7XG4gIGluUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290KTtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG4gIGluUHJvZ3Jlc3NSb290ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgbGFuZXMpIHtcbiAgLy8gRGVsZXRpb25zIGVmZmVjdHMgY2FuIGJlIHNjaGVkdWxlZCBvbiBhbnkgZmliZXIgdHlwZS4gVGhleSBuZWVkIHRvIGhhcHBlblxuICAvLyBiZWZvcmUgdGhlIGNoaWxkcmVuIGVmZmVjdHMgaGFlIGZpcmVkLlxuICB2YXIgZGVsZXRpb25zID0gcGFyZW50RmliZXIuZGVsZXRpb25zO1xuXG4gIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlbGV0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoaWxkVG9EZWxldGUgPSBkZWxldGlvbnNbaV07XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbW1pdERlbGV0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgY2hpbGRUb0RlbGV0ZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjaGlsZFRvRGVsZXRlLCBwYXJlbnRGaWJlciwgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwcmV2RGVidWdGaWJlciA9IGdldEN1cnJlbnRGaWJlcigpO1xuXG4gIGlmIChwYXJlbnRGaWJlci5zdWJ0cmVlRmxhZ3MgJiBNdXRhdGlvbk1hc2spIHtcbiAgICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNoaWxkKTtcbiAgICAgIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoY2hpbGQsIHJvb3QpO1xuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cbiAgfVxuXG4gIHNldEN1cnJlbnRGaWJlcihwcmV2RGVidWdGaWJlcik7XG59XG5cbnZhciBjdXJyZW50SG9pc3RhYmxlUm9vdCA9IG51bGw7XG5cbmZ1bmN0aW9uIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290LCBsYW5lcykge1xuICB2YXIgY3VycmVudCA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG4gIHZhciBmbGFncyA9IGZpbmlzaGVkV29yay5mbGFnczsgLy8gVGhlIGVmZmVjdCBmbGFnIHNob3VsZCBiZSBjaGVja2VkICphZnRlciogd2UgcmVmaW5lIHRoZSB0eXBlIG9mIGZpYmVyLFxuICAvLyBiZWNhdXNlIHRoZSBmaWJlciB0YWcgaXMgbW9yZSBzcGVjaWZpYy4gQW4gZXhjZXB0aW9uIGlzIGFueSBmbGFnIHJlbGF0ZWRcbiAgLy8gdG8gcmVjb25jaWxpYXRpb24sIGJlY2F1c2UgdGhvc2UgY2FuIGJlIHNldCBvbiBhbGwgZmliZXIgdHlwZXMuXG5cbiAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KEluc2VydGlvbiB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuKTtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoSW5zZXJ0aW9uIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9IC8vIExheW91dCBlZmZlY3RzIGFyZSBkZXN0cm95ZWQgZHVyaW5nIHRoZSBtdXRhdGlvbiBwaGFzZSBzbyB0aGF0IGFsbFxuICAgICAgICAgIC8vIGRlc3Ryb3kgZnVuY3Rpb25zIGZvciBhbGwgZmliZXJzIGFyZSBjYWxsZWQgYmVmb3JlIGFueSBjcmVhdGUgZnVuY3Rpb25zLlxuICAgICAgICAgIC8vIFRoaXMgcHJldmVudHMgc2libGluZyBjb21wb25lbnQgZWZmZWN0cyBmcm9tIGludGVyZmVyaW5nIHdpdGggZWFjaCBvdGhlcixcbiAgICAgICAgICAvLyBlLmcuIGEgZGVzdHJveSBmdW5jdGlvbiBpbiBvbmUgY29tcG9uZW50IHNob3VsZCBuZXZlciBvdmVycmlkZSBhIHJlZiBzZXRcbiAgICAgICAgICAvLyBieSBhIGNyZWF0ZSBmdW5jdGlvbiBpbiBhbm90aGVyIGNvbXBvbmVudCBkdXJpbmcgdGhlIHNhbWUgY29tbWl0LlxuXG5cbiAgICAgICAgICBpZiAoc2hvdWxkUHJvZmlsZShmaW5pc2hlZFdvcmspKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgUmVmKSB7XG4gICAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHNhZmVseURldGFjaFJlZihjdXJyZW50LCBjdXJyZW50LnJldHVybik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZsYWdzICYgQ2FsbGJhY2sgJiYgb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuKSB7XG4gICAgICAgICAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBkZWZlckhpZGRlbkNhbGxiYWNrcyh1cGRhdGVRdWV1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0SG9pc3RhYmxlOlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgLy8gV2UgY2FzdCBiZWNhdXNlIHdlIGFsd2F5cyBzZXQgdGhlIHJvb3QgYXQgdGhlIFJlYWN0IHJvb3QgYW5kIHNvIGl0IGNhbm5vdCBiZVxuICAgICAgICAgIC8vIG51bGwgd2hpbGUgd2UgYXJlIHByb2Nlc3NpbmcgbXV0YXRpb24gZWZmZWN0c1xuICAgICAgICAgIHZhciBob2lzdGFibGVSb290ID0gY3VycmVudEhvaXN0YWJsZVJvb3Q7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgICAgaWYgKGZsYWdzICYgUmVmKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCwgY3VycmVudC5yZXR1cm4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRSZXNvdXJjZSA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkU3RhdGUgOiBudWxsO1xuICAgICAgICAgICAgdmFyIG5ld1Jlc291cmNlID0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFdlIGFyZSBtb3VudGluZyBhIG5ldyBIb3N0SG9pc3RhYmxlIEZpYmVyLiBXZSBmb3JrIHRoZSBtb3VudFxuICAgICAgICAgICAgICAvLyBiZWhhdmlvciBiYXNlZCBvbiB3aGV0aGVyIHRoaXMgaW5zdGFuY2UgaXMgYSBIb2lzdGFibGUgSW5zdGFuY2VcbiAgICAgICAgICAgICAgLy8gb3IgYSBIb2lzdGFibGUgUmVzb3VyY2VcbiAgICAgICAgICAgICAgaWYgKG5ld1Jlc291cmNlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbmlzaGVkV29yay5zdGF0ZU5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGZpbmlzaGVkV29yay5zdGF0ZU5vZGUgPSBoeWRyYXRlSG9pc3RhYmxlKGhvaXN0YWJsZVJvb3QsIGZpbmlzaGVkV29yay50eXBlLCBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcywgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgbW91bnRIb2lzdGFibGUoaG9pc3RhYmxlUm9vdCwgZmluaXNoZWRXb3JrLnR5cGUsIGZpbmlzaGVkV29yay5zdGF0ZU5vZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID0gYWNxdWlyZVJlc291cmNlKGhvaXN0YWJsZVJvb3QsIG5ld1Jlc291cmNlLCBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFJlc291cmNlICE9PSBuZXdSZXNvdXJjZSkge1xuICAgICAgICAgICAgICAvLyBXZSBhcmUgbW92aW5nIHRvIG9yIGZyb20gSG9pc3RhYmxlIFJlc291cmNlLCBvciBiZXR3ZWVuIGRpZmZlcmVudCBIb2lzdGFibGUgUmVzb3VyY2VzXG4gICAgICAgICAgICAgIGlmIChjdXJyZW50UmVzb3VyY2UgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudC5zdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIHVubW91bnRIb2lzdGFibGUoY3VycmVudC5zdGF0ZU5vZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZWxlYXNlUmVzb3VyY2UoY3VycmVudFJlc291cmNlKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChuZXdSZXNvdXJjZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIG1vdW50SG9pc3RhYmxlKGhvaXN0YWJsZVJvb3QsIGZpbmlzaGVkV29yay50eXBlLCBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhY3F1aXJlUmVzb3VyY2UoaG9pc3RhYmxlUm9vdCwgbmV3UmVzb3VyY2UsIGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChuZXdSZXNvdXJjZSA9PT0gbnVsbCAmJiBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFdlIG1heSBoYXZlIGFuIHVwZGF0ZSBvbiBhIEhvaXN0YWJsZSBlbGVtZW50XG4gICAgICAgICAgICAgIHZhciB1cGRhdGVQYXlsb2FkID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuICAgICAgICAgICAgICBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWUgPSBudWxsO1xuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29tbWl0VXBkYXRlKGZpbmlzaGVkV29yay5zdGF0ZU5vZGUsIHVwZGF0ZVBheWxvYWQsIGZpbmlzaGVkV29yay50eXBlLCBjdXJyZW50Lm1lbW9pemVkUHJvcHMsIGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzLCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIEZhbGwgdGhyb3VnaFxuXG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RTaW5nbGV0b246XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICAgIHZhciBwcmV2aW91c1dvcmsgPSBmaW5pc2hlZFdvcmsuYWx0ZXJuYXRlO1xuXG4gICAgICAgICAgICBpZiAocHJldmlvdXNXb3JrID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBzaW5nbGV0b24gPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICB2YXIgcHJvcHMgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wczsgLy8gVGhpcyB3YXMgYSBuZXcgbW91bnQsIHdlIG5lZWQgdG8gY2xlYXIgYW5kIHNldCBpbml0aWFsIHByb3BlcnRpZXNcblxuICAgICAgICAgICAgICBjbGVhclNpbmdsZXRvbihzaW5nbGV0b24pO1xuICAgICAgICAgICAgICBhY3F1aXJlU2luZ2xldG9uSW5zdGFuY2UoZmluaXNoZWRXb3JrLnR5cGUsIHByb3BzLCBzaW5nbGV0b24sIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIEZhbGwgdGhyb3VnaFxuXG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgUmVmKSB7XG4gICAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHNhZmVseURldGFjaFJlZihjdXJyZW50LCBjdXJyZW50LnJldHVybik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAge1xuICAgICAgICAgIC8vIFRPRE86IENvbnRlbnRSZXNldCBnZXRzIGNsZWFyZWQgYnkgdGhlIGNoaWxkcmVuIGR1cmluZyB0aGUgY29tbWl0XG4gICAgICAgICAgLy8gcGhhc2UuIFRoaXMgaXMgYSByZWZhY3RvciBoYXphcmQgYmVjYXVzZSBpdCBtZWFucyB3ZSBtdXN0IHJlYWRcbiAgICAgICAgICAvLyBmbGFncyB0aGUgZmxhZ3MgYWZ0ZXIgYGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0c2AgaGFzIGFscmVhZHkgcnVuO1xuICAgICAgICAgIC8vIHRoZSBvcmRlciBtYXR0ZXJzLiBXZSBzaG91bGQgcmVmYWN0b3Igc28gdGhhdCBDb250ZW50UmVzZXQgZG9lcyBub3RcbiAgICAgICAgICAvLyByZWx5IG9uIG11dGF0aW5nIHRoZSBmbGFnIGR1cmluZyBjb21taXQuIExpa2UgYnkgc2V0dGluZyBhIGZsYWdcbiAgICAgICAgICAvLyBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSBpbnN0ZWFkLlxuICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuZmxhZ3MgJiBDb250ZW50UmVzZXQpIHtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJlc2V0VGV4dENvbnRlbnQoaW5zdGFuY2UpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgICB2YXIgX2luc3RhbmNlMiA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICAgIGlmIChfaW5zdGFuY2UyICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gQ29tbWl0IHRoZSB3b3JrIHByZXBhcmVkIGVhcmxpZXIuXG4gICAgICAgICAgICAgIHZhciBuZXdQcm9wcyA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzOyAvLyBGb3IgaHlkcmF0aW9uIHdlIHJldXNlIHRoZSB1cGRhdGUgcGF0aCBidXQgd2UgdHJlYXQgdGhlIG9sZFByb3BzXG4gICAgICAgICAgICAgIC8vIGFzIHRoZSBuZXdQcm9wcy4gVGhlIHVwZGF0ZVBheWxvYWQgd2lsbCBjb250YWluIHRoZSByZWFsIGNoYW5nZSBpblxuICAgICAgICAgICAgICAvLyB0aGlzIGNhc2UuXG5cbiAgICAgICAgICAgICAgdmFyIG9sZFByb3BzID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IG5ld1Byb3BzO1xuICAgICAgICAgICAgICB2YXIgdHlwZSA9IGZpbmlzaGVkV29yay50eXBlOyAvLyBUT0RPOiBUeXBlIHRoZSB1cGRhdGVRdWV1ZSB0byBiZSBzcGVjaWZpYyB0byBob3N0IGNvbXBvbmVudHMuXG5cbiAgICAgICAgICAgICAgdmFyIF91cGRhdGVQYXlsb2FkID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuICAgICAgICAgICAgICBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWUgPSBudWxsO1xuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29tbWl0VXBkYXRlKF9pbnN0YW5jZTIsIF91cGRhdGVQYXlsb2FkLCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgaGF2ZSBhIHRleHQgbm9kZSBpbml0aWFsaXplZC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgJyArICdjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgdGV4dEluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICAgICAgICAgIHZhciBuZXdUZXh0ID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcbiAgICAgICAgICAgIC8vIGFzIHRoZSBuZXdQcm9wcy4gVGhlIHVwZGF0ZVBheWxvYWQgd2lsbCBjb250YWluIHRoZSByZWFsIGNoYW5nZSBpblxuICAgICAgICAgICAgLy8gdGhpcyBjYXNlLlxuXG4gICAgICAgICAgICB2YXIgb2xkVGV4dCA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBuZXdUZXh0O1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb21taXRUZXh0VXBkYXRlKHRleHRJbnN0YW5jZSwgb2xkVGV4dCwgbmV3VGV4dCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgcHJlcGFyZVRvQ29tbWl0SG9pc3RhYmxlcygpO1xuICAgICAgICAgIHZhciBwcmV2aW91c0hvaXN0YWJsZVJvb3QgPSBjdXJyZW50SG9pc3RhYmxlUm9vdDtcbiAgICAgICAgICBjdXJyZW50SG9pc3RhYmxlUm9vdCA9IGdldEhvaXN0YWJsZVJvb3Qocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgY3VycmVudEhvaXN0YWJsZVJvb3QgPSBwcmV2aW91c0hvaXN0YWJsZVJvb3Q7XG4gICAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICB2YXIgcHJldlJvb3RTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICAgICAgICBpZiAocHJldlJvb3RTdGF0ZS5pc0RlaHlkcmF0ZWQpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgY29tbWl0SHlkcmF0ZWRDb250YWluZXIocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9wcmV2aW91c0hvaXN0YWJsZVJvb3QgPSBjdXJyZW50SG9pc3RhYmxlUm9vdDtcbiAgICAgICAgICBjdXJyZW50SG9pc3RhYmxlUm9vdCA9IGdldEhvaXN0YWJsZVJvb3QoZmluaXNoZWRXb3JrLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTtcbiAgICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgY3VycmVudEhvaXN0YWJsZVJvb3QgPSBfcHJldmlvdXNIb2lzdGFibGVSb290O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTsgLy8gVE9ETzogV2Ugc2hvdWxkIG1hcmsgYSBmbGFnIG9uIHRoZSBTdXNwZW5zZSBmaWJlciBpdHNlbGYsIHJhdGhlciB0aGFuXG4gICAgICAgIC8vIHJlbHlpbmcgb24gdGhlIE9mZnNjcmVlbiBmaWJlciBoYXZpbmcgYSBmbGFnIGFsc28gYmVpbmcgbWFya2VkLiBUaGVcbiAgICAgICAgLy8gcmVhc29uIGlzIHRoYXQgdGhpcyBvZmZzY3JlZW4gZmliZXIgbWlnaHQgbm90IGJlIHBhcnQgb2YgdGhlIHdvcmstaW4tXG4gICAgICAgIC8vIHByb2dyZXNzIHRyZWUhIEl0IGNvdWxkIGhhdmUgYmVlbiByZXVzZWQgZnJvbSBhIHByZXZpb3VzIHJlbmRlci4gVGhpc1xuICAgICAgICAvLyBkb2Vzbid0IGxlYWQgdG8gaW5jb3JyZWN0IGJlaGF2aW9yIGJlY2F1c2Ugd2UgZG9uJ3QgcmVseSBvbiB0aGUgZmxhZ1xuICAgICAgICAvLyBjaGVjayBhbG9uZTsgd2UgYWxzbyBjb21wYXJlIHRoZSBzdGF0ZXMgZXhwbGljaXRseSBiZWxvdy4gQnV0IGZvclxuICAgICAgICAvLyBtb2RlbGluZyBwdXJwb3Nlcywgd2UgX3Nob3VsZF8gYmUgYWJsZSB0byByZWx5IG9uIHRoZSBmbGFnIGNoZWNrIGFsb25lLlxuICAgICAgICAvLyBTbyB0aGlzIGlzIGEgYml0IGZyYWdpbGUuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIEFsc28sIGFsbCB0aGlzIGxvZ2ljIGNvdWxkL3Nob3VsZCBtb3ZlIHRvIHRoZSBwYXNzaXZlIHBoYXNlIHNvIGl0XG4gICAgICAgIC8vIGRvZXNuJ3QgYmxvY2sgcGFpbnQuXG5cbiAgICAgICAgdmFyIG9mZnNjcmVlbkZpYmVyID0gZmluaXNoZWRXb3JrLmNoaWxkO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5GaWJlci5mbGFncyAmIFZpc2liaWxpdHkpIHtcbiAgICAgICAgICAvLyBUaHJvdHRsZSB0aGUgYXBwZWFyYW5jZSBhbmQgZGlzYXBwZWFyYW5jZSBvZiBTdXNwZW5zZSBmYWxsYmFja3MuXG4gICAgICAgICAgdmFyIGlzU2hvd2luZ0ZhbGxiYWNrID0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUgIT09IG51bGw7XG4gICAgICAgICAgdmFyIHdhc1Nob3dpbmdGYWxsYmFjayA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKGlzU2hvd2luZ0ZhbGxiYWNrICE9PSB3YXNTaG93aW5nRmFsbGJhY2spIHtcbiAgICAgICAgICAgICAgLy8gQSBmYWxsYmFjayBpcyBlaXRoZXIgYXBwZWFyaW5nIG9yIGRpc2FwcGVhcmluZy5cbiAgICAgICAgICAgICAgbWFya0NvbW1pdFRpbWVPZkZhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdFN1c3BlbnNlQ2FsbGJhY2soZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIHJldHJ5UXVldWUgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICBpZiAocmV0cnlRdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgICAgICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrLCByZXRyeVF1ZXVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKGZsYWdzICYgUmVmKSB7XG4gICAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHNhZmVseURldGFjaFJlZihjdXJyZW50LCBjdXJyZW50LnJldHVybik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG5ld1N0YXRlID0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGU7XG4gICAgICAgIHZhciBpc0hpZGRlbiA9IG5ld1N0YXRlICE9PSBudWxsO1xuICAgICAgICB2YXIgd2FzSGlkZGVuID0gY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgaWYgKGZpbmlzaGVkV29yay5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgICAvLyBCZWZvcmUgY29tbWl0dGluZyB0aGUgY2hpbGRyZW4sIHRyYWNrIG9uIHRoZSBzdGFjayB3aGV0aGVyIHRoaXNcbiAgICAgICAgICAvLyBvZmZzY3JlZW4gc3VidHJlZSB3YXMgYWxyZWFkeSBoaWRkZW4sIHNvIHRoYXQgd2UgZG9uJ3QgdW5tb3VudCB0aGVcbiAgICAgICAgICAvLyBlZmZlY3RzIGFnYWluLlxuICAgICAgICAgIHZhciBwcmV2T2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuID0gb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuO1xuICAgICAgICAgIHZhciBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47XG4gICAgICAgICAgb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiB8fCBpc0hpZGRlbjtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gfHwgd2FzSGlkZGVuO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47XG4gICAgICAgICAgb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgdmFyIG9mZnNjcmVlbkluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTsgLy8gVE9ETzogQWRkIGV4cGxpY2l0IGVmZmVjdCBmbGFnIHRvIHNldCBfY3VycmVudC5cblxuICAgICAgICBvZmZzY3JlZW5JbnN0YW5jZS5fY3VycmVudCA9IGZpbmlzaGVkV29yazsgLy8gT2Zmc2NyZWVuIHN0b3JlcyBwZW5kaW5nIGNoYW5nZXMgdG8gdmlzaWJpbGl0eSBpbiBgX3BlbmRpbmdWaXNpYmlsaXR5YC4gVGhpcyBpc1xuICAgICAgICAvLyB0byBzdXBwb3J0IGJhdGNoaW5nIG9mIGBhdHRhY2hgIGFuZCBgZGV0YWNoYCBjYWxscy5cblxuICAgICAgICBvZmZzY3JlZW5JbnN0YW5jZS5fdmlzaWJpbGl0eSAmPSB+T2Zmc2NyZWVuRGV0YWNoZWQ7XG4gICAgICAgIG9mZnNjcmVlbkluc3RhbmNlLl92aXNpYmlsaXR5IHw9IG9mZnNjcmVlbkluc3RhbmNlLl9wZW5kaW5nVmlzaWJpbGl0eSAmIE9mZnNjcmVlbkRldGFjaGVkO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFZpc2liaWxpdHkpIHtcbiAgICAgICAgICAvLyBUcmFjayB0aGUgY3VycmVudCBzdGF0ZSBvbiB0aGUgT2Zmc2NyZWVuIGluc3RhbmNlIHNvIHdlIGNhblxuICAgICAgICAgIC8vIHJlYWQgaXQgZHVyaW5nIGFuIGV2ZW50XG4gICAgICAgICAgaWYgKGlzSGlkZGVuKSB7XG4gICAgICAgICAgICBvZmZzY3JlZW5JbnN0YW5jZS5fdmlzaWJpbGl0eSAmPSB+T2Zmc2NyZWVuVmlzaWJsZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2Zmc2NyZWVuSW5zdGFuY2UuX3Zpc2liaWxpdHkgfD0gT2Zmc2NyZWVuVmlzaWJsZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXNIaWRkZW4pIHtcbiAgICAgICAgICAgIHZhciBpc1VwZGF0ZSA9IGN1cnJlbnQgIT09IG51bGw7XG4gICAgICAgICAgICB2YXIgd2FzSGlkZGVuQnlBbmNlc3Rvck9mZnNjcmVlbiA9IG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiB8fCBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuOyAvLyBPbmx5IHRyaWdnZXIgZGlzYXBwZXIgbGF5b3V0IGVmZmVjdHMgaWY6XG4gICAgICAgICAgICAvLyAgIC0gVGhpcyBpcyBhbiB1cGRhdGUsIG5vdCBmaXJzdCBtb3VudC5cbiAgICAgICAgICAgIC8vICAgLSBUaGlzIE9mZnNjcmVlbiB3YXMgbm90IGhpZGRlbiBiZWZvcmUuXG4gICAgICAgICAgICAvLyAgIC0gQW5jZXN0b3IgT2Zmc2NyZWVuIHdhcyBub3QgaGlkZGVuIGluIHByZXZpb3VzIGNvbW1pdC5cblxuICAgICAgICAgICAgaWYgKGlzVXBkYXRlICYmICF3YXNIaWRkZW4gJiYgIXdhc0hpZGRlbkJ5QW5jZXN0b3JPZmZzY3JlZW4pIHtcbiAgICAgICAgICAgICAgaWYgKChmaW5pc2hlZFdvcmsubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICAgICAgLy8gRGlzYXBwZWFyIHRoZSBsYXlvdXQgZWZmZWN0cyBvZiBhbGwgdGhlIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURpc2FwcGVhckxheW91dEVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gLy8gT2Zmc2NyZWVuIHdpdGggbWFudWFsIG1vZGUgbWFuYWdlcyB2aXNpYmlsaXR5IG1hbnVhbGx5LlxuXG5cbiAgICAgICAgICBpZiAoIWlzT2Zmc2NyZWVuTWFudWFsKGZpbmlzaGVkV29yaykpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgbmVlZHMgdG8gcnVuIHdoZW5ldmVyIHRoZXJlJ3MgYW4gaW5zZXJ0aW9uIG9yIHVwZGF0ZVxuICAgICAgICAgICAgLy8gaW5zaWRlIGEgaGlkZGVuIE9mZnNjcmVlbiB0cmVlLlxuICAgICAgICAgICAgaGlkZU9yVW5oaWRlQWxsQ2hpbGRyZW4oZmluaXNoZWRXb3JrLCBpc0hpZGRlbik7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIFRPRE86IE1vdmUgdG8gcGFzc2l2ZSBwaGFzZVxuXG5cbiAgICAgICAgaWYgKGZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgdmFyIG9mZnNjcmVlblF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKG9mZnNjcmVlblF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgX3JldHJ5UXVldWUgPSBvZmZzY3JlZW5RdWV1ZS5yZXRyeVF1ZXVlO1xuXG4gICAgICAgICAgICBpZiAoX3JldHJ5UXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgb2Zmc2NyZWVuUXVldWUucmV0cnlRdWV1ZSA9IG51bGw7XG4gICAgICAgICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrLCBfcmV0cnlRdWV1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgdmFyIF9yZXRyeVF1ZXVlMiA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgIGlmIChfcmV0cnlRdWV1ZTIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgICAgICAgICBhdHRhY2hTdXNwZW5zZVJldHJ5TGlzdGVuZXJzKGZpbmlzaGVkV29yaywgX3JldHJ5UXVldWUyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAge1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKSB7XG4gIC8vIFBsYWNlbWVudCBlZmZlY3RzIChpbnNlcnRpb25zLCByZW9yZGVycykgY2FuIGJlIHNjaGVkdWxlZCBvbiBhbnkgZmliZXJcbiAgLy8gdHlwZS4gVGhleSBuZWVkcyB0byBoYXBwZW4gYWZ0ZXIgdGhlIGNoaWxkcmVuIGVmZmVjdHMgaGF2ZSBmaXJlZCwgYnV0XG4gIC8vIGJlZm9yZSB0aGUgZWZmZWN0cyBvbiB0aGlzIGZpYmVyIGhhdmUgZmlyZWQuXG4gIHZhciBmbGFncyA9IGZpbmlzaGVkV29yay5mbGFncztcblxuICBpZiAoZmxhZ3MgJiBQbGFjZW1lbnQpIHtcbiAgICB0cnkge1xuICAgICAgY29tbWl0UGxhY2VtZW50KGZpbmlzaGVkV29yayk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgIH0gLy8gQ2xlYXIgdGhlIFwicGxhY2VtZW50XCIgZnJvbSBlZmZlY3QgdGFnIHNvIHRoYXQgd2Uga25vdyB0aGF0IHRoaXMgaXNcbiAgICAvLyBpbnNlcnRlZCwgYmVmb3JlIGFueSBsaWZlLWN5Y2xlcyBsaWtlIGNvbXBvbmVudERpZE1vdW50IGdldHMgY2FsbGVkLlxuICAgIC8vIFRPRE86IGZpbmRET01Ob2RlIGRvZXNuJ3QgcmVseSBvbiB0aGlzIGFueSBtb3JlIGJ1dCBpc01vdW50ZWQgZG9lc1xuICAgIC8vIGFuZCBpc01vdW50ZWQgaXMgZGVwcmVjYXRlZCBhbnl3YXkgc28gd2Ugc2hvdWxkIGJlIGFibGUgdG8ga2lsbCB0aGlzLlxuXG5cbiAgICBmaW5pc2hlZFdvcmsuZmxhZ3MgJj0gflBsYWNlbWVudDtcbiAgfVxuXG4gIGlmIChmbGFncyAmIEh5ZHJhdGluZykge1xuICAgIGZpbmlzaGVkV29yay5mbGFncyAmPSB+SHlkcmF0aW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdExheW91dEVmZmVjdHMoZmluaXNoZWRXb3JrLCByb290LCBjb21taXR0ZWRMYW5lcykge1xuICBpblByb2dyZXNzTGFuZXMgPSBjb21taXR0ZWRMYW5lcztcbiAgaW5Qcm9ncmVzc1Jvb3QgPSByb290O1xuICB2YXIgY3VycmVudCA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG4gIGNvbW1pdExheW91dEVmZmVjdE9uRmliZXIocm9vdCwgY3VycmVudCwgZmluaXNoZWRXb3JrKTtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gbnVsbDtcbiAgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xufVxuXG5mdW5jdGlvbiByZWN1cnNpdmVseVRyYXZlcnNlTGF5b3V0RWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgbGFuZXMpIHtcbiAgdmFyIHByZXZEZWJ1Z0ZpYmVyID0gZ2V0Q3VycmVudEZpYmVyKCk7XG5cbiAgaWYgKHBhcmVudEZpYmVyLnN1YnRyZWVGbGFncyAmIExheW91dE1hc2spIHtcbiAgICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNoaWxkKTtcbiAgICAgIHZhciBjdXJyZW50ID0gY2hpbGQuYWx0ZXJuYXRlO1xuICAgICAgY29tbWl0TGF5b3V0RWZmZWN0T25GaWJlcihyb290LCBjdXJyZW50LCBjaGlsZCk7XG4gICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgfVxuICB9XG5cbiAgc2V0Q3VycmVudEZpYmVyKHByZXZEZWJ1Z0ZpYmVyKTtcbn1cblxuZnVuY3Rpb24gZGlzYXBwZWFyTGF5b3V0RWZmZWN0cyhmaW5pc2hlZFdvcmspIHtcbiAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiBMYXlvdXRTdGF0aWNcbiAgICAgICAgaWYgKHNob3VsZFByb2ZpbGUoZmluaXNoZWRXb3JrKSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURpc2FwcGVhckxheW91dEVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICAvLyBUT0RPIChPZmZzY3JlZW4pIENoZWNrOiBmbGFncyAmIFJlZlN0YXRpY1xuICAgICAgICBzYWZlbHlEZXRhY2hSZWYoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuKTtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgaW5zdGFuY2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURpc2FwcGVhckxheW91dEVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RIb2lzdGFibGU6XG4gICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiBSZWZTdGF0aWNcbiAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybik7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEaXNhcHBlYXJMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBPZmZzY3JlZW5Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgUmVmU3RhdGljXG4gICAgICAgIHNhZmVseURldGFjaFJlZihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICB2YXIgaXNIaWRkZW4gPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICBpZiAoaXNIaWRkZW4pIDsgZWxzZSB7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURpc2FwcGVhckxheW91dEVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURpc2FwcGVhckxheW91dEVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVjdXJzaXZlbHlUcmF2ZXJzZURpc2FwcGVhckxheW91dEVmZmVjdHMocGFyZW50RmliZXIpIHtcbiAgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiAoUmVmU3RhdGljIHwgTGF5b3V0U3RhdGljKVxuICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICBkaXNhcHBlYXJMYXlvdXRFZmZlY3RzKGNoaWxkKTtcbiAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhcHBlYXJMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgY3VycmVudCwgZmluaXNoZWRXb3JrLCAvLyBUaGlzIGZ1bmN0aW9uIHZpc2l0cyBib3RoIG5ld2x5IGZpbmlzaGVkIHdvcmsgYW5kIG5vZGVzIHRoYXQgd2VyZSByZS11c2VkXG4vLyBmcm9tIGEgcHJldmlvdXNseSBjb21taXR0ZWQgdHJlZS4gV2UgY2Fubm90IGNoZWNrIG5vbi1zdGF0aWMgZmxhZ3MgaWYgdGhlXG4vLyBub2RlIHdhcyByZXVzZWQuXG5pbmNsdWRlV29ya0luUHJvZ3Jlc3NFZmZlY3RzKSB7XG4gIC8vIFR1cm4gb24gbGF5b3V0IGVmZmVjdHMgaW4gYSB0cmVlIHRoYXQgcHJldmlvdXNseSBkaXNhcHBlYXJlZC5cbiAgdmFyIGZsYWdzID0gZmluaXNoZWRXb3JrLmZsYWdzO1xuXG4gIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVJlYXBwZWFyTGF5b3V0RWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgaW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyk7IC8vIFRPRE86IENoZWNrIGZsYWdzICYgTGF5b3V0U3RhdGljXG5cbiAgICAgICAgY29tbWl0SG9va0xheW91dEVmZmVjdHMoZmluaXNoZWRXb3JrLCBMYXlvdXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VSZWFwcGVhckxheW91dEVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmssIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMpOyAvLyBUT0RPOiBDaGVjayBmb3IgTGF5b3V0U3RhdGljIGZsYWdcblxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQoKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIENvbW1pdCBhbnkgY2FsbGJhY2tzIHRoYXQgd291bGQgaGF2ZSBmaXJlZCB3aGlsZSB0aGUgY29tcG9uZW50XG4gICAgICAgIC8vIHdhcyBoaWRkZW4uXG5cblxuICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XG5cbiAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29tbWl0SGlkZGVuQ2FsbGJhY2tzKHVwZGF0ZVF1ZXVlLCBpbnN0YW5jZSk7XG4gICAgICAgIH0gLy8gSWYgdGhpcyBpcyBuZXdseSBmaW5pc2hlZCB3b3JrLCBjaGVjayBmb3Igc2V0U3RhdGUgY2FsbGJhY2tzXG5cblxuICAgICAgICBpZiAoaW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyAmJiBmbGFncyAmIENhbGxiYWNrKSB7XG4gICAgICAgICAgY29tbWl0Q2xhc3NDYWxsYmFja3MoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfSAvLyBUT0RPOiBDaGVjayBmbGFncyAmIFJlZlN0YXRpY1xuXG5cbiAgICAgICAgc2FmZWx5QXR0YWNoUmVmKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIC8vIFVubGlrZSBjb21taXRMYXlvdXRFZmZlY3RzT25GaWJlciwgd2UgZG9uJ3QgbmVlZCB0byBoYW5kbGUgSG9zdFJvb3RcbiAgICAvLyBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gb25seSB2aXNpdHMgbm9kZXMgdGhhdCBhcmUgaW5zaWRlIGFuXG4gICAgLy8gT2Zmc2NyZWVuIGZpYmVyLlxuICAgIC8vIGNhc2UgSG9zdFJvb3Q6IHtcbiAgICAvLyAgLi4uXG4gICAgLy8gfVxuXG4gICAgY2FzZSBIb3N0SG9pc3RhYmxlOlxuICAgIGNhc2UgSG9zdFNpbmdsZXRvbjpcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VSZWFwcGVhckxheW91dEVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmssIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMpOyAvLyBSZW5kZXJlcnMgbWF5IHNjaGVkdWxlIHdvcmsgdG8gYmUgZG9uZSBhZnRlciBob3N0IGNvbXBvbmVudHMgYXJlIG1vdW50ZWRcbiAgICAgICAgLy8gKGVnIERPTSByZW5kZXJlciBtYXkgc2NoZWR1bGUgYXV0by1mb2N1cyBmb3IgaW5wdXRzIGFuZCBmb3JtIGNvbnRyb2xzKS5cbiAgICAgICAgLy8gVGhlc2UgZWZmZWN0cyBzaG91bGQgb25seSBiZSBjb21taXR0ZWQgd2hlbiBjb21wb25lbnRzIGFyZSBmaXJzdCBtb3VudGVkLFxuICAgICAgICAvLyBha2Egd2hlbiB0aGVyZSBpcyBubyBjdXJyZW50L2FsdGVybmF0ZS5cblxuICAgICAgICBpZiAoaW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyAmJiBjdXJyZW50ID09PSBudWxsICYmIGZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgY29tbWl0SG9zdENvbXBvbmVudE1vdW50KGZpbmlzaGVkV29yayk7XG4gICAgICAgIH0gLy8gVE9ETzogQ2hlY2sgZmxhZ3MgJiBSZWZcblxuXG4gICAgICAgIHNhZmVseUF0dGFjaFJlZihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VSZWFwcGVhckxheW91dEVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmssIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMpOyAvLyBUT0RPOiBGaWd1cmUgb3V0IGhvdyBQcm9maWxlciB1cGRhdGVzIHNob3VsZCB3b3JrIHdpdGggT2Zmc2NyZWVuXG5cbiAgICAgICAgaWYgKGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMgJiYgZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICBjb21taXRQcm9maWxlclVwZGF0ZShmaW5pc2hlZFdvcmssIGN1cnJlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlUmVhcHBlYXJMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBpbmNsdWRlV29ya0luUHJvZ3Jlc3NFZmZlY3RzKTsgLy8gVE9ETzogRmlndXJlIG91dCBob3cgU3VzcGVuc2UgaHlkcmF0aW9uIGNhbGxiYWNrcyBzaG91bGQgd29ya1xuICAgICAgICAvLyB3aXRoIE9mZnNjcmVlbi5cblxuICAgICAgICBpZiAoaW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyAmJiBmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIGNvbW1pdFN1c3BlbnNlSHlkcmF0aW9uQ2FsbGJhY2tzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBPZmZzY3JlZW5Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBvZmZzY3JlZW5TdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xuICAgICAgICB2YXIgaXNIaWRkZW4gPSBvZmZzY3JlZW5TdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICBpZiAoaXNIaWRkZW4pIDsgZWxzZSB7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVJlYXBwZWFyTGF5b3V0RWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgaW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyk7XG4gICAgICAgIH0gLy8gVE9ETzogQ2hlY2sgZmxhZ3MgJiBSZWZcblxuXG4gICAgICAgIHNhZmVseUF0dGFjaFJlZihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VSZWFwcGVhckxheW91dEVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmssIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByZWN1cnNpdmVseVRyYXZlcnNlUmVhcHBlYXJMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgcGFyZW50RmliZXIsIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiB2aXNpdHMgYm90aCBuZXdseSBmaW5pc2hlZCB3b3JrIGFuZCBub2RlcyB0aGF0IHdlcmUgcmUtdXNlZFxuICAvLyBmcm9tIGEgcHJldmlvdXNseSBjb21taXR0ZWQgdHJlZS4gV2UgY2Fubm90IGNoZWNrIG5vbi1zdGF0aWMgZmxhZ3MgaWYgdGhlXG4gIC8vIG5vZGUgd2FzIHJldXNlZC5cbiAgdmFyIGNoaWxkU2hvdWxkSW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyA9IGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMgJiYgKHBhcmVudEZpYmVyLnN1YnRyZWVGbGFncyAmIExheW91dE1hc2spICE9PSBOb0ZsYWdzJDE7IC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgKFJlZlN0YXRpYyB8IExheW91dFN0YXRpYylcblxuICB2YXIgcHJldkRlYnVnRmliZXIgPSBnZXRDdXJyZW50RmliZXIoKTtcbiAgdmFyIGNoaWxkID0gcGFyZW50RmliZXIuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnQgPSBjaGlsZC5hbHRlcm5hdGU7XG4gICAgcmVhcHBlYXJMYXlvdXRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgY3VycmVudCwgY2hpbGQsIGNoaWxkU2hvdWxkSW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyk7XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG5cbiAgc2V0Q3VycmVudEZpYmVyKHByZXZEZWJ1Z0ZpYmVyKTtcbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va1Bhc3NpdmVNb3VudEVmZmVjdHMoZmluaXNoZWRXb3JrLCBob29rRmxhZ3MpIHtcbiAgaWYgKHNob3VsZFByb2ZpbGUoZmluaXNoZWRXb3JrKSkge1xuICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChob29rRmxhZ3MsIGZpbmlzaGVkV29yayk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgIH1cblxuICAgIHJlY29yZFBhc3NpdmVFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICBjb21taXRIb29rRWZmZWN0TGlzdE1vdW50KGhvb2tGbGFncywgZmluaXNoZWRXb3JrKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdE9mZnNjcmVlblBhc3NpdmVNb3VudEVmZmVjdHMoY3VycmVudCwgZmluaXNoZWRXb3JrLCBpbnN0YW5jZSkge1xuICB7XG4gICAgdmFyIHByZXZpb3VzQ2FjaGUgPSBudWxsO1xuXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsICYmIGN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wgIT09IG51bGwpIHtcbiAgICAgIHByZXZpb3VzQ2FjaGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2w7XG4gICAgfVxuXG4gICAgdmFyIG5leHRDYWNoZSA9IG51bGw7XG5cbiAgICBpZiAoZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sICE9PSBudWxsKSB7XG4gICAgICBuZXh0Q2FjaGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbDtcbiAgICB9IC8vIFJldGFpbi9yZWxlYXNlIHRoZSBjYWNoZSB1c2VkIGZvciBwZW5kaW5nIChzdXNwZW5kZWQpIG5vZGVzLlxuICAgIC8vIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkgcmVhY2hlZCBpbiB0aGUgbm9uLXN1c3BlbmRlZC92aXNpYmxlIGNhc2U6XG4gICAgLy8gd2hlbiB0aGUgY29udGVudCBpcyBzdXNwZW5kZWQvaGlkZGVuLCB0aGUgcmV0YWluL3JlbGVhc2Ugb2NjdXJzXG4gICAgLy8gdmlhIHRoZSBwYXJlbnQgU3VzcGVuc2UgY29tcG9uZW50IChzZWUgY2FzZSBhYm92ZSkuXG5cblxuICAgIGlmIChuZXh0Q2FjaGUgIT09IHByZXZpb3VzQ2FjaGUpIHtcbiAgICAgIGlmIChuZXh0Q2FjaGUgIT0gbnVsbCkge1xuICAgICAgICByZXRhaW5DYWNoZShuZXh0Q2FjaGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJldmlvdXNDYWNoZSAhPSBudWxsKSB7XG4gICAgICAgIHJlbGVhc2VDYWNoZShwcmV2aW91c0NhY2hlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0Q2FjaGVQYXNzaXZlTW91bnRFZmZlY3QoY3VycmVudCwgZmluaXNoZWRXb3JrKSB7XG4gIHtcbiAgICB2YXIgcHJldmlvdXNDYWNoZSA9IG51bGw7XG5cbiAgICBpZiAoZmluaXNoZWRXb3JrLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgcHJldmlvdXNDYWNoZSA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZTtcbiAgICB9XG5cbiAgICB2YXIgbmV4dENhY2hlID0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUuY2FjaGU7IC8vIFJldGFpbi9yZWxlYXNlIHRoZSBjYWNoZS4gSW4gdGhlb3J5IHRoZSBjYWNoZSBjb21wb25lbnRcbiAgICAvLyBjb3VsZCBiZSBcImJvcnJvd2luZ1wiIGEgY2FjaGUgaW5zdGFuY2Ugb3duZWQgYnkgc29tZSBwYXJlbnQsXG4gICAgLy8gaW4gd2hpY2ggY2FzZSB3ZSBjb3VsZCBhdm9pZCByZXRhaW5pbmcvcmVsZWFzaW5nLiBCdXQgaXRcbiAgICAvLyBpcyBub24tdHJpdmlhbCB0byBkZXRlcm1pbmUgd2hlbiB0aGF0IGlzIHRoZSBjYXNlLCBzbyB3ZVxuICAgIC8vIGFsd2F5cyByZXRhaW4vcmVsZWFzZS5cblxuICAgIGlmIChuZXh0Q2FjaGUgIT09IHByZXZpb3VzQ2FjaGUpIHtcbiAgICAgIHJldGFpbkNhY2hlKG5leHRDYWNoZSk7XG5cbiAgICAgIGlmIChwcmV2aW91c0NhY2hlICE9IG51bGwpIHtcbiAgICAgICAgcmVsZWFzZUNhY2hlKHByZXZpb3VzQ2FjaGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zKSB7XG4gIHNldEN1cnJlbnRGaWJlcihmaW5pc2hlZFdvcmspO1xuICBjb21taXRQYXNzaXZlTW91bnRPbkZpYmVyKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zKTtcbiAgcmVzZXRDdXJyZW50RmliZXIoKTtcbn1cblxuZnVuY3Rpb24gcmVjdXJzaXZlbHlUcmF2ZXJzZVBhc3NpdmVNb3VudEVmZmVjdHMocm9vdCwgcGFyZW50RmliZXIsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucykge1xuICB2YXIgcHJldkRlYnVnRmliZXIgPSBnZXRDdXJyZW50RmliZXIoKTtcblxuICBpZiAocGFyZW50RmliZXIuc3VidHJlZUZsYWdzICYgUGFzc2l2ZU1hc2spIHtcbiAgICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNoaWxkKTtcbiAgICAgIGNvbW1pdFBhc3NpdmVNb3VudE9uRmliZXIocm9vdCwgY2hpbGQsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgfVxuICB9XG5cbiAgc2V0Q3VycmVudEZpYmVyKHByZXZEZWJ1Z0ZpYmVyKTtcbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZU1vdW50T25GaWJlcihmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zKSB7XG4gIC8vIFdoZW4gdXBkYXRpbmcgdGhpcyBmdW5jdGlvbiwgYWxzbyB1cGRhdGUgcmVjb25uZWN0UGFzc2l2ZUVmZmVjdHMsIHdoaWNoIGRvZXNcbiAgLy8gbW9zdCBvZiB0aGUgc2FtZSB0aGluZ3Mgd2hlbiBhbiBvZmZzY3JlZW4gdHJlZSBnb2VzIGZyb20gaGlkZGVuIC0+IHZpc2libGUsXG4gIC8vIG9yIHdoZW4gdG9nZ2xpbmcgZWZmZWN0cyBpbnNpZGUgYSBoaWRkZW4gdHJlZS5cbiAgdmFyIGZsYWdzID0gZmluaXNoZWRXb3JrLmZsYWdzO1xuXG4gIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVBhc3NpdmVNb3VudEVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmssIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgUGFzc2l2ZSQxKSB7XG4gICAgICAgICAgY29tbWl0SG9va1Bhc3NpdmVNb3VudEVmZmVjdHMoZmluaXNoZWRXb3JrLCBQYXNzaXZlIHwgSGFzRWZmZWN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVBhc3NpdmVNb3VudEVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmssIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgUGFzc2l2ZSQxKSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHByZXZpb3VzQ2FjaGUgPSBudWxsO1xuXG4gICAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBwcmV2aW91c0NhY2hlID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgbmV4dENhY2hlID0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUuY2FjaGU7IC8vIFJldGFpbi9yZWxlYXNlIHRoZSByb290IGNhY2hlLlxuICAgICAgICAgICAgLy8gTm90ZSB0aGF0IG9uIGluaXRpYWwgbW91bnQsIHByZXZpb3VzQ2FjaGUgYW5kIG5leHRDYWNoZSB3aWxsIGJlIHRoZSBzYW1lXG4gICAgICAgICAgICAvLyBhbmQgdGhpcyByZXRhaW4gd29uJ3Qgb2NjdXIuIFRvIGNvdW50ZXIgdGhpcywgd2UgaW5zdGVhZCByZXRhaW4gdGhlIEhvc3RSb290J3NcbiAgICAgICAgICAgIC8vIGluaXRpYWwgY2FjaGUgd2hlbiBjcmVhdGluZyB0aGUgcm9vdCBpdHNlbGYgKHNlZSBjcmVhdGVGaWJlclJvb3QoKSBpblxuICAgICAgICAgICAgLy8gUmVhY3RGaWJlclJvb3QuanMpLiBTdWJzZXF1ZW50IHVwZGF0ZXMgdGhhdCBjaGFuZ2UgdGhlIGNhY2hlIGFyZSByZWZsZWN0ZWRcbiAgICAgICAgICAgIC8vIGhlcmUsIHN1Y2ggdGhhdCBwcmV2aW91cy9uZXh0IGNhY2hlcyBhcmUgcmV0YWluZWQgY29ycmVjdGx5LlxuXG4gICAgICAgICAgICBpZiAobmV4dENhY2hlICE9PSBwcmV2aW91c0NhY2hlKSB7XG4gICAgICAgICAgICAgIHJldGFpbkNhY2hlKG5leHRDYWNoZSk7XG5cbiAgICAgICAgICAgICAgaWYgKHByZXZpb3VzQ2FjaGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJlbGVhc2VDYWNoZShwcmV2aW91c0NhY2hlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBMZWdhY3lIaWRkZW5Db21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETzogUGFzcyBgY3VycmVudGAgYXMgYXJndW1lbnQgdG8gdGhpcyBmdW5jdGlvblxuICAgICAgICB2YXIgX2luc3RhbmNlMyA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG4gICAgICAgIHZhciBuZXh0U3RhdGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgdmFyIGlzSGlkZGVuID0gbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgIGlmIChfaW5zdGFuY2UzLl92aXNpYmlsaXR5ICYgT2Zmc2NyZWVuUGFzc2l2ZUVmZmVjdHNDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIC8vIFRoZSBlZmZlY3RzIGFyZSBjdXJyZW50bHkgY29ubmVjdGVkLiBVcGRhdGUgdGhlbS5cbiAgICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VQYXNzaXZlTW91bnRFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgICAgICAgICAvLyBUaGUgZWZmZWN0cyBhcmUgY3VycmVudGx5IGRpc2Nvbm5lY3RlZC4gU2luY2UgdGhlIHRyZWUgaXMgaGlkZGVuLFxuICAgICAgICAgICAgICAvLyBkb24ndCBjb25uZWN0IHRoZW0uIFRoaXMgYWxzbyBhcHBsaWVzIHRvIHRoZSBpbml0aWFsIHJlbmRlci5cbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC8vIFwiQXRvbWljXCIgZWZmZWN0cyBhcmUgb25lcyB0aGF0IG5lZWQgdG8gZmlyZSBvbiBldmVyeSBjb21taXQsXG4gICAgICAgICAgICAgICAgLy8gZXZlbiBkdXJpbmcgcHJlLXJlbmRlcmluZy4gQW4gZXhhbXBsZSBpcyB1cGRhdGluZyB0aGUgcmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgLy8gY291bnQgb24gY2FjaGUgaW5zdGFuY2VzLlxuICAgICAgICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VBdG9taWNQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIExlZ2FjeSBNb2RlOiBGaXJlIHRoZSBlZmZlY3RzIGV2ZW4gaWYgdGhlIHRyZWUgaXMgaGlkZGVuLlxuICAgICAgICAgICAgICBfaW5zdGFuY2UzLl92aXNpYmlsaXR5IHw9IE9mZnNjcmVlblBhc3NpdmVFZmZlY3RzQ29ubmVjdGVkO1xuICAgICAgICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlUGFzc2l2ZU1vdW50RWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVHJlZSBpcyB2aXNpYmxlXG4gICAgICAgICAgaWYgKF9pbnN0YW5jZTMuX3Zpc2liaWxpdHkgJiBPZmZzY3JlZW5QYXNzaXZlRWZmZWN0c0Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgLy8gVGhlIGVmZmVjdHMgYXJlIGN1cnJlbnRseSBjb25uZWN0ZWQuIFVwZGF0ZSB0aGVtLlxuICAgICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVBhc3NpdmVNb3VudEVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmssIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFRoZSBlZmZlY3RzIGFyZSBjdXJyZW50bHkgZGlzY29ubmVjdGVkLiBSZWNvbm5lY3QgdGhlbSwgd2hpbGUgYWxzb1xuICAgICAgICAgICAgLy8gZmlyaW5nIGVmZmVjdHMgaW5zaWRlIG5ld2x5IG1vdW50ZWQgdHJlZXMuIFRoaXMgYWxzbyBhcHBsaWVzIHRvXG4gICAgICAgICAgICAvLyB0aGUgaW5pdGlhbCByZW5kZXIuXG4gICAgICAgICAgICBfaW5zdGFuY2UzLl92aXNpYmlsaXR5IHw9IE9mZnNjcmVlblBhc3NpdmVFZmZlY3RzQ29ubmVjdGVkO1xuICAgICAgICAgICAgdmFyIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMgPSAoZmluaXNoZWRXb3JrLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyQxO1xuICAgICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVJlY29ubmVjdFBhc3NpdmVFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMsIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmbGFncyAmIFBhc3NpdmUkMSkge1xuICAgICAgICAgIHZhciBfY3VycmVudCA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG4gICAgICAgICAgY29tbWl0T2Zmc2NyZWVuUGFzc2l2ZU1vdW50RWZmZWN0cyhfY3VycmVudCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBDYWNoZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVBhc3NpdmVNb3VudEVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmssIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgUGFzc2l2ZSQxKSB7XG4gICAgICAgICAgLy8gVE9ETzogUGFzcyBgY3VycmVudGAgYXMgYXJndW1lbnQgdG8gdGhpcyBmdW5jdGlvblxuICAgICAgICAgIHZhciBfY3VycmVudDIgPSBmaW5pc2hlZFdvcmsuYWx0ZXJuYXRlO1xuICAgICAgICAgIGNvbW1pdENhY2hlUGFzc2l2ZU1vdW50RWZmZWN0KF9jdXJyZW50MiwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBUcmFjaW5nTWFya2VyQ29tcG9uZW50OlxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVBhc3NpdmVNb3VudEVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmssIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlY3Vyc2l2ZWx5VHJhdmVyc2VSZWNvbm5lY3RQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFJvb3QsIHBhcmVudEZpYmVyLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMsIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiB2aXNpdHMgYm90aCBuZXdseSBmaW5pc2hlZCB3b3JrIGFuZCBub2RlcyB0aGF0IHdlcmUgcmUtdXNlZFxuICAvLyBmcm9tIGEgcHJldmlvdXNseSBjb21taXR0ZWQgdHJlZS4gV2UgY2Fubm90IGNoZWNrIG5vbi1zdGF0aWMgZmxhZ3MgaWYgdGhlXG4gIC8vIG5vZGUgd2FzIHJldXNlZC5cbiAgdmFyIGNoaWxkU2hvdWxkSW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyA9IGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMgJiYgKHBhcmVudEZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyQxOyAvLyBUT0RPIChPZmZzY3JlZW4pIENoZWNrOiBmbGFncyAmIChSZWZTdGF0aWMgfCBMYXlvdXRTdGF0aWMpXG5cbiAgdmFyIHByZXZEZWJ1Z0ZpYmVyID0gZ2V0Q3VycmVudEZpYmVyKCk7XG4gIHZhciBjaGlsZCA9IHBhcmVudEZpYmVyLmNoaWxkO1xuXG4gIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgIHJlY29ubmVjdFBhc3NpdmVFZmZlY3RzKGZpbmlzaGVkUm9vdCwgY2hpbGQsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucywgY2hpbGRTaG91bGRJbmNsdWRlV29ya0luUHJvZ3Jlc3NFZmZlY3RzKTtcbiAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gIH1cblxuICBzZXRDdXJyZW50RmliZXIocHJldkRlYnVnRmliZXIpO1xufVxuXG5mdW5jdGlvbiByZWNvbm5lY3RQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zLCAvLyBUaGlzIGZ1bmN0aW9uIHZpc2l0cyBib3RoIG5ld2x5IGZpbmlzaGVkIHdvcmsgYW5kIG5vZGVzIHRoYXQgd2VyZSByZS11c2VkXG4vLyBmcm9tIGEgcHJldmlvdXNseSBjb21taXR0ZWQgdHJlZS4gV2UgY2Fubm90IGNoZWNrIG5vbi1zdGF0aWMgZmxhZ3MgaWYgdGhlXG4vLyBub2RlIHdhcyByZXVzZWQuXG5pbmNsdWRlV29ya0luUHJvZ3Jlc3NFZmZlY3RzKSB7XG4gIHZhciBmbGFncyA9IGZpbmlzaGVkV29yay5mbGFncztcblxuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VSZWNvbm5lY3RQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zLCBpbmNsdWRlV29ya0luUHJvZ3Jlc3NFZmZlY3RzKTsgLy8gVE9ETzogQ2hlY2sgZm9yIFBhc3NpdmVTdGF0aWMgZmxhZ1xuXG4gICAgICAgIGNvbW1pdEhvb2tQYXNzaXZlTW91bnRFZmZlY3RzKGZpbmlzaGVkV29yaywgUGFzc2l2ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIC8vIFVubGlrZSBjb21taXRQYXNzaXZlTW91bnRPbkZpYmVyLCB3ZSBkb24ndCBuZWVkIHRvIGhhbmRsZSBIb3N0Um9vdFxuICAgIC8vIGJlY2F1c2UgdGhpcyBmdW5jdGlvbiBvbmx5IHZpc2l0cyBub2RlcyB0aGF0IGFyZSBpbnNpZGUgYW5cbiAgICAvLyBPZmZzY3JlZW4gZmliZXIuXG4gICAgLy8gY2FzZSBIb3N0Um9vdDoge1xuICAgIC8vICAuLi5cbiAgICAvLyB9XG5cbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX2luc3RhbmNlNCA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG4gICAgICAgIHZhciBuZXh0U3RhdGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgdmFyIGlzSGlkZGVuID0gbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgIGlmIChfaW5zdGFuY2U0Ll92aXNpYmlsaXR5ICYgT2Zmc2NyZWVuUGFzc2l2ZUVmZmVjdHNDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIC8vIFRoZSBlZmZlY3RzIGFyZSBjdXJyZW50bHkgY29ubmVjdGVkLiBVcGRhdGUgdGhlbS5cbiAgICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VSZWNvbm5lY3RQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zLCBpbmNsdWRlV29ya0luUHJvZ3Jlc3NFZmZlY3RzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGZpbmlzaGVkV29yay5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgICAgICAgLy8gVGhlIGVmZmVjdHMgYXJlIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQuIFNpbmNlIHRoZSB0cmVlIGlzIGhpZGRlbixcbiAgICAgICAgICAgICAgLy8gZG9uJ3QgY29ubmVjdCB0aGVtLiBUaGlzIGFsc28gYXBwbGllcyB0byB0aGUgaW5pdGlhbCByZW5kZXIuXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAvLyBcIkF0b21pY1wiIGVmZmVjdHMgYXJlIG9uZXMgdGhhdCBuZWVkIHRvIGZpcmUgb24gZXZlcnkgY29tbWl0LFxuICAgICAgICAgICAgICAgIC8vIGV2ZW4gZHVyaW5nIHByZS1yZW5kZXJpbmcuIEFuIGV4YW1wbGUgaXMgdXBkYXRpbmcgdGhlIHJlZmVyZW5jZVxuICAgICAgICAgICAgICAgIC8vIGNvdW50IG9uIGNhY2hlIGluc3RhbmNlcy5cbiAgICAgICAgICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlQXRvbWljUGFzc2l2ZUVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBMZWdhY3kgTW9kZTogRmlyZSB0aGUgZWZmZWN0cyBldmVuIGlmIHRoZSB0cmVlIGlzIGhpZGRlbi5cbiAgICAgICAgICAgICAgX2luc3RhbmNlNC5fdmlzaWJpbGl0eSB8PSBPZmZzY3JlZW5QYXNzaXZlRWZmZWN0c0Nvbm5lY3RlZDtcbiAgICAgICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVJlY29ubmVjdFBhc3NpdmVFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMsIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBUcmVlIGlzIHZpc2libGVcbiAgICAgICAgICAvLyBTaW5jZSB3ZSdyZSBhbHJlYWR5IGluc2lkZSBhIHJlY29ubmVjdGluZyB0cmVlLCBpdCBkb2Vzbid0IG1hdHRlclxuICAgICAgICAgIC8vIHdoZXRoZXIgdGhlIGVmZmVjdHMgYXJlIGN1cnJlbnRseSBjb25uZWN0ZWQuIEluIGVpdGhlciBjYXNlLCB3ZSdsbFxuICAgICAgICAgIC8vIGNvbnRpbnVlIHRyYXZlcnNpbmcgdGhlIHRyZWUgYW5kIGZpcmluZyBhbGwgdGhlIGVmZmVjdHMuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBXZSBkbyBuZWVkIHRvIHNldCB0aGUgXCJjb25uZWN0ZWRcIiBmbGFnIG9uIHRoZSBpbnN0YW5jZSwgdGhvdWdoLlxuICAgICAgICAgIF9pbnN0YW5jZTQuX3Zpc2liaWxpdHkgfD0gT2Zmc2NyZWVuUGFzc2l2ZUVmZmVjdHNDb25uZWN0ZWQ7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVJlY29ubmVjdFBhc3NpdmVFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMsIGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluY2x1ZGVXb3JrSW5Qcm9ncmVzc0VmZmVjdHMgJiYgZmxhZ3MgJiBQYXNzaXZlJDEpIHtcbiAgICAgICAgICAvLyBUT0RPOiBQYXNzIGBjdXJyZW50YCBhcyBhcmd1bWVudCB0byB0aGlzIGZ1bmN0aW9uXG4gICAgICAgICAgdmFyIF9jdXJyZW50MyA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG4gICAgICAgICAgY29tbWl0T2Zmc2NyZWVuUGFzc2l2ZU1vdW50RWZmZWN0cyhfY3VycmVudDMsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VSZWNvbm5lY3RQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zLCBpbmNsdWRlV29ya0luUHJvZ3Jlc3NFZmZlY3RzKTtcblxuICAgICAgICBpZiAoaW5jbHVkZVdvcmtJblByb2dyZXNzRWZmZWN0cyAmJiBmbGFncyAmIFBhc3NpdmUkMSkge1xuICAgICAgICAgIC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50IHRvIHRoaXMgZnVuY3Rpb25cbiAgICAgICAgICB2YXIgX2N1cnJlbnQ0ID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZTtcbiAgICAgICAgICBjb21taXRDYWNoZVBhc3NpdmVNb3VudEVmZmVjdChfY3VycmVudDQsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgVHJhY2luZ01hcmtlckNvbXBvbmVudDpcblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VSZWNvbm5lY3RQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zLCBpbmNsdWRlV29ya0luUHJvZ3Jlc3NFZmZlY3RzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVjdXJzaXZlbHlUcmF2ZXJzZUF0b21pY1Bhc3NpdmVFZmZlY3RzKGZpbmlzaGVkUm9vdCwgcGFyZW50RmliZXIsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucykge1xuICAvLyBcIkF0b21pY1wiIGVmZmVjdHMgYXJlIG9uZXMgdGhhdCBuZWVkIHRvIGZpcmUgb24gZXZlcnkgY29tbWl0LCBldmVuIGR1cmluZ1xuICAvLyBwcmUtcmVuZGVyaW5nLiBXZSBjYWxsIHRoaXMgZnVuY3Rpb24gd2hlbiB0cmF2ZXJzaW5nIGEgaGlkZGVuIHRyZWUgd2hvc2VcbiAgLy8gcmVndWxhciBlZmZlY3RzIGFyZSBjdXJyZW50bHkgZGlzY29ubmVjdGVkLlxuICB2YXIgcHJldkRlYnVnRmliZXIgPSBnZXRDdXJyZW50RmliZXIoKTsgLy8gVE9ETzogQWRkIHNwZWNpYWwgZmxhZyBmb3IgYXRvbWljIGVmZmVjdHNcblxuICBpZiAocGFyZW50RmliZXIuc3VidHJlZUZsYWdzICYgUGFzc2l2ZU1hc2spIHtcbiAgICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNoaWxkKTtcbiAgICAgIGNvbW1pdEF0b21pY1Bhc3NpdmVFZmZlY3RzKGZpbmlzaGVkUm9vdCwgY2hpbGQpO1xuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cbiAgfVxuXG4gIHNldEN1cnJlbnRGaWJlcihwcmV2RGVidWdGaWJlcik7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEF0b21pY1Bhc3NpdmVFZmZlY3RzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpIHtcbiAgLy8gXCJBdG9taWNcIiBlZmZlY3RzIGFyZSBvbmVzIHRoYXQgbmVlZCB0byBmaXJlIG9uIGV2ZXJ5IGNvbW1pdCwgZXZlbiBkdXJpbmdcbiAgLy8gcHJlLXJlbmRlcmluZy4gV2UgY2FsbCB0aGlzIGZ1bmN0aW9uIHdoZW4gdHJhdmVyc2luZyBhIGhpZGRlbiB0cmVlIHdob3NlXG4gIC8vIHJlZ3VsYXIgZWZmZWN0cyBhcmUgY3VycmVudGx5IGRpc2Nvbm5lY3RlZC5cbiAgdmFyIGZsYWdzID0gZmluaXNoZWRXb3JrLmZsYWdzO1xuXG4gIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlQXRvbWljUGFzc2l2ZUVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFBhc3NpdmUkMSkge1xuICAgICAgICAgIC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50IHRvIHRoaXMgZnVuY3Rpb25cbiAgICAgICAgICB2YXIgY3VycmVudCA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG4gICAgICAgICAgY29tbWl0T2Zmc2NyZWVuUGFzc2l2ZU1vdW50RWZmZWN0cyhjdXJyZW50LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlQXRvbWljUGFzc2l2ZUVmZmVjdHMoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFBhc3NpdmUkMSkge1xuICAgICAgICAgIC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50IHRvIHRoaXMgZnVuY3Rpb25cbiAgICAgICAgICB2YXIgX2N1cnJlbnQ1ID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZTtcbiAgICAgICAgICBjb21taXRDYWNoZVBhc3NpdmVNb3VudEVmZmVjdChfY3VycmVudDUsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VBdG9taWNQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0cyhmaW5pc2hlZFdvcmspIHtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGNvbW1pdFBhc3NpdmVVbm1vdW50T25GaWJlcihmaW5pc2hlZFdvcmspO1xuICByZXNldEN1cnJlbnRGaWJlcigpO1xufSAvLyBJZiB3ZSdyZSBpbnNpZGUgYSBicmFuZCBuZXcgdHJlZSwgb3IgYSB0cmVlIHRoYXQgd2FzIGFscmVhZHkgdmlzaWJsZSwgdGhlbiB3ZVxuLy8gc2hvdWxkIG9ubHkgc3VzcGVuZCBob3N0IGNvbXBvbmVudHMgdGhhdCBoYXZlIGEgU2hvdWxkU3VzcGVuZENvbW1pdCBmbGFnLlxuLy8gQ29tcG9uZW50cyB3aXRob3V0IGl0IGhhdmVuJ3QgY2hhbmdlZCBzaW5jZSB0aGUgbGFzdCBjb21taXQsIHNvIHdlIGNhbiBza2lwXG4vLyBvdmVyIHRob3NlLlxuLy9cbi8vIFdoZW4gd2UgZW50ZXIgYSB0cmVlIHRoYXQgaXMgYmVpbmcgcmV2ZWFsZWQgKGdvaW5nIGZyb20gaGlkZGVuIC0+IHZpc2libGUpLFxuLy8gd2UgbmVlZCB0byBzdXNwZW5kIF9hbnlfIGNvbXBvbmVudCB0aGF0IF9tYXlfIHN1c3BlbmQuIEV2ZW4gaWYgdGhleSdyZVxuLy8gYWxyZWFkeSBpbiB0aGUgXCJjdXJyZW50XCIgdHJlZS4gQmVjYXVzZSB0aGVpciB2aXNpYmlsaXR5IGhhcyBjaGFuZ2VkLCB0aGVcbi8vIGJyb3dzZXIgbWF5IG5vdCBoYXZlIHByZXJlbmRlcmVkIHRoZW0geWV0LiBTbyB3ZSBjaGVjayB0aGUgTWF5U3VzcGVuZENvbW1pdFxuLy8gZmxhZyBpbnN0ZWFkLlxuXG52YXIgc3VzcGVuc2V5Q29tbWl0RmxhZyA9IFNob3VsZFN1c3BlbmRDb21taXQ7XG5mdW5jdGlvbiBhY2N1bXVsYXRlU3VzcGVuc2V5Q29tbWl0KGZpbmlzaGVkV29yaykge1xuICBhY2N1bXVsYXRlU3VzcGVuc2V5Q29tbWl0T25GaWJlcihmaW5pc2hlZFdvcmspO1xufVxuXG5mdW5jdGlvbiByZWN1cnNpdmVseUFjY3VtdWxhdGVTdXNwZW5zZXlDb21taXQocGFyZW50RmliZXIpIHtcbiAgaWYgKHBhcmVudEZpYmVyLnN1YnRyZWVGbGFncyAmIHN1c3BlbnNleUNvbW1pdEZsYWcpIHtcbiAgICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgYWNjdW11bGF0ZVN1c3BlbnNleUNvbW1pdE9uRmliZXIoY2hpbGQpO1xuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhY2N1bXVsYXRlU3VzcGVuc2V5Q29tbWl0T25GaWJlcihmaWJlcikge1xuICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgIGNhc2UgSG9zdEhvaXN0YWJsZTpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlBY2N1bXVsYXRlU3VzcGVuc2V5Q29tbWl0KGZpYmVyKTtcblxuICAgICAgICBpZiAoZmliZXIuZmxhZ3MgJiBzdXNwZW5zZXlDb21taXRGbGFnKSB7XG4gICAgICAgICAgaWYgKGZpYmVyLm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHN1c3BlbmRSZXNvdXJjZSggLy8gVGhpcyBzaG91bGQgYWx3YXlzIGJlIHNldCBieSB2aXNpdGluZyBIb3N0Um9vdCBmaXJzdFxuICAgICAgICAgICAgY3VycmVudEhvaXN0YWJsZVJvb3QsIGZpYmVyLm1lbW9pemVkU3RhdGUsIGZpYmVyLm1lbW9pemVkUHJvcHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseUFjY3VtdWxhdGVTdXNwZW5zZXlDb21taXQoZmliZXIpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgcHJldmlvdXNIb2lzdGFibGVSb290ID0gY3VycmVudEhvaXN0YWJsZVJvb3Q7XG4gICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgIGN1cnJlbnRIb2lzdGFibGVSb290ID0gZ2V0SG9pc3RhYmxlUm9vdChjb250YWluZXIpO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5QWNjdW11bGF0ZVN1c3BlbnNleUNvbW1pdChmaWJlcik7XG4gICAgICAgICAgY3VycmVudEhvaXN0YWJsZVJvb3QgPSBwcmV2aW91c0hvaXN0YWJsZVJvb3Q7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgaXNIaWRkZW4gPSBmaWJlci5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmIChpc0hpZGRlbikgOyBlbHNlIHtcbiAgICAgICAgICB2YXIgY3VycmVudCA9IGZpYmVyLmFsdGVybmF0ZTtcbiAgICAgICAgICB2YXIgd2FzSGlkZGVuID0gY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAod2FzSGlkZGVuKSB7XG4gICAgICAgICAgICAvLyBUaGlzIHRyZWUgaXMgYmVpbmcgcmV2ZWFsZWQuIFZpc2l0IGFsbCBuZXdseSB2aXNpYmxlIHN1c3BlbnNleVxuICAgICAgICAgICAgLy8gaW5zdGFuY2VzLCBldmVuIGlmIHRoZXkncmUgaW4gdGhlIGN1cnJlbnQgdHJlZS5cbiAgICAgICAgICAgIHZhciBwcmV2RmxhZ3MgPSBzdXNwZW5zZXlDb21taXRGbGFnO1xuICAgICAgICAgICAgc3VzcGVuc2V5Q29tbWl0RmxhZyA9IE1heVN1c3BlbmRDb21taXQ7XG4gICAgICAgICAgICByZWN1cnNpdmVseUFjY3VtdWxhdGVTdXNwZW5zZXlDb21taXQoZmliZXIpO1xuICAgICAgICAgICAgc3VzcGVuc2V5Q29tbWl0RmxhZyA9IHByZXZGbGFncztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVjdXJzaXZlbHlBY2N1bXVsYXRlU3VzcGVuc2V5Q29tbWl0KGZpYmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5QWNjdW11bGF0ZVN1c3BlbnNleUNvbW1pdChmaWJlcik7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGV0YWNoQWx0ZXJuYXRlU2libGluZ3MocGFyZW50RmliZXIpIHtcbiAgLy8gQSBmaWJlciB3YXMgZGVsZXRlZCBmcm9tIHRoaXMgcGFyZW50IGZpYmVyLCBidXQgaXQncyBzdGlsbCBwYXJ0IG9mIHRoZVxuICAvLyBwcmV2aW91cyAoYWx0ZXJuYXRlKSBwYXJlbnQgZmliZXIncyBsaXN0IG9mIGNoaWxkcmVuLiBCZWNhdXNlIGNoaWxkcmVuXG4gIC8vIGFyZSBhIGxpbmtlZCBsaXN0LCBhbiBlYXJsaWVyIHNpYmxpbmcgdGhhdCdzIHN0aWxsIGFsaXZlIHdpbGwgYmVcbiAgLy8gY29ubmVjdGVkIHRvIHRoZSBkZWxldGVkIGZpYmVyIHZpYSBpdHMgYGFsdGVybmF0ZWA6XG4gIC8vXG4gIC8vICAgbGl2ZSBmaWJlciAtLWFsdGVybmF0ZS0tPiBwcmV2aW91cyBsaXZlIGZpYmVyIC0tc2libGluZy0tPiBkZWxldGVkXG4gIC8vICAgZmliZXJcbiAgLy9cbiAgLy8gV2UgY2FuJ3QgZGlzY29ubmVjdCBgYWx0ZXJuYXRlYCBvbiBub2RlcyB0aGF0IGhhdmVuJ3QgYmVlbiBkZWxldGVkIHlldCxcbiAgLy8gYnV0IHdlIGNhbiBkaXNjb25uZWN0IHRoZSBgc2libGluZ2AgYW5kIGBjaGlsZGAgcG9pbnRlcnMuXG4gIHZhciBwcmV2aW91c0ZpYmVyID0gcGFyZW50RmliZXIuYWx0ZXJuYXRlO1xuXG4gIGlmIChwcmV2aW91c0ZpYmVyICE9PSBudWxsKSB7XG4gICAgdmFyIGRldGFjaGVkQ2hpbGQgPSBwcmV2aW91c0ZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKGRldGFjaGVkQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgIHByZXZpb3VzRmliZXIuY2hpbGQgPSBudWxsO1xuXG4gICAgICBkbyB7XG4gICAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuICAgICAgICB2YXIgZGV0YWNoZWRTaWJsaW5nID0gZGV0YWNoZWRDaGlsZC5zaWJsaW5nOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuICAgICAgICBkZXRhY2hlZENoaWxkLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICBkZXRhY2hlZENoaWxkID0gZGV0YWNoZWRTaWJsaW5nO1xuICAgICAgfSB3aGlsZSAoZGV0YWNoZWRDaGlsZCAhPT0gbnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEhvb2tQYXNzaXZlVW5tb3VudEVmZmVjdHMoZmluaXNoZWRXb3JrLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBob29rRmxhZ3MpIHtcbiAgaWYgKHNob3VsZFByb2ZpbGUoZmluaXNoZWRXb3JrKSkge1xuICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG4gICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KGhvb2tGbGFncywgZmluaXNoZWRXb3JrLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICByZWNvcmRQYXNzaXZlRWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgfSBlbHNlIHtcbiAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoaG9va0ZsYWdzLCBmaW5pc2hlZFdvcmssIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlY3Vyc2l2ZWx5VHJhdmVyc2VQYXNzaXZlVW5tb3VudEVmZmVjdHMocGFyZW50RmliZXIpIHtcbiAgLy8gRGVsZXRpb25zIGVmZmVjdHMgY2FuIGJlIHNjaGVkdWxlZCBvbiBhbnkgZmliZXIgdHlwZS4gVGhleSBuZWVkIHRvIGhhcHBlblxuICAvLyBiZWZvcmUgdGhlIGNoaWxkcmVuIGVmZmVjdHMgaGF2ZSBmaXJlZC5cbiAgdmFyIGRlbGV0aW9ucyA9IHBhcmVudEZpYmVyLmRlbGV0aW9ucztcblxuICBpZiAoKHBhcmVudEZpYmVyLmZsYWdzICYgQ2hpbGREZWxldGlvbikgIT09IE5vRmxhZ3MkMSkge1xuICAgIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGVsZXRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZFRvRGVsZXRlID0gZGVsZXRpb25zW2ldOyAvLyBUT0RPOiBDb252ZXJ0IHRoaXMgdG8gdXNlIHJlY3Vyc2lvblxuXG4gICAgICAgIG5leHRFZmZlY3QgPSBjaGlsZFRvRGVsZXRlO1xuICAgICAgICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNJbnNpZGVPZkRlbGV0ZWRUcmVlX2JlZ2luKGNoaWxkVG9EZWxldGUsIHBhcmVudEZpYmVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkZXRhY2hBbHRlcm5hdGVTaWJsaW5ncyhwYXJlbnRGaWJlcik7XG4gIH1cblxuICB2YXIgcHJldkRlYnVnRmliZXIgPSBnZXRDdXJyZW50RmliZXIoKTsgLy8gVE9ETzogU3BsaXQgUGFzc2l2ZU1hc2sgaW50byBzZXBhcmF0ZSBtYXNrcyBmb3IgbW91bnQgYW5kIHVubW91bnQ/XG5cbiAgaWYgKHBhcmVudEZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSB7XG4gICAgdmFyIGNoaWxkID0gcGFyZW50RmliZXIuY2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihjaGlsZCk7XG4gICAgICBjb21taXRQYXNzaXZlVW5tb3VudE9uRmliZXIoY2hpbGQpO1xuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cbiAgfVxuXG4gIHNldEN1cnJlbnRGaWJlcihwcmV2RGVidWdGaWJlcik7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50T25GaWJlcihmaW5pc2hlZFdvcmspIHtcbiAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlUGFzc2l2ZVVubW91bnRFZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZpbmlzaGVkV29yay5mbGFncyAmIFBhc3NpdmUkMSkge1xuICAgICAgICAgIGNvbW1pdEhvb2tQYXNzaXZlVW5tb3VudEVmZmVjdHMoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBQYXNzaXZlIHwgSGFzRWZmZWN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBPZmZzY3JlZW5Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG4gICAgICAgIHZhciBuZXh0U3RhdGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgdmFyIGlzSGlkZGVuID0gbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmIChpc0hpZGRlbiAmJiBpbnN0YW5jZS5fdmlzaWJpbGl0eSAmIE9mZnNjcmVlblBhc3NpdmVFZmZlY3RzQ29ubmVjdGVkICYmICggLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBkb24ndCB1bm1vdW50IHdoZW4gYSB0cmVlIHN1c3BlbmRzLiBJblxuICAgICAgICAvLyB0aGUgZnV0dXJlIHdlIG1heSBjaGFuZ2UgdGhpcyB0byB1bm1vdW50IGFmdGVyIGEgZGVsYXkuXG4gICAgICAgIGZpbmlzaGVkV29yay5yZXR1cm4gPT09IG51bGwgfHwgZmluaXNoZWRXb3JrLnJldHVybi50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSkge1xuICAgICAgICAgIC8vIFRoZSBlZmZlY3RzIGFyZSBjdXJyZW50bHkgY29ubmVjdGVkLiBEaXNjb25uZWN0IHRoZW0uXG4gICAgICAgICAgLy8gVE9ETzogQWRkIG9wdGlvbiBvciBoZXVyaXN0aWMgdG8gZGVsYXkgYmVmb3JlIGRpc2Nvbm5lY3RpbmcgdGhlXG4gICAgICAgICAgLy8gZWZmZWN0cy4gVGhlbiBpZiB0aGUgdHJlZSByZWFwcGVhcnMgYmVmb3JlIHRoZSBkZWxheSBoYXMgZWxhcHNlZCwgd2VcbiAgICAgICAgICAvLyBjYW4gc2tpcCB0b2dnbGluZyB0aGUgZWZmZWN0cyBlbnRpcmVseS5cbiAgICAgICAgICBpbnN0YW5jZS5fdmlzaWJpbGl0eSAmPSB+T2Zmc2NyZWVuUGFzc2l2ZUVmZmVjdHNDb25uZWN0ZWQ7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURpc2Nvbm5lY3RQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VQYXNzaXZlVW5tb3VudEVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZVBhc3NpdmVVbm1vdW50RWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByZWN1cnNpdmVseVRyYXZlcnNlRGlzY29ubmVjdFBhc3NpdmVFZmZlY3RzKHBhcmVudEZpYmVyKSB7XG4gIC8vIERlbGV0aW9ucyBlZmZlY3RzIGNhbiBiZSBzY2hlZHVsZWQgb24gYW55IGZpYmVyIHR5cGUuIFRoZXkgbmVlZCB0byBoYXBwZW5cbiAgLy8gYmVmb3JlIHRoZSBjaGlsZHJlbiBlZmZlY3RzIGhhdmUgZmlyZWQuXG4gIHZhciBkZWxldGlvbnMgPSBwYXJlbnRGaWJlci5kZWxldGlvbnM7XG5cbiAgaWYgKChwYXJlbnRGaWJlci5mbGFncyAmIENoaWxkRGVsZXRpb24pICE9PSBOb0ZsYWdzJDEpIHtcbiAgICBpZiAoZGVsZXRpb25zICE9PSBudWxsKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlbGV0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgY2hpbGRUb0RlbGV0ZSA9IGRlbGV0aW9uc1tpXTsgLy8gVE9ETzogQ29udmVydCB0aGlzIHRvIHVzZSByZWN1cnNpb25cblxuICAgICAgICBuZXh0RWZmZWN0ID0gY2hpbGRUb0RlbGV0ZTtcbiAgICAgICAgY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzSW5zaWRlT2ZEZWxldGVkVHJlZV9iZWdpbihjaGlsZFRvRGVsZXRlLCBwYXJlbnRGaWJlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGV0YWNoQWx0ZXJuYXRlU2libGluZ3MocGFyZW50RmliZXIpO1xuICB9XG5cbiAgdmFyIHByZXZEZWJ1Z0ZpYmVyID0gZ2V0Q3VycmVudEZpYmVyKCk7IC8vIFRPRE86IENoZWNrIFBhc3NpdmVTdGF0aWMgZmxhZ1xuXG4gIHZhciBjaGlsZCA9IHBhcmVudEZpYmVyLmNoaWxkO1xuXG4gIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgIHNldEN1cnJlbnRGaWJlcihjaGlsZCk7XG4gICAgZGlzY29ubmVjdFBhc3NpdmVFZmZlY3QoY2hpbGQpO1xuICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgfVxuXG4gIHNldEN1cnJlbnRGaWJlcihwcmV2RGVidWdGaWJlcik7XG59XG5cbmZ1bmN0aW9uIGRpc2Nvbm5lY3RQYXNzaXZlRWZmZWN0KGZpbmlzaGVkV29yaykge1xuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIFRPRE86IENoZWNrIFBhc3NpdmVTdGF0aWMgZmxhZ1xuICAgICAgICBjb21taXRIb29rUGFzc2l2ZVVubW91bnRFZmZlY3RzKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgUGFzc2l2ZSk7IC8vIFdoZW4gZGlzY29ubmVjdGluZyBwYXNzaXZlIGVmZmVjdHMsIHdlIGZpcmUgdGhlIGVmZmVjdHMgaW4gdGhlIHNhbWVcbiAgICAgICAgLy8gb3JkZXIgYXMgZHVyaW5nIGEgZGVsZXRpb25nOiBwYXJlbnQgYmVmb3JlIGNoaWxkXG5cbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURpc2Nvbm5lY3RQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpbnN0YW5jZS5fdmlzaWJpbGl0eSAmIE9mZnNjcmVlblBhc3NpdmVFZmZlY3RzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgaW5zdGFuY2UuX3Zpc2liaWxpdHkgJj0gfk9mZnNjcmVlblBhc3NpdmVFZmZlY3RzQ29ubmVjdGVkO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEaXNjb25uZWN0UGFzc2l2ZUVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURpc2Nvbm5lY3RQYXNzaXZlRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNJbnNpZGVPZkRlbGV0ZWRUcmVlX2JlZ2luKGRlbGV0ZWRTdWJ0cmVlUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcikge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7IC8vIERlbGV0aW9uIGVmZmVjdHMgZmlyZSBpbiBwYXJlbnQgLT4gY2hpbGQgb3JkZXJcbiAgICAvLyBUT0RPOiBDaGVjayBpZiBmaWJlciBoYXMgYSBQYXNzaXZlU3RhdGljIGZsYWdcblxuICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG4gICAgY29tbWl0UGFzc2l2ZVVubW91bnRJbnNpZGVEZWxldGVkVHJlZU9uRmliZXIoZmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgdmFyIGNoaWxkID0gZmliZXIuY2hpbGQ7IC8vIFRPRE86IE9ubHkgdHJhdmVyc2Ugc3VidHJlZSBpZiBpdCBoYXMgYSBQYXNzaXZlU3RhdGljIGZsYWcuXG5cbiAgICBpZiAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGNoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGNoaWxkO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNJbnNpZGVPZkRlbGV0ZWRUcmVlX2NvbXBsZXRlKGRlbGV0ZWRTdWJ0cmVlUm9vdCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c0luc2lkZU9mRGVsZXRlZFRyZWVfY29tcGxldGUoZGVsZXRlZFN1YnRyZWVSb290KSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcbiAgICB2YXIgc2libGluZyA9IGZpYmVyLnNpYmxpbmc7XG4gICAgdmFyIHJldHVybkZpYmVyID0gZmliZXIucmV0dXJuOyAvLyBSZWN1cnNpdmVseSB0cmF2ZXJzZSB0aGUgZW50aXJlIGRlbGV0ZWQgdHJlZSBhbmQgY2xlYW4gdXAgZmliZXIgZmllbGRzLlxuICAgIC8vIFRoaXMgaXMgbW9yZSBhZ2dyZXNzaXZlIHRoYW4gaWRlYWwsIGFuZCB0aGUgbG9uZyB0ZXJtIGdvYWwgaXMgdG8gb25seVxuICAgIC8vIGhhdmUgdG8gZGV0YWNoIHRoZSBkZWxldGVkIHRyZWUgYXQgdGhlIHJvb3QuXG5cbiAgICBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cyhmaWJlcik7XG5cbiAgICBpZiAoZmliZXIgPT09IGRlbGV0ZWRTdWJ0cmVlUm9vdCkge1xuICAgICAgbmV4dEVmZmVjdCA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIHNpYmxpbmcucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICBuZXh0RWZmZWN0ID0gc2libGluZztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBuZXh0RWZmZWN0ID0gcmV0dXJuRmliZXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRJbnNpZGVEZWxldGVkVHJlZU9uRmliZXIoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcikge1xuICBzd2l0Y2ggKGN1cnJlbnQudGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBjb21taXRIb29rUGFzc2l2ZVVubW91bnRFZmZlY3RzKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIFBhc3NpdmUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAvLyBUT0RPOiBydW4gcGFzc2l2ZSB1bm1vdW50IGVmZmVjdHMgd2hlbiB1bm1vdW50aW5nIGEgcm9vdC5cbiAgICAvLyBCZWNhdXNlIHBhc3NpdmUgdW5tb3VudCBlZmZlY3RzIGFyZSBub3QgY3VycmVudGx5IHJ1bixcbiAgICAvLyB0aGUgY2FjaGUgaW5zdGFuY2Ugb3duZWQgYnkgdGhlIHJvb3Qgd2lsbCBuZXZlciBiZSBmcmVlZC5cbiAgICAvLyBXaGVuIGVmZmVjdHMgYXJlIHJ1biwgdGhlIGNhY2hlIHNob3VsZCBiZSBmcmVlZCBoZXJlOlxuICAgIC8vIGNhc2UgSG9zdFJvb3Q6IHtcbiAgICAvLyAgIGlmIChlbmFibGVDYWNoZSkge1xuICAgIC8vICAgICBjb25zdCBjYWNoZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5jYWNoZTtcbiAgICAvLyAgICAgcmVsZWFzZUNhY2hlKGNhY2hlKTtcbiAgICAvLyAgIH1cbiAgICAvLyAgIGJyZWFrO1xuICAgIC8vIH1cblxuICAgIGNhc2UgTGVnYWN5SGlkZGVuQ29tcG9uZW50OlxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgY2FjaGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2w7IC8vIFJldGFpbi9yZWxlYXNlIHRoZSBjYWNoZSB1c2VkIGZvciBwZW5kaW5nIChzdXNwZW5kZWQpIG5vZGVzLlxuICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHRoaXMgaXMgb25seSByZWFjaGVkIGluIHRoZSBub24tc3VzcGVuZGVkL3Zpc2libGUgY2FzZTpcbiAgICAgICAgICAgIC8vIHdoZW4gdGhlIGNvbnRlbnQgaXMgc3VzcGVuZGVkL2hpZGRlbiwgdGhlIHJldGFpbi9yZWxlYXNlIG9jY3Vyc1xuICAgICAgICAgICAgLy8gdmlhIHRoZSBwYXJlbnQgU3VzcGVuc2UgY29tcG9uZW50IChzZWUgY2FzZSBhYm92ZSkuXG5cbiAgICAgICAgICAgIGlmIChjYWNoZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgIHJldGFpbkNhY2hlKGNhY2hlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9jYWNoZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5jYWNoZTtcbiAgICAgICAgICByZWxlYXNlQ2FjaGUoX2NhY2hlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGludm9rZUxheW91dEVmZmVjdE1vdW50SW5ERVYoZmliZXIpIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaWJlcik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VQYXNzaXZlRWZmZWN0TW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlIHwgSGFzRWZmZWN0LCBmaWJlcik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VMYXlvdXRFZmZlY3RVbm1vdW50SW5ERVYoZmliZXIpIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVubW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChmaWJlciwgZmliZXIucmV0dXJuLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaW52b2tlUGFzc2l2ZUVmZmVjdFVubW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KFBhc3NpdmUgfCBIYXNFZmZlY3QsIGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldENhY2hlU2lnbmFsKCkge1xuXG4gIHZhciBjYWNoZSA9IHJlYWRDb250ZXh0KENhY2hlQ29udGV4dCk7XG4gIHJldHVybiBjYWNoZS5jb250cm9sbGVyLnNpZ25hbDtcbn1cblxuZnVuY3Rpb24gZ2V0Q2FjaGVGb3JUeXBlKHJlc291cmNlVHlwZSkge1xuXG4gIHZhciBjYWNoZSA9IHJlYWRDb250ZXh0KENhY2hlQ29udGV4dCk7XG4gIHZhciBjYWNoZUZvclR5cGUgPSBjYWNoZS5kYXRhLmdldChyZXNvdXJjZVR5cGUpO1xuXG4gIGlmIChjYWNoZUZvclR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhY2hlRm9yVHlwZSA9IHJlc291cmNlVHlwZSgpO1xuICAgIGNhY2hlLmRhdGEuc2V0KHJlc291cmNlVHlwZSwgY2FjaGVGb3JUeXBlKTtcbiAgfVxuXG4gIHJldHVybiBjYWNoZUZvclR5cGU7XG59XG5cbnZhciBEZWZhdWx0Q2FjaGVEaXNwYXRjaGVyID0ge1xuICBnZXRDYWNoZVNpZ25hbDogZ2V0Q2FjaGVTaWduYWwsXG4gIGdldENhY2hlRm9yVHlwZTogZ2V0Q2FjaGVGb3JUeXBlXG59O1xuXG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuZm9yKSB7XG4gIHZhciBzeW1ib2xGb3IgPSBTeW1ib2wuZm9yO1xuICBzeW1ib2xGb3IoJ3NlbGVjdG9yLmNvbXBvbmVudCcpO1xuICBzeW1ib2xGb3IoJ3NlbGVjdG9yLmhhc19wc2V1ZG9fY2xhc3MnKTtcbiAgc3ltYm9sRm9yKCdzZWxlY3Rvci5yb2xlJyk7XG4gIHN5bWJvbEZvcignc2VsZWN0b3IudGVzdF9pZCcpO1xuICBzeW1ib2xGb3IoJ3NlbGVjdG9yLnRleHQnKTtcbn1cbnZhciBjb21taXRIb29rcyA9IFtdO1xuZnVuY3Rpb24gb25Db21taXRSb290KCkge1xuICB7XG4gICAgY29tbWl0SG9va3MuZm9yRWFjaChmdW5jdGlvbiAoY29tbWl0SG9vaykge1xuICAgICAgcmV0dXJuIGNvbW1pdEhvb2soKTtcbiAgICB9KTtcbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50QWN0UXVldWUkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudEFjdFF1ZXVlO1xuZnVuY3Rpb24gaXNMZWdhY3lBY3RFbnZpcm9ubWVudChmaWJlcikge1xuICB7XG4gICAgLy8gTGVnYWN5IG1vZGUuIFdlIHByZXNlcnZlIHRoZSBiZWhhdmlvciBvZiBSZWFjdCAxNydzIGFjdC4gSXQgYXNzdW1lcyBhblxuICAgIC8vIGFjdCBlbnZpcm9ubWVudCB3aGVuZXZlciBgamVzdGAgaXMgZGVmaW5lZCwgYnV0IHlvdSBjYW4gc3RpbGwgdHVybiBvZmZcbiAgICAvLyBzcHVyaW91cyB3YXJuaW5ncyBieSBzZXR0aW5nIElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCBleHBsaWNpdGx5XG4gICAgLy8gdG8gZmFsc2UuXG4gICAgdmFyIGlzUmVhY3RBY3RFbnZpcm9ubWVudEdsb2JhbCA9IC8vICRGbG93Rml4TWVbY2Fubm90LXJlc29sdmUtbmFtZV0gRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UIGdsb2JhbFxuICAgIHR5cGVvZiBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgIT09ICd1bmRlZmluZWQnID8gLy8gJEZsb3dGaXhNZVtjYW5ub3QtcmVzb2x2ZS1uYW1lXVxuICAgIElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCA6IHVuZGVmaW5lZDsgLy8gJEZsb3dGaXhNZVtjYW5ub3QtcmVzb2x2ZS1uYW1lXSAtIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IGplc3RcblxuICAgIHZhciBqZXN0SXNEZWZpbmVkID0gdHlwZW9mIGplc3QgIT09ICd1bmRlZmluZWQnO1xuICAgIHJldHVybiBqZXN0SXNEZWZpbmVkICYmIGlzUmVhY3RBY3RFbnZpcm9ubWVudEdsb2JhbCAhPT0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGlzQ29uY3VycmVudEFjdEVudmlyb25tZW50KCkge1xuICB7XG4gICAgdmFyIGlzUmVhY3RBY3RFbnZpcm9ubWVudEdsb2JhbCA9IC8vICRGbG93Rml4TWVbY2Fubm90LXJlc29sdmUtbmFtZV0gRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UIGdsb2JhbFxuICAgIHR5cGVvZiBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgIT09ICd1bmRlZmluZWQnID8gLy8gJEZsb3dGaXhNZVtjYW5ub3QtcmVzb2x2ZS1uYW1lXVxuICAgIElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsICYmIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgLy8gVE9ETzogSW5jbHVkZSBsaW5rIHRvIHJlbGV2YW50IGRvY3VtZW50YXRpb24gcGFnZS5cbiAgICAgIGVycm9yKCdUaGUgY3VycmVudCB0ZXN0aW5nIGVudmlyb25tZW50IGlzIG5vdCBjb25maWd1cmVkIHRvIHN1cHBvcnQgJyArICdhY3QoLi4uKScpO1xuICAgIH1cblxuICAgIHJldHVybiBpc1JlYWN0QWN0RW52aXJvbm1lbnRHbG9iYWw7XG4gIH1cbn1cblxudmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcbiAgICBSZWFjdEN1cnJlbnRDYWNoZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudENhY2hlLFxuICAgIFJlYWN0Q3VycmVudE93bmVyJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcixcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QmF0Y2hDb25maWcsXG4gICAgUmVhY3RDdXJyZW50QWN0UXVldWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRBY3RRdWV1ZTtcbnZhciBOb0NvbnRleHQgPVxuLyogICAgICAgICAgICAgKi9cbjA7XG52YXIgQmF0Y2hlZENvbnRleHQgPVxuLyogICAgICAgICAgICAgICAqL1xuMTtcbnZhciBSZW5kZXJDb250ZXh0ID1cbi8qICAgICAgICAgKi9cbjI7XG52YXIgQ29tbWl0Q29udGV4dCA9XG4vKiAgICAgICAgICovXG40O1xudmFyIFJvb3RJblByb2dyZXNzID0gMDtcbnZhciBSb290RmF0YWxFcnJvcmVkID0gMTtcbnZhciBSb290RXJyb3JlZCA9IDI7XG52YXIgUm9vdFN1c3BlbmRlZCA9IDM7XG52YXIgUm9vdFN1c3BlbmRlZFdpdGhEZWxheSA9IDQ7XG52YXIgUm9vdENvbXBsZXRlZCA9IDU7XG52YXIgUm9vdERpZE5vdENvbXBsZXRlID0gNjsgLy8gRGVzY3JpYmVzIHdoZXJlIHdlIGFyZSBpbiB0aGUgUmVhY3QgZXhlY3V0aW9uIHN0YWNrXG5cbnZhciBleGVjdXRpb25Db250ZXh0ID0gTm9Db250ZXh0OyAvLyBUaGUgcm9vdCB3ZSdyZSB3b3JraW5nIG9uXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsOyAvLyBUaGUgZmliZXIgd2UncmUgd29ya2luZyBvblxuXG52YXIgd29ya0luUHJvZ3Jlc3MgPSBudWxsOyAvLyBUaGUgbGFuZXMgd2UncmUgcmVuZGVyaW5nXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7XG52YXIgTm90U3VzcGVuZGVkID0gMDtcbnZhciBTdXNwZW5kZWRPbkVycm9yID0gMTtcbnZhciBTdXNwZW5kZWRPbkRhdGEgPSAyO1xudmFyIFN1c3BlbmRlZE9uSW1tZWRpYXRlID0gMztcbnZhciBTdXNwZW5kZWRPbkluc3RhbmNlID0gNDtcbnZhciBTdXNwZW5kZWRPbkluc3RhbmNlQW5kUmVhZHlUb0NvbnRpbnVlID0gNTtcbnZhciBTdXNwZW5kZWRPbkRlcHJlY2F0ZWRUaHJvd1Byb21pc2UgPSA2O1xudmFyIFN1c3BlbmRlZEFuZFJlYWR5VG9Db250aW51ZSA9IDc7XG52YXIgU3VzcGVuZGVkT25IeWRyYXRpb24gPSA4OyAvLyBXaGVuIHRoaXMgaXMgdHJ1ZSwgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIganVzdCBzdXNwZW5kZWQgKG9yIGVycm9yZWQpIGFuZFxuLy8gd2UndmUgeWV0IHRvIHVud2luZCB0aGUgc3RhY2suIEluIHNvbWUgY2FzZXMsIHdlIG1heSB5aWVsZCB0byB0aGUgbWFpbiB0aHJlYWRcbi8vIGFmdGVyIHRoaXMgaGFwcGVucy4gSWYgdGhlIGZpYmVyIGlzIHBpbmdlZCBiZWZvcmUgd2UgcmVzdW1lLCB3ZSBjYW4gcmV0cnlcbi8vIGltbWVkaWF0ZWx5IGluc3RlYWQgb2YgdW53aW5kaW5nIHRoZSBzdGFjay5cblxudmFyIHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID0gTm90U3VzcGVuZGVkO1xudmFyIHdvcmtJblByb2dyZXNzVGhyb3duVmFsdWUgPSBudWxsOyAvLyBXaGV0aGVyIGEgcGluZyBsaXN0ZW5lciB3YXMgYXR0YWNoZWQgZHVyaW5nIHRoaXMgcmVuZGVyLiBUaGlzIGlzIHNsaWdodGx5XG4vLyBkaWZmZXJlbnQgdGhhdCB3aGV0aGVyIHNvbWV0aGluZyBzdXNwZW5kZWQsIGJlY2F1c2Ugd2UgZG9uJ3QgYWRkIG11bHRpcGxlXG4vLyBsaXN0ZW5lcnMgdG8gYSBwcm9taXNlIHdlJ3ZlIGFscmVhZHkgc2VlbiAocGVyIHJvb3QgYW5kIGxhbmUpLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290RGlkQXR0YWNoUGluZ0xpc3RlbmVyID0gZmFsc2U7IC8vIEEgY29udGV4dHVhbCB2ZXJzaW9uIG9mIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzLiBJdCBpcyBhIHN1cGVyc2V0IG9mXG4vLyB0aGUgbGFuZXMgdGhhdCB3ZSBzdGFydGVkIHdvcmtpbmcgb24gYXQgdGhlIHJvb3QuIFdoZW4gd2UgZW50ZXIgYSBzdWJ0cmVlXG4vLyB0aGF0IGlzIGN1cnJlbnRseSBoaWRkZW4sIHdlIGFkZCB0aGUgbGFuZXMgdGhhdCB3b3VsZCBoYXZlIGNvbW1pdHRlZCBpZlxuLy8gdGhlIGhpZGRlbiB0cmVlIGhhZG4ndCBiZWVuIGRlZmVycmVkLiBUaGlzIGlzIG1vZGlmaWVkIGJ5IHRoZVxuLy8gSGlkZGVuQ29udGV4dCBtb2R1bGUuXG4vL1xuLy8gTW9zdCB0aGluZ3MgaW4gdGhlIHdvcmsgbG9vcCBzaG91bGQgZGVhbCB3aXRoIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzLlxuLy8gTW9zdCB0aGluZ3MgaW4gYmVnaW4vY29tcGxldGUgcGhhc2VzIHNob3VsZCBkZWFsIHdpdGggZW50YW5nbGVkUmVuZGVyTGFuZXMuXG5cbnZhciBlbnRhbmdsZWRSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIFdoZXRoZXIgdG8gcm9vdCBjb21wbGV0ZWQsIGVycm9yZWQsIHN1c3BlbmRlZCwgZXRjLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJblByb2dyZXNzOyAvLyBBIGZhdGFsIGVycm9yLCBpZiBvbmUgaXMgdGhyb3duXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yID0gbnVsbDsgLy8gVGhlIHdvcmsgbGVmdCBvdmVyIGJ5IGNvbXBvbmVudHMgdGhhdCB3ZXJlIHZpc2l0ZWQgZHVyaW5nIHRoaXMgcmVuZGVyLiBPbmx5XG4vLyBpbmNsdWRlcyB1bnByb2Nlc3NlZCB1cGRhdGVzLCBub3Qgd29yayBpbiBiYWlsZWQgb3V0IGNoaWxkcmVuLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290U2tpcHBlZExhbmVzID0gTm9MYW5lczsgLy8gTGFuZXMgdGhhdCB3ZXJlIHVwZGF0ZWQgKGluIGFuIGludGVybGVhdmVkIGV2ZW50KSBkdXJpbmcgdGhpcyByZW5kZXIuXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RJbnRlcmxlYXZlZFVwZGF0ZWRMYW5lcyA9IE5vTGFuZXM7IC8vIExhbmVzIHRoYXQgd2VyZSB1cGRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlICgqbm90KiBhbiBpbnRlcmxlYXZlZCBldmVudCkuXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RQaW5nZWRMYW5lcyA9IE5vTGFuZXM7IC8vIElmIHRoaXMgbGFuZSBzY2hlZHVsZWQgZGVmZXJyZWQgd29yaywgdGhpcyBpcyB0aGUgbGFuZSBvZiB0aGUgZGVmZXJyZWQgdGFzay5cblxudmFyIHdvcmtJblByb2dyZXNzRGVmZXJyZWRMYW5lID0gTm9MYW5lOyAvLyBFcnJvcnMgdGhhdCBhcmUgdGhyb3duIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycyA9IG51bGw7IC8vIFRoZXNlIGFyZSBlcnJvcnMgdGhhdCB3ZSByZWNvdmVyZWQgZnJvbSB3aXRob3V0IHN1cmZhY2luZyB0aGVtIHRvIHRoZSBVSS5cbi8vIFdlIHdpbGwgbG9nIHRoZW0gb25jZSB0aGUgdHJlZSBjb21taXRzLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMgPSBudWxsOyAvLyBUcmFja3Mgd2hlbiBhbiB1cGRhdGUgb2NjdXJzIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290RGlkSW5jbHVkZVJlY3Vyc2l2ZVJlbmRlclVwZGF0ZSA9IGZhbHNlOyAvLyBUaGFja3Mgd2hlbiBhbiB1cGRhdGUgb2NjdXJzIGR1cmluZyB0aGUgY29tbWl0IHBoYXNlLiBJdCdzIGEgc2VwYXJhdGVcbi8vIHZhcmlhYmxlIGZyb20gdGhlIG9uZSBmb3IgcmVuZGVycyBiZWNhdXNlIHRoZSBjb21taXQgcGhhc2UgbWF5IHJ1blxuLy8gY29uY3VycmVudGx5IHRvIGEgcmVuZGVyIHBoYXNlLlxuXG52YXIgZGlkSW5jbHVkZUNvbW1pdFBoYXNlVXBkYXRlID0gZmFsc2U7IC8vIFRoZSBtb3N0IHJlY2VudCB0aW1lIHdlIGVpdGhlciBjb21taXR0ZWQgYSBmYWxsYmFjaywgb3Igd2hlbiBhIGZhbGxiYWNrIHdhc1xuLy8gZmlsbGVkIGluIHdpdGggdGhlIHJlc29sdmVkIFVJLiBUaGlzIGxldHMgdXMgdGhyb3R0bGUgdGhlIGFwcGVhcmFuY2Ugb2YgbmV3XG4vLyBjb250ZW50IGFzIGl0IHN0cmVhbXMgaW4sIHRvIG1pbmltaXplIGphbmsuXG4vLyBUT0RPOiBUaGluayBvZiBhIGJldHRlciBuYW1lIGZvciB0aGlzIHZhcmlhYmxlP1xuXG52YXIgZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSA9IDA7XG52YXIgRkFMTEJBQ0tfVEhST1RUTEVfTVMgPSAzMDA7IC8vIFRoZSBhYnNvbHV0ZSB0aW1lIGZvciB3aGVuIHdlIHNob3VsZCBzdGFydCBnaXZpbmcgdXAgb24gcmVuZGVyaW5nXG4vLyBtb3JlIGFuZCBwcmVmZXIgQ1BVIHN1c3BlbnNlIGhldXJpc3RpY3MgaW5zdGVhZC5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBJbmZpbml0eTsgLy8gSG93IGxvbmcgYSByZW5kZXIgaXMgc3VwcG9zZWQgdG8gdGFrZSBiZWZvcmUgd2Ugc3RhcnQgZm9sbG93aW5nIENQVVxuLy8gc3VzcGVuc2UgaGV1cmlzdGljcyBhbmQgb3B0IG91dCBvZiByZW5kZXJpbmcgbW9yZSBjb250ZW50LlxuXG52YXIgUkVOREVSX1RJTUVPVVRfTVMgPSA1MDA7XG52YXIgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyA9IG51bGw7XG5cbmZ1bmN0aW9uIHJlc2V0UmVuZGVyVGltZXIoKSB7XG4gIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBub3ckMSgpICsgUkVOREVSX1RJTUVPVVRfTVM7XG59XG5cbmZ1bmN0aW9uIGdldFJlbmRlclRhcmdldFRpbWUoKSB7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJUYXJnZXRUaW1lO1xufVxudmFyIGhhc1VuY2F1Z2h0RXJyb3IgPSBmYWxzZTtcbnZhciBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBudWxsO1xudmFyIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkID0gbnVsbDsgLy8gT25seSB1c2VkIHdoZW4gZW5hYmxlUHJvZmlsZXJOZXN0ZWRVcGRhdGVTY2hlZHVsZWRIb29rIGlzIHRydWU7XG52YXIgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbnZhciByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9IG51bGw7XG52YXIgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMgPSBOb0xhbmVzO1xudmFyIHBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3RzID0gW107XG52YXIgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzUmVtYWluaW5nTGFuZXMgPSBOb0xhbmVzO1xudmFyIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsOyAvLyBVc2UgdGhlc2UgdG8gcHJldmVudCBhbiBpbmZpbml0ZSBsb29wIG9mIG5lc3RlZCB1cGRhdGVzXG5cbnZhciBORVNURURfVVBEQVRFX0xJTUlUID0gNTA7XG52YXIgbmVzdGVkVXBkYXRlQ291bnQgPSAwO1xudmFyIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IG51bGw7XG52YXIgaXNGbHVzaGluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG52YXIgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xudmFyIE5FU1RFRF9QQVNTSVZFX1VQREFURV9MSU1JVCA9IDUwO1xudmFyIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG52YXIgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7XG52YXIgaXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0ID0gZmFsc2U7XG5mdW5jdGlvbiBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKSB7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc1Jvb3Q7XG59XG5mdW5jdGlvbiBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcygpIHtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzO1xufVxuZnVuY3Rpb24gaXNXb3JrTG9vcFN1c3BlbmRlZE9uRGF0YSgpIHtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID09PSBTdXNwZW5kZWRPbkRhdGE7XG59XG5mdW5jdGlvbiByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcikge1xuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfSBlbHNlIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpICE9PSBOb0NvbnRleHQgJiYgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVuZGVyIHBoYXNlIHVwZGF0ZS4gVGhlc2UgYXJlIG5vdCBvZmZpY2lhbGx5IHN1cHBvcnRlZC4gVGhlXG4gICAgLy8gb2xkIGJlaGF2aW9yIGlzIHRvIGdpdmUgdGhpcyB0aGUgc2FtZSBcInRocmVhZFwiIChsYW5lcykgYXNcbiAgICAvLyB3aGF0ZXZlciBpcyBjdXJyZW50bHkgcmVuZGVyaW5nLiBTbyBpZiB5b3UgY2FsbCBgc2V0U3RhdGVgIG9uIGEgY29tcG9uZW50XG4gICAgLy8gdGhhdCBoYXBwZW5zIGxhdGVyIGluIHRoZSBzYW1lIHJlbmRlciwgaXQgd2lsbCBmbHVzaC4gSWRlYWxseSwgd2Ugd2FudCB0b1xuICAgIC8vIHJlbW92ZSB0aGUgc3BlY2lhbCBjYXNlIGFuZCB0cmVhdCB0aGVtIGFzIGlmIHRoZXkgY2FtZSBmcm9tIGFuXG4gICAgLy8gaW50ZXJsZWF2ZWQgZXZlbnQuIFJlZ2FyZGxlc3MsIHRoaXMgcGF0dGVybiBpcyBub3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQuXG4gICAgLy8gVGhpcyBiZWhhdmlvciBpcyBvbmx5IGEgZmFsbGJhY2suIFRoZSBmbGFnIG9ubHkgZXhpc3RzIHVudGlsIHdlIGNhbiByb2xsXG4gICAgLy8gb3V0IHRoZSBzZXRTdGF0ZSB3YXJuaW5nLCBzaW5jZSBleGlzdGluZyBjb2RlIG1pZ2h0IGFjY2lkZW50YWxseSByZWx5IG9uXG4gICAgLy8gdGhlIGN1cnJlbnQgYmVoYXZpb3IuXG4gICAgcmV0dXJuIHBpY2tBcmJpdHJhcnlMYW5lKHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciB0cmFuc2l0aW9uID0gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCk7XG5cbiAgaWYgKHRyYW5zaXRpb24gIT09IG51bGwpIHtcbiAgICB7XG4gICAgICB2YXIgYmF0Y2hDb25maWdUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS50cmFuc2l0aW9uO1xuXG4gICAgICBpZiAoIWJhdGNoQ29uZmlnVHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycykge1xuICAgICAgICBiYXRjaENvbmZpZ1RyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMgPSBuZXcgU2V0KCk7XG4gICAgICB9XG5cbiAgICAgIGJhdGNoQ29uZmlnVHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5hZGQoZmliZXIpO1xuICAgIH1cblxuICAgIHZhciBhY3Rpb25TY29wZUxhbmUgPSBwZWVrRW50YW5nbGVkQWN0aW9uTGFuZSgpO1xuICAgIHJldHVybiBhY3Rpb25TY29wZUxhbmUgIT09IE5vTGFuZSA/IC8vIFdlJ3JlIGluc2lkZSBhbiBhc3luYyBhY3Rpb24gc2NvcGUuIFJldXNlIHRoZSBzYW1lIGxhbmUuXG4gICAgYWN0aW9uU2NvcGVMYW5lIDogLy8gV2UgbWF5IG9yIG1heSBub3QgYmUgaW5zaWRlIGFuIGFzeW5jIGFjdGlvbiBzY29wZS4gSWYgd2UgYXJlLCB0aGlzXG4gICAgLy8gaXMgdGhlIGZpcnN0IHVwZGF0ZSBpbiB0aGF0IHNjb3BlLiBFaXRoZXIgd2F5LCB3ZSBuZWVkIHRvIGdldCBhXG4gICAgLy8gZnJlc2ggdHJhbnNpdGlvbiBsYW5lLlxuICAgIHJlcXVlc3RUcmFuc2l0aW9uTGFuZSgpO1xuICB9IC8vIFVwZGF0ZXMgb3JpZ2luYXRpbmcgaW5zaWRlIGNlcnRhaW4gUmVhY3QgbWV0aG9kcywgbGlrZSBmbHVzaFN5bmMsIGhhdmVcbiAgLy8gdGhlaXIgcHJpb3JpdHkgc2V0IGJ5IHRyYWNraW5nIGl0IHdpdGggYSBjb250ZXh0IHZhcmlhYmxlLlxuICAvL1xuICAvLyBUaGUgb3BhcXVlIHR5cGUgcmV0dXJuZWQgYnkgdGhlIGhvc3QgY29uZmlnIGlzIGludGVybmFsbHkgYSBsYW5lLCBzbyB3ZSBjYW5cbiAgLy8gdXNlIHRoYXQgZGlyZWN0bHkuXG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0eXBlIGNvbnZlcnNpb24gdG8gdGhlIGV2ZW50IHByaW9yaXR5IG1vZHVsZS5cblxuXG4gIHZhciB1cGRhdGVMYW5lID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgaWYgKHVwZGF0ZUxhbmUgIT09IE5vTGFuZSkge1xuICAgIHJldHVybiB1cGRhdGVMYW5lO1xuICB9IC8vIFRoaXMgdXBkYXRlIG9yaWdpbmF0ZWQgb3V0c2lkZSBSZWFjdC4gQXNrIHRoZSBob3N0IGVudmlyb25tZW50IGZvciBhblxuICAvLyBhcHByb3ByaWF0ZSBwcmlvcml0eSwgYmFzZWQgb24gdGhlIHR5cGUgb2YgZXZlbnQuXG4gIC8vXG4gIC8vIFRoZSBvcGFxdWUgdHlwZSByZXR1cm5lZCBieSB0aGUgaG9zdCBjb25maWcgaXMgaW50ZXJuYWxseSBhIGxhbmUsIHNvIHdlIGNhblxuICAvLyB1c2UgdGhhdCBkaXJlY3RseS5cbiAgLy8gVE9ETzogTW92ZSB0aGlzIHR5cGUgY29udmVyc2lvbiB0byB0aGUgZXZlbnQgcHJpb3JpdHkgbW9kdWxlLlxuXG5cbiAgdmFyIGV2ZW50TGFuZSA9IGdldEN1cnJlbnRFdmVudFByaW9yaXR5KCk7XG4gIHJldHVybiBldmVudExhbmU7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RSZXRyeUxhbmUoZmliZXIpIHtcbiAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgYHJlcXVlc3RVcGRhdGVMYW5lYCBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgZm9yIFN1c3BlbnNlXG4gIC8vIFwicmV0cmllc1wiIOKAlCBhIHNwZWNpYWwgdXBkYXRlIHRoYXQgYXR0ZW1wdHMgdG8gZmxpcCBhIFN1c3BlbnNlIGJvdW5kYXJ5XG4gIC8vIGZyb20gaXRzIHBsYWNlaG9sZGVyIHN0YXRlIHRvIGl0cyBwcmltYXJ5L3Jlc29sdmVkIHN0YXRlLlxuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfVxuXG4gIHJldHVybiBjbGFpbU5leHRSZXRyeUxhbmUoKTtcbn1cblxuZnVuY3Rpb24gcmVxdWVzdERlZmVycmVkTGFuZSgpIHtcbiAgaWYgKHdvcmtJblByb2dyZXNzRGVmZXJyZWRMYW5lID09PSBOb0xhbmUpIHtcbiAgICAvLyBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgdXNlRGVmZXJyZWRWYWx1ZSBob29rcyBpbiB0aGUgc2FtZSByZW5kZXIsIHRoZVxuICAgIC8vIHRhc2tzIHRoYXQgdGhleSBzcGF3biBzaG91bGQgYWxsIGJlIGJhdGNoZWQgdG9nZXRoZXIsIHNvIHRoZXkgc2hvdWxkIGFsbFxuICAgIC8vIHJlY2VpdmUgdGhlIHNhbWUgbGFuZS5cbiAgICAvLyBDaGVjayB0aGUgcHJpb3JpdHkgb2YgdGhlIGN1cnJlbnQgcmVuZGVyIHRvIGRlY2lkZSB0aGUgcHJpb3JpdHkgb2YgdGhlXG4gICAgLy8gZGVmZXJyZWQgdGFzay5cbiAgICAvLyBPZmZzY3JlZW5MYW5lIGlzIHVzZWQgZm9yIHByZXJlbmRlcmluZywgYnV0IHdlIGFsc28gdXNlIE9mZnNjcmVlbkxhbmVcbiAgICAvLyBmb3IgaW5jcmVtZW50YWwgaHlkcmF0aW9uLiBJdCdzIGdpdmVuIHRoZSBsb3dlc3QgcHJpb3JpdHkgYmVjYXVzZSB0aGVcbiAgICAvLyBpbml0aWFsIEhUTUwgaXMgdGhlIHNhbWUgYXMgdGhlIGZpbmFsIFVJLiBCdXQgdXNlRGVmZXJyZWRWYWx1ZSBkdXJpbmdcbiAgICAvLyBoeWRyYXRpb24gaXMgYW4gZXhjZXB0aW9uIOKAlCB3ZSBuZWVkIHRvIHVwZ3JhZGUgdGhlIFVJIHRvIHRoZSBmaW5hbFxuICAgIC8vIHZhbHVlLiBTbyBpZiB3ZSdyZSBjdXJyZW50bHkgaHlkcmF0aW5nLCB3ZSB0cmVhdCBpdCBsaWtlIGEgdHJhbnNpdGlvbi5cbiAgICB2YXIgaXNQcmVyZW5kZXJpbmcgPSBpbmNsdWRlc1NvbWVMYW5lKHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzLCBPZmZzY3JlZW5MYW5lKSAmJiAhZ2V0SXNIeWRyYXRpbmcoKTtcblxuICAgIGlmIChpc1ByZXJlbmRlcmluZykge1xuICAgICAgLy8gVGhlcmUncyBvbmx5IG9uZSBPZmZzY3JlZW5MYW5lLCBzbyBpZiBpdCBjb250YWlucyBkZWZlcnJlZCB3b3JrLCB3ZVxuICAgICAgLy8gc2hvdWxkIGp1c3QgcmVzY2hlZHVsZSB1c2luZyB0aGUgc2FtZSBsYW5lLlxuICAgICAgd29ya0luUHJvZ3Jlc3NEZWZlcnJlZExhbmUgPSBPZmZzY3JlZW5MYW5lO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFdmVyeXRoaW5nIGVsc2UgaXMgc3Bhd25lZCBhcyBhIHRyYW5zaXRpb24uXG4gICAgICB3b3JrSW5Qcm9ncmVzc0RlZmVycmVkTGFuZSA9IGNsYWltTmV4dFRyYW5zaXRpb25MYW5lKCk7XG4gICAgfVxuICB9IC8vIE1hcmsgdGhlIHBhcmVudCBTdXNwZW5zZSBib3VuZGFyeSBzbyBpdCBrbm93cyB0byBzcGF3biB0aGUgZGVmZXJyZWQgbGFuZS5cblxuXG4gIHZhciBzdXNwZW5zZUhhbmRsZXIgPSBnZXRTdXNwZW5zZUhhbmRsZXIoKTtcblxuICBpZiAoc3VzcGVuc2VIYW5kbGVyICE9PSBudWxsKSB7XG4gICAgLy8gVE9ETzogQXMgYW4gb3B0aW1pemF0aW9uLCB3ZSBzaG91bGRuJ3QgZW50YW5nbGUgdGhlIGxhbmVzIGF0IHRoZSByb290OyB3ZVxuICAgIC8vIGNhbiBlbnRhbmdsZSB0aGVtIHVzaW5nIHRoZSBiYXNlTGFuZXMgb2YgdGhlIFN1c3BlbnNlIGJvdW5kYXJ5IGluc3RlYWQuXG4gICAgLy8gV2Ugb25seSBuZWVkIHRvIGRvIHNvbWV0aGluZyBzcGVjaWFsIGlmIHRoZXJlJ3Mgbm8gU3VzcGVuc2UgYm91bmRhcnkuXG4gICAgc3VzcGVuc2VIYW5kbGVyLmZsYWdzIHw9IERpZERlZmVyO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzRGVmZXJyZWRMYW5lO1xufVxuZnVuY3Rpb24gcGVla0RlZmVycmVkTGFuZSgpIHtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzRGVmZXJyZWRMYW5lO1xufVxuZnVuY3Rpb24gc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lKSB7XG4gIHtcbiAgICBpZiAoaXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KSB7XG4gICAgICBlcnJvcigndXNlSW5zZXJ0aW9uRWZmZWN0IG11c3Qgbm90IHNjaGVkdWxlIHVwZGF0ZXMuJyk7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIGlmIChpc0ZsdXNoaW5nUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICAgIGRpZFNjaGVkdWxlVXBkYXRlRHVyaW5nUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgIH1cbiAgfSAvLyBDaGVjayBpZiB0aGUgd29yayBsb29wIGlzIGN1cnJlbnRseSBzdXNwZW5kZWQgYW5kIHdhaXRpbmcgZm9yIGRhdGEgdG9cbiAgLy8gZmluaXNoIGxvYWRpbmcuXG5cblxuICBpZiAoIC8vIFN1c3BlbmRlZCByZW5kZXIgcGhhc2VcbiAgcm9vdCA9PT0gd29ya0luUHJvZ3Jlc3NSb290ICYmIHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID09PSBTdXNwZW5kZWRPbkRhdGEgfHwgLy8gU3VzcGVuZGVkIGNvbW1pdCBwaGFzZVxuICByb290LmNhbmNlbFBlbmRpbmdDb21taXQgIT09IG51bGwpIHtcbiAgICAvLyBUaGUgaW5jb21pbmcgdXBkYXRlIG1pZ2h0IHVuYmxvY2sgdGhlIGN1cnJlbnQgcmVuZGVyLiBJbnRlcnJ1cHQgdGhlXG4gICAgLy8gY3VycmVudCBhdHRlbXB0IGFuZCByZXN0YXJ0IGZyb20gdGhlIHRvcC5cbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICBtYXJrUm9vdFN1c3BlbmRlZChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3NEZWZlcnJlZExhbmUpO1xuICB9IC8vIE1hcmsgdGhhdCB0aGUgcm9vdCBoYXMgYSBwZW5kaW5nIHVwZGF0ZS5cblxuXG4gIG1hcmtSb290VXBkYXRlZChyb290LCBsYW5lKTtcblxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9MYW5lcyAmJiByb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QpIHtcbiAgICAvLyBUaGlzIHVwZGF0ZSB3YXMgZGlzcGF0Y2hlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZS4gVGhpcyBpcyBhIG1pc3Rha2VcbiAgICAvLyBpZiB0aGUgdXBkYXRlIG9yaWdpbmF0ZXMgZnJvbSB1c2VyIHNwYWNlICh3aXRoIHRoZSBleGNlcHRpb24gb2YgbG9jYWxcbiAgICAvLyBob29rIHVwZGF0ZXMsIHdoaWNoIGFyZSBoYW5kbGVkIGRpZmZlcmVudGx5IGFuZCBkb24ndCByZWFjaCB0aGlzXG4gICAgLy8gZnVuY3Rpb24pLCBidXQgdGhlcmUgYXJlIHNvbWUgaW50ZXJuYWwgUmVhY3QgZmVhdHVyZXMgdGhhdCB1c2UgdGhpcyBhc1xuICAgIC8vIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCwgbGlrZSBzZWxlY3RpdmUgaHlkcmF0aW9uLlxuICAgIHdhcm5BYm91dFJlbmRlclBoYXNlVXBkYXRlc0luREVWKGZpYmVyKTsgLy8gVHJhY2sgbGFuZXMgdGhhdCB3ZXJlIHVwZGF0ZWQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2VcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgbm9ybWFsIHVwZGF0ZSwgc2NoZWR1bGVkIGZyb20gb3V0c2lkZSB0aGUgcmVuZGVyIHBoYXNlLiBGb3JcbiAgICAvLyBleGFtcGxlLCBkdXJpbmcgYW4gaW5wdXQgZXZlbnQuXG4gICAge1xuICAgICAgaWYgKGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgICAgIGFkZEZpYmVyVG9MYW5lc01hcChyb290LCBmaWJlciwgbGFuZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2FybklmVXBkYXRlc05vdFdyYXBwZWRXaXRoQWN0REVWKGZpYmVyKTtcblxuICAgIGlmIChyb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QpIHtcbiAgICAgIC8vIFJlY2VpdmVkIGFuIHVwZGF0ZSB0byBhIHRyZWUgdGhhdCdzIGluIHRoZSBtaWRkbGUgb2YgcmVuZGVyaW5nLiBNYXJrXG4gICAgICAvLyB0aGF0IHRoZXJlIHdhcyBhbiBpbnRlcmxlYXZlZCB1cGRhdGUgd29yayBvbiB0aGlzIHJvb3QuXG4gICAgICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSA9PT0gTm9Db250ZXh0KSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEludGVybGVhdmVkVXBkYXRlZExhbmVzID0gbWVyZ2VMYW5lcyh3b3JrSW5Qcm9ncmVzc1Jvb3RJbnRlcmxlYXZlZFVwZGF0ZWRMYW5lcywgbGFuZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkV2l0aERlbGF5KSB7XG4gICAgICAgIC8vIFRoZSByb290IGFscmVhZHkgc3VzcGVuZGVkIHdpdGggYSBkZWxheSwgd2hpY2ggbWVhbnMgdGhpcyByZW5kZXJcbiAgICAgICAgLy8gZGVmaW5pdGVseSB3b24ndCBmaW5pc2guIFNpbmNlIHdlIGhhdmUgYSBuZXcgdXBkYXRlLCBsZXQncyBtYXJrIGl0IGFzXG4gICAgICAgIC8vIHN1c3BlbmRlZCBub3csIHJpZ2h0IGJlZm9yZSBtYXJraW5nIHRoZSBpbmNvbWluZyB1cGRhdGUuIFRoaXMgaGFzIHRoZVxuICAgICAgICAvLyBlZmZlY3Qgb2YgaW50ZXJydXB0aW5nIHRoZSBjdXJyZW50IHJlbmRlciBhbmQgc3dpdGNoaW5nIHRvIHRoZSB1cGRhdGUuXG4gICAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB0aGlzIGRvZXNuJ3Qgb3ZlcnJpZGUgcGluZ3MgdGhhdCBoYXBwZW4gd2hpbGUgd2UndmVcbiAgICAgICAgLy8gYWxyZWFkeSBzdGFydGVkIHJlbmRlcmluZy5cbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWQocm9vdCwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzRGVmZXJyZWRMYW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG5cbiAgICBpZiAobGFuZSA9PT0gU3luY0xhbmUgJiYgZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0ICYmIChmaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIGlmIChSZWFjdEN1cnJlbnRBY3RRdWV1ZS5pc0JhdGNoaW5nTGVnYWN5KSA7IGVsc2Uge1xuICAgICAgICAvLyBGbHVzaCB0aGUgc3luY2hyb25vdXMgd29yayBub3csIHVubGVzcyB3ZSdyZSBhbHJlYWR5IHdvcmtpbmcgb3IgaW5zaWRlXG4gICAgICAgIC8vIGEgYmF0Y2guIFRoaXMgaXMgaW50ZW50aW9uYWxseSBpbnNpZGUgc2NoZWR1bGVVcGRhdGVPbkZpYmVyIGluc3RlYWQgb2ZcbiAgICAgICAgLy8gc2NoZWR1bGVDYWxsYmFja0ZvckZpYmVyIHRvIHByZXNlcnZlIHRoZSBhYmlsaXR5IHRvIHNjaGVkdWxlIGEgY2FsbGJhY2tcbiAgICAgICAgLy8gd2l0aG91dCBpbW1lZGlhdGVseSBmbHVzaGluZyBpdC4gV2Ugb25seSBkbyB0aGlzIGZvciB1c2VyLWluaXRpYXRlZFxuICAgICAgICAvLyB1cGRhdGVzLCB0byBwcmVzZXJ2ZSBoaXN0b3JpY2FsIGJlaGF2aW9yIG9mIGxlZ2FjeSBtb2RlLlxuICAgICAgICByZXNldFJlbmRlclRpbWVyKCk7XG4gICAgICAgIGZsdXNoU3luY1dvcmtPbkxlZ2FjeVJvb3RzT25seSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVJbml0aWFsSHlkcmF0aW9uT25Sb290KHJvb3QsIGxhbmUpIHtcbiAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgZm9yayBvZiBzY2hlZHVsZVVwZGF0ZU9uRmliZXIgdGhhdCBpcyBvbmx5IHVzZWQgdG9cbiAgLy8gc2NoZWR1bGUgdGhlIGluaXRpYWwgaHlkcmF0aW9uIG9mIGEgcm9vdCB0aGF0IGhhcyBqdXN0IGJlZW4gY3JlYXRlZC4gTW9zdFxuICAvLyBvZiB0aGUgc3R1ZmYgaW4gc2NoZWR1bGVVcGRhdGVPbkZpYmVyIGNhbiBiZSBza2lwcGVkLlxuICAvL1xuICAvLyBUaGUgbWFpbiByZWFzb24gZm9yIHRoaXMgc2VwYXJhdGUgcGF0aCwgdGhvdWdoLCBpcyB0byBkaXN0aW5ndWlzaCB0aGVcbiAgLy8gaW5pdGlhbCBjaGlsZHJlbiBmcm9tIHN1YnNlcXVlbnQgdXBkYXRlcy4gSW4gZnVsbHkgY2xpZW50LXJlbmRlcmVkIHJvb3RzXG4gIC8vIChjcmVhdGVSb290IGluc3RlYWQgb2YgaHlkcmF0ZVJvb3QpLCBhbGwgdG9wLWxldmVsIHJlbmRlcnMgYXJlIG1vZGVsZWQgYXNcbiAgLy8gdXBkYXRlcywgYnV0IGh5ZHJhdGlvbiByb290cyBhcmUgc3BlY2lhbCBiZWNhdXNlIHRoZSBpbml0aWFsIHJlbmRlciBtdXN0XG4gIC8vIG1hdGNoIHdoYXQgd2FzIHJlbmRlcmVkIG9uIHRoZSBzZXJ2ZXIuXG4gIHZhciBjdXJyZW50ID0gcm9vdC5jdXJyZW50O1xuICBjdXJyZW50LmxhbmVzID0gbGFuZTtcbiAgbWFya1Jvb3RVcGRhdGVkKHJvb3QsIGxhbmUpO1xuICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG59XG5mdW5jdGlvbiBpc1Vuc2FmZUNsYXNzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIE9ubHkgY2FsbGVkIGJ5IGNsYXNzIGNvbXBvbmVudHMsXG4gIC8vIHdoaWNoIHNwZWNpYWwgKGRlcHJlY2F0ZWQpIGJlaGF2aW9yIGZvciBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmUgcHJvcHMuXG4gIHJldHVybiAoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpICE9PSBOb0NvbnRleHQ7XG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBldmVyeSBjb25jdXJyZW50IHRhc2ssIGkuZS4gYW55dGhpbmcgdGhhdFxuLy8gZ29lcyB0aHJvdWdoIFNjaGVkdWxlci5cblxuZnVuY3Rpb24gcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290KHJvb3QsIGRpZFRpbWVvdXQpIHtcbiAge1xuICAgIHJlc2V0TmVzdGVkVXBkYXRlRmxhZygpO1xuICB9XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuJyk7XG4gIH0gLy8gRmx1c2ggYW55IHBlbmRpbmcgcGFzc2l2ZSBlZmZlY3RzIGJlZm9yZSBkZWNpZGluZyB3aGljaCBsYW5lcyB0byB3b3JrIG9uLFxuICAvLyBpbiBjYXNlIHRoZXkgc2NoZWR1bGUgYWRkaXRpb25hbCB3b3JrLlxuXG5cbiAgdmFyIG9yaWdpbmFsQ2FsbGJhY2tOb2RlID0gcm9vdC5jYWxsYmFja05vZGU7XG4gIHZhciBkaWRGbHVzaFBhc3NpdmVFZmZlY3RzID0gZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuXG4gIGlmIChkaWRGbHVzaFBhc3NpdmVFZmZlY3RzKSB7XG4gICAgLy8gU29tZXRoaW5nIGluIHRoZSBwYXNzaXZlIGVmZmVjdCBwaGFzZSBtYXkgaGF2ZSBjYW5jZWxlZCB0aGUgY3VycmVudCB0YXNrLlxuICAgIC8vIENoZWNrIGlmIHRoZSB0YXNrIG5vZGUgZm9yIHRoaXMgcm9vdCB3YXMgY2hhbmdlZC5cbiAgICBpZiAocm9vdC5jYWxsYmFja05vZGUgIT09IG9yaWdpbmFsQ2FsbGJhY2tOb2RlKSB7XG4gICAgICAvLyBUaGUgY3VycmVudCB0YXNrIHdhcyBjYW5jZWxlZC4gRXhpdC4gV2UgZG9uJ3QgbmVlZCB0byBjYWxsXG4gICAgICAvLyBgZW5zdXJlUm9vdElzU2NoZWR1bGVkYCBiZWNhdXNlIHRoZSBjaGVjayBhYm92ZSBpbXBsaWVzIGVpdGhlciB0aGF0XG4gICAgICAvLyB0aGVyZSdzIGEgbmV3IHRhc2ssIG9yIHRoYXQgdGhlcmUncyBubyByZW1haW5pbmcgd29yayBvbiB0aGlzIHJvb3QuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0gLy8gRGV0ZXJtaW5lIHRoZSBuZXh0IGxhbmVzIHRvIHdvcmsgb24sIHVzaW5nIHRoZSBmaWVsZHMgc3RvcmVkXG4gIC8vIG9uIHRoZSByb290LlxuICAvLyBUT0RPOiBUaGlzIHdhcyBhbHJlYWR5IGNvbXB1dGVkIGluIHRoZSBjYWxsZXIuIFBhc3MgaXQgYXMgYW4gYXJndW1lbnQuXG5cblxuICB2YXIgbGFuZXMgPSBnZXROZXh0TGFuZXMocm9vdCwgcm9vdCA9PT0gd29ya0luUHJvZ3Jlc3NSb290ID8gd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgOiBOb0xhbmVzKTtcblxuICBpZiAobGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBEZWZlbnNpdmUgY29kaW5nLiBUaGlzIGlzIG5ldmVyIGV4cGVjdGVkIHRvIGhhcHBlbi5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBXZSBkaXNhYmxlIHRpbWUtc2xpY2luZyBpbiBzb21lIGNhc2VzOiBpZiB0aGUgd29yayBoYXMgYmVlbiBDUFUtYm91bmRcbiAgLy8gZm9yIHRvbyBsb25nIChcImV4cGlyZWRcIiB3b3JrLCB0byBwcmV2ZW50IHN0YXJ2YXRpb24pLCBvciB3ZSdyZSBpblxuICAvLyBzeW5jLXVwZGF0ZXMtYnktZGVmYXVsdCBtb2RlLlxuICAvLyBUT0RPOiBXZSBvbmx5IGNoZWNrIGBkaWRUaW1lb3V0YCBkZWZlbnNpdmVseSwgdG8gYWNjb3VudCBmb3IgYSBTY2hlZHVsZXJcbiAgLy8gYnVnIHdlJ3JlIHN0aWxsIGludmVzdGlnYXRpbmcuIE9uY2UgdGhlIGJ1ZyBpbiBTY2hlZHVsZXIgaXMgZml4ZWQsXG4gIC8vIHdlIGNhbiByZW1vdmUgdGhpcywgc2luY2Ugd2UgdHJhY2sgZXhwaXJhdGlvbiBvdXJzZWx2ZXMuXG5cblxuICB2YXIgc2hvdWxkVGltZVNsaWNlID0gIWluY2x1ZGVzQmxvY2tpbmdMYW5lKHJvb3QsIGxhbmVzKSAmJiAhaW5jbHVkZXNFeHBpcmVkTGFuZShyb290LCBsYW5lcykgJiYgKCFkaWRUaW1lb3V0KTtcbiAgdmFyIGV4aXRTdGF0dXMgPSBzaG91bGRUaW1lU2xpY2UgPyByZW5kZXJSb290Q29uY3VycmVudChyb290LCBsYW5lcykgOiByZW5kZXJSb290U3luYyhyb290LCBsYW5lcyk7XG5cbiAgaWYgKGV4aXRTdGF0dXMgIT09IFJvb3RJblByb2dyZXNzKSB7XG4gICAgdmFyIHJlbmRlcldhc0NvbmN1cnJlbnQgPSBzaG91bGRUaW1lU2xpY2U7XG5cbiAgICBkbyB7XG4gICAgICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdERpZE5vdENvbXBsZXRlKSB7XG4gICAgICAgIC8vIFRoZSByZW5kZXIgdW53b3VuZCB3aXRob3V0IGNvbXBsZXRpbmcgdGhlIHRyZWUuIFRoaXMgaGFwcGVucyBpbiBzcGVjaWFsXG4gICAgICAgIC8vIGNhc2VzIHdoZXJlIG5lZWQgdG8gZXhpdCB0aGUgY3VycmVudCByZW5kZXIgd2l0aG91dCBwcm9kdWNpbmcgYVxuICAgICAgICAvLyBjb25zaXN0ZW50IHRyZWUgb3IgY29tbWl0dGluZy5cbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWQocm9vdCwgbGFuZXMsIE5vTGFuZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGUgcmVuZGVyIGNvbXBsZXRlZC5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyByZW5kZXIgbWF5IGhhdmUgeWllbGRlZCB0byBhIGNvbmN1cnJlbnQgZXZlbnQsIGFuZCBpZiBzbyxcbiAgICAgICAgLy8gY29uZmlybSB0aGF0IGFueSBuZXdseSByZW5kZXJlZCBzdG9yZXMgYXJlIGNvbnNpc3RlbnQuXG4gICAgICAgIC8vIFRPRE86IEl0J3MgcG9zc2libGUgdGhhdCBldmVuIGEgY29uY3VycmVudCByZW5kZXIgbWF5IG5ldmVyIGhhdmUgeWllbGRlZFxuICAgICAgICAvLyB0byB0aGUgbWFpbiB0aHJlYWQsIGlmIGl0IHdhcyBmYXN0IGVub3VnaCwgb3IgaWYgaXQgZXhwaXJlZC4gV2UgY291bGRcbiAgICAgICAgLy8gc2tpcCB0aGUgY29uc2lzdGVuY3kgY2hlY2sgaW4gdGhhdCBjYXNlLCB0b28uXG4gICAgICAgIHZhciBmaW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJXYXNDb25jdXJyZW50ICYmICFpc1JlbmRlckNvbnNpc3RlbnRXaXRoRXh0ZXJuYWxTdG9yZXMoZmluaXNoZWRXb3JrKSkge1xuICAgICAgICAgIC8vIEEgc3RvcmUgd2FzIG11dGF0ZWQgaW4gYW4gaW50ZXJsZWF2ZWQgZXZlbnQuIFJlbmRlciBhZ2FpbixcbiAgICAgICAgICAvLyBzeW5jaHJvbm91c2x5LCB0byBibG9jayBmdXJ0aGVyIG11dGF0aW9ucy5cbiAgICAgICAgICBleGl0U3RhdHVzID0gcmVuZGVyUm9vdFN5bmMocm9vdCwgbGFuZXMpOyAvLyBXZSBhc3N1bWUgdGhlIHRyZWUgaXMgbm93IGNvbnNpc3RlbnQgYmVjYXVzZSB3ZSBkaWRuJ3QgeWllbGQgdG8gYW55XG4gICAgICAgICAgLy8gY29uY3VycmVudCBldmVudHMuXG5cbiAgICAgICAgICByZW5kZXJXYXNDb25jdXJyZW50ID0gZmFsc2U7IC8vIE5lZWQgdG8gY2hlY2sgdGhlIGV4aXQgc3RhdHVzIGFnYWluLlxuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH0gLy8gQ2hlY2sgaWYgc29tZXRoaW5nIHRocmV3XG5cblxuICAgICAgICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgb3JpZ2luYWxseUF0dGVtcHRlZExhbmVzID0gbGFuZXM7XG4gICAgICAgICAgdmFyIGVycm9yUmV0cnlMYW5lcyA9IGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QsIG9yaWdpbmFsbHlBdHRlbXB0ZWRMYW5lcyk7XG5cbiAgICAgICAgICBpZiAoZXJyb3JSZXRyeUxhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgICAgICAgICBsYW5lcyA9IGVycm9yUmV0cnlMYW5lcztcbiAgICAgICAgICAgIGV4aXRTdGF0dXMgPSByZWNvdmVyRnJvbUNvbmN1cnJlbnRFcnJvcihyb290LCBvcmlnaW5hbGx5QXR0ZW1wdGVkTGFuZXMsIGVycm9yUmV0cnlMYW5lcyk7XG4gICAgICAgICAgICByZW5kZXJXYXNDb25jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3RGYXRhbEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgZmF0YWxFcnJvciA9IHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3I7XG4gICAgICAgICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgTm9MYW5lcyk7XG4gICAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWQocm9vdCwgbGFuZXMsIE5vTGFuZSk7XG4gICAgICAgICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xuICAgICAgICAgIHRocm93IGZhdGFsRXJyb3I7XG4gICAgICAgIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIFRoZSBuZXh0IHN0ZXAgaXMgZWl0aGVyIHRvIGNvbW1pdCBpdCxcbiAgICAgICAgLy8gb3IsIGlmIHNvbWV0aGluZyBzdXNwZW5kZWQsIHdhaXQgdG8gY29tbWl0IGl0IGFmdGVyIGEgdGltZW91dC5cblxuXG4gICAgICAgIHJvb3QuZmluaXNoZWRXb3JrID0gZmluaXNoZWRXb3JrO1xuICAgICAgICByb290LmZpbmlzaGVkTGFuZXMgPSBsYW5lcztcbiAgICAgICAgZmluaXNoQ29uY3VycmVudFJlbmRlcihyb290LCBleGl0U3RhdHVzLCBmaW5pc2hlZFdvcmssIGxhbmVzKTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfSB3aGlsZSAodHJ1ZSk7XG4gIH1cblxuICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG4gIHJldHVybiBnZXRDb250aW51YXRpb25Gb3JSb290KHJvb3QsIG9yaWdpbmFsQ2FsbGJhY2tOb2RlKTtcbn1cblxuZnVuY3Rpb24gcmVjb3ZlckZyb21Db25jdXJyZW50RXJyb3Iocm9vdCwgb3JpZ2luYWxseUF0dGVtcHRlZExhbmVzLCBlcnJvclJldHJ5TGFuZXMpIHtcbiAgLy8gSWYgYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIGh5ZHJhdGlvbiwgZGlzY2FyZCBzZXJ2ZXIgcmVzcG9uc2UgYW5kIGZhbGxcbiAgLy8gYmFjayB0byBjbGllbnQgc2lkZSByZW5kZXIuXG4gIC8vIEJlZm9yZSByZW5kZXJpbmcgYWdhaW4sIHNhdmUgdGhlIGVycm9ycyBmcm9tIHRoZSBwcmV2aW91cyBhdHRlbXB0LlxuICB2YXIgZXJyb3JzRnJvbUZpcnN0QXR0ZW1wdCA9IHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnM7XG4gIHZhciB3YXNSb290RGVoeWRyYXRlZCA9IGlzUm9vdERlaHlkcmF0ZWQocm9vdCk7XG5cbiAgaWYgKHdhc1Jvb3REZWh5ZHJhdGVkKSB7XG4gICAgLy8gVGhlIHNoZWxsIGZhaWxlZCB0byBoeWRyYXRlLiBTZXQgYSBmbGFnIHRvIGZvcmNlIGEgY2xpZW50IHJlbmRlcmluZ1xuICAgIC8vIGR1cmluZyB0aGUgbmV4dCBhdHRlbXB0LiBUbyBkbyB0aGlzLCB3ZSBjYWxsIHByZXBhcmVGcmVzaFN0YWNrIG5vd1xuICAgIC8vIHRvIGNyZWF0ZSB0aGUgcm9vdCB3b3JrLWluLXByb2dyZXNzIGZpYmVyLiBUaGlzIGlzIGEgYml0IHdlaXJkIGluIHRlcm1zXG4gICAgLy8gb2YgZmFjdG9yaW5nLCBiZWNhdXNlIGl0IHJlbGllcyBvbiByZW5kZXJSb290U3luYyBub3QgY2FsbGluZ1xuICAgIC8vIHByZXBhcmVGcmVzaFN0YWNrIGFnYWluIGluIHRoZSBjYWxsIGJlbG93LCB3aGljaCBoYXBwZW5zIGJlY2F1c2UgdGhlXG4gICAgLy8gcm9vdCBhbmQgbGFuZXMgaGF2ZW4ndCBjaGFuZ2VkLlxuICAgIC8vXG4gICAgLy8gVE9ETzogSSB0aGluayB3aGF0IHdlIHNob3VsZCBkbyBpcyBzZXQgRm9yY2VDbGllbnRSZW5kZXIgaW5zaWRlXG4gICAgLy8gdGhyb3dFeGNlcHRpb24sIGxpa2Ugd2UgZG8gZm9yIG5lc3RlZCBTdXNwZW5zZSBib3VuZGFyaWVzLiBUaGUgcmVhc29uXG4gICAgLy8gaXQncyBoZXJlIGluc3RlYWQgaXMgc28gd2UgY2FuIHN3aXRjaCB0byB0aGUgc3luY2hyb25vdXMgd29yayBsb29wLCB0b28uXG4gICAgLy8gU29tZXRoaW5nIHRvIGNvbnNpZGVyIGZvciBhIGZ1dHVyZSByZWZhY3Rvci5cbiAgICB2YXIgcm9vdFdvcmtJblByb2dyZXNzID0gcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgZXJyb3JSZXRyeUxhbmVzKTtcbiAgICByb290V29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRm9yY2VDbGllbnRSZW5kZXI7XG5cbiAgICB7XG4gICAgICBlcnJvckh5ZHJhdGluZ0NvbnRhaW5lcihyb290LmNvbnRhaW5lckluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHZhciBleGl0U3RhdHVzID0gcmVuZGVyUm9vdFN5bmMocm9vdCwgZXJyb3JSZXRyeUxhbmVzKTtcblxuICBpZiAoZXhpdFN0YXR1cyAhPT0gUm9vdEVycm9yZWQpIHtcbiAgICAvLyBTdWNjZXNzZnVsbHkgZmluaXNoZWQgcmVuZGVyaW5nIG9uIHJldHJ5XG4gICAgaWYgKHdvcmtJblByb2dyZXNzUm9vdERpZEF0dGFjaFBpbmdMaXN0ZW5lciAmJiAhd2FzUm9vdERlaHlkcmF0ZWQpIHtcbiAgICAgIC8vIER1cmluZyB0aGUgc3luY2hyb25vdXMgcmVuZGVyLCB3ZSBhdHRhY2hlZCBhZGRpdGlvbmFsIHBpbmcgbGlzdGVuZXJzLlxuICAgICAgLy8gVGhpcyBpcyBoaWdobHkgc3VnZ2VzdGl2ZSBvZiBhbiB1bmNhY2hlZCBwcm9taXNlICh0aG91Z2ggaXQncyBub3QgdGhlXG4gICAgICAvLyBvbmx5IHJlYXNvbiB0aGlzIHdvdWxkIGhhcHBlbikuIElmIGl0IHdhcyBhbiB1bmNhY2hlZCBwcm9taXNlLCB0aGVuXG4gICAgICAvLyBpdCBtYXkgaGF2ZSBtYXNrZWQgYSBkb3duc3RyZWFtIGVycm9yIGZyb20gb2N1cnJpbmcgd2l0aG91dCBhY3R1YWxseVxuICAgICAgLy8gZml4aW5nIGl0LiBFeGFtcGxlOlxuICAgICAgLy9cbiAgICAgIC8vICAgIHVzZShQcm9taXNlLnJlc29sdmUoJ3VuY2FjaGVkJykpXG4gICAgICAvLyAgICB0aHJvdyBuZXcgRXJyb3IoJ09vcHMhJylcbiAgICAgIC8vXG4gICAgICAvLyBXaGVuIHRoaXMgaGFwcGVucywgdGhlcmUncyBhIGNvbmZsaWN0IGJldHdlZW4gYmxvY2tpbmcgcG90ZW50aWFsXG4gICAgICAvLyBjb25jdXJyZW50IGRhdGEgcmFjZXMgYW5kIHVud3JhcHBpbmcgdW5jYWNoZWQgcHJvbWlzZSB2YWx1ZXMuIFdlXG4gICAgICAvLyBoYXZlIHRvIGNob29zZSBvbmUgb3IgdGhlIG90aGVyLiBCZWNhdXNlIHRoZSBkYXRhIHJhY2UgcmVjb3ZlcnkgaXNcbiAgICAgIC8vIGEgbGFzdCBkaXRjaCBlZmZvcnQsIHdlJ2xsIGRpc2FibGUgaXQuXG4gICAgICByb290LmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzID0gbWVyZ2VMYW5lcyhyb290LmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzLCBvcmlnaW5hbGx5QXR0ZW1wdGVkTGFuZXMpOyAvLyBNYXJrIHRoZSBjdXJyZW50IHJlbmRlciBhcyBzdXNwZW5kZWQgYW5kIGZvcmNlIGl0IHRvIHJlc3RhcnQuIE9uY2VcbiAgICAgIC8vIHRoZXNlIGxhbmVzIGZpbmlzaCBzdWNjZXNzZnVsbHksIHdlJ2xsIHJlLWVuYWJsZSB0aGUgZXJyb3IgcmVjb3ZlcnlcbiAgICAgIC8vIG1lY2hhbmlzbSBmb3Igc3Vic2VxdWVudCB1cGRhdGVzLlxuXG4gICAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RJbnRlcmxlYXZlZFVwZGF0ZWRMYW5lcyB8PSBvcmlnaW5hbGx5QXR0ZW1wdGVkTGFuZXM7XG4gICAgICByZXR1cm4gUm9vdFN1c3BlbmRlZFdpdGhEZWxheTtcbiAgICB9IC8vIFRoZSBlcnJvcnMgZnJvbSB0aGUgZmFpbGVkIGZpcnN0IGF0dGVtcHQgaGF2ZSBiZWVuIHJlY292ZXJlZC4gQWRkXG4gICAgLy8gdGhlbSB0byB0aGUgY29sbGVjdGlvbiBvZiByZWNvdmVyYWJsZSBlcnJvcnMuIFdlJ2xsIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cblxuXG4gICAgdmFyIGVycm9yc0Zyb21TZWNvbmRBdHRlbXB0ID0gd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnM7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMgPSBlcnJvcnNGcm9tRmlyc3RBdHRlbXB0OyAvLyBUaGUgZXJyb3JzIGZyb20gdGhlIHNlY29uZCBhdHRlbXB0IHNob3VsZCBiZSBxdWV1ZWQgYWZ0ZXIgdGhlIGVycm9yc1xuICAgIC8vIGZyb20gdGhlIGZpcnN0IGF0dGVtcHQsIHRvIHByZXNlcnZlIHRoZSBjYXVzYWwgc2VxdWVuY2UuXG5cbiAgICBpZiAoZXJyb3JzRnJvbVNlY29uZEF0dGVtcHQgIT09IG51bGwpIHtcbiAgICAgIHF1ZXVlUmVjb3ZlcmFibGVFcnJvcnMoZXJyb3JzRnJvbVNlY29uZEF0dGVtcHQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleGl0U3RhdHVzO1xufVxuXG5mdW5jdGlvbiBxdWV1ZVJlY292ZXJhYmxlRXJyb3JzKGVycm9ycykge1xuICBpZiAod29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9IGVycm9ycztcbiAgfSBlbHNlIHtcbiAgICAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG4gICAgd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMucHVzaC5hcHBseSh3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgZXJyb3JzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5pc2hDb25jdXJyZW50UmVuZGVyKHJvb3QsIGV4aXRTdGF0dXMsIGZpbmlzaGVkV29yaywgbGFuZXMpIHtcbiAgLy8gVE9ETzogVGhlIGZhY3QgdGhhdCBtb3N0IG9mIHRoZXNlIGJyYW5jaGVzIGFyZSBpZGVudGljYWwgc3VnZ2VzdHMgdGhhdCBzb21lXG4gIC8vIG9mIHRoZSBleGl0IHN0YXR1c2VzIGFyZSBub3QgYmVzdCBtb2RlbGVkIGFzIGV4aXQgc3RhdHVzZXMgYW5kIHNob3VsZCBiZVxuICAvLyB0cmFja2VkIG9ydGhvZ29uYWxseS5cbiAgc3dpdGNoIChleGl0U3RhdHVzKSB7XG4gICAgY2FzZSBSb290SW5Qcm9ncmVzczpcbiAgICBjYXNlIFJvb3RGYXRhbEVycm9yZWQ6XG4gICAgICB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUm9vdCBkaWQgbm90IGNvbXBsZXRlLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290U3VzcGVuZGVkV2l0aERlbGF5OlxuICAgICAge1xuICAgICAgICBpZiAoaW5jbHVkZXNPbmx5VHJhbnNpdGlvbnMobGFuZXMpKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBhIHRyYW5zaXRpb24sIHNvIHdlIHNob3VsZCBleGl0IHdpdGhvdXQgY29tbWl0dGluZyBhXG4gICAgICAgICAgLy8gcGxhY2Vob2xkZXIgYW5kIHdpdGhvdXQgc2NoZWR1bGluZyBhIHRpbWVvdXQuIERlbGF5IGluZGVmaW5pdGVseVxuICAgICAgICAgIC8vIHVudGlsIHdlIHJlY2VpdmUgbW9yZSBkYXRhLlxuICAgICAgICAgIG1hcmtSb290U3VzcGVuZGVkKHJvb3QsIGxhbmVzLCB3b3JrSW5Qcm9ncmVzc0RlZmVycmVkTGFuZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIENvbW1pdCB0aGUgcGxhY2Vob2xkZXIuXG5cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgUm9vdEVycm9yZWQ6XG4gICAgY2FzZSBSb290U3VzcGVuZGVkOlxuICAgIGNhc2UgUm9vdENvbXBsZXRlZDpcbiAgICAgIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gcm9vdCBleGl0IHN0YXR1cy4nKTtcbiAgICAgIH1cbiAgfVxuXG4gIGlmIChzaG91bGRGb3JjZUZsdXNoRmFsbGJhY2tzSW5ERVYoKSkge1xuICAgIC8vIFdlJ3JlIGluc2lkZSBhbiBgYWN0YCBzY29wZS4gQ29tbWl0IGltbWVkaWF0ZWx5LlxuICAgIGNvbW1pdFJvb3Qocm9vdCwgd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMsIHdvcmtJblByb2dyZXNzVHJhbnNpdGlvbnMsIHdvcmtJblByb2dyZXNzUm9vdERpZEluY2x1ZGVSZWN1cnNpdmVSZW5kZXJVcGRhdGUsIHdvcmtJblByb2dyZXNzRGVmZXJyZWRMYW5lKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoaW5jbHVkZXNPbmx5UmV0cmllcyhsYW5lcykgJiYgKGFsd2F5c1Rocm90dGxlUmV0cmllcyApKSB7XG4gICAgICAvLyBUaGlzIHJlbmRlciBvbmx5IGluY2x1ZGVkIHJldHJpZXMsIG5vIHVwZGF0ZXMuIFRocm90dGxlIGNvbW1pdHRpbmdcbiAgICAgIC8vIHJldHJpZXMgc28gdGhhdCB3ZSBkb24ndCBzaG93IHRvbyBtYW55IGxvYWRpbmcgc3RhdGVzIHRvbyBxdWlja2x5LlxuICAgICAgdmFyIG1zVW50aWxUaW1lb3V0ID0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSArIEZBTExCQUNLX1RIUk9UVExFX01TIC0gbm93JDEoKTsgLy8gRG9uJ3QgYm90aGVyIHdpdGggYSB2ZXJ5IHNob3J0IHN1c3BlbnNlIHRpbWUuXG5cbiAgICAgIGlmIChtc1VudGlsVGltZW91dCA+IDEwKSB7XG4gICAgICAgIG1hcmtSb290U3VzcGVuZGVkKHJvb3QsIGxhbmVzLCB3b3JrSW5Qcm9ncmVzc0RlZmVycmVkTGFuZSk7XG4gICAgICAgIHZhciBuZXh0TGFuZXMgPSBnZXROZXh0TGFuZXMocm9vdCwgTm9MYW5lcyk7XG5cbiAgICAgICAgaWYgKG5leHRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgICAgIC8vIFRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrIHdlIGNhbiBkbyBvbiB0aGlzIHJvb3QuIFdlIG1pZ2h0IGFzIHdlbGxcbiAgICAgICAgICAvLyBhdHRlbXB0IHRvIHdvcmsgb24gdGhhdCB3aGlsZSB3ZSdyZSBzdXNwZW5kZWQuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFRoZSByZW5kZXIgaXMgc3VzcGVuZGVkLCBpdCBoYXNuJ3QgdGltZWQgb3V0LCBhbmQgdGhlcmUncyBub1xuICAgICAgICAvLyBsb3dlciBwcmlvcml0eSB3b3JrIHRvIGRvLiBJbnN0ZWFkIG9mIGNvbW1pdHRpbmcgdGhlIGZhbGxiYWNrXG4gICAgICAgIC8vIGltbWVkaWF0ZWx5LCB3YWl0IGZvciBtb3JlIGRhdGEgdG8gYXJyaXZlLlxuICAgICAgICAvLyBUT0RPOiBDb21iaW5lIHJldHJ5IHRocm90dGxpbmcgd2l0aCBTdXNwZW5zZXkgY29tbWl0cy4gUmlnaHQgbm93IHRoZXlcbiAgICAgICAgLy8gcnVuIG9uZSBhZnRlciB0aGUgb3RoZXIuXG5cblxuICAgICAgICByb290LnRpbWVvdXRIYW5kbGUgPSBzY2hlZHVsZVRpbWVvdXQoY29tbWl0Um9vdFdoZW5SZWFkeS5iaW5kKG51bGwsIHJvb3QsIGZpbmlzaGVkV29yaywgd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMsIHdvcmtJblByb2dyZXNzVHJhbnNpdGlvbnMsIHdvcmtJblByb2dyZXNzUm9vdERpZEluY2x1ZGVSZWN1cnNpdmVSZW5kZXJVcGRhdGUsIGxhbmVzLCB3b3JrSW5Qcm9ncmVzc0RlZmVycmVkTGFuZSksIG1zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbW1pdFJvb3RXaGVuUmVhZHkocm9vdCwgZmluaXNoZWRXb3JrLCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucywgd29ya0luUHJvZ3Jlc3NSb290RGlkSW5jbHVkZVJlY3Vyc2l2ZVJlbmRlclVwZGF0ZSwgbGFuZXMsIHdvcmtJblByb2dyZXNzRGVmZXJyZWRMYW5lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRSb290V2hlblJlYWR5KHJvb3QsIGZpbmlzaGVkV29yaywgcmVjb3ZlcmFibGVFcnJvcnMsIHRyYW5zaXRpb25zLCBkaWRJbmNsdWRlUmVuZGVyUGhhc2VVcGRhdGUsIGxhbmVzLCBzcGF3bmVkTGFuZSkge1xuICAvLyBUT0RPOiBDb21iaW5lIHJldHJ5IHRocm90dGxpbmcgd2l0aCBTdXNwZW5zZXkgY29tbWl0cy4gUmlnaHQgbm93IHRoZXkgcnVuXG4gIC8vIG9uZSBhZnRlciB0aGUgb3RoZXIuXG4gIGlmIChpbmNsdWRlc09ubHlOb25VcmdlbnRMYW5lcyhsYW5lcykpIHtcbiAgICAvLyBCZWZvcmUgY29tbWl0dGluZywgYXNrIHRoZSByZW5kZXJlciB3aGV0aGVyIHRoZSBob3N0IHRyZWUgaXMgcmVhZHkuXG4gICAgLy8gSWYgaXQncyBub3QsIHdlJ2xsIHdhaXQgdW50aWwgaXQgbm90aWZpZXMgdXMuXG4gICAgc3RhcnRTdXNwZW5kaW5nQ29tbWl0KCk7IC8vIFRoaXMgd2lsbCB3YWxrIHRoZSBjb21wbGV0ZWQgZmliZXIgdHJlZSBhbmQgYXR0YWNoIGxpc3RlbmVycyB0byBhbGxcbiAgICAvLyB0aGUgc3VzcGVuc2V5IHJlc291cmNlcy4gVGhlIHJlbmRlcmVyIGlzIHJlc3BvbnNpYmxlIGZvciBhY2N1bXVsYXRpbmdcbiAgICAvLyBhbGwgdGhlIGxvYWQgZXZlbnRzLiBUaGlzIGFsbCBoYXBwZW5zIGluIGEgc2luZ2xlIHN5bmNocm9ub3VzXG4gICAgLy8gdHJhbnNhY3Rpb24sIHNvIGl0IHRyYWNrIHN0YXRlIGluIGl0cyBvd24gbW9kdWxlIHNjb3BlLlxuXG4gICAgYWNjdW11bGF0ZVN1c3BlbnNleUNvbW1pdChmaW5pc2hlZFdvcmspOyAvLyBBdCB0aGUgZW5kLCBhc2sgdGhlIHJlbmRlcmVyIGlmIGl0J3MgcmVhZHkgdG8gY29tbWl0LCBvciBpZiB3ZSBzaG91bGRcbiAgICAvLyBzdXNwZW5kLiBJZiBpdCdzIG5vdCByZWFkeSwgaXQgd2lsbCByZXR1cm4gYSBjYWxsYmFjayB0byBzdWJzY3JpYmUgdG9cbiAgICAvLyBhIHJlYWR5IGV2ZW50LlxuXG4gICAgdmFyIHNjaGVkdWxlUGVuZGluZ0NvbW1pdCA9IHdhaXRGb3JDb21taXRUb0JlUmVhZHkoKTtcblxuICAgIGlmIChzY2hlZHVsZVBlbmRpbmdDb21taXQgIT09IG51bGwpIHtcbiAgICAgIC8vIE5PVEU6IHdhaXRGb3JDb21taXRUb0JlUmVhZHkgcmV0dXJucyBhIHN1YnNjcmliZSBmdW5jdGlvbiBzbyB0aGF0IHdlXG4gICAgICAvLyBvbmx5IGFsbG9jYXRlIGEgZnVuY3Rpb24gaWYgdGhlIGNvbW1pdCBpc24ndCByZWFkeSB5ZXQuIFRoZSBvdGhlclxuICAgICAgLy8gcGF0dGVybiB3b3VsZCBiZSB0byBhbHdheXMgcGFzcyBhIGNhbGxiYWNrIHRvIHdhaXRGb3JDb21taXRUb0JlUmVhZHkuXG4gICAgICAvLyBOb3QgeWV0IHJlYWR5IHRvIGNvbW1pdC4gRGVsYXkgdGhlIGNvbW1pdCB1bnRpbCB0aGUgcmVuZGVyZXIgbm90aWZpZXNcbiAgICAgIC8vIHVzIHRoYXQgaXQncyByZWFkeS4gVGhpcyB3aWxsIGJlIGNhbmNlbGVkIGlmIHdlIHN0YXJ0IHdvcmsgb24gdGhlXG4gICAgICAvLyByb290IGFnYWluLlxuICAgICAgcm9vdC5jYW5jZWxQZW5kaW5nQ29tbWl0ID0gc2NoZWR1bGVQZW5kaW5nQ29tbWl0KGNvbW1pdFJvb3QuYmluZChudWxsLCByb290LCByZWNvdmVyYWJsZUVycm9ycywgdHJhbnNpdGlvbnMsIGRpZEluY2x1ZGVSZW5kZXJQaGFzZVVwZGF0ZSkpO1xuICAgICAgbWFya1Jvb3RTdXNwZW5kZWQocm9vdCwgbGFuZXMsIHNwYXduZWRMYW5lKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH0gLy8gT3RoZXJ3aXNlLCBjb21taXQgaW1tZWRpYXRlbHkuXG5cblxuICBjb21taXRSb290KHJvb3QsIHJlY292ZXJhYmxlRXJyb3JzLCB0cmFuc2l0aW9ucywgZGlkSW5jbHVkZVJlbmRlclBoYXNlVXBkYXRlLCBzcGF3bmVkTGFuZSk7XG59XG5cbmZ1bmN0aW9uIGlzUmVuZGVyQ29uc2lzdGVudFdpdGhFeHRlcm5hbFN0b3JlcyhmaW5pc2hlZFdvcmspIHtcbiAgLy8gU2VhcmNoIHRoZSByZW5kZXJlZCB0cmVlIGZvciBleHRlcm5hbCBzdG9yZSByZWFkcywgYW5kIGNoZWNrIHdoZXRoZXIgdGhlXG4gIC8vIHN0b3JlcyB3ZXJlIG11dGF0ZWQgaW4gYSBjb25jdXJyZW50IGV2ZW50LiBJbnRlbnRpb25hbGx5IHVzaW5nIGFuIGl0ZXJhdGl2ZVxuICAvLyBsb29wIGluc3RlYWQgb2YgcmVjdXJzaW9uIHNvIHdlIGNhbiBleGl0IGVhcmx5LlxuICB2YXIgbm9kZSA9IGZpbmlzaGVkV29yaztcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGlmIChub2RlLmZsYWdzICYgU3RvcmVDb25zaXN0ZW5jeSkge1xuICAgICAgdmFyIHVwZGF0ZVF1ZXVlID0gbm9kZS51cGRhdGVRdWV1ZTtcblxuICAgICAgaWYgKHVwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBjaGVja3MgPSB1cGRhdGVRdWV1ZS5zdG9yZXM7XG5cbiAgICAgICAgaWYgKGNoZWNrcyAhPT0gbnVsbCkge1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hlY2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgY2hlY2sgPSBjaGVja3NbaV07XG4gICAgICAgICAgICB2YXIgZ2V0U25hcHNob3QgPSBjaGVjay5nZXRTbmFwc2hvdDtcbiAgICAgICAgICAgIHZhciByZW5kZXJlZFZhbHVlID0gY2hlY2sudmFsdWU7XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGlmICghb2JqZWN0SXMoZ2V0U25hcHNob3QoKSwgcmVuZGVyZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBGb3VuZCBhbiBpbmNvbnNpc3RlbnQgc3RvcmUuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAvLyBJZiBgZ2V0U25hcHNob3RgIHRocm93cywgcmV0dXJuIGBmYWxzZWAuIFRoaXMgd2lsbCBzY2hlZHVsZVxuICAgICAgICAgICAgICAvLyBhIHJlLXJlbmRlciwgYW5kIHRoZSBlcnJvciB3aWxsIGJlIHJldGhyb3duIGR1cmluZyByZW5kZXIuXG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkO1xuXG4gICAgaWYgKG5vZGUuc3VidHJlZUZsYWdzICYgU3RvcmVDb25zaXN0ZW5jeSAmJiBjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgY2hpbGQucmV0dXJuID0gbm9kZTtcbiAgICAgIG5vZGUgPSBjaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gZmluaXNoZWRXb3JrKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH0gLy8gRmxvdyBkb2Vzbid0IGtub3cgdGhpcyBpcyB1bnJlYWNoYWJsZSwgYnV0IGVzbGludCBkb2VzXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnJlYWNoYWJsZVxuXG5cbiAgcmV0dXJuIHRydWU7XG59IC8vIFRoZSBleHRyYSBpbmRpcmVjdGlvbnMgYXJvdW5kIG1hcmtSb290VXBkYXRlZCBhbmQgbWFya1Jvb3RTdXNwZW5kZWQgaXNcbi8vIG5lZWRlZCB0byBhdm9pZCBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGlzIG1vZHVsZSBhbmRcbi8vIFJlYWN0RmliZXJMYW5lLiBUaGVyZSdzIHByb2JhYmx5IGEgYmV0dGVyIHdheSB0byBzcGxpdCB1cCB0aGVzZSBtb2R1bGVzIGFuZFxuLy8gYXZvaWQgdGhpcyBwcm9ibGVtLiBQZXJoYXBzIGFsbCB0aGUgcm9vdC1tYXJraW5nIGZ1bmN0aW9ucyBzaG91bGQgbW92ZSBpbnRvXG4vLyB0aGUgd29yayBsb29wLlxuXG5cbmZ1bmN0aW9uIG1hcmtSb290VXBkYXRlZChyb290LCB1cGRhdGVkTGFuZXMpIHtcbiAgbWFya1Jvb3RVcGRhdGVkJDEocm9vdCwgdXBkYXRlZExhbmVzKTtcblxuICB7XG4gICAgLy8gQ2hlY2sgZm9yIHJlY3Vyc2l2ZSB1cGRhdGVzXG4gICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSB7XG4gICAgICB3b3JrSW5Qcm9ncmVzc1Jvb3REaWRJbmNsdWRlUmVjdXJzaXZlUmVuZGVyVXBkYXRlID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGV4ZWN1dGlvbkNvbnRleHQgJiBDb21taXRDb250ZXh0KSB7XG4gICAgICBkaWRJbmNsdWRlQ29tbWl0UGhhc2VVcGRhdGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHRocm93SWZJbmZpbml0ZVVwZGF0ZUxvb3BEZXRlY3RlZCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcmtSb290UGluZ2VkKHJvb3QsIHBpbmdlZExhbmVzKSB7XG4gIG1hcmtSb290UGluZ2VkJDEocm9vdCwgcGluZ2VkTGFuZXMpO1xuXG4gIHtcbiAgICAvLyBDaGVjayBmb3IgcmVjdXJzaXZlIHBpbmdzLiBQaW5ncyBhcmUgY29uY2VwdHVhbGx5IGRpZmZlcmVudCBmcm9tIHVwZGF0ZXMgaW5cbiAgICAvLyBvdGhlciBjb250ZXh0cyBidXQgd2UgY2FsbCBpdCBhbiBcInVwZGF0ZVwiIGluIHRoaXMgY29udGV4dCBiZWNhdXNlXG4gICAgLy8gcmVwZWF0ZWRseSBwaW5naW5nIGEgc3VzcGVuZGVkIHJlbmRlciBjYW4gY2F1c2UgYSByZWN1cnNpdmUgcmVuZGVyIGxvb3AuXG4gICAgLy8gVGhlIHJlbGV2YW50IHByb3BlcnR5IGlzIHRoYXQgaXQgY2FuIHJlc3VsdCBpbiBhIG5ldyByZW5kZXIgYXR0ZW1wdFxuICAgIC8vIGJlaW5nIHNjaGVkdWxlZC5cbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzUm9vdERpZEluY2x1ZGVSZWN1cnNpdmVSZW5kZXJVcGRhdGUgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoZXhlY3V0aW9uQ29udGV4dCAmIENvbW1pdENvbnRleHQpIHtcbiAgICAgIGRpZEluY2x1ZGVDb21taXRQaGFzZVVwZGF0ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhyb3dJZkluZmluaXRlVXBkYXRlTG9vcERldGVjdGVkKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1Jvb3RTdXNwZW5kZWQocm9vdCwgc3VzcGVuZGVkTGFuZXMsIHNwYXduZWRMYW5lKSB7XG4gIC8vIFdoZW4gc3VzcGVuZGluZywgd2Ugc2hvdWxkIGFsd2F5cyBleGNsdWRlIGxhbmVzIHRoYXQgd2VyZSBwaW5nZWQgb3IgKG1vcmVcbiAgLy8gcmFyZWx5LCBzaW5jZSB3ZSB0cnkgdG8gYXZvaWQgaXQpIHVwZGF0ZWQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gIHN1c3BlbmRlZExhbmVzID0gcmVtb3ZlTGFuZXMoc3VzcGVuZGVkTGFuZXMsIHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzKTtcbiAgc3VzcGVuZGVkTGFuZXMgPSByZW1vdmVMYW5lcyhzdXNwZW5kZWRMYW5lcywgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpO1xuXG4gIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgc3VzcGVuZGVkTGFuZXMsIHNwYXduZWRMYW5lKTtcbn0gLy8gVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIHN5bmNocm9ub3VzIHRhc2tzIHRoYXQgZG9uJ3QgZ29cbi8vIHRocm91Z2ggU2NoZWR1bGVyXG5cblxuZnVuY3Rpb24gcGVyZm9ybVN5bmNXb3JrT25Sb290KHJvb3QsIGxhbmVzKSB7XG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBub3QgYWxyZWFkeSBiZSB3b3JraW5nLicpO1xuICB9XG5cbiAgdmFyIGRpZEZsdXNoUGFzc2l2ZUVmZmVjdHMgPSBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG5cbiAgaWYgKGRpZEZsdXNoUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICAvLyBJZiBwYXNzaXZlIGVmZmVjdHMgd2VyZSBmbHVzaGVkLCBleGl0IHRvIHRoZSBvdXRlciB3b3JrIGxvb3AgaW4gdGhlIHJvb3RcbiAgICAvLyBzY2hlZHVsZXIsIHNvIHdlIGNhbiByZWNvbXB1dGUgdGhlIHByaW9yaXR5LlxuICAgIC8vIFRPRE86IFdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdGhpcyBgZW5zdXJlUm9vdElzU2NoZWR1bGVkYCBjYWxsIGJlY2F1c2VcbiAgICAvLyB0aGlzIHBhdGggaXMgb25seSByZWFjaGFibGUgaWYgdGhlIHJvb3QgaXMgYWxyZWFkeSBwYXJ0IG9mIHRoZSBzY2hlZHVsZS5cbiAgICAvLyBJJ20gaW5jbHVkaW5nIGl0IG9ubHkgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIG90aGVyIGV4aXQgcG9pbnRzIGZyb21cbiAgICAvLyB0aGlzIGZ1bmN0aW9uLiBDYW4gYWRkcmVzcyBpbiBhIHN1YnNlcXVlbnQgcmVmYWN0b3IuXG4gICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIHN5bmNOZXN0ZWRVcGRhdGVGbGFnKCk7XG4gIH1cblxuICB2YXIgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKTtcblxuICBpZiAocm9vdC50YWcgIT09IExlZ2FjeVJvb3QgJiYgZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAvLyBJZiBzb21ldGhpbmcgdGhyZXcgYW4gZXJyb3IsIHRyeSByZW5kZXJpbmcgb25lIG1vcmUgdGltZS4gV2UnbGwgcmVuZGVyXG4gICAgLy8gc3luY2hyb25vdXNseSB0byBibG9jayBjb25jdXJyZW50IGRhdGEgbXV0YXRpb25zLCBhbmQgd2UnbGwgaW5jbHVkZXNcbiAgICAvLyBhbGwgcGVuZGluZyB1cGRhdGVzIGFyZSBpbmNsdWRlZC4gSWYgaXQgc3RpbGwgZmFpbHMgYWZ0ZXIgdGhlIHNlY29uZFxuICAgIC8vIGF0dGVtcHQsIHdlJ2xsIGdpdmUgdXAgYW5kIGNvbW1pdCB0aGUgcmVzdWx0aW5nIHRyZWUuXG4gICAgdmFyIG9yaWdpbmFsbHlBdHRlbXB0ZWRMYW5lcyA9IGxhbmVzO1xuICAgIHZhciBlcnJvclJldHJ5TGFuZXMgPSBnZXRMYW5lc1RvUmV0cnlTeW5jaHJvbm91c2x5T25FcnJvcihyb290LCBvcmlnaW5hbGx5QXR0ZW1wdGVkTGFuZXMpO1xuXG4gICAgaWYgKGVycm9yUmV0cnlMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbGFuZXMgPSBlcnJvclJldHJ5TGFuZXM7XG4gICAgICBleGl0U3RhdHVzID0gcmVjb3ZlckZyb21Db25jdXJyZW50RXJyb3Iocm9vdCwgb3JpZ2luYWxseUF0dGVtcHRlZExhbmVzLCBlcnJvclJldHJ5TGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChleGl0U3RhdHVzID09PSBSb290RmF0YWxFcnJvcmVkKSB7XG4gICAgdmFyIGZhdGFsRXJyb3IgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yO1xuICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIE5vTGFuZXMpO1xuICAgIG1hcmtSb290U3VzcGVuZGVkKHJvb3QsIGxhbmVzLCBOb0xhbmUpO1xuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcbiAgICB0aHJvdyBmYXRhbEVycm9yO1xuICB9XG5cbiAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3REaWROb3RDb21wbGV0ZSkge1xuICAgIC8vIFRoZSByZW5kZXIgdW53b3VuZCB3aXRob3V0IGNvbXBsZXRpbmcgdGhlIHRyZWUuIFRoaXMgaGFwcGVucyBpbiBzcGVjaWFsXG4gICAgLy8gY2FzZXMgd2hlcmUgbmVlZCB0byBleGl0IHRoZSBjdXJyZW50IHJlbmRlciB3aXRob3V0IHByb2R1Y2luZyBhXG4gICAgLy8gY29uc2lzdGVudCB0cmVlIG9yIGNvbW1pdHRpbmcuXG4gICAgbWFya1Jvb3RTdXNwZW5kZWQocm9vdCwgbGFuZXMsIHdvcmtJblByb2dyZXNzRGVmZXJyZWRMYW5lKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIEJlY2F1c2UgdGhpcyBpcyBhIHN5bmMgcmVuZGVyLCB3ZVxuICAvLyB3aWxsIGNvbW1pdCBpdCBldmVuIGlmIHNvbWV0aGluZyBzdXNwZW5kZWQuXG5cblxuICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5jdXJyZW50LmFsdGVybmF0ZTtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBmaW5pc2hlZFdvcms7XG4gIHJvb3QuZmluaXNoZWRMYW5lcyA9IGxhbmVzO1xuICBjb21taXRSb290KHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zLCB3b3JrSW5Qcm9ncmVzc1Jvb3REaWRJbmNsdWRlUmVjdXJzaXZlUmVuZGVyVXBkYXRlLCB3b3JrSW5Qcm9ncmVzc0RlZmVycmVkTGFuZSk7IC8vIEJlZm9yZSBleGl0aW5nLCBtYWtlIHN1cmUgdGhlcmUncyBhIGNhbGxiYWNrIHNjaGVkdWxlZCBmb3IgdGhlIG5leHRcbiAgLy8gcGVuZGluZyBsZXZlbC5cblxuICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gZmx1c2hSb290KHJvb3QsIGxhbmVzKSB7XG4gIGlmIChsYW5lcyAhPT0gTm9MYW5lcykge1xuICAgIHVwZ3JhZGVQZW5kaW5nTGFuZXNUb1N5bmMocm9vdCwgbGFuZXMpO1xuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcblxuICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgIHJlc2V0UmVuZGVyVGltZXIoKTsgLy8gVE9ETzogRm9yIGhpc3RvcmljYWwgcmVhc29ucyB0aGlzIGZsdXNoZXMgYWxsIHN5bmMgd29yayBhY3Jvc3MgYWxsXG4gICAgICAvLyByb290cy4gSXQgc2hvdWxkbid0IHJlYWxseSBtYXR0ZXIgZWl0aGVyIHdheSwgYnV0IHdlIGNvdWxkIGNoYW5nZSB0aGlzXG4gICAgICAvLyB0byBvbmx5IGZsdXNoIHRoZSBnaXZlbiByb290LlxuXG4gICAgICBmbHVzaFN5bmNXb3JrT25BbGxSb290cygpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZ2V0RXhlY3V0aW9uQ29udGV4dCgpIHtcbiAgcmV0dXJuIGV4ZWN1dGlvbkNvbnRleHQ7XG59XG5mdW5jdGlvbiBiYXRjaGVkVXBkYXRlcyQxKGZuLCBhKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gQmF0Y2hlZENvbnRleHQ7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oYSk7XG4gIH0gZmluYWxseSB7XG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0OyAvLyBJZiB0aGVyZSB3ZXJlIGxlZ2FjeSBzeW5jIHVwZGF0ZXMsIGZsdXNoIHRoZW0gYXQgdGhlIGVuZCBvZiB0aGUgb3V0ZXJcbiAgICAvLyBtb3N0IGJhdGNoZWRVcGRhdGVzLWxpa2UgbWV0aG9kLlxuXG4gICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCAmJiAvLyBUcmVhdCBgYWN0YCBhcyBpZiBpdCdzIGluc2lkZSBgYmF0Y2hlZFVwZGF0ZXNgLCBldmVuIGluIGxlZ2FjeSBtb2RlLlxuICAgICEoUmVhY3RDdXJyZW50QWN0UXVldWUuaXNCYXRjaGluZ0xlZ2FjeSkpIHtcbiAgICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICAgIGZsdXNoU3luY1dvcmtPbkxlZ2FjeVJvb3RzT25seSgpO1xuICAgIH1cbiAgfVxufVxuLy8gV2FybmluZywgdGhpcyBvcHRzLW91dCBvZiBjaGVja2luZyB0aGUgZnVuY3Rpb24gYm9keS5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBmbHVzaFN5bmMkMShmbikge1xuICAvLyBJbiBsZWdhY3kgbW9kZSwgd2UgZmx1c2ggcGVuZGluZyBwYXNzaXZlIGVmZmVjdHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiAgLy8gbmV4dCBldmVudCwgbm90IGF0IHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIG9uZS5cbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzICE9PSBudWxsICYmIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLnRhZyA9PT0gTGVnYWN5Um9vdCAmJiAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIH1cblxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICBleGVjdXRpb25Db250ZXh0IHw9IEJhdGNoZWRDb250ZXh0O1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnRyYW5zaXRpb247XG4gIHZhciBwcmV2aW91c1ByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgdHJ5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnRyYW5zaXRpb24gPSBudWxsO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuXG4gICAgaWYgKGZuKSB7XG4gICAgICByZXR1cm4gZm4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuICAgIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDsgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaC5cbiAgICAvLyBOb3RlIHRoYXQgdGhpcyB3aWxsIGhhcHBlbiBldmVuIGlmIGJhdGNoZWRVcGRhdGVzIGlzIGhpZ2hlciB1cFxuICAgIC8vIHRoZSBzdGFjay5cblxuICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgIGZsdXNoU3luY1dvcmtPbkFsbFJvb3RzKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBpc0FscmVhZHlSZW5kZXJpbmcoKSB7XG4gIC8vIFVzZWQgYnkgdGhlIHJlbmRlcmVyIHRvIHByaW50IGEgd2FybmluZyBpZiBjZXJ0YWluIEFQSXMgYXJlIGNhbGxlZCBmcm9tXG4gIC8vIHRoZSB3cm9uZyBjb250ZXh0LlxuICByZXR1cm4gKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSAhPT0gTm9Db250ZXh0O1xufVxuLy8gaGlkZGVuIHN1YnRyZWUuIFRoZSBzdGFjayBsb2dpYyBpcyBtYW5hZ2VkIHRoZXJlIGJlY2F1c2UgdGhhdCdzIHRoZSBvbmx5XG4vLyBwbGFjZSB0aGF0IGV2ZXIgbW9kaWZpZXMgaXQuIFdoaWNoIG1vZHVsZSBpdCBsaXZlcyBpbiBkb2Vzbid0IG1hdHRlciBmb3Jcbi8vIHBlcmZvcm1hbmNlIGJlY2F1c2UgdGhpcyBmdW5jdGlvbiB3aWxsIGdldCBpbmxpbmVkIHJlZ2FyZGxlc3NcblxuZnVuY3Rpb24gc2V0RW50YW5nbGVkUmVuZGVyTGFuZXMobmV3RW50YW5nbGVkUmVuZGVyTGFuZXMpIHtcbiAgZW50YW5nbGVkUmVuZGVyTGFuZXMgPSBuZXdFbnRhbmdsZWRSZW5kZXJMYW5lcztcbn1cbmZ1bmN0aW9uIGdldEVudGFuZ2xlZFJlbmRlckxhbmVzKCkge1xuICByZXR1cm4gZW50YW5nbGVkUmVuZGVyTGFuZXM7XG59XG5cbmZ1bmN0aW9uIHJlc2V0V29ya0luUHJvZ3Jlc3NTdGFjaygpIHtcbiAgaWYgKHdvcmtJblByb2dyZXNzID09PSBudWxsKSByZXR1cm47XG4gIHZhciBpbnRlcnJ1cHRlZFdvcms7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID09PSBOb3RTdXNwZW5kZWQpIHtcbiAgICAvLyBOb3JtYWwgY2FzZS4gV29yay1pbi1wcm9ncmVzcyBoYXNuJ3Qgc3RhcnRlZCB5ZXQuIFVud2luZCBhbGxcbiAgICAvLyBpdHMgcGFyZW50cy5cbiAgICBpbnRlcnJ1cHRlZFdvcmsgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gIH0gZWxzZSB7XG4gICAgLy8gV29yay1pbi1wcm9ncmVzcyBpcyBpbiBzdXNwZW5kZWQgc3RhdGUuIFJlc2V0IHRoZSB3b3JrIGxvb3AgYW5kIHVud2luZFxuICAgIC8vIGJvdGggdGhlIHN1c3BlbmRlZCBmaWJlciBhbmQgYWxsIGl0cyBwYXJlbnRzLlxuICAgIHJlc2V0U3VzcGVuZGVkV29ya0xvb3BPblVud2luZCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgaW50ZXJydXB0ZWRXb3JrID0gd29ya0luUHJvZ3Jlc3M7XG4gIH1cblxuICB3aGlsZSAoaW50ZXJydXB0ZWRXb3JrICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnQgPSBpbnRlcnJ1cHRlZFdvcmsuYWx0ZXJuYXRlO1xuICAgIHVud2luZEludGVycnVwdGVkV29yayhjdXJyZW50LCBpbnRlcnJ1cHRlZFdvcmspO1xuICAgIGludGVycnVwdGVkV29yayA9IGludGVycnVwdGVkV29yay5yZXR1cm47XG4gIH1cblxuICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGxhbmVzKSB7XG4gIHJvb3QuZmluaXNoZWRXb3JrID0gbnVsbDtcbiAgcm9vdC5maW5pc2hlZExhbmVzID0gTm9MYW5lcztcbiAgdmFyIHRpbWVvdXRIYW5kbGUgPSByb290LnRpbWVvdXRIYW5kbGU7XG5cbiAgaWYgKHRpbWVvdXRIYW5kbGUgIT09IG5vVGltZW91dCkge1xuICAgIC8vIFRoZSByb290IHByZXZpb3VzIHN1c3BlbmRlZCBhbmQgc2NoZWR1bGVkIGEgdGltZW91dCB0byBjb21taXQgYSBmYWxsYmFja1xuICAgIC8vIHN0YXRlLiBOb3cgdGhhdCB3ZSBoYXZlIGFkZGl0aW9uYWwgd29yaywgY2FuY2VsIHRoZSB0aW1lb3V0LlxuICAgIHJvb3QudGltZW91dEhhbmRsZSA9IG5vVGltZW91dDsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FsbF0gQ29tcGxhaW5zIG5vVGltZW91dCBpcyBub3QgYSBUaW1lb3V0SUQsIGRlc3BpdGUgdGhlIGNoZWNrIGFib3ZlXG5cbiAgICBjYW5jZWxUaW1lb3V0KHRpbWVvdXRIYW5kbGUpO1xuICB9XG5cbiAgdmFyIGNhbmNlbFBlbmRpbmdDb21taXQgPSByb290LmNhbmNlbFBlbmRpbmdDb21taXQ7XG5cbiAgaWYgKGNhbmNlbFBlbmRpbmdDb21taXQgIT09IG51bGwpIHtcbiAgICByb290LmNhbmNlbFBlbmRpbmdDb21taXQgPSBudWxsO1xuICAgIGNhbmNlbFBlbmRpbmdDb21taXQoKTtcbiAgfVxuXG4gIHJlc2V0V29ya0luUHJvZ3Jlc3NTdGFjaygpO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSByb290O1xuICB2YXIgcm9vdFdvcmtJblByb2dyZXNzID0gY3JlYXRlV29ya0luUHJvZ3Jlc3Mocm9vdC5jdXJyZW50LCBudWxsKTtcbiAgd29ya0luUHJvZ3Jlc3MgPSByb290V29ya0luUHJvZ3Jlc3M7XG4gIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzID0gbGFuZXM7XG4gIHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID0gTm90U3VzcGVuZGVkO1xuICB3b3JrSW5Qcm9ncmVzc1Rocm93blZhbHVlID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290RGlkQXR0YWNoUGluZ0xpc3RlbmVyID0gZmFsc2U7XG4gIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290SW5Qcm9ncmVzcztcbiAgd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvciA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHdvcmtJblByb2dyZXNzUm9vdEludGVybGVhdmVkVXBkYXRlZExhbmVzID0gTm9MYW5lcztcbiAgd29ya0luUHJvZ3Jlc3NSb290UGluZ2VkTGFuZXMgPSBOb0xhbmVzO1xuICB3b3JrSW5Qcm9ncmVzc0RlZmVycmVkTGFuZSA9IE5vTGFuZTtcbiAgd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycyA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290RGlkSW5jbHVkZVJlY3Vyc2l2ZVJlbmRlclVwZGF0ZSA9IGZhbHNlOyAvLyBHZXQgdGhlIGxhbmVzIHRoYXQgYXJlIGVudGFuZ2xlZCB3aXRoIHdoYXRldmVyIHdlJ3JlIGFib3V0IHRvIHJlbmRlci4gV2VcbiAgLy8gdHJhY2sgdGhlc2Ugc2VwYXJhdGVseSBzbyB3ZSBjYW4gZGlzdGluZ3Vpc2ggdGhlIHByaW9yaXR5IG9mIHRoZSByZW5kZXJcbiAgLy8gdGFzayBmcm9tIHRoZSBwcmlvcml0eSBvZiB0aGUgbGFuZXMgaXQgaXMgZW50YW5nbGVkIHdpdGguIEZvciBleGFtcGxlLCBhXG4gIC8vIHRyYW5zaXRpb24gbWF5IG5vdCBiZSBhbGxvd2VkIHRvIGZpbmlzaCB1bmxlc3MgaXQgaW5jbHVkZXMgdGhlIFN5bmMgbGFuZSxcbiAgLy8gd2hpY2ggaXMgY3VycmVudGx5IHN1c3BlbmRlZC4gV2Ugc2hvdWxkIGJlIGFibGUgdG8gcmVuZGVyIHRoZSBUcmFuc2l0aW9uXG4gIC8vIGFuZCBTeW5jIGxhbmUgaW4gdGhlIHNhbWUgYmF0Y2gsIGJ1dCBhdCBUcmFuc2l0aW9uIHByaW9yaXR5LCBiZWNhdXNlIHRoZVxuICAvLyBTeW5jIGxhbmUgYWxyZWFkeSBzdXNwZW5kZWQuXG5cbiAgZW50YW5nbGVkUmVuZGVyTGFuZXMgPSBnZXRFbnRhbmdsZWRMYW5lcyhyb290LCBsYW5lcyk7XG4gIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKTtcblxuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZGlzY2FyZFBlbmRpbmdXYXJuaW5ncygpO1xuICB9XG5cbiAgcmV0dXJuIHJvb3RXb3JrSW5Qcm9ncmVzcztcbn1cblxuZnVuY3Rpb24gcmVzZXRTdXNwZW5kZWRXb3JrTG9vcE9uVW53aW5kKGZpYmVyKSB7XG4gIC8vIFJlc2V0IG1vZHVsZS1sZXZlbCBzdGF0ZSB0aGF0IHdhcyBzZXQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gIHJlc2V0Q29udGV4dERlcGVuZGVuY2llcygpO1xuICByZXNldEhvb2tzT25VbndpbmQoZmliZXIpO1xuICByZXNldENoaWxkUmVjb25jaWxlck9uVW53aW5kKCk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZVRocm93KHJvb3QsIHRocm93blZhbHVlKSB7XG4gIC8vIEEgY29tcG9uZW50IHRocmV3IGFuIGV4Y2VwdGlvbi4gVXN1YWxseSB0aGlzIGlzIGJlY2F1c2UgaXQgc3VzcGVuZGVkLCBidXRcbiAgLy8gaXQgYWxzbyBpbmNsdWRlcyByZWd1bGFyIHByb2dyYW0gZXJyb3JzLlxuICAvL1xuICAvLyBXZSdyZSBlaXRoZXIgZ29pbmcgdG8gdW53aW5kIHRoZSBzdGFjayB0byBzaG93IGEgU3VzcGVuc2Ugb3IgZXJyb3JcbiAgLy8gYm91bmRhcnksIG9yIHdlJ3JlIGdvaW5nIHRvIHJlcGxheSB0aGUgY29tcG9uZW50IGFnYWluLiBMaWtlIGFmdGVyIGFcbiAgLy8gcHJvbWlzZSByZXNvbHZlcy5cbiAgLy9cbiAgLy8gVW50aWwgd2UgZGVjaWRlIHdoZXRoZXIgd2UncmUgZ29pbmcgdG8gdW53aW5kIG9yIHJlcGxheSwgd2Ugc2hvdWxkIHByZXNlcnZlXG4gIC8vIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSB3b3JrIGxvb3Agd2l0aG91dCByZXNldHRpbmcgYW55dGhpbmcuXG4gIC8vXG4gIC8vIElmIHdlIGRvIGRlY2lkZSB0byB1bndpbmQgdGhlIHN0YWNrLCBtb2R1bGUtbGV2ZWwgdmFyaWFibGVzIHdpbGwgYmUgcmVzZXRcbiAgLy8gaW4gcmVzZXRTdXNwZW5kZWRXb3JrTG9vcE9uVW53aW5kLlxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVzZXQgaW1tZWRpYXRlbHkgYmVjYXVzZSB0aGV5J3JlIG9ubHkgc3VwcG9zZWQgdG8gYmUgc2V0XG4gIC8vIHdoZW4gUmVhY3QgaXMgZXhlY3V0aW5nIHVzZXIgY29kZS5cbiAgcmVzZXRIb29rc0FmdGVyVGhyb3coKTtcbiAgcmVzZXRDdXJyZW50RmliZXIoKTtcbiAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gbnVsbDtcblxuICBpZiAodGhyb3duVmFsdWUgPT09IFN1c3BlbnNlRXhjZXB0aW9uKSB7XG4gICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgdHlwZSBvZiBleGNlcHRpb24gdXNlZCBmb3IgU3VzcGVuc2UuIEZvciBoaXN0b3JpY2FsXG4gICAgLy8gcmVhc29ucywgdGhlIHJlc3Qgb2YgdGhlIFN1c3BlbnNlIGltcGxlbWVudGF0aW9uIGV4cGVjdHMgdGhlIHRocm93biB2YWx1ZVxuICAgIC8vIHRvIGJlIGEgdGhlbmFibGUsIGJlY2F1c2UgYmVmb3JlIGB1c2VgIGV4aXN0ZWQgdGhhdCB3YXMgdGhlICh1bnN0YWJsZSlcbiAgICAvLyBBUEkgZm9yIHN1c3BlbmRpbmcuIFRoaXMgaW1wbGVtZW50YXRpb24gZGV0YWlsIGNhbiBjaGFuZ2UgbGF0ZXIsIG9uY2Ugd2VcbiAgICAvLyBkZXByZWNhdGUgdGhlIG9sZCBBUEkgaW4gZmF2b3Igb2YgYHVzZWAuXG4gICAgdGhyb3duVmFsdWUgPSBnZXRTdXNwZW5kZWRUaGVuYWJsZSgpO1xuICAgIHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID0gc2hvdWxkUmVtYWluT25QcmV2aW91c1NjcmVlbigpICYmIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBvdGhlciBwZW5kaW5nIHVwZGF0ZXMgdGhhdCBtaWdodCBwb3NzaWJseSB1bmJsb2NrIHRoaXNcbiAgICAvLyBjb21wb25lbnQgZnJvbSBzdXNwZW5kaW5nLiBUaGlzIG1pcnJvcnMgdGhlIGNoZWNrIGluXG4gICAgLy8gcmVuZGVyRGlkU3VzcGVuZERlbGF5SWZQb3NzaWJsZS4gV2Ugc2hvdWxkIGF0dGVtcHQgdG8gdW5pZnkgdGhlbSBzb21laG93LlxuICAgIC8vIFRPRE86IENvbnNpZGVyIHVud2luZGluZyBpbW1lZGlhdGVseSwgdXNpbmcgdGhlXG4gICAgLy8gU3VzcGVuZGVkT25IeWRyYXRpb24gbWVjaGFuaXNtLlxuICAgICFpbmNsdWRlc05vbklkbGVXb3JrKHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcykgJiYgIWluY2x1ZGVzTm9uSWRsZVdvcmsod29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpID8gLy8gU3VzcGVuZCB3b3JrIGxvb3AgdW50aWwgZGF0YSByZXNvbHZlc1xuICAgIFN1c3BlbmRlZE9uRGF0YSA6IC8vIERvbid0IHN1c3BlbmQgd29yayBsb29wLCBleGNlcHQgdG8gY2hlY2sgaWYgdGhlIGRhdGEgaGFzXG4gICAgLy8gaW1tZWRpYXRlbHkgcmVzb2x2ZWQgKGkuZS4gaW4gYSBtaWNyb3Rhc2spLiBPdGhlcndpc2UsIHRyaWdnZXIgdGhlXG4gICAgLy8gbmVhcmVzdCBTdXNwZW5zZSBmYWxsYmFjay5cbiAgICBTdXNwZW5kZWRPbkltbWVkaWF0ZTtcbiAgfSBlbHNlIGlmICh0aHJvd25WYWx1ZSA9PT0gU3VzcGVuc2V5Q29tbWl0RXhjZXB0aW9uKSB7XG4gICAgdGhyb3duVmFsdWUgPSBnZXRTdXNwZW5kZWRUaGVuYWJsZSgpO1xuICAgIHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID0gU3VzcGVuZGVkT25JbnN0YW5jZTtcbiAgfSBlbHNlIGlmICh0aHJvd25WYWx1ZSA9PT0gU2VsZWN0aXZlSHlkcmF0aW9uRXhjZXB0aW9uKSB7XG4gICAgLy8gQW4gdXBkYXRlIGZsb3dlZCBpbnRvIGEgZGVoeWRyYXRlZCBib3VuZGFyeS4gQmVmb3JlIHdlIGNhbiBhcHBseSB0aGVcbiAgICAvLyB1cGRhdGUsIHdlIG5lZWQgdG8gZmluaXNoIGh5ZHJhdGluZy4gSW50ZXJydXB0IHRoZSB3b3JrLWluLXByb2dyZXNzXG4gICAgLy8gcmVuZGVyIHNvIHdlIGNhbiByZXN0YXJ0IGF0IHRoZSBoeWRyYXRpb24gbGFuZS5cbiAgICAvL1xuICAgIC8vIFRoZSBpZGVhbCBpbXBsZW1lbnRhdGlvbiB3b3VsZCBiZSBhYmxlIHRvIHN3aXRjaCBjb250ZXh0cyB3aXRob3V0XG4gICAgLy8gdW53aW5kaW5nIHRoZSBjdXJyZW50IHN0YWNrLlxuICAgIC8vXG4gICAgLy8gV2UgY291bGQgbmFtZSB0aGlzIHNvbWV0aGluZyBtb3JlIGdlbmVyYWwgYnV0IGFzIG9mIG5vdyBpdCdzIHRoZSBvbmx5XG4gICAgLy8gY2FzZSB3aGVyZSB3ZSB0aGluayB0aGlzIHNob3VsZCBoYXBwZW4uXG4gICAgd29ya0luUHJvZ3Jlc3NTdXNwZW5kZWRSZWFzb24gPSBTdXNwZW5kZWRPbkh5ZHJhdGlvbjtcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVndWxhciBlcnJvci5cbiAgICB2YXIgaXNXYWtlYWJsZSA9IHRocm93blZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB0aHJvd25WYWx1ZSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIHRocm93blZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbic7XG4gICAgd29ya0luUHJvZ3Jlc3NTdXNwZW5kZWRSZWFzb24gPSBpc1dha2VhYmxlID8gLy8gQSB3YWtlYWJsZSBvYmplY3Qgd2FzIHRocm93biBieSBhIGxlZ2FjeSBTdXNwZW5zZSBpbXBsZW1lbnRhdGlvbi5cbiAgICAvLyBUaGlzIGhhcyBzbGlnaHRseSBkaWZmZXJlbnQgYmVoYXZpb3IgdGhhbiBzdXNwZW5kaW5nIHdpdGggYHVzZWAuXG4gICAgU3VzcGVuZGVkT25EZXByZWNhdGVkVGhyb3dQcm9taXNlIDogLy8gVGhpcyBpcyBhIHJlZ3VsYXIgZXJyb3IuIElmIHNvbWV0aGluZyBlYXJsaWVyIGluIHRoZSBjb21wb25lbnQgYWxyZWFkeVxuICAgIC8vIHN1c3BlbmRlZCwgd2UgbXVzdCBjbGVhciB0aGUgdGhlbmFibGUgc3RhdGUgdG8gdW5ibG9jayB0aGUgd29yayBsb29wLlxuICAgIFN1c3BlbmRlZE9uRXJyb3I7XG4gIH1cblxuICB3b3JrSW5Qcm9ncmVzc1Rocm93blZhbHVlID0gdGhyb3duVmFsdWU7XG4gIHZhciBlcnJvcmVkV29yayA9IHdvcmtJblByb2dyZXNzO1xuXG4gIGlmIChlcnJvcmVkV29yayA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgYSBmYXRhbCBlcnJvclxuICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290RmF0YWxFcnJvcmVkO1xuICAgIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSB0aHJvd25WYWx1ZTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZXJyb3JlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgLy8gUmVjb3JkIHRoZSB0aW1lIHNwZW50IHJlbmRlcmluZyBiZWZvcmUgYW4gZXJyb3Igd2FzIHRocm93bi4gVGhpc1xuICAgIC8vIGF2b2lkcyBpbmFjY3VyYXRlIFByb2ZpbGVyIGR1cmF0aW9ucyBpbiB0aGUgY2FzZSBvZiBhXG4gICAgLy8gc3VzcGVuZGVkIHJlbmRlci5cbiAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGVycm9yZWRXb3JrLCB0cnVlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuXG4gICAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzc1N1c3BlbmRlZFJlYXNvbikge1xuICAgICAgY2FzZSBTdXNwZW5kZWRPbkVycm9yOlxuICAgICAgICB7XG4gICAgICAgICAgbWFya0NvbXBvbmVudEVycm9yZWQoZXJyb3JlZFdvcmssIHRocm93blZhbHVlLCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBTdXNwZW5kZWRPbkRhdGE6XG4gICAgICBjYXNlIFN1c3BlbmRlZE9uSW1tZWRpYXRlOlxuICAgICAgY2FzZSBTdXNwZW5kZWRPbkRlcHJlY2F0ZWRUaHJvd1Byb21pc2U6XG4gICAgICBjYXNlIFN1c3BlbmRlZEFuZFJlYWR5VG9Db250aW51ZTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciB3YWtlYWJsZSA9IHRocm93blZhbHVlO1xuICAgICAgICAgIG1hcmtDb21wb25lbnRTdXNwZW5kZWQoZXJyb3JlZFdvcmssIHdha2VhYmxlLCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkUmVtYWluT25QcmV2aW91c1NjcmVlbigpIHtcbiAgLy8gVGhpcyBpcyBhc2tpbmcgd2hldGhlciBpdCdzIGJldHRlciB0byBzdXNwZW5kIHRoZSB0cmFuc2l0aW9uIGFuZCByZW1haW5cbiAgLy8gb24gdGhlIHByZXZpb3VzIHNjcmVlbiwgdmVyc3VzIHNob3dpbmcgYSBmYWxsYmFjayBhcyBzb29uIGFzIHBvc3NpYmxlLiBJdFxuICAvLyB0YWtlcyBpbnRvIGFjY291bnQgYm90aCB0aGUgcHJpb3JpdHkgb2YgcmVuZGVyIGFuZCBhbHNvIHdoZXRoZXIgc2hvd2luZyBhXG4gIC8vIGZhbGxiYWNrIHdvdWxkIHByb2R1Y2UgYSBkZXNpcmFibGUgdXNlciBleHBlcmllbmNlLlxuICB2YXIgaGFuZGxlciA9IGdldFN1c3BlbnNlSGFuZGxlcigpO1xuXG4gIGlmIChoYW5kbGVyID09PSBudWxsKSB7XG4gICAgLy8gVGhlcmUncyBubyBTdXNwZW5zZSBib3VuZGFyeSB0aGF0IGNhbiBwcm92aWRlIGEgZmFsbGJhY2suIFdlIGhhdmUgbm9cbiAgICAvLyBjaG9pY2UgYnV0IHRvIHJlbWFpbiBvbiB0aGUgcHJldmlvdXMgc2NyZWVuLlxuICAgIC8vIE5PVEU6IFdlIGRvIHRoaXMgZXZlbiBmb3Igc3luYyB1cGRhdGVzLCBmb3IgbGFjayBvZiBhbnkgYmV0dGVyIG9wdGlvbi4gSW5cbiAgICAvLyB0aGUgZnV0dXJlLCB3ZSBtYXkgY2hhbmdlIGhvdyB3ZSBoYW5kbGUgdGhpcywgbGlrZSBieSBwdXR0aW5nIHRoZSB3aG9sZVxuICAgIC8vIHJvb3QgaW50byBhIFwiZGV0YWNoZWRcIiBtb2RlLlxuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIFRPRE86IE9uY2UgYHVzZWAgaGFzIGZ1bGx5IHJlcGxhY2VkIHRoZSBgdGhyb3cgcHJvbWlzZWAgcGF0dGVybiwgd2Ugc2hvdWxkXG4gIC8vIGJlIGFibGUgdG8gcmVtb3ZlIHRoZSBlcXVpdmFsZW50IGNoZWNrIGluIGZpbmlzaENvbmN1cnJlbnRSZW5kZXIsIGFuZCByZWx5XG4gIC8vIGp1c3Qgb24gdGhpcyBvbmUuXG5cblxuICBpZiAoaW5jbHVkZXNPbmx5VHJhbnNpdGlvbnMod29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpKSB7XG4gICAgaWYgKGdldFNoZWxsQm91bmRhcnkoKSA9PT0gbnVsbCkge1xuICAgICAgLy8gV2UncmUgcmVuZGVyaW5nIGluc2lkZSB0aGUgXCJzaGVsbFwiIG9mIHRoZSBhcHAuIEFjdGl2YXRpbmcgdGhlIG5lYXJlc3RcbiAgICAgIC8vIGZhbGxiYWNrIHdvdWxkIGNhdXNlIHZpc2libGUgY29udGVudCB0byBkaXNhcHBlYXIuIEl0J3MgYmV0dGVyIHRvXG4gICAgICAvLyBzdXNwZW5kIHRoZSB0cmFuc2l0aW9uIGFuZCByZW1haW4gb24gdGhlIHByZXZpb3VzIHNjcmVlbi5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSdyZSByZW5kZXJpbmcgY29udGVudCB0aGF0IHdhc24ndCBwYXJ0IG9mIHRoZSBwcmV2aW91cyBzY3JlZW4uXG4gICAgICAvLyBSYXRoZXIgdGhhbiBibG9jayB0aGUgdHJhbnNpdGlvbiwgaXQncyBiZXR0ZXIgdG8gc2hvdyBhIGZhbGxiYWNrIGFzXG4gICAgICAvLyBzb29uIGFzIHBvc3NpYmxlLiBUaGUgYXBwZWFyYW5jZSBvZiBhbnkgbmVzdGVkIGZhbGxiYWNrcyB3aWxsIGJlXG4gICAgICAvLyB0aHJvdHRsZWQgdG8gYXZvaWQgamFuay5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpZiAoaW5jbHVkZXNPbmx5UmV0cmllcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcykgfHwgLy8gSW4gdGhpcyBjb250ZXh0LCBhbiBPZmZzY3JlZW5MYW5lIGNvdW50cyBhcyBhIFJldHJ5XG4gIC8vIFRPRE86IEl0J3MgYmVjb21lIGluY3JlYXNpbmdseSBjbGVhciB0aGF0IFJldHJpZXMgYW5kIE9mZnNjcmVlbiBhcmVcbiAgLy8gZGVlcGx5IGNvbm5lY3RlZC4gVGhleSBwcm9iYWJseSBjYW4gYmUgdW5pZmllZCBmdXJ0aGVyLlxuICBpbmNsdWRlc1NvbWVMYW5lKHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzLCBPZmZzY3JlZW5MYW5lKSkge1xuICAgIC8vIER1cmluZyBhIHJldHJ5LCB3ZSBjYW4gc3VzcGVuZCByZW5kZXJpbmcgaWYgdGhlIG5lYXJlc3QgU3VzcGVuc2UgYm91bmRhcnlcbiAgICAvLyBpcyB0aGUgYm91bmRhcnkgb2YgdGhlIFwic2hlbGxcIiwgYmVjYXVzZSB3ZSdyZSBndWFyYW50ZWVkIG5vdCB0byBibG9ja1xuICAgIC8vIGFueSBuZXcgY29udGVudCBmcm9tIGFwcGVhcmluZy5cbiAgICAvL1xuICAgIC8vIFRoZSByZWFzb24gd2UgbXVzdCBjaGVjayBpZiB0aGlzIGlzIGEgcmV0cnkgaXMgYmVjYXVzZSBpdCBndWFyYW50ZWVzXG4gICAgLy8gdGhhdCBzdXNwZW5kaW5nIHRoZSB3b3JrIGxvb3Agd29uJ3QgYmxvY2sgYW4gYWN0dWFsIHVwZGF0ZSwgYmVjYXVzZVxuICAgIC8vIHJldHJpZXMgZG9uJ3QgXCJ1cGRhdGVcIiBhbnl0aGluZzsgdGhleSBmaWxsIGluIGZhbGxiYWNrcyB0aGF0IHdlcmUgbGVmdFxuICAgIC8vIGJlaGluZCBieSBhIHByZXZpb3VzIHRyYW5zaXRpb24uXG4gICAgcmV0dXJuIGhhbmRsZXIgPT09IGdldFNoZWxsQm91bmRhcnkoKTtcbiAgfSAvLyBGb3IgYWxsIG90aGVyIExhbmVzIGJlc2lkZXMgVHJhbnNpdGlvbnMgYW5kIFJldHJpZXMsIHdlIHNob3VsZCBub3Qgd2FpdFxuICAvLyBmb3IgdGhlIGRhdGEgdG8gbG9hZC5cblxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gcHVzaERpc3BhdGNoZXIoY29udGFpbmVyKSB7XG4gIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyO1xuXG4gIGlmIChwcmV2RGlzcGF0Y2hlciA9PT0gbnVsbCkge1xuICAgIC8vIFRoZSBSZWFjdCBpc29tb3JwaGljIHBhY2thZ2UgZG9lcyBub3QgaW5jbHVkZSBhIGRlZmF1bHQgZGlzcGF0Y2hlci5cbiAgICAvLyBJbnN0ZWFkIHRoZSBmaXJzdCByZW5kZXJlciB3aWxsIGxhemlseSBhdHRhY2ggb25lLCBpbiBvcmRlciB0byBnaXZlXG4gICAgLy8gbmljZXIgZXJyb3IgbWVzc2FnZXMuXG4gICAgcmV0dXJuIENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcHJldkRpc3BhdGNoZXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcikge1xuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbn1cblxuZnVuY3Rpb24gcHVzaENhY2hlRGlzcGF0Y2hlcigpIHtcbiAge1xuICAgIHZhciBwcmV2Q2FjaGVEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50Q2FjaGUuY3VycmVudDtcbiAgICBSZWFjdEN1cnJlbnRDYWNoZS5jdXJyZW50ID0gRGVmYXVsdENhY2hlRGlzcGF0Y2hlcjtcbiAgICByZXR1cm4gcHJldkNhY2hlRGlzcGF0Y2hlcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBwb3BDYWNoZURpc3BhdGNoZXIocHJldkNhY2hlRGlzcGF0Y2hlcikge1xuICB7XG4gICAgUmVhY3RDdXJyZW50Q2FjaGUuY3VycmVudCA9IHByZXZDYWNoZURpc3BhdGNoZXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya0NvbW1pdFRpbWVPZkZhbGxiYWNrKCkge1xuICBnbG9iYWxNb3N0UmVjZW50RmFsbGJhY2tUaW1lID0gbm93JDEoKTtcbn1cbmZ1bmN0aW9uIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMobGFuZSkge1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RTa2lwcGVkTGFuZXMgPSBtZXJnZUxhbmVzKGxhbmUsIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyk7XG59XG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kKCkge1xuICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEluUHJvZ3Jlc3MpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdFN1c3BlbmRlZDtcbiAgfVxufVxuZnVuY3Rpb24gcmVuZGVyRGlkU3VzcGVuZERlbGF5SWZQb3NzaWJsZSgpIHtcbiAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXk7IC8vIENoZWNrIGlmIHRoZXJlIGFyZSB1cGRhdGVzIHRoYXQgd2Ugc2tpcHBlZCB0cmVlIHRoYXQgbWlnaHQgaGF2ZSB1bmJsb2NrZWRcbiAgLy8gdGhpcyByZW5kZXIuXG5cbiAgaWYgKChpbmNsdWRlc05vbklkbGVXb3JrKHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcykgfHwgaW5jbHVkZXNOb25JZGxlV29yayh3b3JrSW5Qcm9ncmVzc1Jvb3RJbnRlcmxlYXZlZFVwZGF0ZWRMYW5lcykpICYmIHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCkge1xuICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgcmVuZGVyIGFzIHN1c3BlbmRlZCBzbyB0aGF0IHdlIHN3aXRjaCB0byB3b3JraW5nIG9uXG4gICAgLy8gdGhlIHVwZGF0ZXMgdGhhdCB3ZXJlIHNraXBwZWQuIFVzdWFsbHkgd2Ugb25seSBzdXNwZW5kIGF0IHRoZSBlbmQgb2ZcbiAgICAvLyB0aGUgcmVuZGVyIHBoYXNlLlxuICAgIC8vIFRPRE86IFdlIHNob3VsZCBwcm9iYWJseSBhbHdheXMgbWFyayB0aGUgcm9vdCBhcyBzdXNwZW5kZWQgaW1tZWRpYXRlbHlcbiAgICAvLyAoaW5zaWRlIHRoaXMgZnVuY3Rpb24pLCBzaW5jZSBieSBzdXNwZW5kaW5nIGF0IHRoZSBlbmQgb2YgdGhlIHJlbmRlclxuICAgIC8vIHBoYXNlIGludHJvZHVjZXMgYSBwb3RlbnRpYWwgbWlzdGFrZSB3aGVyZSB3ZSBzdXNwZW5kIGxhbmVzIHRoYXQgd2VyZVxuICAgIC8vIHBpbmdlZCBvciB1cGRhdGVkIHdoaWxlIHdlIHdlcmUgcmVuZGVyaW5nLlxuICAgIC8vIFRPRE86IENvbnNpZGVyIHVud2luZGluZyBpbW1lZGlhdGVseSwgdXNpbmcgdGhlXG4gICAgLy8gU3VzcGVuZGVkT25IeWRyYXRpb24gbWVjaGFuaXNtLlxuICAgIG1hcmtSb290U3VzcGVuZGVkKHdvcmtJblByb2dyZXNzUm9vdCwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzRGVmZXJyZWRMYW5lKTtcbiAgfVxufVxuZnVuY3Rpb24gcmVuZGVyRGlkRXJyb3IoZXJyb3IpIHtcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgIT09IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXkpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdEVycm9yZWQ7XG4gIH1cblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycyA9PT0gbnVsbCkge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMgPSBbZXJyb3JdO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMucHVzaChlcnJvcik7XG4gIH1cbn0gLy8gQ2FsbGVkIGR1cmluZyByZW5kZXIgdG8gZGV0ZXJtaW5lIGlmIGFueXRoaW5nIGhhcyBzdXNwZW5kZWQuXG4vLyBSZXR1cm5zIGZhbHNlIGlmIHdlJ3JlIG5vdCBzdXJlLlxuXG5mdW5jdGlvbiByZW5kZXJIYXNOb3RTdXNwZW5kZWRZZXQoKSB7XG4gIC8vIElmIHNvbWV0aGluZyBlcnJvcmVkIG9yIGNvbXBsZXRlZCwgd2UgY2FuJ3QgcmVhbGx5IGJlIHN1cmUsXG4gIC8vIHNvIHRob3NlIGFyZSBmYWxzZS5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJblByb2dyZXNzO1xufSAvLyBUT0RPOiBPdmVyIHRpbWUsIHRoaXMgZnVuY3Rpb24gYW5kIHJlbmRlclJvb3RDb25jdXJyZW50IGhhdmUgYmVjb21lIG1vcmVcbi8vIGFuZCBtb3JlIHNpbWlsYXIuIE5vdCBzdXJlIGl0IG1ha2VzIHNlbnNlIHRvIG1haW50YWluIGZvcmtlZCBwYXRocy4gQ29uc2lkZXJcbi8vIHVuaWZ5aW5nIHRoZW0gYWdhaW4uXG5cbmZ1bmN0aW9uIHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gUmVuZGVyQ29udGV4dDtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gcHVzaERpc3BhdGNoZXIoKTtcbiAgdmFyIHByZXZDYWNoZURpc3BhdGNoZXIgPSBwdXNoQ2FjaGVEaXNwYXRjaGVyKCk7IC8vIElmIHRoZSByb290IG9yIGxhbmVzIGhhdmUgY2hhbmdlZCwgdGhyb3cgb3V0IHRoZSBleGlzdGluZyBzdGFja1xuICAvLyBhbmQgcHJlcGFyZSBhIGZyZXNoIG9uZS4gT3RoZXJ3aXNlIHdlJ2xsIGNvbnRpbnVlIHdoZXJlIHdlIGxlZnQgb2ZmLlxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3QgIT09IHJvb3QgfHwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgIT09IGxhbmVzKSB7XG4gICAge1xuICAgICAgaWYgKGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgICAgIHZhciBtZW1vaXplZFVwZGF0ZXJzID0gcm9vdC5tZW1vaXplZFVwZGF0ZXJzO1xuXG4gICAgICAgIGlmIChtZW1vaXplZFVwZGF0ZXJzLnNpemUgPiAwKSB7XG4gICAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gICAgICAgICAgbWVtb2l6ZWRVcGRhdGVycy5jbGVhcigpO1xuICAgICAgICB9IC8vIEF0IHRoaXMgcG9pbnQsIG1vdmUgRmliZXJzIHRoYXQgc2NoZWR1bGVkIHRoZSB1cGNvbWluZyB3b3JrIGZyb20gdGhlIE1hcCB0byB0aGUgU2V0LlxuICAgICAgICAvLyBJZiB3ZSBiYWlsb3V0IG9uIHRoaXMgd29yaywgd2UnbGwgbW92ZSB0aGVtIGJhY2sgKGxpa2UgYWJvdmUpLlxuICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byBtb3ZlIHRoZW0gbm93IGluIGNhc2UgdGhlIHdvcmsgc3Bhd25zIG1vcmUgd29yayBhdCB0aGUgc2FtZSBwcmlvcml0eSB3aXRoIGRpZmZlcmVudCB1cGRhdGVycy5cbiAgICAgICAgLy8gVGhhdCB3YXkgd2UgY2FuIGtlZXAgdGhlIGN1cnJlbnQgdXBkYXRlIGFuZCBmdXR1cmUgdXBkYXRlcyBzZXBhcmF0ZS5cblxuXG4gICAgICAgIG1vdmVQZW5kaW5nRmliZXJzVG9NZW1vaXplZChyb290LCBsYW5lcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyA9IGdldFRyYW5zaXRpb25zRm9yTGFuZXMoKTtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBsYW5lcyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgdmFyIGRpZFN1c3BlbmRJblNoZWxsID0gZmFsc2U7XG5cbiAgb3V0ZXI6IGRvIHtcbiAgICB0cnkge1xuICAgICAgaWYgKHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uICE9PSBOb3RTdXNwZW5kZWQgJiYgd29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcbiAgICAgICAgLy8gVGhlIHdvcmsgbG9vcCBpcyBzdXNwZW5kZWQuIER1cmluZyBhIHN5bmNocm9ub3VzIHJlbmRlciwgd2UgZG9uJ3RcbiAgICAgICAgLy8geWllbGQgdG8gdGhlIG1haW4gdGhyZWFkLiBJbW1lZGlhdGVseSB1bndpbmQgdGhlIHN0YWNrLiBUaGlzIHdpbGxcbiAgICAgICAgLy8gdHJpZ2dlciBlaXRoZXIgYSBmYWxsYmFjayBvciBhbiBlcnJvciBib3VuZGFyeS5cbiAgICAgICAgLy8gVE9ETzogRm9yIGRpc2NyZXRlIGFuZCBcImRlZmF1bHRcIiB1cGRhdGVzIChhbnl0aGluZyB0aGF0J3Mgbm90XG4gICAgICAgIC8vIGZsdXNoU3luYyksIHdlIHdhbnQgdG8gd2FpdCBmb3IgdGhlIG1pY3JvdGFza3MgdGhlIGZsdXNoIGJlZm9yZVxuICAgICAgICAvLyB1bndpbmRpbmcuIFdpbGwgcHJvYmFibHkgaW1wbGVtZW50IHRoaXMgdXNpbmcgcmVuZGVyUm9vdENvbmN1cnJlbnQsXG4gICAgICAgIC8vIG9yIG1lcmdlIHJlbmRlclJvb3RTeW5jIGFuZCByZW5kZXJSb290Q29uY3VycmVudCBpbnRvIHRoZSBzYW1lXG4gICAgICAgIC8vIGZ1bmN0aW9uIGFuZCBmb3JrIHRoZSBiZWhhdmlvciBzb21lIG90aGVyIHdheS5cbiAgICAgICAgdmFyIHVuaXRPZldvcmsgPSB3b3JrSW5Qcm9ncmVzcztcbiAgICAgICAgdmFyIHRocm93blZhbHVlID0gd29ya0luUHJvZ3Jlc3NUaHJvd25WYWx1ZTtcblxuICAgICAgICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uKSB7XG4gICAgICAgICAgY2FzZSBTdXNwZW5kZWRPbkh5ZHJhdGlvbjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLy8gU2VsZWN0aXZlIGh5ZHJhdGlvbi4gQW4gdXBkYXRlIGZsb3dlZCBpbnRvIGEgZGVoeWRyYXRlZCB0cmVlLlxuICAgICAgICAgICAgICAvLyBJbnRlcnJ1cHQgdGhlIGN1cnJlbnQgcmVuZGVyIHNvIHRoZSB3b3JrIGxvb3AgY2FuIHN3aXRjaCB0byB0aGVcbiAgICAgICAgICAgICAgLy8gaHlkcmF0aW9uIGxhbmUuXG4gICAgICAgICAgICAgIHJlc2V0V29ya0luUHJvZ3Jlc3NTdGFjaygpO1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdERpZE5vdENvbXBsZXRlO1xuICAgICAgICAgICAgICBicmVhayBvdXRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgU3VzcGVuZGVkT25JbW1lZGlhdGU6XG4gICAgICAgICAgY2FzZSBTdXNwZW5kZWRPbkRhdGE6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmICghZGlkU3VzcGVuZEluU2hlbGwgJiYgZ2V0U3VzcGVuc2VIYW5kbGVyKCkgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBkaWRTdXNwZW5kSW5TaGVsbCA9IHRydWU7XG4gICAgICAgICAgICAgIH0gLy8gSW50ZW50aW9uYWwgZmFsbHRocm91Z2hcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLy8gVW53aW5kIHRoZW4gY29udGludWUgd2l0aCB0aGUgbm9ybWFsIHdvcmsgbG9vcC5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3NTdXNwZW5kZWRSZWFzb24gPSBOb3RTdXNwZW5kZWQ7XG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzVGhyb3duVmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgICB0aHJvd0FuZFVud2luZFdvcmtMb29wKHJvb3QsIHVuaXRPZldvcmssIHRocm93blZhbHVlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgd29ya0xvb3BTeW5jKCk7XG4gICAgICBicmVhaztcbiAgICB9IGNhdGNoICh0aHJvd25WYWx1ZSkge1xuICAgICAgaGFuZGxlVGhyb3cocm9vdCwgdGhyb3duVmFsdWUpO1xuICAgIH1cbiAgfSB3aGlsZSAodHJ1ZSk7IC8vIENoZWNrIGlmIHNvbWV0aGluZyBzdXNwZW5kZWQgaW4gdGhlIHNoZWxsLiBXZSB1c2UgdGhpcyB0byBkZXRlY3QgYW5cbiAgLy8gaW5maW5pdGUgcGluZyBsb29wIGNhdXNlZCBieSBhbiB1bmNhY2hlZCBwcm9taXNlLlxuICAvL1xuICAvLyBPbmx5IGluY3JlbWVudCB0aGlzIGNvdW50ZXIgb25jZSBwZXIgc3luY2hyb25vdXMgcmVuZGVyIGF0dGVtcHQgYWNyb3NzIHRoZVxuICAvLyB3aG9sZSB0cmVlLiBFdmVuIGlmIHRoZXJlIGFyZSBtYW55IHNpYmxpbmcgY29tcG9uZW50cyB0aGF0IHN1c3BlbmQsIHRoaXNcbiAgLy8gY291bnRlciBvbmx5IGdldHMgaW5jcmVtZW50ZWQgb25jZS5cblxuXG4gIGlmIChkaWRTdXNwZW5kSW5TaGVsbCkge1xuICAgIHJvb3Quc2hlbGxTdXNwZW5kQ291bnRlcisrO1xuICB9XG5cbiAgcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCk7XG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG4gIHBvcENhY2hlRGlzcGF0Y2hlcihwcmV2Q2FjaGVEaXNwYXRjaGVyKTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcbiAgICAvLyBUaGlzIGlzIGEgc3luYyByZW5kZXIsIHNvIHdlIHNob3VsZCBoYXZlIGZpbmlzaGVkIHRoZSB3aG9sZSB0cmVlLlxuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGNvbW1pdCBhbiBpbmNvbXBsZXRlIHJvb3QuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhICcgKyAnYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrUmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFNldCB0aGlzIHRvIG51bGwgdG8gaW5kaWNhdGUgdGhlcmUncyBubyBpbi1wcm9ncmVzcyByZW5kZXIuXG5cblxuICB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIEl0J3Mgc2FmZSB0byBwcm9jZXNzIHRoZSBxdWV1ZSBub3cgdGhhdCB0aGUgcmVuZGVyIHBoYXNlIGlzIGNvbXBsZXRlLlxuXG4gIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXM7XG59IC8vIFRoZSB3b3JrIGxvb3AgaXMgYW4gZXh0cmVtZWx5IGhvdCBwYXRoLiBUZWxsIENsb3N1cmUgbm90IHRvIGlubGluZSBpdC5cblxuLyoqIEBub2lubGluZSAqL1xuXG5cbmZ1bmN0aW9uIHdvcmtMb29wU3luYygpIHtcbiAgLy8gUGVyZm9ybSB3b3JrIHdpdGhvdXQgY2hlY2tpbmcgaWYgd2UgbmVlZCB0byB5aWVsZCBiZXR3ZWVuIGZpYmVyLlxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcbiAgICBwZXJmb3JtVW5pdE9mV29yayh3b3JrSW5Qcm9ncmVzcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyUm9vdENvbmN1cnJlbnQocm9vdCwgbGFuZXMpIHtcbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBSZW5kZXJDb250ZXh0O1xuICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpO1xuICB2YXIgcHJldkNhY2hlRGlzcGF0Y2hlciA9IHB1c2hDYWNoZURpc3BhdGNoZXIoKTsgLy8gSWYgdGhlIHJvb3Qgb3IgbGFuZXMgaGF2ZSBjaGFuZ2VkLCB0aHJvdyBvdXQgdGhlIGV4aXN0aW5nIHN0YWNrXG4gIC8vIGFuZCBwcmVwYXJlIGEgZnJlc2ggb25lLiBPdGhlcndpc2Ugd2UnbGwgY29udGludWUgd2hlcmUgd2UgbGVmdCBvZmYuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gcm9vdCB8fCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyAhPT0gbGFuZXMpIHtcbiAgICB7XG4gICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgdmFyIG1lbW9pemVkVXBkYXRlcnMgPSByb290Lm1lbW9pemVkVXBkYXRlcnM7XG5cbiAgICAgICAgaWYgKG1lbW9pemVkVXBkYXRlcnMuc2l6ZSA+IDApIHtcbiAgICAgICAgICByZXN0b3JlUGVuZGluZ1VwZGF0ZXJzKHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmNsZWFyKCk7XG4gICAgICAgIH0gLy8gQXQgdGhpcyBwb2ludCwgbW92ZSBGaWJlcnMgdGhhdCBzY2hlZHVsZWQgdGhlIHVwY29taW5nIHdvcmsgZnJvbSB0aGUgTWFwIHRvIHRoZSBTZXQuXG4gICAgICAgIC8vIElmIHdlIGJhaWxvdXQgb24gdGhpcyB3b3JrLCB3ZSdsbCBtb3ZlIHRoZW0gYmFjayAobGlrZSBhYm92ZSkuXG4gICAgICAgIC8vIEl0J3MgaW1wb3J0YW50IHRvIG1vdmUgdGhlbSBub3cgaW4gY2FzZSB0aGUgd29yayBzcGF3bnMgbW9yZSB3b3JrIGF0IHRoZSBzYW1lIHByaW9yaXR5IHdpdGggZGlmZmVyZW50IHVwZGF0ZXJzLlxuICAgICAgICAvLyBUaGF0IHdheSB3ZSBjYW4ga2VlcCB0aGUgY3VycmVudCB1cGRhdGUgYW5kIGZ1dHVyZSB1cGRhdGVzIHNlcGFyYXRlLlxuXG5cbiAgICAgICAgbW92ZVBlbmRpbmdGaWJlcnNUb01lbW9pemVkKHJvb3QsIGxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zID0gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcygpO1xuICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBsYW5lcyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgb3V0ZXI6IGRvIHtcbiAgICB0cnkge1xuICAgICAgaWYgKHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uICE9PSBOb3RTdXNwZW5kZWQgJiYgd29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcbiAgICAgICAgLy8gVGhlIHdvcmsgbG9vcCBpcyBzdXNwZW5kZWQuIFdlIG5lZWQgdG8gZWl0aGVyIHVud2luZCB0aGUgc3RhY2sgb3JcbiAgICAgICAgLy8gcmVwbGF5IHRoZSBzdXNwZW5kZWQgY29tcG9uZW50LlxuICAgICAgICB2YXIgdW5pdE9mV29yayA9IHdvcmtJblByb2dyZXNzO1xuICAgICAgICB2YXIgdGhyb3duVmFsdWUgPSB3b3JrSW5Qcm9ncmVzc1Rocm93blZhbHVlO1xuXG4gICAgICAgIHJlc3VtZU9yVW53aW5kOiBzd2l0Y2ggKHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uKSB7XG4gICAgICAgICAgY2FzZSBTdXNwZW5kZWRPbkVycm9yOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAvLyBVbndpbmQgdGhlbiBjb250aW51ZSB3aXRoIHRoZSBub3JtYWwgd29yayBsb29wLlxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzc1N1c3BlbmRlZFJlYXNvbiA9IE5vdFN1c3BlbmRlZDtcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3NUaHJvd25WYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgIHRocm93QW5kVW53aW5kV29ya0xvb3Aocm9vdCwgdW5pdE9mV29yaywgdGhyb3duVmFsdWUpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgU3VzcGVuZGVkT25EYXRhOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YXIgdGhlbmFibGUgPSB0aHJvd25WYWx1ZTtcblxuICAgICAgICAgICAgICBpZiAoaXNUaGVuYWJsZVJlc29sdmVkKHRoZW5hYmxlKSkge1xuICAgICAgICAgICAgICAgIC8vIFRoZSBkYXRhIHJlc29sdmVkLiBUcnkgcmVuZGVyaW5nIHRoZSBjb21wb25lbnQgYWdhaW4uXG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3NTdXNwZW5kZWRSZWFzb24gPSBOb3RTdXNwZW5kZWQ7XG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3NUaHJvd25WYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgcmVwbGF5U3VzcGVuZGVkVW5pdE9mV29yayh1bml0T2ZXb3JrKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfSAvLyBUaGUgd29yayBsb29wIGlzIHN1c3BlbmRlZCBvbiBkYXRhLiBXZSBzaG91bGQgd2FpdCBmb3IgaXQgdG9cbiAgICAgICAgICAgICAgLy8gcmVzb2x2ZSBiZWZvcmUgY29udGludWluZyB0byByZW5kZXIuXG4gICAgICAgICAgICAgIC8vIFRPRE86IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgcHJvbWlzZSByZXNvbHZlcyBzeW5jaHJvbm91c2x5LlxuICAgICAgICAgICAgICAvLyBVc3VhbGx5IHRoaXMgaXMgaGFuZGxlZCB3aGVuIHdlIGluc3RydW1lbnQgdGhlIHByb21pc2UgdG8gYWRkIGFcbiAgICAgICAgICAgICAgLy8gYHN0YXR1c2AgZmllbGQsIGJ1dCBpZiB0aGUgcHJvbWlzZSBhbHJlYWR5IGhhcyBhIHN0YXR1cywgd2Ugd29uJ3RcbiAgICAgICAgICAgICAgLy8gaGF2ZSBhZGRlZCBhIGxpc3RlbmVyIHVudGlsIHJpZ2h0IGhlcmUuXG5cblxuICAgICAgICAgICAgICB2YXIgb25SZXNvbHV0aW9uID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSByb290IGlzIHN0aWxsIHN1c3BlbmRlZCBvbiB0aGlzIHByb21pc2UuXG4gICAgICAgICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID09PSBTdXNwZW5kZWRPbkRhdGEgJiYgd29ya0luUHJvZ3Jlc3NSb290ID09PSByb290KSB7XG4gICAgICAgICAgICAgICAgICAvLyBNYXJrIHRoZSByb290IGFzIHJlYWR5IHRvIGNvbnRpbnVlIHJlbmRlcmluZy5cbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID0gU3VzcGVuZGVkQW5kUmVhZHlUb0NvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH0gLy8gRW5zdXJlIHRoZSByb290IGlzIHNjaGVkdWxlZC4gV2Ugc2hvdWxkIGRvIHRoaXMgZXZlbiBpZiB3ZSdyZVxuICAgICAgICAgICAgICAgIC8vIGN1cnJlbnRseSB3b3JraW5nIG9uIGEgZGlmZmVyZW50IHJvb3QsIHNvIHRoYXQgd2UgcmVzdW1lXG4gICAgICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGxhdGVyLlxuXG5cbiAgICAgICAgICAgICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgdGhlbmFibGUudGhlbihvblJlc29sdXRpb24sIG9uUmVzb2x1dGlvbik7XG4gICAgICAgICAgICAgIGJyZWFrIG91dGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSBTdXNwZW5kZWRPbkltbWVkaWF0ZTpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLy8gSWYgdGhpcyBmaWJlciBqdXN0IHN1c3BlbmRlZCwgaXQncyBwb3NzaWJsZSB0aGUgZGF0YSBpcyBhbHJlYWR5XG4gICAgICAgICAgICAgIC8vIGNhY2hlZC4gWWllbGQgdG8gdGhlIG1haW4gdGhyZWFkIHRvIGdpdmUgaXQgYSBjaGFuY2UgdG8gcGluZy4gSWZcbiAgICAgICAgICAgICAgLy8gaXQgZG9lcywgd2UgY2FuIHJldHJ5IGltbWVkaWF0ZWx5IHdpdGhvdXQgdW53aW5kaW5nIHRoZSBzdGFjay5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3NTdXNwZW5kZWRSZWFzb24gPSBTdXNwZW5kZWRBbmRSZWFkeVRvQ29udGludWU7XG4gICAgICAgICAgICAgIGJyZWFrIG91dGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSBTdXNwZW5kZWRPbkluc3RhbmNlOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzc1N1c3BlbmRlZFJlYXNvbiA9IFN1c3BlbmRlZE9uSW5zdGFuY2VBbmRSZWFkeVRvQ29udGludWU7XG4gICAgICAgICAgICAgIGJyZWFrIG91dGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSBTdXNwZW5kZWRBbmRSZWFkeVRvQ29udGludWU6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhciBfdGhlbmFibGUgPSB0aHJvd25WYWx1ZTtcblxuICAgICAgICAgICAgICBpZiAoaXNUaGVuYWJsZVJlc29sdmVkKF90aGVuYWJsZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBUaGUgZGF0YSByZXNvbHZlZC4gVHJ5IHJlbmRlcmluZyB0aGUgY29tcG9uZW50IGFnYWluLlxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID0gTm90U3VzcGVuZGVkO1xuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzVGhyb3duVmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgICAgIHJlcGxheVN1c3BlbmRlZFVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB1bndpbmQgdGhlbiBjb250aW51ZSB3aXRoIHRoZSBub3JtYWwgd29yayBsb29wLlxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzU3VzcGVuZGVkUmVhc29uID0gTm90U3VzcGVuZGVkO1xuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzVGhyb3duVmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRocm93QW5kVW53aW5kV29ya0xvb3Aocm9vdCwgdW5pdE9mV29yaywgdGhyb3duVmFsdWUpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlIFN1c3BlbmRlZE9uSW5zdGFuY2VBbmRSZWFkeVRvQ29udGludWU6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICAgIGNhc2UgSG9zdEhvaXN0YWJsZTpcbiAgICAgICAgICAgICAgICBjYXNlIEhvc3RTaW5nbGV0b246XG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEJlZm9yZSB1bndpbmRpbmcgdGhlIHN0YWNrLCBjaGVjayBvbmUgbW9yZSB0aW1lIGlmIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyBpbnN0YW5jZSBpcyByZWFkeS4gSXQgbWF5IGhhdmUgbG9hZGVkIHdoZW4gUmVhY3QgeWllbGRlZCB0b1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgbWFpbiB0aHJlYWQuXG4gICAgICAgICAgICAgICAgICAgIC8vIEFzc2lnbmluZyB0aGlzIHRvIGEgY29uc3RhbnQgc28gRmxvdyBrbm93cyB0aGUgYmluZGluZyB3b24ndFxuICAgICAgICAgICAgICAgICAgICAvLyBiZSBtdXRhdGVkIGJ5IGBwcmVsb2FkSW5zdGFuY2VgLlxuICAgICAgICAgICAgICAgICAgICB2YXIgaG9zdEZpYmVyID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0eXBlID0gaG9zdEZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwcm9wcyA9IGhvc3RGaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpc1JlYWR5ID0gcHJlbG9hZEluc3RhbmNlKHR5cGUsIHByb3BzKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNSZWFkeSkge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBkYXRhIHJlc29sdmVkLiBSZXN1bWUgdGhlIHdvcmsgbG9vcCBhcyBpZiBub3RoaW5nXG4gICAgICAgICAgICAgICAgICAgICAgLy8gc3VzcGVuZGVkLiBVbmxpa2Ugd2hlbiBhIHVzZXIgY29tcG9uZW50IHN1c3BlbmRzLCB3ZSBkb24ndFxuICAgICAgICAgICAgICAgICAgICAgIC8vIGhhdmUgdG8gcmVwbGF5IGFueXRoaW5nIGJlY2F1c2UgdGhlIGhvc3QgZmliZXJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGNvbXBsZXRlZC5cbiAgICAgICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzc1N1c3BlbmRlZFJlYXNvbiA9IE5vdFN1c3BlbmRlZDtcbiAgICAgICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzc1Rocm93blZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICB2YXIgc2libGluZyA9IGhvc3RGaWJlci5zaWJsaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzID0gc2libGluZztcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJldHVybkZpYmVyID0gaG9zdEZpYmVyLnJldHVybjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldHVybkZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlVW5pdE9mV29yayhyZXR1cm5GaWJlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWsgcmVzdW1lT3JVbndpbmQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgd2lsbCBmYWlsIGdyYWNlZnVsbHkgYnV0IGl0J3Mgbm90IGNvcnJlY3QsIHNvIGxvZyBhXG4gICAgICAgICAgICAgICAgICAgIC8vIHdhcm5pbmcgaW4gZGV2LlxuICAgICAgICAgICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgIGVycm9yKCdVbmV4cGVjdGVkIHR5cGUgb2YgZmliZXIgdHJpZ2dlcmVkIGEgc3VzcGVuc2V5IGNvbW1pdC4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LicpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gLy8gT3RoZXJ3aXNlLCB1bndpbmQgdGhlbiBjb250aW51ZSB3aXRoIHRoZSBub3JtYWwgd29yayBsb29wLlxuXG5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3NTdXNwZW5kZWRSZWFzb24gPSBOb3RTdXNwZW5kZWQ7XG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzVGhyb3duVmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgICB0aHJvd0FuZFVud2luZFdvcmtMb29wKHJvb3QsIHVuaXRPZldvcmssIHRocm93blZhbHVlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlIFN1c3BlbmRlZE9uRGVwcmVjYXRlZFRocm93UHJvbWlzZTpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLy8gU3VzcGVuZGVkIGJ5IGFuIG9sZCBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgdGhlIGB0aHJvdyBwcm9taXNlYFxuICAgICAgICAgICAgICAvLyBwYXR0ZXJuLiBUaGUgbmV3ZXIgcmVwbGF5aW5nIGJlaGF2aW9yIGNhbiBjYXVzZSBzdWJ0bGUgaXNzdWVzXG4gICAgICAgICAgICAgIC8vIGxpa2UgaW5maW5pdGUgcGluZyBsb29wcy4gU28gd2UgbWFpbnRhaW4gdGhlIG9sZCBiZWhhdmlvciBhbmRcbiAgICAgICAgICAgICAgLy8gYWx3YXlzIHVud2luZC5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3NTdXNwZW5kZWRSZWFzb24gPSBOb3RTdXNwZW5kZWQ7XG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzVGhyb3duVmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgICB0aHJvd0FuZFVud2luZFdvcmtMb29wKHJvb3QsIHVuaXRPZldvcmssIHRocm93blZhbHVlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlIFN1c3BlbmRlZE9uSHlkcmF0aW9uOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAvLyBTZWxlY3RpdmUgaHlkcmF0aW9uLiBBbiB1cGRhdGUgZmxvd2VkIGludG8gYSBkZWh5ZHJhdGVkIHRyZWUuXG4gICAgICAgICAgICAgIC8vIEludGVycnVwdCB0aGUgY3VycmVudCByZW5kZXIgc28gdGhlIHdvcmsgbG9vcCBjYW4gc3dpdGNoIHRvIHRoZVxuICAgICAgICAgICAgICAvLyBoeWRyYXRpb24gbGFuZS5cbiAgICAgICAgICAgICAgcmVzZXRXb3JrSW5Qcm9ncmVzc1N0YWNrKCk7XG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290RGlkTm90Q29tcGxldGU7XG4gICAgICAgICAgICAgIGJyZWFrIG91dGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIFN1c3BlbmRlZFJlYXNvbi4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHJ1ZSAmJiBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIGBhY3RgIHNwZWNpYWwgY2FzZTogSWYgd2UncmUgaW5zaWRlIGFuIGBhY3RgIHNjb3BlLCBkb24ndCBjb25zdWx0XG4gICAgICAgIC8vIGBzaG91bGRZaWVsZGAuIEFsd2F5cyBrZWVwIHdvcmtpbmcgdW50aWwgdGhlIHJlbmRlciBpcyBjb21wbGV0ZS5cbiAgICAgICAgLy8gVGhpcyBpcyBub3QganVzdCBhbiBvcHRpbWl6YXRpb246IGluIGEgdW5pdCB0ZXN0IGVudmlyb25tZW50LCB3ZVxuICAgICAgICAvLyBjYW4ndCB0cnVzdCB0aGUgcmVzdWx0IG9mIGBzaG91bGRZaWVsZGAsIGJlY2F1c2UgdGhlIGhvc3QgSS9PIGlzXG4gICAgICAgIC8vIGxpa2VseSBtb2NrZWQuXG4gICAgICAgIHdvcmtMb29wU3luYygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd29ya0xvb3BDb25jdXJyZW50KCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH0gY2F0Y2ggKHRocm93blZhbHVlKSB7XG4gICAgICBoYW5kbGVUaHJvdyhyb290LCB0aHJvd25WYWx1ZSk7XG4gICAgfVxuICB9IHdoaWxlICh0cnVlKTtcblxuICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG4gIHBvcENhY2hlRGlzcGF0Y2hlcihwcmV2Q2FjaGVEaXNwYXRjaGVyKTtcbiAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgLy8gU3RpbGwgd29yayByZW1haW5pbmcuXG4gICAge1xuICAgICAgbWFya1JlbmRlcllpZWxkZWQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gUm9vdEluUHJvZ3Jlc3M7XG4gIH0gZWxzZSB7XG4gICAgLy8gQ29tcGxldGVkIHRoZSB0cmVlLlxuICAgIHtcbiAgICAgIG1hcmtSZW5kZXJTdG9wcGVkKCk7XG4gICAgfSAvLyBTZXQgdGhpcyB0byBudWxsIHRvIGluZGljYXRlIHRoZXJlJ3Mgbm8gaW4tcHJvZ3Jlc3MgcmVuZGVyLlxuXG5cbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xuICAgIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzID0gTm9MYW5lczsgLy8gSXQncyBzYWZlIHRvIHByb2Nlc3MgdGhlIHF1ZXVlIG5vdyB0aGF0IHRoZSByZW5kZXIgcGhhc2UgaXMgY29tcGxldGUuXG5cbiAgICBmaW5pc2hRdWV1ZWluZ0NvbmN1cnJlbnRVcGRhdGVzKCk7IC8vIFJldHVybiB0aGUgZmluYWwgZXhpdCBzdGF0dXMuXG5cbiAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cztcbiAgfVxufVxuLyoqIEBub2lubGluZSAqL1xuXG5cbmZ1bmN0aW9uIHdvcmtMb29wQ29uY3VycmVudCgpIHtcbiAgLy8gUGVyZm9ybSB3b3JrIHVudGlsIFNjaGVkdWxlciBhc2tzIHVzIHRvIHlpZWxkXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCAmJiAhc2hvdWxkWWllbGQoKSkge1xuICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLWNhbGxdIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcbiAgICBwZXJmb3JtVW5pdE9mV29yayh3b3JrSW5Qcm9ncmVzcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGVyZm9ybVVuaXRPZldvcmsodW5pdE9mV29yaykge1xuICAvLyBUaGUgY3VycmVudCwgZmx1c2hlZCwgc3RhdGUgb2YgdGhpcyBmaWJlciBpcyB0aGUgYWx0ZXJuYXRlLiBJZGVhbGx5XG4gIC8vIG5vdGhpbmcgc2hvdWxkIHJlbHkgb24gdGhpcywgYnV0IHJlbHlpbmcgb24gaXQgaGVyZSBtZWFucyB0aGF0IHdlIGRvbid0XG4gIC8vIG5lZWQgYW4gYWRkaXRpb25hbCBmaWVsZCBvbiB0aGUgd29yayBpbiBwcm9ncmVzcy5cbiAgdmFyIGN1cnJlbnQgPSB1bml0T2ZXb3JrLmFsdGVybmF0ZTtcbiAgc2V0Q3VycmVudEZpYmVyKHVuaXRPZldvcmspO1xuICB2YXIgbmV4dDtcblxuICBpZiAoKHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgIG5leHQgPSBiZWdpbldvcmsoY3VycmVudCwgdW5pdE9mV29yaywgZW50YW5nbGVkUmVuZGVyTGFuZXMpO1xuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEodW5pdE9mV29yaywgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dCA9IGJlZ2luV29yayhjdXJyZW50LCB1bml0T2ZXb3JrLCBlbnRhbmdsZWRSZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXNldEN1cnJlbnRGaWJlcigpO1xuICB1bml0T2ZXb3JrLm1lbW9pemVkUHJvcHMgPSB1bml0T2ZXb3JrLnBlbmRpbmdQcm9wcztcblxuICBpZiAobmV4dCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgZG9lc24ndCBzcGF3biBuZXcgd29yaywgY29tcGxldGUgdGhlIGN1cnJlbnQgd29yay5cbiAgICBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gIH0gZWxzZSB7XG4gICAgd29ya0luUHJvZ3Jlc3MgPSBuZXh0O1xuICB9XG5cbiAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcmVwbGF5U3VzcGVuZGVkVW5pdE9mV29yayh1bml0T2ZXb3JrKSB7XG4gIC8vIFRoaXMgaXMgYSBmb3JrIG9mIHBlcmZvcm1Vbml0T2ZXb3JrIHNwZWNpZmNhbGx5IGZvciByZXBsYXlpbmcgYSBmaWJlciB0aGF0XG4gIC8vIGp1c3Qgc3VzcGVuZGVkLlxuICAvL1xuICB2YXIgY3VycmVudCA9IHVuaXRPZldvcmsuYWx0ZXJuYXRlO1xuICBzZXRDdXJyZW50RmliZXIodW5pdE9mV29yayk7XG4gIHZhciBuZXh0O1xuICBzZXRDdXJyZW50RmliZXIodW5pdE9mV29yayk7XG4gIHZhciBpc1Byb2ZpbGluZ01vZGUgPSAodW5pdE9mV29yay5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGU7XG5cbiAgaWYgKGlzUHJvZmlsaW5nTW9kZSkge1xuICAgIHN0YXJ0UHJvZmlsZXJUaW1lcih1bml0T2ZXb3JrKTtcbiAgfVxuXG4gIHN3aXRjaCAodW5pdE9mV29yay50YWcpIHtcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIEJlY2F1c2UgaXQgc3VzcGVuZGVkIHdpdGggYHVzZWAsIHdlIGNhbiBhc3N1bWUgaXQncyBhXG4gICAgICAgIC8vIGZ1bmN0aW9uIGNvbXBvbmVudC5cbiAgICAgICAgdW5pdE9mV29yay50YWcgPSBGdW5jdGlvbkNvbXBvbmVudDsgLy8gRmFsbHRocm91Z2ggdG8gdGhlIG5leHQgYnJhbmNoLlxuICAgICAgfVxuXG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIFJlc29sdmUgYGRlZmF1bHRQcm9wc2AuIFRoaXMgbG9naWMgaXMgY29waWVkIGZyb20gYGJlZ2luV29ya2AuXG4gICAgICAgIC8vIFRPRE86IENvbnNpZGVyIG1vdmluZyB0aGlzIHN3aXRjaCBzdGF0ZW1lbnQgaW50byB0aGF0IG1vZHVsZS4gQWxzbyxcbiAgICAgICAgLy8gY291bGQgbWF5YmUgdXNlIHRoaXMgYXMgYW4gb3Bwb3J0dW5pdHkgdG8gc2F5IGB1c2VgIGRvZXNuJ3Qgd29yayB3aXRoXG4gICAgICAgIC8vIGBkZWZhdWx0UHJvcHNgIDopXG4gICAgICAgIHZhciBDb21wb25lbnQgPSB1bml0T2ZXb3JrLnR5cGU7XG4gICAgICAgIHZhciB1bnJlc29sdmVkUHJvcHMgPSB1bml0T2ZXb3JrLnBlbmRpbmdQcm9wcztcbiAgICAgICAgdmFyIHJlc29sdmVkUHJvcHMgPSB1bml0T2ZXb3JrLmVsZW1lbnRUeXBlID09PSBDb21wb25lbnQgPyB1bnJlc29sdmVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudCwgdW5yZXNvbHZlZFByb3BzKTtcbiAgICAgICAgdmFyIGNvbnRleHQ7XG5cbiAgICAgICAge1xuICAgICAgICAgIHZhciB1bm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQodW5pdE9mV29yaywgQ29tcG9uZW50LCB0cnVlKTtcbiAgICAgICAgICBjb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh1bml0T2ZXb3JrLCB1bm1hc2tlZENvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbmV4dCA9IHJlcGxheUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHVuaXRPZldvcmssIHJlc29sdmVkUHJvcHMsIENvbXBvbmVudCwgY29udGV4dCwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIHtcbiAgICAgICAgLy8gUmVzb2x2ZSBgZGVmYXVsdFByb3BzYC4gVGhpcyBsb2dpYyBpcyBjb3BpZWQgZnJvbSBgYmVnaW5Xb3JrYC5cbiAgICAgICAgLy8gVE9ETzogQ29uc2lkZXIgbW92aW5nIHRoaXMgc3dpdGNoIHN0YXRlbWVudCBpbnRvIHRoYXQgbW9kdWxlLiBBbHNvLFxuICAgICAgICAvLyBjb3VsZCBtYXliZSB1c2UgdGhpcyBhcyBhbiBvcHBvcnR1bml0eSB0byBzYXkgYHVzZWAgZG9lc24ndCB3b3JrIHdpdGhcbiAgICAgICAgLy8gYGRlZmF1bHRQcm9wc2AgOilcbiAgICAgICAgdmFyIF9Db21wb25lbnQgPSB1bml0T2ZXb3JrLnR5cGUucmVuZGVyO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wcyA9IHVuaXRPZldvcmsucGVuZGluZ1Byb3BzO1xuXG4gICAgICAgIHZhciBfcmVzb2x2ZWRQcm9wcyA9IHVuaXRPZldvcmsuZWxlbWVudFR5cGUgPT09IF9Db21wb25lbnQgPyBfdW5yZXNvbHZlZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50LCBfdW5yZXNvbHZlZFByb3BzKTtcblxuICAgICAgICBuZXh0ID0gcmVwbGF5RnVuY3Rpb25Db21wb25lbnQoY3VycmVudCwgdW5pdE9mV29yaywgX3Jlc29sdmVkUHJvcHMsIF9Db21wb25lbnQsIHVuaXRPZldvcmsucmVmLCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICAvLyBTb21lIGhvc3QgY29tcG9uZW50cyBhcmUgc3RhdGVmdWwgKHRoYXQncyBob3cgd2UgaW1wbGVtZW50IGZvcm1cbiAgICAgICAgLy8gYWN0aW9ucykgYnV0IHdlIGRvbid0IGJvdGhlciB0byByZXVzZSB0aGUgbWVtb2l6ZWQgc3RhdGUgYmVjYXVzZSBpdCdzXG4gICAgICAgIC8vIG5vdCB3b3J0aCB0aGUgZXh0cmEgY29kZS4gVGhlIG1haW4gcmVhc29uIHRvIHJldXNlIHRoZSBwcmV2aW91cyBob29rc1xuICAgICAgICAvLyBpcyB0byByZXVzZSB1bmNhY2hlZCBwcm9taXNlcywgYnV0IHdlIGhhcHBlbiB0byBrbm93IHRoYXQgdGhlIG9ubHlcbiAgICAgICAgLy8gcHJvbWlzZXMgdGhhdCBhIGhvc3QgY29tcG9uZW50IG1pZ2h0IHN1c3BlbmQgb24gYXJlIGRlZmluaXRlbHkgY2FjaGVkXG4gICAgICAgIC8vIGJlY2F1c2UgdGhleSBhcmUgY29udHJvbGxlZCBieSB1cy4gU28gZG9uJ3QgYm90aGVyLlxuICAgICAgICByZXNldEhvb2tzT25VbndpbmQodW5pdE9mV29yayk7IC8vIEZhbGx0aHJvdWdoIHRvIHRoZSBuZXh0IGJyYW5jaC5cbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIC8vIE90aGVyIHR5cGVzIGJlc2lkZXMgZnVuY3Rpb24gY29tcG9uZW50cyBhcmUgcmVzZXQgY29tcGxldGVseSBiZWZvcmVcbiAgICAgICAgLy8gYmVpbmcgcmVwbGF5ZWQuIEN1cnJlbnRseSB0aGlzIG9ubHkgaGFwcGVucyB3aGVuIGEgVXNhYmxlIHR5cGUgaXNcbiAgICAgICAgLy8gcmVjb25jaWxlZCDigJQgdGhlIHJlY29uY2lsZXIgd2lsbCBzdXNwZW5kLlxuICAgICAgICAvL1xuICAgICAgICAvLyBXZSByZXNldCB0aGUgZmliZXIgYmFjayB0byBpdHMgb3JpZ2luYWwgc3RhdGU7IGhvd2V2ZXIsIHRoaXMgaXNuJ3RcbiAgICAgICAgLy8gYSBmdWxsIFwidW53aW5kXCIgYmVjYXVzZSB3ZSdyZSBnb2luZyB0byByZXVzZSB0aGUgcHJvbWlzZXMgdGhhdCB3ZXJlXG4gICAgICAgIC8vIHJlY29uY2lsZWQgcHJldmlvdXNseS4gU28gaXQncyBpbnRlbnRpb25hbCB0aGF0IHdlIGRvbid0IGNhbGxcbiAgICAgICAgLy8gcmVzZXRTdXNwZW5kZWRXb3JrTG9vcE9uVW53aW5kIGhlcmUuXG4gICAgICAgIHVud2luZEludGVycnVwdGVkV29yayhjdXJyZW50LCB1bml0T2ZXb3JrKTtcbiAgICAgICAgdW5pdE9mV29yayA9IHdvcmtJblByb2dyZXNzID0gcmVzZXRXb3JrSW5Qcm9ncmVzcyh1bml0T2ZXb3JrLCBlbnRhbmdsZWRSZW5kZXJMYW5lcyk7XG4gICAgICAgIG5leHQgPSBiZWdpbldvcmsoY3VycmVudCwgdW5pdE9mV29yaywgZW50YW5nbGVkUmVuZGVyTGFuZXMpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxuXG4gIGlmIChpc1Byb2ZpbGluZ01vZGUpIHtcbiAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKHVuaXRPZldvcmssIHRydWUpO1xuICB9IC8vIFRoZSBiZWdpbiBwaGFzZSBmaW5pc2hlZCBzdWNjZXNzZnVsbHkgd2l0aG91dCBzdXNwZW5kaW5nLiBSZXR1cm4gdG8gdGhlXG4gIC8vIG5vcm1hbCB3b3JrIGxvb3AuXG5cblxuICByZXNldEN1cnJlbnRGaWJlcigpO1xuICB1bml0T2ZXb3JrLm1lbW9pemVkUHJvcHMgPSB1bml0T2ZXb3JrLnBlbmRpbmdQcm9wcztcblxuICBpZiAobmV4dCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgZG9lc24ndCBzcGF3biBuZXcgd29yaywgY29tcGxldGUgdGhlIGN1cnJlbnQgd29yay5cbiAgICBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gIH0gZWxzZSB7XG4gICAgd29ya0luUHJvZ3Jlc3MgPSBuZXh0O1xuICB9XG5cbiAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gdGhyb3dBbmRVbndpbmRXb3JrTG9vcChyb290LCB1bml0T2ZXb3JrLCB0aHJvd25WYWx1ZSkge1xuICAvLyBUaGlzIGlzIGEgZm9yayBvZiBwZXJmb3JtVW5pdE9mV29yayBzcGVjaWZjYWxseSBmb3IgdW53aW5kaW5nIGEgZmliZXJcbiAgLy8gdGhhdCB0aHJldyBhbiBleGNlcHRpb24uXG4gIC8vXG4gIC8vIFJldHVybiB0byB0aGUgbm9ybWFsIHdvcmsgbG9vcC4gVGhpcyB3aWxsIHVud2luZCB0aGUgc3RhY2ssIGFuZCBwb3RlbnRpYWxseVxuICAvLyByZXN1bHQgaW4gc2hvd2luZyBhIGZhbGxiYWNrLlxuICByZXNldFN1c3BlbmRlZFdvcmtMb29wT25VbndpbmQodW5pdE9mV29yayk7XG4gIHZhciByZXR1cm5GaWJlciA9IHVuaXRPZldvcmsucmV0dXJuO1xuXG4gIHRyeSB7XG4gICAgLy8gRmluZCBhbmQgbWFyayB0aGUgbmVhcmVzdCBTdXNwZW5zZSBvciBlcnJvciBib3VuZGFyeSB0aGF0IGNhbiBoYW5kbGVcbiAgICAvLyB0aGlzIFwiZXhjZXB0aW9uXCIuXG4gICAgdmFyIGRpZEZhdGFsID0gdGhyb3dFeGNlcHRpb24ocm9vdCwgcmV0dXJuRmliZXIsIHVuaXRPZldvcmssIHRocm93blZhbHVlLCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG5cbiAgICBpZiAoZGlkRmF0YWwpIHtcbiAgICAgIHBhbmljT25Sb290RXJyb3IodGhyb3duVmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBXZSBoYWQgdHJvdWJsZSBwcm9jZXNzaW5nIHRoZSBlcnJvci4gQW4gZXhhbXBsZSBvZiB0aGlzIGhhcHBlbmluZyBpc1xuICAgIC8vIHdoZW4gYWNjZXNzaW5nIHRoZSBgY29tcG9uZW50RGlkQ2F0Y2hgIHByb3BlcnR5IG9mIGFuIGVycm9yIGJvdW5kYXJ5XG4gICAgLy8gdGhyb3dzIGFuIGVycm9yLiBBIHdlaXJkIGVkZ2UgY2FzZS4gVGhlcmUncyBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgdGhpcy5cbiAgICAvLyBUbyBwcmV2ZW50IGFuIGluZmluaXRlIGxvb3AsIGJ1YmJsZSB0aGUgZXJyb3IgdXAgdG8gdGhlIG5leHQgcGFyZW50LlxuICAgIGlmIChyZXR1cm5GaWJlciAhPT0gbnVsbCkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MgPSByZXR1cm5GaWJlcjtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYW5pY09uUm9vdEVycm9yKHRocm93blZhbHVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBpZiAodW5pdE9mV29yay5mbGFncyAmIEluY29tcGxldGUpIHtcbiAgICAvLyBVbndpbmQgdGhlIHN0YWNrIHVudGlsIHdlIHJlYWNoIHRoZSBuZWFyZXN0IGJvdW5kYXJ5LlxuICAgIHVud2luZFVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gIH0gZWxzZSB7XG4gICAgLy8gQWx0aG91Z2ggdGhlIGZpYmVyIHN1c3BlbmRlZCwgd2UncmUgaW50ZW50aW9uYWxseSBnb2luZyB0byBjb21taXQgaXQgaW5cbiAgICAvLyBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuIFdlIGNhbiBkbyB0aGlzIHNhZmVseSBpbiBjYXNlcyB3aGVyZSB3ZSBrbm93IHRoZVxuICAgIC8vIGluY29uc2lzdGVudCB0cmVlIHdpbGwgYmUgaGlkZGVuLlxuICAgIC8vXG4gICAgLy8gVGhpcyBjdXJyZW50bHkgb25seSBhcHBsaWVzIHRvIExlZ2FjeSBTdXNwZW5zZSBpbXBsZW1lbnRhdGlvbiwgYnV0IHdlIG1heVxuICAgIC8vIHBvcnQgYSB2ZXJzaW9uIG9mIHRoaXMgdG8gY29uY3VycmVudCByb290cywgdG9vLCB3aGVuIHBlcmZvcm1pbmcgYVxuICAgIC8vIHN5bmNocm9ub3VzIHJlbmRlci4gQmVjYXVzZSB0aGF0IHdpbGwgYWxsb3cgdXMgdG8gbXV0YXRlIHRoZSB0cmVlIGFzIHdlXG4gICAgLy8gZ28gaW5zdGVhZCBvZiBidWZmZXJpbmcgbXV0YXRpb25zIHVudGlsIHRoZSBlbmQuIFRob3VnaCBpdCdzIHVuY2xlYXIgaWZcbiAgICAvLyB0aGlzIHBhcnRpY3VsYXIgcGF0aCBpcyBob3cgdGhhdCB3b3VsZCBiZSBpbXBsZW1lbnRlZC5cbiAgICBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFuaWNPblJvb3RFcnJvcihlcnJvcikge1xuICAvLyBUaGVyZSdzIG5vIGFuY2VzdG9yIHRoYXQgY2FuIGhhbmRsZSB0aGlzIGV4Y2VwdGlvbi4gVGhpcyBzaG91bGQgbmV2ZXJcbiAgLy8gaGFwcGVuIGJlY2F1c2UgdGhlIHJvb3QgaXMgc3VwcG9zZWQgdG8gY2FwdHVyZSBhbGwgZXJyb3JzIHRoYXQgd2VyZW4ndFxuICAvLyBjYXVnaHQgYnkgYW4gZXJyb3IgYm91bmRhcnkuIFRoaXMgaXMgYSBmYXRhbCBlcnJvciwgb3IgcGFuaWMgY29uZGl0aW9uLFxuICAvLyBiZWNhdXNlIHdlJ3ZlIHJ1biBvdXQgb2Ygd2F5cyB0byByZWNvdmVyLlxuICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdEZhdGFsRXJyb3JlZDtcbiAgd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvciA9IGVycm9yOyAvLyBTZXQgYHdvcmtJblByb2dyZXNzYCB0byBudWxsLiBUaGlzIHJlcHJlc2VudHMgYWR2YW5jaW5nIHRvIHRoZSBuZXh0XG4gIC8vIHNpYmxpbmcsIG9yIHRoZSBwYXJlbnQgaWYgdGhlcmUgYXJlIG5vIHNpYmxpbmdzLiBCdXQgc2luY2UgdGhlIHJvb3RcbiAgLy8gaGFzIG5vIHNpYmxpbmdzIG5vciBhIHBhcmVudCwgd2Ugc2V0IGl0IHRvIG51bGwuIFVzdWFsbHkgdGhpcyBpc1xuICAvLyBoYW5kbGVkIGJ5IGBjb21wbGV0ZVVuaXRPZldvcmtgIG9yIGB1bndpbmRXb3JrYCwgYnV0IHNpbmNlIHdlJ3JlXG4gIC8vIGludGVudGlvbmFsbHkgbm90IGNhbGxpbmcgdGhvc2UsIHdlIG5lZWQgc2V0IGl0IGhlcmUuXG4gIC8vIFRPRE86IENvbnNpZGVyIGNhbGxpbmcgYHVud2luZFdvcmtgIHRvIHBvcCB0aGUgY29udGV4dHMuXG5cbiAgd29ya0luUHJvZ3Jlc3MgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yaykge1xuICAvLyBBdHRlbXB0IHRvIGNvbXBsZXRlIHRoZSBjdXJyZW50IHVuaXQgb2Ygd29yaywgdGhlbiBtb3ZlIHRvIHRoZSBuZXh0XG4gIC8vIHNpYmxpbmcuIElmIHRoZXJlIGFyZSBubyBtb3JlIHNpYmxpbmdzLCByZXR1cm4gdG8gdGhlIHBhcmVudCBmaWJlci5cbiAgdmFyIGNvbXBsZXRlZFdvcmsgPSB1bml0T2ZXb3JrO1xuXG4gIGRvIHtcbiAgICB7XG4gICAgICBpZiAoKGNvbXBsZXRlZFdvcmsuZmxhZ3MgJiBJbmNvbXBsZXRlKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgIC8vIE5PVEU6IElmIHdlIHJlLWVuYWJsZSBzaWJsaW5nIHByZXJlbmRlcmluZyBpbiBzb21lIGNhc2VzLCB0aGlzIGJyYW5jaFxuICAgICAgICAvLyBpcyB3aGVyZSB3ZSB3b3VsZCBzd2l0Y2ggdG8gdGhlIHVud2luZGluZyBwYXRoLlxuICAgICAgICBlcnJvcignSW50ZXJuYWwgUmVhY3QgZXJyb3I6IEV4cGVjdGVkIHRoaXMgZmliZXIgdG8gYmUgY29tcGxldGUsIGJ1dCAnICsgXCJpdCBpc24ndC4gSXQgc2hvdWxkIGhhdmUgYmVlbiB1bndvdW5kLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LlwiKTtcbiAgICAgIH1cbiAgICB9IC8vIFRoZSBjdXJyZW50LCBmbHVzaGVkLCBzdGF0ZSBvZiB0aGlzIGZpYmVyIGlzIHRoZSBhbHRlcm5hdGUuIElkZWFsbHlcbiAgICAvLyBub3RoaW5nIHNob3VsZCByZWx5IG9uIHRoaXMsIGJ1dCByZWx5aW5nIG9uIGl0IGhlcmUgbWVhbnMgdGhhdCB3ZSBkb24ndFxuICAgIC8vIG5lZWQgYW4gYWRkaXRpb25hbCBmaWVsZCBvbiB0aGUgd29yayBpbiBwcm9ncmVzcy5cblxuXG4gICAgdmFyIGN1cnJlbnQgPSBjb21wbGV0ZWRXb3JrLmFsdGVybmF0ZTtcbiAgICB2YXIgcmV0dXJuRmliZXIgPSBjb21wbGV0ZWRXb3JrLnJldHVybjtcbiAgICBzZXRDdXJyZW50RmliZXIoY29tcGxldGVkV29yayk7XG4gICAgdmFyIG5leHQgPSB2b2lkIDA7XG5cbiAgICBpZiAoKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICBuZXh0ID0gY29tcGxldGVXb3JrKGN1cnJlbnQsIGNvbXBsZXRlZFdvcmssIGVudGFuZ2xlZFJlbmRlckxhbmVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhcnRQcm9maWxlclRpbWVyKGNvbXBsZXRlZFdvcmspO1xuICAgICAgbmV4dCA9IGNvbXBsZXRlV29yayhjdXJyZW50LCBjb21wbGV0ZWRXb3JrLCBlbnRhbmdsZWRSZW5kZXJMYW5lcyk7IC8vIFVwZGF0ZSByZW5kZXIgZHVyYXRpb24gYXNzdW1pbmcgd2UgZGlkbid0IGVycm9yLlxuXG4gICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGNvbXBsZXRlZFdvcmssIGZhbHNlKTtcbiAgICB9XG5cbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuXG4gICAgaWYgKG5leHQgIT09IG51bGwpIHtcbiAgICAgIC8vIENvbXBsZXRpbmcgdGhpcyBmaWJlciBzcGF3bmVkIG5ldyB3b3JrLiBXb3JrIG9uIHRoYXQgbmV4dC5cbiAgICAgIHdvcmtJblByb2dyZXNzID0gbmV4dDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgc2libGluZ0ZpYmVyID0gY29tcGxldGVkV29yay5zaWJsaW5nO1xuXG4gICAgaWYgKHNpYmxpbmdGaWJlciAhPT0gbnVsbCkge1xuICAgICAgLy8gSWYgdGhlcmUgaXMgbW9yZSB3b3JrIHRvIGRvIGluIHRoaXMgcmV0dXJuRmliZXIsIGRvIHRoYXQgbmV4dC5cbiAgICAgIHdvcmtJblByb2dyZXNzID0gc2libGluZ0ZpYmVyO1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gT3RoZXJ3aXNlLCByZXR1cm4gdG8gdGhlIHBhcmVudFxuICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIHdlIGJhaWwgb3V0IHdoZW4gd2UgZ2V0IGEgbnVsbFxuXG5cbiAgICBjb21wbGV0ZWRXb3JrID0gcmV0dXJuRmliZXI7IC8vIFVwZGF0ZSB0aGUgbmV4dCB0aGluZyB3ZSdyZSB3b3JraW5nIG9uIGluIGNhc2Ugc29tZXRoaW5nIHRocm93cy5cblxuICAgIHdvcmtJblByb2dyZXNzID0gY29tcGxldGVkV29yaztcbiAgfSB3aGlsZSAoY29tcGxldGVkV29yayAhPT0gbnVsbCk7IC8vIFdlJ3ZlIHJlYWNoZWQgdGhlIHJvb3QuXG5cblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEluUHJvZ3Jlc3MpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdENvbXBsZXRlZDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bndpbmRVbml0T2ZXb3JrKHVuaXRPZldvcmspIHtcbiAgdmFyIGluY29tcGxldGVXb3JrID0gdW5pdE9mV29yaztcblxuICBkbyB7XG4gICAgLy8gVGhlIGN1cnJlbnQsIGZsdXNoZWQsIHN0YXRlIG9mIHRoaXMgZmliZXIgaXMgdGhlIGFsdGVybmF0ZS4gSWRlYWxseVxuICAgIC8vIG5vdGhpbmcgc2hvdWxkIHJlbHkgb24gdGhpcywgYnV0IHJlbHlpbmcgb24gaXQgaGVyZSBtZWFucyB0aGF0IHdlIGRvbid0XG4gICAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICAgIHZhciBjdXJyZW50ID0gaW5jb21wbGV0ZVdvcmsuYWx0ZXJuYXRlOyAvLyBUaGlzIGZpYmVyIGRpZCBub3QgY29tcGxldGUgYmVjYXVzZSBzb21ldGhpbmcgdGhyZXcuIFBvcCB2YWx1ZXMgb2ZmXG4gICAgLy8gdGhlIHN0YWNrIHdpdGhvdXQgZW50ZXJpbmcgdGhlIGNvbXBsZXRlIHBoYXNlLiBJZiB0aGlzIGlzIGEgYm91bmRhcnksXG4gICAgLy8gY2FwdHVyZSB2YWx1ZXMgaWYgcG9zc2libGUuXG5cbiAgICB2YXIgbmV4dCA9IHVud2luZFdvcmsoY3VycmVudCwgaW5jb21wbGV0ZVdvcmspOyAvLyBCZWNhdXNlIHRoaXMgZmliZXIgZGlkIG5vdCBjb21wbGV0ZSwgZG9uJ3QgcmVzZXQgaXRzIGxhbmVzLlxuXG4gICAgaWYgKG5leHQgIT09IG51bGwpIHtcbiAgICAgIC8vIEZvdW5kIGEgYm91bmRhcnkgdGhhdCBjYW4gaGFuZGxlIHRoaXMgZXhjZXB0aW9uLiBSZS1yZW50ZXIgdGhlXG4gICAgICAvLyBiZWdpbiBwaGFzZS4gVGhpcyBicmFuY2ggd2lsbCByZXR1cm4gdXMgdG8gdGhlIG5vcm1hbCB3b3JrIGxvb3AuXG4gICAgICAvL1xuICAgICAgLy8gU2luY2Ugd2UncmUgcmVzdGFydGluZywgcmVtb3ZlIGFueXRoaW5nIHRoYXQgaXMgbm90IGEgaG9zdCBlZmZlY3RcbiAgICAgIC8vIGZyb20gdGhlIGVmZmVjdCB0YWcuXG4gICAgICBuZXh0LmZsYWdzICY9IEhvc3RFZmZlY3RNYXNrO1xuICAgICAgd29ya0luUHJvZ3Jlc3MgPSBuZXh0O1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gS2VlcCB1bndpbmRpbmcgdW50aWwgd2UgcmVhY2ggZWl0aGVyIGEgYm91bmRhcnkgb3IgdGhlIHJvb3QuXG5cblxuICAgIGlmICgoaW5jb21wbGV0ZVdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAvLyBSZWNvcmQgdGhlIHJlbmRlciBkdXJhdGlvbiBmb3IgdGhlIGZpYmVyIHRoYXQgZXJyb3JlZC5cbiAgICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEoaW5jb21wbGV0ZVdvcmssIGZhbHNlKTsgLy8gSW5jbHVkZSB0aGUgdGltZSBzcGVudCB3b3JraW5nIG9uIGZhaWxlZCBjaGlsZHJlbiBiZWZvcmUgY29udGludWluZy5cblxuICAgICAgdmFyIGFjdHVhbER1cmF0aW9uID0gaW5jb21wbGV0ZVdvcmsuYWN0dWFsRHVyYXRpb247XG4gICAgICB2YXIgY2hpbGQgPSBpbmNvbXBsZXRlV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWVbdW5zYWZlLWFkZGl0aW9uXSBhZGRpdGlvbiB3aXRoIHBvc3NpYmxlIG51bGwvdW5kZWZpbmVkIHZhbHVlXG4gICAgICAgIGFjdHVhbER1cmF0aW9uICs9IGNoaWxkLmFjdHVhbER1cmF0aW9uO1xuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGluY29tcGxldGVXb3JrLmFjdHVhbER1cmF0aW9uID0gYWN0dWFsRHVyYXRpb247XG4gICAgfSAvLyBUT0RPOiBPbmNlIHdlIHN0b3AgcHJlcmVuZGVyaW5nIHNpYmxpbmdzLCBpbnN0ZWFkIG9mIHJlc2V0dGluZyB0aGUgcGFyZW50XG4gICAgLy8gb2YgdGhlIG5vZGUgYmVpbmcgdW53b3VuZCwgd2Ugc2hvdWxkIGJlIGFibGUgdG8gcmVzZXQgbm9kZSBpdHNlbGYgYXMgd2VcbiAgICAvLyB1bndpbmQgdGhlIHN0YWNrLiBTYXZlcyBhbiBhZGRpdGlvbmFsIG51bGwgY2hlY2suXG5cblxuICAgIHZhciByZXR1cm5GaWJlciA9IGluY29tcGxldGVXb3JrLnJldHVybjtcblxuICAgIGlmIChyZXR1cm5GaWJlciAhPT0gbnVsbCkge1xuICAgICAgLy8gTWFyayB0aGUgcGFyZW50IGZpYmVyIGFzIGluY29tcGxldGUgYW5kIGNsZWFyIGl0cyBzdWJ0cmVlIGZsYWdzLlxuICAgICAgLy8gVE9ETzogT25jZSB3ZSBzdG9wIHByZXJlbmRlcmluZyBzaWJsaW5ncywgd2UgbWF5IGJlIGFibGUgdG8gZ2V0IHJpZCBvZlxuICAgICAgLy8gdGhlIEluY29tcGxldGUgZmxhZyBiZWNhdXNlIHVud2luZGluZyB0byB0aGUgbmVhcmVzdCBib3VuZGFyeSB3aWxsXG4gICAgICAvLyBoYXBwZW4gc3luY2hyb25vdXNseS5cbiAgICAgIHJldHVybkZpYmVyLmZsYWdzIHw9IEluY29tcGxldGU7XG4gICAgICByZXR1cm5GaWJlci5zdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzJDE7XG4gICAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBudWxsO1xuICAgIH0gLy8gTk9URTogSWYgd2UgcmUtZW5hYmxlIHNpYmxpbmcgcHJlcmVuZGVyaW5nIGluIHNvbWUgY2FzZXMsIGhlcmUgd2VcbiAgICAvLyB3b3VsZCBzd2l0Y2ggdG8gdGhlIG5vcm1hbCBjb21wbGV0aW9uIHBhdGg6IGNoZWNrIGlmIGEgc2libGluZ1xuICAgIC8vIGV4aXN0cywgYW5kIGlmIHNvLCBiZWdpbiB3b3JrIG9uIGl0LlxuICAgIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRvIHRoZSBwYXJlbnRcbiAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXSB3ZSBiYWlsIG91dCB3aGVuIHdlIGdldCBhIG51bGxcblxuXG4gICAgaW5jb21wbGV0ZVdvcmsgPSByZXR1cm5GaWJlcjsgLy8gVXBkYXRlIHRoZSBuZXh0IHRoaW5nIHdlJ3JlIHdvcmtpbmcgb24gaW4gY2FzZSBzb21ldGhpbmcgdGhyb3dzLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSBpbmNvbXBsZXRlV29yaztcbiAgfSB3aGlsZSAoaW5jb21wbGV0ZVdvcmsgIT09IG51bGwpOyAvLyBXZSd2ZSB1bndvdW5kIGFsbCB0aGUgd2F5IHRvIHRoZSByb290LlxuXG5cbiAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3REaWROb3RDb21wbGV0ZTtcbiAgd29ya0luUHJvZ3Jlc3MgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBjb21taXRSb290KHJvb3QsIHJlY292ZXJhYmxlRXJyb3JzLCB0cmFuc2l0aW9ucywgZGlkSW5jbHVkZVJlbmRlclBoYXNlVXBkYXRlLCBzcGF3bmVkTGFuZSkge1xuICAvLyBUT0RPOiBUaGlzIG5vIGxvbmdlciBtYWtlcyBhbnkgc2Vuc2UuIFdlIGFscmVhZHkgd3JhcCB0aGUgbXV0YXRpb24gYW5kXG4gIC8vIGxheW91dCBwaGFzZXMuIFNob3VsZCBiZSBhYmxlIHRvIHJlbW92ZS5cbiAgdmFyIHByZXZpb3VzVXBkYXRlTGFuZVByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG4gIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEudHJhbnNpdGlvbjtcblxuICB0cnkge1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEudHJhbnNpdGlvbiA9IG51bGw7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KERpc2NyZXRlRXZlbnRQcmlvcml0eSk7XG4gICAgY29tbWl0Um9vdEltcGwocm9vdCwgcmVjb3ZlcmFibGVFcnJvcnMsIHRyYW5zaXRpb25zLCBkaWRJbmNsdWRlUmVuZGVyUGhhc2VVcGRhdGUsIHByZXZpb3VzVXBkYXRlTGFuZVByaW9yaXR5LCBzcGF3bmVkTGFuZSk7XG4gIH0gZmluYWxseSB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzVXBkYXRlTGFuZVByaW9yaXR5KTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBjb21taXRSb290SW1wbChyb290LCByZWNvdmVyYWJsZUVycm9ycywgdHJhbnNpdGlvbnMsIGRpZEluY2x1ZGVSZW5kZXJQaGFzZVVwZGF0ZSwgcmVuZGVyUHJpb3JpdHlMZXZlbCwgc3Bhd25lZExhbmUpIHtcbiAgZG8ge1xuICAgIC8vIGBmbHVzaFBhc3NpdmVFZmZlY3RzYCB3aWxsIGNhbGwgYGZsdXNoU3luY1VwZGF0ZVF1ZXVlYCBhdCB0aGUgZW5kLCB3aGljaFxuICAgIC8vIG1lYW5zIGBmbHVzaFBhc3NpdmVFZmZlY3RzYCB3aWxsIHNvbWV0aW1lcyByZXN1bHQgaW4gYWRkaXRpb25hbFxuICAgIC8vIHBhc3NpdmUgZWZmZWN0cy4gU28gd2UgbmVlZCB0byBrZWVwIGZsdXNoaW5nIGluIGEgbG9vcCB1bnRpbCB0aGVyZSBhcmVcbiAgICAvLyBubyBtb3JlIHBlbmRpbmcgZWZmZWN0cy5cbiAgICAvLyBUT0RPOiBNaWdodCBiZSBiZXR0ZXIgaWYgYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIGRpZCBub3QgYXV0b21hdGljYWxseVxuICAgIC8vIGZsdXNoIHN5bmNocm9ub3VzIHdvcmsgYXQgdGhlIGVuZCwgdG8gYXZvaWQgZmFjdG9yaW5nIGhhemFyZHMgbGlrZSB0aGlzLlxuICAgIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcbiAgfSB3aGlsZSAocm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgIT09IG51bGwpO1xuXG4gIGZsdXNoUmVuZGVyUGhhc2VTdHJpY3RNb2RlV2FybmluZ3NJbkRFVigpO1xuXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBub3QgYWxyZWFkeSBiZSB3b3JraW5nLicpO1xuICB9XG5cbiAgdmFyIGZpbmlzaGVkV29yayA9IHJvb3QuZmluaXNoZWRXb3JrO1xuICB2YXIgbGFuZXMgPSByb290LmZpbmlzaGVkTGFuZXM7XG5cbiAge1xuICAgIG1hcmtDb21taXRTdGFydGVkKGxhbmVzKTtcbiAgfVxuXG4gIGlmIChmaW5pc2hlZFdvcmsgPT09IG51bGwpIHtcblxuICAgIHtcbiAgICAgIG1hcmtDb21taXRTdG9wcGVkKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0gZWxzZSB7XG4gICAge1xuICAgICAgaWYgKGxhbmVzID09PSBOb0xhbmVzKSB7XG4gICAgICAgIGVycm9yKCdyb290LmZpbmlzaGVkTGFuZXMgc2hvdWxkIG5vdCBiZSBlbXB0eSBkdXJpbmcgYSBjb21taXQuIFRoaXMgaXMgYSAnICsgJ2J1ZyBpbiBSZWFjdC4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByb290LmZpbmlzaGVkV29yayA9IG51bGw7XG4gIHJvb3QuZmluaXNoZWRMYW5lcyA9IE5vTGFuZXM7XG5cbiAgaWYgKGZpbmlzaGVkV29yayA9PT0gcm9vdC5jdXJyZW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgY29tbWl0IHRoZSBzYW1lIHRyZWUgYXMgYmVmb3JlLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgJyArICdhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH0gLy8gY29tbWl0Um9vdCBuZXZlciByZXR1cm5zIGEgY29udGludWF0aW9uOyBpdCBhbHdheXMgZmluaXNoZXMgc3luY2hyb25vdXNseS5cbiAgLy8gU28gd2UgY2FuIGNsZWFyIHRoZXNlIG5vdyB0byBhbGxvdyBhIG5ldyBjYWxsYmFjayB0byBiZSBzY2hlZHVsZWQuXG5cblxuICByb290LmNhbGxiYWNrTm9kZSA9IG51bGw7XG4gIHJvb3QuY2FsbGJhY2tQcmlvcml0eSA9IE5vTGFuZTtcbiAgcm9vdC5jYW5jZWxQZW5kaW5nQ29tbWl0ID0gbnVsbDsgLy8gQ2hlY2sgd2hpY2ggbGFuZXMgbm8gbG9uZ2VyIGhhdmUgYW55IHdvcmsgc2NoZWR1bGVkIG9uIHRoZW0sIGFuZCBtYXJrXG4gIC8vIHRob3NlIGFzIGZpbmlzaGVkLlxuXG4gIHZhciByZW1haW5pbmdMYW5lcyA9IG1lcmdlTGFuZXMoZmluaXNoZWRXb3JrLmxhbmVzLCBmaW5pc2hlZFdvcmsuY2hpbGRMYW5lcyk7IC8vIE1ha2Ugc3VyZSB0byBhY2NvdW50IGZvciBsYW5lcyB0aGF0IHdlcmUgdXBkYXRlZCBieSBhIGNvbmN1cnJlbnQgZXZlbnRcbiAgLy8gZHVyaW5nIHRoZSByZW5kZXIgcGhhc2U7IGRvbid0IG1hcmsgdGhlbSBhcyBmaW5pc2hlZC5cblxuICB2YXIgY29uY3VycmVudGx5VXBkYXRlZExhbmVzID0gZ2V0Q29uY3VycmVudGx5VXBkYXRlZExhbmVzKCk7XG4gIHJlbWFpbmluZ0xhbmVzID0gbWVyZ2VMYW5lcyhyZW1haW5pbmdMYW5lcywgY29uY3VycmVudGx5VXBkYXRlZExhbmVzKTtcbiAgbWFya1Jvb3RGaW5pc2hlZChyb290LCByZW1haW5pbmdMYW5lcywgc3Bhd25lZExhbmUpOyAvLyBSZXNldCB0aGlzIGJlZm9yZSBmaXJpbmcgc2lkZSBlZmZlY3RzIHNvIHdlIGNhbiBkZXRlY3QgcmVjdXJzaXZlIHVwZGF0ZXMuXG5cbiAgZGlkSW5jbHVkZUNvbW1pdFBoYXNlVXBkYXRlID0gZmFsc2U7XG5cbiAgaWYgKHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCkge1xuICAgIC8vIFdlIGNhbiByZXNldCB0aGVzZSBub3cgdGhhdCB0aGV5IGFyZSBmaW5pc2hlZC5cbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xuICAgIHdvcmtJblByb2dyZXNzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7XG4gIH0gLy8gSWYgdGhlcmUgYXJlIHBlbmRpbmcgcGFzc2l2ZSBlZmZlY3RzLCBzY2hlZHVsZSBhIGNhbGxiYWNrIHRvIHByb2Nlc3MgdGhlbS5cbiAgLy8gRG8gdGhpcyBhcyBlYXJseSBhcyBwb3NzaWJsZSwgc28gaXQgaXMgcXVldWVkIGJlZm9yZSBhbnl0aGluZyBlbHNlIHRoYXRcbiAgLy8gbWlnaHQgZ2V0IHNjaGVkdWxlZCBpbiB0aGUgY29tbWl0IHBoYXNlLiAoU2VlICMxNjcxNC4pXG4gIC8vIFRPRE86IERlbGV0ZSBhbGwgb3RoZXIgcGxhY2VzIHRoYXQgc2NoZWR1bGUgdGhlIHBhc3NpdmUgZWZmZWN0IGNhbGxiYWNrXG4gIC8vIFRoZXkncmUgcmVkdW5kYW50LlxuXG5cbiAgaWYgKChmaW5pc2hlZFdvcmsuc3VidHJlZUZsYWdzICYgUGFzc2l2ZU1hc2spICE9PSBOb0ZsYWdzJDEgfHwgKGZpbmlzaGVkV29yay5mbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzUmVtYWluaW5nTGFuZXMgPSByZW1haW5pbmdMYW5lczsgLy8gd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyBtaWdodCBiZSBvdmVyd3JpdHRlbiwgc28gd2Ugd2FudFxuICAgICAgLy8gdG8gc3RvcmUgaXQgaW4gcGVuZGluZ1Bhc3NpdmVUcmFuc2l0aW9ucyB1bnRpbCB0aGV5IGdldCBwcm9jZXNzZWRcbiAgICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGlzIHRocm91Z2ggYXMgYW4gYXJndW1lbnQgdG8gY29tbWl0Um9vdFxuICAgICAgLy8gYmVjYXVzZSB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zIG1pZ2h0IGhhdmUgY2hhbmdlZCBiZXR3ZWVuXG4gICAgICAvLyB0aGUgcHJldmlvdXMgcmVuZGVyIGFuZCBjb21taXQgaWYgd2UgdGhyb3R0bGUgdGhlIGNvbW1pdFxuICAgICAgLy8gd2l0aCBzZXRUaW1lb3V0XG5cbiAgICAgIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSB0cmFuc2l0aW9ucztcbiAgICAgIHNjaGVkdWxlQ2FsbGJhY2soTm9ybWFsUHJpb3JpdHkkMSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7IC8vIFRoaXMgcmVuZGVyIHRyaWdnZXJlZCBwYXNzaXZlIGVmZmVjdHM6IHJlbGVhc2UgdGhlIHJvb3QgY2FjaGUgcG9vbFxuICAgICAgICAvLyAqYWZ0ZXIqIHBhc3NpdmUgZWZmZWN0cyBmaXJlIHRvIGF2b2lkIGZyZWVpbmcgYSBjYWNoZSBwb29sIHRoYXQgbWF5XG4gICAgICAgIC8vIGJlIHJlZmVyZW5jZWQgYnkgYSBub2RlIGluIHRoZSB0cmVlIChIb3N0Um9vdCwgQ2FjaGUgYm91bmRhcnkgZXRjKVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuICB9IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZWZmZWN0cyBpbiB0aGUgd2hvbGUgdHJlZS5cbiAgLy8gVE9ETzogVGhpcyBpcyBsZWZ0IG92ZXIgZnJvbSB0aGUgZWZmZWN0IGxpc3QgaW1wbGVtZW50YXRpb24sIHdoZXJlIHdlIGhhZFxuICAvLyB0byBjaGVjayBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBgZmlyc3RFZmZlY3RgIHRvIHNhdGlzZnkgRmxvdy4gSSB0aGluayB0aGVcbiAgLy8gb25seSBvdGhlciByZWFzb24gdGhpcyBvcHRpbWl6YXRpb24gZXhpc3RzIGlzIGJlY2F1c2UgaXQgYWZmZWN0cyBwcm9maWxpbmcuXG4gIC8vIFJlY29uc2lkZXIgd2hldGhlciB0aGlzIGlzIG5lY2Vzc2FyeS5cblxuXG4gIHZhciBzdWJ0cmVlSGFzRWZmZWN0cyA9IChmaW5pc2hlZFdvcmsuc3VidHJlZUZsYWdzICYgKEJlZm9yZU11dGF0aW9uTWFzayB8IE11dGF0aW9uTWFzayB8IExheW91dE1hc2sgfCBQYXNzaXZlTWFzaykpICE9PSBOb0ZsYWdzJDE7XG4gIHZhciByb290SGFzRWZmZWN0ID0gKGZpbmlzaGVkV29yay5mbGFncyAmIChCZWZvcmVNdXRhdGlvbk1hc2sgfCBNdXRhdGlvbk1hc2sgfCBMYXlvdXRNYXNrIHwgUGFzc2l2ZU1hc2spKSAhPT0gTm9GbGFncyQxO1xuXG4gIGlmIChzdWJ0cmVlSGFzRWZmZWN0cyB8fCByb290SGFzRWZmZWN0KSB7XG4gICAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS50cmFuc2l0aW9uO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEudHJhbnNpdGlvbiA9IG51bGw7XG4gICAgdmFyIHByZXZpb3VzUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoRGlzY3JldGVFdmVudFByaW9yaXR5KTtcbiAgICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICAgIGV4ZWN1dGlvbkNvbnRleHQgfD0gQ29tbWl0Q29udGV4dDsgLy8gUmVzZXQgdGhpcyB0byBudWxsIGJlZm9yZSBjYWxsaW5nIGxpZmVjeWNsZXNcblxuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IG51bGw7IC8vIFRoZSBjb21taXQgcGhhc2UgaXMgYnJva2VuIGludG8gc2V2ZXJhbCBzdWItcGhhc2VzLiBXZSBkbyBhIHNlcGFyYXRlIHBhc3NcbiAgICAvLyBvZiB0aGUgZWZmZWN0IGxpc3QgZm9yIGVhY2ggcGhhc2U6IGFsbCBtdXRhdGlvbiBlZmZlY3RzIGNvbWUgYmVmb3JlIGFsbFxuICAgIC8vIGxheW91dCBlZmZlY3RzLCBhbmQgc28gb24uXG4gICAgLy8gVGhlIGZpcnN0IHBoYXNlIGEgXCJiZWZvcmUgbXV0YXRpb25cIiBwaGFzZS4gV2UgdXNlIHRoaXMgcGhhc2UgdG8gcmVhZCB0aGVcbiAgICAvLyBzdGF0ZSBvZiB0aGUgaG9zdCB0cmVlIHJpZ2h0IGJlZm9yZSB3ZSBtdXRhdGUgaXQuIFRoaXMgaXMgd2hlcmVcbiAgICAvLyBnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSBpcyBjYWxsZWQuXG5cbiAgICBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcblxuICAgIHtcbiAgICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgY29tbWl0IHRpbWUgdG8gYmUgc2hhcmVkIGJ5IGFsbCBQcm9maWxlcnMgaW4gdGhpc1xuICAgICAgLy8gYmF0Y2guIFRoaXMgZW5hYmxlcyB0aGVtIHRvIGJlIGdyb3VwZWQgbGF0ZXIuXG4gICAgICByZWNvcmRDb21taXRUaW1lKCk7XG4gICAgfVxuXG5cbiAgICBjb21taXRNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrLCBsYW5lcyk7XG5cbiAgICByZXNldEFmdGVyQ29tbWl0KCk7IC8vIFRoZSB3b3JrLWluLXByb2dyZXNzIHRyZWUgaXMgbm93IHRoZSBjdXJyZW50IHRyZWUuIFRoaXMgbXVzdCBjb21lIGFmdGVyXG4gICAgLy8gdGhlIG11dGF0aW9uIHBoYXNlLCBzbyB0aGF0IHRoZSBwcmV2aW91cyB0cmVlIGlzIHN0aWxsIGN1cnJlbnQgZHVyaW5nXG4gICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQsIGJ1dCBiZWZvcmUgdGhlIGxheW91dCBwaGFzZSwgc28gdGhhdCB0aGUgZmluaXNoZWRcbiAgICAvLyB3b3JrIGlzIGN1cnJlbnQgZHVyaW5nIGNvbXBvbmVudERpZE1vdW50L1VwZGF0ZS5cblxuICAgIHJvb3QuY3VycmVudCA9IGZpbmlzaGVkV29yazsgLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIGxheW91dCBwaGFzZSwgd2hlcmUgd2UgY2FsbCBlZmZlY3RzIHRoYXQgcmVhZFxuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdGFydGVkKGxhbmVzKTtcbiAgICB9XG5cbiAgICBjb21taXRMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yaywgcm9vdCwgbGFuZXMpO1xuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICAgIC8vIG9wcG9ydHVuaXR5IHRvIHBhaW50LlxuXG5cbiAgICByZXF1ZXN0UGFpbnQoKTtcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7IC8vIFJlc2V0IHRoZSBwcmlvcml0eSB0byB0aGUgcHJldmlvdXMgbm9uLXN5bmMgdmFsdWUuXG5cbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH0gZWxzZSB7XG4gICAgLy8gTm8gZWZmZWN0cy5cbiAgICByb290LmN1cnJlbnQgPSBmaW5pc2hlZFdvcms7IC8vIE1lYXN1cmUgdGhlc2UgYW55d2F5IHNvIHRoZSBmbGFtZWdyYXBoIGV4cGxpY2l0bHkgc2hvd3MgdGhhdCB0aGVyZSB3ZXJlXG4gICAgLy8gbm8gZWZmZWN0cy5cbiAgICAvLyBUT0RPOiBNYXliZSB0aGVyZSdzIGEgYmV0dGVyIHdheSB0byByZXBvcnQgdGhpcy5cblxuICAgIHtcbiAgICAgIHJlY29yZENvbW1pdFRpbWUoKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cyA9IHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzO1xuXG4gIGlmIChyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgIC8vIFRoaXMgY29tbWl0IGhhcyBwYXNzaXZlIGVmZmVjdHMuIFN0YXNoIGEgcmVmZXJlbmNlIHRvIHRoZW0uIEJ1dCBkb24ndFxuICAgIC8vIHNjaGVkdWxlIGEgY2FsbGJhY2sgdW50aWwgYWZ0ZXIgZmx1c2hpbmcgbGF5b3V0IHdvcmsuXG4gICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbiAgICByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9IHJvb3Q7XG4gICAgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMgPSBsYW5lcztcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGVyZSB3ZXJlIG5vIHBhc3NpdmUgZWZmZWN0cywgc28gd2UgY2FuIGltbWVkaWF0ZWx5IHJlbGVhc2UgdGhlIGNhY2hlXG4gICAgLy8gcG9vbCBmb3IgdGhpcyByZW5kZXIuXG4gICAgcmVsZWFzZVJvb3RQb29sZWRDYWNoZShyb290LCByZW1haW5pbmdMYW5lcyk7XG5cbiAgICB7XG4gICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7XG4gICAgfVxuICB9IC8vIFJlYWQgdGhpcyBhZ2Fpbiwgc2luY2UgYW4gZWZmZWN0IG1pZ2h0IGhhdmUgdXBkYXRlZCBpdFxuXG5cbiAgcmVtYWluaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lczsgLy8gQ2hlY2sgaWYgdGhlcmUncyByZW1haW5pbmcgd29yayBvbiB0aGlzIHJvb3RcbiAgLy8gVE9ETzogVGhpcyBpcyBwYXJ0IG9mIHRoZSBgY29tcG9uZW50RGlkQ2F0Y2hgIGltcGxlbWVudGF0aW9uLiBJdHMgcHVycG9zZVxuICAvLyBpcyB0byBkZXRlY3Qgd2hldGhlciBzb21ldGhpbmcgbWlnaHQgaGF2ZSBjYWxsZWQgc2V0U3RhdGUgaW5zaWRlXG4gIC8vIGBjb21wb25lbnREaWRDYXRjaGAuIFRoZSBtZWNoYW5pc20gaXMga25vd24gdG8gYmUgZmxhd2VkIGJlY2F1c2UgYHNldFN0YXRlYFxuICAvLyBpbnNpZGUgYGNvbXBvbmVudERpZENhdGNoYCBpcyBpdHNlbGYgZmxhd2VkIOKAlCB0aGF0J3Mgd2h5IHdlIHJlY29tbWVuZFxuICAvLyBgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yYCBpbnN0ZWFkLiBIb3dldmVyLCBpdCBjb3VsZCBiZSBpbXByb3ZlZCBieVxuICAvLyBjaGVja2luZyBpZiByZW1haW5pbmdMYW5lcyBpbmNsdWRlcyBTeW5jIHdvcmssIGluc3RlYWQgb2Ygd2hldGhlciB0aGVyZSdzXG4gIC8vIGFueSB3b3JrIHJlbWFpbmluZyBhdCBhbGwgKHdoaWNoIHdvdWxkIGFsc28gaW5jbHVkZSBzdHVmZiBsaWtlIFN1c3BlbnNlXG4gIC8vIHJldHJpZXMgb3IgdHJhbnNpdGlvbnMpLiBJdCdzIGJlZW4gbGlrZSB0aGlzIGZvciBhIHdoaWxlLCB0aG91Z2gsIHNvIGZpeGluZ1xuICAvLyBpdCBwcm9iYWJseSBpc24ndCB0aGF0IHVyZ2VudC5cblxuICBpZiAocmVtYWluaW5nTGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBJZiB0aGVyZSdzIG5vIHJlbWFpbmluZyB3b3JrLCB3ZSBjYW4gY2xlYXIgdGhlIHNldCBvZiBhbHJlYWR5IGZhaWxlZFxuICAgIC8vIGVycm9yIGJvdW5kYXJpZXMuXG4gICAgbGVnYWN5RXJyb3JCb3VuZGFyaWVzVGhhdEFscmVhZHlGYWlsZWQgPSBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICghcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKHJvb3QsIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBvbkNvbW1pdFJvb3QkMShmaW5pc2hlZFdvcmsuc3RhdGVOb2RlLCByZW5kZXJQcmlvcml0eUxldmVsKTtcblxuICB7XG4gICAgaWYgKGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgICByb290Lm1lbW9pemVkVXBkYXRlcnMuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgb25Db21taXRSb290KCk7XG4gIH0gLy8gQWx3YXlzIGNhbGwgdGhpcyBiZWZvcmUgZXhpdGluZyBgY29tbWl0Um9vdGAsIHRvIGVuc3VyZSB0aGF0IGFueVxuICAvLyBhZGRpdGlvbmFsIHdvcmsgb24gdGhpcyByb290IGlzIHNjaGVkdWxlZC5cblxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcblxuICBpZiAocmVjb3ZlcmFibGVFcnJvcnMgIT09IG51bGwpIHtcbiAgICAvLyBUaGVyZSB3ZXJlIGVycm9ycyBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCByZWNvdmVyZWQgZnJvbSB0aGVtIHdpdGhvdXRcbiAgICAvLyBuZWVkaW5nIHRvIHN1cmZhY2UgaXQgdG8gdGhlIFVJLiBXZSBsb2cgdGhlbSBoZXJlLlxuICAgIHZhciBvblJlY292ZXJhYmxlRXJyb3IgPSByb290Lm9uUmVjb3ZlcmFibGVFcnJvcjtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3ZlcmFibGVFcnJvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciByZWNvdmVyYWJsZUVycm9yID0gcmVjb3ZlcmFibGVFcnJvcnNbaV07XG4gICAgICB2YXIgZXJyb3JJbmZvID0gbWFrZUVycm9ySW5mbyhyZWNvdmVyYWJsZUVycm9yLmRpZ2VzdCwgcmVjb3ZlcmFibGVFcnJvci5zdGFjayk7XG4gICAgICBvblJlY292ZXJhYmxlRXJyb3IocmVjb3ZlcmFibGVFcnJvci52YWx1ZSwgZXJyb3JJbmZvKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFzVW5jYXVnaHRFcnJvcikge1xuICAgIGhhc1VuY2F1Z2h0RXJyb3IgPSBmYWxzZTtcbiAgICB2YXIgZXJyb3IkMSA9IGZpcnN0VW5jYXVnaHRFcnJvcjtcbiAgICBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBudWxsO1xuICAgIHRocm93IGVycm9yJDE7XG4gIH0gLy8gSWYgdGhlIHBhc3NpdmUgZWZmZWN0cyBhcmUgdGhlIHJlc3VsdCBvZiBhIGRpc2NyZXRlIHJlbmRlciwgZmx1c2ggdGhlbVxuICAvLyBzeW5jaHJvbm91c2x5IGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgdGFzayBzbyB0aGF0IHRoZSByZXN1bHQgaXNcbiAgLy8gaW1tZWRpYXRlbHkgb2JzZXJ2YWJsZS4gT3RoZXJ3aXNlLCB3ZSBhc3N1bWUgdGhhdCB0aGV5IGFyZSBub3RcbiAgLy8gb3JkZXItZGVwZW5kZW50IGFuZCBkbyBub3QgbmVlZCB0byBiZSBvYnNlcnZlZCBieSBleHRlcm5hbCBzeXN0ZW1zLCBzbyB3ZVxuICAvLyBjYW4gd2FpdCB1bnRpbCBhZnRlciBwYWludC5cbiAgLy8gVE9ETzogV2UgY2FuIG9wdGltaXplIHRoaXMgYnkgbm90IHNjaGVkdWxpbmcgdGhlIGNhbGxiYWNrIGVhcmxpZXIuIFNpbmNlIHdlXG4gIC8vIGN1cnJlbnRseSBzY2hlZHVsZSB0aGUgY2FsbGJhY2sgaW4gbXVsdGlwbGUgcGxhY2VzLCB3aWxsIHdhaXQgdW50aWwgdGhvc2VcbiAgLy8gYXJlIGNvbnNvbGlkYXRlZC5cblxuXG4gIGlmIChpbmNsdWRlc1N5bmNMYW5lKHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzKSAmJiByb290LnRhZyAhPT0gTGVnYWN5Um9vdCkge1xuICAgIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcbiAgfSAvLyBSZWFkIHRoaXMgYWdhaW4sIHNpbmNlIGEgcGFzc2l2ZSBlZmZlY3QgbWlnaHQgaGF2ZSB1cGRhdGVkIGl0XG5cblxuICByZW1haW5pbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzOyAvLyBDaGVjayBpZiB0aGlzIHJlbmRlciBzY2hlZHVsZWQgYSBjYXNjYWRpbmcgc3luY2hyb25vdXMgdXBkYXRlLiBUaGlzIGlzIGFcbiAgLy8gaGV1cnN0aWMgdG8gZGV0ZWN0IGluZmluaXRlIHVwZGF0ZSBsb29wcy4gV2UgYXJlIGludGVudGlvbmFsbHkgZXhjbHVkaW5nXG4gIC8vIGh5ZHJhdGlvbiBsYW5lcyBpbiB0aGlzIGNoZWNrLCBiZWNhdXNlIHJlbmRlciB0cmlnZ2VyZWQgYnkgc2VsZWN0aXZlXG4gIC8vIGh5ZHJhdGlvbiBpcyBjb25jZXB0dWFsbHkgbm90IGFuIHVwZGF0ZS5cblxuICBpZiAoIC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhIHJlY3Vyc2l2ZSB1cGRhdGUgc3Bhd25lZCBieSB0aGlzIHJlbmRlciwgaW4gZWl0aGVyXG4gIC8vIHRoZSByZW5kZXIgcGhhc2Ugb3IgdGhlIGNvbW1pdCBwaGFzZS4gV2UgdHJhY2sgdGhlc2UgZXhwbGljaXRseSBiZWNhdXNlXG4gIC8vIHdlIGNhbid0IGluZmVyIGZyb20gdGhlIHJlbWFpbmluZyBsYW5lcyBhbG9uZS5cbiAgKGRpZEluY2x1ZGVSZW5kZXJQaGFzZVVwZGF0ZSB8fCBkaWRJbmNsdWRlQ29tbWl0UGhhc2VVcGRhdGUpIHx8IC8vIFdhcyB0aGUgZmluaXNoZWQgcmVuZGVyIHRoZSByZXN1bHQgb2YgYW4gdXBkYXRlIChub3QgaHlkcmF0aW9uKT9cbiAgaW5jbHVkZXNTb21lTGFuZShsYW5lcywgVXBkYXRlTGFuZXMpICYmIC8vIERpZCBpdCBzY2hlZHVsZSBhIHN5bmMgdXBkYXRlP1xuICBpbmNsdWRlc1NvbWVMYW5lKHJlbWFpbmluZ0xhbmVzLCBTeW5jVXBkYXRlTGFuZXMpKSB7XG4gICAge1xuICAgICAgbWFya05lc3RlZFVwZGF0ZVNjaGVkdWxlZCgpO1xuICAgIH0gLy8gQ291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgcm9vdCBzeW5jaHJvbm91c2x5IHJlLXJlbmRlcnMgd2l0aG91dFxuICAgIC8vIGZpbmlzaGluZy4gSWYgdGhlcmUgYXJlIHRvbyBtYW55LCBpdCBpbmRpY2F0ZXMgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AuXG5cblxuICAgIGlmIChyb290ID09PSByb290V2l0aE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50Kys7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgICAgIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IHJvb3Q7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgfSAvLyBJZiBsYXlvdXQgd29yayB3YXMgc2NoZWR1bGVkLCBmbHVzaCBpdCBub3cuXG5cblxuICBmbHVzaFN5bmNXb3JrT25BbGxSb290cygpO1xuXG4gIHtcbiAgICBtYXJrQ29tbWl0U3RvcHBlZCgpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIG1ha2VFcnJvckluZm8oZGlnZXN0LCBjb21wb25lbnRTdGFjaykge1xuICB7XG4gICAgdmFyIGVycm9ySW5mbyA9IHtcbiAgICAgIGNvbXBvbmVudFN0YWNrOiBjb21wb25lbnRTdGFjayxcbiAgICAgIGRpZ2VzdDogZGlnZXN0XG4gICAgfTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXJyb3JJbmZvLCAnZGlnZXN0Jywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZXJyb3IoJ1lvdSBhcmUgYWNjZXNzaW5nIFwiZGlnZXN0XCIgZnJvbSB0aGUgZXJyb3JJbmZvIG9iamVjdCBwYXNzZWQgdG8gb25SZWNvdmVyYWJsZUVycm9yLicgKyAnIFRoaXMgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgUmVhY3QuJyArICcgVG8gYWNjZXNzIHRoZSBkaWdlc3Qgb2YgYW4gRXJyb3IgbG9vayBmb3IgdGhpcyBwcm9wZXJ0eSBvbiB0aGUgRXJyb3IgaW5zdGFuY2UgaXRzZWxmLicpO1xuXG4gICAgICAgIHJldHVybiBkaWdlc3Q7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGVycm9ySW5mbztcbiAgfVxufVxuXG5mdW5jdGlvbiByZWxlYXNlUm9vdFBvb2xlZENhY2hlKHJvb3QsIHJlbWFpbmluZ0xhbmVzKSB7XG4gIHtcbiAgICB2YXIgcG9vbGVkQ2FjaGVMYW5lcyA9IHJvb3QucG9vbGVkQ2FjaGVMYW5lcyAmPSByZW1haW5pbmdMYW5lcztcblxuICAgIGlmIChwb29sZWRDYWNoZUxhbmVzID09PSBOb0xhbmVzKSB7XG4gICAgICAvLyBOb25lIG9mIHRoZSByZW1haW5pbmcgd29yayByZWxpZXMgb24gdGhlIGNhY2hlIHBvb2wuIENsZWFyIGl0IHNvXG4gICAgICAvLyBzdWJzZXF1ZW50IHJlcXVlc3RzIGdldCBhIG5ldyBjYWNoZVxuICAgICAgdmFyIHBvb2xlZENhY2hlID0gcm9vdC5wb29sZWRDYWNoZTtcblxuICAgICAgaWYgKHBvb2xlZENhY2hlICE9IG51bGwpIHtcbiAgICAgICAgcm9vdC5wb29sZWRDYWNoZSA9IG51bGw7XG4gICAgICAgIHJlbGVhc2VDYWNoZShwb29sZWRDYWNoZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKSB7XG4gIC8vIFJldHVybnMgd2hldGhlciBwYXNzaXZlIGVmZmVjdHMgd2VyZSBmbHVzaGVkLlxuICAvLyBUT0RPOiBDb21iaW5lIHRoaXMgY2hlY2sgd2l0aCB0aGUgb25lIGluIGZsdXNoUGFzc2l2ZUVGZmVjdHNJbXBsLiBXZSBzaG91bGRcbiAgLy8gcHJvYmFibHkganVzdCBjb21iaW5lIHRoZSB0d28gZnVuY3Rpb25zLiBJIGJlbGlldmUgdGhleSB3ZXJlIG9ubHkgc2VwYXJhdGVcbiAgLy8gaW4gdGhlIGZpcnN0IHBsYWNlIGJlY2F1c2Ugd2UgdXNlZCB0byB3cmFwIGl0IHdpdGhcbiAgLy8gYFNjaGVkdWxlci5ydW5XaXRoUHJpb3JpdHlgLCB3aGljaCBhY2NlcHRzIGEgZnVuY3Rpb24uIEJ1dCBub3cgd2UgdHJhY2sgdGhlXG4gIC8vIHByaW9yaXR5IHdpdGhpbiBSZWFjdCBpdHNlbGYsIHNvIHdlIGNhbiBtdXRhdGUgdGhlIHZhcmlhYmxlIGRpcmVjdGx5LlxuICBpZiAocm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgIT09IG51bGwpIHtcbiAgICAvLyBDYWNoZSB0aGUgcm9vdCBzaW5jZSByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyBpcyBjbGVhcmVkIGluXG4gICAgLy8gZmx1c2hQYXNzaXZlRWZmZWN0c0ltcGxcbiAgICB2YXIgcm9vdCA9IHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzOyAvLyBDYWNoZSBhbmQgY2xlYXIgdGhlIHJlbWFpbmluZyBsYW5lcyBmbGFnOyBpdCBtdXN0IGJlIHJlc2V0IHNpbmNlIHRoaXNcbiAgICAvLyBtZXRob2QgY2FuIGJlIGNhbGxlZCBmcm9tIHZhcmlvdXMgcGxhY2VzLCBub3QgYWx3YXlzIGZyb20gY29tbWl0Um9vdFxuICAgIC8vIHdoZXJlIHRoZSByZW1haW5pbmcgbGFuZXMgYXJlIGtub3duXG5cbiAgICB2YXIgcmVtYWluaW5nTGFuZXMgPSBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNSZW1haW5pbmdMYW5lcztcbiAgICBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNSZW1haW5pbmdMYW5lcyA9IE5vTGFuZXM7XG4gICAgdmFyIHJlbmRlclByaW9yaXR5ID0gbGFuZXNUb0V2ZW50UHJpb3JpdHkocGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMpO1xuICAgIHZhciBwcmlvcml0eSA9IGxvd2VyRXZlbnRQcmlvcml0eShEZWZhdWx0RXZlbnRQcmlvcml0eSwgcmVuZGVyUHJpb3JpdHkpO1xuICAgIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEudHJhbnNpdGlvbjtcbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEudHJhbnNpdGlvbiA9IG51bGw7XG4gICAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJpb3JpdHkpO1xuICAgICAgcmV0dXJuIGZsdXNoUGFzc2l2ZUVmZmVjdHNJbXBsKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uOyAvLyBPbmNlIHBhc3NpdmUgZWZmZWN0cyBoYXZlIHJ1biBmb3IgdGhlIHRyZWUgLSBnaXZpbmcgY29tcG9uZW50cyBhXG4gICAgICAvLyBjaGFuY2UgdG8gcmV0YWluIGNhY2hlIGluc3RhbmNlcyB0aGV5IHVzZSAtIHJlbGVhc2UgdGhlIHBvb2xlZFxuICAgICAgLy8gY2FjaGUgYXQgdGhlIHJvb3QgKGlmIHRoZXJlIGlzIG9uZSlcblxuICAgICAgcmVsZWFzZVJvb3RQb29sZWRDYWNoZShyb290LCByZW1haW5pbmdMYW5lcyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZW5xdWV1ZVBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3QoZmliZXIpIHtcbiAge1xuICAgIHBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3RzLnB1c2goZmliZXIpO1xuXG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgc2NoZWR1bGVDYWxsYmFjayhOb3JtYWxQcmlvcml0eSQxLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hQYXNzaXZlRWZmZWN0c0ltcGwoKSB7XG4gIGlmIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBDYWNoZSBhbmQgY2xlYXIgdGhlIHRyYW5zaXRpb25zIGZsYWdcblxuXG4gIHZhciB0cmFuc2l0aW9ucyA9IHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnM7XG4gIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsO1xuICB2YXIgcm9vdCA9IHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzO1xuICB2YXIgbGFuZXMgPSBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNMYW5lcztcbiAgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsOyAvLyBUT0RPOiBUaGlzIGlzIHNvbWV0aW1lcyBvdXQgb2Ygc3luYyB3aXRoIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLlxuICAvLyBGaWd1cmUgb3V0IHdoeSBhbmQgZml4IGl0LiBJdCdzIG5vdCBjYXVzaW5nIGFueSBrbm93biBpc3N1ZXMgKHByb2JhYmx5XG4gIC8vIGJlY2F1c2UgaXQncyBvbmx5IHVzZWQgZm9yIHByb2ZpbGluZyksIGJ1dCBpdCdzIGEgcmVmYWN0b3IgaGF6YXJkLlxuXG4gIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzID0gTm9MYW5lcztcblxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSAhPT0gTm9Db250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZmx1c2ggcGFzc2l2ZSBlZmZlY3RzIHdoaWxlIGFscmVhZHkgcmVuZGVyaW5nLicpO1xuICB9XG5cbiAge1xuICAgIGlzRmx1c2hpbmdQYXNzaXZlRWZmZWN0cyA9IHRydWU7XG4gICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xuICB9XG5cbiAge1xuICAgIG1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0O1xuICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHMocm9vdC5jdXJyZW50KTtcbiAgY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0cyhyb290LCByb290LmN1cnJlbnQsIGxhbmVzLCB0cmFuc2l0aW9ucyk7IC8vIFRPRE86IE1vdmUgdG8gY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0c1xuXG4gIHtcbiAgICB2YXIgcHJvZmlsZXJFZmZlY3RzID0gcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHM7XG4gICAgcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHMgPSBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZmlsZXJFZmZlY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZmliZXIgPSBwcm9maWxlckVmZmVjdHNbaV07XG4gICAgICBjb21taXRQYXNzaXZlRWZmZWN0RHVyYXRpb25zKHJvb3QsIGZpYmVyKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgbWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpO1xuICB9XG5cbiAge1xuICAgIGNvbW1pdERvdWJsZUludm9rZUVmZmVjdHNJbkRFVihyb290LCB0cnVlKTtcbiAgfVxuXG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcbiAgZmx1c2hTeW5jV29ya09uQWxsUm9vdHMoKTtcblxuICB7XG4gICAgLy8gSWYgYWRkaXRpb25hbCBwYXNzaXZlIGVmZmVjdHMgd2VyZSBzY2hlZHVsZWQsIGluY3JlbWVudCBhIGNvdW50ZXIuIElmIHRoaXNcbiAgICAvLyBleGNlZWRzIHRoZSBsaW1pdCwgd2UnbGwgZmlyZSBhIHdhcm5pbmcuXG4gICAgaWYgKGRpZFNjaGVkdWxlVXBkYXRlRHVyaW5nUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICAgIGlmIChyb290ID09PSByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzKSB7XG4gICAgICAgIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCsrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID0gMDtcbiAgICAgICAgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IHJvb3Q7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG4gICAgfVxuXG4gICAgaXNGbHVzaGluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG4gICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xuICB9IC8vIFRPRE86IE1vdmUgdG8gY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0c1xuXG5cbiAgb25Qb3N0Q29tbWl0Um9vdChyb290KTtcblxuICB7XG4gICAgdmFyIHN0YXRlTm9kZSA9IHJvb3QuY3VycmVudC5zdGF0ZU5vZGU7XG4gICAgc3RhdGVOb2RlLmVmZmVjdER1cmF0aW9uID0gMDtcbiAgICBzdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gMDtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBpc0FscmVhZHlGYWlsZWRMZWdhY3lFcnJvckJvdW5kYXJ5KGluc3RhbmNlKSB7XG4gIHJldHVybiBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCAhPT0gbnVsbCAmJiBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZC5oYXMoaW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gbWFya0xlZ2FjeUVycm9yQm91bmRhcnlBc0ZhaWxlZChpbnN0YW5jZSkge1xuICBpZiAobGVnYWN5RXJyb3JCb3VuZGFyaWVzVGhhdEFscmVhZHlGYWlsZWQgPT09IG51bGwpIHtcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG5ldyBTZXQoW2luc3RhbmNlXSk7XG4gIH0gZWxzZSB7XG4gICAgbGVnYWN5RXJyb3JCb3VuZGFyaWVzVGhhdEFscmVhZHlGYWlsZWQuYWRkKGluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9UaHJvd1VuY2F1Z2h0RXJyb3IoZXJyb3IpIHtcbiAgaWYgKCFoYXNVbmNhdWdodEVycm9yKSB7XG4gICAgaGFzVW5jYXVnaHRFcnJvciA9IHRydWU7XG4gICAgZmlyc3RVbmNhdWdodEVycm9yID0gZXJyb3I7XG4gIH1cbn1cblxudmFyIG9uVW5jYXVnaHRFcnJvciA9IHByZXBhcmVUb1Rocm93VW5jYXVnaHRFcnJvcjtcblxuZnVuY3Rpb24gY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3Qocm9vdEZpYmVyLCBzb3VyY2VGaWJlciwgZXJyb3IpIHtcbiAgdmFyIGVycm9ySW5mbyA9IGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKGVycm9yLCBzb3VyY2VGaWJlcik7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVSb290RXJyb3JVcGRhdGUocm9vdEZpYmVyLCBlcnJvckluZm8sIFN5bmNMYW5lKTtcbiAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKHJvb3RGaWJlciwgdXBkYXRlLCBTeW5jTGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBtYXJrUm9vdFVwZGF0ZWQocm9vdCwgU3luY0xhbmUpO1xuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihzb3VyY2VGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IkMSkge1xuICB7XG4gICAgcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yJDEpO1xuICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gIH1cblxuICBpZiAoc291cmNlRmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIEVycm9yIHdhcyB0aHJvd24gYXQgdGhlIHJvb3QuIFRoZXJlIGlzIG5vIHBhcmVudCwgc28gdGhlIHJvb3RcbiAgICAvLyBpdHNlbGYgc2hvdWxkIGNhcHR1cmUgaXQuXG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3Qoc291cmNlRmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvciQxKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZmliZXIgPSBuZWFyZXN0TW91bnRlZEFuY2VzdG9yO1xuXG4gIHdoaWxlIChmaWJlciAhPT0gbnVsbCkge1xuICAgIGlmIChmaWJlci50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvck9uUm9vdChmaWJlciwgc291cmNlRmliZXIsIGVycm9yJDEpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoZmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgICAgdmFyIGN0b3IgPSBmaWJlci50eXBlO1xuICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRDYXRjaCA9PT0gJ2Z1bmN0aW9uJyAmJiAhaXNBbHJlYWR5RmFpbGVkTGVnYWN5RXJyb3JCb3VuZGFyeShpbnN0YW5jZSkpIHtcbiAgICAgICAgdmFyIGVycm9ySW5mbyA9IGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKGVycm9yJDEsIHNvdXJjZUZpYmVyKTtcbiAgICAgICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgU3luY0xhbmUpO1xuICAgICAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgU3luY0xhbmUpO1xuXG4gICAgICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICAgICAgbWFya1Jvb3RVcGRhdGVkKHJvb3QsIFN5bmNMYW5lKTtcbiAgICAgICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmliZXIgPSBmaWJlci5yZXR1cm47XG4gIH1cblxuICB7XG4gICAgZXJyb3IoJ0ludGVybmFsIFJlYWN0IGVycm9yOiBBdHRlbXB0ZWQgdG8gY2FwdHVyZSBhIGNvbW1pdCBwaGFzZSBlcnJvciAnICsgJ2luc2lkZSBhIGRldGFjaGVkIHRyZWUuIFRoaXMgaW5kaWNhdGVzIGEgYnVnIGluIFJlYWN0LiBQb3RlbnRpYWwgJyArICdjYXVzZXMgaW5jbHVkZSBkZWxldGluZyB0aGUgc2FtZSBmaWJlciBtb3JlIHRoYW4gb25jZSwgY29tbWl0dGluZyBhbiAnICsgJ2FscmVhZHktZmluaXNoZWQgdHJlZSwgb3IgYW4gaW5jb25zaXN0ZW50IHJldHVybiBwb2ludGVyLlxcblxcbicgKyAnRXJyb3IgbWVzc2FnZTpcXG5cXG4lcycsIGVycm9yJDEpO1xuICB9XG59XG5mdW5jdGlvbiBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgd2FrZWFibGUsIGxhbmVzKSB7XG4gIC8vIEF0dGFjaCBhIHBpbmcgbGlzdGVuZXJcbiAgLy9cbiAgLy8gVGhlIGRhdGEgbWlnaHQgcmVzb2x2ZSBiZWZvcmUgd2UgaGF2ZSBhIGNoYW5jZSB0byBjb21taXQgdGhlIGZhbGxiYWNrLiBPcixcbiAgLy8gaW4gdGhlIGNhc2Ugb2YgYSByZWZyZXNoLCB3ZSdsbCBuZXZlciBjb21taXQgYSBmYWxsYmFjay4gU28gd2UgbmVlZCB0b1xuICAvLyBhdHRhY2ggYSBsaXN0ZW5lciBub3cuIFdoZW4gaXQgcmVzb2x2ZXMgKFwicGluZ3NcIiksIHdlIGNhbiBkZWNpZGUgd2hldGhlciB0b1xuICAvLyB0cnkgcmVuZGVyaW5nIHRoZSB0cmVlIGFnYWluLlxuICAvL1xuICAvLyBPbmx5IGF0dGFjaCBhIGxpc3RlbmVyIGlmIG9uZSBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0IGZvciB0aGUgbGFuZXNcbiAgLy8gd2UncmUgY3VycmVudGx5IHJlbmRlcmluZyAod2hpY2ggYWN0cyBsaWtlIGEgXCJ0aHJlYWQgSURcIiBoZXJlKS5cbiAgLy9cbiAgLy8gV2Ugb25seSBuZWVkIHRvIGRvIHRoaXMgaW4gY29uY3VycmVudCBtb2RlLiBMZWdhY3kgU3VzcGVuc2UgYWx3YXlzXG4gIC8vIGNvbW1pdHMgZmFsbGJhY2tzIHN5bmNocm9ub3VzbHksIHNvIHRoZXJlIGFyZSBubyBwaW5ncy5cbiAgdmFyIHBpbmdDYWNoZSA9IHJvb3QucGluZ0NhY2hlO1xuICB2YXIgdGhyZWFkSURzO1xuXG4gIGlmIChwaW5nQ2FjaGUgPT09IG51bGwpIHtcbiAgICBwaW5nQ2FjaGUgPSByb290LnBpbmdDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbiAgICB0aHJlYWRJRHMgPSBuZXcgU2V0KCk7XG4gICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJlYWRJRHMgPSBwaW5nQ2FjaGUuZ2V0KHdha2VhYmxlKTtcblxuICAgIGlmICh0aHJlYWRJRHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyZWFkSURzID0gbmV3IFNldCgpO1xuICAgICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIXRocmVhZElEcy5oYXMobGFuZXMpKSB7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290RGlkQXR0YWNoUGluZ0xpc3RlbmVyID0gdHJ1ZTsgLy8gTWVtb2l6ZSB1c2luZyB0aGUgdGhyZWFkIElEIHRvIHByZXZlbnQgcmVkdW5kYW50IGxpc3RlbmVycy5cblxuICAgIHRocmVhZElEcy5hZGQobGFuZXMpO1xuICAgIHZhciBwaW5nID0gcGluZ1N1c3BlbmRlZFJvb3QuYmluZChudWxsLCByb290LCB3YWtlYWJsZSwgbGFuZXMpO1xuXG4gICAge1xuICAgICAgaWYgKGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgICAgIC8vIElmIHdlIGhhdmUgcGVuZGluZyB3b3JrIHN0aWxsLCByZXN0b3JlIHRoZSBvcmlnaW5hbCB1cGRhdGVyc1xuICAgICAgICByZXN0b3JlUGVuZGluZ1VwZGF0ZXJzKHJvb3QsIGxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3YWtlYWJsZS50aGVuKHBpbmcsIHBpbmcpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBpbmdTdXNwZW5kZWRSb290KHJvb3QsIHdha2VhYmxlLCBwaW5nZWRMYW5lcykge1xuICB2YXIgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGU7XG5cbiAgaWYgKHBpbmdDYWNoZSAhPT0gbnVsbCkge1xuICAgIC8vIFRoZSB3YWtlYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXG4gICAgLy8gbmV2ZXIgYmUgdGhyb3duIGFnYWluLlxuICAgIHBpbmdDYWNoZS5kZWxldGUod2FrZWFibGUpO1xuICB9XG5cbiAgbWFya1Jvb3RQaW5nZWQocm9vdCwgcGluZ2VkTGFuZXMpO1xuICB3YXJuSWZTdXNwZW5zZVJlc29sdXRpb25Ob3RXcmFwcGVkV2l0aEFjdERFVihyb290KTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290ICYmIGlzU3Vic2V0T2ZMYW5lcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcywgcGluZ2VkTGFuZXMpKSB7XG4gICAgLy8gUmVjZWl2ZWQgYSBwaW5nIGF0IHRoZSBzYW1lIHByaW9yaXR5IGxldmVsIGF0IHdoaWNoIHdlJ3JlIGN1cnJlbnRseVxuICAgIC8vIHJlbmRlcmluZy4gV2UgbWlnaHQgd2FudCB0byByZXN0YXJ0IHRoaXMgcmVuZGVyLiBUaGlzIHNob3VsZCBtaXJyb3JcbiAgICAvLyB0aGUgbG9naWMgb2Ygd2hldGhlciBvciBub3QgYSByb290IHN1c3BlbmRzIG9uY2UgaXQgY29tcGxldGVzLlxuICAgIC8vIFRPRE86IElmIHdlJ3JlIHJlbmRlcmluZyBzeW5jIGVpdGhlciBkdWUgdG8gU3luYywgQmF0Y2hlZCBvciBleHBpcmVkLFxuICAgIC8vIHdlIHNob3VsZCBwcm9iYWJseSBuZXZlciByZXN0YXJ0LlxuICAgIC8vIElmIHdlJ3JlIHN1c3BlbmRlZCB3aXRoIGRlbGF5LCBvciBpZiBpdCdzIGEgcmV0cnksIHdlJ2xsIGFsd2F5cyBzdXNwZW5kXG4gICAgLy8gc28gd2UgY2FuIGFsd2F5cyByZXN0YXJ0LlxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkV2l0aERlbGF5IHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQgJiYgaW5jbHVkZXNPbmx5UmV0cmllcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcykgJiYgbm93JDEoKSAtIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUgPCBGQUxMQkFDS19USFJPVFRMRV9NUykge1xuICAgICAgLy8gRm9yY2UgYSByZXN0YXJ0IGZyb20gdGhlIHJvb3QgYnkgdW53aW5kaW5nIHRoZSBzdGFjay4gVW5sZXNzIHRoaXMgaXNcbiAgICAgIC8vIGJlaW5nIGNhbGxlZCBmcm9tIHRoZSByZW5kZXIgcGhhc2UsIGJlY2F1c2UgdGhhdCB3b3VsZCBjYXVzZSBhIGNyYXNoLlxuICAgICAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgUmVuZGVyQ29udGV4dCkgPT09IE5vQ29udGV4dCkge1xuICAgICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRXZlbiB0aG91Z2ggd2UgY2FuJ3QgcmVzdGFydCByaWdodCBub3csIHdlIG1pZ2h0IGdldCBhblxuICAgICAgLy8gb3Bwb3J0dW5pdHkgbGF0ZXIuIFNvIHdlIG1hcmsgdGhpcyByZW5kZXIgYXMgaGF2aW5nIGEgcGluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzID0gbWVyZ2VMYW5lcyh3b3JrSW5Qcm9ncmVzc1Jvb3RQaW5nZWRMYW5lcywgcGluZ2VkTGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcbn1cblxuZnVuY3Rpb24gcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSkge1xuICAvLyBUaGUgYm91bmRhcnkgZmliZXIgKGEgU3VzcGVuc2UgY29tcG9uZW50IG9yIFN1c3BlbnNlTGlzdCBjb21wb25lbnQpXG4gIC8vIHByZXZpb3VzbHkgd2FzIHJlbmRlcmVkIGluIGl0cyBmYWxsYmFjayBzdGF0ZS4gT25lIG9mIHRoZSBwcm9taXNlcyB0aGF0XG4gIC8vIHN1c3BlbmRlZCBpdCBoYXMgcmVzb2x2ZWQsIHdoaWNoIG1lYW5zIGF0IGxlYXN0IHBhcnQgb2YgdGhlIHRyZWUgd2FzXG4gIC8vIGxpa2VseSB1bmJsb2NrZWQuIFRyeSByZW5kZXJpbmcgYWdhaW4sIGF0IGEgbmV3IGxhbmVzLlxuICBpZiAocmV0cnlMYW5lID09PSBOb0xhbmUpIHtcbiAgICAvLyBUT0RPOiBBc3NpZ24gdGhpcyB0byBgc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmVgPyB0byBhdm9pZFxuICAgIC8vIHVubmVjZXNzYXJ5IGVudGFuZ2xlbWVudD9cbiAgICByZXRyeUxhbmUgPSByZXF1ZXN0UmV0cnlMYW5lKGJvdW5kYXJ5RmliZXIpO1xuICB9IC8vIFRPRE86IFNwZWNpYWwgY2FzZSBpZGxlIHByaW9yaXR5P1xuXG5cbiAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoYm91bmRhcnlGaWJlciwgcmV0cnlMYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIG1hcmtSb290VXBkYXRlZChyb290LCByZXRyeUxhbmUpO1xuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXRyeURlaHlkcmF0ZWRTdXNwZW5zZUJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIpIHtcbiAgdmFyIHN1c3BlbnNlU3RhdGUgPSBib3VuZGFyeUZpYmVyLm1lbW9pemVkU3RhdGU7XG4gIHZhciByZXRyeUxhbmUgPSBOb0xhbmU7XG5cbiAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwpIHtcbiAgICByZXRyeUxhbmUgPSBzdXNwZW5zZVN0YXRlLnJldHJ5TGFuZTtcbiAgfVxuXG4gIHJldHJ5VGltZWRPdXRCb3VuZGFyeShib3VuZGFyeUZpYmVyLCByZXRyeUxhbmUpO1xufVxuZnVuY3Rpb24gcmVzb2x2ZVJldHJ5V2FrZWFibGUoYm91bmRhcnlGaWJlciwgd2FrZWFibGUpIHtcbiAgdmFyIHJldHJ5TGFuZSA9IE5vTGFuZTsgLy8gRGVmYXVsdFxuXG4gIHZhciByZXRyeUNhY2hlO1xuXG4gIHN3aXRjaCAoYm91bmRhcnlGaWJlci50YWcpIHtcbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0cnlDYWNoZSA9IGJvdW5kYXJ5RmliZXIuc3RhdGVOb2RlO1xuICAgICAgdmFyIHN1c3BlbnNlU3RhdGUgPSBib3VuZGFyeUZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgIGlmIChzdXNwZW5zZVN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHJldHJ5TGFuZSA9IHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgcmV0cnlDYWNoZSA9IGJvdW5kYXJ5RmliZXIuc3RhdGVOb2RlO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gYm91bmRhcnlGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgIHJldHJ5Q2FjaGUgPSBpbnN0YW5jZS5fcmV0cnlDYWNoZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQaW5nZWQgdW5rbm93biBzdXNwZW5zZSBib3VuZGFyeSB0eXBlLiAnICsgJ1RoaXMgaXMgcHJvYmFibHkgYSBidWcgaW4gUmVhY3QuJyk7XG4gIH1cblxuICBpZiAocmV0cnlDYWNoZSAhPT0gbnVsbCkge1xuICAgIC8vIFRoZSB3YWtlYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXG4gICAgLy8gbmV2ZXIgYmUgdGhyb3duIGFnYWluLlxuICAgIHJldHJ5Q2FjaGUuZGVsZXRlKHdha2VhYmxlKTtcbiAgfVxuXG4gIHJldHJ5VGltZWRPdXRCb3VuZGFyeShib3VuZGFyeUZpYmVyLCByZXRyeUxhbmUpO1xufVxuZnVuY3Rpb24gdGhyb3dJZkluZmluaXRlVXBkYXRlTG9vcERldGVjdGVkKCkge1xuICBpZiAobmVzdGVkVXBkYXRlQ291bnQgPiBORVNURURfVVBEQVRFX0xJTUlUKSB7XG4gICAgbmVzdGVkVXBkYXRlQ291bnQgPSAwO1xuICAgIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG4gICAgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbiAgICByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzID0gbnVsbDtcblxuICAgIHtcbiAgICAgIGlmIChleGVjdXRpb25Db250ZXh0ICYgUmVuZGVyQ29udGV4dCAmJiB3b3JrSW5Qcm9ncmVzc1Jvb3QgIT09IG51bGwpIHtcbiAgICAgICAgLy8gV2UncmUgaW4gdGhlIHJlbmRlciBwaGFzZS4gRGlzYWJsZSB0aGUgY29uY3VycmVudCBlcnJvciByZWNvdmVyeVxuICAgICAgICAvLyBtZWNoYW5pc20gdG8gZW5zdXJlIHRoYXQgdGhlIGVycm9yIHdlJ3JlIGFib3V0IHRvIHRocm93IGdldHMgaGFuZGxlZC5cbiAgICAgICAgLy8gV2UgbmVlZCBpdCB0byB0cmlnZ2VyIHRoZSBuZWFyZXN0IGVycm9yIGJvdW5kYXJ5IHNvIHRoYXQgdGhlIGluZmluaXRlXG4gICAgICAgIC8vIHVwZGF0ZSBsb29wIGlzIGJyb2tlbi5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290LmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzID0gbWVyZ2VMYW5lcyh3b3JrSW5Qcm9ncmVzc1Jvb3QuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXMsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gdXBkYXRlIGRlcHRoIGV4Y2VlZGVkLiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBhIGNvbXBvbmVudCAnICsgJ3JlcGVhdGVkbHkgY2FsbHMgc2V0U3RhdGUgaW5zaWRlIGNvbXBvbmVudFdpbGxVcGRhdGUgb3IgJyArICdjb21wb25lbnREaWRVcGRhdGUuIFJlYWN0IGxpbWl0cyB0aGUgbnVtYmVyIG9mIG5lc3RlZCB1cGRhdGVzIHRvICcgKyAncHJldmVudCBpbmZpbml0ZSBsb29wcy4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAobmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID4gTkVTVEVEX1BBU1NJVkVfVVBEQVRFX0xJTUlUKSB7XG4gICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7XG5cbiAgICAgIGVycm9yKCdNYXhpbXVtIHVwZGF0ZSBkZXB0aCBleGNlZWRlZC4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gYSBjb21wb25lbnQgJyArIFwiY2FsbHMgc2V0U3RhdGUgaW5zaWRlIHVzZUVmZmVjdCwgYnV0IHVzZUVmZmVjdCBlaXRoZXIgZG9lc24ndCBcIiArICdoYXZlIGEgZGVwZW5kZW5jeSBhcnJheSwgb3Igb25lIG9mIHRoZSBkZXBlbmRlbmNpZXMgY2hhbmdlcyBvbiAnICsgJ2V2ZXJ5IHJlbmRlci4nKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCkge1xuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hMZWdhY3lDb250ZXh0V2FybmluZygpO1xuICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoUGVuZGluZ1Vuc2FmZUxpZmVjeWNsZVdhcm5pbmdzKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKHJvb3QsIGhhc1Bhc3NpdmVFZmZlY3RzKSB7XG4gIHtcbiAgICB7XG4gICAgICBsZWdhY3lDb21taXREb3VibGVJbnZva2VFZmZlY3RzSW5ERVYocm9vdC5jdXJyZW50LCBoYXNQYXNzaXZlRWZmZWN0cyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGxlZ2FjeUNvbW1pdERvdWJsZUludm9rZUVmZmVjdHNJbkRFVihmaWJlciwgaGFzUGFzc2l2ZUVmZmVjdHMpIHtcbiAgLy8gVE9ETyAoU3RyaWN0RWZmZWN0cykgU2hvdWxkIHdlIHNldCBhIG1hcmtlciBvbiB0aGUgcm9vdCBpZiBpdCBjb250YWlucyBzdHJpY3QgZWZmZWN0c1xuICAvLyBzbyB3ZSBkb24ndCB0cmF2ZXJzZSB1bm5lY2Vzc2FyaWx5PyBzaW1pbGFyIHRvIHN1YnRyZWVGbGFncyBidXQganVzdCBhdCB0aGUgcm9vdCBsZXZlbC5cbiAgLy8gTWF5YmUgbm90IGEgYmlnIGRlYWwgc2luY2UgdGhpcyBpcyBERVYgb25seSBiZWhhdmlvci5cbiAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgaW52b2tlRWZmZWN0c0luRGV2KGZpYmVyLCBNb3VudExheW91dERldiwgaW52b2tlTGF5b3V0RWZmZWN0VW5tb3VudEluREVWKTtcblxuICBpZiAoaGFzUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50UGFzc2l2ZURldiwgaW52b2tlUGFzc2l2ZUVmZmVjdFVubW91bnRJbkRFVik7XG4gIH1cblxuICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50TGF5b3V0RGV2LCBpbnZva2VMYXlvdXRFZmZlY3RNb3VudEluREVWKTtcblxuICBpZiAoaGFzUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50UGFzc2l2ZURldiwgaW52b2tlUGFzc2l2ZUVmZmVjdE1vdW50SW5ERVYpO1xuICB9XG5cbiAgcmVzZXRDdXJyZW50RmliZXIoKTtcbn1cblxuZnVuY3Rpb24gaW52b2tlRWZmZWN0c0luRGV2KGZpcnN0Q2hpbGQsIGZpYmVyRmxhZ3MsIGludm9rZUVmZmVjdEZuKSB7XG4gIHZhciBjdXJyZW50ID0gZmlyc3RDaGlsZDtcbiAgdmFyIHN1YnRyZWVSb290ID0gbnVsbDtcblxuICB3aGlsZSAoY3VycmVudCAhPSBudWxsKSB7XG4gICAgdmFyIHByaW1hcnlTdWJ0cmVlRmxhZyA9IGN1cnJlbnQuc3VidHJlZUZsYWdzICYgZmliZXJGbGFncztcblxuICAgIGlmIChjdXJyZW50ICE9PSBzdWJ0cmVlUm9vdCAmJiBjdXJyZW50LmNoaWxkICE9IG51bGwgJiYgcHJpbWFyeVN1YnRyZWVGbGFnICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50LmNoaWxkO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoKGN1cnJlbnQuZmxhZ3MgJiBmaWJlckZsYWdzKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgIGludm9rZUVmZmVjdEZuKGN1cnJlbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY3VycmVudC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50LnNpYmxpbmc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJyZW50ID0gc3VidHJlZVJvb3QgPSBjdXJyZW50LnJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQgPSBudWxsO1xuZnVuY3Rpb24gd2FybkFib3V0VXBkYXRlT25Ob3RZZXRNb3VudGVkRmliZXJJbkRFVihmaWJlcikge1xuICB7XG4gICAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgUmVuZGVyQ29udGV4dCkgIT09IE5vQ29udGV4dCkge1xuICAgICAgLy8gV2UgbGV0IHRoZSBvdGhlciB3YXJuaW5nIGFib3V0IHJlbmRlciBwaGFzZSB1cGRhdGVzIGRlYWwgd2l0aCB0aGlzIG9uZS5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIShmaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHRhZyA9IGZpYmVyLnRhZztcblxuICAgIGlmICh0YWcgIT09IEluZGV0ZXJtaW5hdGVDb21wb25lbnQgJiYgdGFnICE9PSBIb3N0Um9vdCAmJiB0YWcgIT09IENsYXNzQ29tcG9uZW50ICYmIHRhZyAhPT0gRnVuY3Rpb25Db21wb25lbnQgJiYgdGFnICE9PSBGb3J3YXJkUmVmICYmIHRhZyAhPT0gTWVtb0NvbXBvbmVudCAmJiB0YWcgIT09IFNpbXBsZU1lbW9Db21wb25lbnQpIHtcbiAgICAgIC8vIE9ubHkgd2FybiBmb3IgdXNlci1kZWZpbmVkIGNvbXBvbmVudHMsIG5vdCBpbnRlcm5hbCBvbmVzIGxpa2UgU3VzcGVuc2UuXG4gICAgICByZXR1cm47XG4gICAgfSAvLyBXZSBzaG93IHRoZSB3aG9sZSBzdGFjayBidXQgZGVkdXBlIG9uIHRoZSB0b3AgY29tcG9uZW50J3MgbmFtZSBiZWNhdXNlXG4gICAgLy8gdGhlIHByb2JsZW1hdGljIGNvZGUgYWxtb3N0IGFsd2F5cyBsaWVzIGluc2lkZSB0aGF0IGNvbXBvbmVudC5cblxuXG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnUmVhY3RDb21wb25lbnQnO1xuXG4gICAgaWYgKGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQgIT09IG51bGwpIHtcbiAgICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JOb3RZZXRNb3VudGVkQ29tcG9uZW50Lmhhcyhjb21wb25lbnROYW1lKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuXG5cbiAgICAgIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQuYWRkKGNvbXBvbmVudE5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaWRXYXJuU3RhdGVVcGRhdGVGb3JOb3RZZXRNb3VudGVkQ29tcG9uZW50ID0gbmV3IFNldChbY29tcG9uZW50TmFtZV0pO1xuICAgIH1cblxuICAgIHZhciBwcmV2aW91c0ZpYmVyID0gY3VycmVudDtcblxuICAgIHRyeSB7XG4gICAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuXG4gICAgICBlcnJvcihcIkNhbid0IHBlcmZvcm0gYSBSZWFjdCBzdGF0ZSB1cGRhdGUgb24gYSBjb21wb25lbnQgdGhhdCBoYXNuJ3QgbW91bnRlZCB5ZXQuIFwiICsgJ1RoaXMgaW5kaWNhdGVzIHRoYXQgeW91IGhhdmUgYSBzaWRlLWVmZmVjdCBpbiB5b3VyIHJlbmRlciBmdW5jdGlvbiB0aGF0ICcgKyAnYXN5bmNocm9ub3VzbHkgbGF0ZXIgY2FsbHMgdHJpZXMgdG8gdXBkYXRlIHRoZSBjb21wb25lbnQuIE1vdmUgdGhpcyB3b3JrIHRvICcgKyAndXNlRWZmZWN0IGluc3RlYWQuJyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChwcmV2aW91c0ZpYmVyKSB7XG4gICAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxudmFyIGJlZ2luV29yaztcblxue1xuICB2YXIgZHVtbXlGaWJlciA9IG51bGw7XG5cbiAgYmVnaW5Xb3JrID0gZnVuY3Rpb24gKGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKSB7XG4gICAgLy8gSWYgYSBjb21wb25lbnQgdGhyb3dzIGFuIGVycm9yLCB3ZSByZXBsYXkgaXQgYWdhaW4gaW4gYSBzeW5jaHJvbm91c2x5XG4gICAgLy8gZGlzcGF0Y2hlZCBldmVudCwgc28gdGhhdCB0aGUgZGVidWdnZXIgd2lsbCB0cmVhdCBpdCBhcyBhbiB1bmNhdWdodFxuICAgIC8vIGVycm9yIFNlZSBSZWFjdEVycm9yVXRpbHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAgLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY29weSB0aGUgd29yay1pbi1wcm9ncmVzcyBvbnRvIGEgZHVtbXlcbiAgICAvLyBmaWJlci4gSWYgYmVnaW5Xb3JrIHRocm93cywgd2UnbGwgdXNlIHRoaXMgdG8gcmVzZXQgdGhlIHN0YXRlLlxuICAgIHZhciBvcmlnaW5hbFdvcmtJblByb2dyZXNzQ29weSA9IGFzc2lnbkZpYmVyUHJvcGVydGllc0luREVWKGR1bW15RmliZXIsIHVuaXRPZldvcmspO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBiZWdpbldvcmskMShjdXJyZW50LCB1bml0T2ZXb3JrLCBsYW5lcyk7XG4gICAgfSBjYXRjaCAob3JpZ2luYWxFcnJvcikge1xuICAgICAgaWYgKGRpZFN1c3BlbmRPckVycm9yV2hpbGVIeWRyYXRpbmdERVYoKSB8fCBvcmlnaW5hbEVycm9yID09PSBTdXNwZW5zZUV4Y2VwdGlvbiB8fCBvcmlnaW5hbEVycm9yID09PSBTZWxlY3RpdmVIeWRyYXRpb25FeGNlcHRpb24gfHwgb3JpZ2luYWxFcnJvciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3JpZ2luYWxFcnJvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBEb24ndCByZXBsYXkgcHJvbWlzZXMuXG4gICAgICAgIC8vIERvbid0IHJlcGxheSBlcnJvcnMgaWYgd2UgYXJlIGh5ZHJhdGluZyBhbmQgaGF2ZSBhbHJlYWR5IHN1c3BlbmRlZCBvciBoYW5kbGVkIGFuIGVycm9yXG4gICAgICAgIHRocm93IG9yaWdpbmFsRXJyb3I7XG4gICAgICB9IC8vIERvbid0IHJlc2V0IGN1cnJlbnQgZGVidWcgZmliZXIsIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHdvcmsgb24gdGhlXG4gICAgICAvLyBzYW1lIGZpYmVyIGFnYWluLlxuICAgICAgLy8gVW53aW5kIHRoZSBmYWlsZWQgc3RhY2sgZnJhbWVcblxuXG4gICAgICByZXNldFN1c3BlbmRlZFdvcmtMb29wT25VbndpbmQodW5pdE9mV29yayk7XG4gICAgICB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoY3VycmVudCwgdW5pdE9mV29yayk7IC8vIFJlc3RvcmUgdGhlIG9yaWdpbmFsIHByb3BlcnRpZXMgb2YgdGhlIGZpYmVyLlxuXG4gICAgICBhc3NpZ25GaWJlclByb3BlcnRpZXNJbkRFVih1bml0T2ZXb3JrLCBvcmlnaW5hbFdvcmtJblByb2dyZXNzQ29weSk7XG5cbiAgICAgIGlmICh1bml0T2ZXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAvLyBSZXNldCB0aGUgcHJvZmlsZXIgdGltZXIuXG4gICAgICAgIHN0YXJ0UHJvZmlsZXJUaW1lcih1bml0T2ZXb3JrKTtcbiAgICAgIH0gLy8gUnVuIGJlZ2luV29yayBhZ2Fpbi5cblxuXG4gICAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobnVsbCwgYmVnaW5Xb3JrJDEsIG51bGwsIGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKTtcblxuICAgICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcbiAgICAgICAgdmFyIHJlcGxheUVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgcmVwbGF5RXJyb3IgPT09ICdvYmplY3QnICYmIHJlcGxheUVycm9yICE9PSBudWxsICYmIHJlcGxheUVycm9yLl9zdXBwcmVzc0xvZ2dpbmcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsRXJyb3IgIT09IG51bGwgJiYgIW9yaWdpbmFsRXJyb3IuX3N1cHByZXNzTG9nZ2luZykge1xuICAgICAgICAgIC8vIElmIHN1cHByZXNzZWQsIGxldCB0aGUgZmxhZyBjYXJyeSBvdmVyIHRvIHRoZSBvcmlnaW5hbCBlcnJvciB3aGljaCBpcyB0aGUgb25lIHdlJ2xsIHJldGhyb3cuXG4gICAgICAgICAgb3JpZ2luYWxFcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBXZSBhbHdheXMgdGhyb3cgdGhlIG9yaWdpbmFsIGVycm9yIGluIGNhc2UgdGhlIHNlY29uZCByZW5kZXIgcGFzcyBpcyBub3QgaWRlbXBvdGVudC5cbiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiBhIG1lbW9pemVkIGZ1bmN0aW9uIG9yIENvbW1vbkpTIG1vZHVsZSBkb2Vzbid0IHRocm93IGFmdGVyIGZpcnN0IGludm9jYXRpb24uXG5cblxuICAgICAgdGhyb3cgb3JpZ2luYWxFcnJvcjtcbiAgICB9XG4gIH07XG59XG5cbnZhciBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlciA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudDtcblxue1xuICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQgPSBuZXcgU2V0KCk7XG59XG5cbmZ1bmN0aW9uIHdhcm5BYm91dFJlbmRlclBoYXNlVXBkYXRlc0luREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaXNSZW5kZXJpbmcpIHtcbiAgICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciByZW5kZXJpbmdDb21wb25lbnROYW1lID0gd29ya0luUHJvZ3Jlc3MgJiYgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcih3b3JrSW5Qcm9ncmVzcykgfHwgJ1Vua25vd24nOyAvLyBEZWR1cGUgYnkgdGhlIHJlbmRlcmluZyBjb21wb25lbnQgYmVjYXVzZSBpdCdzIHRoZSBvbmUgdGhhdCBuZWVkcyB0byBiZSBmaXhlZC5cblxuICAgICAgICAgICAgdmFyIGRlZHVwZUtleSA9IHJlbmRlcmluZ0NvbXBvbmVudE5hbWU7XG5cbiAgICAgICAgICAgIGlmICghZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXJGb3JBbm90aGVyQ29tcG9uZW50LmhhcyhkZWR1cGVLZXkpKSB7XG4gICAgICAgICAgICAgIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudC5hZGQoZGVkdXBlS2V5KTtcbiAgICAgICAgICAgICAgdmFyIHNldFN0YXRlQ29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdVbmtub3duJztcblxuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBhIGNvbXBvbmVudCAoYCVzYCkgd2hpbGUgcmVuZGVyaW5nIGEgJyArICdkaWZmZXJlbnQgY29tcG9uZW50IChgJXNgKS4gVG8gbG9jYXRlIHRoZSBiYWQgc2V0U3RhdGUoKSBjYWxsIGluc2lkZSBgJXNgLCAnICsgJ2ZvbGxvdyB0aGUgc3RhY2sgdHJhY2UgYXMgZGVzY3JpYmVkIGluIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zZXRzdGF0ZS1pbi1yZW5kZXInLCBzZXRTdGF0ZUNvbXBvbmVudE5hbWUsIHJlbmRlcmluZ0NvbXBvbmVudE5hbWUsIHJlbmRlcmluZ0NvbXBvbmVudE5hbWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyKSB7XG4gICAgICAgICAgICAgIGVycm9yKCdDYW5ub3QgdXBkYXRlIGR1cmluZyBhbiBleGlzdGluZyBzdGF0ZSB0cmFuc2l0aW9uIChzdWNoIGFzICcgKyAnd2l0aGluIGByZW5kZXJgKS4gUmVuZGVyIG1ldGhvZHMgc2hvdWxkIGJlIGEgcHVyZSAnICsgJ2Z1bmN0aW9uIG9mIHByb3BzIGFuZCBzdGF0ZS4nKTtcblxuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlciA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCBsYW5lcykge1xuICB7XG4gICAgaWYgKGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgICB2YXIgbWVtb2l6ZWRVcGRhdGVycyA9IHJvb3QubWVtb2l6ZWRVcGRhdGVycztcbiAgICAgIG1lbW9pemVkVXBkYXRlcnMuZm9yRWFjaChmdW5jdGlvbiAoc2NoZWR1bGluZ0ZpYmVyKSB7XG4gICAgICAgIGFkZEZpYmVyVG9MYW5lc01hcChyb290LCBzY2hlZHVsaW5nRmliZXIsIGxhbmVzKTtcbiAgICAgIH0pOyAvLyBUaGlzIGZ1bmN0aW9uIGludGVudGlvbmFsbHkgZG9lcyBub3QgY2xlYXIgbWVtb2l6ZWQgdXBkYXRlcnMuXG4gICAgICAvLyBUaG9zZSBtYXkgc3RpbGwgYmUgcmVsZXZhbnQgdG8gdGhlIGN1cnJlbnQgY29tbWl0XG4gICAgICAvLyBhbmQgYSBmdXR1cmUgb25lIChlLmcuIFN1c3BlbnNlKS5cbiAgICB9XG4gIH1cbn1cbnZhciBmYWtlQWN0Q2FsbGJhY2tOb2RlID0ge307IC8vICRGbG93Rml4TWVbbWlzc2luZy1sb2NhbC1hbm5vdF1cblxuZnVuY3Rpb24gc2NoZWR1bGVDYWxsYmFjayhwcmlvcml0eUxldmVsLCBjYWxsYmFjaykge1xuICB7XG4gICAgLy8gSWYgd2UncmUgY3VycmVudGx5IGluc2lkZSBhbiBgYWN0YCBzY29wZSwgYnlwYXNzIFNjaGVkdWxlciBhbmQgcHVzaCB0b1xuICAgIC8vIHRoZSBgYWN0YCBxdWV1ZSBpbnN0ZWFkLlxuICAgIHZhciBhY3RRdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQ7XG5cbiAgICBpZiAoYWN0UXVldWUgIT09IG51bGwpIHtcbiAgICAgIGFjdFF1ZXVlLnB1c2goY2FsbGJhY2spO1xuICAgICAgcmV0dXJuIGZha2VBY3RDYWxsYmFja05vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzY2hlZHVsZUNhbGxiYWNrJDMocHJpb3JpdHlMZXZlbCwgY2FsbGJhY2spO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRGb3JjZUZsdXNoRmFsbGJhY2tzSW5ERVYoKSB7XG4gIC8vIE5ldmVyIGZvcmNlIGZsdXNoIGluIHByb2R1Y3Rpb24uIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGdldCBzdHJpcHBlZCBvdXQuXG4gIHJldHVybiBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5jdXJyZW50ICE9PSBudWxsO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZVcGRhdGVzTm90V3JhcHBlZFdpdGhBY3RERVYoZmliZXIpIHtcbiAge1xuICAgIGlmIChmaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgIGlmICghaXNDb25jdXJyZW50QWN0RW52aXJvbm1lbnQoKSkge1xuICAgICAgICAvLyBOb3QgaW4gYW4gYWN0IGVudmlyb25tZW50LiBObyBuZWVkIHRvIHdhcm4uXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTGVnYWN5IG1vZGUgaGFzIGFkZGl0aW9uYWwgY2FzZXMgd2hlcmUgd2Ugc3VwcHJlc3MgYSB3YXJuaW5nLlxuICAgICAgaWYgKCFpc0xlZ2FjeUFjdEVudmlyb25tZW50KCkpIHtcbiAgICAgICAgLy8gTm90IGluIGFuIGFjdCBlbnZpcm9ubWVudC4gTm8gbmVlZCB0byB3YXJuLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChleGVjdXRpb25Db250ZXh0ICE9PSBOb0NvbnRleHQpIHtcbiAgICAgICAgLy8gTGVnYWN5IG1vZGUgZG9lc24ndCB3YXJuIGlmIHRoZSB1cGRhdGUgaXMgYmF0Y2hlZCwgaS5lLlxuICAgICAgICAvLyBiYXRjaGVkVXBkYXRlcyBvciBmbHVzaFN5bmMuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpYmVyLnRhZyAhPT0gRnVuY3Rpb25Db21wb25lbnQgJiYgZmliZXIudGFnICE9PSBGb3J3YXJkUmVmICYmIGZpYmVyLnRhZyAhPT0gU2ltcGxlTWVtb0NvbXBvbmVudCkge1xuICAgICAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCBwcmUtaG9va3MgY29kZSwgbGVnYWN5IG1vZGUgb25seVxuICAgICAgICAvLyB3YXJucyBmb3IgdXBkYXRlcyB0aGF0IG9yaWdpbmF0ZSBmcm9tIGEgaG9vay5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChSZWFjdEN1cnJlbnRBY3RRdWV1ZS5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICB2YXIgcHJldmlvdXNGaWJlciA9IGN1cnJlbnQ7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICAgICAgZXJyb3IoJ0FuIHVwZGF0ZSB0byAlcyBpbnNpZGUgYSB0ZXN0IHdhcyBub3Qgd3JhcHBlZCBpbiBhY3QoLi4uKS5cXG5cXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IGNhdXNlcyBSZWFjdCBzdGF0ZSB1cGRhdGVzIHNob3VsZCBiZSAnICsgJ3dyYXBwZWQgaW50byBhY3QoLi4uKTpcXG5cXG4nICsgJ2FjdCgoKSA9PiB7XFxuJyArICcgIC8qIGZpcmUgZXZlbnRzIHRoYXQgdXBkYXRlIHN0YXRlICovXFxuJyArICd9KTtcXG4nICsgJy8qIGFzc2VydCBvbiB0aGUgb3V0cHV0ICovXFxuXFxuJyArIFwiVGhpcyBlbnN1cmVzIHRoYXQgeW91J3JlIHRlc3RpbmcgdGhlIGJlaGF2aW9yIHRoZSB1c2VyIHdvdWxkIHNlZSBcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93cmFwLXRlc3RzLXdpdGgtYWN0JywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaWYgKHByZXZpb3VzRmliZXIpIHtcbiAgICAgICAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gd2FybklmU3VzcGVuc2VSZXNvbHV0aW9uTm90V3JhcHBlZFdpdGhBY3RERVYocm9vdCkge1xuICB7XG4gICAgaWYgKHJvb3QudGFnICE9PSBMZWdhY3lSb290ICYmIGlzQ29uY3VycmVudEFjdEVudmlyb25tZW50KCkgJiYgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgZXJyb3IoJ0Egc3VzcGVuZGVkIHJlc291cmNlIGZpbmlzaGVkIGxvYWRpbmcgaW5zaWRlIGEgdGVzdCwgYnV0IHRoZSBldmVudCAnICsgJ3dhcyBub3Qgd3JhcHBlZCBpbiBhY3QoLi4uKS5cXG5cXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IHJlc29sdmVzIHN1c3BlbmRlZCBkYXRhIHNob3VsZCBiZSB3cmFwcGVkICcgKyAnaW50byBhY3QoLi4uKTpcXG5cXG4nICsgJ2FjdCgoKSA9PiB7XFxuJyArICcgIC8qIGZpbmlzaCBsb2FkaW5nIHN1c3BlbmRlZCBkYXRhICovXFxuJyArICd9KTtcXG4nICsgJy8qIGFzc2VydCBvbiB0aGUgb3V0cHV0ICovXFxuXFxuJyArIFwiVGhpcyBlbnN1cmVzIHRoYXQgeW91J3JlIHRlc3RpbmcgdGhlIGJlaGF2aW9yIHRoZSB1c2VyIHdvdWxkIHNlZSBcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93cmFwLXRlc3RzLXdpdGgtYWN0Jyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChpc1J1bm5pbmcpIHtcbiAge1xuICAgIGlzUnVubmluZ0luc2VydGlvbkVmZmVjdCA9IGlzUnVubmluZztcbiAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzICovXG4vLyBVc2VkIGJ5IFJlYWN0IFJlZnJlc2ggcnVudGltZSB0aHJvdWdoIERldlRvb2xzIEdsb2JhbCBIb29rLlxuXG52YXIgcmVzb2x2ZUZhbWlseSA9IG51bGw7XG52YXIgZmFpbGVkQm91bmRhcmllcyA9IG51bGw7XG52YXIgc2V0UmVmcmVzaEhhbmRsZXIgPSBmdW5jdGlvbiAoaGFuZGxlcikge1xuICB7XG4gICAgcmVzb2x2ZUZhbWlseSA9IGhhbmRsZXI7XG4gIH1cbn07XG5mdW5jdGlvbiByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG5cbiAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseSh0eXBlKTtcblxuICAgIGlmIChmYW1pbHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICAvLyBObyBpbXBsZW1lbnRhdGlvbiBkaWZmZXJlbmNlcy5cbiAgcmV0dXJuIHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyh0eXBlKTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVGb3J3YXJkUmVmRm9ySG90UmVsb2FkaW5nKHR5cGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgdmFyIGZhbWlseSA9IHJlc29sdmVGYW1pbHkodHlwZSk7XG5cbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIENoZWNrIGlmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIHJlYWwgZm9yd2FyZFJlZi4gRG9uJ3Qgd2FudCB0byBjcmFzaCBlYXJseS5cbiAgICAgIGlmICh0eXBlICE9PSBudWxsICYmIHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRm9yd2FyZFJlZiBpcyBzcGVjaWFsIGJlY2F1c2UgaXRzIHJlc29sdmVkIC50eXBlIGlzIGFuIG9iamVjdCxcbiAgICAgICAgLy8gYnV0IGl0J3MgcG9zc2libGUgdGhhdCB3ZSBvbmx5IGhhdmUgaXRzIGlubmVyIHJlbmRlciBmdW5jdGlvbiBpbiB0aGUgbWFwLlxuICAgICAgICAvLyBJZiB0aGF0IGlubmVyIHJlbmRlciBmdW5jdGlvbiBpcyBkaWZmZXJlbnQsIHdlJ2xsIGJ1aWxkIGEgbmV3IGZvcndhcmRSZWYgdHlwZS5cbiAgICAgICAgdmFyIGN1cnJlbnRSZW5kZXIgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZS5yZW5kZXIpO1xuXG4gICAgICAgIGlmICh0eXBlLnJlbmRlciAhPT0gY3VycmVudFJlbmRlcikge1xuICAgICAgICAgIHZhciBzeW50aGV0aWNUeXBlID0ge1xuICAgICAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUsXG4gICAgICAgICAgICByZW5kZXI6IGN1cnJlbnRSZW5kZXJcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKHR5cGUuZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc3ludGhldGljVHlwZS5kaXNwbGF5TmFtZSA9IHR5cGUuZGlzcGxheU5hbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHN5bnRoZXRpY1R5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoZmliZXIsIGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBwcmV2VHlwZSA9IGZpYmVyLmVsZW1lbnRUeXBlO1xuICAgIHZhciBuZXh0VHlwZSA9IGVsZW1lbnQudHlwZTsgLy8gSWYgd2UgZ290IGhlcmUsIHdlIGtub3cgdHlwZXMgYXJlbid0ID09PSBlcXVhbC5cblxuICAgIHZhciBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IGZhbHNlO1xuICAgIHZhciAkJHR5cGVvZk5leHRUeXBlID0gdHlwZW9mIG5leHRUeXBlID09PSAnb2JqZWN0JyAmJiBuZXh0VHlwZSAhPT0gbnVsbCA/IG5leHRUeXBlLiQkdHlwZW9mIDogbnVsbDtcblxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBuZXh0VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5leHRUeXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFdlIGRvbid0IGtub3cgdGhlIGlubmVyIHR5cGUgeWV0LlxuICAgICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoYXQgdGhlIGxhenkgaW5uZXIgdHlwZSBpcyBzdGFibGUsXG4gICAgICAgICAgICAvLyBhbmQgc28gaXQgaXMgc3VmZmljaWVudCB0byBhdm9pZCByZWNvbmNpbGluZyBpdCBhd2F5LlxuICAgICAgICAgICAgLy8gV2UncmUgbm90IGdvaW5nIHRvIHVud3JhcCBvciBhY3R1YWxseSB1c2UgdGhlIG5ldyBsYXp5IHR5cGUuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0xBWllfVFlQRSkge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IGlmIGl0IHdhcyBidXQgY2FuIG5vIGxvbmdlciBiZSBzaW1wbGUsXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGRuJ3Qgc2V0IHRoaXMuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSAvLyBDaGVjayBpZiBib3RoIHR5cGVzIGhhdmUgYSBmYW1pbHkgYW5kIGl0J3MgdGhlIHNhbWUgb25lLlxuXG5cbiAgICBpZiAobmVlZHNDb21wYXJlRmFtaWxpZXMpIHtcbiAgICAgIC8vIE5vdGU6IG1lbW8oKSBhbmQgZm9yd2FyZFJlZigpIHdlJ2xsIGNvbXBhcmUgb3V0ZXIgcmF0aGVyIHRoYW4gaW5uZXIgdHlwZS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgYm90aCBvZiB0aGVtIG5lZWQgdG8gYmUgcmVnaXN0ZXJlZCB0byBwcmVzZXJ2ZSBzdGF0ZS5cbiAgICAgIC8vIElmIHdlIHVud3JhcHBlZCBhbmQgY29tcGFyZWQgdGhlIGlubmVyIHR5cGVzIGZvciB3cmFwcGVycyBpbnN0ZWFkLFxuICAgICAgLy8gdGhlbiB3ZSB3b3VsZCByaXNrIGZhbHNlbHkgc2F5aW5nIHR3byBzZXBhcmF0ZSBtZW1vKEZvbylcbiAgICAgIC8vIGNhbGxzIGFyZSBlcXVpdmFsZW50IGJlY2F1c2UgdGhleSB3cmFwIHRoZSBzYW1lIEZvbyBmdW5jdGlvbi5cbiAgICAgIHZhciBwcmV2RmFtaWx5ID0gcmVzb2x2ZUZhbWlseShwcmV2VHlwZSk7IC8vICRGbG93Rml4TWVbbm90LWEtZnVuY3Rpb25dIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuICAgICAgaWYgKHByZXZGYW1pbHkgIT09IHVuZGVmaW5lZCAmJiBwcmV2RmFtaWx5ID09PSByZXNvbHZlRmFtaWx5KG5leHRUeXBlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtGYWlsZWRFcnJvckJvdW5kYXJ5Rm9ySG90UmVsb2FkaW5nKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAocmVzb2x2ZUZhbWlseSA9PT0gbnVsbCkge1xuICAgICAgLy8gSG90IHJlbG9hZGluZyBpcyBkaXNhYmxlZC5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIFdlYWtTZXQgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZmFpbGVkQm91bmRhcmllcyA9PT0gbnVsbCkge1xuICAgICAgZmFpbGVkQm91bmRhcmllcyA9IG5ldyBXZWFrU2V0KCk7XG4gICAgfVxuXG4gICAgZmFpbGVkQm91bmRhcmllcy5hZGQoZmliZXIpO1xuICB9XG59XG52YXIgc2NoZWR1bGVSZWZyZXNoID0gZnVuY3Rpb24gKHJvb3QsIHVwZGF0ZSkge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHN0YWxlRmFtaWxpZXMgPSB1cGRhdGUuc3RhbGVGYW1pbGllcyxcbiAgICAgICAgdXBkYXRlZEZhbWlsaWVzID0gdXBkYXRlLnVwZGF0ZWRGYW1pbGllcztcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gICAgZmx1c2hTeW5jJDEoZnVuY3Rpb24gKCkge1xuICAgICAgc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShyb290LmN1cnJlbnQsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XG4gICAgfSk7XG4gIH1cbn07XG52YXIgc2NoZWR1bGVSb290ID0gZnVuY3Rpb24gKHJvb3QsIGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChyb290LmNvbnRleHQgIT09IGVtcHR5Q29udGV4dE9iamVjdCkge1xuICAgICAgLy8gU3VwZXIgZWRnZSBjYXNlOiByb290IGhhcyBhIGxlZ2FjeSBfcmVuZGVyU3VidHJlZSBjb250ZXh0XG4gICAgICAvLyBidXQgd2UgZG9uJ3Qga25vdyB0aGUgcGFyZW50Q29tcG9uZW50IHNvIHdlIGNhbid0IHBhc3MgaXQuXG4gICAgICAvLyBKdXN0IGlnbm9yZS4gV2UnbGwgZGVsZXRlIHRoaXMgd2l0aCBfcmVuZGVyU3VidHJlZSBjb2RlIHBhdGggbGF0ZXIuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICAgIGZsdXNoU3luYyQxKGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihlbGVtZW50LCByb290LCBudWxsLCBudWxsKTtcbiAgICB9KTtcbiAgfVxufTtcblxuZnVuY3Rpb24gc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShmaWJlciwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKSB7XG4gIHtcbiAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlLFxuICAgICAgICBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHJlc29sdmVGYW1pbHkgdG8gYmUgc2V0IGR1cmluZyBob3QgcmVsb2FkLicpO1xuICAgIH1cblxuICAgIHZhciBuZWVkc1JlbmRlciA9IGZhbHNlO1xuICAgIHZhciBuZWVkc1JlbW91bnQgPSBmYWxzZTtcblxuICAgIGlmIChjYW5kaWRhdGVUeXBlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseShjYW5kaWRhdGVUeXBlKTtcblxuICAgICAgaWYgKGZhbWlseSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChzdGFsZUZhbWlsaWVzLmhhcyhmYW1pbHkpKSB7XG4gICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh1cGRhdGVkRmFtaWxpZXMuaGFzKGZhbWlseSkpIHtcbiAgICAgICAgICBpZiAodGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmVlZHNSZW5kZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmYWlsZWRCb3VuZGFyaWVzICE9PSBudWxsKSB7XG4gICAgICBpZiAoZmFpbGVkQm91bmRhcmllcy5oYXMoZmliZXIpIHx8IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuICAgICAgYWx0ZXJuYXRlICE9PSBudWxsICYmIGZhaWxlZEJvdW5kYXJpZXMuaGFzKGFsdGVybmF0ZSkpIHtcbiAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobmVlZHNSZW1vdW50KSB7XG4gICAgICBmaWJlci5fZGVidWdOZWVkc1JlbW91bnQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChuZWVkc1JlbW91bnQgfHwgbmVlZHNSZW5kZXIpIHtcbiAgICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgU3luY0xhbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCAmJiAhbmVlZHNSZW1vdW50KSB7XG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KGNoaWxkLCB1cGRhdGVkRmFtaWxpZXMsIHN0YWxlRmFtaWxpZXMpO1xuICAgIH1cblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KHNpYmxpbmcsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XG4gICAgfVxuICB9XG59XG5cbnZhciBmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2ggPSBmdW5jdGlvbiAocm9vdCwgZmFtaWxpZXMpIHtcbiAge1xuICAgIHZhciBob3N0SW5zdGFuY2VzID0gbmV3IFNldCgpO1xuICAgIHZhciB0eXBlcyA9IG5ldyBTZXQoZmFtaWxpZXMubWFwKGZ1bmN0aW9uIChmYW1pbHkpIHtcbiAgICAgIHJldHVybiBmYW1pbHkuY3VycmVudDtcbiAgICB9KSk7XG4gICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KHJvb3QuY3VycmVudCwgdHlwZXMsIGhvc3RJbnN0YW5jZXMpO1xuICAgIHJldHVybiBob3N0SW5zdGFuY2VzO1xuICB9XG59O1xuXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkoZmliZXIsIHR5cGVzLCBob3N0SW5zdGFuY2VzKSB7XG4gIHtcbiAgICB2YXIgY2hpbGQgPSBmaWJlci5jaGlsZCxcbiAgICAgICAgc2libGluZyA9IGZpYmVyLnNpYmxpbmcsXG4gICAgICAgIHRhZyA9IGZpYmVyLnRhZyxcbiAgICAgICAgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgdmFyIGNhbmRpZGF0ZVR5cGUgPSBudWxsO1xuXG4gICAgc3dpdGNoICh0YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgICAgY2FuZGlkYXRlVHlwZSA9IHR5cGUucmVuZGVyO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgZGlkTWF0Y2ggPSBmYWxzZTtcblxuICAgIGlmIChjYW5kaWRhdGVUeXBlICE9PSBudWxsKSB7XG4gICAgICBpZiAodHlwZXMuaGFzKGNhbmRpZGF0ZVR5cGUpKSB7XG4gICAgICAgIGRpZE1hdGNoID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGlkTWF0Y2gpIHtcbiAgICAgIC8vIFdlIGhhdmUgYSBtYXRjaC4gVGhpcyBvbmx5IGRyaWxscyBkb3duIHRvIHRoZSBjbG9zZXN0IGhvc3QgY29tcG9uZW50cy5cbiAgICAgIC8vIFRoZXJlJ3Mgbm8gbmVlZCB0byBzZWFyY2ggZGVlcGVyIGJlY2F1c2UgZm9yIHRoZSBwdXJwb3NlIG9mIGdpdmluZ1xuICAgICAgLy8gdmlzdWFsIGZlZWRiYWNrLCBcImZsYXNoaW5nXCIgb3V0ZXJtb3N0IHBhcmVudCByZWN0YW5nbGVzIGlzIHN1ZmZpY2llbnQuXG4gICAgICBmaW5kSG9zdEluc3RhbmNlc0ZvckZpYmVyU2hhbGxvd2x5KGZpYmVyLCBob3N0SW5zdGFuY2VzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlcmUncyBubyBtYXRjaCwgbWF5YmUgdGhlcmUgd2lsbCBiZSBvbmUgZnVydGhlciBkb3duIGluIHRoZSBjaGlsZCB0cmVlLlxuICAgICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShjaGlsZCwgdHlwZXMsIGhvc3RJbnN0YW5jZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkoc2libGluZywgdHlwZXMsIGhvc3RJbnN0YW5jZXMpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlc0ZvckZpYmVyU2hhbGxvd2x5KGZpYmVyLCBob3N0SW5zdGFuY2VzKSB7XG4gIHtcbiAgICB2YXIgZm91bmRIb3N0SW5zdGFuY2VzID0gZmluZENoaWxkSG9zdEluc3RhbmNlc0ZvckZpYmVyU2hhbGxvd2x5KGZpYmVyLCBob3N0SW5zdGFuY2VzKTtcblxuICAgIGlmIChmb3VuZEhvc3RJbnN0YW5jZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIElmIHdlIGRpZG4ndCBmaW5kIGFueSBob3N0IGNoaWxkcmVuLCBmYWxsYmFjayB0byBjbG9zZXN0IGhvc3QgcGFyZW50LlxuXG5cbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHN3aXRjaCAobm9kZS50YWcpIHtcbiAgICAgICAgY2FzZSBIb3N0U2luZ2xldG9uOlxuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUpO1xuICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byByZWFjaCByb290IGZpcnN0LicpO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRDaGlsZEhvc3RJbnN0YW5jZXNGb3JGaWJlclNoYWxsb3dseShmaWJlciwgaG9zdEluc3RhbmNlcykge1xuICB7XG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcbiAgICB2YXIgZm91bmRIb3N0SW5zdGFuY2VzID0gZmFsc2U7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IChub2RlLnRhZyA9PT0gSG9zdEhvaXN0YWJsZSApIHx8IChub2RlLnRhZyA9PT0gSG9zdFNpbmdsZXRvbiApKSB7XG4gICAgICAgIC8vIFdlIGdvdCBhIG1hdGNoLlxuICAgICAgICBmb3VuZEhvc3RJbnN0YW5jZXMgPSB0cnVlO1xuICAgICAgICBob3N0SW5zdGFuY2VzLmFkZChub2RlLnN0YXRlTm9kZSk7IC8vIFRoZXJlIG1heSBzdGlsbCBiZSBtb3JlLCBzbyBrZWVwIHNlYXJjaGluZy5cbiAgICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZpYmVyKSB7XG4gICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaWJlcikge1xuICAgICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcbiAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG52YXIgaGFzQmFkTWFwUG9seWZpbGw7XG5cbntcbiAgaGFzQmFkTWFwUG9seWZpbGwgPSBmYWxzZTtcblxuICB0cnkge1xuICAgIHZhciBub25FeHRlbnNpYmxlT2JqZWN0ID0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1uZXcgKi9cblxuICAgIG5ldyBNYXAoW1tub25FeHRlbnNpYmxlT2JqZWN0LCBudWxsXV0pO1xuICAgIG5ldyBTZXQoW25vbkV4dGVuc2libGVPYmplY3RdKTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLW5ldyAqL1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gVE9ETzogQ29uc2lkZXIgd2FybmluZyBhYm91dCBiYWQgcG9seWZpbGxzXG4gICAgaGFzQmFkTWFwUG9seWZpbGwgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKSB7XG4gIC8vIEluc3RhbmNlXG4gIHRoaXMudGFnID0gdGFnO1xuICB0aGlzLmtleSA9IGtleTtcbiAgdGhpcy5lbGVtZW50VHlwZSA9IG51bGw7XG4gIHRoaXMudHlwZSA9IG51bGw7XG4gIHRoaXMuc3RhdGVOb2RlID0gbnVsbDsgLy8gRmliZXJcblxuICB0aGlzLnJldHVybiA9IG51bGw7XG4gIHRoaXMuY2hpbGQgPSBudWxsO1xuICB0aGlzLnNpYmxpbmcgPSBudWxsO1xuICB0aGlzLmluZGV4ID0gMDtcbiAgdGhpcy5yZWYgPSBudWxsO1xuICB0aGlzLnJlZkNsZWFudXAgPSBudWxsO1xuICB0aGlzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wcztcbiAgdGhpcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgdGhpcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gIHRoaXMubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHRoaXMuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgdGhpcy5tb2RlID0gbW9kZTsgLy8gRWZmZWN0c1xuXG4gIHRoaXMuZmxhZ3MgPSBOb0ZsYWdzJDE7XG4gIHRoaXMuc3VidHJlZUZsYWdzID0gTm9GbGFncyQxO1xuICB0aGlzLmRlbGV0aW9ucyA9IG51bGw7XG4gIHRoaXMubGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmNoaWxkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmFsdGVybmF0ZSA9IG51bGw7XG5cbiAge1xuICAgIC8vIE5vdGU6IFRoZSBmb2xsb3dpbmcgaXMgZG9uZSB0byBhdm9pZCBhIHY4IHBlcmZvcm1hbmNlIGNsaWZmLlxuICAgIC8vXG4gICAgLy8gSW5pdGlhbGl6aW5nIHRoZSBmaWVsZHMgYmVsb3cgdG8gc21pcyBhbmQgbGF0ZXIgdXBkYXRpbmcgdGhlbSB3aXRoXG4gICAgLy8gZG91YmxlIHZhbHVlcyB3aWxsIGNhdXNlIEZpYmVycyB0byBlbmQgdXAgaGF2aW5nIHNlcGFyYXRlIHNoYXBlcy5cbiAgICAvLyBUaGlzIGJlaGF2aW9yL2J1ZyBoYXMgc29tZXRoaW5nIHRvIGRvIHdpdGggT2JqZWN0LnByZXZlbnRFeHRlbnNpb24oKS5cbiAgICAvLyBGb3J0dW5hdGVseSB0aGlzIG9ubHkgaW1wYWN0cyBERVYgYnVpbGRzLlxuICAgIC8vIFVuZm9ydHVuYXRlbHkgaXQgbWFrZXMgUmVhY3QgdW51c2FibHkgc2xvdyBmb3Igc29tZSBhcHBsaWNhdGlvbnMuXG4gICAgLy8gVG8gd29yayBhcm91bmQgdGhpcywgaW5pdGlhbGl6ZSB0aGUgZmllbGRzIGJlbG93IHdpdGggZG91Ymxlcy5cbiAgICAvL1xuICAgIC8vIExlYXJuIG1vcmUgYWJvdXQgdGhpcyBoZXJlOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTQzNjVcbiAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD04NTM4XG4gICAgdGhpcy5hY3R1YWxEdXJhdGlvbiA9IE51bWJlci5OYU47XG4gICAgdGhpcy5hY3R1YWxTdGFydFRpbWUgPSBOdW1iZXIuTmFOO1xuICAgIHRoaXMuc2VsZkJhc2VEdXJhdGlvbiA9IE51bWJlci5OYU47XG4gICAgdGhpcy50cmVlQmFzZUR1cmF0aW9uID0gTnVtYmVyLk5hTjsgLy8gSXQncyBva2F5IHRvIHJlcGxhY2UgdGhlIGluaXRpYWwgZG91YmxlcyB3aXRoIHNtaXMgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uXG4gICAgLy8gVGhpcyB3b24ndCB0cmlnZ2VyIHRoZSBwZXJmb3JtYW5jZSBjbGlmZiBtZW50aW9uZWQgYWJvdmUsXG4gICAgLy8gYW5kIGl0IHNpbXBsaWZpZXMgb3RoZXIgcHJvZmlsZXIgY29kZSAoaW5jbHVkaW5nIERldlRvb2xzKS5cblxuICAgIHRoaXMuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgIHRoaXMuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgdGhpcy5zZWxmQmFzZUR1cmF0aW9uID0gMDtcbiAgICB0aGlzLnRyZWVCYXNlRHVyYXRpb24gPSAwO1xuICB9XG5cbiAge1xuICAgIC8vIFRoaXMgaXNuJ3QgZGlyZWN0bHkgdXNlZCBidXQgaXMgaGFuZHkgZm9yIGRlYnVnZ2luZyBpbnRlcm5hbHM6XG4gICAgdGhpcy5fZGVidWdJbmZvID0gbnVsbDtcbiAgICB0aGlzLl9kZWJ1Z093bmVyID0gbnVsbDtcbiAgICB0aGlzLl9kZWJ1Z05lZWRzUmVtb3VudCA9IGZhbHNlO1xuICAgIHRoaXMuX2RlYnVnSG9va1R5cGVzID0gbnVsbDtcblxuICAgIGlmICghaGFzQmFkTWFwUG9seWZpbGwgJiYgdHlwZW9mIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHRoaXMpO1xuICAgIH1cbiAgfVxufSAvLyBUaGlzIGlzIGEgY29uc3RydWN0b3IgZnVuY3Rpb24sIHJhdGhlciB0aGFuIGEgUE9KTyBjb25zdHJ1Y3Rvciwgc3RpbGxcbi8vIHBsZWFzZSBlbnN1cmUgd2UgZG8gdGhlIGZvbGxvd2luZzpcbi8vIDEpIE5vYm9keSBzaG91bGQgYWRkIGFueSBpbnN0YW5jZSBtZXRob2RzIG9uIHRoaXMuIEluc3RhbmNlIG1ldGhvZHMgY2FuIGJlXG4vLyAgICBtb3JlIGRpZmZpY3VsdCB0byBwcmVkaWN0IHdoZW4gdGhleSBnZXQgb3B0aW1pemVkIGFuZCB0aGV5IGFyZSBhbG1vc3Rcbi8vICAgIG5ldmVyIGlubGluZWQgcHJvcGVybHkgaW4gc3RhdGljIGNvbXBpbGVycy5cbi8vIDIpIE5vYm9keSBzaG91bGQgcmVseSBvbiBgaW5zdGFuY2VvZiBGaWJlcmAgZm9yIHR5cGUgdGVzdGluZy4gV2Ugc2hvdWxkXG4vLyAgICBhbHdheXMga25vdyB3aGVuIGl0IGlzIGEgZmliZXIuXG4vLyAzKSBXZSBtaWdodCB3YW50IHRvIGV4cGVyaW1lbnQgd2l0aCB1c2luZyBudW1lcmljIGtleXMgc2luY2UgdGhleSBhcmUgZWFzaWVyXG4vLyAgICB0byBvcHRpbWl6ZSBpbiBhIG5vbi1KSVQgZW52aXJvbm1lbnQuXG4vLyA0KSBXZSBjYW4gZWFzaWx5IGdvIGZyb20gYSBjb25zdHJ1Y3RvciB0byBhIGNyZWF0ZUZpYmVyIG9iamVjdCBsaXRlcmFsIGlmIHRoYXRcbi8vICAgIGlzIGZhc3Rlci5cbi8vIDUpIEl0IHNob3VsZCBiZSBlYXN5IHRvIHBvcnQgdGhpcyB0byBhIEMgc3RydWN0IGFuZCBrZWVwIGEgQyBpbXBsZW1lbnRhdGlvblxuLy8gICAgY29tcGF0aWJsZS5cblxuXG5mdW5jdGlvbiBjcmVhdGVGaWJlcih0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKSB7XG4gIC8vICRGbG93Rml4TWVbaW52YWxpZC1jb25zdHJ1Y3Rvcl06IHRoZSBzaGFwZXMgYXJlIGV4YWN0IGhlcmUgYnV0IEZsb3cgZG9lc24ndCBsaWtlIGNvbnN0cnVjdG9yc1xuICByZXR1cm4gbmV3IEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkge1xuICB2YXIgcHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbiAgcmV0dXJuICEhKHByb3RvdHlwZSAmJiBwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCk7XG59XG5cbmZ1bmN0aW9uIGlzU2ltcGxlRnVuY3Rpb25Db21wb25lbnQodHlwZSkge1xuICByZXR1cm4gdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgJiYgIXNob3VsZENvbnN0cnVjdCh0eXBlKSAmJiB0eXBlLmRlZmF1bHRQcm9wcyA9PT0gdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gcmVzb2x2ZUxhenlDb21wb25lbnRUYWcoQ29tcG9uZW50KSB7XG4gIGlmICh0eXBlb2YgQ29tcG9uZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpID8gQ2xhc3NDb21wb25lbnQgOiBGdW5jdGlvbkNvbXBvbmVudDtcbiAgfSBlbHNlIGlmIChDb21wb25lbnQgIT09IHVuZGVmaW5lZCAmJiBDb21wb25lbnQgIT09IG51bGwpIHtcbiAgICB2YXIgJCR0eXBlb2YgPSBDb21wb25lbnQuJCR0eXBlb2Y7XG5cbiAgICBpZiAoJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgIHJldHVybiBGb3J3YXJkUmVmO1xuICAgIH1cblxuICAgIGlmICgkJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XG4gICAgICByZXR1cm4gTWVtb0NvbXBvbmVudDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDtcbn0gLy8gVGhpcyBpcyB1c2VkIHRvIGNyZWF0ZSBhbiBhbHRlcm5hdGUgZmliZXIgdG8gZG8gd29yayBvbi5cblxuZnVuY3Rpb24gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudCwgcGVuZGluZ1Byb3BzKSB7XG4gIHZhciB3b3JrSW5Qcm9ncmVzcyA9IGN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyA9PT0gbnVsbCkge1xuICAgIC8vIFdlIHVzZSBhIGRvdWJsZSBidWZmZXJpbmcgcG9vbGluZyB0ZWNobmlxdWUgYmVjYXVzZSB3ZSBrbm93IHRoYXQgd2UnbGxcbiAgICAvLyBvbmx5IGV2ZXIgbmVlZCBhdCBtb3N0IHR3byB2ZXJzaW9ucyBvZiBhIHRyZWUuIFdlIHBvb2wgdGhlIFwib3RoZXJcIiB1bnVzZWRcbiAgICAvLyBub2RlIHRoYXQgd2UncmUgZnJlZSB0byByZXVzZS4gVGhpcyBpcyBsYXppbHkgY3JlYXRlZCB0byBhdm9pZCBhbGxvY2F0aW5nXG4gICAgLy8gZXh0cmEgb2JqZWN0cyBmb3IgdGhpbmdzIHRoYXQgYXJlIG5ldmVyIHVwZGF0ZWQuIEl0IGFsc28gYWxsb3cgdXMgdG9cbiAgICAvLyByZWNsYWltIHRoZSBleHRyYSBtZW1vcnkgaWYgbmVlZGVkLlxuICAgIHdvcmtJblByb2dyZXNzID0gY3JlYXRlRmliZXIoY3VycmVudC50YWcsIHBlbmRpbmdQcm9wcywgY3VycmVudC5rZXksIGN1cnJlbnQubW9kZSk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPSBjdXJyZW50LmVsZW1lbnRUeXBlO1xuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7XG4gICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3VycmVudC5zdGF0ZU5vZGU7XG5cbiAgICB7XG4gICAgICAvLyBERVYtb25seSBmaWVsZHNcbiAgICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z093bmVyID0gY3VycmVudC5fZGVidWdPd25lcjtcbiAgICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z0hvb2tUeXBlcyA9IGN1cnJlbnQuX2RlYnVnSG9va1R5cGVzO1xuICAgIH1cblxuICAgIHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IGN1cnJlbnQ7XG4gICAgY3VycmVudC5hbHRlcm5hdGUgPSB3b3JrSW5Qcm9ncmVzcztcbiAgfSBlbHNlIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMgPSBwZW5kaW5nUHJvcHM7IC8vIE5lZWRlZCBiZWNhdXNlIEJsb2NrcyBzdG9yZSBkYXRhIG9uIHR5cGUuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gY3VycmVudC50eXBlOyAvLyBXZSBhbHJlYWR5IGhhdmUgYW4gYWx0ZXJuYXRlLlxuICAgIC8vIFJlc2V0IHRoZSBlZmZlY3QgdGFnLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSBOb0ZsYWdzJDE7IC8vIFRoZSBlZmZlY3RzIGFyZSBubyBsb25nZXIgdmFsaWQuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5zdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzJDE7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gbnVsbDtcblxuICAgIHtcbiAgICAgIC8vIFdlIGludGVudGlvbmFsbHkgcmVzZXQsIHJhdGhlciB0aGFuIGNvcHksIGFjdHVhbER1cmF0aW9uICYgYWN0dWFsU3RhcnRUaW1lLlxuICAgICAgLy8gVGhpcyBwcmV2ZW50cyB0aW1lIGZyb20gZW5kbGVzc2x5IGFjY3VtdWxhdGluZyBpbiBuZXcgY29tbWl0cy5cbiAgICAgIC8vIFRoaXMgaGFzIHRoZSBkb3duc2lkZSBvZiByZXNldHRpbmcgdmFsdWVzIGZvciBkaWZmZXJlbnQgcHJpb3JpdHkgcmVuZGVycyxcbiAgICAgIC8vIEJ1dCB3b3JrcyBmb3IgeWllbGRpbmcgKHRoZSBjb21tb24gY2FzZSkgYW5kIHNob3VsZCBzdXBwb3J0IHJlc3VtaW5nLlxuICAgICAgd29ya0luUHJvZ3Jlc3MuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgfVxuICB9IC8vIFJlc2V0IGFsbCBlZmZlY3RzIGV4Y2VwdCBzdGF0aWMgb25lcy5cbiAgLy8gU3RhdGljIGVmZmVjdHMgYXJlIG5vdCBzcGVjaWZpYyB0byBhIHJlbmRlci5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzID0gY3VycmVudC5mbGFncyAmIFN0YXRpY01hc2s7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMgPSBjdXJyZW50LmNoaWxkTGFuZXM7XG4gIHdvcmtJblByb2dyZXNzLmxhbmVzID0gY3VycmVudC5sYW5lcztcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkO1xuICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7IC8vIENsb25lIHRoZSBkZXBlbmRlbmNpZXMgb2JqZWN0LiBUaGlzIGlzIG11dGF0ZWQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UsIHNvXG4gIC8vIGl0IGNhbm5vdCBiZSBzaGFyZWQgd2l0aCB0aGUgY3VycmVudCBmaWJlci5cblxuICB2YXIgY3VycmVudERlcGVuZGVuY2llcyA9IGN1cnJlbnQuZGVwZW5kZW5jaWVzO1xuICB3b3JrSW5Qcm9ncmVzcy5kZXBlbmRlbmNpZXMgPSBjdXJyZW50RGVwZW5kZW5jaWVzID09PSBudWxsID8gbnVsbCA6IHtcbiAgICBsYW5lczogY3VycmVudERlcGVuZGVuY2llcy5sYW5lcyxcbiAgICBmaXJzdENvbnRleHQ6IGN1cnJlbnREZXBlbmRlbmNpZXMuZmlyc3RDb250ZXh0XG4gIH07IC8vIFRoZXNlIHdpbGwgYmUgb3ZlcnJpZGRlbiBkdXJpbmcgdGhlIHBhcmVudCdzIHJlY29uY2lsaWF0aW9uXG5cbiAgd29ya0luUHJvZ3Jlc3Muc2libGluZyA9IGN1cnJlbnQuc2libGluZztcbiAgd29ya0luUHJvZ3Jlc3MuaW5kZXggPSBjdXJyZW50LmluZGV4O1xuICB3b3JrSW5Qcm9ncmVzcy5yZWYgPSBjdXJyZW50LnJlZjtcbiAgd29ya0luUHJvZ3Jlc3MucmVmQ2xlYW51cCA9IGN1cnJlbnQucmVmQ2xlYW51cDtcblxuICB7XG4gICAgd29ya0luUHJvZ3Jlc3Muc2VsZkJhc2VEdXJhdGlvbiA9IGN1cnJlbnQuc2VsZkJhc2VEdXJhdGlvbjtcbiAgICB3b3JrSW5Qcm9ncmVzcy50cmVlQmFzZUR1cmF0aW9uID0gY3VycmVudC50cmVlQmFzZUR1cmF0aW9uO1xuICB9XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z0luZm8gPSBjdXJyZW50Ll9kZWJ1Z0luZm87XG4gICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnTmVlZHNSZW1vdW50ID0gY3VycmVudC5fZGVidWdOZWVkc1JlbW91bnQ7XG5cbiAgICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgICAgY2FzZSBJbmRldGVybWluYXRlQ29tcG9uZW50OlxuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVDbGFzc0ZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcoY3VycmVudC50eXBlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xufSAvLyBVc2VkIHRvIHJldXNlIGEgRmliZXIgZm9yIGEgc2Vjb25kIHBhc3MuXG5cbmZ1bmN0aW9uIHJlc2V0V29ya0luUHJvZ3Jlc3Mod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgcmVzZXRzIHRoZSBGaWJlciB0byB3aGF0IGNyZWF0ZUZpYmVyIG9yIGNyZWF0ZVdvcmtJblByb2dyZXNzIHdvdWxkXG4gIC8vIGhhdmUgc2V0IHRoZSB2YWx1ZXMgdG8gYmVmb3JlIGR1cmluZyB0aGUgZmlyc3QgcGFzcy4gSWRlYWxseSB0aGlzIHdvdWxkbid0XG4gIC8vIGJlIG5lY2Vzc2FyeSBidXQgdW5mb3J0dW5hdGVseSBtYW55IGNvZGUgcGF0aHMgcmVhZHMgZnJvbSB0aGUgd29ya0luUHJvZ3Jlc3NcbiAgLy8gd2hlbiB0aGV5IHNob3VsZCBiZSByZWFkaW5nIGZyb20gY3VycmVudCBhbmQgd3JpdGluZyB0byB3b3JrSW5Qcm9ncmVzcy5cbiAgLy8gV2UgYXNzdW1lIHBlbmRpbmdQcm9wcywgaW5kZXgsIGtleSwgcmVmLCByZXR1cm4gYXJlIHN0aWxsIHVudG91Y2hlZCB0b1xuICAvLyBhdm9pZCBkb2luZyBhbm90aGVyIHJlY29uY2lsaWF0aW9uLlxuICAvLyBSZXNldCB0aGUgZWZmZWN0IGZsYWdzIGJ1dCBrZWVwIGFueSBQbGFjZW1lbnQgdGFncywgc2luY2UgdGhhdCdzIHNvbWV0aGluZ1xuICAvLyB0aGF0IGNoaWxkIGZpYmVyIGlzIHNldHRpbmcsIG5vdCB0aGUgcmVjb25jaWxpYXRpb24uXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IFN0YXRpY01hc2sgfCBQbGFjZW1lbnQ7IC8vIFRoZSBlZmZlY3RzIGFyZSBubyBsb25nZXIgdmFsaWQuXG5cbiAgdmFyIGN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGU7XG5cbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAvLyBSZXNldCB0byBjcmVhdGVGaWJlcidzIGluaXRpYWwgdmFsdWVzLlxuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMgPSBOb0xhbmVzO1xuICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gcmVuZGVyTGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBudWxsO1xuICAgIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3MkMTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPSBudWxsO1xuXG4gICAge1xuICAgICAgLy8gTm90ZTogV2UgZG9uJ3QgcmVzZXQgdGhlIGFjdHVhbFRpbWUgY291bnRzLiBJdCdzIHVzZWZ1bCB0byBhY2N1bXVsYXRlXG4gICAgICAvLyBhY3R1YWwgdGltZSBhY3Jvc3MgbXVsdGlwbGUgcmVuZGVyIHBhc3Nlcy5cbiAgICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFJlc2V0IHRvIHRoZSBjbG9uZWQgdmFsdWVzIHRoYXQgY3JlYXRlV29ya0luUHJvZ3Jlc3Mgd291bGQndmUuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IGN1cnJlbnQuY2hpbGRMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGN1cnJlbnQubGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkO1xuICAgIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3MkMTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5kZWxldGlvbnMgPSBudWxsO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7IC8vIE5lZWRlZCBiZWNhdXNlIEJsb2NrcyBzdG9yZSBkYXRhIG9uIHR5cGUuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gY3VycmVudC50eXBlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xuICAgIC8vIGl0IGNhbm5vdCBiZSBzaGFyZWQgd2l0aCB0aGUgY3VycmVudCBmaWJlci5cblxuICAgIHZhciBjdXJyZW50RGVwZW5kZW5jaWVzID0gY3VycmVudC5kZXBlbmRlbmNpZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gY3VycmVudERlcGVuZGVuY2llcyA9PT0gbnVsbCA/IG51bGwgOiB7XG4gICAgICBsYW5lczogY3VycmVudERlcGVuZGVuY2llcy5sYW5lcyxcbiAgICAgIGZpcnN0Q29udGV4dDogY3VycmVudERlcGVuZGVuY2llcy5maXJzdENvbnRleHRcbiAgICB9O1xuXG4gICAge1xuICAgICAgLy8gTm90ZTogV2UgZG9uJ3QgcmVzZXQgdGhlIGFjdHVhbFRpbWUgY291bnRzLiBJdCdzIHVzZWZ1bCB0byBhY2N1bXVsYXRlXG4gICAgICAvLyBhY3R1YWwgdGltZSBhY3Jvc3MgbXVsdGlwbGUgcmVuZGVyIHBhc3Nlcy5cbiAgICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSBjdXJyZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgICB3b3JrSW5Qcm9ncmVzcy50cmVlQmFzZUR1cmF0aW9uID0gY3VycmVudC50cmVlQmFzZUR1cmF0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcztcbn1cbmZ1bmN0aW9uIGNyZWF0ZUhvc3RSb290RmliZXIodGFnLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUpIHtcbiAgdmFyIG1vZGU7XG5cbiAgaWYgKHRhZyA9PT0gQ29uY3VycmVudFJvb3QpIHtcbiAgICBtb2RlID0gQ29uY3VycmVudE1vZGU7XG5cbiAgICBpZiAoaXNTdHJpY3RNb2RlID09PSB0cnVlKSB7XG4gICAgICBtb2RlIHw9IFN0cmljdExlZ2FjeU1vZGUgfCBTdHJpY3RFZmZlY3RzTW9kZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbW9kZSA9IE5vTW9kZTtcbiAgfVxuXG4gIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgIC8vIEFsd2F5cyBjb2xsZWN0IHByb2ZpbGUgdGltaW5ncyB3aGVuIERldlRvb2xzIGFyZSBwcmVzZW50LlxuICAgIC8vIFRoaXMgZW5hYmxlcyBEZXZUb29scyB0byBzdGFydCBjYXB0dXJpbmcgdGltaW5nIGF0IGFueSBwb2ludOKAk1xuICAgIC8vIFdpdGhvdXQgc29tZSBub2RlcyBpbiB0aGUgdHJlZSBoYXZpbmcgZW1wdHkgYmFzZSB0aW1lcy5cbiAgICBtb2RlIHw9IFByb2ZpbGVNb2RlO1xuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZUZpYmVyKEhvc3RSb290LCBudWxsLCBudWxsLCBtb2RlKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyh0eXBlLCAvLyBSZWFjdCRFbGVtZW50VHlwZVxua2V5LCBwZW5kaW5nUHJvcHMsIG93bmVyLCBtb2RlLCBsYW5lcykge1xuICB2YXIgZmliZXJUYWcgPSBJbmRldGVybWluYXRlQ29tcG9uZW50OyAvLyBUaGUgcmVzb2x2ZWQgdHlwZSBpcyBzZXQgaWYgd2Uga25vdyB3aGF0IHRoZSBmaW5hbCB0eXBlIHdpbGwgYmUuIEkuZS4gaXQncyBub3QgbGF6eS5cblxuICB2YXIgcmVzb2x2ZWRUeXBlID0gdHlwZTtcblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpZiAoc2hvdWxkQ29uc3RydWN0KHR5cGUpKSB7XG4gICAgICBmaWJlclRhZyA9IENsYXNzQ29tcG9uZW50O1xuXG4gICAgICB7XG4gICAgICAgIHJlc29sdmVkVHlwZSA9IHJlc29sdmVDbGFzc0ZvckhvdFJlbG9hZGluZyhyZXNvbHZlZFR5cGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB7XG4gICAgICAgIHJlc29sdmVkVHlwZSA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyhyZXNvbHZlZFR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICB7XG4gICAgICB2YXIgaG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpO1xuICAgICAgZmliZXJUYWcgPSBpc0hvc3RIb2lzdGFibGVUeXBlKHR5cGUsIHBlbmRpbmdQcm9wcywgaG9zdENvbnRleHQpID8gSG9zdEhvaXN0YWJsZSA6IGlzSG9zdFNpbmdsZXRvblR5cGUodHlwZSkgPyBIb3N0U2luZ2xldG9uIDogSG9zdENvbXBvbmVudDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZ2V0VGFnOiBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KHBlbmRpbmdQcm9wcy5jaGlsZHJlbiwgbW9kZSwgbGFuZXMsIGtleSk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgICAgZmliZXJUYWcgPSBNb2RlO1xuICAgICAgICBtb2RlIHw9IFN0cmljdExlZ2FjeU1vZGU7XG5cbiAgICAgICAgaWYgKChtb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAvLyBTdHJpY3QgZWZmZWN0cyBzaG91bGQgbmV2ZXIgcnVuIG9uIGxlZ2FjeSByb290c1xuICAgICAgICAgIG1vZGUgfD0gU3RyaWN0RWZmZWN0c01vZGU7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tUHJvZmlsZXIocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KTtcblxuICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2UocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KTtcblxuICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZUxpc3QocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KTtcblxuICAgICAgY2FzZSBSRUFDVF9PRkZTQ1JFRU5fVFlQRTpcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX0xFR0FDWV9ISURERU5fVFlQRTpcblxuICAgICAgLy8gRmFsbCB0aHJvdWdoXG5cbiAgICAgIGNhc2UgUkVBQ1RfU0NPUEVfVFlQRTpcblxuICAgICAgLy8gRmFsbCB0aHJvdWdoXG5cbiAgICAgIGNhc2UgUkVBQ1RfQ0FDSEVfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21DYWNoZShwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuICAgICAgICB9XG5cbiAgICAgIC8vIEZhbGwgdGhyb3VnaFxuXG4gICAgICBjYXNlIFJFQUNUX1RSQUNJTkdfTUFSS0VSX1RZUEU6XG5cbiAgICAgIC8vIEZhbGwgdGhyb3VnaFxuXG4gICAgICBjYXNlIFJFQUNUX0RFQlVHX1RSQUNJTkdfTU9ERV9UWVBFOlxuXG4gICAgICAvLyBGYWxsIHRocm91Z2hcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBmaWJlclRhZyA9IENvbnRleHRQcm92aWRlcjtcbiAgICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gRmFsbCB0aHJvdWdoXG5cbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0Q29uc3VtZXI7XG4gICAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OU1VNRVJfVFlQRTpcblxuICAgICAgICAgICAgICAvLyBGYWxsIHRocm91Z2hcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBGb3J3YXJkUmVmO1xuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG5cbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBNZW1vQ29tcG9uZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgICBmaWJlclRhZyA9IExhenlDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIFwiICsgJ25hbWVkIGltcG9ydHMuJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIG93bmVyTmFtZSA9IG93bmVyID8gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihvd25lcikgOiBudWxsO1xuXG4gICAgICAgICAgICBpZiAob3duZXJOYW1lKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VsZW1lbnQgdHlwZSBpcyBpbnZhbGlkOiBleHBlY3RlZCBhIHN0cmluZyAoZm9yIGJ1aWx0LWluICcgKyAnY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSBjb21wb25lbnRzKSAnICsgKFwiYnV0IGdvdDogXCIgKyAodHlwZSA9PSBudWxsID8gdHlwZSA6IHR5cGVvZiB0eXBlKSArIFwiLlwiICsgaW5mbykpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoZmliZXJUYWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSB0eXBlO1xuICBmaWJlci50eXBlID0gcmVzb2x2ZWRUeXBlO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuXG4gIHtcbiAgICBmaWJlci5fZGVidWdPd25lciA9IG93bmVyO1xuICB9XG5cbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCBtb2RlLCBsYW5lcykge1xuICB2YXIgb3duZXIgPSBudWxsO1xuXG4gIHtcbiAgICBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICB9XG5cbiAgdmFyIHR5cGUgPSBlbGVtZW50LnR5cGU7XG4gIHZhciBrZXkgPSBlbGVtZW50LmtleTtcbiAgdmFyIHBlbmRpbmdQcm9wcyA9IGVsZW1lbnQucHJvcHM7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyh0eXBlLCBrZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGxhbmVzKTtcblxuICB7XG4gICAgZmliZXIuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgfVxuXG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGVsZW1lbnRzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKEZyYWdtZW50LCBlbGVtZW50cywga2V5LCBtb2RlKTtcbiAgZmliZXIubGFuZXMgPSBsYW5lcztcbiAgcmV0dXJuIGZpYmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qcm9maWxlcihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpIHtcbiAge1xuICAgIGlmICh0eXBlb2YgcGVuZGluZ1Byb3BzLmlkICE9PSAnc3RyaW5nJykge1xuICAgICAgZXJyb3IoJ1Byb2ZpbGVyIG11c3Qgc3BlY2lmeSBhbiBcImlkXCIgb2YgdHlwZSBgc3RyaW5nYCBhcyBhIHByb3AuIFJlY2VpdmVkIHRoZSB0eXBlIGAlc2AgaW5zdGVhZC4nLCB0eXBlb2YgcGVuZGluZ1Byb3BzLmlkKTtcbiAgICB9XG4gIH1cblxuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihQcm9maWxlciwgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUgfCBQcm9maWxlTW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfUFJPRklMRVJfVFlQRTtcbiAgZmliZXIubGFuZXMgPSBsYW5lcztcblxuICB7XG4gICAgZmliZXIuc3RhdGVOb2RlID0ge1xuICAgICAgZWZmZWN0RHVyYXRpb246IDAsXG4gICAgICBwYXNzaXZlRWZmZWN0RHVyYXRpb246IDBcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGZpYmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZShwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoU3VzcGVuc2VDb21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9TVVNQRU5TRV9UWVBFO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZUxpc3QocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKFN1c3BlbnNlTGlzdENvbXBvbmVudCwgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpO1xuICBmaWJlci5lbGVtZW50VHlwZSA9IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTtcbiAgZmliZXIubGFuZXMgPSBsYW5lcztcbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKHBlbmRpbmdQcm9wcywgbW9kZSwgbGFuZXMsIGtleSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihPZmZzY3JlZW5Db21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9PRkZTQ1JFRU5fVFlQRTtcbiAgZmliZXIubGFuZXMgPSBsYW5lcztcbiAgdmFyIHByaW1hcnlDaGlsZEluc3RhbmNlID0ge1xuICAgIF92aXNpYmlsaXR5OiBPZmZzY3JlZW5WaXNpYmxlLFxuICAgIF9wZW5kaW5nVmlzaWJpbGl0eTogT2Zmc2NyZWVuVmlzaWJsZSxcbiAgICBfcGVuZGluZ01hcmtlcnM6IG51bGwsXG4gICAgX3JldHJ5Q2FjaGU6IG51bGwsXG4gICAgX3RyYW5zaXRpb25zOiBudWxsLFxuICAgIF9jdXJyZW50OiBudWxsLFxuICAgIGRldGFjaDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGRldGFjaE9mZnNjcmVlbkluc3RhbmNlKHByaW1hcnlDaGlsZEluc3RhbmNlKTtcbiAgICB9LFxuICAgIGF0dGFjaDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGF0dGFjaE9mZnNjcmVlbkluc3RhbmNlKHByaW1hcnlDaGlsZEluc3RhbmNlKTtcbiAgICB9XG4gIH07XG4gIGZpYmVyLnN0YXRlTm9kZSA9IHByaW1hcnlDaGlsZEluc3RhbmNlO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21DYWNoZShwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoQ2FjaGVDb21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9DQUNIRV9UWVBFO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21UZXh0KGNvbnRlbnQsIG1vZGUsIGxhbmVzKSB7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKEhvc3RUZXh0LCBjb250ZW50LCBudWxsLCBtb2RlKTtcbiAgZmliZXIubGFuZXMgPSBsYW5lcztcbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tSG9zdEluc3RhbmNlRm9yRGVsZXRpb24oKSB7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKEhvc3RDb21wb25lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gJ0RFTEVURUQnO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21EZWh5ZHJhdGVkRnJhZ21lbnQoZGVoeWRyYXRlZE5vZGUpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoRGVoeWRyYXRlZEZyYWdtZW50LCBudWxsLCBudWxsLCBOb01vZGUpO1xuICBmaWJlci5zdGF0ZU5vZGUgPSBkZWh5ZHJhdGVkTm9kZTtcbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgbW9kZSwgbGFuZXMpIHtcbiAgdmFyIHBlbmRpbmdQcm9wcyA9IHBvcnRhbC5jaGlsZHJlbiAhPT0gbnVsbCA/IHBvcnRhbC5jaGlsZHJlbiA6IFtdO1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihIb3N0UG9ydGFsLCBwZW5kaW5nUHJvcHMsIHBvcnRhbC5rZXksIG1vZGUpO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuICBmaWJlci5zdGF0ZU5vZGUgPSB7XG4gICAgY29udGFpbmVySW5mbzogcG9ydGFsLmNvbnRhaW5lckluZm8sXG4gICAgcGVuZGluZ0NoaWxkcmVuOiBudWxsLFxuICAgIC8vIFVzZWQgYnkgcGVyc2lzdGVudCB1cGRhdGVzXG4gICAgaW1wbGVtZW50YXRpb246IHBvcnRhbC5pbXBsZW1lbnRhdGlvblxuICB9O1xuICByZXR1cm4gZmliZXI7XG59IC8vIFVzZWQgZm9yIHN0YXNoaW5nIFdJUCBwcm9wZXJ0aWVzIHRvIHJlcGxheSBmYWlsZWQgd29yayBpbiBERVYuXG5cbmZ1bmN0aW9uIGFzc2lnbkZpYmVyUHJvcGVydGllc0luREVWKHRhcmdldCwgc291cmNlKSB7XG4gIGlmICh0YXJnZXQgPT09IG51bGwpIHtcbiAgICAvLyBUaGlzIEZpYmVyJ3MgaW5pdGlhbCBwcm9wZXJ0aWVzIHdpbGwgYWx3YXlzIGJlIG92ZXJ3cml0dGVuLlxuICAgIC8vIFdlIG9ubHkgdXNlIGEgRmliZXIgdG8gZW5zdXJlIHRoZSBzYW1lIGhpZGRlbiBjbGFzcyBzbyBERVYgaXNuJ3Qgc2xvdy5cbiAgICB0YXJnZXQgPSBjcmVhdGVGaWJlcihJbmRldGVybWluYXRlQ29tcG9uZW50LCBudWxsLCBudWxsLCBOb01vZGUpO1xuICB9IC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSB3cml0dGVuIGFzIGEgbGlzdCBvZiBhbGwgcHJvcGVydGllcy5cbiAgLy8gV2UgdHJpZWQgdG8gdXNlIE9iamVjdC5hc3NpZ24oKSBpbnN0ZWFkIGJ1dCB0aGlzIGlzIGNhbGxlZCBpblxuICAvLyB0aGUgaG90dGVzdCBwYXRoLCBhbmQgT2JqZWN0LmFzc2lnbigpIHdhcyB0b28gc2xvdzpcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMjUwMlxuICAvLyBUaGlzIGNvZGUgaXMgREVWLW9ubHkgc28gc2l6ZSBpcyBub3QgYSBjb25jZXJuLlxuXG5cbiAgdGFyZ2V0LnRhZyA9IHNvdXJjZS50YWc7XG4gIHRhcmdldC5rZXkgPSBzb3VyY2Uua2V5O1xuICB0YXJnZXQuZWxlbWVudFR5cGUgPSBzb3VyY2UuZWxlbWVudFR5cGU7XG4gIHRhcmdldC50eXBlID0gc291cmNlLnR5cGU7XG4gIHRhcmdldC5zdGF0ZU5vZGUgPSBzb3VyY2Uuc3RhdGVOb2RlO1xuICB0YXJnZXQucmV0dXJuID0gc291cmNlLnJldHVybjtcbiAgdGFyZ2V0LmNoaWxkID0gc291cmNlLmNoaWxkO1xuICB0YXJnZXQuc2libGluZyA9IHNvdXJjZS5zaWJsaW5nO1xuICB0YXJnZXQuaW5kZXggPSBzb3VyY2UuaW5kZXg7XG4gIHRhcmdldC5yZWYgPSBzb3VyY2UucmVmO1xuICB0YXJnZXQucmVmQ2xlYW51cCA9IHNvdXJjZS5yZWZDbGVhbnVwO1xuICB0YXJnZXQucGVuZGluZ1Byb3BzID0gc291cmNlLnBlbmRpbmdQcm9wcztcbiAgdGFyZ2V0Lm1lbW9pemVkUHJvcHMgPSBzb3VyY2UubWVtb2l6ZWRQcm9wcztcbiAgdGFyZ2V0LnVwZGF0ZVF1ZXVlID0gc291cmNlLnVwZGF0ZVF1ZXVlO1xuICB0YXJnZXQubWVtb2l6ZWRTdGF0ZSA9IHNvdXJjZS5tZW1vaXplZFN0YXRlO1xuICB0YXJnZXQuZGVwZW5kZW5jaWVzID0gc291cmNlLmRlcGVuZGVuY2llcztcbiAgdGFyZ2V0Lm1vZGUgPSBzb3VyY2UubW9kZTtcbiAgdGFyZ2V0LmZsYWdzID0gc291cmNlLmZsYWdzO1xuICB0YXJnZXQuc3VidHJlZUZsYWdzID0gc291cmNlLnN1YnRyZWVGbGFncztcbiAgdGFyZ2V0LmRlbGV0aW9ucyA9IHNvdXJjZS5kZWxldGlvbnM7XG4gIHRhcmdldC5sYW5lcyA9IHNvdXJjZS5sYW5lcztcbiAgdGFyZ2V0LmNoaWxkTGFuZXMgPSBzb3VyY2UuY2hpbGRMYW5lcztcbiAgdGFyZ2V0LmFsdGVybmF0ZSA9IHNvdXJjZS5hbHRlcm5hdGU7XG5cbiAge1xuICAgIHRhcmdldC5hY3R1YWxEdXJhdGlvbiA9IHNvdXJjZS5hY3R1YWxEdXJhdGlvbjtcbiAgICB0YXJnZXQuYWN0dWFsU3RhcnRUaW1lID0gc291cmNlLmFjdHVhbFN0YXJ0VGltZTtcbiAgICB0YXJnZXQuc2VsZkJhc2VEdXJhdGlvbiA9IHNvdXJjZS5zZWxmQmFzZUR1cmF0aW9uO1xuICAgIHRhcmdldC50cmVlQmFzZUR1cmF0aW9uID0gc291cmNlLnRyZWVCYXNlRHVyYXRpb247XG4gIH1cblxuICB0YXJnZXQuX2RlYnVnSW5mbyA9IHNvdXJjZS5fZGVidWdJbmZvO1xuICB0YXJnZXQuX2RlYnVnT3duZXIgPSBzb3VyY2UuX2RlYnVnT3duZXI7XG4gIHRhcmdldC5fZGVidWdOZWVkc1JlbW91bnQgPSBzb3VyY2UuX2RlYnVnTmVlZHNSZW1vdW50O1xuICB0YXJnZXQuX2RlYnVnSG9va1R5cGVzID0gc291cmNlLl9kZWJ1Z0hvb2tUeXBlcztcbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gRmliZXJSb290Tm9kZShjb250YWluZXJJbmZvLCAvLyAkRmxvd0ZpeE1lW21pc3NpbmctbG9jYWwtYW5ub3RdXG50YWcsIGh5ZHJhdGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvciwgZm9ybVN0YXRlKSB7XG4gIHRoaXMudGFnID0gdGFnO1xuICB0aGlzLmNvbnRhaW5lckluZm8gPSBjb250YWluZXJJbmZvO1xuICB0aGlzLnBlbmRpbmdDaGlsZHJlbiA9IG51bGw7XG4gIHRoaXMuY3VycmVudCA9IG51bGw7XG4gIHRoaXMucGluZ0NhY2hlID0gbnVsbDtcbiAgdGhpcy5maW5pc2hlZFdvcmsgPSBudWxsO1xuICB0aGlzLnRpbWVvdXRIYW5kbGUgPSBub1RpbWVvdXQ7XG4gIHRoaXMuY2FuY2VsUGVuZGluZ0NvbW1pdCA9IG51bGw7XG4gIHRoaXMuY29udGV4dCA9IG51bGw7XG4gIHRoaXMucGVuZGluZ0NvbnRleHQgPSBudWxsO1xuICB0aGlzLm5leHQgPSBudWxsO1xuICB0aGlzLmNhbGxiYWNrTm9kZSA9IG51bGw7XG4gIHRoaXMuY2FsbGJhY2tQcmlvcml0eSA9IE5vTGFuZTtcbiAgdGhpcy5leHBpcmF0aW9uVGltZXMgPSBjcmVhdGVMYW5lTWFwKE5vVGltZXN0YW1wKTtcbiAgdGhpcy5wZW5kaW5nTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLnN1c3BlbmRlZExhbmVzID0gTm9MYW5lcztcbiAgdGhpcy5waW5nZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuZXhwaXJlZExhbmVzID0gTm9MYW5lcztcbiAgdGhpcy5maW5pc2hlZExhbmVzID0gTm9MYW5lcztcbiAgdGhpcy5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuc2hlbGxTdXNwZW5kQ291bnRlciA9IDA7XG4gIHRoaXMuZW50YW5nbGVkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmVudGFuZ2xlbWVudHMgPSBjcmVhdGVMYW5lTWFwKE5vTGFuZXMpO1xuICB0aGlzLmhpZGRlblVwZGF0ZXMgPSBjcmVhdGVMYW5lTWFwKG51bGwpO1xuICB0aGlzLmlkZW50aWZpZXJQcmVmaXggPSBpZGVudGlmaWVyUHJlZml4O1xuICB0aGlzLm9uUmVjb3ZlcmFibGVFcnJvciA9IG9uUmVjb3ZlcmFibGVFcnJvcjtcblxuICB7XG4gICAgdGhpcy5wb29sZWRDYWNoZSA9IG51bGw7XG4gICAgdGhpcy5wb29sZWRDYWNoZUxhbmVzID0gTm9MYW5lcztcbiAgfVxuXG4gIHRoaXMuZm9ybVN0YXRlID0gZm9ybVN0YXRlO1xuICB0aGlzLmluY29tcGxldGVUcmFuc2l0aW9ucyA9IG5ldyBNYXAoKTtcblxuICB7XG4gICAgdGhpcy5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgdGhpcy5wYXNzaXZlRWZmZWN0RHVyYXRpb24gPSAwO1xuICB9XG5cbiAge1xuICAgIHRoaXMubWVtb2l6ZWRVcGRhdGVycyA9IG5ldyBTZXQoKTtcbiAgICB2YXIgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcCA9IHRoaXMucGVuZGluZ1VwZGF0ZXJzTGFuZU1hcCA9IFtdO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IFRvdGFsTGFuZXM7IF9pKyspIHtcbiAgICAgIHBlbmRpbmdVcGRhdGVyc0xhbmVNYXAucHVzaChuZXcgU2V0KCkpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBDb25jdXJyZW50Um9vdDpcbiAgICAgICAgdGhpcy5fZGVidWdSb290VHlwZSA9IGh5ZHJhdGUgPyAnaHlkcmF0ZVJvb3QoKScgOiAnY3JlYXRlUm9vdCgpJztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgTGVnYWN5Um9vdDpcbiAgICAgICAgdGhpcy5fZGVidWdSb290VHlwZSA9IGh5ZHJhdGUgPyAnaHlkcmF0ZSgpJyA6ICdyZW5kZXIoKSc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCAvLyBUT0RPOiBXZSBoYXZlIHNldmVyYWwgb2YgdGhlc2UgYXJndW1lbnRzIHRoYXQgYXJlIGNvbmNlcHR1YWxseSBwYXJ0IG9mIHRoZVxuLy8gaG9zdCBjb25maWcsIGJ1dCBiZWNhdXNlIHRoZXkgYXJlIHBhc3NlZCBpbiBhdCBydW50aW1lLCB3ZSBoYXZlIHRvIHRocmVhZFxuLy8gdGhlbSB0aHJvdWdoIHRoZSByb290IGNvbnN0cnVjdG9yLiBQZXJoYXBzIHdlIHNob3VsZCBwdXQgdGhlbSBhbGwgaW50byBhXG4vLyBzaW5nbGUgdHlwZSwgbGlrZSBhIER5bmFtaWNIb3N0Q29uZmlnIHRoYXQgaXMgZGVmaW5lZCBieSB0aGUgcmVuZGVyZXIuXG5pZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IsIHRyYW5zaXRpb25DYWxsYmFja3MsIGZvcm1TdGF0ZSkge1xuICAvLyAkRmxvd0ZpeE1lW2ludmFsaWQtY29uc3RydWN0b3JdIEZsb3cgbm8gbG9uZ2VyIHN1cHBvcnRzIGNhbGxpbmcgbmV3IG9uIGZ1bmN0aW9uc1xuICB2YXIgcm9vdCA9IG5ldyBGaWJlclJvb3ROb2RlKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yLCBmb3JtU3RhdGUpO1xuICAvLyBzdGF0ZU5vZGUgaXMgYW55LlxuXG5cbiAgdmFyIHVuaW5pdGlhbGl6ZWRGaWJlciA9IGNyZWF0ZUhvc3RSb290RmliZXIodGFnLCBpc1N0cmljdE1vZGUpO1xuICByb290LmN1cnJlbnQgPSB1bmluaXRpYWxpemVkRmliZXI7XG4gIHVuaW5pdGlhbGl6ZWRGaWJlci5zdGF0ZU5vZGUgPSByb290O1xuXG4gIHtcbiAgICB2YXIgaW5pdGlhbENhY2hlID0gY3JlYXRlQ2FjaGUoKTtcbiAgICByZXRhaW5DYWNoZShpbml0aWFsQ2FjaGUpOyAvLyBUaGUgcG9vbGVkQ2FjaGUgaXMgYSBmcmVzaCBjYWNoZSBpbnN0YW5jZSB0aGF0IGlzIHVzZWQgdGVtcG9yYXJpbHlcbiAgICAvLyBmb3IgbmV3bHkgbW91bnRlZCBib3VuZGFyaWVzIGR1cmluZyBhIHJlbmRlci4gSW4gZ2VuZXJhbCwgdGhlXG4gICAgLy8gcG9vbGVkQ2FjaGUgaXMgYWx3YXlzIGNsZWFyZWQgZnJvbSB0aGUgcm9vdCBhdCB0aGUgZW5kIG9mIGEgcmVuZGVyOlxuICAgIC8vIGl0IGlzIGVpdGhlciByZWxlYXNlZCB3aGVuIHJlbmRlciBjb21taXRzLCBvciBtb3ZlZCB0byBhbiBPZmZzY3JlZW5cbiAgICAvLyBjb21wb25lbnQgaWYgcmVuZGVyaW5nIHN1c3BlbmRzLiBCZWNhdXNlIHRoZSBsaWZldGltZSBvZiB0aGUgcG9vbGVkXG4gICAgLy8gY2FjaGUgaXMgZGlzdGluY3QgZnJvbSB0aGUgbWFpbiBtZW1vaXplZFN0YXRlLmNhY2hlLCBpdCBtdXN0IGJlXG4gICAgLy8gcmV0YWluZWQgc2VwYXJhdGVseS5cblxuICAgIHJvb3QucG9vbGVkQ2FjaGUgPSBpbml0aWFsQ2FjaGU7XG4gICAgcmV0YWluQ2FjaGUoaW5pdGlhbENhY2hlKTtcbiAgICB2YXIgaW5pdGlhbFN0YXRlID0ge1xuICAgICAgZWxlbWVudDogaW5pdGlhbENoaWxkcmVuLFxuICAgICAgaXNEZWh5ZHJhdGVkOiBoeWRyYXRlLFxuICAgICAgY2FjaGU6IGluaXRpYWxDYWNoZVxuICAgIH07XG4gICAgdW5pbml0aWFsaXplZEZpYmVyLm1lbW9pemVkU3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gIH1cblxuICBpbml0aWFsaXplVXBkYXRlUXVldWUodW5pbml0aWFsaXplZEZpYmVyKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5cbnZhciBSZWFjdFZlcnNpb24gPSAnMTguMy4wLWNhbmFyeS0xNDg5OGI2YTktMjAyNDAzMTgnO1xuXG5mdW5jdGlvbiBjcmVhdGVQb3J0YWwkMShjaGlsZHJlbiwgY29udGFpbmVySW5mbywgLy8gVE9ETzogZmlndXJlIG91dCB0aGUgQVBJIGZvciBjcm9zcy1yZW5kZXJlciBpbXBsZW1lbnRhdGlvbi5cbmltcGxlbWVudGF0aW9uKSB7XG4gIHZhciBrZXkgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IG51bGw7XG5cbiAge1xuICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oa2V5KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLy8gVGhpcyB0YWcgYWxsb3cgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IFBvcnRhbFxuICAgICQkdHlwZW9mOiBSRUFDVF9QT1JUQUxfVFlQRSxcbiAgICBrZXk6IGtleSA9PSBudWxsID8gbnVsbCA6ICcnICsga2V5LFxuICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcbiAgICBjb250YWluZXJJbmZvOiBjb250YWluZXJJbmZvLFxuICAgIGltcGxlbWVudGF0aW9uOiBpbXBsZW1lbnRhdGlvblxuICB9O1xufVxuXG4vLyBNaWdodCBhZGQgUFJPRklMRSBsYXRlci5cblxudmFyIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXM7XG52YXIgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGU7XG5cbntcbiAgZGlkV2FybkFib3V0TmVzdGVkVXBkYXRlcyA9IGZhbHNlO1xuICBkaWRXYXJuQWJvdXRGaW5kTm9kZUluU3RyaWN0TW9kZSA9IHt9O1xufVxuXG5mdW5jdGlvbiBnZXRDb250ZXh0Rm9yU3VidHJlZShwYXJlbnRDb21wb25lbnQpIHtcbiAgaWYgKCFwYXJlbnRDb21wb25lbnQpIHtcbiAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xuICB9XG5cbiAgdmFyIGZpYmVyID0gZ2V0KHBhcmVudENvbXBvbmVudCk7XG4gIHZhciBwYXJlbnRDb250ZXh0ID0gZmluZEN1cnJlbnRVbm1hc2tlZENvbnRleHQoZmliZXIpO1xuXG4gIGlmIChmaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgdmFyIENvbXBvbmVudCA9IGZpYmVyLnR5cGU7XG5cbiAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgcmV0dXJuIHByb2Nlc3NDaGlsZENvbnRleHQoZmliZXIsIENvbXBvbmVudCwgcGFyZW50Q29udGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhcmVudENvbnRleHQ7XG59XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VXaXRoV2FybmluZyhjb21wb25lbnQsIG1ldGhvZE5hbWUpIHtcbiAge1xuICAgIHZhciBmaWJlciA9IGdldChjb21wb25lbnQpO1xuXG4gICAgaWYgKGZpYmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0eXBlb2YgY29tcG9uZW50LnJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBmaW5kIG5vZGUgb24gYW4gdW5tb3VudGVkIGNvbXBvbmVudC4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoY29tcG9uZW50KS5qb2luKCcsJyk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkFyZ3VtZW50IGFwcGVhcnMgdG8gbm90IGJlIGEgUmVhY3RDb21wb25lbnQuIEtleXM6IFwiICsga2V5cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGhvc3RGaWJlciA9IGZpbmRDdXJyZW50SG9zdEZpYmVyKGZpYmVyKTtcblxuICAgIGlmIChob3N0RmliZXIgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChob3N0RmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGVbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGVbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgICB2YXIgcHJldmlvdXNGaWJlciA9IGN1cnJlbnQ7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBzZXRDdXJyZW50RmliZXIoaG9zdEZpYmVyKTtcblxuICAgICAgICAgIGlmIChmaWJlci5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICAgICAgZXJyb3IoJyVzIGlzIGRlcHJlY2F0ZWQgaW4gU3RyaWN0TW9kZS4gJyArICclcyB3YXMgcGFzc2VkIGFuIGluc3RhbmNlIG9mICVzIHdoaWNoIGlzIGluc2lkZSBTdHJpY3RNb2RlLiAnICsgJ0luc3RlYWQsIGFkZCBhIHJlZiBkaXJlY3RseSB0byB0aGUgZWxlbWVudCB5b3Ugd2FudCB0byByZWZlcmVuY2UuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zdHJpY3QtbW9kZS1maW5kLW5vZGUnLCBtZXRob2ROYW1lLCBtZXRob2ROYW1lLCBjb21wb25lbnROYW1lKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IoJyVzIGlzIGRlcHJlY2F0ZWQgaW4gU3RyaWN0TW9kZS4gJyArICclcyB3YXMgcGFzc2VkIGFuIGluc3RhbmNlIG9mICVzIHdoaWNoIHJlbmRlcnMgU3RyaWN0TW9kZSBjaGlsZHJlbi4gJyArICdJbnN0ZWFkLCBhZGQgYSByZWYgZGlyZWN0bHkgdG8gdGhlIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVmZXJlbmNlLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtZmluZC1ub2RlJywgbWV0aG9kTmFtZSwgbWV0aG9kTmFtZSwgY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIC8vIElkZWFsbHkgdGhpcyBzaG91bGQgcmVzZXQgdG8gcHJldmlvdXMgYnV0IHRoaXMgc2hvdWxkbid0IGJlIGNhbGxlZCBpblxuICAgICAgICAgIC8vIHJlbmRlciBhbmQgdGhlcmUncyBhbm90aGVyIHdhcm5pbmcgZm9yIHRoYXQgYW55d2F5LlxuICAgICAgICAgIGlmIChwcmV2aW91c0ZpYmVyKSB7XG4gICAgICAgICAgICBzZXRDdXJyZW50RmliZXIocHJldmlvdXNGaWJlcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldFB1YmxpY0luc3RhbmNlKGhvc3RGaWJlci5zdGF0ZU5vZGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IsIHRyYW5zaXRpb25DYWxsYmFja3MpIHtcbiAgdmFyIGh5ZHJhdGUgPSBmYWxzZTtcbiAgdmFyIGluaXRpYWxDaGlsZHJlbiA9IG51bGw7XG4gIHJldHVybiBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IsIHRyYW5zaXRpb25DYWxsYmFja3MsIG51bGwpO1xufVxuZnVuY3Rpb24gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgLy8gVE9ETzogUmVtb3ZlIGBjYWxsYmFja2Agd2hlbiB3ZSBkZWxldGUgbGVnYWN5IG1vZGUuXG5jYWxsYmFjaywgY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRpb25DYWxsYmFja3MsIGlzU3RyaWN0TW9kZSwgY29uY3VycmVudFVwZGF0ZXNCeURlZmF1bHRPdmVycmlkZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yLCB0cmFuc2l0aW9uQ2FsbGJhY2tzLCBmb3JtU3RhdGUpIHtcbiAgdmFyIGh5ZHJhdGUgPSB0cnVlO1xuICB2YXIgcm9vdCA9IGNyZWF0ZUZpYmVyUm9vdChjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUsIGluaXRpYWxDaGlsZHJlbiwgaHlkcmF0aW9uQ2FsbGJhY2tzLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvciwgdHJhbnNpdGlvbkNhbGxiYWNrcywgZm9ybVN0YXRlKTsgLy8gVE9ETzogTW92ZSB0aGlzIHRvIEZpYmVyUm9vdCBjb25zdHJ1Y3RvclxuXG4gIHJvb3QuY29udGV4dCA9IGdldENvbnRleHRGb3JTdWJ0cmVlKG51bGwpOyAvLyBTY2hlZHVsZSB0aGUgaW5pdGlhbCByZW5kZXIuIEluIGEgaHlkcmF0aW9uIHJvb3QsIHRoaXMgaXMgZGlmZmVyZW50IGZyb21cbiAgLy8gYSByZWd1bGFyIHVwZGF0ZSBiZWNhdXNlIHRoZSBpbml0aWFsIHJlbmRlciBtdXN0IG1hdGNoIHdhcyB3YXMgcmVuZGVyZWRcbiAgLy8gb24gdGhlIHNlcnZlci5cbiAgLy8gTk9URTogVGhpcyB1cGRhdGUgaW50ZW50aW9uYWxseSBkb2Vzbid0IGhhdmUgYSBwYXlsb2FkLiBXZSdyZSBvbmx5IHVzaW5nXG4gIC8vIHRoZSB1cGRhdGUgdG8gc2NoZWR1bGUgd29yayBvbiB0aGUgcm9vdCBmaWJlciAoYW5kLCBmb3IgbGVnYWN5IHJvb3RzLCB0b1xuICAvLyBlbnF1ZXVlIHRoZSBjYWxsYmFjayBpZiBvbmUgaXMgcHJvdmlkZWQpLlxuXG4gIHZhciBjdXJyZW50ID0gcm9vdC5jdXJyZW50O1xuICB2YXIgbGFuZSA9IHJlcXVlc3RVcGRhdGVMYW5lKGN1cnJlbnQpO1xuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGxhbmUpO1xuICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsID8gY2FsbGJhY2sgOiBudWxsO1xuICBlbnF1ZXVlVXBkYXRlKGN1cnJlbnQsIHVwZGF0ZSwgbGFuZSk7XG4gIHNjaGVkdWxlSW5pdGlhbEh5ZHJhdGlvbk9uUm9vdChyb290LCBsYW5lKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5mdW5jdGlvbiB1cGRhdGVDb250YWluZXIoZWxlbWVudCwgY29udGFpbmVyLCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBvblNjaGVkdWxlUm9vdChjb250YWluZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgdmFyIGN1cnJlbnQkMSA9IGNvbnRhaW5lci5jdXJyZW50O1xuICB2YXIgbGFuZSA9IHJlcXVlc3RVcGRhdGVMYW5lKGN1cnJlbnQkMSk7XG5cbiAge1xuICAgIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSk7XG4gIH1cblxuICB2YXIgY29udGV4dCA9IGdldENvbnRleHRGb3JTdWJ0cmVlKHBhcmVudENvbXBvbmVudCk7XG5cbiAgaWYgKGNvbnRhaW5lci5jb250ZXh0ID09PSBudWxsKSB7XG4gICAgY29udGFpbmVyLmNvbnRleHQgPSBjb250ZXh0O1xuICB9IGVsc2Uge1xuICAgIGNvbnRhaW5lci5wZW5kaW5nQ29udGV4dCA9IGNvbnRleHQ7XG4gIH1cblxuICB7XG4gICAgaWYgKGlzUmVuZGVyaW5nICYmIGN1cnJlbnQgIT09IG51bGwgJiYgIWRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSB0cnVlO1xuXG4gICAgICBlcnJvcignUmVuZGVyIG1ldGhvZHMgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGU7ICcgKyAndHJpZ2dlcmluZyBuZXN0ZWQgY29tcG9uZW50IHVwZGF0ZXMgZnJvbSByZW5kZXIgaXMgbm90IGFsbG93ZWQuICcgKyAnSWYgbmVjZXNzYXJ5LCB0cmlnZ2VyIG5lc3RlZCB1cGRhdGVzIGluIGNvbXBvbmVudERpZFVwZGF0ZS5cXG5cXG4nICsgJ0NoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mICVzLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoY3VycmVudCkgfHwgJ1Vua25vd24nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGxhbmUpOyAvLyBDYXV0aW9uOiBSZWFjdCBEZXZUb29scyBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByb3BlcnR5XG4gIC8vIGJlaW5nIGNhbGxlZCBcImVsZW1lbnRcIi5cblxuICB1cGRhdGUucGF5bG9hZCA9IHtcbiAgICBlbGVtZW50OiBlbGVtZW50XG4gIH07XG4gIGNhbGxiYWNrID0gY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjYWxsYmFjaztcblxuICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGVycm9yKCdFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICB9XG5cbiAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKGN1cnJlbnQkMSwgdXBkYXRlLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBjdXJyZW50JDEsIGxhbmUpO1xuICAgIGVudGFuZ2xlVHJhbnNpdGlvbnMocm9vdCwgY3VycmVudCQxLCBsYW5lKTtcbiAgfVxuXG4gIHJldHVybiBsYW5lO1xufVxuZnVuY3Rpb24gZ2V0UHVibGljUm9vdEluc3RhbmNlKGNvbnRhaW5lcikge1xuICB2YXIgY29udGFpbmVyRmliZXIgPSBjb250YWluZXIuY3VycmVudDtcblxuICBpZiAoIWNvbnRhaW5lckZpYmVyLmNoaWxkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzd2l0Y2ggKGNvbnRhaW5lckZpYmVyLmNoaWxkLnRhZykge1xuICAgIGNhc2UgSG9zdFNpbmdsZXRvbjpcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gZ2V0UHVibGljSW5zdGFuY2UoY29udGFpbmVyRmliZXIuY2hpbGQuc3RhdGVOb2RlKTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY29udGFpbmVyRmliZXIuY2hpbGQuc3RhdGVOb2RlO1xuICB9XG59XG5mdW5jdGlvbiBhdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb24oZmliZXIpIHtcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICB2YXIgcm9vdCA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgICAgICAgIC8vIEZsdXNoIHRoZSBmaXJzdCBzY2hlZHVsZWQgXCJ1cGRhdGVcIi5cbiAgICAgICAgICB2YXIgbGFuZXMgPSBnZXRIaWdoZXN0UHJpb3JpdHlQZW5kaW5nTGFuZXMocm9vdCk7XG4gICAgICAgICAgZmx1c2hSb290KHJvb3QsIGxhbmVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgZmx1c2hTeW5jJDEoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTsgLy8gSWYgd2UncmUgc3RpbGwgYmxvY2tlZCBhZnRlciB0aGlzLCB3ZSBuZWVkIHRvIGluY3JlYXNlXG4gICAgICAgIC8vIHRoZSBwcmlvcml0eSBvZiBhbnkgcHJvbWlzZXMgcmVzb2x2aW5nIHdpdGhpbiB0aGlzXG4gICAgICAgIC8vIGJvdW5kYXJ5IHNvIHRoYXQgdGhleSBuZXh0IGF0dGVtcHQgYWxzbyBoYXMgaGlnaGVyIHByaS5cblxuICAgICAgICB2YXIgcmV0cnlMYW5lID0gU3luY0xhbmU7XG4gICAgICAgIG1hcmtSZXRyeUxhbmVJZk5vdEh5ZHJhdGVkKGZpYmVyLCByZXRyeUxhbmUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrUmV0cnlMYW5lSW1wbChmaWJlciwgcmV0cnlMYW5lKSB7XG4gIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCAmJiBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICBzdXNwZW5zZVN0YXRlLnJldHJ5TGFuZSA9IGhpZ2hlclByaW9yaXR5TGFuZShzdXNwZW5zZVN0YXRlLnJldHJ5TGFuZSwgcmV0cnlMYW5lKTtcbiAgfVxufSAvLyBJbmNyZWFzZXMgdGhlIHByaW9yaXR5IG9mIHRoZW5hYmxlcyB3aGVuIHRoZXkgcmVzb2x2ZSB3aXRoaW4gdGhpcyBib3VuZGFyeS5cblxuXG5mdW5jdGlvbiBtYXJrUmV0cnlMYW5lSWZOb3RIeWRyYXRlZChmaWJlciwgcmV0cnlMYW5lKSB7XG4gIG1hcmtSZXRyeUxhbmVJbXBsKGZpYmVyLCByZXRyeUxhbmUpO1xuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gIGlmIChhbHRlcm5hdGUpIHtcbiAgICBtYXJrUmV0cnlMYW5lSW1wbChhbHRlcm5hdGUsIHJldHJ5TGFuZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oZmliZXIpIHtcbiAgaWYgKGZpYmVyLnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAvLyBXZSBpZ25vcmUgSG9zdFJvb3RzIGhlcmUgYmVjYXVzZSB3ZSBjYW4ndCBpbmNyZWFzZVxuICAgIC8vIHRoZWlyIHByaW9yaXR5IGFuZCB0aGV5IHNob3VsZCBub3Qgc3VzcGVuZCBvbiBJL08sXG4gICAgLy8gc2luY2UgeW91IGhhdmUgdG8gd3JhcCBhbnl0aGluZyB0aGF0IG1pZ2h0IHN1c3BlbmQgaW5cbiAgICAvLyBTdXNwZW5zZS5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbGFuZSA9IFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgbGFuZSk7XG4gIH1cblxuICBtYXJrUmV0cnlMYW5lSWZOb3RIeWRyYXRlZChmaWJlciwgbGFuZSk7XG59XG5mdW5jdGlvbiBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkoZmliZXIpIHtcbiAgaWYgKGZpYmVyLnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAvLyBXZSBpZ25vcmUgSG9zdFJvb3RzIGhlcmUgYmVjYXVzZSB3ZSBjYW4ndCBpbmNyZWFzZVxuICAgIC8vIHRoZWlyIHByaW9yaXR5IG90aGVyIHRoYW4gc3luY2hyb25vdXNseSBmbHVzaCBpdC5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbGFuZSA9IHJlcXVlc3RVcGRhdGVMYW5lKGZpYmVyKTtcbiAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIGxhbmUpO1xuXG4gIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgfVxuXG4gIG1hcmtSZXRyeUxhbmVJZk5vdEh5ZHJhdGVkKGZpYmVyLCBsYW5lKTtcbn1cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKGZpYmVyKSB7XG4gIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHMoZmliZXIpO1xuXG4gIGlmIChob3N0RmliZXIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBnZXRQdWJsaWNJbnN0YW5jZShob3N0RmliZXIuc3RhdGVOb2RlKTtcbn1cblxudmFyIHNob3VsZEVycm9ySW1wbCA9IGZ1bmN0aW9uIChmaWJlcikge1xuICByZXR1cm4gbnVsbDtcbn07XG5cbmZ1bmN0aW9uIHNob3VsZEVycm9yKGZpYmVyKSB7XG4gIHJldHVybiBzaG91bGRFcnJvckltcGwoZmliZXIpO1xufVxuXG52YXIgc2hvdWxkU3VzcGVuZEltcGwgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuZnVuY3Rpb24gc2hvdWxkU3VzcGVuZChmaWJlcikge1xuICByZXR1cm4gc2hvdWxkU3VzcGVuZEltcGwoZmliZXIpO1xufVxudmFyIG92ZXJyaWRlSG9va1N0YXRlID0gbnVsbDtcbnZhciBvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGggPSBudWxsO1xudmFyIG92ZXJyaWRlSG9va1N0YXRlUmVuYW1lUGF0aCA9IG51bGw7XG52YXIgb3ZlcnJpZGVQcm9wcyA9IG51bGw7XG52YXIgb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGggPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoID0gbnVsbDtcbnZhciBzY2hlZHVsZVVwZGF0ZSA9IG51bGw7XG52YXIgc2V0RXJyb3JIYW5kbGVyID0gbnVsbDtcbnZhciBzZXRTdXNwZW5zZUhhbmRsZXIgPSBudWxsO1xuXG57XG4gIHZhciBjb3B5V2l0aERlbGV0ZUltcGwgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCBpbmRleCkge1xuICAgIHZhciBrZXkgPSBwYXRoW2luZGV4XTtcbiAgICB2YXIgdXBkYXRlZCA9IGlzQXJyYXkob2JqKSA/IG9iai5zbGljZSgpIDogYXNzaWduKHt9LCBvYmopO1xuXG4gICAgaWYgKGluZGV4ICsgMSA9PT0gcGF0aC5sZW5ndGgpIHtcbiAgICAgIGlmIChpc0FycmF5KHVwZGF0ZWQpKSB7XG4gICAgICAgIHVwZGF0ZWQuc3BsaWNlKGtleSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgdXBkYXRlZFtrZXldO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdXBkYXRlZDtcbiAgICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gbnVtYmVyIG9yIHN0cmluZyBpcyBmaW5lIGhlcmVcblxuXG4gICAgdXBkYXRlZFtrZXldID0gY29weVdpdGhEZWxldGVJbXBsKG9ialtrZXldLCBwYXRoLCBpbmRleCArIDEpO1xuICAgIHJldHVybiB1cGRhdGVkO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aERlbGV0ZSA9IGZ1bmN0aW9uIChvYmosIHBhdGgpIHtcbiAgICByZXR1cm4gY29weVdpdGhEZWxldGVJbXBsKG9iaiwgcGF0aCwgMCk7XG4gIH07XG5cbiAgdmFyIGNvcHlXaXRoUmVuYW1lSW1wbCA9IGZ1bmN0aW9uIChvYmosIG9sZFBhdGgsIG5ld1BhdGgsIGluZGV4KSB7XG4gICAgdmFyIG9sZEtleSA9IG9sZFBhdGhbaW5kZXhdO1xuICAgIHZhciB1cGRhdGVkID0gaXNBcnJheShvYmopID8gb2JqLnNsaWNlKCkgOiBhc3NpZ24oe30sIG9iaik7XG5cbiAgICBpZiAoaW5kZXggKyAxID09PSBvbGRQYXRoLmxlbmd0aCkge1xuICAgICAgdmFyIG5ld0tleSA9IG5ld1BhdGhbaW5kZXhdOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG5cbiAgICAgIHVwZGF0ZWRbbmV3S2V5XSA9IHVwZGF0ZWRbb2xkS2V5XTtcblxuICAgICAgaWYgKGlzQXJyYXkodXBkYXRlZCkpIHtcbiAgICAgICAgdXBkYXRlZC5zcGxpY2Uob2xkS2V5LCAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZSB1cGRhdGVkW29sZEtleV07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gbnVtYmVyIG9yIHN0cmluZyBpcyBmaW5lIGhlcmVcbiAgICAgIHVwZGF0ZWRbb2xkS2V5XSA9IGNvcHlXaXRoUmVuYW1lSW1wbCggLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdXNlXSBudW1iZXIgb3Igc3RyaW5nIGlzIGZpbmUgaGVyZVxuICAgICAgb2JqW29sZEtleV0sIG9sZFBhdGgsIG5ld1BhdGgsIGluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVwZGF0ZWQ7XG4gIH07XG5cbiAgdmFyIGNvcHlXaXRoUmVuYW1lID0gZnVuY3Rpb24gKG9iaiwgb2xkUGF0aCwgbmV3UGF0aCkge1xuICAgIGlmIChvbGRQYXRoLmxlbmd0aCAhPT0gbmV3UGF0aC5sZW5ndGgpIHtcbiAgICAgIHdhcm4oJ2NvcHlXaXRoUmVuYW1lKCkgZXhwZWN0cyBwYXRocyBvZiB0aGUgc2FtZSBsZW5ndGgnKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5ld1BhdGgubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgIGlmIChvbGRQYXRoW2ldICE9PSBuZXdQYXRoW2ldKSB7XG4gICAgICAgICAgd2FybignY29weVdpdGhSZW5hbWUoKSBleHBlY3RzIHBhdGhzIHRvIGJlIHRoZSBzYW1lIGV4Y2VwdCBmb3IgdGhlIGRlZXBlc3Qga2V5Jyk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY29weVdpdGhSZW5hbWVJbXBsKG9iaiwgb2xkUGF0aCwgbmV3UGF0aCwgMCk7XG4gIH07XG5cbiAgdmFyIGNvcHlXaXRoU2V0SW1wbCA9IGZ1bmN0aW9uIChvYmosIHBhdGgsIGluZGV4LCB2YWx1ZSkge1xuICAgIGlmIChpbmRleCA+PSBwYXRoLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHZhciBrZXkgPSBwYXRoW2luZGV4XTtcbiAgICB2YXIgdXBkYXRlZCA9IGlzQXJyYXkob2JqKSA/IG9iai5zbGljZSgpIDogYXNzaWduKHt9LCBvYmopOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG5cbiAgICB1cGRhdGVkW2tleV0gPSBjb3B5V2l0aFNldEltcGwob2JqW2tleV0sIHBhdGgsIGluZGV4ICsgMSwgdmFsdWUpO1xuICAgIHJldHVybiB1cGRhdGVkO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFNldCA9IGZ1bmN0aW9uIChvYmosIHBhdGgsIHZhbHVlKSB7XG4gICAgcmV0dXJuIGNvcHlXaXRoU2V0SW1wbChvYmosIHBhdGgsIDAsIHZhbHVlKTtcbiAgfTtcblxuICB2YXIgZmluZEhvb2sgPSBmdW5jdGlvbiAoZmliZXIsIGlkKSB7XG4gICAgLy8gRm9yIG5vdywgdGhlIFwiaWRcIiBvZiBzdGF0ZWZ1bCBob29rcyBpcyBqdXN0IHRoZSBzdGF0ZWZ1bCBob29rIGluZGV4LlxuICAgIC8vIFRoaXMgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHdpdGggZS5nLiBuZXN0ZWQgaG9va3MuXG4gICAgdmFyIGN1cnJlbnRIb29rID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgIHdoaWxlIChjdXJyZW50SG9vayAhPT0gbnVsbCAmJiBpZCA+IDApIHtcbiAgICAgIGN1cnJlbnRIb29rID0gY3VycmVudEhvb2submV4dDtcbiAgICAgIGlkLS07XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRIb29rO1xuICB9OyAvLyBTdXBwb3J0IERldlRvb2xzIGVkaXRhYmxlIHZhbHVlcyBmb3IgdXNlU3RhdGUgYW5kIHVzZVJlZHVjZXIuXG5cblxuICBvdmVycmlkZUhvb2tTdGF0ZSA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIHBhdGgsIHZhbHVlKSB7XG4gICAgdmFyIGhvb2sgPSBmaW5kSG9vayhmaWJlciwgaWQpO1xuXG4gICAgaWYgKGhvb2sgIT09IG51bGwpIHtcbiAgICAgIHZhciBuZXdTdGF0ZSA9IGNvcHlXaXRoU2V0KGhvb2subWVtb2l6ZWRTdGF0ZSwgcGF0aCwgdmFsdWUpO1xuICAgICAgaG9vay5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7XG4gICAgICBob29rLmJhc2VTdGF0ZSA9IG5ld1N0YXRlOyAvLyBXZSBhcmVuJ3QgYWN0dWFsbHkgYWRkaW5nIGFuIHVwZGF0ZSB0byB0aGUgcXVldWUsXG4gICAgICAvLyBiZWNhdXNlIHRoZXJlIGlzIG5vIHVwZGF0ZSB3ZSBjYW4gYWRkIGZvciB1c2VSZWR1Y2VyIGhvb2tzIHRoYXQgd29uJ3QgdHJpZ2dlciBhbiBlcnJvci5cbiAgICAgIC8vIChUaGVyZSdzIG5vIGFwcHJvcHJpYXRlIGFjdGlvbiB0eXBlIGZvciBEZXZUb29scyBvdmVycmlkZXMuKVxuICAgICAgLy8gQXMgYSByZXN1bHQgdGhvdWdoLCBSZWFjdCB3aWxsIHNlZSB0aGUgc2NoZWR1bGVkIHVwZGF0ZSBhcyBhIG5vb3AgYW5kIGJhaWxvdXQuXG4gICAgICAvLyBTaGFsbG93IGNsb25pbmcgcHJvcHMgd29ya3MgYXMgYSB3b3JrYXJvdW5kIGZvciBub3cgdG8gYnlwYXNzIHRoZSBiYWlsb3V0IGNoZWNrLlxuXG4gICAgICBmaWJlci5tZW1vaXplZFByb3BzID0gYXNzaWduKHt9LCBmaWJlci5tZW1vaXplZFByb3BzKTtcbiAgICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgU3luY0xhbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGggPSBmdW5jdGlvbiAoZmliZXIsIGlkLCBwYXRoKSB7XG4gICAgdmFyIGhvb2sgPSBmaW5kSG9vayhmaWJlciwgaWQpO1xuXG4gICAgaWYgKGhvb2sgIT09IG51bGwpIHtcbiAgICAgIHZhciBuZXdTdGF0ZSA9IGNvcHlXaXRoRGVsZXRlKGhvb2subWVtb2l6ZWRTdGF0ZSwgcGF0aCk7XG4gICAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgIGhvb2suYmFzZVN0YXRlID0gbmV3U3RhdGU7IC8vIFdlIGFyZW4ndCBhY3R1YWxseSBhZGRpbmcgYW4gdXBkYXRlIHRvIHRoZSBxdWV1ZSxcbiAgICAgIC8vIGJlY2F1c2UgdGhlcmUgaXMgbm8gdXBkYXRlIHdlIGNhbiBhZGQgZm9yIHVzZVJlZHVjZXIgaG9va3MgdGhhdCB3b24ndCB0cmlnZ2VyIGFuIGVycm9yLlxuICAgICAgLy8gKFRoZXJlJ3Mgbm8gYXBwcm9wcmlhdGUgYWN0aW9uIHR5cGUgZm9yIERldlRvb2xzIG92ZXJyaWRlcy4pXG4gICAgICAvLyBBcyBhIHJlc3VsdCB0aG91Z2gsIFJlYWN0IHdpbGwgc2VlIHRoZSBzY2hlZHVsZWQgdXBkYXRlIGFzIGEgbm9vcCBhbmQgYmFpbG91dC5cbiAgICAgIC8vIFNoYWxsb3cgY2xvbmluZyBwcm9wcyB3b3JrcyBhcyBhIHdvcmthcm91bmQgZm9yIG5vdyB0byBieXBhc3MgdGhlIGJhaWxvdXQgY2hlY2suXG5cbiAgICAgIGZpYmVyLm1lbW9pemVkUHJvcHMgPSBhc3NpZ24oe30sIGZpYmVyLm1lbW9pemVkUHJvcHMpO1xuICAgICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlSG9va1N0YXRlUmVuYW1lUGF0aCA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIG9sZFBhdGgsIG5ld1BhdGgpIHtcbiAgICB2YXIgaG9vayA9IGZpbmRIb29rKGZpYmVyLCBpZCk7XG5cbiAgICBpZiAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhSZW5hbWUoaG9vay5tZW1vaXplZFN0YXRlLCBvbGRQYXRoLCBuZXdQYXRoKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lKTtcbiAgICAgIH1cbiAgICB9XG4gIH07IC8vIFN1cHBvcnQgRGV2VG9vbHMgcHJvcHMgZm9yIGZ1bmN0aW9uIGNvbXBvbmVudHMsIGZvcndhcmRSZWYsIG1lbW8sIGhvc3QgY29tcG9uZW50cywgZXRjLlxuXG5cbiAgb3ZlcnJpZGVQcm9wcyA9IGZ1bmN0aW9uIChmaWJlciwgcGF0aCwgdmFsdWUpIHtcbiAgICBmaWJlci5wZW5kaW5nUHJvcHMgPSBjb3B5V2l0aFNldChmaWJlci5tZW1vaXplZFByb3BzLCBwYXRoLCB2YWx1ZSk7XG5cbiAgICBpZiAoZmliZXIuYWx0ZXJuYXRlKSB7XG4gICAgICBmaWJlci5hbHRlcm5hdGUucGVuZGluZ1Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSk7XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlUHJvcHNEZWxldGVQYXRoID0gZnVuY3Rpb24gKGZpYmVyLCBwYXRoKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhEZWxldGUoZmliZXIubWVtb2l6ZWRQcm9wcywgcGF0aCk7XG5cbiAgICBpZiAoZmliZXIuYWx0ZXJuYXRlKSB7XG4gICAgICBmaWJlci5hbHRlcm5hdGUucGVuZGluZ1Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSk7XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoID0gZnVuY3Rpb24gKGZpYmVyLCBvbGRQYXRoLCBuZXdQYXRoKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhSZW5hbWUoZmliZXIubWVtb2l6ZWRQcm9wcywgb2xkUGF0aCwgbmV3UGF0aCk7XG5cbiAgICBpZiAoZmliZXIuYWx0ZXJuYXRlKSB7XG4gICAgICBmaWJlci5hbHRlcm5hdGUucGVuZGluZ1Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSk7XG4gICAgfVxuICB9O1xuXG4gIHNjaGVkdWxlVXBkYXRlID0gZnVuY3Rpb24gKGZpYmVyKSB7XG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lKTtcbiAgICB9XG4gIH07XG5cbiAgc2V0RXJyb3JIYW5kbGVyID0gZnVuY3Rpb24gKG5ld1Nob3VsZEVycm9ySW1wbCkge1xuICAgIHNob3VsZEVycm9ySW1wbCA9IG5ld1Nob3VsZEVycm9ySW1wbDtcbiAgfTtcblxuICBzZXRTdXNwZW5zZUhhbmRsZXIgPSBmdW5jdGlvbiAobmV3U2hvdWxkU3VzcGVuZEltcGwpIHtcbiAgICBzaG91bGRTdXNwZW5kSW1wbCA9IG5ld1Nob3VsZFN1c3BlbmRJbXBsO1xuICB9O1xufVxuXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlQnlGaWJlcihmaWJlcikge1xuICB2YXIgaG9zdEZpYmVyID0gZmluZEN1cnJlbnRIb3N0RmliZXIoZmliZXIpO1xuXG4gIGlmIChob3N0RmliZXIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBob3N0RmliZXIuc3RhdGVOb2RlO1xufVxuXG5mdW5jdGlvbiBlbXB0eUZpbmRGaWJlckJ5SG9zdEluc3RhbmNlKGluc3RhbmNlKSB7XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50RmliZXJGb3JEZXZUb29scygpIHtcbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG5cbmZ1bmN0aW9uIGluamVjdEludG9EZXZUb29scyhkZXZUb29sc0NvbmZpZykge1xuICB2YXIgZmluZEZpYmVyQnlIb3N0SW5zdGFuY2UgPSBkZXZUb29sc0NvbmZpZy5maW5kRmliZXJCeUhvc3RJbnN0YW5jZTtcbiAgdmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyO1xuICByZXR1cm4gaW5qZWN0SW50ZXJuYWxzKHtcbiAgICBidW5kbGVUeXBlOiBkZXZUb29sc0NvbmZpZy5idW5kbGVUeXBlLFxuICAgIHZlcnNpb246IGRldlRvb2xzQ29uZmlnLnZlcnNpb24sXG4gICAgcmVuZGVyZXJQYWNrYWdlTmFtZTogZGV2VG9vbHNDb25maWcucmVuZGVyZXJQYWNrYWdlTmFtZSxcbiAgICByZW5kZXJlckNvbmZpZzogZGV2VG9vbHNDb25maWcucmVuZGVyZXJDb25maWcsXG4gICAgb3ZlcnJpZGVIb29rU3RhdGU6IG92ZXJyaWRlSG9va1N0YXRlLFxuICAgIG92ZXJyaWRlSG9va1N0YXRlRGVsZXRlUGF0aDogb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoLFxuICAgIG92ZXJyaWRlSG9va1N0YXRlUmVuYW1lUGF0aDogb3ZlcnJpZGVIb29rU3RhdGVSZW5hbWVQYXRoLFxuICAgIG92ZXJyaWRlUHJvcHM6IG92ZXJyaWRlUHJvcHMsXG4gICAgb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6IG92ZXJyaWRlUHJvcHNEZWxldGVQYXRoLFxuICAgIG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoOiBvdmVycmlkZVByb3BzUmVuYW1lUGF0aCxcbiAgICBzZXRFcnJvckhhbmRsZXI6IHNldEVycm9ySGFuZGxlcixcbiAgICBzZXRTdXNwZW5zZUhhbmRsZXI6IHNldFN1c3BlbnNlSGFuZGxlcixcbiAgICBzY2hlZHVsZVVwZGF0ZTogc2NoZWR1bGVVcGRhdGUsXG4gICAgY3VycmVudERpc3BhdGNoZXJSZWY6IFJlYWN0Q3VycmVudERpc3BhdGNoZXIsXG4gICAgZmluZEhvc3RJbnN0YW5jZUJ5RmliZXI6IGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyLFxuICAgIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOiBmaW5kRmliZXJCeUhvc3RJbnN0YW5jZSB8fCBlbXB0eUZpbmRGaWJlckJ5SG9zdEluc3RhbmNlLFxuICAgIC8vIFJlYWN0IFJlZnJlc2hcbiAgICBmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6IGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCAsXG4gICAgc2NoZWR1bGVSZWZyZXNoOiBzY2hlZHVsZVJlZnJlc2ggLFxuICAgIHNjaGVkdWxlUm9vdDogc2NoZWR1bGVSb290ICxcbiAgICBzZXRSZWZyZXNoSGFuZGxlcjogc2V0UmVmcmVzaEhhbmRsZXIgLFxuICAgIC8vIEVuYWJsZXMgRGV2VG9vbHMgdG8gYXBwZW5kIG93bmVyIHN0YWNrcyB0byBlcnJvciBtZXNzYWdlcyBpbiBERVYgbW9kZS5cbiAgICBnZXRDdXJyZW50RmliZXI6IGdldEN1cnJlbnRGaWJlckZvckRldlRvb2xzICxcbiAgICAvLyBFbmFibGVzIERldlRvb2xzIHRvIGRldGVjdCByZWNvbmNpbGVyIHZlcnNpb24gcmF0aGVyIHRoYW4gcmVuZGVyZXIgdmVyc2lvblxuICAgIC8vIHdoaWNoIG1heSBub3QgbWF0Y2ggZm9yIHRoaXJkIHBhcnR5IHJlbmRlcmVycy5cbiAgICByZWNvbmNpbGVyVmVyc2lvbjogUmVhY3RWZXJzaW9uXG4gIH0pO1xufVxuXG4vLyB0aGUgcmVuZGVyZXIuIFN1Y2ggYXMgd2hlbiB3ZSdyZSBkaXNwYXRjaGluZyBldmVudHMgb3IgaWYgdGhpcmQgcGFydHlcbi8vIGxpYnJhcmllcyBuZWVkIHRvIGNhbGwgYmF0Y2hlZFVwZGF0ZXMuIEV2ZW50dWFsbHksIHRoaXMgQVBJIHdpbGwgZ28gYXdheSB3aGVuXG4vLyBldmVyeXRoaW5nIGlzIGJhdGNoZWQgYnkgZGVmYXVsdC4gV2UnbGwgdGhlbiBoYXZlIGEgc2ltaWxhciBBUEkgdG8gb3B0LW91dCBvZlxuLy8gc2NoZWR1bGVkIHdvcmsgYW5kIGluc3RlYWQgZG8gc3luY2hyb25vdXMgd29yay5cblxudmFyIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGZpbmlzaEV2ZW50SGFuZGxlcigpIHtcbiAgLy8gSGVyZSB3ZSB3YWl0IHVudGlsIGFsbCB1cGRhdGVzIGhhdmUgcHJvcGFnYXRlZCwgd2hpY2ggaXMgaW1wb3J0YW50XG4gIC8vIHdoZW4gdXNpbmcgY29udHJvbGxlZCBjb21wb25lbnRzIHdpdGhpbiBsYXllcnM6XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTY5OFxuICAvLyBUaGVuIHdlIHJlc3RvcmUgc3RhdGUgb2YgYW55IGNvbnRyb2xsZWQgY29tcG9uZW50LlxuICB2YXIgY29udHJvbGxlZENvbXBvbmVudHNIYXZlUGVuZGluZ1VwZGF0ZXMgPSBuZWVkc1N0YXRlUmVzdG9yZSgpO1xuXG4gIGlmIChjb250cm9sbGVkQ29tcG9uZW50c0hhdmVQZW5kaW5nVXBkYXRlcykge1xuICAgIC8vIElmIGEgY29udHJvbGxlZCBldmVudCB3YXMgZmlyZWQsIHdlIG1heSBuZWVkIHRvIHJlc3RvcmUgdGhlIHN0YXRlIG9mXG4gICAgLy8gdGhlIERPTSBub2RlIGJhY2sgdG8gdGhlIGNvbnRyb2xsZWQgdmFsdWUuIFRoaXMgaXMgbmVjZXNzYXJ5IHdoZW4gUmVhY3RcbiAgICAvLyBiYWlscyBvdXQgb2YgdGhlIHVwZGF0ZSB3aXRob3V0IHRvdWNoaW5nIHRoZSBET00uXG4gICAgLy8gVE9ETzogUmVzdG9yZSBzdGF0ZSBpbiB0aGUgbWljcm90YXNrLCBhZnRlciB0aGUgZGlzY3JldGUgdXBkYXRlcyBmbHVzaCxcbiAgICAvLyBpbnN0ZWFkIG9mIGVhcmx5IGZsdXNoaW5nIHRoZW0gaGVyZS5cbiAgICBmbHVzaFN5bmMkMSgpO1xuICAgIHJlc3RvcmVTdGF0ZUlmTmVlZGVkKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYmF0Y2hlZFVwZGF0ZXMoZm4sIGEsIGIpIHtcbiAgaWYgKGlzSW5zaWRlRXZlbnRIYW5kbGVyKSB7XG4gICAgLy8gSWYgd2UgYXJlIGN1cnJlbnRseSBpbnNpZGUgYW5vdGhlciBiYXRjaCwgd2UgbmVlZCB0byB3YWl0IHVudGlsIGl0XG4gICAgLy8gZnVsbHkgY29tcGxldGVzIGJlZm9yZSByZXN0b3Jpbmcgc3RhdGUuXG4gICAgcmV0dXJuIGZuKGEsIGIpO1xuICB9XG5cbiAgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSB0cnVlO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGJhdGNoZWRVcGRhdGVzJDEoZm4sIGEsIGIpO1xuICB9IGZpbmFsbHkge1xuICAgIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gZmFsc2U7XG4gICAgZmluaXNoRXZlbnRIYW5kbGVyKCk7XG4gIH1cbn0gLy8gVE9ETzogUmVwbGFjZSB3aXRoIGZsdXNoU3luY1xuXG5mdW5jdGlvbiBpc0ludGVyYWN0aXZlKHRhZykge1xuICByZXR1cm4gdGFnID09PSAnYnV0dG9uJyB8fCB0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAnc2VsZWN0JyB8fCB0YWcgPT09ICd0ZXh0YXJlYSc7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KG5hbWUsIHR5cGUsIHByb3BzKSB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ29uQ2xpY2snOlxuICAgIGNhc2UgJ29uQ2xpY2tDYXB0dXJlJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZURvd24nOlxuICAgIGNhc2UgJ29uTW91c2VEb3duQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZU1vdmUnOlxuICAgIGNhc2UgJ29uTW91c2VNb3ZlQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZVVwJzpcbiAgICBjYXNlICdvbk1vdXNlVXBDYXB0dXJlJzpcbiAgICBjYXNlICdvbk1vdXNlRW50ZXInOlxuICAgICAgcmV0dXJuICEhKHByb3BzLmRpc2FibGVkICYmIGlzSW50ZXJhY3RpdmUodHlwZSkpO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gaW5zdCBUaGUgaW5zdGFuY2UsIHdoaWNoIGlzIHRoZSBzb3VyY2Ugb2YgZXZlbnRzLlxuICogQHBhcmFtIHtzdHJpbmd9IHJlZ2lzdHJhdGlvbk5hbWUgTmFtZSBvZiBsaXN0ZW5lciAoZS5nLiBgb25DbGlja2ApLlxuICogQHJldHVybiB7P2Z1bmN0aW9ufSBUaGUgc3RvcmVkIGNhbGxiYWNrLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0TGlzdGVuZXIoaW5zdCwgcmVnaXN0cmF0aW9uTmFtZSkge1xuICB2YXIgc3RhdGVOb2RlID0gaW5zdC5zdGF0ZU5vZGU7XG5cbiAgaWYgKHN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MgKGV4OiBvbmxvYWQgZXZlbnRzIGluIGluY3JlbWVudGFsIG1vZGUpLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIHByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdGF0ZU5vZGUpO1xuXG4gIGlmIChwcm9wcyA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbGlzdGVuZXIgPSBwcm9wc1tyZWdpc3RyYXRpb25OYW1lXTtcblxuICBpZiAoc2hvdWxkUHJldmVudE1vdXNlRXZlbnQocmVnaXN0cmF0aW9uTmFtZSwgaW5zdC50eXBlLCBwcm9wcykpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChsaXN0ZW5lciAmJiB0eXBlb2YgbGlzdGVuZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBgXCIgKyByZWdpc3RyYXRpb25OYW1lICsgXCJgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGEgdmFsdWUgb2YgYFwiICsgdHlwZW9mIGxpc3RlbmVyICsgXCJgIHR5cGUuXCIpO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG52YXIgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTsgLy8gQ2hlY2sgaWYgYnJvd3NlciBzdXBwb3J0IGV2ZW50cyB3aXRoIHBhc3NpdmUgbGlzdGVuZXJzXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvYWRkRXZlbnRMaXN0ZW5lciNTYWZlbHlfZGV0ZWN0aW5nX29wdGlvbl9zdXBwb3J0XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3B0aW9ucyA9IHt9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRpb25zLCAncGFzc2l2ZScsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICBwYXNzaXZlQnJvd3NlckV2ZW50c1N1cHBvcnRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBvcHRpb25zLCBvcHRpb25zKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIG9wdGlvbnMsIG9wdGlvbnMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIGBjaGFyQ29kZWAgcmVwcmVzZW50cyB0aGUgYWN0dWFsIFwiY2hhcmFjdGVyIGNvZGVcIiBhbmQgaXMgc2FmZSB0byB1c2Ugd2l0aFxuICogYFN0cmluZy5mcm9tQ2hhckNvZGVgLiBBcyBzdWNoLCBvbmx5IGtleXMgdGhhdCBjb3JyZXNwb25kIHRvIHByaW50YWJsZVxuICogY2hhcmFjdGVycyBwcm9kdWNlIGEgdmFsaWQgYGNoYXJDb2RlYCwgdGhlIG9ubHkgZXhjZXB0aW9uIHRvIHRoaXMgaXMgRW50ZXIuXG4gKiBUaGUgVGFiLWtleSBpcyBjb25zaWRlcmVkIG5vbi1wcmludGFibGUgYW5kIGRvZXMgbm90IGhhdmUgYSBgY2hhckNvZGVgLFxuICogcHJlc3VtYWJseSBiZWNhdXNlIGl0IGRvZXMgbm90IHByb2R1Y2UgYSB0YWItY2hhcmFjdGVyIGluIGJyb3dzZXJzLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudCBOYXRpdmUgYnJvd3NlciBldmVudC5cbiAqIEByZXR1cm4ge251bWJlcn0gTm9ybWFsaXplZCBgY2hhckNvZGVgIHByb3BlcnR5LlxuICovXG5mdW5jdGlvbiBnZXRFdmVudENoYXJDb2RlKG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBjaGFyQ29kZTtcbiAgdmFyIGtleUNvZGUgPSBuYXRpdmVFdmVudC5rZXlDb2RlO1xuXG4gIGlmICgnY2hhckNvZGUnIGluIG5hdGl2ZUV2ZW50KSB7XG4gICAgY2hhckNvZGUgPSBuYXRpdmVFdmVudC5jaGFyQ29kZTsgLy8gRkYgZG9lcyBub3Qgc2V0IGBjaGFyQ29kZWAgZm9yIHRoZSBFbnRlci1rZXksIGNoZWNrIGFnYWluc3QgYGtleUNvZGVgLlxuXG4gICAgaWYgKGNoYXJDb2RlID09PSAwICYmIGtleUNvZGUgPT09IDEzKSB7XG4gICAgICBjaGFyQ29kZSA9IDEzO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJRTggZG9lcyBub3QgaW1wbGVtZW50IGBjaGFyQ29kZWAsIGJ1dCBga2V5Q29kZWAgaGFzIHRoZSBjb3JyZWN0IHZhbHVlLlxuICAgIGNoYXJDb2RlID0ga2V5Q29kZTtcbiAgfSAvLyBJRSBhbmQgRWRnZSAob24gV2luZG93cykgYW5kIENocm9tZSAvIFNhZmFyaSAob24gV2luZG93cyBhbmQgTGludXgpXG4gIC8vIHJlcG9ydCBFbnRlciBhcyBjaGFyQ29kZSAxMCB3aGVuIGN0cmwgaXMgcHJlc3NlZC5cblxuXG4gIGlmIChjaGFyQ29kZSA9PT0gMTApIHtcbiAgICBjaGFyQ29kZSA9IDEzO1xuICB9IC8vIFNvbWUgbm9uLXByaW50YWJsZSBrZXlzIGFyZSByZXBvcnRlZCBpbiBgY2hhckNvZGVgL2BrZXlDb2RlYCwgZGlzY2FyZCB0aGVtLlxuICAvLyBNdXN0IG5vdCBkaXNjYXJkIHRoZSAobm9uLSlwcmludGFibGUgRW50ZXIta2V5LlxuXG5cbiAgaWYgKGNoYXJDb2RlID49IDMyIHx8IGNoYXJDb2RlID09PSAxMykge1xuICAgIHJldHVybiBjaGFyQ29kZTtcbiAgfVxuXG4gIHJldHVybiAwO1xufVxuXG5mdW5jdGlvbiBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZSgpIHtcbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZSgpIHtcbiAgcmV0dXJuIGZhbHNlO1xufSAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYSBmYWN0b3J5IHNvIHRoYXQgd2UgaGF2ZSBkaWZmZXJlbnQgcmV0dXJuZWQgY29uc3RydWN0b3JzLlxuLy8gSWYgd2UgaGFkIGEgc2luZ2xlIGNvbnN0cnVjdG9yLCBpdCB3b3VsZCBiZSBtZWdhbW9ycGhpYyBhbmQgZW5naW5lcyB3b3VsZCBkZW9wdC5cblxuXG5mdW5jdGlvbiBjcmVhdGVTeW50aGV0aWNFdmVudChJbnRlcmZhY2UpIHtcbiAgLyoqXG4gICAqIFN5bnRoZXRpYyBldmVudHMgYXJlIGRpc3BhdGNoZWQgYnkgZXZlbnQgcGx1Z2lucywgdHlwaWNhbGx5IGluIHJlc3BvbnNlIHRvIGFcbiAgICogdG9wLWxldmVsIGV2ZW50IGRlbGVnYXRpb24gaGFuZGxlci5cbiAgICpcbiAgICogVGhlc2Ugc3lzdGVtcyBzaG91bGQgZ2VuZXJhbGx5IHVzZSBwb29saW5nIHRvIHJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIGdhcmJhZ2VcbiAgICogY29sbGVjdGlvbi4gVGhlIHN5c3RlbSBzaG91bGQgY2hlY2sgYGlzUGVyc2lzdGVudGAgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlXG4gICAqIGV2ZW50IHNob3VsZCBiZSByZWxlYXNlZCBpbnRvIHRoZSBwb29sIGFmdGVyIGJlaW5nIGRpc3BhdGNoZWQuIFVzZXJzIHRoYXRcbiAgICogbmVlZCBhIHBlcnNpc3RlZCBldmVudCBzaG91bGQgaW52b2tlIGBwZXJzaXN0YC5cbiAgICpcbiAgICogU3ludGhldGljIGV2ZW50cyAoYW5kIHN1YmNsYXNzZXMpIGltcGxlbWVudCB0aGUgRE9NIExldmVsIDMgRXZlbnRzIEFQSSBieVxuICAgKiBub3JtYWxpemluZyBicm93c2VyIHF1aXJrcy4gU3ViY2xhc3NlcyBkbyBub3QgbmVjZXNzYXJpbHkgaGF2ZSB0byBpbXBsZW1lbnQgYVxuICAgKiBET00gaW50ZXJmYWNlOyBjdXN0b20gYXBwbGljYXRpb24tc3BlY2lmaWMgZXZlbnRzIGNhbiBhbHNvIHN1YmNsYXNzIHRoaXMuXG4gICAqL1xuICAvLyAkRmxvd0ZpeE1lW21pc3NpbmctdGhpcy1hbm5vdF1cbiAgZnVuY3Rpb24gU3ludGhldGljQmFzZUV2ZW50KHJlYWN0TmFtZSwgcmVhY3RFdmVudFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xuICAgIHRoaXMuX3JlYWN0TmFtZSA9IHJlYWN0TmFtZTtcbiAgICB0aGlzLl90YXJnZXRJbnN0ID0gdGFyZ2V0SW5zdDtcbiAgICB0aGlzLnR5cGUgPSByZWFjdEV2ZW50VHlwZTtcbiAgICB0aGlzLm5hdGl2ZUV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgdGhpcy50YXJnZXQgPSBuYXRpdmVFdmVudFRhcmdldDtcbiAgICB0aGlzLmN1cnJlbnRUYXJnZXQgPSBudWxsO1xuXG4gICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gSW50ZXJmYWNlKSB7XG4gICAgICBpZiAoIUludGVyZmFjZS5oYXNPd25Qcm9wZXJ0eShwcm9wTmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBub3JtYWxpemUgPSBJbnRlcmZhY2VbcHJvcE5hbWVdO1xuXG4gICAgICBpZiAobm9ybWFsaXplKSB7XG4gICAgICAgIHRoaXNbcHJvcE5hbWVdID0gbm9ybWFsaXplKG5hdGl2ZUV2ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXNbcHJvcE5hbWVdID0gbmF0aXZlRXZlbnRbcHJvcE5hbWVdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBkZWZhdWx0UHJldmVudGVkID0gbmF0aXZlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCAhPSBudWxsID8gbmF0aXZlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCA6IG5hdGl2ZUV2ZW50LnJldHVyblZhbHVlID09PSBmYWxzZTtcblxuICAgIGlmIChkZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkID0gZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlO1xuICAgIHJldHVybiB0aGlzO1xuICB9IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXSBmb3VuZCB3aGVuIHVwZ3JhZGluZyBGbG93XG5cblxuICBhc3NpZ24oU3ludGhldGljQmFzZUV2ZW50LnByb3RvdHlwZSwge1xuICAgIC8vICRGbG93Rml4TWVbbWlzc2luZy10aGlzLWFubm90XVxuICAgIHByZXZlbnREZWZhdWx0OiBmdW5jdGlvbiAoKSB7XG4gICAgICB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSB0cnVlO1xuICAgICAgdmFyIGV2ZW50ID0gdGhpcy5uYXRpdmVFdmVudDtcblxuICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudC5wcmV2ZW50RGVmYXVsdCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyAkRmxvd0ZpeE1lW2lsbGVnYWwtdHlwZW9mXSAtIGZsb3cgaXMgbm90IGF3YXJlIG9mIGB1bmtub3duYCBpbiBJRVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXZlbnQucmV0dXJuVmFsdWUgIT09ICd1bmtub3duJykge1xuICAgICAgICBldmVudC5yZXR1cm5WYWx1ZSA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xuICAgIH0sXG4gICAgLy8gJEZsb3dGaXhNZVttaXNzaW5nLXRoaXMtYW5ub3RdXG4gICAgc3RvcFByb3BhZ2F0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgZXZlbnQgPSB0aGlzLm5hdGl2ZUV2ZW50O1xuXG4gICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LnN0b3BQcm9wYWdhdGlvbikge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gJEZsb3dGaXhNZVtpbGxlZ2FsLXR5cGVvZl0gLSBmbG93IGlzIG5vdCBhd2FyZSBvZiBgdW5rbm93bmAgaW4gSUVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LmNhbmNlbEJ1YmJsZSAhPT0gJ3Vua25vd24nKSB7XG4gICAgICAgIC8vIFRoZSBDaGFuZ2VFdmVudFBsdWdpbiByZWdpc3RlcnMgYSBcInByb3BlcnR5Y2hhbmdlXCIgZXZlbnQgZm9yXG4gICAgICAgIC8vIElFLiBUaGlzIGV2ZW50IGRvZXMgbm90IHN1cHBvcnQgYnViYmxpbmcgb3IgY2FuY2VsbGluZywgYW5kXG4gICAgICAgIC8vIGFueSByZWZlcmVuY2VzIHRvIGNhbmNlbEJ1YmJsZSB0aHJvdyBcIk1lbWJlciBub3QgZm91bmRcIi4gIEFcbiAgICAgICAgLy8gdHlwZW9mIGNoZWNrIG9mIFwidW5rbm93blwiIGNpcmN1bXZlbnRzIHRoaXMgaXNzdWUgKGFuZCBpcyBhbHNvXG4gICAgICAgIC8vIElFIHNwZWNpZmljKS5cbiAgICAgICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBXZSByZWxlYXNlIGFsbCBkaXNwYXRjaGVkIGBTeW50aGV0aWNFdmVudGBzIGFmdGVyIGVhY2ggZXZlbnQgbG9vcCwgYWRkaW5nXG4gICAgICogdGhlbSBiYWNrIGludG8gdGhlIHBvb2wuIFRoaXMgYWxsb3dzIGEgd2F5IHRvIGhvbGQgb250byBhIHJlZmVyZW5jZSB0aGF0XG4gICAgICogd29uJ3QgYmUgYWRkZWQgYmFjayBpbnRvIHRoZSBwb29sLlxuICAgICAqL1xuICAgIHBlcnNpc3Q6IGZ1bmN0aW9uICgpIHsvLyBNb2Rlcm4gZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGlzIGV2ZW50IHNob3VsZCBiZSByZWxlYXNlZCBiYWNrIGludG8gdGhlIHBvb2wuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoaXMgc2hvdWxkIG5vdCBiZSByZWxlYXNlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGlzUGVyc2lzdGVudDogZnVuY3Rpb25UaGF0UmV0dXJuc1RydWVcbiAgfSk7XG4gIHJldHVybiBTeW50aGV0aWNCYXNlRXZlbnQ7XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xuICovXG5cblxudmFyIEV2ZW50SW50ZXJmYWNlID0ge1xuICBldmVudFBoYXNlOiAwLFxuICBidWJibGVzOiAwLFxuICBjYW5jZWxhYmxlOiAwLFxuICB0aW1lU3RhbXA6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiBldmVudC50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTtcbiAgfSxcbiAgZGVmYXVsdFByZXZlbnRlZDogMCxcbiAgaXNUcnVzdGVkOiAwXG59O1xudmFyIFN5bnRoZXRpY0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRXZlbnRJbnRlcmZhY2UpO1xuXG52YXIgVUlFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgdmlldzogMCxcbiAgZGV0YWlsOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1VJRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChVSUV2ZW50SW50ZXJmYWNlKTtcbnZhciBsYXN0TW92ZW1lbnRYO1xudmFyIGxhc3RNb3ZlbWVudFk7XG52YXIgbGFzdE1vdXNlRXZlbnQ7XG5cbmZ1bmN0aW9uIHVwZGF0ZU1vdXNlTW92ZW1lbnRQb2x5ZmlsbFN0YXRlKGV2ZW50KSB7XG4gIGlmIChldmVudCAhPT0gbGFzdE1vdXNlRXZlbnQpIHtcbiAgICBpZiAobGFzdE1vdXNlRXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScpIHtcbiAgICAgIC8vICRGbG93Rml4TWVbdW5zYWZlLWFyaXRobWV0aWNdIGFzc3VtaW5nIHRoaXMgaXMgYSBudW1iZXJcbiAgICAgIGxhc3RNb3ZlbWVudFggPSBldmVudC5zY3JlZW5YIC0gbGFzdE1vdXNlRXZlbnQuc2NyZWVuWDsgLy8gJEZsb3dGaXhNZVt1bnNhZmUtYXJpdGhtZXRpY10gYXNzdW1pbmcgdGhpcyBpcyBhIG51bWJlclxuXG4gICAgICBsYXN0TW92ZW1lbnRZID0gZXZlbnQuc2NyZWVuWSAtIGxhc3RNb3VzZUV2ZW50LnNjcmVlblk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxhc3RNb3ZlbWVudFggPSAwO1xuICAgICAgbGFzdE1vdmVtZW50WSA9IDA7XG4gICAgfVxuXG4gICAgbGFzdE1vdXNlRXZlbnQgPSBldmVudDtcbiAgfVxufVxuLyoqXG4gKiBAaW50ZXJmYWNlIE1vdXNlRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xuICovXG5cblxudmFyIE1vdXNlRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIFVJRXZlbnRJbnRlcmZhY2UsIHtcbiAgc2NyZWVuWDogMCxcbiAgc2NyZWVuWTogMCxcbiAgY2xpZW50WDogMCxcbiAgY2xpZW50WTogMCxcbiAgcGFnZVg6IDAsXG4gIHBhZ2VZOiAwLFxuICBjdHJsS2V5OiAwLFxuICBzaGlmdEtleTogMCxcbiAgYWx0S2V5OiAwLFxuICBtZXRhS2V5OiAwLFxuICBnZXRNb2RpZmllclN0YXRlOiBnZXRFdmVudE1vZGlmaWVyU3RhdGUsXG4gIGJ1dHRvbjogMCxcbiAgYnV0dG9uczogMCxcbiAgcmVsYXRlZFRhcmdldDogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnJlbGF0ZWRUYXJnZXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGV2ZW50LmZyb21FbGVtZW50ID09PSBldmVudC5zcmNFbGVtZW50ID8gZXZlbnQudG9FbGVtZW50IDogZXZlbnQuZnJvbUVsZW1lbnQ7XG4gICAgcmV0dXJuIGV2ZW50LnJlbGF0ZWRUYXJnZXQ7XG4gIH0sXG4gIG1vdmVtZW50WDogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgaWYgKCdtb3ZlbWVudFgnIGluIGV2ZW50KSB7XG4gICAgICByZXR1cm4gZXZlbnQubW92ZW1lbnRYO1xuICAgIH1cblxuICAgIHVwZGF0ZU1vdXNlTW92ZW1lbnRQb2x5ZmlsbFN0YXRlKGV2ZW50KTtcbiAgICByZXR1cm4gbGFzdE1vdmVtZW50WDtcbiAgfSxcbiAgbW92ZW1lbnRZOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoJ21vdmVtZW50WScgaW4gZXZlbnQpIHtcbiAgICAgIHJldHVybiBldmVudC5tb3ZlbWVudFk7XG4gICAgfSAvLyBEb24ndCBuZWVkIHRvIGNhbGwgdXBkYXRlTW91c2VNb3ZlbWVudFBvbHlmaWxsU3RhdGUoKSBoZXJlXG4gICAgLy8gYmVjYXVzZSBpdCdzIGd1YXJhbnRlZWQgdG8gaGF2ZSBhbHJlYWR5IHJ1biB3aGVuIG1vdmVtZW50WFxuICAgIC8vIHdhcyBjb3BpZWQuXG5cblxuICAgIHJldHVybiBsYXN0TW92ZW1lbnRZO1xuICB9XG59KTtcblxudmFyIFN5bnRoZXRpY01vdXNlRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChNb3VzZUV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBEcmFnRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xuICovXG5cbnZhciBEcmFnRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIE1vdXNlRXZlbnRJbnRlcmZhY2UsIHtcbiAgZGF0YVRyYW5zZmVyOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0RyYWdFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KERyYWdFdmVudEludGVyZmFjZSk7XG4vKipcbiAqIEBpbnRlcmZhY2UgRm9jdXNFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIEZvY3VzRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIFVJRXZlbnRJbnRlcmZhY2UsIHtcbiAgcmVsYXRlZFRhcmdldDogMFxufSk7XG5cbnZhciBTeW50aGV0aWNGb2N1c0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRm9jdXNFdmVudEludGVyZmFjZSk7XG4vKipcbiAqIEBpbnRlcmZhY2UgRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyNBbmltYXRpb25FdmVudC1pbnRlcmZhY2VcbiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0FuaW1hdGlvbkV2ZW50XG4gKi9cblxudmFyIEFuaW1hdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBhbmltYXRpb25OYW1lOiAwLFxuICBlbGFwc2VkVGltZTogMCxcbiAgcHNldWRvRWxlbWVudDogMFxufSk7XG5cbnZhciBTeW50aGV0aWNBbmltYXRpb25FdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KEFuaW1hdGlvbkV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jbGlwYm9hcmQtYXBpcy9cbiAqL1xuXG52YXIgQ2xpcGJvYXJkRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIEV2ZW50SW50ZXJmYWNlLCB7XG4gIGNsaXBib2FyZERhdGE6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiAnY2xpcGJvYXJkRGF0YScgaW4gZXZlbnQgPyBldmVudC5jbGlwYm9hcmREYXRhIDogd2luZG93LmNsaXBib2FyZERhdGE7XG4gIH1cbn0pO1xuXG52YXIgU3ludGhldGljQ2xpcGJvYXJkRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChDbGlwYm9hcmRFdmVudEludGVyZmFjZSk7XG4vKipcbiAqIEBpbnRlcmZhY2UgRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzLyNldmVudHMtY29tcG9zaXRpb25ldmVudHNcbiAqL1xuXG52YXIgQ29tcG9zaXRpb25FdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgZGF0YTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoQ29tcG9zaXRpb25FdmVudEludGVyZmFjZSk7XG4vKipcbiAqIEBpbnRlcmZhY2UgRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9XRC1ET00tTGV2ZWwtMy1FdmVudHMtMjAxMzExMDVcbiAqICAgICAgLyNldmVudHMtaW5wdXRldmVudHNcbiAqL1xuLy8gSGFwcGVucyB0byBzaGFyZSB0aGUgc2FtZSBsaXN0IGZvciBub3cuXG5cbnZhciBTeW50aGV0aWNJbnB1dEV2ZW50ID0gU3ludGhldGljQ29tcG9zaXRpb25FdmVudDtcbi8qKlxuICogTm9ybWFsaXphdGlvbiBvZiBkZXByZWNhdGVkIEhUTUw1IGBrZXlgIHZhbHVlc1xuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvS2V5Ym9hcmRFdmVudCNLZXlfbmFtZXNcbiAqL1xuXG52YXIgbm9ybWFsaXplS2V5ID0ge1xuICBFc2M6ICdFc2NhcGUnLFxuICBTcGFjZWJhcjogJyAnLFxuICBMZWZ0OiAnQXJyb3dMZWZ0JyxcbiAgVXA6ICdBcnJvd1VwJyxcbiAgUmlnaHQ6ICdBcnJvd1JpZ2h0JyxcbiAgRG93bjogJ0Fycm93RG93bicsXG4gIERlbDogJ0RlbGV0ZScsXG4gIFdpbjogJ09TJyxcbiAgTWVudTogJ0NvbnRleHRNZW51JyxcbiAgQXBwczogJ0NvbnRleHRNZW51JyxcbiAgU2Nyb2xsOiAnU2Nyb2xsTG9jaycsXG4gIE1velByaW50YWJsZUtleTogJ1VuaWRlbnRpZmllZCdcbn07XG4vKipcbiAqIFRyYW5zbGF0aW9uIGZyb20gbGVnYWN5IGBrZXlDb2RlYCB0byBIVE1MNSBga2V5YFxuICogT25seSBzcGVjaWFsIGtleXMgc3VwcG9ydGVkLCBhbGwgb3RoZXJzIGRlcGVuZCBvbiBrZXlib2FyZCBsYXlvdXQgb3IgYnJvd3NlclxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvS2V5Ym9hcmRFdmVudCNLZXlfbmFtZXNcbiAqL1xuXG52YXIgdHJhbnNsYXRlVG9LZXkgPSB7XG4gICc4JzogJ0JhY2tzcGFjZScsXG4gICc5JzogJ1RhYicsXG4gICcxMic6ICdDbGVhcicsXG4gICcxMyc6ICdFbnRlcicsXG4gICcxNic6ICdTaGlmdCcsXG4gICcxNyc6ICdDb250cm9sJyxcbiAgJzE4JzogJ0FsdCcsXG4gICcxOSc6ICdQYXVzZScsXG4gICcyMCc6ICdDYXBzTG9jaycsXG4gICcyNyc6ICdFc2NhcGUnLFxuICAnMzInOiAnICcsXG4gICczMyc6ICdQYWdlVXAnLFxuICAnMzQnOiAnUGFnZURvd24nLFxuICAnMzUnOiAnRW5kJyxcbiAgJzM2JzogJ0hvbWUnLFxuICAnMzcnOiAnQXJyb3dMZWZ0JyxcbiAgJzM4JzogJ0Fycm93VXAnLFxuICAnMzknOiAnQXJyb3dSaWdodCcsXG4gICc0MCc6ICdBcnJvd0Rvd24nLFxuICAnNDUnOiAnSW5zZXJ0JyxcbiAgJzQ2JzogJ0RlbGV0ZScsXG4gICcxMTInOiAnRjEnLFxuICAnMTEzJzogJ0YyJyxcbiAgJzExNCc6ICdGMycsXG4gICcxMTUnOiAnRjQnLFxuICAnMTE2JzogJ0Y1JyxcbiAgJzExNyc6ICdGNicsXG4gICcxMTgnOiAnRjcnLFxuICAnMTE5JzogJ0Y4JyxcbiAgJzEyMCc6ICdGOScsXG4gICcxMjEnOiAnRjEwJyxcbiAgJzEyMic6ICdGMTEnLFxuICAnMTIzJzogJ0YxMicsXG4gICcxNDQnOiAnTnVtTG9jaycsXG4gICcxNDUnOiAnU2Nyb2xsTG9jaycsXG4gICcyMjQnOiAnTWV0YSdcbn07XG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudCBOYXRpdmUgYnJvd3NlciBldmVudC5cbiAqIEByZXR1cm4ge3N0cmluZ30gTm9ybWFsaXplZCBga2V5YCBwcm9wZXJ0eS5cbiAqL1xuXG5mdW5jdGlvbiBnZXRFdmVudEtleShuYXRpdmVFdmVudCkge1xuICBpZiAobmF0aXZlRXZlbnQua2V5KSB7XG4gICAgLy8gTm9ybWFsaXplIGluY29uc2lzdGVudCB2YWx1ZXMgcmVwb3J0ZWQgYnkgYnJvd3NlcnMgZHVlIHRvXG4gICAgLy8gaW1wbGVtZW50YXRpb25zIG9mIGEgd29ya2luZyBkcmFmdCBzcGVjaWZpY2F0aW9uLlxuICAgIC8vIEZpcmVGb3ggaW1wbGVtZW50cyBga2V5YCBidXQgcmV0dXJucyBgTW96UHJpbnRhYmxlS2V5YCBmb3IgYWxsXG4gICAgLy8gcHJpbnRhYmxlIGNoYXJhY3RlcnMgKG5vcm1hbGl6ZWQgdG8gYFVuaWRlbnRpZmllZGApLCBpZ25vcmUgaXQuXG4gICAgdmFyIGtleSA9IC8vICRGbG93Rml4TWVbaW52YWxpZC1jb21wdXRlZC1wcm9wXSB1bmFibGUgdG8gaW5kZXggd2l0aCBhIGBtaXhlZGAgdmFsdWVcbiAgICBub3JtYWxpemVLZXlbbmF0aXZlRXZlbnQua2V5XSB8fCBuYXRpdmVFdmVudC5rZXk7XG5cbiAgICBpZiAoa2V5ICE9PSAnVW5pZGVudGlmaWVkJykge1xuICAgICAgcmV0dXJuIGtleTtcbiAgICB9XG4gIH0gLy8gQnJvd3NlciBkb2VzIG5vdCBpbXBsZW1lbnQgYGtleWAsIHBvbHlmaWxsIGFzIG11Y2ggb2YgaXQgYXMgd2UgY2FuLlxuXG5cbiAgaWYgKG5hdGl2ZUV2ZW50LnR5cGUgPT09ICdrZXlwcmVzcycpIHtcbiAgICB2YXIgY2hhckNvZGUgPSBnZXRFdmVudENoYXJDb2RlKCAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYWxsXSB1bmFibGUgdG8gbmFycm93IHRvIGBLZXlib2FyZEV2ZW50YFxuICAgIG5hdGl2ZUV2ZW50KTsgLy8gVGhlIGVudGVyLWtleSBpcyB0ZWNobmljYWxseSBib3RoIHByaW50YWJsZSBhbmQgbm9uLXByaW50YWJsZSBhbmQgY2FuXG4gICAgLy8gdGh1cyBiZSBjYXB0dXJlZCBieSBga2V5cHJlc3NgLCBubyBvdGhlciBub24tcHJpbnRhYmxlIGtleSBzaG91bGQuXG5cbiAgICByZXR1cm4gY2hhckNvZGUgPT09IDEzID8gJ0VudGVyJyA6IFN0cmluZy5mcm9tQ2hhckNvZGUoY2hhckNvZGUpO1xuICB9XG5cbiAgaWYgKG5hdGl2ZUV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyB8fCBuYXRpdmVFdmVudC50eXBlID09PSAna2V5dXAnKSB7XG4gICAgLy8gV2hpbGUgdXNlciBrZXlib2FyZCBsYXlvdXQgZGV0ZXJtaW5lcyB0aGUgYWN0dWFsIG1lYW5pbmcgb2YgZWFjaFxuICAgIC8vIGBrZXlDb2RlYCB2YWx1ZSwgYWxtb3N0IGFsbCBmdW5jdGlvbiBrZXlzIGhhdmUgYSB1bml2ZXJzYWwgdmFsdWUuXG4gICAgLy8gJEZsb3dGaXhNZVtpbnZhbGlkLWNvbXB1dGVkLXByb3BdIHVuYWJsZSB0byBpbmRleCB3aXRoIGEgYG1peGVkYCB2YWx1ZVxuICAgIHJldHVybiB0cmFuc2xhdGVUb0tleVtuYXRpdmVFdmVudC5rZXlDb2RlXSB8fCAnVW5pZGVudGlmaWVkJztcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBtb2RpZmllciBrZXkgdG8gdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaW4gdGhlIGV2ZW50LlxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2tleXMtTW9kaWZpZXJzXG4gKi9cblxuXG52YXIgbW9kaWZpZXJLZXlUb1Byb3AgPSB7XG4gIEFsdDogJ2FsdEtleScsXG4gIENvbnRyb2w6ICdjdHJsS2V5JyxcbiAgTWV0YTogJ21ldGFLZXknLFxuICBTaGlmdDogJ3NoaWZ0S2V5J1xufTsgLy8gT2xkZXIgYnJvd3NlcnMgKFNhZmFyaSA8PSAxMCwgaU9TIFNhZmFyaSA8PSAxMC4yKSBkbyBub3Qgc3VwcG9ydFxuLy8gZ2V0TW9kaWZpZXJTdGF0ZS4gSWYgZ2V0TW9kaWZpZXJTdGF0ZSBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBtYXAgaXQgdG8gYSBzZXQgb2Zcbi8vIG1vZGlmaWVyIGtleXMgZXhwb3NlZCBieSB0aGUgZXZlbnQuIEluIHRoaXMgY2FzZSwgTG9jay1rZXlzIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8gJEZsb3dGaXhNZVttaXNzaW5nLWxvY2FsLWFubm90XVxuLy8gJEZsb3dGaXhNZVttaXNzaW5nLXRoaXMtYW5ub3RdXG5cbmZ1bmN0aW9uIG1vZGlmaWVyU3RhdGVHZXR0ZXIoa2V5QXJnKSB7XG4gIHZhciBzeW50aGV0aWNFdmVudCA9IHRoaXM7XG4gIHZhciBuYXRpdmVFdmVudCA9IHN5bnRoZXRpY0V2ZW50Lm5hdGl2ZUV2ZW50O1xuXG4gIGlmIChuYXRpdmVFdmVudC5nZXRNb2RpZmllclN0YXRlKSB7XG4gICAgcmV0dXJuIG5hdGl2ZUV2ZW50LmdldE1vZGlmaWVyU3RhdGUoa2V5QXJnKTtcbiAgfVxuXG4gIHZhciBrZXlQcm9wID0gbW9kaWZpZXJLZXlUb1Byb3Bba2V5QXJnXTtcbiAgcmV0dXJuIGtleVByb3AgPyAhIW5hdGl2ZUV2ZW50W2tleVByb3BdIDogZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGdldEV2ZW50TW9kaWZpZXJTdGF0ZShuYXRpdmVFdmVudCkge1xuICByZXR1cm4gbW9kaWZpZXJTdGF0ZUdldHRlcjtcbn1cbi8qKlxuICogQGludGVyZmFjZSBLZXlib2FyZEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy9cbiAqL1xuXG5cbnZhciBLZXlib2FyZEV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBVSUV2ZW50SW50ZXJmYWNlLCB7XG4gIGtleTogZ2V0RXZlbnRLZXksXG4gIGNvZGU6IDAsXG4gIGxvY2F0aW9uOiAwLFxuICBjdHJsS2V5OiAwLFxuICBzaGlmdEtleTogMCxcbiAgYWx0S2V5OiAwLFxuICBtZXRhS2V5OiAwLFxuICByZXBlYXQ6IDAsXG4gIGxvY2FsZTogMCxcbiAgZ2V0TW9kaWZpZXJTdGF0ZTogZ2V0RXZlbnRNb2RpZmllclN0YXRlLFxuICAvLyBMZWdhY3kgSW50ZXJmYWNlXG4gIGNoYXJDb2RlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAvLyBgY2hhckNvZGVgIGlzIHRoZSByZXN1bHQgb2YgYSBLZXlQcmVzcyBldmVudCBhbmQgcmVwcmVzZW50cyB0aGUgdmFsdWUgb2ZcbiAgICAvLyB0aGUgYWN0dWFsIHByaW50YWJsZSBjaGFyYWN0ZXIuXG4gICAgLy8gS2V5UHJlc3MgaXMgZGVwcmVjYXRlZCwgYnV0IGl0cyByZXBsYWNlbWVudCBpcyBub3QgeWV0IGZpbmFsIGFuZCBub3RcbiAgICAvLyBpbXBsZW1lbnRlZCBpbiBhbnkgbWFqb3IgYnJvd3Nlci4gT25seSBLZXlQcmVzcyBoYXMgY2hhckNvZGUuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlwcmVzcycpIHtcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKCAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYWxsXSB1bmFibGUgdG8gbmFycm93IHRvIGBLZXlib2FyZEV2ZW50YFxuICAgICAgZXZlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9LFxuICBrZXlDb2RlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAvLyBga2V5Q29kZWAgaXMgdGhlIHJlc3VsdCBvZiBhIEtleURvd24vVXAgZXZlbnQgYW5kIHJlcHJlc2VudHMgdGhlIHZhbHVlIG9mXG4gICAgLy8gcGh5c2ljYWwga2V5Ym9hcmQga2V5LlxuICAgIC8vIFRoZSBhY3R1YWwgbWVhbmluZyBvZiB0aGUgdmFsdWUgZGVwZW5kcyBvbiB0aGUgdXNlcnMnIGtleWJvYXJkIGxheW91dFxuICAgIC8vIHdoaWNoIGNhbm5vdCBiZSBkZXRlY3RlZC4gQXNzdW1pbmcgdGhhdCBpdCBpcyBhIFVTIGtleWJvYXJkIGxheW91dFxuICAgIC8vIHByb3ZpZGVzIGEgc3VycHJpc2luZ2x5IGFjY3VyYXRlIG1hcHBpbmcgZm9yIFVTIGFuZCBFdXJvcGVhbiB1c2Vycy5cbiAgICAvLyBEdWUgdG8gdGhpcywgaXQgaXMgbGVmdCB0byB0aGUgdXNlciB0byBpbXBsZW1lbnQgYXQgdGhpcyB0aW1lLlxuICAgIGlmIChldmVudC50eXBlID09PSAna2V5ZG93bicgfHwgZXZlbnQudHlwZSA9PT0gJ2tleXVwJykge1xuICAgICAgcmV0dXJuIGV2ZW50LmtleUNvZGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH0sXG4gIHdoaWNoOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAvLyBgd2hpY2hgIGlzIGFuIGFsaWFzIGZvciBlaXRoZXIgYGtleUNvZGVgIG9yIGBjaGFyQ29kZWAgZGVwZW5kaW5nIG9uIHRoZVxuICAgIC8vIHR5cGUgb2YgdGhlIGV2ZW50LlxuICAgIGlmIChldmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgICByZXR1cm4gZ2V0RXZlbnRDaGFyQ29kZSggLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FsbF0gdW5hYmxlIHRvIG5hcnJvdyB0byBgS2V5Ym9hcmRFdmVudGBcbiAgICAgIGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcbiAgICAgIHJldHVybiBldmVudC5rZXlDb2RlO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG59KTtcblxudmFyIFN5bnRoZXRpY0tleWJvYXJkRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChLZXlib2FyZEV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBQb2ludGVyRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50cy9cbiAqL1xuXG52YXIgUG9pbnRlckV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBNb3VzZUV2ZW50SW50ZXJmYWNlLCB7XG4gIHBvaW50ZXJJZDogMCxcbiAgd2lkdGg6IDAsXG4gIGhlaWdodDogMCxcbiAgcHJlc3N1cmU6IDAsXG4gIHRhbmdlbnRpYWxQcmVzc3VyZTogMCxcbiAgdGlsdFg6IDAsXG4gIHRpbHRZOiAwLFxuICB0d2lzdDogMCxcbiAgcG9pbnRlclR5cGU6IDAsXG4gIGlzUHJpbWFyeTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNQb2ludGVyRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChQb2ludGVyRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIFRvdWNoRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvdG91Y2gtZXZlbnRzL1xuICovXG5cbnZhciBUb3VjaEV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBVSUV2ZW50SW50ZXJmYWNlLCB7XG4gIHRvdWNoZXM6IDAsXG4gIHRhcmdldFRvdWNoZXM6IDAsXG4gIGNoYW5nZWRUb3VjaGVzOiAwLFxuICBhbHRLZXk6IDAsXG4gIG1ldGFLZXk6IDAsXG4gIGN0cmxLZXk6IDAsXG4gIHNoaWZ0S2V5OiAwLFxuICBnZXRNb2RpZmllclN0YXRlOiBnZXRFdmVudE1vZGlmaWVyU3RhdGVcbn0pO1xuXG52YXIgU3ludGhldGljVG91Y2hFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRvdWNoRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDkvV0QtY3NzMy10cmFuc2l0aW9ucy0yMDA5MDMyMC8jdHJhbnNpdGlvbi1ldmVudHMtXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9UcmFuc2l0aW9uRXZlbnRcbiAqL1xuXG52YXIgVHJhbnNpdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBwcm9wZXJ0eU5hbWU6IDAsXG4gIGVsYXBzZWRUaW1lOiAwLFxuICBwc2V1ZG9FbGVtZW50OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRyYW5zaXRpb25FdmVudEludGVyZmFjZSk7XG4vKipcbiAqIEBpbnRlcmZhY2UgV2hlZWxFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIFdoZWVsRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIE1vdXNlRXZlbnRJbnRlcmZhY2UsIHtcbiAgZGVsdGFYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICByZXR1cm4gJ2RlbHRhWCcgaW4gZXZlbnQgPyBldmVudC5kZWx0YVggOiAvLyBGYWxsYmFjayB0byBgd2hlZWxEZWx0YVhgIGZvciBXZWJraXQgYW5kIG5vcm1hbGl6ZSAocmlnaHQgaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhWCcgaW4gZXZlbnQgPyAvLyAkRmxvd0ZpeE1lW3Vuc2FmZS1hcml0aG1ldGljXSBhc3N1bWluZyB0aGlzIGlzIGEgbnVtYmVyXG4gICAgLWV2ZW50LndoZWVsRGVsdGFYIDogMDtcbiAgfSxcbiAgZGVsdGFZOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICByZXR1cm4gJ2RlbHRhWScgaW4gZXZlbnQgPyBldmVudC5kZWx0YVkgOiAvLyBGYWxsYmFjayB0byBgd2hlZWxEZWx0YVlgIGZvciBXZWJraXQgYW5kIG5vcm1hbGl6ZSAoZG93biBpcyBwb3NpdGl2ZSkuXG4gICAgJ3doZWVsRGVsdGFZJyBpbiBldmVudCA/IC8vICRGbG93Rml4TWVbdW5zYWZlLWFyaXRobWV0aWNdIGFzc3VtaW5nIHRoaXMgaXMgYSBudW1iZXJcbiAgICAtZXZlbnQud2hlZWxEZWx0YVkgOiAvLyBGYWxsYmFjayB0byBgd2hlZWxEZWx0YWAgZm9yIElFPDkgYW5kIG5vcm1hbGl6ZSAoZG93biBpcyBwb3NpdGl2ZSkuXG4gICAgJ3doZWVsRGVsdGEnIGluIGV2ZW50ID8gLy8gJEZsb3dGaXhNZVt1bnNhZmUtYXJpdGhtZXRpY10gYXNzdW1pbmcgdGhpcyBpcyBhIG51bWJlclxuICAgIC1ldmVudC53aGVlbERlbHRhIDogMDtcbiAgfSxcbiAgZGVsdGFaOiAwLFxuICAvLyBCcm93c2VycyB3aXRob3V0IFwiZGVsdGFNb2RlXCIgaXMgcmVwb3J0aW5nIGluIHJhdyB3aGVlbCBkZWx0YSB3aGVyZSBvbmVcbiAgLy8gbm90Y2ggb24gdGhlIHNjcm9sbCBpcyBhbHdheXMgKy8tIDEyMCwgcm91Z2hseSBlcXVpdmFsZW50IHRvIHBpeGVscy5cbiAgLy8gQSBnb29kIGFwcHJveGltYXRpb24gb2YgRE9NX0RFTFRBX0xJTkUgKDEpIGlzIDUlIG9mIHZpZXdwb3J0IHNpemUgb3JcbiAgLy8gfjQwIHBpeGVscywgZm9yIERPTV9ERUxUQV9TQ1JFRU4gKDIpIGl0IGlzIDg3LjUlIG9mIHZpZXdwb3J0IHNpemUuXG4gIGRlbHRhTW9kZTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNXaGVlbEV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoV2hlZWxFdmVudEludGVyZmFjZSk7XG5cbi8qKlxuICogVGhpcyBwbHVnaW4gaW52b2tlcyBhY3Rpb24gZnVuY3Rpb25zIG9uIGZvcm1zLCBpbnB1dHMgYW5kIGJ1dHRvbnMgaWZcbiAqIHRoZSBmb3JtIGRvZXNuJ3QgcHJldmVudCBkZWZhdWx0LlxuICovXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkNihkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIG1heWJlVGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSAhPT0gJ3N1Ym1pdCcpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIW1heWJlVGFyZ2V0SW5zdCB8fCBtYXliZVRhcmdldEluc3Quc3RhdGVOb2RlICE9PSBuYXRpdmVFdmVudFRhcmdldCkge1xuICAgIC8vIElmIHdlJ3JlIGluc2lkZSBhIHBhcmVudCByb290IHRoYXQgaXRzZWxmIGlzIGEgcGFyZW50IG9mIHRoaXMgcm9vdCwgdGhlblxuICAgIC8vIGl0cyBkZWVwZXN0IHRhcmdldCB3b24ndCBiZSB0aGUgYWN0dWFsIGZvcm0gdGhhdCdzIGJlaW5nIHN1Ym1pdHRlZC5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZm9ybUluc3QgPSBtYXliZVRhcmdldEluc3Q7XG4gIHZhciBmb3JtID0gbmF0aXZlRXZlbnRUYXJnZXQ7XG4gIHZhciBhY3Rpb24gPSBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlKGZvcm0pLmFjdGlvbjtcbiAgdmFyIHN1Ym1pdHRlciA9IG5hdGl2ZUV2ZW50LnN1Ym1pdHRlcjtcbiAgdmFyIHN1Ym1pdHRlckFjdGlvbjtcblxuICBpZiAoc3VibWl0dGVyKSB7XG4gICAgdmFyIHN1Ym1pdHRlclByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdWJtaXR0ZXIpO1xuICAgIHN1Ym1pdHRlckFjdGlvbiA9IHN1Ym1pdHRlclByb3BzID8gc3VibWl0dGVyUHJvcHMuZm9ybUFjdGlvbiA6IHN1Ym1pdHRlci5nZXRBdHRyaWJ1dGUoJ2Zvcm1BY3Rpb24nKTtcblxuICAgIGlmIChzdWJtaXR0ZXJBY3Rpb24gIT0gbnVsbCkge1xuICAgICAgLy8gVGhlIHN1Ym1pdHRlciBvdmVycmlkZXMgdGhlIGZvcm0gYWN0aW9uLlxuICAgICAgYWN0aW9uID0gc3VibWl0dGVyQWN0aW9uOyAvLyBJZiB0aGUgYWN0aW9uIGlzIGEgZnVuY3Rpb24sIHdlIGRvbid0IHdhbnQgdG8gcGFzcyBpdHMgbmFtZVxuICAgICAgLy8gdmFsdWUgdG8gdGhlIEZvcm1EYXRhIHNpbmNlIGl0J3MgY29udHJvbGxlZCBieSB0aGUgc2VydmVyLlxuXG4gICAgICBzdWJtaXR0ZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgYWN0aW9uICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGV2ZW50ID0gbmV3IFN5bnRoZXRpY0V2ZW50KCdhY3Rpb24nLCAnYWN0aW9uJywgbnVsbCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcblxuICBmdW5jdGlvbiBzdWJtaXRGb3JtKCkge1xuICAgIGlmIChuYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAvLyBXZSBsZXQgZWFybGllciBldmVudHMgdG8gcHJldmVudCB0aGUgYWN0aW9uIGZyb20gc3VibWl0dGluZy5cbiAgICAgIHJldHVybjtcbiAgICB9IC8vIFByZXZlbnQgbmF0aXZlIG5hdmlnYXRpb24uXG5cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdmFyIGZvcm1EYXRhO1xuXG4gICAgaWYgKHN1Ym1pdHRlcikge1xuICAgICAgLy8gVGhlIHN1Ym1pdHRlcidzIHZhbHVlIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgRm9ybURhdGEuXG4gICAgICAvLyBJdCBzaG91bGQgYmUgaW4gdGhlIGRvY3VtZW50IG9yZGVyIGluIHRoZSBmb3JtLlxuICAgICAgLy8gU2luY2UgdGhlIEZvcm1EYXRhIGNvbnN0cnVjdG9yIGludm9rZXMgdGhlIGZvcm1kYXRhIGV2ZW50IGl0IGFsc29cbiAgICAgIC8vIG5lZWRzIHRvIGJlIGF2YWlsYWJsZSBiZWZvcmUgdGhhdCBoYXBwZW5zIHNvIGFmdGVyIGNvbnN0cnVjdGlvbiBpdCdzIHRvb1xuICAgICAgLy8gbGF0ZS4gV2UgdXNlIGEgdGVtcG9yYXJ5IGZha2Ugbm9kZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoaXMgZXZlbnQuXG4gICAgICAvLyBUT0RPOiBGb3JtRGF0YSB0YWtlcyBhIHNlY29uZCBhcmd1bWVudCB0aGF0IGl0J3MgdGhlIHN1Ym1pdHRlciBidXQgdGhpc1xuICAgICAgLy8gaXMgZmFpcmx5IG5ldyBzbyBub3QgYWxsIGJyb3dzZXJzIHN1cHBvcnQgaXQgeWV0LiBTd2l0Y2ggdG8gdGhhdCB0ZWNobmlxdWVcbiAgICAgIC8vIHdoZW4gYXZhaWxhYmxlLlxuICAgICAgdmFyIHRlbXAgPSBzdWJtaXR0ZXIub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgdGVtcC5uYW1lID0gc3VibWl0dGVyLm5hbWU7XG4gICAgICB0ZW1wLnZhbHVlID0gc3VibWl0dGVyLnZhbHVlO1xuICAgICAgc3VibWl0dGVyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRlbXAsIHN1Ym1pdHRlcik7XG4gICAgICBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YShmb3JtKTtcbiAgICAgIHRlbXAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0ZW1wKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoZm9ybSk7XG4gICAgfVxuXG4gICAgdmFyIHBlbmRpbmdTdGF0ZSA9IHtcbiAgICAgIHBlbmRpbmc6IHRydWUsXG4gICAgICBkYXRhOiBmb3JtRGF0YSxcbiAgICAgIG1ldGhvZDogZm9ybS5tZXRob2QsXG4gICAgICBhY3Rpb246IGFjdGlvblxuICAgIH07XG5cbiAgICB7XG4gICAgICBPYmplY3QuZnJlZXplKHBlbmRpbmdTdGF0ZSk7XG4gICAgfVxuXG4gICAgc3RhcnRIb3N0VHJhbnNpdGlvbihmb3JtSW5zdCwgcGVuZGluZ1N0YXRlLCBhY3Rpb24sIGZvcm1EYXRhKTtcbiAgfVxuXG4gIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgZXZlbnQ6IGV2ZW50LFxuICAgIGxpc3RlbmVyczogW3tcbiAgICAgIGluc3RhbmNlOiBudWxsLFxuICAgICAgbGlzdGVuZXI6IHN1Ym1pdEZvcm0sXG4gICAgICBjdXJyZW50VGFyZ2V0OiBmb3JtXG4gICAgfV1cbiAgfSk7XG59XG5mdW5jdGlvbiBkaXNwYXRjaFJlcGxheWVkRm9ybUFjdGlvbihmb3JtSW5zdCwgZm9ybSwgYWN0aW9uLCBmb3JtRGF0YSkge1xuICB2YXIgcGVuZGluZ1N0YXRlID0ge1xuICAgIHBlbmRpbmc6IHRydWUsXG4gICAgZGF0YTogZm9ybURhdGEsXG4gICAgbWV0aG9kOiBmb3JtLm1ldGhvZCxcbiAgICBhY3Rpb246IGFjdGlvblxuICB9O1xuXG4gIHtcbiAgICBPYmplY3QuZnJlZXplKHBlbmRpbmdTdGF0ZSk7XG4gIH1cblxuICBzdGFydEhvc3RUcmFuc2l0aW9uKGZvcm1JbnN0LCBwZW5kaW5nU3RhdGUsIGFjdGlvbiwgZm9ybURhdGEpO1xufVxuXG4vLyBoYXMgdGhpcyBkZWZpbml0aW9uIGJ1aWx0LWluLlxuXG52YXIgaGFzU2NoZWR1bGVkUmVwbGF5QXR0ZW1wdCA9IGZhbHNlOyAvLyBUaGUgbGFzdCBvZiBlYWNoIGNvbnRpbnVvdXMgZXZlbnQgdHlwZS4gV2Ugb25seSBuZWVkIHRvIHJlcGxheSB0aGUgbGFzdCBvbmVcbi8vIGlmIHRoZSBsYXN0IHRhcmdldCB3YXMgZGVoeWRyYXRlZC5cblxudmFyIHF1ZXVlZEZvY3VzID0gbnVsbDtcbnZhciBxdWV1ZWREcmFnID0gbnVsbDtcbnZhciBxdWV1ZWRNb3VzZSA9IG51bGw7IC8vIEZvciBwb2ludGVyIGV2ZW50cyB0aGVyZSBjYW4gYmUgb25lIGxhdGVzdCBldmVudCBwZXIgcG9pbnRlcklkLlxuXG52YXIgcXVldWVkUG9pbnRlcnMgPSBuZXcgTWFwKCk7XG52YXIgcXVldWVkUG9pbnRlckNhcHR1cmVzID0gbmV3IE1hcCgpOyAvLyBXZSBjb3VsZCBjb25zaWRlciByZXBsYXlpbmcgc2VsZWN0aW9uY2hhbmdlIGFuZCB0b3VjaG1vdmVzIHRvby5cblxudmFyIHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0cyA9IFtdO1xudmFyIGRpc2NyZXRlUmVwbGF5YWJsZUV2ZW50cyA9IFsnbW91c2Vkb3duJywgJ21vdXNldXAnLCAndG91Y2hjYW5jZWwnLCAndG91Y2hlbmQnLCAndG91Y2hzdGFydCcsICdhdXhjbGljaycsICdkYmxjbGljaycsICdwb2ludGVyY2FuY2VsJywgJ3BvaW50ZXJkb3duJywgJ3BvaW50ZXJ1cCcsICdkcmFnZW5kJywgJ2RyYWdzdGFydCcsICdkcm9wJywgJ2NvbXBvc2l0aW9uZW5kJywgJ2NvbXBvc2l0aW9uc3RhcnQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdpbnB1dCcsICd0ZXh0SW5wdXQnLCAvLyBJbnRlbnRpb25hbGx5IGNhbWVsQ2FzZVxuJ2NvcHknLCAnY3V0JywgJ3Bhc3RlJywgJ2NsaWNrJywgJ2NoYW5nZScsICdjb250ZXh0bWVudScsICdyZXNldCcgLy8gJ3N1Ym1pdCcsIC8vIHN0b3BQcm9wYWdhdGlvbiBibG9ja3MgdGhlIHJlcGxheSBtZWNoYW5pc21cbl07XG5mdW5jdGlvbiBpc0Rpc2NyZXRlRXZlbnRUaGF0UmVxdWlyZXNIeWRyYXRpb24oZXZlbnRUeXBlKSB7XG4gIHJldHVybiBkaXNjcmV0ZVJlcGxheWFibGVFdmVudHMuaW5kZXhPZihldmVudFR5cGUpID4gLTE7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVF1ZXVlZFJlcGxheWFibGVFdmVudChibG9ja2VkT24sIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICByZXR1cm4ge1xuICAgIGJsb2NrZWRPbjogYmxvY2tlZE9uLFxuICAgIGRvbUV2ZW50TmFtZTogZG9tRXZlbnROYW1lLFxuICAgIGV2ZW50U3lzdGVtRmxhZ3M6IGV2ZW50U3lzdGVtRmxhZ3MsXG4gICAgbmF0aXZlRXZlbnQ6IG5hdGl2ZUV2ZW50LFxuICAgIHRhcmdldENvbnRhaW5lcnM6IFt0YXJnZXRDb250YWluZXJdXG4gIH07XG59IC8vIFJlc2V0cyB0aGUgcmVwbGF5aW5nIGZvciB0aGlzIHR5cGUgb2YgY29udGludW91cyBldmVudCB0byBubyBldmVudC5cblxuXG5mdW5jdGlvbiBjbGVhcklmQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpIHtcbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2xlYXZlJzpcbiAgICAgIHF1ZXVlZERyYWcgPSBudWxsO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICAgIHF1ZXVlZE1vdXNlID0gbnVsbDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAncG9pbnRlcm92ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgICAge1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gbmF0aXZlRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVycy5kZWxldGUocG9pbnRlcklkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgY2FzZSAnbG9zdHBvaW50ZXJjYXB0dXJlJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wb2ludGVySWQgPSBuYXRpdmVFdmVudC5wb2ludGVySWQ7XG4gICAgICAgIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5kZWxldGUoX3BvaW50ZXJJZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoZXhpc3RpbmdRdWV1ZWRFdmVudCwgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKGV4aXN0aW5nUXVldWVkRXZlbnQgPT09IG51bGwgfHwgZXhpc3RpbmdRdWV1ZWRFdmVudC5uYXRpdmVFdmVudCAhPT0gbmF0aXZlRXZlbnQpIHtcbiAgICB2YXIgcXVldWVkRXZlbnQgPSBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgdmFyIGZpYmVyID0gZ2V0SW5zdGFuY2VGcm9tTm9kZShibG9ja2VkT24pO1xuXG4gICAgICBpZiAoZmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgLy8gQXR0ZW1wdCB0byBpbmNyZWFzZSB0aGUgcHJpb3JpdHkgb2YgdGhpcyB0YXJnZXQuXG4gICAgICAgIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uKGZpYmVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcXVldWVkRXZlbnQ7XG4gIH0gLy8gSWYgd2UgaGF2ZSBhbHJlYWR5IHF1ZXVlZCB0aGlzIGV4YWN0IGV2ZW50LCB0aGVuIGl0J3MgYmVjYXVzZVxuICAvLyB0aGUgZGlmZmVyZW50IGV2ZW50IHN5c3RlbXMgaGF2ZSBkaWZmZXJlbnQgRE9NIGV2ZW50IGxpc3RlbmVycy5cbiAgLy8gV2UgY2FuIGFjY3VtdWxhdGUgdGhlIGZsYWdzLCBhbmQgdGhlIHRhcmdldENvbnRhaW5lcnMsIGFuZFxuICAvLyBzdG9yZSBhIHNpbmdsZSBldmVudCB0byBiZSByZXBsYXllZC5cblxuXG4gIGV4aXN0aW5nUXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncyB8PSBldmVudFN5c3RlbUZsYWdzO1xuICB2YXIgdGFyZ2V0Q29udGFpbmVycyA9IGV4aXN0aW5nUXVldWVkRXZlbnQudGFyZ2V0Q29udGFpbmVycztcblxuICBpZiAodGFyZ2V0Q29udGFpbmVyICE9PSBudWxsICYmIHRhcmdldENvbnRhaW5lcnMuaW5kZXhPZih0YXJnZXRDb250YWluZXIpID09PSAtMSkge1xuICAgIHRhcmdldENvbnRhaW5lcnMucHVzaCh0YXJnZXRDb250YWluZXIpO1xuICB9XG5cbiAgcmV0dXJuIGV4aXN0aW5nUXVldWVkRXZlbnQ7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgLy8gVGhlc2Ugc2V0IHJlbGF0ZWRUYXJnZXQgdG8gbnVsbCBiZWNhdXNlIHRoZSByZXBsYXllZCBldmVudCB3aWxsIGJlIHRyZWF0ZWQgYXMgaWYgd2VcbiAgLy8gbW92ZWQgZnJvbSBvdXRzaWRlIHRoZSB3aW5kb3cgKG5vIHRhcmdldCkgb250byB0aGUgdGFyZ2V0IG9uY2UgaXQgaHlkcmF0ZXMuXG4gIC8vIEluc3RlYWQgb2YgbXV0YXRpbmcgd2UgY291bGQgY2xvbmUgdGhlIGV2ZW50LlxuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgICAge1xuICAgICAgICB2YXIgZm9jdXNFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRGb2N1cyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRm9jdXMsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIGZvY3VzRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgICB7XG4gICAgICAgIHZhciBkcmFnRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICAgICAgcXVldWVkRHJhZyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRHJhZywgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgZHJhZ0V2ZW50KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgICAge1xuICAgICAgICB2YXIgbW91c2VFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRNb3VzZSA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkTW91c2UsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIG1vdXNlRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIHBvaW50ZXJFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gcG9pbnRlckV2ZW50LnBvaW50ZXJJZDtcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuc2V0KHBvaW50ZXJJZCwgYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChxdWV1ZWRQb2ludGVycy5nZXQocG9pbnRlcklkKSB8fCBudWxsLCBibG9ja2VkT24sIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBwb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgICB7XG4gICAgICAgIHZhciBfcG9pbnRlckV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHZhciBfcG9pbnRlcklkMiA9IF9wb2ludGVyRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuc2V0KF9wb2ludGVySWQyLCBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5nZXQoX3BvaW50ZXJJZDIpIHx8IG51bGwsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIF9wb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59IC8vIENoZWNrIGlmIHRoaXMgdGFyZ2V0IGlzIHVuYmxvY2tlZC4gUmV0dXJucyB0cnVlIGlmIGl0J3MgdW5ibG9ja2VkLlxuXG5mdW5jdGlvbiBhdHRlbXB0RXhwbGljaXRIeWRyYXRpb25UYXJnZXQocXVldWVkVGFyZ2V0KSB7XG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gc2hhcmVzIGEgbG90IG9mIGxvZ2ljIHdpdGggZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudC5cbiAgLy8gVHJ5IHRvIHVuaWZ5IHRoZW0uIEl0J3MgYSBiaXQgdHJpY2t5IHNpbmNlIGl0IHdvdWxkIHJlcXVpcmUgdHdvIHJldHVyblxuICAvLyB2YWx1ZXMuXG4gIHZhciB0YXJnZXRJbnN0ID0gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUocXVldWVkVGFyZ2V0LnRhcmdldCk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBudWxsKSB7XG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xuXG4gICAgICBpZiAodGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcblxuICAgICAgICBpZiAoaW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSdyZSBibG9ja2VkIG9uIGh5ZHJhdGluZyB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIC8vIEluY3JlYXNlIGl0cyBwcmlvcml0eS5cbiAgICAgICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gaW5zdGFuY2U7XG4gICAgICAgICAgcnVuV2l0aFByaW9yaXR5KHF1ZXVlZFRhcmdldC5wcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5KG5lYXJlc3RNb3VudGVkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgICB2YXIgcm9vdCA9IG5lYXJlc3RNb3VudGVkLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgICAgICAgIHF1ZXVlZFRhcmdldC5ibG9ja2VkT24gPSBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpOyAvLyBXZSBkb24ndCBjdXJyZW50bHkgaGF2ZSBhIHdheSB0byBpbmNyZWFzZSB0aGUgcHJpb3JpdHkgb2ZcbiAgICAgICAgICAvLyBhIHJvb3Qgb3RoZXIgdGhhbiBzeW5jLlxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IG51bGw7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlRXhwbGljaXRIeWRyYXRpb25UYXJnZXQodGFyZ2V0KSB7XG4gIC8vIFRPRE86IFRoaXMgd2lsbCByZWFkIHRoZSBwcmlvcml0eSBpZiBpdCdzIGRpc3BhdGNoZWQgYnkgdGhlIFJlYWN0XG4gIC8vIGV2ZW50IHN5c3RlbSBidXQgbm90IG5hdGl2ZSBldmVudHMuIFNob3VsZCByZWFkIHdpbmRvdy5ldmVudC50eXBlLCBsaWtlXG4gIC8vIHdlIGRvIGZvciB1cGRhdGVzIChnZXRDdXJyZW50RXZlbnRQcmlvcml0eSkuXG4gIHZhciB1cGRhdGVQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcXVldWVkVGFyZ2V0ID0ge1xuICAgIGJsb2NrZWRPbjogbnVsbCxcbiAgICB0YXJnZXQ6IHRhcmdldCxcbiAgICBwcmlvcml0eTogdXBkYXRlUHJpb3JpdHlcbiAgfTtcbiAgdmFyIGkgPSAwO1xuXG4gIGZvciAoOyBpIDwgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgLy8gU3RvcCBvbmNlIHdlIGhpdCB0aGUgZmlyc3QgdGFyZ2V0IHdpdGggbG93ZXIgcHJpb3JpdHkgdGhhblxuICAgIGlmICghaXNIaWdoZXJFdmVudFByaW9yaXR5KHVwZGF0ZVByaW9yaXR5LCBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHNbaV0ucHJpb3JpdHkpKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMuc3BsaWNlKGksIDAsIHF1ZXVlZFRhcmdldCk7XG5cbiAgaWYgKGkgPT09IDApIHtcbiAgICBhdHRlbXB0RXhwbGljaXRIeWRyYXRpb25UYXJnZXQocXVldWVkVGFyZ2V0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50KHF1ZXVlZEV2ZW50KSB7XG4gIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgdGFyZ2V0Q29udGFpbmVycyA9IHF1ZXVlZEV2ZW50LnRhcmdldENvbnRhaW5lcnM7XG5cbiAgd2hpbGUgKHRhcmdldENvbnRhaW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBuZXh0QmxvY2tlZE9uID0gZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudChxdWV1ZWRFdmVudC5uYXRpdmVFdmVudCk7XG5cbiAgICBpZiAobmV4dEJsb2NrZWRPbiA9PT0gbnVsbCkge1xuICAgICAgdmFyIG5hdGl2ZUV2ZW50ID0gcXVldWVkRXZlbnQubmF0aXZlRXZlbnQ7XG4gICAgICB2YXIgbmF0aXZlRXZlbnRDbG9uZSA9IG5ldyBuYXRpdmVFdmVudC5jb25zdHJ1Y3RvcihuYXRpdmVFdmVudC50eXBlLCBuYXRpdmVFdmVudCk7XG4gICAgICBzZXRSZXBsYXlpbmdFdmVudChuYXRpdmVFdmVudENsb25lKTtcbiAgICAgIG5hdGl2ZUV2ZW50LnRhcmdldC5kaXNwYXRjaEV2ZW50KG5hdGl2ZUV2ZW50Q2xvbmUpO1xuICAgICAgcmVzZXRSZXBsYXlpbmdFdmVudCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSdyZSBzdGlsbCBibG9ja2VkLiBUcnkgYWdhaW4gbGF0ZXIuXG4gICAgICB2YXIgZmliZXIgPSBnZXRJbnN0YW5jZUZyb21Ob2RlKG5leHRCbG9ja2VkT24pO1xuXG4gICAgICBpZiAoZmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oZmliZXIpO1xuICAgICAgfVxuXG4gICAgICBxdWV1ZWRFdmVudC5ibG9ja2VkT24gPSBuZXh0QmxvY2tlZE9uO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gVGhpcyB0YXJnZXQgY29udGFpbmVyIHdhcyBzdWNjZXNzZnVsbHkgZGlzcGF0Y2hlZC4gVHJ5IHRoZSBuZXh0LlxuXG5cbiAgICB0YXJnZXRDb250YWluZXJzLnNoaWZ0KCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudEluTWFwKHF1ZXVlZEV2ZW50LCBrZXksIG1hcCkge1xuICBpZiAoYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkpIHtcbiAgICBtYXAuZGVsZXRlKGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwbGF5VW5ibG9ja2VkRXZlbnRzKCkge1xuICBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7IC8vIFJlcGxheSBhbnkgY29udGludW91cyBldmVudHMuXG5cbiAgaWYgKHF1ZXVlZEZvY3VzICE9PSBudWxsICYmIGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnQocXVldWVkRm9jdXMpKSB7XG4gICAgcXVldWVkRm9jdXMgPSBudWxsO1xuICB9XG5cbiAgaWYgKHF1ZXVlZERyYWcgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWREcmFnKSkge1xuICAgIHF1ZXVlZERyYWcgPSBudWxsO1xuICB9XG5cbiAgaWYgKHF1ZXVlZE1vdXNlICE9PSBudWxsICYmIGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnQocXVldWVkTW91c2UpKSB7XG4gICAgcXVldWVkTW91c2UgPSBudWxsO1xuICB9XG5cbiAgcXVldWVkUG9pbnRlcnMuZm9yRWFjaChhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50SW5NYXApO1xuICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuZm9yRWFjaChhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50SW5NYXApO1xufVxuXG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRXZlbnQsIHVuYmxvY2tlZCkge1xuICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uID09PSB1bmJsb2NrZWQpIHtcbiAgICBxdWV1ZWRFdmVudC5ibG9ja2VkT24gPSBudWxsO1xuXG4gICAgaWYgKCFoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0KSB7XG4gICAgICBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gdHJ1ZTsgLy8gU2NoZWR1bGUgYSBjYWxsYmFjayB0byBhdHRlbXB0IHJlcGxheWluZyBhcyBtYW55IGV2ZW50cyBhcyBhcmVcbiAgICAgIC8vIG5vdyB1bmJsb2NrZWQuIFRoaXMgZmlyc3QgbWlnaHQgbm90IGFjdHVhbGx5IGJlIHVuYmxvY2tlZCB5ZXQuXG4gICAgICAvLyBXZSBjb3VsZCBjaGVjayBpdCBlYXJseSB0byBhdm9pZCBzY2hlZHVsaW5nIGFuIHVubmVjZXNzYXJ5IGNhbGxiYWNrLlxuXG4gICAgICBTY2hlZHVsZXIudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhTY2hlZHVsZXIudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksIHJlcGxheVVuYmxvY2tlZEV2ZW50cyk7XG4gICAgfVxuICB9XG59IC8vIFtmb3JtLCBzdWJtaXR0ZXIgb3IgYWN0aW9uLCBmb3JtRGF0YS4uLl1cblxuXG52YXIgbGFzdFNjaGVkdWxlZFJlcGxheVF1ZXVlID0gbnVsbDtcblxuZnVuY3Rpb24gcmVwbGF5VW5ibG9ja2VkRm9ybUFjdGlvbnMoZm9ybVJlcGxheWluZ1F1ZXVlKSB7XG4gIGlmIChsYXN0U2NoZWR1bGVkUmVwbGF5UXVldWUgPT09IGZvcm1SZXBsYXlpbmdRdWV1ZSkge1xuICAgIGxhc3RTY2hlZHVsZWRSZXBsYXlRdWV1ZSA9IG51bGw7XG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGZvcm1SZXBsYXlpbmdRdWV1ZS5sZW5ndGg7IGkgKz0gMykge1xuICAgIHZhciBmb3JtID0gZm9ybVJlcGxheWluZ1F1ZXVlW2ldO1xuICAgIHZhciBzdWJtaXR0ZXJPckFjdGlvbiA9IGZvcm1SZXBsYXlpbmdRdWV1ZVtpICsgMV07XG4gICAgdmFyIGZvcm1EYXRhID0gZm9ybVJlcGxheWluZ1F1ZXVlW2kgKyAyXTtcblxuICAgIGlmICh0eXBlb2Ygc3VibWl0dGVyT3JBY3Rpb24gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIC8vIFRoaXMgYWN0aW9uIGlzIG5vdCBoeWRyYXRlZCB5ZXQuIFRoaXMgbWlnaHQgYmUgYmVjYXVzZSBpdCdzIGJsb2NrZWQgb25cbiAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGluc3RhbmNlIG9yIGhpZ2hlciB1cCBvdXIgdHJlZS5cbiAgICAgIHZhciBibG9ja2VkT24gPSBmaW5kSW5zdGFuY2VCbG9ja2luZ1RhcmdldChzdWJtaXR0ZXJPckFjdGlvbiB8fCBmb3JtKTtcblxuICAgICAgaWYgKGJsb2NrZWRPbiA9PT0gbnVsbCkge1xuICAgICAgICAvLyBXZSdyZSBub3QgYmxvY2tlZCBidXQgd2UgZG9uJ3QgaGF2ZSBhbiBhY3Rpb24uIFRoaXMgbXVzdCBtZWFuIHRoYXRcbiAgICAgICAgLy8gdGhpcyBpcyBpbiBhbm90aGVyIFJlYWN0IGluc3RhbmNlLiBXZSdsbCBqdXN0IHNraXAgcGFzdCBpdC5cbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSdyZSBibG9ja2VkIG9uIHNvbWV0aGluZyBpbiB0aGlzIFJlYWN0IGluc3RhbmNlLiBXZSdsbCByZXRyeSBsYXRlci5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGZvcm1JbnN0ID0gZ2V0SW5zdGFuY2VGcm9tTm9kZShmb3JtKTtcblxuICAgIGlmIChmb3JtSW5zdCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyBwYXJ0IG9mIG91ciBpbnN0YW5jZS5cbiAgICAgIC8vIFdlJ3JlIHJlYWR5IHRvIHJlcGxheSB0aGlzLiBMZXQncyBkZWxldGUgaXQgZnJvbSB0aGUgcXVldWUuXG4gICAgICBmb3JtUmVwbGF5aW5nUXVldWUuc3BsaWNlKGksIDMpO1xuICAgICAgaSAtPSAzO1xuICAgICAgZGlzcGF0Y2hSZXBsYXllZEZvcm1BY3Rpb24oZm9ybUluc3QsIGZvcm0sIHN1Ym1pdHRlck9yQWN0aW9uLCBmb3JtRGF0YSk7IC8vIENvbnRpbnVlIHdpdGhvdXQgaW5jcmVtZW50aW5nIHRoZSBpbmRleC5cblxuICAgICAgY29udGludWU7XG4gICAgfSAvLyBUaGlzIGZvcm0gbXVzdCd2ZSBiZWVuIHBhcnQgb2YgYSBkaWZmZXJlbnQgUmVhY3QgaW5zdGFuY2UuXG4gICAgLy8gSWYgd2Ugd2FudCB0byBwcmVzZXJ2ZSBvcmRlcmluZyBiZXR3ZWVuIFJlYWN0IGluc3RhbmNlcyBvbiB0aGUgc2FtZSByb290XG4gICAgLy8gd2UnZCBuZWVkIHNvbWUgd2F5IGZvciB0aGUgb3RoZXIgaW5zdGFuY2UgdG8gcGluZyB1cyB3aGVuIGl0J3MgZG9uZS5cbiAgICAvLyBXZSdsbCBqdXN0IHNraXAgdGhpcyBhbmQgbGV0IHRoZSBvdGhlciBpbnN0YW5jZSBleGVjdXRlIGl0LlxuXG4gIH1cbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVSZXBsYXlRdWV1ZUlmTmVlZGVkKGZvcm1SZXBsYXlpbmdRdWV1ZSkge1xuICAvLyBTY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGV4ZWN1dGUgYW55IHVuYmxvY2tlZCBmb3JtIGFjdGlvbnMgaW4uXG4gIC8vIFdlIG9ubHkga2VlcCB0cmFjayBvZiB0aGUgbGFzdCBxdWV1ZSB3aGljaCBtZWFucyB0aGF0IGlmIG11bHRpcGxlIFJlYWN0IG9zY2lsbGF0ZVxuICAvLyBjb21taXRzLCB3ZSBjb3VsZCBzY2hlZHVsZSBtb3JlIGNhbGxiYWNrcyB0aGFuIG5lY2Vzc2FyeSBidXQgaXQncyBub3QgYSBiaWcgZGVhbFxuICAvLyBhbmQgd2Ugb25seSByZWFsbHkgZXhjZXB0IG9uZSBpbnN0YW5jZS5cbiAgaWYgKGxhc3RTY2hlZHVsZWRSZXBsYXlRdWV1ZSAhPT0gZm9ybVJlcGxheWluZ1F1ZXVlKSB7XG4gICAgbGFzdFNjaGVkdWxlZFJlcGxheVF1ZXVlID0gZm9ybVJlcGxheWluZ1F1ZXVlO1xuICAgIFNjaGVkdWxlci51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKFNjaGVkdWxlci51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHJlcGxheVVuYmxvY2tlZEZvcm1BY3Rpb25zKGZvcm1SZXBsYXlpbmdRdWV1ZSk7XG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmV0cnlJZkJsb2NrZWRPbih1bmJsb2NrZWQpIHtcbiAgaWYgKHF1ZXVlZEZvY3VzICE9PSBudWxsKSB7XG4gICAgc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZEZvY3VzLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgaWYgKHF1ZXVlZERyYWcgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRHJhZywgdW5ibG9ja2VkKTtcbiAgfVxuXG4gIGlmIChxdWV1ZWRNb3VzZSAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWRNb3VzZSwgdW5ibG9ja2VkKTtcbiAgfVxuXG4gIHZhciB1bmJsb2NrID0gZnVuY3Rpb24gKHF1ZXVlZEV2ZW50KSB7XG4gICAgcmV0dXJuIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWRFdmVudCwgdW5ibG9ja2VkKTtcbiAgfTtcblxuICBxdWV1ZWRQb2ludGVycy5mb3JFYWNoKHVuYmxvY2spO1xuICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuZm9yRWFjaCh1bmJsb2NrKTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBxdWV1ZWRUYXJnZXQgPSBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHNbaV07XG5cbiAgICBpZiAocXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XG4gICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICB3aGlsZSAocXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgbmV4dEV4cGxpY2l0VGFyZ2V0ID0gcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzWzBdO1xuXG4gICAgaWYgKG5leHRFeHBsaWNpdFRhcmdldC5ibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXG4gICAgICBicmVhaztcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KG5leHRFeHBsaWNpdFRhcmdldCk7XG5cbiAgICAgIGlmIChuZXh0RXhwbGljaXRUYXJnZXQuYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICAgIC8vIFdlJ3JlIHVuYmxvY2tlZC5cbiAgICAgICAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNoaWZ0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAge1xuICAgIC8vIENoZWNrIHRoZSBkb2N1bWVudCBpZiB0aGVyZSBhcmUgYW55IHF1ZXVlZCBmb3JtIGFjdGlvbnMuXG4gICAgLy8gSWYgdGhlcmUncyBubyBvd25lckRvY3VtZW50LCB0aGVuIHRoaXMgaXMgdGhlIGRvY3VtZW50LlxuICAgIHZhciByb290ID0gdW5ibG9ja2VkLm93bmVyRG9jdW1lbnQgfHwgdW5ibG9ja2VkO1xuICAgIHZhciBmb3JtUmVwbGF5aW5nUXVldWUgPSByb290LiQkcmVhY3RGb3JtUmVwbGF5O1xuXG4gICAgaWYgKGZvcm1SZXBsYXlpbmdRdWV1ZSAhPSBudWxsKSB7XG4gICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgZm9ybVJlcGxheWluZ1F1ZXVlLmxlbmd0aDsgX2kgKz0gMykge1xuICAgICAgICB2YXIgZm9ybSA9IGZvcm1SZXBsYXlpbmdRdWV1ZVtfaV07XG4gICAgICAgIHZhciBzdWJtaXR0ZXJPckFjdGlvbiA9IGZvcm1SZXBsYXlpbmdRdWV1ZVtfaSArIDFdO1xuICAgICAgICB2YXIgZm9ybVByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShmb3JtKTtcblxuICAgICAgICBpZiAodHlwZW9mIHN1Ym1pdHRlck9yQWN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gVGhpcyBhY3Rpb24gaGFzIGFscmVhZHkgcmVzb2x2ZWQuIFdlJ3JlIGp1c3Qgd2FpdGluZyB0byBkaXNwYXRjaCBpdC5cbiAgICAgICAgICBpZiAoIWZvcm1Qcm9wcykge1xuICAgICAgICAgICAgLy8gVGhpcyB3YXMgbm90IHBhcnQgb2YgdGhpcyBSZWFjdCBpbnN0YW5jZS4gSXQgbWlnaHQgaGF2ZSBiZWVuIHJlY2VudGx5XG4gICAgICAgICAgICAvLyB1bmJsb2NraW5nIHVzIGZyb20gZGlzcGF0Y2hpbmcgb3VyIGV2ZW50cy4gU28gbGV0J3MgbWFrZSBzdXJlIHdlIHNjaGVkdWxlXG4gICAgICAgICAgICAvLyBhIHJldHJ5LlxuICAgICAgICAgICAgc2NoZWR1bGVSZXBsYXlRdWV1ZUlmTmVlZGVkKGZvcm1SZXBsYXlpbmdRdWV1ZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgdGFyZ2V0ID0gZm9ybTtcblxuICAgICAgICBpZiAoZm9ybVByb3BzKSB7XG4gICAgICAgICAgLy8gVGhpcyBmb3JtIGJlbG9uZ3MgdG8gdGhpcyBSZWFjdCBpbnN0YW5jZSBidXQgdGhlIHN1Ym1pdHRlciBtaWdodFxuICAgICAgICAgIC8vIG5vdCBiZSBkb25lIHlldC5cbiAgICAgICAgICB2YXIgYWN0aW9uID0gbnVsbDtcbiAgICAgICAgICB2YXIgc3VibWl0dGVyID0gc3VibWl0dGVyT3JBY3Rpb247XG5cbiAgICAgICAgICBpZiAoc3VibWl0dGVyICYmIHN1Ym1pdHRlci5oYXNBdHRyaWJ1dGUoJ2Zvcm1BY3Rpb24nKSkge1xuICAgICAgICAgICAgLy8gVGhlIHN1Ym1pdHRlciBpcyB0aGUgb25lIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBhY3Rpb24uXG4gICAgICAgICAgICB0YXJnZXQgPSBzdWJtaXR0ZXI7XG4gICAgICAgICAgICB2YXIgc3VibWl0dGVyUHJvcHMgPSBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlKHN1Ym1pdHRlcik7XG5cbiAgICAgICAgICAgIGlmIChzdWJtaXR0ZXJQcm9wcykge1xuICAgICAgICAgICAgICAvLyBUaGUgc3VibWl0dGVyIGlzIHBhcnQgb2YgdGhpcyBpbnN0YW5jZS5cbiAgICAgICAgICAgICAgYWN0aW9uID0gc3VibWl0dGVyUHJvcHMuZm9ybUFjdGlvbjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHZhciBibG9ja2VkT24gPSBmaW5kSW5zdGFuY2VCbG9ja2luZ1RhcmdldCh0YXJnZXQpO1xuXG4gICAgICAgICAgICAgIGlmIChibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBUaGUgc3VibWl0dGVyIGlzIG5vdCBoeWRyYXRlZCB5ZXQuIFdlJ2xsIHdhaXQgZm9yIGl0LlxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICB9IC8vIFRoZSBzdWJtaXR0ZXIgbXVzdCBoYXZlIGJlZW4gYSBwYXJ0IG9mIGEgZGlmZmVyZW50IFJlYWN0IGluc3RhbmNlLlxuICAgICAgICAgICAgICAvLyBFeGNlcHQgdGhlIGZvcm0gaXNuJ3QuIFdlIGRvbid0IGRpc3BhdGNoIGFjdGlvbnMgaW4gdGhpcyBzY2VuYXJpby5cblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhY3Rpb24gPSBmb3JtUHJvcHMuYWN0aW9uO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgYWN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBmb3JtUmVwbGF5aW5nUXVldWVbX2kgKyAxXSA9IGFjdGlvbjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gU29tZXRoaW5nIHdlbnQgd3Jvbmcgc28gbGV0J3MganVzdCBkZWxldGUgdGhpcyBhY3Rpb24uXG4gICAgICAgICAgICBmb3JtUmVwbGF5aW5nUXVldWUuc3BsaWNlKF9pLCAzKTtcbiAgICAgICAgICAgIF9pIC09IDM7XG4gICAgICAgICAgfSAvLyBTY2hlZHVsZSBhIHJlcGxheSBpbiBjYXNlIHRoaXMgdW5ibG9ja2VkIHNvbWV0aGluZy5cblxuXG4gICAgICAgICAgc2NoZWR1bGVSZXBsYXlRdWV1ZUlmTmVlZGVkKGZvcm1SZXBsYXlpbmdRdWV1ZSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH0gLy8gU29tZXRoaW5nIGFib3ZlIHRoaXMgdGFyZ2V0IGlzIHN0aWxsIGJsb2NrZWQgc28gd2UgY2FuJ3QgY29udGludWUgeWV0LlxuICAgICAgICAvLyBXZSdyZSBub3Qgc3VyZSBpZiB0aGlzIHRhcmdldCBpcyBhY3R1YWxseSBwYXJ0IG9mIHRoaXMgUmVhY3QgaW5zdGFuY2VcbiAgICAgICAgLy8geWV0LiBJdCBjb3VsZCBiZSBhIGRpZmZlcmVudCBSZWFjdCBhcyBhIGNoaWxkIGJ1dCBhdCBsZWFzdCBzb21lIHBhcmVudCBpcy5cbiAgICAgICAgLy8gV2UgbXVzdCBjb250aW51ZSBmb3IgYW55IGZ1cnRoZXIgcXVldWVkIGFjdGlvbnMuXG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7IC8vIFRPRE86IGNhbiB3ZSBzdG9wIGV4cG9ydGluZyB0aGVzZT9cblxudmFyIF9lbmFibGVkID0gdHJ1ZTsgLy8gVGhpcyBpcyBleHBvcnRlZCBpbiBGQiBidWlsZHMgZm9yIHVzZSBieSBsZWdhY3kgRkIgbGF5ZXIgaW5mcmEuXG4vLyBXZSdkIGxpa2UgdG8gcmVtb3ZlIHRoaXMgYnV0IGl0J3Mgbm90IGNsZWFyIGlmIHRoaXMgaXMgc2FmZS5cblxuZnVuY3Rpb24gc2V0RW5hYmxlZChlbmFibGVkKSB7XG4gIF9lbmFibGVkID0gISFlbmFibGVkO1xufVxuZnVuY3Rpb24gaXNFbmFibGVkKCkge1xuICByZXR1cm4gX2VuYWJsZWQ7XG59XG5mdW5jdGlvbiBjcmVhdGVFdmVudExpc3RlbmVyV3JhcHBlcldpdGhQcmlvcml0eSh0YXJnZXRDb250YWluZXIsIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncykge1xuICB2YXIgZXZlbnRQcmlvcml0eSA9IGdldEV2ZW50UHJpb3JpdHkoZG9tRXZlbnROYW1lKTtcbiAgdmFyIGxpc3RlbmVyV3JhcHBlcjtcblxuICBzd2l0Y2ggKGV2ZW50UHJpb3JpdHkpIHtcbiAgICBjYXNlIERpc2NyZXRlRXZlbnRQcmlvcml0eTpcbiAgICAgIGxpc3RlbmVyV3JhcHBlciA9IGRpc3BhdGNoRGlzY3JldGVFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDb250aW51b3VzRXZlbnRQcmlvcml0eTpcbiAgICAgIGxpc3RlbmVyV3JhcHBlciA9IGRpc3BhdGNoQ29udGludW91c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIERlZmF1bHRFdmVudFByaW9yaXR5OlxuICAgIGRlZmF1bHQ6XG4gICAgICBsaXN0ZW5lcldyYXBwZXIgPSBkaXNwYXRjaEV2ZW50O1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJXcmFwcGVyLmJpbmQobnVsbCwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpO1xufVxuXG5mdW5jdGlvbiBkaXNwYXRjaERpc2NyZXRlRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBwcmV2aW91c1ByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG4gIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb247XG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb24gPSBudWxsO1xuXG4gIHRyeSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KERpc2NyZXRlRXZlbnRQcmlvcml0eSk7XG4gICAgZGlzcGF0Y2hFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuICB9IGZpbmFsbHkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hDb250aW51b3VzRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBwcmV2aW91c1ByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG4gIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb247XG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb24gPSBudWxsO1xuXG4gIHRyeSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KENvbnRpbnVvdXNFdmVudFByaW9yaXR5KTtcbiAgICBkaXNwYXRjaEV2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCk7XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb24gPSBwcmV2VHJhbnNpdGlvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBkaXNwYXRjaEV2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICBpZiAoIV9lbmFibGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGJsb2NrZWRPbiA9IGZpbmRJbnN0YW5jZUJsb2NraW5nRXZlbnQobmF0aXZlRXZlbnQpO1xuXG4gIGlmIChibG9ja2VkT24gPT09IG51bGwpIHtcbiAgICBkaXNwYXRjaEV2ZW50Rm9yUGx1Z2luRXZlbnRTeXN0ZW0oZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgcmV0dXJuX3RhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcik7XG4gICAgY2xlYXJJZkNvbnRpbnVvdXNFdmVudChkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAocXVldWVJZkNvbnRpbnVvdXNFdmVudChibG9ja2VkT24sIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCkpIHtcbiAgICBuYXRpdmVFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICByZXR1cm47XG4gIH0gLy8gV2UgbmVlZCB0byBjbGVhciBvbmx5IGlmIHdlIGRpZG4ndCBxdWV1ZSBiZWNhdXNlXG4gIC8vIHF1ZXVlaW5nIGlzIGFjY3VtdWxhdGl2ZS5cblxuXG4gIGNsZWFySWZDb250aW51b3VzRXZlbnQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCk7XG5cbiAgaWYgKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19DQVBUVVJFX1BIQVNFICYmIGlzRGlzY3JldGVFdmVudFRoYXRSZXF1aXJlc0h5ZHJhdGlvbihkb21FdmVudE5hbWUpKSB7XG4gICAgd2hpbGUgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgdmFyIGZpYmVyID0gZ2V0SW5zdGFuY2VGcm9tTm9kZShibG9ja2VkT24pO1xuXG4gICAgICBpZiAoZmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uKGZpYmVyKTtcbiAgICAgIH1cblxuICAgICAgdmFyIG5leHRCbG9ja2VkT24gPSBmaW5kSW5zdGFuY2VCbG9ja2luZ0V2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgICAgaWYgKG5leHRCbG9ja2VkT24gPT09IG51bGwpIHtcbiAgICAgICAgZGlzcGF0Y2hFdmVudEZvclBsdWdpbkV2ZW50U3lzdGVtKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHJldHVybl90YXJnZXRJbnN0LCB0YXJnZXRDb250YWluZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAobmV4dEJsb2NrZWRPbiA9PT0gYmxvY2tlZE9uKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBibG9ja2VkT24gPSBuZXh0QmxvY2tlZE9uO1xuICAgIH1cblxuICAgIGlmIChibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIG5hdGl2ZUV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfSAvLyBUaGlzIGlzIG5vdCByZXBsYXlhYmxlIHNvIHdlJ2xsIGludm9rZSBpdCBidXQgd2l0aG91dCBhIHRhcmdldCxcbiAgLy8gaW4gY2FzZSB0aGUgZXZlbnQgc3lzdGVtIG5lZWRzIHRvIHRyYWNlIGl0LlxuXG5cbiAgZGlzcGF0Y2hFdmVudEZvclBsdWdpbkV2ZW50U3lzdGVtKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIG51bGwsIHRhcmdldENvbnRhaW5lcik7XG59XG5mdW5jdGlvbiBmaW5kSW5zdGFuY2VCbG9ja2luZ0V2ZW50KG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBuYXRpdmVFdmVudFRhcmdldCA9IGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KTtcbiAgcmV0dXJuIGZpbmRJbnN0YW5jZUJsb2NraW5nVGFyZ2V0KG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbn1cbnZhciByZXR1cm5fdGFyZ2V0SW5zdCA9IG51bGw7IC8vIFJldHVybnMgYSBTdXNwZW5zZUluc3RhbmNlIG9yIENvbnRhaW5lciBpZiBpdCdzIGJsb2NrZWQuXG4vLyBUaGUgcmV0dXJuX3RhcmdldEluc3QgZmllbGQgYWJvdmUgaXMgY29uY2VwdHVhbGx5IHBhcnQgb2YgdGhlIHJldHVybiB2YWx1ZS5cblxuZnVuY3Rpb24gZmluZEluc3RhbmNlQmxvY2tpbmdUYXJnZXQodGFyZ2V0Tm9kZSkge1xuICAvLyBUT0RPOiBXYXJuIGlmIF9lbmFibGVkIGlzIGZhbHNlLlxuICByZXR1cm5fdGFyZ2V0SW5zdCA9IG51bGw7XG4gIHZhciB0YXJnZXRJbnN0ID0gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUodGFyZ2V0Tm9kZSk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkID09PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIHRyZWUgaGFzIGJlZW4gdW5tb3VudGVkIGFscmVhZHkuIERpc3BhdGNoIHdpdGhvdXQgYSB0YXJnZXQuXG4gICAgICB0YXJnZXRJbnN0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHRhZyA9IG5lYXJlc3RNb3VudGVkLnRhZztcblxuICAgICAgaWYgKHRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gUXVldWUgdGhlIGV2ZW50IHRvIGJlIHJlcGxheWVkIGxhdGVyLiBBYm9ydCBkaXNwYXRjaGluZyBzaW5jZSB3ZVxuICAgICAgICAgIC8vIGRvbid0IHdhbnQgdGhpcyBldmVudCBkaXNwYXRjaGVkIHR3aWNlIHRocm91Z2ggdGhlIGV2ZW50IHN5c3RlbS5cbiAgICAgICAgICAvLyBUT0RPOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBkaXNjcmV0ZSBldmVudCBpbiB0aGUgcXVldWUuIFNjaGVkdWxlIGFuIGluY3JlYXNlZFxuICAgICAgICAgIC8vIHByaW9yaXR5IGZvciB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgICAgfSAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIHNvbWV0aGluZyB3ZW50IHdyb25nIGJ1dCB0byBhdm9pZCBibG9ja2luZ1xuICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLCBkaXNwYXRjaCB0aGUgZXZlbnQgd2l0aG91dCBhIHRhcmdldC5cbiAgICAgICAgLy8gVE9ETzogV2Fybi5cblxuXG4gICAgICAgIHRhcmdldEluc3QgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIHZhciByb290ID0gbmVhcmVzdE1vdW50ZWQuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpKSB7XG4gICAgICAgICAgLy8gSWYgdGhpcyBoYXBwZW5zIGR1cmluZyBhIHJlcGxheSBzb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgaXQgbWlnaHQgYmxvY2tcbiAgICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLlxuICAgICAgICAgIHJldHVybiBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKG5lYXJlc3RNb3VudGVkICE9PSB0YXJnZXRJbnN0KSB7XG4gICAgICAgIC8vIElmIHdlIGdldCBhbiBldmVudCAoZXg6IGltZyBvbmxvYWQpIGJlZm9yZSBjb21taXR0aW5nIHRoYXRcbiAgICAgICAgLy8gY29tcG9uZW50J3MgbW91bnQsIGlnbm9yZSBpdCBmb3Igbm93ICh0aGF0IGlzLCB0cmVhdCBpdCBhcyBpZiBpdCB3YXMgYW5cbiAgICAgICAgLy8gZXZlbnQgb24gYSBub24tUmVhY3QgdHJlZSkuIFdlIG1pZ2h0IGFsc28gY29uc2lkZXIgcXVldWVpbmcgZXZlbnRzIGFuZFxuICAgICAgICAvLyBkaXNwYXRjaGluZyB0aGVtIGFmdGVyIHRoZSBtb3VudC5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuX3RhcmdldEluc3QgPSB0YXJnZXRJbnN0OyAvLyBXZSdyZSBub3QgYmxvY2tlZCBvbiBhbnl0aGluZy5cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldEV2ZW50UHJpb3JpdHkoZG9tRXZlbnROYW1lKSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgLy8gVXNlZCBieSBTaW1wbGVFdmVudFBsdWdpbjpcbiAgICBjYXNlICdjYW5jZWwnOlxuICAgIGNhc2UgJ2NsaWNrJzpcbiAgICBjYXNlICdjbG9zZSc6XG4gICAgY2FzZSAnY29udGV4dG1lbnUnOlxuICAgIGNhc2UgJ2NvcHknOlxuICAgIGNhc2UgJ2N1dCc6XG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdkcmFnZW5kJzpcbiAgICBjYXNlICdkcmFnc3RhcnQnOlxuICAgIGNhc2UgJ2Ryb3AnOlxuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgIGNhc2UgJ2ZvY3Vzb3V0JzpcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgY2FzZSAnaW52YWxpZCc6XG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5cHJlc3MnOlxuICAgIGNhc2UgJ2tleXVwJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNldXAnOlxuICAgIGNhc2UgJ3Bhc3RlJzpcbiAgICBjYXNlICdwYXVzZSc6XG4gICAgY2FzZSAncGxheSc6XG4gICAgY2FzZSAncG9pbnRlcmNhbmNlbCc6XG4gICAgY2FzZSAncG9pbnRlcmRvd24nOlxuICAgIGNhc2UgJ3BvaW50ZXJ1cCc6XG4gICAgY2FzZSAncmF0ZWNoYW5nZSc6XG4gICAgY2FzZSAncmVzZXQnOlxuICAgIGNhc2UgJ3Jlc2l6ZSc6XG4gICAgY2FzZSAnc2Vla2VkJzpcbiAgICBjYXNlICdzdWJtaXQnOlxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2hzdGFydCc6XG4gICAgY2FzZSAndm9sdW1lY2hhbmdlJzogLy8gVXNlZCBieSBwb2x5ZmlsbHM6IChmYWxsIHRocm91Z2gpXG5cbiAgICBjYXNlICdjaGFuZ2UnOlxuICAgIGNhc2UgJ3NlbGVjdGlvbmNoYW5nZSc6XG4gICAgY2FzZSAndGV4dElucHV0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbnN0YXJ0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbmVuZCc6XG4gICAgY2FzZSAnY29tcG9zaXRpb251cGRhdGUnOiAvLyBPbmx5IGVuYWJsZUNyZWF0ZUV2ZW50SGFuZGxlQVBJOiAoZmFsbCB0aHJvdWdoKVxuXG4gICAgY2FzZSAnYmVmb3JlYmx1cic6XG4gICAgY2FzZSAnYWZ0ZXJibHVyJzogLy8gTm90IHVzZWQgYnkgUmVhY3QgYnV0IGNvdWxkIGJlIGJ5IHVzZXIgY29kZTogKGZhbGwgdGhyb3VnaClcblxuICAgIGNhc2UgJ2JlZm9yZWlucHV0JzpcbiAgICBjYXNlICdibHVyJzpcbiAgICBjYXNlICdmdWxsc2NyZWVuY2hhbmdlJzpcbiAgICBjYXNlICdmb2N1cyc6XG4gICAgY2FzZSAnaGFzaGNoYW5nZSc6XG4gICAgY2FzZSAncG9wc3RhdGUnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAnc2VsZWN0c3RhcnQnOlxuICAgICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2VvdXQnOlxuICAgIGNhc2UgJ21vdXNlb3Zlcic6XG4gICAgY2FzZSAncG9pbnRlcm1vdmUnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICBjYXNlICdzY3JvbGwnOlxuICAgIGNhc2UgJ3RvZ2dsZSc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd3aGVlbCc6IC8vIE5vdCB1c2VkIGJ5IFJlYWN0IGJ1dCBjb3VsZCBiZSBieSB1c2VyIGNvZGU6IChmYWxsIHRocm91Z2gpXG5cbiAgICBjYXNlICdtb3VzZWVudGVyJzpcbiAgICBjYXNlICdtb3VzZWxlYXZlJzpcbiAgICBjYXNlICdwb2ludGVyZW50ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJsZWF2ZSc6XG4gICAgICByZXR1cm4gQ29udGludW91c0V2ZW50UHJpb3JpdHk7XG5cbiAgICBjYXNlICdtZXNzYWdlJzpcbiAgICAgIHtcbiAgICAgICAgLy8gV2UgbWlnaHQgYmUgaW4gdGhlIFNjaGVkdWxlciBjYWxsYmFjay5cbiAgICAgICAgLy8gRXZlbnR1YWxseSB0aGlzIG1lY2hhbmlzbSB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgY2hlY2tcbiAgICAgICAgLy8gb2YgdGhlIGN1cnJlbnQgcHJpb3JpdHkgb24gdGhlIG5hdGl2ZSBzY2hlZHVsZXIuXG4gICAgICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eSA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XG5cbiAgICAgICAgc3dpdGNoIChzY2hlZHVsZXJQcmlvcml0eSkge1xuICAgICAgICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgICAgICAgICByZXR1cm4gRGlzY3JldGVFdmVudFByaW9yaXR5O1xuXG4gICAgICAgICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICAgICAgICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGNhc2UgTm9ybWFsUHJpb3JpdHkkMTpcbiAgICAgICAgICBjYXNlIExvd1ByaW9yaXR5OlxuICAgICAgICAgICAgLy8gVE9ETzogSGFuZGxlIExvd1NjaGVkdWxlclByaW9yaXR5LCBzb21laG93LiBNYXliZSB0aGUgc2FtZSBsYW5lIGFzIGh5ZHJhdGlvbi5cbiAgICAgICAgICAgIHJldHVybiBEZWZhdWx0RXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGNhc2UgSWRsZVByaW9yaXR5OlxuICAgICAgICAgICAgcmV0dXJuIElkbGVFdmVudFByaW9yaXR5O1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBEZWZhdWx0RXZlbnRQcmlvcml0eTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBEZWZhdWx0RXZlbnRQcmlvcml0eTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lcikge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCBmYWxzZSk7XG4gIHJldHVybiBsaXN0ZW5lcjtcbn1cbmZ1bmN0aW9uIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lcikge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB0cnVlKTtcbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuZnVuY3Rpb24gYWRkRXZlbnRDYXB0dXJlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0LCBldmVudFR5cGUsIGxpc3RlbmVyLCBwYXNzaXZlKSB7XG4gIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIsIHtcbiAgICBjYXB0dXJlOiB0cnVlLFxuICAgIHBhc3NpdmU6IHBhc3NpdmVcbiAgfSk7XG4gIHJldHVybiBsaXN0ZW5lcjtcbn1cbmZ1bmN0aW9uIGFkZEV2ZW50QnViYmxlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0LCBldmVudFR5cGUsIGxpc3RlbmVyLCBwYXNzaXZlKSB7XG4gIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIsIHtcbiAgICBwYXNzaXZlOiBwYXNzaXZlXG4gIH0pO1xuICByZXR1cm4gbGlzdGVuZXI7XG59XG5cbi8qKlxuICogVGhlc2UgdmFyaWFibGVzIHN0b3JlIGluZm9ybWF0aW9uIGFib3V0IHRleHQgY29udGVudCBvZiBhIHRhcmdldCBub2RlLFxuICogYWxsb3dpbmcgY29tcGFyaXNvbiBvZiBjb250ZW50IGJlZm9yZSBhbmQgYWZ0ZXIgYSBnaXZlbiBldmVudC5cbiAqXG4gKiBJZGVudGlmeSB0aGUgbm9kZSB3aGVyZSBzZWxlY3Rpb24gY3VycmVudGx5IGJlZ2lucywgdGhlbiBvYnNlcnZlXG4gKiBib3RoIGl0cyB0ZXh0IGNvbnRlbnQgYW5kIGl0cyBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSBET00uIFNpbmNlIHRoZVxuICogYnJvd3NlciBtYXkgbmF0aXZlbHkgcmVwbGFjZSB0aGUgdGFyZ2V0IG5vZGUgZHVyaW5nIGNvbXBvc2l0aW9uLCB3ZSBjYW5cbiAqIHVzZSBpdHMgcG9zaXRpb24gdG8gZmluZCBpdHMgcmVwbGFjZW1lbnQuXG4gKlxuICpcbiAqL1xudmFyIHJvb3QgPSBudWxsO1xudmFyIHN0YXJ0VGV4dCA9IG51bGw7XG52YXIgZmFsbGJhY2tUZXh0ID0gbnVsbDtcbmZ1bmN0aW9uIGluaXRpYWxpemUobmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgcm9vdCA9IG5hdGl2ZUV2ZW50VGFyZ2V0O1xuICBzdGFydFRleHQgPSBnZXRUZXh0KCk7XG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gcmVzZXQoKSB7XG4gIHJvb3QgPSBudWxsO1xuICBzdGFydFRleHQgPSBudWxsO1xuICBmYWxsYmFja1RleHQgPSBudWxsO1xufVxuZnVuY3Rpb24gZ2V0RGF0YSgpIHtcbiAgaWYgKGZhbGxiYWNrVGV4dCkge1xuICAgIHJldHVybiBmYWxsYmFja1RleHQ7XG4gIH1cblxuICB2YXIgc3RhcnQ7XG4gIHZhciBzdGFydFZhbHVlID0gc3RhcnRUZXh0O1xuICB2YXIgc3RhcnRMZW5ndGggPSBzdGFydFZhbHVlLmxlbmd0aDtcbiAgdmFyIGVuZDtcbiAgdmFyIGVuZFZhbHVlID0gZ2V0VGV4dCgpO1xuICB2YXIgZW5kTGVuZ3RoID0gZW5kVmFsdWUubGVuZ3RoO1xuXG4gIGZvciAoc3RhcnQgPSAwOyBzdGFydCA8IHN0YXJ0TGVuZ3RoOyBzdGFydCsrKSB7XG4gICAgaWYgKHN0YXJ0VmFsdWVbc3RhcnRdICE9PSBlbmRWYWx1ZVtzdGFydF0pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHZhciBtaW5FbmQgPSBzdGFydExlbmd0aCAtIHN0YXJ0O1xuXG4gIGZvciAoZW5kID0gMTsgZW5kIDw9IG1pbkVuZDsgZW5kKyspIHtcbiAgICBpZiAoc3RhcnRWYWx1ZVtzdGFydExlbmd0aCAtIGVuZF0gIT09IGVuZFZhbHVlW2VuZExlbmd0aCAtIGVuZF0pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHZhciBzbGljZVRhaWwgPSBlbmQgPiAxID8gMSAtIGVuZCA6IHVuZGVmaW5lZDtcbiAgZmFsbGJhY2tUZXh0ID0gZW5kVmFsdWUuc2xpY2Uoc3RhcnQsIHNsaWNlVGFpbCk7XG4gIHJldHVybiBmYWxsYmFja1RleHQ7XG59XG5mdW5jdGlvbiBnZXRUZXh0KCkge1xuICBpZiAoJ3ZhbHVlJyBpbiByb290KSB7XG4gICAgcmV0dXJuIHJvb3QudmFsdWU7XG4gIH1cblxuICByZXR1cm4gcm9vdC50ZXh0Q29udGVudDtcbn1cblxudmFyIEVORF9LRVlDT0RFUyA9IFs5LCAxMywgMjcsIDMyXTsgLy8gVGFiLCBSZXR1cm4sIEVzYywgU3BhY2VcblxudmFyIFNUQVJUX0tFWUNPREUgPSAyMjk7XG52YXIgY2FuVXNlQ29tcG9zaXRpb25FdmVudCA9IGNhblVzZURPTSAmJiAnQ29tcG9zaXRpb25FdmVudCcgaW4gd2luZG93O1xudmFyIGRvY3VtZW50TW9kZSA9IG51bGw7XG5cbmlmIChjYW5Vc2VET00gJiYgJ2RvY3VtZW50TW9kZScgaW4gZG9jdW1lbnQpIHtcbiAgZG9jdW1lbnRNb2RlID0gZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xufSAvLyBXZWJraXQgb2ZmZXJzIGEgdmVyeSB1c2VmdWwgYHRleHRJbnB1dGAgZXZlbnQgdGhhdCBjYW4gYmUgdXNlZCB0b1xuLy8gZGlyZWN0bHkgcmVwcmVzZW50IGBiZWZvcmVJbnB1dGAuIFRoZSBJRSBgdGV4dGlucHV0YCBldmVudCBpcyBub3QgYXNcbi8vIHVzZWZ1bCwgc28gd2UgZG9uJ3QgdXNlIGl0LlxuXG5cbnZhciBjYW5Vc2VUZXh0SW5wdXRFdmVudCA9IGNhblVzZURPTSAmJiAnVGV4dEV2ZW50JyBpbiB3aW5kb3cgJiYgIWRvY3VtZW50TW9kZTsgLy8gSW4gSUU5Kywgd2UgaGF2ZSBhY2Nlc3MgdG8gY29tcG9zaXRpb24gZXZlbnRzLCBidXQgdGhlIGRhdGEgc3VwcGxpZWRcbi8vIGJ5IHRoZSBuYXRpdmUgY29tcG9zaXRpb25lbmQgZXZlbnQgbWF5IGJlIGluY29ycmVjdC4gSmFwYW5lc2UgaWRlb2dyYXBoaWNcbi8vIHNwYWNlcywgZm9yIGluc3RhbmNlIChcXHUzMDAwKSBhcmUgbm90IHJlY29yZGVkIGNvcnJlY3RseS5cblxudmFyIHVzZUZhbGxiYWNrQ29tcG9zaXRpb25EYXRhID0gY2FuVXNlRE9NICYmICghY2FuVXNlQ29tcG9zaXRpb25FdmVudCB8fCBkb2N1bWVudE1vZGUgJiYgZG9jdW1lbnRNb2RlID4gOCAmJiBkb2N1bWVudE1vZGUgPD0gMTEpO1xudmFyIFNQQUNFQkFSX0NPREUgPSAzMjtcbnZhciBTUEFDRUJBUl9DSEFSID0gU3RyaW5nLmZyb21DaGFyQ29kZShTUEFDRUJBUl9DT0RFKTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJFdmVudHMkMygpIHtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkJlZm9yZUlucHV0JywgWydjb21wb3NpdGlvbmVuZCcsICdrZXlwcmVzcycsICd0ZXh0SW5wdXQnLCAncGFzdGUnXSk7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25Db21wb3NpdGlvbkVuZCcsIFsnY29tcG9zaXRpb25lbmQnLCAnZm9jdXNvdXQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdtb3VzZWRvd24nXSk7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25Db21wb3NpdGlvblN0YXJ0JywgWydjb21wb3NpdGlvbnN0YXJ0JywgJ2ZvY3Vzb3V0JywgJ2tleWRvd24nLCAna2V5cHJlc3MnLCAna2V5dXAnLCAnbW91c2Vkb3duJ10pO1xuICByZWdpc3RlclR3b1BoYXNlRXZlbnQoJ29uQ29tcG9zaXRpb25VcGRhdGUnLCBbJ2NvbXBvc2l0aW9udXBkYXRlJywgJ2ZvY3Vzb3V0JywgJ2tleWRvd24nLCAna2V5cHJlc3MnLCAna2V5dXAnLCAnbW91c2Vkb3duJ10pO1xufSAvLyBUcmFjayB3aGV0aGVyIHdlJ3ZlIGV2ZXIgaGFuZGxlZCBhIGtleXByZXNzIG9uIHRoZSBzcGFjZSBrZXkuXG5cblxudmFyIGhhc1NwYWNlS2V5cHJlc3MgPSBmYWxzZTtcbi8qKlxuICogUmV0dXJuIHdoZXRoZXIgYSBuYXRpdmUga2V5cHJlc3MgZXZlbnQgaXMgYXNzdW1lZCB0byBiZSBhIGNvbW1hbmQuXG4gKiBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2UgRmlyZWZveCBmaXJlcyBga2V5cHJlc3NgIGV2ZW50cyBmb3Iga2V5IGNvbW1hbmRzXG4gKiAoY3V0LCBjb3B5LCBzZWxlY3QtYWxsLCBldGMuKSBldmVuIHRob3VnaCBubyBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQuXG4gKi9cblxuZnVuY3Rpb24gaXNLZXlwcmVzc0NvbW1hbmQobmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIChuYXRpdmVFdmVudC5jdHJsS2V5IHx8IG5hdGl2ZUV2ZW50LmFsdEtleSB8fCBuYXRpdmVFdmVudC5tZXRhS2V5KSAmJiAvLyBjdHJsS2V5ICYmIGFsdEtleSBpcyBlcXVpdmFsZW50IHRvIEFsdEdyLCBhbmQgaXMgbm90IGEgY29tbWFuZC5cbiAgIShuYXRpdmVFdmVudC5jdHJsS2V5ICYmIG5hdGl2ZUV2ZW50LmFsdEtleSk7XG59XG4vKipcbiAqIFRyYW5zbGF0ZSBuYXRpdmUgdG9wIGxldmVsIGV2ZW50cyBpbnRvIGV2ZW50IHR5cGVzLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9zaXRpb25FdmVudFR5cGUoZG9tRXZlbnROYW1lKSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgY2FzZSAnY29tcG9zaXRpb25zdGFydCc6XG4gICAgICByZXR1cm4gJ29uQ29tcG9zaXRpb25TdGFydCc7XG5cbiAgICBjYXNlICdjb21wb3NpdGlvbmVuZCc6XG4gICAgICByZXR1cm4gJ29uQ29tcG9zaXRpb25FbmQnO1xuXG4gICAgY2FzZSAnY29tcG9zaXRpb251cGRhdGUnOlxuICAgICAgcmV0dXJuICdvbkNvbXBvc2l0aW9uVXBkYXRlJztcbiAgfVxufVxuLyoqXG4gKiBEb2VzIG91ciBmYWxsYmFjayBiZXN0LWd1ZXNzIG1vZGVsIHRoaW5rIHRoaXMgZXZlbnQgc2lnbmlmaWVzIHRoYXRcbiAqIGNvbXBvc2l0aW9uIGhhcyBiZWd1bj9cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzRmFsbGJhY2tDb21wb3NpdGlvblN0YXJ0KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIGRvbUV2ZW50TmFtZSA9PT0gJ2tleWRvd24nICYmIG5hdGl2ZUV2ZW50LmtleUNvZGUgPT09IFNUQVJUX0tFWUNPREU7XG59XG4vKipcbiAqIERvZXMgb3VyIGZhbGxiYWNrIG1vZGUgdGhpbmsgdGhhdCB0aGlzIGV2ZW50IGlzIHRoZSBlbmQgb2YgY29tcG9zaXRpb24/XG4gKi9cblxuXG5mdW5jdGlvbiBpc0ZhbGxiYWNrQ29tcG9zaXRpb25FbmQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2tleXVwJzpcbiAgICAgIC8vIENvbW1hbmQga2V5cyBpbnNlcnQgb3IgY2xlYXIgSU1FIGlucHV0LlxuICAgICAgcmV0dXJuIEVORF9LRVlDT0RFUy5pbmRleE9mKG5hdGl2ZUV2ZW50LmtleUNvZGUpICE9PSAtMTtcblxuICAgIGNhc2UgJ2tleWRvd24nOlxuICAgICAgLy8gRXhwZWN0IElNRSBrZXlDb2RlIG9uIGVhY2gga2V5ZG93bi4gSWYgd2UgZ2V0IGFueSBvdGhlclxuICAgICAgLy8gY29kZSB3ZSBtdXN0IGhhdmUgZXhpdGVkIGVhcmxpZXIuXG4gICAgICByZXR1cm4gbmF0aXZlRXZlbnQua2V5Q29kZSAhPT0gU1RBUlRfS0VZQ09ERTtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ2ZvY3Vzb3V0JzpcbiAgICAgIC8vIEV2ZW50cyBhcmUgbm90IHBvc3NpYmxlIHdpdGhvdXQgY2FuY2VsbGluZyBJTUUuXG4gICAgICByZXR1cm4gdHJ1ZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbi8qKlxuICogR29vZ2xlIElucHV0IFRvb2xzIHByb3ZpZGVzIGNvbXBvc2l0aW9uIGRhdGEgdmlhIGEgQ3VzdG9tRXZlbnQsXG4gKiB3aXRoIHRoZSBgZGF0YWAgcHJvcGVydHkgcG9wdWxhdGVkIGluIHRoZSBgZGV0YWlsYCBvYmplY3QuIElmIHRoaXNcbiAqIGlzIGF2YWlsYWJsZSBvbiB0aGUgZXZlbnQgb2JqZWN0LCB1c2UgaXQuIElmIG5vdCwgdGhpcyBpcyBhIHBsYWluXG4gKiBjb21wb3NpdGlvbiBldmVudCBhbmQgd2UgaGF2ZSBub3RoaW5nIHNwZWNpYWwgdG8gZXh0cmFjdC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRcbiAqIEByZXR1cm4gez9zdHJpbmd9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBkZXRhaWwgPSBuYXRpdmVFdmVudC5kZXRhaWw7XG5cbiAgaWYgKHR5cGVvZiBkZXRhaWwgPT09ICdvYmplY3QnICYmICdkYXRhJyBpbiBkZXRhaWwpIHtcbiAgICByZXR1cm4gZGV0YWlsLmRhdGE7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogQ2hlY2sgaWYgYSBjb21wb3NpdGlvbiBldmVudCB3YXMgdHJpZ2dlcmVkIGJ5IEtvcmVhbiBJTUUuXG4gKiBPdXIgZmFsbGJhY2sgbW9kZSBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBJRSdzIEtvcmVhbiBJTUUsXG4gKiBzbyBqdXN0IHVzZSBuYXRpdmUgY29tcG9zaXRpb24gZXZlbnRzIHdoZW4gS29yZWFuIElNRSBpcyB1c2VkLlxuICogQWx0aG91Z2ggQ29tcG9zaXRpb25FdmVudC5sb2NhbGUgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCxcbiAqIGl0IGlzIGF2YWlsYWJsZSBpbiBJRSwgd2hlcmUgb3VyIGZhbGxiYWNrIG1vZGUgaXMgZW5hYmxlZC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cblxuXG5mdW5jdGlvbiBpc1VzaW5nS29yZWFuSU1FKG5hdGl2ZUV2ZW50KSB7XG4gIHJldHVybiBuYXRpdmVFdmVudC5sb2NhbGUgPT09ICdrbyc7XG59IC8vIFRyYWNrIHRoZSBjdXJyZW50IElNRSBjb21wb3NpdGlvbiBzdGF0dXMsIGlmIGFueS5cblxuXG52YXIgaXNDb21wb3NpbmcgPSBmYWxzZTtcbi8qKlxuICogQHJldHVybiB7P29iamVjdH0gQSBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50LlxuICovXG5cbmZ1bmN0aW9uIGV4dHJhY3RDb21wb3NpdGlvbkV2ZW50KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KSB7XG4gIHZhciBldmVudFR5cGU7XG4gIHZhciBmYWxsYmFja0RhdGE7XG5cbiAgaWYgKGNhblVzZUNvbXBvc2l0aW9uRXZlbnQpIHtcbiAgICBldmVudFR5cGUgPSBnZXRDb21wb3NpdGlvbkV2ZW50VHlwZShkb21FdmVudE5hbWUpO1xuICB9IGVsc2UgaWYgKCFpc0NvbXBvc2luZykge1xuICAgIGlmIChpc0ZhbGxiYWNrQ29tcG9zaXRpb25TdGFydChkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSkge1xuICAgICAgZXZlbnRUeXBlID0gJ29uQ29tcG9zaXRpb25TdGFydCc7XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzRmFsbGJhY2tDb21wb3NpdGlvbkVuZChkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSkge1xuICAgIGV2ZW50VHlwZSA9ICdvbkNvbXBvc2l0aW9uRW5kJztcbiAgfVxuXG4gIGlmICghZXZlbnRUeXBlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodXNlRmFsbGJhY2tDb21wb3NpdGlvbkRhdGEgJiYgIWlzVXNpbmdLb3JlYW5JTUUobmF0aXZlRXZlbnQpKSB7XG4gICAgLy8gVGhlIGN1cnJlbnQgY29tcG9zaXRpb24gaXMgc3RvcmVkIHN0YXRpY2FsbHkgYW5kIG11c3Qgbm90IGJlXG4gICAgLy8gb3ZlcndyaXR0ZW4gd2hpbGUgY29tcG9zaXRpb24gY29udGludWVzLlxuICAgIGlmICghaXNDb21wb3NpbmcgJiYgZXZlbnRUeXBlID09PSAnb25Db21wb3NpdGlvblN0YXJ0Jykge1xuICAgICAgaXNDb21wb3NpbmcgPSBpbml0aWFsaXplKG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gJ29uQ29tcG9zaXRpb25FbmQnKSB7XG4gICAgICBpZiAoaXNDb21wb3NpbmcpIHtcbiAgICAgICAgZmFsbGJhY2tEYXRhID0gZ2V0RGF0YSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBsaXN0ZW5lcnMgPSBhY2N1bXVsYXRlVHdvUGhhc2VMaXN0ZW5lcnModGFyZ2V0SW5zdCwgZXZlbnRUeXBlKTtcblxuICBpZiAobGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgZXZlbnQgPSBuZXcgU3ludGhldGljQ29tcG9zaXRpb25FdmVudChldmVudFR5cGUsIGRvbUV2ZW50TmFtZSwgbnVsbCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNcbiAgICB9KTtcblxuICAgIGlmIChmYWxsYmFja0RhdGEpIHtcbiAgICAgIC8vIEluamVjdCBkYXRhIGdlbmVyYXRlZCBmcm9tIGZhbGxiYWNrIHBhdGggaW50byB0aGUgc3ludGhldGljIGV2ZW50LlxuICAgICAgLy8gVGhpcyBtYXRjaGVzIHRoZSBwcm9wZXJ0eSBvZiBuYXRpdmUgQ29tcG9zaXRpb25FdmVudEludGVyZmFjZS5cbiAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV1cbiAgICAgIGV2ZW50LmRhdGEgPSBmYWxsYmFja0RhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBjdXN0b21EYXRhID0gZ2V0RGF0YUZyb21DdXN0b21FdmVudChuYXRpdmVFdmVudCk7XG5cbiAgICAgIGlmIChjdXN0b21EYXRhICE9PSBudWxsKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV1cbiAgICAgICAgZXZlbnQuZGF0YSA9IGN1c3RvbURhdGE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5hdGl2ZUJlZm9yZUlucHV0Q2hhcnMoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogSWYgbmF0aXZlIGB0ZXh0SW5wdXRgIGV2ZW50cyBhcmUgYXZhaWxhYmxlLCBvdXIgZ29hbCBpcyB0byBtYWtlXG4gICAgICAgKiB1c2Ugb2YgdGhlbS4gSG93ZXZlciwgdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2U6IHRoZSBzcGFjZWJhciBrZXkuXG4gICAgICAgKiBJbiBXZWJraXQsIHByZXZlbnRpbmcgZGVmYXVsdCBvbiBhIHNwYWNlYmFyIGB0ZXh0SW5wdXRgIGV2ZW50XG4gICAgICAgKiBjYW5jZWxzIGNoYXJhY3RlciBpbnNlcnRpb24sIGJ1dCBpdCAqYWxzbyogY2F1c2VzIHRoZSBicm93c2VyXG4gICAgICAgKiB0byBmYWxsIGJhY2sgdG8gaXRzIGRlZmF1bHQgc3BhY2ViYXIgYmVoYXZpb3Igb2Ygc2Nyb2xsaW5nIHRoZVxuICAgICAgICogcGFnZS5cbiAgICAgICAqXG4gICAgICAgKiBUcmFja2luZyBhdDpcbiAgICAgICAqIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNTUxMDNcbiAgICAgICAqXG4gICAgICAgKiBUbyBhdm9pZCB0aGlzIGlzc3VlLCB1c2UgdGhlIGtleXByZXNzIGV2ZW50IGFzIGlmIG5vIGB0ZXh0SW5wdXRgXG4gICAgICAgKiBldmVudCBpcyBhdmFpbGFibGUuXG4gICAgICAgKi9cbiAgICAgIHZhciB3aGljaCA9IG5hdGl2ZUV2ZW50LndoaWNoO1xuXG4gICAgICBpZiAod2hpY2ggIT09IFNQQUNFQkFSX0NPREUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGhhc1NwYWNlS2V5cHJlc3MgPSB0cnVlO1xuICAgICAgcmV0dXJuIFNQQUNFQkFSX0NIQVI7XG5cbiAgICBjYXNlICd0ZXh0SW5wdXQnOlxuICAgICAgLy8gUmVjb3JkIHRoZSBjaGFyYWN0ZXJzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00uXG4gICAgICB2YXIgY2hhcnMgPSBuYXRpdmVFdmVudC5kYXRhOyAvLyBJZiBpdCdzIGEgc3BhY2ViYXIgY2hhcmFjdGVyLCBhc3N1bWUgdGhhdCB3ZSBoYXZlIGFscmVhZHkgaGFuZGxlZFxuICAgICAgLy8gaXQgYXQgdGhlIGtleXByZXNzIGxldmVsIGFuZCBiYWlsIGltbWVkaWF0ZWx5LiBBbmRyb2lkIENocm9tZVxuICAgICAgLy8gZG9lc24ndCBnaXZlIHVzIGtleWNvZGVzLCBzbyB3ZSBuZWVkIHRvIGlnbm9yZSBpdC5cblxuICAgICAgaWYgKGNoYXJzID09PSBTUEFDRUJBUl9DSEFSICYmIGhhc1NwYWNlS2V5cHJlc3MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjaGFycztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBGb3Igb3RoZXIgbmF0aXZlIGV2ZW50IHR5cGVzLCBkbyBub3RoaW5nLlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbi8qKlxuICogRm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHByb3ZpZGUgdGhlIGB0ZXh0SW5wdXRgIGV2ZW50LCBleHRyYWN0IHRoZVxuICogYXBwcm9wcmlhdGUgc3RyaW5nIHRvIHVzZSBmb3IgU3ludGhldGljSW5wdXRFdmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSB7XG4gIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgY29tcG9zaW5nIChJTUUpIGFuZCB1c2luZyBhIGZhbGxiYWNrIHRvIGRvIHNvLFxuICAvLyB0cnkgdG8gZXh0cmFjdCB0aGUgY29tcG9zZWQgY2hhcmFjdGVycyBmcm9tIHRoZSBmYWxsYmFjayBvYmplY3QuXG4gIC8vIElmIGNvbXBvc2l0aW9uIGV2ZW50IGlzIGF2YWlsYWJsZSwgd2UgZXh0cmFjdCBhIHN0cmluZyBvbmx5IGF0XG4gIC8vIGNvbXBvc2l0aW9uZXZlbnQsIG90aGVyd2lzZSBleHRyYWN0IGl0IGF0IGZhbGxiYWNrIGV2ZW50cy5cbiAgaWYgKGlzQ29tcG9zaW5nKSB7XG4gICAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NvbXBvc2l0aW9uZW5kJyB8fCAhY2FuVXNlQ29tcG9zaXRpb25FdmVudCAmJiBpc0ZhbGxiYWNrQ29tcG9zaXRpb25FbmQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkpIHtcbiAgICAgIHZhciBjaGFycyA9IGdldERhdGEoKTtcbiAgICAgIHJlc2V0KCk7XG4gICAgICBpc0NvbXBvc2luZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGNoYXJzO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdwYXN0ZSc6XG4gICAgICAvLyBJZiBhIHBhc3RlIGV2ZW50IG9jY3VycyBhZnRlciBhIGtleXByZXNzLCB0aHJvdyBvdXQgdGhlIGlucHV0XG4gICAgICAvLyBjaGFycy4gUGFzdGUgZXZlbnRzIHNob3VsZCBub3QgbGVhZCB0byBCZWZvcmVJbnB1dCBldmVudHMuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogQXMgb2YgdjI3LCBGaXJlZm94IG1heSBmaXJlIGtleXByZXNzIGV2ZW50cyBldmVuIHdoZW4gbm8gY2hhcmFjdGVyXG4gICAgICAgKiB3aWxsIGJlIGluc2VydGVkLiBBIGZldyBwb3NzaWJpbGl0aWVzOlxuICAgICAgICpcbiAgICAgICAqIC0gYHdoaWNoYCBpcyBgMGAuIEFycm93IGtleXMsIEVzYyBrZXksIGV0Yy5cbiAgICAgICAqXG4gICAgICAgKiAtIGB3aGljaGAgaXMgdGhlIHByZXNzZWQga2V5IGNvZGUsIGJ1dCBubyBjaGFyIGlzIGF2YWlsYWJsZS5cbiAgICAgICAqICAgRXg6ICdBbHRHciArIGRgIGluIFBvbGlzaC4gVGhlcmUgaXMgbm8gbW9kaWZpZWQgY2hhcmFjdGVyIGZvclxuICAgICAgICogICB0aGlzIGtleSBjb21iaW5hdGlvbiBhbmQgbm8gY2hhcmFjdGVyIGlzIGluc2VydGVkIGludG8gdGhlXG4gICAgICAgKiAgIGRvY3VtZW50LCBidXQgRkYgZmlyZXMgdGhlIGtleXByZXNzIGZvciBjaGFyIGNvZGUgYDEwMGAgYW55d2F5LlxuICAgICAgICogICBObyBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKlxuICAgICAgICogLSBgd2hpY2hgIGlzIHRoZSBwcmVzc2VkIGtleSBjb2RlLCBidXQgYSBjb21tYW5kIGNvbWJpbmF0aW9uIGlzXG4gICAgICAgKiAgIGJlaW5nIHVzZWQuIEV4OiBgQ21kK0NgLiBObyBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQsIGFuZCBub1xuICAgICAgICogICBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKi9cbiAgICAgIGlmICghaXNLZXlwcmVzc0NvbW1hbmQobmF0aXZlRXZlbnQpKSB7XG4gICAgICAgIC8vIElFIGZpcmVzIHRoZSBga2V5cHJlc3NgIGV2ZW50IHdoZW4gYSB1c2VyIHR5cGVzIGFuIGVtb2ppIHZpYVxuICAgICAgICAvLyBUb3VjaCBrZXlib2FyZCBvZiBXaW5kb3dzLiAgSW4gc3VjaCBhIGNhc2UsIHRoZSBgY2hhcmAgcHJvcGVydHlcbiAgICAgICAgLy8gaG9sZHMgYW4gZW1vamkgY2hhcmFjdGVyIGxpa2UgYFxcdUQ4M0RcXHVERTBBYC4gIEJlY2F1c2UgaXRzIGxlbmd0aFxuICAgICAgICAvLyBpcyAyLCB0aGUgcHJvcGVydHkgYHdoaWNoYCBkb2VzIG5vdCByZXByZXNlbnQgYW4gZW1vamkgY29ycmVjdGx5LlxuICAgICAgICAvLyBJbiBzdWNoIGEgY2FzZSwgd2UgZGlyZWN0bHkgcmV0dXJuIHRoZSBgY2hhcmAgcHJvcGVydHkgaW5zdGVhZCBvZlxuICAgICAgICAvLyB1c2luZyBgd2hpY2hgLlxuICAgICAgICBpZiAobmF0aXZlRXZlbnQuY2hhciAmJiBuYXRpdmVFdmVudC5jaGFyLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICByZXR1cm4gbmF0aXZlRXZlbnQuY2hhcjtcbiAgICAgICAgfSBlbHNlIGlmIChuYXRpdmVFdmVudC53aGljaCkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKG5hdGl2ZUV2ZW50LndoaWNoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkgPyBudWxsIDogbmF0aXZlRXZlbnQuZGF0YTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuLyoqXG4gKiBFeHRyYWN0IGEgU3ludGhldGljSW5wdXRFdmVudCBmb3IgYGJlZm9yZUlucHV0YCwgYmFzZWQgb24gZWl0aGVyIG5hdGl2ZVxuICogYHRleHRJbnB1dGAgb3IgZmFsbGJhY2sgYmVoYXZpb3IuXG4gKlxuICogQHJldHVybiB7P29iamVjdH0gQSBTeW50aGV0aWNJbnB1dEV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEJlZm9yZUlucHV0RXZlbnQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGNoYXJzO1xuXG4gIGlmIChjYW5Vc2VUZXh0SW5wdXRFdmVudCkge1xuICAgIGNoYXJzID0gZ2V0TmF0aXZlQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSBlbHNlIHtcbiAgICBjaGFycyA9IGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSAvLyBJZiBubyBjaGFyYWN0ZXJzIGFyZSBiZWluZyBpbnNlcnRlZCwgbm8gQmVmb3JlSW5wdXQgZXZlbnQgc2hvdWxkXG4gIC8vIGJlIGZpcmVkLlxuXG5cbiAgaWYgKCFjaGFycykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCAnb25CZWZvcmVJbnB1dCcpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNJbnB1dEV2ZW50KCdvbkJlZm9yZUlucHV0JywgJ2JlZm9yZWlucHV0JywgbnVsbCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNcbiAgICB9KTsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdXNlXVxuXG4gICAgZXZlbnQuZGF0YSA9IGNoYXJzO1xuICB9XG59XG4vKipcbiAqIENyZWF0ZSBhbiBgb25CZWZvcmVJbnB1dGAgZXZlbnQgdG8gbWF0Y2hcbiAqIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvV0QtRE9NLUxldmVsLTMtRXZlbnRzLTIwMTMxMTA1LyNldmVudHMtaW5wdXRldmVudHMuXG4gKlxuICogVGhpcyBldmVudCBwbHVnaW4gaXMgYmFzZWQgb24gdGhlIG5hdGl2ZSBgdGV4dElucHV0YCBldmVudFxuICogYXZhaWxhYmxlIGluIENocm9tZSwgU2FmYXJpLCBPcGVyYSwgYW5kIElFLiBUaGlzIGV2ZW50IGZpcmVzIGFmdGVyXG4gKiBgb25LZXlQcmVzc2AgYW5kIGBvbkNvbXBvc2l0aW9uRW5kYCwgYnV0IGJlZm9yZSBgb25JbnB1dGAuXG4gKlxuICogYGJlZm9yZUlucHV0YCBpcyBzcGVjJ2QgYnV0IG5vdCBpbXBsZW1lbnRlZCBpbiBhbnkgYnJvd3NlcnMsIGFuZFxuICogdGhlIGBpbnB1dGAgZXZlbnQgZG9lcyBub3QgcHJvdmlkZSBhbnkgdXNlZnVsIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgaGFzXG4gKiBhY3R1YWxseSBiZWVuIGFkZGVkLCBjb250cmFyeSB0byB0aGUgc3BlYy4gVGh1cywgYHRleHRJbnB1dGAgaXMgdGhlIGJlc3RcbiAqIGF2YWlsYWJsZSBldmVudCB0byBpZGVudGlmeSB0aGUgY2hhcmFjdGVycyB0aGF0IGhhdmUgYWN0dWFsbHkgYmVlbiBpbnNlcnRlZFxuICogaW50byB0aGUgdGFyZ2V0IG5vZGUuXG4gKlxuICogVGhpcyBwbHVnaW4gaXMgYWxzbyByZXNwb25zaWJsZSBmb3IgZW1pdHRpbmcgYGNvbXBvc2l0aW9uYCBldmVudHMsIHRodXNcbiAqIGFsbG93aW5nIHVzIHRvIHNoYXJlIGNvbXBvc2l0aW9uIGZhbGxiYWNrIGNvZGUgZm9yIGJvdGggYGJlZm9yZUlucHV0YCBhbmRcbiAqIGBjb21wb3NpdGlvbmAgZXZlbnQgdHlwZXMuXG4gKi9cblxuXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRzJDUoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICBleHRyYWN0Q29tcG9zaXRpb25FdmVudChkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIGV4dHJhY3RCZWZvcmVJbnB1dEV2ZW50KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS1pbnB1dC1lbGVtZW50Lmh0bWwjaW5wdXQtdHlwZS1hdHRyLXN1bW1hcnlcbiAqL1xudmFyIHN1cHBvcnRlZElucHV0VHlwZXMgPSB7XG4gIGNvbG9yOiB0cnVlLFxuICBkYXRlOiB0cnVlLFxuICBkYXRldGltZTogdHJ1ZSxcbiAgJ2RhdGV0aW1lLWxvY2FsJzogdHJ1ZSxcbiAgZW1haWw6IHRydWUsXG4gIG1vbnRoOiB0cnVlLFxuICBudW1iZXI6IHRydWUsXG4gIHBhc3N3b3JkOiB0cnVlLFxuICByYW5nZTogdHJ1ZSxcbiAgc2VhcmNoOiB0cnVlLFxuICB0ZWw6IHRydWUsXG4gIHRleHQ6IHRydWUsXG4gIHRpbWU6IHRydWUsXG4gIHVybDogdHJ1ZSxcbiAgd2VlazogdHJ1ZVxufTtcblxuZnVuY3Rpb24gaXNUZXh0SW5wdXRFbGVtZW50KGVsZW0pIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbSAmJiBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICByZXR1cm4gISFzdXBwb3J0ZWRJbnB1dFR5cGVzW2VsZW0udHlwZV07XG4gIH1cblxuICBpZiAobm9kZU5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgc3VwcG9ydGVkIGluIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cbiAqXG4gKiBOT1RFOiBUaGlzIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5IGZvciBub24tZ2VuZXJpYyBldmVudHMgc3VjaCBhcyBgY2hhbmdlYCxcbiAqIGByZXNldGAsIGBsb2FkYCwgYGVycm9yYCwgYW5kIGBzZWxlY3RgLlxuICpcbiAqIEJvcnJvd3MgZnJvbSBNb2Rlcm5penIuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVN1ZmZpeCBFdmVudCBuYW1lLCBlLmcuIFwiY2xpY2tcIi5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGV2ZW50IGlzIHN1cHBvcnRlZC5cbiAqIEBpbnRlcm5hbFxuICogQGxpY2Vuc2UgTW9kZXJuaXpyIDMuMC4wcHJlIChDdXN0b20gQnVpbGQpIHwgTUlUXG4gKi9cblxuZnVuY3Rpb24gaXNFdmVudFN1cHBvcnRlZChldmVudE5hbWVTdWZmaXgpIHtcbiAgaWYgKCFjYW5Vc2VET00pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgZXZlbnROYW1lID0gJ29uJyArIGV2ZW50TmFtZVN1ZmZpeDtcbiAgdmFyIGlzU3VwcG9ydGVkID0gKGV2ZW50TmFtZSBpbiBkb2N1bWVudCk7XG5cbiAgaWYgKCFpc1N1cHBvcnRlZCkge1xuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoZXZlbnROYW1lLCAncmV0dXJuOycpO1xuICAgIGlzU3VwcG9ydGVkID0gdHlwZW9mIGVsZW1lbnRbZXZlbnROYW1lXSA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIHJldHVybiBpc1N1cHBvcnRlZDtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJFdmVudHMkMigpIHtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNoYW5nZScsIFsnY2hhbmdlJywgJ2NsaWNrJywgJ2ZvY3VzaW4nLCAnZm9jdXNvdXQnLCAnaW5wdXQnLCAna2V5ZG93bicsICdrZXl1cCcsICdzZWxlY3Rpb25jaGFuZ2UnXSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBpbnN0LCBuYXRpdmVFdmVudCwgdGFyZ2V0KSB7XG4gIC8vIEZsYWcgdGhpcyBldmVudCBsb29wIGFzIG5lZWRpbmcgc3RhdGUgcmVzdG9yZS5cbiAgZW5xdWV1ZVN0YXRlUmVzdG9yZSh0YXJnZXQpO1xuICB2YXIgbGlzdGVuZXJzID0gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKGluc3QsICdvbkNoYW5nZScpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNFdmVudCgnb25DaGFuZ2UnLCAnY2hhbmdlJywgbnVsbCwgbmF0aXZlRXZlbnQsIHRhcmdldCk7XG4gICAgZGlzcGF0Y2hRdWV1ZS5wdXNoKHtcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzXG4gICAgfSk7XG4gIH1cbn1cbi8qKlxuICogRm9yIElFIHNoaW1zXG4gKi9cblxuXG52YXIgYWN0aXZlRWxlbWVudCQxID0gbnVsbDtcbnZhciBhY3RpdmVFbGVtZW50SW5zdCQxID0gbnVsbDtcbi8qKlxuICogU0VDVElPTjogaGFuZGxlIGBjaGFuZ2VgIGV2ZW50XG4gKi9cblxuZnVuY3Rpb24gc2hvdWxkVXNlQ2hhbmdlRXZlbnQoZWxlbSkge1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIG5vZGVOYW1lID09PSAnc2VsZWN0JyB8fCBub2RlTmFtZSA9PT0gJ2lucHV0JyAmJiBlbGVtLnR5cGUgPT09ICdmaWxlJztcbn1cblxuZnVuY3Rpb24gbWFudWFsRGlzcGF0Y2hDaGFuZ2VFdmVudChuYXRpdmVFdmVudCkge1xuICB2YXIgZGlzcGF0Y2hRdWV1ZSA9IFtdO1xuICBjcmVhdGVBbmRBY2N1bXVsYXRlQ2hhbmdlRXZlbnQoZGlzcGF0Y2hRdWV1ZSwgYWN0aXZlRWxlbWVudEluc3QkMSwgbmF0aXZlRXZlbnQsIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSk7IC8vIElmIGNoYW5nZSBhbmQgcHJvcGVydHljaGFuZ2UgYnViYmxlZCwgd2UnZCBqdXN0IGJpbmQgdG8gaXQgbGlrZSBhbGwgdGhlXG4gIC8vIG90aGVyIGV2ZW50cyBhbmQgaGF2ZSBpdCBnbyB0aHJvdWdoIFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci4gU2luY2UgaXRcbiAgLy8gZG9lc24ndCwgd2UgbWFudWFsbHkgbGlzdGVuIGZvciB0aGUgZXZlbnRzIGFuZCBzbyB3ZSBoYXZlIHRvIGVucXVldWUgYW5kXG4gIC8vIHByb2Nlc3MgdGhlIGFic3RyYWN0IGV2ZW50IG1hbnVhbGx5LlxuICAvL1xuICAvLyBCYXRjaGluZyBpcyBuZWNlc3NhcnkgaGVyZSBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCBhbGwgZXZlbnQgaGFuZGxlcnMgcnVuXG4gIC8vIGJlZm9yZSB0aGUgbmV4dCByZXJlbmRlciAoaW5jbHVkaW5nIGV2ZW50IGhhbmRsZXJzIGF0dGFjaGVkIHRvIGFuY2VzdG9yXG4gIC8vIGVsZW1lbnRzIGluc3RlYWQgb2YgZGlyZWN0bHkgb24gdGhlIGlucHV0KS4gV2l0aG91dCB0aGlzLCBjb250cm9sbGVkXG4gIC8vIGNvbXBvbmVudHMgZG9uJ3Qgd29yayBwcm9wZXJseSBpbiBjb25qdW5jdGlvbiB3aXRoIGV2ZW50IGJ1YmJsaW5nIGJlY2F1c2VcbiAgLy8gdGhlIGNvbXBvbmVudCBpcyByZXJlbmRlcmVkIGFuZCB0aGUgdmFsdWUgcmV2ZXJ0ZWQgYmVmb3JlIGFsbCB0aGUgZXZlbnRcbiAgLy8gaGFuZGxlcnMgY2FuIHJ1bi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNzA4LlxuXG4gIGJhdGNoZWRVcGRhdGVzKHJ1bkV2ZW50SW5CYXRjaCwgZGlzcGF0Y2hRdWV1ZSk7XG59XG5cbmZ1bmN0aW9uIHJ1bkV2ZW50SW5CYXRjaChkaXNwYXRjaFF1ZXVlKSB7XG4gIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIDApO1xufVxuXG5mdW5jdGlvbiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCkge1xuICB2YXIgdGFyZ2V0Tm9kZSA9IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCk7XG5cbiAgaWYgKHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKHRhcmdldE5vZGUpKSB7XG4gICAgcmV0dXJuIHRhcmdldEluc3Q7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50KGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCkge1xuICBpZiAoZG9tRXZlbnROYW1lID09PSAnY2hhbmdlJykge1xuICAgIHJldHVybiB0YXJnZXRJbnN0O1xuICB9XG59XG4vKipcbiAqIFNFQ1RJT046IGhhbmRsZSBgaW5wdXRgIGV2ZW50XG4gKi9cblxuXG52YXIgaXNJbnB1dEV2ZW50U3VwcG9ydGVkID0gZmFsc2U7XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgLy8gSUU5IGNsYWltcyB0byBzdXBwb3J0IHRoZSBpbnB1dCBldmVudCBidXQgZmFpbHMgdG8gdHJpZ2dlciBpdCB3aGVuXG4gIC8vIGRlbGV0aW5nIHRleHQsIHNvIHdlIGlnbm9yZSBpdHMgaW5wdXQgZXZlbnRzLlxuICBpc0lucHV0RXZlbnRTdXBwb3J0ZWQgPSBpc0V2ZW50U3VwcG9ydGVkKCdpbnB1dCcpICYmICghZG9jdW1lbnQuZG9jdW1lbnRNb2RlIHx8IGRvY3VtZW50LmRvY3VtZW50TW9kZSA+IDkpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgU3RhcnRzIHRyYWNraW5nIHByb3BlcnR5Y2hhbmdlIGV2ZW50cyBvbiB0aGUgcGFzc2VkLWluIGVsZW1lbnRcbiAqIGFuZCBvdmVycmlkZSB0aGUgdmFsdWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZGlzdGluZ3Vpc2ggdXNlciBldmVudHMgZnJvbVxuICogdmFsdWUgY2hhbmdlcyBpbiBKUy5cbiAqL1xuXG5cbmZ1bmN0aW9uIHN0YXJ0V2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSh0YXJnZXQsIHRhcmdldEluc3QpIHtcbiAgYWN0aXZlRWxlbWVudCQxID0gdGFyZ2V0O1xuICBhY3RpdmVFbGVtZW50SW5zdCQxID0gdGFyZ2V0SW5zdDtcbiAgYWN0aXZlRWxlbWVudCQxLmF0dGFjaEV2ZW50KCdvbnByb3BlcnR5Y2hhbmdlJywgaGFuZGxlUHJvcGVydHlDaGFuZ2UpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgUmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXJzIGZyb20gdGhlIGN1cnJlbnRseS10cmFja2VkIGVsZW1lbnQsXG4gKiBpZiBhbnkgZXhpc3RzLlxuICovXG5cblxuZnVuY3Rpb24gc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKSB7XG4gIGlmICghYWN0aXZlRWxlbWVudCQxKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYWN0aXZlRWxlbWVudCQxLmRldGFjaEV2ZW50KCdvbnByb3BlcnR5Y2hhbmdlJywgaGFuZGxlUHJvcGVydHlDaGFuZ2UpO1xuICBhY3RpdmVFbGVtZW50JDEgPSBudWxsO1xuICBhY3RpdmVFbGVtZW50SW5zdCQxID0gbnVsbDtcbn1cbi8qKlxuICogKEZvciBJRSA8PTkpIEhhbmRsZXMgYSBwcm9wZXJ0eWNoYW5nZSBldmVudCwgc2VuZGluZyBhIGBjaGFuZ2VgIGV2ZW50IGlmXG4gKiB0aGUgdmFsdWUgb2YgdGhlIGFjdGl2ZSBlbGVtZW50IGhhcyBjaGFuZ2VkLlxuICovXG4vLyAkRmxvd0ZpeE1lW21pc3NpbmctbG9jYWwtYW5ub3RdXG5cblxuZnVuY3Rpb24gaGFuZGxlUHJvcGVydHlDaGFuZ2UobmF0aXZlRXZlbnQpIHtcbiAgaWYgKG5hdGl2ZUV2ZW50LnByb3BlcnR5TmFtZSAhPT0gJ3ZhbHVlJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChnZXRJbnN0SWZWYWx1ZUNoYW5nZWQoYWN0aXZlRWxlbWVudEluc3QkMSkpIHtcbiAgICBtYW51YWxEaXNwYXRjaENoYW5nZUV2ZW50KG5hdGl2ZUV2ZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVFdmVudHNGb3JJbnB1dEV2ZW50UG9seWZpbGwoZG9tRXZlbnROYW1lLCB0YXJnZXQsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2ZvY3VzaW4nKSB7XG4gICAgLy8gSW4gSUU5LCBwcm9wZXJ0eWNoYW5nZSBmaXJlcyBmb3IgbW9zdCBpbnB1dCBldmVudHMgYnV0IGlzIGJ1Z2d5IGFuZFxuICAgIC8vIGRvZXNuJ3QgZmlyZSB3aGVuIHRleHQgaXMgZGVsZXRlZCwgYnV0IGNvbnZlbmllbnRseSwgc2VsZWN0aW9uY2hhbmdlXG4gICAgLy8gYXBwZWFycyB0byBmaXJlIGluIGFsbCBvZiB0aGUgcmVtYWluaW5nIGNhc2VzIHNvIHdlIGNhdGNoIHRob3NlIGFuZFxuICAgIC8vIGZvcndhcmQgdGhlIGV2ZW50IGlmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZFxuICAgIC8vIEluIGVpdGhlciBjYXNlLCB3ZSBkb24ndCB3YW50IHRvIGNhbGwgdGhlIGV2ZW50IGhhbmRsZXIgaWYgdGhlIHZhbHVlXG4gICAgLy8gaXMgY2hhbmdlZCBmcm9tIEpTIHNvIHdlIHJlZGVmaW5lIGEgc2V0dGVyIGZvciBgLnZhbHVlYCB0aGF0IHVwZGF0ZXNcbiAgICAvLyBvdXIgYWN0aXZlRWxlbWVudFZhbHVlIHZhcmlhYmxlLCBhbGxvd2luZyB1cyB0byBpZ25vcmUgdGhvc2UgY2hhbmdlc1xuICAgIC8vXG4gICAgLy8gc3RvcFdhdGNoaW5nKCkgc2hvdWxkIGJlIGEgbm9vcCBoZXJlIGJ1dCB3ZSBjYWxsIGl0IGp1c3QgaW4gY2FzZSB3ZVxuICAgIC8vIG1pc3NlZCBhIGJsdXIgZXZlbnQgc29tZWhvdy5cbiAgICBzdG9wV2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSgpO1xuICAgIHN0YXJ0V2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSh0YXJnZXQsIHRhcmdldEluc3QpO1xuICB9IGVsc2UgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2ZvY3Vzb3V0Jykge1xuICAgIHN0b3BXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKCk7XG4gIH1cbn0gLy8gRm9yIElFOCBhbmQgSUU5LlxuXG5cbmZ1bmN0aW9uIGdldFRhcmdldEluc3RGb3JJbnB1dEV2ZW50UG9seWZpbGwoZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0KSB7XG4gIGlmIChkb21FdmVudE5hbWUgPT09ICdzZWxlY3Rpb25jaGFuZ2UnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ2tleXVwJyB8fCBkb21FdmVudE5hbWUgPT09ICdrZXlkb3duJykge1xuICAgIC8vIE9uIHRoZSBzZWxlY3Rpb25jaGFuZ2UgZXZlbnQsIHRoZSB0YXJnZXQgaXMganVzdCBkb2N1bWVudCB3aGljaCBpc24ndFxuICAgIC8vIGhlbHBmdWwgZm9yIHVzIHNvIGp1c3QgY2hlY2sgYWN0aXZlRWxlbWVudCBpbnN0ZWFkLlxuICAgIC8vXG4gICAgLy8gOTklIG9mIHRoZSB0aW1lLCBrZXlkb3duIGFuZCBrZXl1cCBhcmVuJ3QgbmVjZXNzYXJ5LiBJRTggZmFpbHMgdG8gZmlyZVxuICAgIC8vIHByb3BlcnR5Y2hhbmdlIG9uIHRoZSBmaXJzdCBpbnB1dCBldmVudCBhZnRlciBzZXR0aW5nIGB2YWx1ZWAgZnJvbSBhXG4gICAgLy8gc2NyaXB0IGFuZCBmaXJlcyBvbmx5IGtleWRvd24sIGtleXByZXNzLCBrZXl1cC4gQ2F0Y2hpbmcga2V5dXAgdXN1YWxseVxuICAgIC8vIGdldHMgaXQgYW5kIGNhdGNoaW5nIGtleWRvd24gbGV0cyB1cyBmaXJlIGFuIGV2ZW50IGZvciB0aGUgZmlyc3RcbiAgICAvLyBrZXlzdHJva2UgaWYgdXNlciBkb2VzIGEga2V5IHJlcGVhdCAoaXQnbGwgYmUgYSBsaXR0bGUgZGVsYXllZDogcmlnaHRcbiAgICAvLyBiZWZvcmUgdGhlIHNlY29uZCBrZXlzdHJva2UpLiBPdGhlciBpbnB1dCBtZXRob2RzIChlLmcuLCBwYXN0ZSkgc2VlbSB0b1xuICAgIC8vIGZpcmUgc2VsZWN0aW9uY2hhbmdlIG5vcm1hbGx5LlxuICAgIHJldHVybiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQoYWN0aXZlRWxlbWVudEluc3QkMSk7XG4gIH1cbn1cbi8qKlxuICogU0VDVElPTjogaGFuZGxlIGBjbGlja2AgZXZlbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHNob3VsZFVzZUNsaWNrRXZlbnQoZWxlbSkge1xuICAvLyBVc2UgdGhlIGBjbGlja2AgZXZlbnQgdG8gZGV0ZWN0IGNoYW5nZXMgdG8gY2hlY2tib3ggYW5kIHJhZGlvIGlucHV0cy5cbiAgLy8gVGhpcyBhcHByb2FjaCB3b3JrcyBhY3Jvc3MgYWxsIGJyb3dzZXJzLCB3aGVyZWFzIGBjaGFuZ2VgIGRvZXMgbm90IGZpcmVcbiAgLy8gdW50aWwgYGJsdXJgIGluIElFOC5cbiAgdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZTtcbiAgcmV0dXJuIG5vZGVOYW1lICYmIG5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbnB1dCcgJiYgKGVsZW0udHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBlbGVtLnR5cGUgPT09ICdyYWRpbycpO1xufVxuXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NsaWNrJykge1xuICAgIHJldHVybiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvcklucHV0T3JDaGFuZ2VFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2lucHV0JyB8fCBkb21FdmVudE5hbWUgPT09ICdjaGFuZ2UnKSB7XG4gICAgcmV0dXJuIGdldEluc3RJZlZhbHVlQ2hhbmdlZCh0YXJnZXRJbnN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKG5vZGUsIHByb3BzKSB7XG4gIGlmIChub2RlLnR5cGUgIT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAge1xuICAgIHZhciBpc0NvbnRyb2xsZWQgPSBwcm9wcy52YWx1ZSAhPSBudWxsO1xuXG4gICAgaWYgKGlzQ29udHJvbGxlZCkge1xuICAgICAgLy8gSWYgY29udHJvbGxlZCwgYXNzaWduIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgdG8gdGhlIGN1cnJlbnQgdmFsdWUgb24gYmx1clxuICAgICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsICdudW1iZXInLCBub2RlLnZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogVGhpcyBwbHVnaW4gY3JlYXRlcyBhbiBgb25DaGFuZ2VgIGV2ZW50IHRoYXQgbm9ybWFsaXplcyBjaGFuZ2UgZXZlbnRzXG4gKiBhY3Jvc3MgZm9ybSBlbGVtZW50cy4gVGhpcyBldmVudCBmaXJlcyBhdCBhIHRpbWUgd2hlbiBpdCdzIHBvc3NpYmxlIHRvXG4gKiBjaGFuZ2UgdGhlIGVsZW1lbnQncyB2YWx1ZSB3aXRob3V0IHNlZWluZyBhIGZsaWNrZXIuXG4gKlxuICogU3VwcG9ydGVkIGVsZW1lbnRzIGFyZTpcbiAqIC0gaW5wdXQgKHNlZSBgaXNUZXh0SW5wdXRFbGVtZW50YClcbiAqIC0gdGV4dGFyZWFcbiAqIC0gc2VsZWN0XG4gKi9cblxuXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRzJDQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgdGFyZ2V0Tm9kZSA9IHRhcmdldEluc3QgPyBnZXROb2RlRnJvbUluc3RhbmNlKHRhcmdldEluc3QpIDogd2luZG93O1xuICB2YXIgZ2V0VGFyZ2V0SW5zdEZ1bmMsIGhhbmRsZUV2ZW50RnVuYztcblxuICBpZiAoc2hvdWxkVXNlQ2hhbmdlRXZlbnQodGFyZ2V0Tm9kZSkpIHtcbiAgICBnZXRUYXJnZXRJbnN0RnVuYyA9IGdldFRhcmdldEluc3RGb3JDaGFuZ2VFdmVudDtcbiAgfSBlbHNlIGlmIChpc1RleHRJbnB1dEVsZW1lbnQodGFyZ2V0Tm9kZSkpIHtcbiAgICBpZiAoaXNJbnB1dEV2ZW50U3VwcG9ydGVkKSB7XG4gICAgICBnZXRUYXJnZXRJbnN0RnVuYyA9IGdldFRhcmdldEluc3RGb3JJbnB1dE9yQ2hhbmdlRXZlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvcklucHV0RXZlbnRQb2x5ZmlsbDtcbiAgICAgIGhhbmRsZUV2ZW50RnVuYyA9IGhhbmRsZUV2ZW50c0ZvcklucHV0RXZlbnRQb2x5ZmlsbDtcbiAgICB9XG4gIH0gZWxzZSBpZiAoc2hvdWxkVXNlQ2xpY2tFdmVudCh0YXJnZXROb2RlKSkge1xuICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvckNsaWNrRXZlbnQ7XG4gIH0gZWxzZSA7XG5cbiAgaWYgKGdldFRhcmdldEluc3RGdW5jKSB7XG4gICAgdmFyIGluc3QgPSBnZXRUYXJnZXRJbnN0RnVuYyhkb21FdmVudE5hbWUsIHRhcmdldEluc3QpO1xuXG4gICAgaWYgKGluc3QpIHtcbiAgICAgIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBpbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGlmIChoYW5kbGVFdmVudEZ1bmMpIHtcbiAgICBoYW5kbGVFdmVudEZ1bmMoZG9tRXZlbnROYW1lLCB0YXJnZXROb2RlLCB0YXJnZXRJbnN0KTtcbiAgfSAvLyBXaGVuIGJsdXJyaW5nLCBzZXQgdGhlIHZhbHVlIGF0dHJpYnV0ZSBmb3IgbnVtYmVyIGlucHV0c1xuXG5cbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2ZvY3Vzb3V0JyAmJiB0YXJnZXRJbnN0KSB7XG4gICAgLy8gVGhlc2UgcHJvcHMgYXJlbid0IG5lY2Vzc2FyaWx5IHRoZSBtb3N0IGN1cnJlbnQgYnV0IHdlIHdhcm4gZm9yIGNoYW5naW5nXG4gICAgLy8gYmV0d2VlbiBjb250cm9sbGVkIGFuZCB1bmNvbnRyb2xsZWQsIHNvIGl0IGRvZXNuJ3QgbWF0dGVyIGFuZCB0aGUgcHJldmlvdXNcbiAgICAvLyBjb2RlIHdhcyBhbHNvIGJyb2tlbiBmb3IgY2hhbmdlcy5cbiAgICB2YXIgcHJvcHMgPSB0YXJnZXRJbnN0Lm1lbW9pemVkUHJvcHM7XG4gICAgaGFuZGxlQ29udHJvbGxlZElucHV0Qmx1cih0YXJnZXROb2RlLCBwcm9wcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJFdmVudHMkMSgpIHtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudCgnb25Nb3VzZUVudGVyJywgWydtb3VzZW91dCcsICdtb3VzZW92ZXInXSk7XG4gIHJlZ2lzdGVyRGlyZWN0RXZlbnQoJ29uTW91c2VMZWF2ZScsIFsnbW91c2VvdXQnLCAnbW91c2VvdmVyJ10pO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KCdvblBvaW50ZXJFbnRlcicsIFsncG9pbnRlcm91dCcsICdwb2ludGVyb3ZlciddKTtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudCgnb25Qb2ludGVyTGVhdmUnLCBbJ3BvaW50ZXJvdXQnLCAncG9pbnRlcm92ZXInXSk7XG59XG4vKipcbiAqIEZvciBhbG1vc3QgZXZlcnkgaW50ZXJhY3Rpb24gd2UgY2FyZSBhYm91dCwgdGhlcmUgd2lsbCBiZSBib3RoIGEgdG9wLWxldmVsXG4gKiBgbW91c2VvdmVyYCBhbmQgYG1vdXNlb3V0YCBldmVudCB0aGF0IG9jY3Vycy4gT25seSB1c2UgYG1vdXNlb3V0YCBzbyB0aGF0XG4gKiB3ZSBkbyBub3QgZXh0cmFjdCBkdXBsaWNhdGUgZXZlbnRzLiBIb3dldmVyLCBtb3ZpbmcgdGhlIG1vdXNlIGludG8gdGhlXG4gKiBicm93c2VyIGZyb20gb3V0c2lkZSB3aWxsIG5vdCBmaXJlIGEgYG1vdXNlb3V0YCBldmVudC4gSW4gdGhpcyBjYXNlLCB3ZSB1c2VcbiAqIHRoZSBgbW91c2VvdmVyYCB0b3AtbGV2ZWwgZXZlbnQuXG4gKi9cblxuXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRzJDMoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgaXNPdmVyRXZlbnQgPSBkb21FdmVudE5hbWUgPT09ICdtb3VzZW92ZXInIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdmVyJztcbiAgdmFyIGlzT3V0RXZlbnQgPSBkb21FdmVudE5hbWUgPT09ICdtb3VzZW91dCcgfHwgZG9tRXZlbnROYW1lID09PSAncG9pbnRlcm91dCc7XG5cbiAgaWYgKGlzT3ZlckV2ZW50ICYmICFpc1JlcGxheWluZ0V2ZW50KG5hdGl2ZUV2ZW50KSkge1xuICAgIC8vIElmIHRoaXMgaXMgYW4gb3ZlciBldmVudCB3aXRoIGEgdGFyZ2V0LCB3ZSBtaWdodCBoYXZlIGFscmVhZHkgZGlzcGF0Y2hlZFxuICAgIC8vIHRoZSBldmVudCBpbiB0aGUgb3V0IGV2ZW50IG9mIHRoZSBvdGhlciB0YXJnZXQuIElmIHRoaXMgaXMgcmVwbGF5ZWQsXG4gICAgLy8gdGhlbiBpdCdzIGJlY2F1c2Ugd2UgY291bGRuJ3QgZGlzcGF0Y2ggYWdhaW5zdCB0aGlzIHRhcmdldCBwcmV2aW91c2x5XG4gICAgLy8gc28gd2UgaGF2ZSB0byBkbyBpdCBub3cgaW5zdGVhZC5cbiAgICB2YXIgcmVsYXRlZCA9IG5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgbmF0aXZlRXZlbnQuZnJvbUVsZW1lbnQ7XG5cbiAgICBpZiAocmVsYXRlZCkge1xuICAgICAgLy8gSWYgdGhlIHJlbGF0ZWQgbm9kZSBpcyBtYW5hZ2VkIGJ5IFJlYWN0LCB3ZSBjYW4gYXNzdW1lIHRoYXQgd2UgaGF2ZVxuICAgICAgLy8gYWxyZWFkeSBkaXNwYXRjaGVkIHRoZSBjb3JyZXNwb25kaW5nIGV2ZW50cyBkdXJpbmcgaXRzIG1vdXNlb3V0LlxuICAgICAgaWYgKGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKHJlbGF0ZWQpIHx8IGlzQ29udGFpbmVyTWFya2VkQXNSb290KHJlbGF0ZWQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoIWlzT3V0RXZlbnQgJiYgIWlzT3ZlckV2ZW50KSB7XG4gICAgLy8gTXVzdCBub3QgYmUgYSBtb3VzZSBvciBwb2ludGVyIGluIG9yIG91dCAtIGlnbm9yaW5nLlxuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciB3aW47IC8vIFRPRE86IHdoeSBpcyB0aGlzIG51bGxhYmxlIGluIHRoZSB0eXBlcyBidXQgd2UgcmVhZCBmcm9tIGl0P1xuXG4gIGlmIChuYXRpdmVFdmVudFRhcmdldC53aW5kb3cgPT09IG5hdGl2ZUV2ZW50VGFyZ2V0KSB7XG4gICAgLy8gYG5hdGl2ZUV2ZW50VGFyZ2V0YCBpcyBwcm9iYWJseSBhIHdpbmRvdyBvYmplY3QuXG4gICAgd2luID0gbmF0aXZlRXZlbnRUYXJnZXQ7XG4gIH0gZWxzZSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCB3aHkgYG93bmVyRG9jdW1lbnRgIGlzIHNvbWV0aW1lcyB1bmRlZmluZWQgaW4gSUU4LlxuICAgIHZhciBkb2MgPSBuYXRpdmVFdmVudFRhcmdldC5vd25lckRvY3VtZW50O1xuXG4gICAgaWYgKGRvYykge1xuICAgICAgd2luID0gZG9jLmRlZmF1bHRWaWV3IHx8IGRvYy5wYXJlbnRXaW5kb3c7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbiA9IHdpbmRvdztcbiAgICB9XG4gIH1cblxuICB2YXIgZnJvbTtcbiAgdmFyIHRvO1xuXG4gIGlmIChpc091dEV2ZW50KSB7XG4gICAgdmFyIF9yZWxhdGVkID0gbmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldCB8fCBuYXRpdmVFdmVudC50b0VsZW1lbnQ7XG5cbiAgICBmcm9tID0gdGFyZ2V0SW5zdDtcbiAgICB0byA9IF9yZWxhdGVkID8gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUoX3JlbGF0ZWQpIDogbnVsbDtcblxuICAgIGlmICh0byAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5lYXJlc3RNb3VudGVkID0gZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcih0byk7XG4gICAgICB2YXIgdGFnID0gdG8udGFnO1xuXG4gICAgICBpZiAodG8gIT09IG5lYXJlc3RNb3VudGVkIHx8IHRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiB0YWcgIT09IEhvc3RTaW5nbGV0b24gJiYgdGFnICE9PSBIb3N0VGV4dCkge1xuICAgICAgICB0byA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIE1vdmluZyB0byBhIG5vZGUgZnJvbSBvdXRzaWRlIHRoZSB3aW5kb3cuXG4gICAgZnJvbSA9IG51bGw7XG4gICAgdG8gPSB0YXJnZXRJbnN0O1xuICB9XG5cbiAgaWYgKGZyb20gPT09IHRvKSB7XG4gICAgLy8gTm90aGluZyBwZXJ0YWlucyB0byBvdXIgbWFuYWdlZCBjb21wb25lbnRzLlxuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNNb3VzZUV2ZW50O1xuICB2YXIgbGVhdmVFdmVudFR5cGUgPSAnb25Nb3VzZUxlYXZlJztcbiAgdmFyIGVudGVyRXZlbnRUeXBlID0gJ29uTW91c2VFbnRlcic7XG4gIHZhciBldmVudFR5cGVQcmVmaXggPSAnbW91c2UnO1xuXG4gIGlmIChkb21FdmVudE5hbWUgPT09ICdwb2ludGVyb3V0JyB8fCBkb21FdmVudE5hbWUgPT09ICdwb2ludGVyb3ZlcicpIHtcbiAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNQb2ludGVyRXZlbnQ7XG4gICAgbGVhdmVFdmVudFR5cGUgPSAnb25Qb2ludGVyTGVhdmUnO1xuICAgIGVudGVyRXZlbnRUeXBlID0gJ29uUG9pbnRlckVudGVyJztcbiAgICBldmVudFR5cGVQcmVmaXggPSAncG9pbnRlcic7XG4gIH1cblxuICB2YXIgZnJvbU5vZGUgPSBmcm9tID09IG51bGwgPyB3aW4gOiBnZXROb2RlRnJvbUluc3RhbmNlKGZyb20pO1xuICB2YXIgdG9Ob2RlID0gdG8gPT0gbnVsbCA/IHdpbiA6IGdldE5vZGVGcm9tSW5zdGFuY2UodG8pO1xuICB2YXIgbGVhdmUgPSBuZXcgU3ludGhldGljRXZlbnRDdG9yKGxlYXZlRXZlbnRUeXBlLCBldmVudFR5cGVQcmVmaXggKyAnbGVhdmUnLCBmcm9tLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICBsZWF2ZS50YXJnZXQgPSBmcm9tTm9kZTtcbiAgbGVhdmUucmVsYXRlZFRhcmdldCA9IHRvTm9kZTtcbiAgdmFyIGVudGVyID0gbnVsbDsgLy8gV2Ugc2hvdWxkIG9ubHkgcHJvY2VzcyB0aGlzIG5hdGl2ZUV2ZW50IGlmIHdlIGFyZSBwcm9jZXNzaW5nXG4gIC8vIHRoZSBmaXJzdCBhbmNlc3Rvci4gTmV4dCB0aW1lLCB3ZSB3aWxsIGlnbm9yZSB0aGUgZXZlbnQuXG5cbiAgdmFyIG5hdGl2ZVRhcmdldEluc3QgPSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKG5hdGl2ZVRhcmdldEluc3QgPT09IHRhcmdldEluc3QpIHtcbiAgICB2YXIgZW50ZXJFdmVudCA9IG5ldyBTeW50aGV0aWNFdmVudEN0b3IoZW50ZXJFdmVudFR5cGUsIGV2ZW50VHlwZVByZWZpeCArICdlbnRlcicsIHRvLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGVudGVyRXZlbnQudGFyZ2V0ID0gdG9Ob2RlO1xuICAgIGVudGVyRXZlbnQucmVsYXRlZFRhcmdldCA9IGZyb21Ob2RlO1xuICAgIGVudGVyID0gZW50ZXJFdmVudDtcbiAgfVxuXG4gIGFjY3VtdWxhdGVFbnRlckxlYXZlVHdvUGhhc2VMaXN0ZW5lcnMoZGlzcGF0Y2hRdWV1ZSwgbGVhdmUsIGVudGVyLCBmcm9tLCB0byk7XG59XG5cbi8qKlxuICogR2l2ZW4gYW55IG5vZGUgcmV0dXJuIHRoZSBmaXJzdCBsZWFmIG5vZGUgd2l0aG91dCBjaGlsZHJlbi5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9XG4gKi9cblxuZnVuY3Rpb24gZ2V0TGVhZk5vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSAmJiBub2RlLmZpcnN0Q2hpbGQpIHtcbiAgICBub2RlID0gbm9kZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4vKipcbiAqIEdldCB0aGUgbmV4dCBzaWJsaW5nIHdpdGhpbiBhIGNvbnRhaW5lci4gVGhpcyB3aWxsIHdhbGsgdXAgdGhlXG4gKiBET00gaWYgYSBub2RlJ3Mgc2libGluZ3MgaGF2ZSBiZWVuIGV4aGF1c3RlZC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4gez9ET01FbGVtZW50fERPTVRleHROb2RlfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0U2libGluZ05vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5leHRTaWJsaW5nKSB7XG4gICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZztcbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlO1xuICB9XG59XG4vKipcbiAqIEdldCBvYmplY3QgZGVzY3JpYmluZyB0aGUgbm9kZXMgd2hpY2ggY29udGFpbiBjaGFyYWN0ZXJzIGF0IG9mZnNldC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IHJvb3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KHJvb3QsIG9mZnNldCkge1xuICB2YXIgbm9kZSA9IGdldExlYWZOb2RlKHJvb3QpO1xuICB2YXIgbm9kZVN0YXJ0ID0gMDtcbiAgdmFyIG5vZGVFbmQgPSAwO1xuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgbm9kZUVuZCA9IG5vZGVTdGFydCArIG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuXG4gICAgICBpZiAobm9kZVN0YXJ0IDw9IG9mZnNldCAmJiBub2RlRW5kID49IG9mZnNldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgICAgb2Zmc2V0OiBvZmZzZXQgLSBub2RlU3RhcnRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgbm9kZVN0YXJ0ID0gbm9kZUVuZDtcbiAgICB9XG5cbiAgICBub2RlID0gZ2V0TGVhZk5vZGUoZ2V0U2libGluZ05vZGUobm9kZSkpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBvdXRlck5vZGVcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0cyhvdXRlck5vZGUpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBvdXRlck5vZGUub3duZXJEb2N1bWVudDtcbiAgdmFyIHdpbiA9IG93bmVyRG9jdW1lbnQgJiYgb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG4gIHZhciBzZWxlY3Rpb24gPSB3aW4uZ2V0U2VsZWN0aW9uICYmIHdpbi5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGFuY2hvck5vZGUgPSBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXG4gICAgICBmb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXNOb2RlLFxuICAgICAgZm9jdXNPZmZzZXQgPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQ7IC8vIEluIEZpcmVmb3gsIGFuY2hvck5vZGUgYW5kIGZvY3VzTm9kZSBjYW4gYmUgXCJhbm9ueW1vdXMgZGl2c1wiLCBlLmcuIHRoZVxuICAvLyB1cC9kb3duIGJ1dHRvbnMgb24gYW4gPGlucHV0IHR5cGU9XCJudW1iZXJcIj4uIEFub255bW91cyBkaXZzIGRvIG5vdCBzZWVtIHRvXG4gIC8vIGV4cG9zZSBwcm9wZXJ0aWVzLCB0cmlnZ2VyaW5nIGEgXCJQZXJtaXNzaW9uIGRlbmllZCBlcnJvclwiIGlmIGFueSBvZiBpdHNcbiAgLy8gcHJvcGVydGllcyBhcmUgYWNjZXNzZWQuIFRoZSBvbmx5IHNlZW1pbmdseSBwb3NzaWJsZSB3YXkgdG8gYXZvaWQgZXJyb3JpbmdcbiAgLy8gaXMgdG8gYWNjZXNzIGEgcHJvcGVydHkgdGhhdCB0eXBpY2FsbHkgd29ya3MgZm9yIG5vbi1hbm9ueW1vdXMgZGl2cyBhbmRcbiAgLy8gY2F0Y2ggYW55IGVycm9yIHRoYXQgbWF5IG90aGVyd2lzZSBhcmlzZS4gU2VlXG4gIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQyN1xuXG4gIHRyeSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgZnQtZmxvdy9uby11bnVzZWQtZXhwcmVzc2lvbnMgKi9cbiAgICBhbmNob3JOb2RlLm5vZGVUeXBlO1xuICAgIGZvY3VzTm9kZS5ub2RlVHlwZTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIGZ0LWZsb3cvbm8tdW51c2VkLWV4cHJlc3Npb25zICovXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBnZXRNb2Rlcm5PZmZzZXRzRnJvbVBvaW50cyhvdXRlck5vZGUsIGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCk7XG59XG4vKipcbiAqIFJldHVybnMge3N0YXJ0LCBlbmR9IHdoZXJlIGBzdGFydGAgaXMgdGhlIGNoYXJhY3Rlci9jb2RlcG9pbnQgaW5kZXggb2ZcbiAqIChhbmNob3JOb2RlLCBhbmNob3JPZmZzZXQpIHdpdGhpbiB0aGUgdGV4dENvbnRlbnQgb2YgYG91dGVyTm9kZWAsIGFuZFxuICogYGVuZGAgaXMgdGhlIGluZGV4IG9mIChmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KS5cbiAqXG4gKiBSZXR1cm5zIG51bGwgaWYgeW91IHBhc3MgaW4gZ2FyYmFnZSBpbnB1dCBidXQgd2Ugc2hvdWxkIHByb2JhYmx5IGp1c3QgY3Jhc2guXG4gKlxuICogRXhwb3J0ZWQgb25seSBmb3IgdGVzdGluZy5cbiAqL1xuXG5mdW5jdGlvbiBnZXRNb2Rlcm5PZmZzZXRzRnJvbVBvaW50cyhvdXRlck5vZGUsIGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCkge1xuICB2YXIgbGVuZ3RoID0gMDtcbiAgdmFyIHN0YXJ0ID0gLTE7XG4gIHZhciBlbmQgPSAtMTtcbiAgdmFyIGluZGV4V2l0aGluQW5jaG9yID0gMDtcbiAgdmFyIGluZGV4V2l0aGluRm9jdXMgPSAwO1xuICB2YXIgbm9kZSA9IG91dGVyTm9kZTtcbiAgdmFyIHBhcmVudE5vZGUgPSBudWxsO1xuXG4gIG91dGVyOiB3aGlsZSAodHJ1ZSkge1xuICAgIHZhciBuZXh0ID0gbnVsbDtcblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAobm9kZSA9PT0gYW5jaG9yTm9kZSAmJiAoYW5jaG9yT2Zmc2V0ID09PSAwIHx8IG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkpIHtcbiAgICAgICAgc3RhcnQgPSBsZW5ndGggKyBhbmNob3JPZmZzZXQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlID09PSBmb2N1c05vZGUgJiYgKGZvY3VzT2Zmc2V0ID09PSAwIHx8IG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkpIHtcbiAgICAgICAgZW5kID0gbGVuZ3RoICsgZm9jdXNPZmZzZXQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcbiAgICAgICAgbGVuZ3RoICs9IG5vZGUubm9kZVZhbHVlLmxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKChuZXh0ID0gbm9kZS5maXJzdENoaWxkKSA9PT0gbnVsbCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH0gLy8gTW92aW5nIGZyb20gYG5vZGVgIHRvIGl0cyBmaXJzdCBjaGlsZCBgbmV4dGAuXG5cblxuICAgICAgcGFyZW50Tm9kZSA9IG5vZGU7XG4gICAgICBub2RlID0gbmV4dDtcbiAgICB9XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKG5vZGUgPT09IG91dGVyTm9kZSkge1xuICAgICAgICAvLyBJZiBgb3V0ZXJOb2RlYCBoYXMgY2hpbGRyZW4sIHRoaXMgaXMgYWx3YXlzIHRoZSBzZWNvbmQgdGltZSB2aXNpdGluZ1xuICAgICAgICAvLyBpdC4gSWYgaXQgaGFzIG5vIGNoaWxkcmVuLCB0aGlzIGlzIHN0aWxsIHRoZSBmaXJzdCBsb29wLCBhbmQgdGhlIG9ubHlcbiAgICAgICAgLy8gdmFsaWQgc2VsZWN0aW9uIGlzIGFuY2hvck5vZGUgYW5kIGZvY3VzTm9kZSBib3RoIGVxdWFsIHRvIHRoaXMgbm9kZVxuICAgICAgICAvLyBhbmQgYm90aCBvZmZzZXRzIDAsIGluIHdoaWNoIGNhc2Ugd2Ugd2lsbCBoYXZlIGhhbmRsZWQgYWJvdmUuXG4gICAgICAgIGJyZWFrIG91dGVyO1xuICAgICAgfVxuXG4gICAgICBpZiAocGFyZW50Tm9kZSA9PT0gYW5jaG9yTm9kZSAmJiArK2luZGV4V2l0aGluQW5jaG9yID09PSBhbmNob3JPZmZzZXQpIHtcbiAgICAgICAgc3RhcnQgPSBsZW5ndGg7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJlbnROb2RlID09PSBmb2N1c05vZGUgJiYgKytpbmRleFdpdGhpbkZvY3VzID09PSBmb2N1c09mZnNldCkge1xuICAgICAgICBlbmQgPSBsZW5ndGg7XG4gICAgICB9XG5cbiAgICAgIGlmICgobmV4dCA9IG5vZGUubmV4dFNpYmxpbmcpICE9PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gcGFyZW50Tm9kZTtcbiAgICAgIHBhcmVudE5vZGUgPSBub2RlLnBhcmVudE5vZGU7XG4gICAgfSAvLyBNb3ZpbmcgZnJvbSBgbm9kZWAgdG8gaXRzIG5leHQgc2libGluZyBgbmV4dGAuXG5cblxuICAgIG5vZGUgPSBuZXh0O1xuICB9XG5cbiAgaWYgKHN0YXJ0ID09PSAtMSB8fCBlbmQgPT09IC0xKSB7XG4gICAgLy8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLiAoV291bGQgaGFwcGVuIGlmIHRoZSBhbmNob3IvZm9jdXMgbm9kZXMgYXJlbid0XG4gICAgLy8gYWN0dWFsbHkgaW5zaWRlIHRoZSBwYXNzZWQtaW4gbm9kZS4pXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN0YXJ0OiBzdGFydCxcbiAgICBlbmQ6IGVuZFxuICB9O1xufVxuLyoqXG4gKiBJbiBtb2Rlcm4gbm9uLUlFIGJyb3dzZXJzLCB3ZSBjYW4gc3VwcG9ydCBib3RoIGZvcndhcmQgYW5kIGJhY2t3YXJkXG4gKiBzZWxlY3Rpb25zLlxuICpcbiAqIE5vdGU6IElFMTArIHN1cHBvcnRzIHRoZSBTZWxlY3Rpb24gb2JqZWN0LCBidXQgaXQgZG9lcyBub3Qgc3VwcG9ydFxuICogdGhlIGBleHRlbmRgIG1ldGhvZCwgd2hpY2ggbWVhbnMgdGhhdCBldmVuIGluIG1vZGVybiBJRSwgaXQncyBub3QgcG9zc2libGVcbiAqIHRvIHByb2dyYW1tYXRpY2FsbHkgY3JlYXRlIGEgYmFja3dhcmQgc2VsZWN0aW9uLiBUaHVzLCBmb3IgYWxsIElFXG4gKiB2ZXJzaW9ucywgd2UgdXNlIHRoZSBvbGQgSUUgQVBJIHRvIGNyZWF0ZSBvdXIgc2VsZWN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBvZmZzZXRzXG4gKi9cblxuZnVuY3Rpb24gc2V0T2Zmc2V0cyhub2RlLCBvZmZzZXRzKSB7XG4gIHZhciBkb2MgPSBub2RlLm93bmVyRG9jdW1lbnQgfHwgZG9jdW1lbnQ7XG4gIHZhciB3aW4gPSBkb2MgJiYgZG9jLmRlZmF1bHRWaWV3IHx8IHdpbmRvdzsgLy8gRWRnZSBmYWlscyB3aXRoIFwiT2JqZWN0IGV4cGVjdGVkXCIgaW4gc29tZSBzY2VuYXJpb3MuXG4gIC8vIChGb3IgaW5zdGFuY2U6IFRpbnlNQ0UgZWRpdG9yIHVzZWQgaW4gYSBsaXN0IGNvbXBvbmVudCB0aGF0IHN1cHBvcnRzIHBhc3RpbmcgdG8gYWRkIG1vcmUsXG4gIC8vIGZhaWxzIHdoZW4gcGFzdGluZyAxMDArIGl0ZW1zKVxuXG4gIGlmICghd2luLmdldFNlbGVjdGlvbikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBzZWxlY3Rpb24gPSB3aW4uZ2V0U2VsZWN0aW9uKCk7XG4gIHZhciBsZW5ndGggPSBub2RlLnRleHRDb250ZW50Lmxlbmd0aDtcbiAgdmFyIHN0YXJ0ID0gTWF0aC5taW4ob2Zmc2V0cy5zdGFydCwgbGVuZ3RoKTtcbiAgdmFyIGVuZCA9IG9mZnNldHMuZW5kID09PSB1bmRlZmluZWQgPyBzdGFydCA6IE1hdGgubWluKG9mZnNldHMuZW5kLCBsZW5ndGgpOyAvLyBJRSAxMSB1c2VzIG1vZGVybiBzZWxlY3Rpb24sIGJ1dCBkb2Vzbid0IHN1cHBvcnQgdGhlIGV4dGVuZCBtZXRob2QuXG4gIC8vIEZsaXAgYmFja3dhcmQgc2VsZWN0aW9ucywgc28gd2UgY2FuIHNldCB3aXRoIGEgc2luZ2xlIHJhbmdlLlxuXG4gIGlmICghc2VsZWN0aW9uLmV4dGVuZCAmJiBzdGFydCA+IGVuZCkge1xuICAgIHZhciB0ZW1wID0gZW5kO1xuICAgIGVuZCA9IHN0YXJ0O1xuICAgIHN0YXJ0ID0gdGVtcDtcbiAgfVxuXG4gIHZhciBzdGFydE1hcmtlciA9IGdldE5vZGVGb3JDaGFyYWN0ZXJPZmZzZXQobm9kZSwgc3RhcnQpO1xuICB2YXIgZW5kTWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBlbmQpO1xuXG4gIGlmIChzdGFydE1hcmtlciAmJiBlbmRNYXJrZXIpIHtcbiAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgPT09IDEgJiYgc2VsZWN0aW9uLmFuY2hvck5vZGUgPT09IHN0YXJ0TWFya2VyLm5vZGUgJiYgc2VsZWN0aW9uLmFuY2hvck9mZnNldCA9PT0gc3RhcnRNYXJrZXIub2Zmc2V0ICYmIHNlbGVjdGlvbi5mb2N1c05vZGUgPT09IGVuZE1hcmtlci5ub2RlICYmIHNlbGVjdGlvbi5mb2N1c09mZnNldCA9PT0gZW5kTWFya2VyLm9mZnNldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciByYW5nZSA9IGRvYy5jcmVhdGVSYW5nZSgpO1xuICAgIHJhbmdlLnNldFN0YXJ0KHN0YXJ0TWFya2VyLm5vZGUsIHN0YXJ0TWFya2VyLm9mZnNldCk7XG4gICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuXG4gICAgaWYgKHN0YXJ0ID4gZW5kKSB7XG4gICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuICAgICAgc2VsZWN0aW9uLmV4dGVuZChlbmRNYXJrZXIubm9kZSwgZW5kTWFya2VyLm9mZnNldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJhbmdlLnNldEVuZChlbmRNYXJrZXIubm9kZSwgZW5kTWFya2VyLm9mZnNldCk7XG4gICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc1RleHROb2RlKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUgJiYgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFO1xufVxuXG5mdW5jdGlvbiBjb250YWluc05vZGUob3V0ZXJOb2RlLCBpbm5lck5vZGUpIHtcbiAgaWYgKCFvdXRlck5vZGUgfHwgIWlubmVyTm9kZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSBlbHNlIGlmIChvdXRlck5vZGUgPT09IGlubmVyTm9kZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUob3V0ZXJOb2RlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSBlbHNlIGlmIChpc1RleHROb2RlKGlubmVyTm9kZSkpIHtcbiAgICByZXR1cm4gY29udGFpbnNOb2RlKG91dGVyTm9kZSwgaW5uZXJOb2RlLnBhcmVudE5vZGUpO1xuICB9IGVsc2UgaWYgKCdjb250YWlucycgaW4gb3V0ZXJOb2RlKSB7XG4gICAgcmV0dXJuIG91dGVyTm9kZS5jb250YWlucyhpbm5lck5vZGUpO1xuICB9IGVsc2UgaWYgKG91dGVyTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbikge1xuICAgIHJldHVybiAhIShvdXRlck5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oaW5uZXJOb2RlKSAmIDE2KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNJbkRvY3VtZW50KG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUgJiYgbm9kZS5vd25lckRvY3VtZW50ICYmIGNvbnRhaW5zTm9kZShub2RlLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCBub2RlKTtcbn1cblxuZnVuY3Rpb24gaXNTYW1lT3JpZ2luRnJhbWUoaWZyYW1lKSB7XG4gIHRyeSB7XG4gICAgLy8gQWNjZXNzaW5nIHRoZSBjb250ZW50RG9jdW1lbnQgb2YgYSBIVE1MSWZyYW1lRWxlbWVudCBjYW4gY2F1c2UgdGhlIGJyb3dzZXJcbiAgICAvLyB0byB0aHJvdywgZS5nLiBpZiBpdCBoYXMgYSBjcm9zcy1vcmlnaW4gc3JjIGF0dHJpYnV0ZS5cbiAgICAvLyBTYWZhcmkgd2lsbCBzaG93IGFuIGVycm9yIGluIHRoZSBjb25zb2xlIHdoZW4gdGhlIGFjY2VzcyByZXN1bHRzIGluIFwiQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luXCIuIGUuZzpcbiAgICAvLyBpZnJhbWUuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgIC8vIEEgc2FmZXR5IHdheSBpcyB0byBhY2Nlc3Mgb25lIG9mIHRoZSBjcm9zcyBvcmlnaW4gcHJvcGVydGllczogV2luZG93IG9yIExvY2F0aW9uXG4gICAgLy8gV2hpY2ggbWlnaHQgcmVzdWx0IGluIFwiU2VjdXJpdHlFcnJvclwiIERPTSBFeGNlcHRpb24gYW5kIGl0IGlzIGNvbXBhdGlibGUgdG8gU2FmYXJpLlxuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Jyb3dzZXJzLmh0bWwjaW50ZWdyYXRpb24td2l0aC1pZGxcbiAgICByZXR1cm4gdHlwZW9mIGlmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWYgPT09ICdzdHJpbmcnO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QWN0aXZlRWxlbWVudERlZXAoKSB7XG4gIHZhciB3aW4gPSB3aW5kb3c7XG4gIHZhciBlbGVtZW50ID0gZ2V0QWN0aXZlRWxlbWVudCgpO1xuXG4gIHdoaWxlIChlbGVtZW50IGluc3RhbmNlb2Ygd2luLkhUTUxJRnJhbWVFbGVtZW50KSB7XG4gICAgaWYgKGlzU2FtZU9yaWdpbkZyYW1lKGVsZW1lbnQpKSB7XG4gICAgICB3aW4gPSBlbGVtZW50LmNvbnRlbnRXaW5kb3c7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIGVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KHdpbi5kb2N1bWVudCk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbi8qKlxuICogQFJlYWN0SW5wdXRTZWxlY3Rpb246IFJlYWN0IGlucHV0IHNlbGVjdGlvbiBtb2R1bGUuIEJhc2VkIG9uIFNlbGVjdGlvbi5qcyxcbiAqIGJ1dCBtb2RpZmllZCB0byBiZSBzdWl0YWJsZSBmb3IgcmVhY3QgYW5kIGhhcyBhIGNvdXBsZSBvZiBidWcgZml4ZXMgKGRvZXNuJ3RcbiAqIGFzc3VtZSBidXR0b25zIGhhdmUgcmFuZ2Ugc2VsZWN0aW9ucyBhbGxvd2VkKS5cbiAqIElucHV0IHNlbGVjdGlvbiBtb2R1bGUgZm9yIFJlYWN0LlxuICovXG5cbi8qKlxuICogQGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllczogd2UgZ2V0IHRoZSBlbGVtZW50IHR5cGVzIHRoYXQgc3VwcG9ydCBzZWxlY3Rpb25cbiAqIGZyb20gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG8tbm90LWFwcGx5LCBsb29raW5nIGF0IGBzZWxlY3Rpb25TdGFydGBcbiAqIGFuZCBgc2VsZWN0aW9uRW5kYCByb3dzLlxuICovXG5cblxuZnVuY3Rpb24gaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzKGVsZW0pIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbSAmJiBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIG5vZGVOYW1lICYmIChub2RlTmFtZSA9PT0gJ2lucHV0JyAmJiAoZWxlbS50eXBlID09PSAndGV4dCcgfHwgZWxlbS50eXBlID09PSAnc2VhcmNoJyB8fCBlbGVtLnR5cGUgPT09ICd0ZWwnIHx8IGVsZW0udHlwZSA9PT0gJ3VybCcgfHwgZWxlbS50eXBlID09PSAncGFzc3dvcmQnKSB8fCBub2RlTmFtZSA9PT0gJ3RleHRhcmVhJyB8fCBlbGVtLmNvbnRlbnRFZGl0YWJsZSA9PT0gJ3RydWUnKTtcbn1cbmZ1bmN0aW9uIGdldFNlbGVjdGlvbkluZm9ybWF0aW9uKCkge1xuICB2YXIgZm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xuICByZXR1cm4ge1xuICAgIGZvY3VzZWRFbGVtOiBmb2N1c2VkRWxlbSxcbiAgICBzZWxlY3Rpb25SYW5nZTogaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzKGZvY3VzZWRFbGVtKSA/IGdldFNlbGVjdGlvbiQxKGZvY3VzZWRFbGVtKSA6IG51bGxcbiAgfTtcbn1cbi8qKlxuICogQHJlc3RvcmVTZWxlY3Rpb246IElmIGFueSBzZWxlY3Rpb24gaW5mb3JtYXRpb24gd2FzIHBvdGVudGlhbGx5IGxvc3QsXG4gKiByZXN0b3JlIGl0LiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHBlcmZvcm1pbmcgb3BlcmF0aW9ucyB0aGF0IGNvdWxkIHJlbW92ZSBkb21cbiAqIG5vZGVzIGFuZCBwbGFjZSB0aGVtIGJhY2sgaW4sIHJlc3VsdGluZyBpbiBmb2N1cyBiZWluZyBsb3N0LlxuICovXG5cbmZ1bmN0aW9uIHJlc3RvcmVTZWxlY3Rpb24ocHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbikge1xuICB2YXIgY3VyRm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xuICB2YXIgcHJpb3JGb2N1c2VkRWxlbSA9IHByaW9yU2VsZWN0aW9uSW5mb3JtYXRpb24uZm9jdXNlZEVsZW07XG4gIHZhciBwcmlvclNlbGVjdGlvblJhbmdlID0gcHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbi5zZWxlY3Rpb25SYW5nZTtcblxuICBpZiAoY3VyRm9jdXNlZEVsZW0gIT09IHByaW9yRm9jdXNlZEVsZW0gJiYgaXNJbkRvY3VtZW50KHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgaWYgKHByaW9yU2VsZWN0aW9uUmFuZ2UgIT09IG51bGwgJiYgaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzKHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgICBzZXRTZWxlY3Rpb24ocHJpb3JGb2N1c2VkRWxlbSwgcHJpb3JTZWxlY3Rpb25SYW5nZSk7XG4gICAgfSAvLyBGb2N1c2luZyBhIG5vZGUgY2FuIGNoYW5nZSB0aGUgc2Nyb2xsIHBvc2l0aW9uLCB3aGljaCBpcyB1bmRlc2lyYWJsZVxuXG5cbiAgICB2YXIgYW5jZXN0b3JzID0gW107XG4gICAgdmFyIGFuY2VzdG9yID0gcHJpb3JGb2N1c2VkRWxlbTtcblxuICAgIHdoaWxlIChhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudE5vZGUpIHtcbiAgICAgIGlmIChhbmNlc3Rvci5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIGFuY2VzdG9ycy5wdXNoKHtcbiAgICAgICAgICBlbGVtZW50OiBhbmNlc3RvcixcbiAgICAgICAgICBsZWZ0OiBhbmNlc3Rvci5zY3JvbGxMZWZ0LFxuICAgICAgICAgIHRvcDogYW5jZXN0b3Iuc2Nyb2xsVG9wXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5jZXN0b3JzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaW5mbyA9IGFuY2VzdG9yc1tpXTtcbiAgICAgIGluZm8uZWxlbWVudC5zY3JvbGxMZWZ0ID0gaW5mby5sZWZ0O1xuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbFRvcCA9IGluZm8udG9wO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBAZ2V0U2VsZWN0aW9uOiBHZXRzIHRoZSBzZWxlY3Rpb24gYm91bmRzIG9mIGEgZm9jdXNlZCB0ZXh0YXJlYSwgaW5wdXQgb3JcbiAqIGNvbnRlbnRFZGl0YWJsZSBub2RlLlxuICogLUBpbnB1dDogTG9vayB1cCBzZWxlY3Rpb24gYm91bmRzIG9mIHRoaXMgaW5wdXRcbiAqIC1AcmV0dXJuIHtzdGFydDogc2VsZWN0aW9uU3RhcnQsIGVuZDogc2VsZWN0aW9uRW5kfVxuICovXG5cbmZ1bmN0aW9uIGdldFNlbGVjdGlvbiQxKGlucHV0KSB7XG4gIHZhciBzZWxlY3Rpb247XG5cbiAgaWYgKCdzZWxlY3Rpb25TdGFydCcgaW4gaW5wdXQpIHtcbiAgICAvLyBNb2Rlcm4gYnJvd3NlciB3aXRoIGlucHV0IG9yIHRleHRhcmVhLlxuICAgIHNlbGVjdGlvbiA9IHtcbiAgICAgIHN0YXJ0OiBpbnB1dC5zZWxlY3Rpb25TdGFydCxcbiAgICAgIGVuZDogaW5wdXQuc2VsZWN0aW9uRW5kXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBDb250ZW50IGVkaXRhYmxlIG9yIG9sZCBJRSB0ZXh0YXJlYS5cbiAgICBzZWxlY3Rpb24gPSBnZXRPZmZzZXRzKGlucHV0KTtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rpb24gfHwge1xuICAgIHN0YXJ0OiAwLFxuICAgIGVuZDogMFxuICB9O1xufVxuLyoqXG4gKiBAc2V0U2VsZWN0aW9uOiBTZXRzIHRoZSBzZWxlY3Rpb24gYm91bmRzIG9mIGEgdGV4dGFyZWEgb3IgaW5wdXQgYW5kIGZvY3VzZXNcbiAqIHRoZSBpbnB1dC5cbiAqIC1AaW5wdXQgICAgIFNldCBzZWxlY3Rpb24gYm91bmRzIG9mIHRoaXMgaW5wdXQgb3IgdGV4dGFyZWFcbiAqIC1Ab2Zmc2V0cyAgIE9iamVjdCBvZiBzYW1lIGZvcm0gdGhhdCBpcyByZXR1cm5lZCBmcm9tIGdldCpcbiAqL1xuXG5mdW5jdGlvbiBzZXRTZWxlY3Rpb24oaW5wdXQsIG9mZnNldHMpIHtcbiAgdmFyIHN0YXJ0ID0gb2Zmc2V0cy5zdGFydDtcbiAgdmFyIGVuZCA9IG9mZnNldHMuZW5kO1xuXG4gIGlmIChlbmQgPT09IHVuZGVmaW5lZCkge1xuICAgIGVuZCA9IHN0YXJ0O1xuICB9XG5cbiAgaWYgKCdzZWxlY3Rpb25TdGFydCcgaW4gaW5wdXQpIHtcbiAgICBpbnB1dC5zZWxlY3Rpb25TdGFydCA9IHN0YXJ0O1xuICAgIGlucHV0LnNlbGVjdGlvbkVuZCA9IE1hdGgubWluKGVuZCwgaW5wdXQudmFsdWUubGVuZ3RoKTtcbiAgfSBlbHNlIHtcbiAgICBzZXRPZmZzZXRzKGlucHV0LCBvZmZzZXRzKTtcbiAgfVxufVxuXG52YXIgc2tpcFNlbGVjdGlvbkNoYW5nZUV2ZW50ID0gY2FuVXNlRE9NICYmICdkb2N1bWVudE1vZGUnIGluIGRvY3VtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50TW9kZSA8PSAxMTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJFdmVudHMoKSB7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25TZWxlY3QnLCBbJ2ZvY3Vzb3V0JywgJ2NvbnRleHRtZW51JywgJ2RyYWdlbmQnLCAnZm9jdXNpbicsICdrZXlkb3duJywgJ2tleXVwJywgJ21vdXNlZG93bicsICdtb3VzZXVwJywgJ3NlbGVjdGlvbmNoYW5nZSddKTtcbn1cblxudmFyIGFjdGl2ZUVsZW1lbnQgPSBudWxsO1xudmFyIGFjdGl2ZUVsZW1lbnRJbnN0ID0gbnVsbDtcbnZhciBsYXN0U2VsZWN0aW9uID0gbnVsbDtcbnZhciBtb3VzZURvd24gPSBmYWxzZTtcbi8qKlxuICogR2V0IGFuIG9iamVjdCB3aGljaCBpcyBhIHVuaXF1ZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3VycmVudCBzZWxlY3Rpb24uXG4gKlxuICogVGhlIHJldHVybiB2YWx1ZSB3aWxsIG5vdCBiZSBjb25zaXN0ZW50IGFjcm9zcyBub2RlcyBvciBicm93c2VycywgYnV0XG4gKiB0d28gaWRlbnRpY2FsIHNlbGVjdGlvbnMgb24gdGhlIHNhbWUgbm9kZSB3aWxsIHJldHVybiBpZGVudGljYWwgb2JqZWN0cy5cbiAqL1xuXG5mdW5jdGlvbiBnZXRTZWxlY3Rpb24obm9kZSkge1xuICBpZiAoJ3NlbGVjdGlvblN0YXJ0JyBpbiBub2RlICYmIGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhub2RlKSkge1xuICAgIHJldHVybiB7XG4gICAgICBzdGFydDogbm9kZS5zZWxlY3Rpb25TdGFydCxcbiAgICAgIGVuZDogbm9kZS5zZWxlY3Rpb25FbmRcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHZhciB3aW4gPSBub2RlLm93bmVyRG9jdW1lbnQgJiYgbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgICB2YXIgc2VsZWN0aW9uID0gd2luLmdldFNlbGVjdGlvbigpO1xuICAgIHJldHVybiB7XG4gICAgICBhbmNob3JOb2RlOiBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldDogc2VsZWN0aW9uLmFuY2hvck9mZnNldCxcbiAgICAgIGZvY3VzTm9kZTogc2VsZWN0aW9uLmZvY3VzTm9kZSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBzZWxlY3Rpb24uZm9jdXNPZmZzZXRcbiAgICB9O1xuICB9XG59XG4vKipcbiAqIEdldCBkb2N1bWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGV2ZW50IHRhcmdldC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQoZXZlbnRUYXJnZXQpIHtcbiAgcmV0dXJuIGV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gZXZlbnRUYXJnZXQgPyBldmVudFRhcmdldC5kb2N1bWVudCA6IGV2ZW50VGFyZ2V0Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gZXZlbnRUYXJnZXQgOiBldmVudFRhcmdldC5vd25lckRvY3VtZW50O1xufVxuLyoqXG4gKiBQb2xsIHNlbGVjdGlvbiB0byBzZWUgd2hldGhlciBpdCdzIGNoYW5nZWQuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRUYXJnZXRcbiAqIEByZXR1cm4gez9TeW50aGV0aWNFdmVudH1cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xuICAvLyBFbnN1cmUgd2UgaGF2ZSB0aGUgcmlnaHQgZWxlbWVudCwgYW5kIHRoYXQgdGhlIHVzZXIgaXMgbm90IGRyYWdnaW5nIGFcbiAgLy8gc2VsZWN0aW9uICh0aGlzIG1hdGNoZXMgbmF0aXZlIGBzZWxlY3RgIGV2ZW50IGJlaGF2aW9yKS4gSW4gSFRNTDUsIHNlbGVjdFxuICAvLyBmaXJlcyBvbmx5IG9uIGlucHV0IGFuZCB0ZXh0YXJlYSB0aHVzIGlmIHRoZXJlJ3Mgbm8gZm9jdXNlZCBlbGVtZW50IHdlXG4gIC8vIHdvbid0IGRpc3BhdGNoLlxuICB2YXIgZG9jID0gZ2V0RXZlbnRUYXJnZXREb2N1bWVudChuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKG1vdXNlRG93biB8fCBhY3RpdmVFbGVtZW50ID09IG51bGwgfHwgYWN0aXZlRWxlbWVudCAhPT0gZ2V0QWN0aXZlRWxlbWVudChkb2MpKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIE9ubHkgZmlyZSB3aGVuIHNlbGVjdGlvbiBoYXMgYWN0dWFsbHkgY2hhbmdlZC5cblxuXG4gIHZhciBjdXJyZW50U2VsZWN0aW9uID0gZ2V0U2VsZWN0aW9uKGFjdGl2ZUVsZW1lbnQpO1xuXG4gIGlmICghbGFzdFNlbGVjdGlvbiB8fCAhc2hhbGxvd0VxdWFsKGxhc3RTZWxlY3Rpb24sIGN1cnJlbnRTZWxlY3Rpb24pKSB7XG4gICAgbGFzdFNlbGVjdGlvbiA9IGN1cnJlbnRTZWxlY3Rpb247XG4gICAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyhhY3RpdmVFbGVtZW50SW5zdCwgJ29uU2VsZWN0Jyk7XG5cbiAgICBpZiAobGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNFdmVudCgnb25TZWxlY3QnLCAnc2VsZWN0JywgbnVsbCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNcbiAgICAgIH0pO1xuICAgICAgZXZlbnQudGFyZ2V0ID0gYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogVGhpcyBwbHVnaW4gY3JlYXRlcyBhbiBgb25TZWxlY3RgIGV2ZW50IHRoYXQgbm9ybWFsaXplcyBzZWxlY3QgZXZlbnRzXG4gKiBhY3Jvc3MgZm9ybSBlbGVtZW50cy5cbiAqXG4gKiBTdXBwb3J0ZWQgZWxlbWVudHMgYXJlOlxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxuICogLSB0ZXh0YXJlYVxuICogLSBjb250ZW50RWRpdGFibGVcbiAqXG4gKiBUaGlzIGRpZmZlcnMgZnJvbSBuYXRpdmUgYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMgaW4gdGhlIGZvbGxvd2luZyB3YXlzOlxuICogLSBGaXJlcyBvbiBjb250ZW50RWRpdGFibGUgZmllbGRzIGFzIHdlbGwgYXMgaW5wdXRzLlxuICogLSBGaXJlcyBmb3IgY29sbGFwc2VkIHNlbGVjdGlvbi5cbiAqIC0gRmlyZXMgYWZ0ZXIgdXNlciBpbnB1dC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMihkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICAvLyBUcmFjayB0aGUgaW5wdXQgbm9kZSB0aGF0IGhhcyBmb2N1cy5cbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICAgIGlmIChpc1RleHRJbnB1dEVsZW1lbnQodGFyZ2V0Tm9kZSkgfHwgdGFyZ2V0Tm9kZS5jb250ZW50RWRpdGFibGUgPT09ICd0cnVlJykge1xuICAgICAgICBhY3RpdmVFbGVtZW50ID0gdGFyZ2V0Tm9kZTtcbiAgICAgICAgYWN0aXZlRWxlbWVudEluc3QgPSB0YXJnZXRJbnN0O1xuICAgICAgICBsYXN0U2VsZWN0aW9uID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICBhY3RpdmVFbGVtZW50ID0gbnVsbDtcbiAgICAgIGFjdGl2ZUVsZW1lbnRJbnN0ID0gbnVsbDtcbiAgICAgIGxhc3RTZWxlY3Rpb24gPSBudWxsO1xuICAgICAgYnJlYWs7XG4gICAgLy8gRG9uJ3QgZmlyZSB0aGUgZXZlbnQgd2hpbGUgdGhlIHVzZXIgaXMgZHJhZ2dpbmcuIFRoaXMgbWF0Y2hlcyB0aGVcbiAgICAvLyBzZW1hbnRpY3Mgb2YgdGhlIG5hdGl2ZSBzZWxlY3QgZXZlbnQuXG5cbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgICAgbW91c2VEb3duID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnY29udGV4dG1lbnUnOlxuICAgIGNhc2UgJ21vdXNldXAnOlxuICAgIGNhc2UgJ2RyYWdlbmQnOlxuICAgICAgbW91c2VEb3duID0gZmFsc2U7XG4gICAgICBjb25zdHJ1Y3RTZWxlY3RFdmVudChkaXNwYXRjaFF1ZXVlLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgICAgYnJlYWs7XG4gICAgLy8gQ2hyb21lIGFuZCBJRSBmaXJlIG5vbi1zdGFuZGFyZCBldmVudCB3aGVuIHNlbGVjdGlvbiBpcyBjaGFuZ2VkIChhbmRcbiAgICAvLyBzb21ldGltZXMgd2hlbiBpdCBoYXNuJ3QpLiBJRSdzIGV2ZW50IGZpcmVzIG91dCBvZiBvcmRlciB3aXRoIHJlc3BlY3RcbiAgICAvLyB0byBrZXkgYW5kIGlucHV0IGV2ZW50cyBvbiBkZWxldGlvbiwgc28gd2UgZGlzY2FyZCBpdC5cbiAgICAvL1xuICAgIC8vIEZpcmVmb3ggZG9lc24ndCBzdXBwb3J0IHNlbGVjdGlvbmNoYW5nZSwgc28gY2hlY2sgc2VsZWN0aW9uIHN0YXR1c1xuICAgIC8vIGFmdGVyIGVhY2gga2V5IGVudHJ5LiBUaGUgc2VsZWN0aW9uIGNoYW5nZXMgYWZ0ZXIga2V5ZG93biBhbmQgYmVmb3JlXG4gICAgLy8ga2V5dXAsIGJ1dCB3ZSBjaGVjayBvbiBrZXlkb3duIGFzIHdlbGwgaW4gdGhlIGNhc2Ugb2YgaG9sZGluZyBkb3duIGFcbiAgICAvLyBrZXksIHdoZW4gbXVsdGlwbGUga2V5ZG93biBldmVudHMgYXJlIGZpcmVkIGJ1dCBvbmx5IG9uZSBrZXl1cCBpcy5cbiAgICAvLyBUaGlzIGlzIGFsc28gb3VyIGFwcHJvYWNoIGZvciBJRSBoYW5kbGluZywgZm9yIHRoZSByZWFzb24gYWJvdmUuXG5cbiAgICBjYXNlICdzZWxlY3Rpb25jaGFuZ2UnOlxuICAgICAgaWYgKHNraXBTZWxlY3Rpb25DaGFuZ2VFdmVudCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIC8vIGZhbGxzIHRocm91Z2hcblxuICAgIGNhc2UgJ2tleWRvd24nOlxuICAgIGNhc2UgJ2tleXVwJzpcbiAgICAgIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIH1cbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIG1hcHBpbmcgb2Ygc3RhbmRhcmQgdmVuZG9yIHByZWZpeGVzIHVzaW5nIHRoZSBkZWZpbmVkIHN0eWxlIHByb3BlcnR5IGFuZCBldmVudCBuYW1lLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHlsZVByb3BcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cblxuZnVuY3Rpb24gbWFrZVByZWZpeE1hcChzdHlsZVByb3AsIGV2ZW50TmFtZSkge1xuICB2YXIgcHJlZml4ZXMgPSB7fTtcbiAgcHJlZml4ZXNbc3R5bGVQcm9wLnRvTG93ZXJDYXNlKCldID0gZXZlbnROYW1lLnRvTG93ZXJDYXNlKCk7XG4gIHByZWZpeGVzWydXZWJraXQnICsgc3R5bGVQcm9wXSA9ICd3ZWJraXQnICsgZXZlbnROYW1lO1xuICBwcmVmaXhlc1snTW96JyArIHN0eWxlUHJvcF0gPSAnbW96JyArIGV2ZW50TmFtZTtcbiAgcmV0dXJuIHByZWZpeGVzO1xufVxuLyoqXG4gKiBBIGxpc3Qgb2YgZXZlbnQgbmFtZXMgdG8gYSBjb25maWd1cmFibGUgbGlzdCBvZiB2ZW5kb3IgcHJlZml4ZXMuXG4gKi9cblxuXG52YXIgdmVuZG9yUHJlZml4ZXMgPSB7XG4gIGFuaW1hdGlvbmVuZDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvbkVuZCcpLFxuICBhbmltYXRpb25pdGVyYXRpb246IG1ha2VQcmVmaXhNYXAoJ0FuaW1hdGlvbicsICdBbmltYXRpb25JdGVyYXRpb24nKSxcbiAgYW5pbWF0aW9uc3RhcnQ6IG1ha2VQcmVmaXhNYXAoJ0FuaW1hdGlvbicsICdBbmltYXRpb25TdGFydCcpLFxuICB0cmFuc2l0aW9uZW5kOiBtYWtlUHJlZml4TWFwKCdUcmFuc2l0aW9uJywgJ1RyYW5zaXRpb25FbmQnKVxufTtcbi8qKlxuICogRXZlbnQgbmFtZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBkZXRlY3RlZCBhbmQgcHJlZml4ZWQgKGlmIGFwcGxpY2FibGUpLlxuICovXG5cbnZhciBwcmVmaXhlZEV2ZW50TmFtZXMgPSB7fTtcbi8qKlxuICogRWxlbWVudCB0byBjaGVjayBmb3IgcHJlZml4ZXMgb24uXG4gKi9cblxudmFyIHN0eWxlID0ge307XG4vKipcbiAqIEJvb3RzdHJhcCBpZiBhIERPTSBleGlzdHMuXG4gKi9cblxuaWYgKGNhblVzZURPTSkge1xuICBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLnN0eWxlOyAvLyBPbiBzb21lIHBsYXRmb3JtcywgaW4gcGFydGljdWxhciBzb21lIHJlbGVhc2VzIG9mIEFuZHJvaWQgNC54LFxuICAvLyB0aGUgdW4tcHJlZml4ZWQgXCJhbmltYXRpb25cIiBhbmQgXCJ0cmFuc2l0aW9uXCIgcHJvcGVydGllcyBhcmUgZGVmaW5lZCBvbiB0aGVcbiAgLy8gc3R5bGUgb2JqZWN0IGJ1dCB0aGUgZXZlbnRzIHRoYXQgZmlyZSB3aWxsIHN0aWxsIGJlIHByZWZpeGVkLCBzbyB3ZSBuZWVkXG4gIC8vIHRvIGNoZWNrIGlmIHRoZSB1bi1wcmVmaXhlZCBldmVudHMgYXJlIHVzYWJsZSwgYW5kIGlmIG5vdCByZW1vdmUgdGhlbSBmcm9tIHRoZSBtYXAuXG5cbiAgaWYgKCEoJ0FuaW1hdGlvbkV2ZW50JyBpbiB3aW5kb3cpKSB7XG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLmFuaW1hdGlvbmVuZC5hbmltYXRpb247XG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb247XG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbjtcbiAgfSAvLyBTYW1lIGFzIGFib3ZlXG5cblxuICBpZiAoISgnVHJhbnNpdGlvbkV2ZW50JyBpbiB3aW5kb3cpKSB7XG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbjtcbiAgfVxufVxuLyoqXG4gKiBBdHRlbXB0cyB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgdmVuZG9yIHByZWZpeGVkIGV2ZW50IG5hbWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKGV2ZW50TmFtZSkge1xuICBpZiAocHJlZml4ZWRFdmVudE5hbWVzW2V2ZW50TmFtZV0pIHtcbiAgICByZXR1cm4gcHJlZml4ZWRFdmVudE5hbWVzW2V2ZW50TmFtZV07XG4gIH0gZWxzZSBpZiAoIXZlbmRvclByZWZpeGVzW2V2ZW50TmFtZV0pIHtcbiAgICByZXR1cm4gZXZlbnROYW1lO1xuICB9XG5cbiAgdmFyIHByZWZpeE1hcCA9IHZlbmRvclByZWZpeGVzW2V2ZW50TmFtZV07XG5cbiAgZm9yICh2YXIgc3R5bGVQcm9wIGluIHByZWZpeE1hcCkge1xuICAgIGlmIChwcmVmaXhNYXAuaGFzT3duUHJvcGVydHkoc3R5bGVQcm9wKSAmJiBzdHlsZVByb3AgaW4gc3R5bGUpIHtcbiAgICAgIHJldHVybiBwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSA9IHByZWZpeE1hcFtzdHlsZVByb3BdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBldmVudE5hbWU7XG59XG5cbnZhciBBTklNQVRJT05fRU5EID0gZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoJ2FuaW1hdGlvbmVuZCcpO1xudmFyIEFOSU1BVElPTl9JVEVSQVRJT04gPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uaXRlcmF0aW9uJyk7XG52YXIgQU5JTUFUSU9OX1NUQVJUID0gZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoJ2FuaW1hdGlvbnN0YXJ0Jyk7XG52YXIgVFJBTlNJVElPTl9FTkQgPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgndHJhbnNpdGlvbmVuZCcpO1xuXG52YXIgdG9wTGV2ZWxFdmVudHNUb1JlYWN0TmFtZXMgPSBuZXcgTWFwKCk7IC8vIE5PVEU6IENhcGl0YWxpemF0aW9uIGlzIGltcG9ydGFudCBpbiB0aGlzIGxpc3QhXG4vL1xuLy8gRS5nLiBpdCBuZWVkcyBcInBvaW50ZXJEb3duXCIsIG5vdCBcInBvaW50ZXJkb3duXCIuXG4vLyBUaGlzIGlzIGJlY2F1c2Ugd2UgZGVyaXZlIGJvdGggUmVhY3QgbmFtZSAoXCJvblBvaW50ZXJEb3duXCIpXG4vLyBhbmQgRE9NIG5hbWUgKFwicG9pbnRlcmRvd25cIikgZnJvbSB0aGUgc2FtZSBsaXN0LlxuLy9cbi8vIEV4Y2VwdGlvbnMgdGhhdCBkb24ndCBtYXRjaCB0aGlzIGNvbnZlbnRpb24gYXJlIGxpc3RlZCBzZXBhcmF0ZWx5LlxuLy9cbi8vIHByZXR0aWVyLWlnbm9yZVxuXG52YXIgc2ltcGxlRXZlbnRQbHVnaW5FdmVudHMgPSBbJ2Fib3J0JywgJ2F1eENsaWNrJywgJ2NhbmNlbCcsICdjYW5QbGF5JywgJ2NhblBsYXlUaHJvdWdoJywgJ2NsaWNrJywgJ2Nsb3NlJywgJ2NvbnRleHRNZW51JywgJ2NvcHknLCAnY3V0JywgJ2RyYWcnLCAnZHJhZ0VuZCcsICdkcmFnRW50ZXInLCAnZHJhZ0V4aXQnLCAnZHJhZ0xlYXZlJywgJ2RyYWdPdmVyJywgJ2RyYWdTdGFydCcsICdkcm9wJywgJ2R1cmF0aW9uQ2hhbmdlJywgJ2VtcHRpZWQnLCAnZW5jcnlwdGVkJywgJ2VuZGVkJywgJ2Vycm9yJywgJ2dvdFBvaW50ZXJDYXB0dXJlJywgJ2lucHV0JywgJ2ludmFsaWQnLCAna2V5RG93bicsICdrZXlQcmVzcycsICdrZXlVcCcsICdsb2FkJywgJ2xvYWRlZERhdGEnLCAnbG9hZGVkTWV0YWRhdGEnLCAnbG9hZFN0YXJ0JywgJ2xvc3RQb2ludGVyQ2FwdHVyZScsICdtb3VzZURvd24nLCAnbW91c2VNb3ZlJywgJ21vdXNlT3V0JywgJ21vdXNlT3ZlcicsICdtb3VzZVVwJywgJ3Bhc3RlJywgJ3BhdXNlJywgJ3BsYXknLCAncGxheWluZycsICdwb2ludGVyQ2FuY2VsJywgJ3BvaW50ZXJEb3duJywgJ3BvaW50ZXJNb3ZlJywgJ3BvaW50ZXJPdXQnLCAncG9pbnRlck92ZXInLCAncG9pbnRlclVwJywgJ3Byb2dyZXNzJywgJ3JhdGVDaGFuZ2UnLCAncmVzZXQnLCAncmVzaXplJywgJ3NlZWtlZCcsICdzZWVraW5nJywgJ3N0YWxsZWQnLCAnc3VibWl0JywgJ3N1c3BlbmQnLCAndGltZVVwZGF0ZScsICd0b3VjaENhbmNlbCcsICd0b3VjaEVuZCcsICd0b3VjaFN0YXJ0JywgJ3ZvbHVtZUNoYW5nZScsICdzY3JvbGwnLCAnc2Nyb2xsRW5kJywgJ3RvZ2dsZScsICd0b3VjaE1vdmUnLCAnd2FpdGluZycsICd3aGVlbCddO1xuXG5mdW5jdGlvbiByZWdpc3RlclNpbXBsZUV2ZW50KGRvbUV2ZW50TmFtZSwgcmVhY3ROYW1lKSB7XG4gIHRvcExldmVsRXZlbnRzVG9SZWFjdE5hbWVzLnNldChkb21FdmVudE5hbWUsIHJlYWN0TmFtZSk7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudChyZWFjdE5hbWUsIFtkb21FdmVudE5hbWVdKTtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJTaW1wbGVFdmVudHMoKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc2ltcGxlRXZlbnRQbHVnaW5FdmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgZXZlbnROYW1lID0gc2ltcGxlRXZlbnRQbHVnaW5FdmVudHNbaV07XG4gICAgdmFyIGRvbUV2ZW50TmFtZSA9IGV2ZW50TmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHZhciBjYXBpdGFsaXplZEV2ZW50ID0gZXZlbnROYW1lWzBdLnRvVXBwZXJDYXNlKCkgKyBldmVudE5hbWUuc2xpY2UoMSk7XG4gICAgcmVnaXN0ZXJTaW1wbGVFdmVudChkb21FdmVudE5hbWUsICdvbicgKyBjYXBpdGFsaXplZEV2ZW50KTtcbiAgfSAvLyBTcGVjaWFsIGNhc2VzIHdoZXJlIGV2ZW50IG5hbWVzIGRvbid0IG1hdGNoLlxuXG5cbiAgcmVnaXN0ZXJTaW1wbGVFdmVudChBTklNQVRJT05fRU5ELCAnb25BbmltYXRpb25FbmQnKTtcbiAgcmVnaXN0ZXJTaW1wbGVFdmVudChBTklNQVRJT05fSVRFUkFUSU9OLCAnb25BbmltYXRpb25JdGVyYXRpb24nKTtcbiAgcmVnaXN0ZXJTaW1wbGVFdmVudChBTklNQVRJT05fU1RBUlQsICdvbkFuaW1hdGlvblN0YXJ0Jyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoJ2RibGNsaWNrJywgJ29uRG91YmxlQ2xpY2snKTtcbiAgcmVnaXN0ZXJTaW1wbGVFdmVudCgnZm9jdXNpbicsICdvbkZvY3VzJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoJ2ZvY3Vzb3V0JywgJ29uQmx1cicpO1xuICByZWdpc3RlclNpbXBsZUV2ZW50KFRSQU5TSVRJT05fRU5ELCAnb25UcmFuc2l0aW9uRW5kJyk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciByZWFjdE5hbWUgPSB0b3BMZXZlbEV2ZW50c1RvUmVhY3ROYW1lcy5nZXQoZG9tRXZlbnROYW1lKTtcblxuICBpZiAocmVhY3ROYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljRXZlbnQ7XG4gIHZhciByZWFjdEV2ZW50VHlwZSA9IGRvbUV2ZW50TmFtZTtcblxuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8vIEZpcmVmb3ggY3JlYXRlcyBhIGtleXByZXNzIGV2ZW50IGZvciBmdW5jdGlvbiBrZXlzIHRvby4gVGhpcyByZW1vdmVzXG4gICAgICAvLyB0aGUgdW53YW50ZWQga2V5cHJlc3MgZXZlbnRzLiBFbnRlciBpcyBob3dldmVyIGJvdGggcHJpbnRhYmxlIGFuZFxuICAgICAgLy8gbm9uLXByaW50YWJsZS4gT25lIHdvdWxkIGV4cGVjdCBUYWIgdG8gYmUgYXMgd2VsbCAoYnV0IGl0IGlzbid0KS5cbiAgICAgIC8vIFRPRE86IEZpeGVkIGluIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTk2ODA1Ni4gQ2FuXG4gICAgICAvLyBwcm9iYWJseSByZW1vdmUuXG4gICAgICBpZiAoZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCkgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljS2V5Ym9hcmRFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZm9jdXNpbic6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdmb2N1cyc7XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdibHVyJztcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY0ZvY3VzRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2JlZm9yZWJsdXInOlxuICAgIGNhc2UgJ2FmdGVyYmx1cic6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjbGljayc6XG4gICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBjbGljayBldmVudCBvbiByaWdodCBtb3VzZSBjbGlja3MuIFRoaXMgcmVtb3ZlcyB0aGVcbiAgICAgIC8vIHVud2FudGVkIGNsaWNrIGV2ZW50cy5cbiAgICAgIC8vIFRPRE86IEZpeGVkIGluIGh0dHBzOi8vcGhhYnJpY2F0b3Iuc2VydmljZXMubW96aWxsYS5jb20vRDI2NzkzLiBDYW5cbiAgICAgIC8vIHByb2JhYmx5IHJlbW92ZS5cbiAgICAgIGlmIChuYXRpdmVFdmVudC5idXR0b24gPT09IDIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2V1cCc6IC8vIFRPRE86IERpc2FibGVkIGVsZW1lbnRzIHNob3VsZCBub3QgcmVzcG9uZCB0byBtb3VzZSBldmVudHNcblxuICAgIC8qIGZhbGxzIHRocm91Z2ggKi9cblxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ2NvbnRleHRtZW51JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbmQnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ2RyYWdzdGFydCc6XG4gICAgY2FzZSAnZHJvcCc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNEcmFnRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd0b3VjaHN0YXJ0JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RvdWNoRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQU5JTUFUSU9OX0VORDpcbiAgICBjYXNlIEFOSU1BVElPTl9JVEVSQVRJT046XG4gICAgY2FzZSBBTklNQVRJT05fU1RBUlQ6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNBbmltYXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUUkFOU0lUSU9OX0VORDpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2Nyb2xsJzpcbiAgICBjYXNlICdzY3JvbGxlbmQnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljVUlFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnd2hlZWwnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljV2hlZWxFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnY29weSc6XG4gICAgY2FzZSAnY3V0JzpcbiAgICBjYXNlICdwYXN0ZSc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNDbGlwYm9hcmRFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZ290cG9pbnRlcmNhcHR1cmUnOlxuICAgIGNhc2UgJ2xvc3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgY2FzZSAncG9pbnRlcmNhbmNlbCc6XG4gICAgY2FzZSAncG9pbnRlcmRvd24nOlxuICAgIGNhc2UgJ3BvaW50ZXJtb3ZlJzpcbiAgICBjYXNlICdwb2ludGVyb3V0JzpcbiAgICBjYXNlICdwb2ludGVyb3Zlcic6XG4gICAgY2FzZSAncG9pbnRlcnVwJzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1BvaW50ZXJFdmVudDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgdmFyIGluQ2FwdHVyZVBoYXNlID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19DQVBUVVJFX1BIQVNFKSAhPT0gMDtcblxuICB7XG4gICAgLy8gU29tZSBldmVudHMgZG9uJ3QgYnViYmxlIGluIHRoZSBicm93c2VyLlxuICAgIC8vIEluIHRoZSBwYXN0LCBSZWFjdCBoYXMgYWx3YXlzIGJ1YmJsZWQgdGhlbSwgYnV0IHRoaXMgY2FuIGJlIHN1cnByaXNpbmcuXG4gICAgLy8gV2UncmUgZ29pbmcgdG8gdHJ5IGFsaWduaW5nIGNsb3NlciB0byB0aGUgYnJvd3NlciBiZWhhdmlvciBieSBub3QgYnViYmxpbmdcbiAgICAvLyB0aGVtIGluIFJlYWN0IGVpdGhlci4gV2UnbGwgc3RhcnQgYnkgbm90IGJ1YmJsaW5nIG9uU2Nyb2xsLCBhbmQgdGhlbiBleHBhbmQuXG4gICAgdmFyIGFjY3VtdWxhdGVUYXJnZXRPbmx5ID0gIWluQ2FwdHVyZVBoYXNlICYmICggLy8gVE9ETzogaWRlYWxseSwgd2UnZCBldmVudHVhbGx5IGFkZCBhbGwgZXZlbnRzIGZyb21cbiAgICAvLyBub25EZWxlZ2F0ZWRFdmVudHMgbGlzdCBpbiBET01QbHVnaW5FdmVudFN5c3RlbS5cbiAgICAvLyBUaGVuIHdlIGNhbiByZW1vdmUgdGhpcyBzcGVjaWFsIGxpc3QuXG4gICAgLy8gVGhpcyBpcyBhIGJyZWFraW5nIGNoYW5nZSB0aGF0IGNhbiB3YWl0IHVudGlsIFJlYWN0IDE4LlxuICAgIGRvbUV2ZW50TmFtZSA9PT0gJ3Njcm9sbCcgfHwgZG9tRXZlbnROYW1lID09PSAnc2Nyb2xsZW5kJyk7XG5cbiAgICB2YXIgX2xpc3RlbmVycyA9IGFjY3VtdWxhdGVTaW5nbGVQaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCByZWFjdE5hbWUsIG5hdGl2ZUV2ZW50LnR5cGUsIGluQ2FwdHVyZVBoYXNlLCBhY2N1bXVsYXRlVGFyZ2V0T25seSk7XG5cbiAgICBpZiAoX2xpc3RlbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBJbnRlbnRpb25hbGx5IGNyZWF0ZSBldmVudCBsYXppbHkuXG4gICAgICB2YXIgX2V2ZW50ID0gbmV3IFN5bnRoZXRpY0V2ZW50Q3RvcihyZWFjdE5hbWUsIHJlYWN0RXZlbnRUeXBlLCBudWxsLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuXG4gICAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgICBldmVudDogX2V2ZW50LFxuICAgICAgICBsaXN0ZW5lcnM6IF9saXN0ZW5lcnNcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5yZWdpc3RlclNpbXBsZUV2ZW50cygpO1xucmVnaXN0ZXJFdmVudHMkMSgpO1xucmVnaXN0ZXJFdmVudHMkMigpO1xucmVnaXN0ZXJFdmVudHMoKTtcbnJlZ2lzdGVyRXZlbnRzJDMoKTtcblxuZnVuY3Rpb24gZXh0cmFjdEV2ZW50cyhkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIC8vIFRPRE86IHdlIHNob3VsZCByZW1vdmUgdGhlIGNvbmNlcHQgb2YgYSBcIlNpbXBsZUV2ZW50UGx1Z2luXCIuXG4gIC8vIFRoaXMgaXMgdGhlIGJhc2ljIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGV2ZW50IHN5c3RlbS4gQWxsXG4gIC8vIHRoZSBvdGhlciBwbHVnaW5zIGFyZSBlc3NlbnRpYWxseSBwb2x5ZmlsbHMuIFNvIHRoZSBwbHVnaW5cbiAgLy8gc2hvdWxkIHByb2JhYmx5IGJlIGlubGluZWQgc29tZXdoZXJlIGFuZCBoYXZlIGl0cyBsb2dpY1xuICAvLyBiZSBjb3JlIHRoZSB0byBldmVudCBzeXN0ZW0uIFRoaXMgd291bGQgcG90ZW50aWFsbHkgYWxsb3dcbiAgLy8gdXMgdG8gc2hpcCBidWlsZHMgb2YgUmVhY3Qgd2l0aG91dCB0aGUgcG9seWZpbGxlZCBwbHVnaW5zIGJlbG93LlxuICBleHRyYWN0RXZlbnRzJDEoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpO1xuICB2YXIgc2hvdWxkUHJvY2Vzc1BvbHlmaWxsUGx1Z2lucyA9IChldmVudFN5c3RlbUZsYWdzICYgU0hPVUxEX05PVF9QUk9DRVNTX1BPTFlGSUxMX0VWRU5UX1BMVUdJTlMpID09PSAwOyAvLyBXZSBkb24ndCBwcm9jZXNzIHRoZXNlIGV2ZW50cyB1bmxlc3Mgd2UgYXJlIGluIHRoZVxuICAvLyBldmVudCdzIG5hdGl2ZSBcImJ1YmJsZVwiIHBoYXNlLCB3aGljaCBtZWFucyB0aGF0IHdlJ3JlXG4gIC8vIG5vdCBpbiB0aGUgY2FwdHVyZSBwaGFzZS4gVGhhdCdzIGJlY2F1c2Ugd2UgZW11bGF0ZVxuICAvLyB0aGUgY2FwdHVyZSBwaGFzZSBoZXJlIHN0aWxsLiBUaGlzIGlzIGEgdHJhZGUtb2ZmLFxuICAvLyBiZWNhdXNlIGluIGFuIGlkZWFsIHdvcmxkIHdlIHdvdWxkIG5vdCBlbXVsYXRlIGFuZCB1c2VcbiAgLy8gdGhlIHBoYXNlcyBwcm9wZXJseSwgbGlrZSB3ZSBkbyB3aXRoIHRoZSBTaW1wbGVFdmVudFxuICAvLyBwbHVnaW4uIEhvd2V2ZXIsIHRoZSBwbHVnaW5zIGJlbG93IGVpdGhlciBleHBlY3RcbiAgLy8gZW11bGF0aW9uIChFbnRlckxlYXZlKSBvciB1c2Ugc3RhdGUgbG9jYWxpemVkIHRvIHRoYXRcbiAgLy8gcGx1Z2luIChCZWZvcmVJbnB1dCwgQ2hhbmdlLCBTZWxlY3QpLiBUaGUgc3RhdGUgaW5cbiAgLy8gdGhlc2UgbW9kdWxlcyBjb21wbGljYXRlcyB0aGluZ3MsIGFzIHlvdSdsbCBlc3NlbnRpYWxseVxuICAvLyBnZXQgdGhlIGNhc2Ugd2hlcmUgdGhlIGNhcHR1cmUgcGhhc2UgZXZlbnQgbWlnaHQgY2hhbmdlXG4gIC8vIHN0YXRlLCBvbmx5IGZvciB0aGUgZm9sbG93aW5nIGJ1YmJsZSBldmVudCB0byBjb21lIGluXG4gIC8vIGxhdGVyIGFuZCBub3QgdHJpZ2dlciBhbnl0aGluZyBhcyB0aGUgc3RhdGUgbm93XG4gIC8vIGludmFsaWRhdGVzIHRoZSBoZXVyaXN0aWNzIG9mIHRoZSBldmVudCBwbHVnaW4uIFdlXG4gIC8vIGNvdWxkIGFsdGVyIGFsbCB0aGVzZSBwbHVnaW5zIHRvIHdvcmsgaW4gc3VjaCB3YXlzLCBidXRcbiAgLy8gdGhhdCBtaWdodCBjYXVzZSBvdGhlciB1bmtub3duIHNpZGUtZWZmZWN0cyB0aGF0IHdlXG4gIC8vIGNhbid0IGZvcmVzZWUgcmlnaHQgbm93LlxuXG4gIGlmIChzaG91bGRQcm9jZXNzUG9seWZpbGxQbHVnaW5zKSB7XG4gICAgZXh0cmFjdEV2ZW50cyQzKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBleHRyYWN0RXZlbnRzJDQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGV4dHJhY3RFdmVudHMkMihkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZXh0cmFjdEV2ZW50cyQ1KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcblxuICAgIHtcbiAgICAgIGV4dHJhY3RFdmVudHMkNihkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgfVxuICB9XG59IC8vIExpc3Qgb2YgZXZlbnRzIHRoYXQgbmVlZCB0byBiZSBpbmRpdmlkdWFsbHkgYXR0YWNoZWQgdG8gbWVkaWEgZWxlbWVudHMuXG5cblxudmFyIG1lZGlhRXZlbnRUeXBlcyA9IFsnYWJvcnQnLCAnY2FucGxheScsICdjYW5wbGF5dGhyb3VnaCcsICdkdXJhdGlvbmNoYW5nZScsICdlbXB0aWVkJywgJ2VuY3J5cHRlZCcsICdlbmRlZCcsICdlcnJvcicsICdsb2FkZWRkYXRhJywgJ2xvYWRlZG1ldGFkYXRhJywgJ2xvYWRzdGFydCcsICdwYXVzZScsICdwbGF5JywgJ3BsYXlpbmcnLCAncHJvZ3Jlc3MnLCAncmF0ZWNoYW5nZScsICdyZXNpemUnLCAnc2Vla2VkJywgJ3NlZWtpbmcnLCAnc3RhbGxlZCcsICdzdXNwZW5kJywgJ3RpbWV1cGRhdGUnLCAndm9sdW1lY2hhbmdlJywgJ3dhaXRpbmcnXTsgLy8gV2Ugc2hvdWxkIG5vdCBkZWxlZ2F0ZSB0aGVzZSBldmVudHMgdG8gdGhlIGNvbnRhaW5lciwgYnV0IHJhdGhlclxuLy8gc2V0IHRoZW0gb24gdGhlIGFjdHVhbCB0YXJnZXQgZWxlbWVudCBpdHNlbGYuIFRoaXMgaXMgcHJpbWFyaWx5XG4vLyBiZWNhdXNlIHRoZXNlIGV2ZW50cyBkbyBub3QgY29uc2lzdGVudGx5IGJ1YmJsZSBpbiB0aGUgRE9NLlxuXG52YXIgbm9uRGVsZWdhdGVkRXZlbnRzID0gbmV3IFNldChbJ2NhbmNlbCcsICdjbG9zZScsICdpbnZhbGlkJywgJ2xvYWQnLCAnc2Nyb2xsJywgJ3Njcm9sbGVuZCcsICd0b2dnbGUnXS5jb25jYXQobWVkaWFFdmVudFR5cGVzKSk7XG5cbmZ1bmN0aW9uIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpIHtcbiAgdmFyIHR5cGUgPSBldmVudC50eXBlIHx8ICd1bmtub3duLWV2ZW50JztcbiAgZXZlbnQuY3VycmVudFRhcmdldCA9IGN1cnJlbnRUYXJnZXQ7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0FuZENhdGNoRmlyc3RFcnJvcih0eXBlLCBsaXN0ZW5lciwgdW5kZWZpbmVkLCBldmVudCk7XG4gIGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzRGlzcGF0Y2hRdWV1ZUl0ZW1zSW5PcmRlcihldmVudCwgZGlzcGF0Y2hMaXN0ZW5lcnMsIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciBwcmV2aW91c0luc3RhbmNlO1xuXG4gIGlmIChpbkNhcHR1cmVQaGFzZSkge1xuICAgIGZvciAodmFyIGkgPSBkaXNwYXRjaExpc3RlbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdmFyIF9kaXNwYXRjaExpc3RlbmVycyRpID0gZGlzcGF0Y2hMaXN0ZW5lcnNbaV0sXG4gICAgICAgICAgaW5zdGFuY2UgPSBfZGlzcGF0Y2hMaXN0ZW5lcnMkaS5pbnN0YW5jZSxcbiAgICAgICAgICBjdXJyZW50VGFyZ2V0ID0gX2Rpc3BhdGNoTGlzdGVuZXJzJGkuY3VycmVudFRhcmdldCxcbiAgICAgICAgICBsaXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRpLmxpc3RlbmVyO1xuXG4gICAgICBpZiAoaW5zdGFuY2UgIT09IHByZXZpb3VzSW5zdGFuY2UgJiYgZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpO1xuICAgICAgcHJldmlvdXNJbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgZGlzcGF0Y2hMaXN0ZW5lcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2Rpc3BhdGNoTGlzdGVuZXJzJF9pID0gZGlzcGF0Y2hMaXN0ZW5lcnNbX2ldLFxuICAgICAgICAgIF9pbnN0YW5jZSA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5pbnN0YW5jZSxcbiAgICAgICAgICBfY3VycmVudFRhcmdldCA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5jdXJyZW50VGFyZ2V0LFxuICAgICAgICAgIF9saXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5saXN0ZW5lcjtcblxuICAgICAgaWYgKF9pbnN0YW5jZSAhPT0gcHJldmlvdXNJbnN0YW5jZSAmJiBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBfbGlzdGVuZXIsIF9jdXJyZW50VGFyZ2V0KTtcbiAgICAgIHByZXZpb3VzSW5zdGFuY2UgPSBfaW5zdGFuY2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGluQ2FwdHVyZVBoYXNlID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19DQVBUVVJFX1BIQVNFKSAhPT0gMDtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRpc3BhdGNoUXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgX2Rpc3BhdGNoUXVldWUkaSA9IGRpc3BhdGNoUXVldWVbaV0sXG4gICAgICAgIGV2ZW50ID0gX2Rpc3BhdGNoUXVldWUkaS5ldmVudCxcbiAgICAgICAgbGlzdGVuZXJzID0gX2Rpc3BhdGNoUXVldWUkaS5saXN0ZW5lcnM7XG4gICAgcHJvY2Vzc0Rpc3BhdGNoUXVldWVJdGVtc0luT3JkZXIoZXZlbnQsIGxpc3RlbmVycywgaW5DYXB0dXJlUGhhc2UpOyAvLyAgZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gIH0gLy8gVGhpcyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byByZXRocm93IGlmIGFueSBvZiB0aGUgZXZlbnQgaGFuZGxlcnMgdGhyZXcuXG5cblxuICByZXRocm93Q2F1Z2h0RXJyb3IoKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudHNGb3JQbHVnaW5zKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHRhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgbmF0aXZlRXZlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCk7XG4gIHZhciBkaXNwYXRjaFF1ZXVlID0gW107XG4gIGV4dHJhY3RFdmVudHMoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpO1xuICBwcm9jZXNzRGlzcGF0Y2hRdWV1ZShkaXNwYXRjaFF1ZXVlLCBldmVudFN5c3RlbUZsYWdzKTtcbn1cblxuZnVuY3Rpb24gbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEVsZW1lbnQpIHtcbiAge1xuICAgIGlmICghbm9uRGVsZWdhdGVkRXZlbnRzLmhhcyhkb21FdmVudE5hbWUpKSB7XG4gICAgICBlcnJvcignRGlkIG5vdCBleHBlY3QgYSBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCkgY2FsbCBmb3IgXCIlc1wiLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGRvbUV2ZW50TmFtZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIgPSBmYWxzZTtcbiAgdmFyIGxpc3RlbmVyU2V0ID0gZ2V0RXZlbnRMaXN0ZW5lclNldCh0YXJnZXRFbGVtZW50KTtcbiAgdmFyIGxpc3RlbmVyU2V0S2V5ID0gZ2V0TGlzdGVuZXJTZXRLZXkoZG9tRXZlbnROYW1lLCBpc0NhcHR1cmVQaGFzZUxpc3RlbmVyKTtcblxuICBpZiAoIWxpc3RlbmVyU2V0LmhhcyhsaXN0ZW5lclNldEtleSkpIHtcbiAgICBhZGRUcmFwcGVkRXZlbnRMaXN0ZW5lcih0YXJnZXRFbGVtZW50LCBkb21FdmVudE5hbWUsIElTX05PTl9ERUxFR0FURUQsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpO1xuICAgIGxpc3RlbmVyU2V0LmFkZChsaXN0ZW5lclNldEtleSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGxpc3RlblRvTmF0aXZlRXZlbnQoZG9tRXZlbnROYW1lLCBpc0NhcHR1cmVQaGFzZUxpc3RlbmVyLCB0YXJnZXQpIHtcbiAge1xuICAgIGlmIChub25EZWxlZ2F0ZWRFdmVudHMuaGFzKGRvbUV2ZW50TmFtZSkgJiYgIWlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpIHtcbiAgICAgIGVycm9yKCdEaWQgbm90IGV4cGVjdCBhIGxpc3RlblRvTmF0aXZlRXZlbnQoKSBjYWxsIGZvciBcIiVzXCIgaW4gdGhlIGJ1YmJsZSBwaGFzZS4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBkb21FdmVudE5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBldmVudFN5c3RlbUZsYWdzID0gMDtcblxuICBpZiAoaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgIGV2ZW50U3lzdGVtRmxhZ3MgfD0gSVNfQ0FQVFVSRV9QSEFTRTtcbiAgfVxuXG4gIGFkZFRyYXBwZWRFdmVudExpc3RlbmVyKHRhcmdldCwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBpc0NhcHR1cmVQaGFzZUxpc3RlbmVyKTtcbn0gLy8gVGhpcyBpcyBvbmx5IHVzZWQgYnkgY3JlYXRlRXZlbnRIYW5kbGUgd2hlbiB0aGVcbnZhciBsaXN0ZW5pbmdNYXJrZXIgPSAnX3JlYWN0TGlzdGVuaW5nJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpO1xuZnVuY3Rpb24gbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMocm9vdENvbnRhaW5lckVsZW1lbnQpIHtcbiAgaWYgKCFyb290Q29udGFpbmVyRWxlbWVudFtsaXN0ZW5pbmdNYXJrZXJdKSB7XG4gICAgcm9vdENvbnRhaW5lckVsZW1lbnRbbGlzdGVuaW5nTWFya2VyXSA9IHRydWU7XG4gICAgYWxsTmF0aXZlRXZlbnRzLmZvckVhY2goZnVuY3Rpb24gKGRvbUV2ZW50TmFtZSkge1xuICAgICAgLy8gV2UgaGFuZGxlIHNlbGVjdGlvbmNoYW5nZSBzZXBhcmF0ZWx5IGJlY2F1c2UgaXRcbiAgICAgIC8vIGRvZXNuJ3QgYnViYmxlIGFuZCBuZWVkcyB0byBiZSBvbiB0aGUgZG9jdW1lbnQuXG4gICAgICBpZiAoZG9tRXZlbnROYW1lICE9PSAnc2VsZWN0aW9uY2hhbmdlJykge1xuICAgICAgICBpZiAoIW5vbkRlbGVnYXRlZEV2ZW50cy5oYXMoZG9tRXZlbnROYW1lKSkge1xuICAgICAgICAgIGxpc3RlblRvTmF0aXZlRXZlbnQoZG9tRXZlbnROYW1lLCBmYWxzZSwgcm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGlzdGVuVG9OYXRpdmVFdmVudChkb21FdmVudE5hbWUsIHRydWUsIHJvb3RDb250YWluZXJFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB2YXIgb3duZXJEb2N1bWVudCA9IHJvb3RDb250YWluZXJFbGVtZW50Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gcm9vdENvbnRhaW5lckVsZW1lbnQgOiByb290Q29udGFpbmVyRWxlbWVudC5vd25lckRvY3VtZW50O1xuXG4gICAgaWYgKG93bmVyRG9jdW1lbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoZSBzZWxlY3Rpb25jaGFuZ2UgZXZlbnQgYWxzbyBuZWVkcyBkZWR1cGxpY2F0aW9uXG4gICAgICAvLyBidXQgaXQgaXMgYXR0YWNoZWQgdG8gdGhlIGRvY3VtZW50LlxuICAgICAgaWYgKCFvd25lckRvY3VtZW50W2xpc3RlbmluZ01hcmtlcl0pIHtcbiAgICAgICAgb3duZXJEb2N1bWVudFtsaXN0ZW5pbmdNYXJrZXJdID0gdHJ1ZTtcbiAgICAgICAgbGlzdGVuVG9OYXRpdmVFdmVudCgnc2VsZWN0aW9uY2hhbmdlJywgZmFsc2UsIG93bmVyRG9jdW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRUcmFwcGVkRXZlbnRMaXN0ZW5lcih0YXJnZXRDb250YWluZXIsIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgaXNDYXB0dXJlUGhhc2VMaXN0ZW5lciwgaXNEZWZlcnJlZExpc3RlbmVyRm9yTGVnYWN5RkJTdXBwb3J0KSB7XG4gIHZhciBsaXN0ZW5lciA9IGNyZWF0ZUV2ZW50TGlzdGVuZXJXcmFwcGVyV2l0aFByaW9yaXR5KHRhcmdldENvbnRhaW5lciwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzKTsgLy8gSWYgcGFzc2l2ZSBvcHRpb24gaXMgbm90IHN1cHBvcnRlZCwgdGhlbiB0aGUgZXZlbnQgd2lsbCBiZVxuICAvLyBhY3RpdmUgYW5kIG5vdCBwYXNzaXZlLlxuXG4gIHZhciBpc1Bhc3NpdmVMaXN0ZW5lciA9IHVuZGVmaW5lZDtcblxuICBpZiAocGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQpIHtcbiAgICAvLyBCcm93c2VycyBpbnRyb2R1Y2VkIGFuIGludGVydmVudGlvbiwgbWFraW5nIHRoZXNlIGV2ZW50c1xuICAgIC8vIHBhc3NpdmUgYnkgZGVmYXVsdCBvbiBkb2N1bWVudC4gUmVhY3QgZG9lc24ndCBiaW5kIHRoZW1cbiAgICAvLyB0byBkb2N1bWVudCBhbnltb3JlLCBidXQgY2hhbmdpbmcgdGhpcyBub3cgd291bGQgdW5kb1xuICAgIC8vIHRoZSBwZXJmb3JtYW5jZSB3aW5zIGZyb20gdGhlIGNoYW5nZS4gU28gd2UgZW11bGF0ZVxuICAgIC8vIHRoZSBleGlzdGluZyBiZWhhdmlvciBtYW51YWxseSBvbiB0aGUgcm9vdHMgbm93LlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTk2NTFcbiAgICBpZiAoZG9tRXZlbnROYW1lID09PSAndG91Y2hzdGFydCcgfHwgZG9tRXZlbnROYW1lID09PSAndG91Y2htb3ZlJyB8fCBkb21FdmVudE5hbWUgPT09ICd3aGVlbCcpIHtcbiAgICAgIGlzUGFzc2l2ZUxpc3RlbmVyID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0YXJnZXRDb250YWluZXIgPSB0YXJnZXRDb250YWluZXI7XG5cblxuICBpZiAoaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgIGlmIChpc1Bhc3NpdmVMaXN0ZW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhZGRFdmVudENhcHR1cmVMaXN0ZW5lcldpdGhQYXNzaXZlRmxhZyh0YXJnZXRDb250YWluZXIsIGRvbUV2ZW50TmFtZSwgbGlzdGVuZXIsIGlzUGFzc2l2ZUxpc3RlbmVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYWRkRXZlbnRDYXB0dXJlTGlzdGVuZXIodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGlzUGFzc2l2ZUxpc3RlbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFkZEV2ZW50QnViYmxlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyLCBpc1Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFkZEV2ZW50QnViYmxlTGlzdGVuZXIodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNNYXRjaGluZ1Jvb3RDb250YWluZXIoZ3JhbmRDb250YWluZXIsIHRhcmdldENvbnRhaW5lcikge1xuICByZXR1cm4gZ3JhbmRDb250YWluZXIgPT09IHRhcmdldENvbnRhaW5lciB8fCBncmFuZENvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFICYmIGdyYW5kQ29udGFpbmVyLnBhcmVudE5vZGUgPT09IHRhcmdldENvbnRhaW5lcjtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudEZvclBsdWdpbkV2ZW50U3lzdGVtKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHRhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgYW5jZXN0b3JJbnN0ID0gdGFyZ2V0SW5zdDtcblxuICBpZiAoKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19FVkVOVF9IQU5ETEVfTk9OX01BTkFHRURfTk9ERSkgPT09IDAgJiYgKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19OT05fREVMRUdBVEVEKSA9PT0gMCkge1xuICAgIHZhciB0YXJnZXRDb250YWluZXJOb2RlID0gdGFyZ2V0Q29udGFpbmVyOyAvLyBJZiB3ZSBhcmUgdXNpbmcgdGhlIGxlZ2FjeSBGQiBzdXBwb3J0IGZsYWcsIHdlXG5cbiAgICBpZiAodGFyZ2V0SW5zdCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhlIGJlbG93IGxvZ2ljIGF0dGVtcHRzIHRvIHdvcmsgb3V0IGlmIHdlIG5lZWQgdG8gY2hhbmdlXG4gICAgICAvLyB0aGUgdGFyZ2V0IGZpYmVyIHRvIGEgZGlmZmVyZW50IGFuY2VzdG9yLiBXZSBoYWQgc2ltaWxhciBsb2dpY1xuICAgICAgLy8gaW4gdGhlIGxlZ2FjeSBldmVudCBzeXN0ZW0sIGV4Y2VwdCB0aGUgYmlnIGRpZmZlcmVuY2UgYmV0d2VlblxuICAgICAgLy8gc3lzdGVtcyBpcyB0aGF0IHRoZSBtb2Rlcm4gZXZlbnQgc3lzdGVtIG5vdyBoYXMgYW4gZXZlbnQgbGlzdGVuZXJcbiAgICAgIC8vIGF0dGFjaGVkIHRvIGVhY2ggUmVhY3QgUm9vdCBhbmQgUmVhY3QgUG9ydGFsIFJvb3QuIFRvZ2V0aGVyLFxuICAgICAgLy8gdGhlIERPTSBub2RlcyByZXByZXNlbnRpbmcgdGhlc2Ugcm9vdHMgYXJlIHRoZSBcInJvb3RDb250YWluZXJcIi5cbiAgICAgIC8vIFRvIGZpZ3VyZSBvdXQgd2hpY2ggYW5jZXN0b3IgaW5zdGFuY2Ugd2Ugc2hvdWxkIHVzZSwgd2UgdHJhdmVyc2VcbiAgICAgIC8vIHVwIHRoZSBmaWJlciB0cmVlIGZyb20gdGhlIHRhcmdldCBpbnN0YW5jZSBhbmQgYXR0ZW1wdCB0byBmaW5kXG4gICAgICAvLyByb290IGJvdW5kYXJpZXMgdGhhdCBtYXRjaCB0aGF0IG9mIG91ciBjdXJyZW50IFwicm9vdENvbnRhaW5lclwiLlxuICAgICAgLy8gSWYgd2UgZmluZCB0aGF0IFwicm9vdENvbnRhaW5lclwiLCB3ZSBmaW5kIHRoZSBwYXJlbnQgZmliZXJcbiAgICAgIC8vIHN1Yi10cmVlIGZvciB0aGF0IHJvb3QgYW5kIG1ha2UgdGhhdCBvdXIgYW5jZXN0b3IgaW5zdGFuY2UuXG4gICAgICB2YXIgbm9kZSA9IHRhcmdldEluc3Q7XG5cbiAgICAgIG1haW5Mb29wOiB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBpZiAobm9kZSA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBub2RlVGFnID0gbm9kZS50YWc7XG5cbiAgICAgICAgaWYgKG5vZGVUYWcgPT09IEhvc3RSb290IHx8IG5vZGVUYWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgICB2YXIgY29udGFpbmVyID0gbm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcblxuICAgICAgICAgIGlmIChpc01hdGNoaW5nUm9vdENvbnRhaW5lcihjb250YWluZXIsIHRhcmdldENvbnRhaW5lck5vZGUpKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobm9kZVRhZyA9PT0gSG9zdFBvcnRhbCkge1xuICAgICAgICAgICAgLy8gVGhlIHRhcmdldCBpcyBhIHBvcnRhbCwgYnV0IGl0J3Mgbm90IHRoZSByb290Q29udGFpbmVyIHdlJ3JlIGxvb2tpbmcgZm9yLlxuICAgICAgICAgICAgLy8gTm9ybWFsbHkgcG9ydGFscyBoYW5kbGUgdGhlaXIgb3duIGV2ZW50cyBhbGwgdGhlIHdheSBkb3duIHRvIHRoZSByb290LlxuICAgICAgICAgICAgLy8gU28gd2Ugc2hvdWxkIGJlIGFibGUgdG8gc3RvcCBub3cuIEhvd2V2ZXIsIHdlIGRvbid0IGtub3cgaWYgdGhpcyBwb3J0YWxcbiAgICAgICAgICAgIC8vIHdhcyBwYXJ0IG9mICpvdXIqIHJvb3QuXG4gICAgICAgICAgICB2YXIgZ3JhbmROb2RlID0gbm9kZS5yZXR1cm47XG5cbiAgICAgICAgICAgIHdoaWxlIChncmFuZE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmFyIGdyYW5kVGFnID0gZ3JhbmROb2RlLnRhZztcblxuICAgICAgICAgICAgICBpZiAoZ3JhbmRUYWcgPT09IEhvc3RSb290IHx8IGdyYW5kVGFnID09PSBIb3N0UG9ydGFsKSB7XG4gICAgICAgICAgICAgICAgdmFyIGdyYW5kQ29udGFpbmVyID0gZ3JhbmROb2RlLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzTWF0Y2hpbmdSb290Q29udGFpbmVyKGdyYW5kQ29udGFpbmVyLCB0YXJnZXRDb250YWluZXJOb2RlKSkge1xuICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgcm9vdENvbnRhaW5lciB3ZSdyZSBsb29raW5nIGZvciBhbmQgd2UgZm91bmQgaXQgYXNcbiAgICAgICAgICAgICAgICAgIC8vIGEgcGFyZW50IG9mIHRoZSBQb3J0YWwuIFRoYXQgbWVhbnMgd2UgY2FuIGlnbm9yZSBpdCBiZWNhdXNlIHRoZVxuICAgICAgICAgICAgICAgICAgLy8gUG9ydGFsIHdpbGwgYnViYmxlIHRocm91Z2ggdG8gdXMuXG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZ3JhbmROb2RlID0gZ3JhbmROb2RlLnJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IC8vIE5vdyB3ZSBuZWVkIHRvIGZpbmQgaXQncyBjb3JyZXNwb25kaW5nIGhvc3QgZmliZXIgaW4gdGhlIG90aGVyXG4gICAgICAgICAgLy8gdHJlZS4gVG8gZG8gdGhpcyB3ZSBjYW4gdXNlIGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlLCBidXQgd2VcbiAgICAgICAgICAvLyBuZWVkIHRvIHZhbGlkYXRlIHRoYXQgdGhlIGZpYmVyIGlzIGEgaG9zdCBpbnN0YW5jZSwgb3RoZXJ3aXNlXG4gICAgICAgICAgLy8gd2UgbmVlZCB0byB0cmF2ZXJzZSB1cCB0aHJvdWdoIHRoZSBET00gdGlsbCB3ZSBmaW5kIHRoZSBjb3JyZWN0XG4gICAgICAgICAgLy8gbm9kZSB0aGF0IGlzIGZyb20gdGhlIG90aGVyIHRyZWUuXG5cblxuICAgICAgICAgIHdoaWxlIChjb250YWluZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBwYXJlbnROb2RlID0gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUoY29udGFpbmVyKTtcblxuICAgICAgICAgICAgaWYgKHBhcmVudE5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgcGFyZW50VGFnID0gcGFyZW50Tm9kZS50YWc7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRUYWcgPT09IEhvc3RDb21wb25lbnQgfHwgcGFyZW50VGFnID09PSBIb3N0VGV4dCB8fCAocGFyZW50VGFnID09PSBIb3N0SG9pc3RhYmxlICkgfHwgcGFyZW50VGFnID09PSBIb3N0U2luZ2xldG9uKSB7XG4gICAgICAgICAgICAgIG5vZGUgPSBhbmNlc3Rvckluc3QgPSBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICBjb250aW51ZSBtYWluTG9vcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGFpbmVyID0gY29udGFpbmVyLnBhcmVudE5vZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJhdGNoZWRVcGRhdGVzKGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gZGlzcGF0Y2hFdmVudHNGb3JQbHVnaW5zKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIGFuY2VzdG9ySW5zdCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBsaXN0ZW5lciwgY3VycmVudFRhcmdldCkge1xuICByZXR1cm4ge1xuICAgIGluc3RhbmNlOiBpbnN0YW5jZSxcbiAgICBsaXN0ZW5lcjogbGlzdGVuZXIsXG4gICAgY3VycmVudFRhcmdldDogY3VycmVudFRhcmdldFxuICB9O1xufVxuXG5mdW5jdGlvbiBhY2N1bXVsYXRlU2luZ2xlUGhhc2VMaXN0ZW5lcnModGFyZ2V0RmliZXIsIHJlYWN0TmFtZSwgbmF0aXZlRXZlbnRUeXBlLCBpbkNhcHR1cmVQaGFzZSwgYWNjdW11bGF0ZVRhcmdldE9ubHksIG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBjYXB0dXJlTmFtZSA9IHJlYWN0TmFtZSAhPT0gbnVsbCA/IHJlYWN0TmFtZSArICdDYXB0dXJlJyA6IG51bGw7XG4gIHZhciByZWFjdEV2ZW50TmFtZSA9IGluQ2FwdHVyZVBoYXNlID8gY2FwdHVyZU5hbWUgOiByZWFjdE5hbWU7XG4gIHZhciBsaXN0ZW5lcnMgPSBbXTtcbiAgdmFyIGluc3RhbmNlID0gdGFyZ2V0RmliZXI7XG4gIHZhciBsYXN0SG9zdENvbXBvbmVudCA9IG51bGw7IC8vIEFjY3VtdWxhdGUgYWxsIGluc3RhbmNlcyBhbmQgbGlzdGVuZXJzIHZpYSB0aGUgdGFyZ2V0IC0+IHJvb3QgcGF0aC5cblxuICB3aGlsZSAoaW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICB2YXIgX2luc3RhbmNlMiA9IGluc3RhbmNlLFxuICAgICAgICBzdGF0ZU5vZGUgPSBfaW5zdGFuY2UyLnN0YXRlTm9kZSxcbiAgICAgICAgdGFnID0gX2luc3RhbmNlMi50YWc7IC8vIEhhbmRsZSBsaXN0ZW5lcnMgdGhhdCBhcmUgb24gSG9zdENvbXBvbmVudHMgKGkuZS4gPGRpdj4pXG5cbiAgICBpZiAoKHRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCAodGFnID09PSBIb3N0SG9pc3RhYmxlICkgfHwgdGFnID09PSBIb3N0U2luZ2xldG9uKSAmJiBzdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGxhc3RIb3N0Q29tcG9uZW50ID0gc3RhdGVOb2RlOyAvLyBjcmVhdGVFdmVudEhhbmRsZSBsaXN0ZW5lcnNcblxuXG4gICAgICBpZiAocmVhY3RFdmVudE5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlYWN0RXZlbnROYW1lKTtcblxuICAgICAgICBpZiAobGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICAgIGxpc3RlbmVycy5wdXNoKGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGxpc3RlbmVyLCBsYXN0SG9zdENvbXBvbmVudCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBJZiB3ZSBhcmUgb25seSBhY2N1bXVsYXRpbmcgZXZlbnRzIGZvciB0aGUgdGFyZ2V0LCB0aGVuIHdlIGRvbid0XG4gICAgLy8gY29udGludWUgdG8gcHJvcGFnYXRlIHRocm91Z2ggdGhlIFJlYWN0IGZpYmVyIHRyZWUgdG8gZmluZCBvdGhlclxuICAgIC8vIGxpc3RlbmVycy5cblxuXG4gICAgaWYgKGFjY3VtdWxhdGVUYXJnZXRPbmx5KSB7XG4gICAgICBicmVhaztcbiAgICB9IC8vIElmIHdlIGFyZSBwcm9jZXNzaW5nIHRoZSBvbkJlZm9yZUJsdXIgZXZlbnQsIHRoZW4gd2UgbmVlZCB0byB0YWtlXG5cbiAgICBpbnN0YW5jZSA9IGluc3RhbmNlLnJldHVybjtcbiAgfVxuXG4gIHJldHVybiBsaXN0ZW5lcnM7XG59IC8vIFdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGZ1bmN0aW9uIGZvcjpcbi8vIC0gQmVmb3JlSW5wdXRFdmVudFBsdWdpblxuLy8gLSBDaGFuZ2VFdmVudFBsdWdpblxuLy8gLSBTZWxlY3RFdmVudFBsdWdpblxuLy8gVGhpcyBpcyBiZWNhdXNlIHdlIG9ubHkgcHJvY2VzcyB0aGVzZSBwbHVnaW5zXG4vLyBpbiB0aGUgYnViYmxlIHBoYXNlLCBzbyB3ZSBuZWVkIHRvIGFjY3VtdWxhdGUgdHdvXG4vLyBwaGFzZSBldmVudCBsaXN0ZW5lcnMgKHZpYSBlbXVsYXRpb24pLlxuXG5mdW5jdGlvbiBhY2N1bXVsYXRlVHdvUGhhc2VMaXN0ZW5lcnModGFyZ2V0RmliZXIsIHJlYWN0TmFtZSkge1xuICB2YXIgY2FwdHVyZU5hbWUgPSByZWFjdE5hbWUgKyAnQ2FwdHVyZSc7XG4gIHZhciBsaXN0ZW5lcnMgPSBbXTtcbiAgdmFyIGluc3RhbmNlID0gdGFyZ2V0RmliZXI7IC8vIEFjY3VtdWxhdGUgYWxsIGluc3RhbmNlcyBhbmQgbGlzdGVuZXJzIHZpYSB0aGUgdGFyZ2V0IC0+IHJvb3QgcGF0aC5cblxuICB3aGlsZSAoaW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICB2YXIgX2luc3RhbmNlMyA9IGluc3RhbmNlLFxuICAgICAgICBzdGF0ZU5vZGUgPSBfaW5zdGFuY2UzLnN0YXRlTm9kZSxcbiAgICAgICAgdGFnID0gX2luc3RhbmNlMy50YWc7IC8vIEhhbmRsZSBsaXN0ZW5lcnMgdGhhdCBhcmUgb24gSG9zdENvbXBvbmVudHMgKGkuZS4gPGRpdj4pXG5cbiAgICBpZiAoKHRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCAodGFnID09PSBIb3N0SG9pc3RhYmxlICkgfHwgdGFnID09PSBIb3N0U2luZ2xldG9uKSAmJiBzdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBjdXJyZW50VGFyZ2V0ID0gc3RhdGVOb2RlO1xuICAgICAgdmFyIGNhcHR1cmVMaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTmFtZSk7XG5cbiAgICAgIGlmIChjYXB0dXJlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICBsaXN0ZW5lcnMudW5zaGlmdChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGJ1YmJsZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlYWN0TmFtZSk7XG5cbiAgICAgIGlmIChidWJibGVMaXN0ZW5lciAhPSBudWxsKSB7XG4gICAgICAgIGxpc3RlbmVycy5wdXNoKGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGJ1YmJsZUxpc3RlbmVyLCBjdXJyZW50VGFyZ2V0KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJzO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJlbnQoaW5zdCkge1xuICBpZiAoaW5zdCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZG8ge1xuICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuICAgIGluc3QgPSBpbnN0LnJldHVybjsgLy8gVE9ETzogSWYgdGhpcyBpcyBhIEhvc3RSb290IHdlIG1pZ2h0IHdhbnQgdG8gYmFpbCBvdXQuXG4gICAgLy8gVGhhdCBpcyBkZXBlbmRpbmcgb24gaWYgd2Ugd2FudCBuZXN0ZWQgc3VidHJlZXMgKGxheWVycykgdG8gYnViYmxlXG4gICAgLy8gZXZlbnRzIHRvIHRoZWlyIHBhcmVudC4gV2UgY291bGQgYWxzbyBnbyB0aHJvdWdoIHBhcmVudE5vZGUgb24gdGhlXG4gICAgLy8gaG9zdCBub2RlIGJ1dCB0aGF0IHdvdWxkbid0IHdvcmsgZm9yIFJlYWN0IE5hdGl2ZSBhbmQgZG9lc24ndCBsZXQgdXNcbiAgICAvLyBkbyB0aGUgcG9ydGFsIGZlYXR1cmUuXG4gIH0gd2hpbGUgKGluc3QgJiYgaW5zdC50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgaW5zdC50YWcgIT09IEhvc3RTaW5nbGV0b24pO1xuXG4gIGlmIChpbnN0KSB7XG4gICAgcmV0dXJuIGluc3Q7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogUmV0dXJuIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIEEgYW5kIEIsIG9yIG51bGwgaWYgdGhleSBhcmUgaW5cbiAqIGRpZmZlcmVudCB0cmVlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldExvd2VzdENvbW1vbkFuY2VzdG9yKGluc3RBLCBpbnN0Qikge1xuICB2YXIgbm9kZUEgPSBpbnN0QTtcbiAgdmFyIG5vZGVCID0gaW5zdEI7XG4gIHZhciBkZXB0aEEgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBBID0gbm9kZUE7IHRlbXBBOyB0ZW1wQSA9IGdldFBhcmVudCh0ZW1wQSkpIHtcbiAgICBkZXB0aEErKztcbiAgfVxuXG4gIHZhciBkZXB0aEIgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBCID0gbm9kZUI7IHRlbXBCOyB0ZW1wQiA9IGdldFBhcmVudCh0ZW1wQikpIHtcbiAgICBkZXB0aEIrKztcbiAgfSAvLyBJZiBBIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhBIC0gZGVwdGhCID4gMCkge1xuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBkZXB0aEEtLTtcbiAgfSAvLyBJZiBCIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhCIC0gZGVwdGhBID4gMCkge1xuICAgIG5vZGVCID0gZ2V0UGFyZW50KG5vZGVCKTtcbiAgICBkZXB0aEItLTtcbiAgfSAvLyBXYWxrIGluIGxvY2tzdGVwIHVudGlsIHdlIGZpbmQgYSBtYXRjaC5cblxuXG4gIHZhciBkZXB0aCA9IGRlcHRoQTtcblxuICB3aGlsZSAoZGVwdGgtLSkge1xuICAgIGlmIChub2RlQSA9PT0gbm9kZUIgfHwgbm9kZUIgIT09IG51bGwgJiYgbm9kZUEgPT09IG5vZGVCLmFsdGVybmF0ZSkge1xuICAgICAgcmV0dXJuIG5vZGVBO1xuICAgIH1cblxuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBub2RlQiA9IGdldFBhcmVudChub2RlQik7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVMaXN0ZW5lcnNGb3JFdmVudChkaXNwYXRjaFF1ZXVlLCBldmVudCwgdGFyZ2V0LCBjb21tb24sIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciByZWdpc3RyYXRpb25OYW1lID0gZXZlbnQuX3JlYWN0TmFtZTtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgaW5zdGFuY2UgPSB0YXJnZXQ7XG5cbiAgd2hpbGUgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgaWYgKGluc3RhbmNlID09PSBjb21tb24pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBfaW5zdGFuY2U0ID0gaW5zdGFuY2UsXG4gICAgICAgIGFsdGVybmF0ZSA9IF9pbnN0YW5jZTQuYWx0ZXJuYXRlLFxuICAgICAgICBzdGF0ZU5vZGUgPSBfaW5zdGFuY2U0LnN0YXRlTm9kZSxcbiAgICAgICAgdGFnID0gX2luc3RhbmNlNC50YWc7XG5cbiAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZSA9PT0gY29tbW9uKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAoKHRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCAodGFnID09PSBIb3N0SG9pc3RhYmxlICkgfHwgdGFnID09PSBIb3N0U2luZ2xldG9uKSAmJiBzdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBjdXJyZW50VGFyZ2V0ID0gc3RhdGVOb2RlO1xuXG4gICAgICBpZiAoaW5DYXB0dXJlUGhhc2UpIHtcbiAgICAgICAgdmFyIGNhcHR1cmVMaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCByZWdpc3RyYXRpb25OYW1lKTtcblxuICAgICAgICBpZiAoY2FwdHVyZUxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgICAgICBsaXN0ZW5lcnMudW5zaGlmdChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICghaW5DYXB0dXJlUGhhc2UpIHtcbiAgICAgICAgdmFyIGJ1YmJsZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuXG4gICAgICAgIGlmIChidWJibGVMaXN0ZW5lciAhPSBudWxsKSB7XG4gICAgICAgICAgbGlzdGVuZXJzLnB1c2goY3JlYXRlRGlzcGF0Y2hMaXN0ZW5lcihpbnN0YW5jZSwgYnViYmxlTGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGluc3RhbmNlID0gaW5zdGFuY2UucmV0dXJuO1xuICB9XG5cbiAgaWYgKGxpc3RlbmVycy5sZW5ndGggIT09IDApIHtcbiAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNcbiAgICB9KTtcbiAgfVxufSAvLyBXZSBzaG91bGQgb25seSB1c2UgdGhpcyBmdW5jdGlvbiBmb3I6XG4vLyAtIEVudGVyTGVhdmVFdmVudFBsdWdpblxuLy8gVGhpcyBpcyBiZWNhdXNlIHdlIG9ubHkgcHJvY2VzcyB0aGlzIHBsdWdpblxuLy8gaW4gdGhlIGJ1YmJsZSBwaGFzZSwgc28gd2UgbmVlZCB0byBhY2N1bXVsYXRlIHR3b1xuLy8gcGhhc2UgZXZlbnQgbGlzdGVuZXJzLlxuXG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVFbnRlckxlYXZlVHdvUGhhc2VMaXN0ZW5lcnMoZGlzcGF0Y2hRdWV1ZSwgbGVhdmVFdmVudCwgZW50ZXJFdmVudCwgZnJvbSwgdG8pIHtcbiAgdmFyIGNvbW1vbiA9IGZyb20gJiYgdG8gPyBnZXRMb3dlc3RDb21tb25BbmNlc3Rvcihmcm9tLCB0bykgOiBudWxsO1xuXG4gIGlmIChmcm9tICE9PSBudWxsKSB7XG4gICAgYWNjdW11bGF0ZUVudGVyTGVhdmVMaXN0ZW5lcnNGb3JFdmVudChkaXNwYXRjaFF1ZXVlLCBsZWF2ZUV2ZW50LCBmcm9tLCBjb21tb24sIGZhbHNlKTtcbiAgfVxuXG4gIGlmICh0byAhPT0gbnVsbCAmJiBlbnRlckV2ZW50ICE9PSBudWxsKSB7XG4gICAgYWNjdW11bGF0ZUVudGVyTGVhdmVMaXN0ZW5lcnNGb3JFdmVudChkaXNwYXRjaFF1ZXVlLCBlbnRlckV2ZW50LCB0bywgY29tbW9uLCB0cnVlKTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0TGlzdGVuZXJTZXRLZXkoZG9tRXZlbnROYW1lLCBjYXB0dXJlKSB7XG4gIHJldHVybiBkb21FdmVudE5hbWUgKyBcIl9fXCIgKyAoY2FwdHVyZSA/ICdjYXB0dXJlJyA6ICdidWJibGUnKTtcbn1cblxudmFyIGRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQgPSBmYWxzZTtcbnZhciBkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkID0gZmFsc2U7XG52YXIgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSBmYWxzZTtcbnZhciBkaWRXYXJuRm9ybUFjdGlvblR5cGUgPSBmYWxzZTtcbnZhciBkaWRXYXJuRm9ybUFjdGlvbk5hbWUgPSBmYWxzZTtcbnZhciBkaWRXYXJuRm9ybUFjdGlvblRhcmdldCA9IGZhbHNlO1xudmFyIGRpZFdhcm5Gb3JtQWN0aW9uTWV0aG9kID0gZmFsc2U7XG52YXIgY2FuRGlmZlN0eWxlRm9ySHlkcmF0aW9uV2FybmluZztcblxue1xuICAvLyBJRSAxMSBwYXJzZXMgJiBub3JtYWxpemVzIHRoZSBzdHlsZSBhdHRyaWJ1dGUgYXMgb3Bwb3NlZCB0byBvdGhlclxuICAvLyBicm93c2Vycy4gSXQgYWRkcyBzcGFjZXMgYW5kIHNvcnRzIHRoZSBwcm9wZXJ0aWVzIGluIHNvbWVcbiAgLy8gbm9uLWFscGhhYmV0aWNhbCBvcmRlci4gSGFuZGxpbmcgdGhhdCB3b3VsZCByZXF1aXJlIHNvcnRpbmcgQ1NTXG4gIC8vIHByb3BlcnRpZXMgaW4gdGhlIGNsaWVudCAmIHNlcnZlciB2ZXJzaW9ucyBvciBhcHBseWluZ1xuICAvLyBgZXhwZWN0ZWRTdHlsZWAgdG8gYSB0ZW1wb3JhcnkgRE9NIG5vZGUgdG8gcmVhZCBpdHMgYHN0eWxlYCBhdHRyaWJ1dGVcbiAgLy8gbm9ybWFsaXplZC4gU2luY2UgaXQgb25seSBhZmZlY3RzIElFLCB3ZSdyZSBza2lwcGluZyBzdHlsZSB3YXJuaW5nc1xuICAvLyBpbiB0aGF0IGJyb3dzZXIgY29tcGxldGVseSBpbiBmYXZvciBvZiBkb2luZyBhbGwgdGhhdCB3b3JrLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTgwN1xuICBjYW5EaWZmU3R5bGVGb3JIeWRyYXRpb25XYXJuaW5nID0gY2FuVXNlRE9NICYmICFkb2N1bWVudC5kb2N1bWVudE1vZGU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQodHlwZSwgcHJvcHMpIHtcbiAge1xuICAgIHZhbGlkYXRlUHJvcGVydGllcyQyKHR5cGUsIHByb3BzKTtcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXMkMSh0eXBlLCBwcm9wcyk7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzKHR5cGUsIHByb3BzLCB7XG4gICAgICByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzOiByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLFxuICAgICAgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lczogcG9zc2libGVSZWdpc3RyYXRpb25OYW1lc1xuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmNvbnRlbnRFZGl0YWJsZSAmJiAhcHJvcHMuc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nICYmIHByb3BzLmNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIGVycm9yKCdBIGNvbXBvbmVudCBpcyBgY29udGVudEVkaXRhYmxlYCBhbmQgY29udGFpbnMgYGNoaWxkcmVuYCBtYW5hZ2VkIGJ5ICcgKyAnUmVhY3QuIEl0IGlzIG5vdyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIGd1YXJhbnRlZSB0aGF0IG5vbmUgb2YgJyArICd0aG9zZSBub2RlcyBhcmUgdW5leHBlY3RlZGx5IG1vZGlmaWVkIG9yIGR1cGxpY2F0ZWQuIFRoaXMgaXMgJyArICdwcm9iYWJseSBub3QgaW50ZW50aW9uYWwuJyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlRm9ybUFjdGlvbkluRGV2ZWxvcG1lbnQodGFnLCBrZXksIHZhbHVlLCBwcm9wcykge1xuICB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSAnZm9ybScpIHtcbiAgICAgIGlmIChrZXkgPT09ICdmb3JtQWN0aW9uJykge1xuICAgICAgICBlcnJvcignWW91IGNhbiBvbmx5IHBhc3MgdGhlIGZvcm1BY3Rpb24gcHJvcCB0byA8aW5wdXQ+IG9yIDxidXR0b24+LiBVc2UgdGhlIGFjdGlvbiBwcm9wIG9uIDxmb3JtPi4nKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGlmICgocHJvcHMuZW5jVHlwZSAhPSBudWxsIHx8IHByb3BzLm1ldGhvZCAhPSBudWxsKSAmJiAhZGlkV2FybkZvcm1BY3Rpb25NZXRob2QpIHtcbiAgICAgICAgICBkaWRXYXJuRm9ybUFjdGlvbk1ldGhvZCA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignQ2Fubm90IHNwZWNpZnkgYSBlbmNUeXBlIG9yIG1ldGhvZCBmb3IgYSBmb3JtIHRoYXQgc3BlY2lmaWVzIGEgJyArICdmdW5jdGlvbiBhcyB0aGUgYWN0aW9uLiBSZWFjdCBwcm92aWRlcyB0aG9zZSBhdXRvbWF0aWNhbGx5LiAnICsgJ1RoZXkgd2lsbCBnZXQgb3ZlcnJpZGRlbi4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wcy50YXJnZXQgIT0gbnVsbCAmJiAhZGlkV2FybkZvcm1BY3Rpb25UYXJnZXQpIHtcbiAgICAgICAgICBkaWRXYXJuRm9ybUFjdGlvblRhcmdldCA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignQ2Fubm90IHNwZWNpZnkgYSB0YXJnZXQgZm9yIGEgZm9ybSB0aGF0IHNwZWNpZmllcyBhIGZ1bmN0aW9uIGFzIHRoZSBhY3Rpb24uICcgKyAnVGhlIGZ1bmN0aW9uIHdpbGwgYWx3YXlzIGJlIGV4ZWN1dGVkIGluIHRoZSBzYW1lIHdpbmRvdy4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGFnID09PSAnaW5wdXQnIHx8IHRhZyA9PT0gJ2J1dHRvbicpIHtcbiAgICAgIGlmIChrZXkgPT09ICdhY3Rpb24nKSB7XG4gICAgICAgIGVycm9yKCdZb3UgY2FuIG9ubHkgcGFzcyB0aGUgYWN0aW9uIHByb3AgdG8gPGZvcm0+LiBVc2UgdGhlIGZvcm1BY3Rpb24gcHJvcCBvbiA8aW5wdXQ+IG9yIDxidXR0b24+LicpO1xuICAgICAgfSBlbHNlIGlmICh0YWcgPT09ICdpbnB1dCcgJiYgcHJvcHMudHlwZSAhPT0gJ3N1Ym1pdCcgJiYgcHJvcHMudHlwZSAhPT0gJ2ltYWdlJyAmJiAhZGlkV2FybkZvcm1BY3Rpb25UeXBlKSB7XG4gICAgICAgIGRpZFdhcm5Gb3JtQWN0aW9uVHlwZSA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJ0FuIGlucHV0IGNhbiBvbmx5IHNwZWNpZnkgYSBmb3JtQWN0aW9uIGFsb25nIHdpdGggdHlwZT1cInN1Ym1pdFwiIG9yIHR5cGU9XCJpbWFnZVwiLicpO1xuICAgICAgfSBlbHNlIGlmICh0YWcgPT09ICdidXR0b24nICYmIHByb3BzLnR5cGUgIT0gbnVsbCAmJiBwcm9wcy50eXBlICE9PSAnc3VibWl0JyAmJiAhZGlkV2FybkZvcm1BY3Rpb25UeXBlKSB7XG4gICAgICAgIGRpZFdhcm5Gb3JtQWN0aW9uVHlwZSA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJ0EgYnV0dG9uIGNhbiBvbmx5IHNwZWNpZnkgYSBmb3JtQWN0aW9uIGFsb25nIHdpdGggdHlwZT1cInN1Ym1pdFwiIG9yIG5vIHR5cGUuJyk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBGdW5jdGlvbiBmb3JtIGFjdGlvbnMgY2Fubm90IGNvbnRyb2wgdGhlIGZvcm0gcHJvcGVydGllc1xuICAgICAgICBpZiAocHJvcHMubmFtZSAhPSBudWxsICYmICFkaWRXYXJuRm9ybUFjdGlvbk5hbWUpIHtcbiAgICAgICAgICBkaWRXYXJuRm9ybUFjdGlvbk5hbWUgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IGEgXCJuYW1lXCIgcHJvcCBmb3IgYSBidXR0b24gdGhhdCBzcGVjaWZpZXMgYSBmdW5jdGlvbiBhcyBhIGZvcm1BY3Rpb24uICcgKyAnUmVhY3QgbmVlZHMgaXQgdG8gZW5jb2RlIHdoaWNoIGFjdGlvbiBzaG91bGQgYmUgaW52b2tlZC4gSXQgd2lsbCBnZXQgb3ZlcnJpZGRlbi4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgocHJvcHMuZm9ybUVuY1R5cGUgIT0gbnVsbCB8fCBwcm9wcy5mb3JtTWV0aG9kICE9IG51bGwpICYmICFkaWRXYXJuRm9ybUFjdGlvbk1ldGhvZCkge1xuICAgICAgICAgIGRpZFdhcm5Gb3JtQWN0aW9uTWV0aG9kID0gdHJ1ZTtcblxuICAgICAgICAgIGVycm9yKCdDYW5ub3Qgc3BlY2lmeSBhIGZvcm1FbmNUeXBlIG9yIGZvcm1NZXRob2QgZm9yIGEgYnV0dG9uIHRoYXQgc3BlY2lmaWVzIGEgJyArICdmdW5jdGlvbiBhcyBhIGZvcm1BY3Rpb24uIFJlYWN0IHByb3ZpZGVzIHRob3NlIGF1dG9tYXRpY2FsbHkuIFRoZXkgd2lsbCBnZXQgb3ZlcnJpZGRlbi4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wcy5mb3JtVGFyZ2V0ICE9IG51bGwgJiYgIWRpZFdhcm5Gb3JtQWN0aW9uVGFyZ2V0KSB7XG4gICAgICAgICAgZGlkV2FybkZvcm1BY3Rpb25UYXJnZXQgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IGEgZm9ybVRhcmdldCBmb3IgYSBidXR0b24gdGhhdCBzcGVjaWZpZXMgYSBmdW5jdGlvbiBhcyBhIGZvcm1BY3Rpb24uICcgKyAnVGhlIGZ1bmN0aW9uIHdpbGwgYWx3YXlzIGJlIGV4ZWN1dGVkIGluIHRoZSBzYW1lIHdpbmRvdy4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoa2V5ID09PSAnYWN0aW9uJykge1xuICAgICAgICBlcnJvcignWW91IGNhbiBvbmx5IHBhc3MgdGhlIGFjdGlvbiBwcm9wIHRvIDxmb3JtPi4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yKCdZb3UgY2FuIG9ubHkgcGFzcyB0aGUgZm9ybUFjdGlvbiBwcm9wIHRvIDxpbnB1dD4gb3IgPGJ1dHRvbj4uJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wTmFtZSwgc2VydmVyVmFsdWUsIGNsaWVudFZhbHVlKSB7XG4gIHtcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoc2VydmVyVmFsdWUgPT09IGNsaWVudFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5vcm1hbGl6ZWRDbGllbnRWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShjbGllbnRWYWx1ZSk7XG4gICAgdmFyIG5vcm1hbGl6ZWRTZXJ2ZXJWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShzZXJ2ZXJWYWx1ZSk7XG5cbiAgICBpZiAobm9ybWFsaXplZFNlcnZlclZhbHVlID09PSBub3JtYWxpemVkQ2xpZW50VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignUHJvcCBgJXNgIGRpZCBub3QgbWF0Y2guIFNlcnZlcjogJXMgQ2xpZW50OiAlcycsIHByb3BOYW1lLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkU2VydmVyVmFsdWUpLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkQ2xpZW50VmFsdWUpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuRm9yRXh0cmFBdHRyaWJ1dGVzKGF0dHJpYnV0ZU5hbWVzKSB7XG4gIHtcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG4gICAgdmFyIG5hbWVzID0gW107XG4gICAgYXR0cmlidXRlTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICAgICAgbmFtZXMucHVzaChuYW1lKTtcbiAgICB9KTtcblxuICAgIGVycm9yKCdFeHRyYSBhdHRyaWJ1dGVzIGZyb20gdGhlIHNlcnZlcjogJXMnLCBuYW1lcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHJlZ2lzdHJhdGlvbk5hbWUsIGxpc3RlbmVyKSB7XG4gIHtcbiAgICBpZiAobGlzdGVuZXIgPT09IGZhbHNlKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgYCVzYCBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLCBpbnN0ZWFkIGdvdCBgZmFsc2VgLlxcblxcbicgKyAnSWYgeW91IHVzZWQgdG8gY29uZGl0aW9uYWxseSBvbWl0IGl0IHdpdGggJXM9e2NvbmRpdGlvbiAmJiB2YWx1ZX0sICcgKyAncGFzcyAlcz17Y29uZGl0aW9uID8gdmFsdWUgOiB1bmRlZmluZWR9IGluc3RlYWQuJywgcmVnaXN0cmF0aW9uTmFtZSwgcmVnaXN0cmF0aW9uTmFtZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBgJXNgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGEgdmFsdWUgb2YgYCVzYCB0eXBlLicsIHJlZ2lzdHJhdGlvbk5hbWUsIHR5cGVvZiBsaXN0ZW5lcik7XG4gICAgfVxuICB9XG59IC8vIFBhcnNlIHRoZSBIVE1MIGFuZCByZWFkIGl0IGJhY2sgdG8gbm9ybWFsaXplIHRoZSBIVE1MIHN0cmluZyBzbyB0aGF0IGl0XG4vLyBjYW4gYmUgdXNlZCBmb3IgY29tcGFyaXNvbi5cblxuXG5mdW5jdGlvbiBub3JtYWxpemVIVE1MKHBhcmVudCwgaHRtbCkge1xuICB7XG4gICAgLy8gV2UgY291bGQgaGF2ZSBjcmVhdGVkIGEgc2VwYXJhdGUgZG9jdW1lbnQgaGVyZSB0byBhdm9pZFxuICAgIC8vIHJlLWluaXRpYWxpemluZyBjdXN0b20gZWxlbWVudHMgaWYgdGhleSBleGlzdC4gQnV0IHRoaXMgYnJlYWtzXG4gICAgLy8gaG93IDxub3NjcmlwdD4gaXMgYmVpbmcgaGFuZGxlZC4gU28gd2UgdXNlIHRoZSBzYW1lIGRvY3VtZW50LlxuICAgIC8vIFNlZSB0aGUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMTE1Ny5cbiAgICB2YXIgdGVzdEVsZW1lbnQgPSBwYXJlbnQubmFtZXNwYWNlVVJJID09PSBNQVRIX05BTUVTUEFDRSB8fCBwYXJlbnQubmFtZXNwYWNlVVJJID09PSBTVkdfTkFNRVNQQUNFID8gcGFyZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHBhcmVudC5uYW1lc3BhY2VVUkksIHBhcmVudC50YWdOYW1lKSA6IHBhcmVudC5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocGFyZW50LnRhZ05hbWUpO1xuICAgIHRlc3RFbGVtZW50LmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHRlc3RFbGVtZW50LmlubmVySFRNTDtcbiAgfVxufSAvLyBIVE1MIHBhcnNpbmcgbm9ybWFsaXplcyBDUiBhbmQgQ1JMRiB0byBMRi5cbi8vIEl0IGFsc28gY2FuIHR1cm4gXFx1MDAwMCBpbnRvIFxcdUZGRkQgaW5zaWRlIGF0dHJpYnV0ZXMuXG4vLyBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvc2luZ2xlLXBhZ2UuaHRtbCNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW1cbi8vIElmIHdlIGhhdmUgYSBtaXNtYXRjaCwgaXQgbWlnaHQgYmUgY2F1c2VkIGJ5IHRoYXQuXG4vLyBXZSB3aWxsIHN0aWxsIHBhdGNoIHVwIGluIHRoaXMgY2FzZSBidXQgbm90IGZpcmUgdGhlIHdhcm5pbmcuXG5cblxudmFyIE5PUk1BTElaRV9ORVdMSU5FU19SRUdFWCA9IC9cXHJcXG4/L2c7XG52YXIgTk9STUFMSVpFX05VTExfQU5EX1JFUExBQ0VNRU5UX1JFR0VYID0gL1xcdTAwMDB8XFx1RkZGRC9nO1xuXG5mdW5jdGlvbiBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUobWFya3VwKSB7XG4gIHtcbiAgICBjaGVja0h0bWxTdHJpbmdDb2VyY2lvbihtYXJrdXApO1xuICB9XG5cbiAgdmFyIG1hcmt1cFN0cmluZyA9IHR5cGVvZiBtYXJrdXAgPT09ICdzdHJpbmcnID8gbWFya3VwIDogJycgKyBtYXJrdXA7XG4gIHJldHVybiBtYXJrdXBTdHJpbmcucmVwbGFjZShOT1JNQUxJWkVfTkVXTElORVNfUkVHRVgsICdcXG4nKS5yZXBsYWNlKE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCwgJycpO1xufVxuXG5mdW5jdGlvbiBjaGVja0ZvclVubWF0Y2hlZFRleHQoc2VydmVyVGV4dCwgY2xpZW50VGV4dCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldikge1xuICB2YXIgbm9ybWFsaXplZENsaWVudFRleHQgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoY2xpZW50VGV4dCk7XG4gIHZhciBub3JtYWxpemVkU2VydmVyVGV4dCA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShzZXJ2ZXJUZXh0KTtcblxuICBpZiAobm9ybWFsaXplZFNlcnZlclRleHQgPT09IG5vcm1hbGl6ZWRDbGllbnRUZXh0KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHNob3VsZFdhcm5EZXYpIHtcbiAgICB7XG4gICAgICBpZiAoIWRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignVGV4dCBjb250ZW50IGRpZCBub3QgbWF0Y2guIFNlcnZlcjogXCIlc1wiIENsaWVudDogXCIlc1wiJywgbm9ybWFsaXplZFNlcnZlclRleHQsIG5vcm1hbGl6ZWRDbGllbnRUZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoaXNDb25jdXJyZW50TW9kZSAmJiBlbmFibGVDbGllbnRSZW5kZXJGYWxsYmFja09uVGV4dE1pc21hdGNoKSB7XG4gICAgLy8gSW4gY29uY3VycmVudCByb290cywgd2UgdGhyb3cgd2hlbiB0aGVyZSdzIGEgdGV4dCBtaXNtYXRjaCBhbmQgcmV2ZXJ0IHRvXG4gICAgLy8gY2xpZW50IHJlbmRlcmluZywgdXAgdG8gdGhlIG5lYXJlc3QgU3VzcGVuc2UgYm91bmRhcnkuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdUZXh0IGNvbnRlbnQgZG9lcyBub3QgbWF0Y2ggc2VydmVyLXJlbmRlcmVkIEhUTUwuJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbm9vcCQxKCkge31cblxuZnVuY3Rpb24gdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQobm9kZSkge1xuICAvLyBNb2JpbGUgU2FmYXJpIGRvZXMgbm90IGZpcmUgcHJvcGVybHkgYnViYmxlIGNsaWNrIGV2ZW50cyBvblxuICAvLyBub24taW50ZXJhY3RpdmUgZWxlbWVudHMsIHdoaWNoIG1lYW5zIGRlbGVnYXRlZCBjbGljayBsaXN0ZW5lcnMgZG8gbm90XG4gIC8vIGZpcmUuIFRoZSB3b3JrYXJvdW5kIGZvciB0aGlzIGJ1ZyBpbnZvbHZlcyBhdHRhY2hpbmcgYW4gZW1wdHkgY2xpY2tcbiAgLy8gbGlzdGVuZXIgb24gdGhlIHRhcmdldCBub2RlLlxuICAvLyBodHRwczovL3d3dy5xdWlya3Ntb2RlLm9yZy9ibG9nL2FyY2hpdmVzLzIwMTAvMDkvY2xpY2tfZXZlbnRfZGVsLmh0bWxcbiAgLy8gSnVzdCBzZXQgaXQgdXNpbmcgdGhlIG9uY2xpY2sgcHJvcGVydHkgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIG1hbmFnZSBhbnlcbiAgLy8gYm9va2tlZXBpbmcgZm9yIGl0LiBOb3Qgc3VyZSBpZiB3ZSBuZWVkIHRvIGNsZWFyIGl0IHdoZW4gdGhlIGxpc3RlbmVyIGlzXG4gIC8vIHJlbW92ZWQuXG4gIC8vIFRPRE86IE9ubHkgZG8gdGhpcyBmb3IgdGhlIHJlbGV2YW50IFNhZmFyaXMgbWF5YmU/XG4gIG5vZGUub25jbGljayA9IG5vb3AkMTtcbn1cbnZhciB4bGlua05hbWVzcGFjZSA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJztcbnZhciB4bWxOYW1lc3BhY2UgPSAnaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlJztcblxuZnVuY3Rpb24gc2V0UHJvcChkb21FbGVtZW50LCB0YWcsIGtleSwgdmFsdWUsIHByb3BzLCBwcmV2VmFsdWUpIHtcbiAgc3dpdGNoIChrZXkpIHtcbiAgICBjYXNlICdjaGlsZHJlbic6XG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsaWRhdGVUZXh0TmVzdGluZyh2YWx1ZSwgdGFnKTtcbiAgICAgICAgICB9IC8vIEF2b2lkIHNldHRpbmcgaW5pdGlhbCB0ZXh0Q29udGVudCB3aGVuIHRoZSB0ZXh0IGlzIGVtcHR5LiBJbiBJRTExIHNldHRpbmdcbiAgICAgICAgICAvLyB0ZXh0Q29udGVudCBvbiBhIDx0ZXh0YXJlYT4gd2lsbCBjYXVzZSB0aGUgcGxhY2Vob2xkZXIgdG8gbm90XG4gICAgICAgICAgLy8gc2hvdyB3aXRoaW4gdGhlIDx0ZXh0YXJlYT4gdW50aWwgaXQgaGFzIGJlZW4gZm9jdXNlZCBhbmQgYmx1cnJlZCBhZ2Fpbi5cbiAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzY3MzEjaXNzdWVjb21tZW50LTI1NDg3NDU1M1xuXG5cbiAgICAgICAgICB2YXIgY2FuU2V0VGV4dENvbnRlbnQgPSB0YWcgIT09ICdib2R5JyAmJiAodGFnICE9PSAndGV4dGFyZWEnIHx8IHZhbHVlICE9PSAnJyk7XG5cbiAgICAgICAgICBpZiAoY2FuU2V0VGV4dENvbnRlbnQpIHtcbiAgICAgICAgICAgIHNldFRleHRDb250ZW50KGRvbUVsZW1lbnQsIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbGlkYXRlVGV4dE5lc3RpbmcoJycgKyB2YWx1ZSwgdGFnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgX2NhblNldFRleHRDb250ZW50ID0gdGFnICE9PSAnYm9keSc7XG5cbiAgICAgICAgICBpZiAoX2NhblNldFRleHRDb250ZW50KSB7XG4gICAgICAgICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCAnJyArIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAvLyBUaGVzZSBhcmUgdmVyeSBjb21tb24gcHJvcHMgYW5kIHRoZXJlZm9yZSBhcmUgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgc3dpdGNoLlxuICAgIC8vIFRPRE86IGFyaWEtbGFiZWwgaXMgYSB2ZXJ5IGNvbW1vbiBwcm9wIGJ1dCBhbGxvd3MgYm9vbGVhbnMgc28gaXMgbm90IGxpa2UgdGhlIG90aGVyc1xuICAgIC8vIGJ1dCBzaG91bGQgaWRlYWxseSBnbyBpbiB0aGlzIGxpc3QgdG9vLlxuXG4gICAgY2FzZSAnY2xhc3NOYW1lJzpcbiAgICAgIHNldFZhbHVlRm9yS25vd25BdHRyaWJ1dGUoZG9tRWxlbWVudCwgJ2NsYXNzJywgdmFsdWUpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0YWJJbmRleCc6XG4gICAgICAvLyBUaGlzIGhhcyB0byBiZSBjYXNlIHNlbnNpdGl2ZSBpbiBTVkcuXG4gICAgICBzZXRWYWx1ZUZvcktub3duQXR0cmlidXRlKGRvbUVsZW1lbnQsICd0YWJpbmRleCcsIHZhbHVlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZGlyJzpcbiAgICBjYXNlICdyb2xlJzpcbiAgICBjYXNlICd2aWV3Qm94JzpcbiAgICBjYXNlICd3aWR0aCc6XG4gICAgY2FzZSAnaGVpZ2h0JzpcbiAgICAgIHtcbiAgICAgICAgc2V0VmFsdWVGb3JLbm93bkF0dHJpYnV0ZShkb21FbGVtZW50LCBrZXksIHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdzdHlsZSc6XG4gICAgICB7XG4gICAgICAgIHNldFZhbHVlRm9yU3R5bGVzKGRvbUVsZW1lbnQsIHZhbHVlLCBwcmV2VmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAvLyBUaGVzZSBhdHRyaWJ1dGVzIGFjY2VwdCBVUkxzLiBUaGVzZSBtdXN0IG5vdCBhbGxvdyBqYXZhc2NyaXB0OiBVUkxTLlxuXG4gICAgY2FzZSAnc3JjJzpcbiAgICBjYXNlICdocmVmJzpcbiAgICAgIHtcblxuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIHZhbHVlID09PSAnc3ltYm9sJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgIGRvbUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gLy8gYHNldEF0dHJpYnV0ZWAgd2l0aCBvYmplY3RzIGJlY29tZXMgb25seSBgW29iamVjdF1gIGluIElFOC85LFxuICAgICAgICAvLyAoJycgKyB2YWx1ZSkgbWFrZXMgaXQgb3V0cHV0IHRoZSBjb3JyZWN0IHRvU3RyaW5nKCktdmFsdWUuXG5cblxuICAgICAgICB7XG4gICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwga2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBzYW5pdGl6ZWRWYWx1ZSA9IHNhbml0aXplVVJMKCcnICsgdmFsdWUpO1xuICAgICAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZShrZXksIHNhbml0aXplZFZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdhY3Rpb24nOlxuICAgIGNhc2UgJ2Zvcm1BY3Rpb24nOlxuICAgICAge1xuICAgICAgICAvLyBUT0RPOiBDb25zaWRlciBtb3ZpbmcgdGhlc2Ugc3BlY2lhbCBjYXNlcyB0byB0aGUgZm9ybSwgaW5wdXQgYW5kIGJ1dHRvbiB0YWdzLlxuICAgICAgICB7XG4gICAgICAgICAgdmFsaWRhdGVGb3JtQWN0aW9uSW5EZXZlbG9wbWVudCh0YWcsIGtleSwgdmFsdWUsIHByb3BzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBTZXQgYSBqYXZhc2NyaXB0IFVSTCB0aGF0IGRvZXNuJ3QgZG8gYW55dGhpbmcuIFdlIGRvbid0IGV4cGVjdCB0aGlzIHRvIGJlIGludm9rZWRcbiAgICAgICAgICAgIC8vIGJlY2F1c2Ugd2UnbGwgcHJldmVudERlZmF1bHQsIGJ1dCBpdCBjYW4gaGFwcGVuIGlmIGEgZm9ybSBpcyBtYW51YWxseSBzdWJtaXR0ZWQgb3JcbiAgICAgICAgICAgIC8vIGlmIHNvbWVvbmUgY2FsbHMgc3RvcFByb3BhZ2F0aW9uIGJlZm9yZSBSZWFjdCBnZXRzIHRoZSBldmVudC5cbiAgICAgICAgICAgIC8vIElmIENTUCBpcyB1c2VkIHRvIGJsb2NrIGphdmFzY3JpcHQ6IFVSTHMgdGhhdCdzIGZpbmUgdG9vLiBJdCBqdXN0IHdvbid0IHNob3cgdGhpc1xuICAgICAgICAgICAgLy8gZXJyb3IgbWVzc2FnZSBidXQgdGhlIFVSTCB3aWxsIGJlIGxvZ2dlZC5cbiAgICAgICAgICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKGtleSwgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNjcmlwdC11cmxcbiAgICAgICAgICAgIFwiamF2YXNjcmlwdDp0aHJvdyBuZXcgRXJyb3IoJ1wiICsgJ0EgUmVhY3QgZm9ybSB3YXMgdW5leHBlY3RlZGx5IHN1Ym1pdHRlZC4gSWYgeW91IGNhbGxlZCBmb3JtLnN1Ym1pdCgpIG1hbnVhbGx5LCAnICsgXCJjb25zaWRlciB1c2luZyBmb3JtLnJlcXVlc3RTdWJtaXQoKSBpbnN0ZWFkLiBJZiB5b3VcXFxcJ3JlIHRyeWluZyB0byB1c2UgXCIgKyAnZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgaW4gYSBzdWJtaXQgZXZlbnQgaGFuZGxlciwgY29uc2lkZXIgYWxzbyBjYWxsaW5nICcgKyAnZXZlbnQucHJldmVudERlZmF1bHQoKS4nICsgXCInKVwiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHByZXZWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSdyZSBzd2l0Y2hpbmcgb2ZmIGEgU2VydmVyIEFjdGlvbiB0aGF0IHdhcyBvcmlnaW5hbGx5IGh5ZHJhdGVkLlxuICAgICAgICAgICAgLy8gVGhlIHNlcnZlciBjb250cm9sIHRoZXNlIGZpZWxkcyBkdXJpbmcgU1NSIHRoYXQgYXJlIG5vdyB0cmFpbGluZy5cbiAgICAgICAgICAgIC8vIFRoZSByZWd1bGFyIGRpZmZpbmcgZG9lc24ndCBhcHBseSBzaW5jZSB3ZSBjb21wYXJlIGFnYWluc3QgdGhlIHByZXZpb3VzIHByb3BzLlxuICAgICAgICAgICAgLy8gSW5zdGVhZCwgd2UgbmVlZCB0byBmb3JjZSB0aGVtIHRvIGJlIHNldCB0byB3aGF0ZXZlciB0aGV5IHNob3VsZCBiZSBub3cuXG4gICAgICAgICAgICAvLyBUaGlzIHdvdWxkIGJlIGEgbG90IGNsZWFuZXIgaWYgd2UgZGlkIHRoaXMgd2hvbGUgZm9yayBpbiB0aGUgcGVyLXRhZyBhcHByb2FjaC5cbiAgICAgICAgICAgIGlmIChrZXkgPT09ICdmb3JtQWN0aW9uJykge1xuICAgICAgICAgICAgICBpZiAodGFnICE9PSAnaW5wdXQnKSB7XG4gICAgICAgICAgICAgICAgLy8gU2V0dGluZyB0aGUgbmFtZSBoZXJlIGlzbid0IGNvbXBsZXRlbHkgc2FmZSBmb3IgaW5wdXRzIGlmIHRoaXMgaXMgc3dpdGNoaW5nXG4gICAgICAgICAgICAgICAgLy8gdG8gYmVjb21lIGEgcmFkaW8gYnV0dG9uLiBJbiB0aGF0IGNhc2Ugd2UgbGV0IHRoZSB0YWcgYmFzZWQgb3ZlcnJpZGUgdGFrZVxuICAgICAgICAgICAgICAgIC8vIGNvbnRyb2wuXG4gICAgICAgICAgICAgICAgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsICduYW1lJywgcHJvcHMubmFtZSwgcHJvcHMsIG51bGwpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsICdmb3JtRW5jVHlwZScsIHByb3BzLmZvcm1FbmNUeXBlLCBwcm9wcywgbnVsbCk7XG4gICAgICAgICAgICAgIHNldFByb3AoZG9tRWxlbWVudCwgdGFnLCAnZm9ybU1ldGhvZCcsIHByb3BzLmZvcm1NZXRob2QsIHByb3BzLCBudWxsKTtcbiAgICAgICAgICAgICAgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsICdmb3JtVGFyZ2V0JywgcHJvcHMuZm9ybVRhcmdldCwgcHJvcHMsIG51bGwpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsICdlbmNUeXBlJywgcHJvcHMuZW5jVHlwZSwgcHJvcHMsIG51bGwpO1xuICAgICAgICAgICAgICBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgJ21ldGhvZCcsIHByb3BzLm1ldGhvZCwgcHJvcHMsIG51bGwpO1xuICAgICAgICAgICAgICBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgJ3RhcmdldCcsIHByb3BzLnRhcmdldCwgcHJvcHMsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8ICFlbmFibGVGb3JtQWN0aW9ucyAgfHwgdHlwZW9mIHZhbHVlID09PSAnc3ltYm9sJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgIGRvbUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gLy8gYHNldEF0dHJpYnV0ZWAgd2l0aCBvYmplY3RzIGJlY29tZXMgb25seSBgW29iamVjdF1gIGluIElFOC85LFxuICAgICAgICAvLyAoJycgKyB2YWx1ZSkgbWFrZXMgaXQgb3V0cHV0IHRoZSBjb3JyZWN0IHRvU3RyaW5nKCktdmFsdWUuXG5cblxuICAgICAgICB7XG4gICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwga2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfc2FuaXRpemVkVmFsdWUgPSBzYW5pdGl6ZVVSTCgnJyArIHZhbHVlKTtcblxuICAgICAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZShrZXksIF9zYW5pdGl6ZWRWYWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSAnb25DbGljayc6XG4gICAgICB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgY2FzdCBtYXkgbm90IGJlIHNvdW5kIGZvciBTVkcsIE1hdGhNTCBvciBjdXN0b20gZWxlbWVudHMuXG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKGtleSwgdmFsdWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRyYXBDbGlja09uTm9uSW50ZXJhY3RpdmVFbGVtZW50KGRvbUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdvblNjcm9sbCc6XG4gICAgICB7XG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKGtleSwgdmFsdWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3Njcm9sbCcsIGRvbUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdvblNjcm9sbEVuZCc6XG4gICAgICB7XG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKGtleSwgdmFsdWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3Njcm9sbGVuZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdkYW5nZXJvdXNseVNldElubmVySFRNTCc6XG4gICAgICB7XG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcgfHwgISgnX19odG1sJyBpbiB2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYCBtdXN0IGJlIGluIHRoZSBmb3JtIGB7X19odG1sOiAuLi59YC4gJyArICdQbGVhc2UgdmlzaXQgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Rhbmdlcm91c2x5LXNldC1pbm5lci1odG1sICcgKyAnZm9yIG1vcmUgaW5mb3JtYXRpb24uJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIG5leHRIdG1sID0gdmFsdWUuX19odG1sO1xuXG4gICAgICAgICAgaWYgKG5leHRIdG1sICE9IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5jaGlsZHJlbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG9ubHkgc2V0IG9uZSBvZiBgY2hpbGRyZW5gIG9yIGBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTGAuJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc2V0SW5uZXJIVE1MJDEoZG9tRWxlbWVudCwgbmV4dEh0bWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIC8vIE5vdGU6IGBvcHRpb24uc2VsZWN0ZWRgIGlzIG5vdCB1cGRhdGVkIGlmIGBzZWxlY3QubXVsdGlwbGVgIGlzXG4gICAgLy8gZGlzYWJsZWQgd2l0aCBgcmVtb3ZlQXR0cmlidXRlYC4gV2UgaGF2ZSBzcGVjaWFsIGxvZ2ljIGZvciBoYW5kbGluZyB0aGlzLlxuXG4gICAgY2FzZSAnbXVsdGlwbGUnOlxuICAgICAge1xuICAgICAgICBkb21FbGVtZW50Lm11bHRpcGxlID0gdmFsdWUgJiYgdHlwZW9mIHZhbHVlICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N5bWJvbCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSAnbXV0ZWQnOlxuICAgICAge1xuICAgICAgICBkb21FbGVtZW50Lm11dGVkID0gdmFsdWUgJiYgdHlwZW9mIHZhbHVlICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N5bWJvbCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJzpcbiAgICBjYXNlICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnOlxuICAgIGNhc2UgJ2RlZmF1bHRWYWx1ZSc6IC8vIFJlc2VydmVkXG5cbiAgICBjYXNlICdkZWZhdWx0Q2hlY2tlZCc6XG4gICAgY2FzZSAnaW5uZXJIVE1MJzpcbiAgICBjYXNlICdyZWYnOlxuICAgICAge1xuICAgICAgICAvLyBUT0RPOiBgcmVmYCBpcyBwcmV0dHkgY29tbW9uLCBzaG91bGQgd2UgbW92ZSBpdCB1cD9cbiAgICAgICAgLy8gTm9vcFxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2F1dG9Gb2N1cyc6XG4gICAgICB7XG4gICAgICAgIC8vIFdlIHBvbHlmaWxsIGl0IHNlcGFyYXRlbHkgb24gdGhlIGNsaWVudCBkdXJpbmcgY29tbWl0LlxuICAgICAgICAvLyBXZSBjb3VsZCBoYXZlIGV4Y2x1ZGVkIGl0IGluIHRoZSBwcm9wZXJ0eSBsaXN0IGluc3RlYWQgb2ZcbiAgICAgICAgLy8gYWRkaW5nIGEgc3BlY2lhbCBjYXNlIGhlcmUsIGJ1dCB0aGVuIGl0IHdvdWxkbid0IGJlIGVtaXR0ZWRcbiAgICAgICAgLy8gb24gc2VydmVyIHJlbmRlcmluZyAoYnV0IHdlICpkbyogd2FudCB0byBlbWl0IGl0IGluIFNTUikuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSAneGxpbmtIcmVmJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwgfHwgdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgICBkb21FbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgneGxpbms6aHJlZicpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IC8vIGBzZXRBdHRyaWJ1dGVgIHdpdGggb2JqZWN0cyBiZWNvbWVzIG9ubHkgYFtvYmplY3RdYCBpbiBJRTgvOSxcbiAgICAgICAgLy8gKCcnICsgdmFsdWUpIG1ha2VzIGl0IG91dHB1dCB0aGUgY29ycmVjdCB0b1N0cmluZygpLXZhbHVlLlxuXG5cbiAgICAgICAge1xuICAgICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24odmFsdWUsIGtleSk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgX3Nhbml0aXplZFZhbHVlMiA9IHNhbml0aXplVVJMKCcnICsgdmFsdWUpO1xuXG4gICAgICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlTlMoeGxpbmtOYW1lc3BhY2UsICd4bGluazpocmVmJywgX3Nhbml0aXplZFZhbHVlMik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSAnY29udGVudEVkaXRhYmxlJzpcbiAgICBjYXNlICdzcGVsbENoZWNrJzpcbiAgICBjYXNlICdkcmFnZ2FibGUnOlxuICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICBjYXNlICdhdXRvUmV2ZXJzZSc6XG4gICAgY2FzZSAnZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCc6XG4gICAgY2FzZSAnZm9jdXNhYmxlJzpcbiAgICBjYXNlICdwcmVzZXJ2ZUFscGhhJzpcbiAgICAgIHtcbiAgICAgICAgLy8gQm9vbGVhbmlzaCBTdHJpbmdcbiAgICAgICAgLy8gVGhlc2UgYXJlIFwiZW51bWVyYXRlZFwiIGF0dHJpYnV0ZXMgdGhhdCBhY2NlcHQgXCJ0cnVlXCIgYW5kIFwiZmFsc2VcIi5cbiAgICAgICAgLy8gSW4gUmVhY3QsIHdlIGxldCB1c2VycyBwYXNzIGB0cnVlYCBhbmQgYGZhbHNlYCBldmVuIHRob3VnaCB0ZWNobmljYWxseVxuICAgICAgICAvLyB0aGVzZSBhcmVuJ3QgYm9vbGVhbiBhdHRyaWJ1dGVzICh0aGV5IGFyZSBjb2VyY2VkIHRvIHN0cmluZ3MpLlxuICAgICAgICAvLyBUaGUgU1ZHIGF0dHJpYnV0ZXMgYXJlIGNhc2Utc2Vuc2l0aXZlLiBTaW5jZSB0aGUgSFRNTCBhdHRyaWJ1dGVzIGFyZVxuICAgICAgICAvLyBpbnNlbnNpdGl2ZSB0aGV5IGFsc28gd29yayBldmVuIHRob3VnaCB3ZSBjYW5vbmljYWxseSB1c2UgbG93ZXIgY2FzZS5cbiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKHZhbHVlLCBrZXkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKGtleSwgJycgKyB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZG9tRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIC8vIEJvb2xlYW5cblxuICAgIGNhc2UgJ2FsbG93RnVsbFNjcmVlbic6XG4gICAgY2FzZSAnYXN5bmMnOlxuICAgIGNhc2UgJ2F1dG9QbGF5JzpcbiAgICBjYXNlICdjb250cm9scyc6XG4gICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgY2FzZSAnZGVmZXInOlxuICAgIGNhc2UgJ2Rpc2FibGVkJzpcbiAgICBjYXNlICdkaXNhYmxlUGljdHVyZUluUGljdHVyZSc6XG4gICAgY2FzZSAnZGlzYWJsZVJlbW90ZVBsYXliYWNrJzpcbiAgICBjYXNlICdmb3JtTm9WYWxpZGF0ZSc6XG4gICAgY2FzZSAnaGlkZGVuJzpcbiAgICBjYXNlICdsb29wJzpcbiAgICBjYXNlICdub01vZHVsZSc6XG4gICAgY2FzZSAnbm9WYWxpZGF0ZSc6XG4gICAgY2FzZSAnb3Blbic6XG4gICAgY2FzZSAncGxheXNJbmxpbmUnOlxuICAgIGNhc2UgJ3JlYWRPbmx5JzpcbiAgICBjYXNlICdyZXF1aXJlZCc6XG4gICAgY2FzZSAncmV2ZXJzZWQnOlxuICAgIGNhc2UgJ3Njb3BlZCc6XG4gICAgY2FzZSAnc2VhbWxlc3MnOlxuICAgIGNhc2UgJ2l0ZW1TY29wZSc6XG4gICAgICB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHZhbHVlICE9PSAnc3ltYm9sJykge1xuICAgICAgICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKGtleSwgJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRvbUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAvLyBPdmVybG9hZGVkIEJvb2xlYW5cblxuICAgIGNhc2UgJ2NhcHR1cmUnOlxuICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgIHtcbiAgICAgICAgLy8gQW4gYXR0cmlidXRlIHRoYXQgY2FuIGJlIHVzZWQgYXMgYSBmbGFnIGFzIHdlbGwgYXMgd2l0aCBhIHZhbHVlLlxuICAgICAgICAvLyBXaGVuIHRydWUsIGl0IHNob3VsZCBiZSBwcmVzZW50IChzZXQgZWl0aGVyIHRvIGFuIGVtcHR5IHN0cmluZyBvciBpdHMgbmFtZSkuXG4gICAgICAgIC8vIFdoZW4gZmFsc2UsIGl0IHNob3VsZCBiZSBvbWl0dGVkLlxuICAgICAgICAvLyBGb3IgYW55IG90aGVyIHZhbHVlLCBzaG91bGQgYmUgcHJlc2VudCB3aXRoIHRoYXQgdmFsdWUuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKGtleSwgJycpO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlICE9PSBmYWxzZSAmJiB2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdzeW1ib2wnKSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwga2V5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb21FbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdjb2xzJzpcbiAgICBjYXNlICdyb3dzJzpcbiAgICBjYXNlICdzaXplJzpcbiAgICBjYXNlICdzcGFuJzpcbiAgICAgIHtcbiAgICAgICAgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgcG9zaXRpdmUgbnVtYmVycy5cbiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N5bWJvbCcgJiYgIWlzTmFOKHZhbHVlKSAmJiB2YWx1ZSA+PSAxKSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwga2V5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb21FbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdyb3dTcGFuJzpcbiAgICBjYXNlICdzdGFydCc6XG4gICAgICB7XG4gICAgICAgIC8vIFRoZXNlIGFyZSBIVE1MIGF0dHJpYnV0ZXMgdGhhdCBtdXN0IGJlIG51bWJlcnMuXG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdzeW1ib2wnICYmICFpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKHZhbHVlLCBrZXkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRvbUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ3hsaW5rQWN0dWF0ZSc6XG4gICAgICBzZXRWYWx1ZUZvck5hbWVzcGFjZWRBdHRyaWJ1dGUoZG9tRWxlbWVudCwgeGxpbmtOYW1lc3BhY2UsICd4bGluazphY3R1YXRlJywgdmFsdWUpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd4bGlua0FyY3JvbGUnOlxuICAgICAgc2V0VmFsdWVGb3JOYW1lc3BhY2VkQXR0cmlidXRlKGRvbUVsZW1lbnQsIHhsaW5rTmFtZXNwYWNlLCAneGxpbms6YXJjcm9sZScsIHZhbHVlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAneGxpbmtSb2xlJzpcbiAgICAgIHNldFZhbHVlRm9yTmFtZXNwYWNlZEF0dHJpYnV0ZShkb21FbGVtZW50LCB4bGlua05hbWVzcGFjZSwgJ3hsaW5rOnJvbGUnLCB2YWx1ZSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3hsaW5rU2hvdyc6XG4gICAgICBzZXRWYWx1ZUZvck5hbWVzcGFjZWRBdHRyaWJ1dGUoZG9tRWxlbWVudCwgeGxpbmtOYW1lc3BhY2UsICd4bGluazpzaG93JywgdmFsdWUpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd4bGlua1RpdGxlJzpcbiAgICAgIHNldFZhbHVlRm9yTmFtZXNwYWNlZEF0dHJpYnV0ZShkb21FbGVtZW50LCB4bGlua05hbWVzcGFjZSwgJ3hsaW5rOnRpdGxlJywgdmFsdWUpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd4bGlua1R5cGUnOlxuICAgICAgc2V0VmFsdWVGb3JOYW1lc3BhY2VkQXR0cmlidXRlKGRvbUVsZW1lbnQsIHhsaW5rTmFtZXNwYWNlLCAneGxpbms6dHlwZScsIHZhbHVlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAneG1sQmFzZSc6XG4gICAgICBzZXRWYWx1ZUZvck5hbWVzcGFjZWRBdHRyaWJ1dGUoZG9tRWxlbWVudCwgeG1sTmFtZXNwYWNlLCAneG1sOmJhc2UnLCB2YWx1ZSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3htbExhbmcnOlxuICAgICAgc2V0VmFsdWVGb3JOYW1lc3BhY2VkQXR0cmlidXRlKGRvbUVsZW1lbnQsIHhtbE5hbWVzcGFjZSwgJ3htbDpsYW5nJywgdmFsdWUpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd4bWxTcGFjZSc6XG4gICAgICBzZXRWYWx1ZUZvck5hbWVzcGFjZWRBdHRyaWJ1dGUoZG9tRWxlbWVudCwgeG1sTmFtZXNwYWNlLCAneG1sOnNwYWNlJywgdmFsdWUpO1xuICAgICAgYnJlYWs7XG4gICAgLy8gUHJvcGVydGllcyB0aGF0IHNob3VsZCBub3QgYmUgYWxsb3dlZCBvbiBjdXN0b20gZWxlbWVudHMuXG5cbiAgICBjYXNlICdpcyc6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAocHJldlZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIGVycm9yKCdDYW5ub3QgdXBkYXRlIHRoZSBcImlzXCIgcHJvcCBhZnRlciBpdCBoYXMgYmVlbiBpbml0aWFsaXplZC4nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gVE9ETzogV2Ugc2hvdWxkbid0IGFjdHVhbGx5IHNldCB0aGlzIGF0dHJpYnV0ZSwgYmVjYXVzZSB3ZSd2ZSBhbHJlYWR5XG4gICAgICAgIC8vIHBhc3NlZCBpdCB0byBjcmVhdGVFbGVtZW50LiBXZSBkb24ndCBhbHNvIG5lZWQgdGhlIGF0dHJpYnV0ZS5cbiAgICAgICAgLy8gSG93ZXZlciwgb3VyIHRlc3RzIGN1cnJlbnRseSBxdWVyeSBmb3IgaXQgc28gaXQncyBwbGF1c2libGUgc29tZW9uZVxuICAgICAgICAvLyBlbHNlIGRvZXMgdG9vIHNvIGl0J3MgYnJlYWsuXG5cblxuICAgICAgICBzZXRWYWx1ZUZvckF0dHJpYnV0ZShkb21FbGVtZW50LCAnaXMnLCB2YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSAnaW5uZXJUZXh0JzpcbiAgICBjYXNlICd0ZXh0Q29udGVudCc6XG5cbiAgICAvLyBGYWxsIHRocm91Z2hcblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIGlmIChrZXkubGVuZ3RoID4gMiAmJiAoa2V5WzBdID09PSAnbycgfHwga2V5WzBdID09PSAnTycpICYmIChrZXlbMV0gPT09ICduJyB8fCBrZXlbMV0gPT09ICdOJykpIHtcbiAgICAgICAgICBpZiAocmVnaXN0cmF0aW9uTmFtZURlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBhdHRyaWJ1dGVOYW1lID0gZ2V0QXR0cmlidXRlQWxpYXMoa2V5KTtcbiAgICAgICAgICBzZXRWYWx1ZUZvckF0dHJpYnV0ZShkb21FbGVtZW50LCBhdHRyaWJ1dGVOYW1lLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRQcm9wT25DdXN0b21FbGVtZW50KGRvbUVsZW1lbnQsIHRhZywga2V5LCB2YWx1ZSwgcHJvcHMsIHByZXZWYWx1ZSkge1xuICBzd2l0Y2ggKGtleSkge1xuICAgIGNhc2UgJ3N0eWxlJzpcbiAgICAgIHtcbiAgICAgICAgc2V0VmFsdWVGb3JTdHlsZXMoZG9tRWxlbWVudCwgdmFsdWUsIHByZXZWYWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnOlxuICAgICAge1xuICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnIHx8ICEoJ19faHRtbCcgaW4gdmFsdWUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Bwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTGAgbXVzdCBiZSBpbiB0aGUgZm9ybSBge19faHRtbDogLi4ufWAuICcgKyAnUGxlYXNlIHZpc2l0IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9kYW5nZXJvdXNseS1zZXQtaW5uZXItaHRtbCAnICsgJ2ZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBuZXh0SHRtbCA9IHZhbHVlLl9faHRtbDtcblxuICAgICAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XG4gICAgICAgICAgICBpZiAocHJvcHMuY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbiBvbmx5IHNldCBvbmUgb2YgYGNoaWxkcmVuYCBvciBgcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgLicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHNldElubmVySFRNTCQxKGRvbUVsZW1lbnQsIG5leHRIdG1sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2NoaWxkcmVuJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHNldFRleHRDb250ZW50KGRvbUVsZW1lbnQsICcnICsgdmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdvblNjcm9sbCc6XG4gICAgICB7XG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKGtleSwgdmFsdWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3Njcm9sbCcsIGRvbUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdvblNjcm9sbEVuZCc6XG4gICAgICB7XG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKGtleSwgdmFsdWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3Njcm9sbGVuZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdvbkNsaWNrJzpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyc6XG4gICAgY2FzZSAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJzpcbiAgICBjYXNlICdpbm5lckhUTUwnOlxuICAgIGNhc2UgJ3JlZic6XG4gICAgICB7XG4gICAgICAgIC8vIE5vb3BcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdpbm5lclRleHQnOiAvLyBQcm9wZXJ0aWVzXG5cbiAgICBjYXNlICd0ZXh0Q29udGVudCc6XG5cbiAgICAvLyBGYWxsIHRocm91Z2hcblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lcihrZXksIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgIC8vIFNwZWNpYWwgY2FzZSBiZWZvcmUgdGhlIG5ldyBmbGFnIGlzIG9uXG4gICAgICAgICAgICAgIHZhbHVlID0gJycgKyB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0VmFsdWVGb3JBdHRyaWJ1dGUoZG9tRWxlbWVudCwga2V5LCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0SW5pdGlhbFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCBwcm9wcykge1xuICB7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCh0YWcsIHByb3BzKTtcbiAgfSAvLyBUT0RPOiBNYWtlIHN1cmUgdGhhdCB3ZSBjaGVjayBpc01vdW50ZWQgYmVmb3JlIGZpcmluZyBhbnkgb2YgdGhlc2UgZXZlbnRzLlxuXG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdkaXYnOlxuICAgIGNhc2UgJ3NwYW4nOlxuICAgIGNhc2UgJ3N2Zyc6XG4gICAgY2FzZSAncGF0aCc6XG4gICAgY2FzZSAnYSc6XG4gICAgY2FzZSAnZyc6XG4gICAgY2FzZSAncCc6XG4gICAgY2FzZSAnbGknOlxuICAgICAge1xuICAgICAgICAvLyBGYXN0IHRyYWNrIHRoZSBtb3N0IGNvbW1vbiB0YWcgdHlwZXNcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdpbnB1dCcsIHByb3BzKTtcbiAgICAgICAgfSAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBpbnZhbGlkIGV2ZW50LlxuXG5cbiAgICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgICB2YXIgbmFtZSA9IG51bGw7XG4gICAgICAgIHZhciB0eXBlID0gbnVsbDtcbiAgICAgICAgdmFyIHZhbHVlID0gbnVsbDtcbiAgICAgICAgdmFyIGRlZmF1bHRWYWx1ZSA9IG51bGw7XG4gICAgICAgIHZhciBjaGVja2VkID0gbnVsbDtcbiAgICAgICAgdmFyIGRlZmF1bHRDaGVja2VkID0gbnVsbDtcblxuICAgICAgICBmb3IgKHZhciBwcm9wS2V5IGluIHByb3BzKSB7XG4gICAgICAgICAgaWYgKCFwcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BLZXldO1xuXG4gICAgICAgICAgaWYgKHByb3BWYWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzd2l0Y2ggKHByb3BLZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ25hbWUnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZSA9IHByb3BWYWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlICd0eXBlJzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGUgPSBwcm9wVmFsdWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSAnY2hlY2tlZCc6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjaGVja2VkID0gcHJvcFZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgJ2RlZmF1bHRDaGVja2VkJzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlZmF1bHRDaGVja2VkID0gcHJvcFZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gcHJvcFZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgJ2RlZmF1bHRWYWx1ZSc6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWUgPSBwcm9wVmFsdWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSAnY2hpbGRyZW4nOlxuICAgICAgICAgICAgY2FzZSAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGFnICsgXCIgaXMgYSB2b2lkIGVsZW1lbnQgdGFnIGFuZCBtdXN0IG5laXRoZXIgaGF2ZSBgY2hpbGRyZW5gIG5vciBcIiArICd1c2UgYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC4nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsIHByb3BLZXksIHByb3BWYWx1ZSwgcHJvcHMsIG51bGwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cbiAgICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cblxuXG4gICAgICAgIHZhbGlkYXRlSW5wdXRQcm9wcyhkb21FbGVtZW50LCBwcm9wcyk7XG4gICAgICAgIGluaXRJbnB1dChkb21FbGVtZW50LCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBjaGVja2VkLCBkZWZhdWx0Q2hlY2tlZCwgdHlwZSwgbmFtZSwgZmFsc2UpO1xuICAgICAgICB0cmFjayhkb21FbGVtZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHMoJ3NlbGVjdCcsIHByb3BzKTtcbiAgICAgICAgfSAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBpbnZhbGlkIGV2ZW50LlxuXG5cbiAgICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgICB2YXIgX3ZhbHVlID0gbnVsbDtcbiAgICAgICAgdmFyIF9kZWZhdWx0VmFsdWUgPSBudWxsO1xuICAgICAgICB2YXIgbXVsdGlwbGUgPSBudWxsO1xuXG4gICAgICAgIGZvciAodmFyIF9wcm9wS2V5IGluIHByb3BzKSB7XG4gICAgICAgICAgaWYgKCFwcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfcHJvcFZhbHVlID0gcHJvcHNbX3Byb3BLZXldO1xuXG4gICAgICAgICAgaWYgKF9wcm9wVmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3dpdGNoIChfcHJvcEtleSkge1xuICAgICAgICAgICAgY2FzZSAndmFsdWUnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgX3ZhbHVlID0gX3Byb3BWYWx1ZTsgLy8gVGhpcyBpcyBoYW5kbGVkIGJ5IGluaXRTZWxlY3QgYmVsb3cuXG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlICdkZWZhdWx0VmFsdWUnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgX2RlZmF1bHRWYWx1ZSA9IF9wcm9wVmFsdWU7IC8vIFRoaXMgaXMgaGFuZGxlZCBieSBpbml0U2VsZWN0IGJlbG93LlxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSAnbXVsdGlwbGUnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbXVsdGlwbGUgPSBfcHJvcFZhbHVlOyAvLyBUT0RPOiBXZSBkb24ndCBhY3R1YWxseSBoYXZlIHRvIGZhbGwgdGhyb3VnaCBoZXJlIGJlY2F1c2Ugd2Ugc2V0IGl0XG4gICAgICAgICAgICAgICAgLy8gaW4gaW5pdFNlbGVjdCBhbnl3YXkuIFdlIGNhbiByZW1vdmUgdGhlIHNwZWNpYWwgY2FzZSBpbiBzZXRQcm9wLlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGYWxsdGhyb3VnaFxuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsIF9wcm9wS2V5LCBfcHJvcFZhbHVlLCBwcm9wcywgbnVsbCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2YWxpZGF0ZVNlbGVjdFByb3BzKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgICAgICAgaW5pdFNlbGVjdChkb21FbGVtZW50LCBfdmFsdWUsIF9kZWZhdWx0VmFsdWUsIG11bHRpcGxlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgY2hlY2tDb250cm9sbGVkVmFsdWVQcm9wcygndGV4dGFyZWEnLCBwcm9wcyk7XG4gICAgICAgIH0gLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuXG4gICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgICAgdmFyIF92YWx1ZTIgPSBudWxsO1xuICAgICAgICB2YXIgX2RlZmF1bHRWYWx1ZTIgPSBudWxsO1xuICAgICAgICB2YXIgY2hpbGRyZW4gPSBudWxsO1xuXG4gICAgICAgIGZvciAodmFyIF9wcm9wS2V5MiBpbiBwcm9wcykge1xuICAgICAgICAgIGlmICghcHJvcHMuaGFzT3duUHJvcGVydHkoX3Byb3BLZXkyKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9wcm9wVmFsdWUyID0gcHJvcHNbX3Byb3BLZXkyXTtcblxuICAgICAgICAgIGlmIChfcHJvcFZhbHVlMiA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzd2l0Y2ggKF9wcm9wS2V5Mikge1xuICAgICAgICAgICAgY2FzZSAndmFsdWUnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgX3ZhbHVlMiA9IF9wcm9wVmFsdWUyOyAvLyBUaGlzIGlzIGhhbmRsZWQgYnkgaW5pdFRleHRhcmVhIGJlbG93LlxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSAnZGVmYXVsdFZhbHVlJzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIF9kZWZhdWx0VmFsdWUyID0gX3Byb3BWYWx1ZTI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSAnY2hpbGRyZW4nOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW4gPSBfcHJvcFZhbHVlMjsgLy8gSGFuZGxlZCBieSBpbml0VGV4dGFyZWEgYWJvdmUuXG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlICdkYW5nZXJvdXNseVNldElubmVySFRNTCc6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZiAoX3Byb3BWYWx1ZTIgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgLy8gVE9ETzogRG8gd2UgcmVhbGx5IG5lZWQgYSBzcGVjaWFsIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMuIEl0J3MgYWxzbyBwcmV0dHkgYmx1bnQuXG4gICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2BkYW5nZXJvdXNseVNldElubmVySFRNTGAgZG9lcyBub3QgbWFrZSBzZW5zZSBvbiA8dGV4dGFyZWE+LicpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXkyLCBfcHJvcFZhbHVlMiwgcHJvcHMsIG51bGwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cbiAgICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cblxuXG4gICAgICAgIHZhbGlkYXRlVGV4dGFyZWFQcm9wcyhkb21FbGVtZW50LCBwcm9wcyk7XG4gICAgICAgIGluaXRUZXh0YXJlYShkb21FbGVtZW50LCBfdmFsdWUyLCBfZGVmYXVsdFZhbHVlMiwgY2hpbGRyZW4pO1xuICAgICAgICB0cmFjayhkb21FbGVtZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdGVPcHRpb25Qcm9wcyhkb21FbGVtZW50LCBwcm9wcyk7XG5cbiAgICAgICAgZm9yICh2YXIgX3Byb3BLZXkzIGluIHByb3BzKSB7XG4gICAgICAgICAgaWYgKCFwcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTMpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgX3Byb3BWYWx1ZTMgPSBwcm9wc1tfcHJvcEtleTNdO1xuXG4gICAgICAgICAgaWYgKF9wcm9wVmFsdWUzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHN3aXRjaCAoX3Byb3BLZXkzKSB7XG4gICAgICAgICAgICBjYXNlICdzZWxlY3RlZCc6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBSZW1vdmUgc3VwcG9ydCBmb3Igc2VsZWN0ZWQgb24gb3B0aW9uLlxuICAgICAgICAgICAgICAgIGRvbUVsZW1lbnQuc2VsZWN0ZWQgPSBfcHJvcFZhbHVlMyAmJiB0eXBlb2YgX3Byb3BWYWx1ZTMgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIF9wcm9wVmFsdWUzICE9PSAnc3ltYm9sJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsIF9wcm9wS2V5MywgX3Byb3BWYWx1ZTMsIHByb3BzLCBudWxsKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2RpYWxvZyc6XG4gICAgICB7XG4gICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2NhbmNlbCcsIGRvbUVsZW1lbnQpO1xuICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdjbG9zZScsIGRvbUVsZW1lbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2lmcmFtZSc6XG4gICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgIHtcbiAgICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgbG9hZCBldmVudC5cbiAgICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ3ZpZGVvJzpcbiAgICBjYXNlICdhdWRpbyc6XG4gICAgICB7XG4gICAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGVzZSBldmVudHMgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciBhbGwgdGhlIG1lZGlhIGV2ZW50cy5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZWRpYUV2ZW50VHlwZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KG1lZGlhRXZlbnRUeXBlc1tpXSwgZG9tRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgIHtcbiAgICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoZXNlIGV2ZW50cyBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIGVycm9yIGFuZCBsb2FkIGV2ZW50cy5cbiAgICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnZXJyb3InLCBkb21FbGVtZW50KTtcbiAgICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAge1xuICAgICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSB0b2dnbGUgZXZlbnQuXG4gICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3RvZ2dsZScsIGRvbUVsZW1lbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICBjYXNlICdzb3VyY2UnOlxuICAgIGNhc2UgJ2ltZyc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICB7XG4gICAgICAgIC8vIFRoZXNlIGFyZSB2b2lkIGVsZW1lbnRzIHRoYXQgYWxzbyBuZWVkIGRlbGVnYXRlZCBldmVudHMuXG4gICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2xvYWQnLCBkb21FbGVtZW50KTsgLy8gV2UgZmFsbHRocm91Z2ggdG8gdGhlIHJldHVybiBvZiB0aGUgdm9pZCBlbGVtZW50c1xuICAgICAgfVxuXG4gICAgY2FzZSAnYXJlYSc6XG4gICAgY2FzZSAnYmFzZSc6XG4gICAgY2FzZSAnYnInOlxuICAgIGNhc2UgJ2NvbCc6XG4gICAgY2FzZSAnaHInOlxuICAgIGNhc2UgJ2tleWdlbic6XG4gICAgY2FzZSAnbWV0YSc6XG4gICAgY2FzZSAncGFyYW0nOlxuICAgIGNhc2UgJ3RyYWNrJzpcbiAgICBjYXNlICd3YnInOlxuICAgIGNhc2UgJ21lbnVpdGVtJzpcbiAgICAgIHtcbiAgICAgICAgLy8gVm9pZCBlbGVtZW50c1xuICAgICAgICBmb3IgKHZhciBfcHJvcEtleTQgaW4gcHJvcHMpIHtcbiAgICAgICAgICBpZiAoIXByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5NCkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfcHJvcFZhbHVlNCA9IHByb3BzW19wcm9wS2V5NF07XG5cbiAgICAgICAgICBpZiAoX3Byb3BWYWx1ZTQgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3dpdGNoIChfcHJvcEtleTQpIHtcbiAgICAgICAgICAgIGNhc2UgJ2NoaWxkcmVuJzpcbiAgICAgICAgICAgIGNhc2UgJ2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MJzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC8vIFRPRE86IENhbiB3ZSBtYWtlIHRoaXMgYSBERVYgd2FybmluZyB0byBhdm9pZCB0aGlzIGRlbnkgbGlzdD9cbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGFnICsgXCIgaXMgYSB2b2lkIGVsZW1lbnQgdGFnIGFuZCBtdXN0IG5laXRoZXIgaGF2ZSBgY2hpbGRyZW5gIG5vciBcIiArICd1c2UgYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC4nKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZGVmYXVsdENoZWNrZWQgYW5kIGRlZmF1bHRWYWx1ZSBhcmUgaWdub3JlZCBieSBzZXRQcm9wXG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXk0LCBfcHJvcFZhbHVlNCwgcHJvcHMsIG51bGwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgaWYgKGlzQ3VzdG9tRWxlbWVudCh0YWcpKSB7XG4gICAgICAgICAgZm9yICh2YXIgX3Byb3BLZXk1IGluIHByb3BzKSB7XG4gICAgICAgICAgICBpZiAoIXByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5NSkpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBfcHJvcFZhbHVlNSA9IHByb3BzW19wcm9wS2V5NV07XG5cbiAgICAgICAgICAgIGlmIChfcHJvcFZhbHVlNSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRQcm9wT25DdXN0b21FbGVtZW50KGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXk1LCBfcHJvcFZhbHVlNSwgcHJvcHMsIG51bGwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgZm9yICh2YXIgX3Byb3BLZXk2IGluIHByb3BzKSB7XG4gICAgaWYgKCFwcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTYpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgX3Byb3BWYWx1ZTYgPSBwcm9wc1tfcHJvcEtleTZdO1xuXG4gICAgaWYgKF9wcm9wVmFsdWU2ID09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHNldFByb3AoZG9tRWxlbWVudCwgdGFnLCBfcHJvcEtleTYsIF9wcm9wVmFsdWU2LCBwcm9wcywgbnVsbCk7XG4gIH1cbn1cbmZ1bmN0aW9uIHVwZGF0ZVByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCBsYXN0UHJvcHMsIG5leHRQcm9wcykge1xuICB7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCh0YWcsIG5leHRQcm9wcyk7XG4gIH1cblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2Rpdic6XG4gICAgY2FzZSAnc3Bhbic6XG4gICAgY2FzZSAnc3ZnJzpcbiAgICBjYXNlICdwYXRoJzpcbiAgICBjYXNlICdhJzpcbiAgICBjYXNlICdnJzpcbiAgICBjYXNlICdwJzpcbiAgICBjYXNlICdsaSc6XG4gICAgICB7XG4gICAgICAgIC8vIEZhc3QgdHJhY2sgdGhlIG1vc3QgY29tbW9uIHRhZyB0eXBlc1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIHtcbiAgICAgICAgdmFyIG5hbWUgPSBudWxsO1xuICAgICAgICB2YXIgdHlwZSA9IG51bGw7XG4gICAgICAgIHZhciB2YWx1ZSA9IG51bGw7XG4gICAgICAgIHZhciBkZWZhdWx0VmFsdWUgPSBudWxsO1xuICAgICAgICB2YXIgbGFzdERlZmF1bHRWYWx1ZSA9IG51bGw7XG4gICAgICAgIHZhciBjaGVja2VkID0gbnVsbDtcbiAgICAgICAgdmFyIGRlZmF1bHRDaGVja2VkID0gbnVsbDtcblxuICAgICAgICBmb3IgKHZhciBwcm9wS2V5IGluIGxhc3RQcm9wcykge1xuICAgICAgICAgIHZhciBsYXN0UHJvcCA9IGxhc3RQcm9wc1twcm9wS2V5XTtcblxuICAgICAgICAgIGlmIChsYXN0UHJvcHMuaGFzT3duUHJvcGVydHkocHJvcEtleSkgJiYgbGFzdFByb3AgIT0gbnVsbCkge1xuICAgICAgICAgICAgc3dpdGNoIChwcm9wS2V5KSB7XG4gICAgICAgICAgICAgIGNhc2UgJ2NoZWNrZWQnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjYXNlICd2YWx1ZSc6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBoYW5kbGVkIGJ5IHVwZGF0ZVdyYXBwZXIgYmVsb3cuXG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY2FzZSAnZGVmYXVsdFZhbHVlJzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsYXN0RGVmYXVsdFZhbHVlID0gbGFzdFByb3A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvLyBkZWZhdWx0Q2hlY2tlZCBhbmQgZGVmYXVsdFZhbHVlIGFyZSBpZ25vcmVkIGJ5IHNldFByb3BcbiAgICAgICAgICAgICAgLy8gRmFsbHRocm91Z2hcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgcHJvcEtleSwgbnVsbCwgbmV4dFByb3BzLCBsYXN0UHJvcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIF9wcm9wS2V5NyBpbiBuZXh0UHJvcHMpIHtcbiAgICAgICAgICB2YXIgbmV4dFByb3AgPSBuZXh0UHJvcHNbX3Byb3BLZXk3XTtcbiAgICAgICAgICB2YXIgX2xhc3RQcm9wID0gbGFzdFByb3BzW19wcm9wS2V5N107XG5cbiAgICAgICAgICBpZiAobmV4dFByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5NykgJiYgKG5leHRQcm9wICE9IG51bGwgfHwgX2xhc3RQcm9wICE9IG51bGwpKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9wcm9wS2V5Nykge1xuICAgICAgICAgICAgICBjYXNlICd0eXBlJzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlID0gbmV4dFByb3A7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY2FzZSAnbmFtZSc6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZSA9IG5leHRQcm9wO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNhc2UgJ2NoZWNrZWQnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQgPSBuZXh0UHJvcDtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjYXNlICdkZWZhdWx0Q2hlY2tlZCc6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZGVmYXVsdENoZWNrZWQgPSBuZXh0UHJvcDtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjYXNlICd2YWx1ZSc6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdmFsdWUgPSBuZXh0UHJvcDtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjYXNlICdkZWZhdWx0VmFsdWUnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZSA9IG5leHRQcm9wO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNhc2UgJ2NoaWxkcmVuJzpcbiAgICAgICAgICAgICAgY2FzZSAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChuZXh0UHJvcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0YWcgKyBcIiBpcyBhIHZvaWQgZWxlbWVudCB0YWcgYW5kIG11c3QgbmVpdGhlciBoYXZlIGBjaGlsZHJlbmAgbm9yIFwiICsgJ3VzZSBgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgLicpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBpZiAobmV4dFByb3AgIT09IF9sYXN0UHJvcCkgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsIF9wcm9wS2V5NywgbmV4dFByb3AsIG5leHRQcm9wcywgX2xhc3RQcm9wKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAge1xuICAgICAgICAgIHZhciB3YXNDb250cm9sbGVkID0gbGFzdFByb3BzLnR5cGUgPT09ICdjaGVja2JveCcgfHwgbGFzdFByb3BzLnR5cGUgPT09ICdyYWRpbycgPyBsYXN0UHJvcHMuY2hlY2tlZCAhPSBudWxsIDogbGFzdFByb3BzLnZhbHVlICE9IG51bGw7XG4gICAgICAgICAgdmFyIGlzQ29udHJvbGxlZCA9IG5leHRQcm9wcy50eXBlID09PSAnY2hlY2tib3gnIHx8IG5leHRQcm9wcy50eXBlID09PSAncmFkaW8nID8gbmV4dFByb3BzLmNoZWNrZWQgIT0gbnVsbCA6IG5leHRQcm9wcy52YWx1ZSAhPSBudWxsO1xuXG4gICAgICAgICAgaWYgKCF3YXNDb250cm9sbGVkICYmIGlzQ29udHJvbGxlZCAmJiAhZGlkV2FyblVuY29udHJvbGxlZFRvQ29udHJvbGxlZCkge1xuICAgICAgICAgICAgZXJyb3IoJ0EgY29tcG9uZW50IGlzIGNoYW5naW5nIGFuIHVuY29udHJvbGxlZCBpbnB1dCB0byBiZSBjb250cm9sbGVkLiAnICsgJ1RoaXMgaXMgbGlrZWx5IGNhdXNlZCBieSB0aGUgdmFsdWUgY2hhbmdpbmcgZnJvbSB1bmRlZmluZWQgdG8gJyArICdhIGRlZmluZWQgdmFsdWUsIHdoaWNoIHNob3VsZCBub3QgaGFwcGVuLiAnICsgJ0RlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbXBvbmVudC4gTW9yZSBpbmZvOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvY29udHJvbGxlZC1jb21wb25lbnRzJyk7XG5cbiAgICAgICAgICAgIGRpZFdhcm5VbmNvbnRyb2xsZWRUb0NvbnRyb2xsZWQgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh3YXNDb250cm9sbGVkICYmICFpc0NvbnRyb2xsZWQgJiYgIWRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQpIHtcbiAgICAgICAgICAgIGVycm9yKCdBIGNvbXBvbmVudCBpcyBjaGFuZ2luZyBhIGNvbnRyb2xsZWQgaW5wdXQgdG8gYmUgdW5jb250cm9sbGVkLiAnICsgJ1RoaXMgaXMgbGlrZWx5IGNhdXNlZCBieSB0aGUgdmFsdWUgY2hhbmdpbmcgZnJvbSBhIGRlZmluZWQgdG8gJyArICd1bmRlZmluZWQsIHdoaWNoIHNob3VsZCBub3QgaGFwcGVuLiAnICsgJ0RlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbXBvbmVudC4gTW9yZSBpbmZvOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvY29udHJvbGxlZC1jb21wb25lbnRzJyk7XG5cbiAgICAgICAgICAgIGRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBVcGRhdGUgdGhlIHdyYXBwZXIgYXJvdW5kIGlucHV0cyAqYWZ0ZXIqIHVwZGF0aW5nIHByb3BzLiBUaGlzIGhhcyB0b1xuICAgICAgICAvLyBoYXBwZW4gYWZ0ZXIgdXBkYXRpbmcgdGhlIHJlc3Qgb2YgcHJvcHMuIE90aGVyd2lzZSBIVE1MNSBpbnB1dCB2YWxpZGF0aW9uc1xuICAgICAgICAvLyByYWlzZSB3YXJuaW5ncyBhbmQgcHJldmVudCB0aGUgbmV3IHZhbHVlIGZyb20gYmVpbmcgYXNzaWduZWQuXG5cblxuICAgICAgICB1cGRhdGVJbnB1dChkb21FbGVtZW50LCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBsYXN0RGVmYXVsdFZhbHVlLCBjaGVja2VkLCBkZWZhdWx0Q2hlY2tlZCwgdHlwZSwgbmFtZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICB7XG4gICAgICAgIHZhciBfdmFsdWUzID0gbnVsbDtcbiAgICAgICAgdmFyIF9kZWZhdWx0VmFsdWUzID0gbnVsbDtcbiAgICAgICAgdmFyIG11bHRpcGxlID0gbnVsbDtcbiAgICAgICAgdmFyIHdhc011bHRpcGxlID0gbnVsbDtcblxuICAgICAgICBmb3IgKHZhciBfcHJvcEtleTggaW4gbGFzdFByb3BzKSB7XG4gICAgICAgICAgdmFyIF9sYXN0UHJvcDIgPSBsYXN0UHJvcHNbX3Byb3BLZXk4XTtcblxuICAgICAgICAgIGlmIChsYXN0UHJvcHMuaGFzT3duUHJvcGVydHkoX3Byb3BLZXk4KSAmJiBfbGFzdFByb3AyICE9IG51bGwpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoX3Byb3BLZXk4KSB7XG4gICAgICAgICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGhhbmRsZWQgYnkgdXBkYXRlV3JhcHBlciBiZWxvdy5cbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gZGVmYXVsdFZhbHVlIGFyZSBpZ25vcmVkIGJ5IHNldFByb3BcblxuICAgICAgICAgICAgICBjYXNlICdtdWx0aXBsZSc6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgd2FzTXVsdGlwbGUgPSBfbGFzdFByb3AyOyAvLyBUT0RPOiBNb3ZlIHNwZWNpYWwgY2FzZSBpbiBoZXJlIGZyb20gc2V0UHJvcC5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIEZhbGx0aHJvdWdoXG5cbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBpZiAoIW5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTgpKSBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXk4LCBudWxsLCBuZXh0UHJvcHMsIF9sYXN0UHJvcDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBfcHJvcEtleTkgaW4gbmV4dFByb3BzKSB7XG4gICAgICAgICAgdmFyIF9uZXh0UHJvcCA9IG5leHRQcm9wc1tfcHJvcEtleTldO1xuICAgICAgICAgIHZhciBfbGFzdFByb3AzID0gbGFzdFByb3BzW19wcm9wS2V5OV07XG5cbiAgICAgICAgICBpZiAobmV4dFByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5OSkgJiYgKF9uZXh0UHJvcCAhPSBudWxsIHx8IF9sYXN0UHJvcDMgIT0gbnVsbCkpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoX3Byb3BLZXk5KSB7XG4gICAgICAgICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBfdmFsdWUzID0gX25leHRQcm9wOyAvLyBUaGlzIGlzIGhhbmRsZWQgYnkgdXBkYXRlU2VsZWN0IGJlbG93LlxuXG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY2FzZSAnZGVmYXVsdFZhbHVlJzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBfZGVmYXVsdFZhbHVlMyA9IF9uZXh0UHJvcDtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjYXNlICdtdWx0aXBsZSc6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgPSBfbmV4dFByb3A7IC8vIFRPRE86IEp1c3QgbW92ZSB0aGUgc3BlY2lhbCBjYXNlIGluIGhlcmUgZnJvbSBzZXRQcm9wLlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gRmFsbHRocm91Z2hcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChfbmV4dFByb3AgIT09IF9sYXN0UHJvcDMpIHNldFByb3AoZG9tRWxlbWVudCwgdGFnLCBfcHJvcEtleTksIF9uZXh0UHJvcCwgbmV4dFByb3BzLCBfbGFzdFByb3AzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIDxzZWxlY3Q+IHZhbHVlIHVwZGF0ZSBuZWVkcyB0byBvY2N1ciBhZnRlciA8b3B0aW9uPiBjaGlsZHJlblxuICAgICAgICAvLyByZWNvbmNpbGlhdGlvblxuXG5cbiAgICAgICAgdXBkYXRlU2VsZWN0KGRvbUVsZW1lbnQsIF92YWx1ZTMsIF9kZWZhdWx0VmFsdWUzLCBtdWx0aXBsZSwgd2FzTXVsdGlwbGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICB7XG4gICAgICAgIHZhciBfdmFsdWU0ID0gbnVsbDtcbiAgICAgICAgdmFyIF9kZWZhdWx0VmFsdWU0ID0gbnVsbDtcblxuICAgICAgICBmb3IgKHZhciBfcHJvcEtleTEwIGluIGxhc3RQcm9wcykge1xuICAgICAgICAgIHZhciBfbGFzdFByb3A0ID0gbGFzdFByb3BzW19wcm9wS2V5MTBdO1xuXG4gICAgICAgICAgaWYgKGxhc3RQcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTEwKSAmJiBfbGFzdFByb3A0ICE9IG51bGwgJiYgIW5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTEwKSkge1xuICAgICAgICAgICAgc3dpdGNoIChfcHJvcEtleTEwKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGhhbmRsZWQgYnkgdXBkYXRlVGV4dGFyZWEgYmVsb3cuXG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY2FzZSAnY2hpbGRyZW4nOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgZG9lc24ndCBhY3R1YWxseSBkbyBhbnl0aGluZyBpZiBpdCB1cGRhdGVzLlxuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvLyBkZWZhdWx0VmFsdWUgaXMgaWdub3JlZCBieSBzZXRQcm9wXG5cbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXkxMCwgbnVsbCwgbmV4dFByb3BzLCBfbGFzdFByb3A0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgX3Byb3BLZXkxMSBpbiBuZXh0UHJvcHMpIHtcbiAgICAgICAgICB2YXIgX25leHRQcm9wMiA9IG5leHRQcm9wc1tfcHJvcEtleTExXTtcbiAgICAgICAgICB2YXIgX2xhc3RQcm9wNSA9IGxhc3RQcm9wc1tfcHJvcEtleTExXTtcblxuICAgICAgICAgIGlmIChuZXh0UHJvcHMuaGFzT3duUHJvcGVydHkoX3Byb3BLZXkxMSkgJiYgKF9uZXh0UHJvcDIgIT0gbnVsbCB8fCBfbGFzdFByb3A1ICE9IG51bGwpKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9wcm9wS2V5MTEpIHtcbiAgICAgICAgICAgICAgY2FzZSAndmFsdWUnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIF92YWx1ZTQgPSBfbmV4dFByb3AyOyAvLyBUaGlzIGlzIGhhbmRsZWQgYnkgdXBkYXRlVGV4dGFyZWEgYmVsb3cuXG5cbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjYXNlICdkZWZhdWx0VmFsdWUnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIF9kZWZhdWx0VmFsdWU0ID0gX25leHRQcm9wMjtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjYXNlICdjaGlsZHJlbic6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgLy8gVE9ETzogVGhpcyBkb2Vzbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nIGlmIGl0IHVwZGF0ZXMuXG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY2FzZSAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChfbmV4dFByb3AyICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogRG8gd2UgcmVhbGx5IG5lZWQgYSBzcGVjaWFsIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMuIEl0J3MgYWxzbyBwcmV0dHkgYmx1bnQuXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYCBkb2VzIG5vdCBtYWtlIHNlbnNlIG9uIDx0ZXh0YXJlYT4uJyk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChfbmV4dFByb3AyICE9PSBfbGFzdFByb3A1KSBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXkxMSwgX25leHRQcm9wMiwgbmV4dFByb3BzLCBfbGFzdFByb3A1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlVGV4dGFyZWEoZG9tRWxlbWVudCwgX3ZhbHVlNCwgX2RlZmF1bHRWYWx1ZTQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAge1xuICAgICAgICBmb3IgKHZhciBfcHJvcEtleTEyIGluIGxhc3RQcm9wcykge1xuICAgICAgICAgIHZhciBfbGFzdFByb3A2ID0gbGFzdFByb3BzW19wcm9wS2V5MTJdO1xuXG4gICAgICAgICAgaWYgKGxhc3RQcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTEyKSAmJiBfbGFzdFByb3A2ICE9IG51bGwgJiYgIW5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTEyKSkge1xuICAgICAgICAgICAgc3dpdGNoIChfcHJvcEtleTEyKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ3NlbGVjdGVkJzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAvLyBUT0RPOiBSZW1vdmUgc3VwcG9ydCBmb3Igc2VsZWN0ZWQgb24gb3B0aW9uLlxuICAgICAgICAgICAgICAgICAgZG9tRWxlbWVudC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsIF9wcm9wS2V5MTIsIG51bGwsIG5leHRQcm9wcywgX2xhc3RQcm9wNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIF9wcm9wS2V5MTMgaW4gbmV4dFByb3BzKSB7XG4gICAgICAgICAgdmFyIF9uZXh0UHJvcDMgPSBuZXh0UHJvcHNbX3Byb3BLZXkxM107XG4gICAgICAgICAgdmFyIF9sYXN0UHJvcDcgPSBsYXN0UHJvcHNbX3Byb3BLZXkxM107XG5cbiAgICAgICAgICBpZiAobmV4dFByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5MTMpICYmIF9uZXh0UHJvcDMgIT09IF9sYXN0UHJvcDcgJiYgKF9uZXh0UHJvcDMgIT0gbnVsbCB8fCBfbGFzdFByb3A3ICE9IG51bGwpKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9wcm9wS2V5MTMpIHtcbiAgICAgICAgICAgICAgY2FzZSAnc2VsZWN0ZWQnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFJlbW92ZSBzdXBwb3J0IGZvciBzZWxlY3RlZCBvbiBvcHRpb24uXG4gICAgICAgICAgICAgICAgICBkb21FbGVtZW50LnNlbGVjdGVkID0gX25leHRQcm9wMyAmJiB0eXBlb2YgX25leHRQcm9wMyAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgX25leHRQcm9wMyAhPT0gJ3N5bWJvbCc7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXkxMywgX25leHRQcm9wMywgbmV4dFByb3BzLCBfbGFzdFByb3A3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdsaW5rJzpcbiAgICBjYXNlICdhcmVhJzpcbiAgICBjYXNlICdiYXNlJzpcbiAgICBjYXNlICdicic6XG4gICAgY2FzZSAnY29sJzpcbiAgICBjYXNlICdlbWJlZCc6XG4gICAgY2FzZSAnaHInOlxuICAgIGNhc2UgJ2tleWdlbic6XG4gICAgY2FzZSAnbWV0YSc6XG4gICAgY2FzZSAncGFyYW0nOlxuICAgIGNhc2UgJ3NvdXJjZSc6XG4gICAgY2FzZSAndHJhY2snOlxuICAgIGNhc2UgJ3dicic6XG4gICAgY2FzZSAnbWVudWl0ZW0nOlxuICAgICAge1xuICAgICAgICAvLyBWb2lkIGVsZW1lbnRzXG4gICAgICAgIGZvciAodmFyIF9wcm9wS2V5MTQgaW4gbGFzdFByb3BzKSB7XG4gICAgICAgICAgdmFyIF9sYXN0UHJvcDggPSBsYXN0UHJvcHNbX3Byb3BLZXkxNF07XG5cbiAgICAgICAgICBpZiAobGFzdFByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5MTQpICYmIF9sYXN0UHJvcDggIT0gbnVsbCAmJiAhbmV4dFByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5MTQpKSB7XG4gICAgICAgICAgICBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXkxNCwgbnVsbCwgbmV4dFByb3BzLCBfbGFzdFByb3A4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBfcHJvcEtleTE1IGluIG5leHRQcm9wcykge1xuICAgICAgICAgIHZhciBfbmV4dFByb3A0ID0gbmV4dFByb3BzW19wcm9wS2V5MTVdO1xuICAgICAgICAgIHZhciBfbGFzdFByb3A5ID0gbGFzdFByb3BzW19wcm9wS2V5MTVdO1xuXG4gICAgICAgICAgaWYgKG5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTE1KSAmJiBfbmV4dFByb3A0ICE9PSBfbGFzdFByb3A5ICYmIChfbmV4dFByb3A0ICE9IG51bGwgfHwgX2xhc3RQcm9wOSAhPSBudWxsKSkge1xuICAgICAgICAgICAgc3dpdGNoIChfcHJvcEtleTE1KSB7XG4gICAgICAgICAgICAgIGNhc2UgJ2NoaWxkcmVuJzpcbiAgICAgICAgICAgICAgY2FzZSAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChfbmV4dFByb3A0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogQ2FuIHdlIG1ha2UgdGhpcyBhIERFViB3YXJuaW5nIHRvIGF2b2lkIHRoaXMgZGVueSBsaXN0P1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGFnICsgXCIgaXMgYSB2b2lkIGVsZW1lbnQgdGFnIGFuZCBtdXN0IG5laXRoZXIgaGF2ZSBgY2hpbGRyZW5gIG5vciBcIiArICd1c2UgYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC4nKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvLyBkZWZhdWx0Q2hlY2tlZCBhbmQgZGVmYXVsdFZhbHVlIGFyZSBpZ25vcmVkIGJ5IHNldFByb3BcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHNldFByb3AoZG9tRWxlbWVudCwgdGFnLCBfcHJvcEtleTE1LCBfbmV4dFByb3A0LCBuZXh0UHJvcHMsIF9sYXN0UHJvcDkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICBpZiAoaXNDdXN0b21FbGVtZW50KHRhZykpIHtcbiAgICAgICAgICBmb3IgKHZhciBfcHJvcEtleTE2IGluIGxhc3RQcm9wcykge1xuICAgICAgICAgICAgdmFyIF9sYXN0UHJvcDEwID0gbGFzdFByb3BzW19wcm9wS2V5MTZdO1xuXG4gICAgICAgICAgICBpZiAobGFzdFByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5MTYpICYmIF9sYXN0UHJvcDEwICE9IG51bGwgJiYgIW5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTE2KSkge1xuICAgICAgICAgICAgICBzZXRQcm9wT25DdXN0b21FbGVtZW50KGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXkxNiwgbnVsbCwgbmV4dFByb3BzLCBfbGFzdFByb3AxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yICh2YXIgX3Byb3BLZXkxNyBpbiBuZXh0UHJvcHMpIHtcbiAgICAgICAgICAgIHZhciBfbmV4dFByb3A1ID0gbmV4dFByb3BzW19wcm9wS2V5MTddO1xuICAgICAgICAgICAgdmFyIF9sYXN0UHJvcDExID0gbGFzdFByb3BzW19wcm9wS2V5MTddO1xuXG4gICAgICAgICAgICBpZiAobmV4dFByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5MTcpICYmIF9uZXh0UHJvcDUgIT09IF9sYXN0UHJvcDExICYmIChfbmV4dFByb3A1ICE9IG51bGwgfHwgX2xhc3RQcm9wMTEgIT0gbnVsbCkpIHtcbiAgICAgICAgICAgICAgc2V0UHJvcE9uQ3VzdG9tRWxlbWVudChkb21FbGVtZW50LCB0YWcsIF9wcm9wS2V5MTcsIF9uZXh0UHJvcDUsIG5leHRQcm9wcywgX2xhc3RQcm9wMTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgZm9yICh2YXIgX3Byb3BLZXkxOCBpbiBsYXN0UHJvcHMpIHtcbiAgICB2YXIgX2xhc3RQcm9wMTIgPSBsYXN0UHJvcHNbX3Byb3BLZXkxOF07XG5cbiAgICBpZiAobGFzdFByb3BzLmhhc093blByb3BlcnR5KF9wcm9wS2V5MTgpICYmIF9sYXN0UHJvcDEyICE9IG51bGwgJiYgIW5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTE4KSkge1xuICAgICAgc2V0UHJvcChkb21FbGVtZW50LCB0YWcsIF9wcm9wS2V5MTgsIG51bGwsIG5leHRQcm9wcywgX2xhc3RQcm9wMTIpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIF9wcm9wS2V5MTkgaW4gbmV4dFByb3BzKSB7XG4gICAgdmFyIF9uZXh0UHJvcDYgPSBuZXh0UHJvcHNbX3Byb3BLZXkxOV07XG4gICAgdmFyIF9sYXN0UHJvcDEzID0gbGFzdFByb3BzW19wcm9wS2V5MTldO1xuXG4gICAgaWYgKG5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShfcHJvcEtleTE5KSAmJiBfbmV4dFByb3A2ICE9PSBfbGFzdFByb3AxMyAmJiAoX25leHRQcm9wNiAhPSBudWxsIHx8IF9sYXN0UHJvcDEzICE9IG51bGwpKSB7XG4gICAgICBzZXRQcm9wKGRvbUVsZW1lbnQsIHRhZywgX3Byb3BLZXkxOSwgX25leHRQcm9wNiwgbmV4dFByb3BzLCBfbGFzdFByb3AxMyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BOYW1lKSB7XG4gIHtcbiAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSBwcm9wTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKCFwb3NzaWJsZVN0YW5kYXJkTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zc2libGVTdGFuZGFyZE5hbWVzW2xvd2VyQ2FzZWROYW1lXSB8fCBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpZmZIeWRyYXRlZFN0eWxlcyhkb21FbGVtZW50LCB2YWx1ZSkge1xuICBpZiAodmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYHN0eWxlYCBwcm9wIGV4cGVjdHMgYSBtYXBwaW5nIGZyb20gc3R5bGUgcHJvcGVydGllcyB0byB2YWx1ZXMsICcgKyBcIm5vdCBhIHN0cmluZy4gRm9yIGV4YW1wbGUsIHN0eWxlPXt7bWFyZ2luUmlnaHQ6IHNwYWNpbmcgKyAnZW0nfX0gd2hlbiBcIiArICd1c2luZyBKU1guJyk7XG4gIH1cblxuICBpZiAoY2FuRGlmZlN0eWxlRm9ySHlkcmF0aW9uV2FybmluZykge1xuICAgIHZhciBleHBlY3RlZFN0eWxlID0gY3JlYXRlRGFuZ2Vyb3VzU3RyaW5nRm9yU3R5bGVzKHZhbHVlKTtcbiAgICB2YXIgc2VydmVyVmFsdWUgPSBkb21FbGVtZW50LmdldEF0dHJpYnV0ZSgnc3R5bGUnKTtcbiAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UoJ3N0eWxlJywgc2VydmVyVmFsdWUsIGV4cGVjdGVkU3R5bGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGh5ZHJhdGVBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgYXR0cmlidXRlTmFtZSwgdmFsdWUsIGV4dHJhQXR0cmlidXRlcykge1xuICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKGF0dHJpYnV0ZU5hbWUpO1xuICB2YXIgc2VydmVyVmFsdWUgPSBkb21FbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICBpZiAoc2VydmVyVmFsdWUgPT09IG51bGwpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkgOyBlbHNlIHtcbiAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgY2FzZSAnc3ltYm9sJzpcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BLZXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2VydmVyVmFsdWUgPT09ICcnICsgdmFsdWUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gaHlkcmF0ZUJvb2xlYW5BdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgYXR0cmlidXRlTmFtZSwgdmFsdWUsIGV4dHJhQXR0cmlidXRlcykge1xuICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKGF0dHJpYnV0ZU5hbWUpO1xuICB2YXIgc2VydmVyVmFsdWUgPSBkb21FbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICBpZiAoc2VydmVyVmFsdWUgPT09IG51bGwpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgY2FzZSAnc3ltYm9sJzpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBhIGJvb2xlYW4sIGl0IGRvZXNuJ3QgbWF0dGVyIHdoYXQgdGhlIHZhbHVlIGlzXG4gICAgICAgICAgICAvLyB0aGUgZmFjdCB0aGF0IHdlIGhhdmUgaXQgaXMgdGhlIHNhbWUgYXMgdGhlIGV4cGVjdGVkLlxuICAgICAgICAgICAgLy8gQXMgbG9uZyBhcyBpdCdzIHBvc2l0aXZlLlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgdmFsdWUpO1xufVxuXG5mdW5jdGlvbiBoeWRyYXRlT3ZlcmxvYWRlZEJvb2xlYW5BdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgYXR0cmlidXRlTmFtZSwgdmFsdWUsIGV4dHJhQXR0cmlidXRlcykge1xuICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKGF0dHJpYnV0ZU5hbWUpO1xuICB2YXIgc2VydmVyVmFsdWUgPSBkb21FbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICBpZiAoc2VydmVyVmFsdWUgPT09IG51bGwpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICAgIHJldHVybjtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKHZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSA7IGVsc2Uge1xuICAgICAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSAmJiBzZXJ2ZXJWYWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgcHJvcEtleSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXJ2ZXJWYWx1ZSA9PT0gJycgKyB2YWx1ZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgdmFsdWUpO1xufVxuXG5mdW5jdGlvbiBoeWRyYXRlQm9vbGVhbmlzaEF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCBhdHRyaWJ1dGVOYW1lLCB2YWx1ZSwgZXh0cmFBdHRyaWJ1dGVzKSB7XG4gIGV4dHJhQXR0cmlidXRlcy5kZWxldGUoYXR0cmlidXRlTmFtZSk7XG4gIHZhciBzZXJ2ZXJWYWx1ZSA9IGRvbUVsZW1lbnQuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xuXG4gIGlmIChzZXJ2ZXJWYWx1ZSA9PT0gbnVsbCkge1xuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgY2FzZSAnc3ltYm9sJzpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkgOyBlbHNlIHtcbiAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgY2FzZSAnc3ltYm9sJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXJ2ZXJWYWx1ZSA9PT0gJycgKyB2YWx1ZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgdmFsdWUpO1xufVxuXG5mdW5jdGlvbiBoeWRyYXRlTnVtZXJpY0F0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCBhdHRyaWJ1dGVOYW1lLCB2YWx1ZSwgZXh0cmFBdHRyaWJ1dGVzKSB7XG4gIGV4dHJhQXR0cmlidXRlcy5kZWxldGUoYXR0cmlidXRlTmFtZSk7XG4gIHZhciBzZXJ2ZXJWYWx1ZSA9IGRvbUVsZW1lbnQuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xuXG4gIGlmIChzZXJ2ZXJWYWx1ZSA9PT0gbnVsbCkge1xuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgY2FzZSAnc3ltYm9sJzpcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICByZXR1cm47XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkgOyBlbHNlIHtcbiAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgY2FzZSAnc3ltYm9sJzpcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICAgIC8vIFdlIGhhZCBhbiBhdHRyaWJ1dGUgYnV0IHNob3VsZG4ndCBoYXZlIGhhZCBvbmUsIHNvIHJlYWQgaXRcbiAgICAgICAgICAgICAgLy8gZm9yIHRoZSBlcnJvciBtZXNzYWdlLlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKHZhbHVlLCBwcm9wS2V5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNlcnZlclZhbHVlID09PSAnJyArIHZhbHVlKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgd2FybkZvclByb3BEaWZmZXJlbmNlKHByb3BLZXksIHNlcnZlclZhbHVlLCB2YWx1ZSk7XG59XG5cbmZ1bmN0aW9uIGh5ZHJhdGVQb3NpdGl2ZU51bWVyaWNBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgYXR0cmlidXRlTmFtZSwgdmFsdWUsIGV4dHJhQXR0cmlidXRlcykge1xuICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKGF0dHJpYnV0ZU5hbWUpO1xuICB2YXIgc2VydmVyVmFsdWUgPSBkb21FbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICBpZiAoc2VydmVyVmFsdWUgPT09IG51bGwpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlIDwgMSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSA7IGVsc2Uge1xuICAgICAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPCAxKSB7XG4gICAgICAgICAgICAgIC8vIFdlIGhhZCBhbiBhdHRyaWJ1dGUgYnV0IHNob3VsZG4ndCBoYXZlIGhhZCBvbmUsIHNvIHJlYWQgaXRcbiAgICAgICAgICAgICAgLy8gZm9yIHRoZSBlcnJvciBtZXNzYWdlLlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKHZhbHVlLCBwcm9wS2V5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNlcnZlclZhbHVlID09PSAnJyArIHZhbHVlKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgd2FybkZvclByb3BEaWZmZXJlbmNlKHByb3BLZXksIHNlcnZlclZhbHVlLCB2YWx1ZSk7XG59XG5cbmZ1bmN0aW9uIGh5ZHJhdGVTYW5pdGl6ZWRBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgYXR0cmlidXRlTmFtZSwgdmFsdWUsIGV4dHJhQXR0cmlidXRlcykge1xuICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKGF0dHJpYnV0ZU5hbWUpO1xuICB2YXIgc2VydmVyVmFsdWUgPSBkb21FbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICBpZiAoc2VydmVyVmFsdWUgPT09IG51bGwpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkgOyBlbHNlIHtcbiAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgY2FzZSAnc3ltYm9sJzpcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BLZXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgc2FuaXRpemVkVmFsdWUgPSBzYW5pdGl6ZVVSTCgnJyArIHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKHNlcnZlclZhbHVlID09PSBzYW5pdGl6ZWRWYWx1ZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgdmFsdWUpO1xufVxuXG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRDdXN0b21Db21wb25lbnQoZG9tRWxlbWVudCwgdGFnLCBwcm9wcywgaG9zdENvbnRleHQsIGV4dHJhQXR0cmlidXRlcykge1xuICBmb3IgKHZhciBwcm9wS2V5IGluIHByb3BzKSB7XG4gICAgaWYgKCFwcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdmFyIHZhbHVlID0gcHJvcHNbcHJvcEtleV07XG5cbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyA9PT0gdHJ1ZSkge1xuICAgICAgLy8gRG9uJ3QgYm90aGVyIGNvbXBhcmluZy4gV2UncmUgaWdub3JpbmcgYWxsIHRoZXNlIHdhcm5pbmdzLlxuICAgICAgY29udGludWU7XG4gICAgfSAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBwcm9wZXJ0aWVzIGNvcnJlc3BvbmQgdG8gdGhlaXIgZXhwZWN0ZWQgdmFsdWVzLlxuXG5cbiAgICBzd2l0Y2ggKHByb3BLZXkpIHtcbiAgICAgIGNhc2UgJ2NoaWxkcmVuJzogLy8gQ2hlY2tlZCBhYm92ZSBhbHJlYWR5XG5cbiAgICAgIGNhc2UgJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyc6XG4gICAgICBjYXNlICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnOlxuICAgICAgY2FzZSAnZGVmYXVsdFZhbHVlJzpcbiAgICAgIGNhc2UgJ2RlZmF1bHRDaGVja2VkJzpcbiAgICAgIGNhc2UgJ2lubmVySFRNTCc6XG4gICAgICBjYXNlICdyZWYnOlxuICAgICAgICAvLyBOb29wXG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdkYW5nZXJvdXNseVNldElubmVySFRNTCc6XG4gICAgICAgIHZhciBzZXJ2ZXJIVE1MID0gZG9tRWxlbWVudC5pbm5lckhUTUw7XG4gICAgICAgIHZhciBuZXh0SHRtbCA9IHZhbHVlID8gdmFsdWUuX19odG1sIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XG4gICAgICAgICAgdmFyIGV4cGVjdGVkSFRNTCA9IG5vcm1hbGl6ZUhUTUwoZG9tRWxlbWVudCwgbmV4dEh0bWwpO1xuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJIVE1MLCBleHBlY3RlZEhUTUwpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ3N0eWxlJzpcbiAgICAgICAgZXh0cmFBdHRyaWJ1dGVzLmRlbGV0ZShwcm9wS2V5KTtcbiAgICAgICAgZGlmZkh5ZHJhdGVkU3R5bGVzKGRvbUVsZW1lbnQsIHZhbHVlKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ29mZnNldFBhcmVudCc6XG4gICAgICBjYXNlICdvZmZzZXRUb3AnOlxuICAgICAgY2FzZSAnb2Zmc2V0TGVmdCc6XG4gICAgICBjYXNlICdvZmZzZXRXaWR0aCc6XG4gICAgICBjYXNlICdvZmZzZXRIZWlnaHQnOlxuICAgICAgY2FzZSAnaXNDb250ZW50RWRpdGFibGUnOlxuICAgICAgY2FzZSAnb3V0ZXJUZXh0JzpcbiAgICAgIGNhc2UgJ291dGVySFRNTCc6XG5cbiAgICAgIC8vIEZhbGwgdGhyb3VnaFxuXG4gICAgICBjYXNlICdjbGFzc05hbWUnOlxuXG4gICAgICAvLyBGYWxsIHRocm91Z2hcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRoaXMgaXMgYSBERVYtb25seSBwYXRoXG4gICAgICAgICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XG4gICAgICAgICAgdmFyIGhvc3RDb250ZXh0UHJvZCA9IGhvc3RDb250ZXh0RGV2LmNvbnRleHQ7XG5cbiAgICAgICAgICBpZiAoaG9zdENvbnRleHRQcm9kID09PSBIb3N0Q29udGV4dE5hbWVzcGFjZU5vbmUgJiYgdGFnICE9PSAnc3ZnJyAmJiB0YWcgIT09ICdtYXRoJykge1xuICAgICAgICAgICAgZXh0cmFBdHRyaWJ1dGVzLmRlbGV0ZShwcm9wS2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKHByb3BLZXkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfc2VydmVyVmFsdWUgPSBnZXRWYWx1ZUZvckF0dHJpYnV0ZU9uQ3VzdG9tQ29tcG9uZW50KGRvbUVsZW1lbnQsIHByb3BLZXksIHZhbHVlKTtcblxuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBfc2VydmVyVmFsdWUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufSAvLyBUaGlzIGlzIHRoZSBleGFjdCBVUkwgc3RyaW5nIHdlIGV4cGVjdCB0aGF0IEZpenogcmVuZGVycyBpZiB3ZSBwcm92aWRlIGEgZnVuY3Rpb24gYWN0aW9uLlxuLy8gV2UgdXNlIHRoaXMgZm9yIGh5ZHJhdGlvbiB3YXJuaW5ncy4gSXQgbmVlZHMgdG8gYmUgaW4gc3luYyB3aXRoIEZpenouIE1heWJlIG1ha2VzIHNlbnNlXG4vLyBhcyBhIHNoYXJlZCBtb2R1bGUgZm9yIHRoYXQgcmVhc29uLlxuXG5cbnZhciBFWFBFQ1RFRF9GT1JNX0FDVElPTl9VUkwgPSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2NyaXB0LXVybFxuXCJqYXZhc2NyaXB0OnRocm93IG5ldyBFcnJvcignUmVhY3QgZm9ybSB1bmV4cGVjdGVkbHkgc3VibWl0dGVkLicpXCI7XG5cbmZ1bmN0aW9uIGRpZmZIeWRyYXRlZEdlbmVyaWNFbGVtZW50KGRvbUVsZW1lbnQsIHRhZywgcHJvcHMsIGhvc3RDb250ZXh0LCBleHRyYUF0dHJpYnV0ZXMpIHtcbiAgZm9yICh2YXIgcHJvcEtleSBpbiBwcm9wcykge1xuICAgIGlmICghcHJvcHMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciB2YWx1ZSA9IHByb3BzW3Byb3BLZXldO1xuXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lcihwcm9wS2V5LCB2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcgPT09IHRydWUpIHtcbiAgICAgIC8vIERvbid0IGJvdGhlciBjb21wYXJpbmcuIFdlJ3JlIGlnbm9yaW5nIGFsbCB0aGVzZSB3YXJuaW5ncy5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH0gLy8gVmFsaWRhdGUgdGhhdCB0aGUgcHJvcGVydGllcyBjb3JyZXNwb25kIHRvIHRoZWlyIGV4cGVjdGVkIHZhbHVlcy5cblxuXG4gICAgc3dpdGNoIChwcm9wS2V5KSB7XG4gICAgICBjYXNlICdjaGlsZHJlbic6IC8vIENoZWNrZWQgYWJvdmUgYWxyZWFkeVxuXG4gICAgICBjYXNlICdzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcnOlxuICAgICAgY2FzZSAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJzpcbiAgICAgIGNhc2UgJ3ZhbHVlJzogLy8gQ29udHJvbGxlZCBhdHRyaWJ1dGVzIGFyZSBub3QgdmFsaWRhdGVkXG5cbiAgICAgIGNhc2UgJ2NoZWNrZWQnOiAvLyBUT0RPOiBPbmx5IGlnbm9yZSB0aGVtIG9uIGNvbnRyb2xsZWQgdGFncy5cblxuICAgICAgY2FzZSAnc2VsZWN0ZWQnOlxuICAgICAgY2FzZSAnZGVmYXVsdFZhbHVlJzpcbiAgICAgIGNhc2UgJ2RlZmF1bHRDaGVja2VkJzpcbiAgICAgIGNhc2UgJ2lubmVySFRNTCc6XG4gICAgICBjYXNlICdyZWYnOlxuICAgICAgICAvLyBOb29wXG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdkYW5nZXJvdXNseVNldElubmVySFRNTCc6XG4gICAgICAgIHZhciBzZXJ2ZXJIVE1MID0gZG9tRWxlbWVudC5pbm5lckhUTUw7XG4gICAgICAgIHZhciBuZXh0SHRtbCA9IHZhbHVlID8gdmFsdWUuX19odG1sIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XG4gICAgICAgICAgdmFyIGV4cGVjdGVkSFRNTCA9IG5vcm1hbGl6ZUhUTUwoZG9tRWxlbWVudCwgbmV4dEh0bWwpO1xuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJIVE1MLCBleHBlY3RlZEhUTUwpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ2NsYXNzTmFtZSc6XG4gICAgICAgIGh5ZHJhdGVBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgJ2NsYXNzJywgdmFsdWUsIGV4dHJhQXR0cmlidXRlcyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICd0YWJJbmRleCc6XG4gICAgICAgIGh5ZHJhdGVBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgJ3RhYmluZGV4JywgdmFsdWUsIGV4dHJhQXR0cmlidXRlcyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdzdHlsZSc6XG4gICAgICAgIGV4dHJhQXR0cmlidXRlcy5kZWxldGUocHJvcEtleSk7XG4gICAgICAgIGRpZmZIeWRyYXRlZFN0eWxlcyhkb21FbGVtZW50LCB2YWx1ZSk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdtdWx0aXBsZSc6XG4gICAgICAgIHtcbiAgICAgICAgICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKHByb3BLZXkpO1xuICAgICAgICAgIHZhciBzZXJ2ZXJWYWx1ZSA9IGRvbUVsZW1lbnQubXVsdGlwbGU7XG4gICAgICAgICAgd2FybkZvclByb3BEaWZmZXJlbmNlKHByb3BLZXksIHNlcnZlclZhbHVlLCB2YWx1ZSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnbXV0ZWQnOlxuICAgICAgICB7XG4gICAgICAgICAgZXh0cmFBdHRyaWJ1dGVzLmRlbGV0ZShwcm9wS2V5KTtcbiAgICAgICAgICB2YXIgX3NlcnZlclZhbHVlMiA9IGRvbUVsZW1lbnQubXV0ZWQ7XG4gICAgICAgICAgd2FybkZvclByb3BEaWZmZXJlbmNlKHByb3BLZXksIF9zZXJ2ZXJWYWx1ZTIsIHZhbHVlKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdhdXRvRm9jdXMnOlxuICAgICAgICB7XG4gICAgICAgICAgZXh0cmFBdHRyaWJ1dGVzLmRlbGV0ZSgnYXV0b2ZvY3VzJyk7XG4gICAgICAgICAgdmFyIF9zZXJ2ZXJWYWx1ZTMgPSBkb21FbGVtZW50LmF1dG9mb2N1cztcbiAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgX3NlcnZlclZhbHVlMywgdmFsdWUpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ3NyYyc6XG4gICAgICBjYXNlICdocmVmJzpcblxuICAgICAgICBoeWRyYXRlU2FuaXRpemVkQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIHByb3BLZXksIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgY2FzZSAnYWN0aW9uJzpcbiAgICAgIGNhc2UgJ2Zvcm1BY3Rpb24nOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9zZXJ2ZXJWYWx1ZTQgPSBkb21FbGVtZW50LmdldEF0dHJpYnV0ZShwcm9wS2V5KTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlcy5kZWxldGUocHJvcEtleS50b0xvd2VyQ2FzZSgpKTsgLy8gVGhlIHNlcnZlciBjYW4gc2V0IHRoZXNlIGV4dHJhIHByb3BlcnRpZXMgdG8gaW1wbGVtZW50IGFjdGlvbnMuXG4gICAgICAgICAgICAvLyBTbyB3ZSByZW1vdmUgdGhlbSBmcm9tIHRoZSBleHRyYSBhdHRyaWJ1dGVzIHdhcm5pbmdzLlxuXG4gICAgICAgICAgICBpZiAocHJvcEtleSA9PT0gJ2Zvcm1BY3Rpb24nKSB7XG4gICAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlcy5kZWxldGUoJ25hbWUnKTtcbiAgICAgICAgICAgICAgZXh0cmFBdHRyaWJ1dGVzLmRlbGV0ZSgnZm9ybWVuY3R5cGUnKTtcbiAgICAgICAgICAgICAgZXh0cmFBdHRyaWJ1dGVzLmRlbGV0ZSgnZm9ybW1ldGhvZCcpO1xuICAgICAgICAgICAgICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKCdmb3JtdGFyZ2V0Jyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKCdlbmN0eXBlJyk7XG4gICAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlcy5kZWxldGUoJ21ldGhvZCcpO1xuICAgICAgICAgICAgICBleHRyYUF0dHJpYnV0ZXMuZGVsZXRlKCd0YXJnZXQnKTtcbiAgICAgICAgICAgIH0gLy8gSWRlYWxseSB3ZSBzaG91bGQgYmUgYWJsZSB0byB3YXJuIGlmIHRoZSBzZXJ2ZXIgdmFsdWUgd2FzIG5vdCBhIGZ1bmN0aW9uXG4gICAgICAgICAgICAvLyBob3dldmVyIHNpbmNlIHRoZSBmdW5jdGlvbiBjYW4gcmV0dXJuIGFueSBvZiB0aGVzZSBhdHRyaWJ1dGVzIGFueSB3YXkgaXRcbiAgICAgICAgICAgIC8vIHdhbnRzIGFzIGEgY3VzdG9tIHByb2dyZXNzaXZlIGVuaGFuY2VtZW50LCB0aGVyZSdzIG5vdGhpbmcgdG8gY29tcGFyZSB0by5cbiAgICAgICAgICAgIC8vIFdlIGNhbiBjaGVjayBpZiB0aGUgZnVuY3Rpb24gaGFzIHRoZSAkRk9STV9BQ1RJT04gcHJvcGVydHkgb24gdGhlIGNsaWVudFxuICAgICAgICAgICAgLy8gYW5kIGlmIGl0J3Mgbm90LCB3YXJuLCBidXQgdGhhdCdzIGFuIHVubmVjZXNzYXJ5IGNvbnN0cmFpbnQgdGhhdCB0aGV5XG4gICAgICAgICAgICAvLyBoYXZlIHRvIGhhdmUgdGhlIGV4dHJhIGV4dGVuc2lvbiB0aGF0IGRvZXNuJ3QgZG8gYW55dGhpbmcgb24gdGhlIGNsaWVudC5cblxuXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKF9zZXJ2ZXJWYWx1ZTQgPT09IEVYUEVDVEVEX0ZPUk1fQUNUSU9OX1VSTCkge1xuICAgICAgICAgICAgZXh0cmFBdHRyaWJ1dGVzLmRlbGV0ZShwcm9wS2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgd2FybkZvclByb3BEaWZmZXJlbmNlKHByb3BLZXksICdmdW5jdGlvbicsIHZhbHVlKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGh5ZHJhdGVTYW5pdGl6ZWRBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgcHJvcEtleS50b0xvd2VyQ2FzZSgpLCB2YWx1ZSwgZXh0cmFBdHRyaWJ1dGVzKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ3hsaW5rSHJlZic6XG4gICAgICAgIGh5ZHJhdGVTYW5pdGl6ZWRBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgJ3hsaW5rOmhyZWYnLCB2YWx1ZSwgZXh0cmFBdHRyaWJ1dGVzKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ2NvbnRlbnRFZGl0YWJsZSc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBMb3dlci1jYXNlIEJvb2xlYW5pc2ggU3RyaW5nXG4gICAgICAgICAgaHlkcmF0ZUJvb2xlYW5pc2hBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgJ2NvbnRlbnRlZGl0YWJsZScsIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ3NwZWxsQ2hlY2snOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gTG93ZXItY2FzZSBCb29sZWFuaXNoIFN0cmluZ1xuICAgICAgICAgIGh5ZHJhdGVCb29sZWFuaXNoQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksICdzcGVsbGNoZWNrJywgdmFsdWUsIGV4dHJhQXR0cmlidXRlcyk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnZHJhZ2dhYmxlJzpcbiAgICAgIGNhc2UgJ2F1dG9SZXZlcnNlJzpcbiAgICAgIGNhc2UgJ2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQnOlxuICAgICAgY2FzZSAnZm9jdXNhYmxlJzpcbiAgICAgIGNhc2UgJ3ByZXNlcnZlQWxwaGEnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gQ2FzZS1zZW5zaXRpdmUgQm9vbGVhbmlzaCBTdHJpbmdcbiAgICAgICAgICBoeWRyYXRlQm9vbGVhbmlzaEF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCBwcm9wS2V5LCB2YWx1ZSwgZXh0cmFBdHRyaWJ1dGVzKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdhbGxvd0Z1bGxTY3JlZW4nOlxuICAgICAgY2FzZSAnYXN5bmMnOlxuICAgICAgY2FzZSAnYXV0b1BsYXknOlxuICAgICAgY2FzZSAnY29udHJvbHMnOlxuICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICBjYXNlICdkZWZlcic6XG4gICAgICBjYXNlICdkaXNhYmxlZCc6XG4gICAgICBjYXNlICdkaXNhYmxlUGljdHVyZUluUGljdHVyZSc6XG4gICAgICBjYXNlICdkaXNhYmxlUmVtb3RlUGxheWJhY2snOlxuICAgICAgY2FzZSAnZm9ybU5vVmFsaWRhdGUnOlxuICAgICAgY2FzZSAnaGlkZGVuJzpcbiAgICAgIGNhc2UgJ2xvb3AnOlxuICAgICAgY2FzZSAnbm9Nb2R1bGUnOlxuICAgICAgY2FzZSAnbm9WYWxpZGF0ZSc6XG4gICAgICBjYXNlICdvcGVuJzpcbiAgICAgIGNhc2UgJ3BsYXlzSW5saW5lJzpcbiAgICAgIGNhc2UgJ3JlYWRPbmx5JzpcbiAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgIGNhc2UgJ3JldmVyc2VkJzpcbiAgICAgIGNhc2UgJ3Njb3BlZCc6XG4gICAgICBjYXNlICdzZWFtbGVzcyc6XG4gICAgICBjYXNlICdpdGVtU2NvcGUnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gU29tZSBvZiB0aGVzZSBuZWVkIHRvIGJlIGxvd2VyIGNhc2UgdG8gcmVtb3ZlIHRoZW0gZnJvbSB0aGUgZXh0cmFBdHRyaWJ1dGVzIGxpc3QuXG4gICAgICAgICAgaHlkcmF0ZUJvb2xlYW5BdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgcHJvcEtleS50b0xvd2VyQ2FzZSgpLCB2YWx1ZSwgZXh0cmFBdHRyaWJ1dGVzKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdjYXB0dXJlJzpcbiAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAge1xuICAgICAgICAgIGh5ZHJhdGVPdmVybG9hZGVkQm9vbGVhbkF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCBwcm9wS2V5LCB2YWx1ZSwgZXh0cmFBdHRyaWJ1dGVzKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdjb2xzJzpcbiAgICAgIGNhc2UgJ3Jvd3MnOlxuICAgICAgY2FzZSAnc2l6ZSc6XG4gICAgICBjYXNlICdzcGFuJzpcbiAgICAgICAge1xuICAgICAgICAgIGh5ZHJhdGVQb3NpdGl2ZU51bWVyaWNBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgcHJvcEtleSwgdmFsdWUsIGV4dHJhQXR0cmlidXRlcyk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAncm93U3Bhbic6XG4gICAgICAgIHtcbiAgICAgICAgICBoeWRyYXRlTnVtZXJpY0F0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCAncm93c3BhbicsIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAge1xuICAgICAgICAgIGh5ZHJhdGVOdW1lcmljQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIHByb3BLZXksIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ3hIZWlnaHQnOlxuICAgICAgICBoeWRyYXRlQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksICd4LWhlaWdodCcsIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgY2FzZSAneGxpbmtBY3R1YXRlJzpcbiAgICAgICAgaHlkcmF0ZUF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCAneGxpbms6YWN0dWF0ZScsIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgY2FzZSAneGxpbmtBcmNyb2xlJzpcbiAgICAgICAgaHlkcmF0ZUF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCAneGxpbms6YXJjcm9sZScsIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgY2FzZSAneGxpbmtSb2xlJzpcbiAgICAgICAgaHlkcmF0ZUF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCAneGxpbms6cm9sZScsIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgY2FzZSAneGxpbmtTaG93JzpcbiAgICAgICAgaHlkcmF0ZUF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCAneGxpbms6c2hvdycsIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgY2FzZSAneGxpbmtUaXRsZSc6XG4gICAgICAgIGh5ZHJhdGVBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgJ3hsaW5rOnRpdGxlJywgdmFsdWUsIGV4dHJhQXR0cmlidXRlcyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICd4bGlua1R5cGUnOlxuICAgICAgICBoeWRyYXRlQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksICd4bGluazp0eXBlJywgdmFsdWUsIGV4dHJhQXR0cmlidXRlcyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICd4bWxCYXNlJzpcbiAgICAgICAgaHlkcmF0ZUF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCAneG1sOmJhc2UnLCB2YWx1ZSwgZXh0cmFBdHRyaWJ1dGVzKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ3htbExhbmcnOlxuICAgICAgICBoeWRyYXRlQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksICd4bWw6bGFuZycsIHZhbHVlLCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgY2FzZSAneG1sU3BhY2UnOlxuICAgICAgICBoeWRyYXRlQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksICd4bWw6c3BhY2UnLCB2YWx1ZSwgZXh0cmFBdHRyaWJ1dGVzKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoIC8vIHNob3VsZElnbm9yZUF0dHJpYnV0ZVxuICAgICAgICAgIC8vIFdlIGhhdmUgYWxyZWFkeSBmaWx0ZXJlZCBvdXQgbnVsbC91bmRlZmluZWQgYW5kIHJlc2VydmVkIHdvcmRzLlxuICAgICAgICAgIHByb3BLZXkubGVuZ3RoID4gMiAmJiAocHJvcEtleVswXSA9PT0gJ28nIHx8IHByb3BLZXlbMF0gPT09ICdPJykgJiYgKHByb3BLZXlbMV0gPT09ICduJyB8fCBwcm9wS2V5WzFdID09PSAnTicpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgYXR0cmlidXRlTmFtZSA9IGdldEF0dHJpYnV0ZUFsaWFzKHByb3BLZXkpO1xuICAgICAgICAgIHZhciBpc01pc21hdGNoRHVlVG9CYWRDYXNpbmcgPSBmYWxzZTsgLy8gVGhpcyBpcyBhIERFVi1vbmx5IHBhdGhcblxuICAgICAgICAgIHZhciBob3N0Q29udGV4dERldiA9IGhvc3RDb250ZXh0O1xuICAgICAgICAgIHZhciBob3N0Q29udGV4dFByb2QgPSBob3N0Q29udGV4dERldi5jb250ZXh0O1xuXG4gICAgICAgICAgaWYgKGhvc3RDb250ZXh0UHJvZCA9PT0gSG9zdENvbnRleHROYW1lc3BhY2VOb25lICYmIHRhZyAhPT0gJ3N2ZycgJiYgdGFnICE9PSAnbWF0aCcpIHtcbiAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlcy5kZWxldGUoYXR0cmlidXRlTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BLZXkpO1xuXG4gICAgICAgICAgICBpZiAoc3RhbmRhcmROYW1lICE9PSBudWxsICYmIHN0YW5kYXJkTmFtZSAhPT0gcHJvcEtleSkge1xuICAgICAgICAgICAgICAvLyBJZiBhbiBTVkcgcHJvcCBpcyBzdXBwbGllZCB3aXRoIGJhZCBjYXNpbmcsIGl0IHdpbGxcbiAgICAgICAgICAgICAgLy8gYmUgc3VjY2Vzc2Z1bGx5IHBhcnNlZCBmcm9tIEhUTUwsIGJ1dCB3aWxsIHByb2R1Y2UgYSBtaXNtYXRjaFxuICAgICAgICAgICAgICAvLyAoYW5kIHdvdWxkIGJlIGluY29ycmVjdGx5IHJlbmRlcmVkIG9uIHRoZSBjbGllbnQpLlxuICAgICAgICAgICAgICAvLyBIb3dldmVyLCB3ZSBhbHJlYWR5IHdhcm4gYWJvdXQgYmFkIGNhc2luZyBlbHNld2hlcmUuXG4gICAgICAgICAgICAgIC8vIFNvIHdlJ2xsIHNraXAgdGhlIG1pc2xlYWRpbmcgZXh0cmEgbWlzbWF0Y2ggd2FybmluZyBpbiB0aGlzIGNhc2UuXG4gICAgICAgICAgICAgIGlzTWlzbWF0Y2hEdWVUb0JhZENhc2luZyA9IHRydWU7XG4gICAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlcy5kZWxldGUoc3RhbmRhcmROYW1lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXh0cmFBdHRyaWJ1dGVzLmRlbGV0ZShhdHRyaWJ1dGVOYW1lKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgX3NlcnZlclZhbHVlNSA9IGdldFZhbHVlRm9yQXR0cmlidXRlKGRvbUVsZW1lbnQsIGF0dHJpYnV0ZU5hbWUsIHZhbHVlKTtcblxuICAgICAgICAgIGlmICghaXNNaXNtYXRjaER1ZVRvQmFkQ2FzaW5nKSB7XG4gICAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgX3NlcnZlclZhbHVlNSwgdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHRhZywgcHJvcHMsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYsIGhvc3RDb250ZXh0KSB7XG4gIHtcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50KHRhZywgcHJvcHMpO1xuICB9IC8vIFRPRE86IE1ha2Ugc3VyZSB0aGF0IHdlIGNoZWNrIGlzTW91bnRlZCBiZWZvcmUgZmlyaW5nIGFueSBvZiB0aGVzZSBldmVudHMuXG5cblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2RpYWxvZyc6XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdjYW5jZWwnLCBkb21FbGVtZW50KTtcbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Nsb3NlJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2lmcmFtZSc6XG4gICAgY2FzZSAnb2JqZWN0JzpcbiAgICBjYXNlICdlbWJlZCc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgbG9hZCBldmVudC5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2xvYWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndmlkZW8nOlxuICAgIGNhc2UgJ2F1ZGlvJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGVzZSBldmVudHMgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgYWxsIHRoZSBtZWRpYSBldmVudHMuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lZGlhRXZlbnRUeXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KG1lZGlhRXZlbnRUeXBlc1tpXSwgZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc291cmNlJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBlcnJvciBldmVudC5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2ltZyc6XG4gICAgY2FzZSAnaW1hZ2UnOlxuICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoZXNlIGV2ZW50cyBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciBlcnJvciBhbmQgbG9hZCBldmVudHMuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdlcnJvcicsIGRvbUVsZW1lbnQpO1xuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkZXRhaWxzJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSB0b2dnbGUgZXZlbnQuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCd0b2dnbGUnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW5wdXQnOlxuICAgICAge1xuICAgICAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdpbnB1dCcsIHByb3BzKTtcbiAgICAgIH0gLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cblxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpOyAvLyBUT0RPOiBNYWtlIHN1cmUgd2UgY2hlY2sgaWYgdGhpcyBpcyBzdGlsbCB1bm1vdW50ZWQgb3IgZG8gYW55IGNsZWFuXG4gICAgICAvLyB1cCBuZWNlc3Nhcnkgc2luY2Ugd2UgbmV2ZXIgc3RvcCB0cmFja2luZyBhbnltb3JlLlxuXG4gICAgICB2YWxpZGF0ZUlucHV0UHJvcHMoZG9tRWxlbWVudCwgcHJvcHMpOyAvLyBGb3IgaW5wdXQgYW5kIHRleHRhcmVhIHdlIGN1cnJlbnQgYWx3YXlzIHNldCB0aGUgdmFsdWUgcHJvcGVydHkgYXRcbiAgICAgIC8vIHBvc3QgbW91bnQgdG8gZm9yY2UgaXQgdG8gZGl2ZXJnZSBmcm9tIGF0dHJpYnV0ZXMuIEhvd2V2ZXIsIGZvclxuICAgICAgLy8gb3B0aW9uIGFuZCBzZWxlY3Qgd2UgZG9uJ3QgcXVpdGUgZG8gdGhlIHNhbWUgdGhpbmcgYW5kIHNlbGVjdFxuICAgICAgLy8gaXMgbm90IHJlc2lsaWVudCB0byB0aGUgRE9NIHN0YXRlIGNoYW5naW5nIHNvIHdlIGRvbid0IGRvIHRoYXQgaGVyZS5cbiAgICAgIC8vIFRPRE86IENvbnNpZGVyIG5vdCBkb2luZyB0aGlzIGZvciBpbnB1dCBhbmQgdGV4dGFyZWEuXG5cbiAgICAgIGluaXRJbnB1dChkb21FbGVtZW50LCBwcm9wcy52YWx1ZSwgcHJvcHMuZGVmYXVsdFZhbHVlLCBwcm9wcy5jaGVja2VkLCBwcm9wcy5kZWZhdWx0Q2hlY2tlZCwgcHJvcHMudHlwZSwgcHJvcHMubmFtZSwgdHJ1ZSk7XG4gICAgICB0cmFjayhkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgIHZhbGlkYXRlT3B0aW9uUHJvcHMoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAge1xuICAgICAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdzZWxlY3QnLCBwcm9wcyk7XG4gICAgICB9IC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBpbnZhbGlkIGV2ZW50LlxuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIHZhbGlkYXRlU2VsZWN0UHJvcHMoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICB7XG4gICAgICAgIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHMoJ3RleHRhcmVhJywgcHJvcHMpO1xuICAgICAgfSAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdpbnZhbGlkJywgZG9tRWxlbWVudCk7IC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXG5cbiAgICAgIHZhbGlkYXRlVGV4dGFyZWFQcm9wcyhkb21FbGVtZW50LCBwcm9wcyk7XG4gICAgICBpbml0VGV4dGFyZWEoZG9tRWxlbWVudCwgcHJvcHMudmFsdWUsIHByb3BzLmRlZmF1bHRWYWx1ZSwgcHJvcHMuY2hpbGRyZW4pO1xuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuOyAvLyBGb3IgdGV4dCBjb250ZW50IGNoaWxkcmVuIHdlIGNvbXBhcmUgYWdhaW5zdCB0ZXh0Q29udGVudC4gVGhpc1xuICAvLyBtaWdodCBtYXRjaCBhZGRpdGlvbmFsIEhUTUwgdGhhdCBpcyBoaWRkZW4gd2hlbiB3ZSByZWFkIGl0IHVzaW5nXG4gIC8vIHRleHRDb250ZW50LiBFLmcuIFwiZm9vXCIgd2lsbCBtYXRjaCBcImY8c3Bhbj5vbzwvc3Bhbj5cIiBidXQgdGhhdCBzdGlsbFxuICAvLyBzYXRpc2ZpZXMgb3VyIHJlcXVpcmVtZW50LiBPdXIgcmVxdWlyZW1lbnQgaXMgbm90IHRvIHByb2R1Y2UgcGVyZmVjdFxuICAvLyBIVE1MIGFuZCBhdHRyaWJ1dGVzLiBJZGVhbGx5IHdlIHNob3VsZCBwcmVzZXJ2ZSBzdHJ1Y3R1cmUgYnV0IGl0J3NcbiAgLy8gb2sgbm90IHRvIGlmIHRoZSB2aXNpYmxlIGNvbnRlbnQgaXMgc3RpbGwgZW5vdWdoIHRvIGluZGljYXRlIHdoYXRcbiAgLy8gZXZlbiBsaXN0ZW5lcnMgdGhlc2Ugbm9kZXMgbWlnaHQgYmUgd2lyZWQgdXAgdG8uXG4gIC8vIFRPRE86IFdhcm4gaWYgdGhlcmUgaXMgbW9yZSB0aGFuIGEgc2luZ2xlIHRleHROb2RlIGFzIGEgY2hpbGQuXG4gIC8vIFRPRE86IFNob3VsZCB3ZSB1c2UgZG9tRWxlbWVudC5maXJzdENoaWxkLm5vZGVWYWx1ZSB0byBjb21wYXJlP1xuXG4gIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBjaGlsZHJlbiA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAoZG9tRWxlbWVudC50ZXh0Q29udGVudCAhPT0gJycgKyBjaGlsZHJlbikge1xuICAgICAgaWYgKHByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgICBjaGVja0ZvclVubWF0Y2hlZFRleHQoZG9tRWxlbWVudC50ZXh0Q29udGVudCwgY2hpbGRyZW4sIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzQ29uY3VycmVudE1vZGUgfHwgIWVuYWJsZUNsaWVudFJlbmRlckZhbGxiYWNrT25UZXh0TWlzbWF0Y2gpIHtcbiAgICAgICAgLy8gV2UgcmVhbGx5IHNob3VsZCBiZSBwYXRjaGluZyB0aGlzIGluIHRoZSBjb21taXQgcGhhc2UgYnV0IHNpbmNlXG4gICAgICAgIC8vIHRoaXMgb25seSBhZmZlY3RzIGxlZ2FjeSBtb2RlIGh5ZHJhdGlvbiB3aGljaCBpcyBkZXByZWNhdGVkIGFueXdheVxuICAgICAgICAvLyB3ZSBjYW4gZ2V0IGF3YXkgd2l0aCBpdC5cbiAgICAgICAgLy8gSG9zdCBzaW5nbGV0b25zIGdldCB0aGVpciBjaGlsZHJlbiBhcHBlbmRlZCBhbmQgZG9uJ3QgdXNlIHRoZSB0ZXh0XG4gICAgICAgIC8vIGNvbnRlbnQgbWVjaGFuaXNtLlxuICAgICAgICBpZiAodGFnICE9PSAnYm9keScpIHtcbiAgICAgICAgICBkb21FbGVtZW50LnRleHRDb250ZW50ID0gY2hpbGRyZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocHJvcHMub25TY3JvbGwgIT0gbnVsbCkge1xuICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3Njcm9sbCcsIGRvbUVsZW1lbnQpO1xuICB9XG5cbiAgaWYgKHByb3BzLm9uU2Nyb2xsRW5kICE9IG51bGwpIHtcbiAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdzY3JvbGxlbmQnLCBkb21FbGVtZW50KTtcbiAgfVxuXG4gIGlmIChwcm9wcy5vbkNsaWNrICE9IG51bGwpIHtcbiAgICAvLyBUT0RPOiBUaGlzIGNhc3QgbWF5IG5vdCBiZSBzb3VuZCBmb3IgU1ZHLCBNYXRoTUwgb3IgY3VzdG9tIGVsZW1lbnRzLlxuICAgIHRyYXBDbGlja09uTm9uSW50ZXJhY3RpdmVFbGVtZW50KGRvbUVsZW1lbnQpO1xuICB9XG5cbiAgaWYgKHNob3VsZFdhcm5EZXYpIHtcbiAgICB2YXIgZXh0cmFBdHRyaWJ1dGVzID0gbmV3IFNldCgpO1xuICAgIHZhciBhdHRyaWJ1dGVzID0gZG9tRWxlbWVudC5hdHRyaWJ1dGVzO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGF0dHJpYnV0ZXMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgbmFtZSA9IGF0dHJpYnV0ZXNbX2ldLm5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICAgIC8vIENvbnRyb2xsZWQgYXR0cmlidXRlcyBhcmUgbm90IHZhbGlkYXRlZFxuICAgICAgICAvLyBUT0RPOiBPbmx5IGlnbm9yZSB0aGVtIG9uIGNvbnRyb2xsZWQgdGFncy5cbiAgICAgICAgY2FzZSAndmFsdWUnOlxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2NoZWNrZWQnOlxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3NlbGVjdGVkJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIC8vIEludGVudGlvbmFsbHkgdXNlIHRoZSBvcmlnaW5hbCBuYW1lLlxuICAgICAgICAgIC8vIFNlZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzEwNjc2LlxuICAgICAgICAgIGV4dHJhQXR0cmlidXRlcy5hZGQoYXR0cmlidXRlc1tfaV0ubmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlzQ3VzdG9tRWxlbWVudCh0YWcpKSB7XG4gICAgICBkaWZmSHlkcmF0ZWRDdXN0b21Db21wb25lbnQoZG9tRWxlbWVudCwgdGFnLCBwcm9wcywgaG9zdENvbnRleHQsIGV4dHJhQXR0cmlidXRlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpZmZIeWRyYXRlZEdlbmVyaWNFbGVtZW50KGRvbUVsZW1lbnQsIHRhZywgcHJvcHMsIGhvc3RDb250ZXh0LCBleHRyYUF0dHJpYnV0ZXMpO1xuICAgIH1cblxuICAgIGlmIChleHRyYUF0dHJpYnV0ZXMuc2l6ZSA+IDAgJiYgcHJvcHMuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICB3YXJuRm9yRXh0cmFBdHRyaWJ1dGVzKGV4dHJhQXR0cmlidXRlcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRUZXh0KHRleHROb2RlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHZhciBpc0RpZmZlcmVudCA9IHRleHROb2RlLm5vZGVWYWx1ZSAhPT0gdGV4dDtcbiAgcmV0dXJuIGlzRGlmZmVyZW50O1xufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gYSA8JXM+IGluIDwlcz4uJywgY2hpbGQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwgcGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gdGhlIHRleHQgbm9kZSBcIiVzXCIgaW4gPCVzPi4nLCBjaGlsZC5ub2RlVmFsdWUsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0YWcsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIDwlcz4gaW4gPCVzPi4nLCB0YWcsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KSB7XG4gIHtcbiAgICBpZiAodGV4dCA9PT0gJycpIHtcbiAgICAgIC8vIFdlIGV4cGVjdCB0byBpbnNlcnQgZW1wdHkgdGV4dCBub2RlcyBzaW5jZSB0aGV5J3JlIG5vdCByZXByZXNlbnRlZCBpblxuICAgICAgLy8gdGhlIEhUTUwuXG4gICAgICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgaWYgd2UgY2FuIGp1c3QgYXZvaWQgaW5zZXJ0aW5nIGVtcHR5XG4gICAgICAvLyB0ZXh0IG5vZGVzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcblxuICAgIGVycm9yKCdFeHBlY3RlZCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgbWF0Y2hpbmcgdGV4dCBub2RlIGZvciBcIiVzXCIgaW4gPCVzPi4nLCB0ZXh0LCBwYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlKGRvbUVsZW1lbnQsIHRhZywgcHJvcHMpIHtcbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICByZXN0b3JlQ29udHJvbGxlZElucHV0U3RhdGUoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRUZXh0YXJlYVN0YXRlKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICByZXN0b3JlQ29udHJvbGxlZFNlbGVjdFN0YXRlKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgICAgIHJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUxpbmtQcm9wc0ZvclN0eWxlUmVzb3VyY2UocHJvcHMpIHtcbiAge1xuICAgIC8vIFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdoZW4gd2Uga25vdyB3ZSBhcmUgb3B0aW5nIGludG8gUmVzb3VyY2Ugc2VtYW50aWNzIChpLmUuIHByZWNlZGVuY2UgaXMgbm90IG51bGwpXG4gICAgdmFyIGhyZWYgPSBwcm9wcy5ocmVmLFxuICAgICAgICBvbkxvYWQgPSBwcm9wcy5vbkxvYWQsXG4gICAgICAgIG9uRXJyb3IgPSBwcm9wcy5vbkVycm9yLFxuICAgICAgICBkaXNhYmxlZCA9IHByb3BzLmRpc2FibGVkO1xuICAgIHZhciBpbmNsdWRlZFByb3BzID0gW107XG4gICAgaWYgKG9uTG9hZCkgaW5jbHVkZWRQcm9wcy5wdXNoKCdgb25Mb2FkYCcpO1xuICAgIGlmIChvbkVycm9yKSBpbmNsdWRlZFByb3BzLnB1c2goJ2BvbkVycm9yYCcpO1xuICAgIGlmIChkaXNhYmxlZCAhPSBudWxsKSBpbmNsdWRlZFByb3BzLnB1c2goJ2BkaXNhYmxlZGAnKTtcbiAgICB2YXIgaW5jbHVkZWRQcm9wc1BocmFzZSA9IHByb3BOYW1lc0xpc3RKb2luKGluY2x1ZGVkUHJvcHMsICdhbmQnKTtcbiAgICBpbmNsdWRlZFByb3BzUGhyYXNlICs9IGluY2x1ZGVkUHJvcHMubGVuZ3RoID09PSAxID8gJyBwcm9wJyA6ICcgcHJvcHMnO1xuICAgIHZhciB3aXRoQXJ0aWNsZVBocmFzZSA9IGluY2x1ZGVkUHJvcHMubGVuZ3RoID09PSAxID8gJ2FuICcgKyBpbmNsdWRlZFByb3BzUGhyYXNlIDogJ3RoZSAnICsgaW5jbHVkZWRQcm9wc1BocmFzZTtcblxuICAgIGlmIChpbmNsdWRlZFByb3BzLmxlbmd0aCkge1xuICAgICAgZXJyb3IoJ1JlYWN0IGVuY291bnRlcmVkIGEgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIGhyZWY9XCIlc1wiIC4uLiAvPiB3aXRoIGEgYHByZWNlZGVuY2VgIHByb3AgdGhhdCcgKyAnIGFsc28gaW5jbHVkZWQgJXMuIFRoZSBwcmVzZW5jZSBvZiBsb2FkaW5nIGFuZCBlcnJvciBoYW5kbGVycyBpbmRpY2F0ZXMgYW4gaW50ZW50IHRvIG1hbmFnZScgKyAnIHRoZSBzdHlsZXNoZWV0IGxvYWRpbmcgc3RhdGUgZnJvbSB5b3VyIGZyb20geW91ciBDb21wb25lbnQgY29kZSBhbmQgUmVhY3Qgd2lsbCBub3QgaG9pc3Qgb3InICsgJyBkZWR1cGxpY2F0ZSB0aGlzIHN0eWxlc2hlZXQuIElmIHlvdXIgaW50ZW50IHdhcyB0byBoYXZlIFJlYWN0IGhvaXN0IGFuZCBkZWR1cGxjaWF0ZSB0aGlzIHN0eWxlc2hlZXQnICsgJyB1c2luZyB0aGUgYHByZWNlZGVuY2VgIHByb3AgcmVtb3ZlIHRoZSAlcywgb3RoZXJ3aXNlIHJlbW92ZSB0aGUgYHByZWNlZGVuY2VgIHByb3AuJywgaHJlZiwgd2l0aEFydGljbGVQaHJhc2UsIGluY2x1ZGVkUHJvcHNQaHJhc2UpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHByb3BOYW1lc0xpc3RKb2luKGxpc3QsIGNvbWJpbmF0b3IpIHtcbiAgc3dpdGNoIChsaXN0Lmxlbmd0aCkge1xuICAgIGNhc2UgMDpcbiAgICAgIHJldHVybiAnJztcblxuICAgIGNhc2UgMTpcbiAgICAgIHJldHVybiBsaXN0WzBdO1xuXG4gICAgY2FzZSAyOlxuICAgICAgcmV0dXJuIGxpc3RbMF0gKyAnICcgKyBjb21iaW5hdG9yICsgJyAnICsgbGlzdFsxXTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbGlzdC5zbGljZSgwLCAtMSkuam9pbignLCAnKSArICcsICcgKyBjb21iaW5hdG9yICsgJyAnICsgbGlzdFtsaXN0Lmxlbmd0aCAtIDFdO1xuICB9XG59XG5cbnZhciBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xudmFyIFNVU1BFTlNFX1NUQVJUX0RBVEEgPSAnJCc7XG52YXIgU1VTUEVOU0VfRU5EX0RBVEEgPSAnLyQnO1xudmFyIFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSA9ICckPyc7XG52YXIgU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSA9ICckISc7XG52YXIgRk9STV9TVEFURV9JU19NQVRDSElORyA9ICdGISc7XG52YXIgRk9STV9TVEFURV9JU19OT1RfTUFUQ0hJTkcgPSAnRic7XG52YXIgU1RZTEUgPSAnc3R5bGUnO1xudmFyIEhvc3RDb250ZXh0TmFtZXNwYWNlTm9uZSA9IDA7XG52YXIgSG9zdENvbnRleHROYW1lc3BhY2VTdmcgPSAxO1xudmFyIEhvc3RDb250ZXh0TmFtZXNwYWNlTWF0aCA9IDI7XG52YXIgZXZlbnRzRW5hYmxlZCA9IG51bGw7XG52YXIgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xuXG5mdW5jdGlvbiBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpIHtcbiAgcmV0dXJuIHJvb3RDb250YWluZXJFbGVtZW50Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gcm9vdENvbnRhaW5lckVsZW1lbnQgOiByb290Q29udGFpbmVyRWxlbWVudC5vd25lckRvY3VtZW50O1xufVxuXG5mdW5jdGlvbiBnZXRSb290SG9zdENvbnRleHQocm9vdENvbnRhaW5lckluc3RhbmNlKSB7XG4gIHZhciB0eXBlO1xuICB2YXIgY29udGV4dDtcbiAgdmFyIG5vZGVUeXBlID0gcm9vdENvbnRhaW5lckluc3RhbmNlLm5vZGVUeXBlO1xuXG4gIHN3aXRjaCAobm9kZVR5cGUpIHtcbiAgICBjYXNlIERPQ1VNRU5UX05PREU6XG4gICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOlxuICAgICAge1xuICAgICAgICB0eXBlID0gbm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyAnI2RvY3VtZW50JyA6ICcjZnJhZ21lbnQnO1xuICAgICAgICB2YXIgcm9vdCA9IHJvb3RDb250YWluZXJJbnN0YW5jZS5kb2N1bWVudEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHJvb3QpIHtcbiAgICAgICAgICB2YXIgbmFtZXNwYWNlVVJJID0gcm9vdC5uYW1lc3BhY2VVUkk7XG4gICAgICAgICAgY29udGV4dCA9IG5hbWVzcGFjZVVSSSA/IGdldE93bkhvc3RDb250ZXh0KG5hbWVzcGFjZVVSSSkgOiBIb3N0Q29udGV4dE5hbWVzcGFjZU5vbmU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udGV4dCA9IEhvc3RDb250ZXh0TmFtZXNwYWNlTm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIGNvbnRhaW5lciA9IG5vZGVUeXBlID09PSBDT01NRU5UX05PREUgPyByb290Q29udGFpbmVySW5zdGFuY2UucGFyZW50Tm9kZSA6IHJvb3RDb250YWluZXJJbnN0YW5jZTtcbiAgICAgICAgdHlwZSA9IGNvbnRhaW5lci50YWdOYW1lO1xuICAgICAgICB2YXIgX25hbWVzcGFjZVVSSSA9IGNvbnRhaW5lci5uYW1lc3BhY2VVUkk7XG5cbiAgICAgICAgaWYgKCFfbmFtZXNwYWNlVVJJKSB7XG4gICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdmcnOlxuICAgICAgICAgICAgICBjb250ZXh0ID0gSG9zdENvbnRleHROYW1lc3BhY2VTdmc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdtYXRoJzpcbiAgICAgICAgICAgICAgY29udGV4dCA9IEhvc3RDb250ZXh0TmFtZXNwYWNlTWF0aDtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIGNvbnRleHQgPSBIb3N0Q29udGV4dE5hbWVzcGFjZU5vbmU7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgb3duQ29udGV4dCA9IGdldE93bkhvc3RDb250ZXh0KF9uYW1lc3BhY2VVUkkpO1xuICAgICAgICAgIGNvbnRleHQgPSBnZXRDaGlsZEhvc3RDb250ZXh0UHJvZChvd25Db250ZXh0LCB0eXBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG5cbiAge1xuICAgIHZhciB2YWxpZGF0ZWRUYWcgPSB0eXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm9EZXYobnVsbCwgdmFsaWRhdGVkVGFnKTtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgIGFuY2VzdG9ySW5mbzogYW5jZXN0b3JJbmZvXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRPd25Ib3N0Q29udGV4dChuYW1lc3BhY2VVUkkpIHtcbiAgc3dpdGNoIChuYW1lc3BhY2VVUkkpIHtcbiAgICBjYXNlIFNWR19OQU1FU1BBQ0U6XG4gICAgICByZXR1cm4gSG9zdENvbnRleHROYW1lc3BhY2VTdmc7XG5cbiAgICBjYXNlIE1BVEhfTkFNRVNQQUNFOlxuICAgICAgcmV0dXJuIEhvc3RDb250ZXh0TmFtZXNwYWNlTWF0aDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gSG9zdENvbnRleHROYW1lc3BhY2VOb25lO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldENoaWxkSG9zdENvbnRleHRQcm9kKHBhcmVudE5hbWVzcGFjZSwgdHlwZSkge1xuICBpZiAocGFyZW50TmFtZXNwYWNlID09PSBIb3N0Q29udGV4dE5hbWVzcGFjZU5vbmUpIHtcbiAgICAvLyBObyAob3IgZGVmYXVsdCkgcGFyZW50IG5hbWVzcGFjZTogcG90ZW50aWFsIGVudHJ5IHBvaW50LlxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnc3ZnJzpcbiAgICAgICAgcmV0dXJuIEhvc3RDb250ZXh0TmFtZXNwYWNlU3ZnO1xuXG4gICAgICBjYXNlICdtYXRoJzpcbiAgICAgICAgcmV0dXJuIEhvc3RDb250ZXh0TmFtZXNwYWNlTWF0aDtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIEhvc3RDb250ZXh0TmFtZXNwYWNlTm9uZTtcbiAgICB9XG4gIH1cblxuICBpZiAocGFyZW50TmFtZXNwYWNlID09PSBIb3N0Q29udGV4dE5hbWVzcGFjZVN2ZyAmJiB0eXBlID09PSAnZm9yZWlnbk9iamVjdCcpIHtcbiAgICAvLyBXZSdyZSBsZWF2aW5nIFNWRy5cbiAgICByZXR1cm4gSG9zdENvbnRleHROYW1lc3BhY2VOb25lO1xuICB9IC8vIEJ5IGRlZmF1bHQsIHBhc3MgbmFtZXNwYWNlIGJlbG93LlxuXG5cbiAgcmV0dXJuIHBhcmVudE5hbWVzcGFjZTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2hpbGRIb3N0Q29udGV4dChwYXJlbnRIb3N0Q29udGV4dCwgdHlwZSkge1xuICB7XG4gICAgdmFyIHBhcmVudEhvc3RDb250ZXh0RGV2ID0gcGFyZW50SG9zdENvbnRleHQ7XG4gICAgdmFyIGNvbnRleHQgPSBnZXRDaGlsZEhvc3RDb250ZXh0UHJvZChwYXJlbnRIb3N0Q29udGV4dERldi5jb250ZXh0LCB0eXBlKTtcbiAgICB2YXIgYW5jZXN0b3JJbmZvID0gdXBkYXRlZEFuY2VzdG9ySW5mb0RldihwYXJlbnRIb3N0Q29udGV4dERldi5hbmNlc3RvckluZm8sIHR5cGUpO1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgYW5jZXN0b3JJbmZvOiBhbmNlc3RvckluZm9cbiAgICB9O1xuICB9XG59XG5mdW5jdGlvbiBnZXRQdWJsaWNJbnN0YW5jZShpbnN0YW5jZSkge1xuICByZXR1cm4gaW5zdGFuY2U7XG59XG5mdW5jdGlvbiBwcmVwYXJlRm9yQ29tbWl0KGNvbnRhaW5lckluZm8pIHtcbiAgZXZlbnRzRW5hYmxlZCA9IGlzRW5hYmxlZCgpO1xuICBzZWxlY3Rpb25JbmZvcm1hdGlvbiA9IGdldFNlbGVjdGlvbkluZm9ybWF0aW9uKCk7XG4gIHZhciBhY3RpdmVJbnN0YW5jZSA9IG51bGw7XG5cbiAgc2V0RW5hYmxlZChmYWxzZSk7XG4gIHJldHVybiBhY3RpdmVJbnN0YW5jZTtcbn1cbmZ1bmN0aW9uIHJlc2V0QWZ0ZXJDb21taXQoY29udGFpbmVySW5mbykge1xuICByZXN0b3JlU2VsZWN0aW9uKHNlbGVjdGlvbkluZm9ybWF0aW9uKTtcbiAgc2V0RW5hYmxlZChldmVudHNFbmFibGVkKTtcbiAgZXZlbnRzRW5hYmxlZCA9IG51bGw7XG4gIHNlbGVjdGlvbkluZm9ybWF0aW9uID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUhvaXN0YWJsZUluc3RhbmNlKHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckluc3RhbmNlKTtcbiAgdmFyIGRvbUVsZW1lbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIGRvbUVsZW1lbnQpO1xuICB1cGRhdGVGaWJlclByb3BzKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgc2V0SW5pdGlhbFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdHlwZSwgcHJvcHMpO1xuICBtYXJrTm9kZUFzSG9pc3RhYmxlKGRvbUVsZW1lbnQpO1xuICByZXR1cm4gZG9tRWxlbWVudDtcbn1cbnZhciB3YXJuZWRVbmtub3duVGFncyA9IHtcbiAgLy8gVGhlcmUgYXJlIHdvcmtpbmcgcG9seWZpbGxzIGZvciA8ZGlhbG9nPi4gTGV0IHBlb3BsZSB1c2UgaXQuXG4gIGRpYWxvZzogdHJ1ZSxcbiAgLy8gRWxlY3Ryb24gc2hpcHMgYSBjdXN0b20gPHdlYnZpZXc+IHRhZyB0byBkaXNwbGF5IGV4dGVybmFsIHdlYiBjb250ZW50IGluXG4gIC8vIGFuIGlzb2xhdGVkIGZyYW1lIGFuZCBwcm9jZXNzLlxuICAvLyBUaGlzIHRhZyBpcyBub3QgcHJlc2VudCBpbiBub24gRWxlY3Ryb24gZW52aXJvbm1lbnRzIHN1Y2ggYXMgSlNEb20gd2hpY2hcbiAgLy8gaXMgb2Z0ZW4gdXNlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAgLy8gQHNlZSBodHRwczovL2VsZWN0cm9uanMub3JnL2RvY3MvYXBpL3dlYnZpZXctdGFnXG4gIHdlYnZpZXc6IHRydWVcbn07XG5mdW5jdGlvbiBjcmVhdGVJbnN0YW5jZSh0eXBlLCBwcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCwgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xuICB2YXIgaG9zdENvbnRleHRQcm9kO1xuXG4gIHtcbiAgICAvLyBUT0RPOiB0YWtlIG5hbWVzcGFjZSBpbnRvIGFjY291bnQgd2hlbiB2YWxpZGF0aW5nLlxuICAgIHZhciBob3N0Q29udGV4dERldiA9IGhvc3RDb250ZXh0O1xuICAgIHZhbGlkYXRlRE9NTmVzdGluZyh0eXBlLCBob3N0Q29udGV4dERldi5hbmNlc3RvckluZm8pO1xuICAgIGhvc3RDb250ZXh0UHJvZCA9IGhvc3RDb250ZXh0RGV2LmNvbnRleHQ7XG4gIH1cblxuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldE93bmVyRG9jdW1lbnRGcm9tUm9vdENvbnRhaW5lcihyb290Q29udGFpbmVySW5zdGFuY2UpO1xuICB2YXIgZG9tRWxlbWVudDtcblxuICBzd2l0Y2ggKGhvc3RDb250ZXh0UHJvZCkge1xuICAgIGNhc2UgSG9zdENvbnRleHROYW1lc3BhY2VTdmc6XG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05BTUVTUEFDRSwgdHlwZSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSG9zdENvbnRleHROYW1lc3BhY2VNYXRoOlxuICAgICAgZG9tRWxlbWVudCA9IG93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE1BVEhfTkFNRVNQQUNFLCB0eXBlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlICdzdmcnOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGRvbUVsZW1lbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTkFNRVNQQUNFLCB0eXBlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlICdtYXRoJzpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTUFUSF9OQU1FU1BBQ0UsIHR5cGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgICAge1xuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBzY3JpcHQgdmlhIC5pbm5lckhUTUwgc28gaXRzIFwicGFyc2VyLWluc2VydGVkXCIgZmxhZyBpc1xuICAgICAgICAgICAgLy8gc2V0IHRvIHRydWUgYW5kIGl0IGRvZXMgbm90IGV4ZWN1dGVcbiAgICAgICAgICAgIHZhciBkaXYgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgICBkaXYuaW5uZXJIVE1MID0gJzxzY3JpcHQ+PCcgKyAnL3NjcmlwdD4nOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICAvLyBUaGlzIGlzIGd1YXJhbnRlZWQgdG8geWllbGQgYSBzY3JpcHQgZWxlbWVudC5cblxuICAgICAgICAgICAgdmFyIGZpcnN0Q2hpbGQgPSBkaXYuZmlyc3RDaGlsZDtcbiAgICAgICAgICAgIGRvbUVsZW1lbnQgPSBkaXYucmVtb3ZlQ2hpbGQoZmlyc3RDaGlsZCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnLCB7XG4gICAgICAgICAgICAgICAgaXM6IHByb3BzLmlzXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2VwYXJhdGUgZWxzZSBicmFuY2ggaW5zdGVhZCBvZiB1c2luZyBgcHJvcHMuaXMgfHwgdW5kZWZpbmVkYCBhYm92ZSBiZWNhdXNlIG9mIGEgRmlyZWZveCBidWcuXG4gICAgICAgICAgICAgIC8vIFNlZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzY4OTZcbiAgICAgICAgICAgICAgLy8gYW5kIGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjI0MFxuICAgICAgICAgICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHByb3BzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgIGRvbUVsZW1lbnQubXVsdGlwbGUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5zaXplKSB7XG4gICAgICAgICAgICAgIC8vIFNldHRpbmcgYSBzaXplIGdyZWF0ZXIgdGhhbiAxIGNhdXNlcyBhIHNlbGVjdCB0byBiZWhhdmUgbGlrZSBgbXVsdGlwbGU9dHJ1ZWAsIHdoZXJlXG4gICAgICAgICAgICAgIC8vIGl0IGlzIHBvc3NpYmxlIHRoYXQgbm8gb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gYSBzZWxlY3QgaW4gXCJzaW5nbGUgc2VsZWN0aW9uIG1vZGVcIi5cbiAgICAgICAgICAgICAgZG9tRWxlbWVudC5zaXplID0gcHJvcHMuc2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wcy5pcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgZG9tRWxlbWVudCA9IG93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlLCB7XG4gICAgICAgICAgICAgICAgaXM6IHByb3BzLmlzXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2VwYXJhdGUgZWxzZSBicmFuY2ggaW5zdGVhZCBvZiB1c2luZyBgcHJvcHMuaXMgfHwgdW5kZWZpbmVkYCBhYm92ZSBiZWNhdXNlIG9mIGEgRmlyZWZveCBidWcuXG4gICAgICAgICAgICAgIC8vIFNlZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzY4OTZcbiAgICAgICAgICAgICAgLy8gYW5kIGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjI0MFxuICAgICAgICAgICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmICh0eXBlLmluZGV4T2YoJy0nKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAvLyBXZSdyZSBub3QgU1ZHL01hdGhNTCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIGRhc2gsIHNvIHdlJ3JlIG5vdCBhIGN1c3RvbSBlbGVtZW50XG4gICAgICAgICAgICAgICAgLy8gRXZlbiBpZiB5b3UgdXNlIGBpc2AsIHRoZXNlIHNob3VsZCBiZSBvZiBrbm93biB0eXBlIGFuZCBsb3dlciBjYXNlLlxuICAgICAgICAgICAgICAgIGlmICh0eXBlICE9PSB0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCc8JXMgLz4gaXMgdXNpbmcgaW5jb3JyZWN0IGNhc2luZy4gJyArICdVc2UgUGFzY2FsQ2FzZSBmb3IgUmVhY3QgY29tcG9uZW50cywgJyArICdvciBsb3dlcmNhc2UgZm9yIEhUTUwgZWxlbWVudHMuJywgdHlwZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG4gICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRvbUVsZW1lbnQpID09PSAnW29iamVjdCBIVE1MVW5rbm93bkVsZW1lbnRdJyAmJiAhaGFzT3duUHJvcGVydHkuY2FsbCh3YXJuZWRVbmtub3duVGFncywgdHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgIHdhcm5lZFVua25vd25UYWdzW3R5cGVdID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgICAgZXJyb3IoJ1RoZSB0YWcgPCVzPiBpcyB1bnJlY29nbml6ZWQgaW4gdGhpcyBicm93c2VyLiAnICsgJ0lmIHlvdSBtZWFudCB0byByZW5kZXIgYSBSZWFjdCBjb21wb25lbnQsIHN0YXJ0IGl0cyBuYW1lIHdpdGggJyArICdhbiB1cHBlcmNhc2UgbGV0dGVyLicsIHR5cGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cblxuICB9XG5cbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgZG9tRWxlbWVudCk7XG4gIHVwZGF0ZUZpYmVyUHJvcHMoZG9tRWxlbWVudCwgcHJvcHMpO1xuICByZXR1cm4gZG9tRWxlbWVudDtcbn1cbmZ1bmN0aW9uIGFwcGVuZEluaXRpYWxDaGlsZChwYXJlbnRJbnN0YW5jZSwgY2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuZnVuY3Rpb24gZmluYWxpemVJbml0aWFsQ2hpbGRyZW4oZG9tRWxlbWVudCwgdHlwZSwgcHJvcHMsIGhvc3RDb250ZXh0KSB7XG4gIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzKTtcblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdidXR0b24nOlxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIHJldHVybiAhIXByb3BzLmF1dG9Gb2N1cztcblxuICAgIGNhc2UgJ2ltZyc6XG4gICAgICByZXR1cm4gdHJ1ZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIHNob3VsZFNldFRleHRDb250ZW50KHR5cGUsIHByb3BzKSB7XG4gIHJldHVybiB0eXBlID09PSAndGV4dGFyZWEnIHx8IHR5cGUgPT09ICdub3NjcmlwdCcgfHwgdHlwZW9mIHByb3BzLmNoaWxkcmVuID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdudW1iZXInIHx8IHR5cGVvZiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCA9PT0gJ29iamVjdCcgJiYgcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgIT09IG51bGwgJiYgcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sICE9IG51bGw7XG59XG5mdW5jdGlvbiBjcmVhdGVUZXh0SW5zdGFuY2UodGV4dCwgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCwgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xuICB7XG4gICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XG4gICAgdmFyIGFuY2VzdG9yID0gaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLmN1cnJlbnQ7XG5cbiAgICBpZiAoYW5jZXN0b3IgIT0gbnVsbCkge1xuICAgICAgdmFsaWRhdGVUZXh0TmVzdGluZyh0ZXh0LCBhbmNlc3Rvci50YWcpO1xuICAgIH1cbiAgfVxuXG4gIHZhciB0ZXh0Tm9kZSA9IGdldE93bmVyRG9jdW1lbnRGcm9tUm9vdENvbnRhaW5lcihyb290Q29udGFpbmVySW5zdGFuY2UpLmNyZWF0ZVRleHROb2RlKHRleHQpO1xuICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCB0ZXh0Tm9kZSk7XG4gIHJldHVybiB0ZXh0Tm9kZTtcbn1cbmZ1bmN0aW9uIGdldEN1cnJlbnRFdmVudFByaW9yaXR5KCkge1xuICB2YXIgY3VycmVudEV2ZW50ID0gd2luZG93LmV2ZW50O1xuXG4gIGlmIChjdXJyZW50RXZlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBEZWZhdWx0RXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIHJldHVybiBnZXRFdmVudFByaW9yaXR5KGN1cnJlbnRFdmVudC50eXBlKTtcbn1cbnZhciBjdXJyZW50UG9wc3RhdGVUcmFuc2l0aW9uRXZlbnQgPSBudWxsO1xuZnVuY3Rpb24gc2hvdWxkQXR0ZW1wdEVhZ2VyVHJhbnNpdGlvbigpIHtcbiAgdmFyIGV2ZW50ID0gd2luZG93LmV2ZW50O1xuXG4gIGlmIChldmVudCAmJiBldmVudC50eXBlID09PSAncG9wc3RhdGUnKSB7XG4gICAgLy8gVGhpcyBpcyBhIHBvcHN0YXRlIGV2ZW50LiBBdHRlbXB0IHRvIHJlbmRlciBhbnkgdHJhbnNpdGlvbiBkdXJpbmcgdGhpc1xuICAgIC8vIGV2ZW50IHN5bmNocm9ub3VzbHkuIFVubGVzcyB3ZSBhbHJlYWR5IGF0dGVtcHRlZCBkdXJpbmcgdGhpcyBldmVudC5cbiAgICBpZiAoZXZlbnQgPT09IGN1cnJlbnRQb3BzdGF0ZVRyYW5zaXRpb25FdmVudCkge1xuICAgICAgLy8gV2UgYWxyZWFkeSBhdHRlbXB0ZWQgdG8gcmVuZGVyIHRoaXMgcG9wc3RhdGUgdHJhbnNpdGlvbiBzeW5jaHJvbm91c2x5LlxuICAgICAgLy8gQW55IHN1YnNlcXVlbnQgYXR0ZW1wdHMgbXVzdCBoYXZlIGhhcHBlbmVkIGFzIHRoZSByZXN1bHQgb2YgYSBkZXJpdmVkXG4gICAgICAvLyB1cGRhdGUsIGxpa2Ugc3RhcnRUcmFuc2l0aW9uIGluc2lkZSB1c2VFZmZlY3QsIG9yIHVzZURWLiBTd2l0Y2ggYmFjayB0b1xuICAgICAgLy8gdGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIGFsbCByZW1haW5pbmcgdHJhbnNpdGlvbnMgZHVyaW5nIHRoZSBjdXJyZW50XG4gICAgICAvLyBwb3BzdGF0ZSBldmVudC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgdGhlIGN1cnJlbnQgZXZlbnQgaW4gY2FzZSBhIGRlcml2ZWQgdHJhbnNpdGlvbiBpcyBzY2hlZHVsZWQuXG4gICAgICAvLyAoUmVmZXIgdG8gcHJldmlvdXMgYnJhbmNoLilcbiAgICAgIGN1cnJlbnRQb3BzdGF0ZVRyYW5zaXRpb25FdmVudCA9IGV2ZW50O1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9IC8vIFdlJ3JlIG5vdCBpbnNpZGUgYSBwb3BzdGF0ZSBldmVudC5cblxuXG4gIGN1cnJlbnRQb3BzdGF0ZVRyYW5zaXRpb25FdmVudCA9IG51bGw7XG4gIHJldHVybiBmYWxzZTtcbn1cbi8vIGlmIGEgY29tcG9uZW50IGp1c3QgaW1wb3J0cyBSZWFjdERPTSAoZS5nLiBmb3IgZmluZERPTU5vZGUpLlxuLy8gU29tZSBlbnZpcm9ubWVudHMgbWlnaHQgbm90IGhhdmUgc2V0VGltZW91dCBvciBjbGVhclRpbWVvdXQuXG5cbnZhciBzY2hlZHVsZVRpbWVvdXQgPSB0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJyA/IHNldFRpbWVvdXQgOiB1bmRlZmluZWQ7XG52YXIgY2FuY2VsVGltZW91dCA9IHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBjbGVhclRpbWVvdXQgOiB1bmRlZmluZWQ7XG52YXIgbm9UaW1lb3V0ID0gLTE7XG52YXIgbG9jYWxQcm9taXNlID0gdHlwZW9mIFByb21pc2UgPT09ICdmdW5jdGlvbicgPyBQcm9taXNlIDogdW5kZWZpbmVkO1xuZnVuY3Rpb24gcHJlcGFyZVBvcnRhbE1vdW50KHBvcnRhbEluc3RhbmNlKSB7XG4gIGxpc3RlblRvQWxsU3VwcG9ydGVkRXZlbnRzKHBvcnRhbEluc3RhbmNlKTtcbn1cbnZhciBzY2hlZHVsZU1pY3JvdGFzayA9IHR5cGVvZiBxdWV1ZU1pY3JvdGFzayA9PT0gJ2Z1bmN0aW9uJyA/IHF1ZXVlTWljcm90YXNrIDogdHlwZW9mIGxvY2FsUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgPyBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgcmV0dXJuIGxvY2FsUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oY2FsbGJhY2spLmNhdGNoKGhhbmRsZUVycm9ySW5OZXh0VGljayk7XG59IDogc2NoZWR1bGVUaW1lb3V0OyAvLyBUT0RPOiBEZXRlcm1pbmUgdGhlIGJlc3QgZmFsbGJhY2sgaGVyZS5cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3JJbk5leHRUaWNrKGVycm9yKSB7XG4gIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIHRocm93IGVycm9yO1xuICB9KTtcbn0gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gY29tbWl0TW91bnQoZG9tRWxlbWVudCwgdHlwZSwgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gRGVzcGl0ZSB0aGUgbmFtaW5nIHRoYXQgbWlnaHQgaW1wbHkgb3RoZXJ3aXNlLCB0aGlzIG1ldGhvZCBvbmx5XG4gIC8vIGZpcmVzIGlmIHRoZXJlIGlzIGFuIGBVcGRhdGVgIGVmZmVjdCBzY2hlZHVsZWQgZHVyaW5nIG1vdW50aW5nLlxuICAvLyBUaGlzIGhhcHBlbnMgaWYgYGZpbmFsaXplSW5pdGlhbENoaWxkcmVuYCByZXR1cm5zIGB0cnVlYCAod2hpY2ggaXRcbiAgLy8gZG9lcyB0byBpbXBsZW1lbnQgdGhlIGBhdXRvRm9jdXNgIGF0dHJpYnV0ZSBvbiB0aGUgY2xpZW50KS4gQnV0XG4gIC8vIHRoZXJlIGFyZSBhbHNvIG90aGVyIGNhc2VzIHdoZW4gdGhpcyBtaWdodCBoYXBwZW4gKHN1Y2ggYXMgcGF0Y2hpbmdcbiAgLy8gdXAgdGV4dCBjb250ZW50IGR1cmluZyBoeWRyYXRpb24gbWlzbWF0Y2gpLiBTbyB3ZSdsbCBjaGVjayB0aGlzIGFnYWluLlxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdidXR0b24nOlxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIGlmIChuZXdQcm9wcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgZG9tRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlICdpbWcnOlxuICAgICAge1xuICAgICAgICBpZiAobmV3UHJvcHMuc3JjKSB7XG4gICAgICAgICAgZG9tRWxlbWVudC5zcmMgPSBuZXdQcm9wcy5zcmM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNvbW1pdFVwZGF0ZShkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gRGlmZiBhbmQgdXBkYXRlIHRoZSBwcm9wZXJ0aWVzLlxuICB1cGRhdGVQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHR5cGUsIG9sZFByb3BzLCBuZXdQcm9wcyk7IC8vIFVwZGF0ZSB0aGUgcHJvcHMgaGFuZGxlIHNvIHRoYXQgd2Uga25vdyB3aGljaCBwcm9wcyBhcmUgdGhlIG9uZXMgd2l0aFxuICAvLyB3aXRoIGN1cnJlbnQgZXZlbnQgaGFuZGxlcnMuXG5cbiAgdXBkYXRlRmliZXJQcm9wcyhkb21FbGVtZW50LCBuZXdQcm9wcyk7XG59XG5mdW5jdGlvbiByZXNldFRleHRDb250ZW50KGRvbUVsZW1lbnQpIHtcbiAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycpO1xufVxuZnVuY3Rpb24gY29tbWl0VGV4dFVwZGF0ZSh0ZXh0SW5zdGFuY2UsIG9sZFRleHQsIG5ld1RleHQpIHtcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9IG5ld1RleHQ7XG59XG5mdW5jdGlvbiBhcHBlbmRDaGlsZChwYXJlbnRJbnN0YW5jZSwgY2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuZnVuY3Rpb24gYXBwZW5kQ2hpbGRUb0NvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIHZhciBwYXJlbnROb2RlO1xuXG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIHBhcmVudE5vZGUgPSBjb250YWluZXIucGFyZW50Tm9kZTtcbiAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShjaGlsZCwgY29udGFpbmVyKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJlbnROb2RlID0gY29udGFpbmVyO1xuICAgIHBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoY2hpbGQpO1xuICB9IC8vIFRoaXMgY29udGFpbmVyIG1pZ2h0IGJlIHVzZWQgZm9yIGEgcG9ydGFsLlxuICAvLyBJZiBzb21ldGhpbmcgaW5zaWRlIGEgcG9ydGFsIGlzIGNsaWNrZWQsIHRoYXQgY2xpY2sgc2hvdWxkIGJ1YmJsZVxuICAvLyB0aHJvdWdoIHRoZSBSZWFjdCB0cmVlLiBIb3dldmVyLCBvbiBNb2JpbGUgU2FmYXJpIHRoZSBjbGljayB3b3VsZFxuICAvLyBuZXZlciBidWJibGUgdGhyb3VnaCB0aGUgKkRPTSogdHJlZSB1bmxlc3MgYW4gYW5jZXN0b3Igd2l0aCBvbmNsaWNrXG4gIC8vIGV2ZW50IGV4aXN0cy4gU28gd2Ugd291bGRuJ3Qgc2VlIGl0IGFuZCBkaXNwYXRjaCBpdC5cbiAgLy8gVGhpcyBpcyB3aHkgd2UgZW5zdXJlIHRoYXQgbm9uIFJlYWN0IHJvb3QgY29udGFpbmVycyBoYXZlIGlubGluZSBvbmNsaWNrXG4gIC8vIGRlZmluZWQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE5MThcblxuXG4gIHZhciByZWFjdFJvb3RDb250YWluZXIgPSBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcblxuICBpZiAoKHJlYWN0Um9vdENvbnRhaW5lciA9PT0gbnVsbCB8fCByZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZCkgJiYgcGFyZW50Tm9kZS5vbmNsaWNrID09PSBudWxsKSB7XG4gICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChwYXJlbnROb2RlKTtcbiAgfVxufVxuZnVuY3Rpb24gaW5zZXJ0QmVmb3JlKHBhcmVudEluc3RhbmNlLCBjaGlsZCwgYmVmb3JlQ2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG59XG5mdW5jdGlvbiBpbnNlcnRJbkNvbnRhaW5lckJlZm9yZShjb250YWluZXIsIGNoaWxkLCBiZWZvcmVDaGlsZCkge1xuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICBjb250YWluZXIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIGNvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICB9XG59XG5mdW5jdGlvbiBjbGVhclN1c3BlbnNlQm91bmRhcnkocGFyZW50SW5zdGFuY2UsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSBzdXNwZW5zZUluc3RhbmNlOyAvLyBEZWxldGUgYWxsIG5vZGVzIHdpdGhpbiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5LlxuICAvLyBUaGVyZSBtaWdodCBiZSBuZXN0ZWQgbm9kZXMgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvd1xuICAvLyBkZWVwIHdlIGFyZSBhbmQgb25seSBicmVhayBvdXQgd2hlbiB3ZSdyZSBiYWNrIG9uIHRvcC5cblxuICB2YXIgZGVwdGggPSAwO1xuXG4gIGRvIHtcbiAgICB2YXIgbmV4dE5vZGUgPSBub2RlLm5leHRTaWJsaW5nO1xuICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5vZGUpO1xuXG4gICAgaWYgKG5leHROb2RlICYmIG5leHROb2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbmV4dE5vZGUuZGF0YTtcblxuICAgICAgaWYgKGRhdGEgPT09IFNVU1BFTlNFX0VORF9EQVRBKSB7XG4gICAgICAgIGlmIChkZXB0aCA9PT0gMCkge1xuICAgICAgICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5leHROb2RlKTsgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuXG4gICAgICAgICAgcmV0cnlJZkJsb2NrZWRPbihzdXNwZW5zZUluc3RhbmNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICB9XG4gICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXSB3ZSBiYWlsIG91dCB3aGVuIHdlIGdldCBhIG51bGxcblxuXG4gICAgbm9kZSA9IG5leHROb2RlO1xuICB9IHdoaWxlIChub2RlKTsgLy8gVE9ETzogV2Fybiwgd2UgZGlkbid0IGZpbmQgdGhlIGVuZCBjb21tZW50IGJvdW5kYXJ5LlxuICAvLyBSZXRyeSBpZiBhbnkgZXZlbnQgcmVwbGF5aW5nIHdhcyBibG9ja2VkIG9uIHRoaXMuXG5cblxuICByZXRyeUlmQmxvY2tlZE9uKHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gY2xlYXJTdXNwZW5zZUJvdW5kYXJ5RnJvbUNvbnRhaW5lcihjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5KGNvbnRhaW5lci5wYXJlbnROb2RlLCBzdXNwZW5zZUluc3RhbmNlKTtcbiAgfSBlbHNlIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgIGNsZWFyU3VzcGVuc2VCb3VuZGFyeShjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpO1xuICB9IGVsc2UgOyAvLyBSZXRyeSBpZiBhbnkgZXZlbnQgcmVwbGF5aW5nIHdhcyBibG9ja2VkIG9uIHRoaXMuXG5cblxuICByZXRyeUlmQmxvY2tlZE9uKGNvbnRhaW5lcik7XG59XG5mdW5jdGlvbiBoaWRlSW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgLy8gVE9ETzogRG9lcyB0aGlzIHdvcmsgZm9yIGFsbCBlbGVtZW50IHR5cGVzPyBXaGF0IGFib3V0IE1hdGhNTD8gU2hvdWxkIHdlXG4gIC8vIHBhc3MgaG9zdCBjb250ZXh0IHRvIHRoaXMgbWV0aG9kP1xuICBpbnN0YW5jZSA9IGluc3RhbmNlO1xuICB2YXIgc3R5bGUgPSBpbnN0YW5jZS5zdHlsZTsgLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxuXG4gIGlmICh0eXBlb2Ygc3R5bGUuc2V0UHJvcGVydHkgPT09ICdmdW5jdGlvbicpIHtcbiAgICBzdHlsZS5zZXRQcm9wZXJ0eSgnZGlzcGxheScsICdub25lJywgJ2ltcG9ydGFudCcpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZGVUZXh0SW5zdGFuY2UodGV4dEluc3RhbmNlKSB7XG4gIHRleHRJbnN0YW5jZS5ub2RlVmFsdWUgPSAnJztcbn1cbmZ1bmN0aW9uIHVuaGlkZUluc3RhbmNlKGluc3RhbmNlLCBwcm9wcykge1xuICBpbnN0YW5jZSA9IGluc3RhbmNlO1xuICB2YXIgc3R5bGVQcm9wID0gcHJvcHNbU1RZTEVdO1xuICB2YXIgZGlzcGxheSA9IHN0eWxlUHJvcCAhPT0gdW5kZWZpbmVkICYmIHN0eWxlUHJvcCAhPT0gbnVsbCAmJiBzdHlsZVByb3AuaGFzT3duUHJvcGVydHkoJ2Rpc3BsYXknKSA/IHN0eWxlUHJvcC5kaXNwbGF5IDogbnVsbDtcbiAgaW5zdGFuY2Uuc3R5bGUuZGlzcGxheSA9IGRpc3BsYXkgPT0gbnVsbCB8fCB0eXBlb2YgZGlzcGxheSA9PT0gJ2Jvb2xlYW4nID8gJycgOiAvLyBUaGUgdmFsdWUgd291bGQndmUgZXJyb3JlZCBhbHJlYWR5IGlmIGl0IHdhc24ndCBzYWZlLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgKCcnICsgZGlzcGxheSkudHJpbSgpO1xufVxuZnVuY3Rpb24gdW5oaWRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dCkge1xuICB0ZXh0SW5zdGFuY2Uubm9kZVZhbHVlID0gdGV4dDtcbn1cbmZ1bmN0aW9uIGNsZWFyQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICB2YXIgbm9kZVR5cGUgPSBjb250YWluZXIubm9kZVR5cGU7XG5cbiAgaWYgKG5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFKSB7XG4gICAgY2xlYXJDb250YWluZXJTcGFyaW5nbHkoY29udGFpbmVyKTtcbiAgfSBlbHNlIGlmIChub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgc3dpdGNoIChjb250YWluZXIubm9kZU5hbWUpIHtcbiAgICAgIGNhc2UgJ0hFQUQnOlxuICAgICAgY2FzZSAnSFRNTCc6XG4gICAgICBjYXNlICdCT0RZJzpcbiAgICAgICAgY2xlYXJDb250YWluZXJTcGFyaW5nbHkoY29udGFpbmVyKTtcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB7XG4gICAgICAgICAgY29udGFpbmVyLnRleHRDb250ZW50ID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xlYXJDb250YWluZXJTcGFyaW5nbHkoY29udGFpbmVyKSB7XG4gIHZhciBub2RlO1xuICB2YXIgbmV4dE5vZGUgPSBjb250YWluZXIuZmlyc3RDaGlsZDtcblxuICBpZiAobmV4dE5vZGUgJiYgbmV4dE5vZGUubm9kZVR5cGUgPT09IERPQ1VNRU5UX1RZUEVfTk9ERSkge1xuICAgIG5leHROb2RlID0gbmV4dE5vZGUubmV4dFNpYmxpbmc7XG4gIH1cblxuICB3aGlsZSAobmV4dE5vZGUpIHtcbiAgICBub2RlID0gbmV4dE5vZGU7XG4gICAgbmV4dE5vZGUgPSBuZXh0Tm9kZS5uZXh0U2libGluZztcblxuICAgIHN3aXRjaCAobm9kZS5ub2RlTmFtZSkge1xuICAgICAgY2FzZSAnSFRNTCc6XG4gICAgICBjYXNlICdIRUFEJzpcbiAgICAgIGNhc2UgJ0JPRFknOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGVsZW1lbnQgPSBub2RlO1xuICAgICAgICAgIGNsZWFyQ29udGFpbmVyU3BhcmluZ2x5KGVsZW1lbnQpOyAvLyBJZiB0aGVzZSBzaW5nbGV0b24gaW5zdGFuY2VzIGhhZCBwcmV2aW91c2x5IGJlZW4gcmVuZGVyZWQgd2l0aCBSZWFjdCB0aGV5XG4gICAgICAgICAgLy8gbWF5IHN0aWxsIGhvbGQgb24gdG8gcmVmZXJlbmNlcyB0byB0aGUgcHJldmlvdXMgZmliZXIgdHJlZS4gV2UgZGV0YXRjaCB0aGVtXG4gICAgICAgICAgLy8gcHJvc3BlY3RpdmVseSB0byByZXNldCB0aGVtIHRvIGEgYmFzZWxpbmUgc3RhcnRpbmcgc3RhdGUgc2luY2Ugd2UgY2Fubm90IGNyZWF0ZVxuICAgICAgICAgIC8vIG5ldyBpbnN0YW5jZXMuXG5cbiAgICAgICAgICBkZXRhY2hEZWxldGVkSW5zdGFuY2UoZWxlbWVudCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIC8vIFNjcmlwdCB0YWdzIGFyZSByZXRhaW5lZCB0byBhdm9pZCBhbiBlZGdlIGNhc2UgYnVnLiBOb3JtYWxseSBzY3JpcHRzIHdpbGwgZXhlY3V0ZSBpZiB0aGV5XG4gICAgICAvLyBhcmUgZXZlciBpbnNlcnRlZCBpbnRvIHRoZSBET00uIEhvd2V2ZXIgd2hlbiBzdHJlYW1pbmcgaWYgYSBzY3JpcHQgdGFnIGlzIG9wZW5lZCBidXQgbm90XG4gICAgICAvLyB5ZXQgY2xvc2VkIHNvbWUgYnJvd3NlcnMgY3JlYXRlIGFuZCBpbnNlcnQgdGhlIHNjcmlwdCBET00gTm9kZSBidXQgdGhlIHNjcmlwdCBjYW5ub3QgZXhlY3V0ZVxuICAgICAgLy8geWV0IHVudGlsIHRoZSBjbG9zaW5nIHRhZyBpcyBwYXJzZWQuIElmIHNvbWV0aGluZyBjYXVzZXMgUmVhY3QgdG8gY2FsbCBjbGVhckNvbnRhaW5lciB3aGlsZVxuICAgICAgLy8gdGhpcyBET00gbm9kZSBpcyBpbiB0aGUgZG9jdW1lbnQgYnV0IG5vdCB5ZXQgZXhlY3V0YWJsZSB0aGUgRE9NIG5vZGUgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlXG4gICAgICAvLyBkb2N1bWVudCBhbmQgd2hlbiB0aGUgc2NyaXB0IGNsb3NpbmcgdGFnIGNvbWVzIGluIHRoZSBzY3JpcHQgd2lsbCBub3QgZW5kIHVwIHJ1bm5pbmcuIFRoaXMgc2VlbXNcbiAgICAgIC8vIHRvIGhhcHBlbiBpbiBDaHJvbWUvRmlyZWZveCBidXQgbm90IFNhZmFyaSBhdCB0aGUgbW9tZW50IHRob3VnaCB0aGlzIGlzIG5vdCBuZWNlc3NhcmlseSBzcGVjaWZpZWRcbiAgICAgIC8vIGJlaGF2aW9yIHNvIGl0IGNvdWxkIGNoYW5nZSBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgYnJvd3NlcnMuIFdoaWxlIGxlYXZpbmcgYWxsIHNjcmlwdHMgaXMgYnJvYWRlclxuICAgICAgLy8gdGhhbiBzdHJpY3RseSBuZWNlc3NhcnkgdGhpcyBpcyB0aGUgbGVhc3QgYW1vdW50IG9mIGFkZGl0aW9uYWwgY29kZSB0byBhdm9pZCB0aGlzIGJyZWFraW5nXG4gICAgICAvLyBlZGdlIGNhc2UuXG4gICAgICAvL1xuICAgICAgLy8gU3R5bGUgdGFncyBhcmUgcmV0YWluZWQgYmVjYXVzZSB0aGV5IG1heSBsaWtlbHkgY29tZSBmcm9tIDNyZCBwYXJ0eSBzY3JpcHRzIGFuZCBleHRlbnNpb25zXG5cbiAgICAgIGNhc2UgJ1NDUklQVCc6XG4gICAgICBjYXNlICdTVFlMRSc6XG4gICAgICAgIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgLy8gU3R5bGVzaGVldCB0YWdzIGFyZSByZXRhaW5lZCBiZWNhdXNlIHRlaHkgbWF5IGxpa2VseSBjb21lIGZyb20gM3JkIHBhcnR5IHNjcmlwdHMgYW5kIGV4dGVuc2lvbnNcblxuICAgICAgY2FzZSAnTElOSyc6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAobm9kZS5yZWwudG9Mb3dlckNhc2UoKSA9PT0gJ3N0eWxlc2hlZXQnKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb250YWluZXIucmVtb3ZlQ2hpbGQobm9kZSk7XG4gIH1cblxuICByZXR1cm47XG59IC8vIE1ha2luZyB0aGlzIHNvIHdlIGNhbiBldmVudHVhbGx5IG1vdmUgYWxsIG9mIHRoZSBpbnN0YW5jZSBjYWNoaW5nIHRvIHRoZSBjb21taXQgcGhhc2UuXG5mdW5jdGlvbiBpc0h5ZHJhdGFibGVUZXh0KHRleHQpIHtcbiAgcmV0dXJuIHRleHQgIT09ICcnO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCB0eXBlLCBwcm9wcywgaW5Sb290T3JTaW5nbGV0b24pIHtcbiAgd2hpbGUgKGluc3RhbmNlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUpIHtcbiAgICB2YXIgZWxlbWVudCA9IGluc3RhbmNlO1xuICAgIHZhciBhbnlQcm9wcyA9IHByb3BzO1xuXG4gICAgaWYgKGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gdHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBpZiAoIWluUm9vdE9yU2luZ2xldG9uKSB7XG4gICAgICAgIC8vIFVzdWFsbHkgd2UgZXJyb3IgZm9yIG1pc21hdGNoZWQgdGFncy5cbiAgICAgICAgaWYgKGVsZW1lbnQubm9kZU5hbWUgPT09ICdJTlBVVCcgJiYgZWxlbWVudC50eXBlID09PSAnaGlkZGVuJykgOyBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSAvLyBJbiByb290IG9yIHNpbmdsZXRvbiBwYXJlbnRzIHdlIHNraXAgcGFzdCBtaXNtYXRjaGVkIGluc3RhbmNlcy5cblxuICAgIH0gZWxzZSBpZiAoIWluUm9vdE9yU2luZ2xldG9uKSB7XG4gICAgICAvLyBNYXRjaFxuICAgICAgaWYgKHR5cGUgPT09ICdpbnB1dCcgJiYgZWxlbWVudC50eXBlID09PSAnaGlkZGVuJykge1xuICAgICAgICB7XG4gICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbihhbnlQcm9wcy5uYW1lLCAnbmFtZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG5hbWUgPSBhbnlQcm9wcy5uYW1lID09IG51bGwgPyBudWxsIDogJycgKyBhbnlQcm9wcy5uYW1lO1xuXG4gICAgICAgIGlmIChhbnlQcm9wcy50eXBlICE9PSAnaGlkZGVuJyB8fCBlbGVtZW50LmdldEF0dHJpYnV0ZSgnbmFtZScpICE9PSBuYW1lKSA7IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzTWFya2VkSG9pc3RhYmxlKGVsZW1lbnQpKSA7IGVsc2Uge1xuICAgICAgLy8gV2UgaGF2ZSBhbiBFbGVtZW50IHdpdGggdGhlIHJpZ2h0IHR5cGUuXG4gICAgICAvLyBXZSBhcmUgZ29pbmcgdG8gdHJ5IHRvIGV4Y2x1ZGUgaXQgaWYgd2UgY2FuIGRlZmluaXRlbHkgaWRlbnRpZnkgaXQgYXMgYSBob2lzdGVkIE5vZGUgb3IgaWZcbiAgICAgIC8vIHdlIGNhbiBndWVzcyB0aGF0IHRoZSBub2RlIGlzIGxpa2VseSBob2lzdGVkIG9yIHdhcyBpbnNlcnRlZCBieSBhIDNyZCBwYXJ0eSBzY3JpcHQgb3IgYnJvd3NlciBleHRlbnNpb25cbiAgICAgIC8vIHVzaW5nIGhpZ2ggZW50cm9weSBhdHRyaWJ1dGVzIGZvciBjZXJ0YWluIHR5cGVzLiBUaGlzIHRlY2huaXF1ZSB3aWxsIGZhaWwgZm9yIHN0cmFuZ2UgaW5zZXJ0aW9ucyBsaWtlXG4gICAgICAvLyBleHRlbnNpb24gcHJlcGVuZGluZyA8ZGl2PiBpbiB0aGUgPGJvZHk+IGJ1dCB0aGF0IGFscmVhZHkgYnJlYWtzIGJlZm9yZSBhbmQgdGhhdCBpcyBhbiBlZGdlIGNhc2UuXG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgLy8gY2FzZSAndGl0bGUnOlxuICAgICAgICAvL1dlIGFzc3VtZSBhbGwgdGl0bGVzIGFyZSBtYXRjaGFibGUuIFlvdSBzaG91bGQgb25seSBoYXZlIG9uZSBpbiB0aGUgRG9jdW1lbnQsIGF0IGxlYXN0IGluIGEgaG9pc3RhYmxlIHNjb3BlXG4gICAgICAgIC8vIGFuZCBpZiB5b3UgYXJlIGEgSG9zdENvbXBvbmVudCB3aXRoIHR5cGUgdGl0bGUgd2UgbXVzdCBlaXRoZXIgYmUgaW4gYW4gPHN2Zz4gY29udGV4dCBvciB0aGlzIHRpdGxlIG11c3QgaGF2ZSBhbiBgaXRlbVByb3BgIHByb3AuXG4gICAgICAgIGNhc2UgJ21ldGEnOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC8vIFRoZSBvbmx5IHdheSB0byBvcHQgb3V0IG9mIGhvaXN0aW5nIG1ldGEgdGFncyBpcyB0byBnaXZlIGl0IGFuIGl0ZW1wcm9wIGF0dHJpYnV0ZS4gV2UgYXNzdW1lIHRoZXJlIHdpbGwgYmVcbiAgICAgICAgICAgIC8vIG5vdCAzcmQgcGFydHkgbWV0YSB0YWdzIHRoYXQgYXJlIHByZXBlbmRlZCwgYWNjZXB0aW5nIHRoZSBjYXNlcyB3aGVyZSB0aGlzIGlzbid0IHRydWUgYmVjYXVzZSBtZXRhIHRhZ3NcbiAgICAgICAgICAgIC8vIGFyZSB1c3VhbGx5IG9ubHkgZnVuY3Rpb25hbCBmb3IgU1NSIHNvIGV2ZW4gaW4gYSByYXJlIGNhc2Ugd2hlcmUgd2UgZGlkIGJpbmQgdG8gYW4gaW5qZWN0ZWQgdGFnIHRoZSBydW50aW1lXG4gICAgICAgICAgICAvLyBpbXBsaWNhdGlvbnMgYXJlIG1pbmltYWxcbiAgICAgICAgICAgIGlmICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2l0ZW1wcm9wJykpIHtcbiAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIEhvaXN0YWJsZVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC8vIExpbmtzIGNvbWUgaW4gbWFueSBmb3JtcyBhbmQgd2UgZG8gZXhwZWN0IDNyZCBwYXJ0aWVzIHRvIGluamVjdCB0aGVtIGludG8gPGhlYWQ+IC8gPGJvZHk+LiBXZSBleGNsdWRlIGtub3duIHJlc291cmNlc1xuICAgICAgICAgICAgLy8gYW5kIHRoZW4gdXNlIGhpZ2gtZW50cm95IGF0dHJpYnV0ZXMgbGlrZSBocmVmIHdoaWNoIGFyZSBhbG1vc3QgYWx3YXlzIHVzZWQgYW5kIGFsbW9zdCBhbHdheXMgdW5pcXVlIHRvIGZpbHRlciBvdXQgdW5saWtlbHlcbiAgICAgICAgICAgIC8vIG1hdGNoZXMuXG4gICAgICAgICAgICB2YXIgcmVsID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3JlbCcpO1xuXG4gICAgICAgICAgICBpZiAocmVsID09PSAnc3R5bGVzaGVldCcgJiYgZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2RhdGEtcHJlY2VkZW5jZScpKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBzdHlsZXNoZWV0IHJlc291cmNlXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyZWwgIT09IGFueVByb3BzLnJlbCB8fCBlbGVtZW50LmdldEF0dHJpYnV0ZSgnaHJlZicpICE9PSAoYW55UHJvcHMuaHJlZiA9PSBudWxsID8gbnVsbCA6IGFueVByb3BzLmhyZWYpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicpICE9PSAoYW55UHJvcHMuY3Jvc3NPcmlnaW4gPT0gbnVsbCA/IG51bGwgOiBhbnlQcm9wcy5jcm9zc09yaWdpbikgfHwgZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RpdGxlJykgIT09IChhbnlQcm9wcy50aXRsZSA9PSBudWxsID8gbnVsbCA6IGFueVByb3BzLnRpdGxlKSkge1xuICAgICAgICAgICAgICAvLyByZWwgKyBocmVmIHNob3VsZCB1c3VhbGx5IGJlIGVub3VnaCB0byB1bmlxdWVseSBpZGVudGlmeSBhIGxpbmsgaG93ZXZlciBjcm9zc09yaWdpbiBjYW4gdmFyeSBmb3IgcmVsIHByZWNvbm5lY3RcbiAgICAgICAgICAgICAgLy8gYW5kIHRpdGxlIGNvdWxkIHZhcnkgZm9yIHJlbCBhbHRlcm5hdGVcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlICdzdHlsZSc6XG4gICAgICAgICAge1xuICAgICAgICAgICAgLy8gU3R5bGVzIGFyZSBoYXJkIHRvIG1hdGNoIGNvcnJlY3RseS4gV2UgY2FuIGV4Y2x1ZGUga25vd24gcmVzb3VyY2VzIGJ1dCBvdGhlcndpc2Ugd2UgYWNjZXB0IHRoZSBmYWN0IHRoYXQgYSBub24taG9pc3RlZCBzdHlsZSB0YWdzXG4gICAgICAgICAgICAvLyBpbiA8aGVhZD4gb3IgPGJvZHk+IGFyZSBsaWtlbHkgbmV2ZXIgZ29pbmcgdG8gYmUgdW5tb3VudGVkIGdpdmVuIHRoZWlyIHBvc2l0aW9uIGluIHRoZSBkb2N1bWVudCBhbmQgdGhlIGZhY3QgdGhleSBsaWtlbHkgaG9sZCBnbG9iYWwgc3R5bGVzXG4gICAgICAgICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2RhdGEtcHJlY2VkZW5jZScpKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBzdHlsZSByZXNvdXJjZVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgICAge1xuICAgICAgICAgICAgLy8gU2NyaXB0cyBhcmUgYSBsaXR0bGUgdHJpY2t5LCB3ZSBleGNsdWRlIGtub3duIHJlc291cmNlcyBhbmQgdGhlbiBzaW1pbGFyIHRvIGxpbmtzIHRyeSB0byB1c2UgaGlnaC1lbnRyb3B5IGF0dHJpYnV0ZXNcbiAgICAgICAgICAgIC8vIHRvIHJlamVjdCBwb29yIG1hdGNoZXMuIE9uZSBjaGFsbGVuZ2Ugd2l0aCBzY3JpcHRzIGFyZSBpbmxpbmUgc2NyaXB0cy4gV2UgZG9uJ3QgYXR0ZW1wdCB0byBjaGVjayB0ZXh0IGNvbnRlbnQgd2hpY2ggY291bGRcbiAgICAgICAgICAgIC8vIGluIHRoZW9yeSBsZWFkIHRvIGEgaHlkcmF0aW9uIGVycm9yIGxhdGVyIGlmIGEgM3JkIHBhcnR5IGluamVjdGVkIGFuIGlubGluZSBzY3JpcHQgYmVmb3JlIHRoZSBSZWFjdCByZW5kZXJlZCBub2Rlcy5cbiAgICAgICAgICAgIC8vIEZhbGxpbmcgYmFjayB0byBjbGllbnQgcmVuZGVyaW5nIGlmIHRoaXMgaGFwcGVucyBzaG91bGQgYmUgc2VlbWxlc3MgdGhvdWdoIHNvIHdlIHdpbGwgdHJ5IHRoaXMgaHVlcmlzdGljIGFuZCByZXZpc2l0IGxhdGVyXG4gICAgICAgICAgICAvLyBpZiB3ZSBsZWFybiBpdCBpcyBwcm9ibGVtYXRpY1xuICAgICAgICAgICAgdmFyIHNyY0F0dHIgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnc3JjJyk7XG5cbiAgICAgICAgICAgIGlmIChzcmNBdHRyICE9PSAoYW55UHJvcHMuc3JjID09IG51bGwgPyBudWxsIDogYW55UHJvcHMuc3JjKSB8fCBlbGVtZW50LmdldEF0dHJpYnV0ZSgndHlwZScpICE9PSAoYW55UHJvcHMudHlwZSA9PSBudWxsID8gbnVsbCA6IGFueVByb3BzLnR5cGUpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicpICE9PSAoYW55UHJvcHMuY3Jvc3NPcmlnaW4gPT0gbnVsbCA/IG51bGwgOiBhbnlQcm9wcy5jcm9zc09yaWdpbikpIHtcbiAgICAgICAgICAgICAgLy8gVGhpcyBzY3JpcHQgaXMgZm9yIGEgZGlmZmVyZW50IHNyYy90eXBlL2Nyb3NzT3JpZ2luLiBJdCBtYXkgYmUgYSBzY3JpcHQgcmVzb3VyY2VcbiAgICAgICAgICAgICAgLy8gb3IgaXQgbWF5IGp1c3QgYmUgYSBtaXN0bWF0Y2hcbiAgICAgICAgICAgICAgaWYgKHNyY0F0dHIgJiYgZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2FzeW5jJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdpdGVtcHJvcCcpKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhbiBhc3luYyBzY3JpcHQgcmVzb3VyY2VcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICAvLyBXZSBoYXZlIGV4Y2x1ZGVkIHRoZSBtb3N0IGxpa2VseSBjYXNlcyBvZiBtaXNtYXRjaCBiZXR3ZWVuIGhvaXN0YWJsZSB0YWdzLCAzcmQgcGFydHkgc2NyaXB0IGluc2VydGVkIHRhZ3MsXG4gICAgICAgICAgICAvLyBhbmQgYnJvd3NlciBleHRlbnNpb24gaW5zZXJ0ZWQgdGFncy4gV2hpbGUgaXQgaXMgcG9zc2libGUgdGhpcyBpcyBub3QgdGhlIHJpZ2h0IG1hdGNoIGl0IGlzIGEgZGVjZW50IGh1ZXJpc3RpY1xuICAgICAgICAgICAgLy8gdGhhdCBzaG91bGQgd29yayBpbiB0aGUgdmFzdCBtYWpvcml0eSBvZiBjYXNlcy5cbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGVsZW1lbnQpO1xuXG4gICAgaWYgKG5leHRJbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBuZXh0SW5zdGFuY2U7XG4gIH0gLy8gVGhpcyBpcyBhIHN1c3BlbnNlIGJvdW5kYXJ5IG9yIFRleHQgbm9kZSBvciB3ZSBnb3QgdGhlIGVuZC5cbiAgLy8gU3VzcGVuc2UgQm91bmRhcmllcyBhcmUgbmV2ZXIgZXhwZWN0ZWQgdG8gYmUgaW5qZWN0ZWQgYnkgM3JkIHBhcnRpZXMuIElmIHdlIHNlZSBvbmUgaXQgc2hvdWxkIGJlIG1hdGNoZWRcbiAgLy8gYW5kIHRoaXMgaXMgYSBoeWRyYXRpb24gZXJyb3IuXG4gIC8vIFRleHQgTm9kZXMgYXJlIGFsc28gbm90IGV4cGVjdGVkIHRvIGJlIGluamVjdGVkIGJ5IDNyZCBwYXJ0aWVzLiBUaGlzIGlzIGxlc3Mgb2YgYSBndWFyYW50ZWUgZm9yIDxib2R5PlxuICAvLyBidXQgaXQgc2VlbXMgcmVhc29uYWJsZSBhbmQgY29uc2VydmF0aXZlIHRvIHJlamVjdCB0aGlzIGFzIGEgaHlkcmF0aW9uIGVycm9yIGFzIHdlbGxcblxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVRleHRJbnN0YW5jZShpbnN0YW5jZSwgdGV4dCwgaW5Sb290T3JTaW5nbGV0b24pIHtcbiAgLy8gRW1wdHkgc3RyaW5ncyBhcmUgbm90IHBhcnNlZCBieSBIVE1MIHNvIHRoZXJlIHdvbid0IGJlIGEgY29ycmVjdCBtYXRjaCBoZXJlLlxuICBpZiAodGV4dCA9PT0gJycpIHJldHVybiBudWxsO1xuXG4gIHdoaWxlIChpbnN0YW5jZS5ub2RlVHlwZSAhPT0gVEVYVF9OT0RFKSB7XG4gICAgaWYgKGluc3RhbmNlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgJiYgaW5zdGFuY2Uubm9kZU5hbWUgPT09ICdJTlBVVCcgJiYgaW5zdGFuY2UudHlwZSA9PT0gJ2hpZGRlbicpIDsgZWxzZSBpZiAoIWluUm9vdE9yU2luZ2xldG9uKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGluc3RhbmNlKTtcblxuICAgIGlmIChuZXh0SW5zdGFuY2UgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGluc3RhbmNlID0gbmV4dEluc3RhbmNlO1xuICB9IC8vIFRoaXMgaGFzIG5vdyBiZWVuIHJlZmluZWQgdG8gYSB0ZXh0IG5vZGUuXG5cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5mdW5jdGlvbiBjYW5IeWRyYXRlU3VzcGVuc2VJbnN0YW5jZShpbnN0YW5jZSwgaW5Sb290T3JTaW5nbGV0b24pIHtcbiAgd2hpbGUgKGluc3RhbmNlLm5vZGVUeXBlICE9PSBDT01NRU5UX05PREUpIHtcbiAgICBpZiAoIWluUm9vdE9yU2luZ2xldG9uKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGluc3RhbmNlKTtcblxuICAgIGlmIChuZXh0SW5zdGFuY2UgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGluc3RhbmNlID0gbmV4dEluc3RhbmNlO1xuICB9IC8vIFRoaXMgaGFzIG5vdyBiZWVuIHJlZmluZWQgdG8gYSBzdXNwZW5zZSBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gaXNTdXNwZW5zZUluc3RhbmNlUGVuZGluZyhpbnN0YW5jZSkge1xuICByZXR1cm4gaW5zdGFuY2UuZGF0YSA9PT0gU1VTUEVOU0VfUEVORElOR19TVEFSVF9EQVRBO1xufVxuZnVuY3Rpb24gaXNTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2soaW5zdGFuY2UpIHtcbiAgcmV0dXJuIGluc3RhbmNlLmRhdGEgPT09IFNVU1BFTlNFX0ZBTExCQUNLX1NUQVJUX0RBVEE7XG59XG5mdW5jdGlvbiBnZXRTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2tFcnJvckRldGFpbHMoaW5zdGFuY2UpIHtcbiAgdmFyIGRhdGFzZXQgPSBpbnN0YW5jZS5uZXh0U2libGluZyAmJiBpbnN0YW5jZS5uZXh0U2libGluZy5kYXRhc2V0O1xuICB2YXIgZGlnZXN0LCBtZXNzYWdlLCBzdGFjaztcblxuICBpZiAoZGF0YXNldCkge1xuICAgIGRpZ2VzdCA9IGRhdGFzZXQuZGdzdDtcblxuICAgIHtcbiAgICAgIG1lc3NhZ2UgPSBkYXRhc2V0Lm1zZztcbiAgICAgIHN0YWNrID0gZGF0YXNldC5zdGNrO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIGRpZ2VzdDogZGlnZXN0LFxuICAgICAgc3RhY2s6IHN0YWNrXG4gICAgfTtcbiAgfVxufVxuZnVuY3Rpb24gcmVnaXN0ZXJTdXNwZW5zZUluc3RhbmNlUmV0cnkoaW5zdGFuY2UsIGNhbGxiYWNrKSB7XG4gIGluc3RhbmNlLl9yZWFjdFJldHJ5ID0gY2FsbGJhY2s7XG59XG5mdW5jdGlvbiBjYW5IeWRyYXRlRm9ybVN0YXRlTWFya2VyKGluc3RhbmNlLCBpblJvb3RPclNpbmdsZXRvbikge1xuICB3aGlsZSAoaW5zdGFuY2Uubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgIGlmICghaW5Sb290T3JTaW5nbGV0b24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcoaW5zdGFuY2UpO1xuXG4gICAgaWYgKG5leHRJbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBuZXh0SW5zdGFuY2U7XG4gIH1cblxuICB2YXIgbm9kZURhdGEgPSBpbnN0YW5jZS5kYXRhO1xuXG4gIGlmIChub2RlRGF0YSA9PT0gRk9STV9TVEFURV9JU19NQVRDSElORyB8fCBub2RlRGF0YSA9PT0gRk9STV9TVEFURV9JU19OT1RfTUFUQ0hJTkcpIHtcbiAgICB2YXIgbWFya2VySW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICByZXR1cm4gbWFya2VySW5zdGFuY2U7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzRm9ybVN0YXRlTWFya2VyTWF0Y2hpbmcobWFya2VySW5zdGFuY2UpIHtcbiAgcmV0dXJuIG1hcmtlckluc3RhbmNlLmRhdGEgPT09IEZPUk1fU1RBVEVfSVNfTUFUQ0hJTkc7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlKG5vZGUpIHtcbiAgLy8gU2tpcCBub24taHlkcmF0YWJsZSBub2Rlcy5cbiAgZm9yICg7IG5vZGUgIT0gbnVsbDsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpIHtcbiAgICB2YXIgbm9kZVR5cGUgPSBub2RlLm5vZGVUeXBlO1xuXG4gICAgaWYgKG5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBub2RlRGF0YSA9IG5vZGUuZGF0YTtcblxuICAgICAgaWYgKG5vZGVEYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEgfHwgKG5vZGVEYXRhID09PSBGT1JNX1NUQVRFX0lTX01BVENISU5HIHx8IG5vZGVEYXRhID09PSBGT1JNX1NUQVRFX0lTX05PVF9NQVRDSElORykpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlRGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhpbnN0YW5jZSkge1xuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGUoaW5zdGFuY2UubmV4dFNpYmxpbmcpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLmZpcnN0Q2hpbGQpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGRXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyKSB7XG4gIHJldHVybiBnZXROZXh0SHlkcmF0YWJsZShwYXJlbnRDb250YWluZXIuZmlyc3RDaGlsZCk7XG59XG5mdW5jdGlvbiBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLm5leHRTaWJsaW5nKTtcbn1cbmZ1bmN0aW9uIHZhbGlkYXRlSHlkcmF0YWJsZUluc3RhbmNlKHR5cGUsIHByb3BzLCBob3N0Q29udGV4dCkge1xuICB7XG4gICAgLy8gVE9ETzogdGFrZSBuYW1lc3BhY2UgaW50byBhY2NvdW50IHdoZW4gdmFsaWRhdGluZy5cbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICByZXR1cm4gdmFsaWRhdGVET01OZXN0aW5nKHR5cGUsIGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGh5ZHJhdGVJbnN0YW5jZShpbnN0YW5jZSwgdHlwZSwgcHJvcHMsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCBzaG91bGRXYXJuRGV2KSB7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIGluc3RhbmNlKTsgLy8gVE9ETzogUG9zc2libHkgZGVmZXIgdGhpcyB1bnRpbCB0aGUgY29tbWl0IHBoYXNlIHdoZXJlIGFsbCB0aGUgZXZlbnRzXG4gIC8vIGdldCBhdHRhY2hlZC5cblxuICB1cGRhdGVGaWJlclByb3BzKGluc3RhbmNlLCBwcm9wcyk7IC8vIFRPRE86IFRlbXBvcmFyeSBoYWNrIHRvIGNoZWNrIGlmIHdlJ3JlIGluIGEgY29uY3VycmVudCByb290LiBXZSBjYW4gZGVsZXRlXG4gIC8vIHdoZW4gdGhlIGxlZ2FjeSByb290IEFQSSBpcyByZW1vdmVkLlxuXG4gIHZhciBpc0NvbmN1cnJlbnRNb2RlID0gKGludGVybmFsSW5zdGFuY2VIYW5kbGUubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICBkaWZmSHlkcmF0ZWRQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcywgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldiwgaG9zdENvbnRleHQpO1xufVxuZnVuY3Rpb24gdmFsaWRhdGVIeWRyYXRhYmxlVGV4dEluc3RhbmNlKHRleHQsIGhvc3RDb250ZXh0KSB7XG4gIHtcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICB2YXIgYW5jZXN0b3IgPSBob3N0Q29udGV4dERldi5hbmNlc3RvckluZm8uY3VycmVudDtcblxuICAgIGlmIChhbmNlc3RvciAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVUZXh0TmVzdGluZyh0ZXh0LCBhbmNlc3Rvci50YWcpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gaHlkcmF0ZVRleHRJbnN0YW5jZSh0ZXh0SW5zdGFuY2UsIHRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgdGV4dEluc3RhbmNlKTsgLy8gVE9ETzogVGVtcG9yYXJ5IGhhY2sgdG8gY2hlY2sgaWYgd2UncmUgaW4gYSBjb25jdXJyZW50IHJvb3QuIFdlIGNhbiBkZWxldGVcbiAgcmV0dXJuIGRpZmZIeWRyYXRlZFRleHQodGV4dEluc3RhbmNlLCB0ZXh0KTtcbn1cbmZ1bmN0aW9uIGh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgc3VzcGVuc2VJbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBnZXROZXh0SHlkcmF0YWJsZUluc3RhbmNlQWZ0ZXJTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSBzdXNwZW5zZUluc3RhbmNlLm5leHRTaWJsaW5nOyAvLyBTa2lwIHBhc3QgYWxsIG5vZGVzIHdpdGhpbiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5LlxuICAvLyBUaGVyZSBtaWdodCBiZSBuZXN0ZWQgbm9kZXMgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvd1xuICAvLyBkZWVwIHdlIGFyZSBhbmQgb25seSBicmVhayBvdXQgd2hlbiB3ZSdyZSBiYWNrIG9uIHRvcC5cblxuICB2YXIgZGVwdGggPSAwO1xuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGRhdGEgPSBub2RlLmRhdGE7XG5cbiAgICAgIGlmIChkYXRhID09PSBTVVNQRU5TRV9FTkRfREFUQSkge1xuICAgICAgICBpZiAoZGVwdGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKG5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlcHRoLS07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSkge1xuICAgICAgICBkZXB0aCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nO1xuICB9IC8vIFRPRE86IFdhcm4sIHdlIGRpZG4ndCBmaW5kIHRoZSBlbmQgY29tbWVudCBib3VuZGFyeS5cblxuXG4gIHJldHVybiBudWxsO1xufSAvLyBSZXR1cm5zIHRoZSBTdXNwZW5zZUluc3RhbmNlIGlmIHRoaXMgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiBhXG4vLyBTdXNwZW5zZUluc3RhbmNlLiBJLmUuIGlmIGl0cyBwcmV2aW91cyBzaWJsaW5nIGlzIGEgQ29tbWVudCB3aXRoXG4vLyBTVVNQRU5TRV94X1NUQVJUX0RBVEEuIE90aGVyd2lzZSwgbnVsbC5cblxuZnVuY3Rpb24gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZSh0YXJnZXRJbnN0YW5jZSkge1xuICB2YXIgbm9kZSA9IHRhcmdldEluc3RhbmNlLnByZXZpb3VzU2libGluZzsgLy8gU2tpcCBwYXN0IGFsbCBub2RlcyB3aXRoaW4gdGhpcyBzdXNwZW5zZSBib3VuZGFyeS5cbiAgLy8gVGhlcmUgbWlnaHQgYmUgbmVzdGVkIG5vZGVzIHNvIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBob3dcbiAgLy8gZGVlcCB3ZSBhcmUgYW5kIG9ubHkgYnJlYWsgb3V0IHdoZW4gd2UncmUgYmFjayBvbiB0b3AuXG5cbiAgdmFyIGRlcHRoID0gMDtcblxuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbm9kZS5kYXRhO1xuXG4gICAgICBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSkge1xuICAgICAgICBpZiAoZGVwdGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXB0aC0tO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRhdGEgPT09IFNVU1BFTlNFX0VORF9EQVRBKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vZGUucHJldmlvdXNTaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBjb21taXRIeWRyYXRlZENvbnRhaW5lcihjb250YWluZXIpIHtcbiAgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuICByZXRyeUlmQmxvY2tlZE9uKGNvbnRhaW5lcik7XG59XG5mdW5jdGlvbiBjb21taXRIeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSkge1xuICAvLyBSZXRyeSBpZiBhbnkgZXZlbnQgcmVwbGF5aW5nIHdhcyBibG9ja2VkIG9uIHRoaXMuXG4gIHJldHJ5SWZCbG9ja2VkT24oc3VzcGVuc2VJbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBzaG91bGREZWxldGVVbmh5ZHJhdGVkVGFpbEluc3RhbmNlcyhwYXJlbnRUeXBlKSB7XG4gIHJldHVybiBwYXJlbnRUeXBlICE9PSAnZm9ybScgJiYgcGFyZW50VHlwZSAhPT0gJ2J1dHRvbic7XG59XG5mdW5jdGlvbiBkaWROb3RNYXRjaEh5ZHJhdGVkQ29udGFpbmVyVGV4dEluc3RhbmNlKHBhcmVudENvbnRhaW5lciwgdGV4dEluc3RhbmNlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlLCBzaG91bGRXYXJuRGV2KSB7XG4gIGNoZWNrRm9yVW5tYXRjaGVkVGV4dCh0ZXh0SW5zdGFuY2Uubm9kZVZhbHVlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlLCBzaG91bGRXYXJuRGV2KTtcbn1cbmZ1bmN0aW9uIGRpZE5vdE1hdGNoSHlkcmF0ZWRUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0ZXh0SW5zdGFuY2UsIHRleHQsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgaWYgKHBhcmVudFByb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgIGNoZWNrRm9yVW5tYXRjaGVkVGV4dCh0ZXh0SW5zdGFuY2Uubm9kZVZhbHVlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlLCBzaG91bGRXYXJuRGV2KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluQ29udGFpbmVyKHBhcmVudENvbnRhaW5lciwgaW5zdGFuY2UpIHtcbiAge1xuICAgIGlmIChpbnN0YW5jZS5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVFbGVtZW50KHBhcmVudENvbnRhaW5lciwgaW5zdGFuY2UpO1xuICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZVRleHQocGFyZW50Q29udGFpbmVyLCBpbnN0YW5jZSk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBkaWROb3RIeWRyYXRlSW5zdGFuY2VXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHBhcmVudEluc3RhbmNlLCBpbnN0YW5jZSkge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV06IE9ubHkgRWxlbWVudCBvciBEb2N1bWVudCBjYW4gYmUgcGFyZW50IG5vZGVzLlxuICAgIHZhciBwYXJlbnROb2RlID0gcGFyZW50SW5zdGFuY2UucGFyZW50Tm9kZTtcblxuICAgIGlmIChwYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVFbGVtZW50KHBhcmVudE5vZGUsIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBkaWROb3RIeWRyYXRlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBpbnN0YW5jZSwgaXNDb25jdXJyZW50TW9kZSkge1xuICB7XG4gICAgaWYgKGlzQ29uY3VycmVudE1vZGUgfHwgcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkddICE9PSB0cnVlKSB7XG4gICAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVFbGVtZW50KHBhcmVudEluc3RhbmNlLCBpbnN0YW5jZSk7XG4gICAgICB9IGVsc2UgaWYgKGluc3RhbmNlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIDsgZWxzZSB7XG4gICAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZVRleHQocGFyZW50SW5zdGFuY2UsIGluc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlSW5zdGFuY2VXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyLCB0eXBlLCBwcm9wcykge1xuICB7XG4gICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudENvbnRhaW5lciwgdHlwZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlV2l0aGluQ29udGFpbmVyKHBhcmVudENvbnRhaW5lciwgdGV4dCkge1xuICB7XG4gICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRUZXh0KHBhcmVudENvbnRhaW5lciwgdGV4dCk7XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlSW5zdGFuY2VXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHBhcmVudEluc3RhbmNlLCB0eXBlLCBwcm9wcykge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV06IE9ubHkgRWxlbWVudCBvciBEb2N1bWVudCBjYW4gYmUgcGFyZW50IG5vZGVzLlxuICAgIHZhciBwYXJlbnROb2RlID0gcGFyZW50SW5zdGFuY2UucGFyZW50Tm9kZTtcbiAgICBpZiAocGFyZW50Tm9kZSAhPT0gbnVsbCkgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudE5vZGUsIHR5cGUpO1xuICB9XG59XG5mdW5jdGlvbiBkaWROb3RGaW5kSHlkcmF0YWJsZVRleHRJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UsIHRleHQpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdOiBPbmx5IEVsZW1lbnQgb3IgRG9jdW1lbnQgY2FuIGJlIHBhcmVudCBub2Rlcy5cbiAgICB2YXIgcGFyZW50Tm9kZSA9IHBhcmVudEluc3RhbmNlLnBhcmVudE5vZGU7XG4gICAgaWYgKHBhcmVudE5vZGUgIT09IG51bGwpIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHR5cGUsIHByb3BzLCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHtcbiAgICBpZiAoaXNDb25jdXJyZW50TW9kZSB8fCBwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklOR10gIT09IHRydWUpIHtcbiAgICAgIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnRJbnN0YW5jZSwgdHlwZSk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBkaWROb3RGaW5kSHlkcmF0YWJsZVRleHRJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHRleHQsIGlzQ29uY3VycmVudE1vZGUpIHtcbiAge1xuICAgIGlmIChpc0NvbmN1cnJlbnRNb2RlIHx8IHBhcmVudFByb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRUZXh0KHBhcmVudEluc3RhbmNlLCB0ZXh0KTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGVycm9ySHlkcmF0aW5nQ29udGFpbmVyKHBhcmVudENvbnRhaW5lcikge1xuICB7XG4gICAgLy8gVE9ETzogVGhpcyBnZXRzIGxvZ2dlZCBieSBvblJlY292ZXJhYmxlRXJyb3IsIHRvbywgc28gd2Ugc2hvdWxkIGJlXG4gICAgLy8gYWJsZSB0byByZW1vdmUgaXQuXG4gICAgZXJyb3IoJ0FuIGVycm9yIG9jY3VycmVkIGR1cmluZyBoeWRyYXRpb24uIFRoZSBzZXJ2ZXIgSFRNTCB3YXMgcmVwbGFjZWQgd2l0aCBjbGllbnQgY29udGVudCBpbiA8JXM+LicsIHBhcmVudENvbnRhaW5lci5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxufSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5mdW5jdGlvbiBpc0hvc3RTaW5nbGV0b25UeXBlKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUgPT09ICdodG1sJyB8fCB0eXBlID09PSAnaGVhZCcgfHwgdHlwZSA9PT0gJ2JvZHknO1xufVxuZnVuY3Rpb24gcmVzb2x2ZVNpbmdsZXRvbkluc3RhbmNlKHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCB2YWxpZGF0ZURPTU5lc3RpbmdEZXYpIHtcbiAge1xuICAgIHZhciBob3N0Q29udGV4dERldiA9IGhvc3RDb250ZXh0O1xuXG4gICAgaWYgKHZhbGlkYXRlRE9NTmVzdGluZ0Rldikge1xuICAgICAgdmFsaWRhdGVET01OZXN0aW5nKHR5cGUsIGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckluc3RhbmNlKTtcblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdodG1sJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIGRvY3VtZW50RWxlbWVudCA9IG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuXG4gICAgICAgIGlmICghZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZWFjdCBleHBlY3RlZCBhbiA8aHRtbD4gZWxlbWVudCAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB0byBleGlzdCBpbiB0aGUgRG9jdW1lbnQgYnV0IG9uZSB3YXMnICsgJyBub3QgZm91bmQuIFJlYWN0IG5ldmVyIHJlbW92ZXMgdGhlIGRvY3VtZW50RWxlbWVudCBmb3IgYW55IERvY3VtZW50IGl0IHJlbmRlcnMgaW50byBzbycgKyAnIHRoZSBjYXVzZSBpcyBsaWtlbHkgaW4gc29tZSBvdGhlciBzY3JpcHQgcnVubmluZyBvbiB0aGlzIHBhZ2UuJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZG9jdW1lbnRFbGVtZW50O1xuICAgICAgfVxuXG4gICAgY2FzZSAnaGVhZCc6XG4gICAgICB7XG4gICAgICAgIHZhciBoZWFkID0gb3duZXJEb2N1bWVudC5oZWFkO1xuXG4gICAgICAgIGlmICghaGVhZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QgZXhwZWN0ZWQgYSA8aGVhZD4gZWxlbWVudCAoZG9jdW1lbnQuaGVhZCkgdG8gZXhpc3QgaW4gdGhlIERvY3VtZW50IGJ1dCBvbmUgd2FzJyArICcgbm90IGZvdW5kLiBSZWFjdCBuZXZlciByZW1vdmVzIHRoZSBoZWFkIGZvciBhbnkgRG9jdW1lbnQgaXQgcmVuZGVycyBpbnRvIHNvJyArICcgdGhlIGNhdXNlIGlzIGxpa2VseSBpbiBzb21lIG90aGVyIHNjcmlwdCBydW5uaW5nIG9uIHRoaXMgcGFnZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoZWFkO1xuICAgICAgfVxuXG4gICAgY2FzZSAnYm9keSc6XG4gICAgICB7XG4gICAgICAgIHZhciBib2R5ID0gb3duZXJEb2N1bWVudC5ib2R5O1xuXG4gICAgICAgIGlmICghYm9keSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QgZXhwZWN0ZWQgYSA8Ym9keT4gZWxlbWVudCAoZG9jdW1lbnQuYm9keSkgdG8gZXhpc3QgaW4gdGhlIERvY3VtZW50IGJ1dCBvbmUgd2FzJyArICcgbm90IGZvdW5kLiBSZWFjdCBuZXZlciByZW1vdmVzIHRoZSBib2R5IGZvciBhbnkgRG9jdW1lbnQgaXQgcmVuZGVycyBpbnRvIHNvJyArICcgdGhlIGNhdXNlIGlzIGxpa2VseSBpbiBzb21lIG90aGVyIHNjcmlwdCBydW5uaW5nIG9uIHRoaXMgcGFnZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBib2R5O1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZXNvbHZlU2luZ2xldG9uSW5zdGFuY2Ugd2FzIGNhbGxlZCB3aXRoIGFuIGVsZW1lbnQgdHlwZSB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGFjcXVpcmVTaW5nbGV0b25JbnN0YW5jZSh0eXBlLCBwcm9wcywgaW5zdGFuY2UsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAge1xuICAgIHZhciBjdXJyZW50SW5zdGFuY2VIYW5kbGUgPSBnZXRJbnN0YW5jZUZyb21Ob2RlKGluc3RhbmNlKTtcblxuICAgIGlmIChjdXJyZW50SW5zdGFuY2VIYW5kbGUpIHtcbiAgICAgIHZhciB0YWdOYW1lID0gaW5zdGFuY2UudGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBlcnJvcignWW91IGFyZSBtb3VudGluZyBhIG5ldyAlcyBjb21wb25lbnQgd2hlbiBhIHByZXZpb3VzIG9uZSBoYXMgbm90IGZpcnN0IHVubW91bnRlZC4gSXQgaXMgYW4nICsgJyBlcnJvciB0byByZW5kZXIgbW9yZSB0aGFuIG9uZSAlcyBjb21wb25lbnQgYXQgYSB0aW1lIGFuZCBhdHRyaWJ1dGVzIGFuZCBjaGlsZHJlbiBvZiB0aGVzZScgKyAnIGNvbXBvbmVudHMgd2lsbCBsaWtlbHkgZmFpbCBpbiB1bnByZWRpY3RhYmxlIHdheXMuIFBsZWFzZSBvbmx5IHJlbmRlciBhIHNpbmdsZSBpbnN0YW5jZSBvZicgKyAnIDwlcz4gYW5kIGlmIHlvdSBuZWVkIHRvIG1vdW50IGEgbmV3IG9uZSwgZW5zdXJlIGFueSBwcmV2aW91cyBvbmVzIGhhdmUgdW5tb3VudGVkIGZpcnN0LicsIHRhZ05hbWUsIHRhZ05hbWUsIHRhZ05hbWUpO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGNhc2UgJ2JvZHknOlxuICAgICAgICB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIGVycm9yKCdhY3F1aXJlU2luZ2xldG9uSW5zdGFuY2Ugd2FzIGNhbGxlZCB3aXRoIGFuIGVsZW1lbnQgdHlwZSB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgYXR0cmlidXRlcyA9IGluc3RhbmNlLmF0dHJpYnV0ZXM7XG5cbiAgd2hpbGUgKGF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgaW5zdGFuY2UucmVtb3ZlQXR0cmlidXRlTm9kZShhdHRyaWJ1dGVzWzBdKTtcbiAgfVxuXG4gIHNldEluaXRpYWxQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcyk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIGluc3RhbmNlKTtcbiAgdXBkYXRlRmliZXJQcm9wcyhpbnN0YW5jZSwgcHJvcHMpO1xufVxuZnVuY3Rpb24gcmVsZWFzZVNpbmdsZXRvbkluc3RhbmNlKGluc3RhbmNlKSB7XG4gIHZhciBhdHRyaWJ1dGVzID0gaW5zdGFuY2UuYXR0cmlidXRlcztcblxuICB3aGlsZSAoYXR0cmlidXRlcy5sZW5ndGgpIHtcbiAgICBpbnN0YW5jZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKGF0dHJpYnV0ZXNbMF0pO1xuICB9XG5cbiAgZGV0YWNoRGVsZXRlZEluc3RhbmNlKGluc3RhbmNlKTtcbn1cbmZ1bmN0aW9uIGNsZWFyU2luZ2xldG9uKGluc3RhbmNlKSB7XG4gIHZhciBlbGVtZW50ID0gaW5zdGFuY2U7XG4gIHZhciBub2RlID0gZWxlbWVudC5maXJzdENoaWxkO1xuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgdmFyIG5leHROb2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgICB2YXIgbm9kZU5hbWUgPSBub2RlLm5vZGVOYW1lO1xuXG4gICAgaWYgKGlzTWFya2VkSG9pc3RhYmxlKG5vZGUpIHx8IG5vZGVOYW1lID09PSAnSEVBRCcgfHwgbm9kZU5hbWUgPT09ICdCT0RZJyB8fCBub2RlTmFtZSA9PT0gJ1NDUklQVCcgfHwgbm9kZU5hbWUgPT09ICdTVFlMRScgfHwgbm9kZU5hbWUgPT09ICdMSU5LJyAmJiBub2RlLnJlbC50b0xvd2VyQ2FzZSgpID09PSAnc3R5bGVzaGVldCcpIDsgZWxzZSB7XG4gICAgICBlbGVtZW50LnJlbW92ZUNoaWxkKG5vZGUpO1xuICAgIH1cblxuICAgIG5vZGUgPSBuZXh0Tm9kZTtcbiAgfVxuXG4gIHJldHVybjtcbn0gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIE5vdExvYWRlZCA9XG4vKiAgICAgICAqL1xuMDtcbnZhciBMb2FkZWQgPVxuLyogICAgICAgICAgKi9cbjE7XG52YXIgRXJyb3JlZCA9XG4vKiAgICAgICAgICovXG4yO1xudmFyIFNldHRsZWQgPVxuLyogICAgICAgICAqL1xuMztcbnZhciBJbnNlcnRlZCA9XG4vKiAgICAgICAgKi9cbjQ7XG5mdW5jdGlvbiBwcmVwYXJlVG9Db21taXRIb2lzdGFibGVzKCkge1xuICB0YWdDYWNoZXMgPSBudWxsO1xufSAvLyBnbG9iYWwgY29sbGVjdGlvbnMgb2YgUmVzb3VyY2VzXG5cbnZhciBwcmVsb2FkUHJvcHNNYXAgPSBuZXcgTWFwKCk7XG52YXIgcHJlY29ubmVjdHNTZXQgPSBuZXcgU2V0KCk7IC8vIGdldFJvb3ROb2RlIGlzIG1pc3NpbmcgZnJvbSBJRSBhbmQgb2xkIGpzZG9tIHZlcnNpb25zXG5cbmZ1bmN0aW9uIGdldEhvaXN0YWJsZVJvb3QoY29udGFpbmVyKSB7XG4gIC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cbiAgcmV0dXJuIHR5cGVvZiBjb250YWluZXIuZ2V0Um9vdE5vZGUgPT09ICdmdW5jdGlvbicgP1xuICAvKiAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIEZsb3cgdHlwZXMgdGhpcyBhcyByZXR1cm5pbmcgYSBgTm9kZWAsXG4gICAqIGJ1dCBpdCdzIGVpdGhlciBhIGBEb2N1bWVudGAgb3IgYFNoYWRvd1Jvb3RgLiAqL1xuICBjb250YWluZXIuZ2V0Um9vdE5vZGUoKSA6IGNvbnRhaW5lci5vd25lckRvY3VtZW50O1xufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50UmVzb3VyY2VSb290KCkge1xuICB2YXIgY3VycmVudENvbnRhaW5lciA9IGdldEN1cnJlbnRSb290SG9zdENvbnRhaW5lcigpO1xuICByZXR1cm4gY3VycmVudENvbnRhaW5lciA/IGdldEhvaXN0YWJsZVJvb3QoY3VycmVudENvbnRhaW5lcikgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXREb2N1bWVudEZyb21Sb290KHJvb3QpIHtcbiAgcmV0dXJuIHJvb3Qub3duZXJEb2N1bWVudCB8fCByb290O1xufSAvLyBXZSB3YW50IHRoaXMgdG8gYmUgdGhlIGRlZmF1bHQgZGlzcGF0Y2hlciBvbiBSZWFjdERPTVNoYXJlZEludGVybmFscyBidXQgd2UgZG9uJ3Qgd2FudCB0byBtdXRhdGVcbi8vIGludGVybmFscyBpbiBNb2R1bGUgc2NvcGUuIEluc3RlYWQgd2UgZXhwb3J0IGl0IGFuZCBJbnRlcm5hbHMgd2lsbCBpbXBvcnQgaXQuIFRoZXJlIGlzIGFscmVhZHkgYSBjeWNsZVxuLy8gZnJvbSBJbnRlcm5hbHMgLT4gUmVhY3RET00gLT4gSG9zdENvbmZpZyAtPiBJbnRlcm5hbHMgc28gdGhpcyBkb2Vzbid0IGludHJvZHVjZSBhIG5ldyBvbmUuXG5cblxudmFyIFJlYWN0RE9NQ2xpZW50RGlzcGF0Y2hlciA9IHtcbiAgcHJlZmV0Y2hETlM6IHByZWZldGNoRE5TJDEsXG4gIHByZWNvbm5lY3Q6IHByZWNvbm5lY3QkMSxcbiAgcHJlbG9hZDogcHJlbG9hZCQxLFxuICBwcmVsb2FkTW9kdWxlOiBwcmVsb2FkTW9kdWxlJDEsXG4gIHByZWluaXRTdHlsZTogcHJlaW5pdFN0eWxlLFxuICBwcmVpbml0U2NyaXB0OiBwcmVpbml0U2NyaXB0LFxuICBwcmVpbml0TW9kdWxlU2NyaXB0OiBwcmVpbml0TW9kdWxlU2NyaXB0XG59OyAvLyBXZSBleHBlY3QgdGhpcyB0byBnZXQgaW5saW5lZC4gSXQgaXMgYSBmdW5jdGlvbiBtb3N0bHkgdG8gY29tbXVuaWNhdGUgdGhlIHNwZWNpYWwgbmF0dXJlIG9mXG4vLyBob3cgd2UgcmVzb2x2ZSB0aGUgSG9pc3RhYmxlUm9vdCBmb3IgUmVhY3RET00ucHJlKigpIG1ldGhvZHMuIEJlY2F1c2Ugd2Ugc3VwcG9ydCBjYWxsaW5nXG4vLyB0aGVzZSBtZXRob2RzIG91dHNpZGUgb2YgcmVuZGVyIHRoZXJlIGlzIG5vIHdheSB0byBrbm93IHdoaWNoIERvY3VtZW50IG9yIFNoYWRvd1Jvb3QgaXMgJ3Njb3BlZCdcbi8vIGFuZCBzbyB3ZSBoYXZlIHRvIGZhbGwgYmFjayB0byBzb21ldGhpbmcgdW5pdmVyc2FsLiBDdXJyZW50bHkgd2UganVzdCByZWZlciB0byB0aGUgZ2xvYmFsIGRvY3VtZW50LlxuLy8gVGhpcyBpcyBub3RhYmxlIGJlY2F1c2Ugbm93aGVyZSBlbHNlIGluIFJlYWN0RE9NIGRvIHdlIGFjdHVhbGx5IHJlZmVyZW5jZSB0aGUgZ2xvYmFsIGRvY3VtZW50IG9yIHdpbmRvd1xuLy8gYmVjYXVzZSB3ZSBtYXkgYmUgcmVuZGVyaW5nIGluc2lkZSBhbiBpZnJhbWUuXG5cbmZ1bmN0aW9uIGdldERvY3VtZW50Rm9ySW1wZXJhdGl2ZUZsb2F0TWV0aG9kcygpIHtcbiAgcmV0dXJuIGRvY3VtZW50O1xufVxuXG5mdW5jdGlvbiBwcmVjb25uZWN0QXMocmVsLCBocmVmLCBjcm9zc09yaWdpbikge1xuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldERvY3VtZW50Rm9ySW1wZXJhdGl2ZUZsb2F0TWV0aG9kcygpO1xuXG4gIGlmICh0eXBlb2YgaHJlZiA9PT0gJ3N0cmluZycgJiYgaHJlZikge1xuICAgIHZhciBsaW1pdGVkRXNjYXBlZEhyZWYgPSBlc2NhcGVTZWxlY3RvckF0dHJpYnV0ZVZhbHVlSW5zaWRlRG91YmxlUXVvdGVzKGhyZWYpO1xuICAgIHZhciBrZXkgPSBcImxpbmtbcmVsPVxcXCJcIiArIHJlbCArIFwiXFxcIl1baHJlZj1cXFwiXCIgKyBsaW1pdGVkRXNjYXBlZEhyZWYgKyBcIlxcXCJdXCI7XG5cbiAgICBpZiAodHlwZW9mIGNyb3NzT3JpZ2luID09PSAnc3RyaW5nJykge1xuICAgICAga2V5ICs9IFwiW2Nyb3Nzb3JpZ2luPVxcXCJcIiArIGNyb3NzT3JpZ2luICsgXCJcXFwiXVwiO1xuICAgIH1cblxuICAgIGlmICghcHJlY29ubmVjdHNTZXQuaGFzKGtleSkpIHtcbiAgICAgIHByZWNvbm5lY3RzU2V0LmFkZChrZXkpO1xuICAgICAgdmFyIHByZWNvbm5lY3RQcm9wcyA9IHtcbiAgICAgICAgcmVsOiByZWwsXG4gICAgICAgIGNyb3NzT3JpZ2luOiBjcm9zc09yaWdpbixcbiAgICAgICAgaHJlZjogaHJlZlxuICAgICAgfTtcblxuICAgICAgaWYgKG51bGwgPT09IG93bmVyRG9jdW1lbnQucXVlcnlTZWxlY3RvcihrZXkpKSB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IG93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICBzZXRJbml0aWFsUHJvcGVydGllcyhpbnN0YW5jZSwgJ2xpbmsnLCBwcmVjb25uZWN0UHJvcHMpO1xuICAgICAgICBtYXJrTm9kZUFzSG9pc3RhYmxlKGluc3RhbmNlKTtcbiAgICAgICAgb3duZXJEb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGluc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJlZmV0Y2hETlMkMShocmVmKSB7XG5cbiAgcHJlY29ubmVjdEFzKCdkbnMtcHJlZmV0Y2gnLCBocmVmLCBudWxsKTtcbn1cblxuZnVuY3Rpb24gcHJlY29ubmVjdCQxKGhyZWYsIGNyb3NzT3JpZ2luKSB7XG5cbiAgcHJlY29ubmVjdEFzKCdwcmVjb25uZWN0JywgaHJlZiwgY3Jvc3NPcmlnaW4pO1xufVxuXG5mdW5jdGlvbiBwcmVsb2FkJDEoaHJlZiwgYXMsIG9wdGlvbnMpIHtcblxuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldERvY3VtZW50Rm9ySW1wZXJhdGl2ZUZsb2F0TWV0aG9kcygpO1xuXG4gIGlmIChocmVmICYmIGFzICYmIG93bmVyRG9jdW1lbnQpIHtcbiAgICB2YXIgcHJlbG9hZFNlbGVjdG9yID0gXCJsaW5rW3JlbD1cXFwicHJlbG9hZFxcXCJdW2FzPVxcXCJcIiArIGVzY2FwZVNlbGVjdG9yQXR0cmlidXRlVmFsdWVJbnNpZGVEb3VibGVRdW90ZXMoYXMpICsgXCJcXFwiXVwiO1xuXG4gICAgaWYgKGFzID09PSAnaW1hZ2UnKSB7XG4gICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmltYWdlU3JjU2V0KSB7XG4gICAgICAgIHByZWxvYWRTZWxlY3RvciArPSBcIltpbWFnZXNyY3NldD1cXFwiXCIgKyBlc2NhcGVTZWxlY3RvckF0dHJpYnV0ZVZhbHVlSW5zaWRlRG91YmxlUXVvdGVzKG9wdGlvbnMuaW1hZ2VTcmNTZXQpICsgXCJcXFwiXVwiO1xuXG4gICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5pbWFnZVNpemVzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHByZWxvYWRTZWxlY3RvciArPSBcIltpbWFnZXNpemVzPVxcXCJcIiArIGVzY2FwZVNlbGVjdG9yQXR0cmlidXRlVmFsdWVJbnNpZGVEb3VibGVRdW90ZXMob3B0aW9ucy5pbWFnZVNpemVzKSArIFwiXFxcIl1cIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJlbG9hZFNlbGVjdG9yICs9IFwiW2hyZWY9XFxcIlwiICsgZXNjYXBlU2VsZWN0b3JBdHRyaWJ1dGVWYWx1ZUluc2lkZURvdWJsZVF1b3RlcyhocmVmKSArIFwiXFxcIl1cIjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcHJlbG9hZFNlbGVjdG9yICs9IFwiW2hyZWY9XFxcIlwiICsgZXNjYXBlU2VsZWN0b3JBdHRyaWJ1dGVWYWx1ZUluc2lkZURvdWJsZVF1b3RlcyhocmVmKSArIFwiXFxcIl1cIjtcbiAgICB9IC8vIFNvbWUgcHJlbG9hZHMgYXJlIGtleWVkIHVuZGVyIHRoZWlyIHNlbGVjdG9yLiBUaGlzIGhhcHBlbnMgd2hlbiB0aGUgcHJlbG9hZCBpcyBmb3JcbiAgICAvLyBhbiBhcmJpdHJhcnkgdHlwZS4gT3RoZXIgcHJlbG9hZHMgYXJlIGtleWVkIHVuZGVyIHRoZSByZXNvdXJjZSBrZXkgdGhleSByZXByZXNlbnQgYSBwcmVsb2FkIGZvci5cbiAgICAvLyBIZXJlIHdlIGZpZ3VyZSBvdXQgd2hpY2gga2V5IHRvIHVzZSB0byBkZXRlcm1pbmUgaWYgd2UgaGF2ZSBhIHByZWxvYWQgYWxyZWFkeS5cblxuXG4gICAgdmFyIGtleSA9IHByZWxvYWRTZWxlY3RvcjtcblxuICAgIHN3aXRjaCAoYXMpIHtcbiAgICAgIGNhc2UgJ3N0eWxlJzpcbiAgICAgICAga2V5ID0gZ2V0U3R5bGVLZXkoaHJlZik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdzY3JpcHQnOlxuICAgICAgICBrZXkgPSBnZXRTY3JpcHRLZXkoaHJlZik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmICghcHJlbG9hZFByb3BzTWFwLmhhcyhrZXkpKSB7XG4gICAgICB2YXIgcHJlbG9hZFByb3BzID0gYXNzaWduKHtcbiAgICAgICAgcmVsOiAncHJlbG9hZCcsXG4gICAgICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIFNhZmFyaSB3aGVyZSBpbWFnZVNyY1NldCBpcyBub3QgcmVzcGVjdGVkIG9uIHByZWxvYWQgbGlua3NcbiAgICAgICAgLy8gc28gd2Ugb21pdCB0aGUgaHJlZiBoZXJlIGlmIHdlIGhhdmUgaW1hZ2VTcmNTZXQgYi9jIHNhZmFyaSB3aWxsIGxvYWQgdGhlIHdyb25nIGltYWdlLlxuICAgICAgICAvLyBUaGlzIGhhcm1zIG9sZGVyIGJyb3dlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBpbWFnZVNyY1NldCBieSBtYWtpbmcgdGhlaXIgcHJlbG9hZHMgbm90IHdvcmtcbiAgICAgICAgLy8gYnV0IHRoaXMgcG9wdWxhdGlvbiBpcyBzaHJpbmtpbmcgZmFzdCBhbmQgaXMgYWxyZWFkeSBzbWFsbCBzbyB3ZSBhY2NlcHQgdGhpcyB0cmFkZW9mZi5cbiAgICAgICAgaHJlZjogYXMgPT09ICdpbWFnZScgJiYgb3B0aW9ucyAmJiBvcHRpb25zLmltYWdlU3JjU2V0ID8gdW5kZWZpbmVkIDogaHJlZixcbiAgICAgICAgYXM6IGFzXG4gICAgICB9LCBvcHRpb25zKTtcblxuICAgICAgcHJlbG9hZFByb3BzTWFwLnNldChrZXksIHByZWxvYWRQcm9wcyk7XG5cbiAgICAgIGlmIChudWxsID09PSBvd25lckRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IocHJlbG9hZFNlbGVjdG9yKSkge1xuICAgICAgICBpZiAoYXMgPT09ICdzdHlsZScgJiYgb3duZXJEb2N1bWVudC5xdWVyeVNlbGVjdG9yKGdldFN0eWxlc2hlZXRTZWxlY3RvckZyb21LZXkoa2V5KSkpIHtcbiAgICAgICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSBzdHlsZXNoZWV0IGZvciB0aGlzIGtleS4gV2UgZG9uJ3QgbmVlZCB0byBwcmVsb2FkIGl0LlxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChhcyA9PT0gJ3NjcmlwdCcgJiYgb3duZXJEb2N1bWVudC5xdWVyeVNlbGVjdG9yKGdldFNjcmlwdFNlbGVjdG9yRnJvbUtleShrZXkpKSkge1xuICAgICAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIHN0eWxlc2hlZXQgZm9yIHRoaXMga2V5LiBXZSBkb24ndCBuZWVkIHRvIHByZWxvYWQgaXQuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGluc3RhbmNlID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHNldEluaXRpYWxQcm9wZXJ0aWVzKGluc3RhbmNlLCAnbGluaycsIHByZWxvYWRQcm9wcyk7XG4gICAgICAgIG1hcmtOb2RlQXNIb2lzdGFibGUoaW5zdGFuY2UpO1xuICAgICAgICBvd25lckRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmVsb2FkTW9kdWxlJDEoaHJlZiwgb3B0aW9ucykge1xuXG4gIHZhciBvd25lckRvY3VtZW50ID0gZ2V0RG9jdW1lbnRGb3JJbXBlcmF0aXZlRmxvYXRNZXRob2RzKCk7XG5cbiAgaWYgKGhyZWYpIHtcbiAgICB2YXIgYXMgPSBvcHRpb25zICYmIHR5cGVvZiBvcHRpb25zLmFzID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYXMgOiAnc2NyaXB0JztcbiAgICB2YXIgcHJlbG9hZFNlbGVjdG9yID0gXCJsaW5rW3JlbD1cXFwibW9kdWxlcHJlbG9hZFxcXCJdW2FzPVxcXCJcIiArIGVzY2FwZVNlbGVjdG9yQXR0cmlidXRlVmFsdWVJbnNpZGVEb3VibGVRdW90ZXMoYXMpICsgXCJcXFwiXVtocmVmPVxcXCJcIiArIGVzY2FwZVNlbGVjdG9yQXR0cmlidXRlVmFsdWVJbnNpZGVEb3VibGVRdW90ZXMoaHJlZikgKyBcIlxcXCJdXCI7IC8vIFNvbWUgcHJlbG9hZHMgYXJlIGtleWVkIHVuZGVyIHRoZWlyIHNlbGVjdG9yLiBUaGlzIGhhcHBlbnMgd2hlbiB0aGUgcHJlbG9hZCBpcyBmb3JcbiAgICAvLyBhbiBhcmJpdHJhcnkgdHlwZS4gT3RoZXIgcHJlbG9hZHMgYXJlIGtleWVkIHVuZGVyIHRoZSByZXNvdXJjZSBrZXkgdGhleSByZXByZXNlbnQgYSBwcmVsb2FkIGZvci5cbiAgICAvLyBIZXJlIHdlIGZpZ3VyZSBvdXQgd2hpY2gga2V5IHRvIHVzZSB0byBkZXRlcm1pbmUgaWYgd2UgaGF2ZSBhIHByZWxvYWQgYWxyZWFkeS5cblxuICAgIHZhciBrZXkgPSBwcmVsb2FkU2VsZWN0b3I7XG5cbiAgICBzd2l0Y2ggKGFzKSB7XG4gICAgICBjYXNlICdhdWRpb3dvcmtsZXQnOlxuICAgICAgY2FzZSAncGFpbnR3b3JrbGV0JzpcbiAgICAgIGNhc2UgJ3NlcnZpY2V3b3JrZXInOlxuICAgICAgY2FzZSAnc2hhcmVkd29ya2VyJzpcbiAgICAgIGNhc2UgJ3dvcmtlcic6XG4gICAgICBjYXNlICdzY3JpcHQnOlxuICAgICAgICB7XG4gICAgICAgICAga2V5ID0gZ2V0U2NyaXB0S2V5KGhyZWYpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFwcmVsb2FkUHJvcHNNYXAuaGFzKGtleSkpIHtcbiAgICAgIHZhciBwcm9wcyA9IGFzc2lnbih7XG4gICAgICAgIHJlbDogJ21vZHVsZXByZWxvYWQnLFxuICAgICAgICBocmVmOiBocmVmXG4gICAgICB9LCBvcHRpb25zKTtcblxuICAgICAgcHJlbG9hZFByb3BzTWFwLnNldChrZXksIHByb3BzKTtcblxuICAgICAgaWYgKG51bGwgPT09IG93bmVyRG9jdW1lbnQucXVlcnlTZWxlY3RvcihwcmVsb2FkU2VsZWN0b3IpKSB7XG4gICAgICAgIHN3aXRjaCAoYXMpIHtcbiAgICAgICAgICBjYXNlICdhdWRpb3dvcmtsZXQnOlxuICAgICAgICAgIGNhc2UgJ3BhaW50d29ya2xldCc6XG4gICAgICAgICAgY2FzZSAnc2VydmljZXdvcmtlcic6XG4gICAgICAgICAgY2FzZSAnc2hhcmVkd29ya2VyJzpcbiAgICAgICAgICBjYXNlICd3b3JrZXInOlxuICAgICAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChvd25lckRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZ2V0U2NyaXB0U2VsZWN0b3JGcm9tS2V5KGtleSkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgc2V0SW5pdGlhbFByb3BlcnRpZXMoaW5zdGFuY2UsICdsaW5rJywgcHJvcHMpO1xuICAgICAgICBtYXJrTm9kZUFzSG9pc3RhYmxlKGluc3RhbmNlKTtcbiAgICAgICAgb3duZXJEb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGluc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJlaW5pdFN0eWxlKGhyZWYsIHByZWNlZGVuY2UsIG9wdGlvbnMpIHtcblxuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldERvY3VtZW50Rm9ySW1wZXJhdGl2ZUZsb2F0TWV0aG9kcygpO1xuXG4gIGlmIChocmVmKSB7XG4gICAgdmFyIHN0eWxlcyA9IGdldFJlc291cmNlc0Zyb21Sb290KG93bmVyRG9jdW1lbnQpLmhvaXN0YWJsZVN0eWxlcztcbiAgICB2YXIga2V5ID0gZ2V0U3R5bGVLZXkoaHJlZik7XG4gICAgcHJlY2VkZW5jZSA9IHByZWNlZGVuY2UgfHwgJ2RlZmF1bHQnOyAvLyBDaGVjayBpZiB0aGlzIHJlc291cmNlIGFscmVhZHkgZXhpc3RzXG5cbiAgICB2YXIgcmVzb3VyY2UgPSBzdHlsZXMuZ2V0KGtleSk7XG5cbiAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgIC8vIFdlIGNhbiBlYXJseSByZXR1cm4uIFRoZSByZXNvdXJjZSBleGlzdHMgYW5kIHRoZXJlIGlzIG5vdGhpbmdcbiAgICAgIC8vIG1vcmUgdG8gZG9cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgc3RhdGUgPSB7XG4gICAgICBsb2FkaW5nOiBOb3RMb2FkZWQsXG4gICAgICBwcmVsb2FkOiBudWxsXG4gICAgfTsgLy8gQXR0ZW1wdCB0byBoeWRyYXRlIGluc3RhbmNlIGZyb20gRE9NXG5cbiAgICB2YXIgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZ2V0U3R5bGVzaGVldFNlbGVjdG9yRnJvbUtleShrZXkpKTtcblxuICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgc3RhdGUubG9hZGluZyA9IExvYWRlZCB8IEluc2VydGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDb25zdHJ1Y3QgYSBuZXcgaW5zdGFuY2UgYW5kIGluc2VydCBpdFxuICAgICAgdmFyIHN0eWxlc2hlZXRQcm9wcyA9IGFzc2lnbih7XG4gICAgICAgIHJlbDogJ3N0eWxlc2hlZXQnLFxuICAgICAgICBocmVmOiBocmVmLFxuICAgICAgICAnZGF0YS1wcmVjZWRlbmNlJzogcHJlY2VkZW5jZVxuICAgICAgfSwgb3B0aW9ucyk7XG5cbiAgICAgIHZhciBwcmVsb2FkUHJvcHMgPSBwcmVsb2FkUHJvcHNNYXAuZ2V0KGtleSk7XG5cbiAgICAgIGlmIChwcmVsb2FkUHJvcHMpIHtcbiAgICAgICAgYWRvcHRQcmVsb2FkUHJvcHNGb3JTdHlsZXNoZWV0KHN0eWxlc2hlZXRQcm9wcywgcHJlbG9hZFByb3BzKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGxpbmsgPSBpbnN0YW5jZSA9IG93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgbWFya05vZGVBc0hvaXN0YWJsZShsaW5rKTtcbiAgICAgIHNldEluaXRpYWxQcm9wZXJ0aWVzKGxpbmssICdsaW5rJywgc3R5bGVzaGVldFByb3BzKTtcbiAgICAgIGxpbmsuX3AgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGxpbmsub25sb2FkID0gcmVzb2x2ZTtcbiAgICAgICAgbGluay5vbmVycm9yID0gcmVqZWN0O1xuICAgICAgfSk7XG4gICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHN0YXRlLmxvYWRpbmcgfD0gTG9hZGVkO1xuICAgICAgfSk7XG4gICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBzdGF0ZS5sb2FkaW5nIHw9IEVycm9yZWQ7XG4gICAgICB9KTtcbiAgICAgIHN0YXRlLmxvYWRpbmcgfD0gSW5zZXJ0ZWQ7XG4gICAgICBpbnNlcnRTdHlsZXNoZWV0KGluc3RhbmNlLCBwcmVjZWRlbmNlLCBvd25lckRvY3VtZW50KTtcbiAgICB9IC8vIENvbnN0cnVjdCBhIFJlc291cmNlIGFuZCBjYWNoZSBpdFxuXG5cbiAgICByZXNvdXJjZSA9IHtcbiAgICAgIHR5cGU6ICdzdHlsZXNoZWV0JyxcbiAgICAgIGluc3RhbmNlOiBpbnN0YW5jZSxcbiAgICAgIGNvdW50OiAxLFxuICAgICAgc3RhdGU6IHN0YXRlXG4gICAgfTtcbiAgICBzdHlsZXMuc2V0KGtleSwgcmVzb3VyY2UpO1xuICAgIHJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcmVpbml0U2NyaXB0KHNyYywgb3B0aW9ucykge1xuXG4gIHZhciBvd25lckRvY3VtZW50ID0gZ2V0RG9jdW1lbnRGb3JJbXBlcmF0aXZlRmxvYXRNZXRob2RzKCk7XG5cbiAgaWYgKHNyYykge1xuICAgIHZhciBzY3JpcHRzID0gZ2V0UmVzb3VyY2VzRnJvbVJvb3Qob3duZXJEb2N1bWVudCkuaG9pc3RhYmxlU2NyaXB0cztcbiAgICB2YXIga2V5ID0gZ2V0U2NyaXB0S2V5KHNyYyk7IC8vIENoZWNrIGlmIHRoaXMgcmVzb3VyY2UgYWxyZWFkeSBleGlzdHNcblxuICAgIHZhciByZXNvdXJjZSA9IHNjcmlwdHMuZ2V0KGtleSk7XG5cbiAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgIC8vIFdlIGNhbiBlYXJseSByZXR1cm4uIFRoZSByZXNvdXJjZSBleGlzdHMgYW5kIHRoZXJlIGlzIG5vdGhpbmdcbiAgICAgIC8vIG1vcmUgdG8gZG9cbiAgICAgIHJldHVybjtcbiAgICB9IC8vIEF0dGVtcHQgdG8gaHlkcmF0ZSBpbnN0YW5jZSBmcm9tIERPTVxuXG5cbiAgICB2YXIgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZ2V0U2NyaXB0U2VsZWN0b3JGcm9tS2V5KGtleSkpO1xuXG4gICAgaWYgKCFpbnN0YW5jZSkge1xuICAgICAgLy8gQ29uc3RydWN0IGEgbmV3IGluc3RhbmNlIGFuZCBpbnNlcnQgaXRcbiAgICAgIHZhciBzY3JpcHRQcm9wcyA9IGFzc2lnbih7XG4gICAgICAgIHNyYzogc3JjLFxuICAgICAgICBhc3luYzogdHJ1ZVxuICAgICAgfSwgb3B0aW9ucyk7IC8vIEFkb3B0IGNlcnRhaW4gcHJlbG9hZCBwcm9wc1xuXG5cbiAgICAgIHZhciBwcmVsb2FkUHJvcHMgPSBwcmVsb2FkUHJvcHNNYXAuZ2V0KGtleSk7XG5cbiAgICAgIGlmIChwcmVsb2FkUHJvcHMpIHtcbiAgICAgICAgYWRvcHRQcmVsb2FkUHJvcHNGb3JTY3JpcHQoc2NyaXB0UHJvcHMsIHByZWxvYWRQcm9wcyk7XG4gICAgICB9XG5cbiAgICAgIGluc3RhbmNlID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIG1hcmtOb2RlQXNIb2lzdGFibGUoaW5zdGFuY2UpO1xuICAgICAgc2V0SW5pdGlhbFByb3BlcnRpZXMoaW5zdGFuY2UsICdsaW5rJywgc2NyaXB0UHJvcHMpO1xuICAgICAgb3duZXJEb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGluc3RhbmNlKTtcbiAgICB9IC8vIENvbnN0cnVjdCBhIFJlc291cmNlIGFuZCBjYWNoZSBpdFxuXG5cbiAgICByZXNvdXJjZSA9IHtcbiAgICAgIHR5cGU6ICdzY3JpcHQnLFxuICAgICAgaW5zdGFuY2U6IGluc3RhbmNlLFxuICAgICAgY291bnQ6IDEsXG4gICAgICBzdGF0ZTogbnVsbFxuICAgIH07XG4gICAgc2NyaXB0cy5zZXQoa2V5LCByZXNvdXJjZSk7XG4gICAgcmV0dXJuO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByZWluaXRNb2R1bGVTY3JpcHQoc3JjLCBvcHRpb25zKSB7XG5cbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXREb2N1bWVudEZvckltcGVyYXRpdmVGbG9hdE1ldGhvZHMoKTtcblxuICBpZiAoc3JjKSB7XG4gICAgdmFyIHNjcmlwdHMgPSBnZXRSZXNvdXJjZXNGcm9tUm9vdChvd25lckRvY3VtZW50KS5ob2lzdGFibGVTY3JpcHRzO1xuICAgIHZhciBrZXkgPSBnZXRTY3JpcHRLZXkoc3JjKTsgLy8gQ2hlY2sgaWYgdGhpcyByZXNvdXJjZSBhbHJlYWR5IGV4aXN0c1xuXG4gICAgdmFyIHJlc291cmNlID0gc2NyaXB0cy5nZXQoa2V5KTtcblxuICAgIGlmIChyZXNvdXJjZSkge1xuICAgICAgLy8gV2UgY2FuIGVhcmx5IHJldHVybi4gVGhlIHJlc291cmNlIGV4aXN0cyBhbmQgdGhlcmUgaXMgbm90aGluZ1xuICAgICAgLy8gbW9yZSB0byBkb1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gQXR0ZW1wdCB0byBoeWRyYXRlIGluc3RhbmNlIGZyb20gRE9NXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IG93bmVyRG9jdW1lbnQucXVlcnlTZWxlY3RvcihnZXRTY3JpcHRTZWxlY3RvckZyb21LZXkoa2V5KSk7XG5cbiAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICAvLyBDb25zdHJ1Y3QgYSBuZXcgaW5zdGFuY2UgYW5kIGluc2VydCBpdFxuICAgICAgdmFyIHNjcmlwdFByb3BzID0gYXNzaWduKHtcbiAgICAgICAgc3JjOiBzcmMsXG4gICAgICAgIGFzeW5jOiB0cnVlLFxuICAgICAgICB0eXBlOiAnbW9kdWxlJ1xuICAgICAgfSwgb3B0aW9ucyk7IC8vIEFkb3B0IGNlcnRhaW4gcHJlbG9hZCBwcm9wc1xuXG5cbiAgICAgIHZhciBwcmVsb2FkUHJvcHMgPSBwcmVsb2FkUHJvcHNNYXAuZ2V0KGtleSk7XG5cbiAgICAgIGlmIChwcmVsb2FkUHJvcHMpIHtcbiAgICAgICAgYWRvcHRQcmVsb2FkUHJvcHNGb3JTY3JpcHQoc2NyaXB0UHJvcHMsIHByZWxvYWRQcm9wcyk7XG4gICAgICB9XG5cbiAgICAgIGluc3RhbmNlID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIG1hcmtOb2RlQXNIb2lzdGFibGUoaW5zdGFuY2UpO1xuICAgICAgc2V0SW5pdGlhbFByb3BlcnRpZXMoaW5zdGFuY2UsICdsaW5rJywgc2NyaXB0UHJvcHMpO1xuICAgICAgb3duZXJEb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGluc3RhbmNlKTtcbiAgICB9IC8vIENvbnN0cnVjdCBhIFJlc291cmNlIGFuZCBjYWNoZSBpdFxuXG5cbiAgICByZXNvdXJjZSA9IHtcbiAgICAgIHR5cGU6ICdzY3JpcHQnLFxuICAgICAgaW5zdGFuY2U6IGluc3RhbmNlLFxuICAgICAgY291bnQ6IDEsXG4gICAgICBzdGF0ZTogbnVsbFxuICAgIH07XG4gICAgc2NyaXB0cy5zZXQoa2V5LCByZXNvdXJjZSk7XG4gICAgcmV0dXJuO1xuICB9XG59IC8vIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGluIGJlZ2luIHdvcmsgYW5kIHdlIHNob3VsZCBhbHdheXMgaGF2ZSBhIGN1cnJlbnREb2N1bWVudCBzZXRcblxuXG5mdW5jdGlvbiBnZXRSZXNvdXJjZSh0eXBlLCBjdXJyZW50UHJvcHMsIHBlbmRpbmdQcm9wcykge1xuICB2YXIgcmVzb3VyY2VSb290ID0gZ2V0Q3VycmVudFJlc291cmNlUm9vdCgpO1xuXG4gIGlmICghcmVzb3VyY2VSb290KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdcInJlc291cmNlUm9vdFwiIHdhcyBleHBlY3RlZCB0byBleGlzdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ21ldGEnOlxuICAgIGNhc2UgJ3RpdGxlJzpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlICdzdHlsZSc6XG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgcGVuZGluZ1Byb3BzLnByZWNlZGVuY2UgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBwZW5kaW5nUHJvcHMuaHJlZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICB2YXIga2V5ID0gZ2V0U3R5bGVLZXkocGVuZGluZ1Byb3BzLmhyZWYpO1xuICAgICAgICAgIHZhciBzdHlsZXMgPSBnZXRSZXNvdXJjZXNGcm9tUm9vdChyZXNvdXJjZVJvb3QpLmhvaXN0YWJsZVN0eWxlcztcbiAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBzdHlsZXMuZ2V0KGtleSk7XG5cbiAgICAgICAgICBpZiAoIXJlc291cmNlKSB7XG4gICAgICAgICAgICByZXNvdXJjZSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0eWxlJyxcbiAgICAgICAgICAgICAgaW5zdGFuY2U6IG51bGwsXG4gICAgICAgICAgICAgIGNvdW50OiAwLFxuICAgICAgICAgICAgICBzdGF0ZTogbnVsbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHN0eWxlcy5zZXQoa2V5LCByZXNvdXJjZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc291cmNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiAndm9pZCcsXG4gICAgICAgICAgaW5zdGFuY2U6IG51bGwsXG4gICAgICAgICAgY291bnQ6IDAsXG4gICAgICAgICAgc3RhdGU6IG51bGxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2xpbmsnOlxuICAgICAge1xuICAgICAgICBpZiAocGVuZGluZ1Byb3BzLnJlbCA9PT0gJ3N0eWxlc2hlZXQnICYmIHR5cGVvZiBwZW5kaW5nUHJvcHMuaHJlZiA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIHBlbmRpbmdQcm9wcy5wcmVjZWRlbmNlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHZhciBxdWFsaWZpZWRQcm9wcyA9IHBlbmRpbmdQcm9wcztcblxuICAgICAgICAgIHZhciBfa2V5ID0gZ2V0U3R5bGVLZXkocXVhbGlmaWVkUHJvcHMuaHJlZik7XG5cbiAgICAgICAgICB2YXIgX3N0eWxlcyA9IGdldFJlc291cmNlc0Zyb21Sb290KHJlc291cmNlUm9vdCkuaG9pc3RhYmxlU3R5bGVzO1xuXG4gICAgICAgICAgdmFyIF9yZXNvdXJjZSA9IF9zdHlsZXMuZ2V0KF9rZXkpO1xuXG4gICAgICAgICAgaWYgKCFfcmVzb3VyY2UpIHtcbiAgICAgICAgICAgIC8vIFdlIGFzc2VydGVkIHRoaXMgYWJvdmUgYnV0IEZsb3cgY2FuJ3QgZmlndXJlIG91dCB0aGF0IHRoZSB0eXBlIHNhdGlzZmllc1xuICAgICAgICAgICAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXREb2N1bWVudEZyb21Sb290KHJlc291cmNlUm9vdCk7XG4gICAgICAgICAgICBfcmVzb3VyY2UgPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHlsZXNoZWV0JyxcbiAgICAgICAgICAgICAgaW5zdGFuY2U6IG51bGwsXG4gICAgICAgICAgICAgIGNvdW50OiAwLFxuICAgICAgICAgICAgICBzdGF0ZToge1xuICAgICAgICAgICAgICAgIGxvYWRpbmc6IE5vdExvYWRlZCxcbiAgICAgICAgICAgICAgICBwcmVsb2FkOiBudWxsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIF9zdHlsZXMuc2V0KF9rZXksIF9yZXNvdXJjZSk7XG5cbiAgICAgICAgICAgIGlmICghcHJlbG9hZFByb3BzTWFwLmhhcyhfa2V5KSkge1xuICAgICAgICAgICAgICBwcmVsb2FkU3R5bGVzaGVldChvd25lckRvY3VtZW50LCBfa2V5LCBwcmVsb2FkUHJvcHNGcm9tU3R5bGVzaGVldChxdWFsaWZpZWRQcm9wcyksIF9yZXNvdXJjZS5zdGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIF9yZXNvdXJjZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSAnc2NyaXB0JzpcbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiBwZW5kaW5nUHJvcHMuc3JjID09PSAnc3RyaW5nJyAmJiBwZW5kaW5nUHJvcHMuYXN5bmMgPT09IHRydWUpIHtcbiAgICAgICAgICB2YXIgc2NyaXB0UHJvcHMgPSBwZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgICB2YXIgX2tleTIgPSBnZXRTY3JpcHRLZXkoc2NyaXB0UHJvcHMuc3JjKTtcblxuICAgICAgICAgIHZhciBzY3JpcHRzID0gZ2V0UmVzb3VyY2VzRnJvbVJvb3QocmVzb3VyY2VSb290KS5ob2lzdGFibGVTY3JpcHRzO1xuXG4gICAgICAgICAgdmFyIF9yZXNvdXJjZTIgPSBzY3JpcHRzLmdldChfa2V5Mik7XG5cbiAgICAgICAgICBpZiAoIV9yZXNvdXJjZTIpIHtcbiAgICAgICAgICAgIF9yZXNvdXJjZTIgPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzY3JpcHQnLFxuICAgICAgICAgICAgICBpbnN0YW5jZTogbnVsbCxcbiAgICAgICAgICAgICAgY291bnQ6IDAsXG4gICAgICAgICAgICAgIHN0YXRlOiBudWxsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgc2NyaXB0cy5zZXQoX2tleTIsIF9yZXNvdXJjZTIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBfcmVzb3VyY2UyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiAndm9pZCcsXG4gICAgICAgICAgaW5zdGFuY2U6IG51bGwsXG4gICAgICAgICAgY291bnQ6IDAsXG4gICAgICAgICAgc3RhdGU6IG51bGxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImdldFJlc291cmNlIGVuY291bnRlcmVkIGEgdHlwZSBpdCBkaWQgbm90IGV4cGVjdDogXFxcIlwiICsgdHlwZSArIFwiXFxcIi4gdGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC5cIik7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc3R5bGVUYWdQcm9wc0Zyb21SYXdQcm9wcyhyYXdQcm9wcykge1xuICByZXR1cm4gYXNzaWduKHt9LCByYXdQcm9wcywge1xuICAgICdkYXRhLWhyZWYnOiByYXdQcm9wcy5ocmVmLFxuICAgICdkYXRhLXByZWNlZGVuY2UnOiByYXdQcm9wcy5wcmVjZWRlbmNlLFxuICAgIGhyZWY6IG51bGwsXG4gICAgcHJlY2VkZW5jZTogbnVsbFxuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3R5bGVLZXkoaHJlZikge1xuICB2YXIgbGltaXRlZEVzY2FwZWRIcmVmID0gZXNjYXBlU2VsZWN0b3JBdHRyaWJ1dGVWYWx1ZUluc2lkZURvdWJsZVF1b3RlcyhocmVmKTtcbiAgcmV0dXJuIFwiaHJlZj1cXFwiXCIgKyBsaW1pdGVkRXNjYXBlZEhyZWYgKyBcIlxcXCJcIjtcbn1cblxuZnVuY3Rpb24gZ2V0U3R5bGVUYWdTZWxlY3RvcihocmVmKSB7XG4gIHZhciBsaW1pdGVkRXNjYXBlZEhyZWYgPSBlc2NhcGVTZWxlY3RvckF0dHJpYnV0ZVZhbHVlSW5zaWRlRG91YmxlUXVvdGVzKGhyZWYpO1xuICByZXR1cm4gXCJzdHlsZVtkYXRhLWhyZWZ+PVxcXCJcIiArIGxpbWl0ZWRFc2NhcGVkSHJlZiArIFwiXFxcIl1cIjtcbn1cblxuZnVuY3Rpb24gZ2V0U3R5bGVzaGVldFNlbGVjdG9yRnJvbUtleShrZXkpIHtcbiAgcmV0dXJuIFwibGlua1tyZWw9XFxcInN0eWxlc2hlZXRcXFwiXVtcIiArIGtleSArIFwiXVwiO1xufVxuXG5mdW5jdGlvbiBnZXRQcmVsb2FkU3R5bGVzaGVldFNlbGVjdG9yRnJvbUtleShrZXkpIHtcbiAgcmV0dXJuIFwibGlua1tyZWw9XFxcInByZWxvYWRcXFwiXVthcz1cXFwic3R5bGVcXFwiXVtcIiArIGtleSArIFwiXVwiO1xufVxuXG5mdW5jdGlvbiBzdHlsZXNoZWV0UHJvcHNGcm9tUmF3UHJvcHMocmF3UHJvcHMpIHtcbiAgcmV0dXJuIGFzc2lnbih7fSwgcmF3UHJvcHMsIHtcbiAgICAnZGF0YS1wcmVjZWRlbmNlJzogcmF3UHJvcHMucHJlY2VkZW5jZSxcbiAgICBwcmVjZWRlbmNlOiBudWxsXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwcmVsb2FkU3R5bGVzaGVldChvd25lckRvY3VtZW50LCBrZXksIHByZWxvYWRQcm9wcywgc3RhdGUpIHtcbiAgcHJlbG9hZFByb3BzTWFwLnNldChrZXksIHByZWxvYWRQcm9wcyk7XG5cbiAgaWYgKCFvd25lckRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZ2V0U3R5bGVzaGVldFNlbGVjdG9yRnJvbUtleShrZXkpKSkge1xuICAgIC8vIFRoZXJlIGlzIG5vIG1hdGNoaW5nIHN0eWxlc2hlZXQgaW5zdGFuY2UgaW4gdGhlIERvY3VtZW50LlxuICAgIC8vIFdlIHdpbGwgaW5zZXJ0IGEgcHJlbG9hZCBub3cgdG8ga2ljayBvZmYgbG9hZGluZyBiZWNhdXNlXG4gICAgLy8gd2UgZXhwZWN0IHRoaXMgc3R5bGVzaGVldCB0byBjb21taXRcbiAgICB2YXIgcHJlbG9hZEVsID0gb3duZXJEb2N1bWVudC5xdWVyeVNlbGVjdG9yKGdldFByZWxvYWRTdHlsZXNoZWV0U2VsZWN0b3JGcm9tS2V5KGtleSkpO1xuXG4gICAgaWYgKHByZWxvYWRFbCkge1xuICAgICAgLy8gSWYgd2UgZmluZCBhIHByZWxvYWQgYWxyZWFkeSBpdCB3YXMgU1NSJ2QgYW5kIHdlIHdvbid0IGhhdmUgYW4gYWN0dWFsXG4gICAgICAvLyBsb2FkaW5nIHN0YXRlIHRvIHRyYWNrLiBGb3Igbm93IHdlIHdpbGwganVzdCBhc3N1bWUgaXQgaXMgbG9hZGVkXG4gICAgICBzdGF0ZS5sb2FkaW5nID0gTG9hZGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgIHN0YXRlLnByZWxvYWQgPSBpbnN0YW5jZTtcbiAgICAgIGluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5sb2FkaW5nIHw9IExvYWRlZDtcbiAgICAgIH0pO1xuICAgICAgaW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5sb2FkaW5nIHw9IEVycm9yZWQ7XG4gICAgICB9KTtcbiAgICAgIHNldEluaXRpYWxQcm9wZXJ0aWVzKGluc3RhbmNlLCAnbGluaycsIHByZWxvYWRQcm9wcyk7XG4gICAgICBtYXJrTm9kZUFzSG9pc3RhYmxlKGluc3RhbmNlKTtcbiAgICAgIG93bmVyRG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpbnN0YW5jZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByZWxvYWRQcm9wc0Zyb21TdHlsZXNoZWV0KHByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgcmVsOiAncHJlbG9hZCcsXG4gICAgYXM6ICdzdHlsZScsXG4gICAgaHJlZjogcHJvcHMuaHJlZixcbiAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4sXG4gICAgaW50ZWdyaXR5OiBwcm9wcy5pbnRlZ3JpdHksXG4gICAgbWVkaWE6IHByb3BzLm1lZGlhLFxuICAgIGhyZWZMYW5nOiBwcm9wcy5ocmVmTGFuZyxcbiAgICByZWZlcnJlclBvbGljeTogcHJvcHMucmVmZXJyZXJQb2xpY3lcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0U2NyaXB0S2V5KHNyYykge1xuICB2YXIgbGltaXRlZEVzY2FwZWRTcmMgPSBlc2NhcGVTZWxlY3RvckF0dHJpYnV0ZVZhbHVlSW5zaWRlRG91YmxlUXVvdGVzKHNyYyk7XG4gIHJldHVybiBcIltzcmM9XFxcIlwiICsgbGltaXRlZEVzY2FwZWRTcmMgKyBcIlxcXCJdXCI7XG59XG5cbmZ1bmN0aW9uIGdldFNjcmlwdFNlbGVjdG9yRnJvbUtleShrZXkpIHtcbiAgcmV0dXJuICdzY3JpcHRbYXN5bmNdJyArIGtleTtcbn1cblxuZnVuY3Rpb24gYWNxdWlyZVJlc291cmNlKGhvaXN0YWJsZVJvb3QsIHJlc291cmNlLCBwcm9wcykge1xuICByZXNvdXJjZS5jb3VudCsrO1xuXG4gIGlmIChyZXNvdXJjZS5pbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgIHN3aXRjaCAocmVzb3VyY2UudHlwZSkge1xuICAgICAgY2FzZSAnc3R5bGUnOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHF1YWxpZmllZFByb3BzID0gcHJvcHM7IC8vIEF0dGVtcHQgdG8gaHlkcmF0ZSBpbnN0YW5jZSBmcm9tIERPTVxuXG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gaG9pc3RhYmxlUm9vdC5xdWVyeVNlbGVjdG9yKGdldFN0eWxlVGFnU2VsZWN0b3IocXVhbGlmaWVkUHJvcHMuaHJlZikpO1xuXG4gICAgICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXNvdXJjZS5pbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgICAgICAgICAgbWFya05vZGVBc0hvaXN0YWJsZShpbnN0YW5jZSk7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIHN0eWxlUHJvcHMgPSBzdHlsZVRhZ1Byb3BzRnJvbVJhd1Byb3BzKHByb3BzKTtcbiAgICAgICAgICB2YXIgb3duZXJEb2N1bWVudCA9IGdldERvY3VtZW50RnJvbVJvb3QoaG9pc3RhYmxlUm9vdCk7XG4gICAgICAgICAgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgICAgbWFya05vZGVBc0hvaXN0YWJsZShpbnN0YW5jZSk7XG4gICAgICAgICAgc2V0SW5pdGlhbFByb3BlcnRpZXMoaW5zdGFuY2UsICdzdHlsZScsIHN0eWxlUHJvcHMpOyAvLyBUT0RPOiBgc3R5bGVgIGRvZXMgbm90IGhhdmUgbG9hZGluZyBzdGF0ZSBmb3IgdHJhY2tpbmcgaW5zZXJ0aW9ucy4gSVxuICAgICAgICAgIC8vIGd1ZXNzIGJlY2F1c2UgdGhlc2UgYXJlbid0IHN1c3BlbnNleT8gTm90IHN1cmUgd2hldGhlciB0aGlzIGlzIGFcbiAgICAgICAgICAvLyBmYWN0b3Jpbmcgc21lbGwuXG4gICAgICAgICAgLy8gcmVzb3VyY2Uuc3RhdGUubG9hZGluZyB8PSBJbnNlcnRlZDtcblxuICAgICAgICAgIGluc2VydFN0eWxlc2hlZXQoaW5zdGFuY2UsIHF1YWxpZmllZFByb3BzLnByZWNlZGVuY2UsIGhvaXN0YWJsZVJvb3QpO1xuICAgICAgICAgIHJlc291cmNlLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ3N0eWxlc2hlZXQnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gVGhpcyB0eXBpbmcgaXMgZW5mb3JjZSBieSBgZ2V0UmVzb3VyY2VgLiBJZiB3ZSBjaGFuZ2UgdGhlIGxvZ2ljXG4gICAgICAgICAgLy8gdGhlcmUgZm9yIHdoYXQgcXVhbGlmaWVzIGFzIGEgc3R5bGVzaGVldCByZXNvdXJjZSB3ZSBuZWVkIHRvIGVuc3VyZVxuICAgICAgICAgIC8vIHRoaXMgY2FzdCBzdGlsbCBtYWtlcyBzZW5zZTtcbiAgICAgICAgICB2YXIgX3F1YWxpZmllZFByb3BzID0gcHJvcHM7XG4gICAgICAgICAgdmFyIGtleSA9IGdldFN0eWxlS2V5KF9xdWFsaWZpZWRQcm9wcy5ocmVmKTsgLy8gQXR0ZW1wdCB0byBoeWRyYXRlIGluc3RhbmNlIGZyb20gRE9NXG5cbiAgICAgICAgICB2YXIgX2luc3RhbmNlID0gaG9pc3RhYmxlUm9vdC5xdWVyeVNlbGVjdG9yKGdldFN0eWxlc2hlZXRTZWxlY3RvckZyb21LZXkoa2V5KSk7XG5cbiAgICAgICAgICBpZiAoX2luc3RhbmNlKSB7XG4gICAgICAgICAgICByZXNvdXJjZS5zdGF0ZS5sb2FkaW5nIHw9IEluc2VydGVkO1xuICAgICAgICAgICAgcmVzb3VyY2UuaW5zdGFuY2UgPSBfaW5zdGFuY2U7XG4gICAgICAgICAgICBtYXJrTm9kZUFzSG9pc3RhYmxlKF9pbnN0YW5jZSk7XG4gICAgICAgICAgICByZXR1cm4gX2luc3RhbmNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBzdHlsZXNoZWV0UHJvcHMgPSBzdHlsZXNoZWV0UHJvcHNGcm9tUmF3UHJvcHMocHJvcHMpO1xuICAgICAgICAgIHZhciBwcmVsb2FkUHJvcHMgPSBwcmVsb2FkUHJvcHNNYXAuZ2V0KGtleSk7XG5cbiAgICAgICAgICBpZiAocHJlbG9hZFByb3BzKSB7XG4gICAgICAgICAgICBhZG9wdFByZWxvYWRQcm9wc0ZvclN0eWxlc2hlZXQoc3R5bGVzaGVldFByb3BzLCBwcmVsb2FkUHJvcHMpO1xuICAgICAgICAgIH0gLy8gQ29uc3RydWN0IGFuZCBpbnNlcnQgYSBuZXcgaW5zdGFuY2VcblxuXG4gICAgICAgICAgdmFyIF9vd25lckRvY3VtZW50ID0gZ2V0RG9jdW1lbnRGcm9tUm9vdChob2lzdGFibGVSb290KTtcblxuICAgICAgICAgIF9pbnN0YW5jZSA9IF9vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgICBtYXJrTm9kZUFzSG9pc3RhYmxlKF9pbnN0YW5jZSk7XG4gICAgICAgICAgdmFyIGxpbmtJbnN0YW5jZSA9IF9pbnN0YW5jZTtcbiAgICAgICAgICBsaW5rSW5zdGFuY2UuX3AgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICBsaW5rSW5zdGFuY2Uub25sb2FkID0gcmVzb2x2ZTtcbiAgICAgICAgICAgIGxpbmtJbnN0YW5jZS5vbmVycm9yID0gcmVqZWN0O1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHNldEluaXRpYWxQcm9wZXJ0aWVzKF9pbnN0YW5jZSwgJ2xpbmsnLCBzdHlsZXNoZWV0UHJvcHMpO1xuICAgICAgICAgIHJlc291cmNlLnN0YXRlLmxvYWRpbmcgfD0gSW5zZXJ0ZWQ7XG4gICAgICAgICAgaW5zZXJ0U3R5bGVzaGVldChfaW5zdGFuY2UsIF9xdWFsaWZpZWRQcm9wcy5wcmVjZWRlbmNlLCBob2lzdGFibGVSb290KTtcbiAgICAgICAgICByZXNvdXJjZS5pbnN0YW5jZSA9IF9pbnN0YW5jZTtcbiAgICAgICAgICByZXR1cm4gX2luc3RhbmNlO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBUaGlzIHR5cGluZyBpcyBlbmZvcmNlIGJ5IGBnZXRSZXNvdXJjZWAuIElmIHdlIGNoYW5nZSB0aGUgbG9naWNcbiAgICAgICAgICAvLyB0aGVyZSBmb3Igd2hhdCBxdWFsaWZpZXMgYXMgYSBzdHlsZXNoZWV0IHJlc291cmNlIHdlIG5lZWQgdG8gZW5zdXJlXG4gICAgICAgICAgLy8gdGhpcyBjYXN0IHN0aWxsIG1ha2VzIHNlbnNlO1xuICAgICAgICAgIHZhciBib3Jyb3dlZFNjcmlwdFByb3BzID0gcHJvcHM7XG5cbiAgICAgICAgICB2YXIgX2tleTMgPSBnZXRTY3JpcHRLZXkoYm9ycm93ZWRTY3JpcHRQcm9wcy5zcmMpOyAvLyBBdHRlbXB0IHRvIGh5ZHJhdGUgaW5zdGFuY2UgZnJvbSBET01cblxuXG4gICAgICAgICAgdmFyIF9pbnN0YW5jZTIgPSBob2lzdGFibGVSb290LnF1ZXJ5U2VsZWN0b3IoZ2V0U2NyaXB0U2VsZWN0b3JGcm9tS2V5KF9rZXkzKSk7XG5cbiAgICAgICAgICBpZiAoX2luc3RhbmNlMikge1xuICAgICAgICAgICAgcmVzb3VyY2UuaW5zdGFuY2UgPSBfaW5zdGFuY2UyO1xuICAgICAgICAgICAgbWFya05vZGVBc0hvaXN0YWJsZShfaW5zdGFuY2UyKTtcbiAgICAgICAgICAgIHJldHVybiBfaW5zdGFuY2UyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBzY3JpcHRQcm9wcyA9IGJvcnJvd2VkU2NyaXB0UHJvcHM7XG5cbiAgICAgICAgICB2YXIgX3ByZWxvYWRQcm9wcyA9IHByZWxvYWRQcm9wc01hcC5nZXQoX2tleTMpO1xuXG4gICAgICAgICAgaWYgKF9wcmVsb2FkUHJvcHMpIHtcbiAgICAgICAgICAgIHNjcmlwdFByb3BzID0gYXNzaWduKHt9LCBib3Jyb3dlZFNjcmlwdFByb3BzKTtcbiAgICAgICAgICAgIGFkb3B0UHJlbG9hZFByb3BzRm9yU2NyaXB0KHNjcmlwdFByb3BzLCBfcHJlbG9hZFByb3BzKTtcbiAgICAgICAgICB9IC8vIENvbnN0cnVjdCBhbmQgaW5zZXJ0IGEgbmV3IGluc3RhbmNlXG5cblxuICAgICAgICAgIHZhciBfb3duZXJEb2N1bWVudDIgPSBnZXREb2N1bWVudEZyb21Sb290KGhvaXN0YWJsZVJvb3QpO1xuXG4gICAgICAgICAgX2luc3RhbmNlMiA9IF9vd25lckRvY3VtZW50Mi5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBtYXJrTm9kZUFzSG9pc3RhYmxlKF9pbnN0YW5jZTIpO1xuICAgICAgICAgIHNldEluaXRpYWxQcm9wZXJ0aWVzKF9pbnN0YW5jZTIsICdsaW5rJywgc2NyaXB0UHJvcHMpO1xuXG4gICAgICAgICAgX293bmVyRG9jdW1lbnQyLmhlYWQuYXBwZW5kQ2hpbGQoX2luc3RhbmNlMik7XG5cbiAgICAgICAgICByZXNvdXJjZS5pbnN0YW5jZSA9IF9pbnN0YW5jZTI7XG4gICAgICAgICAgcmV0dXJuIF9pbnN0YW5jZTI7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAndm9pZCc6XG4gICAgICAgIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYWNxdWlyZVJlc291cmNlIGVuY291bnRlcmVkIGEgcmVzb3VyY2UgdHlwZSBpdCBkaWQgbm90IGV4cGVjdDogXFxcIlwiICsgcmVzb3VyY2UudHlwZSArIFwiXFxcIi4gdGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC5cIik7XG4gICAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gSW4gdGhlIGNhc2Ugb2Ygc3R5bGVzaGVldHMsIHRoZXkgbWlnaHQgaGF2ZSBhbHJlYWR5IGJlZW4gYXNzaWduZWQgYW5cbiAgICAvLyBpbnN0YW5jZSBkdXJpbmcgYHN1c3BlbmRSZXNvdXJjZWAuIEJ1dCB0aGF0IGRvZXNuJ3QgbWVhbiB0aGV5IHdlcmVcbiAgICAvLyBpbnNlcnRlZCwgYmVjYXVzZSB0aGUgY29tbWl0IG1pZ2h0IGhhdmUgYmVlbiBpbnRlcnJ1cHRlZC4gU28gd2UgbmVlZCB0b1xuICAgIC8vIGNoZWNrIG5vdy5cbiAgICAvL1xuICAgIC8vIFRoZSBvdGhlciByZXNvdXJjZSB0eXBlcyBhcmUgdW5hZmZlY3RlZCBiZWNhdXNlIHRoZXkgYXJlIG5vdFxuICAgIC8vIHlldCBzdXNwZW5zZXkuXG4gICAgLy9cbiAgICAvLyBUT0RPOiBUaGlzIGlzIGEgYml0IG9mIGEgY29kZSBzbWVsbC4gQ29uc2lkZXIgcmVmYWN0b3JpbmcgaG93XG4gICAgLy8gYHN1c3BlbmRSZXNvdXJjZWAgYW5kIGBhY3F1aXJlUmVzb3VyY2VgIHdvcmsgdG9nZXRoZXIuIFRoZSBpZGVhIGlzIHRoYXRcbiAgICAvLyBgc3VzcGVuZFJlc291cmNlYCBkb2VzIGFsbCB0aGUgc2FtZSBzdHVmZiBhcyBgYWNxdWlyZVJlc291cmNlYCBleGNlcHRcbiAgICAvLyBmb3IgdGhlIGluc2VydGlvbi5cbiAgICBpZiAocmVzb3VyY2UudHlwZSA9PT0gJ3N0eWxlc2hlZXQnICYmIChyZXNvdXJjZS5zdGF0ZS5sb2FkaW5nICYgSW5zZXJ0ZWQpID09PSBOb3RMb2FkZWQpIHtcbiAgICAgIHZhciBfcXVhbGlmaWVkUHJvcHMyID0gcHJvcHM7XG4gICAgICB2YXIgX2luc3RhbmNlMyA9IHJlc291cmNlLmluc3RhbmNlO1xuICAgICAgcmVzb3VyY2Uuc3RhdGUubG9hZGluZyB8PSBJbnNlcnRlZDtcbiAgICAgIGluc2VydFN0eWxlc2hlZXQoX2luc3RhbmNlMywgX3F1YWxpZmllZFByb3BzMi5wcmVjZWRlbmNlLCBob2lzdGFibGVSb290KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzb3VyY2UuaW5zdGFuY2U7XG59XG5mdW5jdGlvbiByZWxlYXNlUmVzb3VyY2UocmVzb3VyY2UpIHtcbiAgcmVzb3VyY2UuY291bnQtLTtcbn1cblxuZnVuY3Rpb24gaW5zZXJ0U3R5bGVzaGVldChpbnN0YW5jZSwgcHJlY2VkZW5jZSwgcm9vdCkge1xuICB2YXIgbm9kZXMgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmtbcmVsPVwic3R5bGVzaGVldFwiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0nKTtcbiAgdmFyIGxhc3QgPSBub2Rlcy5sZW5ndGggPyBub2Rlc1tub2Rlcy5sZW5ndGggLSAxXSA6IG51bGw7XG4gIHZhciBwcmlvciA9IGxhc3Q7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBub2RlID0gbm9kZXNbaV07XG4gICAgdmFyIG5vZGVQcmVjZWRlbmNlID0gbm9kZS5kYXRhc2V0LnByZWNlZGVuY2U7XG5cbiAgICBpZiAobm9kZVByZWNlZGVuY2UgPT09IHByZWNlZGVuY2UpIHtcbiAgICAgIHByaW9yID0gbm9kZTtcbiAgICB9IGVsc2UgaWYgKHByaW9yICE9PSBsYXN0KSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAocHJpb3IpIHtcbiAgICAvLyBXZSBnZXQgdGhlIHByaW9yIGZyb20gdGhlIGRvY3VtZW50IHNvIHdlIGtub3cgaXQgaXMgaW4gdGhlIHRyZWUuXG4gICAgLy8gV2UgYWxzbyBrbm93IHRoYXQgbGlua3MgY2FuJ3QgYmUgdGhlIHRvcG1vc3QgTm9kZSBzbyB0aGUgcGFyZW50Tm9kZVxuICAgIC8vIG11c3QgZXhpc3QuXG4gICAgcHJpb3IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaW5zdGFuY2UsIHByaW9yLm5leHRTaWJsaW5nKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgcGFyZW50ID0gcm9vdC5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSA/IHJvb3QuaGVhZCA6IHJvb3Q7XG4gICAgcGFyZW50Lmluc2VydEJlZm9yZShpbnN0YW5jZSwgcGFyZW50LmZpcnN0Q2hpbGQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFkb3B0UHJlbG9hZFByb3BzRm9yU3R5bGVzaGVldChzdHlsZXNoZWV0UHJvcHMsIHByZWxvYWRQcm9wcykge1xuICBpZiAoc3R5bGVzaGVldFByb3BzLmNyb3NzT3JpZ2luID09IG51bGwpIHN0eWxlc2hlZXRQcm9wcy5jcm9zc09yaWdpbiA9IHByZWxvYWRQcm9wcy5jcm9zc09yaWdpbjtcbiAgaWYgKHN0eWxlc2hlZXRQcm9wcy5yZWZlcnJlclBvbGljeSA9PSBudWxsKSBzdHlsZXNoZWV0UHJvcHMucmVmZXJyZXJQb2xpY3kgPSBwcmVsb2FkUHJvcHMucmVmZXJyZXJQb2xpY3k7XG4gIGlmIChzdHlsZXNoZWV0UHJvcHMudGl0bGUgPT0gbnVsbCkgc3R5bGVzaGVldFByb3BzLnRpdGxlID0gcHJlbG9hZFByb3BzLnRpdGxlO1xufVxuXG5mdW5jdGlvbiBhZG9wdFByZWxvYWRQcm9wc0ZvclNjcmlwdChzY3JpcHRQcm9wcywgcHJlbG9hZFByb3BzKSB7XG4gIGlmIChzY3JpcHRQcm9wcy5jcm9zc09yaWdpbiA9PSBudWxsKSBzY3JpcHRQcm9wcy5jcm9zc09yaWdpbiA9IHByZWxvYWRQcm9wcy5jcm9zc09yaWdpbjtcbiAgaWYgKHNjcmlwdFByb3BzLnJlZmVycmVyUG9saWN5ID09IG51bGwpIHNjcmlwdFByb3BzLnJlZmVycmVyUG9saWN5ID0gcHJlbG9hZFByb3BzLnJlZmVycmVyUG9saWN5O1xuICBpZiAoc2NyaXB0UHJvcHMuaW50ZWdyaXR5ID09IG51bGwpIHNjcmlwdFByb3BzLmludGVncml0eSA9IHByZWxvYWRQcm9wcy5pbnRlZ3JpdHk7XG59XG5cbnZhciB0YWdDYWNoZXMgPSBudWxsO1xuZnVuY3Rpb24gaHlkcmF0ZUhvaXN0YWJsZShob2lzdGFibGVSb290LCB0eXBlLCBwcm9wcywgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldERvY3VtZW50RnJvbVJvb3QoaG9pc3RhYmxlUm9vdCk7XG4gIHZhciBpbnN0YW5jZSA9IG51bGw7XG5cbiAgZ2V0SW5zdGFuY2U6IHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ3RpdGxlJzpcbiAgICAgIHtcbiAgICAgICAgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0aXRsZScpWzBdO1xuXG4gICAgICAgIGlmICghaW5zdGFuY2UgfHwgaXNPd25lZEluc3RhbmNlKGluc3RhbmNlKSB8fCBpbnN0YW5jZS5uYW1lc3BhY2VVUkkgPT09IFNWR19OQU1FU1BBQ0UgfHwgaW5zdGFuY2UuaGFzQXR0cmlidXRlKCdpdGVtcHJvcCcpKSB7XG4gICAgICAgICAgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7XG4gICAgICAgICAgb3duZXJEb2N1bWVudC5oZWFkLmluc2VydEJlZm9yZShpbnN0YW5jZSwgb3duZXJEb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkID4gdGl0bGUnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRJbml0aWFsUHJvcGVydGllcyhpbnN0YW5jZSwgdHlwZSwgcHJvcHMpO1xuICAgICAgICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCBpbnN0YW5jZSk7XG4gICAgICAgIG1hcmtOb2RlQXNIb2lzdGFibGUoaW5zdGFuY2UpO1xuICAgICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgICB9XG5cbiAgICBjYXNlICdsaW5rJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIGNhY2hlID0gZ2V0SHlkcmF0YWJsZUhvaXN0YWJsZUNhY2hlKCdsaW5rJywgJ2hyZWYnLCBvd25lckRvY3VtZW50KTtcbiAgICAgICAgdmFyIGtleSA9IHR5cGUgKyAocHJvcHMuaHJlZiB8fCAnJyk7XG4gICAgICAgIHZhciBtYXliZU5vZGVzID0gY2FjaGUuZ2V0KGtleSk7XG5cbiAgICAgICAgaWYgKG1heWJlTm9kZXMpIHtcbiAgICAgICAgICB2YXIgbm9kZXMgPSBtYXliZU5vZGVzO1xuXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIG5vZGUgPSBub2Rlc1tpXTtcblxuICAgICAgICAgICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlKCdocmVmJykgIT09IChwcm9wcy5ocmVmID09IG51bGwgPyBudWxsIDogcHJvcHMuaHJlZikgfHwgbm9kZS5nZXRBdHRyaWJ1dGUoJ3JlbCcpICE9PSAocHJvcHMucmVsID09IG51bGwgPyBudWxsIDogcHJvcHMucmVsKSB8fCBub2RlLmdldEF0dHJpYnV0ZSgndGl0bGUnKSAhPT0gKHByb3BzLnRpdGxlID09IG51bGwgPyBudWxsIDogcHJvcHMudGl0bGUpIHx8IG5vZGUuZ2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicpICE9PSAocHJvcHMuY3Jvc3NPcmlnaW4gPT0gbnVsbCA/IG51bGwgOiBwcm9wcy5jcm9zc09yaWdpbikpIHtcbiAgICAgICAgICAgICAgLy8gbWlzbWF0Y2gsIHRyeSB0aGUgbmV4dCBub2RlO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zdGFuY2UgPSBub2RlO1xuICAgICAgICAgICAgbm9kZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgYnJlYWsgZ2V0SW5zdGFuY2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7XG4gICAgICAgIHNldEluaXRpYWxQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcyk7XG4gICAgICAgIG93bmVyRG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpbnN0YW5jZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSAnbWV0YSc6XG4gICAgICB7XG4gICAgICAgIHZhciBfY2FjaGUgPSBnZXRIeWRyYXRhYmxlSG9pc3RhYmxlQ2FjaGUoJ21ldGEnLCAnY29udGVudCcsIG93bmVyRG9jdW1lbnQpO1xuXG4gICAgICAgIHZhciBfa2V5NCA9IHR5cGUgKyAocHJvcHMuY29udGVudCB8fCAnJyk7XG5cbiAgICAgICAgdmFyIF9tYXliZU5vZGVzID0gX2NhY2hlLmdldChfa2V5NCk7XG5cbiAgICAgICAgaWYgKF9tYXliZU5vZGVzKSB7XG4gICAgICAgICAgdmFyIF9ub2RlcyA9IF9tYXliZU5vZGVzO1xuXG4gICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IF9ub2Rlcy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIHZhciBfbm9kZSA9IF9ub2Rlc1tfaV07IC8vIFdlIGNvZXJjZSBjb250ZW50IHRvIHN0cmluZyBiZWNhdXNlIGl0IGlzIHRoZSBtb3N0IGxpa2VseSBvbmUgdG9cbiAgICAgICAgICAgIC8vIHVzZSBhIGB0b1N0cmluZ2AgY2FwYWJsZSB2YWx1ZS4gRm9yIHRoZSByZXN0IHdlIGp1c3QgZG8gaWRlbnRpdHkgbWF0Y2hcbiAgICAgICAgICAgIC8vIHBhc3Npbmcgbm9uLXN0cmluZ3MgaGVyZSBpcyBub3QgcmVhbGx5IHZhbGlkIGFueXdheS5cblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKHByb3BzLmNvbnRlbnQsICdjb250ZW50Jyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChfbm9kZS5nZXRBdHRyaWJ1dGUoJ2NvbnRlbnQnKSAhPT0gKHByb3BzLmNvbnRlbnQgPT0gbnVsbCA/IG51bGwgOiAnJyArIHByb3BzLmNvbnRlbnQpIHx8IF9ub2RlLmdldEF0dHJpYnV0ZSgnbmFtZScpICE9PSAocHJvcHMubmFtZSA9PSBudWxsID8gbnVsbCA6IHByb3BzLm5hbWUpIHx8IF9ub2RlLmdldEF0dHJpYnV0ZSgncHJvcGVydHknKSAhPT0gKHByb3BzLnByb3BlcnR5ID09IG51bGwgPyBudWxsIDogcHJvcHMucHJvcGVydHkpIHx8IF9ub2RlLmdldEF0dHJpYnV0ZSgnaHR0cC1lcXVpdicpICE9PSAocHJvcHMuaHR0cEVxdWl2ID09IG51bGwgPyBudWxsIDogcHJvcHMuaHR0cEVxdWl2KSB8fCBfbm9kZS5nZXRBdHRyaWJ1dGUoJ2NoYXJzZXQnKSAhPT0gKHByb3BzLmNoYXJTZXQgPT0gbnVsbCA/IG51bGwgOiBwcm9wcy5jaGFyU2V0KSkge1xuICAgICAgICAgICAgICAvLyBtaXNtYXRjaCwgdHJ5IHRoZSBuZXh0IG5vZGU7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnN0YW5jZSA9IF9ub2RlO1xuXG4gICAgICAgICAgICBfbm9kZXMuc3BsaWNlKF9pLCAxKTtcblxuICAgICAgICAgICAgYnJlYWsgZ2V0SW5zdGFuY2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7XG4gICAgICAgIHNldEluaXRpYWxQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcyk7XG4gICAgICAgIG93bmVyRG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpbnN0YW5jZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImdldE5vZGVzRm9yVHlwZSBlbmNvdW50ZXJlZCBhIHR5cGUgaXQgZGlkIG5vdCBleHBlY3Q6IFxcXCJcIiArIHR5cGUgKyBcIlxcXCIuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuXCIpO1xuICB9IC8vIFRoaXMgbm9kZSBpcyBhIG1hdGNoXG5cblxuICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCBpbnN0YW5jZSk7XG4gIG1hcmtOb2RlQXNIb2lzdGFibGUoaW5zdGFuY2UpO1xuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIGdldEh5ZHJhdGFibGVIb2lzdGFibGVDYWNoZSh0eXBlLCBrZXlBdHRyaWJ1dGUsIG93bmVyRG9jdW1lbnQpIHtcbiAgdmFyIGNhY2hlO1xuICB2YXIgY2FjaGVzO1xuXG4gIGlmICh0YWdDYWNoZXMgPT09IG51bGwpIHtcbiAgICBjYWNoZSA9IG5ldyBNYXAoKTtcbiAgICBjYWNoZXMgPSB0YWdDYWNoZXMgPSBuZXcgTWFwKCk7XG4gICAgY2FjaGVzLnNldChvd25lckRvY3VtZW50LCBjYWNoZSk7XG4gIH0gZWxzZSB7XG4gICAgY2FjaGVzID0gdGFnQ2FjaGVzO1xuICAgIHZhciBtYXliZUNhY2hlID0gY2FjaGVzLmdldChvd25lckRvY3VtZW50KTtcblxuICAgIGlmICghbWF5YmVDYWNoZSkge1xuICAgICAgY2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICBjYWNoZXMuc2V0KG93bmVyRG9jdW1lbnQsIGNhY2hlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FjaGUgPSBtYXliZUNhY2hlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjYWNoZS5oYXModHlwZSkpIHtcbiAgICAvLyBXZSB1c2UgdHlwZSBhcyBhIHNwZWNpYWwga2V5IHRoYXQgc2lnbmFscyB0aGF0IHRoaXMgY2FjaGUgaGFzIGJlZW4gc2VlZGVkIGZvciB0aGlzIHR5cGVcbiAgICByZXR1cm4gY2FjaGU7XG4gIH0gLy8gTWFyayB0aGlzIGNhY2hlIGFzIHNlZWRlZCBmb3IgdGhpcyB0eXBlXG5cblxuICBjYWNoZS5zZXQodHlwZSwgbnVsbCk7XG4gIHZhciBub2RlcyA9IG93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUodHlwZSk7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBub2RlID0gbm9kZXNbaV07XG5cbiAgICBpZiAoIWlzT3duZWRJbnN0YW5jZShub2RlKSAmJiAodHlwZSAhPT0gJ2xpbmsnIHx8IG5vZGUuZ2V0QXR0cmlidXRlKCdyZWwnKSAhPT0gJ3N0eWxlc2hlZXQnKSAmJiBub2RlLm5hbWVzcGFjZVVSSSAhPT0gU1ZHX05BTUVTUEFDRSkge1xuICAgICAgdmFyIG5vZGVLZXkgPSBub2RlLmdldEF0dHJpYnV0ZShrZXlBdHRyaWJ1dGUpIHx8ICcnO1xuICAgICAgdmFyIGtleSA9IHR5cGUgKyBub2RlS2V5O1xuICAgICAgdmFyIGV4aXN0aW5nID0gY2FjaGUuZ2V0KGtleSk7XG5cbiAgICAgIGlmIChleGlzdGluZykge1xuICAgICAgICBleGlzdGluZy5wdXNoKG5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FjaGUuc2V0KGtleSwgW25vZGVdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FjaGU7XG59XG5cbmZ1bmN0aW9uIG1vdW50SG9pc3RhYmxlKGhvaXN0YWJsZVJvb3QsIHR5cGUsIGluc3RhbmNlKSB7XG4gIHZhciBvd25lckRvY3VtZW50ID0gZ2V0RG9jdW1lbnRGcm9tUm9vdChob2lzdGFibGVSb290KTtcbiAgb3duZXJEb2N1bWVudC5oZWFkLmluc2VydEJlZm9yZShpbnN0YW5jZSwgdHlwZSA9PT0gJ3RpdGxlJyA/IG93bmVyRG9jdW1lbnQucXVlcnlTZWxlY3RvcignaGVhZCA+IHRpdGxlJykgOiBudWxsKTtcbn1cbmZ1bmN0aW9uIHVubW91bnRIb2lzdGFibGUoaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBpc0hvc3RIb2lzdGFibGVUeXBlKHR5cGUsIHByb3BzLCBob3N0Q29udGV4dCkge1xuICB2YXIgb3V0c2lkZUhvc3RDb250YWluZXJDb250ZXh0O1xuICB2YXIgaG9zdENvbnRleHRQcm9kO1xuXG4gIHtcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDsgLy8gV2UgY2FuIG9ubHkgcmVuZGVyIHJlc291cmNlcyB3aGVuIHdlIGFyZSBub3Qgd2l0aGluIHRoZSBob3N0IGNvbnRhaW5lciBjb250ZXh0XG5cbiAgICBvdXRzaWRlSG9zdENvbnRhaW5lckNvbnRleHQgPSAhaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLmNvbnRhaW5lclRhZ0luU2NvcGU7XG4gICAgaG9zdENvbnRleHRQcm9kID0gaG9zdENvbnRleHREZXYuY29udGV4dDtcbiAgfSAvLyBHbG9iYWwgb3B0IG91dCBvZiBob2lzdGluZyBmb3IgYW55dGhpbmcgaW4gU1ZHIE5hbWVzcGFjZSBvciBhbnl0aGluZyB3aXRoIGFuIGl0ZW1Qcm9wIGluc2lkZSBhbiBpdGVtU2NvcGVcblxuXG4gIGlmIChob3N0Q29udGV4dFByb2QgPT09IEhvc3RDb250ZXh0TmFtZXNwYWNlU3ZnIHx8IHByb3BzLml0ZW1Qcm9wICE9IG51bGwpIHtcbiAgICB7XG4gICAgICBpZiAob3V0c2lkZUhvc3RDb250YWluZXJDb250ZXh0ICYmIHByb3BzLml0ZW1Qcm9wICE9IG51bGwgJiYgKHR5cGUgPT09ICdtZXRhJyB8fCB0eXBlID09PSAndGl0bGUnIHx8IHR5cGUgPT09ICdzdHlsZScgfHwgdHlwZSA9PT0gJ2xpbmsnIHx8IHR5cGUgPT09ICdzY3JpcHQnKSkge1xuICAgICAgICBlcnJvcignQ2Fubm90IHJlbmRlciBhIDwlcz4gb3V0c2lkZSB0aGUgbWFpbiBkb2N1bWVudCBpZiBpdCBoYXMgYW4gYGl0ZW1Qcm9wYCBwcm9wLiBgaXRlbVByb3BgIHN1Z2dlc3RzIHRoZSB0YWcgYmVsb25ncyB0byBhbicgKyAnIGBpdGVtU2NvcGVgIHdoaWNoIGNhbiBhcHBlYXIgYW55d2hlcmUgaW4gdGhlIERPTS4gSWYgeW91IHdlcmUgaW50ZW5kaW5nIGZvciBSZWFjdCB0byBob2lzdCB0aGlzIDwlcz4gcmVtb3ZlIHRoZSBgaXRlbVByb3BgIHByb3AuJyArICcgT3RoZXJ3aXNlLCB0cnkgbW92aW5nIHRoaXMgdGFnIGludG8gdGhlIDxoZWFkPiBvciA8Ym9keT4gb2YgdGhlIERvY3VtZW50LicsIHR5cGUsIHR5cGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ21ldGEnOlxuICAgIGNhc2UgJ3RpdGxlJzpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdzdHlsZSc6XG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgcHJvcHMucHJlY2VkZW5jZSAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIHByb3BzLmhyZWYgIT09ICdzdHJpbmcnIHx8IHByb3BzLmhyZWYgPT09ICcnKSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKG91dHNpZGVIb3N0Q29udGFpbmVyQ29udGV4dCkge1xuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHJlbmRlciBhIDxzdHlsZT4gb3V0c2lkZSB0aGUgbWFpbiBkb2N1bWVudCB3aXRob3V0IGtub3dpbmcgaXRzIHByZWNlZGVuY2UgYW5kIGEgdW5pcXVlIGhyZWYga2V5LicgKyAnIFJlYWN0IGNhbiBob2lzdCBhbmQgZGVkdXBsaWNhdGUgPHN0eWxlPiB0YWdzIGlmIHlvdSBwcm92aWRlIGEgYHByZWNlZGVuY2VgIHByb3AgYWxvbmcgd2l0aCBhbiBgaHJlZmAgcHJvcCB0aGF0JyArICcgZG9lcyBub3QgY29uZmxpYyB3aXRoIHRoZSBgaHJlZmAgdmFsdWVzIHVzZWQgaW4gYW55IG90aGVyIGhvaXN0ZWQgPHN0eWxlPiBvciA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgLi4uPiB0YWdzLiAnICsgJyBOb3RlIHRoYXQgaG9pc3RpbmcgPHN0eWxlPiB0YWdzIGlzIGNvbnNpZGVyZWQgYW4gYWR2YW5jZWQgZmVhdHVyZSB0aGF0IG1vc3Qgd2lsbCBub3QgdXNlIGRpcmVjdGx5LicgKyAnIENvbnNpZGVyIG1vdmluZyB0aGUgPHN0eWxlPiB0YWcgdG8gdGhlIDxoZWFkPiBvciBjb25zaWRlciBhZGRpbmcgYSBgcHJlY2VkZW5jZT1cImRlZmF1bHRcImAgYW5kIGBocmVmPVwic29tZSB1bmlxdWUgcmVzb3VyY2UgaWRlbnRpZmllclwiYCwgb3IgbW92ZSB0aGUgPHN0eWxlPicgKyAnIHRvIHRoZSA8c3R5bGU+IHRhZy4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2xpbmsnOlxuICAgICAge1xuICAgICAgICBpZiAodHlwZW9mIHByb3BzLnJlbCAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIHByb3BzLmhyZWYgIT09ICdzdHJpbmcnIHx8IHByb3BzLmhyZWYgPT09ICcnIHx8IHByb3BzLm9uTG9hZCB8fCBwcm9wcy5vbkVycm9yKSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKHByb3BzLnJlbCA9PT0gJ3N0eWxlc2hlZXQnICYmIHR5cGVvZiBwcm9wcy5wcmVjZWRlbmNlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUxpbmtQcm9wc0ZvclN0eWxlUmVzb3VyY2UocHJvcHMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3V0c2lkZUhvc3RDb250YWluZXJDb250ZXh0KSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcHMucmVsICE9PSAnc3RyaW5nJyB8fCB0eXBlb2YgcHJvcHMuaHJlZiAhPT0gJ3N0cmluZycgfHwgcHJvcHMuaHJlZiA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHJlbmRlciBhIDxsaW5rPiBvdXRzaWRlIHRoZSBtYWluIGRvY3VtZW50IHdpdGhvdXQgYSBgcmVsYCBhbmQgYGhyZWZgIHByb3AuJyArICcgVHJ5IGFkZGluZyBhIGByZWxgIGFuZC9vciBgaHJlZmAgcHJvcCB0byB0aGlzIDxsaW5rPiBvciBtb3ZpbmcgdGhlIGxpbmsgaW50byB0aGUgPGhlYWQ+IHRhZycpO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uRXJyb3IgfHwgcHJvcHMub25Mb2FkKSB7XG4gICAgICAgICAgICAgICAgZXJyb3IoJ0Nhbm5vdCByZW5kZXIgYSA8bGluaz4gd2l0aCBvbkxvYWQgb3Igb25FcnJvciBsaXN0ZW5lcnMgb3V0c2lkZSB0aGUgbWFpbiBkb2N1bWVudC4nICsgJyBUcnkgcmVtb3Zpbmcgb25Mb2FkPXsuLi59IGFuZCBvbkVycm9yPXsuLi59IG9yIG1vdmluZyBpdCBpbnRvIHRoZSByb290IDxoZWFkPiB0YWcgb3InICsgJyBzb21ld2hlcmUgaW4gdGhlIDxib2R5Pi4nKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAocHJvcHMucmVsKSB7XG4gICAgICAgICAgY2FzZSAnc3R5bGVzaGVldCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhciBwcmVjZWRlbmNlID0gcHJvcHMucHJlY2VkZW5jZSxcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkID0gcHJvcHMuZGlzYWJsZWQ7XG5cbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcHJlY2VkZW5jZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChvdXRzaWRlSG9zdENvbnRhaW5lckNvbnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IoJ0Nhbm5vdCByZW5kZXIgYSA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgLz4gb3V0c2lkZSB0aGUgbWFpbiBkb2N1bWVudCB3aXRob3V0IGtub3dpbmcgaXRzIHByZWNlZGVuY2UuJyArICcgQ29uc2lkZXIgYWRkaW5nIHByZWNlZGVuY2U9XCJkZWZhdWx0XCIgb3IgbW92aW5nIGl0IGludG8gdGhlIHJvb3QgPGhlYWQ+IHRhZy4nKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHByZWNlZGVuY2UgPT09ICdzdHJpbmcnICYmIGRpc2FibGVkID09IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgY2FzZSAnc2NyaXB0JzpcbiAgICAgIHtcbiAgICAgICAgaWYgKHByb3BzLmFzeW5jICE9PSB0cnVlIHx8IHByb3BzLm9uTG9hZCB8fCBwcm9wcy5vbkVycm9yIHx8IHR5cGVvZiBwcm9wcy5zcmMgIT09ICdzdHJpbmcnIHx8ICFwcm9wcy5zcmMpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAob3V0c2lkZUhvc3RDb250YWluZXJDb250ZXh0KSB7XG4gICAgICAgICAgICAgIGlmIChwcm9wcy5hc3luYyAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIGVycm9yKCdDYW5ub3QgcmVuZGVyIGEgc3luYyBvciBkZWZlciA8c2NyaXB0PiBvdXRzaWRlIHRoZSBtYWluIGRvY3VtZW50IHdpdGhvdXQga25vd2luZyBpdHMgb3JkZXIuJyArICcgVHJ5IGFkZGluZyBhc3luYz1cIlwiIG9yIG1vdmluZyBpdCBpbnRvIHRoZSByb290IDxoZWFkPiB0YWcuJyk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25Mb2FkIHx8IHByb3BzLm9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHJlbmRlciBhIDxzY3JpcHQ+IHdpdGggb25Mb2FkIG9yIG9uRXJyb3IgbGlzdGVuZXJzIG91dHNpZGUgdGhlIG1haW4gZG9jdW1lbnQuJyArICcgVHJ5IHJlbW92aW5nIG9uTG9hZD17Li4ufSBhbmQgb25FcnJvcj17Li4ufSBvciBtb3ZpbmcgaXQgaW50byB0aGUgcm9vdCA8aGVhZD4gdGFnIG9yJyArICcgc29tZXdoZXJlIGluIHRoZSA8Ym9keT4uJyk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZXJyb3IoJ0Nhbm5vdCByZW5kZXIgYSA8c2NyaXB0PiBvdXRzaWRlIHRoZSBtYWluIGRvY3VtZW50IHdpdGhvdXQgYGFzeW5jPXt0cnVlfWAgYW5kIGEgbm9uLWVtcHR5IGBzcmNgIHByb3AuJyArICcgRW5zdXJlIHRoZXJlIGlzIGEgdmFsaWQgYHNyY2AgYW5kIGVpdGhlciBtYWtlIHRoZSBzY3JpcHQgYXN5bmMgb3IgbW92ZSBpdCBpbnRvIHRoZSByb290IDxoZWFkPiB0YWcgb3InICsgJyBzb21ld2hlcmUgaW4gdGhlIDxib2R5Pi4nKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgY2FzZSAnbm9zY3JpcHQnOlxuICAgIGNhc2UgJ3RlbXBsYXRlJzpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmIChvdXRzaWRlSG9zdENvbnRhaW5lckNvbnRleHQpIHtcbiAgICAgICAgICAgIGVycm9yKCdDYW5ub3QgcmVuZGVyIDwlcz4gb3V0c2lkZSB0aGUgbWFpbiBkb2N1bWVudC4gVHJ5IG1vdmluZyBpdCBpbnRvIHRoZSByb290IDxoZWFkPiB0YWcuJywgdHlwZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gbWF5UmVzb3VyY2VTdXNwZW5kQ29tbWl0KHJlc291cmNlKSB7XG4gIHJldHVybiByZXNvdXJjZS50eXBlID09PSAnc3R5bGVzaGVldCcgJiYgKHJlc291cmNlLnN0YXRlLmxvYWRpbmcgJiBJbnNlcnRlZCkgPT09IE5vdExvYWRlZDtcbn1cbmZ1bmN0aW9uIHByZWxvYWRJbnN0YW5jZSh0eXBlLCBwcm9wcykge1xuICAvLyBSZXR1cm4gdHJ1ZSB0byBpbmRpY2F0ZSBpdCdzIGFscmVhZHkgbG9hZGVkXG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gcHJlbG9hZFJlc291cmNlKHJlc291cmNlKSB7XG4gIGlmIChyZXNvdXJjZS50eXBlID09PSAnc3R5bGVzaGVldCcgJiYgKHJlc291cmNlLnN0YXRlLmxvYWRpbmcgJiBTZXR0bGVkKSA9PT0gTm90TG9hZGVkKSB7XG4gICAgLy8gd2UgaGF2ZSBub3QgZmluaXNoZWQgbG9hZGluZyB0aGUgdW5kZXJseWluZyBzdHlsZXNoZWV0IHlldC5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gLy8gUmV0dXJuIHRydWUgdG8gaW5kaWNhdGUgaXQncyBhbHJlYWR5IGxvYWRlZFxuXG5cbiAgcmV0dXJuIHRydWU7XG59XG52YXIgc3VzcGVuZGVkU3RhdGUgPSBudWxsOyAvLyBXZSB1c2UgYSBub29wIGZ1bmN0aW9uIHdoZW4gd2UgYmVnaW4gc3VzcGVuZGluZyBiZWNhdXNlIGlmIHBvc3NpYmxlIHdlIHdhbnQgdGhlXG4vLyB3YWl0Zm9yIHN0ZXAgdG8gZmluaXNoIHN5bmNocm9ub3VzbHkuIElmIGl0IGRvZXNuJ3Qgd2UnbGwgcmV0dXJuIGEgZnVuY3Rpb24gdG9cbi8vIHByb3ZpZGUgdGhlIGFjdHVhbCB1bnN1c3BlbmQgZnVuY3Rpb24gYW5kIHRoYXQgd2lsbCBnZXQgY29tcGxldGVkIHdoZW4gdGhlIGNvdW50XG4vLyBoaXRzIHplcm8gb3IgaXQgd2lsbCBnZXQgY2FuY2VsbGVkIGlmIHRoZSByb290IHN0YXJ0cyBuZXcgd29yay5cblxuZnVuY3Rpb24gbm9vcCgpIHt9XG5cbmZ1bmN0aW9uIHN0YXJ0U3VzcGVuZGluZ0NvbW1pdCgpIHtcbiAgc3VzcGVuZGVkU3RhdGUgPSB7XG4gICAgc3R5bGVzaGVldHM6IG51bGwsXG4gICAgY291bnQ6IDAsXG4gICAgdW5zdXNwZW5kOiBub29wXG4gIH07XG59XG5mdW5jdGlvbiBzdXNwZW5kUmVzb3VyY2UoaG9pc3RhYmxlUm9vdCwgcmVzb3VyY2UsIHByb3BzKSB7XG4gIGlmIChzdXNwZW5kZWRTdGF0ZSA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW50ZXJuYWwgUmVhY3QgRXJyb3I6IHN1c3BlbmRlZFN0YXRlIG51bGwgd2hlbiBpdCB3YXMgZXhwZWN0ZWQgdG8gZXhpc3RzLiBQbGVhc2UgcmVwb3J0IHRoaXMgYXMgYSBSZWFjdCBidWcuJyk7XG4gIH1cblxuICB2YXIgc3RhdGUgPSBzdXNwZW5kZWRTdGF0ZTtcblxuICBpZiAocmVzb3VyY2UudHlwZSA9PT0gJ3N0eWxlc2hlZXQnKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wcy5tZWRpYSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGN1cnJlbnRseSBtYXRjaCBtZWRpYSB3ZSBhdm9pZCBzdXNwZW5kaW5nIG9uIHRoaXMgcmVzb3VyY2VcbiAgICAgIC8vIGFuZCBsZXQgaXQgaW5zZXJ0IG9uIHRoZSBtdXRhdGlvbiBwYXRoXG4gICAgICBpZiAobWF0Y2hNZWRpYShwcm9wcy5tZWRpYSkubWF0Y2hlcyA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICgocmVzb3VyY2Uuc3RhdGUubG9hZGluZyAmIEluc2VydGVkKSA9PT0gTm90TG9hZGVkKSB7XG4gICAgICBpZiAocmVzb3VyY2UuaW5zdGFuY2UgPT09IG51bGwpIHtcbiAgICAgICAgdmFyIHF1YWxpZmllZFByb3BzID0gcHJvcHM7XG4gICAgICAgIHZhciBrZXkgPSBnZXRTdHlsZUtleShxdWFsaWZpZWRQcm9wcy5ocmVmKTsgLy8gQXR0ZW1wdCB0byBoeWRyYXRlIGluc3RhbmNlIGZyb20gRE9NXG5cbiAgICAgICAgdmFyIGluc3RhbmNlID0gaG9pc3RhYmxlUm9vdC5xdWVyeVNlbGVjdG9yKGdldFN0eWxlc2hlZXRTZWxlY3RvckZyb21LZXkoa2V5KSk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgICAgLy8gSWYgdGhpcyBpbnN0YW5jZSBoYXMgYSBsb2FkaW5nIHN0YXRlIGl0IGNhbWUgZnJvbSB0aGUgRml6eiBydW50aW1lLlxuICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vdCBsb2FkaW5nIHN0YXRlIGl0IGlzIGFzc3VtZWQgdG8gaGF2ZSBiZWVuIHNlcnZlciByZW5kZXJlZFxuICAgICAgICAgIC8vIGFzIHBhcnQgb2YgdGhlIHByZWFtYmxlIGFuZCB0aGVyZWZvcmUgc3luY2hyb25vdXNseSBsb2FkZWQuIEl0IGNvdWxkIGhhdmVcbiAgICAgICAgICAvLyBlcnJvcmVkIGhvd2V2ZXIgd2hpY2ggd2Ugc3RpbGwgZG8gbm90IHlldCBoYXZlIGEgbWVhbnMgdG8gZGV0ZWN0LiBGb3Igbm93XG4gICAgICAgICAgLy8gd2UgYXNzdW1lIGl0IGlzIGxvYWRlZC5cbiAgICAgICAgICB2YXIgbWF5YmVMb2FkaW5nU3RhdGUgPSBpbnN0YW5jZS5fcDtcblxuICAgICAgICAgIGlmIChtYXliZUxvYWRpbmdTdGF0ZSAhPT0gbnVsbCAmJiB0eXBlb2YgbWF5YmVMb2FkaW5nU3RhdGUgPT09ICdvYmplY3QnICYmIC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cbiAgICAgICAgICB0eXBlb2YgbWF5YmVMb2FkaW5nU3RhdGUudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGxvYWRpbmdTdGF0ZSA9IG1heWJlTG9hZGluZ1N0YXRlO1xuICAgICAgICAgICAgc3RhdGUuY291bnQrKztcbiAgICAgICAgICAgIHZhciBwaW5nID0gb25VbnN1c3BlbmQuYmluZChzdGF0ZSk7XG4gICAgICAgICAgICBsb2FkaW5nU3RhdGUudGhlbihwaW5nLCBwaW5nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXNvdXJjZS5zdGF0ZS5sb2FkaW5nIHw9IEluc2VydGVkO1xuICAgICAgICAgIHJlc291cmNlLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgICAgbWFya05vZGVBc0hvaXN0YWJsZShpbnN0YW5jZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXREb2N1bWVudEZyb21Sb290KGhvaXN0YWJsZVJvb3QpO1xuICAgICAgICB2YXIgc3R5bGVzaGVldFByb3BzID0gc3R5bGVzaGVldFByb3BzRnJvbVJhd1Byb3BzKHByb3BzKTtcbiAgICAgICAgdmFyIHByZWxvYWRQcm9wcyA9IHByZWxvYWRQcm9wc01hcC5nZXQoa2V5KTtcblxuICAgICAgICBpZiAocHJlbG9hZFByb3BzKSB7XG4gICAgICAgICAgYWRvcHRQcmVsb2FkUHJvcHNGb3JTdHlsZXNoZWV0KHN0eWxlc2hlZXRQcm9wcywgcHJlbG9hZFByb3BzKTtcbiAgICAgICAgfSAvLyBDb25zdHJ1Y3QgYW5kIGluc2VydCBhIG5ldyBpbnN0YW5jZVxuXG5cbiAgICAgICAgaW5zdGFuY2UgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgbWFya05vZGVBc0hvaXN0YWJsZShpbnN0YW5jZSk7XG4gICAgICAgIHZhciBsaW5rSW5zdGFuY2UgPSBpbnN0YW5jZTsgLy8gVGhpcyBQcm9taXNlIGlzIGEgbG9hZGluZyBzdGF0ZSB1c2VkIGJ5IHRoZSBGaXp6IHJ1bnRpbWUuIFdlIG5lZWQgdGhpcyBpbmNhc2UgdGhlcmUgaXMgYSByYWNlXG4gICAgICAgIC8vIGJldHdlZW4gdGhpcyByZXNvdXJjZSBiZWluZyByZW5kZXJlZCBvbiB0aGUgY2xpZW50IGFuZCBiZWluZyByZW5kZXJlZCB3aXRoIGEgbGF0ZSBjb21wbGV0ZWQgYm91bmRhcnkuXG5cbiAgICAgICAgbGlua0luc3RhbmNlLl9wID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgIGxpbmtJbnN0YW5jZS5vbmxvYWQgPSByZXNvbHZlO1xuICAgICAgICAgIGxpbmtJbnN0YW5jZS5vbmVycm9yID0gcmVqZWN0O1xuICAgICAgICB9KTtcbiAgICAgICAgc2V0SW5pdGlhbFByb3BlcnRpZXMoaW5zdGFuY2UsICdsaW5rJywgc3R5bGVzaGVldFByb3BzKTtcbiAgICAgICAgcmVzb3VyY2UuaW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0YXRlLnN0eWxlc2hlZXRzID09PSBudWxsKSB7XG4gICAgICAgIHN0YXRlLnN0eWxlc2hlZXRzID0gbmV3IE1hcCgpO1xuICAgICAgfVxuXG4gICAgICBzdGF0ZS5zdHlsZXNoZWV0cy5zZXQocmVzb3VyY2UsIGhvaXN0YWJsZVJvb3QpO1xuICAgICAgdmFyIHByZWxvYWRFbCA9IHJlc291cmNlLnN0YXRlLnByZWxvYWQ7XG5cbiAgICAgIGlmIChwcmVsb2FkRWwgJiYgKHJlc291cmNlLnN0YXRlLmxvYWRpbmcgJiBTZXR0bGVkKSA9PT0gTm90TG9hZGVkKSB7XG4gICAgICAgIHN0YXRlLmNvdW50Kys7XG5cbiAgICAgICAgdmFyIF9waW5nID0gb25VbnN1c3BlbmQuYmluZChzdGF0ZSk7XG5cbiAgICAgICAgcHJlbG9hZEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBfcGluZyk7XG4gICAgICAgIHByZWxvYWRFbC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIF9waW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHdhaXRGb3JDb21taXRUb0JlUmVhZHkoKSB7XG4gIGlmIChzdXNwZW5kZWRTdGF0ZSA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW50ZXJuYWwgUmVhY3QgRXJyb3I6IHN1c3BlbmRlZFN0YXRlIG51bGwgd2hlbiBpdCB3YXMgZXhwZWN0ZWQgdG8gZXhpc3RzLiBQbGVhc2UgcmVwb3J0IHRoaXMgYXMgYSBSZWFjdCBidWcuJyk7XG4gIH1cblxuICB2YXIgc3RhdGUgPSBzdXNwZW5kZWRTdGF0ZTtcblxuICBpZiAoc3RhdGUuc3R5bGVzaGVldHMgJiYgc3RhdGUuY291bnQgPT09IDApIHtcbiAgICAvLyBXZSBhcmUgbm90IGN1cnJlbnRseSBibG9ja2VkIGJ1dCB3ZSBoYXZlIG5vdCBpbnNlcnRlZCBhbGwgc3R5bGVzaGVldHMuXG4gICAgLy8gSWYgdGhpcyBpbnNlcnRpb24gaGFwcGVucyBhbmQgbG9hZHMgb3IgZXJyb3JzIHN5bmNocm9ub3VzbHkgdGhlbiB3ZSBjYW5cbiAgICAvLyBhdm9pZCBzdXNwZW5kaW5nIHRoZSBjb21taXQuIFRvIGRvIHRoaXMgd2UgY2hlY2sgdGhlIGNvdW50IGFnYWluIGltbWVkaWF0ZWx5IGFmdGVyXG4gICAgaW5zZXJ0U3VzcGVuZGVkU3R5bGVzaGVldHMoc3RhdGUsIHN0YXRlLnN0eWxlc2hlZXRzKTtcbiAgfSAvLyBXZSBuZWVkIHRvIGNoZWNrIHRoZSBjb3VudCBhZ2FpbiBiZWNhdXNlIHRoZSBpbnNlcnRlZCBzdHlsZXNoZWV0cyBtYXkgaGF2ZSBsZWQgdG8gbmV3XG4gIC8vIHRhc2tzIHRvIHdhaXQgb24uXG5cblxuICBpZiAoc3RhdGUuY291bnQgPiAwKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChjb21taXQpIHtcbiAgICAgIC8vIFdlIGFsbW9zdCBuZXZlciB3YW50IHRvIHNob3cgY29udGVudCBiZWZvcmUgaXRzIHN0eWxlcyBoYXZlIGxvYWRlZC4gQnV0XG4gICAgICAvLyBldmVudHVhbGx5IHdlIHdpbGwgZ2l2ZSB1cCBhbmQgYWxsb3cgdW5zdHlsZWQgY29udGVudC4gU28gdGhpcyBudW1iZXIgaXNcbiAgICAgIC8vIHNvbWV3aGF0IGFyYml0cmFyeSDigJQgYmlnIGVub3VnaCB0aGF0IHlvdSdkIG9ubHkgcmVhY2ggaXQgdW5kZXJcbiAgICAgIC8vIGV4dHJlbWUgY2lyY3Vtc3RhbmNlcy5cbiAgICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgd2hhdCB0aGUgYnJvd3NlciBlbmdpbmVzIGRvIGR1cmluZyBpbml0aWFsIHBhZ2UgbG9hZCBhbmRcbiAgICAgIC8vIGNvbnNpZGVyIGFsaWduaW5nIG91ciBiZWhhdmlvciB3aXRoIHRoYXQuXG4gICAgICB2YXIgc3R5bGVzaGVldFRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChzdGF0ZS5zdHlsZXNoZWV0cykge1xuICAgICAgICAgIGluc2VydFN1c3BlbmRlZFN0eWxlc2hlZXRzKHN0YXRlLCBzdGF0ZS5zdHlsZXNoZWV0cyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RhdGUudW5zdXNwZW5kKSB7XG4gICAgICAgICAgdmFyIHVuc3VzcGVuZCA9IHN0YXRlLnVuc3VzcGVuZDtcbiAgICAgICAgICBzdGF0ZS51bnN1c3BlbmQgPSBudWxsO1xuICAgICAgICAgIHVuc3VzcGVuZCgpO1xuICAgICAgICB9XG4gICAgICB9LCA2MDAwMCk7IC8vIG9uZSBtaW51dGVcblxuICAgICAgc3RhdGUudW5zdXNwZW5kID0gY29tbWl0O1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc3RhdGUudW5zdXNwZW5kID0gbnVsbDtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHN0eWxlc2hlZXRUaW1lcik7XG4gICAgICB9O1xuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gb25VbnN1c3BlbmQoKSB7XG4gIHRoaXMuY291bnQtLTtcblxuICBpZiAodGhpcy5jb3VudCA9PT0gMCkge1xuICAgIGlmICh0aGlzLnN0eWxlc2hlZXRzKSB7XG4gICAgICAvLyBJZiB3ZSBoYXZlbid0IGFjdHVhbGx5IGluc2VydGVkIHRoZSBzdHlsZXNoZWV0cyB5ZXQgd2UgbmVlZCB0byBkbyBzbyBub3cgYmVmb3JlIHN0YXJ0aW5nIHRoZSBjb21taXQuXG4gICAgICAvLyBUaGUgcmVhc29uIHdlIGRvIHRoaXMgYWZ0ZXIgZXZlcnl0aGluZyBlbHNlIGhhcyBmaW5pc2hlZCBpcyBiZWNhdXNlIHdlIHdhbnQgdG8gaGF2ZSBhbGwgdGhlIHN0eWxlc2hlZXRzXG4gICAgICAvLyBsb2FkIHN5bmNocm9ub3VzbHkgcmlnaHQgYmVmb3JlIG11dGF0aW5nLiBJZGVhbGx5IHRoZSBuZXcgc3R5bGVzIHdpbGwgY2F1c2UgYSBzaW5nbGUgcmVjYWxjIG9ubHkgb24gdGhlXG4gICAgICAvLyBuZXcgdHJlZS4gV2hlbiB3ZSBmaWxsZWQgdXAgc3R5bGVzaGVldHMgd2Ugb25seSBpbmxjdWRlZCBzdHlsZXNoZWV0cyB3aXRoIG1hdGNoaW5nIG1lZGlhIGF0dHJpYnV0ZXMgc28gd2VcbiAgICAgIC8vIHdhaXQgZm9yIHRoZW0gdG8gbG9hZCBiZWZvcmUgYWN0dWFsbHkgY29udGludWluZy4gV2UgZXhwZWN0IHRoaXMgdG8gaW5jcmVhc2UgdGhlIGNvdW50IGFib3ZlIHplcm9cbiAgICAgIGluc2VydFN1c3BlbmRlZFN0eWxlc2hlZXRzKHRoaXMsIHRoaXMuc3R5bGVzaGVldHMpO1xuICAgIH0gZWxzZSBpZiAodGhpcy51bnN1c3BlbmQpIHtcbiAgICAgIHZhciB1bnN1c3BlbmQgPSB0aGlzLnVuc3VzcGVuZDtcbiAgICAgIHRoaXMudW5zdXNwZW5kID0gbnVsbDtcbiAgICAgIHVuc3VzcGVuZCgpO1xuICAgIH1cbiAgfVxufSAvLyBXZSB1c2UgYSB2YWx1ZSB0aGF0IGlzIHR5cGUgZGlzdGluY3QgZnJvbSBwcmVjZWRlbmNlIHRvIHRyYWNrIHdoaWNoIG9uZSBpcyBsYXN0LlxuLy8gVGhpcyBlbnN1cmVzIHRoZXJlIGlzIG5vIGNvbGxpc2lvbiB3aXRoIHVzZXIgZGVmaW5lZCBwcmVjZWRlbmNlcy4gTm9ybWFsbHkgd2Ugd291bGRcbi8vIGp1c3QgdHJhY2sgdGhpcyBpbiBtb2R1bGUgc2NvcGUgYnV0IHNpbmNlIHRoZSBwcmVjZWRlbmNlcyBhcmUgdHJhY2tlZCBwZXIgSG9pc3RhYmxlUm9vdFxuLy8gd2UgbmVlZCB0byBhc3NvY2lhdGUgaXQgdG8gc29tZXRoaW5nIG90aGVyIHRoYW4gYSBnbG9iYWwgc2NvcGUgaGVuY2Ugd2h5IHdlIHRyeSB0b1xuLy8gY29sb2NhdGUgaXQgd2l0aCB0aGUgbWFwIG9mIHByZWNlZGVuY2VzIGluIHRoZSBmaXJzdCBwbGFjZVxuXG5cbnZhciBMQVNUX1BSRUNFREVOQ0UgPSBudWxsOyAvLyBUaGlzIGlzIHR5cGVjYXN0IHRvIG5vbi1udWxsIGJlY2F1c2UgaXQgd2lsbCBhbHdheXMgYmUgc2V0IGJlZm9yZSByZWFkLlxuLy8gaXQgaXMgaW1wb3J0YW50IHRoYXQgdGhpcyBub3QgYmUgdXNlZCBleGNlcHQgd2hlbiB0aGUgc3RhY2sgZ3VhcmFudGVlcyBpdCBleGlzdHMuXG4vLyBDdXJyZW50bHl0IGhpcyBpcyBvbmx5IGR1cmluZyBpbnNlcnRTdXNwZW5kZWRTdHlsZXNoZWV0LlxuXG52YXIgcHJlY2VkZW5jZXNCeVJvb3QgPSBudWxsO1xuXG5mdW5jdGlvbiBpbnNlcnRTdXNwZW5kZWRTdHlsZXNoZWV0cyhzdGF0ZSwgcmVzb3VyY2VzKSB7XG4gIC8vIFdlIG5lZWQgdG8gY2xlYXIgdGhpcyBvdXQgc28gd2UgZG9uJ3QgdHJ5IHRvIHJlaW5zZXJ0IGFmdGVyIHRoZSBzdHlsZXNoZWV0cyBoYXZlIGxvYWRlZFxuICBzdGF0ZS5zdHlsZXNoZWV0cyA9IG51bGw7XG5cbiAgaWYgKHN0YXRlLnVuc3VzcGVuZCA9PT0gbnVsbCkge1xuICAgIC8vIFRoZSBzdXNwZW5kZWQgY29tbWl0IHdhcyBjYW5jZWxsZWQuIFdlIGRvbid0IG5lZWQgdG8gaW5zZXJ0IGFueSBzdHlsZXNoZWV0cy5cbiAgICByZXR1cm47XG4gIH0gLy8gVGVtcG9yYXJpbHkgaW5jcmVtZW50IGNvdW50LiB3ZSBkb24ndCB3YW50IGFueSBzeW5jaHJvbm91c2x5IGxvYWRlZCBzdHlsZXNoZWV0cyB0byB0cnkgdG8gdW5zdXNwZW5kXG4gIC8vIGJlZm9yZSB3ZSBmaW5pc2ggaW5zZXJ0aW5nIGFsbCBzdHlsZXNoZWV0cy5cblxuXG4gIHN0YXRlLmNvdW50Kys7XG4gIHByZWNlZGVuY2VzQnlSb290ID0gbmV3IE1hcCgpO1xuICByZXNvdXJjZXMuZm9yRWFjaChpbnNlcnRTdHlsZXNoZWV0SW50b1Jvb3QsIHN0YXRlKTtcbiAgcHJlY2VkZW5jZXNCeVJvb3QgPSBudWxsOyAvLyBXZSBjYW4gcmVtb3ZlIG91ciB0ZW1wb3JhcnkgY291bnQgYW5kIGlmIHdlJ3JlIHN0aWxsIGF0IHplcm8gd2UgY2FuIHVuc3VzcGVuZC5cbiAgLy8gSWYgd2UgYXJlIGluIHRoZSBzeW5jaHJvbm91cyBwaGFzZSBiZWZvcmUgZGVjaWRpbmcgaWYgdGhlIGNvbW1pdCBzaG91bGQgc3VzcGVuZCBhbmQgdGhpc1xuICAvLyBlbmRzIHVwIGhpdHRpbmcgdGhlIHVuc3VzcGVuZCBwYXRoIGl0IHdpbGwganVzdCBpbnZva2UgdGhlIG5vb3AgdW5zdXNwZW5kLlxuXG4gIG9uVW5zdXNwZW5kLmNhbGwoc3RhdGUpO1xufVxuXG5mdW5jdGlvbiBpbnNlcnRTdHlsZXNoZWV0SW50b1Jvb3Qocm9vdCwgcmVzb3VyY2UsIG1hcCkge1xuICBpZiAocmVzb3VyY2Uuc3RhdGUubG9hZGluZyAmIEluc2VydGVkKSB7XG4gICAgLy8gVGhpcyByZXNvdXJjZSB3YXMgaW5zZXJ0ZWQgYnkgYW5vdGhlciByb290IGNvbW1pdHRpbmcuIHdlIGRvbid0IG5lZWQgdG8gaW5zZXJ0IGl0IGFnYWluXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGxhc3Q7XG4gIHZhciBwcmVjZWRlbmNlcyA9IHByZWNlZGVuY2VzQnlSb290LmdldChyb290KTtcblxuICBpZiAoIXByZWNlZGVuY2VzKSB7XG4gICAgcHJlY2VkZW5jZXMgPSBuZXcgTWFwKCk7XG4gICAgcHJlY2VkZW5jZXNCeVJvb3Quc2V0KHJvb3QsIHByZWNlZGVuY2VzKTtcbiAgICB2YXIgbm9kZXMgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmtbZGF0YS1wcmVjZWRlbmNlXSxzdHlsZVtkYXRhLXByZWNlZGVuY2VdJyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldO1xuXG4gICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gJ2xpbmsnIHx8IC8vIFdlIG9taXQgc3R5bGUgdGFncyB3aXRoIG1lZGlhPVwibm90IGFsbFwiIGJlY2F1c2UgdGhleSBhcmUgbm90IGluIHRoZSByaWdodCBwb3NpdGlvblxuICAgICAgLy8gYW5kIHdpbGwgYmUgaG9pc3RlZCBieSB0aGUgRml6eiBydW50aW1lIGltbWluZW50bHkuXG4gICAgICBub2RlLmdldEF0dHJpYnV0ZSgnbWVkaWEnKSAhPT0gJ25vdCBhbGwnKSB7XG4gICAgICAgIHByZWNlZGVuY2VzLnNldChub2RlLmRhdGFzZXQucHJlY2VkZW5jZSwgbm9kZSk7XG4gICAgICAgIGxhc3QgPSBub2RlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChsYXN0KSB7XG4gICAgICBwcmVjZWRlbmNlcy5zZXQoTEFTVF9QUkVDRURFTkNFLCBsYXN0KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbGFzdCA9IHByZWNlZGVuY2VzLmdldChMQVNUX1BSRUNFREVOQ0UpO1xuICB9IC8vIFdlIG9ubHkgY2FsbCB0aGlzIGFmdGVyIHdlIGhhdmUgY29uc3RydWN0ZWQgYW4gaW5zdGFuY2Ugc28gd2UgYXNzdW1lIGl0IGhlcmVcblxuXG4gIHZhciBpbnN0YW5jZSA9IHJlc291cmNlLmluc3RhbmNlOyAvLyBXZSB3aWxsIGFsd2F5cyBoYXZlIGEgcHJlY2VkZW5jZSBmb3Igc3R5bGVzaGVldCBpbnN0YW5jZXNcblxuICB2YXIgcHJlY2VkZW5jZSA9IGluc3RhbmNlLmdldEF0dHJpYnV0ZSgnZGF0YS1wcmVjZWRlbmNlJyk7XG4gIHZhciBwcmlvciA9IHByZWNlZGVuY2VzLmdldChwcmVjZWRlbmNlKSB8fCBsYXN0O1xuXG4gIGlmIChwcmlvciA9PT0gbGFzdCkge1xuICAgIHByZWNlZGVuY2VzLnNldChMQVNUX1BSRUNFREVOQ0UsIGluc3RhbmNlKTtcbiAgfVxuXG4gIHByZWNlZGVuY2VzLnNldChwcmVjZWRlbmNlLCBpbnN0YW5jZSk7XG4gIHRoaXMuY291bnQrKztcbiAgdmFyIG9uQ29tcGxldGUgPSBvblVuc3VzcGVuZC5iaW5kKHRoaXMpO1xuICBpbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgb25Db21wbGV0ZSk7XG4gIGluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgb25Db21wbGV0ZSk7XG5cbiAgaWYgKHByaW9yKSB7XG4gICAgcHJpb3IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaW5zdGFuY2UsIHByaW9yLm5leHRTaWJsaW5nKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgcGFyZW50ID0gcm9vdC5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSA/IHJvb3QuaGVhZCA6IHJvb3Q7XG4gICAgcGFyZW50Lmluc2VydEJlZm9yZShpbnN0YW5jZSwgcGFyZW50LmZpcnN0Q2hpbGQpO1xuICB9XG5cbiAgcmVzb3VyY2Uuc3RhdGUubG9hZGluZyB8PSBJbnNlcnRlZDtcbn1cblxudmFyIE5vdFBlbmRpbmdUcmFuc2l0aW9uID0gTm90UGVuZGluZztcblxudmFyIERpc3BhdGNoZXIkMSA9IEludGVybmFscy5EaXNwYXRjaGVyO1xuXG5pZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAvLyBTZXQgdGhlIGRlZmF1bHQgZGlzcGF0Y2hlciB0byB0aGUgY2xpZW50IGRpc3BhdGNoZXJcbiAgRGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBSZWFjdERPTUNsaWVudERpc3BhdGNoZXI7XG59XG4vKiBnbG9iYWwgcmVwb3J0RXJyb3IgKi9cblxudmFyIGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3IgPSB0eXBlb2YgcmVwb3J0RXJyb3IgPT09ICdmdW5jdGlvbicgPyAvLyBJbiBtb2Rlcm4gYnJvd3NlcnMsIHJlcG9ydEVycm9yIHdpbGwgZGlzcGF0Y2ggYW4gZXJyb3IgZXZlbnQsXG4vLyBlbXVsYXRpbmcgYW4gdW5jYXVnaHQgSmF2YVNjcmlwdCBlcnJvci5cbnJlcG9ydEVycm9yIDogZnVuY3Rpb24gKGVycm9yKSB7XG4gIC8vIEluIG9sZGVyIGJyb3dzZXJzIGFuZCB0ZXN0IGVudmlyb25tZW50cywgZmFsbGJhY2sgdG8gY29uc29sZS5lcnJvci5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuICBjb25zb2xlWydlcnJvciddKGVycm9yKTtcbn07IC8vICRGbG93Rml4TWVbbWlzc2luZy10aGlzLWFubm90XVxuXG5mdW5jdGlvbiBSZWFjdERPTVJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG5SZWFjdERPTUh5ZHJhdGlvblJvb3QucHJvdG90eXBlLnJlbmRlciA9IFJlYWN0RE9NUm9vdC5wcm90b3R5cGUucmVuZGVyID0gLy8gJEZsb3dGaXhNZVttaXNzaW5nLXRoaXMtYW5ub3RdXG5mdW5jdGlvbiAoY2hpbGRyZW4pIHtcbiAgdmFyIHJvb3QgPSB0aGlzLl9pbnRlcm5hbFJvb3Q7XG5cbiAgaWYgKHJvb3QgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1cGRhdGUgYW4gdW5tb3VudGVkIHJvb3QuJyk7XG4gIH1cblxuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbMV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdkb2VzIG5vdCBzdXBwb3J0IHRoZSBzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkQ29udGFpbmVyKGFyZ3VtZW50c1sxXSkpIHtcbiAgICAgIGVycm9yKCdZb3UgcGFzc2VkIGEgY29udGFpbmVyIHRvIHRoZSBzZWNvbmQgYXJndW1lbnQgb2Ygcm9vdC5yZW5kZXIoLi4uKS4gJyArIFwiWW91IGRvbid0IG5lZWQgdG8gcGFzcyBpdCBhZ2FpbiBzaW5jZSB5b3UgYWxyZWFkeSBwYXNzZWQgaXQgdG8gY3JlYXRlIHRoZSByb290LlwiKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmd1bWVudHNbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBlcnJvcignWW91IHBhc3NlZCBhIHNlY29uZCBhcmd1bWVudCB0byByb290LnJlbmRlciguLi4pIGJ1dCBpdCBvbmx5IGFjY2VwdHMgJyArICdvbmUgYXJndW1lbnQuJyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlQ29udGFpbmVyKGNoaWxkcmVuLCByb290LCBudWxsLCBudWxsKTtcbn07IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXSBmb3VuZCB3aGVuIHVwZ3JhZGluZyBGbG93XG5cblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS51bm1vdW50ID0gUmVhY3RET01Sb290LnByb3RvdHlwZS51bm1vdW50ID0gLy8gJEZsb3dGaXhNZVttaXNzaW5nLXRoaXMtYW5ub3RdXG5mdW5jdGlvbiAoKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1swXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ2RvZXMgbm90IHN1cHBvcnQgYSBjYWxsYmFjayBhcmd1bWVudC4gJyArICdUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgcmVuZGVyaW5nLCBkZWNsYXJlIGl0IGluIGEgY29tcG9uZW50IGJvZHkgd2l0aCB1c2VFZmZlY3QoKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IHRoaXMuX2ludGVybmFsUm9vdDtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHRoaXMuX2ludGVybmFsUm9vdCA9IG51bGw7XG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIHtcbiAgICAgIGlmIChpc0FscmVhZHlSZW5kZXJpbmcoKSkge1xuICAgICAgICBlcnJvcignQXR0ZW1wdGVkIHRvIHN5bmNocm9ub3VzbHkgdW5tb3VudCBhIHJvb3Qgd2hpbGUgUmVhY3Qgd2FzIGFscmVhZHkgJyArICdyZW5kZXJpbmcuIFJlYWN0IGNhbm5vdCBmaW5pc2ggdW5tb3VudGluZyB0aGUgcm9vdCB1bnRpbCB0aGUgJyArICdjdXJyZW50IHJlbmRlciBoYXMgY29tcGxldGVkLCB3aGljaCBtYXkgbGVhZCB0byBhIHJhY2UgY29uZGl0aW9uLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsdXNoU3luYyQxKGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihudWxsLCByb290LCBudWxsLCBudWxsKTtcbiAgICB9KTtcbiAgICB1bm1hcmtDb250YWluZXJBc1Jvb3QoY29udGFpbmVyKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gY3JlYXRlUm9vdCQxKGNvbnRhaW5lciwgb3B0aW9ucykge1xuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGFyZ2V0IGNvbnRhaW5lciBpcyBub3QgYSBET00gZWxlbWVudC4nKTtcbiAgfVxuXG4gIHdhcm5JZlJlYWN0RE9NQ29udGFpbmVySW5ERVYoY29udGFpbmVyKTtcbiAgdmFyIGlzU3RyaWN0TW9kZSA9IGZhbHNlO1xuICB2YXIgY29uY3VycmVudFVwZGF0ZXNCeURlZmF1bHRPdmVycmlkZSA9IGZhbHNlO1xuICB2YXIgaWRlbnRpZmllclByZWZpeCA9ICcnO1xuICB2YXIgb25SZWNvdmVyYWJsZUVycm9yID0gZGVmYXVsdE9uUmVjb3ZlcmFibGVFcnJvcjtcbiAgdmFyIHRyYW5zaXRpb25DYWxsYmFja3MgPSBudWxsO1xuXG4gIGlmIChvcHRpb25zICE9PSBudWxsICYmIG9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgIHtcbiAgICAgIGlmIChvcHRpb25zLmh5ZHJhdGUpIHtcbiAgICAgICAgd2FybignaHlkcmF0ZSB0aHJvdWdoIGNyZWF0ZVJvb3QgaXMgZGVwcmVjYXRlZC4gVXNlIFJlYWN0RE9NQ2xpZW50Lmh5ZHJhdGVSb290KGNvbnRhaW5lciwgPEFwcCAvPikgaW5zdGVhZC4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ29iamVjdCcgJiYgb3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgICBlcnJvcignWW91IHBhc3NlZCBhIEpTWCBlbGVtZW50IHRvIGNyZWF0ZVJvb3QuIFlvdSBwcm9iYWJseSBtZWFudCB0byAnICsgJ2NhbGwgcm9vdC5yZW5kZXIgaW5zdGVhZC4gJyArICdFeGFtcGxlIHVzYWdlOlxcblxcbicgKyAnICBsZXQgcm9vdCA9IGNyZWF0ZVJvb3QoZG9tQ29udGFpbmVyKTtcXG4nICsgJyAgcm9vdC5yZW5kZXIoPEFwcCAvPik7Jyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy51bnN0YWJsZV9zdHJpY3RNb2RlID09PSB0cnVlKSB7XG4gICAgICBpc1N0cmljdE1vZGUgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmlkZW50aWZpZXJQcmVmaXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWRlbnRpZmllclByZWZpeCA9IG9wdGlvbnMuaWRlbnRpZmllclByZWZpeDtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5vblJlY292ZXJhYmxlRXJyb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb25SZWNvdmVyYWJsZUVycm9yID0gb3B0aW9ucy5vblJlY292ZXJhYmxlRXJyb3I7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfdHJhbnNpdGlvbkNhbGxiYWNrcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0cmFuc2l0aW9uQ2FsbGJhY2tzID0gb3B0aW9ucy51bnN0YWJsZV90cmFuc2l0aW9uQ2FsbGJhY2tzO1xuICAgIH1cbiAgfVxuXG4gIHZhciByb290ID0gY3JlYXRlQ29udGFpbmVyKGNvbnRhaW5lciwgQ29uY3VycmVudFJvb3QsIG51bGwsIGlzU3RyaWN0TW9kZSwgY29uY3VycmVudFVwZGF0ZXNCeURlZmF1bHRPdmVycmlkZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yLCB0cmFuc2l0aW9uQ2FsbGJhY2tzKTtcbiAgbWFya0NvbnRhaW5lckFzUm9vdChyb290LmN1cnJlbnQsIGNvbnRhaW5lcik7XG4gIERpc3BhdGNoZXIkMS5jdXJyZW50ID0gUmVhY3RET01DbGllbnREaXNwYXRjaGVyO1xuICB2YXIgcm9vdENvbnRhaW5lckVsZW1lbnQgPSBjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IGNvbnRhaW5lci5wYXJlbnROb2RlIDogY29udGFpbmVyO1xuICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhyb290Q29udGFpbmVyRWxlbWVudCk7IC8vICRGbG93Rml4TWVbaW52YWxpZC1jb25zdHJ1Y3Rvcl0gRmxvdyBubyBsb25nZXIgc3VwcG9ydHMgY2FsbGluZyBuZXcgb24gZnVuY3Rpb25zXG5cbiAgcmV0dXJuIG5ldyBSZWFjdERPTVJvb3Qocm9vdCk7XG59IC8vICRGbG93Rml4TWVbbWlzc2luZy10aGlzLWFubm90XVxuXG5mdW5jdGlvbiBSZWFjdERPTUh5ZHJhdGlvblJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVIeWRyYXRpb24odGFyZ2V0KSB7XG4gIGlmICh0YXJnZXQpIHtcbiAgICBxdWV1ZUV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KHRhcmdldCk7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG5SZWFjdERPTUh5ZHJhdGlvblJvb3QucHJvdG90eXBlLnVuc3RhYmxlX3NjaGVkdWxlSHlkcmF0aW9uID0gc2NoZWR1bGVIeWRyYXRpb247XG5mdW5jdGlvbiBoeWRyYXRlUm9vdCQxKGNvbnRhaW5lciwgaW5pdGlhbENoaWxkcmVuLCBvcHRpb25zKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lcihjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAgd2FybklmUmVhY3RET01Db250YWluZXJJbkRFVihjb250YWluZXIpO1xuXG4gIHtcbiAgICBpZiAoaW5pdGlhbENoaWxkcmVuID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGVycm9yKCdNdXN0IHByb3ZpZGUgaW5pdGlhbCBjaGlsZHJlbiBhcyBzZWNvbmQgYXJndW1lbnQgdG8gaHlkcmF0ZVJvb3QuICcgKyAnRXhhbXBsZSB1c2FnZTogaHlkcmF0ZVJvb3QoZG9tQ29udGFpbmVyLCA8QXBwIC8+KScpO1xuICAgIH1cbiAgfSAvLyBGb3Igbm93IHdlIHJldXNlIHRoZSB3aG9sZSBiYWcgb2Ygb3B0aW9ucyBzaW5jZSB0aGV5IGNvbnRhaW5cbiAgLy8gdGhlIGh5ZHJhdGlvbiBjYWxsYmFja3MuXG5cblxuICB2YXIgaHlkcmF0aW9uQ2FsbGJhY2tzID0gb3B0aW9ucyAhPSBudWxsID8gb3B0aW9ucyA6IG51bGw7XG4gIHZhciBpc1N0cmljdE1vZGUgPSBmYWxzZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUgPSBmYWxzZTtcbiAgdmFyIGlkZW50aWZpZXJQcmVmaXggPSAnJztcbiAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3I7XG4gIHZhciB0cmFuc2l0aW9uQ2FsbGJhY2tzID0gbnVsbDtcbiAgdmFyIGZvcm1TdGF0ZSA9IG51bGw7XG5cbiAgaWYgKG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfc3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgaXNTdHJpY3RNb2RlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pZGVudGlmaWVyUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpZXJQcmVmaXggPSBvcHRpb25zLmlkZW50aWZpZXJQcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uUmVjb3ZlcmFibGVFcnJvciA9IG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnVuc3RhYmxlX3RyYW5zaXRpb25DYWxsYmFja3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHJhbnNpdGlvbkNhbGxiYWNrcyA9IG9wdGlvbnMudW5zdGFibGVfdHJhbnNpdGlvbkNhbGxiYWNrcztcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAob3B0aW9ucy5mb3JtU3RhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmb3JtU3RhdGUgPSBvcHRpb25zLmZvcm1TdGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IGNyZWF0ZUh5ZHJhdGlvbkNvbnRhaW5lcihpbml0aWFsQ2hpbGRyZW4sIG51bGwsIGNvbnRhaW5lciwgQ29uY3VycmVudFJvb3QsIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IsIHRyYW5zaXRpb25DYWxsYmFja3MsIGZvcm1TdGF0ZSk7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuICBEaXNwYXRjaGVyJDEuY3VycmVudCA9IFJlYWN0RE9NQ2xpZW50RGlzcGF0Y2hlcjsgLy8gVGhpcyBjYW4ndCBiZSBhIGNvbW1lbnQgbm9kZSBzaW5jZSBoeWRyYXRpb24gZG9lc24ndCB3b3JrIG9uIGNvbW1lbnQgbm9kZXMgYW55d2F5LlxuXG4gIGxpc3RlblRvQWxsU3VwcG9ydGVkRXZlbnRzKGNvbnRhaW5lcik7IC8vICRGbG93Rml4TWVbaW52YWxpZC1jb25zdHJ1Y3Rvcl0gRmxvdyBubyBsb25nZXIgc3VwcG9ydHMgY2FsbGluZyBuZXcgb24gZnVuY3Rpb25zXG5cbiAgcmV0dXJuIG5ldyBSZWFjdERPTUh5ZHJhdGlvblJvb3Qocm9vdCk7XG59XG5mdW5jdGlvbiBpc1ZhbGlkQ29udGFpbmVyKG5vZGUpIHtcbiAgcmV0dXJuICEhKG5vZGUgJiYgKG5vZGUubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUgPT09IERPQ1VNRU5UX0ZSQUdNRU5UX05PREUgfHwgIWRpc2FibGVDb21tZW50c0FzRE9NQ29udGFpbmVycyAgKSk7XG59IC8vIFRPRE86IFJlbW92ZSB0aGlzIGZ1bmN0aW9uIHdoaWNoIGFsc28gaW5jbHVkZXMgY29tbWVudCBub2Rlcy5cbi8vIFdlIG9ubHkgdXNlIGl0IGluIHBsYWNlcyB0aGF0IGFyZSBjdXJyZW50bHkgbW9yZSByZWxheGVkLlxuXG5mdW5jdGlvbiBpc1ZhbGlkQ29udGFpbmVyTGVnYWN5KG5vZGUpIHtcbiAgcmV0dXJuICEhKG5vZGUgJiYgKG5vZGUubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUgPT09IERPQ1VNRU5UX0ZSQUdNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFICYmIG5vZGUubm9kZVZhbHVlID09PSAnIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICcpKTtcbn1cblxuZnVuY3Rpb24gd2FybklmUmVhY3RET01Db250YWluZXJJbkRFVihjb250YWluZXIpIHtcbiAge1xuICAgIGlmIChpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpKSB7XG4gICAgICBpZiAoY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIpIHtcbiAgICAgICAgZXJyb3IoJ1lvdSBhcmUgY2FsbGluZyBSZWFjdERPTUNsaWVudC5jcmVhdGVSb290KCkgb24gYSBjb250YWluZXIgdGhhdCB3YXMgcHJldmlvdXNseSAnICsgJ3Bhc3NlZCB0byBSZWFjdERPTS5yZW5kZXIoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJ1lvdSBhcmUgY2FsbGluZyBSZWFjdERPTUNsaWVudC5jcmVhdGVSb290KCkgb24gYSBjb250YWluZXIgdGhhdCAnICsgJ2hhcyBhbHJlYWR5IGJlZW4gcGFzc2VkIHRvIGNyZWF0ZVJvb3QoKSBiZWZvcmUuIEluc3RlYWQsIGNhbGwgJyArICdyb290LnJlbmRlcigpIG9uIHRoZSBleGlzdGluZyByb290IGluc3RlYWQgaWYgeW91IHdhbnQgdG8gdXBkYXRlIGl0LicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzO1xuXG57XG4gIHRvcExldmVsVXBkYXRlV2FybmluZ3MgPSBmdW5jdGlvbiAoY29udGFpbmVyKSB7XG4gICAgaWYgKGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyICYmIGNvbnRhaW5lci5ub2RlVHlwZSAhPT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgICB2YXIgaG9zdEluc3RhbmNlID0gZmluZEhvc3RJbnN0YW5jZVdpdGhOb1BvcnRhbHMoY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIuY3VycmVudCk7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UpIHtcbiAgICAgICAgaWYgKGhvc3RJbnN0YW5jZS5wYXJlbnROb2RlICE9PSBjb250YWluZXIpIHtcbiAgICAgICAgICBlcnJvcignSXQgbG9va3MgbGlrZSB0aGUgUmVhY3QtcmVuZGVyZWQgY29udGVudCBvZiB0aGlzICcgKyAnY29udGFpbmVyIHdhcyByZW1vdmVkIHdpdGhvdXQgdXNpbmcgUmVhY3QuIFRoaXMgaXMgbm90ICcgKyAnc3VwcG9ydGVkIGFuZCB3aWxsIGNhdXNlIGVycm9ycy4gSW5zdGVhZCwgY2FsbCAnICsgJ1JlYWN0RE9NLnVubW91bnRDb21wb25lbnRBdE5vZGUgdG8gZW1wdHkgYSBjb250YWluZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgaXNSb290UmVuZGVyZWRCeVNvbWVSZWFjdCA9ICEhY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXI7XG4gICAgdmFyIHJvb3RFbCA9IGdldFJlYWN0Um9vdEVsZW1lbnRJbkNvbnRhaW5lcihjb250YWluZXIpO1xuICAgIHZhciBoYXNOb25Sb290UmVhY3RDaGlsZCA9ICEhKHJvb3RFbCAmJiBnZXRJbnN0YW5jZUZyb21Ob2RlKHJvb3RFbCkpO1xuXG4gICAgaWYgKGhhc05vblJvb3RSZWFjdENoaWxkICYmICFpc1Jvb3RSZW5kZXJlZEJ5U29tZVJlYWN0KSB7XG4gICAgICBlcnJvcignUmVwbGFjaW5nIFJlYWN0LXJlbmRlcmVkIGNoaWxkcmVuIHdpdGggYSBuZXcgcm9vdCAnICsgJ2NvbXBvbmVudC4gSWYgeW91IGludGVuZGVkIHRvIHVwZGF0ZSB0aGUgY2hpbGRyZW4gb2YgdGhpcyBub2RlLCAnICsgJ3lvdSBzaG91bGQgaW5zdGVhZCBoYXZlIHRoZSBleGlzdGluZyBjaGlsZHJlbiB1cGRhdGUgdGhlaXIgc3RhdGUgJyArICdhbmQgcmVuZGVyIHRoZSBuZXcgY29tcG9uZW50cyBpbnN0ZWFkIG9mIGNhbGxpbmcgUmVhY3RET00ucmVuZGVyLicpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoIWNvbnRhaW5lcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSkge1xuICAgIHJldHVybiBjb250YWluZXIuZG9jdW1lbnRFbGVtZW50O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb250YWluZXIuZmlyc3RDaGlsZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBub29wT25SZWNvdmVyYWJsZUVycm9yKCkgey8vIFRoaXMgaXNuJ3QgcmVhY2hhYmxlIGJlY2F1c2Ugb25SZWNvdmVyYWJsZUVycm9yIGlzbid0IGNhbGxlZCBpbiB0aGVcbiAgLy8gbGVnYWN5IEFQSS5cbn1cblxuZnVuY3Rpb24gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2ssIGlzSHlkcmF0aW9uQ29udGFpbmVyKSB7XG4gIGlmIChpc0h5ZHJhdGlvbkNvbnRhaW5lcikge1xuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBvcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRQdWJsaWNSb290SW5zdGFuY2Uocm9vdCk7XG4gICAgICAgIG9yaWdpbmFsQ2FsbGJhY2suY2FsbChpbnN0YW5jZSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciByb290ID0gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgY2FsbGJhY2ssIGNvbnRhaW5lciwgTGVnYWN5Um9vdCwgbnVsbCwgLy8gaHlkcmF0aW9uQ2FsbGJhY2tzXG4gICAgZmFsc2UsIC8vIGlzU3RyaWN0TW9kZVxuICAgIGZhbHNlLCAvLyBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLFxuICAgICcnLCAvLyBpZGVudGlmaWVyUHJlZml4XG4gICAgbm9vcE9uUmVjb3ZlcmFibGVFcnJvciwgLy8gVE9ETyhsdW5hKSBTdXBwb3J0IGh5ZHJhdGlvbiBsYXRlclxuICAgIG51bGwsIG51bGwpO1xuICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gcm9vdDtcbiAgICBtYXJrQ29udGFpbmVyQXNSb290KHJvb3QuY3VycmVudCwgY29udGFpbmVyKTtcbiAgICB2YXIgcm9vdENvbnRhaW5lckVsZW1lbnQgPSBjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IGNvbnRhaW5lci5wYXJlbnROb2RlIDogY29udGFpbmVyOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYWxsXVxuXG4gICAgbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMocm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgIGZsdXNoU3luYyQxKCk7XG4gICAgcmV0dXJuIHJvb3Q7XG4gIH0gZWxzZSB7XG4gICAgLy8gRmlyc3QgY2xlYXIgYW55IGV4aXN0aW5nIGNvbnRlbnQuXG4gICAgY2xlYXJDb250YWluZXIoY29udGFpbmVyKTtcblxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBfb3JpZ2luYWxDYWxsYmFjayA9IGNhbGxiYWNrO1xuXG4gICAgICBjYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0UHVibGljUm9vdEluc3RhbmNlKF9yb290KTtcblxuICAgICAgICBfb3JpZ2luYWxDYWxsYmFjay5jYWxsKGluc3RhbmNlKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9yb290ID0gY3JlYXRlQ29udGFpbmVyKGNvbnRhaW5lciwgTGVnYWN5Um9vdCwgbnVsbCwgLy8gaHlkcmF0aW9uQ2FsbGJhY2tzXG4gICAgZmFsc2UsIC8vIGlzU3RyaWN0TW9kZVxuICAgIGZhbHNlLCAvLyBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLFxuICAgICcnLCAvLyBpZGVudGlmaWVyUHJlZml4XG4gICAgbm9vcE9uUmVjb3ZlcmFibGVFcnJvciwgLy8gb25SZWNvdmVyYWJsZUVycm9yXG4gICAgbnVsbCAvLyB0cmFuc2l0aW9uQ2FsbGJhY2tzXG4gICAgKTtcblxuICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gX3Jvb3Q7XG4gICAgbWFya0NvbnRhaW5lckFzUm9vdChfcm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuXG4gICAgdmFyIF9yb290Q29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gY29udGFpbmVyLnBhcmVudE5vZGUgOiBjb250YWluZXI7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLWNhbGxdXG5cblxuICAgIGxpc3RlblRvQWxsU3VwcG9ydGVkRXZlbnRzKF9yb290Q29udGFpbmVyRWxlbWVudCk7IC8vIEluaXRpYWwgbW91bnQgc2hvdWxkIG5vdCBiZSBiYXRjaGVkLlxuXG4gICAgZmx1c2hTeW5jJDEoZnVuY3Rpb24gKCkge1xuICAgICAgdXBkYXRlQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgX3Jvb3QsIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2spO1xuICAgIH0pO1xuICAgIHJldHVybiBfcm9vdDtcbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuT25JbnZhbGlkQ2FsbGJhY2soY2FsbGJhY2spIHtcbiAge1xuICAgIGlmIChjYWxsYmFjayAhPT0gbnVsbCAmJiB0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihwYXJlbnRDb21wb25lbnQsIGNoaWxkcmVuLCBjb250YWluZXIsIGZvcmNlSHlkcmF0ZSwgY2FsbGJhY2spIHtcbiAge1xuICAgIHRvcExldmVsVXBkYXRlV2FybmluZ3MoY29udGFpbmVyKTtcbiAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2soY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjYWxsYmFjayk7XG4gIH1cblxuICB2YXIgbWF5YmVSb290ID0gY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXI7XG4gIHZhciByb290O1xuXG4gIGlmICghbWF5YmVSb290KSB7XG4gICAgLy8gSW5pdGlhbCBtb3VudFxuICAgIHJvb3QgPSBsZWdhY3lDcmVhdGVSb290RnJvbURPTUNvbnRhaW5lcihjb250YWluZXIsIGNoaWxkcmVuLCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrLCBmb3JjZUh5ZHJhdGUpO1xuICB9IGVsc2Uge1xuICAgIHJvb3QgPSBtYXliZVJvb3Q7XG5cbiAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgb3JpZ2luYWxDYWxsYmFjayA9IGNhbGxiYWNrO1xuXG4gICAgICBjYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0UHVibGljUm9vdEluc3RhbmNlKHJvb3QpO1xuICAgICAgICBvcmlnaW5hbENhbGxiYWNrLmNhbGwoaW5zdGFuY2UpO1xuICAgICAgfTtcbiAgICB9IC8vIFVwZGF0ZVxuXG5cbiAgICB1cGRhdGVDb250YWluZXIoY2hpbGRyZW4sIHJvb3QsIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2spO1xuICB9XG5cbiAgcmV0dXJuIGdldFB1YmxpY1Jvb3RJbnN0YW5jZShyb290KTtcbn1cblxuZnVuY3Rpb24gZmluZERPTU5vZGUoY29tcG9uZW50T3JFbGVtZW50KSB7XG4gIHtcbiAgICB2YXIgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIHdhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gb3duZXIuc3RhdGVOb2RlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlcjtcblxuICAgICAgaWYgKCF3YXJuZWRBYm91dFJlZnNJblJlbmRlcikge1xuICAgICAgICBlcnJvcignJXMgaXMgYWNjZXNzaW5nIGZpbmRET01Ob2RlIGluc2lkZSBpdHMgcmVuZGVyKCkuICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUob3duZXIudHlwZSkgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIG93bmVyLnN0YXRlTm9kZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb21wb25lbnRPckVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbXBvbmVudE9yRWxlbWVudC5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgcmV0dXJuIGNvbXBvbmVudE9yRWxlbWVudDtcbiAgfVxuXG4gIHtcbiAgICByZXR1cm4gZmluZEhvc3RJbnN0YW5jZVdpdGhXYXJuaW5nKGNvbXBvbmVudE9yRWxlbWVudCwgJ2ZpbmRET01Ob2RlJyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGh5ZHJhdGUoZWxlbWVudCwgY29udGFpbmVyLCBjYWxsYmFjaykge1xuICB7XG4gICAgZXJyb3IoJ1JlYWN0RE9NLmh5ZHJhdGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBpbiBSZWFjdCAxOC4gVXNlIGh5ZHJhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLmh5ZHJhdGUoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBjYWxsIGh5ZHJhdGVSb290KGNvbnRhaW5lciwgZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9IC8vIFRPRE86IHRocm93IG9yIHdhcm4gaWYgd2UgY291bGRuJ3QgaHlkcmF0ZT9cblxuXG4gIHJldHVybiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBlbGVtZW50LCBjb250YWluZXIsIHRydWUsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHJlbmRlcihlbGVtZW50LCBjb250YWluZXIsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBlcnJvcignUmVhY3RET00ucmVuZGVyIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgaW4gUmVhY3QgMTguIFVzZSBjcmVhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLnJlbmRlcigpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET01DbGllbnQuY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnRGlkIHlvdSBtZWFuIHRvIGNhbGwgcm9vdC5yZW5kZXIoZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAge1xuICAgIGVycm9yKCdSZWFjdERPTS51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcigpIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgJyArICdpbiBSZWFjdCAxOC4gQ29uc2lkZXIgdXNpbmcgYSBwb3J0YWwgaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byAnICsgXCJ0aGUgY3JlYXRlUm9vdCBBUEksIHlvdXIgYXBwIHdpbGwgYmVoYXZlIGFzIGlmIGl0J3MgcnVubmluZyBSZWFjdCBcIiArICcxNy4gTGVhcm4gbW9yZTogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N3aXRjaC10by1jcmVhdGVyb290Jyk7XG4gIH1cblxuICBpZiAoIWlzVmFsaWRDb250YWluZXJMZWdhY3koY29udGFpbmVyTm9kZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICBpZiAocGFyZW50Q29tcG9uZW50ID09IG51bGwgfHwgIWhhcyhwYXJlbnRDb21wb25lbnQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwYXJlbnRDb21wb25lbnQgbXVzdCBiZSBhIHZhbGlkIFJlYWN0IENvbXBvbmVudCcpO1xuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVubW91bnRDb21wb25lbnRBdE5vZGUoY29udGFpbmVyKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLnVubW91bnRDb21wb25lbnRBdE5vZGUoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBEaWQgeW91IG1lYW4gdG8gY2FsbCByb290LnVubW91bnQoKT8nKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIpIHtcbiAgICB7XG4gICAgICB2YXIgcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG4gICAgICB2YXIgcmVuZGVyZWRCeURpZmZlcmVudFJlYWN0ID0gcm9vdEVsICYmICFnZXRJbnN0YW5jZUZyb21Ob2RlKHJvb3RFbCk7XG5cbiAgICAgIGlmIChyZW5kZXJlZEJ5RGlmZmVyZW50UmVhY3QpIHtcbiAgICAgICAgZXJyb3IoXCJ1bm1vdW50Q29tcG9uZW50QXROb2RlKCk6IFRoZSBub2RlIHlvdSdyZSBhdHRlbXB0aW5nIHRvIHVubW91bnQgXCIgKyAnd2FzIHJlbmRlcmVkIGJ5IGFub3RoZXIgY29weSBvZiBSZWFjdC4nKTtcbiAgICAgIH1cbiAgICB9IC8vIFVubW91bnQgc2hvdWxkIG5vdCBiZSBiYXRjaGVkLlxuXG5cbiAgICBmbHVzaFN5bmMkMShmdW5jdGlvbiAoKSB7XG4gICAgICBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBudWxsLCBjb250YWluZXIsIGZhbHNlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIFRoaXMgc2hvdWxkIHByb2JhYmx5IHVzZSBgZGVsZXRlIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyYFxuICAgICAgICBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lciA9IG51bGw7XG4gICAgICAgIHVubWFya0NvbnRhaW5lckFzUm9vdChjb250YWluZXIpO1xuICAgICAgfSk7XG4gICAgfSk7IC8vIElmIHlvdSBjYWxsIHVubW91bnRDb21wb25lbnRBdE5vZGUgdHdpY2UgaW4gcXVpY2sgc3VjY2Vzc2lvbiwgeW91J2xsXG4gICAgLy8gZ2V0IGB0cnVlYCB0d2ljZS4gVGhhdCdzIHByb2JhYmx5IGZpbmU/XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICB2YXIgX3Jvb3RFbCA9IGdldFJlYWN0Um9vdEVsZW1lbnRJbkNvbnRhaW5lcihjb250YWluZXIpO1xuXG4gICAgICB2YXIgaGFzTm9uUm9vdFJlYWN0Q2hpbGQgPSAhIShfcm9vdEVsICYmIGdldEluc3RhbmNlRnJvbU5vZGUoX3Jvb3RFbCkpOyAvLyBDaGVjayBpZiB0aGUgY29udGFpbmVyIGl0c2VsZiBpcyBhIFJlYWN0IHJvb3Qgbm9kZS5cblxuICAgICAgdmFyIGlzQ29udGFpbmVyUmVhY3RSb290ID0gY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgJiYgaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIucGFyZW50Tm9kZSkgJiYgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdXG4gICAgICAhIWNvbnRhaW5lci5wYXJlbnROb2RlLl9yZWFjdFJvb3RDb250YWluZXI7XG5cbiAgICAgIGlmIChoYXNOb25Sb290UmVhY3RDaGlsZCkge1xuICAgICAgICBlcnJvcihcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcIiArICd3YXMgcmVuZGVyZWQgYnkgUmVhY3QgYW5kIGlzIG5vdCBhIHRvcC1sZXZlbCBjb250YWluZXIuICVzJywgaXNDb250YWluZXJSZWFjdFJvb3QgPyAnWW91IG1heSBoYXZlIGFjY2lkZW50YWxseSBwYXNzZWQgaW4gYSBSZWFjdCByb290IG5vZGUgaW5zdGVhZCAnICsgJ29mIGl0cyBjb250YWluZXIuJyA6ICdJbnN0ZWFkLCBoYXZlIHRoZSBwYXJlbnQgY29tcG9uZW50IHVwZGF0ZSBpdHMgc3RhdGUgYW5kICcgKyAncmVyZW5kZXIgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoaXMgY29tcG9uZW50LicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDcm9zc09yaWdpblN0cmluZyhpbnB1dCkge1xuICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBpbnB1dCA9PT0gJ3VzZS1jcmVkZW50aWFscycgPyBpbnB1dCA6ICcnO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGdldENyb3NzT3JpZ2luU3RyaW5nQXMoYXMsIGlucHV0KSB7XG4gIGlmIChhcyA9PT0gJ2ZvbnQnKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gaW5wdXQgPT09ICd1c2UtY3JlZGVudGlhbHMnID8gaW5wdXQgOiAnJztcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbnZhciBEaXNwYXRjaGVyID0gSW50ZXJuYWxzLkRpc3BhdGNoZXI7XG5mdW5jdGlvbiBwcmVmZXRjaEROUyhocmVmKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGhyZWYgIT09ICdzdHJpbmcnIHx8ICFocmVmKSB7XG4gICAgICBlcnJvcignUmVhY3RET00ucHJlZmV0Y2hETlMoKTogRXhwZWN0ZWQgdGhlIGBocmVmYCBhcmd1bWVudCAoZmlyc3QpIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZyBidXQgZW5jb3VudGVyZWQgJXMgaW5zdGVhZC4nLCBnZXRWYWx1ZURlc2NyaXB0b3JFeHBlY3RpbmdPYmplY3RGb3JXYXJuaW5nKGhyZWYpKTtcbiAgICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50c1sxXTtcblxuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnb2JqZWN0JyAmJiBvcHRpb25zLmhhc093blByb3BlcnR5KCdjcm9zc09yaWdpbicpKSB7XG4gICAgICAgIGVycm9yKCdSZWFjdERPTS5wcmVmZXRjaEROUygpOiBFeHBlY3RlZCBvbmx5IG9uZSBhcmd1bWVudCwgYGhyZWZgLCBidXQgZW5jb3VudGVyZWQgJXMgYXMgYSBzZWNvbmQgYXJndW1lbnQgaW5zdGVhZC4gVGhpcyBhcmd1bWVudCBpcyByZXNlcnZlZCBmb3IgZnV0dXJlIG9wdGlvbnMgYW5kIGlzIGN1cnJlbnRseSBkaXNhbGxvd2VkLiBJdCBsb29rcyBsaWtlIHRoZSB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gc2V0IGEgY3Jvc3NPcmlnaW4gcHJvcGVydHkgZm9yIHRoaXMgRE5TIGxvb2t1cCBoaW50LiBCcm93c2VycyBkbyBub3QgcGVyZm9ybSBETlMgcXVlcmllcyB1c2luZyBDT1JTIGFuZCBzZXR0aW5nIHRoaXMgYXR0cmlidXRlIG9uIHRoZSByZXNvdXJjZSBoaW50IGhhcyBubyBlZmZlY3QuIFRyeSBjYWxsaW5nIFJlYWN0RE9NLnByZWZldGNoRE5TKCkgd2l0aCBqdXN0IGEgc2luZ2xlIHN0cmluZyBhcmd1bWVudCwgYGhyZWZgLicsIGdldFZhbHVlRGVzY3JpcHRvckV4cGVjdGluZ0VudW1Gb3JXYXJuaW5nKG9wdGlvbnMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yKCdSZWFjdERPTS5wcmVmZXRjaEROUygpOiBFeHBlY3RlZCBvbmx5IG9uZSBhcmd1bWVudCwgYGhyZWZgLCBidXQgZW5jb3VudGVyZWQgJXMgYXMgYSBzZWNvbmQgYXJndW1lbnQgaW5zdGVhZC4gVGhpcyBhcmd1bWVudCBpcyByZXNlcnZlZCBmb3IgZnV0dXJlIG9wdGlvbnMgYW5kIGlzIGN1cnJlbnRseSBkaXNhbGxvd2VkLiBUcnkgY2FsbGluZyBSZWFjdERPTS5wcmVmZXRjaEROUygpIHdpdGgganVzdCBhIHNpbmdsZSBzdHJpbmcgYXJndW1lbnQsIGBocmVmYC4nLCBnZXRWYWx1ZURlc2NyaXB0b3JFeHBlY3RpbmdFbnVtRm9yV2FybmluZyhvcHRpb25zKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGRpc3BhdGNoZXIgPSBEaXNwYXRjaGVyLmN1cnJlbnQ7XG5cbiAgaWYgKGRpc3BhdGNoZXIgJiYgdHlwZW9mIGhyZWYgPT09ICdzdHJpbmcnKSB7XG4gICAgZGlzcGF0Y2hlci5wcmVmZXRjaEROUyhocmVmKTtcbiAgfSAvLyBXZSBkb24ndCBlcnJvciBiZWNhdXNlIHByZWNvbm5lY3QgbmVlZHMgdG8gYmUgcmVzaWxpZW50IHRvIGJlaW5nIGNhbGxlZCBpbiBhIHZhcmlldHkgb2Ygc2NvcGVzXG4gIC8vIGFuZCB0aGUgcnVudGltZSBtYXkgbm90IGJlIGNhcGFibGUgb2YgcmVzcG9uZGluZy4gVGhlIGZ1bmN0aW9uIGlzIG9wdGltaXN0aWMgYW5kIG5vdCBjcml0aWNhbFxuICAvLyBzbyB3ZSBmYXZvciBzaWxlbnQgYmFpbG91dCBvdmVyIHdhcm5pbmcgb3IgZXJyb3JpbmcuXG5cbn1cbmZ1bmN0aW9uIHByZWNvbm5lY3QoaHJlZiwgb3B0aW9ucykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBocmVmICE9PSAnc3RyaW5nJyB8fCAhaHJlZikge1xuICAgICAgZXJyb3IoJ1JlYWN0RE9NLnByZWNvbm5lY3QoKTogRXhwZWN0ZWQgdGhlIGBocmVmYCBhcmd1bWVudCAoZmlyc3QpIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZyBidXQgZW5jb3VudGVyZWQgJXMgaW5zdGVhZC4nLCBnZXRWYWx1ZURlc2NyaXB0b3JFeHBlY3RpbmdPYmplY3RGb3JXYXJuaW5nKGhyZWYpKTtcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMgIT0gbnVsbCAmJiB0eXBlb2Ygb3B0aW9ucyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIGVycm9yKCdSZWFjdERPTS5wcmVjb25uZWN0KCk6IEV4cGVjdGVkIHRoZSBgb3B0aW9uc2AgYXJndW1lbnQgKHNlY29uZCkgdG8gYmUgYW4gb2JqZWN0IGJ1dCBlbmNvdW50ZXJlZCAlcyBpbnN0ZWFkLiBUaGUgb25seSBzdXBwb3J0ZWQgb3B0aW9uIGF0IHRoaXMgdGltZSBpcyBgY3Jvc3NPcmlnaW5gIHdoaWNoIGFjY2VwdHMgYSBzdHJpbmcuJywgZ2V0VmFsdWVEZXNjcmlwdG9yRXhwZWN0aW5nRW51bUZvcldhcm5pbmcob3B0aW9ucykpO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucyAhPSBudWxsICYmIHR5cGVvZiBvcHRpb25zLmNyb3NzT3JpZ2luICE9PSAnc3RyaW5nJykge1xuICAgICAgZXJyb3IoJ1JlYWN0RE9NLnByZWNvbm5lY3QoKTogRXhwZWN0ZWQgdGhlIGBjcm9zc09yaWdpbmAgb3B0aW9uIChzZWNvbmQgYXJndW1lbnQpIHRvIGJlIGEgc3RyaW5nIGJ1dCBlbmNvdW50ZXJlZCAlcyBpbnN0ZWFkLiBUcnkgcmVtb3ZpbmcgdGhpcyBvcHRpb24gb3IgcGFzc2luZyBhIHN0cmluZyB2YWx1ZSBpbnN0ZWFkLicsIGdldFZhbHVlRGVzY3JpcHRvckV4cGVjdGluZ09iamVjdEZvcldhcm5pbmcob3B0aW9ucy5jcm9zc09yaWdpbikpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBkaXNwYXRjaGVyID0gRGlzcGF0Y2hlci5jdXJyZW50O1xuXG4gIGlmIChkaXNwYXRjaGVyICYmIHR5cGVvZiBocmVmID09PSAnc3RyaW5nJykge1xuICAgIHZhciBjcm9zc09yaWdpbiA9IG9wdGlvbnMgPyBnZXRDcm9zc09yaWdpblN0cmluZyhvcHRpb25zLmNyb3NzT3JpZ2luKSA6IG51bGw7XG4gICAgZGlzcGF0Y2hlci5wcmVjb25uZWN0KGhyZWYsIGNyb3NzT3JpZ2luKTtcbiAgfSAvLyBXZSBkb24ndCBlcnJvciBiZWNhdXNlIHByZWNvbm5lY3QgbmVlZHMgdG8gYmUgcmVzaWxpZW50IHRvIGJlaW5nIGNhbGxlZCBpbiBhIHZhcmlldHkgb2Ygc2NvcGVzXG4gIC8vIGFuZCB0aGUgcnVudGltZSBtYXkgbm90IGJlIGNhcGFibGUgb2YgcmVzcG9uZGluZy4gVGhlIGZ1bmN0aW9uIGlzIG9wdGltaXN0aWMgYW5kIG5vdCBjcml0aWNhbFxuICAvLyBzbyB3ZSBmYXZvciBzaWxlbnQgYmFpbG91dCBvdmVyIHdhcm5pbmcgb3IgZXJyb3JpbmcuXG5cbn1cbmZ1bmN0aW9uIHByZWxvYWQoaHJlZiwgb3B0aW9ucykge1xuICB7XG4gICAgdmFyIGVuY291bnRlcmVkID0gJyc7XG5cbiAgICBpZiAodHlwZW9mIGhyZWYgIT09ICdzdHJpbmcnIHx8ICFocmVmKSB7XG4gICAgICBlbmNvdW50ZXJlZCArPSBcIiBUaGUgYGhyZWZgIGFyZ3VtZW50IGVuY291bnRlcmVkIHdhcyBcIiArIGdldFZhbHVlRGVzY3JpcHRvckV4cGVjdGluZ09iamVjdEZvcldhcm5pbmcoaHJlZikgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucyA9PSBudWxsIHx8IHR5cGVvZiBvcHRpb25zICE9PSAnb2JqZWN0Jykge1xuICAgICAgZW5jb3VudGVyZWQgKz0gXCIgVGhlIGBvcHRpb25zYCBhcmd1bWVudCBlbmNvdW50ZXJlZCB3YXMgXCIgKyBnZXRWYWx1ZURlc2NyaXB0b3JFeHBlY3RpbmdPYmplY3RGb3JXYXJuaW5nKG9wdGlvbnMpICsgXCIuXCI7XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9ucy5hcyAhPT0gJ3N0cmluZycgfHwgIW9wdGlvbnMuYXMpIHtcbiAgICAgIGVuY291bnRlcmVkICs9IFwiIFRoZSBgYXNgIG9wdGlvbiBlbmNvdW50ZXJlZCB3YXMgXCIgKyBnZXRWYWx1ZURlc2NyaXB0b3JFeHBlY3RpbmdPYmplY3RGb3JXYXJuaW5nKG9wdGlvbnMuYXMpICsgXCIuXCI7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlcmVkKSB7XG4gICAgICBlcnJvcignUmVhY3RET00ucHJlbG9hZCgpOiBFeHBlY3RlZCB0d28gYXJndW1lbnRzLCBhIG5vbi1lbXB0eSBgaHJlZmAgc3RyaW5nIGFuZCBhbiBgb3B0aW9uc2Agb2JqZWN0IHdpdGggYW4gYGFzYCBwcm9wZXJ0eSB2YWxpZCBmb3IgYSBgPGxpbmsgcmVsPVwicHJlbG9hZFwiIGFzPVwiLi4uXCIgLz5gIHRhZy4lcycsIGVuY291bnRlcmVkKTtcbiAgICB9XG4gIH1cblxuICB2YXIgZGlzcGF0Y2hlciA9IERpc3BhdGNoZXIuY3VycmVudDtcblxuICBpZiAoZGlzcGF0Y2hlciAmJiB0eXBlb2YgaHJlZiA9PT0gJ3N0cmluZycgJiYgLy8gV2UgY2hlY2sgZXhpc3RlbmNlIGJlY2F1c2Ugd2UgY2Fubm90IGVuZm9yY2UgdGhpcyBmdW5jdGlvbiBpcyBhY3R1YWxseSBjYWxsZWQgd2l0aCB0aGUgc3RhdGVkIHR5cGVcbiAgdHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwgJiYgdHlwZW9mIG9wdGlvbnMuYXMgPT09ICdzdHJpbmcnKSB7XG4gICAgdmFyIGFzID0gb3B0aW9ucy5hcztcbiAgICB2YXIgY3Jvc3NPcmlnaW4gPSBnZXRDcm9zc09yaWdpblN0cmluZ0FzKGFzLCBvcHRpb25zLmNyb3NzT3JpZ2luKTtcbiAgICBkaXNwYXRjaGVyLnByZWxvYWQoaHJlZiwgYXMsIHtcbiAgICAgIGNyb3NzT3JpZ2luOiBjcm9zc09yaWdpbixcbiAgICAgIGludGVncml0eTogdHlwZW9mIG9wdGlvbnMuaW50ZWdyaXR5ID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuaW50ZWdyaXR5IDogdW5kZWZpbmVkLFxuICAgICAgbm9uY2U6IHR5cGVvZiBvcHRpb25zLm5vbmNlID09PSAnc3RyaW5nJyA/IG9wdGlvbnMubm9uY2UgOiB1bmRlZmluZWQsXG4gICAgICB0eXBlOiB0eXBlb2Ygb3B0aW9ucy50eXBlID09PSAnc3RyaW5nJyA/IG9wdGlvbnMudHlwZSA6IHVuZGVmaW5lZCxcbiAgICAgIGZldGNoUHJpb3JpdHk6IHR5cGVvZiBvcHRpb25zLmZldGNoUHJpb3JpdHkgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5mZXRjaFByaW9yaXR5IDogdW5kZWZpbmVkLFxuICAgICAgcmVmZXJyZXJQb2xpY3k6IHR5cGVvZiBvcHRpb25zLnJlZmVycmVyUG9saWN5ID09PSAnc3RyaW5nJyA/IG9wdGlvbnMucmVmZXJyZXJQb2xpY3kgOiB1bmRlZmluZWQsXG4gICAgICBpbWFnZVNyY1NldDogdHlwZW9mIG9wdGlvbnMuaW1hZ2VTcmNTZXQgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5pbWFnZVNyY1NldCA6IHVuZGVmaW5lZCxcbiAgICAgIGltYWdlU2l6ZXM6IHR5cGVvZiBvcHRpb25zLmltYWdlU2l6ZXMgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5pbWFnZVNpemVzIDogdW5kZWZpbmVkXG4gICAgfSk7XG4gIH0gLy8gV2UgZG9uJ3QgZXJyb3IgYmVjYXVzZSBwcmVsb2FkIG5lZWRzIHRvIGJlIHJlc2lsaWVudCB0byBiZWluZyBjYWxsZWQgaW4gYSB2YXJpZXR5IG9mIHNjb3Blc1xuICAvLyBhbmQgdGhlIHJ1bnRpbWUgbWF5IG5vdCBiZSBjYXBhYmxlIG9mIHJlc3BvbmRpbmcuIFRoZSBmdW5jdGlvbiBpcyBvcHRpbWlzdGljIGFuZCBub3QgY3JpdGljYWxcbiAgLy8gc28gd2UgZmF2b3Igc2lsZW50IGJhaWxvdXQgb3ZlciB3YXJuaW5nIG9yIGVycm9yaW5nLlxuXG59XG5mdW5jdGlvbiBwcmVsb2FkTW9kdWxlKGhyZWYsIG9wdGlvbnMpIHtcbiAge1xuICAgIHZhciBlbmNvdW50ZXJlZCA9ICcnO1xuXG4gICAgaWYgKHR5cGVvZiBocmVmICE9PSAnc3RyaW5nJyB8fCAhaHJlZikge1xuICAgICAgZW5jb3VudGVyZWQgKz0gXCIgVGhlIGBocmVmYCBhcmd1bWVudCBlbmNvdW50ZXJlZCB3YXMgXCIgKyBnZXRWYWx1ZURlc2NyaXB0b3JFeHBlY3RpbmdPYmplY3RGb3JXYXJuaW5nKGhyZWYpICsgXCIuXCI7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygb3B0aW9ucyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIGVuY291bnRlcmVkICs9IFwiIFRoZSBgb3B0aW9uc2AgYXJndW1lbnQgZW5jb3VudGVyZWQgd2FzIFwiICsgZ2V0VmFsdWVEZXNjcmlwdG9yRXhwZWN0aW5nT2JqZWN0Rm9yV2FybmluZyhvcHRpb25zKSArIFwiLlwiO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucyAmJiAnYXMnIGluIG9wdGlvbnMgJiYgdHlwZW9mIG9wdGlvbnMuYXMgIT09ICdzdHJpbmcnKSB7XG4gICAgICBlbmNvdW50ZXJlZCArPSBcIiBUaGUgYGFzYCBvcHRpb24gZW5jb3VudGVyZWQgd2FzIFwiICsgZ2V0VmFsdWVEZXNjcmlwdG9yRXhwZWN0aW5nT2JqZWN0Rm9yV2FybmluZyhvcHRpb25zLmFzKSArIFwiLlwiO1xuICAgIH1cblxuICAgIGlmIChlbmNvdW50ZXJlZCkge1xuICAgICAgZXJyb3IoJ1JlYWN0RE9NLnByZWxvYWRNb2R1bGUoKTogRXhwZWN0ZWQgdHdvIGFyZ3VtZW50cywgYSBub24tZW1wdHkgYGhyZWZgIHN0cmluZyBhbmQsIG9wdGlvbmFsbHksIGFuIGBvcHRpb25zYCBvYmplY3Qgd2l0aCBhbiBgYXNgIHByb3BlcnR5IHZhbGlkIGZvciBhIGA8bGluayByZWw9XCJtb2R1bGVwcmVsb2FkXCIgYXM9XCIuLi5cIiAvPmAgdGFnLiVzJywgZW5jb3VudGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBkaXNwYXRjaGVyID0gRGlzcGF0Y2hlci5jdXJyZW50O1xuXG4gIGlmIChkaXNwYXRjaGVyICYmIHR5cGVvZiBocmVmID09PSAnc3RyaW5nJykge1xuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICB2YXIgY3Jvc3NPcmlnaW4gPSBnZXRDcm9zc09yaWdpblN0cmluZ0FzKG9wdGlvbnMuYXMsIG9wdGlvbnMuY3Jvc3NPcmlnaW4pO1xuICAgICAgZGlzcGF0Y2hlci5wcmVsb2FkTW9kdWxlKGhyZWYsIHtcbiAgICAgICAgYXM6IHR5cGVvZiBvcHRpb25zLmFzID09PSAnc3RyaW5nJyAmJiBvcHRpb25zLmFzICE9PSAnc2NyaXB0JyA/IG9wdGlvbnMuYXMgOiB1bmRlZmluZWQsXG4gICAgICAgIGNyb3NzT3JpZ2luOiBjcm9zc09yaWdpbixcbiAgICAgICAgaW50ZWdyaXR5OiB0eXBlb2Ygb3B0aW9ucy5pbnRlZ3JpdHkgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5pbnRlZ3JpdHkgOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaGVyLnByZWxvYWRNb2R1bGUoaHJlZik7XG4gICAgfVxuICB9IC8vIFdlIGRvbid0IGVycm9yIGJlY2F1c2UgcHJlbG9hZCBuZWVkcyB0byBiZSByZXNpbGllbnQgdG8gYmVpbmcgY2FsbGVkIGluIGEgdmFyaWV0eSBvZiBzY29wZXNcbiAgLy8gYW5kIHRoZSBydW50aW1lIG1heSBub3QgYmUgY2FwYWJsZSBvZiByZXNwb25kaW5nLiBUaGUgZnVuY3Rpb24gaXMgb3B0aW1pc3RpYyBhbmQgbm90IGNyaXRpY2FsXG4gIC8vIHNvIHdlIGZhdm9yIHNpbGVudCBiYWlsb3V0IG92ZXIgd2FybmluZyBvciBlcnJvcmluZy5cblxufVxuZnVuY3Rpb24gcHJlaW5pdChocmVmLCBvcHRpb25zKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGhyZWYgIT09ICdzdHJpbmcnIHx8ICFocmVmKSB7XG4gICAgICBlcnJvcignUmVhY3RET00ucHJlaW5pdCgpOiBFeHBlY3RlZCB0aGUgYGhyZWZgIGFyZ3VtZW50IChmaXJzdCkgdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nIGJ1dCBlbmNvdW50ZXJlZCAlcyBpbnN0ZWFkLicsIGdldFZhbHVlRGVzY3JpcHRvckV4cGVjdGluZ09iamVjdEZvcldhcm5pbmcoaHJlZikpO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucyA9PSBudWxsIHx8IHR5cGVvZiBvcHRpb25zICE9PSAnb2JqZWN0Jykge1xuICAgICAgZXJyb3IoJ1JlYWN0RE9NLnByZWluaXQoKTogRXhwZWN0ZWQgdGhlIGBvcHRpb25zYCBhcmd1bWVudCAoc2Vjb25kKSB0byBiZSBhbiBvYmplY3Qgd2l0aCBhbiBgYXNgIHByb3BlcnR5IGRlc2NyaWJpbmcgdGhlIHR5cGUgb2YgcmVzb3VyY2UgdG8gYmUgcHJlaW5pdGlhbGl6ZWQgYnV0IGVuY291bnRlcmVkICVzIGluc3RlYWQuJywgZ2V0VmFsdWVEZXNjcmlwdG9yRXhwZWN0aW5nRW51bUZvcldhcm5pbmcob3B0aW9ucykpO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucy5hcyAhPT0gJ3N0eWxlJyAmJiBvcHRpb25zLmFzICE9PSAnc2NyaXB0Jykge1xuICAgICAgZXJyb3IoJ1JlYWN0RE9NLnByZWluaXQoKTogRXhwZWN0ZWQgdGhlIGBhc2AgcHJvcGVydHkgaW4gdGhlIGBvcHRpb25zYCBhcmd1bWVudCAoc2Vjb25kKSB0byBjb250YWluIGEgdmFsaWQgdmFsdWUgZGVzY3JpYmluZyB0aGUgdHlwZSBvZiByZXNvdXJjZSB0byBiZSBwcmVpbml0aWFsaXplZCBidXQgZW5jb3VudGVyZWQgJXMgaW5zdGVhZC4gVmFsaWQgdmFsdWVzIGZvciBgYXNgIGFyZSBcInN0eWxlXCIgYW5kIFwic2NyaXB0XCIuJywgZ2V0VmFsdWVEZXNjcmlwdG9yRXhwZWN0aW5nRW51bUZvcldhcm5pbmcob3B0aW9ucy5hcykpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBkaXNwYXRjaGVyID0gRGlzcGF0Y2hlci5jdXJyZW50O1xuXG4gIGlmIChkaXNwYXRjaGVyICYmIHR5cGVvZiBocmVmID09PSAnc3RyaW5nJyAmJiBvcHRpb25zICYmIHR5cGVvZiBvcHRpb25zLmFzID09PSAnc3RyaW5nJykge1xuICAgIHZhciBhcyA9IG9wdGlvbnMuYXM7XG4gICAgdmFyIGNyb3NzT3JpZ2luID0gZ2V0Q3Jvc3NPcmlnaW5TdHJpbmdBcyhhcywgb3B0aW9ucy5jcm9zc09yaWdpbik7XG4gICAgdmFyIGludGVncml0eSA9IHR5cGVvZiBvcHRpb25zLmludGVncml0eSA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmludGVncml0eSA6IHVuZGVmaW5lZDtcbiAgICB2YXIgZmV0Y2hQcmlvcml0eSA9IHR5cGVvZiBvcHRpb25zLmZldGNoUHJpb3JpdHkgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5mZXRjaFByaW9yaXR5IDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGFzID09PSAnc3R5bGUnKSB7XG4gICAgICBkaXNwYXRjaGVyLnByZWluaXRTdHlsZShocmVmLCB0eXBlb2Ygb3B0aW9ucy5wcmVjZWRlbmNlID09PSAnc3RyaW5nJyA/IG9wdGlvbnMucHJlY2VkZW5jZSA6IHVuZGVmaW5lZCwge1xuICAgICAgICBjcm9zc09yaWdpbjogY3Jvc3NPcmlnaW4sXG4gICAgICAgIGludGVncml0eTogaW50ZWdyaXR5LFxuICAgICAgICBmZXRjaFByaW9yaXR5OiBmZXRjaFByaW9yaXR5XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGFzID09PSAnc2NyaXB0Jykge1xuICAgICAgZGlzcGF0Y2hlci5wcmVpbml0U2NyaXB0KGhyZWYsIHtcbiAgICAgICAgY3Jvc3NPcmlnaW46IGNyb3NzT3JpZ2luLFxuICAgICAgICBpbnRlZ3JpdHk6IGludGVncml0eSxcbiAgICAgICAgZmV0Y2hQcmlvcml0eTogZmV0Y2hQcmlvcml0eSxcbiAgICAgICAgbm9uY2U6IHR5cGVvZiBvcHRpb25zLm5vbmNlID09PSAnc3RyaW5nJyA/IG9wdGlvbnMubm9uY2UgOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgIH1cbiAgfSAvLyBXZSBkb24ndCBlcnJvciBiZWNhdXNlIHByZWluaXQgbmVlZHMgdG8gYmUgcmVzaWxpZW50IHRvIGJlaW5nIGNhbGxlZCBpbiBhIHZhcmlldHkgb2Ygc2NvcGVzXG4gIC8vIGFuZCB0aGUgcnVudGltZSBtYXkgbm90IGJlIGNhcGFibGUgb2YgcmVzcG9uZGluZy4gVGhlIGZ1bmN0aW9uIGlzIG9wdGltaXN0aWMgYW5kIG5vdCBjcml0aWNhbFxuICAvLyBzbyB3ZSBmYXZvciBzaWxlbnQgYmFpbG91dCBvdmVyIHdhcm5pbmcgb3IgZXJyb3JpbmcuXG5cbn1cbmZ1bmN0aW9uIHByZWluaXRNb2R1bGUoaHJlZiwgb3B0aW9ucykge1xuICB7XG4gICAgdmFyIGVuY291bnRlcmVkID0gJyc7XG5cbiAgICBpZiAodHlwZW9mIGhyZWYgIT09ICdzdHJpbmcnIHx8ICFocmVmKSB7XG4gICAgICBlbmNvdW50ZXJlZCArPSBcIiBUaGUgYGhyZWZgIGFyZ3VtZW50IGVuY291bnRlcmVkIHdhcyBcIiArIGdldFZhbHVlRGVzY3JpcHRvckV4cGVjdGluZ09iamVjdEZvcldhcm5pbmcoaHJlZikgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucyAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBvcHRpb25zICE9PSAnb2JqZWN0Jykge1xuICAgICAgZW5jb3VudGVyZWQgKz0gXCIgVGhlIGBvcHRpb25zYCBhcmd1bWVudCBlbmNvdW50ZXJlZCB3YXMgXCIgKyBnZXRWYWx1ZURlc2NyaXB0b3JFeHBlY3RpbmdPYmplY3RGb3JXYXJuaW5nKG9wdGlvbnMpICsgXCIuXCI7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zICYmICdhcycgaW4gb3B0aW9ucyAmJiBvcHRpb25zLmFzICE9PSAnc2NyaXB0Jykge1xuICAgICAgZW5jb3VudGVyZWQgKz0gXCIgVGhlIGBhc2Agb3B0aW9uIGVuY291bnRlcmVkIHdhcyBcIiArIGdldFZhbHVlRGVzY3JpcHRvckV4cGVjdGluZ0VudW1Gb3JXYXJuaW5nKG9wdGlvbnMuYXMpICsgXCIuXCI7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlcmVkKSB7XG4gICAgICBlcnJvcignUmVhY3RET00ucHJlaW5pdE1vZHVsZSgpOiBFeHBlY3RlZCB1cCB0byB0d28gYXJndW1lbnRzLCBhIG5vbi1lbXB0eSBgaHJlZmAgc3RyaW5nIGFuZCwgb3B0aW9uYWxseSwgYW4gYG9wdGlvbnNgIG9iamVjdCB3aXRoIGEgdmFsaWQgYGFzYCBwcm9wZXJ0eS4lcycsIGVuY291bnRlcmVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGFzID0gb3B0aW9ucyAmJiB0eXBlb2Ygb3B0aW9ucy5hcyA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmFzIDogJ3NjcmlwdCc7XG5cbiAgICAgIHN3aXRjaCAoYXMpIHtcbiAgICAgICAgY2FzZSAnc2NyaXB0JzpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIC8vIFdlIGhhdmUgYW4gaW52YWxpZCBhcyB0eXBlIGFuZCBuZWVkIHRvIHdhcm5cblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciB0eXBlT2ZBcyA9IGdldFZhbHVlRGVzY3JpcHRvckV4cGVjdGluZ0VudW1Gb3JXYXJuaW5nKGFzKTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0RE9NLnByZWluaXRNb2R1bGUoKTogQ3VycmVudGx5IHRoZSBvbmx5IHN1cHBvcnRlZCBcImFzXCIgdHlwZSBmb3IgdGhpcyBmdW5jdGlvbiBpcyBcInNjcmlwdFwiJyArICcgYnV0IHJlY2VpdmVkIFwiJXNcIiBpbnN0ZWFkLiBUaGlzIHdhcm5pbmcgd2FzIGdlbmVyYXRlZCBmb3IgYGhyZWZgIFwiJXNcIi4gSW4gdGhlIGZ1dHVyZSBvdGhlcicgKyAnIG1vZHVsZSB0eXBlcyB3aWxsIGJlIHN1cHBvcnRlZCwgYWxpZ25pbmcgd2l0aCB0aGUgaW1wb3J0LWF0dHJpYnV0ZXMgcHJvcG9zYWwuIExlYXJuIG1vcmUgaGVyZTonICsgJyAoaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtaW1wb3J0LWF0dHJpYnV0ZXMpJywgdHlwZU9mQXMsIGhyZWYpO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgZGlzcGF0Y2hlciA9IERpc3BhdGNoZXIuY3VycmVudDtcblxuICBpZiAoZGlzcGF0Y2hlciAmJiB0eXBlb2YgaHJlZiA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGlmIChvcHRpb25zLmFzID09IG51bGwgfHwgb3B0aW9ucy5hcyA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgICAgdmFyIGNyb3NzT3JpZ2luID0gZ2V0Q3Jvc3NPcmlnaW5TdHJpbmdBcyhvcHRpb25zLmFzLCBvcHRpb25zLmNyb3NzT3JpZ2luKTtcbiAgICAgICAgZGlzcGF0Y2hlci5wcmVpbml0TW9kdWxlU2NyaXB0KGhyZWYsIHtcbiAgICAgICAgICBjcm9zc09yaWdpbjogY3Jvc3NPcmlnaW4sXG4gICAgICAgICAgaW50ZWdyaXR5OiB0eXBlb2Ygb3B0aW9ucy5pbnRlZ3JpdHkgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5pbnRlZ3JpdHkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbm9uY2U6IHR5cGVvZiBvcHRpb25zLm5vbmNlID09PSAnc3RyaW5nJyA/IG9wdGlvbnMubm9uY2UgOiB1bmRlZmluZWRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChvcHRpb25zID09IG51bGwpIHtcbiAgICAgIGRpc3BhdGNoZXIucHJlaW5pdE1vZHVsZVNjcmlwdChocmVmKTtcbiAgICB9XG4gIH0gLy8gV2UgZG9uJ3QgZXJyb3IgYmVjYXVzZSBwcmVpbml0IG5lZWRzIHRvIGJlIHJlc2lsaWVudCB0byBiZWluZyBjYWxsZWQgaW4gYSB2YXJpZXR5IG9mIHNjb3Blc1xuICAvLyBhbmQgdGhlIHJ1bnRpbWUgbWF5IG5vdCBiZSBjYXBhYmxlIG9mIHJlc3BvbmRpbmcuIFRoZSBmdW5jdGlvbiBpcyBvcHRpbWlzdGljIGFuZCBub3QgY3JpdGljYWxcbiAgLy8gc28gd2UgZmF2b3Igc2lsZW50IGJhaWxvdXQgb3ZlciB3YXJuaW5nIG9yIGVycm9yaW5nLlxuXG59XG5cbmZ1bmN0aW9uIGdldFZhbHVlRGVzY3JpcHRvckV4cGVjdGluZ09iamVjdEZvcldhcm5pbmcodGhpbmcpIHtcbiAgcmV0dXJuIHRoaW5nID09PSBudWxsID8gJ2BudWxsYCcgOiB0aGluZyA9PT0gdW5kZWZpbmVkID8gJ2B1bmRlZmluZWRgJyA6IHRoaW5nID09PSAnJyA/ICdhbiBlbXB0eSBzdHJpbmcnIDogXCJzb21ldGhpbmcgd2l0aCB0eXBlIFxcXCJcIiArIHR5cGVvZiB0aGluZyArIFwiXFxcIlwiO1xufVxuXG5mdW5jdGlvbiBnZXRWYWx1ZURlc2NyaXB0b3JFeHBlY3RpbmdFbnVtRm9yV2FybmluZyh0aGluZykge1xuICByZXR1cm4gdGhpbmcgPT09IG51bGwgPyAnYG51bGxgJyA6IHRoaW5nID09PSB1bmRlZmluZWQgPyAnYHVuZGVmaW5lZGAnIDogdGhpbmcgPT09ICcnID8gJ2FuIGVtcHR5IHN0cmluZycgOiB0eXBlb2YgdGhpbmcgPT09ICdzdHJpbmcnID8gSlNPTi5zdHJpbmdpZnkodGhpbmcpIDogdHlwZW9mIHRoaW5nID09PSAnbnVtYmVyJyA/ICdgJyArIHRoaW5nICsgJ2AnIDogXCJzb21ldGhpbmcgd2l0aCB0eXBlIFxcXCJcIiArIHR5cGVvZiB0aGluZyArIFwiXFxcIlwiO1xufVxuXG57XG4gIGlmICh0eXBlb2YgTWFwICE9PSAnZnVuY3Rpb24nIHx8IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXSBGbG93IGluY29ycmVjdGx5IHRoaW5rcyBNYXAgaGFzIG5vIHByb3RvdHlwZVxuICBNYXAucHJvdG90eXBlID09IG51bGwgfHwgdHlwZW9mIE1hcC5wcm90b3R5cGUuZm9yRWFjaCAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgU2V0ICE9PSAnZnVuY3Rpb24nIHx8IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXSBGbG93IGluY29ycmVjdGx5IHRoaW5rcyBTZXQgaGFzIG5vIHByb3RvdHlwZVxuICBTZXQucHJvdG90eXBlID09IG51bGwgfHwgdHlwZW9mIFNldC5wcm90b3R5cGUuY2xlYXIgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIFNldC5wcm90b3R5cGUuZm9yRWFjaCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIGVycm9yKCdSZWFjdCBkZXBlbmRzIG9uIE1hcCBhbmQgU2V0IGJ1aWx0LWluIHR5cGVzLiBNYWtlIHN1cmUgdGhhdCB5b3UgbG9hZCBhICcgKyAncG9seWZpbGwgaW4gb2xkZXIgYnJvd3NlcnMuIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9yZWFjdC1wb2x5ZmlsbHMnKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVQb3J0YWwoY2hpbGRyZW4sIGNvbnRhaW5lcikge1xuICB2YXIga2V5ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lcihjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9IC8vIFRPRE86IHBhc3MgUmVhY3RET00gcG9ydGFsIGltcGxlbWVudGF0aW9uIGFzIHRoaXJkIGFyZ3VtZW50XG4gIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gVGhlIEZsb3cgdHlwZSBpcyBvcGFxdWUgYnV0IHRoZXJlJ3Mgbm8gd2F5IHRvIGFjdHVhbGx5IGNyZWF0ZSBpdC5cblxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwkMShjaGlsZHJlbiwgY29udGFpbmVyLCBudWxsLCBrZXkpO1xufVxuXG5mdW5jdGlvbiByZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihwYXJlbnRDb21wb25lbnQsIGVsZW1lbnQsIGNvbnRhaW5lck5vZGUsIGNhbGxiYWNrKSB7XG4gIHJldHVybiB1bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihwYXJlbnRDb21wb25lbnQsIGVsZW1lbnQsIGNvbnRhaW5lck5vZGUsIGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlUm9vdChjb250YWluZXIsIG9wdGlvbnMpIHtcbiAge1xuICAgIGlmICghSW50ZXJuYWxzLnVzaW5nQ2xpZW50RW50cnlQb2ludCAmJiAhZmFsc2UpIHtcbiAgICAgIGVycm9yKCdZb3UgYXJlIGltcG9ydGluZyBjcmVhdGVSb290IGZyb20gXCJyZWFjdC1kb21cIiB3aGljaCBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1lvdSBzaG91bGQgaW5zdGVhZCBpbXBvcnQgaXQgZnJvbSBcInJlYWN0LWRvbS9jbGllbnRcIi4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY3JlYXRlUm9vdCQxKGNvbnRhaW5lciwgb3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGh5ZHJhdGVSb290KGNvbnRhaW5lciwgaW5pdGlhbENoaWxkcmVuLCBvcHRpb25zKSB7XG4gIHtcbiAgICBpZiAoIUludGVybmFscy51c2luZ0NsaWVudEVudHJ5UG9pbnQgJiYgIWZhbHNlKSB7XG4gICAgICBlcnJvcignWW91IGFyZSBpbXBvcnRpbmcgaHlkcmF0ZVJvb3QgZnJvbSBcInJlYWN0LWRvbVwiIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnWW91IHNob3VsZCBpbnN0ZWFkIGltcG9ydCBpdCBmcm9tIFwicmVhY3QtZG9tL2NsaWVudFwiLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBoeWRyYXRlUm9vdCQxKGNvbnRhaW5lciwgaW5pdGlhbENoaWxkcmVuLCBvcHRpb25zKTtcbn0gLy8gT3ZlcmxvYWQgdGhlIGRlZmluaXRpb24gdG8gdGhlIHR3byB2YWxpZCBzaWduYXR1cmVzLlxuLy8gV2FybmluZywgdGhpcyBvcHRzLW91dCBvZiBjaGVja2luZyB0aGUgZnVuY3Rpb24gYm9keS5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuXG5mdW5jdGlvbiBmbHVzaFN5bmMoZm4pIHtcbiAge1xuICAgIGlmIChpc0FscmVhZHlSZW5kZXJpbmcoKSkge1xuICAgICAgZXJyb3IoJ2ZsdXNoU3luYyB3YXMgY2FsbGVkIGZyb20gaW5zaWRlIGEgbGlmZWN5Y2xlIG1ldGhvZC4gUmVhY3QgY2Fubm90ICcgKyAnZmx1c2ggd2hlbiBSZWFjdCBpcyBhbHJlYWR5IHJlbmRlcmluZy4gQ29uc2lkZXIgbW92aW5nIHRoaXMgY2FsbCB0byAnICsgJ2Egc2NoZWR1bGVyIHRhc2sgb3IgbWljcm8gdGFzay4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmx1c2hTeW5jJDEoZm4pO1xufVxuLy8gVGhpcyBpcyBhbiBhcnJheSBmb3IgYmV0dGVyIG1pbmlmaWNhdGlvbi5cblxuSW50ZXJuYWxzLkV2ZW50cyA9IFtnZXRJbnN0YW5jZUZyb21Ob2RlLCBnZXROb2RlRnJvbUluc3RhbmNlLCBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlLCBlbnF1ZXVlU3RhdGVSZXN0b3JlLCByZXN0b3JlU3RhdGVJZk5lZWRlZCwgYmF0Y2hlZFVwZGF0ZXMkMV07XG52YXIgZm91bmREZXZUb29scyA9IGluamVjdEludG9EZXZUb29scyh7XG4gIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOiBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSxcbiAgYnVuZGxlVHlwZTogMSAsXG4gIHZlcnNpb246IFJlYWN0VmVyc2lvbixcbiAgcmVuZGVyZXJQYWNrYWdlTmFtZTogJ3JlYWN0LWRvbSdcbn0pO1xuXG57XG4gIGlmICghZm91bmREZXZUb29scyAmJiBjYW5Vc2VET00gJiYgd2luZG93LnRvcCA9PT0gd2luZG93LnNlbGYpIHtcbiAgICAvLyBJZiB3ZSdyZSBpbiBDaHJvbWUgb3IgRmlyZWZveCwgcHJvdmlkZSBhIGRvd25sb2FkIGxpbmsgaWYgbm90IGluc3RhbGxlZC5cbiAgICBpZiAobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdDaHJvbWUnKSA+IC0xICYmIG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignRWRnZScpID09PSAtMSB8fCBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0ZpcmVmb3gnKSA+IC0xKSB7XG4gICAgICB2YXIgcHJvdG9jb2wgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2w7IC8vIERvbid0IHdhcm4gaW4gZXhvdGljIGNhc2VzIGxpa2UgY2hyb21lLWV4dGVuc2lvbjovLy5cblxuICAgICAgaWYgKC9eKGh0dHBzP3xmaWxlKTokLy50ZXN0KHByb3RvY29sKSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG4gICAgICAgIGNvbnNvbGUuaW5mbygnJWNEb3dubG9hZCB0aGUgUmVhY3QgRGV2VG9vbHMgJyArICdmb3IgYSBiZXR0ZXIgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVhY3QtZGV2dG9vbHMnICsgKHByb3RvY29sID09PSAnZmlsZTonID8gJ1xcbllvdSBtaWdodCBuZWVkIHRvIHVzZSBhIGxvY2FsIEhUVFAgc2VydmVyIChpbnN0ZWFkIG9mIGZpbGU6Ly8pOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9yZWFjdC1kZXZ0b29scy1mYXEnIDogJycpLCAnZm9udC13ZWlnaHQ6Ym9sZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnRzLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEID0gSW50ZXJuYWxzO1xuZXhwb3J0cy5jcmVhdGVQb3J0YWwgPSBjcmVhdGVQb3J0YWw7XG5leHBvcnRzLmNyZWF0ZVJvb3QgPSBjcmVhdGVSb290O1xuZXhwb3J0cy5maW5kRE9NTm9kZSA9IGZpbmRET01Ob2RlO1xuZXhwb3J0cy5mbHVzaFN5bmMgPSBmbHVzaFN5bmM7XG5leHBvcnRzLmh5ZHJhdGUgPSBoeWRyYXRlO1xuZXhwb3J0cy5oeWRyYXRlUm9vdCA9IGh5ZHJhdGVSb290O1xuZXhwb3J0cy5wcmVjb25uZWN0ID0gcHJlY29ubmVjdDtcbmV4cG9ydHMucHJlZmV0Y2hETlMgPSBwcmVmZXRjaEROUztcbmV4cG9ydHMucHJlaW5pdCA9IHByZWluaXQ7XG5leHBvcnRzLnByZWluaXRNb2R1bGUgPSBwcmVpbml0TW9kdWxlO1xuZXhwb3J0cy5wcmVsb2FkID0gcHJlbG9hZDtcbmV4cG9ydHMucHJlbG9hZE1vZHVsZSA9IHByZWxvYWRNb2R1bGU7XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMudW5tb3VudENvbXBvbmVudEF0Tm9kZSA9IHVubW91bnRDb21wb25lbnRBdE5vZGU7XG5leHBvcnRzLnVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzID0gYmF0Y2hlZFVwZGF0ZXMkMTtcbmV4cG9ydHMudW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIgPSByZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcjtcbmV4cG9ydHMudXNlRm9ybVN0YXRlID0gdXNlRm9ybVN0YXRlO1xuZXhwb3J0cy51c2VGb3JtU3RhdHVzID0gdXNlRm9ybVN0YXR1cztcbmV4cG9ydHMudmVyc2lvbiA9IFJlYWN0VmVyc2lvbjtcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/client.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-dom/client.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar m = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\nif (false) {} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function (c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function (c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtZG9tL2NsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixRQUFRLG1CQUFPLENBQUMsMkZBQVc7QUFDM0IsSUFBSSxLQUFxQyxFQUFFLEVBRzFDLENBQUM7QUFDRjtBQUNBLEVBQUUsa0JBQWtCO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFtQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1kb20vY2xpZW50LmpzP2E0YmEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgbSA9IHJlcXVpcmUoJ3JlYWN0LWRvbScpO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgZXhwb3J0cy5jcmVhdGVSb290ID0gbS5jcmVhdGVSb290O1xuICBleHBvcnRzLmh5ZHJhdGVSb290ID0gbS5oeWRyYXRlUm9vdDtcbn0gZWxzZSB7XG4gIHZhciBpID0gbS5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcbiAgZXhwb3J0cy5jcmVhdGVSb290ID0gZnVuY3Rpb24gKGMsIG8pIHtcbiAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBtLmNyZWF0ZVJvb3QoYywgbyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGkudXNpbmdDbGllbnRFbnRyeVBvaW50ID0gZmFsc2U7XG4gICAgfVxuICB9O1xuICBleHBvcnRzLmh5ZHJhdGVSb290ID0gZnVuY3Rpb24gKGMsIGgsIG8pIHtcbiAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBtLmh5ZHJhdGVSb290KGMsIGgsIG8pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/client.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-dom/index.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (true) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtZG9tL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUksS0FBcUMsRUFBRSxFQUsxQyxDQUFDO0FBQ0YsRUFBRSwwS0FBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1kb20vaW5kZXguanM/Njc1ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIGNoZWNrRENFKCkge1xuICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG4gIGlmIChcbiAgICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fID09PSAndW5kZWZpbmVkJyB8fFxuICAgIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UgIT09ICdmdW5jdGlvbidcbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gVGhpcyBicmFuY2ggaXMgdW5yZWFjaGFibGUgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkXG4gICAgLy8gaW4gcHJvZHVjdGlvbiwgYnV0IHRoZSBjb25kaXRpb24gaXMgdHJ1ZSBvbmx5IGluIGRldmVsb3BtZW50LlxuICAgIC8vIFRoZXJlZm9yZSBpZiB0aGUgYnJhbmNoIGlzIHN0aWxsIGhlcmUsIGRlYWQgY29kZSBlbGltaW5hdGlvbiB3YXNuJ3RcbiAgICAvLyBwcm9wZXJseSBhcHBsaWVkLlxuICAgIC8vIERvbid0IGNoYW5nZSB0aGUgbWVzc2FnZS4gUmVhY3QgRGV2VG9vbHMgcmVsaWVzIG9uIGl0LiBBbHNvIG1ha2Ugc3VyZVxuICAgIC8vIHRoaXMgbWVzc2FnZSBkb2Vzbid0IG9jY3VyIGVsc2V3aGVyZSBpbiB0aGlzIGZ1bmN0aW9uLCBvciBpdCB3aWxsIGNhdXNlXG4gICAgLy8gYSBmYWxzZSBwb3NpdGl2ZS5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ15fXicpO1xuICB9XG4gIHRyeSB7XG4gICAgLy8gVmVyaWZ5IHRoYXQgdGhlIGNvZGUgYWJvdmUgaGFzIGJlZW4gZGVhZCBjb2RlIGVsaW1pbmF0ZWQgKERDRSdkKS5cbiAgICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoY2hlY2tEQ0UpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBEZXZUb29scyBzaG91bGRuJ3QgY3Jhc2ggUmVhY3QsIG5vIG1hdHRlciB3aGF0LlxuICAgIC8vIFdlIHNob3VsZCBzdGlsbCByZXBvcnQgaW4gY2FzZSB3ZSBicmVhayB0aGlzIGNvZGUuXG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xuICB9XG59XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIC8vIERDRSBjaGVjayBzaG91bGQgaGFwcGVuIGJlZm9yZSBSZWFjdERPTSBidW5kbGUgZXhlY3V0ZXMgc28gdGhhdFxuICAvLyBEZXZUb29scyBjYW4gcmVwb3J0IGJhZCBtaW5pZmljYXRpb24gZHVyaW5nIGluamVjdGlvbi5cbiAgY2hlY2tEQ0UoKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js": -/*!*****************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js ***! - \*****************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-server-dom-webpack-client.browser.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\nvar React = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n// -----------------------------------------------------------------------------\nvar enableBinaryFlight = false;\n\nfunction createStringDecoder() {\n return new TextDecoder();\n}\nvar decoderOptions = {\n stream: true\n};\nfunction readPartialStringChunk(decoder, buffer) {\n return decoder.decode(buffer, decoderOptions);\n}\nfunction readFinalStringChunk(decoder, buffer) {\n return decoder.decode(buffer);\n}\n\nvar badgeFormat = '%c%s%c '; // Same badge styling as DevTools.\n\nvar badgeStyle = // We use a fixed background if light-dark is not supported, otherwise\n// we use a transparent background.\n'background: #e6e6e6;' + 'background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));' + 'color: #000000;' + 'color: light-dark(#000000, #ffffff);' + 'border-radius: 2px';\nvar resetStyle = '';\nvar pad = ' ';\nfunction printToConsole(methodName, args, badgeName) {\n var offset = 0;\n\n switch (methodName) {\n case 'dir':\n case 'dirxml':\n case 'groupEnd':\n case 'table':\n {\n // These methods cannot be colorized because they don't take a formatting string.\n // eslint-disable-next-line react-internal/no-production-logging\n console[methodName].apply(console, args);\n return;\n }\n\n case 'assert':\n {\n // assert takes formatting options as the second argument.\n offset = 1;\n }\n }\n\n var newArgs = args.slice(0);\n\n if (typeof newArgs[offset] === 'string') {\n newArgs.splice(offset, 1, badgeFormat + newArgs[offset], badgeStyle, pad + badgeName + pad, resetStyle);\n } else {\n newArgs.splice(offset, 0, badgeFormat, badgeStyle, pad + badgeName + pad, resetStyle);\n } // eslint-disable-next-line react-internal/no-production-logging\n\n\n console[methodName].apply(console, newArgs);\n return;\n}\n\n// This is the parsed shape of the wire format which is why it is\n// condensed to only the essentialy information\nvar ID = 0;\nvar CHUNKS = 1;\nvar NAME = 2; // export const ASYNC = 3;\n// This logic is correct because currently only include the 4th tuple member\n// when the module is async. If that changes we will need to actually assert\n// the value is true. We don't index into the 4th slot because flow does not\n// like the potential out of bounds access\n\nfunction isAsyncImport(metadata) {\n return metadata.length === 4;\n}\n\nfunction resolveClientReference(bundlerConfig, metadata) {\n if (bundlerConfig) {\n var moduleExports = bundlerConfig[metadata[ID]];\n var resolvedModuleData = moduleExports[metadata[NAME]];\n var name;\n\n if (resolvedModuleData) {\n // The potentially aliased name.\n name = resolvedModuleData.name;\n } else {\n // If we don't have this specific name, we might have the full module.\n resolvedModuleData = moduleExports['*'];\n\n if (!resolvedModuleData) {\n throw new Error('Could not find the module \"' + metadata[ID] + '\" in the React SSR Manifest. ' + 'This is probably a bug in the React Server Components bundler.');\n }\n\n name = metadata[NAME];\n }\n\n if (isAsyncImport(metadata)) {\n return [resolvedModuleData.id, resolvedModuleData.chunks, name, 1\n /* async */\n ];\n } else {\n return [resolvedModuleData.id, resolvedModuleData.chunks, name];\n }\n }\n\n return metadata;\n}\n// If they're still pending they're a thenable. This map also exists\n// in Webpack but unfortunately it's not exposed so we have to\n// replicate it in user space. null means that it has already loaded.\n\nvar chunkCache = new Map();\n\nfunction requireAsyncModule(id) {\n // We've already loaded all the chunks. We can require the module.\n var promise = __webpack_require__(id);\n\n if (typeof promise.then !== 'function') {\n // This wasn't a promise after all.\n return null;\n } else if (promise.status === 'fulfilled') {\n // This module was already resolved earlier.\n return null;\n } else {\n // Instrument the Promise to stash the result.\n promise.then(function (value) {\n var fulfilledThenable = promise;\n fulfilledThenable.status = 'fulfilled';\n fulfilledThenable.value = value;\n }, function (reason) {\n var rejectedThenable = promise;\n rejectedThenable.status = 'rejected';\n rejectedThenable.reason = reason;\n });\n return promise;\n }\n}\n\nfunction ignoreReject() {// We rely on rejected promises to be handled by another listener.\n} // Start preloading the modules since we might need them soon.\n// This function doesn't suspend.\n\n\nfunction preloadModule(metadata) {\n var chunks = metadata[CHUNKS];\n var promises = [];\n var i = 0;\n\n while (i < chunks.length) {\n var chunkId = chunks[i++];\n var chunkFilename = chunks[i++];\n var entry = chunkCache.get(chunkId);\n\n if (entry === undefined) {\n var thenable = loadChunk(chunkId, chunkFilename);\n promises.push(thenable); // $FlowFixMe[method-unbinding]\n\n var resolve = chunkCache.set.bind(chunkCache, chunkId, null);\n thenable.then(resolve, ignoreReject);\n chunkCache.set(chunkId, thenable);\n } else if (entry !== null) {\n promises.push(entry);\n }\n }\n\n if (isAsyncImport(metadata)) {\n if (promises.length === 0) {\n return requireAsyncModule(metadata[ID]);\n } else {\n return Promise.all(promises).then(function () {\n return requireAsyncModule(metadata[ID]);\n });\n }\n } else if (promises.length > 0) {\n return Promise.all(promises);\n } else {\n return null;\n }\n} // Actually require the module or suspend if it's not yet ready.\n// Increase priority if necessary.\n\nfunction requireModule(metadata) {\n var moduleExports = __webpack_require__(metadata[ID]);\n\n if (isAsyncImport(metadata)) {\n if (typeof moduleExports.then !== 'function') ; else if (moduleExports.status === 'fulfilled') {\n // This Promise should've been instrumented by preloadModule.\n moduleExports = moduleExports.value;\n } else {\n throw moduleExports.reason;\n }\n }\n\n if (metadata[NAME] === '*') {\n // This is a placeholder value that represents that the caller imported this\n // as a CommonJS module as is.\n return moduleExports;\n }\n\n if (metadata[NAME] === '') {\n // This is a placeholder value that represents that the caller accessed the\n // default property of this if it was an ESM interop module.\n return moduleExports.__esModule ? moduleExports.default : moduleExports;\n }\n\n return moduleExports[metadata[NAME]];\n}\n\nvar chunkMap = new Map();\n/**\n * We patch the chunk filename function in webpack to insert our own resolution\n * of chunks that come from Flight and may not be known to the webpack runtime\n */\n\nvar webpackGetChunkFilename = __webpack_require__.u;\n\n__webpack_require__.u = function (chunkId) {\n var flightChunk = chunkMap.get(chunkId);\n\n if (flightChunk !== undefined) {\n return flightChunk;\n }\n\n return webpackGetChunkFilename(chunkId);\n};\n\nfunction loadChunk(chunkId, filename) {\n chunkMap.set(chunkId, filename);\n return __webpack_require__.e(chunkId);\n}\n\nvar ReactDOMSharedInternals = ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\n// This client file is in the shared folder because it applies to both SSR and browser contexts.\nvar ReactDOMCurrentDispatcher = ReactDOMSharedInternals.Dispatcher;\nfunction dispatchHint(code, model) {\n var dispatcher = ReactDOMCurrentDispatcher.current;\n\n if (dispatcher) {\n switch (code) {\n case 'D':\n {\n var refined = refineModel(code, model);\n var href = refined;\n dispatcher.prefetchDNS(href);\n return;\n }\n\n case 'C':\n {\n var _refined = refineModel(code, model);\n\n if (typeof _refined === 'string') {\n var _href = _refined;\n dispatcher.preconnect(_href);\n } else {\n var _href2 = _refined[0];\n var crossOrigin = _refined[1];\n dispatcher.preconnect(_href2, crossOrigin);\n }\n\n return;\n }\n\n case 'L':\n {\n var _refined2 = refineModel(code, model);\n\n var _href3 = _refined2[0];\n var as = _refined2[1];\n\n if (_refined2.length === 3) {\n var options = _refined2[2];\n dispatcher.preload(_href3, as, options);\n } else {\n dispatcher.preload(_href3, as);\n }\n\n return;\n }\n\n case 'm':\n {\n var _refined3 = refineModel(code, model);\n\n if (typeof _refined3 === 'string') {\n var _href4 = _refined3;\n dispatcher.preloadModule(_href4);\n } else {\n var _href5 = _refined3[0];\n var _options = _refined3[1];\n dispatcher.preloadModule(_href5, _options);\n }\n\n return;\n }\n\n case 'S':\n {\n var _refined4 = refineModel(code, model);\n\n if (typeof _refined4 === 'string') {\n var _href6 = _refined4;\n dispatcher.preinitStyle(_href6);\n } else {\n var _href7 = _refined4[0];\n var precedence = _refined4[1] === 0 ? undefined : _refined4[1];\n\n var _options2 = _refined4.length === 3 ? _refined4[2] : undefined;\n\n dispatcher.preinitStyle(_href7, precedence, _options2);\n }\n\n return;\n }\n\n case 'X':\n {\n var _refined5 = refineModel(code, model);\n\n if (typeof _refined5 === 'string') {\n var _href8 = _refined5;\n dispatcher.preinitScript(_href8);\n } else {\n var _href9 = _refined5[0];\n var _options3 = _refined5[1];\n dispatcher.preinitScript(_href9, _options3);\n }\n\n return;\n }\n\n case 'M':\n {\n var _refined6 = refineModel(code, model);\n\n if (typeof _refined6 === 'string') {\n var _href10 = _refined6;\n dispatcher.preinitModuleScript(_href10);\n } else {\n var _href11 = _refined6[0];\n var _options4 = _refined6[1];\n dispatcher.preinitModuleScript(_href11, _options4);\n }\n\n return;\n }\n }\n }\n} // Flow is having trouble refining the HintModels so we help it a bit.\n// This should be compiled out in the production build.\n\nfunction refineModel(code, model) {\n return model;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\nvar getPrototypeOf = Object.getPrototypeOf;\n\n// in case they error.\n\nvar jsxPropsParents = new WeakMap();\nvar jsxChildrenParents = new WeakMap();\n\nfunction isObjectPrototype(object) {\n if (!object) {\n return false;\n }\n\n var ObjectPrototype = Object.prototype;\n\n if (object === ObjectPrototype) {\n return true;\n } // It might be an object from a different Realm which is\n // still just a plain simple object.\n\n\n if (getPrototypeOf(object)) {\n return false;\n }\n\n var names = Object.getOwnPropertyNames(object);\n\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in ObjectPrototype)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isSimpleObject(object) {\n if (!isObjectPrototype(getPrototypeOf(object))) {\n return false;\n }\n\n var names = Object.getOwnPropertyNames(object);\n\n for (var i = 0; i < names.length; i++) {\n var descriptor = Object.getOwnPropertyDescriptor(object, names[i]);\n\n if (!descriptor) {\n return false;\n }\n\n if (!descriptor.enumerable) {\n if ((names[i] === 'key' || names[i] === 'ref') && typeof descriptor.get === 'function') {\n // React adds key and ref getters to props objects to issue warnings.\n // Those getters will not be transferred to the client, but that's ok,\n // so we'll special case them.\n continue;\n }\n\n return false;\n }\n }\n\n return true;\n}\nfunction objectName(object) {\n // $FlowFixMe[method-unbinding]\n var name = Object.prototype.toString.call(object);\n return name.replace(/^\\[object (.*)\\]$/, function (m, p0) {\n return p0;\n });\n}\n\nfunction describeKeyForErrorMessage(key) {\n var encodedKey = JSON.stringify(key);\n return '\"' + key + '\"' === encodedKey ? key : encodedKey;\n}\n\nfunction describeValueForErrorMessage(value) {\n switch (typeof value) {\n case 'string':\n {\n return JSON.stringify(value.length <= 10 ? value : value.slice(0, 10) + '...');\n }\n\n case 'object':\n {\n if (isArray(value)) {\n return '[...]';\n }\n\n if (value !== null && value.$$typeof === CLIENT_REFERENCE_TAG) {\n return describeClientReference();\n }\n\n var name = objectName(value);\n\n if (name === 'Object') {\n return '{...}';\n }\n\n return name;\n }\n\n case 'function':\n {\n if (value.$$typeof === CLIENT_REFERENCE_TAG) {\n return describeClientReference();\n }\n\n var _name = value.displayName || value.name;\n\n return _name ? 'function ' + _name : 'function';\n }\n\n default:\n // eslint-disable-next-line react-internal/safe-string-coercion\n return String(value);\n }\n}\n\nfunction describeElementType(type) {\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeElementType(type.render);\n\n case REACT_MEMO_TYPE:\n return describeElementType(type.type);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeElementType(init(payload));\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar CLIENT_REFERENCE_TAG = Symbol.for('react.client.reference');\n\nfunction describeClientReference(ref) {\n return 'client';\n}\n\nfunction describeObjectForErrorMessage(objectOrArray, expandedName) {\n var objKind = objectName(objectOrArray);\n\n if (objKind !== 'Object' && objKind !== 'Array') {\n return objKind;\n }\n\n var str = '';\n var start = -1;\n var length = 0;\n\n if (isArray(objectOrArray)) {\n if (jsxChildrenParents.has(objectOrArray)) {\n // Print JSX Children\n var type = jsxChildrenParents.get(objectOrArray);\n str = '<' + describeElementType(type) + '>';\n var array = objectOrArray;\n\n for (var i = 0; i < array.length; i++) {\n var value = array[i];\n var substr = void 0;\n\n if (typeof value === 'string') {\n substr = value;\n } else if (typeof value === 'object' && value !== null) {\n substr = '{' + describeObjectForErrorMessage(value) + '}';\n } else {\n substr = '{' + describeValueForErrorMessage(value) + '}';\n }\n\n if ('' + i === expandedName) {\n start = str.length;\n length = substr.length;\n str += substr;\n } else if (substr.length < 15 && str.length + substr.length < 40) {\n str += substr;\n } else {\n str += '{...}';\n }\n }\n\n str += '</' + describeElementType(type) + '>';\n } else {\n // Print Array\n str = '[';\n var _array = objectOrArray;\n\n for (var _i = 0; _i < _array.length; _i++) {\n if (_i > 0) {\n str += ', ';\n }\n\n var _value = _array[_i];\n\n var _substr = void 0;\n\n if (typeof _value === 'object' && _value !== null) {\n _substr = describeObjectForErrorMessage(_value);\n } else {\n _substr = describeValueForErrorMessage(_value);\n }\n\n if ('' + _i === expandedName) {\n start = str.length;\n length = _substr.length;\n str += _substr;\n } else if (_substr.length < 10 && str.length + _substr.length < 40) {\n str += _substr;\n } else {\n str += '...';\n }\n }\n\n str += ']';\n }\n } else {\n if (objectOrArray.$$typeof === REACT_ELEMENT_TYPE) {\n str = '<' + describeElementType(objectOrArray.type) + '/>';\n } else if (objectOrArray.$$typeof === CLIENT_REFERENCE_TAG) {\n return describeClientReference();\n } else if (jsxPropsParents.has(objectOrArray)) {\n // Print JSX\n var _type = jsxPropsParents.get(objectOrArray);\n\n str = '<' + (describeElementType(_type) || '...');\n var object = objectOrArray;\n var names = Object.keys(object);\n\n for (var _i2 = 0; _i2 < names.length; _i2++) {\n str += ' ';\n var name = names[_i2];\n str += describeKeyForErrorMessage(name) + '=';\n var _value2 = object[name];\n\n var _substr2 = void 0;\n\n if (name === expandedName && typeof _value2 === 'object' && _value2 !== null) {\n _substr2 = describeObjectForErrorMessage(_value2);\n } else {\n _substr2 = describeValueForErrorMessage(_value2);\n }\n\n if (typeof _value2 !== 'string') {\n _substr2 = '{' + _substr2 + '}';\n }\n\n if (name === expandedName) {\n start = str.length;\n length = _substr2.length;\n str += _substr2;\n } else if (_substr2.length < 10 && str.length + _substr2.length < 40) {\n str += _substr2;\n } else {\n str += '...';\n }\n }\n\n str += '>';\n } else {\n // Print Object\n str = '{';\n var _object = objectOrArray;\n\n var _names = Object.keys(_object);\n\n for (var _i3 = 0; _i3 < _names.length; _i3++) {\n if (_i3 > 0) {\n str += ', ';\n }\n\n var _name2 = _names[_i3];\n str += describeKeyForErrorMessage(_name2) + ': ';\n var _value3 = _object[_name2];\n\n var _substr3 = void 0;\n\n if (typeof _value3 === 'object' && _value3 !== null) {\n _substr3 = describeObjectForErrorMessage(_value3);\n } else {\n _substr3 = describeValueForErrorMessage(_value3);\n }\n\n if (_name2 === expandedName) {\n start = str.length;\n length = _substr3.length;\n str += _substr3;\n } else if (_substr3.length < 10 && str.length + _substr3.length < 40) {\n str += _substr3;\n } else {\n str += '...';\n }\n }\n\n str += '}';\n }\n }\n\n if (expandedName === undefined) {\n return str;\n }\n\n if (start > -1 && length > 0) {\n var highlight = ' '.repeat(start) + '^'.repeat(length);\n return '\\n ' + str + '\\n ' + highlight;\n }\n\n return '\\n ' + str;\n}\n\nvar ObjectPrototype = Object.prototype;\nvar knownServerReferences = new WeakMap(); // Serializable values\n// Thenable<ReactServerValue>\n// function serializeByValueID(id: number): string {\n// return '$' + id.toString(16);\n// }\n\nfunction serializePromiseID(id) {\n return '$@' + id.toString(16);\n}\n\nfunction serializeServerReferenceID(id) {\n return '$F' + id.toString(16);\n}\n\nfunction serializeSymbolReference(name) {\n return '$S' + name;\n}\n\nfunction serializeFormDataReference(id) {\n // Why K? F is \"Function\". D is \"Date\". What else?\n return '$K' + id.toString(16);\n}\n\nfunction serializeNumber(number) {\n if (Number.isFinite(number)) {\n if (number === 0 && 1 / number === -Infinity) {\n return '$-0';\n } else {\n return number;\n }\n } else {\n if (number === Infinity) {\n return '$Infinity';\n } else if (number === -Infinity) {\n return '$-Infinity';\n } else {\n return '$NaN';\n }\n }\n}\n\nfunction serializeUndefined() {\n return '$undefined';\n}\n\nfunction serializeDateFromDateJSON(dateJSON) {\n // JSON.stringify automatically calls Date.prototype.toJSON which calls toISOString.\n // We need only tack on a $D prefix.\n return '$D' + dateJSON;\n}\n\nfunction serializeBigInt(n) {\n return '$n' + n.toString(10);\n}\n\nfunction serializeMapID(id) {\n return '$Q' + id.toString(16);\n}\n\nfunction serializeSetID(id) {\n return '$W' + id.toString(16);\n}\n\nfunction escapeStringValue(value) {\n if (value[0] === '$') {\n // We need to escape $ prefixed strings since we use those to encode\n // references to IDs and as special symbol values.\n return '$' + value;\n } else {\n return value;\n }\n}\n\nfunction processReply(root, formFieldPrefix, resolve, reject) {\n var nextPartId = 1;\n var pendingParts = 0;\n var formData = null;\n\n function resolveToJSON(key, value) {\n var parent = this; // Make sure that `parent[key]` wasn't JSONified before `value` was passed to us\n\n {\n // $FlowFixMe[incompatible-use]\n var originalValue = parent[key];\n\n if (typeof originalValue === 'object' && originalValue !== value && !(originalValue instanceof Date)) {\n if (objectName(originalValue) !== 'Object') {\n error('Only plain objects can be passed to Server Functions from the Client. ' + '%s objects are not supported.%s', objectName(originalValue), describeObjectForErrorMessage(parent, key));\n } else {\n error('Only plain objects can be passed to Server Functions from the Client. ' + 'Objects with toJSON methods are not supported. Convert it manually ' + 'to a simple value before passing it to props.%s', describeObjectForErrorMessage(parent, key));\n }\n }\n }\n\n if (value === null) {\n return null;\n }\n\n if (typeof value === 'object') {\n // $FlowFixMe[method-unbinding]\n if (typeof value.then === 'function') {\n // We assume that any object with a .then property is a \"Thenable\" type,\n // or a Promise type. Either of which can be represented by a Promise.\n if (formData === null) {\n // Upgrade to use FormData to allow us to stream this value.\n formData = new FormData();\n }\n\n pendingParts++;\n var promiseId = nextPartId++;\n var thenable = value;\n thenable.then(function (partValue) {\n var partJSON = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.\n\n var data = formData; // eslint-disable-next-line react-internal/safe-string-coercion\n\n data.append(formFieldPrefix + promiseId, partJSON);\n pendingParts--;\n\n if (pendingParts === 0) {\n resolve(data);\n }\n }, function (reason) {\n // In the future we could consider serializing this as an error\n // that throws on the server instead.\n reject(reason);\n });\n return serializePromiseID(promiseId);\n }\n\n if (isArray(value)) {\n // $FlowFixMe[incompatible-return]\n return value;\n } // TODO: Should we the Object.prototype.toString.call() to test for cross-realm objects?\n\n\n if (value instanceof FormData) {\n if (formData === null) {\n // Upgrade to use FormData to allow us to use rich objects as its values.\n formData = new FormData();\n }\n\n var data = formData;\n var refId = nextPartId++; // Copy all the form fields with a prefix for this reference.\n // These must come first in the form order because we assume that all the\n // fields are available before this is referenced.\n\n var prefix = formFieldPrefix + refId + '_'; // $FlowFixMe[prop-missing]: FormData has forEach.\n\n value.forEach(function (originalValue, originalKey) {\n data.append(prefix + originalKey, originalValue);\n });\n return serializeFormDataReference(refId);\n }\n\n if (value instanceof Map) {\n var partJSON = JSON.stringify(Array.from(value), resolveToJSON);\n\n if (formData === null) {\n formData = new FormData();\n }\n\n var mapId = nextPartId++;\n formData.append(formFieldPrefix + mapId, partJSON);\n return serializeMapID(mapId);\n }\n\n if (value instanceof Set) {\n var _partJSON = JSON.stringify(Array.from(value), resolveToJSON);\n\n if (formData === null) {\n formData = new FormData();\n }\n\n var setId = nextPartId++;\n formData.append(formFieldPrefix + setId, _partJSON);\n return serializeSetID(setId);\n }\n\n var iteratorFn = getIteratorFn(value);\n\n if (iteratorFn) {\n return Array.from(value);\n } // Verify that this is a simple plain object.\n\n\n var proto = getPrototypeOf(value);\n\n if (proto !== ObjectPrototype && (proto === null || getPrototypeOf(proto) !== null)) {\n throw new Error('Only plain objects, and a few built-ins, can be passed to Server Actions. ' + 'Classes or null prototypes are not supported.');\n }\n\n {\n if (value.$$typeof === REACT_ELEMENT_TYPE) {\n error('React Element cannot be passed to Server Functions from the Client.%s', describeObjectForErrorMessage(parent, key));\n } else if (value.$$typeof === REACT_LAZY_TYPE) {\n error('React Lazy cannot be passed to Server Functions from the Client.%s', describeObjectForErrorMessage(parent, key));\n } else if (value.$$typeof === (REACT_PROVIDER_TYPE)) {\n error('React Context Providers cannot be passed to Server Functions from the Client.%s', describeObjectForErrorMessage(parent, key));\n } else if (objectName(value) !== 'Object') {\n error('Only plain objects can be passed to Server Functions from the Client. ' + '%s objects are not supported.%s', objectName(value), describeObjectForErrorMessage(parent, key));\n } else if (!isSimpleObject(value)) {\n error('Only plain objects can be passed to Server Functions from the Client. ' + 'Classes or other objects with methods are not supported.%s', describeObjectForErrorMessage(parent, key));\n } else if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(value);\n\n if (symbols.length > 0) {\n error('Only plain objects can be passed to Server Functions from the Client. ' + 'Objects with symbol properties like %s are not supported.%s', symbols[0].description, describeObjectForErrorMessage(parent, key));\n }\n }\n } // $FlowFixMe[incompatible-return]\n\n\n return value;\n }\n\n if (typeof value === 'string') {\n // TODO: Maybe too clever. If we support URL there's no similar trick.\n if (value[value.length - 1] === 'Z') {\n // Possibly a Date, whose toJSON automatically calls toISOString\n // $FlowFixMe[incompatible-use]\n var _originalValue = parent[key];\n\n if (_originalValue instanceof Date) {\n return serializeDateFromDateJSON(value);\n }\n }\n\n return escapeStringValue(value);\n }\n\n if (typeof value === 'boolean') {\n return value;\n }\n\n if (typeof value === 'number') {\n return serializeNumber(value);\n }\n\n if (typeof value === 'undefined') {\n return serializeUndefined();\n }\n\n if (typeof value === 'function') {\n var metaData = knownServerReferences.get(value);\n\n if (metaData !== undefined) {\n var metaDataJSON = JSON.stringify(metaData, resolveToJSON);\n\n if (formData === null) {\n // Upgrade to use FormData to allow us to stream this value.\n formData = new FormData();\n } // The reference to this function came from the same client so we can pass it back.\n\n\n var _refId = nextPartId++; // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n formData.set(formFieldPrefix + _refId, metaDataJSON);\n return serializeServerReferenceID(_refId);\n }\n\n throw new Error('Client Functions cannot be passed directly to Server Functions. ' + 'Only Functions passed from the Server can be passed back again.');\n }\n\n if (typeof value === 'symbol') {\n // $FlowFixMe[incompatible-type] `description` might be undefined\n var name = value.description;\n\n if (Symbol.for(name) !== value) {\n throw new Error('Only global symbols received from Symbol.for(...) can be passed to Server Functions. ' + (\"The symbol Symbol.for(\" + // $FlowFixMe[incompatible-type] `description` might be undefined\n value.description + \") cannot be found among global symbols.\"));\n }\n\n return serializeSymbolReference(name);\n }\n\n if (typeof value === 'bigint') {\n return serializeBigInt(value);\n }\n\n throw new Error(\"Type \" + typeof value + \" is not supported as an argument to a Server Function.\");\n } // $FlowFixMe[incompatible-type] it's not going to be undefined because we'll encode it.\n\n\n var json = JSON.stringify(root, resolveToJSON);\n\n if (formData === null) {\n // If it's a simple data structure, we just use plain JSON.\n resolve(json);\n } else {\n // Otherwise, we use FormData to let us stream in the result.\n formData.set(formFieldPrefix + '0', json);\n\n if (pendingParts === 0) {\n // $FlowFixMe[incompatible-call] this has already been refined.\n resolve(formData);\n }\n }\n}\n\nfunction registerServerReference(proxy, reference, encodeFormAction) {\n\n knownServerReferences.set(proxy, reference);\n} // $FlowFixMe[method-unbinding]\n\nfunction createServerReference(id, callServer, encodeFormAction) {\n var proxy = function () {\n // $FlowFixMe[method-unbinding]\n var args = Array.prototype.slice.call(arguments);\n return callServer(id, args);\n };\n\n registerServerReference(proxy, {\n id: id,\n bound: null\n });\n return proxy;\n}\n\nvar ROW_ID = 0;\nvar ROW_TAG = 1;\nvar ROW_LENGTH = 2;\nvar ROW_CHUNK_BY_NEWLINE = 3;\nvar ROW_CHUNK_BY_LENGTH = 4;\nvar PENDING = 'pending';\nvar BLOCKED = 'blocked';\nvar CYCLIC = 'cyclic';\nvar RESOLVED_MODEL = 'resolved_model';\nvar RESOLVED_MODULE = 'resolved_module';\nvar INITIALIZED = 'fulfilled';\nvar ERRORED = 'rejected'; // $FlowFixMe[missing-this-annot]\n\nfunction Chunk(status, value, reason, response) {\n this.status = status;\n this.value = value;\n this.reason = reason;\n this._response = response;\n\n {\n this._debugInfo = null;\n }\n} // We subclass Promise.prototype so that we get other methods like .catch\n\n\nChunk.prototype = Object.create(Promise.prototype); // TODO: This doesn't return a new Promise chain unlike the real .then\n\nChunk.prototype.then = function (resolve, reject) {\n var chunk = this; // If we have resolved content, we try to initialize it first which\n // might put us back into one of the other states.\n\n switch (chunk.status) {\n case RESOLVED_MODEL:\n initializeModelChunk(chunk);\n break;\n\n case RESOLVED_MODULE:\n initializeModuleChunk(chunk);\n break;\n } // The status might have changed after initialization.\n\n\n switch (chunk.status) {\n case INITIALIZED:\n resolve(chunk.value);\n break;\n\n case PENDING:\n case BLOCKED:\n case CYCLIC:\n if (resolve) {\n if (chunk.value === null) {\n chunk.value = [];\n }\n\n chunk.value.push(resolve);\n }\n\n if (reject) {\n if (chunk.reason === null) {\n chunk.reason = [];\n }\n\n chunk.reason.push(reject);\n }\n\n break;\n\n default:\n reject(chunk.reason);\n break;\n }\n};\n\nfunction readChunk(chunk) {\n // If we have resolved content, we try to initialize it first which\n // might put us back into one of the other states.\n switch (chunk.status) {\n case RESOLVED_MODEL:\n initializeModelChunk(chunk);\n break;\n\n case RESOLVED_MODULE:\n initializeModuleChunk(chunk);\n break;\n } // The status might have changed after initialization.\n\n\n switch (chunk.status) {\n case INITIALIZED:\n return chunk.value;\n\n case PENDING:\n case BLOCKED:\n case CYCLIC:\n // eslint-disable-next-line no-throw-literal\n throw chunk;\n\n default:\n throw chunk.reason;\n }\n}\n\nfunction getRoot(response) {\n var chunk = getChunk(response, 0);\n return chunk;\n}\n\nfunction createPendingChunk(response) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(PENDING, null, null, response);\n}\n\nfunction createBlockedChunk(response) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(BLOCKED, null, null, response);\n}\n\nfunction createErrorChunk(response, error) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(ERRORED, null, error, response);\n}\n\nfunction wakeChunk(listeners, value) {\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener(value);\n }\n}\n\nfunction wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {\n switch (chunk.status) {\n case INITIALIZED:\n wakeChunk(resolveListeners, chunk.value);\n break;\n\n case PENDING:\n case BLOCKED:\n case CYCLIC:\n chunk.value = resolveListeners;\n chunk.reason = rejectListeners;\n break;\n\n case ERRORED:\n if (rejectListeners) {\n wakeChunk(rejectListeners, chunk.reason);\n }\n\n break;\n }\n}\n\nfunction triggerErrorOnChunk(chunk, error) {\n if (chunk.status !== PENDING && chunk.status !== BLOCKED) {\n // We already resolved. We didn't expect to see this.\n return;\n }\n\n var listeners = chunk.reason;\n var erroredChunk = chunk;\n erroredChunk.status = ERRORED;\n erroredChunk.reason = error;\n\n if (listeners !== null) {\n wakeChunk(listeners, error);\n }\n}\n\nfunction createResolvedModelChunk(response, value) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(RESOLVED_MODEL, value, null, response);\n}\n\nfunction createResolvedModuleChunk(response, value) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(RESOLVED_MODULE, value, null, response);\n}\n\nfunction createInitializedTextChunk(response, value) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(INITIALIZED, value, null, response);\n}\n\nfunction resolveModelChunk(chunk, value) {\n if (chunk.status !== PENDING) {\n // We already resolved. We didn't expect to see this.\n return;\n }\n\n var resolveListeners = chunk.value;\n var rejectListeners = chunk.reason;\n var resolvedChunk = chunk;\n resolvedChunk.status = RESOLVED_MODEL;\n resolvedChunk.value = value;\n\n if (resolveListeners !== null) {\n // This is unfortunate that we're reading this eagerly if\n // we already have listeners attached since they might no\n // longer be rendered or might not be the highest pri.\n initializeModelChunk(resolvedChunk); // The status might have changed after initialization.\n\n wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);\n }\n}\n\nfunction resolveModuleChunk(chunk, value) {\n if (chunk.status !== PENDING && chunk.status !== BLOCKED) {\n // We already resolved. We didn't expect to see this.\n return;\n }\n\n var resolveListeners = chunk.value;\n var rejectListeners = chunk.reason;\n var resolvedChunk = chunk;\n resolvedChunk.status = RESOLVED_MODULE;\n resolvedChunk.value = value;\n\n if (resolveListeners !== null) {\n initializeModuleChunk(resolvedChunk);\n wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);\n }\n}\n\nvar initializingChunk = null;\nvar initializingChunkBlockedModel = null;\n\nfunction initializeModelChunk(chunk) {\n var prevChunk = initializingChunk;\n var prevBlocked = initializingChunkBlockedModel;\n initializingChunk = chunk;\n initializingChunkBlockedModel = null;\n var resolvedModel = chunk.value; // We go to the CYCLIC state until we've fully resolved this.\n // We do this before parsing in case we try to initialize the same chunk\n // while parsing the model. Such as in a cyclic reference.\n\n var cyclicChunk = chunk;\n cyclicChunk.status = CYCLIC;\n cyclicChunk.value = null;\n cyclicChunk.reason = null;\n\n try {\n var value = parseModel(chunk._response, resolvedModel);\n\n if (initializingChunkBlockedModel !== null && initializingChunkBlockedModel.deps > 0) {\n initializingChunkBlockedModel.value = value; // We discovered new dependencies on modules that are not yet resolved.\n // We have to go the BLOCKED state until they're resolved.\n\n var blockedChunk = chunk;\n blockedChunk.status = BLOCKED;\n blockedChunk.value = null;\n blockedChunk.reason = null;\n } else {\n var resolveListeners = cyclicChunk.value;\n var initializedChunk = chunk;\n initializedChunk.status = INITIALIZED;\n initializedChunk.value = value;\n\n if (resolveListeners !== null) {\n wakeChunk(resolveListeners, value);\n }\n }\n } catch (error) {\n var erroredChunk = chunk;\n erroredChunk.status = ERRORED;\n erroredChunk.reason = error;\n } finally {\n initializingChunk = prevChunk;\n initializingChunkBlockedModel = prevBlocked;\n }\n}\n\nfunction initializeModuleChunk(chunk) {\n try {\n var value = requireModule(chunk.value);\n var initializedChunk = chunk;\n initializedChunk.status = INITIALIZED;\n initializedChunk.value = value;\n } catch (error) {\n var erroredChunk = chunk;\n erroredChunk.status = ERRORED;\n erroredChunk.reason = error;\n }\n} // Report that any missing chunks in the model is now going to throw this\n// error upon read. Also notify any pending promises.\n\n\nfunction reportGlobalError(response, error) {\n response._chunks.forEach(function (chunk) {\n // If this chunk was already resolved or errored, it won't\n // trigger an error but if it wasn't then we need to\n // because we won't be getting any new data to resolve it.\n if (chunk.status === PENDING) {\n triggerErrorOnChunk(chunk, error);\n }\n });\n}\n\nfunction createElement(type, key, props) {\n var element;\n\n {\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: null,\n props: props,\n // Record the component responsible for creating this element.\n _owner: null\n };\n }\n\n {\n // We don't really need to add any of these but keeping them for good measure.\n // Unfortunately, _store is enumerable in jest matchers so for equality to\n // work, I need to keep it or make _store non-enumerable in the other file.\n element._store = {};\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: true // This element has already been validated on the server.\n\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n }\n\n return element;\n}\n\nfunction createLazyChunkWrapper(chunk) {\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: chunk,\n _init: readChunk\n };\n\n {\n // Ensure we have a live array to track future debug info.\n var chunkDebugInfo = chunk._debugInfo || (chunk._debugInfo = []);\n lazyType._debugInfo = chunkDebugInfo;\n }\n\n return lazyType;\n}\n\nfunction getChunk(response, id) {\n var chunks = response._chunks;\n var chunk = chunks.get(id);\n\n if (!chunk) {\n chunk = createPendingChunk(response);\n chunks.set(id, chunk);\n }\n\n return chunk;\n}\n\nfunction createModelResolver(chunk, parentObject, key, cyclic) {\n var blocked;\n\n if (initializingChunkBlockedModel) {\n blocked = initializingChunkBlockedModel;\n\n if (!cyclic) {\n blocked.deps++;\n }\n } else {\n blocked = initializingChunkBlockedModel = {\n deps: cyclic ? 0 : 1,\n value: null\n };\n }\n\n return function (value) {\n parentObject[key] = value;\n blocked.deps--;\n\n if (blocked.deps === 0) {\n if (chunk.status !== BLOCKED) {\n return;\n }\n\n var resolveListeners = chunk.value;\n var initializedChunk = chunk;\n initializedChunk.status = INITIALIZED;\n initializedChunk.value = blocked.value;\n\n if (resolveListeners !== null) {\n wakeChunk(resolveListeners, blocked.value);\n }\n }\n };\n}\n\nfunction createModelReject(chunk) {\n return function (error) {\n return triggerErrorOnChunk(chunk, error);\n };\n}\n\nfunction createServerReferenceProxy(response, metaData) {\n var callServer = response._callServer;\n\n var proxy = function () {\n // $FlowFixMe[method-unbinding]\n var args = Array.prototype.slice.call(arguments);\n var p = metaData.bound;\n\n if (!p) {\n return callServer(metaData.id, args);\n }\n\n if (p.status === INITIALIZED) {\n var bound = p.value;\n return callServer(metaData.id, bound.concat(args));\n } // Since this is a fake Promise whose .then doesn't chain, we have to wrap it.\n // TODO: Remove the wrapper once that's fixed.\n\n\n return Promise.resolve(p).then(function (bound) {\n return callServer(metaData.id, bound.concat(args));\n });\n };\n\n registerServerReference(proxy, metaData);\n return proxy;\n}\n\nfunction getOutlinedModel(response, id) {\n var chunk = getChunk(response, id);\n\n switch (chunk.status) {\n case RESOLVED_MODEL:\n initializeModelChunk(chunk);\n break;\n } // The status might have changed after initialization.\n\n\n switch (chunk.status) {\n case INITIALIZED:\n {\n return chunk.value;\n }\n // We always encode it first in the stream so it won't be pending.\n\n default:\n throw chunk.reason;\n }\n}\n\nfunction parseModelString(response, parentObject, key, value) {\n if (value[0] === '$') {\n if (value === '$') {\n // A very common symbol.\n return REACT_ELEMENT_TYPE;\n }\n\n switch (value[1]) {\n case '$':\n {\n // This was an escaped string value.\n return value.slice(1);\n }\n\n case 'L':\n {\n // Lazy node\n var id = parseInt(value.slice(2), 16);\n var chunk = getChunk(response, id); // We create a React.lazy wrapper around any lazy values.\n // When passed into React, we'll know how to suspend on this.\n\n return createLazyChunkWrapper(chunk);\n }\n\n case '@':\n {\n // Promise\n if (value.length === 2) {\n // Infinite promise that never resolves.\n return new Promise(function () {});\n }\n\n var _id = parseInt(value.slice(2), 16);\n\n var _chunk = getChunk(response, _id);\n\n return _chunk;\n }\n\n case 'S':\n {\n // Symbol\n return Symbol.for(value.slice(2));\n }\n\n case 'F':\n {\n // Server Reference\n var _id2 = parseInt(value.slice(2), 16);\n\n var metadata = getOutlinedModel(response, _id2);\n return createServerReferenceProxy(response, metadata);\n }\n\n case 'Q':\n {\n // Map\n var _id3 = parseInt(value.slice(2), 16);\n\n var data = getOutlinedModel(response, _id3);\n return new Map(data);\n }\n\n case 'W':\n {\n // Set\n var _id4 = parseInt(value.slice(2), 16);\n\n var _data = getOutlinedModel(response, _id4);\n\n return new Set(_data);\n }\n\n case 'I':\n {\n // $Infinity\n return Infinity;\n }\n\n case '-':\n {\n // $-0 or $-Infinity\n if (value === '$-0') {\n return -0;\n } else {\n return -Infinity;\n }\n }\n\n case 'N':\n {\n // $NaN\n return NaN;\n }\n\n case 'u':\n {\n // matches \"$undefined\"\n // Special encoding for `undefined` which can't be serialized as JSON otherwise.\n return undefined;\n }\n\n case 'D':\n {\n // Date\n return new Date(Date.parse(value.slice(2)));\n }\n\n case 'n':\n {\n // BigInt\n return BigInt(value.slice(2));\n }\n\n case 'E':\n {\n {\n // In DEV mode we allow indirect eval to produce functions for logging.\n // This should not compile to eval() because then it has local scope access.\n try {\n // eslint-disable-next-line no-eval\n return (0, eval)(value.slice(2));\n } catch (x) {\n // We currently use this to express functions so we fail parsing it,\n // let's just return a blank function as a place holder.\n return function () {};\n }\n } // Fallthrough\n\n }\n\n default:\n {\n // We assume that anything else is a reference ID.\n var _id5 = parseInt(value.slice(1), 16);\n\n var _chunk2 = getChunk(response, _id5);\n\n switch (_chunk2.status) {\n case RESOLVED_MODEL:\n initializeModelChunk(_chunk2);\n break;\n\n case RESOLVED_MODULE:\n initializeModuleChunk(_chunk2);\n break;\n } // The status might have changed after initialization.\n\n\n switch (_chunk2.status) {\n case INITIALIZED:\n var chunkValue = _chunk2.value;\n\n if (_chunk2._debugInfo) {\n // If we have a direct reference to an object that was rendered by a synchronous\n // server component, it might have some debug info about how it was rendered.\n // We forward this to the underlying object. This might be a React Element or\n // an Array fragment.\n // If this was a string / number return value we lose the debug info. We choose\n // that tradeoff to allow sync server components to return plain values and not\n // use them as React Nodes necessarily. We could otherwise wrap them in a Lazy.\n if (typeof chunkValue === 'object' && chunkValue !== null && (Array.isArray(chunkValue) || chunkValue.$$typeof === REACT_ELEMENT_TYPE) && !chunkValue._debugInfo) {\n // We should maybe use a unique symbol for arrays but this is a React owned array.\n // $FlowFixMe[prop-missing]: This should be added to elements.\n Object.defineProperty(chunkValue, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: _chunk2._debugInfo\n });\n }\n }\n\n return chunkValue;\n\n case PENDING:\n case BLOCKED:\n case CYCLIC:\n var parentChunk = initializingChunk;\n\n _chunk2.then(createModelResolver(parentChunk, parentObject, key, _chunk2.status === CYCLIC), createModelReject(parentChunk));\n\n return null;\n\n default:\n throw _chunk2.reason;\n }\n }\n }\n }\n\n return value;\n}\n\nfunction parseModelTuple(response, value) {\n var tuple = value;\n\n if (tuple[0] === REACT_ELEMENT_TYPE) {\n // TODO: Consider having React just directly accept these arrays as elements.\n // Or even change the ReactElement type to be an array.\n return createElement(tuple[1], tuple[2], tuple[3]);\n }\n\n return value;\n}\n\nfunction missingCall() {\n throw new Error('Trying to call a function from \"use server\" but the callServer option ' + 'was not implemented in your router runtime.');\n}\n\nfunction createResponse(bundlerConfig, moduleLoading, callServer, encodeFormAction, nonce) {\n var chunks = new Map();\n var response = {\n _bundlerConfig: bundlerConfig,\n _moduleLoading: moduleLoading,\n _callServer: callServer !== undefined ? callServer : missingCall,\n _encodeFormAction: encodeFormAction,\n _nonce: nonce,\n _chunks: chunks,\n _stringDecoder: createStringDecoder(),\n _fromJSON: null,\n _rowState: 0,\n _rowID: 0,\n _rowTag: 0,\n _rowLength: 0,\n _buffer: []\n }; // Don't inline this call because it causes closure to outline the call above.\n\n response._fromJSON = createFromJSONCallback(response);\n return response;\n}\n\nfunction resolveModel(response, id, model) {\n var chunks = response._chunks;\n var chunk = chunks.get(id);\n\n if (!chunk) {\n chunks.set(id, createResolvedModelChunk(response, model));\n } else {\n resolveModelChunk(chunk, model);\n }\n}\n\nfunction resolveText(response, id, text) {\n var chunks = response._chunks; // We assume that we always reference large strings after they've been\n // emitted.\n\n chunks.set(id, createInitializedTextChunk(response, text));\n}\n\nfunction resolveModule(response, id, model) {\n var chunks = response._chunks;\n var chunk = chunks.get(id);\n var clientReferenceMetadata = parseModel(response, model);\n var clientReference = resolveClientReference(response._bundlerConfig, clientReferenceMetadata);\n // For now we preload all modules as early as possible since it's likely\n // that we'll need them.\n\n var promise = preloadModule(clientReference);\n\n if (promise) {\n var blockedChunk;\n\n if (!chunk) {\n // Technically, we should just treat promise as the chunk in this\n // case. Because it'll just behave as any other promise.\n blockedChunk = createBlockedChunk(response);\n chunks.set(id, blockedChunk);\n } else {\n // This can't actually happen because we don't have any forward\n // references to modules.\n blockedChunk = chunk;\n blockedChunk.status = BLOCKED;\n }\n\n promise.then(function () {\n return resolveModuleChunk(blockedChunk, clientReference);\n }, function (error) {\n return triggerErrorOnChunk(blockedChunk, error);\n });\n } else {\n if (!chunk) {\n chunks.set(id, createResolvedModuleChunk(response, clientReference));\n } else {\n // This can't actually happen because we don't have any forward\n // references to modules.\n resolveModuleChunk(chunk, clientReference);\n }\n }\n}\n\nfunction resolveErrorDev(response, id, digest, message, stack) {\n\n\n var error = new Error(message || 'An error occurred in the Server Components render but no message was provided');\n error.stack = stack;\n error.digest = digest;\n var errorWithDigest = error;\n var chunks = response._chunks;\n var chunk = chunks.get(id);\n\n if (!chunk) {\n chunks.set(id, createErrorChunk(response, errorWithDigest));\n } else {\n triggerErrorOnChunk(chunk, errorWithDigest);\n }\n}\n\nfunction resolveHint(response, code, model) {\n var hintModel = parseModel(response, model);\n dispatchHint(code, hintModel);\n}\n\nfunction resolveDebugInfo(response, id, debugInfo) {\n\n var chunk = getChunk(response, id);\n var chunkDebugInfo = chunk._debugInfo || (chunk._debugInfo = []);\n chunkDebugInfo.push(debugInfo);\n}\n\nfunction resolveConsoleEntry(response, value) {\n\n var payload = parseModel(response, value);\n var methodName = payload[0]; // TODO: Restore the fake stack before logging.\n // const stackTrace = payload[1];\n\n var env = payload[2];\n var args = payload.slice(3);\n printToConsole(methodName, args, env);\n}\n\nfunction processFullRow(response, id, tag, buffer, chunk) {\n\n var stringDecoder = response._stringDecoder;\n var row = '';\n\n for (var i = 0; i < buffer.length; i++) {\n row += readPartialStringChunk(stringDecoder, buffer[i]);\n }\n\n row += readFinalStringChunk(stringDecoder, chunk);\n\n switch (tag) {\n case 73\n /* \"I\" */\n :\n {\n resolveModule(response, id, row);\n return;\n }\n\n case 72\n /* \"H\" */\n :\n {\n var code = row[0];\n resolveHint(response, code, row.slice(1));\n return;\n }\n\n case 69\n /* \"E\" */\n :\n {\n var errorInfo = JSON.parse(row);\n\n {\n resolveErrorDev(response, id, errorInfo.digest, errorInfo.message, errorInfo.stack);\n }\n\n return;\n }\n\n case 84\n /* \"T\" */\n :\n {\n resolveText(response, id, row);\n return;\n }\n\n case 68\n /* \"D\" */\n :\n {\n {\n var debugInfo = JSON.parse(row);\n resolveDebugInfo(response, id, debugInfo);\n return;\n } // Fallthrough to share the error with Console entries.\n\n }\n\n case 87\n /* \"W\" */\n :\n {\n {\n resolveConsoleEntry(response, row);\n return;\n }\n }\n\n case 80\n /* \"P\" */\n :\n // Fallthrough\n\n default:\n /* \"\"\" \"{\" \"[\" \"t\" \"f\" \"n\" \"0\" - \"9\" */\n {\n // We assume anything else is JSON.\n resolveModel(response, id, row);\n return;\n }\n }\n}\n\nfunction processBinaryChunk(response, chunk) {\n var i = 0;\n var rowState = response._rowState;\n var rowID = response._rowID;\n var rowTag = response._rowTag;\n var rowLength = response._rowLength;\n var buffer = response._buffer;\n var chunkLength = chunk.length;\n\n while (i < chunkLength) {\n var lastIdx = -1;\n\n switch (rowState) {\n case ROW_ID:\n {\n var byte = chunk[i++];\n\n if (byte === 58\n /* \":\" */\n ) {\n // Finished the rowID, next we'll parse the tag.\n rowState = ROW_TAG;\n } else {\n rowID = rowID << 4 | (byte > 96 ? byte - 87 : byte - 48);\n }\n\n continue;\n }\n\n case ROW_TAG:\n {\n var resolvedRowTag = chunk[i];\n\n if (resolvedRowTag === 84\n /* \"T\" */\n || enableBinaryFlight \n /* \"V\" */\n ) {\n rowTag = resolvedRowTag;\n rowState = ROW_LENGTH;\n i++;\n } else if (resolvedRowTag > 64 && resolvedRowTag < 91\n /* \"A\"-\"Z\" */\n ) {\n rowTag = resolvedRowTag;\n rowState = ROW_CHUNK_BY_NEWLINE;\n i++;\n } else {\n rowTag = 0;\n rowState = ROW_CHUNK_BY_NEWLINE; // This was an unknown tag so it was probably part of the data.\n }\n\n continue;\n }\n\n case ROW_LENGTH:\n {\n var _byte = chunk[i++];\n\n if (_byte === 44\n /* \",\" */\n ) {\n // Finished the rowLength, next we'll buffer up to that length.\n rowState = ROW_CHUNK_BY_LENGTH;\n } else {\n rowLength = rowLength << 4 | (_byte > 96 ? _byte - 87 : _byte - 48);\n }\n\n continue;\n }\n\n case ROW_CHUNK_BY_NEWLINE:\n {\n // We're looking for a newline\n lastIdx = chunk.indexOf(10\n /* \"\\n\" */\n , i);\n break;\n }\n\n case ROW_CHUNK_BY_LENGTH:\n {\n // We're looking for the remaining byte length\n lastIdx = i + rowLength;\n\n if (lastIdx > chunk.length) {\n lastIdx = -1;\n }\n\n break;\n }\n }\n\n var offset = chunk.byteOffset + i;\n\n if (lastIdx > -1) {\n // We found the last chunk of the row\n var length = lastIdx - i;\n var lastChunk = new Uint8Array(chunk.buffer, offset, length);\n processFullRow(response, rowID, rowTag, buffer, lastChunk); // Reset state machine for a new row\n\n i = lastIdx;\n\n if (rowState === ROW_CHUNK_BY_NEWLINE) {\n // If we're trailing by a newline we need to skip it.\n i++;\n }\n\n rowState = ROW_ID;\n rowTag = 0;\n rowID = 0;\n rowLength = 0;\n buffer.length = 0;\n } else {\n // The rest of this row is in a future chunk. We stash the rest of the\n // current chunk until we can process the full row.\n var _length = chunk.byteLength - i;\n\n var remainingSlice = new Uint8Array(chunk.buffer, offset, _length);\n buffer.push(remainingSlice); // Update how many bytes we're still waiting for. If we're looking for\n // a newline, this doesn't hurt since we'll just ignore it.\n\n rowLength -= remainingSlice.byteLength;\n break;\n }\n }\n\n response._rowState = rowState;\n response._rowID = rowID;\n response._rowTag = rowTag;\n response._rowLength = rowLength;\n}\n\nfunction parseModel(response, json) {\n return JSON.parse(json, response._fromJSON);\n}\n\nfunction createFromJSONCallback(response) {\n // $FlowFixMe[missing-this-annot]\n return function (key, value) {\n if (typeof value === 'string') {\n // We can't use .bind here because we need the \"this\" value.\n return parseModelString(response, this, key, value);\n }\n\n if (typeof value === 'object' && value !== null) {\n return parseModelTuple(response, value);\n }\n\n return value;\n };\n}\n\nfunction close(response) {\n // In case there are any remaining unresolved chunks, they won't\n // be resolved now. So we need to issue an error to those.\n // Ideally we should be able to early bail out if we kept a\n // ref count of pending chunks.\n reportGlobalError(response, new Error('Connection closed.'));\n}\n\nfunction createResponseFromOptions(options) {\n return createResponse(null, null, options && options.callServer ? options.callServer : undefined, undefined, // encodeFormAction\n undefined // nonce\n );\n}\n\nfunction startReadingFromStream(response, stream) {\n var reader = stream.getReader();\n\n function progress(_ref) {\n var done = _ref.done,\n value = _ref.value;\n\n if (done) {\n close(response);\n return;\n }\n\n var buffer = value;\n processBinaryChunk(response, buffer);\n return reader.read().then(progress).catch(error);\n }\n\n function error(e) {\n reportGlobalError(response, e);\n }\n\n reader.read().then(progress).catch(error);\n}\n\nfunction createFromReadableStream(stream, options) {\n var response = createResponseFromOptions(options);\n startReadingFromStream(response, stream);\n return getRoot(response);\n}\n\nfunction createFromFetch(promiseForResponse, options) {\n var response = createResponseFromOptions(options);\n promiseForResponse.then(function (r) {\n startReadingFromStream(response, r.body);\n }, function (e) {\n reportGlobalError(response, e);\n });\n return getRoot(response);\n}\n\nfunction encodeReply(value)\n/* We don't use URLSearchParams yet but maybe */\n{\n return new Promise(function (resolve, reject) {\n processReply(value, '', resolve, reject);\n });\n}\n\nexports.createFromFetch = createFromFetch;\nexports.createFromReadableStream = createFromReadableStream;\nexports.createServerReference = createServerReference;\nexports.encodeReply = encodeReply;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2Nqcy9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stY2xpZW50LmJyb3dzZXIuZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7QUFDQTs7QUFFQSxlQUFlLG1CQUFPLENBQUMsMkZBQVc7QUFDbEMsWUFBWSxtQkFBTyxDQUFDLG1GQUFPOztBQUUzQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw2QkFBNkI7O0FBRTdCO0FBQ0E7QUFDQSxxQkFBcUIscUVBQXFFLG9CQUFvQix5Q0FBeUM7QUFDdko7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFtQjs7QUFFbkM7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNK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QUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1FQUFtRTs7QUFFbkUsK0JBQStCOztBQUUvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7O0FBRUEsb0RBQW9EOztBQUVwRDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFFBQVE7OztBQUdSOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVOzs7QUFHVixtQ0FBbUM7OztBQUduQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCOztBQUUxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGLG9EQUFvRDs7QUFFcEQ7QUFDQSxvQkFBb0I7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0Isc0JBQXNCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5Qzs7QUFFekM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxtREFBbUQ7QUFDbkQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxLQUFLLEdBQUc7O0FBRVI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTs7QUFFWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZOzs7QUFHWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQ0FBaUM7QUFDakM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMLElBQUk7QUFDSjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsK0JBQStCO0FBQy9COztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsa0JBQWtCLG1CQUFtQjtBQUNyQztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVOztBQUVWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrRUFBa0U7O0FBRWxFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUNBQW1DO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSx1QkFBdUI7QUFDdkIsZ0NBQWdDO0FBQ2hDLDZCQUE2QjtBQUM3QixtQkFBbUI7QUFDbkIsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2Nqcy9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stY2xpZW50LmJyb3dzZXIuZGV2ZWxvcG1lbnQuanM/Yzc3NSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stY2xpZW50LmJyb3dzZXIuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdERPTSA9IHJlcXVpcmUoJ3JlYWN0LWRvbScpO1xudmFyIFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBlbmFibGVCaW5hcnlGbGlnaHQgPSBmYWxzZTtcblxuZnVuY3Rpb24gY3JlYXRlU3RyaW5nRGVjb2RlcigpIHtcbiAgcmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpO1xufVxudmFyIGRlY29kZXJPcHRpb25zID0ge1xuICBzdHJlYW06IHRydWVcbn07XG5mdW5jdGlvbiByZWFkUGFydGlhbFN0cmluZ0NodW5rKGRlY29kZXIsIGJ1ZmZlcikge1xuICByZXR1cm4gZGVjb2Rlci5kZWNvZGUoYnVmZmVyLCBkZWNvZGVyT3B0aW9ucyk7XG59XG5mdW5jdGlvbiByZWFkRmluYWxTdHJpbmdDaHVuayhkZWNvZGVyLCBidWZmZXIpIHtcbiAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKGJ1ZmZlcik7XG59XG5cbnZhciBiYWRnZUZvcm1hdCA9ICclYyVzJWMgJzsgLy8gU2FtZSBiYWRnZSBzdHlsaW5nIGFzIERldlRvb2xzLlxuXG52YXIgYmFkZ2VTdHlsZSA9IC8vIFdlIHVzZSBhIGZpeGVkIGJhY2tncm91bmQgaWYgbGlnaHQtZGFyayBpcyBub3Qgc3VwcG9ydGVkLCBvdGhlcndpc2Vcbi8vIHdlIHVzZSBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuXG4nYmFja2dyb3VuZDogI2U2ZTZlNjsnICsgJ2JhY2tncm91bmQ6IGxpZ2h0LWRhcmsocmdiYSgwLDAsMCwwLjEpLCByZ2JhKDI1NSwyNTUsMjU1LDAuMjUpKTsnICsgJ2NvbG9yOiAjMDAwMDAwOycgKyAnY29sb3I6IGxpZ2h0LWRhcmsoIzAwMDAwMCwgI2ZmZmZmZik7JyArICdib3JkZXItcmFkaXVzOiAycHgnO1xudmFyIHJlc2V0U3R5bGUgPSAnJztcbnZhciBwYWQgPSAnICc7XG5mdW5jdGlvbiBwcmludFRvQ29uc29sZShtZXRob2ROYW1lLCBhcmdzLCBiYWRnZU5hbWUpIHtcbiAgdmFyIG9mZnNldCA9IDA7XG5cbiAgc3dpdGNoIChtZXRob2ROYW1lKSB7XG4gICAgY2FzZSAnZGlyJzpcbiAgICBjYXNlICdkaXJ4bWwnOlxuICAgIGNhc2UgJ2dyb3VwRW5kJzpcbiAgICBjYXNlICd0YWJsZSc6XG4gICAgICB7XG4gICAgICAgIC8vIFRoZXNlIG1ldGhvZHMgY2Fubm90IGJlIGNvbG9yaXplZCBiZWNhdXNlIHRoZXkgZG9uJ3QgdGFrZSBhIGZvcm1hdHRpbmcgc3RyaW5nLlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG4gICAgICAgIGNvbnNvbGVbbWV0aG9kTmFtZV0uYXBwbHkoY29uc29sZSwgYXJncyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2Fzc2VydCc6XG4gICAgICB7XG4gICAgICAgIC8vIGFzc2VydCB0YWtlcyBmb3JtYXR0aW5nIG9wdGlvbnMgYXMgdGhlIHNlY29uZCBhcmd1bWVudC5cbiAgICAgICAgb2Zmc2V0ID0gMTtcbiAgICAgIH1cbiAgfVxuXG4gIHZhciBuZXdBcmdzID0gYXJncy5zbGljZSgwKTtcblxuICBpZiAodHlwZW9mIG5ld0FyZ3Nbb2Zmc2V0XSA9PT0gJ3N0cmluZycpIHtcbiAgICBuZXdBcmdzLnNwbGljZShvZmZzZXQsIDEsIGJhZGdlRm9ybWF0ICsgbmV3QXJnc1tvZmZzZXRdLCBiYWRnZVN0eWxlLCBwYWQgKyBiYWRnZU5hbWUgKyBwYWQsIHJlc2V0U3R5bGUpO1xuICB9IGVsc2Uge1xuICAgIG5ld0FyZ3Muc3BsaWNlKG9mZnNldCwgMCwgYmFkZ2VGb3JtYXQsIGJhZGdlU3R5bGUsIHBhZCArIGJhZGdlTmFtZSArIHBhZCwgcmVzZXRTdHlsZSk7XG4gIH0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG5cbiAgY29uc29sZVttZXRob2ROYW1lXS5hcHBseShjb25zb2xlLCBuZXdBcmdzKTtcbiAgcmV0dXJuO1xufVxuXG4vLyBUaGlzIGlzIHRoZSBwYXJzZWQgc2hhcGUgb2YgdGhlIHdpcmUgZm9ybWF0IHdoaWNoIGlzIHdoeSBpdCBpc1xuLy8gY29uZGVuc2VkIHRvIG9ubHkgdGhlIGVzc2VudGlhbHkgaW5mb3JtYXRpb25cbnZhciBJRCA9IDA7XG52YXIgQ0hVTktTID0gMTtcbnZhciBOQU1FID0gMjsgLy8gZXhwb3J0IGNvbnN0IEFTWU5DID0gMztcbi8vIFRoaXMgbG9naWMgaXMgY29ycmVjdCBiZWNhdXNlIGN1cnJlbnRseSBvbmx5IGluY2x1ZGUgdGhlIDR0aCB0dXBsZSBtZW1iZXJcbi8vIHdoZW4gdGhlIG1vZHVsZSBpcyBhc3luYy4gSWYgdGhhdCBjaGFuZ2VzIHdlIHdpbGwgbmVlZCB0byBhY3R1YWxseSBhc3NlcnRcbi8vIHRoZSB2YWx1ZSBpcyB0cnVlLiBXZSBkb24ndCBpbmRleCBpbnRvIHRoZSA0dGggc2xvdCBiZWNhdXNlIGZsb3cgZG9lcyBub3Rcbi8vIGxpa2UgdGhlIHBvdGVudGlhbCBvdXQgb2YgYm91bmRzIGFjY2Vzc1xuXG5mdW5jdGlvbiBpc0FzeW5jSW1wb3J0KG1ldGFkYXRhKSB7XG4gIHJldHVybiBtZXRhZGF0YS5sZW5ndGggPT09IDQ7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVDbGllbnRSZWZlcmVuY2UoYnVuZGxlckNvbmZpZywgbWV0YWRhdGEpIHtcbiAgaWYgKGJ1bmRsZXJDb25maWcpIHtcbiAgICB2YXIgbW9kdWxlRXhwb3J0cyA9IGJ1bmRsZXJDb25maWdbbWV0YWRhdGFbSURdXTtcbiAgICB2YXIgcmVzb2x2ZWRNb2R1bGVEYXRhID0gbW9kdWxlRXhwb3J0c1ttZXRhZGF0YVtOQU1FXV07XG4gICAgdmFyIG5hbWU7XG5cbiAgICBpZiAocmVzb2x2ZWRNb2R1bGVEYXRhKSB7XG4gICAgICAvLyBUaGUgcG90ZW50aWFsbHkgYWxpYXNlZCBuYW1lLlxuICAgICAgbmFtZSA9IHJlc29sdmVkTW9kdWxlRGF0YS5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIHRoaXMgc3BlY2lmaWMgbmFtZSwgd2UgbWlnaHQgaGF2ZSB0aGUgZnVsbCBtb2R1bGUuXG4gICAgICByZXNvbHZlZE1vZHVsZURhdGEgPSBtb2R1bGVFeHBvcnRzWycqJ107XG5cbiAgICAgIGlmICghcmVzb2x2ZWRNb2R1bGVEYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSBcIicgKyBtZXRhZGF0YVtJRF0gKyAnXCIgaW4gdGhlIFJlYWN0IFNTUiBNYW5pZmVzdC4gJyArICdUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBidW5kbGVyLicpO1xuICAgICAgfVxuXG4gICAgICBuYW1lID0gbWV0YWRhdGFbTkFNRV07XG4gICAgfVxuXG4gICAgaWYgKGlzQXN5bmNJbXBvcnQobWV0YWRhdGEpKSB7XG4gICAgICByZXR1cm4gW3Jlc29sdmVkTW9kdWxlRGF0YS5pZCwgcmVzb2x2ZWRNb2R1bGVEYXRhLmNodW5rcywgbmFtZSwgMVxuICAgICAgLyogYXN5bmMgKi9cbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbcmVzb2x2ZWRNb2R1bGVEYXRhLmlkLCByZXNvbHZlZE1vZHVsZURhdGEuY2h1bmtzLCBuYW1lXTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YWRhdGE7XG59XG4vLyBJZiB0aGV5J3JlIHN0aWxsIHBlbmRpbmcgdGhleSdyZSBhIHRoZW5hYmxlLiBUaGlzIG1hcCBhbHNvIGV4aXN0c1xuLy8gaW4gV2VicGFjayBidXQgdW5mb3J0dW5hdGVseSBpdCdzIG5vdCBleHBvc2VkIHNvIHdlIGhhdmUgdG9cbi8vIHJlcGxpY2F0ZSBpdCBpbiB1c2VyIHNwYWNlLiBudWxsIG1lYW5zIHRoYXQgaXQgaGFzIGFscmVhZHkgbG9hZGVkLlxuXG52YXIgY2h1bmtDYWNoZSA9IG5ldyBNYXAoKTtcblxuZnVuY3Rpb24gcmVxdWlyZUFzeW5jTW9kdWxlKGlkKSB7XG4gIC8vIFdlJ3ZlIGFscmVhZHkgbG9hZGVkIGFsbCB0aGUgY2h1bmtzLiBXZSBjYW4gcmVxdWlyZSB0aGUgbW9kdWxlLlxuICB2YXIgcHJvbWlzZSA9IF9fd2VicGFja19yZXF1aXJlX18oaWQpO1xuXG4gIGlmICh0eXBlb2YgcHJvbWlzZS50aGVuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gVGhpcyB3YXNuJ3QgYSBwcm9taXNlIGFmdGVyIGFsbC5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSBlbHNlIGlmIChwcm9taXNlLnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcpIHtcbiAgICAvLyBUaGlzIG1vZHVsZSB3YXMgYWxyZWFkeSByZXNvbHZlZCBlYXJsaWVyLlxuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2Uge1xuICAgIC8vIEluc3RydW1lbnQgdGhlIFByb21pc2UgdG8gc3Rhc2ggdGhlIHJlc3VsdC5cbiAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICB2YXIgZnVsZmlsbGVkVGhlbmFibGUgPSBwcm9taXNlO1xuICAgICAgZnVsZmlsbGVkVGhlbmFibGUuc3RhdHVzID0gJ2Z1bGZpbGxlZCc7XG4gICAgICBmdWxmaWxsZWRUaGVuYWJsZS52YWx1ZSA9IHZhbHVlO1xuICAgIH0sIGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgICAgIHZhciByZWplY3RlZFRoZW5hYmxlID0gcHJvbWlzZTtcbiAgICAgIHJlamVjdGVkVGhlbmFibGUuc3RhdHVzID0gJ3JlamVjdGVkJztcbiAgICAgIHJlamVjdGVkVGhlbmFibGUucmVhc29uID0gcmVhc29uO1xuICAgIH0pO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlnbm9yZVJlamVjdCgpIHsvLyBXZSByZWx5IG9uIHJlamVjdGVkIHByb21pc2VzIHRvIGJlIGhhbmRsZWQgYnkgYW5vdGhlciBsaXN0ZW5lci5cbn0gLy8gU3RhcnQgcHJlbG9hZGluZyB0aGUgbW9kdWxlcyBzaW5jZSB3ZSBtaWdodCBuZWVkIHRoZW0gc29vbi5cbi8vIFRoaXMgZnVuY3Rpb24gZG9lc24ndCBzdXNwZW5kLlxuXG5cbmZ1bmN0aW9uIHByZWxvYWRNb2R1bGUobWV0YWRhdGEpIHtcbiAgdmFyIGNodW5rcyA9IG1ldGFkYXRhW0NIVU5LU107XG4gIHZhciBwcm9taXNlcyA9IFtdO1xuICB2YXIgaSA9IDA7XG5cbiAgd2hpbGUgKGkgPCBjaHVua3MubGVuZ3RoKSB7XG4gICAgdmFyIGNodW5rSWQgPSBjaHVua3NbaSsrXTtcbiAgICB2YXIgY2h1bmtGaWxlbmFtZSA9IGNodW5rc1tpKytdO1xuICAgIHZhciBlbnRyeSA9IGNodW5rQ2FjaGUuZ2V0KGNodW5rSWQpO1xuXG4gICAgaWYgKGVudHJ5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciB0aGVuYWJsZSA9IGxvYWRDaHVuayhjaHVua0lkLCBjaHVua0ZpbGVuYW1lKTtcbiAgICAgIHByb21pc2VzLnB1c2godGhlbmFibGUpOyAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG5cbiAgICAgIHZhciByZXNvbHZlID0gY2h1bmtDYWNoZS5zZXQuYmluZChjaHVua0NhY2hlLCBjaHVua0lkLCBudWxsKTtcbiAgICAgIHRoZW5hYmxlLnRoZW4ocmVzb2x2ZSwgaWdub3JlUmVqZWN0KTtcbiAgICAgIGNodW5rQ2FjaGUuc2V0KGNodW5rSWQsIHRoZW5hYmxlKTtcbiAgICB9IGVsc2UgaWYgKGVudHJ5ICE9PSBudWxsKSB7XG4gICAgICBwcm9taXNlcy5wdXNoKGVudHJ5KTtcbiAgICB9XG4gIH1cblxuICBpZiAoaXNBc3luY0ltcG9ydChtZXRhZGF0YSkpIHtcbiAgICBpZiAocHJvbWlzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gcmVxdWlyZUFzeW5jTW9kdWxlKG1ldGFkYXRhW0lEXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcykudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiByZXF1aXJlQXN5bmNNb2R1bGUobWV0YWRhdGFbSURdKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSBlbHNlIGlmIChwcm9taXNlcy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufSAvLyBBY3R1YWxseSByZXF1aXJlIHRoZSBtb2R1bGUgb3Igc3VzcGVuZCBpZiBpdCdzIG5vdCB5ZXQgcmVhZHkuXG4vLyBJbmNyZWFzZSBwcmlvcml0eSBpZiBuZWNlc3NhcnkuXG5cbmZ1bmN0aW9uIHJlcXVpcmVNb2R1bGUobWV0YWRhdGEpIHtcbiAgdmFyIG1vZHVsZUV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKG1ldGFkYXRhW0lEXSk7XG5cbiAgaWYgKGlzQXN5bmNJbXBvcnQobWV0YWRhdGEpKSB7XG4gICAgaWYgKHR5cGVvZiBtb2R1bGVFeHBvcnRzLnRoZW4gIT09ICdmdW5jdGlvbicpIDsgZWxzZSBpZiAobW9kdWxlRXhwb3J0cy5zdGF0dXMgPT09ICdmdWxmaWxsZWQnKSB7XG4gICAgICAvLyBUaGlzIFByb21pc2Ugc2hvdWxkJ3ZlIGJlZW4gaW5zdHJ1bWVudGVkIGJ5IHByZWxvYWRNb2R1bGUuXG4gICAgICBtb2R1bGVFeHBvcnRzID0gbW9kdWxlRXhwb3J0cy52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbW9kdWxlRXhwb3J0cy5yZWFzb247XG4gICAgfVxuICB9XG5cbiAgaWYgKG1ldGFkYXRhW05BTUVdID09PSAnKicpIHtcbiAgICAvLyBUaGlzIGlzIGEgcGxhY2Vob2xkZXIgdmFsdWUgdGhhdCByZXByZXNlbnRzIHRoYXQgdGhlIGNhbGxlciBpbXBvcnRlZCB0aGlzXG4gICAgLy8gYXMgYSBDb21tb25KUyBtb2R1bGUgYXMgaXMuXG4gICAgcmV0dXJuIG1vZHVsZUV4cG9ydHM7XG4gIH1cblxuICBpZiAobWV0YWRhdGFbTkFNRV0gPT09ICcnKSB7XG4gICAgLy8gVGhpcyBpcyBhIHBsYWNlaG9sZGVyIHZhbHVlIHRoYXQgcmVwcmVzZW50cyB0aGF0IHRoZSBjYWxsZXIgYWNjZXNzZWQgdGhlXG4gICAgLy8gZGVmYXVsdCBwcm9wZXJ0eSBvZiB0aGlzIGlmIGl0IHdhcyBhbiBFU00gaW50ZXJvcCBtb2R1bGUuXG4gICAgcmV0dXJuIG1vZHVsZUV4cG9ydHMuX19lc01vZHVsZSA/IG1vZHVsZUV4cG9ydHMuZGVmYXVsdCA6IG1vZHVsZUV4cG9ydHM7XG4gIH1cblxuICByZXR1cm4gbW9kdWxlRXhwb3J0c1ttZXRhZGF0YVtOQU1FXV07XG59XG5cbnZhciBjaHVua01hcCA9IG5ldyBNYXAoKTtcbi8qKlxuICogV2UgcGF0Y2ggdGhlIGNodW5rIGZpbGVuYW1lIGZ1bmN0aW9uIGluIHdlYnBhY2sgdG8gaW5zZXJ0IG91ciBvd24gcmVzb2x1dGlvblxuICogb2YgY2h1bmtzIHRoYXQgY29tZSBmcm9tIEZsaWdodCBhbmQgbWF5IG5vdCBiZSBrbm93biB0byB0aGUgd2VicGFjayBydW50aW1lXG4gKi9cblxudmFyIHdlYnBhY2tHZXRDaHVua0ZpbGVuYW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXy51O1xuXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnUgPSBmdW5jdGlvbiAoY2h1bmtJZCkge1xuICB2YXIgZmxpZ2h0Q2h1bmsgPSBjaHVua01hcC5nZXQoY2h1bmtJZCk7XG5cbiAgaWYgKGZsaWdodENodW5rICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmxpZ2h0Q2h1bms7XG4gIH1cblxuICByZXR1cm4gd2VicGFja0dldENodW5rRmlsZW5hbWUoY2h1bmtJZCk7XG59O1xuXG5mdW5jdGlvbiBsb2FkQ2h1bmsoY2h1bmtJZCwgZmlsZW5hbWUpIHtcbiAgY2h1bmtNYXAuc2V0KGNodW5rSWQsIGZpbGVuYW1lKTtcbiAgcmV0dXJuIF9fd2VicGFja19jaHVua19sb2FkX18oY2h1bmtJZCk7XG59XG5cbnZhciBSZWFjdERPTVNoYXJlZEludGVybmFscyA9IFJlYWN0RE9NLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG4vLyBUaGlzIGNsaWVudCBmaWxlIGlzIGluIHRoZSBzaGFyZWQgZm9sZGVyIGJlY2F1c2UgaXQgYXBwbGllcyB0byBib3RoIFNTUiBhbmQgYnJvd3NlciBjb250ZXh0cy5cbnZhciBSZWFjdERPTUN1cnJlbnREaXNwYXRjaGVyID0gUmVhY3RET01TaGFyZWRJbnRlcm5hbHMuRGlzcGF0Y2hlcjtcbmZ1bmN0aW9uIGRpc3BhdGNoSGludChjb2RlLCBtb2RlbCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IFJlYWN0RE9NQ3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcblxuICBpZiAoZGlzcGF0Y2hlcikge1xuICAgIHN3aXRjaCAoY29kZSkge1xuICAgICAgY2FzZSAnRCc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgcmVmaW5lZCA9IHJlZmluZU1vZGVsKGNvZGUsIG1vZGVsKTtcbiAgICAgICAgICB2YXIgaHJlZiA9IHJlZmluZWQ7XG4gICAgICAgICAgZGlzcGF0Y2hlci5wcmVmZXRjaEROUyhocmVmKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnQyc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgX3JlZmluZWQgPSByZWZpbmVNb2RlbChjb2RlLCBtb2RlbCk7XG5cbiAgICAgICAgICBpZiAodHlwZW9mIF9yZWZpbmVkID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdmFyIF9ocmVmID0gX3JlZmluZWQ7XG4gICAgICAgICAgICBkaXNwYXRjaGVyLnByZWNvbm5lY3QoX2hyZWYpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgX2hyZWYyID0gX3JlZmluZWRbMF07XG4gICAgICAgICAgICB2YXIgY3Jvc3NPcmlnaW4gPSBfcmVmaW5lZFsxXTtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIucHJlY29ubmVjdChfaHJlZjIsIGNyb3NzT3JpZ2luKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnTCc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgX3JlZmluZWQyID0gcmVmaW5lTW9kZWwoY29kZSwgbW9kZWwpO1xuXG4gICAgICAgICAgdmFyIF9ocmVmMyA9IF9yZWZpbmVkMlswXTtcbiAgICAgICAgICB2YXIgYXMgPSBfcmVmaW5lZDJbMV07XG5cbiAgICAgICAgICBpZiAoX3JlZmluZWQyLmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSBfcmVmaW5lZDJbMl07XG4gICAgICAgICAgICBkaXNwYXRjaGVyLnByZWxvYWQoX2hyZWYzLCBhcywgb3B0aW9ucyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIucHJlbG9hZChfaHJlZjMsIGFzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnbSc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgX3JlZmluZWQzID0gcmVmaW5lTW9kZWwoY29kZSwgbW9kZWwpO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBfcmVmaW5lZDMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YXIgX2hyZWY0ID0gX3JlZmluZWQzO1xuICAgICAgICAgICAgZGlzcGF0Y2hlci5wcmVsb2FkTW9kdWxlKF9ocmVmNCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBfaHJlZjUgPSBfcmVmaW5lZDNbMF07XG4gICAgICAgICAgICB2YXIgX29wdGlvbnMgPSBfcmVmaW5lZDNbMV07XG4gICAgICAgICAgICBkaXNwYXRjaGVyLnByZWxvYWRNb2R1bGUoX2hyZWY1LCBfb3B0aW9ucyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ1MnOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9yZWZpbmVkNCA9IHJlZmluZU1vZGVsKGNvZGUsIG1vZGVsKTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgX3JlZmluZWQ0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdmFyIF9ocmVmNiA9IF9yZWZpbmVkNDtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIucHJlaW5pdFN0eWxlKF9ocmVmNik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBfaHJlZjcgPSBfcmVmaW5lZDRbMF07XG4gICAgICAgICAgICB2YXIgcHJlY2VkZW5jZSA9IF9yZWZpbmVkNFsxXSA9PT0gMCA/IHVuZGVmaW5lZCA6IF9yZWZpbmVkNFsxXTtcblxuICAgICAgICAgICAgdmFyIF9vcHRpb25zMiA9IF9yZWZpbmVkNC5sZW5ndGggPT09IDMgPyBfcmVmaW5lZDRbMl0gOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGRpc3BhdGNoZXIucHJlaW5pdFN0eWxlKF9ocmVmNywgcHJlY2VkZW5jZSwgX29wdGlvbnMyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnWCc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgX3JlZmluZWQ1ID0gcmVmaW5lTW9kZWwoY29kZSwgbW9kZWwpO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBfcmVmaW5lZDUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YXIgX2hyZWY4ID0gX3JlZmluZWQ1O1xuICAgICAgICAgICAgZGlzcGF0Y2hlci5wcmVpbml0U2NyaXB0KF9ocmVmOCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBfaHJlZjkgPSBfcmVmaW5lZDVbMF07XG4gICAgICAgICAgICB2YXIgX29wdGlvbnMzID0gX3JlZmluZWQ1WzFdO1xuICAgICAgICAgICAgZGlzcGF0Y2hlci5wcmVpbml0U2NyaXB0KF9ocmVmOSwgX29wdGlvbnMzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnTSc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgX3JlZmluZWQ2ID0gcmVmaW5lTW9kZWwoY29kZSwgbW9kZWwpO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBfcmVmaW5lZDYgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YXIgX2hyZWYxMCA9IF9yZWZpbmVkNjtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIucHJlaW5pdE1vZHVsZVNjcmlwdChfaHJlZjEwKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIF9ocmVmMTEgPSBfcmVmaW5lZDZbMF07XG4gICAgICAgICAgICB2YXIgX29wdGlvbnM0ID0gX3JlZmluZWQ2WzFdO1xuICAgICAgICAgICAgZGlzcGF0Y2hlci5wcmVpbml0TW9kdWxlU2NyaXB0KF9ocmVmMTEsIF9vcHRpb25zNCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59IC8vIEZsb3cgaXMgaGF2aW5nIHRyb3VibGUgcmVmaW5pbmcgdGhlIEhpbnRNb2RlbHMgc28gd2UgaGVscCBpdCBhIGJpdC5cbi8vIFRoaXMgc2hvdWxkIGJlIGNvbXBpbGVkIG91dCBpbiB0aGUgcHJvZHVjdGlvbiBidWlsZC5cblxuZnVuY3Rpb24gcmVmaW5lTW9kZWwoY29kZSwgbW9kZWwpIHtcbiAgcmV0dXJuIG1vZGVsO1xufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTsgLy8gVE9ETzogRGVsZXRlIHdpdGggZW5hYmxlUmVuZGVyYWJsZUNvbnRleHRcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSBTeW1ib2wuaXRlcmF0b3I7XG52YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7XG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbWF5YmVJdGVyYXRvciA9IE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF07XG5cbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1heWJlSXRlcmF0b3I7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG52YXIgZ2V0UHJvdG90eXBlT2YgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG5cbi8vIGluIGNhc2UgdGhleSBlcnJvci5cblxudmFyIGpzeFByb3BzUGFyZW50cyA9IG5ldyBXZWFrTWFwKCk7XG52YXIganN4Q2hpbGRyZW5QYXJlbnRzID0gbmV3IFdlYWtNYXAoKTtcblxuZnVuY3Rpb24gaXNPYmplY3RQcm90b3R5cGUob2JqZWN0KSB7XG4gIGlmICghb2JqZWN0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIE9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG5cbiAgaWYgKG9iamVjdCA9PT0gT2JqZWN0UHJvdG90eXBlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gSXQgbWlnaHQgYmUgYW4gb2JqZWN0IGZyb20gYSBkaWZmZXJlbnQgUmVhbG0gd2hpY2ggaXNcbiAgLy8gc3RpbGwganVzdCBhIHBsYWluIHNpbXBsZSBvYmplY3QuXG5cblxuICBpZiAoZ2V0UHJvdG90eXBlT2Yob2JqZWN0KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBuYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iamVjdCk7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBuYW1lcy5sZW5ndGg7IGkrKykge1xuICAgIGlmICghKG5hbWVzW2ldIGluIE9iamVjdFByb3RvdHlwZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gaXNTaW1wbGVPYmplY3Qob2JqZWN0KSB7XG4gIGlmICghaXNPYmplY3RQcm90b3R5cGUoZ2V0UHJvdG90eXBlT2Yob2JqZWN0KSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgbmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3QpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBuYW1lc1tpXSk7XG5cbiAgICBpZiAoIWRlc2NyaXB0b3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIWRlc2NyaXB0b3IuZW51bWVyYWJsZSkge1xuICAgICAgaWYgKChuYW1lc1tpXSA9PT0gJ2tleScgfHwgbmFtZXNbaV0gPT09ICdyZWYnKSAmJiB0eXBlb2YgZGVzY3JpcHRvci5nZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gUmVhY3QgYWRkcyBrZXkgYW5kIHJlZiBnZXR0ZXJzIHRvIHByb3BzIG9iamVjdHMgdG8gaXNzdWUgd2FybmluZ3MuXG4gICAgICAgIC8vIFRob3NlIGdldHRlcnMgd2lsbCBub3QgYmUgdHJhbnNmZXJyZWQgdG8gdGhlIGNsaWVudCwgYnV0IHRoYXQncyBvayxcbiAgICAgICAgLy8gc28gd2UnbGwgc3BlY2lhbCBjYXNlIHRoZW0uXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBvYmplY3ROYW1lKG9iamVjdCkge1xuICAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG4gIHZhciBuYW1lID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iamVjdCk7XG4gIHJldHVybiBuYW1lLnJlcGxhY2UoL15cXFtvYmplY3QgKC4qKVxcXSQvLCBmdW5jdGlvbiAobSwgcDApIHtcbiAgICByZXR1cm4gcDA7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZUtleUZvckVycm9yTWVzc2FnZShrZXkpIHtcbiAgdmFyIGVuY29kZWRLZXkgPSBKU09OLnN0cmluZ2lmeShrZXkpO1xuICByZXR1cm4gJ1wiJyArIGtleSArICdcIicgPT09IGVuY29kZWRLZXkgPyBrZXkgOiBlbmNvZGVkS2V5O1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlKHZhbHVlKSB7XG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLmxlbmd0aCA8PSAxMCA/IHZhbHVlIDogdmFsdWUuc2xpY2UoMCwgMTApICsgJy4uLicpO1xuICAgICAgfVxuXG4gICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgIHtcbiAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuICdbLi4uXSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUuJCR0eXBlb2YgPT09IENMSUVOVF9SRUZFUkVOQ0VfVEFHKSB7XG4gICAgICAgICAgcmV0dXJuIGRlc2NyaWJlQ2xpZW50UmVmZXJlbmNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbmFtZSA9IG9iamVjdE5hbWUodmFsdWUpO1xuXG4gICAgICAgIGlmIChuYW1lID09PSAnT2JqZWN0Jykge1xuICAgICAgICAgIHJldHVybiAney4uLn0nO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICB7XG4gICAgICAgIGlmICh2YWx1ZS4kJHR5cGVvZiA9PT0gQ0xJRU5UX1JFRkVSRU5DRV9UQUcpIHtcbiAgICAgICAgICByZXR1cm4gZGVzY3JpYmVDbGllbnRSZWZlcmVuY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfbmFtZSA9IHZhbHVlLmRpc3BsYXlOYW1lIHx8IHZhbHVlLm5hbWU7XG5cbiAgICAgICAgcmV0dXJuIF9uYW1lID8gJ2Z1bmN0aW9uICcgKyBfbmFtZSA6ICdmdW5jdGlvbic7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZXNjcmliZUVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRWxlbWVudFR5cGUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRWxlbWVudFR5cGUodHlwZS50eXBlKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlRWxlbWVudFR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxudmFyIENMSUVOVF9SRUZFUkVOQ0VfVEFHID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xuXG5mdW5jdGlvbiBkZXNjcmliZUNsaWVudFJlZmVyZW5jZShyZWYpIHtcbiAgcmV0dXJuICdjbGllbnQnO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShvYmplY3RPckFycmF5LCBleHBhbmRlZE5hbWUpIHtcbiAgdmFyIG9iaktpbmQgPSBvYmplY3ROYW1lKG9iamVjdE9yQXJyYXkpO1xuXG4gIGlmIChvYmpLaW5kICE9PSAnT2JqZWN0JyAmJiBvYmpLaW5kICE9PSAnQXJyYXknKSB7XG4gICAgcmV0dXJuIG9iaktpbmQ7XG4gIH1cblxuICB2YXIgc3RyID0gJyc7XG4gIHZhciBzdGFydCA9IC0xO1xuICB2YXIgbGVuZ3RoID0gMDtcblxuICBpZiAoaXNBcnJheShvYmplY3RPckFycmF5KSkge1xuICAgIGlmIChqc3hDaGlsZHJlblBhcmVudHMuaGFzKG9iamVjdE9yQXJyYXkpKSB7XG4gICAgICAvLyBQcmludCBKU1ggQ2hpbGRyZW5cbiAgICAgIHZhciB0eXBlID0ganN4Q2hpbGRyZW5QYXJlbnRzLmdldChvYmplY3RPckFycmF5KTtcbiAgICAgIHN0ciA9ICc8JyArIGRlc2NyaWJlRWxlbWVudFR5cGUodHlwZSkgKyAnPic7XG4gICAgICB2YXIgYXJyYXkgPSBvYmplY3RPckFycmF5O1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2ldO1xuICAgICAgICB2YXIgc3Vic3RyID0gdm9pZCAwO1xuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgc3Vic3RyID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHN1YnN0ciA9ICd7JyArIGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKHZhbHVlKSArICd9JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdWJzdHIgPSAneycgKyBkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlKHZhbHVlKSArICd9JztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnJyArIGkgPT09IGV4cGFuZGVkTmFtZSkge1xuICAgICAgICAgIHN0YXJ0ID0gc3RyLmxlbmd0aDtcbiAgICAgICAgICBsZW5ndGggPSBzdWJzdHIubGVuZ3RoO1xuICAgICAgICAgIHN0ciArPSBzdWJzdHI7XG4gICAgICAgIH0gZWxzZSBpZiAoc3Vic3RyLmxlbmd0aCA8IDE1ICYmIHN0ci5sZW5ndGggKyBzdWJzdHIubGVuZ3RoIDwgNDApIHtcbiAgICAgICAgICBzdHIgKz0gc3Vic3RyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0ciArPSAney4uLn0nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHN0ciArPSAnPC8nICsgZGVzY3JpYmVFbGVtZW50VHlwZSh0eXBlKSArICc+JztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUHJpbnQgQXJyYXlcbiAgICAgIHN0ciA9ICdbJztcbiAgICAgIHZhciBfYXJyYXkgPSBvYmplY3RPckFycmF5O1xuXG4gICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgX2FycmF5Lmxlbmd0aDsgX2krKykge1xuICAgICAgICBpZiAoX2kgPiAwKSB7XG4gICAgICAgICAgc3RyICs9ICcsICc7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgX3ZhbHVlID0gX2FycmF5W19pXTtcblxuICAgICAgICB2YXIgX3N1YnN0ciA9IHZvaWQgMDtcblxuICAgICAgICBpZiAodHlwZW9mIF92YWx1ZSA9PT0gJ29iamVjdCcgJiYgX3ZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgX3N1YnN0ciA9IGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKF92YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgX3N1YnN0ciA9IGRlc2NyaWJlVmFsdWVGb3JFcnJvck1lc3NhZ2UoX3ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnJyArIF9pID09PSBleHBhbmRlZE5hbWUpIHtcbiAgICAgICAgICBzdGFydCA9IHN0ci5sZW5ndGg7XG4gICAgICAgICAgbGVuZ3RoID0gX3N1YnN0ci5sZW5ndGg7XG4gICAgICAgICAgc3RyICs9IF9zdWJzdHI7XG4gICAgICAgIH0gZWxzZSBpZiAoX3N1YnN0ci5sZW5ndGggPCAxMCAmJiBzdHIubGVuZ3RoICsgX3N1YnN0ci5sZW5ndGggPCA0MCkge1xuICAgICAgICAgIHN0ciArPSBfc3Vic3RyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0ciArPSAnLi4uJztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdHIgKz0gJ10nO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAob2JqZWN0T3JBcnJheS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XG4gICAgICBzdHIgPSAnPCcgKyBkZXNjcmliZUVsZW1lbnRUeXBlKG9iamVjdE9yQXJyYXkudHlwZSkgKyAnLz4nO1xuICAgIH0gZWxzZSBpZiAob2JqZWN0T3JBcnJheS4kJHR5cGVvZiA9PT0gQ0xJRU5UX1JFRkVSRU5DRV9UQUcpIHtcbiAgICAgIHJldHVybiBkZXNjcmliZUNsaWVudFJlZmVyZW5jZSgpO1xuICAgIH0gZWxzZSBpZiAoanN4UHJvcHNQYXJlbnRzLmhhcyhvYmplY3RPckFycmF5KSkge1xuICAgICAgLy8gUHJpbnQgSlNYXG4gICAgICB2YXIgX3R5cGUgPSBqc3hQcm9wc1BhcmVudHMuZ2V0KG9iamVjdE9yQXJyYXkpO1xuXG4gICAgICBzdHIgPSAnPCcgKyAoZGVzY3JpYmVFbGVtZW50VHlwZShfdHlwZSkgfHwgJy4uLicpO1xuICAgICAgdmFyIG9iamVjdCA9IG9iamVjdE9yQXJyYXk7XG4gICAgICB2YXIgbmFtZXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gICAgICBmb3IgKHZhciBfaTIgPSAwOyBfaTIgPCBuYW1lcy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICAgIHN0ciArPSAnICc7XG4gICAgICAgIHZhciBuYW1lID0gbmFtZXNbX2kyXTtcbiAgICAgICAgc3RyICs9IGRlc2NyaWJlS2V5Rm9yRXJyb3JNZXNzYWdlKG5hbWUpICsgJz0nO1xuICAgICAgICB2YXIgX3ZhbHVlMiA9IG9iamVjdFtuYW1lXTtcblxuICAgICAgICB2YXIgX3N1YnN0cjIgPSB2b2lkIDA7XG5cbiAgICAgICAgaWYgKG5hbWUgPT09IGV4cGFuZGVkTmFtZSAmJiB0eXBlb2YgX3ZhbHVlMiA9PT0gJ29iamVjdCcgJiYgX3ZhbHVlMiAhPT0gbnVsbCkge1xuICAgICAgICAgIF9zdWJzdHIyID0gZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UoX3ZhbHVlMik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgX3N1YnN0cjIgPSBkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlKF92YWx1ZTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBfdmFsdWUyICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgIF9zdWJzdHIyID0gJ3snICsgX3N1YnN0cjIgKyAnfSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmFtZSA9PT0gZXhwYW5kZWROYW1lKSB7XG4gICAgICAgICAgc3RhcnQgPSBzdHIubGVuZ3RoO1xuICAgICAgICAgIGxlbmd0aCA9IF9zdWJzdHIyLmxlbmd0aDtcbiAgICAgICAgICBzdHIgKz0gX3N1YnN0cjI7XG4gICAgICAgIH0gZWxzZSBpZiAoX3N1YnN0cjIubGVuZ3RoIDwgMTAgJiYgc3RyLmxlbmd0aCArIF9zdWJzdHIyLmxlbmd0aCA8IDQwKSB7XG4gICAgICAgICAgc3RyICs9IF9zdWJzdHIyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0ciArPSAnLi4uJztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdHIgKz0gJz4nO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBQcmludCBPYmplY3RcbiAgICAgIHN0ciA9ICd7JztcbiAgICAgIHZhciBfb2JqZWN0ID0gb2JqZWN0T3JBcnJheTtcblxuICAgICAgdmFyIF9uYW1lcyA9IE9iamVjdC5rZXlzKF9vYmplY3QpO1xuXG4gICAgICBmb3IgKHZhciBfaTMgPSAwOyBfaTMgPCBfbmFtZXMubGVuZ3RoOyBfaTMrKykge1xuICAgICAgICBpZiAoX2kzID4gMCkge1xuICAgICAgICAgIHN0ciArPSAnLCAnO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIF9uYW1lMiA9IF9uYW1lc1tfaTNdO1xuICAgICAgICBzdHIgKz0gZGVzY3JpYmVLZXlGb3JFcnJvck1lc3NhZ2UoX25hbWUyKSArICc6ICc7XG4gICAgICAgIHZhciBfdmFsdWUzID0gX29iamVjdFtfbmFtZTJdO1xuXG4gICAgICAgIHZhciBfc3Vic3RyMyA9IHZvaWQgMDtcblxuICAgICAgICBpZiAodHlwZW9mIF92YWx1ZTMgPT09ICdvYmplY3QnICYmIF92YWx1ZTMgIT09IG51bGwpIHtcbiAgICAgICAgICBfc3Vic3RyMyA9IGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKF92YWx1ZTMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF9zdWJzdHIzID0gZGVzY3JpYmVWYWx1ZUZvckVycm9yTWVzc2FnZShfdmFsdWUzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfbmFtZTIgPT09IGV4cGFuZGVkTmFtZSkge1xuICAgICAgICAgIHN0YXJ0ID0gc3RyLmxlbmd0aDtcbiAgICAgICAgICBsZW5ndGggPSBfc3Vic3RyMy5sZW5ndGg7XG4gICAgICAgICAgc3RyICs9IF9zdWJzdHIzO1xuICAgICAgICB9IGVsc2UgaWYgKF9zdWJzdHIzLmxlbmd0aCA8IDEwICYmIHN0ci5sZW5ndGggKyBfc3Vic3RyMy5sZW5ndGggPCA0MCkge1xuICAgICAgICAgIHN0ciArPSBfc3Vic3RyMztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHIgKz0gJy4uLic7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3RyICs9ICd9JztcbiAgICB9XG4gIH1cblxuICBpZiAoZXhwYW5kZWROYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gc3RyO1xuICB9XG5cbiAgaWYgKHN0YXJ0ID4gLTEgJiYgbGVuZ3RoID4gMCkge1xuICAgIHZhciBoaWdobGlnaHQgPSAnICcucmVwZWF0KHN0YXJ0KSArICdeJy5yZXBlYXQobGVuZ3RoKTtcbiAgICByZXR1cm4gJ1xcbiAgJyArIHN0ciArICdcXG4gICcgKyBoaWdobGlnaHQ7XG4gIH1cblxuICByZXR1cm4gJ1xcbiAgJyArIHN0cjtcbn1cblxudmFyIE9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG52YXIga25vd25TZXJ2ZXJSZWZlcmVuY2VzID0gbmV3IFdlYWtNYXAoKTsgLy8gU2VyaWFsaXphYmxlIHZhbHVlc1xuLy8gVGhlbmFibGU8UmVhY3RTZXJ2ZXJWYWx1ZT5cbi8vIGZ1bmN0aW9uIHNlcmlhbGl6ZUJ5VmFsdWVJRChpZDogbnVtYmVyKTogc3RyaW5nIHtcbi8vICAgcmV0dXJuICckJyArIGlkLnRvU3RyaW5nKDE2KTtcbi8vIH1cblxuZnVuY3Rpb24gc2VyaWFsaXplUHJvbWlzZUlEKGlkKSB7XG4gIHJldHVybiAnJEAnICsgaWQudG9TdHJpbmcoMTYpO1xufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVTZXJ2ZXJSZWZlcmVuY2VJRChpZCkge1xuICByZXR1cm4gJyRGJyArIGlkLnRvU3RyaW5nKDE2KTtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplU3ltYm9sUmVmZXJlbmNlKG5hbWUpIHtcbiAgcmV0dXJuICckUycgKyBuYW1lO1xufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVGb3JtRGF0YVJlZmVyZW5jZShpZCkge1xuICAvLyBXaHkgSz8gRiBpcyBcIkZ1bmN0aW9uXCIuIEQgaXMgXCJEYXRlXCIuIFdoYXQgZWxzZT9cbiAgcmV0dXJuICckSycgKyBpZC50b1N0cmluZygxNik7XG59XG5cbmZ1bmN0aW9uIHNlcmlhbGl6ZU51bWJlcihudW1iZXIpIHtcbiAgaWYgKE51bWJlci5pc0Zpbml0ZShudW1iZXIpKSB7XG4gICAgaWYgKG51bWJlciA9PT0gMCAmJiAxIC8gbnVtYmVyID09PSAtSW5maW5pdHkpIHtcbiAgICAgIHJldHVybiAnJC0wJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bWJlcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKG51bWJlciA9PT0gSW5maW5pdHkpIHtcbiAgICAgIHJldHVybiAnJEluZmluaXR5JztcbiAgICB9IGVsc2UgaWYgKG51bWJlciA9PT0gLUluZmluaXR5KSB7XG4gICAgICByZXR1cm4gJyQtSW5maW5pdHknO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyROYU4nO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVVbmRlZmluZWQoKSB7XG4gIHJldHVybiAnJHVuZGVmaW5lZCc7XG59XG5cbmZ1bmN0aW9uIHNlcmlhbGl6ZURhdGVGcm9tRGF0ZUpTT04oZGF0ZUpTT04pIHtcbiAgLy8gSlNPTi5zdHJpbmdpZnkgYXV0b21hdGljYWxseSBjYWxscyBEYXRlLnByb3RvdHlwZS50b0pTT04gd2hpY2ggY2FsbHMgdG9JU09TdHJpbmcuXG4gIC8vIFdlIG5lZWQgb25seSB0YWNrIG9uIGEgJEQgcHJlZml4LlxuICByZXR1cm4gJyREJyArIGRhdGVKU09OO1xufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVCaWdJbnQobikge1xuICByZXR1cm4gJyRuJyArIG4udG9TdHJpbmcoMTApO1xufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVNYXBJRChpZCkge1xuICByZXR1cm4gJyRRJyArIGlkLnRvU3RyaW5nKDE2KTtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplU2V0SUQoaWQpIHtcbiAgcmV0dXJuICckVycgKyBpZC50b1N0cmluZygxNik7XG59XG5cbmZ1bmN0aW9uIGVzY2FwZVN0cmluZ1ZhbHVlKHZhbHVlKSB7XG4gIGlmICh2YWx1ZVswXSA9PT0gJyQnKSB7XG4gICAgLy8gV2UgbmVlZCB0byBlc2NhcGUgJCBwcmVmaXhlZCBzdHJpbmdzIHNpbmNlIHdlIHVzZSB0aG9zZSB0byBlbmNvZGVcbiAgICAvLyByZWZlcmVuY2VzIHRvIElEcyBhbmQgYXMgc3BlY2lhbCBzeW1ib2wgdmFsdWVzLlxuICAgIHJldHVybiAnJCcgKyB2YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1JlcGx5KHJvb3QsIGZvcm1GaWVsZFByZWZpeCwgcmVzb2x2ZSwgcmVqZWN0KSB7XG4gIHZhciBuZXh0UGFydElkID0gMTtcbiAgdmFyIHBlbmRpbmdQYXJ0cyA9IDA7XG4gIHZhciBmb3JtRGF0YSA9IG51bGw7XG5cbiAgZnVuY3Rpb24gcmVzb2x2ZVRvSlNPTihrZXksIHZhbHVlKSB7XG4gICAgdmFyIHBhcmVudCA9IHRoaXM7IC8vIE1ha2Ugc3VyZSB0aGF0IGBwYXJlbnRba2V5XWAgd2Fzbid0IEpTT05pZmllZCBiZWZvcmUgYHZhbHVlYCB3YXMgcGFzc2VkIHRvIHVzXG5cbiAgICB7XG4gICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdXG4gICAgICB2YXIgb3JpZ2luYWxWYWx1ZSA9IHBhcmVudFtrZXldO1xuXG4gICAgICBpZiAodHlwZW9mIG9yaWdpbmFsVmFsdWUgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsVmFsdWUgIT09IHZhbHVlICYmICEob3JpZ2luYWxWYWx1ZSBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgICAgIGlmIChvYmplY3ROYW1lKG9yaWdpbmFsVmFsdWUpICE9PSAnT2JqZWN0Jykge1xuICAgICAgICAgIGVycm9yKCdPbmx5IHBsYWluIG9iamVjdHMgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudC4gJyArICclcyBvYmplY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiVzJywgb2JqZWN0TmFtZShvcmlnaW5hbFZhbHVlKSwgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UocGFyZW50LCBrZXkpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlcnJvcignT25seSBwbGFpbiBvYmplY3RzIGNhbiBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuICcgKyAnT2JqZWN0cyB3aXRoIHRvSlNPTiBtZXRob2RzIGFyZSBub3Qgc3VwcG9ydGVkLiBDb252ZXJ0IGl0IG1hbnVhbGx5ICcgKyAndG8gYSBzaW1wbGUgdmFsdWUgYmVmb3JlIHBhc3NpbmcgaXQgdG8gcHJvcHMuJXMnLCBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShwYXJlbnQsIGtleSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFdlIGFzc3VtZSB0aGF0IGFueSBvYmplY3Qgd2l0aCBhIC50aGVuIHByb3BlcnR5IGlzIGEgXCJUaGVuYWJsZVwiIHR5cGUsXG4gICAgICAgIC8vIG9yIGEgUHJvbWlzZSB0eXBlLiBFaXRoZXIgb2Ygd2hpY2ggY2FuIGJlIHJlcHJlc2VudGVkIGJ5IGEgUHJvbWlzZS5cbiAgICAgICAgaWYgKGZvcm1EYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVXBncmFkZSB0byB1c2UgRm9ybURhdGEgdG8gYWxsb3cgdXMgdG8gc3RyZWFtIHRoaXMgdmFsdWUuXG4gICAgICAgICAgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBlbmRpbmdQYXJ0cysrO1xuICAgICAgICB2YXIgcHJvbWlzZUlkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICB2YXIgdGhlbmFibGUgPSB2YWx1ZTtcbiAgICAgICAgdGhlbmFibGUudGhlbihmdW5jdGlvbiAocGFydFZhbHVlKSB7XG4gICAgICAgICAgdmFyIHBhcnRKU09OID0gSlNPTi5zdHJpbmdpZnkocGFydFZhbHVlLCByZXNvbHZlVG9KU09OKTsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV0gV2Uga25vdyBpdCdzIG5vdCBudWxsIGJlY2F1c2Ugd2UgYXNzaWduZWQgaXQgYWJvdmUuXG5cbiAgICAgICAgICB2YXIgZGF0YSA9IGZvcm1EYXRhOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuICAgICAgICAgIGRhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIHByb21pc2VJZCwgcGFydEpTT04pO1xuICAgICAgICAgIHBlbmRpbmdQYXJ0cy0tO1xuXG4gICAgICAgICAgaWYgKHBlbmRpbmdQYXJ0cyA9PT0gMCkge1xuICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgICAgICAgICAvLyBJbiB0aGUgZnV0dXJlIHdlIGNvdWxkIGNvbnNpZGVyIHNlcmlhbGl6aW5nIHRoaXMgYXMgYW4gZXJyb3JcbiAgICAgICAgICAvLyB0aGF0IHRocm93cyBvbiB0aGUgc2VydmVyIGluc3RlYWQuXG4gICAgICAgICAgcmVqZWN0KHJlYXNvbik7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc2VyaWFsaXplUHJvbWlzZUlEKHByb21pc2VJZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0gLy8gVE9ETzogU2hvdWxkIHdlIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoKSB0byB0ZXN0IGZvciBjcm9zcy1yZWFsbSBvYmplY3RzP1xuXG5cbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgICAgIGlmIChmb3JtRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFVwZ3JhZGUgdG8gdXNlIEZvcm1EYXRhIHRvIGFsbG93IHVzIHRvIHVzZSByaWNoIG9iamVjdHMgYXMgaXRzIHZhbHVlcy5cbiAgICAgICAgICBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGRhdGEgPSBmb3JtRGF0YTtcbiAgICAgICAgdmFyIHJlZklkID0gbmV4dFBhcnRJZCsrOyAvLyBDb3B5IGFsbCB0aGUgZm9ybSBmaWVsZHMgd2l0aCBhIHByZWZpeCBmb3IgdGhpcyByZWZlcmVuY2UuXG4gICAgICAgIC8vIFRoZXNlIG11c3QgY29tZSBmaXJzdCBpbiB0aGUgZm9ybSBvcmRlciBiZWNhdXNlIHdlIGFzc3VtZSB0aGF0IGFsbCB0aGVcbiAgICAgICAgLy8gZmllbGRzIGFyZSBhdmFpbGFibGUgYmVmb3JlIHRoaXMgaXMgcmVmZXJlbmNlZC5cblxuICAgICAgICB2YXIgcHJlZml4ID0gZm9ybUZpZWxkUHJlZml4ICsgcmVmSWQgKyAnXyc7IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXTogRm9ybURhdGEgaGFzIGZvckVhY2guXG5cbiAgICAgICAgdmFsdWUuZm9yRWFjaChmdW5jdGlvbiAob3JpZ2luYWxWYWx1ZSwgb3JpZ2luYWxLZXkpIHtcbiAgICAgICAgICBkYXRhLmFwcGVuZChwcmVmaXggKyBvcmlnaW5hbEtleSwgb3JpZ2luYWxWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc2VyaWFsaXplRm9ybURhdGFSZWZlcmVuY2UocmVmSWQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXApIHtcbiAgICAgICAgdmFyIHBhcnRKU09OID0gSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh2YWx1ZSksIHJlc29sdmVUb0pTT04pO1xuXG4gICAgICAgIGlmIChmb3JtRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgIGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbWFwSWQgPSBuZXh0UGFydElkKys7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBtYXBJZCwgcGFydEpTT04pO1xuICAgICAgICByZXR1cm4gc2VyaWFsaXplTWFwSUQobWFwSWQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgdmFyIF9wYXJ0SlNPTiA9IEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odmFsdWUpLCByZXNvbHZlVG9KU09OKTtcblxuICAgICAgICBpZiAoZm9ybURhdGEgPT09IG51bGwpIHtcbiAgICAgICAgICBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNldElkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsgc2V0SWQsIF9wYXJ0SlNPTik7XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVTZXRJRChzZXRJZCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbih2YWx1ZSk7XG5cbiAgICAgIGlmIChpdGVyYXRvckZuKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHZhbHVlKTtcbiAgICAgIH0gLy8gVmVyaWZ5IHRoYXQgdGhpcyBpcyBhIHNpbXBsZSBwbGFpbiBvYmplY3QuXG5cblxuICAgICAgdmFyIHByb3RvID0gZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuXG4gICAgICBpZiAocHJvdG8gIT09IE9iamVjdFByb3RvdHlwZSAmJiAocHJvdG8gPT09IG51bGwgfHwgZ2V0UHJvdG90eXBlT2YocHJvdG8pICE9PSBudWxsKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ09ubHkgcGxhaW4gb2JqZWN0cywgYW5kIGEgZmV3IGJ1aWx0LWlucywgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgQWN0aW9ucy4gJyArICdDbGFzc2VzIG9yIG51bGwgcHJvdG90eXBlcyBhcmUgbm90IHN1cHBvcnRlZC4nKTtcbiAgICAgIH1cblxuICAgICAge1xuICAgICAgICBpZiAodmFsdWUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgICAgICAgIGVycm9yKCdSZWFjdCBFbGVtZW50IGNhbm5vdCBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuJXMnLCBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShwYXJlbnQsIGtleSkpO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICBlcnJvcignUmVhY3QgTGF6eSBjYW5ub3QgYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiVzJywgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UocGFyZW50LCBrZXkpKTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS4kJHR5cGVvZiA9PT0gKFJFQUNUX1BST1ZJREVSX1RZUEUpKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IENvbnRleHQgUHJvdmlkZXJzIGNhbm5vdCBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuJXMnLCBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShwYXJlbnQsIGtleSkpO1xuICAgICAgICB9IGVsc2UgaWYgKG9iamVjdE5hbWUodmFsdWUpICE9PSAnT2JqZWN0Jykge1xuICAgICAgICAgIGVycm9yKCdPbmx5IHBsYWluIG9iamVjdHMgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudC4gJyArICclcyBvYmplY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiVzJywgb2JqZWN0TmFtZSh2YWx1ZSksIGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKHBhcmVudCwga2V5KSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWlzU2ltcGxlT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICAgIGVycm9yKCdPbmx5IHBsYWluIG9iamVjdHMgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudC4gJyArICdDbGFzc2VzIG9yIG90aGVyIG9iamVjdHMgd2l0aCBtZXRob2RzIGFyZSBub3Qgc3VwcG9ydGVkLiVzJywgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UocGFyZW50LCBrZXkpKTtcbiAgICAgICAgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgICAgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHZhbHVlKTtcblxuICAgICAgICAgIGlmIChzeW1ib2xzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGVycm9yKCdPbmx5IHBsYWluIG9iamVjdHMgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudC4gJyArICdPYmplY3RzIHdpdGggc3ltYm9sIHByb3BlcnRpZXMgbGlrZSAlcyBhcmUgbm90IHN1cHBvcnRlZC4lcycsIHN5bWJvbHNbMF0uZGVzY3JpcHRpb24sIGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKHBhcmVudCwga2V5KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl1cblxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRPRE86IE1heWJlIHRvbyBjbGV2ZXIuIElmIHdlIHN1cHBvcnQgVVJMIHRoZXJlJ3Mgbm8gc2ltaWxhciB0cmljay5cbiAgICAgIGlmICh2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXSA9PT0gJ1onKSB7XG4gICAgICAgIC8vIFBvc3NpYmx5IGEgRGF0ZSwgd2hvc2UgdG9KU09OIGF1dG9tYXRpY2FsbHkgY2FsbHMgdG9JU09TdHJpbmdcbiAgICAgICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdXNlXVxuICAgICAgICB2YXIgX29yaWdpbmFsVmFsdWUgPSBwYXJlbnRba2V5XTtcblxuICAgICAgICBpZiAoX29yaWdpbmFsVmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZURhdGVGcm9tRGF0ZUpTT04odmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBlc2NhcGVTdHJpbmdWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBzZXJpYWxpemVOdW1iZXIodmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gc2VyaWFsaXplVW5kZWZpbmVkKCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIG1ldGFEYXRhID0ga25vd25TZXJ2ZXJSZWZlcmVuY2VzLmdldCh2YWx1ZSk7XG5cbiAgICAgIGlmIChtZXRhRGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhciBtZXRhRGF0YUpTT04gPSBKU09OLnN0cmluZ2lmeShtZXRhRGF0YSwgcmVzb2x2ZVRvSlNPTik7XG5cbiAgICAgICAgaWYgKGZvcm1EYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVXBncmFkZSB0byB1c2UgRm9ybURhdGEgdG8gYWxsb3cgdXMgdG8gc3RyZWFtIHRoaXMgdmFsdWUuXG4gICAgICAgICAgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgfSAvLyBUaGUgcmVmZXJlbmNlIHRvIHRoaXMgZnVuY3Rpb24gY2FtZSBmcm9tIHRoZSBzYW1lIGNsaWVudCBzbyB3ZSBjYW4gcGFzcyBpdCBiYWNrLlxuXG5cbiAgICAgICAgdmFyIF9yZWZJZCA9IG5leHRQYXJ0SWQrKzsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG5cblxuICAgICAgICBmb3JtRGF0YS5zZXQoZm9ybUZpZWxkUHJlZml4ICsgX3JlZklkLCBtZXRhRGF0YUpTT04pO1xuICAgICAgICByZXR1cm4gc2VyaWFsaXplU2VydmVyUmVmZXJlbmNlSUQoX3JlZklkKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDbGllbnQgRnVuY3Rpb25zIGNhbm5vdCBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gU2VydmVyIEZ1bmN0aW9ucy4gJyArICdPbmx5IEZ1bmN0aW9ucyBwYXNzZWQgZnJvbSB0aGUgU2VydmVyIGNhbiBiZSBwYXNzZWQgYmFjayBhZ2Fpbi4nKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3ltYm9sJykge1xuICAgICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV0gYGRlc2NyaXB0aW9uYCBtaWdodCBiZSB1bmRlZmluZWRcbiAgICAgIHZhciBuYW1lID0gdmFsdWUuZGVzY3JpcHRpb247XG5cbiAgICAgIGlmIChTeW1ib2wuZm9yKG5hbWUpICE9PSB2YWx1ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ09ubHkgZ2xvYmFsIHN5bWJvbHMgcmVjZWl2ZWQgZnJvbSBTeW1ib2wuZm9yKC4uLikgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zLiAnICsgKFwiVGhlIHN5bWJvbCBTeW1ib2wuZm9yKFwiICsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV0gYGRlc2NyaXB0aW9uYCBtaWdodCBiZSB1bmRlZmluZWRcbiAgICAgICAgdmFsdWUuZGVzY3JpcHRpb24gKyBcIikgY2Fubm90IGJlIGZvdW5kIGFtb25nIGdsb2JhbCBzeW1ib2xzLlwiKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZXJpYWxpemVTeW1ib2xSZWZlcmVuY2UobmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgIHJldHVybiBzZXJpYWxpemVCaWdJbnQodmFsdWUpO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcIlR5cGUgXCIgKyB0eXBlb2YgdmFsdWUgKyBcIiBpcyBub3Qgc3VwcG9ydGVkIGFzIGFuIGFyZ3VtZW50IHRvIGEgU2VydmVyIEZ1bmN0aW9uLlwiKTtcbiAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXSBpdCdzIG5vdCBnb2luZyB0byBiZSB1bmRlZmluZWQgYmVjYXVzZSB3ZSdsbCBlbmNvZGUgaXQuXG5cblxuICB2YXIganNvbiA9IEpTT04uc3RyaW5naWZ5KHJvb3QsIHJlc29sdmVUb0pTT04pO1xuXG4gIGlmIChmb3JtRGF0YSA9PT0gbnVsbCkge1xuICAgIC8vIElmIGl0J3MgYSBzaW1wbGUgZGF0YSBzdHJ1Y3R1cmUsIHdlIGp1c3QgdXNlIHBsYWluIEpTT04uXG4gICAgcmVzb2x2ZShqc29uKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UsIHdlIHVzZSBGb3JtRGF0YSB0byBsZXQgdXMgc3RyZWFtIGluIHRoZSByZXN1bHQuXG4gICAgZm9ybURhdGEuc2V0KGZvcm1GaWVsZFByZWZpeCArICcwJywganNvbik7XG5cbiAgICBpZiAocGVuZGluZ1BhcnRzID09PSAwKSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYWxsXSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gcmVmaW5lZC5cbiAgICAgIHJlc29sdmUoZm9ybURhdGEpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByZWdpc3RlclNlcnZlclJlZmVyZW5jZShwcm94eSwgcmVmZXJlbmNlLCBlbmNvZGVGb3JtQWN0aW9uKSB7XG5cbiAga25vd25TZXJ2ZXJSZWZlcmVuY2VzLnNldChwcm94eSwgcmVmZXJlbmNlKTtcbn0gLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxuXG5mdW5jdGlvbiBjcmVhdGVTZXJ2ZXJSZWZlcmVuY2UoaWQsIGNhbGxTZXJ2ZXIsIGVuY29kZUZvcm1BY3Rpb24pIHtcbiAgdmFyIHByb3h5ID0gZnVuY3Rpb24gKCkge1xuICAgIC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cbiAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG4gICAgcmV0dXJuIGNhbGxTZXJ2ZXIoaWQsIGFyZ3MpO1xuICB9O1xuXG4gIHJlZ2lzdGVyU2VydmVyUmVmZXJlbmNlKHByb3h5LCB7XG4gICAgaWQ6IGlkLFxuICAgIGJvdW5kOiBudWxsXG4gIH0pO1xuICByZXR1cm4gcHJveHk7XG59XG5cbnZhciBST1dfSUQgPSAwO1xudmFyIFJPV19UQUcgPSAxO1xudmFyIFJPV19MRU5HVEggPSAyO1xudmFyIFJPV19DSFVOS19CWV9ORVdMSU5FID0gMztcbnZhciBST1dfQ0hVTktfQllfTEVOR1RIID0gNDtcbnZhciBQRU5ESU5HID0gJ3BlbmRpbmcnO1xudmFyIEJMT0NLRUQgPSAnYmxvY2tlZCc7XG52YXIgQ1lDTElDID0gJ2N5Y2xpYyc7XG52YXIgUkVTT0xWRURfTU9ERUwgPSAncmVzb2x2ZWRfbW9kZWwnO1xudmFyIFJFU09MVkVEX01PRFVMRSA9ICdyZXNvbHZlZF9tb2R1bGUnO1xudmFyIElOSVRJQUxJWkVEID0gJ2Z1bGZpbGxlZCc7XG52YXIgRVJST1JFRCA9ICdyZWplY3RlZCc7IC8vICRGbG93Rml4TWVbbWlzc2luZy10aGlzLWFubm90XVxuXG5mdW5jdGlvbiBDaHVuayhzdGF0dXMsIHZhbHVlLCByZWFzb24sIHJlc3BvbnNlKSB7XG4gIHRoaXMuc3RhdHVzID0gc3RhdHVzO1xuICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIHRoaXMucmVhc29uID0gcmVhc29uO1xuICB0aGlzLl9yZXNwb25zZSA9IHJlc3BvbnNlO1xuXG4gIHtcbiAgICB0aGlzLl9kZWJ1Z0luZm8gPSBudWxsO1xuICB9XG59IC8vIFdlIHN1YmNsYXNzIFByb21pc2UucHJvdG90eXBlIHNvIHRoYXQgd2UgZ2V0IG90aGVyIG1ldGhvZHMgbGlrZSAuY2F0Y2hcblxuXG5DaHVuay5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFByb21pc2UucHJvdG90eXBlKTsgLy8gVE9ETzogVGhpcyBkb2Vzbid0IHJldHVybiBhIG5ldyBQcm9taXNlIGNoYWluIHVubGlrZSB0aGUgcmVhbCAudGhlblxuXG5DaHVuay5wcm90b3R5cGUudGhlbiA9IGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgdmFyIGNodW5rID0gdGhpczsgLy8gSWYgd2UgaGF2ZSByZXNvbHZlZCBjb250ZW50LCB3ZSB0cnkgdG8gaW5pdGlhbGl6ZSBpdCBmaXJzdCB3aGljaFxuICAvLyBtaWdodCBwdXQgdXMgYmFjayBpbnRvIG9uZSBvZiB0aGUgb3RoZXIgc3RhdGVzLlxuXG4gIHN3aXRjaCAoY2h1bmsuc3RhdHVzKSB7XG4gICAgY2FzZSBSRVNPTFZFRF9NT0RFTDpcbiAgICAgIGluaXRpYWxpemVNb2RlbENodW5rKGNodW5rKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBSRVNPTFZFRF9NT0RVTEU6XG4gICAgICBpbml0aWFsaXplTW9kdWxlQ2h1bmsoY2h1bmspO1xuICAgICAgYnJlYWs7XG4gIH0gLy8gVGhlIHN0YXR1cyBtaWdodCBoYXZlIGNoYW5nZWQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uXG5cblxuICBzd2l0Y2ggKGNodW5rLnN0YXR1cykge1xuICAgIGNhc2UgSU5JVElBTElaRUQ6XG4gICAgICByZXNvbHZlKGNodW5rLnZhbHVlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBQRU5ESU5HOlxuICAgIGNhc2UgQkxPQ0tFRDpcbiAgICBjYXNlIENZQ0xJQzpcbiAgICAgIGlmIChyZXNvbHZlKSB7XG4gICAgICAgIGlmIChjaHVuay52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGNodW5rLnZhbHVlID0gW107XG4gICAgICAgIH1cblxuICAgICAgICBjaHVuay52YWx1ZS5wdXNoKHJlc29sdmUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVqZWN0KSB7XG4gICAgICAgIGlmIChjaHVuay5yZWFzb24gPT09IG51bGwpIHtcbiAgICAgICAgICBjaHVuay5yZWFzb24gPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNodW5rLnJlYXNvbi5wdXNoKHJlamVjdCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJlamVjdChjaHVuay5yZWFzb24pO1xuICAgICAgYnJlYWs7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIHJlYWRDaHVuayhjaHVuaykge1xuICAvLyBJZiB3ZSBoYXZlIHJlc29sdmVkIGNvbnRlbnQsIHdlIHRyeSB0byBpbml0aWFsaXplIGl0IGZpcnN0IHdoaWNoXG4gIC8vIG1pZ2h0IHB1dCB1cyBiYWNrIGludG8gb25lIG9mIHRoZSBvdGhlciBzdGF0ZXMuXG4gIHN3aXRjaCAoY2h1bmsuc3RhdHVzKSB7XG4gICAgY2FzZSBSRVNPTFZFRF9NT0RFTDpcbiAgICAgIGluaXRpYWxpemVNb2RlbENodW5rKGNodW5rKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBSRVNPTFZFRF9NT0RVTEU6XG4gICAgICBpbml0aWFsaXplTW9kdWxlQ2h1bmsoY2h1bmspO1xuICAgICAgYnJlYWs7XG4gIH0gLy8gVGhlIHN0YXR1cyBtaWdodCBoYXZlIGNoYW5nZWQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uXG5cblxuICBzd2l0Y2ggKGNodW5rLnN0YXR1cykge1xuICAgIGNhc2UgSU5JVElBTElaRUQ6XG4gICAgICByZXR1cm4gY2h1bmsudmFsdWU7XG5cbiAgICBjYXNlIFBFTkRJTkc6XG4gICAgY2FzZSBCTE9DS0VEOlxuICAgIGNhc2UgQ1lDTElDOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcbiAgICAgIHRocm93IGNodW5rO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IGNodW5rLnJlYXNvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRSb290KHJlc3BvbnNlKSB7XG4gIHZhciBjaHVuayA9IGdldENodW5rKHJlc3BvbnNlLCAwKTtcbiAgcmV0dXJuIGNodW5rO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpIHtcbiAgLy8gJEZsb3dGaXhNZVtpbnZhbGlkLWNvbnN0cnVjdG9yXSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCBmdW5jdGlvbnMgYXMgY29uc3RydWN0b3JzXG4gIHJldHVybiBuZXcgQ2h1bmsoUEVORElORywgbnVsbCwgbnVsbCwgcmVzcG9uc2UpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVCbG9ja2VkQ2h1bmsocmVzcG9uc2UpIHtcbiAgLy8gJEZsb3dGaXhNZVtpbnZhbGlkLWNvbnN0cnVjdG9yXSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCBmdW5jdGlvbnMgYXMgY29uc3RydWN0b3JzXG4gIHJldHVybiBuZXcgQ2h1bmsoQkxPQ0tFRCwgbnVsbCwgbnVsbCwgcmVzcG9uc2UpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFcnJvckNodW5rKHJlc3BvbnNlLCBlcnJvcikge1xuICAvLyAkRmxvd0ZpeE1lW2ludmFsaWQtY29uc3RydWN0b3JdIEZsb3cgZG9lc24ndCBzdXBwb3J0IGZ1bmN0aW9ucyBhcyBjb25zdHJ1Y3RvcnNcbiAgcmV0dXJuIG5ldyBDaHVuayhFUlJPUkVELCBudWxsLCBlcnJvciwgcmVzcG9uc2UpO1xufVxuXG5mdW5jdGlvbiB3YWtlQ2h1bmsobGlzdGVuZXJzLCB2YWx1ZSkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3RlbmVycy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBsaXN0ZW5lciA9IGxpc3RlbmVyc1tpXTtcbiAgICBsaXN0ZW5lcih2YWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gd2FrZUNodW5rSWZJbml0aWFsaXplZChjaHVuaywgcmVzb2x2ZUxpc3RlbmVycywgcmVqZWN0TGlzdGVuZXJzKSB7XG4gIHN3aXRjaCAoY2h1bmsuc3RhdHVzKSB7XG4gICAgY2FzZSBJTklUSUFMSVpFRDpcbiAgICAgIHdha2VDaHVuayhyZXNvbHZlTGlzdGVuZXJzLCBjaHVuay52YWx1ZSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgUEVORElORzpcbiAgICBjYXNlIEJMT0NLRUQ6XG4gICAgY2FzZSBDWUNMSUM6XG4gICAgICBjaHVuay52YWx1ZSA9IHJlc29sdmVMaXN0ZW5lcnM7XG4gICAgICBjaHVuay5yZWFzb24gPSByZWplY3RMaXN0ZW5lcnM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgRVJST1JFRDpcbiAgICAgIGlmIChyZWplY3RMaXN0ZW5lcnMpIHtcbiAgICAgICAgd2FrZUNodW5rKHJlamVjdExpc3RlbmVycywgY2h1bmsucmVhc29uKTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgZXJyb3IpIHtcbiAgaWYgKGNodW5rLnN0YXR1cyAhPT0gUEVORElORyAmJiBjaHVuay5zdGF0dXMgIT09IEJMT0NLRUQpIHtcbiAgICAvLyBXZSBhbHJlYWR5IHJlc29sdmVkLiBXZSBkaWRuJ3QgZXhwZWN0IHRvIHNlZSB0aGlzLlxuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBsaXN0ZW5lcnMgPSBjaHVuay5yZWFzb247XG4gIHZhciBlcnJvcmVkQ2h1bmsgPSBjaHVuaztcbiAgZXJyb3JlZENodW5rLnN0YXR1cyA9IEVSUk9SRUQ7XG4gIGVycm9yZWRDaHVuay5yZWFzb24gPSBlcnJvcjtcblxuICBpZiAobGlzdGVuZXJzICE9PSBudWxsKSB7XG4gICAgd2FrZUNodW5rKGxpc3RlbmVycywgZXJyb3IpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlc29sdmVkTW9kZWxDaHVuayhyZXNwb25zZSwgdmFsdWUpIHtcbiAgLy8gJEZsb3dGaXhNZVtpbnZhbGlkLWNvbnN0cnVjdG9yXSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCBmdW5jdGlvbnMgYXMgY29uc3RydWN0b3JzXG4gIHJldHVybiBuZXcgQ2h1bmsoUkVTT0xWRURfTU9ERUwsIHZhbHVlLCBudWxsLCByZXNwb25zZSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlc29sdmVkTW9kdWxlQ2h1bmsocmVzcG9uc2UsIHZhbHVlKSB7XG4gIC8vICRGbG93Rml4TWVbaW52YWxpZC1jb25zdHJ1Y3Rvcl0gRmxvdyBkb2Vzbid0IHN1cHBvcnQgZnVuY3Rpb25zIGFzIGNvbnN0cnVjdG9yc1xuICByZXR1cm4gbmV3IENodW5rKFJFU09MVkVEX01PRFVMRSwgdmFsdWUsIG51bGwsIHJlc3BvbnNlKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlSW5pdGlhbGl6ZWRUZXh0Q2h1bmsocmVzcG9uc2UsIHZhbHVlKSB7XG4gIC8vICRGbG93Rml4TWVbaW52YWxpZC1jb25zdHJ1Y3Rvcl0gRmxvdyBkb2Vzbid0IHN1cHBvcnQgZnVuY3Rpb25zIGFzIGNvbnN0cnVjdG9yc1xuICByZXR1cm4gbmV3IENodW5rKElOSVRJQUxJWkVELCB2YWx1ZSwgbnVsbCwgcmVzcG9uc2UpO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlTW9kZWxDaHVuayhjaHVuaywgdmFsdWUpIHtcbiAgaWYgKGNodW5rLnN0YXR1cyAhPT0gUEVORElORykge1xuICAgIC8vIFdlIGFscmVhZHkgcmVzb2x2ZWQuIFdlIGRpZG4ndCBleHBlY3QgdG8gc2VlIHRoaXMuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHJlc29sdmVMaXN0ZW5lcnMgPSBjaHVuay52YWx1ZTtcbiAgdmFyIHJlamVjdExpc3RlbmVycyA9IGNodW5rLnJlYXNvbjtcbiAgdmFyIHJlc29sdmVkQ2h1bmsgPSBjaHVuaztcbiAgcmVzb2x2ZWRDaHVuay5zdGF0dXMgPSBSRVNPTFZFRF9NT0RFTDtcbiAgcmVzb2x2ZWRDaHVuay52YWx1ZSA9IHZhbHVlO1xuXG4gIGlmIChyZXNvbHZlTGlzdGVuZXJzICE9PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB1bmZvcnR1bmF0ZSB0aGF0IHdlJ3JlIHJlYWRpbmcgdGhpcyBlYWdlcmx5IGlmXG4gICAgLy8gd2UgYWxyZWFkeSBoYXZlIGxpc3RlbmVycyBhdHRhY2hlZCBzaW5jZSB0aGV5IG1pZ2h0IG5vXG4gICAgLy8gbG9uZ2VyIGJlIHJlbmRlcmVkIG9yIG1pZ2h0IG5vdCBiZSB0aGUgaGlnaGVzdCBwcmkuXG4gICAgaW5pdGlhbGl6ZU1vZGVsQ2h1bmsocmVzb2x2ZWRDaHVuayk7IC8vIFRoZSBzdGF0dXMgbWlnaHQgaGF2ZSBjaGFuZ2VkIGFmdGVyIGluaXRpYWxpemF0aW9uLlxuXG4gICAgd2FrZUNodW5rSWZJbml0aWFsaXplZChjaHVuaywgcmVzb2x2ZUxpc3RlbmVycywgcmVqZWN0TGlzdGVuZXJzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlTW9kdWxlQ2h1bmsoY2h1bmssIHZhbHVlKSB7XG4gIGlmIChjaHVuay5zdGF0dXMgIT09IFBFTkRJTkcgJiYgY2h1bmsuc3RhdHVzICE9PSBCTE9DS0VEKSB7XG4gICAgLy8gV2UgYWxyZWFkeSByZXNvbHZlZC4gV2UgZGlkbid0IGV4cGVjdCB0byBzZWUgdGhpcy5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgcmVzb2x2ZUxpc3RlbmVycyA9IGNodW5rLnZhbHVlO1xuICB2YXIgcmVqZWN0TGlzdGVuZXJzID0gY2h1bmsucmVhc29uO1xuICB2YXIgcmVzb2x2ZWRDaHVuayA9IGNodW5rO1xuICByZXNvbHZlZENodW5rLnN0YXR1cyA9IFJFU09MVkVEX01PRFVMRTtcbiAgcmVzb2x2ZWRDaHVuay52YWx1ZSA9IHZhbHVlO1xuXG4gIGlmIChyZXNvbHZlTGlzdGVuZXJzICE9PSBudWxsKSB7XG4gICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKHJlc29sdmVkQ2h1bmspO1xuICAgIHdha2VDaHVua0lmSW5pdGlhbGl6ZWQoY2h1bmssIHJlc29sdmVMaXN0ZW5lcnMsIHJlamVjdExpc3RlbmVycyk7XG4gIH1cbn1cblxudmFyIGluaXRpYWxpemluZ0NodW5rID0gbnVsbDtcbnZhciBpbml0aWFsaXppbmdDaHVua0Jsb2NrZWRNb2RlbCA9IG51bGw7XG5cbmZ1bmN0aW9uIGluaXRpYWxpemVNb2RlbENodW5rKGNodW5rKSB7XG4gIHZhciBwcmV2Q2h1bmsgPSBpbml0aWFsaXppbmdDaHVuaztcbiAgdmFyIHByZXZCbG9ja2VkID0gaW5pdGlhbGl6aW5nQ2h1bmtCbG9ja2VkTW9kZWw7XG4gIGluaXRpYWxpemluZ0NodW5rID0gY2h1bms7XG4gIGluaXRpYWxpemluZ0NodW5rQmxvY2tlZE1vZGVsID0gbnVsbDtcbiAgdmFyIHJlc29sdmVkTW9kZWwgPSBjaHVuay52YWx1ZTsgLy8gV2UgZ28gdG8gdGhlIENZQ0xJQyBzdGF0ZSB1bnRpbCB3ZSd2ZSBmdWxseSByZXNvbHZlZCB0aGlzLlxuICAvLyBXZSBkbyB0aGlzIGJlZm9yZSBwYXJzaW5nIGluIGNhc2Ugd2UgdHJ5IHRvIGluaXRpYWxpemUgdGhlIHNhbWUgY2h1bmtcbiAgLy8gd2hpbGUgcGFyc2luZyB0aGUgbW9kZWwuIFN1Y2ggYXMgaW4gYSBjeWNsaWMgcmVmZXJlbmNlLlxuXG4gIHZhciBjeWNsaWNDaHVuayA9IGNodW5rO1xuICBjeWNsaWNDaHVuay5zdGF0dXMgPSBDWUNMSUM7XG4gIGN5Y2xpY0NodW5rLnZhbHVlID0gbnVsbDtcbiAgY3ljbGljQ2h1bmsucmVhc29uID0gbnVsbDtcblxuICB0cnkge1xuICAgIHZhciB2YWx1ZSA9IHBhcnNlTW9kZWwoY2h1bmsuX3Jlc3BvbnNlLCByZXNvbHZlZE1vZGVsKTtcblxuICAgIGlmIChpbml0aWFsaXppbmdDaHVua0Jsb2NrZWRNb2RlbCAhPT0gbnVsbCAmJiBpbml0aWFsaXppbmdDaHVua0Jsb2NrZWRNb2RlbC5kZXBzID4gMCkge1xuICAgICAgaW5pdGlhbGl6aW5nQ2h1bmtCbG9ja2VkTW9kZWwudmFsdWUgPSB2YWx1ZTsgLy8gV2UgZGlzY292ZXJlZCBuZXcgZGVwZW5kZW5jaWVzIG9uIG1vZHVsZXMgdGhhdCBhcmUgbm90IHlldCByZXNvbHZlZC5cbiAgICAgIC8vIFdlIGhhdmUgdG8gZ28gdGhlIEJMT0NLRUQgc3RhdGUgdW50aWwgdGhleSdyZSByZXNvbHZlZC5cblxuICAgICAgdmFyIGJsb2NrZWRDaHVuayA9IGNodW5rO1xuICAgICAgYmxvY2tlZENodW5rLnN0YXR1cyA9IEJMT0NLRUQ7XG4gICAgICBibG9ja2VkQ2h1bmsudmFsdWUgPSBudWxsO1xuICAgICAgYmxvY2tlZENodW5rLnJlYXNvbiA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciByZXNvbHZlTGlzdGVuZXJzID0gY3ljbGljQ2h1bmsudmFsdWU7XG4gICAgICB2YXIgaW5pdGlhbGl6ZWRDaHVuayA9IGNodW5rO1xuICAgICAgaW5pdGlhbGl6ZWRDaHVuay5zdGF0dXMgPSBJTklUSUFMSVpFRDtcbiAgICAgIGluaXRpYWxpemVkQ2h1bmsudmFsdWUgPSB2YWx1ZTtcblxuICAgICAgaWYgKHJlc29sdmVMaXN0ZW5lcnMgIT09IG51bGwpIHtcbiAgICAgICAgd2FrZUNodW5rKHJlc29sdmVMaXN0ZW5lcnMsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdmFyIGVycm9yZWRDaHVuayA9IGNodW5rO1xuICAgIGVycm9yZWRDaHVuay5zdGF0dXMgPSBFUlJPUkVEO1xuICAgIGVycm9yZWRDaHVuay5yZWFzb24gPSBlcnJvcjtcbiAgfSBmaW5hbGx5IHtcbiAgICBpbml0aWFsaXppbmdDaHVuayA9IHByZXZDaHVuaztcbiAgICBpbml0aWFsaXppbmdDaHVua0Jsb2NrZWRNb2RlbCA9IHByZXZCbG9ja2VkO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRpYWxpemVNb2R1bGVDaHVuayhjaHVuaykge1xuICB0cnkge1xuICAgIHZhciB2YWx1ZSA9IHJlcXVpcmVNb2R1bGUoY2h1bmsudmFsdWUpO1xuICAgIHZhciBpbml0aWFsaXplZENodW5rID0gY2h1bms7XG4gICAgaW5pdGlhbGl6ZWRDaHVuay5zdGF0dXMgPSBJTklUSUFMSVpFRDtcbiAgICBpbml0aWFsaXplZENodW5rLnZhbHVlID0gdmFsdWU7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdmFyIGVycm9yZWRDaHVuayA9IGNodW5rO1xuICAgIGVycm9yZWRDaHVuay5zdGF0dXMgPSBFUlJPUkVEO1xuICAgIGVycm9yZWRDaHVuay5yZWFzb24gPSBlcnJvcjtcbiAgfVxufSAvLyBSZXBvcnQgdGhhdCBhbnkgbWlzc2luZyBjaHVua3MgaW4gdGhlIG1vZGVsIGlzIG5vdyBnb2luZyB0byB0aHJvdyB0aGlzXG4vLyBlcnJvciB1cG9uIHJlYWQuIEFsc28gbm90aWZ5IGFueSBwZW5kaW5nIHByb21pc2VzLlxuXG5cbmZ1bmN0aW9uIHJlcG9ydEdsb2JhbEVycm9yKHJlc3BvbnNlLCBlcnJvcikge1xuICByZXNwb25zZS5fY2h1bmtzLmZvckVhY2goZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgLy8gSWYgdGhpcyBjaHVuayB3YXMgYWxyZWFkeSByZXNvbHZlZCBvciBlcnJvcmVkLCBpdCB3b24ndFxuICAgIC8vIHRyaWdnZXIgYW4gZXJyb3IgYnV0IGlmIGl0IHdhc24ndCB0aGVuIHdlIG5lZWQgdG9cbiAgICAvLyBiZWNhdXNlIHdlIHdvbid0IGJlIGdldHRpbmcgYW55IG5ldyBkYXRhIHRvIHJlc29sdmUgaXQuXG4gICAgaWYgKGNodW5rLnN0YXR1cyA9PT0gUEVORElORykge1xuICAgICAgdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgZXJyb3IpO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodHlwZSwga2V5LCBwcm9wcykge1xuICB2YXIgZWxlbWVudDtcblxuICB7XG4gICAgZWxlbWVudCA9IHtcbiAgICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIHJlZjogbnVsbCxcbiAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgICBfb3duZXI6IG51bGxcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIC8vIFdlIGRvbid0IHJlYWxseSBuZWVkIHRvIGFkZCBhbnkgb2YgdGhlc2UgYnV0IGtlZXBpbmcgdGhlbSBmb3IgZ29vZCBtZWFzdXJlLlxuICAgIC8vIFVuZm9ydHVuYXRlbHksIF9zdG9yZSBpcyBlbnVtZXJhYmxlIGluIGplc3QgbWF0Y2hlcnMgc28gZm9yIGVxdWFsaXR5IHRvXG4gICAgLy8gd29yaywgSSBuZWVkIHRvIGtlZXAgaXQgb3IgbWFrZSBfc3RvcmUgbm9uLWVudW1lcmFibGUgaW4gdGhlIG90aGVyIGZpbGUuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiB0cnVlIC8vIFRoaXMgZWxlbWVudCBoYXMgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBvbiB0aGUgc2VydmVyLlxuXG4gICAgfSk7IC8vIGRlYnVnSW5mbyBjb250YWlucyBTZXJ2ZXIgQ29tcG9uZW50IGRlYnVnIGluZm9ybWF0aW9uLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfZGVidWdJbmZvJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogbnVsbFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxhenlDaHVua1dyYXBwZXIoY2h1bmspIHtcbiAgdmFyIGxhenlUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9MQVpZX1RZUEUsXG4gICAgX3BheWxvYWQ6IGNodW5rLFxuICAgIF9pbml0OiByZWFkQ2h1bmtcbiAgfTtcblxuICB7XG4gICAgLy8gRW5zdXJlIHdlIGhhdmUgYSBsaXZlIGFycmF5IHRvIHRyYWNrIGZ1dHVyZSBkZWJ1ZyBpbmZvLlxuICAgIHZhciBjaHVua0RlYnVnSW5mbyA9IGNodW5rLl9kZWJ1Z0luZm8gfHwgKGNodW5rLl9kZWJ1Z0luZm8gPSBbXSk7XG4gICAgbGF6eVR5cGUuX2RlYnVnSW5mbyA9IGNodW5rRGVidWdJbmZvO1xuICB9XG5cbiAgcmV0dXJuIGxhenlUeXBlO1xufVxuXG5mdW5jdGlvbiBnZXRDaHVuayhyZXNwb25zZSwgaWQpIHtcbiAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3M7XG4gIHZhciBjaHVuayA9IGNodW5rcy5nZXQoaWQpO1xuXG4gIGlmICghY2h1bmspIHtcbiAgICBjaHVuayA9IGNyZWF0ZVBlbmRpbmdDaHVuayhyZXNwb25zZSk7XG4gICAgY2h1bmtzLnNldChpZCwgY2h1bmspO1xuICB9XG5cbiAgcmV0dXJuIGNodW5rO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVNb2RlbFJlc29sdmVyKGNodW5rLCBwYXJlbnRPYmplY3QsIGtleSwgY3ljbGljKSB7XG4gIHZhciBibG9ja2VkO1xuXG4gIGlmIChpbml0aWFsaXppbmdDaHVua0Jsb2NrZWRNb2RlbCkge1xuICAgIGJsb2NrZWQgPSBpbml0aWFsaXppbmdDaHVua0Jsb2NrZWRNb2RlbDtcblxuICAgIGlmICghY3ljbGljKSB7XG4gICAgICBibG9ja2VkLmRlcHMrKztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYmxvY2tlZCA9IGluaXRpYWxpemluZ0NodW5rQmxvY2tlZE1vZGVsID0ge1xuICAgICAgZGVwczogY3ljbGljID8gMCA6IDEsXG4gICAgICB2YWx1ZTogbnVsbFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgcGFyZW50T2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICBibG9ja2VkLmRlcHMtLTtcblxuICAgIGlmIChibG9ja2VkLmRlcHMgPT09IDApIHtcbiAgICAgIGlmIChjaHVuay5zdGF0dXMgIT09IEJMT0NLRUQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVzb2x2ZUxpc3RlbmVycyA9IGNodW5rLnZhbHVlO1xuICAgICAgdmFyIGluaXRpYWxpemVkQ2h1bmsgPSBjaHVuaztcbiAgICAgIGluaXRpYWxpemVkQ2h1bmsuc3RhdHVzID0gSU5JVElBTElaRUQ7XG4gICAgICBpbml0aWFsaXplZENodW5rLnZhbHVlID0gYmxvY2tlZC52YWx1ZTtcblxuICAgICAgaWYgKHJlc29sdmVMaXN0ZW5lcnMgIT09IG51bGwpIHtcbiAgICAgICAgd2FrZUNodW5rKHJlc29sdmVMaXN0ZW5lcnMsIGJsb2NrZWQudmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTW9kZWxSZWplY3QoY2h1bmspIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChlcnJvcikge1xuICAgIHJldHVybiB0cmlnZ2VyRXJyb3JPbkNodW5rKGNodW5rLCBlcnJvcik7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVNlcnZlclJlZmVyZW5jZVByb3h5KHJlc3BvbnNlLCBtZXRhRGF0YSkge1xuICB2YXIgY2FsbFNlcnZlciA9IHJlc3BvbnNlLl9jYWxsU2VydmVyO1xuXG4gIHZhciBwcm94eSA9IGZ1bmN0aW9uICgpIHtcbiAgICAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG4gICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuICAgIHZhciBwID0gbWV0YURhdGEuYm91bmQ7XG5cbiAgICBpZiAoIXApIHtcbiAgICAgIHJldHVybiBjYWxsU2VydmVyKG1ldGFEYXRhLmlkLCBhcmdzKTtcbiAgICB9XG5cbiAgICBpZiAocC5zdGF0dXMgPT09IElOSVRJQUxJWkVEKSB7XG4gICAgICB2YXIgYm91bmQgPSBwLnZhbHVlO1xuICAgICAgcmV0dXJuIGNhbGxTZXJ2ZXIobWV0YURhdGEuaWQsIGJvdW5kLmNvbmNhdChhcmdzKSk7XG4gICAgfSAvLyBTaW5jZSB0aGlzIGlzIGEgZmFrZSBQcm9taXNlIHdob3NlIC50aGVuIGRvZXNuJ3QgY2hhaW4sIHdlIGhhdmUgdG8gd3JhcCBpdC5cbiAgICAvLyBUT0RPOiBSZW1vdmUgdGhlIHdyYXBwZXIgb25jZSB0aGF0J3MgZml4ZWQuXG5cblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocCkudGhlbihmdW5jdGlvbiAoYm91bmQpIHtcbiAgICAgIHJldHVybiBjYWxsU2VydmVyKG1ldGFEYXRhLmlkLCBib3VuZC5jb25jYXQoYXJncykpO1xuICAgIH0pO1xuICB9O1xuXG4gIHJlZ2lzdGVyU2VydmVyUmVmZXJlbmNlKHByb3h5LCBtZXRhRGF0YSk7XG4gIHJldHVybiBwcm94eTtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0bGluZWRNb2RlbChyZXNwb25zZSwgaWQpIHtcbiAgdmFyIGNodW5rID0gZ2V0Q2h1bmsocmVzcG9uc2UsIGlkKTtcblxuICBzd2l0Y2ggKGNodW5rLnN0YXR1cykge1xuICAgIGNhc2UgUkVTT0xWRURfTU9ERUw6XG4gICAgICBpbml0aWFsaXplTW9kZWxDaHVuayhjaHVuayk7XG4gICAgICBicmVhaztcbiAgfSAvLyBUaGUgc3RhdHVzIG1pZ2h0IGhhdmUgY2hhbmdlZCBhZnRlciBpbml0aWFsaXphdGlvbi5cblxuXG4gIHN3aXRjaCAoY2h1bmsuc3RhdHVzKSB7XG4gICAgY2FzZSBJTklUSUFMSVpFRDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIGNodW5rLnZhbHVlO1xuICAgICAgfVxuICAgIC8vIFdlIGFsd2F5cyBlbmNvZGUgaXQgZmlyc3QgaW4gdGhlIHN0cmVhbSBzbyBpdCB3b24ndCBiZSBwZW5kaW5nLlxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IGNodW5rLnJlYXNvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZU1vZGVsU3RyaW5nKHJlc3BvbnNlLCBwYXJlbnRPYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgaWYgKHZhbHVlWzBdID09PSAnJCcpIHtcbiAgICBpZiAodmFsdWUgPT09ICckJykge1xuICAgICAgLy8gQSB2ZXJ5IGNvbW1vbiBzeW1ib2wuXG4gICAgICByZXR1cm4gUkVBQ1RfRUxFTUVOVF9UWVBFO1xuICAgIH1cblxuICAgIHN3aXRjaCAodmFsdWVbMV0pIHtcbiAgICAgIGNhc2UgJyQnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gVGhpcyB3YXMgYW4gZXNjYXBlZCBzdHJpbmcgdmFsdWUuXG4gICAgICAgICAgcmV0dXJuIHZhbHVlLnNsaWNlKDEpO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ0wnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gTGF6eSBub2RlXG4gICAgICAgICAgdmFyIGlkID0gcGFyc2VJbnQodmFsdWUuc2xpY2UoMiksIDE2KTtcbiAgICAgICAgICB2YXIgY2h1bmsgPSBnZXRDaHVuayhyZXNwb25zZSwgaWQpOyAvLyBXZSBjcmVhdGUgYSBSZWFjdC5sYXp5IHdyYXBwZXIgYXJvdW5kIGFueSBsYXp5IHZhbHVlcy5cbiAgICAgICAgICAvLyBXaGVuIHBhc3NlZCBpbnRvIFJlYWN0LCB3ZSdsbCBrbm93IGhvdyB0byBzdXNwZW5kIG9uIHRoaXMuXG5cbiAgICAgICAgICByZXR1cm4gY3JlYXRlTGF6eUNodW5rV3JhcHBlcihjaHVuayk7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnQCc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBQcm9taXNlXG4gICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgLy8gSW5maW5pdGUgcHJvbWlzZSB0aGF0IG5ldmVyIHJlc29sdmVzLlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uICgpIHt9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgX2lkID0gcGFyc2VJbnQodmFsdWUuc2xpY2UoMiksIDE2KTtcblxuICAgICAgICAgIHZhciBfY2h1bmsgPSBnZXRDaHVuayhyZXNwb25zZSwgX2lkKTtcblxuICAgICAgICAgIHJldHVybiBfY2h1bms7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnUyc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBTeW1ib2xcbiAgICAgICAgICByZXR1cm4gU3ltYm9sLmZvcih2YWx1ZS5zbGljZSgyKSk7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnRic6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBTZXJ2ZXIgUmVmZXJlbmNlXG4gICAgICAgICAgdmFyIF9pZDIgPSBwYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgMTYpO1xuXG4gICAgICAgICAgdmFyIG1ldGFkYXRhID0gZ2V0T3V0bGluZWRNb2RlbChyZXNwb25zZSwgX2lkMik7XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZVNlcnZlclJlZmVyZW5jZVByb3h5KHJlc3BvbnNlLCBtZXRhZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnUSc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBNYXBcbiAgICAgICAgICB2YXIgX2lkMyA9IHBhcnNlSW50KHZhbHVlLnNsaWNlKDIpLCAxNik7XG5cbiAgICAgICAgICB2YXIgZGF0YSA9IGdldE91dGxpbmVkTW9kZWwocmVzcG9uc2UsIF9pZDMpO1xuICAgICAgICAgIHJldHVybiBuZXcgTWFwKGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ1cnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gU2V0XG4gICAgICAgICAgdmFyIF9pZDQgPSBwYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgMTYpO1xuXG4gICAgICAgICAgdmFyIF9kYXRhID0gZ2V0T3V0bGluZWRNb2RlbChyZXNwb25zZSwgX2lkNCk7XG5cbiAgICAgICAgICByZXR1cm4gbmV3IFNldChfZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnSSc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyAkSW5maW5pdHlcbiAgICAgICAgICByZXR1cm4gSW5maW5pdHk7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnLSc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyAkLTAgb3IgJC1JbmZpbml0eVxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJyQtMCcpIHtcbiAgICAgICAgICAgIHJldHVybiAtMDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIC1JbmZpbml0eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnTic6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyAkTmFOXG4gICAgICAgICAgcmV0dXJuIE5hTjtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICd1JzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIG1hdGNoZXMgXCIkdW5kZWZpbmVkXCJcbiAgICAgICAgICAvLyBTcGVjaWFsIGVuY29kaW5nIGZvciBgdW5kZWZpbmVkYCB3aGljaCBjYW4ndCBiZSBzZXJpYWxpemVkIGFzIEpTT04gb3RoZXJ3aXNlLlxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnRCc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBEYXRlXG4gICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKERhdGUucGFyc2UodmFsdWUuc2xpY2UoMikpKTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICduJzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIEJpZ0ludFxuICAgICAgICAgIHJldHVybiBCaWdJbnQodmFsdWUuc2xpY2UoMikpO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ0UnOlxuICAgICAgICB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgLy8gSW4gREVWIG1vZGUgd2UgYWxsb3cgaW5kaXJlY3QgZXZhbCB0byBwcm9kdWNlIGZ1bmN0aW9ucyBmb3IgbG9nZ2luZy5cbiAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBjb21waWxlIHRvIGV2YWwoKSBiZWNhdXNlIHRoZW4gaXQgaGFzIGxvY2FsIHNjb3BlIGFjY2Vzcy5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1ldmFsXG4gICAgICAgICAgICAgIHJldHVybiAoMCwgZXZhbCkodmFsdWUuc2xpY2UoMikpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICAvLyBXZSBjdXJyZW50bHkgdXNlIHRoaXMgdG8gZXhwcmVzcyBmdW5jdGlvbnMgc28gd2UgZmFpbCBwYXJzaW5nIGl0LFxuICAgICAgICAgICAgICAvLyBsZXQncyBqdXN0IHJldHVybiBhIGJsYW5rIGZ1bmN0aW9uIGFzIGEgcGxhY2UgaG9sZGVyLlxuICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBGYWxsdGhyb3VnaFxuXG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFdlIGFzc3VtZSB0aGF0IGFueXRoaW5nIGVsc2UgaXMgYSByZWZlcmVuY2UgSUQuXG4gICAgICAgICAgdmFyIF9pZDUgPSBwYXJzZUludCh2YWx1ZS5zbGljZSgxKSwgMTYpO1xuXG4gICAgICAgICAgdmFyIF9jaHVuazIgPSBnZXRDaHVuayhyZXNwb25zZSwgX2lkNSk7XG5cbiAgICAgICAgICBzd2l0Y2ggKF9jaHVuazIuc3RhdHVzKSB7XG4gICAgICAgICAgICBjYXNlIFJFU09MVkVEX01PREVMOlxuICAgICAgICAgICAgICBpbml0aWFsaXplTW9kZWxDaHVuayhfY2h1bmsyKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgUkVTT0xWRURfTU9EVUxFOlxuICAgICAgICAgICAgICBpbml0aWFsaXplTW9kdWxlQ2h1bmsoX2NodW5rMik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gLy8gVGhlIHN0YXR1cyBtaWdodCBoYXZlIGNoYW5nZWQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uXG5cblxuICAgICAgICAgIHN3aXRjaCAoX2NodW5rMi5zdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgSU5JVElBTElaRUQ6XG4gICAgICAgICAgICAgIHZhciBjaHVua1ZhbHVlID0gX2NodW5rMi52YWx1ZTtcblxuICAgICAgICAgICAgICBpZiAoX2NodW5rMi5fZGVidWdJbmZvKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIGRpcmVjdCByZWZlcmVuY2UgdG8gYW4gb2JqZWN0IHRoYXQgd2FzIHJlbmRlcmVkIGJ5IGEgc3luY2hyb25vdXNcbiAgICAgICAgICAgICAgICAvLyBzZXJ2ZXIgY29tcG9uZW50LCBpdCBtaWdodCBoYXZlIHNvbWUgZGVidWcgaW5mbyBhYm91dCBob3cgaXQgd2FzIHJlbmRlcmVkLlxuICAgICAgICAgICAgICAgIC8vIFdlIGZvcndhcmQgdGhpcyB0byB0aGUgdW5kZXJseWluZyBvYmplY3QuIFRoaXMgbWlnaHQgYmUgYSBSZWFjdCBFbGVtZW50IG9yXG4gICAgICAgICAgICAgICAgLy8gYW4gQXJyYXkgZnJhZ21lbnQuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyB3YXMgYSBzdHJpbmcgLyBudW1iZXIgcmV0dXJuIHZhbHVlIHdlIGxvc2UgdGhlIGRlYnVnIGluZm8uIFdlIGNob29zZVxuICAgICAgICAgICAgICAgIC8vIHRoYXQgdHJhZGVvZmYgdG8gYWxsb3cgc3luYyBzZXJ2ZXIgY29tcG9uZW50cyB0byByZXR1cm4gcGxhaW4gdmFsdWVzIGFuZCBub3RcbiAgICAgICAgICAgICAgICAvLyB1c2UgdGhlbSBhcyBSZWFjdCBOb2RlcyBuZWNlc3NhcmlseS4gV2UgY291bGQgb3RoZXJ3aXNlIHdyYXAgdGhlbSBpbiBhIExhenkuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaHVua1ZhbHVlID09PSAnb2JqZWN0JyAmJiBjaHVua1ZhbHVlICE9PSBudWxsICYmIChBcnJheS5pc0FycmF5KGNodW5rVmFsdWUpIHx8IGNodW5rVmFsdWUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkgJiYgIWNodW5rVmFsdWUuX2RlYnVnSW5mbykge1xuICAgICAgICAgICAgICAgICAgLy8gV2Ugc2hvdWxkIG1heWJlIHVzZSBhIHVuaXF1ZSBzeW1ib2wgZm9yIGFycmF5cyBidXQgdGhpcyBpcyBhIFJlYWN0IG93bmVkIGFycmF5LlxuICAgICAgICAgICAgICAgICAgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddOiBUaGlzIHNob3VsZCBiZSBhZGRlZCB0byBlbGVtZW50cy5cbiAgICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaHVua1ZhbHVlLCAnX2RlYnVnSW5mbycsIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX2NodW5rMi5fZGVidWdJbmZvXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gY2h1bmtWYWx1ZTtcblxuICAgICAgICAgICAgY2FzZSBQRU5ESU5HOlxuICAgICAgICAgICAgY2FzZSBCTE9DS0VEOlxuICAgICAgICAgICAgY2FzZSBDWUNMSUM6XG4gICAgICAgICAgICAgIHZhciBwYXJlbnRDaHVuayA9IGluaXRpYWxpemluZ0NodW5rO1xuXG4gICAgICAgICAgICAgIF9jaHVuazIudGhlbihjcmVhdGVNb2RlbFJlc29sdmVyKHBhcmVudENodW5rLCBwYXJlbnRPYmplY3QsIGtleSwgX2NodW5rMi5zdGF0dXMgPT09IENZQ0xJQyksIGNyZWF0ZU1vZGVsUmVqZWN0KHBhcmVudENodW5rKSk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHRocm93IF9jaHVuazIucmVhc29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gcGFyc2VNb2RlbFR1cGxlKHJlc3BvbnNlLCB2YWx1ZSkge1xuICB2YXIgdHVwbGUgPSB2YWx1ZTtcblxuICBpZiAodHVwbGVbMF0gPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgIC8vIFRPRE86IENvbnNpZGVyIGhhdmluZyBSZWFjdCBqdXN0IGRpcmVjdGx5IGFjY2VwdCB0aGVzZSBhcnJheXMgYXMgZWxlbWVudHMuXG4gICAgLy8gT3IgZXZlbiBjaGFuZ2UgdGhlIFJlYWN0RWxlbWVudCB0eXBlIHRvIGJlIGFuIGFycmF5LlxuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KHR1cGxlWzFdLCB0dXBsZVsyXSwgdHVwbGVbM10pO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiBtaXNzaW5nQ2FsbCgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gXCJ1c2Ugc2VydmVyXCIgYnV0IHRoZSBjYWxsU2VydmVyIG9wdGlvbiAnICsgJ3dhcyBub3QgaW1wbGVtZW50ZWQgaW4geW91ciByb3V0ZXIgcnVudGltZS4nKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlUmVzcG9uc2UoYnVuZGxlckNvbmZpZywgbW9kdWxlTG9hZGluZywgY2FsbFNlcnZlciwgZW5jb2RlRm9ybUFjdGlvbiwgbm9uY2UpIHtcbiAgdmFyIGNodW5rcyA9IG5ldyBNYXAoKTtcbiAgdmFyIHJlc3BvbnNlID0ge1xuICAgIF9idW5kbGVyQ29uZmlnOiBidW5kbGVyQ29uZmlnLFxuICAgIF9tb2R1bGVMb2FkaW5nOiBtb2R1bGVMb2FkaW5nLFxuICAgIF9jYWxsU2VydmVyOiBjYWxsU2VydmVyICE9PSB1bmRlZmluZWQgPyBjYWxsU2VydmVyIDogbWlzc2luZ0NhbGwsXG4gICAgX2VuY29kZUZvcm1BY3Rpb246IGVuY29kZUZvcm1BY3Rpb24sXG4gICAgX25vbmNlOiBub25jZSxcbiAgICBfY2h1bmtzOiBjaHVua3MsXG4gICAgX3N0cmluZ0RlY29kZXI6IGNyZWF0ZVN0cmluZ0RlY29kZXIoKSxcbiAgICBfZnJvbUpTT046IG51bGwsXG4gICAgX3Jvd1N0YXRlOiAwLFxuICAgIF9yb3dJRDogMCxcbiAgICBfcm93VGFnOiAwLFxuICAgIF9yb3dMZW5ndGg6IDAsXG4gICAgX2J1ZmZlcjogW11cbiAgfTsgLy8gRG9uJ3QgaW5saW5lIHRoaXMgY2FsbCBiZWNhdXNlIGl0IGNhdXNlcyBjbG9zdXJlIHRvIG91dGxpbmUgdGhlIGNhbGwgYWJvdmUuXG5cbiAgcmVzcG9uc2UuX2Zyb21KU09OID0gY3JlYXRlRnJvbUpTT05DYWxsYmFjayhyZXNwb25zZSk7XG4gIHJldHVybiByZXNwb25zZTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU1vZGVsKHJlc3BvbnNlLCBpZCwgbW9kZWwpIHtcbiAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3M7XG4gIHZhciBjaHVuayA9IGNodW5rcy5nZXQoaWQpO1xuXG4gIGlmICghY2h1bmspIHtcbiAgICBjaHVua3Muc2V0KGlkLCBjcmVhdGVSZXNvbHZlZE1vZGVsQ2h1bmsocmVzcG9uc2UsIG1vZGVsKSk7XG4gIH0gZWxzZSB7XG4gICAgcmVzb2x2ZU1vZGVsQ2h1bmsoY2h1bmssIG1vZGVsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlVGV4dChyZXNwb25zZSwgaWQsIHRleHQpIHtcbiAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3M7IC8vIFdlIGFzc3VtZSB0aGF0IHdlIGFsd2F5cyByZWZlcmVuY2UgbGFyZ2Ugc3RyaW5ncyBhZnRlciB0aGV5J3ZlIGJlZW5cbiAgLy8gZW1pdHRlZC5cblxuICBjaHVua3Muc2V0KGlkLCBjcmVhdGVJbml0aWFsaXplZFRleHRDaHVuayhyZXNwb25zZSwgdGV4dCkpO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlTW9kdWxlKHJlc3BvbnNlLCBpZCwgbW9kZWwpIHtcbiAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3M7XG4gIHZhciBjaHVuayA9IGNodW5rcy5nZXQoaWQpO1xuICB2YXIgY2xpZW50UmVmZXJlbmNlTWV0YWRhdGEgPSBwYXJzZU1vZGVsKHJlc3BvbnNlLCBtb2RlbCk7XG4gIHZhciBjbGllbnRSZWZlcmVuY2UgPSByZXNvbHZlQ2xpZW50UmVmZXJlbmNlKHJlc3BvbnNlLl9idW5kbGVyQ29uZmlnLCBjbGllbnRSZWZlcmVuY2VNZXRhZGF0YSk7XG4gIC8vIEZvciBub3cgd2UgcHJlbG9hZCBhbGwgbW9kdWxlcyBhcyBlYXJseSBhcyBwb3NzaWJsZSBzaW5jZSBpdCdzIGxpa2VseVxuICAvLyB0aGF0IHdlJ2xsIG5lZWQgdGhlbS5cblxuICB2YXIgcHJvbWlzZSA9IHByZWxvYWRNb2R1bGUoY2xpZW50UmVmZXJlbmNlKTtcblxuICBpZiAocHJvbWlzZSkge1xuICAgIHZhciBibG9ja2VkQ2h1bms7XG5cbiAgICBpZiAoIWNodW5rKSB7XG4gICAgICAvLyBUZWNobmljYWxseSwgd2Ugc2hvdWxkIGp1c3QgdHJlYXQgcHJvbWlzZSBhcyB0aGUgY2h1bmsgaW4gdGhpc1xuICAgICAgLy8gY2FzZS4gQmVjYXVzZSBpdCdsbCBqdXN0IGJlaGF2ZSBhcyBhbnkgb3RoZXIgcHJvbWlzZS5cbiAgICAgIGJsb2NrZWRDaHVuayA9IGNyZWF0ZUJsb2NrZWRDaHVuayhyZXNwb25zZSk7XG4gICAgICBjaHVua3Muc2V0KGlkLCBibG9ja2VkQ2h1bmspO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGNhbid0IGFjdHVhbGx5IGhhcHBlbiBiZWNhdXNlIHdlIGRvbid0IGhhdmUgYW55IGZvcndhcmRcbiAgICAgIC8vIHJlZmVyZW5jZXMgdG8gbW9kdWxlcy5cbiAgICAgIGJsb2NrZWRDaHVuayA9IGNodW5rO1xuICAgICAgYmxvY2tlZENodW5rLnN0YXR1cyA9IEJMT0NLRUQ7XG4gICAgfVxuXG4gICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiByZXNvbHZlTW9kdWxlQ2h1bmsoYmxvY2tlZENodW5rLCBjbGllbnRSZWZlcmVuY2UpO1xuICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgcmV0dXJuIHRyaWdnZXJFcnJvck9uQ2h1bmsoYmxvY2tlZENodW5rLCBlcnJvcik7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFjaHVuaykge1xuICAgICAgY2h1bmtzLnNldChpZCwgY3JlYXRlUmVzb2x2ZWRNb2R1bGVDaHVuayhyZXNwb25zZSwgY2xpZW50UmVmZXJlbmNlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgY2FuJ3QgYWN0dWFsbHkgaGFwcGVuIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgZm9yd2FyZFxuICAgICAgLy8gcmVmZXJlbmNlcyB0byBtb2R1bGVzLlxuICAgICAgcmVzb2x2ZU1vZHVsZUNodW5rKGNodW5rLCBjbGllbnRSZWZlcmVuY2UpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlRXJyb3JEZXYocmVzcG9uc2UsIGlkLCBkaWdlc3QsIG1lc3NhZ2UsIHN0YWNrKSB7XG5cblxuICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSB8fCAnQW4gZXJyb3Igb2NjdXJyZWQgaW4gdGhlIFNlcnZlciBDb21wb25lbnRzIHJlbmRlciBidXQgbm8gbWVzc2FnZSB3YXMgcHJvdmlkZWQnKTtcbiAgZXJyb3Iuc3RhY2sgPSBzdGFjaztcbiAgZXJyb3IuZGlnZXN0ID0gZGlnZXN0O1xuICB2YXIgZXJyb3JXaXRoRGlnZXN0ID0gZXJyb3I7XG4gIHZhciBjaHVua3MgPSByZXNwb25zZS5fY2h1bmtzO1xuICB2YXIgY2h1bmsgPSBjaHVua3MuZ2V0KGlkKTtcblxuICBpZiAoIWNodW5rKSB7XG4gICAgY2h1bmtzLnNldChpZCwgY3JlYXRlRXJyb3JDaHVuayhyZXNwb25zZSwgZXJyb3JXaXRoRGlnZXN0KSk7XG4gIH0gZWxzZSB7XG4gICAgdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgZXJyb3JXaXRoRGlnZXN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlSGludChyZXNwb25zZSwgY29kZSwgbW9kZWwpIHtcbiAgdmFyIGhpbnRNb2RlbCA9IHBhcnNlTW9kZWwocmVzcG9uc2UsIG1vZGVsKTtcbiAgZGlzcGF0Y2hIaW50KGNvZGUsIGhpbnRNb2RlbCk7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVEZWJ1Z0luZm8ocmVzcG9uc2UsIGlkLCBkZWJ1Z0luZm8pIHtcblxuICB2YXIgY2h1bmsgPSBnZXRDaHVuayhyZXNwb25zZSwgaWQpO1xuICB2YXIgY2h1bmtEZWJ1Z0luZm8gPSBjaHVuay5fZGVidWdJbmZvIHx8IChjaHVuay5fZGVidWdJbmZvID0gW10pO1xuICBjaHVua0RlYnVnSW5mby5wdXNoKGRlYnVnSW5mbyk7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVDb25zb2xlRW50cnkocmVzcG9uc2UsIHZhbHVlKSB7XG5cbiAgdmFyIHBheWxvYWQgPSBwYXJzZU1vZGVsKHJlc3BvbnNlLCB2YWx1ZSk7XG4gIHZhciBtZXRob2ROYW1lID0gcGF5bG9hZFswXTsgLy8gVE9ETzogUmVzdG9yZSB0aGUgZmFrZSBzdGFjayBiZWZvcmUgbG9nZ2luZy5cbiAgLy8gY29uc3Qgc3RhY2tUcmFjZSA9IHBheWxvYWRbMV07XG5cbiAgdmFyIGVudiA9IHBheWxvYWRbMl07XG4gIHZhciBhcmdzID0gcGF5bG9hZC5zbGljZSgzKTtcbiAgcHJpbnRUb0NvbnNvbGUobWV0aG9kTmFtZSwgYXJncywgZW52KTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0Z1bGxSb3cocmVzcG9uc2UsIGlkLCB0YWcsIGJ1ZmZlciwgY2h1bmspIHtcblxuICB2YXIgc3RyaW5nRGVjb2RlciA9IHJlc3BvbnNlLl9zdHJpbmdEZWNvZGVyO1xuICB2YXIgcm93ID0gJyc7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBidWZmZXIubGVuZ3RoOyBpKyspIHtcbiAgICByb3cgKz0gcmVhZFBhcnRpYWxTdHJpbmdDaHVuayhzdHJpbmdEZWNvZGVyLCBidWZmZXJbaV0pO1xuICB9XG5cbiAgcm93ICs9IHJlYWRGaW5hbFN0cmluZ0NodW5rKHN0cmluZ0RlY29kZXIsIGNodW5rKTtcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgNzNcbiAgICAvKiBcIklcIiAqL1xuICAgIDpcbiAgICAgIHtcbiAgICAgICAgcmVzb2x2ZU1vZHVsZShyZXNwb25zZSwgaWQsIHJvdyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgNzJcbiAgICAvKiBcIkhcIiAqL1xuICAgIDpcbiAgICAgIHtcbiAgICAgICAgdmFyIGNvZGUgPSByb3dbMF07XG4gICAgICAgIHJlc29sdmVIaW50KHJlc3BvbnNlLCBjb2RlLCByb3cuc2xpY2UoMSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIDY5XG4gICAgLyogXCJFXCIgKi9cbiAgICA6XG4gICAgICB7XG4gICAgICAgIHZhciBlcnJvckluZm8gPSBKU09OLnBhcnNlKHJvdyk7XG5cbiAgICAgICAge1xuICAgICAgICAgIHJlc29sdmVFcnJvckRldihyZXNwb25zZSwgaWQsIGVycm9ySW5mby5kaWdlc3QsIGVycm9ySW5mby5tZXNzYWdlLCBlcnJvckluZm8uc3RhY2spO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSA4NFxuICAgIC8qIFwiVFwiICovXG4gICAgOlxuICAgICAge1xuICAgICAgICByZXNvbHZlVGV4dChyZXNwb25zZSwgaWQsIHJvdyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgNjhcbiAgICAvKiBcIkRcIiAqL1xuICAgIDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHZhciBkZWJ1Z0luZm8gPSBKU09OLnBhcnNlKHJvdyk7XG4gICAgICAgICAgcmVzb2x2ZURlYnVnSW5mbyhyZXNwb25zZSwgaWQsIGRlYnVnSW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIEZhbGx0aHJvdWdoIHRvIHNoYXJlIHRoZSBlcnJvciB3aXRoIENvbnNvbGUgZW50cmllcy5cblxuICAgICAgfVxuXG4gICAgY2FzZSA4N1xuICAgIC8qIFwiV1wiICovXG4gICAgOlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgcmVzb2x2ZUNvbnNvbGVFbnRyeShyZXNwb25zZSwgcm93KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIGNhc2UgODBcbiAgICAvKiBcIlBcIiAqL1xuICAgIDpcbiAgICAvLyBGYWxsdGhyb3VnaFxuXG4gICAgZGVmYXVsdDpcbiAgICAgIC8qIFwiXCJcIiBcIntcIiBcIltcIiBcInRcIiBcImZcIiBcIm5cIiBcIjBcIiAtIFwiOVwiICovXG4gICAgICB7XG4gICAgICAgIC8vIFdlIGFzc3VtZSBhbnl0aGluZyBlbHNlIGlzIEpTT04uXG4gICAgICAgIHJlc29sdmVNb2RlbChyZXNwb25zZSwgaWQsIHJvdyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzQmluYXJ5Q2h1bmsocmVzcG9uc2UsIGNodW5rKSB7XG4gIHZhciBpID0gMDtcbiAgdmFyIHJvd1N0YXRlID0gcmVzcG9uc2UuX3Jvd1N0YXRlO1xuICB2YXIgcm93SUQgPSByZXNwb25zZS5fcm93SUQ7XG4gIHZhciByb3dUYWcgPSByZXNwb25zZS5fcm93VGFnO1xuICB2YXIgcm93TGVuZ3RoID0gcmVzcG9uc2UuX3Jvd0xlbmd0aDtcbiAgdmFyIGJ1ZmZlciA9IHJlc3BvbnNlLl9idWZmZXI7XG4gIHZhciBjaHVua0xlbmd0aCA9IGNodW5rLmxlbmd0aDtcblxuICB3aGlsZSAoaSA8IGNodW5rTGVuZ3RoKSB7XG4gICAgdmFyIGxhc3RJZHggPSAtMTtcblxuICAgIHN3aXRjaCAocm93U3RhdGUpIHtcbiAgICAgIGNhc2UgUk9XX0lEOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGJ5dGUgPSBjaHVua1tpKytdO1xuXG4gICAgICAgICAgaWYgKGJ5dGUgPT09IDU4XG4gICAgICAgICAgLyogXCI6XCIgKi9cbiAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgLy8gRmluaXNoZWQgdGhlIHJvd0lELCBuZXh0IHdlJ2xsIHBhcnNlIHRoZSB0YWcuXG4gICAgICAgICAgICAgIHJvd1N0YXRlID0gUk9XX1RBRztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByb3dJRCA9IHJvd0lEIDw8IDQgfCAoYnl0ZSA+IDk2ID8gYnl0ZSAtIDg3IDogYnl0ZSAtIDQ4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFJPV19UQUc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgcmVzb2x2ZWRSb3dUYWcgPSBjaHVua1tpXTtcblxuICAgICAgICAgIGlmIChyZXNvbHZlZFJvd1RhZyA9PT0gODRcbiAgICAgICAgICAvKiBcIlRcIiAqL1xuICAgICAgICAgIHx8IGVuYWJsZUJpbmFyeUZsaWdodCBcbiAgICAgICAgICAvKiBcIlZcIiAqL1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgICByb3dUYWcgPSByZXNvbHZlZFJvd1RhZztcbiAgICAgICAgICAgICAgcm93U3RhdGUgPSBST1dfTEVOR1RIO1xuICAgICAgICAgICAgICBpKys7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc29sdmVkUm93VGFnID4gNjQgJiYgcmVzb2x2ZWRSb3dUYWcgPCA5MVxuICAgICAgICAgIC8qIFwiQVwiLVwiWlwiICovXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJvd1RhZyA9IHJlc29sdmVkUm93VGFnO1xuICAgICAgICAgICAgICByb3dTdGF0ZSA9IFJPV19DSFVOS19CWV9ORVdMSU5FO1xuICAgICAgICAgICAgICBpKys7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm93VGFnID0gMDtcbiAgICAgICAgICAgIHJvd1N0YXRlID0gUk9XX0NIVU5LX0JZX05FV0xJTkU7IC8vIFRoaXMgd2FzIGFuIHVua25vd24gdGFnIHNvIGl0IHdhcyBwcm9iYWJseSBwYXJ0IG9mIHRoZSBkYXRhLlxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUk9XX0xFTkdUSDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBfYnl0ZSA9IGNodW5rW2krK107XG5cbiAgICAgICAgICBpZiAoX2J5dGUgPT09IDQ0XG4gICAgICAgICAgLyogXCIsXCIgKi9cbiAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgLy8gRmluaXNoZWQgdGhlIHJvd0xlbmd0aCwgbmV4dCB3ZSdsbCBidWZmZXIgdXAgdG8gdGhhdCBsZW5ndGguXG4gICAgICAgICAgICAgIHJvd1N0YXRlID0gUk9XX0NIVU5LX0JZX0xFTkdUSDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByb3dMZW5ndGggPSByb3dMZW5ndGggPDwgNCB8IChfYnl0ZSA+IDk2ID8gX2J5dGUgLSA4NyA6IF9ieXRlIC0gNDgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUk9XX0NIVU5LX0JZX05FV0xJTkU6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSdyZSBsb29raW5nIGZvciBhIG5ld2xpbmVcbiAgICAgICAgICBsYXN0SWR4ID0gY2h1bmsuaW5kZXhPZigxMFxuICAgICAgICAgIC8qIFwiXFxuXCIgKi9cbiAgICAgICAgICAsIGkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUk9XX0NIVU5LX0JZX0xFTkdUSDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFdlJ3JlIGxvb2tpbmcgZm9yIHRoZSByZW1haW5pbmcgYnl0ZSBsZW5ndGhcbiAgICAgICAgICBsYXN0SWR4ID0gaSArIHJvd0xlbmd0aDtcblxuICAgICAgICAgIGlmIChsYXN0SWR4ID4gY2h1bmsubGVuZ3RoKSB7XG4gICAgICAgICAgICBsYXN0SWR4ID0gLTE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgb2Zmc2V0ID0gY2h1bmsuYnl0ZU9mZnNldCArIGk7XG5cbiAgICBpZiAobGFzdElkeCA+IC0xKSB7XG4gICAgICAvLyBXZSBmb3VuZCB0aGUgbGFzdCBjaHVuayBvZiB0aGUgcm93XG4gICAgICB2YXIgbGVuZ3RoID0gbGFzdElkeCAtIGk7XG4gICAgICB2YXIgbGFzdENodW5rID0gbmV3IFVpbnQ4QXJyYXkoY2h1bmsuYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCk7XG4gICAgICBwcm9jZXNzRnVsbFJvdyhyZXNwb25zZSwgcm93SUQsIHJvd1RhZywgYnVmZmVyLCBsYXN0Q2h1bmspOyAvLyBSZXNldCBzdGF0ZSBtYWNoaW5lIGZvciBhIG5ldyByb3dcblxuICAgICAgaSA9IGxhc3RJZHg7XG5cbiAgICAgIGlmIChyb3dTdGF0ZSA9PT0gUk9XX0NIVU5LX0JZX05FV0xJTkUpIHtcbiAgICAgICAgLy8gSWYgd2UncmUgdHJhaWxpbmcgYnkgYSBuZXdsaW5lIHdlIG5lZWQgdG8gc2tpcCBpdC5cbiAgICAgICAgaSsrO1xuICAgICAgfVxuXG4gICAgICByb3dTdGF0ZSA9IFJPV19JRDtcbiAgICAgIHJvd1RhZyA9IDA7XG4gICAgICByb3dJRCA9IDA7XG4gICAgICByb3dMZW5ndGggPSAwO1xuICAgICAgYnVmZmVyLmxlbmd0aCA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSByZXN0IG9mIHRoaXMgcm93IGlzIGluIGEgZnV0dXJlIGNodW5rLiBXZSBzdGFzaCB0aGUgcmVzdCBvZiB0aGVcbiAgICAgIC8vIGN1cnJlbnQgY2h1bmsgdW50aWwgd2UgY2FuIHByb2Nlc3MgdGhlIGZ1bGwgcm93LlxuICAgICAgdmFyIF9sZW5ndGggPSBjaHVuay5ieXRlTGVuZ3RoIC0gaTtcblxuICAgICAgdmFyIHJlbWFpbmluZ1NsaWNlID0gbmV3IFVpbnQ4QXJyYXkoY2h1bmsuYnVmZmVyLCBvZmZzZXQsIF9sZW5ndGgpO1xuICAgICAgYnVmZmVyLnB1c2gocmVtYWluaW5nU2xpY2UpOyAvLyBVcGRhdGUgaG93IG1hbnkgYnl0ZXMgd2UncmUgc3RpbGwgd2FpdGluZyBmb3IuIElmIHdlJ3JlIGxvb2tpbmcgZm9yXG4gICAgICAvLyBhIG5ld2xpbmUsIHRoaXMgZG9lc24ndCBodXJ0IHNpbmNlIHdlJ2xsIGp1c3QgaWdub3JlIGl0LlxuXG4gICAgICByb3dMZW5ndGggLT0gcmVtYWluaW5nU2xpY2UuYnl0ZUxlbmd0aDtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJlc3BvbnNlLl9yb3dTdGF0ZSA9IHJvd1N0YXRlO1xuICByZXNwb25zZS5fcm93SUQgPSByb3dJRDtcbiAgcmVzcG9uc2UuX3Jvd1RhZyA9IHJvd1RhZztcbiAgcmVzcG9uc2UuX3Jvd0xlbmd0aCA9IHJvd0xlbmd0aDtcbn1cblxuZnVuY3Rpb24gcGFyc2VNb2RlbChyZXNwb25zZSwganNvbikge1xuICByZXR1cm4gSlNPTi5wYXJzZShqc29uLCByZXNwb25zZS5fZnJvbUpTT04pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGcm9tSlNPTkNhbGxiYWNrKHJlc3BvbnNlKSB7XG4gIC8vICRGbG93Rml4TWVbbWlzc2luZy10aGlzLWFubm90XVxuICByZXR1cm4gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gV2UgY2FuJ3QgdXNlIC5iaW5kIGhlcmUgYmVjYXVzZSB3ZSBuZWVkIHRoZSBcInRoaXNcIiB2YWx1ZS5cbiAgICAgIHJldHVybiBwYXJzZU1vZGVsU3RyaW5nKHJlc3BvbnNlLCB0aGlzLCBrZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHBhcnNlTW9kZWxUdXBsZShyZXNwb25zZSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2xvc2UocmVzcG9uc2UpIHtcbiAgLy8gSW4gY2FzZSB0aGVyZSBhcmUgYW55IHJlbWFpbmluZyB1bnJlc29sdmVkIGNodW5rcywgdGhleSB3b24ndFxuICAvLyBiZSByZXNvbHZlZCBub3cuIFNvIHdlIG5lZWQgdG8gaXNzdWUgYW4gZXJyb3IgdG8gdGhvc2UuXG4gIC8vIElkZWFsbHkgd2Ugc2hvdWxkIGJlIGFibGUgdG8gZWFybHkgYmFpbCBvdXQgaWYgd2Uga2VwdCBhXG4gIC8vIHJlZiBjb3VudCBvZiBwZW5kaW5nIGNodW5rcy5cbiAgcmVwb3J0R2xvYmFsRXJyb3IocmVzcG9uc2UsIG5ldyBFcnJvcignQ29ubmVjdGlvbiBjbG9zZWQuJykpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVSZXNwb25zZUZyb21PcHRpb25zKG9wdGlvbnMpIHtcbiAgcmV0dXJuIGNyZWF0ZVJlc3BvbnNlKG51bGwsIG51bGwsIG9wdGlvbnMgJiYgb3B0aW9ucy5jYWxsU2VydmVyID8gb3B0aW9ucy5jYWxsU2VydmVyIDogdW5kZWZpbmVkLCB1bmRlZmluZWQsIC8vIGVuY29kZUZvcm1BY3Rpb25cbiAgdW5kZWZpbmVkIC8vIG5vbmNlXG4gICk7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0UmVhZGluZ0Zyb21TdHJlYW0ocmVzcG9uc2UsIHN0cmVhbSkge1xuICB2YXIgcmVhZGVyID0gc3RyZWFtLmdldFJlYWRlcigpO1xuXG4gIGZ1bmN0aW9uIHByb2dyZXNzKF9yZWYpIHtcbiAgICB2YXIgZG9uZSA9IF9yZWYuZG9uZSxcbiAgICAgICAgdmFsdWUgPSBfcmVmLnZhbHVlO1xuXG4gICAgaWYgKGRvbmUpIHtcbiAgICAgIGNsb3NlKHJlc3BvbnNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgYnVmZmVyID0gdmFsdWU7XG4gICAgcHJvY2Vzc0JpbmFyeUNodW5rKHJlc3BvbnNlLCBidWZmZXIpO1xuICAgIHJldHVybiByZWFkZXIucmVhZCgpLnRoZW4ocHJvZ3Jlc3MpLmNhdGNoKGVycm9yKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVycm9yKGUpIHtcbiAgICByZXBvcnRHbG9iYWxFcnJvcihyZXNwb25zZSwgZSk7XG4gIH1cblxuICByZWFkZXIucmVhZCgpLnRoZW4ocHJvZ3Jlc3MpLmNhdGNoKGVycm9yKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtKHN0cmVhbSwgb3B0aW9ucykge1xuICB2YXIgcmVzcG9uc2UgPSBjcmVhdGVSZXNwb25zZUZyb21PcHRpb25zKG9wdGlvbnMpO1xuICBzdGFydFJlYWRpbmdGcm9tU3RyZWFtKHJlc3BvbnNlLCBzdHJlYW0pO1xuICByZXR1cm4gZ2V0Um9vdChyZXNwb25zZSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZyb21GZXRjaChwcm9taXNlRm9yUmVzcG9uc2UsIG9wdGlvbnMpIHtcbiAgdmFyIHJlc3BvbnNlID0gY3JlYXRlUmVzcG9uc2VGcm9tT3B0aW9ucyhvcHRpb25zKTtcbiAgcHJvbWlzZUZvclJlc3BvbnNlLnRoZW4oZnVuY3Rpb24gKHIpIHtcbiAgICBzdGFydFJlYWRpbmdGcm9tU3RyZWFtKHJlc3BvbnNlLCByLmJvZHkpO1xuICB9LCBmdW5jdGlvbiAoZSkge1xuICAgIHJlcG9ydEdsb2JhbEVycm9yKHJlc3BvbnNlLCBlKTtcbiAgfSk7XG4gIHJldHVybiBnZXRSb290KHJlc3BvbnNlKTtcbn1cblxuZnVuY3Rpb24gZW5jb2RlUmVwbHkodmFsdWUpXG4vKiBXZSBkb24ndCB1c2UgVVJMU2VhcmNoUGFyYW1zIHlldCBidXQgbWF5YmUgKi9cbntcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICBwcm9jZXNzUmVwbHkodmFsdWUsICcnLCByZXNvbHZlLCByZWplY3QpO1xuICB9KTtcbn1cblxuZXhwb3J0cy5jcmVhdGVGcm9tRmV0Y2ggPSBjcmVhdGVGcm9tRmV0Y2g7XG5leHBvcnRzLmNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbSA9IGNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbTtcbmV4cG9ydHMuY3JlYXRlU2VydmVyUmVmZXJlbmNlID0gY3JlYXRlU2VydmVyUmVmZXJlbmNlO1xuZXhwb3J0cy5lbmNvZGVSZXBseSA9IGVuY29kZVJlcGx5O1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.browser.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-server-dom-webpack/client.browser.js ***! - \************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-server-dom-webpack-client.browser.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudC5icm93c2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxxUEFBd0Y7QUFDMUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50LmJyb3dzZXIuanM/MDMzNyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC5icm93c2VyLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LXNlcnZlci1kb20td2VicGFjay1jbGllbnQuYnJvd3Nlci5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.browser.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-server-dom-webpack/client.js ***! - \****************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nmodule.exports = __webpack_require__(/*! ./client.browser */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.browser.js\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixnS0FBNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50LmpzP2I4NGQiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2xpZW50LmJyb3dzZXInKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-runtime.development.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-runtime.development.js ***! - \************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar assign = Object.assign;\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\n// support `jsx` and `jsxs` when running in development. This supports the case\n// where a third-party dependency ships code that was compiled for production;\n// we want to still provide warnings in development.\n//\n// So these functions are the _dev_ implementations of the _production_\n// API signatures.\n//\n// Since these functions are dev-only, it's ok to add an indirection here. They\n// only exist to provide different versions of `isStaticChildren`. (We shouldn't\n// use this pattern for the prod versions, though, because it will add an call\n// frame.)\n\nfunction jsxProdSignatureRunningInDevWithDynamicChildren(type, config, maybeKey, source, self) {\n {\n var isStaticChildren = false;\n return jsxDEV(type, config, maybeKey, isStaticChildren, source, self);\n }\n}\nfunction jsxProdSignatureRunningInDevWithStaticChildren(type, config, maybeKey, source, self) {\n {\n var isStaticChildren = true;\n return jsxDEV(type, config, maybeKey, isStaticChildren, source, self);\n }\n}\nvar didWarnAboutKeySpread = {};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, isStaticChildren, source, self) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n var children = config.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n } // Warn about key spread regardless of whether the type is valid.\n\n\n if (hasOwnProperty.call(config, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref')) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n var element = ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar jsx = jsxProdSignatureRunningInDevWithDynamicChildren ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxProdSignatureRunningInDevWithStaticChildren ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7O0FBRUEsWUFBWSxtQkFBTyxDQUFDLHNHQUEwQjs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEOztBQUV4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUdBQWlHLGVBQWU7QUFDaEg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUixrREFBa0Q7QUFDbEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsNEJBQTRCO0FBQzVCO0FBQ0EscUNBQXFDOztBQUVyQyxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7O0FBRUEscUVBQXFFOztBQUVyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrR0FBa0c7O0FBRWxHO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQSxTQUFTO0FBQ1QsdUJBQXVCO0FBQ3ZCO0FBQ0EsU0FBUztBQUNULHVCQUF1QjtBQUN2QjtBQUNBLFNBQVM7QUFDVCx3QkFBd0I7QUFDeEI7QUFDQSxTQUFTO0FBQ1Qsd0JBQXdCO0FBQ3hCO0FBQ0EsU0FBUztBQUNULGlDQUFpQztBQUNqQztBQUNBLFNBQVM7QUFDVCwyQkFBMkI7QUFDM0I7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyREFBMkQ7O0FBRTNEO0FBQ0E7O0FBRUE7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7OztBQUdiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7O0FBRVg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBOztBQUVBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxjQUFjOzs7QUFHZDtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7O0FBR0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxnSEFBZ0g7O0FBRWhIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxhQUFhLGtCQUFrQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25COztBQUVBO0FBQ0E7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixJQUFJO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjs7O0FBR2xCO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsZUFBZTtBQUMxQixXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsaUJBQWlCO0FBQ3JDOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0REFBNEQ7QUFDNUQ7O0FBRUE7O0FBRUEsZ0JBQWdCO0FBQ2hCLFdBQVc7QUFDWCxZQUFZO0FBQ1osR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmpzPzlmODYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3RcIik7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7IC8vIFRPRE86IERlbGV0ZSB3aXRoIGVuYWJsZVJlbmRlcmFibGVDb250ZXh0XG5cbnZhciBSRUFDVF9DT05TVU1FUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29uc3VtZXInKTtcbnZhciBSRUFDVF9DT05URVhUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb250ZXh0Jyk7XG52YXIgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZvcndhcmRfcmVmJyk7XG52YXIgUkVBQ1RfU1VTUEVOU0VfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlJyk7XG52YXIgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2VfbGlzdCcpO1xudmFyIFJFQUNUX01FTU9fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm1lbW8nKTtcbnZhciBSRUFDVF9MQVpZX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5sYXp5Jyk7XG52YXIgUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5vZmZzY3JlZW4nKTtcbnZhciBSRUFDVF9DQUNIRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY2FjaGUnKTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSBTeW1ib2wuaXRlcmF0b3I7XG52YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7XG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbWF5YmVJdGVyYXRvciA9IE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF07XG5cbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1heWJlSXRlcmF0b3I7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIFJlYWN0U2hhcmVkSW50ZXJuYWxzID0gUmVhY3QuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ7XG5cbmZ1bmN0aW9uIGVycm9yKGZvcm1hdCkge1xuICB7XG4gICAge1xuICAgICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yID4gMSA/IF9sZW4yIC0gMSA6IDApLCBfa2V5MiA9IDE7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICAgICAgYXJnc1tfa2V5MiAtIDFdID0gYXJndW1lbnRzW19rZXkyXTtcbiAgICAgIH1cblxuICAgICAgcHJpbnRXYXJuaW5nKCdlcnJvcicsIGZvcm1hdCwgYXJncyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByaW50V2FybmluZyhsZXZlbCwgZm9ybWF0LCBhcmdzKSB7XG4gIC8vIFdoZW4gY2hhbmdpbmcgdGhpcyBsb2dpYywgeW91IG1pZ2h0IHdhbnQgdG8gYWxzb1xuICAvLyB1cGRhdGUgY29uc29sZVdpdGhTdGFja0Rldi53d3cuanMgYXMgd2VsbC5cbiAge1xuICAgIHZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbiAgICB2YXIgc3RhY2sgPSBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldFN0YWNrQWRkZW5kdW0oKTtcblxuICAgIGlmIChzdGFjayAhPT0gJycpIHtcbiAgICAgIGZvcm1hdCArPSAnJXMnO1xuICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KFtzdGFja10pO1xuICAgIH0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG5cblxuICAgIHZhciBhcmdzV2l0aEZvcm1hdCA9IGFyZ3MubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICByZXR1cm4gU3RyaW5nKGl0ZW0pO1xuICAgIH0pOyAvLyBDYXJlZnVsOiBSTiBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByZWZpeFxuXG4gICAgYXJnc1dpdGhGb3JtYXQudW5zaGlmdCgnV2FybmluZzogJyArIGZvcm1hdCk7IC8vIFdlIGludGVudGlvbmFsbHkgZG9uJ3QgdXNlIHNwcmVhZCAob3IgLmFwcGx5KSBkaXJlY3RseSBiZWNhdXNlIGl0XG4gICAgLy8gYnJlYWtzIElFOTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzYxMFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmdcblxuICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGNvbnNvbGVbbGV2ZWxdLCBjb25zb2xlLCBhcmdzV2l0aEZvcm1hdCk7XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudmFyIGVuYWJsZVNjb3BlQVBJID0gZmFsc2U7IC8vIEV4cGVyaW1lbnRhbCBDcmVhdGUgRXZlbnQgSGFuZGxlIEFQSS5cbnZhciBlbmFibGVDYWNoZUVsZW1lbnQgPSBmYWxzZTtcbnZhciBlbmFibGVUcmFuc2l0aW9uVHJhY2luZyA9IGZhbHNlOyAvLyBObyBrbm93biBidWdzLCBidXQgbmVlZHMgcGVyZm9ybWFuY2UgdGVzdGluZ1xuXG52YXIgZW5hYmxlTGVnYWN5SGlkZGVuID0gZmFsc2U7IC8vIEVuYWJsZXMgdW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgZmVhdHVyZSBpbiBGaWJlclxudmFyIGVuYWJsZVJlbmRlcmFibGVDb250ZXh0ID0gZmFsc2U7XG4vLyBzdHVmZi4gSW50ZW5kZWQgdG8gZW5hYmxlIFJlYWN0IGNvcmUgbWVtYmVycyB0byBtb3JlIGVhc2lseSBkZWJ1ZyBzY2hlZHVsaW5nXG4vLyBpc3N1ZXMgaW4gREVWIGJ1aWxkcy5cblxudmFyIGVuYWJsZURlYnVnVHJhY2luZyA9IGZhbHNlO1xuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQyID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpOyAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cbmZ1bmN0aW9uIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICAvLyBIb3N0IHJvb3QsIHRleHQgbm9kZSBvciBqdXN0IGludmFsaWQgdHlwZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIpIHtcbiAgICAgIC8vIFRPRE86IENyZWF0ZSBhIGNvbnZlbnRpb24gZm9yIG5hbWluZyBjbGllbnQgcmVmZXJlbmNlcyB3aXRoIGRlYnVnIGluZm8uXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgIHJldHVybiAnRnJhZ21lbnQnO1xuXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgIHJldHVybiAnUG9ydGFsJztcblxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgIHJldHVybiAnUHJvZmlsZXInO1xuXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG5cbiAgICBjYXNlIFJFQUNUX0NBQ0hFX1RZUEU6XG4gICAgICB7XG4gICAgICAgIHJldHVybiAnQ2FjaGUnO1xuICAgICAgfVxuXG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAge1xuICAgICAgaWYgKHR5cGVvZiB0eXBlLnRhZyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgZXJyb3IoJ1JlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiAnICsgJ1RoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwcm92aWRlciA9IHR5cGU7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICB2YXIgY29udGV4dCA9IHR5cGU7XG5cbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBnZXRDb250ZXh0TmFtZShjb250ZXh0KSArICcuQ29uc3VtZXInO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfQ09OU1VNRVJfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldFdyYXBwZWROYW1lKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgdmFyIG91dGVyTmFtZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbDtcblxuICAgICAgICBpZiAob3V0ZXJOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG91dGVyTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnTWVtbyc7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShpbml0KHBheWxvYWQpKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxudmFyIGFzc2lnbiA9IE9iamVjdC5hc3NpZ247XG5cbi8qXG4gKiBUaGUgYCcnICsgdmFsdWVgIHBhdHRlcm4gKHVzZWQgaW4gcGVyZi1zZW5zaXRpdmUgY29kZSkgdGhyb3dzIGZvciBTeW1ib2xcbiAqIGFuZCBUZW1wb3JhbC4qIHR5cGVzLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMjIwNjQuXG4gKlxuICogVGhlIGZ1bmN0aW9ucyBpbiB0aGlzIG1vZHVsZSB3aWxsIHRocm93IGFuIGVhc2llci10by11bmRlcnN0YW5kLFxuICogZWFzaWVyLXRvLWRlYnVnIGV4Y2VwdGlvbiB3aXRoIGEgY2xlYXIgZXJyb3JzIG1lc3NhZ2UgbWVzc2FnZSBleHBsYWluaW5nIHRoZVxuICogcHJvYmxlbS4gKEluc3RlYWQgb2YgYSBjb25mdXNpbmcgZXhjZXB0aW9uIHRocm93biBpbnNpZGUgdGhlIGltcGxlbWVudGF0aW9uXG4gKiBvZiB0aGUgYHZhbHVlYCBvYmplY3QpLlxuICovXG4vLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuZnVuY3Rpb24gdHlwZU5hbWUodmFsdWUpIHtcbiAge1xuICAgIC8vIHRvU3RyaW5nVGFnIGlzIG5lZWRlZCBmb3IgbmFtZXNwYWNlZCB0eXBlcyBsaWtlIFRlbXBvcmFsLkluc3RhbnRcbiAgICB2YXIgaGFzVG9TdHJpbmdUYWcgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC50b1N0cmluZ1RhZztcbiAgICB2YXIgdHlwZSA9IGhhc1RvU3RyaW5nVGFnICYmIHZhbHVlW1N5bWJvbC50b1N0cmluZ1RhZ10gfHwgdmFsdWUuY29uc3RydWN0b3IubmFtZSB8fCAnT2JqZWN0JzsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cblxudmFyIFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNsaWVudC5yZWZlcmVuY2UnKTtcbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBOb3RlOiB0eXBlb2YgbWlnaHQgYmUgb3RoZXIgdGhhbiAnc3ltYm9sJyBvciAnbnVtYmVyJyAoZS5nLiBpZiBpdCdzIGEgcG9seWZpbGwpLlxuXG5cbiAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfUFJPRklMRVJfVFlQRSB8fCBlbmFibGVEZWJ1Z1RyYWNpbmcgIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgZW5hYmxlTGVnYWN5SGlkZGVuICB8fCB0eXBlID09PSBSRUFDVF9PRkZTQ1JFRU5fVFlQRSB8fCBlbmFibGVTY29wZUFQSSAgfHwgZW5hYmxlQ2FjaGVFbGVtZW50ICB8fCBlbmFibGVUcmFuc2l0aW9uVHJhY2luZyApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IGVuYWJsZVJlbmRlcmFibGVDb250ZXh0ICB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDEgfHwgdHlwZS5nZXRNb2R1bGVJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbnZhciBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuZnVuY3Rpb24gaXNBcnJheShhKSB7XG4gIHJldHVybiBpc0FycmF5SW1wbChhKTtcbn1cblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgaW5mbzogcHJvcHMsXG4gICAgICAgIGxvZzogcHJvcHMsXG4gICAgICAgIHdhcm46IHByb3BzLFxuICAgICAgICBlcnJvcjogcHJvcHMsXG4gICAgICAgIGdyb3VwOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IHByb3BzLFxuICAgICAgICBncm91cEVuZDogcHJvcHNcbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICB9XG5cbiAgICBkaXNhYmxlZERlcHRoKys7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlZW5hYmxlTG9ncygpIHtcbiAge1xuICAgIGRpc2FibGVkRGVwdGgtLTtcblxuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfTsgLy8gJEZsb3dGaXhNZVtjYW5ub3Qtd3JpdGVdIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGxvZzogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2TG9nXG4gICAgICAgIH0pLFxuICAgICAgICBpbmZvOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZJbmZvXG4gICAgICAgIH0pLFxuICAgICAgICB3YXJuOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZXYXJuXG4gICAgICAgIH0pLFxuICAgICAgICBlcnJvcjogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2RXJyb3JcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwQ29sbGFwc2VkXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cEVuZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBFbmRcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA8IDApIHtcbiAgICAgIGVycm9yKCdkaXNhYmxlZERlcHRoIGZlbGwgYmVsb3cgemVyby4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyO1xudmFyIHByZWZpeDtcbmZ1bmN0aW9uIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUsIG93bmVyRm4pIHtcbiAge1xuICAgIGlmIChwcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gRXh0cmFjdCB0aGUgVk0gc3BlY2lmaWMgcHJlZml4IHVzZWQgYnkgZWFjaCBsaW5lLlxuICAgICAgdHJ5IHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgdmFyIG1hdGNoID0geC5zdGFjay50cmltKCkubWF0Y2goL1xcbiggKihhdCApPykvKTtcbiAgICAgICAgcHJlZml4ID0gbWF0Y2ggJiYgbWF0Y2hbMV0gfHwgJyc7XG4gICAgICB9XG4gICAgfSAvLyBXZSB1c2UgdGhlIHByZWZpeCB0byBlbnN1cmUgb3VyIHN0YWNrcyBsaW5lIHVwIHdpdGggbmF0aXZlIHN0YWNrIGZyYW1lcy5cblxuXG4gICAgcmV0dXJuICdcXG4nICsgcHJlZml4ICsgbmFtZTtcbiAgfVxufVxudmFyIHJlZW50cnkgPSBmYWxzZTtcbnZhciBjb21wb25lbnRGcmFtZUNhY2hlO1xuXG57XG4gIHZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG4gIGNvbXBvbmVudEZyYW1lQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwKCk7XG59XG4vKipcbiAqIExldmVyYWdlcyBuYXRpdmUgYnJvd3Nlci9WTSBzdGFjayBmcmFtZXMgdG8gZ2V0IHByb3BlciBkZXRhaWxzIChlLmcuXG4gKiBmaWxlbmFtZSwgbGluZSArIGNvbCBudW1iZXIpIGZvciBhIHNpbmdsZSBjb21wb25lbnQgaW4gYSBjb21wb25lbnQgc3RhY2suIFdlXG4gKiBkbyB0aGlzIGJ5OlxuICogICAoMSkgdGhyb3dpbmcgYW5kIGNhdGNoaW5nIGFuIGVycm9yIGluIHRoZSBmdW5jdGlvbiAtIHRoaXMgd2lsbCBiZSBvdXJcbiAqICAgICAgIGNvbnRyb2wgZXJyb3IuXG4gKiAgICgyKSBjYWxsaW5nIHRoZSBjb21wb25lbnQgd2hpY2ggd2lsbCBldmVudHVhbGx5IHRocm93IGFuIGVycm9yIHRoYXQgd2UnbGxcbiAqICAgICAgIGNhdGNoIC0gdGhpcyB3aWxsIGJlIG91ciBzYW1wbGUgZXJyb3IuXG4gKiAgICgzKSBkaWZmaW5nIHRoZSBjb250cm9sIGFuZCBzYW1wbGUgZXJyb3Igc3RhY2tzIHRvIGZpbmQgdGhlIHN0YWNrIGZyYW1lXG4gKiAgICAgICB3aGljaCByZXByZXNlbnRzIG91ciBjb21wb25lbnQuXG4gKi9cblxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICghZm4gfHwgcmVlbnRyeSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHtcbiAgICB2YXIgZnJhbWUgPSBjb21wb25lbnRGcmFtZUNhY2hlLmdldChmbik7XG5cbiAgICBpZiAoZnJhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZyYW1lO1xuICAgIH1cbiAgfVxuXG4gIHJlZW50cnkgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZSA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXSBJdCBkb2VzIGFjY2VwdCB1bmRlZmluZWQuXG5cbiAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSB1bmRlZmluZWQ7XG4gIHZhciBwcmV2aW91c0Rpc3BhdGNoZXI7XG5cbiAge1xuICAgIHByZXZpb3VzRGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDsgLy8gU2V0IHRoZSBkaXNwYXRjaGVyIGluIERFViBiZWNhdXNlIHRoaXMgbWlnaHQgYmUgY2FsbCBpbiB0aGUgcmVuZGVyIGZ1bmN0aW9uXG4gICAgLy8gZm9yIHdhcm5pbmdzLlxuXG4gICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gbnVsbDtcbiAgICBkaXNhYmxlTG9ncygpO1xuICB9XG4gIC8qKlxuICAgKiBGaW5kaW5nIGEgY29tbW9uIHN0YWNrIGZyYW1lIGJldHdlZW4gc2FtcGxlIGFuZCBjb250cm9sIGVycm9ycyBjYW4gYmVcbiAgICogdHJpY2t5IGdpdmVuIHRoZSBkaWZmZXJlbnQgdHlwZXMgYW5kIGxldmVscyBvZiBzdGFjayB0cmFjZSB0cnVuY2F0aW9uIGZyb21cbiAgICogZGlmZmVyZW50IEpTIFZNcy4gU28gaW5zdGVhZCB3ZSdsbCBhdHRlbXB0IHRvIGNvbnRyb2wgd2hhdCB0aGF0IGNvbW1vblxuICAgKiBmcmFtZSBzaG91bGQgYmUgdGhyb3VnaCB0aGlzIG9iamVjdCBtZXRob2Q6XG4gICAqIEhhdmluZyBib3RoIHRoZSBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGJlIGluIHRoZSBmdW5jdGlvbiB1bmRlciB0aGVcbiAgICogYERlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWVSb290YCBwcm9wZXJ0eSwgKyBzZXR0aW5nIHRoZSBgbmFtZWAgYW5kXG4gICAqIGBkaXNwbGF5TmFtZWAgcHJvcGVydGllcyBvZiB0aGUgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IGEgc3RhY2tcbiAgICogZnJhbWUgZXhpc3RzIHRoYXQgaGFzIHRoZSBtZXRob2QgbmFtZSBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIGluXG4gICAqIGl0IGZvciBib3RoIGNvbnRyb2wgYW5kIHNhbXBsZSBzdGFja3MuXG4gICAqL1xuXG5cbiAgdmFyIFJ1bkluUm9vdEZyYW1lID0ge1xuICAgIERldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdDogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGNvbnRyb2w7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFRoaXMgc2hvdWxkIHRocm93LlxuICAgICAgICBpZiAoY29uc3RydWN0KSB7XG4gICAgICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICAgICAgdmFyIEZha2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgIH07IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuXG5cbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAvLyBXZSB1c2UgYSB0aHJvd2luZyBzZXR0ZXIgaW5zdGVhZCBvZiBmcm96ZW4gb3Igbm9uLXdyaXRhYmxlIHByb3BzXG4gICAgICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgJiYgUmVmbGVjdC5jb25zdHJ1Y3QpIHtcbiAgICAgICAgICAgIC8vIFdlIGNvbnN0cnVjdCBhIGRpZmZlcmVudCBjb250cm9sIGZvciB0aGlzIGNhc2UgdG8gaW5jbHVkZSBhbnkgZXh0cmFcbiAgICAgICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChGYWtlLCBbXSk7XG4gICAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXSBmb3VuZCB3aGVuIHVwZ3JhZGluZyBGbG93XG5cblxuICAgICAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICAgIH0gLy8gVE9ETyhsdW5hKTogVGhpcyB3aWxsIGN1cnJlbnRseSBvbmx5IHRocm93IGlmIHRoZSBmdW5jdGlvbiBjb21wb25lbnRcbiAgICAgICAgICAvLyB0cmllcyB0byBhY2Nlc3MgUmVhY3QvUmVhY3RET00vcHJvcHMuIFdlIHNob3VsZCBwcm9iYWJseSBtYWtlIHRoaXMgdGhyb3dcbiAgICAgICAgICAvLyBpbiBzaW1wbGUgY29tcG9uZW50cyB0b29cblxuXG4gICAgICAgICAgdmFyIG1heWJlUHJvbWlzZSA9IGZuKCk7IC8vIElmIHRoZSBmdW5jdGlvbiBjb21wb25lbnQgcmV0dXJucyBhIHByb21pc2UsIGl0J3MgbGlrZWx5IGFuIGFzeW5jXG4gICAgICAgICAgLy8gY29tcG9uZW50LCB3aGljaCB3ZSBkb24ndCB5ZXQgc3VwcG9ydC4gQXR0YWNoIGEgbm9vcCBjYXRjaCBoYW5kbGVyIHRvXG4gICAgICAgICAgLy8gc2lsZW5jZSB0aGUgZXJyb3IuXG4gICAgICAgICAgLy8gVE9ETzogSW1wbGVtZW50IGNvbXBvbmVudCBzdGFja3MgZm9yIGFzeW5jIGNsaWVudCBjb21wb25lbnRzP1xuXG4gICAgICAgICAgaWYgKG1heWJlUHJvbWlzZSAmJiB0eXBlb2YgbWF5YmVQcm9taXNlLmNhdGNoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBtYXliZVByb21pc2UuY2F0Y2goZnVuY3Rpb24gKCkge30pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgaW5saW5lZCBtYW51YWxseSBiZWNhdXNlIGNsb3N1cmUgZG9lc24ndCBkbyBpdCBmb3IgdXMuXG4gICAgICAgIGlmIChzYW1wbGUgJiYgY29udHJvbCAmJiB0eXBlb2Ygc2FtcGxlLnN0YWNrID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiBbc2FtcGxlLnN0YWNrLCBjb250cm9sLnN0YWNrXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gW251bGwsIG51bGxdO1xuICAgIH1cbiAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cbiAgUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LmRpc3BsYXlOYW1lID0gJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCc7XG4gIHZhciBuYW1lUHJvcERlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgJ25hbWUnKTsgLy8gQmVmb3JlIEVTNiwgdGhlIGBuYW1lYCBwcm9wZXJ0eSB3YXMgbm90IGNvbmZpZ3VyYWJsZS5cblxuICBpZiAobmFtZVByb3BEZXNjcmlwdG9yICYmIG5hbWVQcm9wRGVzY3JpcHRvci5jb25maWd1cmFibGUpIHtcbiAgICAvLyBWOCB1dGlsaXplcyBhIGZ1bmN0aW9uJ3MgYG5hbWVgIHByb3BlcnR5IHdoZW4gZ2VuZXJhdGluZyBhIHN0YWNrIHRyYWNlLlxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QsIC8vIENvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzIGNhbiBiZSB1cGRhdGVkIGV2ZW4gaWYgaXRzIHdyaXRhYmxlIGRlc2NyaXB0b3JcbiAgICAvLyBpcyBzZXQgdG8gYGZhbHNlYC5cbiAgICAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV1cbiAgICAnbmFtZScsIHtcbiAgICAgIHZhbHVlOiAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290J1xuICAgIH0pO1xuICB9XG5cbiAgdHJ5IHtcbiAgICB2YXIgX1J1bkluUm9vdEZyYW1lJERldGVyID0gUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290KCksXG4gICAgICAgIHNhbXBsZVN0YWNrID0gX1J1bkluUm9vdEZyYW1lJERldGVyWzBdLFxuICAgICAgICBjb250cm9sU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMV07XG5cbiAgICBpZiAoc2FtcGxlU3RhY2sgJiYgY29udHJvbFN0YWNrKSB7XG4gICAgICAvLyBUaGlzIGV4dHJhY3RzIHRoZSBmaXJzdCBmcmFtZSBmcm9tIHRoZSBzYW1wbGUgdGhhdCBpc24ndCBhbHNvIGluIHRoZSBjb250cm9sLlxuICAgICAgLy8gU2tpcHBpbmcgb25lIGZyYW1lIHRoYXQgd2UgYXNzdW1lIGlzIHRoZSBmcmFtZSB0aGF0IGNhbGxzIHRoZSB0d28uXG4gICAgICB2YXIgc2FtcGxlTGluZXMgPSBzYW1wbGVTdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbFN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBzID0gMDtcbiAgICAgIHZhciBjID0gMDtcblxuICAgICAgd2hpbGUgKHMgPCBzYW1wbGVMaW5lcy5sZW5ndGggJiYgIXNhbXBsZUxpbmVzW3NdLmluY2x1ZGVzKCdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnKSkge1xuICAgICAgICBzKys7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChjIDwgY29udHJvbExpbmVzLmxlbmd0aCAmJiAhY29udHJvbExpbmVzW2NdLmluY2x1ZGVzKCdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnKSkge1xuICAgICAgICBjKys7XG4gICAgICB9IC8vIFdlIGNvdWxkbid0IGZpbmQgb3VyIGludGVudGlvbmFsbHkgaW5qZWN0ZWQgY29tbW9uIHJvb3QgZnJhbWUsIGF0dGVtcHRcbiAgICAgIC8vIHRvIGZpbmQgYW5vdGhlciBjb21tb24gcm9vdCBmcmFtZSBieSBzZWFyY2ggZnJvbSB0aGUgYm90dG9tIG9mIHRoZVxuICAgICAgLy8gY29udHJvbCBzdGFjay4uLlxuXG5cbiAgICAgIGlmIChzID09PSBzYW1wbGVMaW5lcy5sZW5ndGggfHwgYyA9PT0gY29udHJvbExpbmVzLmxlbmd0aCkge1xuICAgICAgICBzID0gc2FtcGxlTGluZXMubGVuZ3RoIC0gMTtcbiAgICAgICAgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICAgIHdoaWxlIChzID49IDEgJiYgYyA+PSAwICYmIHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBXZSBleHBlY3QgYXQgbGVhc3Qgb25lIHN0YWNrIGZyYW1lIHRvIGJlIHNoYXJlZC5cbiAgICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgICAgLy8gY3V0IG9mZiBkdWUgdG8gbWF4aW11bSBzdGFjayBsaW1pdHMuIEluIHRoaXMgY2FzZSwgb25lIG1heWJlIGN1dCBvZmZcbiAgICAgICAgICAvLyBlYXJsaWVyIHRoYW4gdGhlIG90aGVyLiBXZSBhc3N1bWUgdGhhdCB0aGUgc2FtcGxlIGlzIGxvbmdlciBvciB0aGUgc2FtZVxuICAgICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgICAgLy8gdGhlIHNhbXBsZSBzb21ld2hlcmUgaW4gdGhlIGNvbnRyb2wuXG4gICAgICAgICAgYy0tO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRydWUpIHtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIF9mcmFtZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAvLyBSZXR1cm4gdGhlIGxpbmUgd2UgZm91bmQuXG5cblxuICAgICAgICAgICAgICAgIHJldHVybiBfZnJhbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gd2hpbGUgKHMgPj0gMSAmJiBjID49IDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHJlZW50cnkgPSBmYWxzZTtcblxuICAgIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZpb3VzRGlzcGF0Y2hlcjtcbiAgICAgIHJlZW5hYmxlTG9ncygpO1xuICAgIH1cblxuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZTtcbiAgfSAvLyBGYWxsYmFjayB0byBqdXN0IHVzaW5nIHRoZSBuYW1lIGlmIHdlIGNvdWxkbid0IG1ha2UgaXQgdGhyb3cuXG5cblxuICB2YXIgbmFtZSA9IGZuID8gZm4uZGlzcGxheU5hbWUgfHwgZm4ubmFtZSA6ICcnO1xuICB2YXIgc3ludGhldGljRnJhbWUgPSBuYW1lID8gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSkgOiAnJztcblxuICB7XG4gICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIHN5bnRoZXRpY0ZyYW1lKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3ludGhldGljRnJhbWU7XG59XG5mdW5jdGlvbiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZm4sIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkge1xuICB2YXIgcHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbiAgcmV0dXJuICEhKHByb3RvdHlwZSAmJiBwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgb3duZXJGbik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gTGF6eSBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoaW5pdChwYXlsb2FkKSwgb3duZXJGbik7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxudmFyIFJlYWN0Q3VycmVudE93bmVyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNsaWVudC5yZWZlcmVuY2UnKTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAge1xuICAgICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCFzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bikge1xuICAgICAgICAgIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duID0gdHJ1ZTtcblxuICAgICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ3JlZicsIHtcbiAgICAgICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIFJlYWN0RWxlbWVudCh0eXBlLCBrZXksIF9yZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciByZWY7XG5cbiAge1xuICAgIHJlZiA9IF9yZWY7XG4gIH1cblxuICB2YXIgZWxlbWVudDtcblxuICB7XG4gICAgLy8gSW4gcHJvZCwgYHJlZmAgaXMgYSByZWd1bGFyIHByb3BlcnR5LiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gYVxuICAgIC8vIGZ1dHVyZSByZWxlYXNlLlxuICAgIGVsZW1lbnQgPSB7XG4gICAgICAvLyBUaGlzIHRhZyBhbGxvd3MgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IEVsZW1lbnRcbiAgICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgICAvLyBCdWlsdC1pbiBwcm9wZXJ0aWVzIHRoYXQgYmVsb25nIG9uIHRoZSBlbGVtZW50XG4gICAgICB0eXBlOiB0eXBlLFxuICAgICAga2V5OiBrZXksXG4gICAgICByZWY6IHJlZixcbiAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgICBfb3duZXI6IG93bmVyXG4gICAgfTtcbiAgfVxuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gZGVidWdJbmZvIGNvbnRhaW5zIFNlcnZlciBDb21wb25lbnQgZGVidWcgaW5mb3JtYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19kZWJ1Z0luZm8nLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBudWxsXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG4vLyBzdXBwb3J0IGBqc3hgIGFuZCBganN4c2Agd2hlbiBydW5uaW5nIGluIGRldmVsb3BtZW50LiBUaGlzIHN1cHBvcnRzIHRoZSBjYXNlXG4vLyB3aGVyZSBhIHRoaXJkLXBhcnR5IGRlcGVuZGVuY3kgc2hpcHMgY29kZSB0aGF0IHdhcyBjb21waWxlZCBmb3IgcHJvZHVjdGlvbjtcbi8vIHdlIHdhbnQgdG8gc3RpbGwgcHJvdmlkZSB3YXJuaW5ncyBpbiBkZXZlbG9wbWVudC5cbi8vXG4vLyBTbyB0aGVzZSBmdW5jdGlvbnMgYXJlIHRoZSBfZGV2XyBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIF9wcm9kdWN0aW9uX1xuLy8gQVBJIHNpZ25hdHVyZXMuXG4vL1xuLy8gU2luY2UgdGhlc2UgZnVuY3Rpb25zIGFyZSBkZXYtb25seSwgaXQncyBvayB0byBhZGQgYW4gaW5kaXJlY3Rpb24gaGVyZS4gVGhleVxuLy8gb25seSBleGlzdCB0byBwcm92aWRlIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiBgaXNTdGF0aWNDaGlsZHJlbmAuIChXZSBzaG91bGRuJ3Rcbi8vIHVzZSB0aGlzIHBhdHRlcm4gZm9yIHRoZSBwcm9kIHZlcnNpb25zLCB0aG91Z2gsIGJlY2F1c2UgaXQgd2lsbCBhZGQgYW4gY2FsbFxuLy8gZnJhbWUuKVxuXG5mdW5jdGlvbiBqc3hQcm9kU2lnbmF0dXJlUnVubmluZ0luRGV2V2l0aER5bmFtaWNDaGlsZHJlbih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciBpc1N0YXRpY0NoaWxkcmVuID0gZmFsc2U7XG4gICAgcmV0dXJuIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpO1xuICB9XG59XG5mdW5jdGlvbiBqc3hQcm9kU2lnbmF0dXJlUnVubmluZ0luRGV2V2l0aFN0YXRpY0NoaWxkcmVuKHR5cGUsIGNvbmZpZywgbWF5YmVLZXksIHNvdXJjZSwgc2VsZikge1xuICB7XG4gICAgdmFyIGlzU3RhdGljQ2hpbGRyZW4gPSB0cnVlO1xuICAgIHJldHVybiBqc3hERVYodHlwZSwgY29uZmlnLCBtYXliZUtleSwgaXNTdGF0aWNDaGlsZHJlbiwgc291cmNlLCBzZWxmKTtcbiAgfVxufVxudmFyIGRpZFdhcm5BYm91dEtleVNwcmVhZCA9IHt9O1xuLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZmNzL3B1bGwvMTA3XG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICovXG5cbmZ1bmN0aW9uIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB2YWxpZCBlbGVtZW50IHR5cGUuXG4gICAgICAvLyBTa2lwIGtleSB3YXJuaW5nIGlmIHRoZSB0eXBlIGlzbid0IHZhbGlkIHNpbmNlIG91ciBrZXkgdmFsaWRhdGlvbiBsb2dpY1xuICAgICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9ycy4gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZFxuICAgICAgLy8gcHJvZC4gKFJlbmRlcmluZyB3aWxsIHRocm93IHdpdGggYSBoZWxwZnVsIG1lc3NhZ2UgYW5kIGFzIHNvb24gYXMgdGhlXG4gICAgICAvLyB0eXBlIGlzIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcbiAgICAgIHZhciBjaGlsZHJlbiA9IGNvbmZpZy5jaGlsZHJlbjtcblxuICAgICAgaWYgKGNoaWxkcmVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baV0sIHR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0LmpzeDogU3RhdGljIGNoaWxkcmVuIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkuICcgKyAnWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiAnICsgJ1VzZSB0aGUgQmFiZWwgdHJhbnNmb3JtIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gV2FybiBhYm91dCBrZXkgc3ByZWFkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHlwZSBpcyB2YWxpZC5cblxuXG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpLmZpbHRlcihmdW5jdGlvbiAoaykge1xuICAgICAgICByZXR1cm4gayAhPT0gJ2tleSc7XG4gICAgICB9KTtcbiAgICAgIHZhciBiZWZvcmVFeGFtcGxlID0ga2V5cy5sZW5ndGggPiAwID8gJ3trZXk6IHNvbWVLZXksICcgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3trZXk6IHNvbWVLZXl9JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdKSB7XG4gICAgICAgIHZhciBhZnRlckV4YW1wbGUgPSBrZXlzLmxlbmd0aCA+IDAgPyAneycgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3t9JztcblxuICAgICAgICBlcnJvcignQSBwcm9wcyBvYmplY3QgY29udGFpbmluZyBhIFwia2V5XCIgcHJvcCBpcyBiZWluZyBzcHJlYWQgaW50byBKU1g6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMgey4uLnByb3BzfSAvPlxcbicgKyAnUmVhY3Qga2V5cyBtdXN0IGJlIHBhc3NlZCBkaXJlY3RseSB0byBKU1ggd2l0aG91dCB1c2luZyBzcHJlYWQ6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JywgYmVmb3JlRXhhbXBsZSwgY29tcG9uZW50TmFtZSwgYWZ0ZXJFeGFtcGxlLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICAgIHZhciBwcm9wcyA9IHt9O1xuICAgIHZhciBrZXkgPSBudWxsO1xuICAgIHZhciByZWYgPSBudWxsOyAvLyBDdXJyZW50bHksIGtleSBjYW4gYmUgc3ByZWFkIGluIGFzIGEgcHJvcC4gVGhpcyBjYXVzZXMgYSBwb3RlbnRpYWxcbiAgICAvLyBpc3N1ZSBpZiBrZXkgaXMgYWxzbyBleHBsaWNpdGx5IGRlY2xhcmVkIChpZS4gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz5cbiAgICAvLyBvciA8ZGl2IGtleT1cIkhpXCIgey4uLnByb3BzfSAvPiApLiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBrZXkgc3ByZWFkLFxuICAgIC8vIGJ1dCBhcyBhbiBpbnRlcm1lZGlhcnkgc3RlcCwgd2Ugd2lsbCB1c2UganN4REVWIGZvciBldmVyeXRoaW5nIGV4Y2VwdFxuICAgIC8vIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+LCBiZWNhdXNlIHdlIGFyZW4ndCBjdXJyZW50bHkgYWJsZSB0byB0ZWxsIGlmXG4gICAgLy8ga2V5IGlzIGV4cGxpY2l0bHkgZGVjbGFyZWQgdG8gYmUgdW5kZWZpbmVkIG9yIG5vdC5cblxuICAgIGlmIChtYXliZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIG1heWJlS2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgfVxuXG4gICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKTtcbiAgICB9IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmIC8vIFNraXAgb3ZlciByZXNlcnZlZCBwcm9wIG5hbWVzXG4gICAgICBwcm9wTmFtZSAhPT0gJ2tleScgJiYgKHByb3BOYW1lICE9PSAncmVmJykpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgICBpZiAodHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wcykge1xuICAgICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGtleSB8fCByZWYpIHtcbiAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgJ1Vua25vd24nIDogdHlwZTtcblxuICAgICAgaWYgKGtleSkge1xuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuXG4gICAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXG4gKiBhcnJheSB3aXRoIGFuIGV4cGxpY2l0IGtleXMgcHJvcGVydHkgZGVmaW5lZCwgb3IgaW4gYW4gb2JqZWN0IGxpdGVyYWxcbiAqIHdpdGggdmFsaWQga2V5IHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdE5vZGV9IG5vZGUgU3RhdGljYWxseSBwYXNzZWQgY2hpbGQgb2YgYW55IHR5cGUuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnIHx8ICFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UpIDsgZWxzZSBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obm9kZSk7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAgIC8vIGJ1dCBub3cgd2UgcHJpbnQgYSBzZXBhcmF0ZSB3YXJuaW5nIGZvciB0aGVtIGxhdGVyLlxuICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gbm9kZS5lbnRyaWVzKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuXG4gICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFZlcmlmaWVzIHRoZSBvYmplY3QgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgb2JqZWN0YCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIEBmaW5hbFxuICovXG5cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRXhwbGljaXRLZXkoZWxlbWVudCwgcGFyZW50VHlwZSkge1xuICB7XG4gICAgaWYgKCFlbGVtZW50Ll9zdG9yZSB8fCBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgfHwgZWxlbWVudC5rZXkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gICAgLy8gcHJvcGVydHksIGl0IG1heSBiZSB0aGUgY3JlYXRvciBvZiB0aGUgY2hpbGQgdGhhdCdzIHJlc3BvbnNpYmxlIGZvclxuICAgIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cblxuICAgIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHBhcmVudFR5cGUpO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBmcmFnbWVudCwgdmFsaWRhdGUgdGhhdCBpdCBjYW4gb25seSBiZSBwcm92aWRlZCB3aXRoIGZyYWdtZW50IHByb3BzXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhmcmFnbWVudCkge1xuICAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gcmVuZGVyIHBoYXNlIGluc3RlYWQgb2YgYXQgZWxlbWVudCBjcmVhdGlvbi5cbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG52YXIganN4ID0ganN4UHJvZFNpZ25hdHVyZVJ1bm5pbmdJbkRldldpdGhEeW5hbWljQ2hpbGRyZW4gOyAvLyB3ZSBtYXkgd2FudCB0byBzcGVjaWFsIGNhc2UganN4cyBpbnRlcm5hbGx5IHRvIHRha2UgYWR2YW50YWdlIG9mIHN0YXRpYyBjaGlsZHJlbi5cbi8vIGZvciBub3cgd2UgY2FuIHNoaXAgaWRlbnRpY2FsIHByb2QgZnVuY3Rpb25zXG5cbnZhciBqc3hzID0ganN4UHJvZFNpZ25hdHVyZVJ1bm5pbmdJbkRldldpdGhTdGF0aWNDaGlsZHJlbiA7XG5cbmV4cG9ydHMuRnJhZ21lbnQgPSBSRUFDVF9GUkFHTUVOVF9UWVBFO1xuZXhwb3J0cy5qc3ggPSBqc3g7XG5leHBvcnRzLmpzeHMgPSBqc3hzO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-runtime.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react.development.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/cjs/react.development.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.3.0-canary-14898b6a9-20240318';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher$1 = {\n current: null\n};\n\n/**\n * Keeps track of the current Cache dispatcher.\n */\nvar ReactCurrentCache = {\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false,\n // Tracks whether something called `use` during the current batch of work.\n // Determines whether we should yield to microtasks to unwrap already resolved\n // promises without suspending.\n didUsePromise: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner$1 = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame$1 = {};\nvar currentExtraStackFrame = null;\n\n{\n ReactDebugCurrentFrame$1.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame$1.getCurrentStack = null;\n\n ReactDebugCurrentFrame$1.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame$1.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher$1,\n ReactCurrentCache: ReactCurrentCache,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner$1\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame$1;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// Ready for next major.\n//\n// Alias __NEXT_MAJOR__ to false for easier skimming.\n// -----------------------------------------------------------------------------\n\nvar __NEXT_MAJOR__ = false; // Not ready to break experimental yet.\n// as a normal prop instead of stripping it from the props object.\n// Passes `ref` as a normal prop instead of stripping it from the props object\n// during element creation.\n\nvar enableRefAsProp = __NEXT_MAJOR__; // Not ready to break experimental yet.\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n } // Unlike the jsx() runtime, createElement() doesn't warn about key spread.\n\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n {\n warnIfStringRefCannotBeAutoConverted(config, config.__self);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref') && // Even though we don't use these anymore in the runtime, we don't want\n // them to appear as props, so in createElement we filter them out.\n // We don't have to do this in the jsx() runtime because the jsx()\n // transform never passed these as props; it used separate arguments.\n propName !== '__self' && propName !== '__source') {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var _i = 0; _i < childrenLength; _i++) {\n childArray[_i] = arguments[_i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n var element = ReactElement(type, key, ref, undefined, undefined, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\n/**\n * Return a function that produces ReactElements of a given type.\n * See https://reactjs.org/docs/react-api.html#createfactory\n */\n\nfunction createFactory(type) {\n var factory = createElement.bind(null, type); // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. `<Foo />.type === Foo`.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook: remove it\n\n factory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(factory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return factory;\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, // When enableRefAsProp is on, this argument is ignored. This check only\n // exists to avoid the `ref` access warning.\n oldElement.ref, undefined, undefined, oldElement._owner, oldElement.props);\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n {\n // Silently steal the ref from the parent.\n ref = config.ref;\n }\n\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref') && // ...and maybe these, too, though we currently rely on them for\n // warnings and debug information in dev. Need to decide if we're OK\n // with dropping them. In the jsx() runtime it's not an issue because\n // the data gets passed as separate arguments instead of props, but\n // it would be nice to stop relying on them entirely so we can drop\n // them from the internal Fiber field.\n propName !== '__self' && propName !== '__source' && // Undefined `ref` is ignored by cloneElement. We treat it the same as\n // if the property were missing. This is mostly for\n // backwards compatibility.\n !(enableRefAsProp )) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n var clonedElement = ReactElement(element.type, key, ref, undefined, undefined, owner, props);\n\n for (var _i2 = 2; _i2 < arguments.length; _i2++) {\n validateChildKeys(arguments[_i2], clonedElement.type);\n }\n\n return clonedElement;\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction noop$1() {}\n\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case 'fulfilled':\n {\n var fulfilledValue = thenable.value;\n return fulfilledValue;\n }\n\n case 'rejected':\n {\n var rejectedError = thenable.reason;\n throw rejectedError;\n }\n\n default:\n {\n if (typeof thenable.status === 'string') {\n // Only instrument the thenable if the status if not defined. If\n // it's defined, but an unknown value, assume it's been instrumented by\n // some custom userspace implementation. We treat it as \"pending\".\n // Attach a dummy listener, to ensure that any lazy initialization can\n // happen. Flight lazily parses JSON when the value is actually awaited.\n thenable.then(noop$1, noop$1);\n } else {\n // This is an uncached thenable that we haven't seen before.\n // TODO: Detect infinite ping loops caused by uncached promises.\n var pendingThenable = thenable;\n pendingThenable.status = 'pending';\n pendingThenable.then(function (fulfilledValue) {\n if (thenable.status === 'pending') {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = 'fulfilled';\n fulfilledThenable.value = fulfilledValue;\n }\n }, function (error) {\n if (thenable.status === 'pending') {\n var rejectedThenable = thenable;\n rejectedThenable.status = 'rejected';\n rejectedThenable.reason = error;\n }\n });\n } // Check one more time in case the thenable resolved synchronously.\n\n\n switch (thenable.status) {\n case 'fulfilled':\n {\n var fulfilledThenable = thenable;\n return fulfilledThenable.value;\n }\n\n case 'rejected':\n {\n var rejectedThenable = thenable;\n var _rejectedError = rejectedThenable.reason;\n throw _rejectedError;\n }\n }\n }\n }\n\n throw thenable;\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n break;\n\n case REACT_LAZY_TYPE:\n var payload = children._payload;\n var init = children._init;\n return mapIntoArray(init(payload), array, escapedPrefix, nameSoFar, callback);\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe[incompatible-type] Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe[incompatible-type] Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? escapeUserProvidedKey( // $FlowFixMe[unsafe-addition]\n '' + mappedChild.key // eslint-disable-line react-internal/safe-string-coercion\n ) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0; // $FlowFixMe[incompatible-use] `iteratorFn` might return null according to typing.\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n if (typeof children.then === 'function') {\n return mapIntoArray(resolveThenable(children), array, escapedPrefix, nameSoFar, callback);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\n\n\nfunction mapChildren(children, func, context) {\n if (children == null) {\n // $FlowFixMe limitation refining abstract types in Flow\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\n\n\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, // $FlowFixMe[missing-this-annot]\n function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null\n };\n\n {\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n\n {\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n };\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {}\n }\n });\n context.Consumer = Consumer;\n }\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe[prop-missing]\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n // $FlowFixMe[missing-local-annot]\n set: function (newDefaultProps) {\n error('It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe[prop-missing]\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n // $FlowFixMe[missing-local-annot]\n set: function (newPropTypes) {\n error('It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe[prop-missing]\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null) {\n error('forwardRef render functions do not support defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar UNTERMINATED = 0;\nvar TERMINATED = 1;\nvar ERRORED = 2;\n\nfunction createCacheRoot() {\n return new WeakMap();\n}\n\nfunction createCacheNode() {\n return {\n s: UNTERMINATED,\n // status, represents whether the cached computation returned a value or threw an error\n v: undefined,\n // value, either the cached result or an error, depending on s\n o: null,\n // object cache, a WeakMap where non-primitive arguments are stored\n p: null // primitive cache, a regular Map where primitive arguments are stored.\n\n };\n}\n\nfunction cache$1(fn) {\n return function () {\n var dispatcher = ReactCurrentCache.current;\n\n if (!dispatcher) {\n // If there is no dispatcher, then we treat this as not being cached.\n // $FlowFixMe[incompatible-call]: We don't want to use rest arguments since we transpile the code.\n return fn.apply(null, arguments);\n }\n\n var fnMap = dispatcher.getCacheForType(createCacheRoot);\n var fnNode = fnMap.get(fn);\n var cacheNode;\n\n if (fnNode === undefined) {\n cacheNode = createCacheNode();\n fnMap.set(fn, cacheNode);\n } else {\n cacheNode = fnNode;\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n var arg = arguments[i];\n\n if (typeof arg === 'function' || typeof arg === 'object' && arg !== null) {\n // Objects go into a WeakMap\n var objectCache = cacheNode.o;\n\n if (objectCache === null) {\n cacheNode.o = objectCache = new WeakMap();\n }\n\n var objectNode = objectCache.get(arg);\n\n if (objectNode === undefined) {\n cacheNode = createCacheNode();\n objectCache.set(arg, cacheNode);\n } else {\n cacheNode = objectNode;\n }\n } else {\n // Primitives go into a regular Map\n var primitiveCache = cacheNode.p;\n\n if (primitiveCache === null) {\n cacheNode.p = primitiveCache = new Map();\n }\n\n var primitiveNode = primitiveCache.get(arg);\n\n if (primitiveNode === undefined) {\n cacheNode = createCacheNode();\n primitiveCache.set(arg, cacheNode);\n } else {\n cacheNode = primitiveNode;\n }\n }\n }\n\n if (cacheNode.s === TERMINATED) {\n return cacheNode.v;\n }\n\n if (cacheNode.s === ERRORED) {\n throw cacheNode.v;\n }\n\n try {\n // $FlowFixMe[incompatible-call]: We don't want to use rest arguments since we transpile the code.\n var result = fn.apply(null, arguments);\n var terminatedNode = cacheNode;\n terminatedNode.s = TERMINATED;\n terminatedNode.v = result;\n return result;\n } catch (error) {\n // We store the first error that's thrown and rethrow it.\n var erroredNode = cacheNode;\n erroredNode.s = ERRORED;\n erroredNode.v = error;\n throw error;\n }\n };\n}\n\nvar cache = cache$1;\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher$1.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n if (Context.$$typeof === REACT_CONSUMER_TYPE) {\n error('Calling useContext(Context.Consumer) is not supported and will cause bugs. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value, initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value, initialValue);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\nfunction useCacheRefresh() {\n var dispatcher = resolveDispatcher(); // $FlowFixMe[not-a-function] This is unstable, thus optional\n\n return dispatcher.useCacheRefresh();\n}\nfunction use(usable) {\n var dispatcher = resolveDispatcher();\n return dispatcher.use(usable);\n}\nfunction useOptimistic(passthrough, reducer) {\n var dispatcher = resolveDispatcher(); // $FlowFixMe[not-a-function] This is unstable, thus optional\n\n return dispatcher.useOptimistic(passthrough, reducer);\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition; // Each renderer registers a callback to receive the return value of\n // the scope function. This is used to implement async actions.\n\n var callbacks = new Set();\n var transition = {\n _callbacks: callbacks\n };\n ReactCurrentBatchConfig.transition = transition;\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n {\n try {\n var returnValue = scope();\n\n if (typeof returnValue === 'object' && returnValue !== null && typeof returnValue.then === 'function') {\n callbacks.forEach(function (callback) {\n return callback(currentTransition, returnValue);\n });\n returnValue.then(noop, onError);\n }\n } catch (error) {\n onError(error);\n } finally {\n warnAboutTransitionSubscriptions(prevTransition, currentTransition);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n }\n}\n\nfunction warnAboutTransitionSubscriptions(prevTransition, currentTransition) {\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n currentTransition._updatedFibers.clear();\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n }\n }\n}\n\nfunction noop() {} // Use reportError, if it exists. Otherwise console.error. This is the same as\n// the default for onRecoverableError.\n\n\nvar onError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n};\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\n// number of `act` scopes on the stack.\n\nvar actScopeDepth = 0; // We only warn the first time you neglect to await an async `act` scope.\n\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // When ReactCurrentActQueue.current is not null, it signals to React that\n // we're currently inside an `act` scope. React will push all its tasks to\n // this queue instead of scheduling them with platform APIs.\n //\n // We set this to an empty array when we first enter an `act` scope, and\n // only unset it once we've left the outermost `act` scope — remember that\n // `act` calls can be nested.\n //\n // If we're already inside an `act` scope, reuse the existing queue.\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var prevActQueue = ReactCurrentActQueue.current;\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = ReactCurrentActQueue.current = prevActQueue !== null ? prevActQueue : []; // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n\n ReactCurrentActQueue.isBatchingLegacy = true;\n var result; // This tracks whether the `act` call is awaited. In certain cases, not\n // awaiting it is a mistake, so we will detect that and warn.\n\n var didAwaitActCall = false;\n\n try {\n // Reset this to `false` right before entering the React work loop. The\n // only place we ever read this fields is just below, right after running\n // the callback. So we don't need to reset after the callback runs.\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n result = callback();\n var didScheduleLegacyUpdate = ReactCurrentActQueue.didScheduleLegacyUpdate; // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && didScheduleLegacyUpdate) {\n flushActQueue(queue);\n } // `isBatchingLegacy` gets reset using the regular stack, not the async\n // one used to track `act` scopes. Why, you may be wondering? Because\n // that's how it worked before version 18. Yes, it's confusing! We should\n // delete legacy mode!!\n\n\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n } catch (error) {\n // `isBatchingLegacy` gets reset using the regular stack, not the async\n // one used to track `act` scopes. Why, you may be wondering? Because\n // that's how it worked before version 18. Yes, it's confusing! We should\n // delete legacy mode!!\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n popActScope(prevActQueue, prevActScopeDepth);\n throw error;\n }\n\n if (result !== null && typeof result === 'object' && // $FlowFixMe[method-unbinding]\n typeof result.then === 'function') {\n // A promise/thenable was returned from the callback. Wait for it to\n // resolve before flushing the queue.\n //\n // If `act` were implemented as an async function, this whole block could\n // be a single `await` call. That's really the only difference between\n // this branch and the next one.\n var thenable = result; // Warn if the an `act` call with an async scope is not awaited. In a\n // future release, consider making this an error.\n\n queueSeveralMicrotasks(function () {\n if (!didAwaitActCall && !didWarnNoAwaitAct) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = true;\n thenable.then(function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n\n if (prevActScopeDepth === 0) {\n // We're exiting the outermost `act` scope. Flush the queue.\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return (// Recursively flush tasks scheduled by a microtask.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject)\n );\n });\n } catch (error) {\n // `thenable` might not be a real promise, and `flushActQueue`\n // might throw, so we need to wrap `flushActQueue` in a\n // try/catch.\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n reject(error);\n });\n }\n };\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current\n // scope immediately.\n\n popActScope(prevActQueue, prevActScopeDepth);\n\n if (prevActScopeDepth === 0) {\n // We're exiting the outermost `act` scope. Flush the queue.\n flushActQueue(queue); // If the queue is not empty, it implies that we intentionally yielded\n // to the main thread, because something suspended. We will continue\n // in an asynchronous task.\n //\n // Warn if something suspends but the `act` call is not awaited.\n // In a future release, consider making this an error.\n\n if (queue.length !== 0) {\n queueSeveralMicrotasks(function () {\n if (!didAwaitActCall && !didWarnNoAwaitAct) {\n didWarnNoAwaitAct = true;\n\n error('A component suspended inside an `act` scope, but the ' + '`act` call was not awaited. When testing React ' + 'components that depend on asynchronous data, you must ' + 'await the result:\\n\\n' + 'await act(() => ...)');\n }\n });\n } // Like many things in this module, this is next part is confusing.\n //\n // We do not currently require every `act` call that is passed a\n // callback to be awaited, through arguably we should. Since this\n // callback was synchronous, we need to exit the current scope before\n // returning.\n //\n // However, if thenable we're about to return *is* awaited, we'll\n // immediately restore the current scope. So it shouldn't observable.\n //\n // This doesn't affect the case where the scope callback is async,\n // because we always require those calls to be awaited.\n //\n // TODO: In a future version, consider always requiring all `act` calls\n // to be awaited, regardless of whether the callback is sync or async.\n\n\n ReactCurrentActQueue.current = null;\n }\n\n return {\n then: function (resolve, reject) {\n didAwaitActCall = true;\n\n if (prevActScopeDepth === 0) {\n // If the `act` call is awaited, restore the queue we were\n // using before (see long comment above) so we can flush it.\n ReactCurrentActQueue.current = queue;\n enqueueTask(function () {\n return (// Recursively flush tasks scheduled by a microtask.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject)\n );\n });\n } else {\n resolve(returnValue);\n }\n }\n };\n }\n }\n}\n\nfunction popActScope(prevActQueue, prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n // Check if any tasks were scheduled asynchronously.\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n if (queue.length !== 0) {\n // Async tasks were scheduled, mostly likely in a microtask.\n // Keep flushing until there are no more.\n try {\n flushActQueue(queue); // The work we just performed may have schedule additional async\n // tasks. Wait a macrotask and check again.\n\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n } catch (error) {\n // Leave remaining tasks on the queue if something throws.\n reject(error);\n }\n } else {\n // The queue is empty. We can finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n ReactCurrentActQueue.didUsePromise = false;\n var continuation = callback(false);\n\n if (continuation !== null) {\n if (ReactCurrentActQueue.didUsePromise) {\n // The component just suspended. Yield to the main thread in\n // case the promise is already resolved. If so, it will ping in\n // a microtask and we can resume without unwinding the stack.\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n\n callback = continuation;\n } else {\n break;\n }\n } while (true);\n } // We flushed the entire queue.\n\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue.splice(0, i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n} // Some of our warnings attempt to detect if the `act` call is awaited by\n// checking in an asynchronous task. Wait a few microtasks before checking. The\n// only reason one isn't sufficient is we want to accommodate the case where an\n// `act` call is returned from an async function without first being awaited,\n// since that's a somewhat common pattern. If you do this too many times in a\n// nested sequence, you might get a warning, but you can always fix by awaiting\n// the call.\n//\n// A macrotask would also work (and is the fallback) but depending on the test\n// environment it may cause the warning to fire too late.\n\n\nvar queueSeveralMicrotasks = typeof queueMicrotask === 'function' ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n} : enqueueTask;\n\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.act = act;\nexports.cache = cache;\nexports.cloneElement = cloneElement;\nexports.createContext = createContext;\nexports.createElement = createElement;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_useCacheRefresh = useCacheRefresh;\nexports.use = use;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useOptimistic = useOptimistic;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEOztBQUV4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBO0FBQ0Esb0JBQW9COztBQUVwQjtBQUNBO0FBQ0EsTUFBTTs7O0FBR047O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkZBQTZGLGFBQWE7QUFDMUc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7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LDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7QUFDdEM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBLHFFQUFxRTs7QUFFckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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LGtCQUFrQjtBQUNsQixxQkFBcUI7QUFDckIsd0JBQXdCO0FBQ3hCLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2IsMkJBQTJCO0FBQzNCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIsZUFBZTtBQUNmLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGdCQUFnQjtBQUNoQiw0QkFBNEI7QUFDNUIscUJBQXFCO0FBQ3JCLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanM/NGYxNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcblxuICAgICAgICAgICd1c2Ugc3RyaWN0JztcblxuLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydCA9PT1cbiAgICAnZnVuY3Rpb24nXG4pIHtcbiAgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgICAgdmFyIFJlYWN0VmVyc2lvbiA9ICcxOC4zLjAtY2FuYXJ5LTE0ODk4YjZhOS0yMDI0MDMxOCc7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7IC8vIFRPRE86IERlbGV0ZSB3aXRoIGVuYWJsZVJlbmRlcmFibGVDb250ZXh0XG5cbnZhciBSRUFDVF9DT05TVU1FUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29uc3VtZXInKTtcbnZhciBSRUFDVF9DT05URVhUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb250ZXh0Jyk7XG52YXIgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZvcndhcmRfcmVmJyk7XG52YXIgUkVBQ1RfU1VTUEVOU0VfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlJyk7XG52YXIgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2VfbGlzdCcpO1xudmFyIFJFQUNUX01FTU9fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm1lbW8nKTtcbnZhciBSRUFDVF9MQVpZX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5sYXp5Jyk7XG52YXIgUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5vZmZzY3JlZW4nKTtcbnZhciBSRUFDVF9DQUNIRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY2FjaGUnKTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSBTeW1ib2wuaXRlcmF0b3I7XG52YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7XG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbWF5YmVJdGVyYXRvciA9IE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF07XG5cbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1heWJlSXRlcmF0b3I7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBLZWVwcyB0cmFjayBvZiB0aGUgY3VycmVudCBkaXNwYXRjaGVyLlxuICovXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxID0ge1xuICBjdXJyZW50OiBudWxsXG59O1xuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IENhY2hlIGRpc3BhdGNoZXIuXG4gKi9cbnZhciBSZWFjdEN1cnJlbnRDYWNoZSA9IHtcbiAgY3VycmVudDogbnVsbFxufTtcblxuLyoqXG4gKiBLZWVwcyB0cmFjayBvZiB0aGUgY3VycmVudCBiYXRjaCdzIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBob3cgbG9uZyBhbiB1cGRhdGVcbiAqIHNob3VsZCBzdXNwZW5kIGZvciBpZiBpdCBuZWVkcyB0by5cbiAqL1xudmFyIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnID0ge1xuICB0cmFuc2l0aW9uOiBudWxsXG59O1xuXG52YXIgUmVhY3RDdXJyZW50QWN0UXVldWUgPSB7XG4gIGN1cnJlbnQ6IG51bGwsXG4gIC8vIFVzZWQgdG8gcmVwcm9kdWNlIGJlaGF2aW9yIG9mIGBiYXRjaGVkVXBkYXRlc2AgaW4gbGVnYWN5IG1vZGUuXG4gIGlzQmF0Y2hpbmdMZWdhY3k6IGZhbHNlLFxuICBkaWRTY2hlZHVsZUxlZ2FjeVVwZGF0ZTogZmFsc2UsXG4gIC8vIFRyYWNrcyB3aGV0aGVyIHNvbWV0aGluZyBjYWxsZWQgYHVzZWAgZHVyaW5nIHRoZSBjdXJyZW50IGJhdGNoIG9mIHdvcmsuXG4gIC8vIERldGVybWluZXMgd2hldGhlciB3ZSBzaG91bGQgeWllbGQgdG8gbWljcm90YXNrcyB0byB1bndyYXAgYWxyZWFkeSByZXNvbHZlZFxuICAvLyBwcm9taXNlcyB3aXRob3V0IHN1c3BlbmRpbmcuXG4gIGRpZFVzZVByb21pc2U6IGZhbHNlXG59O1xuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IG93bmVyLlxuICpcbiAqIFRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBjb21wb25lbnQgd2hvIHNob3VsZCBvd24gYW55IGNvbXBvbmVudHMgdGhhdCBhcmVcbiAqIGN1cnJlbnRseSBiZWluZyBjb25zdHJ1Y3RlZC5cbiAqL1xudmFyIFJlYWN0Q3VycmVudE93bmVyJDEgPSB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQHR5cGUge1JlYWN0Q29tcG9uZW50fVxuICAgKi9cbiAgY3VycmVudDogbnVsbFxufTtcblxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMSA9IHt9O1xudmFyIGN1cnJlbnRFeHRyYVN0YWNrRnJhbWUgPSBudWxsO1xuXG57XG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUgPSBmdW5jdGlvbiAoc3RhY2spIHtcbiAgICB7XG4gICAgICBjdXJyZW50RXh0cmFTdGFja0ZyYW1lID0gc3RhY2s7XG4gICAgfVxuICB9OyAvLyBTdGFjayBpbXBsZW1lbnRhdGlvbiBpbmplY3RlZCBieSB0aGUgY3VycmVudCByZW5kZXJlci5cblxuXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5nZXRDdXJyZW50U3RhY2sgPSBudWxsO1xuXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5nZXRTdGFja0FkZGVuZHVtID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBzdGFjayA9ICcnOyAvLyBBZGQgYW4gZXh0cmEgdG9wIGZyYW1lIHdoaWxlIGFuIGVsZW1lbnQgaXMgYmVpbmcgdmFsaWRhdGVkXG5cbiAgICBpZiAoY3VycmVudEV4dHJhU3RhY2tGcmFtZSkge1xuICAgICAgc3RhY2sgKz0gY3VycmVudEV4dHJhU3RhY2tGcmFtZTtcbiAgICB9IC8vIERlbGVnYXRlIHRvIHRoZSBpbmplY3RlZCByZW5kZXJlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxuXG5cbiAgICB2YXIgaW1wbCA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5nZXRDdXJyZW50U3RhY2s7XG5cbiAgICBpZiAoaW1wbCkge1xuICAgICAgc3RhY2sgKz0gaW1wbCgpIHx8ICcnO1xuICAgIH1cblxuICAgIHJldHVybiBzdGFjaztcbiAgfTtcbn1cblxudmFyIFJlYWN0U2hhcmVkSW50ZXJuYWxzID0ge1xuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyOiBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEsXG4gIFJlYWN0Q3VycmVudENhY2hlOiBSZWFjdEN1cnJlbnRDYWNoZSxcbiAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLFxuICBSZWFjdEN1cnJlbnRPd25lcjogUmVhY3RDdXJyZW50T3duZXIkMVxufTtcblxue1xuICBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxO1xuICBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRBY3RRdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlO1xufVxuXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxuLy9cbi8vIEluIFBST0QgKG9yIGluIHBhY2thZ2VzIHdpdGhvdXQgYWNjZXNzIHRvIFJlYWN0IGludGVybmFscyksXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXG5cbmZ1bmN0aW9uIHdhcm4oZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ3dhcm4nLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50ID0ge307XG5cbmZ1bmN0aW9uIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICB2YXIgX2NvbnN0cnVjdG9yID0gcHVibGljSW5zdGFuY2UuY29uc3RydWN0b3I7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBfY29uc3RydWN0b3IgJiYgKF9jb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZSB8fCBfY29uc3RydWN0b3IubmFtZSkgfHwgJ1JlYWN0Q2xhc3MnO1xuICAgIHZhciB3YXJuaW5nS2V5ID0gY29tcG9uZW50TmFtZSArIFwiLlwiICsgY2FsbGVyTmFtZTtcblxuICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnRbd2FybmluZ0tleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlcnJvcihcIkNhbid0IGNhbGwgJXMgb24gYSBjb21wb25lbnQgdGhhdCBpcyBub3QgeWV0IG1vdW50ZWQuIFwiICsgJ1RoaXMgaXMgYSBuby1vcCwgYnV0IGl0IG1pZ2h0IGluZGljYXRlIGEgYnVnIGluIHlvdXIgYXBwbGljYXRpb24uICcgKyAnSW5zdGVhZCwgYXNzaWduIHRvIGB0aGlzLnN0YXRlYCBkaXJlY3RseSBvciBkZWZpbmUgYSBgc3RhdGUgPSB7fTtgICcgKyAnY2xhc3MgcHJvcGVydHkgd2l0aCB0aGUgZGVzaXJlZCBzdGF0ZSBpbiB0aGUgJXMgY29tcG9uZW50LicsIGNhbGxlck5hbWUsIGNvbXBvbmVudE5hbWUpO1xuXG4gICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50W3dhcm5pbmdLZXldID0gdHJ1ZTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIGlzIHRoZSBhYnN0cmFjdCBBUEkgZm9yIGFuIHVwZGF0ZSBxdWV1ZS5cbiAqL1xuXG5cbnZhciBSZWFjdE5vb3BVcGRhdGVRdWV1ZSA9IHtcbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGNvbXBvc2l0ZSBjb21wb25lbnQgaXMgbW91bnRlZC5cbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2Ugd2Ugd2FudCB0byB0ZXN0LlxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIG1vdW50ZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICogQHByb3RlY3RlZFxuICAgKiBAZmluYWxcbiAgICovXG4gIGlzTW91bnRlZDogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXG4gICAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXG4gICAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXG4gICAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIGNvbXBvbmVudCBpcyB1cGRhdGVkLlxuICAgKiBAcGFyYW0gez9zdHJpbmd9IGNhbGxlck5hbWUgbmFtZSBvZiB0aGUgY2FsbGluZyBmdW5jdGlvbiBpbiB0aGUgcHVibGljIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBlbnF1ZXVlRm9yY2VVcGRhdGU6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ2ZvcmNlVXBkYXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyBvciBgc2V0U3RhdGVgIHRvIG11dGF0ZSBzdGF0ZS5cbiAgICogWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxuICAgKlxuICAgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICAgKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB0aGF0IHNob3VsZCByZXJlbmRlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbXBsZXRlU3RhdGUgTmV4dCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBjYWxsZXJOYW1lIG5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZW5xdWV1ZVJlcGxhY2VTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjb21wbGV0ZVN0YXRlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xuICAgIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCAncmVwbGFjZVN0YXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBUaGlzIG9ubHkgZXhpc3RzIGJlY2F1c2UgX3BlbmRpbmdTdGF0ZSBpc1xuICAgKiBpbnRlcm5hbC4gVGhpcyBwcm92aWRlcyBhIG1lcmdpbmcgc3RyYXRlZ3kgdGhhdCBpcyBub3QgYXZhaWxhYmxlIHRvIGRlZXBcbiAgICogcHJvcGVydGllcyB3aGljaCBpcyBjb25mdXNpbmcuIFRPRE86IEV4cG9zZSBwZW5kaW5nU3RhdGUgb3IgZG9uJ3QgdXNlIGl0XG4gICAqIGR1cmluZyB0aGUgbWVyZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBOYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdzZXRTdGF0ZScpO1xuICB9XG59O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxudmFyIGVtcHR5T2JqZWN0ID0ge307XG5cbntcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eU9iamVjdCk7XG59XG4vKipcbiAqIEJhc2UgY2xhc3MgaGVscGVycyBmb3IgdGhlIHVwZGF0aW5nIHN0YXRlIG9mIGEgY29tcG9uZW50LlxuICovXG5cblxuZnVuY3Rpb24gQ29tcG9uZW50KHByb3BzLCBjb250ZXh0LCB1cGRhdGVyKSB7XG4gIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgdGhpcy5jb250ZXh0ID0gY29udGV4dDsgLy8gSWYgYSBjb21wb25lbnQgaGFzIHN0cmluZyByZWZzLCB3ZSB3aWxsIGFzc2lnbiBhIGRpZmZlcmVudCBvYmplY3QgbGF0ZXIuXG5cbiAgdGhpcy5yZWZzID0gZW1wdHlPYmplY3Q7IC8vIFdlIGluaXRpYWxpemUgdGhlIGRlZmF1bHQgdXBkYXRlciBidXQgdGhlIHJlYWwgb25lIGdldHMgaW5qZWN0ZWQgYnkgdGhlXG4gIC8vIHJlbmRlcmVyLlxuXG4gIHRoaXMudXBkYXRlciA9IHVwZGF0ZXIgfHwgUmVhY3ROb29wVXBkYXRlUXVldWU7XG59XG5cbkNvbXBvbmVudC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCA9IHt9O1xuLyoqXG4gKiBTZXRzIGEgc3Vic2V0IG9mIHRoZSBzdGF0ZS4gQWx3YXlzIHVzZSB0aGlzIHRvIG11dGF0ZVxuICogc3RhdGUuIFlvdSBzaG91bGQgdHJlYXQgYHRoaXMuc3RhdGVgIGFzIGltbXV0YWJsZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICogYWNjZXNzaW5nIGB0aGlzLnN0YXRlYCBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kIG1heSByZXR1cm4gdGhlIG9sZCB2YWx1ZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBjYWxscyB0byBgc2V0U3RhdGVgIHdpbGwgcnVuIHN5bmNocm9ub3VzbHksXG4gKiBhcyB0aGV5IG1heSBldmVudHVhbGx5IGJlIGJhdGNoZWQgdG9nZXRoZXIuICBZb3UgY2FuIHByb3ZpZGUgYW4gb3B0aW9uYWxcbiAqIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBjYWxsIHRvIHNldFN0YXRlIGlzIGFjdHVhbGx5XG4gKiBjb21wbGV0ZWQuXG4gKlxuICogV2hlbiBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIHRvIHNldFN0YXRlLCBpdCB3aWxsIGJlIGNhbGxlZCBhdCBzb21lIHBvaW50IGluXG4gKiB0aGUgZnV0dXJlIChub3Qgc3luY2hyb25vdXNseSkuIEl0IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIHVwIHRvIGRhdGVcbiAqIGNvbXBvbmVudCBhcmd1bWVudHMgKHN0YXRlLCBwcm9wcywgY29udGV4dCkuIFRoZXNlIHZhbHVlcyBjYW4gYmUgZGlmZmVyZW50XG4gKiBmcm9tIHRoaXMuKiBiZWNhdXNlIHlvdXIgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBhZnRlciByZWNlaXZlUHJvcHMgYnV0IGJlZm9yZVxuICogc2hvdWxkQ29tcG9uZW50VXBkYXRlLCBhbmQgdGhpcyBuZXcgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCB3aWxsIG5vdCB5ZXQgYmVcbiAqIGFzc2lnbmVkIHRvIHRoaXMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R8ZnVuY3Rpb259IHBhcnRpYWxTdGF0ZSBOZXh0IHBhcnRpYWwgc3RhdGUgb3IgZnVuY3Rpb24gdG9cbiAqICAgICAgICBwcm9kdWNlIG5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBjdXJyZW50IHN0YXRlLlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBzdGF0ZSBpcyB1cGRhdGVkLlxuICogQGZpbmFsXG4gKiBAcHJvdGVjdGVkXG4gKi9cblxuQ29tcG9uZW50LnByb3RvdHlwZS5zZXRTdGF0ZSA9IGZ1bmN0aW9uIChwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnb2JqZWN0JyAmJiB0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnZnVuY3Rpb24nICYmIHBhcnRpYWxTdGF0ZSAhPSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhICcgKyAnZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLicpO1xuICB9XG5cbiAgdGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcbn07XG4vKipcbiAqIEZvcmNlcyBhbiB1cGRhdGUuIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aGVuIGl0IGlzIGtub3duIHdpdGhcbiAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICpcbiAqIFlvdSBtYXkgd2FudCB0byBjYWxsIHRoaXMgd2hlbiB5b3Uga25vdyB0aGF0IHNvbWUgZGVlcGVyIGFzcGVjdCBvZiB0aGVcbiAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICpcbiAqIFRoaXMgd2lsbCBub3QgaW52b2tlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgLCBidXQgaXQgd2lsbCBpbnZva2VcbiAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gKlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciB1cGRhdGUgaXMgY29tcGxldGUuXG4gKiBAZmluYWxcbiAqIEBwcm90ZWN0ZWRcbiAqL1xuXG5cbkNvbXBvbmVudC5wcm90b3R5cGUuZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLCBjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG59O1xuLyoqXG4gKiBEZXByZWNhdGVkIEFQSXMuIFRoZXNlIEFQSXMgdXNlZCB0byBleGlzdCBvbiBjbGFzc2ljIFJlYWN0IGNsYXNzZXMgYnV0IHNpbmNlXG4gKiB3ZSB3b3VsZCBsaWtlIHRvIGRlcHJlY2F0ZSB0aGVtLCB3ZSdyZSBub3QgZ29pbmcgdG8gbW92ZSB0aGVtIG92ZXIgdG8gdGhpc1xuICogbW9kZXJuIGJhc2UgY2xhc3MuIEluc3RlYWQsIHdlIGRlZmluZSBhIGdldHRlciB0aGF0IHdhcm5zIGlmIGl0J3MgYWNjZXNzZWQuXG4gKi9cblxuXG57XG4gIHZhciBkZXByZWNhdGVkQVBJcyA9IHtcbiAgICBpc01vdW50ZWQ6IFsnaXNNb3VudGVkJywgJ0luc3RlYWQsIG1ha2Ugc3VyZSB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zIGFuZCBwZW5kaW5nIHJlcXVlc3RzIGluICcgKyAnY29tcG9uZW50V2lsbFVubW91bnQgdG8gcHJldmVudCBtZW1vcnkgbGVha3MuJ10sXG4gICAgcmVwbGFjZVN0YXRlOiBbJ3JlcGxhY2VTdGF0ZScsICdSZWZhY3RvciB5b3VyIGNvZGUgdG8gdXNlIHNldFN0YXRlIGluc3RlYWQgKHNlZSAnICsgJ2h0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMzIzNikuJ11cbiAgfTtcblxuICB2YXIgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nID0gZnVuY3Rpb24gKG1ldGhvZE5hbWUsIGluZm8pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29tcG9uZW50LnByb3RvdHlwZSwgbWV0aG9kTmFtZSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJyVzKC4uLikgaXMgZGVwcmVjYXRlZCBpbiBwbGFpbiBKYXZhU2NyaXB0IFJlYWN0IGNsYXNzZXMuICVzJywgaW5mb1swXSwgaW5mb1sxXSk7XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBmb3IgKHZhciBmbk5hbWUgaW4gZGVwcmVjYXRlZEFQSXMpIHtcbiAgICBpZiAoZGVwcmVjYXRlZEFQSXMuaGFzT3duUHJvcGVydHkoZm5OYW1lKSkge1xuICAgICAgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nKGZuTmFtZSwgZGVwcmVjYXRlZEFQSXNbZm5OYW1lXSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIENvbXBvbmVudER1bW15KCkge31cblxuQ29tcG9uZW50RHVtbXkucHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbi8qKlxuICogQ29udmVuaWVuY2UgY29tcG9uZW50IHdpdGggZGVmYXVsdCBzaGFsbG93IGVxdWFsaXR5IGNoZWNrIGZvciBzQ1UuXG4gKi9cblxuZnVuY3Rpb24gUHVyZUNvbXBvbmVudChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xuICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7IC8vIElmIGEgY29tcG9uZW50IGhhcyBzdHJpbmcgcmVmcywgd2Ugd2lsbCBhc3NpZ24gYSBkaWZmZXJlbnQgb2JqZWN0IGxhdGVyLlxuXG4gIHRoaXMucmVmcyA9IGVtcHR5T2JqZWN0O1xuICB0aGlzLnVwZGF0ZXIgPSB1cGRhdGVyIHx8IFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlO1xufVxuXG52YXIgcHVyZUNvbXBvbmVudFByb3RvdHlwZSA9IFB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudER1bW15KCk7XG5wdXJlQ29tcG9uZW50UHJvdG90eXBlLmNvbnN0cnVjdG9yID0gUHVyZUNvbXBvbmVudDsgLy8gQXZvaWQgYW4gZXh0cmEgcHJvdG90eXBlIGp1bXAgZm9yIHRoZXNlIG1ldGhvZHMuXG5cbmFzc2lnbihwdXJlQ29tcG9uZW50UHJvdG90eXBlLCBDb21wb25lbnQucHJvdG90eXBlKTtcbnB1cmVDb21wb25lbnRQcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuXG4vLyBhbiBpbW11dGFibGUgb2JqZWN0IHdpdGggYSBzaW5nbGUgbXV0YWJsZSB2YWx1ZVxuZnVuY3Rpb24gY3JlYXRlUmVmKCkge1xuICB2YXIgcmVmT2JqZWN0ID0ge1xuICAgIGN1cnJlbnQ6IG51bGxcbiAgfTtcblxuICB7XG4gICAgT2JqZWN0LnNlYWwocmVmT2JqZWN0KTtcbiAgfVxuXG4gIHJldHVybiByZWZPYmplY3Q7XG59XG5cbnZhciBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuZnVuY3Rpb24gaXNBcnJheShhKSB7XG4gIHJldHVybiBpc0FycmF5SW1wbChhKTtcbn1cblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuXG5cbmZ1bmN0aW9uIHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSB7XG4gIHtcbiAgICB0cnkge1xuICAgICAgdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIC8vIElmIHlvdSBlbmRlZCB1cCBoZXJlIGJ5IGZvbGxvd2luZyBhbiBleGNlcHRpb24gY2FsbCBzdGFjaywgaGVyZSdzIHdoYXQnc1xuICAvLyBoYXBwZW5lZDogeW91IHN1cHBsaWVkIGFuIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gUmVhY3QgKGFzIGEgcHJvcCwga2V5LFxuICAvLyBET00gYXR0cmlidXRlLCBDU1MgcHJvcGVydHksIHN0cmluZyByZWYsIGV0Yy4pIGFuZCB3aGVuIFJlYWN0IHRyaWVkIHRvXG4gIC8vIGNvZXJjZSBpdCB0byBhIHN0cmluZyB1c2luZyBgJycgKyB2YWx1ZWAsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duLlxuICAvL1xuICAvLyBUaGUgbW9zdCBjb21tb24gdHlwZXMgdGhhdCB3aWxsIGNhdXNlIHRoaXMgZXhjZXB0aW9uIGFyZSBgU3ltYm9sYCBpbnN0YW5jZXNcbiAgLy8gYW5kIFRlbXBvcmFsIG9iamVjdHMgbGlrZSBgVGVtcG9yYWwuSW5zdGFudGAuIEJ1dCBhbnkgb2JqZWN0IHRoYXQgaGFzIGFcbiAgLy8gYHZhbHVlT2ZgIG9yIGBbU3ltYm9sLnRvUHJpbWl0aXZlXWAgbWV0aG9kIHRoYXQgdGhyb3dzIHdpbGwgYWxzbyBjYXVzZSB0aGlzXG4gIC8vIGV4Y2VwdGlvbi4gKExpYnJhcnkgYXV0aG9ycyBkbyB0aGlzIHRvIHByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyBidWlsdC1pblxuICAvLyBudW1lcmljIG9wZXJhdG9ycyBsaWtlIGArYCBvciBjb21wYXJpc29uIG9wZXJhdG9ycyBsaWtlIGA+PWAgYmVjYXVzZSBjdXN0b21cbiAgLy8gbWV0aG9kcyBhcmUgbmVlZGVkIHRvIHBlcmZvcm0gYWNjdXJhdGUgYXJpdGhtZXRpYyBvciBjb21wYXJpc29uLilcbiAgLy9cbiAgLy8gVG8gZml4IHRoZSBwcm9ibGVtLCBjb2VyY2UgdGhpcyBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nIGJlZm9yZVxuICAvLyBwYXNzaW5nIGl0IHRvIFJlYWN0LiBUaGUgbW9zdCByZWxpYWJsZSB3YXkgaXMgdXN1YWxseSBgU3RyaW5nKHZhbHVlKWAuXG4gIC8vXG4gIC8vIFRvIGZpbmQgd2hpY2ggdmFsdWUgaXMgdGhyb3dpbmcsIGNoZWNrIHRoZSBicm93c2VyIG9yIGRlYnVnZ2VyIGNvbnNvbGUuXG4gIC8vIEJlZm9yZSB0aGlzIGV4Y2VwdGlvbiB3YXMgdGhyb3duLCB0aGVyZSBzaG91bGQgYmUgYGNvbnNvbGUuZXJyb3JgIG91dHB1dFxuICAvLyB0aGF0IHNob3dzIHRoZSB0eXBlIChTeW1ib2wsIFRlbXBvcmFsLlBsYWluRGF0ZSwgZXRjLikgdGhhdCBjYXVzZWQgdGhlXG4gIC8vIHByb2JsZW0gYW5kIGhvdyB0aGF0IHR5cGUgd2FzIHVzZWQ6IGtleSwgYXRycmlidXRlLCBpbnB1dCB2YWx1ZSBwcm9wLCBldGMuXG4gIC8vIEluIG1vc3QgY2FzZXMsIHRoaXMgY29uc29sZSBvdXRwdXQgYWxzbyBzaG93cyB0aGUgY29tcG9uZW50IGFuZCBpdHNcbiAgLy8gYW5jZXN0b3IgY29tcG9uZW50cyB3aGVyZSB0aGUgZXhjZXB0aW9uIGhhcHBlbmVkLlxuICAvL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBjaGVja0tleVN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG52YXIgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgPSBmYWxzZTtcbi8vIFJlYWR5IGZvciBuZXh0IG1ham9yLlxuLy9cbi8vIEFsaWFzIF9fTkVYVF9NQUpPUl9fIHRvIGZhbHNlIGZvciBlYXNpZXIgc2tpbW1pbmcuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgX19ORVhUX01BSk9SX18gPSBmYWxzZTsgLy8gTm90IHJlYWR5IHRvIGJyZWFrIGV4cGVyaW1lbnRhbCB5ZXQuXG4vLyBhcyBhIG5vcm1hbCBwcm9wIGluc3RlYWQgb2Ygc3RyaXBwaW5nIGl0IGZyb20gdGhlIHByb3BzIG9iamVjdC5cbi8vIFBhc3NlcyBgcmVmYCBhcyBhIG5vcm1hbCBwcm9wIGluc3RlYWQgb2Ygc3RyaXBwaW5nIGl0IGZyb20gdGhlIHByb3BzIG9iamVjdFxuLy8gZHVyaW5nIGVsZW1lbnQgY3JlYXRpb24uXG5cbnZhciBlbmFibGVSZWZBc1Byb3AgPSBfX05FWFRfTUFKT1JfXzsgLy8gTm90IHJlYWR5IHRvIGJyZWFrIGV4cGVyaW1lbnRhbCB5ZXQuXG4vLyBzdHVmZi4gSW50ZW5kZWQgdG8gZW5hYmxlIFJlYWN0IGNvcmUgbWVtYmVycyB0byBtb3JlIGVhc2lseSBkZWJ1ZyBzY2hlZHVsaW5nXG4vLyBpc3N1ZXMgaW4gREVWIGJ1aWxkcy5cblxudmFyIGVuYWJsZURlYnVnVHJhY2luZyA9IGZhbHNlO1xuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQyID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpOyAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cbmZ1bmN0aW9uIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICAvLyBIb3N0IHJvb3QsIHRleHQgbm9kZSBvciBqdXN0IGludmFsaWQgdHlwZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIpIHtcbiAgICAgIC8vIFRPRE86IENyZWF0ZSBhIGNvbnZlbnRpb24gZm9yIG5hbWluZyBjbGllbnQgcmVmZXJlbmNlcyB3aXRoIGRlYnVnIGluZm8uXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgIHJldHVybiAnRnJhZ21lbnQnO1xuXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgIHJldHVybiAnUG9ydGFsJztcblxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgIHJldHVybiAnUHJvZmlsZXInO1xuXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG5cbiAgICBjYXNlIFJFQUNUX0NBQ0hFX1RZUEU6XG4gICAgICB7XG4gICAgICAgIHJldHVybiAnQ2FjaGUnO1xuICAgICAgfVxuXG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAge1xuICAgICAgaWYgKHR5cGVvZiB0eXBlLnRhZyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgZXJyb3IoJ1JlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiAnICsgJ1RoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwcm92aWRlciA9IHR5cGU7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICB2YXIgY29udGV4dCA9IHR5cGU7XG5cbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBnZXRDb250ZXh0TmFtZShjb250ZXh0KSArICcuQ29uc3VtZXInO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfQ09OU1VNRVJfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldFdyYXBwZWROYW1lKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgdmFyIG91dGVyTmFtZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbDtcblxuICAgICAgICBpZiAob3V0ZXJOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG91dGVyTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnTWVtbyc7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShpbml0KHBheWxvYWQpKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxudmFyIFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNsaWVudC5yZWZlcmVuY2UnKTtcbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBOb3RlOiB0eXBlb2YgbWlnaHQgYmUgb3RoZXIgdGhhbiAnc3ltYm9sJyBvciAnbnVtYmVyJyAoZS5nLiBpZiBpdCdzIGEgcG9seWZpbGwpLlxuXG5cbiAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfUFJPRklMRVJfVFlQRSB8fCBlbmFibGVEZWJ1Z1RyYWNpbmcgIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgZW5hYmxlTGVnYWN5SGlkZGVuICB8fCB0eXBlID09PSBSRUFDVF9PRkZTQ1JFRU5fVFlQRSB8fCBlbmFibGVTY29wZUFQSSAgfHwgZW5hYmxlQ2FjaGVFbGVtZW50ICB8fCBlbmFibGVUcmFuc2l0aW9uVHJhY2luZyApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IGVuYWJsZVJlbmRlcmFibGVDb250ZXh0ICB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDEgfHwgdHlwZS5nZXRNb2R1bGVJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8vIEhlbHBlcnMgdG8gcGF0Y2ggY29uc29sZS5sb2dzIHRvIGF2b2lkIGxvZ2dpbmcgZHVyaW5nIHNpZGUtZWZmZWN0IGZyZWVcbi8vIHJlcGxheWluZyBvbiByZW5kZXIgZnVuY3Rpb24uIFRoaXMgY3VycmVudGx5IG9ubHkgcGF0Y2hlcyB0aGUgb2JqZWN0XG4vLyBsYXppbHkgd2hpY2ggd29uJ3QgY292ZXIgaWYgdGhlIGxvZyBmdW5jdGlvbiB3YXMgZXh0cmFjdGVkIGVhZ2VybHkuXG4vLyBXZSBjb3VsZCBhbHNvIGVhZ2VybHkgcGF0Y2ggdGhlIG1ldGhvZC5cbnZhciBkaXNhYmxlZERlcHRoID0gMDtcbnZhciBwcmV2TG9nO1xudmFyIHByZXZJbmZvO1xudmFyIHByZXZXYXJuO1xudmFyIHByZXZFcnJvcjtcbnZhciBwcmV2R3JvdXA7XG52YXIgcHJldkdyb3VwQ29sbGFwc2VkO1xudmFyIHByZXZHcm91cEVuZDtcblxuZnVuY3Rpb24gZGlzYWJsZWRMb2coKSB7fVxuXG5kaXNhYmxlZExvZy5fX3JlYWN0RGlzYWJsZWRMb2cgPSB0cnVlO1xuZnVuY3Rpb24gZGlzYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICBwcmV2TG9nID0gY29uc29sZS5sb2c7XG4gICAgICBwcmV2SW5mbyA9IGNvbnNvbGUuaW5mbztcbiAgICAgIHByZXZXYXJuID0gY29uc29sZS53YXJuO1xuICAgICAgcHJldkVycm9yID0gY29uc29sZS5lcnJvcjtcbiAgICAgIHByZXZHcm91cCA9IGNvbnNvbGUuZ3JvdXA7XG4gICAgICBwcmV2R3JvdXBDb2xsYXBzZWQgPSBjb25zb2xlLmdyb3VwQ29sbGFwc2VkO1xuICAgICAgcHJldkdyb3VwRW5kID0gY29uc29sZS5ncm91cEVuZDsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTA5OVxuXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IGRpc2FibGVkTG9nLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfTsgLy8gJEZsb3dGaXhNZVtjYW5ub3Qtd3JpdGVdIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBsb2c6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkxvZ1xuICAgICAgICB9KSxcbiAgICAgICAgaW5mbzogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2SW5mb1xuICAgICAgICB9KSxcbiAgICAgICAgd2FybjogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2V2FyblxuICAgICAgICB9KSxcbiAgICAgICAgZXJyb3I6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkVycm9yXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cENvbGxhcHNlZFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXBFbmQ6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwRW5kXG4gICAgICAgIH0pXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPCAwKSB7XG4gICAgICBlcnJvcignZGlzYWJsZWREZXB0aCBmZWxsIGJlbG93IHplcm8uICcgKyAnVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjtcbnZhciBwcmVmaXg7XG5mdW5jdGlvbiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbnZhciByZWVudHJ5ID0gZmFsc2U7XG52YXIgY29tcG9uZW50RnJhbWVDYWNoZTtcblxue1xuICB2YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwO1xuICBjb21wb25lbnRGcmFtZUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xufVxuLyoqXG4gKiBMZXZlcmFnZXMgbmF0aXZlIGJyb3dzZXIvVk0gc3RhY2sgZnJhbWVzIHRvIGdldCBwcm9wZXIgZGV0YWlscyAoZS5nLlxuICogZmlsZW5hbWUsIGxpbmUgKyBjb2wgbnVtYmVyKSBmb3IgYSBzaW5nbGUgY29tcG9uZW50IGluIGEgY29tcG9uZW50IHN0YWNrLiBXZVxuICogZG8gdGhpcyBieTpcbiAqICAgKDEpIHRocm93aW5nIGFuZCBjYXRjaGluZyBhbiBlcnJvciBpbiB0aGUgZnVuY3Rpb24gLSB0aGlzIHdpbGwgYmUgb3VyXG4gKiAgICAgICBjb250cm9sIGVycm9yLlxuICogICAoMikgY2FsbGluZyB0aGUgY29tcG9uZW50IHdoaWNoIHdpbGwgZXZlbnR1YWxseSB0aHJvdyBhbiBlcnJvciB0aGF0IHdlJ2xsXG4gKiAgICAgICBjYXRjaCAtIHRoaXMgd2lsbCBiZSBvdXIgc2FtcGxlIGVycm9yLlxuICogICAoMykgZGlmZmluZyB0aGUgY29udHJvbCBhbmQgc2FtcGxlIGVycm9yIHN0YWNrcyB0byBmaW5kIHRoZSBzdGFjayBmcmFtZVxuICogICAgICAgd2hpY2ggcmVwcmVzZW50cyBvdXIgY29tcG9uZW50LlxuICovXG5cblxuZnVuY3Rpb24gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgY29uc3RydWN0KSB7XG4gIC8vIElmIHNvbWV0aGluZyBhc2tlZCBmb3IgYSBzdGFjayBpbnNpZGUgYSBmYWtlIHJlbmRlciwgaXQgc2hvdWxkIGdldCBpZ25vcmVkLlxuICBpZiAoIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICByZWVudHJ5ID0gdHJ1ZTtcbiAgdmFyIHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2UgPSBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZTsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV0gSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7IC8vIFNldCB0aGUgZGlzcGF0Y2hlciBpbiBERVYgYmVjYXVzZSB0aGlzIG1pZ2h0IGJlIGNhbGwgaW4gdGhlIHJlbmRlciBmdW5jdGlvblxuICAgIC8vIGZvciB3YXJuaW5ncy5cblxuICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuICAvKipcbiAgICogRmluZGluZyBhIGNvbW1vbiBzdGFjayBmcmFtZSBiZXR3ZWVuIHNhbXBsZSBhbmQgY29udHJvbCBlcnJvcnMgY2FuIGJlXG4gICAqIHRyaWNreSBnaXZlbiB0aGUgZGlmZmVyZW50IHR5cGVzIGFuZCBsZXZlbHMgb2Ygc3RhY2sgdHJhY2UgdHJ1bmNhdGlvbiBmcm9tXG4gICAqIGRpZmZlcmVudCBKUyBWTXMuIFNvIGluc3RlYWQgd2UnbGwgYXR0ZW1wdCB0byBjb250cm9sIHdoYXQgdGhhdCBjb21tb25cbiAgICogZnJhbWUgc2hvdWxkIGJlIHRocm91Z2ggdGhpcyBvYmplY3QgbWV0aG9kOlxuICAgKiBIYXZpbmcgYm90aCB0aGUgc2FtcGxlIGFuZCBjb250cm9sIGVycm9ycyBiZSBpbiB0aGUgZnVuY3Rpb24gdW5kZXIgdGhlXG4gICAqIGBEZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lUm9vdGAgcHJvcGVydHksICsgc2V0dGluZyB0aGUgYG5hbWVgIGFuZFxuICAgKiBgZGlzcGxheU5hbWVgIHByb3BlcnRpZXMgb2YgdGhlIGZ1bmN0aW9uIGVuc3VyZXMgdGhhdCBhIHN0YWNrXG4gICAqIGZyYW1lIGV4aXN0cyB0aGF0IGhhcyB0aGUgbWV0aG9kIG5hbWUgYERlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWVSb290YCBpblxuICAgKiBpdCBmb3IgYm90aCBjb250cm9sIGFuZCBzYW1wbGUgc3RhY2tzLlxuICAgKi9cblxuXG4gIHZhciBSdW5JblJvb3RGcmFtZSA9IHtcbiAgICBEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBjb250cm9sO1xuXG4gICAgICB0cnkge1xuICAgICAgICAvLyBUaGlzIHNob3VsZCB0aHJvdy5cbiAgICAgICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgICAgIC8vIFNvbWV0aGluZyBzaG91bGQgYmUgc2V0dGluZyB0aGUgcHJvcHMgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAgICAgIHZhciBGYWtlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgICB9OyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZha2UucHJvdG90eXBlLCAncHJvcHMnLCB7XG4gICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgICAgICAvLyBiZWNhdXNlIHRoYXQgd29uJ3QgdGhyb3cgaW4gYSBub24tc3RyaWN0IG1vZGUgZnVuY3Rpb24uXG4gICAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09ICdvYmplY3QnICYmIFJlZmxlY3QuY29uc3RydWN0KSB7XG4gICAgICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgICAgICAvLyBmcmFtZXMgYWRkZWQgYnkgdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoZm4sIFtdLCBGYWtlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgRmFrZS5jYWxsKCk7XG4gICAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICAgICAgfSAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ10gZm91bmQgd2hlbiB1cGdyYWRpbmcgRmxvd1xuXG5cbiAgICAgICAgICAgIGZuLmNhbGwoRmFrZS5wcm90b3R5cGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICB9IC8vIFRPRE8obHVuYSk6IFRoaXMgd2lsbCBjdXJyZW50bHkgb25seSB0aHJvdyBpZiB0aGUgZnVuY3Rpb24gY29tcG9uZW50XG4gICAgICAgICAgLy8gdHJpZXMgdG8gYWNjZXNzIFJlYWN0L1JlYWN0RE9NL3Byb3BzLiBXZSBzaG91bGQgcHJvYmFibHkgbWFrZSB0aGlzIHRocm93XG4gICAgICAgICAgLy8gaW4gc2ltcGxlIGNvbXBvbmVudHMgdG9vXG5cblxuICAgICAgICAgIHZhciBtYXliZVByb21pc2UgPSBmbigpOyAvLyBJZiB0aGUgZnVuY3Rpb24gY29tcG9uZW50IHJldHVybnMgYSBwcm9taXNlLCBpdCdzIGxpa2VseSBhbiBhc3luY1xuICAgICAgICAgIC8vIGNvbXBvbmVudCwgd2hpY2ggd2UgZG9uJ3QgeWV0IHN1cHBvcnQuIEF0dGFjaCBhIG5vb3AgY2F0Y2ggaGFuZGxlciB0b1xuICAgICAgICAgIC8vIHNpbGVuY2UgdGhlIGVycm9yLlxuICAgICAgICAgIC8vIFRPRE86IEltcGxlbWVudCBjb21wb25lbnQgc3RhY2tzIGZvciBhc3luYyBjbGllbnQgY29tcG9uZW50cz9cblxuICAgICAgICAgIGlmIChtYXliZVByb21pc2UgJiYgdHlwZW9mIG1heWJlUHJvbWlzZS5jYXRjaCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbWF5YmVQcm9taXNlLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKHNhbXBsZSkge1xuICAgICAgICAvLyBUaGlzIGlzIGlubGluZWQgbWFudWFsbHkgYmVjYXVzZSBjbG9zdXJlIGRvZXNuJ3QgZG8gaXQgZm9yIHVzLlxuICAgICAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gW3NhbXBsZS5zdGFjaywgY29udHJvbC5zdGFja107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgICB9XG4gIH07IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuXG4gIFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZSA9ICdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnO1xuICB2YXIgbmFtZVByb3BEZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QsICduYW1lJyk7IC8vIEJlZm9yZSBFUzYsIHRoZSBgbmFtZWAgcHJvcGVydHkgd2FzIG5vdCBjb25maWd1cmFibGUuXG5cbiAgaWYgKG5hbWVQcm9wRGVzY3JpcHRvciAmJiBuYW1lUHJvcERlc2NyaXB0b3IuY29uZmlndXJhYmxlKSB7XG4gICAgLy8gVjggdXRpbGl6ZXMgYSBmdW5jdGlvbidzIGBuYW1lYCBwcm9wZXJ0eSB3aGVuIGdlbmVyYXRpbmcgYSBzdGFjayB0cmFjZS5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCAvLyBDb25maWd1cmFibGUgcHJvcGVydGllcyBjYW4gYmUgdXBkYXRlZCBldmVuIGlmIGl0cyB3cml0YWJsZSBkZXNjcmlwdG9yXG4gICAgLy8gaXMgc2V0IHRvIGBmYWxzZWAuXG4gICAgLy8gJEZsb3dGaXhNZVtjYW5ub3Qtd3JpdGVdXG4gICAgJ25hbWUnLCB7XG4gICAgICB2YWx1ZTogJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCdcbiAgICB9KTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgdmFyIF9SdW5JblJvb3RGcmFtZSREZXRlciA9IFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCgpLFxuICAgICAgICBzYW1wbGVTdGFjayA9IF9SdW5JblJvb3RGcmFtZSREZXRlclswXSxcbiAgICAgICAgY29udHJvbFN0YWNrID0gX1J1bkluUm9vdEZyYW1lJERldGVyWzFdO1xuXG4gICAgaWYgKHNhbXBsZVN0YWNrICYmIGNvbnRyb2xTdGFjaykge1xuICAgICAgLy8gVGhpcyBleHRyYWN0cyB0aGUgZmlyc3QgZnJhbWUgZnJvbSB0aGUgc2FtcGxlIHRoYXQgaXNuJ3QgYWxzbyBpbiB0aGUgY29udHJvbC5cbiAgICAgIC8vIFNraXBwaW5nIG9uZSBmcmFtZSB0aGF0IHdlIGFzc3VtZSBpcyB0aGUgZnJhbWUgdGhhdCBjYWxscyB0aGUgdHdvLlxuICAgICAgdmFyIHNhbXBsZUxpbmVzID0gc2FtcGxlU3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIGNvbnRyb2xMaW5lcyA9IGNvbnRyb2xTdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IDA7XG4gICAgICB2YXIgYyA9IDA7XG5cbiAgICAgIHdoaWxlIChzIDwgc2FtcGxlTGluZXMubGVuZ3RoICYmICFzYW1wbGVMaW5lc1tzXS5pbmNsdWRlcygnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JykpIHtcbiAgICAgICAgcysrO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAoYyA8IGNvbnRyb2xMaW5lcy5sZW5ndGggJiYgIWNvbnRyb2xMaW5lc1tjXS5pbmNsdWRlcygnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JykpIHtcbiAgICAgICAgYysrO1xuICAgICAgfSAvLyBXZSBjb3VsZG4ndCBmaW5kIG91ciBpbnRlbnRpb25hbGx5IGluamVjdGVkIGNvbW1vbiByb290IGZyYW1lLCBhdHRlbXB0XG4gICAgICAvLyB0byBmaW5kIGFub3RoZXIgY29tbW9uIHJvb3QgZnJhbWUgYnkgc2VhcmNoIGZyb20gdGhlIGJvdHRvbSBvZiB0aGVcbiAgICAgIC8vIGNvbnRyb2wgc3RhY2suLi5cblxuXG4gICAgICBpZiAocyA9PT0gc2FtcGxlTGluZXMubGVuZ3RoIHx8IGMgPT09IGNvbnRyb2xMaW5lcy5sZW5ndGgpIHtcbiAgICAgICAgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICAgIGMgPSBjb250cm9sTGluZXMubGVuZ3RoIC0gMTtcblxuICAgICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gV2UgZXhwZWN0IGF0IGxlYXN0IG9uZSBzdGFjayBmcmFtZSB0byBiZSBzaGFyZWQuXG4gICAgICAgICAgLy8gVHlwaWNhbGx5IHRoaXMgd2lsbCBiZSB0aGUgcm9vdCBtb3N0IG9uZS4gSG93ZXZlciwgc3RhY2sgZnJhbWVzIG1heSBiZVxuICAgICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgICAgLy8gZWFybGllciB0aGFuIHRoZSBvdGhlci4gV2UgYXNzdW1lIHRoYXQgdGhlIHNhbXBsZSBpcyBsb25nZXIgb3IgdGhlIHNhbWVcbiAgICAgICAgICAvLyBhbmQgdGhlcmUgZm9yIGN1dCBvZmYgZWFybGllci4gU28gd2Ugc2hvdWxkIGZpbmQgdGhlIHJvb3QgbW9zdCBmcmFtZSBpblxuICAgICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICAgIGMtLTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKDsgcyA+PSAxICYmIGMgPj0gMDsgcy0tLCBjLS0pIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBmaW5kIHRoZSBmaXJzdCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSB3aGljaCBzaG91bGQgYmUgdGhlXG4gICAgICAgIC8vIGZyYW1lIHRoYXQgY2FsbGVkIG91ciBzYW1wbGUgZnVuY3Rpb24gYW5kIHRoZSBjb250cm9sLlxuICAgICAgICBpZiAoc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIEluIFY4LCB0aGUgZmlyc3QgbGluZSBpcyBkZXNjcmliaW5nIHRoZSBtZXNzYWdlIGJ1dCBvdGhlciBWTXMgZG9uJ3QuXG4gICAgICAgICAgLy8gSWYgd2UncmUgYWJvdXQgdG8gcmV0dXJuIHRoZSBmaXJzdCBsaW5lLCBhbmQgdGhlIGNvbnRyb2wgaXMgYWxzbyBvbiB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxpbmUsIHRoYXQncyBhIHByZXR0eSBnb29kIGluZGljYXRvciB0aGF0IG91ciBzYW1wbGUgdGhyZXcgYXQgc2FtZSBsaW5lIGFzXG4gICAgICAgICAgLy8gdGhlIGNvbnRyb2wuIEkuZS4gYmVmb3JlIHdlIGVudGVyZWQgdGhlIHNhbXBsZSBmcmFtZS4gU28gd2UgaWdub3JlIHRoaXMgcmVzdWx0LlxuICAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB5b3UgcGFzc2VkIGEgY2xhc3MgdG8gZnVuY3Rpb24gY29tcG9uZW50LCBvciBub24tZnVuY3Rpb24uXG4gICAgICAgICAgaWYgKHMgIT09IDEgfHwgYyAhPT0gMSkge1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICBzLS07XG4gICAgICAgICAgICAgIGMtLTsgLy8gV2UgbWF5IHN0aWxsIGhhdmUgc2ltaWxhciBpbnRlcm1lZGlhdGUgZnJhbWVzIGZyb20gdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICAgICAgICAvLyBUaGUgbmV4dCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSBzaG91bGQgYmUgb3VyIG1hdGNoIHRob3VnaC5cblxuICAgICAgICAgICAgICBpZiAoYyA8IDAgfHwgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgICAgICAgIC8vIFY4IGFkZHMgYSBcIm5ld1wiIHByZWZpeCBmb3IgbmF0aXZlIGNsYXNzZXMuIExldCdzIHJlbW92ZSBpdCB0byBtYWtlIGl0IHByZXR0aWVyLlxuICAgICAgICAgICAgICAgIHZhciBfZnJhbWUgPSAnXFxuJyArIHNhbXBsZUxpbmVzW3NdLnJlcGxhY2UoJyBhdCBuZXcgJywgJyBhdCAnKTsgLy8gSWYgb3VyIGNvbXBvbmVudCBmcmFtZSBpcyBsYWJlbGVkIFwiPGFub255bW91cz5cIlxuICAgICAgICAgICAgICAgIC8vIGJ1dCB3ZSBoYXZlIGEgdXNlci1wcm92aWRlZCBcImRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgICAgICAvLyBzcGxpY2UgaXQgaW4gdG8gbWFrZSB0aGUgc3RhY2sgbW9yZSByZWFkYWJsZS5cblxuXG4gICAgICAgICAgICAgICAgaWYgKGZuLmRpc3BsYXlOYW1lICYmIF9mcmFtZS5pbmNsdWRlcygnPGFub255bW91cz4nKSkge1xuICAgICAgICAgICAgICAgICAgX2ZyYW1lID0gX2ZyYW1lLnJlcGxhY2UoJzxhbm9ueW1vdXM+JywgZm4uZGlzcGxheU5hbWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0cnVlKSB7XG4gICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudEZyYW1lQ2FjaGUuc2V0KGZuLCBfZnJhbWUpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gLy8gUmV0dXJuIHRoZSBsaW5lIHdlIGZvdW5kLlxuXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gX2ZyYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IHdoaWxlIChzID49IDEgJiYgYyA+PSAwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICByZWVudHJ5ID0gZmFsc2U7XG5cbiAgICB7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2aW91c0Rpc3BhdGNoZXI7XG4gICAgICByZWVuYWJsZUxvZ3MoKTtcbiAgICB9XG5cbiAgICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2U7XG4gIH0gLy8gRmFsbGJhY2sgdG8ganVzdCB1c2luZyB0aGUgbmFtZSBpZiB3ZSBjb3VsZG4ndCBtYWtlIGl0IHRocm93LlxuXG5cbiAgdmFyIG5hbWUgPSBmbiA/IGZuLmRpc3BsYXlOYW1lIHx8IGZuLm5hbWUgOiAnJztcbiAgdmFyIHN5bnRoZXRpY0ZyYW1lID0gbmFtZSA/IGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUpIDogJyc7XG5cbiAge1xuICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbXBvbmVudEZyYW1lQ2FjaGUuc2V0KGZuLCBzeW50aGV0aWNGcmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN5bnRoZXRpY0ZyYW1lO1xufVxuZnVuY3Rpb24gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKGZuLCBvd25lckZuKSB7XG4gIHtcbiAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgZmFsc2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcbiAgdmFyIHByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4gIHJldHVybiAhIShwcm90b3R5cGUgJiYgcHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSwgb3duZXJGbikge1xuXG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB7XG4gICAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZSh0eXBlLCBzaG91bGRDb25zdHJ1Y3QodHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUodHlwZSk7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlJyk7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2VMaXN0Jyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgLy8gTWVtbyBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLnR5cGUsIG93bmVyRm4pO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIExhenkgbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGluaXQocGF5bG9hZCksIG93bmVyRm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xudmFyIFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UgPSBTeW1ib2wuZm9yKCdyZWFjdC5jbGllbnQucmVmZXJlbmNlJyk7XG52YXIgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd247XG52YXIgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd247XG52YXIgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcblxue1xuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkUmVmKGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAncmVmJykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ3JlZicpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcucmVmICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ2tleScpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcua2V5ICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlN0cmluZ1JlZkNhbm5vdEJlQXV0b0NvbnZlcnRlZChjb25maWcsIHNlbGYpIHtcbiAge1xuICAgIGlmICh0eXBlb2YgY29uZmlnLnJlZiA9PT0gJ3N0cmluZycgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCAmJiBzZWxmICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQuc3RhdGVOb2RlICE9PSBzZWxmKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgZXJyb3IoJ0NvbXBvbmVudCBcIiVzXCIgY29udGFpbnMgdGhlIHN0cmluZyByZWYgXCIlc1wiLiAnICsgJ1N1cHBvcnQgZm9yIHN0cmluZyByZWZzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiAnICsgJ1RoaXMgY2FzZSBjYW5ub3QgYmUgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gYW4gYXJyb3cgZnVuY3Rpb24uICcgKyAnV2UgYXNrIHlvdSB0byBtYW51YWxseSBmaXggdGhpcyBjYXNlIGJ5IHVzaW5nIHVzZVJlZigpIG9yIGNyZWF0ZVJlZigpIGluc3RlYWQuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zdHJpY3QtbW9kZS1zdHJpbmctcmVmJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSksIGNvbmZpZy5yZWYpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcbiAge1xuICAgIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoIXNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duKSB7XG4gICAgICAgIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignJXM6IGBrZXlgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3BlY2lhbC1wcm9wcyknLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHdhcm5BYm91dEFjY2Vzc2luZ0tleS5pc1JlYWN0V2FybmluZyA9IHRydWU7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAna2V5Jywge1xuICAgICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdLZXksXG4gICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcbiAge1xuICAgIHtcbiAgICAgIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgICBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignJXM6IGByZWZgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3BlY2lhbC1wcm9wcyknLCBkaXNwbGF5TmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHdhcm5BYm91dEFjY2Vzc2luZ1JlZi5pc1JlYWN0V2FybmluZyA9IHRydWU7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nUmVmLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgUmVhY3QgZWxlbWVudC4gVGhpcyBubyBsb25nZXIgYWRoZXJlcyB0b1xuICogdGhlIGNsYXNzIHBhdHRlcm4sIHNvIGRvIG5vdCB1c2UgbmV3IHRvIGNhbGwgaXQuIEFsc28sIGluc3RhbmNlb2YgY2hlY2tcbiAqIHdpbGwgbm90IHdvcmsuIEluc3RlYWQgdGVzdCAkJHR5cGVvZiBmaWVsZCBhZ2FpbnN0IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSB0byBjaGVja1xuICogaWYgc29tZXRoaW5nIGlzIGEgUmVhY3QgRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7Kn0gcHJvcHNcbiAqIEBwYXJhbSB7Kn0ga2V5XG4gKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IHJlZlxuICogQHBhcmFtIHsqfSBvd25lclxuICogQHBhcmFtIHsqfSBzZWxmIEEgKnRlbXBvcmFyeSogaGVscGVyIHRvIGRldGVjdCBwbGFjZXMgd2hlcmUgYHRoaXNgIGlzXG4gKiBkaWZmZXJlbnQgZnJvbSB0aGUgYG93bmVyYCB3aGVuIFJlYWN0LmNyZWF0ZUVsZW1lbnQgaXMgY2FsbGVkLCBzbyB0aGF0IHdlXG4gKiBjYW4gd2Fybi4gV2Ugd2FudCB0byBnZXQgcmlkIG9mIG93bmVyIGFuZCByZXBsYWNlIHN0cmluZyBgcmVmYHMgd2l0aCBhcnJvd1xuICogZnVuY3Rpb25zLCBhbmQgYXMgbG9uZyBhcyBgdGhpc2AgYW5kIG93bmVyIGFyZSB0aGUgc2FtZSwgdGhlcmUgd2lsbCBiZSBub1xuICogY2hhbmdlIGluIGJlaGF2aW9yLlxuICogQHBhcmFtIHsqfSBzb3VyY2UgQW4gYW5ub3RhdGlvbiBvYmplY3QgKGFkZGVkIGJ5IGEgdHJhbnNwaWxlciBvciBvdGhlcndpc2UpXG4gKiBpbmRpY2F0aW5nIGZpbGVuYW1lLCBsaW5lIG51bWJlciwgYW5kL29yIG90aGVyIGluZm9ybWF0aW9uLlxuICogQGludGVybmFsXG4gKi9cblxuXG5mdW5jdGlvbiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCBfcmVmLCBzZWxmLCBzb3VyY2UsIG93bmVyLCBwcm9wcykge1xuICB2YXIgcmVmO1xuXG4gIHtcbiAgICByZWYgPSBfcmVmO1xuICB9XG5cbiAgdmFyIGVsZW1lbnQ7XG5cbiAge1xuICAgIC8vIEluIHByb2QsIGByZWZgIGlzIGEgcmVndWxhciBwcm9wZXJ0eS4gSXQgd2lsbCBiZSByZW1vdmVkIGluIGFcbiAgICAvLyBmdXR1cmUgcmVsZWFzZS5cbiAgICBlbGVtZW50ID0ge1xuICAgICAgLy8gVGhpcyB0YWcgYWxsb3dzIHVzIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgYXMgYSBSZWFjdCBFbGVtZW50XG4gICAgICAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLFxuICAgICAgLy8gQnVpbHQtaW4gcHJvcGVydGllcyB0aGF0IGJlbG9uZyBvbiB0aGUgZWxlbWVudFxuICAgICAgdHlwZTogdHlwZSxcbiAgICAgIGtleToga2V5LFxuICAgICAgcmVmOiByZWYsXG4gICAgICBwcm9wczogcHJvcHMsXG4gICAgICAvLyBSZWNvcmQgdGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhpcyBlbGVtZW50LlxuICAgICAgX293bmVyOiBvd25lclxuICAgIH07XG4gIH1cblxuICB7XG4gICAgLy8gVGhlIHZhbGlkYXRpb24gZmxhZyBpcyBjdXJyZW50bHkgbXV0YXRpdmUuIFdlIHB1dCBpdCBvblxuICAgIC8vIGFuIGV4dGVybmFsIGJhY2tpbmcgc3RvcmUgc28gdGhhdCB3ZSBjYW4gZnJlZXplIHRoZSB3aG9sZSBvYmplY3QuXG4gICAgLy8gVGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIFdlYWtNYXAgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZCBpblxuICAgIC8vIGNvbW1vbmx5IHVzZWQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzLlxuICAgIGVsZW1lbnQuX3N0b3JlID0ge307IC8vIFRvIG1ha2UgY29tcGFyaW5nIFJlYWN0RWxlbWVudHMgZWFzaWVyIGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB3ZSBtYWtlXG4gICAgLy8gdGhlIHZhbGlkYXRpb24gZmxhZyBub24tZW51bWVyYWJsZSAod2hlcmUgcG9zc2libGUsIHdoaWNoIHNob3VsZFxuICAgIC8vIGluY2x1ZGUgZXZlcnkgZW52aXJvbm1lbnQgd2UgcnVuIHRlc3RzIGluKSwgc28gdGhlIHRlc3QgZnJhbWV3b3JrXG4gICAgLy8gaWdub3JlcyBpdC5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50Ll9zdG9yZSwgJ3ZhbGlkYXRlZCcsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfSk7IC8vIGRlYnVnSW5mbyBjb250YWlucyBTZXJ2ZXIgQ29tcG9uZW50IGRlYnVnIGluZm9ybWF0aW9uLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfZGVidWdJbmZvJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogbnVsbFxuICAgIH0pO1xuXG4gICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudC5wcm9wcyk7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxuLyoqXG4gKiBDcmVhdGUgYW5kIHJldHVybiBhIG5ldyBSZWFjdEVsZW1lbnQgb2YgdGhlIGdpdmVuIHR5cGUuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2NyZWF0ZWVsZW1lbnRcbiAqL1xuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KHR5cGUsIGNvbmZpZywgY2hpbGRyZW4pIHtcbiAge1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5jcmVhdGVFbGVtZW50OiB0eXBlIGlzIGludmFsaWQgLS0gZXhwZWN0ZWQgYSBzdHJpbmcgKGZvciAnICsgJ2J1aWx0LWluIGNvbXBvbmVudHMpIG9yIGEgY2xhc3MvZnVuY3Rpb24gKGZvciBjb21wb3NpdGUgJyArICdjb21wb25lbnRzKSBidXQgZ290OiAlcy4lcycsIHR5cGVTdHJpbmcsIGluZm8pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGlzIGEgdmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy8gU2tpcCBrZXkgd2FybmluZyBpZiB0aGUgdHlwZSBpc24ndCB2YWxpZCBzaW5jZSBvdXIga2V5IHZhbGlkYXRpb24gbG9naWNcbiAgICAgIC8vIGRvZXNuJ3QgZXhwZWN0IGEgbm9uLXN0cmluZy9mdW5jdGlvbiB0eXBlIGFuZCBjYW4gdGhyb3cgY29uZnVzaW5nXG4gICAgICAvLyBlcnJvcnMuIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmRcbiAgICAgIC8vIHByb2QuIChSZW5kZXJpbmcgd2lsbCB0aHJvdyB3aXRoIGEgaGVscGZ1bCBtZXNzYWdlIGFuZCBhcyBzb29uIGFzIHRoZVxuICAgICAgLy8gdHlwZSBpcyBmaXhlZCwgdGhlIGtleSB3YXJuaW5ncyB3aWxsIGFwcGVhci4pXG4gICAgICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhhcmd1bWVudHNbaV0sIHR5cGUpO1xuICAgICAgfVxuICAgIH0gLy8gVW5saWtlIHRoZSBqc3goKSBydW50aW1lLCBjcmVhdGVFbGVtZW50KCkgZG9lc24ndCB3YXJuIGFib3V0IGtleSBzcHJlYWQuXG5cbiAgfVxuXG4gIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gIHZhciBwcm9wcyA9IHt9O1xuICB2YXIga2V5ID0gbnVsbDtcbiAgdmFyIHJlZiA9IG51bGw7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgcmVmID0gY29uZmlnLnJlZjtcbiAgICAgIH1cblxuICAgICAge1xuICAgICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBjb25maWcuX19zZWxmKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRLZXkoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGNvbmZpZy5rZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAvLyBTa2lwIG92ZXIgcmVzZXJ2ZWQgcHJvcCBuYW1lc1xuICAgICAgcHJvcE5hbWUgIT09ICdrZXknICYmIChwcm9wTmFtZSAhPT0gJ3JlZicpICYmIC8vIEV2ZW4gdGhvdWdoIHdlIGRvbid0IHVzZSB0aGVzZSBhbnltb3JlIGluIHRoZSBydW50aW1lLCB3ZSBkb24ndCB3YW50XG4gICAgICAvLyB0aGVtIHRvIGFwcGVhciBhcyBwcm9wcywgc28gaW4gY3JlYXRlRWxlbWVudCB3ZSBmaWx0ZXIgdGhlbSBvdXQuXG4gICAgICAvLyBXZSBkb24ndCBoYXZlIHRvIGRvIHRoaXMgaW4gdGhlIGpzeCgpIHJ1bnRpbWUgYmVjYXVzZSB0aGUganN4KClcbiAgICAgIC8vIHRyYW5zZm9ybSBuZXZlciBwYXNzZWQgdGhlc2UgYXMgcHJvcHM7IGl0IHVzZWQgc2VwYXJhdGUgYXJndW1lbnRzLlxuICAgICAgcHJvcE5hbWUgIT09ICdfX3NlbGYnICYmIHByb3BOYW1lICE9PSAnX19zb3VyY2UnKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9IC8vIENoaWxkcmVuIGNhbiBiZSBtb3JlIHRoYW4gb25lIGFyZ3VtZW50LCBhbmQgdGhvc2UgYXJlIHRyYW5zZmVycmVkIG9udG9cbiAgLy8gdGhlIG5ld2x5IGFsbG9jYXRlZCBwcm9wcyBvYmplY3QuXG5cblxuICB2YXIgY2hpbGRyZW5MZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoIC0gMjtcblxuICBpZiAoY2hpbGRyZW5MZW5ndGggPT09IDEpIHtcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB9IGVsc2UgaWYgKGNoaWxkcmVuTGVuZ3RoID4gMSkge1xuICAgIHZhciBjaGlsZEFycmF5ID0gQXJyYXkoY2hpbGRyZW5MZW5ndGgpO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGNoaWxkcmVuTGVuZ3RoOyBfaSsrKSB7XG4gICAgICBjaGlsZEFycmF5W19pXSA9IGFyZ3VtZW50c1tfaSArIDJdO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGRBcnJheSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvcHMuY2hpbGRyZW4gPSBjaGlsZEFycmF5O1xuICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICB2YXIgZGVmYXVsdFByb3BzID0gdHlwZS5kZWZhdWx0UHJvcHM7XG5cbiAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGRlZmF1bHRQcm9wc1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAge1xuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBlbGVtZW50ID0gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcmVmLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgdmFsaWRhdGVGcmFnbWVudFByb3BzKGVsZW1lbnQpO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG52YXIgZGlkV2FybkFib3V0RGVwcmVjYXRlZENyZWF0ZUZhY3RvcnkgPSBmYWxzZTtcbi8qKlxuICogUmV0dXJuIGEgZnVuY3Rpb24gdGhhdCBwcm9kdWNlcyBSZWFjdEVsZW1lbnRzIG9mIGEgZ2l2ZW4gdHlwZS5cbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjY3JlYXRlZmFjdG9yeVxuICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUZhY3RvcnkodHlwZSkge1xuICB2YXIgZmFjdG9yeSA9IGNyZWF0ZUVsZW1lbnQuYmluZChudWxsLCB0eXBlKTsgLy8gRXhwb3NlIHRoZSB0eXBlIG9uIHRoZSBmYWN0b3J5IGFuZCB0aGUgcHJvdG90eXBlIHNvIHRoYXQgaXQgY2FuIGJlXG4gIC8vIGVhc2lseSBhY2Nlc3NlZCBvbiBlbGVtZW50cy4gRS5nLiBgPEZvbyAvPi50eXBlID09PSBGb29gLlxuICAvLyBUaGlzIHNob3VsZCBub3QgYmUgbmFtZWQgYGNvbnN0cnVjdG9yYCBzaW5jZSB0aGlzIG1heSBub3QgYmUgdGhlIGZ1bmN0aW9uXG4gIC8vIHRoYXQgY3JlYXRlZCB0aGUgZWxlbWVudCwgYW5kIGl0IG1heSBub3QgZXZlbiBiZSBhIGNvbnN0cnVjdG9yLlxuICAvLyBMZWdhY3kgaG9vazogcmVtb3ZlIGl0XG5cbiAgZmFjdG9yeS50eXBlID0gdHlwZTtcblxuICB7XG4gICAgaWYgKCFkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSkge1xuICAgICAgZGlkV2FybkFib3V0RGVwcmVjYXRlZENyZWF0ZUZhY3RvcnkgPSB0cnVlO1xuXG4gICAgICB3YXJuKCdSZWFjdC5jcmVhdGVGYWN0b3J5KCkgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gQ29uc2lkZXIgdXNpbmcgSlNYICcgKyAnb3IgdXNlIFJlYWN0LmNyZWF0ZUVsZW1lbnQoKSBkaXJlY3RseSBpbnN0ZWFkLicpO1xuICAgIH0gLy8gTGVnYWN5IGhvb2s6IHJlbW92ZSBpdFxuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZmFjdG9yeSwgJ3R5cGUnLCB7XG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICB3YXJuKCdGYWN0b3J5LnR5cGUgaXMgZGVwcmVjYXRlZC4gQWNjZXNzIHRoZSBjbGFzcyBkaXJlY3RseSAnICsgJ2JlZm9yZSBwYXNzaW5nIGl0IHRvIGNyZWF0ZUZhY3RvcnkuJyk7XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd0eXBlJywge1xuICAgICAgICAgIHZhbHVlOiB0eXBlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBmYWN0b3J5O1xufVxuZnVuY3Rpb24gY2xvbmVBbmRSZXBsYWNlS2V5KG9sZEVsZW1lbnQsIG5ld0tleSkge1xuICByZXR1cm4gUmVhY3RFbGVtZW50KG9sZEVsZW1lbnQudHlwZSwgbmV3S2V5LCAvLyBXaGVuIGVuYWJsZVJlZkFzUHJvcCBpcyBvbiwgdGhpcyBhcmd1bWVudCBpcyBpZ25vcmVkLiBUaGlzIGNoZWNrIG9ubHlcbiAgLy8gZXhpc3RzIHRvIGF2b2lkIHRoZSBgcmVmYCBhY2Nlc3Mgd2FybmluZy5cbiAgb2xkRWxlbWVudC5yZWYsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBvbGRFbGVtZW50Ll9vd25lciwgb2xkRWxlbWVudC5wcm9wcyk7XG59XG4vKipcbiAqIENsb25lIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IHVzaW5nIGVsZW1lbnQgYXMgdGhlIHN0YXJ0aW5nIHBvaW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjbG9uZWVsZW1lbnRcbiAqL1xuXG5mdW5jdGlvbiBjbG9uZUVsZW1lbnQoZWxlbWVudCwgY29uZmlnLCBjaGlsZHJlbikge1xuICBpZiAoZWxlbWVudCA9PT0gbnVsbCB8fCBlbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkIFwiICsgZWxlbWVudCArIFwiLlwiKTtcbiAgfVxuXG4gIHZhciBwcm9wTmFtZTsgLy8gT3JpZ2luYWwgcHJvcHMgYXJlIGNvcGllZFxuXG4gIHZhciBwcm9wcyA9IGFzc2lnbih7fSwgZWxlbWVudC5wcm9wcyk7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gIHZhciByZWYgPSBlbGVtZW50LnJlZjsgLy8gT3duZXIgd2lsbCBiZSBwcmVzZXJ2ZWQsIHVubGVzcyByZWYgaXMgb3ZlcnJpZGRlblxuXG4gIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuXG4gIGlmIChjb25maWcgIT0gbnVsbCkge1xuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIC8vIFNpbGVudGx5IHN0ZWFsIHRoZSByZWYgZnJvbSB0aGUgcGFyZW50LlxuICAgICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgfVxuXG4gICAgICBvd25lciA9IFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH0gLy8gUmVtYWluaW5nIHByb3BlcnRpZXMgb3ZlcnJpZGUgZXhpc3RpbmcgcHJvcHNcblxuXG4gICAgdmFyIGRlZmF1bHRQcm9wcztcblxuICAgIGlmIChlbGVtZW50LnR5cGUgJiYgZWxlbWVudC50eXBlLmRlZmF1bHRQcm9wcykge1xuICAgICAgZGVmYXVsdFByb3BzID0gZWxlbWVudC50eXBlLmRlZmF1bHRQcm9wcztcbiAgICB9XG5cbiAgICBmb3IgKHByb3BOYW1lIGluIGNvbmZpZykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCBwcm9wTmFtZSkgJiYgLy8gU2tpcCBvdmVyIHJlc2VydmVkIHByb3AgbmFtZXNcbiAgICAgIHByb3BOYW1lICE9PSAna2V5JyAmJiAocHJvcE5hbWUgIT09ICdyZWYnKSAmJiAvLyAuLi5hbmQgbWF5YmUgdGhlc2UsIHRvbywgdGhvdWdoIHdlIGN1cnJlbnRseSByZWx5IG9uIHRoZW0gZm9yXG4gICAgICAvLyB3YXJuaW5ncyBhbmQgZGVidWcgaW5mb3JtYXRpb24gaW4gZGV2LiBOZWVkIHRvIGRlY2lkZSBpZiB3ZSdyZSBPS1xuICAgICAgLy8gd2l0aCBkcm9wcGluZyB0aGVtLiBJbiB0aGUganN4KCkgcnVudGltZSBpdCdzIG5vdCBhbiBpc3N1ZSBiZWNhdXNlXG4gICAgICAvLyB0aGUgZGF0YSBnZXRzIHBhc3NlZCBhcyBzZXBhcmF0ZSBhcmd1bWVudHMgaW5zdGVhZCBvZiBwcm9wcywgYnV0XG4gICAgICAvLyBpdCB3b3VsZCBiZSBuaWNlIHRvIHN0b3AgcmVseWluZyBvbiB0aGVtIGVudGlyZWx5IHNvIHdlIGNhbiBkcm9wXG4gICAgICAvLyB0aGVtIGZyb20gdGhlIGludGVybmFsIEZpYmVyIGZpZWxkLlxuICAgICAgcHJvcE5hbWUgIT09ICdfX3NlbGYnICYmIHByb3BOYW1lICE9PSAnX19zb3VyY2UnICYmIC8vIFVuZGVmaW5lZCBgcmVmYCBpcyBpZ25vcmVkIGJ5IGNsb25lRWxlbWVudC4gV2UgdHJlYXQgaXQgdGhlIHNhbWUgYXNcbiAgICAgIC8vIGlmIHRoZSBwcm9wZXJ0eSB3ZXJlIG1pc3NpbmcuIFRoaXMgaXMgbW9zdGx5IGZvclxuICAgICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gICAgICAhKGVuYWJsZVJlZkFzUHJvcCAgKSkge1xuICAgICAgICBpZiAoY29uZmlnW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkICYmIGRlZmF1bHRQcm9wcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gUmVzb2x2ZSBkZWZhdWx0IHByb3BzXG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBjb25maWdbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IC8vIENoaWxkcmVuIGNhbiBiZSBtb3JlIHRoYW4gb25lIGFyZ3VtZW50LCBhbmQgdGhvc2UgYXJlIHRyYW5zZmVycmVkIG9udG9cbiAgLy8gdGhlIG5ld2x5IGFsbG9jYXRlZCBwcm9wcyBvYmplY3QuXG5cblxuICB2YXIgY2hpbGRyZW5MZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoIC0gMjtcblxuICBpZiAoY2hpbGRyZW5MZW5ndGggPT09IDEpIHtcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB9IGVsc2UgaWYgKGNoaWxkcmVuTGVuZ3RoID4gMSkge1xuICAgIHZhciBjaGlsZEFycmF5ID0gQXJyYXkoY2hpbGRyZW5MZW5ndGgpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkxlbmd0aDsgaSsrKSB7XG4gICAgICBjaGlsZEFycmF5W2ldID0gYXJndW1lbnRzW2kgKyAyXTtcbiAgICB9XG5cbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkQXJyYXk7XG4gIH1cblxuICB2YXIgY2xvbmVkRWxlbWVudCA9IFJlYWN0RWxlbWVudChlbGVtZW50LnR5cGUsIGtleSwgcmVmLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgb3duZXIsIHByb3BzKTtcblxuICBmb3IgKHZhciBfaTIgPSAyOyBfaTIgPCBhcmd1bWVudHMubGVuZ3RoOyBfaTIrKykge1xuICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tfaTJdLCBjbG9uZWRFbGVtZW50LnR5cGUpO1xuICB9XG5cbiAgcmV0dXJuIGNsb25lZEVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpIHtcbiAge1xuICAgIGlmIChSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpO1xuXG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgbmFtZSArICdgLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICh0eXBlb2Ygbm9kZSAhPT0gJ29iamVjdCcgfHwgIW5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobm9kZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSkgOyBlbHNlIGlmIChpc0FycmF5KG5vZGUpKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoaWxkID0gbm9kZVtpXTtcblxuICAgICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgICAgdmFsaWRhdGVFeHBsaWNpdEtleShjaGlsZCwgcGFyZW50VHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzVmFsaWRFbGVtZW50KG5vZGUpKSB7XG4gICAgICAvLyBUaGlzIGVsZW1lbnQgd2FzIHBhc3NlZCBpbiBhIHZhbGlkIGxvY2F0aW9uLlxuICAgICAgaWYgKG5vZGUuX3N0b3JlKSB7XG4gICAgICAgIG5vZGUuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihub2RlKTtcblxuICAgICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIEVudHJ5IGl0ZXJhdG9ycyB1c2VkIHRvIHByb3ZpZGUgaW1wbGljaXQga2V5cyxcbiAgICAgICAgLy8gYnV0IG5vdyB3ZSBwcmludCBhIHNlcGFyYXRlIHdhcm5pbmcgZm9yIHRoZW0gbGF0ZXIuXG4gICAgICAgIGlmIChpdGVyYXRvckZuICE9PSBub2RlLmVudHJpZXMpIHtcbiAgICAgICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwobm9kZSk7XG4gICAgICAgICAgdmFyIHN0ZXA7XG5cbiAgICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoc3RlcC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVFeHBsaWNpdEtleShzdGVwLnZhbHVlLCBwYXJlbnRUeXBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qKlxuICogVmVyaWZpZXMgdGhlIG9iamVjdCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjaXN2YWxpZGVsZW1lbnRcbiAqIEBwYXJhbSB7P29iamVjdH0gb2JqZWN0XG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGBvYmplY3RgIGlzIGEgUmVhY3RFbGVtZW50LlxuICogQGZpbmFsXG4gKi9cblxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cbnZhciBvd25lckhhc0tleVVzZVdhcm5pbmcgPSB7fTtcbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuZnVuY3Rpb24gdmFsaWRhdGVFeHBsaWNpdEtleShlbGVtZW50LCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAoIWVsZW1lbnQuX3N0b3JlIHx8IGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCB8fCBlbGVtZW50LmtleSAhPSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkID0gdHJ1ZTtcbiAgICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9IGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSk7XG5cbiAgICBpZiAob3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dID0gdHJ1ZTsgLy8gVXN1YWxseSB0aGUgY3VycmVudCBvd25lciBpcyB0aGUgb2ZmZW5kZXIsIGJ1dCBpZiBpdCBhY2NlcHRzIGNoaWxkcmVuIGFzIGFcbiAgICAvLyBwcm9wZXJ0eSwgaXQgbWF5IGJlIHRoZSBjcmVhdG9yIG9mIHRoZSBjaGlsZCB0aGF0J3MgcmVzcG9uc2libGUgZm9yXG4gICAgLy8gYXNzaWduaW5nIGl0IGEga2V5LlxuXG4gICAgdmFyIGNoaWxkT3duZXIgPSAnJztcblxuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuX293bmVyICYmIGVsZW1lbnQuX293bmVyICE9PSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50KSB7XG4gICAgICAvLyBHaXZlIHRoZSBjb21wb25lbnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhpcyBjaGlsZC5cbiAgICAgIGNoaWxkT3duZXIgPSBcIiBJdCB3YXMgcGFzc2VkIGEgY2hpbGQgZnJvbSBcIiArIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShlbGVtZW50Ll9vd25lci50eXBlKSArIFwiLlwiO1xuICAgIH1cblxuICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICB2YXIgc3RhY2sgPSBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoZWxlbWVudC50eXBlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSkge1xuICB7XG4gICAgdmFyIGluZm8gPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcblxuICAgIGlmICghaW5mbykge1xuICAgICAgdmFyIHBhcmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUocGFyZW50VHlwZSk7XG5cbiAgICAgIGlmIChwYXJlbnROYW1lKSB7XG4gICAgICAgIGluZm8gPSBcIlxcblxcbkNoZWNrIHRoZSB0b3AtbGV2ZWwgcmVuZGVyIGNhbGwgdXNpbmcgPFwiICsgcGFyZW50TmFtZSArIFwiPi5cIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaW5mbztcbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhIGZyYWdtZW50LCB2YWxpZGF0ZSB0aGF0IGl0IGNhbiBvbmx5IGJlIHByb3ZpZGVkIHdpdGggZnJhZ21lbnQgcHJvcHNcbiAqIEBwYXJhbSB7UmVhY3RFbGVtZW50fSBmcmFnbWVudFxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVGcmFnbWVudFByb3BzKGZyYWdtZW50KSB7XG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0byByZW5kZXIgcGhhc2UgaW5zdGVhZCBvZiBhdCBlbGVtZW50IGNyZWF0aW9uLlxuICB7XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhmcmFnbWVudC5wcm9wcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuXG4gICAgICBpZiAoa2V5ICE9PSAnY2hpbGRyZW4nICYmIGtleSAhPT0gJ2tleScpIHtcbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZyYWdtZW50LnJlZiAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZnJhZ21lbnQpO1xuXG4gICAgICBlcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgYHJlZmAgc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4nKTtcblxuICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBTRVBBUkFUT1IgPSAnLic7XG52YXIgU1VCU0VQQVJBVE9SID0gJzonO1xuLyoqXG4gKiBFc2NhcGUgYW5kIHdyYXAga2V5IHNvIGl0IGlzIHNhZmUgdG8gdXNlIGFzIGEgcmVhY3RpZFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgdG8gYmUgZXNjYXBlZC5cbiAqIEByZXR1cm4ge3N0cmluZ30gdGhlIGVzY2FwZWQga2V5LlxuICovXG5cbmZ1bmN0aW9uIGVzY2FwZShrZXkpIHtcbiAgdmFyIGVzY2FwZVJlZ2V4ID0gL1s9Ol0vZztcbiAgdmFyIGVzY2FwZXJMb29rdXAgPSB7XG4gICAgJz0nOiAnPTAnLFxuICAgICc6JzogJz0yJ1xuICB9O1xuICB2YXIgZXNjYXBlZFN0cmluZyA9IGtleS5yZXBsYWNlKGVzY2FwZVJlZ2V4LCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICByZXR1cm4gZXNjYXBlckxvb2t1cFttYXRjaF07XG4gIH0pO1xuICByZXR1cm4gJyQnICsgZXNjYXBlZFN0cmluZztcbn1cbi8qKlxuICogVE9ETzogVGVzdCB0aGF0IGEgc2luZ2xlIGNoaWxkIGFuZCBhbiBhcnJheSB3aXRoIG9uZSBpdGVtIGhhdmUgdGhlIHNhbWUga2V5XG4gKiBwYXR0ZXJuLlxuICovXG5cblxudmFyIGRpZFdhcm5BYm91dE1hcHMgPSBmYWxzZTtcbnZhciB1c2VyUHJvdmlkZWRLZXlFc2NhcGVSZWdleCA9IC9cXC8rL2c7XG5cbmZ1bmN0aW9uIGVzY2FwZVVzZXJQcm92aWRlZEtleSh0ZXh0KSB7XG4gIHJldHVybiB0ZXh0LnJlcGxhY2UodXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXgsICckJi8nKTtcbn1cbi8qKlxuICogR2VuZXJhdGUgYSBrZXkgc3RyaW5nIHRoYXQgaWRlbnRpZmllcyBhIGVsZW1lbnQgd2l0aGluIGEgc2V0LlxuICpcbiAqIEBwYXJhbSB7Kn0gZWxlbWVudCBBIGVsZW1lbnQgdGhhdCBjb3VsZCBjb250YWluIGEgbWFudWFsIGtleS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBJbmRleCB0aGF0IGlzIHVzZWQgaWYgYSBtYW51YWwga2V5IGlzIG5vdCBwcm92aWRlZC5cbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEVsZW1lbnRLZXkoZWxlbWVudCwgaW5kZXgpIHtcbiAgLy8gRG8gc29tZSB0eXBlY2hlY2tpbmcgaGVyZSBzaW5jZSB3ZSBjYWxsIHRoaXMgYmxpbmRseS4gV2Ugd2FudCB0byBlbnN1cmVcbiAgLy8gdGhhdCB3ZSBkb24ndCBibG9jayBwb3RlbnRpYWwgZnV0dXJlIEVTIEFQSXMuXG4gIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ29iamVjdCcgJiYgZWxlbWVudCAhPT0gbnVsbCAmJiBlbGVtZW50LmtleSAhPSBudWxsKSB7XG4gICAgLy8gRXhwbGljaXQga2V5XG4gICAge1xuICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihlbGVtZW50LmtleSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVzY2FwZSgnJyArIGVsZW1lbnQua2V5KTtcbiAgfSAvLyBJbXBsaWNpdCBrZXkgZGV0ZXJtaW5lZCBieSB0aGUgaW5kZXggaW4gdGhlIHNldFxuXG5cbiAgcmV0dXJuIGluZGV4LnRvU3RyaW5nKDM2KTtcbn1cblxuZnVuY3Rpb24gbm9vcCQxKCkge31cblxuZnVuY3Rpb24gcmVzb2x2ZVRoZW5hYmxlKHRoZW5hYmxlKSB7XG4gIHN3aXRjaCAodGhlbmFibGUuc3RhdHVzKSB7XG4gICAgY2FzZSAnZnVsZmlsbGVkJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIGZ1bGZpbGxlZFZhbHVlID0gdGhlbmFibGUudmFsdWU7XG4gICAgICAgIHJldHVybiBmdWxmaWxsZWRWYWx1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3JlamVjdGVkJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIHJlamVjdGVkRXJyb3IgPSB0aGVuYWJsZS5yZWFzb247XG4gICAgICAgIHRocm93IHJlamVjdGVkRXJyb3I7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICBpZiAodHlwZW9mIHRoZW5hYmxlLnN0YXR1cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAvLyBPbmx5IGluc3RydW1lbnQgdGhlIHRoZW5hYmxlIGlmIHRoZSBzdGF0dXMgaWYgbm90IGRlZmluZWQuIElmXG4gICAgICAgICAgLy8gaXQncyBkZWZpbmVkLCBidXQgYW4gdW5rbm93biB2YWx1ZSwgYXNzdW1lIGl0J3MgYmVlbiBpbnN0cnVtZW50ZWQgYnlcbiAgICAgICAgICAvLyBzb21lIGN1c3RvbSB1c2Vyc3BhY2UgaW1wbGVtZW50YXRpb24uIFdlIHRyZWF0IGl0IGFzIFwicGVuZGluZ1wiLlxuICAgICAgICAgIC8vIEF0dGFjaCBhIGR1bW15IGxpc3RlbmVyLCB0byBlbnN1cmUgdGhhdCBhbnkgbGF6eSBpbml0aWFsaXphdGlvbiBjYW5cbiAgICAgICAgICAvLyBoYXBwZW4uIEZsaWdodCBsYXppbHkgcGFyc2VzIEpTT04gd2hlbiB0aGUgdmFsdWUgaXMgYWN0dWFsbHkgYXdhaXRlZC5cbiAgICAgICAgICB0aGVuYWJsZS50aGVuKG5vb3AkMSwgbm9vcCQxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGFuIHVuY2FjaGVkIHRoZW5hYmxlIHRoYXQgd2UgaGF2ZW4ndCBzZWVuIGJlZm9yZS5cbiAgICAgICAgICAvLyBUT0RPOiBEZXRlY3QgaW5maW5pdGUgcGluZyBsb29wcyBjYXVzZWQgYnkgdW5jYWNoZWQgcHJvbWlzZXMuXG4gICAgICAgICAgdmFyIHBlbmRpbmdUaGVuYWJsZSA9IHRoZW5hYmxlO1xuICAgICAgICAgIHBlbmRpbmdUaGVuYWJsZS5zdGF0dXMgPSAncGVuZGluZyc7XG4gICAgICAgICAgcGVuZGluZ1RoZW5hYmxlLnRoZW4oZnVuY3Rpb24gKGZ1bGZpbGxlZFZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodGhlbmFibGUuc3RhdHVzID09PSAncGVuZGluZycpIHtcbiAgICAgICAgICAgICAgdmFyIGZ1bGZpbGxlZFRoZW5hYmxlID0gdGhlbmFibGU7XG4gICAgICAgICAgICAgIGZ1bGZpbGxlZFRoZW5hYmxlLnN0YXR1cyA9ICdmdWxmaWxsZWQnO1xuICAgICAgICAgICAgICBmdWxmaWxsZWRUaGVuYWJsZS52YWx1ZSA9IGZ1bGZpbGxlZFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgaWYgKHRoZW5hYmxlLnN0YXR1cyA9PT0gJ3BlbmRpbmcnKSB7XG4gICAgICAgICAgICAgIHZhciByZWplY3RlZFRoZW5hYmxlID0gdGhlbmFibGU7XG4gICAgICAgICAgICAgIHJlamVjdGVkVGhlbmFibGUuc3RhdHVzID0gJ3JlamVjdGVkJztcbiAgICAgICAgICAgICAgcmVqZWN0ZWRUaGVuYWJsZS5yZWFzb24gPSBlcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSAvLyBDaGVjayBvbmUgbW9yZSB0aW1lIGluIGNhc2UgdGhlIHRoZW5hYmxlIHJlc29sdmVkIHN5bmNocm9ub3VzbHkuXG5cblxuICAgICAgICBzd2l0Y2ggKHRoZW5hYmxlLnN0YXR1cykge1xuICAgICAgICAgIGNhc2UgJ2Z1bGZpbGxlZCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhciBmdWxmaWxsZWRUaGVuYWJsZSA9IHRoZW5hYmxlO1xuICAgICAgICAgICAgICByZXR1cm4gZnVsZmlsbGVkVGhlbmFibGUudmFsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyZWplY3RlZCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhciByZWplY3RlZFRoZW5hYmxlID0gdGhlbmFibGU7XG4gICAgICAgICAgICAgIHZhciBfcmVqZWN0ZWRFcnJvciA9IHJlamVjdGVkVGhlbmFibGUucmVhc29uO1xuICAgICAgICAgICAgICB0aHJvdyBfcmVqZWN0ZWRFcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgdGhyb3cgdGhlbmFibGU7XG59XG5cbmZ1bmN0aW9uIG1hcEludG9BcnJheShjaGlsZHJlbiwgYXJyYXksIGVzY2FwZWRQcmVmaXgsIG5hbWVTb0ZhciwgY2FsbGJhY2spIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgY2hpbGRyZW47XG5cbiAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnIHx8IHR5cGUgPT09ICdib29sZWFuJykge1xuICAgIC8vIEFsbCBvZiB0aGUgYWJvdmUgYXJlIHBlcmNlaXZlZCBhcyBudWxsLlxuICAgIGNoaWxkcmVuID0gbnVsbDtcbiAgfVxuXG4gIHZhciBpbnZva2VDYWxsYmFjayA9IGZhbHNlO1xuXG4gIGlmIChjaGlsZHJlbiA9PT0gbnVsbCkge1xuICAgIGludm9rZUNhbGxiYWNrID0gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICBzd2l0Y2ggKGNoaWxkcmVuLiQkdHlwZW9mKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgICAgIGludm9rZUNhbGxiYWNrID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgICB2YXIgcGF5bG9hZCA9IGNoaWxkcmVuLl9wYXlsb2FkO1xuICAgICAgICAgICAgdmFyIGluaXQgPSBjaGlsZHJlbi5faW5pdDtcbiAgICAgICAgICAgIHJldHVybiBtYXBJbnRvQXJyYXkoaW5pdChwYXlsb2FkKSwgYXJyYXksIGVzY2FwZWRQcmVmaXgsIG5hbWVTb0ZhciwgY2FsbGJhY2spO1xuICAgICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBpZiAoaW52b2tlQ2FsbGJhY2spIHtcbiAgICB2YXIgX2NoaWxkID0gY2hpbGRyZW47XG4gICAgdmFyIG1hcHBlZENoaWxkID0gY2FsbGJhY2soX2NoaWxkKTsgLy8gSWYgaXQncyB0aGUgb25seSBjaGlsZCwgdHJlYXQgdGhlIG5hbWUgYXMgaWYgaXQgd2FzIHdyYXBwZWQgaW4gYW4gYXJyYXlcbiAgICAvLyBzbyB0aGF0IGl0J3MgY29uc2lzdGVudCBpZiB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuIGdyb3dzOlxuXG4gICAgdmFyIGNoaWxkS2V5ID0gbmFtZVNvRmFyID09PSAnJyA/IFNFUEFSQVRPUiArIGdldEVsZW1lbnRLZXkoX2NoaWxkLCAwKSA6IG5hbWVTb0ZhcjtcblxuICAgIGlmIChpc0FycmF5KG1hcHBlZENoaWxkKSkge1xuICAgICAgdmFyIGVzY2FwZWRDaGlsZEtleSA9ICcnO1xuXG4gICAgICBpZiAoY2hpbGRLZXkgIT0gbnVsbCkge1xuICAgICAgICBlc2NhcGVkQ2hpbGRLZXkgPSBlc2NhcGVVc2VyUHJvdmlkZWRLZXkoY2hpbGRLZXkpICsgJy8nO1xuICAgICAgfVxuXG4gICAgICBtYXBJbnRvQXJyYXkobWFwcGVkQ2hpbGQsIGFycmF5LCBlc2NhcGVkQ2hpbGRLZXksICcnLCBmdW5jdGlvbiAoYykge1xuICAgICAgICByZXR1cm4gYztcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAobWFwcGVkQ2hpbGQgIT0gbnVsbCkge1xuICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KG1hcHBlZENoaWxkKSkge1xuICAgICAgICB7XG4gICAgICAgICAgLy8gVGhlIGBpZmAgc3RhdGVtZW50IGhlcmUgcHJldmVudHMgYXV0by1kaXNhYmxpbmcgb2YgdGhlIHNhZmVcbiAgICAgICAgICAvLyBjb2VyY2lvbiBFU0xpbnQgcnVsZSwgc28gd2UgbXVzdCBtYW51YWxseSBkaXNhYmxlIGl0IGJlbG93LlxuICAgICAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFJlYWN0LlBvcnRhbCBkb2Vzbid0IGhhdmUgYSBrZXlcbiAgICAgICAgICBpZiAobWFwcGVkQ2hpbGQua2V5ICYmICghX2NoaWxkIHx8IF9jaGlsZC5rZXkgIT09IG1hcHBlZENoaWxkLmtleSkpIHtcbiAgICAgICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWFwcGVkQ2hpbGQua2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBtYXBwZWRDaGlsZCA9IGNsb25lQW5kUmVwbGFjZUtleShtYXBwZWRDaGlsZCwgLy8gS2VlcCBib3RoIHRoZSAobWFwcGVkKSBhbmQgb2xkIGtleXMgaWYgdGhleSBkaWZmZXIsIGp1c3QgYXNcbiAgICAgICAgLy8gdHJhdmVyc2VBbGxDaGlsZHJlbiB1c2VkIHRvIGRvIGZvciBvYmplY3RzIGFzIGNoaWxkcmVuXG4gICAgICAgIGVzY2FwZWRQcmVmaXggKyAoIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFJlYWN0LlBvcnRhbCBkb2Vzbid0IGhhdmUgYSBrZXlcbiAgICAgICAgbWFwcGVkQ2hpbGQua2V5ICYmICghX2NoaWxkIHx8IF9jaGlsZC5rZXkgIT09IG1hcHBlZENoaWxkLmtleSkgPyBlc2NhcGVVc2VyUHJvdmlkZWRLZXkoIC8vICRGbG93Rml4TWVbdW5zYWZlLWFkZGl0aW9uXVxuICAgICAgICAnJyArIG1hcHBlZENoaWxkLmtleSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gICAgICAgICkgKyAnLycgOiAnJykgKyBjaGlsZEtleSk7XG4gICAgICB9XG5cbiAgICAgIGFycmF5LnB1c2gobWFwcGVkQ2hpbGQpO1xuICAgIH1cblxuICAgIHJldHVybiAxO1xuICB9XG5cbiAgdmFyIGNoaWxkO1xuICB2YXIgbmV4dE5hbWU7XG4gIHZhciBzdWJ0cmVlQ291bnQgPSAwOyAvLyBDb3VudCBvZiBjaGlsZHJlbiBmb3VuZCBpbiB0aGUgY3VycmVudCBzdWJ0cmVlLlxuXG4gIHZhciBuZXh0TmFtZVByZWZpeCA9IG5hbWVTb0ZhciA9PT0gJycgPyBTRVBBUkFUT1IgOiBuYW1lU29GYXIgKyBTVUJTRVBBUkFUT1I7XG5cbiAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgIG5leHROYW1lID0gbmV4dE5hbWVQcmVmaXggKyBnZXRFbGVtZW50S2V5KGNoaWxkLCBpKTtcbiAgICAgIHN1YnRyZWVDb3VudCArPSBtYXBJbnRvQXJyYXkoY2hpbGQsIGFycmF5LCBlc2NhcGVkUHJlZml4LCBuZXh0TmFtZSwgY2FsbGJhY2spO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4oY2hpbGRyZW4pO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgaXRlcmFibGVDaGlsZHJlbiA9IGNoaWxkcmVuO1xuXG4gICAgICB7XG4gICAgICAgIC8vIFdhcm4gYWJvdXQgdXNpbmcgTWFwcyBhcyBjaGlsZHJlblxuICAgICAgICBpZiAoaXRlcmF0b3JGbiA9PT0gaXRlcmFibGVDaGlsZHJlbi5lbnRyaWVzKSB7XG4gICAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNYXBzKSB7XG4gICAgICAgICAgICB3YXJuKCdVc2luZyBNYXBzIGFzIGNoaWxkcmVuIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnVXNlIGFuIGFycmF5IG9mIGtleWVkIFJlYWN0RWxlbWVudHMgaW5zdGVhZC4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkaWRXYXJuQWJvdXRNYXBzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwoaXRlcmFibGVDaGlsZHJlbik7XG4gICAgICB2YXIgc3RlcDtcbiAgICAgIHZhciBpaSA9IDA7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV0gYGl0ZXJhdG9yRm5gIG1pZ2h0IHJldHVybiBudWxsIGFjY29yZGluZyB0byB0eXBpbmcuXG5cbiAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgY2hpbGQgPSBzdGVwLnZhbHVlO1xuICAgICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0RWxlbWVudEtleShjaGlsZCwgaWkrKyk7XG4gICAgICAgIHN1YnRyZWVDb3VudCArPSBtYXBJbnRvQXJyYXkoY2hpbGQsIGFycmF5LCBlc2NhcGVkUHJlZml4LCBuZXh0TmFtZSwgY2FsbGJhY2spO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW4udGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gbWFwSW50b0FycmF5KHJlc29sdmVUaGVuYWJsZShjaGlsZHJlbiksIGFycmF5LCBlc2NhcGVkUHJlZml4LCBuYW1lU29GYXIsIGNhbGxiYWNrKTtcbiAgICAgIH0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG5cblxuICAgICAgdmFyIGNoaWxkcmVuU3RyaW5nID0gU3RyaW5nKGNoaWxkcmVuKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXCIgKyAoY2hpbGRyZW5TdHJpbmcgPT09ICdbb2JqZWN0IE9iamVjdF0nID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhjaGlsZHJlbikuam9pbignLCAnKSArICd9JyA6IGNoaWxkcmVuU3RyaW5nKSArIFwiKS4gXCIgKyAnSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSAnICsgJ2luc3RlYWQuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN1YnRyZWVDb3VudDtcbn1cbi8qKlxuICogTWFwcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAuXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVubWFwXG4gKlxuICogVGhlIHByb3ZpZGVkIG1hcEZ1bmN0aW9uKGNoaWxkLCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcbiAqIGxlYWYgY2hpbGQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCosIGludCl9IGZ1bmMgVGhlIG1hcCBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBDb250ZXh0IGZvciBtYXBGdW5jdGlvbi5cbiAqIEByZXR1cm4ge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9yZGVyZWQgbWFwIG9mIHJlc3VsdHMuXG4gKi9cblxuXG5mdW5jdGlvbiBtYXBDaGlsZHJlbihjaGlsZHJlbiwgZnVuYywgY29udGV4dCkge1xuICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkge1xuICAgIC8vICRGbG93Rml4TWUgbGltaXRhdGlvbiByZWZpbmluZyBhYnN0cmFjdCB0eXBlcyBpbiBGbG93XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICB2YXIgY291bnQgPSAwO1xuICBtYXBJbnRvQXJyYXkoY2hpbGRyZW4sIHJlc3VsdCwgJycsICcnLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gZnVuYy5jYWxsKGNvbnRleHQsIGNoaWxkLCBjb3VudCsrKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIENvdW50IHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhc1xuICogYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5jb3VudFxuICpcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuLlxuICovXG5cblxuZnVuY3Rpb24gY291bnRDaGlsZHJlbihjaGlsZHJlbikge1xuICB2YXIgbiA9IDA7XG4gIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoKSB7XG4gICAgbisrOyAvLyBEb24ndCByZXR1cm4gYW55dGhpbmdcbiAgfSk7XG4gIHJldHVybiBuO1xufVxuLyoqXG4gKiBJdGVyYXRlcyB0aHJvdWdoIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5mb3JlYWNoXG4gKlxuICogVGhlIHByb3ZpZGVkIGZvckVhY2hGdW5jKGNoaWxkLCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcbiAqIGxlYWYgY2hpbGQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCosIGludCl9IGZvckVhY2hGdW5jXG4gKiBAcGFyYW0geyp9IGZvckVhY2hDb250ZXh0IENvbnRleHQgZm9yIGZvckVhY2hDb250ZXh0LlxuICovXG5cblxuZnVuY3Rpb24gZm9yRWFjaENoaWxkcmVuKGNoaWxkcmVuLCBmb3JFYWNoRnVuYywgZm9yRWFjaENvbnRleHQpIHtcbiAgbWFwQ2hpbGRyZW4oY2hpbGRyZW4sIC8vICRGbG93Rml4TWVbbWlzc2luZy10aGlzLWFubm90XVxuICBmdW5jdGlvbiAoKSB7XG4gICAgZm9yRWFjaEZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgLy8gRG9uJ3QgcmV0dXJuIGFueXRoaW5nLlxuICB9LCBmb3JFYWNoQ29udGV4dCk7XG59XG4vKipcbiAqIEZsYXR0ZW4gYSBjaGlsZHJlbiBvYmplY3QgKHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYCkgYW5kXG4gKiByZXR1cm4gYW4gYXJyYXkgd2l0aCBhcHByb3ByaWF0ZWx5IHJlLWtleWVkIGNoaWxkcmVuLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbnRvYXJyYXlcbiAqL1xuXG5cbmZ1bmN0aW9uIHRvQXJyYXkoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gY2hpbGQ7XG4gIH0pIHx8IFtdO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCBjaGlsZCBpbiBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4gYW5kIHZlcmlmaWVzIHRoYXQgdGhlcmVcbiAqIGlzIG9ubHkgb25lIGNoaWxkIGluIHRoZSBjb2xsZWN0aW9uLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbm9ubHlcbiAqXG4gKiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBhIHNpbmdsZSBjaGlsZCBnZXRzXG4gKiBwYXNzZWQgd2l0aG91dCBhIHdyYXBwZXIsIGJ1dCB0aGUgcHVycG9zZSBvZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyB0b1xuICogYWJzdHJhY3QgYXdheSB0aGUgcGFydGljdWxhciBzdHJ1Y3R1cmUgb2YgY2hpbGRyZW4uXG4gKlxuICogQHBhcmFtIHs/b2JqZWN0fSBjaGlsZHJlbiBDaGlsZCBjb2xsZWN0aW9uIHN0cnVjdHVyZS5cbiAqIEByZXR1cm4ge1JlYWN0RWxlbWVudH0gVGhlIGZpcnN0IGFuZCBvbmx5IGBSZWFjdEVsZW1lbnRgIGNvbnRhaW5lZCBpbiB0aGVcbiAqIHN0cnVjdHVyZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIG9ubHlDaGlsZChjaGlsZHJlbikge1xuICBpZiAoIWlzVmFsaWRFbGVtZW50KGNoaWxkcmVuKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuJyk7XG4gIH1cblxuICByZXR1cm4gY2hpbGRyZW47XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlKSB7XG4gIC8vIFRPRE86IFNlY29uZCBhcmd1bWVudCB1c2VkIHRvIGJlIGFuIG9wdGlvbmFsIGBjYWxjdWxhdGVDaGFuZ2VkQml0c2BcbiAgLy8gZnVuY3Rpb24uIFdhcm4gdG8gcmVzZXJ2ZSBmb3IgZnV0dXJlIHVzZT9cbiAgdmFyIGNvbnRleHQgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAvLyBBcyBhIHdvcmthcm91bmQgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb25jdXJyZW50IHJlbmRlcmVycywgd2UgY2F0ZWdvcml6ZVxuICAgIC8vIHNvbWUgcmVuZGVyZXJzIGFzIHByaW1hcnkgYW5kIG90aGVycyBhcyBzZWNvbmRhcnkuIFdlIG9ubHkgZXhwZWN0XG4gICAgLy8gdGhlcmUgdG8gYmUgdHdvIGNvbmN1cnJlbnQgcmVuZGVyZXJzIGF0IG1vc3Q6IFJlYWN0IE5hdGl2ZSAocHJpbWFyeSkgYW5kXG4gICAgLy8gRmFicmljIChzZWNvbmRhcnkpOyBSZWFjdCBET00gKHByaW1hcnkpIGFuZCBSZWFjdCBBUlQgKHNlY29uZGFyeSkuXG4gICAgLy8gU2Vjb25kYXJ5IHJlbmRlcmVycyBzdG9yZSB0aGVpciBjb250ZXh0IHZhbHVlcyBvbiBzZXBhcmF0ZSBmaWVsZHMuXG4gICAgX2N1cnJlbnRWYWx1ZTogZGVmYXVsdFZhbHVlLFxuICAgIF9jdXJyZW50VmFsdWUyOiBkZWZhdWx0VmFsdWUsXG4gICAgLy8gVXNlZCB0byB0cmFjayBob3cgbWFueSBjb25jdXJyZW50IHJlbmRlcmVycyB0aGlzIGNvbnRleHQgY3VycmVudGx5XG4gICAgLy8gc3VwcG9ydHMgd2l0aGluIGluIGEgc2luZ2xlIHJlbmRlcmVyLiBTdWNoIGFzIHBhcmFsbGVsIHNlcnZlciByZW5kZXJpbmcuXG4gICAgX3RocmVhZENvdW50OiAwLFxuICAgIC8vIFRoZXNlIGFyZSBjaXJjdWxhclxuICAgIFByb3ZpZGVyOiBudWxsLFxuICAgIENvbnN1bWVyOiBudWxsXG4gIH07XG5cbiAge1xuICAgIGNvbnRleHQuUHJvdmlkZXIgPSB7XG4gICAgICAkJHR5cGVvZjogUkVBQ1RfUFJPVklERVJfVFlQRSxcbiAgICAgIF9jb250ZXh0OiBjb250ZXh0XG4gICAgfTtcblxuICAgIHtcbiAgICAgIHZhciBDb25zdW1lciA9IHtcbiAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAgICAgX2NvbnRleHQ6IGNvbnRleHRcbiAgICAgIH07XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhDb25zdW1lciwge1xuICAgICAgICBQcm92aWRlcjoge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuUHJvdmlkZXI7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGNvbnRleHQuUHJvdmlkZXIgPSBfUHJvdmlkZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBfY3VycmVudFZhbHVlOiB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gX2N1cnJlbnRWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIF9jdXJyZW50VmFsdWUyOiB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlMjtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gKF9jdXJyZW50VmFsdWUyKSB7XG4gICAgICAgICAgICBjb250ZXh0Ll9jdXJyZW50VmFsdWUyID0gX2N1cnJlbnRWYWx1ZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBfdGhyZWFkQ291bnQ6IHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll90aHJlYWRDb3VudDtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gKF90aHJlYWRDb3VudCkge1xuICAgICAgICAgICAgY29udGV4dC5fdGhyZWFkQ291bnQgPSBfdGhyZWFkQ291bnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBDb25zdW1lcjoge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuQ29uc3VtZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZToge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuZGlzcGxheU5hbWU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIChkaXNwbGF5TmFtZSkge31cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb250ZXh0LkNvbnN1bWVyID0gQ29uc3VtZXI7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlciA9IG51bGw7XG4gICAgY29udGV4dC5fY3VycmVudFJlbmRlcmVyMiA9IG51bGw7XG4gIH1cblxuICByZXR1cm4gY29udGV4dDtcbn1cblxudmFyIFVuaW5pdGlhbGl6ZWQgPSAtMTtcbnZhciBQZW5kaW5nID0gMDtcbnZhciBSZXNvbHZlZCA9IDE7XG52YXIgUmVqZWN0ZWQgPSAyO1xuXG5mdW5jdGlvbiBsYXp5SW5pdGlhbGl6ZXIocGF5bG9hZCkge1xuICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBVbmluaXRpYWxpemVkKSB7XG4gICAgdmFyIGN0b3IgPSBwYXlsb2FkLl9yZXN1bHQ7XG4gICAgdmFyIHRoZW5hYmxlID0gY3RvcigpOyAvLyBUcmFuc2l0aW9uIHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgIC8vIFRoaXMgbWlnaHQgdGhyb3cgZWl0aGVyIGJlY2F1c2UgaXQncyBtaXNzaW5nIG9yIHRocm93cy4gSWYgc28sIHdlIHRyZWF0IGl0XG4gICAgLy8gYXMgc3RpbGwgdW5pbml0aWFsaXplZCBhbmQgdHJ5IGFnYWluIG5leHQgdGltZS4gV2hpY2ggaXMgdGhlIHNhbWUgYXMgd2hhdFxuICAgIC8vIGhhcHBlbnMgaWYgdGhlIGN0b3Igb3IgYW55IHdyYXBwZXJzIHByb2Nlc3NpbmcgdGhlIGN0b3IgdGhyb3dzLiBUaGlzIG1pZ2h0XG4gICAgLy8gZW5kIHVwIGZpeGluZyBpdCBpZiB0aGUgcmVzb2x1dGlvbiB3YXMgYSBjb25jdXJyZW5jeSBidWcuXG5cbiAgICB0aGVuYWJsZS50aGVuKGZ1bmN0aW9uIChtb2R1bGVPYmplY3QpIHtcbiAgICAgIGlmIChwYXlsb2FkLl9zdGF0dXMgPT09IFBlbmRpbmcgfHwgcGF5bG9hZC5fc3RhdHVzID09PSBVbmluaXRpYWxpemVkKSB7XG4gICAgICAgIC8vIFRyYW5zaXRpb24gdG8gdGhlIG5leHQgc3RhdGUuXG4gICAgICAgIHZhciByZXNvbHZlZCA9IHBheWxvYWQ7XG4gICAgICAgIHJlc29sdmVkLl9zdGF0dXMgPSBSZXNvbHZlZDtcbiAgICAgICAgcmVzb2x2ZWQuX3Jlc3VsdCA9IG1vZHVsZU9iamVjdDtcbiAgICAgIH1cbiAgICB9LCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgIGlmIChwYXlsb2FkLl9zdGF0dXMgPT09IFBlbmRpbmcgfHwgcGF5bG9hZC5fc3RhdHVzID09PSBVbmluaXRpYWxpemVkKSB7XG4gICAgICAgIC8vIFRyYW5zaXRpb24gdG8gdGhlIG5leHQgc3RhdGUuXG4gICAgICAgIHZhciByZWplY3RlZCA9IHBheWxvYWQ7XG4gICAgICAgIHJlamVjdGVkLl9zdGF0dXMgPSBSZWplY3RlZDtcbiAgICAgICAgcmVqZWN0ZWQuX3Jlc3VsdCA9IGVycm9yO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgICAgLy8gSW4gY2FzZSwgd2UncmUgc3RpbGwgdW5pbml0aWFsaXplZCwgdGhlbiB3ZSdyZSB3YWl0aW5nIGZvciB0aGUgdGhlbmFibGVcbiAgICAgIC8vIHRvIHJlc29sdmUuIFNldCBpdCBhcyBwZW5kaW5nIGluIHRoZSBtZWFudGltZS5cbiAgICAgIHZhciBwZW5kaW5nID0gcGF5bG9hZDtcbiAgICAgIHBlbmRpbmcuX3N0YXR1cyA9IFBlbmRpbmc7XG4gICAgICBwZW5kaW5nLl9yZXN1bHQgPSB0aGVuYWJsZTtcbiAgICB9XG4gIH1cblxuICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBSZXNvbHZlZCkge1xuICAgIHZhciBtb2R1bGVPYmplY3QgPSBwYXlsb2FkLl9yZXN1bHQ7XG5cbiAgICB7XG4gICAgICBpZiAobW9kdWxlT2JqZWN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZXJyb3IoJ2xhenk6IEV4cGVjdGVkIHRoZSByZXN1bHQgb2YgYSBkeW5hbWljIGltcCcgKyAnb3J0KCkgY2FsbC4gJyArICdJbnN0ZWFkIHJlY2VpdmVkOiAlc1xcblxcbllvdXIgY29kZSBzaG91bGQgbG9vayBsaWtlOiBcXG4gICcgKyAvLyBCcmVhayB1cCBpbXBvcnRzIHRvIGF2b2lkIGFjY2lkZW50YWxseSBwYXJzaW5nIHRoZW0gYXMgZGVwZW5kZW5jaWVzLlxuICAgICAgICAnY29uc3QgTXlDb21wb25lbnQgPSBsYXp5KCgpID0+IGltcCcgKyBcIm9ydCgnLi9NeUNvbXBvbmVudCcpKVxcblxcblwiICsgJ0RpZCB5b3UgYWNjaWRlbnRhbGx5IHB1dCBjdXJseSBicmFjZXMgYXJvdW5kIHRoZSBpbXBvcnQ/JywgbW9kdWxlT2JqZWN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAoISgnZGVmYXVsdCcgaW4gbW9kdWxlT2JqZWN0KSkge1xuICAgICAgICBlcnJvcignbGF6eTogRXhwZWN0ZWQgdGhlIHJlc3VsdCBvZiBhIGR5bmFtaWMgaW1wJyArICdvcnQoKSBjYWxsLiAnICsgJ0luc3RlYWQgcmVjZWl2ZWQ6ICVzXFxuXFxuWW91ciBjb2RlIHNob3VsZCBsb29rIGxpa2U6IFxcbiAgJyArIC8vIEJyZWFrIHVwIGltcG9ydHMgdG8gYXZvaWQgYWNjaWRlbnRhbGx5IHBhcnNpbmcgdGhlbSBhcyBkZXBlbmRlbmNpZXMuXG4gICAgICAgICdjb25zdCBNeUNvbXBvbmVudCA9IGxhenkoKCkgPT4gaW1wJyArIFwib3J0KCcuL015Q29tcG9uZW50JykpXCIsIG1vZHVsZU9iamVjdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZHVsZU9iamVjdC5kZWZhdWx0O1xuICB9IGVsc2Uge1xuICAgIHRocm93IHBheWxvYWQuX3Jlc3VsdDtcbiAgfVxufVxuXG5mdW5jdGlvbiBsYXp5KGN0b3IpIHtcbiAgdmFyIHBheWxvYWQgPSB7XG4gICAgLy8gV2UgdXNlIHRoZXNlIGZpZWxkcyB0byBzdG9yZSB0aGUgcmVzdWx0LlxuICAgIF9zdGF0dXM6IFVuaW5pdGlhbGl6ZWQsXG4gICAgX3Jlc3VsdDogY3RvclxuICB9O1xuICB2YXIgbGF6eVR5cGUgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0xBWllfVFlQRSxcbiAgICBfcGF5bG9hZDogcGF5bG9hZCxcbiAgICBfaW5pdDogbGF6eUluaXRpYWxpemVyXG4gIH07XG5cbiAge1xuICAgIC8vIEluIHByb2R1Y3Rpb24sIHRoaXMgd291bGQganVzdCBzZXQgaXQgb24gdGhlIG9iamVjdC5cbiAgICB2YXIgZGVmYXVsdFByb3BzO1xuICAgIHZhciBwcm9wVHlwZXM7IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobGF6eVR5cGUsIHtcbiAgICAgIGRlZmF1bHRQcm9wczoge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBkZWZhdWx0UHJvcHM7XG4gICAgICAgIH0sXG4gICAgICAgIC8vICRGbG93Rml4TWVbbWlzc2luZy1sb2NhbC1hbm5vdF1cbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3RGVmYXVsdFByb3BzKSB7XG4gICAgICAgICAgZXJyb3IoJ0l0IGlzIG5vdCBzdXBwb3J0ZWQgdG8gYXNzaWduIGBkZWZhdWx0UHJvcHNgIHRvICcgKyAnYSBsYXp5IGNvbXBvbmVudCBpbXBvcnQuIEVpdGhlciBzcGVjaWZ5IHRoZW0gd2hlcmUgdGhlIGNvbXBvbmVudCAnICsgJ2lzIGRlZmluZWQsIG9yIGNyZWF0ZSBhIHdyYXBwaW5nIGNvbXBvbmVudCBhcm91bmQgaXQuJyk7XG5cbiAgICAgICAgICBkZWZhdWx0UHJvcHMgPSBuZXdEZWZhdWx0UHJvcHM7IC8vIE1hdGNoIHByb2R1Y3Rpb24gYmVoYXZpb3IgbW9yZSBjbG9zZWx5OlxuICAgICAgICAgIC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAnZGVmYXVsdFByb3BzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJvcFR5cGVzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHByb3BUeXBlcztcbiAgICAgICAgfSxcbiAgICAgICAgLy8gJEZsb3dGaXhNZVttaXNzaW5nLWxvY2FsLWFubm90XVxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChuZXdQcm9wVHlwZXMpIHtcbiAgICAgICAgICBlcnJvcignSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYHByb3BUeXBlc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIHByb3BUeXBlcyA9IG5ld1Byb3BUeXBlczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG4gICAgICAgICAgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobGF6eVR5cGUsICdwcm9wVHlwZXMnLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBsYXp5VHlwZTtcbn1cblxuZnVuY3Rpb24gZm9yd2FyZFJlZihyZW5kZXIpIHtcbiAge1xuICAgIGlmIChyZW5kZXIgIT0gbnVsbCAmJiByZW5kZXIuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSkge1xuICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVxdWlyZXMgYSByZW5kZXIgZnVuY3Rpb24gYnV0IHJlY2VpdmVkIGEgYG1lbW9gICcgKyAnY29tcG9uZW50LiBJbnN0ZWFkIG9mIGZvcndhcmRSZWYobWVtbyguLi4pKSwgdXNlICcgKyAnbWVtbyhmb3J3YXJkUmVmKC4uLikpLicpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVxdWlyZXMgYSByZW5kZXIgZnVuY3Rpb24gYnV0IHdhcyBnaXZlbiAlcy4nLCByZW5kZXIgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgcmVuZGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHJlbmRlci5sZW5ndGggIT09IDAgJiYgcmVuZGVyLmxlbmd0aCAhPT0gMikge1xuICAgICAgICBlcnJvcignZm9yd2FyZFJlZiByZW5kZXIgZnVuY3Rpb25zIGFjY2VwdCBleGFjdGx5IHR3byBwYXJhbWV0ZXJzOiBwcm9wcyBhbmQgcmVmLiAlcycsIHJlbmRlci5sZW5ndGggPT09IDEgPyAnRGlkIHlvdSBmb3JnZXQgdG8gdXNlIHRoZSByZWYgcGFyYW1ldGVyPycgOiAnQW55IGFkZGl0aW9uYWwgcGFyYW1ldGVyIHdpbGwgYmUgdW5kZWZpbmVkLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyZW5kZXIgIT0gbnVsbCkge1xuICAgICAgaWYgKHJlbmRlci5kZWZhdWx0UHJvcHMgIT0gbnVsbCkge1xuICAgICAgICBlcnJvcignZm9yd2FyZFJlZiByZW5kZXIgZnVuY3Rpb25zIGRvIG5vdCBzdXBwb3J0IGRlZmF1bHRQcm9wcy4gJyArICdEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIGEgUmVhY3QgY29tcG9uZW50PycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBlbGVtZW50VHlwZSA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSxcbiAgICByZW5kZXI6IHJlbmRlclxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHsuLi59KTtcbiAgICAgICAgLy8gVGhpcyBraW5kIG9mIGlubmVyIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGVsc2V3aGVyZSBzbyB0aGUgc2lkZSBlZmZlY3QgaXMgb2theS5cblxuICAgICAgICBpZiAoIXJlbmRlci5uYW1lICYmICFyZW5kZXIuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICByZW5kZXIuZGlzcGxheU5hbWUgPSBuYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudFR5cGU7XG59XG5cbmZ1bmN0aW9uIG1lbW8odHlwZSwgY29tcGFyZSkge1xuICB7XG4gICAgaWYgKCFpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkpIHtcbiAgICAgIGVycm9yKCdtZW1vOiBUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGNvbXBvbmVudC4gSW5zdGVhZCAnICsgJ3JlY2VpdmVkOiAlcycsIHR5cGUgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnRUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9NRU1PX1RZUEUsXG4gICAgdHlwZTogdHlwZSxcbiAgICBjb21wYXJlOiBjb21wYXJlID09PSB1bmRlZmluZWQgPyBudWxsIDogY29tcGFyZVxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7Li4ufSk7XG4gICAgICAgIC8vIFRoaXMga2luZCBvZiBpbm5lciBmdW5jdGlvbiBpcyBub3QgdXNlZCBlbHNld2hlcmUgc28gdGhlIHNpZGUgZWZmZWN0IGlzIG9rYXkuXG5cbiAgICAgICAgaWYgKCF0eXBlLm5hbWUgJiYgIXR5cGUuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICB0eXBlLmRpc3BsYXlOYW1lID0gbmFtZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRUeXBlO1xufVxuXG52YXIgVU5URVJNSU5BVEVEID0gMDtcbnZhciBURVJNSU5BVEVEID0gMTtcbnZhciBFUlJPUkVEID0gMjtcblxuZnVuY3Rpb24gY3JlYXRlQ2FjaGVSb290KCkge1xuICByZXR1cm4gbmV3IFdlYWtNYXAoKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ2FjaGVOb2RlKCkge1xuICByZXR1cm4ge1xuICAgIHM6IFVOVEVSTUlOQVRFRCxcbiAgICAvLyBzdGF0dXMsIHJlcHJlc2VudHMgd2hldGhlciB0aGUgY2FjaGVkIGNvbXB1dGF0aW9uIHJldHVybmVkIGEgdmFsdWUgb3IgdGhyZXcgYW4gZXJyb3JcbiAgICB2OiB1bmRlZmluZWQsXG4gICAgLy8gdmFsdWUsIGVpdGhlciB0aGUgY2FjaGVkIHJlc3VsdCBvciBhbiBlcnJvciwgZGVwZW5kaW5nIG9uIHNcbiAgICBvOiBudWxsLFxuICAgIC8vIG9iamVjdCBjYWNoZSwgYSBXZWFrTWFwIHdoZXJlIG5vbi1wcmltaXRpdmUgYXJndW1lbnRzIGFyZSBzdG9yZWRcbiAgICBwOiBudWxsIC8vIHByaW1pdGl2ZSBjYWNoZSwgYSByZWd1bGFyIE1hcCB3aGVyZSBwcmltaXRpdmUgYXJndW1lbnRzIGFyZSBzdG9yZWQuXG5cbiAgfTtcbn1cblxuZnVuY3Rpb24gY2FjaGUkMShmbikge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHZhciBkaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50Q2FjaGUuY3VycmVudDtcblxuICAgIGlmICghZGlzcGF0Y2hlcikge1xuICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gZGlzcGF0Y2hlciwgdGhlbiB3ZSB0cmVhdCB0aGlzIGFzIG5vdCBiZWluZyBjYWNoZWQuXG4gICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYWxsXTogV2UgZG9uJ3Qgd2FudCB0byB1c2UgcmVzdCBhcmd1bWVudHMgc2luY2Ugd2UgdHJhbnNwaWxlIHRoZSBjb2RlLlxuICAgICAgcmV0dXJuIGZuLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgdmFyIGZuTWFwID0gZGlzcGF0Y2hlci5nZXRDYWNoZUZvclR5cGUoY3JlYXRlQ2FjaGVSb290KTtcbiAgICB2YXIgZm5Ob2RlID0gZm5NYXAuZ2V0KGZuKTtcbiAgICB2YXIgY2FjaGVOb2RlO1xuXG4gICAgaWYgKGZuTm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjYWNoZU5vZGUgPSBjcmVhdGVDYWNoZU5vZGUoKTtcbiAgICAgIGZuTWFwLnNldChmbiwgY2FjaGVOb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FjaGVOb2RlID0gZm5Ob2RlO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgdmFyIGFyZyA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgaWYgKHR5cGVvZiBhcmcgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgJiYgYXJnICE9PSBudWxsKSB7XG4gICAgICAgIC8vIE9iamVjdHMgZ28gaW50byBhIFdlYWtNYXBcbiAgICAgICAgdmFyIG9iamVjdENhY2hlID0gY2FjaGVOb2RlLm87XG5cbiAgICAgICAgaWYgKG9iamVjdENhY2hlID09PSBudWxsKSB7XG4gICAgICAgICAgY2FjaGVOb2RlLm8gPSBvYmplY3RDYWNoZSA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgb2JqZWN0Tm9kZSA9IG9iamVjdENhY2hlLmdldChhcmcpO1xuXG4gICAgICAgIGlmIChvYmplY3ROb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjYWNoZU5vZGUgPSBjcmVhdGVDYWNoZU5vZGUoKTtcbiAgICAgICAgICBvYmplY3RDYWNoZS5zZXQoYXJnLCBjYWNoZU5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNhY2hlTm9kZSA9IG9iamVjdE5vZGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFByaW1pdGl2ZXMgZ28gaW50byBhIHJlZ3VsYXIgTWFwXG4gICAgICAgIHZhciBwcmltaXRpdmVDYWNoZSA9IGNhY2hlTm9kZS5wO1xuXG4gICAgICAgIGlmIChwcmltaXRpdmVDYWNoZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGNhY2hlTm9kZS5wID0gcHJpbWl0aXZlQ2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgcHJpbWl0aXZlTm9kZSA9IHByaW1pdGl2ZUNhY2hlLmdldChhcmcpO1xuXG4gICAgICAgIGlmIChwcmltaXRpdmVOb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjYWNoZU5vZGUgPSBjcmVhdGVDYWNoZU5vZGUoKTtcbiAgICAgICAgICBwcmltaXRpdmVDYWNoZS5zZXQoYXJnLCBjYWNoZU5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNhY2hlTm9kZSA9IHByaW1pdGl2ZU5vZGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2FjaGVOb2RlLnMgPT09IFRFUk1JTkFURUQpIHtcbiAgICAgIHJldHVybiBjYWNoZU5vZGUudjtcbiAgICB9XG5cbiAgICBpZiAoY2FjaGVOb2RlLnMgPT09IEVSUk9SRUQpIHtcbiAgICAgIHRocm93IGNhY2hlTm9kZS52O1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYWxsXTogV2UgZG9uJ3Qgd2FudCB0byB1c2UgcmVzdCBhcmd1bWVudHMgc2luY2Ugd2UgdHJhbnNwaWxlIHRoZSBjb2RlLlxuICAgICAgdmFyIHJlc3VsdCA9IGZuLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XG4gICAgICB2YXIgdGVybWluYXRlZE5vZGUgPSBjYWNoZU5vZGU7XG4gICAgICB0ZXJtaW5hdGVkTm9kZS5zID0gVEVSTUlOQVRFRDtcbiAgICAgIHRlcm1pbmF0ZWROb2RlLnYgPSByZXN1bHQ7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBXZSBzdG9yZSB0aGUgZmlyc3QgZXJyb3IgdGhhdCdzIHRocm93biBhbmQgcmV0aHJvdyBpdC5cbiAgICAgIHZhciBlcnJvcmVkTm9kZSA9IGNhY2hlTm9kZTtcbiAgICAgIGVycm9yZWROb2RlLnMgPSBFUlJPUkVEO1xuICAgICAgZXJyb3JlZE5vZGUudiA9IGVycm9yO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xufVxuXG52YXIgY2FjaGUgPSBjYWNoZSQxO1xuXG5mdW5jdGlvbiByZXNvbHZlRGlzcGF0Y2hlcigpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcblxuICB7XG4gICAgaWYgKGRpc3BhdGNoZXIgPT09IG51bGwpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIGhvb2sgY2FsbC4gSG9va3MgY2FuIG9ubHkgYmUgY2FsbGVkIGluc2lkZSBvZiB0aGUgYm9keSBvZiBhIGZ1bmN0aW9uIGNvbXBvbmVudC4gVGhpcyBjb3VsZCBoYXBwZW4gZm9yJyArICcgb25lIG9mIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcXG4nICsgJzEuIFlvdSBtaWdodCBoYXZlIG1pc21hdGNoaW5nIHZlcnNpb25zIG9mIFJlYWN0IGFuZCB0aGUgcmVuZGVyZXIgKHN1Y2ggYXMgUmVhY3QgRE9NKVxcbicgKyAnMi4gWW91IG1pZ2h0IGJlIGJyZWFraW5nIHRoZSBSdWxlcyBvZiBIb29rc1xcbicgKyAnMy4gWW91IG1pZ2h0IGhhdmUgbW9yZSB0aGFuIG9uZSBjb3B5IG9mIFJlYWN0IGluIHRoZSBzYW1lIGFwcFxcbicgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9pbnZhbGlkLWhvb2stY2FsbCBmb3IgdGlwcyBhYm91dCBob3cgdG8gZGVidWcgYW5kIGZpeCB0aGlzIHByb2JsZW0uJyk7XG4gICAgfVxuICB9IC8vIFdpbGwgcmVzdWx0IGluIGEgbnVsbCBhY2Nlc3MgZXJyb3IgaWYgYWNjZXNzZWQgb3V0c2lkZSByZW5kZXIgcGhhc2UuIFdlXG4gIC8vIGludGVudGlvbmFsbHkgZG9uJ3QgdGhyb3cgb3VyIG93biBlcnJvciBiZWNhdXNlIHRoaXMgaXMgaW4gYSBob3QgcGF0aC5cbiAgLy8gQWxzbyBoZWxwcyBlbnN1cmUgdGhpcyBpcyBpbmxpbmVkLlxuXG5cbiAgcmV0dXJuIGRpc3BhdGNoZXI7XG59XG5mdW5jdGlvbiB1c2VDb250ZXh0KENvbnRleHQpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuXG4gIHtcbiAgICBpZiAoQ29udGV4dC4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OU1VNRVJfVFlQRSkge1xuICAgICAgZXJyb3IoJ0NhbGxpbmcgdXNlQ29udGV4dChDb250ZXh0LkNvbnN1bWVyKSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGNhdXNlIGJ1Z3MuICcgKyAnRGlkIHlvdSBtZWFuIHRvIGNhbGwgdXNlQ29udGV4dChDb250ZXh0KSBpbnN0ZWFkPycpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUNvbnRleHQoQ29udGV4dCk7XG59XG5mdW5jdGlvbiB1c2VTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VTdGF0ZShpbml0aWFsU3RhdGUpO1xufVxuZnVuY3Rpb24gdXNlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcbn1cbmZ1bmN0aW9uIHVzZVJlZihpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWYoaW5pdGlhbFZhbHVlKTtcbn1cbmZ1bmN0aW9uIHVzZUVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlTWVtbyhjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VNZW1vKGNyZWF0ZSwgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VEZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xuICB7XG4gICAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICAgIHJldHVybiBkaXNwYXRjaGVyLnVzZURlYnVnVmFsdWUodmFsdWUsIGZvcm1hdHRlckZuKTtcbiAgfVxufVxuZnVuY3Rpb24gdXNlVHJhbnNpdGlvbigpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VUcmFuc2l0aW9uKCk7XG59XG5mdW5jdGlvbiB1c2VEZWZlcnJlZFZhbHVlKHZhbHVlLCBpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VEZWZlcnJlZFZhbHVlKHZhbHVlLCBpbml0aWFsVmFsdWUpO1xufVxuZnVuY3Rpb24gdXNlSWQoKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlSWQoKTtcbn1cbmZ1bmN0aW9uIHVzZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpO1xufVxuZnVuY3Rpb24gdXNlQ2FjaGVSZWZyZXNoKCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7IC8vICRGbG93Rml4TWVbbm90LWEtZnVuY3Rpb25dIFRoaXMgaXMgdW5zdGFibGUsIHRodXMgb3B0aW9uYWxcblxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VDYWNoZVJlZnJlc2goKTtcbn1cbmZ1bmN0aW9uIHVzZSh1c2FibGUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2UodXNhYmxlKTtcbn1cbmZ1bmN0aW9uIHVzZU9wdGltaXN0aWMocGFzc3Rocm91Z2gsIHJlZHVjZXIpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpOyAvLyAkRmxvd0ZpeE1lW25vdC1hLWZ1bmN0aW9uXSBUaGlzIGlzIHVuc3RhYmxlLCB0aHVzIG9wdGlvbmFsXG5cbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlT3B0aW1pc3RpYyhwYXNzdGhyb3VnaCwgcmVkdWNlcik7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0VHJhbnNpdGlvbihzY29wZSwgb3B0aW9ucykge1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uOyAvLyBFYWNoIHJlbmRlcmVyIHJlZ2lzdGVycyBhIGNhbGxiYWNrIHRvIHJlY2VpdmUgdGhlIHJldHVybiB2YWx1ZSBvZlxuICAvLyB0aGUgc2NvcGUgZnVuY3Rpb24uIFRoaXMgaXMgdXNlZCB0byBpbXBsZW1lbnQgYXN5bmMgYWN0aW9ucy5cblxuICB2YXIgY2FsbGJhY2tzID0gbmV3IFNldCgpO1xuICB2YXIgdHJhbnNpdGlvbiA9IHtcbiAgICBfY2FsbGJhY2tzOiBjYWxsYmFja3NcbiAgfTtcbiAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbiA9IHRyYW5zaXRpb247XG4gIHZhciBjdXJyZW50VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb247XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMgPSBuZXcgU2V0KCk7XG4gIH1cblxuICB7XG4gICAgdHJ5IHtcbiAgICAgIHZhciByZXR1cm5WYWx1ZSA9IHNjb3BlKCk7XG5cbiAgICAgIGlmICh0eXBlb2YgcmV0dXJuVmFsdWUgPT09ICdvYmplY3QnICYmIHJldHVyblZhbHVlICE9PSBudWxsICYmIHR5cGVvZiByZXR1cm5WYWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgICAgICAgIHJldHVybiBjYWxsYmFjayhjdXJyZW50VHJhbnNpdGlvbiwgcmV0dXJuVmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuVmFsdWUudGhlbihub29wLCBvbkVycm9yKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgb25FcnJvcihlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHdhcm5BYm91dFRyYW5zaXRpb25TdWJzY3JpcHRpb25zKHByZXZUcmFuc2l0aW9uLCBjdXJyZW50VHJhbnNpdGlvbik7XG4gICAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5BYm91dFRyYW5zaXRpb25TdWJzY3JpcHRpb25zKHByZXZUcmFuc2l0aW9uLCBjdXJyZW50VHJhbnNpdGlvbikge1xuICB7XG4gICAgaWYgKHByZXZUcmFuc2l0aW9uID09PSBudWxsICYmIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzKSB7XG4gICAgICB2YXIgdXBkYXRlZEZpYmVyc0NvdW50ID0gY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMuc2l6ZTtcblxuICAgICAgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMuY2xlYXIoKTtcblxuICAgICAgaWYgKHVwZGF0ZWRGaWJlcnNDb3VudCA+IDEwKSB7XG4gICAgICAgIHdhcm4oJ0RldGVjdGVkIGEgbGFyZ2UgbnVtYmVyIG9mIHVwZGF0ZXMgaW5zaWRlIHN0YXJ0VHJhbnNpdGlvbi4gJyArICdJZiB0aGlzIGlzIGR1ZSB0byBhIHN1YnNjcmlwdGlvbiBwbGVhc2UgcmUtd3JpdGUgaXQgdG8gdXNlIFJlYWN0IHByb3ZpZGVkIGhvb2tzLiAnICsgJ090aGVyd2lzZSBjb25jdXJyZW50IG1vZGUgZ3VhcmFudGVlcyBhcmUgb2ZmIHRoZSB0YWJsZS4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbm9vcCgpIHt9IC8vIFVzZSByZXBvcnRFcnJvciwgaWYgaXQgZXhpc3RzLiBPdGhlcndpc2UgY29uc29sZS5lcnJvci4gVGhpcyBpcyB0aGUgc2FtZSBhc1xuLy8gdGhlIGRlZmF1bHQgZm9yIG9uUmVjb3ZlcmFibGVFcnJvci5cblxuXG52YXIgb25FcnJvciA9IHR5cGVvZiByZXBvcnRFcnJvciA9PT0gJ2Z1bmN0aW9uJyA/IC8vIEluIG1vZGVybiBicm93c2VycywgcmVwb3J0RXJyb3Igd2lsbCBkaXNwYXRjaCBhbiBlcnJvciBldmVudCxcbi8vIGVtdWxhdGluZyBhbiB1bmNhdWdodCBKYXZhU2NyaXB0IGVycm9yLlxucmVwb3J0RXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgLy8gSW4gb2xkZXIgYnJvd3NlcnMgYW5kIHRlc3QgZW52aXJvbm1lbnRzLCBmYWxsYmFjayB0byBjb25zb2xlLmVycm9yLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG4gIGNvbnNvbGVbJ2Vycm9yJ10oZXJyb3IpO1xufTtcblxudmFyIGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID0gZmFsc2U7XG52YXIgZW5xdWV1ZVRhc2tJbXBsID0gbnVsbDtcbmZ1bmN0aW9uIGVucXVldWVUYXNrKHRhc2spIHtcbiAgaWYgKGVucXVldWVUYXNrSW1wbCA9PT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICAvLyByZWFkIHJlcXVpcmUgb2ZmIHRoZSBtb2R1bGUgb2JqZWN0IHRvIGdldCBhcm91bmQgdGhlIGJ1bmRsZXJzLlxuICAgICAgLy8gd2UgZG9uJ3Qgd2FudCB0aGVtIHRvIGRldGVjdCBhIHJlcXVpcmUgYW5kIGJ1bmRsZSBhIE5vZGUgcG9seWZpbGwuXG4gICAgICB2YXIgcmVxdWlyZVN0cmluZyA9ICgncmVxdWlyZScgKyBNYXRoLnJhbmRvbSgpKS5zbGljZSgwLCA3KTtcbiAgICAgIHZhciBub2RlUmVxdWlyZSA9IG1vZHVsZSAmJiBtb2R1bGVbcmVxdWlyZVN0cmluZ107IC8vIGFzc3VtaW5nIHdlJ3JlIGluIG5vZGUsIGxldCdzIHRyeSB0byBnZXQgbm9kZSdzXG4gICAgICAvLyB2ZXJzaW9uIG9mIHNldEltbWVkaWF0ZSwgYnlwYXNzaW5nIGZha2UgdGltZXJzIGlmIGFueS5cblxuICAgICAgZW5xdWV1ZVRhc2tJbXBsID0gbm9kZVJlcXVpcmUuY2FsbChtb2R1bGUsICd0aW1lcnMnKS5zZXRJbW1lZGlhdGU7XG4gICAgfSBjYXRjaCAoX2Vycikge1xuICAgICAgLy8gd2UncmUgaW4gYSBicm93c2VyXG4gICAgICAvLyB3ZSBjYW4ndCB1c2UgcmVndWxhciB0aW1lcnMgYmVjYXVzZSB0aGV5IG1heSBzdGlsbCBiZSBmYWtlZFxuICAgICAgLy8gc28gd2UgdHJ5IE1lc3NhZ2VDaGFubmVsK3Bvc3RNZXNzYWdlIGluc3RlYWRcbiAgICAgIGVucXVldWVUYXNrSW1wbCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID09PSBmYWxzZSkge1xuICAgICAgICAgICAgZGlkV2FybkFib3V0TWVzc2FnZUNoYW5uZWwgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIE1lc3NhZ2VDaGFubmVsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBlcnJvcignVGhpcyBicm93c2VyIGRvZXMgbm90IGhhdmUgYSBNZXNzYWdlQ2hhbm5lbCBpbXBsZW1lbnRhdGlvbiwgJyArICdzbyBlbnF1ZXVpbmcgdGFza3MgdmlhIGF3YWl0IGFjdChhc3luYyAoKSA9PiAuLi4pIHdpbGwgZmFpbC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzICcgKyAnaWYgeW91IGVuY291bnRlciB0aGlzIHdhcm5pbmcuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBjYWxsYmFjaztcbiAgICAgICAgY2hhbm5lbC5wb3J0Mi5wb3N0TWVzc2FnZSh1bmRlZmluZWQpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZW5xdWV1ZVRhc2tJbXBsKHRhc2spO1xufVxuXG4vLyBudW1iZXIgb2YgYGFjdGAgc2NvcGVzIG9uIHRoZSBzdGFjay5cblxudmFyIGFjdFNjb3BlRGVwdGggPSAwOyAvLyBXZSBvbmx5IHdhcm4gdGhlIGZpcnN0IHRpbWUgeW91IG5lZ2xlY3QgdG8gYXdhaXQgYW4gYXN5bmMgYGFjdGAgc2NvcGUuXG5cbnZhciBkaWRXYXJuTm9Bd2FpdEFjdCA9IGZhbHNlO1xuZnVuY3Rpb24gYWN0KGNhbGxiYWNrKSB7XG4gIHtcbiAgICAvLyBXaGVuIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQgaXMgbm90IG51bGwsIGl0IHNpZ25hbHMgdG8gUmVhY3QgdGhhdFxuICAgIC8vIHdlJ3JlIGN1cnJlbnRseSBpbnNpZGUgYW4gYGFjdGAgc2NvcGUuIFJlYWN0IHdpbGwgcHVzaCBhbGwgaXRzIHRhc2tzIHRvXG4gICAgLy8gdGhpcyBxdWV1ZSBpbnN0ZWFkIG9mIHNjaGVkdWxpbmcgdGhlbSB3aXRoIHBsYXRmb3JtIEFQSXMuXG4gICAgLy9cbiAgICAvLyBXZSBzZXQgdGhpcyB0byBhbiBlbXB0eSBhcnJheSB3aGVuIHdlIGZpcnN0IGVudGVyIGFuIGBhY3RgIHNjb3BlLCBhbmRcbiAgICAvLyBvbmx5IHVuc2V0IGl0IG9uY2Ugd2UndmUgbGVmdCB0aGUgb3V0ZXJtb3N0IGBhY3RgIHNjb3BlIOKAlCByZW1lbWJlciB0aGF0XG4gICAgLy8gYGFjdGAgY2FsbHMgY2FuIGJlIG5lc3RlZC5cbiAgICAvL1xuICAgIC8vIElmIHdlJ3JlIGFscmVhZHkgaW5zaWRlIGFuIGBhY3RgIHNjb3BlLCByZXVzZSB0aGUgZXhpc3RpbmcgcXVldWUuXG4gICAgdmFyIHByZXZJc0JhdGNoaW5nTGVnYWN5ID0gUmVhY3RDdXJyZW50QWN0UXVldWUuaXNCYXRjaGluZ0xlZ2FjeTtcbiAgICB2YXIgcHJldkFjdFF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcbiAgICB2YXIgcHJldkFjdFNjb3BlRGVwdGggPSBhY3RTY29wZURlcHRoO1xuICAgIGFjdFNjb3BlRGVwdGgrKztcbiAgICB2YXIgcXVldWUgPSBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5jdXJyZW50ID0gcHJldkFjdFF1ZXVlICE9PSBudWxsID8gcHJldkFjdFF1ZXVlIDogW107IC8vIFVzZWQgdG8gcmVwcm9kdWNlIGJlaGF2aW9yIG9mIGBiYXRjaGVkVXBkYXRlc2AgaW4gbGVnYWN5IG1vZGUuIE9ubHlcbiAgICAvLyBzZXQgdG8gYHRydWVgIHdoaWxlIHRoZSBnaXZlbiBjYWxsYmFjayBpcyBleGVjdXRlZCwgbm90IGZvciB1cGRhdGVzXG4gICAgLy8gdHJpZ2dlcmVkIGR1cmluZyBhbiBhc3luYyBldmVudCwgYmVjYXVzZSB0aGlzIGlzIGhvdyB0aGUgbGVnYWN5XG4gICAgLy8gaW1wbGVtZW50YXRpb24gb2YgYGFjdGAgYmVoYXZlZC5cblxuICAgIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmlzQmF0Y2hpbmdMZWdhY3kgPSB0cnVlO1xuICAgIHZhciByZXN1bHQ7IC8vIFRoaXMgdHJhY2tzIHdoZXRoZXIgdGhlIGBhY3RgIGNhbGwgaXMgYXdhaXRlZC4gSW4gY2VydGFpbiBjYXNlcywgbm90XG4gICAgLy8gYXdhaXRpbmcgaXQgaXMgYSBtaXN0YWtlLCBzbyB3ZSB3aWxsIGRldGVjdCB0aGF0IGFuZCB3YXJuLlxuXG4gICAgdmFyIGRpZEF3YWl0QWN0Q2FsbCA9IGZhbHNlO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFJlc2V0IHRoaXMgdG8gYGZhbHNlYCByaWdodCBiZWZvcmUgZW50ZXJpbmcgdGhlIFJlYWN0IHdvcmsgbG9vcC4gVGhlXG4gICAgICAvLyBvbmx5IHBsYWNlIHdlIGV2ZXIgcmVhZCB0aGlzIGZpZWxkcyBpcyBqdXN0IGJlbG93LCByaWdodCBhZnRlciBydW5uaW5nXG4gICAgICAvLyB0aGUgY2FsbGJhY2suIFNvIHdlIGRvbid0IG5lZWQgdG8gcmVzZXQgYWZ0ZXIgdGhlIGNhbGxiYWNrIHJ1bnMuXG4gICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5kaWRTY2hlZHVsZUxlZ2FjeVVwZGF0ZSA9IGZhbHNlO1xuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soKTtcbiAgICAgIHZhciBkaWRTY2hlZHVsZUxlZ2FjeVVwZGF0ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmRpZFNjaGVkdWxlTGVnYWN5VXBkYXRlOyAvLyBSZXBsaWNhdGUgYmVoYXZpb3Igb2Ygb3JpZ2luYWwgYGFjdGAgaW1wbGVtZW50YXRpb24gaW4gbGVnYWN5IG1vZGUsXG4gICAgICAvLyB3aGljaCBmbHVzaGVkIHVwZGF0ZXMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHNjb3BlIGZ1bmN0aW9uIGV4aXRzLCBldmVuXG4gICAgICAvLyBpZiBpdCdzIGFuIGFzeW5jIGZ1bmN0aW9uLlxuXG4gICAgICBpZiAoIXByZXZJc0JhdGNoaW5nTGVnYWN5ICYmIGRpZFNjaGVkdWxlTGVnYWN5VXBkYXRlKSB7XG4gICAgICAgIGZsdXNoQWN0UXVldWUocXVldWUpO1xuICAgICAgfSAvLyBgaXNCYXRjaGluZ0xlZ2FjeWAgZ2V0cyByZXNldCB1c2luZyB0aGUgcmVndWxhciBzdGFjaywgbm90IHRoZSBhc3luY1xuICAgICAgLy8gb25lIHVzZWQgdG8gdHJhY2sgYGFjdGAgc2NvcGVzLiBXaHksIHlvdSBtYXkgYmUgd29uZGVyaW5nPyBCZWNhdXNlXG4gICAgICAvLyB0aGF0J3MgaG93IGl0IHdvcmtlZCBiZWZvcmUgdmVyc2lvbiAxOC4gWWVzLCBpdCdzIGNvbmZ1c2luZyEgV2Ugc2hvdWxkXG4gICAgICAvLyBkZWxldGUgbGVnYWN5IG1vZGUhIVxuXG5cbiAgICAgIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmlzQmF0Y2hpbmdMZWdhY3kgPSBwcmV2SXNCYXRjaGluZ0xlZ2FjeTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gYGlzQmF0Y2hpbmdMZWdhY3lgIGdldHMgcmVzZXQgdXNpbmcgdGhlIHJlZ3VsYXIgc3RhY2ssIG5vdCB0aGUgYXN5bmNcbiAgICAgIC8vIG9uZSB1c2VkIHRvIHRyYWNrIGBhY3RgIHNjb3Blcy4gV2h5LCB5b3UgbWF5IGJlIHdvbmRlcmluZz8gQmVjYXVzZVxuICAgICAgLy8gdGhhdCdzIGhvdyBpdCB3b3JrZWQgYmVmb3JlIHZlcnNpb24gMTguIFllcywgaXQncyBjb25mdXNpbmchIFdlIHNob3VsZFxuICAgICAgLy8gZGVsZXRlIGxlZ2FjeSBtb2RlISFcbiAgICAgIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmlzQmF0Y2hpbmdMZWdhY3kgPSBwcmV2SXNCYXRjaGluZ0xlZ2FjeTtcbiAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RRdWV1ZSwgcHJldkFjdFNjb3BlRGVwdGgpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuXG4gICAgaWYgKHJlc3VsdCAhPT0gbnVsbCAmJiB0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0JyAmJiAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG4gICAgdHlwZW9mIHJlc3VsdC50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBBIHByb21pc2UvdGhlbmFibGUgd2FzIHJldHVybmVkIGZyb20gdGhlIGNhbGxiYWNrLiBXYWl0IGZvciBpdCB0b1xuICAgICAgLy8gcmVzb2x2ZSBiZWZvcmUgZmx1c2hpbmcgdGhlIHF1ZXVlLlxuICAgICAgLy9cbiAgICAgIC8vIElmIGBhY3RgIHdlcmUgaW1wbGVtZW50ZWQgYXMgYW4gYXN5bmMgZnVuY3Rpb24sIHRoaXMgd2hvbGUgYmxvY2sgY291bGRcbiAgICAgIC8vIGJlIGEgc2luZ2xlIGBhd2FpdGAgY2FsbC4gVGhhdCdzIHJlYWxseSB0aGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW5cbiAgICAgIC8vIHRoaXMgYnJhbmNoIGFuZCB0aGUgbmV4dCBvbmUuXG4gICAgICB2YXIgdGhlbmFibGUgPSByZXN1bHQ7IC8vIFdhcm4gaWYgdGhlIGFuIGBhY3RgIGNhbGwgd2l0aCBhbiBhc3luYyBzY29wZSBpcyBub3QgYXdhaXRlZC4gSW4gYVxuICAgICAgLy8gZnV0dXJlIHJlbGVhc2UsIGNvbnNpZGVyIG1ha2luZyB0aGlzIGFuIGVycm9yLlxuXG4gICAgICBxdWV1ZVNldmVyYWxNaWNyb3Rhc2tzKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCFkaWRBd2FpdEFjdENhbGwgJiYgIWRpZFdhcm5Ob0F3YWl0QWN0KSB7XG4gICAgICAgICAgZGlkV2Fybk5vQXdhaXRBY3QgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1lvdSBjYWxsZWQgYWN0KGFzeW5jICgpID0+IC4uLikgd2l0aG91dCBhd2FpdC4gJyArICdUaGlzIGNvdWxkIGxlYWQgdG8gdW5leHBlY3RlZCB0ZXN0aW5nIGJlaGF2aW91ciwgJyArICdpbnRlcmxlYXZpbmcgbXVsdGlwbGUgYWN0IGNhbGxzIGFuZCBtaXhpbmcgdGhlaXIgJyArICdzY29wZXMuICcgKyAnWW91IHNob3VsZCAtIGF3YWl0IGFjdChhc3luYyAoKSA9PiAuLi4pOycpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRoZW46IGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICBkaWRBd2FpdEFjdENhbGwgPSB0cnVlO1xuICAgICAgICAgIHRoZW5hYmxlLnRoZW4oZnVuY3Rpb24gKHJldHVyblZhbHVlKSB7XG4gICAgICAgICAgICBwb3BBY3RTY29wZShwcmV2QWN0UXVldWUsIHByZXZBY3RTY29wZURlcHRoKTtcblxuICAgICAgICAgICAgaWYgKHByZXZBY3RTY29wZURlcHRoID09PSAwKSB7XG4gICAgICAgICAgICAgIC8vIFdlJ3JlIGV4aXRpbmcgdGhlIG91dGVybW9zdCBgYWN0YCBzY29wZS4gRmx1c2ggdGhlIHF1ZXVlLlxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGZsdXNoQWN0UXVldWUocXVldWUpO1xuICAgICAgICAgICAgICAgIGVucXVldWVUYXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoLy8gUmVjdXJzaXZlbHkgZmx1c2ggdGFza3Mgc2NoZWR1bGVkIGJ5IGEgbWljcm90YXNrLlxuICAgICAgICAgICAgICAgICAgICByZWN1cnNpdmVseUZsdXNoQXN5bmNBY3RXb3JrKHJldHVyblZhbHVlLCByZXNvbHZlLCByZWplY3QpXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIC8vIGB0aGVuYWJsZWAgbWlnaHQgbm90IGJlIGEgcmVhbCBwcm9taXNlLCBhbmQgYGZsdXNoQWN0UXVldWVgXG4gICAgICAgICAgICAgICAgLy8gbWlnaHQgdGhyb3csIHNvIHdlIG5lZWQgdG8gd3JhcCBgZmx1c2hBY3RRdWV1ZWAgaW4gYVxuICAgICAgICAgICAgICAgIC8vIHRyeS9jYXRjaC5cbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXNvbHZlKHJldHVyblZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RRdWV1ZSwgcHJldkFjdFNjb3BlRGVwdGgpO1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHJldHVyblZhbHVlID0gcmVzdWx0OyAvLyBUaGUgY2FsbGJhY2sgaXMgbm90IGFuIGFzeW5jIGZ1bmN0aW9uLiBFeGl0IHRoZSBjdXJyZW50XG4gICAgICAvLyBzY29wZSBpbW1lZGlhdGVseS5cblxuICAgICAgcG9wQWN0U2NvcGUocHJldkFjdFF1ZXVlLCBwcmV2QWN0U2NvcGVEZXB0aCk7XG5cbiAgICAgIGlmIChwcmV2QWN0U2NvcGVEZXB0aCA9PT0gMCkge1xuICAgICAgICAvLyBXZSdyZSBleGl0aW5nIHRoZSBvdXRlcm1vc3QgYGFjdGAgc2NvcGUuIEZsdXNoIHRoZSBxdWV1ZS5cbiAgICAgICAgZmx1c2hBY3RRdWV1ZShxdWV1ZSk7IC8vIElmIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHksIGl0IGltcGxpZXMgdGhhdCB3ZSBpbnRlbnRpb25hbGx5IHlpZWxkZWRcbiAgICAgICAgLy8gdG8gdGhlIG1haW4gdGhyZWFkLCBiZWNhdXNlIHNvbWV0aGluZyBzdXNwZW5kZWQuIFdlIHdpbGwgY29udGludWVcbiAgICAgICAgLy8gaW4gYW4gYXN5bmNocm9ub3VzIHRhc2suXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFdhcm4gaWYgc29tZXRoaW5nIHN1c3BlbmRzIGJ1dCB0aGUgYGFjdGAgY2FsbCBpcyBub3QgYXdhaXRlZC5cbiAgICAgICAgLy8gSW4gYSBmdXR1cmUgcmVsZWFzZSwgY29uc2lkZXIgbWFraW5nIHRoaXMgYW4gZXJyb3IuXG5cbiAgICAgICAgaWYgKHF1ZXVlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgIHF1ZXVlU2V2ZXJhbE1pY3JvdGFza3MoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKCFkaWRBd2FpdEFjdENhbGwgJiYgIWRpZFdhcm5Ob0F3YWl0QWN0KSB7XG4gICAgICAgICAgICAgIGRpZFdhcm5Ob0F3YWl0QWN0ID0gdHJ1ZTtcblxuICAgICAgICAgICAgICBlcnJvcignQSBjb21wb25lbnQgc3VzcGVuZGVkIGluc2lkZSBhbiBgYWN0YCBzY29wZSwgYnV0IHRoZSAnICsgJ2BhY3RgIGNhbGwgd2FzIG5vdCBhd2FpdGVkLiBXaGVuIHRlc3RpbmcgUmVhY3QgJyArICdjb21wb25lbnRzIHRoYXQgZGVwZW5kIG9uIGFzeW5jaHJvbm91cyBkYXRhLCB5b3UgbXVzdCAnICsgJ2F3YWl0IHRoZSByZXN1bHQ6XFxuXFxuJyArICdhd2FpdCBhY3QoKCkgPT4gLi4uKScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IC8vIExpa2UgbWFueSB0aGluZ3MgaW4gdGhpcyBtb2R1bGUsIHRoaXMgaXMgbmV4dCBwYXJ0IGlzIGNvbmZ1c2luZy5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gV2UgZG8gbm90IGN1cnJlbnRseSByZXF1aXJlIGV2ZXJ5IGBhY3RgIGNhbGwgdGhhdCBpcyBwYXNzZWQgYVxuICAgICAgICAvLyBjYWxsYmFjayB0byBiZSBhd2FpdGVkLCB0aHJvdWdoIGFyZ3VhYmx5IHdlIHNob3VsZC4gU2luY2UgdGhpc1xuICAgICAgICAvLyBjYWxsYmFjayB3YXMgc3luY2hyb25vdXMsIHdlIG5lZWQgdG8gZXhpdCB0aGUgY3VycmVudCBzY29wZSBiZWZvcmVcbiAgICAgICAgLy8gcmV0dXJuaW5nLlxuICAgICAgICAvL1xuICAgICAgICAvLyBIb3dldmVyLCBpZiB0aGVuYWJsZSB3ZSdyZSBhYm91dCB0byByZXR1cm4gKmlzKiBhd2FpdGVkLCB3ZSdsbFxuICAgICAgICAvLyBpbW1lZGlhdGVseSByZXN0b3JlIHRoZSBjdXJyZW50IHNjb3BlLiBTbyBpdCBzaG91bGRuJ3Qgb2JzZXJ2YWJsZS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gVGhpcyBkb2Vzbid0IGFmZmVjdCB0aGUgY2FzZSB3aGVyZSB0aGUgc2NvcGUgY2FsbGJhY2sgaXMgYXN5bmMsXG4gICAgICAgIC8vIGJlY2F1c2Ugd2UgYWx3YXlzIHJlcXVpcmUgdGhvc2UgY2FsbHMgdG8gYmUgYXdhaXRlZC5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gVE9ETzogSW4gYSBmdXR1cmUgdmVyc2lvbiwgY29uc2lkZXIgYWx3YXlzIHJlcXVpcmluZyBhbGwgYGFjdGAgY2FsbHNcbiAgICAgICAgLy8gdG8gYmUgYXdhaXRlZCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBjYWxsYmFjayBpcyBzeW5jIG9yIGFzeW5jLlxuXG5cbiAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRoZW46IGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICBkaWRBd2FpdEFjdENhbGwgPSB0cnVlO1xuXG4gICAgICAgICAgaWYgKHByZXZBY3RTY29wZURlcHRoID09PSAwKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgYGFjdGAgY2FsbCBpcyBhd2FpdGVkLCByZXN0b3JlIHRoZSBxdWV1ZSB3ZSB3ZXJlXG4gICAgICAgICAgICAvLyB1c2luZyBiZWZvcmUgKHNlZSBsb25nIGNvbW1lbnQgYWJvdmUpIHNvIHdlIGNhbiBmbHVzaCBpdC5cbiAgICAgICAgICAgIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQgPSBxdWV1ZTtcbiAgICAgICAgICAgIGVucXVldWVUYXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICgvLyBSZWN1cnNpdmVseSBmbHVzaCB0YXNrcyBzY2hlZHVsZWQgYnkgYSBtaWNyb3Rhc2suXG4gICAgICAgICAgICAgICAgcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUocmV0dXJuVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wQWN0U2NvcGUocHJldkFjdFF1ZXVlLCBwcmV2QWN0U2NvcGVEZXB0aCkge1xuICB7XG4gICAgaWYgKHByZXZBY3RTY29wZURlcHRoICE9PSBhY3RTY29wZURlcHRoIC0gMSkge1xuICAgICAgZXJyb3IoJ1lvdSBzZWVtIHRvIGhhdmUgb3ZlcmxhcHBpbmcgYWN0KCkgY2FsbHMsIHRoaXMgaXMgbm90IHN1cHBvcnRlZC4gJyArICdCZSBzdXJlIHRvIGF3YWl0IHByZXZpb3VzIGFjdCgpIGNhbGxzIGJlZm9yZSBtYWtpbmcgYSBuZXcgb25lLiAnKTtcbiAgICB9XG5cbiAgICBhY3RTY29wZURlcHRoID0gcHJldkFjdFNjb3BlRGVwdGg7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KSB7XG4gIHtcbiAgICAvLyBDaGVjayBpZiBhbnkgdGFza3Mgd2VyZSBzY2hlZHVsZWQgYXN5bmNocm9ub3VzbHkuXG4gICAgdmFyIHF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcblxuICAgIGlmIChxdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHF1ZXVlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAvLyBBc3luYyB0YXNrcyB3ZXJlIHNjaGVkdWxlZCwgbW9zdGx5IGxpa2VseSBpbiBhIG1pY3JvdGFzay5cbiAgICAgICAgLy8gS2VlcCBmbHVzaGluZyB1bnRpbCB0aGVyZSBhcmUgbm8gbW9yZS5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBmbHVzaEFjdFF1ZXVlKHF1ZXVlKTsgLy8gVGhlIHdvcmsgd2UganVzdCBwZXJmb3JtZWQgbWF5IGhhdmUgc2NoZWR1bGUgYWRkaXRpb25hbCBhc3luY1xuICAgICAgICAgIC8vIHRhc2tzLiBXYWl0IGEgbWFjcm90YXNrIGFuZCBjaGVjayBhZ2Fpbi5cblxuICAgICAgICAgIGVucXVldWVUYXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiByZWN1cnNpdmVseUZsdXNoQXN5bmNBY3RXb3JrKHJldHVyblZhbHVlLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIC8vIExlYXZlIHJlbWFpbmluZyB0YXNrcyBvbiB0aGUgcXVldWUgaWYgc29tZXRoaW5nIHRocm93cy5cbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGUgcXVldWUgaXMgZW1wdHkuIFdlIGNhbiBmaW5pc2guXG4gICAgICAgIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICByZXNvbHZlKHJldHVyblZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBpc0ZsdXNoaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGZsdXNoQWN0UXVldWUocXVldWUpIHtcbiAge1xuICAgIGlmICghaXNGbHVzaGluZykge1xuICAgICAgLy8gUHJldmVudCByZS1lbnRyYW5jZS5cbiAgICAgIGlzRmx1c2hpbmcgPSB0cnVlO1xuICAgICAgdmFyIGkgPSAwO1xuXG4gICAgICB0cnkge1xuICAgICAgICBmb3IgKDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGNhbGxiYWNrID0gcXVldWVbaV07XG5cbiAgICAgICAgICBkbyB7XG4gICAgICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5kaWRVc2VQcm9taXNlID0gZmFsc2U7XG4gICAgICAgICAgICB2YXIgY29udGludWF0aW9uID0gY2FsbGJhY2soZmFsc2UpO1xuXG4gICAgICAgICAgICBpZiAoY29udGludWF0aW9uICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChSZWFjdEN1cnJlbnRBY3RRdWV1ZS5kaWRVc2VQcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhlIGNvbXBvbmVudCBqdXN0IHN1c3BlbmRlZC4gWWllbGQgdG8gdGhlIG1haW4gdGhyZWFkIGluXG4gICAgICAgICAgICAgICAgLy8gY2FzZSB0aGUgcHJvbWlzZSBpcyBhbHJlYWR5IHJlc29sdmVkLiBJZiBzbywgaXQgd2lsbCBwaW5nIGluXG4gICAgICAgICAgICAgICAgLy8gYSBtaWNyb3Rhc2sgYW5kIHdlIGNhbiByZXN1bWUgd2l0aG91dCB1bndpbmRpbmcgdGhlIHN0YWNrLlxuICAgICAgICAgICAgICAgIHF1ZXVlW2ldID0gY2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgcXVldWUuc3BsaWNlKDAsIGkpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNhbGxiYWNrID0gY29udGludWF0aW9uO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSB3aGlsZSAodHJ1ZSk7XG4gICAgICAgIH0gLy8gV2UgZmx1c2hlZCB0aGUgZW50aXJlIHF1ZXVlLlxuXG5cbiAgICAgICAgcXVldWUubGVuZ3RoID0gMDtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIElmIHNvbWV0aGluZyB0aHJvd3MsIGxlYXZlIHRoZSByZW1haW5pbmcgY2FsbGJhY2tzIG9uIHRoZSBxdWV1ZS5cbiAgICAgICAgcXVldWUuc3BsaWNlKDAsIGkgKyAxKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpc0ZsdXNoaW5nID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIFNvbWUgb2Ygb3VyIHdhcm5pbmdzIGF0dGVtcHQgdG8gZGV0ZWN0IGlmIHRoZSBgYWN0YCBjYWxsIGlzIGF3YWl0ZWQgYnlcbi8vIGNoZWNraW5nIGluIGFuIGFzeW5jaHJvbm91cyB0YXNrLiBXYWl0IGEgZmV3IG1pY3JvdGFza3MgYmVmb3JlIGNoZWNraW5nLiBUaGVcbi8vIG9ubHkgcmVhc29uIG9uZSBpc24ndCBzdWZmaWNpZW50IGlzIHdlIHdhbnQgdG8gYWNjb21tb2RhdGUgdGhlIGNhc2Ugd2hlcmUgYW5cbi8vIGBhY3RgIGNhbGwgaXMgcmV0dXJuZWQgZnJvbSBhbiBhc3luYyBmdW5jdGlvbiB3aXRob3V0IGZpcnN0IGJlaW5nIGF3YWl0ZWQsXG4vLyBzaW5jZSB0aGF0J3MgYSBzb21ld2hhdCBjb21tb24gcGF0dGVybi4gSWYgeW91IGRvIHRoaXMgdG9vIG1hbnkgdGltZXMgaW4gYVxuLy8gbmVzdGVkIHNlcXVlbmNlLCB5b3UgbWlnaHQgZ2V0IGEgd2FybmluZywgYnV0IHlvdSBjYW4gYWx3YXlzIGZpeCBieSBhd2FpdGluZ1xuLy8gdGhlIGNhbGwuXG4vL1xuLy8gQSBtYWNyb3Rhc2sgd291bGQgYWxzbyB3b3JrIChhbmQgaXMgdGhlIGZhbGxiYWNrKSBidXQgZGVwZW5kaW5nIG9uIHRoZSB0ZXN0XG4vLyBlbnZpcm9ubWVudCBpdCBtYXkgY2F1c2UgdGhlIHdhcm5pbmcgdG8gZmlyZSB0b28gbGF0ZS5cblxuXG52YXIgcXVldWVTZXZlcmFsTWljcm90YXNrcyA9IHR5cGVvZiBxdWV1ZU1pY3JvdGFzayA9PT0gJ2Z1bmN0aW9uJyA/IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBxdWV1ZU1pY3JvdGFzayhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHF1ZXVlTWljcm90YXNrKGNhbGxiYWNrKTtcbiAgfSk7XG59IDogZW5xdWV1ZVRhc2s7XG5cbnZhciBDaGlsZHJlbiA9IHtcbiAgbWFwOiBtYXBDaGlsZHJlbixcbiAgZm9yRWFjaDogZm9yRWFjaENoaWxkcmVuLFxuICBjb3VudDogY291bnRDaGlsZHJlbixcbiAgdG9BcnJheTogdG9BcnJheSxcbiAgb25seTogb25seUNoaWxkXG59O1xuXG5leHBvcnRzLkNoaWxkcmVuID0gQ2hpbGRyZW47XG5leHBvcnRzLkNvbXBvbmVudCA9IENvbXBvbmVudDtcbmV4cG9ydHMuRnJhZ21lbnQgPSBSRUFDVF9GUkFHTUVOVF9UWVBFO1xuZXhwb3J0cy5Qcm9maWxlciA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG5leHBvcnRzLlB1cmVDb21wb25lbnQgPSBQdXJlQ29tcG9uZW50O1xuZXhwb3J0cy5TdHJpY3RNb2RlID0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbmV4cG9ydHMuU3VzcGVuc2UgPSBSRUFDVF9TVVNQRU5TRV9UWVBFO1xuZXhwb3J0cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzO1xuZXhwb3J0cy5hY3QgPSBhY3Q7XG5leHBvcnRzLmNhY2hlID0gY2FjaGU7XG5leHBvcnRzLmNsb25lRWxlbWVudCA9IGNsb25lRWxlbWVudDtcbmV4cG9ydHMuY3JlYXRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ7XG5leHBvcnRzLmNyZWF0ZUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50O1xuZXhwb3J0cy5jcmVhdGVGYWN0b3J5ID0gY3JlYXRlRmFjdG9yeTtcbmV4cG9ydHMuY3JlYXRlUmVmID0gY3JlYXRlUmVmO1xuZXhwb3J0cy5mb3J3YXJkUmVmID0gZm9yd2FyZFJlZjtcbmV4cG9ydHMuaXNWYWxpZEVsZW1lbnQgPSBpc1ZhbGlkRWxlbWVudDtcbmV4cG9ydHMubGF6eSA9IGxhenk7XG5leHBvcnRzLm1lbW8gPSBtZW1vO1xuZXhwb3J0cy5zdGFydFRyYW5zaXRpb24gPSBzdGFydFRyYW5zaXRpb247XG5leHBvcnRzLnVuc3RhYmxlX3VzZUNhY2hlUmVmcmVzaCA9IHVzZUNhY2hlUmVmcmVzaDtcbmV4cG9ydHMudXNlID0gdXNlO1xuZXhwb3J0cy51c2VDYWxsYmFjayA9IHVzZUNhbGxiYWNrO1xuZXhwb3J0cy51c2VDb250ZXh0ID0gdXNlQ29udGV4dDtcbmV4cG9ydHMudXNlRGVidWdWYWx1ZSA9IHVzZURlYnVnVmFsdWU7XG5leHBvcnRzLnVzZURlZmVycmVkVmFsdWUgPSB1c2VEZWZlcnJlZFZhbHVlO1xuZXhwb3J0cy51c2VFZmZlY3QgPSB1c2VFZmZlY3Q7XG5leHBvcnRzLnVzZUlkID0gdXNlSWQ7XG5leHBvcnRzLnVzZUltcGVyYXRpdmVIYW5kbGUgPSB1c2VJbXBlcmF0aXZlSGFuZGxlO1xuZXhwb3J0cy51c2VJbnNlcnRpb25FZmZlY3QgPSB1c2VJbnNlcnRpb25FZmZlY3Q7XG5leHBvcnRzLnVzZUxheW91dEVmZmVjdCA9IHVzZUxheW91dEVmZmVjdDtcbmV4cG9ydHMudXNlTWVtbyA9IHVzZU1lbW87XG5leHBvcnRzLnVzZU9wdGltaXN0aWMgPSB1c2VPcHRpbWlzdGljO1xuZXhwb3J0cy51c2VSZWR1Y2VyID0gdXNlUmVkdWNlcjtcbmV4cG9ydHMudXNlUmVmID0gdXNlUmVmO1xuZXhwb3J0cy51c2VTdGF0ZSA9IHVzZVN0YXRlO1xuZXhwb3J0cy51c2VTeW5jRXh0ZXJuYWxTdG9yZSA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlO1xuZXhwb3J0cy51c2VUcmFuc2l0aW9uID0gdXNlVHJhbnNpdGlvbjtcbmV4cG9ydHMudmVyc2lvbiA9IFJlYWN0VmVyc2lvbjtcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react.development.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/index.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLDhKQUFzRDtBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0L2luZGV4LmpzPzc2ZDgiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react/jsx-runtime.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLHNMQUFrRTtBQUNwRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0L2pzeC1ydW50aW1lLmpzPzFkYjgiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _class_private_field_loose_base; },\n/* harmony export */ _class_private_field_loose_base: function() { return /* binding */ _class_private_field_loose_base; }\n/* harmony export */ });\nfunction _class_private_field_loose_base(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n\n return receiver;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ2dEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuanM/M2IyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZShyZWNlaXZlciwgcHJpdmF0ZUtleSkge1xuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHJlY2VpdmVyLCBwcml2YXRlS2V5KSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHVzZSBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVjZWl2ZXI7XG59XG5leHBvcnQgeyBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlIGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _class_private_field_loose_key; },\n/* harmony export */ _class_private_field_loose_key: function() { return /* binding */ _class_private_field_loose_key; }\n/* harmony export */ });\nvar id = 0;\n\nfunction _class_private_field_loose_key(name) {\n return \"__private_\" + id++ + \"_\" + name;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBOztBQUVPO0FBQ1A7QUFDQTtBQUMrQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkuanM/MzE3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaWQgPSAwO1xuXG5leHBvcnQgZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5KG5hbWUpIHtcbiAgICByZXR1cm4gXCJfX3ByaXZhdGVfXCIgKyBpZCsrICsgXCJfXCIgKyBuYW1lO1xufVxuZXhwb3J0IHsgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5IGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_default; },\n/* harmony export */ _interop_require_default: function() { return /* binding */ _interop_require_default; }\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPO0FBQ1AsMkNBQTJDO0FBQzNDO0FBQ3lDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5qcz8yMzVjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07XG59XG5leHBvcnQgeyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_wildcard.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_wildcard; },\n/* harmony export */ _interop_require_wildcard: function() { return /* binding */ _interop_require_wildcard; }\n/* harmony export */ });\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNPO0FBQ1A7QUFDQSx1RkFBdUY7O0FBRXZGOztBQUVBOztBQUVBLG1CQUFtQjtBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQzBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuanM/ZTgxZSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApIHtcbiAgICBpZiAodHlwZW9mIFdlYWtNYXAgIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIG51bGw7XG5cbiAgICB2YXIgY2FjaGVCYWJlbEludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcblxuICAgIHJldHVybiAoX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlID0gZnVuY3Rpb24obm9kZUludGVyb3ApIHtcbiAgICAgICAgcmV0dXJuIG5vZGVJbnRlcm9wID8gY2FjaGVOb2RlSW50ZXJvcCA6IGNhY2hlQmFiZWxJbnRlcm9wO1xuICAgIH0pKG5vZGVJbnRlcm9wKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKG9iaiwgbm9kZUludGVyb3ApIHtcbiAgICBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkgcmV0dXJuIG9iajtcbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG9iaiAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4geyBkZWZhdWx0OiBvYmogfTtcblxuICAgIHZhciBjYWNoZSA9IF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCk7XG5cbiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHJldHVybiBjYWNoZS5nZXQob2JqKTtcblxuICAgIHZhciBuZXdPYmogPSB7IF9fcHJvdG9fXzogbnVsbCB9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgZWxzZSBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV3T2JqLmRlZmF1bHQgPSBvYmo7XG5cbiAgICBpZiAoY2FjaGUpIGNhY2hlLnNldChvYmosIG5ld09iaik7XG5cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuZXhwb3J0IHsgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _tagged_template_literal_loose; },\n/* harmony export */ _tagged_template_literal_loose: function() { return /* binding */ _tagged_template_literal_loose; }\n/* harmony export */ });\nfunction _tagged_template_literal_loose(strings, raw) {\n if (!raw) raw = strings.slice(0);\n\n strings.raw = raw;\n\n return strings;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPO0FBQ1A7O0FBRUE7O0FBRUE7QUFDQTtBQUMrQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuanM/NzFjZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlKHN0cmluZ3MsIHJhdykge1xuICAgIGlmICghcmF3KSByYXcgPSBzdHJpbmdzLnNsaWNlKDApO1xuXG4gICAgc3RyaW5ncy5yYXcgPSByYXc7XG5cbiAgICByZXR1cm4gc3RyaW5ncztcbn1cbmV4cG9ydCB7IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__("(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"), __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/client/app-next-dev.js")); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/main.js b/.next/static/chunks/main.js deleted file mode 100644 index 3f79800..0000000 --- a/.next/static/chunks/main.js +++ /dev/null @@ -1,1946 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["main"],{ - -/***/ "./node_modules/next/dist/build/deployment-id.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/build/deployment-id.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDeploymentIdQueryOrEmptyString\", ({\n enumerable: true,\n get: function() {\n return getDeploymentIdQueryOrEmptyString;\n }\n}));\nfunction getDeploymentIdQueryOrEmptyString() {\n if (false) {}\n return \"\";\n}\n\n//# sourceMappingURL=deployment-id.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL2RlcGxveW1lbnQtaWQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixxRUFBb0U7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBLFFBQVEsS0FBOEIsRUFBRSxFQUVuQztBQUNMO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9kZXBsb3ltZW50LWlkLmpzP2FhZDgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmdcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZztcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZygpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEKSB7XG4gICAgICAgIHJldHVybiBgP2RwbD0ke3Byb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRH1gO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVwbG95bWVudC1pZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/deployment-id.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/polyfills/polyfill-module.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/build/polyfills/polyfill-module.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\"trimStart\"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),\"trimEnd\"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),\"description\"in Symbol.prototype||Object.defineProperty(Symbol.prototype,\"description\",{configurable:!0,get:function(){var t=/\\((.*)\\)/.exec(this.toString());return t?t[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(t,r){return r=this.concat.apply([],this),t>1&&r.some(Array.isArray)?r.flat(t-1):r},Array.prototype.flatMap=function(t,r){return this.map(t,r).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(t){if(\"function\"!=typeof t)return this.then(t,t);var r=this.constructor||Promise;return this.then(function(n){return r.resolve(t()).then(function(){return n})},function(n){return r.resolve(t()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(t){return Array.from(t).reduce(function(t,r){return t[r[0]]=r[1],t},{})}),Array.prototype.at||(Array.prototype.at=function(t){var r=Math.trunc(t)||0;if(r<0&&(r+=this.length),!(r<0||r>=this.length))return this[r]}),Object.hasOwn||(Object.hasOwn=function(t,r){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");return Object.prototype.hasOwnProperty.call(Object(t),r)});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3BvbHlmaWxscy9wb2x5ZmlsbC1tb2R1bGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsbVFBQW1RLCtCQUErQix1Q0FBdUMsc0JBQXNCLDREQUE0RCw2RUFBNkUsdUNBQXVDLDRCQUE0QixvRUFBb0UsOENBQThDLGdDQUFnQyw2QkFBNkIsc0NBQXNDLFNBQVMsRUFBRSxhQUFhLHNDQUFzQyxRQUFRLEVBQUUsRUFBRSxzREFBc0QsMENBQTBDLHNCQUFzQixHQUFHLEVBQUUsc0RBQXNELHVCQUF1QiwrREFBK0QsOENBQThDLDZFQUE2RSx5REFBeUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9wb2x5ZmlsbHMvcG9seWZpbGwtbW9kdWxlLmpzPzY5YzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ0cmltU3RhcnRcImluIFN0cmluZy5wcm90b3R5cGV8fChTdHJpbmcucHJvdG90eXBlLnRyaW1TdGFydD1TdHJpbmcucHJvdG90eXBlLnRyaW1MZWZ0KSxcInRyaW1FbmRcImluIFN0cmluZy5wcm90b3R5cGV8fChTdHJpbmcucHJvdG90eXBlLnRyaW1FbmQ9U3RyaW5nLnByb3RvdHlwZS50cmltUmlnaHQpLFwiZGVzY3JpcHRpb25cImluIFN5bWJvbC5wcm90b3R5cGV8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTeW1ib2wucHJvdG90eXBlLFwiZGVzY3JpcHRpb25cIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciB0PS9cXCgoLiopXFwpLy5leGVjKHRoaXMudG9TdHJpbmcoKSk7cmV0dXJuIHQ/dFsxXTp2b2lkIDB9fSksQXJyYXkucHJvdG90eXBlLmZsYXR8fChBcnJheS5wcm90b3R5cGUuZmxhdD1mdW5jdGlvbih0LHIpe3JldHVybiByPXRoaXMuY29uY2F0LmFwcGx5KFtdLHRoaXMpLHQ+MSYmci5zb21lKEFycmF5LmlzQXJyYXkpP3IuZmxhdCh0LTEpOnJ9LEFycmF5LnByb3RvdHlwZS5mbGF0TWFwPWZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMubWFwKHQscikuZmxhdCgpfSksUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KFByb21pc2UucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24odCl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgdClyZXR1cm4gdGhpcy50aGVuKHQsdCk7dmFyIHI9dGhpcy5jb25zdHJ1Y3Rvcnx8UHJvbWlzZTtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiByLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sZnVuY3Rpb24obil7cmV0dXJuIHIucmVzb2x2ZSh0KCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyBufSl9KX0pLE9iamVjdC5mcm9tRW50cmllc3x8KE9iamVjdC5mcm9tRW50cmllcz1mdW5jdGlvbih0KXtyZXR1cm4gQXJyYXkuZnJvbSh0KS5yZWR1Y2UoZnVuY3Rpb24odCxyKXtyZXR1cm4gdFtyWzBdXT1yWzFdLHR9LHt9KX0pLEFycmF5LnByb3RvdHlwZS5hdHx8KEFycmF5LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXt2YXIgcj1NYXRoLnRydW5jKHQpfHwwO2lmKHI8MCYmKHIrPXRoaXMubGVuZ3RoKSwhKHI8MHx8cj49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW3JdfSksT2JqZWN0Lmhhc093bnx8KE9iamVjdC5oYXNPd249ZnVuY3Rpb24odCxyKXtpZihudWxsPT10KXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY29udmVydCB1bmRlZmluZWQgb3IgbnVsbCB0byBvYmplY3RcIik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChPYmplY3QodCkscil9KTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/polyfills/polyfill-module.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/add-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/add-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBS2dCQTs7O2VBQUFBOzs7MkNBTGM7b0RBQ2E7QUFFM0MsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZLEVBQUVDLFFBQWtCO0lBQzFELE9BQU9DLENBQUFBLEdBQUFBLHdCQUFBQSwwQkFBMEIsRUFDL0JMLE1BQStDSSxHQUMzQ0QsQ0FBQUEsR0FDQUksQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDSixNQUFNSjtBQUU1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9hZGQtYmFzZS1wYXRoLnRzPzUxNzEiXSwibmFtZXMiOlsiYWRkQmFzZVBhdGgiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInJlcXVpcmVkIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJhZGRQYXRoUHJlZml4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/add-locale.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/client/add-locale.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBR2FBOzs7ZUFBQUE7OztvREFGOEI7QUFFcEMsTUFBTUEsWUFBdUIsU0FBQ0MsSUFBQUE7cUNBQVNDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLElBQUFBLE9BQUFBLElBQUFBLElBQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1FBQUFBLElBQUFBLENBQUFBLE9BQUFBLEVBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztJQUM1QyxJQUFJQyxLQUErQixFQUFFLEVBSXJDO0lBQ0EsT0FBT0Y7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9hZGQtbG9jYWxlLnRzP2ZhYWUiXSwibmFtZXMiOlsiYWRkTG9jYWxlIiwicGF0aCIsImFyZ3MiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwicmVxdWlyZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return CodeFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst CodeFrame = function CodeFrame(param) {\n _s();\n let { stackFrame, codeFrame } = param;\n // Strip leading spaces out of the code frame:\n const formattedFrame = _react.useMemo(()=>{\n const lines = codeFrame.split(/\\r?\\n/g);\n // Find the minimum length of leading spaces after `|` in the code frame\n const miniLeadingSpacesLength = lines.map((line)=>/^>? +\\d+ +\\| [ ]+/.exec((0, _stripansi.default)(line)) === null ? null : /^>? +\\d+ +\\| ( *)/.exec((0, _stripansi.default)(line))).filter(Boolean).map((v)=>v.pop()).reduce((c, n)=>isNaN(c) ? n.length : Math.min(c, n.length), NaN);\n // When the minimum length of leading spaces is greater than 1, remove them\n // from the code frame to help the indentation looks better when there's a lot leading spaces.\n if (miniLeadingSpacesLength > 1) {\n return lines.map((line, a)=>~(a = line.indexOf(\"|\")) ? line.substring(0, a) + line.substring(a).replace(\"^\\\\ {\" + miniLeadingSpacesLength + \"}\", \"\") : line).join(\"\\n\");\n }\n return lines.join(\"\\n\");\n }, [\n codeFrame\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n formattedFrame\n ]);\n const open = (0, _useopenineditor.useOpenInEditor)({\n file: stackFrame.file,\n lineNumber: stackFrame.lineNumber,\n column: stackFrame.column\n });\n // TODO: make the caret absolute\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-codeframe\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n role: \"link\",\n onClick: open,\n tabIndex: 1,\n title: \"Click to open in your editor\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n (0, _stackframe.getFrameSource)(stackFrame),\n \" @\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: stackFrame.methodName\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n children: decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: entry.content\n }, \"frame-\" + index))\n })\n ]\n });\n};\n_s(CodeFrame, \"4Gt+UceGaRqMOFv99GzJu8D2nx8=\");\n_c = CodeFrame;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CodeFrame.js.map\nvar _c;\n$RefreshReg$(_c, \"CodeFrame\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7NkNBVWFBOzs7ZUFBQUE7Ozs7Ozs0RUFWSzs2RUFDSztnRkFFRDt3Q0FDUzs2Q0FDQzsyQ0FDRjtBQUl2QixNQUFNQSxZQUFzQyxTQUFTQSxVQUFVQyxLQUdyRTs7SUFIcUUsTUFDcEVDLFVBQVUsRUFDVkMsU0FBUyxFQUNWLEdBSHFFRjtJQUlwRSw4Q0FBOEM7SUFDOUMsTUFBTUcsaUJBQWlCQyxPQUFNQyxPQUFPLENBQVM7UUFDM0MsTUFBTUMsUUFBUUosVUFBVUssS0FBSyxDQUFDO1FBRTlCLHdFQUF3RTtRQUN4RSxNQUFNQywwQkFBMEJGLE1BQzdCRyxHQUFHLENBQUMsQ0FBQ0MsT0FDSixvQkFBb0JDLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRixXQUFXLE9BQzFDLE9BQ0Esb0JBQW9CQyxJQUFJLENBQUNDLENBQUFBLEdBQUFBLFdBQUFBLE9BQVMsRUFBQ0YsUUFFeENHLE1BQU0sQ0FBQ0MsU0FDUEwsR0FBRyxDQUFDLENBQUNNLElBQU1BLEVBQUdDLEdBQUcsSUFDakJDLE1BQU0sQ0FBQyxDQUFDQyxHQUFHQyxJQUFPQyxNQUFNRixLQUFLQyxFQUFFRSxNQUFNLEdBQUdDLEtBQUtDLEdBQUcsQ0FBQ0wsR0FBR0MsRUFBRUUsTUFBTSxHQUFJRztRQUVuRSwyRUFBMkU7UUFDM0UsOEZBQThGO1FBQzlGLElBQUloQiwwQkFBMEIsR0FBRztZQUMvQixPQUFPRixNQUNKRyxHQUFHLENBQUMsQ0FBQ0MsTUFBTWUsSUFDVixDQUFFQSxDQUFBQSxJQUFJZixLQUFLZ0IsT0FBTyxDQUFDLFFBQ2ZoQixLQUFLaUIsU0FBUyxDQUFDLEdBQUdGLEtBQ2xCZixLQUFLaUIsU0FBUyxDQUFDRixHQUFHRyxPQUFPLENBQUMsVUFBUXBCLDBCQUF3QixLQUFJLE1BQzlERSxNQUVMbUIsSUFBSSxDQUFDO1FBQ1Y7UUFDQSxPQUFPdkIsTUFBTXVCLElBQUksQ0FBQztJQUNwQixHQUFHO1FBQUMzQjtLQUFVO0lBRWQsTUFBTTRCLFVBQVUxQixPQUFNQyxPQUFPLENBQUM7UUFDNUIsT0FBTzBCLE9BQUFBLE9BQUssQ0FBQ0MsVUFBVSxDQUFDN0IsZ0JBQWdCO1lBQ3RDOEIsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLGNBQWM7UUFDaEI7SUFDRixHQUFHO1FBQUNoQztLQUFlO0lBRW5CLE1BQU1pQyxPQUFPQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDO1FBQzNCQyxNQUFNckMsV0FBV3FDLElBQUk7UUFDckJDLFlBQVl0QyxXQUFXc0MsVUFBVTtRQUNqQ0MsUUFBUXZDLFdBQVd1QyxNQUFNO0lBQzNCO0lBRUEsZ0NBQWdDO0lBQ2hDLE9BQ0UsV0FERixHQUNFLElBQUFDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFBSUMseUJBQXFCOzswQkFDeEIsSUFBQUgsWUFBQUksR0FBQSxFQUFDRixPQUFBQTswQkFDQyxrQkFBQUYsWUFBQUMsSUFBQSxFQUFDSSxLQUFBQTtvQkFDQ0MsTUFBSztvQkFDTEMsU0FBU1o7b0JBQ1RhLFVBQVU7b0JBQ1ZDLE9BQU07O3NDQUVOLElBQUFULFlBQUFDLElBQUEsRUFBQ1MsUUFBQUE7O2dDQUNFQyxDQUFBQSxHQUFBQSxZQUFBQSxjQUFjLEVBQUNuRDtnQ0FBWTtnQ0FBRzs4Q0FDL0IsSUFBQXdDLFlBQUFJLEdBQUEsRUFBQ1EsZUFBQUEsYUFBYTtvQ0FBQ0MsTUFBTXJELFdBQVdzRCxVQUFVOzs7O3NDQUU1QyxJQUFBZCxZQUFBQyxJQUFBLEVBQUNjLE9BQUFBOzRCQUNDQyxPQUFNOzRCQUNOQyxTQUFROzRCQUNSQyxNQUFLOzRCQUNMQyxRQUFPOzRCQUNQQyxhQUFZOzRCQUNaQyxlQUFjOzRCQUNkQyxnQkFBZTs7OENBRWYsSUFBQXRCLFlBQUFJLEdBQUEsRUFBQ21CLFFBQUFBO29DQUFLQyxHQUFFOzs4Q0FDUixJQUFBeEIsWUFBQUksR0FBQSxFQUFDcUIsWUFBQUE7b0NBQVNDLFFBQU87OzhDQUNqQixJQUFBMUIsWUFBQUksR0FBQSxFQUFDbkMsUUFBQUE7b0NBQUswRCxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHOzs7Ozs7OzBCQUl2QyxJQUFBOUIsWUFBQUksR0FBQSxFQUFDMkIsT0FBQUE7MEJBQ0UxQyxRQUFRckIsR0FBRyxDQUFDLENBQUNnRSxPQUFPQyxRQUNuQixXQURtQkEsR0FDbkIsSUFBQWpDLFlBQUFJLEdBQUEsRUFBQ00sUUFBQUE7d0JBRUN3QixPQUFPOzRCQUNMQyxPQUFPSCxNQUFNSSxFQUFFLEdBQUcsaUJBQWVKLE1BQU1JLEVBQUUsR0FBQyxNQUFLQzs0QkFDL0MsR0FBSUwsTUFBTU0sVUFBVSxLQUFLLFNBQ3JCO2dDQUFFQyxZQUFZOzRCQUFJLElBQ2xCUCxNQUFNTSxVQUFVLEtBQUssV0FDckI7Z0NBQUVFLFdBQVc7NEJBQVMsSUFDdEJILFNBQVM7d0JBQ2Y7a0NBRUNMLE1BQU1TLE9BQU87dUJBVlQsV0FBU1I7Ozs7QUFnQjFCO0dBaEdhM0U7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9Db2RlRnJhbWUudHN4P2I3OGIiXSwibmFtZXMiOlsiQ29kZUZyYW1lIiwicGFyYW0iLCJzdGFja0ZyYW1lIiwiY29kZUZyYW1lIiwiZm9ybWF0dGVkRnJhbWUiLCJSZWFjdCIsInVzZU1lbW8iLCJsaW5lcyIsInNwbGl0IiwibWluaUxlYWRpbmdTcGFjZXNMZW5ndGgiLCJtYXAiLCJsaW5lIiwiZXhlYyIsInN0cmlwQW5zaSIsImZpbHRlciIsIkJvb2xlYW4iLCJ2IiwicG9wIiwicmVkdWNlIiwiYyIsIm4iLCJpc05hTiIsImxlbmd0aCIsIk1hdGgiLCJtaW4iLCJOYU4iLCJhIiwiaW5kZXhPZiIsInN1YnN0cmluZyIsInJlcGxhY2UiLCJqb2luIiwiZGVjb2RlZCIsIkFuc2VyIiwiYW5zaVRvSnNvbiIsImpzb24iLCJ1c2VfY2xhc3NlcyIsInJlbW92ZV9lbXB0eSIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWNvZGVmcmFtZSIsImpzeCIsInAiLCJyb2xlIiwib25DbGljayIsInRhYkluZGV4IiwidGl0bGUiLCJzcGFuIiwiZ2V0RnJhbWVTb3VyY2UiLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsIm1ldGhvZE5hbWUiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJwYXRoIiwiZCIsInBvbHlsaW5lIiwicG9pbnRzIiwieDEiLCJ5MSIsIngyIiwieTIiLCJwcmUiLCJlbnRyeSIsImluZGV4Iiwic3R5bGUiLCJjb2xvciIsImZnIiwidW5kZWZpbmVkIiwiZGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJmb250U3R5bGUiLCJjb250ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return _CodeFrame.CodeFrame;\n }\n}));\nconst _CodeFrame = __webpack_require__(/*! ./CodeFrame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBQVNBOzs7ZUFBQUEsV0FBQUEsU0FBUzs7O3VDQUFRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Db2RlRnJhbWUvaW5kZXgudHN4PzRlN2QiXSwibmFtZXMiOlsiQ29kZUZyYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js": -/*!************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js ***! - \************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-codeframe] {\\n overflow: auto;\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-codeframe]::selection,\\n [data-nextjs-codeframe] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-codeframe] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n\\n [data-nextjs-codeframe] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n [data-nextjs-codeframe] > div {\\n display: inline-block;\\n width: auto;\\n min-width: 100%;\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n }\\n [data-nextjs-codeframe] > div > p {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n cursor: pointer;\\n margin: 0;\\n }\\n [data-nextjs-codeframe] > div > p:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-codeframe] div > p > svg {\\n width: auto;\\n height: 1em;\\n margin-left: 8px;\\n }\\n [data-nextjs-codeframe] div > pre {\\n overflow: hidden;\\n display: inline-block;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW1EU0E7OztlQUFBQTs7OzswQ0FuRG1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9zdHlsZXMudHN4P2QyNzEiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js ***! - \*********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Dialog\", ({\n enumerable: true,\n get: function() {\n return Dialog;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _useonclickoutside = __webpack_require__(/*! ../../hooks/use-on-click-outside */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\");\nconst Dialog = function Dialog(param) {\n _s();\n let { children, type, onClose, ...props } = param;\n const [dialog, setDialog] = _react.useState(null);\n const [role, setRole] = _react.useState(typeof document !== \"undefined\" && document.hasFocus() ? \"dialog\" : undefined);\n const onDialog = _react.useCallback((node)=>{\n setDialog(node);\n }, []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, (e)=>{\n e.preventDefault();\n return onClose == null ? void 0 : onClose();\n });\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect(()=>{\n if (dialog == null) {\n return;\n }\n const root = dialog.getRootNode();\n // Always true, but we do this for TypeScript:\n if (!(root instanceof ShadowRoot)) {\n return;\n }\n const shadowRoot = root;\n function handler(e) {\n const el = shadowRoot.activeElement;\n if (e.key === \"Enter\" && el instanceof HTMLElement && el.getAttribute(\"role\") === \"link\") {\n e.preventDefault();\n e.stopPropagation();\n el.click();\n }\n }\n function handleFocus() {\n // safari will force itself as the active application when a background page triggers any sort of autofocus\n // this is a workaround to only set the dialog role if the document has focus\n setRole(document.hasFocus() ? \"dialog\" : undefined);\n }\n shadowRoot.addEventListener(\"keydown\", handler);\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleFocus);\n return ()=>{\n shadowRoot.removeEventListener(\"keydown\", handler);\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleFocus);\n };\n }, [\n dialog\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n ref: onDialog,\n \"data-nextjs-dialog\": true,\n tabIndex: -1,\n role: role,\n \"aria-labelledby\": props[\"aria-labelledby\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-modal\": \"true\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-banner\": true,\n className: \"banner-\" + type\n }),\n children\n ]\n });\n};\n_s(Dialog, \"2HYcMztUKT19xxjUDXr42PZl9rE=\");\n_c = Dialog;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Dialog.js.map\nvar _c;\n$RefreshReg$(_c, \"Dialog\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MENBMEZTQTs7O2VBQUFBOzs7Ozs2RUExRmM7K0NBQ1c7QUFVbEMsTUFBTUEsU0FBZ0MsU0FBU0EsT0FBT0MsS0FLckQ7O0lBTHFELE1BQ3BEQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osR0FMcURKO0lBTXBELE1BQU0sQ0FBQ0ssUUFBUUMsVUFBVSxHQUFHQyxPQUFNQyxRQUFRLENBQXdCO0lBQ2xFLE1BQU0sQ0FBQ0MsTUFBTUMsUUFBUSxHQUFHSCxPQUFNQyxRQUFRLENBQ3BDLE9BQU9HLGFBQWEsZUFBZUEsU0FBU0MsUUFBUSxLQUNoRCxXQUNBQztJQUVOLE1BQU1DLFdBQVdQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNsQ1YsVUFBVVU7SUFDWixHQUFHLEVBQUU7SUFDTEMsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDWixRQUFRLENBQUNhO1FBQ3pCQSxFQUFFQyxjQUFjO1FBQ2hCLE9BQU9oQixXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQTtJQUNUO0lBRUEsdUVBQXVFO0lBQ3ZFLDBCQUEwQjtJQUMxQkksT0FBTWEsU0FBUyxDQUFDO1FBQ2QsSUFBSWYsVUFBVSxNQUFNO1lBQ2xCO1FBQ0Y7UUFFQSxNQUFNZ0IsT0FBT2hCLE9BQU9pQixXQUFXO1FBQy9CLDhDQUE4QztRQUM5QyxJQUFJLENBQUVELENBQUFBLGdCQUFnQkUsVUFBQUEsR0FBYTtZQUNqQztRQUNGO1FBQ0EsTUFBTUMsYUFBYUg7UUFDbkIsU0FBU0ksUUFBUVAsQ0FBZ0I7WUFDL0IsTUFBTVEsS0FBS0YsV0FBV0csYUFBYTtZQUNuQyxJQUNFVCxFQUFFVSxHQUFHLEtBQUssV0FDVkYsY0FBY0csZUFDZEgsR0FBR0ksWUFBWSxDQUFDLFlBQVksUUFDNUI7Z0JBQ0FaLEVBQUVDLGNBQWM7Z0JBQ2hCRCxFQUFFYSxlQUFlO2dCQUVqQkwsR0FBR00sS0FBSztZQUNWO1FBQ0Y7UUFFQSxTQUFTQztZQUNQLDJHQUEyRztZQUMzRyw2RUFBNkU7WUFDN0V2QixRQUFRQyxTQUFTQyxRQUFRLEtBQUssV0FBV0M7UUFDM0M7UUFFQVcsV0FBV1UsZ0JBQWdCLENBQUMsV0FBV1Q7UUFDdkNVLE9BQU9ELGdCQUFnQixDQUFDLFNBQVNEO1FBQ2pDRSxPQUFPRCxnQkFBZ0IsQ0FBQyxRQUFRRDtRQUNoQyxPQUFPO1lBQ0xULFdBQVdZLG1CQUFtQixDQUFDLFdBQVdYO1lBQzFDVSxPQUFPQyxtQkFBbUIsQ0FBQyxTQUFTSDtZQUNwQ0UsT0FBT0MsbUJBQW1CLENBQUMsUUFBUUg7UUFDckM7SUFDRixHQUFHO1FBQUM1QjtLQUFPO0lBRVgsT0FDRSxXQURGLEdBQ0UsSUFBQWdDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsS0FBSzFCO1FBQ0wyQixzQkFBa0I7UUFDbEJDLFVBQVUsQ0FBQztRQUNYakMsTUFBTUE7UUFDTmtDLG1CQUFpQnZDLEtBQUssQ0FBQyxrQkFBa0I7UUFDekN3QyxvQkFBa0J4QyxLQUFLLENBQUMsbUJBQW1CO1FBQzNDeUMsY0FBVzs7MEJBRVgsSUFBQVIsWUFBQVMsR0FBQSxFQUFDUCxPQUFBQTtnQkFBSVEsNkJBQXlCO2dCQUFDQyxXQUFXLFlBQVU5Qzs7WUFDbkREOzs7QUFHUDtHQTdFTUY7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2cudHN4P2U0N2QiXSwibmFtZXMiOlsiRGlhbG9nIiwicGFyYW0iLCJjaGlsZHJlbiIsInR5cGUiLCJvbkNsb3NlIiwicHJvcHMiLCJkaWFsb2ciLCJzZXREaWFsb2ciLCJSZWFjdCIsInVzZVN0YXRlIiwicm9sZSIsInNldFJvbGUiLCJkb2N1bWVudCIsImhhc0ZvY3VzIiwidW5kZWZpbmVkIiwib25EaWFsb2ciLCJ1c2VDYWxsYmFjayIsIm5vZGUiLCJ1c2VPbkNsaWNrT3V0c2lkZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInVzZUVmZmVjdCIsInJvb3QiLCJnZXRSb290Tm9kZSIsIlNoYWRvd1Jvb3QiLCJzaGFkb3dSb290IiwiaGFuZGxlciIsImVsIiwiYWN0aXZlRWxlbWVudCIsImtleSIsIkhUTUxFbGVtZW50IiwiZ2V0QXR0cmlidXRlIiwic3RvcFByb3BhZ2F0aW9uIiwiY2xpY2siLCJoYW5kbGVGb2N1cyIsImFkZEV2ZW50TGlzdGVuZXIiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwicmVmIiwiZGF0YS1uZXh0anMtZGlhbG9nIiwidGFiSW5kZXgiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYS1tb2RhbCIsImpzeCIsImRhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXIiLCJjbGFzc05hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogBody\", ({\n enumerable: true,\n get: function() {\n return DialogBody;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst DialogBody = function DialogBody(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-body\": true,\n className: className,\n children: children\n });\n};\n_c = DialogBody;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogBody.js.map\nvar _c;\n$RefreshReg$(_c, \"DialogBody\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxhQUF3QyxTQUFTQSxXQUFXQyxLQUdqRTtJQUhpRSxNQUNoRUMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FIaUVGO0lBSWhFLE9BQ0UsV0FERixHQUNFLElBQUFHLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFBSUMsMkJBQXVCO1FBQUNKLFdBQVdBO2tCQUNyQ0Q7O0FBR1A7S0FUTUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2dCb2R5LnRzeD8yYTJkIl0sIm5hbWVzIjpbIkRpYWxvZ0JvZHkiLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJkaXYiLCJkYXRhLW5leHRqcy1kaWFsb2ctYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js": -/*!****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js ***! - \****************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogContent\", ({\n enumerable: true,\n get: function() {\n return DialogContent;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst DialogContent = function DialogContent(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-content\": true,\n className: className,\n children: children\n });\n};\n_c = DialogContent;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogContent.js.map\nvar _c;\n$RefreshReg$(_c, \"DialogContent\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxnQkFBOEMsU0FBU0EsY0FBY0MsS0FHMUU7SUFIMEUsTUFDekVDLFFBQVEsRUFDUkMsU0FBUyxFQUNWLEdBSDBFRjtJQUl6RSxPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxHQUFBLEVBQUNDLE9BQUFBO1FBQUlDLDhCQUEwQjtRQUFDSixXQUFXQTtrQkFDeENEOztBQUdQO0tBVE1GIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQ29udGVudC50c3g/ZGQ3YyJdLCJuYW1lcyI6WyJEaWFsb2dDb250ZW50IiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIl9qc3hydW50aW1lIiwianN4IiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWNvbnRlbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogHeader\", ({\n enumerable: true,\n get: function() {\n return DialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst DialogHeader = function DialogHeader(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-header\": true,\n className: className,\n children: children\n });\n};\n_c = DialogHeader;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogHeader.js.map\nvar _c;\n$RefreshReg$(_c, \"DialogHeader\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQWtCU0E7OztlQUFBQTs7Ozs7NkVBbEJjO0FBT3ZCLE1BQU1BLGVBQTRDLFNBQVNBLGFBQWFDLEtBR3ZFO0lBSHVFLE1BQ3RFQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVixHQUh1RUY7SUFJdEUsT0FDRSxXQURGLEdBQ0UsSUFBQUcsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtRQUFJQyw2QkFBeUI7UUFBQ0osV0FBV0E7a0JBQ3ZDRDs7QUFHUDtLQVRNRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci50c3g/NDZmOCJdLCJuYW1lcyI6WyJEaWFsb2dIZWFkZXIiLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJkaXYiLCJkYXRhLW5leHRqcy1kaWFsb2ctaGVhZGVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Dialog: function() {\n return _Dialog.Dialog;\n },\n DialogBody: function() {\n return _DialogBody.DialogBody;\n },\n DialogContent: function() {\n return _DialogContent.DialogContent;\n },\n DialogHeader: function() {\n return _DialogHeader.DialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _Dialog = __webpack_require__(/*! ./Dialog */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\");\nconst _DialogBody = __webpack_require__(/*! ./DialogBody */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\");\nconst _DialogContent = __webpack_require__(/*! ./DialogContent */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\");\nconst _DialogHeader = __webpack_require__(/*! ./DialogHeader */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxRQUFNO2VBQU5BLFFBQUFBLE1BQU07O0lBQ05DLFlBQVU7ZUFBVkEsWUFBQUEsVUFBVTs7SUFDVkMsZUFBYTtlQUFiQSxlQUFBQSxhQUFhOztJQUNiQyxjQUFZO2VBQVpBLGNBQUFBLFlBQVk7O0lBQ1pDLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7O29DQUpRO3dDQUNJOzJDQUNHOzBDQUNEO29DQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvaW5kZXgudHM/OWYzNyJdLCJuYW1lcyI6WyJEaWFsb2ciLCJEaWFsb2dCb2R5IiwiRGlhbG9nQ29udGVudCIsIkRpYWxvZ0hlYWRlciIsInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js ***! - \*********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog] {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n outline: none;\\n background: var(--color-background);\\n border-radius: var(--size-gap);\\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\\n rgba(0, 0, 0, 0.25);\\n max-height: calc(100% - 56px);\\n overflow-y: hidden;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n max-height: calc(100% - 15px);\\n }\\n }\\n\\n @media (min-width: 576px) {\\n [data-nextjs-dialog] {\\n max-width: 540px;\\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\\n }\\n }\\n\\n @media (min-width: 768px) {\\n [data-nextjs-dialog] {\\n max-width: 720px;\\n }\\n }\\n\\n @media (min-width: 992px) {\\n [data-nextjs-dialog] {\\n max-width: 960px;\\n }\\n }\\n\\n [data-nextjs-dialog-banner] {\\n position: relative;\\n }\\n [data-nextjs-dialog-banner].banner-warning {\\n border-color: var(--color-ansi-yellow);\\n }\\n [data-nextjs-dialog-banner].banner-error {\\n border-color: var(--color-ansi-red);\\n }\\n\\n [data-nextjs-dialog-banner]::after {\\n z-index: 2;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 100%;\\n /* banner width: */\\n border-top-width: var(--size-gap-half);\\n border-bottom-width: 0;\\n border-top-style: solid;\\n border-bottom-style: solid;\\n border-top-color: inherit;\\n border-bottom-color: transparent;\\n }\\n\\n [data-nextjs-dialog-content] {\\n overflow-y: auto;\\n border: none;\\n margin: 0;\\n /* calc(padding + banner width offset) */\\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\\n var(--size-gap-double);\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\\n flex-shrink: 0;\\n margin-bottom: var(--size-gap-double);\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\\n position: relative;\\n flex: 1 1 auto;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7OzswQ0ExRm1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9zdHlsZXMudHM/MDkwMiJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": -/*!***************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! - \***************************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"LeftRightDialogHeader\", ({\n enumerable: true,\n get: function() {\n return LeftRightDialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _CloseIcon = __webpack_require__(/*! ../../icons/CloseIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst LeftRightDialogHeader = function LeftRightDialogHeader(param) {\n _s();\n let { children, className, previous, next, close } = param;\n const buttonLeft = _react.useRef(null);\n const buttonRight = _react.useRef(null);\n const buttonClose = _react.useRef(null);\n const [nav, setNav] = _react.useState(null);\n const onNav = _react.useCallback((el)=>{\n setNav(el);\n }, []);\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n const d = self.document;\n function handler(e) {\n if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (a && a !== buttonClose.current && a instanceof HTMLElement) {\n a.blur();\n return;\n }\n }\n close == null ? void 0 : close();\n }\n }\n root.addEventListener(\"keydown\", handler);\n if (root !== d) {\n d.addEventListener(\"keydown\", handler);\n }\n return function() {\n root.removeEventListener(\"keydown\", handler);\n if (root !== d) {\n d.removeEventListener(\"keydown\", handler);\n }\n };\n }, [\n close,\n nav,\n next,\n previous\n ]);\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (previous == null) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur();\n }\n } else if (next == null) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur();\n }\n }\n }\n }, [\n nav,\n next,\n previous\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-left-right\": true,\n className: className,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"nav\", {\n ref: onNav,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonLeft,\n type: \"button\",\n disabled: previous == null ? true : undefined,\n \"aria-disabled\": previous == null ? true : undefined,\n onClick: previous != null ? previous : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"previous\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonRight,\n type: \"button\",\n disabled: next == null ? true : undefined,\n \"aria-disabled\": next == null ? true : undefined,\n onClick: next != null ? next : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"next\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n children\n ]\n }),\n close ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-errors-dialog-left-right-close-button\": true,\n ref: buttonClose,\n type: \"button\",\n onClick: close,\n \"aria-label\": \"Close\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"aria-hidden\": \"true\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n }) : null\n ]\n });\n};\n_s(LeftRightDialogHeader, \"BTIclYWDjFVmQ0IbTZR6SGMkDDk=\");\n_c = LeftRightDialogHeader;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=LeftRightDialogHeader.js.map\nvar _c;\n$RefreshReg$(_c, \"LeftRightDialogHeader\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7eURBd0tTQTs7O2VBQUFBOzs7Ozs2RUF4S2M7dUNBQ0c7QUFVMUIsTUFBTUEsd0JBQ0osU0FBU0Esc0JBQXNCQyxLQU05Qjs7SUFOOEIsTUFDN0JDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsS0FBSyxFQUNOLEdBTjhCTDtJQU83QixNQUFNTSxhQUFhQyxPQUFNQyxNQUFNLENBQTJCO0lBQzFELE1BQU1DLGNBQWNGLE9BQU1DLE1BQU0sQ0FBMkI7SUFDM0QsTUFBTUUsY0FBY0gsT0FBTUMsTUFBTSxDQUEyQjtJQUUzRCxNQUFNLENBQUNHLEtBQUtDLE9BQU8sR0FBR0wsT0FBTU0sUUFBUSxDQUFxQjtJQUN6RCxNQUFNQyxRQUFRUCxPQUFNUSxXQUFXLENBQUMsQ0FBQ0M7UUFDL0JKLE9BQU9JO0lBQ1QsR0FBRyxFQUFFO0lBRUxULE9BQU1VLFNBQVMsQ0FBQztRQUNkLElBQUlOLE9BQU8sTUFBTTtZQUNmO1FBQ0Y7UUFFQSxNQUFNTyxPQUFPUCxJQUFJUSxXQUFXO1FBQzVCLE1BQU1DLElBQUlDLEtBQUtDLFFBQVE7UUFFdkIsU0FBU0MsUUFBUUMsQ0FBZ0I7WUFDL0IsSUFBSUEsRUFBRUMsR0FBRyxLQUFLLGFBQWE7Z0JBQ3pCRCxFQUFFRSxjQUFjO2dCQUNoQkYsRUFBRUcsZUFBZTtnQkFDakIsSUFBSXJCLFdBQVdzQixPQUFPLEVBQUU7b0JBQ3RCdEIsV0FBV3NCLE9BQU8sQ0FBQ0MsS0FBSztnQkFDMUI7Z0JBQ0ExQixZQUFZQTtZQUNkLE9BQU8sSUFBSXFCLEVBQUVDLEdBQUcsS0FBSyxjQUFjO2dCQUNqQ0QsRUFBRUUsY0FBYztnQkFDaEJGLEVBQUVHLGVB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LElBQUFmLFlBQUFLLEdBQUEsRUFBQ1csU0FBQUE7OENBQU07OzhDQUNQLElBQUFoQixZQUFBSyxHQUFBLEVBQUNZLFFBQUFBO29DQUNDbEMsR0FBRTtvQ0FDRm1DLFFBQU87b0NBQ1BDLGFBQVk7b0NBQ1pDLGVBQWM7b0NBQ2RDLGdCQUFlOzs7OztvQkFJcEJ6RDs7O1lBRUZJLFFBQ0MsV0FEREEsR0FDQyxJQUFBZ0MsWUFBQUssR0FBQSxFQUFDQyxVQUFBQTtnQkFDQ2dCLHFEQUFpRDtnQkFDakRsQixLQUFLL0I7Z0JBQ0xrQyxNQUFLO2dCQUNMSSxTQUFTM0M7Z0JBQ1R1RCxjQUFXOzBCQUVYLGtCQUFBdkIsWUFBQUssR0FBQSxFQUFDbUIsUUFBQUE7b0JBQUtDLGVBQVk7OEJBQ2hCLGtCQUFBekIsWUFBQUssR0FBQSxFQUFDcUIsV0FBQUEsU0FBUzs7aUJBR1o7OztBQUdWO0dBM0pJaEU7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9MZWZ0UmlnaHREaWFsb2dIZWFkZXIudHN4PzQxMjEiXSwibmFtZXMiOlsiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsInByZXZpb3VzIiwibmV4dCIsImNsb3NlIiwiYnV0dG9uTGVmdCIsIlJlYWN0IiwidXNlUmVmIiwiYnV0dG9uUmlnaHQiLCJidXR0b25DbG9zZSIsIm5hdiIsInNldE5hdiIsInVzZVN0YXRlIiwib25OYXYiLCJ1c2VDYWxsYmFjayIsImVsIiwidXNlRWZmZWN0Iiwicm9vdCIsImdldFJvb3ROb2RlIiwiZCIsInNlbGYiLCJkb2N1bWVudCIsImhhbmRsZXIiLCJlIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJjdXJyZW50IiwiZm9jdXMiLCJTaGFkb3dSb290IiwiYSIsImFjdGl2ZUVsZW1lbnQiLCJIVE1MRWxlbWVudCIsImJsdXIiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0IiwicmVmIiwianN4IiwiYnV0dG9uIiwidHlwZSIsImRpc2FibGVkIiwidW5kZWZpbmVkIiwiYXJpYS1kaXNhYmxlZCIsIm9uQ2xpY2siLCJzdmciLCJ2aWV3Qm94IiwiZmlsbCIsInhtbG5zIiwidGl0bGUiLCJwYXRoIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkYXRhLW5leHRqcy1lcnJvcnMtZGlhbG9nLWxlZnQtcmlnaHQtY2xvc2UtYnV0dG9uIiwiYXJpYS1sYWJlbCIsInNwYW4iLCJhcmlhLWhpZGRlbiIsIkNsb3NlSWNvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js ***! - \***********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n LeftRightDialogHeader: function() {\n return _LeftRightDialogHeader.LeftRightDialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _LeftRightDialogHeader = __webpack_require__(/*! ./LeftRightDialogHeader */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSx1QkFBcUI7ZUFBckJBLHVCQUFBQSxxQkFBcUI7O0lBQ3JCQyxRQUFNO2VBQU5BLFFBQUFBLE1BQU07OzttREFEdUI7b0NBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9pbmRleC50cz82MTMzIl0sIm5hbWVzIjpbIkxlZnRSaWdodERpYWxvZ0hlYWRlciIsInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js": -/*!************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js ***! - \************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-left-right] {\\n display: flex;\\n flex-direction: row;\\n align-content: center;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-nextjs-dialog-left-right] > nav {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-dialog-left-right] > nav > button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n width: calc(var(--size-gap-double) + var(--size-gap));\\n height: calc(var(--size-gap-double) + var(--size-gap));\\n font-size: 0;\\n border: none;\\n background-color: rgba(255, 85, 85, 0.1);\\n color: var(--color-ansi-red);\\n cursor: pointer;\\n transition: background-color 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > nav > button > svg {\\n width: auto;\\n height: calc(var(--size-gap) + var(--size-gap-half));\\n }\\n [data-nextjs-dialog-left-right] > nav > button:hover {\\n background-color: rgba(255, 85, 85, 0.2);\\n }\\n [data-nextjs-dialog-left-right] > nav > button:disabled {\\n background-color: rgba(255, 85, 85, 0.1);\\n color: rgba(255, 85, 85, 0.4);\\n cursor: not-allowed;\\n }\\n\\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\\n margin-right: 1px;\\n }\\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\\n }\\n\\n [data-nextjs-dialog-left-right] > button:last-of-type {\\n border: 0;\\n padding: 0;\\n\\n background-color: transparent;\\n appearance: none;\\n\\n opacity: 0.4;\\n transition: opacity 0.25s ease;\\n\\n color: var(--color-font);\\n }\\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\\n opacity: 0.7;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW9FU0E7OztlQUFBQTs7OzswQ0FwRW1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9zdHlsZXMudHM/NmQ4NCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return Overlay;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _maintaintabfocus = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./maintain--tab-focus */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _bodylocker = __webpack_require__(/*! ./body-locker */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\");\nconst Overlay = function Overlay(param) {\n _s();\n let { className, children, fixed } = param;\n _react.useEffect(()=>{\n (0, _bodylocker.lock)();\n return ()=>{\n (0, _bodylocker.unlock)();\n };\n }, []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback((el)=>{\n setOverlay(el);\n }, []);\n _react.useEffect(()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ()=>{\n handle2.disengage();\n };\n }, [\n overlay\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-overlay\": true,\n className: className,\n ref: onOverlay,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-backdrop\": true,\n \"data-nextjs-dialog-backdrop-fixed\": fixed ? true : undefined\n }),\n children\n ]\n });\n};\n_s(Overlay, \"7AKWSbA/gHapd2YTyFggUak94M8=\");\n_c = Overlay;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Overlay.js.map\nvar _c;\n$RefreshReg$(_c, \"Overlay\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7OzsyQ0FpRFNBOzs7ZUFBQUE7Ozs7Ozt1RkFqRFk7NkVBQ0U7d0NBQ007QUFRN0IsTUFBTUEsVUFBa0MsU0FBU0EsUUFBUUMsS0FJeEQ7O0lBSndELE1BQ3ZEQyxTQUFTLEVBQ1RDLFFBQVEsRUFDUkMsS0FBSyxFQUNOLEdBSndESDtJQUt2REksT0FBTUMsU0FBUyxDQUFDO1FBQ2RDLENBQUFBLEdBQUFBLFlBQUFBLElBQUk7UUFDSixPQUFPO1lBQ0xDLENBQUFBLEdBQUFBLFlBQUFBLE1BQU07UUFDUjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHTCxPQUFNTSxRQUFRLENBQXdCO0lBQ3BFLE1BQU1DLFlBQVlQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNuQ0osV0FBV0k7SUFDYixHQUFHLEVBQUU7SUFFTFQsT0FBTUMsU0FBUyxDQUFDO1FBQ2QsSUFBSUcsV0FBVyxNQUFNO1lBQ25CO1FBQ0Y7UUFFQSxNQUFNTSxVQUFVQyxDQUFBQSxHQUFBQSxrQkFBQUEsT0FBUSxFQUFDO1lBQUVDLFNBQVNSO1FBQVE7UUFDNUMsT0FBTztZQUNMTSxRQUFRRyxTQUFTO1FBQ25CO0lBQ0YsR0FBRztRQUFDVDtLQUFRO0lBRVosT0FDRSxXQURGLEdBQ0UsSUFBQVUsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUFJQyw4QkFBMEI7UUFBQ3BCLFdBQVdBO1FBQVdxQixLQUFLWDs7MEJBQ3pELElBQUFPLFlBQUFLLEdBQUEsRUFBQ0gsT0FBQUE7Z0JBQ0NJLCtCQUEyQjtnQkFDM0JDLHFDQUFtQ3RCLFFBQVEsT0FBT3VCOztZQUVuRHhCOzs7QUFHUDtHQXJDTUg7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvT3ZlcmxheS50c3g/NWJhNCJdLCJuYW1lcyI6WyJPdmVybGF5IiwicGFyYW0iLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImZpeGVkIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJsb2NrIiwidW5sb2NrIiwib3ZlcmxheSIsInNldE92ZXJsYXkiLCJ1c2VTdGF0ZSIsIm9uT3ZlcmxheSIsInVzZUNhbGxiYWNrIiwiZWwiLCJoYW5kbGUyIiwiYWxseVRyYXAiLCJjb250ZXh0IiwiZGlzZW5nYWdlIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXkiLCJyZWYiLCJqc3giLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3AiLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3AtZml4ZWQiLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n lock: function() {\n return lock;\n },\n unlock: function() {\n return unlock;\n }\n});\nlet previousBodyPaddingRight;\nlet previousBodyOverflowSetting;\nlet activeLocks = 0;\nfunction lock() {\n setTimeout(()=>{\n if (activeLocks++ > 0) {\n return;\n }\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = \"\" + scrollBarGap + \"px\";\n }\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n });\n}\nfunction unlock() {\n setTimeout(()=>{\n if (activeLocks === 0 || --activeLocks !== 0) {\n return;\n }\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n previousBodyPaddingRight = undefined;\n }\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n previousBodyOverflowSetting = undefined;\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=body-locker.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFLZ0JBLE1BQUk7ZUFBSkE7O0lBbUJBQyxRQUFNO2VBQU5BOzs7QUF4QmhCLElBQUlDO0FBQ0osSUFBSUM7QUFFSixJQUFJQyxjQUFjO0FBRVgsU0FBU0o7SUFDZEssV0FBVztRQUNULElBQUlELGdCQUFnQixHQUFHO1lBQ3JCO1FBQ0Y7UUFFQSxNQUFNRSxlQUNKQyxPQUFPQyxVQUFVLEdBQUdDLFNBQVNDLGVBQWUsQ0FBQ0MsV0FBVztRQUUxRCxJQUFJTCxlQUFlLEdBQUc7WUFDcEJKLDJCQUEyQk8sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVk7WUFDM0RMLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZLEdBQUcsS0FBR1IsZUFBYTtRQUNyRDtRQUVBSCw4QkFBOEJNLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRO1FBQzFETixTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUSxHQUFHO0lBQ2pDO0FBQ0Y7QUFFTyxTQUFTZDtJQUNkSSxXQUFXO1FBQ1QsSUFBSUQsZ0JBQWdCLEtBQUssRUFBRUEsZ0JBQWdCLEdBQUc7WUFDNUM7UUFDRjtRQUVBLElBQUlGLDZCQUE2QmMsV0FBVztZQUMxQ1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksR0FBR1o7WUFDbkNBLDJCQUEyQmM7UUFDN0I7UUFFQSxJQUFJYixnQ0FBZ0NhLFdBQVc7WUFDN0NQLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRLEdBQUdaO1lBQy9CQSw4QkFBOEJhO1FBQ2hDO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci50cz9hMDIyIl0sIm5hbWVzIjpbImxvY2siLCJ1bmxvY2siLCJwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQiLCJwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmciLCJhY3RpdmVMb2NrcyIsInNldFRpbWVvdXQiLCJzY3JvbGxCYXJHYXAiLCJ3aW5kb3ciLCJpbm5lcldpZHRoIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGllbnRXaWR0aCIsImJvZHkiLCJzdHlsZSIsInBhZGRpbmdSaWdodCIsIm92ZXJmbG93IiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js ***! - \*********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return _Overlay.Overlay;\n }\n}));\nconst _Overlay = __webpack_require__(/*! ./Overlay */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQUFTQTs7O2VBQUFBLFNBQUFBLE9BQU87OztxQ0FBUSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC50c3g/Nzc1YSJdLCJuYW1lcyI6WyJPdmVybGF5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js ***! - \***********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* eslint-disable */ // @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _platform = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/platform */ \"./node_modules/next/dist/compiled/platform/platform.js\"));\nconst _cssescape = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/css.escape */ \"./node_modules/next/dist/compiled/css.escape/css.escape.js\"));\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [\n input\n ];\n }\n if (typeof input === \"string\") {\n input = document.querySelectorAll(input);\n }\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n throw new TypeError(\"unexpected input \" + String(input));\n}\nfunction contextToElement(_ref) {\n var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? \"context-to-element\" : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument;\n var element = nodeArray(context)[0];\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement;\n }\n if (!element && defaultToDocument) {\n return document.documentElement;\n }\n if (!element) {\n throw new TypeError(label + \" requires valid options.context\");\n }\n if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n throw new TypeError(label + \" requires options.context to be an Element\");\n }\n return element;\n}\nfunction getShadowHost() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var element = contextToElement({\n label: \"get/shadow-host\",\n context: context\n });\n // walk up to the root\n var container = null;\n while(element){\n container = element;\n element = element.parentNode;\n }\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) {\n // the root is attached to a fragment node that has a host\n return container.host;\n }\n return null;\n}\nfunction getDocument(node) {\n if (!node) {\n return document;\n }\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node;\n }\n return node.ownerDocument || document;\n}\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: \"is/active-element\",\n resolveDocument: true,\n context: context\n });\n var _document = getDocument(element);\n if (_document.activeElement === element) {\n return true;\n }\n var shadowHost = getShadowHost({\n context: element\n });\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true;\n }\n return false;\n}\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var list = [];\n var element = contextToElement({\n label: \"get/parents\",\n context: context\n });\n while(element){\n list.push(element);\n // IE does know support parentElement on SVGElement\n element = element.parentNode;\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null;\n }\n }\n return list;\n}\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\nvar names = [\n \"matches\",\n \"webkitMatchesSelector\",\n \"mozMatchesSelector\",\n \"msMatchesSelector\"\n];\nvar name = null;\nfunction findMethodName(element) {\n names.some(function(_name) {\n if (!element[_name]) {\n return false;\n }\n name = _name;\n return true;\n });\n}\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element);\n }\n return element[name](selector);\n}\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform.default));\n// operating system\nvar os = platform.os.family || \"\";\nvar ANDROID = os === \"Android\";\nvar WINDOWS = os.slice(0, 7) === \"Windows\";\nvar OSX = os === \"OS X\";\nvar IOS = os === \"iOS\";\n// layout\nvar BLINK = platform.layout === \"Blink\";\nvar GECKO = platform.layout === \"Gecko\";\nvar TRIDENT = platform.layout === \"Trident\";\nvar EDGE = platform.layout === \"EdgeHTML\";\nvar WEBKIT = platform.layout === \"WebKit\";\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version);\nvar majorVersion = Math.floor(version);\nplatform.majorVersion = majorVersion;\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK,\n GECKO: GECKO,\n TRIDENT: TRIDENT,\n EDGE: EDGE,\n WEBKIT: WEBKIT,\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11\n};\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft\n };\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"style\", \"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");\n iframe.setAttribute(\"aria-live\", \"off\");\n iframe.setAttribute(\"aria-busy\", \"true\");\n iframe.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(iframe);\n var _window = iframe.contentWindow;\n var _document = _window.document;\n _document.open();\n _document.close();\n var wrapper = _document.createElement(\"div\");\n _document.body.appendChild(wrapper);\n data.iframe = iframe;\n data.wrapper = wrapper;\n data.window = _window;\n data.document = _document;\n return data;\n}\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = \"\";\n // create dummy element to test focusability of\n var element = typeof options.element === \"string\" ? data.document.createElement(options.element) : options.element(data.wrapper, data.document);\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus = options.mutate && options.mutate(element, data.wrapper, data.document);\n if (!focus && focus !== false) {\n focus = element;\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element);\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus();\n // validate test's result\n return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus;\n}\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement && document.activeElement.blur && document.activeElement.blur();\n if (platform.is.IE10) {\n // IE10 does not redirect focus to <body> when the activeElement is removed\n document.body.focus();\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus();\n }\n document.body.removeChild(data.iframe);\n // restore scroll position\n window.scrollTop = data.windowScrollTop;\n window.scrollLeft = data.windowScrollLeft;\n document.body.scrollTop = data.bodyScrollTop;\n document.body.scrollLeft = data.bodyScrollLeft;\n}\nfunction detectFocus(tests) {\n var data = before();\n var results = {};\n Object.keys(tests).map(function(key) {\n results[key] = test(data, tests[key]);\n });\n after(data);\n return results;\n}\n// this file is overwritten by `npm run build:pre`\nvar version$1 = \"1.4.1\";\n/*\n Facility to cache test results in localStorage.\n\n USAGE:\n cache.get('key');\n cache.set('key', 'value');\n */ function readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0;\n try {\n data = window.localStorage && window.localStorage.getItem(key);\n data = data ? JSON.parse(data) : {};\n } catch (e) {\n data = {};\n }\n return data;\n}\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key);\n } catch (e) {\n // ignore\n }\n return;\n }\n try {\n window.localStorage && window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n // ignore\n }\n}\nvar userAgent = true && window.navigator.userAgent || \"\";\nvar cacheKey = \"ally-supports-cache\";\nvar cache = readLocalStorage(cacheKey);\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {};\n}\ncache.userAgent = userAgent;\ncache.version = version$1;\nvar cache$1 = {\n get: function get() {\n return cache;\n },\n set: function set(values) {\n Object.keys(values).forEach(function(key) {\n cache[key] = values[key];\n });\n cache.time = new Date().toISOString();\n writeLocalStorage(cacheKey, cache);\n }\n};\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0;\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector(\"html >>> :first-child\");\n combinator = \">>>\";\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector(\"html /deep/ :first-child\");\n combinator = \"/deep/\";\n } catch (noDeep) {\n combinator = \"\";\n }\n }\n return combinator;\n}\nvar gif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area href=\"#void\" tabindex=\"-1\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" alt=\"\" src=\"' + gif + '\">';\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n var focus = element.querySelector(\"area\");\n focus.focus();\n return _document.activeElement === focus;\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaWithoutHref = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-area-href-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-area-href-test\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n return _document.activeElement === focusTarget;\n }\n};\nvar focusAudioWithoutControls = {\n name: \"can-focus-audio-without-controls\",\n element: \"audio\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\nvar invalidGif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\";\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusBrokenImageMap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"broken-image-map-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#broken-image-map-test\" alt=\"\" src=\"' + invalidGif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// Children of focusable elements with display:flex are focusable in IE10-11\nvar focusChildrenOfFocusableFlexbox = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n return element.querySelector(\"span\");\n }\n};\n// fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree\n// @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\n// @browser-issue Chromium https://crbug.com/453847\n// @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086\nvar focusFieldsetDisabled = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\nvar focusFieldset = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = \"<legend>legend</legend><p>content</p>\";\n }\n};\n// elements with display:flex are focusable in IE10-11\nvar focusFlexboxContainer = {\n element: \"span\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n }\n};\n// form[tabindex=0][disabled] should be focusable as the\n// specification doesn't know the disabled attribute on the form element\n// @specification https://www.w3.org/TR/html5/forms.html#the-form-element\nvar focusFormDisabled = {\n element: \"form\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// fixes https://github.com/medialize/ally.js/issues/20\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-ismap\nvar focusImgIsmap = {\n element: \"a\",\n mutate: function mutate(element) {\n element.href = \"#void\";\n element.innerHTML = '<img ismap src=\"' + gif + '\" alt=\"\">';\n return element.querySelector(\"img\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusImgUsemapTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" ' + 'src=\"' + gif + '\">';\n return element.querySelector(\"img\");\n }\n};\nvar focusInHiddenIframe = {\n element: function element(wrapper, _document) {\n var iframe = _document.createElement(\"iframe\");\n // iframe must be part of the DOM before accessing the contentWindow is possible\n wrapper.appendChild(iframe);\n // create the iframe's default document (<html><head></head><body></body></html>)\n var iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.close();\n return iframe;\n },\n mutate: function mutate(iframe) {\n iframe.style.visibility = \"hidden\";\n var iframeDocument = iframe.contentWindow.document;\n var input = iframeDocument.createElement(\"input\");\n iframeDocument.body.appendChild(input);\n return input;\n },\n validate: function validate(iframe) {\n var iframeDocument = iframe.contentWindow.document;\n var focus = iframeDocument.querySelector(\"input\");\n return iframeDocument.activeElement === focus;\n }\n};\nvar result = !platform.is.WEBKIT;\nfunction focusInZeroDimensionObject() {\n return result;\n}\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusInvalidTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"invalid-value\");\n }\n};\nvar focusLabelTabindex = {\n element: \"label\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n },\n validate: function validate(element, focusTarget, _document) {\n // force layout in Chrome 49, otherwise the element won't be focusable\n /* eslint-disable no-unused-vars */ var variableToPreventDeadCodeElimination = element.offsetHeight;\n /* eslint-enable no-unused-vars */ element.focus();\n return _document.activeElement === element;\n }\n};\nvar svg = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb\" + \"G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ\" + \"zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==\";\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvgHidden = {\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n element.style.visibility = \"hidden\";\n }\n};\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvg = {\n name: \"can-focus-object-svg\",\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result.\n // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string\n return true;\n }\n return _document.activeElement === element;\n }\n};\n// Every Environment except IE9 considers SWF objects focusable\nvar result$1 = !platform.is.IE9;\nfunction focusObjectSwf() {\n return result$1;\n}\nvar focusRedirectImgUsemap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"focus-redirect-img-usemap\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#focus-redirect-img-usemap\" alt=\"\" ' + 'src=\"' + gif + '\">';\n // focus the <img>, not the <div>\n return element.querySelector(\"img\");\n },\n validate: function validate(element, focusTarget, _document) {\n var target = element.querySelector(\"area\");\n return _document.activeElement === target;\n }\n};\n// see https://jsbin.com/nenirisage/edit?html,js,console,output\nvar focusRedirectLegend = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = '<legend>legend</legend><input tabindex=\"-1\"><input tabindex=\"0\">';\n // take care of focus in validate();\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n var focusable = element.querySelector('input[tabindex=\"-1\"]');\n var tabbable = element.querySelector('input[tabindex=\"0\"]');\n // Firefox requires this test to focus the <fieldset> first, while this is not necessary in\n // https://jsbin.com/nenirisage/edit?html,js,console,output\n element.focus();\n element.querySelector(\"legend\").focus();\n return _document.activeElement === focusable && \"focusable\" || _document.activeElement === tabbable && \"tabbable\" || \"\";\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollBody = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n return element.querySelector(\"div\");\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainerWithoutOverflow = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainer = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\nvar focusSummary = {\n element: \"details\",\n mutate: function mutate(element) {\n element.innerHTML = \"<summary>foo</summary><p>content</p>\";\n return element.firstElementChild;\n }\n};\nfunction makeFocusableForeignObject() {\n // Constructs <foreignObject width=\"30\" height=\"30\"><input type=\"text\"/></foreignObject>\n // without raising a Trusted Types violation\n var foreignObject = document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\");\n foreignObject.width.baseVal.value = 30;\n foreignObject.height.baseVal.value = 30;\n foreignObject.appendChild(document.createElement(\"input\"));\n foreignObject.lastChild.type = \"text\";\n return foreignObject;\n}\nfunction focusSvgForeignObjectHack(element) {\n // Edge13, Edge14: foreignObject focus hack\n // https://jsbin.com/kunehinugi/edit?html,js,output\n // https://jsbin.com/fajagi/3/edit?html,js,output\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (!isSvgElement) {\n return false;\n }\n // inject and focus an <input> element into the SVG element to receive focus\n var foreignObject = makeFocusableForeignObject();\n element.appendChild(foreignObject);\n var input = foreignObject.querySelector(\"input\");\n input.focus();\n // upon disabling the activeElement, IE and Edge\n // will not shift focus to <body> like all the other\n // browsers, but instead find the first focusable\n // ancestor and shift focus to that\n input.disabled = true;\n // clean up\n element.removeChild(foreignObject);\n return true;\n}\nfunction generate(element) {\n return '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">' + element + \"</svg>\";\n}\nfunction focus(element) {\n if (element.focus) {\n return;\n }\n try {\n HTMLElement.prototype.focus.call(element);\n } catch (e) {\n focusSvgForeignObjectHack(element);\n }\n}\nfunction validate(element, focusTarget, _document) {\n focus(focusTarget);\n return _document.activeElement === focusTarget;\n}\nvar focusSvgFocusableAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text focusable=\"true\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"0\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgNegativeTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"-1\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgUseTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate([\n '<g id=\"ally-test-target\"><a xlink:href=\"#void\"><text>link</text></a></g>',\n '<use xlink:href=\"#ally-test-target\" x=\"0\" y=\"0\" tabindex=\"-1\" />'\n ].join(\"\"));\n return element.querySelector(\"use\");\n },\n validate: validate\n};\nvar focusSvgForeignobjectTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<foreignObject tabindex=\"-1\"><input type=\"text\" /></foreignObject>');\n // Safari 8's querySelector() can't identify foreignObject, but getElementsByTagName() can\n return element.querySelector(\"foreignObject\") || element.getElementsByTagName(\"foreignObject\")[0];\n },\n validate: validate\n};\n// Firefox seems to be handling the SVG-document-in-iframe creation asynchronously\n// and thereby produces a false negative test result. Thus the test is pointless\n// and we resort to UA sniffing once again.\n// see http://jsbin.com/vunadohoko/1/edit?js,console,output\nvar result$2 = Boolean(platform.is.GECKO && typeof SVGElement !== \"undefined\" && SVGElement.prototype.focus);\nfunction focusSvgInIframe() {\n return result$2;\n}\nvar focusSvg = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate(\"\");\n return element.firstChild;\n },\n validate: validate\n};\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusTabindexTrailingCharacters = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"3x\");\n }\n};\nvar focusTable = {\n element: \"table\",\n mutate: function mutate(element, wrapper, _document) {\n // IE9 has a problem replacing TBODY contents with innerHTML.\n // https://stackoverflow.com/a/8097055/515124\n // element.innerHTML = '<tr><td>cell</td></tr>';\n var fragment = _document.createDocumentFragment();\n fragment.innerHTML = \"<tr><td>cell</td></tr>\";\n element.appendChild(fragment);\n }\n};\nvar focusVideoWithoutControls = {\n element: \"video\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\n// https://jsbin.com/vafaba/3/edit?html,js,console,output\nvar result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE;\nfunction tabsequenceAreaAtImgPosition() {\n return result$3;\n}\nvar testCallbacks = {\n cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator,\n focusInZeroDimensionObject: focusInZeroDimensionObject,\n focusObjectSwf: focusObjectSwf,\n focusSvgInIframe: focusSvgInIframe,\n tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition\n};\nvar testDescriptions = {\n focusAreaImgTabindex: focusAreaImgTabindex,\n focusAreaTabindex: focusAreaTabindex,\n focusAreaWithoutHref: focusAreaWithoutHref,\n focusAudioWithoutControls: focusAudioWithoutControls,\n focusBrokenImageMap: focusBrokenImageMap,\n focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox,\n focusFieldsetDisabled: focusFieldsetDisabled,\n focusFieldset: focusFieldset,\n focusFlexboxContainer: focusFlexboxContainer,\n focusFormDisabled: focusFormDisabled,\n focusImgIsmap: focusImgIsmap,\n focusImgUsemapTabindex: focusImgUsemapTabindex,\n focusInHiddenIframe: focusInHiddenIframe,\n focusInvalidTabindex: focusInvalidTabindex,\n focusLabelTabindex: focusLabelTabindex,\n focusObjectSvg: focusObjectSvg,\n focusObjectSvgHidden: focusObjectSvgHidden,\n focusRedirectImgUsemap: focusRedirectImgUsemap,\n focusRedirectLegend: focusRedirectLegend,\n focusScrollBody: focusScrollBody,\n focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow,\n focusScrollContainer: focusScrollContainer,\n focusSummary: focusSummary,\n focusSvgFocusableAttribute: focusSvgFocusableAttribute,\n focusSvgTabindexAttribute: focusSvgTabindexAttribute,\n focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute,\n focusSvgUseTabindex: focusSvgUseTabindex,\n focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex,\n focusSvg: focusSvg,\n focusTabindexTrailingCharacters: focusTabindexTrailingCharacters,\n focusTable: focusTable,\n focusVideoWithoutControls: focusVideoWithoutControls\n};\nfunction executeTests() {\n var results = detectFocus(testDescriptions);\n Object.keys(testCallbacks).forEach(function(key) {\n results[key] = testCallbacks[key]();\n });\n return results;\n}\nvar supportsCache = null;\nfunction _supports() {\n if (supportsCache) {\n return supportsCache;\n }\n supportsCache = cache$1.get();\n if (!supportsCache.time) {\n cache$1.set(executeTests());\n supportsCache = cache$1.get();\n }\n return supportsCache;\n}\nvar supports = void 0;\n// https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers\n// NOTE: all browsers agree to allow trailing spaces as well\nvar validIntegerPatternNoTrailing = /^\\s*(-|\\+)?[0-9]+\\s*$/;\nvar validIntegerPatternWithTrailing = /^\\s*(-|\\+)?[0-9]+.*$/;\nfunction isValidTabindex(context) {\n if (!supports) {\n supports = _supports();\n }\n var validIntegerPattern = supports.focusTabindexTrailingCharacters ? validIntegerPatternWithTrailing : validIntegerPatternNoTrailing;\n var element = contextToElement({\n label: \"is/valid-tabindex\",\n resolveDocument: true,\n context: context\n });\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var hasTabIndex = element.hasAttribute(\"tabIndex\");\n if (!hasTabindex && !hasTabIndex) {\n return false;\n }\n // older Firefox and Internet Explorer don't support tabindex on SVG elements\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (isSvgElement && !supports.focusSvgTabindexAttribute) {\n return false;\n }\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n if (supports.focusInvalidTabindex) {\n return true;\n }\n // an element matches the tabindex selector even if its value is invalid\n var tabindex = element.getAttribute(hasTabindex ? \"tabindex\" : \"tabIndex\");\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965\n if (tabindex === \"-32768\") {\n return false;\n }\n return Boolean(tabindex && validIntegerPattern.test(tabindex));\n}\nfunction tabindexValue(element) {\n if (!isValidTabindex(element)) {\n return null;\n }\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var attributeName = hasTabindex ? \"tabindex\" : \"tabIndex\";\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n var tabindex = parseInt(element.getAttribute(attributeName), 10);\n return isNaN(tabindex) ? -1 : tabindex;\n}\n// this is a shared utility file for focus-relevant.js and tabbable.js\n// separate testing of this file's functions is not necessary,\n// as they're implicitly tested by way of the consumers\nfunction isUserModifyWritable(style) {\n // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify\n // https://github.com/medialize/ally.js/issues/17\n var userModify = style.webkitUserModify || \"\";\n return Boolean(userModify && userModify.indexOf(\"write\") !== -1);\n}\nfunction hasCssOverflowScroll(style) {\n return [\n style.getPropertyValue(\"overflow\"),\n style.getPropertyValue(\"overflow-x\"),\n style.getPropertyValue(\"overflow-y\")\n ].some(function(overflow) {\n return overflow === \"auto\" || overflow === \"scroll\";\n });\n}\nfunction hasCssDisplayFlex(style) {\n return style.display.indexOf(\"flex\") > -1;\n}\nfunction isScrollableContainer(element, nodeName, parentNodeName, parentStyle) {\n if (nodeName !== \"div\" && nodeName !== \"span\") {\n // Internet Explorer advances scrollable containers and bodies to focusable\n // only if the scrollable container is <div> or <span> - this does *not*\n // happen for <section>, <article>, …\n return false;\n }\n if (parentNodeName && parentNodeName !== \"div\" && parentNodeName !== \"span\" && !hasCssOverflowScroll(parentStyle)) {\n return false;\n }\n return element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth;\n}\nvar supports$1 = void 0;\nfunction isFocusRelevantRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false\n } : _ref$except;\n if (!supports$1) {\n supports$1 = _supports();\n }\n var element = contextToElement({\n label: \"is/focus-relevant\",\n resolveDocument: true,\n context: context\n });\n if (!except.shadow && element.shadowRoot) {\n // a ShadowDOM host receives focus when the focus moves to its content\n return true;\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"input\" && element.type === \"hidden\") {\n // input[type=\"hidden\"] supports.cannot be focused\n return false;\n }\n if (nodeName === \"input\" || nodeName === \"select\" || nodeName === \"button\" || nodeName === \"textarea\") {\n return true;\n }\n if (nodeName === \"legend\" && supports$1.focusRedirectLegend) {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"label\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"area\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"a\" && element.hasAttribute(\"href\")) {\n return true;\n }\n if (nodeName === \"object\" && element.hasAttribute(\"usemap\")) {\n // object[usemap] is not focusable in any browser\n return false;\n }\n if (nodeName === \"object\") {\n var svgType = element.getAttribute(\"type\");\n if (!supports$1.focusObjectSvg && svgType === \"image/svg+xml\") {\n // object[type=\"image/svg+xml\"] is not focusable in Internet Explorer\n return false;\n } else if (!supports$1.focusObjectSwf && svgType === \"application/x-shockwave-flash\") {\n // object[type=\"application/x-shockwave-flash\"] is not focusable in Internet Explorer 9\n return false;\n }\n }\n if (nodeName === \"iframe\" || nodeName === \"object\") {\n // browsing context containers\n return true;\n }\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n if (element.hasAttribute(\"contenteditable\")) {\n // also see CSS property user-modify below\n return true;\n }\n if (nodeName === \"audio\" && (supports$1.focusAudioWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (nodeName === \"video\" && (supports$1.focusVideoWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (supports$1.focusSummary && nodeName === \"summary\") {\n return true;\n }\n var validTabindex = isValidTabindex(element);\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return validTabindex && supports$1.focusImgUsemapTabindex || supports$1.focusRedirectImgUsemap;\n }\n if (supports$1.focusTable && (nodeName === \"table\" || nodeName === \"td\")) {\n // IE10-11 supports.can focus <table> and <td>\n return true;\n }\n if (supports$1.focusFieldset && nodeName === \"fieldset\") {\n // IE10-11 supports.can focus <fieldset>\n return true;\n }\n var isSvgElement = nodeName === \"svg\";\n var isSvgContent = element.ownerSVGElement;\n var focusableAttribute = element.getAttribute(\"focusable\");\n var tabindex = tabindexValue(element);\n if (nodeName === \"use\" && tabindex !== null && !supports$1.focusSvgUseTabindex) {\n // <use> cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit\n return false;\n }\n if (nodeName === \"foreignobject\") {\n // <use> can only be made focusable in Blink and WebKit\n return tabindex !== null && supports$1.focusSvgForeignobjectTabindex;\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n return true;\n }\n if ((isSvgElement || isSvgContent) && element.focus && !supports$1.focusSvgNegativeTabindexAttribute && tabindex < 0) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return false;\n }\n if (isSvgElement) {\n return validTabindex || supports$1.focusSvg || supports$1.focusSvgInIframe || // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n Boolean(supports$1.focusSvgFocusableAttribute && focusableAttribute && focusableAttribute === \"true\");\n }\n if (isSvgContent) {\n if (supports$1.focusSvgTabindexAttribute && validTabindex) {\n return true;\n }\n if (supports$1.focusSvgFocusableAttribute) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n return focusableAttribute === \"true\";\n }\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n if (validTabindex) {\n return true;\n }\n var style = window.getComputedStyle(element, null);\n if (isUserModifyWritable(style)) {\n return true;\n }\n if (supports$1.focusImgIsmap && nodeName === \"img\" && element.hasAttribute(\"ismap\")) {\n // IE10-11 considers the <img> in <a href><img ismap> focusable\n // https://github.com/medialize/ally.js/issues/20\n var hasLinkParent = getParents({\n context: element\n }).some(function(parent) {\n return parent.nodeName.toLowerCase() === \"a\" && parent.hasAttribute(\"href\");\n });\n if (hasLinkParent) {\n return true;\n }\n }\n // https://github.com/medialize/ally.js/issues/21\n if (!except.scrollable && supports$1.focusScrollContainer) {\n if (supports$1.focusScrollContainerWithoutOverflow) {\n // Internet Explorer does will consider the scrollable area focusable\n // if the element is a <div> or a <span> and it is in fact scrollable,\n // regardless of the CSS overflow property\n if (isScrollableContainer(element, nodeName)) {\n return true;\n }\n } else if (hasCssOverflowScroll(style)) {\n // Firefox requires proper overflow setting, IE does not necessarily\n // https://developer.mozilla.org/docs/Web/CSS/overflow\n return true;\n }\n }\n if (!except.flexbox && supports$1.focusFlexboxContainer && hasCssDisplayFlex(style)) {\n // elements with display:flex are focusable in IE10-11\n return true;\n }\n var parent = element.parentElement;\n if (!except.scrollable && parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n if (supports$1.focusScrollBody && isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n // scrollable bodies are focusable Internet Explorer\n // https://github.com/medialize/ally.js/issues/21\n return true;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11\n if (supports$1.focusChildrenOfFocusableFlexbox) {\n if (hasCssDisplayFlex(parentStyle)) {\n return true;\n }\n }\n }\n // NOTE: elements marked as inert are not focusable,\n // but that property is not exposed to the DOM\n // https://www.w3.org/TR/html5/editing.html#inert\n return false;\n}\n// bind exceptions to an iterator callback\nisFocusRelevantRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusRelevant = function isFocusRelevant(context) {\n return isFocusRelevantRules({\n context: context,\n except: except\n });\n };\n isFocusRelevant.rules = isFocusRelevantRules;\n return isFocusRelevant;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusRelevant = isFocusRelevantRules.except({});\nfunction findIndex(array, callback) {\n // attempt to use native or polyfilled Array#findIndex first\n if (array.findIndex) {\n return array.findIndex(callback);\n }\n var length = array.length;\n // shortcut if the array is empty\n if (length === 0) {\n return -1;\n }\n // otherwise loop over array\n for(var i = 0; i < length; i++){\n if (callback(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\nfunction getContentDocument(node) {\n try {\n // works on <object> and <iframe>\n return node.contentDocument || // works on <object> and <iframe>\n node.contentWindow && node.contentWindow.document || // works on <object> and <iframe> that contain SVG\n node.getSVGDocument && node.getSVGDocument() || null;\n } catch (e) {\n // SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement'\n // also IE may throw member not found exception e.g. on <object type=\"image/png\">\n return null;\n }\n}\nfunction getWindow(node) {\n var _document = getDocument(node);\n return _document.defaultView || window;\n}\nvar shadowPrefix = void 0;\nfunction selectInShadows(selector) {\n if (typeof shadowPrefix !== \"string\") {\n var operator = cssShadowPiercingDeepCombinator();\n if (operator) {\n shadowPrefix = \", html \" + operator + \" \";\n }\n }\n if (!shadowPrefix) {\n return selector;\n }\n return selector + shadowPrefix + selector.replace(/\\s*,\\s*/g, \",\").split(\",\").join(shadowPrefix);\n}\nvar selector = void 0;\nfunction findDocumentHostElement(_window) {\n if (!selector) {\n selector = selectInShadows(\"object, iframe\");\n }\n if (_window._frameElement !== undefined) {\n return _window._frameElement;\n }\n _window._frameElement = null;\n var potentialHosts = _window.parent.document.querySelectorAll(selector);\n [].some.call(potentialHosts, function(element) {\n var _document = getContentDocument(element);\n if (_document !== _window.document) {\n return false;\n }\n _window._frameElement = element;\n return true;\n });\n return _window._frameElement;\n}\nfunction getFrameElement(element) {\n var _window = getWindow(element);\n if (!_window.parent || _window.parent === _window) {\n // if there is no parent browsing context,\n // we're not going to get a frameElement either way\n return null;\n }\n try {\n // see https://developer.mozilla.org/docs/Web/API/Window/frameElement\n // does not work within <embed> anywhere, and not within in <object> in IE\n return _window.frameElement || findDocumentHostElement(_window);\n } catch (e) {\n return null;\n }\n}\n// https://www.w3.org/TR/html5/rendering.html#being-rendered\n// <area> is not rendered, but we *consider* it visible to simplfiy this function's usage\nvar notRenderedElementsPattern = /^(area)$/;\nfunction computedStyle(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property);\n}\nfunction notDisplayed(_path) {\n return _path.some(function(element) {\n // display:none is not visible (optimized away at layout)\n return computedStyle(element, \"display\") === \"none\";\n });\n}\nfunction notVisible(_path) {\n // https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L109-L114\n // NOTE: a nested element can reverse visibility:hidden|collapse by explicitly setting visibility:visible\n // NOTE: visibility can be [\"\", \"visible\", \"hidden\", \"collapse\"]\n var hidden = findIndex(_path, function(element) {\n var visibility = computedStyle(element, \"visibility\");\n return visibility === \"hidden\" || visibility === \"collapse\";\n });\n if (hidden === -1) {\n // there is no hidden element\n return false;\n }\n var visible = findIndex(_path, function(element) {\n return computedStyle(element, \"visibility\") === \"visible\";\n });\n if (visible === -1) {\n // there is no visible element (but a hidden element)\n return true;\n }\n if (hidden < visible) {\n // there is a hidden element and it's closer than the first visible element\n return true;\n }\n // there may be a hidden element, but the closest element is visible\n return false;\n}\nfunction collapsedParent(_path) {\n var offset = 1;\n if (_path[0].nodeName.toLowerCase() === \"summary\") {\n offset = 2;\n }\n return _path.slice(offset).some(function(element) {\n // \"content children\" of a closed details element are not visible\n return element.nodeName.toLowerCase() === \"details\" && element.open === false;\n });\n}\nfunction isVisibleRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n notRendered: false,\n cssDisplay: false,\n cssVisibility: false,\n detailsElement: false,\n browsingContext: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/visible\",\n resolveDocument: true,\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (!except.notRendered && notRenderedElementsPattern.test(nodeName)) {\n return true;\n }\n var _path = getParents({\n context: element\n });\n // in Internet Explorer <audio> has a default display: none, where others have display: inline\n // but IE allows focusing <audio style=\"display:none\">, but not <div display:none><audio>\n // this is irrelevant to other browsers, as the controls attribute is required to make <audio> focusable\n var isAudioWithoutControls = nodeName === \"audio\" && !element.hasAttribute(\"controls\");\n if (!except.cssDisplay && notDisplayed(isAudioWithoutControls ? _path.slice(1) : _path)) {\n return false;\n }\n if (!except.cssVisibility && notVisible(_path)) {\n return false;\n }\n if (!except.detailsElement && collapsedParent(_path)) {\n return false;\n }\n if (!except.browsingContext) {\n // elements within a browsing context are affected by the\n // browsing context host element's visibility and tabindex\n var frameElement = getFrameElement(element);\n var _isVisible = isVisibleRules.except(except);\n if (frameElement && !_isVisible(frameElement)) {\n return false;\n }\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisVisibleRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isVisible = function isVisible(context) {\n return isVisibleRules({\n context: context,\n except: except\n });\n };\n isVisible.rules = isVisibleRules;\n return isVisible;\n};\n// provide isVisible(context) as default iterator callback\nvar isVisible = isVisibleRules.except({});\nfunction getMapByName(name, _document) {\n // apparently getElementsByName() also considers id attribute in IE & opera\n // https://developer.mozilla.org/docs/Web/API/Document/getElementsByName\n var map = _document.querySelector('map[name=\"' + (0, _cssescape.default)(name) + '\"]');\n return map || null;\n}\nfunction getImageOfArea(element) {\n var map = element.parentElement;\n if (!map.name || map.nodeName.toLowerCase() !== \"map\") {\n return null;\n }\n // NOTE: image maps can also be applied to <object> with image content,\n // but no browser supports this at the moment\n // HTML5 specifies HTMLMapElement.images to be an HTMLCollection of all\n // <img> and <object> referencing the <map> element, but no browser implements this\n // https://www.w3.org/TR/html5/embedded-content-0.html#the-map-element\n // https://developer.mozilla.org/docs/Web/API/HTMLMapElement\n // the image must be valid and loaded for the map to take effect\n var _document = getDocument(element);\n return _document.querySelector('img[usemap=\"#' + (0, _cssescape.default)(map.name) + '\"]') || null;\n}\nvar supports$2 = void 0;\n// https://developer.mozilla.org/docs/Web/HTML/Element/map\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n// https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L88-L107\nfunction isValidArea(context) {\n if (!supports$2) {\n supports$2 = _supports();\n }\n var element = contextToElement({\n label: \"is/valid-area\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return false;\n }\n var hasTabindex = element.hasAttribute(\"tabindex\");\n if (!supports$2.focusAreaTabindex && hasTabindex) {\n // Blink and WebKit do not consider <area tabindex=\"-1\" href=\"#void\"> focusable\n return false;\n }\n var img = getImageOfArea(element);\n if (!img || !isVisible(img)) {\n return false;\n }\n // Firefox only allows fully loaded images to reference image maps\n // https://stereochro.me/ideas/detecting-broken-images-js\n if (!supports$2.focusBrokenImageMap && (!img.complete || !img.naturalHeight || img.offsetWidth <= 0 || img.offsetHeight <= 0)) {\n return false;\n }\n // Firefox supports.can focus area elements even if they don't have an href attribute\n if (!supports$2.focusAreaWithoutHref && !element.href) {\n // Internet explorer supports.can focus area elements without href if either\n // the area element or the image element has a tabindex attribute\n return supports$2.focusAreaTabindex && hasTabindex || supports$2.focusAreaImgTabindex && img.hasAttribute(\"tabindex\");\n }\n // https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n var childOfInteractive = getParents({\n context: img\n }).slice(1).some(function(_element) {\n var name = _element.nodeName.toLowerCase();\n return name === \"button\" || name === \"a\";\n });\n if (childOfInteractive) {\n return false;\n }\n return true;\n}\nvar supports$3 = void 0;\n// https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\nvar disabledElementsPattern = void 0;\nvar disabledElements = {\n input: true,\n select: true,\n textarea: true,\n button: true,\n fieldset: true,\n form: true\n};\nfunction isNativeDisabledSupported(context) {\n if (!supports$3) {\n supports$3 = _supports();\n if (supports$3.focusFieldsetDisabled) {\n delete disabledElements.fieldset;\n }\n if (supports$3.focusFormDisabled) {\n delete disabledElements.form;\n }\n disabledElementsPattern = new RegExp(\"^(\" + Object.keys(disabledElements).join(\"|\") + \")$\");\n }\n var element = contextToElement({\n label: \"is/native-disabled-supported\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n return Boolean(disabledElementsPattern.test(nodeName));\n}\nvar supports$4 = void 0;\nfunction isDisabledFieldset(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"fieldset\" && element.disabled;\n}\nfunction isDisabledForm(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"form\" && element.disabled;\n}\nfunction isDisabled(context) {\n if (!supports$4) {\n supports$4 = _supports();\n }\n var element = contextToElement({\n label: \"is/disabled\",\n context: context\n });\n if (element.hasAttribute(\"data-ally-disabled\")) {\n // treat ally's element/disabled like the DOM native element.disabled\n return true;\n }\n if (!isNativeDisabledSupported(element)) {\n // non-form elements do not support the disabled attribute\n return false;\n }\n if (element.disabled) {\n // the element itself is disabled\n return true;\n }\n var parents = getParents({\n context: element\n });\n if (parents.some(isDisabledFieldset)) {\n // a parental <fieldset> is disabld and inherits the state onto this element\n return true;\n }\n if (!supports$4.focusFormDisabled && parents.some(isDisabledForm)) {\n // a parental <form> is disabld and inherits the state onto this element\n return true;\n }\n return false;\n}\nfunction isOnlyTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n onlyFocusableBrowsingContext: false,\n visible: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/only-tabbable\",\n resolveDocument: true,\n context: context\n });\n if (!except.visible && !isVisible(element)) {\n return false;\n }\n if (!except.onlyFocusableBrowsingContext && (platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE)) {\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (tabindexValue(frameElement) < 0) {\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var tabindex = tabindexValue(element);\n if (nodeName === \"label\" && platform.is.GECKO) {\n // Firefox cannot focus, but tab to: label[tabindex=0]\n return tabindex !== null && tabindex >= 0;\n }\n // SVG Elements were keyboard focusable but not script focusable before Firefox 51.\n // Firefox 51 added the focus management DOM API (.focus and .blur) to SVGElement,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=778654\n if (platform.is.GECKO && element.ownerSVGElement && !element.focus) {\n if (nodeName === \"a\" && element.hasAttribute(\"xlink:href\")) {\n // any focusable child of <svg> cannot be focused, but tabbed to\n if (platform.is.GECKO) {\n return true;\n }\n }\n }\n return false;\n}\n// bind exceptions to an iterator callback\nisOnlyTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isOnlyTabbable = function isOnlyTabbable(context) {\n return isOnlyTabbableRules({\n context: context,\n except: except\n });\n };\n isOnlyTabbable.rules = isOnlyTabbableRules;\n return isOnlyTabbable;\n};\n// provide isOnlyTabbable(context) as default iterator callback\nvar isOnlyTabbable = isOnlyTabbableRules.except({});\nvar supports$5 = void 0;\nfunction isOnlyFocusRelevant(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n var _tabindex = tabindexValue(element);\n if (element.shadowRoot && _tabindex === null) {\n // ShadowDOM host elements *may* receive focus\n // even though they are not considered focuable\n return true;\n }\n if (nodeName === \"label\") {\n // <label tabindex=\"0\"> is only tabbable in Firefox, not script-focusable\n // there's no way to make an element focusable other than by adding a tabindex,\n // and focus behavior of the label element seems hard-wired to ignore tabindex\n // in some browsers (like Gecko, Blink and WebKit)\n return !supports$5.focusLabelTabindex || _tabindex === null;\n }\n if (nodeName === \"legend\") {\n return _tabindex === null;\n }\n if (supports$5.focusSvgFocusableAttribute && (element.ownerSVGElement || nodeName === \"svg\")) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n var focusableAttribute = element.getAttribute(\"focusable\");\n return focusableAttribute && focusableAttribute === \"false\";\n }\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return _tabindex === null || !supports$5.focusImgUsemapTabindex;\n }\n if (nodeName === \"area\") {\n // all <area>s are considered relevant,\n // but only the valid <area>s are focusable\n return !isValidArea(element);\n }\n return false;\n}\nfunction isFocusableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n disabled: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$5) {\n supports$5 = _supports();\n }\n var _isOnlyTabbable = isOnlyTabbable.rules.except({\n onlyFocusableBrowsingContext: true,\n visible: except.visible\n });\n var element = contextToElement({\n label: \"is/focusable\",\n resolveDocument: true,\n context: context\n });\n var focusRelevant = isFocusRelevant.rules({\n context: element,\n except: except\n });\n if (!focusRelevant || isOnlyFocusRelevant(element)) {\n return false;\n }\n if (!except.disabled && isDisabled(element)) {\n return false;\n }\n if (!except.onlyTabbable && _isOnlyTabbable(element)) {\n // some elements may be keyboard focusable, but not script focusable\n return false;\n }\n // elements that are not rendered, cannot be focused\n if (!except.visible) {\n var visibilityOptions = {\n context: element,\n except: {}\n };\n if (supports$5.focusInHiddenIframe) {\n // WebKit and Blink can focus content in hidden <iframe> and <object>\n visibilityOptions.except.browsingContext = true;\n }\n if (supports$5.focusObjectSvgHidden) {\n // Blink allows focusing the object element, even if it has visibility: hidden;\n // @browser-issue Blink https://code.google.com/p/chromium/issues/detail?id=586191\n var _nodeName2 = element.nodeName.toLowerCase();\n if (_nodeName2 === \"object\") {\n visibilityOptions.except.cssVisibility = true;\n }\n }\n if (!isVisible.rules(visibilityOptions)) {\n return false;\n }\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n var _nodeName = frameElement.nodeName.toLowerCase();\n if (_nodeName === \"object\" && !supports$5.focusInZeroDimensionObject) {\n if (!frameElement.offsetWidth || !frameElement.offsetHeight) {\n // WebKit can not focus content in <object> if it doesn't have dimensions\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"svg\" && supports$5.focusSvgInIframe && !frameElement && element.getAttribute(\"tabindex\") === null) {\n return false;\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisFocusableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusable = function isFocusable(context) {\n return isFocusableRules({\n context: context,\n except: except\n });\n };\n isFocusable.rules = isFocusableRules;\n return isFocusable;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusable = isFocusableRules.except({});\nfunction createFilter(condition) {\n // see https://developer.mozilla.org/docs/Web/API/NodeFilter\n var filter = function filter(node) {\n if (node.shadowRoot) {\n // return ShadowRoot elements regardless of them being focusable,\n // so they can be walked recursively later\n return NodeFilter.FILTER_ACCEPT;\n }\n if (condition(node)) {\n // finds elements that could have been found by document.querySelectorAll()\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_SKIP;\n };\n // IE requires a function, Browsers require {acceptNode: function}\n // see http://www.bennadel.com/blog/2607-finding-html-comment-nodes-in-the-dom-using-treewalker.htm\n filter.acceptNode = filter;\n return filter;\n}\nvar PossiblyFocusableFilter = createFilter(isFocusRelevant);\nfunction queryFocusableStrict() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!context) {\n context = document.documentElement;\n }\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var _document = getDocument(context);\n // see https://developer.mozilla.org/docs/Web/API/Document/createTreeWalker\n var walker = _document.createTreeWalker(context, NodeFilter.SHOW_ELEMENT, strategy === \"all\" ? PossiblyFocusableFilter : createFilter(_isFocusable), false);\n var list = [];\n while(walker.nextNode()){\n if (walker.currentNode.shadowRoot) {\n if (_isFocusable(walker.currentNode)) {\n list.push(walker.currentNode);\n }\n list = list.concat(queryFocusableStrict({\n context: walker.currentNode.shadowRoot,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }));\n } else {\n list.push(walker.currentNode);\n }\n }\n // add context if requested and focusable\n if (includeContext) {\n if (strategy === \"all\") {\n if (isFocusRelevant(context)) {\n list.unshift(context);\n }\n } else if (_isFocusable(context)) {\n list.unshift(context);\n }\n }\n return list;\n}\n// NOTE: this selector MUST *never* be used directly,\nvar supports$6 = void 0;\nvar selector$1 = void 0;\nfunction selector$2() {\n if (!supports$6) {\n supports$6 = _supports();\n }\n if (typeof selector$1 === \"string\") {\n return selector$1;\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n selector$1 = \"\" + // IE11 supports.can focus <table> and <td>\n (supports$6.focusTable ? \"table, td,\" : \"\") + // IE11 supports.can focus <fieldset>\n (supports$6.focusFieldset ? \"fieldset,\" : \"\") + // Namespace problems of [xlink:href] explained in https://stackoverflow.com/a/23047888/515124\n // svg a[*|href] does not match in IE9, but since we're filtering\n // through is/focusable we can include all <a> from SVG\n \"svg a,\" + // may behave as 'svg, svg *,' in chrome as *every* svg element with a focus event listener is focusable\n // navigational elements\n \"a[href],\" + // validity determined by is/valid-area.js\n \"area[href],\" + // validity determined by is/disabled.js\n \"input, select, textarea, button,\" + // browsing context containers\n \"iframe, object, embed,\" + // interactive content\n \"keygen,\" + (supports$6.focusAudioWithoutControls ? \"audio,\" : \"audio[controls],\") + (supports$6.focusVideoWithoutControls ? \"video,\" : \"video[controls],\") + (supports$6.focusSummary ? \"summary,\" : \"\") + // validity determined by is/valid-tabindex.js\n \"[tabindex],\" + // editing hosts\n \"[contenteditable]\";\n // where ShadowDOM is supported, we also want the shadowed focusable elements (via \">>>\" or \"/deep/\")\n selector$1 = selectInShadows(selector$1);\n return selector$1;\n}\nfunction queryFocusableQuick() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable;\n var _selector = selector$2();\n var elements = context.querySelectorAll(_selector);\n // the selector potentially matches more than really is focusable\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var result = [].filter.call(elements, _isFocusable);\n // add context if requested and focusable\n if (includeContext && _isFocusable(context)) {\n result.unshift(context);\n }\n return result;\n}\nfunction queryFocusable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, _ref$strategy = _ref.strategy, strategy = _ref$strategy === undefined ? \"quick\" : _ref$strategy;\n var element = contextToElement({\n label: \"query/focusable\",\n resolveDocument: true,\n defaultToDocument: true,\n context: context\n });\n var options = {\n context: element,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n };\n if (strategy === \"quick\") {\n return queryFocusableQuick(options);\n } else if (strategy === \"strict\" || strategy === \"all\") {\n return queryFocusableStrict(options);\n }\n throw new TypeError('query/focusable requires option.strategy to be one of [\"quick\", \"strict\", \"all\"]');\n}\nvar supports$7 = void 0;\n// Internet Explorer 11 considers fieldset, table, td focusable, but not tabbable\n// Internet Explorer 11 considers body to have [tabindex=0], but does not allow tabbing to it\nvar focusableElementsPattern = /^(fieldset|table|td|body)$/;\nfunction isTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$7) {\n supports$7 = _supports();\n }\n var element = contextToElement({\n label: \"is/tabbable\",\n resolveDocument: true,\n context: context\n });\n if (platform.is.BLINK && platform.is.ANDROID && platform.majorVersion > 42) {\n // External keyboard support worked fine in CHrome 42, but stopped working in Chrome 45.\n // The on-screen keyboard does not provide a way to focus the next input element (like iOS does).\n // That leaves us with no option to advance focus by keyboard, ergo nothing is tabbable (keyboard focusable).\n return false;\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only does not consider anything from another browsing context keyboard focusable\n return false;\n }\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n if (tabindexValue(frameElement) < 0) {\n return false;\n }\n if (!except.visible && (platform.is.BLINK || platform.is.WEBKIT) && !isVisible(frameElement)) {\n // Blink and WebKit consider elements in hidden browsing contexts focusable, but not tabbable\n return false;\n }\n // Webkit and Blink don't consider anything in <object> tabbable\n // Blink fixed that fixed in Chrome 54, Opera 41\n var frameNodeName = frameElement.nodeName.toLowerCase();\n if (frameNodeName === \"object\") {\n var isFixedBlink = platform.name === \"Chrome\" && platform.majorVersion >= 54 || platform.name === \"Opera\" && platform.majorVersion >= 41;\n if (platform.is.WEBKIT || platform.is.BLINK && !isFixedBlink) {\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var _tabindex = tabindexValue(element);\n var tabindex = _tabindex === null ? null : _tabindex >= 0;\n if (platform.is.EDGE && platform.majorVersion >= 14 && frameElement && element.ownerSVGElement && _tabindex < 0) {\n // Edge 14+ considers <a xlink:href=\"…\" tabindex=\"-1\"> keyboard focusable\n // if the element is in a nested browsing context\n return true;\n }\n var hasTabbableTabindexOrNone = tabindex !== false;\n var hasTabbableTabindex = _tabindex !== null && _tabindex >= 0;\n // NOTE: Firefox 31 considers [contenteditable] to have [tabindex=-1], but allows tabbing to it\n // fixed in Firefox 40 the latest - https://bugzilla.mozilla.org/show_bug.cgi?id=1185657\n if (element.hasAttribute(\"contenteditable\")) {\n // tabbing can still be disabled by explicitly providing [tabindex=\"-1\"]\n return hasTabbableTabindexOrNone;\n }\n if (focusableElementsPattern.test(nodeName) && tabindex !== true) {\n return false;\n }\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only considers a hand full of elements tabbable (keyboard focusable)\n // this holds true even with external keyboards\n var potentiallyTabbable = nodeName === \"input\" && element.type === \"text\" || element.type === \"password\" || nodeName === \"select\" || nodeName === \"textarea\" || element.hasAttribute(\"contenteditable\");\n if (!potentiallyTabbable) {\n var style = window.getComputedStyle(element, null);\n potentiallyTabbable = isUserModifyWritable(style);\n }\n if (!potentiallyTabbable) {\n return false;\n }\n }\n if (nodeName === \"use\" && _tabindex !== null) {\n if (platform.is.BLINK || platform.is.WEBKIT && platform.majorVersion === 9) {\n // In Chrome and Safari 9 the <use> element is keyboard focusable even for tabindex=\"-1\"\n return true;\n }\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n if (hasTabbableTabindexOrNone) {\n // in Trident and Gecko SVGElement does not handle the tabIndex property properly\n return true;\n }\n if (element.focus && !supports$7.focusSvgNegativeTabindexAttribute) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return true;\n }\n }\n if (nodeName === \"svg\" && supports$7.focusSvgInIframe && hasTabbableTabindexOrNone) {\n return true;\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n if (nodeName === \"svg\") {\n if (supports$7.focusSvg) {\n // older Internet Explorers consider <svg> keyboard focusable\n // unless they have focsable=\"false\", but then they wouldn't\n // be focusable and thus not even reach this filter\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\") || hasTabbableTabindex;\n }\n if (element.ownerSVGElement) {\n if (supports$7.focusSvgTabindexAttribute && hasTabbableTabindex) {\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\");\n }\n }\n if (element.tabIndex === undefined) {\n return Boolean(except.onlyTabbable);\n }\n if (nodeName === \"audio\") {\n if (!element.hasAttribute(\"controls\")) {\n // In Internet Explorer the <audio> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n } else if (platform.is.BLINK) {\n // In Chrome <audio controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"video\") {\n if (!element.hasAttribute(\"controls\")) {\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // In Internet Explorer and Edge the <video> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n }\n } else if (platform.is.BLINK || platform.is.GECKO) {\n // In Chrome and Firefox <video controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"object\") {\n if (platform.is.BLINK || platform.is.WEBKIT) {\n // In all Blink and WebKit based browsers <embed> and <object> are never keyboard focusable, even with tabindex=\"0\" set\n return false;\n }\n }\n if (nodeName === \"iframe\") {\n // In Internet Explorer all iframes are only focusable\n // In WebKit, Blink and Gecko iframes may be tabbable depending on content.\n // Since we can't reliably investigate iframe documents because of the\n // SameOriginPolicy, we're declaring everything only focusable.\n return false;\n }\n if (!except.scrollable && platform.is.GECKO) {\n // Firefox considers scrollable containers keyboard focusable,\n // even though their tabIndex property is -1\n var _style = window.getComputedStyle(element, null);\n if (hasCssOverflowScroll(_style)) {\n return hasTabbableTabindexOrNone;\n }\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // IE and Edge degrade <area> to script focusable, if the image\n // using the <map> has been given tabindex=\"-1\"\n if (nodeName === \"area\") {\n var img = getImageOfArea(element);\n if (img && tabindexValue(img) < 0) {\n return false;\n }\n }\n var _style2 = window.getComputedStyle(element, null);\n if (isUserModifyWritable(_style2)) {\n // prevent being swallowed by the overzealous isScrollableContainer() below\n return element.tabIndex >= 0;\n }\n if (!except.flexbox && hasCssDisplayFlex(_style2)) {\n if (_tabindex !== null) {\n return hasTabbableTabindex;\n }\n return isFocusRelevantWithoutFlexbox(element) && isTabbableWithoutFlexbox(element);\n }\n // IE considers scrollable containers script focusable only,\n // even though their tabIndex property is 0\n if (isScrollableContainer(element, nodeName)) {\n return false;\n }\n var parent = element.parentElement;\n if (parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n // IE considers scrollable bodies script focusable only,\n if (isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n return false;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11,\n // even though their tabIndex property suggests otherwise\n if (hasCssDisplayFlex(parentStyle)) {\n // value of tabindex takes precedence\n return hasTabbableTabindex;\n }\n }\n }\n // https://www.w3.org/WAI/PF/aria-practices/#focus_tabindex\n return element.tabIndex >= 0;\n}\n// bind exceptions to an iterator callback\nisTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isTabbable = function isTabbable(context) {\n return isTabbableRules({\n context: context,\n except: except\n });\n };\n isTabbable.rules = isTabbableRules;\n return isTabbable;\n};\nvar isFocusRelevantWithoutFlexbox = isFocusRelevant.rules.except({\n flexbox: true\n});\nvar isTabbableWithoutFlexbox = isTabbableRules.except({\n flexbox: true\n});\n// provide isTabbable(context) as default iterator callback\nvar isTabbable = isTabbableRules.except({});\nfunction queryTabbable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n var _isTabbable = isTabbable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n return queryFocusable({\n context: context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }).filter(_isTabbable);\n}\n// sorts a list of elements according to their order in the DOM\nfunction compareDomPosition(a, b) {\n return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n}\nfunction sortDomOrder(elements) {\n return elements.sort(compareDomPosition);\n}\nfunction getFirstSuccessorOffset(list, target) {\n // find the first element that comes AFTER the target element\n return findIndex(list, function(element) {\n return target.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_FOLLOWING;\n });\n}\nfunction findInsertionOffsets(list, elements, resolveElement) {\n // instead of mutating the elements list directly, remember position and map\n // to inject later, when we can do this more efficiently\n var insertions = [];\n elements.forEach(function(element) {\n var replace = true;\n var offset = list.indexOf(element);\n if (offset === -1) {\n // element is not in target list\n offset = getFirstSuccessorOffset(list, element);\n replace = false;\n }\n if (offset === -1) {\n // there is no successor in the tabsequence,\n // meaning the image must be the last element\n offset = list.length;\n }\n // allow the consumer to replace the injected element\n var injections = nodeArray(resolveElement ? resolveElement(element) : element);\n if (!injections.length) {\n // we can't inject zero elements\n return;\n }\n insertions.push({\n offset: offset,\n replace: replace,\n elements: injections\n });\n });\n return insertions;\n}\nfunction insertElementsAtOffsets(list, insertions) {\n // remember the number of elements we have already injected\n // so we account for the caused index offset\n var inserted = 0;\n // make sure that we insert the elements in sequence,\n // otherwise the offset compensation won't work\n insertions.sort(function(a, b) {\n return a.offset - b.offset;\n });\n insertions.forEach(function(insertion) {\n // array.splice has an annoying function signature :(\n var remove = insertion.replace ? 1 : 0;\n var args = [\n insertion.offset + inserted,\n remove\n ].concat(insertion.elements);\n list.splice.apply(list, args);\n inserted += insertion.elements.length - remove;\n });\n}\nfunction mergeInDomOrder() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, list = _ref.list, elements = _ref.elements, resolveElement = _ref.resolveElement;\n // operate on a copy so we don't mutate the original array\n var _list = list.slice(0);\n // make sure the elements we're injecting are provided in DOM order\n var _elements = nodeArray(elements).slice(0);\n sortDomOrder(_elements);\n // find the offsets within the target array (list) at which to inject\n // each individual element (from elements)\n var insertions = findInsertionOffsets(_list, _elements, resolveElement);\n // actually inject the elements into the target array at the identified positions\n insertElementsAtOffsets(_list, insertions);\n return _list;\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 return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Maps = function() {\n function Maps(context) {\n _classCallCheck(this, Maps);\n this._document = getDocument(context);\n this.maps = {};\n }\n _createClass(Maps, [\n {\n key: \"getAreasFor\",\n value: function getAreasFor(name) {\n if (!this.maps[name]) {\n // the map is not defined within the context, so we\n // have to go find it elsewhere in the document\n this.addMapByName(name);\n }\n return this.maps[name];\n }\n },\n {\n key: \"addMapByName\",\n value: function addMapByName(name) {\n var map = getMapByName(name, this._document);\n if (!map) {\n // if there is no map, the img[usemap] wasn't doing anything anyway\n return;\n }\n this.maps[map.name] = queryTabbable({\n context: map\n });\n }\n },\n {\n key: \"extractAreasFromList\",\n value: function extractAreasFromList(elements) {\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n return elements.filter(function(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return true;\n }\n var map = element.parentNode;\n if (!this.maps[map.name]) {\n this.maps[map.name] = [];\n }\n this.maps[map.name].push(element);\n return false;\n }, this);\n }\n }\n ]);\n return Maps;\n}();\nfunction sortArea(elements, context) {\n // images - unless they are focusable themselves, likely not\n // part of the elements list, so we'll have to find them and\n // sort them into the elements list manually\n var usemaps = context.querySelectorAll(\"img[usemap]\");\n var maps = new Maps(context);\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n var _elements = maps.extractAreasFromList(elements);\n if (!usemaps.length) {\n // the context does not contain any <area>s so no need\n // to replace anything, just remove any maps\n return _elements;\n }\n return mergeInDomOrder({\n list: _elements,\n elements: usemaps,\n resolveElement: function resolveElement(image) {\n var name = image.getAttribute(\"usemap\").slice(1);\n return maps.getAreasFor(name);\n }\n });\n}\nvar _createClass$1 = 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 return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Shadows = function() {\n function Shadows(context, sortElements) {\n _classCallCheck$1(this, Shadows);\n // document context we're working with\n this.context = context;\n // callback that sorts an array of elements\n this.sortElements = sortElements;\n // reference to create unique IDs for each ShadowHost\n this.hostCounter = 1;\n // reference map for child-ShadowHosts of a ShadowHost\n this.inHost = {};\n // reference map for child-ShadowHost of the document\n this.inDocument = [];\n // reference map for ShadowHosts\n this.hosts = {};\n // reference map for tabbable elements of a ShadowHost\n this.elements = {};\n }\n // remember which hosts we have to sort within later\n _createClass$1(Shadows, [\n {\n key: \"_registerHost\",\n value: function _registerHost(host) {\n if (host._sortingId) {\n return;\n }\n // make the ShadowHost identifiable (see cleanup() for undo)\n host._sortingId = \"shadow-\" + this.hostCounter++;\n this.hosts[host._sortingId] = host;\n // hosts may contain other hosts\n var parentHost = getShadowHost({\n context: host\n });\n if (parentHost) {\n this._registerHost(parentHost);\n this._registerHostParent(host, parentHost);\n } else {\n this.inDocument.push(host);\n }\n }\n },\n {\n key: \"_registerHostParent\",\n value: function _registerHostParent(host, parent) {\n if (!this.inHost[parent._sortingId]) {\n this.inHost[parent._sortingId] = [];\n }\n this.inHost[parent._sortingId].push(host);\n }\n },\n {\n key: \"_registerElement\",\n value: function _registerElement(element, host) {\n if (!this.elements[host._sortingId]) {\n this.elements[host._sortingId] = [];\n }\n this.elements[host._sortingId].push(element);\n }\n },\n {\n key: \"extractElements\",\n value: function extractElements(elements) {\n return elements.filter(function(element) {\n var host = getShadowHost({\n context: element\n });\n if (!host) {\n return true;\n }\n this._registerHost(host);\n this._registerElement(element, host);\n return false;\n }, this);\n }\n },\n {\n key: \"sort\",\n value: function sort(elements) {\n var _elements = this._injectHosts(elements);\n _elements = this._replaceHosts(_elements);\n this._cleanup();\n return _elements;\n }\n },\n {\n key: \"_injectHosts\",\n value: function _injectHosts(elements) {\n Object.keys(this.hosts).forEach(function(_sortingId) {\n var _list = this.elements[_sortingId];\n var _elements = this.inHost[_sortingId];\n var _context = this.hosts[_sortingId].shadowRoot;\n this.elements[_sortingId] = this._merge(_list, _elements, _context);\n }, this);\n return this._merge(elements, this.inDocument, this.context);\n }\n },\n {\n key: \"_merge\",\n value: function _merge(list, elements, context) {\n var merged = mergeInDomOrder({\n list: list,\n elements: elements\n });\n return this.sortElements(merged, context);\n }\n },\n {\n key: \"_replaceHosts\",\n value: function _replaceHosts(elements) {\n return mergeInDomOrder({\n list: elements,\n elements: this.inDocument,\n resolveElement: this._resolveHostElement.bind(this)\n });\n }\n },\n {\n key: \"_resolveHostElement\",\n value: function _resolveHostElement(host) {\n var merged = mergeInDomOrder({\n list: this.elements[host._sortingId],\n elements: this.inHost[host._sortingId],\n resolveElement: this._resolveHostElement.bind(this)\n });\n var _tabindex = tabindexValue(host);\n if (_tabindex !== null && _tabindex > -1) {\n return [\n host\n ].concat(merged);\n }\n return merged;\n }\n },\n {\n key: \"_cleanup\",\n value: function _cleanup() {\n // remove those identifers we put on the ShadowHost to avoid using Map()\n Object.keys(this.hosts).forEach(function(key) {\n delete this.hosts[key]._sortingId;\n }, this);\n }\n }\n ]);\n return Shadows;\n}();\nfunction sortShadowed(elements, context, sortElements) {\n var shadows = new Shadows(context, sortElements);\n var _elements = shadows.extractElements(elements);\n if (_elements.length === elements.length) {\n // no shadowed content found, no need to continue\n return sortElements(elements);\n }\n return shadows.sort(_elements);\n}\nfunction sortTabindex(elements) {\n // https://developer.mozilla.org/docs/Web/API/HTMLElement.tabIndex\n // elements with tabIndex \"0\" (including tabbableElements without tabIndex) should be navigated in the order they appear.\n // elements with a positive tabIndex:\n // Elements that have identical tabIndexes should be navigated in the order they appear.\n // Navigation proceeds from the lowest tabIndex to the highest tabIndex.\n // NOTE: sort implementation may be unstable and thus mess up DOM order,\n // that's why we build a map that's being sorted instead. If we were able to rely\n // on a stable sorting algorithm, sortTabindex() could be as simple as\n // elements.sort(function(a, b) { return a.tabIndex - b.tabIndex; });\n // at this time Chrome does not use a stable sorting algorithm\n // see http://blog.rodneyrehm.de/archives/14-Sorting-Were-Doing-It-Wrong.html#stability\n // NOTE: compareDocumentPosition seemed like more overhead than just sorting this with buckets\n // https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n var map = {};\n var indexes = [];\n var normal = elements.filter(function(element) {\n // in Trident and Gecko SVGElement does not know about the tabIndex property\n var tabIndex = element.tabIndex;\n if (tabIndex === undefined) {\n tabIndex = tabindexValue(element);\n }\n // extract elements that don't need sorting\n if (tabIndex <= 0 || tabIndex === null || tabIndex === undefined) {\n return true;\n }\n if (!map[tabIndex]) {\n // create sortable bucket for dom-order-preservation of elements with the same tabIndex\n map[tabIndex] = [];\n // maintain a list of unique tabIndexes\n indexes.push(tabIndex);\n }\n // sort element into the proper bucket\n map[tabIndex].push(element);\n // element moved to sorting map, so not \"normal\" anymore\n return false;\n });\n // sort the tabindex ascending,\n // then resolve them to their appropriate buckets,\n // then flatten the array of arrays to an array\n var _elements = indexes.sort().map(function(tabIndex) {\n return map[tabIndex];\n }).reduceRight(function(previous, current) {\n return current.concat(previous);\n }, normal);\n return _elements;\n}\nvar supports$8 = void 0;\nfunction moveContextToBeginning(elements, context) {\n var pos = elements.indexOf(context);\n if (pos > 0) {\n var tmp = elements.splice(pos, 1);\n return tmp.concat(elements);\n }\n return elements;\n}\nfunction sortElements(elements, _context) {\n if (supports$8.tabsequenceAreaAtImgPosition) {\n // Some browsers sort <area> in DOM order, some place the <area>s\n // where the <img> referecing them would've been in DOM order.\n // https://github.com/medialize/ally.js/issues/5\n elements = sortArea(elements, _context);\n }\n elements = sortTabindex(elements);\n return elements;\n}\nfunction queryTabsequence() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!supports$8) {\n supports$8 = _supports();\n }\n var _context = nodeArray(context)[0] || document.documentElement;\n var elements = queryTabbable({\n context: _context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n });\n if (document.body.createShadowRoot && platform.is.BLINK) {\n // sort tabindex localized to shadow dom\n // see https://github.com/medialize/ally.js/issues/6\n elements = sortShadowed(elements, _context, sortElements);\n } else {\n elements = sortElements(elements, _context);\n }\n if (includeContext) {\n // if we include the context itself, it has to be the first\n // element of the sequence\n elements = moveContextToBeginning(elements, _context);\n }\n return elements;\n}\n// codes mostly cloned from https://github.com/keithamus/jwerty/blob/master/jwerty.js\n// deliberately not exposing characters like <,.-#* because they vary *wildly*\n// across keyboard layouts and may cause various problems\n// (e.g. \"*\" is \"Shift +\" on a German Mac keyboard)\n// (e.g. \"@\" is \"Alt L\" on a German Mac keyboard)\nvar keycode = {\n // Element Focus\n tab: 9,\n // Navigation\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n pageUp: 33,\n \"page-up\": 33,\n pageDown: 34,\n \"page-down\": 34,\n end: 35,\n home: 36,\n // Action\n enter: 13,\n escape: 27,\n space: 32,\n // Modifier\n shift: 16,\n capsLock: 20,\n \"caps-lock\": 20,\n ctrl: 17,\n alt: 18,\n meta: 91,\n // in firefox: 224\n // on mac (chrome): meta-left=91, meta-right=93\n // on win (IE11): meta-left=91, meta-right=92\n pause: 19,\n // Content Manipulation\n insert: 45,\n delete: 46,\n backspace: 8,\n // the same logical key may be identified through different keyCodes\n _alias: {\n 91: [\n 92,\n 93,\n 224\n ]\n }\n};\n// Function keys (112 - 137)\n// NOTE: not every keyboard knows F13+\nfor(var n = 1; n < 26; n++){\n keycode[\"f\" + n] = n + 111;\n}\n// Number keys (48-57, numpad 96-105)\n// NOTE: not every keyboard knows num-0+\nfor(var _n = 0; _n < 10; _n++){\n var code = _n + 48;\n var numCode = _n + 96;\n keycode[_n] = code;\n keycode[\"num-\" + _n] = numCode;\n keycode._alias[code] = [\n numCode\n ];\n}\n// Latin characters (65 - 90)\nfor(var _n2 = 0; _n2 < 26; _n2++){\n var _code = _n2 + 65;\n var name$1 = String.fromCharCode(_code).toLowerCase();\n keycode[name$1] = _code;\n}\nvar modifier = {\n alt: \"altKey\",\n ctrl: \"ctrlKey\",\n meta: \"metaKey\",\n shift: \"shiftKey\"\n};\nvar modifierSequence = Object.keys(modifier).map(function(name) {\n return modifier[name];\n});\nfunction createExpectedModifiers(ignoreModifiers) {\n var value = ignoreModifiers ? null : false;\n return {\n altKey: value,\n ctrlKey: value,\n metaKey: value,\n shiftKey: value\n };\n}\nfunction resolveModifiers(modifiers) {\n var ignoreModifiers = modifiers.indexOf(\"*\") !== -1;\n var expected = createExpectedModifiers(ignoreModifiers);\n modifiers.forEach(function(token) {\n if (token === \"*\") {\n // we've already covered the all-in operator\n return;\n }\n // we want the modifier pressed\n var value = true;\n var operator = token.slice(0, 1);\n if (operator === \"?\") {\n // we don't care if the modifier is pressed\n value = null;\n } else if (operator === \"!\") {\n // we do not want the modifier pressed\n value = false;\n }\n if (value !== true) {\n // compensate for the modifier's operator\n token = token.slice(1);\n }\n var propertyName = modifier[token];\n if (!propertyName) {\n throw new TypeError('Unknown modifier \"' + token + '\"');\n }\n expected[propertyName] = value;\n });\n return expected;\n}\nfunction resolveKey(key) {\n var code = keycode[key] || parseInt(key, 10);\n if (!code || typeof code !== \"number\" || isNaN(code)) {\n throw new TypeError('Unknown key \"' + key + '\"');\n }\n return [\n code\n ].concat(keycode._alias[code] || []);\n}\nfunction matchModifiers(expected, event) {\n // returns true on match\n return !modifierSequence.some(function(prop) {\n // returns true on mismatch\n return typeof expected[prop] === \"boolean\" && Boolean(event[prop]) !== expected[prop];\n });\n}\nfunction keyBinding(text) {\n return text.split(/\\s+/).map(function(_text) {\n var tokens = _text.split(\"+\");\n var _modifiers = resolveModifiers(tokens.slice(0, -1));\n var _keyCodes = resolveKey(tokens.slice(-1));\n return {\n keyCodes: _keyCodes,\n modifiers: _modifiers,\n matchModifiers: matchModifiers.bind(null, _modifiers)\n };\n });\n}\n// Node.compareDocumentPosition is available since IE9\n// see https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n// callback returns true when element is contained by parent or is the parent suited for use with Array.some()\n/*\n USAGE:\n var isChildOf = getParentComparator({parent: someNode});\n listOfElements.some(isChildOf)\n*/ function getParentComparator() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, parent = _ref.parent, element = _ref.element, includeSelf = _ref.includeSelf;\n if (parent) {\n return function isChildOf(node) {\n return Boolean(includeSelf && node === parent || parent.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n } else if (element) {\n return function isParentOf(node) {\n return Boolean(includeSelf && element === node || node.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n }\n throw new TypeError(\"util/compare-position#getParentComparator required either options.parent or options.element\");\n}\n// Bug 286933 - Key events in the autocomplete popup should be hidden from page scripts\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=286933\nfunction whenKey() {\n var map = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var bindings = {};\n var context = nodeArray(map.context)[0] || document.documentElement;\n delete map.context;\n var filter = nodeArray(map.filter);\n delete map.filter;\n var mapKeys = Object.keys(map);\n if (!mapKeys.length) {\n throw new TypeError(\"when/key requires at least one option key\");\n }\n var registerBinding = function registerBinding(event) {\n event.keyCodes.forEach(function(code) {\n if (!bindings[code]) {\n bindings[code] = [];\n }\n bindings[code].push(event);\n });\n };\n mapKeys.forEach(function(text) {\n if (typeof map[text] !== \"function\") {\n throw new TypeError('when/key requires option[\"' + text + '\"] to be a function');\n }\n var addCallback = function addCallback(event) {\n event.callback = map[text];\n return event;\n };\n keyBinding(text).map(addCallback).forEach(registerBinding);\n });\n var handleKeyDown = function handleKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (filter.length) {\n // ignore elements within the exempted sub-trees\n var isParentOfElement = getParentComparator({\n element: event.target,\n includeSelf: true\n });\n if (filter.some(isParentOfElement)) {\n return;\n }\n }\n var key = event.keyCode || event.which;\n if (!bindings[key]) {\n return;\n }\n bindings[key].forEach(function(_event) {\n if (!_event.matchModifiers(event)) {\n return;\n }\n _event.callback.call(context, event, disengage);\n });\n };\n context.addEventListener(\"keydown\", handleKeyDown, false);\n var disengage = function disengage() {\n context.removeEventListener(\"keydown\", handleKeyDown, false);\n };\n return {\n disengage: disengage\n };\n}\nfunction _default(param) {\n let { context } = param === void 0 ? {} : param;\n if (!context) {\n context = document.documentElement;\n }\n // Make sure the supports tests are run before intercepting the Tab key,\n // or IE10 and IE11 will fail to process the first Tab key event. Not\n // limiting this warm-up to IE because it may be a problem elsewhere, too.\n queryTabsequence();\n return whenKey({\n // Safari on OSX may require ALT+TAB to reach links,\n // see https://github.com/medialize/ally.js/issues/146\n \"?alt+?shift+tab\": function altShiftTab(event) {\n // we're completely taking over the Tab key handling\n event.preventDefault();\n var sequence = queryTabsequence({\n context: context\n });\n var backward = event.shiftKey;\n var first = sequence[0];\n var last = sequence[sequence.length - 1];\n // wrap around first to last, last to first\n var source = backward ? first : last;\n var target = backward ? last : first;\n if (isActiveElement(source)) {\n target.focus();\n return;\n }\n // find current position in tabsequence\n var currentIndex = void 0;\n var found = sequence.some(function(element, index) {\n if (!isActiveElement(element)) {\n return false;\n }\n currentIndex = index;\n return true;\n });\n if (!found) {\n // redirect to first as we're not in our tabsequence\n first.focus();\n return;\n }\n // shift focus to previous/next element in the sequence\n var offset = backward ? -1 : 1;\n sequence[currentIndex + offset].focus();\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=maintain--tab-focus.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9tYWludGFpbi0tdGFiLWZvY3VzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQixHQUNsQixjQUFjO0FBQ2QsbURBQW1EO0FBQ25ELGVBQWU7QUFDZixpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHlDQUF5Qzs7Ozs7MkNBbTdHekM7OztlQUFBQTs7OzsrRUFqN0dzQjtnRkFDQTtBQUV0Qix5RkFBeUY7QUFDekYsNkVBQTZFO0FBQzdFLFNBQVNDLFVBQVVDLEtBQUs7SUFDdEIsSUFBSSxDQUFDQSxPQUFPO1FBQ1YsT0FBTyxFQUFFO0lBQ1g7SUFFQSxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLFFBQVE7UUFDeEIsT0FBT0E7SUFDVDtJQUVBLCtDQUErQztJQUMvQyxJQUFJQSxNQUFNRyxRQUFRLEtBQUtDLFdBQVc7UUFDaEMsT0FBTztZQUFDSjtTQUFNO0lBQ2hCO0lBRUEsSUFBSSxPQUFPQSxVQUFVLFVBQVU7UUFDN0JBLFFBQVFLLFNBQVNDLGdCQUFnQixDQUFDTjtJQUNwQztJQUVBLElBQUlBLE1BQU1PLE1BQU0sS0FBS0gsV0FBVztRQUM5QixPQUFPLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDQyxJQUFJLENBQUNULE9BQU87SUFDOUI7SUFFQSxNQUFNLElBQUlVLFVBQVUsc0JBQXNCQyxPQUFPWDtBQUNuRDtBQUVBLFNBQVNZLGlCQUFpQkMsSUFBSTtJQUM1QixJQUFJQyxVQUFVRCxLQUFLQyxPQUFPLEVBQ3hCQyxhQUFhRixLQUFLRyxLQUFLLEVBQ3ZCQSxRQUFRRCxlQUFlWCxZQUFZLHVCQUF1QlcsWUFDMURFLGtCQUFrQkosS0FBS0ksZUFBZSxFQUN0Q0Msb0JBQW9CTCxLQUFLSyxpQkFBaUI7SUFFNUMsSUFBSUMsVUFBVXBCLFVBQVVlLFFBQVEsQ0FBQyxFQUFFO0lBRW5DLElBQUlHLG1CQUFtQkUsV0FB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ZUFBZSxLQUFLO1lBQ3hCLElBQUlDLFFBQVFOLFNBQVNsZixJQUFJLENBQUMsU0FBVXpCLE9BQU8sRUFBRWtoQixLQUFLO2dCQUNoRCxJQUFJLENBQUNwZ0IsZ0JBQWdCZCxVQUFVO29CQUM3QixPQUFPO2dCQUNUO2dCQUVBZ2hCLGVBQWVFO2dCQUNmLE9BQU87WUFDVDtZQUVBLElBQUksQ0FBQ0QsT0FBTztnQkFDVixvREFBb0Q7Z0JBQ3BESixNQUFNaGMsS0FBSztnQkFDWDtZQUNGO1lBRUEsdURBQXVEO1lBQ3ZELElBQUlxTSxTQUFTMFAsV0FBVyxDQUFDLElBQUk7WUFDN0JELFFBQVEsQ0FBQ0ssZUFBZTlQLE9BQU8sQ0FBQ3JNLEtBQUs7UUFDdkM7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L21haW50YWluLS10YWItZm9jdXMudHM/MjVmNiJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsIm5vZGVBcnJheSIsImlucHV0IiwiQXJyYXkiLCJpc0FycmF5Iiwibm9kZVR5cGUiLCJ1bmRlZmluZWQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJzbGljZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJjb250ZXh0VG9FbGVtZW50IiwiX3JlZiIsImNvbnRleHQiLCJfcmVmJGxhYmVsIiwibGFiZWwiLCJyZXNvbHZlRG9jdW1lbnQiLCJkZWZhdWx0VG9Eb2N1bWVudCIsImVsZW1lbnQiLCJOb2RlIiwiRE9DVU1FTlRfTk9ERSIsImRvY3VtZW50RWxlbWVudCIsIkVMRU1FTlRfTk9ERSIsIkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUiLCJnZXRTaGFkb3dIb3N0IiwiYXJndW1lbnRzIiwiY29udGFpbmVyIiwicGFyZW50Tm9kZSIsImhvc3QiLCJnZXREb2N1bWVudCIsIm5vZGUiLCJvd25lckRvY3VtZW50IiwiaXNBY3RpdmVFbGVtZW50IiwiX2RvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsInNoYWRvd0hvc3QiLCJzaGFkb3dSb290IiwiZ2V0UGFyZW50cyIsImxpc3QiLCJwdXNoIiwibmFtZXMiLCJuYW1lIiwiZmluZE1ldGhvZE5hbWUiLCJzb21lIiwiX25hbWUiLCJlbGVtZW50TWF0Y2hlcyIsInNlbGVjdG9yIiwicGxhdGZvcm0iLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJfcGxhdGZvcm0iLCJvcyIsImZhbWlseSIsIkFORFJPSUQiLCJXSU5ET1dTIiwiT1NYIiwiSU9TIiwiQkxJTksiLCJsYXlvdXQiLCJHRUNLTyIsIlRSSURFTlQiLCJFREdFIiwiV0VCS0lUIiwidmVyc2lvbiIsInBhcnNlRmxvYXQiLCJtYWpvclZlcnNpb24iLCJNYXRoIiwiZmxvb3IiLCJpcyIsIklFOSIsIklFMTAiLCJJRTExIiwiYmVmb3JlIiwiZGF0YSIsIndpbmRvd1Njcm9sbFRvcCIsIndpbmRvdyIsInNjcm9sbFRvcCIsIndpbmRvd1Njcm9sbExlZnQiLCJzY3JvbGxMZWZ0IiwiYm9keVNjcm9sbFRvcCIsImJvZHkiLCJib2R5U2Nyb2xsTGVmdCIsImlmcmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsIl93aW5kb3ciLCJjb250ZW50V2luZG93Iiwib3BlbiIsImNsb3NlIiwid3JhcHBlciIsInRlc3QiLCJvcHRpb25zIiwiaW5uZXJIVE1MIiwiZm9jdXMiLCJtdXRhdGUiLCJ2YWxpZGF0ZSIsImFmdGVyIiwiYmx1ciIsInJlbW92ZUNoaWxkIiwiZGV0ZWN0Rm9jdXMiLCJ0ZXN0cyIsInJlc3VsdHMiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwia2V5IiwidmVyc2lvbiQxIiwicmVhZExvY2FsU3RvcmFnZSIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJlIiwid3JpdGVMb2NhbFN0b3JhZ2UiLCJ2YWx1ZSIsImhhc0ZvY3VzIiwicmVtb3ZlSXRlbSIsInNldEl0ZW0iLCJ1c2VyQWdlbnQiLCJuYXZpZ2F0b3IiLCJjYWNoZUtleSIsImNhY2hlIiwiY2FjaGUkMSIsImdldCIsInNldCIsInZhbHVlcyIsImZvckVhY2giLCJ0aW1lIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwiY3NzU2hhZG93UGllcmNpbmdEZWVwQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJxdWVyeVNlbGVjdG9yIiwibm9BcnJvd0Fycm93QXJyb3ciLCJub0RlZXAiLCJnaWYiLCJmb2N1c0FyZWFJbWdUYWJpbmRleCIsImZvY3VzQXJlYVRhYmluZGV4IiwiZm9jdXNUYXJnZXQiLCJmb2N1c0FyZWFXaXRob3V0SHJlZiIsImZvY3VzQXVkaW9XaXRob3V0Q29udHJvbHMiLCJpbnZhbGlkR2lmIiwiZm9jdXNCcm9rZW5JbWFnZU1hcCIsImZvY3VzQ2hpbGRyZW5PZkZvY3VzYWJsZUZsZXhib3giLCJmb2N1c0ZpZWxkc2V0RGlzYWJsZWQiLCJmb2N1c0ZpZWxkc2V0IiwiZm9jdXNGbGV4Ym94Q29udGFpbmVyIiwiZm9jdXNGb3JtRGlzYWJsZWQiLCJmb2N1c0ltZ0lzbWFwIiwiaHJlZiIsImZvY3VzSW1nVXNlbWFwVGFiaW5kZXgiLCJmb2N1c0luSGlkZGVuSWZyYW1lIiwiaWZyYW1lRG9jdW1lbnQiLCJzdHlsZSIsInZpc2liaWxpdHkiLCJyZXN1bHQiLCJmb2N1c0luWmVyb0RpbWVuc2lvbk9iamVjdCIsImZvY3VzSW52YWxpZFRhYmluZGV4IiwiZm9jdXNMYWJlbFRhYmluZGV4IiwidmFyaWFibGVUb1ByZXZlbnREZWFkQ29kZUVsaW1pbmF0aW9uIiwib2Zmc2V0SGVpZ2h0Iiwic3ZnIiwiZm9jdXNPYmplY3RTdmdIaWRkZW4iLCJmb2N1c09iamVjdFN2ZyIsInJlc3VsdCQxIiwiZm9jdXNPYmplY3RTd2YiLCJmb2N1c1JlZGlyZWN0SW1nVXNlbWFwIiwidGFyZ2V0IiwiZm9jdXNSZWRpcmVjdExlZ2VuZCIsImZvY3VzYWJsZSIsInRhYmJhYmxlIiwiZm9jdXNTY3JvbGxCb2R5IiwiZm9jdXNTY3JvbGxDb250YWluZXJXaXRob3V0T3ZlcmZsb3ciLCJmb2N1c1Njcm9sbENvbnRhaW5lciIsImZvY3VzU3VtbWFyeSIsImZpcnN0RWxlbWVudENoaWxkIiwibWFrZUZvY3VzYWJsZUZvcmVpZ25PYmplY3QiLCJmb3JlaWduT2JqZWN0IiwiY3JlYXRlRWxlbWVudE5TIiwid2lkdGgiLCJiYXNlVmFsIiwiaGVpZ2h0IiwibGFzdENoaWxkIiwidHlwZSIsImZvY3VzU3ZnRm9yZWlnbk9iamVjdEhhY2siLCJpc1N2Z0VsZW1lbnQiLCJvd25lclNWR0VsZW1lbnQiLCJub2RlTmFtZSIsInRvTG93ZXJDYXNlIiwiZGlzYWJsZWQiLCJnZW5lcmF0ZSIsIkhUTUxFbGVtZW50IiwicHJvdG90eXBlIiwiZm9jdXNTdmdGb2N1c2FibGVBdHRyaWJ1dGUiLCJmb2N1c1N2Z1RhYmluZGV4QXR0cmlidXRlIiwiZm9jdXNTdmdOZWdhdGl2ZVRhYmluZGV4QXR0cmlidXRlIiwiZm9jdXNTdmdVc2VUYWJpbmRleCIsImpvaW4iLCJmb2N1c1N2Z0ZvcmVpZ25vYmplY3RUYWJpbmRleCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicmVzdWx0JDIiLCJCb29sZWFuIiwiU1ZHRWxlbWVudCIsImZvY3VzU3ZnSW5JZnJhbWUiLCJmb2N1c1N2ZyIsImZpcnN0Q2hpbGQiLCJmb2N1c1RhYmluZGV4VHJhaWxpbmdDaGFyYWN0ZXJzIiwiZm9jdXNUYWJsZSIsImZyYWdtZW50IiwiY3JlYXRlRG9jdW1lbnRGcmFnbWVudCIsImZvY3VzVmlkZW9XaXRob3V0Q29udHJvbHMiLCJyZXN1bHQkMyIsInRhYnNlcXVlbmNlQXJlYUF0SW1nUG9zaXRpb24iLCJ0ZXN0Q2FsbGJhY2tzIiwidGVzdERlc2NyaXB0aW9ucyIsImV4ZWN1dGVUZXN0cyIsInN1cHBvcnRzQ2FjaGUiLCJfc3VwcG9ydHMiLCJzdXBwb3J0cyIsInZhbGlkSW50ZWdlclBhdHRlcm5Ob1RyYWlsaW5nIiwidmFsaWRJbnRlZ2VyUGF0dGVybldpdGhUcmFpbGluZyIsImlzVmFsaWRUYWJpbmRleCIsInZhbGlkSW50ZWdlclBhdHRlcm4iLCJoYXNUYWJpbmRleCIsImhhc0F0dHJpYnV0ZSIsImhhc1RhYkluZGV4IiwidGFiaW5kZXgiLCJnZXRBdHRyaWJ1dGUiLCJ0YWJpbmRleFZhbHVlIiwiYXR0cmlidXRlTmFtZSIsInBhcnNlSW50IiwiaXNOYU4iLCJpc1VzZXJNb2RpZnlXcml0YWJsZSIsInVzZXJNb2RpZnkiLCJ3ZWJraXRVc2VyTW9kaWZ5IiwiaW5kZXhPZiIsImhhc0Nzc092ZXJmbG93U2Nyb2xsIiwiZ2V0UHJvcGVydHlWYWx1ZSIsIm92ZXJmbG93IiwiaGFzQ3NzRGlzcGxheUZsZXgiLCJkaXNwbGF5IiwiaXNTY3JvbGxhYmxlQ29udGFpbmVyIiwicGFyZW50Tm9kZU5hbWUiLCJwYXJlbnRTdHlsZSIsInNjcm9sbEhlaWdodCIsIm9mZnNldFdpZHRoIiwic2Nyb2xsV2lkdGgiLCJzdXBwb3J0cyQxIiwiaXNGb2N1c1JlbGV2YW50UnVsZXMiLCJfcmVmJGV4Y2VwdCIsImV4Y2VwdCIsImZsZXhib3giLCJzY3JvbGxhYmxlIiwic2hhZG93Iiwic3ZnVHlwZSIsInZhbGlkVGFiaW5kZXgiLCJpc1N2Z0NvbnRlbnQiLCJmb2N1c2FibGVBdHRyaWJ1dGUiLCJnZXRDb21wdXRlZFN0eWxlIiwiaGFzTGlua1BhcmVudCIsInBhcmVudCIsInBhcmVudEVsZW1lbnQiLCJpc0ZvY3VzUmVsZXZhbnQiLCJydWxlcyIsImZpbmRJbmRleCIsImFycmF5IiwiY2FsbGJhY2siLCJpIiwiZ2V0Q29udGVudERvY3VtZW50IiwiY29udGVudERvY3VtZW50IiwiZ2V0U1ZHRG9jdW1lbnQiLCJnZXRXaW5kb3ciLCJkZWZhdWx0VmlldyIsInNoYWRvd1ByZWZpeCIsInNlbGVjdEluU2hhZG93cyIsIm9wZXJhdG9yIiwicmVwbGFjZSIsInNwbGl0IiwiZmluZERvY3VtZW50SG9zdEVsZW1lbnQiLCJfZnJhbWVFbGVtZW50IiwicG90ZW50aWFsSG9zdHMiLCJnZXRGcmFtZUVsZW1lbnQiLCJmcmFtZUVsZW1lbnQiLCJub3RSZW5kZXJlZEVsZW1lbnRzUGF0dGVybiIsImNvbXB1dGVkU3R5bGUiLCJwcm9wZXJ0eSIsIm5vdERpc3BsYXllZCIsIl9wYXRoIiwibm90VmlzaWJsZSIsImhpZGRlbiIsInZpc2libGUiLCJjb2xsYXBzZWRQYXJlbnQiLCJvZmZzZXQiLCJpc1Zpc2libGVSdWxlcyIsIm5vdFJlbmRlcmVkIiwiY3NzRGlzcGxheSIsImNzc1Zpc2liaWxpdHkiLCJkZXRhaWxzRWxlbWVudCIsImJyb3dzaW5nQ29udGV4dCIsImlzQXVkaW9XaXRob3V0Q29udHJvbHMiLCJfaXNWaXNpYmxlIiwiaXNWaXNpYmxlIiwiZ2V0TWFwQnlOYW1lIiwiY3NzRXNjYXBlIiwiZ2V0SW1hZ2VPZkFyZWEiLCJzdXBwb3J0cyQyIiwiaXNWYWxpZEFyZWEiLCJpbWciLCJjb21wbGV0ZSIsIm5hdHVyYWxIZWlnaHQiLCJjaGlsZE9mSW50ZXJhY3RpdmUiLCJfZWxlbWVudCIsInN1cHBvcnRzJDMiLCJkaXNhYmxlZEVsZW1lbnRzUGF0dGVybiIsImRpc2FibGVkRWxlbWVudHMiLCJzZWxlY3QiLCJ0ZXh0YXJlYSIsImJ1dHRvbiIsImZpZWxkc2V0IiwiZm9ybSIsImlzTmF0aXZlRGlzYWJsZWRTdXBwb3J0ZWQiLCJSZWdFeHAiLCJzdXBwb3J0cyQ0IiwiaXNEaXNhYmxlZEZpZWxkc2V0IiwiaXNEaXNhYmxlZEZvcm0iLCJpc0Rpc2FibGVkIiwicGFyZW50cyIsImlzT25seVRhYmJhYmxlUnVsZXMiLCJvbmx5Rm9jdXNhYmxlQnJvd3NpbmdDb250ZXh0IiwiaXNPbmx5VGFiYmFibGUiLCJzdXBwb3J0cyQ1IiwiaXNPbmx5Rm9jdXNSZWxldmFudCIsIl90YWJpbmRleCIsImlzRm9jdXNhYmxlUnVsZXMiLCJvbmx5VGFiYmFibGUiLCJfaXNPbmx5VGFiYmFibGUiLCJmb2N1c1JlbGV2YW50IiwidmlzaWJpbGl0eU9wdGlvbnMiLCJfbm9kZU5hbWUyIiwiX25vZGVOYW1lIiwiaXNGb2N1c2FibGUiLCJjcmVhdGVGaWx0ZXIiLCJjb25kaXRpb24iLCJmaWx0ZXIiLCJOb2RlRmlsdGVyIiwiRklMVEVSX0FDQ0VQVCIsIkZJTFRFUl9TS0lQIiwiYWNjZXB0Tm9kZSIsIlBvc3NpYmx5Rm9jdXNhYmxlRmlsdGVyIiwicXVlcnlGb2N1c2FibGVTdHJpY3QiLCJpbmNsdWRlQ29udGV4dCIsImluY2x1ZGVPbmx5VGFiYmFibGUiLCJzdHJhdGVneSIsIl9pc0ZvY3VzYWJsZSIsIndhbGtlciIsImNyZWF0ZVRyZWVXYWxrZXIiLCJTSE9XX0VMRU1FTlQiLCJuZXh0Tm9kZSIsImN1cnJlbnROb2RlIiwiY29uY2F0IiwidW5zaGlmdCIsInN1cHBvcnRzJDYiLCJzZWxlY3RvciQxIiwic2VsZWN0b3IkMiIsInF1ZXJ5Rm9jdXNhYmxlUXVpY2siLCJfc2VsZWN0b3IiLCJlbGVtZW50cyIsInF1ZXJ5Rm9jdXNhYmxlIiwiX3JlZiRzdHJhdGVneSIsInN1cHBvcnRzJDciLCJmb2N1c2FibGVFbGVtZW50c1BhdHRlcm4iLCJpc1RhYmJhYmxlUnVsZXMiLCJmcmFtZU5vZGVOYW1lIiwiaXNGaXhlZEJsaW5rIiwiaGFzVGFiYmFibGVUYWJpbmRleE9yTm9uZSIsImhhc1RhYmJhYmxlVGFiaW5kZXgiLCJwb3RlbnRpYWxseVRhYmJhYmxlIiwidGFiSW5kZXgiLCJfc3R5bGUiLCJfc3R5bGUyIiwiaXNGb2N1c1JlbGV2YW50V2l0aG91dEZsZXhib3giLCJpc1RhYmJhYmxlV2l0aG91dEZsZXhib3giLCJpc1RhYmJhYmxlIiwicXVlcnlUYWJiYWJsZSIsIl9pc1RhYmJhYmxlIiwiY29tcGFyZURvbVBvc2l0aW9uIiwiYSIsImIiLCJjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiIsIkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyIsInNvcnREb21PcmRlciIsInNvcnQiLCJnZXRGaXJzdFN1Y2Nlc3Nvck9mZnNldCIsImZpbmRJbnNlcnRpb25PZmZzZXRzIiwicmVzb2x2ZUVsZW1lbnQiLCJpbnNlcnRpb25zIiwiaW5qZWN0aW9ucyIsImluc2VydEVsZW1lbnRzQXRPZmZzZXRzIiwiaW5zZXJ0ZWQiLCJpbnNlcnRpb24iLCJyZW1vdmUiLCJhcmdzIiwic3BsaWNlIiwiYXBwbHkiLCJtZXJnZUluRG9tT3JkZXIiLCJfbGlzdCIsIl9lbGVtZW50cyIsIl9jcmVhdGVDbGFzcyIsImRlZmluZVByb3BlcnRpZXMiLCJwcm9wcyIsImRlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJkZWZpbmVQcm9wZXJ0eSIsIkNvbnN0cnVjdG9yIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2NsYXNzQ2FsbENoZWNrIiwiaW5zdGFuY2UiLCJNYXBzIiwibWFwcyIsImdldEFyZWFzRm9yIiwiYWRkTWFwQnlOYW1lIiwiZXh0cmFjdEFyZWFzRnJvbUxpc3QiLCJzb3J0QXJlYSIsInVzZW1hcHMiLCJpbWFnZSIsIl9jcmVhdGVDbGFzcyQxIiwiX2NsYXNzQ2FsbENoZWNrJDEiLCJTaGFkb3dzIiwic29ydEVsZW1lbnRzIiwiaG9zdENvdW50ZXIiLCJpbkhvc3QiLCJpbkRvY3VtZW50IiwiaG9zdHMiLCJfcmVnaXN0ZXJIb3N0IiwiX3NvcnRpbmdJZCIsInBhcmVudEhvc3QiLCJfcmVnaXN0ZXJIb3N0UGFyZW50IiwiX3JlZ2lzdGVyRWxlbWVudCIsImV4dHJhY3RFbGVtZW50cyIsIl9pbmplY3RIb3N0cyIsIl9yZXBsYWNlSG9zdHMiLCJfY2xlYW51cCIsIl9jb250ZXh0IiwiX21lcmdlIiwibWVyZ2VkIiwiX3Jlc29sdmVIb3N0RWxlbWVudCIsImJpbmQiLCJzb3J0U2hhZG93ZWQiLCJzaGFkb3dzIiwic29ydFRhYmluZGV4IiwiaW5kZXhlcyIsIm5vcm1hbCIsInJlZHVjZVJpZ2h0IiwicHJldmlvdXMiLCJjdXJyZW50Iiwic3VwcG9ydHMkOCIsIm1vdmVDb250ZXh0VG9CZWdpbm5pbmciLCJwb3MiLCJ0bXAiLCJxdWVyeVRhYnNlcXVlbmNlIiwiY3JlYXRlU2hhZG93Um9vdCIsImtleWNvZGUiLCJ0YWIiLCJsZWZ0IiwidXAiLCJyaWdodCIsImRvd24iLCJwYWdlVXAiLCJwYWdlRG93biIsImVuZCIsImhvbWUiLCJlbnRlciIsImVzY2FwZSIsInNwYWNlIiwic2hpZnQiLCJjYXBzTG9jayIsImN0cmwiLCJhbHQiLCJtZXRhIiwicGF1c2UiLCJpbnNlcnQiLCJkZWxldGUiLCJiYWNrc3BhY2UiLCJfYWxpYXMiLCJuIiwiX24iLCJjb2RlIiwibnVtQ29kZSIsIl9uMiIsIl9jb2RlIiwibmFtZSQxIiwiZnJvbUNoYXJDb2RlIiwibW9kaWZpZXIiLCJtb2RpZmllclNlcXVlbmNlIiwiY3JlYXRlRXhwZWN0ZWRNb2RpZmllcnMiLCJpZ25vcmVNb2RpZmllcnMiLCJhbHRLZXkiLCJjdHJsS2V5IiwibWV0YUtleSIsInNoaWZ0S2V5IiwicmVzb2x2ZU1vZGlmaWVycyIsIm1vZGlmaWVycyIsImV4cGVjdGVkIiwidG9rZW4iLCJwcm9wZXJ0eU5hbWUiLCJyZXNvbHZlS2V5IiwibWF0Y2hNb2RpZmllcnMiLCJldmVudCIsInByb3AiLCJrZXlCaW5kaW5nIiwidGV4dCIsIl90ZXh0IiwidG9rZW5zIiwiX21vZGlmaWVycyIsIl9rZXlDb2RlcyIsImtleUNvZGVzIiwiZ2V0UGFyZW50Q29tcGFyYXRvciIsImluY2x1ZGVTZWxmIiwiaXNDaGlsZE9mIiwiRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZIiwiaXNQYXJlbnRPZiIsIndoZW5LZXkiLCJiaW5kaW5ncyIsIm1hcEtleXMiLCJyZWdpc3RlckJpbmRpbmciLCJhZGRDYWxsYmFjayIsImhhbmRsZUtleURvd24iLCJkZWZhdWx0UHJldmVudGVkIiwiaXNQYXJlbnRPZkVsZW1lbnQiLCJrZXlDb2RlIiwid2hpY2giLCJfZXZlbnQiLCJkaXNlbmdhZ2UiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInBhcmFtIiwiYWx0U2hpZnRUYWIiLCJwcmV2ZW50RGVmYXVsdCIsInNlcXVlbmNlIiwiYmFja3dhcmQiLCJmaXJzdCIsImxhc3QiLCJzb3VyY2UiLCJjdXJyZW50SW5kZXgiLCJmb3VuZCIsImluZGV4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js ***! - \**********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-overlay] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n overflow: auto;\\n z-index: 9000;\\n\\n display: flex;\\n align-content: center;\\n align-items: center;\\n flex-direction: column;\\n padding: 10vh 15px 0;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n padding: 15px 15px 0;\\n }\\n }\\n\\n [data-nextjs-dialog-backdrop] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n background-color: var(--color-backdrop);\\n pointer-events: all;\\n z-index: -1;\\n }\\n\\n [data-nextjs-dialog-backdrop-fixed] {\\n cursor: not-allowed;\\n -webkit-backdrop-filter: blur(8px);\\n backdrop-filter: blur(8px);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9zdHlsZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzswQ0EyQ1NBOzs7ZUFBQUE7Ozs7MENBM0NtQjs7Ozs7Ozs7OztBQUU1QixNQUFNQSxTQUFBQSxDQUFBQSxHQUFTQyxjQUFBQSxJQUFHLEVBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L3N0eWxlcy50c3g/MzRkNCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ShadowPortal\", ({\n enumerable: true,\n get: function() {\n return ShadowPortal;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _reactdom = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nfunction ShadowPortal(param) {\n _s();\n let { children } = param;\n let portalNode = _react.useRef(null);\n let shadowNode = _react.useRef(null);\n let [, forceUpdate] = _react.useState();\n _react.useLayoutEffect(()=>{\n const ownerDocument = document;\n portalNode.current = ownerDocument.createElement(\"nextjs-portal\");\n shadowNode.current = portalNode.current.attachShadow({\n mode: \"open\"\n });\n ownerDocument.body.appendChild(portalNode.current);\n forceUpdate({});\n return ()=>{\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current);\n }\n };\n }, []);\n return shadowNode.current ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, shadowNode.current) : null;\n}\n_s(ShadowPortal, \"P7YL0rn/sjH62F7+OsEXN5GMw3U=\");\n_c = ShadowPortal;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ShadowPortal.js.map\nvar _c;\n$RefreshReg$(_c, \"ShadowPortal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvU2hhZG93UG9ydGFsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztnREFHZ0JBOzs7ZUFBQUE7Ozs7NkVBSE87c0NBQ007QUFFdEIsU0FBU0EsYUFBYUMsS0FBMkM7O0lBQTNDLE1BQUVDLFFBQVEsRUFBaUMsR0FBM0NEO0lBQzNCLElBQUlFLGFBQWFDLE9BQU1DLE1BQU0sQ0FBcUI7SUFDbEQsSUFBSUMsYUFBYUYsT0FBTUMsTUFBTSxDQUFvQjtJQUNqRCxJQUFJLEdBQUdFLFlBQVksR0FBR0gsT0FBTUksUUFBUTtJQUVwQ0osT0FBTUssZUFBZSxDQUFDO1FBQ3BCLE1BQU1DLGdCQUFnQkM7UUFDdEJSLFdBQVdTLE9BQU8sR0FBR0YsY0FBY0csYUFBYSxDQUFDO1FBQ2pEUCxXQUFXTSxPQUFPLEdBQUdULFdBQVdTLE9BQU8sQ0FBQ0UsWUFBWSxDQUFDO1lBQUVDLE1BQU07UUFBTztRQUNwRUwsY0FBY00sSUFBSSxDQUFDQyxXQUFXLENBQUNkLFdBQVdTLE9BQU87UUFDakRMLFlBQVksQ0FBQztRQUNiLE9BQU87WUFDTCxJQUFJSixXQUFXUyxPQUFPLElBQUlULFdBQVdTLE9BQU8sQ0FBQ0YsYUFBYSxFQUFFO2dCQUMxRFAsV0FBV1MsT0FBTyxDQUFDRixhQUFhLENBQUNNLElBQUksQ0FBQ0UsV0FBVyxDQUFDZixXQUFXUyxPQUFPO1lBQ3RFO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCxPQUFPTixXQUFXTSxPQUFPLEdBQ3JCTyxXQURxQixHQUNyQkEsQ0FBQUEsR0FBQUEsVUFBQUEsWUFBWSxFQUFDakIsVUFBVUksV0FBV00sT0FBTyxJQUN6QztBQUNOO0dBckJnQlo7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1NoYWRvd1BvcnRhbC50c3g/YjQ1ZSJdLCJuYW1lcyI6WyJTaGFkb3dQb3J0YWwiLCJwYXJhbSIsImNoaWxkcmVuIiwicG9ydGFsTm9kZSIsIlJlYWN0IiwidXNlUmVmIiwic2hhZG93Tm9kZSIsImZvcmNlVXBkYXRlIiwidXNlU3RhdGUiLCJ1c2VMYXlvdXRFZmZlY3QiLCJvd25lckRvY3VtZW50IiwiZG9jdW1lbnQiLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVDaGlsZCIsImNyZWF0ZVBvcnRhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js ***! - \***************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"EditorLink\", ({\n enumerable: true,\n get: function() {\n return EditorLink;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nfunction EditorLink(param) {\n let { file, isSourceFile, location } = param;\n var _location_line, _location_column;\n const open = (0, _useopenineditor.useOpenInEditor)({\n file,\n lineNumber: (_location_line = location == null ? void 0 : location.line) != null ? _location_line : 1,\n column: (_location_column = location == null ? void 0 : location.column) != null ? _location_column : 0\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-with-open-in-editor-link\": true,\n \"data-with-open-in-editor-link-source-file\": isSourceFile ? true : undefined,\n \"data-with-open-in-editor-link-import-trace\": isSourceFile ? undefined : true,\n tabIndex: 10,\n role: \"link\",\n onClick: open,\n title: \"Click to open in your editor\",\n children: [\n file,\n location ? \":\" + location.line + \":\" + location.column : null,\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n });\n}\n_c = EditorLink;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=EditorLink.js.map\nvar _c;\n$RefreshReg$(_c, \"EditorLink\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvRWRpdG9yTGluay5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQVdnQkE7OztlQUFBQTs7Ozs7NEVBWEU7NkNBQ2M7QUFVekIsU0FBU0EsV0FBV0MsS0FBaUQ7SUFBakQsTUFBRUMsSUFBSSxFQUFFQyxZQUFZLEVBQUVDLFFBQVEsRUFBbUIsR0FBakRIO1FBR1hHLGdCQUNKQTtJQUhWLE1BQU1DLE9BQU9DLENBQUFBLEdBQUFBLGlCQUFBQSxlQUFlLEVBQUM7UUFDM0JKO1FBQ0FLLFlBQVlILENBQUFBLGlCQUFBQSxZQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxTQUFVSSxJQUFJLFlBQWRKLGlCQUFrQjtRQUM5QkssUUFBUUwsQ0FBQUEsbUJBQUFBLFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVVLLE1BQU0sWUFBaEJMLG1CQUFvQjtJQUM5QjtJQUVBLE9BQ0UsV0FERixHQUNFLElBQUFNLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsaUNBQTZCO1FBQzdCQyw2Q0FDRVgsZUFBZSxPQUFPWTtRQUV4QkMsOENBQ0ViLGVBQWVZLFlBQVk7UUFFN0JFLFVBQVU7UUFDVkMsTUFBTTtRQUNOQyxTQUFTZDtRQUNUZSxPQUFPOztZQUVObEI7WUFDQUUsV0FBVyxNQUFJQSxTQUFTSSxJQUFJLEdBQUMsTUFBR0osU0FBU0ssTUFBTSxHQUFLOzBCQUNyRCxJQUFBQyxZQUFBQyxJQUFBLEVBQUNVLE9BQUFBO2dCQUNDQyxPQUFNO2dCQUNOQyxTQUFRO2dCQUNSQyxNQUFLO2dCQUNMQyxRQUFPO2dCQUNQQyxhQUFZO2dCQUNaQyxlQUFjO2dCQUNkQyxnQkFBZTs7a0NBRWYsSUFBQWxCLFlBQUFtQixHQUFBLEVBQUNDLFFBQUFBO3dCQUFLQyxHQUFFOztrQ0FDUixJQUFBckIsWUFBQW1CLEdBQUEsRUFBQ0csWUFBQUE7d0JBQVNDLFFBQU87O2tDQUNqQixJQUFBdkIsWUFBQW1CLEdBQUEsRUFBQ3JCLFFBQUFBO3dCQUFLMEIsSUFBRzt3QkFBS0MsSUFBRzt3QkFBS0MsSUFBRzt3QkFBS0MsSUFBRzs7Ozs7O0FBSXpDO0tBdENnQnJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9UZXJtaW5hbC9FZGl0b3JMaW5rLnRzeD80NWE2Il0sIm5hbWVzIjpbIkVkaXRvckxpbmsiLCJwYXJhbSIsImZpbGUiLCJpc1NvdXJjZUZpbGUiLCJsb2NhdGlvbiIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJsaW5lTnVtYmVyIiwibGluZSIsImNvbHVtbiIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rIiwiZGF0YS13aXRoLW9wZW4taW4tZWRpdG9yLWxpbmstc291cmNlLWZpbGUiLCJ1bmRlZmluZWQiLCJkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGluay1pbXBvcnQtdHJhY2UiLCJ0YWJJbmRleCIsInJvbGUiLCJvbkNsaWNrIiwidGl0bGUiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJqc3giLCJwYXRoIiwiZCIsInBvbHlsaW5lIiwicG9pbnRzIiwieDEiLCJ5MSIsIngyIiwieTIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return Terminal;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _EditorLink = __webpack_require__(/*! ./EditorLink */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\");\nfunction getFile(lines) {\n const contentFileName = lines.shift();\n if (!contentFileName) return null;\n const [fileName, line, column] = contentFileName.split(\":\", 3);\n const parsedLine = Number(line);\n const parsedColumn = Number(column);\n const hasLocation = !Number.isNaN(parsedLine) && !Number.isNaN(parsedColumn);\n return {\n fileName: hasLocation ? fileName : contentFileName,\n location: hasLocation ? {\n line: parsedLine,\n column: parsedColumn\n } : undefined\n };\n}\nfunction getImportTraceFiles(lines) {\n if (lines.some((line)=>/ReactServerComponentsError:/.test(line)) || lines.some((line)=>/Import trace for requested module:/.test(line))) {\n // Grab the lines at the end containing the files\n const files = [];\n while(/.+\\..+/.test(lines[lines.length - 1]) && !lines[lines.length - 1].includes(\":\")){\n const file = lines.pop().trim();\n files.unshift(file);\n }\n return files;\n }\n return [];\n}\nfunction getEditorLinks(content) {\n const lines = content.split(\"\\n\");\n const file = getFile(lines);\n const importTraceFiles = getImportTraceFiles(lines);\n return {\n file,\n source: lines.join(\"\\n\"),\n importTraceFiles\n };\n}\nconst Terminal = function Terminal(param) {\n _s();\n let { content } = param;\n const { file, source, importTraceFiles } = _react.useMemo(()=>getEditorLinks(content), [\n content\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(source, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n source\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-terminal\": true,\n children: [\n file && /*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: true,\n file: file.fileName,\n location: file.location\n }, file.fileName),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"pre\", {\n children: [\n decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: entry.content\n })\n }, \"terminal-entry-\" + index)),\n importTraceFiles.map((importTraceFile)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: false,\n file: importTraceFile\n }, importTraceFile))\n ]\n })\n ]\n });\n};\n_s(Terminal, \"nkmao/TIox3Jie/+6JvWO3hTKPQ=\");\n_c = Terminal;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Terminal.js.map\nvar _c;\n$RefreshReg$(_c, \"Terminal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvVGVybWluYWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OzRDQXdEYUE7OztlQUFBQTs7Ozs7OzRFQXhESzs2RUFDSzsyQ0FDTzt3Q0FDSDtBQUkzQixTQUFTQyxRQUFRQyxLQUFlO0lBQzlCLE1BQU1DLGtCQUFrQkQsTUFBTUUsS0FBSztJQUNuQyxJQUFJLENBQUNELGlCQUFpQixPQUFPO0lBQzdCLE1BQU0sQ0FBQ0UsVUFBVUMsTUFBTUMsT0FBTyxHQUFHSixnQkFBZ0JLLEtBQUssQ0FBQyxLQUFLO0lBRTVELE1BQU1DLGFBQWFDLE9BQU9KO0lBQzFCLE1BQU1LLGVBQWVELE9BQU9IO0lBQzVCLE1BQU1LLGNBQWMsQ0FBQ0YsT0FBT0csS0FBSyxDQUFDSixlQUFlLENBQUNDLE9BQU9HLEtBQUssQ0FBQ0Y7SUFFL0QsT0FBTztRQUNMTixVQUFVTyxjQUFjUCxXQUFXRjtRQUNuQ1csVUFBVUYsY0FDTjtZQUNFTixNQUFNRztZQUNORixRQUFRSTtRQUNWLElBQ0FJO0lBQ047QUFDRjtBQUVBLFNBQVNDLG9CQUFvQmQsS0FBZTtJQUMxQyxJQUNFQSxNQUFNZSxJQUFJLENBQUMsQ0FBQ1gsT0FBUyw4QkFBOEJZLElBQUksQ0FBQ1osVUFDeERKLE1BQU1lLElBQUksQ0FBQyxDQUFDWCxPQUFTLHFDQUFxQ1ksSUFBSSxDQUFDWixRQUMvRDtRQUNBLGlEQUFpRDtRQUNqRCxNQUFNYSxRQUFRLEVBQUU7UUFDaEIsTUFDRSxTQUFTRCxJQUFJLENBQUNoQixLQUFLLENBQUNBLE1BQU1rQixNQUFNLEdBQUcsRUFBRSxLQUNyQyxDQUFDbEIsS0FBSyxDQUFDQSxNQUFNa0IsTUFBTSxHQUFHLEVBQUUsQ0FBQ0MsUUFBUSxDQUFDLEtBQ2xDO1lBQ0EsTUFBTUMsT0FBT3BCLE1BQU1xQixHQUFHLEdBQUlDLElBQUk7WUFDOUJMLE1BQU1NLE9BQU8sQ0FBQ0g7UUFDaEI7UUFFQSxPQUFPSDtJQUNUO0lBRUEsT0FBTyxFQUFFO0FBQ1g7QUFFQSxTQUFTTyxlQUFlQyxPQUFlO0lBQ3JDLE1BQU16QixRQUFReUIsUUFBUW5CLEtBQUssQ0FBQztJQUM1QixNQUFNYyxPQUFPckIsUUFBUUM7SUFDckIsTUFBTTBCLG1CQUFtQlosb0JBQW9CZDtJQUU3QyxPQUFPO1FBQUVvQjtRQUFNTyxRQUFRM0IsTUFBTTRCLElBQUksQ0FBQztRQUFPRjtJQUFpQjtBQUM1RDtBQUVPLE1BQU01QixXQUFvQyxTQUFTQSxTQUFTK0IsS0FFbEU7O0lBRmtFLE1BQ2pFSixPQUFPLEVBQ1IsR0FGa0VJO0lBR2pFLE1BQU0sRUFBRVQsSUFBSSxFQUFFTyxNQUFNLEVBQUVELGdCQUFnQixFQUFFLEdBQUdJLE9BQU1DLE9BQU8sQ0FDdEQsSUFBTVAsZUFBZUMsVUFDckI7UUFBQ0E7S0FBUTtJQUdYLE1BQU1PLFVBQVVGLE9BQU1DLE9BQU8sQ0FBQztRQUM1QixPQUFPRSxPQUFBQSxPQUFLLENBQUNDLFVBQVUsQ0FBQ1AsUUFBUTtZQUM5QlEsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLGNBQWM7UUFDaEI7SUFDRixHQUFHO1FBQUNWO0tBQU87SUFFWCxPQUNFLFdBREYsR0FDRSxJQUFBVyxZQUFBQyxJQUFBLEVBQUNDLE9BQUFBO1FBQUlDLHdCQUFvQjs7WUFDdEJyQixRQUNDLFdBRERBLEdBQ0MsSUFBQWtCLFlBQUFJLEdBQUEsRUFBQ0MsWUFBQUEsVUFBVTtnQkFDVEMsY0FBWTtnQkFFWnhCLE1BQU1BLEtBQUtqQixRQUFRO2dCQUNuQlMsVUFBVVEsS0FBS1IsUUFBUTtlQUZsQlEsS0FBS2pCLFFBQVE7MEJBS3RCLElBQUFtQyxZQUFBQyxJQUFBLEVBQUNNLE9BQUFBOztvQkFDRWIsUUFBUWMsR0FBRyxDQUFDLENBQUNDLE9BQU9DLFFBQ25CLFdBRG1CQSxHQUNuQixJQUFBVixZQUFBSSxHQUFBLEVBQUNPLFFBQUFBOzRCQUVDQyxPQUFPO2dDQUNMQyxPQUFPSixNQUFNSyxFQUFFLEdBQUcsaUJBQWVMLE1BQU1LLEVBQUUsR0FBQyxNQUFLdkM7Z0NBQy9DLEdBQUlrQyxNQUFNTSxVQUFVLEtBQUssU0FDckI7b0NBQUVDLFlBQVk7Z0NBQUksSUFDbEJQLE1BQU1NLFVBQVUsS0FBSyxXQUNyQjtvQ0FBRUUsV0FBVztnQ0FBUyxJQUN0QjFDLFNBQVM7NEJBQ2Y7c0NBRUEsa0JBQUF5QixZQUFBSSxHQUFBLEVBQUNjLGVBQUFBLGFBQWE7Z0NBQUNDLE1BQU1WLE1BQU10QixPQUFPOzsyQkFWN0Isb0JBQWtCdUI7b0JBYTFCdEIsaUJBQWlCb0IsR0FBRyxDQUFDLENBQUNZLGtCQUNyQixXQURxQkEsR0FDckIsSUFBQXBCLFlBQUFJLEdBQUEsRUFBQ0MsWUFBQUEsVUFBVTs0QkFDVEMsY0FBYzs0QkFFZHhCLE1BQU1zQzsyQkFEREE7Ozs7O0FBT2pCO0dBcERhNUQ7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL1Rlcm1pbmFsLnRzeD84NWFhIl0sIm5hbWVzIjpbIlRlcm1pbmFsIiwiZ2V0RmlsZSIsImxpbmVzIiwiY29udGVudEZpbGVOYW1lIiwic2hpZnQiLCJmaWxlTmFtZSIsImxpbmUiLCJjb2x1bW4iLCJzcGxpdCIsInBhcnNlZExpbmUiLCJOdW1iZXIiLCJwYXJzZWRDb2x1bW4iLCJoYXNMb2NhdGlvbiIsImlzTmFOIiwibG9jYXRpb24iLCJ1bmRlZmluZWQiLCJnZXRJbXBvcnRUcmFjZUZpbGVzIiwic29tZSIsInRlc3QiLCJmaWxlcyIsImxlbmd0aCIsImluY2x1ZGVzIiwiZmlsZSIsInBvcCIsInRyaW0iLCJ1bnNoaWZ0IiwiZ2V0RWRpdG9yTGlua3MiLCJjb250ZW50IiwiaW1wb3J0VHJhY2VGaWxlcyIsInNvdXJjZSIsImpvaW4iLCJwYXJhbSIsIlJlYWN0IiwidXNlTWVtbyIsImRlY29kZWQiLCJBbnNlciIsImFuc2lUb0pzb24iLCJqc29uIiwidXNlX2NsYXNzZXMiLCJyZW1vdmVfZW1wdHkiLCJfanN4cnVudGltZSIsImpzeHMiLCJkaXYiLCJkYXRhLW5leHRqcy10ZXJtaW5hbCIsImpzeCIsIkVkaXRvckxpbmsiLCJpc1NvdXJjZUZpbGUiLCJwcmUiLCJtYXAiLCJlbnRyeSIsImluZGV4Iiwic3BhbiIsInN0eWxlIiwiY29sb3IiLCJmZyIsImRlY29yYXRpb24iLCJmb250V2VpZ2h0IiwiZm9udFN0eWxlIiwiSG90bGlua2VkVGV4dCIsInRleHQiLCJpbXBvcnRUcmFjZUZpbGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js ***! - \**********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return _Terminal.Terminal;\n }\n}));\nconst _Terminal = __webpack_require__(/*! ./Terminal */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs0Q0FBU0E7OztlQUFBQSxVQUFBQSxRQUFROzs7c0NBQVEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL2luZGV4LnRzeD9iNGQ0Il0sIm5hbWVzIjpbIlRlcm1pbmFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-terminal] {\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-terminal]::selection,\\n [data-nextjs-terminal] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-terminal] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n [data-nextjs-terminal] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n\\n [data-nextjs-terminal] pre {\\n white-space: pre-wrap;\\n word-break: break-word;\\n }\\n\\n [data-with-open-in-editor-link] svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n }\\n [data-with-open-in-editor-link] {\\n cursor: pointer;\\n }\\n [data-with-open-in-editor-link]:hover {\\n text-decoration: underline dotted;\\n }\\n [data-with-open-in-editor-link-source-file] {\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-with-open-in-editor-link-import-trace] {\\n margin-left: var(--size-gap-double);\\n }\\n [data-nextjs-terminal] a {\\n color: inherit;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBcURTQTs7O2VBQUFBOzs7OzBDQXJEbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvc3R5bGVzLnRzeD81ZGE4Il0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Toast\", ({\n enumerable: true,\n get: function() {\n return Toast;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst Toast = function Toast(param) {\n let { onClick, children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast\": true,\n onClick: (e)=>{\n e.preventDefault();\n return onClick == null ? void 0 : onClick();\n },\n className: className,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast-wrapper\": true,\n children: children\n })\n });\n};\n_c = Toast;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Toast.js.map\nvar _c;\n$RefreshReg$(_c, \"Toast\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozt5Q0FRYUE7OztlQUFBQTs7Ozs7NkVBUlU7QUFRaEIsTUFBTUEsUUFBOEIsU0FBU0EsTUFBTUMsS0FJekQ7SUFKeUQsTUFDeERDLE9BQU8sRUFDUEMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FKeURIO0lBS3hELE9BQ0UsV0FERixHQUNFLElBQUFJLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MscUJBQWlCO1FBQ2pCTixTQUFTLENBQUNPO1lBQ1JBLEVBQUVDLGNBQWM7WUFDaEIsT0FBT1IsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUE7UUFDVDtRQUNBRSxXQUFXQTtrQkFFWCxrQkFBQUMsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtZQUFJSSw2QkFBeUI7c0JBQUVSOzs7QUFHdEM7S0FqQmFIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC50c3g/ZTY4NiJdLCJuYW1lcyI6WyJUb2FzdCIsInBhcmFtIiwib25DbGljayIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJkaXYiLCJkYXRhLW5leHRqcy10b2FzdCIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImRhdGEtbmV4dGpzLXRvYXN0LXdyYXBwZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Toast: function() {\n return _Toast.Toast;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\");\nconst _Toast = __webpack_require__(/*! ./Toast */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQ1NBLE9BQUs7ZUFBTEEsT0FBQUEsS0FBSzs7SUFETEMsUUFBTTtlQUFOQSxRQUFBQSxNQUFNOzs7b0NBQVE7bUNBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1RvYXN0L2luZGV4LnRzeD85YTAwIl0sIm5hbWVzIjpbIlRvYXN0Iiwic3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-toast] {\\n position: fixed;\\n bottom: var(--size-gap-double);\\n left: var(--size-gap-double);\\n max-width: 420px;\\n z-index: 9000;\\n }\\n\\n @media (max-width: 440px) {\\n [data-nextjs-toast] {\\n max-width: 90vw;\\n left: 5vw;\\n }\\n }\\n\\n [data-nextjs-toast-wrapper] {\\n padding: 16px;\\n border-radius: var(--size-gap-half);\\n font-weight: 500;\\n color: var(--color-ansi-bright-white);\\n background-color: var(--color-ansi-red);\\n box-shadow: 0px var(--size-gap-double) var(--size-gap-quad)\\n rgba(0, 0, 0, 0.25);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3Qvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBNkJTQTs7O2VBQUFBOzs7OzBDQTdCbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3Qvc3R5bGVzLnRzP2M4NDgiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js": -/*!*************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js ***! - \*************************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VersionStalenessInfo: function() {\n return VersionStalenessInfo;\n },\n getStaleness: function() {\n return getStaleness;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nfunction VersionStalenessInfo(props) {\n if (!props) return null;\n const { staleness } = props;\n let { text, indicatorClass, title } = getStaleness(props);\n if (!text) return null;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n className: \"nextjs-container-build-error-version-status\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n className: indicatorClass\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n \"data-nextjs-version-checker\": true,\n title: title,\n children: text\n }),\n \" \",\n staleness === \"fresh\" || staleness === \"newer-than-npm\" || staleness === \"unknown\" ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://nextjs.org/docs/messages/version-staleness\",\n children: \"(learn more)\"\n }),\n false ? 0 : \"\"\n ]\n });\n}\n_c = VersionStalenessInfo;\nfunction getStaleness(param) {\n let { installed, staleness, expected } = param;\n let text = \"\";\n let title = \"\";\n let indicatorClass = \"\";\n const versionLabel = \"Next.js (\" + installed + \")\";\n switch(staleness){\n case \"newer-than-npm\":\n case \"fresh\":\n text = versionLabel;\n title = \"Latest available version is detected (\" + installed + \").\";\n indicatorClass = \"fresh\";\n break;\n case \"stale-patch\":\n case \"stale-minor\":\n text = \"\" + versionLabel + \" out of date\";\n title = \"There is a newer version (\" + expected + \") available, upgrade recommended! \";\n indicatorClass = \"stale\";\n break;\n case \"stale-major\":\n {\n text = \"\" + versionLabel + \" is outdated\";\n title = \"An outdated version detected (latest is \" + expected + \"), upgrade is highly recommended!\";\n indicatorClass = \"outdated\";\n break;\n }\n case \"stale-prerelease\":\n {\n text = \"\" + versionLabel + \" is outdated\";\n title = \"There is a newer canary version (\" + expected + \") available, please upgrade! \";\n indicatorClass = \"stale\";\n break;\n }\n case \"unknown\":\n break;\n default:\n break;\n }\n return {\n text,\n indicatorClass,\n title\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=VersionStalenessInfo.js.map\nvar _c;\n$RefreshReg$(_c, \"VersionStalenessInfo\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vVmVyc2lvblN0YWxlbmVzc0luZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBR2dCQSxzQkFBb0I7ZUFBcEJBOztJQTZCQUMsY0FBWTtlQUFaQTs7Ozs7NEVBaENFO0FBR1gsU0FBU0QscUJBQXFCRSxLQUFrQjtJQUNyRCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUNuQixNQUFNLEVBQUVDLFNBQVMsRUFBRSxHQUFHRDtJQUN0QixJQUFJLEVBQUVFLElBQUksRUFBRUMsY0FBYyxFQUFFQyxLQUFLLEVBQUUsR0FBR0wsYUFBYUM7SUFFbkQsSUFBSSxDQUFDRSxNQUFNLE9BQU87SUFFbEIsT0FDRSxXQURGLEdBQ0UsSUFBQUcsWUFBQUMsSUFBQSxFQUFDQyxTQUFBQTtRQUFNQyxXQUFVOzswQkFDZixJQUFBSCxZQUFBSSxHQUFBLEVBQUNDLFFBQUFBO2dCQUFLRixXQUFXTDs7MEJBQ2pCLElBQUFFLFlBQUFJLEdBQUEsRUFBQ0YsU0FBQUE7Z0JBQU1JLCtCQUEyQjtnQkFBQ1AsT0FBT0E7MEJBQ3ZDRjs7WUFDTTtZQUNSRCxjQUFjLFdBQ2ZBLGNBQWMsb0JBQ2RBLGNBQWMsWUFBWSxPQUN4QixXQUR3QixHQUN4QixJQUFBSSxZQUFBSSxHQUFBLEVBQUNHLEtBQUFBO2dCQUNDQyxRQUFPO2dCQUNQQyxLQUFJO2dCQUNKQyxNQUFLOzBCQUNOOztZQUlGQyxNQUFxQixHQUFHLElBQWE7OztBQUc1QztLQTNCZ0JsQjtBQTZCVCxTQUFTQyxhQUFhb0IsS0FBK0M7SUFBL0MsTUFBRUMsU0FBUyxFQUFFbkIsU0FBUyxFQUFFb0IsUUFBUSxFQUFlLEdBQS9DRjtJQUMzQixJQUFJakIsT0FBTztJQUNYLElBQUlFLFFBQVE7SUFDWixJQUFJRCxpQkFBaUI7SUFDckIsTUFBTW1CLGVBQWUsY0FBWUYsWUFBVTtJQUMzQyxPQUFRbkI7UUFDTixLQUFLO1FBQ0wsS0FBSztZQUNIQyxPQUFPb0I7WUFDUGxCLFFBQVEsMkNBQXlDZ0IsWUFBVTtZQUMzRGpCLGlCQUFpQjtZQUNqQjtRQUNGLEtBQUs7UUFDTCxLQUFLO1lBQ0hELE9BQU8sS0FBR29CLGVBQWE7WUFDdkJsQixRQUFRLCtCQUE2QmlCLFdBQVM7WUFDOUNsQixpQkFBaUI7WUFDakI7UUFDRixLQUFLO1lBQWU7Z0JBQ2xCRCxPQUFPLEtBQUdvQixlQUFhO2dCQUN2QmxCLFFBQVEsNkNBQTJDaUIsV0FBUztnQkFDNURsQixpQkFBaUI7Z0JBQ2pCO1lBQ0Y7UUFDQSxLQUFLO1lBQW9CO2dCQUN2QkQsT0FBTyxLQUFHb0IsZUFBYTtnQkFDdkJsQixRQUFRLHNDQUFvQ2lCLFdBQVM7Z0JBQ3JEbEIsaUJBQWlCO2dCQUNqQjtZQUNGO1FBQ0EsS0FBSztZQUNIO1FBQ0Y7WUFDRTtJQUNKO0lBQ0EsT0FBTztRQUFFRDtRQUFNQztRQUFnQkM7SUFBTTtBQUN2QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vVmVyc2lvblN0YWxlbmVzc0luZm8udHN4PzJhMTgiXSwibmFtZXMiOlsiVmVyc2lvblN0YWxlbmVzc0luZm8iLCJnZXRTdGFsZW5lc3MiLCJwcm9wcyIsInN0YWxlbmVzcyIsInRleHQiLCJpbmRpY2F0b3JDbGFzcyIsInRpdGxlIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwic21hbGwiLCJjbGFzc05hbWUiLCJqc3giLCJzcGFuIiwiZGF0YS1uZXh0anMtdmVyc2lvbi1jaGVja2VyIiwiYSIsInRhcmdldCIsInJlbCIsImhyZWYiLCJwcm9jZXNzIiwiZW52IiwiVFVSQk9QQUNLIiwicGFyYW0iLCJpbnN0YWxsZWQiLCJleHBlY3RlZCIsInZlcnNpb25MYWJlbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js": -/*!**********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js ***! - \**********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VersionStalenessInfo: function() {\n return _VersionStalenessInfo.VersionStalenessInfo;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ./VersionStalenessInfo */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQ1NBLHNCQUFvQjtlQUFwQkEsc0JBQUFBLG9CQUFvQjs7SUFEcEJDLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7O29DQUFRO2tEQUNjIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9pbmRleC50c3g/MTdkZiJdLCJuYW1lcyI6WyJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js ***! - \***********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-build-error-version-status {\\n flex: 1;\\n text-align: right;\\n }\\n .nextjs-container-build-error-version-status small {\\n margin-left: var(--size-gap);\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status a {\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status span {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n border-radius: 5px;\\n background: var(--color-ansi-bright-black);\\n }\\n .nextjs-container-build-error-version-status span.fresh {\\n background: var(--color-ansi-green);\\n }\\n .nextjs-container-build-error-version-status span.stale {\\n background: var(--color-ansi-yellow);\\n }\\n .nextjs-container-build-error-version-status span.outdated {\\n background: var(--color-ansi-red);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vc3R5bGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBZ0NTQTs7O2VBQUFBOzs7OzBDQWhDbUI7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsU0FBQUEsQ0FBQUEsR0FBU0MsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vc3R5bGVzLnRzPzkyMTQiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js": -/*!*****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js ***! - \*****************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HotlinkedText\", ({\n enumerable: true,\n get: function() {\n return HotlinkedText;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _magicidentifier = __webpack_require__(/*! ../../../../../../shared/lib/magic-identifier */ \"./node_modules/next/dist/shared/lib/magic-identifier.js\");\nconst linkRegex = /https?:\\/\\/[^\\s/$.?#].[^\\s)'\"]*/i;\nconst splitRegexp = new RegExp(\"(\" + _magicidentifier.MAGIC_IDENTIFIER_REGEX.source + \"|\\\\s+)\");\nconst HotlinkedText = function HotlinkedText(props) {\n const { text, matcher } = props;\n const wordsAndWhitespaces = text.split(splitRegexp);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: wordsAndWhitespaces.map((word, index)=>{\n if (linkRegex.test(word)) {\n const link = linkRegex.exec(word);\n const href = link[0];\n // If link matcher is present but the link doesn't match, don't turn it into a link\n if (typeof matcher === \"function\" && !matcher(href)) {\n return word;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n href: href,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n children: word\n })\n }, \"link-\" + index);\n }\n try {\n const decodedWord = (0, _magicidentifier.decodeMagicIdentifier)(word);\n if (decodedWord !== word) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"i\", {\n children: [\n \"{\",\n decodedWord,\n \"}\"\n ]\n }, \"ident-\" + index);\n }\n } catch (e) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"i\", {\n children: [\n \"{\",\n word,\n \" (decoding failed: \",\n \"\" + e,\n \")\",\n \"}\"\n ]\n }, \"ident-\" + index);\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: word\n }, \"text-\" + index);\n })\n });\n};\n_c = HotlinkedText;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c;\n$RefreshReg$(_c, \"HotlinkedText\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvaG90LWxpbmtlZC10ZXh0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBVWFBOzs7ZUFBQUE7Ozs7OzRFQVZLOzZDQUlYO0FBRVAsTUFBTUMsWUFBWTtBQUVsQixNQUFNQyxjQUFjLElBQUlDLE9BQU8sTUFBSUMsaUJBQUFBLHNCQUFzQixDQUFDQyxNQUFNLEdBQUM7QUFFMUQsTUFBTUwsZ0JBR1IsU0FBU0EsY0FBY00sS0FBSztJQUMvQixNQUFNLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFLEdBQUdGO0lBRTFCLE1BQU1HLHNCQUFzQkYsS0FBS0csS0FBSyxDQUFDUjtJQUV2QyxPQUNFLFdBREYsR0FDRSxJQUFBUyxZQUFBQyxHQUFBLEVBQUFELFlBQUFFLFFBQUE7a0JBQ0dKLG9CQUFvQkssR0FBRyxDQUFDLENBQUNDLE1BQU1DO1lBQzlCLElBQUlmLFVBQVVnQixJQUFJLENBQUNGLE9BQU87Z0JBQ3hCLE1BQU1HLE9BQU9qQixVQUFVa0IsSUFBSSxDQUFDSjtnQkFDNUIsTUFBTUssT0FBT0YsSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLG1GQUFtRjtnQkFDbkYsSUFBSSxPQUFPVixZQUFZLGNBQWMsQ0FBQ0EsUUFBUVksT0FBTztvQkFDbkQsT0FBT0w7Z0JBQ1Q7Z0JBQ0EsT0FDRSxXQURGLEdBQ0UsSUFBQUosWUFBQUMsR0FBQSxFQUFDUyxPQUFBQSxPQUFLLENBQUNSLFFBQVE7OEJBQ2Isa0JBQUFGLFlBQUFDLEdBQUEsRUFBQ1UsS0FBQUE7d0JBQUVGLE1BQU1BO3dCQUFNRyxRQUFPO3dCQUFTQyxLQUFJO2tDQUNoQ1Q7O21CQUZnQixVQUFRQztZQU1qQztZQUNBLElBQUk7Z0JBQ0YsTUFBTVMsY0FBY0MsQ0FBQUEsR0FBQUEsaUJBQUFBLHFCQUFxQixFQUFDWDtnQkFDMUMsSUFBSVUsZ0JBQWdCVixNQUFNO29CQUN4QixPQUNFLFdBREYsR0FDRSxJQUFBSixZQUFBZ0IsSUFBQSxFQUFDQyxLQUFBQTs7NEJBQ0U7NEJBQ0FIOzRCQUNBOzt1QkFISyxXQUFTVDtnQkFNckI7WUFDRixFQUFFLE9BQU9hLEdBQUc7Z0JBQ1YsT0FDRSxXQURGLEdBQ0UsSUFBQWxCLFlBQUFnQixJQUFBLEVBQUNDLEtBQUFBOzt3QkFDRTt3QkFDQWI7d0JBQUs7d0JBQW9CLEtBQUtjO3dCQUFFO3dCQUFFOzttQkFGN0IsV0FBU2I7WUFLckI7WUFDQSxPQUFPLFdBQVAsR0FBTyxJQUFBTCxZQUFBQyxHQUFBLEVBQUNTLE9BQUFBLE9BQUssQ0FBQ1IsUUFBUTswQkFBd0JFO2VBQWxCLFVBQVFDO1FBQ3RDOztBQUdOO0tBakRhaEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL2hvdC1saW5rZWQtdGV4dC9pbmRleC50c3g/ZWNhZiJdLCJuYW1lcyI6WyJIb3RsaW5rZWRUZXh0IiwibGlua1JlZ2V4Iiwic3BsaXRSZWdleHAiLCJSZWdFeHAiLCJNQUdJQ19JREVOVElGSUVSX1JFR0VYIiwic291cmNlIiwicHJvcHMiLCJ0ZXh0IiwibWF0Y2hlciIsIndvcmRzQW5kV2hpdGVzcGFjZXMiLCJzcGxpdCIsIl9qc3hydW50aW1lIiwianN4IiwiRnJhZ21lbnQiLCJtYXAiLCJ3b3JkIiwiaW5kZXgiLCJ0ZXN0IiwibGluayIsImV4ZWMiLCJocmVmIiwiUmVhY3QiLCJhIiwidGFyZ2V0IiwicmVsIiwiZGVjb2RlZFdvcmQiLCJkZWNvZGVNYWdpY0lkZW50aWZpZXIiLCJqc3hzIiwiaSIsImUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js ***! - \*****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BuildError: function() {\n return BuildError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Terminal = __webpack_require__(/*! ../components/Terminal */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: var(--size-gap-double) 0;\\n }\\n .nextjs-container-errors-header p {\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n white-space: pre-wrap;\\n }\\n .nextjs-container-errors-body footer {\\n margin-top: var(--size-gap);\\n }\\n .nextjs-container-errors-body footer p {\\n margin: 0;\\n }\\n\\n .nextjs-container-errors-body small {\\n color: var(--color-font);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst BuildError = function BuildError(param) {\n _s();\n let { message, versionInfo } = param;\n const noop = _react.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n fixed: true,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_error_label\",\n \"aria-describedby\": \"nextjs__container_error_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: \"Build Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: \"Failed to compile\"\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Terminal.Terminal, {\n content: message\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"footer\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_build_error_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error occurred during the build process and can only be dismissed by fixing the error.\"\n })\n })\n })\n ]\n })\n ]\n })\n })\n });\n};\n_s(BuildError, \"hHp3im7kVRcdOeKmK0+3cSEjzLI=\");\n_c = BuildError;\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=BuildError.js.map\nvar _c;\n$RefreshReg$(_c, \"BuildError\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9CdWlsZEVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0lBZWFBLFlBQVU7ZUFBVkE7O0lBeUNBQyxRQUFNO2VBQU5BOzs7Ozs7NkVBeERVO29DQU9oQjtxQ0FDaUI7c0NBQ0M7a0RBQ1k7MENBQ1Q7Ozs7Ozs7Ozs7QUFJckIsTUFBTUQsYUFBd0MsU0FBU0EsV0FBV0UsS0FHeEU7O0lBSHdFLE1BQ3ZFQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWixHQUh3RUY7SUFJdkUsTUFBTUcsT0FBT0MsT0FBTUMsV0FBVyxDQUFDLEtBQU8sR0FBRyxFQUFFO0lBQzNDLE9BQ0UsV0FERixHQUNFLElBQUFDLFlBQUFDLEdBQUEsRUFBQ0MsU0FBQUEsT0FBTztRQUFDQyxPQUFLO2tCQUNaLGtCQUFBSCxZQUFBQyxHQUFBLEVBQUNHLFFBQUFBLE1BQU07WUFDTEMsTUFBSztZQUNMQyxtQkFBZ0I7WUFDaEJDLG9CQUFpQjtZQUNqQkMsU0FBU1g7c0JBRVQsa0JBQUFHLFlBQUFTLElBQUEsRUFBQ0MsUUFBQUEsYUFBYTs7a0NBQ1osSUFBQVYsWUFBQVMsSUFBQSxFQUFDRSxRQUFBQSxZQUFZO3dCQUFDQyxXQUFVOzswQ0FDdEIsSUFBQVosWUFBQUMsR0FBQSxFQUFDWSxNQUFBQTtnQ0FBR0MsSUFBRzswQ0FBa0M7OzBDQUN6QyxJQUFBZCxZQUFBQyxHQUFBLEVBQUNjLEtBQUFBO2dDQUNDRCxJQUFHO2dDQUNIRixXQUFVOzBDQUNYOzs0QkFHQWhCLGNBQWMsV0FBZEEsR0FBYyxJQUFBSSxZQUFBQyxHQUFBLEVBQUNlLHNCQUFBQSxvQkFBb0I7Z0NBQUUsR0FBR3BCLFdBQVc7aUNBQU87OztrQ0FFN0QsSUFBQUksWUFBQVMsSUFBQSxFQUFDUSxRQUFBQSxVQUFVO3dCQUFDTCxXQUFVOzswQ0FDcEIsSUFBQVosWUFBQUMsR0FBQSxFQUFDaUIsVUFBQUEsUUFBUTtnQ0FBQ0MsU0FBU3hCOzswQ0FDbkIsSUFBQUssWUFBQUMsR0FBQSxFQUFDbUIsVUFBQUE7MENBQ0Msa0JBQUFwQixZQUFBQyxHQUFBLEVBQUNjLEtBQUFBO29DQUFFRCxJQUFHOzhDQUNKLGtCQUFBZCxZQUFBQyxHQUFBLEVBQUNvQixTQUFBQTtrREFBTTs7Ozs7Ozs7OztBQVd2QjtHQXZDYTdCO0tBQUFBO0FBeUNOLE1BQU1DLFNBQUFBLENBQUFBLEdBQVM2QixjQUFBQSxJQUFHLEVBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL0J1aWxkRXJyb3IudHN4PzhlNjUiXSwibmFtZXMiOlsiQnVpbGRFcnJvciIsInN0eWxlcyIsInBhcmFtIiwibWVzc2FnZSIsInZlcnNpb25JbmZvIiwibm9vcCIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJfanN4cnVudGltZSIsImpzeCIsIk92ZXJsYXkiLCJmaXhlZCIsIkRpYWxvZyIsInR5cGUiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5Iiwib25DbG9zZSIsImpzeHMiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwiY2xhc3NOYW1lIiwiaDEiLCJpZCIsInAiLCJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsIkRpYWxvZ0JvZHkiLCJUZXJtaW5hbCIsImNvbnRlbnQiLCJmb290ZXIiLCJzbWFsbCIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js": -/*!*************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js ***! - \*************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Errors: function() {\n return Errors;\n },\n styles: function() {\n return styles;\n }\n});\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst _shared = __webpack_require__(/*! ../../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _LeftRightDialogHeader = __webpack_require__(/*! ../components/LeftRightDialogHeader */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _getErrorByType = __webpack_require__(/*! ../helpers/getErrorByType */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _CloseIcon = __webpack_require__(/*! ../icons/CloseIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst _RuntimeError = __webpack_require__(/*! ./RuntimeError */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"./node_modules/next/dist/shared/lib/error-source.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../components/hot-linked-text */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _componentstackpseudohtml = __webpack_require__(/*! ./RuntimeError/component-stack-pseudo-html */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ../helpers/hydration-error-info */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: calc(var(--size-gap-double) * 1.5) 0;\\n color: var(--color-title-h1);\\n }\\n .nextjs-container-errors-header small {\\n font-size: var(--size-font-small);\\n color: var(--color-accents-1);\\n margin-left: var(--size-gap-double);\\n }\\n .nextjs-container-errors-header small > span {\\n font-family: var(--font-stack-monospace);\\n }\\n .nextjs-container-errors-header p {\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n white-space: pre-wrap;\\n }\\n .nextjs__container_errors_desc {\\n font-family: var(--font-stack-monospace);\\n padding: var(--size-gap) var(--size-gap-double);\\n border-left: 2px solid var(--color-text-color-red-1);\\n margin-top: var(--size-gap);\\n font-weight: bold;\\n color: var(--color-text-color-red-1);\\n background-color: var(--color-text-background-red-1);\\n }\\n p.nextjs__container_errors__notes {\\n margin: var(--size-gap-double) auto;\\n color: var(--color-stack-notes);\\n font-weight: 600;\\n font-size: 15px;\\n }\\n .nextjs-container-errors-header > div > small {\\n margin: 0;\\n margin-top: var(--size-gap-half);\\n }\\n .nextjs-container-errors-header > p > a {\\n color: inherit;\\n font-weight: bold;\\n }\\n .nextjs-container-errors-body > h2:not(:first-child) {\\n margin-top: calc(var(--size-gap-double) + var(--size-gap));\\n }\\n .nextjs-container-errors-body > h2 {\\n color: var(--color-title-color);\\n margin-bottom: var(--size-gap);\\n font-size: var(--size-font-big);\\n }\\n .nextjs__container_errors__component-stack {\\n padding: 12px 32px;\\n color: var(--color-ansi-fg);\\n background: var(--color-ansi-bg);\\n }\\n .nextjs-toast-errors-parent {\\n cursor: pointer;\\n transition: transform 0.2s ease;\\n }\\n .nextjs-toast-errors-parent:hover {\\n transform: scale(1.1);\\n }\\n .nextjs-toast-errors {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n }\\n .nextjs-toast-errors > svg {\\n margin-right: var(--size-gap);\\n }\\n .nextjs-toast-errors-hide-button {\\n margin-left: var(--size-gap-triple);\\n border: none;\\n background: none;\\n color: var(--color-ansi-bright-white);\\n padding: 0;\\n transition: opacity 0.25s ease;\\n opacity: 0.7;\\n }\\n .nextjs-toast-errors-hide-button:hover {\\n opacity: 1;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction isNextjsLink(text) {\n return text.startsWith(\"https://nextjs.org\");\n}\nfunction getErrorSignature(ev) {\n const { event } = ev;\n switch(event.type){\n case _shared.ACTION_UNHANDLED_ERROR:\n case _shared.ACTION_UNHANDLED_REJECTION:\n {\n return event.reason.name + \"::\" + event.reason.message + \"::\" + event.reason.stack;\n }\n default:\n {}\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n return \"\";\n}\nfunction Errors(param) {\n let { isAppDir, errors, initialDisplayState, versionInfo } = param;\n var _activeError_componentStackFrames;\n const [lookups, setLookups] = (0, _react.useState)({});\n const [readyErrors, nextError] = (0, _react.useMemo)(()=>{\n let ready = [];\n let next = null;\n // Ensure errors are displayed in the order they occurred in:\n for(let idx = 0; idx < errors.length; ++idx){\n const e = errors[idx];\n const { id } = e;\n if (id in lookups) {\n ready.push(lookups[id]);\n continue;\n }\n // Check for duplicate errors\n if (idx > 0) {\n const prev = errors[idx - 1];\n if (getErrorSignature(prev) === getErrorSignature(e)) {\n continue;\n }\n }\n next = e;\n break;\n }\n return [\n ready,\n next\n ];\n }, [\n errors,\n lookups\n ]);\n const isLoading = (0, _react.useMemo)(()=>{\n return readyErrors.length < 1 && Boolean(errors.length);\n }, [\n errors.length,\n readyErrors.length\n ]);\n (0, _react.useEffect)(()=>{\n if (nextError == null) {\n return;\n }\n let mounted = true;\n (0, _getErrorByType.getErrorByType)(nextError, isAppDir).then((resolved)=>{\n // We don't care if the desired error changed while we were resolving,\n // thus we're not tracking it using a ref. Once the work has been done,\n // we'll store it.\n if (mounted) {\n setLookups((m)=>({\n ...m,\n [resolved.id]: resolved\n }));\n }\n }, ()=>{\n // TODO: handle this, though an edge case\n });\n return ()=>{\n mounted = false;\n };\n }, [\n nextError,\n isAppDir\n ]);\n const [displayState, setDisplayState] = (0, _react.useState)(initialDisplayState);\n const [activeIdx, setActiveIndex] = (0, _react.useState)(0);\n const previous = (0, _react.useCallback)(()=>setActiveIndex((v)=>Math.max(0, v - 1)), []);\n const next = (0, _react.useCallback)(()=>setActiveIndex((v)=>Math.max(0, Math.min(readyErrors.length - 1, v + 1))), [\n readyErrors.length\n ]);\n const activeError = (0, _react.useMemo)(()=>{\n var _readyErrors_activeIdx;\n return (_readyErrors_activeIdx = readyErrors[activeIdx]) != null ? _readyErrors_activeIdx : null;\n }, [\n activeIdx,\n readyErrors\n ]);\n // Reset component state when there are no errors to be displayed.\n // This should never happen, but lets handle it.\n (0, _react.useEffect)(()=>{\n if (errors.length < 1) {\n setLookups({});\n setDisplayState(\"hidden\");\n setActiveIndex(0);\n }\n }, [\n errors.length\n ]);\n const minimize = (0, _react.useCallback)(()=>setDisplayState(\"minimized\"), []);\n const hide = (0, _react.useCallback)(()=>setDisplayState(\"hidden\"), []);\n const fullscreen = (0, _react.useCallback)(()=>setDisplayState(\"fullscreen\"), []);\n // This component shouldn't be rendered with no errors, but if it is, let's\n // handle it gracefully by rendering nothing.\n if (errors.length < 1 || activeError == null) {\n return null;\n }\n if (isLoading) {\n // TODO: better loading state\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {});\n }\n if (displayState === \"hidden\") {\n return null;\n }\n if (displayState === \"minimized\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Toast.Toast, {\n className: \"nextjs-toast-errors-parent\",\n onClick: fullscreen,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n className: \"nextjs-toast-errors\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n readyErrors.length,\n \" error\",\n readyErrors.length > 1 ? \"s\" : \"\"\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-toast-errors-hide-button\": true,\n className: \"nextjs-toast-errors-hide-button\",\n type: \"button\",\n onClick: (e)=>{\n e.stopPropagation();\n hide();\n },\n \"aria-label\": \"Hide Errors\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n ]\n })\n });\n }\n const error = activeError.error;\n const isServerError = [\n \"server\",\n \"edge-server\"\n ].includes((0, _errorsource.getErrorSource)(error) || \"\");\n const errorDetails = error.details || {};\n const [warningTemplate, serverContent, clientContent] = errorDetails.warning || [\n null,\n \"\",\n \"\"\n ];\n const hydrationErrorType = (0, _hydrationerrorinfo.getHydrationWarningType)(warningTemplate);\n const hydrationWarning = warningTemplate ? warningTemplate.replace(\"%s\", serverContent).replace(\"%s\", clientContent).replace(\"%s\", \"\") // remove the %s for stack\n .replace(/%s$/, \"\") // If there's still a %s at the end, remove it\n .replace(/^Warning: /, \"\") : null;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_errors_label\",\n \"aria-describedby\": \"nextjs__container_errors_desc\",\n onClose: isServerError ? undefined : minimize,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_LeftRightDialogHeader.LeftRightDialogHeader, {\n previous: activeIdx > 0 ? previous : null,\n next: activeIdx < readyErrors.length - 1 ? next : null,\n close: isServerError ? undefined : minimize,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: activeIdx + 1\n }),\n \" of\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-dialog-header-total-count\": true,\n children: readyErrors.length\n }),\n \" error\",\n readyErrors.length < 2 ? \"\" : \"s\"\n ]\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: isServerError ? \"Server Error\" : \"Unhandled Runtime Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n className: \"nextjs__container_errors_desc\",\n children: [\n error.name,\n \":\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: error.message,\n matcher: isNextjsLink\n })\n ]\n }),\n hydrationWarning && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_errors__notes\",\n className: \"nextjs__container_errors__notes\",\n children: hydrationWarning\n }),\n ((_activeError_componentStackFrames = activeError.componentStackFrames) == null ? void 0 : _activeError_componentStackFrames.length) ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_componentstackpseudohtml.PseudoHtmlDiff, {\n className: \"nextjs__container_errors__component-stack\",\n hydrationMismatchType: hydrationErrorType,\n componentStackFrames: activeError.componentStackFrames,\n firstContent: serverContent,\n secondContent: clientContent\n }) : null\n ]\n }),\n isServerError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error happened while generating the page. Any console logs will be displayed in the terminal window.\"\n })\n }) : undefined\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_RuntimeError.RuntimeError, {\n error: activeError\n }, activeError.id.toString())\n })\n ]\n })\n })\n });\n}\n_c = Errors;\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Errors.js.map\nvar _c;\n$RefreshReg$(_c, \"Errors\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9FcnJvcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBa0VnQkEsUUFBTTtlQUFOQTs7SUF3UEhDLFFBQU07ZUFBTkE7Ozs7O21DQTFUNkM7b0NBTW5EO29DQU1BO21EQUMrQjtxQ0FDZDttQ0FDRjs0Q0FDUzswQ0FFSDt1Q0FDRjswQ0FDRztrREFDUTt5Q0FFTjsyQ0FDRDtzREFDQztnREFJeEI7Ozs7Ozs7Ozs7QUFpQlAsU0FBU0MsYUFBYUMsSUFBWTtJQUNoQyxPQUFPQSxLQUFLQyxVQUFVLENBQUM7QUFDekI7QUFFQSxTQUFTQyxrQkFBa0JDLEVBQXVCO0lBQ2hELE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdEO0lBQ2xCLE9BQVFDLE1BQU1DLElBQUk7UUFDaEIsS0FBS0MsUUFBQUEsc0JBQXNCO1FBQzNCLEtBQUtDLFFBQUFBLDBCQUEwQjtZQUFFO2dCQUMvQixPQUFPSCxNQUFTSSxNQUFNLENBQUNDLElBQUksR0FBQyxPQUFJTCxNQUFNSSxNQUFNLENBQUNFLE9BQU8sR0FBQyxPQUFJTixNQUFNSSxNQUFNLENBQUNHLEtBQUs7WUFDN0U7UUFDQTtZQUFTLENBQ1Q7SUFDRjtJQUVBLDZEQUE2RDtJQUM3RCxNQUFNQyxJQUFXUjtJQUNqQixPQUFPO0FBQ1Q7QUFFTyxTQUFTUCxPQUFPZ0IsS0FLVDtJQUxTLE1BQ3JCQyxRQUFRLEVBQ1JDLE1BQU0sRUFDTkMsbUJBQW1CLEVBQ25CQyxXQUFXLEVBQ0MsR0FMU0o7UUEyTk5LO0lBck5mLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHQyxDQUFBQSxHQUFBQSxPQUFBQSxRQUFRLEVBQ3BDLENBQUM7SUFHSCxNQUFNLENBQUNDLGFBQWFDLFVBQVUsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsT0FBTyxFQUV0QztRQUNBLElBQUlDLFFBQTJCLEVBQUU7UUFDakMs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RixJQUFHO3dDQUNINEIsV0FBVTtrREFFVHlDOztvQ0FFRmpGLENBQUFBLENBQUFBLG9DQUFBQSxZQUFZb0csb0JBQW9CLHFCQUFoQ3BHLGtDQUFrQ1UsTUFBTSxJQUN2QyxXQUR1QyxHQUN2QyxJQUFBMEIsWUFBQUMsR0FBQSxFQUFDZ0UsMEJBQUFBLGNBQWM7d0NBQ2I3RCxXQUFVO3dDQUNWOEQsdUJBQXVCdkI7d0NBQ3ZCcUIsc0JBQXNCcEcsWUFBWW9HLG9CQUFvQjt3Q0FDdERHLGNBQWMzQjt3Q0FDZDRCLGVBQWUzQjt5Q0FFZjs7OzRCQUdQUCxnQkFDQyxXQUREQSxHQUNDLElBQUFsQyxZQUFBQyxHQUFBLEVBQUNNLE9BQUFBOzBDQUNDLGtCQUFBUCxZQUFBQyxHQUFBLEVBQUN1RCxTQUFBQTs4Q0FBTTs7aUNBS1BMOzs7a0NBRU4sSUFBQW5ELFlBQUFDLEdBQUEsRUFBQ29FLFFBQUFBLFVBQVU7d0JBQUNqRSxXQUFVO2tDQUNwQixrQkFBQUosWUFBQUMsR0FBQSxFQUFDcUUsY0FBQUEsWUFBWTs0QkFBaUNyQyxPQUFPckU7MkJBQWxDQSxZQUFZWSxFQUFFLENBQUMrRixRQUFROzs7Ozs7QUFNdEQ7S0F0UGdCaEk7QUF3UFQsTUFBTUMsU0FBQUEsQ0FBQUEsR0FBU2dJLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvRXJyb3JzLnRzeD84YTM0Il0sIm5hbWVzIjpbIkVycm9ycyIsInN0eWxlcyIsImlzTmV4dGpzTGluayIsInRleHQiLCJzdGFydHNXaXRoIiwiZ2V0RXJyb3JTaWduYXR1cmUiLCJldiIsImV2ZW50IiwidHlwZSIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiIsInJlYXNvbiIsIm5hbWUiLCJtZXNzYWdlIiwic3RhY2siLCJfIiwicGFyYW0iLCJpc0FwcERpciIsImVycm9ycyIsImluaXRpYWxEaXNwbGF5U3RhdGUiLCJ2ZXJzaW9uSW5mbyIsImFjdGl2ZUVycm9yIiwibG9va3VwcyIsInNldExvb2t1cHMiLCJ1c2VTdGF0ZSIsInJlYWR5RXJyb3JzIiwibmV4dEVycm9yIiwidXNlTWVtbyIsInJlYWR5IiwibmV4dCIsImlkeCIsImxlbmd0aCIsImUiLCJpZCIsInB1c2giLCJwcmV2IiwiaXNMb2FkaW5nIiwiQm9vbGVhbiIsInVzZUVmZmVjdCIsIm1vdW50ZWQiLCJnZXRFcnJvckJ5VHlwZSIsInRoZW4iLCJyZXNvbHZlZCIsIm0iLCJkaXNwbGF5U3RhdGUiLCJzZXREaXNwbGF5U3RhdGUiLCJhY3RpdmVJZHgiLCJzZXRBY3RpdmVJbmRleCIsInByZXZpb3VzIiwidXNlQ2FsbGJhY2siLCJ2IiwiTWF0aCIsIm1heCIsIm1pbiIsIm1pbmltaXplIiwiaGlkZSIsImZ1bGxzY3JlZW4iLCJfanN4cnVudGltZSIsImpzeCIsIk92ZXJsYXkiLCJUb2FzdCIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJqc3hzIiwiZGl2Iiwic3ZnIiwieG1sbnMiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJjaXJjbGUiLCJjeCIsImN5IiwiciIsImxpbmUiLCJ4MSIsInkxIiwieDIiLCJ5MiIsInNwYW4iLCJidXR0b24iLCJkYXRhLW5leHRqcy10b2FzdC1lcnJvcnMtaGlkZS1idXR0b24iLCJzdG9wUHJvcGFnYXRpb24iLCJhcmlhLWxhYmVsIiwiQ2xvc2VJY29uIiwiZXJyb3IiLCJpc1NlcnZlckVycm9yIiwiaW5jbHVkZXMiLCJnZXRFcnJvclNvdXJjZSIsImVycm9yRGV0YWlscyIsImRldGFpbHMiLCJ3YXJuaW5nVGVtcGxhdGUiLCJzZXJ2ZXJDb250ZW50IiwiY2xpZW50Q29udGVudCIsIndhcm5pbmciLCJoeWRyYXRpb25FcnJvclR5cGUiLCJnZXRIeWRyYXRpb25XYXJuaW5nVHlwZSIsImh5ZHJhdGlvbldhcm5pbmciLCJyZXBsYWNlIiwiRGlhbG9nIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsIm9uQ2xvc2UiLCJ1bmRlZmluZWQiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwiY2xvc2UiLCJzbWFsbCIsImRhdGEtbmV4dGpzLWRpYWxvZy1oZWFkZXItdG90YWwtY291bnQiLCJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsImgxIiwicCIsIkhvdGxpbmtlZFRleHQiLCJtYXRjaGVyIiwiRnJhZ21lbnQiLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsIlBzZXVkb0h0bWxEaWZmIiwiaHlkcmF0aW9uTWlzbWF0Y2hUeXBlIiwiZmlyc3RDb250ZW50Iiwic2Vjb25kQ29udGVudCIsIkRpYWxvZ0JvZHkiLCJSdW50aW1lRXJyb3IiLCJ0b1N0cmluZyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js": -/*!**********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js ***! - \**********************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CallStackFrame\", ({\n enumerable: true,\n get: function() {\n return CallStackFrame;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../../components/hot-linked-text */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst CallStackFrame = function CallStackFrame(param) {\n let { frame } = param;\n var _frame_originalStackFrame;\n // TODO: ability to expand resolved frames\n // TODO: render error or external indicator\n const f = (_frame_originalStackFrame = frame.originalStackFrame) != null ? _frame_originalStackFrame : frame.sourceStackFrame;\n const hasSource = Boolean(frame.originalCodeFrame);\n const open = (0, _useopenineditor.useOpenInEditor)(hasSource ? {\n file: f.file,\n lineNumber: f.lineNumber,\n column: f.column\n } : undefined);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-call-stack-frame\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n \"data-nextjs-frame-expanded\": Boolean(frame.expanded),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: f.methodName\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-has-source\": hasSource ? \"true\" : undefined,\n tabIndex: hasSource ? 10 : undefined,\n role: hasSource ? \"link\" : undefined,\n onClick: open,\n title: hasSource ? \"Click to open in your editor\" : undefined,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: (0, _stackframe.getFrameSource)(f)\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n ]\n });\n};\n_c = CallStackFrame;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CallStackFrame.js.map\nvar _c;\n$RefreshReg$(_c, \"CallStackFrame\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvQ2FsbFN0YWNrRnJhbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFRYUE7OztlQUFBQTs7Ozt3Q0FKTjs2Q0FDeUI7MkNBQ0Y7QUFFdkIsTUFBTUEsaUJBRVIsU0FBU0EsZUFBZUMsS0FBUztJQUFULE1BQUVDLEtBQUssRUFBRSxHQUFURDtRQUlMQztJQUh0QiwwQ0FBMEM7SUFDMUMsMkNBQTJDO0lBRTNDLE1BQU1DLElBQWdCRCxDQUFBQSw0QkFBQUEsTUFBTUUsa0JBQWtCLFlBQXhCRiw0QkFBNEJBLE1BQU1HLGdCQUFnQjtJQUN4RSxNQUFNQyxZQUFZQyxRQUFRTCxNQUFNTSxpQkFBaUI7SUFDakQsTUFBTUMsT0FBT0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQWUsRUFDMUJKLFlBQ0k7UUFDRUssTUFBTVIsRUFBRVEsSUFBSTtRQUNaQyxZQUFZVCxFQUFFUyxVQUFVO1FBQ3hCQyxRQUFRVixFQUFFVSxNQUFNO0lBQ2xCLElBQ0FDO0lBR04sT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUFJQyxnQ0FBNEI7OzBCQUMvQixJQUFBSCxZQUFBSSxHQUFBLEVBQUNDLE1BQUFBO2dCQUFHQyw4QkFBNEJkLFFBQVFMLE1BQU1vQixRQUFROzBCQUNwRCxrQkFBQVAsWUFBQUksR0FBQSxFQUFDSSxlQUFBQSxhQUFhO29CQUFDQyxNQUFNckIsRUFBRXNCLFVBQVU7OzswQkFFbkMsSUFBQVYsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtnQkFDQ1MsbUJBQWlCcEIsWUFBWSxTQUFTUTtnQkFDdENhLFVBQVVyQixZQUFZLEtBQUtRO2dCQUMzQmMsTUFBTXRCLFlBQVksU0FBU1E7Z0JBQzNCZSxTQUFTcEI7Z0JBQ1RxQixPQUFPeEIsWUFBWSxpQ0FBaUNROztrQ0FFcEQsSUFBQUMsWUFBQUksR0FBQSxFQUFDWSxRQUFBQTtrQ0FBTUMsQ0FBQUEsR0FBQUEsWUFBQUEsY0FBYyxFQUFDN0I7O2tDQUN0QixJQUFBWSxZQUFBQyxJQUFBLEVBQUNpQixPQUFBQTt3QkFDQ0MsT0FBTTt3QkFDTkMsU0FBUTt3QkFDUkMsTUFBSzt3QkFDTEMsUUFBTzt3QkFDUEMsYUFBWTt3QkFDWkMsZUFBYzt3QkFDZEMsZ0JBQWU7OzBDQUVmLElBQUF6QixZQUFBSSxHQUFBLEVBQUNzQixRQUFBQTtnQ0FBS0MsR0FBRTs7MENBQ1IsSUFBQTNCLFlBQUFJLEdBQUEsRUFBQ3dCLFlBQUFBO2dDQUFTQyxRQUFPOzswQ0FDakIsSUFBQTdCLFlBQUFJLEdBQUEsRUFBQzBCLFFBQUFBO2dDQUFLQyxJQUFHO2dDQUFLQyxJQUFHO2dDQUFLQyxJQUFHO2dDQUFLQyxJQUFHOzs7Ozs7OztBQUszQztLQS9DYWpEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9DYWxsU3RhY2tGcmFtZS50c3g/YjZjMyJdLCJuYW1lcyI6WyJDYWxsU3RhY2tGcmFtZSIsInBhcmFtIiwiZnJhbWUiLCJmIiwib3JpZ2luYWxTdGFja0ZyYW1lIiwic291cmNlU3RhY2tGcmFtZSIsImhhc1NvdXJjZSIsIkJvb2xlYW4iLCJvcmlnaW5hbENvZGVGcmFtZSIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsInVuZGVmaW5lZCIsIl9qc3hydW50aW1lIiwianN4cyIsImRpdiIsImRhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWUiLCJqc3giLCJoMyIsImRhdGEtbmV4dGpzLWZyYW1lLWV4cGFuZGVkIiwiZXhwYW5kZWQiLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsIm1ldGhvZE5hbWUiLCJkYXRhLWhhcy1zb3VyY2UiLCJ0YWJJbmRleCIsInJvbGUiLCJvbkNsaWNrIiwidGl0bGUiLCJzcGFuIiwiZ2V0RnJhbWVTb3VyY2UiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJwYXRoIiwiZCIsInBvbHlsaW5lIiwicG9pbnRzIiwibGluZSIsIngxIiwieTEiLCJ4MiIsInkyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js": -/*!**************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js ***! - \**************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"GroupedStackFrames\", ({\n enumerable: true,\n get: function() {\n return GroupedStackFrames;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _CallStackFrame = __webpack_require__(/*! ./CallStackFrame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\");\nconst _CollapseIcon = __webpack_require__(/*! ../../icons/CollapseIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\");\nconst _FrameworkIcon = __webpack_require__(/*! ../../icons/FrameworkIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js\");\nfunction FrameworkGroup(param) {\n let { framework, stackFrames } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"details\", {\n \"data-nextjs-collapsed-call-stack-details\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"summary\", {\n tabIndex: 10,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CollapseIcon.CollapseIcon, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_FrameworkIcon.FrameworkIcon, {\n framework: framework\n }),\n framework === \"react\" ? \"React\" : \"Next.js\"\n ]\n }),\n stackFrames.map((frame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + index))\n ]\n });\n}\n_c = FrameworkGroup;\nfunction GroupedStackFrames(param) {\n let { groupedStackFrames, show } = param;\n if (!show) return;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: groupedStackFrames.map((stackFramesGroup, groupIndex)=>{\n // Collapse React and Next.js frames\n if (stackFramesGroup.framework) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(FrameworkGroup, {\n framework: stackFramesGroup.framework,\n stackFrames: stackFramesGroup.stackFrames\n }, \"call-stack-framework-group-\" + groupIndex);\n }\n return stackFramesGroup.stackFrames.map((frame, frameIndex)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + groupIndex + \"-\" + frameIndex));\n })\n });\n}\n_c1 = GroupedStackFrames;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=GroupedStackFrames.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"FrameworkGroup\");\n$RefreshReg$(_c1, \"GroupedStackFrames\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvR3JvdXBlZFN0YWNrRnJhbWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBMkJnQkE7OztlQUFBQTs7Ozs0Q0ExQmU7MENBQ0Y7MkNBQ0M7QUFFOUIsU0FBU0MsZUFBZUMsS0FNdkI7SUFOdUIsTUFDdEJDLFNBQVMsRUFDVEMsV0FBVyxFQUlaLEdBTnVCRjtJQU90QixPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxJQUFBLEVBQUNDLFdBQUFBO1FBQVFDLDRDQUF3Qzs7MEJBRS9DLElBQUFILFlBQUFDLElBQUEsRUFBQ0csV0FBQUE7Z0JBQVFDLFVBQVU7O2tDQUNqQixJQUFBTCxZQUFBTSxHQUFBLEVBQUNDLGNBQUFBLFlBQVk7a0NBQ2IsSUFBQVAsWUFBQU0sR0FBQSxFQUFDRSxlQUFBQSxhQUFhO3dCQUFDVixXQUFXQTs7b0JBQ3pCQSxjQUFjLFVBQVUsVUFBVTs7O1lBRXBDQyxZQUFZVSxHQUFHLENBQUMsQ0FBQ0MsT0FBT0MsUUFDdkIsV0FEdUJBLEdBQ3ZCLElBQUFYLFlBQUFNLEdBQUEsRUFBQ00sZ0JBQUFBLGNBQWM7b0JBQTZCRixPQUFPQTttQkFBOUIsZ0JBQWNDOzs7QUFJM0M7S0FwQlNmO0FBc0JGLFNBQVNELG1CQUFtQkUsS0FNbEM7SUFOa0MsTUFDakNnQixrQkFBa0IsRUFDbEJDLElBQUksRUFJTCxHQU5rQ2pCO0lBT2pDLElBQUksQ0FBQ2lCLE1BQU07SUFDWCxPQUNFLFdBREYsR0FDRSxJQUFBZCxZQUFBTSxHQUFBLEVBQUFOLFlBQUFlLFFBQUE7a0JBQ0dGLG1CQUFtQkosR0FBRyxDQUFDLENBQUNPLGtCQUFrQkM7WUFDekMsb0NBQW9DO1lBQ3BDLElBQUlELGlCQUFpQmxCLFNBQVMsRUFBRTtnQkFDOUIsT0FDRSxXQURGLEdBQ0UsSUFBQUUsWUFBQU0sR0FBQSxFQUFDVixnQkFBQUE7b0JBRUNFLFdBQVdrQixpQkFBaUJsQixTQUFTO29CQUNyQ0MsYUFBYWlCLGlCQUFpQmpCLFdBQVc7bUJBRnBDLGdDQUE4QmtCO1lBS3pDO1lBRUEsT0FFRUQsaUJBQWlCakIsV0FBVyxDQUFDVSxHQUFHLENBQUMsQ0FBQ0MsT0FBT1EsYUFDdkMsV0FEdUNBLEdBQ3ZDLElBQUFsQixZQUFBTSxHQUFBLEVBQUNNLGdCQUFBQSxjQUFjO29CQUViRixPQUFPQTttQkFERixnQkFBY08sYUFBVyxNQUFHQztRQUt6Qzs7QUFHTjtNQWxDZ0J2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvR3JvdXBlZFN0YWNrRnJhbWVzLnRzeD82MDkyIl0sIm5hbWVzIjpbIkdyb3VwZWRTdGFja0ZyYW1lcyIsIkZyYW1ld29ya0dyb3VwIiwicGFyYW0iLCJmcmFtZXdvcmsiLCJzdGFja0ZyYW1lcyIsIl9qc3hydW50aW1lIiwianN4cyIsImRldGFpbHMiLCJkYXRhLW5leHRqcy1jb2xsYXBzZWQtY2FsbC1zdGFjay1kZXRhaWxzIiwic3VtbWFyeSIsInRhYkluZGV4IiwianN4IiwiQ29sbGFwc2VJY29uIiwiRnJhbWV3b3JrSWNvbiIsIm1hcCIsImZyYW1lIiwiaW5kZXgiLCJDYWxsU3RhY2tGcmFtZSIsImdyb3VwZWRTdGFja0ZyYW1lcyIsInNob3ciLCJGcmFnbWVudCIsInN0YWNrRnJhbWVzR3JvdXAiLCJncm91cEluZGV4IiwiZnJhbWVJbmRleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js": -/*!***********************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js ***! - \***********************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PseudoHtmlDiff\", ({\n enumerable: true,\n get: function() {\n return PseudoHtmlDiff;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst _CollapseIcon = __webpack_require__(/*! ../../icons/CollapseIcon */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\");\nfunction getAdjacentProps(isAdj) {\n return {\n \"data-nextjs-container-errors-pseudo-html--tag-adjacent\": isAdj\n };\n}\nfunction PseudoHtmlDiff(param) {\n let { componentStackFrames, firstContent, secondContent, hydrationMismatchType, ...props } = param;\n const isHtmlTagsWarning = hydrationMismatchType === \"tag\";\n // For text mismatch, mismatched text will take 2 rows, so we display 4 rows of component stack\n const MAX_NON_COLLAPSED_FRAMES = isHtmlTagsWarning ? 6 : 4;\n const shouldCollapse = componentStackFrames.length > MAX_NON_COLLAPSED_FRAMES;\n const [isHtmlCollapsed, toggleCollapseHtml] = (0, _react.useState)(shouldCollapse);\n const htmlComponents = (0, _react.useMemo)(()=>{\n const tagNames = isHtmlTagsWarning ? [\n firstContent.replace(/<|>/g, \"\"),\n secondContent.replace(/<|>/g, \"\")\n ] : [];\n const nestedHtmlStack = [];\n let lastText = \"\";\n const componentStack = componentStackFrames.map((frame)=>frame.component).reverse();\n // [child index, parent index]\n const matchedIndex = [\n -1,\n -1\n ];\n if (isHtmlTagsWarning) {\n // Reverse search for the child tag\n for(let i = componentStack.length - 1; i >= 0; i--){\n if (componentStack[i] === tagNames[0]) {\n matchedIndex[0] = i;\n break;\n }\n }\n // Start searching parent tag from child tag above\n for(let i = matchedIndex[0] - 1; i >= 0; i--){\n if (componentStack[i] === tagNames[1]) {\n matchedIndex[1] = i;\n break;\n }\n }\n }\n componentStack.forEach((component, index, componentList)=>{\n const spaces = \" \".repeat(nestedHtmlStack.length * 2);\n // const prevComponent = componentList[index - 1]\n // const nextComponent = componentList[index + 1]\n // When component is the server or client tag name, highlight it\n const isHighlightedTag = isHtmlTagsWarning ? index === matchedIndex[0] || index === matchedIndex[1] : tagNames.includes(component);\n const isAdjacentTag = isHighlightedTag || Math.abs(index - matchedIndex[0]) <= 1 || Math.abs(index - matchedIndex[1]) <= 1;\n const isLastFewFrames = !isHtmlTagsWarning && index >= componentList.length - 6;\n const adjProps = getAdjacentProps(isAdjacentTag);\n if (isHtmlTagsWarning && isAdjacentTag || isLastFewFrames) {\n const codeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n spaces,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n ...adjProps,\n ...isHighlightedTag ? {\n \"data-nextjs-container-errors-pseudo-html--tag-error\": true\n } : undefined,\n children: \"<\" + component + \">\\n\"\n })\n ]\n });\n lastText = component;\n const wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n codeLine,\n isHighlightedTag && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--hint\": true,\n children: spaces + \"^\".repeat(component.length + 2) + \"\\n\"\n })\n ]\n }, nestedHtmlStack.length);\n nestedHtmlStack.push(wrappedCodeLine);\n } else {\n if (nestedHtmlStack.length >= MAX_NON_COLLAPSED_FRAMES && isHtmlCollapsed) {\n return;\n }\n if (!isHtmlCollapsed || isLastFewFrames) {\n nestedHtmlStack.push(/*#__PURE__*/ (0, _react.createElement)(\"span\", {\n ...adjProps,\n key: nestedHtmlStack.length,\n children: [\n spaces,\n \"<\" + component + \">\\n\"\n ]\n }));\n } else if (isHtmlCollapsed && lastText !== \"...\") {\n lastText = \"...\";\n nestedHtmlStack.push(/*#__PURE__*/ (0, _react.createElement)(\"span\", {\n ...adjProps,\n key: nestedHtmlStack.length,\n children: [\n spaces,\n \"...\\n\"\n ]\n }));\n }\n }\n });\n // Hydration mismatch: text or text-tag\n if (!isHtmlTagsWarning) {\n const spaces = \" \".repeat(nestedHtmlStack.length * 2);\n let wrappedCodeLine;\n if (hydrationMismatchType === \"text\") {\n // hydration type is \"text\", represent [server content, client content]\n wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-remove\": true,\n children: spaces + ('\"' + firstContent + '\"\\n')\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-add\": true,\n children: spaces + ('\"' + secondContent + '\"\\n')\n })\n ]\n }, nestedHtmlStack.length);\n } else {\n // hydration type is \"text-in-tag\", represent [parent tag, mismatch content]\n wrappedCodeLine = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--tag-adjacent\": true,\n children: spaces + (\"<\" + secondContent + \">\\n\")\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"data-nextjs-container-errors-pseudo-html--diff-remove\": true,\n children: spaces + (' \"' + firstContent + '\"\\n')\n })\n ]\n }, nestedHtmlStack.length);\n }\n nestedHtmlStack.push(wrappedCodeLine);\n }\n return nestedHtmlStack;\n }, [\n componentStackFrames,\n isHtmlCollapsed,\n firstContent,\n secondContent,\n isHtmlTagsWarning,\n hydrationMismatchType,\n MAX_NON_COLLAPSED_FRAMES\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-container-errors-pseudo-html\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-container-errors-pseudo-html-collapse\": true,\n onClick: ()=>toggleCollapseHtml(!isHtmlCollapsed),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CollapseIcon.CollapseIcon, {\n collapsed: isHtmlCollapsed\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n ...props,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"code\", {\n children: htmlComponents\n })\n })\n ]\n });\n}\n_c = PseudoHtmlDiff;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=component-stack-pseudo-html.js.map\nvar _c;\n$RefreshReg$(_c, \"PseudoHtmlDiff\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvY29tcG9uZW50LXN0YWNrLXBzZXVkby1odG1sLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBd0RnQkE7OztlQUFBQTs7OzttQ0F4RDRCOzBDQUVmO0FBRTdCLFNBQVNDLGlCQUFpQkMsS0FBYztJQUN0QyxPQUFPO1FBQUUsMERBQTBEQTtJQUFNO0FBQzNFO0FBa0RPLFNBQVNGLGVBQWVHLEtBV1M7SUFYVCxNQUM3QkMsb0JBQW9CLEVBQ3BCQyxZQUFZLEVBQ1pDLGFBQWEsRUFDYkMscUJBQXFCLEVBQ3JCLEdBQUdDLE9BTW1DLEdBWFRMO0lBWTdCLE1BQU1NLG9CQUFvQkYsMEJBQTBCO0lBQ3BELCtGQUErRjtJQUMvRixNQUFNRywyQkFBMkJELG9CQUFvQixJQUFJO0lBQ3pELE1BQU1FLGlCQUFpQlAscUJBQXFCUSxNQUFNLEdBQUdGO0lBQ3JELE1BQU0sQ0FBQ0csaUJBQWlCQyxtQkFBbUIsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsUUFBUSxFQUFDSjtJQUV2RCxNQUFNSyxpQkFBaUJDLENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBQztRQUM3QixNQUFNQyxXQUFXVCxvQkFFYjtZQUFDSixhQUFhYyxPQUFPLENBQUMsUUFBUTtZQUFLYixjQUFjYSxPQUFPLENBQUMsUUFBUTtTQUFJLEdBQ3JFLEVBQUU7UUFDTixNQUFNQyxrQkFBcUMsRUFBRTtRQUM3QyxJQUFJQyxXQUFXO1FBRWYsTUFBTUMsaUJBQWlCbEIscUJBQ3BCbUIsR0FBRyxDQUFDLENBQUNDLFFBQVVBLE1BQU1DLFNBQVMsRUFDOUJDLE9BQU87UUFFViw4QkFBOEI7UUFDOUIsTUFBTUMsZUFBZTtZQUFDLENBQUM7WUFBRyxDQUFDO1NBQUU7UUFDN0IsSUFBSWxCLG1CQUFtQjtZQUNyQixtQ0FBbUM7WUFDbkMsSUFBSyxJQUFJbUIsSUFB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R0FBR3pELEtBQUs7MEJBQ1osa0JBQUFrQyxZQUFBRyxHQUFBLEVBQUNxQixRQUFBQTs4QkFBTWxEOzs7OztBQUlmO0tBekxnQmhCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9jb21wb25lbnQtc3RhY2stcHNldWRvLWh0bWwudHN4PzYzMTYiXSwibmFtZXMiOlsiUHNldWRvSHRtbERpZmYiLCJnZXRBZGphY2VudFByb3BzIiwiaXNBZGoiLCJwYXJhbSIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwiZmlyc3RDb250ZW50Iiwic2Vjb25kQ29udGVudCIsImh5ZHJhdGlvbk1pc21hdGNoVHlwZSIsInByb3BzIiwiaXNIdG1sVGFnc1dhcm5pbmciLCJNQVhfTk9OX0NPTExBUFNFRF9GUkFNRVMiLCJzaG91bGRDb2xsYXBzZSIsImxlbmd0aCIsImlzSHRtbENvbGxhcHNlZCIsInRvZ2dsZUNvbGxhcHNlSHRtbCIsInVzZVN0YXRlIiwiaHRtbENvbXBvbmVudHMiLCJ1c2VNZW1vIiwidGFnTmFtZXMiLCJyZXBsYWNlIiwibmVzdGVkSHRtbFN0YWNrIiwibGFzdFRleHQiLCJjb21wb25lbnRTdGFjayIsIm1hcCIsImZyYW1lIiwiY29tcG9uZW50IiwicmV2ZXJzZSIsIm1hdGNoZWRJbmRleCIsImkiLCJmb3JFYWNoIiwiaW5kZXgiLCJjb21wb25lbnRMaXN0Iiwic3BhY2VzIiwicmVwZWF0IiwiaXNIaWdobGlnaHRlZFRhZyIsImluY2x1ZGVzIiwiaXNBZGphY2VudFRhZyIsIk1hdGgiLCJhYnMiLCJpc0xhc3RGZXdGcmFtZXMiLCJhZGpQcm9wcyIsImNvZGVMaW5lIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwic3BhbiIsImpzeCIsInVuZGVmaW5lZCIsIndyYXBwZWRDb2RlTGluZSIsIkZyYWdtZW50IiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbC0taGludCIsInB1c2giLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50Iiwia2V5IiwiZGF0YS1uZXh0anMtY29udGFpbmVyLWVycm9ycy1wc2V1ZG8taHRtbC0tZGlmZi1yZW1vdmUiLCJkYXRhLW5leHRqcy1jb250YWluZXItZXJyb3JzLXBzZXVkby1odG1sLS1kaWZmLWFkZCIsImRhdGEtbmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtcHNldWRvLWh0bWwtLXRhZy1hZGphY2VudCIsImRpdiIsImRhdGEtbmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtcHNldWRvLWh0bWwiLCJidXR0b24iLCJ0YWJJbmRleCIsImRhdGEtbmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtcHNldWRvLWh0bWwtY29sbGFwc2UiLCJvbkNsaWNrIiwiQ29sbGFwc2VJY29uIiwiY29sbGFwc2VkIiwicHJlIiwiY29kZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RuntimeError: function() {\n return RuntimeError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _CodeFrame = __webpack_require__(/*! ../../components/CodeFrame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _groupstackframesbyframework = __webpack_require__(/*! ../../helpers/group-stack-frames-by-framework */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\");\nconst _GroupedStackFrames = __webpack_require__(/*! ./GroupedStackFrames */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n button[data-nextjs-data-runtime-error-collapsed-action] {\\n background: none;\\n border: none;\\n padding: 0;\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-bigger);\\n color: var(--color-accents-3);\\n }\\n\\n [data-nextjs-call-stack-frame]:not(:last-child),\\n [data-nextjs-component-stack-frame]:not(:last-child) {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-call-stack-frame] > h3,\\n [data-nextjs-component-stack-frame] > h3 {\\n margin-top: 0;\\n margin-bottom: var(--size-gap);\\n font-family: var(--font-stack-monospace);\\n font-size: var(--size-font);\\n color: #222;\\n }\\n [data-nextjs-call-stack-frame] > h3[data-nextjs-frame-expanded='false'] {\\n color: #666;\\n }\\n [data-nextjs-call-stack-frame] > div,\\n [data-nextjs-component-stack-frame] > div {\\n display: flex;\\n align-items: center;\\n padding-left: calc(var(--size-gap) + var(--size-gap-half));\\n font-size: var(--size-font-small);\\n color: #999;\\n }\\n [data-nextjs-call-stack-frame] > div > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n flex-shrink: 0;\\n\\n display: none;\\n }\\n\\n [data-nextjs-call-stack-frame] > div[data-has-source],\\n [data-nextjs-component-stack-frame] > [role='link'] {\\n cursor: pointer;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source]:hover,\\n [data-nextjs-component-stack-frame] > [role='link']:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source] > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n display: unset;\\n }\\n\\n [data-nextjs-call-stack-framework-icon] {\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-call-stack-framework-icon='next'] > mask {\\n mask-type: alpha;\\n }\\n [data-nextjs-call-stack-framework-icon='react'] {\\n color: rgb(20, 158, 202);\\n }\\n [data-nextjs-collapsed-call-stack-details][open]\\n [data-nextjs-call-stack-chevron-icon] {\\n transform: rotate(90deg);\\n }\\n [data-nextjs-collapsed-call-stack-details] summary {\\n display: flex;\\n align-items: center;\\n margin-bottom: var(--size-gap);\\n list-style: none;\\n }\\n [data-nextjs-collapsed-call-stack-details] summary::-webkit-details-marker {\\n display: none;\\n }\\n\\n [data-nextjs-collapsed-call-stack-details] h3 {\\n color: #666;\\n }\\n [data-nextjs-collapsed-call-stack-details] [data-nextjs-call-stack-frame] {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-container-errors-pseudo-html] {\\n position: relative;\\n }\\n [data-nextjs-container-errors-pseudo-html-collapse] {\\n position: absolute;\\n left: 10px;\\n top: 10px;\\n color: inherit;\\n background: none;\\n border: none;\\n padding: 0;\\n }\\n [data-nextjs-container-errors-pseudo-html--diff-add] {\\n color: var(--color-ansi-green);\\n }\\n [data-nextjs-container-errors-pseudo-html--diff-remove] {\\n color: var(--color-ansi-red);\\n }\\n [data-nextjs-container-errors-pseudo-html--tag-error] {\\n color: var(--color-ansi-red);\\n font-weight: bold;\\n }\\n /* hide but text are still accessible in DOM */\\n [data-nextjs-container-errors-pseudo-html--hint] {\\n display: inline-block;\\n font-size: 0;\\n }\\n [data-nextjs-container-errors-pseudo-html--tag-adjacent='false'] {\\n color: var(--color-accents-1);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction RuntimeError(param) {\n _s();\n let { error } = param;\n const { firstFrame, allLeadingFrames, allCallStackFrames } = _react.useMemo(()=>{\n const filteredFrames = error.frames.filter((f)=>{\n var _f_sourceStackFrame_file;\n return !(f.sourceStackFrame.file === \"<anonymous>\" && [\n \"stringify\",\n \"<unknown>\"\n ].includes(f.sourceStackFrame.methodName)) && !((_f_sourceStackFrame_file = f.sourceStackFrame.file) == null ? void 0 : _f_sourceStackFrame_file.startsWith(\"node:internal\"));\n });\n const firstFirstPartyFrameIndex = filteredFrames.findIndex((entry)=>entry.expanded && Boolean(entry.originalCodeFrame) && Boolean(entry.originalStackFrame));\n var _filteredFrames_firstFirstPartyFrameIndex;\n return {\n firstFrame: (_filteredFrames_firstFirstPartyFrameIndex = filteredFrames[firstFirstPartyFrameIndex]) != null ? _filteredFrames_firstFirstPartyFrameIndex : null,\n allLeadingFrames: firstFirstPartyFrameIndex < 0 ? [] : filteredFrames.slice(0, firstFirstPartyFrameIndex),\n allCallStackFrames: filteredFrames.slice(firstFirstPartyFrameIndex + 1)\n };\n }, [\n error.frames\n ]);\n const [all, setAll] = _react.useState(firstFrame == null);\n const { canShowMore, leadingFramesGroupedByFramework, stackFramesGroupedByFramework } = _react.useMemo(()=>{\n const leadingFrames = allLeadingFrames.filter((f)=>f.expanded || all);\n const visibleCallStackFrames = allCallStackFrames.filter((f)=>f.expanded || all);\n return {\n canShowMore: allCallStackFrames.length !== visibleCallStackFrames.length || all && firstFrame != null,\n stackFramesGroupedByFramework: (0, _groupstackframesbyframework.groupStackFramesByFramework)(allCallStackFrames),\n leadingFramesGroupedByFramework: (0, _groupstackframesbyframework.groupStackFramesByFramework)(leadingFrames)\n };\n }, [\n all,\n allCallStackFrames,\n allLeadingFrames,\n firstFrame\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n firstFrame ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Source\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: leadingFramesGroupedByFramework,\n show: all\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CodeFrame.CodeFrame, {\n stackFrame: firstFrame.originalStackFrame,\n codeFrame: firstFrame.originalCodeFrame\n })\n ]\n }) : undefined,\n stackFramesGroupedByFramework.length ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Call Stack\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: stackFramesGroupedByFramework,\n show: all\n })\n ]\n }) : undefined,\n canShowMore ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-data-runtime-error-collapsed-action\": true,\n type: \"button\",\n onClick: ()=>setAll(!all),\n children: [\n all ? \"Hide\" : \"Show\",\n \" collapsed frames\"\n ]\n })\n }) : undefined\n ]\n });\n}\n_s(RuntimeError, \"IxUV+6sfFf94RV83YAUHBr0cfHM=\");\n_c = RuntimeError;\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c;\n$RefreshReg$(_c, \"RuntimeError\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUFTZ0JBLGNBQVk7ZUFBWkE7O0lBOEZIQyxRQUFNO2VBQU5BOzs7Ozs7NkVBdkdVO3VDQUNHOzBDQUVFO3lEQUNnQjtnREFDVDs7Ozs7Ozs7OztBQUk1QixTQUFTRCxhQUFhRSxLQUE0Qjs7SUFBNUIsTUFBRUMsS0FBSyxFQUFxQixHQUE1QkQ7SUFDM0IsTUFBTSxFQUFFRSxVQUFVLEVBQUVDLGdCQUFnQixFQUFFQyxrQkFBa0IsRUFBRSxHQUN4REMsT0FBTUMsT0FBTyxDQUFDO1FBQ1osTUFBTUMsaUJBQWlCTixNQUFNTyxNQUFNLENBQUNDLE1BQU0sQ0FDeEMsQ0FBQ0M7Z0JBSU9BO21CQUhOLENBQ0VBLENBQUFBLEVBQUVDLGdCQUFnQixDQUFDQyxJQUFJLEtBQUssaUJBQzVCO2dCQUFDO2dCQUFhO2FBQVksQ0FBQ0MsUUFBUSxDQUFDSCxFQUFFQyxnQkFBZ0IsQ0FBQ0csVUFBVSxNQUM5RCxHQUFDSiwyQkFBQUEsRUFBRUMsZ0JBQWdCLENBQUNDLElBQUkscUJBQXZCRix5QkFBeUJLLFVBQVUsQ0FBQzs7UUFHOUMsTUFBTUMsNEJBQTRCVCxlQUFlVSxTQUFTLENBQ3hELENBQUNDLFFBQ0NBLE1BQU1DLFFBQVEsSUFDZEMsUUFBUUYsTUFBTUcsaUJBQWlCLEtBQy9CRCxRQUFRRixNQUFNSSxrQkFBa0I7WUFJdEJmO1FBRGQsT0FBTztZQUNMTCxZQUFZSyxDQUFBQSw0Q0FBQUEsY0FBYyxDQUFDUywwQkFBMEIsWUFBekNULDRDQUE2QztZQUN6REosa0JBQ0VhLDRCQUE0QixJQUN4QixFQUFFLEdBQ0ZULGVBQWVnQixLQUFLLENBQUMsR0FBR1A7WUFDOUJaLG9CQUFvQkcsZUFBZWdCLEtBQUssQ0FBQ1AsNEJBQTRCO1FBQ3ZFO0lBQ0YsR0FBRztRQUFDZixNQUFNTyxNQUFNO0tBQUM7SUFFbkIsTUFBTSxDQUFDZ0IsS0FBS0MsT0FBTyxHQUFHcEIsT0FBTXFCLFFBQVEsQ0FBQ3hCLGNBQWM7SUFFbkQsTUFBTSxFQUNKeUIsV0FBVyxFQUNYQywrQkFBK0IsRUFDL0JDLDZCQUE2QixFQUM5QixHQUFHeEIsT0FBTUMsT0FBTyxDQUFDO1FBQ2hCLE1BQU13QixnQkFBZ0IzQixpQkFBaUJNLE1BQU0sQ0FBQyxDQUFDQyxJQUFNQSxFQUFFUyxRQUFRLElBQUlLO1FBQ25FLE1BQU1PLHlCQUF5QjNCLG1CQUFtQkssTUFBTSxDQUN0RCxDQUFDQyxJQUFNQSxFQUFFUyxRQUFRLElBQUlLO1FBR3ZCLE9BQU87WUFDTEcsYUFDRXZCLG1CQUFtQjRCLE1BQU0sS0FBS0QsdUJBQXVCQyxNQUFNLElBQzFEUixPQUFPdEIsY0FBYztZQUV4QjJCLCtCQUNFSSxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQUM3QjtZQUU5QndCLGlDQUNFSyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQTJCLEVBQUNIO1FBQ2hDO0lBQ0YsR0FBRztRQUFDTjtRQUFLcEI7UUFBb0JEO1FBQWtCRDtLQUFXO0lBRTFELE9BQ0UsV0FERixHQUNFLElBQUFnQyxZQUFBQyxJQUFBLEVBQUM5QixPQUFNK0IsUUFBUTs7WUFDWmxDLGFBQ0MsV0FEREEsR0FDQyxJQUFBZ0MsWUFBQUMsSUFBQSxFQUFDOUIsT0FBTStCLFFBQVE7O2tDQUNiLElBQUFGLFlBQUFHLEdBQUEsRUFBQ0MsTUFBQUE7a0NBQUc7O2tDQUNKLElBQUFKLFlBQUFHLEdBQUEsRUFBQ0Usb0JBQUFBLGtCQUFrQjt3QkFDakJDLG9CQUFvQlo7d0JBQ3BCYSxNQUFNakI7O2tDQUVSLElBQUFVLFlBQUFHLEdBQUEsRUFBQ0ssV0FBQUEsU0FBUzt3QkFDUkMsWUFBWXpDLFdBQVdvQixrQkFBa0I7d0JBQ3pDc0IsV0FBVzFDLFdBQVdtQixpQkFBaUI7OztpQkFHekN3QjtZQUVIaEIsOEJBQThCRyxNQUFNLEdBQ25DLFdBRG1DLEdBQ25DLElBQUFFLFlBQUFDLElBQUEsRUFBQzlCLE9BQU0rQixRQUFROztrQ0FDYixJQUFBRixZQUFBRyxHQUFBLEVBQUNDLE1BQUFBO2tDQUFHOztrQ0FDSixJQUFBSixZQUFBRyxHQUFBLEVBQUNFLG9CQUFBQSxrQkFBa0I7d0JBQ2pCQyxvQkFBb0JYO3dCQUNwQlksTUFBTWpCOzs7aUJBR1JxQjtZQUNIbEIsY0FDQyxXQUREQSxHQUNDLElBQUFPLFlBQUFHLEdBQUEsRUFBQ2hDLE9BQU0rQixRQUFROzBCQUNiLGtCQUFBRixZQUFBQyxJQUFBLEVBQUNXLFVBQUFBO29CQUNDQyxVQUFVO29CQUNWQyxtREFBK0M7b0JBQy9DQyxNQUFLO29CQUNMQyxTQUFTLElBQU16QixPQUFPLENBQUNEOzt3QkFFdEJBLE1BQU0sU0FBUzt3QkFBTzs7O2lCQUd6QnFCOzs7QUFHVjtHQTVGZ0IvQztLQUFBQTtBQThGVCxNQUFNQyxTQUFBQSxDQUFBQSxHQUFTb0QsY0FBQUEsSUFBRyxFQUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvaW5kZXgudHN4PzBmMTQiXSwibmFtZXMiOlsiUnVudGltZUVycm9yIiwic3R5bGVzIiwicGFyYW0iLCJlcnJvciIsImZpcnN0RnJhbWUiLCJhbGxMZWFkaW5nRnJhbWVzIiwiYWxsQ2FsbFN0YWNrRnJhbWVzIiwiUmVhY3QiLCJ1c2VNZW1vIiwiZmlsdGVyZWRGcmFtZXMiLCJmcmFtZXMiLCJmaWx0ZXIiLCJmIiwic291cmNlU3RhY2tGcmFtZSIsImZpbGUiLCJpbmNsdWRlcyIsIm1ldGhvZE5hbWUiLCJzdGFydHNXaXRoIiwiZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleCIsImZpbmRJbmRleCIsImVudHJ5IiwiZXhwYW5kZWQiLCJCb29sZWFuIiwib3JpZ2luYWxDb2RlRnJhbWUiLCJvcmlnaW5hbFN0YWNrRnJhbWUiLCJzbGljZSIsImFsbCIsInNldEFsbCIsInVzZVN0YXRlIiwiY2FuU2hvd01vcmUiLCJsZWFkaW5nRnJhbWVzR3JvdXBlZEJ5RnJhbWV3b3JrIiwic3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsiLCJsZWFkaW5nRnJhbWVzIiwidmlzaWJsZUNhbGxTdGFja0ZyYW1lcyIsImxlbmd0aCIsImdyb3VwU3RhY2tGcmFtZXNCeUZyYW1ld29yayIsIl9qc3hydW50aW1lIiwianN4cyIsIkZyYWdtZW50IiwianN4IiwiaDIiLCJHcm91cGVkU3RhY2tGcmFtZXMiLCJncm91cGVkU3RhY2tGcmFtZXMiLCJzaG93IiwiQ29kZUZyYW1lIiwic3RhY2tGcmFtZSIsImNvZGVGcmFtZSIsInVuZGVmaW5lZCIsImJ1dHRvbiIsInRhYkluZGV4IiwiZGF0YS1uZXh0anMtZGF0YS1ydW50aW1lLWVycm9yLWNvbGxhcHNlZC1hY3Rpb24iLCJ0eXBlIiwib25DbGljayIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js": -/*!****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js ***! - \****************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\nMIT License\n\nCopyright (c) 2015-present, Facebook, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return formatWebpackMessages;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"./node_modules/next/dist/compiled/strip-ansi/index.js\"));\n// This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js\n// It's been edited to remove chalk and CRA-specific logic\nconst friendlySyntaxErrorLabel = \"Syntax error:\";\nconst WEBPACK_BREAKING_CHANGE_POLYFILLS = \"\\n\\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\";\nfunction isLikelyASyntaxError(message) {\n return (0, _stripansi.default)(message).includes(friendlySyntaxErrorLabel);\n}\nlet hadMissingSassError = false;\n// Cleans up webpack error messages.\nfunction formatMessage(message, verbose, importTraceNote) {\n // TODO: Replace this once webpack 5 is stable\n if (typeof message === \"object\" && message.message) {\n const filteredModuleTrace = message.moduleTrace && message.moduleTrace.filter((trace)=>!/next-(middleware|client-pages|route|edge-function)-loader\\.js/.test(trace.originName));\n let body = message.message;\n const breakingChangeIndex = body.indexOf(WEBPACK_BREAKING_CHANGE_POLYFILLS);\n if (breakingChangeIndex >= 0) {\n body = body.slice(0, breakingChangeIndex);\n }\n message = (message.moduleName ? (0, _stripansi.default)(message.moduleName) + \"\\n\" : \"\") + (message.file ? (0, _stripansi.default)(message.file) + \"\\n\" : \"\") + body + (message.details && verbose ? \"\\n\" + message.details : \"\") + (filteredModuleTrace && filteredModuleTrace.length ? (importTraceNote || \"\\n\\nImport trace for requested module:\") + filteredModuleTrace.map((trace)=>\"\\n\" + trace.moduleName).join(\"\") : \"\") + (message.stack && verbose ? \"\\n\" + message.stack : \"\");\n }\n let lines = message.split(\"\\n\");\n // Strip Webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line)=>!/Module [A-z ]+\\(from/.test(line));\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line)=>{\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return friendlySyntaxErrorLabel + \" \" + errorMessage + \" (\" + errorLine + \":\" + errorColumn + \")\";\n });\n message = lines.join(\"\\n\");\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(/SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g, \"\" + friendlySyntaxErrorLabel + \" $3 ($1:$2)\\n\");\n // Clean up export errors\n message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$2'.\");\n message = message.replace(/^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$2' does not contain a default export (imported as '$1').\");\n message = message.replace(/^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$3' (imported as '$2').\");\n lines = message.split(\"\\n\");\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === \"\") {\n lines.splice(1, 1);\n }\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf(\"Module not found: \") === 0) {\n lines = [\n lines[0],\n lines[1].replace(\"Error: \", \"\").replace(\"Module not found: Cannot find file:\", \"Cannot find file:\"),\n ...lines.slice(2)\n ];\n }\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {\n // ./file.module.scss (<<loader info>>) => ./file.module.scss\n const firstLine = lines[0].split(\"!\");\n lines[0] = firstLine[firstLine.length - 1];\n lines[1] = \"To use Next.js' built-in Sass support, you first need to install `sass`.\\n\";\n lines[1] += \"Run `npm i sass` or `yarn add sass` inside your workspace.\\n\";\n lines[1] += \"\\nLearn more: https://nextjs.org/docs/messages/install-sass\";\n // dispose of unhelpful stack trace\n lines = lines.slice(0, 2);\n hadMissingSassError = true;\n } else if (hadMissingSassError && message.match(/(sass-loader|resolve-url-loader: CSS error)/)) {\n // dispose of unhelpful stack trace following missing sass module\n lines = [];\n }\n if (!verbose) {\n message = lines.join(\"\\n\");\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by Webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, \"\") // at ... ...:x:y\n ;\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, \"\") // at <anonymous>\n ;\n message = message.replace(/File was processed with these loaders:\\n(.+[\\\\/](next[\\\\/]dist[\\\\/].+|@next[\\\\/]react-refresh-utils[\\\\/]loader)\\.js\\n)*You may need an additional loader to handle the result of these loaders.\\n/g, \"\");\n lines = message.split(\"\\n\");\n }\n // Remove duplicated newlines\n lines = lines.filter((line, index, arr)=>index === 0 || line.trim() !== \"\" || line.trim() !== arr[index - 1].trim());\n // Reassemble the message\n message = lines.join(\"\\n\");\n return message.trim();\n}\nfunction formatWebpackMessages(json, verbose) {\n const formattedErrors = json.errors.map((message)=>{\n const isUnknownNextFontError = message.message.includes(\"An error occurred in `next/font`.\");\n return formatMessage(message, isUnknownNextFontError || verbose);\n });\n const formattedWarnings = json.warnings.map((message)=>{\n return formatMessage(message, verbose);\n });\n // Reorder errors to put the most relevant ones first.\n let reactServerComponentsError = -1;\n for(let i = 0; i < formattedErrors.length; i++){\n const error = formattedErrors[i];\n if (error.includes(\"ReactServerComponentsError\")) {\n reactServerComponentsError = i;\n break;\n }\n }\n // Move the reactServerComponentsError to the top if it exists\n if (reactServerComponentsError !== -1) {\n const error = formattedErrors.splice(reactServerComponentsError, 1);\n formattedErrors.unshift(error[0]);\n }\n const result = {\n ...json,\n errors: formattedErrors,\n warnings: formattedWarnings\n };\n if (!verbose && result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n result.warnings = [];\n }\n return result;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=format-webpack-messages.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZm9ybWF0LXdlYnBhY2stbWVzc2FnZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQkE7Ozs7MkNBaUtBOzs7ZUFBd0JBOzs7O2dGQWhLRjtBQUN0QixxS0FBcUs7QUFDckssMERBQTBEO0FBRTFELE1BQU1DLDJCQUEyQjtBQUVqQyxNQUFNQyxvQ0FDSjtBQUVGLFNBQVNDLHFCQUFxQkMsT0FBZTtJQUMzQyxPQUFPQyxDQUFBQSxHQUFBQSxXQUFBQSxPQUFTLEVBQUNELFNBQVNFLFFBQVEsQ0FBQ0w7QUFDckM7QUFFQSxJQUFJTSxzQkFBc0I7QUFFMUIsb0NBQW9DO0FBQ3BDLFNBQVNDLGNBQ1BKLE9BQVksRUFDWkssT0FBaUIsRUFDakJDLGVBQXlCO0lBRXpCLDhDQUE4QztJQUM5QyxJQUFJLE9BQU9OLFlBQVksWUFBWUEsUUFBUUEsT0FBTyxFQUFFO1FBQ2xELE1BQU1PLHNCQUNKUCxRQUFRUSxXQUFXLElBQ25CUixRQUFRUSxXQUFXLENBQUNDLE1BQU0sQ0FDeEIsQ0FBQ0MsUUFDQyxDQUFDLGdFQUFnRUMsSUFBSSxDQUNuRUQsTUFBTUUsVUFBVTtRQUl4QixJQUFJQyxPQUFPYixRQUFRQSxPQUFPO1FBQzFCLE1BQU1jLHNCQUFzQkQsS0FBS0UsT0FBTyxDQUFDakI7UUFDekMsSUFBSWdCLHVCQUF1QixHQUFHO1lBQzVCRCxPQUFPQSxLQUFLRyxLQUFLLENBQUMsR0FBR0Y7UUFDdkI7UUFFQWQsVUFDRSxDQUFDQSxRQUFRaUIsVUFBVSxHQUFHaEIsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRCxRQUFRaUIsVUFBVSxJQUFJLE9BQU8sTUFDNURqQixDQUFBQSxRQUFRa0IsSUFBSSxHQUFHakIsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRCxRQUFRa0IsSUFBSSxJQUFJLE9B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LGdCQUFnQlEsT0FBTyxDQUFDRCxLQUFLLENBQUMsRUFBRTtJQUNsQztJQUVBLE1BQU1FLFNBQVM7UUFDYixHQUFHVixJQUFJO1FBQ1BFLFFBQVFEO1FBQ1JJLFVBQVVEO0lBQ1o7SUFDQSxJQUFJLENBQUN0QyxXQUFXNEMsT0FBT1IsTUFBTSxDQUFDUyxJQUFJLENBQUNuRCx1QkFBdUI7UUFDeEQsa0RBQWtEO1FBQ2xEa0QsT0FBT1IsTUFBTSxHQUFHUSxPQUFPUixNQUFNLENBQUNoQyxNQUFNLENBQUNWO1FBQ3JDa0QsT0FBT0wsUUFBUSxHQUFHLEVBQUU7SUFDdEI7SUFDQSxPQUFPSztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9mb3JtYXQtd2VicGFjay1tZXNzYWdlcy50cz84NTFkIl0sIm5hbWVzIjpbImZvcm1hdFdlYnBhY2tNZXNzYWdlcyIsImZyaWVuZGx5U3ludGF4RXJyb3JMYWJlbCIsIldFQlBBQ0tfQlJFQUtJTkdfQ0hBTkdFX1BPTFlGSUxMUyIsImlzTGlrZWx5QVN5bnRheEVycm9yIiwibWVzc2FnZSIsInN0cmlwQW5zaSIsImluY2x1ZGVzIiwiaGFkTWlzc2luZ1Nhc3NFcnJvciIsImZvcm1hdE1lc3NhZ2UiLCJ2ZXJib3NlIiwiaW1wb3J0VHJhY2VOb3RlIiwiZmlsdGVyZWRNb2R1bGVUcmFjZSIsIm1vZHVsZVRyYWNlIiwiZmlsdGVyIiwidHJhY2UiLCJ0ZXN0Iiwib3JpZ2luTmFtZSIsImJvZHkiLCJicmVha2luZ0NoYW5nZUluZGV4IiwiaW5kZXhPZiIsInNsaWNlIiwibW9kdWxlTmFtZSIsImZpbGUiLCJkZXRhaWxzIiwibGVuZ3RoIiwibWFwIiwiam9pbiIsInN0YWNrIiwibGluZXMiLCJzcGxpdCIsImxpbmUiLCJwYXJzaW5nRXJyb3IiLCJleGVjIiwiZXJyb3JMaW5lIiwiZXJyb3JDb2x1bW4iLCJlcnJvck1lc3NhZ2UiLCJyZXBsYWNlIiwidHJpbSIsInNwbGljZSIsIm1hdGNoIiwiZmlyc3RMaW5lIiwiaW5kZXgiLCJhcnIiLCJqc29uIiwiZm9ybWF0dGVkRXJyb3JzIiwiZXJyb3JzIiwiaXNVbmtub3duTmV4dEZvbnRFcnJvciIsImZvcm1hdHRlZFdhcm5pbmdzIiwid2FybmluZ3MiLCJyZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvciIsImkiLCJlcnJvciIsInVuc2hpZnQiLCJyZXN1bHQiLCJzb21lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getErrorByType\", ({\n enumerable: true,\n get: function() {\n return getErrorByType;\n }\n}));\nconst _shared = __webpack_require__(/*! ../../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _stackframe = __webpack_require__(/*! ./stack-frame */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"./node_modules/next/dist/shared/lib/error-source.js\");\nasync function getErrorByType(ev, isAppDir) {\n const { id, event } = ev;\n switch(event.type){\n case _shared.ACTION_UNHANDLED_ERROR:\n case _shared.ACTION_UNHANDLED_REJECTION:\n {\n const readyRuntimeError = {\n id,\n runtime: true,\n error: event.reason,\n frames: await (0, _stackframe.getOriginalStackFrames)(event.frames, (0, _errorsource.getErrorSource)(event.reason), isAppDir, event.reason.toString())\n };\n if (event.type === _shared.ACTION_UNHANDLED_ERROR) {\n readyRuntimeError.componentStackFrames = event.componentStackFrames;\n }\n return readyRuntimeError;\n }\n default:\n {\n break;\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n throw new Error(\"type system invariant violation\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=getErrorByType.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0RXJyb3JCeVR5cGUuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFrQnNCQTs7O2VBQUFBOzs7b0NBZmY7d0NBRWdDO3lDQUdSO0FBVXhCLGVBQWVBLGVBQ3BCQyxFQUF1QixFQUN2QkMsUUFBaUI7SUFFakIsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLEtBQUssRUFBRSxHQUFHSDtJQUN0QixPQUFRRyxNQUFNQyxJQUFJO1FBQ2hCLEtBQUtDLFFBQUFBLHNCQUFzQjtRQUMzQixLQUFLQyxRQUFBQSwwQkFBMEI7WUFBRTtnQkFDL0IsTUFBTUMsb0JBQXVDO29CQUMzQ0w7b0JBQ0FNLFNBQVM7b0JBQ1RDLE9BQU9OLE1BQU1PLE1BQU07b0JBQ25CQyxRQUFRLE1BQU1DLENBQUFBLEdBQUFBLFlBQUFBLHNCQUFzQixFQUNsQ1QsTUFBTVEsTUFBTSxFQUNaRSxDQUFBQSxHQUFBQSxhQUFBQSxjQUFjLEVBQUNWLE1BQU1PLE1BQU0sR0FDM0JULFVBQ0FFLE1BQU1PLE1BQU0sQ0FBQ0ksUUFBUTtnQkFFekI7Z0JBQ0EsSUFBSVgsTUFBTUMsSUFBSSxLQUFLQyxRQUFBQSxzQkFBc0IsRUFBRTtvQkFDekNFLGtCQUFrQlEsb0JBQW9CLEdBQUdaLE1BQU1ZLG9CQUFvQjtnQkFDckU7Z0JBQ0EsT0FBT1I7WUFDVDtRQUNBO1lBQVM7Z0JBQ1A7WUFDRjtJQUNGO0lBQ0EsNkRBQTZEO0lBQzdELE1BQU1TLElBQVdiO0lBQ2pCLE1BQU0sSUFBSWMsTUFBTTtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0RXJyb3JCeVR5cGUudHM/YjExZiJdLCJuYW1lcyI6WyJnZXRFcnJvckJ5VHlwZSIsImV2IiwiaXNBcHBEaXIiLCJpZCIsImV2ZW50IiwidHlwZSIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiIsInJlYWR5UnVudGltZUVycm9yIiwicnVudGltZSIsImVycm9yIiwicmVhc29uIiwiZnJhbWVzIiwiZ2V0T3JpZ2luYWxTdGFja0ZyYW1lcyIsImdldEVycm9yU291cmNlIiwidG9TdHJpbmciLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsIl8iLCJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js": -/*!************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js ***! - \************************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"groupStackFramesByFramework\", ({\n enumerable: true,\n get: function() {\n return groupStackFramesByFramework;\n }\n}));\nfunction groupStackFramesByFramework(stackFrames) {\n const stackFramesGroupedByFramework = [];\n for (const stackFrame of stackFrames){\n const currentGroup = stackFramesGroupedByFramework[stackFramesGroupedByFramework.length - 1];\n const framework = stackFrame.sourcePackage;\n if (currentGroup && currentGroup.framework === framework) {\n currentGroup.stackFrames.push(stackFrame);\n } else {\n stackFramesGroupedByFramework.push({\n framework: framework,\n stackFrames: [\n stackFrame\n ]\n });\n }\n }\n return stackFramesGroupedByFramework;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=group-stack-frames-by-framework.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29yay5qcyIsIm1hcHBpbmdzIjoiOzs7OytEQTZCZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLDRCQUNkQyxXQUFpQztJQUVqQyxNQUFNQyxnQ0FBb0QsRUFBRTtJQUU1RCxLQUFLLE1BQU1DLGNBQWNGLFlBQWE7UUFDcEMsTUFBTUcsZUFDSkYsNkJBQTZCLENBQUNBLDhCQUE4QkcsTUFBTSxHQUFHLEVBQUU7UUFDekUsTUFBTUMsWUFBWUgsV0FBV0ksYUFBYTtRQUUxQyxJQUFJSCxnQkFBZ0JBLGFBQWFFLFNBQVMsS0FBS0EsV0FBVztZQUN4REYsYUFBYUgsV0FBVyxDQUFDTyxJQUFJLENBQUNMO1FBQ2hDLE9BQU87WUFDTEQsOEJBQThCTSxJQUFJLENBQUM7Z0JBQ2pDRixXQUFXQTtnQkFDWEwsYUFBYTtvQkFBQ0U7aUJBQVc7WUFDM0I7UUFDRjtJQUNGO0lBRUEsT0FBT0Q7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29yay50cz9jMjRjIl0sIm5hbWVzIjpbImdyb3VwU3RhY2tGcmFtZXNCeUZyYW1ld29yayIsInN0YWNrRnJhbWVzIiwic3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsiLCJzdGFja0ZyYW1lIiwiY3VycmVudEdyb3VwIiwibGVuZ3RoIiwiZnJhbWV3b3JrIiwic291cmNlUGFja2FnZSIsInB1c2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js ***! - \*************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getHydrationWarningType: function() {\n return getHydrationWarningType;\n },\n hydrationErrorState: function() {\n return hydrationErrorState;\n },\n patchConsoleError: function() {\n return patchConsoleError;\n }\n});\nconst getHydrationWarningType = (msg)=>{\n if (isHtmlTagsWarning(msg)) return \"tag\";\n if (isTextInTagsMismatchWarning(msg)) return \"text-in-tag\";\n return \"text\";\n};\nconst isHtmlTagsWarning = (msg)=>Boolean(msg && htmlTagsWarnings.has(msg));\nconst isTextMismatchWarning = (msg)=>textMismatchWarning === msg;\nconst isTextInTagsMismatchWarning = (msg)=>Boolean(msg && textAndTagsMismatchWarnings.has(msg));\nconst isKnownHydrationWarning = (msg)=>isHtmlTagsWarning(msg) || isTextInTagsMismatchWarning(msg) || isTextMismatchWarning(msg);\nconst hydrationErrorState = {};\n// https://github.com/facebook/react/blob/main/packages/react-dom/src/__tests__/ReactDOMHydrationDiff-test.js used as a reference\nconst htmlTagsWarnings = new Set([\n 'Warning: Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async=\"\" or moving it into the root <head> tag.%s',\n \"Warning: In HTML, %s cannot be a child of <%s>.%s\\nThis will cause a hydration error.%s\",\n \"Warning: In HTML, %s cannot be a descendant of <%s>.\\nThis will cause a hydration error.%s\",\n \"Warning: In HTML, text nodes cannot be a child of <%s>.\\nThis will cause a hydration error.\",\n \"Warning: In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\\nThis will cause a hydration error.\",\n \"Warning: Expected server HTML to contain a matching <%s> in <%s>.%s\",\n \"Warning: Did not expect server HTML to contain a <%s> in <%s>.%s\"\n]);\nconst textAndTagsMismatchWarnings = new Set([\n 'Warning: Expected server HTML to contain a matching text node for \"%s\" in <%s>.%s',\n 'Warning: Did not expect server HTML to contain the text node \"%s\" in <%s>.%s'\n]);\nconst textMismatchWarning = 'Warning: Text content did not match. Server: \"%s\" Client: \"%s\"%s';\nfunction patchConsoleError() {\n const prev = console.error;\n console.error = function(msg, serverContent, clientContent, componentStack) {\n if (isKnownHydrationWarning(msg)) {\n hydrationErrorState.warning = [\n // remove the last %s from the message\n msg,\n serverContent,\n clientContent\n ];\n hydrationErrorState.componentStack = componentStack;\n hydrationErrorState.serverContent = serverContent;\n hydrationErrorState.clientContent = clientContent;\n }\n // @ts-expect-error argument is defined\n prev.apply(console, arguments);\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hydration-error-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvaHlkcmF0aW9uLWVycm9yLWluZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBVWFBLHlCQUF1QjtlQUF2QkE7O0lBb0JBQyxxQkFBbUI7ZUFBbkJBOztJQXlCR0MsbUJBQWlCO2VBQWpCQTs7O0FBN0NULE1BQU1GLDBCQUEwQixDQUNyQ0c7SUFFQSxJQUFJQyxrQkFBa0JELE1BQU0sT0FBTztJQUNuQyxJQUFJRSw0QkFBNEJGLE1BQU0sT0FBTztJQUM3QyxPQUFPO0FBQ1Q7QUFFQSxNQUFNQyxvQkFBb0IsQ0FBQ0QsTUFDekJHLFFBQVFILE9BQU9JLGlCQUFpQkMsR0FBRyxDQUFDTDtBQUV0QyxNQUFNTSx3QkFBd0IsQ0FBQ04sTUFBc0JPLHdCQUF3QlA7QUFDN0UsTUFBTUUsOEJBQThCLENBQUNGLE1BQ25DRyxRQUFRSCxPQUFPUSw0QkFBNEJILEdBQUcsQ0FBQ0w7QUFFakQsTUFBTVMsMEJBQTBCLENBQUNULE1BQy9CQyxrQkFBa0JELFFBQ2xCRSw0QkFBNEJGLFFBQzVCTSxzQkFBc0JOO0FBRWpCLE1BQU1GLHNCQUEyQyxDQUFDO0FBRXpELGlJQUFpSTtBQUNqSSxNQUFNTSxtQkFBbUIsSUFBSU0sSUFBSTtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBQ0QsTUFBTUYsOEJBQThCLElBQUlFLElBQUk7SUFDMUM7SUFDQTtDQUNEO0FBQ0QsTUFBTUgsc0JBQ0o7QUFRSyxTQUFTUjtJQUNkLE1BQU1ZLE9BQU9DLFFBQVFDLEtBQUs7SUFDMUJELFFBQVFDLEtBQUssR0FBRyxTQUFVYixHQUFHLEVBQUVjLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxjQUFjO1FBQ3pFLElBQUlQLHdCQUF3QlQsTUFBTTtZQUNoQ0Ysb0JBQW9CbUIsT0FBTyxHQUFHO2dCQUM1QixzQ0FBc0M7Z0JBQ3RDakI7Z0JBQ0FjO2dCQUNBQzthQUNEO1lBQ0RqQixvQkFBb0JrQixjQUFjLEdBQUdBO1lBQ3JDbEIsb0JBQW9CZ0IsYUFBYSxHQUFHQTtZQUNwQ2hCLG9CQUFvQmlCLGFBQWEsR0FBR0E7UUFDdEM7UUFFQSx1Q0FBdUM7UUFDdkNKLEtBQUtPLEtBQUssQ0FBQ04sU0FBU087SUFDdEI7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvaHlkcmF0aW9uLWVycm9yLWluZm8udHM/ODQyNyJdLCJuYW1lcyI6WyJnZXRIeWRyYXRpb25XYXJuaW5nVHlwZSIsImh5ZHJhdGlvbkVycm9yU3RhdGUiLCJwYXRjaENvbnNvbGVFcnJvciIsIm1zZyIsImlzSHRtbFRhZ3NXYXJuaW5nIiwiaXNUZXh0SW5UYWdzTWlzbWF0Y2hXYXJuaW5nIiwiQm9vbGVhbiIsImh0bWxUYWdzV2FybmluZ3MiLCJoYXMiLCJpc1RleHRNaXNtYXRjaFdhcm5pbmciLCJ0ZXh0TWlzbWF0Y2hXYXJuaW5nIiwidGV4dEFuZFRhZ3NNaXNtYXRjaFdhcm5pbmdzIiwiaXNLbm93bkh5ZHJhdGlvbldhcm5pbmciLCJTZXQiLCJwcmV2IiwiY29uc29sZSIsImVycm9yIiwic2VydmVyQ29udGVudCIsImNsaWVudENvbnRlbnQiLCJjb21wb25lbnRTdGFjayIsIndhcm5pbmciLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js ***! - \********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getFilesystemFrame: function() {\n return getFilesystemFrame;\n },\n getServerError: function() {\n return getServerError;\n }\n});\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nconst _errorsource = __webpack_require__(/*! ../../../../../shared/lib/error-source */ \"./node_modules/next/dist/shared/lib/error-source.js\");\nfunction getFilesystemFrame(frame) {\n const f = {\n ...frame\n };\n if (typeof f.file === \"string\") {\n if (f.file.startsWith(\"/\") || // Win32:\n /^[a-z]:\\\\/i.test(f.file) || // Win32 UNC:\n f.file.startsWith(\"\\\\\\\\\")) {\n f.file = \"file://\" + f.file;\n }\n }\n return f;\n}\nfunction getServerError(error, type) {\n let n;\n try {\n throw new Error(error.message);\n } catch (e) {\n n = e;\n }\n n.name = error.name;\n try {\n n.stack = n.toString() + \"\\n\" + (0, _stacktraceparser.parse)(error.stack).map(getFilesystemFrame).map((f)=>{\n let str = \" at \" + f.methodName;\n if (f.file) {\n let loc = f.file;\n if (f.lineNumber) {\n loc += \":\" + f.lineNumber;\n if (f.column) {\n loc += \":\" + f.column;\n }\n }\n str += \" (\" + loc + \")\";\n }\n return str;\n }).join(\"\\n\");\n } catch (e) {\n n.stack = error.stack;\n }\n (0, _errorsource.decorateServerError)(n, type);\n return n;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=nodeStackFrames.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9kZVN0YWNrRnJhbWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQU9nQkEsb0JBQWtCO2VBQWxCQTs7SUFtQkFDLGdCQUFjO2VBQWRBOzs7OENBMUJNO3lDQUtmO0FBRUEsU0FBU0QsbUJBQW1CRSxLQUFpQjtJQUNsRCxNQUFNQyxJQUFnQjtRQUFFLEdBQUdELEtBQUs7SUFBQztJQUVqQyxJQUFJLE9BQU9DLEVBQUVDLElBQUksS0FBSyxVQUFVO1FBQzlCLElBRUVELEVBQUVDLElBQUksQ0FBQ0MsVUFBVSxDQUFDLFFBQ2xCLFNBQVM7UUFDVCxhQUFhQyxJQUFJLENBQUNILEVBQUVDLElBQUksS0FDeEIsYUFBYTtRQUNiRCxFQUFFQyxJQUFJLENBQUNDLFVBQVUsQ0FBQyxTQUNsQjtZQUNBRixFQUFFQyxJQUFJLEdBQUcsWUFBVUQsRUFBRUMsSUFBSTtRQUMzQjtJQUNGO0lBRUEsT0FBT0Q7QUFDVDtBQUVPLFNBQVNGLGVBQWVNLEtBQVksRUFBRUMsSUFBcUI7SUFDaEUsSUFBSUM7SUFDSixJQUFJO1FBQ0YsTUFBTSxJQUFJQyxNQUFNSCxNQUFNSSxPQUFPO0lBQy9CLEVBQUUsT0FBT0MsR0FBRztRQUNWSCxJQUFJRztJQUNOO0lBRUFILEVBQUVJLElBQUksR0FBR04sTUFBTU0sSUFBSTtJQUNuQixJQUFJO1FBQ0ZKLEVBQUVLLEtBQUssR0FBR0wsRUFBS00sUUFBUSxLQUFHLE9BQUlDLENBQUFBLEdBQUFBLGtCQUFBQSxLQUFLLEVBQUNULE1BQU1PLEtBQUssRUFDNUNHLEdBQUcsQ0FBQ2pCLG9CQUNKaUIsR0FBRyxDQUFDLENBQUNkO1lBQ0osSUFBSWUsTUFBTSxZQUFVZixFQUFFZ0IsVUFBVTtZQUNoQyxJQUFJaEIsRUFBRUMsSUFBSSxFQUFFO2dCQUNWLElBQUlnQixNQUFNakIsRUFBRUMsSUFBSTtnQkFDaEIsSUFBSUQsRUFBRWtCLFVBQVUsRUFBRTtvQkFDaEJELE9BQU8sTUFBSWpCLEVBQUVrQixVQUFVO29CQUN2QixJQUFJbEIsRUFBRW1CLE1BQU0sRUFBRTt3QkFDWkYsT0FBTyxNQUFJakIsRUFBRW1CLE1BQU07b0JBQ3JCO2dCQUNGO2dCQUNBSixPQUFPLE9BQUtFLE1BQUk7WUFDbEI7WUFDQSxPQUFPRjtRQUNULEdBQ0NLLElBQUksQ0FBQztJQUNWLEVBQUUsT0FBQVgsR0FBTTtRQUNOSCxFQUFFSyxLQUFLLEdBQUdQLE1BQU1PLEtBQUs7SUFDdkI7SUFFQVUsQ0FBQUEsR0FBQUEsYUFBQUEsbUJBQW1CLEVBQUNmLEdBQUdEO0lBQ3ZCLE9BQU9DO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL25vZGVTdGFja0ZyYW1lcy50cz84MmIzIl0sIm5hbWVzIjpbImdldEZpbGVzeXN0ZW1GcmFtZSIsImdldFNlcnZlckVycm9yIiwiZnJhbWUiLCJmIiwiZmlsZSIsInN0YXJ0c1dpdGgiLCJ0ZXN0IiwiZXJyb3IiLCJ0eXBlIiwibiIsIkVycm9yIiwibWVzc2FnZSIsImUiLCJuYW1lIiwic3RhY2siLCJ0b1N0cmluZyIsInBhcnNlIiwibWFwIiwic3RyIiwibWV0aG9kTmFtZSIsImxvYyIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJqb2luIiwiZGVjb3JhdGVTZXJ2ZXJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js": -/*!******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js ***! - \******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"noop\", ({\n enumerable: true,\n get: function() {\n return noop;\n }\n}));\nfunction noop(strings) {\n for(var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n keys[_key - 1] = arguments[_key];\n }\n const lastIndex = strings.length - 1;\n return strings.slice(0, lastIndex).reduce((p, s, i)=>p + s + keys[i], \"\") + strings[lastIndex];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-template.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3dDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsS0FDZEMsT0FBNkI7SUFDN0IsUUFBQUMsT0FBQUMsVUFBQUMsTUFBQSxFQUFBQyxPQUFBLElBQUFDLE1BQUFKLE9BQUEsSUFBQUEsT0FBQSxRQUFBSyxPQUFBLEdBQUFBLE9BQUFMLE1BQUFLLE9BQUE7UUFBR0YsSUFBQUEsQ0FBSEUsT0FBQSxLQUFBSixTQUFBLENBQUFJLEtBQTBCOztJQUUxQixNQUFNQyxZQUFZUCxRQUFRRyxNQUFNLEdBQUc7SUFDbkMsT0FDRUgsUUFBUVEsS0FBSyxDQUFDLEdBQUdELFdBQVdFLE1BQU0sQ0FBQyxDQUFDQyxHQUFHQyxHQUFHQyxJQUFNRixJQUFJQyxJQUFJUCxJQUFJLENBQUNRLEVBQUUsRUFBRSxNQUNqRVosT0FBTyxDQUFDTyxVQUFVO0FBRXRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ub29wLXRlbXBsYXRlLnRzP2VhNjgiXSwibmFtZXMiOlsibm9vcCIsInN0cmluZ3MiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwia2V5cyIsIkFycmF5IiwiX2tleSIsImxhc3RJbmRleCIsInNsaWNlIiwicmVkdWNlIiwicCIsInMiLCJpIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js ***! - \**************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseComponentStack\", ({\n enumerable: true,\n get: function() {\n return parseComponentStack;\n }\n}));\nvar LocationType;\n(function(LocationType) {\n LocationType[\"FILE\"] = \"file\";\n LocationType[\"WEBPACK_INTERNAL\"] = \"webpack-internal\";\n LocationType[\"HTTP\"] = \"http\";\n LocationType[\"PROTOCOL_RELATIVE\"] = \"protocol-relative\";\n LocationType[\"UNKNOWN\"] = \"unknown\";\n})(LocationType || (LocationType = {}));\n/**\n * Get the type of frame line based on the location\n */ function getLocationType(location) {\n if (location.startsWith(\"file://\")) {\n return \"file\";\n }\n if (location.startsWith(\"webpack-internal://\")) {\n return \"webpack-internal\";\n }\n if (location.startsWith(\"http://\") || location.startsWith(\"https://\")) {\n return \"http\";\n }\n if (location.startsWith(\"//\")) {\n return \"protocol-relative\";\n }\n return \"unknown\";\n}\nfunction parseStackFrameLocation(location) {\n const locationType = getLocationType(location);\n const modulePath = location == null ? void 0 : location.replace(/^(webpack-internal:\\/\\/\\/|file:\\/\\/)(\\(.*\\)\\/)?/, \"\");\n var _modulePath_match;\n const [, file, lineNumber, column] = (_modulePath_match = modulePath == null ? void 0 : modulePath.match(/^(.+):(\\d+):(\\d+)/)) != null ? _modulePath_match : [];\n switch(locationType){\n case \"file\":\n case \"webpack-internal\":\n return {\n canOpenInEditor: true,\n file,\n lineNumber: lineNumber ? Number(lineNumber) : undefined,\n column: column ? Number(column) : undefined\n };\n // When the location is a URL we only show the file\n // TODO: Resolve http(s) URLs through sourcemaps\n case \"http\":\n case \"protocol-relative\":\n case \"unknown\":\n default:\n {\n return {\n canOpenInEditor: false\n };\n }\n }\n}\nfunction parseComponentStack(componentStack) {\n const componentStackFrames = [];\n for (const line of componentStack.trim().split(\"\\n\")){\n // Get component and file from the component stack line\n const match = /at ([^ ]+)( \\((.*)\\))?/.exec(line);\n if (match == null ? void 0 : match[1]) {\n const component = match[1];\n const location = match[3];\n if (!location) {\n componentStackFrames.push({\n canOpenInEditor: false,\n component\n });\n continue;\n }\n // Stop parsing the component stack if we reach a Next.js component\n if (location == null ? void 0 : location.includes(\"next/dist\")) {\n break;\n }\n const frameLocation = parseStackFrameLocation(location);\n componentStackFrames.push({\n component,\n ...frameLocation\n });\n }\n }\n return componentStackFrames;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parse-component-stack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2UtY29tcG9uZW50LXN0YWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBcUVnQkE7OztlQUFBQTs7OztVQTdEWEMsWUFBQUE7Ozs7OztHQUFBQSxnQkFBQUEsQ0FBQUEsZUFBQUEsQ0FBQUEsQ0FBQUE7QUFRTDs7Q0FFQyxHQUNELFNBQVNDLGdCQUFnQkMsUUFBZ0I7SUFDdkMsSUFBSUEsU0FBU0MsVUFBVSxDQUFDLFlBQVk7UUFDbEM7SUFDRjtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyx3QkFBd0I7UUFDOUM7SUFDRjtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyxjQUFjRCxTQUFTQyxVQUFVLENBQUMsYUFBYTtRQUNyRTtJQUNGO0lBQ0EsSUFBSUQsU0FBU0MsVUFBVSxDQUFDLE9BQU87UUFDN0I7SUFDRjtJQUNBO0FBQ0Y7QUFFQSxTQUFTQyx3QkFDUEYsUUFBZ0I7SUFFaEIsTUFBTUcsZUFBZUosZ0JBQWdCQztJQUVyQyxNQUFNSSxhQUFhSixZQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxTQUFVSyxPQUFPLENBQ2xDLG1EQUNBO1FBR0FEO0lBREYsTUFBTSxHQUFHRSxNQUFNQyxZQUFZQyxPQUFPLEdBQ2hDSixDQUFBQSxvQkFBQUEsY0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsV0FBWUssS0FBSyxDQUFDLGdDQUFsQkwsb0JBQTBDLEVBQUU7SUFFOUMsT0FBUUQ7UUFDTjtRQUNBO1lBQ0UsT0FBTztnQkFDTE8saUJBQWlCO2dCQUNqQko7Z0JBQ0FDLFlBQVlBLGFBQWFJLE9BQU9KLGNBQWNLO2dCQUM5Q0osUUFBUUEsU0FBU0csT0FBT0gsVUFBVUk7WUFDcEM7UUFDRixtREFBbUQ7UUFDbkQsZ0RBQWdEO1FBQ2hEO1FBQ0E7UUFDQTtRQUNBO1lBQVM7Z0JBQ1AsT0FBTztvQkFDTEYsaUJBQWlCO2dCQUNuQjtZQUNGO0lBQ0Y7QUFDRjtBQUVPLFNBQVNiLG9CQUNkZ0IsY0FBc0I7SUFFdEIsTUFBTUMsdUJBQThDLEVBQUU7SUFDdEQsS0FBSyxNQUFNQyxRQUFRRixlQUFlRyxJQUFJLEdBQUdDLEtBQUssQ0FBQyxNQUFPO1FBQ3BELHVEQUF1RDtRQUN2RCxNQUFNUixRQUFRLHlCQUF5QlMsSUFBSSxDQUFDSDtRQUM1QyxJQUFJTixTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxLQUFPLENBQUMsRUFBRSxFQUFFO1lBQ2QsTUFBTVUsWUFBWVYsS0FBSyxDQUFDLEVBQUU7WUFDMUIsTUFBTVQsV0FBV1MsS0FBSyxDQUFDLEVBQUU7WUFFekIsSUFBSSxDQUFDVCxVQUFVO2dCQUNiYyxxQkFBcUJNLElBQUksQ0FBQztvQkFDeEJWLGlCQUFpQjtvQkFDakJTO2dCQUNGO2dCQUNBO1lBQ0Y7WUFFQSxtRUFBbUU7WUFDbkUsSUFBSW5CLFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVVxQixRQUFRLENBQUMsY0FBYztnQkFDbkM7WUFDRjtZQUVBLE1BQU1DLGdCQUFnQnBCLHdCQUF3QkY7WUFDOUNjLHFCQUFxQk0sSUFBSSxDQUFDO2dCQUN4QkQ7Z0JBQ0EsR0FBR0csYUFBYTtZQUNsQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPUjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9wYXJzZS1jb21wb25lbnQtc3RhY2sudHM/YzBhNCJdLCJuYW1lcyI6WyJwYXJzZUNvbXBvbmVudFN0YWNrIiwiTG9jYXRpb25UeXBlIiwiZ2V0TG9jYXRpb25UeXBlIiwibG9jYXRpb24iLCJzdGFydHNXaXRoIiwicGFyc2VTdGFja0ZyYW1lTG9jYXRpb24iLCJsb2NhdGlvblR5cGUiLCJtb2R1bGVQYXRoIiwicmVwbGFjZSIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwibWF0Y2giLCJjYW5PcGVuSW5FZGl0b3IiLCJOdW1iZXIiLCJ1bmRlZmluZWQiLCJjb21wb25lbnRTdGFjayIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwibGluZSIsInRyaW0iLCJzcGxpdCIsImV4ZWMiLCJjb21wb25lbnQiLCJwdXNoIiwiaW5jbHVkZXMiLCJmcmFtZUxvY2F0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js ***! - \***************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseStack\", ({\n enumerable: true,\n get: function() {\n return parseStack;\n }\n}));\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nconst regexNextStatic = /\\/_next(\\/static\\/.+)/;\nfunction parseStack(stack) {\n const frames = (0, _stacktraceparser.parse)(stack);\n return frames.map((frame)=>{\n try {\n const url = new URL(frame.file);\n const res = regexNextStatic.exec(url.pathname);\n if (res) {\n var _process_env___NEXT_DIST_DIR_replace, _process_env___NEXT_DIST_DIR;\n const distDir = (_process_env___NEXT_DIST_DIR = \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/.next\") == null ? void 0 : (_process_env___NEXT_DIST_DIR_replace = _process_env___NEXT_DIST_DIR.replace(/\\\\/g, \"/\")) == null ? void 0 : _process_env___NEXT_DIST_DIR_replace.replace(/\\/$/, \"\");\n if (distDir) {\n frame.file = \"file://\" + distDir.concat(res.pop()) + url.search;\n }\n }\n } catch (e) {}\n return frame;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parseStack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2VTdGFjay5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQUtnQkE7OztlQUFBQTs7OzhDQUxNO0FBR3RCLE1BQU1DLGtCQUFrQjtBQUVqQixTQUFTRCxXQUFXRSxLQUFhO0lBQ3RDLE1BQU1DLFNBQVNDLENBQUFBLEdBQUFBLGtCQUFBQSxLQUFLLEVBQUNGO0lBQ3JCLE9BQU9DLE9BQU9FLEdBQUcsQ0FBQyxDQUFDQztRQUNqQixJQUFJO1lBQ0YsTUFBTUMsTUFBTSxJQUFJQyxJQUFJRixNQUFNRyxJQUFJO1lBQzlCLE1BQU1DLE1BQU1ULGdCQUFnQlUsSUFBSSxDQUFDSixJQUFJSyxRQUFRO1lBQzdDLElBQUlGLEtBQUs7b0JBQ1NHLHNDQUFBQTtnQkFBaEIsTUFBTUMsVUFBQUEsQ0FBVUQsK0JBQUFBLDZEQUEyQixzQkFBM0JBLHVDQUFBQSw2QkFDWkksT0FBTyxDQUFDLE9BQU8seUJBREhKLHFDQUVaSSxPQUFPLENBQUMsT0FBTztnQkFDbkIsSUFBSUgsU0FBUztvQkFDWFIsTUFBTUcsSUFBSSxHQUFHLFlBQVlLLFFBQVFJLE1BQU0sQ0FBQ1IsSUFBSVMsR0FBRyxNQUFPWixJQUFJYSxNQUFNO2dCQUNsRTtZQUNGO1FBQ0YsRUFBRSxPQUFBQyxHQUFNLENBQUM7UUFDVCxPQUFPZjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlU3RhY2sudHM/YWQwMyJdLCJuYW1lcyI6WyJwYXJzZVN0YWNrIiwicmVnZXhOZXh0U3RhdGljIiwic3RhY2siLCJmcmFtZXMiLCJwYXJzZSIsIm1hcCIsImZyYW1lIiwidXJsIiwiVVJMIiwiZmlsZSIsInJlcyIsImV4ZWMiLCJwYXRobmFtZSIsInByb2Nlc3MiLCJkaXN0RGlyIiwiZW52IiwiX19ORVhUX0RJU1RfRElSIiwicmVwbGFjZSIsImNvbmNhdCIsInBvcCIsInNlYXJjaCIsImUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js": -/*!**************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js ***! - \**************************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RuntimeErrorHandler\", ({\n enumerable: true,\n get: function() {\n return RuntimeErrorHandler;\n }\n}));\nconst RuntimeErrorHandler = {\n hadRuntimeError: false\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=runtime-error-handler.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcnVudGltZS1lcnJvci1oYW5kbGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBQWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHNCQUFzQjtJQUNqQ0MsaUJBQWlCO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ydW50aW1lLWVycm9yLWhhbmRsZXIudHM/ODk1MSJdLCJuYW1lcyI6WyJSdW50aW1lRXJyb3JIYW5kbGVyIiwiaGFkUnVudGltZUVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js ***! - \****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getFrameSource: function() {\n return getFrameSource;\n },\n getOriginalStackFrames: function() {\n return getOriginalStackFrames;\n }\n});\nfunction getOriginalStackFrame(source, type, isAppDir, errorMessage) {\n var _source_file, _source_file1;\n async function _getOriginalStackFrame() {\n var /* collapsed */ _source_file, _body_originalStackFrame_file, _body_originalStackFrame, _body_originalStackFrame_file1, _body_originalStackFrame1;\n const params = new URLSearchParams();\n params.append(\"isServer\", String(type === \"server\"));\n params.append(\"isEdgeServer\", String(type === \"edge-server\"));\n params.append(\"isAppDirectory\", String(isAppDir));\n params.append(\"errorMessage\", errorMessage);\n for(const key in source){\n var _source_key;\n params.append(key, ((_source_key = source[key]) != null ? _source_key : \"\").toString());\n }\n const controller = new AbortController();\n const tm = setTimeout(()=>controller.abort(), 3000);\n const res = await self.fetch(( false || \"\") + \"/__nextjs_original-stack-frame?\" + params.toString(), {\n signal: controller.signal\n }).finally(()=>{\n clearTimeout(tm);\n });\n if (!res.ok || res.status === 204) {\n return Promise.reject(new Error(await res.text()));\n }\n const body = await res.json();\n var _ref;\n return {\n error: false,\n reason: null,\n external: false,\n expanded: !Boolean((_ref = ((_source_file = source.file) == null ? void 0 : _source_file.includes(\"node_modules\")) || ((_body_originalStackFrame = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file = _body_originalStackFrame.file) == null ? void 0 : _body_originalStackFrame_file.includes(\"node_modules\")) || ((_body_originalStackFrame1 = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file1 = _body_originalStackFrame1.file) == null ? void 0 : _body_originalStackFrame_file1.startsWith(\"[turbopack]/\"))) != null ? _ref : true),\n sourceStackFrame: source,\n originalStackFrame: body.originalStackFrame,\n originalCodeFrame: body.originalCodeFrame || null,\n sourcePackage: body.sourcePackage\n };\n }\n if (source.file === \"<anonymous>\" || ((_source_file = source.file) == null ? void 0 : _source_file.match(/^node:/)) || ((_source_file1 = source.file) == null ? void 0 : _source_file1.match(/https?:\\/\\//))) {\n return Promise.resolve({\n error: false,\n reason: null,\n external: true,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null,\n sourcePackage: null\n });\n }\n return _getOriginalStackFrame().catch((err)=>{\n var _err_message, _ref;\n return {\n error: true,\n reason: (_ref = (_err_message = err == null ? void 0 : err.message) != null ? _err_message : err == null ? void 0 : err.toString()) != null ? _ref : \"Unknown Error\",\n external: false,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null,\n sourcePackage: null\n };\n });\n}\nfunction getOriginalStackFrames(frames, type, isAppDir, errorMessage) {\n return Promise.all(frames.map((frame)=>getOriginalStackFrame(frame, type, isAppDir, errorMessage)));\n}\nconst webpackRegExes = [\n /^webpack-internal:\\/\\/\\/(\\.)?(\\((\\w+)\\))?/,\n /^(webpack:\\/\\/\\/(\\.)?|webpack:\\/\\/(_N_E\\/)?)(\\((\\w+)\\))?/\n];\nfunction isWebpackBundled(file) {\n return webpackRegExes.some((regEx)=>regEx.test(file));\n}\n/**\n * Format the webpack internal id to original file path\n * webpack-internal:///./src/hello.tsx => ./src/hello.tsx\n * webpack://_N_E/./src/hello.tsx => ./src/hello.tsx\n * webpack://./src/hello.tsx => ./src/hello.tsx\n * webpack:///./src/hello.tsx => ./src/hello.tsx\n */ function formatFrameSourceFile(file) {\n for (const regex of webpackRegExes)file = file.replace(regex, \"\");\n return file;\n}\nfunction getFrameSource(frame) {\n if (!frame.file) return \"\";\n let str = \"\";\n try {\n var _globalThis_location;\n const u = new URL(frame.file);\n // Strip the origin for same-origin scripts.\n if (((_globalThis_location = globalThis.location) == null ? void 0 : _globalThis_location.origin) !== u.origin) {\n // URLs can be valid without an `origin`, so long as they have a\n // `protocol`. However, `origin` is preferred.\n if (u.origin === \"null\") {\n str += u.protocol;\n } else {\n str += u.origin;\n }\n }\n // Strip query string information as it's typically too verbose to be\n // meaningful.\n str += u.pathname;\n str += \" \";\n str = formatFrameSourceFile(str);\n } catch (e) {\n str += formatFrameSourceFile(frame.file || \"(unknown)\") + \" \";\n }\n if (!isWebpackBundled(frame.file) && frame.lineNumber != null) {\n if (frame.column != null) {\n str += \"(\" + frame.lineNumber + \":\" + frame.column + \") \";\n } else {\n str += \"(\" + frame.lineNumber + \") \";\n }\n }\n return str.slice(0, -1);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=stack-frame.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvc3RhY2stZnJhbWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNkhnQkEsZ0JBQWM7ZUFBZEE7O0lBbENBQyx3QkFBc0I7ZUFBdEJBOzs7QUFoRmhCLFNBQVNDLHNCQUNQQyxNQUFrQixFQUNsQkMsSUFBcUMsRUFDckNDLFFBQWlCLEVBQ2pCQyxZQUFvQjtRQWlEbEJILGNBQ0FBO0lBaERGLGVBQWVJO1lBZ0NULGFBQWEsR0FDWkosY0FDQ0ssK0JBQUFBLDBCQUNBQSxnQ0FBQUE7UUFsQ04sTUFBTUMsU0FBUyxJQUFJQztRQUNuQkQsT0FBT0UsTUFBTSxDQUFDLFlBQVlDLE9BQU9SLFNBQVM7UUFDMUNLLE9BQU9FLE1BQU0sQ0FBQyxnQkFBZ0JDLE9BQU9SLFNBQVM7UUFDOUNLLE9BQU9FLE1BQU0sQ0FBQyxrQkFBa0JDLE9BQU9QO1FBQ3ZDSSxPQUFPRSxNQUFNLENBQUMsZ0JBQWdCTDtRQUM5QixJQUFLLE1BQU1PLE9BQU9WLE9BQVE7Z0JBQ0pXO1lBQXBCTCxPQUFPRSxNQUFNLENBQUNFLEtBQUssQ0FBQyxDQUFBQyxjQUFBWCxNQUFlLENBQUNVLElBQUksWUFBcEJDLGNBQXdCLElBQUlDLFFBQVE7UUFDMUQ7UUFFQSxNQUFNQyxhQUFhLElBQUlDO1FBQ3ZCLE1BQU1DLEtBQUtDLFdBQVcsSUFBTUgsV0FBV0ksS0FBSyxJQUFJO1FBQ2hELE1BQU1DLE1BQU0sTUFBTUMsS0FDZkMsS0FBSyxDQUNKLENBQ0VDLE1BQWtDLElBQUksTUFDdkMsb0NBQWlDZixPQUFPTSxRQUFRLElBQ2pEO1lBQUVZLFFBQVFYLFdBQVdXLE1BQU07UUFBQyxHQUU3QkMsT0FBTyxDQUFDO1lBQ1BDLGFBQWFYO1FBQ2Y7UUFDRixJQUFJLENBQUNHLElBQUlTLEVBQUUsSUFBSVQsSUFBSVUsTUFBTSxLQUFLLEtBQUs7WUFDakMsT0FBT0Ms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TUFBTSxLQUFLLFFBQVE7Z0JBQ3ZCTCxPQUFPRSxFQUFFSSxRQUFRO1lBQ25CLE9BQU87Z0JBQ0xOLE9BQU9FLEVBQUVHLE1BQU07WUFDakI7UUFDRjtRQUVBLHFFQUFxRTtRQUNyRSxjQUFjO1FBQ2RMLE9BQU9FLEVBQUVLLFFBQVE7UUFDakJQLE9BQU87UUFDUEEsTUFBTUgsc0JBQXNCRztJQUM5QixFQUFFLE9BQUFRLEdBQU07UUFDTlIsT0FBT0gsc0JBQXNCTixNQUFNZixJQUFJLElBQUksZUFBZTtJQUM1RDtJQUVBLElBQUksQ0FBQ2lCLGlCQUFpQkYsTUFBTWYsSUFBSSxLQUFLZSxNQUFNa0IsVUFBVSxJQUFJLE1BQU07UUFDN0QsSUFBSWxCLE1BQU1tQixNQUFNLElBQUksTUFBTTtZQUN4QlYsT0FBTyxNQUFJVCxNQUFNa0IsVUFBVSxHQUFDLE1BQUdsQixNQUFNbUIsTUFBTSxHQUFDO1FBQzlDLE9BQU87WUFDTFYsT0FBTyxNQUFJVCxNQUFNa0IsVUFBVSxHQUFDO1FBQzlCO0lBQ0Y7SUFDQSxPQUFPVCxJQUFJVyxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9zdGFjay1mcmFtZS50cz8yOGI4Il0sIm5hbWVzIjpbImdldEZyYW1lU291cmNlIiwiZ2V0T3JpZ2luYWxTdGFja0ZyYW1lcyIsImdldE9yaWdpbmFsU3RhY2tGcmFtZSIsInNvdXJjZSIsInR5cGUiLCJpc0FwcERpciIsImVycm9yTWVzc2FnZSIsIl9nZXRPcmlnaW5hbFN0YWNrRnJhbWUiLCJib2R5IiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiU3RyaW5nIiwia2V5IiwiX3NvdXJjZV9rZXkiLCJ0b1N0cmluZyIsImNvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJ0bSIsInNldFRpbWVvdXQiLCJhYm9ydCIsInJlcyIsInNlbGYiLCJmZXRjaCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwic2lnbmFsIiwiZmluYWxseSIsImNsZWFyVGltZW91dCIsIm9rIiwic3RhdHVzIiwiUHJvbWlzZSIsInJlamVjdCIsIkVycm9yIiwidGV4dCIsImpzb24iLCJlcnJvciIsInJlYXNvbiIsImV4dGVybmFsIiwiZXhwYW5kZWQiLCJCb29sZWFuIiwiZmlsZSIsImluY2x1ZGVzIiwib3JpZ2luYWxTdGFja0ZyYW1lIiwic3RhcnRzV2l0aCIsInNvdXJjZVN0YWNrRnJhbWUiLCJvcmlnaW5hbENvZGVGcmFtZSIsInNvdXJjZVBhY2thZ2UiLCJtYXRjaCIsInJlc29sdmUiLCJjYXRjaCIsImVyciIsIm1lc3NhZ2UiLCJmcmFtZXMiLCJhbGwiLCJtYXAiLCJmcmFtZSIsIndlYnBhY2tSZWdFeGVzIiwiaXNXZWJwYWNrQnVuZGxlZCIsInNvbWUiLCJyZWdFeCIsInRlc3QiLCJmb3JtYXRGcmFtZVNvdXJjZUZpbGUiLCJyZWdleCIsInJlcGxhY2UiLCJzdHIiLCJnbG9iYWxUaGlzIiwidSIsIlVSTCIsImxvY2F0aW9uIiwib3JpZ2luIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOpenInEditor\", ({\n enumerable: true,\n get: function() {\n return useOpenInEditor;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nfunction useOpenInEditor(param) {\n let { file, lineNumber, column } = param === void 0 ? {} : param;\n const openInEditor = (0, _react.useCallback)(()=>{\n if (file == null || lineNumber == null || column == null) return;\n const params = new URLSearchParams();\n params.append(\"file\", file);\n params.append(\"lineNumber\", String(lineNumber));\n params.append(\"column\", String(column));\n self.fetch(( false || \"\") + \"/__nextjs_launch-editor?\" + params.toString()).then(()=>{}, ()=>{\n console.error(\"There was an issue opening this code in your editor.\");\n });\n }, [\n file,\n lineNumber,\n column\n ]);\n return openInEditor;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-open-in-editor.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBRWdCQTs7O2VBQUFBOzs7bUNBRlk7QUFFckIsU0FBU0EsZ0JBQWdCQyxLQUFBO0lBQUEsTUFDOUJDLElBQUksRUFDSkMsVUFBVSxFQUNWQyxNQUFNLEVBS1AsR0FSK0JILFVBQUEsU0FRNUIsQ0FBQyxJQVIyQkE7SUFTOUIsTUFBTUksZUFBZUMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQy9CLElBQUlKLFFBQVEsUUFBUUMsY0FBYyxRQUFRQyxVQUFVLE1BQU07UUFFMUQsTUFBTUcsU0FBUyxJQUFJQztRQUNuQkQsT0FBT0UsTUFBTSxDQUFDLFFBQVFQO1FBQ3RCSyxPQUFPRSxNQUFNLENBQUMsY0FBY0MsT0FBT1A7UUFDbkNJLE9BQU9FLE1BQU0sQ0FBQyxVQUFVQyxPQUFPTjtRQUUvQk8sS0FDR0MsS0FBSyxDQUNKLENBQ0VDLE1BQWtDLElBQUksTUFDdkMsNkJBQTBCTixPQUFPUyxRQUFRLElBRTNDQyxJQUFJLENBQ0gsS0FBTyxHQUNQO1lBQ0VDLFFBQVFDLEtBQUssQ0FBQztRQUNoQjtJQUVOLEdBQUc7UUFBQ2pCO1FBQU1DO1FBQVlDO0tBQU87SUFFN0IsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yLnRzPzNkNzYiXSwibmFtZXMiOlsidXNlT3BlbkluRWRpdG9yIiwicGFyYW0iLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsIm9wZW5JbkVkaXRvciIsInVzZUNhbGxiYWNrIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiU3RyaW5nIiwic2VsZiIsImZldGNoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJ0b1N0cmluZyIsInRoZW4iLCJjb25zb2xlIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js": -/*!***********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js ***! - \***********************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOnClickOutside\", ({\n enumerable: true,\n get: function() {\n return useOnClickOutside;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nfunction useOnClickOutside(el, handler) {\n _s();\n _react.useEffect(()=>{\n if (el == null || handler == null) {\n return;\n }\n const listener = (e)=>{\n // Do nothing if clicking ref's element or descendent elements\n if (!el || el.contains(e.target)) {\n return;\n }\n handler(e);\n };\n const root = el.getRootNode();\n root.addEventListener(\"mousedown\", listener);\n root.addEventListener(\"touchstart\", listener);\n return function() {\n root.removeEventListener(\"mousedown\", listener);\n root.removeEventListener(\"touchstart\", listener);\n };\n }, [\n handler,\n el\n ]);\n}\n_s(useOnClickOutside, \"OD7bBpZva5O2jO+Puf00hKivP7c=\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-on-click-outside.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hvb2tzL3VzZS1vbi1jbGljay1vdXRzaWRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztxREFFZ0JBOzs7ZUFBQUE7Ozs7NkVBRk87QUFFaEIsU0FBU0Esa0JBQ2RDLEVBQWUsRUFDZkMsT0FBMkQ7O0lBRTNEQyxPQUFNQyxTQUFTLENBQUM7UUFDZCxJQUFJSCxNQUFNLFFBQVFDLFdBQVcsTUFBTTtZQUNqQztRQUNGO1FBRUEsTUFBTUcsV0FBVyxDQUFDQztZQUNoQiw4REFBOEQ7WUFDOUQsSUFBSSxDQUFDTCxNQUFNQSxHQUFHTSxRQUFRLENBQUNELEVBQUVFLE1BQU0sR0FBYztnQkFDM0M7WUFDRjtZQUVBTixRQUFRSTtRQUNWO1FBRUEsTUFBTUcsT0FBT1IsR0FBR1MsV0FBVztRQUMzQkQsS0FBS0UsZ0JBQWdCLENBQUMsYUFBYU47UUFDbkNJLEtBQUtFLGdCQUFnQixDQUFDLGNBQWNOO1FBQ3BDLE9BQU87WUFDTEksS0FBS0csbUJBQW1CLENBQUMsYUFBYVA7WUFDdENJLEtBQUtHLG1CQUFtQixDQUFDLGNBQWNQO1FBQ3pDO0lBQ0YsR0FBRztRQUFDSDtRQUFTRDtLQUFHO0FBQ2xCO0dBMUJnQkQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9ob29rcy91c2Utb24tY2xpY2stb3V0c2lkZS50cz84ZWU1Il0sIm5hbWVzIjpbInVzZU9uQ2xpY2tPdXRzaWRlIiwiZWwiLCJoYW5kbGVyIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJsaXN0ZW5lciIsImUiLCJjb250YWlucyIsInRhcmdldCIsInJvb3QiLCJnZXRSb290Tm9kZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js ***! - \************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CloseIcon\", ({\n enumerable: true,\n get: function() {\n return CloseIcon;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst CloseIcon = ()=>{\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 6L6 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6 6L18 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n });\n};\n_c = CloseIcon;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CloseIcon.js.map\nvar _c;\n$RefreshReg$(_c, \"CloseIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0Nsb3NlSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OzZDQTZCU0E7OztlQUFBQTs7Ozs7NkVBN0JjO0FBRXZCLE1BQU1BLFlBQVk7SUFDaEIsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUNDQyxPQUFNO1FBQ05DLFFBQU87UUFDUEMsU0FBUTtRQUNSQyxNQUFLO1FBQ0xDLE9BQU07OzBCQUVOLElBQUFQLFlBQUFRLEdBQUEsRUFBQ0MsUUFBQUE7Z0JBQ0NDLEdBQUU7Z0JBQ0ZDLFFBQU87Z0JBQ1BDLGFBQVk7Z0JBQ1pDLGVBQWM7Z0JBQ2RDLGdCQUFlOzswQkFFakIsSUFBQWQsWUFBQVEsR0FBQSxFQUFDQyxRQUFBQTtnQkFDQ0MsR0FBRTtnQkFDRkMsUUFBTztnQkFDUEMsYUFBWTtnQkFDWkMsZUFBYztnQkFDZEMsZ0JBQWU7Ozs7QUFJdkI7S0F6Qk1mIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaWNvbnMvQ2xvc2VJY29uLnRzeD8xOTdkIl0sIm5hbWVzIjpbIkNsb3NlSWNvbiIsIl9qc3hydW50aW1lIiwianN4cyIsInN2ZyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJ4bWxucyIsImpzeCIsInBhdGgiLCJkIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js ***! - \***************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CollapseIcon\", ({\n enumerable: true,\n get: function() {\n return CollapseIcon;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nfunction CollapseIcon(param) {\n let { collapsed } = param === void 0 ? {} : param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"svg\", {\n \"data-nextjs-call-stack-chevron-icon\": true,\n \"data-collapsed\": collapsed,\n fill: \"none\",\n height: \"20\",\n width: \"20\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"2\",\n viewBox: \"0 0 24 24\",\n ...typeof collapsed === \"boolean\" ? {\n style: {\n transform: collapsed ? undefined : \"rotate(90deg)\"\n }\n } : {},\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M9 18l6-6-6-6\"\n })\n });\n}\n_c = CollapseIcon;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CollapseIcon.js.map\nvar _c;\n$RefreshReg$(_c, \"CollapseIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0NvbGxhcHNlSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQUFnQkE7OztlQUFBQTs7OztBQUFULFNBQVNBLGFBQWFDLEtBQUE7SUFBQSxNQUFFQyxTQUFTLEVBQTJCLEdBQXRDRCxVQUFBLFNBQXlDLENBQUMsSUFBMUNBO0lBQzNCLE9BQ0UsV0FERixHQUNFLElBQUFFLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsdUNBQW1DO1FBQ25DQyxrQkFBZ0JMO1FBQ2hCTSxNQUFLO1FBQ0xDLFFBQU87UUFDUEMsT0FBTTtRQUNOQyxnQkFBZTtRQUNmQyxRQUFPO1FBQ1BDLGVBQWM7UUFDZEMsZ0JBQWU7UUFDZkMsYUFBWTtRQUNaQyxTQUFRO1FBR1AsR0FBSSxPQUFPZCxjQUFjLFlBQ3RCO1lBQUVlLE9BQU87Z0JBQUVDLFdBQVdoQixZQUFZaUIsWUFBWTtZQUFnQjtRQUFFLElBQ2hFLENBQUMsQ0FBQztrQkFFTixrQkFBQWhCLFlBQUFDLEdBQUEsRUFBQ2dCLFFBQUFBO1lBQUtDLEdBQUU7OztBQUdkO0tBdkJnQnJCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaWNvbnMvQ29sbGFwc2VJY29uLnRzeD8yNmRlIl0sIm5hbWVzIjpbIkNvbGxhcHNlSWNvbiIsInBhcmFtIiwiY29sbGFwc2VkIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJzdmciLCJkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWNoZXZyb24taWNvbiIsImRhdGEtY29sbGFwc2VkIiwiZmlsbCIsImhlaWdodCIsIndpZHRoIiwic2hhcGVSZW5kZXJpbmciLCJzdHJva2UiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJzdHJva2VXaWR0aCIsInZpZXdCb3giLCJzdHlsZSIsInRyYW5zZm9ybSIsInVuZGVmaW5lZCIsInBhdGgiLCJkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js ***! - \****************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"FrameworkIcon\", ({\n enumerable: true,\n get: function() {\n return FrameworkIcon;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nfunction FrameworkIcon(param) {\n let { framework } = param;\n if (framework === \"react\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"react\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 410 369\",\n fill: \"none\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"5\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M204.995 224.552C226.56 224.552 244.042 207.07 244.042 185.506C244.042 163.941 226.56 146.459 204.995 146.459C183.43 146.459 165.948 163.941 165.948 185.506C165.948 207.07 183.43 224.552 204.995 224.552Z\",\n fill: \"currentColor\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M409.99 184.505C409.99 153.707 381.437 126.667 335.996 108.925C343.342 60.6535 334.19 22.3878 307.492 6.98883C283.649 -6.77511 250.631 -0.0395641 214.512 25.9753C211.316 28.2692 208.143 30.7097 204.97 33.2477C201.822 30.7097 198.65 28.2692 195.477 25.9753C159.359 -0.0395641 126.34 -6.79951 102.497 6.98883C75.8237 22.3878 66.6721 60.6291 74.0422 108.852C28.5529 126.618 0 153.682 0 184.505C0 215.303 28.5528 242.342 73.9934 260.084C66.6477 308.356 75.7993 346.621 102.497 362.02C110.575 366.682 119.727 369 129.684 369C149.085 369 171.61 360.215 195.477 343.034C198.674 340.74 201.847 338.3 205.019 335.762C208.167 338.3 211.34 340.74 214.512 343.034C238.38 360.239 260.905 369 280.306 369C290.263 369 299.415 366.682 307.492 362.02C331.335 348.256 342 316.287 337.534 271.993C337.143 268.089 336.631 264.135 335.996 260.109C381.461 242.367 409.99 215.327 409.99 184.505ZM225.934 41.8136C246.238 27.1955 265.127 19.5814 280.306 19.5814C286.871 19.5814 292.728 20.9968 297.731 23.8765C315.204 33.9798 322.672 62.9475 317.327 102.433C299.756 97.0401 280.306 92.9158 259.392 90.2802C246.872 73.8074 233.597 58.9453 220.003 46.2551C221.98 44.7421 223.957 43.229 225.934 41.8136ZM112.259 23.8765C117.262 20.9968 123.119 19.5814 129.684 19.5814C144.863 19.5814 163.752 27.1711 184.056 41.8136C186.033 43.229 188.01 44.7176 189.986 46.2551C176.393 58.9453 163.142 73.783 150.622 90.2558C129.732 92.8914 110.258 97.0401 92.687 102.409C87.3424 62.9475 94.7857 33.9798 112.259 23.8765ZM19.5233 184.505C19.5233 164.322 40.9014 143.359 77.776 128.253C81.9003 146.141 88.0502 165.054 96.1768 184.456C88.0014 203.881 81.8515 222.819 77.7272 240.732C40.9014 225.626 19.5233 204.687 19.5233 184.505ZM184.056 327.196C154.966 348.134 128.805 354.675 112.259 345.133C94.7857 335.029 87.3181 306.062 92.6626 266.576C110.234 271.969 129.684 276.093 150.598 278.729C163.117 295.202 176.393 310.064 189.986 322.754C188.01 324.292 186.033 325.78 184.056 327.196ZM204.995 310.04C180.591 287.685 157.138 257.815 137.347 223.551C132.051 214.4 121.344 191.396 117 182.489C113.535 190.786 110.112 198.398 107.427 206.5C109.623 210.575 118.092 229.213 120.434 233.288C125.071 241.317 129.928 249.127 134.931 256.692C120.898 254.227 107.915 251.055 96.1035 247.321C102.815 217.011 116.213 182.064 137.347 145.458C142.545 136.453 153.838 116.346 159.5 108C150.568 109.147 143.395 108.767 135 110.5C132.56 114.453 122.777 131.645 120.434 135.721C115.749 143.823 111.454 151.925 107.427 159.978C102.546 146.581 98.8124 133.744 96.1524 121.64C125.755 112.293 162.727 106.411 204.995 106.411C215.562 106.411 237.63 106.197 247.49 106.905C242.048 99.7544 237.38 93.2819 231.694 86.888C227.082 86.7416 209.705 86.888 204.995 86.888C195.672 86.888 186.545 87.2053 177.589 87.7422C186.472 77.1752 195.672 67.5111 204.995 58.9697C229.375 81.3239 252.851 111.195 272.643 145.458C277.841 154.463 289.073 175.426 293.49 184.505C296.98 176.207 300.281 168.64 302.99 160.489C300.793 156.389 291.898 139.747 289.555 135.696C284.918 127.667 280.062 119.858 275.059 112.317C289.092 114.782 302.075 117.954 313.886 121.688C307.175 151.998 293.777 186.945 272.643 223.551C267.445 232.556 252.651 253.178 246.99 261.524C255.922 260.377 265.595 258.663 273.99 256.93C276.43 252.976 287.212 237.364 289.555 233.288C294.216 225.235 298.512 217.182 302.489 209.153C307.224 222.185 310.982 234.997 313.715 247.394C284.138 256.741 247.214 262.598 204.995 262.598C194.428 262.598 169.859 261.208 160 260.5C165.442 267.65 171.304 275.095 176.99 281.489C181.602 281.635 200.285 282.121 204.995 282.121C214.317 282.121 223.444 281.804 232.401 281.267C223.493 291.834 214.317 301.498 204.995 310.04ZM297.731 345.133C281.185 354.699 254.999 348.159 225.934 327.196C223.957 325.78 221.98 324.292 220.003 322.754C233.597 310.064 246.848 295.226 259.367 278.753C280.233 276.118 299.659 271.993 317.205 266.625C317.547 269.089 317.888 271.554 318.132 273.97C321.72 309.649 314.277 335.566 297.731 345.133ZM332.262 240.756C328.065 222.599 321.842 203.686 313.813 184.578C321.988 165.152 328.138 146.215 332.262 128.302C369.088 143.408 390.466 164.322 390.466 184.505C390.466 204.687 369.113 225.626 332.262 240.756Z\",\n fill: \"currentColor\"\n })\n ]\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"next\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 180 180\",\n fill: \"none\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"mask\", {\n id: \"mask0_408_139\",\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"180\",\n height: \"180\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"90\",\n fill: \"black\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"g\", {\n mask: \"url(#mask0_408_139)\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"87\",\n fill: \"black\",\n stroke: \"white\",\n strokeWidth: \"6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z\",\n fill: \"url(#paint0_linear_408_139)\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"rect\", {\n x: \"115\",\n y: \"54\",\n width: \"12\",\n height: \"72\",\n fill: \"url(#paint1_linear_408_139)\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"defs\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint0_linear_408_139\",\n x1: \"109\",\n y1: \"116.5\",\n x2: \"144.5\",\n y2: \"160.5\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint1_linear_408_139\",\n x1: \"121\",\n y1: \"54\",\n x2: \"120.799\",\n y2: \"106.875\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n })\n ]\n })\n ]\n });\n}\n_c = FrameworkIcon;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=FrameworkIcon.js.map\nvar _c;\n$RefreshReg$(_c, \"FrameworkIcon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0ZyYW1ld29ya0ljb24uanMiLCJtYXBwaW5ncyI6Ijs7OztpREFFZ0JBOzs7ZUFBQUE7Ozs7QUFBVCxTQUFTQSxjQUFjQyxLQUk3QjtJQUo2QixNQUM1QkMsU0FBUyxFQUdWLEdBSjZCRDtJQUs1QixJQUFJQyxjQUFjLFNBQVM7UUFDekIsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtZQUNDQyx5Q0FBc0M7WUFDdENDLE9BQU07WUFDTkMsT0FBTTtZQUNOQyxRQUFPO1lBQ1BDLFNBQVE7WUFDUkMsTUFBSztZQUNMQyxnQkFBZTtZQUNmQyxRQUFPO1lBQ1BDLGVBQWM7WUFDZEMsZ0JBQWU7WUFDZkMsYUFBWTs7OEJBRVosSUFBQWIsWUFBQWMsR0FBQSxFQUFDQyxRQUFBQTtvQkFDQ0MsR0FBRTtvQkFDRlIsTUFBSzs7OEJBRVAsSUFBQVIsWUFBQWMsR0FBQSxFQUFDQyxRQUFBQTtvQkFDQ0MsR0FBRTtvQkFDRlIsTUFBSzs7OztJQUliO0lBRUEsT0FDRSxXQURGLEdBQ0UsSUFBQVIsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUNDQyx5Q0FBc0M7UUFDdENDLE9BQU07UUFDTkMsT0FBTTtRQUNOQyxRQUFPO1FBQ1BDLFNBQVE7UUFDUkMsTUFBSzs7MEJBRUwsSUFBQVIsWUFBQWMsR0FBQSxFQUFDRyxRQUFBQTtnQkFDQ0MsSUFBRztnQkFDSEMsV0FBVTtnQkFDVkMsR0FBRTtnQkFDRkMsR0FBRTtnQkFDRmhCLE9BQU07Z0JBQ05DLFFBQU87MEJBRVAsa0JBQUFOLFlBQUFjLEdBQUEsRUFBQ1EsVUFBQUE7b0JBQU9DLElBQUc7b0JBQUtDLElBQUc7b0JBQUtDLEdBQUU7b0JBQUtqQixNQUFLOzs7MEJBRXRDLElBQUFSLFlBQUFDLElBQUEsRUFBQ3lCLEtBQUFBO2dCQUFFVCxNQUFLOztrQ0FDTixJQUFBakIsWUFBQWMsR0FBQSxFQUFDUSxVQUFBQTt3QkFDQ0MsSUFBRzt3QkFDSEMsSUFBRzt3QkFDSEMsR0FBRTt3QkFDRmpCLE1BQUs7d0JBQ0xFLFFBQU87d0JBQ1BHLGFBQVk7O2tDQUVkLElBQUFiLFlBQUFjLEdBQUEsRUFBQ0MsUUFBQUE7d0JBQ0NDLEdBQUU7d0JBQ0ZSLE1BQUs7O2tDQUVQLElBQUFSLFlBQUFjLEdBQUEsRUFBQ2EsUUFBQUE7d0JBQ0NQLEdBQUU7d0JBQ0ZDLEdBQUU7d0JBQ0ZoQixPQUFNO3dCQUNOQyxRQUFPO3dCQUNQRSxNQUFLOzs7OzBCQUdULElBQUFSLFlBQUFDLElBQUEsRUFBQzJCLFFBQUFBOztrQ0FDQyxJQUFBNUIsWUFBQUMsSUFBQSxFQUFDNEIsa0JBQUFBO3dCQUNDWCxJQUFHO3dCQUNIWSxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxJQUFHO3dCQUNIQyxlQUFjOzswQ0FFZCxJQUFBbEMsWUFBQWMsR0FBQSxFQUFDcUIsUUFBQUE7Z0NBQUtDLFdBQVU7OzBDQUNoQixJQUFBcEMsWUFBQWMsR0FBQSxFQUFDcUIsUUFBQUE7Z0NBQUtFLFFBQU87Z0NBQUlELFdBQVU7Z0NBQVFFLGFBQVk7Ozs7a0NBRWpELElBQUF0QyxZQUFBQyxJQUFBLEVBQUM0QixrQkFBQUE7d0JBQ0NYLElBQUc7d0JBQ0hZLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLElBQUc7d0JBQ0hDLGVBQWM7OzBDQUVkLElBQUFsQyxZQUFBYyxHQUFBLEVBQUNxQixRQUFBQTtnQ0FBS0MsV0FBVTs7MENBQ2hCLElBQUFwQyxZQUFBYyxHQUFBLEVBQUNxQixRQUFBQTtnQ0FBS0UsUUFBTztnQ0FBSUQsV0FBVTtnQ0FBUUUsYUFBWTs7Ozs7Ozs7QUFLekQ7S0FsR2dCekMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9pY29ucy9GcmFtZXdvcmtJY29uLnRzeD9jOTAwIl0sIm5hbWVzIjpbIkZyYW1ld29ya0ljb24iLCJwYXJhbSIsImZyYW1ld29yayIsIl9qc3hydW50aW1lIiwianN4cyIsInN2ZyIsImRhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWV3b3JrLWljb24iLCJ4bWxucyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJzaGFwZVJlbmRlcmluZyIsInN0cm9rZSIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInN0cm9rZVdpZHRoIiwianN4IiwicGF0aCIsImQiLCJtYXNrIiwiaWQiLCJtYXNrVW5pdHMiLCJ4IiwieSIsImNpcmNsZSIsImN4IiwiY3kiLCJyIiwiZyIsInJlY3QiLCJkZWZzIiwibGluZWFyR3JhZGllbnQiLCJ4MSIsInkxIiwieDIiLCJ5MiIsImdyYWRpZW50VW5pdHMiLCJzdG9wIiwic3RvcENvbG9yIiwib2Zmc2V0Iiwic3RvcE9wYWNpdHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js ***! - \********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Base\", ({\n enumerable: true,\n get: function() {\n return Base;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n --size-gap-half: 4px;\\n --size-gap: 8px;\\n --size-gap-double: 16px;\\n --size-gap-triple: 24px;\\n --size-gap-quad: 32px;\\n\\n --size-font-small: 14px;\\n --size-font: 16px;\\n --size-font-big: 20px;\\n --size-font-bigger: 24px;\\n\\n --color-background: white;\\n --color-font: #757575;\\n --color-backdrop: rgba(17, 17, 17, 0.2);\\n\\n --color-title-color: #1f1f1f;\\n --color-stack-h6: #222;\\n --color-stack-headline: #666;\\n --color-stack-subline: #999;\\n --color-stack-notes: #777;\\n\\n --color-accents-1: #808080;\\n --color-accents-2: #222222;\\n --color-accents-3: #404040;\\n\\n --color-text-color-red-1: #ff5555;\\n --color-text-background-red-1: #fff9f9;\\n\\n --font-stack-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono',\\n Menlo, Courier, monospace;\\n --font-stack-sans: -apple-system, 'Source Sans Pro', sans-serif;\\n\\n --color-ansi-selection: rgba(95, 126, 151, 0.48);\\n --color-ansi-bg: #111111;\\n --color-ansi-fg: #cccccc;\\n\\n --color-ansi-white: #777777;\\n --color-ansi-black: #141414;\\n --color-ansi-blue: #00aaff;\\n --color-ansi-cyan: #88ddff;\\n --color-ansi-green: #98ec65;\\n --color-ansi-magenta: #aa88ff;\\n --color-ansi-red: #ff5555;\\n --color-ansi-yellow: #ffcc33;\\n --color-ansi-bright-white: #ffffff;\\n --color-ansi-bright-black: #777777;\\n --color-ansi-bright-blue: #33bbff;\\n --color-ansi-bright-cyan: #bbecff;\\n --color-ansi-bright-green: #b6f292;\\n --color-ansi-bright-magenta: #cebbff;\\n --color-ansi-bright-red: #ff8888;\\n --color-ansi-bright-yellow: #ffd966;\\n }\\n\\n @media (prefers-color-scheme: dark) {\\n :host {\\n --color-background: rgb(28, 28, 30);\\n --color-font: white;\\n --color-backdrop: rgb(44, 44, 46);\\n\\n --color-title-color: #fafafa;\\n --color-stack-h6: rgb(200, 200, 204);\\n --color-stack-headline: rgb(99, 99, 102);\\n --color-stack-notes: #a9a9a9;\\n --color-stack-subline: rgb(121, 121, 121);\\n\\n --color-accents-3: rgb(118, 118, 118);\\n\\n --color-text-background-red-1: #2a1e1e;\\n }\\n }\\n\\n .mono {\\n font-family: var(--font-stack-monospace);\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-bottom: var(--size-gap);\\n font-weight: 500;\\n line-height: 1.5;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction Base() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\n_c = Base;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Base.js.map\nvar _c;\n$RefreshReg$(_c, \"Base\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9CYXNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7d0NBR2dCQTs7O2VBQUFBOzs7Ozs7NkVBSE87MENBQ0s7Ozs7Ozs7Ozs7QUFFckIsU0FBU0E7SUFDZCxPQUNFLFdBREYsR0FDRSxJQUFBQyxZQUFBQyxHQUFBLEVBQUNDLFNBQUFBO3NCQUNFQyxjQUFBQSxJQUFHLEVBQUFDOztBQTJGVjtLQTlGZ0JMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvc3R5bGVzL0Jhc2UudHN4PzgwM2EiXSwibmFtZXMiOlsiQmFzZSIsIl9qc3hydW50aW1lIiwianN4Iiwic3R5bGUiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js": -/*!*******************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js ***! - \*******************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ComponentStyles\", ({\n enumerable: true,\n get: function() {\n return ComponentStyles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _styles = __webpack_require__(/*! ../components/CodeFrame/styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _styles1 = __webpack_require__(/*! ../components/LeftRightDialogHeader/styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nconst _styles2 = __webpack_require__(/*! ../components/Overlay/styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\");\nconst _styles3 = __webpack_require__(/*! ../components/Terminal/styles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _BuildError = __webpack_require__(/*! ../container/BuildError */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../container/Errors */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _RuntimeError = __webpack_require__(/*! ../container/RuntimeError */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction ComponentStyles() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject(), _styles2.styles, _Toast.styles, _Dialog.styles, _styles1.styles, _styles.styles, _styles3.styles, _BuildError.styles, _Errors.styles, _RuntimeError.styles, _VersionStalenessInfo.styles)\n });\n}\n_c = ComponentStyles;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ComponentStyles.js.map\nvar _c;\n$RefreshReg$(_c, \"ComponentStyles\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Db21wb25lbnRTdHlsZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFZZ0JBOzs7ZUFBQUE7Ozs7O29DQVpvQjtvQ0FDSDtxQ0FDZTtxQ0FDZDtxQ0FDQzttQ0FDSDtrREFDVzt3Q0FDQTtvQ0FDSTswQ0FDTzswQ0FDMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLFNBQVNBO0lBQ2QsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsR0FBQSxFQUFDQyxTQUFBQTtzQkFDRUMsY0FBQUEsSUFBRyxFQUFBQyxtQkFDQUMsU0FBQUEsTUFBTyxFQUNQQyxPQUFBQSxNQUFLLEVBQ0xDLFFBQUFBLE1BQU0sRUFDTkMsU0FBQUEsTUFBcUIsRUFDckJDLFFBQUFBLE1BQVMsRUFDVEMsU0FBQUEsTUFBUSxFQUNSQyxZQUFBQSxNQUFnQixFQUNoQkMsUUFBQUEsTUFBb0IsRUFDcEJDLGNBQUFBLE1BQTJCLEVBQzNCQyxzQkFBQUEsTUFBZ0I7O0FBSTFCO0tBakJnQmYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9zdHlsZXMvQ29tcG9uZW50U3R5bGVzLnRzeD84ZGJhIl0sIm5hbWVzIjpbIkNvbXBvbmVudFN0eWxlcyIsIl9qc3hydW50aW1lIiwianN4Iiwic3R5bGUiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiLCJvdmVybGF5IiwidG9hc3QiLCJkaWFsb2ciLCJsZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJjb2RlRnJhbWUiLCJ0ZXJtaW5hbCIsImJ1aWxkRXJyb3JTdHlsZXMiLCJjb250YWluZXJFcnJvclN0eWxlcyIsImNvbnRhaW5lclJ1bnRpbWVFcnJvclN0eWxlcyIsInZlcnNpb25TdGFsZW5lc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js ***! - \************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CssReset\", ({\n enumerable: true,\n get: function() {\n return CssReset;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n all: initial;\\n\\n /* the direction property is not reset by 'all' */\\n direction: ltr;\\n }\\n\\n /*!\\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\\n * Copyright 2011-2019 The Bootstrap Authors\\n * Copyright 2011-2019 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\\n */\\n *,\\n *::before,\\n *::after {\\n box-sizing: border-box;\\n }\\n\\n :host {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n }\\n\\n article,\\n aside,\\n figcaption,\\n figure,\\n footer,\\n header,\\n hgroup,\\n main,\\n nav,\\n section {\\n display: block;\\n }\\n\\n :host {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,\\n 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\\n 'Noto Color Emoji';\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 1.5;\\n color: var(--color-font);\\n text-align: left;\\n background-color: #fff;\\n }\\n\\n [tabindex='-1']:focus:not(:focus-visible) {\\n outline: 0 !important;\\n }\\n\\n hr {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible;\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-top: 0;\\n margin-bottom: 8px;\\n }\\n\\n p {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n abbr[title],\\n abbr[data-original-title] {\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none;\\n }\\n\\n address {\\n margin-bottom: 16px;\\n font-style: normal;\\n line-height: inherit;\\n }\\n\\n ol,\\n ul,\\n dl {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n ol ol,\\n ul ul,\\n ol ul,\\n ul ol {\\n margin-bottom: 0;\\n }\\n\\n dt {\\n font-weight: 700;\\n }\\n\\n dd {\\n margin-bottom: 8px;\\n margin-left: 0;\\n }\\n\\n blockquote {\\n margin: 0 0 16px;\\n }\\n\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n\\n small {\\n font-size: 80%;\\n }\\n\\n sub,\\n sup {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline;\\n }\\n\\n sub {\\n bottom: -0.25em;\\n }\\n\\n sup {\\n top: -0.5em;\\n }\\n\\n a {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n }\\n\\n a:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n }\\n\\n a:not([href]) {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n a:not([href]):hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n pre,\\n code,\\n kbd,\\n samp {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas,\\n 'Liberation Mono', 'Courier New', monospace;\\n font-size: 1em;\\n }\\n\\n pre {\\n margin-top: 0;\\n margin-bottom: 16px;\\n overflow: auto;\\n }\\n\\n figure {\\n margin: 0 0 16px;\\n }\\n\\n img {\\n vertical-align: middle;\\n border-style: none;\\n }\\n\\n svg {\\n overflow: hidden;\\n vertical-align: middle;\\n }\\n\\n table {\\n border-collapse: collapse;\\n }\\n\\n caption {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom;\\n }\\n\\n th {\\n text-align: inherit;\\n }\\n\\n label {\\n display: inline-block;\\n margin-bottom: 8px;\\n }\\n\\n button {\\n border-radius: 0;\\n }\\n\\n button:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n }\\n\\n input,\\n button,\\n select,\\n optgroup,\\n textarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n }\\n\\n button,\\n input {\\n overflow: visible;\\n }\\n\\n button,\\n select {\\n text-transform: none;\\n }\\n\\n select {\\n word-wrap: normal;\\n }\\n\\n button,\\n [type='button'],\\n [type='reset'],\\n [type='submit'] {\\n -webkit-appearance: button;\\n }\\n\\n button:not(:disabled),\\n [type='button']:not(:disabled),\\n [type='reset']:not(:disabled),\\n [type='submit']:not(:disabled) {\\n cursor: pointer;\\n }\\n\\n button::-moz-focus-inner,\\n [type='button']::-moz-focus-inner,\\n [type='reset']::-moz-focus-inner,\\n [type='submit']::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n }\\n\\n input[type='radio'],\\n input[type='checkbox'] {\\n box-sizing: border-box;\\n padding: 0;\\n }\\n\\n input[type='date'],\\n input[type='time'],\\n input[type='datetime-local'],\\n input[type='month'] {\\n -webkit-appearance: listbox;\\n }\\n\\n textarea {\\n overflow: auto;\\n resize: vertical;\\n }\\n\\n fieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n }\\n\\n legend {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: 8px;\\n font-size: 24px;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal;\\n }\\n\\n progress {\\n vertical-align: baseline;\\n }\\n\\n [type='number']::-webkit-inner-spin-button,\\n [type='number']::-webkit-outer-spin-button {\\n height: auto;\\n }\\n\\n [type='search'] {\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n }\\n\\n [type='search']::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n\\n ::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button;\\n }\\n\\n output {\\n display: inline-block;\\n }\\n\\n summary {\\n display: list-item;\\n cursor: pointer;\\n }\\n\\n template {\\n display: none;\\n }\\n\\n [hidden] {\\n display: none !important;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction CssReset() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\n_c = CssReset;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CssReset.js.map\nvar _c;\n$RefreshReg$(_c, \"CssReset\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Dc3NSZXNldC5qcyIsIm1hcHBpbmdzIjoiOzs7OzRDQUdnQkE7OztlQUFBQTs7Ozs7OzZFQUhPOzBDQUNLOzs7Ozs7Ozs7O0FBRXJCLFNBQVNBO0lBQ2QsT0FDRSxXQURGLEdBQ0UsSUFBQUMsWUFBQUMsR0FBQSxFQUFDQyxTQUFBQTtzQkFDRUMsY0FBQUEsSUFBRyxFQUFBQzs7QUFtV1Y7S0F0V2dCTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Dc3NSZXNldC50c3g/NjkwMiJdLCJuYW1lcyI6WyJDc3NSZXNldCIsIl9qc3hydW50aW1lIiwianN4Iiwic3R5bGUiLCJjc3MiLCJfdGVtcGxhdGVPYmplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js ***! - \*******************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ErrorBoundary\", ({\n enumerable: true,\n get: function() {\n return ErrorBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nclass ErrorBoundary extends _react.PureComponent {\n static getDerivedStateFromError(error) {\n return {\n error\n };\n }\n componentDidCatch(error, // accidentally excluded in some versions.\n errorInfo) {\n this.props.onError(error, (errorInfo == null ? void 0 : errorInfo.componentStack) || null);\n if (!this.props.globalOverlay) {\n this.setState({\n error\n });\n }\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific the the `@types/react` version.\n render() {\n // The component has to be unmounted or else it would continue to error\n return this.state.error || this.props.globalOverlay && this.props.isMounted ? // we have to render the html shell otherwise the shadow root will not be able to attach\n this.props.globalOverlay ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {})\n ]\n }) : null : this.props.children;\n }\n constructor(...args){\n super(...args);\n this.state = {\n error: null\n };\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ErrorBoundary.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL0Vycm9yQm91bmRhcnkuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFVYUE7OztlQUFBQTs7Ozs7NkVBVlU7QUFVaEIsTUFBTUEsc0JBQXNCQyxPQUFNQyxhQUFhO0lBTXBELE9BQU9DLHlCQUF5QkMsS0FBWSxFQUFFO1FBQzVDLE9BQU87WUFBRUE7UUFBTTtJQUNqQjtJQUVBQyxrQkFDRUQsS0FBWSxFQUVaLDBDQUEwQztJQUMxQ0UsU0FBOEMsRUFDOUM7UUFDQSxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSixPQUFPRSxDQUFBQSxhQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxVQUFXRyxjQUFjLEtBQUk7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQ0YsS0FBSyxDQUFDRyxhQUFhLEVBQUU7WUFDN0IsSUFBSSxDQUFDQyxRQUFRLENBQUM7Z0JBQUVQO1lBQU07UUFDeEI7SUFDRjtJQUVBLDBJQUEwSTtJQUMxSVEsU0FBMEI7UUFDeEIsdUVBQXVFO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDQyxLQUFLLENBQUNULEtBQUssSUFDcEIsSUFBSSxDQUFDRyxLQUFLLENBQUNHLGFBQWEsSUFBSSxJQUFJLENBQUNILEtBQUssQ0FBQ08sU0FBUyxHQUVqRCx3RkFBd0Y7UUFDeEYsSUFBSSxDQUFDUCxLQUFLLENBQUNHLGFBQWEsR0FDdEIsV0FEc0IsR0FDdEIsSUFBQUssWUFBQUMsSUFBQSxFQUFDQyxRQUFBQTs7OEJBQ0MsSUFBQUYsWUFBQUcsR0FBQSxFQUFDQyxRQUFBQSxDQUFBQTs4QkFDRCxJQUFBSixZQUFBRyxHQUFBLEVBQUNFLFFBQUFBLENBQUFBOzthQUVELE9BRUosSUFBSSxDQUFDYixLQUFLLENBQUNjLFFBQVE7SUFFdkI7OzthQWxDQVIsS0FBQUEsR0FBUTtZQUFFVCxPQUFPO1FBQUs7O0FBbUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL0Vycm9yQm91bmRhcnkudHN4PzRjYjciXSwibmFtZXMiOlsiRXJyb3JCb3VuZGFyeSIsIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImVycm9yIiwiY29tcG9uZW50RGlkQ2F0Y2giLCJlcnJvckluZm8iLCJwcm9wcyIsIm9uRXJyb3IiLCJjb21wb25lbnRTdGFjayIsImdsb2JhbE92ZXJsYXkiLCJzZXRTdGF0ZSIsInJlbmRlciIsInN0YXRlIiwiaXNNb3VudGVkIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiaHRtbCIsImpzeCIsImhlYWQiLCJib2R5IiwiY2hpbGRyZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js ***! - \*********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return ReactDevOverlay;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _bus = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./bus */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js\"));\nconst _ShadowPortal = __webpack_require__(/*! ../internal/components/ShadowPortal */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ../internal/container/BuildError */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../internal/container/Errors */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _ErrorBoundary = __webpack_require__(/*! ./ErrorBoundary */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js\");\nconst _Base = __webpack_require__(/*! ../internal/styles/Base */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ../internal/styles/ComponentStyles */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ../internal/styles/CssReset */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst shouldPreventDisplay = (errorType, preventType)=>{\n if (!preventType || !errorType) {\n return false;\n }\n return preventType.includes(errorType);\n};\nfunction ReactDevOverlay(param) {\n _s();\n let { children, preventDisplay, globalOverlay } = param;\n const [state, dispatch] = (0, _shared.useErrorOverlayReducer)();\n _react.useEffect(()=>{\n _bus.on(dispatch);\n return function() {\n _bus.off(dispatch);\n };\n }, [\n dispatch\n ]);\n const onComponentError = _react.useCallback((_error, _componentStack)=>{\n // TODO: special handling\n }, []);\n const hasBuildError = state.buildError != null;\n const hasRuntimeErrors = Boolean(state.errors.length);\n const errorType = hasBuildError ? \"build\" : hasRuntimeErrors ? \"runtime\" : null;\n const isMounted = errorType !== null;\n const displayPrevented = shouldPreventDisplay(errorType, preventDisplay);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ErrorBoundary.ErrorBoundary, {\n globalOverlay: globalOverlay,\n isMounted: isMounted,\n onError: onComponentError,\n children: children != null ? children : null\n }),\n isMounted ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ShadowPortal.ShadowPortal, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CssReset.CssReset, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Base.Base, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStyles.ComponentStyles, {}),\n displayPrevented ? null : hasBuildError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : hasRuntimeErrors ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: false,\n errors: state.errors,\n versionInfo: state.versionInfo,\n initialDisplayState: \"fullscreen\"\n }) : undefined\n ]\n }) : undefined\n ]\n });\n}\n_s(ReactDevOverlay, \"yiU6D4sMPUxEaIlbYMKpxnTQY+U=\");\n_c = ReactDevOverlay;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ReactDevOverlay.js.map\nvar _c;\n$RefreshReg$(_c, \"ReactDevOverlay\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL1JlYWN0RGV2T3ZlcmxheS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MkNBOEJBOzs7ZUFBd0JBOzs7Ozs2RUE5QkQ7MkVBRUY7MENBQ1E7d0NBQ0Y7b0NBQ0o7MkNBQ087a0NBQ1Q7NkNBQ1c7c0NBQ1A7b0NBQ2M7QUFJdkMsTUFBTUMsdUJBQXVCLENBQzNCQyxXQUNBQztJQUVBLElBQUksQ0FBQ0EsZUFBZSxDQUFDRCxXQUFXO1FBQzlCLE9BQU87SUFDVDtJQUNBLE9BQU9DLFlBQVlDLFFBQVEsQ0FBQ0Y7QUFDOUI7QUFRZSxTQUFTRixnQkFBZ0JLLEtBSWpCOztJQUppQixNQUN0Q0MsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLGFBQWEsRUFDUSxHQUppQkg7SUFLdEMsTUFBTSxDQUFDSSxPQUFPQyxTQUFTLEdBQUdDLENBQUFBLEdBQUFBLFFBQUFBLHNCQUFzQjtJQUVoREMsT0FBTUMsU0FBUyxDQUFDO1FBQ2RDLEtBQUlDLEVBQUUsQ0FBQ0w7UUFDUCxPQUFPO1lBQ0xJLEtBQUlFLEdBQUcsQ0FBQ047UUFDVjtJQUNGLEdBQUc7UUFBQ0E7S0FBUztJQUViLE1BQU1PLG1CQUFtQkwsT0FBTU0sV0FBVyxDQUN4QyxDQUFDQyxRQUFlQztJQUNkLHlCQUF5QjtJQUMzQixHQUNBLEVBQUU7SUFHSixNQUFNQyxnQkFBZ0JaLE1BQU1hLFVBQVUsSUFBSTtJQUMxQyxNQUFNQyxtQkFBbUJDLFFBQVFmLE1BQU1nQixNQUFNLENBQUNDLE1BQU07SUFDcEQsTUFBTXhCLFlBQVltQixnQkFDZCxVQUNBRSxtQkFDQSxZQUNBO0lBQ0osTUFBTUksWUFBWXpCLGNBQWM7SUFFaEMsTUFBTTBCLG1CQUFtQjNCLHFCQUFxQkMsV0FBV0s7SUFFekQsT0FDRSxXQURGLEdBQ0UsSUFBQXNCLFlBQUFDLElBQUEsRUFBQUQsWUFBQUUsUUFBQTs7MEJBQ0UsSUFBQUYsWUFBQUcsR0FBQSxFQUFDQyxlQUFBQSxhQUFhO2dCQUNaekIsZUFBZUE7Z0JBQ2ZtQixXQUFXQTtnQkFDWE8sU0FBU2pCOzBCQUVSWCxZQUFBQSxPQUFBQSxXQUFZOztZQUVkcUIsWUFDQyxXQUREQSxHQUNDLElBQUFFLFlBQUFDLElBQUEsRUFBQ0ssY0FBQUEsWUFBWTs7a0NBQ1gsSUFBQU4sWUFBQUcsR0FBQSxFQUFDSSxVQUFBQSxRQUFRO2tDQUNULElBQUFQLFlBQUFHLEdBQUEsRUFBQ0ssTUFBQUEsSUFBSTtrQ0FDTCxJQUFBUixZQUFBRyxHQUFBLEVBQUNNLGlCQUFBQSxlQUFlO29CQUVmVixtQkFBbUIsT0FBT1AsZ0JBQ3pCLFdBRHlCQSxHQUN6QixJQUFBUSxZQUFBRyxHQUFBLEVBQUNPLFlBQUFBLFVBQVU7d0JBQ1RDLFNBQVMvQixNQUFNYSxVQUFVO3dCQUN6Qm1CLGFBQWFoQyxNQUFNZ0MsV0FBVzt5QkFFOUJsQixtQkFDRixXQURFQSxHQUNGLElBQUFNLFlBQUFHLEdBQUEsRUFBQ1UsUUFBQUEsTUFBTTt3QkFDTEMsVUFBVTt3QkFDVmxCLFFBQVFoQixNQUFNZ0IsTUFBTTt3QkFDcEJnQixhQUFhaEMsTUFBTWdDLFdBQVc7d0JBQzlCRyxxQkFBcUI7eUJBRXJCQzs7aUJBRUpBOzs7QUFHVjtHQWhFd0I3QztLQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL1JlYWN0RGV2T3ZlcmxheS50c3g/ODliYyJdLCJuYW1lcyI6WyJSZWFjdERldk92ZXJsYXkiLCJzaG91bGRQcmV2ZW50RGlzcGxheSIsImVycm9yVHlwZSIsInByZXZlbnRUeXBlIiwiaW5jbHVkZXMiLCJwYXJhbSIsImNoaWxkcmVuIiwicHJldmVudERpc3BsYXkiLCJnbG9iYWxPdmVybGF5Iiwic3RhdGUiLCJkaXNwYXRjaCIsInVzZUVycm9yT3ZlcmxheVJlZHVjZXIiLCJSZWFjdCIsInVzZUVmZmVjdCIsIkJ1cyIsIm9uIiwib2ZmIiwib25Db21wb25lbnRFcnJvciIsInVzZUNhbGxiYWNrIiwiX2Vycm9yIiwiX2NvbXBvbmVudFN0YWNrIiwiaGFzQnVpbGRFcnJvciIsImJ1aWxkRXJyb3IiLCJoYXNSdW50aW1lRXJyb3JzIiwiQm9vbGVhbiIsImVycm9ycyIsImxlbmd0aCIsImlzTW91bnRlZCIsImRpc3BsYXlQcmV2ZW50ZWQiLCJfanN4cnVudGltZSIsImpzeHMiLCJGcmFnbWVudCIsImpzeCIsIkVycm9yQm91bmRhcnkiLCJvbkVycm9yIiwiU2hhZG93UG9ydGFsIiwiQ3NzUmVzZXQiLCJCYXNlIiwiQ29tcG9uZW50U3R5bGVzIiwiQnVpbGRFcnJvciIsIm1lc3NhZ2UiLCJ2ZXJzaW9uSW5mbyIsIkVycm9ycyIsImlzQXBwRGlyIiwiaW5pdGlhbERpc3BsYXlTdGF0ZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js ***! - \*********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n emit: function() {\n return emit;\n },\n off: function() {\n return off;\n },\n on: function() {\n return on;\n }\n});\nlet handlers = new Set();\nlet queue = [];\nfunction drain() {\n // Draining should never happen synchronously in case multiple handlers are\n // registered.\n setTimeout(function() {\n while(Boolean(queue.length) && // Or, if all handlers removed themselves as a result of handling the\n // event(s)\n Boolean(handlers.size)){\n const ev = queue.shift();\n handlers.forEach((handler)=>handler(ev));\n }\n }, 1);\n}\nfunction emit(ev) {\n queue.push(Object.freeze({\n ...ev\n }));\n drain();\n}\nfunction on(fn) {\n if (handlers.has(fn)) {\n return false;\n }\n handlers.add(fn);\n drain();\n return true;\n}\nfunction off(fn) {\n if (handlers.has(fn)) {\n handlers.delete(fn);\n return true;\n }\n return false;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bus.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2J1cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUF3QmdCQSxNQUFJO2VBQUpBOztJQWVBQyxLQUFHO2VBQUhBOztJQVZBQyxJQUFFO2VBQUZBOzs7QUF6QmhCLElBQUlDLFdBQWlDLElBQUlDO0FBQ3pDLElBQUlDLFFBQW9CLEVBQUU7QUFFMUIsU0FBU0M7SUFDUCwyRUFBMkU7SUFDM0UsY0FBYztJQUNkQyxXQUFXO1FBQ1QsTUFFRUMsUUFBUUgsTUFBTUksTUFBTSxLQUNwQixxRUFBcUU7UUFDckUsV0FBVztRQUNYRCxRQUFRTCxTQUFTTyxJQUFJLEVBQ3JCO1lBQ0EsTUFBTUMsS0FBS04sTUFBTU8sS0FBSztZQUN0QlQsU0FBU1UsT0FBTyxDQUFDLENBQUNDLFVBQVlBLFFBQVFIO1FBQ3hDO0lBQ0YsR0FBRztBQUNMO0FBRU8sU0FBU1gsS0FBS1csRUFBWTtJQUMvQk4sTUFBTVUsSUFBSSxDQUFDQyxPQUFPQyxNQUFNLENBQUM7UUFBRSxHQUFHTixFQUFFO0lBQUM7SUFDakNMO0FBQ0Y7QUFFTyxTQUFTSixHQUFHZ0IsRUFBbUI7SUFDcEMsSUFBSWYsU0FBU2dCLEdBQUcsQ0FBQ0QsS0FBSztRQUNwQixPQUFPO0lBQ1Q7SUFFQWYsU0FBU2lCLEdBQUcsQ0FBQ0Y7SUFDYlo7SUFDQSxPQUFPO0FBQ1Q7QUFFTyxTQUFTTCxJQUFJaUIsRUFBbUI7SUFDckMsSUFBSWYsU0FBU2dCLEdBQUcsQ0FBQ0QsS0FBSztRQUNwQmYsU0FBU2tCLE1BQU0sQ0FBQ0g7UUFDaEIsT0FBTztJQUNUO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvcGFnZXMvYnVzLnRzPzk5MTciXSwibmFtZXMiOlsiZW1pdCIsIm9mZiIsIm9uIiwiaGFuZGxlcnMiLCJTZXQiLCJxdWV1ZSIsImRyYWluIiwic2V0VGltZW91dCIsIkJvb2xlYW4iLCJsZW5ndGgiLCJzaXplIiwiZXYiLCJzaGlmdCIsImZvckVhY2giLCJoYW5kbGVyIiwicHVzaCIsIk9iamVjdCIsImZyZWV6ZSIsImZuIiwiaGFzIiwiYWRkIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js ***! - \************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReactDevOverlay: function() {\n return _ReactDevOverlay.default;\n },\n getErrorByType: function() {\n return _getErrorByType.getErrorByType;\n },\n getServerError: function() {\n return _nodeStackFrames.getServerError;\n },\n onBeforeRefresh: function() {\n return onBeforeRefresh;\n },\n onBuildError: function() {\n return onBuildError;\n },\n onBuildOk: function() {\n return onBuildOk;\n },\n onRefresh: function() {\n return onRefresh;\n },\n onVersionInfo: function() {\n return onVersionInfo;\n },\n register: function() {\n return register;\n },\n unregister: function() {\n return unregister;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _bus = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./bus */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js\"));\nconst _parseStack = __webpack_require__(/*! ../internal/helpers/parseStack */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _parsecomponentstack = __webpack_require__(/*! ../internal/helpers/parse-component-stack */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ../internal/helpers/hydration-error-info */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _getErrorByType = __webpack_require__(/*! ../internal/helpers/getErrorByType */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\");\nconst _nodeStackFrames = __webpack_require__(/*! ../internal/helpers/nodeStackFrames */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\");\nconst _ReactDevOverlay = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./ReactDevOverlay */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js\"));\n// Patch console.error to collect information about hydration errors\n(0, _hydrationerrorinfo.patchConsoleError)();\nlet isRegistered = false;\nlet stackTraceLimit = undefined;\nfunction onUnhandledError(ev) {\n const error = ev == null ? void 0 : ev.error;\n if (!error || !(error instanceof Error) || typeof error.stack !== \"string\") {\n // A non-error was thrown, we don't have anything to show. :-(\n return;\n }\n if (error.message.match(/(hydration|content does not match|did not match)/i)) {\n if (_hydrationerrorinfo.hydrationErrorState.warning) {\n error.details = {\n ...error.details,\n // It contains the warning, component stack, server and client tag names\n ..._hydrationerrorinfo.hydrationErrorState\n };\n }\n error.message += \"\\nSee more info here: https://nextjs.org/docs/messages/react-hydration-error\";\n }\n const e = error;\n const componentStackFrames = typeof _hydrationerrorinfo.hydrationErrorState.componentStack === \"string\" ? (0, _parsecomponentstack.parseComponentStack)(_hydrationerrorinfo.hydrationErrorState.componentStack) : undefined;\n // Skip ModuleBuildError and ModuleNotFoundError, as it will be sent through onBuildError callback.\n // This is to avoid same error as different type showing up on client to cause flashing.\n if (e.name !== \"ModuleBuildError\" && e.name !== \"ModuleNotFoundError\") {\n _bus.emit({\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(e.stack),\n componentStackFrames\n });\n }\n}\nfunction onUnhandledRejection(ev) {\n const reason = ev == null ? void 0 : ev.reason;\n if (!reason || !(reason instanceof Error) || typeof reason.stack !== \"string\") {\n // A non-error was thrown, we don't have anything to show. :-(\n return;\n }\n const e = reason;\n _bus.emit({\n type: _shared.ACTION_UNHANDLED_REJECTION,\n reason: reason,\n frames: (0, _parseStack.parseStack)(e.stack)\n });\n}\nfunction register() {\n if (isRegistered) {\n return;\n }\n isRegistered = true;\n try {\n const limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 50;\n stackTraceLimit = limit;\n } catch (e) {}\n window.addEventListener(\"error\", onUnhandledError);\n window.addEventListener(\"unhandledrejection\", onUnhandledRejection);\n}\nfunction unregister() {\n if (!isRegistered) {\n return;\n }\n isRegistered = false;\n if (stackTraceLimit !== undefined) {\n try {\n Error.stackTraceLimit = stackTraceLimit;\n } catch (e) {}\n stackTraceLimit = undefined;\n }\n window.removeEventListener(\"error\", onUnhandledError);\n window.removeEventListener(\"unhandledrejection\", onUnhandledRejection);\n}\nfunction onBuildOk() {\n _bus.emit({\n type: _shared.ACTION_BUILD_OK\n });\n}\nfunction onBuildError(message) {\n _bus.emit({\n type: _shared.ACTION_BUILD_ERROR,\n message\n });\n}\nfunction onRefresh() {\n _bus.emit({\n type: _shared.ACTION_REFRESH\n });\n}\nfunction onBeforeRefresh() {\n _bus.emit({\n type: _shared.ACTION_BEFORE_REFRESH\n });\n}\nfunction onVersionInfo(versionInfo) {\n _bus.emit({\n type: _shared.ACTION_VERSION_INFO,\n versionInfo\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2NsaWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUEySW9CQSxpQkFBZTtlQUFmQSxpQkFBQUEsT0FBZTs7SUFGMUJDLGdCQUFjO2VBQWRBLGdCQUFBQSxjQUFjOztJQUNkQyxnQkFBYztlQUFkQSxpQkFBQUEsY0FBYzs7SUFUUEMsaUJBQWU7ZUFBZkE7O0lBUkFDLGNBQVk7ZUFBWkE7O0lBSkFDLFdBQVM7ZUFBVEE7O0lBUUFDLFdBQVM7ZUFBVEE7O0lBUUFDLGVBQWE7ZUFBYkE7O0lBakRBQyxVQUFRO2VBQVJBOztJQWdCQUMsWUFBVTtlQUFWQTs7Ozs7MkVBcEdLO3dDQUNNO2lEQUNTO2dEQUk3QjtvQ0FTQTs0Q0EwSHdCOzZDQUNBO3NGQUNZO0FBekgzQyxvRUFBb0U7QUFDcEVDLENBQUFBLEdBQUFBLG9CQUFBQSxpQkFBaUI7QUFFakIsSUFBSUMsZUFBZTtBQUNuQixJQUFJQyxrQkFBc0NDO0FBRTFDLFNBQVNDLGlCQUFpQkMsRUFBYztJQUN0QyxNQUFNQyxRQUFRRCxNQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxHQUFJQyxLQUFLO0lBQ3ZCLElBQUksQ0FBQ0EsU0FBUyxDQUFFQSxDQUFBQSxpQkFBaUJDLEtBQUFBLEtBQVUsT0FBT0QsTUFBTUUsS0FBSyxLQUFLLFVBQVU7UUFDMUUsOERBQThEO1FBQzlEO0lBQ0Y7SUFFQSxJQUNFRixNQUFNRyxPQUFPLENBQUNDLEtBQUssQ0FBQyxzREFDcEI7UUFDQSxJQUFJQyxvQkFBQUEsbUJBQW1CLENBQUNDLE9BQU8sRUFBRTtZQUk3Qk4sTUFBY08sT0FBTyxHQUFHO2dCQUN4QixHQUFHUCxNQUFlTyxPQUFPO2dCQUN6Qix3RUFBd0U7Z0JBQ3hFLEdBQUdGLG9CQUFBQSxtQkFBbUI7WUFDeEI7UUFDRjtRQUNBTCxNQUFNRyxPQUFPLElBQUs7SUFDcEI7SUFFQSxNQUFNSyxJQUFJUjtJQUNWLE1BQU1TLHVCQUNKLE9BQU9KLG9CQUFBQSxtQkFBbUIsQ0FBQ0ssY0FBYyxLQUFLLFdBQzFDQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNOLG9CQUFBQSxtQkFBbUIsQ0FBQ0ssY0FBYyxJQUN0RGI7SUFFTixtR0FBbUc7SUFDbkcsd0ZBQXdGO0lBQ3hGLElBQUlXLEVBQUVJLElBQUksS0FBSyxzQkFBc0JKLEVBQUVJLElBQUksS0FBSyx1QkFBdUI7UUFDckVDLEtBQUlDLElBQUksQ0FBQztZQUNQQyxNQUFNQyxRQUFBQSxzQkFBc0I7WUFDNUJDLFFBQVFqQjtZQUNSa0IsUUFBUUMsQ0FBQUEsR0FBQUEsWUFBQUEsVUFBVSxFQUFDWCxFQUFFTixLQUFLO1lBQzFCTztRQUNGO0lBQ0Y7QUFDRjtBQUVBLFNBQVNXLHFCQUFxQnJCLEVBQXlCO0lBQ3JELE1BQU1rQixTQUFTbEIsTUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsR0FBSWtCLE1BQU07SUFDekIsSUFDRSxDQUFDQSxVQUNELENBQUVBLENBQUFBLGtCQUFrQmhCLEtBQUFBLEtBQ3BCLE9BQU9nQixPQUFPZixLQUFLLEtBQUssVUFDeEI7UUFDQSw4REFBOEQ7UUFDOUQ7SUFDRjtJQUVBLE1BQU1NLElBQUlTO0lBQ1ZKLEtBQUlDLElBQUksQ0FBQztRQUNQQyxNQUFNTSxRQUFBQSwwQkFBMEI7UUFDaENKLFFBQVFBO1FBQ1JDLFFBQVFDLENBQUFBLEdBQUFBLFlBQUFBLFVBQVUsRUFBQ1gsRUFBRU4sS0FBSztJQUM1QjtBQUNGO0FBRU8sU0FBU1Y7SUFDZCxJQUFJRyxjQUFjO1FBQ2hCO0lBQ0Y7SUFDQUEsZUFBZTtJQUVmLElBQUk7UUFDRixNQUFNMkIsUUFBUXJCLE1BQU1MLGVBQWU7UUFDbkNLLE1BQU1MLGVBQWUsR0FBRztRQUN4QkEsa0JBQWtCMEI7SUFDcEIsRUFBRSxPQUFBZCxHQUFNLENBQUM7SUFFVGUsT0FBT0MsZ0JBQWdCLENBQUMsU0FBUzFCO0lBQ2pDeUIsT0FBT0MsZ0JBQWdCLENBQUMsc0JBQXNCSjtBQUNoRDtBQUVPLFNBQVMzQjtJQUNkLElBQUksQ0FBQ0UsY0FBYztRQUNqQjtJQUNGO0lBQ0FBLGVBQWU7SUFFZixJQUFJQyxvQkFBb0JDLFdBQVc7UUFDakMsSUFBSTtZQUNGSSxNQUFNTCxlQUFlLEdBQUdBO1FBQzFCLEVBQUUsT0FBQVksR0FBTSxDQUFDO1FBQ1RaLGtCQUFrQkM7SUFDcEI7SUFFQTBCLE9BQU9FLG1CQUFtQixDQUFDLFNBQVMzQjtJQUNwQ3lCLE9BQU9FLG1CQUFtQixDQUFDLHNCQUFzQkw7QUFDbkQ7QUFFTyxTQUFTL0I7SUFDZHdCLEtBQUlDLElBQUksQ0FBQztRQUFFQyxNQUFNVyxRQUFBQSxlQUFlO0lBQUM7QUFDbkM7QUFFTyxTQUFTdEMsYUFBYWUsT0FBZTtJQUMxQ1UsS0FBSUMsSUFBSSxDQUFDO1FBQUVDLE1BQU1ZLFFBQUFBLGtCQUFrQjtRQUFFeEI7SUFBUTtBQUMvQztBQUVPLFNBQVNiO0lBQ2R1QixLQUFJQyxJQUFJLENBQUM7UUFBRUMsTUFBTWEsUUFBQUEsY0FBYztJQUFDO0FBQ2xDO0FBRU8sU0FBU3pDO0lBQ2QwQixLQUFJQyxJQUFJLENBQUM7UUFBRUMsTUFBTWMsUUFBQUEscUJBQXFCO0lBQUM7QUFDekM7QUFFTyxTQUFTdEMsY0FBY3VDLFdBQXdCO0lBQ3BEakIsS0FBSUMsSUFBSSxDQUFDO1FBQUVDLE1BQU1nQixRQUFBQSxtQkFBbUI7UUFBRUQ7SUFBWTtBQUNwRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2NsaWVudC50cz9kZGVhIl0sIm5hbWVzIjpbIlJlYWN0RGV2T3ZlcmxheSIsImdldEVycm9yQnlUeXBlIiwiZ2V0U2VydmVyRXJyb3IiLCJvbkJlZm9yZVJlZnJlc2giLCJvbkJ1aWxkRXJyb3IiLCJvbkJ1aWxkT2siLCJvblJlZnJlc2giLCJvblZlcnNpb25JbmZvIiwicmVnaXN0ZXIiLCJ1bnJlZ2lzdGVyIiwicGF0Y2hDb25zb2xlRXJyb3IiLCJpc1JlZ2lzdGVyZWQiLCJzdGFja1RyYWNlTGltaXQiLCJ1bmRlZmluZWQiLCJvblVuaGFuZGxlZEVycm9yIiwiZXYiLCJlcnJvciIsIkVycm9yIiwic3RhY2siLCJtZXNzYWdlIiwibWF0Y2giLCJoeWRyYXRpb25FcnJvclN0YXRlIiwid2FybmluZyIsImRldGFpbHMiLCJlIiwiY29tcG9uZW50U3RhY2tGcmFtZXMiLCJjb21wb25lbnRTdGFjayIsInBhcnNlQ29tcG9uZW50U3RhY2siLCJuYW1lIiwiQnVzIiwiZW1pdCIsInR5cGUiLCJBQ1RJT05fVU5IQU5ETEVEX0VSUk9SIiwicmVhc29uIiwiZnJhbWVzIiwicGFyc2VTdGFjayIsIm9uVW5oYW5kbGVkUmVqZWN0aW9uIiwiQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT04iLCJsaW1pdCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiQUNUSU9OX0JVSUxEX09LIiwiQUNUSU9OX0JVSUxEX0VSUk9SIiwiQUNUSU9OX1JFRlJFU0giLCJBQ1RJT05fQkVGT1JFX1JFRlJFU0giLCJ2ZXJzaW9uSW5mbyIsIkFDVElPTl9WRVJTSU9OX0lORk8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js": -/*!*************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js ***! - \*************************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO: Remove use of `any` type. Fix no-use-before-define violations.\n/* eslint-disable @typescript-eslint/no-use-before-define */ /**\n * MIT License\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */ // This file is a modified version of the Create React App HMR dev client that\n// can be found here:\n// https://github.com/facebook/create-react-app/blob/v3.4.1/packages/react-dev-utils/webpackHotDevClient.js\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return connect;\n },\n performFullReload: function() {\n return performFullReload;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _client = __webpack_require__(/*! ./client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _websocket = __webpack_require__(/*! ./websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../internal/helpers/format-webpack-messages */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\"));\nconst _hotreloadertypes = __webpack_require__(/*! ../../../../server/dev/hot-reloader-types */ \"./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _extractmodulesfromturbopackmessage = __webpack_require__(/*! ../../../../server/dev/extract-modules-from-turbopack-message */ \"./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _runtimeerrorhandler = __webpack_require__(/*! ../internal/helpers/runtime-error-handler */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\");\nwindow.__nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet customHmrEventHandler;\nlet turbopackMessageListeners = [];\nlet MODE = \"webpack\";\nfunction connect(mode) {\n MODE = mode;\n (0, _client.register)();\n (0, _websocket.addMessageListener)((payload)=>{\n if (!(\"action\" in payload)) {\n return;\n }\n try {\n processMessage(payload);\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + payload + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n });\n return {\n subscribeToHmrEvent (handler) {\n customHmrEventHandler = handler;\n },\n onUnrecoverableError () {\n _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError = true;\n },\n addTurbopackMessageListener (cb) {\n turbopackMessageListeners.push(cb);\n },\n sendTurbopackMessage (msg) {\n (0, _websocket.sendMessage)(msg);\n },\n handleUpdateError (err) {\n performFullReload(err);\n }\n };\n}\n// Remember some state related to hot module replacement.\nvar isFirstCompilation = true;\nvar mostRecentCompilationHash = null;\nvar hasCompileErrors = false;\nfunction clearOutdatedErrors() {\n // Clean up outdated compile errors, if any.\n if (typeof console !== \"undefined\" && typeof console.clear === \"function\") {\n if (hasCompileErrors) {\n console.clear();\n }\n }\n}\n// Successful compilation.\nfunction handleSuccess() {\n clearOutdatedErrors();\n if (MODE === \"webpack\") {\n const isHotUpdate = !isFirstCompilation || window.__NEXT_DATA__.page !== \"/_error\" && isUpdateAvailable();\n isFirstCompilation = false;\n hasCompileErrors = false;\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(onBeforeFastRefresh, onFastRefresh);\n }\n } else {\n (0, _client.onBuildOk)();\n }\n}\n// Compilation with warnings (e.g. ESLint).\nfunction handleWarnings(warnings) {\n clearOutdatedErrors();\n const isHotUpdate = !isFirstCompilation;\n isFirstCompilation = false;\n hasCompileErrors = false;\n function printWarnings() {\n // Print warnings to the console.\n const formatted = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n if (typeof console !== \"undefined\" && typeof console.warn === \"function\") {\n var _formatted_warnings;\n for(let i = 0; i < ((_formatted_warnings = formatted.warnings) == null ? void 0 : _formatted_warnings.length); i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formatted.warnings[i]));\n }\n }\n }\n printWarnings();\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(onBeforeFastRefresh, onFastRefresh);\n }\n}\n// Compilation with errors (e.g. syntax error or missing modules).\nfunction handleErrors(errors) {\n clearOutdatedErrors();\n isFirstCompilation = false;\n hasCompileErrors = true;\n // \"Massage\" webpack messages.\n var formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n (0, _client.onBuildError)(formatted.errors[0]);\n // Also log them to the console.\n if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n for(var i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n}\nlet startLatency = undefined;\nfunction onBeforeFastRefresh(updatedModules) {\n if (updatedModules.length > 0) {\n // Only trigger a pending state if we have updates to apply\n // (cf. onFastRefresh)\n (0, _client.onBeforeRefresh)();\n }\n}\nfunction onFastRefresh(updatedModules) {\n if (updatedModules === void 0) updatedModules = [];\n (0, _client.onBuildOk)();\n if (updatedModules.length === 0) {\n return;\n }\n (0, _client.onRefresh)();\n reportHmrLatency();\n}\nfunction reportHmrLatency(updatedModules) {\n if (updatedModules === void 0) updatedModules = [];\n if (startLatency) {\n const endLatency = Date.now();\n const latency = endLatency - startLatency;\n console.log(\"[Fast Refresh] done in \" + latency + \"ms\");\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-hmr-latency\",\n id: window.__nextDevClientId,\n startTime: startLatency,\n endTime: endLatency,\n page: window.location.pathname,\n updatedModules,\n // Whether the page (tab) was hidden at the time the event occurred.\n // This can impact the accuracy of the event's timing.\n isPageHidden: document.visibilityState === \"hidden\"\n }));\n if (self.__NEXT_HMR_LATENCY_CB) {\n self.__NEXT_HMR_LATENCY_CB(latency);\n }\n }\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n/** Handles messages from the sevrer for the Pages Router. */ function processMessage(obj) {\n if (!(\"action\" in obj)) {\n return;\n }\n // Use turbopack message for analytics, (still need built for webpack)\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n startLatency = Date.now();\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n {\n if (obj.hash) handleAvailableHash(obj.hash);\n const { errors, warnings } = obj;\n // Is undefined when it's a 'built' event\n if (\"versionInfo\" in obj) (0, _client.onVersionInfo)(obj.versionInfo);\n const hasErrors = Boolean(errors && errors.length);\n if (hasErrors) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: window.__nextDevClientId\n }));\n return handleErrors(errors);\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: window.__nextDevClientId\n }));\n return handleWarnings(warnings);\n }\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-success\",\n clientId: window.__nextDevClientId\n }));\n return handleSuccess();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:\n {\n window.location.reload();\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED:\n {\n for (const listener of turbopackMessageListeners){\n listener({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED\n });\n }\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE:\n {\n const updatedModules = (0, _extractmodulesfromturbopackmessage.extractModulesFromTurbopackMessage)(obj.data);\n onBeforeFastRefresh(updatedModules);\n for (const listener of turbopackMessageListeners){\n listener({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n data: obj.data\n });\n }\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n performFullReload(null);\n }\n (0, _client.onRefresh)();\n reportHmrLatency(updatedModules);\n break;\n }\n default:\n {\n if (customHmrEventHandler) {\n customHmrEventHandler(obj);\n break;\n }\n break;\n }\n }\n}\n// Is there a newer version of this code available?\nfunction isUpdateAvailable() {\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n module.hot.addStatusHandler(handler);\n }\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeHotUpdate, onHotUpdateSuccess) {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n if (false) {}\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n (0, _client.onBuildOk)();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\"[Fast Refresh] performing full reload\\n\\n\" + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + \"You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n\" + \"Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n\" + \"It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n\" + \"Fast Refresh requires at least one parent function component in your React tree.\");\n } else if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(\"[Fast Refresh] performing full reload because your application had an unrecoverable error\");\n }\n performFullReload(err);\n return;\n }\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(updatedModules);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n // However, this time, don't trigger a pending refresh state.\n tryApplyUpdates(updatedModules.length > 0 ? undefined : onBeforeHotUpdate, updatedModules.length > 0 ? _client.onBuildOk : onHotUpdateSuccess);\n } else {\n (0, _client.onBuildOk)();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeHotUpdate === \"function\") {\n onBeforeHotUpdate(updatedModules);\n }\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\nfunction performFullReload(err) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError,\n dependencyChain: err ? err.dependencyChain : undefined\n }));\n window.location.reload();\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-reloader-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2hvdC1yZWxvYWRlci1jbGllbnQuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUVBQXVFO0FBQ3ZFLDBEQUEwRCxHQUMxRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXNCQyxHQUVELDhFQUE4RTtBQUM5RSxxQkFBcUI7QUFDckIsMkdBQTJHOzs7Ozs7Ozs7Ozs7O0lBMkMzR0EsU0FtQ0M7ZUFuQ3VCQzs7SUE0WlJDLG1CQUFpQjtlQUFqQkE7Ozs7b0NBOWJUO2dGQUNlO3VDQUMwQjs0RkFDZDs4Q0FDVTtnRUFLTztvQ0FDRTtpREFDakI7QUFrQnBDQyxPQUFPQyxpQkFBaUIsR0FBR0MsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQUssTUFBTUMsS0FBS0MsR0FBRztBQUVwRSxJQUFJQztBQUNKLElBQUlDLDRCQUFzRSxFQUFFO0FBQzVFLElBQUlDLE9BQWdDO0FBQ3JCLFNBQVNYLFFBQVFZLElBQTZCO0lBQzNERCxPQUFPQztJQUNQQyxDQUFBQSxHQUFBQSxRQUFBQSxRQUFRO0lBRVJDLENBQUFBLEdBQUFBLFdBQUFBLGtCQUFrQixFQUFDLENBQUNDO1FBQ2xCLElBQUksQ0FBRSxhQUFZQSxPQUFBQSxHQUFVO1lBQzFCO1FBQ0Y7UUFFQSxJQUFJO1lBQ0ZDLGVBQWVEO1FBQ2pCLEVBQUUsT0FBT0UsS0FBVTtnQkFFK0JBO1lBRGhEQyxRQUFRQyxJQUFJLENBQ1YsNEJBQTRCSixVQUFVLE9BQVFFLENBQUFBLENBQUFBLGFBQUFBLE9BQUFBLE9BQUFBLEtBQUFBLElBQUFBLElBQUtHLEtBQUssWUFBVkgsYUFBYztRQUVoRTtJQUNGO0lBRUEsT0FBTztRQUNMSSxxQkFBb0JDLE9BQVk7WUFDOUJiLHdCQUF3QmE7UUFDMUI7UUFDQUM7WUFDRUMscUJBQUFBLG1CQUFtQixDQUFDQyxlQUFlLEdBQUc7UUFDeEM7UUFDQUMsNkJBQTRCQyxFQUF3QztZ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O1FBQ1B1RDtRQUNBekcsaUJBQWlCLENBQUMsQ0FBQ0QscUJBQUFBLG1CQUFtQixDQUFDQyxlQUFlO1FBQ3RENkcsaUJBQWlCckgsTUFBTUEsSUFBSXFILGVBQWUsR0FBR3JFO0lBQy9DO0lBR0YvRCxPQUFPNkUsUUFBUSxDQUFDdUIsTUFBTTtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL2hvdC1yZWxvYWRlci1jbGllbnQudHM/ZDU3MSJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiY29ubmVjdCIsInBlcmZvcm1GdWxsUmVsb2FkIiwid2luZG93IiwiX19uZXh0RGV2Q2xpZW50SWQiLCJNYXRoIiwicm91bmQiLCJyYW5kb20iLCJEYXRlIiwibm93IiwiY3VzdG9tSG1yRXZlbnRIYW5kbGVyIiwidHVyYm9wYWNrTWVzc2FnZUxpc3RlbmVycyIsIk1PREUiLCJtb2RlIiwicmVnaXN0ZXIiLCJhZGRNZXNzYWdlTGlzdGVuZXIiLCJwYXlsb2FkIiwicHJvY2Vzc01lc3NhZ2UiLCJlcnIiLCJjb25zb2xlIiwid2FybiIsInN0YWNrIiwic3Vic2NyaWJlVG9IbXJFdmVudCIsImhhbmRsZXIiLCJvblVucmVjb3ZlcmFibGVFcnJvciIsIlJ1bnRpbWVFcnJvckhhbmRsZXIiLCJoYWRSdW50aW1lRXJyb3IiLCJhZGRUdXJib3BhY2tNZXNzYWdlTGlzdGVuZXIiLCJjYiIsInB1c2giLCJzZW5kVHVyYm9wYWNrTWVzc2FnZSIsIm1zZyIsInNlbmRNZXNzYWdlIiwiaGFuZGxlVXBkYXRlRXJyb3IiLCJpc0ZpcnN0Q29tcGlsYXRpb24iLCJtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoIiwiaGFzQ29tcGlsZUVycm9ycyIsImNsZWFyT3V0ZGF0ZWRFcnJvcnMiLCJjbGVhciIsImhhbmRsZVN1Y2Nlc3MiLCJpc0hvdFVwZGF0ZSIsIl9fTkVYVF9EQVRBX18iLCJwYWdlIiwiaXNVcGRhdGVBdmFpbGFibGUiLCJ0cnlBcHBseVVwZGF0ZXMiLCJvbkJlZm9yZUZhc3RSZWZyZXNoIiwib25GYXN0UmVmcmVzaCIsIm9uQnVpbGRPayIsImhhbmRsZVdhcm5pbmdzIiwid2FybmluZ3MiLCJwcmludFdhcm5pbmdzIiwiZm9ybWF0dGVkIiwiZm9ybWF0V2VicGFja01lc3NhZ2VzIiwiZXJyb3JzIiwiaSIsImxlbmd0aCIsInN0cmlwQW5zaSIsImhhbmRsZUVycm9ycyIsIm9uQnVpbGRFcnJvciIsImVycm9yIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9URVNUX01PREUiLCJzZWxmIiwiX19ORVhUX0hNUl9DQiIsInN0YXJ0TGF0ZW5jeSIsInVuZGVmaW5lZCIsInVwZGF0ZWRNb2R1bGVzIiwib25CZWZvcmVSZWZyZXNoIiwib25SZWZyZXNoIiwicmVwb3J0SG1yTGF0ZW5jeSIsImVuZExhdGVuY3kiLCJsYXRlbmN5IiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiaWQiLCJzdGFydFRpbWUiLCJlbmRUaW1lIiwibG9jYXRpb24iLCJwYXRobmFtZSIsImlzUGFnZUhpZGRlbiIsImRvY3VtZW50IiwidmlzaWJpbGl0eVN0YXRlIiwiX19ORVhUX0hNUl9MQVRFTkNZX0NCIiwiaGFuZGxlQXZhaWxhYmxlSGFzaCIsImhhc2giLCJvYmoiLCJhY3Rpb24iLCJITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIiLCJCVUlMRElORyIsIkJVSUxUIiwiU1lOQyIsIm9uVmVyc2lvbkluZm8iLCJ2ZXJzaW9uSW5mbyIsImhhc0Vycm9ycyIsIkJvb2xlYW4iLCJlcnJvckNvdW50IiwiY2xpZW50SWQiLCJoYXNXYXJuaW5ncyIsIndhcm5pbmdDb3VudCIsIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFUyIsInJlbG9hZCIsIlNFUlZFUl9FUlJPUiIsImVycm9ySlNPTiIsIm1lc3NhZ2UiLCJwYXJzZSIsIkVycm9yIiwiVFVSQk9QQUNLX0NPTk5FQ1RFRCIsImxpc3RlbmVyIiwidHlwZSIsIlRVUkJPUEFDS19NRVNTQUdFIiwiZXh0cmFjdE1vZHVsZXNGcm9tVHVyYm9wYWNrTWVzc2FnZSIsImRhdGEiLCJSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IiLCJfX3dlYnBhY2tfaGFzaF9fIiwiY2FuQXBwbHlVcGRhdGVzIiwibW9kdWxlIiwiaG90Iiwic3RhdHVzIiwiYWZ0ZXJBcHBseVVwZGF0ZXMiLCJmbiIsInJlbW92ZVN0YXR1c0hhbmRsZXIiLCJhZGRTdGF0dXNIYW5kbGVyIiwib25CZWZvcmVIb3RVcGRhdGUiLCJvbkhvdFVwZGF0ZVN1Y2Nlc3MiLCJoYW5kbGVBcHBseVVwZGF0ZXMiLCJjaGVjayIsInRoZW4iLCJhcHBseSIsInN0YWNrVHJhY2UiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsImRlcGVuZGVuY3lDaGFpbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js ***! - \***************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n addMessageListener: function() {\n return addMessageListener;\n },\n connectHMR: function() {\n return connectHMR;\n },\n sendMessage: function() {\n return sendMessage;\n }\n});\nlet source;\nconst eventCallbacks = [];\nfunction getSocketProtocol(assetPrefix) {\n let protocol = location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (e) {}\n return protocol === \"http:\" ? \"ws\" : \"wss\";\n}\nfunction addMessageListener(callback) {\n eventCallbacks.push(callback);\n}\nfunction sendMessage(data) {\n if (!source || source.readyState !== source.OPEN) return;\n return source.send(data);\n}\nlet reconnections = 0;\nfunction connectHMR(options) {\n function init() {\n if (source) source.close();\n function handleOnline() {\n reconnections = 0;\n window.console.log(\"[HMR] connected\");\n }\n function handleMessage(event) {\n // Coerce into HMR_ACTION_TYPES as that is the format.\n const msg = JSON.parse(event.data);\n for (const eventCallback of eventCallbacks){\n eventCallback(msg);\n }\n }\n let timer;\n function handleDisconnect() {\n source.onerror = null;\n source.onclose = null;\n source.close();\n reconnections++;\n // After 25 reconnects we'll want to reload the page as it indicates the dev server is no longer running.\n if (reconnections > 25) {\n window.location.reload();\n return;\n }\n clearTimeout(timer);\n // Try again after 5 seconds\n timer = setTimeout(init, reconnections > 5 ? 5000 : 1000);\n }\n const { hostname, port } = location;\n const protocol = getSocketProtocol(options.assetPrefix || \"\");\n const assetPrefix = options.assetPrefix.replace(/^\\/+/, \"\");\n let url = protocol + \"://\" + hostname + \":\" + port + (assetPrefix ? \"/\" + assetPrefix : \"\");\n if (assetPrefix.startsWith(\"http\")) {\n url = protocol + \"://\" + assetPrefix.split(\"://\", 2)[1];\n }\n source = new window.WebSocket(\"\" + url + options.path);\n source.onopen = handleOnline;\n source.onerror = handleDisconnect;\n source.onclose = handleDisconnect;\n source.onmessage = handleMessage;\n }\n init();\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=websocket.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3BhZ2VzL3dlYnNvY2tldC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFtQmdCQSxvQkFBa0I7ZUFBbEJBOztJQVdBQyxZQUFVO2VBQVZBOztJQVBBQyxhQUFXO2VBQVhBOzs7QUFyQmhCLElBQUlDO0FBSUosTUFBTUMsaUJBQXdDLEVBQUU7QUFFaEQsU0FBU0Msa0JBQWtCQyxXQUFtQjtJQUM1QyxJQUFJQyxXQUFXQyxTQUFTRCxRQUFRO0lBRWhDLElBQUk7UUFDRix1QkFBdUI7UUFDdkJBLFdBQVcsSUFBSUUsSUFBSUgsYUFBYUMsUUFBUTtJQUMxQyxFQUFFLE9BQUFHLEdBQU0sQ0FBQztJQUVULE9BQU9ILGFBQWEsVUFBVSxPQUFPO0FBQ3ZDO0FBRU8sU0FBU1AsbUJBQW1CVyxRQUF3QjtJQUN6RFAsZUFBZVEsSUFBSSxDQUFDRDtBQUN0QjtBQUVPLFNBQVNULFlBQVlXLElBQVk7SUFDdEMsSUFBSSxDQUFDVixVQUFVQSxPQUFPVyxVQUFVLEtBQUtYLE9BQU9ZLElBQUksRUFBRTtJQUNsRCxPQUFPWixPQUFPYSxJQUFJLENBQUNIO0FBQ3JCO0FBRUEsSUFBSUksZ0JBQWdCO0FBRWIsU0FBU2hCLFdBQVdpQixPQUE4QztJQUN2RSxTQUFTQztRQUNQLElBQUloQixRQUFRQSxPQUFPaUIsS0FBSztRQUV4QixTQUFTQztZQUNQSixnQkFBZ0I7WUFDaEJLLE9BQU9DLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDO1FBQ3JCO1FBRUEsU0FBU0MsY0FBY0MsS0FBMkI7WUFDaEQsc0RBQXNEO1lBQ3RELE1BQU1DLE1BQXdCQyxLQUFLQyxLQUFLLENBQUNILE1BQU1iLElBQUk7WUFDbkQsS0FBSyxNQUFNaUIsaUJBQWlCMUIsZUFBZ0I7Z0JBQzFDMEIsY0FBY0g7WUFDaEI7UUFDRjtRQUVBLElBQUlJO1FBQ0osU0FBU0M7WUFDUDdCLE9BQU84QixPQUFPLEdBQUc7WUFDakI5QixPQUFPK0IsT0FBTyxHQUFHO1lBQ2pCL0IsT0FBT2lCLEtBQUs7WUFDWkg7WUFDQSx5R0FBeUc7WUFDekcsSUFBSUEsZ0JBQWdCLElBQUk7Z0JBQ3RCSyxPQUFPZCxRQUFRLENBQUMyQixNQUFNO2dCQUN0QjtZQUNGO1lBRUFDLGFBQWFMO1lBQ2IsNEJBQTRCO1lBQzVCQSxRQUFRTSxXQUFXbEIsTUFBTUYsZ0JBQWdCLElBQUksT0FBTztRQUN0RDtRQUVBLE1BQU0sRUFBRXFCLFFBQVEsRUFBRUMsSUFBSSxFQUFFLEdBQUcvQjtRQUMzQixNQUFNRCxXQUFXRixrQkFBa0JhLFFBQVFaLFdBQVcsSUFBSTtRQUMxRCxNQUFNQSxjQUFjWSxRQUFRWixXQUFXLENBQUNrQyxPQUFPLENBQUMsUUFBUTtRQUV4RCxJQUFJQyxNQUFNbEMsV0FBWSxRQUFLK0IsV0FBUyxNQUFHQyxPQUNyQ2pDLENBQUFBLGNBQWMsTUFBSUEsY0FBZ0I7UUFHcEMsSUFBSUEsWUFBWW9DLFVBQVUsQ0FBQyxTQUFTO1lBQ2xDRCxNQUFNbEMsV0FBWSxRQUFLRCxZQUFZcUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDdkQ7UUFFQXhDLFNBQVMsSUFBSW1CLE9BQU9zQixTQUFTLENBQUMsS0FBR0gsTUFBTXZCLFFBQVEyQixJQUFJO1FBQ25EMUMsT0FBTzJDLE1BQU0sR0FBR3pCO1FBQ2hCbEIsT0FBTzhCLE9BQU8sR0FBR0Q7UUFDakI3QixPQUFPK0IsT0FBTyxHQUFHRjtRQUNqQjdCLE9BQU80QyxTQUFTLEdBQUd0QjtJQUNyQjtJQUVBTjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvcGFnZXMvd2Vic29ja2V0LnRzP2UzOWMiXSwibmFtZXMiOlsiYWRkTWVzc2FnZUxpc3RlbmVyIiwiY29ubmVjdEhNUiIsInNlbmRNZXNzYWdlIiwic291cmNlIiwiZXZlbnRDYWxsYmFja3MiLCJnZXRTb2NrZXRQcm90b2NvbCIsImFzc2V0UHJlZml4IiwicHJvdG9jb2wiLCJsb2NhdGlvbiIsIlVSTCIsImUiLCJjYWxsYmFjayIsInB1c2giLCJkYXRhIiwicmVhZHlTdGF0ZSIsIk9QRU4iLCJzZW5kIiwicmVjb25uZWN0aW9ucyIsIm9wdGlvbnMiLCJpbml0IiwiY2xvc2UiLCJoYW5kbGVPbmxpbmUiLCJ3aW5kb3ciLCJjb25zb2xlIiwibG9nIiwiaGFuZGxlTWVzc2FnZSIsImV2ZW50IiwibXNnIiwiSlNPTiIsInBhcnNlIiwiZXZlbnRDYWxsYmFjayIsInRpbWVyIiwiaGFuZGxlRGlzY29ubmVjdCIsIm9uZXJyb3IiLCJvbmNsb3NlIiwicmVsb2FkIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImhvc3RuYW1lIiwicG9ydCIsInJlcGxhY2UiLCJ1cmwiLCJzdGFydHNXaXRoIiwic3BsaXQiLCJXZWJTb2NrZXQiLCJwYXRoIiwib25vcGVuIiwib25tZXNzYWdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/components/react-dev-overlay/shared.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/shared.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_BEFORE_REFRESH: function() {\n return ACTION_BEFORE_REFRESH;\n },\n ACTION_BUILD_ERROR: function() {\n return ACTION_BUILD_ERROR;\n },\n ACTION_BUILD_OK: function() {\n return ACTION_BUILD_OK;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_UNHANDLED_ERROR: function() {\n return ACTION_UNHANDLED_ERROR;\n },\n ACTION_UNHANDLED_REJECTION: function() {\n return ACTION_UNHANDLED_REJECTION;\n },\n ACTION_VERSION_INFO: function() {\n return ACTION_VERSION_INFO;\n },\n INITIAL_OVERLAY_STATE: function() {\n return INITIAL_OVERLAY_STATE;\n },\n REACT_REFRESH_FULL_RELOAD_FROM_ERROR: function() {\n return REACT_REFRESH_FULL_RELOAD_FROM_ERROR;\n },\n useErrorOverlayReducer: function() {\n return useErrorOverlayReducer;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst ACTION_BUILD_OK = \"build-ok\";\nconst ACTION_BUILD_ERROR = \"build-error\";\nconst ACTION_BEFORE_REFRESH = \"before-fast-refresh\";\nconst ACTION_REFRESH = \"fast-refresh\";\nconst ACTION_VERSION_INFO = \"version-info\";\nconst ACTION_UNHANDLED_ERROR = \"unhandled-error\";\nconst ACTION_UNHANDLED_REJECTION = \"unhandled-rejection\";\nfunction pushErrorFilterDuplicates(errors, err) {\n return [\n ...errors.filter((e)=>{\n // Filter out duplicate errors\n return e.event.reason !== err.event.reason;\n }),\n err\n ];\n}\nconst INITIAL_OVERLAY_STATE = {\n nextId: 1,\n buildError: null,\n errors: [],\n notFound: false,\n refreshState: {\n type: \"idle\"\n },\n rootLayoutMissingTags: [],\n versionInfo: {\n installed: \"0.0.0\",\n staleness: \"unknown\"\n }\n};\nfunction useErrorOverlayReducer() {\n return (0, _react.useReducer)((_state, action)=>{\n switch(action.type){\n case ACTION_BUILD_OK:\n {\n return {\n ..._state,\n buildError: null\n };\n }\n case ACTION_BUILD_ERROR:\n {\n return {\n ..._state,\n buildError: action.message\n };\n }\n case ACTION_BEFORE_REFRESH:\n {\n return {\n ..._state,\n refreshState: {\n type: \"pending\",\n errors: []\n }\n };\n }\n case ACTION_REFRESH:\n {\n return {\n ..._state,\n buildError: null,\n errors: // and UNHANDLED_REJECTION events might be dispatched between the\n // BEFORE_REFRESH and the REFRESH event. We want to keep those errors\n // around until the next refresh. Otherwise we run into a race\n // condition where those errors would be cleared on refresh completion\n // before they can be displayed.\n _state.refreshState.type === \"pending\" ? _state.refreshState.errors : [],\n refreshState: {\n type: \"idle\"\n }\n };\n }\n case ACTION_UNHANDLED_ERROR:\n case ACTION_UNHANDLED_REJECTION:\n {\n switch(_state.refreshState.type){\n case \"idle\":\n {\n return {\n ..._state,\n nextId: _state.nextId + 1,\n errors: pushErrorFilterDuplicates(_state.errors, {\n id: _state.nextId,\n event: action\n })\n };\n }\n case \"pending\":\n {\n return {\n ..._state,\n nextId: _state.nextId + 1,\n refreshState: {\n ..._state.refreshState,\n errors: pushErrorFilterDuplicates(_state.refreshState.errors, {\n id: _state.nextId,\n event: action\n })\n }\n };\n }\n default:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = _state.refreshState;\n return _state;\n }\n }\n case ACTION_VERSION_INFO:\n {\n return {\n ..._state,\n versionInfo: action.versionInfo\n };\n }\n default:\n {\n return _state;\n }\n }\n }, INITIAL_OVERLAY_STATE);\n}\nconst REACT_REFRESH_FULL_RELOAD_FROM_ERROR = \"[Fast Refresh] performing full reload because your application had an unrecoverable error\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=shared.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L3NoYXJlZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUF5QmFBLHVCQUFxQjtlQUFyQkE7O0lBREFDLG9CQUFrQjtlQUFsQkE7O0lBREFDLGlCQUFlO2VBQWZBOztJQUdBQyxnQkFBYztlQUFkQTs7SUFFQUMsd0JBQXNCO2VBQXRCQTs7SUFDQUMsNEJBQTBCO2VBQTFCQTs7SUFGQUMscUJBQW1CO2VBQW5CQTs7SUEwREFDLHVCQUFxQjtlQUFyQkE7O0lBaUZBQyxzQ0FBb0M7ZUFBcENBOztJQXZFR0Msd0JBQXNCO2VBQXRCQTs7O21DQS9GVztBQXVCcEIsTUFBTVAsa0JBQWtCO0FBQ3hCLE1BQU1ELHFCQUFxQjtBQUMzQixNQUFNRCx3QkFBd0I7QUFDOUIsTUFBTUcsaUJBQWlCO0FBQ3ZCLE1BQU1HLHNCQUFzQjtBQUM1QixNQUFNRix5QkFBeUI7QUFDL0IsTUFBTUMsNkJBQTZCO0FBMkMxQyxTQUFTSywwQkFDUEMsTUFBNkIsRUFDN0JDLEdBQXdCO0lBRXhCLE9BQU87V0FDRkQsT0FBT0UsTUFBTSxDQUFDLENBQUNDO1lBQ2hCLDhCQUE4QjtZQUM5QixPQUFPQSxFQUFFQyxLQUFLLENBQUNDLE1BQU0sS0FBS0osSUFBSUcsS0FBSyxDQUFDQyxNQUFNO1FBQzVDO1FBQ0FKO0tBQ0Q7QUFDSDtBQUVPLE1BQU1MLHdCQUFzQztJQUNqRFUsUUFBUTtJQUNSQyxZQUFZO0lBQ1pQLFFBQVEsRUFBRTtJQUNWUSxVQUFVO0lBQ1ZDLGNBQWM7UUFBRUMsTUFBTTtJQUFPO0lBQzdCQyx1QkFBdUIsRUFBRTtJQUN6QkMsYUFBYTtRQUFFQyxXQUFXO1FBQVNDLFdBQVc7SUFBVTtBQUMxRDtBQUVPLFNBQVNoQjtJQUNkLE9BQU9pQixDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQXdDLENBQUNDLFFBQVFDO1FBQ2hFLE9BQVFBLE9BQU9QLElBQUk7WUFDakIsS0FBS25CO2dCQUFpQjtvQkFDcEIsT0FBTzt3QkFBRSxHQUFHeUIsTUFBTTt3QkFBRVQsWUFBWTtvQkFBSztnQkFDdkM7WUFDQSxLQUFLakI7Z0JBQW9CO29CQUN2QixPQUFPO3dCQUFFLEdBQUcwQixNQUFNO3dCQUFFVCxZQUFZVSxPQUFPQyxPQUFPO29CQUFDO2dCQUNqRDtZQUNBLEtBQUs3QjtnQkFBdUI7b0JBQzFCLE9BQU87d0JBQUUsR0FBRzJCLE1BQU07d0JBQUVQLGNBQWM7NEJBQUVDLE1BQU07NEJBQVdWLFFBQVEsRUFBRTt3QkFBQztvQkFBRTtnQkFDcEU7WUFDQSxLQUFLUjtnQkFBZ0I7b0JBQ25CLE9BQU87d0JBQ0wsR0FBR3dCLE1BQU07d0JBQ1RULFlBQVk7d0JBQ1pQLFFBRUUsaUVBQWlFO3dCQUNqRSxxRUFBcUU7d0JBQ3JFLDhEQUE4RDt3QkFDOUQsc0VBQXNFO3dCQUN0RSxnQ0FBZ0M7d0JBQ2hDZ0IsT0FBT1AsWUFBWSxDQUFDQyxJQUFJLEtBQUssWUFDekJNLE9BQU9QLFlBQVksQ0FBQ1QsTUFBTSxHQUMxQixFQUFFO3dCQUNSUyxjQUFjOzRCQUFFQyxNQUFNO3dCQUFPO29CQUMvQjtnQkFDRjtZQUNBLEtBQUtqQjtZQUNMLEtBQUtDO2dCQUE0QjtvQkFDL0IsT0FBUXNCLE9BQU9QLFlBQVksQ0FBQ0MsSUFBSTt3QkFDOUIsS0FBSzs0QkFBUTtnQ0FDWCxPQUFPO29DQUNMLEdBQUdNLE1BQU07b0NBQ1RWLFFBQVFVLE9BQU9WLE1BQU0sR0FBRztvQ0FDeEJOLFFBQVFELDBCQUEwQmlCLE9BQU9oQixNQUFNLEVBQUU7d0NBQy9DbUIsSUFBSUgsT0FBT1YsTUFBTTt3Q0FDakJGLE9BQU9hO29DQUNUO2dDQUNGOzRCQUNGO3dCQUNBLEtBQUs7NEJBQVc7Z0NBQ2QsT0FBTztvQ0FDTCxHQUFHRCxNQUFNO29DQUNUVixRQUFRVSxPQUFPVixNQUFNLEdBQUc7b0NBQ3hCRyxjQUFjO3dDQUNaLEdBQUdPLE9BQU9QLFlBQVk7d0NBQ3RCVCxRQUFRRCwwQkFBMEJpQixPQUFPUCxZQUFZLENBQUNULE1BQU0sRUFBRTs0Q0FDNURtQixJQUFJSCxPQUFPVixNQUFNOzRDQUNqQkYsT0FBT2E7d0NBQ1Q7b0NBQ0Y7Z0NBQ0Y7NEJBQ0Y7d0JBQ0E7NEJBQ0UsNkRBQTZEOzRCQUM3RCxNQUFNRyxJQUFXSixPQUFPUCxZQUFZOzRCQUNwQyxPQUFPTztvQkFDWDtnQkFDRjtZQUNBLEtBQUtyQjtnQkFBcUI7b0JBQ3hCLE9BQU87d0JBQUUsR0FBR3FCLE1BQU07d0JBQUVKLGFBQWFLLE9BQU9MLFdBQVc7b0JBQUM7Z0JBQ3REO1lBQ0E7Z0JBQVM7b0JBQ1AsT0FBT0k7Z0JBQ1Q7UUFDRjtJQUNGLEdBQUdwQjtBQUNMO0FBRU8sTUFBTUMsdUNBQ1giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9zaGFyZWQudHM/YzQ0ZiJdLCJuYW1lcyI6WyJBQ1RJT05fQkVGT1JFX1JFRlJFU0giLCJBQ1RJT05fQlVJTERfRVJST1IiLCJBQ1RJT05fQlVJTERfT0siLCJBQ1RJT05fUkVGUkVTSCIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiIsIkFDVElPTl9WRVJTSU9OX0lORk8iLCJJTklUSUFMX09WRVJMQVlfU1RBVEUiLCJSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IiLCJ1c2VFcnJvck92ZXJsYXlSZWR1Y2VyIiwicHVzaEVycm9yRmlsdGVyRHVwbGljYXRlcyIsImVycm9ycyIsImVyciIsImZpbHRlciIsImUiLCJldmVudCIsInJlYXNvbiIsIm5leHRJZCIsImJ1aWxkRXJyb3IiLCJub3RGb3VuZCIsInJlZnJlc2hTdGF0ZSIsInR5cGUiLCJyb290TGF5b3V0TWlzc2luZ1RhZ3MiLCJ2ZXJzaW9uSW5mbyIsImluc3RhbGxlZCIsInN0YWxlbmVzcyIsInVzZVJlZHVjZXIiLCJfc3RhdGUiLCJhY3Rpb24iLCJtZXNzYWdlIiwiaWQiLCJfIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/shared.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/detect-domain-locale.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/detect-domain-locale.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"detectDomainLocale\", ({\n enumerable: true,\n get: function() {\n return detectDomainLocale;\n }\n}));\nconst detectDomainLocale = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (false) {}\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=detect-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUVhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxxQkFBZ0M7cUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1FBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztJQUMvQyxJQUFJQyxLQUErQixFQUFFLEVBSXJDO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvZGV0ZWN0LWRvbWFpbi1sb2NhbGUudHM/NjhmYyJdLCJuYW1lcyI6WyJkZXRlY3REb21haW5Mb2NhbGUiLCJhcmdzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/detect-domain-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/dev-build-watcher.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/dev-build-watcher.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* eslint-disable @typescript-eslint/no-use-before-define */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return initializeBuildWatcher;\n }\n}));\nconst _hotreloadertypes = __webpack_require__(/*! ../../server/dev/hot-reloader-types */ \"./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nfunction initializeBuildWatcher(toggleCallback, position) {\n if (position === void 0) position = \"bottom-right\";\n const shadowHost = document.createElement(\"div\");\n const [verticalProperty, horizontalProperty] = position.split(\"-\", 2);\n shadowHost.id = \"__next-build-watcher\";\n // Make sure container is fixed and on a high zIndex so it shows\n shadowHost.style.position = \"fixed\";\n // Ensure container's position to be top or bottom (default)\n shadowHost.style[verticalProperty] = \"10px\";\n // Ensure container's position to be left or right (default)\n shadowHost.style[horizontalProperty] = \"20px\";\n shadowHost.style.width = \"0\";\n shadowHost.style.height = \"0\";\n shadowHost.style.zIndex = \"99999\";\n document.body.appendChild(shadowHost);\n let shadowRoot;\n let prefix = \"\";\n if (shadowHost.attachShadow) {\n shadowRoot = shadowHost.attachShadow({\n mode: \"open\"\n });\n } else {\n // If attachShadow is undefined then the browser does not support\n // the Shadow DOM, we need to prefix all the names so there\n // will be no conflicts\n shadowRoot = shadowHost;\n prefix = \"__next-build-watcher-\";\n }\n // Container\n const container = createContainer(prefix);\n shadowRoot.appendChild(container);\n // CSS\n const css = createCss(prefix, {\n horizontalProperty,\n verticalProperty\n });\n shadowRoot.appendChild(css);\n // State\n let isVisible = false;\n let isBuilding = false;\n let timeoutId = null;\n // Handle events\n (0, _websocket.addMessageListener)((obj)=>{\n try {\n handleMessage(obj);\n } catch (e) {}\n });\n function show() {\n timeoutId && clearTimeout(timeoutId);\n isVisible = true;\n isBuilding = true;\n updateContainer();\n }\n function hide() {\n isBuilding = false;\n // Wait for the fade out transition to complete\n timeoutId = setTimeout(()=>{\n isVisible = false;\n updateContainer();\n }, 100);\n updateContainer();\n }\n function handleMessage(obj) {\n if (!(\"action\" in obj)) {\n return;\n }\n // eslint-disable-next-line default-case\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n show();\n break;\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n hide();\n break;\n }\n }\n toggleCallback({\n show,\n hide\n });\n function updateContainer() {\n if (isBuilding) {\n container.classList.add(\"\" + prefix + \"building\");\n } else {\n container.classList.remove(\"\" + prefix + \"building\");\n }\n if (isVisible) {\n container.classList.add(\"\" + prefix + \"visible\");\n } else {\n container.classList.remove(\"\" + prefix + \"visible\");\n }\n }\n}\nfunction createContainer(prefix) {\n const container = document.createElement(\"div\");\n container.id = \"\" + prefix + \"container\";\n container.innerHTML = '\\n <div id=\"' + prefix + 'icon-wrapper\">\\n <svg viewBox=\"0 0 226 200\">\\n <defs>\\n <linearGradient\\n x1=\"114.720775%\"\\n y1=\"181.283245%\"\\n x2=\"39.5399306%\"\\n y2=\"100%\"\\n id=\"' + prefix + 'linear-gradient\"\\n >\\n <stop stop-color=\"#000000\" offset=\"0%\" />\\n <stop stop-color=\"#FFFFFF\" offset=\"100%\" />\\n </linearGradient>\\n </defs>\\n <g id=\"' + prefix + 'icon-group\" fill=\"none\" stroke=\"url(#' + prefix + 'linear-gradient)\" stroke-width=\"18\">\\n <path d=\"M113,5.08219117 L4.28393801,197.5 L221.716062,197.5 L113,5.08219117 Z\" />\\n </g>\\n </svg>\\n </div>\\n ';\n return container;\n}\nfunction createCss(prefix, param) {\n let { horizontalProperty, verticalProperty } = param;\n const css = document.createElement(\"style\");\n css.textContent = \"\\n #\" + prefix + \"container {\\n position: absolute;\\n \" + verticalProperty + \": 10px;\\n \" + horizontalProperty + \": 30px;\\n\\n border-radius: 3px;\\n background: #000;\\n color: #fff;\\n font: initial;\\n cursor: initial;\\n letter-spacing: initial;\\n text-shadow: initial;\\n text-transform: initial;\\n visibility: initial;\\n\\n padding: 7px 10px 8px 10px;\\n align-items: center;\\n box-shadow: 0 11px 40px 0 rgba(0, 0, 0, 0.25), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\\n\\n display: none;\\n opacity: 0;\\n transition: opacity 0.1s ease, \" + verticalProperty + \" 0.1s ease;\\n animation: \" + prefix + \"fade-in 0.1s ease-in-out;\\n }\\n\\n #\" + prefix + \"container.\" + prefix + \"visible {\\n display: flex;\\n }\\n\\n #\" + prefix + \"container.\" + prefix + \"building {\\n \" + verticalProperty + \": 20px;\\n opacity: 1;\\n }\\n\\n #\" + prefix + \"icon-wrapper {\\n width: 16px;\\n height: 16px;\\n }\\n\\n #\" + prefix + \"icon-wrapper > svg {\\n width: 100%;\\n height: 100%;\\n }\\n\\n #\" + prefix + \"icon-group {\\n animation: \" + prefix + \"strokedash 1s ease-in-out both infinite;\\n }\\n\\n @keyframes \" + prefix + \"fade-in {\\n from {\\n \" + verticalProperty + \": 10px;\\n opacity: 0;\\n }\\n to {\\n \" + verticalProperty + \": 20px;\\n opacity: 1;\\n }\\n }\\n\\n @keyframes \" + prefix + \"strokedash {\\n 0% {\\n stroke-dasharray: 0 226;\\n }\\n 80%,\\n 100% {\\n stroke-dasharray: 659 226;\\n }\\n }\\n \";\n return css;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=dev-build-watcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZGV2LWJ1aWxkLXdhdGNoZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEOzs7OzJDQWExRDs7O2VBQXdCQTs7OzhDQVpvQjt1Q0FFVDtBQVVwQixTQUFTQSx1QkFDdEJDLGNBQW1ELEVBQ25EQyxRQUF5QjtJQUF6QkEsSUFBQUEsYUFBQUEsS0FBQUEsR0FBQUEsV0FBVztJQUVYLE1BQU1DLGFBQWFDLFNBQVNDLGFBQWEsQ0FBQztJQUMxQyxNQUFNLENBQUNDLGtCQUFrQkMsbUJBQW1CLEdBQUdMLFNBQVNNLEtBQUssQ0FBQyxLQUFLO0lBSW5FTCxXQUFXTSxFQUFFLEdBQUc7SUFDaEIsZ0VBQWdFO0lBQ2hFTixXQUFXTyxLQUFLLENBQUNSLFFBQVEsR0FBRztJQUM1Qiw0REFBNEQ7SUFDNURDLFdBQVdPLEtBQUssQ0FBQ0osaUJBQWlCLEdBQUc7SUFDckMsNERBQTREO0lBQzVESCxXQUFXTyxLQUFLLENBQUNILG1CQUFtQixHQUFHO0lBQ3ZDSixXQUFXTyxLQUFLLENBQUNDLEtBQUssR0FBRztJQUN6QlIsV0FBV08sS0FBSyxDQUFDRSxNQUFNLEdBQUc7SUFDMUJULFdBQVdPLEtBQUssQ0FBQ0csTUFBTSxHQUFHO0lBQzFCVCxTQUFTVSxJQUFJLENBQUNDLFdBQVcsQ0FBQ1o7SUFFMUIsSUFBSWE7SUFDSixJQUFJQyxTQUFTO0lBRWIsSUFBSWQsV0FBV2UsWUFBWSxFQUFFO1FBQzNCRixhQUFhYixXQUFXZSxZQUFZLENBQUM7WUFBRUMsTUFBTTtRQUFPO0lBQ3RELE9BQU87UUFDTCxpRUFBaUU7UUFDakUsMkRBQTJEO1FBQzNELHVCQUF1QjtRQUN2QkgsYUFBYWI7UUFDYmMsU0FBUztJQUNYO0lBRUEsWUFBWTtJQUNaLE1BQU1HLFlBQVlDLGdCQUFnQko7SUFDbENELFdBQVdELFdBQVcsQ0FBQ0s7SUFFdkIsTUFBTTtJQUNOLE1BQU1FLE1BQU1DLFVBQVVOLFFBQVE7UUFBRVY7UUFBb0JEO0lBQWlCO0lBQ3JFVSxXQUFXRCxXQUFXLENBQUNPO0lBRXZCLFFBQVE7SUFDUixJQUFJRSxZQUFZO0lBQ2hCLElBQUlDLGFBQWE7SUFDakIsSUFBSUMsWUFBa0Q7SUFFdEQsZ0JBQWdCO0lBRWhCQyxDQUFBQSxHQUFBQSxXQUFBQSxrQkFBa0IsRUFBQyxDQUFDQztRQUNsQixJQUFJO1lBQ0ZDLGNBQWNEO1FBQ2hCLEVBQUUsT0FBQUUsR0FBTSxDQUFDO0lBQ1g7SUFFQSxTQUFTQztRQUNQTCxhQUFhTSxhQUFhTjtRQUMxQkYsWUFBWTtRQUNaQyxhQUFhO1FBQ2JRO0lBQ0Y7SUFFQSxTQUFTQztRQUNQVCxhQUFhO1FBQ2IsK0NBQStDO1FBQy9DQyxZQUFZUyxXQUFXO1lBQ3JCWCxZQUFZO1lBQ1pTO1FBQ0YsR0FBRztRQUNIQTtJQUNGO0lBRUEsU0FBU0osY0FBY0QsR0FBcUI7UUFDMUMsSUFBSSxDQUFFLGFBQVlBLEdBQUFBLEdBQU07WUFDdEI7UUFDRjtRQUVBLHdDQUF3QztRQUN4QyxPQUFRQSxJQUFJUSxNQUFNO1lBQ2hCLEtBQUtDLGtCQUFBQSwyQkFBMkIsQ0FBQ0MsUUFBUTtnQkFDdkNQO2dCQUNBO1lBQ0YsS0FBS00sa0JBQUFBLDJCQUEyQixDQUFDRSxLQUFLO1lBQ3RDLEtBQUtGLGtCQUFBQSwyQkFBMkIsQ0FBQ0csSUFBSTtnQkFDbkNOO2dCQUNBO1FBQ0o7SUFDRjtJQUVBakMsZUFBZTtRQUNiOEI7UUFDQUc7SUFDRjtJQUVBLFNBQVNEO1FBQ1AsSUFBSVIsWUFBWTtZQUNkTCxVQUFVcUIsU0FBUyxDQUFDQyxHQUFHLENBQUMsS0FBR3pCLFNBQU87UUFDcEMsT0FBTztZQUNMRyxVQUFVcUIsU0FBUyxDQUFDRSxNQUFNLENBQUMsS0FBRzFCLFNBQU87UUFDdkM7UUFFQSxJQUFJTyxXQUFXO1lBQ2JKLFVBQVVxQixTQUFTLENBQUNDLEdBQUcsQ0FBQyxLQUFHekIsU0FBTztRQUNwQyxPQUFPO1lBQ0xHLFVBQVVxQixTQUFTLENBQUNFLE1BQU0sQ0FBQyxLQUFHMUIsU0FBTztRQUN2QztJQUNGO0FBQ0Y7QUFFQSxTQUFTSSxnQkFBZ0JKLE1BQWM7SUFDckMsTUFBTUcsWUFBWWhCLFNBQVNDLGFBQWEsQ0FBQztJQUN6Q2UsVUFBVVgsRUFBRSxHQUFHLEtBQUdRLFNBQU87SUFDekJHLFVBQVV3QixTQUFTLEdBQUcsb0JBQ1QzQixTQUFPLG9PQVFKQSxTQUFPLGlOQU1SQSxTQUFPLDBDQUF1Q0EsU0FBTztJQU9wRSxPQUFPRztBQUNUO0FBRUEsU0FBU0csVUFDUE4sTUFBYyxFQUNkNEIsS0FHMkQ7SUFIM0QsTUFDRXRDLGtCQUFrQixFQUNsQkQsZ0JBQWdCLEVBQ3lDLEdBSDNEdUM7SUFLQSxNQUFNdkIsTUFBTWxCLFNBQVNDLGFBQWEsQ0FBQztJQUNuQ2lCLElBQUl3QixXQUFXLEdBQUcsWUFDYjdCLFNBQU8sbURBRU5YLG1CQUFpQixvQkFDakJDLHFCQUFtQix3ZUFrQllELG1CQUFpQixtQ0FDckNXLFNBQU8sOENBR25CQSxTQUFPLGVBQVlBLFNBQU8sb0RBSTFCQSxTQUFPLGVBQVlBLFNBQU8sdUJBQ3pCWCxtQkFBaUIsK0NBSWxCVyxTQUFPLDRFQUtQQSxTQUFPLGtGQUtQQSxTQUFPLG9DQUNLQSxTQUFPLHVFQUdUQSxTQUFPLHNDQUVkWCxtQkFBaUIsZ0VBSWpCQSxtQkFBaUIsb0VBS1ZXLFNBQU87SUFXdEIsT0FBT0s7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9kZXYvZGV2LWJ1aWxkLXdhdGNoZXIudHM/MTA5MyJdLCJuYW1lcyI6WyJpbml0aWFsaXplQnVpbGRXYXRjaGVyIiwidG9nZ2xlQ2FsbGJhY2siLCJwb3NpdGlvbiIsInNoYWRvd0hvc3QiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ2ZXJ0aWNhbFByb3BlcnR5IiwiaG9yaXpvbnRhbFByb3BlcnR5Iiwic3BsaXQiLCJpZCIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJ6SW5kZXgiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJzaGFkb3dSb290IiwicHJlZml4IiwiYXR0YWNoU2hhZG93IiwibW9kZSIsImNvbnRhaW5lciIsImNyZWF0ZUNvbnRhaW5lciIsImNzcyIsImNyZWF0ZUNzcyIsImlzVmlzaWJsZSIsImlzQnVpbGRpbmciLCJ0aW1lb3V0SWQiLCJhZGRNZXNzYWdlTGlzdGVuZXIiLCJvYmoiLCJoYW5kbGVNZXNzYWdlIiwiZSIsInNob3ciLCJjbGVhclRpbWVvdXQiLCJ1cGRhdGVDb250YWluZXIiLCJoaWRlIiwic2V0VGltZW91dCIsImFjdGlvbiIsIkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiIsIkJVSUxESU5HIiwiQlVJTFQiLCJTWU5DIiwiY2xhc3NMaXN0IiwiYWRkIiwicmVtb3ZlIiwiaW5uZXJIVE1MIiwicGFyYW0iLCJ0ZXh0Q29udGVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/dev-build-watcher.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/fouc.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/client/dev/fouc.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// This wrapper function is used to safely select the best available function\n// to schedule removal of the no-FOUC styles workaround. requestAnimationFrame\n// is the ideal choice, but when used in iframes, there are no guarantees that\n// the callback will actually be called, which could stall the promise returned\n// from displayContent.\n//\n// See: https://www.vector-logic.com/blog/posts/on-request-animation-frame-and-embedded-iframes\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"displayContent\", ({\n enumerable: true,\n get: function() {\n return displayContent;\n }\n}));\nconst safeCallbackQueue = (callback)=>{\n if (window.requestAnimationFrame && window.self === window.top) {\n window.requestAnimationFrame(callback);\n } else {\n window.setTimeout(callback);\n }\n};\nfunction displayContent() {\n return new Promise((resolve)=>{\n safeCallbackQueue(function() {\n for(var x = document.querySelectorAll(\"[data-next-hide-fouc]\"), i = x.length; i--;){\n x[i].parentNode.removeChild(x[i]);\n }\n resolve();\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fouc.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZm91Yy5qcyIsIm1hcHBpbmdzIjoiQUFBQSw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSwrRUFBK0U7QUFDL0UsdUJBQXVCO0FBQ3ZCLEVBQUU7QUFDRiwrRkFBK0Y7Ozs7O2tEQVkvRUE7OztlQUFBQTs7O0FBWGhCLE1BQU1DLG9CQUFvQixDQUFDQztJQUN6QixJQUFJQyxPQUFPQyxxQkFBcUIsSUFBSUQsT0FBT0UsSUFBSSxLQUFLRixPQUFPRyxHQUFHLEVBQUU7UUFDOURILE9BQU9DLHFCQUFxQixDQUFDRjtJQUMvQixPQUFPO1FBQ0xDLE9BQU9JLFVBQVUsQ0FBQ0w7SUFDcEI7QUFDRjtBQUtPLFNBQVNGO0lBQ2QsT0FBTyxJQUFJUSxRQUFRLENBQUNDO1FBQ2xCUixrQkFBa0I7WUFDaEIsSUFDRSxJQUFJUyxJQUFJQyxTQUFTQyxnQkFBZ0IsQ0FBQywwQkFDaENDLElBQUlILEVBQUVJLE1BQU0sRUFDZEQsS0FFQTtnQkFDQUgsQ0FBQyxDQUFDRyxFQUFFLENBQUNFLFVBQVUsQ0FBRUMsV0FBVyxDQUFDTixDQUFDLENBQUNHLEVBQUU7WUFDbkM7WUFDQUo7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvZGV2L2ZvdWMudHM/MjY3MCJdLCJuYW1lcyI6WyJkaXNwbGF5Q29udGVudCIsInNhZmVDYWxsYmFja1F1ZXVlIiwiY2FsbGJhY2siLCJ3aW5kb3ciLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJzZWxmIiwidG9wIiwic2V0VGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwieCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImkiLCJsZW5ndGgiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/fouc.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/hot-middleware-client.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/hot-middleware-client.js ***! - \********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _hotreloaderclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../components/react-dev-overlay/pages/hot-reloader-client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js\"));\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nlet reloading = false;\nconst _default = (mode)=>{\n const devClient = (0, _hotreloaderclient.default)(mode);\n devClient.subscribeToHmrEvent((obj)=>{\n if (reloading) return;\n // if we're on an error/404 page, we can't reliably tell if the newly added/removed page\n // matches the current path. In that case, assume any added/removed entries should trigger a reload of the current page\n const isOnErrorPage = window.next.router.pathname === \"/404\" || window.next.router.pathname === \"/_error\";\n switch(obj.action){\n case \"reloadPage\":\n {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-reload-page\",\n clientId: window.__nextDevClientId\n }));\n reloading = true;\n return window.location.reload();\n }\n case \"removedPage\":\n {\n const [page] = obj.data;\n if (page === window.next.router.pathname || isOnErrorPage) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-removed-page\",\n clientId: window.__nextDevClientId,\n page\n }));\n return window.location.reload();\n }\n return;\n }\n case \"addedPage\":\n {\n const [page] = obj.data;\n if (page === window.next.router.pathname && typeof window.next.router.components[page] === \"undefined\" || isOnErrorPage) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-added-page\",\n clientId: window.__nextDevClientId,\n page\n }));\n return window.location.reload();\n }\n return;\n }\n case \"serverError\":\n case \"devPagesManifestUpdate\":\n case \"building\":\n case \"finishBuilding\":\n {\n return;\n }\n default:\n {\n throw new Error(\"Unexpected action \" + obj.action);\n }\n }\n });\n return devClient;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-middleware-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvaG90LW1pZGRsZXdhcmUtY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBS0E7OztlQUFBQTs7Ozt3RkFMb0I7dUNBQ1E7QUFFNUIsSUFBSUMsWUFBWTtNQUVoQkQsV0FBZSxDQUFDRTtJQUNkLE1BQU1DLFlBQVlDLENBQUFBLEdBQUFBLG1CQUFBQSxPQUFPLEVBQUNGO0lBRTFCQyxVQUFVRSxtQkFBbUIsQ0FBQyxDQUFDQztRQUM3QixJQUFJTCxXQUFXO1FBQ2Ysd0ZBQXdGO1FBQ3hGLHVIQUF1SDtRQUN2SCxNQUFNTSxnQkFDSkMsT0FBT0MsSUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVEsS0FBSyxVQUNoQ0gsT0FBT0MsSUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVEsS0FBSztRQUVsQyxPQUFRTCxJQUFJTSxNQUFNO1lBQ2hCLEtBQUs7Z0JBQWM7b0JBQ2pCQyxDQUFBQSxHQUFBQSxXQUFBQSxXQUFXLEVBQ1RDLEtBQUtDLFNBQVMsQ0FBQzt3QkFDYkMsT0FBTzt3QkFDUEMsVUFBVVQsT0FBT1UsaUJBQWlCO29CQUNwQztvQkFFRmpCLFlBQVk7b0JBQ1osT0FBT08sT0FBT1csUUFBUSxDQUFDQyxNQUFNO2dCQUMvQjtZQUNBLEtBQUs7Z0JBQWU7b0JBQ2xCLE1BQU0sQ0FBQ0MsS0FBSyxHQUFHZixJQUFJZ0IsSUFBSTtvQkFDdkIsSUFBSUQsU0FBU2IsT0FBT0MsSUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVEsSUFBSUosZUFBZTt3QkFDekRNLENBQUFBLEdBQUFBLFdBQUFBLFdBQVcsRUFDVEMsS0FBS0MsU0FBUyxDQUFDOzRCQUNiQyxPQUFPOzRCQUNQQyxVQUFVVCxPQUFPVSxpQkFBaUI7NEJBQ2xDRzt3QkFDRjt3QkFFRixPQUFPYixPQUFPVyxRQUFRLENBQUNDLE1BQU07b0JBQy9CO29CQUNBO2dCQUNGO1lBQ0EsS0FBSztnQkFBYTtvQkFDaEIsTUFBTSxDQUFDQyxLQUFLLEdBQUdmLElBQUlnQixJQUFJO29CQUN2QixJQUNFRCxTQUFVYixPQUFPQyxJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsUUFBUSxJQUNuQyxPQUFPSCxPQUFPQyxJQUFJLENBQUNDLE1BQU0sQ0FBQ2EsVUFBVSxDQUFDRixLQUFLLEtBQUssZUFDakRkLGVBQ0E7d0JBQ0FNLENBQUFBLEdBQUFBLFdBQUFBLFdBQVcsRUFDVEMsS0FBS0MsU0FBUyxDQUFDOzRCQUNiQyxPQUFPOzRCQUNQQyxVQUFVVCxPQUFPVSxpQkFBaUI7NEJBQ2xDRzt3QkFDRjt3QkFFRixPQUFPYixPQUFPVyxRQUFRLENBQUNDLE1BQU07b0JBQy9CO29CQUNBO2dCQUNGO1lBQ0EsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztnQkFBa0I7b0JBQ3JCO2dCQUNGO1lBQ0E7Z0JBQVM7b0JBQ1AsTUFBTSxJQUFJSSxNQUFNLHVCQUF1QmxCLElBQUlNLE1BQU07Z0JBQ25EO1FBQ0Y7SUFDRjtJQUVBLE9BQU9UO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9jbGllbnQvZGV2L2hvdC1taWRkbGV3YXJlLWNsaWVudC50cz9kYjJkIl0sIm5hbWVzIjpbIl9kZWZhdWx0IiwicmVsb2FkaW5nIiwibW9kZSIsImRldkNsaWVudCIsImNvbm5lY3QiLCJzdWJzY3JpYmVUb0htckV2ZW50Iiwib2JqIiwiaXNPbkVycm9yUGFnZSIsIndpbmRvdyIsIm5leHQiLCJyb3V0ZXIiLCJwYXRobmFtZSIsImFjdGlvbiIsInNlbmRNZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiY2xpZW50SWQiLCJfX25leHREZXZDbGllbnRJZCIsImxvY2F0aW9uIiwicmVsb2FkIiwicGFnZSIsImRhdGEiLCJjb21wb25lbnRzIiwiRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/hot-middleware-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/on-demand-entries-client.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/on-demand-entries-client.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../router */ \"./node_modules/next/dist/client/router.js\"));\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nconst _default = async (page)=>{\n if (page) {\n // in AMP the router isn't initialized on the client and\n // client-transitions don't occur so ping initial page\n setInterval(()=>{\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page\n }));\n }, 2500);\n } else {\n _router.default.ready(()=>{\n setInterval(()=>{\n // when notFound: true is returned we should use the notFoundPage\n // as the Router.pathname will point to the 404 page but we want\n // to ping the source page that returned notFound: true instead\n const notFoundSrcPage = self.__NEXT_DATA__.notFoundSrcPage;\n const pathname = (_router.default.pathname === \"/404\" || _router.default.pathname === \"/_error\") && notFoundSrcPage ? notFoundSrcPage : _router.default.pathname;\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page: pathname\n }));\n }, 2500);\n });\n }\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=on-demand-entries-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBR0E7OztlQUFBQTs7Ozs2RUFIbUI7dUNBQ1M7TUFFNUJBLFdBQWUsT0FBT0M7SUFDcEIsSUFBSUEsTUFBTTtRQUNSLHdEQUF3RDtRQUN4RCxzREFBc0Q7UUFDdERDLFlBQVk7WUFDVkMsQ0FBQUEsR0FBQUEsV0FBQUEsV0FBVyxFQUFDQyxLQUFLQyxTQUFTLENBQUM7Z0JBQUVDLE9BQU87Z0JBQVFMO1lBQUs7UUFDbkQsR0FBRztJQUNMLE9BQU87UUFDTE0sUUFBQUEsT0FBTSxDQUFDQyxLQUFLLENBQUM7WUFDWE4sWUFBWTtnQkFDVixpRUFBaUU7Z0JBQ2pFLGdFQUFnRTtnQkFDaEUsK0RBQStEO2dCQUMvRCxNQUFNTyxrQkFBa0JDLEtBQUtDLGFBQWEsQ0FBQ0YsZUFBZTtnQkFDMUQsTUFBTUcsV0FDSixDQUFDTCxRQUFBQSxPQUFNLENBQUNLLFFBQVEsS0FBSyxVQUFVTCxRQUFBQSxPQUFNLENBQUNLLFFBQVEsS0FBSyxjQUNuREgsa0JBQ0lBLGtCQUNBRixRQUFBQSxPQUFNLENBQUNLLFFBQVE7Z0JBRXJCVCxDQUFBQSxHQUFBQSxXQUFBQSxXQUFXLEVBQUNDLEtBQUtDLFNBQVMsQ0FBQztvQkFBRUMsT0FBTztvQkFBUUwsTUFBTVc7Z0JBQVM7WUFDN0QsR0FBRztRQUNMO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LnRzP2UwNDUiXSwibmFtZXMiOlsiX2RlZmF1bHQiLCJwYWdlIiwic2V0SW50ZXJ2YWwiLCJzZW5kTWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJldmVudCIsIlJvdXRlciIsInJlYWR5Iiwibm90Rm91bmRTcmNQYWdlIiwic2VsZiIsIl9fTkVYVF9EQVRBX18iLCJwYXRobmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/on-demand-entries-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/has-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/has-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasBasePath\", ({\n enumerable: true,\n get: function() {\n return hasBasePath;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst basePath = false || \"\";\nfunction hasBasePath(path) {\n return (0, _pathhasprefix.pathHasPrefix)(path, basePath);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBSWdCQTs7O2VBQUFBOzs7MkNBSmM7QUFFOUIsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZO0lBQ3RDLE9BQU9DLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ0QsTUFBTUo7QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaGFzLWJhc2UtcGF0aC50cz9hMzEyIl0sIm5hbWVzIjpbImhhc0Jhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJwYXRoSGFzUHJlZml4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/has-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/head-manager.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/head-manager.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DOMAttributeNames: function() {\n return DOMAttributeNames;\n },\n default: function() {\n return initHeadManager;\n },\n isEqualNode: function() {\n return isEqualNode;\n }\n});\nconst DOMAttributeNames = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\",\n noModule: \"noModule\"\n};\nfunction reactElementToDOM(param) {\n let { type, props } = param;\n const el = document.createElement(type);\n for(const p in props){\n if (!props.hasOwnProperty(p)) continue;\n if (p === \"children\" || p === \"dangerouslySetInnerHTML\") continue;\n // we don't render undefined props to the DOM\n if (props[p] === undefined) continue;\n const attr = DOMAttributeNames[p] || p.toLowerCase();\n if (type === \"script\" && (attr === \"async\" || attr === \"defer\" || attr === \"noModule\")) {\n el[attr] = !!props[p];\n } else {\n el.setAttribute(attr, props[p]);\n }\n }\n const { children, dangerouslySetInnerHTML } = props;\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return el;\n}\nfunction isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(\"nonce\");\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(\"nonce\")) {\n const cloneTag = newTag.cloneNode(true);\n cloneTag.setAttribute(\"nonce\", \"\");\n cloneTag.nonce = nonce;\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag);\n }\n }\n return oldTag.isEqualNode(newTag);\n}\nlet updateElements;\nif (false) {} else {\n updateElements = (type, components)=>{\n const headEl = document.getElementsByTagName(\"head\")[0];\n const headCountEl = headEl.querySelector(\"meta[name=next-head-count]\");\n if (true) {\n if (!headCountEl) {\n console.error(\"Warning: next-head-count is missing. https://nextjs.org/docs/messages/next-head-count-missing\");\n return;\n }\n }\n const headCount = Number(headCountEl.content);\n const oldTags = [];\n for(let i = 0, j = headCountEl.previousElementSibling; i < headCount; i++, j = (j == null ? void 0 : j.previousElementSibling) || null){\n var _j_tagName;\n if ((j == null ? void 0 : (_j_tagName = j.tagName) == null ? void 0 : _j_tagName.toLowerCase()) === type) {\n oldTags.push(j);\n }\n }\n const newTags = components.map(reactElementToDOM).filter((newTag)=>{\n for(let k = 0, len = oldTags.length; k < len; k++){\n const oldTag = oldTags[k];\n if (isEqualNode(oldTag, newTag)) {\n oldTags.splice(k, 1);\n return false;\n }\n }\n return true;\n });\n oldTags.forEach((t)=>{\n var _t_parentNode;\n return (_t_parentNode = t.parentNode) == null ? void 0 : _t_parentNode.removeChild(t);\n });\n newTags.forEach((t)=>headEl.insertBefore(t, headCountEl));\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString();\n };\n}\nfunction initHeadManager() {\n return {\n mountedInstances: new Set(),\n updateHead: (head)=>{\n const tags = {};\n head.forEach((h)=>{\n if (// it won't be inlined. In this case revert to the original behavior\n h.type === \"link\" && h.props[\"data-optimized-fonts\"]) {\n if (document.querySelector('style[data-href=\"' + h.props[\"data-href\"] + '\"]')) {\n return;\n } else {\n h.props.href = h.props[\"data-href\"];\n h.props[\"data-href\"] = undefined;\n }\n }\n const components = tags[h.type] || [];\n components.push(h);\n tags[h.type] = components;\n });\n const titleComponent = tags.title ? tags.title[0] : null;\n let title = \"\";\n if (titleComponent) {\n const { children } = titleComponent.props;\n title = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n if (title !== document.title) document.title = title;\n [\n \"meta\",\n \"base\",\n \"link\",\n \"style\",\n \"script\"\n ].forEach((type)=>{\n updateElements(type, tags[type] || []);\n });\n }\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head-manager.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oZWFkLW1hbmFnZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLG1CQUFpQjtlQUFqQkE7O0lBbUxiQyxTQWdEQztlQWhEdUJDOztJQTNIUkMsYUFBVztlQUFYQTs7O0FBeERULE1BQU1ILG9CQUE0QztJQUN2REksZUFBZTtJQUNmQyxXQUFXO0lBQ1hDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxVQUFVO0FBQ1o7QUFFQSxTQUFTQyxrQkFBa0JDLEtBQTRCO0lBQTVCLE1BQUVDLElBQUksRUFBRUMsS0FBSyxFQUFlLEdBQTVCRjtJQUN6QixNQUFNRyxLQUFrQkMsU0FBU0MsYUFBYSxDQUFDSjtJQUMvQyxJQUFLLE1BQU1LLEtBQUtKLE1BQU87UUFDckIsSUFBSSxDQUFDQSxNQUFNSyxjQUFjLENBQUNELElBQUk7UUFDOUIsSUFBSUEsTUFBTSxjQUFjQSxNQUFNLDJCQUEyQjtRQUV6RCw2Q0FBNkM7UUFDN0MsSUFBSUosS0FBSyxDQUFDSSxFQUFFLEtBQUtFLFdBQVc7UUFFNUIsTUFBTUMsT0FBT25CLGlCQUFpQixDQUFDZ0IsRUFBRSxJQUFJQSxFQUFFSSxXQUFXO1FBQ2xELElBQ0VULFNBQVMsWUFDUlEsQ0FBQUEsU0FBUyxXQUFXQSxTQUFTLFdBQVdBLFNBQVMsYUFDbEQ7WUFDRU4sRUFBd0IsQ0FBQ00sS0FBSyxHQUFHLENBQUMsQ0FBQ1AsS0FBSyxDQUFDSSxFQUFFO1FBQy9DLE9BQU87WUFDTEgsR0FBR1EsWUFBWSxDQUFDRixNQUFNUCxLQUFLLENBQUNJLEVBQUU7UUFDaEM7SUFDRjtJQUVBLE1BQU0sRUFBRU0sUUFBUSxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHWDtJQUM5QyxJQUFJVyx5QkFBeUI7UUFDM0JWLEdBQUdXLFNBQVMsR0FBR0Qsd0JBQXdCRSxNQUFNLElBQUk7SUFDbkQsT0FBTyxJQUFJSCxVQUFVO1FBQ25CVCxHQUFHYSxXQUFXLEdBQ1osT0FBT0osYUFBYSxXQUNoQkEs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Q0YsT0FBTzt3QkFDTHlFLEVBQUV6RSxLQUFLLENBQUMwRSxJQUFJLEdBQUdELEVBQUV6RSxLQUFLLENBQUMsWUFBWTt3QkFDbkN5RSxFQUFFekUsS0FBSyxDQUFDLFlBQVksR0FBR007b0JBQ3pCO2dCQUNGO2dCQUVBLE1BQU11QixhQUFhMkMsSUFBSSxDQUFDQyxFQUFFMUUsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDckM4QixXQUFXTyxJQUFJLENBQUNxQztnQkFDaEJELElBQUksQ0FBQ0MsRUFBRTFFLElBQUksQ0FBQyxHQUFHOEI7WUFDakI7WUFFQSxNQUFNOEMsaUJBQWlCSCxLQUFLSSxLQUFLLEdBQUdKLEtBQUtJLEtBQUssQ0FBQyxFQUFFLEdBQUc7WUFDcEQsSUFBSUEsUUFBUTtZQUNaLElBQUlELGdCQUFnQjtnQkFDbEIsTUFBTSxFQUFFakUsUUFBUSxFQUFFLEdBQUdpRSxlQUFlM0UsS0FBSztnQkFDekM0RSxRQUNFLE9BQU9sRSxhQUFhLFdBQ2hCQSxXQUNBSyxNQUFNQyxPQUFPLENBQUNOLFlBQ2RBLFNBQVNPLElBQUksQ0FBQyxNQUNkO1lBQ1I7WUFDQSxJQUFJMkQsVUFBVTFFLFNBQVMwRSxLQUFLLEVBQUUxRSxTQUFTMEUsS0FBSyxHQUFHQTtZQUM5QztnQkFBQztnQkFBUTtnQkFBUTtnQkFBUTtnQkFBUzthQUFTLENBQUMzQixPQUFPLENBQUMsQ0FBQ2xEO2dCQUNwRDBCLGVBQWUxQixNQUFNeUUsSUFBSSxDQUFDekUsS0FBSyxJQUFJLEVBQUU7WUFDdkM7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaGVhZC1tYW5hZ2VyLnRzPzcxMDkiXSwibmFtZXMiOlsiRE9NQXR0cmlidXRlTmFtZXMiLCJkZWZhdWx0IiwiaW5pdEhlYWRNYW5hZ2VyIiwiaXNFcXVhbE5vZGUiLCJhY2NlcHRDaGFyc2V0IiwiY2xhc3NOYW1lIiwiaHRtbEZvciIsImh0dHBFcXVpdiIsIm5vTW9kdWxlIiwicmVhY3RFbGVtZW50VG9ET00iLCJwYXJhbSIsInR5cGUiLCJwcm9wcyIsImVsIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwicCIsImhhc093blByb3BlcnR5IiwidW5kZWZpbmVkIiwiYXR0ciIsInRvTG93ZXJDYXNlIiwic2V0QXR0cmlidXRlIiwiY2hpbGRyZW4iLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImlubmVySFRNTCIsIl9faHRtbCIsInRleHRDb250ZW50IiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsIm9sZFRhZyIsIm5ld1RhZyIsIkhUTUxFbGVtZW50Iiwibm9uY2UiLCJnZXRBdHRyaWJ1dGUiLCJjbG9uZVRhZyIsImNsb25lTm9kZSIsInVwZGF0ZUVsZW1lbnRzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9TVFJJQ1RfTkVYVF9IRUFEIiwiY29tcG9uZW50cyIsImhlYWRFbCIsInF1ZXJ5U2VsZWN0b3IiLCJoZWFkTWV0YVRhZ3MiLCJxdWVyeVNlbGVjdG9yQWxsIiwib2xkVGFncyIsIm1ldGFDaGFyc2V0IiwicHVzaCIsImkiLCJsZW5ndGgiLCJoZWFkVGFnIiwibWV0YVRhZyIsIm5leHRTaWJsaW5nIiwidGFnTmFtZSIsIm5ld1RhZ3MiLCJtYXAiLCJmaWx0ZXIiLCJrIiwibGVuIiwic3BsaWNlIiwiZm9yRWFjaCIsInQiLCJwcmV2aW91c1NpYmxpbmciLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJtZXRhIiwibmFtZSIsImNvbnRlbnQiLCJhcHBlbmRDaGlsZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaGVhZENvdW50RWwiLCJjb25zb2xlIiwiZXJyb3IiLCJoZWFkQ291bnQiLCJOdW1iZXIiLCJqIiwicHJldmlvdXNFbGVtZW50U2libGluZyIsImluc2VydEJlZm9yZSIsInRvU3RyaW5nIiwibW91bnRlZEluc3RhbmNlcyIsIlNldCIsInVwZGF0ZUhlYWQiLCJoZWFkIiwidGFncyIsImgiLCJocmVmIiwidGl0bGVDb21wb25lbnQiLCJ0aXRsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/head-manager.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/index.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/client/index.js ***! - \************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* global location */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nvar _s = $RefreshSig$(), _s1 = $RefreshSig$(), _s2 = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n emitter: function() {\n return emitter;\n },\n hydrate: function() {\n return hydrate;\n },\n initialize: function() {\n return initialize;\n },\n router: function() {\n return router;\n },\n version: function() {\n return version;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n__webpack_require__(/*! ../build/polyfills/polyfill-module */ \"./node_modules/next/dist/build/polyfills/polyfill-module.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _client = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\"));\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ../shared/lib/head-manager-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _mitt = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/mitt */ \"./node_modules/next/dist/shared/lib/mitt.js\"));\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../shared/lib/router/utils/handle-smooth-scroll */ \"./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _isdynamic = __webpack_require__(/*! ../shared/lib/router/utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _runtimeconfigexternal = __webpack_require__(/*! ../shared/lib/runtime-config.external */ \"./node_modules/next/dist/shared/lib/runtime-config.external.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _portal = __webpack_require__(/*! ./portal */ \"./node_modules/next/dist/client/portal/index.js\");\nconst _headmanager = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./head-manager */ \"./node_modules/next/dist/client/head-manager.js\"));\nconst _pageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./page-loader */ \"./node_modules/next/dist/client/page-loader.js\"));\nconst _performancerelayer = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./performance-relayer */ \"./node_modules/next/dist/client/performance-relayer.js\" // TODO: remove in the next major version\n));\nconst _routeannouncer = __webpack_require__(/*! ./route-announcer */ \"./node_modules/next/dist/client/route-announcer.js\");\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nconst _iserror = __webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\");\nconst _removebasepath = __webpack_require__(/*! ./remove-base-path */ \"./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _adapters = __webpack_require__(/*! ../shared/lib/router/adapters */ \"./node_modules/next/dist/shared/lib/router/adapters.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../shared/lib/hooks-client-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\");\nconst _onrecoverableerror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./on-recoverable-error */ \"./node_modules/next/dist/client/on-recoverable-error.js\"));\nconst _tracer = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./tracing/tracer */ \"./node_modules/next/dist/client/tracing/tracer.js\"));\nconst _reporttosocket = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./tracing/report-to-socket */ \"./node_modules/next/dist/client/tracing/report-to-socket.js\"));\nconst version = \"14.2.3\";\nlet router;\nconst emitter = (0, _mitt.default)();\nconst looseToArray = (input)=>[].slice.call(input);\nlet initialData;\nlet defaultLocale = undefined;\nlet asPath;\nlet pageLoader;\nlet appElement;\nlet headManager;\nlet initialMatchesMiddleware = false;\nlet lastAppProps;\nlet lastRenderReject;\nlet devClient;\nlet CachedApp, onPerfEntry;\nlet CachedComponent;\nclass Container extends _react.default.Component {\n componentDidCatch(componentErr, info) {\n this.props.fn(componentErr, info);\n }\n componentDidMount() {\n this.scrollToHash();\n // We need to replace the router state if:\n // - the page was (auto) exported and has a query string or search (hash)\n // - it was auto exported and is a dynamic route (to provide params)\n // - if it is a client-side skeleton (fallback render)\n // - if middleware matches the current page (may have rewrite params)\n // - if rewrites in next.config.js match (may have rewrite params)\n if (router.isSsr && (initialData.isFallback || initialData.nextExport && ((0, _isdynamic.isDynamicRoute)(router.pathname) || location.search || false || initialMatchesMiddleware) || initialData.props && initialData.props.__N_SSG && (location.search || false || initialMatchesMiddleware))) {\n // update query on mount for exported pages\n router.replace(router.pathname + \"?\" + String((0, _querystring.assign)((0, _querystring.urlQueryToSearchParams)(router.query), new URLSearchParams(location.search))), asPath, {\n // @ts-ignore\n // WARNING: `_h` is an internal option for handing Next.js\n // client-side hydration. Your app should _never_ use this property.\n // It may change at any time without notice.\n _h: 1,\n // Fallback pages must trigger the data fetch, so the transition is\n // not shallow.\n // Other pages (strictly updating query) happens shallowly, as data\n // requirements would already be present.\n shallow: !initialData.isFallback && !initialMatchesMiddleware\n }).catch((err)=>{\n if (!err.cancelled) throw err;\n });\n }\n }\n componentDidUpdate() {\n this.scrollToHash();\n }\n scrollToHash() {\n let { hash } = location;\n hash = hash && hash.substring(1);\n if (!hash) return;\n const el = document.getElementById(hash);\n if (!el) return;\n // If we call scrollIntoView() in here without a setTimeout\n // it won't scroll properly.\n setTimeout(()=>el.scrollIntoView(), 0);\n }\n render() {\n if (false) {} else {\n const ReactDevOverlay = (__webpack_require__(/*! ./components/react-dev-overlay/pages/client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js\").ReactDevOverlay);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ReactDevOverlay, {\n children: this.props.children\n });\n }\n }\n}\nasync function initialize(opts) {\n if (opts === void 0) opts = {};\n _tracer.default.onSpanEnd(_reporttosocket.default);\n // This makes sure this specific lines are removed in production\n if (true) {\n devClient = opts.devClient;\n }\n initialData = JSON.parse(document.getElementById(\"__NEXT_DATA__\").textContent);\n window.__NEXT_DATA__ = initialData;\n defaultLocale = initialData.defaultLocale;\n const prefix = initialData.assetPrefix || \"\";\n self.__next_set_public_path__(\"\" + prefix + \"/_next/\") //eslint-disable-line\n ;\n // Initialize next/config with the environment configuration\n (0, _runtimeconfigexternal.setConfig)({\n serverRuntimeConfig: {},\n publicRuntimeConfig: initialData.runtimeConfig || {}\n });\n asPath = (0, _utils.getURL)();\n // make sure not to attempt stripping basePath for 404s\n if ((0, _hasbasepath.hasBasePath)(asPath)) {\n asPath = (0, _removebasepath.removeBasePath)(asPath);\n }\n if (false) {}\n if (initialData.scriptLoader) {\n const { initScriptLoader } = __webpack_require__(/*! ./script */ \"./node_modules/next/dist/client/script.js\");\n initScriptLoader(initialData.scriptLoader);\n }\n pageLoader = new _pageloader.default(initialData.buildId, prefix);\n const register = (param)=>{\n let [r, f] = param;\n return pageLoader.routeLoader.onEntrypoint(r, f);\n };\n if (window.__NEXT_P) {\n // Defer page registration for another tick. This will increase the overall\n // latency in hydrating the page, but reduce the total blocking time.\n window.__NEXT_P.map((p)=>setTimeout(()=>register(p), 0));\n }\n window.__NEXT_P = [];\n window.__NEXT_P.push = register;\n headManager = (0, _headmanager.default)();\n headManager.getIsSsr = ()=>{\n return router.isSsr;\n };\n appElement = document.getElementById(\"__next\");\n return {\n assetPrefix: prefix\n };\n}\nfunction renderApp(App, appProps) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {\n ...appProps\n });\n}\nfunction AppContainer(param) {\n _s();\n let { children } = param;\n // Create a memoized value for next/navigation router context.\n const adaptedForAppRouter = _react.default.useMemo(()=>{\n return (0, _adapters.adaptForAppRouterInstance)(router);\n }, []);\n var _self___NEXT_DATA___autoExport;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Container, {\n fn: (error)=>// eslint-disable-next-line @typescript-eslint/no-use-before-define\n renderError({\n App: CachedApp,\n err: error\n }).catch((err)=>console.error(\"Error rendering page: \", err)),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: adaptedForAppRouter,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: (0, _adapters.adaptForSearchParams)(router),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_adapters.PathnameContextProviderAdapter, {\n router: router,\n isAutoExport: (_self___NEXT_DATA___autoExport = self.__NEXT_DATA__.autoExport) != null ? _self___NEXT_DATA___autoExport : false,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, {\n value: (0, _adapters.adaptForPathParams)(router),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_routercontextsharedruntime.RouterContext.Provider, {\n value: (0, _router.makePublicRouterInstance)(router),\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_headmanagercontextsharedruntime.HeadManagerContext.Provider, {\n value: headManager,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_imageconfigcontextsharedruntime.ImageConfigContext.Provider, {\n value: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]},\n children: children\n })\n })\n })\n })\n })\n })\n })\n });\n}\n_s(AppContainer, \"F6BSfrFQNeqenuPnUMVY/6gI8uE=\");\n_c = AppContainer;\nconst wrapApp = (App)=>(wrappedAppProps)=>{\n const appProps = {\n ...wrappedAppProps,\n Component: CachedComponent,\n err: initialData.err,\n router\n };\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(AppContainer, {\n children: renderApp(App, appProps)\n });\n };\n// This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\nfunction renderError(renderErrorProps) {\n let { App, err } = renderErrorProps;\n // In development runtime errors are caught by our overlay\n // In production we catch runtime errors using componentDidCatch which will trigger renderError\n if (true) {\n // A Next.js rendering runtime error is always unrecoverable\n // FIXME: let's make this recoverable (error in GIP client-transition)\n devClient.onUnrecoverableError();\n // We need to render an empty <App> so that the `<ReactDevOverlay>` can\n // render itself.\n // TODO: Fix disabled eslint rule\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return doRender({\n App: ()=>null,\n props: {},\n Component: ()=>null,\n styleSheets: []\n });\n }\n // Make sure we log the error to the console, otherwise users can't track down issues.\n console.error(err);\n console.error(\"A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred\");\n return pageLoader.loadPage(\"/_error\").then((param)=>{\n let { page: ErrorComponent, styleSheets } = param;\n return (lastAppProps == null ? void 0 : lastAppProps.Component) === ErrorComponent ? Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../pages/_error */ \"./node_modules/next/dist/pages/_error.js\"))).then((errorModule)=>{\n return Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../pages/_app */ \"./node_modules/next/dist/pages/_app.js\"))).then((appModule)=>{\n App = appModule.default;\n renderErrorProps.App = App;\n return errorModule;\n });\n }).then((m)=>({\n ErrorComponent: m.default,\n styleSheets: []\n })) : {\n ErrorComponent,\n styleSheets\n };\n }).then((param)=>{\n let { ErrorComponent, styleSheets } = param;\n var _renderErrorProps_props;\n // In production we do a normal render with the `ErrorComponent` as component.\n // If we've gotten here upon initial render, we can use the props from the server.\n // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n const AppTree = wrapApp(App);\n const appCtx = {\n Component: ErrorComponent,\n AppTree,\n router,\n ctx: {\n err,\n pathname: initialData.page,\n query: initialData.query,\n asPath,\n AppTree\n }\n };\n return Promise.resolve(((_renderErrorProps_props = renderErrorProps.props) == null ? void 0 : _renderErrorProps_props.err) ? renderErrorProps.props : (0, _utils.loadGetInitialProps)(App, appCtx)).then((initProps)=>// eslint-disable-next-line @typescript-eslint/no-use-before-define\n doRender({\n ...renderErrorProps,\n err,\n Component: ErrorComponent,\n styleSheets,\n props: initProps\n }));\n });\n}\n// Dummy component that we render as a child of Root so that we can\n// toggle the correct styles before the page is rendered.\nfunction Head(param) {\n _s1();\n let { callback } = param;\n // We use `useLayoutEffect` to guarantee the callback is executed\n // as soon as React flushes the update.\n _react.default.useLayoutEffect(()=>callback(), [\n callback\n ]);\n return null;\n}\n_s1(Head, \"n7/vCynhJvM+pLkyL2DMQUF0odM=\");\n_c1 = Head;\nconst performanceMarks = {\n navigationStart: \"navigationStart\",\n beforeRender: \"beforeRender\",\n afterRender: \"afterRender\",\n afterHydrate: \"afterHydrate\",\n routeChange: \"routeChange\"\n};\nconst performanceMeasures = {\n hydration: \"Next.js-hydration\",\n beforeHydration: \"Next.js-before-hydration\",\n routeChangeToRender: \"Next.js-route-change-to-render\",\n render: \"Next.js-render\"\n};\nlet reactRoot = null;\n// On initial render a hydrate should always happen\nlet shouldHydrate = true;\nfunction clearMarks() {\n [\n performanceMarks.beforeRender,\n performanceMarks.afterHydrate,\n performanceMarks.afterRender,\n performanceMarks.routeChange\n ].forEach((mark)=>performance.clearMarks(mark));\n}\nfunction markHydrateComplete() {\n if (!_utils.ST) return;\n performance.mark(performanceMarks.afterHydrate) // mark end of hydration\n ;\n const hasBeforeRenderMark = performance.getEntriesByName(performanceMarks.beforeRender, \"mark\").length;\n if (hasBeforeRenderMark) {\n const beforeHydrationMeasure = performance.measure(performanceMeasures.beforeHydration, performanceMarks.navigationStart, performanceMarks.beforeRender);\n const hydrationMeasure = performance.measure(performanceMeasures.hydration, performanceMarks.beforeRender, performanceMarks.afterHydrate);\n if ( true && // Old versions of Safari don't return `PerformanceMeasure`s from `performance.measure()`\n beforeHydrationMeasure !== undefined && hydrationMeasure !== undefined) {\n _tracer.default.startSpan(\"navigation-to-hydration\", {\n startTime: performance.timeOrigin + beforeHydrationMeasure.startTime,\n attributes: {\n pathname: location.pathname,\n query: location.search\n }\n }).end(performance.timeOrigin + hydrationMeasure.startTime + hydrationMeasure.duration);\n }\n }\n if (onPerfEntry) {\n performance.getEntriesByName(performanceMeasures.hydration).forEach(onPerfEntry);\n }\n clearMarks();\n}\nfunction markRenderComplete() {\n if (!_utils.ST) return;\n performance.mark(performanceMarks.afterRender) // mark end of render\n ;\n const navStartEntries = performance.getEntriesByName(performanceMarks.routeChange, \"mark\");\n if (!navStartEntries.length) return;\n const hasBeforeRenderMark = performance.getEntriesByName(performanceMarks.beforeRender, \"mark\").length;\n if (hasBeforeRenderMark) {\n performance.measure(performanceMeasures.routeChangeToRender, navStartEntries[0].name, performanceMarks.beforeRender);\n performance.measure(performanceMeasures.render, performanceMarks.beforeRender, performanceMarks.afterRender);\n if (onPerfEntry) {\n performance.getEntriesByName(performanceMeasures.render).forEach(onPerfEntry);\n performance.getEntriesByName(performanceMeasures.routeChangeToRender).forEach(onPerfEntry);\n }\n }\n clearMarks();\n [\n performanceMeasures.routeChangeToRender,\n performanceMeasures.render\n ].forEach((measure)=>performance.clearMeasures(measure));\n}\nfunction renderReactElement(domEl, fn) {\n // mark start of hydrate/render\n if (_utils.ST) {\n performance.mark(performanceMarks.beforeRender);\n }\n const reactEl = fn(shouldHydrate ? markHydrateComplete : markRenderComplete);\n if (!reactRoot) {\n // Unlike with createRoot, you don't need a separate root.render() call here\n reactRoot = _client.default.hydrateRoot(domEl, reactEl, {\n onRecoverableError: _onrecoverableerror.default\n });\n // TODO: Remove shouldHydrate variable when React 18 is stable as it can depend on `reactRoot` existing\n shouldHydrate = false;\n } else {\n const startTransition = _react.default.startTransition;\n startTransition(()=>{\n reactRoot.render(reactEl);\n });\n }\n}\nfunction Root(param) {\n _s2();\n let { callbacks, children } = param;\n // We use `useLayoutEffect` to guarantee the callbacks are executed\n // as soon as React flushes the update\n _react.default.useLayoutEffect(()=>callbacks.forEach((callback)=>callback()), [\n callbacks\n ]);\n // TODO: remove in the next major version\n // We should ask to measure the Web Vitals after rendering completes so we\n // don't cause any hydration delay:\n _react.default.useEffect(()=>{\n (0, _performancerelayer.default)(onPerfEntry);\n }, []);\n if (false) {}\n return children;\n}\n_s2(Root, \"Gjgl5rfcc2T4sFnfEMfRvL6K4Q4=\");\n_c2 = Root;\nfunction doRender(input) {\n let { App, Component, props, err } = input;\n let styleSheets = \"initial\" in input ? undefined : input.styleSheets;\n Component = Component || lastAppProps.Component;\n props = props || lastAppProps.props;\n const appProps = {\n ...props,\n Component,\n err,\n router\n };\n // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n lastAppProps = appProps;\n let canceled = false;\n let resolvePromise;\n const renderPromise = new Promise((resolve, reject)=>{\n if (lastRenderReject) {\n lastRenderReject();\n }\n resolvePromise = ()=>{\n lastRenderReject = null;\n resolve();\n };\n lastRenderReject = ()=>{\n canceled = true;\n lastRenderReject = null;\n const error = new Error(\"Cancel rendering route\");\n error.cancelled = true;\n reject(error);\n };\n });\n // This function has a return type to ensure it doesn't start returning a\n // Promise. It should remain synchronous.\n function onStart() {\n if (!styleSheets || // We use `style-loader` in development, so we don't need to do anything\n // unless we're in production:\n \"development\" !== \"production\") {\n return false;\n }\n const currentStyleTags = looseToArray(document.querySelectorAll(\"style[data-n-href]\"));\n const currentHrefs = new Set(currentStyleTags.map((tag)=>tag.getAttribute(\"data-n-href\")));\n const noscript = document.querySelector(\"noscript[data-n-css]\");\n const nonce = noscript == null ? void 0 : noscript.getAttribute(\"data-n-css\");\n styleSheets.forEach((param)=>{\n let { href, text } = param;\n if (!currentHrefs.has(href)) {\n const styleTag = document.createElement(\"style\");\n styleTag.setAttribute(\"data-n-href\", href);\n styleTag.setAttribute(\"media\", \"x\");\n if (nonce) {\n styleTag.setAttribute(\"nonce\", nonce);\n }\n document.head.appendChild(styleTag);\n styleTag.appendChild(document.createTextNode(text));\n }\n });\n return true;\n }\n function onHeadCommit() {\n if (// unless we're in production:\n false) {}\n if (input.scroll) {\n const { x, y } = input.scroll;\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n window.scrollTo(x, y);\n });\n }\n }\n function onRootCommit() {\n resolvePromise();\n }\n onStart();\n const elem = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {\n callback: onHeadCommit\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(AppContainer, {\n children: [\n renderApp(App, appProps),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_portal.Portal, {\n type: \"next-route-announcer\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_routeannouncer.RouteAnnouncer, {})\n })\n ]\n })\n ]\n });\n // We catch runtime errors using componentDidCatch which will trigger renderError\n renderReactElement(appElement, (callback)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(Root, {\n callbacks: [\n callback,\n onRootCommit\n ],\n children: false ? /*#__PURE__*/ 0 : elem\n }));\n return renderPromise;\n}\nasync function render(renderingProps) {\n // if an error occurs in a server-side page (e.g. in getInitialProps),\n // skip re-rendering the error page client-side as data-fetching operations\n // will already have been done on the server and NEXT_DATA contains the correct\n // data for straight-forward hydration of the error page\n if (renderingProps.err && // renderingProps.Component might be undefined if there is a top/module-level error\n (typeof renderingProps.Component === \"undefined\" || !renderingProps.isHydratePass)) {\n await renderError(renderingProps);\n return;\n }\n try {\n await doRender(renderingProps);\n } catch (err) {\n const renderErr = (0, _iserror.getProperError)(err);\n // bubble up cancelation errors\n if (renderErr.cancelled) {\n throw renderErr;\n }\n if (true) {\n // Ensure this error is displayed in the overlay in development\n setTimeout(()=>{\n throw renderErr;\n });\n }\n await renderError({\n ...renderingProps,\n err: renderErr\n });\n }\n}\nasync function hydrate(opts) {\n let initialErr = initialData.err;\n try {\n const appEntrypoint = await pageLoader.routeLoader.whenEntrypoint(\"/_app\");\n if (\"error\" in appEntrypoint) {\n throw appEntrypoint.error;\n }\n const { component: app, exports: mod } = appEntrypoint;\n CachedApp = app;\n if (mod && mod.reportWebVitals) {\n onPerfEntry = (param)=>{\n let { id, name, startTime, value, duration, entryType, entries, attribution } = param;\n // Combines timestamp with random number for unique ID\n const uniqueID = Date.now() + \"-\" + (Math.floor(Math.random() * (9e12 - 1)) + 1e12);\n let perfStartEntry;\n if (entries && entries.length) {\n perfStartEntry = entries[0].startTime;\n }\n const webVitals = {\n id: id || uniqueID,\n name,\n startTime: startTime || perfStartEntry,\n value: value == null ? duration : value,\n label: entryType === \"mark\" || entryType === \"measure\" ? \"custom\" : \"web-vital\"\n };\n if (attribution) {\n webVitals.attribution = attribution;\n }\n mod.reportWebVitals(webVitals);\n };\n }\n const pageEntrypoint = // error, so we need to skip waiting for the entrypoint.\n true && initialData.err ? {\n error: initialData.err\n } : await pageLoader.routeLoader.whenEntrypoint(initialData.page);\n if (\"error\" in pageEntrypoint) {\n throw pageEntrypoint.error;\n }\n CachedComponent = pageEntrypoint.component;\n if (true) {\n const { isValidElementType } = __webpack_require__(/*! next/dist/compiled/react-is */ \"./node_modules/next/dist/compiled/react-is/index.js\");\n if (!isValidElementType(CachedComponent)) {\n throw new Error('The default export is not a React Component in page: \"' + initialData.page + '\"');\n }\n }\n } catch (error) {\n // This catches errors like throwing in the top level of a module\n initialErr = (0, _iserror.getProperError)(error);\n }\n if (true) {\n const getServerError = (__webpack_require__(/*! ./components/react-dev-overlay/pages/client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/client.js\").getServerError);\n // Server-side runtime errors need to be re-thrown on the client-side so\n // that the overlay is rendered.\n if (initialErr) {\n if (initialErr === initialData.err) {\n setTimeout(()=>{\n let error;\n try {\n // Generate a new error object. We `throw` it because some browsers\n // will set the `stack` when thrown, and we want to ensure ours is\n // not overridden when we re-throw it below.\n throw new Error(initialErr.message);\n } catch (e) {\n error = e;\n }\n error.name = initialErr.name;\n error.stack = initialErr.stack;\n throw getServerError(error, initialErr.source);\n });\n } else {\n setTimeout(()=>{\n throw initialErr;\n });\n }\n }\n }\n if (window.__NEXT_PRELOADREADY) {\n await window.__NEXT_PRELOADREADY(initialData.dynamicIds);\n }\n router = (0, _router.createRouter)(initialData.page, initialData.query, asPath, {\n initialProps: initialData.props,\n pageLoader,\n App: CachedApp,\n Component: CachedComponent,\n wrapApp,\n err: initialErr,\n isFallback: Boolean(initialData.isFallback),\n subscription: (info, App, scroll)=>render(Object.assign({}, info, {\n App,\n scroll\n })),\n locale: initialData.locale,\n locales: initialData.locales,\n defaultLocale,\n domainLocales: initialData.domainLocales,\n isPreview: initialData.isPreview\n });\n initialMatchesMiddleware = await router._initialMatchesMiddlewarePromise;\n const renderCtx = {\n App: CachedApp,\n initial: true,\n Component: CachedComponent,\n props: initialData.props,\n err: initialErr,\n isHydratePass: true\n };\n if (opts == null ? void 0 : opts.beforeRender) {\n await opts.beforeRender();\n }\n render(renderCtx);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"AppContainer\");\n$RefreshReg$(_c1, \"Head\");\n$RefreshReg$(_c2, \"Root\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxtQkFBbUI7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7SUEyRU5BLFNBQU87ZUFBUEE7O0lBOHZCU0MsU0FBTztlQUFQQTs7SUE3b0JBQyxZQUFVO2VBQVZBOztJQWxIWEMsUUFBTTtlQUFOQTs7SUFERUMsU0FBTztlQUFQQTs7Ozs7b0JBeEVOOzRFQVNXOzZFQUNHOzZEQUNjOzJFQUNsQjt3REFFYTtnREFDSzt1Q0FDSjt5Q0FJeEI7bURBQ21CO21DQUNzQjtvQ0FFekI7a0ZBQ0s7aUZBQ0w7eUZBRU0sc0ZBQXdCLHlDQUF5Qzs7NENBQy9EO29DQUN3QjtxQ0FDeEI7NkRBQ0k7NENBRUo7eUNBQ0g7MkRBQ0s7c0NBTTFCOzZEQUlBO3lGQUN3Qjs2RUFDWjtxRkFDUTtBQXVCcEIsTUFBTUEsVUFBVUM7QUFDaEIsSUFBSUY7QUFDSixNQUFNSCxVQUErQk0sQ0FBQUEsR0FBQUEsTUFBQUEsT0FBSTtBQUVoRCxNQUFNQyxlQUFlLENBQWVDLFFBQW9CLEVBQUUsQ0FBQ0MsS0FBSyxDQUFDQyxJQUFJLENBQUNGO0FBRXRFLElBQUlHO0FBQ0osSUFBSUMsZ0JBQW9DQztBQUN4QyxJQUFJQztBQUNKLElBQUlDO0FBQ0osSUFBSUM7QUFDSixJQUFJQztBQUtKLElBQUlDLDJCQUEyQjtBQUMvQixJQUFJQztBQUVKLElBQUlDO0FBQ0osSUFBSUM7QUFFSixJQUFJQyxXQUF5QkM7QUFDN0IsSUFBSUM7QUFFSixNQUFNQyxrQkFBa0JDLE9BQUFBLE9BQUssQ0FBQ0MsU0FBUztJQUlyQ0Msa0JBQWtCQyxZQUFtQixFQUFFQyxJQUFTLEVBQUU7UUFDaEQsSUFBSSxDQUFDQyxLQUFLLENBQUNDLEVBQUUsQ0FBQ0gsY0FBY0M7SUFDOUI7SUFFQUcsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQ0MsWUFBWTtRQUVqQiwwQ0FBMEM7UUFDMUMseUVBQXlFO1FBQ3pFLG9FQUFvRTtRQUNwRSxzREFBc0Q7UUFDdEQscUVBQXFFO1FBQ3JFLGtFQUFrRTtRQUNsRSxJQUNFL0IsT0FBT2dDLEtBQUssSUFDWHhCLENBQUFBLFlBQVl5QixVQUFVLElBQ3BCekIsWUFBWTBCLFVBQVUsSUFDcEJDLENBQUFBLENBQUFBLEdBQUFBLFdBQUFBLGNBQWMsRUFBQ25DLE9BQU9vQyxRQUFRLEtBQzdCQyxTQUFTQyxNQUFNLElBQ2ZwQyxLQUErQixJQUMvQmEsd0JBQUFBLEtBQ0hQLFlBQVlvQixLQUFLLElBQ2hCcEIsWUFBWW9CLEtBQUssQ0FBQ2EsT0FBTyxJQUN4QkosQ0FBQUEsU0FBU0MsTUFBTSxJQUNkcEMsS0FBK0IsSUFDL0JhLHdCQUFBQSxDQUF1QixHQUM3QjtZQUNBLDJDQUEyQztZQUMzQ2YsT0FDRzBDLE9BQU8sQ0FDTjFDLE9BQU9vQyxRQUFRLEdBQ2IsTUFDQU8sT0FDRUMsQ0FBQUEsR0FBQUEsYUFBQUEsTUFBTSxFQUNKQyxDQUFBQSxHQUFBQSxhQUFBQSxzQkFBc0IsRUFBQzdDLE9BQU84QyxLQUFLLEdBQ25DLElBQUlDLGdCQUFnQlYsU0FBU0MsTUFBTSxLQUd6QzNCLFFBQ0E7Z0JBQ0UsYUFBYTtnQkFDYiwwREFBMEQ7Z0JBQzFELG9FQUFvRTtnQkFDcEUsNENBQTRDO2dCQUM1Q3FDLElBQUk7Z0JBQ0osbUVBQW1FO2dCQUNuRSxlQUFlO2dCQUNmLG1FQUFtRTtnQkFDbkUseUNBQXlDO2dCQUN6Q0MsU0FBUyxDQUFDekMsWUFBWXlCLFVBQVUsSUFBSSxDQUFDbEI7WUFDdkMsR0FFRG1DLEtBQUssQ0FBQyxDQUFDQztnQkFDTixJQUFJLENBQUNBLElBQUlDLFNBQVMsRUFBRSxNQUFNRDtZQUM1QjtRQUNKO0lBQ0Y7SUFFQUUscUJBQXFCO1FBQ25CLElBQUksQ0FBQ3RCLFlBQVk7SUFDbkI7SUFFQUEsZUFBZTtRQUNiLElBQUksRUFBRXVCLElBQUksRUFBRSxHQUFHakI7UUFDZmlCLE9BQU9BLFFBQVFBLEtBQUtDLFNBQVMsQ0FBQztRQUM5QixJQUFJLENBQUNELE1BQU07UUFFWCxNQUFNRSxLQUF5QkMsU0FBU0MsY0FBYyxDQUFDSjtRQUN2RCxJQUFJLENBQUNFLElBQUk7UUFFVCwyREFBMkQ7UUFDM0QsNEJBQTRCO1FBQzVCRyxXQUFXLElBQU1ILEdBQUdJLGNBQWMsSUFBSTtJQUN4QztJQUVBQyxTQUFTO1FBQ1AsSUFBSTNELEtBQXlCLEVBQWMsRUFFM0MsTUFBTztZQUNMLE1BQU02RCxrQkFDSkMsd0tBQXNFO1lBQ3hFLE9BQU8sV0FBUCxHQUFPLElBQUFDLFlBQUFDLEdBQUEsRUFBQ0gsaUJBQUFBOzBCQUFpQixJQUFJLENBQUNuQyxLQUFLLENBQUNrQyxRQUFROztRQUM5QztJQUNGO0FBQ0Y7QUFFTyxlQUFlL0QsV0FBV29FLElBQThCO0lBQTlCQSxJQUFBQSxTQUFBQSxLQUFBQSxHQUFBQSxPQUE0QixDQUFDO0lBRzVEQyxRQUFBQSxPQUFNLENBQUNDLFNBQVMsQ0FBQ0MsZ0JBQUFBLE9BQWM7SUFFL0IsZ0VBQWdFO0lBQ2hFLElBQUlwRSxJQUF5QixFQUFlO1FBQzFDZ0IsWUFBWWlELEtBQUtqRCxTQUFTO0lBQzVCO0lBRUFWLGNBQWMrRCxLQUFLQyxLQUFLLENBQ3RCZixTQUFTQyxjQUFjLENBQUMsaUJBQWtCZSxXQUFXO0lBRXZEQyxPQUFPQyxhQUFhLEdBQUduRTtJQUV2QkMsZ0JBQWdCRCxZQUFZQyxhQUFhO0lBQ3pDLE1BQU1tRSxTQUFpQnBFLFlBQVlxRSxXQUFXLElBQUk7SUFHaERDLEtBQWFDLHdCQUF3QixDQUFDLEtBQUdILFNBQU8sV0FBVSxxQkFBcUI7O0lBRWpGLDREQUE0RDtJQUM1REksQ0FBQUEsR0FBQUEsdUJBQUFBLFNBQVMsRUFBQztRQUNSQyxxQkFBcUIsQ0FBQztRQUN0QkMscUJBQXFCMUUsWUFBWTJFLGFBQWEsSUFBSSxDQUFDO0lBQ3JEO0lBRUF4RSxTQUFTeUUsQ0FBQUEsR0FBQUEsT0FBQUEsTUFBTTtJQUVmLHVEQUF1RDtJQUN2RCxJQUFJQyxDQUFBQSxHQUFBQSxhQUFBQSxXQUFXLEVBQUMxRSxTQUFTO1FBQ3ZCQSxTQUFTMkUsQ0FBQUEsR0FBQUEsZ0JBQUFBLGNBQWMsRUFBQzNFO0lBQzFCO0lBRUEsSUFBSVQsS0FBK0IsRUFBRSxFQTBDckM7SUFFQSxJQUFJTSxZQUFZNEYsWUFBWSxFQUFFO1FBQzVCLE1BQU0sRUFBRUMsZ0JBQWdCLEVBQUUsR0FBR3JDLG1CQUFBQSxDQUFRO1FBQ3JDcUMsaUJBQWlCN0YsWUFBWTRGLFlBQVk7SUFDM0M7SUFFQXhGLGFBQWEsSUFBSTBGLFlBQUFBLE9BQVUsQ0FBQzlGLFlBQVkrRixPQUFPLEVBQUUzQjtJQUVqRCxNQUFNNEIsV0FBdUIsQ0FBQUM7WUFBQyxDQUFDQyxHQUFHQyxFQUFFLEdBQUFGO2VBQ2xDN0YsV0FBV2dHLFdBQVcsQ0FBQ0MsWUFBWSxDQUFDSCxHQUFHQzs7SUFDekMsSUFBSWpDLE9BQU9vQyxRQUFRLEVBQUU7UUFDbkIsMkVBQTJFO1FBQzNFLHFFQUFxRTtRQUNyRXBDLE9BQU9vQyxRQUFRLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFNckQsV0FBVyxJQUFNNkMsU0FBU1EsSUFBSTtJQUMzRDtJQUNBdEMsT0FBT29DLFFBQVEsR0FBRyxFQUFFO0lBQ2xCcEMsT0FBT29DLFFBQVEsQ0FBU0csSUFBSSxHQUFHVDtJQUVqQzFGLGNBQWNvRyxDQUFBQSxHQUFBQSxhQUFBQSxPQUFlO0lBQzdCcEcsWUFBWXFHLFFBQVEsR0FBRztRQUNyQixPQUFPbkgsT0FBT2dDLEtBQUs7SUFDckI7SUFFQW5CLGFBQWE0QyxTQUFTQyxjQUFjLENBQUM7SUFDckMsT0FBTztRQUFFbUIsYUFBYUQ7SUFBTztBQUMvQjtBQUVBLFNBQVN3QyxVQUFVQyxHQUFpQixFQUFFQyxRQUFrQjtJQUN0RCxPQUFPLFdBQVAsR0FBTyxJQUFBckQsWUFBQUMsR0FBQSxFQUFDbUQsS0FBQUE7UUFBSyxHQUFHQyxRQUFROztBQUMxQjtBQUVBLFNBQVNDLGFBQWFkLEtBRVE7O0lBRlIsTUFDcEIzQyxRQUFRLEVBQ29CLEdBRlIyQztJQUdwQiw4REFBOEQ7SUFDOUQsTUFBTWUsc0JBQXNCakcsT0FBQUEsT0FBSyxDQUFDa0csT0FBTyxDQUFDO1FBQ3hDLE9BQU9DLENBQUFBLEdBQUFBLFVBQUFBLHlCQUF5QixFQUFDMUg7SUFDbkMsR0FBRyxFQUFFO1FBZW1COEU7SUFkeEIsT0FDRSxXQURGLEdBQ0UsSUFBQWIsWUFBQUMsR0FBQSxFQUFDNUMsV0FBQUE7UUFDQ08sSUFBSSxDQUFDOEYsUUFFSCxtRUFBbUU7WUFDbkVDLFlBQVk7Z0JBQUVQLEtBQUtsRztnQkFBV2dDLEtBQUt3RTtZQUFNLEdBQUd6RSxLQUFLLENBQUMsQ0FBQ0MsTUFDakQwRSxRQUFRRixLQUFLLENBQUMsMEJBQTBCeEU7a0JBSTVDLGtCQUFBYyxZQUFBQyxHQUFBLEVBQUM0RCwrQkFBQUEsZ0JBQWdCLENBQUNDLFFBQVE7WUFBQ0MsT0FBT1I7c0JBQ2hDLGtCQUFBdkQsWUFBQUMsR0FBQSxFQUFDK0QsaUNBQUFBLG1CQUFtQixDQUFDRixRQUFRO2dCQUFDQyxPQUFPRSxDQUFBQSxHQUFBQSxVQUFBQSxvQkFBb0IsRUFBQ2xJOzBCQUN4RCxrQkFBQWlFLFlBQUFDLEdBQUEsRUFBQ2lFLFVBQUFBLDhCQUE4QjtvQkFDN0JuSSxRQUFRQTtvQkFDUm9JLGNBQWN0RCxDQUFBQSxpQ0FBQUEsS0FBS0gsYUFBYSxDQUFDMEQsVUFBVSxZQUE3QnZELGlDQUFpQzs4QkFFL0Msa0JBQUFiLFlBQUFDLEdBQUEsRUFBQ29FLGlDQUFBQSxpQkFBaUIsQ0FBQ1AsUUFBUTt3QkFBQ0MsT0FBT08sQ0FBQUEsR0FBQUEsVUFBQUEsa0JBQWtCLEVBQUN2STtrQ0FDcEQsa0JBQUFpRSxZQUFBQyxHQUFBLEVBQUNzRSw0QkFBQUEsYUFBYSxDQUFDVCxRQUFROzRCQUFDQyxPQUFPUyxDQUFBQSxHQUFBQSxRQUFBQSx3QkFBd0IsRUFBQ3pJO3NDQUN0RCxrQkFBQWlFLFlBQUFDLEdBQUEsRUFBQ3dFLGlDQUFBQSxrQkFBa0IsQ0FBQ1gsUUFBUTtnQ0FBQ0MsT0FBT2xIOzBDQUNsQyxrQkFBQW1ELFlBQUFDLEdBQUEsRUFBQ3lFLGlDQUFBQSxrQkFBa0IsQ0FBQ1osUUFBUTtvQ0FDMUJDLE9BQ0U5SCwwTkFDb0I7OENBR3JCNEQ7Ozs7Ozs7OztBQVVyQjtHQTFDU3lEO0tBQUFBO0FBNENULE1BQU1zQixVQUNKLENBQUN4QixNQUNELENBQUN5QjtRQUNDLE1BQU14QixXQUFxQjtZQUN6QixHQUFHd0IsZUFBZTtZQUNsQnRILFdBQVdIO1lBQ1g4QixLQUFLM0MsWUFBWTJDLEdBQUc7WUFDcEJuRDtRQUNGO1FBQ0EsT0FBTyxXQUFQLEdBQU8sSUFBQWlFLFlBQUFDLEdBQUEsRUFBQ3FELGNBQUFBO3NCQUFjSCxVQUFVQyxLQUFLQzs7SUFDdkM7QUFFRixvREFBb0Q7QUFDcEQsZ0RBQWdEO0FBQ2hELHdEQUF3RDtBQUN4RCxTQUFTTSxZQUFZbUIsZ0JBQWtDO0lBQ3JELElBQUksRUFBRTFCLEdBQUcsRUFBRWxFLEdBQUcsRUFBRSxHQUFHNEY7SUFFbkIsMERBQTBEO0lBQzFELCtGQUErRjtJQUMvRixJQUFJN0ksSUFBeUIsRUFBYztRQUN6Qyw0REFBNEQ7UUFDNUQsc0VBQXNFO1FBQ3RFZ0IsVUFBVThILG9CQUFvQjtRQUU5Qix1RUFBdUU7UUFDdkUsaUJBQWlCO1FBQ2pCLGlDQUFpQztRQUNqQyxtRUFBbUU7UUFDbkUsT0FBT0MsU0FBUztZQUNkNUIsS0FBSyxJQUFNO1lBQ1h6RixPQUFPLENBQUM7WUFDUkosV0FBVyxJQUFNO1lBQ2pCMEgsYUFBYSxFQUFFO1FBQ2pCO0lBQ0Y7SUFFQSxzRkFBc0Y7SUFDdEZyQixRQUFRRixLQUFLLENBQUN4RTtJQUNkMEUsUUFBUUYsS0FBSyxDQUNWO0lBR0gsT0FBTy9HLFdBQ0p1SSxRQUFRLENBQUMsV0FDVEMsSUFBSSxDQUFDLENBQUEzQztZQUFDLEVBQUU0QyxNQUFNQyxjQUFjLEVBQUVKLFdBQVcsRUFBRSxHQUFBekM7UUFDMUMsT0FBT3pGLENBQUFBLGdCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxhQUFjUSxTQUFTLE1BQUs4SCxpQkFDL0IseUZBQU8scUVBQ0pGLElBQUksQ0FBQyxDQUFDRztZQUNMLE9BQU8seUZBQU8saUVBQWlCSCxJQUFJLENBQUMsQ0FBQ0k7Z0JBQ25DbkMsTUFBTW1DLFVBQVVDLE9BQU87Z0JBQ3ZCVixpQkFBaUIxQixHQUFHLEdBQUdBO2dCQUN2QixPQUFPa0M7WUFDVDtRQUNGLEdBQ0NILElBQUksQ0FBQyxDQUFDTSxJQUFPO2dCQUNaSixnQkFBZ0JJLEVBQUVELE9BQU87Z0JBQ3pCUCxhQUFhLEVBQUU7WUFDakIsTUFDRjtZQUFFSTtZQUFnQko7UUFBWTtJQUNwQyxHQUNDRSxJQUFJLENBQUMsQ0FBQTNDO1lBQUMsRUFBRTZDLGNBQWMsRUFBRUosV0FBVyxFQUFFLEdBQUF6QztZQWtCbENzQztRQWpCRiw4RUFBOEU7UUFDOUUsa0ZBQWtGO1FBQ2xGLHlFQUF5RTtRQUN6RSxNQUFNWSxVQUFVZCxRQUFReEI7UUFDeEIsTUFBTXVDLFNBQVM7WUFDYnBJLFdBQVc4SDtZQUNYSztZQUNBM0o7WUFDQTZKLEtBQUs7Z0JBQ0gxRztnQkFDQWYsVUFBVTVCLFlBQVk2SSxJQUFJO2dCQUMxQnZHLE9BQU90QyxZQUFZc0MsS0FBSztnQkFDeEJuQztnQkFDQWdKO1lBQ0Y7UUFDRjtRQUNBLE9BQU9HLFFBQVFDLE9BQU8sQ0FDcEJoQixDQUFBQSxDQUFBQSwwQkFBQUEsaUJBQWlCbkgsS0FBSyxxQkFBdEJtSCx3QkFBd0I1RixHQUFHLElBQ3ZCNEYsaUJBQWlCbkgsS0FBSyxHQUN0Qm9JLENBQUFBLEdBQUFBLE9BQUFBLG1CQUFtQixFQUFDM0MsS0FBS3VDLFNBQzdCUixJQUFJLENBQUMsQ0FBQ2EsWUFFTixtRUFBbUU7WUFDbkVoQixTQUFTO2dCQUNQLEdBQUdGLGdCQUFnQjtnQkFDbkI1RjtnQkFDQTNCLFdBQVc4SDtnQkFDWEo7Z0JBQ0F0SCxPQUFPcUk7WUFDVDtJQUVKO0FBQ0o7QUFFQSxtRUFBbUU7QUFDbkUseURBQXlEO0FBQ3pELFNBQVNDLEtBQUt6RCxLQUFzQzs7SUFBdEMsTUFBRTBELFFBQVEsRUFBNEIsR0FBdEMxRDtJQUNaLGlFQUFpRTtJQUNqRSx1Q0FBdUM7SUFDdkNsRixPQUFBQSxPQUFLLENBQUM2SSxlQUFlLENBQUMsSUFBTUQsWUFBWTtRQUFDQTtLQUFTO0lBQ2xELE9BQU87QUFDVDtJQUxTRDtNQUFBQTtBQU9ULE1BQU1HLG1CQUFtQjtJQUN2QkMsaUJBQWlCO0lBQ2pCQyxjQUFjO0lBQ2RDLGFBQWE7SUFDYkMsY0FBYztJQUNkQyxhQUFhO0FBQ2Y7QUFFQSxNQUFNQyxzQkFBc0I7SUFDMUJDLFdBQVc7SUFDWEMsaUJBQWlCO0lBQ2pCQyxxQkFBcUI7SUFDckJqSCxRQUFRO0FBQ1Y7QUFFQSxJQUFJa0gsWUFBaUI7QUFDckIsbURBQW1EO0FBQ25ELElBQUlDLGdCQUF5QjtBQUU3QixTQUFTQztJQUNOO1FBQ0NaLGlCQUFpQkUsWUFBWTtRQUM3QkYsaUJBQWlCSSxZQUFZO1FBQzdCSixpQkFBaUJHLFdBQVc7UUFDNUJILGlCQUFpQkssV0FBVztLQUM3QixDQUFDUSxPQUFPLENBQUMsQ0FBQ0MsT0FBU0MsWUFBWUgsVUFBVSxDQUFDRTtBQUM3QztBQUVBLFNBQVNFO0lBQ1AsSUFBSSxDQUFDQyxPQUFBQSxFQUFFLEVBQUU7SUFFVEYsWUFBWUQsSUFBSSxDQUFDZCxpQkFBaUJJLFlBQVksRUFBRSx3QkFBd0I7O0lBRXhFLE1BQU1jLHNCQUFzQkgsWUFBWUksZ0JBQWdCLENBQ3REbkIsaUJBQWlCRSxZQUFZLEVBQzdCLFFBQ0FrQixNQUFNO0lBQ1IsSUFBSUYscUJBQXFCO1FBQ3ZCLE1BQU1HLHlCQUF5Qk4sWUFBWU8sT0FBTyxDQUNoRGhCLG9CQUFvQkUsZUFBZSxFQUNuQ1IsaUJBQWlCQyxlQUFlLEVBQ2hDRCxpQkFBaUJFLFlBQVk7UUFHL0IsTUFBTXFCLG1CQUFtQlIsWUFBWU8sT0FBTyxDQUMxQ2hCLG9CQUFvQkMsU0FBUyxFQUM3QlAsaUJBQWlCRSxZQUFZLEVBQzdCRixpQkFBaUJJLFlBQVk7UUFHL0IsSUFDRXZLLEtBQXlCLElBQ3pCLHlGQUF5RjtRQUN6RndMLDJCQUEyQmhMLGFBQzNCa0wscUJBQXFCbEwsV0FDckI7WUFDQTBELFFBQUFBLE9BQU0sQ0FDSHlILFNBQVMsQ0FBQywyQkFBMkI7Z0JBQ3BDQyxXQUFXVixZQUFZVyxVQUFVLEdBQUdMLHVCQUF1QkksU0FBUztnQkFDcEVFLFlBQVk7b0JBQ1Y1SixVQUFVQyxTQUFTRCxRQUFRO29CQUMzQlUsT0FBT1QsU0FBU0MsTUFBTTtnQkFDeEI7WUFDRixHQUNDMkosR0FBRyxDQUNGYixZQUFZVyxVQUFVLEdBQ3BCSCxpQkFBaUJFLFNBQVMsR0FDMUJGLGlCQUFpQk0sUUFBUTtRQUVqQztJQUNGO0lBRUEsSUFBSTlLLGFBQWE7UUFDZmdLLFlBQ0dJLGdCQUFnQixDQUFDYixvQkFBb0JDLFNBQVMsRUFDOUNNLE9BQU8sQ0FBQzlKO0lBQ2I7SUFDQTZKO0FBQ0Y7QUFFQSxTQUFTa0I7SUFDUCxJQUFJLENBQUNiLE9BQUFBLEVBQUUsRUFBRTtJQUVURixZQUFZRCxJQUFJLENBQUNkLGlCQUFpQkcsV0FBVyxFQUFFLHFCQUFxQjs7SUFDcEUsTUFBTTRCLGtCQUF3Q2hCLFlBQVlJLGdCQUFnQixDQUN4RW5CLGlCQUFpQkssV0FBVyxFQUM1QjtJQUdGLElBQUksQ0FBQzBCLGdCQUFnQlgsTUFBTSxFQUFFO0lBRTdCLE1BQU1GLHNCQUFzQkgsWUFBWUksZ0JBQWdCLENBQ3REbkIsaUJBQWlCRSxZQUFZLEVBQzdCLFFBQ0FrQixNQUFNO0lBRVIsSUFBSUYscUJBQXFCO1FBQ3ZCSCxZQUFZTyxPQUFPLENBQ2pCaEIsb0JBQW9CRyxtQkFBbUIsRUFDdkNzQixlQUFlLENBQUMsRUFBRSxDQUFDQyxJQUFJLEVBQ3ZCaEMsaUJBQWlCRSxZQUFZO1FBRS9CYSxZQUFZTyxPQUFPLENBQ2pCaEIsb0JBQW9COUcsTUFBTSxFQUMxQndHLGlCQUFpQkUsWUFBWSxFQUM3QkYsaUJBQWlCRyxXQUFXO1FBRTlCLElBQUlwSixhQUFhO1lBQ2ZnSyxZQUNHSSxnQkFBZ0IsQ0FBQ2Isb0JBQW9COUcsTUFBTSxFQUMzQ3FILE9BQU8sQ0FBQzlKO1lBQ1hnSyxZQUNHSSxnQkFBZ0IsQ0FBQ2Isb0JBQW9CRyxtQkFBbUIsRUFDeERJLE9BQU8sQ0FBQzlKO1FBQ2I7SUFDRjtJQUVBNko7SUFDQztRQUNDTixvQkFBb0JHLG1CQUFtQjtRQUN2Q0gsb0JBQW9COUcsTUFBTTtLQUMzQixDQUFDcUgsT0FBTyxDQUFDLENBQUNTLFVBQVlQLFlBQVlrQixhQUFhLENBQUNYO0FBQ25EO0FBRUEsU0FBU1ksbUJBQ1BDLEtBQWtCLEVBQ2xCM0ssRUFBbUM7SUFFbkMsK0JBQStCO0lBQy9CLElBQUl5SixPQUFBQSxFQUFFLEVBQUU7UUFDTkYsWUFBWUQsSUFBSSxDQUFDZCxpQkFBaUJFLFlBQVk7SUFDaEQ7SUFFQSxNQUFNa0MsVUFBVTVLLEdBQUdtSixnQkFBZ0JLLHNCQUFzQmM7SUFDekQsSUFBSSxDQUFDcEIsV0FBVztRQUNkLDRFQUE0RTtRQUM1RUEsWUFBWTJCLFFBQUFBLE9BQVEsQ0FBQ0MsV0FBVyxDQUFDSCxPQUFPQyxTQUFTO1lBQy9DRyxvQkFBQUEsb0JBQUFBLE9BQWtCO1FBQ3BCO1FBQ0EsdUdBQXVHO1FBQ3ZHNUIsZ0JBQWdCO0lBQ2xCLE9BQU87UUFDTCxNQUFNNkIsa0JBQWtCQyxPQUFDdkwsT0FBSyxDQUFTc0wsZUFBZTtRQUN0REEsZ0JBQWdCO1lBQ2Q5QixVQUFVbEgsTUFBTSxDQUFDNEk7UUFDbkI7SUFDRjtBQUNGO0FBRUEsU0FBU00sS0FBS3RHLEtBS1o7O0lBTFksTUFDWnVHLFNBQVMsRUFDVGxKLFFBQVEsRUFHUixHQUxZMkM7SUFNWixtRUFBbUU7SUFDbkUsc0NBQXNDO0lBQ3RDbEYsT0FBQUEsT0FBSyxDQUFDNkksZUFBZSxDQUNuQixJQUFNNEMsVUFBVTlCLE9BQU8sQ0FBQyxDQUFDZixXQUFhQSxhQUN0QztRQUFDNkM7S0FBVTtJQUViLHlDQUF5QztJQUN6QywwRUFBMEU7SUFDMUUsbUNBQW1DO0lBQ25DekwsT0FBQUEsT0FBSyxDQUFDMEwsU0FBUyxDQUFDO1FBQ2RDLENBQUFBLEdBQUFBLG9CQUFBQSxPQUFnQixFQUFDOUw7SUFDbkIsR0FBRyxFQUFFO0lBRUwsSUFBSWxCLEtBQTRCLEVBQUUsRUFTbEM7SUFFQSxPQUFPNEQ7QUFDVDtJQS9CU2lKO01BQUFBO0FBaUNULFNBQVM5RCxTQUFTNUksS0FBc0I7SUFDdEMsSUFBSSxFQUFFZ0gsR0FBRyxFQUFFN0YsU0FBUyxFQUFFSSxLQUFLLEVBQUV1QixHQUFHLEVBQUUsR0FBb0I5QztJQUN0RCxJQUFJNkksY0FDRixhQUFhN0ksUUFBUUssWUFBWUwsTUFBTTZJLFdBQVc7SUFDcEQxSCxZQUFZQSxhQUFhUixhQUFhUSxTQUFTO0lBQy9DSSxRQUFRQSxTQUFTWixhQUFhWSxLQUFLO0lBRW5DLE1BQU0wRixXQUFxQjtRQUN6QixHQUFHMUYsS0FBSztRQUNSSjtRQUNBMkI7UUFDQW5EO0lBQ0Y7SUFDQSwrRkFBK0Y7SUFDL0ZnQixlQUFlc0c7SUFFZixJQUFJZ0csV0FBb0I7SUFDeEIsSUFBSUM7SUFDSixNQUFNQyxnQkFBZ0IsSUFBSTFELFFBQWMsQ0FBQ0MsU0FBUzBEO1FBQ2hELElBQUl4TSxrQkFBa0I7WUFDcEJBO1FBQ0Y7UUFDQXNNLGlCQUFpQjtZQUNmdE0sbUJBQW1CO1lBQ25COEk7UUFDRjtRQUNBOUksbUJBQW1CO1lBQ2pCcU0sV0FBVztZQUNYck0sbUJBQW1CO1lBRW5CLE1BQU0wRyxRQUFhLElBQUkrRixNQUFNO1lBQzdCL0YsTUFBTXZFLFNBQVMsR0FBRztZQUNsQnFLLE9BQU85RjtRQUNUO0lBQ0Y7SUFFQSx5RUFBeUU7SUFDekUseUNBQXlDO0lBQ3pDLFNBQVNnRztRQUNQLElBQ0UsQ0FBQ3pFLGVBQ0Qsd0VBQXdFO1FBQ3hFLDhCQUE4QjtRQTdwQnBDLGtCQThwQitCLGNBQ3pCO1lBQ0EsT0FBTztRQUNUO1FBRUEsTUFBTTBFLG1CQUF1Q3hOLGFBQzNDcUQsU0FBU29LLGdCQUFnQixDQUFDO1FBRTVCLE1BQU1DLGVBQW1DLElBQUlDLElBQzNDSCxpQkFBaUI3RyxHQUFHLENBQUMsQ0FBQ2lILE1BQVFBLElBQUlDLFlBQVksQ0FBQztRQUdqRCxNQUFNQyxXQUEyQnpLLFNBQVMwSyxhQUFhLENBQ3JEO1FBRUYsTUFBTUMsUUFDSkYsWUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsU0FBVUQsWUFBWSxDQUFDO1FBRXpCL0UsWUFBWWdDLE9BQU8sQ0FBQyxDQUFBekU7Z0JBQUMsRUFBRTRILElBQUksRUFBRUMsSUFBSSxFQUErQixHQUFBN0g7WUFDOUQsSUFBSSxDQUFDcUgsYUFBYVMsR0FBRyxDQUFDRixPQUFPO2dCQUMzQixNQUFNRyxXQUFXL0ssU0FBU2dMLGFBQWEsQ0FBQztnQkFDeENELFNBQVNFLFlBQVksQ0FBQyxlQUFlTDtnQkFDckNHLFNBQVNFLFlBQVksQ0FBQyxTQUFTO2dCQUUvQixJQUFJTixPQUFPO29CQUNUSSxTQUFTRSxZQUFZLENBQUMsU0FBU047Z0JBQ2pDO2dCQUVBM0ssU0FBU2tMLElBQUksQ0FBQ0MsV0FBVyxDQUFDSjtnQkFDMUJBLFNBQVNJLFdBQVcsQ0FBQ25MLFNBQVNvTCxjQUFjLENBQUNQO1lBQy9DO1FBQ0Y7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxTQUFTUTtRQUNQLElBRUUsOEJBQThCO1FBcHNCcEMsS0Ewc0JPeEIsRUFDRCxFQWtERjtRQUVBLElBQUlqTixNQUFNb1AsTUFBTSxFQUFFO1lBQ2hCLE1BQU0sRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUsR0FBR3RQLE1BQU1vUCxNQUFNO1lBQzdCRyxDQUFBQSxHQUFBQSxvQkFBQUEsa0JBQWtCLEVBQUM7Z0JBQ2pCbEwsT0FBT21MLFFBQVEsQ0FBQ0gsR0FBR0M7WUFDckI7UUFDRjtJQUNGO0lBRUEsU0FBU0c7UUFDUHZDO0lBQ0Y7SUFFQUk7SUFFQSxNQUFNb0MsT0FDSixXQURJQSxHQUNKLElBQUE5TCxZQUFBK0wsSUFBQSxFQUFBL0wsWUFBQWdNLFFBQUE7OzBCQUNFLElBQUFoTSxZQUFBQyxHQUFBLEVBQUNnRyxNQUFBQTtnQkFBS0MsVUFBVTJFOzswQkFDaEIsSUFBQTdLLFlBQUErTCxJQUFBLEVBQUN6SSxjQUFBQTs7b0JBQ0VILFVBQVVDLEtBQUtDO2tDQUNoQixJQUFBckQsWUFBQUMsR0FBQSxFQUFDZ00sUUFBQUEsTUFBTTt3QkFBQ0MsTUFBSztrQ0FDWCxrQkFBQWxNLFlBQUFDLEdBQUEsRUFBQ2tNLGdCQUFBQSxjQUFjOzs7Ozs7SUFNdkIsaUZBQWlGO0lBQ2pGN0QsbUJBQW1CMUwsWUFBYSxDQUFDc0osV0FDL0IsV0FEK0JBLEdBQy9CLElBQUFsRyxZQUFBQyxHQUFBLEVBQUM2SSxNQUFBQTtZQUFLQyxXQUFXO2dCQUFDN0M7Z0JBQVUyRjthQUFhO3NCQUN0QzVQLE1BQThCLEdBQzdCLFdBRDZCLEdBQzdCLEMsR0FFQTZQOztJQUtOLE9BQU92QztBQUNUO0FBRUEsZUFBZTNKLE9BQU8wTSxjQUErQjtJQUNuRCxzRUFBc0U7SUFDdEUsMkVBQTJFO0lBQzNFLCtFQUErRTtJQUMvRSx3REFBd0Q7SUFDeEQsSUFDRUEsZUFBZXBOLEdBQUcsSUFDbEIsbUZBQW1GO0lBQ2xGLFFBQU9vTixlQUFlL08sU0FBUyxLQUFLLGVBQ25DLENBQUMrTyxlQUFlQyxhQUFhLEdBQy9CO1FBQ0EsTUFBTTVJLFlBQVkySTtRQUNsQjtJQUNGO0lBRUEsSUFBSTtRQUNGLE1BQU10SCxTQUFTc0g7SUFDakIsRUFBRSxPQUFPcE4sS0FBSztRQUNaLE1BQU1zTixZQUFZQyxDQUFBQSxHQUFBQSxTQUFBQSxjQUFjLEVBQUN2TjtRQUNqQywrQkFBK0I7UUFDL0IsSUFBSXNOLFVBQStDck4sU0FBUyxFQUFFO1lBQzVELE1BQU1xTjtRQUNSO1FBRUEsSUFBSXZRLElBQXlCLEVBQWU7WUFDMUMsK0RBQStEO1lBQy9EeUQsV0FBVztnQkFDVCxNQUFNOE07WUFDUjtRQUNGO1FBQ0EsTUFBTTdJLFlBQVk7WUFBRSxHQUFHMkksY0FBYztZQUFFcE4sS0FBS3NOO1FBQVU7SUFDeEQ7QUFDRjtBQUVPLGVBQWUzUSxRQUFRcUUsSUFBNkM7SUFDekUsSUFBSXdNLGFBQWFuUSxZQUFZMkMsR0FBRztJQUVoQyxJQUFJO1FBQ0YsTUFBTXlOLGdCQUFnQixNQUFNaFEsV0FBV2dHLFdBQVcsQ0FBQ2lLLGNBQWMsQ0FBQztRQUNsRSxJQUFJLFdBQVdELGVBQWU7WUFDNUIsTUFBTUEsY0FBY2pKLEtBQUs7UUFDM0I7UUFFQSxNQUFNLEVBQUVtSixXQUFXQyxHQUFHLEVBQUVDLFNBQVNDLEdBQUcsRUFBRSxHQUFHTDtRQUN6Q3pQLFlBQVk0UDtRQUNaLElBQUlFLE9BQU9BLElBQUlDLGVBQWUsRUFBRTtZQUM5QjlQLGNBQWMsQ0FBQXFGO29CQUFDLEVBQ2IwSyxFQUFFLEVBQ0Y5RSxJQUFJLEVBQ0pQLFNBQVMsRUFDVDlELEtBQUssRUFDTGtFLFFBQVEsRUFDUmtGLFNBQVMsRUFDVEMsT0FBTyxFQUNQQyxXQUFXLEVBQ1AsR0FBQTdLO2dCQUNKLHNEQUFzRDtnQkFDdEQsTUFBTThLLFdBQW1CQyxLQUFRQyxHQUFHLEtBQUcsTUFDckNDLENBQUFBLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsTUFBTSxLQUFNLFFBQU8sTUFBTTtnQkFFM0MsSUFBSUM7Z0JBRUosSUFBSVIsV0FBV0EsUUFBUTVGLE1BQU0sRUFBRTtvQkFDN0JvRyxpQkFBaUJSLE9BQU8sQ0FBQyxFQUFFLENBQUN2RixTQUFTO2dCQUN2QztnQkFFQSxNQUFNZ0csWUFBaUM7b0JBQ3JDWCxJQUFJQSxNQUFNSTtvQkFDVmxGO29CQUNBUCxXQUFXQSxhQUFhK0Y7b0JBQ3hCN0osT0FBT0EsU0FBUyxPQUFPa0UsV0FBV2xFO29CQUNsQytKLE9BQ0VYLGNBQWMsVUFBVUEsY0FBYyxZQUNsQyxXQUNBO2dCQUNSO2dCQUNBLElBQUlFLGFBQWE7b0JBQ2ZRLFVBQVVSLFdBQVcsR0FBR0E7Z0JBQzFCO2dCQUNBTCxJQUFJQyxlQUFlLENBQUNZO1lBQ3RCO1FBQ0Y7UUFFQSxNQUFNRSxpQkFFSix3REFBd0Q7UUE1M0I5RCxLQTYzQitCLElBQWlCeFIsWUFBWTJDLEdBQUcsR0FDckQ7WUFBRXdFLE9BQU9uSCxZQUFZMkMsR0FBRztRQUFDLElBQ3pCLE1BQU12QyxXQUFXZ0csV0FBVyxDQUFDaUssY0FBYyxDQUFDclEsWUFBWTZJLElBQUk7UUFDbEUsSUFBSSxXQUFXMkksZ0JBQWdCO1lBQzdCLE1BQU1BLGVBQWVySyxLQUFLO1FBQzVCO1FBQ0F0RyxrQkFBa0IyUSxlQUFlbEIsU0FBUztRQUUxQyxJQUFJNVEsSUFBeUIsRUFBYztZQUN6QyxNQUFNLEVBQUUrUixrQkFBa0IsRUFBRSxHQUFHak8sbUJBQUFBLENBQVE7WUFDdkMsSUFBSSxDQUFDaU8sbUJBQW1CNVEsa0JBQWtCO2dCQUN4QyxNQUFNLElBQUlxTSxNQUNSLDJEQUF5RGxOLFlBQVk2SSxJQUFJLEdBQUM7WUFFOUU7UUFDRjtJQUNGLEVBQUUsT0FBTzFCLE9BQU87UUFDZCxpRUFBaUU7UUFDakVnSixhQUFhRCxDQUFBQSxHQUFBQSxTQUFBQSxjQUFjLEVBQUMvSTtJQUM5QjtJQUVBLElBQUl6SCxJQUF5QixFQUFlO1FBQzFDLE1BQU1nUyxpQkFDSmxPLHVLQUFxRTtRQUN2RSx3RUFBd0U7UUFDeEUsZ0NBQWdDO1FBQ2hDLElBQUkyTSxZQUFZO1lBQ2QsSUFBSUEsZUFBZW5RLFlBQVkyQyxHQUFHLEVBQUU7Z0JBQ2xDUSxXQUFXO29CQUNULElBQUlnRTtvQkFDSixJQUFJO3dCQUNGLG1FQUFtRTt3QkFDbkUsa0VBQWtFO3dCQUNsRSw0Q0FBNEM7d0JBQzVDLE1BQU0sSUFBSStGLE1BQU1pRCxXQUFZd0IsT0FBTztvQkFDckMsRUFBRSxPQUFPQyxHQUFHO3dCQUNWekssUUFBUXlLO29CQUNWO29CQUVBekssTUFBTTBFLElBQUksR0FBR3NFLFdBQVl0RSxJQUFJO29CQUM3QjFFLE1BQU0wSyxLQUFLLEdBQUcxQixXQUFZMEIsS0FBSztvQkFDL0IsTUFBTUgsZUFBZXZLLE9BQU9nSixXQUFZMkIsTUFBTTtnQkFDaEQ7WUFDRixPQUdLO2dCQUNIM08sV0FBVztvQkFDVCxNQUFNZ047Z0JBQ1I7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxJQUFJak0sT0FBTzZOLG1CQUFtQixFQUFFO1FBQzlCLE1BQU03TixPQUFPNk4sbUJBQW1CLENBQUMvUixZQUFZZ1MsVUFBVTtJQUN6RDtJQUVBeFMsU0FBU3lTLENBQUFBLEdBQUFBLFFBQUFBLFlBQVksRUFBQ2pTLFlBQVk2SSxJQUFJLEVBQUU3SSxZQUFZc0MsS0FBSyxFQUFFbkMsUUFBUTtRQUNqRStSLGNBQWNsUyxZQUFZb0IsS0FBSztRQUMvQmhCO1FBQ0F5RyxLQUFLbEc7UUFDTEssV0FBV0g7UUFDWHdIO1FBQ0ExRixLQUFLd047UUFDTDFPLFlBQVkwUSxRQUFRblMsWUFBWXlCLFVBQVU7UUFDMUMyUSxjQUFjLENBQUNqUixNQUFNMEYsS0FBS29JLFNBQ3hCNUwsT0FDRWdQLE9BQU9qUSxNQUFNLENBSVgsQ0FBQyxHQUFHakIsTUFBTTtnQkFDVjBGO2dCQUNBb0k7WUFDRjtRQUVKekosUUFBUXhGLFlBQVl3RixNQUFNO1FBQzFCSixTQUFTcEYsWUFBWW9GLE9BQU87UUFDNUJuRjtRQUNBcVMsZUFBZXRTLFlBQVlzUyxhQUFhO1FBQ3hDQyxXQUFXdlMsWUFBWXVTLFNBQVM7SUFDbEM7SUFFQWhTLDJCQUEyQixNQUFNZixPQUFPZ1QsZ0NBQWdDO0lBRXhFLE1BQU1DLFlBQTZCO1FBQ2pDNUwsS0FBS2xHO1FBQ0wrUixTQUFTO1FBQ1QxUixXQUFXSDtRQUNYTyxPQUFPcEIsWUFBWW9CLEtBQUs7UUFDeEJ1QixLQUFLd047UUFDTEgsZUFBZTtJQUNqQjtJQUVBLElBQUlyTSxRQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxLQUFNb0csWUFBWSxFQUFFO1FBQ3RCLE1BQU1wRyxLQUFLb0csWUFBWTtJQUN6QjtJQUVBMUcsT0FBT29QO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaW5kZXgudHN4PzliM2IiXSwibmFtZXMiOlsiZW1pdHRlciIsImh5ZHJhdGUiLCJpbml0aWFsaXplIiwicm91dGVyIiwidmVyc2lvbiIsInByb2Nlc3MiLCJtaXR0IiwibG9vc2VUb0FycmF5IiwiaW5wdXQiLCJzbGljZSIsImNhbGwiLCJpbml0aWFsRGF0YSIsImRlZmF1bHRMb2NhbGUiLCJ1bmRlZmluZWQiLCJhc1BhdGgiLCJwYWdlTG9hZGVyIiwiYXBwRWxlbWVudCIsImhlYWRNYW5hZ2VyIiwiaW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlIiwibGFzdEFwcFByb3BzIiwibGFzdFJlbmRlclJlamVjdCIsImRldkNsaWVudCIsIkNhY2hlZEFwcCIsIm9uUGVyZkVudHJ5IiwiQ2FjaGVkQ29tcG9uZW50IiwiQ29udGFpbmVyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb21wb25lbnREaWRDYXRjaCIsImNvbXBvbmVudEVyciIsImluZm8iLCJwcm9wcyIsImZuIiwiY29tcG9uZW50RGlkTW91bnQiLCJzY3JvbGxUb0hhc2giLCJpc1NzciIsImlzRmFsbGJhY2siLCJuZXh0RXhwb3J0IiwiaXNEeW5hbWljUm91dGUiLCJwYXRobmFtZSIsImxvY2F0aW9uIiwic2VhcmNoIiwiZW52IiwiX19ORVhUX0hBU19SRVdSSVRFUyIsIl9fTl9TU0ciLCJyZXBsYWNlIiwiU3RyaW5nIiwiYXNzaWduIiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwiX2giLCJzaGFsbG93IiwiY2F0Y2giLCJlcnIiLCJjYW5jZWxsZWQiLCJjb21wb25lbnREaWRVcGRhdGUiLCJoYXNoIiwic3Vic3RyaW5nIiwiZWwiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwic2V0VGltZW91dCIsInNjcm9sbEludG9WaWV3IiwicmVuZGVyIiwiY2hpbGRyZW4iLCJSZWFjdERldk92ZXJsYXkiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJvcHRzIiwidHJhY2VyIiwib25TcGFuRW5kIiwicmVwb3J0VG9Tb2NrZXQiLCJKU09OIiwicGFyc2UiLCJ0ZXh0Q29udGVudCIsIndpbmRvdyIsIl9fTkVYVF9EQVRBX18iLCJwcmVmaXgiLCJhc3NldFByZWZpeCIsInNlbGYiLCJfX25leHRfc2V0X3B1YmxpY19wYXRoX18iLCJzZXRDb25maWciLCJzZXJ2ZXJSdW50aW1lQ29uZmlnIiwicHVibGljUnVudGltZUNvbmZpZyIsInJ1bnRpbWVDb25maWciLCJnZXRVUkwiLCJoYXNCYXNlUGF0aCIsInJlbW92ZUJhc2VQYXRoIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJkZXRlY3REb21haW5Mb2NhbGUiLCJwYXJzZVJlbGF0aXZlVXJsIiwiZm9ybWF0VXJsIiwibG9jYWxlcyIsInBhcnNlZEFzIiwibG9jYWxlUGF0aFJlc3VsdCIsImRldGVjdGVkTG9jYWxlIiwibG9jYWxlIiwiZGV0ZWN0ZWREb21haW4iLCJfX05FWFRfSTE4Tl9ET01BSU5TIiwiaG9zdG5hbWUiLCJzY3JpcHRMb2FkZXIiLCJpbml0U2NyaXB0TG9hZGVyIiwiUGFnZUxvYWRlciIsImJ1aWxkSWQiLCJyZWdpc3RlciIsInBhcmFtIiwiciIsImYiLCJyb3V0ZUxvYWRlciIsIm9uRW50cnlwb2ludCIsIl9fTkVYVF9QIiwibWFwIiwicCIsInB1c2giLCJpbml0SGVhZE1hbmFnZXIiLCJnZXRJc1NzciIsInJlbmRlckFwcCIsIkFwcCIsImFwcFByb3BzIiwiQXBwQ29udGFpbmVyIiwiYWRhcHRlZEZvckFwcFJvdXRlciIsInVzZU1lbW8iLCJhZGFwdEZvckFwcFJvdXRlckluc3RhbmNlIiwiZXJyb3IiLCJyZW5kZXJFcnJvciIsImNvbnNvbGUiLCJBcHBSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIlNlYXJjaFBhcmFtc0NvbnRleHQiLCJhZGFwdEZvclNlYXJjaFBhcmFtcyIsIlBhdGhuYW1lQ29udGV4dFByb3ZpZGVyQWRhcHRlciIsImlzQXV0b0V4cG9ydCIsImF1dG9FeHBvcnQiLCJQYXRoUGFyYW1zQ29udGV4dCIsImFkYXB0Rm9yUGF0aFBhcmFtcyIsIlJvdXRlckNvbnRleHQiLCJtYWtlUHVibGljUm91dGVySW5zdGFuY2UiLCJIZWFkTWFuYWdlckNvbnRleHQiLCJJbWFnZUNvbmZpZ0NvbnRleHQiLCJfX05FWFRfSU1BR0VfT1BUUyIsIndyYXBBcHAiLCJ3cmFwcGVkQXBwUHJvcHMiLCJyZW5kZXJFcnJvclByb3BzIiwib25VbnJlY292ZXJhYmxlRXJyb3IiLCJkb1JlbmRlciIsInN0eWxlU2hlZXRzIiwibG9hZFBhZ2UiLCJ0aGVuIiwicGFnZSIsIkVycm9yQ29tcG9uZW50IiwiZXJyb3JNb2R1bGUiLCJhcHBNb2R1bGUiLCJkZWZhdWx0IiwibSIsIkFwcFRyZWUiLCJhcHBDdHgiLCJjdHgiLCJQcm9taXNlIiwicmVzb2x2ZSIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJpbml0UHJvcHMiLCJIZWFkIiwiY2FsbGJhY2siLCJ1c2VMYXlvdXRFZmZlY3QiLCJwZXJmb3JtYW5jZU1hcmtzIiwibmF2aWdhdGlvblN0YXJ0IiwiYmVmb3JlUmVuZGVyIiwiYWZ0ZXJSZW5kZXIiLCJhZnRlckh5ZHJhdGUiLCJyb3V0ZUNoYW5nZSIsInBlcmZvcm1hbmNlTWVhc3VyZXMiLCJoeWRyYXRpb24iLCJiZWZvcmVIeWRyYXRpb24iLCJyb3V0ZUNoYW5nZVRvUmVuZGVyIiwicmVhY3RSb290Iiwic2hvdWxkSHlkcmF0ZSIsImNsZWFyTWFya3MiLCJmb3JFYWNoIiwibWFyayIsInBlcmZvcm1hbmNlIiwibWFya0h5ZHJhdGVDb21wbGV0ZSIsIlNUIiwiaGFzQmVmb3JlUmVuZGVyTWFyayIsImdldEVudHJpZXNCeU5hbWUiLCJsZW5ndGgiLCJiZWZvcmVIeWRyYXRpb25NZWFzdXJlIiwibWVhc3VyZSIsImh5ZHJhdGlvbk1lYXN1cmUiLCJzdGFydFNwYW4iLCJzdGFydFRpbWUiLCJ0aW1lT3JpZ2luIiwiYXR0cmlidXRlcyIsImVuZCIsImR1cmF0aW9uIiwibWFya1JlbmRlckNvbXBsZXRlIiwibmF2U3RhcnRFbnRyaWVzIiwibmFtZSIsImNsZWFyTWVhc3VyZXMiLCJyZW5kZXJSZWFjdEVsZW1lbnQiLCJkb21FbCIsInJlYWN0RWwiLCJSZWFjdERPTSIsImh5ZHJhdGVSb290Iiwib25SZWNvdmVyYWJsZUVycm9yIiwic3RhcnRUcmFuc2l0aW9uIiwiX3JlYWN0IiwiUm9vdCIsImNhbGxiYWNrcyIsInVzZUVmZmVjdCIsIm1lYXN1cmVXZWJWaXRhbHMiLCJfX05FWFRfVEVTVF9NT0RFIiwiX19ORVhUX0hZRFJBVEVEIiwiX19ORVhUX0hZRFJBVEVEX0NCIiwiY2FuY2VsZWQiLCJyZXNvbHZlUHJvbWlzZSIsInJlbmRlclByb21pc2UiLCJyZWplY3QiLCJFcnJvciIsIm9uU3RhcnQiLCJjdXJyZW50U3R5bGVUYWdzIiwicXVlcnlTZWxlY3RvckFsbCIsImN1cnJlbnRIcmVmcyIsIlNldCIsInRhZyIsImdldEF0dHJpYnV0ZSIsIm5vc2NyaXB0IiwicXVlcnlTZWxlY3RvciIsIm5vbmNlIiwiaHJlZiIsInRleHQiLCJoYXMiLCJzdHlsZVRhZyIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJjcmVhdGVUZXh0Tm9kZSIsIm9uSGVhZENvbW1pdCIsImRlc2lyZWRIcmVmcyIsInMiLCJpZHgiLCJyZW1vdmVBdHRyaWJ1dGUiLCJyZWZlcmVuY2VOb2RlIiwidGFyZ2V0VGFnIiwicGFyZW50Tm9kZSIsImluc2VydEJlZm9yZSIsIm5leHRTaWJsaW5nIiwicmVtb3ZlQ2hpbGQiLCJzY3JvbGwiLCJ4IiwieSIsImhhbmRsZVNtb290aFNjcm9sbCIsInNjcm9sbFRvIiwib25Sb290Q29tbWl0IiwiZWxlbSIsImpzeHMiLCJGcmFnbWVudCIsIlBvcnRhbCIsInR5cGUiLCJSb3V0ZUFubm91bmNlciIsIl9fTkVYVF9TVFJJQ1RfTU9ERSIsIlN0cmljdE1vZGUiLCJyZW5kZXJpbmdQcm9wcyIsImlzSHlkcmF0ZVBhc3MiLCJyZW5kZXJFcnIiLCJnZXRQcm9wZXJFcnJvciIsImluaXRpYWxFcnIiLCJhcHBFbnRyeXBvaW50Iiwid2hlbkVudHJ5cG9pbnQiLCJjb21wb25lbnQiLCJhcHAiLCJleHBvcnRzIiwibW9kIiwicmVwb3J0V2ViVml0YWxzIiwiaWQiLCJlbnRyeVR5cGUiLCJlbnRyaWVzIiwiYXR0cmlidXRpb24iLCJ1bmlxdWVJRCIsIkRhdGUiLCJub3ciLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJwZXJmU3RhcnRFbnRyeSIsIndlYlZpdGFscyIsImxhYmVsIiwicGFnZUVudHJ5cG9pbnQiLCJpc1ZhbGlkRWxlbWVudFR5cGUiLCJnZXRTZXJ2ZXJFcnJvciIsIm1lc3NhZ2UiLCJlIiwic3RhY2siLCJzb3VyY2UiLCJfX05FWFRfUFJFTE9BRFJFQURZIiwiZHluYW1pY0lkcyIsImNyZWF0ZVJvdXRlciIsImluaXRpYWxQcm9wcyIsIkJvb2xlYW4iLCJzdWJzY3JpcHRpb24iLCJPYmplY3QiLCJkb21haW5Mb2NhbGVzIiwiaXNQcmV2aWV3IiwiX2luaXRpYWxNYXRjaGVzTWlkZGxld2FyZVByb21pc2UiLCJyZW5kZXJDdHgiLCJpbml0aWFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/next-dev.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/client/next-dev.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO: Remove use of `any` type.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\n__webpack_require__(/*! ./webpack */ \"./node_modules/next/dist/client/webpack.js\");\nconst _ = __webpack_require__(/*! ./ */ \"./node_modules/next/dist/client/index.js\");\nconst _hotmiddlewareclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./dev/hot-middleware-client */ \"./node_modules/next/dist/client/dev/hot-middleware-client.js\"));\nconst _pagebootstrap = __webpack_require__(/*! ./page-bootstrap */ \"./node_modules/next/dist/client/page-bootstrap.js\");\n__webpack_require__(/*! ./setup-hydration-warning */ \"./node_modules/next/dist/client/setup-hydration-warning.js\");\nwindow.next = {\n version: _.version,\n // router is initialized later so it has to be live-binded\n get router () {\n return _.router;\n },\n emitter: _.emitter\n};\nconst devClient = (0, _hotmiddlewareclient.default)(\"webpack\");\n(0, _.initialize)({\n devClient\n}).then((param)=>{\n let { assetPrefix } = param;\n return (0, _pagebootstrap.pageBootrap)(assetPrefix);\n}).catch((err)=>{\n console.error(\"Error was not caught\", err);\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=next-dev.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9uZXh0LWRldi5qcyIsIm1hcHBpbmdzIjoiQUFBQSxrQ0FBa0M7Ozs7OztvQkFDM0I7OEJBQzhDOzBGQUNqQzsyQ0FDUTtvQkFFckI7QUFFUEEsT0FBT0MsSUFBSSxHQUFHO0lBQ1pDLFNBQUFBLEVBQUFBLE9BQU87SUFDUCwwREFBMEQ7SUFDMUQsSUFBSUMsVUFBUztRQUNYLE9BQU9BLEVBQUFBLE1BQU07SUFDZjtJQUNBQyxTQUFBQSxFQUFBQSxPQUFPO0FBQ1Q7QUFFQSxNQUFNQyxZQUFZQyxDQUFBQSxHQUFBQSxxQkFBQUEsT0FBTyxFQUFDO0FBQzFCQyxDQUFBQSxHQUFBQSxFQUFBQSxVQUFVLEVBQUM7SUFBRUY7QUFBVSxHQUNwQkcsSUFBSSxDQUFDLENBQUFDO1FBQUMsRUFBRUMsV0FBVyxFQUFFLEdBQUFEO0lBQ3BCLE9BQU9FLENBQUFBLEdBQUFBLGVBQUFBLFdBQVcsRUFBQ0Q7QUFDckIsR0FDQ0UsS0FBSyxDQUFDLENBQUNDO0lBQ05DLFFBQVFDLEtBQUssQ0FBQyx3QkFBd0JGO0FBQ3hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L25leHQtZGV2LnRzPzExOGYiXSwibmFtZXMiOlsid2luZG93IiwibmV4dCIsInZlcnNpb24iLCJyb3V0ZXIiLCJlbWl0dGVyIiwiZGV2Q2xpZW50IiwiaW5pdEhNUiIsImluaXRpYWxpemUiLCJ0aGVuIiwicGFyYW0iLCJhc3NldFByZWZpeCIsInBhZ2VCb290cmFwIiwiY2F0Y2giLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/next-dev.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/normalize-trailing-slash.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return normalizePathTrailingSlash;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst normalizePathTrailingSlash = (path)=>{\n if (!path.startsWith(\"/\") || undefined) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n if (false) {}\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=normalize-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanMiLCJtYXBwaW5ncyI6Ijs7Ozs4REFPYUE7OztlQUFBQTs7O2lEQVB1Qjt1Q0FDVjtBQU1uQixNQUFNQSw2QkFBNkIsQ0FBQ0M7SUFDekMsSUFBSSxDQUFDQSxLQUFLQyxVQUFVLENBQUMsUUFBUUMsU0FBd0MsRUFBRTtRQUNyRSxPQUFPRjtJQUNUO0lBRUEsTUFBTSxFQUFFSyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLFdBQUFBLFNBQVMsRUFBQ1I7SUFDNUMsSUFBSUUsS0FBaUMsRUFBRSxFQVF2QztJQUVBLE9BQU8sS0FBR1MsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDTixZQUFZQyxRQUFRQztBQUNwRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2gudHM/YmEwMSJdLCJuYW1lcyI6WyJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsInBhdGgiLCJzdGFydHNXaXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9NQU5VQUxfVFJBSUxJTkdfU0xBU0giLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCIsIl9fTkVYVF9UUkFJTElOR19TTEFTSCIsInRlc3QiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/normalize-trailing-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/on-recoverable-error.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/on-recoverable-error.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return onRecoverableError;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../shared/lib/lazy-dynamic/bailout-to-csr */ \"./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nfunction onRecoverableError(err) {\n // Using default react onRecoverableError\n // x-ref: https://github.com/facebook/react/blob/d4bc16a7d69eb2ea38a88c8ac0b461d5f72cdcab/packages/react-dom/src/client/ReactDOMRoot.js#L83\n const defaultOnRecoverableError = typeof reportError === \"function\" ? reportError : (error)=>{\n window.console.error(error);\n };\n // Skip certain custom errors which are not expected to be reported on client\n if ((0, _bailouttocsr.isBailoutToCSRError)(err)) return;\n defaultOnRecoverableError(err);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=on-recoverable-error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9vbi1yZWNvdmVyYWJsZS1lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQUVBOzs7ZUFBd0JBOzs7MENBRlk7QUFFckIsU0FBU0EsbUJBQW1CQyxHQUFZO0lBQ3JELHlDQUF5QztJQUN6QywySUFBMkk7SUFDM0ksTUFBTUMsNEJBQ0osT0FBT0MsZ0JBQWdCLGFBR25CQSxjQUNBLENBQUNDO1FBQ0NDLE9BQU9DLE9BQU8sQ0FBQ0YsS0FBSyxDQUFDQTtJQUN2QjtJQUVOLDZFQUE2RTtJQUM3RSxJQUFJRyxDQUFBQSxHQUFBQSxjQUFBQSxtQkFBbUIsRUFBQ04sTUFBTTtJQUU5QkMsMEJBQTBCRDtBQUM1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9vbi1yZWNvdmVyYWJsZS1lcnJvci50cz8zMTNkIl0sIm5hbWVzIjpbIm9uUmVjb3ZlcmFibGVFcnJvciIsImVyciIsImRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3IiLCJyZXBvcnRFcnJvciIsImVycm9yIiwid2luZG93IiwiY29uc29sZSIsImlzQmFpbG91dFRvQ1NSRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/on-recoverable-error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/page-bootstrap.js": -/*!*********************************************************!*\ - !*** ./node_modules/next/dist/client/page-bootstrap.js ***! - \*********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pageBootrap\", ({\n enumerable: true,\n get: function() {\n return pageBootrap;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _ = __webpack_require__(/*! ./ */ \"./node_modules/next/dist/client/index.js\");\nconst _ondemandentriesclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./dev/on-demand-entries-client */ \"./node_modules/next/dist/client/dev/on-demand-entries-client.js\"));\nconst _devbuildwatcher = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./dev/dev-build-watcher */ \"./node_modules/next/dist/client/dev/dev-build-watcher.js\"));\nconst _fouc = __webpack_require__(/*! ./dev/fouc */ \"./node_modules/next/dist/client/dev/fouc.js\");\nconst _websocket = __webpack_require__(/*! ./components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../server/dev/hot-reloader-types */ \"./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _runtimeerrorhandler = __webpack_require__(/*! ./components/react-dev-overlay/internal/helpers/runtime-error-handler */ \"./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\");\nconst _shared = __webpack_require__(/*! ./components/react-dev-overlay/shared */ \"./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _hotreloaderclient = __webpack_require__(/*! ./components/react-dev-overlay/pages/hot-reloader-client */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js\");\nfunction pageBootrap(assetPrefix) {\n (0, _websocket.connectHMR)({\n assetPrefix,\n path: \"/_next/webpack-hmr\"\n });\n return (0, _.hydrate)({\n beforeRender: _fouc.displayContent\n }).then(()=>{\n (0, _ondemandentriesclient.default)();\n let buildIndicatorHandler;\n if (true) {\n (0, _devbuildwatcher.default)((handler)=>{\n buildIndicatorHandler = handler;\n }, \"bottom-right\");\n }\n let reloading = false;\n (0, _websocket.addMessageListener)((payload)=>{\n if (reloading) return;\n if (\"action\" in payload) {\n switch(payload.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { stack, message } = JSON.parse(payload.errorJSON);\n const error = new Error(message);\n error.stack = stack;\n throw error;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n reloading = true;\n window.location.reload();\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n fetch(\"\" + assetPrefix + \"/_next/static/development/_devPagesManifest.json\").then((res)=>res.json()).then((manifest)=>{\n window.__DEV_PAGES_MANIFEST = manifest;\n }).catch((err)=>{\n console.log(\"Failed to fetch devPagesManifest\", err);\n });\n break;\n }\n default:\n break;\n }\n } else if (\"event\" in payload) {\n switch(payload.event){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES:\n {\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.CLIENT_CHANGES:\n {\n // This is used in `../server/dev/turbopack-utils.ts`.\n const isOnErrorPage = window.next.router.pathname === \"/_error\";\n // On the error page we want to reload the page when a page was changed\n if (isOnErrorPage) {\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n }\n reloading = true;\n (0, _hotreloaderclient.performFullReload)(null);\n }\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ONLY_CHANGES:\n {\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n (0, _hotreloaderclient.performFullReload)(null);\n }\n const { pages } = payload;\n // Make sure to reload when the dev-overlay is showing for an\n // API route\n // TODO: Fix `__NEXT_PAGE` type\n if (pages.includes(_.router.query.__NEXT_PAGE)) {\n return window.location.reload();\n }\n if (!_.router.clc && pages.includes(_.router.pathname)) {\n console.log(\"Refreshing page data due to server-side change\");\n buildIndicatorHandler == null ? void 0 : buildIndicatorHandler.show();\n const clearIndicator = ()=>buildIndicatorHandler == null ? void 0 : buildIndicatorHandler.hide();\n _.router.replace(_.router.pathname + \"?\" + String((0, _querystring.assign)((0, _querystring.urlQueryToSearchParams)(_.router.query), new URLSearchParams(location.search))), _.router.asPath, {\n scroll: false\n }).catch(()=>{\n // trigger hard reload when failing to refresh data\n // to show error overlay properly\n location.reload();\n }).finally(clearIndicator);\n }\n break;\n }\n default:\n break;\n }\n }\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=page-bootstrap.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wYWdlLWJvb3RzdHJhcC5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQWtCZ0JBOzs7ZUFBQUE7Ozs7OEJBbEJnQjs0RkFDQTtzRkFDRztrQ0FFSjt1Q0FJeEI7eUNBSUE7OENBQ3FDO2lEQUNSO29DQUNpQjsrQ0FDbkI7QUFFM0IsU0FBU0EsWUFBWUMsV0FBbUI7SUFDN0NDLENBQUFBLEdBQUFBLFdBQUFBLFVBQVUsRUFBQztRQUFFRDtRQUFhRSxNQUFNO0lBQXFCO0lBRXJELE9BQU9DLENBQUFBLEdBQUFBLEVBQUFBLE9BQU8sRUFBQztRQUFFQyxjQUFjQyxNQUFBQSxjQUFjO0lBQUMsR0FBR0MsSUFBSSxDQUFDO1FBQ3BEQyxDQUFBQSxHQUFBQSx1QkFBQUEsT0FBbUI7UUFFbkIsSUFBSUM7UUFFSixJQUFJQyxJQUFrQyxFQUFFO1lBQ3RDRyxDQUFBQSxHQUFBQSxpQkFBQUEsT0FBc0IsRUFBQyxDQUFDQztnQkFDdEJMLHdCQUF3Qks7WUFDMUIsR0FBR0osY0FBMkM7UUFDaEQ7UUFFQSxJQUFJTSxZQUFZO1FBRWhCQyxDQUFBQSxHQUFBQSxXQUFBQSxrQkFBa0IsRUFBQyxDQUFDQztZQUNsQixJQUFJRixXQUFXO1lBQ2YsSUFBSSxZQUFZRSxTQUFTO2dCQUN2QixPQUFRQSxRQUFRQyxNQUFNO29CQUNwQixLQUFLQyxrQkFBQUEsMkJBQTJCLENBQUNDLFlBQVk7d0JBQUU7NEJBQzdDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUUsR0FBR0MsS0FBS0MsS0FBSyxDQUFDUCxRQUFRUSxTQUFTOzRCQUN2RCxNQUFNQyxRQUFRLElBQUlDLE1BQU1MOzRCQUN4QkksTUFBTUwsS0FBSyxHQUFHQTs0QkFDZCxNQUFNSzt3QkFDUjtvQkFDQSxLQUFLUCxrQkFBQUEsMkJBQTJCLENBQUNTLFdBQVc7d0JBQUU7NEJBQzVDYixZQUFZOzRCQUNaYyxPQUFPQyxRQUFRLENBQUNDLE1BQU07NEJBQ3RCO3dCQUNGO29CQUNBLEtBQUtaLGtCQUFBQSwyQkFBMkIsQ0FBQ2EseUJBQXlCO3dCQUFFOzRCQUMxREMsTUFDRSxLQUFHakMsY0FBWSxvREFFZE0sSUFBSSxDQUFDLENBQUM0QixNQUFRQSxJQUFJQyxJQUFJLElBQ3RCN0IsSUFBSSxDQUFDLENBQUM4QjtnQ0FDTFAsT0FBT1Esb0JBQW9CLEdBQUdEOzRCQUNoQyxHQUNDRSxLQUFLLENBQUMsQ0FBQ0M7Z0NBQ05DLFFBQVFDLEdBQUcsQ0FBRSxvQ0FBbUNGOzRCQUNsRDs0QkFDRjt3QkFDRjtvQkFDQTt3QkFDRTtnQkFDSjtZQUNGLE9BQU8sSUFBSSxXQUFXdEIsU0FBUztnQkFDN0IsT0FBUUEsUUFBUXlCLEtBQUs7b0JBQ25CLEtBQUt2QixrQkFBQUEsMkJBQTJCLENBQUN3QixrQkFBa0I7d0JBQUU7NEJBQ25ELE9BQU9kLE9BQU9DLFFBQVEsQ0FBQ0MsTUFBTTt3QkFDL0I7b0JBQ0EsS0FBS1osa0JBQUFBLDJCQUEyQixDQUFDeUIsY0FBYzt3QkFBRTs0QkFDL0Msc0RBQXNEOzRCQUN0RCxNQUFNQyxnQkFBZ0JoQixPQUFPaUIsSUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVEsS0FBSzs0QkFDdEQsdUVBQXVFOzRCQUN2RSxJQUFJSCxlQUFlO2dDQUNqQixJQUFJSSxxQkFBQUEsbUJBQW1CLENBQUNDLGVBQWUsRUFBRTtvQ0FDdkNWLFFBQVFXLElBQUksQ0FBQ0MsUUFBQUEsb0NBQW9DO2dDQUNuRDtnQ0FDQXJDLFlBQVk7Z0NBQ1pzQyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUM7NEJBQ3BCOzRCQUNBO3dCQUNGO29CQUNBLEtBQUtsQyxrQkFBQUEsMkJBQTJCLENBQUNtQyxtQkFBbUI7d0JBQUU7NEJBQ3BELElBQUlMLHFCQUFBQSxtQkFBbUIsQ0FBQ0MsZUFBZSxFQUFFO2dDQUN2Q1YsUUFBUVcsSUFBSSxDQUFDQyxRQUFBQSxvQ0FBb0M7Z0NBQ2pEQyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQWlCLEVBQUM7NEJBQ3BCOzRCQUVBLE1BQU0sRUFBRUUsS0FBSyxFQUFFLEdBQUd0Qzs0QkFFbEIsNkRBQTZEOzRCQUM3RCxZQUFZOzRCQUNaLCtCQUErQjs0QkFDL0IsSUFBSXNDLE1BQU1DLFFBQVEsQ0FBQ1QsRUFBQUEsTUFBTSxDQUFDVSxLQUFLLENBQUNDLFdBQVcsR0FBYTtnQ0FDdEQsT0FBTzdCLE9BQU9DLFFBQVEsQ0FBQ0MsTUFBTTs0QkFDL0I7NEJBRUEsSUFBSSxDQUFDZ0IsRUFBQUEsTUFBTSxDQUFDWSxHQUFHLElBQUlKLE1BQU1DLFFBQVEsQ0FBQ1QsRUFBQUEsTUFBTSxDQUFDQyxRQUFRLEdBQUc7Z0NBQ2xEUixRQUFRQyxHQUFHLENBQUM7Z0NBRVpqQyx5QkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsc0JBQXVCb0QsSUFBSTtnQ0FFM0IsTUFBTUMsaUJBQWlCLElBQU1yRCx5QkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsc0JBQXVCc0QsSUFBSTtnQ0FFeERmLEVBQUFBLE1BQU0sQ0FDSGdCLE9BQU8sQ0FDTmhCLEVBQUFBLE1BQU0sQ0FBQ0MsUUFBUSxHQUNiLE1BQ0FnQixPQUNFQyxDQUFBQSxHQUFBQSxhQUFBQSxNQUFNLEVBQ0pDLENBQUFBLEdBQUFBLGFBQUFBLHNCQUFzQixFQUFDbkIsRUFBQUEsTUFBTSxDQUFDVSxLQUFLLEdBQ25DLElBQUlVLGdCQUFnQnJDLFNBQVNzQyxNQUFNLEtBR3pDckIsRUFBQUEsTUFBTSxDQUFDc0IsTUFBTSxFQUNiO29DQUFFQyxRQUFRO2dDQUFNLEdBRWpCaEMsS0FBSyxDQUFDO29DQUNMLG1EQUFtRDtvQ0FDbkQsaUNBQWlDO29DQUNqQ1IsU0FBU0MsTUFBTTtnQ0FDakIsR0FDQ3dDLE9BQU8sQ0FBQ1Y7NEJBQ2I7NEJBQ0E7d0JBQ0Y7b0JBQ0E7d0JBQ0U7Z0JBQ0o7WUFDRjtRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9wYWdlLWJvb3RzdHJhcC50cz8yYTdmIl0sIm5hbWVzIjpbInBhZ2VCb290cmFwIiwiYXNzZXRQcmVmaXgiLCJjb25uZWN0SE1SIiwicGF0aCIsImh5ZHJhdGUiLCJiZWZvcmVSZW5kZXIiLCJkaXNwbGF5Q29udGVudCIsInRoZW4iLCJpbml0T25EZW1hbmRFbnRyaWVzIiwiYnVpbGRJbmRpY2F0b3JIYW5kbGVyIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9CVUlMRF9JTkRJQ0FUT1IiLCJpbml0aWFsaXplQnVpbGRXYXRjaGVyIiwiaGFuZGxlciIsIl9fTkVYVF9CVUlMRF9JTkRJQ0FUT1JfUE9TSVRJT04iLCJyZWxvYWRpbmciLCJhZGRNZXNzYWdlTGlzdGVuZXIiLCJwYXlsb2FkIiwiYWN0aW9uIiwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIiwiU0VSVkVSX0VSUk9SIiwic3RhY2siLCJtZXNzYWdlIiwiSlNPTiIsInBhcnNlIiwiZXJyb3JKU09OIiwiZXJyb3IiLCJFcnJvciIsIlJFTE9BRF9QQUdFIiwid2luZG93IiwibG9jYXRpb24iLCJyZWxvYWQiLCJERVZfUEFHRVNfTUFOSUZFU1RfVVBEQVRFIiwiZmV0Y2giLCJyZXMiLCJqc29uIiwibWFuaWZlc3QiLCJfX0RFVl9QQUdFU19NQU5JRkVTVCIsImNhdGNoIiwiZXJyIiwiY29uc29sZSIsImxvZyIsImV2ZW50IiwiTUlERExFV0FSRV9DSEFOR0VTIiwiQ0xJRU5UX0NIQU5HRVMiLCJpc09uRXJyb3JQYWdlIiwibmV4dCIsInJvdXRlciIsInBhdGhuYW1lIiwiUnVudGltZUVycm9ySGFuZGxlciIsImhhZFJ1bnRpbWVFcnJvciIsIndhcm4iLCJSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IiLCJwZXJmb3JtRnVsbFJlbG9hZCIsIlNFUlZFUl9PTkxZX0NIQU5HRVMiLCJwYWdlcyIsImluY2x1ZGVzIiwicXVlcnkiLCJfX05FWFRfUEFHRSIsImNsYyIsInNob3ciLCJjbGVhckluZGljYXRvciIsImhpZGUiLCJyZXBsYWNlIiwiU3RyaW5nIiwiYXNzaWduIiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInNlYXJjaCIsImFzUGF0aCIsInNjcm9sbCIsImZpbmFsbHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/page-bootstrap.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/page-loader.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/page-loader.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return PageLoader;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"./node_modules/next/dist/client/add-base-path.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nconst _getassetpathfromroute = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/utils/get-asset-path-from-route */ \"./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"));\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"./node_modules/next/dist/client/add-locale.js\");\nconst _isdynamic = __webpack_require__(/*! ../shared/lib/router/utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _parserelativeurl = __webpack_require__(/*! ../shared/lib/router/utils/parse-relative-url */ \"./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\");\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _routeloader = __webpack_require__(/*! ./route-loader */ \"./node_modules/next/dist/client/route-loader.js\");\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"./node_modules/next/dist/shared/lib/constants.js\");\nclass PageLoader {\n getPageList() {\n if (false) {} else {\n if (window.__DEV_PAGES_MANIFEST) {\n return window.__DEV_PAGES_MANIFEST.pages;\n } else {\n this.promisedDevPagesManifest || (this.promisedDevPagesManifest = fetch(this.assetPrefix + \"/_next/static/development/\" + _constants.DEV_CLIENT_PAGES_MANIFEST, {\n credentials: \"same-origin\"\n }).then((res)=>res.json()).then((manifest)=>{\n window.__DEV_PAGES_MANIFEST = manifest;\n return manifest.pages;\n }).catch((err)=>{\n console.log(\"Failed to fetch devPagesManifest:\", err);\n throw new Error(\"Failed to fetch _devPagesManifest.json. Is something blocking that network request?\\n\" + \"Read more: https://nextjs.org/docs/messages/failed-to-fetch-devpagesmanifest\");\n }));\n return this.promisedDevPagesManifest;\n }\n }\n }\n getMiddleware() {\n if (false) {} else {\n if (window.__DEV_MIDDLEWARE_MATCHERS) {\n return window.__DEV_MIDDLEWARE_MATCHERS;\n } else {\n if (!this.promisedMiddlewareMatchers) {\n // TODO: Decide what should happen when fetching fails instead of asserting\n // @ts-ignore\n this.promisedMiddlewareMatchers = fetch(this.assetPrefix + \"/_next/static/\" + this.buildId + \"/\" + _constants.DEV_MIDDLEWARE_MANIFEST, {\n credentials: \"same-origin\"\n }).then((res)=>res.json()).then((matchers)=>{\n window.__DEV_MIDDLEWARE_MATCHERS = matchers;\n return matchers;\n }).catch((err)=>{\n console.log(\"Failed to fetch _devMiddlewareManifest\", err);\n });\n }\n // TODO Remove this assertion as this could be undefined\n return this.promisedMiddlewareMatchers;\n }\n }\n }\n getDataHref(params) {\n const { asPath, href, locale } = params;\n const { pathname: hrefPathname, query, search } = (0, _parserelativeurl.parseRelativeUrl)(href);\n const { pathname: asPathname } = (0, _parserelativeurl.parseRelativeUrl)(asPath);\n const route = (0, _removetrailingslash.removeTrailingSlash)(hrefPathname);\n if (route[0] !== \"/\") {\n throw new Error('Route name should start with a \"/\", got \"' + route + '\"');\n }\n const getHrefForSlug = (path)=>{\n const dataRoute = (0, _getassetpathfromroute.default)((0, _removetrailingslash.removeTrailingSlash)((0, _addlocale.addLocale)(path, locale)), \".json\");\n return (0, _addbasepath.addBasePath)(\"/_next/data/\" + this.buildId + dataRoute + search, true);\n };\n return getHrefForSlug(params.skipInterpolation ? asPathname : (0, _isdynamic.isDynamicRoute)(route) ? (0, _interpolateas.interpolateAs)(hrefPathname, asPathname, query).result : route);\n }\n _isSsg(/** the route (file-system path) */ route) {\n return this.promisedSsgManifest.then((manifest)=>manifest.has(route));\n }\n loadPage(route) {\n return this.routeLoader.loadRoute(route).then((res)=>{\n if (\"component\" in res) {\n return {\n page: res.component,\n mod: res.exports,\n styleSheets: res.styles.map((o)=>({\n href: o.href,\n text: o.content\n }))\n };\n }\n throw res.error;\n });\n }\n prefetch(route) {\n return this.routeLoader.prefetch(route);\n }\n constructor(buildId, assetPrefix){\n this.routeLoader = (0, _routeloader.createRouteLoader)(assetPrefix);\n this.buildId = buildId;\n this.assetPrefix = assetPrefix;\n this.promisedSsgManifest = new Promise((resolve)=>{\n if (window.__SSG_MANIFEST) {\n resolve(window.__SSG_MANIFEST);\n } else {\n window.__SSG_MANIFEST_CB = ()=>{\n resolve(window.__SSG_MANIFEST);\n };\n }\n });\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=page-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wYWdlLWxvYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O2VBZ0NxQkE7Ozs7eUNBN0JPOzJDQUNFOzRGQUNJO3VDQUNSO3VDQUNLOzhDQUNFO2lEQUNHO3lDQUNzQjt1Q0FJbkQ7QUFrQlEsTUFBTUE7SUEwQm5CQyxjQUFjO1FBQ1osSUFBSUMsS0FBeUIsRUFBYyxFQUUzQyxNQUFPO1lBQ0wsSUFBSUssT0FBT0Msb0JBQW9CLEVBQUU7Z0JBQy9CLE9BQU9ELE9BQU9DLG9CQUFvQixDQUFDQyxLQUFLO1lBQzFDLE9BQU87Z0JBQ0wsSUFBSSxDQUFDQyx3QkFBQUEsSUFBTCxLQUFJLENBQUNBLHdCQUFBQSxHQUE2QkMsTUFDaEMsSUFBTyxDQUFDQyxXQUFXLEdBQUMsK0JBQTRCQyxXQUFBQSx5QkFBeUIsRUFDekU7b0JBQUVDLGFBQWE7Z0JBQWMsR0FFNUJWLElBQUksQ0FBQyxDQUFDVyxNQUFRQSxJQUFJQyxJQUFJLElBQ3RCWixJQUFJLENBQUMsQ0FBQ0M7b0JBQ0xFLE9BQU9DLG9CQUFvQixHQUFHSDtvQkFDOUIsT0FBT0EsU0FBU0ksS0FBSztnQkFDdkIsR0FDQ1EsS0FBSyxDQUFDLENBQUNDO29CQUNOQyxRQUFRQyxHQUFHLENBQUUscUNBQW9DRjtvQkFDakQsTUFBTSxJQUFJRyxNQUNSLDBGQUNFO2dCQUVOO2dCQUNGLE9BQU8sSUFBSSxDQUFDWCx3QkFBd0I7WUFDdEM7UUFDRjtJQUNGO0lBRUFZLGdCQUFnQjtRQUNkLElBQUlwQixLQUF5QixFQUFjLEVBTTNDLE1BQU87WUFDTCxJQUFJSyxPQUFPcUIseUJBQXlCLEVBQUU7Z0JBQ3BDLE9BQU9yQixPQUFPcUIseUJBQXlCO1lBQ3pDLE9BQU87Z0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQ0MsMEJBQTBCLEVBQUU7b0JBQ3BDLDJFQUEyRTtvQkFDM0UsYUFBYTtvQkFDYixJQUFJLENBQUNBLDBCQUEwQixHQUFHbEIsTUFDaEMsSUFBTyxDQUFDQyxX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QztZQUN0QyxJQUFJdEUsT0FBT3VFLGNBQWMsRUFBRTtnQkFDekJELFFBQVF0RSxPQUFPdUUsY0FBYztZQUMvQixPQUFPO2dCQUNMdkUsT0FBT3dFLGlCQUFpQixHQUFHO29CQUN6QkYsUUFBUXRFLE9BQU91RSxjQUFjO2dCQUMvQjtZQUNGO1FBQ0Y7SUFDRjtBQTJIRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9wYWdlLWxvYWRlci50cz8xNDU4Il0sIm5hbWVzIjpbIlBhZ2VMb2FkZXIiLCJnZXRQYWdlTGlzdCIsInByb2Nlc3MiLCJnZXRDbGllbnRCdWlsZE1hbmlmZXN0IiwidGhlbiIsIm1hbmlmZXN0Iiwic29ydGVkUGFnZXMiLCJ3aW5kb3ciLCJfX0RFVl9QQUdFU19NQU5JRkVTVCIsInBhZ2VzIiwicHJvbWlzZWREZXZQYWdlc01hbmlmZXN0IiwiZmV0Y2giLCJhc3NldFByZWZpeCIsIkRFVl9DTElFTlRfUEFHRVNfTUFOSUZFU1QiLCJjcmVkZW50aWFscyIsInJlcyIsImpzb24iLCJjYXRjaCIsImVyciIsImNvbnNvbGUiLCJsb2ciLCJFcnJvciIsImdldE1pZGRsZXdhcmUiLCJtaWRkbGV3YXJlTWF0Y2hlcnMiLCJlbnYiLCJfX05FWFRfTUlERExFV0FSRV9NQVRDSEVSUyIsIl9fTUlERExFV0FSRV9NQVRDSEVSUyIsInVuZGVmaW5lZCIsIl9fREVWX01JRERMRVdBUkVfTUFUQ0hFUlMiLCJwcm9taXNlZE1pZGRsZXdhcmVNYXRjaGVycyIsImJ1aWxkSWQiLCJERVZfTUlERExFV0FSRV9NQU5JRkVTVCIsIm1hdGNoZXJzIiwiZ2V0RGF0YUhyZWYiLCJwYXJhbXMiLCJhc1BhdGgiLCJocmVmIiwibG9jYWxlIiwicGF0aG5hbWUiLCJocmVmUGF0aG5hbWUiLCJxdWVyeSIsInNlYXJjaCIsInBhcnNlUmVsYXRpdmVVcmwiLCJhc1BhdGhuYW1lIiwicm91dGUiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwiZ2V0SHJlZkZvclNsdWciLCJwYXRoIiwiZGF0YVJvdXRlIiwiZ2V0QXNzZXRQYXRoRnJvbVJvdXRlIiwiYWRkTG9jYWxlIiwiYWRkQmFzZVBhdGgiLCJza2lwSW50ZXJwb2xhdGlvbiIsImlzRHluYW1pY1JvdXRlIiwiaW50ZXJwb2xhdGVBcyIsInJlc3VsdCIsIl9pc1NzZyIsInByb21pc2VkU3NnTWFuaWZlc3QiLCJoYXMiLCJsb2FkUGFnZSIsInJvdXRlTG9hZGVyIiwibG9hZFJvdXRlIiwicGFnZSIsImNvbXBvbmVudCIsIm1vZCIsImV4cG9ydHMiLCJzdHlsZVNoZWV0cyIsInN0eWxlcyIsIm1hcCIsIm8iLCJ0ZXh0IiwiY29udGVudCIsImVycm9yIiwicHJlZmV0Y2giLCJjb25zdHJ1Y3RvciIsImNyZWF0ZVJvdXRlTG9hZGVyIiwiUHJvbWlzZSIsInJlc29sdmUiLCJfX1NTR19NQU5JRkVTVCIsIl9fU1NHX01BTklGRVNUX0NCIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/page-loader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/performance-relayer.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/client/performance-relayer.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO: remove in the next major version\n/* global location */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\n// copied to prevent pulling in un-necessary utils\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nconst initialHref = location.href;\nlet isRegistered = false;\nlet userReportHandler;\nfunction onReport(metric) {\n if (userReportHandler) {\n userReportHandler(metric);\n }\n // This code is not shipped, executed, or present in the client-side\n // JavaScript bundle unless explicitly enabled in your application.\n //\n // When this feature is enabled, we'll make it very clear by printing a\n // message during the build (`next build`).\n if (false) { var _window___NEXT_DATA__; }\n}\nconst _default = (onPerfEntry)=>{\n // Update function if it changes:\n userReportHandler = onPerfEntry;\n // Only register listeners once:\n if (isRegistered) {\n return;\n }\n isRegistered = true;\n const attributions = false;\n for (const webVital of WEB_VITALS){\n try {\n let mod;\n if (false) {}\n if (!mod) {\n mod = __webpack_require__(/*! next/dist/compiled/web-vitals */ \"./node_modules/next/dist/compiled/web-vitals/web-vitals.js\");\n }\n mod[\"on\" + webVital](onReport);\n } catch (err) {\n // Do nothing if the module fails to load\n console.warn(\"Failed to track \" + webVital + \" web-vital\", err);\n }\n }\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=performance-relayer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wZXJmb3JtYW5jZS1yZWxheWVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6QyxtQkFBbUI7Ozs7MkNBcUVuQjs7O2VBQUFBOzs7QUFsRUEsa0RBQWtEO0FBQ2xELE1BQU1DLGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQUU5RCxNQUFNQyxjQUFjQyxTQUFTQyxJQUFJO0FBQ2pDLElBQUlDLGVBQWU7QUFDbkIsSUFBSUM7QUFHSixTQUFTQyxTQUFTQyxNQUFjO0lBQzlCLElBQUlGLG1CQUFtQjtRQUNyQkEsa0JBQWtCRTtJQUNwQjtJQUVBLG9FQUFvRTtJQUNwRSxtRUFBbUU7SUFDbkUsRUFBRTtJQUNGLHVFQUF1RTtJQUN2RSwyQ0FBMkM7SUFDM0MsSUFDRUMsS0FFK0IsRUFDL0IsOEJBeUNGO0FBQ0Y7TUFFQVQsV0FBZSxDQUFDeUM7SUFDZCxpQ0FBaUM7SUFDakNuQyxvQkFBb0JtQztJQUVwQixnQ0FBZ0M7SUFDaEMsSUFBSXBDLGNBQWM7UUFDaEI7SUFDRjtJQUNBQSxlQUFlO0lBRWYsTUFBTXFDLGVBQTBDakMsS0FDaEI7SUFFaEMsS0FBSyxNQUFNbUMsWUFBWTNDLFdBQVk7UUFDakMsSUFBSTtZQUNGLElBQUk0QztZQUVKLElBQUlwQyxLQUE2QyxFQUFFLEVBSW5EO1lBQ0EsSUFBSSxDQUFDb0MsS0FBSztnQkFDUkEsTUFBTUcsbUJBQUFBLENBQVE7WUFDaEI7WUFDQUgsR0FBRyxDQUFDLE9BQUtELFNBQVcsQ0FBQ3JDO1FBQ3ZCLEVBQUUsT0FBT2lDLEtBQUs7WUFDWix5Q0FBeUM7WUFDekNGLFFBQVFXLElBQUksQ0FBQyxxQkFBbUJMLFdBQVMsY0FBYUo7UUFDeEQ7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3BlcmZvcm1hbmNlLXJlbGF5ZXIudHM/ODMyZSJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsIldFQl9WSVRBTFMiLCJpbml0aWFsSHJlZiIsImxvY2F0aW9uIiwiaHJlZiIsImlzUmVnaXN0ZXJlZCIsInVzZXJSZXBvcnRIYW5kbGVyIiwib25SZXBvcnQiLCJtZXRyaWMiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0FOQUxZVElDU19JRCIsIndpbmRvdyIsImJvZHkiLCJkc24iLCJpZCIsInBhZ2UiLCJfX05FWFRfREFUQV9fIiwiZXZlbnRfbmFtZSIsIm5hbWUiLCJ2YWx1ZSIsInRvU3RyaW5nIiwic3BlZWQiLCJuYXZpZ2F0b3IiLCJibG9iIiwiQmxvYiIsIlVSTFNlYXJjaFBhcmFtcyIsInR5cGUiLCJ2aXRhbHNVcmwiLCJzZW5kIiwic2VuZEJlYWNvbiIsImJpbmQiLCJmYWxsYmFja1NlbmQiLCJmZXRjaCIsIm1ldGhvZCIsImNyZWRlbnRpYWxzIiwia2VlcGFsaXZlIiwiY2F0Y2giLCJjb25zb2xlIiwiZXJyb3IiLCJlcnIiLCJvblBlcmZFbnRyeSIsImF0dHJpYnV0aW9ucyIsIl9fTkVYVF9XRUJfVklUQUxTX0FUVFJJQlVUSU9OIiwid2ViVml0YWwiLCJtb2QiLCJfX05FWFRfSEFTX1dFQl9WSVRBTFNfQVRUUklCVVRJT04iLCJpbmNsdWRlcyIsInJlcXVpcmUiLCJ3YXJuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/performance-relayer.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/portal/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/portal/index.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Portal\", ({\n enumerable: true,\n get: function() {\n return Portal;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nconst Portal = (param)=>{\n let { children, type } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const element = document.createElement(type);\n document.body.appendChild(element);\n setPortalNode(element);\n return ()=>{\n document.body.removeChild(element);\n };\n }, [\n type\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, portalNode) : null;\n};\n_c = Portal;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c;\n$RefreshReg$(_c, \"Portal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wb3J0YWwvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7OzswQ0FRYUE7OztlQUFBQTs7O21DQVJ1QjtzQ0FDUDtBQU90QixNQUFNQSxTQUFTLENBQUFDO1FBQUMsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQWUsR0FBQUY7SUFDcEQsTUFBTSxDQUFDRyxZQUFZQyxjQUFjLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBcUI7SUFFakVDLENBQUFBLEdBQUFBLE9BQUFBLFNBQVMsRUFBQztRQUNSLE1BQU1DLFVBQVVDLFNBQVNDLGFBQWEsQ0FBQ1A7UUFDdkNNLFNBQVNFLElBQUksQ0FBQ0MsV0FBVyxDQUFDSjtRQUMxQkgsY0FBY0c7UUFDZCxPQUFPO1lBQ0xDLFNBQVNFLElBQUksQ0FBQ0UsV0FBVyxDQUFDTDtRQUM1QjtJQUNGLEdBQUc7UUFBQ0w7S0FBSztJQUVULE9BQU9DLGFBQWFVLFdBQWJWLEdBQWFVLENBQUFBLEdBQUFBLFVBQUFBLFlBQVksRUFBQ1osVUFBVUUsY0FBYztBQUMzRDtLQWJhSiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC9wb3J0YWwvaW5kZXgudHN4P2I4YWIiXSwibmFtZXMiOlsiUG9ydGFsIiwicGFyYW0iLCJjaGlsZHJlbiIsInR5cGUiLCJwb3J0YWxOb2RlIiwic2V0UG9ydGFsTm9kZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsInJlbW92ZUNoaWxkIiwiY3JlYXRlUG9ydGFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/portal/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/remove-base-path.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-base-path.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeBasePath\", ({\n enumerable: true,\n get: function() {\n return removeBasePath;\n }\n}));\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || \"\";\nfunction removeBasePath(path) {\n if (false) {}\n // Can't trim the basePath if it has zero length!\n if (basePath.length === 0) return path;\n path = path.slice(basePath.length);\n if (!path.startsWith(\"/\")) path = \"/\" + path;\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBSWdCQTs7O2VBQUFBOzs7eUNBSlk7QUFFNUIsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixlQUFlSyxJQUFZO0lBQ3pDLElBQUlILEtBQTBDLEVBQUUsRUFJaEQ7SUFFQSxpREFBaUQ7SUFDakQsSUFBSUQsU0FBU08sTUFBTSxLQUFLLEdBQUcsT0FBT0g7SUFFbENBLE9BQU9BLEtBQUtJLEtBQUssQ0FBQ1IsU0FBU08sTUFBTTtJQUNqQyxJQUFJLENBQUNILEtBQUtLLFVBQVUsQ0FBQyxNQUFNTCxPQUFPLE1BQUlBO0lBQ3RDLE9BQU9BO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvcmVtb3ZlLWJhc2UtcGF0aC50cz9mYTcyIl0sIm5hbWVzIjpbInJlbW92ZUJhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJoYXNCYXNlUGF0aCIsImxlbmd0aCIsInNsaWNlIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/remove-locale.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-locale.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeLocale\", ({\n enumerable: true,\n get: function() {\n return removeLocale;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction removeLocale(path, locale) {\n if (false) {}\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0RBRWdCQTs7O2VBQUFBOzs7dUNBRlU7QUFFbkIsU0FBU0EsYUFBYUMsSUFBWSxFQUFFQyxNQUFlO0lBQ3hELElBQUlDLEtBQStCLEVBQUUsRUFZckM7SUFDQSxPQUFPRjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JlbW92ZS1sb2NhbGUudHM/YWRkYyJdLCJuYW1lcyI6WyJyZW1vdmVMb2NhbGUiLCJwYXRoIiwibG9jYWxlIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJwYXRobmFtZSIsInBhcnNlUGF0aCIsInBhdGhMb3dlciIsInRvTG93ZXJDYXNlIiwibG9jYWxlTG93ZXIiLCJzdGFydHNXaXRoIiwibGVuZ3RoIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/request-idle-callback.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/request-idle-callback.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZ0JhQSxvQkFBa0I7ZUFBbEJBOztJQWhCQUMscUJBQW1CO2VBQW5CQTs7O0FBQU4sTUFBTUEsc0JBQ1gsT0FBUUMsU0FBUyxlQUNmQSxLQUFLRCxtQkFBbUIsSUFDeEJDLEtBQUtELG1CQUFtQixDQUFDRSxJQUFJLENBQUNDLFdBQ2hDLFNBQVVDLEVBQXVCO0lBQy9CLElBQUlDLFFBQVFDLEtBQUtDLEdBQUc7SUFDcEIsT0FBT04sS0FBS08sVUFBVSxDQUFDO1FBQ3JCSixHQUFHO1lBQ0RLLFlBQVk7WUFDWkMsZUFBZTtnQkFDYixPQUFPQyxLQUFLQyxHQUFHLENBQUMsR0FBRyxLQUFNTixDQUFBQSxLQUFLQyxHQUFHLEtBQUtGLEtBQUFBO1lBQ3hDO1FBQ0Y7SUFDRixHQUFHO0FBQ0w7QUFFSyxNQUFNTixxQkFDWCxPQUFRRSxTQUFTLGVBQ2ZBLEtBQUtGLGtCQUFrQixJQUN2QkUsS0FBS0Ysa0JBQWtCLENBQUNHLElBQUksQ0FBQ0MsV0FDL0IsU0FBVVUsRUFBVTtJQUNsQixPQUFPQyxhQUFhRDtBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2sudHM/MDVmNCJdLCJuYW1lcyI6WyJjYW5jZWxJZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwic2VsZiIsImJpbmQiLCJ3aW5kb3ciLCJjYiIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInNldFRpbWVvdXQiLCJkaWRUaW1lb3V0IiwidGltZVJlbWFpbmluZyIsIk1hdGgiLCJtYXgiLCJpZCIsImNsZWFyVGltZW91dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/request-idle-callback.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/resolve-href.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/resolve-href.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXNvbHZlLWhyZWYuanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0F5QmdCQTs7O2VBQUFBOzs7eUNBdkJ1Qjt1Q0FDRjtrQ0FDaEI7bUNBQ29CO29EQUNFO3dDQUNoQjtvQ0FDSTsyQ0FDRDtBQWdCdkIsU0FBU0EsWUFDZEMsTUFBa0IsRUFDbEJDLElBQVMsRUFDVEMsU0FBbUI7SUFFbkIsNENBQTRDO0lBQzVDLElBQUlDO0lBQ0osSUFBSUMsY0FBYyxPQUFPSCxTQUFTLFdBQVdBLE9BQU9JLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDSjtJQUV6RSw2REFBNkQ7SUFDN0QsbURBQW1EO0lBQ25ELE1BQU1LLGdCQUFnQkYsWUFBWUcsS0FBSyxDQUFDO0lBQ3hDLE1BQU1DLHFCQUFxQkYsZ0JBQ3ZCRixZQUFZSyxLQUFLLENBQUNILGFBQWEsQ0FBQyxFQUFFLENBQUNJLE1BQU0sSUFDekNOO0lBRUosTUFBTU8sV0FBV0gsbUJBQW1CSSxLQUFLLENBQUMsS0FBSztJQUUvQyxJQUFJLENBQUNELFFBQVEsQ0FBQyxFQUFFLElBQUksSUFBSUosS0FBSyxDQUFDLGNBQWM7UUFDMUNNLFFBQVFDLEtBQUssQ0FDWCxtQkFBaUJWLGNBQVksdUNBQW9DSixPQUFPZSxRQUFRLEdBQUM7UUFFbkYsTUFBTUMsZ0JBQWdCQyxDQUFBQSxHQUFBQSxPQUFBQSx3QkFBd0IsRUFBQ1Q7UUFDL0NKLGNBQWMsQ0FBQ0UsZ0JBQWdCQSxhQUFhLENBQUMsRUFBRSxHQUFHLE1BQU1VO0lBQzFEO0lBRUEsMkRBQTJEO0lBQzNELElBQUksQ0FBQ0UsQ0FBQUEsR0FBQUEsWUFBQUEsVUFBVSxFQUFDZCxjQUFjO1FBQzVCLE9BQVFGLFlBQVk7WUFBQ0U7U0FBWSxHQUFHQTtJQUN0QztJQUVBLElBQUk7UUFDRkQsT0FBTyxJQUFJZ0IsSUFDVGYsWUFBWWdCLFVBQVUsQ0FBQyxPQUFPcEIsT0FBT3FCLE1BQU0sR0FBR3JCLE9BQU9lLFFBQVEsRUFDN0Q7SUFFSixFQUFFLE9BQU9PLEdBQUc7UUFDVixrREFBa0Q7UUFDbERuQixPQUFPLElBQUlnQixJQUFJLEtBQUs7SUFDdEI7SUFFQSxJQUFJO1FBQ0YsTUFBTUksV0FBVyxJQUFJSixJQUFJZixhQUFhRDtRQUN0Q29CLFNBQVNSLFFBQVEsR0FBR1MsQ0FBQUEsR0FBQUEsd0JBQUFBLDBCQUEwQixFQUFDRCxTQUFTUixRQUFRO1FBQ2hFLElBQUlVLGlCQUFpQjtRQUVyQixJQUNFQyxDQUFBQSxHQUFBQSxRQUFBQSxjQUFjLEVBQUNILFNBQVNSLFFBQVEsS0FDaENRLFNBQVNJLFlBQVksSUFDckJ6QixXQUNBO1lBQ0EsTUFBTTBCLFFBQVFDLENBQUFBLEdBQUFBLGFBQUFBLHNCQUFzQixFQUFDTixTQUFTSSxZQUFZO1lBRTFELE1BQU0sRUFBRUcsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUN0Q1QsU0FBU1IsUUFBUSxFQUNqQlEsU0FBU1IsUUFBUSxFQUNqQmE7WUFHRixJQUFJRSxRQUFRO2dCQUNWTCxpQkFBaUJwQixDQUFBQSxHQUFBQSxXQUFBQSxvQkFBb0IsRUFBQztvQkFDcENVLFVBQVVlO29CQUNWRyxNQUFNVixTQUFTVSxJQUFJO29CQUNuQkwsT0FBT00sQ0FBQUEsR0FBQUEsTUFBQUEsSUFBSSxFQUFDTixPQUFPRztnQkFDckI7WUFDRjtRQUNGO1FBRUEsb0VBQW9FO1FBQ3BFLE1BQU1JLGVBQ0paLFNBQVNhLE1BQU0sS0FBS2pDLEtBQUtpQyxNQUFNLEdBQzNCYixTQUFTdEIsSUFBSSxDQUFDUSxLQUFLLENBQUNjLFNBQVNhLE1BQU0sQ0FBQzFCLE1BQU0sSUFDMUNhLFNBQVN0QixJQUFJO1FBRW5CLE9BQU9DLFlBQ0g7WUFBQ2lDO1lBQWNWLGtCQUFrQlU7U0FBYSxHQUM5Q0E7SUFDTixFQUFFLE9BQU9iLEdBQUc7UUFDVixPQUFPcEIsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3JDO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvcmVzb2x2ZS1ocmVmLnRzP2U2ZDIiXSwibmFtZXMiOlsicmVzb2x2ZUhyZWYiLCJyb3V0ZXIiLCJocmVmIiwicmVzb2x2ZUFzIiwiYmFzZSIsInVybEFzU3RyaW5nIiwiZm9ybWF0V2l0aFZhbGlkYXRpb24iLCJ1cmxQcm90b01hdGNoIiwibWF0Y2giLCJ1cmxBc1N0cmluZ05vUHJvdG8iLCJzbGljZSIsImxlbmd0aCIsInVybFBhcnRzIiwic3BsaXQiLCJjb25zb2xlIiwiZXJyb3IiLCJwYXRobmFtZSIsIm5vcm1hbGl6ZWRVcmwiLCJub3JtYWxpemVSZXBlYXRlZFNsYXNoZXMiLCJpc0xvY2FsVVJMIiwiVVJMIiwic3RhcnRzV2l0aCIsImFzUGF0aCIsIl8iLCJmaW5hbFVybCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiaW50ZXJwb2xhdGVkQXMiLCJpc0R5bmFtaWNSb3V0ZSIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5Iiwic2VhcmNoUGFyYW1zVG9VcmxRdWVyeSIsInJlc3VsdCIsInBhcmFtcyIsImludGVycG9sYXRlQXMiLCJoYXNoIiwib21pdCIsInJlc29sdmVkSHJlZiIsIm9yaWdpbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/resolve-href.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/route-announcer.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/route-announcer.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RouteAnnouncer: function() {\n return RouteAnnouncer;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nconst nextjsRouteAnnouncerStyles = {\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 top: 0,\n width: \"1px\",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n};\nconst RouteAnnouncer = ()=>{\n _s();\n const { asPath } = (0, _router.useRouter)();\n const [routeAnnouncement, setRouteAnnouncement] = _react.default.useState(\"\");\n // Only announce the path change, but not for the first load because screen\n // reader will do that automatically.\n const previouslyLoadedPath = _react.default.useRef(asPath);\n // Every time the path changes, announce the new page’s title following this\n // priority: first the document title (from head), otherwise the first h1, or\n // if none of these exist, then the pathname from the URL. This methodology is\n // inspired by Marcy Sutton’s accessible client routing user testing. More\n // information can be found here:\n // https://www.gatsbyjs.com/blog/2019-07-11-user-testing-accessible-client-routing/\n _react.default.useEffect(()=>{\n // If the path hasn't change, we do nothing.\n if (previouslyLoadedPath.current === asPath) return;\n previouslyLoadedPath.current = asPath;\n if (document.title) {\n setRouteAnnouncement(document.title);\n } else {\n const pageHeader = document.querySelector(\"h1\");\n var _pageHeader_innerText;\n const content = (_pageHeader_innerText = pageHeader == null ? void 0 : pageHeader.innerText) != null ? _pageHeader_innerText : pageHeader == null ? void 0 : pageHeader.textContent;\n setRouteAnnouncement(content || asPath);\n }\n }, [\n asPath\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n \"aria-live\": \"assertive\" // Make the announcement immediately.\n ,\n id: \"__next-route-announcer__\",\n role: \"alert\",\n style: nextjsRouteAnnouncerStyles,\n children: routeAnnouncement\n });\n};\n_s(RouteAnnouncer, \"YC5SCNeVaenA6x7RBk3t0O2D/M8=\");\n_c = RouteAnnouncer;\nconst _default = RouteAnnouncer;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=route-announcer.js.map\nvar _c;\n$RefreshReg$(_c, \"RouteAnnouncer\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZS1hbm5vdW5jZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUFtQmFBLGdCQUFjO2VBQWRBOztJQTZDYkMsU0FBNkI7ZUFBN0JDOzs7Ozs0RUFoRWtCO29DQUNRO0FBRTFCLE1BQU1DLDZCQUFrRDtJQUN0REMsUUFBUTtJQUNSQyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsUUFBUTtJQUNSQyxVQUFVO0lBQ1ZDLFNBQVM7SUFDVEMsVUFBVTtJQUNWQyxLQUFLO0lBQ0xDLE9BQU87SUFFUCx3RkFBd0Y7SUFDeEZDLFlBQVk7SUFDWkMsVUFBVTtBQUNaO0FBRU8sTUFBTWQsaUJBQWlCOztJQUM1QixNQUFNLEVBQUVlLE1BQU0sRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxRQUFBQSxTQUFTO0lBQzVCLE1BQU0sQ0FBQ0MsbUJBQW1CQyxxQkFBcUIsR0FBR0MsT0FBQUEsT0FBSyxDQUFDQyxRQUFRLENBQUM7SUFFakUsMkVBQTJFO0lBQzNFLHFDQUFxQztJQUNyQyxNQUFNQyx1QkFBdUJGLE9BQUFBLE9BQUssQ0FBQ0csTUFBTSxDQUFDUDtJQUUxQyw0RUFBNEU7SUFDNUUsNkVBQTZFO0lBQzdFLDhFQUE4RTtJQUM5RSwwRUFBMEU7SUFDMUUsaUNBQWlDO0lBQ2pDLG1GQUFtRjtJQUNuRkksT0FBQUEsT0FBSyxDQUFDSSxTQUFTLENBQ2I7UUFDRSw0Q0FBNEM7UUFDNUMsSUFBSUYscUJBQXFCRyxPQUFPLEtBQUtULFFBQVE7UUFDN0NNLHFCQUFxQkcsT0FBTyxHQUFHVDtRQUUvQixJQUFJVSxTQUFTQyxLQUFLLEVBQUU7WUFDbEJSLHFCQUFxQk8sU0FBU0MsS0FBSztRQUNyQyxPQUFPO1lBQ0wsTUFBTUMsYUFBYUYsU0FBU0csYUFBYSxDQUFDO2dCQUMxQkQ7WUFBaEIsTUFBTUUsVUFBVUYsQ0FBQUEsd0JBQUFBLGNBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFdBQVlHLFNBQVMsWUFBckJILHdCQUF5QkEsY0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsV0FBWUksV0FBVztZQUVoRWIscUJBQXFCVyxXQUFXZDtRQUNsQztJQUNGLEdBRUE7UUFBQ0E7S0FBTztJQUdWLE9BQ0UsV0FERixHQUNFLElBQUFpQixZQUFBQyxHQUFBLEVBQUNDLEtBQUFBO1FBQ0NDLGFBQVUsWUFBWSxxQ0FBcUM7O1FBQzNEQyxJQUFHO1FBQ0hDLE1BQUs7UUFDTEMsT0FBT25DO2tCQUVOYzs7QUFHUDtHQTNDYWpCO0tBQUFBO01BNkNiRSxXQUFlRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yb3V0ZS1hbm5vdW5jZXIudHN4PzU5MGEiXSwibmFtZXMiOlsiUm91dGVBbm5vdW5jZXIiLCJkZWZhdWx0IiwiX2RlZmF1bHQiLCJuZXh0anNSb3V0ZUFubm91bmNlclN0eWxlcyIsImJvcmRlciIsImNsaXAiLCJoZWlnaHQiLCJtYXJnaW4iLCJvdmVyZmxvdyIsInBhZGRpbmciLCJwb3NpdGlvbiIsInRvcCIsIndpZHRoIiwid2hpdGVTcGFjZSIsIndvcmRXcmFwIiwiYXNQYXRoIiwidXNlUm91dGVyIiwicm91dGVBbm5vdW5jZW1lbnQiLCJzZXRSb3V0ZUFubm91bmNlbWVudCIsIlJlYWN0IiwidXNlU3RhdGUiLCJwcmV2aW91c2x5TG9hZGVkUGF0aCIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJkb2N1bWVudCIsInRpdGxlIiwicGFnZUhlYWRlciIsInF1ZXJ5U2VsZWN0b3IiLCJjb250ZW50IiwiaW5uZXJUZXh0IiwidGV4dENvbnRlbnQiLCJfanN4cnVudGltZSIsImpzeCIsInAiLCJhcmlhLWxpdmUiLCJpZCIsInJvbGUiLCJzdHlsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/route-announcer.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/route-loader.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/route-loader.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createRouteLoader: function() {\n return createRouteLoader;\n },\n getClientBuildManifest: function() {\n return getClientBuildManifest;\n },\n isAssetError: function() {\n return isAssetError;\n },\n markAssetError: function() {\n return markAssetError;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getassetpathfromroute = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/utils/get-asset-path-from-route */ \"./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"));\nconst _trustedtypes = __webpack_require__(/*! ./trusted-types */ \"./node_modules/next/dist/client/trusted-types.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\nconst _deploymentid = __webpack_require__(/*! ../build/deployment-id */ \"./node_modules/next/dist/build/deployment-id.js\");\n// 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\nconst MS_MAX_IDLE_DELAY = 3800;\nfunction withFuture(key, map, generator) {\n let entry = map.get(key);\n if (entry) {\n if (\"future\" in entry) {\n return entry.future;\n }\n return Promise.resolve(entry);\n }\n let resolver;\n const prom = new Promise((resolve)=>{\n resolver = resolve;\n });\n map.set(key, entry = {\n resolve: resolver,\n future: prom\n });\n return generator ? generator() // eslint-disable-next-line no-sequences\n .then((value)=>(resolver(value), value)).catch((err)=>{\n map.delete(key);\n throw err;\n }) : prom;\n}\nconst ASSET_LOAD_ERROR = Symbol(\"ASSET_LOAD_ERROR\");\nfunction markAssetError(err) {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {});\n}\nfunction isAssetError(err) {\n return err && ASSET_LOAD_ERROR in err;\n}\nfunction hasPrefetch(link) {\n try {\n link = document.createElement(\"link\");\n return(// with relList.support\n !!window.MSInputMethodContext && !!document.documentMode || link.relList.supports(\"prefetch\"));\n } catch (e) {\n return false;\n }\n}\nconst canPrefetch = hasPrefetch();\nconst getAssetQueryString = ()=>{\n return (0, _deploymentid.getDeploymentIdQueryOrEmptyString)();\n};\nfunction prefetchViaDom(href, as, link) {\n return new Promise((resolve, reject)=>{\n const selector = '\\n link[rel=\"prefetch\"][href^=\"' + href + '\"],\\n link[rel=\"preload\"][href^=\"' + href + '\"],\\n script[src^=\"' + href + '\"]';\n if (document.querySelector(selector)) {\n return resolve();\n }\n link = document.createElement(\"link\");\n // The order of property assignment here is intentional:\n if (as) link.as = as;\n link.rel = \"prefetch\";\n link.crossOrigin = undefined;\n link.onload = resolve;\n link.onerror = ()=>reject(markAssetError(new Error(\"Failed to prefetch: \" + href)));\n // `href` should always be last:\n link.href = href;\n document.head.appendChild(link);\n });\n}\nfunction appendScript(src, script) {\n return new Promise((resolve, reject)=>{\n script = document.createElement(\"script\");\n // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n script.onload = resolve;\n script.onerror = ()=>reject(markAssetError(new Error(\"Failed to load script: \" + src)));\n // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n script.crossOrigin = undefined;\n // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n script.src = src;\n document.body.appendChild(script);\n });\n}\n// We wait for pages to be built in dev before we start the route transition\n// timeout to prevent an un-necessary hard navigation in development.\nlet devBuildPromise;\n// Resolve a promise that times out after given amount of milliseconds.\nfunction resolvePromiseWithTimeout(p, ms, err) {\n return new Promise((resolve, reject)=>{\n let cancelled = false;\n p.then((r)=>{\n // Resolved, cancel the timeout\n cancelled = true;\n resolve(r);\n }).catch(reject);\n // We wrap these checks separately for better dead-code elimination in\n // production bundles.\n if (true) {\n (devBuildPromise || Promise.resolve()).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>setTimeout(()=>{\n if (!cancelled) {\n reject(err);\n }\n }, ms));\n });\n }\n if (false) {}\n });\n}\nfunction getClientBuildManifest() {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST);\n }\n const onBuildManifest = new Promise((resolve)=>{\n // Mandatory because this is not concurrent safe:\n const cb = self.__BUILD_MANIFEST_CB;\n self.__BUILD_MANIFEST_CB = ()=>{\n resolve(self.__BUILD_MANIFEST);\n cb && cb();\n };\n });\n return resolvePromiseWithTimeout(onBuildManifest, MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Failed to load client build manifest\")));\n}\nfunction getFilesForRoute(assetPrefix, route) {\n if (true) {\n const scriptUrl = assetPrefix + \"/_next/static/chunks/pages\" + encodeURI((0, _getassetpathfromroute.default)(route, \".js\")) + getAssetQueryString();\n return Promise.resolve({\n scripts: [\n (0, _trustedtypes.__unsafeCreateTrustedScriptURL)(scriptUrl)\n ],\n // Styles are handled by `style-loader` in development:\n css: []\n });\n }\n return getClientBuildManifest().then((manifest)=>{\n if (!(route in manifest)) {\n throw markAssetError(new Error(\"Failed to lookup route: \" + route));\n }\n const allFiles = manifest[route].map((entry)=>assetPrefix + \"/_next/\" + encodeURI(entry));\n return {\n scripts: allFiles.filter((v)=>v.endsWith(\".js\")).map((v)=>(0, _trustedtypes.__unsafeCreateTrustedScriptURL)(v) + getAssetQueryString()),\n css: allFiles.filter((v)=>v.endsWith(\".css\")).map((v)=>v + getAssetQueryString())\n };\n });\n}\nfunction createRouteLoader(assetPrefix) {\n const entrypoints = new Map();\n const loadedScripts = new Map();\n const styleSheets = new Map();\n const routes = new Map();\n function maybeExecuteScript(src) {\n // With HMR we might need to \"reload\" scripts when they are\n // disposed and readded. Executing scripts twice has no functional\n // differences\n if (false) {} else {\n return appendScript(src);\n }\n }\n function fetchStyleSheet(href) {\n let prom = styleSheets.get(href);\n if (prom) {\n return prom;\n }\n styleSheets.set(href, prom = fetch(href, {\n credentials: \"same-origin\"\n }).then((res)=>{\n if (!res.ok) {\n throw new Error(\"Failed to load stylesheet: \" + href);\n }\n return res.text().then((text)=>({\n href: href,\n content: text\n }));\n }).catch((err)=>{\n throw markAssetError(err);\n }));\n return prom;\n }\n return {\n whenEntrypoint (route) {\n return withFuture(route, entrypoints);\n },\n onEntrypoint (route, execute) {\n (execute ? Promise.resolve().then(()=>execute()).then((exports1)=>({\n component: exports1 && exports1.default || exports1,\n exports: exports1\n }), (err)=>({\n error: err\n })) : Promise.resolve(undefined)).then((input)=>{\n const old = entrypoints.get(route);\n if (old && \"resolve\" in old) {\n if (input) {\n entrypoints.set(route, input);\n old.resolve(input);\n }\n } else {\n if (input) {\n entrypoints.set(route, input);\n } else {\n entrypoints.delete(route);\n }\n // when this entrypoint has been resolved before\n // the route is outdated and we want to invalidate\n // this cache entry\n routes.delete(route);\n }\n });\n },\n loadRoute (route, prefetch) {\n return withFuture(route, routes, ()=>{\n let devBuildPromiseResolve;\n if (true) {\n devBuildPromise = new Promise((resolve)=>{\n devBuildPromiseResolve = resolve;\n });\n }\n return resolvePromiseWithTimeout(getFilesForRoute(assetPrefix, route).then((param)=>{\n let { scripts, css } = param;\n return Promise.all([\n entrypoints.has(route) ? [] : Promise.all(scripts.map(maybeExecuteScript)),\n Promise.all(css.map(fetchStyleSheet))\n ]);\n }).then((res)=>{\n return this.whenEntrypoint(route).then((entrypoint)=>({\n entrypoint,\n styles: res[1]\n }));\n }), MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Route did not complete loading: \" + route))).then((param)=>{\n let { entrypoint, styles } = param;\n const res = Object.assign({\n styles: styles\n }, entrypoint);\n return \"error\" in entrypoint ? entrypoint : res;\n }).catch((err)=>{\n if (prefetch) {\n // we don't want to cache errors during prefetch\n throw err;\n }\n return {\n error: err\n };\n }).finally(()=>devBuildPromiseResolve == null ? void 0 : devBuildPromiseResolve());\n });\n },\n prefetch (route) {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn;\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve();\n }\n return getFilesForRoute(assetPrefix, route).then((output)=>Promise.all(canPrefetch ? output.scripts.map((script)=>prefetchViaDom(script.toString(), \"script\")) : [])).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>this.loadRoute(route, true).catch(()=>{}));\n }).catch(()=>{});\n }\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=route-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBOFJnQkEsbUJBQWlCO2VBQWpCQTs7SUEzREFDLHdCQUFzQjtlQUF0QkE7O0lBbklBQyxjQUFZO2VBQVpBOztJQUpBQyxnQkFBYztlQUFkQTs7Ozs0RkExRmtCOzBDQUNhO2lEQUNYOzBDQUNjO0FBRWxELHVFQUF1RTtBQUN2RSx5RUFBeUU7QUFDekUsMkVBQTJFO0FBQzNFLG9DQUFvQztBQUNwQyxNQUFNQyxvQkFBb0I7QUE0QzFCLFNBQVNDLFdBQ1BDLEdBQVcsRUFDWEMsR0FBK0IsRUFDL0JDLFNBQTRCO0lBRTVCLElBQUlDLFFBQVFGLElBQUlHLEdBQUcsQ0FBQ0o7SUFDcEIsSUFBSUcsT0FBTztRQUNULElBQUksWUFBWUEsT0FBTztZQUNyQixPQUFPQSxNQUFNRSxNQUFNO1FBQ3JCO1FBQ0EsT0FBT0MsUUFBUUMsT0FBTyxDQUFDSjtJQUN6QjtJQUNBLElBQUlLO0lBQ0osTUFBTUMsT0FBbUIsSUFBSUgsUUFBVyxDQUFDQztRQUN2Q0MsV0FBV0Q7SUFDYjtJQUNBTixJQUFJUyxHQUFHLENBQUNWLEtBQU1HLFFBQVE7UUFBRUksU0FBU0M7UUFBV0gsUUFBUUk7SUFBSztJQUN6RCxPQUFPUCxZQUNIQSxZQUNFLHdDQUF3QztLQUN2Q1MsSUFBSSxDQUFDLENBQUNDLFFBQVdKLENBQUFBLFNBQVNJLFFBQVFBLEtBQUFBLEdBQ2xDQyxLQUFLLENBQUMsQ0FBQ0M7UUFDTmIsSUFBSWMsTUFBTSxDQUFDZjtRQUNYLE1BQU1jO0lBQ1IsS0FDRkw7QUFDTjtBQVNBLE1BQU1PLG1CQUFtQkMsT0FBTztBQUV6QixTQUFTcEIsZUFBZWlCLEdBQVU7SUFDdkMsT0FBT0ksT0FBT0MsY0FBYyxDQUFDTCxLQUFLRSxrQkFBa0IsQ0FBQztBQUN2RDtBQUVPLFNBQVNwQixhQUFha0IsR0FBVztJQUN0QyxPQUFPQSxPQUFPRSxvQkFBb0JGO0FBQ3BD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QUksQ0FBQzhDLFNBQVMsQ0FBQ3JDLE9BQU8sTUFBTXZELEtBQUssQ0FBQyxLQUFPO1lBQ3JFLEdBQ0NBLEtBQUssQ0FFSixLQUFPO1FBRWI7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JvdXRlLWxvYWRlci50cz85YTU3Il0sIm5hbWVzIjpbImNyZWF0ZVJvdXRlTG9hZGVyIiwiZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCIsImlzQXNzZXRFcnJvciIsIm1hcmtBc3NldEVycm9yIiwiTVNfTUFYX0lETEVfREVMQVkiLCJ3aXRoRnV0dXJlIiwia2V5IiwibWFwIiwiZ2VuZXJhdG9yIiwiZW50cnkiLCJnZXQiLCJmdXR1cmUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc29sdmVyIiwicHJvbSIsInNldCIsInRoZW4iLCJ2YWx1ZSIsImNhdGNoIiwiZXJyIiwiZGVsZXRlIiwiQVNTRVRfTE9BRF9FUlJPUiIsIlN5bWJvbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiaGFzUHJlZmV0Y2giLCJsaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid2luZG93IiwiTVNJbnB1dE1ldGhvZENvbnRleHQiLCJkb2N1bWVudE1vZGUiLCJyZWxMaXN0Iiwic3VwcG9ydHMiLCJlIiwiY2FuUHJlZmV0Y2giLCJnZXRBc3NldFF1ZXJ5U3RyaW5nIiwiZ2V0RGVwbG95bWVudElkUXVlcnlPckVtcHR5U3RyaW5nIiwicHJlZmV0Y2hWaWFEb20iLCJocmVmIiwiYXMiLCJyZWplY3QiLCJzZWxlY3RvciIsInF1ZXJ5U2VsZWN0b3IiLCJyZWwiLCJjcm9zc09yaWdpbiIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQ1JPU1NfT1JJR0lOIiwib25sb2FkIiwib25lcnJvciIsIkVycm9yIiwiaGVhZCIsImFwcGVuZENoaWxkIiwiYXBwZW5kU2NyaXB0Iiwic3JjIiwic2NyaXB0IiwiYm9keSIsImRldkJ1aWxkUHJvbWlzZSIsInJlc29sdmVQcm9taXNlV2l0aFRpbWVvdXQiLCJwIiwibXMiLCJjYW5jZWxsZWQiLCJyIiwicmVxdWVzdElkbGVDYWxsYmFjayIsInNldFRpbWVvdXQiLCJzZWxmIiwiX19CVUlMRF9NQU5JRkVTVCIsIm9uQnVpbGRNYW5pZmVzdCIsImNiIiwiX19CVUlMRF9NQU5JRkVTVF9DQiIsImdldEZpbGVzRm9yUm91dGUiLCJhc3NldFByZWZpeCIsInJvdXRlIiwic2NyaXB0VXJsIiwiZW5jb2RlVVJJIiwiZ2V0QXNzZXRQYXRoRnJvbVJvdXRlIiwic2NyaXB0cyIsIl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCIsImNzcyIsIm1hbmlmZXN0IiwiYWxsRmlsZXMiLCJmaWx0ZXIiLCJ2IiwiZW5kc1dpdGgiLCJlbnRyeXBvaW50cyIsIk1hcCIsImxvYWRlZFNjcmlwdHMiLCJzdHlsZVNoZWV0cyIsInJvdXRlcyIsIm1heWJlRXhlY3V0ZVNjcmlwdCIsInRvU3RyaW5nIiwiZmV0Y2hTdHlsZVNoZWV0IiwiZmV0Y2giLCJjcmVkZW50aWFscyIsInJlcyIsIm9rIiwidGV4dCIsImNvbnRlbnQiLCJ3aGVuRW50cnlwb2ludCIsIm9uRW50cnlwb2ludCIsImV4ZWN1dGUiLCJleHBvcnRzIiwiY29tcG9uZW50IiwiZXhwb3J0czEiLCJkZWZhdWx0IiwiZXJyb3IiLCJ1bmRlZmluZWQiLCJpbnB1dCIsIm9sZCIsImxvYWRSb3V0ZSIsInByZWZldGNoIiwiZGV2QnVpbGRQcm9taXNlUmVzb2x2ZSIsInBhcmFtIiwiYWxsIiwiaGFzIiwiZW50cnlwb2ludCIsInN0eWxlcyIsImFzc2lnbiIsImZpbmFsbHkiLCJjbiIsIm5hdmlnYXRvciIsImNvbm5lY3Rpb24iLCJzYXZlRGF0YSIsInRlc3QiLCJlZmZlY3RpdmVUeXBlIiwib3V0cHV0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/route-loader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/router.js": -/*!*************************************************!*\ - !*** ./node_modules/next/dist/client/router.js ***! - \*************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* global window */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Router: function() {\n return _router.default;\n },\n createRouter: function() {\n return createRouter;\n },\n // Export the singletonRouter and this is the public API.\n default: function() {\n return _default;\n },\n makePublicRouterInstance: function() {\n return makePublicRouterInstance;\n },\n useRouter: function() {\n return useRouter;\n },\n withRouter: function() {\n return _withrouter.default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/router */ \"./node_modules/next/dist/shared/lib/router/router.js\"));\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _withrouter = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./with-router */ \"./node_modules/next/dist/client/with-router.js\"));\nconst singletonRouter = {\n router: null,\n readyCallbacks: [],\n ready (callback) {\n if (this.router) return callback();\n if (true) {\n this.readyCallbacks.push(callback);\n }\n }\n};\n// Create public properties and methods of the router in the singletonRouter\nconst urlPropertyFields = [\n \"pathname\",\n \"route\",\n \"query\",\n \"asPath\",\n \"components\",\n \"isFallback\",\n \"basePath\",\n \"locale\",\n \"locales\",\n \"defaultLocale\",\n \"isReady\",\n \"isPreview\",\n \"isLocaleDomain\",\n \"domainLocales\"\n];\nconst routerEvents = [\n \"routeChangeStart\",\n \"beforeHistoryChange\",\n \"routeChangeComplete\",\n \"routeChangeError\",\n \"hashChangeStart\",\n \"hashChangeComplete\"\n];\nconst coreMethodFields = [\n \"push\",\n \"replace\",\n \"reload\",\n \"back\",\n \"prefetch\",\n \"beforePopState\"\n];\n// Events is a static property on the router, the router doesn't have to be initialized to use it\nObject.defineProperty(singletonRouter, \"events\", {\n get () {\n return _router.default.events;\n }\n});\nfunction getRouter() {\n if (!singletonRouter.router) {\n const message = \"No router instance found.\\n\" + 'You should only use \"next/router\" on the client side of your app.\\n';\n throw new Error(message);\n }\n return singletonRouter.router;\n}\nurlPropertyFields.forEach((field)=>{\n // Here we need to use Object.defineProperty because we need to return\n // the property assigned to the actual router\n // The value might get changed as we change routes and this is the\n // proper way to access it\n Object.defineProperty(singletonRouter, field, {\n get () {\n const router = getRouter();\n return router[field];\n }\n });\n});\ncoreMethodFields.forEach((field)=>{\n singletonRouter[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const router = getRouter();\n return router[field](...args);\n };\n});\nrouterEvents.forEach((event)=>{\n singletonRouter.ready(()=>{\n _router.default.events.on(event, function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const eventField = \"on\" + event.charAt(0).toUpperCase() + event.substring(1);\n const _singletonRouter = singletonRouter;\n if (_singletonRouter[eventField]) {\n try {\n _singletonRouter[eventField](...args);\n } catch (err) {\n console.error(\"Error when running the Router event: \" + eventField);\n console.error((0, _iserror.default)(err) ? err.message + \"\\n\" + err.stack : err + \"\");\n }\n }\n });\n });\n});\nconst _default = singletonRouter;\nfunction useRouter() {\n _s();\n const router = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n if (!router) {\n throw new Error(\"NextRouter was not mounted. https://nextjs.org/docs/messages/next-router-not-mounted\");\n }\n return router;\n}\n_s(useRouter, \"rbAhEc3dLGnVlsHWaSDsgP4MZS0=\");\nfunction createRouter() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n singletonRouter.router = new _router.default(...args);\n singletonRouter.readyCallbacks.forEach((cb)=>cb());\n singletonRouter.readyCallbacks = [];\n return singletonRouter.router;\n}\nfunction makePublicRouterInstance(router) {\n const scopedRouter = router;\n const instance = {};\n for (const property of urlPropertyFields){\n if (typeof scopedRouter[property] === \"object\") {\n instance[property] = Object.assign(Array.isArray(scopedRouter[property]) ? [] : {}, scopedRouter[property]) // makes sure query is not stateful\n ;\n continue;\n }\n instance[property] = scopedRouter[property];\n }\n // Events is a static property on the router, the router doesn't have to be initialized to use it\n instance.events = _router.default.events;\n coreMethodFields.forEach((field)=>{\n instance[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n return scopedRouter[field](...args);\n };\n });\n return instance;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCOztBQUFBOzs7Ozs7Ozs7Ozs7SUFhUkEsUUFBTTtlQUFOQSxRQUFBQSxPQUFNOztJQTZJQ0MsY0FBWTtlQUFaQTs7SUE3QmhCLHlEQUF5RDtJQUN6REMsU0FBaUQ7ZUFBakRDOztJQTBDZ0JDLDBCQUF3QjtlQUF4QkE7O0lBL0JBQyxXQUFTO2VBQVRBOztJQVJJQyxZQUFVO2VBQVZBLFlBQUFBLE9BQVU7Ozs7NEVBaElaOzZFQUNDO3dEQUVXOzhFQUNWO2lGQTRIa0I7QUE5R3RDLE1BQU1DLGtCQUF1QztJQUMzQ0MsUUFBUTtJQUNSQyxnQkFBZ0IsRUFBRTtJQUNsQkMsT0FBTUMsUUFBb0I7UUFDeEIsSUFBSSxJQUFJLENBQUNILE1BQU0sRUFBRSxPQUFPRztRQUN4QixJQUFJLElBQWtCLEVBQWE7WUFDakMsSUFBSSxDQUFDRixjQUFjLENBQUNHLElBQUksQ0FBQ0Q7UUFDM0I7SUFDRjtBQUNGO0FBRUEsNEVBQTRFO0FBQzVFLE1BQU1FLG9CQUFvQjtJQUN4QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFDRCxNQUFNQyxlQUFlO0lBQ25CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBR0QsTUFBTUMsbUJBQW1CO0lBQ3ZCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRUQsaUdBQWlHO0FBQ2pHQyxPQUFPQyxjQUFjLENBQUNWLGlCQUFpQixVQUFVO0lBQy9DVztRQUNFLE9BQU9sQixRQUFBQSxPQUFNLENBQUNtQixNQUFNO0lBQ3RCO0FBQ0Y7QUFFQSxTQUFTQztJQUNQLElBQUksQ0FBQ2IsZ0JBQWdCQyxNQUFNLEVBQUU7UUFDM0IsTUFBTWEsVUFDSixnQ0FDQTtRQUNGLE1BQU0sSUFBSUMsTUFBTUQ7SUFDbEI7SUFDQSxPQUFPZCxn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LFlBQVksQ0FBQ0UsU0FBUztJQUM3QztJQUVBLGlHQUFpRztJQUNqR0QsU0FBUzdCLE1BQU0sR0FBR25CLFFBQUFBLE9BQU0sQ0FBQ21CLE1BQU07SUFFL0JKLGlCQUFpQlEsT0FBTyxDQUFDLENBQUNDO1FBQ3hCd0IsUUFBUSxDQUFDeEIsTUFBTSxHQUFHOzZDQUFJQyxPQUFBQSxJQUFBQSxNQUFBQSxPQUFBQSxPQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxPQUFBQTtnQkFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O1lBQ3BCLE9BQU9zQixZQUFZLENBQUN2QixNQUFNLElBQUlDO1FBQ2hDO0lBQ0Y7SUFFQSxPQUFPdUI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yb3V0ZXIudHM/NmQ5MyJdLCJuYW1lcyI6WyJSb3V0ZXIiLCJjcmVhdGVSb3V0ZXIiLCJkZWZhdWx0IiwiX2RlZmF1bHQiLCJtYWtlUHVibGljUm91dGVySW5zdGFuY2UiLCJ1c2VSb3V0ZXIiLCJ3aXRoUm91dGVyIiwic2luZ2xldG9uUm91dGVyIiwicm91dGVyIiwicmVhZHlDYWxsYmFja3MiLCJyZWFkeSIsImNhbGxiYWNrIiwicHVzaCIsInVybFByb3BlcnR5RmllbGRzIiwicm91dGVyRXZlbnRzIiwiY29yZU1ldGhvZEZpZWxkcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0IiwiZXZlbnRzIiwiZ2V0Um91dGVyIiwibWVzc2FnZSIsIkVycm9yIiwiZm9yRWFjaCIsImZpZWxkIiwiYXJncyIsImV2ZW50Iiwib24iLCJldmVudEZpZWxkIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciLCJfc2luZ2xldG9uUm91dGVyIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiaXNFcnJvciIsInN0YWNrIiwiUmVhY3QiLCJ1c2VDb250ZXh0IiwiUm91dGVyQ29udGV4dCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJBcnJheSIsIl9rZXkiLCJjYiIsInNjb3BlZFJvdXRlciIsImluc3RhbmNlIiwicHJvcGVydHkiLCJhc3NpZ24iLCJpc0FycmF5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/script.js": -/*!*************************************************!*\ - !*** ./node_modules/next/dist/client/script.js ***! - \*************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n handleClientScriptLoad: function() {\n return handleClientScriptLoad;\n },\n initScriptLoader: function() {\n return initScriptLoader;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ../shared/lib/head-manager-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _headmanager = __webpack_require__(/*! ./head-manager */ \"./node_modules/next/dist/client/head-manager.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\nconst ScriptCache = new Map();\nconst LoadCache = new Set();\nconst ignoreProps = [\n \"onLoad\",\n \"onReady\",\n \"dangerouslySetInnerHTML\",\n \"children\",\n \"onError\",\n \"strategy\",\n \"stylesheets\"\n];\nconst insertStylesheets = (stylesheets)=>{\n // Case 1: Styles for afterInteractive/lazyOnload with appDir injected via handleClientScriptLoad\n //\n // Using ReactDOM.preinit to feature detect appDir and inject styles\n // Stylesheets might have already been loaded if initialized with Script component\n // Re-inject styles here to handle scripts loaded via handleClientScriptLoad\n // ReactDOM.preinit handles dedup and ensures the styles are loaded only once\n if (_reactdom.default.preinit) {\n stylesheets.forEach((stylesheet)=>{\n _reactdom.default.preinit(stylesheet, {\n as: \"style\"\n });\n });\n return;\n }\n // Case 2: Styles for afterInteractive/lazyOnload with pages injected via handleClientScriptLoad\n //\n // We use this function to load styles when appdir is not detected\n // TODO: Use React float APIs to load styles once available for pages dir\n if (true) {\n let head = document.head;\n stylesheets.forEach((stylesheet)=>{\n let link = document.createElement(\"link\");\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = stylesheet;\n head.appendChild(link);\n });\n }\n};\nconst loadScript = (props)=>{\n const { src, id, onLoad = ()=>{}, onReady = null, dangerouslySetInnerHTML, children = \"\", strategy = \"afterInteractive\", onError, stylesheets } = props;\n const cacheKey = id || src;\n // Script has already loaded\n if (cacheKey && LoadCache.has(cacheKey)) {\n return;\n }\n // Contents of this script are already loading/loaded\n if (ScriptCache.has(src)) {\n LoadCache.add(cacheKey);\n // It is possible that multiple `next/script` components all have same \"src\", but has different \"onLoad\"\n // This is to make sure the same remote script will only load once, but \"onLoad\" are executed in order\n ScriptCache.get(src).then(onLoad, onError);\n return;\n }\n /** Execute after the script first loaded */ const afterLoad = ()=>{\n // Run onReady for the first time after load event\n if (onReady) {\n onReady();\n }\n // add cacheKey to LoadCache when load successfully\n LoadCache.add(cacheKey);\n };\n const el = document.createElement(\"script\");\n const loadPromise = new Promise((resolve, reject)=>{\n el.addEventListener(\"load\", function(e) {\n resolve();\n if (onLoad) {\n onLoad.call(this, e);\n }\n afterLoad();\n });\n el.addEventListener(\"error\", function(e) {\n reject(e);\n });\n }).catch(function(e) {\n if (onError) {\n onError(e);\n }\n });\n if (dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n afterLoad();\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n afterLoad();\n } else if (src) {\n el.src = src;\n // do not add cacheKey into LoadCache for remote script here\n // cacheKey will be added to LoadCache when it is actually loaded (see loadPromise above)\n ScriptCache.set(src, loadPromise);\n }\n for (const [k, value] of Object.entries(props)){\n if (value === undefined || ignoreProps.includes(k)) {\n continue;\n }\n const attr = _headmanager.DOMAttributeNames[k] || k.toLowerCase();\n el.setAttribute(attr, value);\n }\n if (strategy === \"worker\") {\n el.setAttribute(\"type\", \"text/partytown\");\n }\n el.setAttribute(\"data-nscript\", strategy);\n // Load styles associated with this script\n if (stylesheets) {\n insertStylesheets(stylesheets);\n }\n document.body.appendChild(el);\n};\nfunction handleClientScriptLoad(props) {\n const { strategy = \"afterInteractive\" } = props;\n if (strategy === \"lazyOnload\") {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n } else {\n loadScript(props);\n }\n}\nfunction loadLazyScript(props) {\n if (document.readyState === \"complete\") {\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n } else {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n }\n}\nfunction addBeforeInteractiveToCache() {\n const scripts = [\n ...document.querySelectorAll('[data-nscript=\"beforeInteractive\"]'),\n ...document.querySelectorAll('[data-nscript=\"beforePageRender\"]')\n ];\n scripts.forEach((script)=>{\n const cacheKey = script.id || script.getAttribute(\"src\");\n LoadCache.add(cacheKey);\n });\n}\nfunction initScriptLoader(scriptLoaderItems) {\n scriptLoaderItems.forEach(handleClientScriptLoad);\n addBeforeInteractiveToCache();\n}\n/**\n * Load a third-party scripts in an optimized way.\n *\n * Read more: [Next.js Docs: `next/script`](https://nextjs.org/docs/app/api-reference/components/script)\n */ function Script(props) {\n const { id, src = \"\", onLoad = ()=>{}, onReady = null, strategy = \"afterInteractive\", onError, stylesheets, ...restProps } = props;\n // Context is available only during SSR\n const { updateScripts, scripts, getIsSsr, appDir, nonce } = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n /**\n * - First mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script hasn't loaded yet (not in LoadCache)\n * onReady is skipped, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. hasLoadScriptEffectCalled.current is false, loadScript executes\n * Once the script is loaded, the onLoad and onReady will be called by then\n * [If strict mode is enabled / is wrapped in <OffScreen /> component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n *\n * - Second mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script has already loaded (found in LoadCache)\n * onReady is called, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. The script is already loaded, loadScript bails out\n * [If strict mode is enabled / is wrapped in <OffScreen /> component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n */ const hasOnReadyEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n const cacheKey = id || src;\n if (!hasOnReadyEffectCalled.current) {\n // Run onReady if script has loaded before but component is re-mounted\n if (onReady && cacheKey && LoadCache.has(cacheKey)) {\n onReady();\n }\n hasOnReadyEffectCalled.current = true;\n }\n }, [\n onReady,\n id,\n src\n ]);\n const hasLoadScriptEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n if (!hasLoadScriptEffectCalled.current) {\n if (strategy === \"afterInteractive\") {\n loadScript(props);\n } else if (strategy === \"lazyOnload\") {\n loadLazyScript(props);\n }\n hasLoadScriptEffectCalled.current = true;\n }\n }, [\n props,\n strategy\n ]);\n if (strategy === \"beforeInteractive\" || strategy === \"worker\") {\n if (updateScripts) {\n scripts[strategy] = (scripts[strategy] || []).concat([\n {\n id,\n src,\n onLoad,\n onReady,\n onError,\n ...restProps\n }\n ]);\n updateScripts(scripts);\n } else if (getIsSsr && getIsSsr()) {\n // Script has already loaded during SSR\n LoadCache.add(id || src);\n } else if (getIsSsr && !getIsSsr()) {\n loadScript(props);\n }\n }\n // For the app directory, we need React Float to preload these scripts.\n if (appDir) {\n // Injecting stylesheets here handles beforeInteractive and worker scripts correctly\n // For other strategies injecting here ensures correct stylesheet order\n // ReactDOM.preinit handles loading the styles in the correct order,\n // also ensures the stylesheet is loaded only once and in a consistent manner\n //\n // Case 1: Styles for beforeInteractive/worker with appDir - handled here\n // Case 2: Styles for beforeInteractive/worker with pages dir - Not handled yet\n // Case 3: Styles for afterInteractive/lazyOnload with appDir - handled here\n // Case 4: Styles for afterInteractive/lazyOnload with pages dir - handled in insertStylesheets function\n if (stylesheets) {\n stylesheets.forEach((styleSrc)=>{\n _reactdom.default.preinit(styleSrc, {\n as: \"style\"\n });\n });\n }\n // Before interactive scripts need to be loaded by Next.js' runtime instead\n // of native <script> tags, because they no longer have `defer`.\n if (strategy === \"beforeInteractive\") {\n if (!src) {\n // For inlined scripts, we put the content in `children`.\n if (restProps.dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n restProps.children = restProps.dangerouslySetInnerHTML.__html;\n delete restProps.dangerouslySetInnerHTML;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n nonce: nonce,\n dangerouslySetInnerHTML: {\n __html: \"(self.__next_s=self.__next_s||[]).push(\" + JSON.stringify([\n 0,\n {\n ...restProps,\n id\n }\n ]) + \")\"\n }\n });\n } else {\n // @ts-ignore\n _reactdom.default.preload(src, restProps.integrity ? {\n as: \"script\",\n integrity: restProps.integrity,\n nonce\n } : {\n as: \"script\",\n nonce\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n nonce: nonce,\n dangerouslySetInnerHTML: {\n __html: \"(self.__next_s=self.__next_s||[]).push(\" + JSON.stringify([\n src,\n {\n ...restProps,\n id\n }\n ]) + \")\"\n }\n });\n }\n } else if (strategy === \"afterInteractive\") {\n if (src) {\n // @ts-ignore\n _reactdom.default.preload(src, restProps.integrity ? {\n as: \"script\",\n integrity: restProps.integrity,\n nonce\n } : {\n as: \"script\",\n nonce\n });\n }\n }\n }\n return null;\n}\n_c = Script;\nObject.defineProperty(Script, \"__nextScript\", {\n value: true\n});\nconst _default = Script;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=script.js.map\nvar _c;\n$RefreshReg$(_c, \"Script\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9zY3JpcHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFnWUFBLFNBQXFCOzs7SUFuTkxDOzRCQUFBQTs7SUFnQ0FDO3NCQUFBQTs7Ozs7OzsrRUExTXFDO3VEQUVsQkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FDREEsbUJBQUFBLENBQUE7O0FBR2xDLE1BQU1DLHVCQUFrQkMsbUJBQUFBLENBQUFBLHlGQUFBQTtBQUN4QixNQUFNQyxjQUFZLElBQUlDO0FBaUJ0QixNQUFNQyxZQUFBQSxJQUFjRDtNQUNsQkMsY0FBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0NBRUQ7TUFDRUMsb0JBQUEsQ0FBQUM7SUFDQSxpR0FBRTtJQUNGO0lBQ0E7SUFDQSxrRkFBNEU7SUFDNUU7SUFDQSw2RUFBc0I7UUFDcEJBLFVBQUFBLE9BQVlDLENBQUFBLE9BQVNDLEVBQUFBO29CQUNuQkMsT0FBQUEsQ0FBQUEsQ0FBUUQ7c0JBQTJCRSxPQUFBLENBQUFDLE9BQUEsQ0FBQUgsWUFBQTtnQkFBUUksSUFBQTtZQUM3QztRQUVBO1FBQ0Y7SUFFQTtJQUNBLGdHQUFFO0lBQ0Y7SUFDQTtJQUNBLHlFQUFtQztRQUNqQyxJQUFXQyxFQUFhO1FBQ3hCUCxJQUFBQSxPQUFBQSxTQUFvQlEsSUFBQ047b0JBQ2ZPLE9BQU9GLENBQUFBLENBQUFBO1lBRVhFLElBQUFBLE9BQVNGLFNBQUdHLGFBQUE7WUFDWkQsS0FBS0UsSUFBRyxHQUFHO1lBQ1hGLEtBQUtHLEdBQUFBLEdBQUk7WUFFVEosS0FBS0ssSUFBQUEsR0FBQUE7WUFDUEwsS0FBQUssV0FBQSxDQUFBSjtRQUNGO0lBQ0Y7QUFFQTtNQUNFSyxhQUVJLENBQUFDO0lBVUosTUFBTUMsRUFBQUEsR0FBQUEsRUFBQUEsRUFBQUEsRUFBV0MsU0FBTUMsS0FBQUEsQ0FBQUEsRUFBQUEsVUFBQUEsSUFBQUEsRUFBQUEsdUJBQUFBLEVBQUFBLFdBQUFBLEVB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b0JBQUVyRDtvQkFBY3FELElBQUFBO29CQUFNQTtnQkFFNUI7dUJBRVdBLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLFVBQUFBO29CQUNQdkIsT0FBQUE7NkNBQ1c7Z0NBQ1BsQiw0Q0FBQUEsS0FBQUEsU0FBQUEsQ0FBQUE7NEJBQ0FBOztnQ0FBZ0JELEdBQUFBLFNBQUFBO2dDQUFHQTs0QkFDcEI7eUJBQ0g7O2dCQUdOO1lBQ0Y7ZUFDRSxJQUFJQyxhQUFLO2dCQUNQQSxLQUFBO2dCQUNBZixhQUFBQTswQkFHWUMsT0FBQSxDQUFBdUUsT0FBQSxDQUFBekQsS0FBQXFDLFVBQUFxQixTQUFBO29CQUFVQSxJQUFBQTtvQkFBZ0NqQixXQUFBQSxVQUFBQSxTQUFBQTtvQkFDaERBO29CQUFFckQ7b0JBQWNxRCxJQUFBQTtvQkFBTUE7Z0JBRTlCO1lBQ0Y7UUFDRjtJQUVBO0lBQ0Y7QUFFQWtCO0tBcktJNUQ7T0FxSzRDc0IsY0FBTyxDQUFBdUMsUUFBQTtJQUFLdkMsT0FBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9zY3JpcHQudHN4PzRhMzYiXSwibmFtZXMiOlsiZXhwb3J0cyIsImhhbmRsZUNsaWVudFNjcmlwdExvYWQiLCJpbml0U2NyaXB0TG9hZGVyIiwiXyIsInJlcXVpcmUiLCJTY3JpcHRDYWNoZSIsIk1hcCIsIkxvYWRDYWNoZSIsIlNldCIsImlnbm9yZVByb3BzIiwiaW5zZXJ0U3R5bGVzaGVldHMiLCJzdHlsZXNoZWV0cyIsImZvckVhY2giLCJzdHlsZXNoZWV0IiwiUmVhY3RET00iLCJkZWZhdWx0IiwicHJlaW5pdCIsImFzIiwiZG9jdW1lbnQiLCJoZWFkIiwibGluayIsImNyZWF0ZUVsZW1lbnQiLCJyZWwiLCJocmVmIiwiYXBwZW5kQ2hpbGQiLCJsb2FkU2NyaXB0IiwicHJvcHMiLCJjYWNoZUtleSIsImlkIiwic3JjIiwiaGFzIiwiYWRkIiwib25FcnJvciIsImdldCIsInRoZW4iLCJvbkxvYWQiLCJhZnRlckxvYWQiLCJvblJlYWR5IiwibG9hZFByb21pc2UiLCJyZXNvbHZlIiwiZWwiLCJhZGRFdmVudExpc3RlbmVyIiwiUHJvbWlzZSIsInJlamVjdCIsImNhbGwiLCJlIiwiY2F0Y2giLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsInRleHRDb250ZW50Iiwic2V0IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJpbmNsdWRlcyIsImsiLCJzZXRBdHRyaWJ1dGUiLCJhdHRyIiwic3RyYXRlZ3kiLCJib2R5Iiwid2luZG93IiwicmVxdWVzdElkbGVDYWxsYmFjayIsIl9yZXF1ZXN0aWRsZWNhbGxiYWNrIiwicmVhZHlTdGF0ZSIsImFkZEJlZm9yZUludGVyYWN0aXZlVG9DYWNoZSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzY3JpcHRzIiwic2NyaXB0TG9hZGVySXRlbXMiLCJyZXN0UHJvcHMiLCJnZXRJc1NzciIsInVwZGF0ZVNjcmlwdHMiLCJhcHBEaXIiLCJub25jZSIsIl9yZWFjdCIsInVzZUNvbnRleHQiLCJfaGVhZG1hbmFnZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsInVzZUVmZmVjdCIsInVzZVJlZiIsImhhc09uUmVhZHlFZmZlY3RDYWxsZWQiLCJjdXJyZW50IiwiaGFzTG9hZFNjcmlwdEVmZmVjdENhbGxlZCIsImxvYWRMYXp5U2NyaXB0IiwiY29uY2F0Iiwic3R5bGVTcmMiLCJfX2h0bWwiLCJKU09OIiwic3RyaW5naWZ5IiwicHJlbG9hZCIsImludGVncml0eSIsIk9iamVjdCIsIlNjcmlwdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/script.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/setup-hydration-warning.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/client/setup-hydration-warning.js ***! - \******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nif (!window._nextSetupHydrationWarning) {\n const origConsoleError = window.console.error;\n window.console.error = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const isHydrateError = args.some((arg)=>typeof arg === \"string\" && arg.match(/(hydration|content does not match|did not match)/i));\n if (isHydrateError) {\n args = [\n ...args,\n \"\\nSee more info here: https://nextjs.org/docs/messages/react-hydration-error\"\n ];\n }\n origConsoleError.apply(window.console, args);\n };\n window._nextSetupHydrationWarning = true;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=setup-hydration-warning.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9zZXR1cC1oeWRyYXRpb24td2FybmluZy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBTUEsSUFBSSxDQUFDQSxPQUFPQywwQkFBMEIsRUFBRTtJQUN0QyxNQUFNQyxtQkFBbUJGLE9BQU9HLE9BQU8sQ0FBQ0MsS0FBSztJQUM3Q0osT0FBT0csT0FBTyxDQUFDQyxLQUFLLEdBQUc7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUN6QixNQUFNQyxpQkFBaUJELEtBQUtFLElBQUksQ0FDOUIsQ0FBQ0MsTUFDQyxPQUFPQSxRQUFRLFlBQ2ZBLElBQUlDLEtBQUssQ0FBQztRQUVkLElBQUlILGdCQUFnQjtZQUNsQkQsT0FBTzttQkFDRkE7Z0JBQ0Y7YUFDRjtRQUNIO1FBQ0FILGlCQUFpQlEsS0FBSyxDQUFDVixPQUFPRyxPQUFPLEVBQUVFO0lBQ3pDO0lBQ0FMLE9BQU9DLDBCQUEwQixHQUFHO0FBQ3RDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3NldHVwLWh5ZHJhdGlvbi13YXJuaW5nLnRzPzFhYjciXSwibmFtZXMiOlsid2luZG93IiwiX25leHRTZXR1cEh5ZHJhdGlvbldhcm5pbmciLCJvcmlnQ29uc29sZUVycm9yIiwiY29uc29sZSIsImVycm9yIiwiYXJncyIsImlzSHlkcmF0ZUVycm9yIiwic29tZSIsImFyZyIsIm1hdGNoIiwiYXBwbHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/setup-hydration-warning.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/tracing/report-to-socket.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/tracing/report-to-socket.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return reportToSocket;\n }\n}));\nconst _websocket = __webpack_require__(/*! ../components/react-dev-overlay/pages/websocket */ \"./node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js\");\nfunction reportToSocket(span) {\n if (span.state.state !== \"ended\") {\n throw new Error(\"Expected span to be ended\");\n }\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"span-end\",\n startTime: span.startTime,\n endTime: span.state.endTime,\n spanName: span.name,\n attributes: span.attributes\n }));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=report-to-socket.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC90cmFjaW5nL3JlcG9ydC10by1zb2NrZXQuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FHQTs7O2VBQXdCQTs7O3VDQUhJO0FBR2IsU0FBU0EsZUFBZUMsSUFBVTtJQUMvQyxJQUFJQSxLQUFLQyxLQUFLLENBQUNBLEtBQUssS0FBSyxTQUFTO1FBQ2hDLE1BQU0sSUFBSUMsTUFBTTtJQUNsQjtJQUVBQyxDQUFBQSxHQUFBQSxXQUFBQSxXQUFXLEVBQ1RDLEtBQUtDLFNBQVMsQ0FBQztRQUNiQyxPQUFPO1FBQ1BDLFdBQVdQLEtBQUtPLFNBQVM7UUFDekJDLFNBQVNSLEtBQUtDLEtBQUssQ0FBQ08sT0FBTztRQUMzQkMsVUFBVVQsS0FBS1UsSUFBSTtRQUNuQkMsWUFBWVgsS0FBS1csVUFBVTtJQUM3QjtBQUVKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvY2xpZW50L3RyYWNpbmcvcmVwb3J0LXRvLXNvY2tldC50cz9hOGQwIl0sIm5hbWVzIjpbInJlcG9ydFRvU29ja2V0Iiwic3BhbiIsInN0YXRlIiwiRXJyb3IiLCJzZW5kTWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJldmVudCIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJzcGFuTmFtZSIsIm5hbWUiLCJhdHRyaWJ1dGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/tracing/report-to-socket.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/tracing/tracer.js": -/*!*********************************************************!*\ - !*** ./node_modules/next/dist/client/tracing/tracer.js ***! - \*********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _mitt = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../shared/lib/mitt */ \"./node_modules/next/dist/shared/lib/mitt.js\"));\nclass Span {\n end(endTime) {\n if (this.state.state === \"ended\") {\n throw new Error(\"Span has already ended\");\n }\n this.state = {\n state: \"ended\",\n endTime: endTime != null ? endTime : Date.now()\n };\n this.onSpanEnd(this);\n }\n constructor(name, options, onSpanEnd){\n this.name = name;\n var _options_attributes;\n this.attributes = (_options_attributes = options.attributes) != null ? _options_attributes : {};\n var _options_startTime;\n this.startTime = (_options_startTime = options.startTime) != null ? _options_startTime : Date.now();\n this.onSpanEnd = onSpanEnd;\n this.state = {\n state: \"inprogress\"\n };\n }\n}\nclass Tracer {\n startSpan(name, options) {\n return new Span(name, options, this.handleSpanEnd);\n }\n onSpanEnd(cb) {\n this._emitter.on(\"spanend\", cb);\n return ()=>{\n this._emitter.off(\"spanend\", cb);\n };\n }\n constructor(){\n this._emitter = (0, _mitt.default)();\n this.handleSpanEnd = (span)=>{\n this._emitter.emit(\"spanend\", span);\n };\n }\n}\nconst _default = new Tracer();\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=tracer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC90cmFjaW5nL3RyYWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQThFQTs7O2VBQUFBOzs7OzJFQTlFaUI7QUF5QmpCLE1BQU1DO0lBbUJKQyxJQUFJQyxPQUFnQixFQUFFO1FBQ3BCLElBQUksSUFBSSxDQUFDQyxLQUFLLENBQUNBLEtBQUssS0FBSyxTQUFTO1lBQ2hDLE1BQU0sSUFBSUMsTUFBTTtRQUNsQjtRQUVBLElBQUksQ0FBQ0QsS0FBSyxHQUFHO1lBQ1hBLE9BQU87WUFDUEQsU0FBU0EsV0FBQUEsT0FBQUEsVUFBV0csS0FBS0MsR0FBRztRQUM5QjtRQUVBLElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUk7SUFDckI7SUF2QkFDLFlBQ0VDLElBQVksRUFDWkMsT0FBb0IsRUFDcEJILFNBQStCLENBQy9CO1FBQ0EsSUFBSSxDQUFDRSxJQUFJLEdBQUdBO1lBQ01DO1FBQWxCLElBQUksQ0FBQ0MsVUFBVSxHQUFHRCxDQUFBQSxzQkFBQUEsUUFBUUMsVUFBVSxZQUFsQkQsc0JBQXNCLENBQUM7WUFDeEJBO1FBQWpCLElBQUksQ0FBQ0UsU0FBUyxHQUFHRixDQUFBQSxxQkFBQUEsUUFBUUUsU0FBUyxZQUFqQkYscUJBQXFCTCxLQUFLQyxHQUFHO1FBQzlDLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNKLEtBQUssR0FBRztZQUFFQSxPQUFPO1FBQWE7SUFDckM7QUFjRjtBQUVBLE1BQU1VO0lBT0pDLFVBQVVMLElBQVksRUFBRUMsT0FBb0IsRUFBRTtRQUM1QyxPQUFPLElBQUlWLEtBQUtTLE1BQU1DLFNBQVMsSUFBSSxDQUFDSyxhQUFhO0lBQ25EO0lBRUFSLFVBQVVTLEVBQXlCLEVBQWM7UUFDL0MsSUFBSSxDQUFDQyxRQUFRLENBQUNDLEVBQUUsQ0FBQyxXQUFXRjtRQUM1QixPQUFPO1lBQ0wsSUFBSSxDQUFDQyxRQUFRLENBQUNFLEdBQUcsQ0FBQyxXQUFXSDtRQUMvQjtJQUNGOzthQWZBQyxRQUFBQSxHQUFnQ0csQ0FBQUEsR0FBQUEsTUFBQUEsT0FBSTthQUU1QkwsYUFBQUEsR0FBZ0IsQ0FBQ007WUFDdkIsSUFBSSxDQUFDSixRQUFRLENBQUNLLElBQUksQ0FBQyxXQUFXRDtRQUNoQzs7QUFZRjtNQUdBdEIsV0FBZSxJQUFJYyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2NsaWVudC90cmFjaW5nL3RyYWNlci50cz9hZGRmIl0sIm5hbWVzIjpbIl9kZWZhdWx0IiwiU3BhbiIsImVuZCIsImVuZFRpbWUiLCJzdGF0ZSIsIkVycm9yIiwiRGF0ZSIsIm5vdyIsIm9uU3BhbkVuZCIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm9wdGlvbnMiLCJhdHRyaWJ1dGVzIiwic3RhcnRUaW1lIiwiVHJhY2VyIiwic3RhcnRTcGFuIiwiaGFuZGxlU3BhbkVuZCIsImNiIiwiX2VtaXR0ZXIiLCJvbiIsIm9mZiIsIm1pdHQiLCJzcGFuIiwiZW1pdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/tracing/tracer.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/trusted-types.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/trusted-types.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Stores the Trusted Types Policy. Starts as undefined and can be set to null\n * if Trusted Types is not supported in the browser.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"__unsafeCreateTrustedScriptURL\", ({\n enumerable: true,\n get: function() {\n return __unsafeCreateTrustedScriptURL;\n }\n}));\nlet policy;\n/**\n * Getter for the Trusted Types Policy. If it is undefined, it is instantiated\n * here or set to null if Trusted Types is not supported in the browser.\n */ function getPolicy() {\n if (typeof policy === \"undefined\" && \"object\" !== \"undefined\") {\n var _window_trustedTypes;\n policy = ((_window_trustedTypes = window.trustedTypes) == null ? void 0 : _window_trustedTypes.createPolicy(\"nextjs\", {\n createHTML: (input)=>input,\n createScript: (input)=>input,\n createScriptURL: (input)=>input\n })) || null;\n }\n return policy;\n}\nfunction __unsafeCreateTrustedScriptURL(url) {\n var _getPolicy;\n return ((_getPolicy = getPolicy()) == null ? void 0 : _getPolicy.createScriptURL(url)) || url;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=trusted-types.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC90cnVzdGVkLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztrRUE2QmVBOzs7ZUFBQUE7OztBQTVCaEIsSUFBSUM7QUFFSjs7O0NBR0MsR0FDRCxTQUFTQztJQUNQLElBQUksT0FBT0QsV0FBVyxlQUFlLGFBQWtCLGFBQWE7WUFFaEVFO1FBREZGLFNBQ0VFLENBQUFBLENBQUFBLHVCQUFBQSxPQUFPQyxZQUFZLHFCQUFuQkQscUJBQXFCRSxZQUFZLENBQUMsVUFBVTtZQUMxQ0MsWUFBWSxDQUFDQyxRQUFVQTtZQUN2QkMsY0FBYyxDQUFDRCxRQUFVQTtZQUN6QkUsaUJBQWlCLENBQUNGLFFBQVVBO1FBQzlCLE9BQU07SUFDVjtJQUVBLE9BQU9OO0FBQ1Q7QUFXTyxTQUFTRCwrQkFDZFUsR0FBVztRQUVKUjtJQUFQLE9BQU9BLENBQUFBLENBQUFBLGFBQUFBLFdBQUFBLEtBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFdBQWFPLGVBQWUsQ0FBQ0MsSUFBQUEsS0FBUUE7QUFDOUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvdHJ1c3RlZC10eXBlcy50cz82ZThmIl0sIm5hbWVzIjpbIl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCIsInBvbGljeSIsImdldFBvbGljeSIsIndpbmRvdyIsInRydXN0ZWRUeXBlcyIsImNyZWF0ZVBvbGljeSIsImNyZWF0ZUhUTUwiLCJpbnB1dCIsImNyZWF0ZVNjcmlwdCIsImNyZWF0ZVNjcmlwdFVSTCIsInVybCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/trusted-types.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/webpack.js": -/*!**************************************************!*\ - !*** ./node_modules/next/dist/client/webpack.js ***! - \**************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _deploymentid = __webpack_require__(/*! ../build/deployment-id */ \"./node_modules/next/dist/build/deployment-id.js\");\n// If we have a deployment ID, we need to append it to the webpack chunk names\n// I am keeping the process check explicit so this can be statically optimized\nif (false) {}\nself.__next_set_public_path__ = (path)=>{\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n __webpack_require__.p = path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=webpack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC93ZWJwYWNrLmpzIiwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDs7Ozs7MENBS1g7QUFFbEQsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSxJQUFJQSxLQUE4QixFQUFFLEVBcUJwQztBQUdFYSxLQUFhQyx3QkFBd0IsR0FBRyxDQUFDQztJQUN6Qyw2REFBNkQ7SUFDN0RDLHFCQUFBQSxHQUEwQkQ7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvd2VicGFjay50cz82Yzg1Il0sIm5hbWVzIjpbInByb2Nlc3MiLCJlbnYiLCJORVhUX0RFUExPWU1FTlRfSUQiLCJzdWZmaXgiLCJnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmciLCJnZXRDaHVua1NjcmlwdEZpbGVuYW1lIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsInUiLCJhcmdzIiwiZ2V0Q2h1bmtDc3NGaWxlbmFtZSIsImsiLCJnZXRNaW5pQ3NzRmlsZW5hbWUiLCJtaW5pQ3NzRiIsInNlbGYiLCJfX25leHRfc2V0X3B1YmxpY19wYXRoX18iLCJwYXRoIiwiX193ZWJwYWNrX3B1YmxpY19wYXRoX18iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/webpack.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/with-router.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/with-router.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return withRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nfunction withRouter(ComposedComponent) {\n function WithRouterWrapper(props) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ComposedComponent, {\n router: (0, _router.useRouter)(),\n ...props\n });\n }\n WithRouterWrapper.getInitialProps = ComposedComponent.getInitialProps;\n WithRouterWrapper.origGetInitialProps = ComposedComponent.origGetInitialProps;\n if (true) {\n const name = ComposedComponent.displayName || ComposedComponent.name || \"Unknown\";\n WithRouterWrapper.displayName = \"withRouter(\" + name + \")\";\n }\n return WithRouterWrapper;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=with-router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC93aXRoLXJvdXRlci5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQWtCQTs7O2VBQXdCQTs7Ozs7NEVBbEJOO29DQU9RO0FBV1gsU0FBU0EsV0FJdEJDLGlCQUErQztJQUUvQyxTQUFTQyxrQkFBa0JDLEtBQVU7UUFDbkMsT0FBTyxXQUFQLEdBQU8sSUFBQUMsWUFBQUMsR0FBQSxFQUFDSixtQkFBQUE7WUFBa0JLLFFBQVFDLENBQUFBLEdBQUFBLFFBQUFBLFNBQVM7WUFBSyxHQUFHSixLQUFLOztJQUMxRDtJQUVBRCxrQkFBa0JNLGVBQWUsR0FBR1Asa0JBQWtCTyxlQUFlO0lBRW5FTixrQkFBMEJPLG1CQUFtQixHQUFHUixrQkFFaERRLG1CQUFtQjtJQUNyQixJQUFJQyxJQUF5QixFQUFjO1FBQ3pDLE1BQU1DLE9BQ0pWLGtCQUFrQlcsV0FBVyxJQUFJWCxrQkFBa0JVLElBQUksSUFBSTtRQUM3RFQsa0JBQWtCVSxXQUFXLEdBQUcsZ0JBQWNELE9BQUs7SUFDckQ7SUFFQSxPQUFPVDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3dpdGgtcm91dGVyLnRzeD8zNjIyIl0sIm5hbWVzIjpbIndpdGhSb3V0ZXIiLCJDb21wb3NlZENvbXBvbmVudCIsIldpdGhSb3V0ZXJXcmFwcGVyIiwicHJvcHMiLCJfanN4cnVudGltZSIsImpzeCIsInJvdXRlciIsInVzZVJvdXRlciIsImdldEluaXRpYWxQcm9wcyIsIm9yaWdHZXRJbml0aWFsUHJvcHMiLCJwcm9jZXNzIiwibmFtZSIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/with-router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/strip-ansi/index.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/compiled/strip-ansi/index.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("var __dirname = \"/\";\n\n(()=>{\n \"use strict\";\n var e = {\n 511: (e)=>{\n e.exports = function() {\n let { onlyFirst: e = false } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n const r = [\n \"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\n \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"\n ].join(\"|\");\n return new RegExp(r, e ? undefined : \"g\");\n };\n },\n 532: (e, r, _)=>{\n const t = _(511);\n e.exports = (e)=>typeof e === \"string\" ? e.replace(t(), \"\") : e;\n }\n };\n var r = {};\n function __nccwpck_require__(_) {\n var t = r[_];\n if (t !== undefined) {\n return t.exports;\n }\n var a = r[_] = {\n exports: {}\n };\n var n = true;\n try {\n e[_](a, a.exports, __nccwpck_require__);\n n = false;\n } finally{\n if (n) delete r[_];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var _ = __nccwpck_require__(532);\n module.exports = _;\n})();\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2kvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7QUFBQztJQUFLO0lBQWEsSUFBSUEsSUFBRTtRQUFDLEtBQUlBLENBQUFBO1lBQUlBLEVBQUVDLE9BQU8sR0FBQztvQkFBQyxFQUFDQyxXQUFVRixJQUFFLEtBQUssRUFBQyxvRUFBQyxDQUFDO2dCQUFLLE1BQU1HLElBQUU7b0JBQUM7b0JBQStIO2lCQUEyRCxDQUFDQyxJQUFJLENBQUM7Z0JBQUssT0FBTyxJQUFJQyxPQUFPRixHQUFFSCxJQUFFTSxZQUFVO1lBQUk7UUFBQztRQUFFLEtBQUksQ0FBQ04sR0FBRUcsR0FBRUk7WUFBSyxNQUFNQyxJQUFFRCxFQUFFO1lBQUtQLEVBQUVDLE9BQU8sR0FBQ0QsQ0FBQUEsSUFBRyxPQUFPQSxNQUFJLFdBQVNBLEVBQUVTLE9BQU8sQ0FBQ0QsS0FBSSxNQUFJUjtRQUFDO0lBQUM7SUFBRSxJQUFJRyxJQUFFLENBQUM7SUFBRSxTQUFTTyxvQkFBb0JILENBQUM7UUFBRSxJQUFJQyxJQUFFTCxDQUFDLENBQUNJLEVBQUU7UUFBQyxJQUFHQyxNQUFJRixXQUFVO1lBQUMsT0FBT0UsRUFBRVAsT0FBTztRQUFBO1FBQUMsSUFBSVUsSUFBRVIsQ0FBQyxDQUFDSSxFQUFFLEdBQUM7WUFBQ04sU0FBUSxDQUFDO1FBQUM7UUFBRSxJQUFJVyxJQUFFO1FBQUssSUFBRztZQUFDWixDQUFDLENBQUNPLEVBQUUsQ0FBQ0ksR0FBRUEsRUFBRVYsT0FBTyxFQUFDUztZQUFxQkUsSUFBRTtRQUFLLFNBQVE7WUFBQyxJQUFHQSxHQUFFLE9BQU9ULENBQUMsQ0FBQ0ksRUFBRTtRQUFBO1FBQUMsT0FBT0ksRUFBRVYsT0FBTztJQUFBO0lBQUMsSUFBRyxPQUFPUyx3QkFBc0IsYUFBWUEsb0JBQW9CRyxFQUFFLEdBQUNDLFNBQVNBLEdBQUM7SUFBSSxJQUFJUCxJQUFFRyxvQkFBb0I7SUFBS0ssT0FBT2QsT0FBTyxHQUFDTTtBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RyaXAtYW5zaS9pbmRleC5qcz8xMWZhIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO3ZhciBlPXs1MTE6ZT0+e2UuZXhwb3J0cz0oe29ubHlGaXJzdDplPWZhbHNlfT17fSk9Pntjb25zdCByPVtcIltcXFxcdTAwMUJcXFxcdTAwOUJdW1tcXFxcXSgpIzs/XSooPzooPzooPzooPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10rKSp8W2EtekEtWlxcXFxkXSsoPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10qKSopP1xcXFx1MDAwNylcIixcIig/Oig/OlxcXFxkezEsNH0oPzo7XFxcXGR7MCw0fSkqKT9bXFxcXGRBLVBSLVRaY2YtbnRxcnk9Pjx+XSkpXCJdLmpvaW4oXCJ8XCIpO3JldHVybiBuZXcgUmVnRXhwKHIsZT91bmRlZmluZWQ6XCJnXCIpfX0sNTMyOihlLHIsXyk9Pntjb25zdCB0PV8oNTExKTtlLmV4cG9ydHM9ZT0+dHlwZW9mIGU9PT1cInN0cmluZ1wiP2UucmVwbGFjZSh0KCksXCJcIik6ZX19O3ZhciByPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18oXyl7dmFyIHQ9cltfXTtpZih0IT09dW5kZWZpbmVkKXtyZXR1cm4gdC5leHBvcnRzfXZhciBhPXJbX109e2V4cG9ydHM6e319O3ZhciBuPXRydWU7dHJ5e2VbX10oYSxhLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7bj1mYWxzZX1maW5hbGx5e2lmKG4pZGVsZXRlIHJbX119cmV0dXJuIGEuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIF89X19uY2N3cGNrX3JlcXVpcmVfXyg1MzIpO21vZHVsZS5leHBvcnRzPV99KSgpOyJdLCJuYW1lcyI6WyJlIiwiZXhwb3J0cyIsIm9ubHlGaXJzdCIsInIiLCJqb2luIiwiUmVnRXhwIiwidW5kZWZpbmVkIiwiXyIsInQiLCJyZXBsYWNlIiwiX19uY2N3cGNrX3JlcXVpcmVfXyIsImEiLCJuIiwiYWIiLCJfX2Rpcm5hbWUiLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/strip-ansi/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_app.js": -/*!**********************************************!*\ - !*** ./node_modules/next/dist/pages/_app.js ***! - \**********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return App;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */ async function appGetInitialProps(param) {\n let { Component, ctx } = param;\n const pageProps = await (0, _utils.loadGetInitialProps)(Component, ctx);\n return {\n pageProps\n };\n}\nclass App extends _react.default.Component {\n render() {\n const { Component, pageProps } = this.props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...pageProps\n });\n }\n}\nApp.origGetInitialProps = appGetInitialProps;\nApp.getInitialProps = appGetInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_app.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19hcHAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztlQWlDcUJBOzs7Ozs0RUFqQ0g7bUNBV2tCO0FBVXBDOzs7Q0FHQyxHQUNELGVBQWVDLG1CQUFtQkMsS0FHckI7SUFIcUIsTUFDaENDLFNBQVMsRUFDVEMsR0FBRyxFQUNRLEdBSHFCRjtJQUloQyxNQUFNRyxZQUFZLE1BQU1DLENBQUFBLEdBQUFBLE9BQUFBLG1CQUFtQixFQUFDSCxXQUFXQztJQUN2RCxPQUFPO1FBQUVDO0lBQVU7QUFDckI7QUFFZSxNQUFNTCxZQUFzQ08sT0FBQUEsT0FBSyxDQUFDSixTQUFTO0lBT3hFSyxTQUFTO1FBQ1AsTUFBTSxFQUFFTCxTQUFTLEVBQUVFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQ0ksS0FBSztRQUUzQyxPQUFPLFdBQVAsR0FBTyxJQUFBQyxZQUFBQyxHQUFBLEVBQUNSLFdBQUFBO1lBQVcsR0FBR0UsU0FBUzs7SUFDakM7QUFDRjtBQVpxQkwsSUFJWlksbUJBQUFBLEdBQXNCWDtBQUpWRCxJQUtaYSxlQUFBQSxHQUFrQloiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9wYWdlcy9fYXBwLnRzeD83YzZhIl0sIm5hbWVzIjpbIkFwcCIsImFwcEdldEluaXRpYWxQcm9wcyIsInBhcmFtIiwiQ29tcG9uZW50IiwiY3R4IiwicGFnZVByb3BzIiwibG9hZEdldEluaXRpYWxQcm9wcyIsIlJlYWN0IiwicmVuZGVyIiwicHJvcHMiLCJfanN4cnVudGltZSIsImpzeCIsIm9yaWdHZXRJbml0aWFsUHJvcHMiLCJnZXRJbml0aWFsUHJvcHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_app.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/pages/_error.js ***! - \************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return Error;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"./node_modules/next/dist/shared/lib/head.js\"));\nconst statusCodes = {\n 400: \"Bad Request\",\n 404: \"This page could not be found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\"\n};\nfunction _getInitialProps(param) {\n let { res, err } = param;\n const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;\n return {\n statusCode\n };\n}\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n lineHeight: \"48px\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"28px\"\n },\n wrap: {\n display: \"inline-block\"\n }\n};\nclass Error extends _react.default.Component {\n render() {\n const { statusCode, withDarkMode = true } = this.props;\n const title = this.props.title || statusCodes[statusCode] || \"An unexpected error has occurred\";\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.error,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: statusCode ? statusCode + \": \" + title : \"Application error: a client-side exception has occurred\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.desc,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n /* CSS minified from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n ${\n withDarkMode\n ? `@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }`\n : ''\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\" + (withDarkMode ? \"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\" : \"\")\n }\n }),\n statusCode ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1,\n children: statusCode\n }) : null,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.wrap,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"h2\", {\n style: styles.h2,\n children: [\n this.props.title || statusCode ? title : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: \"Application error: a client-side exception has occurred (see the browser console for more information)\"\n }),\n \".\"\n ]\n })\n })\n ]\n })\n ]\n });\n }\n}\nError.displayName = \"ErrorPage\";\nError.getInitialProps = _getInitialProps;\nError.origGetInitialProps = _getInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O2VBOERxQkE7Ozs7OzRFQTlESDsyRUFDRDtBQUdqQixNQUFNQyxjQUEwQztJQUM5QyxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBQ1A7QUFRQSxTQUFTQyxpQkFBaUJDLEtBR1I7SUFIUSxNQUN4QkMsR0FBRyxFQUNIQyxHQUFHLEVBQ2EsR0FIUUY7SUFJeEIsTUFBTUcsYUFDSkYsT0FBT0EsSUFBSUUsVUFBVSxHQUFHRixJQUFJRSxVQUFVLEdBQUdELE1BQU1BLElBQUlDLFVBQVUsR0FBSTtJQUNuRSxPQUFPO1FBQUVBO0lBQVc7QUFDdEI7QUFFQSxNQUFNQyxTQUE4QztJQUNsREMsT0FBTztRQUNMLDBGQUEwRjtRQUMxRkMsWUFDRTtRQUNGQyxRQUFRO1FBQ1JDLFdBQVc7UUFDWEMsU0FBUztRQUNUQyxlQUFlO1FBQ2ZDLFlBQVk7UUFDWkMsZ0JBQWdCO0lBQ2xCO0lBQ0FDLE1BQU07UUFDSkMsWUFBWTtJQUNkO0lBQ0FDLElBQUk7UUFDRk4sU0FBUztRQUNUTyxRQUFRO1FBQ1JDLGNBQWM7UUFDZEMsVUFBVTtRQUNWQyxZQUFZO1FBQ1pDLGVBQWU7SUFDakI7SUFDQUMsSUFBSTtRQUNGSCxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkwsWUFBWTtJQUNkO0lBQ0FRLE1BQU07UUFDSmIsU0FBUztJQUNYO0FBQ0Y7QUFLZSxNQUFNWixjQUFzQjBCLE9BQUFBLE9BQUssQ0FBQ0MsU0FBUztJQU14REMsU0FBUztRQUNQLE1BQU0sRUFBRXRCLFVBQVUsRUFBRXVCLGVBQWUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDQyxLQUFLO1FBQ3RELE1BQU1DLFFBQ0osSUFBSSxDQUFDRCxLQUFLLENBQUNDLEtBQUssSUFDaEI5QixXQUFXLENBQUNLLFdBQVcsSUFDdkI7UUFFRixPQUNFLFdBREYsR0FDRSxJQUFBMEIsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtZQUFJQyxPQUFPNUIsT0FBT0MsS0FBSzs7OEJBQ3RCLElBQUF3QixZQUFBSSxHQUFBLEVBQUNDLE1BQUFBLE9BQUk7OEJBQ0gsa0JBQUFMLFlBQUFJLEdBQUEsRUFBQ0wsU0FBQUE7a0NBQ0V6QixhQUNHQSxhQUFjLE9BQUl5QixRQUNsQjs7OzhCQUdSLElBQUFDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7b0JBQUlDLE9BQU81QixPQUFPUyxJQUFJOztzQ0FDckIsSUFBQWdCLFlBQUFJLEdBQUEsRUFBQ0QsU0FBQUE7NEJBQ0NHLHlCQUF5QjtnQ0FDdkI7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFnQkMsR0FDREMsUUFBUSxtR0FDTlYsQ0FBQUEsZUFDSSxvSUFDQTs0QkFFUjs7d0JBR0R2QixhQUNDLFdBRERBLEdBQ0MsSUFBQTBCLFlBQUFJLEdBQUEsRUFBQ2xCLE1BQUFBOzRCQUFHc0IsV0FBVTs0QkFBZ0JMLE9BQU81QixPQUFPVyxFQUFFO3NDQUMzQ1o7NkJBRUQ7c0NBQ0osSUFBQTBCLFlBQUFJLEdBQUEsRUFBQ0YsT0FBQUE7NEJBQUlDLE9BQU81QixPQUFPa0IsSUFBSTtzQ0FDckIsa0JBQUFPLFlBQUFDLElBQUEsRUFBQ1QsTUFBQUE7Z0NBQUdXLE9BQU81QixPQUFPaUIsRUFBRTs7b0NBQ2pCLElBQUksQ0FBQ00sS0FBSyxDQUFDQyxLQUFLLElBQUl6QixhQUNuQnlCLFFBRUEsV0FGQUEsR0FFQSxJQUFBQyxZQUFBSSxHQUFBLEVBQUFKLFlBQUFTLFFBQUE7a0RBQUU7O29DQUlGOzs7Ozs7OztJQU9kO0FBQ0Y7QUF4RXFCekMsTUFDWjBDLFdBQUFBLEdBQWM7QUFERjFDLE1BR1oyQyxlQUFBQSxHQUFrQnpDO0FBSE5GLE1BSVo0QyxtQkFBQUEsR0FBc0IxQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL3BhZ2VzL19lcnJvci50c3g/NDg3ZSJdLCJuYW1lcyI6WyJFcnJvciIsInN0YXR1c0NvZGVzIiwiX2dldEluaXRpYWxQcm9wcyIsInBhcmFtIiwicmVzIiwiZXJyIiwic3RhdHVzQ29kZSIsInN0eWxlcyIsImVycm9yIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZGVzYyIsImxpbmVIZWlnaHQiLCJoMSIsIm1hcmdpbiIsInBhZGRpbmdSaWdodCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsInZlcnRpY2FsQWxpZ24iLCJoMiIsIndyYXAiLCJSZWFjdCIsIkNvbXBvbmVudCIsInJlbmRlciIsIndpdGhEYXJrTW9kZSIsInByb3BzIiwidGl0bGUiLCJfanN4cnVudGltZSIsImpzeHMiLCJkaXYiLCJzdHlsZSIsImpzeCIsIkhlYWQiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImNsYXNzTmFtZSIsIkZyYWdtZW50IiwiZGlzcGxheU5hbWUiLCJnZXRJbml0aWFsUHJvcHMiLCJvcmlnR2V0SW5pdGlhbFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = \"AmpStateContext\";\n} //# sourceMappingURL=amp-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFFYUE7OztlQUFBQTs7Ozs0RUFGSztBQUVYLE1BQU1BLGtCQUFzQ0MsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQUMsQ0FBQztBQUV4RSxJQUFJQyxJQUF5QixFQUFjO0lBQ3pDSCxnQkFBZ0JJLFdBQVcsR0FBRztBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvYW1wLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/OTY0MSJdLCJuYW1lcyI6WyJBbXBTdGF0ZUNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/amp-mode.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLW1vZGUuanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0FBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLFlBQVlDLEtBQUE7SUFBQSxNQUMxQkMsV0FBVyxLQUFLLEVBQ2hCQyxTQUFTLEtBQUssRUFDZEMsV0FBVyxLQUFLLEVBQ2pCLEdBSjJCSCxVQUFBLFNBSXhCLENBQUMsSUFKdUJBO0lBSzFCLE9BQU9DLFlBQWFDLFVBQVVDO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9hbXAtbW9kZS50cz9jZTA0Il0sIm5hbWVzIjpbImlzSW5BbXBNb2RlIiwicGFyYW0iLCJhbXBGaXJzdCIsImh5YnJpZCIsImhhc1F1ZXJ5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/amp-mode.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js ***! - \********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n AppRouterContext: function() {\n return AppRouterContext;\n },\n GlobalLayoutRouterContext: function() {\n return GlobalLayoutRouterContext;\n },\n LayoutRouterContext: function() {\n return LayoutRouterContext;\n },\n MissingSlotContext: function() {\n return MissingSlotContext;\n },\n TemplateContext: function() {\n return TemplateContext;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst AppRouterContext = _react.default.createContext(null);\nconst LayoutRouterContext = _react.default.createContext(null);\nconst GlobalLayoutRouterContext = _react.default.createContext(null);\nconst TemplateContext = _react.default.createContext(null);\nif (true) {\n AppRouterContext.displayName = \"AppRouterContext\";\n LayoutRouterContext.displayName = \"LayoutRouterContext\";\n GlobalLayoutRouterContext.displayName = \"GlobalLayoutRouterContext\";\n TemplateContext.displayName = \"TemplateContext\";\n}\nconst MissingSlotContext = _react.default.createContext(new Set()); //# sourceMappingURL=app-router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBMEphQSxTQUFBQTtzQkFBQUE7O0lBVUFDOytCQUFBQTs7SUFQQUM7eUJBQUFBOztJQXdCQUM7d0JBQUFBOztJQVRBQztxQkFBQUE7Ozs7O0FBbEJOLE1BQU1KLFNBQUFBLFdBQW1CSyxHQUFBQSx5QkFDOUJDLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7QUFFSyxNQUFNTCxtQkFBQUEsT0FBc0JHLE9BQUFBLENBQUFBLGFBQU1HLENBQUFBO0FBT2xDLE1BQU1QLHNCQUFBQSxPQUE0QkksT0FBQUEsQ0FBQUEsYUFBTUcsQ0FBQUE7QUFReEMsTUFBTUosNEJBQWtCQyxPQUFNRyxPQUFBQSxDQUFBQSxhQUErQjtBQUVwRSxNQUFJQyxrQkFBb0JDLE9BQUtDLE9BQUEsQ0FBQUgsYUFBYztJQUN6Q1IsSUFBaUJZLEVBQWM7SUFDL0JWLGlCQUFBQSxXQUFvQlUsR0FBVztJQUMvQlgsb0JBQUFBLFdBQTBCVyxHQUFBQTtJQUMxQlIsMEJBQWdCUSxXQUFjO0lBQ2hDUixnQkFBQVEsV0FBQTtBQUVPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/MDMwZSJdLCJuYW1lcyI6WyJBcHBSb3V0ZXJDb250ZXh0IiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsIkxheW91dFJvdXRlckNvbnRleHQiLCJNaXNzaW5nU2xvdENvbnRleHQiLCJUZW1wbGF0ZUNvbnRleHQiLCJSZWFjdCIsIl8iLCJyZXF1aXJlIiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJfcmVhY3QiLCJkZWZhdWx0IiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/bloom-filter.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/bloom-filter.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// minimal implementation MurmurHash2 hash function\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"BloomFilter\", ({\n enumerable: true,\n get: function() {\n return BloomFilter;\n }\n}));\nfunction murmurhash2(str) {\n let h = 0;\n for(let i = 0; i < str.length; i++){\n const c = str.charCodeAt(i);\n h = Math.imul(h ^ c, 0x5bd1e995);\n h ^= h >>> 13;\n h = Math.imul(h, 0x5bd1e995);\n }\n return h >>> 0;\n}\n// default to 0.01% error rate as the filter compresses very well\nconst DEFAULT_ERROR_RATE = 0.0001;\nclass BloomFilter {\n static from(items, errorRate) {\n if (errorRate === void 0) errorRate = DEFAULT_ERROR_RATE;\n const filter = new BloomFilter(items.length, errorRate);\n for (const item of items){\n filter.add(item);\n }\n return filter;\n }\n export() {\n const data = {\n numItems: this.numItems,\n errorRate: this.errorRate,\n numBits: this.numBits,\n numHashes: this.numHashes,\n bitArray: this.bitArray\n };\n if (false) {}\n return data;\n }\n import(data) {\n this.numItems = data.numItems;\n this.errorRate = data.errorRate;\n this.numBits = data.numBits;\n this.numHashes = data.numHashes;\n this.bitArray = data.bitArray;\n }\n add(item) {\n const hashValues = this.getHashValues(item);\n hashValues.forEach((hash)=>{\n this.bitArray[hash] = 1;\n });\n }\n contains(item) {\n const hashValues = this.getHashValues(item);\n return hashValues.every((hash)=>this.bitArray[hash]);\n }\n getHashValues(item) {\n const hashValues = [];\n for(let i = 1; i <= this.numHashes; i++){\n const hash = murmurhash2(\"\" + item + i) % this.numBits;\n hashValues.push(hash);\n }\n return hashValues;\n }\n constructor(numItems, errorRate = DEFAULT_ERROR_RATE){\n this.numItems = numItems;\n this.errorRate = errorRate;\n this.numBits = Math.ceil(-(numItems * Math.log(errorRate)) / (Math.log(2) * Math.log(2)));\n this.numHashes = Math.ceil(this.numBits / numItems * Math.log(2));\n this.bitArray = new Array(this.numBits).fill(0);\n }\n} //# sourceMappingURL=bloom-filter.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYmxvb20tZmlsdGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRDs7Ozs7K0NBZXRDQTs7O2VBQUFBOzs7QUFkYixTQUFTQyxZQUFZQyxHQUFXO0lBQzlCLElBQUlDLElBQUk7SUFDUixJQUFLLElBQUlDLElBQUksR0FBR0EsSUFBSUYsSUFBSUcsTUFBTSxFQUFFRCxJQUFLO1FBQ25DLE1BQU1FLElBQUlKLElBQUlLLFVBQVUsQ0FBQ0g7UUFDekJELElBQUlLLEtBQUtDLElBQUksQ0FBQ04sSUFBSUcsR0FBRztRQUNyQkgsS0FBS0EsTUFBTTtRQUNYQSxJQUFJSyxLQUFLQyxJQUFJLENBQUNOLEdBQUc7SUFDbkI7SUFDQSxPQUFPQSxNQUFNO0FBQ2Y7QUFFQSxpRUFBaUU7QUFDakUsTUFBTU8scUJBQXFCO0FBRXBCLE1BQU1WO0lBaUJYLE9BQU9XLEtBQUtDLEtBQWUsRUFBRUMsU0FBOEIsRUFBRTtRQUFoQ0EsSUFBQUEsY0FBQUEsS0FBQUEsR0FBQUEsWUFBWUg7UUFDdkMsTUFBTUksU0FBUyxJQUFJZCxZQUFZWSxNQUFNUCxNQUFNLEVBQUVRO1FBRTdDLEtBQUssTUFBTUUsUUFBUUgsTUFBTztZQUN4QkUsT0FBT0UsR0FBRyxDQUFDRDtRQUNiO1FBQ0EsT0FBT0Q7SUFDVDtJQUVBRyxTQUFTO1FBQ1AsTUFBTUMsT0FBTztZQUNYQyxVQUFVLElBQUksQ0FBQ0EsUUFBUTtZQUN2Qk4sV0FBVyxJQUFJLENBQUNBLFNBQVM7WUFDekJPLFNBQVMsSUFBSSxDQUFDQSxPQUFPO1lBQ3JCQyxXQUFXLElBQUksQ0FBQ0EsU0FBUztZQUN6QkMsVUFBVSxJQUFJLENBQUNBLFFBQVE7UUFDekI7UUFFQSxJQUFJQyxLQUE2QixFQUFVLEVBYTNDO1FBRUEsT0FBT0w7SUFDVDtJQUVBZ0IsT0FBT2hCLElBQXlDLEVBQUU7UUFDaEQsSUFBSSxDQUFDQyxRQUFRLEdBQUdELEtBQUtDLFFBQVE7UUFDN0IsSUFBSSxDQUFDTixTQUFTLEdBQUdLLEtBQUtMLFNBQVM7UUFDL0IsSUFBSSxDQUFDTyxPQUFPLEdBQUdGLEtBQUtFLE9BQU87UUFDM0IsSUFBSSxDQUFDQyxTQUFTLEdBQUdILEtBQUtHLFNBQVM7UUFDL0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdKLEtBQUtJLFFBQVE7SUFDL0I7SUFFQU4sSUFBSUQsSUFBWSxFQUFFO1FBQ2hCLE1BQU1vQixhQUFhLElBQUksQ0FBQ0MsYUFBYSxDQUFDckI7UUFDdENvQixXQUFXRSxPQUFPLENBQUMsQ0FBQ0M7WUFDbEIsSUFBSSxDQUFDaEIsUUFBUSxDQUFDZ0IsS0FBSyxHQUFHO1FBQ3hCO0lBQ0Y7SUFFQUMsU0FBU3hCLElBQVksRUFBRTtRQUNyQixNQUFNb0IsYUFBYSxJQUFJLENBQUNDLGFBQWEsQ0FBQ3JCO1FBQ3RDLE9BQU9vQixXQUFXSyxLQUFLLENBQUMsQ0FBQ0YsT0FBUyxJQUFJLENBQUNoQixRQUFRLENBQUNnQixLQUFLO0lBQ3ZEO0lBRUFGLGNBQWNyQixJQUFZLEVBQUU7UUFDMUIsTUFBTW9CLGFBQWEsRUFBRTtRQUNyQixJQUFLLElBQUkvQixJQUFJLEdBQUdBLEtBQUssSUFBSSxDQUFDaUIsU0FBUyxFQUFFakIsSUFBSztZQUN4QyxNQUFNa0MsT0FBT3JDLFlBQVksS0FBR2MsT0FBT1gsS0FBTyxJQUFJLENBQUNnQixPQUFPO1lBQ3REZSxXQUFXTSxJQUFJLENBQUNIO1FBQ2xCO1FBQ0EsT0FBT0g7SUFDVDtJQXpFQU8sWUFBWXZCLFFBQWdCLEVBQUVOLFlBQW9CSCxrQkFBa0IsQ0FBRTtRQUNwRSxJQUFJLENBQUNTLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDTixTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ08sT0FBTyxHQUFHWixLQUFLbUMsSUFBSSxDQUN0QixDQUFFeEIsQ0FBQUEsV0FBV1gsS0FBS29DLEdBQUcsQ0FBQy9CLFVBQUFBLElBQWVMLENBQUFBLEtBQUtvQyxHQUFHLENBQUMsS0FBS3BDLEtBQUtvQyxHQUFHLENBQUM7UUFFOUQsSUFBSSxDQUFDdkIsU0FBUyxHQUFHYixLQUFLbUMsSUFBSSxDQUFDLElBQUssQ0FBQ3ZCLE9BQU8sR0FBR0QsV0FBWVgsS0FBS29DLEdBQUcsQ0FBQztRQUNoRSxJQUFJLENBQUN0QixRQUFRLEdBQUcsSUFBSXVCLE1BQU0sSUFBSSxDQUFDekIsT0FBTyxFQUFFMEIsSUFBSSxDQUFDO0lBQy9DO0FBa0VGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9ibG9vbS1maWx0ZXIudHM/NjQwNyJdLCJuYW1lcyI6WyJCbG9vbUZpbHRlciIsIm11cm11cmhhc2gyIiwic3RyIiwiaCIsImkiLCJsZW5ndGgiLCJjIiwiY2hhckNvZGVBdCIsIk1hdGgiLCJpbXVsIiwiREVGQVVMVF9FUlJPUl9SQVRFIiwiZnJvbSIsIml0ZW1zIiwiZXJyb3JSYXRlIiwiZmlsdGVyIiwiaXRlbSIsImFkZCIsImV4cG9ydCIsImRhdGEiLCJudW1JdGVtcyIsIm51bUJpdHMiLCJudW1IYXNoZXMiLCJiaXRBcnJheSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJmaWx0ZXJEYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsImd6aXBTaXplIiwicmVxdWlyZSIsInN5bmMiLCJjb25zb2xlIiwid2FybiIsImltcG9ydCIsImhhc2hWYWx1ZXMiLCJnZXRIYXNoVmFsdWVzIiwiZm9yRWFjaCIsImhhc2giLCJjb250YWlucyIsImV2ZXJ5IiwicHVzaCIsImNvbnN0cnVjdG9yIiwiY2VpbCIsImxvZyIsIkFycmF5IiwiZmlsbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/bloom-filter.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/constants.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/constants.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n APP_BUILD_MANIFEST: function() {\n return APP_BUILD_MANIFEST;\n },\n APP_CLIENT_INTERNALS: function() {\n return APP_CLIENT_INTERNALS;\n },\n APP_PATHS_MANIFEST: function() {\n return APP_PATHS_MANIFEST;\n },\n APP_PATH_ROUTES_MANIFEST: function() {\n return APP_PATH_ROUTES_MANIFEST;\n },\n AUTOMATIC_FONT_OPTIMIZATION_MANIFEST: function() {\n return AUTOMATIC_FONT_OPTIMIZATION_MANIFEST;\n },\n BARREL_OPTIMIZATION_PREFIX: function() {\n return BARREL_OPTIMIZATION_PREFIX;\n },\n BLOCKED_PAGES: function() {\n return BLOCKED_PAGES;\n },\n BUILD_ID_FILE: function() {\n return BUILD_ID_FILE;\n },\n BUILD_MANIFEST: function() {\n return BUILD_MANIFEST;\n },\n CLIENT_PUBLIC_FILES_PATH: function() {\n return CLIENT_PUBLIC_FILES_PATH;\n },\n CLIENT_REFERENCE_MANIFEST: function() {\n return CLIENT_REFERENCE_MANIFEST;\n },\n CLIENT_STATIC_FILES_PATH: function() {\n return CLIENT_STATIC_FILES_PATH;\n },\n CLIENT_STATIC_FILES_RUNTIME_AMP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_AMP;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN_APP;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL;\n },\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH: function() {\n return CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH;\n },\n CLIENT_STATIC_FILES_RUNTIME_WEBPACK: function() {\n return CLIENT_STATIC_FILES_RUNTIME_WEBPACK;\n },\n COMPILER_INDEXES: function() {\n return COMPILER_INDEXES;\n },\n COMPILER_NAMES: function() {\n return COMPILER_NAMES;\n },\n CONFIG_FILES: function() {\n return CONFIG_FILES;\n },\n DEFAULT_RUNTIME_WEBPACK: function() {\n return DEFAULT_RUNTIME_WEBPACK;\n },\n DEFAULT_SANS_SERIF_FONT: function() {\n return DEFAULT_SANS_SERIF_FONT;\n },\n DEFAULT_SERIF_FONT: function() {\n return DEFAULT_SERIF_FONT;\n },\n DEV_CLIENT_PAGES_MANIFEST: function() {\n return DEV_CLIENT_PAGES_MANIFEST;\n },\n DEV_MIDDLEWARE_MANIFEST: function() {\n return DEV_MIDDLEWARE_MANIFEST;\n },\n EDGE_RUNTIME_WEBPACK: function() {\n return EDGE_RUNTIME_WEBPACK;\n },\n EDGE_UNSUPPORTED_NODE_APIS: function() {\n return EDGE_UNSUPPORTED_NODE_APIS;\n },\n EXPORT_DETAIL: function() {\n return EXPORT_DETAIL;\n },\n EXPORT_MARKER: function() {\n return EXPORT_MARKER;\n },\n FUNCTIONS_CONFIG_MANIFEST: function() {\n return FUNCTIONS_CONFIG_MANIFEST;\n },\n GOOGLE_FONT_PROVIDER: function() {\n return GOOGLE_FONT_PROVIDER;\n },\n IMAGES_MANIFEST: function() {\n return IMAGES_MANIFEST;\n },\n INTERCEPTION_ROUTE_REWRITE_MANIFEST: function() {\n return INTERCEPTION_ROUTE_REWRITE_MANIFEST;\n },\n INTERNAL_HEADERS: function() {\n return INTERNAL_HEADERS;\n },\n MIDDLEWARE_BUILD_MANIFEST: function() {\n return MIDDLEWARE_BUILD_MANIFEST;\n },\n MIDDLEWARE_MANIFEST: function() {\n return MIDDLEWARE_MANIFEST;\n },\n MIDDLEWARE_REACT_LOADABLE_MANIFEST: function() {\n return MIDDLEWARE_REACT_LOADABLE_MANIFEST;\n },\n MODERN_BROWSERSLIST_TARGET: function() {\n return _modernbrowserslisttarget.default;\n },\n NEXT_BUILTIN_DOCUMENT: function() {\n return NEXT_BUILTIN_DOCUMENT;\n },\n NEXT_FONT_MANIFEST: function() {\n return NEXT_FONT_MANIFEST;\n },\n OPTIMIZED_FONT_PROVIDERS: function() {\n return OPTIMIZED_FONT_PROVIDERS;\n },\n PAGES_MANIFEST: function() {\n return PAGES_MANIFEST;\n },\n PHASE_DEVELOPMENT_SERVER: function() {\n return PHASE_DEVELOPMENT_SERVER;\n },\n PHASE_EXPORT: function() {\n return PHASE_EXPORT;\n },\n PHASE_INFO: function() {\n return PHASE_INFO;\n },\n PHASE_PRODUCTION_BUILD: function() {\n return PHASE_PRODUCTION_BUILD;\n },\n PHASE_PRODUCTION_SERVER: function() {\n return PHASE_PRODUCTION_SERVER;\n },\n PHASE_TEST: function() {\n return PHASE_TEST;\n },\n PRERENDER_MANIFEST: function() {\n return PRERENDER_MANIFEST;\n },\n REACT_LOADABLE_MANIFEST: function() {\n return REACT_LOADABLE_MANIFEST;\n },\n ROUTES_MANIFEST: function() {\n return ROUTES_MANIFEST;\n },\n RSC_MODULE_TYPES: function() {\n return RSC_MODULE_TYPES;\n },\n SERVER_DIRECTORY: function() {\n return SERVER_DIRECTORY;\n },\n SERVER_FILES_MANIFEST: function() {\n return SERVER_FILES_MANIFEST;\n },\n SERVER_PROPS_ID: function() {\n return SERVER_PROPS_ID;\n },\n SERVER_REFERENCE_MANIFEST: function() {\n return SERVER_REFERENCE_MANIFEST;\n },\n STATIC_PROPS_ID: function() {\n return STATIC_PROPS_ID;\n },\n STATIC_STATUS_PAGES: function() {\n return STATIC_STATUS_PAGES;\n },\n STRING_LITERAL_DROP_BUNDLE: function() {\n return STRING_LITERAL_DROP_BUNDLE;\n },\n SUBRESOURCE_INTEGRITY_MANIFEST: function() {\n return SUBRESOURCE_INTEGRITY_MANIFEST;\n },\n SYSTEM_ENTRYPOINTS: function() {\n return SYSTEM_ENTRYPOINTS;\n },\n TRACE_OUTPUT_VERSION: function() {\n return TRACE_OUTPUT_VERSION;\n },\n TURBO_TRACE_DEFAULT_MEMORY_LIMIT: function() {\n return TURBO_TRACE_DEFAULT_MEMORY_LIMIT;\n },\n UNDERSCORE_NOT_FOUND_ROUTE: function() {\n return UNDERSCORE_NOT_FOUND_ROUTE;\n },\n UNDERSCORE_NOT_FOUND_ROUTE_ENTRY: function() {\n return UNDERSCORE_NOT_FOUND_ROUTE_ENTRY;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _modernbrowserslisttarget = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./modern-browserslist-target */ \"./node_modules/next/dist/shared/lib/modern-browserslist-target.js\"));\nconst COMPILER_NAMES = {\n client: \"client\",\n server: \"server\",\n edgeServer: \"edge-server\"\n};\nconst INTERNAL_HEADERS = [\n \"x-invoke-error\",\n \"x-invoke-output\",\n \"x-invoke-path\",\n \"x-invoke-query\",\n \"x-invoke-status\",\n \"x-middleware-invoke\"\n];\nconst COMPILER_INDEXES = {\n [COMPILER_NAMES.client]: 0,\n [COMPILER_NAMES.server]: 1,\n [COMPILER_NAMES.edgeServer]: 2\n};\nconst UNDERSCORE_NOT_FOUND_ROUTE = \"/_not-found\";\nconst UNDERSCORE_NOT_FOUND_ROUTE_ENTRY = \"\" + UNDERSCORE_NOT_FOUND_ROUTE + \"/page\";\nconst PHASE_EXPORT = \"phase-export\";\nconst PHASE_PRODUCTION_BUILD = \"phase-production-build\";\nconst PHASE_PRODUCTION_SERVER = \"phase-production-server\";\nconst PHASE_DEVELOPMENT_SERVER = \"phase-development-server\";\nconst PHASE_TEST = \"phase-test\";\nconst PHASE_INFO = \"phase-info\";\nconst PAGES_MANIFEST = \"pages-manifest.json\";\nconst APP_PATHS_MANIFEST = \"app-paths-manifest.json\";\nconst APP_PATH_ROUTES_MANIFEST = \"app-path-routes-manifest.json\";\nconst BUILD_MANIFEST = \"build-manifest.json\";\nconst APP_BUILD_MANIFEST = \"app-build-manifest.json\";\nconst FUNCTIONS_CONFIG_MANIFEST = \"functions-config-manifest.json\";\nconst SUBRESOURCE_INTEGRITY_MANIFEST = \"subresource-integrity-manifest\";\nconst NEXT_FONT_MANIFEST = \"next-font-manifest\";\nconst EXPORT_MARKER = \"export-marker.json\";\nconst EXPORT_DETAIL = \"export-detail.json\";\nconst PRERENDER_MANIFEST = \"prerender-manifest.json\";\nconst ROUTES_MANIFEST = \"routes-manifest.json\";\nconst IMAGES_MANIFEST = \"images-manifest.json\";\nconst SERVER_FILES_MANIFEST = \"required-server-files.json\";\nconst DEV_CLIENT_PAGES_MANIFEST = \"_devPagesManifest.json\";\nconst MIDDLEWARE_MANIFEST = \"middleware-manifest.json\";\nconst DEV_MIDDLEWARE_MANIFEST = \"_devMiddlewareManifest.json\";\nconst REACT_LOADABLE_MANIFEST = \"react-loadable-manifest.json\";\nconst AUTOMATIC_FONT_OPTIMIZATION_MANIFEST = \"font-manifest.json\";\nconst SERVER_DIRECTORY = \"server\";\nconst CONFIG_FILES = [\n \"next.config.js\",\n \"next.config.mjs\"\n];\nconst BUILD_ID_FILE = \"BUILD_ID\";\nconst BLOCKED_PAGES = [\n \"/_document\",\n \"/_app\",\n \"/_error\"\n];\nconst CLIENT_PUBLIC_FILES_PATH = \"public\";\nconst CLIENT_STATIC_FILES_PATH = \"static\";\nconst STRING_LITERAL_DROP_BUNDLE = \"__NEXT_DROP_CLIENT_FILE__\";\nconst NEXT_BUILTIN_DOCUMENT = \"__NEXT_BUILTIN_DOCUMENT__\";\nconst BARREL_OPTIMIZATION_PREFIX = \"__barrel_optimize__\";\nconst CLIENT_REFERENCE_MANIFEST = \"client-reference-manifest\";\nconst SERVER_REFERENCE_MANIFEST = \"server-reference-manifest\";\nconst MIDDLEWARE_BUILD_MANIFEST = \"middleware-build-manifest\";\nconst MIDDLEWARE_REACT_LOADABLE_MANIFEST = \"middleware-react-loadable-manifest\";\nconst INTERCEPTION_ROUTE_REWRITE_MANIFEST = \"interception-route-rewrite-manifest\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN = \"main\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN_APP = \"\" + CLIENT_STATIC_FILES_RUNTIME_MAIN + \"-app\";\nconst APP_CLIENT_INTERNALS = \"app-pages-internals\";\nconst CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH = \"react-refresh\";\nconst CLIENT_STATIC_FILES_RUNTIME_AMP = \"amp\";\nconst CLIENT_STATIC_FILES_RUNTIME_WEBPACK = \"webpack\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS = \"polyfills\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL = Symbol(CLIENT_STATIC_FILES_RUNTIME_POLYFILLS);\n_c = CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL;\nconst DEFAULT_RUNTIME_WEBPACK = \"webpack-runtime\";\nconst EDGE_RUNTIME_WEBPACK = \"edge-runtime-webpack\";\nconst STATIC_PROPS_ID = \"__N_SSG\";\nconst SERVER_PROPS_ID = \"__N_SSP\";\nconst GOOGLE_FONT_PROVIDER = \"https://fonts.googleapis.com/\";\nconst OPTIMIZED_FONT_PROVIDERS = [\n {\n url: GOOGLE_FONT_PROVIDER,\n preconnect: \"https://fonts.gstatic.com\"\n },\n {\n url: \"https://use.typekit.net\",\n preconnect: \"https://use.typekit.net\"\n }\n];\nconst DEFAULT_SERIF_FONT = {\n name: \"Times New Roman\",\n xAvgCharWidth: 821,\n azAvgWidth: 854.3953488372093,\n unitsPerEm: 2048\n};\nconst DEFAULT_SANS_SERIF_FONT = {\n name: \"Arial\",\n xAvgCharWidth: 904,\n azAvgWidth: 934.5116279069767,\n unitsPerEm: 2048\n};\nconst STATIC_STATUS_PAGES = [\n \"/500\"\n];\nconst TRACE_OUTPUT_VERSION = 1;\nconst TURBO_TRACE_DEFAULT_MEMORY_LIMIT = 6000;\nconst RSC_MODULE_TYPES = {\n client: \"client\",\n server: \"server\"\n};\nconst EDGE_UNSUPPORTED_NODE_APIS = [\n \"clearImmediate\",\n \"setImmediate\",\n \"BroadcastChannel\",\n \"ByteLengthQueuingStrategy\",\n \"CompressionStream\",\n \"CountQueuingStrategy\",\n \"DecompressionStream\",\n \"DomException\",\n \"MessageChannel\",\n \"MessageEvent\",\n \"MessagePort\",\n \"ReadableByteStreamController\",\n \"ReadableStreamBYOBRequest\",\n \"ReadableStreamDefaultController\",\n \"TransformStreamDefaultController\",\n \"WritableStreamDefaultController\"\n];\nconst SYSTEM_ENTRYPOINTS = new Set([\n CLIENT_STATIC_FILES_RUNTIME_MAIN,\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH,\n CLIENT_STATIC_FILES_RUNTIME_AMP,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP\n]);\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=constants.js.map\nvar _c;\n$RefreshReg$(_c, \"CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQStDYUEsb0JBQWtCO2VBQWxCQTs7SUEwQ0FDLHNCQUFvQjtlQUFwQkE7O0lBN0NBQyxvQkFBa0I7ZUFBbEJBOztJQUNBQywwQkFBd0I7ZUFBeEJBOztJQWdCQUMsc0NBQW9DO2VBQXBDQTs7SUFTQUMsNEJBQTBCO2VBQTFCQTs7SUFMQUMsZUFBYTtlQUFiQTs7SUFEQUMsZUFBYTtlQUFiQTs7SUFsQkFDLGdCQUFjO2VBQWRBOztJQW9CQUMsMEJBQXdCO2VBQXhCQTs7SUFPQUMsMkJBQXlCO2VBQXpCQTs7SUFOQUMsMEJBQXdCO2VBQXhCQTs7SUEwQkFDLGlDQUErQjtlQUEvQkE7O0lBUEFDLGtDQUFnQztlQUFoQ0E7O0lBQ0FDLHNDQUFvQztlQUFwQ0E7O0lBVUFDLHVDQUFxQztlQUFyQ0E7O0lBQ0FDLDhDQUE0QztlQUE1Q0E7O0lBUEFDLDJDQUF5QztlQUF6Q0E7O0lBSUFDLHFDQUFtQztlQUFuQ0E7O0lBcEVBQyxrQkFBZ0I7ZUFBaEJBOztJQXJCQUMsZ0JBQWM7ZUFBZEE7O0lBeURBQyxjQUFZO2VBQVpBOztJQXNDQUMseUJBQXVCO2VBQXZCQTs7SUFlQUMseUJBQXVCO2VBQXZCQTs7SUFOQUMsb0JBQWtCO2VBQWxCQTs7SUFyREFDLDJCQUF5QjtlQUF6QkE7O0lBRUFDLHlCQUF1QjtlQUF2QkE7O0lBMkNBQyxzQkFBb0I7ZUFBcEJBOztJQWtDQUMsNEJBQTBCO2VBQTFCQTs7SUFwRkFDLGVBQWE7ZUFBYkE7O0lBREFDLGVBQWE7ZUFBYkE7O0lBSEFDLDJCQUF5QjtlQUF6QkE7O0lBeURBQyxzQkFBb0I7ZUFBcEJBOztJQWxEQUMsaUJBQWU7ZUFBZkE7O0lBMkJBQyxxQ0FBbUM7ZUFBbkNBOztJQWxFQUMsa0JBQWdCO2VBQWhCQTs7SUE2REFDLDJCQUF5QjtlQUF6QkE7O0lBbkJBQyxxQkFBbUI7ZUFBbkJBOztJQXFCQUMs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QUFNTCxrQ0FBbUM7QUFFekMsTUFBTU0sc0NBQXVDO0FBRTdDLE1BQU1ILHdDQUF3QztBQUM5QyxNQUFNQywrQ0FBK0NzRCxPQUMxRHZEOztBQUVLLE1BQU1PLDBCQUEwQjtBQUNoQyxNQUFNSyx1QkFBdUI7QUFDN0IsTUFBTStCLGtCQUFrQjtBQUN4QixNQUFNRixrQkFBa0I7QUFDeEIsTUFBTXhCLHVCQUF1QjtBQUM3QixNQUFNVSwyQkFBMkI7SUFDdEM7UUFBRTZCLEtBQUt2QztRQUFzQndDLFlBQVk7SUFBNEI7SUFDckU7UUFBRUQsS0FBSztRQUEyQkMsWUFBWTtJQUEwQjtDQUN6RTtBQUNNLE1BQU1oRCxxQkFBcUI7SUFDaENpRCxNQUFNO0lBQ05DLGVBQWU7SUFDZkMsWUFBWTtJQUNaQyxZQUFZO0FBQ2Q7QUFDTyxNQUFNckQsMEJBQTBCO0lBQ3JDa0QsTUFBTTtJQUNOQyxlQUFlO0lBQ2ZDLFlBQVk7SUFDWkMsWUFBWTtBQUNkO0FBQ08sTUFBTWpCLHNCQUFzQjtJQUFDO0NBQU87QUFDcEMsTUFBTUksdUJBQXVCO0FBRTdCLE1BQU1DLG1DQUFtQztBQUV6QyxNQUFNWCxtQkFBbUI7SUFDOUJjLFFBQVE7SUFDUkMsUUFBUTtBQUNWO0FBTU8sTUFBTXhDLDZCQUE2QjtJQUN4QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sTUFBTWtDLHFCQUFxQixJQUFJZSxJQUFZO0lBQ2hEaEU7SUFDQUk7SUFDQUw7SUFDQUU7Q0FDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvY29uc3RhbnRzLnRzPzQwOWEiXSwibmFtZXMiOlsiQVBQX0JVSUxEX01BTklGRVNUIiwiQVBQX0NMSUVOVF9JTlRFUk5BTFMiLCJBUFBfUEFUSFNfTUFOSUZFU1QiLCJBUFBfUEFUSF9ST1VURVNfTUFOSUZFU1QiLCJBVVRPTUFUSUNfRk9OVF9PUFRJTUlaQVRJT05fTUFOSUZFU1QiLCJCQVJSRUxfT1BUSU1JWkFUSU9OX1BSRUZJWCIsIkJMT0NLRURfUEFHRVMiLCJCVUlMRF9JRF9GSUxFIiwiQlVJTERfTUFOSUZFU1QiLCJDTElFTlRfUFVCTElDX0ZJTEVTX1BBVEgiLCJDTElFTlRfUkVGRVJFTkNFX01BTklGRVNUIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19QQVRIIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX0FNUCIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU5fQVBQIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMUyIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFNfU1lNQk9MIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1JFQUNUX1JFRlJFU0giLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfV0VCUEFDSyIsIkNPTVBJTEVSX0lOREVYRVMiLCJDT01QSUxFUl9OQU1FUyIsIkNPTkZJR19GSUxFUyIsIkRFRkFVTFRfUlVOVElNRV9XRUJQQUNLIiwiREVGQVVMVF9TQU5TX1NFUklGX0ZPTlQiLCJERUZBVUxUX1NFUklGX0ZPTlQiLCJERVZfQ0xJRU5UX1BBR0VTX01BTklGRVNUIiwiREVWX01JRERMRVdBUkVfTUFOSUZFU1QiLCJFREdFX1JVTlRJTUVfV0VCUEFDSyIsIkVER0VfVU5TVVBQT1JURURfTk9ERV9BUElTIiwiRVhQT1JUX0RFVEFJTCIsIkVYUE9SVF9NQVJLRVIiLCJGVU5DVElPTlNfQ09ORklHX01BTklGRVNUIiwiR09PR0xFX0ZPTlRfUFJPVklERVIiLCJJTUFHRVNfTUFOSUZFU1QiLCJJTlRFUkNFUFRJT05fUk9VVEVfUkVXUklURV9NQU5JRkVTVCIsIklOVEVSTkFMX0hFQURFUlMiLCJNSURETEVXQVJFX0JVSUxEX01BTklGRVNUIiwiTUlERExFV0FSRV9NQU5JRkVTVCIsIk1JRERMRVdBUkVfUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1QiLCJNT0RFUk5fQlJPV1NFUlNMSVNUX1RBUkdFVCIsIk5FWFRfQlVJTFRJTl9ET0NVTUVOVCIsIk5FWFRfRk9OVF9NQU5JRkVTVCIsIk9QVElNSVpFRF9GT05UX1BST1ZJREVSUyIsIlBBR0VTX01BTklGRVNUIiwiUEhBU0VfREVWRUxPUE1FTlRfU0VSVkVSIiwiUEhBU0VfRVhQT1JUIiwiUEhBU0VfSU5GTyIsIlBIQVNFX1BST0RVQ1RJT05fQlVJTEQiLCJQSEFTRV9QUk9EVUNUSU9OX1NFUlZFUiIsIlBIQVNFX1RFU1QiLCJQUkVSRU5ERVJfTUFOSUZFU1QiLCJSRUFDVF9MT0FEQUJMRV9NQU5JRkVTVCIsIlJPVVRFU19NQU5JRkVTVCIsIlJTQ19NT0RVTEVfVFlQRVMiLCJTRVJWRVJfRElSRUNUT1JZIiwiU0VSVkVSX0ZJTEVTX01BTklGRVNUIiwiU0VSVkVSX1BST1BTX0lEIiwiU0VSVkVSX1JFRkVSRU5DRV9NQU5JRkVTVCIsIlNUQVRJQ19QUk9QU19JRCIsIlNUQVRJQ19TVEFUVVNfUEFHRVMiLCJTVFJJTkdfTElURVJBTF9EUk9QX0JVTkRMRSIsIlNVQlJFU09VUkNFX0lOVEVHUklUWV9NQU5JRkVTVCIsIlNZU1RFTV9FTlRSWVBPSU5UUyIsIlRSQUNFX09VVFBVVF9WRVJTSU9OIiwiVFVSQk9fVFJBQ0VfREVGQVVMVF9NRU1PUllfTElNSVQiLCJVTkRFUlNDT1JFX05PVF9GT1VORF9ST1VURSIsIlVOREVSU0NPUkVfTk9UX0ZPVU5EX1JPVVRFX0VOVFJZIiwiY2xpZW50Iiwic2VydmVyIiwiZWRnZVNlcnZlciIsIlN5bWJvbCIsInVybCIsInByZWNvbm5lY3QiLCJuYW1lIiwieEF2Z0NoYXJXaWR0aCIsImF6QXZnV2lkdGgiLCJ1bml0c1BlckVtIiwiU2V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/error-source.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/error-source.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n decorateServerError: function() {\n return decorateServerError;\n },\n getErrorSource: function() {\n return getErrorSource;\n }\n});\nconst symbolError = Symbol.for(\"NextjsError\");\nfunction getErrorSource(error) {\n return error[symbolError] || null;\n}\nfunction decorateServerError(error, type) {\n Object.defineProperty(error, symbolError, {\n writable: false,\n enumerable: false,\n configurable: false,\n value: type\n });\n} //# sourceMappingURL=error-source.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXJyb3Itc291cmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVFnQkEscUJBQW1CO2VBQW5CQTs7SUFOQUMsZ0JBQWM7ZUFBZEE7OztBQUZoQixNQUFNQyxjQUFjQyxPQUFPQyxHQUFHLENBQUM7QUFFeEIsU0FBU0gsZUFBZUksS0FBWTtJQUN6QyxPQUFPQSxLQUFjLENBQUNILFlBQVksSUFBSTtBQUN4QztBQUlPLFNBQVNGLG9CQUFvQkssS0FBWSxFQUFFQyxJQUFxQjtJQUNyRUMsT0FBT0MsY0FBYyxDQUFDSCxPQUFPSCxhQUFhO1FBQ3hDTyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsY0FBYztRQUNkQyxPQUFPTjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2Vycm9yLXNvdXJjZS50cz80NDYxIl0sIm5hbWVzIjpbImRlY29yYXRlU2VydmVyRXJyb3IiLCJnZXRFcnJvclNvdXJjZSIsInN5bWJvbEVycm9yIiwiU3ltYm9sIiwiZm9yIiwiZXJyb3IiLCJ0eXBlIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ3cml0YWJsZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ2YWx1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/error-source.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcyIsIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7Ozs7O3NEQUkxREE7OztlQUFBQTs7O0FBSGhCLE1BQU1DLGNBQWM7QUFDcEIsTUFBTUMsa0JBQWtCO0FBRWpCLFNBQVNGLG1CQUFtQkcsR0FBVztJQUM1QywrR0FBK0c7SUFDL0csSUFBSUYsWUFBWUcsSUFBSSxDQUFDRCxNQUFNO1FBQ3pCLE9BQU9BLElBQUlFLE9BQU8sQ0FBQ0gsaUJBQWlCO0lBQ3RDO0lBQ0EsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC50cz9kY2IxIl0sIm5hbWVzIjpbImVzY2FwZVN0cmluZ1JlZ2V4cCIsInJlSGFzUmVnRXhwIiwicmVSZXBsYWNlUmVnRXhwIiwic3RyIiwidGVzdCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/escape-regexp.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HeadManagerContext\", ({\n enumerable: true,\n get: function() {\n return HeadManagerContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst HeadManagerContext = _react.default.createContext({});\nif (true) {\n HeadManagerContext.displayName = \"HeadManagerContext\";\n} //# sourceMappingURL=head-manager-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC1tYW5hZ2VyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFFYUE7OztlQUFBQTs7Ozs0RUFGSztBQUVYLE1BQU1BLHFCQVVSQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRTFCLElBQUlDLElBQXlCLEVBQWM7SUFDekNILG1CQUFtQkksV0FBVyxHQUFHO0FBQ25DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9oZWFkLW1hbmFnZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz8xNmYxIl0sIm5hbWVzIjpbIkhlYWRNYW5hZ2VyQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\n_c = Head;\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\nvar _c;\n$RefreshReg$(_c, \"Head\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQXFNQUEsU0FBbUI7OztJQXhMSEM7aUJBQUFBOzs7Ozs7OzsyREFUZ0JDLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7O3lDQUVKQSxtQkFBQUEsQ0FBQTs7QUFPckIsTUFBQUMsWUFBU0gsbUJBQUFBLENBQVlJLGlGQUFBQTtTQUFBQSxZQUFBQSxTQUFBQTtJQUMxQixJQUFBQSxjQUFhLFFBQUFBLFlBQUE7O21CQUFPQyxHQUFRLElBQUFDLFlBQUFDLEdBQUE7O1FBQVc7S0FDdkM7UUFDRUMsQ0FBQUEsV0FBUzthQUFPQyxJQUFBQSxDQUFLLGtCQUFBSCxZQUFBQyxHQUFBO1lBQVdHLE1BQUFBOztRQUNsQztJQUNBO0lBQ0YsT0FBQUY7QUFFQTtTQUlFRyxpQkFBQUMsSUFBQSxFQUFBQyxLQUFBO0lBQ0EsOEZBQTREO1FBQzFELE9BQU9ELFVBQUFBLFlBQUFBLE9BQUFBLFVBQUFBLFVBQUFBO1FBQ1QsT0FBQUE7SUFDQTtJQUNBLGtDQUF5QkU7UUFDdkJELE1BQUFFLElBQU9ILEtBQUtJLE9BQ1ZDLE9BQUEsQ0FBQUgsUUFBQTtRQUNBSSxPQUFBQSxLQUFBQSxNQUFNQyxDQUVKQyxPQUNFQyxPQUFBQSxDQUNBQyxRQUFBQSxDQUFBQSxPQUFBQSxDQUFBQSxNQUFBQSxLQUFBQSxDQUFBQSxRQUFBQSxFQUFBQSxNQUFBQSxnQkFHU0E7Z0JBR1AsT0FBT0Qsa0JBQUFBLFlBQUFBLE9BQUFBLGtCQUFBQSxVQUFBQTtnQkFDVCxPQUFBQTtZQUNBO1lBRUYsT0FBRUEsYUFBQUwsTUFBQSxDQUFBTTtRQUdSO0lBQ0E7SUFDRixPQUFBVixLQUFBSSxNQUFBLENBQUFIO0FBRUE7TUFBbUJVLFlBQUE7SUFBUTtJQUFhO0lBQVc7SUFBVztDQUU5RDs7Ozs7WUFNUUM7SUFDTixNQUFNQyxPQUFPLElBQUlDO0lBQ2pCLE1BQU1DLE9BQUFBLElBQUFBO0lBQ04s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LFVBQUEsRUFBQ0csaUNBQU1ELGtCQUFBO1dBQ0xFLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQXlCQyxHQUFBQSxFQUFBQSxZQUFBQSxPQUFBQSxFQUFBQTtRQUN6QkoseUJBQWFBO1FBQ2J6RCxhQUFXOEQ7bUJBRVZULENBQUFBLEdBQUFBLFNBQUFBLFdBQUFBLEVBQUFBOztJQUdQOztLQVpnQkEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2hlYWQudHN4PzM2NzAiXSwibmFtZXMiOlsiZXhwb3J0cyIsImRlZmF1bHRIZWFkIiwiXyIsInJlcXVpcmUiLCJfd2Fybm9uY2UiLCJpbkFtcE1vZGUiLCJjaGFyU2V0IiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJoZWFkIiwibmFtZSIsImNvbnRlbnQiLCJvbmx5UmVhY3RFbGVtZW50IiwibGlzdCIsImNoaWxkIiwiRnJhZ21lbnQiLCJ0eXBlIiwiY29uY2F0IiwiZGVmYXVsdCIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJfcmVhY3QiLCJmcmFnbWVudExpc3QiLCJmcmFnbWVudENoaWxkIiwiTUVUQVRZUEVTIiwia2V5cyIsInRhZ3MiLCJTZXQiLCJtZXRhVHlwZXMiLCJtZXRhQ2F0ZWdvcmllcyIsImgiLCJpc1VuaXF1ZSIsImhhc0tleSIsImtleSIsImluZGV4T2YiLCJhZGQiLCJpIiwibWV0YXR5cGUiLCJsZW4iLCJoYXNPd25Qcm9wZXJ0eSIsImNhdGVnb3JpZXMiLCJoYXMiLCJjYXRlZ29yeSIsInByb3BzIiwiaGVhZENoaWxkcmVuRWxlbWVudHMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjIiwiX19ORVhUX09QVElNSVpFX0ZPTlRTIiwic29tZSIsInVybCIsIm5ld1Byb3BzIiwic3RhcnRzV2l0aCIsInVuZGVmaW5lZCIsImNsb25lRWxlbWVudCIsInNyY01lc3NhZ2UiLCJ3YXJuT25jZSIsImNoaWxkcmVuIiwicGFyYW0iLCJhbXBTdGF0ZSIsInVzZUNvbnRleHQiLCJoZWFkTWFuYWdlciIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsIkVmZmVjdCIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwicmVkdWNlQ29tcG9uZW50cyIsImlzSW5BbXBNb2RlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PathParamsContext: function() {\n return PathParamsContext;\n },\n PathnameContext: function() {\n return PathnameContext;\n },\n SearchParamsContext: function() {\n return SearchParamsContext;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst SearchParamsContext = (0, _react.createContext)(null);\nconst PathnameContext = (0, _react.createContext)(null);\nconst PathParamsContext = (0, _react.createContext)(null);\nif (true) {\n SearchParamsContext.displayName = \"SearchParamsContext\";\n PathnameContext.displayName = \"PathnameContext\";\n PathParamsContext.displayName = \"PathParamsContext\";\n} //# sourceMappingURL=hooks-client-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaG9va3MtY2xpZW50LWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFPYUEsU0FBQUE7dUJBQUFBOztJQURBQztxQkFBQUE7O0lBREFDO3lCQUFBQTs7OztBQUFOLE1BQU1BLFNBQUFBLG1CQUFBQSxDQUFBQSw0Q0FBQUE7QUFDTixNQUFNRCxzQkFBa0JFLENBQUFBLEdBQUFBLE9BQUFBLGFBQTZCO0FBQ3JELE1BQU1ILGtCQUFBQSxDQUFBQSxHQUFvQkcsT0FBQUEsYUFBQUEsRUFBYTtBQUU5QyxNQUFJQyxvQkFBb0IsSUFBS0MsT0FBQUYsYUFBYztJQUN6Q0QsSUFBb0JJLEVBQWM7SUFDbENMLG9CQUFnQkssV0FBYztJQUM5Qk4sZ0JBQUFBLFdBQWtCTSxHQUFXO0lBQy9CTixrQkFBQU0sV0FBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaG9va3MtY2xpZW50LWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/NzExYiJdLCJuYW1lcyI6WyJQYXRoUGFyYW1zQ29udGV4dCIsIlBhdGhuYW1lQ29udGV4dCIsIlNlYXJjaFBhcmFtc0NvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsIl9yZWFjdCIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizeLocalePath\", ({\n enumerable: true,\n get: function() {\n return normalizeLocalePath;\n }\n}));\nfunction normalizeLocalePath(pathname, locales) {\n let detectedLocale;\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split(\"/\");\n (locales || []).some((locale)=>{\n if (pathnameParts[1] && pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join(\"/\") || \"/\";\n return true;\n }\n return false;\n });\n return {\n pathname,\n detectedLocale\n };\n} //# sourceMappingURL=normalize-locale-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFjZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG9CQUNkQyxRQUFnQixFQUNoQkMsT0FBa0I7SUFFbEIsSUFBSUM7SUFDSiwrREFBK0Q7SUFDL0QsTUFBTUMsZ0JBQWdCSCxTQUFTSSxLQUFLLENBQUM7SUFFbkNILENBQUFBLFdBQVcsRUFBRSxFQUFFSSxJQUFJLENBQUMsQ0FBQ0M7UUFDckIsSUFDRUgsYUFBYSxDQUFDLEVBQUUsSUFDaEJBLGFBQWEsQ0FBQyxFQUFFLENBQUNJLFdBQVcsT0FBT0QsT0FBT0MsV0FBVyxJQUNyRDtZQUNBTCxpQkFBaUJJO1lBQ2pCSCxjQUFjSyxNQUFNLENBQUMsR0FBRztZQUN4QlIsV0FBV0csY0FBY00sSUFBSSxDQUFDLFFBQVE7WUFDdEMsT0FBTztRQUNUO1FBQ0EsT0FBTztJQUNUO0lBRUEsT0FBTztRQUNMVDtRQUNBRTtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoLnRzPzBiNzMiXSwibmFtZXMiOlsibm9ybWFsaXplTG9jYWxlUGF0aCIsInBhdGhuYW1lIiwibG9jYWxlcyIsImRldGVjdGVkTG9jYWxlIiwicGF0aG5hbWVQYXJ0cyIsInNwbGl0Iiwic29tZSIsImxvY2FsZSIsInRvTG93ZXJDYXNlIiwic3BsaWNlIiwiam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageConfigContext\", ({\n enumerable: true,\n get: function() {\n return ImageConfigContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"./node_modules/next/dist/shared/lib/image-config.js\");\nconst ImageConfigContext = _react.default.createContext(_imageconfig.imageConfigDefault);\nif (true) {\n ImageConfigContext.displayName = \"ImageConfigContext\";\n} //# sourceMappingURL=image-config-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFJYUE7OztlQUFBQTs7Ozs0RUFKSzt5Q0FFaUI7QUFFNUIsTUFBTUEscUJBQ1hDLE9BQUFBLE9BQUssQ0FBQ0MsYUFBYSxDQUFzQkMsYUFBQUEsa0JBQWtCO0FBRTdELElBQUlDLElBQXlCLEVBQWM7SUFDekNKLG1CQUFtQkssV0FBVyxHQUFHO0FBQ25DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZS50cz8zZDc1Il0sIm5hbWVzIjpbIkltYWdlQ29uZmlnQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsImltYWdlQ29uZmlnRGVmYXVsdCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/image-config.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFhQSxlQUFhO2VBQWJBOztJQXNHQUMsb0JBQWtCO2VBQWxCQTs7O0FBdEdOLE1BQU1ELGdCQUFnQjtJQUMzQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFnR00sTUFBTUMscUJBQTBDO0lBQ3JEQyxhQUFhO1FBQUM7UUFBSztRQUFLO1FBQUs7UUFBTTtRQUFNO1FBQU07UUFBTTtLQUFLO0lBQzFEQyxZQUFZO1FBQUM7UUFBSTtRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUs7UUFBSztLQUFJO0lBQy9DQyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsWUFBWTtJQUNaQyxTQUFTLEVBQUU7SUFDWEMscUJBQXFCO0lBQ3JCQyxpQkFBaUI7SUFDakJDLFNBQVM7UUFBQztLQUFhO0lBQ3ZCQyxxQkFBcUI7SUFDckJDLHVCQUF3QjtJQUN4QkMsd0JBQXdCO0lBQ3hCQyxnQkFBZ0IsRUFBRTtJQUNsQkMsYUFBYTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1jb25maWcudHM/MTM0YSJdLCJuYW1lcyI6WyJWQUxJRF9MT0FERVJTIiwiaW1hZ2VDb25maWdEZWZhdWx0IiwiZGV2aWNlU2l6ZXMiLCJpbWFnZVNpemVzIiwicGF0aCIsImxvYWRlciIsImxvYWRlckZpbGUiLCJkb21haW5zIiwiZGlzYWJsZVN0YXRpY0ltYWdlcyIsIm1pbmltdW1DYWNoZVRUTCIsImZvcm1hdHMiLCJkYW5nZXJvdXNseUFsbG93U1ZHIiwiY29udGVudFNlY3VyaXR5UG9saWN5IiwiY29udGVudERpc3Bvc2l0aW9uVHlwZSIsInJlbW90ZVBhdHRlcm5zIiwidW5vcHRpbWl6ZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/image-config.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/is-plain-object.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/is-plain-object.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getObjectClassLabel: function() {\n return getObjectClassLabel;\n },\n isPlainObject: function() {\n return isPlainObject;\n }\n});\nfunction getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nfunction isPlainObject(value) {\n if (getObjectClassLabel(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty(\"isPrototypeOf\");\n} //# sourceMappingURL=is-plain-object.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFnQkEscUJBQW1CO2VBQW5CQTs7SUFJQUMsZUFBYTtlQUFiQTs7O0FBSlQsU0FBU0Qsb0JBQW9CRSxLQUFVO0lBQzVDLE9BQU9DLE9BQU9DLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUNKO0FBQ3hDO0FBRU8sU0FBU0QsY0FBY0MsS0FBVTtJQUN0QyxJQUFJRixvQkFBb0JFLFdBQVcsbUJBQW1CO1FBQ3BELE9BQU87SUFDVDtJQUVBLE1BQU1FLFlBQVlELE9BQU9JLGNBQWMsQ0FBQ0w7SUFFeEM7Ozs7Ozs7O0dBUUMsR0FDRCxPQUFPRSxjQUFjLFFBQVFBLFVBQVVJLGNBQWMsQ0FBQztBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LnRzPzJmYjIiXSwibmFtZXMiOlsiZ2V0T2JqZWN0Q2xhc3NMYWJlbCIsImlzUGxhaW5PYmplY3QiLCJ2YWx1ZSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsImdldFByb3RvdHlwZU9mIiwiaGFzT3duUHJvcGVydHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/is-plain-object.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// This has to be a shared module which is shared between client component error boundary and dynamic component\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BailoutToCSRError: function() {\n return BailoutToCSRError;\n },\n isBailoutToCSRError: function() {\n return isBailoutToCSRError;\n }\n});\nconst BAILOUT_TO_CSR = \"BAILOUT_TO_CLIENT_SIDE_RENDERING\";\nclass BailoutToCSRError extends Error {\n constructor(reason){\n super(\"Bail out to client-side rendering: \" + reason);\n this.reason = reason;\n this.digest = BAILOUT_TO_CSR;\n }\n}\nfunction isBailoutToCSRError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err)) {\n return false;\n }\n return err.digest === BAILOUT_TO_CSR;\n} //# sourceMappingURL=bailout-to-csr.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyLmpzIiwibWFwcGluZ3MiOiJBQUFBLCtHQUErRzs7Ozs7Ozs7Ozs7OztJQUlsR0EsbUJBQWlCO2VBQWpCQTs7SUFTR0MscUJBQW1CO2VBQW5CQTs7O0FBWmhCLE1BQU1DLGlCQUFpQjtBQUdoQixNQUFNRiwwQkFBMEJHO0lBR3JDQyxZQUFZQyxNQUE4QixDQUFFO1FBQzFDLEtBQUssQ0FBQyx3Q0FBc0NBO2FBRGxCQSxNQUFBQSxHQUFBQTthQUZaQyxNQUFBQSxHQUFTSjtJQUl6QjtBQUNGO0FBR08sU0FBU0Qsb0JBQW9CTSxHQUFZO0lBQzlDLElBQUksT0FBT0EsUUFBUSxZQUFZQSxRQUFRLFFBQVEsQ0FBRSxhQUFZQSxHQUFBQSxHQUFNO1FBQ2pFLE9BQU87SUFDVDtJQUVBLE9BQU9BLElBQUlELE1BQU0sS0FBS0o7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2xhenktZHluYW1pYy9iYWlsb3V0LXRvLWNzci50cz83OTE3Il0sIm5hbWVzIjpbIkJhaWxvdXRUb0NTUkVycm9yIiwiaXNCYWlsb3V0VG9DU1JFcnJvciIsIkJBSUxPVVRfVE9fQ1NSIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsInJlYXNvbiIsImRpZ2VzdCIsImVyciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/magic-identifier.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/magic-identifier.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n MAGIC_IDENTIFIER_REGEX: function() {\n return MAGIC_IDENTIFIER_REGEX;\n },\n decodeMagicIdentifier: function() {\n return decodeMagicIdentifier;\n }\n});\nfunction decodeHex(hexStr) {\n if (hexStr.trim() === \"\") {\n throw new Error(\"can't decode empty hex\");\n }\n const num = parseInt(hexStr, 16);\n if (isNaN(num)) {\n throw new Error(\"invalid hex: `\" + hexStr + \"`\");\n }\n return String.fromCodePoint(num);\n}\nvar Mode;\nconst DECODE_REGEX = /^__TURBOPACK__([a-zA-Z0-9_$]+)__$/;\nfunction decodeMagicIdentifier(identifier) {\n const matches = identifier.match(DECODE_REGEX);\n if (!matches) {\n return identifier;\n }\n const inner = matches[1];\n let output = \"\";\n let mode = 0;\n let buffer = \"\";\n for(let i = 0; i < inner.length; i++){\n const char = inner[i];\n if (mode === 0) {\n if (char === \"_\") {\n mode = 1;\n } else if (char === \"$\") {\n mode = 2;\n } else {\n output += char;\n }\n } else if (mode === 1) {\n if (char === \"_\") {\n output += \" \";\n mode = 0;\n } else if (char === \"$\") {\n output += \"_\";\n mode = 2;\n } else {\n output += char;\n mode = 0;\n }\n } else if (mode === 2) {\n if (buffer.length === 2) {\n output += decodeHex(buffer);\n buffer = \"\";\n }\n if (char === \"_\") {\n if (buffer !== \"\") {\n throw new Error(\"invalid hex: `\" + buffer + \"`\");\n }\n mode = 3;\n } else if (char === \"$\") {\n if (buffer !== \"\") {\n throw new Error(\"invalid hex: `\" + buffer + \"`\");\n }\n mode = 0;\n } else {\n buffer += char;\n }\n } else if (mode === 3) {\n if (char === \"_\") {\n throw new Error(\"invalid hex: `\" + (buffer + char) + \"`\");\n } else if (char === \"$\") {\n output += decodeHex(buffer);\n buffer = \"\";\n mode = 0;\n } else {\n buffer += char;\n }\n }\n }\n return output;\n}\nconst MAGIC_IDENTIFIER_REGEX = /__TURBOPACK__[a-zA-Z0-9_$]+__/g; //# sourceMappingURL=magic-identifier.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWFnaWMtaWRlbnRpZmllci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE4RmFBLHdCQUFzQjtlQUF0QkE7O0lBeEVHQyx1QkFBcUI7ZUFBckJBOzs7QUF0QmhCLFNBQVNDLFVBQVVDLE1BQWM7SUFDL0IsSUFBSUEsT0FBT0MsSUFBSSxPQUFPLElBQUk7UUFDeEIsTUFBTSxJQUFJQyxNQUFNO0lBQ2xCO0lBRUEsTUFBTUMsTUFBTUMsU0FBU0osUUFBUTtJQUM3QixJQUFJSyxNQUFNRixNQUFNO1FBQ2QsTUFBTSxJQUFJRCxNQUFNLG1CQUFrQkYsU0FBTztJQUMzQztJQUVBLE9BQU9NLE9BQU9DLGFBQWEsQ0FBQ0o7QUFDOUI7O0FBU0EsTUFBTUssZUFBZTtBQUVkLFNBQVNWLHNCQUFzQlcsVUFBa0I7SUFDdEQsTUFBTUMsVUFBVUQsV0FBV0UsS0FBSyxDQUFDSDtJQUNqQyxJQUFJLENBQUNFLFNBQVM7UUFDWixPQUFPRDtJQUNUO0lBRUEsTUFBTUcsUUFBUUYsT0FBTyxDQUFDLEVBQUU7SUFFeEIsSUFBSUcsU0FBUztJQUViLElBQUlDLE9BQUFBO0lBQ0osSUFBSUMsU0FBUztJQUNiLElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJSixNQUFNSyxNQUFNLEVBQUVELElBQUs7UUFDckMsTUFBTUUsT0FBT04sS0FBSyxDQUFDSSxFQUFFO1FBRXJCLElBQUlGLFNBQUFBLEdBQW9CO1lBQ3RCLElBQUlJLFNBQVMsS0FBSztnQkFDaEJKLE9BQUFBO1lBQ0YsT0FBTyxJQUFJSSxTQUFTLEtBQUs7Z0JBQ3ZCSixPQUFBQTtZQUNGLE9BQU87Z0JBQ0xELFVBQVVLO1lBQ1o7UUFDRixPQUFPLElBQUlKLFNBQUFBLEdBQTBCO1lBQ25DLElBQUlJLFNBQVMsS0FBSztnQkFDaEJMLFVBQVU7Z0JBQ1ZDLE9BQUFBO1lBQ0YsT0FBTyxJQUFJSSxTQUFTLEtBQUs7Z0JBQ3ZCTCxVQUFVO2dCQUNWQyxPQUFBQTtZQUNGLE9BQU87Z0JBQ0xELFVBQVVLO2dCQUNWSixPQUFBQTtZQUNGO1FBQ0YsT0FBTyxJQUFJQSxTQUFBQSxHQUFtQjtZQUM1QixJQUFJQyxPQUFPRSxNQUFNLEtBQUssR0FBRztnQkFDdkJKLFVBQVVkLFVBQVVnQjtnQkFDcEJBLFNBQVM7WUFDWDtZQUVBLElBQUlHLFNBQVMsS0FBSztnQkFDaEIsSUFBSUgsV0FBVyxJQUFJO29CQUNqQixNQUFNLElBQUliLE1BQU0sbUJBQWtCYSxTQUFPO2dCQUMzQztnQkFFQUQsT0FBQUE7WUFDRixPQUFPLElBQUlJLFNBQVMsS0FBSztnQkFDdkIsSUFBSUgsV0FBVyxJQUFJO29CQUNqQixNQUFNLElBQUliLE1BQU0sbUJBQWtCYSxTQUFPO2dCQUMzQztnQkFFQUQsT0FBQUE7WUFDRixPQUFPO2dCQUNMQyxVQUFVRztZQUNaO1FBQ0YsT0FBTyxJQUFJSixTQUFBQSxHQUF1QjtZQUNoQyxJQUFJSSxTQUFTLEtBQUs7Z0JBQ2hCLE1BQU0sSUFBSWhCLE1BQU0sbUJBQWtCYSxDQUFBQSxTQUFTRyxJQUFBQSxJQUFLO1lBQ2xELE9BQU8sSUFBSUEsU0FBUyxLQUFLO2dCQUN2QkwsVUFBVWQsVUFBVWdCO2dCQUNwQkEsU0FBUztnQkFFVEQsT0FBQUE7WUFDRixPQUFPO2dCQUNMQyxVQUFVRztZQUNaO1FBQ0Y7SUFDRjtJQUVBLE9BQU9MO0FBQ1Q7QUFFTyxNQUFNaEIseUJBQXlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tYWdpYy1pZGVudGlmaWVyLnRzPzk5MTQiXSwibmFtZXMiOlsiTUFHSUNfSURFTlRJRklFUl9SRUdFWCIsImRlY29kZU1hZ2ljSWRlbnRpZmllciIsImRlY29kZUhleCIsImhleFN0ciIsInRyaW0iLCJFcnJvciIsIm51bSIsInBhcnNlSW50IiwiaXNOYU4iLCJTdHJpbmciLCJmcm9tQ29kZVBvaW50IiwiREVDT0RFX1JFR0VYIiwiaWRlbnRpZmllciIsIm1hdGNoZXMiLCJtYXRjaCIsImlubmVyIiwib3V0cHV0IiwibW9kZSIsImJ1ZmZlciIsImkiLCJsZW5ndGgiLCJjaGFyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/magic-identifier.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/mitt.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/mitt.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/*\nMIT License\n\nCopyright (c) Jason Miller (https://jasonformat.com/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ // This file is based on https://github.com/developit/mitt/blob/v1.1.3/src/index.js\n// It's been edited for the needs of this script\n// See the LICENSE at the top of the file\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return mitt;\n }\n}));\nfunction mitt() {\n const all = Object.create(null);\n return {\n on (type, handler) {\n (all[type] || (all[type] = [])).push(handler);\n },\n off (type, handler) {\n if (all[type]) {\n all[type].splice(all[type].indexOf(handler) >>> 0, 1);\n }\n },\n emit (type) {\n for(var _len = arguments.length, evts = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n evts[_key - 1] = arguments[_key];\n }\n (all[type] || []).slice().map((handler)=>{\n handler(...evts);\n });\n }\n };\n} //# sourceMappingURL=mitt.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWl0dC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztBQVVBLEdBRUEsbUZBQW1GO0FBQ25GLGdEQUFnRDtBQUNoRCx5Q0FBeUM7Ozs7OzJDQVV6Qzs7O2VBQXdCQTs7O0FBQVQsU0FBU0E7SUFDdEIsTUFBTUMsTUFBa0NDLE9BQU9DLE1BQU0sQ0FBQztJQUV0RCxPQUFPO1FBQ0xDLElBQUdDLElBQVksRUFBRUMsT0FBZ0I7WUFDN0JMLENBQUFBLEdBQUcsQ0FBQ0ksS0FBSyxJQUFLSixDQUFBQSxHQUFHLENBQUNJLEtBQUssR0FBRyxFQUFFLEdBQUdFLElBQUksQ0FBQ0Q7UUFDeEM7UUFFQUUsS0FBSUgsSUFBWSxFQUFFQyxPQUFnQjtZQUNoQyxJQUFJTCxHQUFHLENBQUNJLEtBQUssRUFBRTtnQkFDYkosR0FBRyxDQUFDSSxLQUFLLENBQUNJLE1BQU0sQ0FBQ1IsR0FBRyxDQUFDSSxLQUFLLENBQUNLLE9BQU8sQ0FBQ0osYUFBYSxHQUFHO1lBQ3JEO1FBQ0Y7UUFFQUssTUFBS04sSUFBWTtZQUFFLFFBQUFPLE9BQUFDLFVBQUFDLE1BQUEsRUFBQUMsT0FBQSxJQUFBQyxNQUFBSixPQUFBLElBQUFBLE9BQUEsUUFBQUssT0FBQSxHQUFBQSxPQUFBTCxNQUFBSyxPQUFBO2dCQUFHRixJQUFBQSxDQUFIRSxPQUFBLEtBQUFKLFNBQUEsQ0FBQUksS0FBYzs7WUFFN0JoQixDQUFBQSxHQUFHLENBQUNJLEtBQUssSUFBSSxFQUFFLEVBQUVhLEtBQUssR0FBR0MsR0FBRyxDQUFDLENBQUNiO2dCQUM5QkEsV0FBV1M7WUFDYjtRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvbWl0dC50cz9lOWNmIl0sIm5hbWVzIjpbIm1pdHQiLCJhbGwiLCJPYmplY3QiLCJjcmVhdGUiLCJvbiIsInR5cGUiLCJoYW5kbGVyIiwicHVzaCIsIm9mZiIsInNwbGljZSIsImluZGV4T2YiLCJlbWl0IiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImV2dHMiLCJBcnJheSIsIl9rZXkiLCJzbGljZSIsIm1hcCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/mitt.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/modern-browserslist-target.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/modern-browserslist-target.js ***! - \*************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Note: This file is JS because it's used by the taskfile-swc.js file, which is JS.\n// Keep file changes in sync with the corresponding `.d.ts` files.\n/**\n * These are the browser versions that support all of the following:\n * static import: https://caniuse.com/es6-module\n * dynamic import: https://caniuse.com/es6-module-dynamic-import\n * import.meta: https://caniuse.com/mdn-javascript_operators_import_meta\n */ \nconst MODERN_BROWSERSLIST_TARGET = [\n \"chrome 64\",\n \"edge 79\",\n \"firefox 67\",\n \"opera 51\",\n \"safari 12\"\n];\nmodule.exports = MODERN_BROWSERSLIST_TARGET; //# sourceMappingURL=modern-browserslist-target.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbW9kZXJuLWJyb3dzZXJzbGlzdC10YXJnZXQuanMiLCJtYXBwaW5ncyI6IkFBQUEsb0ZBQW9GO0FBQ3BGLGtFQUFrRTtBQUNsRTs7Ozs7Q0FLQztBQUNELE1BQU1BLDZCQUE2QjtJQUNqQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFFREMsT0FBT0MsT0FBTyxHQUFHRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvbW9kZXJuLWJyb3dzZXJzbGlzdC10YXJnZXQuanM/ZDUxZSJdLCJuYW1lcyI6WyJNT0RFUk5fQlJPV1NFUlNMSVNUX1RBUkdFVCIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/modern-browserslist-target.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"denormalizePagePath\", ({\n enumerable: true,\n get: function() {\n return denormalizePagePath;\n }\n}));\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _normalizepathsep = __webpack_require__(/*! ./normalize-path-sep */ \"./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nfunction denormalizePagePath(page) {\n let _page = (0, _normalizepathsep.normalizePathSep)(page);\n return _page.startsWith(\"/index/\") && !(0, _utils.isDynamicRoute)(_page) ? _page.slice(6) : _page !== \"/index\" ? _page : \"/\";\n} //# sourceMappingURL=denormalize-page-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcyIsIm1hcHBpbmdzIjoiOzs7O3VEQVdnQkE7OztlQUFBQTs7O21DQVhlOzhDQUNFO0FBVTFCLFNBQVNBLG9CQUFvQkMsSUFBWTtJQUM5QyxJQUFJQyxRQUFRQyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQWdCLEVBQUNGO0lBQzdCLE9BQU9DLE1BQU1FLFVBQVUsQ0FBQyxjQUFjLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGNBQWMsRUFBQ0gsU0FDbERBLE1BQU1JLEtBQUssQ0FBQyxLQUNaSixVQUFVLFdBQ1ZBLFFBQ0E7QUFDTiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC50cz84NDQwIl0sIm5hbWVzIjpbImRlbm9ybWFsaXplUGFnZVBhdGgiLCJwYWdlIiwiX3BhZ2UiLCJub3JtYWxpemVQYXRoU2VwIiwic3RhcnRzV2l0aCIsImlzRHluYW1pY1JvdXRlIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! - \*****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQW1CQyxJQUFZO0lBQzdDLE9BQU9BLEtBQUtDLFVBQVUsQ0FBQyxPQUFPRCxPQUFPLE1BQUlBO0FBQzNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9wYWdlLXBhdGgvZW5zdXJlLWxlYWRpbmctc2xhc2gudHM/MThmMiJdLCJuYW1lcyI6WyJlbnN1cmVMZWFkaW5nU2xhc2giLCJwYXRoIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * For a given page path, this function ensures that there is no backslash\n * escaping slashes in the path. Example:\n * - `foo\\/bar\\/baz` -> `foo/bar/baz`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathSep\", ({\n enumerable: true,\n get: function() {\n return normalizePathSep;\n }\n}));\nfunction normalizePathSep(path) {\n return path.replace(/\\\\/g, \"/\");\n} //# sourceMappingURL=normalize-path-sep.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDOzs7O29EQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxpQkFBaUJDLElBQVk7SUFDM0MsT0FBT0EsS0FBS0MsT0FBTyxDQUFDLE9BQU87QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3BhZ2UtcGF0aC9ub3JtYWxpemUtcGF0aC1zZXAudHM/NWNmMCJdLCJuYW1lcyI6WyJub3JtYWxpemVQYXRoU2VwIiwicGF0aCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router-context.shared-runtime.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***! - \****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFHYUE7OztlQUFBQTs7Ozs0RUFISztBQUdYLE1BQU1BLGdCQUFnQkMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQW9CO0FBRXBFLElBQUlDLElBQXlCLEVBQWM7SUFDekNILGNBQWNJLFdBQVcsR0FBRztBQUM5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/NjM2YyJdLCJuYW1lcyI6WyJSb3V0ZXJDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/adapters.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/adapters.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PathnameContextProviderAdapter: function() {\n return PathnameContextProviderAdapter;\n },\n adaptForAppRouterInstance: function() {\n return adaptForAppRouterInstance;\n },\n adaptForPathParams: function() {\n return adaptForPathParams;\n },\n adaptForSearchParams: function() {\n return adaptForSearchParams;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../hooks-client-context.shared-runtime */ \"./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\");\nconst _utils = __webpack_require__(/*! ./utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _aspathtosearchparams = __webpack_require__(/*! ./utils/as-path-to-search-params */ \"./node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js\");\nconst _routeregex = __webpack_require__(/*! ./utils/route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction adaptForAppRouterInstance(pagesRouter) {\n return {\n back () {\n pagesRouter.back();\n },\n forward () {\n pagesRouter.forward();\n },\n refresh () {\n pagesRouter.reload();\n },\n fastRefresh () {},\n push (href, param) {\n let { scroll } = param === void 0 ? {} : param;\n void pagesRouter.push(href, undefined, {\n scroll\n });\n },\n replace (href, param) {\n let { scroll } = param === void 0 ? {} : param;\n void pagesRouter.replace(href, undefined, {\n scroll\n });\n },\n prefetch (href) {\n void pagesRouter.prefetch(href);\n }\n };\n}\nfunction adaptForSearchParams(router) {\n if (!router.isReady || !router.query) {\n return new URLSearchParams();\n }\n return (0, _aspathtosearchparams.asPathToSearchParams)(router.asPath);\n}\nfunction adaptForPathParams(router) {\n if (!router.isReady || !router.query) {\n return null;\n }\n const pathParams = {};\n const routeRegex = (0, _routeregex.getRouteRegex)(router.pathname);\n const keys = Object.keys(routeRegex.groups);\n for (const key of keys){\n pathParams[key] = router.query[key];\n }\n return pathParams;\n}\nfunction PathnameContextProviderAdapter(param) {\n let { children, router, ...props } = param;\n const ref = (0, _react.useRef)(props.isAutoExport);\n const value = (0, _react.useMemo)(()=>{\n // isAutoExport is only ever `true` on the first render from the server,\n // so reset it to `false` after we read it for the first time as `true`. If\n // we don't use the value, then we don't need it.\n const isAutoExport = ref.current;\n if (isAutoExport) {\n ref.current = false;\n }\n // When the route is a dynamic route, we need to do more processing to\n // determine if we need to stop showing the pathname.\n if ((0, _utils.isDynamicRoute)(router.pathname)) {\n // When the router is rendering the fallback page, it can't possibly know\n // the path, so return `null` here. Read more about fallback pages over\n // at:\n // https://nextjs.org/docs/api-reference/data-fetching/get-static-paths#fallback-pages\n if (router.isFallback) {\n return null;\n }\n // When `isAutoExport` is true, meaning this is a page page has been\n // automatically statically optimized, and the router is not ready, then\n // we can't know the pathname yet. Read more about automatic static\n // optimization at:\n // https://nextjs.org/docs/advanced-features/automatic-static-optimization\n if (isAutoExport && !router.isReady) {\n return null;\n }\n }\n // The `router.asPath` contains the pathname seen by the browser (including\n // any query strings), so it should have that stripped. Read more about the\n // `asPath` option over at:\n // https://nextjs.org/docs/api-reference/next/router#router-object\n let url;\n try {\n url = new URL(router.asPath, \"http://f\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n return \"/\";\n }\n return url.pathname;\n }, [\n router.asPath,\n router.isFallback,\n router.isReady,\n router.pathname\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: value,\n children: children\n });\n} //# sourceMappingURL=adapters.js.map\n_c = PathnameContextProviderAdapter;\nvar _c;\n$RefreshReg$(_c, \"PathnameContextProviderAdapter\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL2FkYXB0ZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQW9FZ0JBLGdDQUE4QjtlQUE5QkE7O0lBekRBQywyQkFBeUI7ZUFBekJBOztJQTBDQUMsb0JBQWtCO2VBQWxCQTs7SUFWQUMsc0JBQW9CO2VBQXBCQTs7Ozs7NkVBdkN1Qjs2REFDUDttQ0FDRDtrREFDTTt3Q0FDUDtBQUd2QixTQUFTRiwwQkFDZEcsV0FBdUI7SUFFdkIsT0FBTztRQUNMQztZQUNFRCxZQUFZQyxJQUFJO1FBQ2xCO1FBQ0FDO1lBQ0VGLFlBQVlFLE9BQU87UUFDckI7UUFDQUM7WUFDRUgsWUFBWUksTUFBTTtRQUNwQjtRQUNBQyxnQkFBZTtRQUNmQyxNQUFLQyxJQUFJLEVBQUVDLEtBQUE7WUFBQSxNQUFFQyxNQUFNLEVBQUUsR0FBVkQsVUFBQSxTQUFhLENBQUMsSUFBZEE7WUFDVCxLQUFLUixZQUFZTSxJQUFJLENBQUNDLE1BQU1HLFdBQVc7Z0JBQUVEO1lBQU87UUFDbEQ7UUFDQUUsU0FBUUosSUFBSSxFQUFFQyxLQUFBO1lBQUEsTUFBRUMsTUFBTSxFQUFFLEdBQVZELFVBQUEsU0FBYSxDQUFDLElBQWRBO1lBQ1osS0FBS1IsWUFBWVcsT0FBTyxDQUFDSixNQUFNRyxXQUFXO2dCQUFFRDtZQUFPO1FBQ3JEO1FBQ0FHLFVBQVNMLElBQUk7WUFDWCxLQUFLUCxZQUFZWSxRQUFRLENBQUNMO1FBQzVCO0lBQ0Y7QUFDRjtBQVFPLFNBQVNSLHFCQUNkYyxNQUF3RDtJQUV4RCxJQUFJLENBQUNBLE9BQU9DLE9BQU8sSUFBSSxDQUFDRCxPQUFPRSxLQUFLLEVBQUU7UUFDcEMsT0FBTyxJQUFJQztJQUNiO0lBRUEsT0FBT0MsQ0FBQUEsR0FBQUEsc0JBQUFBLG9CQUFvQixFQUFDSixPQUFPSyxNQUFNO0FBQzNDO0FBRU8sU0FBU3BCLG1CQUNkZSxNQUFxRTtJQUVyRSxJQUFJLENBQUNBLE9BQU9DLE9BQU8sSUFBSSxDQUFDRCxPQUFPRSxLQUFLLEVBQUU7UUFDcEMsT0FBTztJQUNUO0lBQ0EsTUFBTUksYUFBcUIsQ0FBQztJQUM1QixNQUFNQyxhQUFhQyxDQUFBQSxHQUFBQSxZQUFBQSxhQUFhLEVBQUNSLE9BQU9TLFFBQVE7SUFDaEQsTUFBTUMsT0FBT0MsT0FBT0QsSUFBSSxDQUFDSCxXQUFXSyxNQUFNO0lBQzFDLEtBQUssTUFBTUMsT0FBT0gsS0FBTTtRQUN0QkosVUFBVSxDQUFDTyxJQUFJLEdBQUdiLE9BQU9FLEtBQUssQ0FBQ1csSUFBSTtJQUNyQztJQUNBLE9BQU9QO0FBQ1Q7QUFFTyxTQUFTdkIsK0JBQStCWSxLQU83QztJQVA2QyxNQUM3Q21CLFFBQVEsRUFDUmQsTUFBTSxFQUNOLEdBQUdlLE9BSUgsR0FQNkNwQjtJQVE3QyxNQUFNcUIsTUFBTUMsQ0FBQUEsR0FBQUEsT0FBQUEsTUFBTSxFQUFDRixNQUFNRyxZQUFZO0lBQ3JDLE1BQU1DLFFBQVFDLENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBQztRQUNwQix3RUFBd0U7UUFDeEUsMkVBQTJFO1FBQzNFLGlEQUFpRDtRQUNqRCxNQUFNRixlQUFlRixJQUFJSyxPQUFPO1FBQ2hDLElBQUlILGNBQWM7WUFDaEJGLElBQUlLLE9BQU8sR0FBRztRQUNoQjtRQUVBLHNFQUFzRTtRQUN0RSxxREFBcUQ7UUFDckQsSUFBSUMsQ0FBQUEsR0FBQUEsT0FBQUEsY0FBYyxFQUFDdEIsT0FBT1MsUUFBUSxHQUFHO1lBQ25DLHlFQUF5RTtZQUN6RSx1RUFBdUU7WUFDdkUsTUFBTTtZQUNOLHNGQUFzRjtZQUN0RixJQUFJVCxPQUFPdUIsVUFBVSxFQUFFO2dCQUNyQixPQUFPO1lBQ1Q7WUFFQSxvRUFBb0U7WUFDcEUsd0VBQXdFO1lBQ3hFLG1FQUFtRTtZQUNuRSxtQkFBbUI7WUFDbkIsMEVBQTBFO1lBQzFFLElBQUlMLGdCQUFnQixDQUFDbEIsT0FBT0MsT0FBTyxFQUFFO2dCQUNuQyxPQUFPO1lBQ1Q7UUFDRjtRQUVBLDJFQUEyRTtRQUMzRSwyRUFBMkU7UUFDM0UsMkJBQTJCO1FBQzNCLGtFQUFrRTtRQUNsRSxJQUFJdUI7UUFDSixJQUFJO1lBQ0ZBLE1BQU0sSUFBSUMsSUFBSXpCLE9BQU9LLE1BQU0sRUFBRTtRQUMvQixFQUFFLE9BQU9xQixHQUFHO1lBQ1Ysa0RBQWtEO1lBQ2xELE9BQU87UUFDVDtRQUVBLE9BQU9GLElBQUlmLFFBQVE7SUFDckIsR0FBRztRQUFDVCxPQUFPSyxNQUFNO1FBQUVMLE9BQU91QixVQUFVO1FBQUV2QixPQUFPQyxPQUFPO1FBQUVELE9BQU9TLFFBQVE7S0FBQztJQUV0RSxPQUNFLFdBREYsR0FDRSxJQUFBa0IsWUFBQUMsR0FBQSxFQUFDQyxpQ0FBQUEsZUFBZSxDQUFDQyxRQUFRO1FBQUNYLE9BQU9BO2tCQUM5Qkw7O0FBR1A7S0EzRGdCL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci9hZGFwdGVycy50c3g/OTdiZiJdLCJuYW1lcyI6WyJQYXRobmFtZUNvbnRleHRQcm92aWRlckFkYXB0ZXIiLCJhZGFwdEZvckFwcFJvdXRlckluc3RhbmNlIiwiYWRhcHRGb3JQYXRoUGFyYW1zIiwiYWRhcHRGb3JTZWFyY2hQYXJhbXMiLCJwYWdlc1JvdXRlciIsImJhY2siLCJmb3J3YXJkIiwicmVmcmVzaCIsInJlbG9hZCIsImZhc3RSZWZyZXNoIiwicHVzaCIsImhyZWYiLCJwYXJhbSIsInNjcm9sbCIsInVuZGVmaW5lZCIsInJlcGxhY2UiLCJwcmVmZXRjaCIsInJvdXRlciIsImlzUmVhZHkiLCJxdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsImFzUGF0aFRvU2VhcmNoUGFyYW1zIiwiYXNQYXRoIiwicGF0aFBhcmFtcyIsInJvdXRlUmVnZXgiLCJnZXRSb3V0ZVJlZ2V4IiwicGF0aG5hbWUiLCJrZXlzIiwiT2JqZWN0IiwiZ3JvdXBzIiwia2V5IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsInVzZVJlZiIsImlzQXV0b0V4cG9ydCIsInZhbHVlIiwidXNlTWVtbyIsImN1cnJlbnQiLCJpc0R5bmFtaWNSb3V0ZSIsImlzRmFsbGJhY2siLCJ1cmwiLCJVUkwiLCJfIiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJQYXRobmFtZUNvbnRleHQiLCJQcm92aWRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/adapters.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/router.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/router.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// tslint:disable:no-console\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createKey: function() {\n return createKey;\n },\n default: function() {\n return Router;\n },\n matchesMiddleware: function() {\n return matchesMiddleware;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _routeloader = __webpack_require__(/*! ../../../client/route-loader */ \"./node_modules/next/dist/client/route-loader.js\");\nconst _script = __webpack_require__(/*! ../../../client/script */ \"./node_modules/next/dist/client/script.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../../../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _denormalizepagepath = __webpack_require__(/*! ../page-path/denormalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\");\nconst _normalizelocalepath = __webpack_require__(/*! ../i18n/normalize-locale-path */ \"./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _mitt = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../mitt */ \"./node_modules/next/dist/shared/lib/mitt.js\"));\nconst _utils = __webpack_require__(/*! ../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _isdynamic = __webpack_require__(/*! ./utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _parserelativeurl = __webpack_require__(/*! ./utils/parse-relative-url */ \"./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\");\nconst _resolverewrites = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./utils/resolve-rewrites */ \"?506d\"));\nconst _routematcher = __webpack_require__(/*! ./utils/route-matcher */ \"./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./utils/route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nconst _formaturl = __webpack_require__(/*! ./utils/format-url */ \"./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _detectdomainlocale = __webpack_require__(/*! ../../../client/detect-domain-locale */ \"./node_modules/next/dist/client/detect-domain-locale.js\");\nconst _parsepath = __webpack_require__(/*! ./utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst _addlocale = __webpack_require__(/*! ../../../client/add-locale */ \"./node_modules/next/dist/client/add-locale.js\");\nconst _removelocale = __webpack_require__(/*! ../../../client/remove-locale */ \"./node_modules/next/dist/client/remove-locale.js\");\nconst _removebasepath = __webpack_require__(/*! ../../../client/remove-base-path */ \"./node_modules/next/dist/client/remove-base-path.js\");\nconst _addbasepath = __webpack_require__(/*! ../../../client/add-base-path */ \"./node_modules/next/dist/client/add-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../client/has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst _resolvehref = __webpack_require__(/*! ../../../client/resolve-href */ \"./node_modules/next/dist/client/resolve-href.js\");\nconst _isapiroute = __webpack_require__(/*! ../../../lib/is-api-route */ \"./node_modules/next/dist/lib/is-api-route.js\");\nconst _getnextpathnameinfo = __webpack_require__(/*! ./utils/get-next-pathname-info */ \"./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\");\nconst _formatnextpathnameinfo = __webpack_require__(/*! ./utils/format-next-pathname-info */ \"./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\");\nconst _comparestates = __webpack_require__(/*! ./utils/compare-states */ \"./node_modules/next/dist/shared/lib/router/utils/compare-states.js\");\nconst _islocalurl = __webpack_require__(/*! ./utils/is-local-url */ \"./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _isbot = __webpack_require__(/*! ./utils/is-bot */ \"./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _omit = __webpack_require__(/*! ./utils/omit */ \"./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _interpolateas = __webpack_require__(/*! ./utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ./utils/handle-smooth-scroll */ \"./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nfunction buildCancellationError() {\n return Object.assign(new Error(\"Route Cancelled\"), {\n cancelled: true\n });\n}\nasync function matchesMiddleware(options) {\n const matchers = await Promise.resolve(options.router.pageLoader.getMiddleware());\n if (!matchers) return false;\n const { pathname: asPathname } = (0, _parsepath.parsePath)(options.asPath);\n // remove basePath first since path prefix has to be in the order of `/${basePath}/${locale}`\n const cleanedAs = (0, _hasbasepath.hasBasePath)(asPathname) ? (0, _removebasepath.removeBasePath)(asPathname) : asPathname;\n const asWithBasePathAndLocale = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(cleanedAs, options.locale));\n // Check only path match on client. Matching \"has\" should be done on server\n // where we can access more info such as headers, HttpOnly cookie, etc.\n return matchers.some((m)=>new RegExp(m.regexp).test(asWithBasePathAndLocale));\n}\nfunction stripOrigin(url) {\n const origin = (0, _utils.getLocationOrigin)();\n return url.startsWith(origin) ? url.substring(origin.length) : url;\n}\nfunction prepareUrlAs(router, url, as) {\n // If url and as provided as an object representation,\n // we'll format them into the string version here.\n let [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(router, url, true);\n const origin = (0, _utils.getLocationOrigin)();\n const hrefWasAbsolute = resolvedHref.startsWith(origin);\n const asWasAbsolute = resolvedAs && resolvedAs.startsWith(origin);\n resolvedHref = stripOrigin(resolvedHref);\n resolvedAs = resolvedAs ? stripOrigin(resolvedAs) : resolvedAs;\n const preparedUrl = hrefWasAbsolute ? resolvedHref : (0, _addbasepath.addBasePath)(resolvedHref);\n const preparedAs = as ? stripOrigin((0, _resolvehref.resolveHref)(router, as)) : resolvedAs || resolvedHref;\n return {\n url: preparedUrl,\n as: asWasAbsolute ? preparedAs : (0, _addbasepath.addBasePath)(preparedAs)\n };\n}\nfunction resolveDynamicRoute(pathname, pages) {\n const cleanPathname = (0, _removetrailingslash.removeTrailingSlash)((0, _denormalizepagepath.denormalizePagePath)(pathname));\n if (cleanPathname === \"/404\" || cleanPathname === \"/_error\") {\n return pathname;\n }\n // handle resolving href for dynamic routes\n if (!pages.includes(cleanPathname)) {\n // eslint-disable-next-line array-callback-return\n pages.some((page)=>{\n if ((0, _isdynamic.isDynamicRoute)(page) && (0, _routeregex.getRouteRegex)(page).re.test(cleanPathname)) {\n pathname = page;\n return true;\n }\n });\n }\n return (0, _removetrailingslash.removeTrailingSlash)(pathname);\n}\nfunction getMiddlewareData(source, response, options) {\n const nextConfig = {\n basePath: options.router.basePath,\n i18n: {\n locales: options.router.locales\n },\n trailingSlash: Boolean(false)\n };\n const rewriteHeader = response.headers.get(\"x-nextjs-rewrite\");\n let rewriteTarget = rewriteHeader || response.headers.get(\"x-nextjs-matched-path\");\n const matchedPath = response.headers.get(\"x-matched-path\");\n if (matchedPath && !rewriteTarget && !matchedPath.includes(\"__next_data_catchall\") && !matchedPath.includes(\"/_error\") && !matchedPath.includes(\"/404\")) {\n // leverage x-matched-path to detect next.config.js rewrites\n rewriteTarget = matchedPath;\n }\n if (rewriteTarget) {\n if (rewriteTarget.startsWith(\"/\") || false) {\n const parsedRewriteTarget = (0, _parserelativeurl.parseRelativeUrl)(rewriteTarget);\n const pathnameInfo = (0, _getnextpathnameinfo.getNextPathnameInfo)(parsedRewriteTarget.pathname, {\n nextConfig,\n parseData: true\n });\n let fsPathname = (0, _removetrailingslash.removeTrailingSlash)(pathnameInfo.pathname);\n return Promise.all([\n options.router.pageLoader.getPageList(),\n (0, _routeloader.getClientBuildManifest)()\n ]).then((param)=>{\n let [pages, { __rewrites: rewrites }] = param;\n let as = (0, _addlocale.addLocale)(pathnameInfo.pathname, pathnameInfo.locale);\n if ((0, _isdynamic.isDynamicRoute)(as) || !rewriteHeader && pages.includes((0, _normalizelocalepath.normalizeLocalePath)((0, _removebasepath.removeBasePath)(as), options.router.locales).pathname)) {\n const parsedSource = (0, _getnextpathnameinfo.getNextPathnameInfo)((0, _parserelativeurl.parseRelativeUrl)(source).pathname, {\n nextConfig: false ? 0 : nextConfig,\n parseData: true\n });\n as = (0, _addbasepath.addBasePath)(parsedSource.pathname);\n parsedRewriteTarget.pathname = as;\n }\n if (false) {} else if (!pages.includes(fsPathname)) {\n const resolvedPathname = resolveDynamicRoute(fsPathname, pages);\n if (resolvedPathname !== fsPathname) {\n fsPathname = resolvedPathname;\n }\n }\n const resolvedHref = !pages.includes(fsPathname) ? resolveDynamicRoute((0, _normalizelocalepath.normalizeLocalePath)((0, _removebasepath.removeBasePath)(parsedRewriteTarget.pathname), options.router.locales).pathname, pages) : fsPathname;\n if ((0, _isdynamic.isDynamicRoute)(resolvedHref)) {\n const matches = (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(resolvedHref))(as);\n Object.assign(parsedRewriteTarget.query, matches || {});\n }\n return {\n type: \"rewrite\",\n parsedAs: parsedRewriteTarget,\n resolvedHref\n };\n });\n }\n const src = (0, _parsepath.parsePath)(source);\n const pathname = (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n ...(0, _getnextpathnameinfo.getNextPathnameInfo)(src.pathname, {\n nextConfig,\n parseData: true\n }),\n defaultLocale: options.router.defaultLocale,\n buildId: \"\"\n });\n return Promise.resolve({\n type: \"redirect-external\",\n destination: \"\" + pathname + src.query + src.hash\n });\n }\n const redirectTarget = response.headers.get(\"x-nextjs-redirect\");\n if (redirectTarget) {\n if (redirectTarget.startsWith(\"/\")) {\n const src = (0, _parsepath.parsePath)(redirectTarget);\n const pathname = (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n ...(0, _getnextpathnameinfo.getNextPathnameInfo)(src.pathname, {\n nextConfig,\n parseData: true\n }),\n defaultLocale: options.router.defaultLocale,\n buildId: \"\"\n });\n return Promise.resolve({\n type: \"redirect-internal\",\n newAs: \"\" + pathname + src.query + src.hash,\n newUrl: \"\" + pathname + src.query + src.hash\n });\n }\n return Promise.resolve({\n type: \"redirect-external\",\n destination: redirectTarget\n });\n }\n return Promise.resolve({\n type: \"next\"\n });\n}\nasync function withMiddlewareEffects(options) {\n const matches = await matchesMiddleware(options);\n if (!matches || !options.fetchData) {\n return null;\n }\n const data = await options.fetchData();\n const effect = await getMiddlewareData(data.dataHref, data.response, options);\n return {\n dataHref: data.dataHref,\n json: data.json,\n response: data.response,\n text: data.text,\n cacheKey: data.cacheKey,\n effect\n };\n}\nconst manualScrollRestoration = false && 0;\nconst SSG_DATA_NOT_FOUND = Symbol(\"SSG_DATA_NOT_FOUND\");\nfunction fetchRetry(url, attempts, options) {\n return fetch(url, {\n // Cookies are required to be present for Next.js' SSG \"Preview Mode\".\n // Cookies may also be required for `getServerSideProps`.\n //\n // > `fetch` won’t send cookies, unless you set the credentials init\n // > option.\n // https://developer.mozilla.org/docs/Web/API/Fetch_API/Using_Fetch\n //\n // > For maximum browser compatibility when it comes to sending &\n // > receiving cookies, always supply the `credentials: 'same-origin'`\n // > option instead of relying on the default.\n // https://github.com/github/fetch#caveats\n credentials: \"same-origin\",\n method: options.method || \"GET\",\n headers: Object.assign({}, options.headers, {\n \"x-nextjs-data\": \"1\"\n })\n }).then((response)=>{\n return !response.ok && attempts > 1 && response.status >= 500 ? fetchRetry(url, attempts - 1, options) : response;\n });\n}\nfunction tryToParseAsJSON(text) {\n try {\n return JSON.parse(text);\n } catch (error) {\n return null;\n }\n}\nfunction fetchNextData(param) {\n let { dataHref, inflightCache, isPrefetch, hasMiddleware, isServerRender, parseJSON, persistCache, isBackground, unstable_skipClientCache } = param;\n const { href: cacheKey } = new URL(dataHref, window.location.href);\n const getData = (params)=>{\n var _params_method;\n return fetchRetry(dataHref, isServerRender ? 3 : 1, {\n headers: Object.assign({}, isPrefetch ? {\n purpose: \"prefetch\"\n } : {}, isPrefetch && hasMiddleware ? {\n \"x-middleware-prefetch\": \"1\"\n } : {}),\n method: (_params_method = params == null ? void 0 : params.method) != null ? _params_method : \"GET\"\n }).then((response)=>{\n if (response.ok && (params == null ? void 0 : params.method) === \"HEAD\") {\n return {\n dataHref,\n response,\n text: \"\",\n json: {},\n cacheKey\n };\n }\n return response.text().then((text)=>{\n if (!response.ok) {\n /**\n * When the data response is a redirect because of a middleware\n * we do not consider it an error. The headers must bring the\n * mapped location.\n * TODO: Change the status code in the handler.\n */ if (hasMiddleware && [\n 301,\n 302,\n 307,\n 308\n ].includes(response.status)) {\n return {\n dataHref,\n response,\n text,\n json: {},\n cacheKey\n };\n }\n if (response.status === 404) {\n var _tryToParseAsJSON;\n if ((_tryToParseAsJSON = tryToParseAsJSON(text)) == null ? void 0 : _tryToParseAsJSON.notFound) {\n return {\n dataHref,\n json: {\n notFound: SSG_DATA_NOT_FOUND\n },\n response,\n text,\n cacheKey\n };\n }\n }\n const error = new Error(\"Failed to load static props\");\n /**\n * We should only trigger a server-side transition if this was\n * caused on a client-side transition. Otherwise, we'd get into\n * an infinite loop.\n */ if (!isServerRender) {\n (0, _routeloader.markAssetError)(error);\n }\n throw error;\n }\n return {\n dataHref,\n json: parseJSON ? tryToParseAsJSON(text) : null,\n response,\n text,\n cacheKey\n };\n });\n }).then((data)=>{\n if (!persistCache || \"development\" !== \"production\" || 0) {\n delete inflightCache[cacheKey];\n }\n return data;\n }).catch((err)=>{\n if (!unstable_skipClientCache) {\n delete inflightCache[cacheKey];\n }\n if (err.message === \"Failed to fetch\" || // firefox\n err.message === \"NetworkError when attempting to fetch resource.\" || // safari\n err.message === \"Load failed\") {\n (0, _routeloader.markAssetError)(err);\n }\n throw err;\n });\n };\n // when skipping client cache we wait to update\n // inflight cache until successful data response\n // this allows racing click event with fetching newer data\n // without blocking navigation when stale data is available\n if (unstable_skipClientCache && persistCache) {\n return getData({}).then((data)=>{\n inflightCache[cacheKey] = Promise.resolve(data);\n return data;\n });\n }\n if (inflightCache[cacheKey] !== undefined) {\n return inflightCache[cacheKey];\n }\n return inflightCache[cacheKey] = getData(isBackground ? {\n method: \"HEAD\"\n } : {});\n}\nfunction createKey() {\n return Math.random().toString(36).slice(2, 10);\n}\nfunction handleHardNavigation(param) {\n let { url, router } = param;\n // ensure we don't trigger a hard navigation to the same\n // URL as this can end up with an infinite refresh\n if (url === (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(router.asPath, router.locale))) {\n throw new Error(\"Invariant: attempted to hard navigate to the same URL \" + url + \" \" + location.href);\n }\n window.location.href = url;\n}\nconst getCancelledHandler = (param)=>{\n let { route, router } = param;\n let cancelled = false;\n const cancel = router.clc = ()=>{\n cancelled = true;\n };\n const handleCancelled = ()=>{\n if (cancelled) {\n const error = new Error('Abort fetching component for route: \"' + route + '\"');\n error.cancelled = true;\n throw error;\n }\n if (cancel === router.clc) {\n router.clc = null;\n }\n };\n return handleCancelled;\n};\nclass Router {\n reload() {\n window.location.reload();\n }\n /**\n * Go back in history\n */ back() {\n window.history.back();\n }\n /**\n * Go forward in history\n */ forward() {\n window.history.forward();\n }\n /**\n * Performs a `pushState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */ push(url, as, options) {\n if (options === void 0) options = {};\n if (false) {}\n ({ url, as } = prepareUrlAs(this, url, as));\n return this.change(\"pushState\", url, as, options);\n }\n /**\n * Performs a `replaceState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */ replace(url, as, options) {\n if (options === void 0) options = {};\n ({ url, as } = prepareUrlAs(this, url, as));\n return this.change(\"replaceState\", url, as, options);\n }\n async _bfl(as, resolvedAs, locale, skipNavigate) {\n if (true) {\n let matchesBflStatic = false;\n let matchesBflDynamic = false;\n for (const curAs of [\n as,\n resolvedAs\n ]){\n if (curAs) {\n const asNoSlash = (0, _removetrailingslash.removeTrailingSlash)(new URL(curAs, \"http://n\").pathname);\n const asNoSlashLocale = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(asNoSlash, locale || this.locale));\n if (asNoSlash !== (0, _removetrailingslash.removeTrailingSlash)(new URL(this.asPath, \"http://n\").pathname)) {\n var _this__bfl_s, _this__bfl_s1;\n matchesBflStatic = matchesBflStatic || !!((_this__bfl_s = this._bfl_s) == null ? void 0 : _this__bfl_s.contains(asNoSlash)) || !!((_this__bfl_s1 = this._bfl_s) == null ? void 0 : _this__bfl_s1.contains(asNoSlashLocale));\n for (const normalizedAS of [\n asNoSlash,\n asNoSlashLocale\n ]){\n // if any sub-path of as matches a dynamic filter path\n // it should be hard navigated\n const curAsParts = normalizedAS.split(\"/\");\n for(let i = 0; !matchesBflDynamic && i < curAsParts.length + 1; i++){\n var _this__bfl_d;\n const currentPart = curAsParts.slice(0, i).join(\"/\");\n if (currentPart && ((_this__bfl_d = this._bfl_d) == null ? void 0 : _this__bfl_d.contains(currentPart))) {\n matchesBflDynamic = true;\n break;\n }\n }\n }\n // if the client router filter is matched then we trigger\n // a hard navigation\n if (matchesBflStatic || matchesBflDynamic) {\n if (skipNavigate) {\n return true;\n }\n handleHardNavigation({\n url: (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, locale || this.locale, this.defaultLocale)),\n router: this\n });\n return new Promise(()=>{});\n }\n }\n }\n }\n }\n return false;\n }\n async change(method, url, as, options, forcedScroll) {\n var _this_components_pathname;\n if (!(0, _islocalurl.isLocalURL)(url)) {\n handleHardNavigation({\n url,\n router: this\n });\n return false;\n }\n // WARNING: `_h` is an internal option for handing Next.js client-side\n // hydration. Your app should _never_ use this property. It may change at\n // any time without notice.\n const isQueryUpdating = options._h === 1;\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(as, undefined, options.locale);\n }\n let shouldResolveHref = isQueryUpdating || options._shouldResolveHref || (0, _parsepath.parsePath)(url).pathname === (0, _parsepath.parsePath)(as).pathname;\n const nextState = {\n ...this.state\n };\n // for static pages with query params in the URL we delay\n // marking the router ready until after the query is updated\n // or a navigation has occurred\n const readyStateChange = this.isReady !== true;\n this.isReady = true;\n const isSsr = this.isSsr;\n if (!isQueryUpdating) {\n this.isSsr = false;\n }\n // if a route transition is already in progress before\n // the query updating is triggered ignore query updating\n if (isQueryUpdating && this.clc) {\n return false;\n }\n const prevLocale = nextState.locale;\n if (false) { var _this_locales; }\n // marking route changes as a navigation start entry\n if (_utils.ST) {\n performance.mark(\"routeChange\");\n }\n const { shallow = false, scroll = true } = options;\n const routeProps = {\n shallow\n };\n if (this._inFlightRoute && this.clc) {\n if (!isSsr) {\n Router.events.emit(\"routeChangeError\", buildCancellationError(), this._inFlightRoute, routeProps);\n }\n this.clc();\n this.clc = null;\n }\n as = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)((0, _hasbasepath.hasBasePath)(as) ? (0, _removebasepath.removeBasePath)(as) : as, options.locale, this.defaultLocale));\n const cleanedAs = (0, _removelocale.removeLocale)((0, _hasbasepath.hasBasePath)(as) ? (0, _removebasepath.removeBasePath)(as) : as, nextState.locale);\n this._inFlightRoute = as;\n const localeChange = prevLocale !== nextState.locale;\n // If the url change is only related to a hash change\n // We should not proceed. We should only change the state.\n if (!isQueryUpdating && this.onlyAHashChange(cleanedAs) && !localeChange) {\n nextState.asPath = cleanedAs;\n Router.events.emit(\"hashChangeStart\", as, routeProps);\n // TODO: do we need the resolved href when only a hash change?\n this.changeState(method, url, as, {\n ...options,\n scroll: false\n });\n if (scroll) {\n this.scrollToHash(cleanedAs);\n }\n try {\n await this.set(nextState, this.components[nextState.route], null);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n Router.events.emit(\"routeChangeError\", err, cleanedAs, routeProps);\n }\n throw err;\n }\n Router.events.emit(\"hashChangeComplete\", as, routeProps);\n return true;\n }\n let parsed = (0, _parserelativeurl.parseRelativeUrl)(url);\n let { pathname, query } = parsed;\n // The build manifest needs to be loaded before auto-static dynamic pages\n // get their query parameters to allow ensuring they can be parsed properly\n // when rewritten to\n let pages, rewrites;\n try {\n [pages, { __rewrites: rewrites }] = await Promise.all([\n this.pageLoader.getPageList(),\n (0, _routeloader.getClientBuildManifest)(),\n this.pageLoader.getMiddleware()\n ]);\n } catch (err) {\n // If we fail to resolve the page list or client-build manifest, we must\n // do a server-side transition:\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n }\n // If asked to change the current URL we should reload the current page\n // (not location.reload() but reload getInitialProps and other Next.js stuffs)\n // We also need to set the method = replaceState always\n // as this should not go into the history (That's how browsers work)\n // We should compare the new asPath to the current asPath, not the url\n if (!this.urlIsNew(cleanedAs) && !localeChange) {\n method = \"replaceState\";\n }\n // we need to resolve the as value using rewrites for dynamic SSG\n // pages to allow building the data URL correctly\n let resolvedAs = as;\n // url and as should always be prefixed with basePath by this\n // point by either next/link or router.push/replace so strip the\n // basePath from the pathname to match the pages dir 1-to-1\n pathname = pathname ? (0, _removetrailingslash.removeTrailingSlash)((0, _removebasepath.removeBasePath)(pathname)) : pathname;\n let route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n const parsedAsPathname = as.startsWith(\"/\") && (0, _parserelativeurl.parseRelativeUrl)(as).pathname;\n // if we detected the path as app route during prefetching\n // trigger hard navigation\n if ((_this_components_pathname = this.components[pathname]) == null ? void 0 : _this_components_pathname.__appRouter) {\n handleHardNavigation({\n url: as,\n router: this\n });\n return new Promise(()=>{});\n }\n const isMiddlewareRewrite = !!(parsedAsPathname && route !== parsedAsPathname && (!(0, _isdynamic.isDynamicRoute)(route) || !(0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(route))(parsedAsPathname)));\n // we don't attempt resolve asPath when we need to execute\n // middleware as the resolving will occur server-side\n const isMiddlewareMatch = !options.shallow && await matchesMiddleware({\n asPath: as,\n locale: nextState.locale,\n router: this\n });\n if (isQueryUpdating && isMiddlewareMatch) {\n shouldResolveHref = false;\n }\n if (shouldResolveHref && pathname !== \"/_error\") {\n options._shouldResolveHref = true;\n if (false) {} else {\n parsed.pathname = resolveDynamicRoute(pathname, pages);\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname;\n parsed.pathname = (0, _addbasepath.addBasePath)(pathname);\n if (!isMiddlewareMatch) {\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n }\n }\n }\n if (!(0, _islocalurl.isLocalURL)(as)) {\n if (true) {\n throw new Error('Invalid href: \"' + url + '\" and as: \"' + as + '\", received relative href and external as' + \"\\nSee more info: https://nextjs.org/docs/messages/invalid-relative-url-external-as\");\n }\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n }\n resolvedAs = (0, _removelocale.removeLocale)((0, _removebasepath.removeBasePath)(resolvedAs), nextState.locale);\n route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n let routeMatch = false;\n if ((0, _isdynamic.isDynamicRoute)(route)) {\n const parsedAs = (0, _parserelativeurl.parseRelativeUrl)(resolvedAs);\n const asPathname = parsedAs.pathname;\n const routeRegex = (0, _routeregex.getRouteRegex)(route);\n routeMatch = (0, _routematcher.getRouteMatcher)(routeRegex)(asPathname);\n const shouldInterpolate = route === asPathname;\n const interpolatedAs = shouldInterpolate ? (0, _interpolateas.interpolateAs)(route, asPathname, query) : {};\n if (!routeMatch || shouldInterpolate && !interpolatedAs.result) {\n const missingParams = Object.keys(routeRegex.groups).filter((param)=>!query[param] && !routeRegex.groups[param].optional);\n if (missingParams.length > 0 && !isMiddlewareMatch) {\n if (true) {\n console.warn(\"\" + (shouldInterpolate ? \"Interpolating href\" : \"Mismatching `as` and `href`\") + \" failed to manually provide \" + (\"the params: \" + missingParams.join(\", \") + \" in the `href`'s `query`\"));\n }\n throw new Error((shouldInterpolate ? \"The provided `href` (\" + url + \") value is missing query values (\" + missingParams.join(\", \") + \") to be interpolated properly. \" : \"The provided `as` value (\" + asPathname + \") is incompatible with the `href` value (\" + route + \"). \") + (\"Read more: https://nextjs.org/docs/messages/\" + (shouldInterpolate ? \"href-interpolation-failed\" : \"incompatible-href-as\")));\n }\n } else if (shouldInterpolate) {\n as = (0, _formaturl.formatWithValidation)(Object.assign({}, parsedAs, {\n pathname: interpolatedAs.result,\n query: (0, _omit.omit)(query, interpolatedAs.params)\n }));\n } else {\n // Merge params into `query`, overwriting any specified in search\n Object.assign(query, routeMatch);\n }\n }\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeStart\", as, routeProps);\n }\n const isErrorRoute = this.pathname === \"/404\" || this.pathname === \"/_error\";\n try {\n var _self___NEXT_DATA___props_pageProps, _self___NEXT_DATA___props, _routeInfo_props;\n let routeInfo = await this.getRouteInfo({\n route,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps,\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n hasMiddleware: isMiddlewareMatch,\n unstable_skipClientCache: options.unstable_skipClientCache,\n isQueryUpdating: isQueryUpdating && !this.isFallback,\n isMiddlewareRewrite\n });\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(as, \"resolvedAs\" in routeInfo ? routeInfo.resolvedAs : undefined, nextState.locale);\n }\n if (\"route\" in routeInfo && isMiddlewareMatch) {\n pathname = routeInfo.route || route;\n route = pathname;\n if (!routeProps.shallow) {\n query = Object.assign({}, routeInfo.query || {}, query);\n }\n const cleanedParsedPathname = (0, _hasbasepath.hasBasePath)(parsed.pathname) ? (0, _removebasepath.removeBasePath)(parsed.pathname) : parsed.pathname;\n if (routeMatch && pathname !== cleanedParsedPathname) {\n Object.keys(routeMatch).forEach((key)=>{\n if (routeMatch && query[key] === routeMatch[key]) {\n delete query[key];\n }\n });\n }\n if ((0, _isdynamic.isDynamicRoute)(pathname)) {\n const prefixedAs = !routeProps.shallow && routeInfo.resolvedAs ? routeInfo.resolvedAs : (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(new URL(as, location.href).pathname, nextState.locale), true);\n let rewriteAs = prefixedAs;\n if ((0, _hasbasepath.hasBasePath)(rewriteAs)) {\n rewriteAs = (0, _removebasepath.removeBasePath)(rewriteAs);\n }\n if (false) {}\n const routeRegex = (0, _routeregex.getRouteRegex)(pathname);\n const curRouteMatch = (0, _routematcher.getRouteMatcher)(routeRegex)(new URL(rewriteAs, location.href).pathname);\n if (curRouteMatch) {\n Object.assign(query, curRouteMatch);\n }\n }\n }\n // If the routeInfo brings a redirect we simply apply it.\n if (\"type\" in routeInfo) {\n if (routeInfo.type === \"redirect-internal\") {\n return this.change(method, routeInfo.newUrl, routeInfo.newAs, options);\n } else {\n handleHardNavigation({\n url: routeInfo.destination,\n router: this\n });\n return new Promise(()=>{});\n }\n }\n const component = routeInfo.Component;\n if (component && component.unstable_scriptLoader) {\n const scripts = [].concat(component.unstable_scriptLoader());\n scripts.forEach((script)=>{\n (0, _script.handleClientScriptLoad)(script.props);\n });\n }\n // handle redirect on client-transition\n if ((routeInfo.__N_SSG || routeInfo.__N_SSP) && routeInfo.props) {\n if (routeInfo.props.pageProps && routeInfo.props.pageProps.__N_REDIRECT) {\n // Use the destination from redirect without adding locale\n options.locale = false;\n const destination = routeInfo.props.pageProps.__N_REDIRECT;\n // check if destination is internal (resolves to a page) and attempt\n // client-navigation if it is falling back to hard navigation if\n // it's not\n if (destination.startsWith(\"/\") && routeInfo.props.pageProps.__N_REDIRECT_BASE_PATH !== false) {\n const parsedHref = (0, _parserelativeurl.parseRelativeUrl)(destination);\n parsedHref.pathname = resolveDynamicRoute(parsedHref.pathname, pages);\n const { url: newUrl, as: newAs } = prepareUrlAs(this, destination, destination);\n return this.change(method, newUrl, newAs, options);\n }\n handleHardNavigation({\n url: destination,\n router: this\n });\n return new Promise(()=>{});\n }\n nextState.isPreview = !!routeInfo.props.__N_PREVIEW;\n // handle SSG data 404\n if (routeInfo.props.notFound === SSG_DATA_NOT_FOUND) {\n let notFoundRoute;\n try {\n await this.fetchComponent(\"/404\");\n notFoundRoute = \"/404\";\n } catch (_) {\n notFoundRoute = \"/_error\";\n }\n routeInfo = await this.getRouteInfo({\n route: notFoundRoute,\n pathname: notFoundRoute,\n query,\n as,\n resolvedAs,\n routeProps: {\n shallow: false\n },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isNotFound: true\n });\n if (\"type\" in routeInfo) {\n throw new Error(\"Unexpected middleware effect on /404\");\n }\n }\n }\n if (isQueryUpdating && this.pathname === \"/_error\" && ((_self___NEXT_DATA___props = self.__NEXT_DATA__.props) == null ? void 0 : (_self___NEXT_DATA___props_pageProps = _self___NEXT_DATA___props.pageProps) == null ? void 0 : _self___NEXT_DATA___props_pageProps.statusCode) === 500 && ((_routeInfo_props = routeInfo.props) == null ? void 0 : _routeInfo_props.pageProps)) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500;\n }\n var _routeInfo_route;\n // shallow routing is only allowed for same page URL changes.\n const isValidShallowRoute = options.shallow && nextState.route === ((_routeInfo_route = routeInfo.route) != null ? _routeInfo_route : route);\n var _options_scroll;\n const shouldScroll = (_options_scroll = options.scroll) != null ? _options_scroll : !isQueryUpdating && !isValidShallowRoute;\n const resetScroll = shouldScroll ? {\n x: 0,\n y: 0\n } : null;\n const upcomingScrollState = forcedScroll != null ? forcedScroll : resetScroll;\n // the new state that the router gonna set\n const upcomingRouterState = {\n ...nextState,\n route,\n pathname,\n query,\n asPath: cleanedAs,\n isFallback: false\n };\n // When the page being rendered is the 404 page, we should only update the\n // query parameters. Route changes here might add the basePath when it\n // wasn't originally present. This is also why this block is before the\n // below `changeState` call which updates the browser's history (changing\n // the URL).\n if (isQueryUpdating && isErrorRoute) {\n var _self___NEXT_DATA___props_pageProps1, _self___NEXT_DATA___props1, _routeInfo_props1;\n routeInfo = await this.getRouteInfo({\n route: this.pathname,\n pathname: this.pathname,\n query,\n as,\n resolvedAs,\n routeProps: {\n shallow: false\n },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isQueryUpdating: isQueryUpdating && !this.isFallback\n });\n if (\"type\" in routeInfo) {\n throw new Error(\"Unexpected middleware effect on \" + this.pathname);\n }\n if (this.pathname === \"/_error\" && ((_self___NEXT_DATA___props1 = self.__NEXT_DATA__.props) == null ? void 0 : (_self___NEXT_DATA___props_pageProps1 = _self___NEXT_DATA___props1.pageProps) == null ? void 0 : _self___NEXT_DATA___props_pageProps1.statusCode) === 500 && ((_routeInfo_props1 = routeInfo.props) == null ? void 0 : _routeInfo_props1.pageProps)) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500;\n }\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n Router.events.emit(\"routeChangeError\", err, cleanedAs, routeProps);\n }\n throw err;\n }\n return true;\n }\n Router.events.emit(\"beforeHistoryChange\", as, routeProps);\n this.changeState(method, url, as, options);\n // for query updates we can skip it if the state is unchanged and we don't\n // need to scroll\n // https://github.com/vercel/next.js/issues/37139\n const canSkipUpdating = isQueryUpdating && !upcomingScrollState && !readyStateChange && !localeChange && (0, _comparestates.compareRouterStates)(upcomingRouterState, this.state);\n if (!canSkipUpdating) {\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState);\n } catch (e) {\n if (e.cancelled) routeInfo.error = routeInfo.error || e;\n else throw e;\n }\n if (routeInfo.error) {\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeError\", routeInfo.error, cleanedAs, routeProps);\n }\n throw routeInfo.error;\n }\n if (false) {}\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeComplete\", as, routeProps);\n }\n // A hash mark # is the optional last part of a URL\n const hashRegex = /#.+$/;\n if (shouldScroll && hashRegex.test(as)) {\n this.scrollToHash(as);\n }\n }\n return true;\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n return false;\n }\n throw err;\n }\n }\n changeState(method, url, as, options) {\n if (options === void 0) options = {};\n if (true) {\n if (typeof window.history === \"undefined\") {\n console.error(\"Warning: window.history is not available.\");\n return;\n }\n if (typeof window.history[method] === \"undefined\") {\n console.error(\"Warning: window.history.\" + method + \" is not available\");\n return;\n }\n }\n if (method !== \"pushState\" || (0, _utils.getURL)() !== as) {\n this._shallow = options.shallow;\n window.history[method]({\n url,\n as,\n options,\n __N: true,\n key: this._key = method !== \"pushState\" ? this._key : createKey()\n }, // Passing the empty string here should be safe against future changes to the method.\n // https://developer.mozilla.org/docs/Web/API/History/replaceState\n \"\", as);\n }\n }\n async handleRouteInfoError(err, pathname, query, as, routeProps, loadErrorFail) {\n console.error(err);\n if (err.cancelled) {\n // bubble up cancellation errors\n throw err;\n }\n if ((0, _routeloader.isAssetError)(err) || loadErrorFail) {\n Router.events.emit(\"routeChangeError\", err, as, routeProps);\n // If we can't load the page it could be one of following reasons\n // 1. Page doesn't exists\n // 2. Page does exist in a different zone\n // 3. Internal error while loading the page\n // So, doing a hard reload is the proper way to deal with this.\n handleHardNavigation({\n url: as,\n router: this\n });\n // Changing the URL doesn't block executing the current code path.\n // So let's throw a cancellation error stop the routing logic.\n throw buildCancellationError();\n }\n try {\n let props;\n const { page: Component, styleSheets } = await this.fetchComponent(\"/_error\");\n const routeInfo = {\n props,\n Component,\n styleSheets,\n err,\n error: err\n };\n if (!routeInfo.props) {\n try {\n routeInfo.props = await this.getInitialProps(Component, {\n err,\n pathname,\n query\n });\n } catch (gipErr) {\n console.error(\"Error in error page `getInitialProps`: \", gipErr);\n routeInfo.props = {};\n }\n }\n return routeInfo;\n } catch (routeInfoErr) {\n return this.handleRouteInfoError((0, _iserror.default)(routeInfoErr) ? routeInfoErr : new Error(routeInfoErr + \"\"), pathname, query, as, routeProps, true);\n }\n }\n async getRouteInfo(param) {\n let { route: requestedRoute, pathname, query, as, resolvedAs, routeProps, locale, hasMiddleware, isPreview, unstable_skipClientCache, isQueryUpdating, isMiddlewareRewrite, isNotFound } = param;\n /**\n * This `route` binding can change if there's a rewrite\n * so we keep a reference to the original requested route\n * so we can store the cache for it and avoid re-requesting every time\n * for shallow routing purposes.\n */ let route = requestedRoute;\n try {\n var _data_effect, _data_effect1, _data_effect2, _data_response;\n let existingInfo = this.components[route];\n if (routeProps.shallow && existingInfo && this.route === route) {\n return existingInfo;\n }\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n if (hasMiddleware) {\n existingInfo = undefined;\n }\n let cachedRouteInfo = existingInfo && !(\"initial\" in existingInfo) && \"development\" !== \"development\" ? 0 : undefined;\n const isBackground = isQueryUpdating;\n const fetchNextDataParams = {\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname,\n query\n }),\n skipInterpolation: true,\n asPath: isNotFound ? \"/404\" : resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: isBackground ? this.sbc : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache,\n isBackground\n };\n let data = isQueryUpdating && !isMiddlewareRewrite ? null : await withMiddlewareEffects({\n fetchData: ()=>fetchNextData(fetchNextDataParams),\n asPath: isNotFound ? \"/404\" : resolvedAs,\n locale: locale,\n router: this\n }).catch((err)=>{\n // we don't hard error during query updating\n // as it's un-necessary and doesn't need to be fatal\n // unless it is a fallback route and the props can't\n // be loaded\n if (isQueryUpdating) {\n return null;\n }\n throw err;\n });\n // when rendering error routes we don't apply middleware\n // effects\n if (data && (pathname === \"/_error\" || pathname === \"/404\")) {\n data.effect = undefined;\n }\n if (isQueryUpdating) {\n if (!data) {\n data = {\n json: self.__NEXT_DATA__.props\n };\n } else {\n data.json = self.__NEXT_DATA__.props;\n }\n }\n handleCancelled();\n if ((data == null ? void 0 : (_data_effect = data.effect) == null ? void 0 : _data_effect.type) === \"redirect-internal\" || (data == null ? void 0 : (_data_effect1 = data.effect) == null ? void 0 : _data_effect1.type) === \"redirect-external\") {\n return data.effect;\n }\n if ((data == null ? void 0 : (_data_effect2 = data.effect) == null ? void 0 : _data_effect2.type) === \"rewrite\") {\n const resolvedRoute = (0, _removetrailingslash.removeTrailingSlash)(data.effect.resolvedHref);\n const pages = await this.pageLoader.getPageList();\n // during query updating the page must match although during\n // client-transition a redirect that doesn't match a page\n // can be returned and this should trigger a hard navigation\n // which is valid for incremental migration\n if (!isQueryUpdating || pages.includes(resolvedRoute)) {\n route = resolvedRoute;\n pathname = data.effect.resolvedHref;\n query = {\n ...query,\n ...data.effect.parsedAs.query\n };\n resolvedAs = (0, _removebasepath.removeBasePath)((0, _normalizelocalepath.normalizeLocalePath)(data.effect.parsedAs.pathname, this.locales).pathname);\n // Check again the cache with the new destination.\n existingInfo = this.components[route];\n if (routeProps.shallow && existingInfo && this.route === route && !hasMiddleware) {\n // If we have a match with the current route due to rewrite,\n // we can copy the existing information to the rewritten one.\n // Then, we return the information along with the matched route.\n return {\n ...existingInfo,\n route\n };\n }\n }\n }\n if ((0, _isapiroute.isAPIRoute)(route)) {\n handleHardNavigation({\n url: as,\n router: this\n });\n return new Promise(()=>{});\n }\n const routeInfo = cachedRouteInfo || await this.fetchComponent(route).then((res)=>({\n Component: res.page,\n styleSheets: res.styleSheets,\n __N_SSG: res.mod.__N_SSG,\n __N_SSP: res.mod.__N_SSP\n }));\n if (true) {\n const { isValidElementType } = __webpack_require__(/*! next/dist/compiled/react-is */ \"./node_modules/next/dist/compiled/react-is/index.js\");\n if (!isValidElementType(routeInfo.Component)) {\n throw new Error('The default export is not a React Component in page: \"' + pathname + '\"');\n }\n }\n const wasBailedPrefetch = data == null ? void 0 : (_data_response = data.response) == null ? void 0 : _data_response.headers.get(\"x-middleware-skip\");\n const shouldFetchData = routeInfo.__N_SSG || routeInfo.__N_SSP;\n // For non-SSG prefetches that bailed before sending data\n // we clear the cache to fetch full response\n if (wasBailedPrefetch && (data == null ? void 0 : data.dataHref)) {\n delete this.sdc[data.dataHref];\n }\n const { props, cacheKey } = await this._getData(async ()=>{\n if (shouldFetchData) {\n if ((data == null ? void 0 : data.json) && !wasBailedPrefetch) {\n return {\n cacheKey: data.cacheKey,\n props: data.json\n };\n }\n const dataHref = (data == null ? void 0 : data.dataHref) ? data.dataHref : this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname,\n query\n }),\n asPath: resolvedAs,\n locale\n });\n const fetched = await fetchNextData({\n dataHref,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: wasBailedPrefetch ? {} : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache\n });\n return {\n cacheKey: fetched.cacheKey,\n props: fetched.json || {}\n };\n }\n return {\n headers: {},\n props: await this.getInitialProps(routeInfo.Component, {\n pathname,\n query,\n asPath: as,\n locale,\n locales: this.locales,\n defaultLocale: this.defaultLocale\n })\n };\n });\n // Only bust the data cache for SSP routes although\n // middleware can skip cache per request with\n // x-middleware-cache: no-cache as well\n if (routeInfo.__N_SSP && fetchNextDataParams.dataHref && cacheKey) {\n delete this.sdc[cacheKey];\n }\n // we kick off a HEAD request in the background\n // when a non-prefetch request is made to signal revalidation\n if (!this.isPreview && routeInfo.__N_SSG && \"development\" !== \"development\" && 0) {}\n props.pageProps = Object.assign({}, props.pageProps);\n routeInfo.props = props;\n routeInfo.route = route;\n routeInfo.query = query;\n routeInfo.resolvedAs = resolvedAs;\n this.components[route] = routeInfo;\n return routeInfo;\n } catch (err) {\n return this.handleRouteInfoError((0, _iserror.getProperError)(err), pathname, query, as, routeProps);\n }\n }\n set(state, data, resetScroll) {\n this.state = state;\n return this.sub(data, this.components[\"/_app\"].Component, resetScroll);\n }\n /**\n * Callback to execute before replacing router state\n * @param cb callback to be executed\n */ beforePopState(cb) {\n this._bps = cb;\n }\n onlyAHashChange(as) {\n if (!this.asPath) return false;\n const [oldUrlNoHash, oldHash] = this.asPath.split(\"#\", 2);\n const [newUrlNoHash, newHash] = as.split(\"#\", 2);\n // Makes sure we scroll to the provided hash if the url/hash are the same\n if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {\n return true;\n }\n // If the urls are change, there's more than a hash change\n if (oldUrlNoHash !== newUrlNoHash) {\n return false;\n }\n // If the hash has changed, then it's a hash only change.\n // This check is necessary to handle both the enter and\n // leave hash === '' cases. The identity case falls through\n // and is treated as a next reload.\n return oldHash !== newHash;\n }\n scrollToHash(as) {\n const [, hash = \"\"] = as.split(\"#\", 2);\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // Scroll to top if the hash is just `#` with no value or `#top`\n // To mirror browsers\n if (hash === \"\" || hash === \"top\") {\n window.scrollTo(0, 0);\n return;\n }\n // Decode hash to make non-latin anchor works.\n const rawHash = decodeURIComponent(hash);\n // First we check if the element by id is found\n const idEl = document.getElementById(rawHash);\n if (idEl) {\n idEl.scrollIntoView();\n return;\n }\n // If there's no element with the id, we check the `name` property\n // To mirror browsers\n const nameEl = document.getElementsByName(rawHash)[0];\n if (nameEl) {\n nameEl.scrollIntoView();\n }\n }, {\n onlyHashChange: this.onlyAHashChange(as)\n });\n }\n urlIsNew(asPath) {\n return this.asPath !== asPath;\n }\n /**\n * Prefetch page code, you may wait for the data during page rendering.\n * This feature only works in production!\n * @param url the href of prefetched page\n * @param asPath the as path of the prefetched page\n */ async prefetch(url, asPath, options) {\n if (asPath === void 0) asPath = url;\n if (options === void 0) options = {};\n // Prefetch is not supported in development mode because it would trigger on-demand-entries\n if (true) {\n return;\n }\n if ( true && (0, _isbot.isBot)(window.navigator.userAgent)) {\n // No prefetches for bots that render the link since they are typically navigating\n // links via the equivalent of a hard navigation and hence never utilize these\n // prefetches.\n return;\n }\n let parsed = (0, _parserelativeurl.parseRelativeUrl)(url);\n const urlPathname = parsed.pathname;\n let { pathname, query } = parsed;\n const originalPathname = pathname;\n if (false) {}\n const pages = await this.pageLoader.getPageList();\n let resolvedAs = asPath;\n const locale = typeof options.locale !== \"undefined\" ? options.locale || undefined : this.locale;\n const isMiddlewareMatch = await matchesMiddleware({\n asPath: asPath,\n locale: locale,\n router: this\n });\n if (false) {}\n parsed.pathname = resolveDynamicRoute(parsed.pathname, pages);\n if ((0, _isdynamic.isDynamicRoute)(parsed.pathname)) {\n pathname = parsed.pathname;\n parsed.pathname = pathname;\n Object.assign(query, (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(parsed.pathname))((0, _parsepath.parsePath)(asPath).pathname) || {});\n if (!isMiddlewareMatch) {\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n }\n const data = false ? 0 : await withMiddlewareEffects({\n fetchData: ()=>fetchNextData({\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname: originalPathname,\n query\n }),\n skipInterpolation: true,\n asPath: resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true\n }),\n asPath: asPath,\n locale: locale,\n router: this\n });\n /**\n * If there was a rewrite we apply the effects of the rewrite on the\n * current parameters for the prefetch.\n */ if ((data == null ? void 0 : data.effect.type) === \"rewrite\") {\n parsed.pathname = data.effect.resolvedHref;\n pathname = data.effect.resolvedHref;\n query = {\n ...query,\n ...data.effect.parsedAs.query\n };\n resolvedAs = data.effect.parsedAs.pathname;\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n /**\n * If there is a redirect to an external destination then we don't have\n * to prefetch content as it will be unused.\n */ if ((data == null ? void 0 : data.effect.type) === \"redirect-external\") {\n return;\n }\n const route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n if (await this._bfl(asPath, resolvedAs, options.locale, true)) {\n this.components[urlPathname] = {\n __appRouter: true\n };\n }\n await Promise.all([\n this.pageLoader._isSsg(route).then((isSsg)=>{\n return isSsg ? fetchNextData({\n dataHref: (data == null ? void 0 : data.json) ? data == null ? void 0 : data.dataHref : this.pageLoader.getDataHref({\n href: url,\n asPath: resolvedAs,\n locale: locale\n }),\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true,\n unstable_skipClientCache: options.unstable_skipClientCache || options.priority && !!true\n }).then(()=>false).catch(()=>false) : false;\n }),\n this.pageLoader[options.priority ? \"loadPage\" : \"prefetch\"](route)\n ]);\n }\n async fetchComponent(route) {\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n try {\n const componentResult = await this.pageLoader.loadPage(route);\n handleCancelled();\n return componentResult;\n } catch (err) {\n handleCancelled();\n throw err;\n }\n }\n _getData(fn) {\n let cancelled = false;\n const cancel = ()=>{\n cancelled = true;\n };\n this.clc = cancel;\n return fn().then((data)=>{\n if (cancel === this.clc) {\n this.clc = null;\n }\n if (cancelled) {\n const err = new Error(\"Loading initial props cancelled\");\n err.cancelled = true;\n throw err;\n }\n return data;\n });\n }\n _getFlightData(dataHref) {\n // Do not cache RSC flight response since it's not a static resource\n return fetchNextData({\n dataHref,\n isServerRender: true,\n parseJSON: false,\n inflightCache: this.sdc,\n persistCache: false,\n isPrefetch: false\n }).then((param)=>{\n let { text } = param;\n return {\n data: text\n };\n });\n }\n getInitialProps(Component, ctx) {\n const { Component: App } = this.components[\"/_app\"];\n const AppTree = this._wrapApp(App);\n ctx.AppTree = AppTree;\n return (0, _utils.loadGetInitialProps)(App, {\n AppTree,\n Component,\n router: this,\n ctx\n });\n }\n get route() {\n return this.state.route;\n }\n get pathname() {\n return this.state.pathname;\n }\n get query() {\n return this.state.query;\n }\n get asPath() {\n return this.state.asPath;\n }\n get locale() {\n return this.state.locale;\n }\n get isFallback() {\n return this.state.isFallback;\n }\n get isPreview() {\n return this.state.isPreview;\n }\n constructor(pathname, query, as, { initialProps, pageLoader, App, wrapApp, Component, err, subscription, isFallback, locale, locales, defaultLocale, domainLocales, isPreview }){\n // Server Data Cache (full data requests)\n this.sdc = {};\n // Server Background Cache (HEAD requests)\n this.sbc = {};\n this.isFirstPopStateEvent = true;\n this._key = createKey();\n this.onPopState = (e)=>{\n const { isFirstPopStateEvent } = this;\n this.isFirstPopStateEvent = false;\n const state = e.state;\n if (!state) {\n // We get state as undefined for two reasons.\n // 1. With older safari (< 8) and older chrome (< 34)\n // 2. When the URL changed with #\n //\n // In the both cases, we don't need to proceed and change the route.\n // (as it's already changed)\n // But we can simply replace the state with the new changes.\n // Actually, for (1) we don't need to nothing. But it's hard to detect that event.\n // So, doing the following for (1) does no harm.\n const { pathname, query } = this;\n this.changeState(\"replaceState\", (0, _formaturl.formatWithValidation)({\n pathname: (0, _addbasepath.addBasePath)(pathname),\n query\n }), (0, _utils.getURL)());\n return;\n }\n // __NA is used to identify if the history entry can be handled by the app-router.\n if (state.__NA) {\n window.location.reload();\n return;\n }\n if (!state.__N) {\n return;\n }\n // Safari fires popstateevent when reopening the browser.\n if (isFirstPopStateEvent && this.locale === state.options.locale && state.as === this.asPath) {\n return;\n }\n let forcedScroll;\n const { url, as, options, key } = state;\n if (false) {}\n this._key = key;\n const { pathname } = (0, _parserelativeurl.parseRelativeUrl)(url);\n // Make sure we don't re-render on initial load,\n // can be caused by navigating back from an external site\n if (this.isSsr && as === (0, _addbasepath.addBasePath)(this.asPath) && pathname === (0, _addbasepath.addBasePath)(this.pathname)) {\n return;\n }\n // If the downstream application returns falsy, return.\n // They will then be responsible for handling the event.\n if (this._bps && !this._bps(state)) {\n return;\n }\n this.change(\"replaceState\", url, as, Object.assign({}, options, {\n shallow: options.shallow && this._shallow,\n locale: options.locale || this.defaultLocale,\n // @ts-ignore internal value not exposed on types\n _h: 0\n }), forcedScroll);\n };\n // represents the current component key\n const route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n // set up the component cache (by route keys)\n this.components = {};\n // We should not keep the cache, if there's an error\n // Otherwise, this cause issues when when going back and\n // come again to the errored page.\n if (pathname !== \"/_error\") {\n this.components[route] = {\n Component,\n initial: true,\n props: initialProps,\n err,\n __N_SSG: initialProps && initialProps.__N_SSG,\n __N_SSP: initialProps && initialProps.__N_SSP\n };\n }\n this.components[\"/_app\"] = {\n Component: App,\n styleSheets: []\n };\n if (true) {\n const { BloomFilter } = __webpack_require__(/*! ../../lib/bloom-filter */ \"./node_modules/next/dist/shared/lib/bloom-filter.js\");\n const routerFilterSValue = {\"numItems\":3,\"errorRate\":0.0001,\"numBits\":58,\"numHashes\":14,\"bitArray\":[1,1,1,0,0,1,1,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,0,0,1,1,0,0,1,0,0,0,1,1,0,1,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,1,0,1,0]};\n const staticFilterData = routerFilterSValue ? routerFilterSValue : undefined;\n const routerFilterDValue = {\"numItems\":0,\"errorRate\":0.0001,\"numBits\":0,\"numHashes\":null,\"bitArray\":[]};\n const dynamicFilterData = routerFilterDValue ? routerFilterDValue : undefined;\n if (staticFilterData == null ? void 0 : staticFilterData.numHashes) {\n this._bfl_s = new BloomFilter(staticFilterData.numItems, staticFilterData.errorRate);\n this._bfl_s.import(staticFilterData);\n }\n if (dynamicFilterData == null ? void 0 : dynamicFilterData.numHashes) {\n this._bfl_d = new BloomFilter(dynamicFilterData.numItems, dynamicFilterData.errorRate);\n this._bfl_d.import(dynamicFilterData);\n }\n }\n // Backwards compat for Router.router.events\n // TODO: Should be remove the following major version as it was never documented\n this.events = Router.events;\n this.pageLoader = pageLoader;\n // if auto prerendered and dynamic route wait to update asPath\n // until after mount to prevent hydration mismatch\n const autoExportDynamic = (0, _isdynamic.isDynamicRoute)(pathname) && self.__NEXT_DATA__.autoExport;\n this.basePath = false || \"\";\n this.sub = subscription;\n this.clc = null;\n this._wrapApp = wrapApp;\n // make sure to ignore extra popState in safari on navigating\n // back from external site\n this.isSsr = true;\n this.isLocaleDomain = false;\n this.isReady = !!(self.__NEXT_DATA__.gssp || self.__NEXT_DATA__.gip || self.__NEXT_DATA__.isExperimentalCompile || self.__NEXT_DATA__.appGip && !self.__NEXT_DATA__.gsp || !autoExportDynamic && !self.location.search && !false);\n if (false) {}\n this.state = {\n route,\n pathname,\n query,\n asPath: autoExportDynamic ? pathname : as,\n isPreview: !!isPreview,\n locale: false ? 0 : undefined,\n isFallback\n };\n this._initialMatchesMiddlewarePromise = Promise.resolve(false);\n if (true) {\n // make sure \"as\" doesn't start with double slashes or else it can\n // throw an error as it's considered invalid\n if (!as.startsWith(\"//\")) {\n // in order for `e.state` to work on the `onpopstate` event\n // we have to register the initial route upon initialization\n const options = {\n locale\n };\n const asPath = (0, _utils.getURL)();\n this._initialMatchesMiddlewarePromise = matchesMiddleware({\n router: this,\n locale,\n asPath\n }).then((matches)=>{\n options._shouldResolveHref = as !== pathname;\n this.changeState(\"replaceState\", matches ? asPath : (0, _formaturl.formatWithValidation)({\n pathname: (0, _addbasepath.addBasePath)(pathname),\n query\n }), asPath, options);\n return matches;\n });\n }\n window.addEventListener(\"popstate\", this.onPopState);\n // enable custom scroll restoration handling when available\n // otherwise fallback to browser's default handling\n if (false) {}\n }\n }\n}\nRouter.events = (0, _mitt.default)(); //# sourceMappingURL=router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3JvdXRlci5qcyIsIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7Ozs7Ozs7Ozs7Ozs7SUErbEJaQSxXQUFTO2VBQVRBOzs7ZUFpREtDOztJQXZqQkNDLG1CQUFpQjtlQUFqQkE7Ozs7O2lEQS9FYzt5Q0FLN0I7b0NBQ2dDOytFQUNDO2lEQUNKO2lEQUNBOzJFQUNuQjttQ0FDa0Q7dUNBQ3BDOzhDQUNFO3NGQUNMOzBDQUNJO3dDQUNGO3VDQUNPO2dEQUNGO3VDQUNUO3VDQUNBOzBDQUNHOzRDQUNFO3lDQUNIO3lDQUNBO3lDQUNBO3dDQUNEO2lEQUNTO29EQUNHOzJDQUNIO3dDQUNUO21DQUNMO2tDQUNEOzJDQUNTO2dEQUNLO0FBZ0NuQyxTQUFTQztJQUNQLE9BQU9DLE9BQU9DLE1BQU0sQ0FBQyxJQUFJQyxNQUFNLG9CQUFvQjtRQUNqREMsV0FBVztJQUNiO0FBQ0Y7QUFTTyxlQUFlTCxrQkFDcEJNLE9BQWtDO0lBRWxDLE1BQU1DLFdBQVcsTUFBTUMsUUFBUUMsT0FBTyxDQUNwQ0gsUUFBUUksTUFBTSxDQUFDQyxVQUFVLENBQUNDLGFBQWE7SUFFekMsSUFBSSxDQUFDTCxVQUFVLE9BQU87SUFFdEIsTUFBTSxFQUFFTSxVQUFVQyxVQUFVLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBUyxFQUFDVCxRQUFRVSxNQUFNO0lBQ3pELDZGQUE2RjtJQUM3RixNQUFNQyxZQUFZQyxDQUFBQSxHQUFBQSxhQUFBQSxXQUFXLEVBQUNKLGNBQzFCSyxDQUFBQSxHQUFBQSxnQkFBQUEsY0FBYyxFQUFDTCxjQUNmQTtJQUNKLE1BQU1NLDBCQUEwQkMsQ0FBQUEsR0FBQUEsYUFBQUEsV0FBVyxFQUN6Q0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBUyxFQUFDTCxXQUFXWCxRQUFRaUIsTUFBTTtJQUdyQywyRUFBMkU7SUFDM0UsdUVBQXVFO0lBQ3ZFLE9BQU9oQixTQUFTaUIsSUFBSSxDQUFDLENB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Q0FBQUEsR0FBQUEsTUFBQUEsT0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci9yb3V0ZXIudHM/ZWRmZiJdLCJuYW1lcyI6WyJjcmVhdGVLZXkiLCJSb3V0ZXIiLCJtYXRjaGVzTWlkZGxld2FyZSIsImJ1aWxkQ2FuY2VsbGF0aW9uRXJyb3IiLCJPYmplY3QiLCJhc3NpZ24iLCJFcnJvciIsImNhbmNlbGxlZCIsIm9wdGlvbnMiLCJtYXRjaGVycyIsIlByb21pc2UiLCJyZXNvbHZlIiwicm91dGVyIiwicGFnZUxvYWRlciIsImdldE1pZGRsZXdhcmUiLCJwYXRobmFtZSIsImFzUGF0aG5hbWUiLCJwYXJzZVBhdGgiLCJhc1BhdGgiLCJjbGVhbmVkQXMiLCJoYXNCYXNlUGF0aCIsInJlbW92ZUJhc2VQYXRoIiwiYXNXaXRoQmFzZVBhdGhBbmRMb2NhbGUiLCJhZGRCYXNlUGF0aCIsImFkZExvY2FsZSIsImxvY2FsZSIsInNvbWUiLCJtIiwiUmVnRXhwIiwicmVnZXhwIiwidGVzdCIsInN0cmlwT3JpZ2luIiwidXJsIiwib3JpZ2luIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJzdGFydHNXaXRoIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwicHJlcGFyZVVybEFzIiwiYXMiLCJyZXNvbHZlZEhyZWYiLCJyZXNvbHZlZEFzIiwicmVzb2x2ZUhyZWYiLCJocmVmV2FzQWJzb2x1dGUiLCJhc1dhc0Fic29sdXRlIiwicHJlcGFyZWRVcmwiLCJwcmVwYXJlZEFzIiwicmVzb2x2ZUR5bmFtaWNSb3V0ZSIsInBhZ2VzIiwiY2xlYW5QYXRobmFtZSIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJkZW5vcm1hbGl6ZVBhZ2VQYXRoIiwiaW5jbHVkZXMiLCJwYWdlIiwiaXNEeW5hbWljUm91dGUiLCJnZXRSb3V0ZVJlZ2V4IiwicmUiLCJnZXRNaWRkbGV3YXJlRGF0YSIsInNvdXJjZSIsInJlc3BvbnNlIiwibmV4dENvbmZpZyIsImJhc2VQYXRoIiwiaTE4biIsImxvY2FsZXMiLCJ0cmFpbGluZ1NsYXNoIiwiQm9vbGVhbiIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfVFJBSUxJTkdfU0xBU0giLCJyZXdyaXRlSGVhZGVyIiwiaGVhZGVycyIsImdldCIsInJld3JpdGVUYXJnZXQiLCJtYXRjaGVkUGF0aCIsIl9fTkVYVF9FWFRFUk5BTF9NSURETEVXQVJFX1JFV1JJVEVfUkVTT0xWRSIsInBhcnNlZFJld3JpdGVUYXJnZXQiLCJwYXJzZVJlbGF0aXZlVXJsIiwicGF0aG5hbWVJbmZvIiwiZ2V0TmV4dFBhdGhuYW1lSW5mbyIsInBhcnNlRGF0YSIsImZzUGF0aG5hbWUiLCJhbGwiLCJnZXRQYWdlTGlzdCIsImdldENsaWVudEJ1aWxkTWFuaWZlc3QiLCJ0aGVuIiwicGFyYW0iLCJfX3Jld3JpdGVzIiwicmV3cml0ZXMiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwicGFyc2VkU291cmNlIiwiX19ORVhUX0hBU19SRVdSSVRFUyIsInVuZGVmaW5lZCIsInJlc3VsdCIsInJlc29sdmVSZXdyaXRlcyIsInF1ZXJ5IiwicGF0aCIsIm1hdGNoZWRQYWdlIiwicGFyc2VkQXMiLCJyZXNvbHZlZFBhdGhuYW1lIiwibWF0Y2hlcyIsImdldFJvdXRlTWF0Y2hlciIsInR5cGUiLCJzcmMiLCJmb3JtYXROZXh0UGF0aG5hbWVJbmZvIiwiZGVmYXVsdExvY2FsZSIsImJ1aWxkSWQiLCJkZXN0aW5hdGlvbiIsImhhc2giLCJyZWRpcmVjdFRhcmdldCIsIm5ld0FzIiwibmV3VXJsIiwid2l0aE1pZGRsZXdhcmVFZmZlY3RzIiwiZmV0Y2hEYXRhIiwiZGF0YSIsImVmZmVjdCIsImRhdGFIcmVmIiwianNvbiIsInRleHQiLCJjYWNoZUtleSIsIm1hbnVhbFNjcm9sbFJlc3RvcmF0aW9uIiwiX19ORVhUX1NDUk9MTF9SRVNUT1JBVElPTiIsIndpbmRvdyIsImhpc3RvcnkiLCJ2Iiwic2Vzc2lvblN0b3JhZ2UiLCJzZXRJdGVtIiwicmVtb3ZlSXRlbSIsIm4iLCJTU0dfREFUQV9OT1RfRk9VTkQiLCJTeW1ib2wiLCJmZXRjaFJldHJ5IiwiYXR0ZW1wdHMiLCJmZXRjaCIsImNyZWRlbnRpYWxzIiwibWV0aG9kIiwib2siLCJzdGF0dXMiLCJ0cnlUb1BhcnNlQXNKU09OIiwiSlNPTiIsInBhcnNlIiwiZXJyb3IiLCJmZXRjaE5leHREYXRhIiwiaW5mbGlnaHRDYWNoZSIsImlzUHJlZmV0Y2giLCJoYXNNaWRkbGV3YXJlIiwiaXNTZXJ2ZXJSZW5kZXIiLCJwYXJzZUpTT04iLCJwZXJzaXN0Q2FjaGUiLCJpc0JhY2tncm91bmQiLCJ1bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGUiLCJocmVmIiwiVVJMIiwibG9jYXRpb24iLCJnZXREYXRhIiwicGFyYW1zIiwicHVycG9zZSIsIm5vdEZvdW5kIiwibWFya0Fzc2V0RXJyb3IiLCJjYXRjaCIsImVyciIsIm1lc3NhZ2UiLCJNYXRoIiwicmFuZG9tIiwidG9TdHJpbmciLCJzbGljZSIsImhhbmRsZUhhcmROYXZpZ2F0aW9uIiwiZ2V0Q2FuY2VsbGVkSGFuZGxlciIsInJvdXRlIiwiY2FuY2VsIiwiY2xjIiwiaGFuZGxlQ2FuY2VsbGVkIiwicmVsb2FkIiwiYmFjayIsImZvcndhcmQiLCJwdXNoIiwiX2tleSIsInN0cmluZ2lmeSIsIngiLCJzZWxmIiwicGFnZVhPZmZzZXQiLCJ5IiwicGFnZVlPZmZzZXQiLCJlIiwiY2hhbmdlIiwicmVwbGFjZSIsIl9iZmwiLCJza2lwTmF2aWdhdGUiLCJfX05FWFRfQ0xJRU5UX1JPVVRFUl9GSUxURVJfRU5BQkxFRCIsIm1hdGNoZXNCZmxTdGF0aWMiLCJtYXRjaGVzQmZsRHluYW1pYyIsImN1ckFzIiwiYXNOb1NsYXNoIiwiYXNOb1NsYXNoTG9jYWxlIiwiX3RoaXNfX2JmbF9zIiwiX3RoaXNfX2JmbF9zMSIsIl9iZmxfcyIsImNvbnRhaW5zIiwibm9ybWFsaXplZEFTIiwiY3VyQXNQYXJ0cyIsInNwbGl0IiwiaSIsIl90aGlzX19iZmxfZCIsImN1cnJlbnRQYXJ0Iiwiam9pbiIsIl9iZmxfZCIsImZvcmNlZFNjcm9sbCIsIl90aGlzX2NvbXBvbmVudHNfcGF0aG5hbWUiLCJpc0xvY2FsVVJMIiwiaXNRdWVyeVVwZGF0aW5nIiwiX2giLCJzaGFsbG93Iiwic2hvdWxkUmVzb2x2ZUhyZWYiLCJfc2hvdWxkUmVzb2x2ZUhyZWYiLCJuZXh0U3RhdGUiLCJzdGF0ZSIsInJlYWR5U3RhdGVDaGFuZ2UiLCJpc1JlYWR5IiwiaXNTc3IiLCJwcmV2TG9jYWxlIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsImxvY2FsZVBhdGhSZXN1bHQiLCJkZXRlY3RlZExvY2FsZSIsImZvcm1hdFdpdGhWYWxpZGF0aW9uIiwiZGlkTmF2aWdhdGUiLCJfdGhpc19sb2NhbGVzIiwiZGV0ZWN0ZWREb21haW4iLCJkZXRlY3REb21haW5Mb2NhbGUiLCJkb21haW5Mb2NhbGVzIiwiaXNMb2NhbGVEb21haW4iLCJob3N0bmFtZSIsImRvbWFpbiIsImFzTm9CYXNlUGF0aCIsImh0dHAiLCJTVCIsInBlcmZvcm1hbmNlIiwibWFyayIsInNjcm9sbCIsInJvdXRlUHJvcHMiLCJfaW5GbGlnaHRSb3V0ZSIsImV2ZW50cyIsImVtaXQiLCJyZW1vdmVMb2NhbGUiLCJsb2NhbGVDaGFuZ2UiLCJvbmx5QUhhc2hDaGFuZ2UiLCJjaGFuZ2VTdGF0ZSIsInNjcm9sbFRvSGFzaCIsInNldCIsImNvbXBvbmVudHMiLCJpc0Vycm9yIiwicGFyc2VkIiwidXJsSXNOZXciLCJwYXJzZWRBc1BhdGhuYW1lIiwiX19hcHBSb3V0ZXIiLCJpc01pZGRsZXdhcmVSZXdyaXRlIiwiaXNNaWRkbGV3YXJlTWF0Y2giLCJyZXdyaXRlc1Jlc3VsdCIsInAiLCJleHRlcm5hbERlc3QiLCJyb3V0ZU1hdGNoIiwicm91dGVSZWdleCIsInNob3VsZEludGVycG9sYXRlIiwiaW50ZXJwb2xhdGVkQXMiLCJpbnRlcnBvbGF0ZUFzIiwibWlzc2luZ1BhcmFtcyIsImtleXMiLCJncm91cHMiLCJmaWx0ZXIiLCJvcHRpb25hbCIsImNvbnNvbGUiLCJ3YXJuIiwib21pdCIsImlzRXJyb3JSb3V0ZSIsInJvdXRlSW5mbyIsImdldFJvdXRlSW5mbyIsImlzUHJldmlldyIsImlzRmFsbGJhY2siLCJjbGVhbmVkUGFyc2VkUGF0aG5hbWUiLCJmb3JFYWNoIiwia2V5IiwicHJlZml4ZWRBcyIsInJld3JpdGVBcyIsImxvY2FsZVJlc3VsdCIsImN1clJvdXRlTWF0Y2giLCJjb21wb25lbnQiLCJDb21wb25lbnQiLCJ1bnN0YWJsZV9zY3JpcHRMb2FkZXIiLCJzY3JpcHRzIiwiY29uY2F0Iiwic2NyaXB0IiwiaGFuZGxlQ2xpZW50U2NyaXB0TG9hZCIsInByb3BzIiwiX19OX1NTRyIsIl9fTl9TU1AiLCJwYWdlUHJvcHMiLCJfX05fUkVESVJFQ1QiLCJfX05fUkVESVJFQ1RfQkFTRV9QQVRIIiwicGFyc2VkSHJlZiIsIl9fTl9QUkVWSUVXIiwibm90Rm91bmRSb3V0ZSIsImZldGNoQ29tcG9uZW50IiwiXyIsImlzTm90Rm91bmQiLCJfX05FWFRfREFUQV9fIiwic3RhdHVzQ29kZSIsImlzVmFsaWRTaGFsbG93Um91dGUiLCJzaG91bGRTY3JvbGwiLCJyZXNldFNjcm9sbCIsInVwY29taW5nU2Nyb2xsU3RhdGUiLCJ1cGNvbWluZ1JvdXRlclN0YXRlIiwiY2FuU2tpcFVwZGF0aW5nIiwiY29tcGFyZVJvdXRlclN0YXRlcyIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwibGFuZyIsImhhc2hSZWdleCIsImdldFVSTCIsIl9zaGFsbG93IiwiX19OIiwiaGFuZGxlUm91dGVJbmZvRXJyb3IiLCJsb2FkRXJyb3JGYWlsIiwiaXNBc3NldEVycm9yIiwic3R5bGVTaGVldHMiLCJnZXRJbml0aWFsUHJvcHMiLCJnaXBFcnIiLCJyb3V0ZUluZm9FcnIiLCJyZXF1ZXN0ZWRSb3V0ZSIsImV4aXN0aW5nSW5mbyIsImNhY2hlZFJvdXRlSW5mbyIsImZldGNoTmV4dERhdGFQYXJhbXMiLCJnZXREYXRhSHJlZiIsInNraXBJbnRlcnBvbGF0aW9uIiwic2JjIiwic2RjIiwicmVzb2x2ZWRSb3V0ZSIsImlzQVBJUm91dGUiLCJyZXMiLCJtb2QiLCJpc1ZhbGlkRWxlbWVudFR5cGUiLCJyZXF1aXJlIiwid2FzQmFpbGVkUHJlZmV0Y2giLCJzaG91bGRGZXRjaERhdGEiLCJfZ2V0RGF0YSIsImZldGNoZWQiLCJnZXRQcm9wZXJFcnJvciIsInN1YiIsImJlZm9yZVBvcFN0YXRlIiwiY2IiLCJfYnBzIiwib2xkVXJsTm9IYXNoIiwib2xkSGFzaCIsIm5ld1VybE5vSGFzaCIsIm5ld0hhc2giLCJoYW5kbGVTbW9vdGhTY3JvbGwiLCJzY3JvbGxUbyIsInJhd0hhc2giLCJkZWNvZGVVUklDb21wb25lbnQiLCJpZEVsIiwiZ2V0RWxlbWVudEJ5SWQiLCJzY3JvbGxJbnRvVmlldyIsIm5hbWVFbCIsImdldEVsZW1lbnRzQnlOYW1lIiwib25seUhhc2hDaGFuZ2UiLCJwcmVmZXRjaCIsImlzQm90IiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwidXJsUGF0aG5hbWUiLCJvcmlnaW5hbFBhdGhuYW1lIiwiX19ORVhUX01JRERMRVdBUkVfUFJFRkVUQ0giLCJfaXNTc2ciLCJpc1NzZyIsInByaW9yaXR5IiwiX19ORVhUX09QVElNSVNUSUNfQ0xJRU5UX0NBQ0hFIiwiY29tcG9uZW50UmVzdWx0IiwibG9hZFBhZ2UiLCJmbiIsIl9nZXRGbGlnaHREYXRhIiwiY3R4IiwiQXBwIiwiQXBwVHJlZSIsIl93cmFwQXBwIiwibG9hZEdldEluaXRpYWxQcm9wcyIsImNvbnN0cnVjdG9yIiwiaW5pdGlhbFByb3BzIiwid3JhcEFwcCIsInN1YnNjcmlwdGlvbiIsImlzRmlyc3RQb3BTdGF0ZUV2ZW50Iiwib25Qb3BTdGF0ZSIsIl9fTkEiLCJnZXRJdGVtIiwiaW5pdGlhbCIsIkJsb29tRmlsdGVyIiwicm91dGVyRmlsdGVyU1ZhbHVlIiwiX19ORVhUX0NMSUVOVF9ST1VURVJfU19GSUxURVIiLCJzdGF0aWNGaWx0ZXJEYXRhIiwicm91dGVyRmlsdGVyRFZhbHVlIiwiX19ORVhUX0NMSUVOVF9ST1VURVJfRF9GSUxURVIiLCJkeW5hbWljRmlsdGVyRGF0YSIsIm51bUhhc2hlcyIsIm51bUl0ZW1zIiwiZXJyb3JSYXRlIiwiaW1wb3J0IiwiYXV0b0V4cG9ydER5bmFtaWMiLCJhdXRvRXhwb3J0IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsImdzc3AiLCJnaXAiLCJpc0V4cGVyaW1lbnRhbENvbXBpbGUiLCJhcHBHaXAiLCJnc3AiLCJzZWFyY2giLCJfaW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlUHJvbWlzZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJzY3JvbGxSZXN0b3JhdGlvbiIsIm1pdHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-locale.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-locale.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction addLocale(path, locale, defaultLocale, ignorePrefix) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path;\n const lower = path.toLowerCase();\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/api\")) return path;\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/\" + locale.toLowerCase())) return path;\n }\n // Add the locale prefix to the path.\n return (0, _addpathprefix.addPathPrefix)(path, \"/\" + locale);\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FRZ0JBOzs7ZUFBQUE7OzsyQ0FSYzsyQ0FDQTtBQU92QixTQUFTQSxVQUNkQyxJQUFZLEVBQ1pDLE1BQXVCLEVBQ3ZCQyxhQUFzQixFQUN0QkMsWUFBc0I7SUFFdEIsNEVBQTRFO0lBQzVFLHNCQUFzQjtJQUN0QixJQUFJLENBQUNGLFVBQVVBLFdBQVdDLGVBQWUsT0FBT0Y7SUFFaEQsTUFBTUksUUFBUUosS0FBS0ssV0FBVztJQUU5QiwyRUFBMkU7SUFDM0UsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQ0YsY0FBYztRQUNqQixJQUFJRyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNGLE9BQU8sU0FBUyxPQUFPSjtRQUN6QyxJQUFJTSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNGLE9BQU8sTUFBSUgsT0FBT0ksV0FBVyxLQUFPLE9BQU9MO0lBQy9EO0lBRUEscUNBQXFDO0lBQ3JDLE9BQU9PLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ1AsTUFBTSxNQUFJQztBQUNqQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGUudHM/M2ExMCJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwibG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsImlnbm9yZVByZWZpeCIsImxvd2VyIiwidG9Mb3dlckNhc2UiLCJwYXRoSGFzUHJlZml4IiwiYWRkUGF0aFByZWZpeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQU1nQkE7OztlQUFBQTs7O3VDQU5VO0FBTW5CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBZTtJQUN6RCxJQUFJLENBQUNELEtBQUtFLFVBQVUsQ0FBQyxRQUFRLENBQUNELFFBQVE7UUFDcEMsT0FBT0Q7SUFDVDtJQUVBLE1BQU0sRUFBRUcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNOO0lBQzVDLE9BQU8sS0FBR0MsU0FBU0UsV0FBV0MsUUFBUUM7QUFDeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1wcmVmaXgudHM/YjQ1NSJdLCJuYW1lcyI6WyJhZGRQYXRoUHJlZml4IiwicGF0aCIsInByZWZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathSuffix\", ({\n enumerable: true,\n get: function() {\n return addPathSuffix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathSuffix(path, suffix) {\n if (!path.startsWith(\"/\") || !suffix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + pathname + suffix + query + hash;\n} //# sourceMappingURL=add-path-suffix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXN1ZmZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQU9nQkE7OztlQUFBQTs7O3VDQVBVO0FBT25CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBZTtJQUN6RCxJQUFJLENBQUNELEtBQUtFLFVBQVUsQ0FBQyxRQUFRLENBQUNELFFBQVE7UUFDcEMsT0FBT0Q7SUFDVDtJQUVBLE1BQU0sRUFBRUcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNOO0lBQzVDLE9BQU8sS0FBR0csV0FBV0YsU0FBU0csUUFBUUM7QUFDeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1zdWZmaXgudHM/NTBkYiJdLCJuYW1lcyI6WyJhZGRQYXRoU3VmZml4IiwicGF0aCIsInN1ZmZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/app-paths.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! - \*********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFzQmdCQSxrQkFBZ0I7ZUFBaEJBOztJQW1DQUMsaUJBQWU7ZUFBZkE7OztnREF6RG1CO3FDQUNKO0FBcUJ4QixTQUFTRCxpQkFBaUJFLEtBQWE7SUFDNUMsT0FBT0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFrQixFQUN2QkQsTUFBTUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQyxDQUFDQyxVQUFVQyxTQUFTQyxPQUFPQztRQUNqRCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDRixTQUFTO1lBQ1osT0FBT0Q7UUFDVDtRQUVBLHNCQUFzQjtRQUN0QixJQUFJSSxDQUFBQSxHQUFBQSxTQUFBQSxjQUFjLEVBQUNILFVBQVU7WUFDM0IsT0FBT0Q7UUFDVDtRQUVBLGlDQUFpQztRQUNqQyxJQUFJQyxPQUFPLENBQUMsRUFBRSxLQUFLLEtBQUs7WUFDdEIsT0FBT0Q7UUFDVDtRQUVBLHVEQUF1RDtRQUN2RCxJQUNFLENBQUNDLFlBQVksVUFBVUEsWUFBWSxZQUNuQ0MsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQzVCO1lBQ0EsT0FBT0w7UUFDVDtRQUVBLE9BQU9BLFdBQVksTUFBR0M7SUFDeEIsR0FBRztBQUVQO0FBTU8sU0FBU04sZ0JBQWdCVyxHQUFXO0lBQ3pDLE9BQU9BLElBQUlDLE9BQU8sQ0FDaEIsZUFFQTtBQUVKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYXBwLXBhdGhzLnRzP2Q0NmQiXSwibmFtZXMiOlsibm9ybWFsaXplQXBwUGF0aCIsIm5vcm1hbGl6ZVJzY1VSTCIsInJvdXRlIiwiZW5zdXJlTGVhZGluZ1NsYXNoIiwic3BsaXQiLCJyZWR1Y2UiLCJwYXRobmFtZSIsInNlZ21lbnQiLCJpbmRleCIsInNlZ21lbnRzIiwiaXNHcm91cFNlZ21lbnQiLCJsZW5ndGgiLCJ1cmwiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js ***! - \************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Convert router.asPath to a URLSearchParams object\n// example: /dynamic/[slug]?foo=bar -> { foo: 'bar' }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"asPathToSearchParams\", ({\n enumerable: true,\n get: function() {\n return asPathToSearchParams;\n }\n}));\nfunction asPathToSearchParams(asPath) {\n return new URL(asPath, \"http://n\").searchParams;\n} //# sourceMappingURL=as-path-to-search-params.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FzLXBhdGgtdG8tc2VhcmNoLXBhcmFtcy5qcyIsIm1hcHBpbmdzIjoiQUFBQSxvREFBb0Q7QUFDcEQscURBQXFEOzs7Ozt3REFDckNBOzs7ZUFBQUE7OztBQUFULFNBQVNBLHFCQUFxQkMsTUFBYztJQUNqRCxPQUFPLElBQUlDLElBQUlELFFBQVEsWUFBWUUsWUFBWTtBQUNqRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FzLXBhdGgtdG8tc2VhcmNoLXBhcmFtcy50cz8zM2E1Il0sIm5hbWVzIjpbImFzUGF0aFRvU2VhcmNoUGFyYW1zIiwiYXNQYXRoIiwiVVJMIiwic2VhcmNoUGFyYW1zIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/compare-states.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/compare-states.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"compareRouterStates\", ({\n enumerable: true,\n get: function() {\n return compareRouterStates;\n }\n}));\nfunction compareRouterStates(a, b) {\n const stateKeys = Object.keys(a);\n if (stateKeys.length !== Object.keys(b).length) return false;\n for(let i = stateKeys.length; i--;){\n const key = stateKeys[i];\n if (key === \"query\") {\n const queryKeys = Object.keys(a.query);\n if (queryKeys.length !== Object.keys(b.query).length) {\n return false;\n }\n for(let j = queryKeys.length; j--;){\n const queryKey = queryKeys[j];\n if (!b.query.hasOwnProperty(queryKey) || a.query[queryKey] !== b.query[queryKey]) {\n return false;\n }\n }\n } else if (!b.hasOwnProperty(key) || a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n} //# sourceMappingURL=compare-states.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2NvbXBhcmUtc3RhdGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxvQkFBb0JDLENBQWtCLEVBQUVDLENBQWtCO0lBQ3hFLE1BQU1DLFlBQVlDLE9BQU9DLElBQUksQ0FBQ0o7SUFDOUIsSUFBSUUsVUFBVUcsTUFBTSxLQUFLRixPQUFPQyxJQUFJLENBQUNILEdBQUdJLE1BQU0sRUFBRSxPQUFPO0lBRXZELElBQUssSUFBSUMsSUFBSUosVUFBVUcsTUFBTSxFQUFFQyxLQUFPO1FBQ3BDLE1BQU1DLE1BQU1MLFNBQVMsQ0FBQ0ksRUFBRTtRQUN4QixJQUFJQyxRQUFRLFNBQVM7WUFDbkIsTUFBTUMsWUFBWUwsT0FBT0MsSUFBSSxDQUFDSixFQUFFUyxLQUFLO1lBQ3JDLElBQUlELFVBQVVILE1BQU0sS0FBS0YsT0FBT0MsSUFBSSxDQUFDSCxFQUFFUSxLQUFLLEVBQUVKLE1BQU0sRUFBRTtnQkFDcEQsT0FBTztZQUNUO1lBQ0EsSUFBSyxJQUFJSyxJQUFJRixVQUFVSCxNQUFNLEVBQUVLLEtBQU87Z0JBQ3BDLE1BQU1DLFdBQVdILFNBQVMsQ0FBQ0UsRUFBRTtnQkFDN0IsSUFDRSxDQUFDVCxFQUFFUSxLQUFLLENBQUNHLGNBQWMsQ0FBQ0QsYUFDeEJYLEVBQUVTLEtBQUssQ0FBQ0UsU0FBUyxLQUFLVixFQUFFUSxLQUFLLENBQUNFLFNBQVMsRUFDdkM7b0JBQ0EsT0FBTztnQkFDVDtZQUNGO1FBQ0YsT0FBTyxJQUNMLENBQUNWLEVBQUVXLGNBQWMsQ0FBQ0wsUUFDbEJQLENBQUMsQ0FBQ08sSUFBNkIsS0FBS04sQ0FBQyxDQUFDTSxJQUE2QixFQUNuRTtZQUNBLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvY29tcGFyZS1zdGF0ZXMudHM/YThkYSJdLCJuYW1lcyI6WyJjb21wYXJlUm91dGVyU3RhdGVzIiwiYSIsImIiLCJzdGF0ZUtleXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiaSIsImtleSIsInF1ZXJ5S2V5cyIsInF1ZXJ5IiwiaiIsInF1ZXJ5S2V5IiwiaGFzT3duUHJvcGVydHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/compare-states.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js ***! - \*************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"formatNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return formatNextPathnameInfo;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _addpathsuffix = __webpack_require__(/*! ./add-path-suffix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"./node_modules/next/dist/shared/lib/router/utils/add-locale.js\");\nfunction formatNextPathnameInfo(info) {\n let pathname = (0, _addlocale.addLocale)(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix);\n if (info.buildId || !info.trailingSlash) {\n pathname = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n }\n if (info.buildId) {\n pathname = (0, _addpathsuffix.addPathSuffix)((0, _addpathprefix.addPathPrefix)(pathname, \"/_next/data/\" + info.buildId), info.pathname === \"/\" ? \"index.json\" : \".json\");\n }\n pathname = (0, _addpathprefix.addPathPrefix)(pathname, info.basePath);\n return !info.buildId && info.trailingSlash ? !pathname.endsWith(\"/\") ? (0, _addpathsuffix.addPathSuffix)(pathname, \"/\") : pathname : (0, _removetrailingslash.removeTrailingSlash)(pathname);\n} //# sourceMappingURL=format-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6Ijs7OzswREFXZ0JBOzs7ZUFBQUE7OztpREFWb0I7MkNBQ047MkNBQ0E7dUNBQ0o7QUFPbkIsU0FBU0EsdUJBQXVCQyxJQUFrQjtJQUN2RCxJQUFJQyxXQUFXQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQ3RCRixLQUFLQyxRQUFRLEVBQ2JELEtBQUtHLE1BQU0sRUFDWEgsS0FBS0ksT0FBTyxHQUFHQyxZQUFZTCxLQUFLTSxhQUFhLEVBQzdDTixLQUFLTyxZQUFZO0lBR25CLElBQUlQLEtBQUtJLE9BQU8sSUFBSSxDQUFDSixLQUFLUSxhQUFhLEVBQUU7UUFDdkNQLFdBQVdRLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1I7SUFDakM7SUFFQSxJQUFJRCxLQUFLSSxPQUFPLEVBQUU7UUFDaEJILFdBQVdTLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFDdEJDLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFBQ1YsVUFBVSxpQkFBZUQsS0FBS0ksT0FBTyxHQUNuREosS0FBS0MsUUFBUSxLQUFLLE1BQU0sZUFBZTtJQUUzQztJQUVBQSxXQUFXVSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNWLFVBQVVELEtBQUtZLFFBQVE7SUFDaEQsT0FBTyxDQUFDWixLQUFLSSxPQUFPLElBQUlKLEtBQUtRLGFBQWEsR0FDdEMsQ0FBQ1AsU0FBU1ksUUFBUSxDQUFDLE9BQ2pCSCxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNULFVBQVUsT0FDeEJBLFdBQ0ZRLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1I7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtbmV4dC1wYXRobmFtZS1pbmZvLnRzPzBlNjUiXSwibmFtZXMiOlsiZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyIsImluZm8iLCJwYXRobmFtZSIsImFkZExvY2FsZSIsImxvY2FsZSIsImJ1aWxkSWQiLCJ1bmRlZmluZWQiLCJkZWZhdWx0TG9jYWxlIiwiaWdub3JlUHJlZml4IiwidHJhaWxpbmdTbGFzaCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJhZGRQYXRoU3VmZml4IiwiYWRkUGF0aFByZWZpeCIsImJhc2VQYXRoIiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/format-url.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLHNEQUFzRDtBQUN0RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLGdFQUFnRTtBQUNoRSxzRUFBc0U7QUFDdEUsc0VBQXNFO0FBQ3RFLDRFQUE0RTtBQUM1RSxxRUFBcUU7QUFDckUsd0JBQXdCO0FBQ3hCLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsNkRBQTZEO0FBQzdELDRFQUE0RTtBQUM1RSwyRUFBMkU7QUFDM0Usd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUM1RSx5Q0FBeUM7Ozs7Ozs7Ozs7Ozs7SUFRekJBLFdBQVM7ZUFBVEE7O0lBNkRBQyxzQkFBb0I7ZUFBcEJBOztJQWZIQyxlQUFhO2VBQWJBOzs7O21GQWxEZ0I7QUFFN0IsTUFBTUMsbUJBQW1CO0FBRWxCLFNBQVNILFVBQVVJLE1BQWlCO0lBQ3pDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUUsR0FBR0Y7SUFDekIsSUFBSUcsV0FBV0gsT0FBT0csUUFBUSxJQUFJO0lBQ2xDLElBQUlDLFdBQVdKLE9BQU9JLFFBQVEsSUFBSTtJQUNsQyxJQUFJQyxPQUFPTCxPQUFPSyxJQUFJLElBQUk7SUFDMUIsSUFBSUMsUUFBUU4sT0FBT00sS0FBSyxJQUFJO0lBQzVCLElBQUlDLE9BQXVCO0lBRTNCTixPQUFPQSxPQUFPTyxtQkFBbUJQLE1BQU1RLE9BQU8sQ0FBQyxRQUFRLE9BQU8sTUFBTTtJQUVwRSxJQUFJVCxPQUFPTyxJQUFJLEVBQUU7UUFDZkEsT0FBT04sT0FBT0QsT0FBT08sSUFBSTtJQUMzQixPQUFPLElBQUlMLFVBQVU7UUFDbkJLLE9BQU9OLE9BQVEsRUFBQ0MsU0FBU1EsT0FBTyxDQUFDLE9BQU8sTUFBSVIsV0FBUyxNQUFLQSxRQUFBQTtRQUMxRCxJQUFJRixPQUFPVyxJQUFJLEVBQUU7WUFDZkosUUFBUSxNQUFNUCxPQUFPVyxJQUFJO1FBQzNCO0lBQ0Y7SUFFQSxJQUFJTCxTQUFTLE9BQU9BLFVBQVUsVUFBVTtRQUN0Q0EsUUFBUU0sT0FBT0MsYUFBWUMsc0JBQXNCLENBQUNSO0lBQ3BEO0lBRUEsSUFBSVMsU0FBU2YsT0FBT2UsTUFBTSxJQUFLVCxTQUFTLE1BQUlBLFNBQVk7SUFFeEQsSUFBSUgsWUFBWSxDQUFDQSxTQUFTYSxRQUFRLENBQUMsTUFBTWIsWUFBWTtJQUVyRCxJQUNFSCxPQUFPaUIsT0FBTyxJQUNiLENBQUMsQ0FBQ2QsWUFBWUosaUJBQWlCbUIsSUFBSSxDQUFDZixTQUFBQSxLQUFjSSxTQUFTLE9BQzVEO1FBQ0FBLE9BQU8sT0FBUUEsQ0FBQUEsUUFBUTtRQUN2QixJQUFJSCxZQUFZQSxRQUFRLENBQUMsRUFBRSxLQUFLLEtBQUtBLFdBQVcsTUFBTUE7SUFDeEQsT0FBTyxJQUFJLENBQUNHLE1BQU07UUFDaEJBLE9BQU87SUFDVDtJQUVBLElBQUlGLFFBQVFBLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBS0EsT0FBTyxNQUFNQTtJQUMxQyxJQUFJVSxVQUFVQSxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUtBLFNBQVMsTUFBTUE7SUFFaERYLFdBQVdBLFNBQVNLLE9BQU8sQ0FBQyxTQUFTRDtJQUNyQ08sU0FBU0EsT0FBT04sT0FBTyxDQUFDLEtBQUs7SUFFN0IsT0FBTyxLQUFHTixXQUFXSSxPQUFPSCxXQUFXVyxTQUFTVjtBQUNsRDtBQUVPLE1BQU1QLGdCQUFnQjtJQUMzQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQUVNLFNBQVNELHFCQUFxQnNCLEdBQWM7SUFDakQsSUFBSUMsSUFBeUIsRUFBZTtRQUMxQyxJQUFJRCxRQUFRLFFBQVEsT0FBT0EsUUFBUSxVQUFVO1lBQzNDRSxPQUFPQyxJQUFJLENBQUNILEtBQUtJLE9BQU8sQ0FBQyxDQUFDQztnQkFDeEIsSUFBSSxDQUFDMUIsY0FBYzJCLFFBQVEsQ0FBQ0QsTUFBTTtvQkFDaENFLFFBQVFDLElBQUksQ0FDVix1REFBcURIO2dCQUV6RDtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU81QixVQUFVdUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsLnRzPzFiODciXSwibmFtZXMiOlsiZm9ybWF0VXJsIiwiZm9ybWF0V2l0aFZhbGlkYXRpb24iLCJ1cmxPYmplY3RLZXlzIiwic2xhc2hlZFByb3RvY29scyIsInVybE9iaiIsImF1dGgiLCJob3N0bmFtZSIsInByb3RvY29sIiwicGF0aG5hbWUiLCJoYXNoIiwicXVlcnkiLCJob3N0IiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsImluZGV4T2YiLCJwb3J0IiwiU3RyaW5nIiwicXVlcnlzdHJpbmciLCJ1cmxRdWVyeVRvU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiZW5kc1dpdGgiLCJzbGFzaGVzIiwidGVzdCIsInVybCIsInByb2Nlc3MiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIiwiY29uc29sZSIsIndhcm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/format-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js ***! - \*************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Translates a logical route into its pages asset path (relative from a common prefix)\n// \"asset path\" being its javascript file, data file, prerendered html,...\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return getAssetPathFromRoute;\n }\n}));\nfunction getAssetPathFromRoute(route, ext) {\n if (ext === void 0) ext = \"\";\n const path = route === \"/\" ? \"/index\" : /^\\/index(\\/|$)/.test(route) ? \"/index\" + route : route;\n return path + ext;\n} //# sourceMappingURL=get-asset-path-from-route.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1hc3NldC1wYXRoLWZyb20tcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUZBQXVGO0FBQ3ZGLDBFQUEwRTs7Ozs7MkNBQzFFOzs7ZUFBd0JBOzs7QUFBVCxTQUFTQSxzQkFDdEJDLEtBQWEsRUFDYkMsR0FBZ0I7SUFBaEJBLElBQUFBLFFBQUFBLEtBQUFBLEdBQUFBLE1BQWM7SUFFZCxNQUFNQyxPQUNKRixVQUFVLE1BQ04sV0FDQSxpQkFBaUJHLElBQUksQ0FBQ0gsU0FDdEIsV0FBU0EsUUFDVEE7SUFDTixPQUFPRSxPQUFPRDtBQUNoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1hc3NldC1wYXRoLWZyb20tcm91dGUudHM/MjM5MSJdLCJuYW1lcyI6WyJnZXRBc3NldFBhdGhGcm9tUm91dGUiLCJyb3V0ZSIsImV4dCIsInBhdGgiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return getNextPathnameInfo;\n }\n}));\nconst _normalizelocalepath = __webpack_require__(/*! ../../i18n/normalize-locale-path */ \"./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _removepathprefix = __webpack_require__(/*! ./remove-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction getNextPathnameInfo(pathname, options) {\n var _options_nextConfig;\n const { basePath, i18n, trailingSlash } = (_options_nextConfig = options.nextConfig) != null ? _options_nextConfig : {};\n const info = {\n pathname,\n trailingSlash: pathname !== \"/\" ? pathname.endsWith(\"/\") : trailingSlash\n };\n if (basePath && (0, _pathhasprefix.pathHasPrefix)(info.pathname, basePath)) {\n info.pathname = (0, _removepathprefix.removePathPrefix)(info.pathname, basePath);\n info.basePath = basePath;\n }\n let pathnameNoDataPrefix = info.pathname;\n if (info.pathname.startsWith(\"/_next/data/\") && info.pathname.endsWith(\".json\")) {\n const paths = info.pathname.replace(/^\\/_next\\/data\\//, \"\").replace(/\\.json$/, \"\").split(\"/\");\n const buildId = paths[0];\n info.buildId = buildId;\n pathnameNoDataPrefix = paths[1] !== \"index\" ? \"/\" + paths.slice(1).join(\"/\") : \"/\";\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix;\n }\n }\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, _normalizelocalepath.normalizeLocalePath)(info.pathname, i18n.locales);\n info.locale = result.detectedLocale;\n var _result_pathname;\n info.pathname = (_result_pathname = result.pathname) != null ? _result_pathname : info.pathname;\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, _normalizelocalepath.normalizeLocalePath)(pathnameNoDataPrefix, i18n.locales);\n if (result.detectedLocale) {\n info.locale = result.detectedLocale;\n }\n }\n }\n return info;\n} //# sourceMappingURL=get-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFvRGdCQTs7O2VBQUFBOzs7aURBcERvQjs4Q0FDSDsyQ0FDSDtBQWtEdkIsU0FBU0Esb0JBQ2RDLFFBQWdCLEVBQ2hCQyxPQUFnQjtRQUUwQkE7SUFBMUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsYUFBYSxFQUFFLEdBQUdILENBQUFBLHNCQUFBQSxRQUFRSSxVQUFVLFlBQWxCSixzQkFBc0IsQ0FBQztJQUNqRSxNQUFNSyxPQUF5QjtRQUM3Qk47UUFDQUksZUFBZUosYUFBYSxNQUFNQSxTQUFTTyxRQUFRLENBQUMsT0FBT0g7SUFDN0Q7SUFFQSxJQUFJRixZQUFZTSxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQUNGLEtBQUtOLFFBQVEsRUFBRUUsV0FBVztRQUN0REksS0FBS04sUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQWdCLEVBQUNILEtBQUtOLFFBQVEsRUFBRUU7UUFDaERJLEtBQUtKLFFBQVEsR0FBR0E7SUFDbEI7SUFDQSxJQUFJUSx1QkFBdUJKLEtBQUtOLFFBQVE7SUFFeEMsSUFDRU0sS0FBS04sUUFBUSxDQUFDVyxVQUFVLENBQUMsbUJBQ3pCTCxLQUFLTixRQUFRLENBQUNPLFFBQVEsQ0FBQyxVQUN2QjtRQUNBLE1BQU1LLFFBQVFOLEtBQUtOLFFBQVEsQ0FDeEJhLE9BQU8sQ0FBQyxvQkFBb0IsSUFDNUJBLE9BQU8sQ0FBQyxXQUFXLElBQ25CQyxLQUFLLENBQUM7UUFFVCxNQUFNQyxVQUFVSCxLQUFLLENBQUMsRUFBRTtRQUN4Qk4sS0FBS1MsT0FBTyxHQUFHQTtRQUNmTCx1QkFDRUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxVQUFVLE1BQUlBLE1BQU1JLEtBQUssQ0FBQyxHQUFHQyxJQUFJLENBQUMsT0FBUztRQUUxRCxzREFBc0Q7UUFDdEQsa0RBQWtEO1FBQ2xELElBQUloQixRQUFRaUIsU0FBUyxLQUFLLE1BQU07WUFDOUJaLEtBQUtOLFFBQVEsR0FBR1U7UUFDbEI7SUFDRjtJQUVBLDRFQUE0RTtJQUM1RSx5QkFBeUI7SUFDekIsSUFBSVAsTUFBTTtRQUNSLElBQUlnQixTQUFTbEIsUUFBUW1CLFlBQVksR0FDN0JuQixRQUFRbUIsWUFBWSxDQUFDQyxPQUFPLENBQUNmLEtBQUtOLFFBQVEsSUFDMUNzQixDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNoQixLQUFLTixRQUFRLEVBQUVHLEtBQUtvQixPQUFPO1FBRW5EakIsS0FBS2tCLE1BQU0sR0FBR0wsT0FBT00sY0FBYztZQUNuQk47UUFBaEJiLEtBQUtOLFFBQVEsR0FBR21CLENBQUFBLG1CQUFBQSxPQUFPbkIsUUFBUSxZQUFmbUIsbUJBQW1CYixLQUFLTixRQUFRO1FBRWhELElBQUksQ0FBQ21CLE9BQU9NLGNBQWMsSUFBSW5CLEtBQUtTLE9BQU8sRUFBRTtZQUMxQ0ksU0FBU2xCLFFBQVFtQixZQUFZLEdBQ3pCbkIsUUFBUW1CLFlBQVksQ0FBQ0MsT0FBTyxDQUFDWCx3QkFDN0JZLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ1osc0JBQXNCUCxLQUFLb0IsT0FBTztZQUUxRCxJQUFJSixPQUFPTSxjQUFjLEVBQUU7Z0JBQ3pCbkIsS0FBS2tCLE1BQU0sR0FBR0wsT0FBT00sY0FBYztZQUNyQztRQUNGO0lBQ0Y7SUFDQSxPQUFPbkI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8udHM/NTFmNiJdLCJuYW1lcyI6WyJnZXROZXh0UGF0aG5hbWVJbmZvIiwicGF0aG5hbWUiLCJvcHRpb25zIiwiYmFzZVBhdGgiLCJpMThuIiwidHJhaWxpbmdTbGFzaCIsIm5leHRDb25maWciLCJpbmZvIiwiZW5kc1dpdGgiLCJwYXRoSGFzUHJlZml4IiwicmVtb3ZlUGF0aFByZWZpeCIsInBhdGhuYW1lTm9EYXRhUHJlZml4Iiwic3RhcnRzV2l0aCIsInBhdGhzIiwicmVwbGFjZSIsInNwbGl0IiwiYnVpbGRJZCIsInNsaWNlIiwiam9pbiIsInBhcnNlRGF0YSIsInJlc3VsdCIsImkxOG5Qcm92aWRlciIsImFuYWx5emUiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwibG9jYWxlcyIsImxvY2FsZSIsImRldGVjdGVkTG9jYWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js ***! - \********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Run function with `scroll-behavior: auto` applied to `<html/>`.\n * This css change will be reverted after the function finishes.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSmoothScroll\", ({\n enumerable: true,\n get: function() {\n return handleSmoothScroll;\n }\n}));\nfunction handleSmoothScroll(fn, options) {\n if (options === void 0) options = {};\n // if only the hash is changed, we don't need to disable smooth scrolling\n // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX\n if (options.onlyHashChange) {\n fn();\n return;\n }\n const htmlElement = document.documentElement;\n const existing = htmlElement.style.scrollBehavior;\n htmlElement.style.scrollBehavior = \"auto\";\n if (!options.dontForceLayout) {\n // In Chrome-based browsers we need to force reflow before calling `scrollTo`.\n // Otherwise it will not pickup the change in scrollBehavior\n // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042\n htmlElement.getClientRects();\n }\n fn();\n htmlElement.style.scrollBehavior = existing;\n} //# sourceMappingURL=handle-smooth-scroll.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OztzREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUJBQ2RDLEVBQWMsRUFDZEMsT0FBcUU7SUFBckVBLElBQUFBLFlBQUFBLEtBQUFBLEdBQUFBLFVBQW1FLENBQUM7SUFFcEUseUVBQXlFO0lBQ3pFLDZGQUE2RjtJQUM3RixJQUFJQSxRQUFRQyxjQUFjLEVBQUU7UUFDMUJGO1FBQ0E7SUFDRjtJQUNBLE1BQU1HLGNBQWNDLFNBQVNDLGVBQWU7SUFDNUMsTUFBTUMsV0FBV0gsWUFBWUksS0FBSyxDQUFDQyxjQUFjO0lBQ2pETCxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBRztJQUNuQyxJQUFJLENBQUNQLFFBQVFRLGVBQWUsRUFBRTtRQUM1Qiw4RUFBOEU7UUFDOUUsNERBQTREO1FBQzVELHlGQUF5RjtRQUN6Rk4sWUFBWU8sY0FBYztJQUM1QjtJQUNBVjtJQUNBRyxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBR0Y7QUFDckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9oYW5kbGUtc21vb3RoLXNjcm9sbC50cz9jM2Y0Il0sIm5hbWVzIjpbImhhbmRsZVNtb290aFNjcm9sbCIsImZuIiwib3B0aW9ucyIsIm9ubHlIYXNoQ2hhbmdlIiwiaHRtbEVsZW1lbnQiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImV4aXN0aW5nIiwic3R5bGUiLCJzY3JvbGxCZWhhdmlvciIsImRvbnRGb3JjZUxheW91dCIsImdldENsaWVudFJlY3RzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxpQkFBZTtlQUFmQSxjQUFBQSxlQUFlOztJQUNmQyxnQkFBYztlQUFkQSxXQUFBQSxjQUFjOzs7MENBRFM7dUNBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbmRleC50cz83MmQ1Il0sIm5hbWVzIjpbImdldFNvcnRlZFJvdXRlcyIsImlzRHluYW1pY1JvdXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBS2dCQTs7O2VBQUFBOzs7MENBSGdCO3dDQUNGO0FBRXZCLFNBQVNBLGNBQ2RDLEtBQWEsRUFDYkMsVUFBa0IsRUFDbEJDLEtBQXFCO0lBRXJCLElBQUlDLG9CQUFvQjtJQUV4QixNQUFNQyxlQUFlQyxDQUFBQSxHQUFBQSxZQUFBQSxhQUFhLEVBQUNMO0lBQ25DLE1BQU1NLGdCQUFnQkYsYUFBYUcsTUFBTTtJQUN6QyxNQUFNQyxpQkFFSFAsQ0FBQUEsZUFBZUQsUUFBUVMsQ0FBQUEsR0FBQUEsY0FBQUEsZUFBZSxFQUFDTCxjQUFjSCxjQUFjLE9BQ3BFLGdEQUFnRDtJQUNoRCxzRUFBc0U7SUFDdEVDO0lBRUZDLG9CQUFvQkg7SUFDcEIsTUFBTVUsU0FBU0MsT0FBT0MsSUFBSSxDQUFDTjtJQUUzQixJQUNFLENBQUNJLE9BQU9HLEtBQUssQ0FBQyxDQUFDQztRQUNiLElBQUlDLFFBQVFQLGNBQWMsQ0FBQ00sTUFBTSxJQUFJO1FBQ3JDLE1BQU0sRUFBRUUsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR1gsYUFBYSxDQUFDUSxNQUFNO1FBRWpELGlDQUFpQztRQUNqQywwREFBMEQ7UUFDMUQsSUFBSUksV0FBVyxNQUFJRixDQUFBQSxTQUFTLFFBQVEsTUFBS0YsUUFBTTtRQUMvQyxJQUFJRyxVQUFVO1lBQ1pDLFdBQVcsQ0FBRyxDQUFDSCxRQUFRLE1BQU0sTUFBRyxNQUFHRyxXQUFTO1FBQzlDO1FBQ0EsSUFBSUYsVUFBVSxDQUFDRyxNQUFNQyxPQUFPLENBQUNMLFFBQVFBLFFBQVE7WUFBQ0E7U0FBTTtRQUVwRCxPQUNFLENBQUNFLFlBQVlILFNBQVNOLGNBQUFBLEtBQ3RCLDZDQUE2QztRQUM1Q0wsQ0FBQUEsb0JBQ0NBLGtCQUFtQmtCLE9BQU8sQ0FDeEJILFVBQ0FGLFNBQ0lELE1BQ0dPLEdBQUcsQ0FFRix1REFBdUQ7UUFDdkQsa0RBQWtEO1FBQ2xELG9DQUFvQztRQUNwQyxDQUFDQyxVQUFZQyxtQkFBbUJELFVBRWpDRSxJQUFJLENBQUMsT0FDUkQsbUJBQW1CVCxXQUNwQjtJQUVYLElBQ0E7UUFDQVosb0JBQW9CLEdBQUcsbUNBQW1DOztJQUUxRCx1RUFBdUU7SUFDdkUsa0RBQWtEO0lBQ3BEO0lBQ0EsT0FBTztRQUNMTztRQUNBZ0IsUUFBUXZCO0lBQ1Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLnRzPzllMzEiXSwibmFtZXMiOlsiaW50ZXJwb2xhdGVBcyIsInJvdXRlIiwiYXNQYXRobmFtZSIsInF1ZXJ5IiwiaW50ZXJwb2xhdGVkUm91dGUiLCJkeW5hbWljUmVnZXgiLCJnZXRSb3V0ZVJlZ2V4IiwiZHluYW1pY0dyb3VwcyIsImdyb3VwcyIsImR5bmFtaWNNYXRjaGVzIiwiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW1zIiwiT2JqZWN0Iiwia2V5cyIsImV2ZXJ5IiwicGFyYW0iLCJ2YWx1ZSIsInJlcGVhdCIsIm9wdGlvbmFsIiwicmVwbGFjZWQiLCJBcnJheSIsImlzQXJyYXkiLCJyZXBsYWNlIiwibWFwIiwic2VnbWVudCIsImVuY29kZVVSSUNvbXBvbmVudCIsImpvaW4iLCJyZXN1bHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-bot.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-bot.js ***! - \******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isBot\", ({\n enumerable: true,\n get: function() {\n return isBot;\n }\n}));\nfunction isBot(userAgent) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(userAgent);\n} //# sourceMappingURL=is-bot.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3lDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsTUFBTUMsU0FBaUI7SUFDckMsT0FBTyxvVkFBb1ZDLElBQUksQ0FDN1ZEO0FBRUoiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1ib3QudHM/OGEzNyJdLCJuYW1lcyI6WyJpc0JvdCIsInVzZXJBZ2VudCIsInRlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-bot.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFRZ0JBOzs7ZUFBQUE7OztnREFMVDtBQUVQLHFDQUFxQztBQUNyQyxNQUFNQyxhQUFhO0FBRVosU0FBU0QsZUFBZUUsS0FBYTtJQUMxQyxJQUFJQyxDQUFBQSxHQUFBQSxvQkFBQUEsMEJBQTBCLEVBQUNELFFBQVE7UUFDckNBLFFBQVFFLENBQUFBLEdBQUFBLG9CQUFBQSxtQ0FBbUMsRUFBQ0YsT0FBT0csZ0JBQWdCO0lBQ3JFO0lBRUEsT0FBT0osV0FBV0ssSUFBSSxDQUFDSjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMudHM/ODJkYyJdLCJuYW1lcyI6WyJpc0R5bmFtaWNSb3V0ZSIsIlRFU1RfUk9VVEUiLCJyb3V0ZSIsImlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIiwiZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb24iLCJpbnRlcmNlcHRlZFJvdXRlIiwidGVzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQU1nQkE7OztlQUFBQTs7O21DQU5pQzt5Q0FDckI7QUFLckIsU0FBU0EsV0FBV0MsR0FBVztJQUNwQyxnRUFBZ0U7SUFDaEUsSUFBSSxDQUFDQyxDQUFBQSxHQUFBQSxPQUFBQSxhQUFhLEVBQUNELE1BQU0sT0FBTztJQUNoQyxJQUFJO1FBQ0YsNERBQTREO1FBQzVELE1BQU1FLGlCQUFpQkMsQ0FBQUEsR0FBQUEsT0FBQUEsaUJBQWlCO1FBQ3hDLE1BQU1DLFdBQVcsSUFBSUMsSUFBSUwsS0FBS0U7UUFDOUIsT0FBT0UsU0FBU0UsTUFBTSxLQUFLSixrQkFBa0JLLENBQUFBLEdBQUFBLGFBQUFBLFdBQVcsRUFBQ0gsU0FBU0ksUUFBUTtJQUM1RSxFQUFFLE9BQU9DLEdBQUc7UUFDVixPQUFPO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC50cz8wNGU1Il0sIm5hbWVzIjpbImlzTG9jYWxVUkwiLCJ1cmwiLCJpc0Fic29sdXRlVXJsIiwibG9jYXRpb25PcmlnaW4iLCJnZXRMb2NhdGlvbk9yaWdpbiIsInJlc29sdmVkIiwiVVJMIiwib3JpZ2luIiwiaGFzQmFzZVBhdGgiLCJwYXRobmFtZSIsIl8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/omit.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL29taXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozt3Q0FBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLEtBQ2RDLE1BQVMsRUFDVEMsSUFBUztJQUVULE1BQU1DLFVBQXNDLENBQUM7SUFDN0NDLE9BQU9GLElBQUksQ0FBQ0QsUUFBUUksT0FBTyxDQUFDLENBQUNDO1FBQzNCLElBQUksQ0FBQ0osS0FBS0ssUUFBUSxDQUFDRCxNQUFXO1lBQzVCSCxPQUFPLENBQUNHLElBQUksR0FBR0wsTUFBTSxDQUFDSyxJQUFJO1FBQzVCO0lBQ0Y7SUFDQSxPQUFPSDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC50cz9iN2E4Il0sIm5hbWVzIjpbIm9taXQiLCJvYmplY3QiLCJrZXlzIiwib21pdHRlZCIsIk9iamVjdCIsImZvckVhY2giLCJrZXkiLCJpbmNsdWRlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/omit.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/parse-path.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Q0FJQzs7Ozs2Q0FDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsVUFBVUMsSUFBWTtJQUNwQyxNQUFNQyxZQUFZRCxLQUFLRSxPQUFPLENBQUM7SUFDL0IsTUFBTUMsYUFBYUgsS0FBS0UsT0FBTyxDQUFDO0lBQ2hDLE1BQU1FLFdBQVdELGFBQWEsQ0FBQyxLQUFNRixDQUFBQSxZQUFZLEtBQUtFLGFBQWFGLFNBQUFBO0lBRW5FLElBQUlHLFlBQVlILFlBQVksQ0FBQyxHQUFHO1FBQzlCLE9BQU87WUFDTEksVUFBVUwsS0FBS00sU0FBUyxDQUFDLEdBQUdGLFdBQVdELGFBQWFGO1lBQ3BETSxPQUFPSCxXQUNISixLQUFLTSxTQUFTLENBQUNILFlBQVlGLFlBQVksQ0FBQyxJQUFJQSxZQUFZTyxhQUN4RDtZQUNKQyxNQUFNUixZQUFZLENBQUMsSUFBSUQsS0FBS1UsS0FBSyxDQUFDVCxhQUFhO1FBQ2pEO0lBQ0Y7SUFFQSxPQUFPO1FBQUVJLFVBQVVMO1FBQU1PLE9BQU87UUFBSUUsTUFBTTtJQUFHO0FBQy9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aC50cz9hMzllIl0sIm5hbWVzIjpbInBhcnNlUGF0aCIsInBhdGgiLCJoYXNoSW5kZXgiLCJpbmRleE9mIiwicXVlcnlJbmRleCIsImhhc1F1ZXJ5IiwicGF0aG5hbWUiLCJzdWJzdHJpbmciLCJxdWVyeSIsInVuZGVmaW5lZCIsImhhc2giLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseRelativeUrl\", ({\n enumerable: true,\n get: function() {\n return parseRelativeUrl;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _querystring = __webpack_require__(/*! ./querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nfunction parseRelativeUrl(url, base) {\n const globalBase = new URL( false ? 0 : (0, _utils.getLocationOrigin)());\n const resolvedBase = base ? new URL(base, globalBase) : url.startsWith(\".\") ? new URL( false ? 0 : window.location.href) : globalBase;\n const { pathname, searchParams, search, hash, href, origin } = new URL(url, resolvedBase);\n if (origin !== globalBase.origin) {\n throw new Error(\"invariant: invalid relative URL, router received \" + url);\n }\n return {\n pathname,\n query: (0, _querystring.searchParamsToUrlQuery)(searchParams),\n search,\n hash,\n href: href.slice(globalBase.origin.length)\n };\n} //# sourceMappingURL=parse-relative-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQWtCZ0JBOzs7ZUFBQUE7OzttQ0FqQmtCO3lDQUNLO0FBZ0JoQyxTQUFTQSxpQkFDZEMsR0FBVyxFQUNYQyxJQUFhO0lBRWIsTUFBTUMsYUFBYSxJQUFJQyxJQUNyQixNQUFrQixHQUFjLElBQWFDLENBQUFBLEdBQUFBLE9BQUFBLGlCQUFpQjtJQUdoRSxNQUFNQyxlQUFlSixPQUNqQixJQUFJRSxJQUFJRixNQUFNQyxjQUNkRixJQUFJTSxVQUFVLENBQUMsT0FDZixJQUFJSCxJQUFJLE1BQWtCLEdBQWMsSUFBYUksT0FBT0MsUUFBUSxDQUFDQyxJQUFJLElBQ3pFUDtJQUVKLE1BQU0sRUFBRVEsUUFBUSxFQUFFQyxZQUFZLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFSixJQUFJLEVBQUVLLE1BQU0sRUFBRSxHQUFHLElBQUlYLElBQ2pFSCxLQUNBSztJQUVGLElBQUlTLFdBQVdaLFdBQVdZLE1BQU0sRUFBRTtRQUNoQyxNQUFNLElBQUlDLE1BQU0sc0RBQW9EZjtJQUN0RTtJQUNBLE9BQU87UUFDTFU7UUFDQU0sT0FBT0MsQ0FBQUEsR0FBQUEsYUFBQUEsc0JBQXNCLEVBQUNOO1FBQzlCQztRQUNBQztRQUNBSixNQUFNQSxLQUFLUyxLQUFLLENBQUNoQixXQUFXWSxNQUFNLENBQUNLLE1BQU07SUFDM0M7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC50cz9hZjNjIl0sIm5hbWVzIjpbInBhcnNlUmVsYXRpdmVVcmwiLCJ1cmwiLCJiYXNlIiwiZ2xvYmFsQmFzZSIsIlVSTCIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWRCYXNlIiwic3RhcnRzV2l0aCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGFzaCIsIm9yaWdpbiIsIkVycm9yIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5Iiwic2xpY2UiLCJsZW5ndGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQVNnQkE7OztlQUFBQTs7O3VDQVRVO0FBU25CLFNBQVNBLGNBQWNDLElBQVksRUFBRUMsTUFBYztJQUN4RCxJQUFJLE9BQU9ELFNBQVMsVUFBVTtRQUM1QixPQUFPO0lBQ1Q7SUFFQSxNQUFNLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxXQUFBQSxTQUFTLEVBQUNIO0lBQy9CLE9BQU9FLGFBQWFELFVBQVVDLFNBQVNFLFVBQVUsQ0FBQ0gsU0FBUztBQUM3RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC50cz85MDlhIl0sIm5hbWVzIjpbInBhdGhIYXNQcmVmaXgiLCJwYXRoIiwicHJlZml4IiwicGF0aG5hbWUiLCJwYXJzZVBhdGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTRDZ0JBLFFBQU07ZUFBTkE7O0lBMUNBQyx3QkFBc0I7ZUFBdEJBOztJQTRCQUMsd0JBQXNCO2VBQXRCQTs7O0FBNUJULFNBQVNELHVCQUNkRSxZQUE2QjtJQUU3QixNQUFNQyxRQUF3QixDQUFDO0lBQy9CRCxhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0M7UUFDM0IsSUFBSSxPQUFPSCxLQUFLLENBQUNHLElBQUksS0FBSyxhQUFhO1lBQ3JDSCxLQUFLLENBQUNHLElBQUksR0FBR0Q7UUFDZixPQUFPLElBQUlFLE1BQU1DLE9BQU8sQ0FBQ0wsS0FBSyxDQUFDRyxJQUFJLEdBQUc7WUFDbENILEtBQUssQ0FBQ0csSUFBSSxDQUFjRyxJQUFJLENBQUNKO1FBQ2pDLE9BQU87WUFDTEYsS0FBSyxDQUFDRyxJQUFJLEdBQUc7Z0JBQUNILEtBQUssQ0FBQ0csSUFBSTtnQkFBWUQ7YUFBTTtRQUM1QztJQUNGO0lBQ0EsT0FBT0Y7QUFDVDtBQUVBLFNBQVNPLHVCQUF1QkMsS0FBYztJQUM1QyxJQUNFLE9BQU9BLFVBQVUsWUFDaEIsT0FBT0EsVUFBVSxZQUFZLENBQUNDLE1BQU1ELFVBQ3JDLE9BQU9BLFVBQVUsV0FDakI7UUFDQSxPQUFPRSxPQUFPRjtJQUNoQixPQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0Y7QUFFTyxTQUFTVix1QkFDZGEsUUFBd0I7SUFFeEIsTUFBTUMsU0FBUyxJQUFJQztJQUNuQkMsT0FBT0MsT0FBTyxDQUFDSixVQUFVVixPQUFPLENBQUMsQ0FBQU87WUFBQyxDQUFDTCxLQUFLRCxNQUFNLEdBQUFNO1FBQzVDLElBQUlKLE1BQU1DLE9BQU8sQ0FBQ0gsUUFBUTtZQUN4QkEsTUFBTUQsT0FBTyxDQUFDLENBQUNlLE9BQVNKLE9BQU9LLE1BQU0sQ0FBQ2QsS0FBS0ksdUJBQXVCUztRQUNwRSxPQUFPO1lBQ0xKLE9BQU9NLEdBQUcsQ0FBQ2YsS0FBS0ksdUJBQXVCTDtRQUN6QztJQUNGO0lBQ0EsT0FBT1U7QUFDVDtBQUVPLFNBQVNoQixPQUNkdUIsTUFBdUI7SUFDdkIsUUFBQUMsT0FBQUMsVUFBQUMsTUFBQSxFQUFBQyxtQkFBQSxJQUFBbkIsTUFBQWdCLE9BQUEsSUFBQUEsT0FBQSxRQUFBSSxPQUFBLEdBQUFBLE9BQUFKLE1BQUFJLE9BQUE7UUFBR0QsZ0JBQUFBLENBQUhDLE9BQUEsS0FBQUgsU0FBQSxDQUFBRyxLQUFzQzs7SUFFdENELGlCQUFpQnRCLE9BQU8sQ0FBQyxDQUFDRjtRQUN4QkssTUFBTXFCLElBQUksQ0FBQzFCLGFBQWEyQixJQUFJLElBQUl6QixPQUFPLENBQUMsQ0FBQ0UsTUFBUWdCLE9BQU9RLE1BQU0sQ0FBQ3hCO1FBQy9ESixhQUFhRSxPQUFPLENBQUMsQ0FBQ0MsT0FBT0MsTUFBUWdCLE9BQU9GLE1BQU0sQ0FBQ2QsS0FBS0Q7SUFDMUQ7SUFDQSxPQUFPaUI7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLnRzPzgyZmEiXSwibmFtZXMiOlsiYXNzaWduIiwic2VhcmNoUGFyYW1zVG9VcmxRdWVyeSIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2hQYXJhbXMiLCJxdWVyeSIsImZvckVhY2giLCJ2YWx1ZSIsImtleSIsIkFycmF5IiwiaXNBcnJheSIsInB1c2giLCJzdHJpbmdpZnlVcmxRdWVyeVBhcmFtIiwicGFyYW0iLCJpc05hTiIsIlN0cmluZyIsInVybFF1ZXJ5IiwicmVzdWx0IiwiVVJMU2VhcmNoUGFyYW1zIiwiT2JqZWN0IiwiZW50cmllcyIsIml0ZW0iLCJhcHBlbmQiLCJzZXQiLCJ0YXJnZXQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic2VhcmNoUGFyYW1zTGlzdCIsIl9rZXkiLCJmcm9tIiwia2V5cyIsImRlbGV0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/querystring.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removePathPrefix\", ({\n enumerable: true,\n get: function() {\n return removePathPrefix;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction removePathPrefix(path, prefix) {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!(0, _pathhasprefix.pathHasPrefix)(path, prefix)) {\n return path;\n }\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length);\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith(\"/\")) {\n return withoutPrefix;\n }\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return \"/\" + withoutPrefix;\n} //# sourceMappingURL=remove-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQVVnQkE7OztlQUFBQTs7OzJDQVZjO0FBVXZCLFNBQVNBLGlCQUFpQkMsSUFBWSxFQUFFQyxNQUFjO0lBQzNELHlFQUF5RTtJQUN6RSwwRUFBMEU7SUFDMUUsa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRixvQkFBb0I7SUFDcEIsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2Qix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDRixNQUFNQyxTQUFTO1FBQ2hDLE9BQU9EO0lBQ1Q7SUFFQSwrQ0FBK0M7SUFDL0MsTUFBTUcsZ0JBQWdCSCxLQUFLSSxLQUFLLENBQUNILE9BQU9JLE1BQU07SUFFOUMsMkVBQTJFO0lBQzNFLElBQUlGLGNBQWNHLFVBQVUsQ0FBQyxNQUFNO1FBQ2pDLE9BQU9IO0lBQ1Q7SUFFQSw0RUFBNEU7SUFDNUUsbURBQW1EO0lBQ25ELE9BQU8sTUFBSUE7QUFDYiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC50cz8wNzE0Il0sIm5hbWVzIjpbInJlbW92ZVBhdGhQcmVmaXgiLCJwYXRoIiwicHJlZml4IiwicGF0aEhhc1ByZWZpeCIsIndpdGhvdXRQcmVmaXgiLCJzbGljZSIsImxlbmd0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! - \*********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUM7Ozs7dURBQ2VBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG9CQUFvQkMsS0FBYTtJQUMvQyxPQUFPQSxNQUFNQyxPQUFPLENBQUMsT0FBTyxPQUFPO0FBQ3JDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoLnRzP2U5ODIiXSwibmFtZXMiOlsicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInJvdXRlIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFXZ0JBOzs7ZUFBQUE7OzttQ0FWWTtBQVVyQixTQUFTQSxnQkFBZ0JDLEtBQTBCO0lBQTFCLE1BQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFjLEdBQTFCRjtJQUM5QixPQUFPLENBQUNHO1FBQ04sTUFBTUMsYUFBYUgsR0FBR0ksSUFBSSxDQUFDRjtRQUMzQixJQUFJLENBQUNDLFlBQVk7WUFDZixPQUFPO1FBQ1Q7UUFFQSxNQUFNRSxTQUFTLENBQUNOO1lBQ2QsSUFBSTtnQkFDRixPQUFPTyxtQkFBbUJQO1lBQzVCLEVBQUUsT0FBT1EsR0FBRztnQkFDVixNQUFNLElBQUlDLE9BQUFBLFdBQVcsQ0FBQztZQUN4QjtRQUNGO1FBQ0EsTUFBTUMsU0FBcUQsQ0FBQztRQUU1REMsT0FBT0MsSUFBSSxDQUFDVixRQUFRVyxPQUFPLENBQUMsQ0FBQ0M7WUFDM0IsTUFBTUMsSUFBSWIsTUFBTSxDQUFDWSxTQUFTO1lBQzFCLE1BQU1FLElBQUlaLFVBQVUsQ0FBQ1csRUFBRUUsR0FBRyxDQUFDO1lBQzNCLElBQUlELE1BQU1FLFdBQVc7Z0JBQ25CUixNQUFNLENBQUNJLFNBQVMsR0FBRyxDQUFDRSxFQUFFRyxPQUFPLENBQUMsT0FDMUJILEVBQUVJLEtBQUssQ0FBQyxLQUFLQyxHQUFHLENBQUMsQ0FBQ0MsUUFBVWhCLE9BQU9nQixVQUNuQ1AsRUFBRVEsTUFBTSxHQUNSO29CQUFDakIsT0FBT1U7aUJBQUcsR0FDWFYsT0FBT1U7WUFDYjtRQUNGO1FBQ0EsT0FBT047SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci50cz8zMTc5Il0sIm5hbWVzIjpbImdldFJvdXRlTWF0Y2hlciIsInBhcmFtIiwicmUiLCJncm91cHMiLCJwYXRobmFtZSIsInJvdXRlTWF0Y2giLCJleGVjIiwiZGVjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiXyIsIkRlY29kZUVycm9yIiwicGFyYW1zIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJzbHVnTmFtZSIsImciLCJtIiwicG9zIiwidW5kZWZpbmVkIiwiaW5kZXhPZiIsInNwbGl0IiwibWFwIiwiZW50cnkiLCJyZXBlYXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTJOZ0JBLHlCQUF1QjtlQUF2QkE7O0lBaEJBQyxvQkFBa0I7ZUFBbEJBOztJQW5JQUMsZUFBYTtlQUFiQTs7O2dEQXhFMkI7MENBQ1I7aURBQ0M7QUFFcEMsTUFBTUMsMEJBQTBCO0FBQ2hDLE1BQU1DLGtDQUFrQztBQWF4Qzs7Ozs7OztDQU9DLEdBQ0QsU0FBU0MsZUFBZUMsS0FBYTtJQUNuQyxNQUFNQyxXQUFXRCxNQUFNRSxVQUFVLENBQUMsUUFBUUYsTUFBTUcsUUFBUSxDQUFDO0lBQ3pELElBQUlGLFVBQVU7UUFDWkQsUUFBUUEsTUFBTUksS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxQjtJQUNBLE1BQU1DLFNBQVNMLE1BQU1FLFVBQVUsQ0FBQztJQUNoQyxJQUFJRyxRQUFRO1FBQ1ZMLFFBQVFBLE1BQU1JLEtBQUssQ0FBQztJQUN0QjtJQUNBLE9BQU87UUFBRUUsS0FBS047UUFBT0s7UUFBUUo7SUFBUztBQUN4QztBQUVBLFNBQVNNLHFCQUFxQkMsS0FBYTtJQUN6QyxNQUFNQyxXQUFXQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUNGLE9BQU9KLEtBQUssQ0FBQyxHQUFHTyxLQUFLLENBQUM7SUFDM0QsTUFBTUMsU0FBeUMsQ0FBQztJQUNoRCxJQUFJQyxhQUFhO0lBQ2pCLE9BQU87UUFDTEMsb0JBQW9CTCxTQUNqQk0sR0FBRyxDQUFDLENBQUNDO1lBQ0osTUFBTUMsY0FBY0Msb0JBQUFBLDBCQUEwQixDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsSUFDbkRKLFFBQVFkLFVBQVUsQ0FBQ2tCO1lBRXJCLE1BQU1DLGVBQWVMLFFBQVFNLEtBQUssQ0FBQyx1QkFBdUIsdUJBQXVCOztZQUVqRixJQUFJTCxlQUFlSSxjQUFjO2dCQUMvQixNQUFNLEVBQUVmLEdBQUcsRUFBRUwsUUFBUSxFQUFF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LEdBQUdQLHFCQUFxQm1CO0lBQ3BELE1BQU0sRUFBRWtDLFdBQVcsSUFBSSxFQUFFLEdBQUdEO0lBQzVCLElBQUk3Qyx1QkFBdUIsS0FBSztRQUM5QixJQUFJK0MsZ0JBQWdCRCxXQUFXLE9BQU87UUFDdEMsT0FBTztZQUNMRixZQUFZLE9BQUtHLGdCQUFjO1FBQ2pDO0lBQ0Y7SUFFQSxNQUFNLEVBQUVWLHVCQUF1QixFQUFFLEdBQUdGLDBCQUNsQ3ZCLGlCQUNBO0lBRUYsSUFBSW9DLHVCQUF1QkYsV0FBVyxlQUFlO0lBQ3JELE9BQU87UUFDTEYsWUFBWSxNQUFJUCwwQkFBMEJXLHVCQUFxQjtJQUNqRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXgudHM/MTZhMSJdLCJuYW1lcyI6WyJnZXROYW1lZE1pZGRsZXdhcmVSZWdleCIsImdldE5hbWVkUm91dGVSZWdleCIsImdldFJvdXRlUmVnZXgiLCJORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCIsIk5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVgiLCJwYXJzZVBhcmFtZXRlciIsInBhcmFtIiwib3B0aW9uYWwiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzbGljZSIsInJlcGVhdCIsImtleSIsImdldFBhcmFtZXRyaXplZFJvdXRlIiwicm91dGUiLCJzZWdtZW50cyIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJzcGxpdCIsImdyb3VwcyIsImdyb3VwSW5kZXgiLCJwYXJhbWV0ZXJpemVkUm91dGUiLCJtYXAiLCJzZWdtZW50IiwibWFya2VyTWF0Y2giLCJJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyIsImZpbmQiLCJtIiwicGFyYW1NYXRjaGVzIiwibWF0Y2giLCJwb3MiLCJlc2NhcGVTdHJpbmdSZWdleHAiLCJqb2luIiwibm9ybWFsaXplZFJvdXRlIiwicmUiLCJSZWdFeHAiLCJidWlsZEdldFNhZmVSb3V0ZUtleSIsImkiLCJyb3V0ZUtleSIsImoiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJNYXRoIiwiZmxvb3IiLCJnZXRTYWZlS2V5RnJvbVNlZ21lbnQiLCJpbnRlcmNlcHRpb25NYXJrZXIiLCJnZXRTYWZlUm91dGVLZXkiLCJyb3V0ZUtleXMiLCJrZXlQcmVmaXgiLCJjbGVhbmVkS2V5IiwicmVwbGFjZSIsImludmFsaWRLZXkiLCJsZW5ndGgiLCJpc05hTiIsInBhcnNlSW50IiwiaW50ZXJjZXB0aW9uUHJlZml4IiwiZ2V0TmFtZWRQYXJhbWV0cml6ZWRSb3V0ZSIsInByZWZpeFJvdXRlS2V5cyIsIm5hbWVkUGFyYW1ldGVyaXplZFJvdXRlIiwiaGFzSW50ZXJjZXB0aW9uTWFya2VyIiwic29tZSIsInVzZWRNYXJrZXIiLCJ1bmRlZmluZWQiLCJwcmVmaXhSb3V0ZUtleSIsInJlc3VsdCIsIm5hbWVkUmVnZXgiLCJvcHRpb25zIiwiY2F0Y2hBbGwiLCJjYXRjaEFsbFJlZ2V4IiwiY2F0Y2hBbGxHcm91cGVkUmVnZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFxTWdCQTs7O2VBQUFBOzs7QUFyTWhCLE1BQU1DO0lBT0pDLE9BQU9DLE9BQWUsRUFBUTtRQUM1QixJQUFJLENBQUNDLE9BQU8sQ0FBQ0QsUUFBUUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQ0MsVUFBVSxFQUFFLEVBQUU7SUFDdkQ7SUFFQUMsU0FBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDckI7SUFFUUEsUUFBUUMsTUFBb0IsRUFBWTtRQUFoQ0EsSUFBQUEsV0FBQUEsS0FBQUEsR0FBQUEsU0FBaUI7UUFDL0IsTUFBTUMsZ0JBQWdCO2VBQUksSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FBRyxDQUFDQyxJQUFJO1FBQ3BELElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUMxQkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUNwRDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM5QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN2RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3RDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQ3pEO1FBRUEsTUFBTUcsU0FBU1QsY0FDWlUsR0FBRyxDQUFDLENBQUNDLElBQU0sSUFBSSxDQUFDVixRQUFRLENBQUNXLEdBQUcsQ0FBQ0QsR0FBSWIsT0FBTyxDQUFDLEtBQUdDLFNBQVNZLElBQUUsTUFDdkRFLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxPQUFTO21CQUFJRDttQkFBU0M7YUFBSyxFQUFFLEVBQUU7UUFFaEQsSUFBSSxJQUFJLENBQUNYLFFBQVEsS0FBSyxNQUFNO1lBQzFCSyxPQUFPTyxJ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QUFHLENBQUNiLGFBQWEsSUFBSXBDO1FBQ3JDO1FBRUEsSUFBSSxDQUFDVyxRQUFRLENBQ1ZXLEdBQUcsQ0FBQ2MsYUFDSmpDLE9BQU8sQ0FBQzZCLFNBQVNILEtBQUssQ0FBQyxJQUFJSSxXQUFXQztJQUMzQzs7YUFqTUFQLFdBQUFBLEdBQXVCO2FBQ3ZCaEIsUUFBQUEsR0FBaUMsSUFBSXVDO2FBQ3JDcEMsUUFBQUEsR0FBMEI7YUFDMUJHLFlBQUFBLEdBQThCO2FBQzlCQyxvQkFBQUEsR0FBc0M7O0FBOEx4QztBQUVPLFNBQVNuQixnQkFDZG9ELGVBQXNDO0lBRXRDLGtGQUFrRjtJQUNsRiw0RUFBNEU7SUFDNUUsMkNBQTJDO0lBRTNDLHlFQUF5RTtJQUN6RSwyQkFBMkI7SUFDM0Isb0NBQW9DO0lBQ3BDLDhFQUE4RTtJQUM5RSx3RUFBd0U7SUFDeEUsZ0hBQWdIO0lBQ2hILDRFQUE0RTtJQUM1RSxNQUFNQyxPQUFPLElBQUlwRDtJQUVqQiw2RkFBNkY7SUFDN0ZtRCxnQkFBZ0JOLE9BQU8sQ0FBQyxDQUFDUSxXQUFhRCxLQUFLbkQsTUFBTSxDQUFDb0Q7SUFDbEQsNEdBQTRHO0lBQzVHLE9BQU9ELEtBQUs3QyxNQUFNO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy50cz9kNTNiIl0sIm5hbWVzIjpbImdldFNvcnRlZFJvdXRlcyIsIlVybE5vZGUiLCJpbnNlcnQiLCJ1cmxQYXRoIiwiX2luc2VydCIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsInNtb29zaCIsIl9zbW9vc2giLCJwcmVmaXgiLCJjaGlsZHJlblBhdGhzIiwiY2hpbGRyZW4iLCJrZXlzIiwic29ydCIsInNsdWdOYW1lIiwic3BsaWNlIiwiaW5kZXhPZiIsInJlc3RTbHVnTmFtZSIsIm9wdGlvbmFsUmVzdFNsdWdOYW1lIiwicm91dGVzIiwibWFwIiwiYyIsImdldCIsInJlZHVjZSIsInByZXYiLCJjdXJyIiwicHVzaCIsInBsYWNlaG9sZGVyIiwiciIsInNsaWNlIiwiRXJyb3IiLCJ1bnNoaWZ0IiwidXJsUGF0aHMiLCJzbHVnTmFtZXMiLCJpc0NhdGNoQWxsIiwibGVuZ3RoIiwibmV4dFNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzZWdtZW50TmFtZSIsImlzT3B0aW9uYWwiLCJzdWJzdHJpbmciLCJoYW5kbGVTbHVnIiwicHJldmlvdXNTbHVnIiwibmV4dFNsdWciLCJmb3JFYWNoIiwic2x1ZyIsInJlcGxhY2UiLCJoYXMiLCJzZXQiLCJNYXAiLCJub3JtYWxpemVkUGFnZXMiLCJyb290IiwicGFnZVBhdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/runtime-config.external.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/runtime-config.external.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n setConfig: function() {\n return setConfig;\n }\n});\nlet runtimeConfig;\nconst _default = ()=>{\n return runtimeConfig;\n};\nfunction setConfig(configValue) {\n runtimeConfig = configValue;\n} //# sourceMappingURL=runtime-config.external.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcnVudGltZS1jb25maWcuZXh0ZXJuYWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBRUFBLFNBRUM7ZUFGREM7O0lBSWdCQyxXQUFTO2VBQVRBOzs7QUFOaEIsSUFBSUM7TUFFSkYsV0FBZTtJQUNiLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTRCxVQUFVRSxXQUFnQjtJQUN4Q0QsZ0JBQWdCQztBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcnVudGltZS1jb25maWcuZXh0ZXJuYWwudHM/YTliNCJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiX2RlZmF1bHQiLCJzZXRDb25maWciLCJydW50aW1lQ29uZmlnIiwiY29uZmlnVmFsdWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/runtime-config.external.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/segment.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/segment.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n isGroupSegment: function() {\n return isGroupSegment;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFNYUEscUJBQW1CO2VBQW5CQTs7SUFEQUMsa0JBQWdCO2VBQWhCQTs7SUFMR0MsZ0JBQWM7ZUFBZEE7OztBQUFULFNBQVNBLGVBQWVDLE9BQWU7SUFDNUMsc0NBQXNDO0lBQ3RDLE9BQU9BLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBT0EsUUFBUUMsUUFBUSxDQUFDO0FBQ2hEO0FBRU8sTUFBTUgsbUJBQW1CO0FBQ3pCLE1BQU1ELHNCQUFzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvc2VnbWVudC50cz9hZDI1Il0sIm5hbWVzIjpbIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJQQUdFX1NFR01FTlRfS0VZIiwiaXNHcm91cFNlZ21lbnQiLCJzZWdtZW50IiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/segment.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/side-effect.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst isServer = \"object\" === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n _s();\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n_s(SideEffect, \"gHVkikNHNxjVdD11eJBzaqkCiPY=\", false, function() {\n return [\n useClientOnlyLayoutEffect,\n useClientOnlyLayoutEffect,\n useClientOnlyEffect\n ];\n});\n_c = SideEffect;\nvar _c;\n$RefreshReg$(_c, \"SideEffect\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2lkZS1lZmZlY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OzJDQW9CQTs7O2VBQXdCQTs7O21DQW5CNkI7QUFlckQsTUFBTUMsV0FBVyxhQUFrQjtBQUNuQyxNQUFNQyw0QkFBNEJELFdBQVcsS0FBTyxJQUFJRSxPQUFBQSxlQUFlO0FBQ3ZFLE1BQU1DLHNCQUFzQkgsV0FBVyxLQUFPLElBQUlJLE9BQUFBLFNBQVM7QUFFNUMsU0FBU0wsV0FBV00sS0FBc0I7O0lBQ3ZELE1BQU0sRUFBRUMsV0FBVyxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHRjtJQUVqRCxTQUFTRztRQUNQLElBQUlGLGVBQWVBLFlBQVlHLGdCQUFnQixFQUFFO1lBQy9DLE1BQU1DLGVBQWVDLE9BQUFBLFFBQVEsQ0FBQ0MsT0FBTyxDQUNuQ0MsTUFBTUMsSUFBSSxDQUFDUixZQUFZRyxnQkFBZ0IsRUFBMEJNLE1BQU0sQ0FDckVDO1lBR0pWLFlBQVlXLFVBQVUsQ0FBQ1Ysd0JBQXdCRyxjQUFjTDtRQUMvRDtJQUNGO0lBRUEsSUFBSUwsVUFBVTtZQUNaTTtRQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxnQ0FBQUEsWUFBYUcsZ0JBQWdCLHFCQUE3QkgsOEJBQStCWSxHQUFHLENBQUNiLE1BQU1jLFFBQVE7UUFDakRYO0lBQ0Y7SUFFQVAsMEJBQTBCO1lBQ3hCSztRQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxnQ0FBQUEsWUFBYUcsZ0JBQWdCLHFCQUE3QkgsOEJBQStCWSxHQUFHLENBQUNiLE1BQU1jLFFBQVE7UUFDakQsT0FBTztnQkFDTGI7WUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQmMsTUFBTSxDQUFDZixNQUFNYyxRQUFRO1FBQ3REO0lBQ0Y7SUFFQSxrRkFBa0Y7SUFDbEYsb0ZBQW9GO0lBQ3BGLGdFQUFnRTtJQUNoRSxxRkFBcUY7SUFDckYsbUZBQW1GO0lBQ25GbEIsMEJBQTBCO1FBQ3hCLElBQUlLLGFBQWE7WUFDZkEsWUFBWWUsY0FBYyxHQUFHYjtRQUMvQjtRQUNBLE9BQU87WUFDTCxJQUFJRixhQUFhO2dCQUNmQSxZQUFZZSxjQUFjLEdBQUdiO1lBQy9CO1FBQ0Y7SUFDRjtJQUVBTCxvQkFBb0I7UUFDbEIsSUFBSUcsZUFBZUEsWUFBWWUsY0FBYyxFQUFFO1lBQzdDZixZQUFZZSxjQUFjO1lBQzFCZixZQUFZZSxjQUFjLEdBQUc7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSWYsZUFBZUEsWUFBWWUsY0FBYyxFQUFFO2dCQUM3Q2YsWUFBWWUsY0FBYztnQkFDMUJmLFlBQVllLGNBQWMsR0FBRztZQUMvQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPO0FBQ1Q7R0F4RHdCdEI7O1FBbUJ0QkU7UUFZQUE7UUFXQUU7OztLQTFDc0JKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC50c3g/ZThkZCJdLCJuYW1lcyI6WyJTaWRlRWZmZWN0IiwiaXNTZXJ2ZXIiLCJ1c2VDbGllbnRPbmx5TGF5b3V0RWZmZWN0IiwidXNlTGF5b3V0RWZmZWN0IiwidXNlQ2xpZW50T25seUVmZmVjdCIsInVzZUVmZmVjdCIsInByb3BzIiwiaGVhZE1hbmFnZXIiLCJyZWR1Y2VDb21wb25lbnRzVG9TdGF0ZSIsImVtaXRDaGFuZ2UiLCJtb3VudGVkSW5zdGFuY2VzIiwiaGVhZEVsZW1lbnRzIiwiQ2hpbGRyZW4iLCJ0b0FycmF5IiwiQXJyYXkiLCJmcm9tIiwiZmlsdGVyIiwiQm9vbGVhbiIsInVwZGF0ZUhlYWQiLCJhZGQiLCJjaGlsZHJlbiIsImRlbGV0ZSIsIl9wZW5kaW5nVXBkYXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/side-effect.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBb2FhQSxhQUFXO2VBQVhBOztJQW9CQUMseUJBQXVCO2VBQXZCQTs7SUFQQUMsbUJBQWlCO2VBQWpCQTs7SUFaQUMsZ0JBQWM7ZUFBZEE7O0lBQ0FDLG1CQUFpQjtlQUFqQkE7O0lBVEFDLElBQUU7ZUFBRkE7O0lBQ0FDLElBQUU7ZUFBRkE7O0lBbFhBQyxZQUFVO2VBQVZBOztJQXNRR0MsVUFBUTtlQUFSQTs7SUErQkFDLGdCQUFjO2VBQWRBOztJQVhBQyxtQkFBaUI7ZUFBakJBOztJQUtBQyxRQUFNO2VBQU5BOztJQVBIQyxlQUFhO2VBQWJBOztJQW1CR0MsV0FBUztlQUFUQTs7SUFrQk1DLHFCQUFtQjtlQUFuQkE7O0lBZE5DLDBCQUF3QjtlQUF4QkE7O0lBK0dBQyxnQkFBYztlQUFkQTs7O0FBOVpULE1BQU1ULGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQXNROUQsU0FBU0MsU0FDZFMsRUFBSztJQUVMLElBQUlDLE9BQU87SUFDWCxJQUFJQztJQUVKLE9BQVE7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUNWLElBQUksQ0FBQ0YsTUFBTTtZQUNUQSxPQUFPO1lBQ1BDLFNBQVNGLE1BQU1HO1FBQ2pCO1FBQ0EsT0FBT0Q7SUFDVDtBQUNGO0FBRUEsMERBQTBEO0FBQzFELGdFQUFnRTtBQUNoRSxNQUFNRSxxQkFBcUI7QUFDcEIsTUFBTVQsZ0JBQWdCLENBQUNVLE1BQWdCRCxtQkFBbUJFLElBQUksQ0FBQ0Q7QUFFL0QsU0FBU1o7SUFDZCxNQUFNLEVBQUVjLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsT0FBT0MsUUFBUTtJ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QUFFWixPQUFlLENBQUU7UUFDekMsS0FBSztRQUNMLElBQUksQ0FBQ0EsT0FBTyxHQUFHLDBDQUF3Q1ksT0FBSyxNQUFHWjtJQUNqRTtBQUNGO0FBRU8sTUFBTWpELGdDQUFnQ2tEO0lBRTNDVSxhQUFjO1FBQ1osS0FBSztRQUNMLElBQUksQ0FBQ0UsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDYixPQUFPLEdBQUk7SUFDbEI7QUFDRjtBQVdPLFNBQVNsQyxlQUFlZ0QsS0FBWTtJQUN6QyxPQUFPQyxLQUFLQyxTQUFTLENBQUM7UUFBRWhCLFNBQVNjLE1BQU1kLE9BQU87UUFBRWlCLE9BQU9ILE1BQU1HLEtBQUs7SUFBQztBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvdXRpbHMudHM/MWJkNSJdLCJuYW1lcyI6WyJEZWNvZGVFcnJvciIsIk1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIiwiTWlzc2luZ1N0YXRpY1BhZ2UiLCJOb3JtYWxpemVFcnJvciIsIlBhZ2VOb3RGb3VuZEVycm9yIiwiU1AiLCJTVCIsIldFQl9WSVRBTFMiLCJleGVjT25jZSIsImdldERpc3BsYXlOYW1lIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJnZXRVUkwiLCJpc0Fic29sdXRlVXJsIiwiaXNSZXNTZW50IiwibG9hZEdldEluaXRpYWxQcm9wcyIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsInN0cmluZ2lmeUVycm9yIiwiZm4iLCJ1c2VkIiwicmVzdWx0IiwiYXJncyIsIkFCU09MVVRFX1VSTF9SRUdFWCIsInVybCIsInRlc3QiLCJwcm90b2NvbCIsImhvc3RuYW1lIiwicG9ydCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsIm9yaWdpbiIsInN1YnN0cmluZyIsImxlbmd0aCIsIkNvbXBvbmVudCIsImRpc3BsYXlOYW1lIiwibmFtZSIsInJlcyIsImZpbmlzaGVkIiwiaGVhZGVyc1NlbnQiLCJ1cmxQYXJ0cyIsInNwbGl0IiwidXJsTm9RdWVyeSIsInJlcGxhY2UiLCJzbGljZSIsImpvaW4iLCJBcHAiLCJjdHgiLCJwcm9jZXNzIiwicHJvdG90eXBlIiwiZ2V0SW5pdGlhbFByb3BzIiwibWVzc2FnZSIsIkVycm9yIiwicGFnZVByb3BzIiwicHJvcHMiLCJPYmplY3QiLCJrZXlzIiwiY29uc29sZSIsIndhcm4iLCJwZXJmb3JtYW5jZSIsImV2ZXJ5IiwibWV0aG9kIiwiY29uc3RydWN0b3IiLCJwYWdlIiwiY29kZSIsImVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/utils/warn-once.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NENBV1NBOzs7ZUFBQUE7OztBQVhULElBQUlBLFdBQVcsQ0FBQ0MsS0FBZTtBQUMvQixJQUFJQyxJQUF5QixFQUFjO0lBQ3pDLE1BQU1DLFdBQVcsSUFBSUM7SUFDckJKLFdBQVcsQ0FBQ0s7UUFDVixJQUFJLENBQUNGLFNBQVNHLEdBQUcsQ0FBQ0QsTUFBTTtZQUN0QkUsUUFBUUMsSUFBSSxDQUFDSDtRQUNmO1FBQ0FGLFNBQVNNLEdBQUcsQ0FBQ0o7SUFDZjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UudHM/ZDA0MSJdLCJuYW1lcyI6WyJ3YXJuT25jZSIsIl8iLCJwcm9jZXNzIiwid2FybmluZ3MiLCJTZXQiLCJtc2ciLCJoYXMiLCJjb25zb2xlIiwid2FybiIsImFkZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils/warn-once.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/anser/index.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/compiled/anser/index.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";var e={211:e=>{var r=function(){function defineProperties(e,r){for(var n=0;n<r.length;n++){var s=r[n];s.enumerable=s.enumerable||false;s.configurable=true;if(\"value\"in s)s.writable=true;Object.defineProperty(e,s.key,s)}}return function(e,r,n){if(r)defineProperties(e.prototype,r);if(n)defineProperties(e,n);return e}}();function _classCallCheck(e,r){if(!(e instanceof r)){throw new TypeError(\"Cannot call a class as a function\")}}var n=[[{color:\"0, 0, 0\",class:\"ansi-black\"},{color:\"187, 0, 0\",class:\"ansi-red\"},{color:\"0, 187, 0\",class:\"ansi-green\"},{color:\"187, 187, 0\",class:\"ansi-yellow\"},{color:\"0, 0, 187\",class:\"ansi-blue\"},{color:\"187, 0, 187\",class:\"ansi-magenta\"},{color:\"0, 187, 187\",class:\"ansi-cyan\"},{color:\"255,255,255\",class:\"ansi-white\"}],[{color:\"85, 85, 85\",class:\"ansi-bright-black\"},{color:\"255, 85, 85\",class:\"ansi-bright-red\"},{color:\"0, 255, 0\",class:\"ansi-bright-green\"},{color:\"255, 255, 85\",class:\"ansi-bright-yellow\"},{color:\"85, 85, 255\",class:\"ansi-bright-blue\"},{color:\"255, 85, 255\",class:\"ansi-bright-magenta\"},{color:\"85, 255, 255\",class:\"ansi-bright-cyan\"},{color:\"255, 255, 255\",class:\"ansi-bright-white\"}]];var s=function(){r(Anser,null,[{key:\"escapeForHtml\",value:function escapeForHtml(e){return(new Anser).escapeForHtml(e)}},{key:\"linkify\",value:function linkify(e){return(new Anser).linkify(e)}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return(new Anser).ansiToHtml(e,r)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){return(new Anser).ansiToJson(e,r)}},{key:\"ansiToText\",value:function ansiToText(e){return(new Anser).ansiToText(e)}}]);function Anser(){_classCallCheck(this,Anser);this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null;this.bright=0}r(Anser,[{key:\"setupPalette\",value:function setupPalette(){this.PALETTE_COLORS=[];for(var e=0;e<2;++e){for(var r=0;r<8;++r){this.PALETTE_COLORS.push(n[e][r].color)}}var s=[0,95,135,175,215,255];var i=function format(e,r,n){return s[e]+\", \"+s[r]+\", \"+s[n]};var t=void 0,o=void 0,a=void 0;for(var l=0;l<6;++l){for(var c=0;c<6;++c){for(var u=0;u<6;++u){this.PALETTE_COLORS.push(i(l,c,u))}}}var f=8;for(var h=0;h<24;++h,f+=10){this.PALETTE_COLORS.push(i(f,f,f))}}},{key:\"escapeForHtml\",value:function escapeForHtml(e){return e.replace(/[&<>]/gm,(function(e){return e==\"&\"?\"&\":e==\"<\"?\"<\":e==\">\"?\">\":\"\"}))}},{key:\"linkify\",value:function linkify(e){return e.replace(/(https?:\\/\\/[^\\s]+)/gm,(function(e){return'<a href=\"'+e+'\">'+e+\"</a>\"}))}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return this.process(e,r,true)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){r=r||{};r.json=true;r.clearLine=false;return this.process(e,r,true)}},{key:\"ansiToText\",value:function ansiToText(e){return this.process(e,{},false)}},{key:\"process\",value:function process(e,r,n){var s=this;var i=this;var t=e.split(/\\033\\[/);var o=t.shift();if(r===undefined||r===null){r={}}r.clearLine=/\\r/.test(e);var a=t.map((function(e){return s.processChunk(e,r,n)}));if(r&&r.json){var l=i.processChunkJson(\"\");l.content=o;l.clearLine=r.clearLine;a.unshift(l);if(r.remove_empty){a=a.filter((function(e){return!e.isEmpty()}))}return a}else{a.unshift(o)}return a.join(\"\")}},{key:\"processChunkJson\",value:function processChunkJson(e,r,s){r=typeof r==\"undefined\"?{}:r;var i=r.use_classes=typeof r.use_classes!=\"undefined\"&&r.use_classes;var t=r.key=i?\"class\":\"color\";var o={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:r.clearLine,decoration:null,was_processed:false,isEmpty:function isEmpty(){return!o.content}};var a=e.match(/^([!\\x3c-\\x3f]*)([\\d;]*)([\\x20-\\x2c]*[\\x40-\\x7e])([\\s\\S]*)/m);if(!a)return o;var l=o.content=a[4];var c=a[2].split(\";\");if(a[1]!==\"\"||a[3]!==\"m\"){return o}if(!s){return o}var u=this;u.decoration=null;while(c.length>0){var f=c.shift();var h=parseInt(f);if(isNaN(h)||h===0){u.fg=u.bg=u.decoration=null}else if(h===1){u.decoration=\"bold\"}else if(h===2){u.decoration=\"dim\"}else if(h==3){u.decoration=\"italic\"}else if(h==4){u.decoration=\"underline\"}else if(h==5){u.decoration=\"blink\"}else if(h===7){u.decoration=\"reverse\"}else if(h===8){u.decoration=\"hidden\"}else if(h===9){u.decoration=\"strikethrough\"}else if(h==39){u.fg=null}else if(h==49){u.bg=null}else if(h>=30&&h<38){u.fg=n[0][h%10][t]}else if(h>=90&&h<98){u.fg=n[1][h%10][t]}else if(h>=40&&h<48){u.bg=n[0][h%10][t]}else if(h>=100&&h<108){u.bg=n[1][h%10][t]}else if(h===38||h===48){var p=h===38;if(c.length>=1){var g=c.shift();if(g===\"5\"&&c.length>=1){var v=parseInt(c.shift());if(v>=0&&v<=255){if(!i){if(!this.PALETTE_COLORS){u.setupPalette()}if(p){u.fg=this.PALETTE_COLORS[v]}else{u.bg=this.PALETTE_COLORS[v]}}else{var d=v>=16?\"ansi-palette-\"+v:n[v>7?1:0][v%8][\"class\"];if(p){u.fg=d}else{u.bg=d}}}}else if(g===\"2\"&&c.length>=3){var _=parseInt(c.shift());var b=parseInt(c.shift());var y=parseInt(c.shift());if(_>=0&&_<=255&&b>=0&&b<=255&&y>=0&&y<=255){var k=_+\", \"+b+\", \"+y;if(!i){if(p){u.fg=k}else{u.bg=k}}else{if(p){u.fg=\"ansi-truecolor\";u.fg_truecolor=k}else{u.bg=\"ansi-truecolor\";u.bg_truecolor=k}}}}}}}if(u.fg===null&&u.bg===null&&u.decoration===null){return o}else{var T=[];var m=[];var w={};o.fg=u.fg;o.bg=u.bg;o.fg_truecolor=u.fg_truecolor;o.bg_truecolor=u.bg_truecolor;o.decoration=u.decoration;o.was_processed=true;return o}}},{key:\"processChunk\",value:function processChunk(e,r,n){var s=this;var i=this;r=r||{};var t=this.processChunkJson(e,r,n);if(r.json){return t}if(t.isEmpty()){return\"\"}if(!t.was_processed){return t.content}var o=r.use_classes;var a=[];var l=[];var c={};var u=function render_data(e){var r=[];var n=void 0;for(n in e){if(e.hasOwnProperty(n)){r.push(\"data-\"+n+'=\"'+s.escapeForHtml(e[n])+'\"')}}return r.length>0?\" \"+r.join(\" \"):\"\"};if(t.fg){if(o){l.push(t.fg+\"-fg\");if(t.fg_truecolor!==null){c[\"ansi-truecolor-fg\"]=t.fg_truecolor;t.fg_truecolor=null}}else{a.push(\"color:rgb(\"+t.fg+\")\")}}if(t.bg){if(o){l.push(t.bg+\"-bg\");if(t.bg_truecolor!==null){c[\"ansi-truecolor-bg\"]=t.bg_truecolor;t.bg_truecolor=null}}else{a.push(\"background-color:rgb(\"+t.bg+\")\")}}if(t.decoration){if(o){l.push(\"ansi-\"+t.decoration)}else if(t.decoration===\"bold\"){a.push(\"font-weight:bold\")}else if(t.decoration===\"dim\"){a.push(\"opacity:0.5\")}else if(t.decoration===\"italic\"){a.push(\"font-style:italic\")}else if(t.decoration===\"reverse\"){a.push(\"filter:invert(100%)\")}else if(t.decoration===\"hidden\"){a.push(\"visibility:hidden\")}else if(t.decoration===\"strikethrough\"){a.push(\"text-decoration:line-through\")}else{a.push(\"text-decoration:\"+t.decoration)}}if(o){return'<span class=\"'+l.join(\" \")+'\"'+u(c)+\">\"+t.content+\"</span>\"}else{return'<span style=\"'+a.join(\";\")+'\"'+u(c)+\">\"+t.content+\"</span>\"}}}]);return Anser}();e.exports=s}};var r={};function __nccwpck_require__(n){var s=r[n];if(s!==undefined){return s.exports}var i=r[n]={exports:{}};var t=true;try{e[n](i,i.exports,__nccwpck_require__);t=false}finally{if(t)delete r[n]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n=__nccwpck_require__(211);module.exports=n})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLGFBQWEsT0FBTyxRQUFRLGlCQUFpQiwrQkFBK0IsWUFBWSxXQUFXLEtBQUssV0FBVyxpQ0FBaUMsb0JBQW9CLCtCQUErQixrQ0FBa0MsdUJBQXVCLHFDQUFxQywyQkFBMkIsVUFBVSxHQUFHLDhCQUE4QixzQkFBc0IsMERBQTBELFNBQVMsbUNBQW1DLEVBQUUsbUNBQW1DLEVBQUUscUNBQXFDLEVBQUUsd0NBQXdDLEVBQUUsb0NBQW9DLEVBQUUseUNBQXlDLEVBQUUsc0NBQXNDLEVBQUUsdUNBQXVDLElBQUksNkNBQTZDLEVBQUUsNENBQTRDLEVBQUUsNENBQTRDLEVBQUUsZ0RBQWdELEVBQUUsNkNBQTZDLEVBQUUsaURBQWlELEVBQUUsOENBQThDLEVBQUUsZ0RBQWdELEdBQUcsaUJBQWlCLGVBQWUsb0RBQW9ELG9DQUFvQyxFQUFFLHdDQUF3Qyw4QkFBOEIsRUFBRSxnREFBZ0QsbUNBQW1DLEVBQUUsZ0RBQWdELG1DQUFtQyxFQUFFLDhDQUE4QyxpQ0FBaUMsR0FBRyxpQkFBaUIsNEJBQTRCLHlEQUF5RCxjQUFjLFVBQVUsaURBQWlELHVCQUF1QixZQUFZLElBQUksS0FBSyxZQUFZLElBQUksS0FBSyx5Q0FBeUMsNkJBQTZCLDZCQUE2QixpQ0FBaUMsK0JBQStCLFlBQVksSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLHFDQUFxQyxRQUFRLFlBQVksS0FBSyxXQUFXLHFDQUFxQyxFQUFFLG9EQUFvRCx3Q0FBd0Msb0JBQW9CLGNBQWMsY0FBYyxLQUFLLElBQUksRUFBRSx3Q0FBd0Msc0RBQXNELGtDQUFrQyxJQUFJLEVBQUUsZ0RBQWdELCtCQUErQixFQUFFLGdEQUFnRCxRQUFRLFlBQVksa0JBQWtCLCtCQUErQixFQUFFLDhDQUE4Qyx3QkFBd0IsU0FBUyxFQUFFLDRDQUE0QyxXQUFXLFdBQVcsd0JBQXdCLGdCQUFnQiw0QkFBNEIsS0FBSyx5QkFBeUIseUJBQXlCLDZCQUE2QixHQUFHLGNBQWMsNkJBQTZCLFlBQVksd0JBQXdCLGFBQWEsbUJBQW1CLHdCQUF3QixtQkFBbUIsR0FBRyxTQUFTLEtBQUssYUFBYSxtQkFBbUIsRUFBRSw4REFBOEQsMEJBQTBCLEdBQUcscUVBQXFFLDhCQUE4QixPQUFPLG1KQUFtSixtQkFBbUIsb0NBQW9DLHlDQUF5QyxlQUFlLHFCQUFxQixtQkFBbUIsR0FBRywwQkFBMEIsU0FBUyxPQUFPLFNBQVMsV0FBVyxrQkFBa0Isa0JBQWtCLGdCQUFnQixrQkFBa0Isb0JBQW9CLDRCQUE0QixlQUFlLG9CQUFvQixlQUFlLG1CQUFtQixjQUFjLHNCQUFzQixjQUFjLHlCQUF5QixjQUFjLHFCQUFxQixlQUFlLHVCQUF1QixlQUFlLHNCQUFzQixlQUFlLDZCQUE2QixlQUFlLFVBQVUsZUFBZSxVQUFVLHFCQUFxQixtQkFBbUIscUJBQXFCLG1CQUFtQixxQkFBcUIsbUJBQW1CLHVCQUF1QixtQkFBbUIsd0JBQXdCLGFBQWEsZ0JBQWdCLGdCQUFnQix5QkFBeUIsMEJBQTBCLGlCQUFpQixPQUFPLHlCQUF5QixpQkFBaUIsTUFBTSw0QkFBNEIsS0FBSyw2QkFBNkIsS0FBSyx1REFBdUQsTUFBTSxPQUFPLEtBQUssVUFBVSw4QkFBOEIsMEJBQTBCLDBCQUEwQiwwQkFBMEIsNkNBQTZDLHNCQUFzQixPQUFPLE1BQU0sT0FBTyxLQUFLLFFBQVEsS0FBSyxNQUFNLHNCQUFzQixpQkFBaUIsS0FBSyxzQkFBc0IsdUJBQXVCLGtEQUFrRCxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsVUFBVSxVQUFVLDhCQUE4Qiw4QkFBOEIsMEJBQTBCLHFCQUFxQixXQUFXLEVBQUUsc0RBQXNELFdBQVcsV0FBVyxRQUFRLG1DQUFtQyxXQUFXLFNBQVMsZ0JBQWdCLFNBQVMscUJBQXFCLGlCQUFpQixvQkFBb0IsU0FBUyxTQUFTLFNBQVMsOEJBQThCLFNBQVMsYUFBYSxZQUFZLHdCQUF3QixrREFBa0Qsc0NBQXNDLFNBQVMsTUFBTSxtQkFBbUIsMEJBQTBCLHNDQUFzQyxxQkFBcUIsS0FBSywrQkFBK0IsU0FBUyxNQUFNLG1CQUFtQiwwQkFBMEIsc0NBQXNDLHFCQUFxQixLQUFLLDBDQUEwQyxpQkFBaUIsTUFBTSw2QkFBNkIsK0JBQStCLDJCQUEyQiw4QkFBOEIsc0JBQXNCLGlDQUFpQyw0QkFBNEIsa0NBQWtDLDhCQUE4QixpQ0FBaUMsNEJBQTRCLHdDQUF3Qyx1Q0FBdUMsS0FBSyx5Q0FBeUMsTUFBTSxtRUFBbUUsS0FBSywrQkFBK0Isc0NBQXNDLEdBQUcsYUFBYSxHQUFHLGNBQWMsU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzPzQyZGQiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezIxMTplPT57dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKGUscil7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBzPXJbbl07cy5lbnVtZXJhYmxlPXMuZW51bWVyYWJsZXx8ZmFsc2U7cy5jb25maWd1cmFibGU9dHJ1ZTtpZihcInZhbHVlXCJpbiBzKXMud3JpdGFibGU9dHJ1ZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxzLmtleSxzKX19cmV0dXJuIGZ1bmN0aW9uKGUscixuKXtpZihyKWRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUscik7aWYobilkZWZpbmVQcm9wZXJ0aWVzKGUsbik7cmV0dXJuIGV9fSgpO2Z1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhlLHIpe2lmKCEoZSBpbnN0YW5jZW9mIHIpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfX12YXIgbj1bW3tjb2xvcjpcIjAsIDAsIDBcIixjbGFzczpcImFuc2ktYmxhY2tcIn0se2NvbG9yOlwiMTg3LCAwLCAwXCIsY2xhc3M6XCJhbnNpLXJlZFwifSx7Y29sb3I6XCIwLCAxODcsIDBcIixjbGFzczpcImFuc2ktZ3JlZW5cIn0se2NvbG9yOlwiMTg3LCAxODcsIDBcIixjbGFzczpcImFuc2kteWVsbG93XCJ9LHtjb2xvcjpcIjAsIDAsIDE4N1wiLGNsYXNzOlwiYW5zaS1ibHVlXCJ9LHtjb2xvcjpcIjE4NywgMCwgMTg3XCIsY2xhc3M6XCJhbnNpLW1hZ2VudGFcIn0se2NvbG9yOlwiMCwgMTg3LCAxODdcIixjbGFzczpcImFuc2ktY3lhblwifSx7Y29sb3I6XCIyNTUsMjU1LDI1NVwiLGNsYXNzOlwiYW5zaS13aGl0ZVwifV0sW3tjb2xvcjpcIjg1LCA4NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LWJsYWNrXCJ9LHtjb2xvcjpcIjI1NSwgODUsIDg1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1yZWRcIn0se2NvbG9yOlwiMCwgMjU1LCAwXCIsY2xhc3M6XCJhbnNpLWJyaWdodC1ncmVlblwifSx7Y29sb3I6XCIyNTUsIDI1NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXllbGxvd1wifSx7Y29sb3I6XCI4NSwgODUsIDI1NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtYmx1ZVwifSx7Y29sb3I6XCIyNTUsIDg1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LW1hZ2VudGFcIn0se2NvbG9yOlwiODUsIDI1NSwgMjU1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1jeWFuXCJ9LHtjb2xvcjpcIjI1NSwgMjU1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXdoaXRlXCJ9XV07dmFyIHM9ZnVuY3Rpb24oKXtyKEFuc2VyLG51bGwsW3trZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4obmV3IEFuc2VyKS5lc2NhcGVGb3JIdG1sKGUpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybihuZXcgQW5zZXIpLmxpbmtpZnkoZSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9IdG1sKGUscil9fSx7a2V5OlwiYW5zaVRvSnNvblwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0pzb24oZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9Kc29uKGUscil9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuKG5ldyBBbnNlcikuYW5zaVRvVGV4dChlKX19XSk7ZnVuY3Rpb24gQW5zZXIoKXtfY2xhc3NDYWxsQ2hlY2sodGhpcyxBbnNlcik7dGhpcy5mZz10aGlzLmJnPXRoaXMuZmdfdHJ1ZWNvbG9yPXRoaXMuYmdfdHJ1ZWNvbG9yPW51bGw7dGhpcy5icmlnaHQ9MH1yKEFuc2VyLFt7a2V5Olwic2V0dXBQYWxldHRlXCIsdmFsdWU6ZnVuY3Rpb24gc2V0dXBQYWxldHRlKCl7dGhpcy5QQUxFVFRFX0NPTE9SUz1bXTtmb3IodmFyIGU9MDtlPDI7KytlKXtmb3IodmFyIHI9MDtyPDg7KytyKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2gobltlXVtyXS5jb2xvcil9fXZhciBzPVswLDk1LDEzNSwxNzUsMjE1LDI1NV07dmFyIGk9ZnVuY3Rpb24gZm9ybWF0KGUscixuKXtyZXR1cm4gc1tlXStcIiwgXCIrc1tyXStcIiwgXCIrc1tuXX07dmFyIHQ9dm9pZCAwLG89dm9pZCAwLGE9dm9pZCAwO2Zvcih2YXIgbD0wO2w8NjsrK2wpe2Zvcih2YXIgYz0wO2M8NjsrK2Mpe2Zvcih2YXIgdT0wO3U8NjsrK3Upe3RoaXMuUEFMRVRURV9DT0xPUlMucHVzaChpKGwsYyx1KSl9fX12YXIgZj04O2Zvcih2YXIgaD0wO2g8MjQ7KytoLGYrPTEwKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2goaShmLGYsZikpfX19LHtrZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4gZS5yZXBsYWNlKC9bJjw+XS9nbSwoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PVwiJlwiP1wiJmFtcDtcIjplPT1cIjxcIj9cIiZsdDtcIjplPT1cIj5cIj9cIiZndDtcIjpcIlwifSkpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybiBlLnJlcGxhY2UoLyhodHRwcz86XFwvXFwvW15cXHNdKykvZ20sKGZ1bmN0aW9uKGUpe3JldHVybic8YSBocmVmPVwiJytlKydcIj4nK2UrXCI8L2E+XCJ9KSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4gdGhpcy5wcm9jZXNzKGUscix0cnVlKX19LHtrZXk6XCJhbnNpVG9Kc29uXCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvSnNvbihlLHIpe3I9cnx8e307ci5qc29uPXRydWU7ci5jbGVhckxpbmU9ZmFsc2U7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHIsdHJ1ZSl9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHt9LGZhbHNlKX19LHtrZXk6XCJwcm9jZXNzXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2VzcyhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3ZhciB0PWUuc3BsaXQoL1xcMDMzXFxbLyk7dmFyIG89dC5zaGlmdCgpO2lmKHI9PT11bmRlZmluZWR8fHI9PT1udWxsKXtyPXt9fXIuY2xlYXJMaW5lPS9cXHIvLnRlc3QoZSk7dmFyIGE9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBzLnByb2Nlc3NDaHVuayhlLHIsbil9KSk7aWYociYmci5qc29uKXt2YXIgbD1pLnByb2Nlc3NDaHVua0pzb24oXCJcIik7bC5jb250ZW50PW87bC5jbGVhckxpbmU9ci5jbGVhckxpbmU7YS51bnNoaWZ0KGwpO2lmKHIucmVtb3ZlX2VtcHR5KXthPWEuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4hZS5pc0VtcHR5KCl9KSl9cmV0dXJuIGF9ZWxzZXthLnVuc2hpZnQobyl9cmV0dXJuIGEuam9pbihcIlwiKX19LHtrZXk6XCJwcm9jZXNzQ2h1bmtKc29uXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2Vzc0NodW5rSnNvbihlLHIscyl7cj10eXBlb2Ygcj09XCJ1bmRlZmluZWRcIj97fTpyO3ZhciBpPXIudXNlX2NsYXNzZXM9dHlwZW9mIHIudXNlX2NsYXNzZXMhPVwidW5kZWZpbmVkXCImJnIudXNlX2NsYXNzZXM7dmFyIHQ9ci5rZXk9aT9cImNsYXNzXCI6XCJjb2xvclwiO3ZhciBvPXtjb250ZW50OmUsZmc6bnVsbCxiZzpudWxsLGZnX3RydWVjb2xvcjpudWxsLGJnX3RydWVjb2xvcjpudWxsLGNsZWFyTGluZTpyLmNsZWFyTGluZSxkZWNvcmF0aW9uOm51bGwsd2FzX3Byb2Nlc3NlZDpmYWxzZSxpc0VtcHR5OmZ1bmN0aW9uIGlzRW1wdHkoKXtyZXR1cm4hby5jb250ZW50fX07dmFyIGE9ZS5tYXRjaCgvXihbIVxceDNjLVxceDNmXSopKFtcXGQ7XSopKFtcXHgyMC1cXHgyY10qW1xceDQwLVxceDdlXSkoW1xcc1xcU10qKS9tKTtpZighYSlyZXR1cm4gbzt2YXIgbD1vLmNvbnRlbnQ9YVs0XTt2YXIgYz1hWzJdLnNwbGl0KFwiO1wiKTtpZihhWzFdIT09XCJcInx8YVszXSE9PVwibVwiKXtyZXR1cm4gb31pZighcyl7cmV0dXJuIG99dmFyIHU9dGhpczt1LmRlY29yYXRpb249bnVsbDt3aGlsZShjLmxlbmd0aD4wKXt2YXIgZj1jLnNoaWZ0KCk7dmFyIGg9cGFyc2VJbnQoZik7aWYoaXNOYU4oaCl8fGg9PT0wKXt1LmZnPXUuYmc9dS5kZWNvcmF0aW9uPW51bGx9ZWxzZSBpZihoPT09MSl7dS5kZWNvcmF0aW9uPVwiYm9sZFwifWVsc2UgaWYoaD09PTIpe3UuZGVjb3JhdGlvbj1cImRpbVwifWVsc2UgaWYoaD09Myl7dS5kZWNvcmF0aW9uPVwiaXRhbGljXCJ9ZWxzZSBpZihoPT00KXt1LmRlY29yYXRpb249XCJ1bmRlcmxpbmVcIn1lbHNlIGlmKGg9PTUpe3UuZGVjb3JhdGlvbj1cImJsaW5rXCJ9ZWxzZSBpZihoPT09Nyl7dS5kZWNvcmF0aW9uPVwicmV2ZXJzZVwifWVsc2UgaWYoaD09PTgpe3UuZGVjb3JhdGlvbj1cImhpZGRlblwifWVsc2UgaWYoaD09PTkpe3UuZGVjb3JhdGlvbj1cInN0cmlrZXRocm91Z2hcIn1lbHNlIGlmKGg9PTM5KXt1LmZnPW51bGx9ZWxzZSBpZihoPT00OSl7dS5iZz1udWxsfWVsc2UgaWYoaD49MzAmJmg8Mzgpe3UuZmc9blswXVtoJTEwXVt0XX1lbHNlIGlmKGg+PTkwJiZoPDk4KXt1LmZnPW5bMV1baCUxMF1bdF19ZWxzZSBpZihoPj00MCYmaDw0OCl7dS5iZz1uWzBdW2glMTBdW3RdfWVsc2UgaWYoaD49MTAwJiZoPDEwOCl7dS5iZz1uWzFdW2glMTBdW3RdfWVsc2UgaWYoaD09PTM4fHxoPT09NDgpe3ZhciBwPWg9PT0zODtpZihjLmxlbmd0aD49MSl7dmFyIGc9Yy5zaGlmdCgpO2lmKGc9PT1cIjVcIiYmYy5sZW5ndGg+PTEpe3ZhciB2PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYodj49MCYmdjw9MjU1KXtpZighaSl7aWYoIXRoaXMuUEFMRVRURV9DT0xPUlMpe3Uuc2V0dXBQYWxldHRlKCl9aWYocCl7dS5mZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfWVsc2V7dS5iZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfX1lbHNle3ZhciBkPXY+PTE2P1wiYW5zaS1wYWxldHRlLVwiK3Y6blt2Pjc/MTowXVt2JThdW1wiY2xhc3NcIl07aWYocCl7dS5mZz1kfWVsc2V7dS5iZz1kfX19fWVsc2UgaWYoZz09PVwiMlwiJiZjLmxlbmd0aD49Myl7dmFyIF89cGFyc2VJbnQoYy5zaGlmdCgpKTt2YXIgYj1wYXJzZUludChjLnNoaWZ0KCkpO3ZhciB5PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYoXz49MCYmXzw9MjU1JiZiPj0wJiZiPD0yNTUmJnk+PTAmJnk8PTI1NSl7dmFyIGs9XytcIiwgXCIrYitcIiwgXCIreTtpZighaSl7aWYocCl7dS5mZz1rfWVsc2V7dS5iZz1rfX1lbHNle2lmKHApe3UuZmc9XCJhbnNpLXRydWVjb2xvclwiO3UuZmdfdHJ1ZWNvbG9yPWt9ZWxzZXt1LmJnPVwiYW5zaS10cnVlY29sb3JcIjt1LmJnX3RydWVjb2xvcj1rfX19fX19fWlmKHUuZmc9PT1udWxsJiZ1LmJnPT09bnVsbCYmdS5kZWNvcmF0aW9uPT09bnVsbCl7cmV0dXJuIG99ZWxzZXt2YXIgVD1bXTt2YXIgbT1bXTt2YXIgdz17fTtvLmZnPXUuZmc7by5iZz11LmJnO28uZmdfdHJ1ZWNvbG9yPXUuZmdfdHJ1ZWNvbG9yO28uYmdfdHJ1ZWNvbG9yPXUuYmdfdHJ1ZWNvbG9yO28uZGVjb3JhdGlvbj11LmRlY29yYXRpb247by53YXNfcHJvY2Vzc2VkPXRydWU7cmV0dXJuIG99fX0se2tleTpcInByb2Nlc3NDaHVua1wiLHZhbHVlOmZ1bmN0aW9uIHByb2Nlc3NDaHVuayhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3I9cnx8e307dmFyIHQ9dGhpcy5wcm9jZXNzQ2h1bmtKc29uKGUscixuKTtpZihyLmpzb24pe3JldHVybiB0fWlmKHQuaXNFbXB0eSgpKXtyZXR1cm5cIlwifWlmKCF0Lndhc19wcm9jZXNzZWQpe3JldHVybiB0LmNvbnRlbnR9dmFyIG89ci51c2VfY2xhc3Nlczt2YXIgYT1bXTt2YXIgbD1bXTt2YXIgYz17fTt2YXIgdT1mdW5jdGlvbiByZW5kZXJfZGF0YShlKXt2YXIgcj1bXTt2YXIgbj12b2lkIDA7Zm9yKG4gaW4gZSl7aWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7ci5wdXNoKFwiZGF0YS1cIituKyc9XCInK3MuZXNjYXBlRm9ySHRtbChlW25dKSsnXCInKX19cmV0dXJuIHIubGVuZ3RoPjA/XCIgXCIrci5qb2luKFwiIFwiKTpcIlwifTtpZih0LmZnKXtpZihvKXtsLnB1c2godC5mZytcIi1mZ1wiKTtpZih0LmZnX3RydWVjb2xvciE9PW51bGwpe2NbXCJhbnNpLXRydWVjb2xvci1mZ1wiXT10LmZnX3RydWVjb2xvcjt0LmZnX3RydWVjb2xvcj1udWxsfX1lbHNle2EucHVzaChcImNvbG9yOnJnYihcIit0LmZnK1wiKVwiKX19aWYodC5iZyl7aWYobyl7bC5wdXNoKHQuYmcrXCItYmdcIik7aWYodC5iZ190cnVlY29sb3IhPT1udWxsKXtjW1wiYW5zaS10cnVlY29sb3ItYmdcIl09dC5iZ190cnVlY29sb3I7dC5iZ190cnVlY29sb3I9bnVsbH19ZWxzZXthLnB1c2goXCJiYWNrZ3JvdW5kLWNvbG9yOnJnYihcIit0LmJnK1wiKVwiKX19aWYodC5kZWNvcmF0aW9uKXtpZihvKXtsLnB1c2goXCJhbnNpLVwiK3QuZGVjb3JhdGlvbil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cImJvbGRcIil7YS5wdXNoKFwiZm9udC13ZWlnaHQ6Ym9sZFwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiZGltXCIpe2EucHVzaChcIm9wYWNpdHk6MC41XCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJpdGFsaWNcIil7YS5wdXNoKFwiZm9udC1zdHlsZTppdGFsaWNcIil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cInJldmVyc2VcIil7YS5wdXNoKFwiZmlsdGVyOmludmVydCgxMDAlKVwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiaGlkZGVuXCIpe2EucHVzaChcInZpc2liaWxpdHk6aGlkZGVuXCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJzdHJpa2V0aHJvdWdoXCIpe2EucHVzaChcInRleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2hcIil9ZWxzZXthLnB1c2goXCJ0ZXh0LWRlY29yYXRpb246XCIrdC5kZWNvcmF0aW9uKX19aWYobyl7cmV0dXJuJzxzcGFuIGNsYXNzPVwiJytsLmpvaW4oXCIgXCIpKydcIicrdShjKStcIj5cIit0LmNvbnRlbnQrXCI8L3NwYW4+XCJ9ZWxzZXtyZXR1cm4nPHNwYW4gc3R5bGU9XCInK2Euam9pbihcIjtcIikrJ1wiJyt1KGMpK1wiPlwiK3QuY29udGVudCtcIjwvc3Bhbj5cIn19fV0pO3JldHVybiBBbnNlcn0oKTtlLmV4cG9ydHM9c319O3ZhciByPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18obil7dmFyIHM9cltuXTtpZihzIT09dW5kZWZpbmVkKXtyZXR1cm4gcy5leHBvcnRzfXZhciBpPXJbbl09e2V4cG9ydHM6e319O3ZhciB0PXRydWU7dHJ5e2Vbbl0oaSxpLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7dD1mYWxzZX1maW5hbGx5e2lmKHQpZGVsZXRlIHJbbl19cmV0dXJuIGkuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIG49X19uY2N3cGNrX3JlcXVpcmVfXygyMTEpO21vZHVsZS5leHBvcnRzPW59KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/anser/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/css.escape/css.escape.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/css.escape/css.escape.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{var e={553:function(e){(function(r,t){if(true){e.exports=t(r)}else{}})(typeof __webpack_require__.g!=\"undefined\"?__webpack_require__.g:this,(function(e){if(e.CSS&&e.CSS.escape){return e.CSS.escape}var cssEscape=function(e){if(arguments.length==0){throw new TypeError(\"`CSS.escape` requires an argument.\")}var r=String(e);var t=r.length;var n=-1;var a;var i=\"\";var u=r.charCodeAt(0);while(++n<t){a=r.charCodeAt(n);if(a==0){i+=\"�\";continue}if(a>=1&&a<=31||a==127||n==0&&a>=48&&a<=57||n==1&&a>=48&&a<=57&&u==45){i+=\"\\\\\"+a.toString(16)+\" \";continue}if(n==0&&t==1&&a==45){i+=\"\\\\\"+r.charAt(n);continue}if(a>=128||a==45||a==95||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122){i+=r.charAt(n);continue}i+=\"\\\\\"+r.charAt(n)}return i};if(!e.CSS){e.CSS={}}e.CSS.escape=cssEscape;return cssEscape}))}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var a=r[t]={exports:{}};var i=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);i=false}finally{if(i)delete r[t]}return a.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(553);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Nzcy5lc2NhcGUvY3NzLmVzY2FwZS5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxPQUFPLGdCQUFnQixlQUFlLEdBQUcsSUFBSSxFQUFFLGVBQWUsSUFBSSxFQUFFLENBQUMsU0FBUyxxQkFBTSxjQUFjLHFCQUFNLG1CQUFtQix3QkFBd0Isb0JBQW9CLDBCQUEwQix3QkFBd0IsMERBQTBELGdCQUFnQixlQUFlLFNBQVMsTUFBTSxTQUFTLHNCQUFzQixhQUFhLGtCQUFrQixTQUFTLE9BQU8sU0FBUyx1RUFBdUUsMkJBQTJCLFNBQVMsc0JBQXNCLG9CQUFvQixTQUFTLG9FQUFvRSxlQUFlLFNBQVMsb0JBQW9CLFVBQVUsV0FBVyxTQUFTLHVCQUF1QixpQkFBaUIsS0FBSyxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxxREFBcUQsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsbUVBQW1FLFNBQVMsS0FBSywrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvY3NzLmVzY2FwZS9jc3MuZXNjYXBlLmpzPzQ3MzMiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57dmFyIGU9ezU1MzpmdW5jdGlvbihlKXsoZnVuY3Rpb24ocix0KXtpZih0cnVlKXtlLmV4cG9ydHM9dChyKX1lbHNle319KSh0eXBlb2YgZ2xvYmFsIT1cInVuZGVmaW5lZFwiP2dsb2JhbDp0aGlzLChmdW5jdGlvbihlKXtpZihlLkNTUyYmZS5DU1MuZXNjYXBlKXtyZXR1cm4gZS5DU1MuZXNjYXBlfXZhciBjc3NFc2NhcGU9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aD09MCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcImBDU1MuZXNjYXBlYCByZXF1aXJlcyBhbiBhcmd1bWVudC5cIil9dmFyIHI9U3RyaW5nKGUpO3ZhciB0PXIubGVuZ3RoO3ZhciBuPS0xO3ZhciBhO3ZhciBpPVwiXCI7dmFyIHU9ci5jaGFyQ29kZUF0KDApO3doaWxlKCsrbjx0KXthPXIuY2hhckNvZGVBdChuKTtpZihhPT0wKXtpKz1cIu+/vVwiO2NvbnRpbnVlfWlmKGE+PTEmJmE8PTMxfHxhPT0xMjd8fG49PTAmJmE+PTQ4JiZhPD01N3x8bj09MSYmYT49NDgmJmE8PTU3JiZ1PT00NSl7aSs9XCJcXFxcXCIrYS50b1N0cmluZygxNikrXCIgXCI7Y29udGludWV9aWYobj09MCYmdD09MSYmYT09NDUpe2krPVwiXFxcXFwiK3IuY2hhckF0KG4pO2NvbnRpbnVlfWlmKGE+PTEyOHx8YT09NDV8fGE9PTk1fHxhPj00OCYmYTw9NTd8fGE+PTY1JiZhPD05MHx8YT49OTcmJmE8PTEyMil7aSs9ci5jaGFyQXQobik7Y29udGludWV9aSs9XCJcXFxcXCIrci5jaGFyQXQobil9cmV0dXJuIGl9O2lmKCFlLkNTUyl7ZS5DU1M9e319ZS5DU1MuZXNjYXBlPWNzc0VzY2FwZTtyZXR1cm4gY3NzRXNjYXBlfSkpfX07dmFyIHI9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh0KXt2YXIgbj1yW3RdO2lmKG4hPT11bmRlZmluZWQpe3JldHVybiBuLmV4cG9ydHN9dmFyIGE9clt0XT17ZXhwb3J0czp7fX07dmFyIGk9dHJ1ZTt0cnl7ZVt0XS5jYWxsKGEuZXhwb3J0cyxhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtpPWZhbHNlfWZpbmFsbHl7aWYoaSlkZWxldGUgclt0XX1yZXR1cm4gYS5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdD1fX25jY3dwY2tfcmVxdWlyZV9fKDU1Myk7bW9kdWxlLmV4cG9ydHM9dH0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/css.escape/css.escape.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/platform/platform.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/compiled/platform/platform.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{var e={541:function(e,i,t){e=t.nmd(e);\n/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */(function(){\"use strict\";var t={function:true,object:true};var r=t[typeof window]&&window||this;var a=r;var n=t[typeof i]&&i;var o=t[\"object\"]&&e&&!e.nodeType&&e;var l=n&&o&&typeof __webpack_require__.g==\"object\"&&__webpack_require__.g;if(l&&(l.global===l||l.window===l||l.self===l)){r=l}var s=Math.pow(2,53)-1;var f=/\\bOpera/;var b=this;var c=Object.prototype;var p=c.hasOwnProperty;var u=c.toString;function capitalize(e){e=String(e);return e.charAt(0).toUpperCase()+e.slice(1)}function cleanupOS(e,i,t){var r={\"10.0\":\"10\",6.4:\"10 Technical Preview\",6.3:\"8.1\",6.2:\"8\",6.1:\"Server 2008 R2 / 7\",\"6.0\":\"Server 2008 / Vista\",5.2:\"Server 2003 / XP 64-bit\",5.1:\"XP\",5.01:\"2000 SP1\",\"5.0\":\"2000\",\"4.0\":\"NT\",\"4.90\":\"ME\"};if(i&&t&&/^Win/i.test(e)&&!/^Windows Phone /i.test(e)&&(r=r[/[\\d.]+$/.exec(e)])){e=\"Windows \"+r}e=String(e);if(i&&t){e=e.replace(RegExp(i,\"i\"),t)}e=format(e.replace(/ ce$/i,\" CE\").replace(/\\bhpw/i,\"web\").replace(/\\bMacintosh\\b/,\"Mac OS\").replace(/_PowerPC\\b/i,\" OS\").replace(/\\b(OS X) [^ \\d]+/i,\"$1\").replace(/\\bMac (OS X)\\b/,\"$1\").replace(/\\/(\\d)/,\" $1\").replace(/_/g,\".\").replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i,\"\").replace(/\\bx86\\.64\\b/gi,\"x86_64\").replace(/\\b(Windows Phone) OS\\b/,\"$1\").replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/,\"$1\").split(\" on \")[0]);return e}function each(e,i){var t=-1,r=e?e.length:0;if(typeof r==\"number\"&&r>-1&&r<=s){while(++t<r){i(e[t],t,e)}}else{forOwn(e,i)}}function format(e){e=trim(e);return/^(?:webOS|i(?:OS|P))/.test(e)?e:capitalize(e)}function forOwn(e,i){for(var t in e){if(p.call(e,t)){i(e[t],t,e)}}}function getClassOf(e){return e==null?capitalize(e):u.call(e).slice(8,-1)}function isHostType(e,i){var t=e!=null?typeof e[i]:\"number\";return!/^(?:boolean|number|string|undefined)$/.test(t)&&(t==\"object\"?!!e[i]:true)}function qualify(e){return String(e).replace(/([ -])(?!$)/g,\"$1?\")}function reduce(e,i){var t=null;each(e,(function(r,a){t=i(t,r,a,e)}));return t}function trim(e){return String(e).replace(/^ +| +$/g,\"\")}function parse(e){var i=r;var t=e&&typeof e==\"object\"&&getClassOf(e)!=\"String\";if(t){i=e;e=null}var n=i.navigator||{};var o=n.userAgent||\"\";e||(e=o);var l=t||b==a;var s=t?!!n.likeChrome:/\\bChrome\\b/.test(e)&&!/internal|\\n/i.test(u.toString());var c=\"Object\",p=t?c:\"ScriptBridgingProxyObject\",d=t?c:\"Environment\",S=t&&i.java?\"JavaPackage\":getClassOf(i.java),x=t?c:\"RuntimeObject\";var m=/\\bJava/.test(S)&&i.java;var g=m&&getClassOf(i.environment)==d;var h=m?\"a\":\"α\";var v=m?\"b\":\"β\";var O=i.document||{};var y=i.operamini||i.opera;var w=f.test(w=t&&y?y[\"[[Class]]\"]:getClassOf(y))?w:y=null;var M;var E=e;var P=[];var C=null;var k=e==o;var B=k&&y&&typeof y.version==\"function\"&&y.version();var W;var _=getLayout([{label:\"EdgeHTML\",pattern:\"Edge\"},\"Trident\",{label:\"WebKit\",pattern:\"AppleWebKit\"},\"iCab\",\"Presto\",\"NetFront\",\"Tasman\",\"KHTML\",\"Gecko\"]);var R=getName([\"Adobe AIR\",\"Arora\",\"Avant Browser\",\"Breach\",\"Camino\",\"Electron\",\"Epiphany\",\"Fennec\",\"Flock\",\"Galeon\",\"GreenBrowser\",\"iCab\",\"Iceweasel\",\"K-Meleon\",\"Konqueror\",\"Lunascape\",\"Maxthon\",{label:\"Microsoft Edge\",pattern:\"(?:Edge|Edg|EdgA|EdgiOS)\"},\"Midori\",\"Nook Browser\",\"PaleMoon\",\"PhantomJS\",\"Raven\",\"Rekonq\",\"RockMelt\",{label:\"Samsung Internet\",pattern:\"SamsungBrowser\"},\"SeaMonkey\",{label:\"Silk\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Sleipnir\",\"SlimBrowser\",{label:\"SRWare Iron\",pattern:\"Iron\"},\"Sunrise\",\"Swiftfox\",\"Vivaldi\",\"Waterfox\",\"WebPositive\",{label:\"Yandex Browser\",pattern:\"YaBrowser\"},{label:\"UC Browser\",pattern:\"UCBrowser\"},\"Opera Mini\",{label:\"Opera Mini\",pattern:\"OPiOS\"},\"Opera\",{label:\"Opera\",pattern:\"OPR\"},\"Chromium\",\"Chrome\",{label:\"Chrome\",pattern:\"(?:HeadlessChrome)\"},{label:\"Chrome Mobile\",pattern:\"(?:CriOS|CrMo)\"},{label:\"Firefox\",pattern:\"(?:Firefox|Minefield)\"},{label:\"Firefox for iOS\",pattern:\"FxiOS\"},{label:\"IE\",pattern:\"IEMobile\"},{label:\"IE\",pattern:\"MSIE\"},\"Safari\"]);var A=getProduct([{label:\"BlackBerry\",pattern:\"BB10\"},\"BlackBerry\",{label:\"Galaxy S\",pattern:\"GT-I9000\"},{label:\"Galaxy S2\",pattern:\"GT-I9100\"},{label:\"Galaxy S3\",pattern:\"GT-I9300\"},{label:\"Galaxy S4\",pattern:\"GT-I9500\"},{label:\"Galaxy S5\",pattern:\"SM-G900\"},{label:\"Galaxy S6\",pattern:\"SM-G920\"},{label:\"Galaxy S6 Edge\",pattern:\"SM-G925\"},{label:\"Galaxy S7\",pattern:\"SM-G930\"},{label:\"Galaxy S7 Edge\",pattern:\"SM-G935\"},\"Google TV\",\"Lumia\",\"iPad\",\"iPod\",\"iPhone\",\"Kindle\",{label:\"Kindle Fire\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Nexus\",\"Nook\",\"PlayBook\",\"PlayStation Vita\",\"PlayStation\",\"TouchPad\",\"Transformer\",{label:\"Wii U\",pattern:\"WiiU\"},\"Wii\",\"Xbox One\",{label:\"Xbox 360\",pattern:\"Xbox\"},\"Xoom\"]);var I=getManufacturer({Apple:{iPad:1,iPhone:1,iPod:1},Alcatel:{},Archos:{},Amazon:{Kindle:1,\"Kindle Fire\":1},Asus:{Transformer:1},\"Barnes & Noble\":{Nook:1},BlackBerry:{PlayBook:1},Google:{\"Google TV\":1,Nexus:1},HP:{TouchPad:1},HTC:{},Huawei:{},Lenovo:{},LG:{},Microsoft:{Xbox:1,\"Xbox One\":1},Motorola:{Xoom:1},Nintendo:{\"Wii U\":1,Wii:1},Nokia:{Lumia:1},Oppo:{},Samsung:{\"Galaxy S\":1,\"Galaxy S2\":1,\"Galaxy S3\":1,\"Galaxy S4\":1},Sony:{PlayStation:1,\"PlayStation Vita\":1},Xiaomi:{Mi:1,Redmi:1}});var T=getOS([\"Windows Phone\",\"KaiOS\",\"Android\",\"CentOS\",{label:\"Chrome OS\",pattern:\"CrOS\"},\"Debian\",{label:\"DragonFly BSD\",pattern:\"DragonFly\"},\"Fedora\",\"FreeBSD\",\"Gentoo\",\"Haiku\",\"Kubuntu\",\"Linux Mint\",\"OpenBSD\",\"Red Hat\",\"SuSE\",\"Ubuntu\",\"Xubuntu\",\"Cygwin\",\"Symbian OS\",\"hpwOS\",\"webOS \",\"webOS\",\"Tablet OS\",\"Tizen\",\"Linux\",\"Mac OS X\",\"Macintosh\",\"Mac\",\"Windows 98;\",\"Windows \"]);function getLayout(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getManufacturer(i){return reduce(i,(function(i,t,r){return i||(t[A]||t[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(A)]||RegExp(\"\\\\b\"+qualify(r)+\"(?:\\\\b|\\\\w*\\\\d)\",\"i\").exec(e))&&r}))}function getName(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getOS(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\"(?:/[\\\\d.]+|[ \\\\w.]*)\",\"i\").exec(e))){i=cleanupOS(i,r,t.label||t)}return i}))}function getProduct(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\" *\\\\d+[.\\\\w_]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\" *\\\\w+-[\\\\w]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\"(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)\",\"i\").exec(e))){if((i=String(t.label&&!RegExp(r,\"i\").test(t.label)?t.label:i).split(\"/\"))[1]&&!/[\\d.]+/.test(i[0])){i[0]+=\" \"+i[1]}t=t.label||t;i=format(i[0].replace(RegExp(r,\"i\"),t).replace(RegExp(\"; *(?:\"+t+\"[_-])?\",\"i\"),\" \").replace(RegExp(\"(\"+t+\")[-_.]?(\\\\w)\",\"i\"),\"$1 $2\"))}return i}))}function getVersion(i){return reduce(i,(function(i,t){return i||(RegExp(t+\"(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)\",\"i\").exec(e)||0)[1]||null}))}function toStringPlatform(){return this.description||\"\"}_&&(_=[_]);if(/\\bAndroid\\b/.test(T)&&!A&&(M=/\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(e))){A=trim(M[1]).replace(/^[a-z]{2}-[a-z]{2};\\s*/i,\"\")||null}if(I&&!A){A=getProduct([I])}else if(I&&A){A=A.replace(RegExp(\"^(\"+qualify(I)+\")[-_.\\\\s]\",\"i\"),I+\" \").replace(RegExp(\"^(\"+qualify(I)+\")[-_.]?(\\\\w)\",\"i\"),I+\" $2\")}if(M=/\\bGoogle TV\\b/.exec(A)){A=M[0]}if(/\\bSimulator\\b/i.test(e)){A=(A?A+\" \":\"\")+\"Simulator\"}if(R==\"Opera Mini\"&&/\\bOPiOS\\b/.test(e)){P.push(\"running in Turbo/Uncompressed mode\")}if(R==\"IE\"&&/\\blike iPhone OS\\b/.test(e)){M=parse(e.replace(/like iPhone OS/,\"\"));I=M.manufacturer;A=M.product}else if(/^iP/.test(A)){R||(R=\"Safari\");T=\"iOS\"+((M=/ OS ([\\d_]+)/i.exec(e))?\" \"+M[1].replace(/_/g,\".\"):\"\")}else if(R==\"Konqueror\"&&/^Linux\\b/i.test(T)){T=\"Kubuntu\"}else if(I&&I!=\"Google\"&&(/Chrome/.test(R)&&!/\\bMobile Safari\\b/i.test(e)||/\\bVita\\b/.test(A))||/\\bAndroid\\b/.test(T)&&/^Chrome/.test(R)&&/\\bVersion\\//i.test(e)){R=\"Android Browser\";T=/\\bAndroid\\b/.test(T)?T:\"Android\"}else if(R==\"Silk\"){if(!/\\bMobi/i.test(e)){T=\"Android\";P.unshift(\"desktop mode\")}if(/Accelerated *= *true/i.test(e)){P.unshift(\"accelerated\")}}else if(R==\"UC Browser\"&&/\\bUCWEB\\b/.test(e)){P.push(\"speed mode\")}else if(R==\"PaleMoon\"&&(M=/\\bFirefox\\/([\\d.]+)\\b/.exec(e))){P.push(\"identifying as Firefox \"+M[1])}else if(R==\"Firefox\"&&(M=/\\b(Mobile|Tablet|TV)\\b/i.exec(e))){T||(T=\"Firefox OS\");A||(A=M[1])}else if(!R||(M=!/\\bMinefield\\b/i.test(e)&&/\\b(?:Firefox|Safari)\\b/.exec(R))){if(R&&!A&&/[\\/,]|^[^(]+?\\)/.test(e.slice(e.indexOf(M+\"/\")+8))){R=null}if((M=A||I||T)&&(A||I||/\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(T))){R=/[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(T)?T:M)+\" Browser\"}}else if(R==\"Electron\"&&(M=(/\\bChrome\\/([\\d.]+)\\b/.exec(e)||0)[1])){P.push(\"Chromium \"+M)}if(!B){B=getVersion([\"(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)\",\"Version\",qualify(R),\"(?:Firefox|Minefield|NetFront)\"])}if(M=_==\"iCab\"&&parseFloat(B)>3&&\"WebKit\"||/\\bOpera\\b/.test(R)&&(/\\bOPR\\b/.test(e)?\"Blink\":\"Presto\")||/\\b(?:Midori|Nook|Safari)\\b/i.test(e)&&!/^(?:Trident|EdgeHTML)$/.test(_)&&\"WebKit\"||!_&&/\\bMSIE\\b/i.test(e)&&(T==\"Mac OS\"?\"Tasman\":\"Trident\")||_==\"WebKit\"&&/\\bPlayStation\\b(?! Vita\\b)/i.test(R)&&\"NetFront\"){_=[M]}if(R==\"IE\"&&(M=(/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(e)||0)[1])){R+=\" Mobile\";T=\"Windows Phone \"+(/\\+$/.test(M)?M:M+\".x\");P.unshift(\"desktop mode\")}else if(/\\bWPDesktop\\b/i.test(e)){R=\"IE Mobile\";T=\"Windows Phone 8.x\";P.unshift(\"desktop mode\");B||(B=(/\\brv:([\\d.]+)/.exec(e)||0)[1])}else if(R!=\"IE\"&&_==\"Trident\"&&(M=/\\brv:([\\d.]+)/.exec(e))){if(R){P.push(\"identifying as \"+R+(B?\" \"+B:\"\"))}R=\"IE\";B=M[1]}if(k){if(isHostType(i,\"global\")){if(m){M=m.lang.System;E=M.getProperty(\"os.arch\");T=T||M.getProperty(\"os.name\")+\" \"+M.getProperty(\"os.version\")}if(g){try{B=i.require(\"ringo/engine\").version.join(\".\");R=\"RingoJS\"}catch(e){if((M=i.system)&&M.global.system==i.system){R=\"Narwhal\";T||(T=M[0].os||null)}}if(!R){R=\"Rhino\"}}else if(typeof i.process==\"object\"&&!i.process.browser&&(M=i.process)){if(typeof M.versions==\"object\"){if(typeof M.versions.electron==\"string\"){P.push(\"Node \"+M.versions.node);R=\"Electron\";B=M.versions.electron}else if(typeof M.versions.nw==\"string\"){P.push(\"Chromium \"+B,\"Node \"+M.versions.node);R=\"NW.js\";B=M.versions.nw}}if(!R){R=\"Node.js\";E=M.arch;T=M.platform;B=/[\\d.]+/.exec(M.version);B=B?B[0]:null}}}else if(getClassOf(M=i.runtime)==p){R=\"Adobe AIR\";T=M.flash.system.Capabilities.os}else if(getClassOf(M=i.phantom)==x){R=\"PhantomJS\";B=(M=M.version||null)&&M.major+\".\"+M.minor+\".\"+M.patch}else if(typeof O.documentMode==\"number\"&&(M=/\\bTrident\\/(\\d+)/i.exec(e))){B=[B,O.documentMode];if((M=+M[1]+4)!=B[1]){P.push(\"IE \"+B[1]+\" mode\");_&&(_[1]=\"\");B[1]=M}B=R==\"IE\"?String(B[1].toFixed(1)):B[0]}else if(typeof O.documentMode==\"number\"&&/^(?:Chrome|Firefox)\\b/.test(R)){P.push(\"masking as \"+R+\" \"+B);R=\"IE\";B=\"11.0\";_=[\"Trident\"];T=\"Windows\"}T=T&&format(T)}if(B&&(M=/(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(B)||/(?:alpha|beta)(?: ?\\d)?/i.exec(e+\";\"+(k&&n.appMinorVersion))||/\\bMinefield\\b/i.test(e)&&\"a\")){C=/b/i.test(M)?\"beta\":\"alpha\";B=B.replace(RegExp(M+\"\\\\+?$\"),\"\")+(C==\"beta\"?v:h)+(/\\d+\\+?/.exec(M)||\"\")}if(R==\"Fennec\"||R==\"Firefox\"&&/\\b(?:Android|Firefox OS|KaiOS)\\b/.test(T)){R=\"Firefox Mobile\"}else if(R==\"Maxthon\"&&B){B=B.replace(/\\.[\\d.]+/,\".x\")}else if(/\\bXbox\\b/i.test(A)){if(A==\"Xbox 360\"){T=null}if(A==\"Xbox 360\"&&/\\bIEMobile\\b/.test(e)){P.unshift(\"mobile mode\")}}else if((/^(?:Chrome|IE|Opera)$/.test(R)||R&&!A&&!/Browser|Mobi/.test(R))&&(T==\"Windows CE\"||/Mobi/i.test(e))){R+=\" Mobile\"}else if(R==\"IE\"&&k){try{if(i.external===null){P.unshift(\"platform preview\")}}catch(e){P.unshift(\"embedded\")}}else if((/\\bBlackBerry\\b/.test(A)||/\\bBB10\\b/.test(e))&&(M=(RegExp(A.replace(/ +/g,\" *\")+\"/([.\\\\d]+)\",\"i\").exec(e)||0)[1]||B)){M=[M,/BB10/.test(e)];T=(M[1]?(A=null,I=\"BlackBerry\"):\"Device Software\")+\" \"+M[0];B=null}else if(this!=forOwn&&A!=\"Wii\"&&(k&&y||/Opera/.test(R)&&/\\b(?:MSIE|Firefox)\\b/i.test(e)||R==\"Firefox\"&&/\\bOS X (?:\\d+\\.){2,}/.test(T)||R==\"IE\"&&(T&&!/^Win/.test(T)&&B>5.5||/\\bWindows XP\\b/.test(T)&&B>8||B==8&&!/\\bTrident\\b/.test(e)))&&!f.test(M=parse.call(forOwn,e.replace(f,\"\")+\";\"))&&M.name){M=\"ing as \"+M.name+((M=M.version)?\" \"+M:\"\");if(f.test(R)){if(/\\bIE\\b/.test(M)&&T==\"Mac OS\"){T=null}M=\"identify\"+M}else{M=\"mask\"+M;if(w){R=format(w.replace(/([a-z])([A-Z])/g,\"$1 $2\"))}else{R=\"Opera\"}if(/\\bIE\\b/.test(M)){T=null}if(!k){B=null}}_=[\"Presto\"];P.push(M)}if(M=(/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(e)||0)[1]){M=[parseFloat(M.replace(/\\.(\\d)$/,\".0$1\")),M];if(R==\"Safari\"&&M[1].slice(-1)==\"+\"){R=\"WebKit Nightly\";C=\"alpha\";B=M[1].slice(0,-1)}else if(B==M[1]||B==(M[2]=(/\\bSafari\\/([\\d.]+\\+?)/i.exec(e)||0)[1])){B=null}M[1]=(/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(e)||0)[1];if(M[0]==537.36&&M[2]==537.36&&parseFloat(M[1])>=28&&_==\"WebKit\"){_=[\"Blink\"]}if(!k||!s&&!M[1]){_&&(_[1]=\"like Safari\");M=(M=M[0],M<400?1:M<500?2:M<526?3:M<533?4:M<534?\"4+\":M<535?5:M<537?6:M<538?7:M<601?8:M<602?9:M<604?10:M<606?11:M<608?12:\"12\")}else{_&&(_[1]=\"like Chrome\");M=M[1]||(M=M[0],M<530?1:M<532?2:M<532.05?3:M<533?4:M<534.03?5:M<534.07?6:M<534.1?7:M<534.13?8:M<534.16?9:M<534.24?10:M<534.3?11:M<535.01?12:M<535.02?\"13+\":M<535.07?15:M<535.11?16:M<535.19?17:M<536.05?18:M<536.1?19:M<537.01?20:M<537.11?\"21+\":M<537.13?23:M<537.18?24:M<537.24?25:M<537.36?26:_!=\"Blink\"?\"27\":\"28\")}_&&(_[1]+=\" \"+(M+=typeof M==\"number\"?\".x\":/[.+]/.test(M)?\"\":\"+\"));if(R==\"Safari\"&&(!B||parseInt(B)>45)){B=M}else if(R==\"Chrome\"&&/\\bHeadlessChrome/i.test(e)){P.unshift(\"headless\")}}if(R==\"Opera\"&&(M=/\\bzbov|zvav$/.exec(T))){R+=\" \";P.unshift(\"desktop mode\");if(M==\"zvav\"){R+=\"Mini\";B=null}else{R+=\"Mobile\"}T=T.replace(RegExp(\" *\"+M+\"$\"),\"\")}else if(R==\"Safari\"&&/\\bChrome\\b/.exec(_&&_[1])){P.unshift(\"desktop mode\");R=\"Chrome Mobile\";B=null;if(/\\bOS X\\b/.test(T)){I=\"Apple\";T=\"iOS 4.3+\"}else{T=null}}else if(/\\bSRWare Iron\\b/.test(R)&&!B){B=getVersion(\"Chrome\")}if(B&&B.indexOf(M=/[\\d.]+$/.exec(T))==0&&e.indexOf(\"/\"+M+\"-\")>-1){T=trim(T.replace(M,\"\"))}if(T&&T.indexOf(R)!=-1&&!RegExp(R+\" OS\").test(T)){T=T.replace(RegExp(\" *\"+qualify(R)+\" *\"),\"\")}if(_&&!/\\b(?:Avant|Nook)\\b/.test(R)&&(/Browser|Lunascape|Maxthon/.test(R)||R!=\"Safari\"&&/^iOS/.test(T)&&/\\bSafari\\b/.test(_[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(R)&&_[1])){(M=_[_.length-1])&&P.push(M)}if(P.length){P=[\"(\"+P.join(\"; \")+\")\"]}if(I&&A&&A.indexOf(I)<0){P.push(\"on \"+I)}if(A){P.push((/^on /.test(P[P.length-1])?\"\":\"on \")+A)}if(T){M=/ ([\\d.+]+)$/.exec(T);W=M&&T.charAt(T.length-M[0].length-1)==\"/\";T={architecture:32,family:M&&!W?T.replace(M[0],\"\"):T,version:M?M[1]:null,toString:function(){var e=this.version;return this.family+(e&&!W?\" \"+e:\"\")+(this.architecture==64?\" 64-bit\":\"\")}}}if((M=/\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(E))&&!/\\bi686\\b/i.test(E)){if(T){T.architecture=64;T.family=T.family.replace(RegExp(\" *\"+M),\"\")}if(R&&(/\\bWOW64\\b/i.test(e)||k&&/\\w(?:86|32)$/.test(n.cpuClass||n.platform)&&!/\\bWin64; x64\\b/i.test(e))){P.unshift(\"32-bit\")}}else if(T&&/^OS X/.test(T.family)&&R==\"Chrome\"&&parseFloat(B)>=39){T.architecture=64}e||(e=null);var F={};F.description=e;F.layout=_&&_[0];F.manufacturer=I;F.name=R;F.prerelease=C;F.product=A;F.ua=e;F.version=R&&B;F.os=T||{architecture:null,family:null,version:null,toString:function(){return\"null\"}};F.parse=parse;F.toString=toStringPlatform;if(F.version){P.unshift(B)}if(F.name){P.unshift(R)}if(T&&R&&!(T==String(T).split(\" \")[0]&&(T==R.split(\" \")[0]||A))){P.push(A?\"(\"+T+\")\":\"on \"+T)}if(P.length){F.description=P.join(\" \")}return F}var d=parse();if(n&&o){forOwn(d,(function(e,i){n[i]=e}))}else{r.platform=d}}).call(this)}};var i={};function __nccwpck_require__(t){var r=i[t];if(r!==undefined){return r.exports}var a=i[t]={id:t,loaded:false,exports:{}};var n=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);n=false}finally{if(n)delete i[t]}a.loaded=true;return a.exports}(()=>{__nccwpck_require__.nmd=e=>{e.paths=[];if(!e.children)e.children=[];return e}})();if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(541);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLE9BQU8sb0JBQW9CO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWEsT0FBTywyQkFBMkIscUNBQXFDLFFBQVEscUJBQXFCLHFDQUFxQyxtQkFBbUIscUJBQU0sWUFBWSxxQkFBTSxDQUFDLGdEQUFnRCxJQUFJLHVCQUF1QixnQkFBZ0IsV0FBVyx1QkFBdUIsdUJBQXVCLGlCQUFpQix1QkFBdUIsWUFBWSw0Q0FBNEMsMEJBQTBCLE9BQU8sME1BQTBNLGlGQUFpRixlQUFlLFlBQVksU0FBUyw2QkFBNkIsbVpBQW1aLFNBQVMsbUJBQW1CLHdCQUF3QixtQ0FBbUMsYUFBYSxhQUFhLEtBQUssYUFBYSxtQkFBbUIsVUFBVSxxREFBcUQscUJBQXFCLGdCQUFnQixnQkFBZ0IsY0FBYyx1QkFBdUIsbURBQW1ELHlCQUF5QixtQ0FBbUMsa0ZBQWtGLG9CQUFvQiwrQ0FBK0MscUJBQXFCLFdBQVcsc0JBQXNCLGFBQWEsR0FBRyxTQUFTLGlCQUFpQix3Q0FBd0Msa0JBQWtCLFFBQVEscURBQXFELE1BQU0sSUFBSSxPQUFPLHNCQUFzQixzQkFBc0IsU0FBUyxjQUFjLGdGQUFnRix3SUFBd0ksK0JBQStCLHNDQUFzQyxnQkFBZ0IsZ0JBQWdCLHFCQUFxQiwyQkFBMkIsMkRBQTJELE1BQU0sUUFBUSxTQUFTLFdBQVcsV0FBVyxzREFBc0QsTUFBTSxrQkFBa0IsZ0NBQWdDLFlBQVkscUNBQXFDLHVEQUF1RCxxTUFBcU0sMERBQTBELDZFQUE2RSxrREFBa0QsY0FBYyxtREFBbUQsMkJBQTJCLG1DQUFtQywwREFBMEQsMkNBQTJDLEVBQUUsdUNBQXVDLGVBQWUsbUNBQW1DLFVBQVUsNEJBQTRCLHNCQUFzQiw0Q0FBNEMsRUFBRSwrQ0FBK0MsRUFBRSxnREFBZ0QsRUFBRSx3Q0FBd0MsRUFBRSw4QkFBOEIsRUFBRSwwQkFB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QXdCLDhIQUE4SCxLQUFLLHdCQUF3Qix1VEFBdVQsa0VBQWtFLHNDQUFzQyxJQUFJLGtEQUFrRCx1QkFBdUIsMkNBQTJDLE9BQU8sMEJBQTBCLGNBQWMsVUFBVSxPQUFPLEtBQUssWUFBWSxtQ0FBbUMsaURBQWlELDBCQUEwQixrQkFBa0IsT0FBTyx1QkFBdUIsVUFBVSxhQUFhLEtBQUssUUFBUSx1Q0FBdUMsdUJBQXVCLGtFQUFrRSx3QkFBd0Isa0RBQWtELDZDQUE2Qyw4UEFBOFAsNkJBQTZCLGFBQWEsaUJBQWlCLFFBQVEseUJBQXlCLGdCQUFnQixNQUFNLGdEQUFnRCxNQUFNLHdCQUF3QiwyQ0FBMkMsR0FBRywwRkFBMEYsbUJBQW1CLDJFQUEyRSx5RUFBeUUsTUFBTSxrQkFBa0IsNkNBQTZDLHdGQUF3RixrQkFBa0IscUJBQXFCLG1FQUFtRSxrQkFBa0IsWUFBWSxTQUFTLGdCQUFnQixpQkFBaUIsaUJBQWlCLFNBQVMsZUFBZSxZQUFZLE9BQU8sZUFBZSxTQUFTLCtEQUErRCxlQUFlLGNBQWMsNEJBQTRCLGNBQWMsYUFBYSxXQUFXLGFBQWEsaUVBQWlFLDRCQUE0QixhQUFhLDBCQUEwQixTQUFTLGNBQWMsU0FBUyx3QkFBd0IsT0FBTyxHQUFHLEtBQUssY0FBYyxlQUFlLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLDhCQUE4QixXQUFXLElBQUkscURBQXFELFFBQVEsUUFBUSxpQkFBaUIsY0FBYyxpQkFBaUIsTUFBTSw0QkFBNEIsV0FBVyw2QkFBNkIsVUFBVSxJQUFJLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzP2VhZmYiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57dmFyIGU9ezU0MTpmdW5jdGlvbihlLGksdCl7ZT10Lm5tZChlKTtcbi8qIVxuICogUGxhdGZvcm0uanMgdjEuMy42XG4gKiBDb3B5cmlnaHQgMjAxNC0yMDIwIEJlbmphbWluIFRhblxuICogQ29weXJpZ2h0IDIwMTEtMjAxMyBKb2huLURhdmlkIERhbHRvblxuICogQXZhaWxhYmxlIHVuZGVyIE1JVCBsaWNlbnNlXG4gKi8oZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdD17ZnVuY3Rpb246dHJ1ZSxvYmplY3Q6dHJ1ZX07dmFyIHI9dFt0eXBlb2Ygd2luZG93XSYmd2luZG93fHx0aGlzO3ZhciBhPXI7dmFyIG49dFt0eXBlb2YgaV0mJmk7dmFyIG89dFtcIm9iamVjdFwiXSYmZSYmIWUubm9kZVR5cGUmJmU7dmFyIGw9biYmbyYmdHlwZW9mIGdsb2JhbD09XCJvYmplY3RcIiYmZ2xvYmFsO2lmKGwmJihsLmdsb2JhbD09PWx8fGwud2luZG93PT09bHx8bC5zZWxmPT09bCkpe3I9bH12YXIgcz1NYXRoLnBvdygyLDUzKS0xO3ZhciBmPS9cXGJPcGVyYS87dmFyIGI9dGhpczt2YXIgYz1PYmplY3QucHJvdG90eXBlO3ZhciBwPWMuaGFzT3duUHJvcGVydHk7dmFyIHU9Yy50b1N0cmluZztmdW5jdGlvbiBjYXBpdGFsaXplKGUpe2U9U3RyaW5nKGUpO3JldHVybiBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSl9ZnVuY3Rpb24gY2xlYW51cE9TKGUsaSx0KXt2YXIgcj17XCIxMC4wXCI6XCIxMFwiLDYuNDpcIjEwIFRlY2huaWNhbCBQcmV2aWV3XCIsNi4zOlwiOC4xXCIsNi4yOlwiOFwiLDYuMTpcIlNlcnZlciAyMDA4IFIyIC8gN1wiLFwiNi4wXCI6XCJTZXJ2ZXIgMjAwOCAvIFZpc3RhXCIsNS4yOlwiU2VydmVyIDIwMDMgLyBYUCA2NC1iaXRcIiw1LjE6XCJYUFwiLDUuMDE6XCIyMDAwIFNQMVwiLFwiNS4wXCI6XCIyMDAwXCIsXCI0LjBcIjpcIk5UXCIsXCI0LjkwXCI6XCJNRVwifTtpZihpJiZ0JiYvXldpbi9pLnRlc3QoZSkmJiEvXldpbmRvd3MgUGhvbmUgL2kudGVzdChlKSYmKHI9clsvW1xcZC5dKyQvLmV4ZWMoZSldKSl7ZT1cIldpbmRvd3MgXCIrcn1lPVN0cmluZyhlKTtpZihpJiZ0KXtlPWUucmVwbGFjZShSZWdFeHAoaSxcImlcIiksdCl9ZT1mb3JtYXQoZS5yZXBsYWNlKC8gY2UkL2ksXCIgQ0VcIikucmVwbGFjZSgvXFxiaHB3L2ksXCJ3ZWJcIikucmVwbGFjZSgvXFxiTWFjaW50b3NoXFxiLyxcIk1hYyBPU1wiKS5yZXBsYWNlKC9fUG93ZXJQQ1xcYi9pLFwiIE9TXCIpLnJlcGxhY2UoL1xcYihPUyBYKSBbXiBcXGRdKy9pLFwiJDFcIikucmVwbGFjZSgvXFxiTWFjIChPUyBYKVxcYi8sXCIkMVwiKS5yZXBsYWNlKC9cXC8oXFxkKS8sXCIgJDFcIikucmVwbGFjZSgvXy9nLFwiLlwiKS5yZXBsYWNlKC8oPzogQmVQQ3xbIC5dKmZjWyBcXGQuXSspJC9pLFwiXCIpLnJlcGxhY2UoL1xcYng4NlxcLjY0XFxiL2dpLFwieDg2XzY0XCIpLnJlcGxhY2UoL1xcYihXaW5kb3dzIFBob25lKSBPU1xcYi8sXCIkMVwiKS5yZXBsYWNlKC9cXGIoQ2hyb21lIE9TIFxcdyspIFtcXGQuXStcXGIvLFwiJDFcIikuc3BsaXQoXCIgb24gXCIpWzBdKTtyZXR1cm4gZX1mdW5jdGlvbiBlYWNoKGUsaSl7dmFyIHQ9LTEscj1lP2UubGVuZ3RoOjA7aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI+LTEmJnI8PXMpe3doaWxlKCsrdDxyKXtpKGVbdF0sdCxlKX19ZWxzZXtmb3JPd24oZSxpKX19ZnVuY3Rpb24gZm9ybWF0KGUpe2U9dHJpbShlKTtyZXR1cm4vXig/OndlYk9TfGkoPzpPU3xQKSkvLnRlc3QoZSk/ZTpjYXBpdGFsaXplKGUpfWZ1bmN0aW9uIGZvck93bihlLGkpe2Zvcih2YXIgdCBpbiBlKXtpZihwLmNhbGwoZSx0KSl7aShlW3RdLHQsZSl9fX1mdW5jdGlvbiBnZXRDbGFzc09mKGUpe3JldHVybiBlPT1udWxsP2NhcGl0YWxpemUoZSk6dS5jYWxsKGUpLnNsaWNlKDgsLTEpfWZ1bmN0aW9uIGlzSG9zdFR5cGUoZSxpKXt2YXIgdD1lIT1udWxsP3R5cGVvZiBlW2ldOlwibnVtYmVyXCI7cmV0dXJuIS9eKD86Ym9vbGVhbnxudW1iZXJ8c3RyaW5nfHVuZGVmaW5lZCkkLy50ZXN0KHQpJiYodD09XCJvYmplY3RcIj8hIWVbaV06dHJ1ZSl9ZnVuY3Rpb24gcXVhbGlmeShlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoLyhbIC1dKSg/ISQpL2csXCIkMT9cIil9ZnVuY3Rpb24gcmVkdWNlKGUsaSl7dmFyIHQ9bnVsbDtlYWNoKGUsKGZ1bmN0aW9uKHIsYSl7dD1pKHQscixhLGUpfSkpO3JldHVybiB0fWZ1bmN0aW9uIHRyaW0oZSl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKC9eICt8ICskL2csXCJcIil9ZnVuY3Rpb24gcGFyc2UoZSl7dmFyIGk9cjt2YXIgdD1lJiZ0eXBlb2YgZT09XCJvYmplY3RcIiYmZ2V0Q2xhc3NPZihlKSE9XCJTdHJpbmdcIjtpZih0KXtpPWU7ZT1udWxsfXZhciBuPWkubmF2aWdhdG9yfHx7fTt2YXIgbz1uLnVzZXJBZ2VudHx8XCJcIjtlfHwoZT1vKTt2YXIgbD10fHxiPT1hO3ZhciBzPXQ/ISFuLmxpa2VDaHJvbWU6L1xcYkNocm9tZVxcYi8udGVzdChlKSYmIS9pbnRlcm5hbHxcXG4vaS50ZXN0KHUudG9TdHJpbmcoKSk7dmFyIGM9XCJPYmplY3RcIixwPXQ/YzpcIlNjcmlwdEJyaWRnaW5nUHJveHlPYmplY3RcIixkPXQ/YzpcIkVudmlyb25tZW50XCIsUz10JiZpLmphdmE/XCJKYXZhUGFja2FnZVwiOmdldENsYXNzT2YoaS5qYXZhKSx4PXQ/YzpcIlJ1bnRpbWVPYmplY3RcIjt2YXIgbT0vXFxiSmF2YS8udGVzdChTKSYmaS5qYXZhO3ZhciBnPW0mJmdldENsYXNzT2YoaS5lbnZpcm9ubWVudCk9PWQ7dmFyIGg9bT9cImFcIjpcIs6xXCI7dmFyIHY9bT9cImJcIjpcIs6yXCI7dmFyIE89aS5kb2N1bWVudHx8e307dmFyIHk9aS5vcGVyYW1pbml8fGkub3BlcmE7dmFyIHc9Zi50ZXN0KHc9dCYmeT95W1wiW1tDbGFzc11dXCJdOmdldENsYXNzT2YoeSkpP3c6eT1udWxsO3ZhciBNO3ZhciBFPWU7dmFyIFA9W107dmFyIEM9bnVsbDt2YXIgaz1lPT1vO3ZhciBCPWsmJnkmJnR5cGVvZiB5LnZlcnNpb249PVwiZnVuY3Rpb25cIiYmeS52ZXJzaW9uKCk7dmFyIFc7dmFyIF89Z2V0TGF5b3V0KFt7bGFiZWw6XCJFZGdlSFRNTFwiLHBhdHRlcm46XCJFZGdlXCJ9LFwiVHJpZGVudFwiLHtsYWJlbDpcIldlYktpdFwiLHBhdHRlcm46XCJBcHBsZVdlYktpdFwifSxcImlDYWJcIixcIlByZXN0b1wiLFwiTmV0RnJvbnRcIixcIlRhc21hblwiLFwiS0hUTUxcIixcIkdlY2tvXCJdKTt2YXIgUj1nZXROYW1lKFtcIkFkb2JlIEFJUlwiLFwiQXJvcmFcIixcIkF2YW50IEJyb3dzZXJcIixcIkJyZWFjaFwiLFwiQ2FtaW5vXCIsXCJFbGVjdHJvblwiLFwiRXBpcGhhbnlcIixcIkZlbm5lY1wiLFwiRmxvY2tcIixcIkdhbGVvblwiLFwiR3JlZW5Ccm93c2VyXCIsXCJpQ2FiXCIsXCJJY2V3ZWFzZWxcIixcIkstTWVsZW9uXCIsXCJLb25xdWVyb3JcIixcIkx1bmFzY2FwZVwiLFwiTWF4dGhvblwiLHtsYWJlbDpcIk1pY3Jvc29mdCBFZGdlXCIscGF0dGVybjpcIig/OkVkZ2V8RWRnfEVkZ0F8RWRnaU9TKVwifSxcIk1pZG9yaVwiLFwiTm9vayBCcm93c2VyXCIsXCJQYWxlTW9vblwiLFwiUGhhbnRvbUpTXCIsXCJSYXZlblwiLFwiUmVrb25xXCIsXCJSb2NrTWVsdFwiLHtsYWJlbDpcIlNhbXN1bmcgSW50ZXJuZXRcIixwYXR0ZXJuOlwiU2Ftc3VuZ0Jyb3dzZXJcIn0sXCJTZWFNb25rZXlcIix7bGFiZWw6XCJTaWxrXCIscGF0dGVybjpcIig/OkNsb3VkOXxTaWxrLUFjY2VsZXJhdGVkKVwifSxcIlNsZWlwbmlyXCIsXCJTbGltQnJvd3NlclwiLHtsYWJlbDpcIlNSV2FyZSBJcm9uXCIscGF0dGVybjpcIklyb25cIn0sXCJTdW5yaXNlXCIsXCJTd2lmdGZveFwiLFwiVml2YWxkaVwiLFwiV2F0ZXJmb3hcIixcIldlYlBvc2l0aXZlXCIse2xhYmVsOlwiWWFuZGV4IEJyb3dzZXJcIixwYXR0ZXJuOlwiWWFCcm93c2VyXCJ9LHtsYWJlbDpcIlVDIEJyb3dzZXJcIixwYXR0ZXJuOlwiVUNCcm93c2VyXCJ9LFwiT3BlcmEgTWluaVwiLHtsYWJlbDpcIk9wZXJhIE1pbmlcIixwYXR0ZXJuOlwiT1BpT1NcIn0sXCJPcGVyYVwiLHtsYWJlbDpcIk9wZXJhXCIscGF0dGVybjpcIk9QUlwifSxcIkNocm9taXVtXCIsXCJDaHJvbWVcIix7bGFiZWw6XCJDaHJvbWVcIixwYXR0ZXJuOlwiKD86SGVhZGxlc3NDaHJvbWUpXCJ9LHtsYWJlbDpcIkNocm9tZSBNb2JpbGVcIixwYXR0ZXJuOlwiKD86Q3JpT1N8Q3JNbylcIn0se2xhYmVsOlwiRmlyZWZveFwiLHBhdHRlcm46XCIoPzpGaXJlZm94fE1pbmVmaWVsZClcIn0se2xhYmVsOlwiRmlyZWZveCBmb3IgaU9TXCIscGF0dGVybjpcIkZ4aU9TXCJ9LHtsYWJlbDpcIklFXCIscGF0dGVybjpcIklFTW9iaWxlXCJ9LHtsYWJlbDpcIklFXCIscGF0dGVybjpcIk1TSUVcIn0sXCJTYWZhcmlcIl0pO3ZhciBBPWdldFByb2R1Y3QoW3tsYWJlbDpcIkJsYWNrQmVycnlcIixwYXR0ZXJuOlwiQkIxMFwifSxcIkJsYWNrQmVycnlcIix7bGFiZWw6XCJHYWxheHkgU1wiLHBhdHRlcm46XCJHVC1JOTAwMFwifSx7bGFiZWw6XCJHYWxheHkgUzJcIixwYXR0ZXJuOlwiR1QtSTkxMDBcIn0se2xhYmVsOlwiR2FsYXh5IFMzXCIscGF0dGVybjpcIkdULUk5MzAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNFwiLHBhdHRlcm46XCJHVC1JOTUwMFwifSx7bGFiZWw6XCJHYWxheHkgUzVcIixwYXR0ZXJuOlwiU00tRzkwMFwifSx7bGFiZWw6XCJHYWxheHkgUzZcIixwYXR0ZXJuOlwiU00tRzkyMFwifSx7bGFiZWw6XCJHYWxheHkgUzYgRWRnZVwiLHBhdHRlcm46XCJTTS1HOTI1XCJ9LHtsYWJlbDpcIkdhbGF4eSBTN1wiLHBhdHRlcm46XCJTTS1HOTMwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNyBFZGdlXCIscGF0dGVybjpcIlNNLUc5MzVcIn0sXCJHb29nbGUgVFZcIixcIkx1bWlhXCIsXCJpUGFkXCIsXCJpUG9kXCIsXCJpUGhvbmVcIixcIktpbmRsZVwiLHtsYWJlbDpcIktpbmRsZSBGaXJlXCIscGF0dGVybjpcIig/OkNsb3VkOXxTaWxrLUFjY2VsZXJhdGVkKVwifSxcIk5leHVzXCIsXCJOb29rXCIsXCJQbGF5Qm9va1wiLFwiUGxheVN0YXRpb24gVml0YVwiLFwiUGxheVN0YXRpb25cIixcIlRvdWNoUGFkXCIsXCJUcmFuc2Zvcm1lclwiLHtsYWJlbDpcIldpaSBVXCIscGF0dGVybjpcIldpaVVcIn0sXCJXaWlcIixcIlhib3ggT25lXCIse2xhYmVsOlwiWGJveCAzNjBcIixwYXR0ZXJuOlwiWGJveFwifSxcIlhvb21cIl0pO3ZhciBJPWdldE1hbnVmYWN0dXJlcih7QXBwbGU6e2lQYWQ6MSxpUGhvbmU6MSxpUG9kOjF9LEFsY2F0ZWw6e30sQXJjaG9zOnt9LEFtYXpvbjp7S2luZGxlOjEsXCJLaW5kbGUgRmlyZVwiOjF9LEFzdXM6e1RyYW5zZm9ybWVyOjF9LFwiQmFybmVzICYgTm9ibGVcIjp7Tm9vazoxfSxCbGFja0JlcnJ5OntQbGF5Qm9vazoxfSxHb29nbGU6e1wiR29vZ2xlIFRWXCI6MSxOZXh1czoxfSxIUDp7VG91Y2hQYWQ6MX0sSFRDOnt9LEh1YXdlaTp7fSxMZW5vdm86e30sTEc6e30sTWljcm9zb2Z0OntYYm94OjEsXCJYYm94IE9uZVwiOjF9LE1vdG9yb2xhOntYb29tOjF9LE5pbnRlbmRvOntcIldpaSBVXCI6MSxXaWk6MX0sTm9raWE6e0x1bWlhOjF9LE9wcG86e30sU2Ftc3VuZzp7XCJHYWxheHkgU1wiOjEsXCJHYWxheHkgUzJcIjoxLFwiR2FsYXh5IFMzXCI6MSxcIkdhbGF4eSBTNFwiOjF9LFNvbnk6e1BsYXlTdGF0aW9uOjEsXCJQbGF5U3RhdGlvbiBWaXRhXCI6MX0sWGlhb21pOntNaToxLFJlZG1pOjF9fSk7dmFyIFQ9Z2V0T1MoW1wiV2luZG93cyBQaG9uZVwiLFwiS2FpT1NcIixcIkFuZHJvaWRcIixcIkNlbnRPU1wiLHtsYWJlbDpcIkNocm9tZSBPU1wiLHBhdHRlcm46XCJDck9TXCJ9LFwiRGViaWFuXCIse2xhYmVsOlwiRHJhZ29uRmx5IEJTRFwiLHBhdHRlcm46XCJEcmFnb25GbHlcIn0sXCJGZWRvcmFcIixcIkZyZWVCU0RcIixcIkdlbnRvb1wiLFwiSGFpa3VcIixcIkt1YnVudHVcIixcIkxpbnV4IE1pbnRcIixcIk9wZW5CU0RcIixcIlJlZCBIYXRcIixcIlN1U0VcIixcIlVidW50dVwiLFwiWHVidW50dVwiLFwiQ3lnd2luXCIsXCJTeW1iaWFuIE9TXCIsXCJocHdPU1wiLFwid2ViT1MgXCIsXCJ3ZWJPU1wiLFwiVGFibGV0IE9TXCIsXCJUaXplblwiLFwiTGludXhcIixcIk1hYyBPUyBYXCIsXCJNYWNpbnRvc2hcIixcIk1hY1wiLFwiV2luZG93cyA5ODtcIixcIldpbmRvd3MgXCJdKTtmdW5jdGlvbiBnZXRMYXlvdXQoaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQpe3JldHVybiBpfHxSZWdFeHAoXCJcXFxcYlwiKyh0LnBhdHRlcm58fHF1YWxpZnkodCkpK1wiXFxcXGJcIixcImlcIikuZXhlYyhlKSYmKHQubGFiZWx8fHQpfSkpfWZ1bmN0aW9uIGdldE1hbnVmYWN0dXJlcihpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCxyKXtyZXR1cm4gaXx8KHRbQV18fHRbL15bYS16XSsoPzogK1thLXpdK1xcYikqL2kuZXhlYyhBKV18fFJlZ0V4cChcIlxcXFxiXCIrcXVhbGlmeShyKStcIig/OlxcXFxifFxcXFx3KlxcXFxkKVwiLFwiaVwiKS5leGVjKGUpKSYmcn0pKX1mdW5jdGlvbiBnZXROYW1lKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXtyZXR1cm4gaXx8UmVnRXhwKFwiXFxcXGJcIisodC5wYXR0ZXJufHxxdWFsaWZ5KHQpKStcIlxcXFxiXCIsXCJpXCIpLmV4ZWMoZSkmJih0LmxhYmVsfHx0KX0pKX1mdW5jdGlvbiBnZXRPUyhpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7dmFyIHI9dC5wYXR0ZXJufHxxdWFsaWZ5KHQpO2lmKCFpJiYoaT1SZWdFeHAoXCJcXFxcYlwiK3IrXCIoPzovW1xcXFxkLl0rfFsgXFxcXHcuXSopXCIsXCJpXCIpLmV4ZWMoZSkpKXtpPWNsZWFudXBPUyhpLHIsdC5sYWJlbHx8dCl9cmV0dXJuIGl9KSl9ZnVuY3Rpb24gZ2V0UHJvZHVjdChpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7dmFyIHI9dC5wYXR0ZXJufHxxdWFsaWZ5KHQpO2lmKCFpJiYoaT1SZWdFeHAoXCJcXFxcYlwiK3IrXCIgKlxcXFxkK1suXFxcXHdfXSpcIixcImlcIikuZXhlYyhlKXx8UmVnRXhwKFwiXFxcXGJcIityK1wiICpcXFxcdystW1xcXFx3XSpcIixcImlcIikuZXhlYyhlKXx8UmVnRXhwKFwiXFxcXGJcIityK1wiKD86OyAqKD86W2Etel0rW18tXSk/W2Etel0rXFxcXGQrfFteICgpOy1dKilcIixcImlcIikuZXhlYyhlKSkpe2lmKChpPVN0cmluZyh0LmxhYmVsJiYhUmVnRXhwKHIsXCJpXCIpLnRlc3QodC5sYWJlbCk/dC5sYWJlbDppKS5zcGxpdChcIi9cIikpWzFdJiYhL1tcXGQuXSsvLnRlc3QoaVswXSkpe2lbMF0rPVwiIFwiK2lbMV19dD10LmxhYmVsfHx0O2k9Zm9ybWF0KGlbMF0ucmVwbGFjZShSZWdFeHAocixcImlcIiksdCkucmVwbGFjZShSZWdFeHAoXCI7ICooPzpcIit0K1wiW18tXSk/XCIsXCJpXCIpLFwiIFwiKS5yZXBsYWNlKFJlZ0V4cChcIihcIit0K1wiKVstXy5dPyhcXFxcdylcIixcImlcIiksXCIkMSAkMlwiKSl9cmV0dXJuIGl9KSl9ZnVuY3Rpb24gZ2V0VmVyc2lvbihpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7cmV0dXJuIGl8fChSZWdFeHAodCtcIig/Oi1bXFxcXGQuXSsvfCg/OiBmb3IgW1xcXFx3LV0rKT9bIC8tXSkoW1xcXFxkLl0rW14gKCk7L18tXSopXCIsXCJpXCIpLmV4ZWMoZSl8fDApWzFdfHxudWxsfSkpfWZ1bmN0aW9uIHRvU3RyaW5nUGxhdGZvcm0oKXtyZXR1cm4gdGhpcy5kZXNjcmlwdGlvbnx8XCJcIn1fJiYoXz1bX10pO2lmKC9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpJiYhQSYmKE09L1xcYkFuZHJvaWRbXjtdKjsoLio/KSg/OkJ1aWxkfFxcKSBBcHBsZVdlYktpdClcXGIvaS5leGVjKGUpKSl7QT10cmltKE1bMV0pLnJlcGxhY2UoL15bYS16XXsyfS1bYS16XXsyfTtcXHMqL2ksXCJcIil8fG51bGx9aWYoSSYmIUEpe0E9Z2V0UHJvZHVjdChbSV0pfWVsc2UgaWYoSSYmQSl7QT1BLnJlcGxhY2UoUmVnRXhwKFwiXihcIitxdWFsaWZ5KEkpK1wiKVstXy5cXFxcc11cIixcImlcIiksSStcIiBcIikucmVwbGFjZShSZWdFeHAoXCJeKFwiK3F1YWxpZnkoSSkrXCIpWy1fLl0/KFxcXFx3KVwiLFwiaVwiKSxJK1wiICQyXCIpfWlmKE09L1xcYkdvb2dsZSBUVlxcYi8uZXhlYyhBKSl7QT1NWzBdfWlmKC9cXGJTaW11bGF0b3JcXGIvaS50ZXN0KGUpKXtBPShBP0ErXCIgXCI6XCJcIikrXCJTaW11bGF0b3JcIn1pZihSPT1cIk9wZXJhIE1pbmlcIiYmL1xcYk9QaU9TXFxiLy50ZXN0KGUpKXtQLnB1c2goXCJydW5uaW5nIGluIFR1cmJvL1VuY29tcHJlc3NlZCBtb2RlXCIpfWlmKFI9PVwiSUVcIiYmL1xcYmxpa2UgaVBob25lIE9TXFxiLy50ZXN0KGUpKXtNPXBhcnNlKGUucmVwbGFjZSgvbGlrZSBpUGhvbmUgT1MvLFwiXCIpKTtJPU0ubWFudWZhY3R1cmVyO0E9TS5wcm9kdWN0fWVsc2UgaWYoL15pUC8udGVzdChBKSl7Unx8KFI9XCJTYWZhcmlcIik7VD1cImlPU1wiKygoTT0vIE9TIChbXFxkX10rKS9pLmV4ZWMoZSkpP1wiIFwiK01bMV0ucmVwbGFjZSgvXy9nLFwiLlwiKTpcIlwiKX1lbHNlIGlmKFI9PVwiS29ucXVlcm9yXCImJi9eTGludXhcXGIvaS50ZXN0KFQpKXtUPVwiS3VidW50dVwifWVsc2UgaWYoSSYmSSE9XCJHb29nbGVcIiYmKC9DaHJvbWUvLnRlc3QoUikmJiEvXFxiTW9iaWxlIFNhZmFyaVxcYi9pLnRlc3QoZSl8fC9cXGJWaXRhXFxiLy50ZXN0KEEpKXx8L1xcYkFuZHJvaWRcXGIvLnRlc3QoVCkmJi9eQ2hyb21lLy50ZXN0KFIpJiYvXFxiVmVyc2lvblxcLy9pLnRlc3QoZSkpe1I9XCJBbmRyb2lkIEJyb3dzZXJcIjtUPS9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpP1Q6XCJBbmRyb2lkXCJ9ZWxzZSBpZihSPT1cIlNpbGtcIil7aWYoIS9cXGJNb2JpL2kudGVzdChlKSl7VD1cIkFuZHJvaWRcIjtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIil9aWYoL0FjY2VsZXJhdGVkICo9ICp0cnVlL2kudGVzdChlKSl7UC51bnNoaWZ0KFwiYWNjZWxlcmF0ZWRcIil9fWVsc2UgaWYoUj09XCJVQyBCcm93c2VyXCImJi9cXGJVQ1dFQlxcYi8udGVzdChlKSl7UC5wdXNoKFwic3BlZWQgbW9kZVwiKX1lbHNlIGlmKFI9PVwiUGFsZU1vb25cIiYmKE09L1xcYkZpcmVmb3hcXC8oW1xcZC5dKylcXGIvLmV4ZWMoZSkpKXtQLnB1c2goXCJpZGVudGlmeWluZyBhcyBGaXJlZm94IFwiK01bMV0pfWVsc2UgaWYoUj09XCJGaXJlZm94XCImJihNPS9cXGIoTW9iaWxlfFRhYmxldHxUVilcXGIvaS5leGVjKGUpKSl7VHx8KFQ9XCJGaXJlZm94IE9TXCIpO0F8fChBPU1bMV0pfWVsc2UgaWYoIVJ8fChNPSEvXFxiTWluZWZpZWxkXFxiL2kudGVzdChlKSYmL1xcYig/OkZpcmVmb3h8U2FmYXJpKVxcYi8uZXhlYyhSKSkpe2lmKFImJiFBJiYvW1xcLyxdfF5bXihdKz9cXCkvLnRlc3QoZS5zbGljZShlLmluZGV4T2YoTStcIi9cIikrOCkpKXtSPW51bGx9aWYoKE09QXx8SXx8VCkmJihBfHxJfHwvXFxiKD86QW5kcm9pZHxTeW1iaWFuIE9TfFRhYmxldCBPU3x3ZWJPUylcXGIvLnRlc3QoVCkpKXtSPS9bYS16XSsoPzogSGF0KT8vaS5leGVjKC9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpP1Q6TSkrXCIgQnJvd3NlclwifX1lbHNlIGlmKFI9PVwiRWxlY3Ryb25cIiYmKE09KC9cXGJDaHJvbWVcXC8oW1xcZC5dKylcXGIvLmV4ZWMoZSl8fDApWzFdKSl7UC5wdXNoKFwiQ2hyb21pdW0gXCIrTSl9aWYoIUIpe0I9Z2V0VmVyc2lvbihbXCIoPzpDbG91ZDl8Q3JpT1N8Q3JNb3xFZGdlfEVkZ3xFZGdBfEVkZ2lPU3xGeGlPU3xIZWFkbGVzc0Nocm9tZXxJRU1vYmlsZXxJcm9ufE9wZXJhID9NaW5pfE9QaU9TfE9QUnxSYXZlbnxTYW1zdW5nQnJvd3NlcnxTaWxrKD8hL1tcXFxcZC5dKyQpfFVDQnJvd3NlcnxZYUJyb3dzZXIpXCIsXCJWZXJzaW9uXCIscXVhbGlmeShSKSxcIig/OkZpcmVmb3h8TWluZWZpZWxkfE5ldEZyb250KVwiXSl9aWYoTT1fPT1cImlDYWJcIiYmcGFyc2VGbG9hdChCKT4zJiZcIldlYktpdFwifHwvXFxiT3BlcmFcXGIvLnRlc3QoUikmJigvXFxiT1BSXFxiLy50ZXN0KGUpP1wiQmxpbmtcIjpcIlByZXN0b1wiKXx8L1xcYig/Ok1pZG9yaXxOb29rfFNhZmFyaSlcXGIvaS50ZXN0KGUpJiYhL14oPzpUcmlkZW50fEVkZ2VIVE1MKSQvLnRlc3QoXykmJlwiV2ViS2l0XCJ8fCFfJiYvXFxiTVNJRVxcYi9pLnRlc3QoZSkmJihUPT1cIk1hYyBPU1wiP1wiVGFzbWFuXCI6XCJUcmlkZW50XCIpfHxfPT1cIldlYktpdFwiJiYvXFxiUGxheVN0YXRpb25cXGIoPyEgVml0YVxcYikvaS50ZXN0KFIpJiZcIk5ldEZyb250XCIpe189W01dfWlmKFI9PVwiSUVcIiYmKE09KC87ICooPzpYQkxXUHxadW5lV1ApKFxcZCspL2kuZXhlYyhlKXx8MClbMV0pKXtSKz1cIiBNb2JpbGVcIjtUPVwiV2luZG93cyBQaG9uZSBcIisoL1xcKyQvLnRlc3QoTSk/TTpNK1wiLnhcIik7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpfWVsc2UgaWYoL1xcYldQRGVza3RvcFxcYi9pLnRlc3QoZSkpe1I9XCJJRSBNb2JpbGVcIjtUPVwiV2luZG93cyBQaG9uZSA4LnhcIjtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIik7Qnx8KEI9KC9cXGJydjooW1xcZC5dKykvLmV4ZWMoZSl8fDApWzFdKX1lbHNlIGlmKFIhPVwiSUVcIiYmXz09XCJUcmlkZW50XCImJihNPS9cXGJydjooW1xcZC5dKykvLmV4ZWMoZSkpKXtpZihSKXtQLnB1c2goXCJpZGVudGlmeWluZyBhcyBcIitSKyhCP1wiIFwiK0I6XCJcIikpfVI9XCJJRVwiO0I9TVsxXX1pZihrKXtpZihpc0hvc3RUeXBlKGksXCJnbG9iYWxcIikpe2lmKG0pe009bS5sYW5nLlN5c3RlbTtFPU0uZ2V0UHJvcGVydHkoXCJvcy5hcmNoXCIpO1Q9VHx8TS5nZXRQcm9wZXJ0eShcIm9zLm5hbWVcIikrXCIgXCIrTS5nZXRQcm9wZXJ0eShcIm9zLnZlcnNpb25cIil9aWYoZyl7dHJ5e0I9aS5yZXF1aXJlKFwicmluZ28vZW5naW5lXCIpLnZlcnNpb24uam9pbihcIi5cIik7Uj1cIlJpbmdvSlNcIn1jYXRjaChlKXtpZigoTT1pLnN5c3RlbSkmJk0uZ2xvYmFsLnN5c3RlbT09aS5zeXN0ZW0pe1I9XCJOYXJ3aGFsXCI7VHx8KFQ9TVswXS5vc3x8bnVsbCl9fWlmKCFSKXtSPVwiUmhpbm9cIn19ZWxzZSBpZih0eXBlb2YgaS5wcm9jZXNzPT1cIm9iamVjdFwiJiYhaS5wcm9jZXNzLmJyb3dzZXImJihNPWkucHJvY2Vzcykpe2lmKHR5cGVvZiBNLnZlcnNpb25zPT1cIm9iamVjdFwiKXtpZih0eXBlb2YgTS52ZXJzaW9ucy5lbGVjdHJvbj09XCJzdHJpbmdcIil7UC5wdXNoKFwiTm9kZSBcIitNLnZlcnNpb25zLm5vZGUpO1I9XCJFbGVjdHJvblwiO0I9TS52ZXJzaW9ucy5lbGVjdHJvbn1lbHNlIGlmKHR5cGVvZiBNLnZlcnNpb25zLm53PT1cInN0cmluZ1wiKXtQLnB1c2goXCJDaHJvbWl1bSBcIitCLFwiTm9kZSBcIitNLnZlcnNpb25zLm5vZGUpO1I9XCJOVy5qc1wiO0I9TS52ZXJzaW9ucy5ud319aWYoIVIpe1I9XCJOb2RlLmpzXCI7RT1NLmFyY2g7VD1NLnBsYXRmb3JtO0I9L1tcXGQuXSsvLmV4ZWMoTS52ZXJzaW9uKTtCPUI/QlswXTpudWxsfX19ZWxzZSBpZihnZXRDbGFzc09mKE09aS5ydW50aW1lKT09cCl7Uj1cIkFkb2JlIEFJUlwiO1Q9TS5mbGFzaC5zeXN0ZW0uQ2FwYWJpbGl0aWVzLm9zfWVsc2UgaWYoZ2V0Q2xhc3NPZihNPWkucGhhbnRvbSk9PXgpe1I9XCJQaGFudG9tSlNcIjtCPShNPU0udmVyc2lvbnx8bnVsbCkmJk0ubWFqb3IrXCIuXCIrTS5taW5vcitcIi5cIitNLnBhdGNofWVsc2UgaWYodHlwZW9mIE8uZG9jdW1lbnRNb2RlPT1cIm51bWJlclwiJiYoTT0vXFxiVHJpZGVudFxcLyhcXGQrKS9pLmV4ZWMoZSkpKXtCPVtCLE8uZG9jdW1lbnRNb2RlXTtpZigoTT0rTVsxXSs0KSE9QlsxXSl7UC5wdXNoKFwiSUUgXCIrQlsxXStcIiBtb2RlXCIpO18mJihfWzFdPVwiXCIpO0JbMV09TX1CPVI9PVwiSUVcIj9TdHJpbmcoQlsxXS50b0ZpeGVkKDEpKTpCWzBdfWVsc2UgaWYodHlwZW9mIE8uZG9jdW1lbnRNb2RlPT1cIm51bWJlclwiJiYvXig/OkNocm9tZXxGaXJlZm94KVxcYi8udGVzdChSKSl7UC5wdXNoKFwibWFza2luZyBhcyBcIitSK1wiIFwiK0IpO1I9XCJJRVwiO0I9XCIxMS4wXCI7Xz1bXCJUcmlkZW50XCJdO1Q9XCJXaW5kb3dzXCJ9VD1UJiZmb3JtYXQoVCl9aWYoQiYmKE09Lyg/OlthYl18ZHB8cHJlfFthYl1cXGQrcHJlKSg/OlxcZCtcXCs/KT8kL2kuZXhlYyhCKXx8Lyg/OmFscGhhfGJldGEpKD86ID9cXGQpPy9pLmV4ZWMoZStcIjtcIisoayYmbi5hcHBNaW5vclZlcnNpb24pKXx8L1xcYk1pbmVmaWVsZFxcYi9pLnRlc3QoZSkmJlwiYVwiKSl7Qz0vYi9pLnRlc3QoTSk/XCJiZXRhXCI6XCJhbHBoYVwiO0I9Qi5yZXBsYWNlKFJlZ0V4cChNK1wiXFxcXCs/JFwiKSxcIlwiKSsoQz09XCJiZXRhXCI/djpoKSsoL1xcZCtcXCs/Ly5leGVjKE0pfHxcIlwiKX1pZihSPT1cIkZlbm5lY1wifHxSPT1cIkZpcmVmb3hcIiYmL1xcYig/OkFuZHJvaWR8RmlyZWZveCBPU3xLYWlPUylcXGIvLnRlc3QoVCkpe1I9XCJGaXJlZm94IE1vYmlsZVwifWVsc2UgaWYoUj09XCJNYXh0aG9uXCImJkIpe0I9Qi5yZXBsYWNlKC9cXC5bXFxkLl0rLyxcIi54XCIpfWVsc2UgaWYoL1xcYlhib3hcXGIvaS50ZXN0KEEpKXtpZihBPT1cIlhib3ggMzYwXCIpe1Q9bnVsbH1pZihBPT1cIlhib3ggMzYwXCImJi9cXGJJRU1vYmlsZVxcYi8udGVzdChlKSl7UC51bnNoaWZ0KFwibW9iaWxlIG1vZGVcIil9fWVsc2UgaWYoKC9eKD86Q2hyb21lfElFfE9wZXJhKSQvLnRlc3QoUil8fFImJiFBJiYhL0Jyb3dzZXJ8TW9iaS8udGVzdChSKSkmJihUPT1cIldpbmRvd3MgQ0VcInx8L01vYmkvaS50ZXN0KGUpKSl7Uis9XCIgTW9iaWxlXCJ9ZWxzZSBpZihSPT1cIklFXCImJmspe3RyeXtpZihpLmV4dGVybmFsPT09bnVsbCl7UC51bnNoaWZ0KFwicGxhdGZvcm0gcHJldmlld1wiKX19Y2F0Y2goZSl7UC51bnNoaWZ0KFwiZW1iZWRkZWRcIil9fWVsc2UgaWYoKC9cXGJCbGFja0JlcnJ5XFxiLy50ZXN0KEEpfHwvXFxiQkIxMFxcYi8udGVzdChlKSkmJihNPShSZWdFeHAoQS5yZXBsYWNlKC8gKy9nLFwiICpcIikrXCIvKFsuXFxcXGRdKylcIixcImlcIikuZXhlYyhlKXx8MClbMV18fEIpKXtNPVtNLC9CQjEwLy50ZXN0KGUpXTtUPShNWzFdPyhBPW51bGwsST1cIkJsYWNrQmVycnlcIik6XCJEZXZpY2UgU29mdHdhcmVcIikrXCIgXCIrTVswXTtCPW51bGx9ZWxzZSBpZih0aGlzIT1mb3JPd24mJkEhPVwiV2lpXCImJihrJiZ5fHwvT3BlcmEvLnRlc3QoUikmJi9cXGIoPzpNU0lFfEZpcmVmb3gpXFxiL2kudGVzdChlKXx8Uj09XCJGaXJlZm94XCImJi9cXGJPUyBYICg/OlxcZCtcXC4pezIsfS8udGVzdChUKXx8Uj09XCJJRVwiJiYoVCYmIS9eV2luLy50ZXN0KFQpJiZCPjUuNXx8L1xcYldpbmRvd3MgWFBcXGIvLnRlc3QoVCkmJkI+OHx8Qj09OCYmIS9cXGJUcmlkZW50XFxiLy50ZXN0KGUpKSkmJiFmLnRlc3QoTT1wYXJzZS5jYWxsKGZvck93bixlLnJlcGxhY2UoZixcIlwiKStcIjtcIikpJiZNLm5hbWUpe009XCJpbmcgYXMgXCIrTS5uYW1lKygoTT1NLnZlcnNpb24pP1wiIFwiK006XCJcIik7aWYoZi50ZXN0KFIpKXtpZigvXFxiSUVcXGIvLnRlc3QoTSkmJlQ9PVwiTWFjIE9TXCIpe1Q9bnVsbH1NPVwiaWRlbnRpZnlcIitNfWVsc2V7TT1cIm1hc2tcIitNO2lmKHcpe1I9Zm9ybWF0KHcucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZyxcIiQxICQyXCIpKX1lbHNle1I9XCJPcGVyYVwifWlmKC9cXGJJRVxcYi8udGVzdChNKSl7VD1udWxsfWlmKCFrKXtCPW51bGx9fV89W1wiUHJlc3RvXCJdO1AucHVzaChNKX1pZihNPSgvXFxiQXBwbGVXZWJLaXRcXC8oW1xcZC5dK1xcKz8pL2kuZXhlYyhlKXx8MClbMV0pe009W3BhcnNlRmxvYXQoTS5yZXBsYWNlKC9cXC4oXFxkKSQvLFwiLjAkMVwiKSksTV07aWYoUj09XCJTYWZhcmlcIiYmTVsxXS5zbGljZSgtMSk9PVwiK1wiKXtSPVwiV2ViS2l0IE5pZ2h0bHlcIjtDPVwiYWxwaGFcIjtCPU1bMV0uc2xpY2UoMCwtMSl9ZWxzZSBpZihCPT1NWzFdfHxCPT0oTVsyXT0oL1xcYlNhZmFyaVxcLyhbXFxkLl0rXFwrPykvaS5leGVjKGUpfHwwKVsxXSkpe0I9bnVsbH1NWzFdPSgvXFxiKD86SGVhZGxlc3MpP0Nocm9tZVxcLyhbXFxkLl0rKS9pLmV4ZWMoZSl8fDApWzFdO2lmKE1bMF09PTUzNy4zNiYmTVsyXT09NTM3LjM2JiZwYXJzZUZsb2F0KE1bMV0pPj0yOCYmXz09XCJXZWJLaXRcIil7Xz1bXCJCbGlua1wiXX1pZigha3x8IXMmJiFNWzFdKXtfJiYoX1sxXT1cImxpa2UgU2FmYXJpXCIpO009KE09TVswXSxNPDQwMD8xOk08NTAwPzI6TTw1MjY/MzpNPDUzMz80Ok08NTM0P1wiNCtcIjpNPDUzNT81Ok08NTM3PzY6TTw1Mzg/NzpNPDYwMT84Ok08NjAyPzk6TTw2MDQ/MTA6TTw2MDY/MTE6TTw2MDg/MTI6XCIxMlwiKX1lbHNle18mJihfWzFdPVwibGlrZSBDaHJvbWVcIik7TT1NWzFdfHwoTT1NWzBdLE08NTMwPzE6TTw1MzI/MjpNPDUzMi4wNT8zOk08NTMzPzQ6TTw1MzQuMDM/NTpNPDUzNC4wNz82Ok08NTM0LjE/NzpNPDUzNC4xMz84Ok08NTM0LjE2Pzk6TTw1MzQuMjQ/MTA6TTw1MzQuMz8xMTpNPDUzNS4wMT8xMjpNPDUzNS4wMj9cIjEzK1wiOk08NTM1LjA3PzE1Ok08NTM1LjExPzE2Ok08NTM1LjE5PzE3Ok08NTM2LjA1PzE4Ok08NTM2LjE/MTk6TTw1MzcuMDE/MjA6TTw1MzcuMTE/XCIyMStcIjpNPDUzNy4xMz8yMzpNPDUzNy4xOD8yNDpNPDUzNy4yND8yNTpNPDUzNy4zNj8yNjpfIT1cIkJsaW5rXCI/XCIyN1wiOlwiMjhcIil9XyYmKF9bMV0rPVwiIFwiKyhNKz10eXBlb2YgTT09XCJudW1iZXJcIj9cIi54XCI6L1suK10vLnRlc3QoTSk/XCJcIjpcIitcIikpO2lmKFI9PVwiU2FmYXJpXCImJighQnx8cGFyc2VJbnQoQik+NDUpKXtCPU19ZWxzZSBpZihSPT1cIkNocm9tZVwiJiYvXFxiSGVhZGxlc3NDaHJvbWUvaS50ZXN0KGUpKXtQLnVuc2hpZnQoXCJoZWFkbGVzc1wiKX19aWYoUj09XCJPcGVyYVwiJiYoTT0vXFxiemJvdnx6dmF2JC8uZXhlYyhUKSkpe1IrPVwiIFwiO1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKTtpZihNPT1cInp2YXZcIil7Uis9XCJNaW5pXCI7Qj1udWxsfWVsc2V7Uis9XCJNb2JpbGVcIn1UPVQucmVwbGFjZShSZWdFeHAoXCIgKlwiK00rXCIkXCIpLFwiXCIpfWVsc2UgaWYoUj09XCJTYWZhcmlcIiYmL1xcYkNocm9tZVxcYi8uZXhlYyhfJiZfWzFdKSl7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpO1I9XCJDaHJvbWUgTW9iaWxlXCI7Qj1udWxsO2lmKC9cXGJPUyBYXFxiLy50ZXN0KFQpKXtJPVwiQXBwbGVcIjtUPVwiaU9TIDQuMytcIn1lbHNle1Q9bnVsbH19ZWxzZSBpZigvXFxiU1JXYXJlIElyb25cXGIvLnRlc3QoUikmJiFCKXtCPWdldFZlcnNpb24oXCJDaHJvbWVcIil9aWYoQiYmQi5pbmRleE9mKE09L1tcXGQuXSskLy5leGVjKFQpKT09MCYmZS5pbmRleE9mKFwiL1wiK00rXCItXCIpPi0xKXtUPXRyaW0oVC5yZXBsYWNlKE0sXCJcIikpfWlmKFQmJlQuaW5kZXhPZihSKSE9LTEmJiFSZWdFeHAoUitcIiBPU1wiKS50ZXN0KFQpKXtUPVQucmVwbGFjZShSZWdFeHAoXCIgKlwiK3F1YWxpZnkoUikrXCIgKlwiKSxcIlwiKX1pZihfJiYhL1xcYig/OkF2YW50fE5vb2spXFxiLy50ZXN0KFIpJiYoL0Jyb3dzZXJ8THVuYXNjYXBlfE1heHRob24vLnRlc3QoUil8fFIhPVwiU2FmYXJpXCImJi9eaU9TLy50ZXN0KFQpJiYvXFxiU2FmYXJpXFxiLy50ZXN0KF9bMV0pfHwvXig/OkFkb2JlfEFyb3JhfEJyZWFjaHxNaWRvcml8T3BlcmF8UGhhbnRvbXxSZWtvbnF8Um9ja3xTYW1zdW5nIEludGVybmV0fFNsZWlwbmlyfFNSV2FyZSBJcm9ufFZpdmFsZGl8V2ViKS8udGVzdChSKSYmX1sxXSkpeyhNPV9bXy5sZW5ndGgtMV0pJiZQLnB1c2goTSl9aWYoUC5sZW5ndGgpe1A9W1wiKFwiK1Auam9pbihcIjsgXCIpK1wiKVwiXX1pZihJJiZBJiZBLmluZGV4T2YoSSk8MCl7UC5wdXNoKFwib24gXCIrSSl9aWYoQSl7UC5wdXNoKCgvXm9uIC8udGVzdChQW1AubGVuZ3RoLTFdKT9cIlwiOlwib24gXCIpK0EpfWlmKFQpe009LyAoW1xcZC4rXSspJC8uZXhlYyhUKTtXPU0mJlQuY2hhckF0KFQubGVuZ3RoLU1bMF0ubGVuZ3RoLTEpPT1cIi9cIjtUPXthcmNoaXRlY3R1cmU6MzIsZmFtaWx5Ok0mJiFXP1QucmVwbGFjZShNWzBdLFwiXCIpOlQsdmVyc2lvbjpNP01bMV06bnVsbCx0b1N0cmluZzpmdW5jdGlvbigpe3ZhciBlPXRoaXMudmVyc2lvbjtyZXR1cm4gdGhpcy5mYW1pbHkrKGUmJiFXP1wiIFwiK2U6XCJcIikrKHRoaXMuYXJjaGl0ZWN0dXJlPT02ND9cIiA2NC1iaXRcIjpcIlwiKX19fWlmKChNPS9cXGIoPzpBTUR8SUF8V2lufFdPV3x4ODZffHgpNjRcXGIvaS5leGVjKEUpKSYmIS9cXGJpNjg2XFxiL2kudGVzdChFKSl7aWYoVCl7VC5hcmNoaXRlY3R1cmU9NjQ7VC5mYW1pbHk9VC5mYW1pbHkucmVwbGFjZShSZWdFeHAoXCIgKlwiK00pLFwiXCIpfWlmKFImJigvXFxiV09XNjRcXGIvaS50ZXN0KGUpfHxrJiYvXFx3KD86ODZ8MzIpJC8udGVzdChuLmNwdUNsYXNzfHxuLnBsYXRmb3JtKSYmIS9cXGJXaW42NDsgeDY0XFxiL2kudGVzdChlKSkpe1AudW5zaGlmdChcIjMyLWJpdFwiKX19ZWxzZSBpZihUJiYvXk9TIFgvLnRlc3QoVC5mYW1pbHkpJiZSPT1cIkNocm9tZVwiJiZwYXJzZUZsb2F0KEIpPj0zOSl7VC5hcmNoaXRlY3R1cmU9NjR9ZXx8KGU9bnVsbCk7dmFyIEY9e307Ri5kZXNjcmlwdGlvbj1lO0YubGF5b3V0PV8mJl9bMF07Ri5tYW51ZmFjdHVyZXI9STtGLm5hbWU9UjtGLnByZXJlbGVhc2U9QztGLnByb2R1Y3Q9QTtGLnVhPWU7Ri52ZXJzaW9uPVImJkI7Ri5vcz1UfHx7YXJjaGl0ZWN0dXJlOm51bGwsZmFtaWx5Om51bGwsdmVyc2lvbjpudWxsLHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuXCJudWxsXCJ9fTtGLnBhcnNlPXBhcnNlO0YudG9TdHJpbmc9dG9TdHJpbmdQbGF0Zm9ybTtpZihGLnZlcnNpb24pe1AudW5zaGlmdChCKX1pZihGLm5hbWUpe1AudW5zaGlmdChSKX1pZihUJiZSJiYhKFQ9PVN0cmluZyhUKS5zcGxpdChcIiBcIilbMF0mJihUPT1SLnNwbGl0KFwiIFwiKVswXXx8QSkpKXtQLnB1c2goQT9cIihcIitUK1wiKVwiOlwib24gXCIrVCl9aWYoUC5sZW5ndGgpe0YuZGVzY3JpcHRpb249UC5qb2luKFwiIFwiKX1yZXR1cm4gRn12YXIgZD1wYXJzZSgpO2lmKG4mJm8pe2Zvck93bihkLChmdW5jdGlvbihlLGkpe25baV09ZX0pKX1lbHNle3IucGxhdGZvcm09ZH19KS5jYWxsKHRoaXMpfX07dmFyIGk9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh0KXt2YXIgcj1pW3RdO2lmKHIhPT11bmRlZmluZWQpe3JldHVybiByLmV4cG9ydHN9dmFyIGE9aVt0XT17aWQ6dCxsb2FkZWQ6ZmFsc2UsZXhwb3J0czp7fX07dmFyIG49dHJ1ZTt0cnl7ZVt0XS5jYWxsKGEuZXhwb3J0cyxhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtuPWZhbHNlfWZpbmFsbHl7aWYobilkZWxldGUgaVt0XX1hLmxvYWRlZD10cnVlO3JldHVybiBhLmV4cG9ydHN9KCgpPT57X19uY2N3cGNrX3JlcXVpcmVfXy5ubWQ9ZT0+e2UucGF0aHM9W107aWYoIWUuY2hpbGRyZW4pZS5jaGlsZHJlbj1bXTtyZXR1cm4gZX19KSgpO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdD1fX25jY3dwY2tfcmVxdWlyZV9fKDU0MSk7bW9kdWxlLmV4cG9ydHM9dH0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/platform/platform.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-is.development.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\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUI7QUFDdkIsdUJBQXVCO0FBQ3ZCLGVBQWU7QUFDZixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixZQUFZO0FBQ1osY0FBYztBQUNkLGdCQUFnQjtBQUNoQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQixtQkFBbUI7QUFDbkIsd0JBQXdCO0FBQ3hCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsaUJBQWlCO0FBQ2pCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLDBCQUEwQjtBQUMxQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtaXMvY2pzL3JlYWN0LWlzLmRldmVsb3BtZW50LmpzP2VjODUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9TRVJWRVJfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2VydmVyX2NvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG4vLyBzdHVmZi4gSW50ZW5kZWQgdG8gZW5hYmxlIFJlYWN0IGNvcmUgbWVtYmVycyB0byBtb3JlIGVhc2lseSBkZWJ1ZyBzY2hlZHVsaW5nXG4vLyBpc3N1ZXMgaW4gREVWIGJ1aWxkcy5cblxudmFyIGVuYWJsZURlYnVnVHJhY2luZyA9IGZhbHNlOyAvLyBUcmFjayB3aGljaCBGaWJlcihzKSBzY2hlZHVsZSByZW5kZXIgd29yay5cblxudmFyIFJFQUNUX01PRFVMRV9SRUZFUkVOQ0U7XG5cbntcbiAgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm1vZHVsZS5yZWZlcmVuY2UnKTtcbn1cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBUaGlzIG5lZWRzIHRvIGluY2x1ZGUgYWxsIHBvc3NpYmxlIG1vZHVsZSByZWZlcmVuY2Ugb2JqZWN0XG4gICAgLy8gdHlwZXMgc3VwcG9ydGVkIGJ5IGFueSBGbGlnaHQgY29uZmlndXJhdGlvbiBhbnl3aGVyZSBzaW5jZVxuICAgIC8vIHdlIGRvbid0IGtub3cgd2hpY2ggRmxpZ2h0IGJ1aWxkIHRoaXMgd2lsbCBlbmQgdXAgYmVpbmcgdXNlZFxuICAgIC8vIHdpdGguXG4gICAgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdHlwZU9mKG9iamVjdCkge1xuICBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcgJiYgb2JqZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyICQkdHlwZW9mID0gb2JqZWN0LiQkdHlwZW9mO1xuXG4gICAgc3dpdGNoICgkJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgIHZhciB0eXBlID0gb2JqZWN0LnR5cGU7XG5cbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFyICQkdHlwZW9mVHlwZSA9IHR5cGUgJiYgdHlwZS4kJHR5cGVvZjtcblxuICAgICAgICAgICAgc3dpdGNoICgkJHR5cGVvZlR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9TRVJWRVJfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJCR0eXBlb2ZUeXBlO1xuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG52YXIgQ29udGV4dENvbnN1bWVyID0gUkVBQ1RfQ09OVEVYVF9UWVBFO1xudmFyIENvbnRleHRQcm92aWRlciA9IFJFQUNUX1BST1ZJREVSX1RZUEU7XG52YXIgRWxlbWVudCA9IFJFQUNUX0VMRU1FTlRfVFlQRTtcbnZhciBGb3J3YXJkUmVmID0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbnZhciBGcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG52YXIgTGF6eSA9IFJFQUNUX0xBWllfVFlQRTtcbnZhciBNZW1vID0gUkVBQ1RfTUVNT19UWVBFO1xudmFyIFBvcnRhbCA9IFJFQUNUX1BPUlRBTF9UWVBFO1xudmFyIFByb2ZpbGVyID0gUkVBQ1RfUFJPRklMRVJfVFlQRTtcbnZhciBTdHJpY3RNb2RlID0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbnZhciBTdXNwZW5zZSA9IFJFQUNUX1NVU1BFTlNFX1RZUEU7XG52YXIgU3VzcGVuc2VMaXN0ID0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFO1xudmFyIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlID0gZmFsc2U7XG52YXIgaGFzV2FybmVkQWJvdXREZXByZWNhdGVkSXNDb25jdXJyZW50TW9kZSA9IGZhbHNlOyAvLyBBc3luY01vZGUgc2hvdWxkIGJlIGRlcHJlY2F0ZWRcblxuZnVuY3Rpb24gaXNBc3luY01vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlKSB7XG4gICAgICBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IHRydWU7IC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG5cbiAgICAgIGNvbnNvbGVbJ3dhcm4nXSgnVGhlIFJlYWN0SXMuaXNBc3luY01vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTgrLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzQ29uY3VycmVudE1vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQ29uY3VycmVudE1vZGUpIHtcbiAgICAgIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQ29uY3VycmVudE1vZGUgPSB0cnVlOyAvLyBVc2luZyBjb25zb2xlWyd3YXJuJ10gdG8gZXZhZGUgQmFiZWwgYW5kIEVTTGludFxuXG4gICAgICBjb25zb2xlWyd3YXJuJ10oJ1RoZSBSZWFjdElzLmlzQ29uY3VycmVudE1vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTgrLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dENvbnN1bWVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX0NPTlRFWFRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dFByb3ZpZGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST1ZJREVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG5mdW5jdGlvbiBpc0ZvcndhcmRSZWYob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzRnJhZ21lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzTGF6eShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9MQVpZX1RZUEU7XG59XG5mdW5jdGlvbiBpc01lbW8ob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfTUVNT19UWVBFO1xufVxuZnVuY3Rpb24gaXNQb3J0YWwob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfUE9SVEFMX1RZUEU7XG59XG5mdW5jdGlvbiBpc1Byb2ZpbGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc1N0cmljdE1vZGUob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2Uob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2VMaXN0KG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTtcbn1cblxuZXhwb3J0cy5Db250ZXh0Q29uc3VtZXIgPSBDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLkNvbnRleHRQcm92aWRlciA9IENvbnRleHRQcm92aWRlcjtcbmV4cG9ydHMuRWxlbWVudCA9IEVsZW1lbnQ7XG5leHBvcnRzLkZvcndhcmRSZWYgPSBGb3J3YXJkUmVmO1xuZXhwb3J0cy5GcmFnbWVudCA9IEZyYWdtZW50O1xuZXhwb3J0cy5MYXp5ID0gTGF6eTtcbmV4cG9ydHMuTWVtbyA9IE1lbW87XG5leHBvcnRzLlBvcnRhbCA9IFBvcnRhbDtcbmV4cG9ydHMuUHJvZmlsZXIgPSBQcm9maWxlcjtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFN0cmljdE1vZGU7XG5leHBvcnRzLlN1c3BlbnNlID0gU3VzcGVuc2U7XG5leHBvcnRzLlN1c3BlbnNlTGlzdCA9IFN1c3BlbnNlTGlzdDtcbmV4cG9ydHMuaXNBc3luY01vZGUgPSBpc0FzeW5jTW9kZTtcbmV4cG9ydHMuaXNDb25jdXJyZW50TW9kZSA9IGlzQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLmlzQ29udGV4dENvbnN1bWVyID0gaXNDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLmlzQ29udGV4dFByb3ZpZGVyID0gaXNDb250ZXh0UHJvdmlkZXI7XG5leHBvcnRzLmlzRWxlbWVudCA9IGlzRWxlbWVudDtcbmV4cG9ydHMuaXNGb3J3YXJkUmVmID0gaXNGb3J3YXJkUmVmO1xuZXhwb3J0cy5pc0ZyYWdtZW50ID0gaXNGcmFnbWVudDtcbmV4cG9ydHMuaXNMYXp5ID0gaXNMYXp5O1xuZXhwb3J0cy5pc01lbW8gPSBpc01lbW87XG5leHBvcnRzLmlzUG9ydGFsID0gaXNQb3J0YWw7XG5leHBvcnRzLmlzUHJvZmlsZXIgPSBpc1Byb2ZpbGVyO1xuZXhwb3J0cy5pc1N0cmljdE1vZGUgPSBpc1N0cmljdE1vZGU7XG5leHBvcnRzLmlzU3VzcGVuc2UgPSBpc1N1c3BlbnNlO1xuZXhwb3J0cy5pc1N1c3BlbnNlTGlzdCA9IGlzU3VzcGVuc2VMaXN0O1xuZXhwb3J0cy5pc1ZhbGlkRWxlbWVudFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGU7XG5leHBvcnRzLnR5cGVPZiA9IHR5cGVPZjtcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-is/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-is/index.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxtSkFBeUQ7QUFDM0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1pcy9pbmRleC5qcz80MjNkIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-is/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js ***! - \*************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;Object.defineProperty(r,\"__esModule\",{value:true});var n=\"<unknown>\";function parse(e){var r=e.split(\"\\n\");return r.reduce((function(e,r){var n=parseChrome(r)||parseWinjs(r)||parseGecko(r)||parseNode(r)||parseJSC(r);if(n){e.push(n)}return e}),[])}var a=/^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;var l=/\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;function parseChrome(e){var r=a.exec(e);if(!r){return null}var u=r[2]&&r[2].indexOf(\"native\")===0;var t=r[2]&&r[2].indexOf(\"eval\")===0;var i=l.exec(r[2]);if(t&&i!=null){r[2]=i[1];r[3]=i[2];r[4]=i[3]}return{file:!u?r[2]:null,methodName:r[1]||n,arguments:u?[r[2]]:[],lineNumber:r[3]?+r[3]:null,column:r[4]?+r[4]:null}}var u=/^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseWinjs(e){var r=u.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}var t=/^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;var i=/(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;function parseGecko(e){var r=t.exec(e);if(!r){return null}var a=r[3]&&r[3].indexOf(\" > eval\")>-1;var l=i.exec(r[3]);if(a&&l!=null){r[3]=l[1];r[4]=l[2];r[5]=null}return{file:r[3],methodName:r[1]||n,arguments:r[2]?r[2].split(\",\"):[],lineNumber:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}var s=/^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;function parseJSC(e){var r=s.exec(e);if(!r){return null}return{file:r[3],methodName:r[1]||n,arguments:[],lineNumber:+r[4],column:r[5]?+r[5]:null}}var o=/^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseNode(e){var r=o.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}r.parse=parse})();module.exports=e})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0YWNrdHJhY2UtcGFyc2VyL3N0YWNrLXRyYWNlLXBhcnNlci5janMuanMiLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sYUFBYSxtRUFBbUUsU0FBUyxLQUFLLFNBQVMsTUFBTSxRQUFRLHNDQUFzQyxXQUFXLEVBQUUsa0JBQWtCLGtCQUFrQixvQkFBb0IsK0JBQStCLDhFQUE4RSxNQUFNLFVBQVUsU0FBUyxNQUFNLGtKQUFrSixzQ0FBc0Msd0JBQXdCLGdCQUFnQixPQUFPLFlBQVksdUNBQXVDLHFDQUFxQyxtQkFBbUIsZUFBZSxVQUFVLFVBQVUsVUFBVSxPQUFPLDhHQUE4RyxzSEFBc0gsdUJBQXVCLGdCQUFnQixPQUFPLFlBQVksT0FBTyxtRkFBbUYsd0lBQXdJLHNEQUFzRCx1QkFBdUIsZ0JBQWdCLE9BQU8sWUFBWSx1Q0FBdUMsbUJBQW1CLGVBQWUsVUFBVSxVQUFVLFVBQVUsT0FBTyxrSEFBa0gscUVBQXFFLHFCQUFxQixnQkFBZ0IsT0FBTyxZQUFZLE9BQU8sbUZBQW1GLHNHQUFzRyxzQkFBc0IsZ0JBQWdCLE9BQU8sWUFBWSxPQUFPLG1GQUFtRixjQUFjLElBQUksaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RhY2t0cmFjZS1wYXJzZXIvc3RhY2stdHJhY2UtcGFyc2VyLmNqcy5qcz9mZTBlIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgZT17fTsoKCk9Pnt2YXIgcj1lO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dmFyIG49XCI8dW5rbm93bj5cIjtmdW5jdGlvbiBwYXJzZShlKXt2YXIgcj1lLnNwbGl0KFwiXFxuXCIpO3JldHVybiByLnJlZHVjZSgoZnVuY3Rpb24oZSxyKXt2YXIgbj1wYXJzZUNocm9tZShyKXx8cGFyc2VXaW5qcyhyKXx8cGFyc2VHZWNrbyhyKXx8cGFyc2VOb2RlKHIpfHxwYXJzZUpTQyhyKTtpZihuKXtlLnB1c2gobil9cmV0dXJuIGV9KSxbXSl9dmFyIGE9L15cXHMqYXQgKC4qPykgP1xcKCgoPzpmaWxlfGh0dHBzP3xibG9ifGNocm9tZS1leHRlbnNpb258bmF0aXZlfGV2YWx8d2VicGFja3w8YW5vbnltb3VzPnxcXC98W2Etel06XFxcXHxcXFxcXFxcXCkuKj8pKD86OihcXGQrKSk/KD86OihcXGQrKSk/XFwpP1xccyokL2k7dmFyIGw9L1xcKChcXFMqKSg/OjooXFxkKykpKD86OihcXGQrKSlcXCkvO2Z1bmN0aW9uIHBhcnNlQ2hyb21lKGUpe3ZhciByPWEuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9dmFyIHU9clsyXSYmclsyXS5pbmRleE9mKFwibmF0aXZlXCIpPT09MDt2YXIgdD1yWzJdJiZyWzJdLmluZGV4T2YoXCJldmFsXCIpPT09MDt2YXIgaT1sLmV4ZWMoclsyXSk7aWYodCYmaSE9bnVsbCl7clsyXT1pWzFdO3JbM109aVsyXTtyWzRdPWlbM119cmV0dXJue2ZpbGU6IXU/clsyXTpudWxsLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6dT9bclsyXV06W10sbGluZU51bWJlcjpyWzNdPytyWzNdOm51bGwsY29sdW1uOnJbNF0/K3JbNF06bnVsbH19dmFyIHU9L15cXHMqYXQgKD86KCg/OlxcW29iamVjdCBvYmplY3RcXF0pPy4rKSApP1xcKD8oKD86ZmlsZXxtcy1hcHB4fGh0dHBzP3x3ZWJwYWNrfGJsb2IpOi4qPyk6KFxcZCspKD86OihcXGQrKSk/XFwpP1xccyokL2k7ZnVuY3Rpb24gcGFyc2VXaW5qcyhlKXt2YXIgcj11LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbMl0sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzNdLGNvbHVtbjpyWzRdPytyWzRdOm51bGx9fXZhciB0PS9eXFxzKiguKj8pKD86XFwoKC4qPylcXCkpPyg/Ol58QCkoKD86ZmlsZXxodHRwcz98YmxvYnxjaHJvbWV8d2VicGFja3xyZXNvdXJjZXxcXFtuYXRpdmUpLio/fFteQF0qYnVuZGxlKSg/OjooXFxkKykpPyg/OjooXFxkKykpP1xccyokL2k7dmFyIGk9LyhcXFMrKSBsaW5lIChcXGQrKSg/OiA+IGV2YWwgbGluZSBcXGQrKSogPiBldmFsL2k7ZnVuY3Rpb24gcGFyc2VHZWNrbyhlKXt2YXIgcj10LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXZhciBhPXJbM10mJnJbM10uaW5kZXhPZihcIiA+IGV2YWxcIik+LTE7dmFyIGw9aS5leGVjKHJbM10pO2lmKGEmJmwhPW51bGwpe3JbM109bFsxXTtyWzRdPWxbMl07cls1XT1udWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpyWzJdP3JbMl0uc3BsaXQoXCIsXCIpOltdLGxpbmVOdW1iZXI6cls0XT8rcls0XTpudWxsLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBzPS9eXFxzKig/OihbXkBdKikoPzpcXCgoLio/KVxcKSk/QCk/KFxcUy4qPyk6KFxcZCspKD86OihcXGQrKSk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZUpTQyhlKXt2YXIgcj1zLmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzRdLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBvPS9eXFxzKmF0ICg/OigoPzpcXFtvYmplY3Qgb2JqZWN0XFxdKT9bXlxcXFwvXSsoPzogXFxbYXMgXFxTK1xcXSk/KSApP1xcKD8oLio/KTooXFxkKykoPzo6KFxcZCspKT9cXCk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZU5vZGUoZSl7dmFyIHI9by5leGVjKGUpO2lmKCFyKXtyZXR1cm4gbnVsbH1yZXR1cm57ZmlsZTpyWzJdLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6W10sbGluZU51bWJlcjorclszXSxjb2x1bW46cls0XT8rcls0XTpudWxsfX1yLnBhcnNlPXBhcnNlfSkoKTttb2R1bGUuZXhwb3J0cz1lfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/web-vitals/web-vitals.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/web-vitals/web-vitals.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){\"use strict\";var n={};!function(){n.d=function(y,T){for(var C in T){if(n.o(T,C)&&!n.o(y,C)){Object.defineProperty(y,C,{enumerable:true,get:T[C]})}}}}();!function(){n.o=function(n,y){return Object.prototype.hasOwnProperty.call(n,y)}}();!function(){n.r=function(n){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(n,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(n,\"__esModule\",{value:true})}}();if(typeof n!==\"undefined\")n.ab=__dirname+\"/\";var y={};n.r(y);n.d(y,{getCLS:function(){return E},getFCP:function(){return g},getFID:function(){return F},getINP:function(){return O},getLCP:function(){return _},getTTFB:function(){return G},onCLS:function(){return E},onFCP:function(){return g},onFID:function(){return F},onINP:function(){return O},onLCP:function(){return _},onTTFB:function(){return G}});var T,C,w,P,I,k=-1,o=function(n){addEventListener(\"pageshow\",(function(y){y.persisted&&(k=y.timeStamp,n(y))}),!0)},c=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType(\"navigation\")[0]},u=function(){var n=c();return n&&n.activationStart||0},f=function(n,y){var T=c(),C=\"navigate\";return k>=0?C=\"back-forward-cache\":T&&(C=document.prerendering||u()>0?\"prerender\":T.type.replace(/_/g,\"-\")),{name:n,value:void 0===y?-1:y,rating:\"good\",delta:0,entries:[],id:\"v3-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:C}},s=function(n,y,T){try{if(PerformanceObserver.supportedEntryTypes.includes(n)){var C=new PerformanceObserver((function(n){y(n.getEntries())}));return C.observe(Object.assign({type:n,buffered:!0},T||{})),C}}catch(n){}},d=function(n,y){var T=function t(T){\"pagehide\"!==T.type&&\"hidden\"!==document.visibilityState||(n(T),y&&(removeEventListener(\"visibilitychange\",t,!0),removeEventListener(\"pagehide\",t,!0)))};addEventListener(\"visibilitychange\",T,!0),addEventListener(\"pagehide\",T,!0)},l=function(n,y,T,C){var w,P;return function(I){y.value>=0&&(I||C)&&((P=y.value-(w||0))||void 0===w)&&(w=y.value,y.delta=P,y.rating=function(n,y){return n>y[1]?\"poor\":n>y[0]?\"needs-improvement\":\"good\"}(y.value,T),n(y))}},N=-1,v=function(){return\"hidden\"!==document.visibilityState||document.prerendering?1/0:0},m=function(){d((function(n){var y=n.timeStamp;N=y}),!0)},h=function(){return N<0&&(N=v(),m(),o((function(){setTimeout((function(){N=v(),m()}),0)}))),{get firstHiddenTime(){return N}}},g=function(n,y){y=y||{};var T,C=[1800,3e3],w=h(),P=f(\"FCP\"),c=function(n){n.forEach((function(n){\"first-contentful-paint\"===n.name&&(k&&k.disconnect(),n.startTime<w.firstHiddenTime&&(P.value=n.startTime-u(),P.entries.push(n),T(!0)))}))},I=window.performance&&window.performance.getEntriesByName&&window.performance.getEntriesByName(\"first-contentful-paint\")[0],k=I?null:s(\"paint\",c);(I||k)&&(T=l(n,P,C,y.reportAllChanges),I&&c([I]),o((function(w){P=f(\"FCP\"),T=l(n,P,C,y.reportAllChanges),requestAnimationFrame((function(){requestAnimationFrame((function(){P.value=performance.now()-w.timeStamp,T(!0)}))}))})))},j=!1,q=-1,E=function(n,y){y=y||{};var T=[.1,.25];j||(g((function(n){q=n.value})),j=!0);var C,i=function(y){q>-1&&n(y)},w=f(\"CLS\",0),P=0,I=[],p=function(n){n.forEach((function(n){if(!n.hadRecentInput){var y=I[0],T=I[I.length-1];P&&n.startTime-T.startTime<1e3&&n.startTime-y.startTime<5e3?(P+=n.value,I.push(n)):(P=n.value,I=[n]),P>w.value&&(w.value=P,w.entries=I,C())}}))},k=s(\"layout-shift\",p);k&&(C=l(i,w,T,y.reportAllChanges),d((function(){p(k.takeRecords()),C(!0)})),o((function(){P=0,q=-1,w=f(\"CLS\",0),C=l(i,w,T,y.reportAllChanges)})))},x={passive:!0,capture:!0},z=new Date,L=function(n,y){T||(T=y,C=n,w=new Date,A(removeEventListener),S())},S=function(){if(C>=0&&C<w-z){var n={entryType:\"first-input\",name:T.type,target:T.target,cancelable:T.cancelable,startTime:T.timeStamp,processingStart:T.timeStamp+C};P.forEach((function(y){y(n)})),P=[]}},b=function(n){if(n.cancelable){var y=(n.timeStamp>1e12?new Date:performance.now())-n.timeStamp;\"pointerdown\"==n.type?function(n,y){var t=function(){L(n,y),i()},r=function(){i()},i=function(){removeEventListener(\"pointerup\",t,x),removeEventListener(\"pointercancel\",r,x)};addEventListener(\"pointerup\",t,x),addEventListener(\"pointercancel\",r,x)}(y,n):L(y,n)}},A=function(n){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(y){return n(y,b,x)}))},F=function(n,y){y=y||{};var w,I=[100,300],k=h(),N=f(\"FID\"),v=function(n){n.startTime<k.firstHiddenTime&&(N.value=n.processingStart-n.startTime,N.entries.push(n),w(!0))},m=function(n){n.forEach(v)},j=s(\"first-input\",m);w=l(n,N,I,y.reportAllChanges),j&&d((function(){m(j.takeRecords()),j.disconnect()}),!0),j&&o((function(){var k;N=f(\"FID\"),w=l(n,N,I,y.reportAllChanges),P=[],C=-1,T=null,A(addEventListener),k=v,P.push(k),S()}))},J=0,K=1/0,Q=0,M=function(n){n.forEach((function(n){n.interactionId&&(K=Math.min(K,n.interactionId),Q=Math.max(Q,n.interactionId),J=Q?(Q-K)/7+1:0)}))},B=function(){return I?J:performance.interactionCount||0},D=function(){\"interactionCount\"in performance||I||(I=s(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))},U=0,R=function(){return B()-U},V=[],W={},H=function(n){var y=V[V.length-1],T=W[n.interactionId];if(T||V.length<10||n.duration>y.latency){if(T)T.entries.push(n),T.latency=Math.max(T.latency,n.duration);else{var C={id:n.interactionId,latency:n.duration,entries:[n]};W[C.id]=C,V.push(C)}V.sort((function(n,y){return y.latency-n.latency})),V.splice(10).forEach((function(n){delete W[n.id]}))}},O=function(n,y){y=y||{};var T=[200,500];D();var C,w=f(\"INP\"),a=function(n){n.forEach((function(n){(n.interactionId&&H(n),\"first-input\"===n.entryType)&&(!V.some((function(y){return y.entries.some((function(y){return n.duration===y.duration&&n.startTime===y.startTime}))}))&&H(n))}));var y,T=(y=Math.min(V.length-1,Math.floor(R()/50)),V[y]);T&&T.latency!==w.value&&(w.value=T.latency,w.entries=T.entries,C())},P=s(\"event\",a,{durationThreshold:y.durationThreshold||40});C=l(n,w,T,y.reportAllChanges),P&&(P.observe({type:\"first-input\",buffered:!0}),d((function(){a(P.takeRecords()),w.value<0&&R()>0&&(w.value=0,w.entries=[]),C(!0)})),o((function(){V=[],U=B(),w=f(\"INP\"),C=l(n,w,T,y.reportAllChanges)})))},X={},_=function(n,y){y=y||{};var T,C=[2500,4e3],w=h(),P=f(\"LCP\"),c=function(n){var y=n[n.length-1];if(y){var C=y.startTime-u();C<w.firstHiddenTime&&(P.value=C,P.entries=[y],T())}},I=s(\"largest-contentful-paint\",c);if(I){T=l(n,P,C,y.reportAllChanges);var v=function(){X[P.id]||(c(I.takeRecords()),I.disconnect(),X[P.id]=!0,T(!0))};[\"keydown\",\"click\"].forEach((function(n){addEventListener(n,v,{once:!0,capture:!0})})),d(v,!0),o((function(w){P=f(\"LCP\"),T=l(n,P,C,y.reportAllChanges),requestAnimationFrame((function(){requestAnimationFrame((function(){P.value=performance.now()-w.timeStamp,X[P.id]=!0,T(!0)}))}))}))}},Y=function e(n){document.prerendering?addEventListener(\"prerenderingchange\",(function(){return e(n)}),!0):\"complete\"!==document.readyState?addEventListener(\"load\",(function(){return e(n)}),!0):setTimeout(n,0)},G=function(n,y){y=y||{};var T=[800,1800],C=f(\"TTFB\"),w=l(n,C,T,y.reportAllChanges);Y((function(){var P=c();if(P){if(C.value=Math.max(P.responseStart-u(),0),C.value<0||C.value>performance.now())return;C.entries=[P],w(!0),o((function(){C=f(\"TTFB\",0),(w=l(n,C,T,y.reportAllChanges))(!0)}))}}))};module.exports=y})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3dlYi12aXRhbHMvd2ViLXZpdGFscy5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsWUFBWSxhQUFhLFNBQVMsWUFBWSxrQkFBa0IsZ0JBQWdCLHdCQUF3QiwyQkFBMkIseUJBQXlCLEtBQUssR0FBRyxZQUFZLGtCQUFrQixrREFBa0QsR0FBRyxZQUFZLGdCQUFnQixvREFBb0QsNENBQTRDLGVBQWUsRUFBRSxzQ0FBc0MsV0FBVyxHQUFHLEdBQUcsK0JBQStCLFNBQVMsS0FBSyxTQUFTLE9BQU8sT0FBTyxrQkFBa0IsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxvQkFBb0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxtQkFBbUIsVUFBVSxFQUFFLGlDQUFpQyx5Q0FBeUMsa0NBQWtDLE1BQU0sY0FBYyx1R0FBdUcsY0FBYyxVQUFVLCtCQUErQixpQkFBaUIsdUJBQXVCLDZHQUE2RyxxS0FBcUssbUJBQW1CLElBQUksd0RBQXdELDJDQUEyQyxrQkFBa0IsR0FBRyxnQ0FBZ0MsbUJBQW1CLE1BQU0sTUFBTSxXQUFXLGlCQUFpQixvQkFBb0IseUpBQXlKLDRFQUE0RSxxQkFBcUIsUUFBUSxtQkFBbUIsa0dBQWtHLHVEQUF1RCxtQkFBbUIsbUJBQW1CLHVFQUF1RSxjQUFjLGVBQWUsa0JBQWtCLElBQUksTUFBTSxjQUFjLHFDQUFxQyx1QkFBdUIsVUFBVSxLQUFLLEtBQUssc0JBQXNCLFdBQVcsaUJBQWlCLFFBQVEsa0RBQWtELHVCQUF1Qix3SUFBd0ksR0FBRyxtSkFBbUosZ0VBQWdFLDJFQUEyRSxrQ0FBa0MsNENBQTRDLEdBQUcsR0FBRyxJQUFJLDJCQUEyQixRQUFRLGVBQWUsbUJBQW1CLFVBQVUsU0FBUyxvQkFBb0IsV0FBVyxxQ0FBcUMsdUJBQXVCLHNCQUFzQiwyQkFBMkIsNklBQTZJLEdBQUcsdUJBQXVCLGdEQUFnRCx5QkFBeUIsaUJBQWlCLG9EQUFvRCxJQUFJLElBQUksc0JBQXNCLDRCQUE0QixtREFBbUQsY0FBYyxnQkFBZ0IsT0FBTyxpSUFBaUksdUJBQXVCLEtBQUssU0FBUyxlQUFlLGlCQUFpQixnRUFBZ0Usb0NBQW9DLGlCQUFpQixXQUFXLGNBQWMsSUFBSSxjQUFjLCtFQUErRSx3RUFBd0UsY0FBYyxlQUFlLHdFQUF3RSxnQkFBZ0IsR0FBRyxpQkFBaUIsUUFBUSxpREFBaUQsK0ZBQStGLGVBQWUsYUFBYSxzQkFBc0IsK0NBQStDLGtDQUFrQyx1QkFBdUIsTUFBTSxnR0FBZ0csR0FBRyw2QkFBNkIsdUJBQXVCLCtGQUErRixHQUFHLGNBQWMsMkNBQTJDLGNBQWMscURBQXFELDZDQUE2QyxHQUFHLGtCQUFrQixhQUFhLFVBQVUsZUFBZSx5Q0FBeUMseUNBQXlDLGdFQUFnRSxLQUFLLE9BQU8sbURBQW1ELG9CQUFvQixzQkFBc0IsMkJBQTJCLHFDQUFxQyxlQUFlLElBQUksaUJBQWlCLFFBQVEsZ0JBQWdCLElBQUksK0JBQStCLHVCQUF1QiwyRUFBMkUsbUNBQW1DLDBEQUEwRCxHQUFHLFVBQVUsR0FBRyx5REFBeUQsb0VBQW9FLGdCQUFnQiwwQ0FBMEMsRUFBRSw2Q0FBNkMsK0JBQStCLGdCQUFnQixvRUFBb0UsaUJBQWlCLG9EQUFvRCxJQUFJLEtBQUssaUJBQWlCLFFBQVEsa0RBQWtELG9CQUFvQixNQUFNLHNCQUFzQixvREFBb0QsbUNBQW1DLE1BQU0sOEJBQThCLGlCQUFpQiwrREFBK0QseUNBQXlDLHNCQUFzQixtQkFBbUIsRUFBRSwwQkFBMEIsMkVBQTJFLGtDQUFrQyx1REFBdUQsR0FBRyxHQUFHLElBQUksaUJBQWlCLHdFQUF3RSxZQUFZLDJFQUEyRSxZQUFZLHNCQUFzQixpQkFBaUIsUUFBUSwyREFBMkQsY0FBYyxVQUFVLE1BQU0sdUZBQXVGLGtDQUFrQyxrREFBa0QsSUFBSSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3dlYi12aXRhbHMvd2ViLXZpdGFscy5qcz8wOWY0Il0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciBuPXt9OyFmdW5jdGlvbigpe24uZD1mdW5jdGlvbih5LFQpe2Zvcih2YXIgQyBpbiBUKXtpZihuLm8oVCxDKSYmIW4ubyh5LEMpKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoeSxDLHtlbnVtZXJhYmxlOnRydWUsZ2V0OlRbQ119KX19fX0oKTshZnVuY3Rpb24oKXtuLm89ZnVuY3Rpb24obix5KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4seSl9fSgpOyFmdW5jdGlvbigpe24ucj1mdW5jdGlvbihuKXtpZih0eXBlb2YgU3ltYm9sIT09XCJ1bmRlZmluZWRcIiYmU3ltYm9sLnRvU3RyaW5nVGFnKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobixTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOlwiTW9kdWxlXCJ9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkobixcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pfX0oKTtpZih0eXBlb2YgbiE9PVwidW5kZWZpbmVkXCIpbi5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIHk9e307bi5yKHkpO24uZCh5LHtnZXRDTFM6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sZ2V0RkNQOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LGdldEZJRDpmdW5jdGlvbigpe3JldHVybiBGfSxnZXRJTlA6ZnVuY3Rpb24oKXtyZXR1cm4gT30sZ2V0TENQOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGdldFRURkI6ZnVuY3Rpb24oKXtyZXR1cm4gR30sb25DTFM6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sb25GQ1A6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sb25GSUQ6ZnVuY3Rpb24oKXtyZXR1cm4gRn0sb25JTlA6ZnVuY3Rpb24oKXtyZXR1cm4gT30sb25MQ1A6ZnVuY3Rpb24oKXtyZXR1cm4gX30sb25UVEZCOmZ1bmN0aW9uKCl7cmV0dXJuIEd9fSk7dmFyIFQsQyx3LFAsSSxrPS0xLG89ZnVuY3Rpb24obil7YWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VzaG93XCIsKGZ1bmN0aW9uKHkpe3kucGVyc2lzdGVkJiYoaz15LnRpbWVTdGFtcCxuKHkpKX0pLCEwKX0sYz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoXCJuYXZpZ2F0aW9uXCIpWzBdfSx1PWZ1bmN0aW9uKCl7dmFyIG49YygpO3JldHVybiBuJiZuLmFjdGl2YXRpb25TdGFydHx8MH0sZj1mdW5jdGlvbihuLHkpe3ZhciBUPWMoKSxDPVwibmF2aWdhdGVcIjtyZXR1cm4gaz49MD9DPVwiYmFjay1mb3J3YXJkLWNhY2hlXCI6VCYmKEM9ZG9jdW1lbnQucHJlcmVuZGVyaW5nfHx1KCk+MD9cInByZXJlbmRlclwiOlQudHlwZS5yZXBsYWNlKC9fL2csXCItXCIpKSx7bmFtZTpuLHZhbHVlOnZvaWQgMD09PXk/LTE6eSxyYXRpbmc6XCJnb29kXCIsZGVsdGE6MCxlbnRyaWVzOltdLGlkOlwidjMtXCIuY29uY2F0KERhdGUubm93KCksXCItXCIpLmNvbmNhdChNYXRoLmZsb29yKDg5OTk5OTk5OTk5OTkqTWF0aC5yYW5kb20oKSkrMWUxMiksbmF2aWdhdGlvblR5cGU6Q319LHM9ZnVuY3Rpb24obix5LFQpe3RyeXtpZihQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMobikpe3ZhciBDPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChmdW5jdGlvbihuKXt5KG4uZ2V0RW50cmllcygpKX0pKTtyZXR1cm4gQy5vYnNlcnZlKE9iamVjdC5hc3NpZ24oe3R5cGU6bixidWZmZXJlZDohMH0sVHx8e30pKSxDfX1jYXRjaChuKXt9fSxkPWZ1bmN0aW9uKG4seSl7dmFyIFQ9ZnVuY3Rpb24gdChUKXtcInBhZ2VoaWRlXCIhPT1ULnR5cGUmJlwiaGlkZGVuXCIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGV8fChuKFQpLHkmJihyZW1vdmVFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLHQsITApLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwYWdlaGlkZVwiLHQsITApKSl9O2FkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsVCwhMCksYWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VoaWRlXCIsVCwhMCl9LGw9ZnVuY3Rpb24obix5LFQsQyl7dmFyIHcsUDtyZXR1cm4gZnVuY3Rpb24oSSl7eS52YWx1ZT49MCYmKEl8fEMpJiYoKFA9eS52YWx1ZS0od3x8MCkpfHx2b2lkIDA9PT13KSYmKHc9eS52YWx1ZSx5LmRlbHRhPVAseS5yYXRpbmc9ZnVuY3Rpb24obix5KXtyZXR1cm4gbj55WzFdP1wicG9vclwiOm4+eVswXT9cIm5lZWRzLWltcHJvdmVtZW50XCI6XCJnb29kXCJ9KHkudmFsdWUsVCksbih5KSl9fSxOPS0xLHY9ZnVuY3Rpb24oKXtyZXR1cm5cImhpZGRlblwiIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlfHxkb2N1bWVudC5wcmVyZW5kZXJpbmc/MS8wOjB9LG09ZnVuY3Rpb24oKXtkKChmdW5jdGlvbihuKXt2YXIgeT1uLnRpbWVTdGFtcDtOPXl9KSwhMCl9LGg9ZnVuY3Rpb24oKXtyZXR1cm4gTjwwJiYoTj12KCksbSgpLG8oKGZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtOPXYoKSxtKCl9KSwwKX0pKSkse2dldCBmaXJzdEhpZGRlblRpbWUoKXtyZXR1cm4gTn19fSxnPWZ1bmN0aW9uKG4seSl7eT15fHx7fTt2YXIgVCxDPVsxODAwLDNlM10sdz1oKCksUD1mKFwiRkNQXCIpLGM9ZnVuY3Rpb24obil7bi5mb3JFYWNoKChmdW5jdGlvbihuKXtcImZpcnN0LWNvbnRlbnRmdWwtcGFpbnRcIj09PW4ubmFtZSYmKGsmJmsuZGlzY29ubmVjdCgpLG4uc3RhcnRUaW1lPHcuZmlyc3RIaWRkZW5UaW1lJiYoUC52YWx1ZT1uLnN0YXJ0VGltZS11KCksUC5lbnRyaWVzLnB1c2gobiksVCghMCkpKX0pKX0sST13aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShcImZpcnN0LWNvbnRlbnRmdWwtcGFpbnRcIilbMF0saz1JP251bGw6cyhcInBhaW50XCIsYyk7KEl8fGspJiYoVD1sKG4sUCxDLHkucmVwb3J0QWxsQ2hhbmdlcyksSSYmYyhbSV0pLG8oKGZ1bmN0aW9uKHcpe1A9ZihcIkZDUFwiKSxUPWwobixQLEMseS5yZXBvcnRBbGxDaGFuZ2VzKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe1AudmFsdWU9cGVyZm9ybWFuY2Uubm93KCktdy50aW1lU3RhbXAsVCghMCl9KSl9KSl9KSkpfSxqPSExLHE9LTEsRT1mdW5jdGlvbihuLHkpe3k9eXx8e307dmFyIFQ9Wy4xLC4yNV07anx8KGcoKGZ1bmN0aW9uKG4pe3E9bi52YWx1ZX0pKSxqPSEwKTt2YXIgQyxpPWZ1bmN0aW9uKHkpe3E+LTEmJm4oeSl9LHc9ZihcIkNMU1wiLDApLFA9MCxJPVtdLHA9ZnVuY3Rpb24obil7bi5mb3JFYWNoKChmdW5jdGlvbihuKXtpZighbi5oYWRSZWNlbnRJbnB1dCl7dmFyIHk9SVswXSxUPUlbSS5sZW5ndGgtMV07UCYmbi5zdGFydFRpbWUtVC5zdGFydFRpbWU8MWUzJiZuLnN0YXJ0VGltZS15LnN0YXJ0VGltZTw1ZTM/KFArPW4udmFsdWUsSS5wdXNoKG4pKTooUD1uLnZhbHVlLEk9W25dKSxQPncudmFsdWUmJih3LnZhbHVlPVAsdy5lbnRyaWVzPUksQygpKX19KSl9LGs9cyhcImxheW91dC1zaGlmdFwiLHApO2smJihDPWwoaSx3LFQseS5yZXBvcnRBbGxDaGFuZ2VzKSxkKChmdW5jdGlvbigpe3Aoay50YWtlUmVjb3JkcygpKSxDKCEwKX0pKSxvKChmdW5jdGlvbigpe1A9MCxxPS0xLHc9ZihcIkNMU1wiLDApLEM9bChpLHcsVCx5LnJlcG9ydEFsbENoYW5nZXMpfSkpKX0seD17cGFzc2l2ZTohMCxjYXB0dXJlOiEwfSx6PW5ldyBEYXRlLEw9ZnVuY3Rpb24obix5KXtUfHwoVD15LEM9bix3PW5ldyBEYXRlLEEocmVtb3ZlRXZlbnRMaXN0ZW5lciksUygpKX0sUz1mdW5jdGlvbigpe2lmKEM+PTAmJkM8dy16KXt2YXIgbj17ZW50cnlUeXBlOlwiZmlyc3QtaW5wdXRcIixuYW1lOlQudHlwZSx0YXJnZXQ6VC50YXJnZXQsY2FuY2VsYWJsZTpULmNhbmNlbGFibGUsc3RhcnRUaW1lOlQudGltZVN0YW1wLHByb2Nlc3NpbmdTdGFydDpULnRpbWVTdGFtcCtDfTtQLmZvckVhY2goKGZ1bmN0aW9uKHkpe3kobil9KSksUD1bXX19LGI9ZnVuY3Rpb24obil7aWYobi5jYW5jZWxhYmxlKXt2YXIgeT0obi50aW1lU3RhbXA+MWUxMj9uZXcgRGF0ZTpwZXJmb3JtYW5jZS5ub3coKSktbi50aW1lU3RhbXA7XCJwb2ludGVyZG93blwiPT1uLnR5cGU/ZnVuY3Rpb24obix5KXt2YXIgdD1mdW5jdGlvbigpe0wobix5KSxpKCl9LHI9ZnVuY3Rpb24oKXtpKCl9LGk9ZnVuY3Rpb24oKXtyZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcnVwXCIsdCx4KSxyZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcmNhbmNlbFwiLHIseCl9O2FkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIix0LHgpLGFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVyY2FuY2VsXCIscix4KX0oeSxuKTpMKHksbil9fSxBPWZ1bmN0aW9uKG4pe1tcIm1vdXNlZG93blwiLFwia2V5ZG93blwiLFwidG91Y2hzdGFydFwiLFwicG9pbnRlcmRvd25cIl0uZm9yRWFjaCgoZnVuY3Rpb24oeSl7cmV0dXJuIG4oeSxiLHgpfSkpfSxGPWZ1bmN0aW9uKG4seSl7eT15fHx7fTt2YXIgdyxJPVsxMDAsMzAwXSxrPWgoKSxOPWYoXCJGSURcIiksdj1mdW5jdGlvbihuKXtuLnN0YXJ0VGltZTxrLmZpcnN0SGlkZGVuVGltZSYmKE4udmFsdWU9bi5wcm9jZXNzaW5nU3RhcnQtbi5zdGFydFRpbWUsTi5lbnRyaWVzLnB1c2gobiksdyghMCkpfSxtPWZ1bmN0aW9uKG4pe24uZm9yRWFjaCh2KX0saj1zKFwiZmlyc3QtaW5wdXRcIixtKTt3PWwobixOLEkseS5yZXBvcnRBbGxDaGFuZ2VzKSxqJiZkKChmdW5jdGlvbigpe20oai50YWtlUmVjb3JkcygpKSxqLmRpc2Nvbm5lY3QoKX0pLCEwKSxqJiZvKChmdW5jdGlvbigpe3ZhciBrO049ZihcIkZJRFwiKSx3PWwobixOLEkseS5yZXBvcnRBbGxDaGFuZ2VzKSxQPVtdLEM9LTEsVD1udWxsLEEoYWRkRXZlbnRMaXN0ZW5lciksaz12LFAucHVzaChrKSxTKCl9KSl9LEo9MCxLPTEvMCxRPTAsTT1mdW5jdGlvbihuKXtuLmZvckVhY2goKGZ1bmN0aW9uKG4pe24uaW50ZXJhY3Rpb25JZCYmKEs9TWF0aC5taW4oSyxuLmludGVyYWN0aW9uSWQpLFE9TWF0aC5tYXgoUSxuLmludGVyYWN0aW9uSWQpLEo9UT8oUS1LKS83KzE6MCl9KSl9LEI9ZnVuY3Rpb24oKXtyZXR1cm4gST9KOnBlcmZvcm1hbmNlLmludGVyYWN0aW9uQ291bnR8fDB9LEQ9ZnVuY3Rpb24oKXtcImludGVyYWN0aW9uQ291bnRcImluIHBlcmZvcm1hbmNlfHxJfHwoST1zKFwiZXZlbnRcIixNLHt0eXBlOlwiZXZlbnRcIixidWZmZXJlZDohMCxkdXJhdGlvblRocmVzaG9sZDowfSkpfSxVPTAsUj1mdW5jdGlvbigpe3JldHVybiBCKCktVX0sVj1bXSxXPXt9LEg9ZnVuY3Rpb24obil7dmFyIHk9VltWLmxlbmd0aC0xXSxUPVdbbi5pbnRlcmFjdGlvbklkXTtpZihUfHxWLmxlbmd0aDwxMHx8bi5kdXJhdGlvbj55LmxhdGVuY3kpe2lmKFQpVC5lbnRyaWVzLnB1c2gobiksVC5sYXRlbmN5PU1hdGgubWF4KFQubGF0ZW5jeSxuLmR1cmF0aW9uKTtlbHNle3ZhciBDPXtpZDpuLmludGVyYWN0aW9uSWQsbGF0ZW5jeTpuLmR1cmF0aW9uLGVudHJpZXM6W25dfTtXW0MuaWRdPUMsVi5wdXNoKEMpfVYuc29ydCgoZnVuY3Rpb24obix5KXtyZXR1cm4geS5sYXRlbmN5LW4ubGF0ZW5jeX0pKSxWLnNwbGljZSgxMCkuZm9yRWFjaCgoZnVuY3Rpb24obil7ZGVsZXRlIFdbbi5pZF19KSl9fSxPPWZ1bmN0aW9uKG4seSl7eT15fHx7fTt2YXIgVD1bMjAwLDUwMF07RCgpO3ZhciBDLHc9ZihcIklOUFwiKSxhPWZ1bmN0aW9uKG4pe24uZm9yRWFjaCgoZnVuY3Rpb24obil7KG4uaW50ZXJhY3Rpb25JZCYmSChuKSxcImZpcnN0LWlucHV0XCI9PT1uLmVudHJ5VHlwZSkmJighVi5zb21lKChmdW5jdGlvbih5KXtyZXR1cm4geS5lbnRyaWVzLnNvbWUoKGZ1bmN0aW9uKHkpe3JldHVybiBuLmR1cmF0aW9uPT09eS5kdXJhdGlvbiYmbi5zdGFydFRpbWU9PT15LnN0YXJ0VGltZX0pKX0pKSYmSChuKSl9KSk7dmFyIHksVD0oeT1NYXRoLm1pbihWLmxlbmd0aC0xLE1hdGguZmxvb3IoUigpLzUwKSksVlt5XSk7VCYmVC5sYXRlbmN5IT09dy52YWx1ZSYmKHcudmFsdWU9VC5sYXRlbmN5LHcuZW50cmllcz1ULmVudHJpZXMsQygpKX0sUD1zKFwiZXZlbnRcIixhLHtkdXJhdGlvblRocmVzaG9sZDp5LmR1cmF0aW9uVGhyZXNob2xkfHw0MH0pO0M9bChuLHcsVCx5LnJlcG9ydEFsbENoYW5nZXMpLFAmJihQLm9ic2VydmUoe3R5cGU6XCJmaXJzdC1pbnB1dFwiLGJ1ZmZlcmVkOiEwfSksZCgoZnVuY3Rpb24oKXthKFAudGFrZVJlY29yZHMoKSksdy52YWx1ZTwwJiZSKCk+MCYmKHcudmFsdWU9MCx3LmVudHJpZXM9W10pLEMoITApfSkpLG8oKGZ1bmN0aW9uKCl7Vj1bXSxVPUIoKSx3PWYoXCJJTlBcIiksQz1sKG4sdyxULHkucmVwb3J0QWxsQ2hhbmdlcyl9KSkpfSxYPXt9LF89ZnVuY3Rpb24obix5KXt5PXl8fHt9O3ZhciBULEM9WzI1MDAsNGUzXSx3PWgoKSxQPWYoXCJMQ1BcIiksYz1mdW5jdGlvbihuKXt2YXIgeT1uW24ubGVuZ3RoLTFdO2lmKHkpe3ZhciBDPXkuc3RhcnRUaW1lLXUoKTtDPHcuZmlyc3RIaWRkZW5UaW1lJiYoUC52YWx1ZT1DLFAuZW50cmllcz1beV0sVCgpKX19LEk9cyhcImxhcmdlc3QtY29udGVudGZ1bC1wYWludFwiLGMpO2lmKEkpe1Q9bChuLFAsQyx5LnJlcG9ydEFsbENoYW5nZXMpO3ZhciB2PWZ1bmN0aW9uKCl7WFtQLmlkXXx8KGMoSS50YWtlUmVjb3JkcygpKSxJLmRpc2Nvbm5lY3QoKSxYW1AuaWRdPSEwLFQoITApKX07W1wia2V5ZG93blwiLFwiY2xpY2tcIl0uZm9yRWFjaCgoZnVuY3Rpb24obil7YWRkRXZlbnRMaXN0ZW5lcihuLHYse29uY2U6ITAsY2FwdHVyZTohMH0pfSkpLGQodiwhMCksbygoZnVuY3Rpb24odyl7UD1mKFwiTENQXCIpLFQ9bChuLFAsQyx5LnJlcG9ydEFsbENoYW5nZXMpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7UC52YWx1ZT1wZXJmb3JtYW5jZS5ub3coKS13LnRpbWVTdGFtcCxYW1AuaWRdPSEwLFQoITApfSkpfSkpfSkpfX0sWT1mdW5jdGlvbiBlKG4pe2RvY3VtZW50LnByZXJlbmRlcmluZz9hZGRFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUobil9KSwhMCk6XCJjb21wbGV0ZVwiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLChmdW5jdGlvbigpe3JldHVybiBlKG4pfSksITApOnNldFRpbWVvdXQobiwwKX0sRz1mdW5jdGlvbihuLHkpe3k9eXx8e307dmFyIFQ9WzgwMCwxODAwXSxDPWYoXCJUVEZCXCIpLHc9bChuLEMsVCx5LnJlcG9ydEFsbENoYW5nZXMpO1koKGZ1bmN0aW9uKCl7dmFyIFA9YygpO2lmKFApe2lmKEMudmFsdWU9TWF0aC5tYXgoUC5yZXNwb25zZVN0YXJ0LXUoKSwwKSxDLnZhbHVlPDB8fEMudmFsdWU+cGVyZm9ybWFuY2Uubm93KCkpcmV0dXJuO0MuZW50cmllcz1bUF0sdyghMCksbygoZnVuY3Rpb24oKXtDPWYoXCJUVEZCXCIsMCksKHc9bChuLEMsVCx5LnJlcG9ydEFsbENoYW5nZXMpKSghMCl9KSl9fSkpfTttb2R1bGUuZXhwb3J0cz15fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/web-vitals/web-vitals.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-api-route.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/is-api-route.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isAPIRoute\", ({\n enumerable: true,\n get: function() {\n return isAPIRoute;\n }\n}));\nfunction isAPIRoute(value) {\n return value === \"/api\" || Boolean(value == null ? void 0 : value.startsWith(\"/api/\"));\n}\n\n//# sourceMappingURL=is-api-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1hcGktcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRiw4Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtYXBpLXJvdXRlLmpzPzE2ODEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0FQSVJvdXRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0FQSVJvdXRlO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaXNBUElSb3V0ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gXCIvYXBpXCIgfHwgQm9vbGVhbih2YWx1ZSA9PSBudWxsID8gdm9pZCAwIDogdmFsdWUuc3RhcnRzV2l0aChcIi9hcGkvXCIpKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtYXBpLXJvdXRlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-api-route.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"./node_modules/next/dist/shared/lib/is-plain-object.js\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyw2RkFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtZXJyb3IuanM/MTc4ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgZ2V0UHJvcGVyRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Vycm9yO1xuICAgIH0sXG4gICAgZ2V0UHJvcGVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UHJvcGVyRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaXNwbGFpbm9iamVjdCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2lzLXBsYWluLW9iamVjdFwiKTtcbmZ1bmN0aW9uIGlzRXJyb3IoZXJyKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBlcnIgPT09IFwib2JqZWN0XCIgJiYgZXJyICE9PSBudWxsICYmIFwibmFtZVwiIGluIGVyciAmJiBcIm1lc3NhZ2VcIiBpbiBlcnI7XG59XG5mdW5jdGlvbiBnZXRQcm9wZXJFcnJvcihlcnIpIHtcbiAgICBpZiAoaXNFcnJvcihlcnIpKSB7XG4gICAgICAgIHJldHVybiBlcnI7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIC8vIHByb3ZpZGUgYmV0dGVyIGVycm9yIGZvciBjYXNlIHdoZXJlIGB0aHJvdyB1bmRlZmluZWRgXG4gICAgICAgIC8vIGlzIGNhbGxlZCBpbiBkZXZlbG9wbWVudFxuICAgICAgICBpZiAodHlwZW9mIGVyciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkFuIHVuZGVmaW5lZCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnIgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXCJBIG51bGwgZXJyb3Igd2FzIHRocm93biwgXCIgKyBcInNlZSBoZXJlIGZvciBtb3JlIGluZm86IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3RocmV3LXVuZGVmaW5lZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEVycm9yKCgwLCBfaXNwbGFpbm9iamVjdC5pc1BsYWluT2JqZWN0KShlcnIpID8gSlNPTi5zdHJpbmdpZnkoZXJyKSA6IGVyciArIFwiXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1lcnJvci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js ***! - \*************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"extractModulesFromTurbopackMessage\", ({\n enumerable: true,\n get: function() {\n return extractModulesFromTurbopackMessage;\n }\n}));\nfunction extractModulesFromTurbopackMessage(data) {\n const updatedModules = new Set();\n const updates = Array.isArray(data) ? data : [\n data\n ];\n for (const update of updates){\n // TODO this won't capture changes to CSS since they don't result in a \"merged\" update\n if (update.type !== \"partial\" || update.instruction.type !== \"ChunkListUpdate\" || update.instruction.merged === undefined) {\n continue;\n }\n for (const mergedUpdate of update.instruction.merged){\n for (const name of Object.keys(mergedUpdate.entries)){\n const res = /(.*)\\s+\\[.*/.exec(name);\n if (res === null) {\n console.error(\"[Turbopack HMR] Expected module to match pattern: \" + name);\n continue;\n }\n updatedModules.add(res[1]);\n }\n }\n }\n return [\n ...updatedModules\n ];\n}\n\n//# sourceMappingURL=extract-modules-from-turbopack-message.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvZXh0cmFjdC1tb2R1bGVzLWZyb20tdHVyYm9wYWNrLW1lc3NhZ2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixzRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvZXh0cmFjdC1tb2R1bGVzLWZyb20tdHVyYm9wYWNrLW1lc3NhZ2UuanM/MjIzMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2U7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBleHRyYWN0TW9kdWxlc0Zyb21UdXJib3BhY2tNZXNzYWdlKGRhdGEpIHtcbiAgICBjb25zdCB1cGRhdGVkTW9kdWxlcyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCB1cGRhdGVzID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEgOiBbXG4gICAgICAgIGRhdGFcbiAgICBdO1xuICAgIGZvciAoY29uc3QgdXBkYXRlIG9mIHVwZGF0ZXMpe1xuICAgICAgICAvLyBUT0RPIHRoaXMgd29uJ3QgY2FwdHVyZSBjaGFuZ2VzIHRvIENTUyBzaW5jZSB0aGV5IGRvbid0IHJlc3VsdCBpbiBhIFwibWVyZ2VkXCIgdXBkYXRlXG4gICAgICAgIGlmICh1cGRhdGUudHlwZSAhPT0gXCJwYXJ0aWFsXCIgfHwgdXBkYXRlLmluc3RydWN0aW9uLnR5cGUgIT09IFwiQ2h1bmtMaXN0VXBkYXRlXCIgfHwgdXBkYXRlLmluc3RydWN0aW9uLm1lcmdlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG1lcmdlZFVwZGF0ZSBvZiB1cGRhdGUuaW5zdHJ1Y3Rpb24ubWVyZ2VkKXtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhtZXJnZWRVcGRhdGUuZW50cmllcykpe1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IC8oLiopXFxzK1xcWy4qLy5leGVjKG5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChyZXMgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltUdXJib3BhY2sgSE1SXSBFeHBlY3RlZCBtb2R1bGUgdG8gbWF0Y2ggcGF0dGVybjogXCIgKyBuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHVwZGF0ZWRNb2R1bGVzLmFkZChyZXNbMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICAgIC4uLnVwZGF0ZWRNb2R1bGVzXG4gICAgXTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXh0cmFjdC1tb2R1bGVzLWZyb20tdHVyYm9wYWNrLW1lc3NhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/server/dev/hot-reloader-types.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/server/dev/hot-reloader-types.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HMR_ACTIONS_SENT_TO_BROWSER\", ({\n enumerable: true,\n get: function() {\n return HMR_ACTIONS_SENT_TO_BROWSER;\n }\n}));\nvar HMR_ACTIONS_SENT_TO_BROWSER;\n(function(HMR_ACTIONS_SENT_TO_BROWSER) {\n HMR_ACTIONS_SENT_TO_BROWSER[\"ADDED_PAGE\"] = \"addedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"REMOVED_PAGE\"] = \"removedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"RELOAD_PAGE\"] = \"reloadPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_COMPONENT_CHANGES\"] = \"serverComponentChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"MIDDLEWARE_CHANGES\"] = \"middlewareChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"CLIENT_CHANGES\"] = \"clientChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ONLY_CHANGES\"] = \"serverOnlyChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SYNC\"] = \"sync\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILT\"] = \"built\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILDING\"] = \"building\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"DEV_PAGES_MANIFEST_UPDATE\"] = \"devPagesManifestUpdate\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_MESSAGE\"] = \"turbopack-message\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ERROR\"] = \"serverError\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_CONNECTED\"] = \"turbopack-connected\";\n})(HMR_ACTIONS_SENT_TO_BROWSER || (HMR_ACTIONS_SENT_TO_BROWSER = {}));\n\n//# sourceMappingURL=hot-reloader-types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsK0RBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLGtFQUFrRTs7QUFFbkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZGV2L2hvdC1yZWxvYWRlci10eXBlcy5qcz9iZmFhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVI7XG4gICAgfVxufSk7XG52YXIgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSO1xuKGZ1bmN0aW9uKEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUikge1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkFEREVEX1BBR0VcIl0gPSBcImFkZGVkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlJFTU9WRURfUEFHRVwiXSA9IFwicmVtb3ZlZFBhZ2VcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJSRUxPQURfUEFHRVwiXSA9IFwicmVsb2FkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFU1wiXSA9IFwic2VydmVyQ29tcG9uZW50Q2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIk1JRERMRVdBUkVfQ0hBTkdFU1wiXSA9IFwibWlkZGxld2FyZUNoYW5nZXNcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJDTElFTlRfQ0hBTkdFU1wiXSA9IFwiY2xpZW50Q2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9PTkxZX0NIQU5HRVNcIl0gPSBcInNlcnZlck9ubHlDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU1lOQ1wiXSA9IFwic3luY1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkJVSUxUXCJdID0gXCJidWlsdFwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkJVSUxESU5HXCJdID0gXCJidWlsZGluZ1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEVcIl0gPSBcImRldlBhZ2VzTWFuaWZlc3RVcGRhdGVcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJUVVJCT1BBQ0tfTUVTU0FHRVwiXSA9IFwidHVyYm9wYWNrLW1lc3NhZ2VcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJTRVJWRVJfRVJST1JcIl0gPSBcInNlcnZlckVycm9yXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiVFVSQk9QQUNLX0NPTk5FQ1RFRFwiXSA9IFwidHVyYm9wYWNrLWNvbm5lY3RlZFwiO1xufSkoSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIHx8IChITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob3QtcmVsb2FkZXItdHlwZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/dev/hot-reloader-types.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/helpers/interception-routes.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWtCLG1CQUFPLENBQUMsaUhBQTRDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsS0FBSztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUI7QUFDeEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsS0FBSztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXMuanM/MzVjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBudWxsLFxuICAgIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uOiBudWxsLFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTO1xuICAgIH0sXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb247XG4gICAgfSxcbiAgICBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF9hcHBwYXRocyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIik7XG5jb25zdCBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyA9IFtcbiAgICBcIiguLikoLi4pXCIsXG4gICAgXCIoLilcIixcbiAgICBcIiguLilcIixcbiAgICBcIiguLi4pXCJcbl07XG5mdW5jdGlvbiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aChwYXRoKSB7XG4gICAgLy8gVE9ETy1BUFA6IGFkZCBtb3JlIHNlcmlvdXMgdmFsaWRhdGlvblxuICAgIHJldHVybiBwYXRoLnNwbGl0KFwiL1wiKS5maW5kKChzZWdtZW50KT0+SU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSkpICE9PSB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbihwYXRoKSB7XG4gICAgbGV0IGludGVyY2VwdGluZ1JvdXRlLCBtYXJrZXIsIGludGVyY2VwdGVkUm91dGU7XG4gICAgZm9yIChjb25zdCBzZWdtZW50IG9mIHBhdGguc3BsaXQoXCIvXCIpKXtcbiAgICAgICAgbWFya2VyID0gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgIGlmIChtYXJrZXIpIHtcbiAgICAgICAgICAgIFtpbnRlcmNlcHRpbmdSb3V0ZSwgaW50ZXJjZXB0ZWRSb3V0ZV0gPSBwYXRoLnNwbGl0KG1hcmtlciwgMik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWludGVyY2VwdGluZ1JvdXRlIHx8ICFtYXJrZXIgfHwgIWludGVyY2VwdGVkUm91dGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApO1xuICAgIH1cbiAgICBpbnRlcmNlcHRpbmdSb3V0ZSA9ICgwLCBfYXBwcGF0aHMubm9ybWFsaXplQXBwUGF0aCkoaW50ZXJjZXB0aW5nUm91dGUpIC8vIG5vcm1hbGl6ZSB0aGUgcGF0aCwgZS5nLiAvKGJsb2cpL2ZlZWQgLT4gL2ZlZWRcbiAgICA7XG4gICAgc3dpdGNoKG1hcmtlcil7XG4gICAgICAgIGNhc2UgXCIoLilcIjpcbiAgICAgICAgICAgIC8vICguKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggd2l0aCBzaWJsaW5nIHJvdXRlcywgc28gd2UganVzdCBuZWVkIHRvIGFwcGVuZCB0aGUgaW50ZXJjZXB0ZWQgcm91dGUgdG8gdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgaWYgKGludGVyY2VwdGluZ1JvdXRlID09PSBcIi9cIikge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBgLyR7aW50ZXJjZXB0ZWRSb3V0ZX1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUgKyBcIi9cIiArIGludGVyY2VwdGVkUm91dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLilcIjpcbiAgICAgICAgICAgIC8vICguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IG9uZSBsZXZlbCB1cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCwgdXNlICguKSBpbnN0ZWFkLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKS5zbGljZSgwLCAtMSkuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uLikgd2lsbCBtYXRjaCB0aGUgcm91dGUgc2VnbWVudCBpbiB0aGUgcm9vdCBkaXJlY3RvcnksIHNvIHdlIG5lZWQgdG8gdXNlIHRoZSByb290IGRpcmVjdG9yeSB0byBwcmVwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKSguLilcIjpcbiAgICAgICAgICAgIC8vICguLikoLi4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCBhdCB0d28gbGV2ZWxzIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCB0d28gc2VnbWVudHMgb2YgdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgY29uc3Qgc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgIGlmIChzcGxpdEludGVyY2VwdGluZ1JvdXRlLmxlbmd0aCA8PSAyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwgb3Igb25lIGxldmVsIHVwLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IHNwbGl0SW50ZXJjZXB0aW5nUm91dGUuc2xpY2UoMCwgLTIpLmNvbmNhdChpbnRlcmNlcHRlZFJvdXRlKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaW50ZXJjZXB0aW5nUm91dGUsXG4gICAgICAgIGludGVyY2VwdGVkUm91dGVcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnRlcmNlcHRpb24tcm91dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/helpers/interception-routes.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/cjs/react-dom.development.js": -/*!*************************************************************!*\ - !*** ./node_modules/react-dom/cjs/react-dom.development.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-dom.development.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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar Scheduler = __webpack_require__(/*! scheduler */ \"./node_modules/scheduler/index.js\");\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\n\n// -----------------------------------------------------------------------------\n\nvar enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing\n// the react-reconciler package.\n\nvar enableNewReconciler = false; // Support legacy Primer support on internal FB www\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\nvar enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection.\n// and client rendering, mostly to allow JSX attributes to apply to the custom\n// element's object properties instead of only HTML attributes.\n// https://github.com/facebook/react/issues/11347\n\nvar enableCustomElementPropertySupport = false; // Disables children for <textarea> elements\nvar warnAboutStringRefs = false; // -----------------------------------------------------------------------------\n// Debugging and DevTools\n// -----------------------------------------------------------------------------\n// Adds user timing marks for e.g. state updates, suspense, and work loop stuff,\n// for an experimental timeline tool.\n\nvar enableSchedulingProfiler = true; // Helps identify side effects in render-phase lifecycle hooks and setState\n\nvar enableProfilerTimer = true; // Record durations for commit and passive effects phases.\n\nvar enableProfilerCommitHooks = true; // Phase param passed to onRender callback differentiates between an \"update\" and a \"cascading-update\".\n\nvar allNativeEvents = new Set();\n/**\n * Mapping from registration name to event name\n */\n\n\nvar registrationNameDependencies = {};\n/**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in true.\n * @type {Object}\n */\n\nvar possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true\n\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + 'Capture', dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n {\n if (registrationNameDependencies[registrationName]) {\n error('EventRegistry: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName);\n }\n }\n\n registrationNameDependencies[registrationName] = dependencies;\n\n {\n var lowerCasedName = registrationName.toLowerCase();\n possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n\n for (var i = 0; i < dependencies.length; i++) {\n allNativeEvents.add(dependencies[i]);\n }\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\n\nfunction checkAttributeStringCoercion(value, attributeName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` attribute is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', attributeName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkPropStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` prop is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkCSSPropertyStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` CSS property is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkHtmlStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided HTML markup uses a value of unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkFormFieldValueStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('Form field values (value, checked, defaultValue, or defaultChecked props)' + ' must be strings, not %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nvar RESERVED = 0; // A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\n\nvar STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\n\nvar BOOLEANISH_STRING = 2; // A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n\nvar BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\n\nvar OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\n\nvar NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\n\nvar POSITIVE_NUMERIC = 6;\n\n/* eslint-disable max-len */\nvar ATTRIBUTE_NAME_START_CHAR = \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n/* eslint-enable max-len */\n\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + \"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {\n return true;\n }\n\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {\n return false;\n }\n\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n\n illegalAttributeNameCache[attributeName] = true;\n\n {\n error('Invalid attribute name: `%s`', attributeName);\n }\n\n return false;\n}\nfunction shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null) {\n return propertyInfo.type === RESERVED;\n }\n\n if (isCustomComponentTag) {\n return false;\n }\n\n if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {\n return true;\n }\n\n return false;\n}\nfunction shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null && propertyInfo.type === RESERVED) {\n return false;\n }\n\n switch (typeof value) {\n case 'function': // $FlowIssue symbol is perfectly valid here\n\n case 'symbol':\n // eslint-disable-line\n return true;\n\n case 'boolean':\n {\n if (isCustomComponentTag) {\n return false;\n }\n\n if (propertyInfo !== null) {\n return !propertyInfo.acceptsBooleans;\n } else {\n var prefix = name.toLowerCase().slice(0, 5);\n return prefix !== 'data-' && prefix !== 'aria-';\n }\n }\n\n default:\n return false;\n }\n}\nfunction shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) {\n if (value === null || typeof value === 'undefined') {\n return true;\n }\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {\n return true;\n }\n\n if (isCustomComponentTag) {\n\n return false;\n }\n\n if (propertyInfo !== null) {\n\n switch (propertyInfo.type) {\n case BOOLEAN:\n return !value;\n\n case OVERLOADED_BOOLEAN:\n return value === false;\n\n case NUMERIC:\n return isNaN(value);\n\n case POSITIVE_NUMERIC:\n return isNaN(value) || value < 1;\n }\n }\n\n return false;\n}\nfunction getPropertyInfo(name) {\n return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) {\n this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;\n this.attributeName = attributeName;\n this.attributeNamespace = attributeNamespace;\n this.mustUseProperty = mustUseProperty;\n this.propertyName = name;\n this.type = type;\n this.sanitizeURL = sanitizeURL;\n this.removeEmptyString = removeEmptyString;\n} // When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\n\n\nvar properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.\n\nvar reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular\n// elements (not just inputs). Now that ReactDOMInput assigns to the\n// defaultValue property -- do we need this?\n'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];\n\nreservedProps.forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n\n[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {\n var name = _ref[0],\n attributeName = _ref[1];\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n\n['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML boolean attributes.\n\n['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM\n// on the client side because the browsers are inconsistent. Instead we call focus().\n'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'disableRemotePlayback', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata\n'itemScope'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n\n['checked', // Note: `option.selected` is not updated if `select.multiple` is\n// disabled with `removeAttribute`. We have special logic for handling this.\n'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n\n['capture', 'download' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be positive numbers.\n\n['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be numbers.\n\n['rowSpan', 'start'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n});\nvar CAMELIZE = /[\\-\\:]([a-z])/g;\n\nvar capitalize = function (token) {\n return token[1].toUpperCase();\n}; // This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n\n\n['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // String SVG attributes with the xlink namespace.\n\n['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/1999/xlink', false, // sanitizeURL\n false);\n}); // String SVG attributes with the xml namespace.\n\n['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/XML/1998/namespace', false, // sanitizeURL\n false);\n}); // These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n\n['tabIndex', 'crossOrigin'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\n\nvar xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty\n'xlink:href', 'http://www.w3.org/1999/xlink', true, // sanitizeURL\nfalse);\n['src', 'href', 'action', 'formAction'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n true, // sanitizeURL\n true);\n});\n\n// and any newline or tab are filtered out as if they're not part of the URL.\n// https://url.spec.whatwg.org/#url-parsing\n// Tab or newline are defined as \\r\\n\\t:\n// https://infra.spec.whatwg.org/#ascii-tab-or-newline\n// A C0 control is a code point in the range \\u0000 NULL to \\u001F\n// INFORMATION SEPARATOR ONE, inclusive:\n// https://infra.spec.whatwg.org/#c0-control-or-space\n\n/* eslint-disable max-len */\n\nvar isJavaScriptProtocol = /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*\\:/i;\nvar didWarn = false;\n\nfunction sanitizeURL(url) {\n {\n if (!didWarn && isJavaScriptProtocol.test(url)) {\n didWarn = true;\n\n error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));\n }\n }\n}\n\n/**\n * Get the value for a property on a node. Only used in DEV for SSR validation.\n * The \"expected\" argument is used as a hint of what the expected value is.\n * Some properties have multiple equivalent values.\n */\nfunction getValueForProperty(node, name, expected, propertyInfo) {\n {\n if (propertyInfo.mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n return node[propertyName];\n } else {\n // This check protects multiple uses of `expected`, which is why the\n // react-internal/safe-string-coercion rule is disabled in several spots\n // below.\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if ( propertyInfo.sanitizeURL) {\n // If we haven't fully disabled javascript: URLs, and if\n // the hydration is successful of a javascript: URL, we\n // still want to warn on the client.\n // eslint-disable-next-line react-internal/safe-string-coercion\n sanitizeURL('' + expected);\n }\n\n var attributeName = propertyInfo.attributeName;\n var stringValue = null;\n\n if (propertyInfo.type === OVERLOADED_BOOLEAN) {\n if (node.hasAttribute(attributeName)) {\n var value = node.getAttribute(attributeName);\n\n if (value === '') {\n return true;\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return value;\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n } else if (node.hasAttribute(attributeName)) {\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n // We had an attribute but shouldn't have had one, so read it\n // for the error message.\n return node.getAttribute(attributeName);\n }\n\n if (propertyInfo.type === BOOLEAN) {\n // If this was a boolean, it doesn't matter what the value is\n // the fact that we have it is the same as the expected.\n return expected;\n } // Even if this property uses a namespace we use getAttribute\n // because we assume its namespaced name is the same as our config.\n // To use getAttributeNS we need the local name which we don't have\n // in our config atm.\n\n\n stringValue = node.getAttribute(attributeName);\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return stringValue === null ? expected : stringValue; // eslint-disable-next-line react-internal/safe-string-coercion\n } else if (stringValue === '' + expected) {\n return expected;\n } else {\n return stringValue;\n }\n }\n }\n}\n/**\n * Get the value for a attribute on a node. Only used in DEV for SSR validation.\n * The third argument is used as a hint of what the expected value is. Some\n * attributes have multiple equivalent values.\n */\n\nfunction getValueForAttribute(node, name, expected, isCustomComponentTag) {\n {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n\n if (!node.hasAttribute(name)) {\n return expected === undefined ? undefined : null;\n }\n\n var value = node.getAttribute(name);\n\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n}\n/**\n * Sets the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n * @param {*} value\n */\n\nfunction setValueForProperty(node, name, value, isCustomComponentTag) {\n var propertyInfo = getPropertyInfo(name);\n\n if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) {\n return;\n }\n\n if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) {\n value = null;\n }\n\n\n if (isCustomComponentTag || propertyInfo === null) {\n if (isAttributeNameSafe(name)) {\n var _attributeName = name;\n\n if (value === null) {\n node.removeAttribute(_attributeName);\n } else {\n {\n checkAttributeStringCoercion(value, name);\n }\n\n node.setAttribute(_attributeName, '' + value);\n }\n }\n\n return;\n }\n\n var mustUseProperty = propertyInfo.mustUseProperty;\n\n if (mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n\n if (value === null) {\n var type = propertyInfo.type;\n node[propertyName] = type === BOOLEAN ? false : '';\n } else {\n // Contrary to `setAttribute`, object properties are properly\n // `toString`ed by IE8/9.\n node[propertyName] = value;\n }\n\n return;\n } // The rest are treated as attributes with special cases.\n\n\n var attributeName = propertyInfo.attributeName,\n attributeNamespace = propertyInfo.attributeNamespace;\n\n if (value === null) {\n node.removeAttribute(attributeName);\n } else {\n var _type = propertyInfo.type;\n var attributeValue;\n\n if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) {\n // If attribute type is boolean, we know for sure it won't be an execution sink\n // and we won't require Trusted Type here.\n attributeValue = '';\n } else {\n // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n {\n {\n checkAttributeStringCoercion(value, attributeName);\n }\n\n attributeValue = '' + value;\n }\n\n if (propertyInfo.sanitizeURL) {\n sanitizeURL(attributeValue.toString());\n }\n }\n\n if (attributeNamespace) {\n node.setAttributeNS(attributeNamespace, attributeName, attributeValue);\n } else {\n node.setAttribute(attributeName, attributeValue);\n }\n }\n}\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_SCOPE_TYPE = Symbol.for('react.scope');\nvar REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\n\nfunction describeClassComponentFrame(ctor, source, ownerFn) {\n {\n return describeNativeComponentFrame(ctor, true);\n }\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nfunction describeFiber(fiber) {\n var owner = fiber._debugOwner ? fiber._debugOwner.type : null ;\n var source = fiber._debugSource ;\n\n switch (fiber.tag) {\n case HostComponent:\n return describeBuiltInComponentFrame(fiber.type);\n\n case LazyComponent:\n return describeBuiltInComponentFrame('Lazy');\n\n case SuspenseComponent:\n return describeBuiltInComponentFrame('Suspense');\n\n case SuspenseListComponent:\n return describeBuiltInComponentFrame('SuspenseList');\n\n case FunctionComponent:\n case IndeterminateComponent:\n case SimpleMemoComponent:\n return describeFunctionComponentFrame(fiber.type);\n\n case ForwardRef:\n return describeFunctionComponentFrame(fiber.type.render);\n\n case ClassComponent:\n return describeClassComponentFrame(fiber.type);\n\n default:\n return '';\n }\n}\n\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = '';\n var node = workInProgress;\n\n do {\n info += describeFiber(node);\n node = node.return;\n } while (node);\n\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nfunction getWrappedName$1(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n} // Keep in sync with shared/getComponentNameFromType\n\n\nfunction getContextName$1(type) {\n return type.displayName || 'Context';\n}\n\nfunction getComponentNameFromFiber(fiber) {\n var tag = fiber.tag,\n type = fiber.type;\n\n switch (tag) {\n case CacheComponent:\n return 'Cache';\n\n case ContextConsumer:\n var context = type;\n return getContextName$1(context) + '.Consumer';\n\n case ContextProvider:\n var provider = type;\n return getContextName$1(provider._context) + '.Provider';\n\n case DehydratedFragment:\n return 'DehydratedFragment';\n\n case ForwardRef:\n return getWrappedName$1(type, type.render, 'ForwardRef');\n\n case Fragment:\n return 'Fragment';\n\n case HostComponent:\n // Host component type is the display name (e.g. \"div\", \"View\")\n return type;\n\n case HostPortal:\n return 'Portal';\n\n case HostRoot:\n return 'Root';\n\n case HostText:\n return 'Text';\n\n case LazyComponent:\n // Name comes from the type in this case; we don't have a tag.\n return getComponentNameFromType(type);\n\n case Mode:\n if (type === REACT_STRICT_MODE_TYPE) {\n // Don't be less specific than shared/getComponentNameFromType\n return 'StrictMode';\n }\n\n return 'Mode';\n\n case OffscreenComponent:\n return 'Offscreen';\n\n case Profiler:\n return 'Profiler';\n\n case ScopeComponent:\n return 'Scope';\n\n case SuspenseComponent:\n return 'Suspense';\n\n case SuspenseListComponent:\n return 'SuspenseList';\n\n case TracingMarkerComponent:\n return 'TracingMarker';\n // The display name for this tags come from the user-provided type:\n\n case ClassComponent:\n case FunctionComponent:\n case IncompleteClassComponent:\n case IndeterminateComponent:\n case MemoComponent:\n case SimpleMemoComponent:\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n break;\n\n }\n\n return null;\n}\n\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar current = null;\nvar isRendering = false;\nfunction getCurrentFiberOwnerNameInDevOrNull() {\n {\n if (current === null) {\n return null;\n }\n\n var owner = current._debugOwner;\n\n if (owner !== null && typeof owner !== 'undefined') {\n return getComponentNameFromFiber(owner);\n }\n }\n\n return null;\n}\n\nfunction getCurrentFiberStackInDev() {\n {\n if (current === null) {\n return '';\n } // Safe because if current fiber exists, we are reconciling,\n // and it is guaranteed to be the work-in-progress version.\n\n\n return getStackByFiberInDevAndProd(current);\n }\n}\n\nfunction resetCurrentFiber() {\n {\n ReactDebugCurrentFrame.getCurrentStack = null;\n current = null;\n isRendering = false;\n }\n}\nfunction setCurrentFiber(fiber) {\n {\n ReactDebugCurrentFrame.getCurrentStack = fiber === null ? null : getCurrentFiberStackInDev;\n current = fiber;\n isRendering = false;\n }\n}\nfunction getCurrentFiber() {\n {\n return current;\n }\n}\nfunction setIsRendering(rendering) {\n {\n isRendering = rendering;\n }\n}\n\n// Flow does not allow string concatenation of most non-string types. To work\n// around this limitation, we use an opaque type that can only be obtained by\n// passing the value through getToStringValue first.\nfunction toString(value) {\n // The coercion safety check is performed in getToStringValue().\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n\n case 'object':\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n return value;\n\n default:\n // function, symbol are assigned as empty strings\n return '';\n }\n}\n\nvar hasReadOnlyValue = {\n button: true,\n checkbox: true,\n image: true,\n hidden: true,\n radio: true,\n reset: true,\n submit: true\n};\nfunction checkControlledValueProps(tagName, props) {\n {\n if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) {\n error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n\n if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) {\n error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n }\n}\n\nfunction isCheckable(elem) {\n var type = elem.type;\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\n}\n\nfunction getTracker(node) {\n return node._valueTracker;\n}\n\nfunction detachTracker(node) {\n node._valueTracker = null;\n}\n\nfunction getValueFromNode(node) {\n var value = '';\n\n if (!node) {\n return value;\n }\n\n if (isCheckable(node)) {\n value = node.checked ? 'true' : 'false';\n } else {\n value = node.value;\n }\n\n return value;\n}\n\nfunction trackValueOnNode(node) {\n var valueField = isCheckable(node) ? 'checked' : 'value';\n var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n\n {\n checkFormFieldValueStringCoercion(node[valueField]);\n }\n\n var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail\n // and don't track value will cause over reporting of changes,\n // but it's better then a hard failure\n // (needed for certain tests that spyOn input values and Safari)\n\n if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\n return;\n }\n\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: true,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n set.call(this, value);\n }\n }); // We could've passed this the first time\n // but it triggers a bug in IE11 and Edge 14/15.\n // Calling defineProperty() again should be equivalent.\n // https://github.com/facebook/react/issues/11768\n\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n var tracker = {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n },\n stopTracking: function () {\n detachTracker(node);\n delete node[valueField];\n }\n };\n return tracker;\n}\n\nfunction track(node) {\n if (getTracker(node)) {\n return;\n } // TODO: Once it's just Fiber we can move this to node._wrapperState\n\n\n node._valueTracker = trackValueOnNode(node);\n}\nfunction updateValueIfChanged(node) {\n if (!node) {\n return false;\n }\n\n var tracker = getTracker(node); // if there is no tracker at this point it's unlikely\n // that trying again will succeed\n\n if (!tracker) {\n return true;\n }\n\n var lastValue = tracker.getValue();\n var nextValue = getValueFromNode(node);\n\n if (nextValue !== lastValue) {\n tracker.setValue(nextValue);\n return true;\n }\n\n return false;\n}\n\nfunction getActiveElement(doc) {\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n if (typeof doc === 'undefined') {\n return null;\n }\n\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nvar didWarnValueDefaultValue = false;\nvar didWarnCheckedDefaultChecked = false;\nvar didWarnControlledToUncontrolled = false;\nvar didWarnUncontrolledToControlled = false;\n\nfunction isControlled(props) {\n var usesChecked = props.type === 'checkbox' || props.type === 'radio';\n return usesChecked ? props.checked != null : props.value != null;\n}\n/**\n * Implements an <input> host component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\n\n\nfunction getHostProps(element, props) {\n var node = element;\n var checked = props.checked;\n var hostProps = assign({}, props, {\n defaultChecked: undefined,\n defaultValue: undefined,\n value: undefined,\n checked: checked != null ? checked : node._wrapperState.initialChecked\n });\n return hostProps;\n}\nfunction initWrapperState(element, props) {\n {\n checkControlledValueProps('input', props);\n\n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnCheckedDefaultChecked = true;\n }\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnValueDefaultValue = true;\n }\n }\n\n var node = element;\n var defaultValue = props.defaultValue == null ? '' : props.defaultValue;\n node._wrapperState = {\n initialChecked: props.checked != null ? props.checked : props.defaultChecked,\n initialValue: getToStringValue(props.value != null ? props.value : defaultValue),\n controlled: isControlled(props)\n };\n}\nfunction updateChecked(element, props) {\n var node = element;\n var checked = props.checked;\n\n if (checked != null) {\n setValueForProperty(node, 'checked', checked, false);\n }\n}\nfunction updateWrapper(element, props) {\n var node = element;\n\n {\n var controlled = isControlled(props);\n\n if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\n error('A component is changing an uncontrolled input to be controlled. ' + 'This is likely caused by the value changing from undefined to ' + 'a defined value, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnUncontrolledToControlled = true;\n }\n\n if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\n error('A component is changing a controlled input to be uncontrolled. ' + 'This is likely caused by the value changing from a defined to ' + 'undefined, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnControlledToUncontrolled = true;\n }\n }\n\n updateChecked(element, props);\n var value = getToStringValue(props.value);\n var type = props.type;\n\n if (value != null) {\n if (type === 'number') {\n if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible.\n // eslint-disable-next-line\n node.value != value) {\n node.value = toString(value);\n }\n } else if (node.value !== toString(value)) {\n node.value = toString(value);\n }\n } else if (type === 'submit' || type === 'reset') {\n // Submit/reset inputs need the attribute removed completely to avoid\n // blank-text buttons.\n node.removeAttribute('value');\n return;\n }\n\n {\n // When syncing the value attribute, the value comes from a cascade of\n // properties:\n // 1. The value React property\n // 2. The defaultValue React property\n // 3. Otherwise there should be no change\n if (props.hasOwnProperty('value')) {\n setDefaultValue(node, props.type, value);\n } else if (props.hasOwnProperty('defaultValue')) {\n setDefaultValue(node, props.type, getToStringValue(props.defaultValue));\n }\n }\n\n {\n // When syncing the checked attribute, it only changes when it needs\n // to be removed, such as transitioning from a checkbox into a text input\n if (props.checked == null && props.defaultChecked != null) {\n node.defaultChecked = !!props.defaultChecked;\n }\n }\n}\nfunction postMountWrapper(element, props, isHydrating) {\n var node = element; // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) {\n var type = props.type;\n var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the\n // default value provided by the browser. See: #12872\n\n if (isButton && (props.value === undefined || props.value === null)) {\n return;\n }\n\n var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (!isHydrating) {\n {\n // When syncing the value attribute, the value property should use\n // the wrapperState._initialValue property. This uses:\n //\n // 1. The value React property when present\n // 2. The defaultValue React property when present\n // 3. An empty string\n if (initialValue !== node.value) {\n node.value = initialValue;\n }\n }\n }\n\n {\n // Otherwise, the value attribute is synchronized to the property,\n // so we assign defaultValue to the same thing as the value property\n // assignment step above.\n node.defaultValue = initialValue;\n }\n } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n // this is needed to work around a chrome bug where setting defaultChecked\n // will sometimes influence the value of checked (even after detachment).\n // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n // We need to temporarily unset name to avoid disrupting radio button groups.\n\n\n var name = node.name;\n\n if (name !== '') {\n node.name = '';\n }\n\n {\n // When syncing the checked attribute, both the checked property and\n // attribute are assigned at the same time using defaultChecked. This uses:\n //\n // 1. The checked React property when present\n // 2. The defaultChecked React property when present\n // 3. Otherwise, false\n node.defaultChecked = !node.defaultChecked;\n node.defaultChecked = !!node._wrapperState.initialChecked;\n }\n\n if (name !== '') {\n node.name = name;\n }\n}\nfunction restoreControlledState(element, props) {\n var node = element;\n updateWrapper(node, props);\n updateNamedCousins(node, props);\n}\n\nfunction updateNamedCousins(rootNode, props) {\n var name = props.name;\n\n if (props.type === 'radio' && name != null) {\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n } // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form. It might not even be in the\n // document. Let's just use the local `querySelectorAll` to ensure we don't\n // miss anything.\n\n\n {\n checkAttributeStringCoercion(name, 'name');\n }\n\n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n } // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React radio buttons with non-React ones.\n\n\n var otherProps = getFiberCurrentPropsFromNode(otherNode);\n\n if (!otherProps) {\n throw new Error('ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.');\n } // We need update the tracked value on the named cousin since the value\n // was changed but the input saw no event or value set\n\n\n updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n\n updateWrapper(otherNode, otherProps);\n }\n }\n} // In Chrome, assigning defaultValue to certain input types triggers input validation.\n// For number inputs, the display value loses trailing decimal points. For email inputs,\n// Chrome raises \"The specified value <x> is not a valid email address\".\n//\n// Here we check to see if the defaultValue has actually changed, avoiding these problems\n// when the user is inputting text\n//\n// https://github.com/facebook/react/issues/7253\n\n\nfunction setDefaultValue(node, type, value) {\n if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js\n type !== 'number' || getActiveElement(node.ownerDocument) !== node) {\n if (value == null) {\n node.defaultValue = toString(node._wrapperState.initialValue);\n } else if (node.defaultValue !== toString(value)) {\n node.defaultValue = toString(value);\n }\n }\n}\n\nvar didWarnSelectedSetOnOption = false;\nvar didWarnInvalidChild = false;\nvar didWarnInvalidInnerHTML = false;\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\n\nfunction validateProps(element, props) {\n {\n // If a value is not provided, then the children must be simple.\n if (props.value == null) {\n if (typeof props.children === 'object' && props.children !== null) {\n React.Children.forEach(props.children, function (child) {\n if (child == null) {\n return;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n return;\n }\n\n if (!didWarnInvalidChild) {\n didWarnInvalidChild = true;\n\n error('Cannot infer the option value of complex children. ' + 'Pass a `value` prop or use a plain string as children to <option>.');\n }\n });\n } else if (props.dangerouslySetInnerHTML != null) {\n if (!didWarnInvalidInnerHTML) {\n didWarnInvalidInnerHTML = true;\n\n error('Pass a `value` prop if you set dangerouslyInnerHTML so React knows ' + 'which value should be selected.');\n }\n }\n } // TODO: Remove support for `selected` in <option>.\n\n\n if (props.selected != null && !didWarnSelectedSetOnOption) {\n error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');\n\n didWarnSelectedSetOnOption = true;\n }\n }\n}\nfunction postMountWrapper$1(element, props) {\n // value=\"\" should make a value attribute (#6219)\n if (props.value != null) {\n element.setAttribute('value', toString(getToStringValue(props.value)));\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\nvar didWarnValueDefaultValue$1;\n\n{\n didWarnValueDefaultValue$1 = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n return '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n/**\n * Validation function for `value` and `defaultValue`.\n */\n\nfunction checkSelectPropTypes(props) {\n {\n checkControlledValueProps('select', props);\n\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n\n if (props[propName] == null) {\n continue;\n }\n\n var propNameIsArray = isArray(props[propName]);\n\n if (props.multiple && !propNameIsArray) {\n error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());\n } else if (!props.multiple && propNameIsArray) {\n error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());\n }\n }\n }\n}\n\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n var options = node.options;\n\n if (multiple) {\n var selectedValues = propValue;\n var selectedValue = {};\n\n for (var i = 0; i < selectedValues.length; i++) {\n // Prefix to avoid chaos with special keys.\n selectedValue['$' + selectedValues[i]] = true;\n }\n\n for (var _i = 0; _i < options.length; _i++) {\n var selected = selectedValue.hasOwnProperty('$' + options[_i].value);\n\n if (options[_i].selected !== selected) {\n options[_i].selected = selected;\n }\n\n if (selected && setDefaultSelected) {\n options[_i].defaultSelected = true;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n var _selectedValue = toString(getToStringValue(propValue));\n\n var defaultSelected = null;\n\n for (var _i2 = 0; _i2 < options.length; _i2++) {\n if (options[_i2].value === _selectedValue) {\n options[_i2].selected = true;\n\n if (setDefaultSelected) {\n options[_i2].defaultSelected = true;\n }\n\n return;\n }\n\n if (defaultSelected === null && !options[_i2].disabled) {\n defaultSelected = options[_i2];\n }\n }\n\n if (defaultSelected !== null) {\n defaultSelected.selected = true;\n }\n }\n}\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\n\n\nfunction getHostProps$1(element, props) {\n return assign({}, props, {\n value: undefined\n });\n}\nfunction initWrapperState$1(element, props) {\n var node = element;\n\n {\n checkSelectPropTypes(props);\n }\n\n node._wrapperState = {\n wasMultiple: !!props.multiple\n };\n\n {\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) {\n error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components');\n\n didWarnValueDefaultValue$1 = true;\n }\n }\n}\nfunction postMountWrapper$2(element, props) {\n var node = element;\n node.multiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n }\n}\nfunction postUpdateWrapper(element, props) {\n var node = element;\n var wasMultiple = node._wrapperState.wasMultiple;\n node._wrapperState.wasMultiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (wasMultiple !== !!props.multiple) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(node, !!props.multiple, props.multiple ? [] : '', false);\n }\n }\n}\nfunction restoreControlledState$1(element, props) {\n var node = element;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n }\n}\n\nvar didWarnValDefaultVal = false;\n\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\nfunction getHostProps$2(element, props) {\n var node = element;\n\n if (props.dangerouslySetInnerHTML != null) {\n throw new Error('`dangerouslySetInnerHTML` does not make sense on <textarea>.');\n } // Always set children to the same thing. In IE9, the selection range will\n // get reset if `textContent` is mutated. We could add a check in setTextContent\n // to only set the value if/when the value differs from the node value (which would\n // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this\n // solution. The value can be a boolean or object so that's why it's forced\n // to be a string.\n\n\n var hostProps = assign({}, props, {\n value: undefined,\n defaultValue: undefined,\n children: toString(node._wrapperState.initialValue)\n });\n\n return hostProps;\n}\nfunction initWrapperState$2(element, props) {\n var node = element;\n\n {\n checkControlledValueProps('textarea', props);\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component');\n\n didWarnValDefaultVal = true;\n }\n }\n\n var initialValue = props.value; // Only bother fetching default value if we're going to use it\n\n if (initialValue == null) {\n var children = props.children,\n defaultValue = props.defaultValue;\n\n if (children != null) {\n {\n error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');\n }\n\n {\n if (defaultValue != null) {\n throw new Error('If you supply `defaultValue` on a <textarea>, do not pass children.');\n }\n\n if (isArray(children)) {\n if (children.length > 1) {\n throw new Error('<textarea> can only have at most one child.');\n }\n\n children = children[0];\n }\n\n defaultValue = children;\n }\n }\n\n if (defaultValue == null) {\n defaultValue = '';\n }\n\n initialValue = defaultValue;\n }\n\n node._wrapperState = {\n initialValue: getToStringValue(initialValue)\n };\n}\nfunction updateWrapper$1(element, props) {\n var node = element;\n var value = getToStringValue(props.value);\n var defaultValue = getToStringValue(props.defaultValue);\n\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed\n\n if (newValue !== node.value) {\n node.value = newValue;\n }\n\n if (props.defaultValue == null && node.defaultValue !== newValue) {\n node.defaultValue = newValue;\n }\n }\n\n if (defaultValue != null) {\n node.defaultValue = toString(defaultValue);\n }\n}\nfunction postMountWrapper$3(element, props) {\n var node = element; // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n\n var textContent = node.textContent; // Only set node.value if textContent is equal to the expected\n // initial value. In IE10/IE11 there is a bug where the placeholder attribute\n // will populate textContent as well.\n // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\n\n if (textContent === node._wrapperState.initialValue) {\n if (textContent !== '' && textContent !== null) {\n node.value = textContent;\n }\n }\n}\nfunction restoreControlledState$2(element, props) {\n // DOM component is still mounted; update\n updateWrapper$1(element, props);\n}\n\nvar HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\nvar MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\nvar SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; // Assumes there is no parent namespace.\n\nfunction getIntrinsicNamespace(type) {\n switch (type) {\n case 'svg':\n return SVG_NAMESPACE;\n\n case 'math':\n return MATH_NAMESPACE;\n\n default:\n return HTML_NAMESPACE;\n }\n}\nfunction getChildNamespace(parentNamespace, type) {\n if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) {\n // No (or default) parent namespace: potential entry point.\n return getIntrinsicNamespace(type);\n }\n\n if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') {\n // We're leaving SVG.\n return HTML_NAMESPACE;\n } // By default, pass namespace below.\n\n\n return parentNamespace;\n}\n\n/* globals MSApp */\n\n/**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\nvar createMicrosoftUnsafeLocalFunction = function (func) {\n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n return function (arg0, arg1, arg2, arg3) {\n MSApp.execUnsafeLocalFunction(function () {\n return func(arg0, arg1, arg2, arg3);\n });\n };\n } else {\n return func;\n }\n};\n\nvar reusableSVGContainer;\n/**\n * Set the innerHTML property of a node\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\n\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n if (node.namespaceURI === SVG_NAMESPACE) {\n\n if (!('innerHTML' in node)) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>';\n var svgNode = reusableSVGContainer.firstChild;\n\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n\n return;\n }\n }\n\n node.innerHTML = html;\n});\n\n/**\n * HTML nodeType values that represent the type of the node\n */\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar DOCUMENT_NODE = 9;\nvar DOCUMENT_FRAGMENT_NODE = 11;\n\n/**\n * Set the textContent property of a node. For text updates, it's faster\n * to set the `nodeValue` of the Text node directly instead of using\n * `.textContent` which will remove the existing node and create a new one.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\n\nvar setTextContent = function (node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {\n firstChild.nodeValue = text;\n return;\n }\n }\n\n node.textContent = text;\n};\n\n// List derived from Gecko source code:\n// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js\nvar shorthandToLonghand = {\n animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],\n background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'],\n backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],\n border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],\n borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],\n borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],\n borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],\n borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],\n borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],\n borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'],\n borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],\n columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'],\n columns: ['columnCount', 'columnWidth'],\n flex: ['flexBasis', 'flexGrow', 'flexShrink'],\n flexFlow: ['flexDirection', 'flexWrap'],\n font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'],\n fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],\n gap: ['columnGap', 'rowGap'],\n grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],\n gridColumn: ['gridColumnEnd', 'gridColumnStart'],\n gridColumnGap: ['columnGap'],\n gridGap: ['columnGap', 'rowGap'],\n gridRow: ['gridRowEnd', 'gridRowStart'],\n gridRowGap: ['rowGap'],\n gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n marker: ['markerEnd', 'markerMid', 'markerStart'],\n mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'],\n maskPosition: ['maskPositionX', 'maskPositionY'],\n outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],\n overflow: ['overflowX', 'overflowY'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n placeContent: ['alignContent', 'justifyContent'],\n placeItems: ['alignItems', 'justifyItems'],\n placeSelf: ['alignSelf', 'justifySelf'],\n textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],\n textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'],\n wordWrap: ['overflowWrap']\n};\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\nvar isUnitlessNumber = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridArea: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\n\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\n\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\n\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n {\n checkCSSPropertyStringCoercion(value, name);\n }\n\n return ('' + value).trim();\n}\n\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n */\n\nfunction hyphenateStyleName(name) {\n return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n}\n\nvar warnValidStyle = function () {};\n\n{\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n var msPattern$1 = /^-ms-/;\n var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon\n\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n var warnedForNaNValue = false;\n var warnedForInfinityValue = false;\n\n var camelize = function (string) {\n return string.replace(hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n };\n\n var warnHyphenatedStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests\n // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n // is converted to lowercase `ms`.\n camelize(name.replace(msPattern$1, 'ms-')));\n };\n\n var warnBadVendoredStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));\n };\n\n var warnStyleValueWithSemicolon = function (name, value) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n\n error(\"Style property values shouldn't contain a semicolon. \" + 'Try \"%s: %s\" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));\n };\n\n var warnStyleValueIsNaN = function (name, value) {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n\n error('`NaN` is an invalid value for the `%s` css style property.', name);\n };\n\n var warnStyleValueIsInfinity = function (name, value) {\n if (warnedForInfinityValue) {\n return;\n }\n\n warnedForInfinityValue = true;\n\n error('`Infinity` is an invalid value for the `%s` css style property.', name);\n };\n\n warnValidStyle = function (name, value) {\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value);\n }\n\n if (typeof value === 'number') {\n if (isNaN(value)) {\n warnStyleValueIsNaN(name, value);\n } else if (!isFinite(value)) {\n warnStyleValueIsInfinity(name, value);\n }\n }\n };\n}\n\nvar warnValidStyle$1 = warnValidStyle;\n\n/**\n * Operations for dealing with CSS properties.\n */\n\n/**\n * This creates a string that is expected to be equivalent to the style\n * attribute generated by server-side rendering. It by-passes warnings and\n * security checks so it's not safe to use this value for anything other than\n * comparison. It is only used in DEV for SSR validation.\n */\n\nfunction createDangerousStringForStyles(styles) {\n {\n var serialized = '';\n var delimiter = '';\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var styleValue = styles[styleName];\n\n if (styleValue != null) {\n var isCustomProperty = styleName.indexOf('--') === 0;\n serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':';\n serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty);\n delimiter = ';';\n }\n }\n\n return serialized || null;\n }\n}\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\n\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n\n {\n if (!isCustomProperty) {\n warnValidStyle$1(styleName, styles[styleName]);\n }\n }\n\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nfunction isValueEmpty(value) {\n return value == null || typeof value === 'boolean' || value === '';\n}\n/**\n * Given {color: 'red', overflow: 'hidden'} returns {\n * color: 'color',\n * overflowX: 'overflow',\n * overflowY: 'overflow',\n * }. This can be read as \"the overflowY property was set by the overflow\n * shorthand\". That is, the values are the property that each was derived from.\n */\n\n\nfunction expandShorthandMap(styles) {\n var expanded = {};\n\n for (var key in styles) {\n var longhands = shorthandToLonghand[key] || [key];\n\n for (var i = 0; i < longhands.length; i++) {\n expanded[longhands[i]] = key;\n }\n }\n\n return expanded;\n}\n/**\n * When mixing shorthand and longhand property names, we warn during updates if\n * we expect an incorrect result to occur. In particular, we warn for:\n *\n * Updating a shorthand property (longhand gets overwritten):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}\n * becomes .style.font = 'baz'\n * Removing a shorthand property (longhand gets lost too):\n * {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}\n * becomes .style.font = ''\n * Removing a longhand property (should revert to shorthand; doesn't):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}\n * becomes .style.fontVariant = ''\n */\n\n\nfunction validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) {\n {\n if (!nextStyles) {\n return;\n }\n\n var expandedUpdates = expandShorthandMap(styleUpdates);\n var expandedStyles = expandShorthandMap(nextStyles);\n var warnedAbout = {};\n\n for (var key in expandedUpdates) {\n var originalKey = expandedUpdates[key];\n var correctOriginalKey = expandedStyles[key];\n\n if (correctOriginalKey && originalKey !== correctOriginalKey) {\n var warningKey = originalKey + ',' + correctOriginalKey;\n\n if (warnedAbout[warningKey]) {\n continue;\n }\n\n warnedAbout[warningKey] = true;\n\n error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + \"avoid this, don't mix shorthand and non-shorthand properties \" + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);\n }\n }\n }\n}\n\n// For HTML, certain tags should omit their close tag. We keep a list for\n// those special-case tags.\nvar omittedCloseTags = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems.\n\n};\n\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\nvar voidElementTags = assign({\n menuitem: true\n}, omittedCloseTags);\n\nvar HTML = '__html';\n\nfunction assertValidProps(tag, props) {\n if (!props) {\n return;\n } // Note the use of `==` which checks for null or undefined.\n\n\n if (voidElementTags[tag]) {\n if (props.children != null || props.dangerouslySetInnerHTML != null) {\n throw new Error(tag + \" is a void element tag and must neither have `children` nor \" + 'use `dangerouslySetInnerHTML`.');\n }\n }\n\n if (props.dangerouslySetInnerHTML != null) {\n if (props.children != null) {\n throw new Error('Can only set one of `children` or `props.dangerouslySetInnerHTML`.');\n }\n\n if (typeof props.dangerouslySetInnerHTML !== 'object' || !(HTML in props.dangerouslySetInnerHTML)) {\n throw new Error('`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://reactjs.org/link/dangerously-set-inner-html ' + 'for more information.');\n }\n }\n\n {\n if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {\n error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');\n }\n }\n\n if (props.style != null && typeof props.style !== 'object') {\n throw new Error('The `style` prop expects a mapping from style properties to values, ' + \"not a string. For example, style={{marginRight: spacing + 'em'}} when \" + 'using JSX.');\n }\n}\n\nfunction isCustomComponent(tagName, props) {\n if (tagName.indexOf('-') === -1) {\n return typeof props.is === 'string';\n }\n\n switch (tagName) {\n // These are reserved SVG and MathML elements.\n // We don't mind this list too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n case 'annotation-xml':\n case 'color-profile':\n case 'font-face':\n case 'font-face-src':\n case 'font-face-uri':\n case 'font-face-format':\n case 'font-face-name':\n case 'missing-glyph':\n return false;\n\n default:\n return true;\n }\n}\n\n// When adding attributes to the HTML or SVG allowed attribute list, be sure to\n// also add them to this module to ensure casing and incorrect name\n// warnings.\nvar possibleStandardNames = {\n // HTML\n accept: 'accept',\n acceptcharset: 'acceptCharset',\n 'accept-charset': 'acceptCharset',\n accesskey: 'accessKey',\n action: 'action',\n allowfullscreen: 'allowFullScreen',\n alt: 'alt',\n as: 'as',\n async: 'async',\n autocapitalize: 'autoCapitalize',\n autocomplete: 'autoComplete',\n autocorrect: 'autoCorrect',\n autofocus: 'autoFocus',\n autoplay: 'autoPlay',\n autosave: 'autoSave',\n capture: 'capture',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n challenge: 'challenge',\n charset: 'charSet',\n checked: 'checked',\n children: 'children',\n cite: 'cite',\n class: 'className',\n classid: 'classID',\n classname: 'className',\n cols: 'cols',\n colspan: 'colSpan',\n content: 'content',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n controls: 'controls',\n controlslist: 'controlsList',\n coords: 'coords',\n crossorigin: 'crossOrigin',\n dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n data: 'data',\n datetime: 'dateTime',\n default: 'default',\n defaultchecked: 'defaultChecked',\n defaultvalue: 'defaultValue',\n defer: 'defer',\n dir: 'dir',\n disabled: 'disabled',\n disablepictureinpicture: 'disablePictureInPicture',\n disableremoteplayback: 'disableRemotePlayback',\n download: 'download',\n draggable: 'draggable',\n enctype: 'encType',\n enterkeyhint: 'enterKeyHint',\n for: 'htmlFor',\n form: 'form',\n formmethod: 'formMethod',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n headers: 'headers',\n height: 'height',\n hidden: 'hidden',\n high: 'high',\n href: 'href',\n hreflang: 'hrefLang',\n htmlfor: 'htmlFor',\n httpequiv: 'httpEquiv',\n 'http-equiv': 'httpEquiv',\n icon: 'icon',\n id: 'id',\n imagesizes: 'imageSizes',\n imagesrcset: 'imageSrcSet',\n innerhtml: 'innerHTML',\n inputmode: 'inputMode',\n integrity: 'integrity',\n is: 'is',\n itemid: 'itemID',\n itemprop: 'itemProp',\n itemref: 'itemRef',\n itemscope: 'itemScope',\n itemtype: 'itemType',\n keyparams: 'keyParams',\n keytype: 'keyType',\n kind: 'kind',\n label: 'label',\n lang: 'lang',\n list: 'list',\n loop: 'loop',\n low: 'low',\n manifest: 'manifest',\n marginwidth: 'marginWidth',\n marginheight: 'marginHeight',\n max: 'max',\n maxlength: 'maxLength',\n media: 'media',\n mediagroup: 'mediaGroup',\n method: 'method',\n min: 'min',\n minlength: 'minLength',\n multiple: 'multiple',\n muted: 'muted',\n name: 'name',\n nomodule: 'noModule',\n nonce: 'nonce',\n novalidate: 'noValidate',\n open: 'open',\n optimum: 'optimum',\n pattern: 'pattern',\n placeholder: 'placeholder',\n playsinline: 'playsInline',\n poster: 'poster',\n preload: 'preload',\n profile: 'profile',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n referrerpolicy: 'referrerPolicy',\n rel: 'rel',\n required: 'required',\n reversed: 'reversed',\n role: 'role',\n rows: 'rows',\n rowspan: 'rowSpan',\n sandbox: 'sandbox',\n scope: 'scope',\n scoped: 'scoped',\n scrolling: 'scrolling',\n seamless: 'seamless',\n selected: 'selected',\n shape: 'shape',\n size: 'size',\n sizes: 'sizes',\n span: 'span',\n spellcheck: 'spellCheck',\n src: 'src',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n start: 'start',\n step: 'step',\n style: 'style',\n summary: 'summary',\n tabindex: 'tabIndex',\n target: 'target',\n title: 'title',\n type: 'type',\n usemap: 'useMap',\n value: 'value',\n width: 'width',\n wmode: 'wmode',\n wrap: 'wrap',\n // SVG\n about: 'about',\n accentheight: 'accentHeight',\n 'accent-height': 'accentHeight',\n accumulate: 'accumulate',\n additive: 'additive',\n alignmentbaseline: 'alignmentBaseline',\n 'alignment-baseline': 'alignmentBaseline',\n allowreorder: 'allowReorder',\n alphabetic: 'alphabetic',\n amplitude: 'amplitude',\n arabicform: 'arabicForm',\n 'arabic-form': 'arabicForm',\n ascent: 'ascent',\n attributename: 'attributeName',\n attributetype: 'attributeType',\n autoreverse: 'autoReverse',\n azimuth: 'azimuth',\n basefrequency: 'baseFrequency',\n baselineshift: 'baselineShift',\n 'baseline-shift': 'baselineShift',\n baseprofile: 'baseProfile',\n bbox: 'bbox',\n begin: 'begin',\n bias: 'bias',\n by: 'by',\n calcmode: 'calcMode',\n capheight: 'capHeight',\n 'cap-height': 'capHeight',\n clip: 'clip',\n clippath: 'clipPath',\n 'clip-path': 'clipPath',\n clippathunits: 'clipPathUnits',\n cliprule: 'clipRule',\n 'clip-rule': 'clipRule',\n color: 'color',\n colorinterpolation: 'colorInterpolation',\n 'color-interpolation': 'colorInterpolation',\n colorinterpolationfilters: 'colorInterpolationFilters',\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorprofile: 'colorProfile',\n 'color-profile': 'colorProfile',\n colorrendering: 'colorRendering',\n 'color-rendering': 'colorRendering',\n contentscripttype: 'contentScriptType',\n contentstyletype: 'contentStyleType',\n cursor: 'cursor',\n cx: 'cx',\n cy: 'cy',\n d: 'd',\n datatype: 'datatype',\n decelerate: 'decelerate',\n descent: 'descent',\n diffuseconstant: 'diffuseConstant',\n direction: 'direction',\n display: 'display',\n divisor: 'divisor',\n dominantbaseline: 'dominantBaseline',\n 'dominant-baseline': 'dominantBaseline',\n dur: 'dur',\n dx: 'dx',\n dy: 'dy',\n edgemode: 'edgeMode',\n elevation: 'elevation',\n enablebackground: 'enableBackground',\n 'enable-background': 'enableBackground',\n end: 'end',\n exponent: 'exponent',\n externalresourcesrequired: 'externalResourcesRequired',\n fill: 'fill',\n fillopacity: 'fillOpacity',\n 'fill-opacity': 'fillOpacity',\n fillrule: 'fillRule',\n 'fill-rule': 'fillRule',\n filter: 'filter',\n filterres: 'filterRes',\n filterunits: 'filterUnits',\n floodopacity: 'floodOpacity',\n 'flood-opacity': 'floodOpacity',\n floodcolor: 'floodColor',\n 'flood-color': 'floodColor',\n focusable: 'focusable',\n fontfamily: 'fontFamily',\n 'font-family': 'fontFamily',\n fontsize: 'fontSize',\n 'font-size': 'fontSize',\n fontsizeadjust: 'fontSizeAdjust',\n 'font-size-adjust': 'fontSizeAdjust',\n fontstretch: 'fontStretch',\n 'font-stretch': 'fontStretch',\n fontstyle: 'fontStyle',\n 'font-style': 'fontStyle',\n fontvariant: 'fontVariant',\n 'font-variant': 'fontVariant',\n fontweight: 'fontWeight',\n 'font-weight': 'fontWeight',\n format: 'format',\n from: 'from',\n fx: 'fx',\n fy: 'fy',\n g1: 'g1',\n g2: 'g2',\n glyphname: 'glyphName',\n 'glyph-name': 'glyphName',\n glyphorientationhorizontal: 'glyphOrientationHorizontal',\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphorientationvertical: 'glyphOrientationVertical',\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n hanging: 'hanging',\n horizadvx: 'horizAdvX',\n 'horiz-adv-x': 'horizAdvX',\n horizoriginx: 'horizOriginX',\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 'ideographic',\n imagerendering: 'imageRendering',\n 'image-rendering': 'imageRendering',\n in2: 'in2',\n in: 'in',\n inlist: 'inlist',\n intercept: 'intercept',\n k1: 'k1',\n k2: 'k2',\n k3: 'k3',\n k4: 'k4',\n k: 'k',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n kerning: 'kerning',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n letterspacing: 'letterSpacing',\n 'letter-spacing': 'letterSpacing',\n lightingcolor: 'lightingColor',\n 'lighting-color': 'lightingColor',\n limitingconeangle: 'limitingConeAngle',\n local: 'local',\n markerend: 'markerEnd',\n 'marker-end': 'markerEnd',\n markerheight: 'markerHeight',\n markermid: 'markerMid',\n 'marker-mid': 'markerMid',\n markerstart: 'markerStart',\n 'marker-start': 'markerStart',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n mask: 'mask',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n mathematical: 'mathematical',\n mode: 'mode',\n numoctaves: 'numOctaves',\n offset: 'offset',\n opacity: 'opacity',\n operator: 'operator',\n order: 'order',\n orient: 'orient',\n orientation: 'orientation',\n origin: 'origin',\n overflow: 'overflow',\n overlineposition: 'overlinePosition',\n 'overline-position': 'overlinePosition',\n overlinethickness: 'overlineThickness',\n 'overline-thickness': 'overlineThickness',\n paintorder: 'paintOrder',\n 'paint-order': 'paintOrder',\n panose1: 'panose1',\n 'panose-1': 'panose1',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointerevents: 'pointerEvents',\n 'pointer-events': 'pointerEvents',\n points: 'points',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n prefix: 'prefix',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n property: 'property',\n r: 'r',\n radius: 'radius',\n refx: 'refX',\n refy: 'refY',\n renderingintent: 'renderingIntent',\n 'rendering-intent': 'renderingIntent',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n resource: 'resource',\n restart: 'restart',\n result: 'result',\n results: 'results',\n rotate: 'rotate',\n rx: 'rx',\n ry: 'ry',\n scale: 'scale',\n security: 'security',\n seed: 'seed',\n shaperendering: 'shapeRendering',\n 'shape-rendering': 'shapeRendering',\n slope: 'slope',\n spacing: 'spacing',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n speed: 'speed',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stemh: 'stemh',\n stemv: 'stemv',\n stitchtiles: 'stitchTiles',\n stopcolor: 'stopColor',\n 'stop-color': 'stopColor',\n stopopacity: 'stopOpacity',\n 'stop-opacity': 'stopOpacity',\n strikethroughposition: 'strikethroughPosition',\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughthickness: 'strikethroughThickness',\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 'string',\n stroke: 'stroke',\n strokedasharray: 'strokeDasharray',\n 'stroke-dasharray': 'strokeDasharray',\n strokedashoffset: 'strokeDashoffset',\n 'stroke-dashoffset': 'strokeDashoffset',\n strokelinecap: 'strokeLinecap',\n 'stroke-linecap': 'strokeLinecap',\n strokelinejoin: 'strokeLinejoin',\n 'stroke-linejoin': 'strokeLinejoin',\n strokemiterlimit: 'strokeMiterlimit',\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokewidth: 'strokeWidth',\n 'stroke-width': 'strokeWidth',\n strokeopacity: 'strokeOpacity',\n 'stroke-opacity': 'strokeOpacity',\n suppresscontenteditablewarning: 'suppressContentEditableWarning',\n suppresshydrationwarning: 'suppressHydrationWarning',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textanchor: 'textAnchor',\n 'text-anchor': 'textAnchor',\n textdecoration: 'textDecoration',\n 'text-decoration': 'textDecoration',\n textlength: 'textLength',\n textrendering: 'textRendering',\n 'text-rendering': 'textRendering',\n to: 'to',\n transform: 'transform',\n typeof: 'typeof',\n u1: 'u1',\n u2: 'u2',\n underlineposition: 'underlinePosition',\n 'underline-position': 'underlinePosition',\n underlinethickness: 'underlineThickness',\n 'underline-thickness': 'underlineThickness',\n unicode: 'unicode',\n unicodebidi: 'unicodeBidi',\n 'unicode-bidi': 'unicodeBidi',\n unicoderange: 'unicodeRange',\n 'unicode-range': 'unicodeRange',\n unitsperem: 'unitsPerEm',\n 'units-per-em': 'unitsPerEm',\n unselectable: 'unselectable',\n valphabetic: 'vAlphabetic',\n 'v-alphabetic': 'vAlphabetic',\n values: 'values',\n vectoreffect: 'vectorEffect',\n 'vector-effect': 'vectorEffect',\n version: 'version',\n vertadvy: 'vertAdvY',\n 'vert-adv-y': 'vertAdvY',\n vertoriginx: 'vertOriginX',\n 'vert-origin-x': 'vertOriginX',\n vertoriginy: 'vertOriginY',\n 'vert-origin-y': 'vertOriginY',\n vhanging: 'vHanging',\n 'v-hanging': 'vHanging',\n videographic: 'vIdeographic',\n 'v-ideographic': 'vIdeographic',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n visibility: 'visibility',\n vmathematical: 'vMathematical',\n 'v-mathematical': 'vMathematical',\n vocab: 'vocab',\n widths: 'widths',\n wordspacing: 'wordSpacing',\n 'word-spacing': 'wordSpacing',\n writingmode: 'writingMode',\n 'writing-mode': 'writingMode',\n x1: 'x1',\n x2: 'x2',\n x: 'x',\n xchannelselector: 'xChannelSelector',\n xheight: 'xHeight',\n 'x-height': 'xHeight',\n xlinkactuate: 'xlinkActuate',\n 'xlink:actuate': 'xlinkActuate',\n xlinkarcrole: 'xlinkArcrole',\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkhref: 'xlinkHref',\n 'xlink:href': 'xlinkHref',\n xlinkrole: 'xlinkRole',\n 'xlink:role': 'xlinkRole',\n xlinkshow: 'xlinkShow',\n 'xlink:show': 'xlinkShow',\n xlinktitle: 'xlinkTitle',\n 'xlink:title': 'xlinkTitle',\n xlinktype: 'xlinkType',\n 'xlink:type': 'xlinkType',\n xmlbase: 'xmlBase',\n 'xml:base': 'xmlBase',\n xmllang: 'xmlLang',\n 'xml:lang': 'xmlLang',\n xmlns: 'xmlns',\n 'xml:space': 'xmlSpace',\n xmlnsxlink: 'xmlnsXlink',\n 'xmlns:xlink': 'xmlnsXlink',\n xmlspace: 'xmlSpace',\n y1: 'y1',\n y2: 'y2',\n y: 'y',\n ychannelselector: 'yChannelSelector',\n z: 'z',\n zoomandpan: 'zoomAndPan'\n};\n\nvar ariaProperties = {\n 'aria-current': 0,\n // state\n 'aria-description': 0,\n 'aria-details': 0,\n 'aria-disabled': 0,\n // state\n 'aria-hidden': 0,\n // state\n 'aria-invalid': 0,\n // state\n 'aria-keyshortcuts': 0,\n 'aria-label': 0,\n 'aria-roledescription': 0,\n // Widget Attributes\n 'aria-autocomplete': 0,\n 'aria-checked': 0,\n 'aria-expanded': 0,\n 'aria-haspopup': 0,\n 'aria-level': 0,\n 'aria-modal': 0,\n 'aria-multiline': 0,\n 'aria-multiselectable': 0,\n 'aria-orientation': 0,\n 'aria-placeholder': 0,\n 'aria-pressed': 0,\n 'aria-readonly': 0,\n 'aria-required': 0,\n 'aria-selected': 0,\n 'aria-sort': 0,\n 'aria-valuemax': 0,\n 'aria-valuemin': 0,\n 'aria-valuenow': 0,\n 'aria-valuetext': 0,\n // Live Region Attributes\n 'aria-atomic': 0,\n 'aria-busy': 0,\n 'aria-live': 0,\n 'aria-relevant': 0,\n // Drag-and-Drop Attributes\n 'aria-dropeffect': 0,\n 'aria-grabbed': 0,\n // Relationship Attributes\n 'aria-activedescendant': 0,\n 'aria-colcount': 0,\n 'aria-colindex': 0,\n 'aria-colspan': 0,\n 'aria-controls': 0,\n 'aria-describedby': 0,\n 'aria-errormessage': 0,\n 'aria-flowto': 0,\n 'aria-labelledby': 0,\n 'aria-owns': 0,\n 'aria-posinset': 0,\n 'aria-rowcount': 0,\n 'aria-rowindex': 0,\n 'aria-rowspan': 0,\n 'aria-setsize': 0\n};\n\nvar warnedProperties = {};\nvar rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\nfunction validateProperty(tagName, name) {\n {\n if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) {\n return true;\n }\n\n if (rARIACamel.test(name)) {\n var ariaName = 'aria-' + name.slice(4).toLowerCase();\n var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (correctName == null) {\n error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);\n\n warnedProperties[name] = true;\n return true;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== correctName) {\n error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n\n if (rARIA.test(name)) {\n var lowerCasedName = name.toLowerCase();\n var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (standardName == null) {\n warnedProperties[name] = true;\n return false;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== standardName) {\n error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n }\n\n return true;\n}\n\nfunction warnInvalidARIAProps(type, props) {\n {\n var invalidProps = [];\n\n for (var key in props) {\n var isValid = validateProperty(type, key);\n\n if (!isValid) {\n invalidProps.push(key);\n }\n }\n\n var unknownPropString = invalidProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (invalidProps.length === 1) {\n error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n } else if (invalidProps.length > 1) {\n error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n }\n }\n}\n\nfunction validateProperties(type, props) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnInvalidARIAProps(type, props);\n}\n\nvar didWarnValueNull = false;\nfunction validateProperties$1(type, props) {\n {\n if (type !== 'input' && type !== 'textarea' && type !== 'select') {\n return;\n }\n\n if (props != null && props.value === null && !didWarnValueNull) {\n didWarnValueNull = true;\n\n if (type === 'select' && props.multiple) {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);\n } else {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);\n }\n }\n }\n}\n\nvar validateProperty$1 = function () {};\n\n{\n var warnedProperties$1 = {};\n var EVENT_NAME_REGEX = /^on./;\n var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;\n var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\n var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\n validateProperty$1 = function (tagName, name, value, eventRegistry) {\n if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {\n return true;\n }\n\n var lowerCasedName = name.toLowerCase();\n\n if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {\n error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');\n\n warnedProperties$1[name] = true;\n return true;\n } // We can't rely on the event system being injected on the server.\n\n\n if (eventRegistry != null) {\n var registrationNameDependencies = eventRegistry.registrationNameDependencies,\n possibleRegistrationNames = eventRegistry.possibleRegistrationNames;\n\n if (registrationNameDependencies.hasOwnProperty(name)) {\n return true;\n }\n\n var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;\n\n if (registrationName != null) {\n error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (EVENT_NAME_REGEX.test(name)) {\n error('Unknown event handler property `%s`. It will be ignored.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (EVENT_NAME_REGEX.test(name)) {\n // If no event plugins have been injected, we are in a server environment.\n // So we can't tell if the event name is correct for sure, but we can filter\n // out known bad ones like `onclick`. We can't suggest a specific replacement though.\n if (INVALID_EVENT_NAME_REGEX.test(name)) {\n error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Let the ARIA attribute hook validate ARIA attributes\n\n\n if (rARIA$1.test(name) || rARIACamel$1.test(name)) {\n return true;\n }\n\n if (lowerCasedName === 'innerhtml') {\n error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'aria') {\n error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {\n error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n var propertyInfo = getPropertyInfo(name);\n var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config.\n\n if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n var standardName = possibleStandardNames[lowerCasedName];\n\n if (standardName !== name) {\n error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (!isReserved && name !== lowerCasedName) {\n // Unknown attributes should have lowercase casing since that's how they\n // will be cased anyway with server rendering.\n error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n if (value) {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.', value, name, name, value, name);\n } else {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Now that we've validated casing, do not validate\n // data types for reserved props\n\n\n if (isReserved) {\n return true;\n } // Warn when a known attribute is a bad type\n\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n warnedProperties$1[name] = true;\n return false;\n } // Warn when passing the strings 'false' or 'true' into a boolean prop\n\n\n if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {\n error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string \"false\".', name, value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n return true;\n };\n}\n\nvar warnUnknownProperties = function (type, props, eventRegistry) {\n {\n var unknownProps = [];\n\n for (var key in props) {\n var isValid = validateProperty$1(type, key, props[key], eventRegistry);\n\n if (!isValid) {\n unknownProps.push(key);\n }\n }\n\n var unknownPropString = unknownProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (unknownProps.length === 1) {\n error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n } else if (unknownProps.length > 1) {\n error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n }\n }\n};\n\nfunction validateProperties$2(type, props, eventRegistry) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnUnknownProperties(type, props, eventRegistry);\n}\n\nvar IS_EVENT_HANDLE_NON_MANAGED_NODE = 1;\nvar IS_NON_DELEGATED = 1 << 1;\nvar IS_CAPTURE_PHASE = 1 << 2;\n// set to LEGACY_FB_SUPPORT. LEGACY_FB_SUPPORT only gets set when\n// we call willDeferLaterForLegacyFBSupport, thus not bailing out\n// will result in endless cycles like an infinite loop.\n// We also don't want to defer during event replaying.\n\nvar SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS = IS_EVENT_HANDLE_NON_MANAGED_NODE | IS_NON_DELEGATED | IS_CAPTURE_PHASE;\n\n// This exists to avoid circular dependency between ReactDOMEventReplaying\n// and DOMPluginEventSystem.\nvar currentReplayingEvent = null;\nfunction setReplayingEvent(event) {\n {\n if (currentReplayingEvent !== null) {\n error('Expected currently replaying event to be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = event;\n}\nfunction resetReplayingEvent() {\n {\n if (currentReplayingEvent === null) {\n error('Expected currently replaying event to not be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = null;\n}\nfunction isReplayingEvent(event) {\n return event === currentReplayingEvent;\n}\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n // Fallback to nativeEvent.srcElement for IE9\n // https://github.com/facebook/react/issues/12506\n var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963\n\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n\n\n return target.nodeType === TEXT_NODE ? target.parentNode : target;\n}\n\nvar restoreImpl = null;\nvar restoreTarget = null;\nvar restoreQueue = null;\n\nfunction restoreStateOfTarget(target) {\n // We perform this translation at the end of the event loop so that we\n // always receive the correct fiber here\n var internalInstance = getInstanceFromNode(target);\n\n if (!internalInstance) {\n // Unmounted\n return;\n }\n\n if (typeof restoreImpl !== 'function') {\n throw new Error('setRestoreImplementation() needs to be called to handle a target for controlled ' + 'events. This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted.\n\n if (stateNode) {\n var _props = getFiberCurrentPropsFromNode(stateNode);\n\n restoreImpl(internalInstance.stateNode, internalInstance.type, _props);\n }\n}\n\nfunction setRestoreImplementation(impl) {\n restoreImpl = impl;\n}\nfunction enqueueStateRestore(target) {\n if (restoreTarget) {\n if (restoreQueue) {\n restoreQueue.push(target);\n } else {\n restoreQueue = [target];\n }\n } else {\n restoreTarget = target;\n }\n}\nfunction needsStateRestore() {\n return restoreTarget !== null || restoreQueue !== null;\n}\nfunction restoreStateIfNeeded() {\n if (!restoreTarget) {\n return;\n }\n\n var target = restoreTarget;\n var queuedTargets = restoreQueue;\n restoreTarget = null;\n restoreQueue = null;\n restoreStateOfTarget(target);\n\n if (queuedTargets) {\n for (var i = 0; i < queuedTargets.length; i++) {\n restoreStateOfTarget(queuedTargets[i]);\n }\n }\n}\n\n// the renderer. Such as when we're dispatching events or if third party\n// libraries need to call batchedUpdates. Eventually, this API will go away when\n// everything is batched by default. We'll then have a similar API to opt-out of\n// scheduled work and instead do synchronous work.\n// Defaults\n\nvar batchedUpdatesImpl = function (fn, bookkeeping) {\n return fn(bookkeeping);\n};\n\nvar flushSyncImpl = function () {};\n\nvar isInsideEventHandler = false;\n\nfunction finishEventHandler() {\n // Here we wait until all updates have propagated, which is important\n // when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n // Then we restore state of any controlled component.\n var controlledComponentsHavePendingUpdates = needsStateRestore();\n\n if (controlledComponentsHavePendingUpdates) {\n // If a controlled event was fired, we may need to restore the state of\n // the DOM node back to the controlled value. This is necessary when React\n // bails out of the update without touching the DOM.\n // TODO: Restore state in the microtask, after the discrete updates flush,\n // instead of early flushing them here.\n flushSyncImpl();\n restoreStateIfNeeded();\n }\n}\n\nfunction batchedUpdates(fn, a, b) {\n if (isInsideEventHandler) {\n // If we are currently inside another batch, we need to wait until it\n // fully completes before restoring state.\n return fn(a, b);\n }\n\n isInsideEventHandler = true;\n\n try {\n return batchedUpdatesImpl(fn, a, b);\n } finally {\n isInsideEventHandler = false;\n finishEventHandler();\n }\n} // TODO: Replace with flushSync\nfunction setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushSyncImpl) {\n batchedUpdatesImpl = _batchedUpdatesImpl;\n flushSyncImpl = _flushSyncImpl;\n}\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nfunction shouldPreventMouseEvent(name, type, props) {\n switch (name) {\n case 'onClick':\n case 'onClickCapture':\n case 'onDoubleClick':\n case 'onDoubleClickCapture':\n case 'onMouseDown':\n case 'onMouseDownCapture':\n case 'onMouseMove':\n case 'onMouseMoveCapture':\n case 'onMouseUp':\n case 'onMouseUpCapture':\n case 'onMouseEnter':\n return !!(props.disabled && isInteractive(type));\n\n default:\n return false;\n }\n}\n/**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n\n\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n\n if (stateNode === null) {\n // Work in progress (ex: onload events in incremental mode).\n return null;\n }\n\n var props = getFiberCurrentPropsFromNode(stateNode);\n\n if (props === null) {\n // Work in progress.\n return null;\n }\n\n var listener = props[registrationName];\n\n if (shouldPreventMouseEvent(registrationName, inst.type, props)) {\n return null;\n }\n\n if (listener && typeof listener !== 'function') {\n throw new Error(\"Expected `\" + registrationName + \"` listener to be a function, instead got a value of `\" + typeof listener + \"` type.\");\n }\n\n return listener;\n}\n\nvar passiveBrowserEventsSupported = false; // Check if browser support events with passive listeners\n// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n\nif (canUseDOM) {\n try {\n var options = {}; // $FlowFixMe: Ignore Flow complaining about needing a value\n\n Object.defineProperty(options, 'passive', {\n get: function () {\n passiveBrowserEventsSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (e) {\n passiveBrowserEventsSupported = false;\n }\n}\n\nfunction invokeGuardedCallbackProd(name, func, context, a, b, c, d, e, f) {\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n try {\n func.apply(context, funcArgs);\n } catch (error) {\n this.onError(error);\n }\n}\n\nvar invokeGuardedCallbackImpl = invokeGuardedCallbackProd;\n\n{\n // In DEV mode, we swap out invokeGuardedCallback for a special version\n // that plays more nicely with the browser's DevTools. The idea is to preserve\n // \"Pause on exceptions\" behavior. Because React wraps all user-provided\n // functions in invokeGuardedCallback, and the production version of\n // invokeGuardedCallback uses a try-catch, all user exceptions are treated\n // like caught exceptions, and the DevTools won't pause unless the developer\n // takes the extra step of enabling pause on caught exceptions. This is\n // unintuitive, though, because even though React has caught the error, from\n // the developer's perspective, the error is uncaught.\n //\n // To preserve the expected \"Pause on exceptions\" behavior, we don't use a\n // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake\n // DOM node, and call the user-provided callback from inside an event handler\n // for that fake event. If the callback throws, the error is \"captured\" using\n // a global event handler. But because the error happens in a different\n // event loop context, it does not interrupt the normal program flow.\n // Effectively, this gives us try-catch behavior without actually using\n // try-catch. Neat!\n // Check that the browser supports the APIs we need to implement our special\n // DEV version of invokeGuardedCallback\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n var fakeNode = document.createElement('react');\n\n invokeGuardedCallbackImpl = function invokeGuardedCallbackDev(name, func, context, a, b, c, d, e, f) {\n // If document doesn't exist we know for sure we will crash in this method\n // when we call document.createEvent(). However this can cause confusing\n // errors: https://github.com/facebook/create-react-app/issues/3482\n // So we preemptively throw with a better message instead.\n if (typeof document === 'undefined' || document === null) {\n throw new Error('The `document` global was defined when React was initialized, but is not ' + 'defined anymore. This can happen in a test environment if a component ' + 'schedules an update from an asynchronous callback, but the test has already ' + 'finished running. To solve this, you can either unmount the component at ' + 'the end of your test (and ensure that any asynchronous operations get ' + 'canceled in `componentWillUnmount`), or you can change the test itself ' + 'to be asynchronous.');\n }\n\n var evt = document.createEvent('Event');\n var didCall = false; // Keeps track of whether the user-provided callback threw an error. We\n // set this to true at the beginning, then set it to false right after\n // calling the function. If the function errors, `didError` will never be\n // set to false. This strategy works even if the browser is flaky and\n // fails to call our global error handler, because it doesn't rely on\n // the error event at all.\n\n var didError = true; // Keeps track of the value of window.event so that we can reset it\n // during the callback to let user code access window.event in the\n // browsers that support it.\n\n var windowEvent = window.event; // Keeps track of the descriptor of window.event to restore it after event\n // dispatching: https://github.com/facebook/react/issues/13688\n\n var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event');\n\n function restoreAfterDispatch() {\n // We immediately remove the callback from event listeners so that\n // nested `invokeGuardedCallback` calls do not clash. Otherwise, a\n // nested call would trigger the fake event handlers of any call higher\n // in the stack.\n fakeNode.removeEventListener(evtType, callCallback, false); // We check for window.hasOwnProperty('event') to prevent the\n // window.event assignment in both IE <= 10 as they throw an error\n // \"Member not found\" in strict mode, and in Firefox which does not\n // support window.event.\n\n if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) {\n window.event = windowEvent;\n }\n } // Create an event handler for our fake event. We will synchronously\n // dispatch our fake event using `dispatchEvent`. Inside the handler, we\n // call the user-provided callback.\n\n\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n function callCallback() {\n didCall = true;\n restoreAfterDispatch();\n func.apply(context, funcArgs);\n didError = false;\n } // Create a global error event handler. We use this to capture the value\n // that was thrown. It's possible that this error handler will fire more\n // than once; for example, if non-React code also calls `dispatchEvent`\n // and a handler for that event throws. We should be resilient to most of\n // those cases. Even if our error event handler fires more than once, the\n // last error event is always used. If the callback actually does error,\n // we know that the last error event is the correct one, because it's not\n // possible for anything else to have happened in between our callback\n // erroring and the code that follows the `dispatchEvent` call below. If\n // the callback doesn't error, but the error event was fired, we know to\n // ignore it because `didError` will be false, as described above.\n\n\n var error; // Use this to track whether the error event is ever called.\n\n var didSetError = false;\n var isCrossOriginError = false;\n\n function handleWindowError(event) {\n error = event.error;\n didSetError = true;\n\n if (error === null && event.colno === 0 && event.lineno === 0) {\n isCrossOriginError = true;\n }\n\n if (event.defaultPrevented) {\n // Some other error handler has prevented default.\n // Browsers silence the error report if this happens.\n // We'll remember this to later decide whether to log it or not.\n if (error != null && typeof error === 'object') {\n try {\n error._suppressLogging = true;\n } catch (inner) {// Ignore.\n }\n }\n }\n } // Create a fake event type.\n\n\n var evtType = \"react-\" + (name ? name : 'invokeguardedcallback'); // Attach our event handlers\n\n window.addEventListener('error', handleWindowError);\n fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function\n // errors, it will trigger our global error handler.\n\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n\n if (windowEventDescriptor) {\n Object.defineProperty(window, 'event', windowEventDescriptor);\n }\n\n if (didCall && didError) {\n if (!didSetError) {\n // The callback errored, but the error event never fired.\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error('An error was thrown inside one of your components, but React ' + \"doesn't know what it was. This is likely due to browser \" + 'flakiness. React does its best to preserve the \"Pause on ' + 'exceptions\" behavior of the DevTools, which requires some ' + \"DEV-mode only tricks. It's possible that these don't work in \" + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.');\n } else if (isCrossOriginError) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(\"A cross-origin error was thrown. React doesn't have access to \" + 'the actual error object in development. ' + 'See https://reactjs.org/link/crossorigin-error for more information.');\n }\n\n this.onError(error);\n } // Remove our event listeners\n\n\n window.removeEventListener('error', handleWindowError);\n\n if (!didCall) {\n // Something went really wrong, and our event was not dispatched.\n // https://github.com/facebook/react/issues/16734\n // https://github.com/facebook/react/issues/16585\n // Fall back to the production implementation.\n restoreAfterDispatch();\n return invokeGuardedCallbackProd.apply(this, arguments);\n }\n };\n }\n}\n\nvar invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl;\n\nvar hasError = false;\nvar caughtError = null; // Used by event system to capture/rethrow the first error.\n\nvar hasRethrowError = false;\nvar rethrowError = null;\nvar reporter = {\n onError: function (error) {\n hasError = true;\n caughtError = error;\n }\n};\n/**\n * Call a function while guarding against errors that happens within it.\n * Returns an error if it throws, otherwise null.\n *\n * In production, this is implemented using a try-catch. The reason we don't\n * use a try-catch directly is so that we can swap out a different\n * implementation in DEV mode.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {\n hasError = false;\n caughtError = null;\n invokeGuardedCallbackImpl$1.apply(reporter, arguments);\n}\n/**\n * Same as invokeGuardedCallback, but instead of returning an error, it stores\n * it in a global so it can be rethrown by `rethrowCaughtError` later.\n * TODO: See if caughtError and rethrowError can be unified.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {\n invokeGuardedCallback.apply(this, arguments);\n\n if (hasError) {\n var error = clearCaughtError();\n\n if (!hasRethrowError) {\n hasRethrowError = true;\n rethrowError = error;\n }\n }\n}\n/**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n\nfunction rethrowCaughtError() {\n if (hasRethrowError) {\n var error = rethrowError;\n hasRethrowError = false;\n rethrowError = null;\n throw error;\n }\n}\nfunction hasCaughtError() {\n return hasError;\n}\nfunction clearCaughtError() {\n if (hasError) {\n var error = caughtError;\n hasError = false;\n caughtError = null;\n return error;\n } else {\n throw new Error('clearCaughtError was called but no error was captured. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n}\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n *\n * Note that this module is currently shared and assumed to be stateless.\n * If this becomes an actual Map, that will break.\n */\nfunction get(key) {\n return key._reactInternals;\n}\nfunction has(key) {\n return key._reactInternals !== undefined;\n}\nfunction set(key, value) {\n key._reactInternals = value;\n}\n\n// Don't change these two values. They're used by React Dev Tools.\nvar NoFlags =\n/* */\n0;\nvar PerformedWork =\n/* */\n1; // You can change the rest (and add more).\n\nvar Placement =\n/* */\n2;\nvar Update =\n/* */\n4;\nvar ChildDeletion =\n/* */\n16;\nvar ContentReset =\n/* */\n32;\nvar Callback =\n/* */\n64;\nvar DidCapture =\n/* */\n128;\nvar ForceClientRender =\n/* */\n256;\nvar Ref =\n/* */\n512;\nvar Snapshot =\n/* */\n1024;\nvar Passive =\n/* */\n2048;\nvar Hydrating =\n/* */\n4096;\nvar Visibility =\n/* */\n8192;\nvar StoreConsistency =\n/* */\n16384;\nvar LifecycleEffectMask = Passive | Update | Callback | Ref | Snapshot | StoreConsistency; // Union of all commit flags (flags with the lifetime of a particular commit)\n\nvar HostEffectMask =\n/* */\n32767; // These are not really side effects, but we still reuse this field.\n\nvar Incomplete =\n/* */\n32768;\nvar ShouldCapture =\n/* */\n65536;\nvar ForceUpdateForLegacySuspense =\n/* */\n131072;\nvar Forked =\n/* */\n1048576; // Static tags describe aspects of a fiber that are not specific to a render,\n// e.g. a fiber uses a passive effect (even if there are no updates on this particular render).\n// This enables us to defer more work in the unmount case,\n// since we can defer traversing the tree during layout to look for Passive effects,\n// and instead rely on the static flag as a signal that there may be cleanup work.\n\nvar RefStatic =\n/* */\n2097152;\nvar LayoutStatic =\n/* */\n4194304;\nvar PassiveStatic =\n/* */\n8388608; // These flags allow us to traverse to fibers that have effects on mount\n// without traversing the entire tree after every commit for\n// double invoking\n\nvar MountLayoutDev =\n/* */\n16777216;\nvar MountPassiveDev =\n/* */\n33554432; // Groups of flags that are used in the commit phase to skip over trees that\n// don't contain effects, by checking subtreeFlags.\n\nvar BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visibility\n// flag logic (see #20043)\nUpdate | Snapshot | ( 0);\nvar MutationMask = Placement | Update | ChildDeletion | ContentReset | Ref | Hydrating | Visibility;\nvar LayoutMask = Update | Callback | Ref | Visibility; // TODO: Split into PassiveMountMask and PassiveUnmountMask\n\nvar PassiveMask = Passive | ChildDeletion; // Union of tags that don't get reset on clones.\n// This allows certain concepts to persist without recalculating them,\n// e.g. whether a subtree contains passive effects or portals.\n\nvar StaticMask = LayoutStatic | PassiveStatic | RefStatic;\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nfunction getNearestMountedFiber(fiber) {\n var node = fiber;\n var nearestMounted = fiber;\n\n if (!fiber.alternate) {\n // If there is no alternate, this might be a new tree that isn't inserted\n // yet. If it is, then it will have a pending insertion effect on it.\n var nextNode = node;\n\n do {\n node = nextNode;\n\n if ((node.flags & (Placement | Hydrating)) !== NoFlags) {\n // This is an insertion or in-progress hydration. The nearest possible\n // mounted fiber is the parent but we need to continue to figure out\n // if that one is still mounted.\n nearestMounted = node.return;\n }\n\n nextNode = node.return;\n } while (nextNode);\n } else {\n while (node.return) {\n node = node.return;\n }\n }\n\n if (node.tag === HostRoot) {\n // TODO: Check if this was a nested HostRoot when used with\n // renderContainerIntoSubtree.\n return nearestMounted;\n } // If we didn't hit the root, that means that we're in an disconnected tree\n // that has been unmounted.\n\n\n return null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (fiber.tag === SuspenseComponent) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState === null) {\n var current = fiber.alternate;\n\n if (current !== null) {\n suspenseState = current.memoizedState;\n }\n }\n\n if (suspenseState !== null) {\n return suspenseState.dehydrated;\n }\n }\n\n return null;\n}\nfunction getContainerFromFiber(fiber) {\n return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null;\n}\nfunction isFiberMounted(fiber) {\n return getNearestMountedFiber(fiber) === fiber;\n}\nfunction isMounted(component) {\n {\n var owner = ReactCurrentOwner.current;\n\n if (owner !== null && owner.tag === ClassComponent) {\n var ownerFiber = owner;\n var instance = ownerFiber.stateNode;\n\n if (!instance._warnedAboutRefsInRender) {\n error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromFiber(ownerFiber) || 'A component');\n }\n\n instance._warnedAboutRefsInRender = true;\n }\n }\n\n var fiber = get(component);\n\n if (!fiber) {\n return false;\n }\n\n return getNearestMountedFiber(fiber) === fiber;\n}\n\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n}\n\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n\n if (!alternate) {\n // If there is no alternate, then we only need to check if it is mounted.\n var nearestMounted = getNearestMountedFiber(fiber);\n\n if (nearestMounted === null) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (nearestMounted !== fiber) {\n return null;\n }\n\n return fiber;\n } // If we have two possible branches, we'll walk backwards up to the root\n // to see what path the root points to. On the way we may hit one of the\n // special cases and we'll deal with them.\n\n\n var a = fiber;\n var b = alternate;\n\n while (true) {\n var parentA = a.return;\n\n if (parentA === null) {\n // We're at the root.\n break;\n }\n\n var parentB = parentA.alternate;\n\n if (parentB === null) {\n // There is no alternate. This is an unusual case. Currently, it only\n // happens when a Suspense component is hidden. An extra fragment fiber\n // is inserted in between the Suspense fiber and its children. Skip\n // over this extra fragment fiber and proceed to the next parent.\n var nextParent = parentA.return;\n\n if (nextParent !== null) {\n a = b = nextParent;\n continue;\n } // If there's no parent, we're at the root.\n\n\n break;\n } // If both copies of the parent fiber point to the same child, we can\n // assume that the child is current. This happens when we bailout on low\n // priority: the bailed out fiber's child reuses the current child.\n\n\n if (parentA.child === parentB.child) {\n var child = parentA.child;\n\n while (child) {\n if (child === a) {\n // We've determined that A is the current branch.\n assertIsMounted(parentA);\n return fiber;\n }\n\n if (child === b) {\n // We've determined that B is the current branch.\n assertIsMounted(parentA);\n return alternate;\n }\n\n child = child.sibling;\n } // We should never have an alternate for any mounting node. So the only\n // way this could possibly happen is if this was unmounted, if at all.\n\n\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.return !== b.return) {\n // The return pointer of A and the return pointer of B point to different\n // fibers. We assume that return pointers never criss-cross, so A must\n // belong to the child set of A.return, and B must belong to the child\n // set of B.return.\n a = parentA;\n b = parentB;\n } else {\n // The return pointers point to the same fiber. We'll have to use the\n // default, slow path: scan the child sets of each parent alternate to see\n // which child belongs to which set.\n //\n // Search parent A's child set\n var didFindChild = false;\n var _child = parentA.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentA;\n b = parentB;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentA;\n a = parentB;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n // Search parent B's child set\n _child = parentB.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentB;\n b = parentA;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentB;\n a = parentA;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n throw new Error('Child was not found in either parent set. This indicates a bug ' + 'in React related to the return pointer. Please file an issue.');\n }\n }\n }\n\n if (a.alternate !== b) {\n throw new Error(\"Return fibers should always be each others' alternates. \" + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n } // If the root is not a host container, we're in a disconnected tree. I.e.\n // unmounted.\n\n\n if (a.tag !== HostRoot) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.stateNode.current === a) {\n // We've determined that A is the current branch.\n return fiber;\n } // Otherwise B has to be current branch.\n\n\n return alternate;\n}\nfunction findCurrentHostFiber(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n var match = findCurrentHostFiberImpl(child);\n\n if (match !== null) {\n return match;\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\nfunction findCurrentHostFiberWithNoPortals(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberWithNoPortalsImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberWithNoPortalsImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n if (child.tag !== HostPortal) {\n var match = findCurrentHostFiberWithNoPortalsImpl(child);\n\n if (match !== null) {\n return match;\n }\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\n// This module only exists as an ESM wrapper around the external CommonJS\nvar scheduleCallback = Scheduler.unstable_scheduleCallback;\nvar cancelCallback = Scheduler.unstable_cancelCallback;\nvar shouldYield = Scheduler.unstable_shouldYield;\nvar requestPaint = Scheduler.unstable_requestPaint;\nvar now = Scheduler.unstable_now;\nvar getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel;\nvar ImmediatePriority = Scheduler.unstable_ImmediatePriority;\nvar UserBlockingPriority = Scheduler.unstable_UserBlockingPriority;\nvar NormalPriority = Scheduler.unstable_NormalPriority;\nvar LowPriority = Scheduler.unstable_LowPriority;\nvar IdlePriority = Scheduler.unstable_IdlePriority;\n// this doesn't actually exist on the scheduler, but it *does*\n// on scheduler/unstable_mock, which we'll need for internal testing\nvar unstable_yieldValue = Scheduler.unstable_yieldValue;\nvar unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue;\n\nvar rendererID = null;\nvar injectedHook = null;\nvar injectedProfilingHooks = null;\nvar hasLoggedError = false;\nvar isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined';\nfunction injectInternals(internals) {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // No DevTools\n return false;\n }\n\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // https://github.com/facebook/react/issues/3877\n return true;\n }\n\n if (!hook.supportsFiber) {\n {\n error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://reactjs.org/link/react-devtools');\n } // DevTools exists, even though it doesn't support Fiber.\n\n\n return true;\n }\n\n try {\n if (enableSchedulingProfiler) {\n // Conditionally inject these hooks only if Timeline profiler is supported by this build.\n // This gives DevTools a way to feature detect that isn't tied to version number\n // (since profiling and timeline are controlled by different feature flags).\n internals = assign({}, internals, {\n getLaneLabelMap: getLaneLabelMap,\n injectProfilingHooks: injectProfilingHooks\n });\n }\n\n rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks.\n\n injectedHook = hook;\n } catch (err) {\n // Catch all errors because it is unsafe to throw during initialization.\n {\n error('React instrumentation encountered an error: %s.', err);\n }\n }\n\n if (hook.checkDCE) {\n // This is the real DevTools.\n return true;\n } else {\n // This is likely a hook installed by Fast Refresh runtime.\n return false;\n }\n}\nfunction onScheduleRoot(root, children) {\n {\n if (injectedHook && typeof injectedHook.onScheduleFiberRoot === 'function') {\n try {\n injectedHook.onScheduleFiberRoot(rendererID, root, children);\n } catch (err) {\n if ( !hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitRoot(root, eventPriority) {\n if (injectedHook && typeof injectedHook.onCommitFiberRoot === 'function') {\n try {\n var didError = (root.current.flags & DidCapture) === DidCapture;\n\n if (enableProfilerTimer) {\n var schedulerPriority;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n schedulerPriority = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriority = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriority = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriority = IdlePriority;\n break;\n\n default:\n schedulerPriority = NormalPriority;\n break;\n }\n\n injectedHook.onCommitFiberRoot(rendererID, root, schedulerPriority, didError);\n } else {\n injectedHook.onCommitFiberRoot(rendererID, root, undefined, didError);\n }\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onPostCommitRoot(root) {\n if (injectedHook && typeof injectedHook.onPostCommitFiberRoot === 'function') {\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitUnmount(fiber) {\n if (injectedHook && typeof injectedHook.onCommitFiberUnmount === 'function') {\n try {\n injectedHook.onCommitFiberUnmount(rendererID, fiber);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n {\n if (typeof unstable_yieldValue === 'function') {\n // We're in a test because Scheduler.unstable_yieldValue only exists\n // in SchedulerMock. To reduce the noise in strict mode tests,\n // suppress warnings and disable scheduler yielding during the double render\n unstable_setDisableYieldValue(newIsStrictMode);\n setSuppressWarning(newIsStrictMode);\n }\n\n if (injectedHook && typeof injectedHook.setStrictMode === 'function') {\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n }\n} // Profiler API hooks\n\nfunction injectProfilingHooks(profilingHooks) {\n injectedProfilingHooks = profilingHooks;\n}\n\nfunction getLaneLabelMap() {\n {\n var map = new Map();\n var lane = 1;\n\n for (var index = 0; index < TotalLanes; index++) {\n var label = getLabelForLane(lane);\n map.set(lane, label);\n lane *= 2;\n }\n\n return map;\n }\n}\n\nfunction markCommitStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStarted === 'function') {\n injectedProfilingHooks.markCommitStarted(lanes);\n }\n }\n}\nfunction markCommitStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStopped === 'function') {\n injectedProfilingHooks.markCommitStopped();\n }\n }\n}\nfunction markComponentRenderStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStarted === 'function') {\n injectedProfilingHooks.markComponentRenderStarted(fiber);\n }\n }\n}\nfunction markComponentRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStopped === 'function') {\n injectedProfilingHooks.markComponentRenderStopped();\n }\n }\n}\nfunction markComponentPassiveEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStopped();\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStopped();\n }\n }\n}\nfunction markComponentErrored(fiber, thrownValue, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentErrored === 'function') {\n injectedProfilingHooks.markComponentErrored(fiber, thrownValue, lanes);\n }\n }\n}\nfunction markComponentSuspended(fiber, wakeable, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentSuspended === 'function') {\n injectedProfilingHooks.markComponentSuspended(fiber, wakeable, lanes);\n }\n }\n}\nfunction markLayoutEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStarted === 'function') {\n injectedProfilingHooks.markLayoutEffectsStarted(lanes);\n }\n }\n}\nfunction markLayoutEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStopped === 'function') {\n injectedProfilingHooks.markLayoutEffectsStopped();\n }\n }\n}\nfunction markPassiveEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStarted === 'function') {\n injectedProfilingHooks.markPassiveEffectsStarted(lanes);\n }\n }\n}\nfunction markPassiveEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStopped === 'function') {\n injectedProfilingHooks.markPassiveEffectsStopped();\n }\n }\n}\nfunction markRenderStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStarted === 'function') {\n injectedProfilingHooks.markRenderStarted(lanes);\n }\n }\n}\nfunction markRenderYielded() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderYielded === 'function') {\n injectedProfilingHooks.markRenderYielded();\n }\n }\n}\nfunction markRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStopped === 'function') {\n injectedProfilingHooks.markRenderStopped();\n }\n }\n}\nfunction markRenderScheduled(lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderScheduled === 'function') {\n injectedProfilingHooks.markRenderScheduled(lane);\n }\n }\n}\nfunction markForceUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markForceUpdateScheduled === 'function') {\n injectedProfilingHooks.markForceUpdateScheduled(fiber, lane);\n }\n }\n}\nfunction markStateUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markStateUpdateScheduled === 'function') {\n injectedProfilingHooks.markStateUpdateScheduled(fiber, lane);\n }\n }\n}\n\nvar NoMode =\n/* */\n0; // TODO: Remove ConcurrentMode by reading from the root tag instead\n\nvar ConcurrentMode =\n/* */\n1;\nvar ProfileMode =\n/* */\n2;\nvar StrictLegacyMode =\n/* */\n8;\nvar StrictEffectsMode =\n/* */\n16;\n\n// TODO: This is pretty well supported by browsers. Maybe we can drop it.\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback; // Count leading zeros.\n// Based on:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nfunction clz32Fallback(x) {\n var asUint = x >>> 0;\n\n if (asUint === 0) {\n return 32;\n }\n\n return 31 - (log(asUint) / LN2 | 0) | 0;\n}\n\n// If those values are changed that package should be rebuilt and redeployed.\n\nvar TotalLanes = 31;\nvar NoLanes =\n/* */\n0;\nvar NoLane =\n/* */\n0;\nvar SyncLane =\n/* */\n1;\nvar InputContinuousHydrationLane =\n/* */\n2;\nvar InputContinuousLane =\n/* */\n4;\nvar DefaultHydrationLane =\n/* */\n8;\nvar DefaultLane =\n/* */\n16;\nvar TransitionHydrationLane =\n/* */\n32;\nvar TransitionLanes =\n/* */\n4194240;\nvar TransitionLane1 =\n/* */\n64;\nvar TransitionLane2 =\n/* */\n128;\nvar TransitionLane3 =\n/* */\n256;\nvar TransitionLane4 =\n/* */\n512;\nvar TransitionLane5 =\n/* */\n1024;\nvar TransitionLane6 =\n/* */\n2048;\nvar TransitionLane7 =\n/* */\n4096;\nvar TransitionLane8 =\n/* */\n8192;\nvar TransitionLane9 =\n/* */\n16384;\nvar TransitionLane10 =\n/* */\n32768;\nvar TransitionLane11 =\n/* */\n65536;\nvar TransitionLane12 =\n/* */\n131072;\nvar TransitionLane13 =\n/* */\n262144;\nvar TransitionLane14 =\n/* */\n524288;\nvar TransitionLane15 =\n/* */\n1048576;\nvar TransitionLane16 =\n/* */\n2097152;\nvar RetryLanes =\n/* */\n130023424;\nvar RetryLane1 =\n/* */\n4194304;\nvar RetryLane2 =\n/* */\n8388608;\nvar RetryLane3 =\n/* */\n16777216;\nvar RetryLane4 =\n/* */\n33554432;\nvar RetryLane5 =\n/* */\n67108864;\nvar SomeRetryLane = RetryLane1;\nvar SelectiveHydrationLane =\n/* */\n134217728;\nvar NonIdleLanes =\n/* */\n268435455;\nvar IdleHydrationLane =\n/* */\n268435456;\nvar IdleLane =\n/* */\n536870912;\nvar OffscreenLane =\n/* */\n1073741824; // This function is used for the experimental timeline (react-devtools-timeline)\n// It should be kept in sync with the Lanes values above.\n\nfunction getLabelForLane(lane) {\n {\n if (lane & SyncLane) {\n return 'Sync';\n }\n\n if (lane & InputContinuousHydrationLane) {\n return 'InputContinuousHydration';\n }\n\n if (lane & InputContinuousLane) {\n return 'InputContinuous';\n }\n\n if (lane & DefaultHydrationLane) {\n return 'DefaultHydration';\n }\n\n if (lane & DefaultLane) {\n return 'Default';\n }\n\n if (lane & TransitionHydrationLane) {\n return 'TransitionHydration';\n }\n\n if (lane & TransitionLanes) {\n return 'Transition';\n }\n\n if (lane & RetryLanes) {\n return 'Retry';\n }\n\n if (lane & SelectiveHydrationLane) {\n return 'SelectiveHydration';\n }\n\n if (lane & IdleHydrationLane) {\n return 'IdleHydration';\n }\n\n if (lane & IdleLane) {\n return 'Idle';\n }\n\n if (lane & OffscreenLane) {\n return 'Offscreen';\n }\n }\n}\nvar NoTimestamp = -1;\nvar nextTransitionLane = TransitionLane1;\nvar nextRetryLane = RetryLane1;\n\nfunction getHighestPriorityLanes(lanes) {\n switch (getHighestPriorityLane(lanes)) {\n case SyncLane:\n return SyncLane;\n\n case InputContinuousHydrationLane:\n return InputContinuousHydrationLane;\n\n case InputContinuousLane:\n return InputContinuousLane;\n\n case DefaultHydrationLane:\n return DefaultHydrationLane;\n\n case DefaultLane:\n return DefaultLane;\n\n case TransitionHydrationLane:\n return TransitionHydrationLane;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return lanes & TransitionLanes;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n return lanes & RetryLanes;\n\n case SelectiveHydrationLane:\n return SelectiveHydrationLane;\n\n case IdleHydrationLane:\n return IdleHydrationLane;\n\n case IdleLane:\n return IdleLane;\n\n case OffscreenLane:\n return OffscreenLane;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n } // This shouldn't be reachable, but as a fallback, return the entire bitmask.\n\n\n return lanes;\n }\n}\n\nfunction getNextLanes(root, wipLanes) {\n // Early bailout if there's no pending work left.\n var pendingLanes = root.pendingLanes;\n\n if (pendingLanes === NoLanes) {\n return NoLanes;\n }\n\n var nextLanes = NoLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes; // Do not work on any idle work until all the non-idle work has finished,\n // even if the work is suspended.\n\n var nonIdlePendingLanes = pendingLanes & NonIdleLanes;\n\n if (nonIdlePendingLanes !== NoLanes) {\n var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes;\n\n if (nonIdleUnblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes);\n } else {\n var nonIdlePingedLanes = nonIdlePendingLanes & pingedLanes;\n\n if (nonIdlePingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdlePingedLanes);\n }\n }\n } else {\n // The only remaining work is Idle.\n var unblockedLanes = pendingLanes & ~suspendedLanes;\n\n if (unblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(unblockedLanes);\n } else {\n if (pingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(pingedLanes);\n }\n }\n }\n\n if (nextLanes === NoLanes) {\n // This should only be reachable if we're suspended\n // TODO: Consider warning in this path if a fallback timer is not scheduled.\n return NoLanes;\n } // If we're already in the middle of a render, switching lanes will interrupt\n // it and we'll lose our progress. We should only do this if the new lanes are\n // higher priority.\n\n\n if (wipLanes !== NoLanes && wipLanes !== nextLanes && // If we already suspended with a delay, then interrupting is fine. Don't\n // bother waiting until the root is complete.\n (wipLanes & suspendedLanes) === NoLanes) {\n var nextLane = getHighestPriorityLane(nextLanes);\n var wipLane = getHighestPriorityLane(wipLanes);\n\n if ( // Tests whether the next lane is equal or lower priority than the wip\n // one. This works because the bits decrease in priority as you go left.\n nextLane >= wipLane || // Default priority updates should not interrupt transition updates. The\n // only difference between default updates and transition updates is that\n // default updates do not support refresh transitions.\n nextLane === DefaultLane && (wipLane & TransitionLanes) !== NoLanes) {\n // Keep working on the existing in-progress tree. Do not interrupt.\n return wipLanes;\n }\n }\n\n if ((nextLanes & InputContinuousLane) !== NoLanes) {\n // When updates are sync by default, we entangle continuous priority updates\n // and default updates, so they render in the same batch. The only reason\n // they use separate lanes is because continuous updates should interrupt\n // transitions, but default updates should not.\n nextLanes |= pendingLanes & DefaultLane;\n } // Check for entangled lanes and add them to the batch.\n //\n // A lane is said to be entangled with another when it's not allowed to render\n // in a batch that does not also include the other lane. Typically we do this\n // when multiple updates have the same source, and we only want to respond to\n // the most recent event from that source.\n //\n // Note that we apply entanglements *after* checking for partial work above.\n // This means that if a lane is entangled during an interleaved event while\n // it's already rendering, we won't interrupt it. This is intentional, since\n // entanglement is usually \"best effort\": we'll try our best to render the\n // lanes in the same batch, but it's not worth throwing out partially\n // completed work in order to do it.\n // TODO: Reconsider this. The counter-argument is that the partial work\n // represents an intermediate state, which we don't want to show to the user.\n // And by spending extra time finishing it, we're increasing the amount of\n // time it takes to show the final state, which is what they are actually\n // waiting for.\n //\n // For those exceptions where entanglement is semantically important, like\n // useMutableSource, we should ensure that there is no partial work at the\n // time we apply the entanglement.\n\n\n var entangledLanes = root.entangledLanes;\n\n if (entangledLanes !== NoLanes) {\n var entanglements = root.entanglements;\n var lanes = nextLanes & entangledLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n nextLanes |= entanglements[index];\n lanes &= ~lane;\n }\n }\n\n return nextLanes;\n}\nfunction getMostRecentEventTime(root, lanes) {\n var eventTimes = root.eventTimes;\n var mostRecentEventTime = NoTimestamp;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var eventTime = eventTimes[index];\n\n if (eventTime > mostRecentEventTime) {\n mostRecentEventTime = eventTime;\n }\n\n lanes &= ~lane;\n }\n\n return mostRecentEventTime;\n}\n\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case SyncLane:\n case InputContinuousHydrationLane:\n case InputContinuousLane:\n // User interactions should expire slightly more quickly.\n //\n // NOTE: This is set to the corresponding constant as in Scheduler.js.\n // When we made it larger, a product metric in www regressed, suggesting\n // there's a user interaction that's being starved by a series of\n // synchronous updates. If that theory is correct, the proper solution is\n // to fix the starvation. However, this scenario supports the idea that\n // expiration times are an important safeguard when starvation\n // does happen.\n return currentTime + 250;\n\n case DefaultHydrationLane:\n case DefaultLane:\n case TransitionHydrationLane:\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return currentTime + 5000;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n // TODO: Retries should be allowed to expire if they are CPU bound for\n // too long, but when I made this change it caused a spike in browser\n // crashes. There must be some other underlying bug; not super urgent but\n // ideally should figure out why and fix it. Unfortunately we don't have\n // a repro for the crashes, only detected via production metrics.\n return NoTimestamp;\n\n case SelectiveHydrationLane:\n case IdleHydrationLane:\n case IdleLane:\n case OffscreenLane:\n // Anything idle priority or lower should never expire.\n return NoTimestamp;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n }\n\n return NoTimestamp;\n }\n}\n\nfunction markStarvedLanesAsExpired(root, currentTime) {\n // TODO: This gets called every time we yield. We can optimize by storing\n // the earliest expiration time on the root. Then use that to quickly bail out\n // of this function.\n var pendingLanes = root.pendingLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes;\n var expirationTimes = root.expirationTimes; // Iterate through the pending lanes and check if we've reached their\n // expiration time. If so, we'll assume the update is being starved and mark\n // it as expired to force it to finish.\n\n var lanes = pendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var expirationTime = expirationTimes[index];\n\n if (expirationTime === NoTimestamp) {\n // Found a pending lane with no expiration time. If it's not suspended, or\n // if it's pinged, assume it's CPU-bound. Compute a new expiration time\n // using the current time.\n if ((lane & suspendedLanes) === NoLanes || (lane & pingedLanes) !== NoLanes) {\n // Assumes timestamps are monotonically increasing.\n expirationTimes[index] = computeExpirationTime(lane, currentTime);\n }\n } else if (expirationTime <= currentTime) {\n // This lane expired\n root.expiredLanes |= lane;\n }\n\n lanes &= ~lane;\n }\n} // This returns the highest priority pending lanes regardless of whether they\n// are suspended.\n\nfunction getHighestPriorityPendingLanes(root) {\n return getHighestPriorityLanes(root.pendingLanes);\n}\nfunction getLanesToRetrySynchronouslyOnError(root) {\n var everythingButOffscreen = root.pendingLanes & ~OffscreenLane;\n\n if (everythingButOffscreen !== NoLanes) {\n return everythingButOffscreen;\n }\n\n if (everythingButOffscreen & OffscreenLane) {\n return OffscreenLane;\n }\n\n return NoLanes;\n}\nfunction includesSyncLane(lanes) {\n return (lanes & SyncLane) !== NoLanes;\n}\nfunction includesNonIdleWork(lanes) {\n return (lanes & NonIdleLanes) !== NoLanes;\n}\nfunction includesOnlyRetries(lanes) {\n return (lanes & RetryLanes) === lanes;\n}\nfunction includesOnlyNonUrgentLanes(lanes) {\n var UrgentLanes = SyncLane | InputContinuousLane | DefaultLane;\n return (lanes & UrgentLanes) === NoLanes;\n}\nfunction includesOnlyTransitions(lanes) {\n return (lanes & TransitionLanes) === lanes;\n}\nfunction includesBlockingLane(root, lanes) {\n\n var SyncDefaultLanes = InputContinuousHydrationLane | InputContinuousLane | DefaultHydrationLane | DefaultLane;\n return (lanes & SyncDefaultLanes) !== NoLanes;\n}\nfunction includesExpiredLane(root, lanes) {\n // This is a separate check from includesBlockingLane because a lane can\n // expire after a render has already started.\n return (lanes & root.expiredLanes) !== NoLanes;\n}\nfunction isTransitionLane(lane) {\n return (lane & TransitionLanes) !== NoLanes;\n}\nfunction claimNextTransitionLane() {\n // Cycle through the lanes, assigning each new transition to the next lane.\n // In most cases, this means every transition gets its own lane, until we\n // run out of lanes and cycle back to the beginning.\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n\n if ((nextTransitionLane & TransitionLanes) === NoLanes) {\n nextTransitionLane = TransitionLane1;\n }\n\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n\n if ((nextRetryLane & RetryLanes) === NoLanes) {\n nextRetryLane = RetryLane1;\n }\n\n return lane;\n}\nfunction getHighestPriorityLane(lanes) {\n return lanes & -lanes;\n}\nfunction pickArbitraryLane(lanes) {\n // This wrapper function gets inlined. Only exists so to communicate that it\n // doesn't matter which bit is selected; you can pick any bit without\n // affecting the algorithms where its used. Here I'm using\n // getHighestPriorityLane because it requires the fewest operations.\n return getHighestPriorityLane(lanes);\n}\n\nfunction pickArbitraryLaneIndex(lanes) {\n return 31 - clz32(lanes);\n}\n\nfunction laneToIndex(lane) {\n return pickArbitraryLaneIndex(lane);\n}\n\nfunction includesSomeLane(a, b) {\n return (a & b) !== NoLanes;\n}\nfunction isSubsetOfLanes(set, subset) {\n return (set & subset) === subset;\n}\nfunction mergeLanes(a, b) {\n return a | b;\n}\nfunction removeLanes(set, subset) {\n return set & ~subset;\n}\nfunction intersectLanes(a, b) {\n return a & b;\n} // Seems redundant, but it changes the type from a single lane (used for\n// updates) to a group of lanes (used for flushing work).\n\nfunction laneToLanes(lane) {\n return lane;\n}\nfunction higherPriorityLane(a, b) {\n // This works because the bit ranges decrease in priority as you go left.\n return a !== NoLane && a < b ? a : b;\n}\nfunction createLaneMap(initial) {\n // Intentionally pushing one by one.\n // https://v8.dev/blog/elements-kinds#avoid-creating-holes\n var laneMap = [];\n\n for (var i = 0; i < TotalLanes; i++) {\n laneMap.push(initial);\n }\n\n return laneMap;\n}\nfunction markRootUpdated(root, updateLane, eventTime) {\n root.pendingLanes |= updateLane; // If there are any suspended transitions, it's possible this new update\n // could unblock them. Clear the suspended lanes so that we can try rendering\n // them again.\n //\n // TODO: We really only need to unsuspend only lanes that are in the\n // `subtreeLanes` of the updated fiber, or the update lanes of the return\n // path. This would exclude suspended updates in an unrelated sibling tree,\n // since there's no way for this update to unblock it.\n //\n // We don't do this if the incoming update is idle, because we never process\n // idle updates until after all the regular updates have finished; there's no\n // way it could unblock a transition.\n\n if (updateLane !== IdleLane) {\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n }\n\n var eventTimes = root.eventTimes;\n var index = laneToIndex(updateLane); // We can always overwrite an existing timestamp because we prefer the most\n // recent event, and we assume time is monotonically increasing.\n\n eventTimes[index] = eventTime;\n}\nfunction markRootSuspended(root, suspendedLanes) {\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes; // The suspended lanes are no longer CPU-bound. Clear their expiration times.\n\n var expirationTimes = root.expirationTimes;\n var lanes = suspendedLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootPinged(root, pingedLanes, eventTime) {\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n}\nfunction markRootFinished(root, remainingLanes) {\n var noLongerPendingLanes = root.pendingLanes & ~remainingLanes;\n root.pendingLanes = remainingLanes; // Let's try everything again\n\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n root.expiredLanes &= remainingLanes;\n root.mutableReadLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n var entanglements = root.entanglements;\n var eventTimes = root.eventTimes;\n var expirationTimes = root.expirationTimes; // Clear the lanes that no longer have pending work\n\n var lanes = noLongerPendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n entanglements[index] = NoLanes;\n eventTimes[index] = NoTimestamp;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootEntangled(root, entangledLanes) {\n // In addition to entangling each of the given lanes with each other, we also\n // have to consider _transitive_ entanglements. For each lane that is already\n // entangled with *any* of the given lanes, that lane is now transitively\n // entangled with *all* the given lanes.\n //\n // Translated: If C is entangled with A, then entangling A with B also\n // entangles C with B.\n //\n // If this is hard to grasp, it might help to intentionally break this\n // function and look at the tests that fail in ReactTransition-test.js. Try\n // commenting out one of the conditions below.\n var rootEntangledLanes = root.entangledLanes |= entangledLanes;\n var entanglements = root.entanglements;\n var lanes = rootEntangledLanes;\n\n while (lanes) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n\n if ( // Is this one of the newly entangled lanes?\n lane & entangledLanes | // Is this lane transitively entangled with the newly entangled lanes?\n entanglements[index] & entangledLanes) {\n entanglements[index] |= entangledLanes;\n }\n\n lanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = getHighestPriorityLane(renderLanes);\n var lane;\n\n switch (renderLane) {\n case InputContinuousLane:\n lane = InputContinuousHydrationLane;\n break;\n\n case DefaultLane:\n lane = DefaultHydrationLane;\n break;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n lane = TransitionHydrationLane;\n break;\n\n case IdleLane:\n lane = IdleHydrationLane;\n break;\n\n default:\n // Everything else is already either a hydration lane, or shouldn't\n // be retried at a hydration lane.\n lane = NoLane;\n break;\n } // Check if the lane we chose is suspended. If so, that indicates that we\n // already attempted and failed to hydrate at that level. Also check if we're\n // already rendering that lane, which is rare but could happen.\n\n\n if ((lane & (root.suspendedLanes | renderLanes)) !== NoLane) {\n // Give up trying to hydrate and fall back to client render.\n return NoLane;\n }\n\n return lane;\n}\nfunction addFiberToLanesMap(root, fiber, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n updaters.add(fiber);\n lanes &= ~lane;\n }\n}\nfunction movePendingFibersToMemoized(root, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n var memoizedUpdaters = root.memoizedUpdaters;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n\n if (updaters.size > 0) {\n updaters.forEach(function (fiber) {\n var alternate = fiber.alternate;\n\n if (alternate === null || !memoizedUpdaters.has(alternate)) {\n memoizedUpdaters.add(fiber);\n }\n });\n updaters.clear();\n }\n\n lanes &= ~lane;\n }\n}\nfunction getTransitionsForLanes(root, lanes) {\n {\n return null;\n }\n}\n\nvar DiscreteEventPriority = SyncLane;\nvar ContinuousEventPriority = InputContinuousLane;\nvar DefaultEventPriority = DefaultLane;\nvar IdleEventPriority = IdleLane;\nvar currentUpdatePriority = NoLane;\nfunction getCurrentUpdatePriority() {\n return currentUpdatePriority;\n}\nfunction setCurrentUpdatePriority(newPriority) {\n currentUpdatePriority = newPriority;\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = currentUpdatePriority;\n\n try {\n currentUpdatePriority = priority;\n return fn();\n } finally {\n currentUpdatePriority = previousPriority;\n }\n}\nfunction higherEventPriority(a, b) {\n return a !== 0 && a < b ? a : b;\n}\nfunction lowerEventPriority(a, b) {\n return a === 0 || a > b ? a : b;\n}\nfunction isHigherEventPriority(a, b) {\n return a !== 0 && a < b;\n}\nfunction lanesToEventPriority(lanes) {\n var lane = getHighestPriorityLane(lanes);\n\n if (!isHigherEventPriority(DiscreteEventPriority, lane)) {\n return DiscreteEventPriority;\n }\n\n if (!isHigherEventPriority(ContinuousEventPriority, lane)) {\n return ContinuousEventPriority;\n }\n\n if (includesNonIdleWork(lane)) {\n return DefaultEventPriority;\n }\n\n return IdleEventPriority;\n}\n\n// This is imported by the event replaying implementation in React DOM. It's\n// in a separate file to break a circular dependency between the renderer and\n// the reconciler.\nfunction isRootDehydrated(root) {\n var currentState = root.current.memoizedState;\n return currentState.isDehydrated;\n}\n\nvar _attemptSynchronousHydration;\n\nfunction setAttemptSynchronousHydration(fn) {\n _attemptSynchronousHydration = fn;\n}\nfunction attemptSynchronousHydration(fiber) {\n _attemptSynchronousHydration(fiber);\n}\nvar attemptContinuousHydration;\nfunction setAttemptContinuousHydration(fn) {\n attemptContinuousHydration = fn;\n}\nvar attemptHydrationAtCurrentPriority;\nfunction setAttemptHydrationAtCurrentPriority(fn) {\n attemptHydrationAtCurrentPriority = fn;\n}\nvar getCurrentUpdatePriority$1;\nfunction setGetCurrentUpdatePriority(fn) {\n getCurrentUpdatePriority$1 = fn;\n}\nvar attemptHydrationAtPriority;\nfunction setAttemptHydrationAtPriority(fn) {\n attemptHydrationAtPriority = fn;\n} // TODO: Upgrade this definition once we're on a newer version of Flow that\n// has this definition built-in.\n\nvar hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed.\n\nvar queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout.\n// if the last target was dehydrated.\n\nvar queuedFocus = null;\nvar queuedDrag = null;\nvar queuedMouse = null; // For pointer events there can be one latest event per pointerId.\n\nvar queuedPointers = new Map();\nvar queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too.\n\nvar queuedExplicitHydrationTargets = [];\nvar discreteReplayableEvents = ['mousedown', 'mouseup', 'touchcancel', 'touchend', 'touchstart', 'auxclick', 'dblclick', 'pointercancel', 'pointerdown', 'pointerup', 'dragend', 'dragstart', 'drop', 'compositionend', 'compositionstart', 'keydown', 'keypress', 'keyup', 'input', 'textInput', // Intentionally camelCase\n'copy', 'cut', 'paste', 'click', 'change', 'contextmenu', 'reset', 'submit'];\nfunction isDiscreteEventThatRequiresHydration(eventType) {\n return discreteReplayableEvents.indexOf(eventType) > -1;\n}\n\nfunction createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n return {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n };\n}\n\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'focusin':\n case 'focusout':\n queuedFocus = null;\n break;\n\n case 'dragenter':\n case 'dragleave':\n queuedDrag = null;\n break;\n\n case 'mouseover':\n case 'mouseout':\n queuedMouse = null;\n break;\n\n case 'pointerover':\n case 'pointerout':\n {\n var pointerId = nativeEvent.pointerId;\n queuedPointers.delete(pointerId);\n break;\n }\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n {\n var _pointerId = nativeEvent.pointerId;\n queuedPointerCaptures.delete(_pointerId);\n break;\n }\n }\n}\n\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) {\n var queuedEvent = createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn !== null) {\n var _fiber2 = getInstanceFromNode(blockedOn);\n\n if (_fiber2 !== null) {\n // Attempt to increase the priority of this target.\n attemptContinuousHydration(_fiber2);\n }\n }\n\n return queuedEvent;\n } // If we have already queued this exact event, then it's because\n // the different event systems have different DOM event listeners.\n // We can accumulate the flags, and the targetContainers, and\n // store a single event to be replayed.\n\n\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n var targetContainers = existingQueuedEvent.targetContainers;\n\n if (targetContainer !== null && targetContainers.indexOf(targetContainer) === -1) {\n targetContainers.push(targetContainer);\n }\n\n return existingQueuedEvent;\n}\n\nfunction queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // These set relatedTarget to null because the replayed event will be treated as if we\n // moved from outside the window (no target) onto the target once it hydrates.\n // Instead of mutating we could clone the event.\n switch (domEventName) {\n case 'focusin':\n {\n var focusEvent = nativeEvent;\n queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, domEventName, eventSystemFlags, targetContainer, focusEvent);\n return true;\n }\n\n case 'dragenter':\n {\n var dragEvent = nativeEvent;\n queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, domEventName, eventSystemFlags, targetContainer, dragEvent);\n return true;\n }\n\n case 'mouseover':\n {\n var mouseEvent = nativeEvent;\n queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, domEventName, eventSystemFlags, targetContainer, mouseEvent);\n return true;\n }\n\n case 'pointerover':\n {\n var pointerEvent = nativeEvent;\n var pointerId = pointerEvent.pointerId;\n queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, pointerEvent));\n return true;\n }\n\n case 'gotpointercapture':\n {\n var _pointerEvent = nativeEvent;\n var _pointerId2 = _pointerEvent.pointerId;\n queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, _pointerEvent));\n return true;\n }\n }\n\n return false;\n} // Check if this target is unblocked. Returns true if it's unblocked.\n\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n // TODO: This function shares a lot of logic with findInstanceBlockingEvent.\n // Try to unify them. It's a bit tricky since it would require two return\n // values.\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted !== null) {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // We're blocked on hydrating this boundary.\n // Increase its priority.\n queuedTarget.blockedOn = instance;\n attemptHydrationAtPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of\n // a root other than sync.\n\n return;\n }\n }\n }\n }\n\n queuedTarget.blockedOn = null;\n}\n\nfunction queueExplicitHydrationTarget(target) {\n // TODO: This will read the priority if it's dispatched by the React\n // event system but not native events. Should read window.event.type, like\n // we do for updates (getCurrentEventPriority).\n var updatePriority = getCurrentUpdatePriority$1();\n var queuedTarget = {\n blockedOn: null,\n target: target,\n priority: updatePriority\n };\n var i = 0;\n\n for (; i < queuedExplicitHydrationTargets.length; i++) {\n // Stop once we hit the first target with lower priority than\n if (!isHigherEventPriority(updatePriority, queuedExplicitHydrationTargets[i].priority)) {\n break;\n }\n }\n\n queuedExplicitHydrationTargets.splice(i, 0, queuedTarget);\n\n if (i === 0) {\n attemptExplicitHydrationTarget(queuedTarget);\n }\n}\n\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (queuedEvent.blockedOn !== null) {\n return false;\n }\n\n var targetContainers = queuedEvent.targetContainers;\n\n while (targetContainers.length > 0) {\n var targetContainer = targetContainers[0];\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.domEventName, queuedEvent.eventSystemFlags, targetContainer, queuedEvent.nativeEvent);\n\n if (nextBlockedOn === null) {\n {\n var nativeEvent = queuedEvent.nativeEvent;\n var nativeEventClone = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n setReplayingEvent(nativeEventClone);\n nativeEvent.target.dispatchEvent(nativeEventClone);\n resetReplayingEvent();\n }\n } else {\n // We're still blocked. Try again later.\n var _fiber3 = getInstanceFromNode(nextBlockedOn);\n\n if (_fiber3 !== null) {\n attemptContinuousHydration(_fiber3);\n }\n\n queuedEvent.blockedOn = nextBlockedOn;\n return false;\n } // This target container was successfully dispatched. Try the next.\n\n\n targetContainers.shift();\n }\n\n return true;\n}\n\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n if (attemptReplayContinuousQueuedEvent(queuedEvent)) {\n map.delete(key);\n }\n}\n\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = false;\n\n\n if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) {\n queuedFocus = null;\n }\n\n if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) {\n queuedDrag = null;\n }\n\n if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) {\n queuedMouse = null;\n }\n\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\n\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n\n if (!hasScheduledReplayAttempt) {\n hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are\n // now unblocked. This first might not actually be unblocked yet.\n // We could check it early to avoid scheduling an unnecessary callback.\n\n Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents);\n }\n }\n}\n\nfunction retryIfBlockedOn(unblocked) {\n // Mark anything that was blocked on this as no longer blocked\n // and eligible for a replay.\n if (queuedDiscreteEvents.length > 0) {\n scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's\n // worth it because we expect very few discrete events to queue up and once\n // we are actually fully unblocked it will be fast to replay them.\n\n for (var i = 1; i < queuedDiscreteEvents.length; i++) {\n var queuedEvent = queuedDiscreteEvents[i];\n\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n }\n }\n }\n\n if (queuedFocus !== null) {\n scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n }\n\n if (queuedDrag !== null) {\n scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n }\n\n if (queuedMouse !== null) {\n scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n }\n\n var unblock = function (queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n };\n\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n\n for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) {\n var queuedTarget = queuedExplicitHydrationTargets[_i];\n\n if (queuedTarget.blockedOn === unblocked) {\n queuedTarget.blockedOn = null;\n }\n }\n\n while (queuedExplicitHydrationTargets.length > 0) {\n var nextExplicitTarget = queuedExplicitHydrationTargets[0];\n\n if (nextExplicitTarget.blockedOn !== null) {\n // We're still blocked.\n break;\n } else {\n attemptExplicitHydrationTarget(nextExplicitTarget);\n\n if (nextExplicitTarget.blockedOn === null) {\n // We're unblocked.\n queuedExplicitHydrationTargets.shift();\n }\n }\n }\n}\n\nvar ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig; // TODO: can we stop exporting these?\n\nvar _enabled = true; // This is exported in FB builds for use by legacy FB layer infra.\n// We'd like to remove this but it's not clear if this is safe.\n\nfunction setEnabled(enabled) {\n _enabled = !!enabled;\n}\nfunction isEnabled() {\n return _enabled;\n}\nfunction createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags) {\n var eventPriority = getEventPriority(domEventName);\n var listenerWrapper;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n listenerWrapper = dispatchDiscreteEvent;\n break;\n\n case ContinuousEventPriority:\n listenerWrapper = dispatchContinuousEvent;\n break;\n\n case DefaultEventPriority:\n default:\n listenerWrapper = dispatchEvent;\n break;\n }\n\n return listenerWrapper.bind(null, domEventName, eventSystemFlags, targetContainer);\n}\n\nfunction dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(DiscreteEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(ContinuousEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (!_enabled) {\n return;\n }\n\n {\n dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n }\n}\n\nfunction dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n var blockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n clearIfContinuousEvent(domEventName, nativeEvent);\n return;\n }\n\n if (queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent)) {\n nativeEvent.stopPropagation();\n return;\n } // We need to clear only if we didn't queue because\n // queueing is accumulative.\n\n\n clearIfContinuousEvent(domEventName, nativeEvent);\n\n if (eventSystemFlags & IS_CAPTURE_PHASE && isDiscreteEventThatRequiresHydration(domEventName)) {\n while (blockedOn !== null) {\n var fiber = getInstanceFromNode(blockedOn);\n\n if (fiber !== null) {\n attemptSynchronousHydration(fiber);\n }\n\n var nextBlockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (nextBlockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n }\n\n if (nextBlockedOn === blockedOn) {\n break;\n }\n\n blockedOn = nextBlockedOn;\n }\n\n if (blockedOn !== null) {\n nativeEvent.stopPropagation();\n }\n\n return;\n } // This is not replayable so we'll invoke it but without a target,\n // in case the event system needs to trace it.\n\n\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, null, targetContainer);\n}\n\nvar return_targetInst = null; // Returns a SuspenseInstance or Container if it's blocked.\n// The return_targetInst field above is conceptually part of the return value.\n\nfunction findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // TODO: Warn if _enabled is false.\n return_targetInst = null;\n var nativeEventTarget = getEventTarget(nativeEvent);\n var targetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted === null) {\n // This tree has been unmounted already. Dispatch without a target.\n targetInst = null;\n } else {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // Queue the event to be replayed later. Abort dispatching since we\n // don't want this event dispatched twice through the event system.\n // TODO: If this is the first discrete event in the queue. Schedule an increased\n // priority for this boundary.\n return instance;\n } // This shouldn't happen, something went wrong but to avoid blocking\n // the whole system, dispatch the event without a target.\n // TODO: Warn.\n\n\n targetInst = null;\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n // If this happens during a replay something went wrong and it might block\n // the whole system.\n return getContainerFromFiber(nearestMounted);\n }\n\n targetInst = null;\n } else if (nearestMounted !== targetInst) {\n // If we get an event (ex: img onload) before committing that\n // component's mount, ignore it for now (that is, treat it as if it was an\n // event on a non-React tree). We might also consider queueing events and\n // dispatching them after the mount.\n targetInst = null;\n }\n }\n }\n\n return_targetInst = targetInst; // We're not blocked on anything.\n\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n // Used by SimpleEventPlugin:\n case 'cancel':\n case 'click':\n case 'close':\n case 'contextmenu':\n case 'copy':\n case 'cut':\n case 'auxclick':\n case 'dblclick':\n case 'dragend':\n case 'dragstart':\n case 'drop':\n case 'focusin':\n case 'focusout':\n case 'input':\n case 'invalid':\n case 'keydown':\n case 'keypress':\n case 'keyup':\n case 'mousedown':\n case 'mouseup':\n case 'paste':\n case 'pause':\n case 'play':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointerup':\n case 'ratechange':\n case 'reset':\n case 'resize':\n case 'seeked':\n case 'submit':\n case 'touchcancel':\n case 'touchend':\n case 'touchstart':\n case 'volumechange': // Used by polyfills:\n // eslint-disable-next-line no-fallthrough\n\n case 'change':\n case 'selectionchange':\n case 'textInput':\n case 'compositionstart':\n case 'compositionend':\n case 'compositionupdate': // Only enableCreateEventHandleAPI:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeblur':\n case 'afterblur': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeinput':\n case 'blur':\n case 'fullscreenchange':\n case 'focus':\n case 'hashchange':\n case 'popstate':\n case 'select':\n case 'selectstart':\n return DiscreteEventPriority;\n\n case 'drag':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'mousemove':\n case 'mouseout':\n case 'mouseover':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'scroll':\n case 'toggle':\n case 'touchmove':\n case 'wheel': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'mouseenter':\n case 'mouseleave':\n case 'pointerenter':\n case 'pointerleave':\n return ContinuousEventPriority;\n\n case 'message':\n {\n // We might be in the Scheduler callback.\n // Eventually this mechanism will be replaced by a check\n // of the current priority on the native scheduler.\n var schedulerPriority = getCurrentPriorityLevel();\n\n switch (schedulerPriority) {\n case ImmediatePriority:\n return DiscreteEventPriority;\n\n case UserBlockingPriority:\n return ContinuousEventPriority;\n\n case NormalPriority:\n case LowPriority:\n // TODO: Handle LowSchedulerPriority, somehow. Maybe the same lane as hydration.\n return DefaultEventPriority;\n\n case IdlePriority:\n return IdleEventPriority;\n\n default:\n return DefaultEventPriority;\n }\n }\n\n default:\n return DefaultEventPriority;\n }\n}\n\nfunction addEventBubbleListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, false);\n return listener;\n}\nfunction addEventCaptureListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, true);\n return listener;\n}\nfunction addEventCaptureListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n capture: true,\n passive: passive\n });\n return listener;\n}\nfunction addEventBubbleListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n passive: passive\n });\n return listener;\n}\n\n/**\n * These variables store information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n *\n */\nvar root = null;\nvar startText = null;\nvar fallbackText = null;\nfunction initialize(nativeEventTarget) {\n root = nativeEventTarget;\n startText = getText();\n return true;\n}\nfunction reset() {\n root = null;\n startText = null;\n fallbackText = null;\n}\nfunction getData() {\n if (fallbackText) {\n return fallbackText;\n }\n\n var start;\n var startValue = startText;\n var startLength = startValue.length;\n var end;\n var endValue = getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n fallbackText = endValue.slice(start, sliceTail);\n return fallbackText;\n}\nfunction getText() {\n if ('value' in root) {\n return root.value;\n }\n\n return root.textContent;\n}\n\n/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)\n // report Enter as charCode 10 when ctrl is pressed.\n\n\n if (charCode === 10) {\n charCode = 13;\n } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n\n\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nfunction functionThatReturnsTrue() {\n return true;\n}\n\nfunction functionThatReturnsFalse() {\n return false;\n} // This is intentionally a factory so that we have different returned constructors.\n// If we had a single constructor, it would be megamorphic and engines would deopt.\n\n\nfunction createSyntheticEvent(Interface) {\n /**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n */\n function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n\n for (var _propName in Interface) {\n if (!Interface.hasOwnProperty(_propName)) {\n continue;\n }\n\n var normalize = Interface[_propName];\n\n if (normalize) {\n this[_propName] = normalize(nativeEvent);\n } else {\n this[_propName] = nativeEvent[_propName];\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n\n if (defaultPrevented) {\n this.isDefaultPrevented = functionThatReturnsTrue;\n } else {\n this.isDefaultPrevented = functionThatReturnsFalse;\n }\n\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.returnValue !== 'unknown') {\n event.returnValue = false;\n }\n\n this.isDefaultPrevented = functionThatReturnsTrue;\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.cancelBubble !== 'unknown') {\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = functionThatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {// Modern event system doesn't use pooling.\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n};\nvar SyntheticEvent = createSyntheticEvent(EventInterface);\n\nvar UIEventInterface = assign({}, EventInterface, {\n view: 0,\n detail: 0\n});\n\nvar SyntheticUIEvent = createSyntheticEvent(UIEventInterface);\nvar lastMovementX;\nvar lastMovementY;\nvar lastMouseEvent;\n\nfunction updateMouseMovementPolyfillState(event) {\n if (event !== lastMouseEvent) {\n if (lastMouseEvent && event.type === 'mousemove') {\n lastMovementX = event.screenX - lastMouseEvent.screenX;\n lastMovementY = event.screenY - lastMouseEvent.screenY;\n } else {\n lastMovementX = 0;\n lastMovementY = 0;\n }\n\n lastMouseEvent = event;\n }\n}\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n if (event.relatedTarget === undefined) return event.fromElement === event.srcElement ? event.toElement : event.fromElement;\n return event.relatedTarget;\n },\n movementX: function (event) {\n if ('movementX' in event) {\n return event.movementX;\n }\n\n updateMouseMovementPolyfillState(event);\n return lastMovementX;\n },\n movementY: function (event) {\n if ('movementY' in event) {\n return event.movementY;\n } // Don't need to call updateMouseMovementPolyfillState() here\n // because it's guaranteed to have already run when movementX\n // was copied.\n\n\n return lastMovementY;\n }\n});\n\nvar SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface);\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar DragEventInterface = assign({}, MouseEventInterface, {\n dataTransfer: 0\n});\n\nvar SyntheticDragEvent = createSyntheticEvent(DragEventInterface);\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar FocusEventInterface = assign({}, UIEventInterface, {\n relatedTarget: 0\n});\n\nvar SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n */\n\nvar AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\n\nvar ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n});\n\nvar SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\n\nvar CompositionEventInterface = assign({}, EventInterface, {\n data: 0\n});\n\nvar SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\n// Happens to share the same list for now.\n\nvar SyntheticInputEvent = SyntheticCompositionEvent;\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar normalizeKey = {\n Esc: 'Escape',\n Spacebar: ' ',\n Left: 'ArrowLeft',\n Up: 'ArrowUp',\n Right: 'ArrowRight',\n Down: 'ArrowDown',\n Del: 'Delete',\n Win: 'OS',\n Menu: 'ContextMenu',\n Apps: 'ContextMenu',\n Scroll: 'ScrollLock',\n MozPrintableKey: 'Unidentified'\n};\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar translateToKey = {\n '8': 'Backspace',\n '9': 'Tab',\n '12': 'Clear',\n '13': 'Enter',\n '16': 'Shift',\n '17': 'Control',\n '18': 'Alt',\n '19': 'Pause',\n '20': 'CapsLock',\n '27': 'Escape',\n '32': ' ',\n '33': 'PageUp',\n '34': 'PageDown',\n '35': 'End',\n '36': 'Home',\n '37': 'ArrowLeft',\n '38': 'ArrowUp',\n '39': 'ArrowRight',\n '40': 'ArrowDown',\n '45': 'Insert',\n '46': 'Delete',\n '112': 'F1',\n '113': 'F2',\n '114': 'F3',\n '115': 'F4',\n '116': 'F5',\n '117': 'F6',\n '118': 'F7',\n '119': 'F8',\n '120': 'F9',\n '121': 'F10',\n '122': 'F11',\n '123': 'F12',\n '144': 'NumLock',\n '145': 'ScrollLock',\n '224': 'Meta'\n};\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\n\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n\n if (key !== 'Unidentified') {\n return key;\n }\n } // Browser does not implement `key`, polyfill as much of it as we can.\n\n\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n\n return '';\n}\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\n\nvar modifierKeyToProp = {\n Alt: 'altKey',\n Control: 'ctrlKey',\n Meta: 'metaKey',\n Shift: 'shiftKey'\n}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support\n// getModifierState. If getModifierState is not supported, we map it to a set of\n// modifier keys exposed by the event. In this case, Lock-keys are not supported.\n\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: getEventKey,\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function (event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n return 0;\n },\n keyCode: function (event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n },\n which: function (event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n }\n});\n\nvar SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface);\n/**\n * @interface PointerEvent\n * @see http://www.w3.org/TR/pointerevents/\n */\n\nvar PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n});\n\nvar SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface);\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\n\nvar TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n});\n\nvar SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n */\n\nvar TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface);\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n },\n deltaY: function (event) {\n return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? -event.wheelDelta : 0;\n },\n deltaZ: 0,\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: 0\n});\n\nvar SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface);\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\n\nvar START_KEYCODE = 229;\nvar canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;\nvar documentMode = null;\n\nif (canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n} // Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\n\n\nvar canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\n\nvar useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\nfunction registerEvents() {\n registerTwoPhaseEvent('onBeforeInput', ['compositionend', 'keypress', 'textInput', 'paste']);\n registerTwoPhaseEvent('onCompositionEnd', ['compositionend', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionStart', ['compositionstart', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionUpdate', ['compositionupdate', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n} // Track whether we've ever handled a keypress on the space key.\n\n\nvar hasSpaceKeypress = false;\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\n\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n/**\n * Translate native top level events into event types.\n */\n\n\nfunction getCompositionEventType(domEventName) {\n switch (domEventName) {\n case 'compositionstart':\n return 'onCompositionStart';\n\n case 'compositionend':\n return 'onCompositionEnd';\n\n case 'compositionupdate':\n return 'onCompositionUpdate';\n }\n}\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n */\n\n\nfunction isFallbackCompositionStart(domEventName, nativeEvent) {\n return domEventName === 'keydown' && nativeEvent.keyCode === START_KEYCODE;\n}\n/**\n * Does our fallback mode think that this event is the end of composition?\n */\n\n\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'keyup':\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n\n case 'keydown':\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n\n case 'keypress':\n case 'mousedown':\n case 'focusout':\n // Events are not possible without cancelling IME.\n return true;\n\n default:\n return false;\n }\n}\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\n\n\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n\n return null;\n}\n/**\n * Check if a composition event was triggered by Korean IME.\n * Our fallback mode does not work well with IE's Korean IME,\n * so just use native composition events when Korean IME is used.\n * Although CompositionEvent.locale property is deprecated,\n * it is available in IE, where our fallback mode is enabled.\n *\n * @param {object} nativeEvent\n * @return {boolean}\n */\n\n\nfunction isUsingKoreanIME(nativeEvent) {\n return nativeEvent.locale === 'ko';\n} // Track the current IME composition status, if any.\n\n\nvar isComposing = false;\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\n\nfunction extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(domEventName);\n } else if (!isComposing) {\n if (isFallbackCompositionStart(domEventName, nativeEvent)) {\n eventType = 'onCompositionStart';\n }\n } else if (isFallbackCompositionEnd(domEventName, nativeEvent)) {\n eventType = 'onCompositionEnd';\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!isComposing && eventType === 'onCompositionStart') {\n isComposing = initialize(nativeEventTarget);\n } else if (eventType === 'onCompositionEnd') {\n if (isComposing) {\n fallbackData = getData();\n }\n }\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, eventType);\n\n if (listeners.length > 0) {\n var event = new SyntheticCompositionEvent(eventType, domEventName, null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n\n if (customData !== null) {\n event.data = customData;\n }\n }\n }\n}\n\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'compositionend':\n return getDataFromCustomEvent(nativeEvent);\n\n case 'keypress':\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case 'textInput':\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to ignore it.\n\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n */\n\n\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n // If composition event is available, we extract a string only at\n // compositionevent, otherwise extract it at fallback events.\n if (isComposing) {\n if (domEventName === 'compositionend' || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent)) {\n var chars = getData();\n reset();\n isComposing = false;\n return chars;\n }\n\n return null;\n }\n\n switch (domEventName) {\n case 'paste':\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n\n case 'keypress':\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (!isKeypressCommand(nativeEvent)) {\n // IE fires the `keypress` event when a user types an emoji via\n // Touch keyboard of Windows. In such a case, the `char` property\n // holds an emoji character like `\\uD83D\\uDE0A`. Because its length\n // is 2, the property `which` does not represent an emoji correctly.\n // In such a case, we directly return the `char` property instead of\n // using `which`.\n if (nativeEvent.char && nativeEvent.char.length > 1) {\n return nativeEvent.char;\n } else if (nativeEvent.which) {\n return String.fromCharCode(nativeEvent.which);\n }\n }\n\n return null;\n\n case 'compositionend':\n return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;\n\n default:\n return null;\n }\n}\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\n\n\nfunction extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(domEventName, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(domEventName, nativeEvent);\n } // If no characters are being inserted, no BeforeInput event should\n // be fired.\n\n\n if (!chars) {\n return null;\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, 'onBeforeInput');\n\n if (listeners.length > 0) {\n var event = new SyntheticInputEvent('onBeforeInput', 'beforeinput', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.data = chars;\n }\n}\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\n\n\nfunction extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n}\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\nvar supportedInputTypes = {\n color: true,\n date: true,\n datetime: true,\n 'datetime-local': true,\n email: true,\n month: true,\n number: true,\n password: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\n\nfunction isEventSupported(eventNameSuffix) {\n if (!canUseDOM) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n return isSupported;\n}\n\nfunction registerEvents$1() {\n registerTwoPhaseEvent('onChange', ['change', 'click', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'selectionchange']);\n}\n\nfunction createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) {\n // Flag this event loop as needing state restore.\n enqueueStateRestore(target);\n var listeners = accumulateTwoPhaseListeners(inst, 'onChange');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onChange', 'change', null, nativeEvent, target);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n}\n/**\n * For IE shims\n */\n\n\nvar activeElement = null;\nvar activeElementInst = null;\n/**\n * SECTION: handle `change` event\n */\n\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(dispatchQueue, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n\n batchedUpdates(runEventInBatch, dispatchQueue);\n}\n\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\n\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n\n if (updateValueIfChanged(targetNode)) {\n return targetInst;\n }\n}\n\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (domEventName === 'change') {\n return targetInst;\n }\n}\n/**\n * SECTION: handle `input` event\n */\n\n\nvar isInputEventSupported = false;\n\nif (canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);\n}\n/**\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\n\n\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n}\n/**\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\n\n\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n activeElement = null;\n activeElementInst = null;\n}\n/**\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\n\n\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n\n if (getInstIfValueChanged(activeElementInst)) {\n manualDispatchChangeEvent(nativeEvent);\n }\n}\n\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n if (domEventName === 'focusin') {\n // In IE9, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (domEventName === 'focusout') {\n stopWatchingForValueChange();\n }\n} // For IE8 and IE9.\n\n\nfunction getTargetInstForInputEventPolyfill(domEventName, targetInst) {\n if (domEventName === 'selectionchange' || domEventName === 'keyup' || domEventName === 'keydown') {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n return getInstIfValueChanged(activeElementInst);\n }\n}\n/**\n * SECTION: handle `click` event\n */\n\n\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (domEventName === 'click') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (domEventName === 'input' || domEventName === 'change') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction handleControlledInputBlur(node) {\n var state = node._wrapperState;\n\n if (!state || !state.controlled || node.type !== 'number') {\n return;\n }\n\n {\n // If controlled, assign the value attribute to the current value on blur\n setDefaultValue(node, 'number', node.value);\n }\n}\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\n\n\nfunction extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n var getTargetInstFunc, handleEventFunc;\n\n if (shouldUseChangeEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n handleEventFunc = handleEventsForInputEventPolyfill;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n }\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(domEventName, targetInst);\n\n if (inst) {\n createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, nativeEventTarget);\n return;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(domEventName, targetNode, targetInst);\n } // When blurring, set the value attribute for number inputs\n\n\n if (domEventName === 'focusout') {\n handleControlledInputBlur(targetNode);\n }\n}\n\nfunction registerEvents$2() {\n registerDirectEvent('onMouseEnter', ['mouseout', 'mouseover']);\n registerDirectEvent('onMouseLeave', ['mouseout', 'mouseover']);\n registerDirectEvent('onPointerEnter', ['pointerout', 'pointerover']);\n registerDirectEvent('onPointerLeave', ['pointerout', 'pointerover']);\n}\n/**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n\n\nfunction extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var isOverEvent = domEventName === 'mouseover' || domEventName === 'pointerover';\n var isOutEvent = domEventName === 'mouseout' || domEventName === 'pointerout';\n\n if (isOverEvent && !isReplayingEvent(nativeEvent)) {\n // If this is an over event with a target, we might have already dispatched\n // the event in the out event of the other target. If this is replayed,\n // then it's because we couldn't dispatch against this target previously\n // so we have to do it now instead.\n var related = nativeEvent.relatedTarget || nativeEvent.fromElement;\n\n if (related) {\n // If the related node is managed by React, we can assume that we have\n // already dispatched the corresponding events during its mouseout.\n if (getClosestInstanceFromNode(related) || isContainerMarkedAsRoot(related)) {\n return;\n }\n }\n }\n\n if (!isOutEvent && !isOverEvent) {\n // Must not be a mouse or pointer in or out - ignoring.\n return;\n }\n\n var win; // TODO: why is this nullable in the types but we read from it?\n\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n\n if (isOutEvent) {\n var _related = nativeEvent.relatedTarget || nativeEvent.toElement;\n\n from = targetInst;\n to = _related ? getClosestInstanceFromNode(_related) : null;\n\n if (to !== null) {\n var nearestMounted = getNearestMountedFiber(to);\n\n if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) {\n to = null;\n }\n }\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return;\n }\n\n var SyntheticEventCtor = SyntheticMouseEvent;\n var leaveEventType = 'onMouseLeave';\n var enterEventType = 'onMouseEnter';\n var eventTypePrefix = 'mouse';\n\n if (domEventName === 'pointerout' || domEventName === 'pointerover') {\n SyntheticEventCtor = SyntheticPointerEvent;\n leaveEventType = 'onPointerLeave';\n enterEventType = 'onPointerEnter';\n eventTypePrefix = 'pointer';\n }\n\n var fromNode = from == null ? win : getNodeFromInstance(from);\n var toNode = to == null ? win : getNodeFromInstance(to);\n var leave = new SyntheticEventCtor(leaveEventType, eventTypePrefix + 'leave', from, nativeEvent, nativeEventTarget);\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n var enter = null; // We should only process this nativeEvent if we are processing\n // the first ancestor. Next time, we will ignore the event.\n\n var nativeTargetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (nativeTargetInst === targetInst) {\n var enterEvent = new SyntheticEventCtor(enterEventType, eventTypePrefix + 'enter', to, nativeEvent, nativeEventTarget);\n enterEvent.target = toNode;\n enterEvent.relatedTarget = fromNode;\n enter = enterEvent;\n }\n\n accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leave, enter, from, to);\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\n\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\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 } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n var currentKey = keysA[i];\n\n if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\n\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n\n return node;\n}\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\n\n\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n\n node = node.parentNode;\n }\n}\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\n\n\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === TEXT_NODE) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\n/**\n * @param {DOMElement} outerNode\n * @return {?object}\n */\n\nfunction getOffsets(outerNode) {\n var ownerDocument = outerNode.ownerDocument;\n var win = ownerDocument && ownerDocument.defaultView || window;\n var selection = win.getSelection && win.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode,\n anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode,\n focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be \"anonymous divs\", e.g. the\n // up/down buttons on an <input type=\"number\">. Anonymous divs do not seem to\n // expose properties, triggering a \"Permission denied error\" if any of its\n // properties are accessed. The only seemingly possible way to avoid erroring\n // is to access a property that typically works for non-anonymous divs and\n // catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n\n try {\n /* eslint-disable no-unused-expressions */\n anchorNode.nodeType;\n focusNode.nodeType;\n /* eslint-enable no-unused-expressions */\n } catch (e) {\n return null;\n }\n\n return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset);\n}\n/**\n * Returns {start, end} where `start` is the character/codepoint index of\n * (anchorNode, anchorOffset) within the textContent of `outerNode`, and\n * `end` is the index of (focusNode, focusOffset).\n *\n * Returns null if you pass in garbage input but we should probably just crash.\n *\n * Exported only for testing.\n */\n\nfunction getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) {\n var length = 0;\n var start = -1;\n var end = -1;\n var indexWithinAnchor = 0;\n var indexWithinFocus = 0;\n var node = outerNode;\n var parentNode = null;\n\n outer: while (true) {\n var next = null;\n\n while (true) {\n if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) {\n start = length + anchorOffset;\n }\n\n if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {\n end = length + focusOffset;\n }\n\n if (node.nodeType === TEXT_NODE) {\n length += node.nodeValue.length;\n }\n\n if ((next = node.firstChild) === null) {\n break;\n } // Moving from `node` to its first child `next`.\n\n\n parentNode = node;\n node = next;\n }\n\n while (true) {\n if (node === outerNode) {\n // If `outerNode` has children, this is always the second time visiting\n // it. If it has no children, this is still the first loop, and the only\n // valid selection is anchorNode and focusNode both equal to this node\n // and both offsets 0, in which case we will have handled above.\n break outer;\n }\n\n if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) {\n start = length;\n }\n\n if (parentNode === focusNode && ++indexWithinFocus === focusOffset) {\n end = length;\n }\n\n if ((next = node.nextSibling) !== null) {\n break;\n }\n\n node = parentNode;\n parentNode = node.parentNode;\n } // Moving from `node` to its next sibling `next`.\n\n\n node = next;\n }\n\n if (start === -1 || end === -1) {\n // This should never happen. (Would happen if the anchor/focus nodes aren't\n // actually inside the passed-in node.)\n return null;\n }\n\n return {\n start: start,\n end: end\n };\n}\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programmatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n\nfunction setOffsets(node, offsets) {\n var doc = node.ownerDocument || document;\n var win = doc && doc.defaultView || window; // Edge fails with \"Object expected\" in some scenarios.\n // (For instance: TinyMCE editor used in a list component that supports pasting to add more,\n // fails when pasting 100+ items)\n\n if (!win.getSelection) {\n return;\n }\n\n var selection = win.getSelection();\n var length = node.textContent.length;\n var start = Math.min(offsets.start, length);\n var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {\n return;\n }\n\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nfunction isTextNode(node) {\n return node && node.nodeType === TEXT_NODE;\n}\n\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nfunction isInDocument(node) {\n return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);\n}\n\nfunction isSameOriginFrame(iframe) {\n try {\n // Accessing the contentDocument of a HTMLIframeElement can cause the browser\n // to throw, e.g. if it has a cross-origin src attribute.\n // Safari will show an error in the console when the access results in \"Blocked a frame with origin\". e.g:\n // iframe.contentDocument.defaultView;\n // A safety way is to access one of the cross origin properties: Window or Location\n // Which might result in \"SecurityError\" DOM Exception and it is compatible to Safari.\n // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl\n return typeof iframe.contentWindow.location.href === 'string';\n } catch (err) {\n return false;\n }\n}\n\nfunction getActiveElementDeep() {\n var win = window;\n var element = getActiveElement();\n\n while (element instanceof win.HTMLIFrameElement) {\n if (isSameOriginFrame(element)) {\n win = element.contentWindow;\n } else {\n return element;\n }\n\n element = getActiveElement(win.document);\n }\n\n return element;\n}\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\n\n/**\n * @hasSelectionCapabilities: we get the element types that support selection\n * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`\n * and `selectionEnd` rows.\n */\n\n\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true');\n}\nfunction getSelectionInformation() {\n var focusedElem = getActiveElementDeep();\n return {\n focusedElem: focusedElem,\n selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null\n };\n}\n/**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n\nfunction restoreSelection(priorSelectionInformation) {\n var curFocusedElem = getActiveElementDeep();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) {\n setSelection(priorFocusedElem, priorSelectionRange);\n } // Focusing a node can change the scroll position, which is undesirable\n\n\n var ancestors = [];\n var ancestor = priorFocusedElem;\n\n while (ancestor = ancestor.parentNode) {\n if (ancestor.nodeType === ELEMENT_NODE) {\n ancestors.push({\n element: ancestor,\n left: ancestor.scrollLeft,\n top: ancestor.scrollTop\n });\n }\n }\n\n if (typeof priorFocusedElem.focus === 'function') {\n priorFocusedElem.focus();\n }\n\n for (var i = 0; i < ancestors.length; i++) {\n var info = ancestors[i];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n}\n/**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n\nfunction getSelection(input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else {\n // Content editable or old IE textarea.\n selection = getOffsets(input);\n }\n\n return selection || {\n start: 0,\n end: 0\n };\n}\n/**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n\nfunction setSelection(input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n\n if (end === undefined) {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else {\n setOffsets(input, offsets);\n }\n}\n\nvar skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\nfunction registerEvents$3() {\n registerTwoPhaseEvent('onSelect', ['focusout', 'contextmenu', 'dragend', 'focusin', 'keydown', 'keyup', 'mousedown', 'mouseup', 'selectionchange']);\n}\n\nvar activeElement$1 = null;\nvar activeElementInst$1 = null;\nvar lastSelection = null;\nvar mouseDown = false;\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n */\n\nfunction getSelection$1(node) {\n if ('selectionStart' in node && hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else {\n var win = node.ownerDocument && node.ownerDocument.defaultView || window;\n var selection = win.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n }\n}\n/**\n * Get document associated with the event target.\n */\n\n\nfunction getEventTargetDocument(eventTarget) {\n return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument;\n}\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @param {object} nativeEventTarget\n * @return {?SyntheticEvent}\n */\n\n\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n var doc = getEventTargetDocument(nativeEventTarget);\n\n if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) {\n return;\n } // Only fire when selection has actually changed.\n\n\n var currentSelection = getSelection$1(activeElement$1);\n\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n var listeners = accumulateTwoPhaseListeners(activeElementInst$1, 'onSelect');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onSelect', 'select', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.target = activeElement$1;\n }\n }\n}\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\n\n\nfunction extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n\n switch (domEventName) {\n // Track the input node that has focus.\n case 'focusin':\n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n activeElement$1 = targetNode;\n activeElementInst$1 = targetInst;\n lastSelection = null;\n }\n\n break;\n\n case 'focusout':\n activeElement$1 = null;\n activeElementInst$1 = null;\n lastSelection = null;\n break;\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n\n case 'mousedown':\n mouseDown = true;\n break;\n\n case 'contextmenu':\n case 'mouseup':\n case 'dragend':\n mouseDown = false;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n\n case 'selectionchange':\n if (skipSelectionChangeEvent) {\n break;\n }\n\n // falls through\n\n case 'keydown':\n case 'keyup':\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n}\n\n/**\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n *\n * @param {string} styleProp\n * @param {string} eventName\n * @returns {object}\n */\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n return prefixes;\n}\n/**\n * A list of event names to a configurable list of vendor prefixes.\n */\n\n\nvar vendorPrefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n animationstart: makePrefixMap('Animation', 'AnimationStart'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n};\n/**\n * Event names that have already been detected and prefixed (if applicable).\n */\n\nvar prefixedEventNames = {};\n/**\n * Element to check for prefixes on.\n */\n\nvar style = {};\n/**\n * Bootstrap if a DOM exists.\n */\n\nif (canUseDOM) {\n style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are usable, and if not remove them from the map.\n\n if (!('AnimationEvent' in window)) {\n delete vendorPrefixes.animationend.animation;\n delete vendorPrefixes.animationiteration.animation;\n delete vendorPrefixes.animationstart.animation;\n } // Same as above\n\n\n if (!('TransitionEvent' in window)) {\n delete vendorPrefixes.transitionend.transition;\n }\n}\n/**\n * Attempts to determine the correct vendor prefixed event name.\n *\n * @param {string} eventName\n * @returns {string}\n */\n\n\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n } else if (!vendorPrefixes[eventName]) {\n return eventName;\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n for (var styleProp in prefixMap) {\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n return prefixedEventNames[eventName] = prefixMap[styleProp];\n }\n }\n\n return eventName;\n}\n\nvar ANIMATION_END = getVendorPrefixedEventName('animationend');\nvar ANIMATION_ITERATION = getVendorPrefixedEventName('animationiteration');\nvar ANIMATION_START = getVendorPrefixedEventName('animationstart');\nvar TRANSITION_END = getVendorPrefixedEventName('transitionend');\n\nvar topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important in this list!\n//\n// E.g. it needs \"pointerDown\", not \"pointerdown\".\n// This is because we derive both React name (\"onPointerDown\")\n// and DOM name (\"pointerdown\") from the same list.\n//\n// Exceptions that don't match this convention are listed separately.\n//\n// prettier-ignore\n\nvar simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'toggle', 'touchMove', 'waiting', 'wheel'];\n\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\n\nfunction registerSimpleEvents() {\n for (var i = 0; i < simpleEventPluginEvents.length; i++) {\n var eventName = simpleEventPluginEvents[i];\n var domEventName = eventName.toLowerCase();\n var capitalizedEvent = eventName[0].toUpperCase() + eventName.slice(1);\n registerSimpleEvent(domEventName, 'on' + capitalizedEvent);\n } // Special cases where event names don't match.\n\n\n registerSimpleEvent(ANIMATION_END, 'onAnimationEnd');\n registerSimpleEvent(ANIMATION_ITERATION, 'onAnimationIteration');\n registerSimpleEvent(ANIMATION_START, 'onAnimationStart');\n registerSimpleEvent('dblclick', 'onDoubleClick');\n registerSimpleEvent('focusin', 'onFocus');\n registerSimpleEvent('focusout', 'onBlur');\n registerSimpleEvent(TRANSITION_END, 'onTransitionEnd');\n}\n\nfunction extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n\n if (reactName === undefined) {\n return;\n }\n\n var SyntheticEventCtor = SyntheticEvent;\n var reactEventType = domEventName;\n\n switch (domEventName) {\n case 'keypress':\n // Firefox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n if (getEventCharCode(nativeEvent) === 0) {\n return;\n }\n\n /* falls through */\n\n case 'keydown':\n case 'keyup':\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n\n case 'focusin':\n reactEventType = 'focus';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'focusout':\n reactEventType = 'blur';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'beforeblur':\n case 'afterblur':\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'click':\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n if (nativeEvent.button === 2) {\n return;\n }\n\n /* falls through */\n\n case 'auxclick':\n case 'dblclick':\n case 'mousedown':\n case 'mousemove':\n case 'mouseup': // TODO: Disabled elements should not respond to mouse events\n\n /* falls through */\n\n case 'mouseout':\n case 'mouseover':\n case 'contextmenu':\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n\n case 'drag':\n case 'dragend':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'dragstart':\n case 'drop':\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n\n case 'touchcancel':\n case 'touchend':\n case 'touchmove':\n case 'touchstart':\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n\n case 'scroll':\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n\n case 'wheel':\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n\n case 'copy':\n case 'cut':\n case 'paste':\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'pointerup':\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n }\n\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n {\n // Some events don't bubble in the browser.\n // In the past, React has always bubbled them, but this can be surprising.\n // We're going to try aligning closer to the browser behavior by not bubbling\n // them in React either. We'll start by not bubbling onScroll, and then expand.\n var accumulateTargetOnly = !inCapturePhase && // TODO: ideally, we'd eventually add all events from\n // nonDelegatedEvents list in DOMPluginEventSystem.\n // Then we can remove this special list.\n // This is a breaking change that can wait until React 18.\n domEventName === 'scroll';\n\n var _listeners = accumulateSinglePhaseListeners(targetInst, reactName, nativeEvent.type, inCapturePhase, accumulateTargetOnly);\n\n if (_listeners.length > 0) {\n // Intentionally create event lazily.\n var _event = new SyntheticEventCtor(reactName, reactEventType, null, nativeEvent, nativeEventTarget);\n\n dispatchQueue.push({\n event: _event,\n listeners: _listeners\n });\n }\n }\n}\n\n// TODO: remove top-level side effect.\nregisterSimpleEvents();\nregisterEvents$2();\nregisterEvents$1();\nregisterEvents$3();\nregisterEvents();\n\nfunction extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n // TODO: we should remove the concept of a \"SimpleEventPlugin\".\n // This is the basic functionality of the event system. All\n // the other plugins are essentially polyfills. So the plugin\n // should probably be inlined somewhere and have its logic\n // be core the to event system. This would potentially allow\n // us to ship builds of React without the polyfilled plugins below.\n extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n var shouldProcessPolyfillPlugins = (eventSystemFlags & SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS) === 0; // We don't process these events unless we are in the\n // event's native \"bubble\" phase, which means that we're\n // not in the capture phase. That's because we emulate\n // the capture phase here still. This is a trade-off,\n // because in an ideal world we would not emulate and use\n // the phases properly, like we do with the SimpleEvent\n // plugin. However, the plugins below either expect\n // emulation (EnterLeave) or use state localized to that\n // plugin (BeforeInput, Change, Select). The state in\n // these modules complicates things, as you'll essentially\n // get the case where the capture phase event might change\n // state, only for the following bubble event to come in\n // later and not trigger anything as the state now\n // invalidates the heuristics of the event plugin. We\n // could alter all these plugins to work in such ways, but\n // that might cause other unknown side-effects that we\n // can't foresee right now.\n\n if (shouldProcessPolyfillPlugins) {\n extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n }\n} // List of events that need to be individually attached to media elements.\n\n\nvar mediaEventTypes = ['abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'encrypted', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'playing', 'progress', 'ratechange', 'resize', 'seeked', 'seeking', 'stalled', 'suspend', 'timeupdate', 'volumechange', 'waiting']; // We should not delegate these events to the container, but rather\n// set them on the actual target element itself. This is primarily\n// because these events do not consistently bubble in the DOM.\n\nvar nonDelegatedEvents = new Set(['cancel', 'close', 'invalid', 'load', 'scroll', 'toggle'].concat(mediaEventTypes));\n\nfunction executeDispatch(event, listener, currentTarget) {\n var type = event.type || 'unknown-event';\n event.currentTarget = currentTarget;\n invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);\n event.currentTarget = null;\n}\n\nfunction processDispatchQueueItemsInOrder(event, dispatchListeners, inCapturePhase) {\n var previousInstance;\n\n if (inCapturePhase) {\n for (var i = dispatchListeners.length - 1; i >= 0; i--) {\n var _dispatchListeners$i = dispatchListeners[i],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget,\n listener = _dispatchListeners$i.listener;\n\n if (instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, listener, currentTarget);\n previousInstance = instance;\n }\n } else {\n for (var _i = 0; _i < dispatchListeners.length; _i++) {\n var _dispatchListeners$_i = dispatchListeners[_i],\n _instance = _dispatchListeners$_i.instance,\n _currentTarget = _dispatchListeners$_i.currentTarget,\n _listener = _dispatchListeners$_i.listener;\n\n if (_instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, _listener, _currentTarget);\n previousInstance = _instance;\n }\n }\n}\n\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event,\n listeners = _dispatchQueue$i.listeners;\n processDispatchQueueItemsInOrder(event, listeners, inCapturePhase); // event system doesn't use pooling.\n } // This would be a good time to rethrow if any of the event handlers threw.\n\n\n rethrowCaughtError();\n}\n\nfunction dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var nativeEventTarget = getEventTarget(nativeEvent);\n var dispatchQueue = [];\n extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n}\n\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n {\n if (!nonDelegatedEvents.has(domEventName)) {\n error('Did not expect a listenToNonDelegatedEvent() call for \"%s\". ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var isCapturePhaseListener = false;\n var listenerSet = getEventListenerSet(targetElement);\n var listenerSetKey = getListenerSetKey(domEventName, isCapturePhaseListener);\n\n if (!listenerSet.has(listenerSetKey)) {\n addTrappedEventListener(targetElement, domEventName, IS_NON_DELEGATED, isCapturePhaseListener);\n listenerSet.add(listenerSetKey);\n }\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n {\n if (nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener) {\n error('Did not expect a listenToNativeEvent() call for \"%s\" in the bubble phase. ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var eventSystemFlags = 0;\n\n if (isCapturePhaseListener) {\n eventSystemFlags |= IS_CAPTURE_PHASE;\n }\n\n addTrappedEventListener(target, domEventName, eventSystemFlags, isCapturePhaseListener);\n} // This is only used by createEventHandle when the\nvar listeningMarker = '_reactListening' + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = true;\n allNativeEvents.forEach(function (domEventName) {\n // We handle selectionchange separately because it\n // doesn't bubble and needs to be on the document.\n if (domEventName !== 'selectionchange') {\n if (!nonDelegatedEvents.has(domEventName)) {\n listenToNativeEvent(domEventName, false, rootContainerElement);\n }\n\n listenToNativeEvent(domEventName, true, rootContainerElement);\n }\n });\n var ownerDocument = rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n\n if (ownerDocument !== null) {\n // The selectionchange event also needs deduplication\n // but it is attached to the document.\n if (!ownerDocument[listeningMarker]) {\n ownerDocument[listeningMarker] = true;\n listenToNativeEvent('selectionchange', false, ownerDocument);\n }\n }\n }\n}\n\nfunction addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener, isDeferredListenerForLegacyFBSupport) {\n var listener = createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags); // If passive option is not supported, then the event will be\n // active and not passive.\n\n var isPassiveListener = undefined;\n\n if (passiveBrowserEventsSupported) {\n // Browsers introduced an intervention, making these events\n // passive by default on document. React doesn't bind them\n // to document anymore, but changing this now would undo\n // the performance wins from the change. So we emulate\n // the existing behavior manually on the roots now.\n // https://github.com/facebook/react/issues/19651\n if (domEventName === 'touchstart' || domEventName === 'touchmove' || domEventName === 'wheel') {\n isPassiveListener = true;\n }\n }\n\n targetContainer = targetContainer;\n var unsubscribeListener; // When legacyFBSupport is enabled, it's for when we\n\n\n if (isCapturePhaseListener) {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventCaptureListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventCaptureListener(targetContainer, domEventName, listener);\n }\n } else {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventBubbleListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventBubbleListener(targetContainer, domEventName, listener);\n }\n }\n}\n\nfunction isMatchingRootContainer(grandContainer, targetContainer) {\n return grandContainer === targetContainer || grandContainer.nodeType === COMMENT_NODE && grandContainer.parentNode === targetContainer;\n}\n\nfunction dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var ancestorInst = targetInst;\n\n if ((eventSystemFlags & IS_EVENT_HANDLE_NON_MANAGED_NODE) === 0 && (eventSystemFlags & IS_NON_DELEGATED) === 0) {\n var targetContainerNode = targetContainer; // If we are using the legacy FB support flag, we\n\n if (targetInst !== null) {\n // The below logic attempts to work out if we need to change\n // the target fiber to a different ancestor. We had similar logic\n // in the legacy event system, except the big difference between\n // systems is that the modern event system now has an event listener\n // attached to each React Root and React Portal Root. Together,\n // the DOM nodes representing these roots are the \"rootContainer\".\n // To figure out which ancestor instance we should use, we traverse\n // up the fiber tree from the target instance and attempt to find\n // root boundaries that match that of our current \"rootContainer\".\n // If we find that \"rootContainer\", we find the parent fiber\n // sub-tree for that root and make that our ancestor instance.\n var node = targetInst;\n\n mainLoop: while (true) {\n if (node === null) {\n return;\n }\n\n var nodeTag = node.tag;\n\n if (nodeTag === HostRoot || nodeTag === HostPortal) {\n var container = node.stateNode.containerInfo;\n\n if (isMatchingRootContainer(container, targetContainerNode)) {\n break;\n }\n\n if (nodeTag === HostPortal) {\n // The target is a portal, but it's not the rootContainer we're looking for.\n // Normally portals handle their own events all the way down to the root.\n // So we should be able to stop now. However, we don't know if this portal\n // was part of *our* root.\n var grandNode = node.return;\n\n while (grandNode !== null) {\n var grandTag = grandNode.tag;\n\n if (grandTag === HostRoot || grandTag === HostPortal) {\n var grandContainer = grandNode.stateNode.containerInfo;\n\n if (isMatchingRootContainer(grandContainer, targetContainerNode)) {\n // This is the rootContainer we're looking for and we found it as\n // a parent of the Portal. That means we can ignore it because the\n // Portal will bubble through to us.\n return;\n }\n }\n\n grandNode = grandNode.return;\n }\n } // Now we need to find it's corresponding host fiber in the other\n // tree. To do this we can use getClosestInstanceFromNode, but we\n // need to validate that the fiber is a host instance, otherwise\n // we need to traverse up through the DOM till we find the correct\n // node that is from the other tree.\n\n\n while (container !== null) {\n var parentNode = getClosestInstanceFromNode(container);\n\n if (parentNode === null) {\n return;\n }\n\n var parentTag = parentNode.tag;\n\n if (parentTag === HostComponent || parentTag === HostText) {\n node = ancestorInst = parentNode;\n continue mainLoop;\n }\n\n container = container.parentNode;\n }\n }\n\n node = node.return;\n }\n }\n }\n\n batchedUpdates(function () {\n return dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, ancestorInst);\n });\n}\n\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\n\nfunction accumulateSinglePhaseListeners(targetFiber, reactName, nativeEventType, inCapturePhase, accumulateTargetOnly, nativeEvent) {\n var captureName = reactName !== null ? reactName + 'Capture' : null;\n var reactEventName = inCapturePhase ? captureName : reactName;\n var listeners = [];\n var instance = targetFiber;\n var lastHostComponent = null; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance2 = instance,\n stateNode = _instance2.stateNode,\n tag = _instance2.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n lastHostComponent = stateNode; // createEventHandle listeners\n\n\n if (reactEventName !== null) {\n var listener = getListener(instance, reactEventName);\n\n if (listener != null) {\n listeners.push(createDispatchListener(instance, listener, lastHostComponent));\n }\n }\n } // If we are only accumulating events for the target, then we don't\n // continue to propagate through the React fiber tree to find other\n // listeners.\n\n\n if (accumulateTargetOnly) {\n break;\n } // If we are processing the onBeforeBlur event, then we need to take\n\n instance = instance.return;\n }\n\n return listeners;\n} // We should only use this function for:\n// - BeforeInputEventPlugin\n// - ChangeEventPlugin\n// - SelectEventPlugin\n// This is because we only process these plugins\n// in the bubble phase, so we need to accumulate two\n// phase event listeners (via emulation).\n\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n var captureName = reactName + 'Capture';\n var listeners = [];\n var instance = targetFiber; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance3 = instance,\n stateNode = _instance3.stateNode,\n tag = _instance3.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n var captureListener = getListener(instance, captureName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n\n var bubbleListener = getListener(instance, reactName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n\n instance = instance.return;\n }\n\n return listeners;\n}\n\nfunction getParent(inst) {\n if (inst === null) {\n return null;\n }\n\n do {\n inst = inst.return; // TODO: If this is a HostRoot we might want to bail out.\n // That is depending on if we want nested subtrees (layers) to bubble\n // events to their parent. We could also go through parentNode on the\n // host node but that wouldn't work for React Native and doesn't let us\n // do the portal feature.\n } while (inst && inst.tag !== HostComponent);\n\n if (inst) {\n return inst;\n }\n\n return null;\n}\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\n\n\nfunction getLowestCommonAncestor(instA, instB) {\n var nodeA = instA;\n var nodeB = instB;\n var depthA = 0;\n\n for (var tempA = nodeA; tempA; tempA = getParent(tempA)) {\n depthA++;\n }\n\n var depthB = 0;\n\n for (var tempB = nodeB; tempB; tempB = getParent(tempB)) {\n depthB++;\n } // If A is deeper, crawl up.\n\n\n while (depthA - depthB > 0) {\n nodeA = getParent(nodeA);\n depthA--;\n } // If B is deeper, crawl up.\n\n\n while (depthB - depthA > 0) {\n nodeB = getParent(nodeB);\n depthB--;\n } // Walk in lockstep until we find a match.\n\n\n var depth = depthA;\n\n while (depth--) {\n if (nodeA === nodeB || nodeB !== null && nodeA === nodeB.alternate) {\n return nodeA;\n }\n\n nodeA = getParent(nodeA);\n nodeB = getParent(nodeB);\n }\n\n return null;\n}\n\nfunction accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) {\n var registrationName = event._reactName;\n var listeners = [];\n var instance = target;\n\n while (instance !== null) {\n if (instance === common) {\n break;\n }\n\n var _instance4 = instance,\n alternate = _instance4.alternate,\n stateNode = _instance4.stateNode,\n tag = _instance4.tag;\n\n if (alternate !== null && alternate === common) {\n break;\n }\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n\n if (inCapturePhase) {\n var captureListener = getListener(instance, registrationName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n } else if (!inCapturePhase) {\n var bubbleListener = getListener(instance, registrationName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n }\n\n instance = instance.return;\n }\n\n if (listeners.length !== 0) {\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n} // We should only use this function for:\n// - EnterLeaveEventPlugin\n// This is because we only process this plugin\n// in the bubble phase, so we need to accumulate two\n// phase event listeners.\n\n\nfunction accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leaveEvent, enterEvent, from, to) {\n var common = from && to ? getLowestCommonAncestor(from, to) : null;\n\n if (from !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, leaveEvent, from, common, false);\n }\n\n if (to !== null && enterEvent !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, enterEvent, to, common, true);\n }\n}\nfunction getListenerSetKey(domEventName, capture) {\n return domEventName + \"__\" + (capture ? 'capture' : 'bubble');\n}\n\nvar didWarnInvalidHydration = false;\nvar DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML';\nvar SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning';\nvar SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';\nvar AUTOFOCUS = 'autoFocus';\nvar CHILDREN = 'children';\nvar STYLE = 'style';\nvar HTML$1 = '__html';\nvar warnedUnknownTags;\nvar validatePropertiesInDevelopment;\nvar warnForPropDifference;\nvar warnForExtraAttributes;\nvar warnForInvalidEventListener;\nvar canDiffStyleForHydrationWarning;\nvar normalizeHTML;\n\n{\n warnedUnknownTags = {\n // There are working polyfills for <dialog>. Let people use it.\n dialog: true,\n // Electron ships a custom <webview> tag to display external web content in\n // an isolated frame and process.\n // This tag is not present in non Electron environments such as JSDom which\n // is often used for testing purposes.\n // @see https://electronjs.org/docs/api/webview-tag\n webview: true\n };\n\n validatePropertiesInDevelopment = function (type, props) {\n validateProperties(type, props);\n validateProperties$1(type, props);\n validateProperties$2(type, props, {\n registrationNameDependencies: registrationNameDependencies,\n possibleRegistrationNames: possibleRegistrationNames\n });\n }; // IE 11 parses & normalizes the style attribute as opposed to other\n // browsers. It adds spaces and sorts the properties in some\n // non-alphabetical order. Handling that would require sorting CSS\n // properties in the client & server versions or applying\n // `expectedStyle` to a temporary DOM node to read its `style` attribute\n // normalized. Since it only affects IE, we're skipping style warnings\n // in that browser completely in favor of doing all that work.\n // See https://github.com/facebook/react/issues/11807\n\n\n canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode;\n\n warnForPropDifference = function (propName, serverValue, clientValue) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue);\n var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue);\n\n if (normalizedServerValue === normalizedClientValue) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue));\n };\n\n warnForExtraAttributes = function (attributeNames) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n var names = [];\n attributeNames.forEach(function (name) {\n names.push(name);\n });\n\n error('Extra attributes from the server: %s', names);\n };\n\n warnForInvalidEventListener = function (registrationName, listener) {\n if (listener === false) {\n error('Expected `%s` listener to be a function, instead got `false`.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName);\n } else {\n error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener);\n }\n }; // Parse the HTML and read it back to normalize the HTML string so that it\n // can be used for comparison.\n\n\n normalizeHTML = function (parent, html) {\n // We could have created a separate document here to avoid\n // re-initializing custom elements if they exist. But this breaks\n // how <noscript> is being handled. So we use the same document.\n // See the discussion in https://github.com/facebook/react/pull/11157.\n var testElement = parent.namespaceURI === HTML_NAMESPACE ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName);\n testElement.innerHTML = html;\n return testElement.innerHTML;\n };\n} // HTML parsing normalizes CR and CRLF to LF.\n// It also can turn \\u0000 into \\uFFFD inside attributes.\n// https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream\n// If we have a mismatch, it might be caused by that.\n// We will still patch up in this case but not fire the warning.\n\n\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g;\nvar NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\n\nfunction normalizeMarkupForTextOrAttribute(markup) {\n {\n checkHtmlStringCoercion(markup);\n }\n\n var markupString = typeof markup === 'string' ? markup : '' + markup;\n return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, '');\n}\n\nfunction checkForUnmatchedText(serverText, clientText, isConcurrentMode, shouldWarnDev) {\n var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText);\n var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText);\n\n if (normalizedServerText === normalizedClientText) {\n return;\n }\n\n if (shouldWarnDev) {\n {\n if (!didWarnInvalidHydration) {\n didWarnInvalidHydration = true;\n\n error('Text content did not match. Server: \"%s\" Client: \"%s\"', normalizedServerText, normalizedClientText);\n }\n }\n }\n\n if (isConcurrentMode && enableClientRenderFallbackOnTextMismatch) {\n // In concurrent roots, we throw when there's a text mismatch and revert to\n // client rendering, up to the nearest Suspense boundary.\n throw new Error('Text content does not match server-rendered HTML.');\n }\n}\n\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n}\n\nfunction noop() {}\n\nfunction trapClickOnNonInteractiveElement(node) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n // https://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n // Just set it using the onclick property so that we don't have to manage any\n // bookkeeping for it. Not sure if we need to clear it when the listener is\n // removed.\n // TODO: Only do this for the relevant Safaris maybe?\n node.onclick = noop;\n}\n\nfunction setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) {\n for (var propKey in nextProps) {\n if (!nextProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = nextProps[propKey];\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n } // Relies on `updateStylesByID` not mutating `styleUpdates`.\n\n\n setValueForStyles(domElement, nextProp);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n setInnerHTML(domElement, nextHtml);\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string') {\n // Avoid setting initial textContent when the text is empty. In IE11 setting\n // textContent on a <textarea> will cause the placeholder to not\n // show within the <textarea> until it has been focused and blurred again.\n // https://github.com/facebook/react/issues/6731#issuecomment-254874553\n var canSetTextContent = tag !== 'textarea' || nextProp !== '';\n\n if (canSetTextContent) {\n setTextContent(domElement, nextProp);\n }\n } else if (typeof nextProp === 'number') {\n setTextContent(domElement, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (nextProp != null) {\n setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag);\n }\n }\n}\n\nfunction updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) {\n // TODO: Handle wasCustomComponentTag\n for (var i = 0; i < updatePayload.length; i += 2) {\n var propKey = updatePayload[i];\n var propValue = updatePayload[i + 1];\n\n if (propKey === STYLE) {\n setValueForStyles(domElement, propValue);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n setInnerHTML(domElement, propValue);\n } else if (propKey === CHILDREN) {\n setTextContent(domElement, propValue);\n } else {\n setValueForProperty(domElement, propKey, propValue, isCustomComponentTag);\n }\n }\n}\n\nfunction createElement(type, props, rootContainerElement, parentNamespace) {\n var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML\n // tags get no namespace.\n\n var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement);\n var domElement;\n var namespaceURI = parentNamespace;\n\n if (namespaceURI === HTML_NAMESPACE) {\n namespaceURI = getIntrinsicNamespace(type);\n }\n\n if (namespaceURI === HTML_NAMESPACE) {\n {\n isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to\n // allow <SVG> or <mATH>.\n\n if (!isCustomComponentTag && type !== type.toLowerCase()) {\n error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);\n }\n }\n\n if (type === 'script') {\n // Create the script via .innerHTML so its \"parser-inserted\" flag is\n // set to true and it does not execute\n var div = ownerDocument.createElement('div');\n\n div.innerHTML = '<script><' + '/script>'; // eslint-disable-line\n // This is guaranteed to yield a script element.\n\n var firstChild = div.firstChild;\n domElement = div.removeChild(firstChild);\n } else if (typeof props.is === 'string') {\n // $FlowIssue `createElement` should be updated for Web Components\n domElement = ownerDocument.createElement(type, {\n is: props.is\n });\n } else {\n // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size`\n // attributes on `select`s needs to be added before `option`s are inserted.\n // This prevents:\n // - a bug where the `select` does not scroll to the correct option because singular\n // `select` elements automatically pick the first item #13222\n // - a bug where the `select` set the first item as selected despite the `size` attribute #14239\n // See https://github.com/facebook/react/issues/13222\n // and https://github.com/facebook/react/issues/14239\n\n if (type === 'select') {\n var node = domElement;\n\n if (props.multiple) {\n node.multiple = true;\n } else if (props.size) {\n // Setting a size greater than 1 causes a select to behave like `multiple=true`, where\n // it is possible that no option is selected.\n //\n // This is only necessary when a select in \"single selection mode\".\n node.size = props.size;\n }\n }\n }\n } else {\n domElement = ownerDocument.createElementNS(namespaceURI, type);\n }\n\n {\n if (namespaceURI === HTML_NAMESPACE) {\n if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !hasOwnProperty.call(warnedUnknownTags, type)) {\n warnedUnknownTags[type] = true;\n\n error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type);\n }\n }\n }\n\n return domElement;\n}\nfunction createTextNode(text, rootContainerElement) {\n return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text);\n}\nfunction setInitialProperties(domElement, tag, rawProps, rootContainerElement) {\n var isCustomComponentTag = isCustomComponent(tag, rawProps);\n\n {\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n var props;\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n props = rawProps;\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n props = rawProps;\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n props = rawProps;\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n props = rawProps;\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps);\n props = getHostProps(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n props = rawProps;\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps);\n props = getHostProps$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps);\n props = getHostProps$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n default:\n props = rawProps;\n }\n\n assertValidProps(tag, props);\n setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag);\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, false);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'option':\n postMountWrapper$1(domElement, rawProps);\n break;\n\n case 'select':\n postMountWrapper$2(domElement, rawProps);\n break;\n\n default:\n if (typeof props.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n} // Calculate the diff between the two objects.\n\nfunction diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {\n {\n validatePropertiesInDevelopment(tag, nextRawProps);\n }\n\n var updatePayload = null;\n var lastProps;\n var nextProps;\n\n switch (tag) {\n case 'input':\n lastProps = getHostProps(domElement, lastRawProps);\n nextProps = getHostProps(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'select':\n lastProps = getHostProps$1(domElement, lastRawProps);\n nextProps = getHostProps$1(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'textarea':\n lastProps = getHostProps$2(domElement, lastRawProps);\n nextProps = getHostProps$2(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n default:\n lastProps = lastRawProps;\n nextProps = nextRawProps;\n\n if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n assertValidProps(tag, nextProps);\n var propKey;\n var styleName;\n var styleUpdates = null;\n\n for (propKey in lastProps) {\n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n var lastStyle = lastProps[propKey];\n\n for (styleName in lastStyle) {\n if (lastStyle.hasOwnProperty(styleName)) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" fiber pointer gets updated so we need a commit\n // to update this element.\n if (!updatePayload) {\n updatePayload = [];\n }\n } else {\n // For all other deleted properties we add it to the queue. We use\n // the allowed property list in the commit phase instead.\n (updatePayload = updatePayload || []).push(propKey, null);\n }\n }\n\n for (propKey in nextProps) {\n var nextProp = nextProps[propKey];\n var lastProp = lastProps != null ? lastProps[propKey] : undefined;\n\n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n }\n\n if (lastProp) {\n // Unset styles on `lastProp` but not on `nextProp`.\n for (styleName in lastProp) {\n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n } // Update styles that changed since `lastProp`.\n\n\n for (styleName in nextProp) {\n if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = nextProp[styleName];\n }\n }\n } else {\n // Relies on `updateStylesByID` not mutating `styleUpdates`.\n if (!styleUpdates) {\n if (!updatePayload) {\n updatePayload = [];\n }\n\n updatePayload.push(propKey, styleUpdates);\n }\n\n styleUpdates = nextProp;\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n var lastHtml = lastProp ? lastProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n if (lastHtml !== nextHtml) {\n (updatePayload = updatePayload || []).push(propKey, nextHtml);\n }\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string' || typeof nextProp === 'number') {\n (updatePayload = updatePayload || []).push(propKey, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n // We eagerly listen to this even though we haven't committed yet.\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n\n if (!updatePayload && lastProp !== nextProp) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" props pointer gets updated so we need a commit\n // to update this element.\n updatePayload = [];\n }\n } else {\n // For any other property we always add it to the queue and then we\n // filter it out using the allowed property list during the commit.\n (updatePayload = updatePayload || []).push(propKey, nextProp);\n }\n }\n\n if (styleUpdates) {\n {\n validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]);\n }\n\n (updatePayload = updatePayload || []).push(STYLE, styleUpdates);\n }\n\n return updatePayload;\n} // Apply the diff.\n\nfunction updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) {\n // Update checked *before* name.\n // In the middle of an update, it is possible to have multiple checked.\n // When a checked radio tries to change name, browser makes another radio's checked false.\n if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) {\n updateChecked(domElement, nextRawProps);\n }\n\n var wasCustomComponentTag = isCustomComponent(tag, lastRawProps);\n var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff.\n\n updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props\n // changed.\n\n switch (tag) {\n case 'input':\n // Update the wrapper around inputs *after* updating props. This has to\n // happen after `updateDOMProperties`. Otherwise HTML5 input validations\n // raise warnings and prevent the new value from being assigned.\n updateWrapper(domElement, nextRawProps);\n break;\n\n case 'textarea':\n updateWrapper$1(domElement, nextRawProps);\n break;\n\n case 'select':\n // <select> value update needs to occur after <option> children\n // reconciliation\n postUpdateWrapper(domElement, nextRawProps);\n break;\n }\n}\n\nfunction getPossibleStandardName(propName) {\n {\n var lowerCasedName = propName.toLowerCase();\n\n if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n return null;\n }\n\n return possibleStandardNames[lowerCasedName] || null;\n }\n}\n\nfunction diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement, isConcurrentMode, shouldWarnDev) {\n var isCustomComponentTag;\n var extraAttributeNames;\n\n {\n isCustomComponentTag = isCustomComponent(tag, rawProps);\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n }\n\n assertValidProps(tag, rawProps);\n\n {\n extraAttributeNames = new Set();\n var attributes = domElement.attributes;\n\n for (var _i = 0; _i < attributes.length; _i++) {\n var name = attributes[_i].name.toLowerCase();\n\n switch (name) {\n // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n case 'value':\n break;\n\n case 'checked':\n break;\n\n case 'selected':\n break;\n\n default:\n // Intentionally use the original name.\n // See discussion in https://github.com/facebook/react/pull/10676.\n extraAttributeNames.add(attributes[_i].name);\n }\n }\n }\n\n var updatePayload = null;\n\n for (var propKey in rawProps) {\n if (!rawProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = rawProps[propKey];\n\n if (propKey === CHILDREN) {\n // For text content children we compare against textContent. This\n // might match additional HTML that is hidden when we read it using\n // textContent. E.g. \"foo\" will match \"f<span>oo</span>\" but that still\n // satisfies our requirement. Our requirement is not to produce perfect\n // HTML and attributes. Ideally we should preserve structure but it's\n // ok not to if the visible content is still enough to indicate what\n // even listeners these nodes might be wired up to.\n // TODO: Warn if there is more than a single textNode as a child.\n // TODO: Should we use domElement.firstChild.nodeValue to compare?\n if (typeof nextProp === 'string') {\n if (domElement.textContent !== nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, nextProp];\n }\n } else if (typeof nextProp === 'number') {\n if (domElement.textContent !== '' + nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, '' + nextProp];\n }\n }\n } else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (shouldWarnDev && true && // Convince Flow we've calculated it (it's DEV-only in this method.)\n typeof isCustomComponentTag === 'boolean') {\n // Validate that the properties correspond to their expected values.\n var serverValue = void 0;\n var propertyInfo = isCustomComponentTag && enableCustomElementPropertySupport ? null : getPropertyInfo(propKey);\n\n if (rawProps[SUPPRESS_HYDRATION_WARNING] === true) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var serverHTML = domElement.innerHTML;\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n var expectedHTML = normalizeHTML(domElement, nextHtml);\n\n if (expectedHTML !== serverHTML) {\n warnForPropDifference(propKey, serverHTML, expectedHTML);\n }\n }\n } else if (propKey === STYLE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey);\n\n if (canDiffStyleForHydrationWarning) {\n var expectedStyle = createDangerousStringForStyles(nextProp);\n serverValue = domElement.getAttribute('style');\n\n if (expectedStyle !== serverValue) {\n warnForPropDifference(propKey, serverValue, expectedStyle);\n }\n }\n } else if (isCustomComponentTag && !enableCustomElementPropertySupport) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n\n if (nextProp !== serverValue) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) {\n var isMismatchDueToBadCasing = false;\n\n if (propertyInfo !== null) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propertyInfo.attributeName);\n serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo);\n } else {\n var ownNamespace = parentNamespace;\n\n if (ownNamespace === HTML_NAMESPACE) {\n ownNamespace = getIntrinsicNamespace(tag);\n }\n\n if (ownNamespace === HTML_NAMESPACE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n } else {\n var standardName = getPossibleStandardName(propKey);\n\n if (standardName !== null && standardName !== propKey) {\n // If an SVG prop is supplied with bad casing, it will\n // be successfully parsed from HTML, but will produce a mismatch\n // (and would be incorrectly rendered on the client).\n // However, we already warn about bad casing elsewhere.\n // So we'll skip the misleading extra mismatch warning in this case.\n isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined.\n\n extraAttributeNames.delete(standardName);\n } // $FlowFixMe - Should be inferred as not undefined.\n\n\n extraAttributeNames.delete(propKey);\n }\n\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n }\n\n var dontWarnCustomElement = enableCustomElementPropertySupport ;\n\n if (!dontWarnCustomElement && nextProp !== serverValue && !isMismatchDueToBadCasing) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n }\n }\n }\n\n {\n if (shouldWarnDev) {\n if ( // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.size > 0 && rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n // $FlowFixMe - Should be inferred as not undefined.\n warnForExtraAttributes(extraAttributeNames);\n }\n }\n }\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, true);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'select':\n case 'option':\n // For input and textarea we current always set the value property at\n // post mount to force it to diverge from attributes. However, for\n // option and select we don't quite do the same thing and select\n // is not resilient to the DOM state changing so we don't do that here.\n // TODO: Consider not doing this for input and textarea.\n break;\n\n default:\n if (typeof rawProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n return updatePayload;\n}\nfunction diffHydratedText(textNode, text, isConcurrentMode) {\n var isDifferent = textNode.nodeValue !== text;\n return isDifferent;\n}\nfunction warnForDeletedHydratableElement(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForDeletedHydratableText(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain the text node \"%s\" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedElement(parentNode, tag, props) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedText(parentNode, text) {\n {\n if (text === '') {\n // We expect to insert empty text nodes since they're not represented in\n // the HTML.\n // TODO: Remove this special case if we can just avoid inserting empty\n // text nodes.\n return;\n }\n\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching text node for \"%s\" in <%s>.', text, parentNode.nodeName.toLowerCase());\n }\n}\nfunction restoreControlledState$3(domElement, tag, props) {\n switch (tag) {\n case 'input':\n restoreControlledState(domElement, props);\n return;\n\n case 'textarea':\n restoreControlledState$2(domElement, props);\n return;\n\n case 'select':\n restoreControlledState$1(domElement, props);\n return;\n }\n}\n\nvar validateDOMNesting = function () {};\n\nvar updatedAncestorInfo = function () {};\n\n{\n // This validation code was written based on the HTML5 parsing spec:\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n //\n // Note: this does not catch all invalid nesting, nor does it try to (as it's\n // not clear what practical benefit doing so provides); instead, we warn only\n // for cases where the parser will give a parse tree differing from what React\n // intended. For example, <b><div></div></b> is invalid but we don't warn\n // because it still parses correctly; we do warn for other cases like nested\n // <p> tags where the beginning of the second element implicitly closes the\n // first, causing a confusing mess.\n // https://html.spec.whatwg.org/multipage/syntax.html#special\n var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n\n var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n // TODO: Distinguish by namespace here -- for <title>, including it here\n // errs on the side of fewer warnings\n 'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n\n var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n\n var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n var emptyAncestorInfo = {\n current: null,\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null\n };\n\n updatedAncestorInfo = function (oldInfo, tag) {\n var ancestorInfo = assign({}, oldInfo || emptyAncestorInfo);\n\n var info = {\n tag: tag\n };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n } // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.current = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n return ancestorInfo;\n };\n /**\n * Returns whether\n */\n\n\n var isTagValidWithParent = function (tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'option' || tag === 'optgroup' || tag === '#text';\n\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n\n case 'option':\n return tag === '#text';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n\n case 'html':\n return tag === 'head' || tag === 'body' || tag === 'frameset';\n\n case 'frameset':\n return tag === 'frame';\n\n case '#document':\n return tag === 'html';\n } // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'body':\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frameset':\n case 'frame':\n case 'head':\n case 'html':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n };\n /**\n * Returns whether\n */\n\n\n var findInvalidAncestorForTag = function (tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n case 'pre':\n case 'listing':\n case 'table':\n case 'hr':\n case 'xmp':\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n };\n\n var didWarn$1 = {};\n\n validateDOMNesting = function (childTag, childText, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n\n if (childText != null) {\n if (childTag != null) {\n error('validateDOMNesting: when childText is passed, childTag should be null');\n }\n\n childTag = '#text';\n }\n\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var invalidParentOrAncestor = invalidParent || invalidAncestor;\n\n if (!invalidParentOrAncestor) {\n return;\n }\n\n var ancestorTag = invalidParentOrAncestor.tag;\n var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag;\n\n if (didWarn$1[warnKey]) {\n return;\n }\n\n didWarn$1[warnKey] = true;\n var tagDisplayName = childTag;\n var whitespaceInfo = '';\n\n if (childTag === '#text') {\n if (/\\S/.test(childText)) {\n tagDisplayName = 'Text nodes';\n } else {\n tagDisplayName = 'Whitespace text nodes';\n whitespaceInfo = \" Make sure you don't have any extra whitespace between tags on \" + 'each line of your source code.';\n }\n } else {\n tagDisplayName = '<' + childTag + '>';\n }\n\n if (invalidParent) {\n var info = '';\n\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n\n error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info);\n } else {\n error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag);\n }\n };\n}\n\nvar SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning';\nvar SUSPENSE_START_DATA = '$';\nvar SUSPENSE_END_DATA = '/$';\nvar SUSPENSE_PENDING_START_DATA = '$?';\nvar SUSPENSE_FALLBACK_START_DATA = '$!';\nvar STYLE$1 = 'style';\nvar eventsEnabled = null;\nvar selectionInformation = null;\nfunction getRootHostContext(rootContainerInstance) {\n var type;\n var namespace;\n var nodeType = rootContainerInstance.nodeType;\n\n switch (nodeType) {\n case DOCUMENT_NODE:\n case DOCUMENT_FRAGMENT_NODE:\n {\n type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment';\n var root = rootContainerInstance.documentElement;\n namespace = root ? root.namespaceURI : getChildNamespace(null, '');\n break;\n }\n\n default:\n {\n var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance;\n var ownNamespace = container.namespaceURI || null;\n type = container.tagName;\n namespace = getChildNamespace(ownNamespace, type);\n break;\n }\n }\n\n {\n var validatedTag = type.toLowerCase();\n var ancestorInfo = updatedAncestorInfo(null, validatedTag);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getChildHostContext(parentHostContext, type, rootContainerInstance) {\n {\n var parentHostContextDev = parentHostContext;\n var namespace = getChildNamespace(parentHostContextDev.namespace, type);\n var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getPublicInstance(instance) {\n return instance;\n}\nfunction prepareForCommit(containerInfo) {\n eventsEnabled = isEnabled();\n selectionInformation = getSelectionInformation();\n var activeInstance = null;\n\n setEnabled(false);\n return activeInstance;\n}\nfunction resetAfterCommit(containerInfo) {\n restoreSelection(selectionInformation);\n setEnabled(eventsEnabled);\n eventsEnabled = null;\n selectionInformation = null;\n}\nfunction createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) {\n var parentNamespace;\n\n {\n // TODO: take namespace into account when validating.\n var hostContextDev = hostContext;\n validateDOMNesting(type, null, hostContextDev.ancestorInfo);\n\n if (typeof props.children === 'string' || typeof props.children === 'number') {\n var string = '' + props.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n\n parentNamespace = hostContextDev.namespace;\n }\n\n var domElement = createElement(type, props, rootContainerInstance, parentNamespace);\n precacheFiberNode(internalInstanceHandle, domElement);\n updateFiberProps(domElement, props);\n return domElement;\n}\nfunction appendInitialChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) {\n setInitialProperties(domElement, type, props, rootContainerInstance);\n\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n return !!props.autoFocus;\n\n case 'img':\n return true;\n\n default:\n return false;\n }\n}\nfunction prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) {\n {\n var hostContextDev = hostContext;\n\n if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) {\n var string = '' + newProps.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n }\n\n return diffProperties(domElement, type, oldProps, newProps);\n}\nfunction shouldSetTextContent(type, props) {\n return type === 'textarea' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null;\n}\nfunction createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {\n {\n var hostContextDev = hostContext;\n validateDOMNesting(null, text, hostContextDev.ancestorInfo);\n }\n\n var textNode = createTextNode(text, rootContainerInstance);\n precacheFiberNode(internalInstanceHandle, textNode);\n return textNode;\n}\nfunction getCurrentEventPriority() {\n var currentEvent = window.event;\n\n if (currentEvent === undefined) {\n return DefaultEventPriority;\n }\n\n return getEventPriority(currentEvent.type);\n}\n// if a component just imports ReactDOM (e.g. for findDOMNode).\n// Some environments might not have setTimeout or clearTimeout.\n\nvar scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;\nvar cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;\nvar noTimeout = -1;\nvar localPromise = typeof Promise === 'function' ? Promise : undefined; // -------------------\nvar scheduleMicrotask = typeof queueMicrotask === 'function' ? queueMicrotask : typeof localPromise !== 'undefined' ? function (callback) {\n return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);\n} : scheduleTimeout; // TODO: Determine the best fallback here.\n\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n} // -------------------\nfunction commitMount(domElement, type, newProps, internalInstanceHandle) {\n // Despite the naming that might imply otherwise, this method only\n // fires if there is an `Update` effect scheduled during mounting.\n // This happens if `finalizeInitialChildren` returns `true` (which it\n // does to implement the `autoFocus` attribute on the client). But\n // there are also other cases when this might happen (such as patching\n // up text content during hydration mismatch). So we'll check this again.\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n if (newProps.autoFocus) {\n domElement.focus();\n }\n\n return;\n\n case 'img':\n {\n if (newProps.src) {\n domElement.src = newProps.src;\n }\n\n return;\n }\n }\n}\nfunction commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) {\n // Apply the diff to the DOM node.\n updateProperties(domElement, updatePayload, type, oldProps, newProps); // Update the props handle so that we know which props are the ones with\n // with current event handlers.\n\n updateFiberProps(domElement, newProps);\n}\nfunction resetTextContent(domElement) {\n setTextContent(domElement, '');\n}\nfunction commitTextUpdate(textInstance, oldText, newText) {\n textInstance.nodeValue = newText;\n}\nfunction appendChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction appendChildToContainer(container, child) {\n var parentNode;\n\n if (container.nodeType === COMMENT_NODE) {\n parentNode = container.parentNode;\n parentNode.insertBefore(child, container);\n } else {\n parentNode = container;\n parentNode.appendChild(child);\n } // This container might be used for a portal.\n // If something inside a portal is clicked, that click should bubble\n // through the React tree. However, on Mobile Safari the click would\n // never bubble through the *DOM* tree unless an ancestor with onclick\n // event exists. So we wouldn't see it and dispatch it.\n // This is why we ensure that non React root containers have inline onclick\n // defined.\n // https://github.com/facebook/react/issues/11918\n\n\n var reactRootContainer = container._reactRootContainer;\n\n if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(parentNode);\n }\n}\nfunction insertBefore(parentInstance, child, beforeChild) {\n parentInstance.insertBefore(child, beforeChild);\n}\nfunction insertInContainerBefore(container, child, beforeChild) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.insertBefore(child, beforeChild);\n } else {\n container.insertBefore(child, beforeChild);\n }\n}\n\nfunction removeChild(parentInstance, child) {\n parentInstance.removeChild(child);\n}\nfunction removeChildFromContainer(container, child) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.removeChild(child);\n } else {\n container.removeChild(child);\n }\n}\nfunction clearSuspenseBoundary(parentInstance, suspenseInstance) {\n var node = suspenseInstance; // Delete all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n\n if (nextNode && nextNode.nodeType === COMMENT_NODE) {\n var data = nextNode.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n parentInstance.removeChild(nextNode); // Retry if any event replaying was blocked on this.\n\n retryIfBlockedOn(suspenseInstance);\n return;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_PENDING_START_DATA || data === SUSPENSE_FALLBACK_START_DATA) {\n depth++;\n }\n }\n\n node = nextNode;\n } while (node); // TODO: Warn, we didn't find the end comment boundary.\n // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(suspenseInstance);\n}\nfunction clearSuspenseBoundaryFromContainer(container, suspenseInstance) {\n if (container.nodeType === COMMENT_NODE) {\n clearSuspenseBoundary(container.parentNode, suspenseInstance);\n } else if (container.nodeType === ELEMENT_NODE) {\n clearSuspenseBoundary(container, suspenseInstance);\n } // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(container);\n}\nfunction hideInstance(instance) {\n // TODO: Does this work for all element types? What about MathML? Should we\n // pass host context to this method?\n instance = instance;\n var style = instance.style;\n\n if (typeof style.setProperty === 'function') {\n style.setProperty('display', 'none', 'important');\n } else {\n style.display = 'none';\n }\n}\nfunction hideTextInstance(textInstance) {\n textInstance.nodeValue = '';\n}\nfunction unhideInstance(instance, props) {\n instance = instance;\n var styleProp = props[STYLE$1];\n var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null;\n instance.style.display = dangerousStyleValue('display', display);\n}\nfunction unhideTextInstance(textInstance, text) {\n textInstance.nodeValue = text;\n}\nfunction clearContainer(container) {\n if (container.nodeType === ELEMENT_NODE) {\n container.textContent = '';\n } else if (container.nodeType === DOCUMENT_NODE) {\n if (container.documentElement) {\n container.removeChild(container.documentElement);\n }\n }\n} // -------------------\nfunction canHydrateInstance(instance, type, props) {\n if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) {\n return null;\n } // This has now been refined to an element node.\n\n\n return instance;\n}\nfunction canHydrateTextInstance(instance, text) {\n if (text === '' || instance.nodeType !== TEXT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a text node.\n\n\n return instance;\n}\nfunction canHydrateSuspenseInstance(instance) {\n if (instance.nodeType !== COMMENT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a suspense node.\n\n\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return instance.data === SUSPENSE_PENDING_START_DATA;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return instance.data === SUSPENSE_FALLBACK_START_DATA;\n}\nfunction getSuspenseInstanceFallbackErrorDetails(instance) {\n var dataset = instance.nextSibling && instance.nextSibling.dataset;\n var digest, message, stack;\n\n if (dataset) {\n digest = dataset.dgst;\n\n {\n message = dataset.msg;\n stack = dataset.stck;\n }\n }\n\n {\n return {\n message: message,\n digest: digest,\n stack: stack\n };\n } // let value = {message: undefined, hash: undefined};\n // const nextSibling = instance.nextSibling;\n // if (nextSibling) {\n // const dataset = ((nextSibling: any): HTMLTemplateElement).dataset;\n // value.message = dataset.msg;\n // value.hash = dataset.hash;\n // if (true) {\n // value.stack = dataset.stack;\n // }\n // }\n // return value;\n\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n instance._reactRetry = callback;\n}\n\nfunction getNextHydratable(node) {\n // Skip non-hydratable nodes.\n for (; node != null; node = node.nextSibling) {\n var nodeType = node.nodeType;\n\n if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) {\n break;\n }\n\n if (nodeType === COMMENT_NODE) {\n var nodeData = node.data;\n\n if (nodeData === SUSPENSE_START_DATA || nodeData === SUSPENSE_FALLBACK_START_DATA || nodeData === SUSPENSE_PENDING_START_DATA) {\n break;\n }\n\n if (nodeData === SUSPENSE_END_DATA) {\n return null;\n }\n }\n }\n\n return node;\n}\n\nfunction getNextHydratableSibling(instance) {\n return getNextHydratable(instance.nextSibling);\n}\nfunction getFirstHydratableChild(parentInstance) {\n return getNextHydratable(parentInstance.firstChild);\n}\nfunction getFirstHydratableChildWithinContainer(parentContainer) {\n return getNextHydratable(parentContainer.firstChild);\n}\nfunction getFirstHydratableChildWithinSuspenseInstance(parentInstance) {\n return getNextHydratable(parentInstance.nextSibling);\n}\nfunction hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events\n // get attached.\n\n updateFiberProps(instance, props);\n var parentNamespace;\n\n {\n var hostContextDev = hostContext;\n parentNamespace = hostContextDev.namespace;\n } // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance, isConcurrentMode, shouldWarnDev);\n}\nfunction hydrateTextInstance(textInstance, text, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, textInstance); // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedText(textInstance, text);\n}\nfunction hydrateSuspenseInstance(suspenseInstance, internalInstanceHandle) {\n precacheFiberNode(internalInstanceHandle, suspenseInstance);\n}\nfunction getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {\n var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n return getNextHydratableSibling(node);\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n depth++;\n }\n }\n\n node = node.nextSibling;\n } // TODO: Warn, we didn't find the end comment boundary.\n\n\n return null;\n} // Returns the SuspenseInstance if this node is a direct child of a\n// SuspenseInstance. I.e. if its previous sibling is a Comment with\n// SUSPENSE_x_START_DATA. Otherwise, null.\n\nfunction getParentSuspenseInstance(targetInstance) {\n var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n if (depth === 0) {\n return node;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_END_DATA) {\n depth++;\n }\n }\n\n node = node.previousSibling;\n }\n\n return null;\n}\nfunction commitHydratedContainer(container) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(container);\n}\nfunction commitHydratedSuspenseInstance(suspenseInstance) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(suspenseInstance);\n}\nfunction shouldDeleteUnhydratedTailInstances(parentType) {\n return parentType !== 'head' && parentType !== 'body';\n}\nfunction didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text, isConcurrentMode) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n}\nfunction didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text, isConcurrentMode) {\n if (parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n }\n}\nfunction didNotHydrateInstanceWithinContainer(parentContainer, instance) {\n {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentContainer, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentContainer, instance);\n }\n }\n}\nfunction didNotHydrateInstanceWithinSuspenseInstance(parentInstance, instance) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n\n if (parentNode !== null) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentNode, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentNode, instance);\n }\n }\n }\n}\nfunction didNotHydrateInstance(parentType, parentProps, parentInstance, instance, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentInstance, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentInstance, instance);\n }\n }\n }\n}\nfunction didNotFindHydratableInstanceWithinContainer(parentContainer, type, props) {\n {\n warnForInsertedHydratedElement(parentContainer, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinContainer(parentContainer, text) {\n {\n warnForInsertedHydratedText(parentContainer, text);\n }\n}\nfunction didNotFindHydratableInstanceWithinSuspenseInstance(parentInstance, type, props) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedElement(parentNode, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinSuspenseInstance(parentInstance, text) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedText(parentNode, text);\n }\n}\nfunction didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedElement(parentInstance, type);\n }\n }\n}\nfunction didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedText(parentInstance, text);\n }\n }\n}\nfunction errorHydratingContainer(parentContainer) {\n {\n // TODO: This gets logged by onRecoverableError, too, so we should be\n // able to remove it.\n error('An error occurred during hydration. The server HTML was replaced with client content in <%s>.', parentContainer.nodeName.toLowerCase());\n }\n}\nfunction preparePortalMount(portalInstance) {\n listenToAllSupportedEvents(portalInstance);\n}\n\nvar randomKey = Math.random().toString(36).slice(2);\nvar internalInstanceKey = '__reactFiber$' + randomKey;\nvar internalPropsKey = '__reactProps$' + randomKey;\nvar internalContainerInstanceKey = '__reactContainer$' + randomKey;\nvar internalEventHandlersKey = '__reactEvents$' + randomKey;\nvar internalEventHandlerListenersKey = '__reactListeners$' + randomKey;\nvar internalEventHandlesSetKey = '__reactHandles$' + randomKey;\nfunction detachDeletedInstance(node) {\n // TODO: This function is only called on host components. I don't think all of\n // these fields are relevant.\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction precacheFiberNode(hostInst, node) {\n node[internalInstanceKey] = hostInst;\n}\nfunction markContainerAsRoot(hostRoot, node) {\n node[internalContainerInstanceKey] = hostRoot;\n}\nfunction unmarkContainerAsRoot(node) {\n node[internalContainerInstanceKey] = null;\n}\nfunction isContainerMarkedAsRoot(node) {\n return !!node[internalContainerInstanceKey];\n} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor.\n// If the target node is part of a hydrated or not yet rendered subtree, then\n// this may also return a SuspenseComponent or HostRoot to indicate that.\n// Conceptually the HostRoot fiber is a child of the Container node. So if you\n// pass the Container node as the targetNode, you will not actually get the\n// HostRoot back. To get to the HostRoot, you need to pass a child of it.\n// The same thing applies to Suspense boundaries.\n\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n\n if (targetInst) {\n // Don't return HostRoot or SuspenseComponent here.\n return targetInst;\n } // If the direct event target isn't a React owned DOM node, we need to look\n // to see if one of its parents is a React owned DOM node.\n\n\n var parentNode = targetNode.parentNode;\n\n while (parentNode) {\n // We'll check if this is a container root that could include\n // React nodes in the future. We need to check this first because\n // if we're a child of a dehydrated container, we need to first\n // find that inner container before moving on to finding the parent\n // instance. Note that we don't check this field on the targetNode\n // itself because the fibers are conceptually between the container\n // node and the first child. It isn't surrounding the container node.\n // If it's not a container, we check if it's an instance.\n targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey];\n\n if (targetInst) {\n // Since this wasn't the direct target of the event, we might have\n // stepped past dehydrated DOM nodes to get here. However they could\n // also have been non-React nodes. We need to answer which one.\n // If we the instance doesn't have any children, then there can't be\n // a nested suspense boundary within it. So we can use this as a fast\n // bailout. Most of the time, when people add non-React children to\n // the tree, it is using a ref to a child-less DOM node.\n // Normally we'd only need to check one of the fibers because if it\n // has ever gone from having children to deleting them or vice versa\n // it would have deleted the dehydrated boundary nested inside already.\n // However, since the HostRoot starts out with an alternate it might\n // have one on the alternate so we need to check in case this was a\n // root.\n var alternate = targetInst.alternate;\n\n if (targetInst.child !== null || alternate !== null && alternate.child !== null) {\n // Next we need to figure out if the node that skipped past is\n // nested within a dehydrated boundary and if so, which one.\n var suspenseInstance = getParentSuspenseInstance(targetNode);\n\n while (suspenseInstance !== null) {\n // We found a suspense instance. That means that we haven't\n // hydrated it yet. Even though we leave the comments in the\n // DOM after hydrating, and there are boundaries in the DOM\n // that could already be hydrated, we wouldn't have found them\n // through this pass since if the target is hydrated it would\n // have had an internalInstanceKey on it.\n // Let's get the fiber associated with the SuspenseComponent\n // as the deepest instance.\n var targetSuspenseInst = suspenseInstance[internalInstanceKey];\n\n if (targetSuspenseInst) {\n return targetSuspenseInst;\n } // If we don't find a Fiber on the comment, it might be because\n // we haven't gotten to hydrate it yet. There might still be a\n // parent boundary that hasn't above this one so we need to find\n // the outer most that is known.\n\n\n suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent\n // host component also hasn't hydrated yet. We can return it\n // below since it will bail out on the isMounted check later.\n }\n }\n\n return targetInst;\n }\n\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n\n return null;\n}\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\n\nfunction getInstanceFromNode(node) {\n var inst = node[internalInstanceKey] || node[internalContainerInstanceKey];\n\n if (inst) {\n if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) {\n return inst;\n } else {\n return null;\n }\n }\n\n return null;\n}\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\n\nfunction getNodeFromInstance(inst) {\n if (inst.tag === HostComponent || inst.tag === HostText) {\n // In Fiber this, is just the state node right now. We assume it will be\n // a host component or host text.\n return inst.stateNode;\n } // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n\n\n throw new Error('getNodeFromInstance: Invalid argument.');\n}\nfunction getFiberCurrentPropsFromNode(node) {\n return node[internalPropsKey] || null;\n}\nfunction updateFiberProps(node, props) {\n node[internalPropsKey] = props;\n}\nfunction getEventListenerSet(node) {\n var elementListenerSet = node[internalEventHandlersKey];\n\n if (elementListenerSet === undefined) {\n elementListenerSet = node[internalEventHandlersKey] = new Set();\n }\n\n return elementListenerSet;\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar valueStack = [];\nvar fiberStack;\n\n{\n fiberStack = [];\n}\n\nvar index = -1;\n\nfunction createCursor(defaultValue) {\n return {\n current: defaultValue\n };\n}\n\nfunction pop(cursor, fiber) {\n if (index < 0) {\n {\n error('Unexpected pop.');\n }\n\n return;\n }\n\n {\n if (fiber !== fiberStack[index]) {\n error('Unexpected Fiber popped.');\n }\n }\n\n cursor.current = valueStack[index];\n valueStack[index] = null;\n\n {\n fiberStack[index] = null;\n }\n\n index--;\n}\n\nfunction push(cursor, value, fiber) {\n index++;\n valueStack[index] = cursor.current;\n\n {\n fiberStack[index] = fiber;\n }\n\n cursor.current = value;\n}\n\nvar warnedAboutMissingGetChildContext;\n\n{\n warnedAboutMissingGetChildContext = {};\n}\n\nvar emptyContextObject = {};\n\n{\n Object.freeze(emptyContextObject);\n} // A cursor to the current merged context object on the stack.\n\n\nvar contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed.\n\nvar didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack.\n// We use this to get access to the parent context after we have already\n// pushed the next context provider, and now need to merge their contexts.\n\nvar previousContext = emptyContextObject;\n\nfunction getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) {\n {\n if (didPushOwnContextIfProvider && isContextProvider(Component)) {\n // If the fiber is a context provider itself, when we read its context\n // we may have already pushed its own child context on the stack. A context\n // provider should not \"see\" its own child context. Therefore we read the\n // previous (parent) context instead for a context provider.\n return previousContext;\n }\n\n return contextStackCursor.current;\n }\n}\n\nfunction cacheContext(workInProgress, unmaskedContext, maskedContext) {\n {\n var instance = workInProgress.stateNode;\n instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext;\n instance.__reactInternalMemoizedMaskedChildContext = maskedContext;\n }\n}\n\nfunction getMaskedContext(workInProgress, unmaskedContext) {\n {\n var type = workInProgress.type;\n var contextTypes = type.contextTypes;\n\n if (!contextTypes) {\n return emptyContextObject;\n } // Avoid recreating masked context unless unmasked context has changed.\n // Failing to do this will result in unnecessary calls to componentWillReceiveProps.\n // This may trigger infinite loops if componentWillReceiveProps calls setState.\n\n\n var instance = workInProgress.stateNode;\n\n if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) {\n return instance.__reactInternalMemoizedMaskedChildContext;\n }\n\n var context = {};\n\n for (var key in contextTypes) {\n context[key] = unmaskedContext[key];\n }\n\n {\n var name = getComponentNameFromFiber(workInProgress) || 'Unknown';\n checkPropTypes(contextTypes, context, 'context', name);\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // Context is created before the class component is instantiated so check for instance.\n\n\n if (instance) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return context;\n }\n}\n\nfunction hasContextChanged() {\n {\n return didPerformWorkStackCursor.current;\n }\n}\n\nfunction isContextProvider(type) {\n {\n var childContextTypes = type.childContextTypes;\n return childContextTypes !== null && childContextTypes !== undefined;\n }\n}\n\nfunction popContext(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction popTopLevelContextObject(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction pushTopLevelContextObject(fiber, context, didChange) {\n {\n if (contextStackCursor.current !== emptyContextObject) {\n throw new Error('Unexpected context found on stack. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n push(contextStackCursor, context, fiber);\n push(didPerformWorkStackCursor, didChange, fiber);\n }\n}\n\nfunction processChildContext(fiber, type, parentContext) {\n {\n var instance = fiber.stateNode;\n var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future.\n // It has only been added in Fiber to match the (unintentional) behavior in Stack.\n\n if (typeof instance.getChildContext !== 'function') {\n {\n var componentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n if (!warnedAboutMissingGetChildContext[componentName]) {\n warnedAboutMissingGetChildContext[componentName] = true;\n\n error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);\n }\n }\n\n return parentContext;\n }\n\n var childContext = instance.getChildContext();\n\n for (var contextKey in childContext) {\n if (!(contextKey in childContextTypes)) {\n throw new Error((getComponentNameFromFiber(fiber) || 'Unknown') + \".getChildContext(): key \\\"\" + contextKey + \"\\\" is not defined in childContextTypes.\");\n }\n }\n\n {\n var name = getComponentNameFromFiber(fiber) || 'Unknown';\n checkPropTypes(childContextTypes, childContext, 'child context', name);\n }\n\n return assign({}, parentContext, childContext);\n }\n}\n\nfunction pushContextProvider(workInProgress) {\n {\n var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity.\n // If the instance does not exist yet, we will push null at first,\n // and replace it on the stack later when invalidating the context.\n\n var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later.\n // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates.\n\n previousContext = contextStackCursor.current;\n push(contextStackCursor, memoizedMergedChildContext, workInProgress);\n push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress);\n return true;\n }\n}\n\nfunction invalidateContextProvider(workInProgress, type, didChange) {\n {\n var instance = workInProgress.stateNode;\n\n if (!instance) {\n throw new Error('Expected to have an instance by this point. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n if (didChange) {\n // Merge parent and own context.\n // Skip this if we're not updating due to sCU.\n // This avoids unnecessarily recomputing memoized values.\n var mergedContext = processChildContext(workInProgress, type, previousContext);\n instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one.\n // It is important to unwind the context in the reverse order.\n\n pop(didPerformWorkStackCursor, workInProgress);\n pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed.\n\n push(contextStackCursor, mergedContext, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n } else {\n pop(didPerformWorkStackCursor, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n }\n }\n}\n\nfunction findCurrentUnmaskedContext(fiber) {\n {\n // Currently this is only used with renderSubtreeIntoContainer; not sure if it\n // makes sense elsewhere\n if (!isFiberMounted(fiber) || fiber.tag !== ClassComponent) {\n throw new Error('Expected subtree parent to be a mounted class component. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var node = fiber;\n\n do {\n switch (node.tag) {\n case HostRoot:\n return node.stateNode.context;\n\n case ClassComponent:\n {\n var Component = node.type;\n\n if (isContextProvider(Component)) {\n return node.stateNode.__reactInternalMemoizedMergedChildContext;\n }\n\n break;\n }\n }\n\n node = node.return;\n } while (node !== null);\n\n throw new Error('Found unexpected detached subtree parent. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n}\n\nvar LegacyRoot = 0;\nvar ConcurrentRoot = 1;\n\nvar syncQueue = null;\nvar includesLegacySyncCallbacks = false;\nvar isFlushingSyncQueue = false;\nfunction scheduleSyncCallback(callback) {\n // Push this callback into an internal queue. We'll flush these either in\n // the next tick, or earlier if something calls `flushSyncCallbackQueue`.\n if (syncQueue === null) {\n syncQueue = [callback];\n } else {\n // Push onto existing queue. Don't need to schedule a callback because\n // we already scheduled one when we created the queue.\n syncQueue.push(callback);\n }\n}\nfunction scheduleLegacySyncCallback(callback) {\n includesLegacySyncCallbacks = true;\n scheduleSyncCallback(callback);\n}\nfunction flushSyncCallbacksOnlyInLegacyMode() {\n // Only flushes the queue if there's a legacy sync callback scheduled.\n // TODO: There's only a single type of callback: performSyncOnWorkOnRoot. So\n // it might make more sense for the queue to be a list of roots instead of a\n // list of generic callbacks. Then we can have two: one for legacy roots, one\n // for concurrent roots. And this method would only flush the legacy ones.\n if (includesLegacySyncCallbacks) {\n flushSyncCallbacks();\n }\n}\nfunction flushSyncCallbacks() {\n if (!isFlushingSyncQueue && syncQueue !== null) {\n // Prevent re-entrance.\n isFlushingSyncQueue = true;\n var i = 0;\n var previousUpdatePriority = getCurrentUpdatePriority();\n\n try {\n var isSync = true;\n var queue = syncQueue; // TODO: Is this necessary anymore? The only user code that runs in this\n // queue is in the render or commit phases.\n\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(isSync);\n } while (callback !== null);\n }\n\n syncQueue = null;\n includesLegacySyncCallbacks = false;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n if (syncQueue !== null) {\n syncQueue = syncQueue.slice(i + 1);\n } // Resume flushing in the next tick\n\n\n scheduleCallback(ImmediatePriority, flushSyncCallbacks);\n throw error;\n } finally {\n setCurrentUpdatePriority(previousUpdatePriority);\n isFlushingSyncQueue = false;\n }\n }\n\n return null;\n}\n\n// TODO: Use the unified fiber stack module instead of this local one?\n// Intentionally not using it yet to derisk the initial implementation, because\n// the way we push/pop these values is a bit unusual. If there's a mistake, I'd\n// rather the ids be wrong than crash the whole reconciler.\nvar forkStack = [];\nvar forkStackIndex = 0;\nvar treeForkProvider = null;\nvar treeForkCount = 0;\nvar idStack = [];\nvar idStackIndex = 0;\nvar treeContextProvider = null;\nvar treeContextId = 1;\nvar treeContextOverflow = '';\nfunction isForkedChild(workInProgress) {\n warnIfNotHydrating();\n return (workInProgress.flags & Forked) !== NoFlags;\n}\nfunction getForksAtLevel(workInProgress) {\n warnIfNotHydrating();\n return treeForkCount;\n}\nfunction getTreeId() {\n var overflow = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n var id = idWithLeadingBit & ~getLeadingBit(idWithLeadingBit);\n return id.toString(32) + overflow;\n}\nfunction pushTreeFork(workInProgress, totalChildren) {\n // This is called right after we reconcile an array (or iterator) of child\n // fibers, because that's the only place where we know how many children in\n // the whole set without doing extra work later, or storing addtional\n // information on the fiber.\n //\n // That's why this function is separate from pushTreeId — it's called during\n // the render phase of the fork parent, not the child, which is where we push\n // the other context values.\n //\n // In the Fizz implementation this is much simpler because the child is\n // rendered in the same callstack as the parent.\n //\n // It might be better to just add a `forks` field to the Fiber type. It would\n // make this module simpler.\n warnIfNotHydrating();\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n var baseOverflow = treeContextOverflow; // The leftmost 1 marks the end of the sequence, non-inclusive. It's not part\n // of the id; we use it to account for leading 0s.\n\n var baseLength = getBitLength(baseIdWithLeadingBit) - 1;\n var baseId = baseIdWithLeadingBit & ~(1 << baseLength);\n var slot = index + 1;\n var length = getBitLength(totalChildren) + baseLength; // 30 is the max length we can store without overflowing, taking into\n // consideration the leading 1 we use to mark the end of the sequence.\n\n if (length > 30) {\n // We overflowed the bitwise-safe range. Fall back to slower algorithm.\n // This branch assumes the length of the base id is greater than 5; it won't\n // work for smaller ids, because you need 5 bits per character.\n //\n // We encode the id in multiple steps: first the base id, then the\n // remaining digits.\n //\n // Each 5 bit sequence corresponds to a single base 32 character. So for\n // example, if the current id is 23 bits long, we can convert 20 of those\n // bits into a string of 4 characters, with 3 bits left over.\n //\n // First calculate how many bits in the base id represent a complete\n // sequence of characters.\n var numberOfOverflowBits = baseLength - baseLength % 5; // Then create a bitmask that selects only those bits.\n\n var newOverflowBits = (1 << numberOfOverflowBits) - 1; // Select the bits, and convert them to a base 32 string.\n\n var newOverflow = (baseId & newOverflowBits).toString(32); // Now we can remove those bits from the base id.\n\n var restOfBaseId = baseId >> numberOfOverflowBits;\n var restOfBaseLength = baseLength - numberOfOverflowBits; // Finally, encode the rest of the bits using the normal algorithm. Because\n // we made more room, this time it won't overflow.\n\n var restOfLength = getBitLength(totalChildren) + restOfBaseLength;\n var restOfNewBits = slot << restOfBaseLength;\n var id = restOfNewBits | restOfBaseId;\n var overflow = newOverflow + baseOverflow;\n treeContextId = 1 << restOfLength | id;\n treeContextOverflow = overflow;\n } else {\n // Normal path\n var newBits = slot << baseLength;\n\n var _id = newBits | baseId;\n\n var _overflow = baseOverflow;\n treeContextId = 1 << length | _id;\n treeContextOverflow = _overflow;\n }\n}\nfunction pushMaterializedTreeId(workInProgress) {\n warnIfNotHydrating(); // This component materialized an id. This will affect any ids that appear\n // in its children.\n\n var returnFiber = workInProgress.return;\n\n if (returnFiber !== null) {\n var numberOfForks = 1;\n var slotIndex = 0;\n pushTreeFork(workInProgress, numberOfForks);\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n}\n\nfunction getBitLength(number) {\n return 32 - clz32(number);\n}\n\nfunction getLeadingBit(id) {\n return 1 << getBitLength(id) - 1;\n}\n\nfunction popTreeContext(workInProgress) {\n // Restore the previous values.\n // This is a bit more complicated than other context-like modules in Fiber\n // because the same Fiber may appear on the stack multiple times and for\n // different reasons. We have to keep popping until the work-in-progress is\n // no longer at the top of the stack.\n while (workInProgress === treeForkProvider) {\n treeForkProvider = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n treeForkCount = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n }\n\n while (workInProgress === treeContextProvider) {\n treeContextProvider = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextOverflow = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextId = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n }\n}\nfunction getSuspendedTreeContext() {\n warnIfNotHydrating();\n\n if (treeContextProvider !== null) {\n return {\n id: treeContextId,\n overflow: treeContextOverflow\n };\n } else {\n return null;\n }\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\n\nfunction warnIfNotHydrating() {\n {\n if (!getIsHydrating()) {\n error('Expected to be hydrating. This is a bug in React. Please file ' + 'an issue.');\n }\n }\n}\n\n// This may have been an insertion or a hydration.\n\nvar hydrationParentFiber = null;\nvar nextHydratableInstance = null;\nvar isHydrating = false; // This flag allows for warning supression when we expect there to be mismatches\n// due to earlier mismatches or a suspended fiber.\n\nvar didSuspendOrErrorDEV = false; // Hydration errors that were thrown inside this boundary\n\nvar hydrationErrors = null;\n\nfunction warnIfHydrating() {\n {\n if (isHydrating) {\n error('We should not be hydrating here. This is a bug in React. Please file a bug.');\n }\n }\n}\n\nfunction markDidThrowWhileHydratingDEV() {\n {\n didSuspendOrErrorDEV = true;\n }\n}\nfunction didSuspendOrErrorWhileHydratingDEV() {\n {\n return didSuspendOrErrorDEV;\n }\n}\n\nfunction enterHydrationState(fiber) {\n\n var parentInstance = fiber.stateNode.containerInfo;\n nextHydratableInstance = getFirstHydratableChildWithinContainer(parentInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n return true;\n}\n\nfunction reenterHydrationStateFromDehydratedSuspenseInstance(fiber, suspenseInstance, treeContext) {\n\n nextHydratableInstance = getFirstHydratableChildWithinSuspenseInstance(suspenseInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n\n if (treeContext !== null) {\n restoreSuspendedTreeContext(fiber, treeContext);\n }\n\n return true;\n}\n\nfunction warnUnhydratedInstance(returnFiber, instance) {\n {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n didNotHydrateInstanceWithinContainer(returnFiber.stateNode.containerInfo, instance);\n break;\n }\n\n case HostComponent:\n {\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n if (suspenseState.dehydrated !== null) didNotHydrateInstanceWithinSuspenseInstance(suspenseState.dehydrated, instance);\n break;\n }\n }\n }\n}\n\nfunction deleteHydratableInstance(returnFiber, instance) {\n warnUnhydratedInstance(returnFiber, instance);\n var childToDelete = createFiberFromHostInstanceForDeletion();\n childToDelete.stateNode = instance;\n childToDelete.return = returnFiber;\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n}\n\nfunction warnNonhydratedInstance(returnFiber, fiber) {\n {\n if (didSuspendOrErrorDEV) {\n // Inside a boundary that already suspended. We're currently rendering the\n // siblings of a suspended node. The mismatch may be due to the missing\n // data, so it's probably a false positive.\n return;\n }\n\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n\n switch (fiber.tag) {\n case HostComponent:\n var type = fiber.type;\n var props = fiber.pendingProps;\n didNotFindHydratableInstanceWithinContainer(parentContainer, type);\n break;\n\n case HostText:\n var text = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinContainer(parentContainer, text);\n break;\n }\n\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n switch (fiber.tag) {\n case HostComponent:\n {\n var _type = fiber.type;\n var _props = fiber.pendingProps;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostText:\n {\n var _text = fiber.pendingProps;\n\n var _isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode);\n break;\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n var _parentInstance = suspenseState.dehydrated;\n if (_parentInstance !== null) switch (fiber.tag) {\n case HostComponent:\n var _type2 = fiber.type;\n var _props2 = fiber.pendingProps;\n didNotFindHydratableInstanceWithinSuspenseInstance(_parentInstance, _type2);\n break;\n\n case HostText:\n var _text2 = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinSuspenseInstance(_parentInstance, _text2);\n break;\n }\n break;\n }\n\n default:\n return;\n }\n }\n}\n\nfunction insertNonHydratedInstance(returnFiber, fiber) {\n fiber.flags = fiber.flags & ~Hydrating | Placement;\n warnNonhydratedInstance(returnFiber, fiber);\n}\n\nfunction tryHydrate(fiber, nextInstance) {\n switch (fiber.tag) {\n case HostComponent:\n {\n var type = fiber.type;\n var props = fiber.pendingProps;\n var instance = canHydrateInstance(nextInstance, type);\n\n if (instance !== null) {\n fiber.stateNode = instance;\n hydrationParentFiber = fiber;\n nextHydratableInstance = getFirstHydratableChild(instance);\n return true;\n }\n\n return false;\n }\n\n case HostText:\n {\n var text = fiber.pendingProps;\n var textInstance = canHydrateTextInstance(nextInstance, text);\n\n if (textInstance !== null) {\n fiber.stateNode = textInstance;\n hydrationParentFiber = fiber; // Text Instances don't have children so there's nothing to hydrate.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n case SuspenseComponent:\n {\n var suspenseInstance = canHydrateSuspenseInstance(nextInstance);\n\n if (suspenseInstance !== null) {\n var suspenseState = {\n dehydrated: suspenseInstance,\n treeContext: getSuspendedTreeContext(),\n retryLane: OffscreenLane\n };\n fiber.memoizedState = suspenseState; // Store the dehydrated fragment as a child fiber.\n // This simplifies the code for getHostSibling and deleting nodes,\n // since it doesn't have to consider all Suspense boundaries and\n // check if they're dehydrated ones or not.\n\n var dehydratedFragment = createFiberFromDehydratedFragment(suspenseInstance);\n dehydratedFragment.return = fiber;\n fiber.child = dehydratedFragment;\n hydrationParentFiber = fiber; // While a Suspense Instance does have children, we won't step into\n // it during the first pass. Instead, we'll reenter it later.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n default:\n return false;\n }\n}\n\nfunction shouldClientRenderOnMismatch(fiber) {\n return (fiber.mode & ConcurrentMode) !== NoMode && (fiber.flags & DidCapture) === NoFlags;\n}\n\nfunction throwOnHydrationMismatch(fiber) {\n throw new Error('Hydration failed because the initial UI does not match what was ' + 'rendered on the server.');\n}\n\nfunction tryToClaimNextHydratableInstance(fiber) {\n if (!isHydrating) {\n return;\n }\n\n var nextInstance = nextHydratableInstance;\n\n if (!nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // Nothing to hydrate. Make it an insertion.\n\n\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n }\n\n var firstAttemptedInstance = nextInstance;\n\n if (!tryHydrate(fiber, nextInstance)) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // If we can't hydrate this instance let's try the next one.\n // We use this as a heuristic. It's based on intuition and not data so it\n // might be flawed or unnecessary.\n\n\n nextInstance = getNextHydratableSibling(firstAttemptedInstance);\n var prevHydrationParentFiber = hydrationParentFiber;\n\n if (!nextInstance || !tryHydrate(fiber, nextInstance)) {\n // Nothing to hydrate. Make it an insertion.\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n } // We matched the next one, we'll now assume that the first one was\n // superfluous and we'll delete it. Since we can't eagerly delete it\n // we'll have to schedule a deletion. To do that, this node needs a dummy\n // fiber associated with it.\n\n\n deleteHydratableInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n}\n\nfunction prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) {\n\n var instance = fiber.stateNode;\n var shouldWarnIfMismatchDev = !didSuspendOrErrorDEV;\n var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber, shouldWarnIfMismatchDev); // TODO: Type this specific to this type of component.\n\n fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update.\n\n if (updatePayload !== null) {\n return true;\n }\n\n return false;\n}\n\nfunction prepareToHydrateHostTextInstance(fiber) {\n\n var textInstance = fiber.stateNode;\n var textContent = fiber.memoizedProps;\n var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber);\n\n if (shouldUpdate) {\n // We assume that prepareToHydrateHostTextInstance is called in a context where the\n // hydration parent is the parent host component of this host text.\n var returnFiber = hydrationParentFiber;\n\n if (returnFiber !== null) {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n var _isConcurrentMode2 = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode2);\n break;\n }\n }\n }\n }\n\n return shouldUpdate;\n}\n\nfunction prepareToHydrateHostSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n hydrateSuspenseInstance(suspenseInstance, fiber);\n}\n\nfunction skipPastDehydratedSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance);\n}\n\nfunction popToNextHostParent(fiber) {\n var parent = fiber.return;\n\n while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) {\n parent = parent.return;\n }\n\n hydrationParentFiber = parent;\n}\n\nfunction popHydrationState(fiber) {\n\n if (fiber !== hydrationParentFiber) {\n // We're deeper than the current hydration context, inside an inserted\n // tree.\n return false;\n }\n\n if (!isHydrating) {\n // If we're not currently hydrating but we're in a hydration context, then\n // we were an insertion and now need to pop up reenter hydration of our\n // siblings.\n popToNextHostParent(fiber);\n isHydrating = true;\n return false;\n } // If we have any remaining hydratable nodes, we need to delete them now.\n // We only do this deeper than head and body since they tend to have random\n // other nodes in them. We also ignore components with pure text content in\n // side of them. We also don't delete anything inside the root container.\n\n\n if (fiber.tag !== HostRoot && (fiber.tag !== HostComponent || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps))) {\n var nextInstance = nextHydratableInstance;\n\n if (nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnIfUnhydratedTailNodes(fiber);\n throwOnHydrationMismatch();\n } else {\n while (nextInstance) {\n deleteHydratableInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n }\n }\n }\n\n popToNextHostParent(fiber);\n\n if (fiber.tag === SuspenseComponent) {\n nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber);\n } else {\n nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;\n }\n\n return true;\n}\n\nfunction hasUnhydratedTailNodes() {\n return isHydrating && nextHydratableInstance !== null;\n}\n\nfunction warnIfUnhydratedTailNodes(fiber) {\n var nextInstance = nextHydratableInstance;\n\n while (nextInstance) {\n warnUnhydratedInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n}\n\nfunction resetHydrationState() {\n\n hydrationParentFiber = null;\n nextHydratableInstance = null;\n isHydrating = false;\n didSuspendOrErrorDEV = false;\n}\n\nfunction upgradeHydrationErrorsToRecoverable() {\n if (hydrationErrors !== null) {\n // Successfully completed a forced client render. The errors that occurred\n // during the hydration attempt are now recovered. We will log them in\n // commit phase, once the entire tree has finished.\n queueRecoverableErrors(hydrationErrors);\n hydrationErrors = null;\n }\n}\n\nfunction getIsHydrating() {\n return isHydrating;\n}\n\nfunction queueHydrationError(error) {\n if (hydrationErrors === null) {\n hydrationErrors = [error];\n } else {\n hydrationErrors.push(error);\n }\n}\n\nvar ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar NoTransition = null;\nfunction requestCurrentTransition() {\n return ReactCurrentBatchConfig$1.transition;\n}\n\nvar ReactStrictModeWarnings = {\n recordUnsafeLifecycleWarnings: function (fiber, instance) {},\n flushPendingUnsafeLifecycleWarnings: function () {},\n recordLegacyContextWarning: function (fiber, instance) {},\n flushLegacyContextWarning: function () {},\n discardPendingWarnings: function () {}\n};\n\n{\n var findStrictRoot = function (fiber) {\n var maybeStrictRoot = null;\n var node = fiber;\n\n while (node !== null) {\n if (node.mode & StrictLegacyMode) {\n maybeStrictRoot = node;\n }\n\n node = node.return;\n }\n\n return maybeStrictRoot;\n };\n\n var setToSortedString = function (set) {\n var array = [];\n set.forEach(function (value) {\n array.push(value);\n });\n return array.sort().join(', ');\n };\n\n var pendingComponentWillMountWarnings = [];\n var pendingUNSAFE_ComponentWillMountWarnings = [];\n var pendingComponentWillReceivePropsWarnings = [];\n var pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n var pendingComponentWillUpdateWarnings = [];\n var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about.\n\n var didWarnAboutUnsafeLifecycles = new Set();\n\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) {\n // Dedupe strategy: Warn once per component.\n if (didWarnAboutUnsafeLifecycles.has(fiber.type)) {\n return;\n }\n\n if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components.\n instance.componentWillMount.__suppressDeprecationWarning !== true) {\n pendingComponentWillMountWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillMount === 'function') {\n pendingUNSAFE_ComponentWillMountWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n pendingComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n pendingComponentWillUpdateWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillUpdate === 'function') {\n pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {\n // We do an initial pass to gather component names\n var componentWillMountUniqueNames = new Set();\n\n if (pendingComponentWillMountWarnings.length > 0) {\n pendingComponentWillMountWarnings.forEach(function (fiber) {\n componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillMountWarnings = [];\n }\n\n var UNSAFE_componentWillMountUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) {\n pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {\n UNSAFE_componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillMountWarnings = [];\n }\n\n var componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingComponentWillReceivePropsWarnings.length > 0) {\n pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {\n componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillReceivePropsWarnings = [];\n }\n\n var UNSAFE_componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) {\n UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n }\n\n var componentWillUpdateUniqueNames = new Set();\n\n if (pendingComponentWillUpdateWarnings.length > 0) {\n pendingComponentWillUpdateWarnings.forEach(function (fiber) {\n componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillUpdateWarnings = [];\n }\n\n var UNSAFE_componentWillUpdateUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) {\n pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {\n UNSAFE_componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n } // Finally, we flush all the warnings\n // UNSAFE_ ones before the deprecated ones, since they'll be 'louder'\n\n\n if (UNSAFE_componentWillMountUniqueNames.size > 0) {\n var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);\n\n error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '\\nPlease update the following components: %s', sortedNames);\n }\n\n if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames);\n\n error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, \" + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '\\nPlease update the following components: %s', _sortedNames);\n }\n\n if (UNSAFE_componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames);\n\n error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '\\nPlease update the following components: %s', _sortedNames2);\n }\n\n if (componentWillMountUniqueNames.size > 0) {\n var _sortedNames3 = setToSortedString(componentWillMountUniqueNames);\n\n warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames3);\n }\n\n if (componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames);\n\n warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, refactor your \" + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames4);\n }\n\n if (componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames);\n\n warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames5);\n }\n };\n\n var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about.\n\n var didWarnAboutLegacyContext = new Set();\n\n ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) {\n var strictRoot = findStrictRoot(fiber);\n\n if (strictRoot === null) {\n error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n\n return;\n } // Dedup strategy: Warn once per component.\n\n\n if (didWarnAboutLegacyContext.has(fiber.type)) {\n return;\n }\n\n var warningsForRoot = pendingLegacyContextWarning.get(strictRoot);\n\n if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') {\n if (warningsForRoot === undefined) {\n warningsForRoot = [];\n pendingLegacyContextWarning.set(strictRoot, warningsForRoot);\n }\n\n warningsForRoot.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushLegacyContextWarning = function () {\n pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) {\n if (fiberArray.length === 0) {\n return;\n }\n\n var firstFiber = fiberArray[0];\n var uniqueNames = new Set();\n fiberArray.forEach(function (fiber) {\n uniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutLegacyContext.add(fiber.type);\n });\n var sortedNames = setToSortedString(uniqueNames);\n\n try {\n setCurrentFiber(firstFiber);\n\n error('Legacy context API has been detected within a strict-mode tree.' + '\\n\\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\\n\\nPlease update the following components: %s' + '\\n\\nLearn more about this warning here: https://reactjs.org/link/legacy-context', sortedNames);\n } finally {\n resetCurrentFiber();\n }\n });\n };\n\n ReactStrictModeWarnings.discardPendingWarnings = function () {\n pendingComponentWillMountWarnings = [];\n pendingUNSAFE_ComponentWillMountWarnings = [];\n pendingComponentWillReceivePropsWarnings = [];\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n pendingComponentWillUpdateWarnings = [];\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n pendingLegacyContextWarning = new Map();\n };\n}\n\nfunction resolveDefaultProps(Component, baseProps) {\n if (Component && Component.defaultProps) {\n // Resolve default props. Taken from ReactElement\n var props = assign({}, baseProps);\n var defaultProps = Component.defaultProps;\n\n for (var propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n }\n\n return baseProps;\n}\n\nvar valueCursor = createCursor(null);\nvar rendererSigil;\n\n{\n // Use this to detect multiple renderers using the same context\n rendererSigil = {};\n}\n\nvar currentlyRenderingFiber = null;\nvar lastContextDependency = null;\nvar lastFullyObservedContext = null;\nvar isDisallowedContextReadInDEV = false;\nfunction resetContextDependencies() {\n // This is called right before React yields execution, to ensure `readContext`\n // cannot be called outside the render phase.\n currentlyRenderingFiber = null;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction enterDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = true;\n }\n}\nfunction exitDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction pushProvider(providerFiber, context, nextValue) {\n {\n push(valueCursor, context._currentValue, providerFiber);\n context._currentValue = nextValue;\n\n {\n if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {\n error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');\n }\n\n context._currentRenderer = rendererSigil;\n }\n }\n}\nfunction popProvider(context, providerFiber) {\n var currentValue = valueCursor.current;\n pop(valueCursor, providerFiber);\n\n {\n {\n context._currentValue = currentValue;\n }\n }\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n // Update the child lanes of all the ancestors, including the alternates.\n var node = parent;\n\n while (node !== null) {\n var alternate = node.alternate;\n\n if (!isSubsetOfLanes(node.childLanes, renderLanes)) {\n node.childLanes = mergeLanes(node.childLanes, renderLanes);\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n } else if (alternate !== null && !isSubsetOfLanes(alternate.childLanes, renderLanes)) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n\n if (node === propagationRoot) {\n break;\n }\n\n node = node.return;\n }\n\n {\n if (node !== propagationRoot) {\n error('Expected to find the propagation root when scheduling context work. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n }\n}\nfunction propagateContextChange(workInProgress, context, renderLanes) {\n {\n propagateContextChange_eager(workInProgress, context, renderLanes);\n }\n}\n\nfunction propagateContextChange_eager(workInProgress, context, renderLanes) {\n\n var fiber = workInProgress.child;\n\n if (fiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n fiber.return = workInProgress;\n }\n\n while (fiber !== null) {\n var nextFiber = void 0; // Visit this fiber.\n\n var list = fiber.dependencies;\n\n if (list !== null) {\n nextFiber = fiber.child;\n var dependency = list.firstContext;\n\n while (dependency !== null) {\n // Check if the context matches.\n if (dependency.context === context) {\n // Match! Schedule an update on this fiber.\n if (fiber.tag === ClassComponent) {\n // Schedule a force update on the work-in-progress.\n var lane = pickArbitraryLane(renderLanes);\n var update = createUpdate(NoTimestamp, lane);\n update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the\n // update to the current fiber, too, which means it will persist even if\n // this render is thrown away. Since it's a race condition, not sure it's\n // worth fixing.\n // Inlined `enqueueUpdate` to remove interleaved update check\n\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) ; else {\n var sharedQueue = updateQueue.shared;\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update;\n }\n }\n\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, workInProgress); // Mark the updated lanes on the list, too.\n\n list.lanes = mergeLanes(list.lanes, renderLanes); // Since we already found a match, we can stop traversing the\n // dependency list.\n\n break;\n }\n\n dependency = dependency.next;\n }\n } else if (fiber.tag === ContextProvider) {\n // Don't scan deeper if this is a matching provider\n nextFiber = fiber.type === workInProgress.type ? null : fiber.child;\n } else if (fiber.tag === DehydratedFragment) {\n // If a dehydrated suspense boundary is in this subtree, we don't know\n // if it will have any context consumers in it. The best we can do is\n // mark it as having updates.\n var parentSuspense = fiber.return;\n\n if (parentSuspense === null) {\n throw new Error('We just came from a parent so we must have had a parent. This is a bug in React.');\n }\n\n parentSuspense.lanes = mergeLanes(parentSuspense.lanes, renderLanes);\n var _alternate = parentSuspense.alternate;\n\n if (_alternate !== null) {\n _alternate.lanes = mergeLanes(_alternate.lanes, renderLanes);\n } // This is intentionally passing this fiber as the parent\n // because we want to schedule this fiber as having work\n // on its children. We'll use the childLanes on\n // this fiber to indicate that a context has changed.\n\n\n scheduleContextWorkOnParentPath(parentSuspense, renderLanes, workInProgress);\n nextFiber = fiber.sibling;\n } else {\n // Traverse down.\n nextFiber = fiber.child;\n }\n\n if (nextFiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n nextFiber.return = fiber;\n } else {\n // No child. Traverse to next sibling.\n nextFiber = fiber;\n\n while (nextFiber !== null) {\n if (nextFiber === workInProgress) {\n // We're back to the root of this subtree. Exit.\n nextFiber = null;\n break;\n }\n\n var sibling = nextFiber.sibling;\n\n if (sibling !== null) {\n // Set the return pointer of the sibling to the work-in-progress fiber.\n sibling.return = nextFiber.return;\n nextFiber = sibling;\n break;\n } // No more siblings. Traverse up.\n\n\n nextFiber = nextFiber.return;\n }\n }\n\n fiber = nextFiber;\n }\n}\nfunction prepareToReadContext(workInProgress, renderLanes) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n var dependencies = workInProgress.dependencies;\n\n if (dependencies !== null) {\n {\n var firstContext = dependencies.firstContext;\n\n if (firstContext !== null) {\n if (includesSomeLane(dependencies.lanes, renderLanes)) {\n // Context list has a pending update. Mark that this fiber performed work.\n markWorkInProgressReceivedUpdate();\n } // Reset the work-in-progress list\n\n\n dependencies.firstContext = null;\n }\n }\n }\n}\nfunction readContext(context) {\n {\n // This warning would fire if you read context inside a Hook like useMemo.\n // Unlike the class check below, it's not enforced in production for perf.\n if (isDisallowedContextReadInDEV) {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n }\n }\n\n var value = context._currentValue ;\n\n if (lastFullyObservedContext === context) ; else {\n var contextItem = {\n context: context,\n memoizedValue: value,\n next: null\n };\n\n if (lastContextDependency === null) {\n if (currentlyRenderingFiber === null) {\n throw new Error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n } // This is the first dependency for this component. Create a new list.\n\n\n lastContextDependency = contextItem;\n currentlyRenderingFiber.dependencies = {\n lanes: NoLanes,\n firstContext: contextItem\n };\n } else {\n // Append a new context item.\n lastContextDependency = lastContextDependency.next = contextItem;\n }\n }\n\n return value;\n}\n\n// render. When this render exits, either because it finishes or because it is\n// interrupted, the interleaved updates will be transferred onto the main part\n// of the queue.\n\nvar concurrentQueues = null;\nfunction pushConcurrentUpdateQueue(queue) {\n if (concurrentQueues === null) {\n concurrentQueues = [queue];\n } else {\n concurrentQueues.push(queue);\n }\n}\nfunction finishQueueingConcurrentUpdates() {\n // Transfer the interleaved updates onto the main queue. Each queue has a\n // `pending` field and an `interleaved` field. When they are not null, they\n // point to the last node in a circular linked list. We need to append the\n // interleaved list to the end of the pending list by joining them into a\n // single, circular list.\n if (concurrentQueues !== null) {\n for (var i = 0; i < concurrentQueues.length; i++) {\n var queue = concurrentQueues[i];\n var lastInterleavedUpdate = queue.interleaved;\n\n if (lastInterleavedUpdate !== null) {\n queue.interleaved = null;\n var firstInterleavedUpdate = lastInterleavedUpdate.next;\n var lastPendingUpdate = queue.pending;\n\n if (lastPendingUpdate !== null) {\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = firstInterleavedUpdate;\n lastInterleavedUpdate.next = firstPendingUpdate;\n }\n\n queue.pending = lastInterleavedUpdate;\n }\n }\n\n concurrentQueues = null;\n }\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n}\nfunction enqueueConcurrentClassUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n} // Calling this function outside this module should only be done for backwards\n// compatibility and should always be accompanied by a warning.\n\nvar unsafe_markUpdateLaneFromFiberToRoot = markUpdateLaneFromFiberToRoot;\n\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, lane) {\n // Update the source fiber's lanes\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, lane);\n var alternate = sourceFiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, lane);\n }\n\n {\n if (alternate === null && (sourceFiber.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n } // Walk the parent path to the root and update the child lanes.\n\n\n var node = sourceFiber;\n var parent = sourceFiber.return;\n\n while (parent !== null) {\n parent.childLanes = mergeLanes(parent.childLanes, lane);\n alternate = parent.alternate;\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, lane);\n } else {\n {\n if ((parent.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n }\n }\n\n node = parent;\n parent = parent.return;\n }\n\n if (node.tag === HostRoot) {\n var root = node.stateNode;\n return root;\n } else {\n return null;\n }\n}\n\nvar UpdateState = 0;\nvar ReplaceState = 1;\nvar ForceUpdate = 2;\nvar CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`.\n// It should only be read right after calling `processUpdateQueue`, via\n// `checkHasForceUpdateAfterProcessing`.\n\nvar hasForceUpdate = false;\nvar didWarnUpdateInsideUpdate;\nvar currentlyProcessingQueue;\n\n{\n didWarnUpdateInsideUpdate = false;\n currentlyProcessingQueue = null;\n}\n\nfunction initializeUpdateQueue(fiber) {\n var queue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: {\n pending: null,\n interleaved: null,\n lanes: NoLanes\n },\n effects: null\n };\n fiber.updateQueue = queue;\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n // Clone the update queue from current. Unless it's already a clone.\n var queue = workInProgress.updateQueue;\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n var clone = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: currentQueue.firstBaseUpdate,\n lastBaseUpdate: currentQueue.lastBaseUpdate,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = clone;\n }\n}\nfunction createUpdate(eventTime, lane) {\n var update = {\n eventTime: eventTime,\n lane: lane,\n tag: UpdateState,\n payload: null,\n callback: null,\n next: null\n };\n return update;\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return null;\n }\n\n var sharedQueue = updateQueue.shared;\n\n {\n if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) {\n error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.');\n\n didWarnUpdateInsideUpdate = true;\n }\n }\n\n if (isUnsafeClassRenderPhaseUpdate()) {\n // This is an unsafe render phase update. Add directly to the update\n // queue so we can process it immediately during the current render.\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update; // Update the childLanes even though we're most likely already rendering\n // this fiber. This is for backwards compatibility in the case where you\n // update a different component during render phase than the one that is\n // currently renderings (a pattern that is accompanied by a warning).\n\n return unsafe_markUpdateLaneFromFiberToRoot(fiber, lane);\n } else {\n return enqueueConcurrentClassUpdate(fiber, sharedQueue, update, lane);\n }\n}\nfunction entangleTransitions(root, fiber, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return;\n }\n\n var sharedQueue = updateQueue.shared;\n\n if (isTransitionLane(lane)) {\n var queueLanes = sharedQueue.lanes; // If any entangled lanes are no longer pending on the root, then they must\n // have finished. We can remove them from the shared queue, which represents\n // a superset of the actually pending lanes. In some cases we may entangle\n // more than we need to, but that's OK. In fact it's worse if we *don't*\n // entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n sharedQueue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n // Captured updates are updates that are thrown by a child during the render\n // phase. They should be discarded if the render is aborted. Therefore,\n // we should only put them on the work-in-progress queue, not the current one.\n var queue = workInProgress.updateQueue; // Check if the work-in-progress queue is a clone.\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n // The work-in-progress queue is the same as current. This happens when\n // we bail out on a parent fiber that then captures an error thrown by\n // a child. Since we want to append the update only to the work-in\n // -progress queue, we need to clone the updates. We usually clone during\n // processUpdateQueue, but that didn't happen in this case because we\n // skipped over the parent when we bailed out.\n var newFirst = null;\n var newLast = null;\n var firstBaseUpdate = queue.firstBaseUpdate;\n\n if (firstBaseUpdate !== null) {\n // Loop through the updates and clone them.\n var update = firstBaseUpdate;\n\n do {\n var clone = {\n eventTime: update.eventTime,\n lane: update.lane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLast === null) {\n newFirst = newLast = clone;\n } else {\n newLast.next = clone;\n newLast = clone;\n }\n\n update = update.next;\n } while (update !== null); // Append the captured update the end of the cloned list.\n\n\n if (newLast === null) {\n newFirst = newLast = capturedUpdate;\n } else {\n newLast.next = capturedUpdate;\n newLast = capturedUpdate;\n }\n } else {\n // There are no base updates.\n newFirst = newLast = capturedUpdate;\n }\n\n queue = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = queue;\n return;\n }\n } // Append the update to the end of the list.\n\n\n var lastBaseUpdate = queue.lastBaseUpdate;\n\n if (lastBaseUpdate === null) {\n queue.firstBaseUpdate = capturedUpdate;\n } else {\n lastBaseUpdate.next = capturedUpdate;\n }\n\n queue.lastBaseUpdate = capturedUpdate;\n}\n\nfunction getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) {\n switch (update.tag) {\n case ReplaceState:\n {\n var payload = update.payload;\n\n if (typeof payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n var nextState = payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n\n return nextState;\n } // State object\n\n\n return payload;\n }\n\n case CaptureUpdate:\n {\n workInProgress.flags = workInProgress.flags & ~ShouldCapture | DidCapture;\n }\n // Intentional fallthrough\n\n case UpdateState:\n {\n var _payload = update.payload;\n var partialState;\n\n if (typeof _payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n partialState = _payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n _payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n } else {\n // Partial state object\n partialState = _payload;\n }\n\n if (partialState === null || partialState === undefined) {\n // Null and undefined are treated as no-ops.\n return prevState;\n } // Merge the partial state and the previous state.\n\n\n return assign({}, prevState, partialState);\n }\n\n case ForceUpdate:\n {\n hasForceUpdate = true;\n return prevState;\n }\n }\n\n return prevState;\n}\n\nfunction processUpdateQueue(workInProgress, props, instance, renderLanes) {\n // This is always non-null on a ClassComponent or HostRoot\n var queue = workInProgress.updateQueue;\n hasForceUpdate = false;\n\n {\n currentlyProcessingQueue = queue.shared;\n }\n\n var firstBaseUpdate = queue.firstBaseUpdate;\n var lastBaseUpdate = queue.lastBaseUpdate; // Check if there are pending updates. If so, transfer them to the base queue.\n\n var pendingQueue = queue.shared.pending;\n\n if (pendingQueue !== null) {\n queue.shared.pending = null; // The pending queue is circular. Disconnect the pointer between first\n // and last so that it's non-circular.\n\n var lastPendingUpdate = pendingQueue;\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null; // Append pending updates to base queue\n\n if (lastBaseUpdate === null) {\n firstBaseUpdate = firstPendingUpdate;\n } else {\n lastBaseUpdate.next = firstPendingUpdate;\n }\n\n lastBaseUpdate = lastPendingUpdate; // If there's a current queue, and it's different from the base queue, then\n // we need to transfer the updates to that queue, too. Because the base\n // queue is a singly-linked list with no cycles, we can append to both\n // lists and take advantage of structural sharing.\n // TODO: Pass `current` as argument\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n // This is always non-null on a ClassComponent or HostRoot\n var currentQueue = current.updateQueue;\n var currentLastBaseUpdate = currentQueue.lastBaseUpdate;\n\n if (currentLastBaseUpdate !== lastBaseUpdate) {\n if (currentLastBaseUpdate === null) {\n currentQueue.firstBaseUpdate = firstPendingUpdate;\n } else {\n currentLastBaseUpdate.next = firstPendingUpdate;\n }\n\n currentQueue.lastBaseUpdate = lastPendingUpdate;\n }\n }\n } // These values may change as we process the queue.\n\n\n if (firstBaseUpdate !== null) {\n // Iterate through the list of updates to compute the result.\n var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes\n // from the original lanes.\n\n var newLanes = NoLanes;\n var newBaseState = null;\n var newFirstBaseUpdate = null;\n var newLastBaseUpdate = null;\n var update = firstBaseUpdate;\n\n do {\n var updateLane = update.lane;\n var updateEventTime = update.eventTime;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n eventTime: updateEventTime,\n lane: updateLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLastBaseUpdate === null) {\n newFirstBaseUpdate = newLastBaseUpdate = clone;\n newBaseState = newState;\n } else {\n newLastBaseUpdate = newLastBaseUpdate.next = clone;\n } // Update the remaining priority in the queue.\n\n\n newLanes = mergeLanes(newLanes, updateLane);\n } else {\n // This update does have sufficient priority.\n if (newLastBaseUpdate !== null) {\n var _clone = {\n eventTime: updateEventTime,\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n newLastBaseUpdate = newLastBaseUpdate.next = _clone;\n } // Process this update.\n\n\n newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance);\n var callback = update.callback;\n\n if (callback !== null && // If the update was already committed, we should not queue its\n // callback again.\n update.lane !== NoLane) {\n workInProgress.flags |= Callback;\n var effects = queue.effects;\n\n if (effects === null) {\n queue.effects = [update];\n } else {\n effects.push(update);\n }\n }\n }\n\n update = update.next;\n\n if (update === null) {\n pendingQueue = queue.shared.pending;\n\n if (pendingQueue === null) {\n break;\n } else {\n // An update was scheduled from inside a reducer. Add the new\n // pending updates to the end of the list and keep processing.\n var _lastPendingUpdate = pendingQueue; // Intentionally unsound. Pending updates form a circular list, but we\n // unravel them when transferring them to the base queue.\n\n var _firstPendingUpdate = _lastPendingUpdate.next;\n _lastPendingUpdate.next = null;\n update = _firstPendingUpdate;\n queue.lastBaseUpdate = _lastPendingUpdate;\n queue.shared.pending = null;\n }\n }\n } while (true);\n\n if (newLastBaseUpdate === null) {\n newBaseState = newState;\n }\n\n queue.baseState = newBaseState;\n queue.firstBaseUpdate = newFirstBaseUpdate;\n queue.lastBaseUpdate = newLastBaseUpdate; // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n var lastInterleaved = queue.shared.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n newLanes = mergeLanes(newLanes, interleaved.lane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (firstBaseUpdate === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.shared.lanes = NoLanes;\n } // Set the remaining expiration time to be whatever is remaining in the queue.\n // This should be fine because the only two other things that contribute to\n // expiration time are props and context. We're already in the middle of the\n // begin phase by the time we start processing the queue, so we've already\n // dealt with the props. Context in components that specify\n // shouldComponentUpdate is tricky; but we'll have to account for\n // that regardless.\n\n\n markSkippedUpdateLanes(newLanes);\n workInProgress.lanes = newLanes;\n workInProgress.memoizedState = newState;\n }\n\n {\n currentlyProcessingQueue = null;\n }\n}\n\nfunction callCallback(callback, context) {\n if (typeof callback !== 'function') {\n throw new Error('Invalid argument passed as callback. Expected a function. Instead ' + (\"received: \" + callback));\n }\n\n callback.call(context);\n}\n\nfunction resetHasForceUpdateBeforeProcessing() {\n hasForceUpdate = false;\n}\nfunction checkHasForceUpdateAfterProcessing() {\n return hasForceUpdate;\n}\nfunction commitUpdateQueue(finishedWork, finishedQueue, instance) {\n // Commit the effects\n var effects = finishedQueue.effects;\n finishedQueue.effects = null;\n\n if (effects !== null) {\n for (var i = 0; i < effects.length; i++) {\n var effect = effects[i];\n var callback = effect.callback;\n\n if (callback !== null) {\n effect.callback = null;\n callCallback(callback, instance);\n }\n }\n }\n}\n\nvar fakeInternalInstance = {}; // React.Component uses a shared frozen object by default.\n// We'll use it to determine whether we need to initialize legacy refs.\n\nvar emptyRefsObject = new React.Component().refs;\nvar didWarnAboutStateAssignmentForComponent;\nvar didWarnAboutUninitializedState;\nvar didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;\nvar didWarnAboutLegacyLifecyclesAndDerivedState;\nvar didWarnAboutUndefinedDerivedState;\nvar warnOnUndefinedDerivedState;\nvar warnOnInvalidCallback;\nvar didWarnAboutDirectlyAssigningPropsToState;\nvar didWarnAboutContextTypeAndContextTypes;\nvar didWarnAboutInvalidateContextType;\n\n{\n didWarnAboutStateAssignmentForComponent = new Set();\n didWarnAboutUninitializedState = new Set();\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();\n didWarnAboutLegacyLifecyclesAndDerivedState = new Set();\n didWarnAboutDirectlyAssigningPropsToState = new Set();\n didWarnAboutUndefinedDerivedState = new Set();\n didWarnAboutContextTypeAndContextTypes = new Set();\n didWarnAboutInvalidateContextType = new Set();\n var didWarnOnInvalidCallback = new Set();\n\n warnOnInvalidCallback = function (callback, callerName) {\n if (callback === null || typeof callback === 'function') {\n return;\n }\n\n var key = callerName + '_' + callback;\n\n if (!didWarnOnInvalidCallback.has(key)) {\n didWarnOnInvalidCallback.add(key);\n\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n };\n\n warnOnUndefinedDerivedState = function (type, partialState) {\n if (partialState === undefined) {\n var componentName = getComponentNameFromType(type) || 'Component';\n\n if (!didWarnAboutUndefinedDerivedState.has(componentName)) {\n didWarnAboutUndefinedDerivedState.add(componentName);\n\n error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);\n }\n }\n }; // This is so gross but it's at least non-critical and can be removed if\n // it causes problems. This is meant to give a nicer error message for\n // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component,\n // ...)) which otherwise throws a \"_processChildContext is not a function\"\n // exception.\n\n\n Object.defineProperty(fakeInternalInstance, '_processChildContext', {\n enumerable: false,\n value: function () {\n throw new Error('_processChildContext is not available in React 16+. This likely ' + 'means you have multiple copies of React and are attempting to nest ' + 'a React 15 tree inside a React 16 tree using ' + \"unstable_renderSubtreeIntoContainer, which isn't supported. Try \" + 'to make sure you have only one copy of React (and ideally, switch ' + 'to ReactDOM.createPortal).');\n }\n });\n Object.freeze(fakeInternalInstance);\n}\n\nfunction applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {\n var prevState = workInProgress.memoizedState;\n var partialState = getDerivedStateFromProps(nextProps, prevState);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n partialState = getDerivedStateFromProps(nextProps, prevState);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n warnOnUndefinedDerivedState(ctor, partialState);\n } // Merge the partial state and the previous state.\n\n\n var memoizedState = partialState === null || partialState === undefined ? prevState : assign({}, prevState, partialState);\n workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the\n // base state.\n\n if (workInProgress.lanes === NoLanes) {\n // Queue is always non-null for classes\n var updateQueue = workInProgress.updateQueue;\n updateQueue.baseState = memoizedState;\n }\n}\n\nvar classComponentUpdater = {\n isMounted: isMounted,\n enqueueSetState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'setState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueReplaceState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ReplaceState;\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'replaceState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueForceUpdate: function (inst, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ForceUpdate;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'forceUpdate');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markForceUpdateScheduled(fiber, lane);\n }\n }\n};\n\nfunction checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {\n var instance = workInProgress.stateNode;\n\n if (typeof instance.shouldComponentUpdate === 'function') {\n var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n if (shouldUpdate === undefined) {\n error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentNameFromType(ctor) || 'Component');\n }\n }\n\n return shouldUpdate;\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent) {\n return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState);\n }\n\n return true;\n}\n\nfunction checkClassInstance(workInProgress, ctor, newProps) {\n var instance = workInProgress.stateNode;\n\n {\n var name = getComponentNameFromType(ctor) || 'Component';\n var renderPresent = instance.render;\n\n if (!renderPresent) {\n if (ctor.prototype && typeof ctor.prototype.render === 'function') {\n error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);\n } else {\n error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);\n }\n }\n\n if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {\n error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);\n }\n\n if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);\n }\n\n if (instance.propTypes) {\n error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);\n }\n\n if (instance.contextType) {\n error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);\n }\n\n {\n if (instance.contextTypes) {\n error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);\n }\n\n if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {\n didWarnAboutContextTypeAndContextTypes.add(ctor);\n\n error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);\n }\n }\n\n if (typeof instance.componentShouldUpdate === 'function') {\n error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {\n error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentNameFromType(ctor) || 'A pure component');\n }\n\n if (typeof instance.componentDidUnmount === 'function') {\n error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);\n }\n\n if (typeof instance.componentDidReceiveProps === 'function') {\n error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);\n }\n\n if (typeof instance.componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);\n }\n\n if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);\n }\n\n var hasMutatedProps = instance.props !== newProps;\n\n if (instance.props !== undefined && hasMutatedProps) {\n error('%s(...): When calling super() in `%s`, make sure to pass ' + \"up the same props that your component's constructor was passed.\", name, name);\n }\n\n if (instance.defaultProps) {\n error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);\n\n error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentNameFromType(ctor));\n }\n\n if (typeof instance.getDerivedStateFromProps === 'function') {\n error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof instance.getDerivedStateFromError === 'function') {\n error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof ctor.getSnapshotBeforeUpdate === 'function') {\n error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);\n }\n\n var _state = instance.state;\n\n if (_state && (typeof _state !== 'object' || isArray(_state))) {\n error('%s.state: must be set to an object or null', name);\n }\n\n if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {\n error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);\n }\n }\n}\n\nfunction adoptClassInstance(workInProgress, instance) {\n instance.updater = classComponentUpdater;\n workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates\n\n set(instance, workInProgress);\n\n {\n instance._reactInternalInstance = fakeInternalInstance;\n }\n}\n\nfunction constructClassInstance(workInProgress, ctor, props) {\n var isLegacyContextConsumer = false;\n var unmaskedContext = emptyContextObject;\n var context = emptyContextObject;\n var contextType = ctor.contextType;\n\n {\n if ('contextType' in ctor) {\n var isValid = // Allow null for conditional declaration\n contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer>\n\n if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {\n didWarnAboutInvalidateContextType.add(ctor);\n var addendum = '';\n\n if (contextType === undefined) {\n addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';\n } else if (typeof contextType !== 'object') {\n addendum = ' However, it is set to a ' + typeof contextType + '.';\n } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) {\n addendum = ' Did you accidentally pass the Context.Provider instead?';\n } else if (contextType._context !== undefined) {\n // <Context.Consumer>\n addendum = ' Did you accidentally pass the Context.Consumer instead?';\n } else {\n addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';\n }\n\n error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentNameFromType(ctor) || 'Component', addendum);\n }\n }\n }\n\n if (typeof contextType === 'object' && contextType !== null) {\n context = readContext(contextType);\n } else {\n unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n var contextTypes = ctor.contextTypes;\n isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined;\n context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject;\n }\n\n var instance = new ctor(props, context); // Instantiate twice to help detect side-effects.\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance = new ctor(props, context); // eslint-disable-line no-new\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null;\n adoptClassInstance(workInProgress, instance);\n\n {\n if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutUninitializedState.has(componentName)) {\n didWarnAboutUninitializedState.add(componentName);\n\n error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);\n }\n } // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Warn about these lifecycles if they are present.\n // Don't warn about react-lifecycles-compat polyfilled methods though.\n\n\n if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n\n if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {\n foundWillMountName = 'componentWillMount';\n } else if (typeof instance.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n\n if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {\n var _componentName = getComponentNameFromType(ctor) || 'Component';\n\n var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';\n\n if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {\n didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);\n\n error('Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\\n\\n' + 'The above lifecycles should be removed. Learn more about this warning here:\\n' + 'https://reactjs.org/link/unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? \"\\n \" + foundWillMountName : '', foundWillReceivePropsName !== null ? \"\\n \" + foundWillReceivePropsName : '', foundWillUpdateName !== null ? \"\\n \" + foundWillUpdateName : '');\n }\n }\n }\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // ReactFiberContext usually updates this cache but can't for newly-created instances.\n\n\n if (isLegacyContextConsumer) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return instance;\n}\n\nfunction callComponentWillMount(workInProgress, instance) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n\n if (oldState !== instance.state) {\n {\n error('%s.componentWillMount(): Assigning directly to this.state is ' + \"deprecated (except inside a component's \" + 'constructor). Use setState instead.', getComponentNameFromFiber(workInProgress) || 'Component');\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n}\n\nfunction callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillReceiveProps === 'function') {\n instance.componentWillReceiveProps(newProps, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n }\n\n if (instance.state !== oldState) {\n {\n var componentName = getComponentNameFromFiber(workInProgress) || 'Component';\n\n if (!didWarnAboutStateAssignmentForComponent.has(componentName)) {\n didWarnAboutStateAssignmentForComponent.add(componentName);\n\n error('%s.componentWillReceiveProps(): Assigning directly to ' + \"this.state is deprecated (except inside a component's \" + 'constructor). Use setState instead.', componentName);\n }\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n} // Invokes the mount life-cycles on a previously never rendered instance.\n\n\nfunction mountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n {\n checkClassInstance(workInProgress, ctor, newProps);\n }\n\n var instance = workInProgress.stateNode;\n instance.props = newProps;\n instance.state = workInProgress.memoizedState;\n instance.refs = emptyRefsObject;\n initializeUpdateQueue(workInProgress);\n var contextType = ctor.contextType;\n\n if (typeof contextType === 'object' && contextType !== null) {\n instance.context = readContext(contextType);\n } else {\n var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n instance.context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n {\n if (instance.state === newProps) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {\n didWarnAboutDirectlyAssigningPropsToState.add(componentName);\n\n error('%s: It is not recommended to assign props directly to state ' + \"because updates to props won't be reflected in state. \" + 'In most cases, it is better to use props directly.', componentName);\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance);\n }\n\n {\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance);\n }\n }\n\n instance.state = workInProgress.memoizedState;\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n instance.state = workInProgress.memoizedState;\n } // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n\n if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's\n // process them now.\n\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n instance.state = workInProgress.memoizedState;\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n}\n\nfunction resumeMountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n var oldProps = workInProgress.memoizedProps;\n instance.props = oldProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (oldProps !== newProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags = Update;\n\n {\n _fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags2 = Update;\n\n {\n _fiberFlags2 |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags2 |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags2;\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n} // Invokes the update life-cycles and returns false if it shouldn't rerender.\n\n\nfunction updateClassInstance(current, workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n var unresolvedOldProps = workInProgress.memoizedProps;\n var oldProps = workInProgress.type === workInProgress.elementType ? unresolvedOldProps : resolveDefaultProps(workInProgress.type, unresolvedOldProps);\n instance.props = oldProps;\n var unresolvedNewProps = workInProgress.pendingProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (unresolvedOldProps !== unresolvedNewProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (unresolvedOldProps === unresolvedNewProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing() && !(enableLazyContextPropagation )) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) || // TODO: In some cases, we'll end up checking if context has changed twice,\n // both before and after `shouldComponentUpdate` has been called. Not ideal,\n // but I'm loath to refactor this function. This only happens for memoized\n // components so it's not that common.\n enableLazyContextPropagation ;\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) {\n if (typeof instance.componentWillUpdate === 'function') {\n instance.componentWillUpdate(newProps, newState, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext);\n }\n }\n\n if (typeof instance.componentDidUpdate === 'function') {\n workInProgress.flags |= Update;\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n workInProgress.flags |= Snapshot;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized props/state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n}\n\nvar didWarnAboutMaps;\nvar didWarnAboutGenerators;\nvar didWarnAboutStringRefs;\nvar ownerHasKeyUseWarning;\nvar ownerHasFunctionTypeWarning;\n\nvar warnForMissingKey = function (child, returnFiber) {};\n\n{\n didWarnAboutMaps = false;\n didWarnAboutGenerators = false;\n didWarnAboutStringRefs = {};\n /**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n ownerHasKeyUseWarning = {};\n ownerHasFunctionTypeWarning = {};\n\n warnForMissingKey = function (child, returnFiber) {\n if (child === null || typeof child !== 'object') {\n return;\n }\n\n if (!child._store || child._store.validated || child.key != null) {\n return;\n }\n\n if (typeof child._store !== 'object') {\n throw new Error('React Component in warnForMissingKey should have a _store. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n child._store.validated = true;\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasKeyUseWarning[componentName]) {\n return;\n }\n\n ownerHasKeyUseWarning[componentName] = true;\n\n error('Each child in a list should have a unique ' + '\"key\" prop. See https://reactjs.org/link/warning-keys for ' + 'more information.');\n };\n}\n\nfunction coerceRef(returnFiber, current, element) {\n var mixedRef = element.ref;\n\n if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') {\n {\n // TODO: Clean this up once we turn on the string ref warning for\n // everyone, because the strict mode case will no longer be relevant\n if ((returnFiber.mode & StrictLegacyMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs\n // because these cannot be automatically converted to an arrow function\n // using a codemod. Therefore, we don't have to warn about string refs again.\n !(element._owner && element._self && element._owner.stateNode !== element._self)) {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (!didWarnAboutStringRefs[componentName]) {\n {\n error('A string ref, \"%s\", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', mixedRef);\n }\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n\n if (element._owner) {\n var owner = element._owner;\n var inst;\n\n if (owner) {\n var ownerFiber = owner;\n\n if (ownerFiber.tag !== ClassComponent) {\n throw new Error('Function components cannot have string refs. ' + 'We recommend using useRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref');\n }\n\n inst = ownerFiber.stateNode;\n }\n\n if (!inst) {\n throw new Error(\"Missing owner for string ref \" + mixedRef + \". This error is likely caused by a \" + 'bug in React. Please file an issue.');\n } // Assigning this to a const so Flow knows it won't change in the closure\n\n\n var resolvedInst = inst;\n\n {\n checkPropStringCoercion(mixedRef, 'ref');\n }\n\n var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref\n\n if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) {\n return current.ref;\n }\n\n var ref = function (value) {\n var refs = resolvedInst.refs;\n\n if (refs === emptyRefsObject) {\n // This is a lazy pooled frozen object, so we need to initialize.\n refs = resolvedInst.refs = {};\n }\n\n if (value === null) {\n delete refs[stringRef];\n } else {\n refs[stringRef] = value;\n }\n };\n\n ref._stringRef = stringRef;\n return ref;\n } else {\n if (typeof mixedRef !== 'string') {\n throw new Error('Expected ref to be a function, a string, an object returned by React.createRef(), or null.');\n }\n\n if (!element._owner) {\n throw new Error(\"Element ref was specified as a string (\" + mixedRef + \") but no owner was set. This could happen for one of\" + ' the following reasons:\\n' + '1. You may be adding a ref to a function component\\n' + \"2. You may be adding a ref to a component that was not created inside a component's render method\\n\" + '3. You have multiple copies of React loaded\\n' + 'See https://reactjs.org/link/refs-must-have-owner for more information.');\n }\n }\n }\n\n return mixedRef;\n}\n\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n var childString = Object.prototype.toString.call(newChild);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childString === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : childString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n}\n\nfunction warnOnFunctionType(returnFiber) {\n {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasFunctionTypeWarning[componentName]) {\n return;\n }\n\n ownerHasFunctionTypeWarning[componentName] = true;\n\n error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.');\n }\n}\n\nfunction resolveLazy(lazyType) {\n var payload = lazyType._payload;\n var init = lazyType._init;\n return init(payload);\n} // This wrapper function exists because I expect to clone the code in each path\n// to be able to optimize each path individually by branching early. This needs\n// a compiler or we can do it manually. Helpers that don't need this branching\n// live outside of this function.\n\n\nfunction ChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return;\n }\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n }\n\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return null;\n } // TODO: For the shouldClone case, this could be micro-optimized a bit by\n // assuming that after the first child we've already added everything.\n\n\n var childToDelete = currentFirstChild;\n\n while (childToDelete !== null) {\n deleteChild(returnFiber, childToDelete);\n childToDelete = childToDelete.sibling;\n }\n\n return null;\n }\n\n function mapRemainingChildren(returnFiber, currentFirstChild) {\n // Add the remaining children to a temporary map so that we can find them by\n // keys quickly. Implicit (null) keys get added to this set with their index\n // instead.\n var existingChildren = new Map();\n var existingChild = currentFirstChild;\n\n while (existingChild !== null) {\n if (existingChild.key !== null) {\n existingChildren.set(existingChild.key, existingChild);\n } else {\n existingChildren.set(existingChild.index, existingChild);\n }\n\n existingChild = existingChild.sibling;\n }\n\n return existingChildren;\n }\n\n function useFiber(fiber, pendingProps) {\n // We currently set sibling to null and index to 0 here because it is easy\n // to forget to do before returning it. E.g. for the single child case.\n var clone = createWorkInProgress(fiber, pendingProps);\n clone.index = 0;\n clone.sibling = null;\n return clone;\n }\n\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n\n if (!shouldTrackSideEffects) {\n // During hydration, the useId algorithm needs to know which fibers are\n // part of a list of children (arrays, iterators).\n newFiber.flags |= Forked;\n return lastPlacedIndex;\n }\n\n var current = newFiber.alternate;\n\n if (current !== null) {\n var oldIndex = current.index;\n\n if (oldIndex < lastPlacedIndex) {\n // This is a move.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n } else {\n // This item can stay in place.\n return oldIndex;\n }\n } else {\n // This is an insertion.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n }\n }\n\n function placeSingleChild(newFiber) {\n // This is simpler for the single child case. We only need to do a\n // placement for inserting new children.\n if (shouldTrackSideEffects && newFiber.alternate === null) {\n newFiber.flags |= Placement;\n }\n\n return newFiber;\n }\n\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (current === null || current.tag !== HostText) {\n // Insert\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, textContent);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n return updateFragment(returnFiber, current, element.props.children, lanes, element.key);\n }\n\n if (current !== null) {\n if (current.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(current, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current.type) {\n // Move based on index\n var existing = useFiber(current, element.props);\n existing.ref = coerceRef(returnFiber, current, element);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } // Insert\n\n\n var created = createFiberFromElement(element, returnFiber.mode, lanes);\n created.ref = coerceRef(returnFiber, current, element);\n created.return = returnFiber;\n return created;\n }\n\n function updatePortal(returnFiber, current, portal, lanes) {\n if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) {\n // Insert\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, portal.children || []);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (current === null || current.tag !== Fragment) {\n // Insert\n var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, fragment);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function createChild(returnFiber, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n var created = createFiberFromText('' + newChild, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _created = createFiberFromElement(newChild, returnFiber.mode, lanes);\n\n _created.ref = coerceRef(returnFiber, null, newChild);\n _created.return = returnFiber;\n return _created;\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _created2 = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n\n _created2.return = returnFiber;\n return _created2;\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return createChild(returnFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _created3 = createFiberFromFragment(newChild, returnFiber.mode, lanes, null);\n\n _created3.return = returnFiber;\n return _created3;\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n // Update the fiber if the keys match, otherwise return null.\n var key = oldFiber !== null ? oldFiber.key : null;\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n if (key !== null) {\n return null;\n }\n\n return updateTextNode(returnFiber, oldFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n if (newChild.key === key) {\n return updateElement(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_PORTAL_TYPE:\n {\n if (newChild.key === key) {\n return updatePortal(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return updateSlot(returnFiber, oldFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n if (key !== null) {\n return null;\n }\n\n return updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys, so we neither have to check the old nor\n // new node for the key. If both are text nodes, they match.\n var matchedFiber = existingChildren.get(newIdx) || null;\n return updateTextNode(returnFiber, matchedFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updateElement(returnFiber, _matchedFiber, newChild, lanes);\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updatePortal(returnFiber, _matchedFiber2, newChild, lanes);\n }\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init;\n return updateFromMap(existingChildren, returnFiber, newIdx, init(payload), lanes);\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _matchedFiber3 = existingChildren.get(newIdx) || null;\n\n return updateFragment(returnFiber, _matchedFiber3, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n /**\n * Warns if there is a duplicate or missing key\n */\n\n\n function warnOnInvalidKey(child, knownKeys, returnFiber) {\n {\n if (typeof child !== 'object' || child === null) {\n return knownKeys;\n }\n\n switch (child.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n warnForMissingKey(child, returnFiber);\n var key = child.key;\n\n if (typeof key !== 'string') {\n break;\n }\n\n if (knownKeys === null) {\n knownKeys = new Set();\n knownKeys.add(key);\n break;\n }\n\n if (!knownKeys.has(key)) {\n knownKeys.add(key);\n break;\n }\n\n error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key);\n\n break;\n\n case REACT_LAZY_TYPE:\n var payload = child._payload;\n var init = child._init;\n warnOnInvalidKey(init(payload), knownKeys, returnFiber);\n break;\n }\n }\n\n return knownKeys;\n }\n\n function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {\n // This algorithm can't optimize by searching from both ends since we\n // don't have backpointers on fibers. I'm trying to see how far we can get\n // with that model. If it ends up not being worth the tradeoffs, we can\n // add it later.\n // Even with a two ended optimization, we'd want to optimize for the case\n // where there are few changes and brute force the comparison instead of\n // going for the Map. It'd like to explore hitting that path first in\n // forward-only mode and only go for the Map once we notice that we need\n // lots of look ahead. This doesn't handle reversal as well as two ended\n // search but that's unusual. Besides, for the two ended optimization to\n // work on Iterables, we'd need to copy the whole set.\n // In this first iteration, we'll just live with hitting the bad case\n // (adding everything to a Map) in for every insert/move.\n // If you change this code, also update reconcileChildrenIterator() which\n // uses the same algorithm.\n {\n // First, validate keys.\n var knownKeys = null;\n\n for (var i = 0; i < newChildren.length; i++) {\n var child = newChildren[i];\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n\n for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (newIdx === newChildren.length) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber = createChild(returnFiber, newChildren[newIdx], lanes);\n\n if (_newFiber === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber;\n } else {\n previousNewFiber.sibling = _newFiber;\n }\n\n previousNewFiber = _newFiber;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks = newIdx;\n pushTreeFork(returnFiber, _numberOfForks);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], lanes);\n\n if (_newFiber2 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber2.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber2;\n } else {\n previousNewFiber.sibling = _newFiber2;\n }\n\n previousNewFiber = _newFiber2;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks2 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks2);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, lanes) {\n // This is the same implementation as reconcileChildrenArray(),\n // but using the iterator instead.\n var iteratorFn = getIteratorFn(newChildrenIterable);\n\n if (typeof iteratorFn !== 'function') {\n throw new Error('An object is not an iterable. This error is likely caused by a bug in ' + 'React. Please file an issue.');\n }\n\n {\n // We don't support rendering Generators because it's a mutation.\n // See https://github.com/facebook/react/issues/12995\n if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag\n newChildrenIterable[Symbol.toStringTag] === 'Generator') {\n if (!didWarnAboutGenerators) {\n error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');\n }\n\n didWarnAboutGenerators = true;\n } // Warn about using Maps as children\n\n\n if (newChildrenIterable.entries === iteratorFn) {\n if (!didWarnAboutMaps) {\n error('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n } // First, validate keys.\n // We'll get a different iterator later for the main pass.\n\n\n var _newChildren = iteratorFn.call(newChildrenIterable);\n\n if (_newChildren) {\n var knownKeys = null;\n\n var _step = _newChildren.next();\n\n for (; !_step.done; _step = _newChildren.next()) {\n var child = _step.value;\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n }\n\n var newChildren = iteratorFn.call(newChildrenIterable);\n\n if (newChildren == null) {\n throw new Error('An iterable object provided no iterator.');\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n var step = newChildren.next();\n\n for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (step.done) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber3 = createChild(returnFiber, step.value, lanes);\n\n if (_newFiber3 === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber3;\n } else {\n previousNewFiber.sibling = _newFiber3;\n }\n\n previousNewFiber = _newFiber3;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks3 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks3);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, lanes);\n\n if (_newFiber4 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber4.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber4;\n } else {\n previousNewFiber.sibling = _newFiber4;\n }\n\n previousNewFiber = _newFiber4;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks4 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks4);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, lanes) {\n // There's no need to check for keys on text nodes since we don't have a\n // way to define them.\n if (currentFirstChild !== null && currentFirstChild.tag === HostText) {\n // We already have an existing node so let's just update it and delete\n // the rest.\n deleteRemainingChildren(returnFiber, currentFirstChild.sibling);\n var existing = useFiber(currentFirstChild, textContent);\n existing.return = returnFiber;\n return existing;\n } // The existing first child is not a text node so we need to create one\n // and delete the existing ones.\n\n\n deleteRemainingChildren(returnFiber, currentFirstChild);\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n function reconcileSingleElement(returnFiber, currentFirstChild, element, lanes) {\n var key = element.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n if (child.tag === Fragment) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, element.props.children);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } else {\n if (child.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(child, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === child.type) {\n deleteRemainingChildren(returnFiber, child.sibling);\n\n var _existing = useFiber(child, element.props);\n\n _existing.ref = coerceRef(returnFiber, child, element);\n _existing.return = returnFiber;\n\n {\n _existing._debugSource = element._source;\n _existing._debugOwner = element._owner;\n }\n\n return _existing;\n }\n } // Didn't match.\n\n\n deleteRemainingChildren(returnFiber, child);\n break;\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n if (element.type === REACT_FRAGMENT_TYPE) {\n var created = createFiberFromFragment(element.props.children, returnFiber.mode, lanes, element.key);\n created.return = returnFiber;\n return created;\n } else {\n var _created4 = createFiberFromElement(element, returnFiber.mode, lanes);\n\n _created4.ref = coerceRef(returnFiber, currentFirstChild, element);\n _created4.return = returnFiber;\n return _created4;\n }\n }\n\n function reconcileSinglePortal(returnFiber, currentFirstChild, portal, lanes) {\n var key = portal.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, portal.children || []);\n existing.return = returnFiber;\n return existing;\n } else {\n deleteRemainingChildren(returnFiber, child);\n break;\n }\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } // This API will tag the children with the side-effect of the reconciliation\n // itself. They will be added to the side-effect list as we pass through the\n // children and the parent.\n\n\n function reconcileChildFibers(returnFiber, currentFirstChild, newChild, lanes) {\n // This function is not recursive.\n // If the top level item is an array, we treat it as a set of children,\n // not as a fragment. Nested arrays on the other hand will be treated as\n // fragment nodes. Recursion happens at the normal flow.\n // Handle top level unkeyed fragments as if they were arrays.\n // This leads to an ambiguity between <>{[...]}</> and <>...</>.\n // We treat the ambiguous cases above the same.\n var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null;\n\n if (isUnkeyedTopLevelFragment) {\n newChild = newChild.props.children;\n } // Handle object types\n\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_PORTAL_TYPE:\n return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init; // TODO: This function is supposed to be non-recursive.\n\n return reconcileChildFibers(returnFiber, currentFirstChild, init(payload), lanes);\n }\n\n if (isArray(newChild)) {\n return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n if (getIteratorFn(newChild)) {\n return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, lanes));\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n } // Remaining cases are all treated as empty.\n\n\n return deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n\n return reconcileChildFibers;\n}\n\nvar reconcileChildFibers = ChildReconciler(true);\nvar mountChildFibers = ChildReconciler(false);\nfunction cloneChildFibers(current, workInProgress) {\n if (current !== null && workInProgress.child !== current.child) {\n throw new Error('Resuming work not yet implemented.');\n }\n\n if (workInProgress.child === null) {\n return;\n }\n\n var currentChild = workInProgress.child;\n var newChild = createWorkInProgress(currentChild, currentChild.pendingProps);\n workInProgress.child = newChild;\n newChild.return = workInProgress;\n\n while (currentChild.sibling !== null) {\n currentChild = currentChild.sibling;\n newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps);\n newChild.return = workInProgress;\n }\n\n newChild.sibling = null;\n} // Reset a workInProgress child set to prepare it for a second pass.\n\nfunction resetChildFibers(workInProgress, lanes) {\n var child = workInProgress.child;\n\n while (child !== null) {\n resetWorkInProgress(child, lanes);\n child = child.sibling;\n }\n}\n\nvar NO_CONTEXT = {};\nvar contextStackCursor$1 = createCursor(NO_CONTEXT);\nvar contextFiberStackCursor = createCursor(NO_CONTEXT);\nvar rootInstanceStackCursor = createCursor(NO_CONTEXT);\n\nfunction requiredContext(c) {\n if (c === NO_CONTEXT) {\n throw new Error('Expected host context to exist. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n\n return c;\n}\n\nfunction getRootHostContainer() {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n return rootInstance;\n}\n\nfunction pushHostContainer(fiber, nextRootInstance) {\n // Push current root instance onto the stack;\n // This allows us to reset root when portals are popped.\n push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack.\n // However, we can't just call getRootHostContext() and push it because\n // we'd have a different number of entries on the stack depending on\n // whether getRootHostContext() throws somewhere in renderer code or not.\n // So we push an empty value first. This lets us safely unwind on errors.\n\n push(contextStackCursor$1, NO_CONTEXT, fiber);\n var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it.\n\n pop(contextStackCursor$1, fiber);\n push(contextStackCursor$1, nextRootContext, fiber);\n}\n\nfunction popHostContainer(fiber) {\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n pop(rootInstanceStackCursor, fiber);\n}\n\nfunction getHostContext() {\n var context = requiredContext(contextStackCursor$1.current);\n return context;\n}\n\nfunction pushHostContext(fiber) {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n var context = requiredContext(contextStackCursor$1.current);\n var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique.\n\n if (context === nextContext) {\n return;\n } // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n\n push(contextFiberStackCursor, fiber, fiber);\n push(contextStackCursor$1, nextContext, fiber);\n}\n\nfunction popHostContext(fiber) {\n // Do not pop unless this Fiber provided the current context.\n // pushHostContext() only pushes Fibers that provide unique contexts.\n if (contextFiberStackCursor.current !== fiber) {\n return;\n }\n\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n}\n\nvar DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is\n// inherited deeply down the subtree. The upper bits only affect\n// this immediate suspense boundary and gets reset each new\n// boundary or suspense list.\n\nvar SubtreeSuspenseContextMask = 1; // Subtree Flags:\n// InvisibleParentSuspenseContext indicates that one of our parent Suspense\n// boundaries is not currently showing visible main content.\n// Either because it is already showing a fallback or is not mounted at all.\n// We can use this to determine if it is desirable to trigger a fallback at\n// the parent. If not, then we might need to trigger undesirable boundaries\n// and/or suspend the commit to avoid hiding the parent content.\n\nvar InvisibleParentSuspenseContext = 1; // Shallow Flags:\n// ForceSuspenseFallback can be used by SuspenseList to force newly added\n// items into their fallback state during one of the render passes.\n\nvar ForceSuspenseFallback = 2;\nvar suspenseStackCursor = createCursor(DefaultSuspenseContext);\nfunction hasSuspenseContext(parentContext, flag) {\n return (parentContext & flag) !== 0;\n}\nfunction setDefaultShallowSuspenseContext(parentContext) {\n return parentContext & SubtreeSuspenseContextMask;\n}\nfunction setShallowSuspenseContext(parentContext, shallowContext) {\n return parentContext & SubtreeSuspenseContextMask | shallowContext;\n}\nfunction addSubtreeSuspenseContext(parentContext, subtreeContext) {\n return parentContext | subtreeContext;\n}\nfunction pushSuspenseContext(fiber, newContext) {\n push(suspenseStackCursor, newContext, fiber);\n}\nfunction popSuspenseContext(fiber) {\n pop(suspenseStackCursor, fiber);\n}\n\nfunction shouldCaptureSuspense(workInProgress, hasInvisibleParent) {\n // If it was the primary children that just suspended, capture and render the\n // fallback. Otherwise, don't capture and bubble to the next boundary.\n var nextState = workInProgress.memoizedState;\n\n if (nextState !== null) {\n if (nextState.dehydrated !== null) {\n // A dehydrated boundary always captures.\n return true;\n }\n\n return false;\n }\n\n var props = workInProgress.memoizedProps; // Regular boundaries always capture.\n\n {\n return true;\n } // If it's a boundary we should avoid, then we prefer to bubble up to the\n}\nfunction findFirstSuspended(row) {\n var node = row;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n var dehydrated = state.dehydrated;\n\n if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) {\n return node;\n }\n }\n } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't\n // keep track of whether it suspended or not.\n node.memoizedProps.revealOrder !== undefined) {\n var didSuspend = (node.flags & DidCapture) !== NoFlags;\n\n if (didSuspend) {\n return node;\n }\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === row) {\n return null;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === row) {\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n\n return null;\n}\n\nvar NoFlags$1 =\n/* */\n0; // Represents whether effect should fire.\n\nvar HasEffect =\n/* */\n1; // Represents the phase in which the effect (not the clean-up) fires.\n\nvar Insertion =\n/* */\n2;\nvar Layout =\n/* */\n4;\nvar Passive$1 =\n/* */\n8;\n\n// and should be reset before starting a new render.\n// This tracks which mutable sources need to be reset after a render.\n\nvar workInProgressSources = [];\nfunction resetWorkInProgressVersions() {\n for (var i = 0; i < workInProgressSources.length; i++) {\n var mutableSource = workInProgressSources[i];\n\n {\n mutableSource._workInProgressVersionPrimary = null;\n }\n }\n\n workInProgressSources.length = 0;\n}\n// This ensures that the version used for server rendering matches the one\n// that is eventually read during hydration.\n// If they don't match there's a potential tear and a full deopt render is required.\n\nfunction registerMutableSourceForHydration(root, mutableSource) {\n var getVersion = mutableSource._getVersion;\n var version = getVersion(mutableSource._source); // TODO Clear this data once all pending hydration work is finished.\n // Retaining it forever may interfere with GC.\n\n if (root.mutableSourceEagerHydrationData == null) {\n root.mutableSourceEagerHydrationData = [mutableSource, version];\n } else {\n root.mutableSourceEagerHydrationData.push(mutableSource, version);\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar didWarnAboutMismatchedHooksForComponent;\nvar didWarnUncachedGetSnapshot;\n\n{\n didWarnAboutMismatchedHooksForComponent = new Set();\n}\n\n// These are set right before calling the component.\nvar renderLanes = NoLanes; // The work-in-progress fiber. I've named it differently to distinguish it from\n// the work-in-progress hook.\n\nvar currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The\n// current hook list is the list that belongs to the current fiber. The\n// work-in-progress hook list is a new list that will be added to the\n// work-in-progress fiber.\n\nvar currentHook = null;\nvar workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This\n// does not get reset if we do another render pass; only when we're completely\n// finished evaluating this component. This is an optimization so we know\n// whether we need to clear render phase updates after a throw.\n\nvar didScheduleRenderPhaseUpdate = false; // Where an update was scheduled only during the current render pass. This\n// gets reset after each attempt.\n// TODO: Maybe there's some way to consolidate this with\n// `didScheduleRenderPhaseUpdate`. Or with `numberOfReRenders`.\n\nvar didScheduleRenderPhaseUpdateDuringThisPass = false; // Counts the number of useId hooks in this component.\n\nvar localIdCounter = 0; // Used for ids that are generated completely client-side (i.e. not during\n// hydration). This counter is global, so client ids are not stable across\n// render attempts.\n\nvar globalClientIdCounter = 0;\nvar RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook\n\nvar currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders.\n// The list stores the order of hooks used during the initial render (mount).\n// Subsequent renders (updates) reference this list.\n\nvar hookTypesDev = null;\nvar hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore\n// the dependencies for Hooks that need them (e.g. useEffect or useMemo).\n// When true, such Hooks will always be \"remounted\". Only used during hot reload.\n\nvar ignorePreviousDependencies = false;\n\nfunction mountHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev === null) {\n hookTypesDev = [hookName];\n } else {\n hookTypesDev.push(hookName);\n }\n }\n}\n\nfunction updateHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev !== null) {\n hookTypesUpdateIndexDev++;\n\n if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {\n warnOnHookMismatchInDev(hookName);\n }\n }\n }\n}\n\nfunction checkDepsAreArrayDev(deps) {\n {\n if (deps !== undefined && deps !== null && !isArray(deps)) {\n // Verify deps, but only on mount to avoid extra checks.\n // It's unlikely their type would change as usually you define them inline.\n error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps);\n }\n }\n}\n\nfunction warnOnHookMismatchInDev(currentHookName) {\n {\n var componentName = getComponentNameFromFiber(currentlyRenderingFiber$1);\n\n if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {\n didWarnAboutMismatchedHooksForComponent.add(componentName);\n\n if (hookTypesDev !== null) {\n var table = '';\n var secondColumnStart = 30;\n\n for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {\n var oldHookName = hookTypesDev[i];\n var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;\n var row = i + 1 + \". \" + oldHookName; // Extra space so second column lines up\n // lol @ IE not supporting String#repeat\n\n while (row.length < secondColumnStart) {\n row += ' ';\n }\n\n row += newHookName + '\\n';\n table += row;\n }\n\n error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks\\n\\n' + ' Previous render Next render\\n' + ' ------------------------------------------------------\\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', componentName, table);\n }\n }\n }\n}\n\nfunction throwInvalidHookError() {\n throw new Error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n}\n\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n {\n if (ignorePreviousDependencies) {\n // Only true when this component is being hot reloaded.\n return false;\n }\n }\n\n if (prevDeps === null) {\n {\n error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);\n }\n\n return false;\n }\n\n {\n // Don't bother comparing lengths in prod because these arrays should be\n // passed inline.\n if (nextDeps.length !== prevDeps.length) {\n error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\\n\\n' + 'Previous: %s\\n' + 'Incoming: %s', currentHookNameInDev, \"[\" + prevDeps.join(', ') + \"]\", \"[\" + nextDeps.join(', ') + \"]\");\n }\n }\n\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {\n if (objectIs(nextDeps[i], prevDeps[i])) {\n continue;\n }\n\n return false;\n }\n\n return true;\n}\n\nfunction renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderLanes) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n\n {\n hookTypesDev = current !== null ? current._debugHookTypes : null;\n hookTypesUpdateIndexDev = -1; // Used for hot reloading:\n\n ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;\n }\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = NoLanes; // The following should have already been reset\n // currentHook = null;\n // workInProgressHook = null;\n // didScheduleRenderPhaseUpdate = false;\n // localIdCounter = 0;\n // TODO Warn if no hooks are used at all during mount, then some are used during update.\n // Currently we will identify the update render as a mount because memoizedState === null.\n // This is tricky because it's valid for certain types of components (e.g. React.lazy)\n // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used.\n // Non-stateful hooks (e.g. context) don't get added to memoizedState,\n // so memoizedState would be null during updates and mounts.\n\n {\n if (current !== null && current.memoizedState !== null) {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV;\n } else if (hookTypesDev !== null) {\n // This dispatcher handles an edge case where a component is updating,\n // but no stateful hooks have been used.\n // We want to match the production code behavior (which will use HooksDispatcherOnMount),\n // but with the extra DEV validation to ensure hooks ordering hasn't changed.\n // This dispatcher does that.\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountWithHookTypesInDEV;\n } else {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV;\n }\n }\n\n var children = Component(props, secondArg); // Check if there was a render phase update\n\n if (didScheduleRenderPhaseUpdateDuringThisPass) {\n // Keep rendering in a loop for as long as render phase updates continue to\n // be scheduled. Use a counter to prevent infinite loops.\n var numberOfReRenders = 0;\n\n do {\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n\n if (numberOfReRenders >= RE_RENDER_LIMIT) {\n throw new Error('Too many re-renders. React limits the number of renders to prevent ' + 'an infinite loop.');\n }\n\n numberOfReRenders += 1;\n\n {\n // Even when hot reloading, allow dependencies to stabilize\n // after first render to prevent infinite render phase updates.\n ignorePreviousDependencies = false;\n } // Start over from the beginning of the list\n\n\n currentHook = null;\n workInProgressHook = null;\n workInProgress.updateQueue = null;\n\n {\n // Also validate hook order for cascading updates.\n hookTypesUpdateIndexDev = -1;\n }\n\n ReactCurrentDispatcher$1.current = HooksDispatcherOnRerenderInDEV ;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n } // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n\n\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n {\n workInProgress._debugHookTypes = hookTypesDev;\n } // This check uses currentHook so that it works the same in DEV and prod bundles.\n // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.\n\n\n var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n currentHookNameInDev = null;\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1; // Confirm that a static flag was not added or removed since the last\n // render. If this fires, it suggests that we incorrectly reset the static\n // flags in some other part of the codebase. This has happened before, for\n // example, in the SuspenseList implementation.\n\n if (current !== null && (current.flags & StaticMask) !== (workInProgress.flags & StaticMask) && // Disable this warning in legacy mode, because legacy Suspense is weird\n // and creates false positives. To make this work in legacy mode, we'd\n // need to mark fibers that commit in an incomplete state, somehow. For\n // now I'll disable the warning that most of the bugs that would trigger\n // it are either exclusive to concurrent mode or exist in both.\n (current.mode & ConcurrentMode) !== NoMode) {\n error('Internal React error: Expected static flag was missing. Please ' + 'notify the React team.');\n }\n }\n\n didScheduleRenderPhaseUpdate = false; // This is reset by checkDidRenderIdHook\n // localIdCounter = 0;\n\n if (didRenderTooFewHooks) {\n throw new Error('Rendered fewer hooks than expected. This may be caused by an accidental ' + 'early return statement.');\n }\n\n return children;\n}\nfunction checkDidRenderIdHook() {\n // This should be called immediately after every renderWithHooks call.\n // Conceptually, it's part of the return value of renderWithHooks; it's only a\n // separate function to avoid using an array tuple.\n var didRenderIdHook = localIdCounter !== 0;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the\n // complete phase (bubbleProperties).\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags &= ~(MountPassiveDev | MountLayoutDev | Passive | Update);\n } else {\n workInProgress.flags &= ~(Passive | Update);\n }\n\n current.lanes = removeLanes(current.lanes, lanes);\n}\nfunction resetHooksAfterThrow() {\n // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n if (didScheduleRenderPhaseUpdate) {\n // There were render phase updates. These are only valid for this render\n // phase, which we are now aborting. Remove the updates from the queues so\n // they do not persist to the next render. Do not remove updates from hooks\n // that weren't processed.\n //\n // Only reset the updates from the queue if it has a clone. If it does\n // not have a clone, that means it wasn't processed, and the updates were\n // scheduled before we entered the render phase.\n var hook = currentlyRenderingFiber$1.memoizedState;\n\n while (hook !== null) {\n var queue = hook.queue;\n\n if (queue !== null) {\n queue.pending = null;\n }\n\n hook = hook.next;\n }\n\n didScheduleRenderPhaseUpdate = false;\n }\n\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1;\n currentHookNameInDev = null;\n isUpdatingOpaqueValueInRenderPhase = false;\n }\n\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n}\n\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook;\n } else {\n // Append to the end of the list\n workInProgressHook = workInProgressHook.next = hook;\n }\n\n return workInProgressHook;\n}\n\nfunction updateWorkInProgressHook() {\n // This function is used both for updates and for re-renders triggered by a\n // render phase update. It assumes there is either a current hook we can\n // clone, or a work-in-progress hook from a previous render pass that we can\n // use as a base. When we reach the end of the base list, we must switch to\n // the dispatcher used for mounts.\n var nextCurrentHook;\n\n if (currentHook === null) {\n var current = currentlyRenderingFiber$1.alternate;\n\n if (current !== null) {\n nextCurrentHook = current.memoizedState;\n } else {\n nextCurrentHook = null;\n }\n } else {\n nextCurrentHook = currentHook.next;\n }\n\n var nextWorkInProgressHook;\n\n if (workInProgressHook === null) {\n nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState;\n } else {\n nextWorkInProgressHook = workInProgressHook.next;\n }\n\n if (nextWorkInProgressHook !== null) {\n // There's already a work-in-progress. Reuse it.\n workInProgressHook = nextWorkInProgressHook;\n nextWorkInProgressHook = workInProgressHook.next;\n currentHook = nextCurrentHook;\n } else {\n // Clone from the current hook.\n if (nextCurrentHook === null) {\n throw new Error('Rendered more hooks than during the previous render.');\n }\n\n currentHook = nextCurrentHook;\n var newHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list.\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook;\n } else {\n // Append to the end of the list.\n workInProgressHook = workInProgressHook.next = newHook;\n }\n }\n\n return workInProgressHook;\n}\n\nfunction createFunctionComponentUpdateQueue() {\n return {\n lastEffect: null,\n stores: null\n };\n}\n\nfunction basicStateReducer(state, action) {\n // $FlowFixMe: Flow doesn't like mixed types\n return typeof action === 'function' ? action(state) : action;\n}\n\nfunction mountReducer(reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n var initialState;\n\n if (init !== undefined) {\n initialState = init(initialArg);\n } else {\n initialState = initialArg;\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchReducerAction.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer;\n var current = currentHook; // The last rebase update that is NOT part of the base state.\n\n var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet.\n\n var pendingQueue = queue.pending;\n\n if (pendingQueue !== null) {\n // We have new updates that haven't been processed yet.\n // We'll add them to the base queue.\n if (baseQueue !== null) {\n // Merge the pending queue and the base queue.\n var baseFirst = baseQueue.next;\n var pendingFirst = pendingQueue.next;\n baseQueue.next = pendingFirst;\n pendingQueue.next = baseFirst;\n }\n\n {\n if (current.baseQueue !== baseQueue) {\n // Internal invariant that should never happen, but feasibly could in\n // the future if we implement resuming, or some form of that.\n error('Internal error: Expected work-in-progress queue to be a clone. ' + 'This is a bug in React.');\n }\n }\n\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n\n if (baseQueue !== null) {\n // We have a queue to process.\n var first = baseQueue.next;\n var newState = current.baseState;\n var newBaseState = null;\n var newBaseQueueFirst = null;\n var newBaseQueueLast = null;\n var update = first;\n\n do {\n var updateLane = update.lane;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n lane: updateLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n\n if (newBaseQueueLast === null) {\n newBaseQueueFirst = newBaseQueueLast = clone;\n newBaseState = newState;\n } else {\n newBaseQueueLast = newBaseQueueLast.next = clone;\n } // Update the remaining priority in the queue.\n // TODO: Don't need to accumulate this. Instead, we can remove\n // renderLanes from the original lanes.\n\n\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, updateLane);\n markSkippedUpdateLanes(updateLane);\n } else {\n // This update does have sufficient priority.\n if (newBaseQueueLast !== null) {\n var _clone = {\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n newBaseQueueLast = newBaseQueueLast.next = _clone;\n } // Process this update.\n\n\n if (update.hasEagerState) {\n // If this update is a state update (not a reducer) and was processed eagerly,\n // we can use the eagerly computed state\n newState = update.eagerState;\n } else {\n var action = update.action;\n newState = reducer(newState, action);\n }\n }\n\n update = update.next;\n } while (update !== null && update !== first);\n\n if (newBaseQueueLast === null) {\n newBaseState = newState;\n } else {\n newBaseQueueLast.next = newBaseQueueFirst;\n } // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState;\n hook.baseState = newBaseState;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = newState;\n } // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n\n var lastInterleaved = queue.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n var interleavedLane = interleaved.lane;\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, interleavedLane);\n markSkippedUpdateLanes(interleavedLane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (baseQueue === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.lanes = NoLanes;\n }\n\n var dispatch = queue.dispatch;\n return [hook.memoizedState, dispatch];\n}\n\nfunction rerenderReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous\n // work-in-progress hook.\n\n var dispatch = queue.dispatch;\n var lastRenderPhaseUpdate = queue.pending;\n var newState = hook.memoizedState;\n\n if (lastRenderPhaseUpdate !== null) {\n // The queue doesn't persist past this render pass.\n queue.pending = null;\n var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next;\n var update = firstRenderPhaseUpdate;\n\n do {\n // Process this render phase update. We don't have to check the\n // priority because it will always be the same as the current\n // render's.\n var action = update.action;\n newState = reducer(newState, action);\n update = update.next;\n } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to\n // the base state unless the queue is empty.\n // TODO: Not sure if this is the desired semantics, but it's what we\n // do for gDSFP. I can't remember why.\n\n if (hook.baseQueue === null) {\n hook.baseState = newState;\n }\n\n queue.lastRenderedState = newState;\n }\n\n return [newState, dispatch];\n}\n\nfunction mountMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction updateMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = mountWorkInProgressHook();\n var nextSnapshot;\n var isHydrating = getIsHydrating();\n\n if (isHydrating) {\n if (getServerSnapshot === undefined) {\n throw new Error('Missing getServerSnapshot, which is required for ' + 'server-rendered content. Will revert to client rendering.');\n }\n\n nextSnapshot = getServerSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n if (nextSnapshot !== getServerSnapshot()) {\n error('The result of getServerSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n } else {\n nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n //\n // We won't do this if we're hydrating server-rendered content, because if\n // the content is stale, it's already visible anyway. Instead we'll patch\n // it up in a passive effect.\n\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n } // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n\n hook.memoizedState = nextSnapshot;\n var inst = {\n value: nextSnapshot,\n getSnapshot: getSnapshot\n };\n hook.queue = inst; // Schedule an effect to subscribe to the store.\n\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Schedule an effect to update the mutable instance fields. We will update\n // this whenever subscribe, getSnapshot, or value changes. Because there's no\n // clean-up function, and we track the deps correctly, we can call pushEffect\n // directly, without storing any additional state. For the same reason, we\n // don't need to set a static flag, either.\n // TODO: We can move this to the passive phase once we add a pre-commit\n // consistency check. See the next comment.\n\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null);\n return nextSnapshot;\n}\n\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = updateWorkInProgressHook(); // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n var nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n var prevSnapshot = hook.memoizedState;\n var snapshotChanged = !objectIs(prevSnapshot, nextSnapshot);\n\n if (snapshotChanged) {\n hook.memoizedState = nextSnapshot;\n markWorkInProgressReceivedUpdate();\n }\n\n var inst = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (inst.getSnapshot !== getSnapshot || snapshotChanged || // Check if the susbcribe function changed. We can save some memory by\n // checking whether we scheduled a subscription effect above.\n workInProgressHook !== null && workInProgressHook.memoizedState.tag & HasEffect) {\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null); // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n }\n\n return nextSnapshot;\n}\n\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= StoreConsistency;\n var check = {\n getSnapshot: getSnapshot,\n value: renderedSnapshot\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.stores = [check];\n } else {\n var stores = componentUpdateQueue.stores;\n\n if (stores === null) {\n componentUpdateQueue.stores = [check];\n } else {\n stores.push(check);\n }\n }\n}\n\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n // These are updated in the passive phase\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot; // Something may have been mutated in between render and commit. This could\n // have been in an event that fired before the passive effects, or it could\n // have been in a layout effect. In that case, we would have used the old\n // snapsho and getSnapshot values to bail out. We need to check one more time.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n}\n\nfunction subscribeToStore(fiber, inst, subscribe) {\n var handleStoreChange = function () {\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n}\n\nfunction mountState(initialState) {\n var hook = mountWorkInProgressHook();\n\n if (typeof initialState === 'function') {\n // $FlowFixMe: Flow doesn't like mixed types\n initialState = initialState();\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateState(initialState) {\n return updateReducer(basicStateReducer);\n}\n\nfunction rerenderState(initialState) {\n return rerenderReducer(basicStateReducer);\n}\n\nfunction pushEffect(tag, create, destroy, deps) {\n var effect = {\n tag: tag,\n create: create,\n destroy: destroy,\n deps: deps,\n // Circular\n next: null\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var lastEffect = componentUpdateQueue.lastEffect;\n\n if (lastEffect === null) {\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var firstEffect = lastEffect.next;\n lastEffect.next = effect;\n effect.next = firstEffect;\n componentUpdateQueue.lastEffect = effect;\n }\n }\n\n return effect;\n}\n\nfunction mountRef(initialValue) {\n var hook = mountWorkInProgressHook();\n\n {\n var _ref2 = {\n current: initialValue\n };\n hook.memoizedState = _ref2;\n return _ref2;\n }\n}\n\nfunction updateRef(initialValue) {\n var hook = updateWorkInProgressHook();\n return hook.memoizedState;\n}\n\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, undefined, nextDeps);\n}\n\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var destroy = undefined;\n\n if (currentHook !== null) {\n var prevEffect = currentHook.memoizedState;\n destroy = prevEffect.destroy;\n\n if (nextDeps !== null) {\n var prevDeps = prevEffect.deps;\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n hook.memoizedState = pushEffect(hookFlags, create, destroy, nextDeps);\n return;\n }\n }\n }\n\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, destroy, nextDeps);\n}\n\nfunction mountEffect(create, deps) {\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n return mountEffectImpl(MountPassiveDev | Passive | PassiveStatic, Passive$1, create, deps);\n } else {\n return mountEffectImpl(Passive | PassiveStatic, Passive$1, create, deps);\n }\n}\n\nfunction updateEffect(create, deps) {\n return updateEffectImpl(Passive, Passive$1, create, deps);\n}\n\nfunction mountInsertionEffect(create, deps) {\n return mountEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction mountLayoutEffect(create, deps) {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, create, deps);\n}\n\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(Update, Layout, create, deps);\n}\n\nfunction imperativeHandleEffect(create, ref) {\n if (typeof ref === 'function') {\n var refCallback = ref;\n\n var _inst = create();\n\n refCallback(_inst);\n return function () {\n refCallback(null);\n };\n } else if (ref !== null && ref !== undefined) {\n var refObject = ref;\n\n {\n if (!refObject.hasOwnProperty('current')) {\n error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}');\n }\n }\n\n var _inst2 = create();\n\n refObject.current = _inst2;\n return function () {\n refObject.current = null;\n };\n }\n}\n\nfunction mountImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction updateImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction mountDebugValue(value, formatterFn) {// This hook is normally a no-op.\n // The react-debug-hooks package injects its own implementation\n // so that e.g. DevTools can display custom hook values.\n}\n\nvar updateDebugValue = mountDebugValue;\n\nfunction mountCallback(callback, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction mountMemo(nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n // Assume these are defined. If they're not, areHookInputsEqual will warn.\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction mountDeferredValue(value) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = value;\n return value;\n}\n\nfunction updateDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n var resolvedCurrentHook = currentHook;\n var prevValue = resolvedCurrentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n}\n\nfunction rerenderDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n\n if (currentHook === null) {\n // This is a rerender during a mount.\n hook.memoizedState = value;\n return value;\n } else {\n // This is a rerender during an update.\n var prevValue = currentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n }\n}\n\nfunction updateDeferredValueImpl(hook, prevValue, value) {\n var shouldDeferValue = !includesOnlyNonUrgentLanes(renderLanes);\n\n if (shouldDeferValue) {\n // This is an urgent update. If the value has changed, keep using the\n // previous value and spawn a deferred render to update it later.\n if (!objectIs(value, prevValue)) {\n // Schedule a deferred render\n var deferredLane = claimNextTransitionLane();\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, deferredLane);\n markSkippedUpdateLanes(deferredLane); // Set this to true to indicate that the rendered value is inconsistent\n // from the latest value. The name \"baseState\" doesn't really match how we\n // use it because we're reusing a state hook field instead of creating a\n // new one.\n\n hook.baseState = true;\n } // Reuse the previous value\n\n\n return prevValue;\n } else {\n // This is not an urgent update, so we can use the latest value regardless\n // of what it is. No need to defer it.\n // However, if we're currently inside a spawned render, then we need to mark\n // this as an update to prevent the fiber from bailing out.\n //\n // `baseState` is true when the current value is different from the rendered\n // value. The name doesn't really match how we use it because we're reusing\n // a state hook field instead of creating a new one.\n if (hook.baseState) {\n // Flip this back to false.\n hook.baseState = false;\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = value;\n return value;\n }\n}\n\nfunction startTransition(setPending, callback, options) {\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(higherEventPriority(previousPriority, ContinuousEventPriority));\n setPending(true);\n var prevTransition = ReactCurrentBatchConfig$2.transition;\n ReactCurrentBatchConfig$2.transition = {};\n var currentTransition = ReactCurrentBatchConfig$2.transition;\n\n {\n ReactCurrentBatchConfig$2.transition._updatedFibers = new Set();\n }\n\n try {\n setPending(false);\n callback();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$2.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nfunction mountTransition() {\n var _mountState = mountState(false),\n isPending = _mountState[0],\n setPending = _mountState[1]; // The `start` method never changes.\n\n\n var start = startTransition.bind(null, setPending);\n var hook = mountWorkInProgressHook();\n hook.memoizedState = start;\n return [isPending, start];\n}\n\nfunction updateTransition() {\n var _updateState = updateState(),\n isPending = _updateState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nfunction rerenderTransition() {\n var _rerenderState = rerenderState(),\n isPending = _rerenderState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nvar isUpdatingOpaqueValueInRenderPhase = false;\nfunction getIsUpdatingOpaqueValueInRenderPhaseInDEV() {\n {\n return isUpdatingOpaqueValueInRenderPhase;\n }\n}\n\nfunction mountId() {\n var hook = mountWorkInProgressHook();\n var root = getWorkInProgressRoot(); // TODO: In Fizz, id generation is specific to each server config. Maybe we\n // should do this in Fiber, too? Deferring this decision for now because\n // there's no other place to store the prefix except for an internal field on\n // the public createRoot object, which the fiber tree does not currently have\n // a reference to.\n\n var identifierPrefix = root.identifierPrefix;\n var id;\n\n if (getIsHydrating()) {\n var treeId = getTreeId(); // Use a captial R prefix for server-generated ids.\n\n id = ':' + identifierPrefix + 'R' + treeId; // Unless this is the first id at this level, append a number at the end\n // that represents the position of this useId hook among all the useId\n // hooks for this fiber.\n\n var localId = localIdCounter++;\n\n if (localId > 0) {\n id += 'H' + localId.toString(32);\n }\n\n id += ':';\n } else {\n // Use a lowercase r prefix for client-generated ids.\n var globalClientId = globalClientIdCounter++;\n id = ':' + identifierPrefix + 'r' + globalClientId.toString(32) + ':';\n }\n\n hook.memoizedState = id;\n return id;\n}\n\nfunction updateId() {\n var hook = updateWorkInProgressHook();\n var id = hook.memoizedState;\n return id;\n}\n\nfunction dispatchReducerAction(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction dispatchSetState(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var alternate = fiber.alternate;\n\n if (fiber.lanes === NoLanes && (alternate === null || alternate.lanes === NoLanes)) {\n // The queue is currently empty, which means we can eagerly compute the\n // next state before entering the render phase. If the new state is the\n // same as the current state, we may be able to bail out entirely.\n var lastRenderedReducer = queue.lastRenderedReducer;\n\n if (lastRenderedReducer !== null) {\n var prevDispatcher;\n\n {\n prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n }\n\n try {\n var currentState = queue.lastRenderedState;\n var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute\n // it, on the update object. If the reducer hasn't changed by the\n // time we enter the render phase, then the eager state can be used\n // without calling the reducer again.\n\n update.hasEagerState = true;\n update.eagerState = eagerState;\n\n if (objectIs(eagerState, currentState)) {\n // Fast path. We can bail out without scheduling React to re-render.\n // It's still possible that we'll need to rebase this update later,\n // if the component re-renders for a different reason and by that\n // time the reducer has changed.\n // TODO: Do we still need to entangle transitions in this case?\n enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane);\n return;\n }\n } catch (error) {// Suppress the error. It will throw again in the render phase.\n } finally {\n {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n }\n }\n }\n\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1;\n}\n\nfunction enqueueRenderPhaseUpdate(queue, update) {\n // This is a render phase update. Stash it in a lazily-created map of\n // queue -> linked list of updates. After this render pass, we'll restart\n // and apply the stashed updates on top of the work-in-progress hook.\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;\n var pending = queue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n queue.pending = update;\n} // TODO: Move to ReactFiberConcurrentUpdates?\n\n\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (isTransitionLane(lane)) {\n var queueLanes = queue.lanes; // If any entangled lanes are no longer pending on the root, then they\n // must have finished. We can remove them from the shared queue, which\n // represents a superset of the actually pending lanes. In some cases we\n // may entangle more than we need to, but that's OK. In fact it's worse if\n // we *don't* entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n queue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\n\nfunction markUpdateInDevTools(fiber, lane, action) {\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n}\n\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useMutableSource: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n unstable_isNewReconciler: enableNewReconciler\n};\n\nvar HooksDispatcherOnMountInDEV = null;\nvar HooksDispatcherOnMountWithHookTypesInDEV = null;\nvar HooksDispatcherOnUpdateInDEV = null;\nvar HooksDispatcherOnRerenderInDEV = null;\nvar InvalidNestedHooksDispatcherOnMountInDEV = null;\nvar InvalidNestedHooksDispatcherOnUpdateInDEV = null;\nvar InvalidNestedHooksDispatcherOnRerenderInDEV = null;\n\n{\n var warnInvalidContextAccess = function () {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n };\n\n var warnInvalidHookAccess = function () {\n error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://reactjs.org/link/rules-of-hooks');\n };\n\n HooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnMountWithHookTypesInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n}\n\nvar now$1 = Scheduler.unstable_now;\nvar commitTime = 0;\nvar layoutEffectStartTime = -1;\nvar profilerStartTime = -1;\nvar passiveEffectStartTime = -1;\n/**\n * Tracks whether the current update was a nested/cascading update (scheduled from a layout effect).\n *\n * The overall sequence is:\n * 1. render\n * 2. commit (and call `onRender`, `onCommit`)\n * 3. check for nested updates\n * 4. flush passive effects (and call `onPostCommit`)\n *\n * Nested updates are identified in step 3 above,\n * but step 4 still applies to the work that was just committed.\n * We use two flags to track nested updates then:\n * one tracks whether the upcoming update is a nested update,\n * and the other tracks whether the current update was a nested update.\n * The first value gets synced to the second at the start of the render phase.\n */\n\nvar currentUpdateIsNested = false;\nvar nestedUpdateScheduled = false;\n\nfunction isCurrentUpdateNested() {\n return currentUpdateIsNested;\n}\n\nfunction markNestedUpdateScheduled() {\n {\n nestedUpdateScheduled = true;\n }\n}\n\nfunction resetNestedUpdateFlag() {\n {\n currentUpdateIsNested = false;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction syncNestedUpdateFlag() {\n {\n currentUpdateIsNested = nestedUpdateScheduled;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction getCommitTime() {\n return commitTime;\n}\n\nfunction recordCommitTime() {\n\n commitTime = now$1();\n}\n\nfunction startProfilerTimer(fiber) {\n\n profilerStartTime = now$1();\n\n if (fiber.actualStartTime < 0) {\n fiber.actualStartTime = now$1();\n }\n}\n\nfunction stopProfilerTimerIfRunning(fiber) {\n\n profilerStartTime = -1;\n}\n\nfunction stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) {\n\n if (profilerStartTime >= 0) {\n var elapsedTime = now$1() - profilerStartTime;\n fiber.actualDuration += elapsedTime;\n\n if (overrideBaseTime) {\n fiber.selfBaseDuration = elapsedTime;\n }\n\n profilerStartTime = -1;\n }\n}\n\nfunction recordLayoutEffectDuration(fiber) {\n\n if (layoutEffectStartTime >= 0) {\n var elapsedTime = now$1() - layoutEffectStartTime;\n layoutEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += elapsedTime;\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += elapsedTime;\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction recordPassiveEffectDuration(fiber) {\n\n if (passiveEffectStartTime >= 0) {\n var elapsedTime = now$1() - passiveEffectStartTime;\n passiveEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n\n if (root !== null) {\n root.passiveEffectDuration += elapsedTime;\n }\n\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n\n if (parentStateNode !== null) {\n // Detached fibers have their state node cleared out.\n // In this case, the return pointer is also cleared out,\n // so we won't be able to report the time spent in this Profiler's subtree.\n parentStateNode.passiveEffectDuration += elapsedTime;\n }\n\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction startLayoutEffectTimer() {\n\n layoutEffectStartTime = now$1();\n}\n\nfunction startPassiveEffectTimer() {\n\n passiveEffectStartTime = now$1();\n}\n\nfunction transferActualDuration(fiber) {\n // Transfer time spent rendering these children so we don't lose it\n // after we rerender. This is used as a helper in special cases\n // where we should count the work of multiple passes.\n var child = fiber.child;\n\n while (child) {\n fiber.actualDuration += child.actualDuration;\n child = child.sibling;\n }\n}\n\nfunction createCapturedValueAtFiber(value, source) {\n // If the value is an error, call this function immediately after it is thrown\n // so the stack is accurate.\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source),\n digest: null\n };\n}\nfunction createCapturedValue(value, digest, stack) {\n return {\n value: value,\n source: null,\n stack: stack != null ? stack : null,\n digest: digest != null ? digest : null\n };\n}\n\n// This module is forked in different environments.\n// By default, return `true` to log errors to the console.\n// Forks can return `false` if this isn't desirable.\nfunction showErrorDialog(boundary, errorInfo) {\n return true;\n}\n\nfunction logCapturedError(boundary, errorInfo) {\n try {\n var logError = showErrorDialog(boundary, errorInfo); // Allow injected showErrorDialog() to prevent default console.error logging.\n // This enables renderers like ReactNative to better manage redbox behavior.\n\n if (logError === false) {\n return;\n }\n\n var error = errorInfo.value;\n\n if (true) {\n var source = errorInfo.source;\n var stack = errorInfo.stack;\n var componentStack = stack !== null ? stack : ''; // Browsers support silencing uncaught errors by calling\n // `preventDefault()` in window `error` handler.\n // We record this information as an expando on the error.\n\n if (error != null && error._suppressLogging) {\n if (boundary.tag === ClassComponent) {\n // The error is recoverable and was silenced.\n // Ignore it and don't print the stack addendum.\n // This is handy for testing error boundaries without noise.\n return;\n } // The error is fatal. Since the silencing might have\n // been accidental, we'll surface it anyway.\n // However, the browser would have silenced the original error\n // so we'll print it first, and then print the stack addendum.\n\n\n console['error'](error); // Don't transform to our wrapper\n // For a more detailed description of this block, see:\n // https://github.com/facebook/react/pull/13384\n }\n\n var componentName = source ? getComponentNameFromFiber(source) : null;\n var componentNameMessage = componentName ? \"The above error occurred in the <\" + componentName + \"> component:\" : 'The above error occurred in one of your React components:';\n var errorBoundaryMessage;\n\n if (boundary.tag === HostRoot) {\n errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\\n' + 'Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.';\n } else {\n var errorBoundaryName = getComponentNameFromFiber(boundary) || 'Anonymous';\n errorBoundaryMessage = \"React will try to recreate this component tree from scratch \" + (\"using the error boundary you provided, \" + errorBoundaryName + \".\");\n }\n\n var combinedMessage = componentNameMessage + \"\\n\" + componentStack + \"\\n\\n\" + (\"\" + errorBoundaryMessage); // In development, we provide our own message with just the component stack.\n // We don't include the original error message and JS stack because the browser\n // has already printed it. Even if the application swallows the error, it is still\n // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils.\n\n console['error'](combinedMessage); // Don't transform to our wrapper\n } else {}\n } catch (e) {\n // This method must not throw, or React internal state will get messed up.\n // If console.error is overridden, or logCapturedError() shows a dialog that throws,\n // we want to report this error outside of the normal stack as a last resort.\n // https://github.com/facebook/react/issues/13188\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nvar PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map;\n\nfunction createRootErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane); // Unmount the root by rendering null.\n\n update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: null\n };\n var error = errorInfo.value;\n\n update.callback = function () {\n onUncaughtError(error);\n logCapturedError(fiber, errorInfo);\n };\n\n return update;\n}\n\nfunction createClassErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane);\n update.tag = CaptureUpdate;\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n\n if (typeof getDerivedStateFromError === 'function') {\n var error$1 = errorInfo.value;\n\n update.payload = function () {\n return getDerivedStateFromError(error$1);\n };\n\n update.callback = function () {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n };\n }\n\n var inst = fiber.stateNode;\n\n if (inst !== null && typeof inst.componentDidCatch === 'function') {\n update.callback = function callback() {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n\n if (typeof getDerivedStateFromError !== 'function') {\n // To preserve the preexisting retry behavior of error boundaries,\n // we keep track of which ones already failed during this batch.\n // This gets reset before we yield back to the browser.\n // TODO: Warn in strict mode if getDerivedStateFromError is\n // not defined.\n markLegacyErrorBoundaryAsFailed(this);\n }\n\n var error$1 = errorInfo.value;\n var stack = errorInfo.stack;\n this.componentDidCatch(error$1, {\n componentStack: stack !== null ? stack : ''\n });\n\n {\n if (typeof getDerivedStateFromError !== 'function') {\n // If componentDidCatch is the only error boundary method defined,\n // then it needs to call setState to recover from errors.\n // If no state update is scheduled then the boundary will swallow the error.\n if (!includesSomeLane(fiber.lanes, SyncLane)) {\n error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentNameFromFiber(fiber) || 'Unknown');\n }\n }\n }\n };\n }\n\n return update;\n}\n\nfunction attachPingListener(root, wakeable, lanes) {\n // Attach a ping listener\n //\n // The data might resolve before we have a chance to commit the fallback. Or,\n // in the case of a refresh, we'll never commit a fallback. So we need to\n // attach a listener now. When it resolves (\"pings\"), we can decide whether to\n // try rendering the tree again.\n //\n // Only attach a listener if one does not already exist for the lanes\n // we're currently rendering (which acts like a \"thread ID\" here).\n //\n // We only need to do this in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n var pingCache = root.pingCache;\n var threadIDs;\n\n if (pingCache === null) {\n pingCache = root.pingCache = new PossiblyWeakMap$1();\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else {\n threadIDs = pingCache.get(wakeable);\n\n if (threadIDs === undefined) {\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n }\n }\n\n if (!threadIDs.has(lanes)) {\n // Memoize using the thread ID to prevent redundant listeners.\n threadIDs.add(lanes);\n var ping = pingSuspendedRoot.bind(null, root, wakeable, lanes);\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, lanes);\n }\n }\n\n wakeable.then(ping, ping);\n }\n}\n\nfunction attachRetryListener(suspenseBoundary, root, wakeable, lanes) {\n // Retry listener\n //\n // If the fallback does commit, we need to attach a different type of\n // listener. This one schedules an update on the Suspense boundary to turn\n // the fallback state off.\n //\n // Stash the wakeable on the boundary fiber so we can access it in the\n // commit phase.\n //\n // When the wakeable resolves, we'll attempt to render the boundary\n // again (\"retry\").\n var wakeables = suspenseBoundary.updateQueue;\n\n if (wakeables === null) {\n var updateQueue = new Set();\n updateQueue.add(wakeable);\n suspenseBoundary.updateQueue = updateQueue;\n } else {\n wakeables.add(wakeable);\n }\n}\n\nfunction resetSuspendedComponent(sourceFiber, rootRenderLanes) {\n // A legacy mode Suspense quirk, only relevant to hook components.\n\n\n var tag = sourceFiber.tag;\n\n if ((sourceFiber.mode & ConcurrentMode) === NoMode && (tag === FunctionComponent || tag === ForwardRef || tag === SimpleMemoComponent)) {\n var currentSource = sourceFiber.alternate;\n\n if (currentSource) {\n sourceFiber.updateQueue = currentSource.updateQueue;\n sourceFiber.memoizedState = currentSource.memoizedState;\n sourceFiber.lanes = currentSource.lanes;\n } else {\n sourceFiber.updateQueue = null;\n sourceFiber.memoizedState = null;\n }\n }\n}\n\nfunction getNearestSuspenseBoundaryToCapture(returnFiber) {\n var node = returnFiber;\n\n do {\n if (node.tag === SuspenseComponent && shouldCaptureSuspense(node)) {\n return node;\n } // This boundary already captured during this render. Continue to the next\n // boundary.\n\n\n node = node.return;\n } while (node !== null);\n\n return null;\n}\n\nfunction markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes) {\n // This marks a Suspense boundary so that when we're unwinding the stack,\n // it captures the suspended \"exception\" and does a second (fallback) pass.\n if ((suspenseBoundary.mode & ConcurrentMode) === NoMode) {\n // Legacy Mode Suspense\n //\n // If the boundary is in legacy mode, we should *not*\n // suspend the commit. Pretend as if the suspended component rendered\n // null and keep rendering. When the Suspense boundary completes,\n // we'll do a second pass to render the fallback.\n if (suspenseBoundary === returnFiber) {\n // Special case where we suspended while reconciling the children of\n // a Suspense boundary's inner Offscreen wrapper fiber. This happens\n // when a React.lazy component is a direct child of a\n // Suspense boundary.\n //\n // Suspense boundaries are implemented as multiple fibers, but they\n // are a single conceptual unit. The legacy mode behavior where we\n // pretend the suspended fiber committed as `null` won't work,\n // because in this case the \"suspended\" fiber is the inner\n // Offscreen wrapper.\n //\n // Because the contents of the boundary haven't started rendering\n // yet (i.e. nothing in the tree has partially rendered) we can\n // switch to the regular, concurrent mode behavior: mark the\n // boundary with ShouldCapture and enter the unwind phase.\n suspenseBoundary.flags |= ShouldCapture;\n } else {\n suspenseBoundary.flags |= DidCapture;\n sourceFiber.flags |= ForceUpdateForLegacySuspense; // We're going to commit this fiber even though it didn't complete.\n // But we shouldn't call any lifecycle methods or callbacks. Remove\n // all lifecycle effect tags.\n\n sourceFiber.flags &= ~(LifecycleEffectMask | Incomplete);\n\n if (sourceFiber.tag === ClassComponent) {\n var currentSourceFiber = sourceFiber.alternate;\n\n if (currentSourceFiber === null) {\n // This is a new mount. Change the tag so it's not mistaken for a\n // completed class component. For example, we should not call\n // componentWillUnmount if it is deleted.\n sourceFiber.tag = IncompleteClassComponent;\n } else {\n // When we try rendering again, we should not reuse the current fiber,\n // since it's known to be in an inconsistent state. Use a force update to\n // prevent a bail out.\n var update = createUpdate(NoTimestamp, SyncLane);\n update.tag = ForceUpdate;\n enqueueUpdate(sourceFiber, update, SyncLane);\n }\n } // The source fiber did not complete. Mark it with Sync priority to\n // indicate that it still has pending work.\n\n\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, SyncLane);\n }\n\n return suspenseBoundary;\n } // Confirmed that the boundary is in a concurrent mode tree. Continue\n // with the normal suspend path.\n //\n // After this we'll use a set of heuristics to determine whether this\n // render pass will run to completion or restart or \"suspend\" the commit.\n // The actual logic for this is spread out in different places.\n //\n // This first principle is that if we're going to suspend when we complete\n // a root, then we should also restart if we get an update or ping that\n // might unsuspend it, and vice versa. The only reason to suspend is\n // because you think you might want to restart before committing. However,\n // it doesn't make sense to restart only while in the period we're suspended.\n //\n // Restarting too aggressively is also not good because it starves out any\n // intermediate loading state. So we use heuristics to determine when.\n // Suspense Heuristics\n //\n // If nothing threw a Promise or all the same fallbacks are already showing,\n // then don't suspend/restart.\n //\n // If this is an initial render of a new tree of Suspense boundaries and\n // those trigger a fallback, then don't suspend/restart. We want to ensure\n // that we can show the initial loading state as quickly as possible.\n //\n // If we hit a \"Delayed\" case, such as when we'd switch from content back into\n // a fallback, then we should always suspend/restart. Transitions apply\n // to this case. If none is defined, JND is used instead.\n //\n // If we're already showing a fallback and it gets \"retried\", allowing us to show\n // another level, but there's still an inner boundary that would show a fallback,\n // then we suspend/restart for 500ms since the last time we showed a fallback\n // anywhere in the tree. This effectively throttles progressive loading into a\n // consistent train of commits. This also gives us an opportunity to restart to\n // get to the completed state slightly earlier.\n //\n // If there's ambiguity due to batching it's resolved in preference of:\n // 1) \"delayed\", 2) \"initial render\", 3) \"retry\".\n //\n // We want to ensure that a \"busy\" state doesn't get force committed. We want to\n // ensure that new initial loading states can commit as soon as possible.\n\n\n suspenseBoundary.flags |= ShouldCapture; // TODO: I think we can remove this, since we now use `DidCapture` in\n // the begin phase to prevent an early bailout.\n\n suspenseBoundary.lanes = rootRenderLanes;\n return suspenseBoundary;\n}\n\nfunction throwException(root, returnFiber, sourceFiber, value, rootRenderLanes) {\n // The source fiber did not complete.\n sourceFiber.flags |= Incomplete;\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, rootRenderLanes);\n }\n }\n\n if (value !== null && typeof value === 'object' && typeof value.then === 'function') {\n // This is a wakeable. The component suspended.\n var wakeable = value;\n resetSuspendedComponent(sourceFiber);\n\n {\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n }\n }\n\n\n var suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber);\n\n if (suspenseBoundary !== null) {\n suspenseBoundary.flags &= ~ForceClientRender;\n markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // We only attach ping listeners in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n\n if (suspenseBoundary.mode & ConcurrentMode) {\n attachPingListener(root, wakeable, rootRenderLanes);\n }\n\n attachRetryListener(suspenseBoundary, root, wakeable);\n return;\n } else {\n // No boundary was found. Unless this is a sync update, this is OK.\n // We can suspend and wait for more data to arrive.\n if (!includesSyncLane(rootRenderLanes)) {\n // This is not a sync update. Suspend. Since we're not activating a\n // Suspense boundary, this will unwind all the way to the root without\n // performing a second pass to render a fallback. (This is arguably how\n // refresh transitions should work, too, since we're not going to commit\n // the fallbacks anyway.)\n //\n // This case also applies to initial hydration.\n attachPingListener(root, wakeable, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return;\n } // This is a sync/discrete update. We treat this case like an error\n // because discrete renders are expected to produce a complete tree\n // synchronously to maintain consistency with external state.\n\n\n var uncaughtSuspenseError = new Error('A component suspended while responding to synchronous input. This ' + 'will cause the UI to be replaced with a loading indicator. To ' + 'fix, updates that suspend should be wrapped ' + 'with startTransition.'); // If we're outside a transition, fall through to the regular error path.\n // The error will be caught by the nearest suspense boundary.\n\n value = uncaughtSuspenseError;\n }\n } else {\n // This is a regular error, not a Suspense wakeable.\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n\n var _suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber); // If the error was thrown during hydration, we may be able to recover by\n // discarding the dehydrated content and switching to a client render.\n // Instead of surfacing the error, find the nearest Suspense boundary\n // and render it again without hydration.\n\n\n if (_suspenseBoundary !== null) {\n if ((_suspenseBoundary.flags & ShouldCapture) === NoFlags) {\n // Set a flag to indicate that we should try rendering the normal\n // children again, not the fallback.\n _suspenseBoundary.flags |= ForceClientRender;\n }\n\n markSuspenseBoundaryShouldCapture(_suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // Even though the user may not be affected by this error, we should\n // still log it so it can be fixed.\n\n queueHydrationError(createCapturedValueAtFiber(value, sourceFiber));\n return;\n }\n }\n }\n\n value = createCapturedValueAtFiber(value, sourceFiber);\n renderDidError(value); // We didn't find a boundary that could handle this type of exception. Start\n // over and traverse parent path again, this time treating the exception\n // as an error.\n\n var workInProgress = returnFiber;\n\n do {\n switch (workInProgress.tag) {\n case HostRoot:\n {\n var _errorInfo = value;\n workInProgress.flags |= ShouldCapture;\n var lane = pickArbitraryLane(rootRenderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane);\n var update = createRootErrorUpdate(workInProgress, _errorInfo, lane);\n enqueueCapturedUpdate(workInProgress, update);\n return;\n }\n\n case ClassComponent:\n // Capture and retry\n var errorInfo = value;\n var ctor = workInProgress.type;\n var instance = workInProgress.stateNode;\n\n if ((workInProgress.flags & DidCapture) === NoFlags && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) {\n workInProgress.flags |= ShouldCapture;\n\n var _lane = pickArbitraryLane(rootRenderLanes);\n\n workInProgress.lanes = mergeLanes(workInProgress.lanes, _lane); // Schedule the error boundary to re-render using updated state\n\n var _update = createClassErrorUpdate(workInProgress, errorInfo, _lane);\n\n enqueueCapturedUpdate(workInProgress, _update);\n return;\n }\n\n break;\n }\n\n workInProgress = workInProgress.return;\n } while (workInProgress !== null);\n}\n\nfunction getSuspendedCache() {\n {\n return null;\n } // This function is called when a Suspense boundary suspends. It returns the\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar didReceiveUpdate = false;\nvar didWarnAboutBadClass;\nvar didWarnAboutModulePatternComponent;\nvar didWarnAboutContextTypeOnFunctionComponent;\nvar didWarnAboutGetDerivedStateOnFunctionComponent;\nvar didWarnAboutFunctionRefs;\nvar didWarnAboutReassigningProps;\nvar didWarnAboutRevealOrder;\nvar didWarnAboutTailOptions;\n\n{\n didWarnAboutBadClass = {};\n didWarnAboutModulePatternComponent = {};\n didWarnAboutContextTypeOnFunctionComponent = {};\n didWarnAboutGetDerivedStateOnFunctionComponent = {};\n didWarnAboutFunctionRefs = {};\n didWarnAboutReassigningProps = false;\n didWarnAboutRevealOrder = {};\n didWarnAboutTailOptions = {};\n}\n\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n if (current === null) {\n // If this is a fresh new component that hasn't been rendered yet, we\n // won't update its child set by applying minimal side-effects. Instead,\n // we will add them all to the child before it gets rendered. That means\n // we can optimize this reconciliation pass by not tracking side-effects.\n workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n // If the current child is the same as the work in progress, it means that\n // we haven't yet started any work on these children. Therefore, we use\n // the clone algorithm to create a copy of all the current children.\n // If we had any progressed work already, that is invalid at this point so\n // let's throw it out.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderLanes);\n }\n}\n\nfunction forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes) {\n // This function is fork of reconcileChildren. It's used in cases where we\n // want to reconcile without matching against the existing set. This has the\n // effect of all current children being unmounted; even if the type and key\n // are the same, the old child is unmounted and a new child is created.\n //\n // To do this, we're going to go through the reconcile algorithm twice. In\n // the first pass, we schedule a deletion for all the current children by\n // passing null.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderLanes); // In the second pass, we mount the new children. The trick here is that we\n // pass null in place of where we usually pass the current child set. This has\n // the effect of remounting all children regardless of whether their\n // identities match.\n\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n}\n\nfunction updateForwardRef(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens after the first render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var render = Component.render;\n var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n if (current === null) {\n var type = Component.type;\n\n if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.\n Component.defaultProps === undefined) {\n var resolvedType = type;\n\n {\n resolvedType = resolveFunctionForHotReloading(type);\n } // If this is a plain function component without default props,\n // and with only the default shallow comparison, we upgrade it\n // to a SimpleMemoComponent to allow fast path updates.\n\n\n workInProgress.tag = SimpleMemoComponent;\n workInProgress.type = resolvedType;\n\n {\n validateFunctionComponentInDev(workInProgress, type);\n }\n\n return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, renderLanes);\n }\n\n {\n var innerPropTypes = type.propTypes;\n\n if (innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(type));\n }\n }\n\n var child = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress, workInProgress.mode, renderLanes);\n child.ref = workInProgress.ref;\n child.return = workInProgress;\n workInProgress.child = child;\n return child;\n }\n\n {\n var _type = Component.type;\n var _innerPropTypes = _type.propTypes;\n\n if (_innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(_innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(_type));\n }\n }\n\n var currentChild = current.child; // This is always exactly one child\n\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext) {\n // This will be the props with resolved defaultProps,\n // unlike current.memoizedProps which will be the unresolved ones.\n var prevProps = currentChild.memoizedProps; // Default to shallow comparison\n\n var compare = Component.compare;\n compare = compare !== null ? compare : shallowEqual;\n\n if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n var newChild = createWorkInProgress(currentChild, nextProps);\n newChild.ref = workInProgress.ref;\n newChild.return = workInProgress;\n workInProgress.child = newChild;\n return newChild;\n}\n\nfunction updateSimpleMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens when the inner render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var outerMemoType = workInProgress.elementType;\n\n if (outerMemoType.$$typeof === REACT_LAZY_TYPE) {\n // We warn when you define propTypes on lazy()\n // so let's just skip over it to find memo() outer wrapper.\n // Inner props for memo are validated later.\n var lazyComponent = outerMemoType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n outerMemoType = init(payload);\n } catch (x) {\n outerMemoType = null;\n } // Inner propTypes will be validated in the function component path.\n\n\n var outerPropTypes = outerMemoType && outerMemoType.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps)\n 'prop', getComponentNameFromType(outerMemoType));\n }\n }\n }\n }\n\n if (current !== null) {\n var prevProps = current.memoizedProps;\n\n if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload.\n workInProgress.type === current.type )) {\n didReceiveUpdate = false; // The props are shallowly equal. Reuse the previous props object, like we\n // would during a normal fiber bailout.\n //\n // We don't have strong guarantees that the props object is referentially\n // equal during updates where we can't bail out anyway — like if the props\n // are shallowly equal, but there's a local state or context update in the\n // same batch.\n //\n // However, as a principle, we should aim to make the behavior consistent\n // across different ways of memoizing a component. For example, React.memo\n // has a different internal Fiber layout if you pass a normal function\n // component (SimpleMemoComponent) versus if you pass a different type\n // like forwardRef (MemoComponent). But this is an implementation detail.\n // Wrapping a component in forwardRef (or React.lazy, etc) shouldn't\n // affect whether the props object is reused during a bailout.\n\n workInProgress.pendingProps = nextProps = prevProps;\n\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n // The pending lanes were cleared at the beginning of beginWork. We're\n // about to bail out, but there might be other lanes that weren't\n // included in the current render. Usually, the priority level of the\n // remaining updates is accumulated during the evaluation of the\n // component (i.e. when processing the update queue). But since since\n // we're bailing out early *without* evaluating the component, we need\n // to account for it here, too. Reset to the value of the current fiber.\n // NOTE: This only applies to SimpleMemoComponent, not MemoComponent,\n // because a MemoComponent fiber does not have hooks or an update queue;\n // rather, it wraps around an inner component, which may or may not\n // contains hooks.\n // TODO: Move the reset at in beginWork out of the common path so that\n // this is no longer necessary.\n workInProgress.lanes = current.lanes;\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n } else if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n }\n }\n }\n\n return updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes);\n}\n\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n var prevState = current !== null ? current.memoizedState : null;\n\n if (nextProps.mode === 'hidden' || enableLegacyHidden ) {\n // Rendering a hidden tree.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy sync mode, don't defer the subtree. Render it now.\n // TODO: Consider how Offscreen should work with transitions in the future\n var nextState = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = nextState;\n\n pushRenderLanes(workInProgress, renderLanes);\n } else if (!includesSomeLane(renderLanes, OffscreenLane)) {\n var spawnedCachePool = null; // We're hidden, and we're not rendering at Offscreen. We will bail out\n // and resume this tree later.\n\n var nextBaseLanes;\n\n if (prevState !== null) {\n var prevBaseLanes = prevState.baseLanes;\n nextBaseLanes = mergeLanes(prevBaseLanes, renderLanes);\n } else {\n nextBaseLanes = renderLanes;\n } // Schedule this fiber to re-render at offscreen priority. Then bailout.\n\n\n workInProgress.lanes = workInProgress.childLanes = laneToLanes(OffscreenLane);\n var _nextState = {\n baseLanes: nextBaseLanes,\n cachePool: spawnedCachePool,\n transitions: null\n };\n workInProgress.memoizedState = _nextState;\n workInProgress.updateQueue = null;\n // to avoid a push/pop misalignment.\n\n\n pushRenderLanes(workInProgress, nextBaseLanes);\n\n return null;\n } else {\n // This is the second render. The surrounding visible content has already\n // committed. Now we resume rendering the hidden tree.\n // Rendering at offscreen, so we can clear the base lanes.\n var _nextState2 = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = _nextState2; // Push the lanes that were skipped when we bailed out.\n\n var subtreeRenderLanes = prevState !== null ? prevState.baseLanes : renderLanes;\n\n pushRenderLanes(workInProgress, subtreeRenderLanes);\n }\n } else {\n // Rendering a visible tree.\n var _subtreeRenderLanes;\n\n if (prevState !== null) {\n // We're going from hidden -> visible.\n _subtreeRenderLanes = mergeLanes(prevState.baseLanes, renderLanes);\n\n workInProgress.memoizedState = null;\n } else {\n // We weren't previously hidden, and we still aren't, so there's nothing\n // special to do. Need to push to the stack regardless, though, to avoid\n // a push/pop misalignment.\n _subtreeRenderLanes = renderLanes;\n }\n\n pushRenderLanes(workInProgress, _subtreeRenderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n} // Note: These happen to have identical begin phases, for now. We shouldn't hold\n\nfunction updateFragment(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMode(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateProfiler(current, workInProgress, renderLanes) {\n {\n workInProgress.flags |= Update;\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n\n if (current === null && ref !== null || current !== null && current.ref !== ref) {\n // Schedule a Ref effect\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n }\n}\n\nfunction updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, true);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateClassComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n // This is used by DevTools to force a boundary to error.\n switch (shouldError(workInProgress)) {\n case false:\n {\n var _instance = workInProgress.stateNode;\n var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack.\n // Is there a better way to do this?\n\n var tempInstance = new ctor(workInProgress.memoizedProps, _instance.context);\n var state = tempInstance.state;\n\n _instance.updater.enqueueSetState(_instance, state, null);\n\n break;\n }\n\n case true:\n {\n workInProgress.flags |= DidCapture;\n workInProgress.flags |= ShouldCapture; // eslint-disable-next-line react-internal/prod-error-codes\n\n var error$1 = new Error('Simulated error coming from DevTools');\n var lane = pickArbitraryLane(renderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane); // Schedule the error boundary to re-render using updated state\n\n var update = createClassErrorUpdate(workInProgress, createCapturedValueAtFiber(error$1, workInProgress), lane);\n enqueueCapturedUpdate(workInProgress, update);\n break;\n }\n }\n\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n } // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var instance = workInProgress.stateNode;\n var shouldUpdate;\n\n if (instance === null) {\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress); // In the initial pass we might need to construct the instance.\n\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n shouldUpdate = true;\n } else if (current === null) {\n // In a resume, we'll already have an instance we can reuse.\n shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderLanes);\n } else {\n shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderLanes);\n }\n\n var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes);\n\n {\n var inst = workInProgress.stateNode;\n\n if (shouldUpdate && inst.props !== nextProps) {\n if (!didWarnAboutReassigningProps) {\n error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentNameFromFiber(workInProgress) || 'a component');\n }\n\n didWarnAboutReassigningProps = true;\n }\n }\n\n return nextUnitOfWork;\n}\n\nfunction finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes) {\n // Refs should update even if shouldComponentUpdate returns false\n markRef(current, workInProgress);\n var didCaptureError = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (!shouldUpdate && !didCaptureError) {\n // Context providers should defer to sCU for rendering\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, false);\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n var instance = workInProgress.stateNode; // Rerender\n\n ReactCurrentOwner$1.current = workInProgress;\n var nextChildren;\n\n if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') {\n // If we captured an error, but getDerivedStateFromError is not defined,\n // unmount all the children. componentDidCatch will schedule an update to\n // re-render a fallback. This is temporary until we migrate everyone to\n // the new API.\n // TODO: Warn in a future release.\n nextChildren = null;\n\n {\n stopProfilerTimerIfRunning();\n }\n } else {\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n setIsRendering(true);\n nextChildren = instance.render();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance.render();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n if (current !== null && didCaptureError) {\n // If we're recovering from an error, reconcile without reusing any of\n // the existing children. Conceptually, the normal children and the children\n // that are shown on error are two different sets, so we shouldn't reuse\n // normal children even if their identities match.\n forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n } // Memoize state using the values we just used to render.\n // TODO: Restructure so we never read values from the instance.\n\n\n workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it.\n\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, true);\n }\n\n return workInProgress.child;\n}\n\nfunction pushHostRootContext(workInProgress) {\n var root = workInProgress.stateNode;\n\n if (root.pendingContext) {\n pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context);\n } else if (root.context) {\n // Should always be set\n pushTopLevelContextObject(workInProgress, root.context, false);\n }\n\n pushHostContainer(workInProgress, root.containerInfo);\n}\n\nfunction updateHostRoot(current, workInProgress, renderLanes) {\n pushHostRootContext(workInProgress);\n\n if (current === null) {\n throw new Error('Should have a current fiber. This is a bug in React.');\n }\n\n var nextProps = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n var prevChildren = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n var root = workInProgress.stateNode;\n // being called \"element\".\n\n\n var nextChildren = nextState.element;\n\n if ( prevState.isDehydrated) {\n // This is a hydration root whose shell has not yet hydrated. We should\n // attempt to hydrate.\n // Flip isDehydrated to false to indicate that when this render\n // finishes, the root will no longer be dehydrated.\n var overrideState = {\n element: nextChildren,\n isDehydrated: false,\n cache: nextState.cache,\n pendingSuspenseBoundaries: nextState.pendingSuspenseBoundaries,\n transitions: nextState.transitions\n };\n var updateQueue = workInProgress.updateQueue; // `baseState` can always be the last state because the root doesn't\n // have reducer functions so it doesn't need rebasing.\n\n updateQueue.baseState = overrideState;\n workInProgress.memoizedState = overrideState;\n\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during a previous attempt to hydrate the shell, so we\n // forced a client render.\n var recoverableError = createCapturedValueAtFiber(new Error('There was an error while hydrating. Because the error happened outside ' + 'of a Suspense boundary, the entire root will switch to ' + 'client rendering.'), workInProgress);\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError);\n } else if (nextChildren !== prevChildren) {\n var _recoverableError = createCapturedValueAtFiber(new Error('This root received an early update, before anything was able ' + 'hydrate. Switched the entire root to client rendering.'), workInProgress);\n\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, _recoverableError);\n } else {\n // The outermost shell has not hydrated yet. Start hydrating.\n enterHydrationState(workInProgress);\n\n var child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n workInProgress.child = child;\n var node = child;\n\n while (node) {\n // Mark each child as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n node.flags = node.flags & ~Placement | Hydrating;\n node = node.sibling;\n }\n }\n } else {\n // Root is not dehydrated. Either this is a client-only root, or it\n // already hydrated.\n resetHydrationState();\n\n if (nextChildren === prevChildren) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nfunction mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError) {\n // Revert to client rendering.\n resetHydrationState();\n queueHydrationError(recoverableError);\n workInProgress.flags |= ForceClientRender;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostComponent(current, workInProgress, renderLanes) {\n pushHostContext(workInProgress);\n\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n }\n\n var type = workInProgress.type;\n var nextProps = workInProgress.pendingProps;\n var prevProps = current !== null ? current.memoizedProps : null;\n var nextChildren = nextProps.children;\n var isDirectTextChild = shouldSetTextContent(type, nextProps);\n\n if (isDirectTextChild) {\n // We special case a direct text child of a host node. This is a common\n // case. We won't handle it as a reified child. We will instead handle\n // this in the host environment that also has access to this prop. That\n // avoids allocating another HostText fiber and traversing it.\n nextChildren = null;\n } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) {\n // If we're switching from a direct text child to a normal child, or to\n // empty, we need to schedule the text content to be reset.\n workInProgress.flags |= ContentReset;\n }\n\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostText(current, workInProgress) {\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n } // Nothing to do here. This is terminal. We'll do the completion step\n // immediately after.\n\n\n return null;\n}\n\nfunction mountLazyComponent(_current, workInProgress, elementType, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var lazyComponent = elementType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n var Component = init(payload); // Store the unwrapped component in the type.\n\n workInProgress.type = Component;\n var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component);\n var resolvedProps = resolveDefaultProps(Component, props);\n var child;\n\n switch (resolvedTag) {\n case FunctionComponent:\n {\n {\n validateFunctionComponentInDev(workInProgress, Component);\n workInProgress.type = Component = resolveFunctionForHotReloading(Component);\n }\n\n child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ClassComponent:\n {\n {\n workInProgress.type = Component = resolveClassForHotReloading(Component);\n }\n\n child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ForwardRef:\n {\n {\n workInProgress.type = Component = resolveForwardRefForHotReloading(Component);\n }\n\n child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case MemoComponent:\n {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = Component.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too\n renderLanes);\n return child;\n }\n }\n\n var hint = '';\n\n {\n if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) {\n hint = ' Did you wrap a component in React.lazy() more than once?';\n }\n } // This message intentionally doesn't mention ForwardRef or MemoComponent\n // because the fact that it's a separate type of work is an\n // implementation detail.\n\n\n throw new Error(\"Element type is invalid. Received a promise that resolves to: \" + Component + \". \" + (\"Lazy element type must resolve to a class or function.\" + hint));\n}\n\nfunction mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress); // Promote the fiber to a class and try rendering again.\n\n workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent`\n // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n}\n\nfunction mountIndeterminateComponent(_current, workInProgress, Component, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, false);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var value;\n var hasId;\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n if (Component.prototype && typeof Component.prototype.render === 'function') {\n var componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutBadClass[componentName]) {\n error(\"The <%s /> component appears to have a render method, but doesn't extend React.Component. \" + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);\n\n didWarnAboutBadClass[componentName] = true;\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);\n }\n\n setIsRendering(true);\n ReactCurrentOwner$1.current = workInProgress;\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n {\n // Support for module components is deprecated and is removed behind a flag.\n // Whether or not it would crash later, we want to show a good message in DEV first.\n if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n var _componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);\n\n didWarnAboutModulePatternComponent[_componentName] = true;\n }\n }\n }\n\n if ( // Run these checks in production only if the flag is off.\n // Eventually we'll delete this branch altogether.\n typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n {\n var _componentName2 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName2]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName2, _componentName2, _componentName2);\n\n didWarnAboutModulePatternComponent[_componentName2] = true;\n }\n } // Proceed under the assumption that this is a class instance\n\n\n workInProgress.tag = ClassComponent; // Throw out any hooks that were used.\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext = false;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null;\n initializeUpdateQueue(workInProgress);\n adoptClassInstance(workInProgress, value);\n mountClassInstance(workInProgress, Component, props, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n } else {\n // Proceed under the assumption that this is a function component\n workInProgress.tag = FunctionComponent;\n\n {\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n }\n\n reconcileChildren(null, workInProgress, value, renderLanes);\n\n {\n validateFunctionComponentInDev(workInProgress, Component);\n }\n\n return workInProgress.child;\n }\n}\n\nfunction validateFunctionComponentInDev(workInProgress, Component) {\n {\n if (Component) {\n if (Component.childContextTypes) {\n error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component');\n }\n }\n\n if (workInProgress.ref !== null) {\n var info = '';\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n var warningKey = ownerName || '';\n var debugSource = workInProgress._debugSource;\n\n if (debugSource) {\n warningKey = debugSource.fileName + ':' + debugSource.lineNumber;\n }\n\n if (!didWarnAboutFunctionRefs[warningKey]) {\n didWarnAboutFunctionRefs[warningKey] = true;\n\n error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info);\n }\n }\n\n if (typeof Component.getDerivedStateFromProps === 'function') {\n var _componentName3 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3]) {\n error('%s: Function components do not support getDerivedStateFromProps.', _componentName3);\n\n didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3] = true;\n }\n }\n\n if (typeof Component.contextType === 'object' && Component.contextType !== null) {\n var _componentName4 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutContextTypeOnFunctionComponent[_componentName4]) {\n error('%s: Function components do not support contextType.', _componentName4);\n\n didWarnAboutContextTypeOnFunctionComponent[_componentName4] = true;\n }\n }\n }\n}\n\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: NoLane\n};\n\nfunction mountSuspenseOffscreenState(renderLanes) {\n return {\n baseLanes: renderLanes,\n cachePool: getSuspendedCache(),\n transitions: null\n };\n}\n\nfunction updateSuspenseOffscreenState(prevOffscreenState, renderLanes) {\n var cachePool = null;\n\n return {\n baseLanes: mergeLanes(prevOffscreenState.baseLanes, renderLanes),\n cachePool: cachePool,\n transitions: prevOffscreenState.transitions\n };\n} // TODO: Probably should inline this back\n\n\nfunction shouldRemainOnFallback(suspenseContext, current, workInProgress, renderLanes) {\n // If we're already showing a fallback, there are cases where we need to\n // remain on that fallback regardless of whether the content has resolved.\n // For example, SuspenseList coordinates when nested content appears.\n if (current !== null) {\n var suspenseState = current.memoizedState;\n\n if (suspenseState === null) {\n // Currently showing content. Don't hide it, even if ForceSuspenseFallback\n // is true. More precise name might be \"ForceRemainSuspenseFallback\".\n // Note: This is a factoring smell. Can't remain on a fallback if there's\n // no fallback to remain on.\n return false;\n }\n } // Not currently showing content. Consult the Suspense context.\n\n\n return hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n}\n\nfunction getRemainingWorkInPrimaryTree(current, renderLanes) {\n // TODO: Should not remove render lanes that were pinged during this render\n return removeLanes(current.childLanes, renderLanes);\n}\n\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend.\n\n {\n if (shouldSuspend(workInProgress)) {\n workInProgress.flags |= DidCapture;\n }\n }\n\n var suspenseContext = suspenseStackCursor.current;\n var showFallback = false;\n var didSuspend = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) {\n // Something in this boundary's subtree already suspended. Switch to\n // rendering the fallback children.\n showFallback = true;\n workInProgress.flags &= ~DidCapture;\n } else {\n // Attempting the main content\n if (current === null || current.memoizedState !== null) {\n // This is a new mount or this boundary is already showing a fallback state.\n // Mark this subtree context as having at least one invisible parent that could\n // handle the fallback state.\n // Avoided boundaries are not considered since they cannot handle preferred fallback states.\n {\n suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext);\n }\n }\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n pushSuspenseContext(workInProgress, suspenseContext); // OK, the next part is confusing. We're about to reconcile the Suspense\n // boundary's children. This involves some custom reconciliation logic. Two\n // main reasons this is so complicated.\n //\n // First, Legacy Mode has different semantics for backwards compatibility. The\n // primary tree will commit in an inconsistent state, so when we do the\n // second pass to render the fallback, we do some exceedingly, uh, clever\n // hacks to make that not totally break. Like transferring effects and\n // deletions from hidden tree. In Concurrent Mode, it's much simpler,\n // because we bailout on the primary tree completely and leave it in its old\n // state, no effects. Same as what we do for Offscreen (except that\n // Offscreen doesn't have the first render pass).\n //\n // Second is hydration. During hydration, the Suspense fiber has a slightly\n // different layout, where the child points to a dehydrated fragment, which\n // contains the DOM rendered by the server.\n //\n // Third, even if you set all that aside, Suspense is like error boundaries in\n // that we first we try to render one tree, and if that fails, we render again\n // and switch to a different tree. Like a try/catch block. So we have to track\n // which branch we're currently rendering. Ideally we would model this using\n // a stack.\n\n if (current === null) {\n // Initial mount\n // Special path for hydration\n // If we're currently hydrating, try to hydrate this boundary.\n tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component.\n\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null) {\n var dehydrated = suspenseState.dehydrated;\n\n if (dehydrated !== null) {\n return mountDehydratedSuspenseComponent(workInProgress, dehydrated);\n }\n }\n\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n\n if (showFallback) {\n var fallbackFragment = mountSuspenseFallbackChildren(workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var primaryChildFragment = workInProgress.child;\n primaryChildFragment.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n\n return fallbackFragment;\n } else {\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n } else {\n // This is an update.\n // Special path for hydration\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var _dehydrated = prevState.dehydrated;\n\n if (_dehydrated !== null) {\n return updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, _dehydrated, prevState, renderLanes);\n }\n }\n\n if (showFallback) {\n var _nextFallbackChildren = nextProps.fallback;\n var _nextPrimaryChildren = nextProps.children;\n var fallbackChildFragment = updateSuspenseFallbackChildren(current, workInProgress, _nextPrimaryChildren, _nextFallbackChildren, renderLanes);\n var _primaryChildFragment2 = workInProgress.child;\n var prevOffscreenState = current.child.memoizedState;\n _primaryChildFragment2.memoizedState = prevOffscreenState === null ? mountSuspenseOffscreenState(renderLanes) : updateSuspenseOffscreenState(prevOffscreenState, renderLanes);\n\n _primaryChildFragment2.childLanes = getRemainingWorkInPrimaryTree(current, renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n } else {\n var _nextPrimaryChildren2 = nextProps.children;\n\n var _primaryChildFragment3 = updateSuspensePrimaryChildren(current, workInProgress, _nextPrimaryChildren2, renderLanes);\n\n workInProgress.memoizedState = null;\n return _primaryChildFragment3;\n }\n }\n}\n\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren, renderLanes) {\n var mode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n primaryChildFragment.return = workInProgress;\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackChildren(workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var progressedPrimaryFragment = workInProgress.child;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n var fallbackChildFragment;\n\n if ((mode & ConcurrentMode) === NoMode && progressedPrimaryFragment !== null) {\n // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = 0;\n primaryChildFragment.treeBaseDuration = 0;\n }\n\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n } else {\n primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n }\n\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode, renderLanes) {\n // The props argument to `createFiberFromOffscreen` is `any` typed, so we use\n // this wrapper function to constrain it.\n return createFiberFromOffscreen(offscreenProps, mode, NoLanes, null);\n}\n\nfunction updateWorkInProgressOffscreenFiber(current, offscreenProps) {\n // The props argument to `createWorkInProgress` is `any` typed, so we use this\n // wrapper function to constrain it.\n return createWorkInProgress(current, offscreenProps);\n}\n\nfunction updateSuspensePrimaryChildren(current, workInProgress, primaryChildren, renderLanes) {\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, {\n mode: 'visible',\n children: primaryChildren\n });\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n primaryChildFragment.lanes = renderLanes;\n }\n\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = null;\n\n if (currentFallbackChildFragment !== null) {\n // Delete the fallback child fragment\n var deletions = workInProgress.deletions;\n\n if (deletions === null) {\n workInProgress.deletions = [currentFallbackChildFragment];\n workInProgress.flags |= ChildDeletion;\n } else {\n deletions.push(currentFallbackChildFragment);\n }\n }\n\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction updateSuspenseFallbackChildren(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n\n if ( // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n (mode & ConcurrentMode) === NoMode && // Make sure we're on the second pass, i.e. the primary child fragment was\n // already cloned. In legacy mode, the only case where this isn't true is\n // when DevTools forces us to display a fallback; we skip the first render\n // pass entirely and go straight to rendering the fallback. (In Concurrent\n // Mode, SuspenseList can also trigger this scenario, but this is a legacy-\n // only codepath.)\n workInProgress.child !== currentPrimaryChildFragment) {\n var progressedPrimaryFragment = workInProgress.child;\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = currentPrimaryChildFragment.selfBaseDuration;\n primaryChildFragment.treeBaseDuration = currentPrimaryChildFragment.treeBaseDuration;\n } // The fallback fiber was added as a deletion during the first pass.\n // However, since we're going to remain on the fallback, we no longer want\n // to delete it.\n\n\n workInProgress.deletions = null;\n } else {\n primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, primaryChildProps); // Since we're reusing a current tree, we need to reuse the flags, too.\n // (We don't do this in legacy mode, because in legacy mode we don't re-use\n // the current tree; see previous branch.)\n\n primaryChildFragment.subtreeFlags = currentPrimaryChildFragment.subtreeFlags & StaticMask;\n }\n\n var fallbackChildFragment;\n\n if (currentFallbackChildFragment !== null) {\n fallbackChildFragment = createWorkInProgress(currentFallbackChildFragment, fallbackChildren);\n } else {\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n }\n\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, recoverableError) {\n // Falling back to client rendering. Because this has performance\n // implications, it's considered a recoverable error, even though the user\n // likely won't observe anything wrong with the UI.\n //\n // The error is passed in as an argument to enforce that every caller provide\n // a custom message, or explicitly opt out (currently the only path that opts\n // out is legacy mode; every concurrent path provides an error).\n if (recoverableError !== null) {\n queueHydrationError(recoverableError);\n } // This will add the old fiber to the deletion list\n\n\n reconcileChildFibers(workInProgress, current.child, null, renderLanes); // We're now not suspended nor dehydrated.\n\n var nextProps = workInProgress.pendingProps;\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n primaryChildFragment.flags |= Placement;\n workInProgress.memoizedState = null;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var fiberMode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, fiberMode);\n var fallbackChildFragment = createFiberFromFragment(fallbackChildren, fiberMode, renderLanes, null); // Needs a placement effect because the parent (the Suspense\n // boundary) already mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // We will have dropped the effect list which contains the\n // deletion. We need to reconcile to delete the current child.\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n }\n\n return fallbackChildFragment;\n}\n\nfunction mountDehydratedSuspenseComponent(workInProgress, suspenseInstance, renderLanes) {\n // During the first pass, we'll bail out and not drill into the children.\n // Instead, we'll leave the content in place and try to hydrate it later.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n {\n error('Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOMClient.hydrateRoot(container, <App />)' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');\n }\n\n workInProgress.lanes = laneToLanes(SyncLane);\n } else if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This is a client-only boundary. Since we won't get any content from the server\n // for this, we need to schedule that at a higher priority based on when it would\n // have timed out. In theory we could render it in this pass but it would have the\n // wrong priority associated with it and will prevent hydration of parent path.\n // Instead, we'll leave work left on it to render it in a separate commit.\n // TODO This time should be the time at which the server rendered response that is\n // a parent to this boundary was displayed. However, since we currently don't have\n // a protocol to transfer that time, we'll just estimate it by using the current\n // time. This will mean that Suspense timeouts are slightly shifted to later than\n // they should be.\n // Schedule a normal pri update to render this content.\n workInProgress.lanes = laneToLanes(DefaultHydrationLane);\n } else {\n // We'll continue hydrating the rest at offscreen priority since we'll already\n // be showing the right content coming from the server, it is no rush.\n workInProgress.lanes = laneToLanes(OffscreenLane);\n }\n\n return null;\n}\n\nfunction updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, suspenseInstance, suspenseState, renderLanes) {\n if (!didSuspend) {\n // This is the first render pass. Attempt to hydrate.\n // We should never be hydrating at this point because it is the first pass,\n // but after we've already committed once.\n warnIfHydrating();\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, // TODO: When we delete legacy mode, we should make this error argument\n // required — every concurrent mode path that causes hydration to\n // de-opt to client rendering should have an error message.\n null);\n }\n\n if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This boundary is in a permanent fallback state. In this case, we'll never\n // get an update and we'll never be able to hydrate the final content. Let's just try the\n // client side render instead.\n var digest, message, stack;\n\n {\n var _getSuspenseInstanceF = getSuspenseInstanceFallbackErrorDetails(suspenseInstance);\n\n digest = _getSuspenseInstanceF.digest;\n message = _getSuspenseInstanceF.message;\n stack = _getSuspenseInstanceF.stack;\n }\n\n var error;\n\n if (message) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(message);\n } else {\n error = new Error('The server could not finish this Suspense boundary, likely ' + 'due to an error during server rendering. Switched to ' + 'client rendering.');\n }\n\n var capturedValue = createCapturedValue(error, digest, stack);\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, capturedValue);\n }\n // any context has changed, we need to treat is as if the input might have changed.\n\n\n var hasContextChanged = includesSomeLane(renderLanes, current.childLanes);\n\n if (didReceiveUpdate || hasContextChanged) {\n // This boundary has changed since the first render. This means that we are now unable to\n // hydrate it. We might still be able to hydrate it using a higher priority lane.\n var root = getWorkInProgressRoot();\n\n if (root !== null) {\n var attemptHydrationAtLane = getBumpedLaneForHydration(root, renderLanes);\n\n if (attemptHydrationAtLane !== NoLane && attemptHydrationAtLane !== suspenseState.retryLane) {\n // Intentionally mutating since this render will get interrupted. This\n // is one of the very rare times where we mutate the current tree\n // during the render phase.\n suspenseState.retryLane = attemptHydrationAtLane; // TODO: Ideally this would inherit the event time of the current render\n\n var eventTime = NoTimestamp;\n enqueueConcurrentRenderForLane(current, attemptHydrationAtLane);\n scheduleUpdateOnFiber(root, current, attemptHydrationAtLane, eventTime);\n }\n } // If we have scheduled higher pri work above, this will probably just abort the render\n // since we now have higher priority work, but in case it doesn't, we need to prepare to\n // render something, if we time out. Even if that requires us to delete everything and\n // skip hydration.\n // Delay having to do this as long as the suspense timeout allows us.\n\n\n renderDidSuspendDelayIfPossible();\n\n var _capturedValue = createCapturedValue(new Error('This Suspense boundary received an update before it finished ' + 'hydrating. This caused the boundary to switch to client rendering. ' + 'The usual way to fix this is to wrap the original update ' + 'in startTransition.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue);\n } else if (isSuspenseInstancePending(suspenseInstance)) {\n // This component is still pending more data from the server, so we can't hydrate its\n // content. We treat it as if this component suspended itself. It might seem as if\n // we could just try to render it client-side instead. However, this will perform a\n // lot of unnecessary work and is unlikely to complete since it often will suspend\n // on missing data anyway. Additionally, the server might be able to render more\n // than we can on the client yet. In that case we'd end up with more fallback states\n // on the client than if we just leave it alone. If the server times out or errors\n // these should update this boundary to the permanent Fallback state instead.\n // Mark it as having captured (i.e. suspended).\n workInProgress.flags |= DidCapture; // Leave the child in place. I.e. the dehydrated fragment.\n\n workInProgress.child = current.child; // Register a callback to retry this boundary once the server has sent the result.\n\n var retry = retryDehydratedSuspenseBoundary.bind(null, current);\n registerSuspenseInstanceRetry(suspenseInstance, retry);\n return null;\n } else {\n // This is the first attempt.\n reenterHydrationStateFromDehydratedSuspenseInstance(workInProgress, suspenseInstance, suspenseState.treeContext);\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Mark the children as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n\n primaryChildFragment.flags |= Hydrating;\n return primaryChildFragment;\n }\n } else {\n // This is the second render pass. We already attempted to hydrated, but\n // something either suspended or errored.\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during hydration. Try again without hydrating.\n workInProgress.flags &= ~ForceClientRender;\n\n var _capturedValue2 = createCapturedValue(new Error('There was an error while hydrating this Suspense boundary. ' + 'Switched to client rendering.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue2);\n } else if (workInProgress.memoizedState !== null) {\n // Something suspended and we should still be in dehydrated mode.\n // Leave the existing child in place.\n workInProgress.child = current.child; // The dehydrated completion pass expects this flag to be there\n // but the normal suspense pass doesn't.\n\n workInProgress.flags |= DidCapture;\n return null;\n } else {\n // Suspended but we should no longer be in dehydrated mode.\n // Therefore we now have to render the fallback.\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n var fallbackChildFragment = mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var _primaryChildFragment4 = workInProgress.child;\n _primaryChildFragment4.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n }\n }\n}\n\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\n\nfunction propagateSuspenseContextChange(workInProgress, firstChild, renderLanes) {\n // Mark any Suspense boundaries with fallbacks as having work to do.\n // If they were previously forced into fallbacks, they may now be able\n // to unblock.\n var node = firstChild;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n }\n } else if (node.tag === SuspenseListComponent) {\n // If the tail is hidden there might not be an Suspense boundaries\n // to schedule work on. In this case we have to schedule it on the\n // list itself.\n // We don't have to traverse to the children of the list since\n // the list will propagate the change when it rerenders.\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n}\n\nfunction findLastContentRow(firstChild) {\n // This is going to find the last row among these children that is already\n // showing content on the screen, as opposed to being in fallback state or\n // new. If a row has multiple Suspense boundaries, any of them being in the\n // fallback state, counts as the whole row being in a fallback state.\n // Note that the \"rows\" will be workInProgress, but any nested children\n // will still be current since we haven't rendered them yet. The mounted\n // order may not be the same as the new order. We use the new order.\n var row = firstChild;\n var lastContentRow = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n lastContentRow = row;\n }\n\n row = row.sibling;\n }\n\n return lastContentRow;\n}\n\nfunction validateRevealOrder(revealOrder) {\n {\n if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) {\n didWarnAboutRevealOrder[revealOrder] = true;\n\n if (typeof revealOrder === 'string') {\n switch (revealOrder.toLowerCase()) {\n case 'together':\n case 'forwards':\n case 'backwards':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase \"%s\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n case 'forward':\n case 'backward':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use \"%ss\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n default:\n error('\"%s\" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n\n break;\n }\n } else {\n error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n }\n }\n }\n}\n\nfunction validateTailOptions(tailMode, revealOrder) {\n {\n if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) {\n if (tailMode !== 'collapsed' && tailMode !== 'hidden') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('\"%s\" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean \"collapsed\" or \"hidden\"?', tailMode);\n } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('<SuspenseList tail=\"%s\" /> is only valid if revealOrder is ' + '\"forwards\" or \"backwards\". ' + 'Did you mean to specify revealOrder=\"forwards\"?', tailMode);\n }\n }\n }\n}\n\nfunction validateSuspenseListNestedChild(childSlot, index) {\n {\n var isAnArray = isArray(childSlot);\n var isIterable = !isAnArray && typeof getIteratorFn(childSlot) === 'function';\n\n if (isAnArray || isIterable) {\n var type = isAnArray ? 'array' : 'iterable';\n\n error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type);\n\n return false;\n }\n }\n\n return true;\n}\n\nfunction validateSuspenseListChildren(children, revealOrder) {\n {\n if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n if (!validateSuspenseListNestedChild(children[i], i)) {\n return;\n }\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var childrenIterator = iteratorFn.call(children);\n\n if (childrenIterator) {\n var step = childrenIterator.next();\n var _i = 0;\n\n for (; !step.done; step = childrenIterator.next()) {\n if (!validateSuspenseListNestedChild(step.value, _i)) {\n return;\n }\n\n _i++;\n }\n }\n } else {\n error('A single row was passed to a <SuspenseList revealOrder=\"%s\" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder);\n }\n }\n }\n }\n}\n\nfunction initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode) {\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n };\n } else {\n // We can reuse the existing object from previous renders.\n renderState.isBackwards = isBackwards;\n renderState.rendering = null;\n renderState.renderingStartTime = 0;\n renderState.last = lastContentRow;\n renderState.tail = tail;\n renderState.tailMode = tailMode;\n }\n} // This can end up rendering this component multiple passes.\n// The first pass splits the children fibers into two sets. A head and tail.\n// We first render the head. If anything is in fallback state, we do another\n// pass through beginWork to rerender all children (including the tail) with\n// the force suspend context. If the first render didn't have anything in\n// in fallback state. Then we render each row in the tail one-by-one.\n// That happens in the completeWork phase without going back to beginWork.\n\n\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var revealOrder = nextProps.revealOrder;\n var tailMode = nextProps.tail;\n var newChildren = nextProps.children;\n validateRevealOrder(revealOrder);\n validateTailOptions(tailMode, revealOrder);\n validateSuspenseListChildren(newChildren, revealOrder);\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n var suspenseContext = suspenseStackCursor.current;\n var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n\n if (shouldForceFallback) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n workInProgress.flags |= DidCapture;\n } else {\n var didSuspendBefore = current !== null && (current.flags & DidCapture) !== NoFlags;\n\n if (didSuspendBefore) {\n // If we previously forced a fallback, we need to schedule work\n // on any nested boundaries to let them know to try to render\n // again. This is the same as context updating.\n propagateSuspenseContextChange(workInProgress, workInProgress.child, renderLanes);\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext);\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy mode, SuspenseList doesn't work so we just\n // use make it a noop by treating it as the default revealOrder.\n workInProgress.memoizedState = null;\n } else {\n switch (revealOrder) {\n case 'forwards':\n {\n var lastContentRow = findLastContentRow(workInProgress.child);\n var tail;\n\n if (lastContentRow === null) {\n // The whole list is part of the tail.\n // TODO: We could fast path by just rendering the tail now.\n tail = workInProgress.child;\n workInProgress.child = null;\n } else {\n // Disconnect the tail rows after the content row.\n // We're going to render them separately later.\n tail = lastContentRow.sibling;\n lastContentRow.sibling = null;\n }\n\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n tail, lastContentRow, tailMode);\n break;\n }\n\n case 'backwards':\n {\n // We're going to find the first row that has existing content.\n // At the same time we're going to reverse the list of everything\n // we pass in the meantime. That's going to be our tail in reverse\n // order.\n var _tail = null;\n var row = workInProgress.child;\n workInProgress.child = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n // This is the beginning of the main content.\n workInProgress.child = row;\n break;\n }\n\n var nextRow = row.sibling;\n row.sibling = _tail;\n _tail = row;\n row = nextRow;\n } // TODO: If workInProgress.child is null, we can continue on the tail immediately.\n\n\n initSuspenseListRenderState(workInProgress, true, // isBackwards\n _tail, null, // last\n tailMode);\n break;\n }\n\n case 'together':\n {\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n null, // tail\n null, // last\n undefined);\n break;\n }\n\n default:\n {\n // The default reveal order is the same as not having\n // a boundary.\n workInProgress.memoizedState = null;\n }\n }\n }\n\n return workInProgress.child;\n}\n\nfunction updatePortalComponent(current, workInProgress, renderLanes) {\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n var nextChildren = workInProgress.pendingProps;\n\n if (current === null) {\n // Portals are special because we don't append the children during mount\n // but at commit. Therefore we need to track insertions which the normal\n // flow doesn't do during mount. This doesn't happen at the root because\n // the root always starts with a \"current\" with a null child.\n // TODO: Consider unifying this with how the root works.\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingNoValuePropOnContextProvider = false;\n\nfunction updateContextProvider(current, workInProgress, renderLanes) {\n var providerType = workInProgress.type;\n var context = providerType._context;\n var newProps = workInProgress.pendingProps;\n var oldProps = workInProgress.memoizedProps;\n var newValue = newProps.value;\n\n {\n if (!('value' in newProps)) {\n if (!hasWarnedAboutUsingNoValuePropOnContextProvider) {\n hasWarnedAboutUsingNoValuePropOnContextProvider = true;\n\n error('The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?');\n }\n }\n\n var providerPropTypes = workInProgress.type.propTypes;\n\n if (providerPropTypes) {\n checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider');\n }\n }\n\n pushProvider(workInProgress, context, newValue);\n\n {\n if (oldProps !== null) {\n var oldValue = oldProps.value;\n\n if (objectIs(oldValue, newValue)) {\n // No change. Bailout early if children are the same.\n if (oldProps.children === newProps.children && !hasContextChanged()) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } else {\n // The context value changed. Search for matching consumers and schedule\n // them to update.\n propagateContextChange(workInProgress, context, renderLanes);\n }\n }\n }\n\n var newChildren = newProps.children;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingContextAsConsumer = false;\n\nfunction updateContextConsumer(current, workInProgress, renderLanes) {\n var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In\n // DEV mode, we create a separate object for Context.Consumer that acts\n // like a proxy to Context. This proxy object adds unnecessary code in PROD\n // so we use the old behaviour (Context.Consumer references Context) to\n // reduce size and overhead. The separate object references context via\n // a property called \"_context\", which also gives us the ability to check\n // in DEV mode if this property exists or not and warn if it does not.\n\n {\n if (context._context === undefined) {\n // This may be because it's a Context (rather than a Consumer).\n // Or it may be because it's older React where they're the same thing.\n // We only want to warn if we're sure it's a new React.\n if (context !== context.Consumer) {\n if (!hasWarnedAboutUsingContextAsConsumer) {\n hasWarnedAboutUsingContextAsConsumer = true;\n\n error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n }\n } else {\n context = context._context;\n }\n }\n\n var newProps = workInProgress.pendingProps;\n var render = newProps.children;\n\n {\n if (typeof render !== 'function') {\n error('A context consumer was rendered with multiple children, or a child ' + \"that isn't a function. A context consumer expects a single child \" + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');\n }\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var newValue = readContext(context);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n var newChildren;\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n newChildren = render(newValue);\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markWorkInProgressReceivedUpdate() {\n didReceiveUpdate = true;\n}\n\nfunction resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress) {\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n if (current !== null) {\n // A lazy component only mounts if it suspended inside a non-\n // concurrent tree, in an inconsistent state. We want to treat it like\n // a new mount, even though an empty version of it already committed.\n // Disconnect the alternate pointers.\n current.alternate = null;\n workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\n\n workInProgress.flags |= Placement;\n }\n }\n}\n\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n if (current !== null) {\n // Reuse previous dependencies\n workInProgress.dependencies = current.dependencies;\n }\n\n {\n // Don't update \"base\" render times for bailouts.\n stopProfilerTimerIfRunning();\n }\n\n markSkippedUpdateLanes(workInProgress.lanes); // Check if the children have any pending work.\n\n if (!includesSomeLane(renderLanes, workInProgress.childLanes)) {\n // The children don't have any work either. We can skip them.\n // TODO: Once we add back resuming, we should check if the children are\n // a work-in-progress set. If so, we need to transfer their effects.\n {\n return null;\n }\n } // This fiber doesn't have work, but its subtree does. Clone the child\n // fibers and continue.\n\n\n cloneChildFibers(current, workInProgress);\n return workInProgress.child;\n}\n\nfunction remountFiber(current, oldWorkInProgress, newWorkInProgress) {\n {\n var returnFiber = oldWorkInProgress.return;\n\n if (returnFiber === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Cannot swap the root fiber.');\n } // Disconnect from the old current.\n // It will get deleted.\n\n\n current.alternate = null;\n oldWorkInProgress.alternate = null; // Connect to the new tree.\n\n newWorkInProgress.index = oldWorkInProgress.index;\n newWorkInProgress.sibling = oldWorkInProgress.sibling;\n newWorkInProgress.return = oldWorkInProgress.return;\n newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it.\n\n if (oldWorkInProgress === returnFiber.child) {\n returnFiber.child = newWorkInProgress;\n } else {\n var prevSibling = returnFiber.child;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected parent to have a child.');\n }\n\n while (prevSibling.sibling !== oldWorkInProgress) {\n prevSibling = prevSibling.sibling;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected to find the previous sibling.');\n }\n }\n\n prevSibling.sibling = newWorkInProgress;\n } // Delete the old fiber and place the new one.\n // Since the old fiber is disconnected, we have to schedule it manually.\n\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [current];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(current);\n }\n\n newWorkInProgress.flags |= Placement; // Restart work from the new fiber.\n\n return newWorkInProgress;\n }\n}\n\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n // Before performing an early bailout, we must check if there are pending\n // updates or context.\n var updateLanes = current.lanes;\n\n if (includesSomeLane(updateLanes, renderLanes)) {\n return true;\n } // No pending update, but because context is propagated lazily, we need\n\n return false;\n}\n\nfunction attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes) {\n // This fiber does not have any pending work. Bailout without entering\n // the begin phase. There's still some bookkeeping we that needs to be done\n // in this optimized path, mostly pushing stuff onto the stack.\n switch (workInProgress.tag) {\n case HostRoot:\n pushHostRootContext(workInProgress);\n var root = workInProgress.stateNode;\n\n resetHydrationState();\n break;\n\n case HostComponent:\n pushHostContext(workInProgress);\n break;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n pushContextProvider(workInProgress);\n }\n\n break;\n }\n\n case HostPortal:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n\n case ContextProvider:\n {\n var newValue = workInProgress.memoizedProps.value;\n var context = workInProgress.type._context;\n pushProvider(workInProgress, context, newValue);\n break;\n }\n\n case Profiler:\n {\n // Profiler should only call onRender when one of its descendants actually rendered.\n var hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (hasChildWork) {\n workInProgress.flags |= Update;\n }\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n break;\n\n case SuspenseComponent:\n {\n var state = workInProgress.memoizedState;\n\n if (state !== null) {\n if (state.dehydrated !== null) {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // We know that this component will suspend again because if it has\n // been unsuspended it has committed as a resolved Suspense component.\n // If it needs to be retried, it should have work scheduled on it.\n\n workInProgress.flags |= DidCapture; // We should never render the children of a dehydrated boundary until we\n // upgrade it. We return null instead of bailoutOnAlreadyFinishedWork.\n\n return null;\n } // If this boundary is currently timed out, we need to decide\n // whether to retry the primary children, or to skip over it and\n // go straight to the fallback. Check the priority of the primary\n // child fragment.\n\n\n var primaryChildFragment = workInProgress.child;\n var primaryChildLanes = primaryChildFragment.childLanes;\n\n if (includesSomeLane(renderLanes, primaryChildLanes)) {\n // The primary children have pending work. Use the normal path\n // to attempt to render the primary children again.\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n } else {\n // The primary child fragment does not have pending work marked\n // on it\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient\n // priority. Bailout.\n\n var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n\n if (child !== null) {\n // The fallback children have pending work. Skip over the\n // primary children and work on the fallback.\n return child.sibling;\n } else {\n // Note: We can return `null` here because we already checked\n // whether there were nested context consumers, via the call to\n // `bailoutOnAlreadyFinishedWork` above.\n return null;\n }\n }\n } else {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current));\n }\n\n break;\n }\n\n case SuspenseListComponent:\n {\n var didSuspendBefore = (current.flags & DidCapture) !== NoFlags;\n\n var _hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (didSuspendBefore) {\n if (_hasChildWork) {\n // If something was in fallback state last time, and we have all the\n // same children then we're still in progressive loading state.\n // Something might get unblocked by state updates or retries in the\n // tree which will affect the tail. So we need to use the normal\n // path to compute the correct tail.\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n } // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n\n\n workInProgress.flags |= DidCapture;\n } // If nothing suspended before and we're rendering the same children,\n // then the tail doesn't matter. Anything new that suspends will work\n // in the \"together\" mode, so we can continue from the state we had.\n\n\n var renderState = workInProgress.memoizedState;\n\n if (renderState !== null) {\n // Reset to the \"together\" mode in case we've started a different\n // update in the past but didn't complete it.\n renderState.rendering = null;\n renderState.tail = null;\n renderState.lastEffect = null;\n }\n\n pushSuspenseContext(workInProgress, suspenseStackCursor.current);\n\n if (_hasChildWork) {\n break;\n } else {\n // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n return null;\n }\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n // Need to check if the tree still needs to be deferred. This is\n // almost identical to the logic used in the normal update path,\n // so we'll just enter that. The only difference is we'll bail out\n // at the next level instead of this one, because the child props\n // have not changed. Which is fine.\n // TODO: Probably should refactor `beginWork` to split the bailout\n // path from the normal path. I'm tempted to do a labeled break here\n // but I won't :)\n workInProgress.lanes = NoLanes;\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\n\nfunction beginWork(current, workInProgress, renderLanes) {\n {\n if (workInProgress._debugNeedsRemount && current !== null) {\n // This will restart the begin phase with a new fiber.\n return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.lanes));\n }\n }\n\n if (current !== null) {\n var oldProps = current.memoizedProps;\n var newProps = workInProgress.pendingProps;\n\n if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload:\n workInProgress.type !== current.type )) {\n // If props or context changed, mark the fiber as having performed work.\n // This may be unset if the props are determined to be equal later (memo).\n didReceiveUpdate = true;\n } else {\n // Neither props nor legacy context changes. Check if there's a pending\n // update or context change.\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext && // If this is the second pass of an error or suspense boundary, there\n // may not be work scheduled on `current`, so we check for this flag.\n (workInProgress.flags & DidCapture) === NoFlags) {\n // No pending updates or context. Bail out now.\n didReceiveUpdate = false;\n return attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes);\n }\n\n if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n } else {\n // An update was scheduled on this fiber, but there are no new props\n // nor legacy context. Set this to false. If an update queue or context\n // consumer produces a changed value, it will set this to true. Otherwise,\n // the component will assume the children have not changed and bail out.\n didReceiveUpdate = false;\n }\n }\n } else {\n didReceiveUpdate = false;\n\n if (getIsHydrating() && isForkedChild(workInProgress)) {\n // Check if this child belongs to a list of muliple children in\n // its parent.\n //\n // In a true multi-threaded implementation, we would render children on\n // parallel threads. This would represent the beginning of a new render\n // thread for this subtree.\n //\n // We only use this for id generation during hydration, which is why the\n // logic is located in this special branch.\n var slotIndex = workInProgress.index;\n var numberOfForks = getForksAtLevel();\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n } // Before entering the begin phase, clear pending update priority.\n // TODO: This assumes that we're about to evaluate the component and process\n // the update queue. However, there's an exception: SimpleMemoComponent\n // sometimes bails out later in the begin phase. This indicates that we should\n // move this assignment out of the common path and into each branch.\n\n\n workInProgress.lanes = NoLanes;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n {\n return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderLanes);\n }\n\n case LazyComponent:\n {\n var elementType = workInProgress.elementType;\n return mountLazyComponent(current, workInProgress, elementType, renderLanes);\n }\n\n case FunctionComponent:\n {\n var Component = workInProgress.type;\n var unresolvedProps = workInProgress.pendingProps;\n var resolvedProps = workInProgress.elementType === Component ? unresolvedProps : resolveDefaultProps(Component, unresolvedProps);\n return updateFunctionComponent(current, workInProgress, Component, resolvedProps, renderLanes);\n }\n\n case ClassComponent:\n {\n var _Component = workInProgress.type;\n var _unresolvedProps = workInProgress.pendingProps;\n\n var _resolvedProps = workInProgress.elementType === _Component ? _unresolvedProps : resolveDefaultProps(_Component, _unresolvedProps);\n\n return updateClassComponent(current, workInProgress, _Component, _resolvedProps, renderLanes);\n }\n\n case HostRoot:\n return updateHostRoot(current, workInProgress, renderLanes);\n\n case HostComponent:\n return updateHostComponent(current, workInProgress, renderLanes);\n\n case HostText:\n return updateHostText(current, workInProgress);\n\n case SuspenseComponent:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n\n case HostPortal:\n return updatePortalComponent(current, workInProgress, renderLanes);\n\n case ForwardRef:\n {\n var type = workInProgress.type;\n var _unresolvedProps2 = workInProgress.pendingProps;\n\n var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);\n\n return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderLanes);\n }\n\n case Fragment:\n return updateFragment(current, workInProgress, renderLanes);\n\n case Mode:\n return updateMode(current, workInProgress, renderLanes);\n\n case Profiler:\n return updateProfiler(current, workInProgress, renderLanes);\n\n case ContextProvider:\n return updateContextProvider(current, workInProgress, renderLanes);\n\n case ContextConsumer:\n return updateContextConsumer(current, workInProgress, renderLanes);\n\n case MemoComponent:\n {\n var _type2 = workInProgress.type;\n var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.\n\n var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3);\n\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = _type2.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only\n 'prop', getComponentNameFromType(_type2));\n }\n }\n }\n\n _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3);\n return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, renderLanes);\n }\n\n case SimpleMemoComponent:\n {\n return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes);\n }\n\n case IncompleteClassComponent:\n {\n var _Component2 = workInProgress.type;\n var _unresolvedProps4 = workInProgress.pendingProps;\n\n var _resolvedProps4 = workInProgress.elementType === _Component2 ? _unresolvedProps4 : resolveDefaultProps(_Component2, _unresolvedProps4);\n\n return mountIncompleteClassComponent(current, workInProgress, _Component2, _resolvedProps4, renderLanes);\n }\n\n case SuspenseListComponent:\n {\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n {\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction markUpdate(workInProgress) {\n // Tag the fiber with an update effect. This turns a Placement into\n // a PlacementAndUpdate.\n workInProgress.flags |= Update;\n}\n\nfunction markRef$1(workInProgress) {\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n}\n\nvar appendAllChildren;\nvar updateHostContainer;\nvar updateHostComponent$1;\nvar updateHostText$1;\n\n{\n // Mutation mode\n appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) {\n // We only have the top Fiber that was created but we need recurse down its\n // children to find all the terminal nodes.\n var node = workInProgress.child;\n\n while (node !== null) {\n if (node.tag === HostComponent || node.tag === HostText) {\n appendInitialChild(parent, node.stateNode);\n } else if (node.tag === HostPortal) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n };\n\n updateHostContainer = function (current, workInProgress) {// Noop\n };\n\n updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) {\n // If we have an alternate, that means this is an update and we need to\n // schedule a side-effect to do the updates.\n var oldProps = current.memoizedProps;\n\n if (oldProps === newProps) {\n // In mutation mode, this is sufficient for a bailout because\n // we won't touch this node even if children changed.\n return;\n } // If we get updated because one of our children updated, we don't\n // have newProps so we'll have to reuse them.\n // TODO: Split the update API as separate for the props vs. children.\n // Even better would be if children weren't special cased at all tho.\n\n\n var instance = workInProgress.stateNode;\n var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host\n // component is hitting the resume path. Figure out why. Possibly\n // related to `hidden`.\n\n var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component.\n\n workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update. All the work is done in commitWork.\n\n if (updatePayload) {\n markUpdate(workInProgress);\n }\n };\n\n updateHostText$1 = function (current, workInProgress, oldText, newText) {\n // If the text differs, mark it as an update. All the work in done in commitWork.\n if (oldText !== newText) {\n markUpdate(workInProgress);\n }\n };\n}\n\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (getIsHydrating()) {\n // If we're hydrating, we should consume as many items as we can\n // so we don't leave any behind.\n return;\n }\n\n switch (renderState.tailMode) {\n case 'hidden':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var tailNode = renderState.tail;\n var lastTailNode = null;\n\n while (tailNode !== null) {\n if (tailNode.alternate !== null) {\n lastTailNode = tailNode;\n }\n\n tailNode = tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (lastTailNode === null) {\n // All remaining items in the tail are insertions.\n renderState.tail = null;\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n lastTailNode.sibling = null;\n }\n\n break;\n }\n\n case 'collapsed':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var _tailNode = renderState.tail;\n var _lastTailNode = null;\n\n while (_tailNode !== null) {\n if (_tailNode.alternate !== null) {\n _lastTailNode = _tailNode;\n }\n\n _tailNode = _tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (_lastTailNode === null) {\n // All remaining items in the tail are insertions.\n if (!hasRenderedATailFallback && renderState.tail !== null) {\n // We suspended during the head. We want to show at least one\n // row at the tail. So we'll keep on and cut off the rest.\n renderState.tail.sibling = null;\n } else {\n renderState.tail = null;\n }\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n _lastTailNode.sibling = null;\n }\n\n break;\n }\n }\n}\n\nfunction bubbleProperties(completedWork) {\n var didBailout = completedWork.alternate !== null && completedWork.alternate.child === completedWork.child;\n var newChildLanes = NoLanes;\n var subtreeFlags = NoFlags;\n\n if (!didBailout) {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var actualDuration = completedWork.actualDuration;\n var treeBaseDuration = completedWork.selfBaseDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(child.lanes, child.childLanes));\n subtreeFlags |= child.subtreeFlags;\n subtreeFlags |= child.flags; // When a fiber is cloned, its actualDuration is reset to 0. This value will\n // only be updated if work is done on the fiber (i.e. it doesn't bailout).\n // When work is done, it should bubble to the parent's actualDuration. If\n // the fiber has not been cloned though, (meaning no work was done), then\n // this value will reflect the amount of time spent working on a previous\n // render. In that case it should not bubble. We determine whether it was\n // cloned by comparing the child pointer.\n\n actualDuration += child.actualDuration;\n treeBaseDuration += child.treeBaseDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n completedWork.treeBaseDuration = treeBaseDuration;\n } else {\n var _child = completedWork.child;\n\n while (_child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child.lanes, _child.childLanes));\n subtreeFlags |= _child.subtreeFlags;\n subtreeFlags |= _child.flags; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child.return = completedWork;\n _child = _child.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n } else {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var _treeBaseDuration = completedWork.selfBaseDuration;\n var _child2 = completedWork.child;\n\n while (_child2 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child2.lanes, _child2.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child2.subtreeFlags & StaticMask;\n subtreeFlags |= _child2.flags & StaticMask;\n _treeBaseDuration += _child2.treeBaseDuration;\n _child2 = _child2.sibling;\n }\n\n completedWork.treeBaseDuration = _treeBaseDuration;\n } else {\n var _child3 = completedWork.child;\n\n while (_child3 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child3.lanes, _child3.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child3.subtreeFlags & StaticMask;\n subtreeFlags |= _child3.flags & StaticMask; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child3.return = completedWork;\n _child3 = _child3.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n }\n\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\n\nfunction completeDehydratedSuspenseBoundary(current, workInProgress, nextState) {\n if (hasUnhydratedTailNodes() && (workInProgress.mode & ConcurrentMode) !== NoMode && (workInProgress.flags & DidCapture) === NoFlags) {\n warnIfUnhydratedTailNodes(workInProgress);\n resetHydrationState();\n workInProgress.flags |= ForceClientRender | Incomplete | ShouldCapture;\n return false;\n }\n\n var wasHydrated = popHydrationState(workInProgress);\n\n if (nextState !== null && nextState.dehydrated !== null) {\n // We might be inside a hydration state the first time we're picking up this\n // Suspense boundary, and also after we've reentered it for further hydration.\n if (current === null) {\n if (!wasHydrated) {\n throw new Error('A dehydrated suspense component was completed without a hydrated node. ' + 'This is probably a bug in React.');\n }\n\n prepareToHydrateHostSuspenseInstance(workInProgress);\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var isTimedOutSuspense = nextState !== null;\n\n if (isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n } else {\n // We might have reentered this boundary to hydrate it. If so, we need to reset the hydration\n // state since we're now exiting out of it. popHydrationState doesn't do that for us.\n resetHydrationState();\n\n if ((workInProgress.flags & DidCapture) === NoFlags) {\n // This boundary did not suspend so it's now hydrated and unsuspended.\n workInProgress.memoizedState = null;\n } // If nothing suspended, we need to schedule an effect to mark this boundary\n // as having hydrated so events know that they're free to be invoked.\n // It's also a signal to replay events and the suspense callback.\n // If something suspended, schedule an effect to attach retry listeners.\n // So we might as well always mark this.\n\n\n workInProgress.flags |= Update;\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var _isTimedOutSuspense = nextState !== null;\n\n if (_isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var _primaryChildFragment = workInProgress.child;\n\n if (_primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= _primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n }\n } else {\n // Successfully completed this tree. If this was a forced client render,\n // there may have been recoverable errors during first hydration\n // attempt. If so, add them to a queue so we can log them in the\n // commit phase.\n upgradeHydrationErrorsToRecoverable(); // Fall through to normal Suspense path\n\n return true;\n }\n}\n\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps; // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case LazyComponent:\n case SimpleMemoComponent:\n case FunctionComponent:\n case ForwardRef:\n case Fragment:\n case Mode:\n case Profiler:\n case ContextConsumer:\n case MemoComponent:\n bubbleProperties(workInProgress);\n return null;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostRoot:\n {\n var fiberRoot = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n\n if (fiberRoot.pendingContext) {\n fiberRoot.context = fiberRoot.pendingContext;\n fiberRoot.pendingContext = null;\n }\n\n if (current === null || current.child === null) {\n // If we hydrated, pop so that we can delete any remaining children\n // that weren't hydrated.\n var wasHydrated = popHydrationState(workInProgress);\n\n if (wasHydrated) {\n // If we hydrated, then we'll need to schedule an update for\n // the commit side-effects on the root.\n markUpdate(workInProgress);\n } else {\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if ( // Check if this is a client root\n !prevState.isDehydrated || // Check if we reverted to client rendering (e.g. due to an error)\n (workInProgress.flags & ForceClientRender) !== NoFlags) {\n // Schedule an effect to clear this container at the start of the\n // next commit. This handles the case of React rendering into a\n // container with previous children. It's also safe to do for\n // updates too, because current.child would only be null if the\n // previous render was null (so the container would already\n // be empty).\n workInProgress.flags |= Snapshot; // If this was a forced client render, there may have been\n // recoverable errors during first hydration attempt. If so, add\n // them to a queue so we can log them in the commit phase.\n\n upgradeHydrationErrorsToRecoverable();\n }\n }\n }\n }\n\n updateHostContainer(current, workInProgress);\n bubbleProperties(workInProgress);\n\n return null;\n }\n\n case HostComponent:\n {\n popHostContext(workInProgress);\n var rootContainerInstance = getRootHostContainer();\n var type = workInProgress.type;\n\n if (current !== null && workInProgress.stateNode != null) {\n updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance);\n\n if (current.ref !== workInProgress.ref) {\n markRef$1(workInProgress);\n }\n } else {\n if (!newProps) {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context\n // \"stack\" as the parent. Then append children as we go in beginWork\n // or completeWork depending on whether we want to add them top->down or\n // bottom->up. Top->down is faster in IE11.\n\n var _wasHydrated = popHydrationState(workInProgress);\n\n if (_wasHydrated) {\n // TODO: Move this and createInstance step into the beginPhase\n // to consolidate.\n if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) {\n // If changes to the hydrated node need to be applied at the\n // commit-phase we mark this as such.\n markUpdate(workInProgress);\n }\n } else {\n var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress);\n appendAllChildren(instance, workInProgress, false, false);\n workInProgress.stateNode = instance; // Certain renderers require commit-time effects for initial mount.\n // (eg DOM renderer supports auto-focus for certain elements).\n // Make sure such renderers get scheduled for later work.\n\n if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) {\n markUpdate(workInProgress);\n }\n }\n\n if (workInProgress.ref !== null) {\n // If there is a ref on a host node we need to schedule a callback\n markRef$1(workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostText:\n {\n var newText = newProps;\n\n if (current && workInProgress.stateNode != null) {\n var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need\n // to schedule a side-effect to do the updates.\n\n updateHostText$1(current, workInProgress, oldText, newText);\n } else {\n if (typeof newText !== 'string') {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n }\n\n var _rootContainerInstance = getRootHostContainer();\n\n var _currentHostContext = getHostContext();\n\n var _wasHydrated2 = popHydrationState(workInProgress);\n\n if (_wasHydrated2) {\n if (prepareToHydrateHostTextInstance(workInProgress)) {\n markUpdate(workInProgress);\n }\n } else {\n workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var nextState = workInProgress.memoizedState; // Special path for dehydrated boundaries. We may eventually move this\n // to its own fiber type so that we can add other kinds of hydration\n // boundaries that aren't associated with a Suspense tree. In anticipation\n // of such a refactor, all the hydration logic is contained in\n // this branch.\n\n if (current === null || current.memoizedState !== null && current.memoizedState.dehydrated !== null) {\n var fallthroughToNormalSuspensePath = completeDehydratedSuspenseBoundary(current, workInProgress, nextState);\n\n if (!fallthroughToNormalSuspensePath) {\n if (workInProgress.flags & ShouldCapture) {\n // Special case. There were remaining unhydrated nodes. We treat\n // this as a mismatch. Revert to client rendering.\n return workInProgress;\n } else {\n // Did not finish hydrating, either because this is the initial\n // render or because something suspended.\n return null;\n }\n } // Continue with the normal Suspense path.\n\n }\n\n if ((workInProgress.flags & DidCapture) !== NoFlags) {\n // Something suspended. Re-render with the fallback children.\n workInProgress.lanes = renderLanes; // Do not reset the effect list.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n } // Don't bubble properties in this case.\n\n\n return workInProgress;\n }\n\n var nextDidTimeout = nextState !== null;\n var prevDidTimeout = current !== null && current.memoizedState !== null;\n // a passive effect, which is when we process the transitions\n\n\n if (nextDidTimeout !== prevDidTimeout) {\n // an effect to toggle the subtree's visibility. When we switch from\n // fallback -> primary, the inner Offscreen fiber schedules this effect\n // as part of its normal complete phase. But when we switch from\n // primary -> fallback, the inner Offscreen fiber does not have a complete\n // phase. So we need to schedule its effect here.\n //\n // We also use this flag to connect/disconnect the effects, but the same\n // logic applies: when re-connecting, the Offscreen fiber's complete\n // phase will handle scheduling the effect. It's only when the fallback\n // is active that we have to do anything special.\n\n\n if (nextDidTimeout) {\n var _offscreenFiber2 = workInProgress.child;\n _offscreenFiber2.flags |= Visibility; // TODO: This will still suspend a synchronous tree if anything\n // in the concurrent tree already suspended during this render.\n // This is a known bug.\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // TODO: Move this back to throwException because this is too late\n // if this is a large tree which is common for initial loads. We\n // don't know if we should restart a render or not until we get\n // this marker, and this is too late.\n // If this render already had a ping or lower pri updates,\n // and this is the first time we know we're going to suspend we\n // should be able to immediately restart from within throwException.\n var hasInvisibleChildContext = current === null && (workInProgress.memoizedProps.unstable_avoidThisFallback !== true || !enableSuspenseAvoidThisFallback);\n\n if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) {\n // If this was in an invisible tree or a new render, then showing\n // this boundary is ok.\n renderDidSuspend();\n } else {\n // Otherwise, we're going to have to hide content so we should\n // suspend for longer if possible.\n renderDidSuspendDelayIfPossible();\n }\n }\n }\n }\n\n var wakeables = workInProgress.updateQueue;\n\n if (wakeables !== null) {\n // Schedule an effect to attach a retry listener to the promise.\n // TODO: Move to passive phase\n workInProgress.flags |= Update;\n }\n\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n if (nextDidTimeout) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n updateHostContainer(current, workInProgress);\n\n if (current === null) {\n preparePortalMount(workInProgress.stateNode.containerInfo);\n }\n\n bubbleProperties(workInProgress);\n return null;\n\n case ContextProvider:\n // Pop provider fiber\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n bubbleProperties(workInProgress);\n return null;\n\n case IncompleteClassComponent:\n {\n // Same as class component case. I put it down here so that the tags are\n // sequential to ensure this switch is compiled to a jump table.\n var _Component = workInProgress.type;\n\n if (isContextProvider(_Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress);\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n // We're running in the default, \"independent\" mode.\n // We don't do anything in this mode.\n bubbleProperties(workInProgress);\n return null;\n }\n\n var didSuspendAlready = (workInProgress.flags & DidCapture) !== NoFlags;\n var renderedTail = renderState.rendering;\n\n if (renderedTail === null) {\n // We just rendered the head.\n if (!didSuspendAlready) {\n // This is the first pass. We need to figure out if anything is still\n // suspended in the rendered set.\n // If new content unsuspended, but there's still some content that\n // didn't. Then we need to do a second pass that forces everything\n // to keep showing their fallbacks.\n // We might be suspended if something in this render pass suspended, or\n // something in the previous committed pass suspended. Otherwise,\n // there's no chance so we can skip the expensive call to\n // findFirstSuspended.\n var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.flags & DidCapture) === NoFlags);\n\n if (!cannotBeSuspended) {\n var row = workInProgress.child;\n\n while (row !== null) {\n var suspended = findFirstSuspended(row);\n\n if (suspended !== null) {\n didSuspendAlready = true;\n workInProgress.flags |= DidCapture;\n cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as\n // part of the second pass. In that case nothing will subscribe to\n // its thenables. Instead, we'll transfer its thenables to the\n // SuspenseList so that it can retry if they resolve.\n // There might be multiple of these in the list but since we're\n // going to wait for all of them anyway, it doesn't really matter\n // which ones gets to ping. In theory we could get clever and keep\n // track of how many dependencies remain but it gets tricky because\n // in the meantime, we can add/remove/change items and dependencies.\n // We might bail out of the loop before finding any but that\n // doesn't matter since that means that the other boundaries that\n // we did find already has their listeners attached.\n\n var newThenables = suspended.updateQueue;\n\n if (newThenables !== null) {\n workInProgress.updateQueue = newThenables;\n workInProgress.flags |= Update;\n } // Rerender the whole list, but this time, we'll force fallbacks\n // to stay in place.\n // Reset the effect flags before doing the second pass since that's now invalid.\n // Reset the child fibers to their original state.\n\n\n workInProgress.subtreeFlags = NoFlags;\n resetChildFibers(workInProgress, renderLanes); // Set up the Suspense Context to force suspense and immediately\n // rerender the children.\n\n pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback)); // Don't bubble properties in this case.\n\n return workInProgress.child;\n }\n\n row = row.sibling;\n }\n }\n\n if (renderState.tail !== null && now() > getRenderTargetTime()) {\n // We have already passed our CPU deadline but we still have rows\n // left in the tail. We'll just give up further attempts to render\n // the main content and only render fallbacks.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n } else {\n cutOffTailIfNeeded(renderState, false);\n } // Next we're going to render the tail.\n\n } else {\n // Append the rendered row to the child list.\n if (!didSuspendAlready) {\n var _suspended = findFirstSuspended(renderedTail);\n\n if (_suspended !== null) {\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't\n // get lost if this row ends up dropped during a second pass.\n\n var _newThenables = _suspended.updateQueue;\n\n if (_newThenables !== null) {\n workInProgress.updateQueue = _newThenables;\n workInProgress.flags |= Update;\n }\n\n cutOffTailIfNeeded(renderState, true); // This might have been modified.\n\n if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate && !getIsHydrating() // We don't cut it if we're hydrating.\n ) {\n // We're done.\n bubbleProperties(workInProgress);\n return null;\n }\n } else if ( // The time it took to render last row is greater than the remaining\n // time we have to render. So rendering one more row would likely\n // exceed it.\n now() * 2 - renderState.renderingStartTime > getRenderTargetTime() && renderLanes !== OffscreenLane) {\n // We have now passed our CPU deadline and we'll just give up further\n // attempts to render the main content and only render fallbacks.\n // The assumption is that this is usually faster.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n }\n\n if (renderState.isBackwards) {\n // The effect list of the backwards tail will have been added\n // to the end. This breaks the guarantee that life-cycles fire in\n // sibling order but that isn't a strong guarantee promised by React.\n // Especially since these might also just pop in during future commits.\n // Append to the beginning of the list.\n renderedTail.sibling = workInProgress.child;\n workInProgress.child = renderedTail;\n } else {\n var previousSibling = renderState.last;\n\n if (previousSibling !== null) {\n previousSibling.sibling = renderedTail;\n } else {\n workInProgress.child = renderedTail;\n }\n\n renderState.last = renderedTail;\n }\n }\n\n if (renderState.tail !== null) {\n // We still have tail rows to render.\n // Pop a row.\n var next = renderState.tail;\n renderState.rendering = next;\n renderState.tail = next.sibling;\n renderState.renderingStartTime = now();\n next.sibling = null; // Restore the context.\n // TODO: We can probably just avoid popping it instead and only\n // setting it the first time we go from not suspended to suspended.\n\n var suspenseContext = suspenseStackCursor.current;\n\n if (didSuspendAlready) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n } else {\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row.\n // Don't bubble properties in this case.\n\n return next;\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n popRenderLanes(workInProgress);\n var _nextState = workInProgress.memoizedState;\n var nextIsHidden = _nextState !== null;\n\n if (current !== null) {\n var _prevState = current.memoizedState;\n var prevIsHidden = _prevState !== null;\n\n if (prevIsHidden !== nextIsHidden && ( // LegacyHidden doesn't do any hiding — it only pre-renders.\n !enableLegacyHidden )) {\n workInProgress.flags |= Visibility;\n }\n }\n\n if (!nextIsHidden || (workInProgress.mode & ConcurrentMode) === NoMode) {\n bubbleProperties(workInProgress);\n } else {\n // Don't bubble properties for hidden children unless we're rendering\n // at offscreen priority.\n if (includesSomeLane(subtreeRenderLanes, OffscreenLane)) {\n bubbleProperties(workInProgress);\n\n {\n // Check if there was an insertion or update in the hidden subtree.\n // If so, we need to hide those nodes in the commit phase, so\n // schedule a visibility effect.\n if ( workInProgress.subtreeFlags & (Placement | Update)) {\n workInProgress.flags |= Visibility;\n }\n }\n }\n }\n return null;\n }\n\n case CacheComponent:\n {\n\n return null;\n }\n\n case TracingMarkerComponent:\n {\n\n return null;\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction unwindWork(current, workInProgress, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n var flags = workInProgress.flags;\n\n if (flags & ShouldCapture) {\n workInProgress.flags = flags & ~ShouldCapture | DidCapture;\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case HostRoot:\n {\n var root = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n var _flags = workInProgress.flags;\n\n if ((_flags & ShouldCapture) !== NoFlags && (_flags & DidCapture) === NoFlags) {\n // There was an error during render that wasn't captured by a suspense\n // boundary. Do a second pass on the root to unmount the children.\n workInProgress.flags = _flags & ~ShouldCapture | DidCapture;\n return workInProgress;\n } // We unwound to the root without completing it. Exit.\n\n\n return null;\n }\n\n case HostComponent:\n {\n // TODO: popHydrationState\n popHostContext(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n if (workInProgress.alternate === null) {\n throw new Error('Threw in newly mounted dehydrated component. This is likely a bug in ' + 'React. Please file an issue.');\n }\n\n resetHydrationState();\n }\n\n var _flags2 = workInProgress.flags;\n\n if (_flags2 & ShouldCapture) {\n workInProgress.flags = _flags2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been\n // caught by a nested boundary. If not, it should bubble through.\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n return null;\n\n case ContextProvider:\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n return null;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(workInProgress);\n return null;\n\n case CacheComponent:\n\n return null;\n\n default:\n return null;\n }\n}\n\nfunction unwindInterruptedWork(current, interruptedWork, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(interruptedWork);\n\n switch (interruptedWork.tag) {\n case ClassComponent:\n {\n var childContextTypes = interruptedWork.type.childContextTypes;\n\n if (childContextTypes !== null && childContextTypes !== undefined) {\n popContext(interruptedWork);\n }\n\n break;\n }\n\n case HostRoot:\n {\n var root = interruptedWork.stateNode;\n popHostContainer(interruptedWork);\n popTopLevelContextObject(interruptedWork);\n resetWorkInProgressVersions();\n break;\n }\n\n case HostComponent:\n {\n popHostContext(interruptedWork);\n break;\n }\n\n case HostPortal:\n popHostContainer(interruptedWork);\n break;\n\n case SuspenseComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case SuspenseListComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case ContextProvider:\n var context = interruptedWork.type._context;\n popProvider(context, interruptedWork);\n break;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(interruptedWork);\n break;\n }\n}\n\nvar didWarnAboutUndefinedSnapshotBeforeUpdate = null;\n\n{\n didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();\n} // Used during the commit phase to track the state of the Offscreen component stack.\n// Allows us to avoid traversing the return path to find the nearest Offscreen ancestor.\n// Only used when enableSuspenseLayoutEffectSemantics is enabled.\n\n\nvar offscreenSubtreeIsHidden = false;\nvar offscreenSubtreeWasHidden = false;\nvar PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set;\nvar nextEffect = null; // Used for Profiling builds to track updaters.\n\nvar inProgressLanes = null;\nvar inProgressRoot = null;\nfunction reportUncaughtErrorInDEV(error) {\n // Wrapping each small part of the commit phase into a guarded\n // callback is a bit too slow (https://github.com/facebook/react/pull/21666).\n // But we rely on it to surface errors to DEV tools like overlays\n // (https://github.com/facebook/react/issues/21712).\n // As a compromise, rethrow only caught errors in a guard.\n {\n invokeGuardedCallback(null, function () {\n throw error;\n });\n clearCaughtError();\n }\n}\n\nvar callComponentWillUnmountWithTimer = function (current, instance) {\n instance.props = current.memoizedProps;\n instance.state = current.memoizedState;\n\n if ( current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentWillUnmount();\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n instance.componentWillUnmount();\n }\n}; // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallCommitHookLayoutEffectListMount(current, nearestMountedAncestor) {\n try {\n commitHookEffectListMount(Layout, current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt unmounting.\n\n\nfunction safelyCallComponentWillUnmount(current, nearestMountedAncestor, instance) {\n try {\n callComponentWillUnmountWithTimer(current, instance);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallComponentDidMount(current, nearestMountedAncestor, instance) {\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n commitAttachRef(current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref;\n\n if (ref !== null) {\n if (typeof ref === 'function') {\n var retVal;\n\n try {\n if (enableProfilerTimer && enableProfilerCommitHooks && current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(null);\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n retVal = ref(null);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(current));\n }\n }\n } else {\n ref.current = null;\n }\n }\n}\n\nfunction safelyCallDestroy(current, nearestMountedAncestor, destroy) {\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nvar focusedInstanceHandle = null;\nvar shouldFireAfterActiveInstanceBlur = false;\nfunction commitBeforeMutationEffects(root, firstChild) {\n focusedInstanceHandle = prepareForCommit(root.containerInfo);\n nextEffect = firstChild;\n commitBeforeMutationEffects_begin(); // We no longer need to track the active instance fiber\n\n var shouldFire = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = false;\n focusedInstanceHandle = null;\n return shouldFire;\n}\n\nfunction commitBeforeMutationEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect; // This phase is only used for beforeActiveInstanceBlur.\n\n var child = fiber.child;\n\n if ((fiber.subtreeFlags & BeforeMutationMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitBeforeMutationEffects_complete();\n }\n }\n}\n\nfunction commitBeforeMutationEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n setCurrentFiber(fiber);\n\n try {\n commitBeforeMutationEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitBeforeMutationEffectsOnFiber(finishedWork) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags;\n\n if ((flags & Snapshot) !== NoFlags) {\n setCurrentFiber(finishedWork);\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n break;\n }\n\n case ClassComponent:\n {\n if (current !== null) {\n var prevProps = current.memoizedProps;\n var prevState = current.memoizedState;\n var instance = finishedWork.stateNode; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);\n\n {\n var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;\n\n if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {\n didWarnSet.add(finishedWork.type);\n\n error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentNameFromFiber(finishedWork));\n }\n }\n\n instance.__reactInternalSnapshotBeforeUpdate = snapshot;\n }\n\n break;\n }\n\n case HostRoot:\n {\n {\n var root = finishedWork.stateNode;\n clearContainer(root.containerInfo);\n }\n\n break;\n }\n\n case HostComponent:\n case HostText:\n case HostPortal:\n case IncompleteClassComponent:\n // Nothing to do for these component types\n break;\n\n default:\n {\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n // Unmount\n var destroy = effect.destroy;\n effect.destroy = undefined;\n\n if (destroy !== undefined) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStarted(finishedWork);\n }\n }\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n safelyCallDestroy(finishedWork, nearestMountedAncestor, destroy);\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitHookEffectListMount(flags, finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStarted(finishedWork);\n }\n } // Mount\n\n\n var create = effect.create;\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n effect.destroy = create();\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStopped();\n }\n }\n\n {\n var destroy = effect.destroy;\n\n if (destroy !== undefined && typeof destroy !== 'function') {\n var hookName = void 0;\n\n if ((effect.tag & Layout) !== NoFlags) {\n hookName = 'useLayoutEffect';\n } else if ((effect.tag & Insertion) !== NoFlags) {\n hookName = 'useInsertionEffect';\n } else {\n hookName = 'useEffect';\n }\n\n var addendum = void 0;\n\n if (destroy === null) {\n addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).';\n } else if (typeof destroy.then === 'function') {\n addendum = '\\n\\nIt looks like you wrote ' + hookName + '(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\\n\\n' + hookName + '(() => {\\n' + ' async function fetchData() {\\n' + ' // You can await here\\n' + ' const response = await MyAPI.getData(someId);\\n' + ' // ...\\n' + ' }\\n' + ' fetchData();\\n' + \"}, [someId]); // Or [] if effect doesn't need props or state\\n\\n\" + 'Learn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching';\n } else {\n addendum = ' You returned: ' + destroy;\n }\n\n error('%s must not return anything besides a function, ' + 'which is used for clean-up.%s', hookName, addendum);\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitPassiveEffectDurations(finishedRoot, finishedWork) {\n {\n // Only Profilers with work in their subtree will have an Update effect scheduled.\n if ((finishedWork.flags & Update) !== NoFlags) {\n switch (finishedWork.tag) {\n case Profiler:\n {\n var passiveEffectDuration = finishedWork.stateNode.passiveEffectDuration;\n var _finishedWork$memoize = finishedWork.memoizedProps,\n id = _finishedWork$memoize.id,\n onPostCommit = _finishedWork$memoize.onPostCommit; // This value will still reflect the previous commit phase.\n // It does not get reset until the start of the next commit phase.\n\n var commitTime = getCommitTime();\n var phase = finishedWork.alternate === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onPostCommit === 'function') {\n onPostCommit(id, phase, passiveEffectDuration, commitTime);\n } // Bubble times to the next nearest ancestor Profiler.\n // After we process that Profiler, we'll bubble further up.\n\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.passiveEffectDuration += passiveEffectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.passiveEffectDuration += passiveEffectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork, committedLanes) {\n if ((finishedWork.flags & LayoutMask) !== NoFlags) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( !offscreenSubtreeWasHidden) {\n // At this point layout effects have already been destroyed (during mutation phase).\n // This is done to prevent sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n }\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = finishedWork.stateNode;\n\n if (finishedWork.flags & Update) {\n if (!offscreenSubtreeWasHidden) {\n if (current === null) {\n // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidMount();\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidMount();\n }\n } else {\n var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps);\n var prevState = current.memoizedState; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n }\n }\n }\n } // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n\n\n var updateQueue = finishedWork.updateQueue;\n\n if (updateQueue !== null) {\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n } // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n\n commitUpdateQueue(finishedWork, updateQueue, instance);\n }\n\n break;\n }\n\n case HostRoot:\n {\n // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n var _updateQueue = finishedWork.updateQueue;\n\n if (_updateQueue !== null) {\n var _instance = null;\n\n if (finishedWork.child !== null) {\n switch (finishedWork.child.tag) {\n case HostComponent:\n _instance = getPublicInstance(finishedWork.child.stateNode);\n break;\n\n case ClassComponent:\n _instance = finishedWork.child.stateNode;\n break;\n }\n }\n\n commitUpdateQueue(finishedWork, _updateQueue, _instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted\n // (eg DOM renderer may schedule auto-focus for inputs and form controls).\n // These effects should only be committed when components are first mounted,\n // aka when there is no current/alternate.\n\n if (current === null && finishedWork.flags & Update) {\n var type = finishedWork.type;\n var props = finishedWork.memoizedProps;\n commitMount(_instance2, type, props);\n }\n\n break;\n }\n\n case HostText:\n {\n // We have no life-cycles associated with text.\n break;\n }\n\n case HostPortal:\n {\n // We have no life-cycles associated with portals.\n break;\n }\n\n case Profiler:\n {\n {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n onCommit = _finishedWork$memoize2.onCommit,\n onRender = _finishedWork$memoize2.onRender;\n var effectDuration = finishedWork.stateNode.effectDuration;\n var commitTime = getCommitTime();\n var phase = current === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onRender === 'function') {\n onRender(finishedWork.memoizedProps.id, phase, finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, commitTime);\n }\n\n {\n if (typeof onCommit === 'function') {\n onCommit(finishedWork.memoizedProps.id, phase, effectDuration, commitTime);\n } // Schedule a passive effect for this Profiler to call onPostCommit hooks.\n // This effect should be scheduled even if there is no onPostCommit callback for this Profiler,\n // because the effect is also where times bubble to parent Profilers.\n\n\n enqueuePendingPassiveProfilerEffect(finishedWork); // Propagate layout effect durations to the next nearest Profiler ancestor.\n // Do not reset these values until the next render so DevTools has a chance to read them first.\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += effectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += effectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n }\n\n case SuspenseListComponent:\n case IncompleteClassComponent:\n case ScopeComponent:\n case OffscreenComponent:\n case LegacyHiddenComponent:\n case TracingMarkerComponent:\n {\n break;\n }\n\n default:\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n if ( !offscreenSubtreeWasHidden) {\n {\n if (finishedWork.flags & Ref) {\n commitAttachRef(finishedWork);\n }\n }\n }\n}\n\nfunction reappearLayoutEffectsOnFiber(node) {\n // Turn on layout effects in a tree that previously disappeared.\n // TODO (Offscreen) Check: flags & LayoutStatic\n switch (node.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( node.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n } finally {\n recordLayoutEffectDuration(node);\n }\n } else {\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = node.stateNode;\n\n if (typeof instance.componentDidMount === 'function') {\n safelyCallComponentDidMount(node, node.return, instance);\n }\n\n safelyAttachRef(node, node.return);\n break;\n }\n\n case HostComponent:\n {\n safelyAttachRef(node, node.return);\n break;\n }\n }\n}\n\nfunction hideOrUnhideAllChildren(finishedWork, isHidden) {\n // Only hide or unhide the top-most host nodes.\n var hostSubtreeRoot = null;\n\n {\n // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n var node = finishedWork;\n\n while (true) {\n if (node.tag === HostComponent) {\n if (hostSubtreeRoot === null) {\n hostSubtreeRoot = node;\n\n try {\n var instance = node.stateNode;\n\n if (isHidden) {\n hideInstance(instance);\n } else {\n unhideInstance(node.stateNode, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if (node.tag === HostText) {\n if (hostSubtreeRoot === null) {\n try {\n var _instance3 = node.stateNode;\n\n if (isHidden) {\n hideTextInstance(_instance3);\n } else {\n unhideTextInstance(_instance3, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if ((node.tag === OffscreenComponent || node.tag === LegacyHiddenComponent) && node.memoizedState !== null && node !== finishedWork) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === finishedWork) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node = node.return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n}\n\nfunction commitAttachRef(finishedWork) {\n var ref = finishedWork.ref;\n\n if (ref !== null) {\n var instance = finishedWork.stateNode;\n var instanceToUse;\n\n switch (finishedWork.tag) {\n case HostComponent:\n instanceToUse = getPublicInstance(instance);\n break;\n\n default:\n instanceToUse = instance;\n } // Moved outside to ensure DCE works with this flag\n\n if (typeof ref === 'function') {\n var retVal;\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(instanceToUse);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n retVal = ref(instanceToUse);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(finishedWork));\n }\n }\n } else {\n {\n if (!ref.hasOwnProperty('current')) {\n error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().', getComponentNameFromFiber(finishedWork));\n }\n }\n\n ref.current = instanceToUse;\n }\n }\n}\n\nfunction detachFiberMutation(fiber) {\n // Cut off the return pointer to disconnect it from the tree.\n // This enables us to detect and warn against state updates on an unmounted component.\n // It also prevents events from bubbling from within disconnected components.\n //\n // Ideally, we should also clear the child pointer of the parent alternate to let this\n // get GC:ed but we don't know which for sure which parent is the current\n // one so we'll settle for GC:ing the subtree of this child.\n // This child itself will be GC:ed when the parent updates the next time.\n //\n // Note that we can't clear child or sibling pointers yet.\n // They're needed for passive effects and for findDOMNode.\n // We defer those fields, and all other cleanup, to the passive phase (see detachFiberAfterEffects).\n //\n // Don't reset the alternate yet, either. We need that so we can detach the\n // alternate's fields in the passive phase. Clearing the return pointer is\n // sufficient for findDOMNode semantics.\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.return = null;\n }\n\n fiber.return = null;\n}\n\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n fiber.alternate = null;\n detachFiberAfterEffects(alternate);\n } // Note: Defensively using negation instead of < in case\n // `deletedTreeCleanUpLevel` is undefined.\n\n\n {\n // Clear cyclical Fiber fields. This level alone is designed to roughly\n // approximate the planned Fiber refactor. In that world, `setState` will be\n // bound to a special \"instance\" object instead of a Fiber. The Instance\n // object will not have any of these fields. It will only be connected to\n // the fiber tree via a single link at the root. So if this level alone is\n // sufficient to fix memory issues, that bodes well for our plans.\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null; // The `stateNode` is cyclical because on host nodes it points to the host\n // tree, which has its own pointers to children, parents, and siblings.\n // The other host nodes also point back to fibers, so we should detach that\n // one, too.\n\n if (fiber.tag === HostComponent) {\n var hostInstance = fiber.stateNode;\n\n if (hostInstance !== null) {\n detachDeletedInstance(hostInstance);\n }\n }\n\n fiber.stateNode = null; // I'm intentionally not clearing the `return` field in this level. We\n // already disconnect the `return` pointer at the root of the deleted\n // subtree (in `detachFiberMutation`). Besides, `return` by itself is not\n // cyclical — it's only cyclical when combined with `child`, `sibling`, and\n // `alternate`. But we'll clear it in the next level anyway, just in case.\n\n {\n fiber._debugOwner = null;\n }\n\n {\n // Theoretically, nothing in here should be necessary, because we already\n // disconnected the fiber from the tree. So even if something leaks this\n // particular fiber, it won't leak anything else\n //\n // The purpose of this branch is to be super aggressive so we can measure\n // if there's any difference in memory impact. If there is, that could\n // indicate a React leak we don't know about.\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead.\n\n fiber.updateQueue = null;\n }\n }\n}\n\nfunction getHostParentFiber(fiber) {\n var parent = fiber.return;\n\n while (parent !== null) {\n if (isHostParent(parent)) {\n return parent;\n }\n\n parent = parent.return;\n }\n\n throw new Error('Expected to find a host parent. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n}\n\nfunction isHostParent(fiber) {\n return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal;\n}\n\nfunction getHostSibling(fiber) {\n // We're going to search forward into the tree until we find a sibling host\n // node. Unfortunately, if multiple insertions are done in a row we have to\n // search past them. This leads to exponential search for the next sibling.\n // TODO: Find a more efficient way to do this.\n var node = fiber;\n\n siblings: while (true) {\n // If we didn't find anything, let's try the next sibling.\n while (node.sibling === null) {\n if (node.return === null || isHostParent(node.return)) {\n // If we pop out of the root or hit the parent the fiber we are the\n // last sibling.\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n\n while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) {\n // If it is not host node and, we might have a host node inside it.\n // Try to search down until we find one.\n if (node.flags & Placement) {\n // If we don't have a child, try the siblings instead.\n continue siblings;\n } // If we don't have a child, try the siblings instead.\n // We also skip portals because they are not part of this host tree.\n\n\n if (node.child === null || node.tag === HostPortal) {\n continue siblings;\n } else {\n node.child.return = node;\n node = node.child;\n }\n } // Check if this host node is stable or about to be placed.\n\n\n if (!(node.flags & Placement)) {\n // Found it!\n return node.stateNode;\n }\n }\n}\n\nfunction commitPlacement(finishedWork) {\n\n\n var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together.\n\n switch (parentFiber.tag) {\n case HostComponent:\n {\n var parent = parentFiber.stateNode;\n\n if (parentFiber.flags & ContentReset) {\n // Reset the text content of the parent before doing any insertions\n resetTextContent(parent); // Clear ContentReset from the effect tag\n\n parentFiber.flags &= ~ContentReset;\n }\n\n var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n }\n\n case HostRoot:\n case HostPortal:\n {\n var _parent = parentFiber.stateNode.containerInfo;\n\n var _before = getHostSibling(finishedWork);\n\n insertOrAppendPlacementNodeIntoContainer(finishedWork, _before, _parent);\n break;\n }\n // eslint-disable-next-line-no-fallthrough\n\n default:\n throw new Error('Invalid host parent fiber. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n}\n\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertInContainerBefore(parent, stateNode, before);\n } else {\n appendChildToContainer(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNodeIntoContainer(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNodeIntoContainer(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n}\n\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertBefore(parent, stateNode, before);\n } else {\n appendChild(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNode(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNode(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n} // These are tracked on the stack as we recursively traverse a\n// deleted subtree.\n// TODO: Update these during the whole mutation phase, not just during\n// a deletion.\n\n\nvar hostParent = null;\nvar hostParentIsContainer = false;\n\nfunction commitDeletionEffects(root, returnFiber, deletedFiber) {\n {\n // We only have the top Fiber that was deleted but we need to recurse down its\n // children to find all the terminal nodes.\n // Recursively delete all host nodes from the parent, detach refs, clean\n // up mounted layout effects, and call componentWillUnmount.\n // We only need to remove the topmost host child in each branch. But then we\n // still need to keep traversing to unmount effects, refs, and cWU. TODO: We\n // could split this into two separate traversals functions, where the second\n // one doesn't include any removeChild logic. This is maybe the same\n // function as \"disappearLayoutEffects\" (or whatever that turns into after\n // the layout phase is refactored to use recursion).\n // Before starting, find the nearest host parent on the stack so we know\n // which instance/container to remove the children from.\n // TODO: Instead of searching up the fiber return path on every deletion, we\n // can track the nearest host component on the JS stack as we traverse the\n // tree during the commit phase. This would make insertions faster, too.\n var parent = returnFiber;\n\n findParent: while (parent !== null) {\n switch (parent.tag) {\n case HostComponent:\n {\n hostParent = parent.stateNode;\n hostParentIsContainer = false;\n break findParent;\n }\n\n case HostRoot:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n\n case HostPortal:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n }\n\n parent = parent.return;\n }\n\n if (hostParent === null) {\n throw new Error('Expected to find a host parent. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n }\n\n commitDeletionEffectsOnFiber(root, returnFiber, deletedFiber);\n hostParent = null;\n hostParentIsContainer = false;\n }\n\n detachFiberMutation(deletedFiber);\n}\n\nfunction recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {\n // TODO: Use a static flag to skip trees that don't have unmount effects\n var child = parent.child;\n\n while (child !== null) {\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, child);\n child = child.sibling;\n }\n}\n\nfunction commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {\n onCommitUnmount(deletedFiber); // The cases in this outer switch modify the stack before they traverse\n // into their subtree. There are simpler cases in the inner switch\n // that don't modify the stack.\n\n switch (deletedFiber.tag) {\n case HostComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n } // Intentional fallthrough to next branch\n\n }\n // eslint-disable-next-line-no-fallthrough\n\n case HostText:\n {\n // We only need to remove the nearest host child. Set the host parent\n // to `null` on the stack to indicate that nested children don't\n // need to be removed.\n {\n var prevHostParent = hostParent;\n var prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n\n if (hostParent !== null) {\n // Now that all the child effects have unmounted, we can remove the\n // node from the tree.\n if (hostParentIsContainer) {\n removeChildFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n removeChild(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case DehydratedFragment:\n {\n // Delete the dehydrated suspense boundary and all of its content.\n\n\n {\n if (hostParent !== null) {\n if (hostParentIsContainer) {\n clearSuspenseBoundaryFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n clearSuspenseBoundary(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n {\n // When we go into a portal, it becomes the parent to remove from.\n var _prevHostParent = hostParent;\n var _prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = true;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = _prevHostParent;\n hostParentIsContainer = _prevHostParentIsContainer;\n }\n\n return;\n }\n\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n var updateQueue = deletedFiber.updateQueue;\n\n if (updateQueue !== null) {\n var lastEffect = updateQueue.lastEffect;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n var _effect = effect,\n destroy = _effect.destroy,\n tag = _effect.tag;\n\n if (destroy !== undefined) {\n if ((tag & Insertion) !== NoFlags$1) {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n } else if ((tag & Layout) !== NoFlags$1) {\n {\n markComponentLayoutEffectUnmountStarted(deletedFiber);\n }\n\n if ( deletedFiber.mode & ProfileMode) {\n startLayoutEffectTimer();\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n recordLayoutEffectDuration(deletedFiber);\n } else {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n }\n\n {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ClassComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var instance = deletedFiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(deletedFiber, nearestMountedAncestor, instance);\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ScopeComponent:\n {\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case OffscreenComponent:\n {\n if ( // TODO: Remove this dead flag\n deletedFiber.mode & ConcurrentMode) {\n // If this offscreen component is hidden, we already unmounted it. Before\n // deleting the children, track that it's already unmounted so that we\n // don't attempt to unmount the effects again.\n // TODO: If the tree is hidden, in most cases we should be able to skip\n // over the nested children entirely. An exception is we haven't yet found\n // the topmost host node to delete, which we already track on the stack.\n // But the other case is portals, which need to be detached no matter how\n // deeply they are nested. We should use a subtree flag to track whether a\n // subtree includes a nested portal.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || deletedFiber.memoizedState !== null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n }\n}\n\nfunction commitSuspenseCallback(finishedWork) {\n // TODO: Move this to passive phase\n var newState = finishedWork.memoizedState;\n}\n\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n\n var newState = finishedWork.memoizedState;\n\n if (newState === null) {\n var current = finishedWork.alternate;\n\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var suspenseInstance = prevState.dehydrated;\n\n if (suspenseInstance !== null) {\n commitHydratedSuspenseInstance(suspenseInstance);\n }\n }\n }\n }\n}\n\nfunction attachSuspenseRetryListeners(finishedWork) {\n // If this boundary just timed out, then it will have a set of wakeables.\n // For each wakeable, attach a listener so that when it resolves, React\n // attempts to re-render the boundary in the primary (pre-timeout) state.\n var wakeables = finishedWork.updateQueue;\n\n if (wakeables !== null) {\n finishedWork.updateQueue = null;\n var retryCache = finishedWork.stateNode;\n\n if (retryCache === null) {\n retryCache = finishedWork.stateNode = new PossiblyWeakSet();\n }\n\n wakeables.forEach(function (wakeable) {\n // Memoize using the boundary fiber to prevent redundant listeners.\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n\n {\n if (isDevToolsPresent) {\n if (inProgressLanes !== null && inProgressRoot !== null) {\n // If we have pending work still, associate the original updaters with it.\n restorePendingUpdaters(inProgressRoot, inProgressLanes);\n } else {\n throw Error('Expected finished root and lanes to be set. This is a bug in React.');\n }\n }\n }\n\n wakeable.then(retry, retry);\n }\n });\n }\n} // This function detects when a Suspense boundary goes from visible to hidden.\nfunction commitMutationEffects(root, finishedWork, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n setCurrentFiber(finishedWork);\n commitMutationEffectsOnFiber(finishedWork, root);\n setCurrentFiber(finishedWork);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction recursivelyTraverseMutationEffects(root, parentFiber, lanes) {\n // Deletions effects can be scheduled on any fiber type. They need to happen\n // before the children effects hae fired.\n var deletions = parentFiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n\n try {\n commitDeletionEffects(root, parentFiber, childToDelete);\n } catch (error) {\n captureCommitPhaseError(childToDelete, parentFiber, error);\n }\n }\n }\n\n var prevDebugFiber = getCurrentFiber();\n\n if (parentFiber.subtreeFlags & MutationMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n commitMutationEffectsOnFiber(child, root);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction commitMutationEffectsOnFiber(finishedWork, root, lanes) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags; // The effect flag should be checked *after* we refine the type of fiber,\n // because the fiber tag is more specific. An exception is any flag related\n // to reconcilation, because those can be set on all fiber types.\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n try {\n commitHookEffectListUnmount(Insertion | HasEffect, finishedWork, finishedWork.return);\n commitHookEffectListMount(Insertion | HasEffect, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Layout effects are destroyed during the mutation phase so that all\n // destroy functions for all fibers are called before any create functions.\n // This prevents sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordLayoutEffectDuration(finishedWork);\n } else {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case ClassComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n return;\n }\n\n case HostComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n {\n // TODO: ContentReset gets cleared by the children during the commit\n // phase. This is a refactor hazard because it means we must read\n // flags the flags after `commitReconciliationEffects` has already run;\n // the order matters. We should refactor so that ContentReset does not\n // rely on mutating the flag during commit. Like by setting a flag\n // during the render phase instead.\n if (finishedWork.flags & ContentReset) {\n var instance = finishedWork.stateNode;\n\n try {\n resetTextContent(instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n\n if (flags & Update) {\n var _instance4 = finishedWork.stateNode;\n\n if (_instance4 != null) {\n // Commit the work prepared earlier.\n var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldProps = current !== null ? current.memoizedProps : newProps;\n var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components.\n\n var updatePayload = finishedWork.updateQueue;\n finishedWork.updateQueue = null;\n\n if (updatePayload !== null) {\n try {\n commitUpdate(_instance4, updatePayload, type, oldProps, newProps, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostText:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (finishedWork.stateNode === null) {\n throw new Error('This should have a text node initialized. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n }\n\n var textInstance = finishedWork.stateNode;\n var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldText = current !== null ? current.memoizedProps : newText;\n\n try {\n commitTextUpdate(textInstance, oldText, newText);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case HostRoot:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (current !== null) {\n var prevRootState = current.memoizedState;\n\n if (prevRootState.isDehydrated) {\n try {\n commitHydratedContainer(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n return;\n }\n\n case SuspenseComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n var offscreenFiber = finishedWork.child;\n\n if (offscreenFiber.flags & Visibility) {\n var offscreenInstance = offscreenFiber.stateNode;\n var newState = offscreenFiber.memoizedState;\n var isHidden = newState !== null; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n offscreenInstance.isHidden = isHidden;\n\n if (isHidden) {\n var wasHidden = offscreenFiber.alternate !== null && offscreenFiber.alternate.memoizedState !== null;\n\n if (!wasHidden) {\n // TODO: Move to passive phase\n markCommitTimeOfFallback();\n }\n }\n }\n\n if (flags & Update) {\n try {\n commitSuspenseCallback(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case OffscreenComponent:\n {\n var _wasHidden = current !== null && current.memoizedState !== null;\n\n if ( // TODO: Remove this dead flag\n finishedWork.mode & ConcurrentMode) {\n // Before committing the children, track on the stack whether this\n // offscreen subtree was already hidden, so that we don't unmount the\n // effects again.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || _wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseMutationEffects(root, finishedWork);\n }\n\n commitReconciliationEffects(finishedWork);\n\n if (flags & Visibility) {\n var _offscreenInstance = finishedWork.stateNode;\n var _newState = finishedWork.memoizedState;\n\n var _isHidden = _newState !== null;\n\n var offscreenBoundary = finishedWork; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n _offscreenInstance.isHidden = _isHidden;\n\n {\n if (_isHidden) {\n if (!_wasHidden) {\n if ((offscreenBoundary.mode & ConcurrentMode) !== NoMode) {\n nextEffect = offscreenBoundary;\n var offscreenChild = offscreenBoundary.child;\n\n while (offscreenChild !== null) {\n nextEffect = offscreenChild;\n disappearLayoutEffects_begin(offscreenChild);\n offscreenChild = offscreenChild.sibling;\n }\n }\n }\n }\n }\n\n {\n // TODO: This needs to run whenever there's an insertion or update\n // inside a hidden Offscreen tree.\n hideOrUnhideAllChildren(offscreenBoundary, _isHidden);\n }\n }\n\n return;\n }\n\n case SuspenseListComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case ScopeComponent:\n {\n\n return;\n }\n\n default:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n return;\n }\n }\n}\n\nfunction commitReconciliationEffects(finishedWork) {\n // Placement effects (insertions, reorders) can be scheduled on any fiber\n // type. They needs to happen after the children effects have fired, but\n // before the effects on this fiber have fired.\n var flags = finishedWork.flags;\n\n if (flags & Placement) {\n try {\n commitPlacement(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Clear the \"placement\" from effect tag so that we know that this is\n // inserted, before any life-cycles like componentDidMount gets called.\n // TODO: findDOMNode doesn't rely on this any more but isMounted does\n // and isMounted is deprecated anyway so we should be able to kill this.\n\n\n finishedWork.flags &= ~Placement;\n }\n\n if (flags & Hydrating) {\n finishedWork.flags &= ~Hydrating;\n }\n}\n\nfunction commitLayoutEffects(finishedWork, root, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n nextEffect = finishedWork;\n commitLayoutEffects_begin(finishedWork, root, committedLanes);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction commitLayoutEffects_begin(subtreeRoot, root, committedLanes) {\n // Suspense layout effects semantics don't change for legacy roots.\n var isModernRoot = (subtreeRoot.mode & ConcurrentMode) !== NoMode;\n\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ( fiber.tag === OffscreenComponent && isModernRoot) {\n // Keep track of the current Offscreen stack's state.\n var isHidden = fiber.memoizedState !== null;\n var newOffscreenSubtreeIsHidden = isHidden || offscreenSubtreeIsHidden;\n\n if (newOffscreenSubtreeIsHidden) {\n // The Offscreen tree is hidden. Skip over its layout effects.\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n } else {\n // TODO (Offscreen) Also check: subtreeFlags & LayoutMask\n var current = fiber.alternate;\n var wasHidden = current !== null && current.memoizedState !== null;\n var newOffscreenSubtreeWasHidden = wasHidden || offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; // Traverse the Offscreen subtree with the current Offscreen as the root.\n\n offscreenSubtreeIsHidden = newOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden;\n\n if (offscreenSubtreeWasHidden && !prevOffscreenSubtreeWasHidden) {\n // This is the root of a reappearing boundary. Turn its layout effects\n // back on.\n nextEffect = fiber;\n reappearLayoutEffects_begin(fiber);\n }\n\n var child = firstChild;\n\n while (child !== null) {\n nextEffect = child;\n commitLayoutEffects_begin(child, // New root; bubble back up to here and stop.\n root, committedLanes);\n child = child.sibling;\n } // Restore Offscreen state and resume in our-progress traversal.\n\n\n nextEffect = fiber;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n }\n }\n\n if ((fiber.subtreeFlags & LayoutMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n }\n }\n}\n\nfunction commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & LayoutMask) !== NoFlags) {\n var current = fiber.alternate;\n setCurrentFiber(fiber);\n\n try {\n commitLayoutEffectOnFiber(root, current, fiber, committedLanes);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction disappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child; // TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)\n\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ( fiber.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n } finally {\n recordLayoutEffectDuration(fiber);\n }\n } else {\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n // TODO (Offscreen) Check: flags & RefStatic\n safelyDetachRef(fiber, fiber.return);\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n safelyDetachRef(fiber, fiber.return);\n break;\n }\n\n case OffscreenComponent:\n {\n // Check if this is a\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is already hidden. Don't disappear\n // its effects.\n disappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n\n break;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n disappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction disappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction reappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if (fiber.tag === OffscreenComponent) {\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is still hidden. Don't re-appear its effects.\n reappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n reappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction reappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // TODO (Offscreen) Check: flags & LayoutStatic\n\n setCurrentFiber(fiber);\n\n try {\n reappearLayoutEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountEffects(root, finishedWork, committedLanes, committedTransitions) {\n nextEffect = finishedWork;\n commitPassiveMountEffects_begin(finishedWork, root, committedLanes, committedTransitions);\n}\n\nfunction commitPassiveMountEffects_begin(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions);\n }\n }\n}\n\nfunction commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n\n try {\n commitPassiveMountOnFiber(root, fiber, committedLanes, committedTransitions);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n } finally {\n recordPassiveEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffects(firstChild) {\n nextEffect = firstChild;\n commitPassiveUnmountEffects_begin();\n}\n\nfunction commitPassiveUnmountEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var child = fiber.child;\n\n if ((nextEffect.flags & ChildDeletion) !== NoFlags) {\n var deletions = fiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var fiberToDelete = deletions[i];\n nextEffect = fiberToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(fiberToDelete, fiber);\n }\n\n {\n // A fiber was deleted from this parent fiber, but it's still part of\n // the previous (alternate) parent fiber's list of children. Because\n // children are a linked list, an earlier sibling that's still alive\n // will be connected to the deleted fiber via its `alternate`:\n //\n // live fiber\n // --alternate--> previous live fiber\n // --sibling--> deleted fiber\n //\n // We can't disconnect `alternate` on nodes that haven't been deleted\n // yet, but we can disconnect the `sibling` and `child` pointers.\n var previousFiber = fiber.alternate;\n\n if (previousFiber !== null) {\n var detachedChild = previousFiber.child;\n\n if (detachedChild !== null) {\n previousFiber.child = null;\n\n do {\n var detachedSibling = detachedChild.sibling;\n detachedChild.sibling = null;\n detachedChild = detachedSibling;\n } while (detachedChild !== null);\n }\n }\n }\n\n nextEffect = fiber;\n }\n }\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffects_complete();\n }\n }\n}\n\nfunction commitPassiveUnmountEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n commitPassiveUnmountOnFiber(fiber);\n resetCurrentFiber();\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n recordPassiveEffectDuration(finishedWork);\n } else {\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // Deletion effects fire in parent -> child order\n // TODO: Check if fiber has a PassiveStatic flag\n\n setCurrentFiber(fiber);\n commitPassiveUnmountInsideDeletedTreeOnFiber(fiber, nearestMountedAncestor);\n resetCurrentFiber();\n var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we\n // do this, still need to handle `deletedTreeCleanUpLevel` correctly.)\n\n if (child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot);\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var sibling = fiber.sibling;\n var returnFiber = fiber.return;\n\n {\n // Recursively traverse the entire deleted tree and clean up fiber fields.\n // This is more aggressive than ideal, and the long term goal is to only\n // have to detach the deleted tree at the root.\n detachFiberAfterEffects(fiber);\n\n if (fiber === deletedSubtreeRoot) {\n nextEffect = null;\n return;\n }\n }\n\n if (sibling !== null) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = returnFiber;\n }\n}\n\nfunction commitPassiveUnmountInsideDeletedTreeOnFiber(current, nearestMountedAncestor) {\n switch (current.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( current.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n recordPassiveEffectDuration(current);\n } else {\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n }\n\n break;\n }\n }\n} // TODO: Reuse reappearLayoutEffects traversal here?\n\n\nfunction invokeLayoutEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Layout | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokeLayoutEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Passive$1 | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n }\n }\n }\n}\n\nvar COMPONENT_TYPE = 0;\nvar HAS_PSEUDO_CLASS_TYPE = 1;\nvar ROLE_TYPE = 2;\nvar TEST_NAME_TYPE = 3;\nvar TEXT_TYPE = 4;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n COMPONENT_TYPE = symbolFor('selector.component');\n HAS_PSEUDO_CLASS_TYPE = symbolFor('selector.has_pseudo_class');\n ROLE_TYPE = symbolFor('selector.role');\n TEST_NAME_TYPE = symbolFor('selector.test_id');\n TEXT_TYPE = symbolFor('selector.text');\n}\nvar commitHooks = [];\nfunction onCommitRoot$1() {\n {\n commitHooks.forEach(function (commitHook) {\n return commitHook();\n });\n }\n}\n\nvar ReactCurrentActQueue = ReactSharedInternals.ReactCurrentActQueue;\nfunction isLegacyActEnvironment(fiber) {\n {\n // Legacy mode. We preserve the behavior of React 17's act. It assumes an\n // act environment whenever `jest` is defined, but you can still turn off\n // spurious warnings by setting IS_REACT_ACT_ENVIRONMENT explicitly\n // to false.\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined; // $FlowExpectedError - Flow doesn't know about jest\n\n var jestIsDefined = typeof jest !== 'undefined';\n return jestIsDefined && isReactActEnvironmentGlobal !== false;\n }\n}\nfunction isConcurrentActEnvironment() {\n {\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined;\n\n if (!isReactActEnvironmentGlobal && ReactCurrentActQueue.current !== null) {\n // TODO: Include link to relevant documentation page.\n error('The current testing environment is not configured to support ' + 'act(...)');\n }\n\n return isReactActEnvironmentGlobal;\n }\n}\n\nvar ceil = Math.ceil;\nvar ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,\n ReactCurrentBatchConfig$3 = ReactSharedInternals.ReactCurrentBatchConfig,\n ReactCurrentActQueue$1 = ReactSharedInternals.ReactCurrentActQueue;\nvar NoContext =\n/* */\n0;\nvar BatchedContext =\n/* */\n1;\nvar RenderContext =\n/* */\n2;\nvar CommitContext =\n/* */\n4;\nvar RootInProgress = 0;\nvar RootFatalErrored = 1;\nvar RootErrored = 2;\nvar RootSuspended = 3;\nvar RootSuspendedWithDelay = 4;\nvar RootCompleted = 5;\nvar RootDidNotComplete = 6; // Describes where we are in the React execution stack\n\nvar executionContext = NoContext; // The root we're working on\n\nvar workInProgressRoot = null; // The fiber we're working on\n\nvar workInProgress = null; // The lanes we're rendering\n\nvar workInProgressRootRenderLanes = NoLanes; // Stack that allows components to change the render lanes for its subtree\n// This is a superset of the lanes we started working on at the root. The only\n// case where it's different from `workInProgressRootRenderLanes` is when we\n// enter a subtree that is hidden and needs to be unhidden: Suspense and\n// Offscreen component.\n//\n// Most things in the work loop should deal with workInProgressRootRenderLanes.\n// Most things in begin/complete phases should deal with subtreeRenderLanes.\n\nvar subtreeRenderLanes = NoLanes;\nvar subtreeRenderLanesCursor = createCursor(NoLanes); // Whether to root completed, errored, suspended, etc.\n\nvar workInProgressRootExitStatus = RootInProgress; // A fatal error, if one is thrown\n\nvar workInProgressRootFatalError = null; // \"Included\" lanes refer to lanes that were worked on during this render. It's\n// slightly different than `renderLanes` because `renderLanes` can change as you\n// enter and exit an Offscreen tree. This value is the combination of all render\n// lanes for the entire render phase.\n\nvar workInProgressRootIncludedLanes = NoLanes; // The work left over by components that were visited during this render. Only\n// includes unprocessed updates, not work in bailed out children.\n\nvar workInProgressRootSkippedLanes = NoLanes; // Lanes that were updated (in an interleaved event) during this render.\n\nvar workInProgressRootInterleavedUpdatedLanes = NoLanes; // Lanes that were updated during the render phase (*not* an interleaved event).\n\nvar workInProgressRootPingedLanes = NoLanes; // Errors that are thrown during the render phase.\n\nvar workInProgressRootConcurrentErrors = null; // These are errors that we recovered from without surfacing them to the UI.\n// We will log them once the tree commits.\n\nvar workInProgressRootRecoverableErrors = null; // The most recent time we committed a fallback. This lets us ensure a train\n// model where we don't commit new loading states in too quick succession.\n\nvar globalMostRecentFallbackTime = 0;\nvar FALLBACK_THROTTLE_MS = 500; // The absolute time for when we should start giving up on rendering\n// more and prefer CPU suspense heuristics instead.\n\nvar workInProgressRootRenderTargetTime = Infinity; // How long a render is supposed to take before we start following CPU\n// suspense heuristics and opt out of rendering more content.\n\nvar RENDER_TIMEOUT_MS = 500;\nvar workInProgressTransitions = null;\n\nfunction resetRenderTimer() {\n workInProgressRootRenderTargetTime = now() + RENDER_TIMEOUT_MS;\n}\n\nfunction getRenderTargetTime() {\n return workInProgressRootRenderTargetTime;\n}\nvar hasUncaughtError = false;\nvar firstUncaughtError = null;\nvar legacyErrorBoundariesThatAlreadyFailed = null; // Only used when enableProfilerNestedUpdateScheduledHook is true;\nvar rootDoesHavePassiveEffects = false;\nvar rootWithPendingPassiveEffects = null;\nvar pendingPassiveEffectsLanes = NoLanes;\nvar pendingPassiveProfilerEffects = [];\nvar pendingPassiveTransitions = null; // Use these to prevent an infinite loop of nested updates\n\nvar NESTED_UPDATE_LIMIT = 50;\nvar nestedUpdateCount = 0;\nvar rootWithNestedUpdates = null;\nvar isFlushingPassiveEffects = false;\nvar didScheduleUpdateDuringPassiveEffects = false;\nvar NESTED_PASSIVE_UPDATE_LIMIT = 50;\nvar nestedPassiveUpdateCount = 0;\nvar rootWithPassiveNestedUpdates = null; // If two updates are scheduled within the same event, we should treat their\n// event times as simultaneous, even if the actual clock time has advanced\n// between the first and second call.\n\nvar currentEventTime = NoTimestamp;\nvar currentEventTransitionLane = NoLanes;\nvar isRunningInsertionEffect = false;\nfunction getWorkInProgressRoot() {\n return workInProgressRoot;\n}\nfunction requestEventTime() {\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n // We're inside React, so it's fine to read the actual time.\n return now();\n } // We're not inside React, so we may be in the middle of a browser event.\n\n\n if (currentEventTime !== NoTimestamp) {\n // Use the same start time for all updates until we enter React again.\n return currentEventTime;\n } // This is the first update since React yielded. Compute a new start time.\n\n\n currentEventTime = now();\n return currentEventTime;\n}\nfunction requestUpdateLane(fiber) {\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n } else if ( (executionContext & RenderContext) !== NoContext && workInProgressRootRenderLanes !== NoLanes) {\n // This is a render phase update. These are not officially supported. The\n // old behavior is to give this the same \"thread\" (lanes) as\n // whatever is currently rendering. So if you call `setState` on a component\n // that happens later in the same render, it will flush. Ideally, we want to\n // remove the special case and treat them as if they came from an\n // interleaved event. Regardless, this pattern is not officially supported.\n // This behavior is only a fallback. The flag only exists until we can roll\n // out the setState warning, since existing code might accidentally rely on\n // the current behavior.\n return pickArbitraryLane(workInProgressRootRenderLanes);\n }\n\n var isTransition = requestCurrentTransition() !== NoTransition;\n\n if (isTransition) {\n if ( ReactCurrentBatchConfig$3.transition !== null) {\n var transition = ReactCurrentBatchConfig$3.transition;\n\n if (!transition._updatedFibers) {\n transition._updatedFibers = new Set();\n }\n\n transition._updatedFibers.add(fiber);\n } // The algorithm for assigning an update to a lane should be stable for all\n // updates at the same priority within the same event. To do this, the\n // inputs to the algorithm must be the same.\n //\n // The trick we use is to cache the first of each of these inputs within an\n // event. Then reset the cached values once we can be sure the event is\n // over. Our heuristic for that is whenever we enter a concurrent work loop.\n\n\n if (currentEventTransitionLane === NoLane) {\n // All transitions within the same event are assigned the same lane.\n currentEventTransitionLane = claimNextTransitionLane();\n }\n\n return currentEventTransitionLane;\n } // Updates originating inside certain React methods, like flushSync, have\n // their priority set by tracking it with a context variable.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var updateLane = getCurrentUpdatePriority();\n\n if (updateLane !== NoLane) {\n return updateLane;\n } // This update originated outside React. Ask the host environment for an\n // appropriate priority, based on the type of event.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var eventLane = getCurrentEventPriority();\n return eventLane;\n}\n\nfunction requestRetryLane(fiber) {\n // This is a fork of `requestUpdateLane` designed specifically for Suspense\n // \"retries\" — a special update that attempts to flip a Suspense boundary\n // from its placeholder state to its primary/resolved state.\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n }\n\n return claimNextRetryLane();\n}\n\nfunction scheduleUpdateOnFiber(root, fiber, lane, eventTime) {\n checkForNestedUpdates();\n\n {\n if (isRunningInsertionEffect) {\n error('useInsertionEffect must not schedule updates.');\n }\n }\n\n {\n if (isFlushingPassiveEffects) {\n didScheduleUpdateDuringPassiveEffects = true;\n }\n } // Mark that the root has a pending update.\n\n\n markRootUpdated(root, lane, eventTime);\n\n if ((executionContext & RenderContext) !== NoLanes && root === workInProgressRoot) {\n // This update was dispatched during the render phase. This is a mistake\n // if the update originates from user space (with the exception of local\n // hook updates, which are handled differently and don't reach this\n // function), but there are some internal React features that use this as\n // an implementation detail, like selective hydration.\n warnAboutRenderPhaseUpdatesInDEV(fiber); // Track lanes that were updated during the render phase\n } else {\n // This is a normal update, scheduled from outside the render phase. For\n // example, during an input event.\n {\n if (isDevToolsPresent) {\n addFiberToLanesMap(root, fiber, lane);\n }\n }\n\n warnIfUpdatesNotWrappedWithActDEV(fiber);\n\n if (root === workInProgressRoot) {\n // Received an update to a tree that's in the middle of rendering. Mark\n // that there was an interleaved update work on this root. Unless the\n // `deferRenderPhaseUpdateToNextBatch` flag is off and this is a render\n // phase update. In that case, we don't treat render phase updates as if\n // they were interleaved, for backwards compat reasons.\n if ( (executionContext & RenderContext) === NoContext) {\n workInProgressRootInterleavedUpdatedLanes = mergeLanes(workInProgressRootInterleavedUpdatedLanes, lane);\n }\n\n if (workInProgressRootExitStatus === RootSuspendedWithDelay) {\n // The root already suspended with a delay, which means this render\n // definitely won't finish. Since we have a new update, let's mark it as\n // suspended now, right before marking the incoming update. This has the\n // effect of interrupting the current render and switching to the update.\n // TODO: Make sure this doesn't override pings that happen while we've\n // already started rendering.\n markRootSuspended$1(root, workInProgressRootRenderLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n\n if (lane === SyncLane && executionContext === NoContext && (fiber.mode & ConcurrentMode) === NoMode && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n // Flush the synchronous work now, unless we're already working or inside\n // a batch. This is intentionally inside scheduleUpdateOnFiber instead of\n // scheduleCallbackForFiber to preserve the ability to schedule a callback\n // without immediately flushing it. We only do this for user-initiated\n // updates, to preserve historical behavior of legacy mode.\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction scheduleInitialHydrationOnRoot(root, lane, eventTime) {\n // This is a special fork of scheduleUpdateOnFiber that is only used to\n // schedule the initial hydration of a root that has just been created. Most\n // of the stuff in scheduleUpdateOnFiber can be skipped.\n //\n // The main reason for this separate path, though, is to distinguish the\n // initial children from subsequent updates. In fully client-rendered roots\n // (createRoot instead of hydrateRoot), all top-level renders are modeled as\n // updates, but hydration roots are special because the initial render must\n // match what was rendered on the server.\n var current = root.current;\n current.lanes = lane;\n markRootUpdated(root, lane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n}\nfunction isUnsafeClassRenderPhaseUpdate(fiber) {\n // Check if this is a render phase update. Only called by class components,\n // which special (deprecated) behavior for UNSAFE_componentWillReceive props.\n return (// TODO: Remove outdated deferRenderPhaseUpdateToNextBatch experiment. We\n // decided not to enable it.\n (executionContext & RenderContext) !== NoContext\n );\n} // Use this function to schedule a task for a root. There's only one task per\n// root; if a task was already scheduled, we'll check to make sure the priority\n// of the existing task is the same as the priority of the next level that the\n// root has work on. This function is called on every update, and right before\n// exiting a task.\n\nfunction ensureRootIsScheduled(root, currentTime) {\n var existingCallbackNode = root.callbackNode; // Check if any lanes are being starved by other work. If so, mark them as\n // expired so we know to work on those next.\n\n markStarvedLanesAsExpired(root, currentTime); // Determine the next lanes to work on, and their priority.\n\n var nextLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (nextLanes === NoLanes) {\n // Special case: There's nothing to work on.\n if (existingCallbackNode !== null) {\n cancelCallback$1(existingCallbackNode);\n }\n\n root.callbackNode = null;\n root.callbackPriority = NoLane;\n return;\n } // We use the highest priority lane to represent the priority of the callback.\n\n\n var newCallbackPriority = getHighestPriorityLane(nextLanes); // Check if there's an existing task. We may be able to reuse it.\n\n var existingCallbackPriority = root.callbackPriority;\n\n if (existingCallbackPriority === newCallbackPriority && // Special case related to `act`. If the currently scheduled task is a\n // Scheduler task, rather than an `act` task, cancel it and re-scheduled\n // on the `act` queue.\n !( ReactCurrentActQueue$1.current !== null && existingCallbackNode !== fakeActCallbackNode)) {\n {\n // If we're going to re-use an existing task, it needs to exist.\n // Assume that discrete update microtasks are non-cancellable and null.\n // TODO: Temporary until we confirm this warning is not fired.\n if (existingCallbackNode == null && existingCallbackPriority !== SyncLane) {\n error('Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue.');\n }\n } // The priority hasn't changed. We can reuse the existing task. Exit.\n\n\n return;\n }\n\n if (existingCallbackNode != null) {\n // Cancel the existing callback. We'll schedule a new one below.\n cancelCallback$1(existingCallbackNode);\n } // Schedule a new callback.\n\n\n var newCallbackNode;\n\n if (newCallbackPriority === SyncLane) {\n // Special case: Sync React callbacks are scheduled on a special\n // internal queue\n if (root.tag === LegacyRoot) {\n if ( ReactCurrentActQueue$1.isBatchingLegacy !== null) {\n ReactCurrentActQueue$1.didScheduleLegacyUpdate = true;\n }\n\n scheduleLegacySyncCallback(performSyncWorkOnRoot.bind(null, root));\n } else {\n scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));\n }\n\n {\n // Flush the queue in a microtask.\n if ( ReactCurrentActQueue$1.current !== null) {\n // Inside `act`, use our internal `act` queue so that these get flushed\n // at the end of the current scope even when using the sync version\n // of `act`.\n ReactCurrentActQueue$1.current.push(flushSyncCallbacks);\n } else {\n scheduleMicrotask(function () {\n // In Safari, appending an iframe forces microtasks to run.\n // https://github.com/facebook/react/issues/22459\n // We don't support running callbacks in the middle of render\n // or commit so we need to check against that.\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n // Note that this would still prematurely flush the callbacks\n // if this happens outside render or commit phase (e.g. in an event).\n flushSyncCallbacks();\n }\n });\n }\n }\n\n newCallbackNode = null;\n } else {\n var schedulerPriorityLevel;\n\n switch (lanesToEventPriority(nextLanes)) {\n case DiscreteEventPriority:\n schedulerPriorityLevel = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriorityLevel = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriorityLevel = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriorityLevel = IdlePriority;\n break;\n\n default:\n schedulerPriorityLevel = NormalPriority;\n break;\n }\n\n newCallbackNode = scheduleCallback$1(schedulerPriorityLevel, performConcurrentWorkOnRoot.bind(null, root));\n }\n\n root.callbackPriority = newCallbackPriority;\n root.callbackNode = newCallbackNode;\n} // This is the entry point for every concurrent task, i.e. anything that\n// goes through Scheduler.\n\n\nfunction performConcurrentWorkOnRoot(root, didTimeout) {\n {\n resetNestedUpdateFlag();\n } // Since we know we're in a React event, we can clear the current\n // event time. The next update will compute a new event time.\n\n\n currentEventTime = NoTimestamp;\n currentEventTransitionLane = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n } // Flush any pending passive effects before deciding which lanes to work on,\n // in case they schedule additional work.\n\n\n var originalCallbackNode = root.callbackNode;\n var didFlushPassiveEffects = flushPassiveEffects();\n\n if (didFlushPassiveEffects) {\n // Something in the passive effect phase may have canceled the current task.\n // Check if the task node for this root was changed.\n if (root.callbackNode !== originalCallbackNode) {\n // The current task was canceled. Exit. We don't need to call\n // `ensureRootIsScheduled` because the check above implies either that\n // there's a new task, or that there's no remaining work on this root.\n return null;\n }\n } // Determine the next lanes to work on, using the fields stored\n // on the root.\n\n\n var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (lanes === NoLanes) {\n // Defensive coding. This is never expected to happen.\n return null;\n } // We disable time-slicing in some cases: if the work has been CPU-bound\n // for too long (\"expired\" work, to prevent starvation), or we're in\n // sync-updates-by-default mode.\n // TODO: We only check `didTimeout` defensively, to account for a Scheduler\n // bug we're still investigating. Once the bug in Scheduler is fixed,\n // we can remove this, since we track expiration ourselves.\n\n\n var shouldTimeSlice = !includesBlockingLane(root, lanes) && !includesExpiredLane(root, lanes) && ( !didTimeout);\n var exitStatus = shouldTimeSlice ? renderRootConcurrent(root, lanes) : renderRootSync(root, lanes);\n\n if (exitStatus !== RootInProgress) {\n if (exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll\n // render synchronously to block concurrent data mutations, and we'll\n // includes all pending updates are included. If it still fails after\n // the second attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n // The render unwound without completing the tree. This happens in special\n // cases where need to exit the current render without producing a\n // consistent tree or committing.\n //\n // This should only happen during a concurrent render, not a discrete or\n // synchronous update. We should have already checked for this when we\n // unwound the stack.\n markRootSuspended$1(root, lanes);\n } else {\n // The render completed.\n // Check if this render may have yielded to a concurrent event, and if so,\n // confirm that any newly rendered stores are consistent.\n // TODO: It's possible that even a concurrent render may never have yielded\n // to the main thread, if it was fast enough, or if it expired. We could\n // skip the consistency check in that case, too.\n var renderWasConcurrent = !includesBlockingLane(root, lanes);\n var finishedWork = root.current.alternate;\n\n if (renderWasConcurrent && !isRenderConsistentWithExternalStores(finishedWork)) {\n // A store was mutated in an interleaved event. Render again,\n // synchronously, to block further mutations.\n exitStatus = renderRootSync(root, lanes); // We need to check again if something threw\n\n if (exitStatus === RootErrored) {\n var _errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (_errorRetryLanes !== NoLanes) {\n lanes = _errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, _errorRetryLanes); // We assume the tree is now consistent because we didn't yield to any\n // concurrent events.\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var _fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw _fatalError;\n }\n } // We now have a consistent tree. The next step is either to commit it,\n // or, if something suspended, wait to commit it after a timeout.\n\n\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n finishConcurrentRender(root, exitStatus, lanes);\n }\n }\n\n ensureRootIsScheduled(root, now());\n\n if (root.callbackNode === originalCallbackNode) {\n // The task node scheduled for this root is the same one that's\n // currently executed. Need to return a continuation.\n return performConcurrentWorkOnRoot.bind(null, root);\n }\n\n return null;\n}\n\nfunction recoverFromConcurrentError(root, errorRetryLanes) {\n // If an error occurred during hydration, discard server response and fall\n // back to client side render.\n // Before rendering again, save the errors from the previous attempt.\n var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;\n\n if (isRootDehydrated(root)) {\n // The shell failed to hydrate. Set a flag to force a client rendering\n // during the next attempt. To do this, we call prepareFreshStack now\n // to create the root work-in-progress fiber. This is a bit weird in terms\n // of factoring, because it relies on renderRootSync not calling\n // prepareFreshStack again in the call below, which happens because the\n // root and lanes haven't changed.\n //\n // TODO: I think what we should do is set ForceClientRender inside\n // throwException, like we do for nested Suspense boundaries. The reason\n // it's here instead is so we can switch to the synchronous work loop, too.\n // Something to consider for a future refactor.\n var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);\n rootWorkInProgress.flags |= ForceClientRender;\n\n {\n errorHydratingContainer(root.containerInfo);\n }\n }\n\n var exitStatus = renderRootSync(root, errorRetryLanes);\n\n if (exitStatus !== RootErrored) {\n // Successfully finished rendering on retry\n // The errors from the failed first attempt have been recovered. Add\n // them to the collection of recoverable errors. We'll log them in the\n // commit phase.\n var errorsFromSecondAttempt = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = errorsFromFirstAttempt; // The errors from the second attempt should be queued after the errors\n // from the first attempt, to preserve the causal sequence.\n\n if (errorsFromSecondAttempt !== null) {\n queueRecoverableErrors(errorsFromSecondAttempt);\n }\n }\n\n return exitStatus;\n}\n\nfunction queueRecoverableErrors(errors) {\n if (workInProgressRootRecoverableErrors === null) {\n workInProgressRootRecoverableErrors = errors;\n } else {\n workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, errors);\n }\n}\n\nfunction finishConcurrentRender(root, exitStatus, lanes) {\n switch (exitStatus) {\n case RootInProgress:\n case RootFatalErrored:\n {\n throw new Error('Root did not complete. This is a bug in React.');\n }\n // Flow knows about invariant, so it complains if I add a break\n // statement, but eslint doesn't know about invariant, so it complains\n // if I do. eslint-disable-next-line no-fallthrough\n\n case RootErrored:\n {\n // We should have already attempted to retry this tree. If we reached\n // this point, it errored again. Commit it.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspended:\n {\n markRootSuspended$1(root, lanes); // We have an acceptable loading state. We need to figure out if we\n // should immediately commit it or wait a bit.\n\n if (includesOnlyRetries(lanes) && // do not delay if we're inside an act() scope\n !shouldForceFlushFallbacksInDEV()) {\n // This render only included retries, no updates. Throttle committing\n // retries so that we don't show too many loading states too quickly.\n var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time.\n\n if (msUntilTimeout > 10) {\n var nextLanes = getNextLanes(root, NoLanes);\n\n if (nextLanes !== NoLanes) {\n // There's additional work on this root.\n break;\n }\n\n var suspendedLanes = root.suspendedLanes;\n\n if (!isSubsetOfLanes(suspendedLanes, lanes)) {\n // We should prefer to render the fallback of at the last\n // suspended level. Ping the last suspended level to try\n // rendering it again.\n // FIXME: What if the suspended lanes are Idle? Should not restart.\n var eventTime = requestEventTime();\n markRootPinged(root, suspendedLanes);\n break;\n } // The render is suspended, it hasn't timed out, and there's no\n // lower priority work to do. Instead of committing the fallback\n // immediately, wait for more data to arrive.\n\n\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), msUntilTimeout);\n break;\n }\n } // The work expired. Commit immediately.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspendedWithDelay:\n {\n markRootSuspended$1(root, lanes);\n\n if (includesOnlyTransitions(lanes)) {\n // This is a transition, so we should exit without committing a\n // placeholder and without scheduling a timeout. Delay indefinitely\n // until we receive more data.\n break;\n }\n\n if (!shouldForceFlushFallbacksInDEV()) {\n // This is not a transition, but we did trigger an avoided state.\n // Schedule a placeholder to display after a short delay, using the Just\n // Noticeable Difference.\n // TODO: Is the JND optimization worth the added complexity? If this is\n // the only reason we track the event time, then probably not.\n // Consider removing.\n var mostRecentEventTime = getMostRecentEventTime(root, lanes);\n var eventTimeMs = mostRecentEventTime;\n var timeElapsedMs = now() - eventTimeMs;\n\n var _msUntilTimeout = jnd(timeElapsedMs) - timeElapsedMs; // Don't bother with a very short suspense time.\n\n\n if (_msUntilTimeout > 10) {\n // Instead of committing the fallback immediately, wait for more data\n // to arrive.\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), _msUntilTimeout);\n break;\n }\n } // Commit the placeholder.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootCompleted:\n {\n // The work completed. Ready to commit.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n default:\n {\n throw new Error('Unknown root exit status.');\n }\n }\n}\n\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n // Search the rendered tree for external store reads, and check whether the\n // stores were mutated in a concurrent event. Intentionally using an iterative\n // loop instead of recursion so we can exit early.\n var node = finishedWork;\n\n while (true) {\n if (node.flags & StoreConsistency) {\n var updateQueue = node.updateQueue;\n\n if (updateQueue !== null) {\n var checks = updateQueue.stores;\n\n if (checks !== null) {\n for (var i = 0; i < checks.length; i++) {\n var check = checks[i];\n var getSnapshot = check.getSnapshot;\n var renderedValue = check.value;\n\n try {\n if (!objectIs(getSnapshot(), renderedValue)) {\n // Found an inconsistent store.\n return false;\n }\n } catch (error) {\n // If `getSnapshot` throws, return `false`. This will schedule\n // a re-render, and the error will be rethrown during render.\n return false;\n }\n }\n }\n }\n }\n\n var child = node.child;\n\n if (node.subtreeFlags & StoreConsistency && child !== null) {\n child.return = node;\n node = child;\n continue;\n }\n\n if (node === finishedWork) {\n return true;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return true;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n } // Flow doesn't know this is unreachable, but eslint does\n // eslint-disable-next-line no-unreachable\n\n\n return true;\n}\n\nfunction markRootSuspended$1(root, suspendedLanes) {\n // When suspending, we should always exclude lanes that were pinged or (more\n // rarely, since we try to avoid it) updated during the render phase.\n // TODO: Lol maybe there's a better way to factor this besides this\n // obnoxiously named function :)\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootPingedLanes);\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootInterleavedUpdatedLanes);\n markRootSuspended(root, suspendedLanes);\n} // This is the entry point for synchronous tasks that don't go\n// through Scheduler\n\n\nfunction performSyncWorkOnRoot(root) {\n {\n syncNestedUpdateFlag();\n }\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n flushPassiveEffects();\n var lanes = getNextLanes(root, NoLanes);\n\n if (!includesSomeLane(lanes, SyncLane)) {\n // There's no remaining sync work left.\n ensureRootIsScheduled(root, now());\n return null;\n }\n\n var exitStatus = renderRootSync(root, lanes);\n\n if (root.tag !== LegacyRoot && exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll render\n // synchronously to block concurrent data mutations, and we'll includes\n // all pending updates are included. If it still fails after the second\n // attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n throw new Error('Root did not complete. This is a bug in React.');\n } // We now have a consistent tree. Because this is a sync render, we\n // will commit it even if something suspended.\n\n\n var finishedWork = root.current.alternate;\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions); // Before exiting, make sure there's a callback scheduled for the next\n // pending level.\n\n ensureRootIsScheduled(root, now());\n return null;\n}\n\nfunction flushRoot(root, lanes) {\n if (lanes !== NoLanes) {\n markRootEntangled(root, mergeLanes(lanes, SyncLane));\n ensureRootIsScheduled(root, now());\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n resetRenderTimer();\n flushSyncCallbacks();\n }\n }\n}\nfunction batchedUpdates$1(fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n\n try {\n return fn(a);\n } finally {\n executionContext = prevExecutionContext; // If there were legacy sync updates, flush them at the end of the outer\n // most batchedUpdates-like method.\n\n if (executionContext === NoContext && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction discreteUpdates(fn, a, b, c, d) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n return fn(a, b, c, d);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n\n if (executionContext === NoContext) {\n resetRenderTimer();\n }\n }\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync(fn) {\n // In legacy mode, we flush pending passive effects at the beginning of the\n // next event, not at the end of the previous one.\n if (rootWithPendingPassiveEffects !== null && rootWithPendingPassiveEffects.tag === LegacyRoot && (executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushPassiveEffects();\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n if (fn) {\n return fn();\n } else {\n return undefined;\n }\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.\n // Note that this will happen even if batchedUpdates is higher up\n // the stack.\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushSyncCallbacks();\n }\n }\n}\nfunction isAlreadyRendering() {\n // Used by the renderer to print a warning if certain APIs are called from\n // the wrong context.\n return (executionContext & (RenderContext | CommitContext)) !== NoContext;\n}\nfunction pushRenderLanes(fiber, lanes) {\n push(subtreeRenderLanesCursor, subtreeRenderLanes, fiber);\n subtreeRenderLanes = mergeLanes(subtreeRenderLanes, lanes);\n workInProgressRootIncludedLanes = mergeLanes(workInProgressRootIncludedLanes, lanes);\n}\nfunction popRenderLanes(fiber) {\n subtreeRenderLanes = subtreeRenderLanesCursor.current;\n pop(subtreeRenderLanesCursor, fiber);\n}\n\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n var timeoutHandle = root.timeoutHandle;\n\n if (timeoutHandle !== noTimeout) {\n // The root previous suspended and scheduled a timeout to commit a fallback\n // state. Now that we have additional work, cancel the timeout.\n root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above\n\n cancelTimeout(timeoutHandle);\n }\n\n if (workInProgress !== null) {\n var interruptedWork = workInProgress.return;\n\n while (interruptedWork !== null) {\n var current = interruptedWork.alternate;\n unwindInterruptedWork(current, interruptedWork);\n interruptedWork = interruptedWork.return;\n }\n }\n\n workInProgressRoot = root;\n var rootWorkInProgress = createWorkInProgress(root.current, null);\n workInProgress = rootWorkInProgress;\n workInProgressRootRenderLanes = subtreeRenderLanes = workInProgressRootIncludedLanes = lanes;\n workInProgressRootExitStatus = RootInProgress;\n workInProgressRootFatalError = null;\n workInProgressRootSkippedLanes = NoLanes;\n workInProgressRootInterleavedUpdatedLanes = NoLanes;\n workInProgressRootPingedLanes = NoLanes;\n workInProgressRootConcurrentErrors = null;\n workInProgressRootRecoverableErrors = null;\n finishQueueingConcurrentUpdates();\n\n {\n ReactStrictModeWarnings.discardPendingWarnings();\n }\n\n return rootWorkInProgress;\n}\n\nfunction handleError(root, thrownValue) {\n do {\n var erroredWork = workInProgress;\n\n try {\n // Reset module-level state that was set during the render phase.\n resetContextDependencies();\n resetHooksAfterThrow();\n resetCurrentFiber(); // TODO: I found and added this missing line while investigating a\n // separate issue. Write a regression test using string refs.\n\n ReactCurrentOwner$2.current = null;\n\n if (erroredWork === null || erroredWork.return === null) {\n // Expected to be working on a non-root fiber. This is a fatal error\n // because there's no ancestor that can handle it; the root is\n // supposed to capture all errors that weren't caught by an error\n // boundary.\n workInProgressRootExitStatus = RootFatalErrored;\n workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next\n // sibling, or the parent if there are no siblings. But since the root\n // has no siblings nor a parent, we set it to null. Usually this is\n // handled by `completeUnitOfWork` or `unwindWork`, but since we're\n // intentionally not calling those, we need set it here.\n // TODO: Consider calling `unwindWork` to pop the contexts.\n\n workInProgress = null;\n return;\n }\n\n if (enableProfilerTimer && erroredWork.mode & ProfileMode) {\n // Record the time spent rendering before an error was thrown. This\n // avoids inaccurate Profiler durations in the case of a\n // suspended render.\n stopProfilerTimerIfRunningAndRecordDelta(erroredWork, true);\n }\n\n if (enableSchedulingProfiler) {\n markComponentRenderStopped();\n\n if (thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.then === 'function') {\n var wakeable = thrownValue;\n markComponentSuspended(erroredWork, wakeable, workInProgressRootRenderLanes);\n } else {\n markComponentErrored(erroredWork, thrownValue, workInProgressRootRenderLanes);\n }\n }\n\n throwException(root, erroredWork.return, erroredWork, thrownValue, workInProgressRootRenderLanes);\n completeUnitOfWork(erroredWork);\n } catch (yetAnotherThrownValue) {\n // Something in the return path also threw.\n thrownValue = yetAnotherThrownValue;\n\n if (workInProgress === erroredWork && erroredWork !== null) {\n // If this boundary has already errored, then we had trouble processing\n // the error. Bubble it to the next boundary.\n erroredWork = erroredWork.return;\n workInProgress = erroredWork;\n } else {\n erroredWork = workInProgress;\n }\n\n continue;\n } // Return to the normal work loop.\n\n\n return;\n } while (true);\n}\n\nfunction pushDispatcher() {\n var prevDispatcher = ReactCurrentDispatcher$2.current;\n ReactCurrentDispatcher$2.current = ContextOnlyDispatcher;\n\n if (prevDispatcher === null) {\n // The React isomorphic package does not include a default dispatcher.\n // Instead the first renderer will lazily attach one, in order to give\n // nicer error messages.\n return ContextOnlyDispatcher;\n } else {\n return prevDispatcher;\n }\n}\n\nfunction popDispatcher(prevDispatcher) {\n ReactCurrentDispatcher$2.current = prevDispatcher;\n}\n\nfunction markCommitTimeOfFallback() {\n globalMostRecentFallbackTime = now();\n}\nfunction markSkippedUpdateLanes(lane) {\n workInProgressRootSkippedLanes = mergeLanes(lane, workInProgressRootSkippedLanes);\n}\nfunction renderDidSuspend() {\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootSuspended;\n }\n}\nfunction renderDidSuspendDelayIfPossible() {\n if (workInProgressRootExitStatus === RootInProgress || workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootErrored) {\n workInProgressRootExitStatus = RootSuspendedWithDelay;\n } // Check if there are updates that we skipped tree that might have unblocked\n // this render.\n\n\n if (workInProgressRoot !== null && (includesNonIdleWork(workInProgressRootSkippedLanes) || includesNonIdleWork(workInProgressRootInterleavedUpdatedLanes))) {\n // Mark the current render as suspended so that we switch to working on\n // the updates that were skipped. Usually we only suspend at the end of\n // the render phase.\n // TODO: We should probably always mark the root as suspended immediately\n // (inside this function), since by suspending at the end of the render\n // phase introduces a potential mistake where we suspend lanes that were\n // pinged or updated while we were rendering.\n markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes);\n }\n}\nfunction renderDidError(error) {\n if (workInProgressRootExitStatus !== RootSuspendedWithDelay) {\n workInProgressRootExitStatus = RootErrored;\n }\n\n if (workInProgressRootConcurrentErrors === null) {\n workInProgressRootConcurrentErrors = [error];\n } else {\n workInProgressRootConcurrentErrors.push(error);\n }\n} // Called during render to determine if anything has suspended.\n// Returns false if we're not sure.\n\nfunction renderHasNotSuspendedYet() {\n // If something errored or completed, we can't really be sure,\n // so those are false.\n return workInProgressRootExitStatus === RootInProgress;\n}\n\nfunction renderRootSync(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopSync();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n executionContext = prevExecutionContext;\n popDispatcher(prevDispatcher);\n\n if (workInProgress !== null) {\n // This is a sync render, so we should have finished the whole tree.\n throw new Error('Cannot commit an incomplete root. This error is likely caused by a ' + 'bug in React. Please file an issue.');\n }\n\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes;\n return workInProgressRootExitStatus;\n} // The work loop is an extremely hot path. Tell Closure not to inline it.\n\n/** @noinline */\n\n\nfunction workLoopSync() {\n // Already timed out, so perform work without checking if we need to yield.\n while (workInProgress !== null) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n resetRenderTimer();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopConcurrent();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n popDispatcher(prevDispatcher);\n executionContext = prevExecutionContext;\n\n\n if (workInProgress !== null) {\n // Still work remaining.\n {\n markRenderYielded();\n }\n\n return RootInProgress;\n } else {\n // Completed the tree.\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes; // Return the final exit status.\n\n return workInProgressRootExitStatus;\n }\n}\n/** @noinline */\n\n\nfunction workLoopConcurrent() {\n // Perform work until Scheduler asks us to yield\n while (workInProgress !== null && !shouldYield()) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction performUnitOfWork(unitOfWork) {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = unitOfWork.alternate;\n setCurrentFiber(unitOfWork);\n var next;\n\n if ( (unitOfWork.mode & ProfileMode) !== NoMode) {\n startProfilerTimer(unitOfWork);\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);\n } else {\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n }\n\n resetCurrentFiber();\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n\n if (next === null) {\n // If this doesn't spawn new work, complete the current work.\n completeUnitOfWork(unitOfWork);\n } else {\n workInProgress = next;\n }\n\n ReactCurrentOwner$2.current = null;\n}\n\nfunction completeUnitOfWork(unitOfWork) {\n // Attempt to complete the current unit of work, then move to the next\n // sibling. If there are no more siblings, return to the parent fiber.\n var completedWork = unitOfWork;\n\n do {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = completedWork.alternate;\n var returnFiber = completedWork.return; // Check if the work completed or if something threw.\n\n if ((completedWork.flags & Incomplete) === NoFlags) {\n setCurrentFiber(completedWork);\n var next = void 0;\n\n if ( (completedWork.mode & ProfileMode) === NoMode) {\n next = completeWork(current, completedWork, subtreeRenderLanes);\n } else {\n startProfilerTimer(completedWork);\n next = completeWork(current, completedWork, subtreeRenderLanes); // Update render duration assuming we didn't error.\n\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false);\n }\n\n resetCurrentFiber();\n\n if (next !== null) {\n // Completing this fiber spawned new work. Work on that next.\n workInProgress = next;\n return;\n }\n } else {\n // This fiber did not complete because something threw. Pop values off\n // the stack without entering the complete phase. If this is a boundary,\n // capture values if possible.\n var _next = unwindWork(current, completedWork); // Because this fiber did not complete, don't reset its lanes.\n\n\n if (_next !== null) {\n // If completing this work spawned new work, do that next. We'll come\n // back here again.\n // Since we're restarting, remove anything that is not a host effect\n // from the effect tag.\n _next.flags &= HostEffectMask;\n workInProgress = _next;\n return;\n }\n\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // Record the render duration for the fiber that errored.\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false); // Include the time spent working on failed children before continuing.\n\n var actualDuration = completedWork.actualDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n actualDuration += child.actualDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n }\n\n if (returnFiber !== null) {\n // Mark the parent fiber as incomplete and clear its subtree flags.\n returnFiber.flags |= Incomplete;\n returnFiber.subtreeFlags = NoFlags;\n returnFiber.deletions = null;\n } else {\n // We've unwound all the way to the root.\n workInProgressRootExitStatus = RootDidNotComplete;\n workInProgress = null;\n return;\n }\n }\n\n var siblingFiber = completedWork.sibling;\n\n if (siblingFiber !== null) {\n // If there is more work to do in this returnFiber, do that next.\n workInProgress = siblingFiber;\n return;\n } // Otherwise, return to the parent\n\n\n completedWork = returnFiber; // Update the next thing we're working on in case something throws.\n\n workInProgress = completedWork;\n } while (completedWork !== null); // We've reached the root.\n\n\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootCompleted;\n }\n}\n\nfunction commitRoot(root, recoverableErrors, transitions) {\n // TODO: This no longer makes any sense. We already wrap the mutation and\n // layout phases. Should be able to remove.\n var previousUpdateLanePriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n commitRootImpl(root, recoverableErrors, transitions, previousUpdateLanePriority);\n } finally {\n ReactCurrentBatchConfig$3.transition = prevTransition;\n setCurrentUpdatePriority(previousUpdateLanePriority);\n }\n\n return null;\n}\n\nfunction commitRootImpl(root, recoverableErrors, transitions, renderPriorityLevel) {\n do {\n // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which\n // means `flushPassiveEffects` will sometimes result in additional\n // passive effects. So we need to keep flushing in a loop until there are\n // no more pending effects.\n // TODO: Might be better if `flushPassiveEffects` did not automatically\n // flush synchronous work at the end, to avoid factoring hazards like this.\n flushPassiveEffects();\n } while (rootWithPendingPassiveEffects !== null);\n\n flushRenderPhaseStrictModeWarningsInDEV();\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n var finishedWork = root.finishedWork;\n var lanes = root.finishedLanes;\n\n {\n markCommitStarted(lanes);\n }\n\n if (finishedWork === null) {\n\n {\n markCommitStopped();\n }\n\n return null;\n } else {\n {\n if (lanes === NoLanes) {\n error('root.finishedLanes should not be empty during a commit. This is a ' + 'bug in React.');\n }\n }\n }\n\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n\n if (finishedWork === root.current) {\n throw new Error('Cannot commit the same tree as before. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n } // commitRoot never returns a continuation; it always finishes synchronously.\n // So we can clear these now to allow a new callback to be scheduled.\n\n\n root.callbackNode = null;\n root.callbackPriority = NoLane; // Update the first and last pending times on this root. The new first\n // pending time is whatever is left on the root fiber.\n\n var remainingLanes = mergeLanes(finishedWork.lanes, finishedWork.childLanes);\n markRootFinished(root, remainingLanes);\n\n if (root === workInProgressRoot) {\n // We can reset these now that they are finished.\n workInProgressRoot = null;\n workInProgress = null;\n workInProgressRootRenderLanes = NoLanes;\n } // If there are pending passive effects, schedule a callback to process them.\n // Do this as early as possible, so it is queued before anything else that\n // might get scheduled in the commit phase. (See #16714.)\n // TODO: Delete all other places that schedule the passive effect callback\n // They're redundant.\n\n\n if ((finishedWork.subtreeFlags & PassiveMask) !== NoFlags || (finishedWork.flags & PassiveMask) !== NoFlags) {\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n // to store it in pendingPassiveTransitions until they get processed\n // We need to pass this through as an argument to commitRoot\n // because workInProgressTransitions might have changed between\n // the previous render and commit if we throttle the commit\n // with setTimeout\n\n pendingPassiveTransitions = transitions;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects(); // This render triggered passive effects: release the root cache pool\n // *after* passive effects fire to avoid freeing a cache pool that may\n // be referenced by a node in the tree (HostRoot, Cache boundary etc)\n\n return null;\n });\n }\n } // Check if there are any effects in the whole tree.\n // TODO: This is left over from the effect list implementation, where we had\n // to check for the existence of `firstEffect` to satisfy Flow. I think the\n // only other reason this optimization exists is because it affects profiling.\n // Reconsider whether this is necessary.\n\n\n var subtreeHasEffects = (finishedWork.subtreeFlags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n var rootHasEffect = (finishedWork.flags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n\n if (subtreeHasEffects || rootHasEffect) {\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n ReactCurrentBatchConfig$3.transition = null;\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(DiscreteEventPriority);\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext; // Reset this to null before calling lifecycles\n\n ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass\n // of the effect list for each phase: all mutation effects come before all\n // layout effects, and so on.\n // The first phase a \"before mutation\" phase. We use this phase to read the\n // state of the host tree right before we mutate it. This is where\n // getSnapshotBeforeUpdate is called.\n\n var shouldFireAfterActiveInstanceBlur = commitBeforeMutationEffects(root, finishedWork);\n\n {\n // Mark the current commit time to be shared by all Profilers in this\n // batch. This enables them to be grouped later.\n recordCommitTime();\n }\n\n\n commitMutationEffects(root, finishedWork, lanes);\n\n resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after\n // the mutation phase, so that the previous tree is still current during\n // componentWillUnmount, but before the layout phase, so that the finished\n // work is current during componentDidMount/Update.\n\n root.current = finishedWork; // The next phase is the layout phase, where we call effects that read\n\n {\n markLayoutEffectsStarted(lanes);\n }\n\n commitLayoutEffects(finishedWork, root, lanes);\n\n {\n markLayoutEffectsStopped();\n }\n // opportunity to paint.\n\n\n requestPaint();\n executionContext = prevExecutionContext; // Reset the priority to the previous non-sync value.\n\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n } else {\n // No effects.\n root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were\n // no effects.\n // TODO: Maybe there's a better way to report this.\n\n {\n recordCommitTime();\n }\n }\n\n var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;\n\n if (rootDoesHavePassiveEffects) {\n // This commit has passive effects. Stash a reference to them. But don't\n // schedule a callback until after flushing layout work.\n rootDoesHavePassiveEffects = false;\n rootWithPendingPassiveEffects = root;\n pendingPassiveEffectsLanes = lanes;\n } else {\n\n {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n }\n } // Read this again, since an effect might have updated it\n\n\n remainingLanes = root.pendingLanes; // Check if there's remaining work on this root\n // TODO: This is part of the `componentDidCatch` implementation. Its purpose\n // is to detect whether something might have called setState inside\n // `componentDidCatch`. The mechanism is known to be flawed because `setState`\n // inside `componentDidCatch` is itself flawed — that's why we recommend\n // `getDerivedStateFromError` instead. However, it could be improved by\n // checking if remainingLanes includes Sync work, instead of whether there's\n // any work remaining at all (which would also include stuff like Suspense\n // retries or transitions). It's been like this for a while, though, so fixing\n // it probably isn't that urgent.\n\n if (remainingLanes === NoLanes) {\n // If there's no remaining work, we can clear the set of already failed\n // error boundaries.\n legacyErrorBoundariesThatAlreadyFailed = null;\n }\n\n {\n if (!rootDidHavePassiveEffects) {\n commitDoubleInvokeEffectsInDEV(root.current, false);\n }\n }\n\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n\n {\n if (isDevToolsPresent) {\n root.memoizedUpdaters.clear();\n }\n }\n\n {\n onCommitRoot$1();\n } // Always call this before exiting `commitRoot`, to ensure that any\n // additional work on this root is scheduled.\n\n\n ensureRootIsScheduled(root, now());\n\n if (recoverableErrors !== null) {\n // There were errors during this render, but recovered from them without\n // needing to surface it to the UI. We log them here.\n var onRecoverableError = root.onRecoverableError;\n\n for (var i = 0; i < recoverableErrors.length; i++) {\n var recoverableError = recoverableErrors[i];\n var componentStack = recoverableError.stack;\n var digest = recoverableError.digest;\n onRecoverableError(recoverableError.value, {\n componentStack: componentStack,\n digest: digest\n });\n }\n }\n\n if (hasUncaughtError) {\n hasUncaughtError = false;\n var error$1 = firstUncaughtError;\n firstUncaughtError = null;\n throw error$1;\n } // If the passive effects are the result of a discrete render, flush them\n // synchronously at the end of the current task so that the result is\n // immediately observable. Otherwise, we assume that they are not\n // order-dependent and do not need to be observed by external systems, so we\n // can wait until after paint.\n // TODO: We can optimize this by not scheduling the callback earlier. Since we\n // currently schedule the callback in multiple places, will wait until those\n // are consolidated.\n\n\n if (includesSomeLane(pendingPassiveEffectsLanes, SyncLane) && root.tag !== LegacyRoot) {\n flushPassiveEffects();\n } // Read this again, since a passive effect might have updated it\n\n\n remainingLanes = root.pendingLanes;\n\n if (includesSomeLane(remainingLanes, SyncLane)) {\n {\n markNestedUpdateScheduled();\n } // Count the number of times the root synchronously re-renders without\n // finishing. If there are too many, it indicates an infinite update loop.\n\n\n if (root === rootWithNestedUpdates) {\n nestedUpdateCount++;\n } else {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = root;\n }\n } else {\n nestedUpdateCount = 0;\n } // If layout work was scheduled, flush it now.\n\n\n flushSyncCallbacks();\n\n {\n markCommitStopped();\n }\n\n return null;\n}\n\nfunction flushPassiveEffects() {\n // Returns whether passive effects were flushed.\n // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should\n // probably just combine the two functions. I believe they were only separate\n // in the first place because we used to wrap it with\n // `Scheduler.runWithPriority`, which accepts a function. But now we track the\n // priority within React itself, so we can mutate the variable directly.\n if (rootWithPendingPassiveEffects !== null) {\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes);\n var priority = lowerEventPriority(DefaultEventPriority, renderPriority);\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(priority);\n return flushPassiveEffectsImpl();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition; // Once passive effects have run for the tree - giving components a\n }\n }\n\n return false;\n}\nfunction enqueuePendingPassiveProfilerEffect(fiber) {\n {\n pendingPassiveProfilerEffects.push(fiber);\n\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects();\n return null;\n });\n }\n }\n}\n\nfunction flushPassiveEffectsImpl() {\n if (rootWithPendingPassiveEffects === null) {\n return false;\n } // Cache and clear the transitions flag\n\n\n var transitions = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root = rootWithPendingPassiveEffects;\n var lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects.\n // Figure out why and fix it. It's not causing any known issues (probably\n // because it's only used for profiling), but it's a refactor hazard.\n\n pendingPassiveEffectsLanes = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Cannot flush passive effects while already rendering.');\n }\n\n {\n isFlushingPassiveEffects = true;\n didScheduleUpdateDuringPassiveEffects = false;\n }\n\n {\n markPassiveEffectsStarted(lanes);\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n commitPassiveUnmountEffects(root.current);\n commitPassiveMountEffects(root, root.current, lanes, transitions); // TODO: Move to commitPassiveMountEffects\n\n {\n var profilerEffects = pendingPassiveProfilerEffects;\n pendingPassiveProfilerEffects = [];\n\n for (var i = 0; i < profilerEffects.length; i++) {\n var _fiber = profilerEffects[i];\n commitPassiveEffectDurations(root, _fiber);\n }\n }\n\n {\n markPassiveEffectsStopped();\n }\n\n {\n commitDoubleInvokeEffectsInDEV(root.current, true);\n }\n\n executionContext = prevExecutionContext;\n flushSyncCallbacks();\n\n {\n // If additional passive effects were scheduled, increment a counter. If this\n // exceeds the limit, we'll fire a warning.\n if (didScheduleUpdateDuringPassiveEffects) {\n if (root === rootWithPassiveNestedUpdates) {\n nestedPassiveUpdateCount++;\n } else {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = root;\n }\n } else {\n nestedPassiveUpdateCount = 0;\n }\n\n isFlushingPassiveEffects = false;\n didScheduleUpdateDuringPassiveEffects = false;\n } // TODO: Move to commitPassiveMountEffects\n\n\n onPostCommitRoot(root);\n\n {\n var stateNode = root.current.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n\n return true;\n}\n\nfunction isAlreadyFailedLegacyErrorBoundary(instance) {\n return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);\n}\nfunction markLegacyErrorBoundaryAsFailed(instance) {\n if (legacyErrorBoundariesThatAlreadyFailed === null) {\n legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);\n } else {\n legacyErrorBoundariesThatAlreadyFailed.add(instance);\n }\n}\n\nfunction prepareToThrowUncaughtError(error) {\n if (!hasUncaughtError) {\n hasUncaughtError = true;\n firstUncaughtError = error;\n }\n}\n\nvar onUncaughtError = prepareToThrowUncaughtError;\n\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n var errorInfo = createCapturedValueAtFiber(error, sourceFiber);\n var update = createRootErrorUpdate(rootFiber, errorInfo, SyncLane);\n var root = enqueueUpdate(rootFiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error$1) {\n {\n reportUncaughtErrorInDEV(error$1);\n setIsRunningInsertionEffect(false);\n }\n\n if (sourceFiber.tag === HostRoot) {\n // Error was thrown at the root. There is no parent, so the root\n // itself should capture it.\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error$1);\n return;\n }\n\n var fiber = null;\n\n {\n fiber = nearestMountedAncestor;\n }\n\n while (fiber !== null) {\n if (fiber.tag === HostRoot) {\n captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error$1);\n return;\n } else if (fiber.tag === ClassComponent) {\n var ctor = fiber.type;\n var instance = fiber.stateNode;\n\n if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {\n var errorInfo = createCapturedValueAtFiber(error$1, sourceFiber);\n var update = createClassErrorUpdate(fiber, errorInfo, SyncLane);\n var root = enqueueUpdate(fiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n\n return;\n }\n }\n\n fiber = fiber.return;\n }\n\n {\n // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning\n // will fire for errors that are thrown by destroy functions inside deleted\n // trees. What it should instead do is propagate the error to the parent of\n // the deleted tree. In the meantime, do not add this warning to the\n // allowlist; this is only for our internal use.\n error('Internal React error: Attempted to capture a commit phase error ' + 'inside a detached tree. This indicates a bug in React. Likely ' + 'causes include deleting the same fiber more than once, committing an ' + 'already-finished tree, or an inconsistent return pointer.\\n\\n' + 'Error message:\\n\\n%s', error$1);\n }\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n\n if (pingCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n pingCache.delete(wakeable);\n }\n\n var eventTime = requestEventTime();\n markRootPinged(root, pingedLanes);\n warnIfSuspenseResolutionNotWrappedWithActDEV(root);\n\n if (workInProgressRoot === root && isSubsetOfLanes(workInProgressRootRenderLanes, pingedLanes)) {\n // Received a ping at the same priority level at which we're currently\n // rendering. We might want to restart this render. This should mirror\n // the logic of whether or not a root suspends once it completes.\n // TODO: If we're rendering sync either due to Sync, Batched or expired,\n // we should probably never restart.\n // If we're suspended with delay, or if it's a retry, we'll always suspend\n // so we can always restart.\n if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && includesOnlyRetries(workInProgressRootRenderLanes) && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {\n // Restart from the root.\n prepareFreshStack(root, NoLanes);\n } else {\n // Even though we can't restart right now, we might get an\n // opportunity later. So we mark this render as having a ping.\n workInProgressRootPingedLanes = mergeLanes(workInProgressRootPingedLanes, pingedLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n}\n\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n // The boundary fiber (a Suspense component or SuspenseList component)\n // previously was rendered in its fallback state. One of the promises that\n // suspended it has resolved, which means at least part of the tree was\n // likely unblocked. Try rendering again, at a new lanes.\n if (retryLane === NoLane) {\n // TODO: Assign this to `suspenseState.retryLane`? to avoid\n // unnecessary entanglement?\n retryLane = requestRetryLane(boundaryFiber);\n } // TODO: Special case idle priority?\n\n\n var eventTime = requestEventTime();\n var root = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n\n if (root !== null) {\n markRootUpdated(root, retryLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState;\n var retryLane = NoLane;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = NoLane; // Default\n\n var retryCache;\n\n switch (boundaryFiber.tag) {\n case SuspenseComponent:\n retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n break;\n\n case SuspenseListComponent:\n retryCache = boundaryFiber.stateNode;\n break;\n\n default:\n throw new Error('Pinged unknown suspense boundary type. ' + 'This is probably a bug in React.');\n }\n\n if (retryCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n retryCache.delete(wakeable);\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n} // Computes the next Just Noticeable Difference (JND) boundary.\n// The theory is that a person can't tell the difference between small differences in time.\n// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable\n// difference in the experience. However, waiting for longer might mean that we can avoid\n// showing an intermediate loading state. The longer we have already waited, the harder it\n// is to tell small differences in time. Therefore, the longer we've already waited,\n// the longer we can wait additionally. At some point we have to give up though.\n// We pick a train model where the next boundary commits at a consistent schedule.\n// These particular numbers are vague estimates. We expect to adjust them based on research.\n\nfunction jnd(timeElapsed) {\n return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960;\n}\n\nfunction checkForNestedUpdates() {\n if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = null;\n throw new Error('Maximum update depth exceeded. This can happen when a component ' + 'repeatedly calls setState inside componentWillUpdate or ' + 'componentDidUpdate. React limits the number of nested updates to ' + 'prevent infinite loops.');\n }\n\n {\n if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n\n error('Maximum update depth exceeded. This can happen when a component ' + \"calls setState inside useEffect, but useEffect either doesn't \" + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');\n }\n }\n}\n\nfunction flushRenderPhaseStrictModeWarningsInDEV() {\n {\n ReactStrictModeWarnings.flushLegacyContextWarning();\n\n {\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\n }\n }\n}\n\nfunction commitDoubleInvokeEffectsInDEV(fiber, hasPassiveEffects) {\n {\n // TODO (StrictEffects) Should we set a marker on the root if it contains strict effects\n // so we don't traverse unnecessarily? similar to subtreeFlags but just at the root level.\n // Maybe not a big deal since this is DEV only behavior.\n setCurrentFiber(fiber);\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectUnmountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectUnmountInDEV);\n }\n\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectMountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectMountInDEV);\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction invokeEffectsInDev(firstChild, fiberFlags, invokeEffectFn) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n var current = firstChild;\n var subtreeRoot = null;\n\n while (current !== null) {\n var primarySubtreeFlag = current.subtreeFlags & fiberFlags;\n\n if (current !== subtreeRoot && current.child !== null && primarySubtreeFlag !== NoFlags) {\n current = current.child;\n } else {\n if ((current.flags & fiberFlags) !== NoFlags) {\n invokeEffectFn(current);\n }\n\n if (current.sibling !== null) {\n current = current.sibling;\n } else {\n current = subtreeRoot = current.return;\n }\n }\n }\n }\n}\n\nvar didWarnStateUpdateForNotYetMountedComponent = null;\nfunction warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {\n {\n if ((executionContext & RenderContext) !== NoContext) {\n // We let the other warning about render phase updates deal with this one.\n return;\n }\n\n if (!(fiber.mode & ConcurrentMode)) {\n return;\n }\n\n var tag = fiber.tag;\n\n if (tag !== IndeterminateComponent && tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent) {\n // Only warn for user-defined components, not internal ones like Suspense.\n return;\n } // We show the whole stack but dedupe on the top component's name because\n // the problematic code almost always lies inside that component.\n\n\n var componentName = getComponentNameFromFiber(fiber) || 'ReactComponent';\n\n if (didWarnStateUpdateForNotYetMountedComponent !== null) {\n if (didWarnStateUpdateForNotYetMountedComponent.has(componentName)) {\n return;\n }\n\n didWarnStateUpdateForNotYetMountedComponent.add(componentName);\n } else {\n didWarnStateUpdateForNotYetMountedComponent = new Set([componentName]);\n }\n\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error(\"Can't perform a React state update on a component that hasn't mounted yet. \" + 'This indicates that you have a side-effect in your render function that ' + 'asynchronously later calls tries to update the component. Move this work to ' + 'useEffect instead.');\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n}\nvar beginWork$1;\n\n{\n var dummyFiber = null;\n\n beginWork$1 = function (current, unitOfWork, lanes) {\n // If a component throws an error, we replay it again in a synchronously\n // dispatched event, so that the debugger will treat it as an uncaught\n // error See ReactErrorUtils for more information.\n // Before entering the begin phase, copy the work-in-progress onto a dummy\n // fiber. If beginWork throws, we'll use this to reset the state.\n var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);\n\n try {\n return beginWork(current, unitOfWork, lanes);\n } catch (originalError) {\n if (didSuspendOrErrorWhileHydratingDEV() || originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {\n // Don't replay promises.\n // Don't replay errors if we are hydrating and have already suspended or handled an error\n throw originalError;\n } // Keep this code in sync with handleError; any changes here must have\n // corresponding changes there.\n\n\n resetContextDependencies();\n resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the\n // same fiber again.\n // Unwind the failed stack frame\n\n unwindInterruptedWork(current, unitOfWork); // Restore the original properties of the fiber.\n\n assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);\n\n if ( unitOfWork.mode & ProfileMode) {\n // Reset the profiler timer.\n startProfilerTimer(unitOfWork);\n } // Run beginWork again.\n\n\n invokeGuardedCallback(null, beginWork, null, current, unitOfWork, lanes);\n\n if (hasCaughtError()) {\n var replayError = clearCaughtError();\n\n if (typeof replayError === 'object' && replayError !== null && replayError._suppressLogging && typeof originalError === 'object' && originalError !== null && !originalError._suppressLogging) {\n // If suppressed, let the flag carry over to the original error which is the one we'll rethrow.\n originalError._suppressLogging = true;\n }\n } // We always throw the original error in case the second render pass is not idempotent.\n // This can happen if a memoized function or CommonJS module doesn't throw after first invocation.\n\n\n throw originalError;\n }\n };\n}\n\nvar didWarnAboutUpdateInRender = false;\nvar didWarnAboutUpdateInRenderForAnotherComponent;\n\n{\n didWarnAboutUpdateInRenderForAnotherComponent = new Set();\n}\n\nfunction warnAboutRenderPhaseUpdatesInDEV(fiber) {\n {\n if (isRendering && !getIsUpdatingOpaqueValueInRenderPhaseInDEV()) {\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n var renderingComponentName = workInProgress && getComponentNameFromFiber(workInProgress) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.\n\n var dedupeKey = renderingComponentName;\n\n if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {\n didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);\n var setStateComponentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://reactjs.org/link/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n if (!didWarnAboutUpdateInRender) {\n error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');\n\n didWarnAboutUpdateInRender = true;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction restorePendingUpdaters(root, lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n memoizedUpdaters.forEach(function (schedulingFiber) {\n addFiberToLanesMap(root, schedulingFiber, lanes);\n }); // This function intentionally does not clear memoized updaters.\n // Those may still be relevant to the current commit\n // and a future one (e.g. Suspense).\n }\n }\n}\nvar fakeActCallbackNode = {};\n\nfunction scheduleCallback$1(priorityLevel, callback) {\n {\n // If we're currently inside an `act` scope, bypass Scheduler and push to\n // the `act` queue instead.\n var actQueue = ReactCurrentActQueue$1.current;\n\n if (actQueue !== null) {\n actQueue.push(callback);\n return fakeActCallbackNode;\n } else {\n return scheduleCallback(priorityLevel, callback);\n }\n }\n}\n\nfunction cancelCallback$1(callbackNode) {\n if ( callbackNode === fakeActCallbackNode) {\n return;\n } // In production, always call Scheduler. This function will be stripped out.\n\n\n return cancelCallback(callbackNode);\n}\n\nfunction shouldForceFlushFallbacksInDEV() {\n // Never force flush in production. This function should get stripped out.\n return ReactCurrentActQueue$1.current !== null;\n}\n\nfunction warnIfUpdatesNotWrappedWithActDEV(fiber) {\n {\n if (fiber.mode & ConcurrentMode) {\n if (!isConcurrentActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n } else {\n // Legacy mode has additional cases where we suppress a warning.\n if (!isLegacyActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n\n if (executionContext !== NoContext) {\n // Legacy mode doesn't warn if the update is batched, i.e.\n // batchedUpdates or flushSync.\n return;\n }\n\n if (fiber.tag !== FunctionComponent && fiber.tag !== ForwardRef && fiber.tag !== SimpleMemoComponent) {\n // For backwards compatibility with pre-hooks code, legacy mode only\n // warns for updates that originate from a hook.\n return;\n }\n }\n\n if (ReactCurrentActQueue$1.current === null) {\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error('An update to %s inside a test was not wrapped in act(...).\\n\\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\\n\\n' + 'act(() => {\\n' + ' /* fire events that update state */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act', getComponentNameFromFiber(fiber));\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n}\n\nfunction warnIfSuspenseResolutionNotWrappedWithActDEV(root) {\n {\n if (root.tag !== LegacyRoot && isConcurrentActEnvironment() && ReactCurrentActQueue$1.current === null) {\n error('A suspended resource finished loading inside a test, but the event ' + 'was not wrapped in act(...).\\n\\n' + 'When testing, code that resolves suspended data should be wrapped ' + 'into act(...):\\n\\n' + 'act(() => {\\n' + ' /* finish loading suspended data */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act');\n }\n }\n}\n\nfunction setIsRunningInsertionEffect(isRunning) {\n {\n isRunningInsertionEffect = isRunning;\n }\n}\n\n/* eslint-disable react-internal/prod-error-codes */\nvar resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below.\n\nvar failedBoundaries = null;\nvar setRefreshHandler = function (handler) {\n {\n resolveFamily = handler;\n }\n};\nfunction resolveFunctionForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction resolveClassForHotReloading(type) {\n // No implementation differences.\n return resolveFunctionForHotReloading(type);\n}\nfunction resolveForwardRefForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n // Check if we're dealing with a real forwardRef. Don't want to crash early.\n if (type !== null && type !== undefined && typeof type.render === 'function') {\n // ForwardRef is special because its resolved .type is an object,\n // but it's possible that we only have its inner render function in the map.\n // If that inner render function is different, we'll build a new forwardRef type.\n var currentRender = resolveFunctionForHotReloading(type.render);\n\n if (type.render !== currentRender) {\n var syntheticType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: currentRender\n };\n\n if (type.displayName !== undefined) {\n syntheticType.displayName = type.displayName;\n }\n\n return syntheticType;\n }\n }\n\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction isCompatibleFamilyForHotReloading(fiber, element) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return false;\n }\n\n var prevType = fiber.elementType;\n var nextType = element.type; // If we got here, we know types aren't === equal.\n\n var needsCompareFamilies = false;\n var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;\n\n switch (fiber.tag) {\n case ClassComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case FunctionComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n // We don't know the inner type yet.\n // We're going to assume that the lazy inner type is stable,\n // and so it is sufficient to avoid reconciling it away.\n // We're not going to unwrap or actually use the new lazy type.\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case ForwardRef:\n {\n if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ($$typeofNextType === REACT_MEMO_TYPE) {\n // TODO: if it was but can no longer be simple,\n // we shouldn't set this.\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n default:\n return false;\n } // Check if both types have a family and it's the same one.\n\n\n if (needsCompareFamilies) {\n // Note: memo() and forwardRef() we'll compare outer rather than inner type.\n // This means both of them need to be registered to preserve state.\n // If we unwrapped and compared the inner types for wrappers instead,\n // then we would risk falsely saying two separate memo(Foo)\n // calls are equivalent because they wrap the same Foo function.\n var prevFamily = resolveFamily(prevType);\n\n if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {\n return true;\n }\n }\n\n return false;\n }\n}\nfunction markFailedErrorBoundaryForHotReloading(fiber) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n if (typeof WeakSet !== 'function') {\n return;\n }\n\n if (failedBoundaries === null) {\n failedBoundaries = new WeakSet();\n }\n\n failedBoundaries.add(fiber);\n }\n}\nvar scheduleRefresh = function (root, update) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n var staleFamilies = update.staleFamilies,\n updatedFamilies = update.updatedFamilies;\n flushPassiveEffects();\n flushSync(function () {\n scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);\n });\n }\n};\nvar scheduleRoot = function (root, element) {\n {\n if (root.context !== emptyContextObject) {\n // Super edge case: root has a legacy _renderSubtree context\n // but we don't know the parentComponent so we can't pass it.\n // Just ignore. We'll delete this with _renderSubtree code path later.\n return;\n }\n\n flushPassiveEffects();\n flushSync(function () {\n updateContainer(element, root, null, null);\n });\n }\n};\n\nfunction scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {\n {\n var alternate = fiber.alternate,\n child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n if (resolveFamily === null) {\n throw new Error('Expected resolveFamily to be set during hot reload.');\n }\n\n var needsRender = false;\n var needsRemount = false;\n\n if (candidateType !== null) {\n var family = resolveFamily(candidateType);\n\n if (family !== undefined) {\n if (staleFamilies.has(family)) {\n needsRemount = true;\n } else if (updatedFamilies.has(family)) {\n if (tag === ClassComponent) {\n needsRemount = true;\n } else {\n needsRender = true;\n }\n }\n }\n }\n\n if (failedBoundaries !== null) {\n if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) {\n needsRemount = true;\n }\n }\n\n if (needsRemount) {\n fiber._debugNeedsRemount = true;\n }\n\n if (needsRemount || needsRender) {\n var _root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (_root !== null) {\n scheduleUpdateOnFiber(_root, fiber, SyncLane, NoTimestamp);\n }\n }\n\n if (child !== null && !needsRemount) {\n scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);\n }\n\n if (sibling !== null) {\n scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);\n }\n }\n}\n\nvar findHostInstancesForRefresh = function (root, families) {\n {\n var hostInstances = new Set();\n var types = new Set(families.map(function (family) {\n return family.current;\n }));\n findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);\n return hostInstances;\n }\n};\n\nfunction findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {\n {\n var child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n var didMatch = false;\n\n if (candidateType !== null) {\n if (types.has(candidateType)) {\n didMatch = true;\n }\n }\n\n if (didMatch) {\n // We have a match. This only drills down to the closest host components.\n // There's no need to search deeper because for the purpose of giving\n // visual feedback, \"flashing\" outermost parent rectangles is sufficient.\n findHostInstancesForFiberShallowly(fiber, hostInstances);\n } else {\n // If there's no match, maybe there will be one further down in the child tree.\n if (child !== null) {\n findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);\n }\n }\n\n if (sibling !== null) {\n findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);\n }\n }\n}\n\nfunction findHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);\n\n if (foundHostInstances) {\n return;\n } // If we didn't find any host children, fallback to closest host parent.\n\n\n var node = fiber;\n\n while (true) {\n switch (node.tag) {\n case HostComponent:\n hostInstances.add(node.stateNode);\n return;\n\n case HostPortal:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n\n case HostRoot:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n }\n\n if (node.return === null) {\n throw new Error('Expected to reach root first.');\n }\n\n node = node.return;\n }\n }\n}\n\nfunction findChildHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var node = fiber;\n var foundHostInstances = false;\n\n while (true) {\n if (node.tag === HostComponent) {\n // We got a match.\n foundHostInstances = true;\n hostInstances.add(node.stateNode); // There may still be more, so keep searching.\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === fiber) {\n return foundHostInstances;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === fiber) {\n return foundHostInstances;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n\n return false;\n}\n\nvar hasBadMapPolyfill;\n\n{\n hasBadMapPolyfill = false;\n\n try {\n var nonExtensibleObject = Object.preventExtensions({});\n /* eslint-disable no-new */\n\n new Map([[nonExtensibleObject, null]]);\n new Set([nonExtensibleObject]);\n /* eslint-enable no-new */\n } catch (e) {\n // TODO: Consider warning about bad polyfills\n hasBadMapPolyfill = true;\n }\n}\n\nfunction FiberNode(tag, pendingProps, key, mode) {\n // Instance\n this.tag = tag;\n this.key = key;\n this.elementType = null;\n this.type = null;\n this.stateNode = null; // Fiber\n\n this.return = null;\n this.child = null;\n this.sibling = null;\n this.index = 0;\n this.ref = null;\n this.pendingProps = pendingProps;\n this.memoizedProps = null;\n this.updateQueue = null;\n this.memoizedState = null;\n this.dependencies = null;\n this.mode = mode; // Effects\n\n this.flags = NoFlags;\n this.subtreeFlags = NoFlags;\n this.deletions = null;\n this.lanes = NoLanes;\n this.childLanes = NoLanes;\n this.alternate = null;\n\n {\n // Note: The following is done to avoid a v8 performance cliff.\n //\n // Initializing the fields below to smis and later updating them with\n // double values will cause Fibers to end up having separate shapes.\n // This behavior/bug has something to do with Object.preventExtension().\n // Fortunately this only impacts DEV builds.\n // Unfortunately it makes React unusably slow for some applications.\n // To work around this, initialize the fields below with doubles.\n //\n // Learn more about this here:\n // https://github.com/facebook/react/issues/14365\n // https://bugs.chromium.org/p/v8/issues/detail?id=8538\n this.actualDuration = Number.NaN;\n this.actualStartTime = Number.NaN;\n this.selfBaseDuration = Number.NaN;\n this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.\n // This won't trigger the performance cliff mentioned above,\n // and it simplifies other profiler code (including DevTools).\n\n this.actualDuration = 0;\n this.actualStartTime = -1;\n this.selfBaseDuration = 0;\n this.treeBaseDuration = 0;\n }\n\n {\n // This isn't directly used but is handy for debugging internals:\n this._debugSource = null;\n this._debugOwner = null;\n this._debugNeedsRemount = false;\n this._debugHookTypes = null;\n\n if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {\n Object.preventExtensions(this);\n }\n }\n} // This is a constructor function, rather than a POJO constructor, still\n// please ensure we do the following:\n// 1) Nobody should add any instance methods on this. Instance methods can be\n// more difficult to predict when they get optimized and they are almost\n// never inlined properly in static compilers.\n// 2) Nobody should rely on `instanceof Fiber` for type testing. We should\n// always know when it is a fiber.\n// 3) We might want to experiment with using numeric keys since they are easier\n// to optimize in a non-JIT environment.\n// 4) We can easily go from a constructor to a createFiber object literal if that\n// is faster.\n// 5) It should be easy to port this to a C struct and keep a C implementation\n// compatible.\n\n\nvar createFiber = function (tag, pendingProps, key, mode) {\n // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors\n return new FiberNode(tag, pendingProps, key, mode);\n};\n\nfunction shouldConstruct$1(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction isSimpleFunctionComponent(type) {\n return typeof type === 'function' && !shouldConstruct$1(type) && type.defaultProps === undefined;\n}\nfunction resolveLazyComponentTag(Component) {\n if (typeof Component === 'function') {\n return shouldConstruct$1(Component) ? ClassComponent : FunctionComponent;\n } else if (Component !== undefined && Component !== null) {\n var $$typeof = Component.$$typeof;\n\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n return ForwardRef;\n }\n\n if ($$typeof === REACT_MEMO_TYPE) {\n return MemoComponent;\n }\n }\n\n return IndeterminateComponent;\n} // This is used to create an alternate fiber to do work on.\n\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n\n if (workInProgress === null) {\n // We use a double buffering pooling technique because we know that we'll\n // only ever need at most two versions of a tree. We pool the \"other\" unused\n // node that we're free to reuse. This is lazily created to avoid allocating\n // extra objects for things that are never updated. It also allow us to\n // reclaim the extra memory if needed.\n workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);\n workInProgress.elementType = current.elementType;\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n\n {\n // DEV-only fields\n workInProgress._debugSource = current._debugSource;\n workInProgress._debugOwner = current._debugOwner;\n workInProgress._debugHookTypes = current._debugHookTypes;\n }\n\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // We already have an alternate.\n // Reset the effect tag.\n\n workInProgress.flags = NoFlags; // The effects are no longer valid.\n\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n\n {\n // We intentionally reset, rather than copy, actualDuration & actualStartTime.\n // This prevents time from endlessly accumulating in new commits.\n // This has the downside of resetting values for different priority renders,\n // But works for yielding (the common case) and should support resuming.\n workInProgress.actualDuration = 0;\n workInProgress.actualStartTime = -1;\n }\n } // Reset all effects except static ones.\n // Static effects are not specific to a render.\n\n\n workInProgress.flags = current.flags & StaticMask;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n }; // These will be overridden during the parent's reconciliation\n\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n\n {\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n\n {\n workInProgress._debugNeedsRemount = current._debugNeedsRemount;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case FunctionComponent:\n case SimpleMemoComponent:\n workInProgress.type = resolveFunctionForHotReloading(current.type);\n break;\n\n case ClassComponent:\n workInProgress.type = resolveClassForHotReloading(current.type);\n break;\n\n case ForwardRef:\n workInProgress.type = resolveForwardRefForHotReloading(current.type);\n break;\n }\n }\n\n return workInProgress;\n} // Used to reuse a Fiber for a second pass.\n\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n // This resets the Fiber to what createFiber or createWorkInProgress would\n // have set the values to before during the first pass. Ideally this wouldn't\n // be necessary but unfortunately many code paths reads from the workInProgress\n // when they should be reading from current and writing to workInProgress.\n // We assume pendingProps, index, key, ref, return are still untouched to\n // avoid doing another reconciliation.\n // Reset the effect flags but keep any Placement tags, since that's something\n // that child fiber is setting, not the reconciliation.\n workInProgress.flags &= StaticMask | Placement; // The effects are no longer valid.\n\n var current = workInProgress.alternate;\n\n if (current === null) {\n // Reset to createFiber's initial values.\n workInProgress.childLanes = NoLanes;\n workInProgress.lanes = renderLanes;\n workInProgress.child = null;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.memoizedProps = null;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.dependencies = null;\n workInProgress.stateNode = null;\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = 0;\n workInProgress.treeBaseDuration = 0;\n }\n } else {\n // Reset to the cloned values that createWorkInProgress would've.\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n };\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n }\n\n return workInProgress;\n}\nfunction createHostRootFiber(tag, isStrictMode, concurrentUpdatesByDefaultOverride) {\n var mode;\n\n if (tag === ConcurrentRoot) {\n mode = ConcurrentMode;\n\n if (isStrictMode === true) {\n mode |= StrictLegacyMode;\n\n {\n mode |= StrictEffectsMode;\n }\n }\n } else {\n mode = NoMode;\n }\n\n if ( isDevToolsPresent) {\n // Always collect profile timings when DevTools are present.\n // This enables DevTools to start capturing timing at any point–\n // Without some nodes in the tree having empty base times.\n mode |= ProfileMode;\n }\n\n return createFiber(HostRoot, null, null, mode);\n}\nfunction createFiberFromTypeAndProps(type, // React$ElementType\nkey, pendingProps, owner, mode, lanes) {\n var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.\n\n var resolvedType = type;\n\n if (typeof type === 'function') {\n if (shouldConstruct$1(type)) {\n fiberTag = ClassComponent;\n\n {\n resolvedType = resolveClassForHotReloading(resolvedType);\n }\n } else {\n {\n resolvedType = resolveFunctionForHotReloading(resolvedType);\n }\n }\n } else if (typeof type === 'string') {\n fiberTag = HostComponent;\n } else {\n getTag: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n\n case REACT_STRICT_MODE_TYPE:\n fiberTag = Mode;\n mode |= StrictLegacyMode;\n\n if ( (mode & ConcurrentMode) !== NoMode) {\n // Strict effects should never run on legacy roots\n mode |= StrictEffectsMode;\n }\n\n break;\n\n case REACT_PROFILER_TYPE:\n return createFiberFromProfiler(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_TYPE:\n return createFiberFromSuspense(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_LIST_TYPE:\n return createFiberFromSuspenseList(pendingProps, mode, lanes, key);\n\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n\n case REACT_LEGACY_HIDDEN_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_SCOPE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_CACHE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_TRACING_MARKER_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_DEBUG_TRACING_MODE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n default:\n {\n if (typeof type === 'object' && type !== null) {\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n fiberTag = ContextProvider;\n break getTag;\n\n case REACT_CONTEXT_TYPE:\n // This is a consumer\n fiberTag = ContextConsumer;\n break getTag;\n\n case REACT_FORWARD_REF_TYPE:\n fiberTag = ForwardRef;\n\n {\n resolvedType = resolveForwardRefForHotReloading(resolvedType);\n }\n\n break getTag;\n\n case REACT_MEMO_TYPE:\n fiberTag = MemoComponent;\n break getTag;\n\n case REACT_LAZY_TYPE:\n fiberTag = LazyComponent;\n resolvedType = null;\n break getTag;\n }\n }\n\n var info = '';\n\n {\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and \" + 'named imports.';\n }\n\n var ownerName = owner ? getComponentNameFromFiber(owner) : null;\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n }\n\n throw new Error('Element type is invalid: expected a string (for built-in ' + 'components) or a class/function (for composite components) ' + (\"but got: \" + (type == null ? type : typeof type) + \".\" + info));\n }\n }\n }\n\n var fiber = createFiber(fiberTag, pendingProps, key, mode);\n fiber.elementType = type;\n fiber.type = resolvedType;\n fiber.lanes = lanes;\n\n {\n fiber._debugOwner = owner;\n }\n\n return fiber;\n}\nfunction createFiberFromElement(element, mode, lanes) {\n var owner = null;\n\n {\n owner = element._owner;\n }\n\n var type = element.type;\n var key = element.key;\n var pendingProps = element.props;\n var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes);\n\n {\n fiber._debugSource = element._source;\n fiber._debugOwner = element._owner;\n }\n\n return fiber;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n var fiber = createFiber(Fragment, elements, key, mode);\n fiber.lanes = lanes;\n return fiber;\n}\n\nfunction createFiberFromProfiler(pendingProps, mode, lanes, key) {\n {\n if (typeof pendingProps.id !== 'string') {\n error('Profiler must specify an \"id\" of type `string` as a prop. Received the type `%s` instead.', typeof pendingProps.id);\n }\n }\n\n var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode);\n fiber.elementType = REACT_PROFILER_TYPE;\n fiber.lanes = lanes;\n\n {\n fiber.stateNode = {\n effectDuration: 0,\n passiveEffectDuration: 0\n };\n }\n\n return fiber;\n}\n\nfunction createFiberFromSuspense(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromSuspenseList(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_LIST_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n var fiber = createFiber(OffscreenComponent, pendingProps, key, mode);\n fiber.elementType = REACT_OFFSCREEN_TYPE;\n fiber.lanes = lanes;\n var primaryChildInstance = {\n isHidden: false\n };\n fiber.stateNode = primaryChildInstance;\n return fiber;\n}\nfunction createFiberFromText(content, mode, lanes) {\n var fiber = createFiber(HostText, content, null, mode);\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromHostInstanceForDeletion() {\n var fiber = createFiber(HostComponent, null, null, NoMode);\n fiber.elementType = 'DELETED';\n return fiber;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiber(DehydratedFragment, null, null, NoMode);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n var pendingProps = portal.children !== null ? portal.children : [];\n var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);\n fiber.lanes = lanes;\n fiber.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n // Used by persistent updates\n implementation: portal.implementation\n };\n return fiber;\n} // Used for stashing WIP properties to replay failed work in DEV.\n\nfunction assignFiberPropertiesInDEV(target, source) {\n if (target === null) {\n // This Fiber's initial properties will always be overwritten.\n // We only use a Fiber to ensure the same hidden class so DEV isn't slow.\n target = createFiber(IndeterminateComponent, null, null, NoMode);\n } // This is intentionally written as a list of all properties.\n // We tried to use Object.assign() instead but this is called in\n // the hottest path, and Object.assign() was too slow:\n // https://github.com/facebook/react/issues/12502\n // This code is DEV-only so size is not a concern.\n\n\n target.tag = source.tag;\n target.key = source.key;\n target.elementType = source.elementType;\n target.type = source.type;\n target.stateNode = source.stateNode;\n target.return = source.return;\n target.child = source.child;\n target.sibling = source.sibling;\n target.index = source.index;\n target.ref = source.ref;\n target.pendingProps = source.pendingProps;\n target.memoizedProps = source.memoizedProps;\n target.updateQueue = source.updateQueue;\n target.memoizedState = source.memoizedState;\n target.dependencies = source.dependencies;\n target.mode = source.mode;\n target.flags = source.flags;\n target.subtreeFlags = source.subtreeFlags;\n target.deletions = source.deletions;\n target.lanes = source.lanes;\n target.childLanes = source.childLanes;\n target.alternate = source.alternate;\n\n {\n target.actualDuration = source.actualDuration;\n target.actualStartTime = source.actualStartTime;\n target.selfBaseDuration = source.selfBaseDuration;\n target.treeBaseDuration = source.treeBaseDuration;\n }\n\n target._debugSource = source._debugSource;\n target._debugOwner = source._debugOwner;\n target._debugNeedsRemount = source._debugNeedsRemount;\n target._debugHookTypes = source._debugHookTypes;\n return target;\n}\n\nfunction FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.pendingChildren = null;\n this.current = null;\n this.pingCache = null;\n this.finishedWork = null;\n this.timeoutHandle = noTimeout;\n this.context = null;\n this.pendingContext = null;\n this.callbackNode = null;\n this.callbackPriority = NoLane;\n this.eventTimes = createLaneMap(NoLanes);\n this.expirationTimes = createLaneMap(NoTimestamp);\n this.pendingLanes = NoLanes;\n this.suspendedLanes = NoLanes;\n this.pingedLanes = NoLanes;\n this.expiredLanes = NoLanes;\n this.mutableReadLanes = NoLanes;\n this.finishedLanes = NoLanes;\n this.entangledLanes = NoLanes;\n this.entanglements = createLaneMap(NoLanes);\n this.identifierPrefix = identifierPrefix;\n this.onRecoverableError = onRecoverableError;\n\n {\n this.mutableSourceEagerHydrationData = null;\n }\n\n {\n this.effectDuration = 0;\n this.passiveEffectDuration = 0;\n }\n\n {\n this.memoizedUpdaters = new Set();\n var pendingUpdatersLaneMap = this.pendingUpdatersLaneMap = [];\n\n for (var _i = 0; _i < TotalLanes; _i++) {\n pendingUpdatersLaneMap.push(new Set());\n }\n }\n\n {\n switch (tag) {\n case ConcurrentRoot:\n this._debugRootType = hydrate ? 'hydrateRoot()' : 'createRoot()';\n break;\n\n case LegacyRoot:\n this._debugRootType = hydrate ? 'hydrate()' : 'render()';\n break;\n }\n }\n}\n\nfunction createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, // TODO: We have several of these arguments that are conceptually part of the\n// host config, but because they are passed in at runtime, we have to thread\n// them through the root constructor. Perhaps we should put them all into a\n// single type, like a DynamicHostConfig that is defined by the renderer.\nidentifierPrefix, onRecoverableError, transitionCallbacks) {\n var root = new FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError);\n // stateNode is any.\n\n\n var uninitializedFiber = createHostRootFiber(tag, isStrictMode);\n root.current = uninitializedFiber;\n uninitializedFiber.stateNode = root;\n\n {\n var _initialState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: null,\n // not enabled yet\n transitions: null,\n pendingSuspenseBoundaries: null\n };\n uninitializedFiber.memoizedState = _initialState;\n }\n\n initializeUpdateQueue(uninitializedFiber);\n return root;\n}\n\nvar ReactVersion = '18.2.0';\n\nfunction createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.\nimplementation) {\n var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n {\n checkKeyStringCoercion(key);\n }\n\n return {\n // This tag allow us to uniquely identify this as a React Portal\n $$typeof: REACT_PORTAL_TYPE,\n key: key == null ? null : '' + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\n\nvar didWarnAboutNestedUpdates;\nvar didWarnAboutFindNodeInStrictMode;\n\n{\n didWarnAboutNestedUpdates = false;\n didWarnAboutFindNodeInStrictMode = {};\n}\n\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) {\n return emptyContextObject;\n }\n\n var fiber = get(parentComponent);\n var parentContext = findCurrentUnmaskedContext(fiber);\n\n if (fiber.tag === ClassComponent) {\n var Component = fiber.type;\n\n if (isContextProvider(Component)) {\n return processChildContext(fiber, Component, parentContext);\n }\n }\n\n return parentContext;\n}\n\nfunction findHostInstanceWithWarning(component, methodName) {\n {\n var fiber = get(component);\n\n if (fiber === undefined) {\n if (typeof component.render === 'function') {\n throw new Error('Unable to find node on an unmounted component.');\n } else {\n var keys = Object.keys(component).join(',');\n throw new Error(\"Argument appears to not be a ReactComponent. Keys: \" + keys);\n }\n }\n\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n if (hostFiber.mode & StrictLegacyMode) {\n var componentName = getComponentNameFromFiber(fiber) || 'Component';\n\n if (!didWarnAboutFindNodeInStrictMode[componentName]) {\n didWarnAboutFindNodeInStrictMode[componentName] = true;\n var previousFiber = current;\n\n try {\n setCurrentFiber(hostFiber);\n\n if (fiber.mode & StrictLegacyMode) {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n } else {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n }\n } finally {\n // Ideally this should reset to previous but this shouldn't be called in\n // render and there's another warning for that anyway.\n if (previousFiber) {\n setCurrentFiber(previousFiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n\n return hostFiber.stateNode;\n }\n}\n\nfunction createContainer(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = false;\n var initialChildren = null;\n return createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n}\nfunction createHydrationContainer(initialChildren, // TODO: Remove `callback` when we delete legacy mode.\ncallback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = true;\n var root = createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); // TODO: Move this to FiberRoot constructor\n\n root.context = getContextForSubtree(null); // Schedule the initial render. In a hydration root, this is different from\n // a regular update because the initial render must match was was rendered\n // on the server.\n // NOTE: This update intentionally doesn't have a payload. We're only using\n // the update to schedule work on the root fiber (and, for legacy roots, to\n // enqueue the callback if one is provided).\n\n var current = root.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current);\n var update = createUpdate(eventTime, lane);\n update.callback = callback !== undefined && callback !== null ? callback : null;\n enqueueUpdate(current, update, lane);\n scheduleInitialHydrationOnRoot(root, lane, eventTime);\n return root;\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n {\n onScheduleRoot(container, element);\n }\n\n var current$1 = container.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current$1);\n\n {\n markRenderScheduled(lane);\n }\n\n var context = getContextForSubtree(parentComponent);\n\n if (container.context === null) {\n container.context = context;\n } else {\n container.pendingContext = context;\n }\n\n {\n if (isRendering && current !== null && !didWarnAboutNestedUpdates) {\n didWarnAboutNestedUpdates = true;\n\n error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\\n\\n' + 'Check the render method of %s.', getComponentNameFromFiber(current) || 'Unknown');\n }\n }\n\n var update = createUpdate(eventTime, lane); // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: element\n };\n callback = callback === undefined ? null : callback;\n\n if (callback !== null) {\n {\n if (typeof callback !== 'function') {\n error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\n }\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(current$1, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, current$1, lane, eventTime);\n entangleTransitions(root, current$1, lane);\n }\n\n return lane;\n}\nfunction getPublicRootInstance(container) {\n var containerFiber = container.current;\n\n if (!containerFiber.child) {\n return null;\n }\n\n switch (containerFiber.child.tag) {\n case HostComponent:\n return getPublicInstance(containerFiber.child.stateNode);\n\n default:\n return containerFiber.child.stateNode;\n }\n}\nfunction attemptSynchronousHydration$1(fiber) {\n switch (fiber.tag) {\n case HostRoot:\n {\n var root = fiber.stateNode;\n\n if (isRootDehydrated(root)) {\n // Flush the first scheduled \"update\".\n var lanes = getHighestPriorityPendingLanes(root);\n flushRoot(root, lanes);\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n flushSync(function () {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, SyncLane, eventTime);\n }\n }); // If we're still blocked after this, we need to increase\n // the priority of any promises resolving within this\n // boundary so that they next attempt also has higher pri.\n\n var retryLane = SyncLane;\n markRetryLaneIfNotHydrated(fiber, retryLane);\n break;\n }\n }\n}\n\nfunction markRetryLaneImpl(fiber, retryLane) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n suspenseState.retryLane = higherPriorityLane(suspenseState.retryLane, retryLane);\n }\n} // Increases the priority of thenables when they resolve within this boundary.\n\n\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n var alternate = fiber.alternate;\n\n if (alternate) {\n markRetryLaneImpl(alternate, retryLane);\n }\n}\nfunction attemptContinuousHydration$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority and they should not suspend on I/O,\n // since you have to wrap anything that might suspend in\n // Suspense.\n return;\n }\n\n var lane = SelectiveHydrationLane;\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction attemptHydrationAtCurrentPriority$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority other than synchronously flush it.\n return;\n }\n\n var lane = requestUpdateLane(fiber);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction findHostInstanceWithNoPortals(fiber) {\n var hostFiber = findCurrentHostFiberWithNoPortals(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nvar shouldErrorImpl = function (fiber) {\n return null;\n};\n\nfunction shouldError(fiber) {\n return shouldErrorImpl(fiber);\n}\n\nvar shouldSuspendImpl = function (fiber) {\n return false;\n};\n\nfunction shouldSuspend(fiber) {\n return shouldSuspendImpl(fiber);\n}\nvar overrideHookState = null;\nvar overrideHookStateDeletePath = null;\nvar overrideHookStateRenamePath = null;\nvar overrideProps = null;\nvar overridePropsDeletePath = null;\nvar overridePropsRenamePath = null;\nvar scheduleUpdate = null;\nvar setErrorHandler = null;\nvar setSuspenseHandler = null;\n\n{\n var copyWithDeleteImpl = function (obj, path, index) {\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === path.length) {\n if (isArray(updated)) {\n updated.splice(key, 1);\n } else {\n delete updated[key];\n }\n\n return updated;\n } // $FlowFixMe number or string is fine here\n\n\n updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);\n return updated;\n };\n\n var copyWithDelete = function (obj, path) {\n return copyWithDeleteImpl(obj, path, 0);\n };\n\n var copyWithRenameImpl = function (obj, oldPath, newPath, index) {\n var oldKey = oldPath[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === oldPath.length) {\n var newKey = newPath[index]; // $FlowFixMe number or string is fine here\n\n updated[newKey] = updated[oldKey];\n\n if (isArray(updated)) {\n updated.splice(oldKey, 1);\n } else {\n delete updated[oldKey];\n }\n } else {\n // $FlowFixMe number or string is fine here\n updated[oldKey] = copyWithRenameImpl( // $FlowFixMe number or string is fine here\n obj[oldKey], oldPath, newPath, index + 1);\n }\n\n return updated;\n };\n\n var copyWithRename = function (obj, oldPath, newPath) {\n if (oldPath.length !== newPath.length) {\n warn('copyWithRename() expects paths of the same length');\n\n return;\n } else {\n for (var i = 0; i < newPath.length - 1; i++) {\n if (oldPath[i] !== newPath[i]) {\n warn('copyWithRename() expects paths to be the same except for the deepest key');\n\n return;\n }\n }\n }\n\n return copyWithRenameImpl(obj, oldPath, newPath, 0);\n };\n\n var copyWithSetImpl = function (obj, path, index, value) {\n if (index >= path.length) {\n return value;\n }\n\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj); // $FlowFixMe number or string is fine here\n\n updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);\n return updated;\n };\n\n var copyWithSet = function (obj, path, value) {\n return copyWithSetImpl(obj, path, 0, value);\n };\n\n var findHook = function (fiber, id) {\n // For now, the \"id\" of stateful hooks is just the stateful hook index.\n // This may change in the future with e.g. nested hooks.\n var currentHook = fiber.memoizedState;\n\n while (currentHook !== null && id > 0) {\n currentHook = currentHook.next;\n id--;\n }\n\n return currentHook;\n }; // Support DevTools editable values for useState and useReducer.\n\n\n overrideHookState = function (fiber, id, path, value) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithSet(hook.memoizedState, path, value);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateDeletePath = function (fiber, id, path) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithDelete(hook.memoizedState, path);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateRenamePath = function (fiber, id, oldPath, newPath) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithRename(hook.memoizedState, oldPath, newPath);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n }; // Support DevTools props for function components, forwardRef, memo, host components, etc.\n\n\n overrideProps = function (fiber, path, value) {\n fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsDeletePath = function (fiber, path) {\n fiber.pendingProps = copyWithDelete(fiber.memoizedProps, path);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsRenamePath = function (fiber, oldPath, newPath) {\n fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n scheduleUpdate = function (fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n setErrorHandler = function (newShouldErrorImpl) {\n shouldErrorImpl = newShouldErrorImpl;\n };\n\n setSuspenseHandler = function (newShouldSuspendImpl) {\n shouldSuspendImpl = newShouldSuspendImpl;\n };\n}\n\nfunction findHostInstanceByFiber(fiber) {\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nfunction emptyFindFiberByHostInstance(instance) {\n return null;\n}\n\nfunction getCurrentFiberForDevTools() {\n return current;\n}\n\nfunction injectIntoDevTools(devToolsConfig) {\n var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;\n var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\n return injectInternals({\n bundleType: devToolsConfig.bundleType,\n version: devToolsConfig.version,\n rendererPackageName: devToolsConfig.rendererPackageName,\n rendererConfig: devToolsConfig.rendererConfig,\n overrideHookState: overrideHookState,\n overrideHookStateDeletePath: overrideHookStateDeletePath,\n overrideHookStateRenamePath: overrideHookStateRenamePath,\n overrideProps: overrideProps,\n overridePropsDeletePath: overridePropsDeletePath,\n overridePropsRenamePath: overridePropsRenamePath,\n setErrorHandler: setErrorHandler,\n setSuspenseHandler: setSuspenseHandler,\n scheduleUpdate: scheduleUpdate,\n currentDispatcherRef: ReactCurrentDispatcher,\n findHostInstanceByFiber: findHostInstanceByFiber,\n findFiberByHostInstance: findFiberByHostInstance || emptyFindFiberByHostInstance,\n // React Refresh\n findHostInstancesForRefresh: findHostInstancesForRefresh ,\n scheduleRefresh: scheduleRefresh ,\n scheduleRoot: scheduleRoot ,\n setRefreshHandler: setRefreshHandler ,\n // Enables DevTools to append owner stacks to error messages in DEV mode.\n getCurrentFiber: getCurrentFiberForDevTools ,\n // Enables DevTools to detect reconciler version rather than renderer version\n // which may not match for third party renderers.\n reconcilerVersion: ReactVersion\n });\n}\n\n/* global reportError */\n\nvar defaultOnRecoverableError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n};\n\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function (children) {\n var root = this._internalRoot;\n\n if (root === null) {\n throw new Error('Cannot update an unmounted root.');\n }\n\n {\n if (typeof arguments[1] === 'function') {\n error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n } else if (isValidContainer(arguments[1])) {\n error('You passed a container to the second argument of root.render(...). ' + \"You don't need to pass it again since you already passed it to create the root.\");\n } else if (typeof arguments[1] !== 'undefined') {\n error('You passed a second argument to root.render(...) but it only accepts ' + 'one argument.');\n }\n\n var container = root.containerInfo;\n\n if (container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(root.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + \"root.unmount() to empty a root's container.\");\n }\n }\n }\n }\n\n updateContainer(children, root, null, null);\n};\n\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function () {\n {\n if (typeof arguments[0] === 'function') {\n error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n }\n }\n\n var root = this._internalRoot;\n\n if (root !== null) {\n this._internalRoot = null;\n var container = root.containerInfo;\n\n {\n if (isAlreadyRendering()) {\n error('Attempted to synchronously unmount a root while React was already ' + 'rendering. React cannot finish unmounting the root until the ' + 'current render has completed, which may lead to a race condition.');\n }\n }\n\n flushSync(function () {\n updateContainer(null, root, null, null);\n });\n unmarkContainerAsRoot(container);\n }\n};\n\nfunction createRoot(container, options) {\n if (!isValidContainer(container)) {\n throw new Error('createRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n var transitionCallbacks = null;\n\n if (options !== null && options !== undefined) {\n {\n if (options.hydrate) {\n warn('hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead.');\n } else {\n if (typeof options === 'object' && options !== null && options.$$typeof === REACT_ELEMENT_TYPE) {\n error('You passed a JSX element to createRoot. You probably meant to ' + 'call root.render instead. ' + 'Example usage:\\n\\n' + ' let root = createRoot(domContainer);\\n' + ' root.render(<App />);');\n }\n }\n }\n\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n\n if (options.transitionCallbacks !== undefined) {\n transitionCallbacks = options.transitionCallbacks;\n }\n }\n\n var root = createContainer(container, ConcurrentRoot, null, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n return new ReactDOMRoot(root);\n}\n\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nfunction scheduleHydration(target) {\n if (target) {\n queueExplicitHydrationTarget(target);\n }\n}\n\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = scheduleHydration;\nfunction hydrateRoot(container, initialChildren, options) {\n if (!isValidContainer(container)) {\n throw new Error('hydrateRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n\n {\n if (initialChildren === undefined) {\n error('Must provide initial children as second argument to hydrateRoot. ' + 'Example usage: hydrateRoot(domContainer, <App />)');\n }\n } // For now we reuse the whole bag of options since they contain\n // the hydration callbacks.\n\n\n var hydrationCallbacks = options != null ? options : null; // TODO: Delete this option\n\n var mutableSources = options != null && options.hydratedSources || null;\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n\n if (options !== null && options !== undefined) {\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n }\n\n var root = createHydrationContainer(initialChildren, null, container, ConcurrentRoot, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container); // This can't be a comment node since hydration doesn't work on comment nodes anyway.\n\n listenToAllSupportedEvents(container);\n\n if (mutableSources) {\n for (var i = 0; i < mutableSources.length; i++) {\n var mutableSource = mutableSources[i];\n registerMutableSourceForHydration(root, mutableSource);\n }\n }\n\n return new ReactDOMHydrationRoot(root);\n}\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || !disableCommentsAsDOMContainers ));\n} // TODO: Remove this function which also includes comment nodes.\n// We only use it in places that are currently more relaxed.\n\nfunction isValidContainerLegacy(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));\n}\n\nfunction warnIfReactDOMContainerInDEV(container) {\n {\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('createRoot(): Creating roots directly with document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try using a container element created ' + 'for your app.');\n }\n\n if (isContainerMarkedAsRoot(container)) {\n if (container._reactRootContainer) {\n error('You are calling ReactDOMClient.createRoot() on a container that was previously ' + 'passed to ReactDOM.render(). This is not supported.');\n } else {\n error('You are calling ReactDOMClient.createRoot() on a container that ' + 'has already been passed to createRoot() before. Instead, call ' + 'root.render() on the existing root instead if you want to update it.');\n }\n }\n }\n}\n\nvar ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;\nvar topLevelUpdateWarnings;\n\n{\n topLevelUpdateWarnings = function (container) {\n if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');\n }\n }\n }\n\n var isRootRenderedBySomeReact = !!container._reactRootContainer;\n var rootEl = getReactRootElementInContainer(container);\n var hasNonRootReactChild = !!(rootEl && getInstanceFromNode(rootEl));\n\n if (hasNonRootReactChild && !isRootRenderedBySomeReact) {\n error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');\n }\n\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.');\n }\n };\n}\n\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOCUMENT_NODE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction noopOnRecoverableError() {// This isn't reachable because onRecoverableError isn't called in the\n // legacy API.\n}\n\nfunction legacyCreateRootFromDOMContainer(container, initialChildren, parentComponent, callback, isHydrationContainer) {\n if (isHydrationContainer) {\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n }\n\n var root = createHydrationContainer(initialChildren, callback, container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n container._reactRootContainer = root;\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n flushSync();\n return root;\n } else {\n // First clear any existing content.\n var rootSibling;\n\n while (rootSibling = container.lastChild) {\n container.removeChild(rootSibling);\n }\n\n if (typeof callback === 'function') {\n var _originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(_root);\n\n _originalCallback.call(instance);\n };\n }\n\n var _root = createContainer(container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n\n container._reactRootContainer = _root;\n markContainerAsRoot(_root.current, container);\n\n var _rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n\n listenToAllSupportedEvents(_rootContainerElement); // Initial mount should not be batched.\n\n flushSync(function () {\n updateContainer(initialChildren, _root, parentComponent, callback);\n });\n return _root;\n }\n}\n\nfunction warnOnInvalidCallback$1(callback, callerName) {\n {\n if (callback !== null && typeof callback !== 'function') {\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n }\n}\n\nfunction legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {\n {\n topLevelUpdateWarnings(container);\n warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render');\n }\n\n var maybeRoot = container._reactRootContainer;\n var root;\n\n if (!maybeRoot) {\n // Initial mount\n root = legacyCreateRootFromDOMContainer(container, children, parentComponent, callback, forceHydrate);\n } else {\n root = maybeRoot;\n\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n } // Update\n\n\n updateContainer(children, root, parentComponent, callback);\n }\n\n return getPublicRootInstance(root);\n}\n\nfunction findDOMNode(componentOrElement) {\n {\n var owner = ReactCurrentOwner$3.current;\n\n if (owner !== null && owner.stateNode !== null) {\n var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;\n\n if (!warnedAboutRefsInRender) {\n error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromType(owner.type) || 'A component');\n }\n\n owner.stateNode._warnedAboutRefsInRender = true;\n }\n }\n\n if (componentOrElement == null) {\n return null;\n }\n\n if (componentOrElement.nodeType === ELEMENT_NODE) {\n return componentOrElement;\n }\n\n {\n return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');\n }\n}\nfunction hydrate(element, container, callback) {\n {\n error('ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call hydrateRoot(container, element)?');\n }\n } // TODO: throw or warn if we couldn't hydrate?\n\n\n return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);\n}\nfunction render(element, container, callback) {\n {\n error('ReactDOM.render is no longer supported in React 18. Use createRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');\n }\n }\n\n return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);\n}\nfunction unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n {\n error('ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported ' + 'in React 18. Consider using a portal instead. Until you switch to ' + \"the createRoot API, your app will behave as if it's running React \" + '17. Learn more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(containerNode)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n if (parentComponent == null || !has(parentComponent)) {\n throw new Error('parentComponent must be a valid React Component');\n }\n\n return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);\n}\nfunction unmountComponentAtNode(container) {\n if (!isValidContainerLegacy(container)) {\n throw new Error('unmountComponentAtNode(...): Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?');\n }\n }\n\n if (container._reactRootContainer) {\n {\n var rootEl = getReactRootElementInContainer(container);\n var renderedByDifferentReact = rootEl && !getInstanceFromNode(rootEl);\n\n if (renderedByDifferentReact) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by another copy of React.');\n }\n } // Unmount should not be batched.\n\n\n flushSync(function () {\n legacyRenderSubtreeIntoContainer(null, null, container, false, function () {\n // $FlowFixMe This should probably use `delete container._reactRootContainer`\n container._reactRootContainer = null;\n unmarkContainerAsRoot(container);\n });\n }); // If you call unmountComponentAtNode twice in quick succession, you'll\n // get `true` twice. That's probably fine?\n\n return true;\n } else {\n {\n var _rootEl = getReactRootElementInContainer(container);\n\n var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode(_rootEl)); // Check if the container itself is a React root node.\n\n var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainerLegacy(container.parentNode) && !!container.parentNode._reactRootContainer;\n\n if (hasNonRootReactChild) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');\n }\n }\n\n return false;\n }\n}\n\nsetAttemptSynchronousHydration(attemptSynchronousHydration$1);\nsetAttemptContinuousHydration(attemptContinuousHydration$1);\nsetAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1);\nsetGetCurrentUpdatePriority(getCurrentUpdatePriority);\nsetAttemptHydrationAtPriority(runWithPriority);\n\n{\n if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype\n Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype\n Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {\n error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n}\n\nsetRestoreImplementation(restoreControlledState$3);\nsetBatchingImplementation(batchedUpdates$1, discreteUpdates, flushSync);\n\nfunction createPortal$1(children, container) {\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!isValidContainer(container)) {\n throw new Error('Target container is not a DOM element.');\n } // TODO: pass ReactDOM portal implementation as third argument\n // $FlowFixMe The Flow type is opaque but there's no way to actually create it.\n\n\n return createPortal(children, container, null, key);\n}\n\nfunction renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);\n}\n\nvar Internals = {\n usingClientEntryPoint: false,\n // Keep in sync with ReactTestUtils.js.\n // This is an array for better minification.\n Events: [getInstanceFromNode, getNodeFromInstance, getFiberCurrentPropsFromNode, enqueueStateRestore, restoreStateIfNeeded, batchedUpdates$1]\n};\n\nfunction createRoot$1(container, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing createRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return createRoot(container, options);\n}\n\nfunction hydrateRoot$1(container, initialChildren, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing hydrateRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return hydrateRoot(container, initialChildren, options);\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync$1(fn) {\n {\n if (isAlreadyRendering()) {\n error('flushSync was called from inside a lifecycle method. React cannot ' + 'flush when React is already rendering. Consider moving this call to ' + 'a scheduler task or micro task.');\n }\n }\n\n return flushSync(fn);\n}\nvar foundDevTools = injectIntoDevTools({\n findFiberByHostInstance: getClosestInstanceFromNode,\n bundleType: 1 ,\n version: ReactVersion,\n rendererPackageName: 'react-dom'\n});\n\n{\n if (!foundDevTools && canUseDOM && window.top === window.self) {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.\n\n if (/^(https?|file):$/.test(protocol)) {\n // eslint-disable-next-line react-internal/no-production-logging\n console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://reactjs.org/link/react-devtools' + (protocol === 'file:' ? '\\nYou might need to use a local HTTP server (instead of file://): ' + 'https://reactjs.org/link/react-devtools-faq' : ''), 'font-weight:bold');\n }\n }\n }\n}\n\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;\nexports.createPortal = createPortal$1;\nexports.createRoot = createRoot$1;\nexports.findDOMNode = findDOMNode;\nexports.flushSync = flushSync$1;\nexports.hydrate = hydrate;\nexports.hydrateRoot = hydrateRoot$1;\nexports.render = render;\nexports.unmountComponentAtNode = unmountComponentAtNode;\nexports.unstable_batchedUpdates = batchedUpdates$1;\nexports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixtQkFBTyxDQUFDLDRDQUFPO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLG9EQUFXOztBQUVuQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZGQUE2RixhQUFhO0FBQzFHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDOztBQUVoQyxrQkFBa0I7O0FBRWxCLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxxREFBcUQ7QUFDckQ7O0FBRUEsaUNBQWlDOztBQUVqQywwQ0FBMEM7O0FBRTFDLGdDQUFnQzs7QUFFaEMsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdEO0FBQ2hE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QUNBO0FBQ0EsQ0FBQyxHQUFHOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRztBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRzs7QUFFSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZOzs7QUFHWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBLDhEQUE4RDtBQUM5RCxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsR0FBRztBQUNkOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsa0VBQWtFO0FBQ2xFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxvQkFBb0Isa0JBQWtCO0FBQ3RDOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSwrQkFBK0I7QUFDL0I7OztBQUdBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7OztBQUdBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsUUFBUTtBQUNSO0FBQ0E7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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7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Q0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUlBQWlJLDhCQUE4QjtBQUMvSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1GQUFtRjtBQUNuRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRLDBDQUEwQzs7O0FBR2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdHQUFnRztBQUNoRzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDBDQUEwQzs7O0FBR2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxN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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEOztBQUV2RCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTixJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEseUNBQXlDOztBQUV6QztBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLG9CQUFvQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFEQUFxRDtBQUNyRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixnQkFBZ0I7QUFDbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUVBQXFFO0FBQ3JFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7O0FBRTlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUEsdUNBQXVDOztBQUV2QywrQkFBK0I7QUFDL0I7O0FBRUE7QUFDQTtBQUNBLHdCQUF3Qjs7QUFFeEI7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBLDBFQUEwRTtBQUMxRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLDJDQUEyQztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTs7QUFFQSxvQkFBb0IsaUNBQWlDO0FBQ3JEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUJBQW1CLDRDQUE0QztBQUMvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0RUFBNEU7O0FBRTVFLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQSw4QkFBOEI7QUFDOUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IscUJBQXFCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGdCQUFnQixlQUFlO0FBQy9CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEMsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQ0FBaUM7QUFDakMsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLFNBQVM7QUFDekI7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtDQUFrQztBQUNsQztBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEseUNBQXlDO0FBQ3pDO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxrREFBa0Q7QUFDbEQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0EsZ0ZBQWdGO0FBQ2hGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFNBQVM7QUFDckI7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhHQUE4RztBQUM5RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osa0JBQWtCLGtCQUFrQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsd0JBQXdCO0FBQ25DLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHdCQUF3QjtBQUNuQyxZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkMsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixZQUFZO0FBQ1o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksWUFBWTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkMsV0FBVyxRQUFRO0FBQ25COztBQUVBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsK0VBQStFO0FBQy9FOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLG9DQUFvQztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVB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O0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsT0FBTztBQUNqQztBQUNBOztBQUVBOztBQUVBLDBCQUEwQixPQUFPO0FBQ2pDO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNB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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTSwyRUFBMkUsb0dBQW9HLGtDQUFrQztBQUN2TjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNLG9HQUFvRztBQUMxRztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUVBQW1FOztBQUVuRSwrRkFBK0Y7QUFDL0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLDRCQUE0QjtBQUNsRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsd0JBQXdCO0FBQzdDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyREFBMkQ7QUFDM0Q7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0EsY0FBYzs7O0FBR2Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBEO0FBQzFEO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsMnZCQUEydkI7O0FBRTN2QjtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7O0FBRXJDLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBLEVBQUUsbUJBQW1COztBQUVyQjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlFQUF5RTtBQUN6RTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksY0FBYztBQUNsQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksZ0JBQWdCO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTLGNBQWM7QUFDdkI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RDtBQUN2RDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLCtDQUErQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsK0NBQStDO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSwrQ0FBK0M7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7OztBQUdBLDBFQUEwRTtBQUMxRTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJIQUEySDtBQUMzSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG9FQUFvRTs7QUFFcEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0YsMkRBQTJEOztBQUUzRCxxREFBcUQ7QUFDckQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQjtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTs7QUFFQSwySEFBMkg7QUFDM0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRTtBQUMxRTs7QUFFQTtBQUNBLCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZCQUE2QjtBQUM3Qjs7QUFFQTs7QUFFQSxhQUFhLGtCQUFrQjtBQUMvQjs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDLGdCQUFnQjs7QUFFaEI7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDs7QUFFNUQsMkRBQTJEOztBQUUzRCwrREFBK0Q7O0FBRS9EO0FBQ0EsOERBQThEO0FBQzlEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4Qjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUEsa0NBQWtDOztBQUVsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3Q0FBd0M7O0FBRXhDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0Esc0pBQXNKOztBQUV0SixxQ0FBcUM7QUFDckM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFBOEQ7QUFDOUQscURBQXFEO0FBQ3JELDJEQUEyRDtBQUMzRCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLCtDQUErQzs7QUFFL0M7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRCQUE0Qjs7QUFFNUI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0ZBQXNGOztBQUV0Riw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2QkFBNkI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTtBQUNBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKLGlHQUFpRztBQUNqRyxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhJQUE4STs7QUFFOUk7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFVBQVU7QUFDVixrRUFBa0UsNENBQTRDO0FBQzlHOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QyxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQSxzREFBc0Q7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtSUFBbUk7QUFDbkk7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1JQUFtSTtBQUNuSTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7OztBQUdSOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEhBQThILHlDQUF5QztBQUN2Szs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLHdCQUF3QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVyxrREFBa0Q7QUFDN0Q7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsNkJBQTZCO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR04sd0VBQXdFOztBQUV4RSxXQUFXLDZCQUE2QjtBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBLGVBQWUsYUFBYTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxXQUFXLGlDQUFpQztBQUM1QztBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYSxZQUFZO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR04sd0VBQXdFOztBQUV4RSxXQUFXLFlBQVk7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFD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Q0E7QUFDQSxNQUFNO0FBQ04sSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BEOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2QkFBNkI7O0FBRTdCLHFDQUFxQzs7QUFFckM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ04sSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVDQUF1QztBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sMkNBQTJDO0FBQ2pEOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjs7QUFFckIsaUZBQWlGO0FBQ2pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtGQUFrRjtBQUNsRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnSUFBZ0k7QUFDaEk7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBLHlLQUF5SywwQ0FBMEM7QUFDbk47QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7OztBQUduQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDhCQUE4Qjs7QUFFOUIsZ0RBQWdEO0FBQ2hEO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNFQUFzRTtBQUN0RTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLGVBQWU7QUFDekIsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTtBQUNBLGlDQUFpQztBQUNqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLFFBQVEsSUFBSTtBQUNaO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOzs7QUFHQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQSxpSEFBaUg7QUFDakg7QUFDQTtBQUNBOztBQUVBLHlDQUF5QztBQUN6QyxNQUFNLEtBQUssRUFLTjtBQUNMLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQsOEJBQThCO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtB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QTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0M7O0FBRXBDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7OztBQUdWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ04sbUNBQW1DO0FBQ25DOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7O0FBRWpEO0FBQ0E7QUFDQSx5RUFBeUU7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1RUFBdUU7O0FBRXZFO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMkNBQTJDOztBQUUzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7OztBQUdBLGlEQUFpRDs7QUFFakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQSxzRUFBc0U7O0FBRXRFLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTix5Q0FBeUM7O0FBRXpDO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7O0FBRXREOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBLElBQUk7QUFDSiwrR0FBK0c7QUFDL0c7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSixnR0FBZ0c7QUFDaEc7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLElBQUk7OztBQUdKLDBFQUEwRTs7QUFFMUU7QUFDQTtBQUNBLDRGQUE0RjtBQUM1Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVHQUF1RztBQUN2Rzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDs7QUFFNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQzs7QUFFMUMsNENBQTRDOztBQUU1QztBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsZ0dBQWdHO0FBQ2hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEseU5BQXlOLEdBQUc7O0FBRTVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHFCQUFxQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsWUFBWTtBQUMvQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNENBQTRDOztBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTs7O0FBR1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdEOztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0Esd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7O0FBRW5EO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQSwwQ0FBMEM7O0FBRTFDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdIQUFnSDtBQUNoSDtBQUNBOztBQUVBLGdEQUFnRDtBQUNoRDs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLGdIQUFnSDtBQUNoSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7OztBQUdBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEOztBQUU3RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLG9DQUFvQztBQUM1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOzs7QUFHQTtBQUNBLCtDQUErQztBQUMvQztBQUNBOztBQUVBLHNIQUFzSDs7QUFFdEgsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrR0FBa0c7QUFDbEc7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxrR0FBa0c7QUFDbEc7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0RBQW9EO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDOztBQUUzQztBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsY0FBYzs7O0FBR2Q7QUFDQTtBQUNBOztBQUVBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FB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Q0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSx3RUFBd0U7O0FBRXhFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEJBQTRCOztBQUU1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7OztBQUdWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZCxrT0FBa08scUNBQXFDLHdGQUF3RiwyQkFBMkIscUJBQXFCLFFBQVEsYUFBYTtBQUNwYSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FO0FBQ25FOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0EsdURBQXVEO0FBQ3ZEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7OztBQUdBLGlFQUFpRTtBQUNqRTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRJQUE0STtBQUNwSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FB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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7QUFDQTs7QUFFQTtBQUNBLDRDQUE0Qzs7QUFFNUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1RUFBdUU7O0FBRXZFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0QkFBNEI7O0FBRTVCOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRCQUE0QjtBQUM1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRGQUE0Rjs7QUFFNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUIsa0NBQWtDOztBQUVsQywrQkFBK0I7O0FBRS9CLDJCQUEyQjs7QUFFM0IsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0RBQXNEOztBQUV0RCxtREFBbUQ7O0FBRW5ELHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7O0FBRUEsK0NBQStDO0FBQy9DOztBQUVBLDhDQUE4Qzs7QUFFOUMseURBQXlEOztBQUV6RCw2Q0FBNkM7O0FBRTdDLCtDQUErQztBQUMvQzs7QUFFQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEM7O0FBRUEsbURBQW1EO0FBQ25EOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0YsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDtBQUNoRDs7QUFFQSxnREFBZ0Q7O0FBRWhEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osK0RBQStEOztBQUUvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2RUFBNkU7QUFDN0U7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0VBQWtFO0FBQ2xFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGOztBQUU1RjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0VBQW9FOzs7QUFHcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQixtQkFBbUI7QUFDN0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxvRkFBb0Y7QUFDcEY7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCOztBQUVBOztBQUVBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7QUFDQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBLE1BQU07OztBQUdOO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQSw2Q0FBNkM7O0FBRTdDO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0Qzs7QUFFNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSx5RUFBeUU7O0FBRXpFO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7OztBQUd0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdFQUF3RTs7QUFFeEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR04saUNBQWlDOztBQUVqQztBQUNBLElBQUksZ0NBQWdDOzs7QUFHcEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUksNENBQTRDO0FBQ2hEOzs7QUFHQTtBQUNBLGtDQUFrQztBQUNsQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkMsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUEsMENBQTBDO0FBQzFDO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSw2Q0FBNkM7O0FBRTdDO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsOEJBQThCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsNkRBQTZEO0FBQzdEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscUVBQXFFOztBQUVyRTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLDRCQUE0QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjs7QUFFMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNENBQTRDO0FBQ3BEOzs7QUFHQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBOztBQUVBLGtEQUFrRDs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1IQUFtSDs7QUFFbkg7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLEdBQUc7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSw4TEFBOEwsb0RBQW9ELEVBQUU7QUFDcFAsUUFBUTtBQUNSO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1PQUFtTyxvREFBb0QsRUFBRTtBQUN6UjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQyxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9COztBQUVwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osZ0RBQWdEOztBQUVoRCx3Q0FBd0M7QUFDeEM7O0FBRUEsb0NBQW9DOztBQUVwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7O0FBRXRELHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5Qzs7QUFFekM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixpQkFBaUI7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0xBQXdMOztBQUV4TCw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsMEVBQTBFO0FBQzFFO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsR0FBRztBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEOztBQUV4RDtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQSxtQ0FBbUM7O0FBRW5DOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTixzQkFBc0Isd0JBQXdCO0FBQzlDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RCxRQUFROztBQUVoRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxnTEFBZ0wsOEJBQThCO0FBQzlNO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0EsNkRBQTZEOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQ7O0FBRUE7QUFDQSxvQkFBb0IsMkJBQTJCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUEsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQSw4RUFBOEU7O0FBRTlFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDBEQUEwRDtBQUMxRCxvQkFBb0I7QUFDcEIsa0JBQWtCO0FBQ2xCLG1CQUFtQjtBQUNuQixpQkFBaUI7QUFDakIsZUFBZTtBQUNmLG1CQUFtQjtBQUNuQixjQUFjO0FBQ2QsOEJBQThCO0FBQzlCLCtCQUErQjtBQUMvQiwyQ0FBMkM7QUFDM0MsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanM/YWM4OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1kb20uZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIFNjaGVkdWxlciA9IHJlcXVpcmUoJ3NjaGVkdWxlcicpO1xuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxudmFyIHN1cHByZXNzV2FybmluZyA9IGZhbHNlO1xuZnVuY3Rpb24gc2V0U3VwcHJlc3NXYXJuaW5nKG5ld1N1cHByZXNzV2FybmluZykge1xuICB7XG4gICAgc3VwcHJlc3NXYXJuaW5nID0gbmV3U3VwcHJlc3NXYXJuaW5nO1xuICB9XG59IC8vIEluIERFViwgY2FsbHMgdG8gY29uc29sZS53YXJuIGFuZCBjb25zb2xlLmVycm9yIGdldCByZXBsYWNlZFxuLy8gYnkgY2FsbHMgdG8gdGhlc2UgbWV0aG9kcyBieSBhIEJhYmVsIHBsdWdpbi5cbi8vXG4vLyBJbiBQUk9EIChvciBpbiBwYWNrYWdlcyB3aXRob3V0IGFjY2VzcyB0byBSZWFjdCBpbnRlcm5hbHMpLFxuLy8gdGhleSBhcmUgbGVmdCBhcyB0aGV5IGFyZSBpbnN0ZWFkLlxuXG5mdW5jdGlvbiB3YXJuKGZvcm1hdCkge1xuICB7XG4gICAgaWYgKCFzdXBwcmVzc1dhcm5pbmcpIHtcbiAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnd2FybicsIGZvcm1hdCwgYXJncyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIGlmICghc3VwcHJlc3NXYXJuaW5nKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG52YXIgRnVuY3Rpb25Db21wb25lbnQgPSAwO1xudmFyIENsYXNzQ29tcG9uZW50ID0gMTtcbnZhciBJbmRldGVybWluYXRlQ29tcG9uZW50ID0gMjsgLy8gQmVmb3JlIHdlIGtub3cgd2hldGhlciBpdCBpcyBmdW5jdGlvbiBvciBjbGFzc1xuXG52YXIgSG9zdFJvb3QgPSAzOyAvLyBSb290IG9mIGEgaG9zdCB0cmVlLiBDb3VsZCBiZSBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgbm9kZS5cblxudmFyIEhvc3RQb3J0YWwgPSA0OyAvLyBBIHN1YnRyZWUuIENvdWxkIGJlIGFuIGVudHJ5IHBvaW50IHRvIGEgZGlmZmVyZW50IHJlbmRlcmVyLlxuXG52YXIgSG9zdENvbXBvbmVudCA9IDU7XG52YXIgSG9zdFRleHQgPSA2O1xudmFyIEZyYWdtZW50ID0gNztcbnZhciBNb2RlID0gODtcbnZhciBDb250ZXh0Q29uc3VtZXIgPSA5O1xudmFyIENvbnRleHRQcm92aWRlciA9IDEwO1xudmFyIEZvcndhcmRSZWYgPSAxMTtcbnZhciBQcm9maWxlciA9IDEyO1xudmFyIFN1c3BlbnNlQ29tcG9uZW50ID0gMTM7XG52YXIgTWVtb0NvbXBvbmVudCA9IDE0O1xudmFyIFNpbXBsZU1lbW9Db21wb25lbnQgPSAxNTtcbnZhciBMYXp5Q29tcG9uZW50ID0gMTY7XG52YXIgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50ID0gMTc7XG52YXIgRGVoeWRyYXRlZEZyYWdtZW50ID0gMTg7XG52YXIgU3VzcGVuc2VMaXN0Q29tcG9uZW50ID0gMTk7XG52YXIgU2NvcGVDb21wb25lbnQgPSAyMTtcbnZhciBPZmZzY3JlZW5Db21wb25lbnQgPSAyMjtcbnZhciBMZWdhY3lIaWRkZW5Db21wb25lbnQgPSAyMztcbnZhciBDYWNoZUNvbXBvbmVudCA9IDI0O1xudmFyIFRyYWNpbmdNYXJrZXJDb21wb25lbnQgPSAyNTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudmFyIGVuYWJsZUNsaWVudFJlbmRlckZhbGxiYWNrT25UZXh0TWlzbWF0Y2ggPSB0cnVlOyAvLyBUT0RPOiBOZWVkIHRvIHJldmlldyB0aGlzIGNvZGUgb25lIG1vcmUgdGltZSBiZWZvcmUgbGFuZGluZ1xuLy8gdGhlIHJlYWN0LXJlY29uY2lsZXIgcGFja2FnZS5cblxudmFyIGVuYWJsZU5ld1JlY29uY2lsZXIgPSBmYWxzZTsgLy8gU3VwcG9ydCBsZWdhY3kgUHJpbWVyIHN1cHBvcnQgb24gaW50ZXJuYWwgRkIgd3d3XG5cbnZhciBlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uID0gZmFsc2U7IC8vIEZCLW9ubHkgdXNhZ2UuIFRoZSBuZXcgQVBJIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzLlxuXG52YXIgZW5hYmxlTGVnYWN5SGlkZGVuID0gZmFsc2U7IC8vIEVuYWJsZXMgdW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgZmVhdHVyZSBpbiBGaWJlclxuXG52YXIgZW5hYmxlU3VzcGVuc2VBdm9pZFRoaXNGYWxsYmFjayA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRml6elxuLy8gUmVhY3QgRE9NIENob3BwaW5nIEJsb2NrXG4vL1xuLy8gU2ltaWxhciB0byBtYWluIENob3BwaW5nIEJsb2NrIGJ1dCBvbmx5IGZsYWdzIHJlbGF0ZWQgdG8gUmVhY3QgRE9NLiBUaGVzZSBhcmVcbi8vIGdyb3VwZWQgYmVjYXVzZSB3ZSB3aWxsIGxpa2VseSBiYXRjaCBhbGwgb2YgdGhlbSBpbnRvIGEgc2luZ2xlIG1ham9yIHJlbGVhc2UuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGlzYWJsZSBzdXBwb3J0IGZvciBjb21tZW50IG5vZGVzIGFzIFJlYWN0IERPTSBjb250YWluZXJzLiBBbHJlYWR5IGRpc2FibGVkXG4vLyBpbiBvcGVuIHNvdXJjZSwgYnV0IHd3dyBjb2RlYmFzZSBzdGlsbCByZWxpZXMgb24gaXQuIE5lZWQgdG8gcmVtb3ZlLlxuXG52YXIgZGlzYWJsZUNvbW1lbnRzQXNET01Db250YWluZXJzID0gdHJ1ZTsgLy8gRGlzYWJsZSBqYXZhc2NyaXB0OiBVUkwgc3RyaW5ncyBpbiBocmVmIGZvciBYU1MgcHJvdGVjdGlvbi5cbi8vIGFuZCBjbGllbnQgcmVuZGVyaW5nLCBtb3N0bHkgdG8gYWxsb3cgSlNYIGF0dHJpYnV0ZXMgdG8gYXBwbHkgdG8gdGhlIGN1c3RvbVxuLy8gZWxlbWVudCdzIG9iamVjdCBwcm9wZXJ0aWVzIGluc3RlYWQgb2Ygb25seSBIVE1MIGF0dHJpYnV0ZXMuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzExMzQ3XG5cbnZhciBlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0ID0gZmFsc2U7IC8vIERpc2FibGVzIGNoaWxkcmVuIGZvciA8dGV4dGFyZWE+IGVsZW1lbnRzXG52YXIgd2FybkFib3V0U3RyaW5nUmVmcyA9IGZhbHNlOyAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVidWdnaW5nIGFuZCBEZXZUb29sc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFkZHMgdXNlciB0aW1pbmcgbWFya3MgZm9yIGUuZy4gc3RhdGUgdXBkYXRlcywgc3VzcGVuc2UsIGFuZCB3b3JrIGxvb3Agc3R1ZmYsXG4vLyBmb3IgYW4gZXhwZXJpbWVudGFsIHRpbWVsaW5lIHRvb2wuXG5cbnZhciBlbmFibGVTY2hlZHVsaW5nUHJvZmlsZXIgPSB0cnVlOyAvLyBIZWxwcyBpZGVudGlmeSBzaWRlIGVmZmVjdHMgaW4gcmVuZGVyLXBoYXNlIGxpZmVjeWNsZSBob29rcyBhbmQgc2V0U3RhdGVcblxudmFyIGVuYWJsZVByb2ZpbGVyVGltZXIgPSB0cnVlOyAvLyBSZWNvcmQgZHVyYXRpb25zIGZvciBjb21taXQgYW5kIHBhc3NpdmUgZWZmZWN0cyBwaGFzZXMuXG5cbnZhciBlbmFibGVQcm9maWxlckNvbW1pdEhvb2tzID0gdHJ1ZTsgLy8gUGhhc2UgcGFyYW0gcGFzc2VkIHRvIG9uUmVuZGVyIGNhbGxiYWNrIGRpZmZlcmVudGlhdGVzIGJldHdlZW4gYW4gXCJ1cGRhdGVcIiBhbmQgYSBcImNhc2NhZGluZy11cGRhdGVcIi5cblxudmFyIGFsbE5hdGl2ZUV2ZW50cyA9IG5ldyBTZXQoKTtcbi8qKlxuICogTWFwcGluZyBmcm9tIHJlZ2lzdHJhdGlvbiBuYW1lIHRvIGV2ZW50IG5hbWVcbiAqL1xuXG5cbnZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0ge307XG4vKipcbiAqIE1hcHBpbmcgZnJvbSBsb3dlcmNhc2UgcmVnaXN0cmF0aW9uIG5hbWVzIHRvIHRoZSBwcm9wZXJseSBjYXNlZCB2ZXJzaW9uLFxuICogdXNlZCB0byB3YXJuIGluIHRoZSBjYXNlIG9mIG1pc3NpbmcgZXZlbnQgaGFuZGxlcnMuIEF2YWlsYWJsZVxuICogb25seSBpbiB0cnVlLlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuXG52YXIgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyA9ICB7fSA7IC8vIFRydXN0IHRoZSBkZXZlbG9wZXIgdG8gb25seSB1c2UgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyBpbiB0cnVlXG5cbmZ1bmN0aW9uIHJlZ2lzdGVyVHdvUGhhc2VFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpIHtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUgKyAnQ2FwdHVyZScsIGRlcGVuZGVuY2llcyk7XG59XG5mdW5jdGlvbiByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUsIGRlcGVuZGVuY2llcykge1xuICB7XG4gICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0pIHtcbiAgICAgIGVycm9yKCdFdmVudFJlZ2lzdHJ5OiBNb3JlIHRoYW4gb25lIHBsdWdpbiBhdHRlbXB0ZWQgdG8gcHVibGlzaCB0aGUgc2FtZSAnICsgJ3JlZ2lzdHJhdGlvbiBuYW1lLCBgJXNgLicsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0gPSBkZXBlbmRlbmNpZXM7XG5cbiAge1xuICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IHJlZ2lzdHJhdGlvbk5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzW2xvd2VyQ2FzZWROYW1lXSA9IHJlZ2lzdHJhdGlvbk5hbWU7XG5cbiAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSA9PT0gJ29uRG91YmxlQ2xpY2snKSB7XG4gICAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzLm9uZGJsY2xpY2sgPSByZWdpc3RyYXRpb25OYW1lO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZGVwZW5kZW5jaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgYWxsTmF0aXZlRXZlbnRzLmFkZChkZXBlbmRlbmNpZXNbaV0pO1xuICB9XG59XG5cbnZhciBjYW5Vc2VET00gPSAhISh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgIT09ICd1bmRlZmluZWQnKTtcblxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBgJXNgIGF0dHJpYnV0ZSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCBhdHRyaWJ1dGVOYW1lLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gY2hlY2tQcm9wU3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BOYW1lKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGAlc2AgcHJvcCBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCBwcm9wTmFtZSwgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjaGVja0NTU1Byb3BlcnR5U3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BOYW1lKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGAlc2AgQ1NTIHByb3BlcnR5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHByb3BOYW1lLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrSHRtbFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIEhUTUwgbWFya3VwIHVzZXMgYSB2YWx1ZSBvZiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ0Zvcm0gZmllbGQgdmFsdWVzICh2YWx1ZSwgY2hlY2tlZCwgZGVmYXVsdFZhbHVlLCBvciBkZWZhdWx0Q2hlY2tlZCBwcm9wcyknICsgJyBtdXN0IGJlIHN0cmluZ3MsIG5vdCAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbi8vIEEgcmVzZXJ2ZWQgYXR0cmlidXRlLlxuLy8gSXQgaXMgaGFuZGxlZCBieSBSZWFjdCBzZXBhcmF0ZWx5IGFuZCBzaG91bGRuJ3QgYmUgd3JpdHRlbiB0byB0aGUgRE9NLlxudmFyIFJFU0VSVkVEID0gMDsgLy8gQSBzaW1wbGUgc3RyaW5nIGF0dHJpYnV0ZS5cbi8vIEF0dHJpYnV0ZXMgdGhhdCBhcmVuJ3QgaW4gdGhlIGZpbHRlciBhcmUgcHJlc3VtZWQgdG8gaGF2ZSB0aGlzIHR5cGUuXG5cbnZhciBTVFJJTkcgPSAxOyAvLyBBIHN0cmluZyBhdHRyaWJ1dGUgdGhhdCBhY2NlcHRzIGJvb2xlYW5zIGluIFJlYWN0LiBJbiBIVE1MLCB0aGVzZSBhcmUgY2FsbGVkXG4vLyBcImVudW1lcmF0ZWRcIiBhdHRyaWJ1dGVzIHdpdGggXCJ0cnVlXCIgYW5kIFwiZmFsc2VcIiBhcyBwb3NzaWJsZSB2YWx1ZXMuXG4vLyBXaGVuIHRydWUsIGl0IHNob3VsZCBiZSBzZXQgdG8gYSBcInRydWVcIiBzdHJpbmcuXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgc2V0IHRvIGEgXCJmYWxzZVwiIHN0cmluZy5cblxudmFyIEJPT0xFQU5JU0hfU1RSSU5HID0gMjsgLy8gQSByZWFsIGJvb2xlYW4gYXR0cmlidXRlLlxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgcHJlc2VudCAoc2V0IGVpdGhlciB0byBhbiBlbXB0eSBzdHJpbmcgb3IgaXRzIG5hbWUpLlxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXG5cbnZhciBCT09MRUFOID0gMzsgLy8gQW4gYXR0cmlidXRlIHRoYXQgY2FuIGJlIHVzZWQgYXMgYSBmbGFnIGFzIHdlbGwgYXMgd2l0aCBhIHZhbHVlLlxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgcHJlc2VudCAoc2V0IGVpdGhlciB0byBhbiBlbXB0eSBzdHJpbmcgb3IgaXRzIG5hbWUpLlxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXG4vLyBGb3IgYW55IG90aGVyIHZhbHVlLCBzaG91bGQgYmUgcHJlc2VudCB3aXRoIHRoYXQgdmFsdWUuXG5cbnZhciBPVkVSTE9BREVEX0JPT0xFQU4gPSA0OyAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBtdXN0IGJlIG51bWVyaWMgb3IgcGFyc2UgYXMgYSBudW1lcmljLlxuLy8gV2hlbiBmYWxzeSwgaXQgc2hvdWxkIGJlIHJlbW92ZWQuXG5cbnZhciBOVU1FUklDID0gNTsgLy8gQW4gYXR0cmlidXRlIHRoYXQgbXVzdCBiZSBwb3NpdGl2ZSBudW1lcmljIG9yIHBhcnNlIGFzIGEgcG9zaXRpdmUgbnVtZXJpYy5cbi8vIFdoZW4gZmFsc3ksIGl0IHNob3VsZCBiZSByZW1vdmVkLlxuXG52YXIgUE9TSVRJVkVfTlVNRVJJQyA9IDY7XG5cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbnZhciBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSID0gXCI6QS1aX2EtelxcXFx1MDBDMC1cXFxcdTAwRDZcXFxcdTAwRDgtXFxcXHUwMEY2XFxcXHUwMEY4LVxcXFx1MDJGRlxcXFx1MDM3MC1cXFxcdTAzN0RcXFxcdTAzN0YtXFxcXHUxRkZGXFxcXHUyMDBDLVxcXFx1MjAwRFxcXFx1MjA3MC1cXFxcdTIxOEZcXFxcdTJDMDAtXFxcXHUyRkVGXFxcXHUzMDAxLVxcXFx1RDdGRlxcXFx1RjkwMC1cXFxcdUZEQ0ZcXFxcdUZERjAtXFxcXHVGRkZEXCI7XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblxudmFyIEFUVFJJQlVURV9OQU1FX0NIQVIgPSBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSICsgXCJcXFxcLS4wLTlcXFxcdTAwQjdcXFxcdTAzMDAtXFxcXHUwMzZGXFxcXHUyMDNGLVxcXFx1MjA0MFwiO1xudmFyIFZBTElEX0FUVFJJQlVURV9OQU1FX1JFR0VYID0gbmV3IFJlZ0V4cCgnXlsnICsgQVRUUklCVVRFX05BTUVfU1RBUlRfQ0hBUiArICddWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xudmFyIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbnZhciB2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGlzQXR0cmlidXRlTmFtZVNhZmUoYXR0cmlidXRlTmFtZSkge1xuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUsIGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChpbGxlZ2FsQXR0cmlidXRlTmFtZUNhY2hlLCBhdHRyaWJ1dGVOYW1lKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChWQUxJRF9BVFRSSUJVVEVfTkFNRV9SRUdFWC50ZXN0KGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgdmFsaWRhdGVkQXR0cmlidXRlTmFtZUNhY2hlW2F0dHJpYnV0ZU5hbWVdID0gdHJ1ZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGVbYXR0cmlidXRlTmFtZV0gPSB0cnVlO1xuXG4gIHtcbiAgICBlcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgbmFtZTogYCVzYCcsIGF0dHJpYnV0ZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gc2hvdWxkSWdub3JlQXR0cmlidXRlKG5hbWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgIHJldHVybiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gUkVTRVJWRUQ7XG4gIH1cblxuICBpZiAoaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAobmFtZS5sZW5ndGggPiAyICYmIChuYW1lWzBdID09PSAnbycgfHwgbmFtZVswXSA9PT0gJ08nKSAmJiAobmFtZVsxXSA9PT0gJ24nIHx8IG5hbWVbMV0gPT09ICdOJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVdpdGhXYXJuaW5nKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICBjYXNlICdmdW5jdGlvbic6IC8vICRGbG93SXNzdWUgc3ltYm9sIGlzIHBlcmZlY3RseSB2YWxpZCBoZXJlXG5cbiAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgcmV0dXJuIHRydWU7XG5cbiAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiAhcHJvcGVydHlJbmZvLmFjY2VwdHNCb29sZWFucztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgcHJlZml4ID0gbmFtZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsIDUpO1xuICAgICAgICAgIHJldHVybiBwcmVmaXggIT09ICdkYXRhLScgJiYgcHJlZml4ICE9PSAnYXJpYS0nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGVXaXRoV2FybmluZyhuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuXG4gICAgc3dpdGNoIChwcm9wZXJ0eUluZm8udHlwZSkge1xuICAgICAgY2FzZSBCT09MRUFOOlxuICAgICAgICByZXR1cm4gIXZhbHVlO1xuXG4gICAgICBjYXNlIE9WRVJMT0FERURfQk9PTEVBTjpcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBmYWxzZTtcblxuICAgICAgY2FzZSBOVU1FUklDOlxuICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpO1xuXG4gICAgICBjYXNlIFBPU0lUSVZFX05VTUVSSUM6XG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgfHwgdmFsdWUgPCAxO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGdldFByb3BlcnR5SW5mbyhuYW1lKSB7XG4gIHJldHVybiBwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KG5hbWUpID8gcHJvcGVydGllc1tuYW1lXSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCB0eXBlLCBtdXN0VXNlUHJvcGVydHksIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZU5hbWVzcGFjZSwgc2FuaXRpemVVUkwsIHJlbW92ZUVtcHR5U3RyaW5nKSB7XG4gIHRoaXMuYWNjZXB0c0Jvb2xlYW5zID0gdHlwZSA9PT0gQk9PTEVBTklTSF9TVFJJTkcgfHwgdHlwZSA9PT0gQk9PTEVBTiB8fCB0eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU47XG4gIHRoaXMuYXR0cmlidXRlTmFtZSA9IGF0dHJpYnV0ZU5hbWU7XG4gIHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlID0gYXR0cmlidXRlTmFtZXNwYWNlO1xuICB0aGlzLm11c3RVc2VQcm9wZXJ0eSA9IG11c3RVc2VQcm9wZXJ0eTtcbiAgdGhpcy5wcm9wZXJ0eU5hbWUgPSBuYW1lO1xuICB0aGlzLnR5cGUgPSB0eXBlO1xuICB0aGlzLnNhbml0aXplVVJMID0gc2FuaXRpemVVUkw7XG4gIHRoaXMucmVtb3ZlRW1wdHlTdHJpbmcgPSByZW1vdmVFbXB0eVN0cmluZztcbn0gLy8gV2hlbiBhZGRpbmcgYXR0cmlidXRlcyB0byB0aGlzIGxpc3QsIGJlIHN1cmUgdG8gYWxzbyBhZGQgdGhlbSB0b1xuLy8gdGhlIGBwb3NzaWJsZVN0YW5kYXJkTmFtZXNgIG1vZHVsZSB0byBlbnN1cmUgY2FzaW5nIGFuZCBpbmNvcnJlY3Rcbi8vIG5hbWUgd2FybmluZ3MuXG5cblxudmFyIHByb3BlcnRpZXMgPSB7fTsgLy8gVGhlc2UgcHJvcHMgYXJlIHJlc2VydmVkIGJ5IFJlYWN0LiBUaGV5IHNob3VsZG4ndCBiZSB3cml0dGVuIHRvIHRoZSBET00uXG5cbnZhciByZXNlcnZlZFByb3BzID0gWydjaGlsZHJlbicsICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsIC8vIFRPRE86IFRoaXMgcHJldmVudHMgdGhlIGFzc2lnbm1lbnQgb2YgZGVmYXVsdFZhbHVlIHRvIHJlZ3VsYXJcbi8vIGVsZW1lbnRzIChub3QganVzdCBpbnB1dHMpLiBOb3cgdGhhdCBSZWFjdERPTUlucHV0IGFzc2lnbnMgdG8gdGhlXG4vLyBkZWZhdWx0VmFsdWUgcHJvcGVydHkgLS0gZG8gd2UgbmVlZCB0aGlzP1xuJ2RlZmF1bHRWYWx1ZScsICdkZWZhdWx0Q2hlY2tlZCcsICdpbm5lckhUTUwnLCAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJywgJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsICdzdHlsZSddO1xuXG5yZXNlcnZlZFByb3BzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgUkVTRVJWRUQsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBBIGZldyBSZWFjdCBzdHJpbmcgYXR0cmlidXRlcyBoYXZlIGEgZGlmZmVyZW50IG5hbWUuXG4vLyBUaGlzIGlzIGEgbWFwcGluZyBmcm9tIFJlYWN0IHByb3AgbmFtZXMgdG8gdGhlIGF0dHJpYnV0ZSBuYW1lcy5cblxuW1snYWNjZXB0Q2hhcnNldCcsICdhY2NlcHQtY2hhcnNldCddLCBbJ2NsYXNzTmFtZScsICdjbGFzcyddLCBbJ2h0bWxGb3InLCAnZm9yJ10sIFsnaHR0cEVxdWl2JywgJ2h0dHAtZXF1aXYnXV0uZm9yRWFjaChmdW5jdGlvbiAoX3JlZikge1xuICB2YXIgbmFtZSA9IF9yZWZbMF0sXG4gICAgICBhdHRyaWJ1dGVOYW1lID0gX3JlZlsxXTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIFwiZW51bWVyYXRlZFwiIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFjY2VwdCBcInRydWVcIiBhbmQgXCJmYWxzZVwiLlxuLy8gSW4gUmVhY3QsIHdlIGxldCB1c2VycyBwYXNzIGB0cnVlYCBhbmQgYGZhbHNlYCBldmVuIHRob3VnaCB0ZWNobmljYWxseVxuLy8gdGhlc2UgYXJlbid0IGJvb2xlYW4gYXR0cmlidXRlcyAodGhleSBhcmUgY29lcmNlZCB0byBzdHJpbmdzKS5cblxuWydjb250ZW50RWRpdGFibGUnLCAnZHJhZ2dhYmxlJywgJ3NwZWxsQ2hlY2snLCAndmFsdWUnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIEJPT0xFQU5JU0hfU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgXCJlbnVtZXJhdGVkXCIgU1ZHIGF0dHJpYnV0ZXMgdGhhdCBhY2NlcHQgXCJ0cnVlXCIgYW5kIFwiZmFsc2VcIi5cbi8vIEluIFJlYWN0LCB3ZSBsZXQgdXNlcnMgcGFzcyBgdHJ1ZWAgYW5kIGBmYWxzZWAgZXZlbiB0aG91Z2ggdGVjaG5pY2FsbHlcbi8vIHRoZXNlIGFyZW4ndCBib29sZWFuIGF0dHJpYnV0ZXMgKHRoZXkgYXJlIGNvZXJjZWQgdG8gc3RyaW5ncykuXG4vLyBTaW5jZSB0aGVzZSBhcmUgU1ZHIGF0dHJpYnV0ZXMsIHRoZWlyIGF0dHJpYnV0ZSBuYW1lcyBhcmUgY2FzZS1zZW5zaXRpdmUuXG5cblsnYXV0b1JldmVyc2UnLCAnZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCcsICdmb2N1c2FibGUnLCAncHJlc2VydmVBbHBoYSddLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTklTSF9TVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgSFRNTCBib29sZWFuIGF0dHJpYnV0ZXMuXG5cblsnYWxsb3dGdWxsU2NyZWVuJywgJ2FzeW5jJywgLy8gTm90ZTogdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2UgdGhhdCBwcmV2ZW50cyBpdCBmcm9tIGJlaW5nIHdyaXR0ZW4gdG8gdGhlIERPTVxuLy8gb24gdGhlIGNsaWVudCBzaWRlIGJlY2F1c2UgdGhlIGJyb3dzZXJzIGFyZSBpbmNvbnNpc3RlbnQuIEluc3RlYWQgd2UgY2FsbCBmb2N1cygpLlxuJ2F1dG9Gb2N1cycsICdhdXRvUGxheScsICdjb250cm9scycsICdkZWZhdWx0JywgJ2RlZmVyJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVQaWN0dXJlSW5QaWN0dXJlJywgJ2Rpc2FibGVSZW1vdGVQbGF5YmFjaycsICdmb3JtTm9WYWxpZGF0ZScsICdoaWRkZW4nLCAnbG9vcCcsICdub01vZHVsZScsICdub1ZhbGlkYXRlJywgJ29wZW4nLCAncGxheXNJbmxpbmUnLCAncmVhZE9ubHknLCAncmVxdWlyZWQnLCAncmV2ZXJzZWQnLCAnc2NvcGVkJywgJ3NlYW1sZXNzJywgLy8gTWljcm9kYXRhXG4naXRlbVNjb3BlJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBCT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgdGhlIGZldyBSZWFjdCBwcm9wcyB0aGF0IHdlIHNldCBhcyBET00gcHJvcGVydGllc1xuLy8gcmF0aGVyIHRoYW4gYXR0cmlidXRlcy4gVGhlc2UgYXJlIGFsbCBib29sZWFucy5cblxuWydjaGVja2VkJywgLy8gTm90ZTogYG9wdGlvbi5zZWxlY3RlZGAgaXMgbm90IHVwZGF0ZWQgaWYgYHNlbGVjdC5tdWx0aXBsZWAgaXNcbi8vIGRpc2FibGVkIHdpdGggYHJlbW92ZUF0dHJpYnV0ZWAuIFdlIGhhdmUgc3BlY2lhbCBsb2dpYyBmb3IgaGFuZGxpbmcgdGhpcy5cbidtdWx0aXBsZScsICdtdXRlZCcsICdzZWxlY3RlZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTiwgdHJ1ZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFyZSBcIm92ZXJsb2FkZWQgYm9vbGVhbnNcIjogdGhleSBiZWhhdmUgbGlrZVxuLy8gYm9vbGVhbnMsIGJ1dCBjYW4gYWxzbyBhY2NlcHQgYSBzdHJpbmcgdmFsdWUuXG5cblsnY2FwdHVyZScsICdkb3dubG9hZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgT1ZFUkxPQURFRF9CT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgcG9zaXRpdmUgbnVtYmVycy5cblxuWydjb2xzJywgJ3Jvd3MnLCAnc2l6ZScsICdzcGFuJyAvLyBOT1RFOiBpZiB5b3UgYWRkIGEgY2FtZWxDYXNlZCBwcm9wIHRvIHRoaXMgbGlzdCxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cbl0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBQT1NJVElWRV9OVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgbnVtYmVycy5cblxuWydyb3dTcGFuJywgJ3N0YXJ0J10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBOVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pO1xudmFyIENBTUVMSVpFID0gL1tcXC1cXDpdKFthLXpdKS9nO1xuXG52YXIgY2FwaXRhbGl6ZSA9IGZ1bmN0aW9uICh0b2tlbikge1xuICByZXR1cm4gdG9rZW5bMV0udG9VcHBlckNhc2UoKTtcbn07IC8vIFRoaXMgaXMgYSBsaXN0IG9mIGFsbCBTVkcgYXR0cmlidXRlcyB0aGF0IG5lZWQgc3BlY2lhbCBjYXNpbmcsIG5hbWVzcGFjaW5nLFxuLy8gb3IgYm9vbGVhbiB2YWx1ZSBhc3NpZ25tZW50LiBSZWd1bGFyIGF0dHJpYnV0ZXMgdGhhdCBqdXN0IGFjY2VwdCBzdHJpbmdzXG4vLyBhbmQgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcmUgb21pdHRlZCwganVzdCBsaWtlIGluIHRoZSBIVE1MIGF0dHJpYnV0ZSBmaWx0ZXIuXG4vLyBTb21lIG9mIHRoZXNlIGF0dHJpYnV0ZXMgY2FuIGJlIGhhcmQgdG8gZmluZC4gVGhpcyBsaXN0IHdhcyBjcmVhdGVkIGJ5XG4vLyBzY3JhcGluZyB0aGUgTUROIGRvY3VtZW50YXRpb24uXG5cblxuWydhY2NlbnQtaGVpZ2h0JywgJ2FsaWdubWVudC1iYXNlbGluZScsICdhcmFiaWMtZm9ybScsICdiYXNlbGluZS1zaGlmdCcsICdjYXAtaGVpZ2h0JywgJ2NsaXAtcGF0aCcsICdjbGlwLXJ1bGUnLCAnY29sb3ItaW50ZXJwb2xhdGlvbicsICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnLCAnY29sb3ItcHJvZmlsZScsICdjb2xvci1yZW5kZXJpbmcnLCAnZG9taW5hbnQtYmFzZWxpbmUnLCAnZW5hYmxlLWJhY2tncm91bmQnLCAnZmlsbC1vcGFjaXR5JywgJ2ZpbGwtcnVsZScsICdmbG9vZC1jb2xvcicsICdmbG9vZC1vcGFjaXR5JywgJ2ZvbnQtZmFtaWx5JywgJ2ZvbnQtc2l6ZScsICdmb250LXNpemUtYWRqdXN0JywgJ2ZvbnQtc3RyZXRjaCcsICdmb250LXN0eWxlJywgJ2ZvbnQtdmFyaWFudCcsICdmb250LXdlaWdodCcsICdnbHlwaC1uYW1lJywgJ2dseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwnLCAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwnLCAnaG9yaXotYWR2LXgnLCAnaG9yaXotb3JpZ2luLXgnLCAnaW1hZ2UtcmVuZGVyaW5nJywgJ2xldHRlci1zcGFjaW5nJywgJ2xpZ2h0aW5nLWNvbG9yJywgJ21hcmtlci1lbmQnLCAnbWFya2VyLW1pZCcsICdtYXJrZXItc3RhcnQnLCAnb3ZlcmxpbmUtcG9zaXRpb24nLCAnb3ZlcmxpbmUtdGhpY2tuZXNzJywgJ3BhaW50LW9yZGVyJywgJ3Bhbm9zZS0xJywgJ3BvaW50ZXItZXZlbnRzJywgJ3JlbmRlcmluZy1pbnRlbnQnLCAnc2hhcGUtcmVuZGVyaW5nJywgJ3N0b3AtY29sb3InLCAnc3RvcC1vcGFjaXR5JywgJ3N0cmlrZXRocm91Z2gtcG9zaXRpb24nLCAnc3RyaWtldGhyb3VnaC10aGlja25lc3MnLCAnc3Ryb2tlLWRhc2hhcnJheScsICdzdHJva2UtZGFzaG9mZnNldCcsICdzdHJva2UtbGluZWNhcCcsICdzdHJva2UtbGluZWpvaW4nLCAnc3Ryb2tlLW1pdGVybGltaXQnLCAnc3Ryb2tlLW9wYWNpdHknLCAnc3Ryb2tlLXdpZHRoJywgJ3RleHQtYW5jaG9yJywgJ3RleHQtZGVjb3JhdGlvbicsICd0ZXh0LXJlbmRlcmluZycsICd1bmRlcmxpbmUtcG9zaXRpb24nLCAndW5kZXJsaW5lLXRoaWNrbmVzcycsICd1bmljb2RlLWJpZGknLCAndW5pY29kZS1yYW5nZScsICd1bml0cy1wZXItZW0nLCAndi1hbHBoYWJldGljJywgJ3YtaGFuZ2luZycsICd2LWlkZW9ncmFwaGljJywgJ3YtbWF0aGVtYXRpY2FsJywgJ3ZlY3Rvci1lZmZlY3QnLCAndmVydC1hZHYteScsICd2ZXJ0LW9yaWdpbi14JywgJ3ZlcnQtb3JpZ2luLXknLCAnd29yZC1zcGFjaW5nJywgJ3dyaXRpbmctbW9kZScsICd4bWxuczp4bGluaycsICd4LWhlaWdodCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcbiAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVOYW1lLnJlcGxhY2UoQ0FNRUxJWkUsIGNhcGl0YWxpemUpO1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZSwgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gU3RyaW5nIFNWRyBhdHRyaWJ1dGVzIHdpdGggdGhlIHhsaW5rIG5hbWVzcGFjZS5cblxuWyd4bGluazphY3R1YXRlJywgJ3hsaW5rOmFyY3JvbGUnLCAneGxpbms6cm9sZScsICd4bGluazpzaG93JywgJ3hsaW5rOnRpdGxlJywgJ3hsaW5rOnR5cGUnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93LlxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBTdHJpbmcgU1ZHIGF0dHJpYnV0ZXMgd2l0aCB0aGUgeG1sIG5hbWVzcGFjZS5cblxuWyd4bWw6YmFzZScsICd4bWw6bGFuZycsICd4bWw6c3BhY2UnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93LlxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UnLCBmYWxzZSwgLy8gc2FuaXRpemVVUkxcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGF0dHJpYnV0ZSBleGlzdHMgYm90aCBpbiBIVE1MIGFuZCBTVkcuXG4vLyBUaGUgYXR0cmlidXRlIG5hbWUgaXMgY2FzZS1zZW5zaXRpdmUgaW4gU1ZHIHNvIHdlIGNhbid0IGp1c3QgdXNlXG4vLyB0aGUgUmVhY3QgbmFtZSBsaWtlIHdlIGRvIGZvciBhdHRyaWJ1dGVzIHRoYXQgZXhpc3Qgb25seSBpbiBIVE1MLlxuXG5bJ3RhYkluZGV4JywgJ2Nyb3NzT3JpZ2luJ10uZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlTmFtZSkge1xuICBwcm9wZXJ0aWVzW2F0dHJpYnV0ZU5hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChhdHRyaWJ1dGVOYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSwgLy8gc2FuaXRpemVVUkxcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGF0dHJpYnV0ZXMgYWNjZXB0IFVSTHMuIFRoZXNlIG11c3Qgbm90IGFsbG93IGphdmFzY3JpcHQ6IFVSTFMuXG4vLyBUaGVzZSB3aWxsIGFsc28gbmVlZCB0byBhY2NlcHQgVHJ1c3RlZCBUeXBlcyBvYmplY3QgaW4gdGhlIGZ1dHVyZS5cblxudmFyIHhsaW5rSHJlZiA9ICd4bGlua0hyZWYnO1xucHJvcGVydGllc1t4bGlua0hyZWZdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZCgneGxpbmtIcmVmJywgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4neGxpbms6aHJlZicsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgdHJ1ZSwgLy8gc2FuaXRpemVVUkxcbmZhbHNlKTtcblsnc3JjJywgJ2hyZWYnLCAnYWN0aW9uJywgJ2Zvcm1BY3Rpb24nXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHByb3BlcnRpZXNbYXR0cmlidXRlTmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKGF0dHJpYnV0ZU5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBhdHRyaWJ1dGVOYW1lLnRvTG93ZXJDYXNlKCksIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIHRydWUsIC8vIHNhbml0aXplVVJMXG4gIHRydWUpO1xufSk7XG5cbi8vIGFuZCBhbnkgbmV3bGluZSBvciB0YWIgYXJlIGZpbHRlcmVkIG91dCBhcyBpZiB0aGV5J3JlIG5vdCBwYXJ0IG9mIHRoZSBVUkwuXG4vLyBodHRwczovL3VybC5zcGVjLndoYXR3Zy5vcmcvI3VybC1wYXJzaW5nXG4vLyBUYWIgb3IgbmV3bGluZSBhcmUgZGVmaW5lZCBhcyBcXHJcXG5cXHQ6XG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYXNjaWktdGFiLW9yLW5ld2xpbmVcbi8vIEEgQzAgY29udHJvbCBpcyBhIGNvZGUgcG9pbnQgaW4gdGhlIHJhbmdlIFxcdTAwMDAgTlVMTCB0byBcXHUwMDFGXG4vLyBJTkZPUk1BVElPTiBTRVBBUkFUT1IgT05FLCBpbmNsdXNpdmU6XG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYzAtY29udHJvbC1vci1zcGFjZVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5cbnZhciBpc0phdmFTY3JpcHRQcm90b2NvbCA9IC9eW1xcdTAwMDAtXFx1MDAxRiBdKmpbXFxyXFxuXFx0XSphW1xcclxcblxcdF0qdltcXHJcXG5cXHRdKmFbXFxyXFxuXFx0XSpzW1xcclxcblxcdF0qY1tcXHJcXG5cXHRdKnJbXFxyXFxuXFx0XSppW1xcclxcblxcdF0qcFtcXHJcXG5cXHRdKnRbXFxyXFxuXFx0XSpcXDovaTtcbnZhciBkaWRXYXJuID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHNhbml0aXplVVJMKHVybCkge1xuICB7XG4gICAgaWYgKCFkaWRXYXJuICYmIGlzSmF2YVNjcmlwdFByb3RvY29sLnRlc3QodXJsKSkge1xuICAgICAgZGlkV2FybiA9IHRydWU7XG5cbiAgICAgIGVycm9yKCdBIGZ1dHVyZSB2ZXJzaW9uIG9mIFJlYWN0IHdpbGwgYmxvY2sgamF2YXNjcmlwdDogVVJMcyBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uICcgKyAnVXNlIGV2ZW50IGhhbmRsZXJzIGluc3RlYWQgaWYgeW91IGNhbi4gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgdW5zYWZlIEhUTUwgdHJ5ICcgKyAndXNpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgaW5zdGVhZC4gUmVhY3Qgd2FzIHBhc3NlZCAlcy4nLCBKU09OLnN0cmluZ2lmeSh1cmwpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIHByb3BlcnR5IG9uIGEgbm9kZS4gT25seSB1c2VkIGluIERFViBmb3IgU1NSIHZhbGlkYXRpb24uXG4gKiBUaGUgXCJleHBlY3RlZFwiIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLlxuICogU29tZSBwcm9wZXJ0aWVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlRm9yUHJvcGVydHkobm9kZSwgbmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbykge1xuICB7XG4gICAgaWYgKHByb3BlcnR5SW5mby5tdXN0VXNlUHJvcGVydHkpIHtcbiAgICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eUluZm8ucHJvcGVydHlOYW1lO1xuICAgICAgcmV0dXJuIG5vZGVbcHJvcGVydHlOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBjaGVjayBwcm90ZWN0cyBtdWx0aXBsZSB1c2VzIG9mIGBleHBlY3RlZGAsIHdoaWNoIGlzIHdoeSB0aGVcbiAgICAgIC8vIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uIHJ1bGUgaXMgZGlzYWJsZWQgaW4gc2V2ZXJhbCBzcG90c1xuICAgICAgLy8gYmVsb3cuXG4gICAgICB7XG4gICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24oZXhwZWN0ZWQsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIHByb3BlcnR5SW5mby5zYW5pdGl6ZVVSTCkge1xuICAgICAgICAvLyBJZiB3ZSBoYXZlbid0IGZ1bGx5IGRpc2FibGVkIGphdmFzY3JpcHQ6IFVSTHMsIGFuZCBpZlxuICAgICAgICAvLyB0aGUgaHlkcmF0aW9uIGlzIHN1Y2Nlc3NmdWwgb2YgYSBqYXZhc2NyaXB0OiBVUkwsIHdlXG4gICAgICAgIC8vIHN0aWxsIHdhbnQgdG8gd2FybiBvbiB0aGUgY2xpZW50LlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgICAgc2FuaXRpemVVUkwoJycgKyBleHBlY3RlZCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBhdHRyaWJ1dGVOYW1lID0gcHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWU7XG4gICAgICB2YXIgc3RyaW5nVmFsdWUgPSBudWxsO1xuXG4gICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IE9WRVJMT0FERURfQk9PTEVBTikge1xuICAgICAgICBpZiAobm9kZS5oYXNBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgICAgICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgLy8gV2UgaGFkIGFuIGF0dHJpYnV0ZSBidXQgc2hvdWxkbid0IGhhdmUgaGFkIG9uZSwgc28gcmVhZCBpdFxuICAgICAgICAgIC8vIGZvciB0aGUgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgICByZXR1cm4gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IEJPT0xFQU4pIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBhIGJvb2xlYW4sIGl0IGRvZXNuJ3QgbWF0dGVyIHdoYXQgdGhlIHZhbHVlIGlzXG4gICAgICAgICAgLy8gdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIGl0IGlzIHRoZSBzYW1lIGFzIHRoZSBleHBlY3RlZC5cbiAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgIH0gLy8gRXZlbiBpZiB0aGlzIHByb3BlcnR5IHVzZXMgYSBuYW1lc3BhY2Ugd2UgdXNlIGdldEF0dHJpYnV0ZVxuICAgICAgICAvLyBiZWNhdXNlIHdlIGFzc3VtZSBpdHMgbmFtZXNwYWNlZCBuYW1lIGlzIHRoZSBzYW1lIGFzIG91ciBjb25maWcuXG4gICAgICAgIC8vIFRvIHVzZSBnZXRBdHRyaWJ1dGVOUyB3ZSBuZWVkIHRoZSBsb2NhbCBuYW1lIHdoaWNoIHdlIGRvbid0IGhhdmVcbiAgICAgICAgLy8gaW4gb3VyIGNvbmZpZyBhdG0uXG5cblxuICAgICAgICBzdHJpbmdWYWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIGV4cGVjdGVkLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWUgPT09IG51bGwgPyBleHBlY3RlZCA6IHN0cmluZ1ZhbHVlOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgIH0gZWxzZSBpZiAoc3RyaW5nVmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZ1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIGF0dHJpYnV0ZSBvbiBhIG5vZGUuIE9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxuICogVGhlIHRoaXJkIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLiBTb21lXG4gKiBhdHRyaWJ1dGVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0VmFsdWVGb3JBdHRyaWJ1dGUobm9kZSwgbmFtZSwgZXhwZWN0ZWQsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIHtcbiAgICBpZiAoIWlzQXR0cmlidXRlTmFtZVNhZmUobmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIW5vZGUuaGFzQXR0cmlidXRlKG5hbWUpKSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWQgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IG51bGw7XG4gICAgfVxuXG4gICAgdmFyIHZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUobmFtZSk7XG5cbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKGV4cGVjdGVkLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcbiAgICAgIHJldHVybiBleHBlY3RlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbi8qKlxuICogU2V0cyB0aGUgdmFsdWUgZm9yIGEgcHJvcGVydHkgb24gYSBub2RlLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7Kn0gdmFsdWVcbiAqL1xuXG5mdW5jdGlvbiBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsIG5hbWUsIHZhbHVlLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICB2YXIgcHJvcGVydHlJbmZvID0gZ2V0UHJvcGVydHlJbmZvKG5hbWUpO1xuXG4gIGlmIChzaG91bGRJZ25vcmVBdHRyaWJ1dGUobmFtZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSkge1xuICAgIHZhbHVlID0gbnVsbDtcbiAgfVxuXG5cbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnIHx8IHByb3BlcnR5SW5mbyA9PT0gbnVsbCkge1xuICAgIGlmIChpc0F0dHJpYnV0ZU5hbWVTYWZlKG5hbWUpKSB7XG4gICAgICB2YXIgX2F0dHJpYnV0ZU5hbWUgPSBuYW1lO1xuXG4gICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAge1xuICAgICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24odmFsdWUsIG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUsICAnJyArIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbXVzdFVzZVByb3BlcnR5ID0gcHJvcGVydHlJbmZvLm11c3RVc2VQcm9wZXJ0eTtcblxuICBpZiAobXVzdFVzZVByb3BlcnR5KSB7XG4gICAgdmFyIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5SW5mby5wcm9wZXJ0eU5hbWU7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHZhciB0eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgICBub2RlW3Byb3BlcnR5TmFtZV0gPSB0eXBlID09PSBCT09MRUFOID8gZmFsc2UgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29udHJhcnkgdG8gYHNldEF0dHJpYnV0ZWAsIG9iamVjdCBwcm9wZXJ0aWVzIGFyZSBwcm9wZXJseVxuICAgICAgLy8gYHRvU3RyaW5nYGVkIGJ5IElFOC85LlxuICAgICAgbm9kZVtwcm9wZXJ0eU5hbWVdID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoZSByZXN0IGFyZSB0cmVhdGVkIGFzIGF0dHJpYnV0ZXMgd2l0aCBzcGVjaWFsIGNhc2VzLlxuXG5cbiAgdmFyIGF0dHJpYnV0ZU5hbWUgPSBwcm9wZXJ0eUluZm8uYXR0cmlidXRlTmFtZSxcbiAgICAgIGF0dHJpYnV0ZU5hbWVzcGFjZSA9IHByb3BlcnR5SW5mby5hdHRyaWJ1dGVOYW1lc3BhY2U7XG5cbiAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIF90eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgdmFyIGF0dHJpYnV0ZVZhbHVlO1xuXG4gICAgaWYgKF90eXBlID09PSBCT09MRUFOIHx8IF90eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU4gJiYgdmFsdWUgPT09IHRydWUpIHtcbiAgICAgIC8vIElmIGF0dHJpYnV0ZSB0eXBlIGlzIGJvb2xlYW4sIHdlIGtub3cgZm9yIHN1cmUgaXQgd29uJ3QgYmUgYW4gZXhlY3V0aW9uIHNpbmtcbiAgICAgIC8vIGFuZCB3ZSB3b24ndCByZXF1aXJlIFRydXN0ZWQgVHlwZSBoZXJlLlxuICAgICAgYXR0cmlidXRlVmFsdWUgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gYHNldEF0dHJpYnV0ZWAgd2l0aCBvYmplY3RzIGJlY29tZXMgb25seSBgW29iamVjdF1gIGluIElFOC85LFxuICAgICAgLy8gKCcnICsgdmFsdWUpIG1ha2VzIGl0IG91dHB1dCB0aGUgY29ycmVjdCB0b1N0cmluZygpLXZhbHVlLlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eUluZm8uc2FuaXRpemVVUkwpIHtcbiAgICAgICAgc2FuaXRpemVVUkwoYXR0cmlidXRlVmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWVzcGFjZSkge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGVOUyhhdHRyaWJ1dGVOYW1lc3BhY2UsIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKTtcbnZhciBSRUFDVF9ERUJVR19UUkFDSU5HX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmRlYnVnX3RyYWNlX21vZGUnKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0xFR0FDWV9ISURERU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxlZ2FjeV9oaWRkZW4nKTtcbnZhciBSRUFDVF9DQUNIRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY2FjaGUnKTtcbnZhciBSRUFDVF9UUkFDSU5HX01BUktFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QudHJhY2luZ19tYXJrZXInKTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSBTeW1ib2wuaXRlcmF0b3I7XG52YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7XG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbWF5YmVJdGVyYXRvciA9IE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF07XG5cbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1heWJlSXRlcmF0b3I7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIGFzc2lnbiA9IE9iamVjdC5hc3NpZ247XG5cbi8vIEhlbHBlcnMgdG8gcGF0Y2ggY29uc29sZS5sb2dzIHRvIGF2b2lkIGxvZ2dpbmcgZHVyaW5nIHNpZGUtZWZmZWN0IGZyZWVcbi8vIHJlcGxheWluZyBvbiByZW5kZXIgZnVuY3Rpb24uIFRoaXMgY3VycmVudGx5IG9ubHkgcGF0Y2hlcyB0aGUgb2JqZWN0XG4vLyBsYXppbHkgd2hpY2ggd29uJ3QgY292ZXIgaWYgdGhlIGxvZyBmdW5jdGlvbiB3YXMgZXh0cmFjdGVkIGVhZ2VybHkuXG4vLyBXZSBjb3VsZCBhbHNvIGVhZ2VybHkgcGF0Y2ggdGhlIG1ldGhvZC5cbnZhciBkaXNhYmxlZERlcHRoID0gMDtcbnZhciBwcmV2TG9nO1xudmFyIHByZXZJbmZvO1xudmFyIHByZXZXYXJuO1xudmFyIHByZXZFcnJvcjtcbnZhciBwcmV2R3JvdXA7XG52YXIgcHJldkdyb3VwQ29sbGFwc2VkO1xudmFyIHByZXZHcm91cEVuZDtcblxuZnVuY3Rpb24gZGlzYWJsZWRMb2coKSB7fVxuXG5kaXNhYmxlZExvZy5fX3JlYWN0RGlzYWJsZWRMb2cgPSB0cnVlO1xuZnVuY3Rpb24gZGlzYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICBwcmV2TG9nID0gY29uc29sZS5sb2c7XG4gICAgICBwcmV2SW5mbyA9IGNvbnNvbGUuaW5mbztcbiAgICAgIHByZXZXYXJuID0gY29uc29sZS53YXJuO1xuICAgICAgcHJldkVycm9yID0gY29uc29sZS5lcnJvcjtcbiAgICAgIHByZXZHcm91cCA9IGNvbnNvbGUuZ3JvdXA7XG4gICAgICBwcmV2R3JvdXBDb2xsYXBzZWQgPSBjb25zb2xlLmdyb3VwQ29sbGFwc2VkO1xuICAgICAgcHJldkdyb3VwRW5kID0gY29uc29sZS5ncm91cEVuZDsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTA5OVxuXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IGRpc2FibGVkTG9nLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfTsgLy8gJEZsb3dGaXhNZSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGxvZzogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2TG9nXG4gICAgICAgIH0pLFxuICAgICAgICBpbmZvOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZJbmZvXG4gICAgICAgIH0pLFxuICAgICAgICB3YXJuOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZXYXJuXG4gICAgICAgIH0pLFxuICAgICAgICBlcnJvcjogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2RXJyb3JcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwQ29sbGFwc2VkXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cEVuZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBFbmRcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA8IDApIHtcbiAgICAgIGVycm9yKCdkaXNhYmxlZERlcHRoIGZlbGwgYmVsb3cgemVyby4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyO1xudmFyIHByZWZpeDtcbmZ1bmN0aW9uIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUsIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgY29uc3RydWN0KSB7XG4gIC8vIElmIHNvbWV0aGluZyBhc2tlZCBmb3IgYSBzdGFjayBpbnNpZGUgYSBmYWtlIHJlbmRlciwgaXQgc2hvdWxkIGdldCBpZ25vcmVkLlxuICBpZiAoICFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbnRyb2w7XG4gIHJlZW50cnkgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZSA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlOyAvLyAkRmxvd0ZpeE1lIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cblxuICB0cnkge1xuICAgIC8vIFRoaXMgc2hvdWxkIHRocm93LlxuICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBzaG91bGQgYmUgc2V0dGluZyB0aGUgcHJvcHMgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAgdmFyIEZha2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lXG5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZha2UucHJvdG90eXBlLCAncHJvcHMnLCB7XG4gICAgICAgIHNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAvLyBiZWNhdXNlIHRoYXQgd29uJ3QgdGhyb3cgaW4gYSBub24tc3RyaWN0IG1vZGUgZnVuY3Rpb24uXG4gICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgJiYgUmVmbGVjdC5jb25zdHJ1Y3QpIHtcbiAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAvLyBmcmFtZXMgYWRkZWQgYnkgdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICB0cnkge1xuICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoZm4sIFtdLCBGYWtlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgRmFrZS5jYWxsKCk7XG4gICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZuLmNhbGwoRmFrZS5wcm90b3R5cGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBjb250cm9sID0geDtcbiAgICAgIH1cblxuICAgICAgZm4oKTtcbiAgICB9XG4gIH0gY2F0Y2ggKHNhbXBsZSkge1xuICAgIC8vIFRoaXMgaXMgaW5saW5lZCBtYW51YWxseSBiZWNhdXNlIGNsb3N1cmUgZG9lc24ndCBkbyBpdCBmb3IgdXMuXG4gICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBUaGlzIGV4dHJhY3RzIHRoZSBmaXJzdCBmcmFtZSBmcm9tIHRoZSBzYW1wbGUgdGhhdCBpc24ndCBhbHNvIGluIHRoZSBjb250cm9sLlxuICAgICAgLy8gU2tpcHBpbmcgb25lIGZyYW1lIHRoYXQgd2UgYXNzdW1lIGlzIHRoZSBmcmFtZSB0aGF0IGNhbGxzIHRoZSB0d28uXG4gICAgICB2YXIgc2FtcGxlTGluZXMgPSBzYW1wbGUuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIGNvbnRyb2xMaW5lcyA9IGNvbnRyb2wuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgdmFyIGMgPSBjb250cm9sTGluZXMubGVuZ3RoIC0gMTtcblxuICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAvLyBXZSBleHBlY3QgYXQgbGVhc3Qgb25lIHN0YWNrIGZyYW1lIHRvIGJlIHNoYXJlZC5cbiAgICAgICAgLy8gVHlwaWNhbGx5IHRoaXMgd2lsbCBiZSB0aGUgcm9vdCBtb3N0IG9uZS4gSG93ZXZlciwgc3RhY2sgZnJhbWVzIG1heSBiZVxuICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAvLyBlYXJsaWVyIHRoYW4gdGhlIG90aGVyLiBXZSBhc3N1bWUgdGhhdCB0aGUgc2FtcGxlIGlzIGxvbmdlciBvciB0aGUgc2FtZVxuICAgICAgICAvLyBhbmQgdGhlcmUgZm9yIGN1dCBvZmYgZWFybGllci4gU28gd2Ugc2hvdWxkIGZpbmQgdGhlIHJvb3QgbW9zdCBmcmFtZSBpblxuICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgYy0tO1xuICAgICAgfVxuXG4gICAgICBmb3IgKDsgcyA+PSAxICYmIGMgPj0gMDsgcy0tLCBjLS0pIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBmaW5kIHRoZSBmaXJzdCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSB3aGljaCBzaG91bGQgYmUgdGhlXG4gICAgICAgIC8vIGZyYW1lIHRoYXQgY2FsbGVkIG91ciBzYW1wbGUgZnVuY3Rpb24gYW5kIHRoZSBjb250cm9sLlxuICAgICAgICBpZiAoc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIEluIFY4LCB0aGUgZmlyc3QgbGluZSBpcyBkZXNjcmliaW5nIHRoZSBtZXNzYWdlIGJ1dCBvdGhlciBWTXMgZG9uJ3QuXG4gICAgICAgICAgLy8gSWYgd2UncmUgYWJvdXQgdG8gcmV0dXJuIHRoZSBmaXJzdCBsaW5lLCBhbmQgdGhlIGNvbnRyb2wgaXMgYWxzbyBvbiB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxpbmUsIHRoYXQncyBhIHByZXR0eSBnb29kIGluZGljYXRvciB0aGF0IG91ciBzYW1wbGUgdGhyZXcgYXQgc2FtZSBsaW5lIGFzXG4gICAgICAgICAgLy8gdGhlIGNvbnRyb2wuIEkuZS4gYmVmb3JlIHdlIGVudGVyZWQgdGhlIHNhbXBsZSBmcmFtZS4gU28gd2UgaWdub3JlIHRoaXMgcmVzdWx0LlxuICAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB5b3UgcGFzc2VkIGEgY2xhc3MgdG8gZnVuY3Rpb24gY29tcG9uZW50LCBvciBub24tZnVuY3Rpb24uXG4gICAgICAgICAgaWYgKHMgIT09IDEgfHwgYyAhPT0gMSkge1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICBzLS07XG4gICAgICAgICAgICAgIGMtLTsgLy8gV2UgbWF5IHN0aWxsIGhhdmUgc2ltaWxhciBpbnRlcm1lZGlhdGUgZnJhbWVzIGZyb20gdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICAgICAgICAvLyBUaGUgbmV4dCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSBzaG91bGQgYmUgb3VyIG1hdGNoIHRob3VnaC5cblxuICAgICAgICAgICAgICBpZiAoYyA8IDAgfHwgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgICAgICAgIC8vIFY4IGFkZHMgYSBcIm5ld1wiIHByZWZpeCBmb3IgbmF0aXZlIGNsYXNzZXMuIExldCdzIHJlbW92ZSBpdCB0byBtYWtlIGl0IHByZXR0aWVyLlxuICAgICAgICAgICAgICAgIHZhciBfZnJhbWUgPSAnXFxuJyArIHNhbXBsZUxpbmVzW3NdLnJlcGxhY2UoJyBhdCBuZXcgJywgJyBhdCAnKTsgLy8gSWYgb3VyIGNvbXBvbmVudCBmcmFtZSBpcyBsYWJlbGVkIFwiPGFub255bW91cz5cIlxuICAgICAgICAgICAgICAgIC8vIGJ1dCB3ZSBoYXZlIGEgdXNlci1wcm92aWRlZCBcImRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgICAgICAvLyBzcGxpY2UgaXQgaW4gdG8gbWFrZSB0aGUgc3RhY2sgbW9yZSByZWFkYWJsZS5cblxuXG4gICAgICAgICAgICAgICAgaWYgKGZuLmRpc3BsYXlOYW1lICYmIF9mcmFtZS5pbmNsdWRlcygnPGFub255bW91cz4nKSkge1xuICAgICAgICAgICAgICAgICAgX2ZyYW1lID0gX2ZyYW1lLnJlcGxhY2UoJzxhbm9ueW1vdXM+JywgZm4uZGlzcGxheU5hbWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIF9mcmFtZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAvLyBSZXR1cm4gdGhlIGxpbmUgd2UgZm91bmQuXG5cblxuICAgICAgICAgICAgICAgIHJldHVybiBfZnJhbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gd2hpbGUgKHMgPj0gMSAmJiBjID49IDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHJlZW50cnkgPSBmYWxzZTtcblxuICAgIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZpb3VzRGlzcGF0Y2hlcjtcbiAgICAgIHJlZW5hYmxlTG9ncygpO1xuICAgIH1cblxuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZTtcbiAgfSAvLyBGYWxsYmFjayB0byBqdXN0IHVzaW5nIHRoZSBuYW1lIGlmIHdlIGNvdWxkbid0IG1ha2UgaXQgdGhyb3cuXG5cblxuICB2YXIgbmFtZSA9IGZuID8gZm4uZGlzcGxheU5hbWUgfHwgZm4ubmFtZSA6ICcnO1xuICB2YXIgc3ludGhldGljRnJhbWUgPSBuYW1lID8gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSkgOiAnJztcblxuICB7XG4gICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIHN5bnRoZXRpY0ZyYW1lKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3ludGhldGljRnJhbWU7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlQ2xhc3NDb21wb25lbnRGcmFtZShjdG9yLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGN0b3IsIHRydWUpO1xuICB9XG59XG5mdW5jdGlvbiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZm4sIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIHNvdXJjZSwgb3duZXJGbikge1xuXG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB7XG4gICAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZSh0eXBlLCBzaG91bGRDb25zdHJ1Y3QodHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUodHlwZSk7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlJyk7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2VMaXN0Jyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgLy8gTWVtbyBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLnR5cGUsIHNvdXJjZSwgb3duZXJGbik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gTGF6eSBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoaW5pdChwYXlsb2FkKSwgc291cmNlLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZUZpYmVyKGZpYmVyKSB7XG4gIHZhciBvd25lciA9ICBmaWJlci5fZGVidWdPd25lciA/IGZpYmVyLl9kZWJ1Z093bmVyLnR5cGUgOiBudWxsIDtcbiAgdmFyIHNvdXJjZSA9ICBmaWJlci5fZGVidWdTb3VyY2UgO1xuXG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKGZpYmVyLnR5cGUpO1xuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdMYXp5Jyk7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuXG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmaWJlci50eXBlKTtcblxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZmliZXIudHlwZS5yZW5kZXIpO1xuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHJldHVybiBkZXNjcmliZUNsYXNzQ29tcG9uZW50RnJhbWUoZmliZXIudHlwZSk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZCh3b3JrSW5Qcm9ncmVzcykge1xuICB0cnkge1xuICAgIHZhciBpbmZvID0gJyc7XG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcztcblxuICAgIGRvIHtcbiAgICAgIGluZm8gKz0gZGVzY3JpYmVGaWJlcihub2RlKTtcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9IHdoaWxlIChub2RlKTtcblxuICAgIHJldHVybiBpbmZvO1xuICB9IGNhdGNoICh4KSB7XG4gICAgcmV0dXJuICdcXG5FcnJvciBnZW5lcmF0aW5nIHN0YWNrOiAnICsgeC5tZXNzYWdlICsgJ1xcbicgKyB4LnN0YWNrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSkge1xuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgLy8gSG9zdCByb290LCB0ZXh0IG5vZGUgb3IganVzdCBpbnZhbGlkIHR5cGUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB7XG4gICAgaWYgKHR5cGVvZiB0eXBlLnRhZyA9PT0gJ251bWJlcicpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIG9iamVjdCBpbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoKS4gJyArICdUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XG5cbiAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICByZXR1cm4gJ1Byb2ZpbGVyJztcblxuICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgIHJldHVybiAnU3RyaWN0TW9kZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZUxpc3QnO1xuXG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgdmFyIGNvbnRleHQgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcblxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB2YXIgcHJvdmlkZXIgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldFdyYXBwZWROYW1lKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgdmFyIG91dGVyTmFtZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbDtcblxuICAgICAgICBpZiAob3V0ZXJOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG91dGVyTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnTWVtbyc7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShpbml0KHBheWxvYWQpKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lJDEob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBvdXRlclR5cGUuZGlzcGxheU5hbWUgfHwgKGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZSk7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHNoYXJlZC9nZXRDb21wb25lbnROYW1lRnJvbVR5cGVcblxuXG5mdW5jdGlvbiBnZXRDb250ZXh0TmFtZSQxKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB7XG4gIHZhciB0YWcgPSBmaWJlci50YWcsXG4gICAgICB0eXBlID0gZmliZXIudHlwZTtcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ0NhY2hlJztcblxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgICAgdmFyIGNvbnRleHQgPSB0eXBlO1xuICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lJDEoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgIHJldHVybiBnZXRDb250ZXh0TmFtZSQxKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgY2FzZSBEZWh5ZHJhdGVkRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gJ0RlaHlkcmF0ZWRGcmFnbWVudCc7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUkMSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgIGNhc2UgRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIC8vIEhvc3QgY29tcG9uZW50IHR5cGUgaXMgdGhlIGRpc3BsYXkgbmFtZSAoZS5nLiBcImRpdlwiLCBcIlZpZXdcIilcbiAgICAgIHJldHVybiB0eXBlO1xuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHJldHVybiAnUm9vdCc7XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgcmV0dXJuICdUZXh0JztcblxuICAgIGNhc2UgTGF6eUNvbXBvbmVudDpcbiAgICAgIC8vIE5hbWUgY29tZXMgZnJvbSB0aGUgdHlwZSBpbiB0aGlzIGNhc2U7IHdlIGRvbid0IGhhdmUgYSB0YWcuXG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuXG4gICAgY2FzZSBNb2RlOlxuICAgICAgaWYgKHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUpIHtcbiAgICAgICAgLy8gRG9uJ3QgYmUgbGVzcyBzcGVjaWZpYyB0aGFuIHNoYXJlZC9nZXRDb21wb25lbnROYW1lRnJvbVR5cGVcbiAgICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdNb2RlJztcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAgcmV0dXJuICdPZmZzY3JlZW4nO1xuXG4gICAgY2FzZSBQcm9maWxlcjpcbiAgICAgIHJldHVybiAnUHJvZmlsZXInO1xuXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiAnU2NvcGUnO1xuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ1RyYWNpbmdNYXJrZXInO1xuICAgIC8vIFRoZSBkaXNwbGF5IG5hbWUgZm9yIHRoaXMgdGFncyBjb21lIGZyb20gdGhlIHVzZXItcHJvdmlkZWQgdHlwZTpcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG52YXIgY3VycmVudCA9IG51bGw7XG52YXIgaXNSZW5kZXJpbmcgPSBmYWxzZTtcbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCkge1xuICB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBvd25lciA9IGN1cnJlbnQuX2RlYnVnT3duZXI7XG5cbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgdHlwZW9mIG93bmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIob3duZXIpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KCkge1xuICB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IC8vIFNhZmUgYmVjYXVzZSBpZiBjdXJyZW50IGZpYmVyIGV4aXN0cywgd2UgYXJlIHJlY29uY2lsaW5nLFxuICAgIC8vIGFuZCBpdCBpcyBndWFyYW50ZWVkIHRvIGJlIHRoZSB3b3JrLWluLXByb2dyZXNzIHZlcnNpb24uXG5cblxuICAgIHJldHVybiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoY3VycmVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzZXRDdXJyZW50RmliZXIoKSB7XG4gIHtcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IG51bGw7XG4gICAgY3VycmVudCA9IG51bGw7XG4gICAgaXNSZW5kZXJpbmcgPSBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gc2V0Q3VycmVudEZpYmVyKGZpYmVyKSB7XG4gIHtcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IGZpYmVyID09PSBudWxsID8gbnVsbCA6IGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXY7XG4gICAgY3VycmVudCA9IGZpYmVyO1xuICAgIGlzUmVuZGVyaW5nID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlcigpIHtcbiAge1xuICAgIHJldHVybiBjdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiBzZXRJc1JlbmRlcmluZyhyZW5kZXJpbmcpIHtcbiAge1xuICAgIGlzUmVuZGVyaW5nID0gcmVuZGVyaW5nO1xuICB9XG59XG5cbi8vIEZsb3cgZG9lcyBub3QgYWxsb3cgc3RyaW5nIGNvbmNhdGVuYXRpb24gb2YgbW9zdCBub24tc3RyaW5nIHR5cGVzLiBUbyB3b3JrXG4vLyBhcm91bmQgdGhpcyBsaW1pdGF0aW9uLCB3ZSB1c2UgYW4gb3BhcXVlIHR5cGUgdGhhdCBjYW4gb25seSBiZSBvYnRhaW5lZCBieVxuLy8gcGFzc2luZyB0aGUgdmFsdWUgdGhyb3VnaCBnZXRUb1N0cmluZ1ZhbHVlIGZpcnN0LlxuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgLy8gVGhlIGNvZXJjaW9uIHNhZmV0eSBjaGVjayBpcyBwZXJmb3JtZWQgaW4gZ2V0VG9TdHJpbmdWYWx1ZSgpLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBnZXRUb1N0cmluZ1ZhbHVlKHZhbHVlKSB7XG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgY2FzZSAnYm9vbGVhbic6XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdzdHJpbmcnOlxuICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBjYXNlICdvYmplY3QnOlxuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gZnVuY3Rpb24sIHN5bWJvbCBhcmUgYXNzaWduZWQgYXMgZW1wdHkgc3RyaW5nc1xuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbnZhciBoYXNSZWFkT25seVZhbHVlID0ge1xuICBidXR0b246IHRydWUsXG4gIGNoZWNrYm94OiB0cnVlLFxuICBpbWFnZTogdHJ1ZSxcbiAgaGlkZGVuOiB0cnVlLFxuICByYWRpbzogdHJ1ZSxcbiAgcmVzZXQ6IHRydWUsXG4gIHN1Ym1pdDogdHJ1ZVxufTtcbmZ1bmN0aW9uIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHModGFnTmFtZSwgcHJvcHMpIHtcbiAge1xuICAgIGlmICghKGhhc1JlYWRPbmx5VmFsdWVbcHJvcHMudHlwZV0gfHwgcHJvcHMub25DaGFuZ2UgfHwgcHJvcHMub25JbnB1dCB8fCBwcm9wcy5yZWFkT25seSB8fCBwcm9wcy5kaXNhYmxlZCB8fCBwcm9wcy52YWx1ZSA9PSBudWxsKSkge1xuICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGB2YWx1ZWAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0VmFsdWVgLiBPdGhlcndpc2UsICcgKyAnc2V0IGVpdGhlciBgb25DaGFuZ2VgIG9yIGByZWFkT25seWAuJyk7XG4gICAgfVxuXG4gICAgaWYgKCEocHJvcHMub25DaGFuZ2UgfHwgcHJvcHMucmVhZE9ubHkgfHwgcHJvcHMuZGlzYWJsZWQgfHwgcHJvcHMuY2hlY2tlZCA9PSBudWxsKSkge1xuICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGBjaGVja2VkYCBwcm9wIHRvIGEgZm9ybSBmaWVsZCB3aXRob3V0IGFuICcgKyAnYG9uQ2hhbmdlYCBoYW5kbGVyLiBUaGlzIHdpbGwgcmVuZGVyIGEgcmVhZC1vbmx5IGZpZWxkLiBJZiAnICsgJ3RoZSBmaWVsZCBzaG91bGQgYmUgbXV0YWJsZSB1c2UgYGRlZmF1bHRDaGVja2VkYC4gT3RoZXJ3aXNlLCAnICsgJ3NldCBlaXRoZXIgYG9uQ2hhbmdlYCBvciBgcmVhZE9ubHlgLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NoZWNrYWJsZShlbGVtKSB7XG4gIHZhciB0eXBlID0gZWxlbS50eXBlO1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgbm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lucHV0JyAmJiAodHlwZSA9PT0gJ2NoZWNrYm94JyB8fCB0eXBlID09PSAncmFkaW8nKTtcbn1cblxuZnVuY3Rpb24gZ2V0VHJhY2tlcihub2RlKSB7XG4gIHJldHVybiBub2RlLl92YWx1ZVRyYWNrZXI7XG59XG5cbmZ1bmN0aW9uIGRldGFjaFRyYWNrZXIobm9kZSkge1xuICBub2RlLl92YWx1ZVRyYWNrZXIgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRWYWx1ZUZyb21Ob2RlKG5vZGUpIHtcbiAgdmFyIHZhbHVlID0gJyc7XG5cbiAgaWYgKCFub2RlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgaWYgKGlzQ2hlY2thYmxlKG5vZGUpKSB7XG4gICAgdmFsdWUgPSBub2RlLmNoZWNrZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICB9IGVsc2Uge1xuICAgIHZhbHVlID0gbm9kZS52YWx1ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gdHJhY2tWYWx1ZU9uTm9kZShub2RlKSB7XG4gIHZhciB2YWx1ZUZpZWxkID0gaXNDaGVja2FibGUobm9kZSkgPyAnY2hlY2tlZCcgOiAndmFsdWUnO1xuICB2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobm9kZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHZhbHVlRmllbGQpO1xuXG4gIHtcbiAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24obm9kZVt2YWx1ZUZpZWxkXSk7XG4gIH1cblxuICB2YXIgY3VycmVudFZhbHVlID0gJycgKyBub2RlW3ZhbHVlRmllbGRdOyAvLyBpZiBzb21lb25lIGhhcyBhbHJlYWR5IGRlZmluZWQgYSB2YWx1ZSBvciBTYWZhcmksIHRoZW4gYmFpbFxuICAvLyBhbmQgZG9uJ3QgdHJhY2sgdmFsdWUgd2lsbCBjYXVzZSBvdmVyIHJlcG9ydGluZyBvZiBjaGFuZ2VzLFxuICAvLyBidXQgaXQncyBiZXR0ZXIgdGhlbiBhIGhhcmQgZmFpbHVyZVxuICAvLyAobmVlZGVkIGZvciBjZXJ0YWluIHRlc3RzIHRoYXQgc3B5T24gaW5wdXQgdmFsdWVzIGFuZCBTYWZhcmkpXG5cbiAgaWYgKG5vZGUuaGFzT3duUHJvcGVydHkodmFsdWVGaWVsZCkgfHwgdHlwZW9mIGRlc2NyaXB0b3IgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBkZXNjcmlwdG9yLmdldCAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgZGVzY3JpcHRvci5zZXQgIT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZ2V0ID0gZGVzY3JpcHRvci5nZXQsXG4gICAgICBzZXQgPSBkZXNjcmlwdG9yLnNldDtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5vZGUsIHZhbHVlRmllbGQsIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZ2V0LmNhbGwodGhpcyk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50VmFsdWUgPSAnJyArIHZhbHVlO1xuICAgICAgc2V0LmNhbGwodGhpcywgdmFsdWUpO1xuICAgIH1cbiAgfSk7IC8vIFdlIGNvdWxkJ3ZlIHBhc3NlZCB0aGlzIHRoZSBmaXJzdCB0aW1lXG4gIC8vIGJ1dCBpdCB0cmlnZ2VycyBhIGJ1ZyBpbiBJRTExIGFuZCBFZGdlIDE0LzE1LlxuICAvLyBDYWxsaW5nIGRlZmluZVByb3BlcnR5KCkgYWdhaW4gc2hvdWxkIGJlIGVxdWl2YWxlbnQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE3NjhcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobm9kZSwgdmFsdWVGaWVsZCwge1xuICAgIGVudW1lcmFibGU6IGRlc2NyaXB0b3IuZW51bWVyYWJsZVxuICB9KTtcbiAgdmFyIHRyYWNrZXIgPSB7XG4gICAgZ2V0VmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XG4gICAgfSxcbiAgICBzZXRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgfSxcbiAgICBzdG9wVHJhY2tpbmc6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGRldGFjaFRyYWNrZXIobm9kZSk7XG4gICAgICBkZWxldGUgbm9kZVt2YWx1ZUZpZWxkXTtcbiAgICB9XG4gIH07XG4gIHJldHVybiB0cmFja2VyO1xufVxuXG5mdW5jdGlvbiB0cmFjayhub2RlKSB7XG4gIGlmIChnZXRUcmFja2VyKG5vZGUpKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIFRPRE86IE9uY2UgaXQncyBqdXN0IEZpYmVyIHdlIGNhbiBtb3ZlIHRoaXMgdG8gbm9kZS5fd3JhcHBlclN0YXRlXG5cblxuICBub2RlLl92YWx1ZVRyYWNrZXIgPSB0cmFja1ZhbHVlT25Ob2RlKG5vZGUpO1xufVxuZnVuY3Rpb24gdXBkYXRlVmFsdWVJZkNoYW5nZWQobm9kZSkge1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgdHJhY2tlciA9IGdldFRyYWNrZXIobm9kZSk7IC8vIGlmIHRoZXJlIGlzIG5vIHRyYWNrZXIgYXQgdGhpcyBwb2ludCBpdCdzIHVubGlrZWx5XG4gIC8vIHRoYXQgdHJ5aW5nIGFnYWluIHdpbGwgc3VjY2VlZFxuXG4gIGlmICghdHJhY2tlcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFyIGxhc3RWYWx1ZSA9IHRyYWNrZXIuZ2V0VmFsdWUoKTtcbiAgdmFyIG5leHRWYWx1ZSA9IGdldFZhbHVlRnJvbU5vZGUobm9kZSk7XG5cbiAgaWYgKG5leHRWYWx1ZSAhPT0gbGFzdFZhbHVlKSB7XG4gICAgdHJhY2tlci5zZXRWYWx1ZShuZXh0VmFsdWUpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVFbGVtZW50KGRvYykge1xuICBkb2MgPSBkb2MgfHwgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudCA6IHVuZGVmaW5lZCk7XG5cbiAgaWYgKHR5cGVvZiBkb2MgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBkb2MuYWN0aXZlRWxlbWVudCB8fCBkb2MuYm9keTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkb2MuYm9keTtcbiAgfVxufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gZmFsc2U7XG52YXIgZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCA9IGZhbHNlO1xudmFyIGRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQgPSBmYWxzZTtcbnZhciBkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGlzQ29udHJvbGxlZChwcm9wcykge1xuICB2YXIgdXNlc0NoZWNrZWQgPSBwcm9wcy50eXBlID09PSAnY2hlY2tib3gnIHx8IHByb3BzLnR5cGUgPT09ICdyYWRpbyc7XG4gIHJldHVybiB1c2VzQ2hlY2tlZCA/IHByb3BzLmNoZWNrZWQgIT0gbnVsbCA6IHByb3BzLnZhbHVlICE9IG51bGw7XG59XG4vKipcbiAqIEltcGxlbWVudHMgYW4gPGlucHV0PiBob3N0IGNvbXBvbmVudCB0aGF0IGFsbG93cyBzZXR0aW5nIHRoZXNlIG9wdGlvbmFsXG4gKiBwcm9wczogYGNoZWNrZWRgLCBgdmFsdWVgLCBgZGVmYXVsdENoZWNrZWRgLCBhbmQgYGRlZmF1bHRWYWx1ZWAuXG4gKlxuICogSWYgYGNoZWNrZWRgIG9yIGB2YWx1ZWAgYXJlIG5vdCBzdXBwbGllZCAob3IgbnVsbC91bmRlZmluZWQpLCB1c2VyIGFjdGlvbnNcbiAqIHRoYXQgYWZmZWN0IHRoZSBjaGVja2VkIHN0YXRlIG9yIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIHRoZXkgYXJlIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIGVsZW1lbnQgd2lsbCBub3RcbiAqIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgZWxlbWVudC4gSW5zdGVhZCwgdGhlIHByb3BzIG11c3QgY2hhbmdlIGluIG9yZGVyIGZvclxuICogdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIGFzIHVuY2hlY2tlZCAob3IgYGRlZmF1bHRDaGVja2VkYClcbiAqIHdpdGggYW4gZW1wdHkgdmFsdWUgKG9yIGBkZWZhdWx0VmFsdWVgKS5cbiAqXG4gKiBTZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1odG1sNS0yMDEyMTAyNS90aGUtaW5wdXQtZWxlbWVudC5odG1sXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgY2hlY2tlZCA9IHByb3BzLmNoZWNrZWQ7XG4gIHZhciBob3N0UHJvcHMgPSBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgZGVmYXVsdENoZWNrZWQ6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgIGNoZWNrZWQ6IGNoZWNrZWQgIT0gbnVsbCA/IGNoZWNrZWQgOiBub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWRcbiAgfSk7XG4gIHJldHVybiBob3N0UHJvcHM7XG59XG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHtcbiAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdpbnB1dCcsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdENoZWNrZWQgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCkge1xuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGFuIGlucHV0IG9mIHR5cGUgJXMgd2l0aCBib3RoIGNoZWNrZWQgYW5kIGRlZmF1bHRDaGVja2VkIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSBjaGVja2VkIHByb3AsIG9yIHRoZSBkZWZhdWx0Q2hlY2tlZCBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycsIGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCkgfHwgJ0EgY29tcG9uZW50JywgcHJvcHMudHlwZSk7XG5cbiAgICAgIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUpIHtcbiAgICAgIGVycm9yKCclcyBjb250YWlucyBhbiBpbnB1dCBvZiB0eXBlICVzIHdpdGggYm90aCB2YWx1ZSBhbmQgZGVmYXVsdFZhbHVlIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgYW5kIHJlbW92ZSBvbmUgb2YgdGhlc2UgcHJvcHMuIE1vcmUgaW5mbzogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvY29udHJvbGxlZC1jb21wb25lbnRzJywgZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKSB8fCAnQSBjb21wb25lbnQnLCBwcm9wcy50eXBlKTtcblxuICAgICAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG4gIHZhciBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMuZGVmYXVsdFZhbHVlO1xuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XG4gICAgaW5pdGlhbENoZWNrZWQ6IHByb3BzLmNoZWNrZWQgIT0gbnVsbCA/IHByb3BzLmNoZWNrZWQgOiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCxcbiAgICBpbml0aWFsVmFsdWU6IGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUgIT0gbnVsbCA/IHByb3BzLnZhbHVlIDogZGVmYXVsdFZhbHVlKSxcbiAgICBjb250cm9sbGVkOiBpc0NvbnRyb2xsZWQocHJvcHMpXG4gIH07XG59XG5mdW5jdGlvbiB1cGRhdGVDaGVja2VkKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIGNoZWNrZWQgPSBwcm9wcy5jaGVja2VkO1xuXG4gIGlmIChjaGVja2VkICE9IG51bGwpIHtcbiAgICBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsICdjaGVja2VkJywgY2hlY2tlZCwgZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcblxuICB7XG4gICAgdmFyIGNvbnRyb2xsZWQgPSBpc0NvbnRyb2xsZWQocHJvcHMpO1xuXG4gICAgaWYgKCFub2RlLl93cmFwcGVyU3RhdGUuY29udHJvbGxlZCAmJiBjb250cm9sbGVkICYmICFkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkKSB7XG4gICAgICBlcnJvcignQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYW4gdW5jb250cm9sbGVkIGlucHV0IHRvIGJlIGNvbnRyb2xsZWQuICcgKyAnVGhpcyBpcyBsaWtlbHkgY2F1c2VkIGJ5IHRoZSB2YWx1ZSBjaGFuZ2luZyBmcm9tIHVuZGVmaW5lZCB0byAnICsgJ2EgZGVmaW5lZCB2YWx1ZSwgd2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4uICcgKyAnRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgY29tcG9uZW50LiBNb3JlIGluZm86IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jb250cm9sbGVkLWNvbXBvbmVudHMnKTtcblxuICAgICAgZGlkV2FyblVuY29udHJvbGxlZFRvQ29udHJvbGxlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuX3dyYXBwZXJTdGF0ZS5jb250cm9sbGVkICYmICFjb250cm9sbGVkICYmICFkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkKSB7XG4gICAgICBlcnJvcignQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYSBjb250cm9sbGVkIGlucHV0IHRvIGJlIHVuY29udHJvbGxlZC4gJyArICdUaGlzIGlzIGxpa2VseSBjYXVzZWQgYnkgdGhlIHZhbHVlIGNoYW5naW5nIGZyb20gYSBkZWZpbmVkIHRvICcgKyAndW5kZWZpbmVkLCB3aGljaCBzaG91bGQgbm90IGhhcHBlbi4gJyArICdEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIGlucHV0ICcgKyAnZWxlbWVudCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb21wb25lbnQuIE1vcmUgaW5mbzogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycpO1xuXG4gICAgICBkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDaGVja2VkKGVsZW1lbnQsIHByb3BzKTtcbiAgdmFyIHZhbHVlID0gZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy52YWx1ZSk7XG4gIHZhciB0eXBlID0gcHJvcHMudHlwZTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIGlmICh0eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKHZhbHVlID09PSAwICYmIG5vZGUudmFsdWUgPT09ICcnIHx8IC8vIFdlIGV4cGxpY2l0bHkgd2FudCB0byBjb2VyY2UgdG8gbnVtYmVyIGhlcmUgaWYgcG9zc2libGUuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIG5vZGUudmFsdWUgIT0gdmFsdWUpIHtcbiAgICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0Jykge1xuICAgIC8vIFN1Ym1pdC9yZXNldCBpbnB1dHMgbmVlZCB0aGUgYXR0cmlidXRlIHJlbW92ZWQgY29tcGxldGVseSB0byBhdm9pZFxuICAgIC8vIGJsYW5rLXRleHQgYnV0dG9ucy5cbiAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZSgndmFsdWUnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB7XG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSB2YWx1ZSBhdHRyaWJ1dGUsIHRoZSB2YWx1ZSBjb21lcyBmcm9tIGEgY2FzY2FkZSBvZlxuICAgIC8vIHByb3BlcnRpZXM6XG4gICAgLy8gIDEuIFRoZSB2YWx1ZSBSZWFjdCBwcm9wZXJ0eVxuICAgIC8vICAyLiBUaGUgZGVmYXVsdFZhbHVlIFJlYWN0IHByb3BlcnR5XG4gICAgLy8gIDMuIE90aGVyd2lzZSB0aGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlXG4gICAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XG4gICAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgcHJvcHMudHlwZSwgdmFsdWUpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRWYWx1ZScpKSB7XG4gICAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgcHJvcHMudHlwZSwgZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy5kZWZhdWx0VmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSBjaGVja2VkIGF0dHJpYnV0ZSwgaXQgb25seSBjaGFuZ2VzIHdoZW4gaXQgbmVlZHNcbiAgICAvLyB0byBiZSByZW1vdmVkLCBzdWNoIGFzIHRyYW5zaXRpb25pbmcgZnJvbSBhIGNoZWNrYm94IGludG8gYSB0ZXh0IGlucHV0XG4gICAgaWYgKHByb3BzLmNoZWNrZWQgPT0gbnVsbCAmJiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCAhPSBudWxsKSB7XG4gICAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFwcm9wcy5kZWZhdWx0Q2hlY2tlZDtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RNb3VudFdyYXBwZXIoZWxlbWVudCwgcHJvcHMsIGlzSHlkcmF0aW5nKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDsgLy8gRG8gbm90IGFzc2lnbiB2YWx1ZSBpZiBpdCBpcyBhbHJlYWR5IHNldC4gVGhpcyBwcmV2ZW50cyB1c2VyIHRleHQgaW5wdXRcbiAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxuXG4gIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSB8fCBwcm9wcy5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdFZhbHVlJykpIHtcbiAgICB2YXIgdHlwZSA9IHByb3BzLnR5cGU7XG4gICAgdmFyIGlzQnV0dG9uID0gdHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0JzsgLy8gQXZvaWQgc2V0dGluZyB2YWx1ZSBhdHRyaWJ1dGUgb24gc3VibWl0L3Jlc2V0IGlucHV0cyBhcyBpdCBvdmVycmlkZXMgdGhlXG4gICAgLy8gZGVmYXVsdCB2YWx1ZSBwcm92aWRlZCBieSB0aGUgYnJvd3Nlci4gU2VlOiAjMTI4NzJcblxuICAgIGlmIChpc0J1dHRvbiAmJiAocHJvcHMudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBwcm9wcy52YWx1ZSA9PT0gbnVsbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgaW5pdGlhbFZhbHVlID0gdG9TdHJpbmcobm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSk7IC8vIERvIG5vdCBhc3NpZ24gdmFsdWUgaWYgaXQgaXMgYWxyZWFkeSBzZXQuIFRoaXMgcHJldmVudHMgdXNlciB0ZXh0IGlucHV0XG4gICAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxuXG4gICAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgICAge1xuICAgICAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIHZhbHVlIGF0dHJpYnV0ZSwgdGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCB1c2VcbiAgICAgICAgLy8gdGhlIHdyYXBwZXJTdGF0ZS5faW5pdGlhbFZhbHVlIHByb3BlcnR5LiBUaGlzIHVzZXM6XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgMS4gVGhlIHZhbHVlIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgICAgICAvLyAgIDIuIFRoZSBkZWZhdWx0VmFsdWUgUmVhY3QgcHJvcGVydHkgd2hlbiBwcmVzZW50XG4gICAgICAgIC8vICAgMy4gQW4gZW1wdHkgc3RyaW5nXG4gICAgICAgIGlmIChpbml0aWFsVmFsdWUgIT09IG5vZGUudmFsdWUpIHtcbiAgICAgICAgICBub2RlLnZhbHVlID0gaW5pdGlhbFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gT3RoZXJ3aXNlLCB0aGUgdmFsdWUgYXR0cmlidXRlIGlzIHN5bmNocm9uaXplZCB0byB0aGUgcHJvcGVydHksXG4gICAgICAvLyBzbyB3ZSBhc3NpZ24gZGVmYXVsdFZhbHVlIHRvIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSB2YWx1ZSBwcm9wZXJ0eVxuICAgICAgLy8gYXNzaWdubWVudCBzdGVwIGFib3ZlLlxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSBpbml0aWFsVmFsdWU7XG4gICAgfVxuICB9IC8vIE5vcm1hbGx5LCB3ZSdkIGp1c3QgZG8gYG5vZGUuY2hlY2tlZCA9IG5vZGUuY2hlY2tlZGAgdXBvbiBpbml0aWFsIG1vdW50LCBsZXNzIHRoaXMgYnVnXG4gIC8vIHRoaXMgaXMgbmVlZGVkIHRvIHdvcmsgYXJvdW5kIGEgY2hyb21lIGJ1ZyB3aGVyZSBzZXR0aW5nIGRlZmF1bHRDaGVja2VkXG4gIC8vIHdpbGwgc29tZXRpbWVzIGluZmx1ZW5jZSB0aGUgdmFsdWUgb2YgY2hlY2tlZCAoZXZlbiBhZnRlciBkZXRhY2htZW50KS5cbiAgLy8gUmVmZXJlbmNlOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD02MDg0MTZcbiAgLy8gV2UgbmVlZCB0byB0ZW1wb3JhcmlseSB1bnNldCBuYW1lIHRvIGF2b2lkIGRpc3J1cHRpbmcgcmFkaW8gYnV0dG9uIGdyb3Vwcy5cblxuXG4gIHZhciBuYW1lID0gbm9kZS5uYW1lO1xuXG4gIGlmIChuYW1lICE9PSAnJykge1xuICAgIG5vZGUubmFtZSA9ICcnO1xuICB9XG5cbiAge1xuICAgIC8vIFdoZW4gc3luY2luZyB0aGUgY2hlY2tlZCBhdHRyaWJ1dGUsIGJvdGggdGhlIGNoZWNrZWQgcHJvcGVydHkgYW5kXG4gICAgLy8gYXR0cmlidXRlIGFyZSBhc3NpZ25lZCBhdCB0aGUgc2FtZSB0aW1lIHVzaW5nIGRlZmF1bHRDaGVja2VkLiBUaGlzIHVzZXM6XG4gICAgLy9cbiAgICAvLyAgIDEuIFRoZSBjaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgIC8vICAgMi4gVGhlIGRlZmF1bHRDaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgIC8vICAgMy4gT3RoZXJ3aXNlLCBmYWxzZVxuICAgIG5vZGUuZGVmYXVsdENoZWNrZWQgPSAhbm9kZS5kZWZhdWx0Q2hlY2tlZDtcbiAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWQ7XG4gIH1cblxuICBpZiAobmFtZSAhPT0gJycpIHtcbiAgICBub2RlLm5hbWUgPSBuYW1lO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdXBkYXRlV3JhcHBlcihub2RlLCBwcm9wcyk7XG4gIHVwZGF0ZU5hbWVkQ291c2lucyhub2RlLCBwcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU5hbWVkQ291c2lucyhyb290Tm9kZSwgcHJvcHMpIHtcbiAgdmFyIG5hbWUgPSBwcm9wcy5uYW1lO1xuXG4gIGlmIChwcm9wcy50eXBlID09PSAncmFkaW8nICYmIG5hbWUgIT0gbnVsbCkge1xuICAgIHZhciBxdWVyeVJvb3QgPSByb290Tm9kZTtcblxuICAgIHdoaWxlIChxdWVyeVJvb3QucGFyZW50Tm9kZSkge1xuICAgICAgcXVlcnlSb290ID0gcXVlcnlSb290LnBhcmVudE5vZGU7XG4gICAgfSAvLyBJZiBgcm9vdE5vZGUuZm9ybWAgd2FzIG5vbi1udWxsLCB0aGVuIHdlIGNvdWxkIHRyeSBgZm9ybS5lbGVtZW50c2AsXG4gICAgLy8gYnV0IHRoYXQgc29tZXRpbWVzIGJlaGF2ZXMgc3RyYW5nZWx5IGluIElFOC4gV2UgY291bGQgYWxzbyB0cnkgdXNpbmdcbiAgICAvLyBgZm9ybS5nZXRFbGVtZW50c0J5TmFtZWAsIGJ1dCB0aGF0IHdpbGwgb25seSByZXR1cm4gZGlyZWN0IGNoaWxkcmVuXG4gICAgLy8gYW5kIHdvbid0IGluY2x1ZGUgaW5wdXRzIHRoYXQgdXNlIHRoZSBIVE1MNSBgZm9ybT1gIGF0dHJpYnV0ZS4gU2luY2VcbiAgICAvLyB0aGUgaW5wdXQgbWlnaHQgbm90IGV2ZW4gYmUgaW4gYSBmb3JtLiBJdCBtaWdodCBub3QgZXZlbiBiZSBpbiB0aGVcbiAgICAvLyBkb2N1bWVudC4gTGV0J3MganVzdCB1c2UgdGhlIGxvY2FsIGBxdWVyeVNlbGVjdG9yQWxsYCB0byBlbnN1cmUgd2UgZG9uJ3RcbiAgICAvLyBtaXNzIGFueXRoaW5nLlxuXG5cbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKG5hbWUsICduYW1lJyk7XG4gICAgfVxuXG4gICAgdmFyIGdyb3VwID0gcXVlcnlSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9JyArIEpTT04uc3RyaW5naWZ5KCcnICsgbmFtZSkgKyAnXVt0eXBlPVwicmFkaW9cIl0nKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ3JvdXAubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBvdGhlck5vZGUgPSBncm91cFtpXTtcblxuICAgICAgaWYgKG90aGVyTm9kZSA9PT0gcm9vdE5vZGUgfHwgb3RoZXJOb2RlLmZvcm0gIT09IHJvb3ROb2RlLmZvcm0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IC8vIFRoaXMgd2lsbCB0aHJvdyBpZiByYWRpbyBidXR0b25zIHJlbmRlcmVkIGJ5IGRpZmZlcmVudCBjb3BpZXMgb2YgUmVhY3RcbiAgICAgIC8vIGFuZCB0aGUgc2FtZSBuYW1lIGFyZSByZW5kZXJlZCBpbnRvIHRoZSBzYW1lIGZvcm0gKHNhbWUgYXMgIzE5MzkpLlxuICAgICAgLy8gVGhhdCdzIHByb2JhYmx5IG9rYXk7IHdlIGRvbid0IHN1cHBvcnQgaXQganVzdCBhcyB3ZSBkb24ndCBzdXBwb3J0XG4gICAgICAvLyBtaXhpbmcgUmVhY3QgcmFkaW8gYnV0dG9ucyB3aXRoIG5vbi1SZWFjdCBvbmVzLlxuXG5cbiAgICAgIHZhciBvdGhlclByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShvdGhlck5vZGUpO1xuXG4gICAgICBpZiAoIW90aGVyUHJvcHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZWFjdERPTUlucHV0OiBNaXhpbmcgUmVhY3QgYW5kIG5vbi1SZWFjdCByYWRpbyBpbnB1dHMgd2l0aCB0aGUgJyArICdzYW1lIGBuYW1lYCBpcyBub3Qgc3VwcG9ydGVkLicpO1xuICAgICAgfSAvLyBXZSBuZWVkIHVwZGF0ZSB0aGUgdHJhY2tlZCB2YWx1ZSBvbiB0aGUgbmFtZWQgY291c2luIHNpbmNlIHRoZSB2YWx1ZVxuICAgICAgLy8gd2FzIGNoYW5nZWQgYnV0IHRoZSBpbnB1dCBzYXcgbm8gZXZlbnQgb3IgdmFsdWUgc2V0XG5cblxuICAgICAgdXBkYXRlVmFsdWVJZkNoYW5nZWQob3RoZXJOb2RlKTsgLy8gSWYgdGhpcyBpcyBhIGNvbnRyb2xsZWQgcmFkaW8gYnV0dG9uIGdyb3VwLCBmb3JjaW5nIHRoZSBpbnB1dCB0aGF0XG4gICAgICAvLyB3YXMgcHJldmlvdXNseSBjaGVja2VkIHRvIHVwZGF0ZSB3aWxsIGNhdXNlIGl0IHRvIGJlIGNvbWUgcmUtY2hlY2tlZFxuICAgICAgLy8gYXMgYXBwcm9wcmlhdGUuXG5cbiAgICAgIHVwZGF0ZVdyYXBwZXIob3RoZXJOb2RlLCBvdGhlclByb3BzKTtcbiAgICB9XG4gIH1cbn0gLy8gSW4gQ2hyb21lLCBhc3NpZ25pbmcgZGVmYXVsdFZhbHVlIHRvIGNlcnRhaW4gaW5wdXQgdHlwZXMgdHJpZ2dlcnMgaW5wdXQgdmFsaWRhdGlvbi5cbi8vIEZvciBudW1iZXIgaW5wdXRzLCB0aGUgZGlzcGxheSB2YWx1ZSBsb3NlcyB0cmFpbGluZyBkZWNpbWFsIHBvaW50cy4gRm9yIGVtYWlsIGlucHV0cyxcbi8vIENocm9tZSByYWlzZXMgXCJUaGUgc3BlY2lmaWVkIHZhbHVlIDx4PiBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXCIuXG4vL1xuLy8gSGVyZSB3ZSBjaGVjayB0byBzZWUgaWYgdGhlIGRlZmF1bHRWYWx1ZSBoYXMgYWN0dWFsbHkgY2hhbmdlZCwgYXZvaWRpbmcgdGhlc2UgcHJvYmxlbXNcbi8vIHdoZW4gdGhlIHVzZXIgaXMgaW5wdXR0aW5nIHRleHRcbi8vXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzcyNTNcblxuXG5mdW5jdGlvbiBzZXREZWZhdWx0VmFsdWUobm9kZSwgdHlwZSwgdmFsdWUpIHtcbiAgaWYgKCAvLyBGb2N1c2VkIG51bWJlciBpbnB1dHMgc3luY2hyb25pemUgb24gYmx1ci4gU2VlIENoYW5nZUV2ZW50UGx1Z2luLmpzXG4gIHR5cGUgIT09ICdudW1iZXInIHx8IGdldEFjdGl2ZUVsZW1lbnQobm9kZS5vd25lckRvY3VtZW50KSAhPT0gbm9kZSkge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IHRvU3RyaW5nKG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5kZWZhdWx0VmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBkaWRXYXJuU2VsZWN0ZWRTZXRPbk9wdGlvbiA9IGZhbHNlO1xudmFyIGRpZFdhcm5JbnZhbGlkQ2hpbGQgPSBmYWxzZTtcbnZhciBkaWRXYXJuSW52YWxpZElubmVySFRNTCA9IGZhbHNlO1xuLyoqXG4gKiBJbXBsZW1lbnRzIGFuIDxvcHRpb24+IGhvc3QgY29tcG9uZW50IHRoYXQgd2FybnMgd2hlbiBgc2VsZWN0ZWRgIGlzIHNldC5cbiAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BzKGVsZW1lbnQsIHByb3BzKSB7XG4gIHtcbiAgICAvLyBJZiBhIHZhbHVlIGlzIG5vdCBwcm92aWRlZCwgdGhlbiB0aGUgY2hpbGRyZW4gbXVzdCBiZSBzaW1wbGUuXG4gICAgaWYgKHByb3BzLnZhbHVlID09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdvYmplY3QnICYmIHByb3BzLmNoaWxkcmVuICE9PSBudWxsKSB7XG4gICAgICAgIFJlYWN0LkNoaWxkcmVuLmZvckVhY2gocHJvcHMuY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgIGlmIChjaGlsZCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGNoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghZGlkV2FybkludmFsaWRDaGlsZCkge1xuICAgICAgICAgICAgZGlkV2FybkludmFsaWRDaGlsZCA9IHRydWU7XG5cbiAgICAgICAgICAgIGVycm9yKCdDYW5ub3QgaW5mZXIgdGhlIG9wdGlvbiB2YWx1ZSBvZiBjb21wbGV4IGNoaWxkcmVuLiAnICsgJ1Bhc3MgYSBgdmFsdWVgIHByb3Agb3IgdXNlIGEgcGxhaW4gc3RyaW5nIGFzIGNoaWxkcmVuIHRvIDxvcHRpb24+LicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCFkaWRXYXJuSW52YWxpZElubmVySFRNTCkge1xuICAgICAgICAgIGRpZFdhcm5JbnZhbGlkSW5uZXJIVE1MID0gdHJ1ZTtcblxuICAgICAgICAgIGVycm9yKCdQYXNzIGEgYHZhbHVlYCBwcm9wIGlmIHlvdSBzZXQgZGFuZ2Vyb3VzbHlJbm5lckhUTUwgc28gUmVhY3Qga25vd3MgJyArICd3aGljaCB2YWx1ZSBzaG91bGQgYmUgc2VsZWN0ZWQuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIFRPRE86IFJlbW92ZSBzdXBwb3J0IGZvciBgc2VsZWN0ZWRgIGluIDxvcHRpb24+LlxuXG5cbiAgICBpZiAocHJvcHMuc2VsZWN0ZWQgIT0gbnVsbCAmJiAhZGlkV2FyblNlbGVjdGVkU2V0T25PcHRpb24pIHtcbiAgICAgIGVycm9yKCdVc2UgdGhlIGBkZWZhdWx0VmFsdWVgIG9yIGB2YWx1ZWAgcHJvcHMgb24gPHNlbGVjdD4gaW5zdGVhZCBvZiAnICsgJ3NldHRpbmcgYHNlbGVjdGVkYCBvbiA8b3B0aW9uPi4nKTtcblxuICAgICAgZGlkV2FyblNlbGVjdGVkU2V0T25PcHRpb24gPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlciQxKGVsZW1lbnQsIHByb3BzKSB7XG4gIC8vIHZhbHVlPVwiXCIgc2hvdWxkIG1ha2UgYSB2YWx1ZSBhdHRyaWJ1dGUgKCM2MjE5KVxuICBpZiAocHJvcHMudmFsdWUgIT0gbnVsbCkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUpKSk7XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDE7XG5cbntcbiAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDEgPSBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkge1xuICB2YXIgb3duZXJOYW1lID0gZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKTtcblxuICBpZiAob3duZXJOYW1lKSB7XG4gICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG93bmVyTmFtZSArICdgLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciB2YWx1ZVByb3BOYW1lcyA9IFsndmFsdWUnLCAnZGVmYXVsdFZhbHVlJ107XG4vKipcbiAqIFZhbGlkYXRpb24gZnVuY3Rpb24gZm9yIGB2YWx1ZWAgYW5kIGBkZWZhdWx0VmFsdWVgLlxuICovXG5cbmZ1bmN0aW9uIGNoZWNrU2VsZWN0UHJvcFR5cGVzKHByb3BzKSB7XG4gIHtcbiAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdzZWxlY3QnLCBwcm9wcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlUHJvcE5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgcHJvcE5hbWUgPSB2YWx1ZVByb3BOYW1lc1tpXTtcblxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgcHJvcE5hbWVJc0FycmF5ID0gaXNBcnJheShwcm9wc1twcm9wTmFtZV0pO1xuXG4gICAgICBpZiAocHJvcHMubXVsdGlwbGUgJiYgIXByb3BOYW1lSXNBcnJheSkge1xuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGFuIGFycmF5IGlmICcgKyAnYG11bHRpcGxlYCBpcyB0cnVlLiVzJywgcHJvcE5hbWUsIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpKTtcbiAgICAgIH0gZWxzZSBpZiAoIXByb3BzLm11bHRpcGxlICYmIHByb3BOYW1lSXNBcnJheSkge1xuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGEgc2NhbGFyICcgKyAndmFsdWUgaWYgYG11bHRpcGxlYCBpcyBmYWxzZS4lcycsIHByb3BOYW1lLCBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU9wdGlvbnMobm9kZSwgbXVsdGlwbGUsIHByb3BWYWx1ZSwgc2V0RGVmYXVsdFNlbGVjdGVkKSB7XG4gIHZhciBvcHRpb25zID0gbm9kZS5vcHRpb25zO1xuXG4gIGlmIChtdWx0aXBsZSkge1xuICAgIHZhciBzZWxlY3RlZFZhbHVlcyA9IHByb3BWYWx1ZTtcbiAgICB2YXIgc2VsZWN0ZWRWYWx1ZSA9IHt9O1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gUHJlZml4IHRvIGF2b2lkIGNoYW9zIHdpdGggc3BlY2lhbCBrZXlzLlxuICAgICAgc2VsZWN0ZWRWYWx1ZVsnJCcgKyBzZWxlY3RlZFZhbHVlc1tpXV0gPSB0cnVlO1xuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBvcHRpb25zLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIHNlbGVjdGVkID0gc2VsZWN0ZWRWYWx1ZS5oYXNPd25Qcm9wZXJ0eSgnJCcgKyBvcHRpb25zW19pXS52YWx1ZSk7XG5cbiAgICAgIGlmIChvcHRpb25zW19pXS5zZWxlY3RlZCAhPT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgb3B0aW9uc1tfaV0uc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdGVkICYmIHNldERlZmF1bHRTZWxlY3RlZCkge1xuICAgICAgICBvcHRpb25zW19pXS5kZWZhdWx0U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBEbyBub3Qgc2V0IGBzZWxlY3QudmFsdWVgIGFzIGV4YWN0IGJlaGF2aW9yIGlzbid0IGNvbnNpc3RlbnQgYWNyb3NzIGFsbFxuICAgIC8vIGJyb3dzZXJzIGZvciBhbGwgY2FzZXMuXG4gICAgdmFyIF9zZWxlY3RlZFZhbHVlID0gdG9TdHJpbmcoZ2V0VG9TdHJpbmdWYWx1ZShwcm9wVmFsdWUpKTtcblxuICAgIHZhciBkZWZhdWx0U2VsZWN0ZWQgPSBudWxsO1xuXG4gICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgb3B0aW9ucy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICBpZiAob3B0aW9uc1tfaTJdLnZhbHVlID09PSBfc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICBvcHRpb25zW19pMl0uc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChzZXREZWZhdWx0U2VsZWN0ZWQpIHtcbiAgICAgICAgICBvcHRpb25zW19pMl0uZGVmYXVsdFNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRlZmF1bHRTZWxlY3RlZCA9PT0gbnVsbCAmJiAhb3B0aW9uc1tfaTJdLmRpc2FibGVkKSB7XG4gICAgICAgIGRlZmF1bHRTZWxlY3RlZCA9IG9wdGlvbnNbX2kyXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdFNlbGVjdGVkICE9PSBudWxsKSB7XG4gICAgICBkZWZhdWx0U2VsZWN0ZWQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBJbXBsZW1lbnRzIGEgPHNlbGVjdD4gaG9zdCBjb21wb25lbnQgdGhhdCBhbGxvd3Mgb3B0aW9uYWxseSBzZXR0aW5nIHRoZVxuICogcHJvcHMgYHZhbHVlYCBhbmQgYGRlZmF1bHRWYWx1ZWAuIElmIGBtdWx0aXBsZWAgaXMgZmFsc2UsIHRoZSBwcm9wIG11c3QgYmUgYVxuICogc3RyaW5nYWJsZS4gSWYgYG11bHRpcGxlYCBpcyB0cnVlLCB0aGUgcHJvcCBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ2FibGVzLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGNoYW5nZSB0aGVcbiAqIHNlbGVjdGVkIG9wdGlvbiB3aWxsIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgcmVuZGVyZWQgb3B0aW9ucy5cbiAqXG4gKiBJZiBpdCBpcyBzdXBwbGllZCAoYW5kIG5vdCBudWxsL3VuZGVmaW5lZCksIHRoZSByZW5kZXJlZCBvcHRpb25zIHdpbGwgbm90XG4gKiB1cGRhdGUgaW4gcmVzcG9uc2UgdG8gdXNlciBhY3Rpb25zLiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIG9wdGlvbnMgdG8gdXBkYXRlLlxuICpcbiAqIElmIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCBhbnkgb3B0aW9ucyB3aXRoIHRoZSBzdXBwbGllZCB2YWx1ZXMgd2lsbCBiZVxuICogc2VsZWN0ZWQuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMkMShlbGVtZW50LCBwcm9wcykge1xuICByZXR1cm4gYXNzaWduKHt9LCBwcm9wcywge1xuICAgIHZhbHVlOiB1bmRlZmluZWRcbiAgfSk7XG59XG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlJDEoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIHtcbiAgICBjaGVja1NlbGVjdFByb3BUeXBlcyhwcm9wcyk7XG4gIH1cblxuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XG4gICAgd2FzTXVsdGlwbGU6ICEhcHJvcHMubXVsdGlwbGVcbiAgfTtcblxuICB7XG4gICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWRpZFdhcm5WYWx1ZURlZmF1bHRWYWx1ZSQxKSB7XG4gICAgICBlcnJvcignU2VsZWN0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBzZWxlY3QgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycpO1xuXG4gICAgICBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSA9IHRydWU7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICBub2RlLm11bHRpcGxlID0gISFwcm9wcy5tdWx0aXBsZTtcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XG5cbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XG4gIH0gZWxzZSBpZiAocHJvcHMuZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHByb3BzLmRlZmF1bHRWYWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RVcGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIHdhc011bHRpcGxlID0gbm9kZS5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlO1xuICBub2RlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGUgPSAhIXByb3BzLm11bHRpcGxlO1xuICB2YXIgdmFsdWUgPSBwcm9wcy52YWx1ZTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgdmFsdWUsIGZhbHNlKTtcbiAgfSBlbHNlIGlmICh3YXNNdWx0aXBsZSAhPT0gISFwcm9wcy5tdWx0aXBsZSkge1xuICAgIC8vIEZvciBzaW1wbGljaXR5LCByZWFwcGx5IGBkZWZhdWx0VmFsdWVgIGlmIGBtdWx0aXBsZWAgaXMgdG9nZ2xlZC5cbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgcHJvcHMuZGVmYXVsdFZhbHVlLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmV2ZXJ0IHRoZSBzZWxlY3QgYmFjayB0byBpdHMgZGVmYXVsdCB1bnNlbGVjdGVkIHN0YXRlLlxuICAgICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCBwcm9wcy5tdWx0aXBsZSA/IFtdIDogJycsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMShlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG4gIHZhciB2YWx1ZSA9IHByb3BzLnZhbHVlO1xuXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCB2YWx1ZSwgZmFsc2UpO1xuICB9XG59XG5cbnZhciBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IGZhbHNlO1xuXG4vKipcbiAqIEltcGxlbWVudHMgYSA8dGV4dGFyZWE+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIHNldHRpbmcgYHZhbHVlYCwgYW5kXG4gKiBgZGVmYXVsdFZhbHVlYC4gVGhpcyBkaWZmZXJzIGZyb20gdGhlIHRyYWRpdGlvbmFsIERPTSBBUEkgYmVjYXVzZSB2YWx1ZSBpc1xuICogdXN1YWxseSBzZXQgYXMgUENEQVRBIGNoaWxkcmVuLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGFmZmVjdCB0aGVcbiAqIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgc3VwcGxpZWQgKGFuZCBub3QgbnVsbC91bmRlZmluZWQpLCB0aGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsXG4gKiBub3QgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIHdpdGggYW4gZW1wdHkgdmFsdWUsIHRoZSBwcm9wXG4gKiBgZGVmYXVsdFZhbHVlYCBpZiBzcGVjaWZpZWQsIG9yIHRoZSBjaGlsZHJlbiBjb250ZW50IChkZXByZWNhdGVkKS5cbiAqL1xuZnVuY3Rpb24gZ2V0SG9zdFByb3BzJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugb24gPHRleHRhcmVhPi4nKTtcbiAgfSAvLyBBbHdheXMgc2V0IGNoaWxkcmVuIHRvIHRoZSBzYW1lIHRoaW5nLiBJbiBJRTksIHRoZSBzZWxlY3Rpb24gcmFuZ2Ugd2lsbFxuICAvLyBnZXQgcmVzZXQgaWYgYHRleHRDb250ZW50YCBpcyBtdXRhdGVkLiAgV2UgY291bGQgYWRkIGEgY2hlY2sgaW4gc2V0VGV4dENvbnRlbnRcbiAgLy8gdG8gb25seSBzZXQgdGhlIHZhbHVlIGlmL3doZW4gdGhlIHZhbHVlIGRpZmZlcnMgZnJvbSB0aGUgbm9kZSB2YWx1ZSAod2hpY2ggd291bGRcbiAgLy8gY29tcGxldGVseSBzb2x2ZSB0aGlzIElFOSBidWcpLCBidXQgU2ViYXN0aWFuK1NvcGhpZSBzZWVtZWQgdG8gbGlrZSB0aGlzXG4gIC8vIHNvbHV0aW9uLiBUaGUgdmFsdWUgY2FuIGJlIGEgYm9vbGVhbiBvciBvYmplY3Qgc28gdGhhdCdzIHdoeSBpdCdzIGZvcmNlZFxuICAvLyB0byBiZSBhIHN0cmluZy5cblxuXG4gIHZhciBob3N0UHJvcHMgPSBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICBjaGlsZHJlbjogdG9TdHJpbmcobm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSlcbiAgfSk7XG5cbiAgcmV0dXJuIGhvc3RQcm9wcztcbn1cbmZ1bmN0aW9uIGluaXRXcmFwcGVyU3RhdGUkMihlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG5cbiAge1xuICAgIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHMoJ3RleHRhcmVhJywgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWRpZFdhcm5WYWxEZWZhdWx0VmFsKSB7XG4gICAgICBlcnJvcignJXMgY29udGFpbnMgYSB0ZXh0YXJlYSB3aXRoIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wcy4gJyArICdUZXh0YXJlYSBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgdGV4dGFyZWEgJyArICdhbmQgcmVtb3ZlIG9uZSBvZiB0aGVzZSBwcm9wcy4gTW9yZSBpbmZvOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcpO1xuXG4gICAgICBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGluaXRpYWxWYWx1ZSA9IHByb3BzLnZhbHVlOyAvLyBPbmx5IGJvdGhlciBmZXRjaGluZyBkZWZhdWx0IHZhbHVlIGlmIHdlJ3JlIGdvaW5nIHRvIHVzZSBpdFxuXG4gIGlmIChpbml0aWFsVmFsdWUgPT0gbnVsbCkge1xuICAgIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgICAgICBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWU7XG5cbiAgICBpZiAoY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICBlcnJvcignVXNlIHRoZSBgZGVmYXVsdFZhbHVlYCBvciBgdmFsdWVgIHByb3BzIGluc3RlYWQgb2Ygc2V0dGluZyAnICsgJ2NoaWxkcmVuIG9uIDx0ZXh0YXJlYT4uJyk7XG4gICAgICB9XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJZiB5b3Ugc3VwcGx5IGBkZWZhdWx0VmFsdWVgIG9uIGEgPHRleHRhcmVhPiwgZG8gbm90IHBhc3MgY2hpbGRyZW4uJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCc8dGV4dGFyZWE+IGNhbiBvbmx5IGhhdmUgYXQgbW9zdCBvbmUgY2hpbGQuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlblswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGNoaWxkcmVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZWZhdWx0VmFsdWUgPT0gbnVsbCkge1xuICAgICAgZGVmYXVsdFZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgaW5pdGlhbFZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgbm9kZS5fd3JhcHBlclN0YXRlID0ge1xuICAgIGluaXRpYWxWYWx1ZTogZ2V0VG9TdHJpbmdWYWx1ZShpbml0aWFsVmFsdWUpXG4gIH07XG59XG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgdmFsdWUgPSBnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLnZhbHVlKTtcbiAgdmFyIGRlZmF1bHRWYWx1ZSA9IGdldFRvU3RyaW5nVmFsdWUocHJvcHMuZGVmYXVsdFZhbHVlKTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIC8vIENhc3QgYHZhbHVlYCB0byBhIHN0cmluZyB0byBlbnN1cmUgdGhlIHZhbHVlIGlzIHNldCBjb3JyZWN0bHkuIFdoaWxlXG4gICAgLy8gYnJvd3NlcnMgdHlwaWNhbGx5IGRvIHRoaXMgYXMgbmVjZXNzYXJ5LCBqc2RvbSBkb2Vzbid0LlxuICAgIHZhciBuZXdWYWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTsgLy8gVG8gYXZvaWQgc2lkZSBlZmZlY3RzIChzdWNoIGFzIGxvc2luZyB0ZXh0IHNlbGVjdGlvbiksIG9ubHkgc2V0IHZhbHVlIGlmIGNoYW5nZWRcblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gbm9kZS52YWx1ZSkge1xuICAgICAgbm9kZS52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCAmJiBub2RlLmRlZmF1bHRWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIG5vZGUuZGVmYXVsdFZhbHVlID0gbmV3VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyhkZWZhdWx0VmFsdWUpO1xuICB9XG59XG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDMoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50OyAvLyBUaGlzIGlzIGluIHBvc3RNb3VudCBiZWNhdXNlIHdlIG5lZWQgYWNjZXNzIHRvIHRoZSBET00gbm9kZSwgd2hpY2ggaXMgbm90XG4gIC8vIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBtb3VudGVkLlxuXG4gIHZhciB0ZXh0Q29udGVudCA9IG5vZGUudGV4dENvbnRlbnQ7IC8vIE9ubHkgc2V0IG5vZGUudmFsdWUgaWYgdGV4dENvbnRlbnQgaXMgZXF1YWwgdG8gdGhlIGV4cGVjdGVkXG4gIC8vIGluaXRpYWwgdmFsdWUuIEluIElFMTAvSUUxMSB0aGVyZSBpcyBhIGJ1ZyB3aGVyZSB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlXG4gIC8vIHdpbGwgcG9wdWxhdGUgdGV4dENvbnRlbnQgYXMgd2VsbC5cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTAxNTI1L1xuXG4gIGlmICh0ZXh0Q29udGVudCA9PT0gbm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSkge1xuICAgIGlmICh0ZXh0Q29udGVudCAhPT0gJycgJiYgdGV4dENvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgIG5vZGUudmFsdWUgPSB0ZXh0Q29udGVudDtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMihlbGVtZW50LCBwcm9wcykge1xuICAvLyBET00gY29tcG9uZW50IGlzIHN0aWxsIG1vdW50ZWQ7IHVwZGF0ZVxuICB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpO1xufVxuXG52YXIgSFRNTF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc7XG52YXIgTUFUSF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCc7XG52YXIgU1ZHX05BTUVTUEFDRSA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7IC8vIEFzc3VtZXMgdGhlcmUgaXMgbm8gcGFyZW50IG5hbWVzcGFjZS5cblxuZnVuY3Rpb24gZ2V0SW50cmluc2ljTmFtZXNwYWNlKHR5cGUpIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnc3ZnJzpcbiAgICAgIHJldHVybiBTVkdfTkFNRVNQQUNFO1xuXG4gICAgY2FzZSAnbWF0aCc6XG4gICAgICByZXR1cm4gTUFUSF9OQU1FU1BBQ0U7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIEhUTUxfTkFNRVNQQUNFO1xuICB9XG59XG5mdW5jdGlvbiBnZXRDaGlsZE5hbWVzcGFjZShwYXJlbnROYW1lc3BhY2UsIHR5cGUpIHtcbiAgaWYgKHBhcmVudE5hbWVzcGFjZSA9PSBudWxsIHx8IHBhcmVudE5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcbiAgICAvLyBObyAob3IgZGVmYXVsdCkgcGFyZW50IG5hbWVzcGFjZTogcG90ZW50aWFsIGVudHJ5IHBvaW50LlxuICAgIHJldHVybiBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSk7XG4gIH1cblxuICBpZiAocGFyZW50TmFtZXNwYWNlID09PSBTVkdfTkFNRVNQQUNFICYmIHR5cGUgPT09ICdmb3JlaWduT2JqZWN0Jykge1xuICAgIC8vIFdlJ3JlIGxlYXZpbmcgU1ZHLlxuICAgIHJldHVybiBIVE1MX05BTUVTUEFDRTtcbiAgfSAvLyBCeSBkZWZhdWx0LCBwYXNzIG5hbWVzcGFjZSBiZWxvdy5cblxuXG4gIHJldHVybiBwYXJlbnROYW1lc3BhY2U7XG59XG5cbi8qIGdsb2JhbHMgTVNBcHAgKi9cblxuLyoqXG4gKiBDcmVhdGUgYSBmdW5jdGlvbiB3aGljaCBoYXMgJ3Vuc2FmZScgcHJpdmlsZWdlcyAocmVxdWlyZWQgYnkgd2luZG93czggYXBwcylcbiAqL1xudmFyIGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24gPSBmdW5jdGlvbiAoZnVuYykge1xuICBpZiAodHlwZW9mIE1TQXBwICE9PSAndW5kZWZpbmVkJyAmJiBNU0FwcC5leGVjVW5zYWZlTG9jYWxGdW5jdGlvbikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMiwgYXJnMykge1xuICAgICAgTVNBcHAuZXhlY1Vuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZnVuYyhhcmcwLCBhcmcxLCBhcmcyLCBhcmczKTtcbiAgICAgIH0pO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH1cbn07XG5cbnZhciByZXVzYWJsZVNWR0NvbnRhaW5lcjtcbi8qKlxuICogU2V0IHRoZSBpbm5lckhUTUwgcHJvcGVydHkgb2YgYSBub2RlXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxuICogQGludGVybmFsXG4gKi9cblxudmFyIHNldElubmVySFRNTCA9IGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKG5vZGUsIGh0bWwpIHtcbiAgaWYgKG5vZGUubmFtZXNwYWNlVVJJID09PSBTVkdfTkFNRVNQQUNFKSB7XG5cbiAgICBpZiAoISgnaW5uZXJIVE1MJyBpbiBub2RlKSkge1xuICAgICAgLy8gSUUgZG9lcyBub3QgaGF2ZSBpbm5lckhUTUwgZm9yIFNWRyBub2Rlcywgc28gaW5zdGVhZCB3ZSBpbmplY3QgdGhlXG4gICAgICAvLyBuZXcgbWFya3VwIGluIGEgdGVtcCBub2RlIGFuZCB0aGVuIG1vdmUgdGhlIGNoaWxkIG5vZGVzIGFjcm9zcyBpbnRvXG4gICAgICAvLyB0aGUgdGFyZ2V0IG5vZGVcbiAgICAgIHJldXNhYmxlU1ZHQ29udGFpbmVyID0gcmV1c2FibGVTVkdDb250YWluZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICByZXVzYWJsZVNWR0NvbnRhaW5lci5pbm5lckhUTUwgPSAnPHN2Zz4nICsgaHRtbC52YWx1ZU9mKCkudG9TdHJpbmcoKSArICc8L3N2Zz4nO1xuICAgICAgdmFyIHN2Z05vZGUgPSByZXVzYWJsZVNWR0NvbnRhaW5lci5maXJzdENoaWxkO1xuXG4gICAgICB3aGlsZSAobm9kZS5maXJzdENoaWxkKSB7XG4gICAgICAgIG5vZGUucmVtb3ZlQ2hpbGQobm9kZS5maXJzdENoaWxkKTtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKHN2Z05vZGUuZmlyc3RDaGlsZCkge1xuICAgICAgICBub2RlLmFwcGVuZENoaWxkKHN2Z05vZGUuZmlyc3RDaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBub2RlLmlubmVySFRNTCA9IGh0bWw7XG59KTtcblxuLyoqXG4gKiBIVE1MIG5vZGVUeXBlIHZhbHVlcyB0aGF0IHJlcHJlc2VudCB0aGUgdHlwZSBvZiB0aGUgbm9kZVxuICovXG52YXIgRUxFTUVOVF9OT0RFID0gMTtcbnZhciBURVhUX05PREUgPSAzO1xudmFyIENPTU1FTlRfTk9ERSA9IDg7XG52YXIgRE9DVU1FTlRfTk9ERSA9IDk7XG52YXIgRE9DVU1FTlRfRlJBR01FTlRfTk9ERSA9IDExO1xuXG4vKipcbiAqIFNldCB0aGUgdGV4dENvbnRlbnQgcHJvcGVydHkgb2YgYSBub2RlLiBGb3IgdGV4dCB1cGRhdGVzLCBpdCdzIGZhc3RlclxuICogdG8gc2V0IHRoZSBgbm9kZVZhbHVlYCBvZiB0aGUgVGV4dCBub2RlIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmdcbiAqIGAudGV4dENvbnRlbnRgIHdoaWNoIHdpbGwgcmVtb3ZlIHRoZSBleGlzdGluZyBub2RlIGFuZCBjcmVhdGUgYSBuZXcgb25lLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAqIEBpbnRlcm5hbFxuICovXG5cbnZhciBzZXRUZXh0Q29udGVudCA9IGZ1bmN0aW9uIChub2RlLCB0ZXh0KSB7XG4gIGlmICh0ZXh0KSB7XG4gICAgdmFyIGZpcnN0Q2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICBpZiAoZmlyc3RDaGlsZCAmJiBmaXJzdENoaWxkID09PSBub2RlLmxhc3RDaGlsZCAmJiBmaXJzdENoaWxkLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcbiAgICAgIGZpcnN0Q2hpbGQubm9kZVZhbHVlID0gdGV4dDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcbn07XG5cbi8vIExpc3QgZGVyaXZlZCBmcm9tIEdlY2tvIHNvdXJjZSBjb2RlOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvNGU2MzhlZmM3MS9sYXlvdXQvc3R5bGUvdGVzdC9wcm9wZXJ0eV9kYXRhYmFzZS5qc1xudmFyIHNob3J0aGFuZFRvTG9uZ2hhbmQgPSB7XG4gIGFuaW1hdGlvbjogWydhbmltYXRpb25EZWxheScsICdhbmltYXRpb25EaXJlY3Rpb24nLCAnYW5pbWF0aW9uRHVyYXRpb24nLCAnYW5pbWF0aW9uRmlsbE1vZGUnLCAnYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQnLCAnYW5pbWF0aW9uTmFtZScsICdhbmltYXRpb25QbGF5U3RhdGUnLCAnYW5pbWF0aW9uVGltaW5nRnVuY3Rpb24nXSxcbiAgYmFja2dyb3VuZDogWydiYWNrZ3JvdW5kQXR0YWNobWVudCcsICdiYWNrZ3JvdW5kQ2xpcCcsICdiYWNrZ3JvdW5kQ29sb3InLCAnYmFja2dyb3VuZEltYWdlJywgJ2JhY2tncm91bmRPcmlnaW4nLCAnYmFja2dyb3VuZFBvc2l0aW9uWCcsICdiYWNrZ3JvdW5kUG9zaXRpb25ZJywgJ2JhY2tncm91bmRSZXBlYXQnLCAnYmFja2dyb3VuZFNpemUnXSxcbiAgYmFja2dyb3VuZFBvc2l0aW9uOiBbJ2JhY2tncm91bmRQb3NpdGlvblgnLCAnYmFja2dyb3VuZFBvc2l0aW9uWSddLFxuICBib3JkZXI6IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyQm90dG9tV2lkdGgnLCAnYm9yZGVySW1hZ2VPdXRzZXQnLCAnYm9yZGVySW1hZ2VSZXBlYXQnLCAnYm9yZGVySW1hZ2VTbGljZScsICdib3JkZXJJbWFnZVNvdXJjZScsICdib3JkZXJJbWFnZVdpZHRoJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJMZWZ0U3R5bGUnLCAnYm9yZGVyTGVmdFdpZHRoJywgJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJywgJ2JvcmRlclRvcENvbG9yJywgJ2JvcmRlclRvcFN0eWxlJywgJ2JvcmRlclRvcFdpZHRoJ10sXG4gIGJvcmRlckJsb2NrRW5kOiBbJ2JvcmRlckJsb2NrRW5kQ29sb3InLCAnYm9yZGVyQmxvY2tFbmRTdHlsZScsICdib3JkZXJCbG9ja0VuZFdpZHRoJ10sXG4gIGJvcmRlckJsb2NrU3RhcnQ6IFsnYm9yZGVyQmxvY2tTdGFydENvbG9yJywgJ2JvcmRlckJsb2NrU3RhcnRTdHlsZScsICdib3JkZXJCbG9ja1N0YXJ0V2lkdGgnXSxcbiAgYm9yZGVyQm90dG9tOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckJvdHRvbVN0eWxlJywgJ2JvcmRlckJvdHRvbVdpZHRoJ10sXG4gIGJvcmRlckNvbG9yOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJSaWdodENvbG9yJywgJ2JvcmRlclRvcENvbG9yJ10sXG4gIGJvcmRlckltYWdlOiBbJ2JvcmRlckltYWdlT3V0c2V0JywgJ2JvcmRlckltYWdlUmVwZWF0JywgJ2JvcmRlckltYWdlU2xpY2UnLCAnYm9yZGVySW1hZ2VTb3VyY2UnLCAnYm9yZGVySW1hZ2VXaWR0aCddLFxuICBib3JkZXJJbmxpbmVFbmQ6IFsnYm9yZGVySW5saW5lRW5kQ29sb3InLCAnYm9yZGVySW5saW5lRW5kU3R5bGUnLCAnYm9yZGVySW5saW5lRW5kV2lkdGgnXSxcbiAgYm9yZGVySW5saW5lU3RhcnQ6IFsnYm9yZGVySW5saW5lU3RhcnRDb2xvcicsICdib3JkZXJJbmxpbmVTdGFydFN0eWxlJywgJ2JvcmRlcklubGluZVN0YXJ0V2lkdGgnXSxcbiAgYm9yZGVyTGVmdDogWydib3JkZXJMZWZ0Q29sb3InLCAnYm9yZGVyTGVmdFN0eWxlJywgJ2JvcmRlckxlZnRXaWR0aCddLFxuICBib3JkZXJSYWRpdXM6IFsnYm9yZGVyQm90dG9tTGVmdFJhZGl1cycsICdib3JkZXJCb3R0b21SaWdodFJhZGl1cycsICdib3JkZXJUb3BMZWZ0UmFkaXVzJywgJ2JvcmRlclRvcFJpZ2h0UmFkaXVzJ10sXG4gIGJvcmRlclJpZ2h0OiBbJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJ10sXG4gIGJvcmRlclN0eWxlOiBbJ2JvcmRlckJvdHRvbVN0eWxlJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclRvcFN0eWxlJ10sXG4gIGJvcmRlclRvcDogWydib3JkZXJUb3BDb2xvcicsICdib3JkZXJUb3BTdHlsZScsICdib3JkZXJUb3BXaWR0aCddLFxuICBib3JkZXJXaWR0aDogWydib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRXaWR0aCcsICdib3JkZXJUb3BXaWR0aCddLFxuICBjb2x1bW5SdWxlOiBbJ2NvbHVtblJ1bGVDb2xvcicsICdjb2x1bW5SdWxlU3R5bGUnLCAnY29sdW1uUnVsZVdpZHRoJ10sXG4gIGNvbHVtbnM6IFsnY29sdW1uQ291bnQnLCAnY29sdW1uV2lkdGgnXSxcbiAgZmxleDogWydmbGV4QmFzaXMnLCAnZmxleEdyb3cnLCAnZmxleFNocmluayddLFxuICBmbGV4RmxvdzogWydmbGV4RGlyZWN0aW9uJywgJ2ZsZXhXcmFwJ10sXG4gIGZvbnQ6IFsnZm9udEZhbWlseScsICdmb250RmVhdHVyZVNldHRpbmdzJywgJ2ZvbnRLZXJuaW5nJywgJ2ZvbnRMYW5ndWFnZU92ZXJyaWRlJywgJ2ZvbnRTaXplJywgJ2ZvbnRTaXplQWRqdXN0JywgJ2ZvbnRTdHJldGNoJywgJ2ZvbnRTdHlsZScsICdmb250VmFyaWFudCcsICdmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJywgJ2ZvbnRXZWlnaHQnLCAnbGluZUhlaWdodCddLFxuICBmb250VmFyaWFudDogWydmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJ10sXG4gIGdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXG4gIGdyaWQ6IFsnZ3JpZEF1dG9Db2x1bW5zJywgJ2dyaWRBdXRvRmxvdycsICdncmlkQXV0b1Jvd3MnLCAnZ3JpZFRlbXBsYXRlQXJlYXMnLCAnZ3JpZFRlbXBsYXRlQ29sdW1ucycsICdncmlkVGVtcGxhdGVSb3dzJ10sXG4gIGdyaWRBcmVhOiBbJ2dyaWRDb2x1bW5FbmQnLCAnZ3JpZENvbHVtblN0YXJ0JywgJ2dyaWRSb3dFbmQnLCAnZ3JpZFJvd1N0YXJ0J10sXG4gIGdyaWRDb2x1bW46IFsnZ3JpZENvbHVtbkVuZCcsICdncmlkQ29sdW1uU3RhcnQnXSxcbiAgZ3JpZENvbHVtbkdhcDogWydjb2x1bW5HYXAnXSxcbiAgZ3JpZEdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXG4gIGdyaWRSb3c6IFsnZ3JpZFJvd0VuZCcsICdncmlkUm93U3RhcnQnXSxcbiAgZ3JpZFJvd0dhcDogWydyb3dHYXAnXSxcbiAgZ3JpZFRlbXBsYXRlOiBbJ2dyaWRUZW1wbGF0ZUFyZWFzJywgJ2dyaWRUZW1wbGF0ZUNvbHVtbnMnLCAnZ3JpZFRlbXBsYXRlUm93cyddLFxuICBsaXN0U3R5bGU6IFsnbGlzdFN0eWxlSW1hZ2UnLCAnbGlzdFN0eWxlUG9zaXRpb24nLCAnbGlzdFN0eWxlVHlwZSddLFxuICBtYXJnaW46IFsnbWFyZ2luQm90dG9tJywgJ21hcmdpbkxlZnQnLCAnbWFyZ2luUmlnaHQnLCAnbWFyZ2luVG9wJ10sXG4gIG1hcmtlcjogWydtYXJrZXJFbmQnLCAnbWFya2VyTWlkJywgJ21hcmtlclN0YXJ0J10sXG4gIG1hc2s6IFsnbWFza0NsaXAnLCAnbWFza0NvbXBvc2l0ZScsICdtYXNrSW1hZ2UnLCAnbWFza01vZGUnLCAnbWFza09yaWdpbicsICdtYXNrUG9zaXRpb25YJywgJ21hc2tQb3NpdGlvblknLCAnbWFza1JlcGVhdCcsICdtYXNrU2l6ZSddLFxuICBtYXNrUG9zaXRpb246IFsnbWFza1Bvc2l0aW9uWCcsICdtYXNrUG9zaXRpb25ZJ10sXG4gIG91dGxpbmU6IFsnb3V0bGluZUNvbG9yJywgJ291dGxpbmVTdHlsZScsICdvdXRsaW5lV2lkdGgnXSxcbiAgb3ZlcmZsb3c6IFsnb3ZlcmZsb3dYJywgJ292ZXJmbG93WSddLFxuICBwYWRkaW5nOiBbJ3BhZGRpbmdCb3R0b20nLCAncGFkZGluZ0xlZnQnLCAncGFkZGluZ1JpZ2h0JywgJ3BhZGRpbmdUb3AnXSxcbiAgcGxhY2VDb250ZW50OiBbJ2FsaWduQ29udGVudCcsICdqdXN0aWZ5Q29udGVudCddLFxuICBwbGFjZUl0ZW1zOiBbJ2FsaWduSXRlbXMnLCAnanVzdGlmeUl0ZW1zJ10sXG4gIHBsYWNlU2VsZjogWydhbGlnblNlbGYnLCAnanVzdGlmeVNlbGYnXSxcbiAgdGV4dERlY29yYXRpb246IFsndGV4dERlY29yYXRpb25Db2xvcicsICd0ZXh0RGVjb3JhdGlvbkxpbmUnLCAndGV4dERlY29yYXRpb25TdHlsZSddLFxuICB0ZXh0RW1waGFzaXM6IFsndGV4dEVtcGhhc2lzQ29sb3InLCAndGV4dEVtcGhhc2lzU3R5bGUnXSxcbiAgdHJhbnNpdGlvbjogWyd0cmFuc2l0aW9uRGVsYXknLCAndHJhbnNpdGlvbkR1cmF0aW9uJywgJ3RyYW5zaXRpb25Qcm9wZXJ0eScsICd0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24nXSxcbiAgd29yZFdyYXA6IFsnb3ZlcmZsb3dXcmFwJ11cbn07XG5cbi8qKlxuICogQ1NTIHByb3BlcnRpZXMgd2hpY2ggYWNjZXB0IG51bWJlcnMgYnV0IGFyZSBub3QgaW4gdW5pdHMgb2YgXCJweFwiLlxuICovXG52YXIgaXNVbml0bGVzc051bWJlciA9IHtcbiAgYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6IHRydWUsXG4gIGFzcGVjdFJhdGlvOiB0cnVlLFxuICBib3JkZXJJbWFnZU91dHNldDogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VTbGljZTogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VXaWR0aDogdHJ1ZSxcbiAgYm94RmxleDogdHJ1ZSxcbiAgYm94RmxleEdyb3VwOiB0cnVlLFxuICBib3hPcmRpbmFsR3JvdXA6IHRydWUsXG4gIGNvbHVtbkNvdW50OiB0cnVlLFxuICBjb2x1bW5zOiB0cnVlLFxuICBmbGV4OiB0cnVlLFxuICBmbGV4R3JvdzogdHJ1ZSxcbiAgZmxleFBvc2l0aXZlOiB0cnVlLFxuICBmbGV4U2hyaW5rOiB0cnVlLFxuICBmbGV4TmVnYXRpdmU6IHRydWUsXG4gIGZsZXhPcmRlcjogdHJ1ZSxcbiAgZ3JpZEFyZWE6IHRydWUsXG4gIGdyaWRSb3c6IHRydWUsXG4gIGdyaWRSb3dFbmQ6IHRydWUsXG4gIGdyaWRSb3dTcGFuOiB0cnVlLFxuICBncmlkUm93U3RhcnQ6IHRydWUsXG4gIGdyaWRDb2x1bW46IHRydWUsXG4gIGdyaWRDb2x1bW5FbmQ6IHRydWUsXG4gIGdyaWRDb2x1bW5TcGFuOiB0cnVlLFxuICBncmlkQ29sdW1uU3RhcnQ6IHRydWUsXG4gIGZvbnRXZWlnaHQ6IHRydWUsXG4gIGxpbmVDbGFtcDogdHJ1ZSxcbiAgbGluZUhlaWdodDogdHJ1ZSxcbiAgb3BhY2l0eTogdHJ1ZSxcbiAgb3JkZXI6IHRydWUsXG4gIG9ycGhhbnM6IHRydWUsXG4gIHRhYlNpemU6IHRydWUsXG4gIHdpZG93czogdHJ1ZSxcbiAgekluZGV4OiB0cnVlLFxuICB6b29tOiB0cnVlLFxuICAvLyBTVkctcmVsYXRlZCBwcm9wZXJ0aWVzXG4gIGZpbGxPcGFjaXR5OiB0cnVlLFxuICBmbG9vZE9wYWNpdHk6IHRydWUsXG4gIHN0b3BPcGFjaXR5OiB0cnVlLFxuICBzdHJva2VEYXNoYXJyYXk6IHRydWUsXG4gIHN0cm9rZURhc2hvZmZzZXQ6IHRydWUsXG4gIHN0cm9rZU1pdGVybGltaXQ6IHRydWUsXG4gIHN0cm9rZU9wYWNpdHk6IHRydWUsXG4gIHN0cm9rZVdpZHRoOiB0cnVlXG59O1xuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJlZml4IHZlbmRvci1zcGVjaWZpYyBwcmVmaXgsIGVnOiBXZWJraXRcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgc3R5bGUgbmFtZSwgZWc6IHRyYW5zaXRpb25EdXJhdGlvblxuICogQHJldHVybiB7c3RyaW5nfSBzdHlsZSBuYW1lIHByZWZpeGVkIHdpdGggYHByZWZpeGAsIHByb3Blcmx5IGNhbWVsQ2FzZWQsIGVnOlxuICogV2Via2l0VHJhbnNpdGlvbkR1cmF0aW9uXG4gKi9cblxuZnVuY3Rpb24gcHJlZml4S2V5KHByZWZpeCwga2V5KSB7XG4gIHJldHVybiBwcmVmaXggKyBrZXkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBrZXkuc3Vic3RyaW5nKDEpO1xufVxuLyoqXG4gKiBTdXBwb3J0IHN0eWxlIG5hbWVzIHRoYXQgbWF5IGNvbWUgcGFzc2VkIGluIHByZWZpeGVkIGJ5IGFkZGluZyBwZXJtdXRhdGlvbnNcbiAqIG9mIHZlbmRvciBwcmVmaXhlcy5cbiAqL1xuXG5cbnZhciBwcmVmaXhlcyA9IFsnV2Via2l0JywgJ21zJywgJ01veicsICdPJ107IC8vIFVzaW5nIE9iamVjdC5rZXlzIGhlcmUsIG9yIGVsc2UgdGhlIHZhbmlsbGEgZm9yLWluIGxvb3AgbWFrZXMgSUU4IGdvIGludG8gYW5cbi8vIGluZmluaXRlIGxvb3AsIGJlY2F1c2UgaXQgaXRlcmF0ZXMgb3ZlciB0aGUgbmV3bHkgYWRkZWQgcHJvcHMgdG9vLlxuXG5PYmplY3Qua2V5cyhpc1VuaXRsZXNzTnVtYmVyKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gIHByZWZpeGVzLmZvckVhY2goZnVuY3Rpb24gKHByZWZpeCkge1xuICAgIGlzVW5pdGxlc3NOdW1iZXJbcHJlZml4S2V5KHByZWZpeCwgcHJvcCldID0gaXNVbml0bGVzc051bWJlcltwcm9wXTtcbiAgfSk7XG59KTtcblxuLyoqXG4gKiBDb252ZXJ0IGEgdmFsdWUgaW50byB0aGUgcHJvcGVyIGNzcyB3cml0YWJsZSB2YWx1ZS4gVGhlIHN0eWxlIG5hbWUgYG5hbWVgXG4gKiBzaG91bGQgYmUgbG9naWNhbCAobm8gaHlwaGVucyksIGFzIHNwZWNpZmllZFxuICogaW4gYENTU1Byb3BlcnR5LmlzVW5pdGxlc3NOdW1iZXJgLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIENTUyBwcm9wZXJ0eSBuYW1lIHN1Y2ggYXMgYHRvcE1hcmdpbmAuXG4gKiBAcGFyYW0geyp9IHZhbHVlIENTUyBwcm9wZXJ0eSB2YWx1ZSBzdWNoIGFzIGAxMHB4YC5cbiAqIEByZXR1cm4ge3N0cmluZ30gTm9ybWFsaXplZCBzdHlsZSB2YWx1ZSB3aXRoIGRpbWVuc2lvbnMgYXBwbGllZC5cbiAqL1xuXG5mdW5jdGlvbiBkYW5nZXJvdXNTdHlsZVZhbHVlKG5hbWUsIHZhbHVlLCBpc0N1c3RvbVByb3BlcnR5KSB7XG4gIC8vIE5vdGUgdGhhdCB3ZSd2ZSByZW1vdmVkIGVzY2FwZVRleHRGb3JCcm93c2VyKCkgY2FsbHMgaGVyZSBzaW5jZSB0aGVcbiAgLy8gd2hvbGUgc3RyaW5nIHdpbGwgYmUgZXNjYXBlZCB3aGVuIHRoZSBhdHRyaWJ1dGUgaXMgaW5qZWN0ZWQgaW50b1xuICAvLyB0aGUgbWFya3VwLiBJZiB5b3UgcHJvdmlkZSB1bnNhZmUgdXNlciBkYXRhIGhlcmUgdGhleSBjYW4gaW5qZWN0XG4gIC8vIGFyYml0cmFyeSBDU1Mgd2hpY2ggbWF5IGJlIHByb2JsZW1hdGljIChJIGNvdWxkbid0IHJlcHJvIHRoaXMpOlxuICAvLyBodHRwczovL3d3dy5vd2FzcC5vcmcvaW5kZXgucGhwL1hTU19GaWx0ZXJfRXZhc2lvbl9DaGVhdF9TaGVldFxuICAvLyBodHRwOi8vd3d3LnRoZXNwYW5uZXIuY28udWsvMjAwNy8xMS8yNi91bHRpbWF0ZS14c3MtY3NzLWluamVjdGlvbi9cbiAgLy8gVGhpcyBpcyBub3QgYW4gWFNTIGhvbGUgYnV0IGluc3RlYWQgYSBwb3RlbnRpYWwgQ1NTIGluamVjdGlvbiBpc3N1ZVxuICAvLyB3aGljaCBoYXMgbGVhZCB0byBhIGdyZWF0ZXIgZGlzY3Vzc2lvbiBhYm91dCBob3cgd2UncmUgZ29pbmcgdG9cbiAgLy8gdHJ1c3QgVVJMcyBtb3ZpbmcgZm9yd2FyZC4gU2VlICMyMTE1OTAxXG4gIHZhciBpc0VtcHR5ID0gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XG5cbiAgaWYgKGlzRW1wdHkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhKGlzVW5pdGxlc3NOdW1iZXIuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgaXNVbml0bGVzc051bWJlcltuYW1lXSkpIHtcbiAgICByZXR1cm4gdmFsdWUgKyAncHgnOyAvLyBQcmVzdW1lcyBpbXBsaWNpdCAncHgnIHN1ZmZpeCBmb3IgdW5pdGxlc3MgbnVtYmVyc1xuICB9XG5cbiAge1xuICAgIGNoZWNrQ1NTUHJvcGVydHlTdHJpbmdDb2VyY2lvbih2YWx1ZSwgbmFtZSk7XG4gIH1cblxuICByZXR1cm4gKCcnICsgdmFsdWUpLnRyaW0oKTtcbn1cblxudmFyIHVwcGVyY2FzZVBhdHRlcm4gPSAvKFtBLVpdKS9nO1xudmFyIG1zUGF0dGVybiA9IC9ebXMtLztcbi8qKlxuICogSHlwaGVuYXRlcyBhIGNhbWVsY2FzZWQgQ1NTIHByb3BlcnR5IG5hbWUsIGZvciBleGFtcGxlOlxuICpcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ2JhY2tncm91bmRDb2xvcicpXG4gKiAgIDwgXCJiYWNrZ3JvdW5kLWNvbG9yXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ01velRyYW5zaXRpb24nKVxuICogICA8IFwiLW1vei10cmFuc2l0aW9uXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ21zVHJhbnNpdGlvbicpXG4gKiAgIDwgXCItbXMtdHJhbnNpdGlvblwiXG4gKlxuICogQXMgTW9kZXJuaXpyIHN1Z2dlc3RzIChodHRwOi8vbW9kZXJuaXpyLmNvbS9kb2NzLyNwcmVmaXhlZCksIGFuIGBtc2AgcHJlZml4XG4gKiBpcyBjb252ZXJ0ZWQgdG8gYC1tcy1gLlxuICovXG5cbmZ1bmN0aW9uIGh5cGhlbmF0ZVN0eWxlTmFtZShuYW1lKSB7XG4gIHJldHVybiBuYW1lLnJlcGxhY2UodXBwZXJjYXNlUGF0dGVybiwgJy0kMScpLnRvTG93ZXJDYXNlKCkucmVwbGFjZShtc1BhdHRlcm4sICctbXMtJyk7XG59XG5cbnZhciB3YXJuVmFsaWRTdHlsZSA9IGZ1bmN0aW9uICgpIHt9O1xuXG57XG4gIC8vICdtc1RyYW5zZm9ybScgaXMgY29ycmVjdCwgYnV0IHRoZSBvdGhlciBwcmVmaXhlcyBzaG91bGQgYmUgY2FwaXRhbGl6ZWRcbiAgdmFyIGJhZFZlbmRvcmVkU3R5bGVOYW1lUGF0dGVybiA9IC9eKD86d2Via2l0fG1venxvKVtBLVpdLztcbiAgdmFyIG1zUGF0dGVybiQxID0gL14tbXMtLztcbiAgdmFyIGh5cGhlblBhdHRlcm4gPSAvLSguKS9nOyAvLyBzdHlsZSB2YWx1ZXMgc2hvdWxkbid0IGNvbnRhaW4gYSBzZW1pY29sb25cblxuICB2YXIgYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuID0gLztcXHMqJC87XG4gIHZhciB3YXJuZWRTdHlsZU5hbWVzID0ge307XG4gIHZhciB3YXJuZWRTdHlsZVZhbHVlcyA9IHt9O1xuICB2YXIgd2FybmVkRm9yTmFOVmFsdWUgPSBmYWxzZTtcbiAgdmFyIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSBmYWxzZTtcblxuICB2YXIgY2FtZWxpemUgPSBmdW5jdGlvbiAoc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGh5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChfLCBjaGFyYWN0ZXIpIHtcbiAgICAgIHJldHVybiBjaGFyYWN0ZXIudG9VcHBlckNhc2UoKTtcbiAgICB9KTtcbiAgfTtcblxuICB2YXIgd2Fybkh5cGhlbmF0ZWRTdHlsZU5hbWUgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIGlmICh3YXJuZWRTdHlsZU5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpICYmIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZU5hbWVzW25hbWVdID0gdHJ1ZTtcblxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIC8vIEFzIEFuZGkgU21pdGggc3VnZ2VzdHNcbiAgICAvLyAoaHR0cDovL3d3dy5hbmRpc21pdGguY29tL2Jsb2cvMjAxMi8wMi9tb2Rlcm5penItcHJlZml4ZWQvKSwgYW4gYC1tc2AgcHJlZml4XG4gICAgLy8gaXMgY29udmVydGVkIHRvIGxvd2VyY2FzZSBgbXNgLlxuICAgIGNhbWVsaXplKG5hbWUucmVwbGFjZShtc1BhdHRlcm4kMSwgJ21zLScpKSk7XG4gIH07XG5cbiAgdmFyIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgaWYgKHdhcm5lZFN0eWxlTmFtZXMuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIHZlbmRvci1wcmVmaXhlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIG5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKDEpKTtcbiAgfTtcblxuICB2YXIgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XG4gICAgaWYgKHdhcm5lZFN0eWxlVmFsdWVzLmhhc093blByb3BlcnR5KHZhbHVlKSAmJiB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoXCJTdHlsZSBwcm9wZXJ0eSB2YWx1ZXMgc2hvdWxkbid0IGNvbnRhaW4gYSBzZW1pY29sb24uIFwiICsgJ1RyeSBcIiVzOiAlc1wiIGluc3RlYWQuJywgbmFtZSwgdmFsdWUucmVwbGFjZShiYWRTdHlsZVZhbHVlV2l0aFNlbWljb2xvblBhdHRlcm4sICcnKSk7XG4gIH07XG5cbiAgdmFyIHdhcm5TdHlsZVZhbHVlSXNOYU4gPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAod2FybmVkRm9yTmFOVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRGb3JOYU5WYWx1ZSA9IHRydWU7XG5cbiAgICBlcnJvcignYE5hTmAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xuICB9O1xuXG4gIHZhciB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkgPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAod2FybmVkRm9ySW5maW5pdHlWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSB0cnVlO1xuXG4gICAgZXJyb3IoJ2BJbmZpbml0eWAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xuICB9O1xuXG4gIHdhcm5WYWxpZFN0eWxlID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XG4gICAgaWYgKG5hbWUuaW5kZXhPZignLScpID4gLTEpIHtcbiAgICAgIHdhcm5IeXBoZW5hdGVkU3R5bGVOYW1lKG5hbWUpO1xuICAgIH0gZWxzZSBpZiAoYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuLnRlc3QobmFtZSkpIHtcbiAgICAgIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZShuYW1lKTtcbiAgICB9IGVsc2UgaWYgKGJhZFN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uUGF0dGVybi50ZXN0KHZhbHVlKSkge1xuICAgICAgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgICB3YXJuU3R5bGVWYWx1ZUlzTmFOKG5hbWUsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRmluaXRlKHZhbHVlKSkge1xuICAgICAgICB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkobmFtZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxudmFyIHdhcm5WYWxpZFN0eWxlJDEgPSB3YXJuVmFsaWRTdHlsZTtcblxuLyoqXG4gKiBPcGVyYXRpb25zIGZvciBkZWFsaW5nIHdpdGggQ1NTIHByb3BlcnRpZXMuXG4gKi9cblxuLyoqXG4gKiBUaGlzIGNyZWF0ZXMgYSBzdHJpbmcgdGhhdCBpcyBleHBlY3RlZCB0byBiZSBlcXVpdmFsZW50IHRvIHRoZSBzdHlsZVxuICogYXR0cmlidXRlIGdlbmVyYXRlZCBieSBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuIEl0IGJ5LXBhc3NlcyB3YXJuaW5ncyBhbmRcbiAqIHNlY3VyaXR5IGNoZWNrcyBzbyBpdCdzIG5vdCBzYWZlIHRvIHVzZSB0aGlzIHZhbHVlIGZvciBhbnl0aGluZyBvdGhlciB0aGFuXG4gKiBjb21wYXJpc29uLiBJdCBpcyBvbmx5IHVzZWQgaW4gREVWIGZvciBTU1IgdmFsaWRhdGlvbi5cbiAqL1xuXG5mdW5jdGlvbiBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMoc3R5bGVzKSB7XG4gIHtcbiAgICB2YXIgc2VyaWFsaXplZCA9ICcnO1xuICAgIHZhciBkZWxpbWl0ZXIgPSAnJztcblxuICAgIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcbiAgICAgIGlmICghc3R5bGVzLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBzdHlsZVZhbHVlID0gc3R5bGVzW3N0eWxlTmFtZV07XG5cbiAgICAgIGlmIChzdHlsZVZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgdmFyIGlzQ3VzdG9tUHJvcGVydHkgPSBzdHlsZU5hbWUuaW5kZXhPZignLS0nKSA9PT0gMDtcbiAgICAgICAgc2VyaWFsaXplZCArPSBkZWxpbWl0ZXIgKyAoaXNDdXN0b21Qcm9wZXJ0eSA/IHN0eWxlTmFtZSA6IGh5cGhlbmF0ZVN0eWxlTmFtZShzdHlsZU5hbWUpKSArICc6JztcbiAgICAgICAgc2VyaWFsaXplZCArPSBkYW5nZXJvdXNTdHlsZVZhbHVlKHN0eWxlTmFtZSwgc3R5bGVWYWx1ZSwgaXNDdXN0b21Qcm9wZXJ0eSk7XG4gICAgICAgIGRlbGltaXRlciA9ICc7JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2VyaWFsaXplZCB8fCBudWxsO1xuICB9XG59XG4vKipcbiAqIFNldHMgdGhlIHZhbHVlIGZvciBtdWx0aXBsZSBzdHlsZXMgb24gYSBub2RlLiAgSWYgYSB2YWx1ZSBpcyBzcGVjaWZpZWQgYXNcbiAqICcnIChlbXB0eSBzdHJpbmcpLCB0aGUgY29ycmVzcG9uZGluZyBzdHlsZSBwcm9wZXJ0eSB3aWxsIGJlIHVuc2V0LlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IHN0eWxlc1xuICovXG5cbmZ1bmN0aW9uIHNldFZhbHVlRm9yU3R5bGVzKG5vZGUsIHN0eWxlcykge1xuICB2YXIgc3R5bGUgPSBub2RlLnN0eWxlO1xuXG4gIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcbiAgICBpZiAoIXN0eWxlcy5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgaXNDdXN0b21Qcm9wZXJ0eSA9IHN0eWxlTmFtZS5pbmRleE9mKCctLScpID09PSAwO1xuXG4gICAge1xuICAgICAgaWYgKCFpc0N1c3RvbVByb3BlcnR5KSB7XG4gICAgICAgIHdhcm5WYWxpZFN0eWxlJDEoc3R5bGVOYW1lLCBzdHlsZXNbc3R5bGVOYW1lXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHN0eWxlVmFsdWUgPSBkYW5nZXJvdXNTdHlsZVZhbHVlKHN0eWxlTmFtZSwgc3R5bGVzW3N0eWxlTmFtZV0sIGlzQ3VzdG9tUHJvcGVydHkpO1xuXG4gICAgaWYgKHN0eWxlTmFtZSA9PT0gJ2Zsb2F0Jykge1xuICAgICAgc3R5bGVOYW1lID0gJ2Nzc0Zsb2F0JztcbiAgICB9XG5cbiAgICBpZiAoaXNDdXN0b21Qcm9wZXJ0eSkge1xuICAgICAgc3R5bGUuc2V0UHJvcGVydHkoc3R5bGVOYW1lLCBzdHlsZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVbc3R5bGVOYW1lXSA9IHN0eWxlVmFsdWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzVmFsdWVFbXB0eSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XG59XG4vKipcbiAqIEdpdmVuIHtjb2xvcjogJ3JlZCcsIG92ZXJmbG93OiAnaGlkZGVuJ30gcmV0dXJucyB7XG4gKiAgIGNvbG9yOiAnY29sb3InLFxuICogICBvdmVyZmxvd1g6ICdvdmVyZmxvdycsXG4gKiAgIG92ZXJmbG93WTogJ292ZXJmbG93JyxcbiAqIH0uIFRoaXMgY2FuIGJlIHJlYWQgYXMgXCJ0aGUgb3ZlcmZsb3dZIHByb3BlcnR5IHdhcyBzZXQgYnkgdGhlIG92ZXJmbG93XG4gKiBzaG9ydGhhbmRcIi4gVGhhdCBpcywgdGhlIHZhbHVlcyBhcmUgdGhlIHByb3BlcnR5IHRoYXQgZWFjaCB3YXMgZGVyaXZlZCBmcm9tLlxuICovXG5cblxuZnVuY3Rpb24gZXhwYW5kU2hvcnRoYW5kTWFwKHN0eWxlcykge1xuICB2YXIgZXhwYW5kZWQgPSB7fTtcblxuICBmb3IgKHZhciBrZXkgaW4gc3R5bGVzKSB7XG4gICAgdmFyIGxvbmdoYW5kcyA9IHNob3J0aGFuZFRvTG9uZ2hhbmRba2V5XSB8fCBba2V5XTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbG9uZ2hhbmRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBleHBhbmRlZFtsb25naGFuZHNbaV1dID0ga2V5O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHBhbmRlZDtcbn1cbi8qKlxuICogV2hlbiBtaXhpbmcgc2hvcnRoYW5kIGFuZCBsb25naGFuZCBwcm9wZXJ0eSBuYW1lcywgd2Ugd2FybiBkdXJpbmcgdXBkYXRlcyBpZlxuICogd2UgZXhwZWN0IGFuIGluY29ycmVjdCByZXN1bHQgdG8gb2NjdXIuIEluIHBhcnRpY3VsYXIsIHdlIHdhcm4gZm9yOlxuICpcbiAqIFVwZGF0aW5nIGEgc2hvcnRoYW5kIHByb3BlcnR5IChsb25naGFuZCBnZXRzIG92ZXJ3cml0dGVuKTpcbiAqICAge2ZvbnQ6ICdmb28nLCBmb250VmFyaWFudDogJ2Jhcid9IC0+IHtmb250OiAnYmF6JywgZm9udFZhcmlhbnQ6ICdiYXInfVxuICogICBiZWNvbWVzIC5zdHlsZS5mb250ID0gJ2JheidcbiAqIFJlbW92aW5nIGEgc2hvcnRoYW5kIHByb3BlcnR5IChsb25naGFuZCBnZXRzIGxvc3QgdG9vKTpcbiAqICAge2ZvbnQ6ICdmb28nLCBmb250VmFyaWFudDogJ2Jhcid9IC0+IHtmb250VmFyaWFudDogJ2Jhcid9XG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnQgPSAnJ1xuICogUmVtb3ZpbmcgYSBsb25naGFuZCBwcm9wZXJ0eSAoc2hvdWxkIHJldmVydCB0byBzaG9ydGhhbmQ7IGRvZXNuJ3QpOlxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnQ6ICdmb28nfVxuICogICBiZWNvbWVzIC5zdHlsZS5mb250VmFyaWFudCA9ICcnXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNob3J0aGFuZFByb3BlcnR5Q29sbGlzaW9uSW5EZXYoc3R5bGVVcGRhdGVzLCBuZXh0U3R5bGVzKSB7XG4gIHtcbiAgICBpZiAoIW5leHRTdHlsZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZXhwYW5kZWRVcGRhdGVzID0gZXhwYW5kU2hvcnRoYW5kTWFwKHN0eWxlVXBkYXRlcyk7XG4gICAgdmFyIGV4cGFuZGVkU3R5bGVzID0gZXhwYW5kU2hvcnRoYW5kTWFwKG5leHRTdHlsZXMpO1xuICAgIHZhciB3YXJuZWRBYm91dCA9IHt9O1xuXG4gICAgZm9yICh2YXIga2V5IGluIGV4cGFuZGVkVXBkYXRlcykge1xuICAgICAgdmFyIG9yaWdpbmFsS2V5ID0gZXhwYW5kZWRVcGRhdGVzW2tleV07XG4gICAgICB2YXIgY29ycmVjdE9yaWdpbmFsS2V5ID0gZXhwYW5kZWRTdHlsZXNba2V5XTtcblxuICAgICAgaWYgKGNvcnJlY3RPcmlnaW5hbEtleSAmJiBvcmlnaW5hbEtleSAhPT0gY29ycmVjdE9yaWdpbmFsS2V5KSB7XG4gICAgICAgIHZhciB3YXJuaW5nS2V5ID0gb3JpZ2luYWxLZXkgKyAnLCcgKyBjb3JyZWN0T3JpZ2luYWxLZXk7XG5cbiAgICAgICAgaWYgKHdhcm5lZEFib3V0W3dhcm5pbmdLZXldKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB3YXJuZWRBYm91dFt3YXJuaW5nS2V5XSA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzIGEgc3R5bGUgcHJvcGVydHkgZHVyaW5nIHJlcmVuZGVyICglcykgd2hlbiBhICcgKyAnY29uZmxpY3RpbmcgcHJvcGVydHkgaXMgc2V0ICglcykgY2FuIGxlYWQgdG8gc3R5bGluZyBidWdzLiBUbyAnICsgXCJhdm9pZCB0aGlzLCBkb24ndCBtaXggc2hvcnRoYW5kIGFuZCBub24tc2hvcnRoYW5kIHByb3BlcnRpZXMgXCIgKyAnZm9yIHRoZSBzYW1lIHZhbHVlOyBpbnN0ZWFkLCByZXBsYWNlIHRoZSBzaG9ydGhhbmQgd2l0aCAnICsgJ3NlcGFyYXRlIHZhbHVlcy4nLCBpc1ZhbHVlRW1wdHkoc3R5bGVVcGRhdGVzW29yaWdpbmFsS2V5XSkgPyAnUmVtb3ZpbmcnIDogJ1VwZGF0aW5nJywgb3JpZ2luYWxLZXksIGNvcnJlY3RPcmlnaW5hbEtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZvciBIVE1MLCBjZXJ0YWluIHRhZ3Mgc2hvdWxkIG9taXQgdGhlaXIgY2xvc2UgdGFnLiBXZSBrZWVwIGEgbGlzdCBmb3Jcbi8vIHRob3NlIHNwZWNpYWwtY2FzZSB0YWdzLlxudmFyIG9taXR0ZWRDbG9zZVRhZ3MgPSB7XG4gIGFyZWE6IHRydWUsXG4gIGJhc2U6IHRydWUsXG4gIGJyOiB0cnVlLFxuICBjb2w6IHRydWUsXG4gIGVtYmVkOiB0cnVlLFxuICBocjogdHJ1ZSxcbiAgaW1nOiB0cnVlLFxuICBpbnB1dDogdHJ1ZSxcbiAga2V5Z2VuOiB0cnVlLFxuICBsaW5rOiB0cnVlLFxuICBtZXRhOiB0cnVlLFxuICBwYXJhbTogdHJ1ZSxcbiAgc291cmNlOiB0cnVlLFxuICB0cmFjazogdHJ1ZSxcbiAgd2JyOiB0cnVlIC8vIE5PVEU6IG1lbnVpdGVtJ3MgY2xvc2UgdGFnIHNob3VsZCBiZSBvbWl0dGVkLCBidXQgdGhhdCBjYXVzZXMgcHJvYmxlbXMuXG5cbn07XG5cbi8vIGBvbWl0dGVkQ2xvc2VUYWdzYCBleGNlcHQgdGhhdCBgbWVudWl0ZW1gIHNob3VsZCBzdGlsbCBoYXZlIGl0cyBjbG9zaW5nIHRhZy5cblxudmFyIHZvaWRFbGVtZW50VGFncyA9IGFzc2lnbih7XG4gIG1lbnVpdGVtOiB0cnVlXG59LCBvbWl0dGVkQ2xvc2VUYWdzKTtcblxudmFyIEhUTUwgPSAnX19odG1sJztcblxuZnVuY3Rpb24gYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKSB7XG4gIGlmICghcHJvcHMpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gTm90ZSB0aGUgdXNlIG9mIGA9PWAgd2hpY2ggY2hlY2tzIGZvciBudWxsIG9yIHVuZGVmaW5lZC5cblxuXG4gIGlmICh2b2lkRWxlbWVudFRhZ3NbdGFnXSkge1xuICAgIGlmIChwcm9wcy5jaGlsZHJlbiAhPSBudWxsIHx8IHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0YWcgKyBcIiBpcyBhIHZvaWQgZWxlbWVudCB0YWcgYW5kIG11c3QgbmVpdGhlciBoYXZlIGBjaGlsZHJlbmAgbm9yIFwiICsgJ3VzZSBgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XG4gICAgaWYgKHByb3BzLmNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG9ubHkgc2V0IG9uZSBvZiBgY2hpbGRyZW5gIG9yIGBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTGAuJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gJ29iamVjdCcgfHwgIShIVE1MIGluIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdgcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgIG11c3QgYmUgaW4gdGhlIGZvcm0gYHtfX2h0bWw6IC4uLn1gLiAnICsgJ1BsZWFzZSB2aXNpdCBodHRwczovL3JlYWN0anMub3JnL2xpbmsvZGFuZ2Vyb3VzbHktc2V0LWlubmVyLWh0bWwgJyArICdmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKCFwcm9wcy5zdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcgJiYgcHJvcHMuY29udGVudEVkaXRhYmxlICYmIHByb3BzLmNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIGVycm9yKCdBIGNvbXBvbmVudCBpcyBgY29udGVudEVkaXRhYmxlYCBhbmQgY29udGFpbnMgYGNoaWxkcmVuYCBtYW5hZ2VkIGJ5ICcgKyAnUmVhY3QuIEl0IGlzIG5vdyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIGd1YXJhbnRlZSB0aGF0IG5vbmUgb2YgJyArICd0aG9zZSBub2RlcyBhcmUgdW5leHBlY3RlZGx5IG1vZGlmaWVkIG9yIGR1cGxpY2F0ZWQuIFRoaXMgaXMgJyArICdwcm9iYWJseSBub3QgaW50ZW50aW9uYWwuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb3BzLnN0eWxlICE9IG51bGwgJiYgdHlwZW9mIHByb3BzLnN0eWxlICE9PSAnb2JqZWN0Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGBzdHlsZWAgcHJvcCBleHBlY3RzIGEgbWFwcGluZyBmcm9tIHN0eWxlIHByb3BlcnRpZXMgdG8gdmFsdWVzLCAnICsgXCJub3QgYSBzdHJpbmcuIEZvciBleGFtcGxlLCBzdHlsZT17e21hcmdpblJpZ2h0OiBzcGFjaW5nICsgJ2VtJ319IHdoZW4gXCIgKyAndXNpbmcgSlNYLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzQ3VzdG9tQ29tcG9uZW50KHRhZ05hbWUsIHByb3BzKSB7XG4gIGlmICh0YWdOYW1lLmluZGV4T2YoJy0nKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gdHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJztcbiAgfVxuXG4gIHN3aXRjaCAodGFnTmFtZSkge1xuICAgIC8vIFRoZXNlIGFyZSByZXNlcnZlZCBTVkcgYW5kIE1hdGhNTCBlbGVtZW50cy5cbiAgICAvLyBXZSBkb24ndCBtaW5kIHRoaXMgbGlzdCB0b28gbXVjaCBiZWNhdXNlIHdlIGV4cGVjdCBpdCB0byBuZXZlciBncm93LlxuICAgIC8vIFRoZSBhbHRlcm5hdGl2ZSBpcyB0byB0cmFjayB0aGUgbmFtZXNwYWNlIGluIGEgZmV3IHBsYWNlcyB3aGljaCBpcyBjb252b2x1dGVkLlxuICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvY3VzdG9tLyNjdXN0b20tZWxlbWVudHMtY29yZS1jb25jZXB0c1xuICAgIGNhc2UgJ2Fubm90YXRpb24teG1sJzpcbiAgICBjYXNlICdjb2xvci1wcm9maWxlJzpcbiAgICBjYXNlICdmb250LWZhY2UnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1zcmMnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS11cmknOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1mb3JtYXQnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1uYW1lJzpcbiAgICBjYXNlICdtaXNzaW5nLWdseXBoJzpcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vLyBXaGVuIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBIVE1MIG9yIFNWRyBhbGxvd2VkIGF0dHJpYnV0ZSBsaXN0LCBiZSBzdXJlIHRvXG4vLyBhbHNvIGFkZCB0aGVtIHRvIHRoaXMgbW9kdWxlIHRvIGVuc3VyZSBjYXNpbmcgYW5kIGluY29ycmVjdCBuYW1lXG4vLyB3YXJuaW5ncy5cbnZhciBwb3NzaWJsZVN0YW5kYXJkTmFtZXMgPSB7XG4gIC8vIEhUTUxcbiAgYWNjZXB0OiAnYWNjZXB0JyxcbiAgYWNjZXB0Y2hhcnNldDogJ2FjY2VwdENoYXJzZXQnLFxuICAnYWNjZXB0LWNoYXJzZXQnOiAnYWNjZXB0Q2hhcnNldCcsXG4gIGFjY2Vzc2tleTogJ2FjY2Vzc0tleScsXG4gIGFjdGlvbjogJ2FjdGlvbicsXG4gIGFsbG93ZnVsbHNjcmVlbjogJ2FsbG93RnVsbFNjcmVlbicsXG4gIGFsdDogJ2FsdCcsXG4gIGFzOiAnYXMnLFxuICBhc3luYzogJ2FzeW5jJyxcbiAgYXV0b2NhcGl0YWxpemU6ICdhdXRvQ2FwaXRhbGl6ZScsXG4gIGF1dG9jb21wbGV0ZTogJ2F1dG9Db21wbGV0ZScsXG4gIGF1dG9jb3JyZWN0OiAnYXV0b0NvcnJlY3QnLFxuICBhdXRvZm9jdXM6ICdhdXRvRm9jdXMnLFxuICBhdXRvcGxheTogJ2F1dG9QbGF5JyxcbiAgYXV0b3NhdmU6ICdhdXRvU2F2ZScsXG4gIGNhcHR1cmU6ICdjYXB0dXJlJyxcbiAgY2VsbHBhZGRpbmc6ICdjZWxsUGFkZGluZycsXG4gIGNlbGxzcGFjaW5nOiAnY2VsbFNwYWNpbmcnLFxuICBjaGFsbGVuZ2U6ICdjaGFsbGVuZ2UnLFxuICBjaGFyc2V0OiAnY2hhclNldCcsXG4gIGNoZWNrZWQ6ICdjaGVja2VkJyxcbiAgY2hpbGRyZW46ICdjaGlsZHJlbicsXG4gIGNpdGU6ICdjaXRlJyxcbiAgY2xhc3M6ICdjbGFzc05hbWUnLFxuICBjbGFzc2lkOiAnY2xhc3NJRCcsXG4gIGNsYXNzbmFtZTogJ2NsYXNzTmFtZScsXG4gIGNvbHM6ICdjb2xzJyxcbiAgY29sc3BhbjogJ2NvbFNwYW4nLFxuICBjb250ZW50OiAnY29udGVudCcsXG4gIGNvbnRlbnRlZGl0YWJsZTogJ2NvbnRlbnRFZGl0YWJsZScsXG4gIGNvbnRleHRtZW51OiAnY29udGV4dE1lbnUnLFxuICBjb250cm9sczogJ2NvbnRyb2xzJyxcbiAgY29udHJvbHNsaXN0OiAnY29udHJvbHNMaXN0JyxcbiAgY29vcmRzOiAnY29vcmRzJyxcbiAgY3Jvc3NvcmlnaW46ICdjcm9zc09yaWdpbicsXG4gIGRhbmdlcm91c2x5c2V0aW5uZXJodG1sOiAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnLFxuICBkYXRhOiAnZGF0YScsXG4gIGRhdGV0aW1lOiAnZGF0ZVRpbWUnLFxuICBkZWZhdWx0OiAnZGVmYXVsdCcsXG4gIGRlZmF1bHRjaGVja2VkOiAnZGVmYXVsdENoZWNrZWQnLFxuICBkZWZhdWx0dmFsdWU6ICdkZWZhdWx0VmFsdWUnLFxuICBkZWZlcjogJ2RlZmVyJyxcbiAgZGlyOiAnZGlyJyxcbiAgZGlzYWJsZWQ6ICdkaXNhYmxlZCcsXG4gIGRpc2FibGVwaWN0dXJlaW5waWN0dXJlOiAnZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUnLFxuICBkaXNhYmxlcmVtb3RlcGxheWJhY2s6ICdkaXNhYmxlUmVtb3RlUGxheWJhY2snLFxuICBkb3dubG9hZDogJ2Rvd25sb2FkJyxcbiAgZHJhZ2dhYmxlOiAnZHJhZ2dhYmxlJyxcbiAgZW5jdHlwZTogJ2VuY1R5cGUnLFxuICBlbnRlcmtleWhpbnQ6ICdlbnRlcktleUhpbnQnLFxuICBmb3I6ICdodG1sRm9yJyxcbiAgZm9ybTogJ2Zvcm0nLFxuICBmb3JtbWV0aG9kOiAnZm9ybU1ldGhvZCcsXG4gIGZvcm1hY3Rpb246ICdmb3JtQWN0aW9uJyxcbiAgZm9ybWVuY3R5cGU6ICdmb3JtRW5jVHlwZScsXG4gIGZvcm1ub3ZhbGlkYXRlOiAnZm9ybU5vVmFsaWRhdGUnLFxuICBmb3JtdGFyZ2V0OiAnZm9ybVRhcmdldCcsXG4gIGZyYW1lYm9yZGVyOiAnZnJhbWVCb3JkZXInLFxuICBoZWFkZXJzOiAnaGVhZGVycycsXG4gIGhlaWdodDogJ2hlaWdodCcsXG4gIGhpZGRlbjogJ2hpZGRlbicsXG4gIGhpZ2g6ICdoaWdoJyxcbiAgaHJlZjogJ2hyZWYnLFxuICBocmVmbGFuZzogJ2hyZWZMYW5nJyxcbiAgaHRtbGZvcjogJ2h0bWxGb3InLFxuICBodHRwZXF1aXY6ICdodHRwRXF1aXYnLFxuICAnaHR0cC1lcXVpdic6ICdodHRwRXF1aXYnLFxuICBpY29uOiAnaWNvbicsXG4gIGlkOiAnaWQnLFxuICBpbWFnZXNpemVzOiAnaW1hZ2VTaXplcycsXG4gIGltYWdlc3Jjc2V0OiAnaW1hZ2VTcmNTZXQnLFxuICBpbm5lcmh0bWw6ICdpbm5lckhUTUwnLFxuICBpbnB1dG1vZGU6ICdpbnB1dE1vZGUnLFxuICBpbnRlZ3JpdHk6ICdpbnRlZ3JpdHknLFxuICBpczogJ2lzJyxcbiAgaXRlbWlkOiAnaXRlbUlEJyxcbiAgaXRlbXByb3A6ICdpdGVtUHJvcCcsXG4gIGl0ZW1yZWY6ICdpdGVtUmVmJyxcbiAgaXRlbXNjb3BlOiAnaXRlbVNjb3BlJyxcbiAgaXRlbXR5cGU6ICdpdGVtVHlwZScsXG4gIGtleXBhcmFtczogJ2tleVBhcmFtcycsXG4gIGtleXR5cGU6ICdrZXlUeXBlJyxcbiAga2luZDogJ2tpbmQnLFxuICBsYWJlbDogJ2xhYmVsJyxcbiAgbGFuZzogJ2xhbmcnLFxuICBsaXN0OiAnbGlzdCcsXG4gIGxvb3A6ICdsb29wJyxcbiAgbG93OiAnbG93JyxcbiAgbWFuaWZlc3Q6ICdtYW5pZmVzdCcsXG4gIG1hcmdpbndpZHRoOiAnbWFyZ2luV2lkdGgnLFxuICBtYXJnaW5oZWlnaHQ6ICdtYXJnaW5IZWlnaHQnLFxuICBtYXg6ICdtYXgnLFxuICBtYXhsZW5ndGg6ICdtYXhMZW5ndGgnLFxuICBtZWRpYTogJ21lZGlhJyxcbiAgbWVkaWFncm91cDogJ21lZGlhR3JvdXAnLFxuICBtZXRob2Q6ICdtZXRob2QnLFxuICBtaW46ICdtaW4nLFxuICBtaW5sZW5ndGg6ICdtaW5MZW5ndGgnLFxuICBtdWx0aXBsZTogJ211bHRpcGxlJyxcbiAgbXV0ZWQ6ICdtdXRlZCcsXG4gIG5hbWU6ICduYW1lJyxcbiAgbm9tb2R1bGU6ICdub01vZHVsZScsXG4gIG5vbmNlOiAnbm9uY2UnLFxuICBub3ZhbGlkYXRlOiAnbm9WYWxpZGF0ZScsXG4gIG9wZW46ICdvcGVuJyxcbiAgb3B0aW11bTogJ29wdGltdW0nLFxuICBwYXR0ZXJuOiAncGF0dGVybicsXG4gIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLFxuICBwbGF5c2lubGluZTogJ3BsYXlzSW5saW5lJyxcbiAgcG9zdGVyOiAncG9zdGVyJyxcbiAgcHJlbG9hZDogJ3ByZWxvYWQnLFxuICBwcm9maWxlOiAncHJvZmlsZScsXG4gIHJhZGlvZ3JvdXA6ICdyYWRpb0dyb3VwJyxcbiAgcmVhZG9ubHk6ICdyZWFkT25seScsXG4gIHJlZmVycmVycG9saWN5OiAncmVmZXJyZXJQb2xpY3knLFxuICByZWw6ICdyZWwnLFxuICByZXF1aXJlZDogJ3JlcXVpcmVkJyxcbiAgcmV2ZXJzZWQ6ICdyZXZlcnNlZCcsXG4gIHJvbGU6ICdyb2xlJyxcbiAgcm93czogJ3Jvd3MnLFxuICByb3dzcGFuOiAncm93U3BhbicsXG4gIHNhbmRib3g6ICdzYW5kYm94JyxcbiAgc2NvcGU6ICdzY29wZScsXG4gIHNjb3BlZDogJ3Njb3BlZCcsXG4gIHNjcm9sbGluZzogJ3Njcm9sbGluZycsXG4gIHNlYW1sZXNzOiAnc2VhbWxlc3MnLFxuICBzZWxlY3RlZDogJ3NlbGVjdGVkJyxcbiAgc2hhcGU6ICdzaGFwZScsXG4gIHNpemU6ICdzaXplJyxcbiAgc2l6ZXM6ICdzaXplcycsXG4gIHNwYW46ICdzcGFuJyxcbiAgc3BlbGxjaGVjazogJ3NwZWxsQ2hlY2snLFxuICBzcmM6ICdzcmMnLFxuICBzcmNkb2M6ICdzcmNEb2MnLFxuICBzcmNsYW5nOiAnc3JjTGFuZycsXG4gIHNyY3NldDogJ3NyY1NldCcsXG4gIHN0YXJ0OiAnc3RhcnQnLFxuICBzdGVwOiAnc3RlcCcsXG4gIHN0eWxlOiAnc3R5bGUnLFxuICBzdW1tYXJ5OiAnc3VtbWFyeScsXG4gIHRhYmluZGV4OiAndGFiSW5kZXgnLFxuICB0YXJnZXQ6ICd0YXJnZXQnLFxuICB0aXRsZTogJ3RpdGxlJyxcbiAgdHlwZTogJ3R5cGUnLFxuICB1c2VtYXA6ICd1c2VNYXAnLFxuICB2YWx1ZTogJ3ZhbHVlJyxcbiAgd2lkdGg6ICd3aWR0aCcsXG4gIHdtb2RlOiAnd21vZGUnLFxuICB3cmFwOiAnd3JhcCcsXG4gIC8vIFNWR1xuICBhYm91dDogJ2Fib3V0JyxcbiAgYWNjZW50aGVpZ2h0OiAnYWNjZW50SGVpZ2h0JyxcbiAgJ2FjY2VudC1oZWlnaHQnOiAnYWNjZW50SGVpZ2h0JyxcbiAgYWNjdW11bGF0ZTogJ2FjY3VtdWxhdGUnLFxuICBhZGRpdGl2ZTogJ2FkZGl0aXZlJyxcbiAgYWxpZ25tZW50YmFzZWxpbmU6ICdhbGlnbm1lbnRCYXNlbGluZScsXG4gICdhbGlnbm1lbnQtYmFzZWxpbmUnOiAnYWxpZ25tZW50QmFzZWxpbmUnLFxuICBhbGxvd3Jlb3JkZXI6ICdhbGxvd1Jlb3JkZXInLFxuICBhbHBoYWJldGljOiAnYWxwaGFiZXRpYycsXG4gIGFtcGxpdHVkZTogJ2FtcGxpdHVkZScsXG4gIGFyYWJpY2Zvcm06ICdhcmFiaWNGb3JtJyxcbiAgJ2FyYWJpYy1mb3JtJzogJ2FyYWJpY0Zvcm0nLFxuICBhc2NlbnQ6ICdhc2NlbnQnLFxuICBhdHRyaWJ1dGVuYW1lOiAnYXR0cmlidXRlTmFtZScsXG4gIGF0dHJpYnV0ZXR5cGU6ICdhdHRyaWJ1dGVUeXBlJyxcbiAgYXV0b3JldmVyc2U6ICdhdXRvUmV2ZXJzZScsXG4gIGF6aW11dGg6ICdhemltdXRoJyxcbiAgYmFzZWZyZXF1ZW5jeTogJ2Jhc2VGcmVxdWVuY3knLFxuICBiYXNlbGluZXNoaWZ0OiAnYmFzZWxpbmVTaGlmdCcsXG4gICdiYXNlbGluZS1zaGlmdCc6ICdiYXNlbGluZVNoaWZ0JyxcbiAgYmFzZXByb2ZpbGU6ICdiYXNlUHJvZmlsZScsXG4gIGJib3g6ICdiYm94JyxcbiAgYmVnaW46ICdiZWdpbicsXG4gIGJpYXM6ICdiaWFzJyxcbiAgYnk6ICdieScsXG4gIGNhbGNtb2RlOiAnY2FsY01vZGUnLFxuICBjYXBoZWlnaHQ6ICdjYXBIZWlnaHQnLFxuICAnY2FwLWhlaWdodCc6ICdjYXBIZWlnaHQnLFxuICBjbGlwOiAnY2xpcCcsXG4gIGNsaXBwYXRoOiAnY2xpcFBhdGgnLFxuICAnY2xpcC1wYXRoJzogJ2NsaXBQYXRoJyxcbiAgY2xpcHBhdGh1bml0czogJ2NsaXBQYXRoVW5pdHMnLFxuICBjbGlwcnVsZTogJ2NsaXBSdWxlJyxcbiAgJ2NsaXAtcnVsZSc6ICdjbGlwUnVsZScsXG4gIGNvbG9yOiAnY29sb3InLFxuICBjb2xvcmludGVycG9sYXRpb246ICdjb2xvckludGVycG9sYXRpb24nLFxuICAnY29sb3ItaW50ZXJwb2xhdGlvbic6ICdjb2xvckludGVycG9sYXRpb24nLFxuICBjb2xvcmludGVycG9sYXRpb25maWx0ZXJzOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXG4gIGNvbG9ycHJvZmlsZTogJ2NvbG9yUHJvZmlsZScsXG4gICdjb2xvci1wcm9maWxlJzogJ2NvbG9yUHJvZmlsZScsXG4gIGNvbG9ycmVuZGVyaW5nOiAnY29sb3JSZW5kZXJpbmcnLFxuICAnY29sb3ItcmVuZGVyaW5nJzogJ2NvbG9yUmVuZGVyaW5nJyxcbiAgY29udGVudHNjcmlwdHR5cGU6ICdjb250ZW50U2NyaXB0VHlwZScsXG4gIGNvbnRlbnRzdHlsZXR5cGU6ICdjb250ZW50U3R5bGVUeXBlJyxcbiAgY3Vyc29yOiAnY3Vyc29yJyxcbiAgY3g6ICdjeCcsXG4gIGN5OiAnY3knLFxuICBkOiAnZCcsXG4gIGRhdGF0eXBlOiAnZGF0YXR5cGUnLFxuICBkZWNlbGVyYXRlOiAnZGVjZWxlcmF0ZScsXG4gIGRlc2NlbnQ6ICdkZXNjZW50JyxcbiAgZGlmZnVzZWNvbnN0YW50OiAnZGlmZnVzZUNvbnN0YW50JyxcbiAgZGlyZWN0aW9uOiAnZGlyZWN0aW9uJyxcbiAgZGlzcGxheTogJ2Rpc3BsYXknLFxuICBkaXZpc29yOiAnZGl2aXNvcicsXG4gIGRvbWluYW50YmFzZWxpbmU6ICdkb21pbmFudEJhc2VsaW5lJyxcbiAgJ2RvbWluYW50LWJhc2VsaW5lJzogJ2RvbWluYW50QmFzZWxpbmUnLFxuICBkdXI6ICdkdXInLFxuICBkeDogJ2R4JyxcbiAgZHk6ICdkeScsXG4gIGVkZ2Vtb2RlOiAnZWRnZU1vZGUnLFxuICBlbGV2YXRpb246ICdlbGV2YXRpb24nLFxuICBlbmFibGViYWNrZ3JvdW5kOiAnZW5hYmxlQmFja2dyb3VuZCcsXG4gICdlbmFibGUtYmFja2dyb3VuZCc6ICdlbmFibGVCYWNrZ3JvdW5kJyxcbiAgZW5kOiAnZW5kJyxcbiAgZXhwb25lbnQ6ICdleHBvbmVudCcsXG4gIGV4dGVybmFscmVzb3VyY2VzcmVxdWlyZWQ6ICdleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkJyxcbiAgZmlsbDogJ2ZpbGwnLFxuICBmaWxsb3BhY2l0eTogJ2ZpbGxPcGFjaXR5JyxcbiAgJ2ZpbGwtb3BhY2l0eSc6ICdmaWxsT3BhY2l0eScsXG4gIGZpbGxydWxlOiAnZmlsbFJ1bGUnLFxuICAnZmlsbC1ydWxlJzogJ2ZpbGxSdWxlJyxcbiAgZmlsdGVyOiAnZmlsdGVyJyxcbiAgZmlsdGVycmVzOiAnZmlsdGVyUmVzJyxcbiAgZmlsdGVydW5pdHM6ICdmaWx0ZXJVbml0cycsXG4gIGZsb29kb3BhY2l0eTogJ2Zsb29kT3BhY2l0eScsXG4gICdmbG9vZC1vcGFjaXR5JzogJ2Zsb29kT3BhY2l0eScsXG4gIGZsb29kY29sb3I6ICdmbG9vZENvbG9yJyxcbiAgJ2Zsb29kLWNvbG9yJzogJ2Zsb29kQ29sb3InLFxuICBmb2N1c2FibGU6ICdmb2N1c2FibGUnLFxuICBmb250ZmFtaWx5OiAnZm9udEZhbWlseScsXG4gICdmb250LWZhbWlseSc6ICdmb250RmFtaWx5JyxcbiAgZm9udHNpemU6ICdmb250U2l6ZScsXG4gICdmb250LXNpemUnOiAnZm9udFNpemUnLFxuICBmb250c2l6ZWFkanVzdDogJ2ZvbnRTaXplQWRqdXN0JyxcbiAgJ2ZvbnQtc2l6ZS1hZGp1c3QnOiAnZm9udFNpemVBZGp1c3QnLFxuICBmb250c3RyZXRjaDogJ2ZvbnRTdHJldGNoJyxcbiAgJ2ZvbnQtc3RyZXRjaCc6ICdmb250U3RyZXRjaCcsXG4gIGZvbnRzdHlsZTogJ2ZvbnRTdHlsZScsXG4gICdmb250LXN0eWxlJzogJ2ZvbnRTdHlsZScsXG4gIGZvbnR2YXJpYW50OiAnZm9udFZhcmlhbnQnLFxuICAnZm9udC12YXJpYW50JzogJ2ZvbnRWYXJpYW50JyxcbiAgZm9udHdlaWdodDogJ2ZvbnRXZWlnaHQnLFxuICAnZm9udC13ZWlnaHQnOiAnZm9udFdlaWdodCcsXG4gIGZvcm1hdDogJ2Zvcm1hdCcsXG4gIGZyb206ICdmcm9tJyxcbiAgZng6ICdmeCcsXG4gIGZ5OiAnZnknLFxuICBnMTogJ2cxJyxcbiAgZzI6ICdnMicsXG4gIGdseXBobmFtZTogJ2dseXBoTmFtZScsXG4gICdnbHlwaC1uYW1lJzogJ2dseXBoTmFtZScsXG4gIGdseXBob3JpZW50YXRpb25ob3Jpem9udGFsOiAnZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwnLFxuICAnZ2x5cGgtb3JpZW50YXRpb24taG9yaXpvbnRhbCc6ICdnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCcsXG4gIGdseXBob3JpZW50YXRpb252ZXJ0aWNhbDogJ2dseXBoT3JpZW50YXRpb25WZXJ0aWNhbCcsXG4gICdnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCc6ICdnbHlwaE9yaWVudGF0aW9uVmVydGljYWwnLFxuICBnbHlwaHJlZjogJ2dseXBoUmVmJyxcbiAgZ3JhZGllbnR0cmFuc2Zvcm06ICdncmFkaWVudFRyYW5zZm9ybScsXG4gIGdyYWRpZW50dW5pdHM6ICdncmFkaWVudFVuaXRzJyxcbiAgaGFuZ2luZzogJ2hhbmdpbmcnLFxuICBob3JpemFkdng6ICdob3JpekFkdlgnLFxuICAnaG9yaXotYWR2LXgnOiAnaG9yaXpBZHZYJyxcbiAgaG9yaXpvcmlnaW54OiAnaG9yaXpPcmlnaW5YJyxcbiAgJ2hvcml6LW9yaWdpbi14JzogJ2hvcml6T3JpZ2luWCcsXG4gIGlkZW9ncmFwaGljOiAnaWRlb2dyYXBoaWMnLFxuICBpbWFnZXJlbmRlcmluZzogJ2ltYWdlUmVuZGVyaW5nJyxcbiAgJ2ltYWdlLXJlbmRlcmluZyc6ICdpbWFnZVJlbmRlcmluZycsXG4gIGluMjogJ2luMicsXG4gIGluOiAnaW4nLFxuICBpbmxpc3Q6ICdpbmxpc3QnLFxuICBpbnRlcmNlcHQ6ICdpbnRlcmNlcHQnLFxuICBrMTogJ2sxJyxcbiAgazI6ICdrMicsXG4gIGszOiAnazMnLFxuICBrNDogJ2s0JyxcbiAgazogJ2snLFxuICBrZXJuZWxtYXRyaXg6ICdrZXJuZWxNYXRyaXgnLFxuICBrZXJuZWx1bml0bGVuZ3RoOiAna2VybmVsVW5pdExlbmd0aCcsXG4gIGtlcm5pbmc6ICdrZXJuaW5nJyxcbiAga2V5cG9pbnRzOiAna2V5UG9pbnRzJyxcbiAga2V5c3BsaW5lczogJ2tleVNwbGluZXMnLFxuICBrZXl0aW1lczogJ2tleVRpbWVzJyxcbiAgbGVuZ3RoYWRqdXN0OiAnbGVuZ3RoQWRqdXN0JyxcbiAgbGV0dGVyc3BhY2luZzogJ2xldHRlclNwYWNpbmcnLFxuICAnbGV0dGVyLXNwYWNpbmcnOiAnbGV0dGVyU3BhY2luZycsXG4gIGxpZ2h0aW5nY29sb3I6ICdsaWdodGluZ0NvbG9yJyxcbiAgJ2xpZ2h0aW5nLWNvbG9yJzogJ2xpZ2h0aW5nQ29sb3InLFxuICBsaW1pdGluZ2NvbmVhbmdsZTogJ2xpbWl0aW5nQ29uZUFuZ2xlJyxcbiAgbG9jYWw6ICdsb2NhbCcsXG4gIG1hcmtlcmVuZDogJ21hcmtlckVuZCcsXG4gICdtYXJrZXItZW5kJzogJ21hcmtlckVuZCcsXG4gIG1hcmtlcmhlaWdodDogJ21hcmtlckhlaWdodCcsXG4gIG1hcmtlcm1pZDogJ21hcmtlck1pZCcsXG4gICdtYXJrZXItbWlkJzogJ21hcmtlck1pZCcsXG4gIG1hcmtlcnN0YXJ0OiAnbWFya2VyU3RhcnQnLFxuICAnbWFya2VyLXN0YXJ0JzogJ21hcmtlclN0YXJ0JyxcbiAgbWFya2VydW5pdHM6ICdtYXJrZXJVbml0cycsXG4gIG1hcmtlcndpZHRoOiAnbWFya2VyV2lkdGgnLFxuICBtYXNrOiAnbWFzaycsXG4gIG1hc2tjb250ZW50dW5pdHM6ICdtYXNrQ29udGVudFVuaXRzJyxcbiAgbWFza3VuaXRzOiAnbWFza1VuaXRzJyxcbiAgbWF0aGVtYXRpY2FsOiAnbWF0aGVtYXRpY2FsJyxcbiAgbW9kZTogJ21vZGUnLFxuICBudW1vY3RhdmVzOiAnbnVtT2N0YXZlcycsXG4gIG9mZnNldDogJ29mZnNldCcsXG4gIG9wYWNpdHk6ICdvcGFjaXR5JyxcbiAgb3BlcmF0b3I6ICdvcGVyYXRvcicsXG4gIG9yZGVyOiAnb3JkZXInLFxuICBvcmllbnQ6ICdvcmllbnQnLFxuICBvcmllbnRhdGlvbjogJ29yaWVudGF0aW9uJyxcbiAgb3JpZ2luOiAnb3JpZ2luJyxcbiAgb3ZlcmZsb3c6ICdvdmVyZmxvdycsXG4gIG92ZXJsaW5lcG9zaXRpb246ICdvdmVybGluZVBvc2l0aW9uJyxcbiAgJ292ZXJsaW5lLXBvc2l0aW9uJzogJ292ZXJsaW5lUG9zaXRpb24nLFxuICBvdmVybGluZXRoaWNrbmVzczogJ292ZXJsaW5lVGhpY2tuZXNzJyxcbiAgJ292ZXJsaW5lLXRoaWNrbmVzcyc6ICdvdmVybGluZVRoaWNrbmVzcycsXG4gIHBhaW50b3JkZXI6ICdwYWludE9yZGVyJyxcbiAgJ3BhaW50LW9yZGVyJzogJ3BhaW50T3JkZXInLFxuICBwYW5vc2UxOiAncGFub3NlMScsXG4gICdwYW5vc2UtMSc6ICdwYW5vc2UxJyxcbiAgcGF0aGxlbmd0aDogJ3BhdGhMZW5ndGgnLFxuICBwYXR0ZXJuY29udGVudHVuaXRzOiAncGF0dGVybkNvbnRlbnRVbml0cycsXG4gIHBhdHRlcm50cmFuc2Zvcm06ICdwYXR0ZXJuVHJhbnNmb3JtJyxcbiAgcGF0dGVybnVuaXRzOiAncGF0dGVyblVuaXRzJyxcbiAgcG9pbnRlcmV2ZW50czogJ3BvaW50ZXJFdmVudHMnLFxuICAncG9pbnRlci1ldmVudHMnOiAncG9pbnRlckV2ZW50cycsXG4gIHBvaW50czogJ3BvaW50cycsXG4gIHBvaW50c2F0eDogJ3BvaW50c0F0WCcsXG4gIHBvaW50c2F0eTogJ3BvaW50c0F0WScsXG4gIHBvaW50c2F0ejogJ3BvaW50c0F0WicsXG4gIHByZWZpeDogJ3ByZWZpeCcsXG4gIHByZXNlcnZlYWxwaGE6ICdwcmVzZXJ2ZUFscGhhJyxcbiAgcHJlc2VydmVhc3BlY3RyYXRpbzogJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLFxuICBwcmltaXRpdmV1bml0czogJ3ByaW1pdGl2ZVVuaXRzJyxcbiAgcHJvcGVydHk6ICdwcm9wZXJ0eScsXG4gIHI6ICdyJyxcbiAgcmFkaXVzOiAncmFkaXVzJyxcbiAgcmVmeDogJ3JlZlgnLFxuICByZWZ5OiAncmVmWScsXG4gIHJlbmRlcmluZ2ludGVudDogJ3JlbmRlcmluZ0ludGVudCcsXG4gICdyZW5kZXJpbmctaW50ZW50JzogJ3JlbmRlcmluZ0ludGVudCcsXG4gIHJlcGVhdGNvdW50OiAncmVwZWF0Q291bnQnLFxuICByZXBlYXRkdXI6ICdyZXBlYXREdXInLFxuICByZXF1aXJlZGV4dGVuc2lvbnM6ICdyZXF1aXJlZEV4dGVuc2lvbnMnLFxuICByZXF1aXJlZGZlYXR1cmVzOiAncmVxdWlyZWRGZWF0dXJlcycsXG4gIHJlc291cmNlOiAncmVzb3VyY2UnLFxuICByZXN0YXJ0OiAncmVzdGFydCcsXG4gIHJlc3VsdDogJ3Jlc3VsdCcsXG4gIHJlc3VsdHM6ICdyZXN1bHRzJyxcbiAgcm90YXRlOiAncm90YXRlJyxcbiAgcng6ICdyeCcsXG4gIHJ5OiAncnknLFxuICBzY2FsZTogJ3NjYWxlJyxcbiAgc2VjdXJpdHk6ICdzZWN1cml0eScsXG4gIHNlZWQ6ICdzZWVkJyxcbiAgc2hhcGVyZW5kZXJpbmc6ICdzaGFwZVJlbmRlcmluZycsXG4gICdzaGFwZS1yZW5kZXJpbmcnOiAnc2hhcGVSZW5kZXJpbmcnLFxuICBzbG9wZTogJ3Nsb3BlJyxcbiAgc3BhY2luZzogJ3NwYWNpbmcnLFxuICBzcGVjdWxhcmNvbnN0YW50OiAnc3BlY3VsYXJDb25zdGFudCcsXG4gIHNwZWN1bGFyZXhwb25lbnQ6ICdzcGVjdWxhckV4cG9uZW50JyxcbiAgc3BlZWQ6ICdzcGVlZCcsXG4gIHNwcmVhZG1ldGhvZDogJ3NwcmVhZE1ldGhvZCcsXG4gIHN0YXJ0b2Zmc2V0OiAnc3RhcnRPZmZzZXQnLFxuICBzdGRkZXZpYXRpb246ICdzdGREZXZpYXRpb24nLFxuICBzdGVtaDogJ3N0ZW1oJyxcbiAgc3RlbXY6ICdzdGVtdicsXG4gIHN0aXRjaHRpbGVzOiAnc3RpdGNoVGlsZXMnLFxuICBzdG9wY29sb3I6ICdzdG9wQ29sb3InLFxuICAnc3RvcC1jb2xvcic6ICdzdG9wQ29sb3InLFxuICBzdG9wb3BhY2l0eTogJ3N0b3BPcGFjaXR5JyxcbiAgJ3N0b3Atb3BhY2l0eSc6ICdzdG9wT3BhY2l0eScsXG4gIHN0cmlrZXRocm91Z2hwb3NpdGlvbjogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXG4gICdzdHJpa2V0aHJvdWdoLXBvc2l0aW9uJzogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXG4gIHN0cmlrZXRocm91Z2h0aGlja25lc3M6ICdzdHJpa2V0aHJvdWdoVGhpY2tuZXNzJyxcbiAgJ3N0cmlrZXRocm91Z2gtdGhpY2tuZXNzJzogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxuICBzdHJpbmc6ICdzdHJpbmcnLFxuICBzdHJva2U6ICdzdHJva2UnLFxuICBzdHJva2VkYXNoYXJyYXk6ICdzdHJva2VEYXNoYXJyYXknLFxuICAnc3Ryb2tlLWRhc2hhcnJheSc6ICdzdHJva2VEYXNoYXJyYXknLFxuICBzdHJva2VkYXNob2Zmc2V0OiAnc3Ryb2tlRGFzaG9mZnNldCcsXG4gICdzdHJva2UtZGFzaG9mZnNldCc6ICdzdHJva2VEYXNob2Zmc2V0JyxcbiAgc3Ryb2tlbGluZWNhcDogJ3N0cm9rZUxpbmVjYXAnLFxuICAnc3Ryb2tlLWxpbmVjYXAnOiAnc3Ryb2tlTGluZWNhcCcsXG4gIHN0cm9rZWxpbmVqb2luOiAnc3Ryb2tlTGluZWpvaW4nLFxuICAnc3Ryb2tlLWxpbmVqb2luJzogJ3N0cm9rZUxpbmVqb2luJyxcbiAgc3Ryb2tlbWl0ZXJsaW1pdDogJ3N0cm9rZU1pdGVybGltaXQnLFxuICAnc3Ryb2tlLW1pdGVybGltaXQnOiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXG4gIHN0cm9rZXdpZHRoOiAnc3Ryb2tlV2lkdGgnLFxuICAnc3Ryb2tlLXdpZHRoJzogJ3N0cm9rZVdpZHRoJyxcbiAgc3Ryb2tlb3BhY2l0eTogJ3N0cm9rZU9wYWNpdHknLFxuICAnc3Ryb2tlLW9wYWNpdHknOiAnc3Ryb2tlT3BhY2l0eScsXG4gIHN1cHByZXNzY29udGVudGVkaXRhYmxld2FybmluZzogJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZycsXG4gIHN1cHByZXNzaHlkcmF0aW9ud2FybmluZzogJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsXG4gIHN1cmZhY2VzY2FsZTogJ3N1cmZhY2VTY2FsZScsXG4gIHN5c3RlbWxhbmd1YWdlOiAnc3lzdGVtTGFuZ3VhZ2UnLFxuICB0YWJsZXZhbHVlczogJ3RhYmxlVmFsdWVzJyxcbiAgdGFyZ2V0eDogJ3RhcmdldFgnLFxuICB0YXJnZXR5OiAndGFyZ2V0WScsXG4gIHRleHRhbmNob3I6ICd0ZXh0QW5jaG9yJyxcbiAgJ3RleHQtYW5jaG9yJzogJ3RleHRBbmNob3InLFxuICB0ZXh0ZGVjb3JhdGlvbjogJ3RleHREZWNvcmF0aW9uJyxcbiAgJ3RleHQtZGVjb3JhdGlvbic6ICd0ZXh0RGVjb3JhdGlvbicsXG4gIHRleHRsZW5ndGg6ICd0ZXh0TGVuZ3RoJyxcbiAgdGV4dHJlbmRlcmluZzogJ3RleHRSZW5kZXJpbmcnLFxuICAndGV4dC1yZW5kZXJpbmcnOiAndGV4dFJlbmRlcmluZycsXG4gIHRvOiAndG8nLFxuICB0cmFuc2Zvcm06ICd0cmFuc2Zvcm0nLFxuICB0eXBlb2Y6ICd0eXBlb2YnLFxuICB1MTogJ3UxJyxcbiAgdTI6ICd1MicsXG4gIHVuZGVybGluZXBvc2l0aW9uOiAndW5kZXJsaW5lUG9zaXRpb24nLFxuICAndW5kZXJsaW5lLXBvc2l0aW9uJzogJ3VuZGVybGluZVBvc2l0aW9uJyxcbiAgdW5kZXJsaW5ldGhpY2tuZXNzOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcbiAgJ3VuZGVybGluZS10aGlja25lc3MnOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcbiAgdW5pY29kZTogJ3VuaWNvZGUnLFxuICB1bmljb2RlYmlkaTogJ3VuaWNvZGVCaWRpJyxcbiAgJ3VuaWNvZGUtYmlkaSc6ICd1bmljb2RlQmlkaScsXG4gIHVuaWNvZGVyYW5nZTogJ3VuaWNvZGVSYW5nZScsXG4gICd1bmljb2RlLXJhbmdlJzogJ3VuaWNvZGVSYW5nZScsXG4gIHVuaXRzcGVyZW06ICd1bml0c1BlckVtJyxcbiAgJ3VuaXRzLXBlci1lbSc6ICd1bml0c1BlckVtJyxcbiAgdW5zZWxlY3RhYmxlOiAndW5zZWxlY3RhYmxlJyxcbiAgdmFscGhhYmV0aWM6ICd2QWxwaGFiZXRpYycsXG4gICd2LWFscGhhYmV0aWMnOiAndkFscGhhYmV0aWMnLFxuICB2YWx1ZXM6ICd2YWx1ZXMnLFxuICB2ZWN0b3JlZmZlY3Q6ICd2ZWN0b3JFZmZlY3QnLFxuICAndmVjdG9yLWVmZmVjdCc6ICd2ZWN0b3JFZmZlY3QnLFxuICB2ZXJzaW9uOiAndmVyc2lvbicsXG4gIHZlcnRhZHZ5OiAndmVydEFkdlknLFxuICAndmVydC1hZHYteSc6ICd2ZXJ0QWR2WScsXG4gIHZlcnRvcmlnaW54OiAndmVydE9yaWdpblgnLFxuICAndmVydC1vcmlnaW4teCc6ICd2ZXJ0T3JpZ2luWCcsXG4gIHZlcnRvcmlnaW55OiAndmVydE9yaWdpblknLFxuICAndmVydC1vcmlnaW4teSc6ICd2ZXJ0T3JpZ2luWScsXG4gIHZoYW5naW5nOiAndkhhbmdpbmcnLFxuICAndi1oYW5naW5nJzogJ3ZIYW5naW5nJyxcbiAgdmlkZW9ncmFwaGljOiAndklkZW9ncmFwaGljJyxcbiAgJ3YtaWRlb2dyYXBoaWMnOiAndklkZW9ncmFwaGljJyxcbiAgdmlld2JveDogJ3ZpZXdCb3gnLFxuICB2aWV3dGFyZ2V0OiAndmlld1RhcmdldCcsXG4gIHZpc2liaWxpdHk6ICd2aXNpYmlsaXR5JyxcbiAgdm1hdGhlbWF0aWNhbDogJ3ZNYXRoZW1hdGljYWwnLFxuICAndi1tYXRoZW1hdGljYWwnOiAndk1hdGhlbWF0aWNhbCcsXG4gIHZvY2FiOiAndm9jYWInLFxuICB3aWR0aHM6ICd3aWR0aHMnLFxuICB3b3Jkc3BhY2luZzogJ3dvcmRTcGFjaW5nJyxcbiAgJ3dvcmQtc3BhY2luZyc6ICd3b3JkU3BhY2luZycsXG4gIHdyaXRpbmdtb2RlOiAnd3JpdGluZ01vZGUnLFxuICAnd3JpdGluZy1tb2RlJzogJ3dyaXRpbmdNb2RlJyxcbiAgeDE6ICd4MScsXG4gIHgyOiAneDInLFxuICB4OiAneCcsXG4gIHhjaGFubmVsc2VsZWN0b3I6ICd4Q2hhbm5lbFNlbGVjdG9yJyxcbiAgeGhlaWdodDogJ3hIZWlnaHQnLFxuICAneC1oZWlnaHQnOiAneEhlaWdodCcsXG4gIHhsaW5rYWN0dWF0ZTogJ3hsaW5rQWN0dWF0ZScsXG4gICd4bGluazphY3R1YXRlJzogJ3hsaW5rQWN0dWF0ZScsXG4gIHhsaW5rYXJjcm9sZTogJ3hsaW5rQXJjcm9sZScsXG4gICd4bGluazphcmNyb2xlJzogJ3hsaW5rQXJjcm9sZScsXG4gIHhsaW5raHJlZjogJ3hsaW5rSHJlZicsXG4gICd4bGluazpocmVmJzogJ3hsaW5rSHJlZicsXG4gIHhsaW5rcm9sZTogJ3hsaW5rUm9sZScsXG4gICd4bGluazpyb2xlJzogJ3hsaW5rUm9sZScsXG4gIHhsaW5rc2hvdzogJ3hsaW5rU2hvdycsXG4gICd4bGluazpzaG93JzogJ3hsaW5rU2hvdycsXG4gIHhsaW5rdGl0bGU6ICd4bGlua1RpdGxlJyxcbiAgJ3hsaW5rOnRpdGxlJzogJ3hsaW5rVGl0bGUnLFxuICB4bGlua3R5cGU6ICd4bGlua1R5cGUnLFxuICAneGxpbms6dHlwZSc6ICd4bGlua1R5cGUnLFxuICB4bWxiYXNlOiAneG1sQmFzZScsXG4gICd4bWw6YmFzZSc6ICd4bWxCYXNlJyxcbiAgeG1sbGFuZzogJ3htbExhbmcnLFxuICAneG1sOmxhbmcnOiAneG1sTGFuZycsXG4gIHhtbG5zOiAneG1sbnMnLFxuICAneG1sOnNwYWNlJzogJ3htbFNwYWNlJyxcbiAgeG1sbnN4bGluazogJ3htbG5zWGxpbmsnLFxuICAneG1sbnM6eGxpbmsnOiAneG1sbnNYbGluaycsXG4gIHhtbHNwYWNlOiAneG1sU3BhY2UnLFxuICB5MTogJ3kxJyxcbiAgeTI6ICd5MicsXG4gIHk6ICd5JyxcbiAgeWNoYW5uZWxzZWxlY3RvcjogJ3lDaGFubmVsU2VsZWN0b3InLFxuICB6OiAneicsXG4gIHpvb21hbmRwYW46ICd6b29tQW5kUGFuJ1xufTtcblxudmFyIGFyaWFQcm9wZXJ0aWVzID0ge1xuICAnYXJpYS1jdXJyZW50JzogMCxcbiAgLy8gc3RhdGVcbiAgJ2FyaWEtZGVzY3JpcHRpb24nOiAwLFxuICAnYXJpYS1kZXRhaWxzJzogMCxcbiAgJ2FyaWEtZGlzYWJsZWQnOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1oaWRkZW4nOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1pbnZhbGlkJzogMCxcbiAgLy8gc3RhdGVcbiAgJ2FyaWEta2V5c2hvcnRjdXRzJzogMCxcbiAgJ2FyaWEtbGFiZWwnOiAwLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiAwLFxuICAvLyBXaWRnZXQgQXR0cmlidXRlc1xuICAnYXJpYS1hdXRvY29tcGxldGUnOiAwLFxuICAnYXJpYS1jaGVja2VkJzogMCxcbiAgJ2FyaWEtZXhwYW5kZWQnOiAwLFxuICAnYXJpYS1oYXNwb3B1cCc6IDAsXG4gICdhcmlhLWxldmVsJzogMCxcbiAgJ2FyaWEtbW9kYWwnOiAwLFxuICAnYXJpYS1tdWx0aWxpbmUnOiAwLFxuICAnYXJpYS1tdWx0aXNlbGVjdGFibGUnOiAwLFxuICAnYXJpYS1vcmllbnRhdGlvbic6IDAsXG4gICdhcmlhLXBsYWNlaG9sZGVyJzogMCxcbiAgJ2FyaWEtcHJlc3NlZCc6IDAsXG4gICdhcmlhLXJlYWRvbmx5JzogMCxcbiAgJ2FyaWEtcmVxdWlyZWQnOiAwLFxuICAnYXJpYS1zZWxlY3RlZCc6IDAsXG4gICdhcmlhLXNvcnQnOiAwLFxuICAnYXJpYS12YWx1ZW1heCc6IDAsXG4gICdhcmlhLXZhbHVlbWluJzogMCxcbiAgJ2FyaWEtdmFsdWVub3cnOiAwLFxuICAnYXJpYS12YWx1ZXRleHQnOiAwLFxuICAvLyBMaXZlIFJlZ2lvbiBBdHRyaWJ1dGVzXG4gICdhcmlhLWF0b21pYyc6IDAsXG4gICdhcmlhLWJ1c3knOiAwLFxuICAnYXJpYS1saXZlJzogMCxcbiAgJ2FyaWEtcmVsZXZhbnQnOiAwLFxuICAvLyBEcmFnLWFuZC1Ecm9wIEF0dHJpYnV0ZXNcbiAgJ2FyaWEtZHJvcGVmZmVjdCc6IDAsXG4gICdhcmlhLWdyYWJiZWQnOiAwLFxuICAvLyBSZWxhdGlvbnNoaXAgQXR0cmlidXRlc1xuICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50JzogMCxcbiAgJ2FyaWEtY29sY291bnQnOiAwLFxuICAnYXJpYS1jb2xpbmRleCc6IDAsXG4gICdhcmlhLWNvbHNwYW4nOiAwLFxuICAnYXJpYS1jb250cm9scyc6IDAsXG4gICdhcmlhLWRlc2NyaWJlZGJ5JzogMCxcbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJzogMCxcbiAgJ2FyaWEtZmxvd3RvJzogMCxcbiAgJ2FyaWEtbGFiZWxsZWRieSc6IDAsXG4gICdhcmlhLW93bnMnOiAwLFxuICAnYXJpYS1wb3NpbnNldCc6IDAsXG4gICdhcmlhLXJvd2NvdW50JzogMCxcbiAgJ2FyaWEtcm93aW5kZXgnOiAwLFxuICAnYXJpYS1yb3dzcGFuJzogMCxcbiAgJ2FyaWEtc2V0c2l6ZSc6IDBcbn07XG5cbnZhciB3YXJuZWRQcm9wZXJ0aWVzID0ge307XG52YXIgckFSSUEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbnZhciByQVJJQUNhbWVsID0gbmV3IFJlZ0V4cCgnXihhcmlhKVtBLVpdWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHRhZ05hbWUsIG5hbWUpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHdhcm5lZFByb3BlcnRpZXMsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChyQVJJQUNhbWVsLnRlc3QobmFtZSkpIHtcbiAgICAgIHZhciBhcmlhTmFtZSA9ICdhcmlhLScgKyBuYW1lLnNsaWNlKDQpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgY29ycmVjdE5hbWUgPSBhcmlhUHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShhcmlhTmFtZSkgPyBhcmlhTmFtZSA6IG51bGw7IC8vIElmIHRoaXMgaXMgYW4gYXJpYS0qIGF0dHJpYnV0ZSwgYnV0IGlzIG5vdCBsaXN0ZWQgaW4gdGhlIGtub3duIERPTVxuICAgICAgLy8gRE9NIHByb3BlcnRpZXMsIHRoZW4gaXQgaXMgYW4gaW52YWxpZCBhcmlhLSogYXR0cmlidXRlLlxuXG4gICAgICBpZiAoY29ycmVjdE5hbWUgPT0gbnVsbCkge1xuICAgICAgICBlcnJvcignSW52YWxpZCBBUklBIGF0dHJpYnV0ZSBgJXNgLiBBUklBIGF0dHJpYnV0ZXMgZm9sbG93IHRoZSBwYXR0ZXJuIGFyaWEtKiBhbmQgbXVzdCBiZSBsb3dlcmNhc2UuJywgbmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gY29ycmVjdE5hbWUpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgQVJJQSBhdHRyaWJ1dGUgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgY29ycmVjdE5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAockFSSUEudGVzdChuYW1lKSkge1xuICAgICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IGFyaWFQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSA/IGxvd2VyQ2FzZWROYW1lIDogbnVsbDsgLy8gSWYgdGhpcyBpcyBhbiBhcmlhLSogYXR0cmlidXRlLCBidXQgaXMgbm90IGxpc3RlZCBpbiB0aGUga25vd24gRE9NXG4gICAgICAvLyBET00gcHJvcGVydGllcywgdGhlbiBpdCBpcyBhbiBpbnZhbGlkIGFyaWEtKiBhdHRyaWJ1dGUuXG5cbiAgICAgIGlmIChzdGFuZGFyZE5hbWUgPT0gbnVsbCkge1xuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gc3RhbmRhcmROYW1lKSB7XG4gICAgICAgIGVycm9yKCdVbmtub3duIEFSSUEgYXR0cmlidXRlIGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHN0YW5kYXJkTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiB3YXJuSW52YWxpZEFSSUFQcm9wcyh0eXBlLCBwcm9wcykge1xuICB7XG4gICAgdmFyIGludmFsaWRQcm9wcyA9IFtdO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgICB2YXIgaXNWYWxpZCA9IHZhbGlkYXRlUHJvcGVydHkodHlwZSwga2V5KTtcblxuICAgICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICAgIGludmFsaWRQcm9wcy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHVua25vd25Qcm9wU3RyaW5nID0gaW52YWxpZFByb3BzLm1hcChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgcmV0dXJuICdgJyArIHByb3AgKyAnYCc7XG4gICAgfSkuam9pbignLCAnKTtcblxuICAgIGlmIChpbnZhbGlkUHJvcHMubGVuZ3RoID09PSAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBhcmlhIHByb3AgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1hcmlhLXByb3BzJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH0gZWxzZSBpZiAoaW52YWxpZFByb3BzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIGFyaWEgcHJvcHMgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1hcmlhLXByb3BzJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnRpZXModHlwZSwgcHJvcHMpIHtcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdhcm5JbnZhbGlkQVJJQVByb3BzKHR5cGUsIHByb3BzKTtcbn1cblxudmFyIGRpZFdhcm5WYWx1ZU51bGwgPSBmYWxzZTtcbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyQxKHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAodHlwZSAhPT0gJ2lucHV0JyAmJiB0eXBlICE9PSAndGV4dGFyZWEnICYmIHR5cGUgIT09ICdzZWxlY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByb3BzICE9IG51bGwgJiYgcHJvcHMudmFsdWUgPT09IG51bGwgJiYgIWRpZFdhcm5WYWx1ZU51bGwpIHtcbiAgICAgIGRpZFdhcm5WYWx1ZU51bGwgPSB0cnVlO1xuXG4gICAgICBpZiAodHlwZSA9PT0gJ3NlbGVjdCcgJiYgcHJvcHMubXVsdGlwbGUpIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBhcnJheSB3aGVuIGBtdWx0aXBsZWAgaXMgc2V0IHRvIGB0cnVlYCAnICsgJ3RvIGNsZWFyIHRoZSBjb21wb25lbnQgb3IgYHVuZGVmaW5lZGAgZm9yIHVuY29udHJvbGxlZCBjb21wb25lbnRzLicsIHR5cGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBzdHJpbmcgdG8gY2xlYXIgdGhlIGNvbXBvbmVudCBvciBgdW5kZWZpbmVkYCAnICsgJ2ZvciB1bmNvbnRyb2xsZWQgY29tcG9uZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIHZhbGlkYXRlUHJvcGVydHkkMSA9IGZ1bmN0aW9uICgpIHt9O1xuXG57XG4gIHZhciB3YXJuZWRQcm9wZXJ0aWVzJDEgPSB7fTtcbiAgdmFyIEVWRU5UX05BTUVfUkVHRVggPSAvXm9uLi87XG4gIHZhciBJTlZBTElEX0VWRU5UX05BTUVfUkVHRVggPSAvXm9uW15BLVpdLztcbiAgdmFyIHJBUklBJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbiAgdmFyIHJBUklBQ2FtZWwkMSA9IG5ldyBSZWdFeHAoJ14oYXJpYSlbQS1aXVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcblxuICB2YWxpZGF0ZVByb3BlcnR5JDEgPSBmdW5jdGlvbiAodGFnTmFtZSwgbmFtZSwgdmFsdWUsIGV2ZW50UmVnaXN0cnkpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzJDEsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnb25mb2N1c2luJyB8fCBsb3dlckNhc2VkTmFtZSA9PT0gJ29uZm9jdXNvdXQnKSB7XG4gICAgICBlcnJvcignUmVhY3QgdXNlcyBvbkZvY3VzIGFuZCBvbkJsdXIgaW5zdGVhZCBvZiBvbkZvY3VzSW4gYW5kIG9uRm9jdXNPdXQuICcgKyAnQWxsIFJlYWN0IGV2ZW50cyBhcmUgbm9ybWFsaXplZCB0byBidWJibGUsIHNvIG9uRm9jdXNJbiBhbmQgb25Gb2N1c091dCAnICsgJ2FyZSBub3QgbmVlZGVkL3N1cHBvcnRlZCBieSBSZWFjdC4nKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gLy8gV2UgY2FuJ3QgcmVseSBvbiB0aGUgZXZlbnQgc3lzdGVtIGJlaW5nIGluamVjdGVkIG9uIHRoZSBzZXJ2ZXIuXG5cblxuICAgIGlmIChldmVudFJlZ2lzdHJ5ICE9IG51bGwpIHtcbiAgICAgIHZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0gZXZlbnRSZWdpc3RyeS5yZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLFxuICAgICAgICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMgPSBldmVudFJlZ2lzdHJ5LnBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXM7XG5cbiAgICAgIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVnaXN0cmF0aW9uTmFtZSA9IHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpID8gcG9zc2libGVSZWdpc3RyYXRpb25OYW1lc1tsb3dlckNhc2VkTmFtZV0gOiBudWxsO1xuXG4gICAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSAhPSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIGV2ZW50IGhhbmRsZXIgcHJvcGVydHkgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChFVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgICAgZXJyb3IoJ1Vua25vd24gZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiBJdCB3aWxsIGJlIGlnbm9yZWQuJywgbmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChFVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgIC8vIElmIG5vIGV2ZW50IHBsdWdpbnMgaGF2ZSBiZWVuIGluamVjdGVkLCB3ZSBhcmUgaW4gYSBzZXJ2ZXIgZW52aXJvbm1lbnQuXG4gICAgICAvLyBTbyB3ZSBjYW4ndCB0ZWxsIGlmIHRoZSBldmVudCBuYW1lIGlzIGNvcnJlY3QgZm9yIHN1cmUsIGJ1dCB3ZSBjYW4gZmlsdGVyXG4gICAgICAvLyBvdXQga25vd24gYmFkIG9uZXMgbGlrZSBgb25jbGlja2AuIFdlIGNhbid0IHN1Z2dlc3QgYSBzcGVjaWZpYyByZXBsYWNlbWVudCB0aG91Z2guXG4gICAgICBpZiAoSU5WQUxJRF9FVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiAnICsgJ1JlYWN0IGV2ZW50cyB1c2UgdGhlIGNhbWVsQ2FzZSBuYW1pbmcgY29udmVudGlvbiwgZm9yIGV4YW1wbGUgYG9uQ2xpY2tgLicsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBMZXQgdGhlIEFSSUEgYXR0cmlidXRlIGhvb2sgdmFsaWRhdGUgQVJJQSBhdHRyaWJ1dGVzXG5cblxuICAgIGlmIChyQVJJQSQxLnRlc3QobmFtZSkgfHwgckFSSUFDYW1lbCQxLnRlc3QobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lubmVyaHRtbCcpIHtcbiAgICAgIGVycm9yKCdEaXJlY3RseSBzZXR0aW5nIHByb3BlcnR5IGBpbm5lckhUTUxgIGlzIG5vdCBwZXJtaXR0ZWQuICcgKyAnRm9yIG1vcmUgaW5mb3JtYXRpb24sIGxvb2t1cCBkb2N1bWVudGF0aW9uIG9uIGBkYW5nZXJvdXNseVNldElubmVySFRNTGAuJyk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJDYXNlZE5hbWUgPT09ICdhcmlhJykge1xuICAgICAgZXJyb3IoJ1RoZSBgYXJpYWAgYXR0cmlidXRlIGlzIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlIGluIFJlYWN0LiAnICsgJ1Bhc3MgaW5kaXZpZHVhbCBgYXJpYS1gIGF0dHJpYnV0ZXMgaW5zdGVhZC4nKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lzJyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhIGAlc2AgZm9yIGEgc3RyaW5nIGF0dHJpYnV0ZSBgaXNgLiBJZiB0aGlzIGlzIGV4cGVjdGVkLCBjYXN0ICcgKyAndGhlIHZhbHVlIHRvIGEgc3RyaW5nLicsIHR5cGVvZiB2YWx1ZSk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBpc05hTih2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBOYU4gZm9yIHRoZSBgJXNgIGF0dHJpYnV0ZS4gSWYgdGhpcyBpcyBleHBlY3RlZCwgY2FzdCAnICsgJ3RoZSB2YWx1ZSB0byBhIHN0cmluZy4nLCBuYW1lKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhciBwcm9wZXJ0eUluZm8gPSBnZXRQcm9wZXJ0eUluZm8obmFtZSk7XG4gICAgdmFyIGlzUmVzZXJ2ZWQgPSBwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEOyAvLyBLbm93biBhdHRyaWJ1dGVzIHNob3VsZCBtYXRjaCB0aGUgY2FzaW5nIHNwZWNpZmllZCBpbiB0aGUgcHJvcGVydHkgY29uZmlnLlxuXG4gICAgaWYgKHBvc3NpYmxlU3RhbmRhcmROYW1lcy5oYXNPd25Qcm9wZXJ0eShsb3dlckNhc2VkTmFtZSkpIHtcbiAgICAgIHZhciBzdGFuZGFyZE5hbWUgPSBwb3NzaWJsZVN0YW5kYXJkTmFtZXNbbG93ZXJDYXNlZE5hbWVdO1xuXG4gICAgICBpZiAoc3RhbmRhcmROYW1lICE9PSBuYW1lKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIERPTSBwcm9wZXJ0eSBgJXNgLiBEaWQgeW91IG1lYW4gYCVzYD8nLCBuYW1lLCBzdGFuZGFyZE5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWlzUmVzZXJ2ZWQgJiYgbmFtZSAhPT0gbG93ZXJDYXNlZE5hbWUpIHtcbiAgICAgIC8vIFVua25vd24gYXR0cmlidXRlcyBzaG91bGQgaGF2ZSBsb3dlcmNhc2UgY2FzaW5nIHNpbmNlIHRoYXQncyBob3cgdGhleVxuICAgICAgLy8gd2lsbCBiZSBjYXNlZCBhbnl3YXkgd2l0aCBzZXJ2ZXIgcmVuZGVyaW5nLlxuICAgICAgZXJyb3IoJ1JlYWN0IGRvZXMgbm90IHJlY29nbml6ZSB0aGUgYCVzYCBwcm9wIG9uIGEgRE9NIGVsZW1lbnQuIElmIHlvdSAnICsgJ2ludGVudGlvbmFsbHkgd2FudCBpdCB0byBhcHBlYXIgaW4gdGhlIERPTSBhcyBhIGN1c3RvbSAnICsgJ2F0dHJpYnV0ZSwgc3BlbGwgaXQgYXMgbG93ZXJjYXNlIGAlc2AgaW5zdGVhZC4gJyArICdJZiB5b3UgYWNjaWRlbnRhbGx5IHBhc3NlZCBpdCBmcm9tIGEgcGFyZW50IGNvbXBvbmVudCwgcmVtb3ZlICcgKyAnaXQgZnJvbSB0aGUgRE9NIGVsZW1lbnQuJywgbmFtZSwgbG93ZXJDYXNlZE5hbWUpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nICYmIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVdpdGhXYXJuaW5nKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcblxcbicgKyAnSWYgeW91IHdhbnQgdG8gd3JpdGUgaXQgdG8gdGhlIERPTSwgcGFzcyBhIHN0cmluZyBpbnN0ZWFkOiAnICsgJyVzPVwiJXNcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uJywgdmFsdWUsIG5hbWUsIG5hbWUsIHZhbHVlLCBuYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcblxcbicgKyAnSWYgeW91IHdhbnQgdG8gd3JpdGUgaXQgdG8gdGhlIERPTSwgcGFzcyBhIHN0cmluZyBpbnN0ZWFkOiAnICsgJyVzPVwiJXNcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uXFxuXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCB2YWx1ZSwgbmFtZSwgbmFtZSwgdmFsdWUsIG5hbWUsIG5hbWUsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBOb3cgdGhhdCB3ZSd2ZSB2YWxpZGF0ZWQgY2FzaW5nLCBkbyBub3QgdmFsaWRhdGVcbiAgICAvLyBkYXRhIHR5cGVzIGZvciByZXNlcnZlZCBwcm9wc1xuXG5cbiAgICBpZiAoaXNSZXNlcnZlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBXYXJuIHdoZW4gYSBrbm93biBhdHRyaWJ1dGUgaXMgYSBiYWQgdHlwZVxuXG5cbiAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gV2FybiB3aGVuIHBhc3NpbmcgdGhlIHN0cmluZ3MgJ2ZhbHNlJyBvciAndHJ1ZScgaW50byBhIGJvb2xlYW4gcHJvcFxuXG5cbiAgICBpZiAoKHZhbHVlID09PSAnZmFsc2UnIHx8IHZhbHVlID09PSAndHJ1ZScpICYmIHByb3BlcnR5SW5mbyAhPT0gbnVsbCAmJiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gQk9PTEVBTikge1xuICAgICAgZXJyb3IoJ1JlY2VpdmVkIHRoZSBzdHJpbmcgYCVzYCBmb3IgdGhlIGJvb2xlYW4gYXR0cmlidXRlIGAlc2AuICcgKyAnJXMgJyArICdEaWQgeW91IG1lYW4gJXM9eyVzfT8nLCB2YWx1ZSwgbmFtZSwgdmFsdWUgPT09ICdmYWxzZScgPyAnVGhlIGJyb3dzZXIgd2lsbCBpbnRlcnByZXQgaXQgYXMgYSB0cnV0aHkgdmFsdWUuJyA6ICdBbHRob3VnaCB0aGlzIHdvcmtzLCBpdCB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkIGlmIHlvdSBwYXNzIHRoZSBzdHJpbmcgXCJmYWxzZVwiLicsIG5hbWUsIHZhbHVlKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xufVxuXG52YXIgd2FyblVua25vd25Qcm9wZXJ0aWVzID0gZnVuY3Rpb24gKHR5cGUsIHByb3BzLCBldmVudFJlZ2lzdHJ5KSB7XG4gIHtcbiAgICB2YXIgdW5rbm93blByb3BzID0gW107XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gdmFsaWRhdGVQcm9wZXJ0eSQxKHR5cGUsIGtleSwgcHJvcHNba2V5XSwgZXZlbnRSZWdpc3RyeSk7XG5cbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICB1bmtub3duUHJvcHMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciB1bmtub3duUHJvcFN0cmluZyA9IHVua25vd25Qcm9wcy5tYXAoZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgIHJldHVybiAnYCcgKyBwcm9wICsgJ2AnO1xuICAgIH0pLmpvaW4oJywgJyk7XG5cbiAgICBpZiAodW5rbm93blByb3BzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgZXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIHByb3AgJXMgb24gPCVzPiB0YWcuIEVpdGhlciByZW1vdmUgaXQgZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIGl0IGluIHRoZSBET00uICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvYXR0cmlidXRlLWJlaGF2aW9yICcsIHVua25vd25Qcm9wU3RyaW5nLCB0eXBlKTtcbiAgICB9IGVsc2UgaWYgKHVua25vd25Qcm9wcy5sZW5ndGggPiAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCB2YWx1ZXMgZm9yIHByb3BzICVzIG9uIDwlcz4gdGFnLiBFaXRoZXIgcmVtb3ZlIHRoZW0gZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIHRoZW0gaW4gdGhlIERPTS4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9hdHRyaWJ1dGUtYmVoYXZpb3IgJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wZXJ0aWVzJDIodHlwZSwgcHJvcHMsIGV2ZW50UmVnaXN0cnkpIHtcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdhcm5Vbmtub3duUHJvcGVydGllcyh0eXBlLCBwcm9wcywgZXZlbnRSZWdpc3RyeSk7XG59XG5cbnZhciBJU19FVkVOVF9IQU5ETEVfTk9OX01BTkFHRURfTk9ERSA9IDE7XG52YXIgSVNfTk9OX0RFTEVHQVRFRCA9IDEgPDwgMTtcbnZhciBJU19DQVBUVVJFX1BIQVNFID0gMSA8PCAyO1xuLy8gc2V0IHRvIExFR0FDWV9GQl9TVVBQT1JULiBMRUdBQ1lfRkJfU1VQUE9SVCBvbmx5IGdldHMgc2V0IHdoZW5cbi8vIHdlIGNhbGwgd2lsbERlZmVyTGF0ZXJGb3JMZWdhY3lGQlN1cHBvcnQsIHRodXMgbm90IGJhaWxpbmcgb3V0XG4vLyB3aWxsIHJlc3VsdCBpbiBlbmRsZXNzIGN5Y2xlcyBsaWtlIGFuIGluZmluaXRlIGxvb3AuXG4vLyBXZSBhbHNvIGRvbid0IHdhbnQgdG8gZGVmZXIgZHVyaW5nIGV2ZW50IHJlcGxheWluZy5cblxudmFyIFNIT1VMRF9OT1RfUFJPQ0VTU19QT0xZRklMTF9FVkVOVF9QTFVHSU5TID0gSVNfRVZFTlRfSEFORExFX05PTl9NQU5BR0VEX05PREUgfCBJU19OT05fREVMRUdBVEVEIHwgSVNfQ0FQVFVSRV9QSEFTRTtcblxuLy8gVGhpcyBleGlzdHMgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeSBiZXR3ZWVuIFJlYWN0RE9NRXZlbnRSZXBsYXlpbmdcbi8vIGFuZCBET01QbHVnaW5FdmVudFN5c3RlbS5cbnZhciBjdXJyZW50UmVwbGF5aW5nRXZlbnQgPSBudWxsO1xuZnVuY3Rpb24gc2V0UmVwbGF5aW5nRXZlbnQoZXZlbnQpIHtcbiAge1xuICAgIGlmIChjdXJyZW50UmVwbGF5aW5nRXZlbnQgIT09IG51bGwpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBjdXJyZW50bHkgcmVwbGF5aW5nIGV2ZW50IHRvIGJlIG51bGwuIFRoaXMgZXJyb3IgJyArICdpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBjdXJyZW50UmVwbGF5aW5nRXZlbnQgPSBldmVudDtcbn1cbmZ1bmN0aW9uIHJlc2V0UmVwbGF5aW5nRXZlbnQoKSB7XG4gIHtcbiAgICBpZiAoY3VycmVudFJlcGxheWluZ0V2ZW50ID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgY3VycmVudGx5IHJlcGxheWluZyBldmVudCB0byBub3QgYmUgbnVsbC4gVGhpcyBlcnJvciAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRSZXBsYXlpbmdFdmVudCA9IG51bGw7XG59XG5mdW5jdGlvbiBpc1JlcGxheWluZ0V2ZW50KGV2ZW50KSB7XG4gIHJldHVybiBldmVudCA9PT0gY3VycmVudFJlcGxheWluZ0V2ZW50O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHRhcmdldCBub2RlIGZyb20gYSBuYXRpdmUgYnJvd3NlciBldmVudCBieSBhY2NvdW50aW5nIGZvclxuICogaW5jb25zaXN0ZW5jaWVzIGluIGJyb3dzZXIgRE9NIEFQSXMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7RE9NRXZlbnRUYXJnZXR9IFRhcmdldCBub2RlLlxuICovXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSB7XG4gIC8vIEZhbGxiYWNrIHRvIG5hdGl2ZUV2ZW50LnNyY0VsZW1lbnQgZm9yIElFOVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTA2XG4gIHZhciB0YXJnZXQgPSBuYXRpdmVFdmVudC50YXJnZXQgfHwgbmF0aXZlRXZlbnQuc3JjRWxlbWVudCB8fCB3aW5kb3c7IC8vIE5vcm1hbGl6ZSBTVkcgPHVzZT4gZWxlbWVudCBldmVudHMgIzQ5NjNcblxuICBpZiAodGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSB7XG4gICAgdGFyZ2V0ID0gdGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50O1xuICB9IC8vIFNhZmFyaSBtYXkgZmlyZSBldmVudHMgb24gdGV4dCBub2RlcyAoTm9kZS5URVhUX05PREUgaXMgMykuXG4gIC8vIEBzZWUgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9qcy9ldmVudHNfcHJvcGVydGllcy5odG1sXG5cblxuICByZXR1cm4gdGFyZ2V0Lm5vZGVUeXBlID09PSBURVhUX05PREUgPyB0YXJnZXQucGFyZW50Tm9kZSA6IHRhcmdldDtcbn1cblxudmFyIHJlc3RvcmVJbXBsID0gbnVsbDtcbnZhciByZXN0b3JlVGFyZ2V0ID0gbnVsbDtcbnZhciByZXN0b3JlUXVldWUgPSBudWxsO1xuXG5mdW5jdGlvbiByZXN0b3JlU3RhdGVPZlRhcmdldCh0YXJnZXQpIHtcbiAgLy8gV2UgcGVyZm9ybSB0aGlzIHRyYW5zbGF0aW9uIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IGxvb3Agc28gdGhhdCB3ZVxuICAvLyBhbHdheXMgcmVjZWl2ZSB0aGUgY29ycmVjdCBmaWJlciBoZXJlXG4gIHZhciBpbnRlcm5hbEluc3RhbmNlID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSh0YXJnZXQpO1xuXG4gIGlmICghaW50ZXJuYWxJbnN0YW5jZSkge1xuICAgIC8vIFVubW91bnRlZFxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcmVzdG9yZUltcGwgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFJlc3RvcmVJbXBsZW1lbnRhdGlvbigpIG5lZWRzIHRvIGJlIGNhbGxlZCB0byBoYW5kbGUgYSB0YXJnZXQgZm9yIGNvbnRyb2xsZWQgJyArICdldmVudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICB2YXIgc3RhdGVOb2RlID0gaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGU7IC8vIEd1YXJkIGFnYWluc3QgRmliZXIgYmVpbmcgdW5tb3VudGVkLlxuXG4gIGlmIChzdGF0ZU5vZGUpIHtcbiAgICB2YXIgX3Byb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdGF0ZU5vZGUpO1xuXG4gICAgcmVzdG9yZUltcGwoaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGUsIGludGVybmFsSW5zdGFuY2UudHlwZSwgX3Byb3BzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRSZXN0b3JlSW1wbGVtZW50YXRpb24oaW1wbCkge1xuICByZXN0b3JlSW1wbCA9IGltcGw7XG59XG5mdW5jdGlvbiBlbnF1ZXVlU3RhdGVSZXN0b3JlKHRhcmdldCkge1xuICBpZiAocmVzdG9yZVRhcmdldCkge1xuICAgIGlmIChyZXN0b3JlUXVldWUpIHtcbiAgICAgIHJlc3RvcmVRdWV1ZS5wdXNoKHRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3RvcmVRdWV1ZSA9IFt0YXJnZXRdO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXN0b3JlVGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG59XG5mdW5jdGlvbiBuZWVkc1N0YXRlUmVzdG9yZSgpIHtcbiAgcmV0dXJuIHJlc3RvcmVUYXJnZXQgIT09IG51bGwgfHwgcmVzdG9yZVF1ZXVlICE9PSBudWxsO1xufVxuZnVuY3Rpb24gcmVzdG9yZVN0YXRlSWZOZWVkZWQoKSB7XG4gIGlmICghcmVzdG9yZVRhcmdldCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciB0YXJnZXQgPSByZXN0b3JlVGFyZ2V0O1xuICB2YXIgcXVldWVkVGFyZ2V0cyA9IHJlc3RvcmVRdWV1ZTtcbiAgcmVzdG9yZVRhcmdldCA9IG51bGw7XG4gIHJlc3RvcmVRdWV1ZSA9IG51bGw7XG4gIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHF1ZXVlZFRhcmdldHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZFRhcmdldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHF1ZXVlZFRhcmdldHNbaV0pO1xuICAgIH1cbiAgfVxufVxuXG4vLyB0aGUgcmVuZGVyZXIuIFN1Y2ggYXMgd2hlbiB3ZSdyZSBkaXNwYXRjaGluZyBldmVudHMgb3IgaWYgdGhpcmQgcGFydHlcbi8vIGxpYnJhcmllcyBuZWVkIHRvIGNhbGwgYmF0Y2hlZFVwZGF0ZXMuIEV2ZW50dWFsbHksIHRoaXMgQVBJIHdpbGwgZ28gYXdheSB3aGVuXG4vLyBldmVyeXRoaW5nIGlzIGJhdGNoZWQgYnkgZGVmYXVsdC4gV2UnbGwgdGhlbiBoYXZlIGEgc2ltaWxhciBBUEkgdG8gb3B0LW91dCBvZlxuLy8gc2NoZWR1bGVkIHdvcmsgYW5kIGluc3RlYWQgZG8gc3luY2hyb25vdXMgd29yay5cbi8vIERlZmF1bHRzXG5cbnZhciBiYXRjaGVkVXBkYXRlc0ltcGwgPSBmdW5jdGlvbiAoZm4sIGJvb2trZWVwaW5nKSB7XG4gIHJldHVybiBmbihib29ra2VlcGluZyk7XG59O1xuXG52YXIgZmx1c2hTeW5jSW1wbCA9IGZ1bmN0aW9uICgpIHt9O1xuXG52YXIgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSBmYWxzZTtcblxuZnVuY3Rpb24gZmluaXNoRXZlbnRIYW5kbGVyKCkge1xuICAvLyBIZXJlIHdlIHdhaXQgdW50aWwgYWxsIHVwZGF0ZXMgaGF2ZSBwcm9wYWdhdGVkLCB3aGljaCBpcyBpbXBvcnRhbnRcbiAgLy8gd2hlbiB1c2luZyBjb250cm9sbGVkIGNvbXBvbmVudHMgd2l0aGluIGxheWVyczpcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNjk4XG4gIC8vIFRoZW4gd2UgcmVzdG9yZSBzdGF0ZSBvZiBhbnkgY29udHJvbGxlZCBjb21wb25lbnQuXG4gIHZhciBjb250cm9sbGVkQ29tcG9uZW50c0hhdmVQZW5kaW5nVXBkYXRlcyA9IG5lZWRzU3RhdGVSZXN0b3JlKCk7XG5cbiAgaWYgKGNvbnRyb2xsZWRDb21wb25lbnRzSGF2ZVBlbmRpbmdVcGRhdGVzKSB7XG4gICAgLy8gSWYgYSBjb250cm9sbGVkIGV2ZW50IHdhcyBmaXJlZCwgd2UgbWF5IG5lZWQgdG8gcmVzdG9yZSB0aGUgc3RhdGUgb2ZcbiAgICAvLyB0aGUgRE9NIG5vZGUgYmFjayB0byB0aGUgY29udHJvbGxlZCB2YWx1ZS4gVGhpcyBpcyBuZWNlc3Nhcnkgd2hlbiBSZWFjdFxuICAgIC8vIGJhaWxzIG91dCBvZiB0aGUgdXBkYXRlIHdpdGhvdXQgdG91Y2hpbmcgdGhlIERPTS5cbiAgICAvLyBUT0RPOiBSZXN0b3JlIHN0YXRlIGluIHRoZSBtaWNyb3Rhc2ssIGFmdGVyIHRoZSBkaXNjcmV0ZSB1cGRhdGVzIGZsdXNoLFxuICAgIC8vIGluc3RlYWQgb2YgZWFybHkgZmx1c2hpbmcgdGhlbSBoZXJlLlxuICAgIGZsdXNoU3luY0ltcGwoKTtcbiAgICByZXN0b3JlU3RhdGVJZk5lZWRlZCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJhdGNoZWRVcGRhdGVzKGZuLCBhLCBiKSB7XG4gIGlmIChpc0luc2lkZUV2ZW50SGFuZGxlcikge1xuICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgaW5zaWRlIGFub3RoZXIgYmF0Y2gsIHdlIG5lZWQgdG8gd2FpdCB1bnRpbCBpdFxuICAgIC8vIGZ1bGx5IGNvbXBsZXRlcyBiZWZvcmUgcmVzdG9yaW5nIHN0YXRlLlxuICAgIHJldHVybiBmbihhLCBiKTtcbiAgfVxuXG4gIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gdHJ1ZTtcblxuICB0cnkge1xuICAgIHJldHVybiBiYXRjaGVkVXBkYXRlc0ltcGwoZm4sIGEsIGIpO1xuICB9IGZpbmFsbHkge1xuICAgIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gZmFsc2U7XG4gICAgZmluaXNoRXZlbnRIYW5kbGVyKCk7XG4gIH1cbn0gLy8gVE9ETzogUmVwbGFjZSB3aXRoIGZsdXNoU3luY1xuZnVuY3Rpb24gc2V0QmF0Y2hpbmdJbXBsZW1lbnRhdGlvbihfYmF0Y2hlZFVwZGF0ZXNJbXBsLCBfZGlzY3JldGVVcGRhdGVzSW1wbCwgX2ZsdXNoU3luY0ltcGwpIHtcbiAgYmF0Y2hlZFVwZGF0ZXNJbXBsID0gX2JhdGNoZWRVcGRhdGVzSW1wbDtcbiAgZmx1c2hTeW5jSW1wbCA9IF9mbHVzaFN5bmNJbXBsO1xufVxuXG5mdW5jdGlvbiBpc0ludGVyYWN0aXZlKHRhZykge1xuICByZXR1cm4gdGFnID09PSAnYnV0dG9uJyB8fCB0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAnc2VsZWN0JyB8fCB0YWcgPT09ICd0ZXh0YXJlYSc7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KG5hbWUsIHR5cGUsIHByb3BzKSB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ29uQ2xpY2snOlxuICAgIGNhc2UgJ29uQ2xpY2tDYXB0dXJlJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZURvd24nOlxuICAgIGNhc2UgJ29uTW91c2VEb3duQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZU1vdmUnOlxuICAgIGNhc2UgJ29uTW91c2VNb3ZlQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZVVwJzpcbiAgICBjYXNlICdvbk1vdXNlVXBDYXB0dXJlJzpcbiAgICBjYXNlICdvbk1vdXNlRW50ZXInOlxuICAgICAgcmV0dXJuICEhKHByb3BzLmRpc2FibGVkICYmIGlzSW50ZXJhY3RpdmUodHlwZSkpO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gaW5zdCBUaGUgaW5zdGFuY2UsIHdoaWNoIGlzIHRoZSBzb3VyY2Ugb2YgZXZlbnRzLlxuICogQHBhcmFtIHtzdHJpbmd9IHJlZ2lzdHJhdGlvbk5hbWUgTmFtZSBvZiBsaXN0ZW5lciAoZS5nLiBgb25DbGlja2ApLlxuICogQHJldHVybiB7P2Z1bmN0aW9ufSBUaGUgc3RvcmVkIGNhbGxiYWNrLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0TGlzdGVuZXIoaW5zdCwgcmVnaXN0cmF0aW9uTmFtZSkge1xuICB2YXIgc3RhdGVOb2RlID0gaW5zdC5zdGF0ZU5vZGU7XG5cbiAgaWYgKHN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MgKGV4OiBvbmxvYWQgZXZlbnRzIGluIGluY3JlbWVudGFsIG1vZGUpLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIHByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdGF0ZU5vZGUpO1xuXG4gIGlmIChwcm9wcyA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbGlzdGVuZXIgPSBwcm9wc1tyZWdpc3RyYXRpb25OYW1lXTtcblxuICBpZiAoc2hvdWxkUHJldmVudE1vdXNlRXZlbnQocmVnaXN0cmF0aW9uTmFtZSwgaW5zdC50eXBlLCBwcm9wcykpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChsaXN0ZW5lciAmJiB0eXBlb2YgbGlzdGVuZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBgXCIgKyByZWdpc3RyYXRpb25OYW1lICsgXCJgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGEgdmFsdWUgb2YgYFwiICsgdHlwZW9mIGxpc3RlbmVyICsgXCJgIHR5cGUuXCIpO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG52YXIgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTsgLy8gQ2hlY2sgaWYgYnJvd3NlciBzdXBwb3J0IGV2ZW50cyB3aXRoIHBhc3NpdmUgbGlzdGVuZXJzXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvYWRkRXZlbnRMaXN0ZW5lciNTYWZlbHlfZGV0ZWN0aW5nX29wdGlvbl9zdXBwb3J0XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3B0aW9ucyA9IHt9OyAvLyAkRmxvd0ZpeE1lOiBJZ25vcmUgRmxvdyBjb21wbGFpbmluZyBhYm91dCBuZWVkaW5nIGEgdmFsdWVcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRpb25zLCAncGFzc2l2ZScsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICBwYXNzaXZlQnJvd3NlckV2ZW50c1N1cHBvcnRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBvcHRpb25zLCBvcHRpb25zKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIG9wdGlvbnMsIG9wdGlvbnMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2tQcm9kKG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICB0cnkge1xuICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgZnVuY0FyZ3MpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRoaXMub25FcnJvcihlcnJvcik7XG4gIH1cbn1cblxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwgPSBpbnZva2VHdWFyZGVkQ2FsbGJhY2tQcm9kO1xuXG57XG4gIC8vIEluIERFViBtb2RlLCB3ZSBzd2FwIG91dCBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgZm9yIGEgc3BlY2lhbCB2ZXJzaW9uXG4gIC8vIHRoYXQgcGxheXMgbW9yZSBuaWNlbHkgd2l0aCB0aGUgYnJvd3NlcidzIERldlRvb2xzLiBUaGUgaWRlYSBpcyB0byBwcmVzZXJ2ZVxuICAvLyBcIlBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBiZWhhdmlvci4gQmVjYXVzZSBSZWFjdCB3cmFwcyBhbGwgdXNlci1wcm92aWRlZFxuICAvLyBmdW5jdGlvbnMgaW4gaW52b2tlR3VhcmRlZENhbGxiYWNrLCBhbmQgdGhlIHByb2R1Y3Rpb24gdmVyc2lvbiBvZlxuICAvLyBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgdXNlcyBhIHRyeS1jYXRjaCwgYWxsIHVzZXIgZXhjZXB0aW9ucyBhcmUgdHJlYXRlZFxuICAvLyBsaWtlIGNhdWdodCBleGNlcHRpb25zLCBhbmQgdGhlIERldlRvb2xzIHdvbid0IHBhdXNlIHVubGVzcyB0aGUgZGV2ZWxvcGVyXG4gIC8vIHRha2VzIHRoZSBleHRyYSBzdGVwIG9mIGVuYWJsaW5nIHBhdXNlIG9uIGNhdWdodCBleGNlcHRpb25zLiBUaGlzIGlzXG4gIC8vIHVuaW50dWl0aXZlLCB0aG91Z2gsIGJlY2F1c2UgZXZlbiB0aG91Z2ggUmVhY3QgaGFzIGNhdWdodCB0aGUgZXJyb3IsIGZyb21cbiAgLy8gdGhlIGRldmVsb3BlcidzIHBlcnNwZWN0aXZlLCB0aGUgZXJyb3IgaXMgdW5jYXVnaHQuXG4gIC8vXG4gIC8vIFRvIHByZXNlcnZlIHRoZSBleHBlY3RlZCBcIlBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBiZWhhdmlvciwgd2UgZG9uJ3QgdXNlIGFcbiAgLy8gdHJ5LWNhdGNoIGluIERFVi4gSW5zdGVhZCwgd2Ugc3luY2hyb25vdXNseSBkaXNwYXRjaCBhIGZha2UgZXZlbnQgdG8gYSBmYWtlXG4gIC8vIERPTSBub2RlLCBhbmQgY2FsbCB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayBmcm9tIGluc2lkZSBhbiBldmVudCBoYW5kbGVyXG4gIC8vIGZvciB0aGF0IGZha2UgZXZlbnQuIElmIHRoZSBjYWxsYmFjayB0aHJvd3MsIHRoZSBlcnJvciBpcyBcImNhcHR1cmVkXCIgdXNpbmdcbiAgLy8gYSBnbG9iYWwgZXZlbnQgaGFuZGxlci4gQnV0IGJlY2F1c2UgdGhlIGVycm9yIGhhcHBlbnMgaW4gYSBkaWZmZXJlbnRcbiAgLy8gZXZlbnQgbG9vcCBjb250ZXh0LCBpdCBkb2VzIG5vdCBpbnRlcnJ1cHQgdGhlIG5vcm1hbCBwcm9ncmFtIGZsb3cuXG4gIC8vIEVmZmVjdGl2ZWx5LCB0aGlzIGdpdmVzIHVzIHRyeS1jYXRjaCBiZWhhdmlvciB3aXRob3V0IGFjdHVhbGx5IHVzaW5nXG4gIC8vIHRyeS1jYXRjaC4gTmVhdCFcbiAgLy8gQ2hlY2sgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyB0aGUgQVBJcyB3ZSBuZWVkIHRvIGltcGxlbWVudCBvdXIgc3BlY2lhbFxuICAvLyBERVYgdmVyc2lvbiBvZiBpbnZva2VHdWFyZGVkQ2FsbGJhY2tcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cuZGlzcGF0Y2hFdmVudCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFdmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBmYWtlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3JlYWN0Jyk7XG5cbiAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2tJbXBsID0gZnVuY3Rpb24gaW52b2tlR3VhcmRlZENhbGxiYWNrRGV2KG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgICAgIC8vIElmIGRvY3VtZW50IGRvZXNuJ3QgZXhpc3Qgd2Uga25vdyBmb3Igc3VyZSB3ZSB3aWxsIGNyYXNoIGluIHRoaXMgbWV0aG9kXG4gICAgICAvLyB3aGVuIHdlIGNhbGwgZG9jdW1lbnQuY3JlYXRlRXZlbnQoKS4gSG93ZXZlciB0aGlzIGNhbiBjYXVzZSBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9yczogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2NyZWF0ZS1yZWFjdC1hcHAvaXNzdWVzLzM0ODJcbiAgICAgIC8vIFNvIHdlIHByZWVtcHRpdmVseSB0aHJvdyB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UgaW5zdGVhZC5cbiAgICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnIHx8IGRvY3VtZW50ID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGBkb2N1bWVudGAgZ2xvYmFsIHdhcyBkZWZpbmVkIHdoZW4gUmVhY3Qgd2FzIGluaXRpYWxpemVkLCBidXQgaXMgbm90ICcgKyAnZGVmaW5lZCBhbnltb3JlLiBUaGlzIGNhbiBoYXBwZW4gaW4gYSB0ZXN0IGVudmlyb25tZW50IGlmIGEgY29tcG9uZW50ICcgKyAnc2NoZWR1bGVzIGFuIHVwZGF0ZSBmcm9tIGFuIGFzeW5jaHJvbm91cyBjYWxsYmFjaywgYnV0IHRoZSB0ZXN0IGhhcyBhbHJlYWR5ICcgKyAnZmluaXNoZWQgcnVubmluZy4gVG8gc29sdmUgdGhpcywgeW91IGNhbiBlaXRoZXIgdW5tb3VudCB0aGUgY29tcG9uZW50IGF0ICcgKyAndGhlIGVuZCBvZiB5b3VyIHRlc3QgKGFuZCBlbnN1cmUgdGhhdCBhbnkgYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMgZ2V0ICcgKyAnY2FuY2VsZWQgaW4gYGNvbXBvbmVudFdpbGxVbm1vdW50YCksIG9yIHlvdSBjYW4gY2hhbmdlIHRoZSB0ZXN0IGl0c2VsZiAnICsgJ3RvIGJlIGFzeW5jaHJvbm91cy4nKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpO1xuICAgICAgdmFyIGRpZENhbGwgPSBmYWxzZTsgLy8gS2VlcHMgdHJhY2sgb2Ygd2hldGhlciB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayB0aHJldyBhbiBlcnJvci4gV2VcbiAgICAgIC8vIHNldCB0aGlzIHRvIHRydWUgYXQgdGhlIGJlZ2lubmluZywgdGhlbiBzZXQgaXQgdG8gZmFsc2UgcmlnaHQgYWZ0ZXJcbiAgICAgIC8vIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLiBJZiB0aGUgZnVuY3Rpb24gZXJyb3JzLCBgZGlkRXJyb3JgIHdpbGwgbmV2ZXIgYmVcbiAgICAgIC8vIHNldCB0byBmYWxzZS4gVGhpcyBzdHJhdGVneSB3b3JrcyBldmVuIGlmIHRoZSBicm93c2VyIGlzIGZsYWt5IGFuZFxuICAgICAgLy8gZmFpbHMgdG8gY2FsbCBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIsIGJlY2F1c2UgaXQgZG9lc24ndCByZWx5IG9uXG4gICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgYXQgYWxsLlxuXG4gICAgICB2YXIgZGlkRXJyb3IgPSB0cnVlOyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgdmFsdWUgb2Ygd2luZG93LmV2ZW50IHNvIHRoYXQgd2UgY2FuIHJlc2V0IGl0XG4gICAgICAvLyBkdXJpbmcgdGhlIGNhbGxiYWNrIHRvIGxldCB1c2VyIGNvZGUgYWNjZXNzIHdpbmRvdy5ldmVudCBpbiB0aGVcbiAgICAgIC8vIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBpdC5cblxuICAgICAgdmFyIHdpbmRvd0V2ZW50ID0gd2luZG93LmV2ZW50OyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgZGVzY3JpcHRvciBvZiB3aW5kb3cuZXZlbnQgdG8gcmVzdG9yZSBpdCBhZnRlciBldmVudFxuICAgICAgLy8gZGlzcGF0Y2hpbmc6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2ODhcblxuICAgICAgdmFyIHdpbmRvd0V2ZW50RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnZXZlbnQnKTtcblxuICAgICAgZnVuY3Rpb24gcmVzdG9yZUFmdGVyRGlzcGF0Y2goKSB7XG4gICAgICAgIC8vIFdlIGltbWVkaWF0ZWx5IHJlbW92ZSB0aGUgY2FsbGJhY2sgZnJvbSBldmVudCBsaXN0ZW5lcnMgc28gdGhhdFxuICAgICAgICAvLyBuZXN0ZWQgYGludm9rZUd1YXJkZWRDYWxsYmFja2AgY2FsbHMgZG8gbm90IGNsYXNoLiBPdGhlcndpc2UsIGFcbiAgICAgICAgLy8gbmVzdGVkIGNhbGwgd291bGQgdHJpZ2dlciB0aGUgZmFrZSBldmVudCBoYW5kbGVycyBvZiBhbnkgY2FsbCBoaWdoZXJcbiAgICAgICAgLy8gaW4gdGhlIHN0YWNrLlxuICAgICAgICBmYWtlTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2dFR5cGUsIGNhbGxDYWxsYmFjaywgZmFsc2UpOyAvLyBXZSBjaGVjayBmb3Igd2luZG93Lmhhc093blByb3BlcnR5KCdldmVudCcpIHRvIHByZXZlbnQgdGhlXG4gICAgICAgIC8vIHdpbmRvdy5ldmVudCBhc3NpZ25tZW50IGluIGJvdGggSUUgPD0gMTAgYXMgdGhleSB0aHJvdyBhbiBlcnJvclxuICAgICAgICAvLyBcIk1lbWJlciBub3QgZm91bmRcIiBpbiBzdHJpY3QgbW9kZSwgYW5kIGluIEZpcmVmb3ggd2hpY2ggZG9lcyBub3RcbiAgICAgICAgLy8gc3VwcG9ydCB3aW5kb3cuZXZlbnQuXG5cbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZXZlbnQgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnZXZlbnQnKSkge1xuICAgICAgICAgIHdpbmRvdy5ldmVudCA9IHdpbmRvd0V2ZW50O1xuICAgICAgICB9XG4gICAgICB9IC8vIENyZWF0ZSBhbiBldmVudCBoYW5kbGVyIGZvciBvdXIgZmFrZSBldmVudC4gV2Ugd2lsbCBzeW5jaHJvbm91c2x5XG4gICAgICAvLyBkaXNwYXRjaCBvdXIgZmFrZSBldmVudCB1c2luZyBgZGlzcGF0Y2hFdmVudGAuIEluc2lkZSB0aGUgaGFuZGxlciwgd2VcbiAgICAgIC8vIGNhbGwgdGhlIHVzZXItcHJvdmlkZWQgY2FsbGJhY2suXG5cblxuICAgICAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICAgICAgZnVuY3Rpb24gY2FsbENhbGxiYWNrKCkge1xuICAgICAgICBkaWRDYWxsID0gdHJ1ZTtcbiAgICAgICAgcmVzdG9yZUFmdGVyRGlzcGF0Y2goKTtcbiAgICAgICAgZnVuYy5hcHBseShjb250ZXh0LCBmdW5jQXJncyk7XG4gICAgICAgIGRpZEVycm9yID0gZmFsc2U7XG4gICAgICB9IC8vIENyZWF0ZSBhIGdsb2JhbCBlcnJvciBldmVudCBoYW5kbGVyLiBXZSB1c2UgdGhpcyB0byBjYXB0dXJlIHRoZSB2YWx1ZVxuICAgICAgLy8gdGhhdCB3YXMgdGhyb3duLiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhpcyBlcnJvciBoYW5kbGVyIHdpbGwgZmlyZSBtb3JlXG4gICAgICAvLyB0aGFuIG9uY2U7IGZvciBleGFtcGxlLCBpZiBub24tUmVhY3QgY29kZSBhbHNvIGNhbGxzIGBkaXNwYXRjaEV2ZW50YFxuICAgICAgLy8gYW5kIGEgaGFuZGxlciBmb3IgdGhhdCBldmVudCB0aHJvd3MuIFdlIHNob3VsZCBiZSByZXNpbGllbnQgdG8gbW9zdCBvZlxuICAgICAgLy8gdGhvc2UgY2FzZXMuIEV2ZW4gaWYgb3VyIGVycm9yIGV2ZW50IGhhbmRsZXIgZmlyZXMgbW9yZSB0aGFuIG9uY2UsIHRoZVxuICAgICAgLy8gbGFzdCBlcnJvciBldmVudCBpcyBhbHdheXMgdXNlZC4gSWYgdGhlIGNhbGxiYWNrIGFjdHVhbGx5IGRvZXMgZXJyb3IsXG4gICAgICAvLyB3ZSBrbm93IHRoYXQgdGhlIGxhc3QgZXJyb3IgZXZlbnQgaXMgdGhlIGNvcnJlY3Qgb25lLCBiZWNhdXNlIGl0J3Mgbm90XG4gICAgICAvLyBwb3NzaWJsZSBmb3IgYW55dGhpbmcgZWxzZSB0byBoYXZlIGhhcHBlbmVkIGluIGJldHdlZW4gb3VyIGNhbGxiYWNrXG4gICAgICAvLyBlcnJvcmluZyBhbmQgdGhlIGNvZGUgdGhhdCBmb2xsb3dzIHRoZSBgZGlzcGF0Y2hFdmVudGAgY2FsbCBiZWxvdy4gSWZcbiAgICAgIC8vIHRoZSBjYWxsYmFjayBkb2Vzbid0IGVycm9yLCBidXQgdGhlIGVycm9yIGV2ZW50IHdhcyBmaXJlZCwgd2Uga25vdyB0b1xuICAgICAgLy8gaWdub3JlIGl0IGJlY2F1c2UgYGRpZEVycm9yYCB3aWxsIGJlIGZhbHNlLCBhcyBkZXNjcmliZWQgYWJvdmUuXG5cblxuICAgICAgdmFyIGVycm9yOyAvLyBVc2UgdGhpcyB0byB0cmFjayB3aGV0aGVyIHRoZSBlcnJvciBldmVudCBpcyBldmVyIGNhbGxlZC5cblxuICAgICAgdmFyIGRpZFNldEVycm9yID0gZmFsc2U7XG4gICAgICB2YXIgaXNDcm9zc09yaWdpbkVycm9yID0gZmFsc2U7XG5cbiAgICAgIGZ1bmN0aW9uIGhhbmRsZVdpbmRvd0Vycm9yKGV2ZW50KSB7XG4gICAgICAgIGVycm9yID0gZXZlbnQuZXJyb3I7XG4gICAgICAgIGRpZFNldEVycm9yID0gdHJ1ZTtcblxuICAgICAgICBpZiAoZXJyb3IgPT09IG51bGwgJiYgZXZlbnQuY29sbm8gPT09IDAgJiYgZXZlbnQubGluZW5vID09PSAwKSB7XG4gICAgICAgICAgaXNDcm9zc09yaWdpbkVycm9yID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgLy8gU29tZSBvdGhlciBlcnJvciBoYW5kbGVyIGhhcyBwcmV2ZW50ZWQgZGVmYXVsdC5cbiAgICAgICAgICAvLyBCcm93c2VycyBzaWxlbmNlIHRoZSBlcnJvciByZXBvcnQgaWYgdGhpcyBoYXBwZW5zLlxuICAgICAgICAgIC8vIFdlJ2xsIHJlbWVtYmVyIHRoaXMgdG8gbGF0ZXIgZGVjaWRlIHdoZXRoZXIgdG8gbG9nIGl0IG9yIG5vdC5cbiAgICAgICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBlcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGlubmVyKSB7Ly8gSWdub3JlLlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSAvLyBDcmVhdGUgYSBmYWtlIGV2ZW50IHR5cGUuXG5cblxuICAgICAgdmFyIGV2dFR5cGUgPSBcInJlYWN0LVwiICsgKG5hbWUgPyBuYW1lIDogJ2ludm9rZWd1YXJkZWRjYWxsYmFjaycpOyAvLyBBdHRhY2ggb3VyIGV2ZW50IGhhbmRsZXJzXG5cbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGhhbmRsZVdpbmRvd0Vycm9yKTtcbiAgICAgIGZha2VOb2RlLmFkZEV2ZW50TGlzdGVuZXIoZXZ0VHlwZSwgY2FsbENhbGxiYWNrLCBmYWxzZSk7IC8vIFN5bmNocm9ub3VzbHkgZGlzcGF0Y2ggb3VyIGZha2UgZXZlbnQuIElmIHRoZSB1c2VyLXByb3ZpZGVkIGZ1bmN0aW9uXG4gICAgICAvLyBlcnJvcnMsIGl0IHdpbGwgdHJpZ2dlciBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIuXG5cbiAgICAgIGV2dC5pbml0RXZlbnQoZXZ0VHlwZSwgZmFsc2UsIGZhbHNlKTtcbiAgICAgIGZha2VOb2RlLmRpc3BhdGNoRXZlbnQoZXZ0KTtcblxuICAgICAgaWYgKHdpbmRvd0V2ZW50RGVzY3JpcHRvcikge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnZXZlbnQnLCB3aW5kb3dFdmVudERlc2NyaXB0b3IpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlkQ2FsbCAmJiBkaWRFcnJvcikge1xuICAgICAgICBpZiAoIWRpZFNldEVycm9yKSB7XG4gICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIGVycm9yZWQsIGJ1dCB0aGUgZXJyb3IgZXZlbnQgbmV2ZXIgZmlyZWQuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignQW4gZXJyb3Igd2FzIHRocm93biBpbnNpZGUgb25lIG9mIHlvdXIgY29tcG9uZW50cywgYnV0IFJlYWN0ICcgKyBcImRvZXNuJ3Qga25vdyB3aGF0IGl0IHdhcy4gVGhpcyBpcyBsaWtlbHkgZHVlIHRvIGJyb3dzZXIgXCIgKyAnZmxha2luZXNzLiBSZWFjdCBkb2VzIGl0cyBiZXN0IHRvIHByZXNlcnZlIHRoZSBcIlBhdXNlIG9uICcgKyAnZXhjZXB0aW9uc1wiIGJlaGF2aW9yIG9mIHRoZSBEZXZUb29scywgd2hpY2ggcmVxdWlyZXMgc29tZSAnICsgXCJERVYtbW9kZSBvbmx5IHRyaWNrcy4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZXNlIGRvbid0IHdvcmsgaW4gXCIgKyAneW91ciBicm93c2VyLiBUcnkgdHJpZ2dlcmluZyB0aGUgZXJyb3IgaW4gcHJvZHVjdGlvbiBtb2RlLCAnICsgJ29yIHN3aXRjaGluZyB0byBhIG1vZGVybiBicm93c2VyLiBJZiB5b3Ugc3VzcGVjdCB0aGF0IHRoaXMgaXMgJyArICdhY3R1YWxseSBhbiBpc3N1ZSB3aXRoIFJlYWN0LCBwbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0Nyb3NzT3JpZ2luRXJyb3IpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICAgIGVycm9yID0gbmV3IEVycm9yKFwiQSBjcm9zcy1vcmlnaW4gZXJyb3Igd2FzIHRocm93bi4gUmVhY3QgZG9lc24ndCBoYXZlIGFjY2VzcyB0byBcIiArICd0aGUgYWN0dWFsIGVycm9yIG9iamVjdCBpbiBkZXZlbG9wbWVudC4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Nyb3Nzb3JpZ2luLWVycm9yIGZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkVycm9yKGVycm9yKTtcbiAgICAgIH0gLy8gUmVtb3ZlIG91ciBldmVudCBsaXN0ZW5lcnNcblxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVXaW5kb3dFcnJvcik7XG5cbiAgICAgIGlmICghZGlkQ2FsbCkge1xuICAgICAgICAvLyBTb21ldGhpbmcgd2VudCByZWFsbHkgd3JvbmcsIGFuZCBvdXIgZXZlbnQgd2FzIG5vdCBkaXNwYXRjaGVkLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE2NzM0XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTY1ODVcbiAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHRoZSBwcm9kdWN0aW9uIGltcGxlbWVudGF0aW9uLlxuICAgICAgICByZXN0b3JlQWZ0ZXJEaXNwYXRjaCgpO1xuICAgICAgICByZXR1cm4gaW52b2tlR3VhcmRlZENhbGxiYWNrUHJvZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cblxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMSA9IGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGw7XG5cbnZhciBoYXNFcnJvciA9IGZhbHNlO1xudmFyIGNhdWdodEVycm9yID0gbnVsbDsgLy8gVXNlZCBieSBldmVudCBzeXN0ZW0gdG8gY2FwdHVyZS9yZXRocm93IHRoZSBmaXJzdCBlcnJvci5cblxudmFyIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xudmFyIHJldGhyb3dFcnJvciA9IG51bGw7XG52YXIgcmVwb3J0ZXIgPSB7XG4gIG9uRXJyb3I6IGZ1bmN0aW9uIChlcnJvcikge1xuICAgIGhhc0Vycm9yID0gdHJ1ZTtcbiAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xuICB9XG59O1xuLyoqXG4gKiBDYWxsIGEgZnVuY3Rpb24gd2hpbGUgZ3VhcmRpbmcgYWdhaW5zdCBlcnJvcnMgdGhhdCBoYXBwZW5zIHdpdGhpbiBpdC5cbiAqIFJldHVybnMgYW4gZXJyb3IgaWYgaXQgdGhyb3dzLCBvdGhlcndpc2UgbnVsbC5cbiAqXG4gKiBJbiBwcm9kdWN0aW9uLCB0aGlzIGlzIGltcGxlbWVudGVkIHVzaW5nIGEgdHJ5LWNhdGNoLiBUaGUgcmVhc29uIHdlIGRvbid0XG4gKiB1c2UgYSB0cnktY2F0Y2ggZGlyZWN0bHkgaXMgc28gdGhhdCB3ZSBjYW4gc3dhcCBvdXQgYSBkaWZmZXJlbnRcbiAqIGltcGxlbWVudGF0aW9uIGluIERFViBtb2RlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIG9mIHRoZSBndWFyZCB0byB1c2UgZm9yIGxvZ2dpbmcgb3IgZGVidWdnaW5nXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2VcbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBUaGUgY29udGV4dCB0byB1c2Ugd2hlbiBjYWxsaW5nIHRoZSBmdW5jdGlvblxuICogQHBhcmFtIHsuLi4qfSBhcmdzIEFyZ3VtZW50cyBmb3IgZnVuY3Rpb25cbiAqL1xuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xuICBoYXNFcnJvciA9IGZhbHNlO1xuICBjYXVnaHRFcnJvciA9IG51bGw7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMS5hcHBseShyZXBvcnRlciwgYXJndW1lbnRzKTtcbn1cbi8qKlxuICogU2FtZSBhcyBpbnZva2VHdWFyZGVkQ2FsbGJhY2ssIGJ1dCBpbnN0ZWFkIG9mIHJldHVybmluZyBhbiBlcnJvciwgaXQgc3RvcmVzXG4gKiBpdCBpbiBhIGdsb2JhbCBzbyBpdCBjYW4gYmUgcmV0aHJvd24gYnkgYHJldGhyb3dDYXVnaHRFcnJvcmAgbGF0ZXIuXG4gKiBUT0RPOiBTZWUgaWYgY2F1Z2h0RXJyb3IgYW5kIHJldGhyb3dFcnJvciBjYW4gYmUgdW5pZmllZC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZSBvZiB0aGUgZ3VhcmQgdG8gdXNlIGZvciBsb2dnaW5nIG9yIGRlYnVnZ2luZ1xuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlXG4gKiBAcGFyYW0geyp9IGNvbnRleHQgVGhlIGNvbnRleHQgdG8gdXNlIHdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25cbiAqIEBwYXJhbSB7Li4uKn0gYXJncyBBcmd1bWVudHMgZm9yIGZ1bmN0aW9uXG4gKi9cblxuZnVuY3Rpb24gaW52b2tlR3VhcmRlZENhbGxiYWNrQW5kQ2F0Y2hGaXJzdEVycm9yKG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgaW52b2tlR3VhcmRlZENhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgaWYgKGhhc0Vycm9yKSB7XG4gICAgdmFyIGVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgaWYgKCFoYXNSZXRocm93RXJyb3IpIHtcbiAgICAgIGhhc1JldGhyb3dFcnJvciA9IHRydWU7XG4gICAgICByZXRocm93RXJyb3IgPSBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRHVyaW5nIGV4ZWN1dGlvbiBvZiBndWFyZGVkIGZ1bmN0aW9ucyB3ZSB3aWxsIGNhcHR1cmUgdGhlIGZpcnN0IGVycm9yIHdoaWNoXG4gKiB3ZSB3aWxsIHJldGhyb3cgdG8gYmUgaGFuZGxlZCBieSB0aGUgdG9wIGxldmVsIGVycm9yIGhhbmRsZXIuXG4gKi9cblxuZnVuY3Rpb24gcmV0aHJvd0NhdWdodEVycm9yKCkge1xuICBpZiAoaGFzUmV0aHJvd0Vycm9yKSB7XG4gICAgdmFyIGVycm9yID0gcmV0aHJvd0Vycm9yO1xuICAgIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xuICAgIHJldGhyb3dFcnJvciA9IG51bGw7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cbmZ1bmN0aW9uIGhhc0NhdWdodEVycm9yKCkge1xuICByZXR1cm4gaGFzRXJyb3I7XG59XG5mdW5jdGlvbiBjbGVhckNhdWdodEVycm9yKCkge1xuICBpZiAoaGFzRXJyb3IpIHtcbiAgICB2YXIgZXJyb3IgPSBjYXVnaHRFcnJvcjtcbiAgICBoYXNFcnJvciA9IGZhbHNlO1xuICAgIGNhdWdodEVycm9yID0gbnVsbDtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbGVhckNhdWdodEVycm9yIHdhcyBjYWxsZWQgYnV0IG5vIGVycm9yIHdhcyBjYXB0dXJlZC4gVGhpcyBlcnJvciAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG59XG5cbi8qKlxuICogYFJlYWN0SW5zdGFuY2VNYXBgIG1haW50YWlucyBhIG1hcHBpbmcgZnJvbSBhIHB1YmxpYyBmYWNpbmcgc3RhdGVmdWxcbiAqIGluc3RhbmNlIChrZXkpIGFuZCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gKHZhbHVlKS4gVGhpcyBhbGxvd3MgcHVibGljXG4gKiBtZXRob2RzIHRvIGFjY2VwdCB0aGUgdXNlciBmYWNpbmcgaW5zdGFuY2UgYXMgYW4gYXJndW1lbnQgYW5kIG1hcCB0aGVtIGJhY2tcbiAqIHRvIGludGVybmFsIG1ldGhvZHMuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgbW9kdWxlIGlzIGN1cnJlbnRseSBzaGFyZWQgYW5kIGFzc3VtZWQgdG8gYmUgc3RhdGVsZXNzLlxuICogSWYgdGhpcyBiZWNvbWVzIGFuIGFjdHVhbCBNYXAsIHRoYXQgd2lsbCBicmVhay5cbiAqL1xuZnVuY3Rpb24gZ2V0KGtleSkge1xuICByZXR1cm4ga2V5Ll9yZWFjdEludGVybmFscztcbn1cbmZ1bmN0aW9uIGhhcyhrZXkpIHtcbiAgcmV0dXJuIGtleS5fcmVhY3RJbnRlcm5hbHMgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHNldChrZXksIHZhbHVlKSB7XG4gIGtleS5fcmVhY3RJbnRlcm5hbHMgPSB2YWx1ZTtcbn1cblxuLy8gRG9uJ3QgY2hhbmdlIHRoZXNlIHR3byB2YWx1ZXMuIFRoZXkncmUgdXNlZCBieSBSZWFjdCBEZXYgVG9vbHMuXG52YXIgTm9GbGFncyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAqL1xuMDtcbnZhciBQZXJmb3JtZWRXb3JrID1cbi8qICAgICAgICAgICAgICAgICovXG4xOyAvLyBZb3UgY2FuIGNoYW5nZSB0aGUgcmVzdCAoYW5kIGFkZCBtb3JlKS5cblxudmFyIFBsYWNlbWVudCA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgVXBkYXRlID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNDtcbnZhciBDaGlsZERlbGV0aW9uID1cbi8qICAgICAgICAgICAgICAgICovXG4xNjtcbnZhciBDb250ZW50UmVzZXQgPVxuLyogICAgICAgICAgICAgICAgICovXG4zMjtcbnZhciBDYWxsYmFjayA9XG4vKiAgICAgICAgICAgICAgICAgICAgICovXG42NDtcbnZhciBEaWRDYXB0dXJlID1cbi8qICAgICAgICAgICAgICAgICAgICovXG4xMjg7XG52YXIgRm9yY2VDbGllbnRSZW5kZXIgPVxuLyogICAgICAgICAgICAqL1xuMjU2O1xudmFyIFJlZiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjUxMjtcbnZhciBTbmFwc2hvdCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICovXG4xMDI0O1xudmFyIFBhc3NpdmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgKi9cbjIwNDg7XG52YXIgSHlkcmF0aW5nID1cbi8qICAgICAgICAgICAgICAgICAgICAqL1xuNDA5NjtcbnZhciBWaXNpYmlsaXR5ID1cbi8qICAgICAgICAgICAgICAgICAgICovXG44MTkyO1xudmFyIFN0b3JlQ29uc2lzdGVuY3kgPVxuLyogICAgICAgICAgICAgKi9cbjE2Mzg0O1xudmFyIExpZmVjeWNsZUVmZmVjdE1hc2sgPSBQYXNzaXZlIHwgVXBkYXRlIHwgQ2FsbGJhY2sgfCBSZWYgfCBTbmFwc2hvdCB8IFN0b3JlQ29uc2lzdGVuY3k7IC8vIFVuaW9uIG9mIGFsbCBjb21taXQgZmxhZ3MgKGZsYWdzIHdpdGggdGhlIGxpZmV0aW1lIG9mIGEgcGFydGljdWxhciBjb21taXQpXG5cbnZhciBIb3N0RWZmZWN0TWFzayA9XG4vKiAgICAgICAgICAgICAgICovXG4zMjc2NzsgLy8gVGhlc2UgYXJlIG5vdCByZWFsbHkgc2lkZSBlZmZlY3RzLCBidXQgd2Ugc3RpbGwgcmV1c2UgdGhpcyBmaWVsZC5cblxudmFyIEluY29tcGxldGUgPVxuLyogICAgICAgICAgICAgICAgICAgKi9cbjMyNzY4O1xudmFyIFNob3VsZENhcHR1cmUgPVxuLyogICAgICAgICAgICAgICAgKi9cbjY1NTM2O1xudmFyIEZvcmNlVXBkYXRlRm9yTGVnYWN5U3VzcGVuc2UgPVxuLyogKi9cbjEzMTA3MjtcbnZhciBGb3JrZWQgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMDQ4NTc2OyAvLyBTdGF0aWMgdGFncyBkZXNjcmliZSBhc3BlY3RzIG9mIGEgZmliZXIgdGhhdCBhcmUgbm90IHNwZWNpZmljIHRvIGEgcmVuZGVyLFxuLy8gZS5nLiBhIGZpYmVyIHVzZXMgYSBwYXNzaXZlIGVmZmVjdCAoZXZlbiBpZiB0aGVyZSBhcmUgbm8gdXBkYXRlcyBvbiB0aGlzIHBhcnRpY3VsYXIgcmVuZGVyKS5cbi8vIFRoaXMgZW5hYmxlcyB1cyB0byBkZWZlciBtb3JlIHdvcmsgaW4gdGhlIHVubW91bnQgY2FzZSxcbi8vIHNpbmNlIHdlIGNhbiBkZWZlciB0cmF2ZXJzaW5nIHRoZSB0cmVlIGR1cmluZyBsYXlvdXQgdG8gbG9vayBmb3IgUGFzc2l2ZSBlZmZlY3RzLFxuLy8gYW5kIGluc3RlYWQgcmVseSBvbiB0aGUgc3RhdGljIGZsYWcgYXMgYSBzaWduYWwgdGhhdCB0aGVyZSBtYXkgYmUgY2xlYW51cCB3b3JrLlxuXG52YXIgUmVmU3RhdGljID1cbi8qICAgICAgICAgICAgICAgICAgICAqL1xuMjA5NzE1MjtcbnZhciBMYXlvdXRTdGF0aWMgPVxuLyogICAgICAgICAgICAgICAgICovXG40MTk0MzA0O1xudmFyIFBhc3NpdmVTdGF0aWMgPVxuLyogICAgICAgICAgICAgICAgKi9cbjgzODg2MDg7IC8vIFRoZXNlIGZsYWdzIGFsbG93IHVzIHRvIHRyYXZlcnNlIHRvIGZpYmVycyB0aGF0IGhhdmUgZWZmZWN0cyBvbiBtb3VudFxuLy8gd2l0aG91dCB0cmF2ZXJzaW5nIHRoZSBlbnRpcmUgdHJlZSBhZnRlciBldmVyeSBjb21taXQgZm9yXG4vLyBkb3VibGUgaW52b2tpbmdcblxudmFyIE1vdW50TGF5b3V0RGV2ID1cbi8qICAgICAgICAgICAgICAgKi9cbjE2Nzc3MjE2O1xudmFyIE1vdW50UGFzc2l2ZURldiA9XG4vKiAgICAgICAgICAgICAgKi9cbjMzNTU0NDMyOyAvLyBHcm91cHMgb2YgZmxhZ3MgdGhhdCBhcmUgdXNlZCBpbiB0aGUgY29tbWl0IHBoYXNlIHRvIHNraXAgb3ZlciB0cmVlcyB0aGF0XG4vLyBkb24ndCBjb250YWluIGVmZmVjdHMsIGJ5IGNoZWNraW5nIHN1YnRyZWVGbGFncy5cblxudmFyIEJlZm9yZU11dGF0aW9uTWFzayA9IC8vIFRPRE86IFJlbW92ZSBVcGRhdGUgZmxhZyBmcm9tIGJlZm9yZSBtdXRhdGlvbiBwaGFzZSBieSByZS1sYW5kaW5nIFZpc2liaWxpdHlcbi8vIGZsYWcgbG9naWMgKHNlZSAjMjAwNDMpXG5VcGRhdGUgfCBTbmFwc2hvdCB8ICggMCk7XG52YXIgTXV0YXRpb25NYXNrID0gUGxhY2VtZW50IHwgVXBkYXRlIHwgQ2hpbGREZWxldGlvbiB8IENvbnRlbnRSZXNldCB8IFJlZiB8IEh5ZHJhdGluZyB8IFZpc2liaWxpdHk7XG52YXIgTGF5b3V0TWFzayA9IFVwZGF0ZSB8IENhbGxiYWNrIHwgUmVmIHwgVmlzaWJpbGl0eTsgLy8gVE9ETzogU3BsaXQgaW50byBQYXNzaXZlTW91bnRNYXNrIGFuZCBQYXNzaXZlVW5tb3VudE1hc2tcblxudmFyIFBhc3NpdmVNYXNrID0gUGFzc2l2ZSB8IENoaWxkRGVsZXRpb247IC8vIFVuaW9uIG9mIHRhZ3MgdGhhdCBkb24ndCBnZXQgcmVzZXQgb24gY2xvbmVzLlxuLy8gVGhpcyBhbGxvd3MgY2VydGFpbiBjb25jZXB0cyB0byBwZXJzaXN0IHdpdGhvdXQgcmVjYWxjdWxhdGluZyB0aGVtLFxuLy8gZS5nLiB3aGV0aGVyIGEgc3VidHJlZSBjb250YWlucyBwYXNzaXZlIGVmZmVjdHMgb3IgcG9ydGFscy5cblxudmFyIFN0YXRpY01hc2sgPSBMYXlvdXRTdGF0aWMgfCBQYXNzaXZlU3RhdGljIHwgUmVmU3RhdGljO1xuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbmZ1bmN0aW9uIGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpIHtcbiAgdmFyIG5vZGUgPSBmaWJlcjtcbiAgdmFyIG5lYXJlc3RNb3VudGVkID0gZmliZXI7XG5cbiAgaWYgKCFmaWJlci5hbHRlcm5hdGUpIHtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyBhbHRlcm5hdGUsIHRoaXMgbWlnaHQgYmUgYSBuZXcgdHJlZSB0aGF0IGlzbid0IGluc2VydGVkXG4gICAgLy8geWV0LiBJZiBpdCBpcywgdGhlbiBpdCB3aWxsIGhhdmUgYSBwZW5kaW5nIGluc2VydGlvbiBlZmZlY3Qgb24gaXQuXG4gICAgdmFyIG5leHROb2RlID0gbm9kZTtcblxuICAgIGRvIHtcbiAgICAgIG5vZGUgPSBuZXh0Tm9kZTtcblxuICAgICAgaWYgKChub2RlLmZsYWdzICYgKFBsYWNlbWVudCB8IEh5ZHJhdGluZykpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gaW5zZXJ0aW9uIG9yIGluLXByb2dyZXNzIGh5ZHJhdGlvbi4gVGhlIG5lYXJlc3QgcG9zc2libGVcbiAgICAgICAgLy8gbW91bnRlZCBmaWJlciBpcyB0aGUgcGFyZW50IGJ1dCB3ZSBuZWVkIHRvIGNvbnRpbnVlIHRvIGZpZ3VyZSBvdXRcbiAgICAgICAgLy8gaWYgdGhhdCBvbmUgaXMgc3RpbGwgbW91bnRlZC5cbiAgICAgICAgbmVhcmVzdE1vdW50ZWQgPSBub2RlLnJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dE5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9IHdoaWxlIChuZXh0Tm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKG5vZGUucmV0dXJuKSB7XG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgd2FzIGEgbmVzdGVkIEhvc3RSb290IHdoZW4gdXNlZCB3aXRoXG4gICAgLy8gcmVuZGVyQ29udGFpbmVySW50b1N1YnRyZWUuXG4gICAgcmV0dXJuIG5lYXJlc3RNb3VudGVkO1xuICB9IC8vIElmIHdlIGRpZG4ndCBoaXQgdGhlIHJvb3QsIHRoYXQgbWVhbnMgdGhhdCB3ZSdyZSBpbiBhbiBkaXNjb25uZWN0ZWQgdHJlZVxuICAvLyB0aGF0IGhhcyBiZWVuIHVubW91bnRlZC5cblxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihmaWJlcikge1xuICBpZiAoZmliZXIudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlID09PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgc3VzcGVuc2VTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldENvbnRhaW5lckZyb21GaWJlcihmaWJlcikge1xuICByZXR1cm4gZmliZXIudGFnID09PSBIb3N0Um9vdCA/IGZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIDogbnVsbDtcbn1cbmZ1bmN0aW9uIGlzRmliZXJNb3VudGVkKGZpYmVyKSB7XG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5mdW5jdGlvbiBpc01vdW50ZWQoY29tcG9uZW50KSB7XG4gIHtcbiAgICB2YXIgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHZhciBvd25lckZpYmVyID0gb3duZXI7XG4gICAgICB2YXIgaW5zdGFuY2UgPSBvd25lckZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgaWYgKCFpbnN0YW5jZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIpIHtcbiAgICAgICAgZXJyb3IoJyVzIGlzIGFjY2Vzc2luZyBpc01vdW50ZWQgaW5zaWRlIGl0cyByZW5kZXIoKSBmdW5jdGlvbi4gJyArICdyZW5kZXIoKSBzaG91bGQgYmUgYSBwdXJlIGZ1bmN0aW9uIG9mIHByb3BzIGFuZCBzdGF0ZS4gSXQgc2hvdWxkICcgKyAnbmV2ZXIgYWNjZXNzIHNvbWV0aGluZyB0aGF0IHJlcXVpcmVzIHN0YWxlIGRhdGEgZnJvbSB0aGUgcHJldmlvdXMgJyArICdyZW5kZXIsIHN1Y2ggYXMgcmVmcy4gTW92ZSB0aGlzIGxvZ2ljIHRvIGNvbXBvbmVudERpZE1vdW50IGFuZCAnICsgJ2NvbXBvbmVudERpZFVwZGF0ZSBpbnN0ZWFkLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIob3duZXJGaWJlcikgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIGluc3RhbmNlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlciA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gZ2V0KGNvbXBvbmVudCk7XG5cbiAgaWYgKCFmaWJlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5cbmZ1bmN0aW9uIGFzc2VydElzTW91bnRlZChmaWJlcikge1xuICBpZiAoZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcikgIT09IGZpYmVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoIWFsdGVybmF0ZSkge1xuICAgIC8vIElmIHRoZXJlIGlzIG5vIGFsdGVybmF0ZSwgdGhlbiB3ZSBvbmx5IG5lZWQgdG8gY2hlY2sgaWYgaXQgaXMgbW91bnRlZC5cbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKTtcblxuICAgIGlmIChuZWFyZXN0TW91bnRlZCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgfVxuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBmaWJlcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIElmIHdlIGhhdmUgdHdvIHBvc3NpYmxlIGJyYW5jaGVzLCB3ZSdsbCB3YWxrIGJhY2t3YXJkcyB1cCB0byB0aGUgcm9vdFxuICAvLyB0byBzZWUgd2hhdCBwYXRoIHRoZSByb290IHBvaW50cyB0by4gT24gdGhlIHdheSB3ZSBtYXkgaGl0IG9uZSBvZiB0aGVcbiAgLy8gc3BlY2lhbCBjYXNlcyBhbmQgd2UnbGwgZGVhbCB3aXRoIHRoZW0uXG5cblxuICB2YXIgYSA9IGZpYmVyO1xuICB2YXIgYiA9IGFsdGVybmF0ZTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIHZhciBwYXJlbnRBID0gYS5yZXR1cm47XG5cbiAgICBpZiAocGFyZW50QSA9PT0gbnVsbCkge1xuICAgICAgLy8gV2UncmUgYXQgdGhlIHJvb3QuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50QiA9IHBhcmVudEEuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKHBhcmVudEIgPT09IG51bGwpIHtcbiAgICAgIC8vIFRoZXJlIGlzIG5vIGFsdGVybmF0ZS4gVGhpcyBpcyBhbiB1bnVzdWFsIGNhc2UuIEN1cnJlbnRseSwgaXQgb25seVxuICAgICAgLy8gaGFwcGVucyB3aGVuIGEgU3VzcGVuc2UgY29tcG9uZW50IGlzIGhpZGRlbi4gQW4gZXh0cmEgZnJhZ21lbnQgZmliZXJcbiAgICAgIC8vIGlzIGluc2VydGVkIGluIGJldHdlZW4gdGhlIFN1c3BlbnNlIGZpYmVyIGFuZCBpdHMgY2hpbGRyZW4uIFNraXBcbiAgICAgIC8vIG92ZXIgdGhpcyBleHRyYSBmcmFnbWVudCBmaWJlciBhbmQgcHJvY2VlZCB0byB0aGUgbmV4dCBwYXJlbnQuXG4gICAgICB2YXIgbmV4dFBhcmVudCA9IHBhcmVudEEucmV0dXJuO1xuXG4gICAgICBpZiAobmV4dFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICBhID0gYiA9IG5leHRQYXJlbnQ7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSAvLyBJZiB0aGVyZSdzIG5vIHBhcmVudCwgd2UncmUgYXQgdGhlIHJvb3QuXG5cblxuICAgICAgYnJlYWs7XG4gICAgfSAvLyBJZiBib3RoIGNvcGllcyBvZiB0aGUgcGFyZW50IGZpYmVyIHBvaW50IHRvIHRoZSBzYW1lIGNoaWxkLCB3ZSBjYW5cbiAgICAvLyBhc3N1bWUgdGhhdCB0aGUgY2hpbGQgaXMgY3VycmVudC4gVGhpcyBoYXBwZW5zIHdoZW4gd2UgYmFpbG91dCBvbiBsb3dcbiAgICAvLyBwcmlvcml0eTogdGhlIGJhaWxlZCBvdXQgZmliZXIncyBjaGlsZCByZXVzZXMgdGhlIGN1cnJlbnQgY2hpbGQuXG5cblxuICAgIGlmIChwYXJlbnRBLmNoaWxkID09PSBwYXJlbnRCLmNoaWxkKSB7XG4gICAgICB2YXIgY2hpbGQgPSBwYXJlbnRBLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgICAgaWYgKGNoaWxkID09PSBhKSB7XG4gICAgICAgICAgLy8gV2UndmUgZGV0ZXJtaW5lZCB0aGF0IEEgaXMgdGhlIGN1cnJlbnQgYnJhbmNoLlxuICAgICAgICAgIGFzc2VydElzTW91bnRlZChwYXJlbnRBKTtcbiAgICAgICAgICByZXR1cm4gZmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQiBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgICAgICAgYXNzZXJ0SXNNb3VudGVkKHBhcmVudEEpO1xuICAgICAgICAgIHJldHVybiBhbHRlcm5hdGU7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9IC8vIFdlIHNob3VsZCBuZXZlciBoYXZlIGFuIGFsdGVybmF0ZSBmb3IgYW55IG1vdW50aW5nIG5vZGUuIFNvIHRoZSBvbmx5XG4gICAgICAvLyB3YXkgdGhpcyBjb3VsZCBwb3NzaWJseSBoYXBwZW4gaXMgaWYgdGhpcyB3YXMgdW5tb3VudGVkLCBpZiBhdCBhbGwuXG5cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgfVxuXG4gICAgaWYgKGEucmV0dXJuICE9PSBiLnJldHVybikge1xuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVyIG9mIEEgYW5kIHRoZSByZXR1cm4gcG9pbnRlciBvZiBCIHBvaW50IHRvIGRpZmZlcmVudFxuICAgICAgLy8gZmliZXJzLiBXZSBhc3N1bWUgdGhhdCByZXR1cm4gcG9pbnRlcnMgbmV2ZXIgY3Jpc3MtY3Jvc3MsIHNvIEEgbXVzdFxuICAgICAgLy8gYmVsb25nIHRvIHRoZSBjaGlsZCBzZXQgb2YgQS5yZXR1cm4sIGFuZCBCIG11c3QgYmVsb25nIHRvIHRoZSBjaGlsZFxuICAgICAgLy8gc2V0IG9mIEIucmV0dXJuLlxuICAgICAgYSA9IHBhcmVudEE7XG4gICAgICBiID0gcGFyZW50QjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVycyBwb2ludCB0byB0aGUgc2FtZSBmaWJlci4gV2UnbGwgaGF2ZSB0byB1c2UgdGhlXG4gICAgICAvLyBkZWZhdWx0LCBzbG93IHBhdGg6IHNjYW4gdGhlIGNoaWxkIHNldHMgb2YgZWFjaCBwYXJlbnQgYWx0ZXJuYXRlIHRvIHNlZVxuICAgICAgLy8gd2hpY2ggY2hpbGQgYmVsb25ncyB0byB3aGljaCBzZXQuXG4gICAgICAvL1xuICAgICAgLy8gU2VhcmNoIHBhcmVudCBBJ3MgY2hpbGQgc2V0XG4gICAgICB2YXIgZGlkRmluZENoaWxkID0gZmFsc2U7XG4gICAgICB2YXIgX2NoaWxkID0gcGFyZW50QS5jaGlsZDtcblxuICAgICAgd2hpbGUgKF9jaGlsZCkge1xuICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XG4gICAgICAgICAgZGlkRmluZENoaWxkID0gdHJ1ZTtcbiAgICAgICAgICBhID0gcGFyZW50QTtcbiAgICAgICAgICBiID0gcGFyZW50QjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgIGIgPSBwYXJlbnRBO1xuICAgICAgICAgIGEgPSBwYXJlbnRCO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGlmICghZGlkRmluZENoaWxkKSB7XG4gICAgICAgIC8vIFNlYXJjaCBwYXJlbnQgQidzIGNoaWxkIHNldFxuICAgICAgICBfY2hpbGQgPSBwYXJlbnRCLmNoaWxkO1xuXG4gICAgICAgIHdoaWxlIChfY2hpbGQpIHtcbiAgICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XG4gICAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgICAgYSA9IHBhcmVudEI7XG4gICAgICAgICAgICBiID0gcGFyZW50QTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChfY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XG4gICAgICAgICAgICBiID0gcGFyZW50QjtcbiAgICAgICAgICAgIGEgPSBwYXJlbnRBO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRpZEZpbmRDaGlsZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2hpbGQgd2FzIG5vdCBmb3VuZCBpbiBlaXRoZXIgcGFyZW50IHNldC4gVGhpcyBpbmRpY2F0ZXMgYSBidWcgJyArICdpbiBSZWFjdCByZWxhdGVkIHRvIHRoZSByZXR1cm4gcG9pbnRlci4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoYS5hbHRlcm5hdGUgIT09IGIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlJldHVybiBmaWJlcnMgc2hvdWxkIGFsd2F5cyBiZSBlYWNoIG90aGVycycgYWx0ZXJuYXRlcy4gXCIgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH0gLy8gSWYgdGhlIHJvb3QgaXMgbm90IGEgaG9zdCBjb250YWluZXIsIHdlJ3JlIGluIGEgZGlzY29ubmVjdGVkIHRyZWUuIEkuZS5cbiAgLy8gdW5tb3VudGVkLlxuXG5cbiAgaWYgKGEudGFnICE9PSBIb3N0Um9vdCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LicpO1xuICB9XG5cbiAgaWYgKGEuc3RhdGVOb2RlLmN1cnJlbnQgPT09IGEpIHtcbiAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQSBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIE90aGVyd2lzZSBCIGhhcyB0byBiZSBjdXJyZW50IGJyYW5jaC5cblxuXG4gIHJldHVybiBhbHRlcm5hdGU7XG59XG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcihwYXJlbnQpIHtcbiAgdmFyIGN1cnJlbnRQYXJlbnQgPSBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChwYXJlbnQpO1xuICByZXR1cm4gY3VycmVudFBhcmVudCAhPT0gbnVsbCA/IGZpbmRDdXJyZW50SG9zdEZpYmVySW1wbChjdXJyZW50UGFyZW50KSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVySW1wbChub2RlKSB7XG4gIC8vIE5leHQgd2UnbGwgZHJpbGwgZG93biB0aGlzIGNvbXBvbmVudCB0byBmaW5kIHRoZSBmaXJzdCBIb3N0Q29tcG9uZW50L1RleHQuXG4gIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgdmFyIG1hdGNoID0gZmluZEN1cnJlbnRIb3N0RmliZXJJbXBsKGNoaWxkKTtcblxuICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH1cblxuICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHMocGFyZW50KSB7XG4gIHZhciBjdXJyZW50UGFyZW50ID0gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgocGFyZW50KTtcbiAgcmV0dXJuIGN1cnJlbnRQYXJlbnQgIT09IG51bGwgPyBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHNJbXBsKGN1cnJlbnRQYXJlbnQpIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChub2RlKSB7XG4gIC8vIE5leHQgd2UnbGwgZHJpbGwgZG93biB0aGlzIGNvbXBvbmVudCB0byBmaW5kIHRoZSBmaXJzdCBIb3N0Q29tcG9uZW50L1RleHQuXG4gIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgaWYgKGNoaWxkLnRhZyAhPT0gSG9zdFBvcnRhbCkge1xuICAgICAgdmFyIG1hdGNoID0gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChjaGlsZCk7XG5cbiAgICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIFRoaXMgbW9kdWxlIG9ubHkgZXhpc3RzIGFzIGFuIEVTTSB3cmFwcGVyIGFyb3VuZCB0aGUgZXh0ZXJuYWwgQ29tbW9uSlNcbnZhciBzY2hlZHVsZUNhbGxiYWNrID0gU2NoZWR1bGVyLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XG52YXIgY2FuY2VsQ2FsbGJhY2sgPSBTY2hlZHVsZXIudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s7XG52YXIgc2hvdWxkWWllbGQgPSBTY2hlZHVsZXIudW5zdGFibGVfc2hvdWxkWWllbGQ7XG52YXIgcmVxdWVzdFBhaW50ID0gU2NoZWR1bGVyLnVuc3RhYmxlX3JlcXVlc3RQYWludDtcbnZhciBub3cgPSBTY2hlZHVsZXIudW5zdGFibGVfbm93O1xudmFyIGdldEN1cnJlbnRQcmlvcml0eUxldmVsID0gU2NoZWR1bGVyLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsO1xudmFyIEltbWVkaWF0ZVByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5O1xudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5O1xudmFyIE5vcm1hbFByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5O1xudmFyIExvd1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX0xvd1ByaW9yaXR5O1xudmFyIElkbGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JZGxlUHJpb3JpdHk7XG4vLyB0aGlzIGRvZXNuJ3QgYWN0dWFsbHkgZXhpc3Qgb24gdGhlIHNjaGVkdWxlciwgYnV0IGl0ICpkb2VzKlxuLy8gb24gc2NoZWR1bGVyL3Vuc3RhYmxlX21vY2ssIHdoaWNoIHdlJ2xsIG5lZWQgZm9yIGludGVybmFsIHRlc3RpbmdcbnZhciB1bnN0YWJsZV95aWVsZFZhbHVlID0gU2NoZWR1bGVyLnVuc3RhYmxlX3lpZWxkVmFsdWU7XG52YXIgdW5zdGFibGVfc2V0RGlzYWJsZVlpZWxkVmFsdWUgPSBTY2hlZHVsZXIudW5zdGFibGVfc2V0RGlzYWJsZVlpZWxkVmFsdWU7XG5cbnZhciByZW5kZXJlcklEID0gbnVsbDtcbnZhciBpbmplY3RlZEhvb2sgPSBudWxsO1xudmFyIGluamVjdGVkUHJvZmlsaW5nSG9va3MgPSBudWxsO1xudmFyIGhhc0xvZ2dlZEVycm9yID0gZmFsc2U7XG52YXIgaXNEZXZUb29sc1ByZXNlbnQgPSB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJztcbmZ1bmN0aW9uIGluamVjdEludGVybmFscyhpbnRlcm5hbHMpIHtcbiAgaWYgKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gTm8gRGV2VG9vbHNcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgaG9vayA9IF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztcblxuICBpZiAoaG9vay5pc0Rpc2FibGVkKSB7XG4gICAgLy8gVGhpcyBpc24ndCBhIHJlYWwgcHJvcGVydHkgb24gdGhlIGhvb2ssIGJ1dCBpdCBjYW4gYmUgc2V0IHRvIG9wdCBvdXRcbiAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzM4NzdcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICghaG9vay5zdXBwb3J0c0ZpYmVyKSB7XG4gICAge1xuICAgICAgZXJyb3IoJ1RoZSBpbnN0YWxsZWQgdmVyc2lvbiBvZiBSZWFjdCBEZXZUb29scyBpcyB0b28gb2xkIGFuZCB3aWxsIG5vdCB3b3JrICcgKyAnd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIFJlYWN0LiBQbGVhc2UgdXBkYXRlIFJlYWN0IERldlRvb2xzLiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9yZWFjdC1kZXZ0b29scycpO1xuICAgIH0gLy8gRGV2VG9vbHMgZXhpc3RzLCBldmVuIHRob3VnaCBpdCBkb2Vzbid0IHN1cHBvcnQgRmliZXIuXG5cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlU2NoZWR1bGluZ1Byb2ZpbGVyKSB7XG4gICAgICAvLyBDb25kaXRpb25hbGx5IGluamVjdCB0aGVzZSBob29rcyBvbmx5IGlmIFRpbWVsaW5lIHByb2ZpbGVyIGlzIHN1cHBvcnRlZCBieSB0aGlzIGJ1aWxkLlxuICAgICAgLy8gVGhpcyBnaXZlcyBEZXZUb29scyBhIHdheSB0byBmZWF0dXJlIGRldGVjdCB0aGF0IGlzbid0IHRpZWQgdG8gdmVyc2lvbiBudW1iZXJcbiAgICAgIC8vIChzaW5jZSBwcm9maWxpbmcgYW5kIHRpbWVsaW5lIGFyZSBjb250cm9sbGVkIGJ5IGRpZmZlcmVudCBmZWF0dXJlIGZsYWdzKS5cbiAgICAgIGludGVybmFscyA9IGFzc2lnbih7fSwgaW50ZXJuYWxzLCB7XG4gICAgICAgIGdldExhbmVMYWJlbE1hcDogZ2V0TGFuZUxhYmVsTWFwLFxuICAgICAgICBpbmplY3RQcm9maWxpbmdIb29rczogaW5qZWN0UHJvZmlsaW5nSG9va3NcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbmRlcmVySUQgPSBob29rLmluamVjdChpbnRlcm5hbHMpOyAvLyBXZSBoYXZlIHN1Y2Nlc3NmdWxseSBpbmplY3RlZCwgc28gbm93IGl0IGlzIHNhZmUgdG8gc2V0IHVwIGhvb2tzLlxuXG4gICAgaW5qZWN0ZWRIb29rID0gaG9vaztcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gQ2F0Y2ggYWxsIGVycm9ycyBiZWNhdXNlIGl0IGlzIHVuc2FmZSB0byB0aHJvdyBkdXJpbmcgaW5pdGlhbGl6YXRpb24uXG4gICAge1xuICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMuJywgZXJyKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaG9vay5jaGVja0RDRSkge1xuICAgIC8vIFRoaXMgaXMgdGhlIHJlYWwgRGV2VG9vbHMuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhpcyBpcyBsaWtlbHkgYSBob29rIGluc3RhbGxlZCBieSBGYXN0IFJlZnJlc2ggcnVudGltZS5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIG9uU2NoZWR1bGVSb290KHJvb3QsIGNoaWxkcmVuKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2sub25TY2hlZHVsZUZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLm9uU2NoZWR1bGVGaWJlclJvb3QocmVuZGVyZXJJRCwgcm9vdCwgY2hpbGRyZW4pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICggIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFJvb3Qocm9vdCwgZXZlbnRQcmlvcml0eSkge1xuICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2sub25Db21taXRGaWJlclJvb3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICB0cnkge1xuICAgICAgdmFyIGRpZEVycm9yID0gKHJvb3QuY3VycmVudC5mbGFncyAmIERpZENhcHR1cmUpID09PSBEaWRDYXB0dXJlO1xuXG4gICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lcikge1xuICAgICAgICB2YXIgc2NoZWR1bGVyUHJpb3JpdHk7XG5cbiAgICAgICAgc3dpdGNoIChldmVudFByaW9yaXR5KSB7XG4gICAgICAgICAgY2FzZSBEaXNjcmV0ZUV2ZW50UHJpb3JpdHk6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IEltbWVkaWF0ZVByaW9yaXR5O1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIENvbnRpbnVvdXNFdmVudFByaW9yaXR5OlxuICAgICAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHkgPSBVc2VyQmxvY2tpbmdQcmlvcml0eTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICAgICAgICAgIHNjaGVkdWxlclByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgSWRsZUV2ZW50UHJpb3JpdHk6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IElkbGVQcmlvcml0eTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHNjaGVkdWxlclByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBzY2hlZHVsZXJQcmlvcml0eSwgZGlkRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLm9uQ29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QsIHVuZGVmaW5lZCwgZGlkRXJyb3IpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvblBvc3RDb21taXRSb290KHJvb3QpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uUG9zdENvbW1pdEZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRyeSB7XG4gICAgICBpbmplY3RlZEhvb2sub25Qb3N0Q29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFVubW91bnQoZmliZXIpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uQ29tbWl0RmliZXJVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyVW5tb3VudChyZW5kZXJlcklELCBmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB7XG4gICAgICAgIGlmICghaGFzTG9nZ2VkRXJyb3IpIHtcbiAgICAgICAgICBoYXNMb2dnZWRFcnJvciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKG5ld0lzU3RyaWN0TW9kZSkge1xuICB7XG4gICAgaWYgKHR5cGVvZiB1bnN0YWJsZV95aWVsZFZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBXZSdyZSBpbiBhIHRlc3QgYmVjYXVzZSBTY2hlZHVsZXIudW5zdGFibGVfeWllbGRWYWx1ZSBvbmx5IGV4aXN0c1xuICAgICAgLy8gaW4gU2NoZWR1bGVyTW9jay4gVG8gcmVkdWNlIHRoZSBub2lzZSBpbiBzdHJpY3QgbW9kZSB0ZXN0cyxcbiAgICAgIC8vIHN1cHByZXNzIHdhcm5pbmdzIGFuZCBkaXNhYmxlIHNjaGVkdWxlciB5aWVsZGluZyBkdXJpbmcgdGhlIGRvdWJsZSByZW5kZXJcbiAgICAgIHVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlKG5ld0lzU3RyaWN0TW9kZSk7XG4gICAgICBzZXRTdXBwcmVzc1dhcm5pbmcobmV3SXNTdHJpY3RNb2RlKTtcbiAgICB9XG5cbiAgICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2suc2V0U3RyaWN0TW9kZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLnNldFN0cmljdE1vZGUocmVuZGVyZXJJRCwgbmV3SXNTdHJpY3RNb2RlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xuICAgICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIFByb2ZpbGVyIEFQSSBob29rc1xuXG5mdW5jdGlvbiBpbmplY3RQcm9maWxpbmdIb29rcyhwcm9maWxpbmdIb29rcykge1xuICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzID0gcHJvZmlsaW5nSG9va3M7XG59XG5cbmZ1bmN0aW9uIGdldExhbmVMYWJlbE1hcCgpIHtcbiAge1xuICAgIHZhciBtYXAgPSBuZXcgTWFwKCk7XG4gICAgdmFyIGxhbmUgPSAxO1xuXG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IFRvdGFsTGFuZXM7IGluZGV4KyspIHtcbiAgICAgIHZhciBsYWJlbCA9IGdldExhYmVsRm9yTGFuZShsYW5lKTtcbiAgICAgIG1hcC5zZXQobGFuZSwgbGFiZWwpO1xuICAgICAgbGFuZSAqPSAyO1xuICAgIH1cblxuICAgIHJldHVybiBtYXA7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya0NvbW1pdFN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21taXRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdGFydGVkKGZpYmVyKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50U3VzcGVuZGVkKGZpYmVyLCB3YWtlYWJsZSwgbGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRTdXNwZW5kZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFN1c3BlbmRlZChmaWJlciwgd2FrZWFibGUsIGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkKGxhbmVzKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJZaWVsZGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclNjaGVkdWxlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUmVuZGVyU2NoZWR1bGVkKGxhbmUpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrRm9yY2VVcGRhdGVTY2hlZHVsZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBOb01vZGUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjA7IC8vIFRPRE86IFJlbW92ZSBDb25jdXJyZW50TW9kZSBieSByZWFkaW5nIGZyb20gdGhlIHJvb3QgdGFnIGluc3RlYWRcblxudmFyIENvbmN1cnJlbnRNb2RlID1cbi8qICAgICAgICAgICAgICAgICAqL1xuMTtcbnZhciBQcm9maWxlTW9kZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgU3RyaWN0TGVnYWN5TW9kZSA9XG4vKiAgICAgICAgICAgICAgICovXG44O1xudmFyIFN0cmljdEVmZmVjdHNNb2RlID1cbi8qICAgICAgICAgICAgICAqL1xuMTY7XG5cbi8vIFRPRE86IFRoaXMgaXMgcHJldHR5IHdlbGwgc3VwcG9ydGVkIGJ5IGJyb3dzZXJzLiBNYXliZSB3ZSBjYW4gZHJvcCBpdC5cbnZhciBjbHozMiA9IE1hdGguY2x6MzIgPyBNYXRoLmNsejMyIDogY2x6MzJGYWxsYmFjazsgLy8gQ291bnQgbGVhZGluZyB6ZXJvcy5cbi8vIEJhc2VkIG9uOlxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvTWF0aC9jbHozMlxuXG52YXIgbG9nID0gTWF0aC5sb2c7XG52YXIgTE4yID0gTWF0aC5MTjI7XG5cbmZ1bmN0aW9uIGNsejMyRmFsbGJhY2soeCkge1xuICB2YXIgYXNVaW50ID0geCA+Pj4gMDtcblxuICBpZiAoYXNVaW50ID09PSAwKSB7XG4gICAgcmV0dXJuIDMyO1xuICB9XG5cbiAgcmV0dXJuIDMxIC0gKGxvZyhhc1VpbnQpIC8gTE4yIHwgMCkgfCAwO1xufVxuXG4vLyBJZiB0aG9zZSB2YWx1ZXMgYXJlIGNoYW5nZWQgdGhhdCBwYWNrYWdlIHNob3VsZCBiZSByZWJ1aWx0IGFuZCByZWRlcGxveWVkLlxuXG52YXIgVG90YWxMYW5lcyA9IDMxO1xudmFyIE5vTGFuZXMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAqL1xuMDtcbnZhciBOb0xhbmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICovXG4wO1xudmFyIFN5bmNMYW5lID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjE7XG52YXIgSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZSA9XG4vKiAgICAqL1xuMjtcbnZhciBJbnB1dENvbnRpbnVvdXNMYW5lID1cbi8qICAgICAgICAgICAgICovXG40O1xudmFyIERlZmF1bHRIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICAgKi9cbjg7XG52YXIgRGVmYXVsdExhbmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAqL1xuMTY7XG52YXIgVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmUgPVxuLyogICAgICAgICAgICAgICAgKi9cbjMyO1xudmFyIFRyYW5zaXRpb25MYW5lcyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjQxOTQyNDA7XG52YXIgVHJhbnNpdGlvbkxhbmUxID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjY0O1xudmFyIFRyYW5zaXRpb25MYW5lMiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xMjg7XG52YXIgVHJhbnNpdGlvbkxhbmUzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjI1NjtcbnZhciBUcmFuc2l0aW9uTGFuZTQgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAqL1xuNTEyO1xudmFyIFRyYW5zaXRpb25MYW5lNSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xMDI0O1xudmFyIFRyYW5zaXRpb25MYW5lNiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4yMDQ4O1xudmFyIFRyYW5zaXRpb25MYW5lNyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG40MDk2O1xudmFyIFRyYW5zaXRpb25MYW5lOCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG44MTkyO1xudmFyIFRyYW5zaXRpb25MYW5lOSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xNjM4NDtcbnZhciBUcmFuc2l0aW9uTGFuZTEwID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuMzI3Njg7XG52YXIgVHJhbnNpdGlvbkxhbmUxMSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjY1NTM2O1xudmFyIFRyYW5zaXRpb25MYW5lMTIgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMzEwNzI7XG52YXIgVHJhbnNpdGlvbkxhbmUxMyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjI2MjE0NDtcbnZhciBUcmFuc2l0aW9uTGFuZTE0ID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNTI0Mjg4O1xudmFyIFRyYW5zaXRpb25MYW5lMTUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMDQ4NTc2O1xudmFyIFRyYW5zaXRpb25MYW5lMTYgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4yMDk3MTUyO1xudmFyIFJldHJ5TGFuZXMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjEzMDAyMzQyNDtcbnZhciBSZXRyeUxhbmUxID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuNDE5NDMwNDtcbnZhciBSZXRyeUxhbmUyID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuODM4ODYwODtcbnZhciBSZXRyeUxhbmUzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuMTY3NzcyMTY7XG52YXIgUmV0cnlMYW5lNCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjMzNTU0NDMyO1xudmFyIFJldHJ5TGFuZTUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG42NzEwODg2NDtcbnZhciBTb21lUmV0cnlMYW5lID0gUmV0cnlMYW5lMTtcbnZhciBTZWxlY3RpdmVIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICovXG4xMzQyMTc3Mjg7XG52YXIgTm9uSWRsZUxhbmVzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuMjY4NDM1NDU1O1xudmFyIElkbGVIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICAgICAgKi9cbjI2ODQzNTQ1NjtcbnZhciBJZGxlTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG41MzY4NzA5MTI7XG52YXIgT2Zmc2NyZWVuTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAqL1xuMTA3Mzc0MTgyNDsgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvciB0aGUgZXhwZXJpbWVudGFsIHRpbWVsaW5lIChyZWFjdC1kZXZ0b29scy10aW1lbGluZSlcbi8vIEl0IHNob3VsZCBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgTGFuZXMgdmFsdWVzIGFib3ZlLlxuXG5mdW5jdGlvbiBnZXRMYWJlbEZvckxhbmUobGFuZSkge1xuICB7XG4gICAgaWYgKGxhbmUgJiBTeW5jTGFuZSkge1xuICAgICAgcmV0dXJuICdTeW5jJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0xhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIERlZmF1bHRIeWRyYXRpb25MYW5lKSB7XG4gICAgICByZXR1cm4gJ0RlZmF1bHRIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgRGVmYXVsdExhbmUpIHtcbiAgICAgIHJldHVybiAnRGVmYXVsdCc7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBUcmFuc2l0aW9uSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFRyYW5zaXRpb25MYW5lcykge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFJldHJ5TGFuZXMpIHtcbiAgICAgIHJldHVybiAnUmV0cnknO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgU2VsZWN0aXZlSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdTZWxlY3RpdmVIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgSWRsZUh5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSWRsZUh5ZHJhdGlvbic7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBJZGxlTGFuZSkge1xuICAgICAgcmV0dXJuICdJZGxlJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIE9mZnNjcmVlbkxhbmUpIHtcbiAgICAgIHJldHVybiAnT2Zmc2NyZWVuJztcbiAgICB9XG4gIH1cbn1cbnZhciBOb1RpbWVzdGFtcCA9IC0xO1xudmFyIG5leHRUcmFuc2l0aW9uTGFuZSA9IFRyYW5zaXRpb25MYW5lMTtcbnZhciBuZXh0UmV0cnlMYW5lID0gUmV0cnlMYW5lMTtcblxuZnVuY3Rpb24gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMobGFuZXMpIHtcbiAgc3dpdGNoIChnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKGxhbmVzKSkge1xuICAgIGNhc2UgU3luY0xhbmU6XG4gICAgICByZXR1cm4gU3luY0xhbmU7XG5cbiAgICBjYXNlIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgSW5wdXRDb250aW51b3VzTGFuZTpcbiAgICAgIHJldHVybiBJbnB1dENvbnRpbnVvdXNMYW5lO1xuXG4gICAgY2FzZSBEZWZhdWx0SHlkcmF0aW9uTGFuZTpcbiAgICAgIHJldHVybiBEZWZhdWx0SHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgRGVmYXVsdExhbmU6XG4gICAgICByZXR1cm4gRGVmYXVsdExhbmU7XG5cbiAgICBjYXNlIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lOlxuICAgICAgcmV0dXJuIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lO1xuXG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTc6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTg6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEwOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE2OlxuICAgICAgcmV0dXJuIGxhbmVzICYgVHJhbnNpdGlvbkxhbmVzO1xuXG4gICAgY2FzZSBSZXRyeUxhbmUxOlxuICAgIGNhc2UgUmV0cnlMYW5lMjpcbiAgICBjYXNlIFJldHJ5TGFuZTM6XG4gICAgY2FzZSBSZXRyeUxhbmU0OlxuICAgIGNhc2UgUmV0cnlMYW5lNTpcbiAgICAgIHJldHVybiBsYW5lcyAmIFJldHJ5TGFuZXM7XG5cbiAgICBjYXNlIFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gU2VsZWN0aXZlSHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgSWRsZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gSWRsZUh5ZHJhdGlvbkxhbmU7XG5cbiAgICBjYXNlIElkbGVMYW5lOlxuICAgICAgcmV0dXJuIElkbGVMYW5lO1xuXG4gICAgY2FzZSBPZmZzY3JlZW5MYW5lOlxuICAgICAgcmV0dXJuIE9mZnNjcmVlbkxhbmU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICBlcnJvcignU2hvdWxkIGhhdmUgZm91bmQgbWF0Y2hpbmcgbGFuZXMuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9IC8vIFRoaXMgc2hvdWxkbid0IGJlIHJlYWNoYWJsZSwgYnV0IGFzIGEgZmFsbGJhY2ssIHJldHVybiB0aGUgZW50aXJlIGJpdG1hc2suXG5cblxuICAgICAgcmV0dXJuIGxhbmVzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5leHRMYW5lcyhyb290LCB3aXBMYW5lcykge1xuICAvLyBFYXJseSBiYWlsb3V0IGlmIHRoZXJlJ3Mgbm8gcGVuZGluZyB3b3JrIGxlZnQuXG4gIHZhciBwZW5kaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lcztcblxuICBpZiAocGVuZGluZ0xhbmVzID09PSBOb0xhbmVzKSB7XG4gICAgcmV0dXJuIE5vTGFuZXM7XG4gIH1cblxuICB2YXIgbmV4dExhbmVzID0gTm9MYW5lcztcbiAgdmFyIHN1c3BlbmRlZExhbmVzID0gcm9vdC5zdXNwZW5kZWRMYW5lcztcbiAgdmFyIHBpbmdlZExhbmVzID0gcm9vdC5waW5nZWRMYW5lczsgLy8gRG8gbm90IHdvcmsgb24gYW55IGlkbGUgd29yayB1bnRpbCBhbGwgdGhlIG5vbi1pZGxlIHdvcmsgaGFzIGZpbmlzaGVkLFxuICAvLyBldmVuIGlmIHRoZSB3b3JrIGlzIHN1c3BlbmRlZC5cblxuICB2YXIgbm9uSWRsZVBlbmRpbmdMYW5lcyA9IHBlbmRpbmdMYW5lcyAmIE5vbklkbGVMYW5lcztcblxuICBpZiAobm9uSWRsZVBlbmRpbmdMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgIHZhciBub25JZGxlVW5ibG9ja2VkTGFuZXMgPSBub25JZGxlUGVuZGluZ0xhbmVzICYgfnN1c3BlbmRlZExhbmVzO1xuXG4gICAgaWYgKG5vbklkbGVVbmJsb2NrZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMobm9uSWRsZVVuYmxvY2tlZExhbmVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIG5vbklkbGVQaW5nZWRMYW5lcyA9IG5vbklkbGVQZW5kaW5nTGFuZXMgJiBwaW5nZWRMYW5lcztcblxuICAgICAgaWYgKG5vbklkbGVQaW5nZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgICBuZXh0TGFuZXMgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lcyhub25JZGxlUGluZ2VkTGFuZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGUgb25seSByZW1haW5pbmcgd29yayBpcyBJZGxlLlxuICAgIHZhciB1bmJsb2NrZWRMYW5lcyA9IHBlbmRpbmdMYW5lcyAmIH5zdXNwZW5kZWRMYW5lcztcblxuICAgIGlmICh1bmJsb2NrZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXModW5ibG9ja2VkTGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGluZ2VkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMocGluZ2VkTGFuZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChuZXh0TGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBvbmx5IGJlIHJlYWNoYWJsZSBpZiB3ZSdyZSBzdXNwZW5kZWRcbiAgICAvLyBUT0RPOiBDb25zaWRlciB3YXJuaW5nIGluIHRoaXMgcGF0aCBpZiBhIGZhbGxiYWNrIHRpbWVyIGlzIG5vdCBzY2hlZHVsZWQuXG4gICAgcmV0dXJuIE5vTGFuZXM7XG4gIH0gLy8gSWYgd2UncmUgYWxyZWFkeSBpbiB0aGUgbWlkZGxlIG9mIGEgcmVuZGVyLCBzd2l0Y2hpbmcgbGFuZXMgd2lsbCBpbnRlcnJ1cHRcbiAgLy8gaXQgYW5kIHdlJ2xsIGxvc2Ugb3VyIHByb2dyZXNzLiBXZSBzaG91bGQgb25seSBkbyB0aGlzIGlmIHRoZSBuZXcgbGFuZXMgYXJlXG4gIC8vIGhpZ2hlciBwcmlvcml0eS5cblxuXG4gIGlmICh3aXBMYW5lcyAhPT0gTm9MYW5lcyAmJiB3aXBMYW5lcyAhPT0gbmV4dExhbmVzICYmIC8vIElmIHdlIGFscmVhZHkgc3VzcGVuZGVkIHdpdGggYSBkZWxheSwgdGhlbiBpbnRlcnJ1cHRpbmcgaXMgZmluZS4gRG9uJ3RcbiAgLy8gYm90aGVyIHdhaXRpbmcgdW50aWwgdGhlIHJvb3QgaXMgY29tcGxldGUuXG4gICh3aXBMYW5lcyAmIHN1c3BlbmRlZExhbmVzKSA9PT0gTm9MYW5lcykge1xuICAgIHZhciBuZXh0TGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUobmV4dExhbmVzKTtcbiAgICB2YXIgd2lwTGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUod2lwTGFuZXMpO1xuXG4gICAgaWYgKCAvLyBUZXN0cyB3aGV0aGVyIHRoZSBuZXh0IGxhbmUgaXMgZXF1YWwgb3IgbG93ZXIgcHJpb3JpdHkgdGhhbiB0aGUgd2lwXG4gICAgLy8gb25lLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIGJpdHMgZGVjcmVhc2UgaW4gcHJpb3JpdHkgYXMgeW91IGdvIGxlZnQuXG4gICAgbmV4dExhbmUgPj0gd2lwTGFuZSB8fCAvLyBEZWZhdWx0IHByaW9yaXR5IHVwZGF0ZXMgc2hvdWxkIG5vdCBpbnRlcnJ1cHQgdHJhbnNpdGlvbiB1cGRhdGVzLiBUaGVcbiAgICAvLyBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiBkZWZhdWx0IHVwZGF0ZXMgYW5kIHRyYW5zaXRpb24gdXBkYXRlcyBpcyB0aGF0XG4gICAgLy8gZGVmYXVsdCB1cGRhdGVzIGRvIG5vdCBzdXBwb3J0IHJlZnJlc2ggdHJhbnNpdGlvbnMuXG4gICAgbmV4dExhbmUgPT09IERlZmF1bHRMYW5lICYmICh3aXBMYW5lICYgVHJhbnNpdGlvbkxhbmVzKSAhPT0gTm9MYW5lcykge1xuICAgICAgLy8gS2VlcCB3b3JraW5nIG9uIHRoZSBleGlzdGluZyBpbi1wcm9ncmVzcyB0cmVlLiBEbyBub3QgaW50ZXJydXB0LlxuICAgICAgcmV0dXJuIHdpcExhbmVzO1xuICAgIH1cbiAgfVxuXG4gIGlmICgobmV4dExhbmVzICYgSW5wdXRDb250aW51b3VzTGFuZSkgIT09IE5vTGFuZXMpIHtcbiAgICAvLyBXaGVuIHVwZGF0ZXMgYXJlIHN5bmMgYnkgZGVmYXVsdCwgd2UgZW50YW5nbGUgY29udGludW91cyBwcmlvcml0eSB1cGRhdGVzXG4gICAgLy8gYW5kIGRlZmF1bHQgdXBkYXRlcywgc28gdGhleSByZW5kZXIgaW4gdGhlIHNhbWUgYmF0Y2guIFRoZSBvbmx5IHJlYXNvblxuICAgIC8vIHRoZXkgdXNlIHNlcGFyYXRlIGxhbmVzIGlzIGJlY2F1c2UgY29udGludW91cyB1cGRhdGVzIHNob3VsZCBpbnRlcnJ1cHRcbiAgICAvLyB0cmFuc2l0aW9ucywgYnV0IGRlZmF1bHQgdXBkYXRlcyBzaG91bGQgbm90LlxuICAgIG5leHRMYW5lcyB8PSBwZW5kaW5nTGFuZXMgJiBEZWZhdWx0TGFuZTtcbiAgfSAvLyBDaGVjayBmb3IgZW50YW5nbGVkIGxhbmVzIGFuZCBhZGQgdGhlbSB0byB0aGUgYmF0Y2guXG4gIC8vXG4gIC8vIEEgbGFuZSBpcyBzYWlkIHRvIGJlIGVudGFuZ2xlZCB3aXRoIGFub3RoZXIgd2hlbiBpdCdzIG5vdCBhbGxvd2VkIHRvIHJlbmRlclxuICAvLyBpbiBhIGJhdGNoIHRoYXQgZG9lcyBub3QgYWxzbyBpbmNsdWRlIHRoZSBvdGhlciBsYW5lLiBUeXBpY2FsbHkgd2UgZG8gdGhpc1xuICAvLyB3aGVuIG11bHRpcGxlIHVwZGF0ZXMgaGF2ZSB0aGUgc2FtZSBzb3VyY2UsIGFuZCB3ZSBvbmx5IHdhbnQgdG8gcmVzcG9uZCB0b1xuICAvLyB0aGUgbW9zdCByZWNlbnQgZXZlbnQgZnJvbSB0aGF0IHNvdXJjZS5cbiAgLy9cbiAgLy8gTm90ZSB0aGF0IHdlIGFwcGx5IGVudGFuZ2xlbWVudHMgKmFmdGVyKiBjaGVja2luZyBmb3IgcGFydGlhbCB3b3JrIGFib3ZlLlxuICAvLyBUaGlzIG1lYW5zIHRoYXQgaWYgYSBsYW5lIGlzIGVudGFuZ2xlZCBkdXJpbmcgYW4gaW50ZXJsZWF2ZWQgZXZlbnQgd2hpbGVcbiAgLy8gaXQncyBhbHJlYWR5IHJlbmRlcmluZywgd2Ugd29uJ3QgaW50ZXJydXB0IGl0LiBUaGlzIGlzIGludGVudGlvbmFsLCBzaW5jZVxuICAvLyBlbnRhbmdsZW1lbnQgaXMgdXN1YWxseSBcImJlc3QgZWZmb3J0XCI6IHdlJ2xsIHRyeSBvdXIgYmVzdCB0byByZW5kZXIgdGhlXG4gIC8vIGxhbmVzIGluIHRoZSBzYW1lIGJhdGNoLCBidXQgaXQncyBub3Qgd29ydGggdGhyb3dpbmcgb3V0IHBhcnRpYWxseVxuICAvLyBjb21wbGV0ZWQgd29yayBpbiBvcmRlciB0byBkbyBpdC5cbiAgLy8gVE9ETzogUmVjb25zaWRlciB0aGlzLiBUaGUgY291bnRlci1hcmd1bWVudCBpcyB0aGF0IHRoZSBwYXJ0aWFsIHdvcmtcbiAgLy8gcmVwcmVzZW50cyBhbiBpbnRlcm1lZGlhdGUgc3RhdGUsIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gc2hvdyB0byB0aGUgdXNlci5cbiAgLy8gQW5kIGJ5IHNwZW5kaW5nIGV4dHJhIHRpbWUgZmluaXNoaW5nIGl0LCB3ZSdyZSBpbmNyZWFzaW5nIHRoZSBhbW91bnQgb2ZcbiAgLy8gdGltZSBpdCB0YWtlcyB0byBzaG93IHRoZSBmaW5hbCBzdGF0ZSwgd2hpY2ggaXMgd2hhdCB0aGV5IGFyZSBhY3R1YWxseVxuICAvLyB3YWl0aW5nIGZvci5cbiAgLy9cbiAgLy8gRm9yIHRob3NlIGV4Y2VwdGlvbnMgd2hlcmUgZW50YW5nbGVtZW50IGlzIHNlbWFudGljYWxseSBpbXBvcnRhbnQsIGxpa2VcbiAgLy8gdXNlTXV0YWJsZVNvdXJjZSwgd2Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZXJlIGlzIG5vIHBhcnRpYWwgd29yayBhdCB0aGVcbiAgLy8gdGltZSB3ZSBhcHBseSB0aGUgZW50YW5nbGVtZW50LlxuXG5cbiAgdmFyIGVudGFuZ2xlZExhbmVzID0gcm9vdC5lbnRhbmdsZWRMYW5lcztcblxuICBpZiAoZW50YW5nbGVkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICB2YXIgZW50YW5nbGVtZW50cyA9IHJvb3QuZW50YW5nbGVtZW50cztcbiAgICB2YXIgbGFuZXMgPSBuZXh0TGFuZXMgJiBlbnRhbmdsZWRMYW5lcztcblxuICAgIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgICAgbmV4dExhbmVzIHw9IGVudGFuZ2xlbWVudHNbaW5kZXhdO1xuICAgICAgbGFuZXMgJj0gfmxhbmU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5leHRMYW5lcztcbn1cbmZ1bmN0aW9uIGdldE1vc3RSZWNlbnRFdmVudFRpbWUocm9vdCwgbGFuZXMpIHtcbiAgdmFyIGV2ZW50VGltZXMgPSByb290LmV2ZW50VGltZXM7XG4gIHZhciBtb3N0UmVjZW50RXZlbnRUaW1lID0gTm9UaW1lc3RhbXA7XG5cbiAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgZXZlbnRUaW1lID0gZXZlbnRUaW1lc1tpbmRleF07XG5cbiAgICBpZiAoZXZlbnRUaW1lID4gbW9zdFJlY2VudEV2ZW50VGltZSkge1xuICAgICAgbW9zdFJlY2VudEV2ZW50VGltZSA9IGV2ZW50VGltZTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxuXG4gIHJldHVybiBtb3N0UmVjZW50RXZlbnRUaW1lO1xufVxuXG5mdW5jdGlvbiBjb21wdXRlRXhwaXJhdGlvblRpbWUobGFuZSwgY3VycmVudFRpbWUpIHtcbiAgc3dpdGNoIChsYW5lKSB7XG4gICAgY2FzZSBTeW5jTGFuZTpcbiAgICBjYXNlIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJbnB1dENvbnRpbnVvdXNMYW5lOlxuICAgICAgLy8gVXNlciBpbnRlcmFjdGlvbnMgc2hvdWxkIGV4cGlyZSBzbGlnaHRseSBtb3JlIHF1aWNrbHkuXG4gICAgICAvL1xuICAgICAgLy8gTk9URTogVGhpcyBpcyBzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgY29uc3RhbnQgYXMgaW4gU2NoZWR1bGVyLmpzLlxuICAgICAgLy8gV2hlbiB3ZSBtYWRlIGl0IGxhcmdlciwgYSBwcm9kdWN0IG1ldHJpYyBpbiB3d3cgcmVncmVzc2VkLCBzdWdnZXN0aW5nXG4gICAgICAvLyB0aGVyZSdzIGEgdXNlciBpbnRlcmFjdGlvbiB0aGF0J3MgYmVpbmcgc3RhcnZlZCBieSBhIHNlcmllcyBvZlxuICAgICAgLy8gc3luY2hyb25vdXMgdXBkYXRlcy4gSWYgdGhhdCB0aGVvcnkgaXMgY29ycmVjdCwgdGhlIHByb3BlciBzb2x1dGlvbiBpc1xuICAgICAgLy8gdG8gZml4IHRoZSBzdGFydmF0aW9uLiBIb3dldmVyLCB0aGlzIHNjZW5hcmlvIHN1cHBvcnRzIHRoZSBpZGVhIHRoYXRcbiAgICAgIC8vIGV4cGlyYXRpb24gdGltZXMgYXJlIGFuIGltcG9ydGFudCBzYWZlZ3VhcmQgd2hlbiBzdGFydmF0aW9uXG4gICAgICAvLyBkb2VzIGhhcHBlbi5cbiAgICAgIHJldHVybiBjdXJyZW50VGltZSArIDI1MDtcblxuICAgIGNhc2UgRGVmYXVsdEh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBEZWZhdWx0TGFuZTpcbiAgICBjYXNlIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUyOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU0OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU1OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU2OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU3OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU4OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU5OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEyOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMzpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE1OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNjpcbiAgICAgIHJldHVybiBjdXJyZW50VGltZSArIDUwMDA7XG5cbiAgICBjYXNlIFJldHJ5TGFuZTE6XG4gICAgY2FzZSBSZXRyeUxhbmUyOlxuICAgIGNhc2UgUmV0cnlMYW5lMzpcbiAgICBjYXNlIFJldHJ5TGFuZTQ6XG4gICAgY2FzZSBSZXRyeUxhbmU1OlxuICAgICAgLy8gVE9ETzogUmV0cmllcyBzaG91bGQgYmUgYWxsb3dlZCB0byBleHBpcmUgaWYgdGhleSBhcmUgQ1BVIGJvdW5kIGZvclxuICAgICAgLy8gdG9vIGxvbmcsIGJ1dCB3aGVuIEkgbWFkZSB0aGlzIGNoYW5nZSBpdCBjYXVzZWQgYSBzcGlrZSBpbiBicm93c2VyXG4gICAgICAvLyBjcmFzaGVzLiBUaGVyZSBtdXN0IGJlIHNvbWUgb3RoZXIgdW5kZXJseWluZyBidWc7IG5vdCBzdXBlciB1cmdlbnQgYnV0XG4gICAgICAvLyBpZGVhbGx5IHNob3VsZCBmaWd1cmUgb3V0IHdoeSBhbmQgZml4IGl0LiBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmVcbiAgICAgIC8vIGEgcmVwcm8gZm9yIHRoZSBjcmFzaGVzLCBvbmx5IGRldGVjdGVkIHZpYSBwcm9kdWN0aW9uIG1ldHJpY3MuXG4gICAgICByZXR1cm4gTm9UaW1lc3RhbXA7XG5cbiAgICBjYXNlIFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJZGxlSHlkcmF0aW9uTGFuZTpcbiAgICBjYXNlIElkbGVMYW5lOlxuICAgIGNhc2UgT2Zmc2NyZWVuTGFuZTpcbiAgICAgIC8vIEFueXRoaW5nIGlkbGUgcHJpb3JpdHkgb3IgbG93ZXIgc2hvdWxkIG5ldmVyIGV4cGlyZS5cbiAgICAgIHJldHVybiBOb1RpbWVzdGFtcDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIGVycm9yKCdTaG91bGQgaGF2ZSBmb3VuZCBtYXRjaGluZyBsYW5lcy4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIE5vVGltZXN0YW1wO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcmtTdGFydmVkTGFuZXNBc0V4cGlyZWQocm9vdCwgY3VycmVudFRpbWUpIHtcbiAgLy8gVE9ETzogVGhpcyBnZXRzIGNhbGxlZCBldmVyeSB0aW1lIHdlIHlpZWxkLiBXZSBjYW4gb3B0aW1pemUgYnkgc3RvcmluZ1xuICAvLyB0aGUgZWFybGllc3QgZXhwaXJhdGlvbiB0aW1lIG9uIHRoZSByb290LiBUaGVuIHVzZSB0aGF0IHRvIHF1aWNrbHkgYmFpbCBvdXRcbiAgLy8gb2YgdGhpcyBmdW5jdGlvbi5cbiAgdmFyIHBlbmRpbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzO1xuICB2YXIgc3VzcGVuZGVkTGFuZXMgPSByb290LnN1c3BlbmRlZExhbmVzO1xuICB2YXIgcGluZ2VkTGFuZXMgPSByb290LnBpbmdlZExhbmVzO1xuICB2YXIgZXhwaXJhdGlvblRpbWVzID0gcm9vdC5leHBpcmF0aW9uVGltZXM7IC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgcGVuZGluZyBsYW5lcyBhbmQgY2hlY2sgaWYgd2UndmUgcmVhY2hlZCB0aGVpclxuICAvLyBleHBpcmF0aW9uIHRpbWUuIElmIHNvLCB3ZSdsbCBhc3N1bWUgdGhlIHVwZGF0ZSBpcyBiZWluZyBzdGFydmVkIGFuZCBtYXJrXG4gIC8vIGl0IGFzIGV4cGlyZWQgdG8gZm9yY2UgaXQgdG8gZmluaXNoLlxuXG4gIHZhciBsYW5lcyA9IHBlbmRpbmdMYW5lcztcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIHZhciBleHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lc1tpbmRleF07XG5cbiAgICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IE5vVGltZXN0YW1wKSB7XG4gICAgICAvLyBGb3VuZCBhIHBlbmRpbmcgbGFuZSB3aXRoIG5vIGV4cGlyYXRpb24gdGltZS4gSWYgaXQncyBub3Qgc3VzcGVuZGVkLCBvclxuICAgICAgLy8gaWYgaXQncyBwaW5nZWQsIGFzc3VtZSBpdCdzIENQVS1ib3VuZC4gQ29tcHV0ZSBhIG5ldyBleHBpcmF0aW9uIHRpbWVcbiAgICAgIC8vIHVzaW5nIHRoZSBjdXJyZW50IHRpbWUuXG4gICAgICBpZiAoKGxhbmUgJiBzdXNwZW5kZWRMYW5lcykgPT09IE5vTGFuZXMgfHwgKGxhbmUgJiBwaW5nZWRMYW5lcykgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aW1lc3RhbXBzIGFyZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcuXG4gICAgICAgIGV4cGlyYXRpb25UaW1lc1tpbmRleF0gPSBjb21wdXRlRXhwaXJhdGlvblRpbWUobGFuZSwgY3VycmVudFRpbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWUpIHtcbiAgICAgIC8vIFRoaXMgbGFuZSBleHBpcmVkXG4gICAgICByb290LmV4cGlyZWRMYW5lcyB8PSBsYW5lO1xuICAgIH1cblxuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59IC8vIFRoaXMgcmV0dXJucyB0aGUgaGlnaGVzdCBwcmlvcml0eSBwZW5kaW5nIGxhbmVzIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGV5XG4vLyBhcmUgc3VzcGVuZGVkLlxuXG5mdW5jdGlvbiBnZXRIaWdoZXN0UHJpb3JpdHlQZW5kaW5nTGFuZXMocm9vdCkge1xuICByZXR1cm4gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMocm9vdC5wZW5kaW5nTGFuZXMpO1xufVxuZnVuY3Rpb24gZ2V0TGFuZXNUb1JldHJ5U3luY2hyb25vdXNseU9uRXJyb3Iocm9vdCkge1xuICB2YXIgZXZlcnl0aGluZ0J1dE9mZnNjcmVlbiA9IHJvb3QucGVuZGluZ0xhbmVzICYgfk9mZnNjcmVlbkxhbmU7XG5cbiAgaWYgKGV2ZXJ5dGhpbmdCdXRPZmZzY3JlZW4gIT09IE5vTGFuZXMpIHtcbiAgICByZXR1cm4gZXZlcnl0aGluZ0J1dE9mZnNjcmVlbjtcbiAgfVxuXG4gIGlmIChldmVyeXRoaW5nQnV0T2Zmc2NyZWVuICYgT2Zmc2NyZWVuTGFuZSkge1xuICAgIHJldHVybiBPZmZzY3JlZW5MYW5lO1xuICB9XG5cbiAgcmV0dXJuIE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc1N5bmNMYW5lKGxhbmVzKSB7XG4gIHJldHVybiAobGFuZXMgJiBTeW5jTGFuZSkgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc05vbklkbGVXb3JrKGxhbmVzKSB7XG4gIHJldHVybiAobGFuZXMgJiBOb25JZGxlTGFuZXMpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gaW5jbHVkZXNPbmx5UmV0cmllcyhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgUmV0cnlMYW5lcykgPT09IGxhbmVzO1xufVxuZnVuY3Rpb24gaW5jbHVkZXNPbmx5Tm9uVXJnZW50TGFuZXMobGFuZXMpIHtcbiAgdmFyIFVyZ2VudExhbmVzID0gU3luY0xhbmUgfCBJbnB1dENvbnRpbnVvdXNMYW5lIHwgRGVmYXVsdExhbmU7XG4gIHJldHVybiAobGFuZXMgJiBVcmdlbnRMYW5lcykgPT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc09ubHlUcmFuc2l0aW9ucyhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgVHJhbnNpdGlvbkxhbmVzKSA9PT0gbGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCBsYW5lcykge1xuXG4gIHZhciBTeW5jRGVmYXVsdExhbmVzID0gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZSB8IElucHV0Q29udGludW91c0xhbmUgfCBEZWZhdWx0SHlkcmF0aW9uTGFuZSB8IERlZmF1bHRMYW5lO1xuICByZXR1cm4gKGxhbmVzICYgU3luY0RlZmF1bHRMYW5lcykgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0V4cGlyZWRMYW5lKHJvb3QsIGxhbmVzKSB7XG4gIC8vIFRoaXMgaXMgYSBzZXBhcmF0ZSBjaGVjayBmcm9tIGluY2x1ZGVzQmxvY2tpbmdMYW5lIGJlY2F1c2UgYSBsYW5lIGNhblxuICAvLyBleHBpcmUgYWZ0ZXIgYSByZW5kZXIgaGFzIGFscmVhZHkgc3RhcnRlZC5cbiAgcmV0dXJuIChsYW5lcyAmIHJvb3QuZXhwaXJlZExhbmVzKSAhPT0gTm9MYW5lcztcbn1cbmZ1bmN0aW9uIGlzVHJhbnNpdGlvbkxhbmUobGFuZSkge1xuICByZXR1cm4gKGxhbmUgJiBUcmFuc2l0aW9uTGFuZXMpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gY2xhaW1OZXh0VHJhbnNpdGlvbkxhbmUoKSB7XG4gIC8vIEN5Y2xlIHRocm91Z2ggdGhlIGxhbmVzLCBhc3NpZ25pbmcgZWFjaCBuZXcgdHJhbnNpdGlvbiB0byB0aGUgbmV4dCBsYW5lLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIG1lYW5zIGV2ZXJ5IHRyYW5zaXRpb24gZ2V0cyBpdHMgb3duIGxhbmUsIHVudGlsIHdlXG4gIC8vIHJ1biBvdXQgb2YgbGFuZXMgYW5kIGN5Y2xlIGJhY2sgdG8gdGhlIGJlZ2lubmluZy5cbiAgdmFyIGxhbmUgPSBuZXh0VHJhbnNpdGlvbkxhbmU7XG4gIG5leHRUcmFuc2l0aW9uTGFuZSA8PD0gMTtcblxuICBpZiAoKG5leHRUcmFuc2l0aW9uTGFuZSAmIFRyYW5zaXRpb25MYW5lcykgPT09IE5vTGFuZXMpIHtcbiAgICBuZXh0VHJhbnNpdGlvbkxhbmUgPSBUcmFuc2l0aW9uTGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGNsYWltTmV4dFJldHJ5TGFuZSgpIHtcbiAgdmFyIGxhbmUgPSBuZXh0UmV0cnlMYW5lO1xuICBuZXh0UmV0cnlMYW5lIDw8PSAxO1xuXG4gIGlmICgobmV4dFJldHJ5TGFuZSAmIFJldHJ5TGFuZXMpID09PSBOb0xhbmVzKSB7XG4gICAgbmV4dFJldHJ5TGFuZSA9IFJldHJ5TGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGdldEhpZ2hlc3RQcmlvcml0eUxhbmUobGFuZXMpIHtcbiAgcmV0dXJuIGxhbmVzICYgLWxhbmVzO1xufVxuZnVuY3Rpb24gcGlja0FyYml0cmFyeUxhbmUobGFuZXMpIHtcbiAgLy8gVGhpcyB3cmFwcGVyIGZ1bmN0aW9uIGdldHMgaW5saW5lZC4gT25seSBleGlzdHMgc28gdG8gY29tbXVuaWNhdGUgdGhhdCBpdFxuICAvLyBkb2Vzbid0IG1hdHRlciB3aGljaCBiaXQgaXMgc2VsZWN0ZWQ7IHlvdSBjYW4gcGljayBhbnkgYml0IHdpdGhvdXRcbiAgLy8gYWZmZWN0aW5nIHRoZSBhbGdvcml0aG1zIHdoZXJlIGl0cyB1c2VkLiBIZXJlIEknbSB1c2luZ1xuICAvLyBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lIGJlY2F1c2UgaXQgcmVxdWlyZXMgdGhlIGZld2VzdCBvcGVyYXRpb25zLlxuICByZXR1cm4gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShsYW5lcyk7XG59XG5cbmZ1bmN0aW9uIHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpIHtcbiAgcmV0dXJuIDMxIC0gY2x6MzIobGFuZXMpO1xufVxuXG5mdW5jdGlvbiBsYW5lVG9JbmRleChsYW5lKSB7XG4gIHJldHVybiBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmUpO1xufVxuXG5mdW5jdGlvbiBpbmNsdWRlc1NvbWVMYW5lKGEsIGIpIHtcbiAgcmV0dXJuIChhICYgYikgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpc1N1YnNldE9mTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIChzZXQgJiBzdWJzZXQpID09PSBzdWJzZXQ7XG59XG5mdW5jdGlvbiBtZXJnZUxhbmVzKGEsIGIpIHtcbiAgcmV0dXJuIGEgfCBiO1xufVxuZnVuY3Rpb24gcmVtb3ZlTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIHNldCAmIH5zdWJzZXQ7XG59XG5mdW5jdGlvbiBpbnRlcnNlY3RMYW5lcyhhLCBiKSB7XG4gIHJldHVybiBhICYgYjtcbn0gLy8gU2VlbXMgcmVkdW5kYW50LCBidXQgaXQgY2hhbmdlcyB0aGUgdHlwZSBmcm9tIGEgc2luZ2xlIGxhbmUgKHVzZWQgZm9yXG4vLyB1cGRhdGVzKSB0byBhIGdyb3VwIG9mIGxhbmVzICh1c2VkIGZvciBmbHVzaGluZyB3b3JrKS5cblxuZnVuY3Rpb24gbGFuZVRvTGFuZXMobGFuZSkge1xuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGhpZ2hlclByaW9yaXR5TGFuZShhLCBiKSB7XG4gIC8vIFRoaXMgd29ya3MgYmVjYXVzZSB0aGUgYml0IHJhbmdlcyBkZWNyZWFzZSBpbiBwcmlvcml0eSBhcyB5b3UgZ28gbGVmdC5cbiAgcmV0dXJuIGEgIT09IE5vTGFuZSAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gY3JlYXRlTGFuZU1hcChpbml0aWFsKSB7XG4gIC8vIEludGVudGlvbmFsbHkgcHVzaGluZyBvbmUgYnkgb25lLlxuICAvLyBodHRwczovL3Y4LmRldi9ibG9nL2VsZW1lbnRzLWtpbmRzI2F2b2lkLWNyZWF0aW5nLWhvbGVzXG4gIHZhciBsYW5lTWFwID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBUb3RhbExhbmVzOyBpKyspIHtcbiAgICBsYW5lTWFwLnB1c2goaW5pdGlhbCk7XG4gIH1cblxuICByZXR1cm4gbGFuZU1hcDtcbn1cbmZ1bmN0aW9uIG1hcmtSb290VXBkYXRlZChyb290LCB1cGRhdGVMYW5lLCBldmVudFRpbWUpIHtcbiAgcm9vdC5wZW5kaW5nTGFuZXMgfD0gdXBkYXRlTGFuZTsgLy8gSWYgdGhlcmUgYXJlIGFueSBzdXNwZW5kZWQgdHJhbnNpdGlvbnMsIGl0J3MgcG9zc2libGUgdGhpcyBuZXcgdXBkYXRlXG4gIC8vIGNvdWxkIHVuYmxvY2sgdGhlbS4gQ2xlYXIgdGhlIHN1c3BlbmRlZCBsYW5lcyBzbyB0aGF0IHdlIGNhbiB0cnkgcmVuZGVyaW5nXG4gIC8vIHRoZW0gYWdhaW4uXG4gIC8vXG4gIC8vIFRPRE86IFdlIHJlYWxseSBvbmx5IG5lZWQgdG8gdW5zdXNwZW5kIG9ubHkgbGFuZXMgdGhhdCBhcmUgaW4gdGhlXG4gIC8vIGBzdWJ0cmVlTGFuZXNgIG9mIHRoZSB1cGRhdGVkIGZpYmVyLCBvciB0aGUgdXBkYXRlIGxhbmVzIG9mIHRoZSByZXR1cm5cbiAgLy8gcGF0aC4gVGhpcyB3b3VsZCBleGNsdWRlIHN1c3BlbmRlZCB1cGRhdGVzIGluIGFuIHVucmVsYXRlZCBzaWJsaW5nIHRyZWUsXG4gIC8vIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IGZvciB0aGlzIHVwZGF0ZSB0byB1bmJsb2NrIGl0LlxuICAvL1xuICAvLyBXZSBkb24ndCBkbyB0aGlzIGlmIHRoZSBpbmNvbWluZyB1cGRhdGUgaXMgaWRsZSwgYmVjYXVzZSB3ZSBuZXZlciBwcm9jZXNzXG4gIC8vIGlkbGUgdXBkYXRlcyB1bnRpbCBhZnRlciBhbGwgdGhlIHJlZ3VsYXIgdXBkYXRlcyBoYXZlIGZpbmlzaGVkOyB0aGVyZSdzIG5vXG4gIC8vIHdheSBpdCBjb3VsZCB1bmJsb2NrIGEgdHJhbnNpdGlvbi5cblxuICBpZiAodXBkYXRlTGFuZSAhPT0gSWRsZUxhbmUpIHtcbiAgICByb290LnN1c3BlbmRlZExhbmVzID0gTm9MYW5lcztcbiAgICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgfVxuXG4gIHZhciBldmVudFRpbWVzID0gcm9vdC5ldmVudFRpbWVzO1xuICB2YXIgaW5kZXggPSBsYW5lVG9JbmRleCh1cGRhdGVMYW5lKTsgLy8gV2UgY2FuIGFsd2F5cyBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgdGltZXN0YW1wIGJlY2F1c2Ugd2UgcHJlZmVyIHRoZSBtb3N0XG4gIC8vIHJlY2VudCBldmVudCwgYW5kIHdlIGFzc3VtZSB0aW1lIGlzIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy5cblxuICBldmVudFRpbWVzW2luZGV4XSA9IGV2ZW50VGltZTtcbn1cbmZ1bmN0aW9uIG1hcmtSb290U3VzcGVuZGVkKHJvb3QsIHN1c3BlbmRlZExhbmVzKSB7XG4gIHJvb3Quc3VzcGVuZGVkTGFuZXMgfD0gc3VzcGVuZGVkTGFuZXM7XG4gIHJvb3QucGluZ2VkTGFuZXMgJj0gfnN1c3BlbmRlZExhbmVzOyAvLyBUaGUgc3VzcGVuZGVkIGxhbmVzIGFyZSBubyBsb25nZXIgQ1BVLWJvdW5kLiBDbGVhciB0aGVpciBleHBpcmF0aW9uIHRpbWVzLlxuXG4gIHZhciBleHBpcmF0aW9uVGltZXMgPSByb290LmV4cGlyYXRpb25UaW1lcztcbiAgdmFyIGxhbmVzID0gc3VzcGVuZGVkTGFuZXM7XG5cbiAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICBleHBpcmF0aW9uVGltZXNbaW5kZXhdID0gTm9UaW1lc3RhbXA7XG4gICAgbGFuZXMgJj0gfmxhbmU7XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSb290UGluZ2VkKHJvb3QsIHBpbmdlZExhbmVzLCBldmVudFRpbWUpIHtcbiAgcm9vdC5waW5nZWRMYW5lcyB8PSByb290LnN1c3BlbmRlZExhbmVzICYgcGluZ2VkTGFuZXM7XG59XG5mdW5jdGlvbiBtYXJrUm9vdEZpbmlzaGVkKHJvb3QsIHJlbWFpbmluZ0xhbmVzKSB7XG4gIHZhciBub0xvbmdlclBlbmRpbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzICYgfnJlbWFpbmluZ0xhbmVzO1xuICByb290LnBlbmRpbmdMYW5lcyA9IHJlbWFpbmluZ0xhbmVzOyAvLyBMZXQncyB0cnkgZXZlcnl0aGluZyBhZ2FpblxuXG4gIHJvb3Quc3VzcGVuZGVkTGFuZXMgPSBOb0xhbmVzO1xuICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgcm9vdC5leHBpcmVkTGFuZXMgJj0gcmVtYWluaW5nTGFuZXM7XG4gIHJvb3QubXV0YWJsZVJlYWRMYW5lcyAmPSByZW1haW5pbmdMYW5lcztcbiAgcm9vdC5lbnRhbmdsZWRMYW5lcyAmPSByZW1haW5pbmdMYW5lcztcbiAgdmFyIGVudGFuZ2xlbWVudHMgPSByb290LmVudGFuZ2xlbWVudHM7XG4gIHZhciBldmVudFRpbWVzID0gcm9vdC5ldmVudFRpbWVzO1xuICB2YXIgZXhwaXJhdGlvblRpbWVzID0gcm9vdC5leHBpcmF0aW9uVGltZXM7IC8vIENsZWFyIHRoZSBsYW5lcyB0aGF0IG5vIGxvbmdlciBoYXZlIHBlbmRpbmcgd29ya1xuXG4gIHZhciBsYW5lcyA9IG5vTG9uZ2VyUGVuZGluZ0xhbmVzO1xuXG4gIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICB2YXIgaW5kZXggPSBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmVzKTtcbiAgICB2YXIgbGFuZSA9IDEgPDwgaW5kZXg7XG4gICAgZW50YW5nbGVtZW50c1tpbmRleF0gPSBOb0xhbmVzO1xuICAgIGV2ZW50VGltZXNbaW5kZXhdID0gTm9UaW1lc3RhbXA7XG4gICAgZXhwaXJhdGlvblRpbWVzW2luZGV4XSA9IE5vVGltZXN0YW1wO1xuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiBtYXJrUm9vdEVudGFuZ2xlZChyb290LCBlbnRhbmdsZWRMYW5lcykge1xuICAvLyBJbiBhZGRpdGlvbiB0byBlbnRhbmdsaW5nIGVhY2ggb2YgdGhlIGdpdmVuIGxhbmVzIHdpdGggZWFjaCBvdGhlciwgd2UgYWxzb1xuICAvLyBoYXZlIHRvIGNvbnNpZGVyIF90cmFuc2l0aXZlXyBlbnRhbmdsZW1lbnRzLiBGb3IgZWFjaCBsYW5lIHRoYXQgaXMgYWxyZWFkeVxuICAvLyBlbnRhbmdsZWQgd2l0aCAqYW55KiBvZiB0aGUgZ2l2ZW4gbGFuZXMsIHRoYXQgbGFuZSBpcyBub3cgdHJhbnNpdGl2ZWx5XG4gIC8vIGVudGFuZ2xlZCB3aXRoICphbGwqIHRoZSBnaXZlbiBsYW5lcy5cbiAgLy9cbiAgLy8gVHJhbnNsYXRlZDogSWYgQyBpcyBlbnRhbmdsZWQgd2l0aCBBLCB0aGVuIGVudGFuZ2xpbmcgQSB3aXRoIEIgYWxzb1xuICAvLyBlbnRhbmdsZXMgQyB3aXRoIEIuXG4gIC8vXG4gIC8vIElmIHRoaXMgaXMgaGFyZCB0byBncmFzcCwgaXQgbWlnaHQgaGVscCB0byBpbnRlbnRpb25hbGx5IGJyZWFrIHRoaXNcbiAgLy8gZnVuY3Rpb24gYW5kIGxvb2sgYXQgdGhlIHRlc3RzIHRoYXQgZmFpbCBpbiBSZWFjdFRyYW5zaXRpb24tdGVzdC5qcy4gVHJ5XG4gIC8vIGNvbW1lbnRpbmcgb3V0IG9uZSBvZiB0aGUgY29uZGl0aW9ucyBiZWxvdy5cbiAgdmFyIHJvb3RFbnRhbmdsZWRMYW5lcyA9IHJvb3QuZW50YW5nbGVkTGFuZXMgfD0gZW50YW5nbGVkTGFuZXM7XG4gIHZhciBlbnRhbmdsZW1lbnRzID0gcm9vdC5lbnRhbmdsZW1lbnRzO1xuICB2YXIgbGFuZXMgPSByb290RW50YW5nbGVkTGFuZXM7XG5cbiAgd2hpbGUgKGxhbmVzKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuXG4gICAgaWYgKCAvLyBJcyB0aGlzIG9uZSBvZiB0aGUgbmV3bHkgZW50YW5nbGVkIGxhbmVzP1xuICAgIGxhbmUgJiBlbnRhbmdsZWRMYW5lcyB8IC8vIElzIHRoaXMgbGFuZSB0cmFuc2l0aXZlbHkgZW50YW5nbGVkIHdpdGggdGhlIG5ld2x5IGVudGFuZ2xlZCBsYW5lcz9cbiAgICBlbnRhbmdsZW1lbnRzW2luZGV4XSAmIGVudGFuZ2xlZExhbmVzKSB7XG4gICAgICBlbnRhbmdsZW1lbnRzW2luZGV4XSB8PSBlbnRhbmdsZWRMYW5lcztcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0QnVtcGVkTGFuZUZvckh5ZHJhdGlvbihyb290LCByZW5kZXJMYW5lcykge1xuICB2YXIgcmVuZGVyTGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUocmVuZGVyTGFuZXMpO1xuICB2YXIgbGFuZTtcblxuICBzd2l0Y2ggKHJlbmRlckxhbmUpIHtcbiAgICBjYXNlIElucHV0Q29udGludW91c0xhbmU6XG4gICAgICBsYW5lID0gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBEZWZhdWx0TGFuZTpcbiAgICAgIGxhbmUgPSBEZWZhdWx0SHlkcmF0aW9uTGFuZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTc6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTg6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEwOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE2OlxuICAgIGNhc2UgUmV0cnlMYW5lMTpcbiAgICBjYXNlIFJldHJ5TGFuZTI6XG4gICAgY2FzZSBSZXRyeUxhbmUzOlxuICAgIGNhc2UgUmV0cnlMYW5lNDpcbiAgICBjYXNlIFJldHJ5TGFuZTU6XG4gICAgICBsYW5lID0gVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmU7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSWRsZUxhbmU6XG4gICAgICBsYW5lID0gSWRsZUh5ZHJhdGlvbkxhbmU7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBFdmVyeXRoaW5nIGVsc2UgaXMgYWxyZWFkeSBlaXRoZXIgYSBoeWRyYXRpb24gbGFuZSwgb3Igc2hvdWxkbid0XG4gICAgICAvLyBiZSByZXRyaWVkIGF0IGEgaHlkcmF0aW9uIGxhbmUuXG4gICAgICBsYW5lID0gTm9MYW5lO1xuICAgICAgYnJlYWs7XG4gIH0gLy8gQ2hlY2sgaWYgdGhlIGxhbmUgd2UgY2hvc2UgaXMgc3VzcGVuZGVkLiBJZiBzbywgdGhhdCBpbmRpY2F0ZXMgdGhhdCB3ZVxuICAvLyBhbHJlYWR5IGF0dGVtcHRlZCBhbmQgZmFpbGVkIHRvIGh5ZHJhdGUgYXQgdGhhdCBsZXZlbC4gQWxzbyBjaGVjayBpZiB3ZSdyZVxuICAvLyBhbHJlYWR5IHJlbmRlcmluZyB0aGF0IGxhbmUsIHdoaWNoIGlzIHJhcmUgYnV0IGNvdWxkIGhhcHBlbi5cblxuXG4gIGlmICgobGFuZSAmIChyb290LnN1c3BlbmRlZExhbmVzIHwgcmVuZGVyTGFuZXMpKSAhPT0gTm9MYW5lKSB7XG4gICAgLy8gR2l2ZSB1cCB0cnlpbmcgdG8gaHlkcmF0ZSBhbmQgZmFsbCBiYWNrIHRvIGNsaWVudCByZW5kZXIuXG4gICAgcmV0dXJuIE5vTGFuZTtcbiAgfVxuXG4gIHJldHVybiBsYW5lO1xufVxuZnVuY3Rpb24gYWRkRmliZXJUb0xhbmVzTWFwKHJvb3QsIGZpYmVyLCBsYW5lcykge1xuXG4gIGlmICghaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcCA9IHJvb3QucGVuZGluZ1VwZGF0ZXJzTGFuZU1hcDtcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gbGFuZVRvSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgdXBkYXRlcnMgPSBwZW5kaW5nVXBkYXRlcnNMYW5lTWFwW2luZGV4XTtcbiAgICB1cGRhdGVycy5hZGQoZmliZXIpO1xuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiBtb3ZlUGVuZGluZ0ZpYmVyc1RvTWVtb2l6ZWQocm9vdCwgbGFuZXMpIHtcblxuICBpZiAoIWlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHBlbmRpbmdVcGRhdGVyc0xhbmVNYXAgPSByb290LnBlbmRpbmdVcGRhdGVyc0xhbmVNYXA7XG4gIHZhciBtZW1vaXplZFVwZGF0ZXJzID0gcm9vdC5tZW1vaXplZFVwZGF0ZXJzO1xuXG4gIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICB2YXIgaW5kZXggPSBsYW5lVG9JbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIHZhciB1cGRhdGVycyA9IHBlbmRpbmdVcGRhdGVyc0xhbmVNYXBbaW5kZXhdO1xuXG4gICAgaWYgKHVwZGF0ZXJzLnNpemUgPiAwKSB7XG4gICAgICB1cGRhdGVycy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gICAgICAgIGlmIChhbHRlcm5hdGUgPT09IG51bGwgfHwgIW1lbW9pemVkVXBkYXRlcnMuaGFzKGFsdGVybmF0ZSkpIHtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmFkZChmaWJlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdXBkYXRlcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcyhyb290LCBsYW5lcykge1xuICB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxudmFyIERpc2NyZXRlRXZlbnRQcmlvcml0eSA9IFN5bmNMYW5lO1xudmFyIENvbnRpbnVvdXNFdmVudFByaW9yaXR5ID0gSW5wdXRDb250aW51b3VzTGFuZTtcbnZhciBEZWZhdWx0RXZlbnRQcmlvcml0eSA9IERlZmF1bHRMYW5lO1xudmFyIElkbGVFdmVudFByaW9yaXR5ID0gSWRsZUxhbmU7XG52YXIgY3VycmVudFVwZGF0ZVByaW9yaXR5ID0gTm9MYW5lO1xuZnVuY3Rpb24gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCkge1xuICByZXR1cm4gY3VycmVudFVwZGF0ZVByaW9yaXR5O1xufVxuZnVuY3Rpb24gc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KG5ld1ByaW9yaXR5KSB7XG4gIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IG5ld1ByaW9yaXR5O1xufVxuZnVuY3Rpb24gcnVuV2l0aFByaW9yaXR5KHByaW9yaXR5LCBmbikge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGN1cnJlbnRVcGRhdGVQcmlvcml0eTtcblxuICB0cnkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByaW9yaXR5O1xuICAgIHJldHVybiBmbigpO1xuICB9IGZpbmFsbHkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByZXZpb3VzUHJpb3JpdHk7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZ2hlckV2ZW50UHJpb3JpdHkoYSwgYikge1xuICByZXR1cm4gYSAhPT0gMCAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gbG93ZXJFdmVudFByaW9yaXR5KGEsIGIpIHtcbiAgcmV0dXJuIGEgPT09IDAgfHwgYSA+IGIgPyBhIDogYjtcbn1cbmZ1bmN0aW9uIGlzSGlnaGVyRXZlbnRQcmlvcml0eShhLCBiKSB7XG4gIHJldHVybiBhICE9PSAwICYmIGEgPCBiO1xufVxuZnVuY3Rpb24gbGFuZXNUb0V2ZW50UHJpb3JpdHkobGFuZXMpIHtcbiAgdmFyIGxhbmUgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKGxhbmVzKTtcblxuICBpZiAoIWlzSGlnaGVyRXZlbnRQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHksIGxhbmUpKSB7XG4gICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmICghaXNIaWdoZXJFdmVudFByaW9yaXR5KENvbnRpbnVvdXNFdmVudFByaW9yaXR5LCBsYW5lKSkge1xuICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmIChpbmNsdWRlc05vbklkbGVXb3JrKGxhbmUpKSB7XG4gICAgcmV0dXJuIERlZmF1bHRFdmVudFByaW9yaXR5O1xuICB9XG5cbiAgcmV0dXJuIElkbGVFdmVudFByaW9yaXR5O1xufVxuXG4vLyBUaGlzIGlzIGltcG9ydGVkIGJ5IHRoZSBldmVudCByZXBsYXlpbmcgaW1wbGVtZW50YXRpb24gaW4gUmVhY3QgRE9NLiBJdCdzXG4vLyBpbiBhIHNlcGFyYXRlIGZpbGUgdG8gYnJlYWsgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIHJlbmRlcmVyIGFuZFxuLy8gdGhlIHJlY29uY2lsZXIuXG5mdW5jdGlvbiBpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpIHtcbiAgdmFyIGN1cnJlbnRTdGF0ZSA9IHJvb3QuY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gY3VycmVudFN0YXRlLmlzRGVoeWRyYXRlZDtcbn1cblxudmFyIF9hdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb247XG5cbmZ1bmN0aW9uIHNldEF0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmbikge1xuICBfYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uID0gZm47XG59XG5mdW5jdGlvbiBhdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb24oZmliZXIpIHtcbiAgX2F0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmaWJlcik7XG59XG52YXIgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb247XG5mdW5jdGlvbiBzZXRBdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbihmbikge1xuICBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiA9IGZuO1xufVxudmFyIGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eTtcbmZ1bmN0aW9uIHNldEF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eShmbikge1xuICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkgPSBmbjtcbn1cbnZhciBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkkMTtcbmZ1bmN0aW9uIHNldEdldEN1cnJlbnRVcGRhdGVQcmlvcml0eShmbikge1xuICBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkkMSA9IGZuO1xufVxudmFyIGF0dGVtcHRIeWRyYXRpb25BdFByaW9yaXR5O1xuZnVuY3Rpb24gc2V0QXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkoZm4pIHtcbiAgYXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkgPSBmbjtcbn0gLy8gVE9ETzogVXBncmFkZSB0aGlzIGRlZmluaXRpb24gb25jZSB3ZSdyZSBvbiBhIG5ld2VyIHZlcnNpb24gb2YgRmxvdyB0aGF0XG4vLyBoYXMgdGhpcyBkZWZpbml0aW9uIGJ1aWx0LWluLlxuXG52YXIgaGFzU2NoZWR1bGVkUmVwbGF5QXR0ZW1wdCA9IGZhbHNlOyAvLyBUaGUgcXVldWUgb2YgZGlzY3JldGUgZXZlbnRzIHRvIGJlIHJlcGxheWVkLlxuXG52YXIgcXVldWVkRGlzY3JldGVFdmVudHMgPSBbXTsgLy8gSW5kaWNhdGVzIGlmIGFueSBjb250aW51b3VzIGV2ZW50IHRhcmdldHMgYXJlIG5vbi1udWxsIGZvciBlYXJseSBiYWlsb3V0LlxuLy8gaWYgdGhlIGxhc3QgdGFyZ2V0IHdhcyBkZWh5ZHJhdGVkLlxuXG52YXIgcXVldWVkRm9jdXMgPSBudWxsO1xudmFyIHF1ZXVlZERyYWcgPSBudWxsO1xudmFyIHF1ZXVlZE1vdXNlID0gbnVsbDsgLy8gRm9yIHBvaW50ZXIgZXZlbnRzIHRoZXJlIGNhbiBiZSBvbmUgbGF0ZXN0IGV2ZW50IHBlciBwb2ludGVySWQuXG5cbnZhciBxdWV1ZWRQb2ludGVycyA9IG5ldyBNYXAoKTtcbnZhciBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMgPSBuZXcgTWFwKCk7IC8vIFdlIGNvdWxkIGNvbnNpZGVyIHJlcGxheWluZyBzZWxlY3Rpb25jaGFuZ2UgYW5kIHRvdWNobW92ZXMgdG9vLlxuXG52YXIgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzID0gW107XG52YXIgZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzID0gWydtb3VzZWRvd24nLCAnbW91c2V1cCcsICd0b3VjaGNhbmNlbCcsICd0b3VjaGVuZCcsICd0b3VjaHN0YXJ0JywgJ2F1eGNsaWNrJywgJ2RibGNsaWNrJywgJ3BvaW50ZXJjYW5jZWwnLCAncG9pbnRlcmRvd24nLCAncG9pbnRlcnVwJywgJ2RyYWdlbmQnLCAnZHJhZ3N0YXJ0JywgJ2Ryb3AnLCAnY29tcG9zaXRpb25lbmQnLCAnY29tcG9zaXRpb25zdGFydCcsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2tleXVwJywgJ2lucHV0JywgJ3RleHRJbnB1dCcsIC8vIEludGVudGlvbmFsbHkgY2FtZWxDYXNlXG4nY29weScsICdjdXQnLCAncGFzdGUnLCAnY2xpY2snLCAnY2hhbmdlJywgJ2NvbnRleHRtZW51JywgJ3Jlc2V0JywgJ3N1Ym1pdCddO1xuZnVuY3Rpb24gaXNEaXNjcmV0ZUV2ZW50VGhhdFJlcXVpcmVzSHlkcmF0aW9uKGV2ZW50VHlwZSkge1xuICByZXR1cm4gZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzLmluZGV4T2YoZXZlbnRUeXBlKSA+IC0xO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBibG9ja2VkT246IGJsb2NrZWRPbixcbiAgICBkb21FdmVudE5hbWU6IGRvbUV2ZW50TmFtZSxcbiAgICBldmVudFN5c3RlbUZsYWdzOiBldmVudFN5c3RlbUZsYWdzLFxuICAgIG5hdGl2ZUV2ZW50OiBuYXRpdmVFdmVudCxcbiAgICB0YXJnZXRDb250YWluZXJzOiBbdGFyZ2V0Q29udGFpbmVyXVxuICB9O1xufVxuXG5mdW5jdGlvbiBjbGVhcklmQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpIHtcbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2xlYXZlJzpcbiAgICAgIHF1ZXVlZERyYWcgPSBudWxsO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICAgIHF1ZXVlZE1vdXNlID0gbnVsbDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAncG9pbnRlcm92ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgICAge1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gbmF0aXZlRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVycy5kZWxldGUocG9pbnRlcklkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgY2FzZSAnbG9zdHBvaW50ZXJjYXB0dXJlJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wb2ludGVySWQgPSBuYXRpdmVFdmVudC5wb2ludGVySWQ7XG4gICAgICAgIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5kZWxldGUoX3BvaW50ZXJJZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoZXhpc3RpbmdRdWV1ZWRFdmVudCwgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKGV4aXN0aW5nUXVldWVkRXZlbnQgPT09IG51bGwgfHwgZXhpc3RpbmdRdWV1ZWRFdmVudC5uYXRpdmVFdmVudCAhPT0gbmF0aXZlRXZlbnQpIHtcbiAgICB2YXIgcXVldWVkRXZlbnQgPSBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgdmFyIF9maWJlcjIgPSBnZXRJbnN0YW5jZUZyb21Ob2RlKGJsb2NrZWRPbik7XG5cbiAgICAgIGlmIChfZmliZXIyICE9PSBudWxsKSB7XG4gICAgICAgIC8vIEF0dGVtcHQgdG8gaW5jcmVhc2UgdGhlIHByaW9yaXR5IG9mIHRoaXMgdGFyZ2V0LlxuICAgICAgICBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbihfZmliZXIyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcXVldWVkRXZlbnQ7XG4gIH0gLy8gSWYgd2UgaGF2ZSBhbHJlYWR5IHF1ZXVlZCB0aGlzIGV4YWN0IGV2ZW50LCB0aGVuIGl0J3MgYmVjYXVzZVxuICAvLyB0aGUgZGlmZmVyZW50IGV2ZW50IHN5c3RlbXMgaGF2ZSBkaWZmZXJlbnQgRE9NIGV2ZW50IGxpc3RlbmVycy5cbiAgLy8gV2UgY2FuIGFjY3VtdWxhdGUgdGhlIGZsYWdzLCBhbmQgdGhlIHRhcmdldENvbnRhaW5lcnMsIGFuZFxuICAvLyBzdG9yZSBhIHNpbmdsZSBldmVudCB0byBiZSByZXBsYXllZC5cblxuXG4gIGV4aXN0aW5nUXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncyB8PSBldmVudFN5c3RlbUZsYWdzO1xuICB2YXIgdGFyZ2V0Q29udGFpbmVycyA9IGV4aXN0aW5nUXVldWVkRXZlbnQudGFyZ2V0Q29udGFpbmVycztcblxuICBpZiAodGFyZ2V0Q29udGFpbmVyICE9PSBudWxsICYmIHRhcmdldENvbnRhaW5lcnMuaW5kZXhPZih0YXJnZXRDb250YWluZXIpID09PSAtMSkge1xuICAgIHRhcmdldENvbnRhaW5lcnMucHVzaCh0YXJnZXRDb250YWluZXIpO1xuICB9XG5cbiAgcmV0dXJuIGV4aXN0aW5nUXVldWVkRXZlbnQ7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgLy8gVGhlc2Ugc2V0IHJlbGF0ZWRUYXJnZXQgdG8gbnVsbCBiZWNhdXNlIHRoZSByZXBsYXllZCBldmVudCB3aWxsIGJlIHRyZWF0ZWQgYXMgaWYgd2VcbiAgLy8gbW92ZWQgZnJvbSBvdXRzaWRlIHRoZSB3aW5kb3cgKG5vIHRhcmdldCkgb250byB0aGUgdGFyZ2V0IG9uY2UgaXQgaHlkcmF0ZXMuXG4gIC8vIEluc3RlYWQgb2YgbXV0YXRpbmcgd2UgY291bGQgY2xvbmUgdGhlIGV2ZW50LlxuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgICAge1xuICAgICAgICB2YXIgZm9jdXNFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRGb2N1cyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRm9jdXMsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIGZvY3VzRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgICB7XG4gICAgICAgIHZhciBkcmFnRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICAgICAgcXVldWVkRHJhZyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRHJhZywgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgZHJhZ0V2ZW50KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgICAge1xuICAgICAgICB2YXIgbW91c2VFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRNb3VzZSA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkTW91c2UsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIG1vdXNlRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIHBvaW50ZXJFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gcG9pbnRlckV2ZW50LnBvaW50ZXJJZDtcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuc2V0KHBvaW50ZXJJZCwgYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChxdWV1ZWRQb2ludGVycy5nZXQocG9pbnRlcklkKSB8fCBudWxsLCBibG9ja2VkT24sIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBwb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgICB7XG4gICAgICAgIHZhciBfcG9pbnRlckV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHZhciBfcG9pbnRlcklkMiA9IF9wb2ludGVyRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuc2V0KF9wb2ludGVySWQyLCBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5nZXQoX3BvaW50ZXJJZDIpIHx8IG51bGwsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIF9wb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59IC8vIENoZWNrIGlmIHRoaXMgdGFyZ2V0IGlzIHVuYmxvY2tlZC4gUmV0dXJucyB0cnVlIGlmIGl0J3MgdW5ibG9ja2VkLlxuXG5mdW5jdGlvbiBhdHRlbXB0RXhwbGljaXRIeWRyYXRpb25UYXJnZXQocXVldWVkVGFyZ2V0KSB7XG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gc2hhcmVzIGEgbG90IG9mIGxvZ2ljIHdpdGggZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudC5cbiAgLy8gVHJ5IHRvIHVuaWZ5IHRoZW0uIEl0J3MgYSBiaXQgdHJpY2t5IHNpbmNlIGl0IHdvdWxkIHJlcXVpcmUgdHdvIHJldHVyblxuICAvLyB2YWx1ZXMuXG4gIHZhciB0YXJnZXRJbnN0ID0gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUocXVldWVkVGFyZ2V0LnRhcmdldCk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBudWxsKSB7XG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xuXG4gICAgICBpZiAodGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcblxuICAgICAgICBpZiAoaW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSdyZSBibG9ja2VkIG9uIGh5ZHJhdGluZyB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIC8vIEluY3JlYXNlIGl0cyBwcmlvcml0eS5cbiAgICAgICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gaW5zdGFuY2U7XG4gICAgICAgICAgYXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkocXVldWVkVGFyZ2V0LnByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkobmVhcmVzdE1vdW50ZWQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIHZhciByb290ID0gbmVhcmVzdE1vdW50ZWQuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpKSB7XG4gICAgICAgICAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IGdldENvbnRhaW5lckZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7IC8vIFdlIGRvbid0IGN1cnJlbnRseSBoYXZlIGEgd2F5IHRvIGluY3JlYXNlIHRoZSBwcmlvcml0eSBvZlxuICAgICAgICAgIC8vIGEgcm9vdCBvdGhlciB0aGFuIHN5bmMuXG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcXVldWVFeHBsaWNpdEh5ZHJhdGlvblRhcmdldCh0YXJnZXQpIHtcbiAgLy8gVE9ETzogVGhpcyB3aWxsIHJlYWQgdGhlIHByaW9yaXR5IGlmIGl0J3MgZGlzcGF0Y2hlZCBieSB0aGUgUmVhY3RcbiAgLy8gZXZlbnQgc3lzdGVtIGJ1dCBub3QgbmF0aXZlIGV2ZW50cy4gU2hvdWxkIHJlYWQgd2luZG93LmV2ZW50LnR5cGUsIGxpa2VcbiAgLy8gd2UgZG8gZm9yIHVwZGF0ZXMgKGdldEN1cnJlbnRFdmVudFByaW9yaXR5KS5cbiAgdmFyIHVwZGF0ZVByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5JDEoKTtcbiAgdmFyIHF1ZXVlZFRhcmdldCA9IHtcbiAgICBibG9ja2VkT246IG51bGwsXG4gICAgdGFyZ2V0OiB0YXJnZXQsXG4gICAgcHJpb3JpdHk6IHVwZGF0ZVByaW9yaXR5XG4gIH07XG4gIHZhciBpID0gMDtcblxuICBmb3IgKDsgaSA8IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0cy5sZW5ndGg7IGkrKykge1xuICAgIC8vIFN0b3Agb25jZSB3ZSBoaXQgdGhlIGZpcnN0IHRhcmdldCB3aXRoIGxvd2VyIHByaW9yaXR5IHRoYW5cbiAgICBpZiAoIWlzSGlnaGVyRXZlbnRQcmlvcml0eSh1cGRhdGVQcmlvcml0eSwgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzW2ldLnByaW9yaXR5KSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNwbGljZShpLCAwLCBxdWV1ZWRUYXJnZXQpO1xuXG4gIGlmIChpID09PSAwKSB7XG4gICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KHF1ZXVlZFRhcmdldCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkge1xuICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHRhcmdldENvbnRhaW5lcnMgPSBxdWV1ZWRFdmVudC50YXJnZXRDb250YWluZXJzO1xuXG4gIHdoaWxlICh0YXJnZXRDb250YWluZXJzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgdGFyZ2V0Q29udGFpbmVyID0gdGFyZ2V0Q29udGFpbmVyc1swXTtcbiAgICB2YXIgbmV4dEJsb2NrZWRPbiA9IGZpbmRJbnN0YW5jZUJsb2NraW5nRXZlbnQocXVldWVkRXZlbnQuZG9tRXZlbnROYW1lLCBxdWV1ZWRFdmVudC5ldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIHF1ZXVlZEV2ZW50Lm5hdGl2ZUV2ZW50KTtcblxuICAgIGlmIChuZXh0QmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHZhciBuYXRpdmVFdmVudCA9IHF1ZXVlZEV2ZW50Lm5hdGl2ZUV2ZW50O1xuICAgICAgICB2YXIgbmF0aXZlRXZlbnRDbG9uZSA9IG5ldyBuYXRpdmVFdmVudC5jb25zdHJ1Y3RvcihuYXRpdmVFdmVudC50eXBlLCBuYXRpdmVFdmVudCk7XG4gICAgICAgIHNldFJlcGxheWluZ0V2ZW50KG5hdGl2ZUV2ZW50Q2xvbmUpO1xuICAgICAgICBuYXRpdmVFdmVudC50YXJnZXQuZGlzcGF0Y2hFdmVudChuYXRpdmVFdmVudENsb25lKTtcbiAgICAgICAgcmVzZXRSZXBsYXlpbmdFdmVudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSdyZSBzdGlsbCBibG9ja2VkLiBUcnkgYWdhaW4gbGF0ZXIuXG4gICAgICB2YXIgX2ZpYmVyMyA9IGdldEluc3RhbmNlRnJvbU5vZGUobmV4dEJsb2NrZWRPbik7XG5cbiAgICAgIGlmIChfZmliZXIzICE9PSBudWxsKSB7XG4gICAgICAgIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uKF9maWJlcjMpO1xuICAgICAgfVxuXG4gICAgICBxdWV1ZWRFdmVudC5ibG9ja2VkT24gPSBuZXh0QmxvY2tlZE9uO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gVGhpcyB0YXJnZXQgY29udGFpbmVyIHdhcyBzdWNjZXNzZnVsbHkgZGlzcGF0Y2hlZC4gVHJ5IHRoZSBuZXh0LlxuXG5cbiAgICB0YXJnZXRDb250YWluZXJzLnNoaWZ0KCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudEluTWFwKHF1ZXVlZEV2ZW50LCBrZXksIG1hcCkge1xuICBpZiAoYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkpIHtcbiAgICBtYXAuZGVsZXRlKGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwbGF5VW5ibG9ja2VkRXZlbnRzKCkge1xuICBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7XG5cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRGb2N1cykpIHtcbiAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCAmJiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50KHF1ZXVlZERyYWcpKSB7XG4gICAgcXVldWVkRHJhZyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkTW91c2UgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRNb3VzZSkpIHtcbiAgICBxdWV1ZWRNb3VzZSA9IG51bGw7XG4gIH1cblxuICBxdWV1ZWRQb2ludGVycy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG59XG5cbmZ1bmN0aW9uIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWRFdmVudCwgdW5ibG9ja2VkKSB7XG4gIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gPT09IHVuYmxvY2tlZCkge1xuICAgIHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9IG51bGw7XG5cbiAgICBpZiAoIWhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQpIHtcbiAgICAgIGhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQgPSB0cnVlOyAvLyBTY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGF0dGVtcHQgcmVwbGF5aW5nIGFzIG1hbnkgZXZlbnRzIGFzIGFyZVxuICAgICAgLy8gbm93IHVuYmxvY2tlZC4gVGhpcyBmaXJzdCBtaWdodCBub3QgYWN0dWFsbHkgYmUgdW5ibG9ja2VkIHlldC5cbiAgICAgIC8vIFdlIGNvdWxkIGNoZWNrIGl0IGVhcmx5IHRvIGF2b2lkIHNjaGVkdWxpbmcgYW4gdW5uZWNlc3NhcnkgY2FsbGJhY2suXG5cbiAgICAgIFNjaGVkdWxlci51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKFNjaGVkdWxlci51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSwgcmVwbGF5VW5ibG9ja2VkRXZlbnRzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmV0cnlJZkJsb2NrZWRPbih1bmJsb2NrZWQpIHtcbiAgLy8gTWFyayBhbnl0aGluZyB0aGF0IHdhcyBibG9ja2VkIG9uIHRoaXMgYXMgbm8gbG9uZ2VyIGJsb2NrZWRcbiAgLy8gYW5kIGVsaWdpYmxlIGZvciBhIHJlcGxheS5cbiAgaWYgKHF1ZXVlZERpc2NyZXRlRXZlbnRzLmxlbmd0aCA+IDApIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRGlzY3JldGVFdmVudHNbMF0sIHVuYmxvY2tlZCk7IC8vIFRoaXMgaXMgYSBleHBvbmVudGlhbCBzZWFyY2ggZm9yIGVhY2ggYm91bmRhcnkgdGhhdCBjb21taXRzLiBJIHRoaW5rIGl0J3NcbiAgICAvLyB3b3J0aCBpdCBiZWNhdXNlIHdlIGV4cGVjdCB2ZXJ5IGZldyBkaXNjcmV0ZSBldmVudHMgdG8gcXVldWUgdXAgYW5kIG9uY2VcbiAgICAvLyB3ZSBhcmUgYWN0dWFsbHkgZnVsbHkgdW5ibG9ja2VkIGl0IHdpbGwgYmUgZmFzdCB0byByZXBsYXkgdGhlbS5cblxuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgcXVldWVkRGlzY3JldGVFdmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBxdWV1ZWRFdmVudCA9IHF1ZXVlZERpc2NyZXRlRXZlbnRzW2ldO1xuXG4gICAgICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uID09PSB1bmJsb2NrZWQpIHtcbiAgICAgICAgcXVldWVkRXZlbnQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRm9jdXMsIHVuYmxvY2tlZCk7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWREcmFnLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgaWYgKHF1ZXVlZE1vdXNlICE9PSBudWxsKSB7XG4gICAgc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZE1vdXNlLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgdmFyIHVuYmxvY2sgPSBmdW5jdGlvbiAocXVldWVkRXZlbnQpIHtcbiAgICByZXR1cm4gc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZEV2ZW50LCB1bmJsb2NrZWQpO1xuICB9O1xuXG4gIHF1ZXVlZFBvaW50ZXJzLmZvckVhY2godW5ibG9jayk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKHVuYmxvY2spO1xuXG4gIGZvciAodmFyIF9pID0gMDsgX2kgPCBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgdmFyIHF1ZXVlZFRhcmdldCA9IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0c1tfaV07XG5cbiAgICBpZiAocXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XG4gICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICB3aGlsZSAocXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgbmV4dEV4cGxpY2l0VGFyZ2V0ID0gcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzWzBdO1xuXG4gICAgaWYgKG5leHRFeHBsaWNpdFRhcmdldC5ibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXG4gICAgICBicmVhaztcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KG5leHRFeHBsaWNpdFRhcmdldCk7XG5cbiAgICAgIGlmIChuZXh0RXhwbGljaXRUYXJnZXQuYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICAgIC8vIFdlJ3JlIHVuYmxvY2tlZC5cbiAgICAgICAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNoaWZ0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOyAvLyBUT0RPOiBjYW4gd2Ugc3RvcCBleHBvcnRpbmcgdGhlc2U/XG5cbnZhciBfZW5hYmxlZCA9IHRydWU7IC8vIFRoaXMgaXMgZXhwb3J0ZWQgaW4gRkIgYnVpbGRzIGZvciB1c2UgYnkgbGVnYWN5IEZCIGxheWVyIGluZnJhLlxuLy8gV2UnZCBsaWtlIHRvIHJlbW92ZSB0aGlzIGJ1dCBpdCdzIG5vdCBjbGVhciBpZiB0aGlzIGlzIHNhZmUuXG5cbmZ1bmN0aW9uIHNldEVuYWJsZWQoZW5hYmxlZCkge1xuICBfZW5hYmxlZCA9ICEhZW5hYmxlZDtcbn1cbmZ1bmN0aW9uIGlzRW5hYmxlZCgpIHtcbiAgcmV0dXJuIF9lbmFibGVkO1xufVxuZnVuY3Rpb24gY3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXJXaXRoUHJpb3JpdHkodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGV2ZW50UHJpb3JpdHkgPSBnZXRFdmVudFByaW9yaXR5KGRvbUV2ZW50TmFtZSk7XG4gIHZhciBsaXN0ZW5lcldyYXBwZXI7XG5cbiAgc3dpdGNoIChldmVudFByaW9yaXR5KSB7XG4gICAgY2FzZSBEaXNjcmV0ZUV2ZW50UHJpb3JpdHk6XG4gICAgICBsaXN0ZW5lcldyYXBwZXIgPSBkaXNwYXRjaERpc2NyZXRlRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGludW91c0V2ZW50UHJpb3JpdHk6XG4gICAgICBsaXN0ZW5lcldyYXBwZXIgPSBkaXNwYXRjaENvbnRpbnVvdXNFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICBkZWZhdWx0OlxuICAgICAgbGlzdGVuZXJXcmFwcGVyID0gZGlzcGF0Y2hFdmVudDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyV3JhcHBlci5iaW5kKG51bGwsIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hEaXNjcmV0ZUV2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIGRpc3BhdGNoRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShDb250aW51b3VzRXZlbnRQcmlvcml0eSk7XG4gICAgZGlzcGF0Y2hFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuICB9IGZpbmFsbHkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKCFfZW5hYmxlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICBkaXNwYXRjaEV2ZW50V2l0aEVuYWJsZUNhcHR1cmVQaGFzZVNlbGVjdGl2ZUh5ZHJhdGlvbldpdGhvdXREaXNjcmV0ZUV2ZW50UmVwbGF5KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudFdpdGhFbmFibGVDYXB0dXJlUGhhc2VTZWxlY3RpdmVIeWRyYXRpb25XaXRob3V0RGlzY3JldGVFdmVudFJlcGxheShkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgdmFyIGJsb2NrZWRPbiA9IGZpbmRJbnN0YW5jZUJsb2NraW5nRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcblxuICBpZiAoYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgZGlzcGF0Y2hFdmVudEZvclBsdWdpbkV2ZW50U3lzdGVtKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHJldHVybl90YXJnZXRJbnN0LCB0YXJnZXRDb250YWluZXIpO1xuICAgIGNsZWFySWZDb250aW51b3VzRXZlbnQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpKSB7XG4gICAgbmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgcmV0dXJuO1xuICB9IC8vIFdlIG5lZWQgdG8gY2xlYXIgb25seSBpZiB3ZSBkaWRuJ3QgcXVldWUgYmVjYXVzZVxuICAvLyBxdWV1ZWluZyBpcyBhY2N1bXVsYXRpdmUuXG5cblxuICBjbGVhcklmQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpO1xuXG4gIGlmIChldmVudFN5c3RlbUZsYWdzICYgSVNfQ0FQVFVSRV9QSEFTRSAmJiBpc0Rpc2NyZXRlRXZlbnRUaGF0UmVxdWlyZXNIeWRyYXRpb24oZG9tRXZlbnROYW1lKSkge1xuICAgIHdoaWxlIChibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIHZhciBmaWJlciA9IGdldEluc3RhbmNlRnJvbU5vZGUoYmxvY2tlZE9uKTtcblxuICAgICAgaWYgKGZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgIGF0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmaWJlcik7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXh0QmxvY2tlZE9uID0gZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgICBpZiAobmV4dEJsb2NrZWRPbiA9PT0gbnVsbCkge1xuICAgICAgICBkaXNwYXRjaEV2ZW50Rm9yUGx1Z2luRXZlbnRTeXN0ZW0oZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgcmV0dXJuX3RhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0QmxvY2tlZE9uID09PSBibG9ja2VkT24pIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGJsb2NrZWRPbiA9IG5leHRCbG9ja2VkT247XG4gICAgfVxuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgbmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoaXMgaXMgbm90IHJlcGxheWFibGUgc28gd2UnbGwgaW52b2tlIGl0IGJ1dCB3aXRob3V0IGEgdGFyZ2V0LFxuICAvLyBpbiBjYXNlIHRoZSBldmVudCBzeXN0ZW0gbmVlZHMgdG8gdHJhY2UgaXQuXG5cblxuICBkaXNwYXRjaEV2ZW50Rm9yUGx1Z2luRXZlbnRTeXN0ZW0oZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgbnVsbCwgdGFyZ2V0Q29udGFpbmVyKTtcbn1cblxudmFyIHJldHVybl90YXJnZXRJbnN0ID0gbnVsbDsgLy8gUmV0dXJucyBhIFN1c3BlbnNlSW5zdGFuY2Ugb3IgQ29udGFpbmVyIGlmIGl0J3MgYmxvY2tlZC5cbi8vIFRoZSByZXR1cm5fdGFyZ2V0SW5zdCBmaWVsZCBhYm92ZSBpcyBjb25jZXB0dWFsbHkgcGFydCBvZiB0aGUgcmV0dXJuIHZhbHVlLlxuXG5mdW5jdGlvbiBmaW5kSW5zdGFuY2VCbG9ja2luZ0V2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICAvLyBUT0RPOiBXYXJuIGlmIF9lbmFibGVkIGlzIGZhbHNlLlxuICByZXR1cm5fdGFyZ2V0SW5zdCA9IG51bGw7XG4gIHZhciBuYXRpdmVFdmVudFRhcmdldCA9IGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KTtcbiAgdmFyIHRhcmdldEluc3QgPSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkID09PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIHRyZWUgaGFzIGJlZW4gdW5tb3VudGVkIGFscmVhZHkuIERpc3BhdGNoIHdpdGhvdXQgYSB0YXJnZXQuXG4gICAgICB0YXJnZXRJbnN0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHRhZyA9IG5lYXJlc3RNb3VudGVkLnRhZztcblxuICAgICAgaWYgKHRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gUXVldWUgdGhlIGV2ZW50IHRvIGJlIHJlcGxheWVkIGxhdGVyLiBBYm9ydCBkaXNwYXRjaGluZyBzaW5jZSB3ZVxuICAgICAgICAgIC8vIGRvbid0IHdhbnQgdGhpcyBldmVudCBkaXNwYXRjaGVkIHR3aWNlIHRocm91Z2ggdGhlIGV2ZW50IHN5c3RlbS5cbiAgICAgICAgICAvLyBUT0RPOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBkaXNjcmV0ZSBldmVudCBpbiB0aGUgcXVldWUuIFNjaGVkdWxlIGFuIGluY3JlYXNlZFxuICAgICAgICAgIC8vIHByaW9yaXR5IGZvciB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgICAgfSAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIHNvbWV0aGluZyB3ZW50IHdyb25nIGJ1dCB0byBhdm9pZCBibG9ja2luZ1xuICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLCBkaXNwYXRjaCB0aGUgZXZlbnQgd2l0aG91dCBhIHRhcmdldC5cbiAgICAgICAgLy8gVE9ETzogV2Fybi5cblxuXG4gICAgICAgIHRhcmdldEluc3QgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIHZhciByb290ID0gbmVhcmVzdE1vdW50ZWQuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpKSB7XG4gICAgICAgICAgLy8gSWYgdGhpcyBoYXBwZW5zIGR1cmluZyBhIHJlcGxheSBzb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgaXQgbWlnaHQgYmxvY2tcbiAgICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLlxuICAgICAgICAgIHJldHVybiBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKG5lYXJlc3RNb3VudGVkICE9PSB0YXJnZXRJbnN0KSB7XG4gICAgICAgIC8vIElmIHdlIGdldCBhbiBldmVudCAoZXg6IGltZyBvbmxvYWQpIGJlZm9yZSBjb21taXR0aW5nIHRoYXRcbiAgICAgICAgLy8gY29tcG9uZW50J3MgbW91bnQsIGlnbm9yZSBpdCBmb3Igbm93ICh0aGF0IGlzLCB0cmVhdCBpdCBhcyBpZiBpdCB3YXMgYW5cbiAgICAgICAgLy8gZXZlbnQgb24gYSBub24tUmVhY3QgdHJlZSkuIFdlIG1pZ2h0IGFsc28gY29uc2lkZXIgcXVldWVpbmcgZXZlbnRzIGFuZFxuICAgICAgICAvLyBkaXNwYXRjaGluZyB0aGVtIGFmdGVyIHRoZSBtb3VudC5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuX3RhcmdldEluc3QgPSB0YXJnZXRJbnN0OyAvLyBXZSdyZSBub3QgYmxvY2tlZCBvbiBhbnl0aGluZy5cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldEV2ZW50UHJpb3JpdHkoZG9tRXZlbnROYW1lKSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgLy8gVXNlZCBieSBTaW1wbGVFdmVudFBsdWdpbjpcbiAgICBjYXNlICdjYW5jZWwnOlxuICAgIGNhc2UgJ2NsaWNrJzpcbiAgICBjYXNlICdjbG9zZSc6XG4gICAgY2FzZSAnY29udGV4dG1lbnUnOlxuICAgIGNhc2UgJ2NvcHknOlxuICAgIGNhc2UgJ2N1dCc6XG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdkcmFnZW5kJzpcbiAgICBjYXNlICdkcmFnc3RhcnQnOlxuICAgIGNhc2UgJ2Ryb3AnOlxuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgIGNhc2UgJ2ZvY3Vzb3V0JzpcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgY2FzZSAnaW52YWxpZCc6XG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5cHJlc3MnOlxuICAgIGNhc2UgJ2tleXVwJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNldXAnOlxuICAgIGNhc2UgJ3Bhc3RlJzpcbiAgICBjYXNlICdwYXVzZSc6XG4gICAgY2FzZSAncGxheSc6XG4gICAgY2FzZSAncG9pbnRlcmNhbmNlbCc6XG4gICAgY2FzZSAncG9pbnRlcmRvd24nOlxuICAgIGNhc2UgJ3BvaW50ZXJ1cCc6XG4gICAgY2FzZSAncmF0ZWNoYW5nZSc6XG4gICAgY2FzZSAncmVzZXQnOlxuICAgIGNhc2UgJ3Jlc2l6ZSc6XG4gICAgY2FzZSAnc2Vla2VkJzpcbiAgICBjYXNlICdzdWJtaXQnOlxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2hzdGFydCc6XG4gICAgY2FzZSAndm9sdW1lY2hhbmdlJzogLy8gVXNlZCBieSBwb2x5ZmlsbHM6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICBjYXNlICdjaGFuZ2UnOlxuICAgIGNhc2UgJ3NlbGVjdGlvbmNoYW5nZSc6XG4gICAgY2FzZSAndGV4dElucHV0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbnN0YXJ0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbmVuZCc6XG4gICAgY2FzZSAnY29tcG9zaXRpb251cGRhdGUnOiAvLyBPbmx5IGVuYWJsZUNyZWF0ZUV2ZW50SGFuZGxlQVBJOlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuXG4gICAgY2FzZSAnYmVmb3JlYmx1cic6XG4gICAgY2FzZSAnYWZ0ZXJibHVyJzogLy8gTm90IHVzZWQgYnkgUmVhY3QgYnV0IGNvdWxkIGJlIGJ5IHVzZXIgY29kZTpcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgIGNhc2UgJ2JlZm9yZWlucHV0JzpcbiAgICBjYXNlICdibHVyJzpcbiAgICBjYXNlICdmdWxsc2NyZWVuY2hhbmdlJzpcbiAgICBjYXNlICdmb2N1cyc6XG4gICAgY2FzZSAnaGFzaGNoYW5nZSc6XG4gICAgY2FzZSAncG9wc3RhdGUnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAnc2VsZWN0c3RhcnQnOlxuICAgICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2VvdXQnOlxuICAgIGNhc2UgJ21vdXNlb3Zlcic6XG4gICAgY2FzZSAncG9pbnRlcm1vdmUnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICBjYXNlICdzY3JvbGwnOlxuICAgIGNhc2UgJ3RvZ2dsZSc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd3aGVlbCc6IC8vIE5vdCB1c2VkIGJ5IFJlYWN0IGJ1dCBjb3VsZCBiZSBieSB1c2VyIGNvZGU6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICBjYXNlICdtb3VzZWVudGVyJzpcbiAgICBjYXNlICdtb3VzZWxlYXZlJzpcbiAgICBjYXNlICdwb2ludGVyZW50ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJsZWF2ZSc6XG4gICAgICByZXR1cm4gQ29udGludW91c0V2ZW50UHJpb3JpdHk7XG5cbiAgICBjYXNlICdtZXNzYWdlJzpcbiAgICAgIHtcbiAgICAgICAgLy8gV2UgbWlnaHQgYmUgaW4gdGhlIFNjaGVkdWxlciBjYWxsYmFjay5cbiAgICAgICAgLy8gRXZlbnR1YWxseSB0aGlzIG1lY2hhbmlzbSB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgY2hlY2tcbiAgICAgICAgLy8gb2YgdGhlIGN1cnJlbnQgcHJpb3JpdHkgb24gdGhlIG5hdGl2ZSBzY2hlZHVsZXIuXG4gICAgICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eSA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XG5cbiAgICAgICAgc3dpdGNoIChzY2hlZHVsZXJQcmlvcml0eSkge1xuICAgICAgICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgICAgICAgICByZXR1cm4gRGlzY3JldGVFdmVudFByaW9yaXR5O1xuXG4gICAgICAgICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICAgICAgICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICAgICAgY2FzZSBMb3dQcmlvcml0eTpcbiAgICAgICAgICAgIC8vIFRPRE86IEhhbmRsZSBMb3dTY2hlZHVsZXJQcmlvcml0eSwgc29tZWhvdy4gTWF5YmUgdGhlIHNhbWUgbGFuZSBhcyBoeWRyYXRpb24uXG4gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG5cbiAgICAgICAgICBjYXNlIElkbGVQcmlvcml0eTpcbiAgICAgICAgICAgIHJldHVybiBJZGxlRXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkRXZlbnRCdWJibGVMaXN0ZW5lcih0YXJnZXQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcbiAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgZmFsc2UpO1xuICByZXR1cm4gbGlzdGVuZXI7XG59XG5mdW5jdGlvbiBhZGRFdmVudENhcHR1cmVMaXN0ZW5lcih0YXJnZXQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcbiAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgdHJ1ZSk7XG4gIHJldHVybiBsaXN0ZW5lcjtcbn1cbmZ1bmN0aW9uIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyV2l0aFBhc3NpdmVGbGFnKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lciwgcGFzc2l2ZSkge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB7XG4gICAgY2FwdHVyZTogdHJ1ZSxcbiAgICBwYXNzaXZlOiBwYXNzaXZlXG4gIH0pO1xuICByZXR1cm4gbGlzdGVuZXI7XG59XG5mdW5jdGlvbiBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyV2l0aFBhc3NpdmVGbGFnKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lciwgcGFzc2l2ZSkge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB7XG4gICAgcGFzc2l2ZTogcGFzc2l2ZVxuICB9KTtcbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG4vKipcbiAqIFRoZXNlIHZhcmlhYmxlcyBzdG9yZSBpbmZvcm1hdGlvbiBhYm91dCB0ZXh0IGNvbnRlbnQgb2YgYSB0YXJnZXQgbm9kZSxcbiAqIGFsbG93aW5nIGNvbXBhcmlzb24gb2YgY29udGVudCBiZWZvcmUgYW5kIGFmdGVyIGEgZ2l2ZW4gZXZlbnQuXG4gKlxuICogSWRlbnRpZnkgdGhlIG5vZGUgd2hlcmUgc2VsZWN0aW9uIGN1cnJlbnRseSBiZWdpbnMsIHRoZW4gb2JzZXJ2ZVxuICogYm90aCBpdHMgdGV4dCBjb250ZW50IGFuZCBpdHMgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgRE9NLiBTaW5jZSB0aGVcbiAqIGJyb3dzZXIgbWF5IG5hdGl2ZWx5IHJlcGxhY2UgdGhlIHRhcmdldCBub2RlIGR1cmluZyBjb21wb3NpdGlvbiwgd2UgY2FuXG4gKiB1c2UgaXRzIHBvc2l0aW9uIHRvIGZpbmQgaXRzIHJlcGxhY2VtZW50LlxuICpcbiAqXG4gKi9cbnZhciByb290ID0gbnVsbDtcbnZhciBzdGFydFRleHQgPSBudWxsO1xudmFyIGZhbGxiYWNrVGV4dCA9IG51bGw7XG5mdW5jdGlvbiBpbml0aWFsaXplKG5hdGl2ZUV2ZW50VGFyZ2V0KSB7XG4gIHJvb3QgPSBuYXRpdmVFdmVudFRhcmdldDtcbiAgc3RhcnRUZXh0ID0gZ2V0VGV4dCgpO1xuICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIHJlc2V0KCkge1xuICByb290ID0gbnVsbDtcbiAgc3RhcnRUZXh0ID0gbnVsbDtcbiAgZmFsbGJhY2tUZXh0ID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldERhdGEoKSB7XG4gIGlmIChmYWxsYmFja1RleHQpIHtcbiAgICByZXR1cm4gZmFsbGJhY2tUZXh0O1xuICB9XG5cbiAgdmFyIHN0YXJ0O1xuICB2YXIgc3RhcnRWYWx1ZSA9IHN0YXJ0VGV4dDtcbiAgdmFyIHN0YXJ0TGVuZ3RoID0gc3RhcnRWYWx1ZS5sZW5ndGg7XG4gIHZhciBlbmQ7XG4gIHZhciBlbmRWYWx1ZSA9IGdldFRleHQoKTtcbiAgdmFyIGVuZExlbmd0aCA9IGVuZFZhbHVlLmxlbmd0aDtcblxuICBmb3IgKHN0YXJ0ID0gMDsgc3RhcnQgPCBzdGFydExlbmd0aDsgc3RhcnQrKykge1xuICAgIGlmIChzdGFydFZhbHVlW3N0YXJ0XSAhPT0gZW5kVmFsdWVbc3RhcnRdKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB2YXIgbWluRW5kID0gc3RhcnRMZW5ndGggLSBzdGFydDtcblxuICBmb3IgKGVuZCA9IDE7IGVuZCA8PSBtaW5FbmQ7IGVuZCsrKSB7XG4gICAgaWYgKHN0YXJ0VmFsdWVbc3RhcnRMZW5ndGggLSBlbmRdICE9PSBlbmRWYWx1ZVtlbmRMZW5ndGggLSBlbmRdKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB2YXIgc2xpY2VUYWlsID0gZW5kID4gMSA/IDEgLSBlbmQgOiB1bmRlZmluZWQ7XG4gIGZhbGxiYWNrVGV4dCA9IGVuZFZhbHVlLnNsaWNlKHN0YXJ0LCBzbGljZVRhaWwpO1xuICByZXR1cm4gZmFsbGJhY2tUZXh0O1xufVxuZnVuY3Rpb24gZ2V0VGV4dCgpIHtcbiAgaWYgKCd2YWx1ZScgaW4gcm9vdCkge1xuICAgIHJldHVybiByb290LnZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHJvb3QudGV4dENvbnRlbnQ7XG59XG5cbi8qKlxuICogYGNoYXJDb2RlYCByZXByZXNlbnRzIHRoZSBhY3R1YWwgXCJjaGFyYWN0ZXIgY29kZVwiIGFuZCBpcyBzYWZlIHRvIHVzZSB3aXRoXG4gKiBgU3RyaW5nLmZyb21DaGFyQ29kZWAuIEFzIHN1Y2gsIG9ubHkga2V5cyB0aGF0IGNvcnJlc3BvbmQgdG8gcHJpbnRhYmxlXG4gKiBjaGFyYWN0ZXJzIHByb2R1Y2UgYSB2YWxpZCBgY2hhckNvZGVgLCB0aGUgb25seSBleGNlcHRpb24gdG8gdGhpcyBpcyBFbnRlci5cbiAqIFRoZSBUYWIta2V5IGlzIGNvbnNpZGVyZWQgbm9uLXByaW50YWJsZSBhbmQgZG9lcyBub3QgaGF2ZSBhIGBjaGFyQ29kZWAsXG4gKiBwcmVzdW1hYmx5IGJlY2F1c2UgaXQgZG9lcyBub3QgcHJvZHVjZSBhIHRhYi1jaGFyYWN0ZXIgaW4gYnJvd3NlcnMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7bnVtYmVyfSBOb3JtYWxpemVkIGBjaGFyQ29kZWAgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEV2ZW50Q2hhckNvZGUobmF0aXZlRXZlbnQpIHtcbiAgdmFyIGNoYXJDb2RlO1xuICB2YXIga2V5Q29kZSA9IG5hdGl2ZUV2ZW50LmtleUNvZGU7XG5cbiAgaWYgKCdjaGFyQ29kZScgaW4gbmF0aXZlRXZlbnQpIHtcbiAgICBjaGFyQ29kZSA9IG5hdGl2ZUV2ZW50LmNoYXJDb2RlOyAvLyBGRiBkb2VzIG5vdCBzZXQgYGNoYXJDb2RlYCBmb3IgdGhlIEVudGVyLWtleSwgY2hlY2sgYWdhaW5zdCBga2V5Q29kZWAuXG5cbiAgICBpZiAoY2hhckNvZGUgPT09IDAgJiYga2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIGNoYXJDb2RlID0gMTM7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIElFOCBkb2VzIG5vdCBpbXBsZW1lbnQgYGNoYXJDb2RlYCwgYnV0IGBrZXlDb2RlYCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUuXG4gICAgY2hhckNvZGUgPSBrZXlDb2RlO1xuICB9IC8vIElFIGFuZCBFZGdlIChvbiBXaW5kb3dzKSBhbmQgQ2hyb21lIC8gU2FmYXJpIChvbiBXaW5kb3dzIGFuZCBMaW51eClcbiAgLy8gcmVwb3J0IEVudGVyIGFzIGNoYXJDb2RlIDEwIHdoZW4gY3RybCBpcyBwcmVzc2VkLlxuXG5cbiAgaWYgKGNoYXJDb2RlID09PSAxMCkge1xuICAgIGNoYXJDb2RlID0gMTM7XG4gIH0gLy8gU29tZSBub24tcHJpbnRhYmxlIGtleXMgYXJlIHJlcG9ydGVkIGluIGBjaGFyQ29kZWAvYGtleUNvZGVgLCBkaXNjYXJkIHRoZW0uXG4gIC8vIE11c3Qgbm90IGRpc2NhcmQgdGhlIChub24tKXByaW50YWJsZSBFbnRlci1rZXkuXG5cblxuICBpZiAoY2hhckNvZGUgPj0gMzIgfHwgY2hhckNvZGUgPT09IDEzKSB7XG4gICAgcmV0dXJuIGNoYXJDb2RlO1xuICB9XG5cbiAgcmV0dXJuIDA7XG59XG5cbmZ1bmN0aW9uIGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlKCkge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlKCkge1xuICByZXR1cm4gZmFsc2U7XG59IC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhIGZhY3Rvcnkgc28gdGhhdCB3ZSBoYXZlIGRpZmZlcmVudCByZXR1cm5lZCBjb25zdHJ1Y3RvcnMuXG4vLyBJZiB3ZSBoYWQgYSBzaW5nbGUgY29uc3RydWN0b3IsIGl0IHdvdWxkIGJlIG1lZ2Ftb3JwaGljIGFuZCBlbmdpbmVzIHdvdWxkIGRlb3B0LlxuXG5cbmZ1bmN0aW9uIGNyZWF0ZVN5bnRoZXRpY0V2ZW50KEludGVyZmFjZSkge1xuICAvKipcbiAgICogU3ludGhldGljIGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCBieSBldmVudCBwbHVnaW5zLCB0eXBpY2FsbHkgaW4gcmVzcG9uc2UgdG8gYVxuICAgKiB0b3AtbGV2ZWwgZXZlbnQgZGVsZWdhdGlvbiBoYW5kbGVyLlxuICAgKlxuICAgKiBUaGVzZSBzeXN0ZW1zIHNob3VsZCBnZW5lcmFsbHkgdXNlIHBvb2xpbmcgdG8gcmVkdWNlIHRoZSBmcmVxdWVuY3kgb2YgZ2FyYmFnZVxuICAgKiBjb2xsZWN0aW9uLiBUaGUgc3lzdGVtIHNob3VsZCBjaGVjayBgaXNQZXJzaXN0ZW50YCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGVcbiAgICogZXZlbnQgc2hvdWxkIGJlIHJlbGVhc2VkIGludG8gdGhlIHBvb2wgYWZ0ZXIgYmVpbmcgZGlzcGF0Y2hlZC4gVXNlcnMgdGhhdFxuICAgKiBuZWVkIGEgcGVyc2lzdGVkIGV2ZW50IHNob3VsZCBpbnZva2UgYHBlcnNpc3RgLlxuICAgKlxuICAgKiBTeW50aGV0aWMgZXZlbnRzIChhbmQgc3ViY2xhc3NlcykgaW1wbGVtZW50IHRoZSBET00gTGV2ZWwgMyBFdmVudHMgQVBJIGJ5XG4gICAqIG5vcm1hbGl6aW5nIGJyb3dzZXIgcXVpcmtzLiBTdWJjbGFzc2VzIGRvIG5vdCBuZWNlc3NhcmlseSBoYXZlIHRvIGltcGxlbWVudCBhXG4gICAqIERPTSBpbnRlcmZhY2U7IGN1c3RvbSBhcHBsaWNhdGlvbi1zcGVjaWZpYyBldmVudHMgY2FuIGFsc28gc3ViY2xhc3MgdGhpcy5cbiAgICovXG4gIGZ1bmN0aW9uIFN5bnRoZXRpY0Jhc2VFdmVudChyZWFjdE5hbWUsIHJlYWN0RXZlbnRUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgICB0aGlzLl9yZWFjdE5hbWUgPSByZWFjdE5hbWU7XG4gICAgdGhpcy5fdGFyZ2V0SW5zdCA9IHRhcmdldEluc3Q7XG4gICAgdGhpcy50eXBlID0gcmVhY3RFdmVudFR5cGU7XG4gICAgdGhpcy5uYXRpdmVFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnRUYXJnZXQ7XG4gICAgdGhpcy5jdXJyZW50VGFyZ2V0ID0gbnVsbDtcblxuICAgIGZvciAodmFyIF9wcm9wTmFtZSBpbiBJbnRlcmZhY2UpIHtcbiAgICAgIGlmICghSW50ZXJmYWNlLmhhc093blByb3BlcnR5KF9wcm9wTmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBub3JtYWxpemUgPSBJbnRlcmZhY2VbX3Byb3BOYW1lXTtcblxuICAgICAgaWYgKG5vcm1hbGl6ZSkge1xuICAgICAgICB0aGlzW19wcm9wTmFtZV0gPSBub3JtYWxpemUobmF0aXZlRXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpc1tfcHJvcE5hbWVdID0gbmF0aXZlRXZlbnRbX3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgZGVmYXVsdFByZXZlbnRlZCA9IG5hdGl2ZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgIT0gbnVsbCA/IG5hdGl2ZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgOiBuYXRpdmVFdmVudC5yZXR1cm5WYWx1ZSA9PT0gZmFsc2U7XG5cbiAgICBpZiAoZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFzc2lnbihTeW50aGV0aWNCYXNlRXZlbnQucHJvdG90eXBlLCB7XG4gICAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFByZXZlbnRlZCA9IHRydWU7XG4gICAgICB2YXIgZXZlbnQgPSB0aGlzLm5hdGl2ZUV2ZW50O1xuXG4gICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vICRGbG93Rml4TWUgLSBmbG93IGlzIG5vdCBhd2FyZSBvZiBgdW5rbm93bmAgaW4gSUVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LnJldHVyblZhbHVlICE9PSAndW5rbm93bicpIHtcbiAgICAgICAgZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgICB9LFxuICAgIHN0b3BQcm9wYWdhdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGV2ZW50ID0gdGhpcy5uYXRpdmVFdmVudDtcblxuICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vICRGbG93Rml4TWUgLSBmbG93IGlzIG5vdCBhd2FyZSBvZiBgdW5rbm93bmAgaW4gSUVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LmNhbmNlbEJ1YmJsZSAhPT0gJ3Vua25vd24nKSB7XG4gICAgICAgIC8vIFRoZSBDaGFuZ2VFdmVudFBsdWdpbiByZWdpc3RlcnMgYSBcInByb3BlcnR5Y2hhbmdlXCIgZXZlbnQgZm9yXG4gICAgICAgIC8vIElFLiBUaGlzIGV2ZW50IGRvZXMgbm90IHN1cHBvcnQgYnViYmxpbmcgb3IgY2FuY2VsbGluZywgYW5kXG4gICAgICAgIC8vIGFueSByZWZlcmVuY2VzIHRvIGNhbmNlbEJ1YmJsZSB0aHJvdyBcIk1lbWJlciBub3QgZm91bmRcIi4gIEFcbiAgICAgICAgLy8gdHlwZW9mIGNoZWNrIG9mIFwidW5rbm93blwiIGNpcmN1bXZlbnRzIHRoaXMgaXNzdWUgKGFuZCBpcyBhbHNvXG4gICAgICAgIC8vIElFIHNwZWNpZmljKS5cbiAgICAgICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBXZSByZWxlYXNlIGFsbCBkaXNwYXRjaGVkIGBTeW50aGV0aWNFdmVudGBzIGFmdGVyIGVhY2ggZXZlbnQgbG9vcCwgYWRkaW5nXG4gICAgICogdGhlbSBiYWNrIGludG8gdGhlIHBvb2wuIFRoaXMgYWxsb3dzIGEgd2F5IHRvIGhvbGQgb250byBhIHJlZmVyZW5jZSB0aGF0XG4gICAgICogd29uJ3QgYmUgYWRkZWQgYmFjayBpbnRvIHRoZSBwb29sLlxuICAgICAqL1xuICAgIHBlcnNpc3Q6IGZ1bmN0aW9uICgpIHsvLyBNb2Rlcm4gZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGlzIGV2ZW50IHNob3VsZCBiZSByZWxlYXNlZCBiYWNrIGludG8gdGhlIHBvb2wuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoaXMgc2hvdWxkIG5vdCBiZSByZWxlYXNlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGlzUGVyc2lzdGVudDogZnVuY3Rpb25UaGF0UmV0dXJuc1RydWVcbiAgfSk7XG4gIHJldHVybiBTeW50aGV0aWNCYXNlRXZlbnQ7XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xuICovXG5cblxudmFyIEV2ZW50SW50ZXJmYWNlID0ge1xuICBldmVudFBoYXNlOiAwLFxuICBidWJibGVzOiAwLFxuICBjYW5jZWxhYmxlOiAwLFxuICB0aW1lU3RhbXA6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiBldmVudC50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTtcbiAgfSxcbiAgZGVmYXVsdFByZXZlbnRlZDogMCxcbiAgaXNUcnVzdGVkOiAwXG59O1xudmFyIFN5bnRoZXRpY0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRXZlbnRJbnRlcmZhY2UpO1xuXG52YXIgVUlFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgdmlldzogMCxcbiAgZGV0YWlsOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1VJRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChVSUV2ZW50SW50ZXJmYWNlKTtcbnZhciBsYXN0TW92ZW1lbnRYO1xudmFyIGxhc3RNb3ZlbWVudFk7XG52YXIgbGFzdE1vdXNlRXZlbnQ7XG5cbmZ1bmN0aW9uIHVwZGF0ZU1vdXNlTW92ZW1lbnRQb2x5ZmlsbFN0YXRlKGV2ZW50KSB7XG4gIGlmIChldmVudCAhPT0gbGFzdE1vdXNlRXZlbnQpIHtcbiAgICBpZiAobGFzdE1vdXNlRXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScpIHtcbiAgICAgIGxhc3RNb3ZlbWVudFggPSBldmVudC5zY3JlZW5YIC0gbGFzdE1vdXNlRXZlbnQuc2NyZWVuWDtcbiAgICAgIGxhc3RNb3ZlbWVudFkgPSBldmVudC5zY3JlZW5ZIC0gbGFzdE1vdXNlRXZlbnQuc2NyZWVuWTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdE1vdmVtZW50WCA9IDA7XG4gICAgICBsYXN0TW92ZW1lbnRZID0gMDtcbiAgICB9XG5cbiAgICBsYXN0TW91c2VFdmVudCA9IGV2ZW50O1xuICB9XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgTW91c2VFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxuXG52YXIgTW91c2VFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICBzY3JlZW5YOiAwLFxuICBzY3JlZW5ZOiAwLFxuICBjbGllbnRYOiAwLFxuICBjbGllbnRZOiAwLFxuICBwYWdlWDogMCxcbiAgcGFnZVk6IDAsXG4gIGN0cmxLZXk6IDAsXG4gIHNoaWZ0S2V5OiAwLFxuICBhbHRLZXk6IDAsXG4gIG1ldGFLZXk6IDAsXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcbiAgYnV0dG9uOiAwLFxuICBidXR0b25zOiAwLFxuICByZWxhdGVkVGFyZ2V0OiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQucmVsYXRlZFRhcmdldCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZXZlbnQuZnJvbUVsZW1lbnQgPT09IGV2ZW50LnNyY0VsZW1lbnQgPyBldmVudC50b0VsZW1lbnQgOiBldmVudC5mcm9tRWxlbWVudDtcbiAgICByZXR1cm4gZXZlbnQucmVsYXRlZFRhcmdldDtcbiAgfSxcbiAgbW92ZW1lbnRYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoJ21vdmVtZW50WCcgaW4gZXZlbnQpIHtcbiAgICAgIHJldHVybiBldmVudC5tb3ZlbWVudFg7XG4gICAgfVxuXG4gICAgdXBkYXRlTW91c2VNb3ZlbWVudFBvbHlmaWxsU3RhdGUoZXZlbnQpO1xuICAgIHJldHVybiBsYXN0TW92ZW1lbnRYO1xuICB9LFxuICBtb3ZlbWVudFk6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIGlmICgnbW92ZW1lbnRZJyBpbiBldmVudCkge1xuICAgICAgcmV0dXJuIGV2ZW50Lm1vdmVtZW50WTtcbiAgICB9IC8vIERvbid0IG5lZWQgdG8gY2FsbCB1cGRhdGVNb3VzZU1vdmVtZW50UG9seWZpbGxTdGF0ZSgpIGhlcmVcbiAgICAvLyBiZWNhdXNlIGl0J3MgZ3VhcmFudGVlZCB0byBoYXZlIGFscmVhZHkgcnVuIHdoZW4gbW92ZW1lbnRYXG4gICAgLy8gd2FzIGNvcGllZC5cblxuXG4gICAgcmV0dXJuIGxhc3RNb3ZlbWVudFk7XG4gIH1cbn0pO1xuXG52YXIgU3ludGhldGljTW91c2VFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KE1vdXNlRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIERyYWdFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIERyYWdFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgTW91c2VFdmVudEludGVyZmFjZSwge1xuICBkYXRhVHJhbnNmZXI6IDBcbn0pO1xuXG52YXIgU3ludGhldGljRHJhZ0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRHJhZ0V2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBGb2N1c0V2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy9cbiAqL1xuXG52YXIgRm9jdXNFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICByZWxhdGVkVGFyZ2V0OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0ZvY3VzRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChGb2N1c0V2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI0FuaW1hdGlvbkV2ZW50LWludGVyZmFjZVxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQW5pbWF0aW9uRXZlbnRcbiAqL1xuXG52YXIgQW5pbWF0aW9uRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIEV2ZW50SW50ZXJmYWNlLCB7XG4gIGFuaW1hdGlvbk5hbWU6IDAsXG4gIGVsYXBzZWRUaW1lOiAwLFxuICBwc2V1ZG9FbGVtZW50OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0FuaW1hdGlvbkV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoQW5pbWF0aW9uRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL2NsaXBib2FyZC1hcGlzL1xuICovXG5cbnZhciBDbGlwYm9hcmRFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgY2xpcGJvYXJkRGF0YTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgcmV0dXJuICdjbGlwYm9hcmREYXRhJyBpbiBldmVudCA/IGV2ZW50LmNsaXBib2FyZERhdGEgOiB3aW5kb3cuY2xpcGJvYXJkRGF0YTtcbiAgfVxufSk7XG5cbnZhciBTeW50aGV0aWNDbGlwYm9hcmRFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KENsaXBib2FyZEV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1jb21wb3NpdGlvbmV2ZW50c1xuICovXG5cbnZhciBDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBkYXRhOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL1dELURPTS1MZXZlbC0zLUV2ZW50cy0yMDEzMTEwNVxuICogICAgICAvI2V2ZW50cy1pbnB1dGV2ZW50c1xuICovXG4vLyBIYXBwZW5zIHRvIHNoYXJlIHRoZSBzYW1lIGxpc3QgZm9yIG5vdy5cblxudmFyIFN5bnRoZXRpY0lucHV0RXZlbnQgPSBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50O1xuLyoqXG4gKiBOb3JtYWxpemF0aW9uIG9mIGRlcHJlY2F0ZWQgSFRNTDUgYGtleWAgdmFsdWVzXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciBub3JtYWxpemVLZXkgPSB7XG4gIEVzYzogJ0VzY2FwZScsXG4gIFNwYWNlYmFyOiAnICcsXG4gIExlZnQ6ICdBcnJvd0xlZnQnLFxuICBVcDogJ0Fycm93VXAnLFxuICBSaWdodDogJ0Fycm93UmlnaHQnLFxuICBEb3duOiAnQXJyb3dEb3duJyxcbiAgRGVsOiAnRGVsZXRlJyxcbiAgV2luOiAnT1MnLFxuICBNZW51OiAnQ29udGV4dE1lbnUnLFxuICBBcHBzOiAnQ29udGV4dE1lbnUnLFxuICBTY3JvbGw6ICdTY3JvbGxMb2NrJyxcbiAgTW96UHJpbnRhYmxlS2V5OiAnVW5pZGVudGlmaWVkJ1xufTtcbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBsZWdhY3kgYGtleUNvZGVgIHRvIEhUTUw1IGBrZXlgXG4gKiBPbmx5IHNwZWNpYWwga2V5cyBzdXBwb3J0ZWQsIGFsbCBvdGhlcnMgZGVwZW5kIG9uIGtleWJvYXJkIGxheW91dCBvciBicm93c2VyXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciB0cmFuc2xhdGVUb0tleSA9IHtcbiAgJzgnOiAnQmFja3NwYWNlJyxcbiAgJzknOiAnVGFiJyxcbiAgJzEyJzogJ0NsZWFyJyxcbiAgJzEzJzogJ0VudGVyJyxcbiAgJzE2JzogJ1NoaWZ0JyxcbiAgJzE3JzogJ0NvbnRyb2wnLFxuICAnMTgnOiAnQWx0JyxcbiAgJzE5JzogJ1BhdXNlJyxcbiAgJzIwJzogJ0NhcHNMb2NrJyxcbiAgJzI3JzogJ0VzY2FwZScsXG4gICczMic6ICcgJyxcbiAgJzMzJzogJ1BhZ2VVcCcsXG4gICczNCc6ICdQYWdlRG93bicsXG4gICczNSc6ICdFbmQnLFxuICAnMzYnOiAnSG9tZScsXG4gICczNyc6ICdBcnJvd0xlZnQnLFxuICAnMzgnOiAnQXJyb3dVcCcsXG4gICczOSc6ICdBcnJvd1JpZ2h0JyxcbiAgJzQwJzogJ0Fycm93RG93bicsXG4gICc0NSc6ICdJbnNlcnQnLFxuICAnNDYnOiAnRGVsZXRlJyxcbiAgJzExMic6ICdGMScsXG4gICcxMTMnOiAnRjInLFxuICAnMTE0JzogJ0YzJyxcbiAgJzExNSc6ICdGNCcsXG4gICcxMTYnOiAnRjUnLFxuICAnMTE3JzogJ0Y2JyxcbiAgJzExOCc6ICdGNycsXG4gICcxMTknOiAnRjgnLFxuICAnMTIwJzogJ0Y5JyxcbiAgJzEyMSc6ICdGMTAnLFxuICAnMTIyJzogJ0YxMScsXG4gICcxMjMnOiAnRjEyJyxcbiAgJzE0NCc6ICdOdW1Mb2NrJyxcbiAgJzE0NSc6ICdTY3JvbGxMb2NrJyxcbiAgJzIyNCc6ICdNZXRhJ1xufTtcbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7c3RyaW5nfSBOb3JtYWxpemVkIGBrZXlgIHByb3BlcnR5LlxuICovXG5cbmZ1bmN0aW9uIGdldEV2ZW50S2V5KG5hdGl2ZUV2ZW50KSB7XG4gIGlmIChuYXRpdmVFdmVudC5rZXkpIHtcbiAgICAvLyBOb3JtYWxpemUgaW5jb25zaXN0ZW50IHZhbHVlcyByZXBvcnRlZCBieSBicm93c2VycyBkdWUgdG9cbiAgICAvLyBpbXBsZW1lbnRhdGlvbnMgb2YgYSB3b3JraW5nIGRyYWZ0IHNwZWNpZmljYXRpb24uXG4gICAgLy8gRmlyZUZveCBpbXBsZW1lbnRzIGBrZXlgIGJ1dCByZXR1cm5zIGBNb3pQcmludGFibGVLZXlgIGZvciBhbGxcbiAgICAvLyBwcmludGFibGUgY2hhcmFjdGVycyAobm9ybWFsaXplZCB0byBgVW5pZGVudGlmaWVkYCksIGlnbm9yZSBpdC5cbiAgICB2YXIga2V5ID0gbm9ybWFsaXplS2V5W25hdGl2ZUV2ZW50LmtleV0gfHwgbmF0aXZlRXZlbnQua2V5O1xuXG4gICAgaWYgKGtleSAhPT0gJ1VuaWRlbnRpZmllZCcpIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuICB9IC8vIEJyb3dzZXIgZG9lcyBub3QgaW1wbGVtZW50IGBrZXlgLCBwb2x5ZmlsbCBhcyBtdWNoIG9mIGl0IGFzIHdlIGNhbi5cblxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgdmFyIGNoYXJDb2RlID0gZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCk7IC8vIFRoZSBlbnRlci1rZXkgaXMgdGVjaG5pY2FsbHkgYm90aCBwcmludGFibGUgYW5kIG5vbi1wcmludGFibGUgYW5kIGNhblxuICAgIC8vIHRodXMgYmUgY2FwdHVyZWQgYnkgYGtleXByZXNzYCwgbm8gb3RoZXIgbm9uLXByaW50YWJsZSBrZXkgc2hvdWxkLlxuXG4gICAgcmV0dXJuIGNoYXJDb2RlID09PSAxMyA/ICdFbnRlcicgOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNoYXJDb2RlKTtcbiAgfVxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5ZG93bicgfHwgbmF0aXZlRXZlbnQudHlwZSA9PT0gJ2tleXVwJykge1xuICAgIC8vIFdoaWxlIHVzZXIga2V5Ym9hcmQgbGF5b3V0IGRldGVybWluZXMgdGhlIGFjdHVhbCBtZWFuaW5nIG9mIGVhY2hcbiAgICAvLyBga2V5Q29kZWAgdmFsdWUsIGFsbW9zdCBhbGwgZnVuY3Rpb24ga2V5cyBoYXZlIGEgdW5pdmVyc2FsIHZhbHVlLlxuICAgIHJldHVybiB0cmFuc2xhdGVUb0tleVtuYXRpdmVFdmVudC5rZXlDb2RlXSB8fCAnVW5pZGVudGlmaWVkJztcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBtb2RpZmllciBrZXkgdG8gdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaW4gdGhlIGV2ZW50LlxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2tleXMtTW9kaWZpZXJzXG4gKi9cblxuXG52YXIgbW9kaWZpZXJLZXlUb1Byb3AgPSB7XG4gIEFsdDogJ2FsdEtleScsXG4gIENvbnRyb2w6ICdjdHJsS2V5JyxcbiAgTWV0YTogJ21ldGFLZXknLFxuICBTaGlmdDogJ3NoaWZ0S2V5J1xufTsgLy8gT2xkZXIgYnJvd3NlcnMgKFNhZmFyaSA8PSAxMCwgaU9TIFNhZmFyaSA8PSAxMC4yKSBkbyBub3Qgc3VwcG9ydFxuLy8gZ2V0TW9kaWZpZXJTdGF0ZS4gSWYgZ2V0TW9kaWZpZXJTdGF0ZSBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBtYXAgaXQgdG8gYSBzZXQgb2Zcbi8vIG1vZGlmaWVyIGtleXMgZXhwb3NlZCBieSB0aGUgZXZlbnQuIEluIHRoaXMgY2FzZSwgTG9jay1rZXlzIGFyZSBub3Qgc3VwcG9ydGVkLlxuXG5mdW5jdGlvbiBtb2RpZmllclN0YXRlR2V0dGVyKGtleUFyZykge1xuICB2YXIgc3ludGhldGljRXZlbnQgPSB0aGlzO1xuICB2YXIgbmF0aXZlRXZlbnQgPSBzeW50aGV0aWNFdmVudC5uYXRpdmVFdmVudDtcblxuICBpZiAobmF0aXZlRXZlbnQuZ2V0TW9kaWZpZXJTdGF0ZSkge1xuICAgIHJldHVybiBuYXRpdmVFdmVudC5nZXRNb2RpZmllclN0YXRlKGtleUFyZyk7XG4gIH1cblxuICB2YXIga2V5UHJvcCA9IG1vZGlmaWVyS2V5VG9Qcm9wW2tleUFyZ107XG4gIHJldHVybiBrZXlQcm9wID8gISFuYXRpdmVFdmVudFtrZXlQcm9wXSA6IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRFdmVudE1vZGlmaWVyU3RhdGUobmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIG1vZGlmaWVyU3RhdGVHZXR0ZXI7XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgS2V5Ym9hcmRFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxuXG52YXIgS2V5Ym9hcmRFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICBrZXk6IGdldEV2ZW50S2V5LFxuICBjb2RlOiAwLFxuICBsb2NhdGlvbjogMCxcbiAgY3RybEtleTogMCxcbiAgc2hpZnRLZXk6IDAsXG4gIGFsdEtleTogMCxcbiAgbWV0YUtleTogMCxcbiAgcmVwZWF0OiAwLFxuICBsb2NhbGU6IDAsXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcbiAgLy8gTGVnYWN5IEludGVyZmFjZVxuICBjaGFyQ29kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgLy8gYGNoYXJDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5UHJlc3MgZXZlbnQgYW5kIHJlcHJlc2VudHMgdGhlIHZhbHVlIG9mXG4gICAgLy8gdGhlIGFjdHVhbCBwcmludGFibGUgY2hhcmFjdGVyLlxuICAgIC8vIEtleVByZXNzIGlzIGRlcHJlY2F0ZWQsIGJ1dCBpdHMgcmVwbGFjZW1lbnQgaXMgbm90IHlldCBmaW5hbCBhbmQgbm90XG4gICAgLy8gaW1wbGVtZW50ZWQgaW4gYW55IG1ham9yIGJyb3dzZXIuIE9ubHkgS2V5UHJlc3MgaGFzIGNoYXJDb2RlLlxuICAgIGlmIChldmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgICByZXR1cm4gZ2V0RXZlbnRDaGFyQ29kZShldmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH0sXG4gIGtleUNvZGU6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGBrZXlDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5RG93bi9VcCBldmVudCBhbmQgcmVwcmVzZW50cyB0aGUgdmFsdWUgb2ZcbiAgICAvLyBwaHlzaWNhbCBrZXlib2FyZCBrZXkuXG4gICAgLy8gVGhlIGFjdHVhbCBtZWFuaW5nIG9mIHRoZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSB1c2Vycycga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gd2hpY2ggY2Fubm90IGJlIGRldGVjdGVkLiBBc3N1bWluZyB0aGF0IGl0IGlzIGEgVVMga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gcHJvdmlkZXMgYSBzdXJwcmlzaW5nbHkgYWNjdXJhdGUgbWFwcGluZyBmb3IgVVMgYW5kIEV1cm9wZWFuIHVzZXJzLlxuICAgIC8vIER1ZSB0byB0aGlzLCBpdCBpcyBsZWZ0IHRvIHRoZSB1c2VyIHRvIGltcGxlbWVudCBhdCB0aGlzIHRpbWUuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyB8fCBldmVudC50eXBlID09PSAna2V5dXAnKSB7XG4gICAgICByZXR1cm4gZXZlbnQua2V5Q29kZTtcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfSxcbiAgd2hpY2g6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGB3aGljaGAgaXMgYW4gYWxpYXMgZm9yIGVpdGhlciBga2V5Q29kZWAgb3IgYGNoYXJDb2RlYCBkZXBlbmRpbmcgb24gdGhlXG4gICAgLy8gdHlwZSBvZiB0aGUgZXZlbnQuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlwcmVzcycpIHtcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcbiAgICAgIHJldHVybiBldmVudC5rZXlDb2RlO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG59KTtcblxudmFyIFN5bnRoZXRpY0tleWJvYXJkRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChLZXlib2FyZEV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBQb2ludGVyRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50cy9cbiAqL1xuXG52YXIgUG9pbnRlckV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBNb3VzZUV2ZW50SW50ZXJmYWNlLCB7XG4gIHBvaW50ZXJJZDogMCxcbiAgd2lkdGg6IDAsXG4gIGhlaWdodDogMCxcbiAgcHJlc3N1cmU6IDAsXG4gIHRhbmdlbnRpYWxQcmVzc3VyZTogMCxcbiAgdGlsdFg6IDAsXG4gIHRpbHRZOiAwLFxuICB0d2lzdDogMCxcbiAgcG9pbnRlclR5cGU6IDAsXG4gIGlzUHJpbWFyeTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNQb2ludGVyRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChQb2ludGVyRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIFRvdWNoRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvdG91Y2gtZXZlbnRzL1xuICovXG5cbnZhciBUb3VjaEV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBVSUV2ZW50SW50ZXJmYWNlLCB7XG4gIHRvdWNoZXM6IDAsXG4gIHRhcmdldFRvdWNoZXM6IDAsXG4gIGNoYW5nZWRUb3VjaGVzOiAwLFxuICBhbHRLZXk6IDAsXG4gIG1ldGFLZXk6IDAsXG4gIGN0cmxLZXk6IDAsXG4gIHNoaWZ0S2V5OiAwLFxuICBnZXRNb2RpZmllclN0YXRlOiBnZXRFdmVudE1vZGlmaWVyU3RhdGVcbn0pO1xuXG52YXIgU3ludGhldGljVG91Y2hFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRvdWNoRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDkvV0QtY3NzMy10cmFuc2l0aW9ucy0yMDA5MDMyMC8jdHJhbnNpdGlvbi1ldmVudHMtXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9UcmFuc2l0aW9uRXZlbnRcbiAqL1xuXG52YXIgVHJhbnNpdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBwcm9wZXJ0eU5hbWU6IDAsXG4gIGVsYXBzZWRUaW1lOiAwLFxuICBwc2V1ZG9FbGVtZW50OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRyYW5zaXRpb25FdmVudEludGVyZmFjZSk7XG4vKipcbiAqIEBpbnRlcmZhY2UgV2hlZWxFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIFdoZWVsRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIE1vdXNlRXZlbnRJbnRlcmZhY2UsIHtcbiAgZGVsdGFYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICByZXR1cm4gJ2RlbHRhWCcgaW4gZXZlbnQgPyBldmVudC5kZWx0YVggOiAvLyBGYWxsYmFjayB0byBgd2hlZWxEZWx0YVhgIGZvciBXZWJraXQgYW5kIG5vcm1hbGl6ZSAocmlnaHQgaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhWCcgaW4gZXZlbnQgPyAtZXZlbnQud2hlZWxEZWx0YVggOiAwO1xuICB9LFxuICBkZWx0YVk6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiAnZGVsdGFZJyBpbiBldmVudCA/IGV2ZW50LmRlbHRhWSA6IC8vIEZhbGxiYWNrIHRvIGB3aGVlbERlbHRhWWAgZm9yIFdlYmtpdCBhbmQgbm9ybWFsaXplIChkb3duIGlzIHBvc2l0aXZlKS5cbiAgICAnd2hlZWxEZWx0YVknIGluIGV2ZW50ID8gLWV2ZW50LndoZWVsRGVsdGFZIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFgIGZvciBJRTw5IGFuZCBub3JtYWxpemUgKGRvd24gaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhJyBpbiBldmVudCA/IC1ldmVudC53aGVlbERlbHRhIDogMDtcbiAgfSxcbiAgZGVsdGFaOiAwLFxuICAvLyBCcm93c2VycyB3aXRob3V0IFwiZGVsdGFNb2RlXCIgaXMgcmVwb3J0aW5nIGluIHJhdyB3aGVlbCBkZWx0YSB3aGVyZSBvbmVcbiAgLy8gbm90Y2ggb24gdGhlIHNjcm9sbCBpcyBhbHdheXMgKy8tIDEyMCwgcm91Z2hseSBlcXVpdmFsZW50IHRvIHBpeGVscy5cbiAgLy8gQSBnb29kIGFwcHJveGltYXRpb24gb2YgRE9NX0RFTFRBX0xJTkUgKDEpIGlzIDUlIG9mIHZpZXdwb3J0IHNpemUgb3JcbiAgLy8gfjQwIHBpeGVscywgZm9yIERPTV9ERUxUQV9TQ1JFRU4gKDIpIGl0IGlzIDg3LjUlIG9mIHZpZXdwb3J0IHNpemUuXG4gIGRlbHRhTW9kZTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNXaGVlbEV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoV2hlZWxFdmVudEludGVyZmFjZSk7XG5cbnZhciBFTkRfS0VZQ09ERVMgPSBbOSwgMTMsIDI3LCAzMl07IC8vIFRhYiwgUmV0dXJuLCBFc2MsIFNwYWNlXG5cbnZhciBTVEFSVF9LRVlDT0RFID0gMjI5O1xudmFyIGNhblVzZUNvbXBvc2l0aW9uRXZlbnQgPSBjYW5Vc2VET00gJiYgJ0NvbXBvc2l0aW9uRXZlbnQnIGluIHdpbmRvdztcbnZhciBkb2N1bWVudE1vZGUgPSBudWxsO1xuXG5pZiAoY2FuVXNlRE9NICYmICdkb2N1bWVudE1vZGUnIGluIGRvY3VtZW50KSB7XG4gIGRvY3VtZW50TW9kZSA9IGRvY3VtZW50LmRvY3VtZW50TW9kZTtcbn0gLy8gV2Via2l0IG9mZmVycyBhIHZlcnkgdXNlZnVsIGB0ZXh0SW5wdXRgIGV2ZW50IHRoYXQgY2FuIGJlIHVzZWQgdG9cbi8vIGRpcmVjdGx5IHJlcHJlc2VudCBgYmVmb3JlSW5wdXRgLiBUaGUgSUUgYHRleHRpbnB1dGAgZXZlbnQgaXMgbm90IGFzXG4vLyB1c2VmdWwsIHNvIHdlIGRvbid0IHVzZSBpdC5cblxuXG52YXIgY2FuVXNlVGV4dElucHV0RXZlbnQgPSBjYW5Vc2VET00gJiYgJ1RleHRFdmVudCcgaW4gd2luZG93ICYmICFkb2N1bWVudE1vZGU7IC8vIEluIElFOSssIHdlIGhhdmUgYWNjZXNzIHRvIGNvbXBvc2l0aW9uIGV2ZW50cywgYnV0IHRoZSBkYXRhIHN1cHBsaWVkXG4vLyBieSB0aGUgbmF0aXZlIGNvbXBvc2l0aW9uZW5kIGV2ZW50IG1heSBiZSBpbmNvcnJlY3QuIEphcGFuZXNlIGlkZW9ncmFwaGljXG4vLyBzcGFjZXMsIGZvciBpbnN0YW5jZSAoXFx1MzAwMCkgYXJlIG5vdCByZWNvcmRlZCBjb3JyZWN0bHkuXG5cbnZhciB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSA9IGNhblVzZURPTSAmJiAoIWNhblVzZUNvbXBvc2l0aW9uRXZlbnQgfHwgZG9jdW1lbnRNb2RlICYmIGRvY3VtZW50TW9kZSA+IDggJiYgZG9jdW1lbnRNb2RlIDw9IDExKTtcbnZhciBTUEFDRUJBUl9DT0RFID0gMzI7XG52YXIgU1BBQ0VCQVJfQ0hBUiA9IFN0cmluZy5mcm9tQ2hhckNvZGUoU1BBQ0VCQVJfQ09ERSk7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzKCkge1xuICByZWdpc3RlclR3b1BoYXNlRXZlbnQoJ29uQmVmb3JlSW5wdXQnLCBbJ2NvbXBvc2l0aW9uZW5kJywgJ2tleXByZXNzJywgJ3RleHRJbnB1dCcsICdwYXN0ZSddKTtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNvbXBvc2l0aW9uRW5kJywgWydjb21wb3NpdGlvbmVuZCcsICdmb2N1c291dCcsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2tleXVwJywgJ21vdXNlZG93biddKTtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNvbXBvc2l0aW9uU3RhcnQnLCBbJ2NvbXBvc2l0aW9uc3RhcnQnLCAnZm9jdXNvdXQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdtb3VzZWRvd24nXSk7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25Db21wb3NpdGlvblVwZGF0ZScsIFsnY29tcG9zaXRpb251cGRhdGUnLCAnZm9jdXNvdXQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdtb3VzZWRvd24nXSk7XG59IC8vIFRyYWNrIHdoZXRoZXIgd2UndmUgZXZlciBoYW5kbGVkIGEga2V5cHJlc3Mgb24gdGhlIHNwYWNlIGtleS5cblxuXG52YXIgaGFzU3BhY2VLZXlwcmVzcyA9IGZhbHNlO1xuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBhIG5hdGl2ZSBrZXlwcmVzcyBldmVudCBpcyBhc3N1bWVkIHRvIGJlIGEgY29tbWFuZC5cbiAqIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBGaXJlZm94IGZpcmVzIGBrZXlwcmVzc2AgZXZlbnRzIGZvciBrZXkgY29tbWFuZHNcbiAqIChjdXQsIGNvcHksIHNlbGVjdC1hbGwsIGV0Yy4pIGV2ZW4gdGhvdWdoIG5vIGNoYXJhY3RlciBpcyBpbnNlcnRlZC5cbiAqL1xuXG5mdW5jdGlvbiBpc0tleXByZXNzQ29tbWFuZChuYXRpdmVFdmVudCkge1xuICByZXR1cm4gKG5hdGl2ZUV2ZW50LmN0cmxLZXkgfHwgbmF0aXZlRXZlbnQuYWx0S2V5IHx8IG5hdGl2ZUV2ZW50Lm1ldGFLZXkpICYmIC8vIGN0cmxLZXkgJiYgYWx0S2V5IGlzIGVxdWl2YWxlbnQgdG8gQWx0R3IsIGFuZCBpcyBub3QgYSBjb21tYW5kLlxuICAhKG5hdGl2ZUV2ZW50LmN0cmxLZXkgJiYgbmF0aXZlRXZlbnQuYWx0S2V5KTtcbn1cbi8qKlxuICogVHJhbnNsYXRlIG5hdGl2ZSB0b3AgbGV2ZWwgZXZlbnRzIGludG8gZXZlbnQgdHlwZXMuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRDb21wb3NpdGlvbkV2ZW50VHlwZShkb21FdmVudE5hbWUpIHtcbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdjb21wb3NpdGlvbnN0YXJ0JzpcbiAgICAgIHJldHVybiAnb25Db21wb3NpdGlvblN0YXJ0JztcblxuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiAnb25Db21wb3NpdGlvbkVuZCc7XG5cbiAgICBjYXNlICdjb21wb3NpdGlvbnVwZGF0ZSc6XG4gICAgICByZXR1cm4gJ29uQ29tcG9zaXRpb25VcGRhdGUnO1xuICB9XG59XG4vKipcbiAqIERvZXMgb3VyIGZhbGxiYWNrIGJlc3QtZ3Vlc3MgbW9kZWwgdGhpbmsgdGhpcyBldmVudCBzaWduaWZpZXMgdGhhdFxuICogY29tcG9zaXRpb24gaGFzIGJlZ3VuP1xuICovXG5cblxuZnVuY3Rpb24gaXNGYWxsYmFja0NvbXBvc2l0aW9uU3RhcnQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICByZXR1cm4gZG9tRXZlbnROYW1lID09PSAna2V5ZG93bicgJiYgbmF0aXZlRXZlbnQua2V5Q29kZSA9PT0gU1RBUlRfS0VZQ09ERTtcbn1cbi8qKlxuICogRG9lcyBvdXIgZmFsbGJhY2sgbW9kZSB0aGluayB0aGF0IHRoaXMgZXZlbnQgaXMgdGhlIGVuZCBvZiBjb21wb3NpdGlvbj9cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzRmFsbGJhY2tDb21wb3NpdGlvbkVuZChkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgLy8gQ29tbWFuZCBrZXlzIGluc2VydCBvciBjbGVhciBJTUUgaW5wdXQuXG4gICAgICByZXR1cm4gRU5EX0tFWUNPREVTLmluZGV4T2YobmF0aXZlRXZlbnQua2V5Q29kZSkgIT09IC0xO1xuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgICAvLyBFeHBlY3QgSU1FIGtleUNvZGUgb24gZWFjaCBrZXlkb3duLiBJZiB3ZSBnZXQgYW55IG90aGVyXG4gICAgICAvLyBjb2RlIHdlIG11c3QgaGF2ZSBleGl0ZWQgZWFybGllci5cbiAgICAgIHJldHVybiBuYXRpdmVFdmVudC5rZXlDb2RlICE9PSBTVEFSVF9LRVlDT0RFO1xuXG4gICAgY2FzZSAna2V5cHJlc3MnOlxuICAgIGNhc2UgJ21vdXNlZG93bic6XG4gICAgY2FzZSAnZm9jdXNvdXQnOlxuICAgICAgLy8gRXZlbnRzIGFyZSBub3QgcG9zc2libGUgd2l0aG91dCBjYW5jZWxsaW5nIElNRS5cbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuLyoqXG4gKiBHb29nbGUgSW5wdXQgVG9vbHMgcHJvdmlkZXMgY29tcG9zaXRpb24gZGF0YSB2aWEgYSBDdXN0b21FdmVudCxcbiAqIHdpdGggdGhlIGBkYXRhYCBwcm9wZXJ0eSBwb3B1bGF0ZWQgaW4gdGhlIGBkZXRhaWxgIG9iamVjdC4gSWYgdGhpc1xuICogaXMgYXZhaWxhYmxlIG9uIHRoZSBldmVudCBvYmplY3QsIHVzZSBpdC4gSWYgbm90LCB0aGlzIGlzIGEgcGxhaW5cbiAqIGNvbXBvc2l0aW9uIGV2ZW50IGFuZCB3ZSBoYXZlIG5vdGhpbmcgc3BlY2lhbCB0byBleHRyYWN0LlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxuICogQHJldHVybiB7P3N0cmluZ31cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldERhdGFGcm9tQ3VzdG9tRXZlbnQobmF0aXZlRXZlbnQpIHtcbiAgdmFyIGRldGFpbCA9IG5hdGl2ZUV2ZW50LmRldGFpbDtcblxuICBpZiAodHlwZW9mIGRldGFpbCA9PT0gJ29iamVjdCcgJiYgJ2RhdGEnIGluIGRldGFpbCkge1xuICAgIHJldHVybiBkZXRhaWwuZGF0YTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBDaGVjayBpZiBhIGNvbXBvc2l0aW9uIGV2ZW50IHdhcyB0cmlnZ2VyZWQgYnkgS29yZWFuIElNRS5cbiAqIE91ciBmYWxsYmFjayBtb2RlIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIElFJ3MgS29yZWFuIElNRSxcbiAqIHNvIGp1c3QgdXNlIG5hdGl2ZSBjb21wb3NpdGlvbiBldmVudHMgd2hlbiBLb3JlYW4gSU1FIGlzIHVzZWQuXG4gKiBBbHRob3VnaCBDb21wb3NpdGlvbkV2ZW50LmxvY2FsZSBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLFxuICogaXQgaXMgYXZhaWxhYmxlIGluIElFLCB3aGVyZSBvdXIgZmFsbGJhY2sgbW9kZSBpcyBlbmFibGVkLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVXNpbmdLb3JlYW5JTUUobmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIG5hdGl2ZUV2ZW50LmxvY2FsZSA9PT0gJ2tvJztcbn0gLy8gVHJhY2sgdGhlIGN1cnJlbnQgSU1FIGNvbXBvc2l0aW9uIHN0YXR1cywgaWYgYW55LlxuXG5cbnZhciBpc0NvbXBvc2luZyA9IGZhbHNlO1xuLyoqXG4gKiBAcmV0dXJuIHs/b2JqZWN0fSBBIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQuXG4gKi9cblxuZnVuY3Rpb24gZXh0cmFjdENvbXBvc2l0aW9uRXZlbnQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGV2ZW50VHlwZTtcbiAgdmFyIGZhbGxiYWNrRGF0YTtcblxuICBpZiAoY2FuVXNlQ29tcG9zaXRpb25FdmVudCkge1xuICAgIGV2ZW50VHlwZSA9IGdldENvbXBvc2l0aW9uRXZlbnRUeXBlKGRvbUV2ZW50TmFtZSk7XG4gIH0gZWxzZSBpZiAoIWlzQ29tcG9zaW5nKSB7XG4gICAgaWYgKGlzRmFsbGJhY2tDb21wb3NpdGlvblN0YXJ0KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpKSB7XG4gICAgICBldmVudFR5cGUgPSAnb25Db21wb3NpdGlvblN0YXJ0JztcbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNGYWxsYmFja0NvbXBvc2l0aW9uRW5kKGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpKSB7XG4gICAgZXZlbnRUeXBlID0gJ29uQ29tcG9zaXRpb25FbmQnO1xuICB9XG5cbiAgaWYgKCFldmVudFR5cGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkpIHtcbiAgICAvLyBUaGUgY3VycmVudCBjb21wb3NpdGlvbiBpcyBzdG9yZWQgc3RhdGljYWxseSBhbmQgbXVzdCBub3QgYmVcbiAgICAvLyBvdmVyd3JpdHRlbiB3aGlsZSBjb21wb3NpdGlvbiBjb250aW51ZXMuXG4gICAgaWYgKCFpc0NvbXBvc2luZyAmJiBldmVudFR5cGUgPT09ICdvbkNvbXBvc2l0aW9uU3RhcnQnKSB7XG4gICAgICBpc0NvbXBvc2luZyA9IGluaXRpYWxpemUobmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnb25Db21wb3NpdGlvbkVuZCcpIHtcbiAgICAgIGlmIChpc0NvbXBvc2luZykge1xuICAgICAgICBmYWxsYmFja0RhdGEgPSBnZXREYXRhKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCBldmVudFR5cGUpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50KGV2ZW50VHlwZSwgZG9tRXZlbnROYW1lLCBudWxsLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1xuICAgIH0pO1xuXG4gICAgaWYgKGZhbGxiYWNrRGF0YSkge1xuICAgICAgLy8gSW5qZWN0IGRhdGEgZ2VuZXJhdGVkIGZyb20gZmFsbGJhY2sgcGF0aCBpbnRvIHRoZSBzeW50aGV0aWMgZXZlbnQuXG4gICAgICAvLyBUaGlzIG1hdGNoZXMgdGhlIHByb3BlcnR5IG9mIG5hdGl2ZSBDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlLlxuICAgICAgZXZlbnQuZGF0YSA9IGZhbGxiYWNrRGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGN1c3RvbURhdGEgPSBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgICAgaWYgKGN1c3RvbURhdGEgIT09IG51bGwpIHtcbiAgICAgICAgZXZlbnQuZGF0YSA9IGN1c3RvbURhdGE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5hdGl2ZUJlZm9yZUlucHV0Q2hhcnMoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogSWYgbmF0aXZlIGB0ZXh0SW5wdXRgIGV2ZW50cyBhcmUgYXZhaWxhYmxlLCBvdXIgZ29hbCBpcyB0byBtYWtlXG4gICAgICAgKiB1c2Ugb2YgdGhlbS4gSG93ZXZlciwgdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2U6IHRoZSBzcGFjZWJhciBrZXkuXG4gICAgICAgKiBJbiBXZWJraXQsIHByZXZlbnRpbmcgZGVmYXVsdCBvbiBhIHNwYWNlYmFyIGB0ZXh0SW5wdXRgIGV2ZW50XG4gICAgICAgKiBjYW5jZWxzIGNoYXJhY3RlciBpbnNlcnRpb24sIGJ1dCBpdCAqYWxzbyogY2F1c2VzIHRoZSBicm93c2VyXG4gICAgICAgKiB0byBmYWxsIGJhY2sgdG8gaXRzIGRlZmF1bHQgc3BhY2ViYXIgYmVoYXZpb3Igb2Ygc2Nyb2xsaW5nIHRoZVxuICAgICAgICogcGFnZS5cbiAgICAgICAqXG4gICAgICAgKiBUcmFja2luZyBhdDpcbiAgICAgICAqIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNTUxMDNcbiAgICAgICAqXG4gICAgICAgKiBUbyBhdm9pZCB0aGlzIGlzc3VlLCB1c2UgdGhlIGtleXByZXNzIGV2ZW50IGFzIGlmIG5vIGB0ZXh0SW5wdXRgXG4gICAgICAgKiBldmVudCBpcyBhdmFpbGFibGUuXG4gICAgICAgKi9cbiAgICAgIHZhciB3aGljaCA9IG5hdGl2ZUV2ZW50LndoaWNoO1xuXG4gICAgICBpZiAod2hpY2ggIT09IFNQQUNFQkFSX0NPREUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGhhc1NwYWNlS2V5cHJlc3MgPSB0cnVlO1xuICAgICAgcmV0dXJuIFNQQUNFQkFSX0NIQVI7XG5cbiAgICBjYXNlICd0ZXh0SW5wdXQnOlxuICAgICAgLy8gUmVjb3JkIHRoZSBjaGFyYWN0ZXJzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00uXG4gICAgICB2YXIgY2hhcnMgPSBuYXRpdmVFdmVudC5kYXRhOyAvLyBJZiBpdCdzIGEgc3BhY2ViYXIgY2hhcmFjdGVyLCBhc3N1bWUgdGhhdCB3ZSBoYXZlIGFscmVhZHkgaGFuZGxlZFxuICAgICAgLy8gaXQgYXQgdGhlIGtleXByZXNzIGxldmVsIGFuZCBiYWlsIGltbWVkaWF0ZWx5LiBBbmRyb2lkIENocm9tZVxuICAgICAgLy8gZG9lc24ndCBnaXZlIHVzIGtleWNvZGVzLCBzbyB3ZSBuZWVkIHRvIGlnbm9yZSBpdC5cblxuICAgICAgaWYgKGNoYXJzID09PSBTUEFDRUJBUl9DSEFSICYmIGhhc1NwYWNlS2V5cHJlc3MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjaGFycztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBGb3Igb3RoZXIgbmF0aXZlIGV2ZW50IHR5cGVzLCBkbyBub3RoaW5nLlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbi8qKlxuICogRm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHByb3ZpZGUgdGhlIGB0ZXh0SW5wdXRgIGV2ZW50LCBleHRyYWN0IHRoZVxuICogYXBwcm9wcmlhdGUgc3RyaW5nIHRvIHVzZSBmb3IgU3ludGhldGljSW5wdXRFdmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSB7XG4gIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgY29tcG9zaW5nIChJTUUpIGFuZCB1c2luZyBhIGZhbGxiYWNrIHRvIGRvIHNvLFxuICAvLyB0cnkgdG8gZXh0cmFjdCB0aGUgY29tcG9zZWQgY2hhcmFjdGVycyBmcm9tIHRoZSBmYWxsYmFjayBvYmplY3QuXG4gIC8vIElmIGNvbXBvc2l0aW9uIGV2ZW50IGlzIGF2YWlsYWJsZSwgd2UgZXh0cmFjdCBhIHN0cmluZyBvbmx5IGF0XG4gIC8vIGNvbXBvc2l0aW9uZXZlbnQsIG90aGVyd2lzZSBleHRyYWN0IGl0IGF0IGZhbGxiYWNrIGV2ZW50cy5cbiAgaWYgKGlzQ29tcG9zaW5nKSB7XG4gICAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NvbXBvc2l0aW9uZW5kJyB8fCAhY2FuVXNlQ29tcG9zaXRpb25FdmVudCAmJiBpc0ZhbGxiYWNrQ29tcG9zaXRpb25FbmQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkpIHtcbiAgICAgIHZhciBjaGFycyA9IGdldERhdGEoKTtcbiAgICAgIHJlc2V0KCk7XG4gICAgICBpc0NvbXBvc2luZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGNoYXJzO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdwYXN0ZSc6XG4gICAgICAvLyBJZiBhIHBhc3RlIGV2ZW50IG9jY3VycyBhZnRlciBhIGtleXByZXNzLCB0aHJvdyBvdXQgdGhlIGlucHV0XG4gICAgICAvLyBjaGFycy4gUGFzdGUgZXZlbnRzIHNob3VsZCBub3QgbGVhZCB0byBCZWZvcmVJbnB1dCBldmVudHMuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogQXMgb2YgdjI3LCBGaXJlZm94IG1heSBmaXJlIGtleXByZXNzIGV2ZW50cyBldmVuIHdoZW4gbm8gY2hhcmFjdGVyXG4gICAgICAgKiB3aWxsIGJlIGluc2VydGVkLiBBIGZldyBwb3NzaWJpbGl0aWVzOlxuICAgICAgICpcbiAgICAgICAqIC0gYHdoaWNoYCBpcyBgMGAuIEFycm93IGtleXMsIEVzYyBrZXksIGV0Yy5cbiAgICAgICAqXG4gICAgICAgKiAtIGB3aGljaGAgaXMgdGhlIHByZXNzZWQga2V5IGNvZGUsIGJ1dCBubyBjaGFyIGlzIGF2YWlsYWJsZS5cbiAgICAgICAqICAgRXg6ICdBbHRHciArIGRgIGluIFBvbGlzaC4gVGhlcmUgaXMgbm8gbW9kaWZpZWQgY2hhcmFjdGVyIGZvclxuICAgICAgICogICB0aGlzIGtleSBjb21iaW5hdGlvbiBhbmQgbm8gY2hhcmFjdGVyIGlzIGluc2VydGVkIGludG8gdGhlXG4gICAgICAgKiAgIGRvY3VtZW50LCBidXQgRkYgZmlyZXMgdGhlIGtleXByZXNzIGZvciBjaGFyIGNvZGUgYDEwMGAgYW55d2F5LlxuICAgICAgICogICBObyBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKlxuICAgICAgICogLSBgd2hpY2hgIGlzIHRoZSBwcmVzc2VkIGtleSBjb2RlLCBidXQgYSBjb21tYW5kIGNvbWJpbmF0aW9uIGlzXG4gICAgICAgKiAgIGJlaW5nIHVzZWQuIEV4OiBgQ21kK0NgLiBObyBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQsIGFuZCBub1xuICAgICAgICogICBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKi9cbiAgICAgIGlmICghaXNLZXlwcmVzc0NvbW1hbmQobmF0aXZlRXZlbnQpKSB7XG4gICAgICAgIC8vIElFIGZpcmVzIHRoZSBga2V5cHJlc3NgIGV2ZW50IHdoZW4gYSB1c2VyIHR5cGVzIGFuIGVtb2ppIHZpYVxuICAgICAgICAvLyBUb3VjaCBrZXlib2FyZCBvZiBXaW5kb3dzLiAgSW4gc3VjaCBhIGNhc2UsIHRoZSBgY2hhcmAgcHJvcGVydHlcbiAgICAgICAgLy8gaG9sZHMgYW4gZW1vamkgY2hhcmFjdGVyIGxpa2UgYFxcdUQ4M0RcXHVERTBBYC4gIEJlY2F1c2UgaXRzIGxlbmd0aFxuICAgICAgICAvLyBpcyAyLCB0aGUgcHJvcGVydHkgYHdoaWNoYCBkb2VzIG5vdCByZXByZXNlbnQgYW4gZW1vamkgY29ycmVjdGx5LlxuICAgICAgICAvLyBJbiBzdWNoIGEgY2FzZSwgd2UgZGlyZWN0bHkgcmV0dXJuIHRoZSBgY2hhcmAgcHJvcGVydHkgaW5zdGVhZCBvZlxuICAgICAgICAvLyB1c2luZyBgd2hpY2hgLlxuICAgICAgICBpZiAobmF0aXZlRXZlbnQuY2hhciAmJiBuYXRpdmVFdmVudC5jaGFyLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICByZXR1cm4gbmF0aXZlRXZlbnQuY2hhcjtcbiAgICAgICAgfSBlbHNlIGlmIChuYXRpdmVFdmVudC53aGljaCkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKG5hdGl2ZUV2ZW50LndoaWNoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkgPyBudWxsIDogbmF0aXZlRXZlbnQuZGF0YTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuLyoqXG4gKiBFeHRyYWN0IGEgU3ludGhldGljSW5wdXRFdmVudCBmb3IgYGJlZm9yZUlucHV0YCwgYmFzZWQgb24gZWl0aGVyIG5hdGl2ZVxuICogYHRleHRJbnB1dGAgb3IgZmFsbGJhY2sgYmVoYXZpb3IuXG4gKlxuICogQHJldHVybiB7P29iamVjdH0gQSBTeW50aGV0aWNJbnB1dEV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEJlZm9yZUlucHV0RXZlbnQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGNoYXJzO1xuXG4gIGlmIChjYW5Vc2VUZXh0SW5wdXRFdmVudCkge1xuICAgIGNoYXJzID0gZ2V0TmF0aXZlQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSBlbHNlIHtcbiAgICBjaGFycyA9IGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSAvLyBJZiBubyBjaGFyYWN0ZXJzIGFyZSBiZWluZyBpbnNlcnRlZCwgbm8gQmVmb3JlSW5wdXQgZXZlbnQgc2hvdWxkXG4gIC8vIGJlIGZpcmVkLlxuXG5cbiAgaWYgKCFjaGFycykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCAnb25CZWZvcmVJbnB1dCcpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNJbnB1dEV2ZW50KCdvbkJlZm9yZUlucHV0JywgJ2JlZm9yZWlucHV0JywgbnVsbCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNcbiAgICB9KTtcbiAgICBldmVudC5kYXRhID0gY2hhcnM7XG4gIH1cbn1cbi8qKlxuICogQ3JlYXRlIGFuIGBvbkJlZm9yZUlucHV0YCBldmVudCB0byBtYXRjaFxuICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9XRC1ET00tTGV2ZWwtMy1FdmVudHMtMjAxMzExMDUvI2V2ZW50cy1pbnB1dGV2ZW50cy5cbiAqXG4gKiBUaGlzIGV2ZW50IHBsdWdpbiBpcyBiYXNlZCBvbiB0aGUgbmF0aXZlIGB0ZXh0SW5wdXRgIGV2ZW50XG4gKiBhdmFpbGFibGUgaW4gQ2hyb21lLCBTYWZhcmksIE9wZXJhLCBhbmQgSUUuIFRoaXMgZXZlbnQgZmlyZXMgYWZ0ZXJcbiAqIGBvbktleVByZXNzYCBhbmQgYG9uQ29tcG9zaXRpb25FbmRgLCBidXQgYmVmb3JlIGBvbklucHV0YC5cbiAqXG4gKiBgYmVmb3JlSW5wdXRgIGlzIHNwZWMnZCBidXQgbm90IGltcGxlbWVudGVkIGluIGFueSBicm93c2VycywgYW5kXG4gKiB0aGUgYGlucHV0YCBldmVudCBkb2VzIG5vdCBwcm92aWRlIGFueSB1c2VmdWwgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBoYXNcbiAqIGFjdHVhbGx5IGJlZW4gYWRkZWQsIGNvbnRyYXJ5IHRvIHRoZSBzcGVjLiBUaHVzLCBgdGV4dElucHV0YCBpcyB0aGUgYmVzdFxuICogYXZhaWxhYmxlIGV2ZW50IHRvIGlkZW50aWZ5IHRoZSBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBhY3R1YWxseSBiZWVuIGluc2VydGVkXG4gKiBpbnRvIHRoZSB0YXJnZXQgbm9kZS5cbiAqXG4gKiBUaGlzIHBsdWdpbiBpcyBhbHNvIHJlc3BvbnNpYmxlIGZvciBlbWl0dGluZyBgY29tcG9zaXRpb25gIGV2ZW50cywgdGh1c1xuICogYWxsb3dpbmcgdXMgdG8gc2hhcmUgY29tcG9zaXRpb24gZmFsbGJhY2sgY29kZSBmb3IgYm90aCBgYmVmb3JlSW5wdXRgIGFuZFxuICogYGNvbXBvc2l0aW9uYCBldmVudCB0eXBlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICBleHRyYWN0Q29tcG9zaXRpb25FdmVudChkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIGV4dHJhY3RCZWZvcmVJbnB1dEV2ZW50KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS1pbnB1dC1lbGVtZW50Lmh0bWwjaW5wdXQtdHlwZS1hdHRyLXN1bW1hcnlcbiAqL1xudmFyIHN1cHBvcnRlZElucHV0VHlwZXMgPSB7XG4gIGNvbG9yOiB0cnVlLFxuICBkYXRlOiB0cnVlLFxuICBkYXRldGltZTogdHJ1ZSxcbiAgJ2RhdGV0aW1lLWxvY2FsJzogdHJ1ZSxcbiAgZW1haWw6IHRydWUsXG4gIG1vbnRoOiB0cnVlLFxuICBudW1iZXI6IHRydWUsXG4gIHBhc3N3b3JkOiB0cnVlLFxuICByYW5nZTogdHJ1ZSxcbiAgc2VhcmNoOiB0cnVlLFxuICB0ZWw6IHRydWUsXG4gIHRleHQ6IHRydWUsXG4gIHRpbWU6IHRydWUsXG4gIHVybDogdHJ1ZSxcbiAgd2VlazogdHJ1ZVxufTtcblxuZnVuY3Rpb24gaXNUZXh0SW5wdXRFbGVtZW50KGVsZW0pIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbSAmJiBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICByZXR1cm4gISFzdXBwb3J0ZWRJbnB1dFR5cGVzW2VsZW0udHlwZV07XG4gIH1cblxuICBpZiAobm9kZU5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgc3VwcG9ydGVkIGluIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cbiAqXG4gKiBOT1RFOiBUaGlzIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5IGZvciBub24tZ2VuZXJpYyBldmVudHMgc3VjaCBhcyBgY2hhbmdlYCxcbiAqIGByZXNldGAsIGBsb2FkYCwgYGVycm9yYCwgYW5kIGBzZWxlY3RgLlxuICpcbiAqIEJvcnJvd3MgZnJvbSBNb2Rlcm5penIuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVN1ZmZpeCBFdmVudCBuYW1lLCBlLmcuIFwiY2xpY2tcIi5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGV2ZW50IGlzIHN1cHBvcnRlZC5cbiAqIEBpbnRlcm5hbFxuICogQGxpY2Vuc2UgTW9kZXJuaXpyIDMuMC4wcHJlIChDdXN0b20gQnVpbGQpIHwgTUlUXG4gKi9cblxuZnVuY3Rpb24gaXNFdmVudFN1cHBvcnRlZChldmVudE5hbWVTdWZmaXgpIHtcbiAgaWYgKCFjYW5Vc2VET00pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgZXZlbnROYW1lID0gJ29uJyArIGV2ZW50TmFtZVN1ZmZpeDtcbiAgdmFyIGlzU3VwcG9ydGVkID0gKGV2ZW50TmFtZSBpbiBkb2N1bWVudCk7XG5cbiAgaWYgKCFpc1N1cHBvcnRlZCkge1xuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoZXZlbnROYW1lLCAncmV0dXJuOycpO1xuICAgIGlzU3VwcG9ydGVkID0gdHlwZW9mIGVsZW1lbnRbZXZlbnROYW1lXSA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIHJldHVybiBpc1N1cHBvcnRlZDtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJFdmVudHMkMSgpIHtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNoYW5nZScsIFsnY2hhbmdlJywgJ2NsaWNrJywgJ2ZvY3VzaW4nLCAnZm9jdXNvdXQnLCAnaW5wdXQnLCAna2V5ZG93bicsICdrZXl1cCcsICdzZWxlY3Rpb25jaGFuZ2UnXSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBpbnN0LCBuYXRpdmVFdmVudCwgdGFyZ2V0KSB7XG4gIC8vIEZsYWcgdGhpcyBldmVudCBsb29wIGFzIG5lZWRpbmcgc3RhdGUgcmVzdG9yZS5cbiAgZW5xdWV1ZVN0YXRlUmVzdG9yZSh0YXJnZXQpO1xuICB2YXIgbGlzdGVuZXJzID0gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKGluc3QsICdvbkNoYW5nZScpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNFdmVudCgnb25DaGFuZ2UnLCAnY2hhbmdlJywgbnVsbCwgbmF0aXZlRXZlbnQsIHRhcmdldCk7XG4gICAgZGlzcGF0Y2hRdWV1ZS5wdXNoKHtcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzXG4gICAgfSk7XG4gIH1cbn1cbi8qKlxuICogRm9yIElFIHNoaW1zXG4gKi9cblxuXG52YXIgYWN0aXZlRWxlbWVudCA9IG51bGw7XG52YXIgYWN0aXZlRWxlbWVudEluc3QgPSBudWxsO1xuLyoqXG4gKiBTRUNUSU9OOiBoYW5kbGUgYGNoYW5nZWAgZXZlbnRcbiAqL1xuXG5mdW5jdGlvbiBzaG91bGRVc2VDaGFuZ2VFdmVudChlbGVtKSB7XG4gIHZhciBub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gbm9kZU5hbWUgPT09ICdzZWxlY3QnIHx8IG5vZGVOYW1lID09PSAnaW5wdXQnICYmIGVsZW0udHlwZSA9PT0gJ2ZpbGUnO1xufVxuXG5mdW5jdGlvbiBtYW51YWxEaXNwYXRjaENoYW5nZUV2ZW50KG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBkaXNwYXRjaFF1ZXVlID0gW107XG4gIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBhY3RpdmVFbGVtZW50SW5zdCwgbmF0aXZlRXZlbnQsIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSk7IC8vIElmIGNoYW5nZSBhbmQgcHJvcGVydHljaGFuZ2UgYnViYmxlZCwgd2UnZCBqdXN0IGJpbmQgdG8gaXQgbGlrZSBhbGwgdGhlXG4gIC8vIG90aGVyIGV2ZW50cyBhbmQgaGF2ZSBpdCBnbyB0aHJvdWdoIFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci4gU2luY2UgaXRcbiAgLy8gZG9lc24ndCwgd2UgbWFudWFsbHkgbGlzdGVuIGZvciB0aGUgZXZlbnRzIGFuZCBzbyB3ZSBoYXZlIHRvIGVucXVldWUgYW5kXG4gIC8vIHByb2Nlc3MgdGhlIGFic3RyYWN0IGV2ZW50IG1hbnVhbGx5LlxuICAvL1xuICAvLyBCYXRjaGluZyBpcyBuZWNlc3NhcnkgaGVyZSBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCBhbGwgZXZlbnQgaGFuZGxlcnMgcnVuXG4gIC8vIGJlZm9yZSB0aGUgbmV4dCByZXJlbmRlciAoaW5jbHVkaW5nIGV2ZW50IGhhbmRsZXJzIGF0dGFjaGVkIHRvIGFuY2VzdG9yXG4gIC8vIGVsZW1lbnRzIGluc3RlYWQgb2YgZGlyZWN0bHkgb24gdGhlIGlucHV0KS4gV2l0aG91dCB0aGlzLCBjb250cm9sbGVkXG4gIC8vIGNvbXBvbmVudHMgZG9uJ3Qgd29yayBwcm9wZXJseSBpbiBjb25qdW5jdGlvbiB3aXRoIGV2ZW50IGJ1YmJsaW5nIGJlY2F1c2VcbiAgLy8gdGhlIGNvbXBvbmVudCBpcyByZXJlbmRlcmVkIGFuZCB0aGUgdmFsdWUgcmV2ZXJ0ZWQgYmVmb3JlIGFsbCB0aGUgZXZlbnRcbiAgLy8gaGFuZGxlcnMgY2FuIHJ1bi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNzA4LlxuXG4gIGJhdGNoZWRVcGRhdGVzKHJ1bkV2ZW50SW5CYXRjaCwgZGlzcGF0Y2hRdWV1ZSk7XG59XG5cbmZ1bmN0aW9uIHJ1bkV2ZW50SW5CYXRjaChkaXNwYXRjaFF1ZXVlKSB7XG4gIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIDApO1xufVxuXG5mdW5jdGlvbiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCkge1xuICB2YXIgdGFyZ2V0Tm9kZSA9IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCk7XG5cbiAgaWYgKHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKHRhcmdldE5vZGUpKSB7XG4gICAgcmV0dXJuIHRhcmdldEluc3Q7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50KGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCkge1xuICBpZiAoZG9tRXZlbnROYW1lID09PSAnY2hhbmdlJykge1xuICAgIHJldHVybiB0YXJnZXRJbnN0O1xuICB9XG59XG4vKipcbiAqIFNFQ1RJT046IGhhbmRsZSBgaW5wdXRgIGV2ZW50XG4gKi9cblxuXG52YXIgaXNJbnB1dEV2ZW50U3VwcG9ydGVkID0gZmFsc2U7XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgLy8gSUU5IGNsYWltcyB0byBzdXBwb3J0IHRoZSBpbnB1dCBldmVudCBidXQgZmFpbHMgdG8gdHJpZ2dlciBpdCB3aGVuXG4gIC8vIGRlbGV0aW5nIHRleHQsIHNvIHdlIGlnbm9yZSBpdHMgaW5wdXQgZXZlbnRzLlxuICBpc0lucHV0RXZlbnRTdXBwb3J0ZWQgPSBpc0V2ZW50U3VwcG9ydGVkKCdpbnB1dCcpICYmICghZG9jdW1lbnQuZG9jdW1lbnRNb2RlIHx8IGRvY3VtZW50LmRvY3VtZW50TW9kZSA+IDkpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgU3RhcnRzIHRyYWNraW5nIHByb3BlcnR5Y2hhbmdlIGV2ZW50cyBvbiB0aGUgcGFzc2VkLWluIGVsZW1lbnRcbiAqIGFuZCBvdmVycmlkZSB0aGUgdmFsdWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZGlzdGluZ3Vpc2ggdXNlciBldmVudHMgZnJvbVxuICogdmFsdWUgY2hhbmdlcyBpbiBKUy5cbiAqL1xuXG5cbmZ1bmN0aW9uIHN0YXJ0V2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSh0YXJnZXQsIHRhcmdldEluc3QpIHtcbiAgYWN0aXZlRWxlbWVudCA9IHRhcmdldDtcbiAgYWN0aXZlRWxlbWVudEluc3QgPSB0YXJnZXRJbnN0O1xuICBhY3RpdmVFbGVtZW50LmF0dGFjaEV2ZW50KCdvbnByb3BlcnR5Y2hhbmdlJywgaGFuZGxlUHJvcGVydHlDaGFuZ2UpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgUmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXJzIGZyb20gdGhlIGN1cnJlbnRseS10cmFja2VkIGVsZW1lbnQsXG4gKiBpZiBhbnkgZXhpc3RzLlxuICovXG5cblxuZnVuY3Rpb24gc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKSB7XG4gIGlmICghYWN0aXZlRWxlbWVudCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGFjdGl2ZUVsZW1lbnQuZGV0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBoYW5kbGVQcm9wZXJ0eUNoYW5nZSk7XG4gIGFjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICBhY3RpdmVFbGVtZW50SW5zdCA9IG51bGw7XG59XG4vKipcbiAqIChGb3IgSUUgPD05KSBIYW5kbGVzIGEgcHJvcGVydHljaGFuZ2UgZXZlbnQsIHNlbmRpbmcgYSBgY2hhbmdlYCBldmVudCBpZlxuICogdGhlIHZhbHVlIG9mIHRoZSBhY3RpdmUgZWxlbWVudCBoYXMgY2hhbmdlZC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGhhbmRsZVByb3BlcnR5Q2hhbmdlKG5hdGl2ZUV2ZW50KSB7XG4gIGlmIChuYXRpdmVFdmVudC5wcm9wZXJ0eU5hbWUgIT09ICd2YWx1ZScpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKGFjdGl2ZUVsZW1lbnRJbnN0KSkge1xuICAgIG1hbnVhbERpc3BhdGNoQ2hhbmdlRXZlbnQobmF0aXZlRXZlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUV2ZW50c0ZvcklucHV0RXZlbnRQb2x5ZmlsbChkb21FdmVudE5hbWUsIHRhcmdldCwgdGFyZ2V0SW5zdCkge1xuICBpZiAoZG9tRXZlbnROYW1lID09PSAnZm9jdXNpbicpIHtcbiAgICAvLyBJbiBJRTksIHByb3BlcnR5Y2hhbmdlIGZpcmVzIGZvciBtb3N0IGlucHV0IGV2ZW50cyBidXQgaXMgYnVnZ3kgYW5kXG4gICAgLy8gZG9lc24ndCBmaXJlIHdoZW4gdGV4dCBpcyBkZWxldGVkLCBidXQgY29udmVuaWVudGx5LCBzZWxlY3Rpb25jaGFuZ2VcbiAgICAvLyBhcHBlYXJzIHRvIGZpcmUgaW4gYWxsIG9mIHRoZSByZW1haW5pbmcgY2FzZXMgc28gd2UgY2F0Y2ggdGhvc2UgYW5kXG4gICAgLy8gZm9yd2FyZCB0aGUgZXZlbnQgaWYgdGhlIHZhbHVlIGhhcyBjaGFuZ2VkXG4gICAgLy8gSW4gZWl0aGVyIGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gY2FsbCB0aGUgZXZlbnQgaGFuZGxlciBpZiB0aGUgdmFsdWVcbiAgICAvLyBpcyBjaGFuZ2VkIGZyb20gSlMgc28gd2UgcmVkZWZpbmUgYSBzZXR0ZXIgZm9yIGAudmFsdWVgIHRoYXQgdXBkYXRlc1xuICAgIC8vIG91ciBhY3RpdmVFbGVtZW50VmFsdWUgdmFyaWFibGUsIGFsbG93aW5nIHVzIHRvIGlnbm9yZSB0aG9zZSBjaGFuZ2VzXG4gICAgLy9cbiAgICAvLyBzdG9wV2F0Y2hpbmcoKSBzaG91bGQgYmUgYSBub29wIGhlcmUgYnV0IHdlIGNhbGwgaXQganVzdCBpbiBjYXNlIHdlXG4gICAgLy8gbWlzc2VkIGEgYmx1ciBldmVudCBzb21laG93LlxuICAgIHN0b3BXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKCk7XG4gICAgc3RhcnRXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKHRhcmdldCwgdGFyZ2V0SW5zdCk7XG4gIH0gZWxzZSBpZiAoZG9tRXZlbnROYW1lID09PSAnZm9jdXNvdXQnKSB7XG4gICAgc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKTtcbiAgfVxufSAvLyBGb3IgSUU4IGFuZCBJRTkuXG5cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvcklucHV0RXZlbnRQb2x5ZmlsbChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ3NlbGVjdGlvbmNoYW5nZScgfHwgZG9tRXZlbnROYW1lID09PSAna2V5dXAnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ2tleWRvd24nKSB7XG4gICAgLy8gT24gdGhlIHNlbGVjdGlvbmNoYW5nZSBldmVudCwgdGhlIHRhcmdldCBpcyBqdXN0IGRvY3VtZW50IHdoaWNoIGlzbid0XG4gICAgLy8gaGVscGZ1bCBmb3IgdXMgc28ganVzdCBjaGVjayBhY3RpdmVFbGVtZW50IGluc3RlYWQuXG4gICAgLy9cbiAgICAvLyA5OSUgb2YgdGhlIHRpbWUsIGtleWRvd24gYW5kIGtleXVwIGFyZW4ndCBuZWNlc3NhcnkuIElFOCBmYWlscyB0byBmaXJlXG4gICAgLy8gcHJvcGVydHljaGFuZ2Ugb24gdGhlIGZpcnN0IGlucHV0IGV2ZW50IGFmdGVyIHNldHRpbmcgYHZhbHVlYCBmcm9tIGFcbiAgICAvLyBzY3JpcHQgYW5kIGZpcmVzIG9ubHkga2V5ZG93biwga2V5cHJlc3MsIGtleXVwLiBDYXRjaGluZyBrZXl1cCB1c3VhbGx5XG4gICAgLy8gZ2V0cyBpdCBhbmQgY2F0Y2hpbmcga2V5ZG93biBsZXRzIHVzIGZpcmUgYW4gZXZlbnQgZm9yIHRoZSBmaXJzdFxuICAgIC8vIGtleXN0cm9rZSBpZiB1c2VyIGRvZXMgYSBrZXkgcmVwZWF0IChpdCdsbCBiZSBhIGxpdHRsZSBkZWxheWVkOiByaWdodFxuICAgIC8vIGJlZm9yZSB0aGUgc2Vjb25kIGtleXN0cm9rZSkuIE90aGVyIGlucHV0IG1ldGhvZHMgKGUuZy4sIHBhc3RlKSBzZWVtIHRvXG4gICAgLy8gZmlyZSBzZWxlY3Rpb25jaGFuZ2Ugbm9ybWFsbHkuXG4gICAgcmV0dXJuIGdldEluc3RJZlZhbHVlQ2hhbmdlZChhY3RpdmVFbGVtZW50SW5zdCk7XG4gIH1cbn1cbi8qKlxuICogU0VDVElPTjogaGFuZGxlIGBjbGlja2AgZXZlbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHNob3VsZFVzZUNsaWNrRXZlbnQoZWxlbSkge1xuICAvLyBVc2UgdGhlIGBjbGlja2AgZXZlbnQgdG8gZGV0ZWN0IGNoYW5nZXMgdG8gY2hlY2tib3ggYW5kIHJhZGlvIGlucHV0cy5cbiAgLy8gVGhpcyBhcHByb2FjaCB3b3JrcyBhY3Jvc3MgYWxsIGJyb3dzZXJzLCB3aGVyZWFzIGBjaGFuZ2VgIGRvZXMgbm90IGZpcmVcbiAgLy8gdW50aWwgYGJsdXJgIGluIElFOC5cbiAgdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZTtcbiAgcmV0dXJuIG5vZGVOYW1lICYmIG5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbnB1dCcgJiYgKGVsZW0udHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBlbGVtLnR5cGUgPT09ICdyYWRpbycpO1xufVxuXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NsaWNrJykge1xuICAgIHJldHVybiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvcklucHV0T3JDaGFuZ2VFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2lucHV0JyB8fCBkb21FdmVudE5hbWUgPT09ICdjaGFuZ2UnKSB7XG4gICAgcmV0dXJuIGdldEluc3RJZlZhbHVlQ2hhbmdlZCh0YXJnZXRJbnN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKG5vZGUpIHtcbiAgdmFyIHN0YXRlID0gbm9kZS5fd3JhcHBlclN0YXRlO1xuXG4gIGlmICghc3RhdGUgfHwgIXN0YXRlLmNvbnRyb2xsZWQgfHwgbm9kZS50eXBlICE9PSAnbnVtYmVyJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICAvLyBJZiBjb250cm9sbGVkLCBhc3NpZ24gdGhlIHZhbHVlIGF0dHJpYnV0ZSB0byB0aGUgY3VycmVudCB2YWx1ZSBvbiBibHVyXG4gICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsICdudW1iZXInLCBub2RlLnZhbHVlKTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIHBsdWdpbiBjcmVhdGVzIGFuIGBvbkNoYW5nZWAgZXZlbnQgdGhhdCBub3JtYWxpemVzIGNoYW5nZSBldmVudHNcbiAqIGFjcm9zcyBmb3JtIGVsZW1lbnRzLiBUaGlzIGV2ZW50IGZpcmVzIGF0IGEgdGltZSB3aGVuIGl0J3MgcG9zc2libGUgdG9cbiAqIGNoYW5nZSB0aGUgZWxlbWVudCdzIHZhbHVlIHdpdGhvdXQgc2VlaW5nIGEgZmxpY2tlci5cbiAqXG4gKiBTdXBwb3J0ZWQgZWxlbWVudHMgYXJlOlxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxuICogLSB0ZXh0YXJlYVxuICogLSBzZWxlY3RcbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XG4gIHZhciBnZXRUYXJnZXRJbnN0RnVuYywgaGFuZGxlRXZlbnRGdW5jO1xuXG4gIGlmIChzaG91bGRVc2VDaGFuZ2VFdmVudCh0YXJnZXROb2RlKSkge1xuICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50O1xuICB9IGVsc2UgaWYgKGlzVGV4dElucHV0RWxlbWVudCh0YXJnZXROb2RlKSkge1xuICAgIGlmIChpc0lucHV0RXZlbnRTdXBwb3J0ZWQpIHtcbiAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvcklucHV0T3JDaGFuZ2VFdmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgZ2V0VGFyZ2V0SW5zdEZ1bmMgPSBnZXRUYXJnZXRJbnN0Rm9ySW5wdXRFdmVudFBvbHlmaWxsO1xuICAgICAgaGFuZGxlRXZlbnRGdW5jID0gaGFuZGxlRXZlbnRzRm9ySW5wdXRFdmVudFBvbHlmaWxsO1xuICAgIH1cbiAgfSBlbHNlIGlmIChzaG91bGRVc2VDbGlja0V2ZW50KHRhcmdldE5vZGUpKSB7XG4gICAgZ2V0VGFyZ2V0SW5zdEZ1bmMgPSBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudDtcbiAgfVxuXG4gIGlmIChnZXRUYXJnZXRJbnN0RnVuYykge1xuICAgIHZhciBpbnN0ID0gZ2V0VGFyZ2V0SW5zdEZ1bmMoZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0KTtcblxuICAgIGlmIChpbnN0KSB7XG4gICAgICBjcmVhdGVBbmRBY2N1bXVsYXRlQ2hhbmdlRXZlbnQoZGlzcGF0Y2hRdWV1ZSwgaW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFuZGxlRXZlbnRGdW5jKSB7XG4gICAgaGFuZGxlRXZlbnRGdW5jKGRvbUV2ZW50TmFtZSwgdGFyZ2V0Tm9kZSwgdGFyZ2V0SW5zdCk7XG4gIH0gLy8gV2hlbiBibHVycmluZywgc2V0IHRoZSB2YWx1ZSBhdHRyaWJ1dGUgZm9yIG51bWJlciBpbnB1dHNcblxuXG4gIGlmIChkb21FdmVudE5hbWUgPT09ICdmb2N1c291dCcpIHtcbiAgICBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKHRhcmdldE5vZGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzJDIoKSB7XG4gIHJlZ2lzdGVyRGlyZWN0RXZlbnQoJ29uTW91c2VFbnRlcicsIFsnbW91c2VvdXQnLCAnbW91c2VvdmVyJ10pO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KCdvbk1vdXNlTGVhdmUnLCBbJ21vdXNlb3V0JywgJ21vdXNlb3ZlciddKTtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudCgnb25Qb2ludGVyRW50ZXInLCBbJ3BvaW50ZXJvdXQnLCAncG9pbnRlcm92ZXInXSk7XG4gIHJlZ2lzdGVyRGlyZWN0RXZlbnQoJ29uUG9pbnRlckxlYXZlJywgWydwb2ludGVyb3V0JywgJ3BvaW50ZXJvdmVyJ10pO1xufVxuLyoqXG4gKiBGb3IgYWxtb3N0IGV2ZXJ5IGludGVyYWN0aW9uIHdlIGNhcmUgYWJvdXQsIHRoZXJlIHdpbGwgYmUgYm90aCBhIHRvcC1sZXZlbFxuICogYG1vdXNlb3ZlcmAgYW5kIGBtb3VzZW91dGAgZXZlbnQgdGhhdCBvY2N1cnMuIE9ubHkgdXNlIGBtb3VzZW91dGAgc28gdGhhdFxuICogd2UgZG8gbm90IGV4dHJhY3QgZHVwbGljYXRlIGV2ZW50cy4gSG93ZXZlciwgbW92aW5nIHRoZSBtb3VzZSBpbnRvIHRoZVxuICogYnJvd3NlciBmcm9tIG91dHNpZGUgd2lsbCBub3QgZmlyZSBhIGBtb3VzZW91dGAgZXZlbnQuIEluIHRoaXMgY2FzZSwgd2UgdXNlXG4gKiB0aGUgYG1vdXNlb3ZlcmAgdG9wLWxldmVsIGV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEV2ZW50cyQyKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpIHtcbiAgdmFyIGlzT3ZlckV2ZW50ID0gZG9tRXZlbnROYW1lID09PSAnbW91c2VvdmVyJyB8fCBkb21FdmVudE5hbWUgPT09ICdwb2ludGVyb3Zlcic7XG4gIHZhciBpc091dEV2ZW50ID0gZG9tRXZlbnROYW1lID09PSAnbW91c2VvdXQnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdXQnO1xuXG4gIGlmIChpc092ZXJFdmVudCAmJiAhaXNSZXBsYXlpbmdFdmVudChuYXRpdmVFdmVudCkpIHtcbiAgICAvLyBJZiB0aGlzIGlzIGFuIG92ZXIgZXZlbnQgd2l0aCBhIHRhcmdldCwgd2UgbWlnaHQgaGF2ZSBhbHJlYWR5IGRpc3BhdGNoZWRcbiAgICAvLyB0aGUgZXZlbnQgaW4gdGhlIG91dCBldmVudCBvZiB0aGUgb3RoZXIgdGFyZ2V0LiBJZiB0aGlzIGlzIHJlcGxheWVkLFxuICAgIC8vIHRoZW4gaXQncyBiZWNhdXNlIHdlIGNvdWxkbid0IGRpc3BhdGNoIGFnYWluc3QgdGhpcyB0YXJnZXQgcHJldmlvdXNseVxuICAgIC8vIHNvIHdlIGhhdmUgdG8gZG8gaXQgbm93IGluc3RlYWQuXG4gICAgdmFyIHJlbGF0ZWQgPSBuYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0IHx8IG5hdGl2ZUV2ZW50LmZyb21FbGVtZW50O1xuXG4gICAgaWYgKHJlbGF0ZWQpIHtcbiAgICAgIC8vIElmIHRoZSByZWxhdGVkIG5vZGUgaXMgbWFuYWdlZCBieSBSZWFjdCwgd2UgY2FuIGFzc3VtZSB0aGF0IHdlIGhhdmVcbiAgICAgIC8vIGFscmVhZHkgZGlzcGF0Y2hlZCB0aGUgY29ycmVzcG9uZGluZyBldmVudHMgZHVyaW5nIGl0cyBtb3VzZW91dC5cbiAgICAgIGlmIChnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShyZWxhdGVkKSB8fCBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChyZWxhdGVkKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCFpc091dEV2ZW50ICYmICFpc092ZXJFdmVudCkge1xuICAgIC8vIE11c3Qgbm90IGJlIGEgbW91c2Ugb3IgcG9pbnRlciBpbiBvciBvdXQgLSBpZ25vcmluZy5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgd2luOyAvLyBUT0RPOiB3aHkgaXMgdGhpcyBudWxsYWJsZSBpbiB0aGUgdHlwZXMgYnV0IHdlIHJlYWQgZnJvbSBpdD9cblxuICBpZiAobmF0aXZlRXZlbnRUYXJnZXQud2luZG93ID09PSBuYXRpdmVFdmVudFRhcmdldCkge1xuICAgIC8vIGBuYXRpdmVFdmVudFRhcmdldGAgaXMgcHJvYmFibHkgYSB3aW5kb3cgb2JqZWN0LlxuICAgIHdpbiA9IG5hdGl2ZUV2ZW50VGFyZ2V0O1xuICB9IGVsc2Uge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgd2h5IGBvd25lckRvY3VtZW50YCBpcyBzb21ldGltZXMgdW5kZWZpbmVkIGluIElFOC5cbiAgICB2YXIgZG9jID0gbmF0aXZlRXZlbnRUYXJnZXQub3duZXJEb2N1bWVudDtcblxuICAgIGlmIChkb2MpIHtcbiAgICAgIHdpbiA9IGRvYy5kZWZhdWx0VmlldyB8fCBkb2MucGFyZW50V2luZG93O1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW4gPSB3aW5kb3c7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZyb207XG4gIHZhciB0bztcblxuICBpZiAoaXNPdXRFdmVudCkge1xuICAgIHZhciBfcmVsYXRlZCA9IG5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgbmF0aXZlRXZlbnQudG9FbGVtZW50O1xuXG4gICAgZnJvbSA9IHRhcmdldEluc3Q7XG4gICAgdG8gPSBfcmVsYXRlZCA/IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKF9yZWxhdGVkKSA6IG51bGw7XG5cbiAgICBpZiAodG8gIT09IG51bGwpIHtcbiAgICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodG8pO1xuXG4gICAgICBpZiAodG8gIT09IG5lYXJlc3RNb3VudGVkIHx8IHRvLnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiB0by50YWcgIT09IEhvc3RUZXh0KSB7XG4gICAgICAgIHRvID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gTW92aW5nIHRvIGEgbm9kZSBmcm9tIG91dHNpZGUgdGhlIHdpbmRvdy5cbiAgICBmcm9tID0gbnVsbDtcbiAgICB0byA9IHRhcmdldEluc3Q7XG4gIH1cblxuICBpZiAoZnJvbSA9PT0gdG8pIHtcbiAgICAvLyBOb3RoaW5nIHBlcnRhaW5zIHRvIG91ciBtYW5hZ2VkIGNvbXBvbmVudHMuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gIHZhciBsZWF2ZUV2ZW50VHlwZSA9ICdvbk1vdXNlTGVhdmUnO1xuICB2YXIgZW50ZXJFdmVudFR5cGUgPSAnb25Nb3VzZUVudGVyJztcbiAgdmFyIGV2ZW50VHlwZVByZWZpeCA9ICdtb3VzZSc7XG5cbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdXQnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdmVyJykge1xuICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1BvaW50ZXJFdmVudDtcbiAgICBsZWF2ZUV2ZW50VHlwZSA9ICdvblBvaW50ZXJMZWF2ZSc7XG4gICAgZW50ZXJFdmVudFR5cGUgPSAnb25Qb2ludGVyRW50ZXInO1xuICAgIGV2ZW50VHlwZVByZWZpeCA9ICdwb2ludGVyJztcbiAgfVxuXG4gIHZhciBmcm9tTm9kZSA9IGZyb20gPT0gbnVsbCA/IHdpbiA6IGdldE5vZGVGcm9tSW5zdGFuY2UoZnJvbSk7XG4gIHZhciB0b05vZGUgPSB0byA9PSBudWxsID8gd2luIDogZ2V0Tm9kZUZyb21JbnN0YW5jZSh0byk7XG4gIHZhciBsZWF2ZSA9IG5ldyBTeW50aGV0aWNFdmVudEN0b3IobGVhdmVFdmVudFR5cGUsIGV2ZW50VHlwZVByZWZpeCArICdsZWF2ZScsIGZyb20sIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIGxlYXZlLnRhcmdldCA9IGZyb21Ob2RlO1xuICBsZWF2ZS5yZWxhdGVkVGFyZ2V0ID0gdG9Ob2RlO1xuICB2YXIgZW50ZXIgPSBudWxsOyAvLyBXZSBzaG91bGQgb25seSBwcm9jZXNzIHRoaXMgbmF0aXZlRXZlbnQgaWYgd2UgYXJlIHByb2Nlc3NpbmdcbiAgLy8gdGhlIGZpcnN0IGFuY2VzdG9yLiBOZXh0IHRpbWUsIHdlIHdpbGwgaWdub3JlIHRoZSBldmVudC5cblxuICB2YXIgbmF0aXZlVGFyZ2V0SW5zdCA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKG5hdGl2ZUV2ZW50VGFyZ2V0KTtcblxuICBpZiAobmF0aXZlVGFyZ2V0SW5zdCA9PT0gdGFyZ2V0SW5zdCkge1xuICAgIHZhciBlbnRlckV2ZW50ID0gbmV3IFN5bnRoZXRpY0V2ZW50Q3RvcihlbnRlckV2ZW50VHlwZSwgZXZlbnRUeXBlUHJlZml4ICsgJ2VudGVyJywgdG8sIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZW50ZXJFdmVudC50YXJnZXQgPSB0b05vZGU7XG4gICAgZW50ZXJFdmVudC5yZWxhdGVkVGFyZ2V0ID0gZnJvbU5vZGU7XG4gICAgZW50ZXIgPSBlbnRlckV2ZW50O1xuICB9XG5cbiAgYWNjdW11bGF0ZUVudGVyTGVhdmVUd29QaGFzZUxpc3RlbmVycyhkaXNwYXRjaFF1ZXVlLCBsZWF2ZSwgZW50ZXIsIGZyb20sIHRvKTtcbn1cblxuLyoqXG4gKiBpbmxpbmVkIE9iamVjdC5pcyBwb2x5ZmlsbCB0byBhdm9pZCByZXF1aXJpbmcgY29uc3VtZXJzIHNoaXAgdGhlaXIgb3duXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXNcbiAqL1xuZnVuY3Rpb24gaXMoeCwgeSkge1xuICByZXR1cm4geCA9PT0geSAmJiAoeCAhPT0gMCB8fCAxIC8geCA9PT0gMSAvIHkpIHx8IHggIT09IHggJiYgeSAhPT0geSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxuICA7XG59XG5cbnZhciBvYmplY3RJcyA9IHR5cGVvZiBPYmplY3QuaXMgPT09ICdmdW5jdGlvbicgPyBPYmplY3QuaXMgOiBpcztcblxuLyoqXG4gKiBQZXJmb3JtcyBlcXVhbGl0eSBieSBpdGVyYXRpbmcgdGhyb3VnaCBrZXlzIG9uIGFuIG9iamVjdCBhbmQgcmV0dXJuaW5nIGZhbHNlXG4gKiB3aGVuIGFueSBrZXkgaGFzIHZhbHVlcyB3aGljaCBhcmUgbm90IHN0cmljdGx5IGVxdWFsIGJldHdlZW4gdGhlIGFyZ3VtZW50cy5cbiAqIFJldHVybnMgdHJ1ZSB3aGVuIHRoZSB2YWx1ZXMgb2YgYWxsIGtleXMgYXJlIHN0cmljdGx5IGVxdWFsLlxuICovXG5cbmZ1bmN0aW9uIHNoYWxsb3dFcXVhbChvYmpBLCBvYmpCKSB7XG4gIGlmIChvYmplY3RJcyhvYmpBLCBvYmpCKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBvYmpBICE9PSAnb2JqZWN0JyB8fCBvYmpBID09PSBudWxsIHx8IHR5cGVvZiBvYmpCICE9PSAnb2JqZWN0JyB8fCBvYmpCID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGtleXNBID0gT2JqZWN0LmtleXMob2JqQSk7XG4gIHZhciBrZXlzQiA9IE9iamVjdC5rZXlzKG9iakIpO1xuXG4gIGlmIChrZXlzQS5sZW5ndGggIT09IGtleXNCLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBUZXN0IGZvciBBJ3Mga2V5cyBkaWZmZXJlbnQgZnJvbSBCLlxuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzQS5sZW5ndGg7IGkrKykge1xuICAgIHZhciBjdXJyZW50S2V5ID0ga2V5c0FbaV07XG5cbiAgICBpZiAoIWhhc093blByb3BlcnR5LmNhbGwob2JqQiwgY3VycmVudEtleSkgfHwgIW9iamVjdElzKG9iakFbY3VycmVudEtleV0sIG9iakJbY3VycmVudEtleV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogR2l2ZW4gYW55IG5vZGUgcmV0dXJuIHRoZSBmaXJzdCBsZWFmIG5vZGUgd2l0aG91dCBjaGlsZHJlbi5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9XG4gKi9cblxuZnVuY3Rpb24gZ2V0TGVhZk5vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSAmJiBub2RlLmZpcnN0Q2hpbGQpIHtcbiAgICBub2RlID0gbm9kZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4vKipcbiAqIEdldCB0aGUgbmV4dCBzaWJsaW5nIHdpdGhpbiBhIGNvbnRhaW5lci4gVGhpcyB3aWxsIHdhbGsgdXAgdGhlXG4gKiBET00gaWYgYSBub2RlJ3Mgc2libGluZ3MgaGF2ZSBiZWVuIGV4aGF1c3RlZC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4gez9ET01FbGVtZW50fERPTVRleHROb2RlfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0U2libGluZ05vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5leHRTaWJsaW5nKSB7XG4gICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZztcbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlO1xuICB9XG59XG4vKipcbiAqIEdldCBvYmplY3QgZGVzY3JpYmluZyB0aGUgbm9kZXMgd2hpY2ggY29udGFpbiBjaGFyYWN0ZXJzIGF0IG9mZnNldC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IHJvb3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KHJvb3QsIG9mZnNldCkge1xuICB2YXIgbm9kZSA9IGdldExlYWZOb2RlKHJvb3QpO1xuICB2YXIgbm9kZVN0YXJ0ID0gMDtcbiAgdmFyIG5vZGVFbmQgPSAwO1xuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgbm9kZUVuZCA9IG5vZGVTdGFydCArIG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuXG4gICAgICBpZiAobm9kZVN0YXJ0IDw9IG9mZnNldCAmJiBub2RlRW5kID49IG9mZnNldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgICAgb2Zmc2V0OiBvZmZzZXQgLSBub2RlU3RhcnRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgbm9kZVN0YXJ0ID0gbm9kZUVuZDtcbiAgICB9XG5cbiAgICBub2RlID0gZ2V0TGVhZk5vZGUoZ2V0U2libGluZ05vZGUobm9kZSkpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBvdXRlck5vZGVcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0cyhvdXRlck5vZGUpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBvdXRlck5vZGUub3duZXJEb2N1bWVudDtcbiAgdmFyIHdpbiA9IG93bmVyRG9jdW1lbnQgJiYgb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG4gIHZhciBzZWxlY3Rpb24gPSB3aW4uZ2V0U2VsZWN0aW9uICYmIHdpbi5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGFuY2hvck5vZGUgPSBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXG4gICAgICBmb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXNOb2RlLFxuICAgICAgZm9jdXNPZmZzZXQgPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQ7IC8vIEluIEZpcmVmb3gsIGFuY2hvck5vZGUgYW5kIGZvY3VzTm9kZSBjYW4gYmUgXCJhbm9ueW1vdXMgZGl2c1wiLCBlLmcuIHRoZVxuICAvLyB1cC9kb3duIGJ1dHRvbnMgb24gYW4gPGlucHV0IHR5cGU9XCJudW1iZXJcIj4uIEFub255bW91cyBkaXZzIGRvIG5vdCBzZWVtIHRvXG4gIC8vIGV4cG9zZSBwcm9wZXJ0aWVzLCB0cmlnZ2VyaW5nIGEgXCJQZXJtaXNzaW9uIGRlbmllZCBlcnJvclwiIGlmIGFueSBvZiBpdHNcbiAgLy8gcHJvcGVydGllcyBhcmUgYWNjZXNzZWQuIFRoZSBvbmx5IHNlZW1pbmdseSBwb3NzaWJsZSB3YXkgdG8gYXZvaWQgZXJyb3JpbmdcbiAgLy8gaXMgdG8gYWNjZXNzIGEgcHJvcGVydHkgdGhhdCB0eXBpY2FsbHkgd29ya3MgZm9yIG5vbi1hbm9ueW1vdXMgZGl2cyBhbmRcbiAgLy8gY2F0Y2ggYW55IGVycm9yIHRoYXQgbWF5IG90aGVyd2lzZSBhcmlzZS4gU2VlXG4gIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQyN1xuXG4gIHRyeSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLWV4cHJlc3Npb25zICovXG4gICAgYW5jaG9yTm9kZS5ub2RlVHlwZTtcbiAgICBmb2N1c05vZGUubm9kZVR5cGU7XG4gICAgLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtZXhwcmVzc2lvbnMgKi9cbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KTtcbn1cbi8qKlxuICogUmV0dXJucyB7c3RhcnQsIGVuZH0gd2hlcmUgYHN0YXJ0YCBpcyB0aGUgY2hhcmFjdGVyL2NvZGVwb2ludCBpbmRleCBvZlxuICogKGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCkgd2l0aGluIHRoZSB0ZXh0Q29udGVudCBvZiBgb3V0ZXJOb2RlYCwgYW5kXG4gKiBgZW5kYCBpcyB0aGUgaW5kZXggb2YgKGZvY3VzTm9kZSwgZm9jdXNPZmZzZXQpLlxuICpcbiAqIFJldHVybnMgbnVsbCBpZiB5b3UgcGFzcyBpbiBnYXJiYWdlIGlucHV0IGJ1dCB3ZSBzaG91bGQgcHJvYmFibHkganVzdCBjcmFzaC5cbiAqXG4gKiBFeHBvcnRlZCBvbmx5IGZvciB0ZXN0aW5nLlxuICovXG5cbmZ1bmN0aW9uIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KSB7XG4gIHZhciBsZW5ndGggPSAwO1xuICB2YXIgc3RhcnQgPSAtMTtcbiAgdmFyIGVuZCA9IC0xO1xuICB2YXIgaW5kZXhXaXRoaW5BbmNob3IgPSAwO1xuICB2YXIgaW5kZXhXaXRoaW5Gb2N1cyA9IDA7XG4gIHZhciBub2RlID0gb3V0ZXJOb2RlO1xuICB2YXIgcGFyZW50Tm9kZSA9IG51bGw7XG5cbiAgb3V0ZXI6IHdoaWxlICh0cnVlKSB7XG4gICAgdmFyIG5leHQgPSBudWxsO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlID09PSBhbmNob3JOb2RlICYmIChhbmNob3JPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aCArIGFuY2hvck9mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZvY3VzTm9kZSAmJiAoZm9jdXNPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBlbmQgPSBsZW5ndGggKyBmb2N1c09mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgICBsZW5ndGggKz0gbm9kZS5ub2RlVmFsdWUubGVuZ3RoO1xuICAgICAgfVxuXG4gICAgICBpZiAoKG5leHQgPSBub2RlLmZpcnN0Q2hpbGQpID09PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSAvLyBNb3ZpbmcgZnJvbSBgbm9kZWAgdG8gaXRzIGZpcnN0IGNoaWxkIGBuZXh0YC5cblxuXG4gICAgICBwYXJlbnROb2RlID0gbm9kZTtcbiAgICAgIG5vZGUgPSBuZXh0O1xuICAgIH1cblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAobm9kZSA9PT0gb3V0ZXJOb2RlKSB7XG4gICAgICAgIC8vIElmIGBvdXRlck5vZGVgIGhhcyBjaGlsZHJlbiwgdGhpcyBpcyBhbHdheXMgdGhlIHNlY29uZCB0aW1lIHZpc2l0aW5nXG4gICAgICAgIC8vIGl0LiBJZiBpdCBoYXMgbm8gY2hpbGRyZW4sIHRoaXMgaXMgc3RpbGwgdGhlIGZpcnN0IGxvb3AsIGFuZCB0aGUgb25seVxuICAgICAgICAvLyB2YWxpZCBzZWxlY3Rpb24gaXMgYW5jaG9yTm9kZSBhbmQgZm9jdXNOb2RlIGJvdGggZXF1YWwgdG8gdGhpcyBub2RlXG4gICAgICAgIC8vIGFuZCBib3RoIG9mZnNldHMgMCwgaW4gd2hpY2ggY2FzZSB3ZSB3aWxsIGhhdmUgaGFuZGxlZCBhYm92ZS5cbiAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJlbnROb2RlID09PSBhbmNob3JOb2RlICYmICsraW5kZXhXaXRoaW5BbmNob3IgPT09IGFuY2hvck9mZnNldCkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudE5vZGUgPT09IGZvY3VzTm9kZSAmJiArK2luZGV4V2l0aGluRm9jdXMgPT09IGZvY3VzT2Zmc2V0KSB7XG4gICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKChuZXh0ID0gbm9kZS5uZXh0U2libGluZykgIT09IG51bGwpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBwYXJlbnROb2RlO1xuICAgICAgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcbiAgICB9IC8vIE1vdmluZyBmcm9tIGBub2RlYCB0byBpdHMgbmV4dCBzaWJsaW5nIGBuZXh0YC5cblxuXG4gICAgbm9kZSA9IG5leHQ7XG4gIH1cblxuICBpZiAoc3RhcnQgPT09IC0xIHx8IGVuZCA9PT0gLTEpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIChXb3VsZCBoYXBwZW4gaWYgdGhlIGFuY2hvci9mb2N1cyBub2RlcyBhcmVuJ3RcbiAgICAvLyBhY3R1YWxseSBpbnNpZGUgdGhlIHBhc3NlZC1pbiBub2RlLilcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc3RhcnQ6IHN0YXJ0LFxuICAgIGVuZDogZW5kXG4gIH07XG59XG4vKipcbiAqIEluIG1vZGVybiBub24tSUUgYnJvd3NlcnMsIHdlIGNhbiBzdXBwb3J0IGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmRcbiAqIHNlbGVjdGlvbnMuXG4gKlxuICogTm90ZTogSUUxMCsgc3VwcG9ydHMgdGhlIFNlbGVjdGlvbiBvYmplY3QsIGJ1dCBpdCBkb2VzIG5vdCBzdXBwb3J0XG4gKiB0aGUgYGV4dGVuZGAgbWV0aG9kLCB3aGljaCBtZWFucyB0aGF0IGV2ZW4gaW4gbW9kZXJuIElFLCBpdCdzIG5vdCBwb3NzaWJsZVxuICogdG8gcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBiYWNrd2FyZCBzZWxlY3Rpb24uIFRodXMsIGZvciBhbGwgSUVcbiAqIHZlcnNpb25zLCB3ZSB1c2UgdGhlIG9sZCBJRSBBUEkgdG8gY3JlYXRlIG91ciBzZWxlY3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IG9mZnNldHNcbiAqL1xuXG5mdW5jdGlvbiBzZXRPZmZzZXRzKG5vZGUsIG9mZnNldHMpIHtcbiAgdmFyIGRvYyA9IG5vZGUub3duZXJEb2N1bWVudCB8fCBkb2N1bWVudDtcbiAgdmFyIHdpbiA9IGRvYyAmJiBkb2MuZGVmYXVsdFZpZXcgfHwgd2luZG93OyAvLyBFZGdlIGZhaWxzIHdpdGggXCJPYmplY3QgZXhwZWN0ZWRcIiBpbiBzb21lIHNjZW5hcmlvcy5cbiAgLy8gKEZvciBpbnN0YW5jZTogVGlueU1DRSBlZGl0b3IgdXNlZCBpbiBhIGxpc3QgY29tcG9uZW50IHRoYXQgc3VwcG9ydHMgcGFzdGluZyB0byBhZGQgbW9yZSxcbiAgLy8gZmFpbHMgd2hlbiBwYXN0aW5nIDEwMCsgaXRlbXMpXG5cbiAgaWYgKCF3aW4uZ2V0U2VsZWN0aW9uKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcbiAgdmFyIGxlbmd0aCA9IG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuICB2YXIgc3RhcnQgPSBNYXRoLm1pbihvZmZzZXRzLnN0YXJ0LCBsZW5ndGgpO1xuICB2YXIgZW5kID0gb2Zmc2V0cy5lbmQgPT09IHVuZGVmaW5lZCA/IHN0YXJ0IDogTWF0aC5taW4ob2Zmc2V0cy5lbmQsIGxlbmd0aCk7IC8vIElFIDExIHVzZXMgbW9kZXJuIHNlbGVjdGlvbiwgYnV0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZXh0ZW5kIG1ldGhvZC5cbiAgLy8gRmxpcCBiYWNrd2FyZCBzZWxlY3Rpb25zLCBzbyB3ZSBjYW4gc2V0IHdpdGggYSBzaW5nbGUgcmFuZ2UuXG5cbiAgaWYgKCFzZWxlY3Rpb24uZXh0ZW5kICYmIHN0YXJ0ID4gZW5kKSB7XG4gICAgdmFyIHRlbXAgPSBlbmQ7XG4gICAgZW5kID0gc3RhcnQ7XG4gICAgc3RhcnQgPSB0ZW1wO1xuICB9XG5cbiAgdmFyIHN0YXJ0TWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBzdGFydCk7XG4gIHZhciBlbmRNYXJrZXIgPSBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KG5vZGUsIGVuZCk7XG5cbiAgaWYgKHN0YXJ0TWFya2VyICYmIGVuZE1hcmtlcikge1xuICAgIGlmIChzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMSAmJiBzZWxlY3Rpb24uYW5jaG9yTm9kZSA9PT0gc3RhcnRNYXJrZXIubm9kZSAmJiBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0ID09PSBzdGFydE1hcmtlci5vZmZzZXQgJiYgc2VsZWN0aW9uLmZvY3VzTm9kZSA9PT0gZW5kTWFya2VyLm5vZGUgJiYgc2VsZWN0aW9uLmZvY3VzT2Zmc2V0ID09PSBlbmRNYXJrZXIub2Zmc2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHJhbmdlID0gZG9jLmNyZWF0ZVJhbmdlKCk7XG4gICAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnRNYXJrZXIubm9kZSwgc3RhcnRNYXJrZXIub2Zmc2V0KTtcbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG5cbiAgICBpZiAoc3RhcnQgPiBlbmQpIHtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgICBzZWxlY3Rpb24uZXh0ZW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmFuZ2Uuc2V0RW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzVGV4dE5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm5vZGVUeXBlID09PSBURVhUX05PREU7XG59XG5cbmZ1bmN0aW9uIGNvbnRhaW5zTm9kZShvdXRlck5vZGUsIGlubmVyTm9kZSkge1xuICBpZiAoIW91dGVyTm9kZSB8fCAhaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKG91dGVyTm9kZSA9PT0gaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAoaXNUZXh0Tm9kZShvdXRlck5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUoaW5uZXJOb2RlKSkge1xuICAgIHJldHVybiBjb250YWluc05vZGUob3V0ZXJOb2RlLCBpbm5lck5vZGUucGFyZW50Tm9kZSk7XG4gIH0gZWxzZSBpZiAoJ2NvbnRhaW5zJyBpbiBvdXRlck5vZGUpIHtcbiAgICByZXR1cm4gb3V0ZXJOb2RlLmNvbnRhaW5zKGlubmVyTm9kZSk7XG4gIH0gZWxzZSBpZiAob3V0ZXJOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSB7XG4gICAgcmV0dXJuICEhKG91dGVyTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpbm5lck5vZGUpICYgMTYpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0luRG9jdW1lbnQobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm93bmVyRG9jdW1lbnQgJiYgY29udGFpbnNOb2RlKG5vZGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIG5vZGUpO1xufVxuXG5mdW5jdGlvbiBpc1NhbWVPcmlnaW5GcmFtZShpZnJhbWUpIHtcbiAgdHJ5IHtcbiAgICAvLyBBY2Nlc3NpbmcgdGhlIGNvbnRlbnREb2N1bWVudCBvZiBhIEhUTUxJZnJhbWVFbGVtZW50IGNhbiBjYXVzZSB0aGUgYnJvd3NlclxuICAgIC8vIHRvIHRocm93LCBlLmcuIGlmIGl0IGhhcyBhIGNyb3NzLW9yaWdpbiBzcmMgYXR0cmlidXRlLlxuICAgIC8vIFNhZmFyaSB3aWxsIHNob3cgYW4gZXJyb3IgaW4gdGhlIGNvbnNvbGUgd2hlbiB0aGUgYWNjZXNzIHJlc3VsdHMgaW4gXCJCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW5cIi4gZS5nOlxuICAgIC8vIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gICAgLy8gQSBzYWZldHkgd2F5IGlzIHRvIGFjY2VzcyBvbmUgb2YgdGhlIGNyb3NzIG9yaWdpbiBwcm9wZXJ0aWVzOiBXaW5kb3cgb3IgTG9jYXRpb25cbiAgICAvLyBXaGljaCBtaWdodCByZXN1bHQgaW4gXCJTZWN1cml0eUVycm9yXCIgRE9NIEV4Y2VwdGlvbiBhbmQgaXQgaXMgY29tcGF0aWJsZSB0byBTYWZhcmkuXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNpbnRlZ3JhdGlvbi13aXRoLWlkbFxuICAgIHJldHVybiB0eXBlb2YgaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZiA9PT0gJ3N0cmluZyc7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVFbGVtZW50RGVlcCgpIHtcbiAgdmFyIHdpbiA9IHdpbmRvdztcbiAgdmFyIGVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KCk7XG5cbiAgd2hpbGUgKGVsZW1lbnQgaW5zdGFuY2VvZiB3aW4uSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICBpZiAoaXNTYW1lT3JpZ2luRnJhbWUoZWxlbWVudCkpIHtcbiAgICAgIHdpbiA9IGVsZW1lbnQuY29udGVudFdpbmRvdztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZWxlbWVudCA9IGdldEFjdGl2ZUVsZW1lbnQod2luLmRvY3VtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxuLyoqXG4gKiBAUmVhY3RJbnB1dFNlbGVjdGlvbjogUmVhY3QgaW5wdXQgc2VsZWN0aW9uIG1vZHVsZS4gQmFzZWQgb24gU2VsZWN0aW9uLmpzLFxuICogYnV0IG1vZGlmaWVkIHRvIGJlIHN1aXRhYmxlIGZvciByZWFjdCBhbmQgaGFzIGEgY291cGxlIG9mIGJ1ZyBmaXhlcyAoZG9lc24ndFxuICogYXNzdW1lIGJ1dHRvbnMgaGF2ZSByYW5nZSBzZWxlY3Rpb25zIGFsbG93ZWQpLlxuICogSW5wdXQgc2VsZWN0aW9uIG1vZHVsZSBmb3IgUmVhY3QuXG4gKi9cblxuLyoqXG4gKiBAaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzOiB3ZSBnZXQgdGhlIGVsZW1lbnQgdHlwZXMgdGhhdCBzdXBwb3J0IHNlbGVjdGlvblxuICogZnJvbSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkby1ub3QtYXBwbHksIGxvb2tpbmcgYXQgYHNlbGVjdGlvblN0YXJ0YFxuICogYW5kIGBzZWxlY3Rpb25FbmRgIHJvd3MuXG4gKi9cblxuXG5mdW5jdGlvbiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMoZWxlbSkge1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtICYmIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgKG5vZGVOYW1lID09PSAnaW5wdXQnICYmIChlbGVtLnR5cGUgPT09ICd0ZXh0JyB8fCBlbGVtLnR5cGUgPT09ICdzZWFyY2gnIHx8IGVsZW0udHlwZSA9PT0gJ3RlbCcgfHwgZWxlbS50eXBlID09PSAndXJsJyB8fCBlbGVtLnR5cGUgPT09ICdwYXNzd29yZCcpIHx8IG5vZGVOYW1lID09PSAndGV4dGFyZWEnIHx8IGVsZW0uY29udGVudEVkaXRhYmxlID09PSAndHJ1ZScpO1xufVxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKSB7XG4gIHZhciBmb2N1c2VkRWxlbSA9IGdldEFjdGl2ZUVsZW1lbnREZWVwKCk7XG4gIHJldHVybiB7XG4gICAgZm9jdXNlZEVsZW06IGZvY3VzZWRFbGVtLFxuICAgIHNlbGVjdGlvblJhbmdlOiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMoZm9jdXNlZEVsZW0pID8gZ2V0U2VsZWN0aW9uKGZvY3VzZWRFbGVtKSA6IG51bGxcbiAgfTtcbn1cbi8qKlxuICogQHJlc3RvcmVTZWxlY3Rpb246IElmIGFueSBzZWxlY3Rpb24gaW5mb3JtYXRpb24gd2FzIHBvdGVudGlhbGx5IGxvc3QsXG4gKiByZXN0b3JlIGl0LiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHBlcmZvcm1pbmcgb3BlcmF0aW9ucyB0aGF0IGNvdWxkIHJlbW92ZSBkb21cbiAqIG5vZGVzIGFuZCBwbGFjZSB0aGVtIGJhY2sgaW4sIHJlc3VsdGluZyBpbiBmb2N1cyBiZWluZyBsb3N0LlxuICovXG5cbmZ1bmN0aW9uIHJlc3RvcmVTZWxlY3Rpb24ocHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbikge1xuICB2YXIgY3VyRm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xuICB2YXIgcHJpb3JGb2N1c2VkRWxlbSA9IHByaW9yU2VsZWN0aW9uSW5mb3JtYXRpb24uZm9jdXNlZEVsZW07XG4gIHZhciBwcmlvclNlbGVjdGlvblJhbmdlID0gcHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbi5zZWxlY3Rpb25SYW5nZTtcblxuICBpZiAoY3VyRm9jdXNlZEVsZW0gIT09IHByaW9yRm9jdXNlZEVsZW0gJiYgaXNJbkRvY3VtZW50KHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgaWYgKHByaW9yU2VsZWN0aW9uUmFuZ2UgIT09IG51bGwgJiYgaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzKHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgICBzZXRTZWxlY3Rpb24ocHJpb3JGb2N1c2VkRWxlbSwgcHJpb3JTZWxlY3Rpb25SYW5nZSk7XG4gICAgfSAvLyBGb2N1c2luZyBhIG5vZGUgY2FuIGNoYW5nZSB0aGUgc2Nyb2xsIHBvc2l0aW9uLCB3aGljaCBpcyB1bmRlc2lyYWJsZVxuXG5cbiAgICB2YXIgYW5jZXN0b3JzID0gW107XG4gICAgdmFyIGFuY2VzdG9yID0gcHJpb3JGb2N1c2VkRWxlbTtcblxuICAgIHdoaWxlIChhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudE5vZGUpIHtcbiAgICAgIGlmIChhbmNlc3Rvci5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIGFuY2VzdG9ycy5wdXNoKHtcbiAgICAgICAgICBlbGVtZW50OiBhbmNlc3RvcixcbiAgICAgICAgICBsZWZ0OiBhbmNlc3Rvci5zY3JvbGxMZWZ0LFxuICAgICAgICAgIHRvcDogYW5jZXN0b3Iuc2Nyb2xsVG9wXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5jZXN0b3JzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaW5mbyA9IGFuY2VzdG9yc1tpXTtcbiAgICAgIGluZm8uZWxlbWVudC5zY3JvbGxMZWZ0ID0gaW5mby5sZWZ0O1xuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbFRvcCA9IGluZm8udG9wO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBAZ2V0U2VsZWN0aW9uOiBHZXRzIHRoZSBzZWxlY3Rpb24gYm91bmRzIG9mIGEgZm9jdXNlZCB0ZXh0YXJlYSwgaW5wdXQgb3JcbiAqIGNvbnRlbnRFZGl0YWJsZSBub2RlLlxuICogLUBpbnB1dDogTG9vayB1cCBzZWxlY3Rpb24gYm91bmRzIG9mIHRoaXMgaW5wdXRcbiAqIC1AcmV0dXJuIHtzdGFydDogc2VsZWN0aW9uU3RhcnQsIGVuZDogc2VsZWN0aW9uRW5kfVxuICovXG5cbmZ1bmN0aW9uIGdldFNlbGVjdGlvbihpbnB1dCkge1xuICB2YXIgc2VsZWN0aW9uO1xuXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XG4gICAgLy8gTW9kZXJuIGJyb3dzZXIgd2l0aCBpbnB1dCBvciB0ZXh0YXJlYS5cbiAgICBzZWxlY3Rpb24gPSB7XG4gICAgICBzdGFydDogaW5wdXQuc2VsZWN0aW9uU3RhcnQsXG4gICAgICBlbmQ6IGlucHV0LnNlbGVjdGlvbkVuZFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gQ29udGVudCBlZGl0YWJsZSBvciBvbGQgSUUgdGV4dGFyZWEuXG4gICAgc2VsZWN0aW9uID0gZ2V0T2Zmc2V0cyhpbnB1dCk7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0aW9uIHx8IHtcbiAgICBzdGFydDogMCxcbiAgICBlbmQ6IDBcbiAgfTtcbn1cbi8qKlxuICogQHNldFNlbGVjdGlvbjogU2V0cyB0aGUgc2VsZWN0aW9uIGJvdW5kcyBvZiBhIHRleHRhcmVhIG9yIGlucHV0IGFuZCBmb2N1c2VzXG4gKiB0aGUgaW5wdXQuXG4gKiAtQGlucHV0ICAgICBTZXQgc2VsZWN0aW9uIGJvdW5kcyBvZiB0aGlzIGlucHV0IG9yIHRleHRhcmVhXG4gKiAtQG9mZnNldHMgICBPYmplY3Qgb2Ygc2FtZSBmb3JtIHRoYXQgaXMgcmV0dXJuZWQgZnJvbSBnZXQqXG4gKi9cblxuZnVuY3Rpb24gc2V0U2VsZWN0aW9uKGlucHV0LCBvZmZzZXRzKSB7XG4gIHZhciBzdGFydCA9IG9mZnNldHMuc3RhcnQ7XG4gIHZhciBlbmQgPSBvZmZzZXRzLmVuZDtcblxuICBpZiAoZW5kID09PSB1bmRlZmluZWQpIHtcbiAgICBlbmQgPSBzdGFydDtcbiAgfVxuXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XG4gICAgaW5wdXQuc2VsZWN0aW9uU3RhcnQgPSBzdGFydDtcbiAgICBpbnB1dC5zZWxlY3Rpb25FbmQgPSBNYXRoLm1pbihlbmQsIGlucHV0LnZhbHVlLmxlbmd0aCk7XG4gIH0gZWxzZSB7XG4gICAgc2V0T2Zmc2V0cyhpbnB1dCwgb2Zmc2V0cyk7XG4gIH1cbn1cblxudmFyIHNraXBTZWxlY3Rpb25DaGFuZ2VFdmVudCA9IGNhblVzZURPTSAmJiAnZG9jdW1lbnRNb2RlJyBpbiBkb2N1bWVudCAmJiBkb2N1bWVudC5kb2N1bWVudE1vZGUgPD0gMTE7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzJDMoKSB7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25TZWxlY3QnLCBbJ2ZvY3Vzb3V0JywgJ2NvbnRleHRtZW51JywgJ2RyYWdlbmQnLCAnZm9jdXNpbicsICdrZXlkb3duJywgJ2tleXVwJywgJ21vdXNlZG93bicsICdtb3VzZXVwJywgJ3NlbGVjdGlvbmNoYW5nZSddKTtcbn1cblxudmFyIGFjdGl2ZUVsZW1lbnQkMSA9IG51bGw7XG52YXIgYWN0aXZlRWxlbWVudEluc3QkMSA9IG51bGw7XG52YXIgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG52YXIgbW91c2VEb3duID0gZmFsc2U7XG4vKipcbiAqIEdldCBhbiBvYmplY3Qgd2hpY2ggaXMgYSB1bmlxdWUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLlxuICpcbiAqIFRoZSByZXR1cm4gdmFsdWUgd2lsbCBub3QgYmUgY29uc2lzdGVudCBhY3Jvc3Mgbm9kZXMgb3IgYnJvd3NlcnMsIGJ1dFxuICogdHdvIGlkZW50aWNhbCBzZWxlY3Rpb25zIG9uIHRoZSBzYW1lIG5vZGUgd2lsbCByZXR1cm4gaWRlbnRpY2FsIG9iamVjdHMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uJDEobm9kZSkge1xuICBpZiAoJ3NlbGVjdGlvblN0YXJ0JyBpbiBub2RlICYmIGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhub2RlKSkge1xuICAgIHJldHVybiB7XG4gICAgICBzdGFydDogbm9kZS5zZWxlY3Rpb25TdGFydCxcbiAgICAgIGVuZDogbm9kZS5zZWxlY3Rpb25FbmRcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHZhciB3aW4gPSBub2RlLm93bmVyRG9jdW1lbnQgJiYgbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgICB2YXIgc2VsZWN0aW9uID0gd2luLmdldFNlbGVjdGlvbigpO1xuICAgIHJldHVybiB7XG4gICAgICBhbmNob3JOb2RlOiBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldDogc2VsZWN0aW9uLmFuY2hvck9mZnNldCxcbiAgICAgIGZvY3VzTm9kZTogc2VsZWN0aW9uLmZvY3VzTm9kZSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBzZWxlY3Rpb24uZm9jdXNPZmZzZXRcbiAgICB9O1xuICB9XG59XG4vKipcbiAqIEdldCBkb2N1bWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGV2ZW50IHRhcmdldC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQoZXZlbnRUYXJnZXQpIHtcbiAgcmV0dXJuIGV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gZXZlbnRUYXJnZXQgPyBldmVudFRhcmdldC5kb2N1bWVudCA6IGV2ZW50VGFyZ2V0Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gZXZlbnRUYXJnZXQgOiBldmVudFRhcmdldC5vd25lckRvY3VtZW50O1xufVxuLyoqXG4gKiBQb2xsIHNlbGVjdGlvbiB0byBzZWUgd2hldGhlciBpdCdzIGNoYW5nZWQuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRUYXJnZXRcbiAqIEByZXR1cm4gez9TeW50aGV0aWNFdmVudH1cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xuICAvLyBFbnN1cmUgd2UgaGF2ZSB0aGUgcmlnaHQgZWxlbWVudCwgYW5kIHRoYXQgdGhlIHVzZXIgaXMgbm90IGRyYWdnaW5nIGFcbiAgLy8gc2VsZWN0aW9uICh0aGlzIG1hdGNoZXMgbmF0aXZlIGBzZWxlY3RgIGV2ZW50IGJlaGF2aW9yKS4gSW4gSFRNTDUsIHNlbGVjdFxuICAvLyBmaXJlcyBvbmx5IG9uIGlucHV0IGFuZCB0ZXh0YXJlYSB0aHVzIGlmIHRoZXJlJ3Mgbm8gZm9jdXNlZCBlbGVtZW50IHdlXG4gIC8vIHdvbid0IGRpc3BhdGNoLlxuICB2YXIgZG9jID0gZ2V0RXZlbnRUYXJnZXREb2N1bWVudChuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKG1vdXNlRG93biB8fCBhY3RpdmVFbGVtZW50JDEgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50JDEgIT09IGdldEFjdGl2ZUVsZW1lbnQoZG9jKSkge1xuICAgIHJldHVybjtcbiAgfSAvLyBPbmx5IGZpcmUgd2hlbiBzZWxlY3Rpb24gaGFzIGFjdHVhbGx5IGNoYW5nZWQuXG5cblxuICB2YXIgY3VycmVudFNlbGVjdGlvbiA9IGdldFNlbGVjdGlvbiQxKGFjdGl2ZUVsZW1lbnQkMSk7XG5cbiAgaWYgKCFsYXN0U2VsZWN0aW9uIHx8ICFzaGFsbG93RXF1YWwobGFzdFNlbGVjdGlvbiwgY3VycmVudFNlbGVjdGlvbikpIHtcbiAgICBsYXN0U2VsZWN0aW9uID0gY3VycmVudFNlbGVjdGlvbjtcbiAgICB2YXIgbGlzdGVuZXJzID0gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKGFjdGl2ZUVsZW1lbnRJbnN0JDEsICdvblNlbGVjdCcpO1xuXG4gICAgaWYgKGxpc3RlbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB2YXIgZXZlbnQgPSBuZXcgU3ludGhldGljRXZlbnQoJ29uU2VsZWN0JywgJ3NlbGVjdCcsIG51bGwsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzXG4gICAgICB9KTtcbiAgICAgIGV2ZW50LnRhcmdldCA9IGFjdGl2ZUVsZW1lbnQkMTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogVGhpcyBwbHVnaW4gY3JlYXRlcyBhbiBgb25TZWxlY3RgIGV2ZW50IHRoYXQgbm9ybWFsaXplcyBzZWxlY3QgZXZlbnRzXG4gKiBhY3Jvc3MgZm9ybSBlbGVtZW50cy5cbiAqXG4gKiBTdXBwb3J0ZWQgZWxlbWVudHMgYXJlOlxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxuICogLSB0ZXh0YXJlYVxuICogLSBjb250ZW50RWRpdGFibGVcbiAqXG4gKiBUaGlzIGRpZmZlcnMgZnJvbSBuYXRpdmUgYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMgaW4gdGhlIGZvbGxvd2luZyB3YXlzOlxuICogLSBGaXJlcyBvbiBjb250ZW50RWRpdGFibGUgZmllbGRzIGFzIHdlbGwgYXMgaW5wdXRzLlxuICogLSBGaXJlcyBmb3IgY29sbGFwc2VkIHNlbGVjdGlvbi5cbiAqIC0gRmlyZXMgYWZ0ZXIgdXNlciBpbnB1dC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMyhkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICAvLyBUcmFjayB0aGUgaW5wdXQgbm9kZSB0aGF0IGhhcyBmb2N1cy5cbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICAgIGlmIChpc1RleHRJbnB1dEVsZW1lbnQodGFyZ2V0Tm9kZSkgfHwgdGFyZ2V0Tm9kZS5jb250ZW50RWRpdGFibGUgPT09ICd0cnVlJykge1xuICAgICAgICBhY3RpdmVFbGVtZW50JDEgPSB0YXJnZXROb2RlO1xuICAgICAgICBhY3RpdmVFbGVtZW50SW5zdCQxID0gdGFyZ2V0SW5zdDtcbiAgICAgICAgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZm9jdXNvdXQnOlxuICAgICAgYWN0aXZlRWxlbWVudCQxID0gbnVsbDtcbiAgICAgIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSBudWxsO1xuICAgICAgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG4gICAgICBicmVhaztcbiAgICAvLyBEb24ndCBmaXJlIHRoZSBldmVudCB3aGlsZSB0aGUgdXNlciBpcyBkcmFnZ2luZy4gVGhpcyBtYXRjaGVzIHRoZVxuICAgIC8vIHNlbWFudGljcyBvZiB0aGUgbmF0aXZlIHNlbGVjdCBldmVudC5cblxuICAgIGNhc2UgJ21vdXNlZG93bic6XG4gICAgICBtb3VzZURvd24gPSB0cnVlO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjb250ZXh0bWVudSc6XG4gICAgY2FzZSAnbW91c2V1cCc6XG4gICAgY2FzZSAnZHJhZ2VuZCc6XG4gICAgICBtb3VzZURvd24gPSBmYWxzZTtcbiAgICAgIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgICBicmVhaztcbiAgICAvLyBDaHJvbWUgYW5kIElFIGZpcmUgbm9uLXN0YW5kYXJkIGV2ZW50IHdoZW4gc2VsZWN0aW9uIGlzIGNoYW5nZWQgKGFuZFxuICAgIC8vIHNvbWV0aW1lcyB3aGVuIGl0IGhhc24ndCkuIElFJ3MgZXZlbnQgZmlyZXMgb3V0IG9mIG9yZGVyIHdpdGggcmVzcGVjdFxuICAgIC8vIHRvIGtleSBhbmQgaW5wdXQgZXZlbnRzIG9uIGRlbGV0aW9uLCBzbyB3ZSBkaXNjYXJkIGl0LlxuICAgIC8vXG4gICAgLy8gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgc2VsZWN0aW9uY2hhbmdlLCBzbyBjaGVjayBzZWxlY3Rpb24gc3RhdHVzXG4gICAgLy8gYWZ0ZXIgZWFjaCBrZXkgZW50cnkuIFRoZSBzZWxlY3Rpb24gY2hhbmdlcyBhZnRlciBrZXlkb3duIGFuZCBiZWZvcmVcbiAgICAvLyBrZXl1cCwgYnV0IHdlIGNoZWNrIG9uIGtleWRvd24gYXMgd2VsbCBpbiB0aGUgY2FzZSBvZiBob2xkaW5nIGRvd24gYVxuICAgIC8vIGtleSwgd2hlbiBtdWx0aXBsZSBrZXlkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnV0IG9ubHkgb25lIGtleXVwIGlzLlxuICAgIC8vIFRoaXMgaXMgYWxzbyBvdXIgYXBwcm9hY2ggZm9yIElFIGhhbmRsaW5nLCBmb3IgdGhlIHJlYXNvbiBhYm92ZS5cblxuICAgIGNhc2UgJ3NlbGVjdGlvbmNoYW5nZSc6XG4gICAgICBpZiAoc2tpcFNlbGVjdGlvbkNoYW5nZUV2ZW50KSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgLy8gZmFsbHMgdGhyb3VnaFxuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgY29uc3RydWN0U2VsZWN0RXZlbnQoZGlzcGF0Y2hRdWV1ZSwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgbWFwcGluZyBvZiBzdGFuZGFyZCB2ZW5kb3IgcHJlZml4ZXMgdXNpbmcgdGhlIGRlZmluZWQgc3R5bGUgcHJvcGVydHkgYW5kIGV2ZW50IG5hbWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0eWxlUHJvcFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHJldHVybnMge29iamVjdH1cbiAqL1xuXG5mdW5jdGlvbiBtYWtlUHJlZml4TWFwKHN0eWxlUHJvcCwgZXZlbnROYW1lKSB7XG4gIHZhciBwcmVmaXhlcyA9IHt9O1xuICBwcmVmaXhlc1tzdHlsZVByb3AudG9Mb3dlckNhc2UoKV0gPSBldmVudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgcHJlZml4ZXNbJ1dlYmtpdCcgKyBzdHlsZVByb3BdID0gJ3dlYmtpdCcgKyBldmVudE5hbWU7XG4gIHByZWZpeGVzWydNb3onICsgc3R5bGVQcm9wXSA9ICdtb3onICsgZXZlbnROYW1lO1xuICByZXR1cm4gcHJlZml4ZXM7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBldmVudCBuYW1lcyB0byBhIGNvbmZpZ3VyYWJsZSBsaXN0IG9mIHZlbmRvciBwcmVmaXhlcy5cbiAqL1xuXG5cbnZhciB2ZW5kb3JQcmVmaXhlcyA9IHtcbiAgYW5pbWF0aW9uZW5kOiBtYWtlUHJlZml4TWFwKCdBbmltYXRpb24nLCAnQW5pbWF0aW9uRW5kJyksXG4gIGFuaW1hdGlvbml0ZXJhdGlvbjogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvbkl0ZXJhdGlvbicpLFxuICBhbmltYXRpb25zdGFydDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvblN0YXJ0JyksXG4gIHRyYW5zaXRpb25lbmQ6IG1ha2VQcmVmaXhNYXAoJ1RyYW5zaXRpb24nLCAnVHJhbnNpdGlvbkVuZCcpXG59O1xuLyoqXG4gKiBFdmVudCBuYW1lcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGRldGVjdGVkIGFuZCBwcmVmaXhlZCAoaWYgYXBwbGljYWJsZSkuXG4gKi9cblxudmFyIHByZWZpeGVkRXZlbnROYW1lcyA9IHt9O1xuLyoqXG4gKiBFbGVtZW50IHRvIGNoZWNrIGZvciBwcmVmaXhlcyBvbi5cbiAqL1xuXG52YXIgc3R5bGUgPSB7fTtcbi8qKlxuICogQm9vdHN0cmFwIGlmIGEgRE9NIGV4aXN0cy5cbiAqL1xuXG5pZiAoY2FuVXNlRE9NKSB7XG4gIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykuc3R5bGU7IC8vIE9uIHNvbWUgcGxhdGZvcm1zLCBpbiBwYXJ0aWN1bGFyIHNvbWUgcmVsZWFzZXMgb2YgQW5kcm9pZCA0LngsXG4gIC8vIHRoZSB1bi1wcmVmaXhlZCBcImFuaW1hdGlvblwiIGFuZCBcInRyYW5zaXRpb25cIiBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIG9uIHRoZVxuICAvLyBzdHlsZSBvYmplY3QgYnV0IHRoZSBldmVudHMgdGhhdCBmaXJlIHdpbGwgc3RpbGwgYmUgcHJlZml4ZWQsIHNvIHdlIG5lZWRcbiAgLy8gdG8gY2hlY2sgaWYgdGhlIHVuLXByZWZpeGVkIGV2ZW50cyBhcmUgdXNhYmxlLCBhbmQgaWYgbm90IHJlbW92ZSB0aGVtIGZyb20gdGhlIG1hcC5cblxuICBpZiAoISgnQW5pbWF0aW9uRXZlbnQnIGluIHdpbmRvdykpIHtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbjtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbjtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uO1xuICB9IC8vIFNhbWUgYXMgYWJvdmVcblxuXG4gIGlmICghKCdUcmFuc2l0aW9uRXZlbnQnIGluIHdpbmRvdykpIHtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMudHJhbnNpdGlvbmVuZC50cmFuc2l0aW9uO1xuICB9XG59XG4vKipcbiAqIEF0dGVtcHRzIHRvIGRldGVybWluZSB0aGUgY29ycmVjdCB2ZW5kb3IgcHJlZml4ZWQgZXZlbnQgbmFtZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoZXZlbnROYW1lKSB7XG4gIGlmIChwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSkge1xuICAgIHJldHVybiBwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXTtcbiAgfSBlbHNlIGlmICghdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXSkge1xuICAgIHJldHVybiBldmVudE5hbWU7XG4gIH1cblxuICB2YXIgcHJlZml4TWFwID0gdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXTtcblxuICBmb3IgKHZhciBzdHlsZVByb3AgaW4gcHJlZml4TWFwKSB7XG4gICAgaWYgKHByZWZpeE1hcC5oYXNPd25Qcm9wZXJ0eShzdHlsZVByb3ApICYmIHN0eWxlUHJvcCBpbiBzdHlsZSkge1xuICAgICAgcmV0dXJuIHByZWZpeGVkRXZlbnROYW1lc1tldmVudE5hbWVdID0gcHJlZml4TWFwW3N0eWxlUHJvcF07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV2ZW50TmFtZTtcbn1cblxudmFyIEFOSU1BVElPTl9FTkQgPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uZW5kJyk7XG52YXIgQU5JTUFUSU9OX0lURVJBVElPTiA9IGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCdhbmltYXRpb25pdGVyYXRpb24nKTtcbnZhciBBTklNQVRJT05fU1RBUlQgPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uc3RhcnQnKTtcbnZhciBUUkFOU0lUSU9OX0VORCA9IGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCd0cmFuc2l0aW9uZW5kJyk7XG5cbnZhciB0b3BMZXZlbEV2ZW50c1RvUmVhY3ROYW1lcyA9IG5ldyBNYXAoKTsgLy8gTk9URTogQ2FwaXRhbGl6YXRpb24gaXMgaW1wb3J0YW50IGluIHRoaXMgbGlzdCFcbi8vXG4vLyBFLmcuIGl0IG5lZWRzIFwicG9pbnRlckRvd25cIiwgbm90IFwicG9pbnRlcmRvd25cIi5cbi8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBkZXJpdmUgYm90aCBSZWFjdCBuYW1lIChcIm9uUG9pbnRlckRvd25cIilcbi8vIGFuZCBET00gbmFtZSAoXCJwb2ludGVyZG93blwiKSBmcm9tIHRoZSBzYW1lIGxpc3QuXG4vL1xuLy8gRXhjZXB0aW9ucyB0aGF0IGRvbid0IG1hdGNoIHRoaXMgY29udmVudGlvbiBhcmUgbGlzdGVkIHNlcGFyYXRlbHkuXG4vL1xuLy8gcHJldHRpZXItaWdub3JlXG5cbnZhciBzaW1wbGVFdmVudFBsdWdpbkV2ZW50cyA9IFsnYWJvcnQnLCAnYXV4Q2xpY2snLCAnY2FuY2VsJywgJ2NhblBsYXknLCAnY2FuUGxheVRocm91Z2gnLCAnY2xpY2snLCAnY2xvc2UnLCAnY29udGV4dE1lbnUnLCAnY29weScsICdjdXQnLCAnZHJhZycsICdkcmFnRW5kJywgJ2RyYWdFbnRlcicsICdkcmFnRXhpdCcsICdkcmFnTGVhdmUnLCAnZHJhZ092ZXInLCAnZHJhZ1N0YXJ0JywgJ2Ryb3AnLCAnZHVyYXRpb25DaGFuZ2UnLCAnZW1wdGllZCcsICdlbmNyeXB0ZWQnLCAnZW5kZWQnLCAnZXJyb3InLCAnZ290UG9pbnRlckNhcHR1cmUnLCAnaW5wdXQnLCAnaW52YWxpZCcsICdrZXlEb3duJywgJ2tleVByZXNzJywgJ2tleVVwJywgJ2xvYWQnLCAnbG9hZGVkRGF0YScsICdsb2FkZWRNZXRhZGF0YScsICdsb2FkU3RhcnQnLCAnbG9zdFBvaW50ZXJDYXB0dXJlJywgJ21vdXNlRG93bicsICdtb3VzZU1vdmUnLCAnbW91c2VPdXQnLCAnbW91c2VPdmVyJywgJ21vdXNlVXAnLCAncGFzdGUnLCAncGF1c2UnLCAncGxheScsICdwbGF5aW5nJywgJ3BvaW50ZXJDYW5jZWwnLCAncG9pbnRlckRvd24nLCAncG9pbnRlck1vdmUnLCAncG9pbnRlck91dCcsICdwb2ludGVyT3ZlcicsICdwb2ludGVyVXAnLCAncHJvZ3Jlc3MnLCAncmF0ZUNoYW5nZScsICdyZXNldCcsICdyZXNpemUnLCAnc2Vla2VkJywgJ3NlZWtpbmcnLCAnc3RhbGxlZCcsICdzdWJtaXQnLCAnc3VzcGVuZCcsICd0aW1lVXBkYXRlJywgJ3RvdWNoQ2FuY2VsJywgJ3RvdWNoRW5kJywgJ3RvdWNoU3RhcnQnLCAndm9sdW1lQ2hhbmdlJywgJ3Njcm9sbCcsICd0b2dnbGUnLCAndG91Y2hNb3ZlJywgJ3dhaXRpbmcnLCAnd2hlZWwnXTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJTaW1wbGVFdmVudChkb21FdmVudE5hbWUsIHJlYWN0TmFtZSkge1xuICB0b3BMZXZlbEV2ZW50c1RvUmVhY3ROYW1lcy5zZXQoZG9tRXZlbnROYW1lLCByZWFjdE5hbWUpO1xuICByZWdpc3RlclR3b1BoYXNlRXZlbnQocmVhY3ROYW1lLCBbZG9tRXZlbnROYW1lXSk7XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyU2ltcGxlRXZlbnRzKCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGV2ZW50TmFtZSA9IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRzW2ldO1xuICAgIHZhciBkb21FdmVudE5hbWUgPSBldmVudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICB2YXIgY2FwaXRhbGl6ZWRFdmVudCA9IGV2ZW50TmFtZVswXS50b1VwcGVyQ2FzZSgpICsgZXZlbnROYW1lLnNsaWNlKDEpO1xuICAgIHJlZ2lzdGVyU2ltcGxlRXZlbnQoZG9tRXZlbnROYW1lLCAnb24nICsgY2FwaXRhbGl6ZWRFdmVudCk7XG4gIH0gLy8gU3BlY2lhbCBjYXNlcyB3aGVyZSBldmVudCBuYW1lcyBkb24ndCBtYXRjaC5cblxuXG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX0VORCwgJ29uQW5pbWF0aW9uRW5kJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX0lURVJBVElPTiwgJ29uQW5pbWF0aW9uSXRlcmF0aW9uJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX1NUQVJULCAnb25BbmltYXRpb25TdGFydCcpO1xuICByZWdpc3RlclNpbXBsZUV2ZW50KCdkYmxjbGljaycsICdvbkRvdWJsZUNsaWNrJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoJ2ZvY3VzaW4nLCAnb25Gb2N1cycpO1xuICByZWdpc3RlclNpbXBsZUV2ZW50KCdmb2N1c291dCcsICdvbkJsdXInKTtcbiAgcmVnaXN0ZXJTaW1wbGVFdmVudChUUkFOU0lUSU9OX0VORCwgJ29uVHJhbnNpdGlvbkVuZCcpO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRzJDQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgcmVhY3ROYW1lID0gdG9wTGV2ZWxFdmVudHNUb1JlYWN0TmFtZXMuZ2V0KGRvbUV2ZW50TmFtZSk7XG5cbiAgaWYgKHJlYWN0TmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY0V2ZW50O1xuICB2YXIgcmVhY3RFdmVudFR5cGUgPSBkb21FdmVudE5hbWU7XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdrZXlwcmVzcyc6XG4gICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBrZXlwcmVzcyBldmVudCBmb3IgZnVuY3Rpb24ga2V5cyB0b28uIFRoaXMgcmVtb3Zlc1xuICAgICAgLy8gdGhlIHVud2FudGVkIGtleXByZXNzIGV2ZW50cy4gRW50ZXIgaXMgaG93ZXZlciBib3RoIHByaW50YWJsZSBhbmRcbiAgICAgIC8vIG5vbi1wcmludGFibGUuIE9uZSB3b3VsZCBleHBlY3QgVGFiIHRvIGJlIGFzIHdlbGwgKGJ1dCBpdCBpc24ndCkuXG4gICAgICBpZiAoZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCkgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljS2V5Ym9hcmRFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZm9jdXNpbic6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdmb2N1cyc7XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdibHVyJztcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY0ZvY3VzRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2JlZm9yZWJsdXInOlxuICAgIGNhc2UgJ2FmdGVyYmx1cic6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjbGljayc6XG4gICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBjbGljayBldmVudCBvbiByaWdodCBtb3VzZSBjbGlja3MuIFRoaXMgcmVtb3ZlcyB0aGVcbiAgICAgIC8vIHVud2FudGVkIGNsaWNrIGV2ZW50cy5cbiAgICAgIGlmIChuYXRpdmVFdmVudC5idXR0b24gPT09IDIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2V1cCc6IC8vIFRPRE86IERpc2FibGVkIGVsZW1lbnRzIHNob3VsZCBub3QgcmVzcG9uZCB0byBtb3VzZSBldmVudHNcblxuICAgIC8qIGZhbGxzIHRocm91Z2ggKi9cblxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ2NvbnRleHRtZW51JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbmQnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ2RyYWdzdGFydCc6XG4gICAgY2FzZSAnZHJvcCc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNEcmFnRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd0b3VjaHN0YXJ0JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RvdWNoRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQU5JTUFUSU9OX0VORDpcbiAgICBjYXNlIEFOSU1BVElPTl9JVEVSQVRJT046XG4gICAgY2FzZSBBTklNQVRJT05fU1RBUlQ6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNBbmltYXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUUkFOU0lUSU9OX0VORDpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2Nyb2xsJzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1VJRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3doZWVsJzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1doZWVsRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2NvcHknOlxuICAgIGNhc2UgJ2N1dCc6XG4gICAgY2FzZSAncGFzdGUnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljQ2xpcGJvYXJkRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2dvdHBvaW50ZXJjYXB0dXJlJzpcbiAgICBjYXNlICdsb3N0cG9pbnRlcmNhcHR1cmUnOlxuICAgIGNhc2UgJ3BvaW50ZXJjYW5jZWwnOlxuICAgIGNhc2UgJ3BvaW50ZXJkb3duJzpcbiAgICBjYXNlICdwb2ludGVybW92ZSc6XG4gICAgY2FzZSAncG9pbnRlcm91dCc6XG4gICAgY2FzZSAncG9pbnRlcm92ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJ1cCc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNQb2ludGVyRXZlbnQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBpbkNhcHR1cmVQaGFzZSA9IChldmVudFN5c3RlbUZsYWdzICYgSVNfQ0FQVFVSRV9QSEFTRSkgIT09IDA7XG5cbiAge1xuICAgIC8vIFNvbWUgZXZlbnRzIGRvbid0IGJ1YmJsZSBpbiB0aGUgYnJvd3Nlci5cbiAgICAvLyBJbiB0aGUgcGFzdCwgUmVhY3QgaGFzIGFsd2F5cyBidWJibGVkIHRoZW0sIGJ1dCB0aGlzIGNhbiBiZSBzdXJwcmlzaW5nLlxuICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHRyeSBhbGlnbmluZyBjbG9zZXIgdG8gdGhlIGJyb3dzZXIgYmVoYXZpb3IgYnkgbm90IGJ1YmJsaW5nXG4gICAgLy8gdGhlbSBpbiBSZWFjdCBlaXRoZXIuIFdlJ2xsIHN0YXJ0IGJ5IG5vdCBidWJibGluZyBvblNjcm9sbCwgYW5kIHRoZW4gZXhwYW5kLlxuICAgIHZhciBhY2N1bXVsYXRlVGFyZ2V0T25seSA9ICFpbkNhcHR1cmVQaGFzZSAmJiAvLyBUT0RPOiBpZGVhbGx5LCB3ZSdkIGV2ZW50dWFsbHkgYWRkIGFsbCBldmVudHMgZnJvbVxuICAgIC8vIG5vbkRlbGVnYXRlZEV2ZW50cyBsaXN0IGluIERPTVBsdWdpbkV2ZW50U3lzdGVtLlxuICAgIC8vIFRoZW4gd2UgY2FuIHJlbW92ZSB0aGlzIHNwZWNpYWwgbGlzdC5cbiAgICAvLyBUaGlzIGlzIGEgYnJlYWtpbmcgY2hhbmdlIHRoYXQgY2FuIHdhaXQgdW50aWwgUmVhY3QgMTguXG4gICAgZG9tRXZlbnROYW1lID09PSAnc2Nyb2xsJztcblxuICAgIHZhciBfbGlzdGVuZXJzID0gYWNjdW11bGF0ZVNpbmdsZVBoYXNlTGlzdGVuZXJzKHRhcmdldEluc3QsIHJlYWN0TmFtZSwgbmF0aXZlRXZlbnQudHlwZSwgaW5DYXB0dXJlUGhhc2UsIGFjY3VtdWxhdGVUYXJnZXRPbmx5KTtcblxuICAgIGlmIChfbGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgY3JlYXRlIGV2ZW50IGxhemlseS5cbiAgICAgIHZhciBfZXZlbnQgPSBuZXcgU3ludGhldGljRXZlbnRDdG9yKHJlYWN0TmFtZSwgcmVhY3RFdmVudFR5cGUsIG51bGwsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICAgIGV2ZW50OiBfZXZlbnQsXG4gICAgICAgIGxpc3RlbmVyczogX2xpc3RlbmVyc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRPRE86IHJlbW92ZSB0b3AtbGV2ZWwgc2lkZSBlZmZlY3QuXG5yZWdpc3RlclNpbXBsZUV2ZW50cygpO1xucmVnaXN0ZXJFdmVudHMkMigpO1xucmVnaXN0ZXJFdmVudHMkMSgpO1xucmVnaXN0ZXJFdmVudHMkMygpO1xucmVnaXN0ZXJFdmVudHMoKTtcblxuZnVuY3Rpb24gZXh0cmFjdEV2ZW50cyQ1KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpIHtcbiAgLy8gVE9ETzogd2Ugc2hvdWxkIHJlbW92ZSB0aGUgY29uY2VwdCBvZiBhIFwiU2ltcGxlRXZlbnRQbHVnaW5cIi5cbiAgLy8gVGhpcyBpcyB0aGUgYmFzaWMgZnVuY3Rpb25hbGl0eSBvZiB0aGUgZXZlbnQgc3lzdGVtLiBBbGxcbiAgLy8gdGhlIG90aGVyIHBsdWdpbnMgYXJlIGVzc2VudGlhbGx5IHBvbHlmaWxscy4gU28gdGhlIHBsdWdpblxuICAvLyBzaG91bGQgcHJvYmFibHkgYmUgaW5saW5lZCBzb21ld2hlcmUgYW5kIGhhdmUgaXRzIGxvZ2ljXG4gIC8vIGJlIGNvcmUgdGhlIHRvIGV2ZW50IHN5c3RlbS4gVGhpcyB3b3VsZCBwb3RlbnRpYWxseSBhbGxvd1xuICAvLyB1cyB0byBzaGlwIGJ1aWxkcyBvZiBSZWFjdCB3aXRob3V0IHRoZSBwb2x5ZmlsbGVkIHBsdWdpbnMgYmVsb3cuXG4gIGV4dHJhY3RFdmVudHMkNChkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XG4gIHZhciBzaG91bGRQcm9jZXNzUG9seWZpbGxQbHVnaW5zID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBTSE9VTERfTk9UX1BST0NFU1NfUE9MWUZJTExfRVZFTlRfUExVR0lOUykgPT09IDA7IC8vIFdlIGRvbid0IHByb2Nlc3MgdGhlc2UgZXZlbnRzIHVubGVzcyB3ZSBhcmUgaW4gdGhlXG4gIC8vIGV2ZW50J3MgbmF0aXZlIFwiYnViYmxlXCIgcGhhc2UsIHdoaWNoIG1lYW5zIHRoYXQgd2UncmVcbiAgLy8gbm90IGluIHRoZSBjYXB0dXJlIHBoYXNlLiBUaGF0J3MgYmVjYXVzZSB3ZSBlbXVsYXRlXG4gIC8vIHRoZSBjYXB0dXJlIHBoYXNlIGhlcmUgc3RpbGwuIFRoaXMgaXMgYSB0cmFkZS1vZmYsXG4gIC8vIGJlY2F1c2UgaW4gYW4gaWRlYWwgd29ybGQgd2Ugd291bGQgbm90IGVtdWxhdGUgYW5kIHVzZVxuICAvLyB0aGUgcGhhc2VzIHByb3Blcmx5LCBsaWtlIHdlIGRvIHdpdGggdGhlIFNpbXBsZUV2ZW50XG4gIC8vIHBsdWdpbi4gSG93ZXZlciwgdGhlIHBsdWdpbnMgYmVsb3cgZWl0aGVyIGV4cGVjdFxuICAvLyBlbXVsYXRpb24gKEVudGVyTGVhdmUpIG9yIHVzZSBzdGF0ZSBsb2NhbGl6ZWQgdG8gdGhhdFxuICAvLyBwbHVnaW4gKEJlZm9yZUlucHV0LCBDaGFuZ2UsIFNlbGVjdCkuIFRoZSBzdGF0ZSBpblxuICAvLyB0aGVzZSBtb2R1bGVzIGNvbXBsaWNhdGVzIHRoaW5ncywgYXMgeW91J2xsIGVzc2VudGlhbGx5XG4gIC8vIGdldCB0aGUgY2FzZSB3aGVyZSB0aGUgY2FwdHVyZSBwaGFzZSBldmVudCBtaWdodCBjaGFuZ2VcbiAgLy8gc3RhdGUsIG9ubHkgZm9yIHRoZSBmb2xsb3dpbmcgYnViYmxlIGV2ZW50IHRvIGNvbWUgaW5cbiAgLy8gbGF0ZXIgYW5kIG5vdCB0cmlnZ2VyIGFueXRoaW5nIGFzIHRoZSBzdGF0ZSBub3dcbiAgLy8gaW52YWxpZGF0ZXMgdGhlIGhldXJpc3RpY3Mgb2YgdGhlIGV2ZW50IHBsdWdpbi4gV2VcbiAgLy8gY291bGQgYWx0ZXIgYWxsIHRoZXNlIHBsdWdpbnMgdG8gd29yayBpbiBzdWNoIHdheXMsIGJ1dFxuICAvLyB0aGF0IG1pZ2h0IGNhdXNlIG90aGVyIHVua25vd24gc2lkZS1lZmZlY3RzIHRoYXQgd2VcbiAgLy8gY2FuJ3QgZm9yZXNlZSByaWdodCBub3cuXG5cbiAgaWYgKHNob3VsZFByb2Nlc3NQb2x5ZmlsbFBsdWdpbnMpIHtcbiAgICBleHRyYWN0RXZlbnRzJDIoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGV4dHJhY3RFdmVudHMkMShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZXh0cmFjdEV2ZW50cyQzKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBleHRyYWN0RXZlbnRzKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgfVxufSAvLyBMaXN0IG9mIGV2ZW50cyB0aGF0IG5lZWQgdG8gYmUgaW5kaXZpZHVhbGx5IGF0dGFjaGVkIHRvIG1lZGlhIGVsZW1lbnRzLlxuXG5cbnZhciBtZWRpYUV2ZW50VHlwZXMgPSBbJ2Fib3J0JywgJ2NhbnBsYXknLCAnY2FucGxheXRocm91Z2gnLCAnZHVyYXRpb25jaGFuZ2UnLCAnZW1wdGllZCcsICdlbmNyeXB0ZWQnLCAnZW5kZWQnLCAnZXJyb3InLCAnbG9hZGVkZGF0YScsICdsb2FkZWRtZXRhZGF0YScsICdsb2Fkc3RhcnQnLCAncGF1c2UnLCAncGxheScsICdwbGF5aW5nJywgJ3Byb2dyZXNzJywgJ3JhdGVjaGFuZ2UnLCAncmVzaXplJywgJ3NlZWtlZCcsICdzZWVraW5nJywgJ3N0YWxsZWQnLCAnc3VzcGVuZCcsICd0aW1ldXBkYXRlJywgJ3ZvbHVtZWNoYW5nZScsICd3YWl0aW5nJ107IC8vIFdlIHNob3VsZCBub3QgZGVsZWdhdGUgdGhlc2UgZXZlbnRzIHRvIHRoZSBjb250YWluZXIsIGJ1dCByYXRoZXJcbi8vIHNldCB0aGVtIG9uIHRoZSBhY3R1YWwgdGFyZ2V0IGVsZW1lbnQgaXRzZWxmLiBUaGlzIGlzIHByaW1hcmlseVxuLy8gYmVjYXVzZSB0aGVzZSBldmVudHMgZG8gbm90IGNvbnNpc3RlbnRseSBidWJibGUgaW4gdGhlIERPTS5cblxudmFyIG5vbkRlbGVnYXRlZEV2ZW50cyA9IG5ldyBTZXQoWydjYW5jZWwnLCAnY2xvc2UnLCAnaW52YWxpZCcsICdsb2FkJywgJ3Njcm9sbCcsICd0b2dnbGUnXS5jb25jYXQobWVkaWFFdmVudFR5cGVzKSk7XG5cbmZ1bmN0aW9uIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpIHtcbiAgdmFyIHR5cGUgPSBldmVudC50eXBlIHx8ICd1bmtub3duLWV2ZW50JztcbiAgZXZlbnQuY3VycmVudFRhcmdldCA9IGN1cnJlbnRUYXJnZXQ7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0FuZENhdGNoRmlyc3RFcnJvcih0eXBlLCBsaXN0ZW5lciwgdW5kZWZpbmVkLCBldmVudCk7XG4gIGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzRGlzcGF0Y2hRdWV1ZUl0ZW1zSW5PcmRlcihldmVudCwgZGlzcGF0Y2hMaXN0ZW5lcnMsIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciBwcmV2aW91c0luc3RhbmNlO1xuXG4gIGlmIChpbkNhcHR1cmVQaGFzZSkge1xuICAgIGZvciAodmFyIGkgPSBkaXNwYXRjaExpc3RlbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdmFyIF9kaXNwYXRjaExpc3RlbmVycyRpID0gZGlzcGF0Y2hMaXN0ZW5lcnNbaV0sXG4gICAgICAgICAgaW5zdGFuY2UgPSBfZGlzcGF0Y2hMaXN0ZW5lcnMkaS5pbnN0YW5jZSxcbiAgICAgICAgICBjdXJyZW50VGFyZ2V0ID0gX2Rpc3BhdGNoTGlzdGVuZXJzJGkuY3VycmVudFRhcmdldCxcbiAgICAgICAgICBsaXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRpLmxpc3RlbmVyO1xuXG4gICAgICBpZiAoaW5zdGFuY2UgIT09IHByZXZpb3VzSW5zdGFuY2UgJiYgZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpO1xuICAgICAgcHJldmlvdXNJbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgZGlzcGF0Y2hMaXN0ZW5lcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2Rpc3BhdGNoTGlzdGVuZXJzJF9pID0gZGlzcGF0Y2hMaXN0ZW5lcnNbX2ldLFxuICAgICAgICAgIF9pbnN0YW5jZSA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5pbnN0YW5jZSxcbiAgICAgICAgICBfY3VycmVudFRhcmdldCA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5jdXJyZW50VGFyZ2V0LFxuICAgICAgICAgIF9saXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5saXN0ZW5lcjtcblxuICAgICAgaWYgKF9pbnN0YW5jZSAhPT0gcHJldmlvdXNJbnN0YW5jZSAmJiBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBfbGlzdGVuZXIsIF9jdXJyZW50VGFyZ2V0KTtcbiAgICAgIHByZXZpb3VzSW5zdGFuY2UgPSBfaW5zdGFuY2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGluQ2FwdHVyZVBoYXNlID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19DQVBUVVJFX1BIQVNFKSAhPT0gMDtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRpc3BhdGNoUXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgX2Rpc3BhdGNoUXVldWUkaSA9IGRpc3BhdGNoUXVldWVbaV0sXG4gICAgICAgIGV2ZW50ID0gX2Rpc3BhdGNoUXVldWUkaS5ldmVudCxcbiAgICAgICAgbGlzdGVuZXJzID0gX2Rpc3BhdGNoUXVldWUkaS5saXN0ZW5lcnM7XG4gICAgcHJvY2Vzc0Rpc3BhdGNoUXVldWVJdGVtc0luT3JkZXIoZXZlbnQsIGxpc3RlbmVycywgaW5DYXB0dXJlUGhhc2UpOyAvLyAgZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gIH0gLy8gVGhpcyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byByZXRocm93IGlmIGFueSBvZiB0aGUgZXZlbnQgaGFuZGxlcnMgdGhyZXcuXG5cblxuICByZXRocm93Q2F1Z2h0RXJyb3IoKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudHNGb3JQbHVnaW5zKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHRhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgbmF0aXZlRXZlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCk7XG4gIHZhciBkaXNwYXRjaFF1ZXVlID0gW107XG4gIGV4dHJhY3RFdmVudHMkNShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XG4gIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIGV2ZW50U3lzdGVtRmxhZ3MpO1xufVxuXG5mdW5jdGlvbiBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KGRvbUV2ZW50TmFtZSwgdGFyZ2V0RWxlbWVudCkge1xuICB7XG4gICAgaWYgKCFub25EZWxlZ2F0ZWRFdmVudHMuaGFzKGRvbUV2ZW50TmFtZSkpIHtcbiAgICAgIGVycm9yKCdEaWQgbm90IGV4cGVjdCBhIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoKSBjYWxsIGZvciBcIiVzXCIuICcgKyAnVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZG9tRXZlbnROYW1lKTtcbiAgICB9XG4gIH1cblxuICB2YXIgaXNDYXB0dXJlUGhhc2VMaXN0ZW5lciA9IGZhbHNlO1xuICB2YXIgbGlzdGVuZXJTZXQgPSBnZXRFdmVudExpc3RlbmVyU2V0KHRhcmdldEVsZW1lbnQpO1xuICB2YXIgbGlzdGVuZXJTZXRLZXkgPSBnZXRMaXN0ZW5lclNldEtleShkb21FdmVudE5hbWUsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpO1xuXG4gIGlmICghbGlzdGVuZXJTZXQuaGFzKGxpc3RlbmVyU2V0S2V5KSkge1xuICAgIGFkZFRyYXBwZWRFdmVudExpc3RlbmVyKHRhcmdldEVsZW1lbnQsIGRvbUV2ZW50TmFtZSwgSVNfTk9OX0RFTEVHQVRFRCwgaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcik7XG4gICAgbGlzdGVuZXJTZXQuYWRkKGxpc3RlbmVyU2V0S2V5KTtcbiAgfVxufVxuZnVuY3Rpb24gbGlzdGVuVG9OYXRpdmVFdmVudChkb21FdmVudE5hbWUsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIsIHRhcmdldCkge1xuICB7XG4gICAgaWYgKG5vbkRlbGVnYXRlZEV2ZW50cy5oYXMoZG9tRXZlbnROYW1lKSAmJiAhaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IGEgbGlzdGVuVG9OYXRpdmVFdmVudCgpIGNhbGwgZm9yIFwiJXNcIiBpbiB0aGUgYnViYmxlIHBoYXNlLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGRvbUV2ZW50TmFtZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGV2ZW50U3lzdGVtRmxhZ3MgPSAwO1xuXG4gIGlmIChpc0NhcHR1cmVQaGFzZUxpc3RlbmVyKSB7XG4gICAgZXZlbnRTeXN0ZW1GbGFncyB8PSBJU19DQVBUVVJFX1BIQVNFO1xuICB9XG5cbiAgYWRkVHJhcHBlZEV2ZW50TGlzdGVuZXIodGFyZ2V0LCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpO1xufSAvLyBUaGlzIGlzIG9ubHkgdXNlZCBieSBjcmVhdGVFdmVudEhhbmRsZSB3aGVuIHRoZVxudmFyIGxpc3RlbmluZ01hcmtlciA9ICdfcmVhY3RMaXN0ZW5pbmcnICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMik7XG5mdW5jdGlvbiBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhyb290Q29udGFpbmVyRWxlbWVudCkge1xuICBpZiAoIXJvb3RDb250YWluZXJFbGVtZW50W2xpc3RlbmluZ01hcmtlcl0pIHtcbiAgICByb290Q29udGFpbmVyRWxlbWVudFtsaXN0ZW5pbmdNYXJrZXJdID0gdHJ1ZTtcbiAgICBhbGxOYXRpdmVFdmVudHMuZm9yRWFjaChmdW5jdGlvbiAoZG9tRXZlbnROYW1lKSB7XG4gICAgICAvLyBXZSBoYW5kbGUgc2VsZWN0aW9uY2hhbmdlIHNlcGFyYXRlbHkgYmVjYXVzZSBpdFxuICAgICAgLy8gZG9lc24ndCBidWJibGUgYW5kIG5lZWRzIHRvIGJlIG9uIHRoZSBkb2N1bWVudC5cbiAgICAgIGlmIChkb21FdmVudE5hbWUgIT09ICdzZWxlY3Rpb25jaGFuZ2UnKSB7XG4gICAgICAgIGlmICghbm9uRGVsZWdhdGVkRXZlbnRzLmhhcyhkb21FdmVudE5hbWUpKSB7XG4gICAgICAgICAgbGlzdGVuVG9OYXRpdmVFdmVudChkb21FdmVudE5hbWUsIGZhbHNlLCByb290Q29udGFpbmVyRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBsaXN0ZW5Ub05hdGl2ZUV2ZW50KGRvbUV2ZW50TmFtZSwgdHJ1ZSwgcm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyByb290Q29udGFpbmVyRWxlbWVudCA6IHJvb3RDb250YWluZXJFbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG5cbiAgICBpZiAob3duZXJEb2N1bWVudCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhlIHNlbGVjdGlvbmNoYW5nZSBldmVudCBhbHNvIG5lZWRzIGRlZHVwbGljYXRpb25cbiAgICAgIC8vIGJ1dCBpdCBpcyBhdHRhY2hlZCB0byB0aGUgZG9jdW1lbnQuXG4gICAgICBpZiAoIW93bmVyRG9jdW1lbnRbbGlzdGVuaW5nTWFya2VyXSkge1xuICAgICAgICBvd25lckRvY3VtZW50W2xpc3RlbmluZ01hcmtlcl0gPSB0cnVlO1xuICAgICAgICBsaXN0ZW5Ub05hdGl2ZUV2ZW50KCdzZWxlY3Rpb25jaGFuZ2UnLCBmYWxzZSwgb3duZXJEb2N1bWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZFRyYXBwZWRFdmVudExpc3RlbmVyKHRhcmdldENvbnRhaW5lciwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBpc0NhcHR1cmVQaGFzZUxpc3RlbmVyLCBpc0RlZmVycmVkTGlzdGVuZXJGb3JMZWdhY3lGQlN1cHBvcnQpIHtcbiAgdmFyIGxpc3RlbmVyID0gY3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXJXaXRoUHJpb3JpdHkodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MpOyAvLyBJZiBwYXNzaXZlIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLCB0aGVuIHRoZSBldmVudCB3aWxsIGJlXG4gIC8vIGFjdGl2ZSBhbmQgbm90IHBhc3NpdmUuXG5cbiAgdmFyIGlzUGFzc2l2ZUxpc3RlbmVyID0gdW5kZWZpbmVkO1xuXG4gIGlmIChwYXNzaXZlQnJvd3NlckV2ZW50c1N1cHBvcnRlZCkge1xuICAgIC8vIEJyb3dzZXJzIGludHJvZHVjZWQgYW4gaW50ZXJ2ZW50aW9uLCBtYWtpbmcgdGhlc2UgZXZlbnRzXG4gICAgLy8gcGFzc2l2ZSBieSBkZWZhdWx0IG9uIGRvY3VtZW50LiBSZWFjdCBkb2Vzbid0IGJpbmQgdGhlbVxuICAgIC8vIHRvIGRvY3VtZW50IGFueW1vcmUsIGJ1dCBjaGFuZ2luZyB0aGlzIG5vdyB3b3VsZCB1bmRvXG4gICAgLy8gdGhlIHBlcmZvcm1hbmNlIHdpbnMgZnJvbSB0aGUgY2hhbmdlLiBTbyB3ZSBlbXVsYXRlXG4gICAgLy8gdGhlIGV4aXN0aW5nIGJlaGF2aW9yIG1hbnVhbGx5IG9uIHRoZSByb290cyBub3cuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTY1MVxuICAgIGlmIChkb21FdmVudE5hbWUgPT09ICd0b3VjaHN0YXJ0JyB8fCBkb21FdmVudE5hbWUgPT09ICd0b3VjaG1vdmUnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3doZWVsJykge1xuICAgICAgaXNQYXNzaXZlTGlzdGVuZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRhcmdldENvbnRhaW5lciA9ICB0YXJnZXRDb250YWluZXI7XG4gIHZhciB1bnN1YnNjcmliZUxpc3RlbmVyOyAvLyBXaGVuIGxlZ2FjeUZCU3VwcG9ydCBpcyBlbmFibGVkLCBpdCdzIGZvciB3aGVuIHdlXG5cblxuICBpZiAoaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgIGlmIChpc1Bhc3NpdmVMaXN0ZW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB1bnN1YnNjcmliZUxpc3RlbmVyID0gYWRkRXZlbnRDYXB0dXJlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyLCBpc1Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuc3Vic2NyaWJlTGlzdGVuZXIgPSBhZGRFdmVudENhcHR1cmVMaXN0ZW5lcih0YXJnZXRDb250YWluZXIsIGRvbUV2ZW50TmFtZSwgbGlzdGVuZXIpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNQYXNzaXZlTGlzdGVuZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdW5zdWJzY3JpYmVMaXN0ZW5lciA9IGFkZEV2ZW50QnViYmxlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyLCBpc1Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuc3Vic2NyaWJlTGlzdGVuZXIgPSBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyKHRhcmdldENvbnRhaW5lciwgZG9tRXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzTWF0Y2hpbmdSb290Q29udGFpbmVyKGdyYW5kQ29udGFpbmVyLCB0YXJnZXRDb250YWluZXIpIHtcbiAgcmV0dXJuIGdyYW5kQ29udGFpbmVyID09PSB0YXJnZXRDb250YWluZXIgfHwgZ3JhbmRDb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBncmFuZENvbnRhaW5lci5wYXJlbnROb2RlID09PSB0YXJnZXRDb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCB0YXJnZXRDb250YWluZXIpIHtcbiAgdmFyIGFuY2VzdG9ySW5zdCA9IHRhcmdldEluc3Q7XG5cbiAgaWYgKChldmVudFN5c3RlbUZsYWdzICYgSVNfRVZFTlRfSEFORExFX05PTl9NQU5BR0VEX05PREUpID09PSAwICYmIChldmVudFN5c3RlbUZsYWdzICYgSVNfTk9OX0RFTEVHQVRFRCkgPT09IDApIHtcbiAgICB2YXIgdGFyZ2V0Q29udGFpbmVyTm9kZSA9IHRhcmdldENvbnRhaW5lcjsgLy8gSWYgd2UgYXJlIHVzaW5nIHRoZSBsZWdhY3kgRkIgc3VwcG9ydCBmbGFnLCB3ZVxuXG4gICAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoZSBiZWxvdyBsb2dpYyBhdHRlbXB0cyB0byB3b3JrIG91dCBpZiB3ZSBuZWVkIHRvIGNoYW5nZVxuICAgICAgLy8gdGhlIHRhcmdldCBmaWJlciB0byBhIGRpZmZlcmVudCBhbmNlc3Rvci4gV2UgaGFkIHNpbWlsYXIgbG9naWNcbiAgICAgIC8vIGluIHRoZSBsZWdhY3kgZXZlbnQgc3lzdGVtLCBleGNlcHQgdGhlIGJpZyBkaWZmZXJlbmNlIGJldHdlZW5cbiAgICAgIC8vIHN5c3RlbXMgaXMgdGhhdCB0aGUgbW9kZXJuIGV2ZW50IHN5c3RlbSBub3cgaGFzIGFuIGV2ZW50IGxpc3RlbmVyXG4gICAgICAvLyBhdHRhY2hlZCB0byBlYWNoIFJlYWN0IFJvb3QgYW5kIFJlYWN0IFBvcnRhbCBSb290LiBUb2dldGhlcixcbiAgICAgIC8vIHRoZSBET00gbm9kZXMgcmVwcmVzZW50aW5nIHRoZXNlIHJvb3RzIGFyZSB0aGUgXCJyb290Q29udGFpbmVyXCIuXG4gICAgICAvLyBUbyBmaWd1cmUgb3V0IHdoaWNoIGFuY2VzdG9yIGluc3RhbmNlIHdlIHNob3VsZCB1c2UsIHdlIHRyYXZlcnNlXG4gICAgICAvLyB1cCB0aGUgZmliZXIgdHJlZSBmcm9tIHRoZSB0YXJnZXQgaW5zdGFuY2UgYW5kIGF0dGVtcHQgdG8gZmluZFxuICAgICAgLy8gcm9vdCBib3VuZGFyaWVzIHRoYXQgbWF0Y2ggdGhhdCBvZiBvdXIgY3VycmVudCBcInJvb3RDb250YWluZXJcIi5cbiAgICAgIC8vIElmIHdlIGZpbmQgdGhhdCBcInJvb3RDb250YWluZXJcIiwgd2UgZmluZCB0aGUgcGFyZW50IGZpYmVyXG4gICAgICAvLyBzdWItdHJlZSBmb3IgdGhhdCByb290IGFuZCBtYWtlIHRoYXQgb3VyIGFuY2VzdG9yIGluc3RhbmNlLlxuICAgICAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0O1xuXG4gICAgICBtYWluTG9vcDogd2hpbGUgKHRydWUpIHtcbiAgICAgICAgaWYgKG5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbm9kZVRhZyA9IG5vZGUudGFnO1xuXG4gICAgICAgIGlmIChub2RlVGFnID09PSBIb3N0Um9vdCB8fCBub2RlVGFnID09PSBIb3N0UG9ydGFsKSB7XG4gICAgICAgICAgdmFyIGNvbnRhaW5lciA9IG5vZGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG5cbiAgICAgICAgICBpZiAoaXNNYXRjaGluZ1Jvb3RDb250YWluZXIoY29udGFpbmVyLCB0YXJnZXRDb250YWluZXJOb2RlKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5vZGVUYWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgICAgIC8vIFRoZSB0YXJnZXQgaXMgYSBwb3J0YWwsIGJ1dCBpdCdzIG5vdCB0aGUgcm9vdENvbnRhaW5lciB3ZSdyZSBsb29raW5nIGZvci5cbiAgICAgICAgICAgIC8vIE5vcm1hbGx5IHBvcnRhbHMgaGFuZGxlIHRoZWlyIG93biBldmVudHMgYWxsIHRoZSB3YXkgZG93biB0byB0aGUgcm9vdC5cbiAgICAgICAgICAgIC8vIFNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIHN0b3Agbm93LiBIb3dldmVyLCB3ZSBkb24ndCBrbm93IGlmIHRoaXMgcG9ydGFsXG4gICAgICAgICAgICAvLyB3YXMgcGFydCBvZiAqb3VyKiByb290LlxuICAgICAgICAgICAgdmFyIGdyYW5kTm9kZSA9IG5vZGUucmV0dXJuO1xuXG4gICAgICAgICAgICB3aGlsZSAoZ3JhbmROb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBncmFuZFRhZyA9IGdyYW5kTm9kZS50YWc7XG5cbiAgICAgICAgICAgICAgaWYgKGdyYW5kVGFnID09PSBIb3N0Um9vdCB8fCBncmFuZFRhZyA9PT0gSG9zdFBvcnRhbCkge1xuICAgICAgICAgICAgICAgIHZhciBncmFuZENvbnRhaW5lciA9IGdyYW5kTm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcblxuICAgICAgICAgICAgICAgIGlmIChpc01hdGNoaW5nUm9vdENvbnRhaW5lcihncmFuZENvbnRhaW5lciwgdGFyZ2V0Q29udGFpbmVyTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHJvb3RDb250YWluZXIgd2UncmUgbG9va2luZyBmb3IgYW5kIHdlIGZvdW5kIGl0IGFzXG4gICAgICAgICAgICAgICAgICAvLyBhIHBhcmVudCBvZiB0aGUgUG9ydGFsLiBUaGF0IG1lYW5zIHdlIGNhbiBpZ25vcmUgaXQgYmVjYXVzZSB0aGVcbiAgICAgICAgICAgICAgICAgIC8vIFBvcnRhbCB3aWxsIGJ1YmJsZSB0aHJvdWdoIHRvIHVzLlxuICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGdyYW5kTm9kZSA9IGdyYW5kTm9kZS5yZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBOb3cgd2UgbmVlZCB0byBmaW5kIGl0J3MgY29ycmVzcG9uZGluZyBob3N0IGZpYmVyIGluIHRoZSBvdGhlclxuICAgICAgICAgIC8vIHRyZWUuIFRvIGRvIHRoaXMgd2UgY2FuIHVzZSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSwgYnV0IHdlXG4gICAgICAgICAgLy8gbmVlZCB0byB2YWxpZGF0ZSB0aGF0IHRoZSBmaWJlciBpcyBhIGhvc3QgaW5zdGFuY2UsIG90aGVyd2lzZVxuICAgICAgICAgIC8vIHdlIG5lZWQgdG8gdHJhdmVyc2UgdXAgdGhyb3VnaCB0aGUgRE9NIHRpbGwgd2UgZmluZCB0aGUgY29ycmVjdFxuICAgICAgICAgIC8vIG5vZGUgdGhhdCBpcyBmcm9tIHRoZSBvdGhlciB0cmVlLlxuXG5cbiAgICAgICAgICB3aGlsZSAoY29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgcGFyZW50Tm9kZSA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKGNvbnRhaW5lcik7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHBhcmVudFRhZyA9IHBhcmVudE5vZGUudGFnO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50VGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHBhcmVudFRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgICAgICAgICAgbm9kZSA9IGFuY2VzdG9ySW5zdCA9IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG1haW5Mb29wO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250YWluZXIgPSBjb250YWluZXIucGFyZW50Tm9kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYmF0Y2hlZFVwZGF0ZXMoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBkaXNwYXRjaEV2ZW50c0ZvclBsdWdpbnMoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgYW5jZXN0b3JJbnN0KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGxpc3RlbmVyLCBjdXJyZW50VGFyZ2V0KSB7XG4gIHJldHVybiB7XG4gICAgaW5zdGFuY2U6IGluc3RhbmNlLFxuICAgIGxpc3RlbmVyOiBsaXN0ZW5lcixcbiAgICBjdXJyZW50VGFyZ2V0OiBjdXJyZW50VGFyZ2V0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVTaW5nbGVQaGFzZUxpc3RlbmVycyh0YXJnZXRGaWJlciwgcmVhY3ROYW1lLCBuYXRpdmVFdmVudFR5cGUsIGluQ2FwdHVyZVBoYXNlLCBhY2N1bXVsYXRlVGFyZ2V0T25seSwgbmF0aXZlRXZlbnQpIHtcbiAgdmFyIGNhcHR1cmVOYW1lID0gcmVhY3ROYW1lICE9PSBudWxsID8gcmVhY3ROYW1lICsgJ0NhcHR1cmUnIDogbnVsbDtcbiAgdmFyIHJlYWN0RXZlbnROYW1lID0gaW5DYXB0dXJlUGhhc2UgPyBjYXB0dXJlTmFtZSA6IHJlYWN0TmFtZTtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgaW5zdGFuY2UgPSB0YXJnZXRGaWJlcjtcbiAgdmFyIGxhc3RIb3N0Q29tcG9uZW50ID0gbnVsbDsgLy8gQWNjdW11bGF0ZSBhbGwgaW5zdGFuY2VzIGFuZCBsaXN0ZW5lcnMgdmlhIHRoZSB0YXJnZXQgLT4gcm9vdCBwYXRoLlxuXG4gIHdoaWxlIChpbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgIHZhciBfaW5zdGFuY2UyID0gaW5zdGFuY2UsXG4gICAgICAgIHN0YXRlTm9kZSA9IF9pbnN0YW5jZTIuc3RhdGVOb2RlLFxuICAgICAgICB0YWcgPSBfaW5zdGFuY2UyLnRhZzsgLy8gSGFuZGxlIGxpc3RlbmVycyB0aGF0IGFyZSBvbiBIb3N0Q29tcG9uZW50cyAoaS5lLiA8ZGl2PilcblxuICAgIGlmICh0YWcgPT09IEhvc3RDb21wb25lbnQgJiYgc3RhdGVOb2RlICE9PSBudWxsKSB7XG4gICAgICBsYXN0SG9zdENvbXBvbmVudCA9IHN0YXRlTm9kZTsgLy8gY3JlYXRlRXZlbnRIYW5kbGUgbGlzdGVuZXJzXG5cblxuICAgICAgaWYgKHJlYWN0RXZlbnROYW1lICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBsaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCByZWFjdEV2ZW50TmFtZSk7XG5cbiAgICAgICAgaWYgKGxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgICAgICBsaXN0ZW5lcnMucHVzaChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBsaXN0ZW5lciwgbGFzdEhvc3RDb21wb25lbnQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gSWYgd2UgYXJlIG9ubHkgYWNjdW11bGF0aW5nIGV2ZW50cyBmb3IgdGhlIHRhcmdldCwgdGhlbiB3ZSBkb24ndFxuICAgIC8vIGNvbnRpbnVlIHRvIHByb3BhZ2F0ZSB0aHJvdWdoIHRoZSBSZWFjdCBmaWJlciB0cmVlIHRvIGZpbmQgb3RoZXJcbiAgICAvLyBsaXN0ZW5lcnMuXG5cblxuICAgIGlmIChhY2N1bXVsYXRlVGFyZ2V0T25seSkge1xuICAgICAgYnJlYWs7XG4gICAgfSAvLyBJZiB3ZSBhcmUgcHJvY2Vzc2luZyB0aGUgb25CZWZvcmVCbHVyIGV2ZW50LCB0aGVuIHdlIG5lZWQgdG8gdGFrZVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJzO1xufSAvLyBXZSBzaG91bGQgb25seSB1c2UgdGhpcyBmdW5jdGlvbiBmb3I6XG4vLyAtIEJlZm9yZUlucHV0RXZlbnRQbHVnaW5cbi8vIC0gQ2hhbmdlRXZlbnRQbHVnaW5cbi8vIC0gU2VsZWN0RXZlbnRQbHVnaW5cbi8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBvbmx5IHByb2Nlc3MgdGhlc2UgcGx1Z2luc1xuLy8gaW4gdGhlIGJ1YmJsZSBwaGFzZSwgc28gd2UgbmVlZCB0byBhY2N1bXVsYXRlIHR3b1xuLy8gcGhhc2UgZXZlbnQgbGlzdGVuZXJzICh2aWEgZW11bGF0aW9uKS5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKHRhcmdldEZpYmVyLCByZWFjdE5hbWUpIHtcbiAgdmFyIGNhcHR1cmVOYW1lID0gcmVhY3ROYW1lICsgJ0NhcHR1cmUnO1xuICB2YXIgbGlzdGVuZXJzID0gW107XG4gIHZhciBpbnN0YW5jZSA9IHRhcmdldEZpYmVyOyAvLyBBY2N1bXVsYXRlIGFsbCBpbnN0YW5jZXMgYW5kIGxpc3RlbmVycyB2aWEgdGhlIHRhcmdldCAtPiByb290IHBhdGguXG5cbiAgd2hpbGUgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgdmFyIF9pbnN0YW5jZTMgPSBpbnN0YW5jZSxcbiAgICAgICAgc3RhdGVOb2RlID0gX2luc3RhbmNlMy5zdGF0ZU5vZGUsXG4gICAgICAgIHRhZyA9IF9pbnN0YW5jZTMudGFnOyAvLyBIYW5kbGUgbGlzdGVuZXJzIHRoYXQgYXJlIG9uIEhvc3RDb21wb25lbnRzIChpLmUuIDxkaXY+KVxuXG4gICAgaWYgKHRhZyA9PT0gSG9zdENvbXBvbmVudCAmJiBzdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBjdXJyZW50VGFyZ2V0ID0gc3RhdGVOb2RlO1xuICAgICAgdmFyIGNhcHR1cmVMaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTmFtZSk7XG5cbiAgICAgIGlmIChjYXB0dXJlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICBsaXN0ZW5lcnMudW5zaGlmdChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGJ1YmJsZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlYWN0TmFtZSk7XG5cbiAgICAgIGlmIChidWJibGVMaXN0ZW5lciAhPSBudWxsKSB7XG4gICAgICAgIGxpc3RlbmVycy5wdXNoKGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGJ1YmJsZUxpc3RlbmVyLCBjdXJyZW50VGFyZ2V0KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJzO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJlbnQoaW5zdCkge1xuICBpZiAoaW5zdCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZG8ge1xuICAgIGluc3QgPSBpbnN0LnJldHVybjsgLy8gVE9ETzogSWYgdGhpcyBpcyBhIEhvc3RSb290IHdlIG1pZ2h0IHdhbnQgdG8gYmFpbCBvdXQuXG4gICAgLy8gVGhhdCBpcyBkZXBlbmRpbmcgb24gaWYgd2Ugd2FudCBuZXN0ZWQgc3VidHJlZXMgKGxheWVycykgdG8gYnViYmxlXG4gICAgLy8gZXZlbnRzIHRvIHRoZWlyIHBhcmVudC4gV2UgY291bGQgYWxzbyBnbyB0aHJvdWdoIHBhcmVudE5vZGUgb24gdGhlXG4gICAgLy8gaG9zdCBub2RlIGJ1dCB0aGF0IHdvdWxkbid0IHdvcmsgZm9yIFJlYWN0IE5hdGl2ZSBhbmQgZG9lc24ndCBsZXQgdXNcbiAgICAvLyBkbyB0aGUgcG9ydGFsIGZlYXR1cmUuXG4gIH0gd2hpbGUgKGluc3QgJiYgaW5zdC50YWcgIT09IEhvc3RDb21wb25lbnQpO1xuXG4gIGlmIChpbnN0KSB7XG4gICAgcmV0dXJuIGluc3Q7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogUmV0dXJuIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIEEgYW5kIEIsIG9yIG51bGwgaWYgdGhleSBhcmUgaW5cbiAqIGRpZmZlcmVudCB0cmVlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldExvd2VzdENvbW1vbkFuY2VzdG9yKGluc3RBLCBpbnN0Qikge1xuICB2YXIgbm9kZUEgPSBpbnN0QTtcbiAgdmFyIG5vZGVCID0gaW5zdEI7XG4gIHZhciBkZXB0aEEgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBBID0gbm9kZUE7IHRlbXBBOyB0ZW1wQSA9IGdldFBhcmVudCh0ZW1wQSkpIHtcbiAgICBkZXB0aEErKztcbiAgfVxuXG4gIHZhciBkZXB0aEIgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBCID0gbm9kZUI7IHRlbXBCOyB0ZW1wQiA9IGdldFBhcmVudCh0ZW1wQikpIHtcbiAgICBkZXB0aEIrKztcbiAgfSAvLyBJZiBBIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhBIC0gZGVwdGhCID4gMCkge1xuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBkZXB0aEEtLTtcbiAgfSAvLyBJZiBCIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhCIC0gZGVwdGhBID4gMCkge1xuICAgIG5vZGVCID0gZ2V0UGFyZW50KG5vZGVCKTtcbiAgICBkZXB0aEItLTtcbiAgfSAvLyBXYWxrIGluIGxvY2tzdGVwIHVudGlsIHdlIGZpbmQgYSBtYXRjaC5cblxuXG4gIHZhciBkZXB0aCA9IGRlcHRoQTtcblxuICB3aGlsZSAoZGVwdGgtLSkge1xuICAgIGlmIChub2RlQSA9PT0gbm9kZUIgfHwgbm9kZUIgIT09IG51bGwgJiYgbm9kZUEgPT09IG5vZGVCLmFsdGVybmF0ZSkge1xuICAgICAgcmV0dXJuIG5vZGVBO1xuICAgIH1cblxuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBub2RlQiA9IGdldFBhcmVudChub2RlQik7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVMaXN0ZW5lcnNGb3JFdmVudChkaXNwYXRjaFF1ZXVlLCBldmVudCwgdGFyZ2V0LCBjb21tb24sIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciByZWdpc3RyYXRpb25OYW1lID0gZXZlbnQuX3JlYWN0TmFtZTtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgaW5zdGFuY2UgPSB0YXJnZXQ7XG5cbiAgd2hpbGUgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgaWYgKGluc3RhbmNlID09PSBjb21tb24pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBfaW5zdGFuY2U0ID0gaW5zdGFuY2UsXG4gICAgICAgIGFsdGVybmF0ZSA9IF9pbnN0YW5jZTQuYWx0ZXJuYXRlLFxuICAgICAgICBzdGF0ZU5vZGUgPSBfaW5zdGFuY2U0LnN0YXRlTm9kZSxcbiAgICAgICAgdGFnID0gX2luc3RhbmNlNC50YWc7XG5cbiAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZSA9PT0gY29tbW9uKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSBIb3N0Q29tcG9uZW50ICYmIHN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIGN1cnJlbnRUYXJnZXQgPSBzdGF0ZU5vZGU7XG5cbiAgICAgIGlmIChpbkNhcHR1cmVQaGFzZSkge1xuICAgICAgICB2YXIgY2FwdHVyZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuXG4gICAgICAgIGlmIChjYXB0dXJlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICAgIGxpc3RlbmVycy51bnNoaWZ0KGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGNhcHR1cmVMaXN0ZW5lciwgY3VycmVudFRhcmdldCkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFpbkNhcHR1cmVQaGFzZSkge1xuICAgICAgICB2YXIgYnViYmxlTGlzdGVuZXIgPSBnZXRMaXN0ZW5lcihpbnN0YW5jZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG5cbiAgICAgICAgaWYgKGJ1YmJsZUxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgICAgICBsaXN0ZW5lcnMucHVzaChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBidWJibGVMaXN0ZW5lciwgY3VycmVudFRhcmdldCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICBpZiAobGlzdGVuZXJzLmxlbmd0aCAhPT0gMCkge1xuICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1xuICAgIH0pO1xuICB9XG59IC8vIFdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGZ1bmN0aW9uIGZvcjpcbi8vIC0gRW50ZXJMZWF2ZUV2ZW50UGx1Z2luXG4vLyBUaGlzIGlzIGJlY2F1c2Ugd2Ugb25seSBwcm9jZXNzIHRoaXMgcGx1Z2luXG4vLyBpbiB0aGUgYnViYmxlIHBoYXNlLCBzbyB3ZSBuZWVkIHRvIGFjY3VtdWxhdGUgdHdvXG4vLyBwaGFzZSBldmVudCBsaXN0ZW5lcnMuXG5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVUd29QaGFzZUxpc3RlbmVycyhkaXNwYXRjaFF1ZXVlLCBsZWF2ZUV2ZW50LCBlbnRlckV2ZW50LCBmcm9tLCB0bykge1xuICB2YXIgY29tbW9uID0gZnJvbSAmJiB0byA/IGdldExvd2VzdENvbW1vbkFuY2VzdG9yKGZyb20sIHRvKSA6IG51bGw7XG5cbiAgaWYgKGZyb20gIT09IG51bGwpIHtcbiAgICBhY2N1bXVsYXRlRW50ZXJMZWF2ZUxpc3RlbmVyc0ZvckV2ZW50KGRpc3BhdGNoUXVldWUsIGxlYXZlRXZlbnQsIGZyb20sIGNvbW1vbiwgZmFsc2UpO1xuICB9XG5cbiAgaWYgKHRvICE9PSBudWxsICYmIGVudGVyRXZlbnQgIT09IG51bGwpIHtcbiAgICBhY2N1bXVsYXRlRW50ZXJMZWF2ZUxpc3RlbmVyc0ZvckV2ZW50KGRpc3BhdGNoUXVldWUsIGVudGVyRXZlbnQsIHRvLCBjb21tb24sIHRydWUpO1xuICB9XG59XG5mdW5jdGlvbiBnZXRMaXN0ZW5lclNldEtleShkb21FdmVudE5hbWUsIGNhcHR1cmUpIHtcbiAgcmV0dXJuIGRvbUV2ZW50TmFtZSArIFwiX19cIiArIChjYXB0dXJlID8gJ2NhcHR1cmUnIDogJ2J1YmJsZScpO1xufVxuXG52YXIgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSBmYWxzZTtcbnZhciBEQU5HRVJPVVNMWV9TRVRfSU5ORVJfSFRNTCA9ICdkYW5nZXJvdXNseVNldElubmVySFRNTCc7XG52YXIgU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HID0gJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyc7XG52YXIgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcgPSAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJztcbnZhciBBVVRPRk9DVVMgPSAnYXV0b0ZvY3VzJztcbnZhciBDSElMRFJFTiA9ICdjaGlsZHJlbic7XG52YXIgU1RZTEUgPSAnc3R5bGUnO1xudmFyIEhUTUwkMSA9ICdfX2h0bWwnO1xudmFyIHdhcm5lZFVua25vd25UYWdzO1xudmFyIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQ7XG52YXIgd2FybkZvclByb3BEaWZmZXJlbmNlO1xudmFyIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXM7XG52YXIgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyO1xudmFyIGNhbkRpZmZTdHlsZUZvckh5ZHJhdGlvbldhcm5pbmc7XG52YXIgbm9ybWFsaXplSFRNTDtcblxue1xuICB3YXJuZWRVbmtub3duVGFncyA9IHtcbiAgICAvLyBUaGVyZSBhcmUgd29ya2luZyBwb2x5ZmlsbHMgZm9yIDxkaWFsb2c+LiBMZXQgcGVvcGxlIHVzZSBpdC5cbiAgICBkaWFsb2c6IHRydWUsXG4gICAgLy8gRWxlY3Ryb24gc2hpcHMgYSBjdXN0b20gPHdlYnZpZXc+IHRhZyB0byBkaXNwbGF5IGV4dGVybmFsIHdlYiBjb250ZW50IGluXG4gICAgLy8gYW4gaXNvbGF0ZWQgZnJhbWUgYW5kIHByb2Nlc3MuXG4gICAgLy8gVGhpcyB0YWcgaXMgbm90IHByZXNlbnQgaW4gbm9uIEVsZWN0cm9uIGVudmlyb25tZW50cyBzdWNoIGFzIEpTRG9tIHdoaWNoXG4gICAgLy8gaXMgb2Z0ZW4gdXNlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAgICAvLyBAc2VlIGh0dHBzOi8vZWxlY3Ryb25qcy5vcmcvZG9jcy9hcGkvd2Vidmlldy10YWdcbiAgICB3ZWJ2aWV3OiB0cnVlXG4gIH07XG5cbiAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCA9IGZ1bmN0aW9uICh0eXBlLCBwcm9wcykge1xuICAgIHZhbGlkYXRlUHJvcGVydGllcyh0eXBlLCBwcm9wcyk7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzJDEodHlwZSwgcHJvcHMpO1xuICAgIHZhbGlkYXRlUHJvcGVydGllcyQyKHR5cGUsIHByb3BzLCB7XG4gICAgICByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzOiByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLFxuICAgICAgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lczogcG9zc2libGVSZWdpc3RyYXRpb25OYW1lc1xuICAgIH0pO1xuICB9OyAvLyBJRSAxMSBwYXJzZXMgJiBub3JtYWxpemVzIHRoZSBzdHlsZSBhdHRyaWJ1dGUgYXMgb3Bwb3NlZCB0byBvdGhlclxuICAvLyBicm93c2Vycy4gSXQgYWRkcyBzcGFjZXMgYW5kIHNvcnRzIHRoZSBwcm9wZXJ0aWVzIGluIHNvbWVcbiAgLy8gbm9uLWFscGhhYmV0aWNhbCBvcmRlci4gSGFuZGxpbmcgdGhhdCB3b3VsZCByZXF1aXJlIHNvcnRpbmcgQ1NTXG4gIC8vIHByb3BlcnRpZXMgaW4gdGhlIGNsaWVudCAmIHNlcnZlciB2ZXJzaW9ucyBvciBhcHBseWluZ1xuICAvLyBgZXhwZWN0ZWRTdHlsZWAgdG8gYSB0ZW1wb3JhcnkgRE9NIG5vZGUgdG8gcmVhZCBpdHMgYHN0eWxlYCBhdHRyaWJ1dGVcbiAgLy8gbm9ybWFsaXplZC4gU2luY2UgaXQgb25seSBhZmZlY3RzIElFLCB3ZSdyZSBza2lwcGluZyBzdHlsZSB3YXJuaW5nc1xuICAvLyBpbiB0aGF0IGJyb3dzZXIgY29tcGxldGVseSBpbiBmYXZvciBvZiBkb2luZyBhbGwgdGhhdCB3b3JrLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTgwN1xuXG5cbiAgY2FuRGlmZlN0eWxlRm9ySHlkcmF0aW9uV2FybmluZyA9IGNhblVzZURPTSAmJiAhZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xuXG4gIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZSA9IGZ1bmN0aW9uIChwcm9wTmFtZSwgc2VydmVyVmFsdWUsIGNsaWVudFZhbHVlKSB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5vcm1hbGl6ZWRDbGllbnRWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShjbGllbnRWYWx1ZSk7XG4gICAgdmFyIG5vcm1hbGl6ZWRTZXJ2ZXJWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShzZXJ2ZXJWYWx1ZSk7XG5cbiAgICBpZiAobm9ybWFsaXplZFNlcnZlclZhbHVlID09PSBub3JtYWxpemVkQ2xpZW50VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignUHJvcCBgJXNgIGRpZCBub3QgbWF0Y2guIFNlcnZlcjogJXMgQ2xpZW50OiAlcycsIHByb3BOYW1lLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkU2VydmVyVmFsdWUpLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkQ2xpZW50VmFsdWUpKTtcbiAgfTtcblxuICB3YXJuRm9yRXh0cmFBdHRyaWJ1dGVzID0gZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuICAgIHZhciBuYW1lcyA9IFtdO1xuICAgIGF0dHJpYnV0ZU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIG5hbWVzLnB1c2gobmFtZSk7XG4gICAgfSk7XG5cbiAgICBlcnJvcignRXh0cmEgYXR0cmlidXRlcyBmcm9tIHRoZSBzZXJ2ZXI6ICVzJywgbmFtZXMpO1xuICB9O1xuXG4gIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uIChyZWdpc3RyYXRpb25OYW1lLCBsaXN0ZW5lcikge1xuICAgIGlmIChsaXN0ZW5lciA9PT0gZmFsc2UpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBgJXNgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGBmYWxzZWAuXFxuXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3IoJ0V4cGVjdGVkIGAlc2AgbGlzdGVuZXIgdG8gYmUgYSBmdW5jdGlvbiwgaW5zdGVhZCBnb3QgYSB2YWx1ZSBvZiBgJXNgIHR5cGUuJywgcmVnaXN0cmF0aW9uTmFtZSwgdHlwZW9mIGxpc3RlbmVyKTtcbiAgICB9XG4gIH07IC8vIFBhcnNlIHRoZSBIVE1MIGFuZCByZWFkIGl0IGJhY2sgdG8gbm9ybWFsaXplIHRoZSBIVE1MIHN0cmluZyBzbyB0aGF0IGl0XG4gIC8vIGNhbiBiZSB1c2VkIGZvciBjb21wYXJpc29uLlxuXG5cbiAgbm9ybWFsaXplSFRNTCA9IGZ1bmN0aW9uIChwYXJlbnQsIGh0bWwpIHtcbiAgICAvLyBXZSBjb3VsZCBoYXZlIGNyZWF0ZWQgYSBzZXBhcmF0ZSBkb2N1bWVudCBoZXJlIHRvIGF2b2lkXG4gICAgLy8gcmUtaW5pdGlhbGl6aW5nIGN1c3RvbSBlbGVtZW50cyBpZiB0aGV5IGV4aXN0LiBCdXQgdGhpcyBicmVha3NcbiAgICAvLyBob3cgPG5vc2NyaXB0PiBpcyBiZWluZyBoYW5kbGVkLiBTbyB3ZSB1c2UgdGhlIHNhbWUgZG9jdW1lbnQuXG4gICAgLy8gU2VlIHRoZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzExMTU3LlxuICAgIHZhciB0ZXN0RWxlbWVudCA9IHBhcmVudC5uYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFID8gcGFyZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJlbnQudGFnTmFtZSkgOiBwYXJlbnQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMocGFyZW50Lm5hbWVzcGFjZVVSSSwgcGFyZW50LnRhZ05hbWUpO1xuICAgIHRlc3RFbGVtZW50LmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHRlc3RFbGVtZW50LmlubmVySFRNTDtcbiAgfTtcbn0gLy8gSFRNTCBwYXJzaW5nIG5vcm1hbGl6ZXMgQ1IgYW5kIENSTEYgdG8gTEYuXG4vLyBJdCBhbHNvIGNhbiB0dXJuIFxcdTAwMDAgaW50byBcXHVGRkZEIGluc2lkZSBhdHRyaWJ1dGVzLlxuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3NpbmdsZS1wYWdlLmh0bWwjcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtXG4vLyBJZiB3ZSBoYXZlIGEgbWlzbWF0Y2gsIGl0IG1pZ2h0IGJlIGNhdXNlZCBieSB0aGF0LlxuLy8gV2Ugd2lsbCBzdGlsbCBwYXRjaCB1cCBpbiB0aGlzIGNhc2UgYnV0IG5vdCBmaXJlIHRoZSB3YXJuaW5nLlxuXG5cbnZhciBOT1JNQUxJWkVfTkVXTElORVNfUkVHRVggPSAvXFxyXFxuPy9nO1xudmFyIE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCA9IC9cXHUwMDAwfFxcdUZGRkQvZztcblxuZnVuY3Rpb24gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKG1hcmt1cCkge1xuICB7XG4gICAgY2hlY2tIdG1sU3RyaW5nQ29lcmNpb24obWFya3VwKTtcbiAgfVxuXG4gIHZhciBtYXJrdXBTdHJpbmcgPSB0eXBlb2YgbWFya3VwID09PSAnc3RyaW5nJyA/IG1hcmt1cCA6ICcnICsgbWFya3VwO1xuICByZXR1cm4gbWFya3VwU3RyaW5nLnJlcGxhY2UoTk9STUFMSVpFX05FV0xJTkVTX1JFR0VYLCAnXFxuJykucmVwbGFjZShOT1JNQUxJWkVfTlVMTF9BTkRfUkVQTEFDRU1FTlRfUkVHRVgsICcnKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tGb3JVbm1hdGNoZWRUZXh0KHNlcnZlclRleHQsIGNsaWVudFRleHQsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgdmFyIG5vcm1hbGl6ZWRDbGllbnRUZXh0ID0gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKGNsaWVudFRleHQpO1xuICB2YXIgbm9ybWFsaXplZFNlcnZlclRleHQgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoc2VydmVyVGV4dCk7XG5cbiAgaWYgKG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0ID09PSBub3JtYWxpemVkQ2xpZW50VGV4dCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChzaG91bGRXYXJuRGV2KSB7XG4gICAge1xuICAgICAgaWYgKCFkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJ1RleHQgY29udGVudCBkaWQgbm90IG1hdGNoLiBTZXJ2ZXI6IFwiJXNcIiBDbGllbnQ6IFwiJXNcIicsIG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0LCBub3JtYWxpemVkQ2xpZW50VGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGlzQ29uY3VycmVudE1vZGUgJiYgZW5hYmxlQ2xpZW50UmVuZGVyRmFsbGJhY2tPblRleHRNaXNtYXRjaCkge1xuICAgIC8vIEluIGNvbmN1cnJlbnQgcm9vdHMsIHdlIHRocm93IHdoZW4gdGhlcmUncyBhIHRleHQgbWlzbWF0Y2ggYW5kIHJldmVydCB0b1xuICAgIC8vIGNsaWVudCByZW5kZXJpbmcsIHVwIHRvIHRoZSBuZWFyZXN0IFN1c3BlbnNlIGJvdW5kYXJ5LlxuICAgIHRocm93IG5ldyBFcnJvcignVGV4dCBjb250ZW50IGRvZXMgbm90IG1hdGNoIHNlcnZlci1yZW5kZXJlZCBIVE1MLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE93bmVyRG9jdW1lbnRGcm9tUm9vdENvbnRhaW5lcihyb290Q29udGFpbmVyRWxlbWVudCkge1xuICByZXR1cm4gcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyByb290Q29udGFpbmVyRWxlbWVudCA6IHJvb3RDb250YWluZXJFbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG59XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5mdW5jdGlvbiB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChub2RlKSB7XG4gIC8vIE1vYmlsZSBTYWZhcmkgZG9lcyBub3QgZmlyZSBwcm9wZXJseSBidWJibGUgY2xpY2sgZXZlbnRzIG9uXG4gIC8vIG5vbi1pbnRlcmFjdGl2ZSBlbGVtZW50cywgd2hpY2ggbWVhbnMgZGVsZWdhdGVkIGNsaWNrIGxpc3RlbmVycyBkbyBub3RcbiAgLy8gZmlyZS4gVGhlIHdvcmthcm91bmQgZm9yIHRoaXMgYnVnIGludm9sdmVzIGF0dGFjaGluZyBhbiBlbXB0eSBjbGlja1xuICAvLyBsaXN0ZW5lciBvbiB0aGUgdGFyZ2V0IG5vZGUuXG4gIC8vIGh0dHBzOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxMC8wOS9jbGlja19ldmVudF9kZWwuaHRtbFxuICAvLyBKdXN0IHNldCBpdCB1c2luZyB0aGUgb25jbGljayBwcm9wZXJ0eSBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gbWFuYWdlIGFueVxuICAvLyBib29ra2VlcGluZyBmb3IgaXQuIE5vdCBzdXJlIGlmIHdlIG5lZWQgdG8gY2xlYXIgaXQgd2hlbiB0aGUgbGlzdGVuZXIgaXNcbiAgLy8gcmVtb3ZlZC5cbiAgLy8gVE9ETzogT25seSBkbyB0aGlzIGZvciB0aGUgcmVsZXZhbnQgU2FmYXJpcyBtYXliZT9cbiAgbm9kZS5vbmNsaWNrID0gbm9vcDtcbn1cblxuZnVuY3Rpb24gc2V0SW5pdGlhbERPTVByb3BlcnRpZXModGFnLCBkb21FbGVtZW50LCByb290Q29udGFpbmVyRWxlbWVudCwgbmV4dFByb3BzLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICBmb3IgKHZhciBwcm9wS2V5IGluIG5leHRQcm9wcykge1xuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgbmV4dFByb3AgPSBuZXh0UHJvcHNbcHJvcEtleV07XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHtcbiAgICAgICAgaWYgKG5leHRQcm9wKSB7XG4gICAgICAgICAgLy8gRnJlZXplIHRoZSBuZXh0IHN0eWxlIG9iamVjdCBzbyB0aGF0IHdlIGNhbiBhc3N1bWUgaXQgd29uJ3QgYmVcbiAgICAgICAgICAvLyBtdXRhdGVkLiBXZSBoYXZlIGFscmVhZHkgd2FybmVkIGZvciB0aGlzIGluIHRoZSBwYXN0LlxuICAgICAgICAgIE9iamVjdC5mcmVlemUobmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IC8vIFJlbGllcyBvbiBgdXBkYXRlU3R5bGVzQnlJRGAgbm90IG11dGF0aW5nIGBzdHlsZVVwZGF0ZXNgLlxuXG5cbiAgICAgIHNldFZhbHVlRm9yU3R5bGVzKGRvbUVsZW1lbnQsIG5leHRQcm9wKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XG4gICAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBDSElMRFJFTikge1xuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gQXZvaWQgc2V0dGluZyBpbml0aWFsIHRleHRDb250ZW50IHdoZW4gdGhlIHRleHQgaXMgZW1wdHkuIEluIElFMTEgc2V0dGluZ1xuICAgICAgICAvLyB0ZXh0Q29udGVudCBvbiBhIDx0ZXh0YXJlYT4gd2lsbCBjYXVzZSB0aGUgcGxhY2Vob2xkZXIgdG8gbm90XG4gICAgICAgIC8vIHNob3cgd2l0aGluIHRoZSA8dGV4dGFyZWE+IHVudGlsIGl0IGhhcyBiZWVuIGZvY3VzZWQgYW5kIGJsdXJyZWQgYWdhaW4uXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNjczMSNpc3N1ZWNvbW1lbnQtMjU0ODc0NTUzXG4gICAgICAgIHZhciBjYW5TZXRUZXh0Q29udGVudCA9IHRhZyAhPT0gJ3RleHRhcmVhJyB8fCBuZXh0UHJvcCAhPT0gJyc7XG5cbiAgICAgICAgaWYgKGNhblNldFRleHRDb250ZW50KSB7XG4gICAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycgKyBuZXh0UHJvcCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBTVVBQUkVTU19DT05URU5UX0VESVRBQkxFX1dBUk5JTkcgfHwgcHJvcEtleSA9PT0gU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gQVVUT0ZPQ1VTKSA7IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGlmIChuZXh0UHJvcCAhPSBudWxsKSB7XG4gICAgICAgIGlmICggdHlwZW9mIG5leHRQcm9wICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wS2V5ID09PSAnb25TY3JvbGwnKSB7XG4gICAgICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnc2Nyb2xsJywgZG9tRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgIHNldFZhbHVlRm9yUHJvcGVydHkoZG9tRWxlbWVudCwgcHJvcEtleSwgbmV4dFByb3AsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlRE9NUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB3YXNDdXN0b21Db21wb25lbnRUYWcsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIC8vIFRPRE86IEhhbmRsZSB3YXNDdXN0b21Db21wb25lbnRUYWdcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB1cGRhdGVQYXlsb2FkLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIHByb3BLZXkgPSB1cGRhdGVQYXlsb2FkW2ldO1xuICAgIHZhciBwcm9wVmFsdWUgPSB1cGRhdGVQYXlsb2FkW2kgKyAxXTtcblxuICAgIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAgc2V0VmFsdWVGb3JTdHlsZXMoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICBzZXRJbm5lckhUTUwoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCBwcm9wVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRWYWx1ZUZvclByb3BlcnR5KGRvbUVsZW1lbnQsIHByb3BLZXksIHByb3BWYWx1ZSwgaXNDdXN0b21Db21wb25lbnRUYWcpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVyRWxlbWVudCwgcGFyZW50TmFtZXNwYWNlKSB7XG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZzsgLy8gV2UgY3JlYXRlIHRhZ3MgaW4gdGhlIG5hbWVzcGFjZSBvZiB0aGVpciBwYXJlbnQgY29udGFpbmVyLCBleGNlcHQgSFRNTFxuICAvLyB0YWdzIGdldCBubyBuYW1lc3BhY2UuXG5cbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICB2YXIgZG9tRWxlbWVudDtcbiAgdmFyIG5hbWVzcGFjZVVSSSA9IHBhcmVudE5hbWVzcGFjZTtcblxuICBpZiAobmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSkge1xuICAgIG5hbWVzcGFjZVVSSSA9IGdldEludHJpbnNpY05hbWVzcGFjZSh0eXBlKTtcbiAgfVxuXG4gIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAge1xuICAgICAgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0eXBlLCBwcm9wcyk7IC8vIFNob3VsZCB0aGlzIGNoZWNrIGJlIGdhdGVkIGJ5IHBhcmVudCBuYW1lc3BhY2U/IE5vdCBzdXJlIHdlIHdhbnQgdG9cbiAgICAgIC8vIGFsbG93IDxTVkc+IG9yIDxtQVRIPi5cblxuICAgICAgaWYgKCFpc0N1c3RvbUNvbXBvbmVudFRhZyAmJiB0eXBlICE9PSB0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgZXJyb3IoJzwlcyAvPiBpcyB1c2luZyBpbmNvcnJlY3QgY2FzaW5nLiAnICsgJ1VzZSBQYXNjYWxDYXNlIGZvciBSZWFjdCBjb21wb25lbnRzLCAnICsgJ29yIGxvd2VyY2FzZSBmb3IgSFRNTCBlbGVtZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgIC8vIENyZWF0ZSB0aGUgc2NyaXB0IHZpYSAuaW5uZXJIVE1MIHNvIGl0cyBcInBhcnNlci1pbnNlcnRlZFwiIGZsYWcgaXNcbiAgICAgIC8vIHNldCB0byB0cnVlIGFuZCBpdCBkb2VzIG5vdCBleGVjdXRlXG4gICAgICB2YXIgZGl2ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgZGl2LmlubmVySFRNTCA9ICc8c2NyaXB0PjwnICsgJy9zY3JpcHQ+JzsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgLy8gVGhpcyBpcyBndWFyYW50ZWVkIHRvIHlpZWxkIGEgc2NyaXB0IGVsZW1lbnQuXG5cbiAgICAgIHZhciBmaXJzdENoaWxkID0gZGl2LmZpcnN0Q2hpbGQ7XG4gICAgICBkb21FbGVtZW50ID0gZGl2LnJlbW92ZUNoaWxkKGZpcnN0Q2hpbGQpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gJEZsb3dJc3N1ZSBgY3JlYXRlRWxlbWVudGAgc2hvdWxkIGJlIHVwZGF0ZWQgZm9yIFdlYiBDb21wb25lbnRzXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUsIHtcbiAgICAgICAgaXM6IHByb3BzLmlzXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2VwYXJhdGUgZWxzZSBicmFuY2ggaW5zdGVhZCBvZiB1c2luZyBgcHJvcHMuaXMgfHwgdW5kZWZpbmVkYCBhYm92ZSBiZWNhdXNlIG9mIGEgRmlyZWZveCBidWcuXG4gICAgICAvLyBTZWUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC82ODk2XG4gICAgICAvLyBhbmQgZGlzY3Vzc2lvbiBpbiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MjQwXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOyAvLyBOb3JtYWxseSBhdHRyaWJ1dGVzIGFyZSBhc3NpZ25lZCBpbiBgc2V0SW5pdGlhbERPTVByb3BlcnRpZXNgLCBob3dldmVyIHRoZSBgbXVsdGlwbGVgIGFuZCBgc2l6ZWBcbiAgICAgIC8vIGF0dHJpYnV0ZXMgb24gYHNlbGVjdGBzIG5lZWRzIHRvIGJlIGFkZGVkIGJlZm9yZSBgb3B0aW9uYHMgYXJlIGluc2VydGVkLlxuICAgICAgLy8gVGhpcyBwcmV2ZW50czpcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIGRvZXMgbm90IHNjcm9sbCB0byB0aGUgY29ycmVjdCBvcHRpb24gYmVjYXVzZSBzaW5ndWxhclxuICAgICAgLy8gIGBzZWxlY3RgIGVsZW1lbnRzIGF1dG9tYXRpY2FsbHkgcGljayB0aGUgZmlyc3QgaXRlbSAjMTMyMjJcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIHNldCB0aGUgZmlyc3QgaXRlbSBhcyBzZWxlY3RlZCBkZXNwaXRlIHRoZSBgc2l6ZWAgYXR0cmlidXRlICMxNDIzOVxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTMyMjJcbiAgICAgIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE0MjM5XG5cbiAgICAgIGlmICh0eXBlID09PSAnc2VsZWN0Jykge1xuICAgICAgICB2YXIgbm9kZSA9IGRvbUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHByb3BzLm11bHRpcGxlKSB7XG4gICAgICAgICAgbm9kZS5tdWx0aXBsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMuc2l6ZSkge1xuICAgICAgICAgIC8vIFNldHRpbmcgYSBzaXplIGdyZWF0ZXIgdGhhbiAxIGNhdXNlcyBhIHNlbGVjdCB0byBiZWhhdmUgbGlrZSBgbXVsdGlwbGU9dHJ1ZWAsIHdoZXJlXG4gICAgICAgICAgLy8gaXQgaXMgcG9zc2libGUgdGhhdCBubyBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gYSBzZWxlY3QgaW4gXCJzaW5nbGUgc2VsZWN0aW9uIG1vZGVcIi5cbiAgICAgICAgICBub2RlLnNpemUgPSBwcm9wcy5zaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRvbUVsZW1lbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuYW1lc3BhY2VVUkksIHR5cGUpO1xuICB9XG5cbiAge1xuICAgIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAgICBpZiAoIWlzQ3VzdG9tQ29tcG9uZW50VGFnICYmIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkb21FbGVtZW50KSA9PT0gJ1tvYmplY3QgSFRNTFVua25vd25FbGVtZW50XScgJiYgIWhhc093blByb3BlcnR5LmNhbGwod2FybmVkVW5rbm93blRhZ3MsIHR5cGUpKSB7XG4gICAgICAgIHdhcm5lZFVua25vd25UYWdzW3R5cGVdID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignVGhlIHRhZyA8JXM+IGlzIHVucmVjb2duaXplZCBpbiB0aGlzIGJyb3dzZXIuICcgKyAnSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIFJlYWN0IGNvbXBvbmVudCwgc3RhcnQgaXRzIG5hbWUgd2l0aCAnICsgJ2FuIHVwcGVyY2FzZSBsZXR0ZXIuJywgdHlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XG59XG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSh0ZXh0LCByb290Q29udGFpbmVyRWxlbWVudCkge1xuICByZXR1cm4gZ2V0T3duZXJEb2N1bWVudEZyb21Sb290Q29udGFpbmVyKHJvb3RDb250YWluZXJFbGVtZW50KS5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcbn1cbmZ1bmN0aW9uIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHRhZywgcmF3UHJvcHMsIHJvb3RDb250YWluZXJFbGVtZW50KSB7XG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xuXG4gIHtcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50KHRhZywgcmF3UHJvcHMpO1xuICB9IC8vIFRPRE86IE1ha2Ugc3VyZSB0aGF0IHdlIGNoZWNrIGlzTW91bnRlZCBiZWZvcmUgZmlyaW5nIGFueSBvZiB0aGVzZSBldmVudHMuXG5cblxuICB2YXIgcHJvcHM7XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdkaWFsb2cnOlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnY2FuY2VsJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdjbG9zZScsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaWZyYW1lJzpcbiAgICBjYXNlICdvYmplY3QnOlxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBsb2FkIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndmlkZW8nOlxuICAgIGNhc2UgJ2F1ZGlvJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGVzZSBldmVudHMgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgYWxsIHRoZSBtZWRpYSBldmVudHMuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lZGlhRXZlbnRUeXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KG1lZGlhRXZlbnRUeXBlc1tpXSwgZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3NvdXJjZSc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgZXJyb3IgZXZlbnQuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdlcnJvcicsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdpbWFnZSc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhlc2UgZXZlbnRzIGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIGVycm9yIGFuZCBsb2FkIGV2ZW50cy5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdsb2FkJywgZG9tRWxlbWVudCk7XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkZXRhaWxzJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSB0b2dnbGUgZXZlbnQuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCd0b2dnbGUnLCBkb21FbGVtZW50KTtcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpOyAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgdmFsaWRhdGVQcm9wcyhkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcbiAgICAgIHByb3BzID0gZ2V0SG9zdFByb3BzJDEoZG9tRWxlbWVudCwgcmF3UHJvcHMpOyAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlJDIoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCByYXdQcm9wcyk7IC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBpbnZhbGlkIGV2ZW50LlxuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdpbnZhbGlkJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKTtcbiAgc2V0SW5pdGlhbERPTVByb3BlcnRpZXModGFnLCBkb21FbGVtZW50LCByb290Q29udGFpbmVyRWxlbWVudCwgcHJvcHMsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXG4gICAgICB0cmFjayhkb21FbGVtZW50KTtcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIoZG9tRWxlbWVudCwgcmF3UHJvcHMsIGZhbHNlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgcG9zdE1vdW50V3JhcHBlciQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAodHlwZW9mIHByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG59IC8vIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuIHRoZSB0d28gb2JqZWN0cy5cblxuZnVuY3Rpb24gZGlmZlByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcywgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcbiAge1xuICAgIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQodGFnLCBuZXh0UmF3UHJvcHMpO1xuICB9XG5cbiAgdmFyIHVwZGF0ZVBheWxvYWQgPSBudWxsO1xuICB2YXIgbGFzdFByb3BzO1xuICB2YXIgbmV4dFByb3BzO1xuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgICAgbGFzdFByb3BzID0gZ2V0SG9zdFByb3BzKGRvbUVsZW1lbnQsIGxhc3RSYXdQcm9wcyk7XG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIGxhc3RQcm9wcyA9IGdldEhvc3RQcm9wcyQxKGRvbUVsZW1lbnQsIGxhc3RSYXdQcm9wcyk7XG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCBsYXN0UmF3UHJvcHMpO1xuICAgICAgbmV4dFByb3BzID0gZ2V0SG9zdFByb3BzJDIoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGxhc3RQcm9wcyA9IGxhc3RSYXdQcm9wcztcbiAgICAgIG5leHRQcm9wcyA9IG5leHRSYXdQcm9wcztcblxuICAgICAgaWYgKHR5cGVvZiBsYXN0UHJvcHMub25DbGljayAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgbmV4dFByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIG5leHRQcm9wcyk7XG4gIHZhciBwcm9wS2V5O1xuICB2YXIgc3R5bGVOYW1lO1xuICB2YXIgc3R5bGVVcGRhdGVzID0gbnVsbDtcblxuICBmb3IgKHByb3BLZXkgaW4gbGFzdFByb3BzKSB7XG4gICAgaWYgKG5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSB8fCAhbGFzdFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IGxhc3RQcm9wc1twcm9wS2V5XSA9PSBudWxsKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHZhciBsYXN0U3R5bGUgPSBsYXN0UHJvcHNbcHJvcEtleV07XG5cbiAgICAgIGZvciAoc3R5bGVOYW1lIGluIGxhc3RTdHlsZSkge1xuICAgICAgICBpZiAobGFzdFN0eWxlLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xuICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3R5bGVVcGRhdGVzW3N0eWxlTmFtZV0gPSAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwgfHwgcHJvcEtleSA9PT0gQ0hJTERSRU4pIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HKSA7IGVsc2UgaWYgKHByb3BLZXkgPT09IEFVVE9GT0NVUykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlLiBJZiBhbnkgbGlzdGVuZXIgdXBkYXRlcyB3ZSBuZWVkIHRvIGVuc3VyZVxuICAgICAgLy8gdGhhdCB0aGUgXCJjdXJyZW50XCIgZmliZXIgcG9pbnRlciBnZXRzIHVwZGF0ZWQgc28gd2UgbmVlZCBhIGNvbW1pdFxuICAgICAgLy8gdG8gdXBkYXRlIHRoaXMgZWxlbWVudC5cbiAgICAgIGlmICghdXBkYXRlUGF5bG9hZCkge1xuICAgICAgICB1cGRhdGVQYXlsb2FkID0gW107XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBhbGwgb3RoZXIgZGVsZXRlZCBwcm9wZXJ0aWVzIHdlIGFkZCBpdCB0byB0aGUgcXVldWUuIFdlIHVzZVxuICAgICAgLy8gdGhlIGFsbG93ZWQgcHJvcGVydHkgbGlzdCBpbiB0aGUgY29tbWl0IHBoYXNlIGluc3RlYWQuXG4gICAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2gocHJvcEtleSwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChwcm9wS2V5IGluIG5leHRQcm9wcykge1xuICAgIHZhciBuZXh0UHJvcCA9IG5leHRQcm9wc1twcm9wS2V5XTtcbiAgICB2YXIgbGFzdFByb3AgPSBsYXN0UHJvcHMgIT0gbnVsbCA/IGxhc3RQcm9wc1twcm9wS2V5XSA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IG5leHRQcm9wID09PSBsYXN0UHJvcCB8fCBuZXh0UHJvcCA9PSBudWxsICYmIGxhc3RQcm9wID09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAge1xuICAgICAgICBpZiAobmV4dFByb3ApIHtcbiAgICAgICAgICAvLyBGcmVlemUgdGhlIG5leHQgc3R5bGUgb2JqZWN0IHNvIHRoYXQgd2UgY2FuIGFzc3VtZSBpdCB3b24ndCBiZVxuICAgICAgICAgIC8vIG11dGF0ZWQuIFdlIGhhdmUgYWxyZWFkeSB3YXJuZWQgZm9yIHRoaXMgaW4gdGhlIHBhc3QuXG4gICAgICAgICAgT2JqZWN0LmZyZWV6ZShuZXh0UHJvcCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGxhc3RQcm9wKSB7XG4gICAgICAgIC8vIFVuc2V0IHN0eWxlcyBvbiBgbGFzdFByb3BgIGJ1dCBub3Qgb24gYG5leHRQcm9wYC5cbiAgICAgICAgZm9yIChzdHlsZU5hbWUgaW4gbGFzdFByb3ApIHtcbiAgICAgICAgICBpZiAobGFzdFByb3AuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSAmJiAoIW5leHRQcm9wIHx8ICFuZXh0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpKSkge1xuICAgICAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcbiAgICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0eWxlVXBkYXRlc1tzdHlsZU5hbWVdID0gJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIFVwZGF0ZSBzdHlsZXMgdGhhdCBjaGFuZ2VkIHNpbmNlIGBsYXN0UHJvcGAuXG5cblxuICAgICAgICBmb3IgKHN0eWxlTmFtZSBpbiBuZXh0UHJvcCkge1xuICAgICAgICAgIGlmIChuZXh0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpICYmIGxhc3RQcm9wW3N0eWxlTmFtZV0gIT09IG5leHRQcm9wW3N0eWxlTmFtZV0pIHtcbiAgICAgICAgICAgIGlmICghc3R5bGVVcGRhdGVzKSB7XG4gICAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHlsZVVwZGF0ZXNbc3R5bGVOYW1lXSA9IG5leHRQcm9wW3N0eWxlTmFtZV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZWxpZXMgb24gYHVwZGF0ZVN0eWxlc0J5SURgIG5vdCBtdXRhdGluZyBgc3R5bGVVcGRhdGVzYC5cbiAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcbiAgICAgICAgICBpZiAoIXVwZGF0ZVBheWxvYWQpIHtcbiAgICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVQYXlsb2FkLnB1c2gocHJvcEtleSwgc3R5bGVVcGRhdGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlVXBkYXRlcyA9IG5leHRQcm9wO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcbiAgICAgIHZhciBuZXh0SHRtbCA9IG5leHRQcm9wID8gbmV4dFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcbiAgICAgIHZhciBsYXN0SHRtbCA9IGxhc3RQcm9wID8gbGFzdFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKG5leHRIdG1sICE9IG51bGwpIHtcbiAgICAgICAgaWYgKGxhc3RIdG1sICE9PSBuZXh0SHRtbCkge1xuICAgICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBuZXh0SHRtbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICBpZiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XG4gICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCAnJyArIG5leHRQcm9wKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyB8fCBwcm9wS2V5ID09PSBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBpZiAobmV4dFByb3AgIT0gbnVsbCkge1xuICAgICAgICAvLyBXZSBlYWdlcmx5IGxpc3RlbiB0byB0aGlzIGV2ZW4gdGhvdWdoIHdlIGhhdmVuJ3QgY29tbWl0dGVkIHlldC5cbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BLZXkgPT09ICdvblNjcm9sbCcpIHtcbiAgICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdzY3JvbGwnLCBkb21FbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXVwZGF0ZVBheWxvYWQgJiYgbGFzdFByb3AgIT09IG5leHRQcm9wKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2UuIElmIGFueSBsaXN0ZW5lciB1cGRhdGVzIHdlIG5lZWQgdG8gZW5zdXJlXG4gICAgICAgIC8vIHRoYXQgdGhlIFwiY3VycmVudFwiIHByb3BzIHBvaW50ZXIgZ2V0cyB1cGRhdGVkIHNvIHdlIG5lZWQgYSBjb21taXRcbiAgICAgICAgLy8gdG8gdXBkYXRlIHRoaXMgZWxlbWVudC5cbiAgICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGb3IgYW55IG90aGVyIHByb3BlcnR5IHdlIGFsd2F5cyBhZGQgaXQgdG8gdGhlIHF1ZXVlIGFuZCB0aGVuIHdlXG4gICAgICAvLyBmaWx0ZXIgaXQgb3V0IHVzaW5nIHRoZSBhbGxvd2VkIHByb3BlcnR5IGxpc3QgZHVyaW5nIHRoZSBjb21taXQuXG4gICAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2gocHJvcEtleSwgbmV4dFByb3ApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzdHlsZVVwZGF0ZXMpIHtcbiAgICB7XG4gICAgICB2YWxpZGF0ZVNob3J0aGFuZFByb3BlcnR5Q29sbGlzaW9uSW5EZXYoc3R5bGVVcGRhdGVzLCBuZXh0UHJvcHNbU1RZTEVdKTtcbiAgICB9XG5cbiAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2goU1RZTEUsIHN0eWxlVXBkYXRlcyk7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlUGF5bG9hZDtcbn0gLy8gQXBwbHkgdGhlIGRpZmYuXG5cbmZ1bmN0aW9uIHVwZGF0ZVByb3BlcnRpZXMoZG9tRWxlbWVudCwgdXBkYXRlUGF5bG9hZCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcykge1xuICAvLyBVcGRhdGUgY2hlY2tlZCAqYmVmb3JlKiBuYW1lLlxuICAvLyBJbiB0aGUgbWlkZGxlIG9mIGFuIHVwZGF0ZSwgaXQgaXMgcG9zc2libGUgdG8gaGF2ZSBtdWx0aXBsZSBjaGVja2VkLlxuICAvLyBXaGVuIGEgY2hlY2tlZCByYWRpbyB0cmllcyB0byBjaGFuZ2UgbmFtZSwgYnJvd3NlciBtYWtlcyBhbm90aGVyIHJhZGlvJ3MgY2hlY2tlZCBmYWxzZS5cbiAgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiBuZXh0UmF3UHJvcHMudHlwZSA9PT0gJ3JhZGlvJyAmJiBuZXh0UmF3UHJvcHMubmFtZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlQ2hlY2tlZChkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICB9XG5cbiAgdmFyIHdhc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgbGFzdFJhd1Byb3BzKTtcbiAgdmFyIGlzQ3VzdG9tQ29tcG9uZW50VGFnID0gaXNDdXN0b21Db21wb25lbnQodGFnLCBuZXh0UmF3UHJvcHMpOyAvLyBBcHBseSB0aGUgZGlmZi5cblxuICB1cGRhdGVET01Qcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHdhc0N1c3RvbUNvbXBvbmVudFRhZywgaXNDdXN0b21Db21wb25lbnRUYWcpOyAvLyBUT0RPOiBFbnN1cmUgdGhhdCBhbiB1cGRhdGUgZ2V0cyBzY2hlZHVsZWQgaWYgYW55IG9mIHRoZSBzcGVjaWFsIHByb3BzXG4gIC8vIGNoYW5nZWQuXG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICAvLyBVcGRhdGUgdGhlIHdyYXBwZXIgYXJvdW5kIGlucHV0cyAqYWZ0ZXIqIHVwZGF0aW5nIHByb3BzLiBUaGlzIGhhcyB0b1xuICAgICAgLy8gaGFwcGVuIGFmdGVyIGB1cGRhdGVET01Qcm9wZXJ0aWVzYC4gT3RoZXJ3aXNlIEhUTUw1IGlucHV0IHZhbGlkYXRpb25zXG4gICAgICAvLyByYWlzZSB3YXJuaW5ncyBhbmQgcHJldmVudCB0aGUgbmV3IHZhbHVlIGZyb20gYmVpbmcgYXNzaWduZWQuXG4gICAgICB1cGRhdGVXcmFwcGVyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIHVwZGF0ZVdyYXBwZXIkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgLy8gPHNlbGVjdD4gdmFsdWUgdXBkYXRlIG5lZWRzIHRvIG9jY3VyIGFmdGVyIDxvcHRpb24+IGNoaWxkcmVuXG4gICAgICAvLyByZWNvbmNpbGlhdGlvblxuICAgICAgcG9zdFVwZGF0ZVdyYXBwZXIoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BOYW1lKSB7XG4gIHtcbiAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSBwcm9wTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKCFwb3NzaWJsZVN0YW5kYXJkTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zc2libGVTdGFuZGFyZE5hbWVzW2xvd2VyQ2FzZWROYW1lXSB8fCBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpZmZIeWRyYXRlZFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCByYXdQcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVyRWxlbWVudCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldikge1xuICB2YXIgaXNDdXN0b21Db21wb25lbnRUYWc7XG4gIHZhciBleHRyYUF0dHJpYnV0ZU5hbWVzO1xuXG4gIHtcbiAgICBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xuICAgIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQodGFnLCByYXdQcm9wcyk7XG4gIH0gLy8gVE9ETzogTWFrZSBzdXJlIHRoYXQgd2UgY2hlY2sgaXNNb3VudGVkIGJlZm9yZSBmaXJpbmcgYW55IG9mIHRoZXNlIGV2ZW50cy5cblxuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2NhbmNlbCcsIGRvbUVsZW1lbnQpO1xuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnY2xvc2UnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaWZyYW1lJzpcbiAgICBjYXNlICdvYmplY3QnOlxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBsb2FkIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd2aWRlbyc6XG4gICAgY2FzZSAnYXVkaW8nOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoZXNlIGV2ZW50cyBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciBhbGwgdGhlIG1lZGlhIGV2ZW50cy5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVkaWFFdmVudFR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQobWVkaWFFdmVudFR5cGVzW2ldLCBkb21FbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzb3VyY2UnOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGVycm9yIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnZXJyb3InLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdpbWFnZSc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhlc2UgZXZlbnRzIGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIGVycm9yIGFuZCBsb2FkIGV2ZW50cy5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdsb2FkJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIHRvZ2dsZSBldmVudC5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3RvZ2dsZScsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgIHZhbGlkYXRlUHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQyKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHJhd1Byb3BzKTtcblxuICB7XG4gICAgZXh0cmFBdHRyaWJ1dGVOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICB2YXIgYXR0cmlidXRlcyA9IGRvbUVsZW1lbnQuYXR0cmlidXRlcztcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVzW19pXS5uYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgICAvLyBDb250cm9sbGVkIGF0dHJpYnV0ZXMgYXJlIG5vdCB2YWxpZGF0ZWRcbiAgICAgICAgLy8gVE9ETzogT25seSBpZ25vcmUgdGhlbSBvbiBjb250cm9sbGVkIHRhZ3MuXG4gICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdjaGVja2VkJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdzZWxlY3RlZCc6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IHVzZSB0aGUgb3JpZ2luYWwgbmFtZS5cbiAgICAgICAgICAvLyBTZWUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMDY3Ni5cbiAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmFkZChhdHRyaWJ1dGVzW19pXS5uYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlUGF5bG9hZCA9IG51bGw7XG5cbiAgZm9yICh2YXIgcHJvcEtleSBpbiByYXdQcm9wcykge1xuICAgIGlmICghcmF3UHJvcHMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciBuZXh0UHJvcCA9IHJhd1Byb3BzW3Byb3BLZXldO1xuXG4gICAgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICAvLyBGb3IgdGV4dCBjb250ZW50IGNoaWxkcmVuIHdlIGNvbXBhcmUgYWdhaW5zdCB0ZXh0Q29udGVudC4gVGhpc1xuICAgICAgLy8gbWlnaHQgbWF0Y2ggYWRkaXRpb25hbCBIVE1MIHRoYXQgaXMgaGlkZGVuIHdoZW4gd2UgcmVhZCBpdCB1c2luZ1xuICAgICAgLy8gdGV4dENvbnRlbnQuIEUuZy4gXCJmb29cIiB3aWxsIG1hdGNoIFwiZjxzcGFuPm9vPC9zcGFuPlwiIGJ1dCB0aGF0IHN0aWxsXG4gICAgICAvLyBzYXRpc2ZpZXMgb3VyIHJlcXVpcmVtZW50LiBPdXIgcmVxdWlyZW1lbnQgaXMgbm90IHRvIHByb2R1Y2UgcGVyZmVjdFxuICAgICAgLy8gSFRNTCBhbmQgYXR0cmlidXRlcy4gSWRlYWxseSB3ZSBzaG91bGQgcHJlc2VydmUgc3RydWN0dXJlIGJ1dCBpdCdzXG4gICAgICAvLyBvayBub3QgdG8gaWYgdGhlIHZpc2libGUgY29udGVudCBpcyBzdGlsbCBlbm91Z2ggdG8gaW5kaWNhdGUgd2hhdFxuICAgICAgLy8gZXZlbiBsaXN0ZW5lcnMgdGhlc2Ugbm9kZXMgbWlnaHQgYmUgd2lyZWQgdXAgdG8uXG4gICAgICAvLyBUT0RPOiBXYXJuIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBhIHNpbmdsZSB0ZXh0Tm9kZSBhcyBhIGNoaWxkLlxuICAgICAgLy8gVE9ETzogU2hvdWxkIHdlIHVzZSBkb21FbGVtZW50LmZpcnN0Q2hpbGQubm9kZVZhbHVlIHRvIGNvbXBhcmU/XG4gICAgICBpZiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoZG9tRWxlbWVudC50ZXh0Q29udGVudCAhPT0gbmV4dFByb3ApIHtcbiAgICAgICAgICBpZiAocmF3UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkddICE9PSB0cnVlKSB7XG4gICAgICAgICAgICBjaGVja0ZvclVubWF0Y2hlZFRleHQoZG9tRWxlbWVudC50ZXh0Q29udGVudCwgbmV4dFByb3AsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbQ0hJTERSRU4sIG5leHRQcm9wXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGlmIChkb21FbGVtZW50LnRleHRDb250ZW50ICE9PSAnJyArIG5leHRQcm9wKSB7XG4gICAgICAgICAgaWYgKHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY2hlY2tGb3JVbm1hdGNoZWRUZXh0KGRvbUVsZW1lbnQudGV4dENvbnRlbnQsIG5leHRQcm9wLCBpc0NvbmN1cnJlbnRNb2RlLCBzaG91bGRXYXJuRGV2KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVQYXlsb2FkID0gW0NISUxEUkVOLCAnJyArIG5leHRQcm9wXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVnaXN0cmF0aW9uTmFtZURlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSkge1xuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BLZXkgPT09ICdvblNjcm9sbCcpIHtcbiAgICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdzY3JvbGwnLCBkb21FbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc2hvdWxkV2FybkRldiAmJiB0cnVlICYmIC8vIENvbnZpbmNlIEZsb3cgd2UndmUgY2FsY3VsYXRlZCBpdCAoaXQncyBERVYtb25seSBpbiB0aGlzIG1ldGhvZC4pXG4gICAgdHlwZW9mIGlzQ3VzdG9tQ29tcG9uZW50VGFnID09PSAnYm9vbGVhbicpIHtcbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIHByb3BlcnRpZXMgY29ycmVzcG9uZCB0byB0aGVpciBleHBlY3RlZCB2YWx1ZXMuXG4gICAgICB2YXIgc2VydmVyVmFsdWUgPSB2b2lkIDA7XG4gICAgICB2YXIgcHJvcGVydHlJbmZvID0gaXNDdXN0b21Db21wb25lbnRUYWcgJiYgZW5hYmxlQ3VzdG9tRWxlbWVudFByb3BlcnR5U3VwcG9ydCA/IG51bGwgOiBnZXRQcm9wZXJ0eUluZm8ocHJvcEtleSk7XG5cbiAgICAgIGlmIChyYXdQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklOR10gPT09IHRydWUpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HIHx8IC8vIENvbnRyb2xsZWQgYXR0cmlidXRlcyBhcmUgbm90IHZhbGlkYXRlZFxuICAgICAgLy8gVE9ETzogT25seSBpZ25vcmUgdGhlbSBvbiBjb250cm9sbGVkIHRhZ3MuXG4gICAgICBwcm9wS2V5ID09PSAndmFsdWUnIHx8IHByb3BLZXkgPT09ICdjaGVja2VkJyB8fCBwcm9wS2V5ID09PSAnc2VsZWN0ZWQnKSA7IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICAgIHZhciBzZXJ2ZXJIVE1MID0gZG9tRWxlbWVudC5pbm5lckhUTUw7XG4gICAgICAgIHZhciBuZXh0SHRtbCA9IG5leHRQcm9wID8gbmV4dFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAobmV4dEh0bWwgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBleHBlY3RlZEhUTUwgPSBub3JtYWxpemVIVE1MKGRvbUVsZW1lbnQsIG5leHRIdG1sKTtcblxuICAgICAgICAgIGlmIChleHBlY3RlZEhUTUwgIT09IHNlcnZlckhUTUwpIHtcbiAgICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJIVE1MLCBleHBlY3RlZEhUTUwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHByb3BLZXkpO1xuXG4gICAgICAgIGlmIChjYW5EaWZmU3R5bGVGb3JIeWRyYXRpb25XYXJuaW5nKSB7XG4gICAgICAgICAgdmFyIGV4cGVjdGVkU3R5bGUgPSBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMobmV4dFByb3ApO1xuICAgICAgICAgIHNlcnZlclZhbHVlID0gZG9tRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7XG5cbiAgICAgICAgICBpZiAoZXhwZWN0ZWRTdHlsZSAhPT0gc2VydmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgZXhwZWN0ZWRTdHlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnICYmICFlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0KSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cbiAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcEtleS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgc2VydmVyVmFsdWUgPSBnZXRWYWx1ZUZvckF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCk7XG5cbiAgICAgICAgaWYgKG5leHRQcm9wICE9PSBzZXJ2ZXJWYWx1ZSkge1xuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRJZ25vcmVBdHRyaWJ1dGUocHJvcEtleSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykgJiYgIXNob3VsZFJlbW92ZUF0dHJpYnV0ZShwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICAgICAgdmFyIGlzTWlzbWF0Y2hEdWVUb0JhZENhc2luZyA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwpIHtcbiAgICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWUpO1xuICAgICAgICAgIHNlcnZlclZhbHVlID0gZ2V0VmFsdWVGb3JQcm9wZXJ0eShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gcGFyZW50TmFtZXNwYWNlO1xuXG4gICAgICAgICAgaWYgKG93bk5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcbiAgICAgICAgICAgIG93bk5hbWVzcGFjZSA9IGdldEludHJpbnNpY05hbWVzcGFjZSh0YWcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChvd25OYW1lc3BhY2UgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAgICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgc3RhbmRhcmROYW1lID0gZ2V0UG9zc2libGVTdGFuZGFyZE5hbWUocHJvcEtleSk7XG5cbiAgICAgICAgICAgIGlmIChzdGFuZGFyZE5hbWUgIT09IG51bGwgJiYgc3RhbmRhcmROYW1lICE9PSBwcm9wS2V5KSB7XG4gICAgICAgICAgICAgIC8vIElmIGFuIFNWRyBwcm9wIGlzIHN1cHBsaWVkIHdpdGggYmFkIGNhc2luZywgaXQgd2lsbFxuICAgICAgICAgICAgICAvLyBiZSBzdWNjZXNzZnVsbHkgcGFyc2VkIGZyb20gSFRNTCwgYnV0IHdpbGwgcHJvZHVjZSBhIG1pc21hdGNoXG4gICAgICAgICAgICAgIC8vIChhbmQgd291bGQgYmUgaW5jb3JyZWN0bHkgcmVuZGVyZWQgb24gdGhlIGNsaWVudCkuXG4gICAgICAgICAgICAgIC8vIEhvd2V2ZXIsIHdlIGFscmVhZHkgd2FybiBhYm91dCBiYWQgY2FzaW5nIGVsc2V3aGVyZS5cbiAgICAgICAgICAgICAgLy8gU28gd2UnbGwgc2tpcCB0aGUgbWlzbGVhZGluZyBleHRyYSBtaXNtYXRjaCB3YXJuaW5nIGluIHRoaXMgY2FzZS5cbiAgICAgICAgICAgICAgaXNNaXNtYXRjaER1ZVRvQmFkQ2FzaW5nID0gdHJ1ZTsgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxuXG4gICAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHN0YW5kYXJkTmFtZSk7XG4gICAgICAgICAgICB9IC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cblxuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGdldFZhbHVlRm9yQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkb250V2FybkN1c3RvbUVsZW1lbnQgPSBlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0ICA7XG5cbiAgICAgICAgaWYgKCFkb250V2FybkN1c3RvbUVsZW1lbnQgJiYgbmV4dFByb3AgIT09IHNlcnZlclZhbHVlICYmICFpc01pc21hdGNoRHVlVG9CYWRDYXNpbmcpIHtcbiAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIG5leHRQcm9wKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBpZiAoc2hvdWxkV2FybkRldikge1xuICAgICAgaWYgKCAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLnNpemUgPiAwICYmIHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXMoZXh0cmFBdHRyaWJ1dGVOYW1lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICAvLyBUT0RPOiBNYWtlIHN1cmUgd2UgY2hlY2sgaWYgdGhpcyBpcyBzdGlsbCB1bm1vdW50ZWQgb3IgZG8gYW55IGNsZWFuXG4gICAgICAvLyB1cCBuZWNlc3Nhcnkgc2luY2Ugd2UgbmV2ZXIgc3RvcCB0cmFja2luZyBhbnltb3JlLlxuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XG4gICAgICBwb3N0TW91bnRXcmFwcGVyKGRvbUVsZW1lbnQsIHJhd1Byb3BzLCB0cnVlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICAvLyBGb3IgaW5wdXQgYW5kIHRleHRhcmVhIHdlIGN1cnJlbnQgYWx3YXlzIHNldCB0aGUgdmFsdWUgcHJvcGVydHkgYXRcbiAgICAgIC8vIHBvc3QgbW91bnQgdG8gZm9yY2UgaXQgdG8gZGl2ZXJnZSBmcm9tIGF0dHJpYnV0ZXMuIEhvd2V2ZXIsIGZvclxuICAgICAgLy8gb3B0aW9uIGFuZCBzZWxlY3Qgd2UgZG9uJ3QgcXVpdGUgZG8gdGhlIHNhbWUgdGhpbmcgYW5kIHNlbGVjdFxuICAgICAgLy8gaXMgbm90IHJlc2lsaWVudCB0byB0aGUgRE9NIHN0YXRlIGNoYW5naW5nIHNvIHdlIGRvbid0IGRvIHRoYXQgaGVyZS5cbiAgICAgIC8vIFRPRE86IENvbnNpZGVyIG5vdCBkb2luZyB0aGlzIGZvciBpbnB1dCBhbmQgdGV4dGFyZWEuXG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAodHlwZW9mIHJhd1Byb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZVBheWxvYWQ7XG59XG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRUZXh0KHRleHROb2RlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHZhciBpc0RpZmZlcmVudCA9IHRleHROb2RlLm5vZGVWYWx1ZSAhPT0gdGV4dDtcbiAgcmV0dXJuIGlzRGlmZmVyZW50O1xufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gYSA8JXM+IGluIDwlcz4uJywgY2hpbGQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwgcGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gdGhlIHRleHQgbm9kZSBcIiVzXCIgaW4gPCVzPi4nLCBjaGlsZC5ub2RlVmFsdWUsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0YWcsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIDwlcz4gaW4gPCVzPi4nLCB0YWcsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KSB7XG4gIHtcbiAgICBpZiAodGV4dCA9PT0gJycpIHtcbiAgICAgIC8vIFdlIGV4cGVjdCB0byBpbnNlcnQgZW1wdHkgdGV4dCBub2RlcyBzaW5jZSB0aGV5J3JlIG5vdCByZXByZXNlbnRlZCBpblxuICAgICAgLy8gdGhlIEhUTUwuXG4gICAgICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgaWYgd2UgY2FuIGp1c3QgYXZvaWQgaW5zZXJ0aW5nIGVtcHR5XG4gICAgICAvLyB0ZXh0IG5vZGVzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcblxuICAgIGVycm9yKCdFeHBlY3RlZCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgbWF0Y2hpbmcgdGV4dCBub2RlIGZvciBcIiVzXCIgaW4gPCVzPi4nLCB0ZXh0LCBwYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMoZG9tRWxlbWVudCwgdGFnLCBwcm9wcykge1xuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIHJlc3RvcmVDb250cm9sbGVkU3RhdGUoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQyKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDEoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuICB9XG59XG5cbnZhciB2YWxpZGF0ZURPTU5lc3RpbmcgPSBmdW5jdGlvbiAoKSB7fTtcblxudmFyIHVwZGF0ZWRBbmNlc3RvckluZm8gPSBmdW5jdGlvbiAoKSB7fTtcblxue1xuICAvLyBUaGlzIHZhbGlkYXRpb24gY29kZSB3YXMgd3JpdHRlbiBiYXNlZCBvbiB0aGUgSFRNTDUgcGFyc2luZyBzcGVjOlxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNoYXMtYW4tZWxlbWVudC1pbi1zY29wZVxuICAvL1xuICAvLyBOb3RlOiB0aGlzIGRvZXMgbm90IGNhdGNoIGFsbCBpbnZhbGlkIG5lc3RpbmcsIG5vciBkb2VzIGl0IHRyeSB0byAoYXMgaXQnc1xuICAvLyBub3QgY2xlYXIgd2hhdCBwcmFjdGljYWwgYmVuZWZpdCBkb2luZyBzbyBwcm92aWRlcyk7IGluc3RlYWQsIHdlIHdhcm4gb25seVxuICAvLyBmb3IgY2FzZXMgd2hlcmUgdGhlIHBhcnNlciB3aWxsIGdpdmUgYSBwYXJzZSB0cmVlIGRpZmZlcmluZyBmcm9tIHdoYXQgUmVhY3RcbiAgLy8gaW50ZW5kZWQuIEZvciBleGFtcGxlLCA8Yj48ZGl2PjwvZGl2PjwvYj4gaXMgaW52YWxpZCBidXQgd2UgZG9uJ3Qgd2FyblxuICAvLyBiZWNhdXNlIGl0IHN0aWxsIHBhcnNlcyBjb3JyZWN0bHk7IHdlIGRvIHdhcm4gZm9yIG90aGVyIGNhc2VzIGxpa2UgbmVzdGVkXG4gIC8vIDxwPiB0YWdzIHdoZXJlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlY29uZCBlbGVtZW50IGltcGxpY2l0bHkgY2xvc2VzIHRoZVxuICAvLyBmaXJzdCwgY2F1c2luZyBhIGNvbmZ1c2luZyBtZXNzLlxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNzcGVjaWFsXG4gIHZhciBzcGVjaWFsVGFncyA9IFsnYWRkcmVzcycsICdhcHBsZXQnLCAnYXJlYScsICdhcnRpY2xlJywgJ2FzaWRlJywgJ2Jhc2UnLCAnYmFzZWZvbnQnLCAnYmdzb3VuZCcsICdibG9ja3F1b3RlJywgJ2JvZHknLCAnYnInLCAnYnV0dG9uJywgJ2NhcHRpb24nLCAnY2VudGVyJywgJ2NvbCcsICdjb2xncm91cCcsICdkZCcsICdkZXRhaWxzJywgJ2RpcicsICdkaXYnLCAnZGwnLCAnZHQnLCAnZW1iZWQnLCAnZmllbGRzZXQnLCAnZmlnY2FwdGlvbicsICdmaWd1cmUnLCAnZm9vdGVyJywgJ2Zvcm0nLCAnZnJhbWUnLCAnZnJhbWVzZXQnLCAnaDEnLCAnaDInLCAnaDMnLCAnaDQnLCAnaDUnLCAnaDYnLCAnaGVhZCcsICdoZWFkZXInLCAnaGdyb3VwJywgJ2hyJywgJ2h0bWwnLCAnaWZyYW1lJywgJ2ltZycsICdpbnB1dCcsICdpc2luZGV4JywgJ2xpJywgJ2xpbmsnLCAnbGlzdGluZycsICdtYWluJywgJ21hcnF1ZWUnLCAnbWVudScsICdtZW51aXRlbScsICdtZXRhJywgJ25hdicsICdub2VtYmVkJywgJ25vZnJhbWVzJywgJ25vc2NyaXB0JywgJ29iamVjdCcsICdvbCcsICdwJywgJ3BhcmFtJywgJ3BsYWludGV4dCcsICdwcmUnLCAnc2NyaXB0JywgJ3NlY3Rpb24nLCAnc2VsZWN0JywgJ3NvdXJjZScsICdzdHlsZScsICdzdW1tYXJ5JywgJ3RhYmxlJywgJ3Rib2R5JywgJ3RkJywgJ3RlbXBsYXRlJywgJ3RleHRhcmVhJywgJ3Rmb290JywgJ3RoJywgJ3RoZWFkJywgJ3RpdGxlJywgJ3RyJywgJ3RyYWNrJywgJ3VsJywgJ3dicicsICd4bXAnXTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tc2NvcGVcblxuICB2YXIgaW5TY29wZVRhZ3MgPSBbJ2FwcGxldCcsICdjYXB0aW9uJywgJ2h0bWwnLCAndGFibGUnLCAndGQnLCAndGgnLCAnbWFycXVlZScsICdvYmplY3QnLCAndGVtcGxhdGUnLCAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNodG1sLWludGVncmF0aW9uLXBvaW50XG4gIC8vIFRPRE86IERpc3Rpbmd1aXNoIGJ5IG5hbWVzcGFjZSBoZXJlIC0tIGZvciA8dGl0bGU+LCBpbmNsdWRpbmcgaXQgaGVyZVxuICAvLyBlcnJzIG9uIHRoZSBzaWRlIG9mIGZld2VyIHdhcm5pbmdzXG4gICdmb3JlaWduT2JqZWN0JywgJ2Rlc2MnLCAndGl0bGUnXTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tYnV0dG9uLXNjb3BlXG5cbiAgdmFyIGJ1dHRvblNjb3BlVGFncyA9IGluU2NvcGVUYWdzLmNvbmNhdChbJ2J1dHRvbiddKTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjZ2VuZXJhdGUtaW1wbGllZC1lbmQtdGFnc1xuXG4gIHZhciBpbXBsaWVkRW5kVGFncyA9IFsnZGQnLCAnZHQnLCAnbGknLCAnb3B0aW9uJywgJ29wdGdyb3VwJywgJ3AnLCAncnAnLCAncnQnXTtcbiAgdmFyIGVtcHR5QW5jZXN0b3JJbmZvID0ge1xuICAgIGN1cnJlbnQ6IG51bGwsXG4gICAgZm9ybVRhZzogbnVsbCxcbiAgICBhVGFnSW5TY29wZTogbnVsbCxcbiAgICBidXR0b25UYWdJblNjb3BlOiBudWxsLFxuICAgIG5vYnJUYWdJblNjb3BlOiBudWxsLFxuICAgIHBUYWdJbkJ1dHRvblNjb3BlOiBudWxsLFxuICAgIGxpc3RJdGVtVGFnQXV0b2Nsb3Npbmc6IG51bGwsXG4gICAgZGxJdGVtVGFnQXV0b2Nsb3Npbmc6IG51bGxcbiAgfTtcblxuICB1cGRhdGVkQW5jZXN0b3JJbmZvID0gZnVuY3Rpb24gKG9sZEluZm8sIHRhZykge1xuICAgIHZhciBhbmNlc3RvckluZm8gPSBhc3NpZ24oe30sIG9sZEluZm8gfHwgZW1wdHlBbmNlc3RvckluZm8pO1xuXG4gICAgdmFyIGluZm8gPSB7XG4gICAgICB0YWc6IHRhZ1xuICAgIH07XG5cbiAgICBpZiAoaW5TY29wZVRhZ3MuaW5kZXhPZih0YWcpICE9PSAtMSkge1xuICAgICAgYW5jZXN0b3JJbmZvLmFUYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5ub2JyVGFnSW5TY29wZSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGJ1dHRvblNjb3BlVGFncy5pbmRleE9mKHRhZykgIT09IC0xKSB7XG4gICAgICBhbmNlc3RvckluZm8ucFRhZ0luQnV0dG9uU2NvcGUgPSBudWxsO1xuICAgIH0gLy8gU2VlIHJ1bGVzIGZvciAnbGknLCAnZGQnLCAnZHQnIHN0YXJ0IHRhZ3MgaW5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5XG5cblxuICAgIGlmIChzcGVjaWFsVGFncy5pbmRleE9mKHRhZykgIT09IC0xICYmIHRhZyAhPT0gJ2FkZHJlc3MnICYmIHRhZyAhPT0gJ2RpdicgJiYgdGFnICE9PSAncCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IG51bGw7XG4gICAgfVxuXG4gICAgYW5jZXN0b3JJbmZvLmN1cnJlbnQgPSBpbmZvO1xuXG4gICAgaWYgKHRhZyA9PT0gJ2Zvcm0nKSB7XG4gICAgICBhbmNlc3RvckluZm8uZm9ybVRhZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2EnKSB7XG4gICAgICBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdidXR0b24nKSB7XG4gICAgICBhbmNlc3RvckluZm8uYnV0dG9uVGFnSW5TY29wZSA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ25vYnInKSB7XG4gICAgICBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdwJykge1xuICAgICAgYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlID0gaW5mbztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSAnbGknKSB7XG4gICAgICBhbmNlc3RvckluZm8ubGlzdEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2RkJyB8fCB0YWcgPT09ICdkdCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgcmV0dXJuIGFuY2VzdG9ySW5mbztcbiAgfTtcbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlclxuICAgKi9cblxuXG4gIHZhciBpc1RhZ1ZhbGlkV2l0aFBhcmVudCA9IGZ1bmN0aW9uICh0YWcsIHBhcmVudFRhZykge1xuICAgIC8vIEZpcnN0LCBsZXQncyBjaGVjayBpZiB3ZSdyZSBpbiBhbiB1bnVzdWFsIHBhcnNpbmcgbW9kZS4uLlxuICAgIHN3aXRjaCAocGFyZW50VGFnKSB7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5zZWxlY3RcbiAgICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdvcHRpb24nIHx8IHRhZyA9PT0gJ29wdGdyb3VwJyB8fCB0YWcgPT09ICcjdGV4dCc7XG5cbiAgICAgIGNhc2UgJ29wdGdyb3VwJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ29wdGlvbicgfHwgdGFnID09PSAnI3RleHQnO1xuICAgICAgLy8gU3RyaWN0bHkgc3BlYWtpbmcsIHNlZWluZyBhbiA8b3B0aW9uPiBkb2Vzbid0IG1lYW4gd2UncmUgaW4gYSA8c2VsZWN0PlxuICAgICAgLy8gYnV0XG5cbiAgICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICcjdGV4dCc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50ZFxuICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluY2FwdGlvblxuICAgICAgLy8gTm8gc3BlY2lhbCBiZWhhdmlvciBzaW5jZSB0aGVzZSBydWxlcyBmYWxsIGJhY2sgdG8gXCJpbiBib2R5XCIgbW9kZSBmb3JcbiAgICAgIC8vIGFsbCBleGNlcHQgc3BlY2lhbCB0YWJsZSBub2RlcyB3aGljaCBjYXVzZSBiYWQgcGFyc2luZyBiZWhhdmlvciBhbnl3YXkuXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50clxuXG4gICAgICBjYXNlICd0cic6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICd0aCcgfHwgdGFnID09PSAndGQnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRib2R5XG5cbiAgICAgIGNhc2UgJ3Rib2R5JzpcbiAgICAgIGNhc2UgJ3RoZWFkJzpcbiAgICAgIGNhc2UgJ3Rmb290JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ3RyJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5jb2xncm91cFxuXG4gICAgICBjYXNlICdjb2xncm91cCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdjb2wnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRhYmxlXG5cbiAgICAgIGNhc2UgJ3RhYmxlJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2NhcHRpb24nIHx8IHRhZyA9PT0gJ2NvbGdyb3VwJyB8fCB0YWcgPT09ICd0Ym9keScgfHwgdGFnID09PSAndGZvb3QnIHx8IHRhZyA9PT0gJ3RoZWFkJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5oZWFkXG5cbiAgICAgIGNhc2UgJ2hlYWQnOlxuICAgICAgICByZXR1cm4gdGFnID09PSAnYmFzZScgfHwgdGFnID09PSAnYmFzZWZvbnQnIHx8IHRhZyA9PT0gJ2Jnc291bmQnIHx8IHRhZyA9PT0gJ2xpbmsnIHx8IHRhZyA9PT0gJ21ldGEnIHx8IHRhZyA9PT0gJ3RpdGxlJyB8fCB0YWcgPT09ICdub3NjcmlwdCcgfHwgdGFnID09PSAnbm9mcmFtZXMnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1odG1sLWVsZW1lbnRcblxuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdoZWFkJyB8fCB0YWcgPT09ICdib2R5JyB8fCB0YWcgPT09ICdmcmFtZXNldCc7XG5cbiAgICAgIGNhc2UgJ2ZyYW1lc2V0JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2ZyYW1lJztcblxuICAgICAgY2FzZSAnI2RvY3VtZW50JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2h0bWwnO1xuICAgIH0gLy8gUHJvYmFibHkgaW4gdGhlIFwiaW4gYm9keVwiIHBhcnNpbmcgbW9kZSwgc28gd2Ugb3V0bGF3IG9ubHkgdGFnIGNvbWJvc1xuICAgIC8vIHdoZXJlIHRoZSBwYXJzaW5nIHJ1bGVzIGNhdXNlIGltcGxpY2l0IG9wZW5zIG9yIGNsb3NlcyB0byBiZSBhZGRlZC5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5XG5cblxuICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICBjYXNlICdoMSc6XG4gICAgICBjYXNlICdoMic6XG4gICAgICBjYXNlICdoMyc6XG4gICAgICBjYXNlICdoNCc6XG4gICAgICBjYXNlICdoNSc6XG4gICAgICBjYXNlICdoNic6XG4gICAgICAgIHJldHVybiBwYXJlbnRUYWcgIT09ICdoMScgJiYgcGFyZW50VGFnICE9PSAnaDInICYmIHBhcmVudFRhZyAhPT0gJ2gzJyAmJiBwYXJlbnRUYWcgIT09ICdoNCcgJiYgcGFyZW50VGFnICE9PSAnaDUnICYmIHBhcmVudFRhZyAhPT0gJ2g2JztcblxuICAgICAgY2FzZSAncnAnOlxuICAgICAgY2FzZSAncnQnOlxuICAgICAgICByZXR1cm4gaW1wbGllZEVuZFRhZ3MuaW5kZXhPZihwYXJlbnRUYWcpID09PSAtMTtcblxuICAgICAgY2FzZSAnYm9keSc6XG4gICAgICBjYXNlICdjYXB0aW9uJzpcbiAgICAgIGNhc2UgJ2NvbCc6XG4gICAgICBjYXNlICdjb2xncm91cCc6XG4gICAgICBjYXNlICdmcmFtZXNldCc6XG4gICAgICBjYXNlICdmcmFtZSc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGNhc2UgJ2h0bWwnOlxuICAgICAgY2FzZSAndGJvZHknOlxuICAgICAgY2FzZSAndGQnOlxuICAgICAgY2FzZSAndGZvb3QnOlxuICAgICAgY2FzZSAndGgnOlxuICAgICAgY2FzZSAndGhlYWQnOlxuICAgICAgY2FzZSAndHInOlxuICAgICAgICAvLyBUaGVzZSB0YWdzIGFyZSBvbmx5IHZhbGlkIHdpdGggYSBmZXcgcGFyZW50cyB0aGF0IGhhdmUgc3BlY2lhbCBjaGlsZFxuICAgICAgICAvLyBwYXJzaW5nIHJ1bGVzIC0tIGlmIHdlJ3JlIGRvd24gaGVyZSwgdGhlbiBub25lIG9mIHRob3NlIG1hdGNoZWQgYW5kXG4gICAgICAgIC8vIHNvIHdlIGFsbG93IGl0IG9ubHkgaWYgd2UgZG9uJ3Qga25vdyB3aGF0IHRoZSBwYXJlbnQgaXMsIGFzIGFsbCBvdGhlclxuICAgICAgICAvLyBjYXNlcyBhcmUgaW52YWxpZC5cbiAgICAgICAgcmV0dXJuIHBhcmVudFRhZyA9PSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyXG4gICAqL1xuXG5cbiAgdmFyIGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcgPSBmdW5jdGlvbiAodGFnLCBhbmNlc3RvckluZm8pIHtcbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSAnYWRkcmVzcyc6XG4gICAgICBjYXNlICdhcnRpY2xlJzpcbiAgICAgIGNhc2UgJ2FzaWRlJzpcbiAgICAgIGNhc2UgJ2Jsb2NrcXVvdGUnOlxuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgIGNhc2UgJ2Rpcic6XG4gICAgICBjYXNlICdkaXYnOlxuICAgICAgY2FzZSAnZGwnOlxuICAgICAgY2FzZSAnZmllbGRzZXQnOlxuICAgICAgY2FzZSAnZmlnY2FwdGlvbic6XG4gICAgICBjYXNlICdmaWd1cmUnOlxuICAgICAgY2FzZSAnZm9vdGVyJzpcbiAgICAgIGNhc2UgJ2hlYWRlcic6XG4gICAgICBjYXNlICdoZ3JvdXAnOlxuICAgICAgY2FzZSAnbWFpbic6XG4gICAgICBjYXNlICdtZW51JzpcbiAgICAgIGNhc2UgJ25hdic6XG4gICAgICBjYXNlICdvbCc6XG4gICAgICBjYXNlICdwJzpcbiAgICAgIGNhc2UgJ3NlY3Rpb24nOlxuICAgICAgY2FzZSAnc3VtbWFyeSc6XG4gICAgICBjYXNlICd1bCc6XG4gICAgICBjYXNlICdwcmUnOlxuICAgICAgY2FzZSAnbGlzdGluZyc6XG4gICAgICBjYXNlICd0YWJsZSc6XG4gICAgICBjYXNlICdocic6XG4gICAgICBjYXNlICd4bXAnOlxuICAgICAgY2FzZSAnaDEnOlxuICAgICAgY2FzZSAnaDInOlxuICAgICAgY2FzZSAnaDMnOlxuICAgICAgY2FzZSAnaDQnOlxuICAgICAgY2FzZSAnaDUnOlxuICAgICAgY2FzZSAnaDYnOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlO1xuXG4gICAgICBjYXNlICdmb3JtJzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5mb3JtVGFnIHx8IGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZTtcblxuICAgICAgY2FzZSAnbGknOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmxpc3RJdGVtVGFnQXV0b2Nsb3Npbmc7XG5cbiAgICAgIGNhc2UgJ2RkJzpcbiAgICAgIGNhc2UgJ2R0JzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZztcblxuICAgICAgY2FzZSAnYnV0dG9uJzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlO1xuXG4gICAgICBjYXNlICdhJzpcbiAgICAgICAgLy8gU3BlYyBzYXlzIHNvbWV0aGluZyBhYm91dCBzdG9yaW5nIGEgbGlzdCBvZiBtYXJrZXJzLCBidXQgaXQgc291bmRzXG4gICAgICAgIC8vIGVxdWl2YWxlbnQgdG8gdGhpcyBjaGVjay5cbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5hVGFnSW5TY29wZTtcblxuICAgICAgY2FzZSAnbm9icic6XG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgdmFyIGRpZFdhcm4kMSA9IHt9O1xuXG4gIHZhbGlkYXRlRE9NTmVzdGluZyA9IGZ1bmN0aW9uIChjaGlsZFRhZywgY2hpbGRUZXh0LCBhbmNlc3RvckluZm8pIHtcbiAgICBhbmNlc3RvckluZm8gPSBhbmNlc3RvckluZm8gfHwgZW1wdHlBbmNlc3RvckluZm87XG4gICAgdmFyIHBhcmVudEluZm8gPSBhbmNlc3RvckluZm8uY3VycmVudDtcbiAgICB2YXIgcGFyZW50VGFnID0gcGFyZW50SW5mbyAmJiBwYXJlbnRJbmZvLnRhZztcblxuICAgIGlmIChjaGlsZFRleHQgIT0gbnVsbCkge1xuICAgICAgaWYgKGNoaWxkVGFnICE9IG51bGwpIHtcbiAgICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZzogd2hlbiBjaGlsZFRleHQgaXMgcGFzc2VkLCBjaGlsZFRhZyBzaG91bGQgYmUgbnVsbCcpO1xuICAgICAgfVxuXG4gICAgICBjaGlsZFRhZyA9ICcjdGV4dCc7XG4gICAgfVxuXG4gICAgdmFyIGludmFsaWRQYXJlbnQgPSBpc1RhZ1ZhbGlkV2l0aFBhcmVudChjaGlsZFRhZywgcGFyZW50VGFnKSA/IG51bGwgOiBwYXJlbnRJbmZvO1xuICAgIHZhciBpbnZhbGlkQW5jZXN0b3IgPSBpbnZhbGlkUGFyZW50ID8gbnVsbCA6IGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcoY2hpbGRUYWcsIGFuY2VzdG9ySW5mbyk7XG4gICAgdmFyIGludmFsaWRQYXJlbnRPckFuY2VzdG9yID0gaW52YWxpZFBhcmVudCB8fCBpbnZhbGlkQW5jZXN0b3I7XG5cbiAgICBpZiAoIWludmFsaWRQYXJlbnRPckFuY2VzdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGFuY2VzdG9yVGFnID0gaW52YWxpZFBhcmVudE9yQW5jZXN0b3IudGFnO1xuICAgIHZhciB3YXJuS2V5ID0gISFpbnZhbGlkUGFyZW50ICsgJ3wnICsgY2hpbGRUYWcgKyAnfCcgKyBhbmNlc3RvclRhZztcblxuICAgIGlmIChkaWRXYXJuJDFbd2FybktleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuJDFbd2FybktleV0gPSB0cnVlO1xuICAgIHZhciB0YWdEaXNwbGF5TmFtZSA9IGNoaWxkVGFnO1xuICAgIHZhciB3aGl0ZXNwYWNlSW5mbyA9ICcnO1xuXG4gICAgaWYgKGNoaWxkVGFnID09PSAnI3RleHQnKSB7XG4gICAgICBpZiAoL1xcUy8udGVzdChjaGlsZFRleHQpKSB7XG4gICAgICAgIHRhZ0Rpc3BsYXlOYW1lID0gJ1RleHQgbm9kZXMnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFnRGlzcGxheU5hbWUgPSAnV2hpdGVzcGFjZSB0ZXh0IG5vZGVzJztcbiAgICAgICAgd2hpdGVzcGFjZUluZm8gPSBcIiBNYWtlIHN1cmUgeW91IGRvbid0IGhhdmUgYW55IGV4dHJhIHdoaXRlc3BhY2UgYmV0d2VlbiB0YWdzIG9uIFwiICsgJ2VhY2ggbGluZSBvZiB5b3VyIHNvdXJjZSBjb2RlLic7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhZ0Rpc3BsYXlOYW1lID0gJzwnICsgY2hpbGRUYWcgKyAnPic7XG4gICAgfVxuXG4gICAgaWYgKGludmFsaWRQYXJlbnQpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmIChhbmNlc3RvclRhZyA9PT0gJ3RhYmxlJyAmJiBjaGlsZFRhZyA9PT0gJ3RyJykge1xuICAgICAgICBpbmZvICs9ICcgQWRkIGEgPHRib2R5PiwgPHRoZWFkPiBvciA8dGZvb3Q+IHRvIHlvdXIgY29kZSB0byBtYXRjaCB0aGUgRE9NIHRyZWUgZ2VuZXJhdGVkIGJ5ICcgKyAndGhlIGJyb3dzZXIuJztcbiAgICAgIH1cblxuICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZyguLi4pOiAlcyBjYW5ub3QgYXBwZWFyIGFzIGEgY2hpbGQgb2YgPCVzPi4lcyVzJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnLCB3aGl0ZXNwYWNlSW5mbywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yKCd2YWxpZGF0ZURPTU5lc3RpbmcoLi4uKTogJXMgY2Fubm90IGFwcGVhciBhcyBhIGRlc2NlbmRhbnQgb2YgJyArICc8JXM+LicsIHRhZ0Rpc3BsYXlOYW1lLCBhbmNlc3RvclRhZyk7XG4gICAgfVxuICB9O1xufVxuXG52YXIgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMSA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xudmFyIFNVU1BFTlNFX1NUQVJUX0RBVEEgPSAnJCc7XG52YXIgU1VTUEVOU0VfRU5EX0RBVEEgPSAnLyQnO1xudmFyIFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSA9ICckPyc7XG52YXIgU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSA9ICckISc7XG52YXIgU1RZTEUkMSA9ICdzdHlsZSc7XG52YXIgZXZlbnRzRW5hYmxlZCA9IG51bGw7XG52YXIgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xuZnVuY3Rpb24gZ2V0Um9vdEhvc3RDb250ZXh0KHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB2YXIgdHlwZTtcbiAgdmFyIG5hbWVzcGFjZTtcbiAgdmFyIG5vZGVUeXBlID0gcm9vdENvbnRhaW5lckluc3RhbmNlLm5vZGVUeXBlO1xuXG4gIHN3aXRjaCAobm9kZVR5cGUpIHtcbiAgICBjYXNlIERPQ1VNRU5UX05PREU6XG4gICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOlxuICAgICAge1xuICAgICAgICB0eXBlID0gbm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyAnI2RvY3VtZW50JyA6ICcjZnJhZ21lbnQnO1xuICAgICAgICB2YXIgcm9vdCA9IHJvb3RDb250YWluZXJJbnN0YW5jZS5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIG5hbWVzcGFjZSA9IHJvb3QgPyByb290Lm5hbWVzcGFjZVVSSSA6IGdldENoaWxkTmFtZXNwYWNlKG51bGwsICcnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICB2YXIgY29udGFpbmVyID0gbm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IHJvb3RDb250YWluZXJJbnN0YW5jZS5wYXJlbnROb2RlIDogcm9vdENvbnRhaW5lckluc3RhbmNlO1xuICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gY29udGFpbmVyLm5hbWVzcGFjZVVSSSB8fCBudWxsO1xuICAgICAgICB0eXBlID0gY29udGFpbmVyLnRhZ05hbWU7XG4gICAgICAgIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKG93bk5hbWVzcGFjZSwgdHlwZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG5cbiAge1xuICAgIHZhciB2YWxpZGF0ZWRUYWcgPSB0eXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8obnVsbCwgdmFsaWRhdGVkVGFnKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldENoaWxkSG9zdENvbnRleHQocGFyZW50SG9zdENvbnRleHQsIHR5cGUsIHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB7XG4gICAgdmFyIHBhcmVudEhvc3RDb250ZXh0RGV2ID0gcGFyZW50SG9zdENvbnRleHQ7XG4gICAgdmFyIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKHBhcmVudEhvc3RDb250ZXh0RGV2Lm5hbWVzcGFjZSwgdHlwZSk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8ocGFyZW50SG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZTtcbn1cbmZ1bmN0aW9uIHByZXBhcmVGb3JDb21taXQoY29udGFpbmVySW5mbykge1xuICBldmVudHNFbmFibGVkID0gaXNFbmFibGVkKCk7XG4gIHNlbGVjdGlvbkluZm9ybWF0aW9uID0gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKTtcbiAgdmFyIGFjdGl2ZUluc3RhbmNlID0gbnVsbDtcblxuICBzZXRFbmFibGVkKGZhbHNlKTtcbiAgcmV0dXJuIGFjdGl2ZUluc3RhbmNlO1xufVxuZnVuY3Rpb24gcmVzZXRBZnRlckNvbW1pdChjb250YWluZXJJbmZvKSB7XG4gIHJlc3RvcmVTZWxlY3Rpb24oc2VsZWN0aW9uSW5mb3JtYXRpb24pO1xuICBzZXRFbmFibGVkKGV2ZW50c0VuYWJsZWQpO1xuICBldmVudHNFbmFibGVkID0gbnVsbDtcbiAgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xufVxuZnVuY3Rpb24gY3JlYXRlSW5zdGFuY2UodHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcblxuICB7XG4gICAgLy8gVE9ETzogdGFrZSBuYW1lc3BhY2UgaW50byBhY2NvdW50IHdoZW4gdmFsaWRhdGluZy5cbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICB2YWxpZGF0ZURPTU5lc3RpbmcodHlwZSwgbnVsbCwgaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvKTtcblxuICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpIHtcbiAgICAgIHZhciBzdHJpbmcgPSAnJyArIHByb3BzLmNoaWxkcmVuO1xuICAgICAgdmFyIG93bkFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8oaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcbiAgICAgIHZhbGlkYXRlRE9NTmVzdGluZyhudWxsLCBzdHJpbmcsIG93bkFuY2VzdG9ySW5mbyk7XG4gICAgfVxuXG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xuICB9XG5cbiAgdmFyIGRvbUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIHBhcmVudE5hbWVzcGFjZSk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIGRvbUVsZW1lbnQpO1xuICB1cGRhdGVGaWJlclByb3BzKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XG59XG5mdW5jdGlvbiBhcHBlbmRJbml0aWFsQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLmFwcGVuZENoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0KSB7XG4gIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2J1dHRvbic6XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmV0dXJuICEhcHJvcHMuYXV0b0ZvY3VzO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gcHJlcGFyZVVwZGF0ZShkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQpIHtcbiAge1xuICAgIHZhciBob3N0Q29udGV4dERldiA9IGhvc3RDb250ZXh0O1xuXG4gICAgaWYgKHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiAhPT0gdHlwZW9mIG9sZFByb3BzLmNoaWxkcmVuICYmICh0eXBlb2YgbmV3UHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpKSB7XG4gICAgICB2YXIgc3RyaW5nID0gJycgKyBuZXdQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBvd25BbmNlc3RvckluZm8gPSB1cGRhdGVkQW5jZXN0b3JJbmZvKGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbywgdHlwZSk7XG4gICAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgc3RyaW5nLCBvd25BbmNlc3RvckluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaWZmUHJvcGVydGllcyhkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMpO1xufVxuZnVuY3Rpb24gc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgcHJvcHMpIHtcbiAgcmV0dXJuIHR5cGUgPT09ICd0ZXh0YXJlYScgfHwgdHlwZSA9PT0gJ25vc2NyaXB0JyB8fCB0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID09PSAnb2JqZWN0JyAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gbnVsbCAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwgIT0gbnVsbDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVRleHRJbnN0YW5jZSh0ZXh0LCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHtcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgdGV4dCwgaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvKTtcbiAgfVxuXG4gIHZhciB0ZXh0Tm9kZSA9IGNyZWF0ZVRleHROb2RlKHRleHQsIHJvb3RDb250YWluZXJJbnN0YW5jZSk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHRleHROb2RlKTtcbiAgcmV0dXJuIHRleHROb2RlO1xufVxuZnVuY3Rpb24gZ2V0Q3VycmVudEV2ZW50UHJpb3JpdHkoKSB7XG4gIHZhciBjdXJyZW50RXZlbnQgPSB3aW5kb3cuZXZlbnQ7XG5cbiAgaWYgKGN1cnJlbnRFdmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIERlZmF1bHRFdmVudFByaW9yaXR5O1xuICB9XG5cbiAgcmV0dXJuIGdldEV2ZW50UHJpb3JpdHkoY3VycmVudEV2ZW50LnR5cGUpO1xufVxuLy8gaWYgYSBjb21wb25lbnQganVzdCBpbXBvcnRzIFJlYWN0RE9NIChlLmcuIGZvciBmaW5kRE9NTm9kZSkuXG4vLyBTb21lIGVudmlyb25tZW50cyBtaWdodCBub3QgaGF2ZSBzZXRUaW1lb3V0IG9yIGNsZWFyVGltZW91dC5cblxudmFyIHNjaGVkdWxlVGltZW91dCA9IHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nID8gc2V0VGltZW91dCA6IHVuZGVmaW5lZDtcbnZhciBjYW5jZWxUaW1lb3V0ID0gdHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJyA/IGNsZWFyVGltZW91dCA6IHVuZGVmaW5lZDtcbnZhciBub1RpbWVvdXQgPSAtMTtcbnZhciBsb2NhbFByb21pc2UgPSB0eXBlb2YgUHJvbWlzZSA9PT0gJ2Z1bmN0aW9uJyA/IFByb21pc2UgOiB1bmRlZmluZWQ7IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBzY2hlZHVsZU1pY3JvdGFzayA9IHR5cGVvZiBxdWV1ZU1pY3JvdGFzayA9PT0gJ2Z1bmN0aW9uJyA/IHF1ZXVlTWljcm90YXNrIDogdHlwZW9mIGxvY2FsUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgPyBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgcmV0dXJuIGxvY2FsUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oY2FsbGJhY2spLmNhdGNoKGhhbmRsZUVycm9ySW5OZXh0VGljayk7XG59IDogc2NoZWR1bGVUaW1lb3V0OyAvLyBUT0RPOiBEZXRlcm1pbmUgdGhlIGJlc3QgZmFsbGJhY2sgaGVyZS5cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3JJbk5leHRUaWNrKGVycm9yKSB7XG4gIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIHRocm93IGVycm9yO1xuICB9KTtcbn0gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gY29tbWl0TW91bnQoZG9tRWxlbWVudCwgdHlwZSwgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gRGVzcGl0ZSB0aGUgbmFtaW5nIHRoYXQgbWlnaHQgaW1wbHkgb3RoZXJ3aXNlLCB0aGlzIG1ldGhvZCBvbmx5XG4gIC8vIGZpcmVzIGlmIHRoZXJlIGlzIGFuIGBVcGRhdGVgIGVmZmVjdCBzY2hlZHVsZWQgZHVyaW5nIG1vdW50aW5nLlxuICAvLyBUaGlzIGhhcHBlbnMgaWYgYGZpbmFsaXplSW5pdGlhbENoaWxkcmVuYCByZXR1cm5zIGB0cnVlYCAod2hpY2ggaXRcbiAgLy8gZG9lcyB0byBpbXBsZW1lbnQgdGhlIGBhdXRvRm9jdXNgIGF0dHJpYnV0ZSBvbiB0aGUgY2xpZW50KS4gQnV0XG4gIC8vIHRoZXJlIGFyZSBhbHNvIG90aGVyIGNhc2VzIHdoZW4gdGhpcyBtaWdodCBoYXBwZW4gKHN1Y2ggYXMgcGF0Y2hpbmdcbiAgLy8gdXAgdGV4dCBjb250ZW50IGR1cmluZyBoeWRyYXRpb24gbWlzbWF0Y2gpLiBTbyB3ZSdsbCBjaGVjayB0aGlzIGFnYWluLlxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdidXR0b24nOlxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIGlmIChuZXdQcm9wcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgZG9tRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlICdpbWcnOlxuICAgICAge1xuICAgICAgICBpZiAobmV3UHJvcHMuc3JjKSB7XG4gICAgICAgICAgZG9tRWxlbWVudC5zcmMgPSBuZXdQcm9wcy5zcmM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNvbW1pdFVwZGF0ZShkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gQXBwbHkgdGhlIGRpZmYgdG8gdGhlIERPTSBub2RlLlxuICB1cGRhdGVQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHR5cGUsIG9sZFByb3BzLCBuZXdQcm9wcyk7IC8vIFVwZGF0ZSB0aGUgcHJvcHMgaGFuZGxlIHNvIHRoYXQgd2Uga25vdyB3aGljaCBwcm9wcyBhcmUgdGhlIG9uZXMgd2l0aFxuICAvLyB3aXRoIGN1cnJlbnQgZXZlbnQgaGFuZGxlcnMuXG5cbiAgdXBkYXRlRmliZXJQcm9wcyhkb21FbGVtZW50LCBuZXdQcm9wcyk7XG59XG5mdW5jdGlvbiByZXNldFRleHRDb250ZW50KGRvbUVsZW1lbnQpIHtcbiAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycpO1xufVxuZnVuY3Rpb24gY29tbWl0VGV4dFVwZGF0ZSh0ZXh0SW5zdGFuY2UsIG9sZFRleHQsIG5ld1RleHQpIHtcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9IG5ld1RleHQ7XG59XG5mdW5jdGlvbiBhcHBlbmRDaGlsZChwYXJlbnRJbnN0YW5jZSwgY2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuZnVuY3Rpb24gYXBwZW5kQ2hpbGRUb0NvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIHZhciBwYXJlbnROb2RlO1xuXG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIHBhcmVudE5vZGUgPSBjb250YWluZXIucGFyZW50Tm9kZTtcbiAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShjaGlsZCwgY29udGFpbmVyKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJlbnROb2RlID0gY29udGFpbmVyO1xuICAgIHBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoY2hpbGQpO1xuICB9IC8vIFRoaXMgY29udGFpbmVyIG1pZ2h0IGJlIHVzZWQgZm9yIGEgcG9ydGFsLlxuICAvLyBJZiBzb21ldGhpbmcgaW5zaWRlIGEgcG9ydGFsIGlzIGNsaWNrZWQsIHRoYXQgY2xpY2sgc2hvdWxkIGJ1YmJsZVxuICAvLyB0aHJvdWdoIHRoZSBSZWFjdCB0cmVlLiBIb3dldmVyLCBvbiBNb2JpbGUgU2FmYXJpIHRoZSBjbGljayB3b3VsZFxuICAvLyBuZXZlciBidWJibGUgdGhyb3VnaCB0aGUgKkRPTSogdHJlZSB1bmxlc3MgYW4gYW5jZXN0b3Igd2l0aCBvbmNsaWNrXG4gIC8vIGV2ZW50IGV4aXN0cy4gU28gd2Ugd291bGRuJ3Qgc2VlIGl0IGFuZCBkaXNwYXRjaCBpdC5cbiAgLy8gVGhpcyBpcyB3aHkgd2UgZW5zdXJlIHRoYXQgbm9uIFJlYWN0IHJvb3QgY29udGFpbmVycyBoYXZlIGlubGluZSBvbmNsaWNrXG4gIC8vIGRlZmluZWQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE5MThcblxuXG4gIHZhciByZWFjdFJvb3RDb250YWluZXIgPSBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcblxuICBpZiAoKHJlYWN0Um9vdENvbnRhaW5lciA9PT0gbnVsbCB8fCByZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZCkgJiYgcGFyZW50Tm9kZS5vbmNsaWNrID09PSBudWxsKSB7XG4gICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChwYXJlbnROb2RlKTtcbiAgfVxufVxuZnVuY3Rpb24gaW5zZXJ0QmVmb3JlKHBhcmVudEluc3RhbmNlLCBjaGlsZCwgYmVmb3JlQ2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG59XG5mdW5jdGlvbiBpbnNlcnRJbkNvbnRhaW5lckJlZm9yZShjb250YWluZXIsIGNoaWxkLCBiZWZvcmVDaGlsZCkge1xuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICBjb250YWluZXIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIGNvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICB9XG59XG5mdW5jdGlvbiBjbGVhclN1c3BlbnNlQm91bmRhcnkocGFyZW50SW5zdGFuY2UsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSBzdXNwZW5zZUluc3RhbmNlOyAvLyBEZWxldGUgYWxsIG5vZGVzIHdpdGhpbiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5LlxuICAvLyBUaGVyZSBtaWdodCBiZSBuZXN0ZWQgbm9kZXMgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvd1xuICAvLyBkZWVwIHdlIGFyZSBhbmQgb25seSBicmVhayBvdXQgd2hlbiB3ZSdyZSBiYWNrIG9uIHRvcC5cblxuICB2YXIgZGVwdGggPSAwO1xuXG4gIGRvIHtcbiAgICB2YXIgbmV4dE5vZGUgPSBub2RlLm5leHRTaWJsaW5nO1xuICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5vZGUpO1xuXG4gICAgaWYgKG5leHROb2RlICYmIG5leHROb2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbmV4dE5vZGUuZGF0YTtcblxuICAgICAgaWYgKGRhdGEgPT09IFNVU1BFTlNFX0VORF9EQVRBKSB7XG4gICAgICAgIGlmIChkZXB0aCA9PT0gMCkge1xuICAgICAgICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5leHROb2RlKTsgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuXG4gICAgICAgICAgcmV0cnlJZkJsb2NrZWRPbihzdXNwZW5zZUluc3RhbmNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IG5leHROb2RlO1xuICB9IHdoaWxlIChub2RlKTsgLy8gVE9ETzogV2Fybiwgd2UgZGlkbid0IGZpbmQgdGhlIGVuZCBjb21tZW50IGJvdW5kYXJ5LlxuICAvLyBSZXRyeSBpZiBhbnkgZXZlbnQgcmVwbGF5aW5nIHdhcyBibG9ja2VkIG9uIHRoaXMuXG5cblxuICByZXRyeUlmQmxvY2tlZE9uKHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gY2xlYXJTdXNwZW5zZUJvdW5kYXJ5RnJvbUNvbnRhaW5lcihjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5KGNvbnRhaW5lci5wYXJlbnROb2RlLCBzdXNwZW5zZUluc3RhbmNlKTtcbiAgfSBlbHNlIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgIGNsZWFyU3VzcGVuc2VCb3VuZGFyeShjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpO1xuICB9IC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cblxuXG4gIHJldHJ5SWZCbG9ja2VkT24oY29udGFpbmVyKTtcbn1cbmZ1bmN0aW9uIGhpZGVJbnN0YW5jZShpbnN0YW5jZSkge1xuICAvLyBUT0RPOiBEb2VzIHRoaXMgd29yayBmb3IgYWxsIGVsZW1lbnQgdHlwZXM/IFdoYXQgYWJvdXQgTWF0aE1MPyBTaG91bGQgd2VcbiAgLy8gcGFzcyBob3N0IGNvbnRleHQgdG8gdGhpcyBtZXRob2Q/XG4gIGluc3RhbmNlID0gaW5zdGFuY2U7XG4gIHZhciBzdHlsZSA9IGluc3RhbmNlLnN0eWxlO1xuXG4gIGlmICh0eXBlb2Ygc3R5bGUuc2V0UHJvcGVydHkgPT09ICdmdW5jdGlvbicpIHtcbiAgICBzdHlsZS5zZXRQcm9wZXJ0eSgnZGlzcGxheScsICdub25lJywgJ2ltcG9ydGFudCcpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZGVUZXh0SW5zdGFuY2UodGV4dEluc3RhbmNlKSB7XG4gIHRleHRJbnN0YW5jZS5ub2RlVmFsdWUgPSAnJztcbn1cbmZ1bmN0aW9uIHVuaGlkZUluc3RhbmNlKGluc3RhbmNlLCBwcm9wcykge1xuICBpbnN0YW5jZSA9IGluc3RhbmNlO1xuICB2YXIgc3R5bGVQcm9wID0gcHJvcHNbU1RZTEUkMV07XG4gIHZhciBkaXNwbGF5ID0gc3R5bGVQcm9wICE9PSB1bmRlZmluZWQgJiYgc3R5bGVQcm9wICE9PSBudWxsICYmIHN0eWxlUHJvcC5oYXNPd25Qcm9wZXJ0eSgnZGlzcGxheScpID8gc3R5bGVQcm9wLmRpc3BsYXkgOiBudWxsO1xuICBpbnN0YW5jZS5zdHlsZS5kaXNwbGF5ID0gZGFuZ2Vyb3VzU3R5bGVWYWx1ZSgnZGlzcGxheScsIGRpc3BsYXkpO1xufVxuZnVuY3Rpb24gdW5oaWRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dCkge1xuICB0ZXh0SW5zdGFuY2Uubm9kZVZhbHVlID0gdGV4dDtcbn1cbmZ1bmN0aW9uIGNsZWFyQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUpIHtcbiAgICBjb250YWluZXIudGV4dENvbnRlbnQgPSAnJztcbiAgfSBlbHNlIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUpIHtcbiAgICBpZiAoY29udGFpbmVyLmRvY3VtZW50RWxlbWVudCkge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKGNvbnRhaW5lci5kb2N1bWVudEVsZW1lbnQpO1xuICAgIH1cbiAgfVxufSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5mdW5jdGlvbiBjYW5IeWRyYXRlSW5zdGFuY2UoaW5zdGFuY2UsIHR5cGUsIHByb3BzKSB7XG4gIGlmIChpbnN0YW5jZS5ub2RlVHlwZSAhPT0gRUxFTUVOVF9OT0RFIHx8IHR5cGUudG9Mb3dlckNhc2UoKSAhPT0gaW5zdGFuY2Uubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIFRoaXMgaGFzIG5vdyBiZWVuIHJlZmluZWQgdG8gYW4gZWxlbWVudCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVRleHRJbnN0YW5jZShpbnN0YW5jZSwgdGV4dCkge1xuICBpZiAodGV4dCA9PT0gJycgfHwgaW5zdGFuY2Uubm9kZVR5cGUgIT09IFRFWFRfTk9ERSkge1xuICAgIC8vIEVtcHR5IHN0cmluZ3MgYXJlIG5vdCBwYXJzZWQgYnkgSFRNTCBzbyB0aGVyZSB3b24ndCBiZSBhIGNvcnJlY3QgbWF0Y2ggaGVyZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBUaGlzIGhhcyBub3cgYmVlbiByZWZpbmVkIHRvIGEgdGV4dCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVN1c3BlbnNlSW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgaWYgKGluc3RhbmNlLm5vZGVUeXBlICE9PSBDT01NRU5UX05PREUpIHtcbiAgICAvLyBFbXB0eSBzdHJpbmdzIGFyZSBub3QgcGFyc2VkIGJ5IEhUTUwgc28gdGhlcmUgd29uJ3QgYmUgYSBjb3JyZWN0IG1hdGNoIGhlcmUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gVGhpcyBoYXMgbm93IGJlZW4gcmVmaW5lZCB0byBhIHN1c3BlbnNlIG5vZGUuXG5cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5mdW5jdGlvbiBpc1N1c3BlbnNlSW5zdGFuY2VQZW5kaW5nKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZS5kYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEE7XG59XG5mdW5jdGlvbiBpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhpbnN0YW5jZSkge1xuICByZXR1cm4gaW5zdGFuY2UuZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQTtcbn1cbmZ1bmN0aW9uIGdldFN1c3BlbnNlSW5zdGFuY2VGYWxsYmFja0Vycm9yRGV0YWlscyhpbnN0YW5jZSkge1xuICB2YXIgZGF0YXNldCA9IGluc3RhbmNlLm5leHRTaWJsaW5nICYmIGluc3RhbmNlLm5leHRTaWJsaW5nLmRhdGFzZXQ7XG4gIHZhciBkaWdlc3QsIG1lc3NhZ2UsIHN0YWNrO1xuXG4gIGlmIChkYXRhc2V0KSB7XG4gICAgZGlnZXN0ID0gZGF0YXNldC5kZ3N0O1xuXG4gICAge1xuICAgICAgbWVzc2FnZSA9IGRhdGFzZXQubXNnO1xuICAgICAgc3RhY2sgPSBkYXRhc2V0LnN0Y2s7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgZGlnZXN0OiBkaWdlc3QsXG4gICAgICBzdGFjazogc3RhY2tcbiAgICB9O1xuICB9IC8vIGxldCB2YWx1ZSA9IHttZXNzYWdlOiB1bmRlZmluZWQsIGhhc2g6IHVuZGVmaW5lZH07XG4gIC8vIGNvbnN0IG5leHRTaWJsaW5nID0gaW5zdGFuY2UubmV4dFNpYmxpbmc7XG4gIC8vIGlmIChuZXh0U2libGluZykge1xuICAvLyAgIGNvbnN0IGRhdGFzZXQgPSAoKG5leHRTaWJsaW5nOiBhbnkpOiBIVE1MVGVtcGxhdGVFbGVtZW50KS5kYXRhc2V0O1xuICAvLyAgIHZhbHVlLm1lc3NhZ2UgPSBkYXRhc2V0Lm1zZztcbiAgLy8gICB2YWx1ZS5oYXNoID0gZGF0YXNldC5oYXNoO1xuICAvLyAgIGlmICh0cnVlKSB7XG4gIC8vICAgICB2YWx1ZS5zdGFjayA9IGRhdGFzZXQuc3RhY2s7XG4gIC8vICAgfVxuICAvLyB9XG4gIC8vIHJldHVybiB2YWx1ZTtcblxufVxuZnVuY3Rpb24gcmVnaXN0ZXJTdXNwZW5zZUluc3RhbmNlUmV0cnkoaW5zdGFuY2UsIGNhbGxiYWNrKSB7XG4gIGluc3RhbmNlLl9yZWFjdFJldHJ5ID0gY2FsbGJhY2s7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlKG5vZGUpIHtcbiAgLy8gU2tpcCBub24taHlkcmF0YWJsZSBub2Rlcy5cbiAgZm9yICg7IG5vZGUgIT0gbnVsbDsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpIHtcbiAgICB2YXIgbm9kZVR5cGUgPSBub2RlLm5vZGVUeXBlO1xuXG4gICAgaWYgKG5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBub2RlRGF0YSA9IG5vZGUuZGF0YTtcblxuICAgICAgaWYgKG5vZGVEYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlRGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhpbnN0YW5jZSkge1xuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGUoaW5zdGFuY2UubmV4dFNpYmxpbmcpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLmZpcnN0Q2hpbGQpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGRXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyKSB7XG4gIHJldHVybiBnZXROZXh0SHlkcmF0YWJsZShwYXJlbnRDb250YWluZXIuZmlyc3RDaGlsZCk7XG59XG5mdW5jdGlvbiBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLm5leHRTaWJsaW5nKTtcbn1cbmZ1bmN0aW9uIGh5ZHJhdGVJbnN0YW5jZShpbnN0YW5jZSwgdHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgaW5zdGFuY2UpOyAvLyBUT0RPOiBQb3NzaWJseSBkZWZlciB0aGlzIHVudGlsIHRoZSBjb21taXQgcGhhc2Ugd2hlcmUgYWxsIHRoZSBldmVudHNcbiAgLy8gZ2V0IGF0dGFjaGVkLlxuXG4gIHVwZGF0ZUZpYmVyUHJvcHMoaW5zdGFuY2UsIHByb3BzKTtcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcblxuICB7XG4gICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xuICB9IC8vIFRPRE86IFRlbXBvcmFyeSBoYWNrIHRvIGNoZWNrIGlmIHdlJ3JlIGluIGEgY29uY3VycmVudCByb290LiBXZSBjYW4gZGVsZXRlXG4gIC8vIHdoZW4gdGhlIGxlZ2FjeSByb290IEFQSSBpcyByZW1vdmVkLlxuXG5cbiAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG4gIHJldHVybiBkaWZmSHlkcmF0ZWRQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVySW5zdGFuY2UsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpO1xufVxuZnVuY3Rpb24gaHlkcmF0ZVRleHRJbnN0YW5jZSh0ZXh0SW5zdGFuY2UsIHRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgdGV4dEluc3RhbmNlKTsgLy8gVE9ETzogVGVtcG9yYXJ5IGhhY2sgdG8gY2hlY2sgaWYgd2UncmUgaW4gYSBjb25jdXJyZW50IHJvb3QuIFdlIGNhbiBkZWxldGVcbiAgLy8gd2hlbiB0aGUgbGVnYWN5IHJvb3QgQVBJIGlzIHJlbW92ZWQuXG5cbiAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG4gIHJldHVybiBkaWZmSHlkcmF0ZWRUZXh0KHRleHRJbnN0YW5jZSwgdGV4dCk7XG59XG5mdW5jdGlvbiBoeWRyYXRlU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlLCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gZ2V0TmV4dEh5ZHJhdGFibGVJbnN0YW5jZUFmdGVyU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKSB7XG4gIHZhciBub2RlID0gc3VzcGVuc2VJbnN0YW5jZS5uZXh0U2libGluZzsgLy8gU2tpcCBwYXN0IGFsbCBub2RlcyB3aXRoaW4gdGhpcyBzdXNwZW5zZSBib3VuZGFyeS5cbiAgLy8gVGhlcmUgbWlnaHQgYmUgbmVzdGVkIG5vZGVzIHNvIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBob3dcbiAgLy8gZGVlcCB3ZSBhcmUgYW5kIG9ubHkgYnJlYWsgb3V0IHdoZW4gd2UncmUgYmFjayBvbiB0b3AuXG5cbiAgdmFyIGRlcHRoID0gMDtcblxuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbm9kZS5kYXRhO1xuXG4gICAgICBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcbiAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhub2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXB0aC0tO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgfSAvLyBUT0RPOiBXYXJuLCB3ZSBkaWRuJ3QgZmluZCB0aGUgZW5kIGNvbW1lbnQgYm91bmRhcnkuXG5cblxuICByZXR1cm4gbnVsbDtcbn0gLy8gUmV0dXJucyB0aGUgU3VzcGVuc2VJbnN0YW5jZSBpZiB0aGlzIG5vZGUgaXMgYSBkaXJlY3QgY2hpbGQgb2YgYVxuLy8gU3VzcGVuc2VJbnN0YW5jZS4gSS5lLiBpZiBpdHMgcHJldmlvdXMgc2libGluZyBpcyBhIENvbW1lbnQgd2l0aFxuLy8gU1VTUEVOU0VfeF9TVEFSVF9EQVRBLiBPdGhlcndpc2UsIG51bGwuXG5cbmZ1bmN0aW9uIGdldFBhcmVudFN1c3BlbnNlSW5zdGFuY2UodGFyZ2V0SW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0YW5jZS5wcmV2aW91c1NpYmxpbmc7IC8vIFNraXAgcGFzdCBhbGwgbm9kZXMgd2l0aGluIHRoaXMgc3VzcGVuc2UgYm91bmRhcnkuXG4gIC8vIFRoZXJlIG1pZ2h0IGJlIG5lc3RlZCBub2RlcyBzbyB3ZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgaG93XG4gIC8vIGRlZXAgd2UgYXJlIGFuZCBvbmx5IGJyZWFrIG91dCB3aGVuIHdlJ3JlIGJhY2sgb24gdG9wLlxuXG4gIHZhciBkZXB0aCA9IDA7XG5cbiAgd2hpbGUgKG5vZGUpIHtcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgICB2YXIgZGF0YSA9IG5vZGUuZGF0YTtcblxuICAgICAgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhID09PSBTVVNQRU5TRV9FTkRfREFUQSkge1xuICAgICAgICBkZXB0aCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5vZGUgPSBub2RlLnByZXZpb3VzU2libGluZztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRDb250YWluZXIoY29udGFpbmVyKSB7XG4gIC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cbiAgcmV0cnlJZkJsb2NrZWRPbihjb250YWluZXIpO1xufVxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuICByZXRyeUlmQmxvY2tlZE9uKHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gc2hvdWxkRGVsZXRlVW5oeWRyYXRlZFRhaWxJbnN0YW5jZXMocGFyZW50VHlwZSkge1xuICByZXR1cm4gcGFyZW50VHlwZSAhPT0gJ2hlYWQnICYmIHBhcmVudFR5cGUgIT09ICdib2R5Jztcbn1cbmZ1bmN0aW9uIGRpZE5vdE1hdGNoSHlkcmF0ZWRDb250YWluZXJUZXh0SW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0ZXh0SW5zdGFuY2UsIHRleHQsIGlzQ29uY3VycmVudE1vZGUpIHtcbiAgdmFyIHNob3VsZFdhcm5EZXYgPSB0cnVlO1xuICBjaGVja0ZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLm5vZGVWYWx1ZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldik7XG59XG5mdW5jdGlvbiBkaWROb3RNYXRjaEh5ZHJhdGVkVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdGV4dEluc3RhbmNlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIGlmIChwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xuICAgIHZhciBzaG91bGRXYXJuRGV2ID0gdHJ1ZTtcbiAgICBjaGVja0ZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLm5vZGVWYWx1ZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldik7XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIGluc3RhbmNlKSB7XG4gIHtcbiAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnRDb250YWluZXIsIGluc3RhbmNlKTtcbiAgICB9IGVsc2UgaWYgKGluc3RhbmNlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIDsgZWxzZSB7XG4gICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVUZXh0KHBhcmVudENvbnRhaW5lciwgaW5zdGFuY2UpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWU6IE9ubHkgRWxlbWVudCBvciBEb2N1bWVudCBjYW4gYmUgcGFyZW50IG5vZGVzLlxuICAgIHZhciBwYXJlbnROb2RlID0gcGFyZW50SW5zdGFuY2UucGFyZW50Tm9kZTtcblxuICAgIGlmIChwYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVFbGVtZW50KHBhcmVudE5vZGUsIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBkaWROb3RIeWRyYXRlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBpbnN0YW5jZSwgaXNDb25jdXJyZW50TW9kZSkge1xuICB7XG4gICAgaWYgKGlzQ29uY3VycmVudE1vZGUgfHwgcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICAgIGlmIChpbnN0YW5jZS5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZUVsZW1lbnQocGFyZW50SW5zdGFuY2UsIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZEVsZW1lbnQocGFyZW50Q29udGFpbmVyLCB0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyLCB0ZXh0KSB7XG4gIHtcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZFRleHQocGFyZW50Q29udGFpbmVyLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UsIHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lOiBPbmx5IEVsZW1lbnQgb3IgRG9jdW1lbnQgY2FuIGJlIHBhcmVudCBub2Rlcy5cbiAgICB2YXIgcGFyZW50Tm9kZSA9IHBhcmVudEluc3RhbmNlLnBhcmVudE5vZGU7XG4gICAgaWYgKHBhcmVudE5vZGUgIT09IG51bGwpIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHBhcmVudEluc3RhbmNlLCB0ZXh0KSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lOiBPbmx5IEVsZW1lbnQgb3IgRG9jdW1lbnQgY2FuIGJlIHBhcmVudCBub2Rlcy5cbiAgICB2YXIgcGFyZW50Tm9kZSA9IHBhcmVudEluc3RhbmNlLnBhcmVudE5vZGU7XG4gICAgaWYgKHBhcmVudE5vZGUgIT09IG51bGwpIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHR5cGUsIHByb3BzLCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHtcbiAgICBpZiAoaXNDb25jdXJyZW50TW9kZSB8fCBwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xuICAgICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudEluc3RhbmNlLCB0eXBlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSkge1xuICB7XG4gICAgaWYgKGlzQ29uY3VycmVudE1vZGUgfHwgcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICAgIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnRJbnN0YW5jZSwgdGV4dCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBlcnJvckh5ZHJhdGluZ0NvbnRhaW5lcihwYXJlbnRDb250YWluZXIpIHtcbiAge1xuICAgIC8vIFRPRE86IFRoaXMgZ2V0cyBsb2dnZWQgYnkgb25SZWNvdmVyYWJsZUVycm9yLCB0b28sIHNvIHdlIHNob3VsZCBiZVxuICAgIC8vIGFibGUgdG8gcmVtb3ZlIGl0LlxuICAgIGVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgaHlkcmF0aW9uLiBUaGUgc2VydmVyIEhUTUwgd2FzIHJlcGxhY2VkIHdpdGggY2xpZW50IGNvbnRlbnQgaW4gPCVzPi4nLCBwYXJlbnRDb250YWluZXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHByZXBhcmVQb3J0YWxNb3VudChwb3J0YWxJbnN0YW5jZSkge1xuICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhwb3J0YWxJbnN0YW5jZSk7XG59XG5cbnZhciByYW5kb21LZXkgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtcbnZhciBpbnRlcm5hbEluc3RhbmNlS2V5ID0gJ19fcmVhY3RGaWJlciQnICsgcmFuZG9tS2V5O1xudmFyIGludGVybmFsUHJvcHNLZXkgPSAnX19yZWFjdFByb3BzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleSA9ICdfX3JlYWN0Q29udGFpbmVyJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5ID0gJ19fcmVhY3RFdmVudHMkJyArIHJhbmRvbUtleTtcbnZhciBpbnRlcm5hbEV2ZW50SGFuZGxlckxpc3RlbmVyc0tleSA9ICdfX3JlYWN0TGlzdGVuZXJzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXNTZXRLZXkgPSAnX19yZWFjdEhhbmRsZXMkJyArIHJhbmRvbUtleTtcbmZ1bmN0aW9uIGRldGFjaERlbGV0ZWRJbnN0YW5jZShub2RlKSB7XG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb24gaG9zdCBjb21wb25lbnRzLiBJIGRvbid0IHRoaW5rIGFsbCBvZlxuICAvLyB0aGVzZSBmaWVsZHMgYXJlIHJlbGV2YW50LlxuICBkZWxldGUgbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcbiAgZGVsZXRlIG5vZGVbaW50ZXJuYWxQcm9wc0tleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyc0tleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyTGlzdGVuZXJzS2V5XTtcbiAgZGVsZXRlIG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXNTZXRLZXldO1xufVxuZnVuY3Rpb24gcHJlY2FjaGVGaWJlck5vZGUoaG9zdEluc3QsIG5vZGUpIHtcbiAgbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSA9IGhvc3RJbnN0O1xufVxuZnVuY3Rpb24gbWFya0NvbnRhaW5lckFzUm9vdChob3N0Um9vdCwgbm9kZSkge1xuICBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldID0gaG9zdFJvb3Q7XG59XG5mdW5jdGlvbiB1bm1hcmtDb250YWluZXJBc1Jvb3Qobm9kZSkge1xuICBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzQ29udGFpbmVyTWFya2VkQXNSb290KG5vZGUpIHtcbiAgcmV0dXJuICEhbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XTtcbn0gLy8gR2l2ZW4gYSBET00gbm9kZSwgcmV0dXJuIHRoZSBjbG9zZXN0IEhvc3RDb21wb25lbnQgb3IgSG9zdFRleHQgZmliZXIgYW5jZXN0b3IuXG4vLyBJZiB0aGUgdGFyZ2V0IG5vZGUgaXMgcGFydCBvZiBhIGh5ZHJhdGVkIG9yIG5vdCB5ZXQgcmVuZGVyZWQgc3VidHJlZSwgdGhlblxuLy8gdGhpcyBtYXkgYWxzbyByZXR1cm4gYSBTdXNwZW5zZUNvbXBvbmVudCBvciBIb3N0Um9vdCB0byBpbmRpY2F0ZSB0aGF0LlxuLy8gQ29uY2VwdHVhbGx5IHRoZSBIb3N0Um9vdCBmaWJlciBpcyBhIGNoaWxkIG9mIHRoZSBDb250YWluZXIgbm9kZS4gU28gaWYgeW91XG4vLyBwYXNzIHRoZSBDb250YWluZXIgbm9kZSBhcyB0aGUgdGFyZ2V0Tm9kZSwgeW91IHdpbGwgbm90IGFjdHVhbGx5IGdldCB0aGVcbi8vIEhvc3RSb290IGJhY2suIFRvIGdldCB0byB0aGUgSG9zdFJvb3QsIHlvdSBuZWVkIHRvIHBhc3MgYSBjaGlsZCBvZiBpdC5cbi8vIFRoZSBzYW1lIHRoaW5nIGFwcGxpZXMgdG8gU3VzcGVuc2UgYm91bmRhcmllcy5cblxuZnVuY3Rpb24gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUodGFyZ2V0Tm9kZSkge1xuICB2YXIgdGFyZ2V0SW5zdCA9IHRhcmdldE5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV07XG5cbiAgaWYgKHRhcmdldEluc3QpIHtcbiAgICAvLyBEb24ndCByZXR1cm4gSG9zdFJvb3Qgb3IgU3VzcGVuc2VDb21wb25lbnQgaGVyZS5cbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgfSAvLyBJZiB0aGUgZGlyZWN0IGV2ZW50IHRhcmdldCBpc24ndCBhIFJlYWN0IG93bmVkIERPTSBub2RlLCB3ZSBuZWVkIHRvIGxvb2tcbiAgLy8gdG8gc2VlIGlmIG9uZSBvZiBpdHMgcGFyZW50cyBpcyBhIFJlYWN0IG93bmVkIERPTSBub2RlLlxuXG5cbiAgdmFyIHBhcmVudE5vZGUgPSB0YXJnZXROb2RlLnBhcmVudE5vZGU7XG5cbiAgd2hpbGUgKHBhcmVudE5vZGUpIHtcbiAgICAvLyBXZSdsbCBjaGVjayBpZiB0aGlzIGlzIGEgY29udGFpbmVyIHJvb3QgdGhhdCBjb3VsZCBpbmNsdWRlXG4gICAgLy8gUmVhY3Qgbm9kZXMgaW4gdGhlIGZ1dHVyZS4gV2UgbmVlZCB0byBjaGVjayB0aGlzIGZpcnN0IGJlY2F1c2VcbiAgICAvLyBpZiB3ZSdyZSBhIGNoaWxkIG9mIGEgZGVoeWRyYXRlZCBjb250YWluZXIsIHdlIG5lZWQgdG8gZmlyc3RcbiAgICAvLyBmaW5kIHRoYXQgaW5uZXIgY29udGFpbmVyIGJlZm9yZSBtb3Zpbmcgb24gdG8gZmluZGluZyB0aGUgcGFyZW50XG4gICAgLy8gaW5zdGFuY2UuIE5vdGUgdGhhdCB3ZSBkb24ndCBjaGVjayB0aGlzIGZpZWxkIG9uICB0aGUgdGFyZ2V0Tm9kZVxuICAgIC8vIGl0c2VsZiBiZWNhdXNlIHRoZSBmaWJlcnMgYXJlIGNvbmNlcHR1YWxseSBiZXR3ZWVuIHRoZSBjb250YWluZXJcbiAgICAvLyBub2RlIGFuZCB0aGUgZmlyc3QgY2hpbGQuIEl0IGlzbid0IHN1cnJvdW5kaW5nIHRoZSBjb250YWluZXIgbm9kZS5cbiAgICAvLyBJZiBpdCdzIG5vdCBhIGNvbnRhaW5lciwgd2UgY2hlY2sgaWYgaXQncyBhbiBpbnN0YW5jZS5cbiAgICB0YXJnZXRJbnN0ID0gcGFyZW50Tm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XSB8fCBwYXJlbnROb2RlW2ludGVybmFsSW5zdGFuY2VLZXldO1xuXG4gICAgaWYgKHRhcmdldEluc3QpIHtcbiAgICAgIC8vIFNpbmNlIHRoaXMgd2Fzbid0IHRoZSBkaXJlY3QgdGFyZ2V0IG9mIHRoZSBldmVudCwgd2UgbWlnaHQgaGF2ZVxuICAgICAgLy8gc3RlcHBlZCBwYXN0IGRlaHlkcmF0ZWQgRE9NIG5vZGVzIHRvIGdldCBoZXJlLiBIb3dldmVyIHRoZXkgY291bGRcbiAgICAgIC8vIGFsc28gaGF2ZSBiZWVuIG5vbi1SZWFjdCBub2Rlcy4gV2UgbmVlZCB0byBhbnN3ZXIgd2hpY2ggb25lLlxuICAgICAgLy8gSWYgd2UgdGhlIGluc3RhbmNlIGRvZXNuJ3QgaGF2ZSBhbnkgY2hpbGRyZW4sIHRoZW4gdGhlcmUgY2FuJ3QgYmVcbiAgICAgIC8vIGEgbmVzdGVkIHN1c3BlbnNlIGJvdW5kYXJ5IHdpdGhpbiBpdC4gU28gd2UgY2FuIHVzZSB0aGlzIGFzIGEgZmFzdFxuICAgICAgLy8gYmFpbG91dC4gTW9zdCBvZiB0aGUgdGltZSwgd2hlbiBwZW9wbGUgYWRkIG5vbi1SZWFjdCBjaGlsZHJlbiB0b1xuICAgICAgLy8gdGhlIHRyZWUsIGl0IGlzIHVzaW5nIGEgcmVmIHRvIGEgY2hpbGQtbGVzcyBET00gbm9kZS5cbiAgICAgIC8vIE5vcm1hbGx5IHdlJ2Qgb25seSBuZWVkIHRvIGNoZWNrIG9uZSBvZiB0aGUgZmliZXJzIGJlY2F1c2UgaWYgaXRcbiAgICAgIC8vIGhhcyBldmVyIGdvbmUgZnJvbSBoYXZpbmcgY2hpbGRyZW4gdG8gZGVsZXRpbmcgdGhlbSBvciB2aWNlIHZlcnNhXG4gICAgICAvLyBpdCB3b3VsZCBoYXZlIGRlbGV0ZWQgdGhlIGRlaHlkcmF0ZWQgYm91bmRhcnkgbmVzdGVkIGluc2lkZSBhbHJlYWR5LlxuICAgICAgLy8gSG93ZXZlciwgc2luY2UgdGhlIEhvc3RSb290IHN0YXJ0cyBvdXQgd2l0aCBhbiBhbHRlcm5hdGUgaXQgbWlnaHRcbiAgICAgIC8vIGhhdmUgb25lIG9uIHRoZSBhbHRlcm5hdGUgc28gd2UgbmVlZCB0byBjaGVjayBpbiBjYXNlIHRoaXMgd2FzIGFcbiAgICAgIC8vIHJvb3QuXG4gICAgICB2YXIgYWx0ZXJuYXRlID0gdGFyZ2V0SW5zdC5hbHRlcm5hdGU7XG5cbiAgICAgIGlmICh0YXJnZXRJbnN0LmNoaWxkICE9PSBudWxsIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhlIG5vZGUgdGhhdCBza2lwcGVkIHBhc3QgaXNcbiAgICAgICAgLy8gbmVzdGVkIHdpdGhpbiBhIGRlaHlkcmF0ZWQgYm91bmRhcnkgYW5kIGlmIHNvLCB3aGljaCBvbmUuXG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZSh0YXJnZXROb2RlKTtcblxuICAgICAgICB3aGlsZSAoc3VzcGVuc2VJbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIGZvdW5kIGEgc3VzcGVuc2UgaW5zdGFuY2UuIFRoYXQgbWVhbnMgdGhhdCB3ZSBoYXZlbid0XG4gICAgICAgICAgLy8gaHlkcmF0ZWQgaXQgeWV0LiBFdmVuIHRob3VnaCB3ZSBsZWF2ZSB0aGUgY29tbWVudHMgaW4gdGhlXG4gICAgICAgICAgLy8gRE9NIGFmdGVyIGh5ZHJhdGluZywgYW5kIHRoZXJlIGFyZSBib3VuZGFyaWVzIGluIHRoZSBET01cbiAgICAgICAgICAvLyB0aGF0IGNvdWxkIGFscmVhZHkgYmUgaHlkcmF0ZWQsIHdlIHdvdWxkbid0IGhhdmUgZm91bmQgdGhlbVxuICAgICAgICAgIC8vIHRocm91Z2ggdGhpcyBwYXNzIHNpbmNlIGlmIHRoZSB0YXJnZXQgaXMgaHlkcmF0ZWQgaXQgd291bGRcbiAgICAgICAgICAvLyBoYXZlIGhhZCBhbiBpbnRlcm5hbEluc3RhbmNlS2V5IG9uIGl0LlxuICAgICAgICAgIC8vIExldCdzIGdldCB0aGUgZmliZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBTdXNwZW5zZUNvbXBvbmVudFxuICAgICAgICAgIC8vIGFzIHRoZSBkZWVwZXN0IGluc3RhbmNlLlxuICAgICAgICAgIHZhciB0YXJnZXRTdXNwZW5zZUluc3QgPSBzdXNwZW5zZUluc3RhbmNlW2ludGVybmFsSW5zdGFuY2VLZXldO1xuXG4gICAgICAgICAgaWYgKHRhcmdldFN1c3BlbnNlSW5zdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFN1c3BlbnNlSW5zdDtcbiAgICAgICAgICB9IC8vIElmIHdlIGRvbid0IGZpbmQgYSBGaWJlciBvbiB0aGUgY29tbWVudCwgaXQgbWlnaHQgYmUgYmVjYXVzZVxuICAgICAgICAgIC8vIHdlIGhhdmVuJ3QgZ290dGVuIHRvIGh5ZHJhdGUgaXQgeWV0LiBUaGVyZSBtaWdodCBzdGlsbCBiZSBhXG4gICAgICAgICAgLy8gcGFyZW50IGJvdW5kYXJ5IHRoYXQgaGFzbid0IGFib3ZlIHRoaXMgb25lIHNvIHdlIG5lZWQgdG8gZmluZFxuICAgICAgICAgIC8vIHRoZSBvdXRlciBtb3N0IHRoYXQgaXMga25vd24uXG5cblxuICAgICAgICAgIHN1c3BlbnNlSW5zdGFuY2UgPSBnZXRQYXJlbnRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpOyAvLyBJZiB3ZSBkb24ndCBmaW5kIG9uZSwgdGhlbiB0aGF0IHNob3VsZCBtZWFuIHRoYXQgdGhlIHBhcmVudFxuICAgICAgICAgIC8vIGhvc3QgY29tcG9uZW50IGFsc28gaGFzbid0IGh5ZHJhdGVkIHlldC4gV2UgY2FuIHJldHVybiBpdFxuICAgICAgICAgIC8vIGJlbG93IHNpbmNlIGl0IHdpbGwgYmFpbCBvdXQgb24gdGhlIGlzTW91bnRlZCBjaGVjayBsYXRlci5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgICB9XG5cbiAgICB0YXJnZXROb2RlID0gcGFyZW50Tm9kZTtcbiAgICBwYXJlbnROb2RlID0gdGFyZ2V0Tm9kZS5wYXJlbnROb2RlO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIEdpdmVuIGEgRE9NIG5vZGUsIHJldHVybiB0aGUgUmVhY3RET01Db21wb25lbnQgb3IgUmVhY3RET01UZXh0Q29tcG9uZW50XG4gKiBpbnN0YW5jZSwgb3IgbnVsbCBpZiB0aGUgbm9kZSB3YXMgbm90IHJlbmRlcmVkIGJ5IHRoaXMgUmVhY3QuXG4gKi9cblxuZnVuY3Rpb24gZ2V0SW5zdGFuY2VGcm9tTm9kZShub2RlKSB7XG4gIHZhciBpbnN0ID0gbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSB8fCBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldO1xuXG4gIGlmIChpbnN0KSB7XG4gICAgaWYgKGluc3QudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IGluc3QudGFnID09PSBIb3N0VGV4dCB8fCBpbnN0LnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICByZXR1cm4gaW5zdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIEdpdmVuIGEgUmVhY3RET01Db21wb25lbnQgb3IgUmVhY3RET01UZXh0Q29tcG9uZW50LCByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmdcbiAqIERPTSBub2RlLlxuICovXG5cbmZ1bmN0aW9uIGdldE5vZGVGcm9tSW5zdGFuY2UoaW5zdCkge1xuICBpZiAoaW5zdC50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgLy8gSW4gRmliZXIgdGhpcywgaXMganVzdCB0aGUgc3RhdGUgbm9kZSByaWdodCBub3cuIFdlIGFzc3VtZSBpdCB3aWxsIGJlXG4gICAgLy8gYSBob3N0IGNvbXBvbmVudCBvciBob3N0IHRleHQuXG4gICAgcmV0dXJuIGluc3Quc3RhdGVOb2RlO1xuICB9IC8vIFdpdGhvdXQgdGhpcyBmaXJzdCBpbnZhcmlhbnQsIHBhc3NpbmcgYSBub24tRE9NLWNvbXBvbmVudCB0cmlnZ2VycyB0aGUgbmV4dFxuICAvLyBpbnZhcmlhbnQgZm9yIGEgbWlzc2luZyBwYXJlbnQsIHdoaWNoIGlzIHN1cGVyIGNvbmZ1c2luZy5cblxuXG4gIHRocm93IG5ldyBFcnJvcignZ2V0Tm9kZUZyb21JbnN0YW5jZTogSW52YWxpZCBhcmd1bWVudC4nKTtcbn1cbmZ1bmN0aW9uIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZVtpbnRlcm5hbFByb3BzS2V5XSB8fCBudWxsO1xufVxuZnVuY3Rpb24gdXBkYXRlRmliZXJQcm9wcyhub2RlLCBwcm9wcykge1xuICBub2RlW2ludGVybmFsUHJvcHNLZXldID0gcHJvcHM7XG59XG5mdW5jdGlvbiBnZXRFdmVudExpc3RlbmVyU2V0KG5vZGUpIHtcbiAgdmFyIGVsZW1lbnRMaXN0ZW5lclNldCA9IG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5XTtcblxuICBpZiAoZWxlbWVudExpc3RlbmVyU2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICBlbGVtZW50TGlzdGVuZXJTZXQgPSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyc0tleV0gPSBuZXcgU2V0KCk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudExpc3RlbmVyU2V0O1xufVxuXG52YXIgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1Byb3BUeXBlcyh0eXBlU3BlY3MsIHZhbHVlcywgbG9jYXRpb24sIGNvbXBvbmVudE5hbWUsIGVsZW1lbnQpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWUgVGhpcyBpcyBva2F5IGJ1dCBGbG93IGRvZXNuJ3Qga25vdyBpdC5cbiAgICB2YXIgaGFzID0gRnVuY3Rpb24uY2FsbC5iaW5kKGhhc093blByb3BlcnR5KTtcblxuICAgIGZvciAodmFyIHR5cGVTcGVjTmFtZSBpbiB0eXBlU3BlY3MpIHtcbiAgICAgIGlmIChoYXModHlwZVNwZWNzLCB0eXBlU3BlY05hbWUpKSB7XG4gICAgICAgIHZhciBlcnJvciQxID0gdm9pZCAwOyAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhbiBpbnZhcmlhbnQgdGhhdCBnZXRzIGNhdWdodC4gSXQncyB0aGUgc2FtZVxuICAgICAgICAgIC8vIGJlaGF2aW9yIGFzIHdpdGhvdXQgdGhpcyBzdGF0ZW1lbnQgZXhjZXB0IHdpdGggYSBiZXR0ZXIgbWVzc2FnZS5cbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogJyArIGxvY2F0aW9uICsgJyB0eXBlIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgJyArICdpdCBtdXN0IGJlIGEgZnVuY3Rpb24sIHVzdWFsbHkgZnJvbSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UsIGJ1dCByZWNlaXZlZCBgJyArIHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSArICdgLicgKyAnVGhpcyBvZnRlbiBoYXBwZW5zIGJlY2F1c2Ugb2YgdHlwb3Mgc3VjaCBhcyBgUHJvcFR5cGVzLmZ1bmN0aW9uYCBpbnN0ZWFkIG9mIGBQcm9wVHlwZXMuZnVuY2AuJyk7XG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlcnJvciQxID0gdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0odmFsdWVzLCB0eXBlU3BlY05hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBudWxsLCAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnKTtcbiAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICBlcnJvciQxID0gZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSAmJiAhKGVycm9yJDEgaW5zdGFuY2VvZiBFcnJvcikpIHtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCclczogdHlwZSBzcGVjaWZpY2F0aW9uIG9mICVzJyArICcgYCVzYCBpcyBpbnZhbGlkOyB0aGUgdHlwZSBjaGVja2VyICcgKyAnZnVuY3Rpb24gbXVzdCByZXR1cm4gYG51bGxgIG9yIGFuIGBFcnJvcmAgYnV0IHJldHVybmVkIGEgJXMuICcgKyAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArICdjcmVhdG9yIChhcnJheU9mLCBpbnN0YW5jZU9mLCBvYmplY3RPZiwgb25lT2YsIG9uZU9mVHlwZSwgYW5kICcgKyAnc2hhcGUgYWxsIHJlcXVpcmUgYW4gYXJndW1lbnQpLicsIGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJywgbG9jYXRpb24sIHR5cGVTcGVjTmFtZSwgdHlwZW9mIGVycm9yJDEpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yICYmICEoZXJyb3IkMS5tZXNzYWdlIGluIGxvZ2dlZFR5cGVGYWlsdXJlcykpIHtcbiAgICAgICAgICAvLyBPbmx5IG1vbml0b3IgdGhpcyBmYWlsdXJlIG9uY2UgYmVjYXVzZSB0aGVyZSB0ZW5kcyB0byBiZSBhIGxvdCBvZiB0aGVcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxuICAgICAgICAgIGxvZ2dlZFR5cGVGYWlsdXJlc1tlcnJvciQxLm1lc3NhZ2VdID0gdHJ1ZTtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCdGYWlsZWQgJXMgdHlwZTogJXMnLCBsb2NhdGlvbiwgZXJyb3IkMS5tZXNzYWdlKTtcblxuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciB2YWx1ZVN0YWNrID0gW107XG52YXIgZmliZXJTdGFjaztcblxue1xuICBmaWJlclN0YWNrID0gW107XG59XG5cbnZhciBpbmRleCA9IC0xO1xuXG5mdW5jdGlvbiBjcmVhdGVDdXJzb3IoZGVmYXVsdFZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudDogZGVmYXVsdFZhbHVlXG4gIH07XG59XG5cbmZ1bmN0aW9uIHBvcChjdXJzb3IsIGZpYmVyKSB7XG4gIGlmIChpbmRleCA8IDApIHtcbiAgICB7XG4gICAgICBlcnJvcignVW5leHBlY3RlZCBwb3AuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAge1xuICAgIGlmIChmaWJlciAhPT0gZmliZXJTdGFja1tpbmRleF0pIHtcbiAgICAgIGVycm9yKCdVbmV4cGVjdGVkIEZpYmVyIHBvcHBlZC4nKTtcbiAgICB9XG4gIH1cblxuICBjdXJzb3IuY3VycmVudCA9IHZhbHVlU3RhY2tbaW5kZXhdO1xuICB2YWx1ZVN0YWNrW2luZGV4XSA9IG51bGw7XG5cbiAge1xuICAgIGZpYmVyU3RhY2tbaW5kZXhdID0gbnVsbDtcbiAgfVxuXG4gIGluZGV4LS07XG59XG5cbmZ1bmN0aW9uIHB1c2goY3Vyc29yLCB2YWx1ZSwgZmliZXIpIHtcbiAgaW5kZXgrKztcbiAgdmFsdWVTdGFja1tpbmRleF0gPSBjdXJzb3IuY3VycmVudDtcblxuICB7XG4gICAgZmliZXJTdGFja1tpbmRleF0gPSBmaWJlcjtcbiAgfVxuXG4gIGN1cnNvci5jdXJyZW50ID0gdmFsdWU7XG59XG5cbnZhciB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHQ7XG5cbntcbiAgd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0ID0ge307XG59XG5cbnZhciBlbXB0eUNvbnRleHRPYmplY3QgPSB7fTtcblxue1xuICBPYmplY3QuZnJlZXplKGVtcHR5Q29udGV4dE9iamVjdCk7XG59IC8vIEEgY3Vyc29yIHRvIHRoZSBjdXJyZW50IG1lcmdlZCBjb250ZXh0IG9iamVjdCBvbiB0aGUgc3RhY2suXG5cblxudmFyIGNvbnRleHRTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihlbXB0eUNvbnRleHRPYmplY3QpOyAvLyBBIGN1cnNvciB0byBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjb250ZXh0IGhhcyBjaGFuZ2VkLlxuXG52YXIgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihmYWxzZSk7IC8vIEtlZXAgdHJhY2sgb2YgdGhlIHByZXZpb3VzIGNvbnRleHQgb2JqZWN0IHRoYXQgd2FzIG9uIHRoZSBzdGFjay5cbi8vIFdlIHVzZSB0aGlzIHRvIGdldCBhY2Nlc3MgdG8gdGhlIHBhcmVudCBjb250ZXh0IGFmdGVyIHdlIGhhdmUgYWxyZWFkeVxuLy8gcHVzaGVkIHRoZSBuZXh0IGNvbnRleHQgcHJvdmlkZXIsIGFuZCBub3cgbmVlZCB0byBtZXJnZSB0aGVpciBjb250ZXh0cy5cblxudmFyIHByZXZpb3VzQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuZnVuY3Rpb24gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlcikge1xuICB7XG4gICAgaWYgKGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlciAmJiBpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAvLyBJZiB0aGUgZmliZXIgaXMgYSBjb250ZXh0IHByb3ZpZGVyIGl0c2VsZiwgd2hlbiB3ZSByZWFkIGl0cyBjb250ZXh0XG4gICAgICAvLyB3ZSBtYXkgaGF2ZSBhbHJlYWR5IHB1c2hlZCBpdHMgb3duIGNoaWxkIGNvbnRleHQgb24gdGhlIHN0YWNrLiBBIGNvbnRleHRcbiAgICAgIC8vIHByb3ZpZGVyIHNob3VsZCBub3QgXCJzZWVcIiBpdHMgb3duIGNoaWxkIGNvbnRleHQuIFRoZXJlZm9yZSB3ZSByZWFkIHRoZVxuICAgICAgLy8gcHJldmlvdXMgKHBhcmVudCkgY29udGV4dCBpbnN0ZWFkIGZvciBhIGNvbnRleHQgcHJvdmlkZXIuXG4gICAgICByZXR1cm4gcHJldmlvdXNDb250ZXh0O1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWNoZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCwgbWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQgPSB1bm1hc2tlZENvbnRleHQ7XG4gICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQgPSBtYXNrZWRDb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgIHZhciBjb250ZXh0VHlwZXMgPSB0eXBlLmNvbnRleHRUeXBlcztcblxuICAgIGlmICghY29udGV4dFR5cGVzKSB7XG4gICAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xuICAgIH0gLy8gQXZvaWQgcmVjcmVhdGluZyBtYXNrZWQgY29udGV4dCB1bmxlc3MgdW5tYXNrZWQgY29udGV4dCBoYXMgY2hhbmdlZC5cbiAgICAvLyBGYWlsaW5nIHRvIGRvIHRoaXMgd2lsbCByZXN1bHQgaW4gdW5uZWNlc3NhcnkgY2FsbHMgdG8gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcy5cbiAgICAvLyBUaGlzIG1heSB0cmlnZ2VyIGluZmluaXRlIGxvb3BzIGlmIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgY2FsbHMgc2V0U3RhdGUuXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmIChpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0ID09PSB1bm1hc2tlZENvbnRleHQpIHtcbiAgICAgIHJldHVybiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY29udGV4dCA9IHt9O1xuXG4gICAgZm9yICh2YXIga2V5IGluIGNvbnRleHRUeXBlcykge1xuICAgICAgY29udGV4dFtrZXldID0gdW5tYXNrZWRDb250ZXh0W2tleV07XG4gICAgfVxuXG4gICAge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHdvcmtJblByb2dyZXNzKSB8fCAnVW5rbm93bic7XG4gICAgICBjaGVja1Byb3BUeXBlcyhjb250ZXh0VHlwZXMsIGNvbnRleHQsICdjb250ZXh0JywgbmFtZSk7XG4gICAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gICAgLy8gQ29udGV4dCBpcyBjcmVhdGVkIGJlZm9yZSB0aGUgY2xhc3MgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBzbyBjaGVjayBmb3IgaW5zdGFuY2UuXG5cblxuICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc0NvbnRleHRDaGFuZ2VkKCkge1xuICB7XG4gICAgcmV0dXJuIGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NvbnRleHRQcm92aWRlcih0eXBlKSB7XG4gIHtcbiAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSB0eXBlLmNoaWxkQ29udGV4dFR5cGVzO1xuICAgIHJldHVybiBjaGlsZENvbnRleHRUeXBlcyAhPT0gbnVsbCAmJiBjaGlsZENvbnRleHRUeXBlcyAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIHBvcChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBmaWJlcik7XG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlcikge1xuICB7XG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcbiAgICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHVzaFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlciwgY29udGV4dCwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICBpZiAoY29udGV4dFN0YWNrQ3Vyc29yLmN1cnJlbnQgIT09IGVtcHR5Q29udGV4dE9iamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIGNvbnRleHQgZm91bmQgb24gc3RhY2suICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciwgY29udGV4dCwgZmliZXIpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0NoaWxkQ29udGV4dChmaWJlciwgdHlwZSwgcGFyZW50Q29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICAgIHZhciBjaGlsZENvbnRleHRUeXBlcyA9IHR5cGUuY2hpbGRDb250ZXh0VHlwZXM7IC8vIFRPRE8gKGJ2YXVnaG4pIFJlcGxhY2UgdGhpcyBiZWhhdmlvciB3aXRoIGFuIGludmFyaWFudCgpIGluIHRoZSBmdXR1cmUuXG4gICAgLy8gSXQgaGFzIG9ubHkgYmVlbiBhZGRlZCBpbiBGaWJlciB0byBtYXRjaCB0aGUgKHVuaW50ZW50aW9uYWwpIGJlaGF2aW9yIGluIFN0YWNrLlxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bic7XG5cbiAgICAgICAgaWYgKCF3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzLmNoaWxkQ29udGV4dFR5cGVzIGlzIHNwZWNpZmllZCBidXQgdGhlcmUgaXMgbm8gZ2V0Q2hpbGRDb250ZXh0KCkgbWV0aG9kICcgKyAnb24gdGhlIGluc3RhbmNlLiBZb3UgY2FuIGVpdGhlciBkZWZpbmUgZ2V0Q2hpbGRDb250ZXh0KCkgb24gJXMgb3IgcmVtb3ZlICcgKyAnY2hpbGRDb250ZXh0VHlwZXMgZnJvbSBpdC4nLCBjb21wb25lbnROYW1lLCBjb21wb25lbnROYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyZW50Q29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY2hpbGRDb250ZXh0ID0gaW5zdGFuY2UuZ2V0Q2hpbGRDb250ZXh0KCk7XG5cbiAgICBmb3IgKHZhciBjb250ZXh0S2V5IGluIGNoaWxkQ29udGV4dCkge1xuICAgICAgaWYgKCEoY29udGV4dEtleSBpbiBjaGlsZENvbnRleHRUeXBlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bicpICsgXCIuZ2V0Q2hpbGRDb250ZXh0KCk6IGtleSBcXFwiXCIgKyBjb250ZXh0S2V5ICsgXCJcXFwiIGlzIG5vdCBkZWZpbmVkIGluIGNoaWxkQ29udGV4dFR5cGVzLlwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdVbmtub3duJztcbiAgICAgIGNoZWNrUHJvcFR5cGVzKGNoaWxkQ29udGV4dFR5cGVzLCBjaGlsZENvbnRleHQsICdjaGlsZCBjb250ZXh0JywgbmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFzc2lnbih7fSwgcGFyZW50Q29udGV4dCwgY2hpbGRDb250ZXh0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7IC8vIFdlIHB1c2ggdGhlIGNvbnRleHQgYXMgZWFybHkgYXMgcG9zc2libGUgdG8gZW5zdXJlIHN0YWNrIGludGVncml0eS5cbiAgICAvLyBJZiB0aGUgaW5zdGFuY2UgZG9lcyBub3QgZXhpc3QgeWV0LCB3ZSB3aWxsIHB1c2ggbnVsbCBhdCBmaXJzdCxcbiAgICAvLyBhbmQgcmVwbGFjZSBpdCBvbiB0aGUgc3RhY2sgbGF0ZXIgd2hlbiBpbnZhbGlkYXRpbmcgdGhlIGNvbnRleHQuXG5cbiAgICB2YXIgbWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCB8fCBlbXB0eUNvbnRleHRPYmplY3Q7IC8vIFJlbWVtYmVyIHRoZSBwYXJlbnQgY29udGV4dCBzbyB3ZSBjYW4gbWVyZ2Ugd2l0aCBpdCBsYXRlci5cbiAgICAvLyBJbmhlcml0IHRoZSBwYXJlbnQncyBkaWQtcGVyZm9ybS13b3JrIHZhbHVlIHRvIGF2b2lkIGluYWR2ZXJ0ZW50bHkgYmxvY2tpbmcgdXBkYXRlcy5cblxuICAgIHByZXZpb3VzQ29udGV4dCA9IGNvbnRleHRTdGFja0N1cnNvci5jdXJyZW50O1xuICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvci5jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgdHlwZSwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGhhdmUgYW4gaW5zdGFuY2UgYnkgdGhpcyBwb2ludC4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIGlmIChkaWRDaGFuZ2UpIHtcbiAgICAgIC8vIE1lcmdlIHBhcmVudCBhbmQgb3duIGNvbnRleHQuXG4gICAgICAvLyBTa2lwIHRoaXMgaWYgd2UncmUgbm90IHVwZGF0aW5nIGR1ZSB0byBzQ1UuXG4gICAgICAvLyBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyaWx5IHJlY29tcHV0aW5nIG1lbW9pemVkIHZhbHVlcy5cbiAgICAgIHZhciBtZXJnZWRDb250ZXh0ID0gcHJvY2Vzc0NoaWxkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdHlwZSwgcHJldmlvdXNDb250ZXh0KTtcbiAgICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0ID0gbWVyZ2VkQ29udGV4dDsgLy8gUmVwbGFjZSB0aGUgb2xkIChvciBlbXB0eSkgY29udGV4dCB3aXRoIHRoZSBuZXcgb25lLlxuICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRvIHVud2luZCB0aGUgY29udGV4dCBpbiB0aGUgcmV2ZXJzZSBvcmRlci5cblxuICAgICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHBvcChjb250ZXh0U3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTsgLy8gTm93IHB1c2ggdGhlIG5ldyBjb250ZXh0IGFuZCBtYXJrIHRoYXQgaXQgaGFzIGNoYW5nZWQuXG5cbiAgICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZXJnZWRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBwdXNoKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGRpZENoYW5nZSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3AoZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcHVzaChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBkaWRDaGFuZ2UsIHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRVbm1hc2tlZENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIC8vIEN1cnJlbnRseSB0aGlzIGlzIG9ubHkgdXNlZCB3aXRoIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyOyBub3Qgc3VyZSBpZiBpdFxuICAgIC8vIG1ha2VzIHNlbnNlIGVsc2V3aGVyZVxuICAgIGlmICghaXNGaWJlck1vdW50ZWQoZmliZXIpIHx8IGZpYmVyLnRhZyAhPT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgc3VidHJlZSBwYXJlbnQgdG8gYmUgYSBtb3VudGVkIGNsYXNzIGNvbXBvbmVudC4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIHZhciBub2RlID0gZmliZXI7XG5cbiAgICBkbyB7XG4gICAgICBzd2l0Y2ggKG5vZGUudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlLmNvbnRleHQ7XG5cbiAgICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgQ29tcG9uZW50ID0gbm9kZS50eXBlO1xuXG4gICAgICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgICAgICByZXR1cm4gbm9kZS5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgIH0gd2hpbGUgKG5vZGUgIT09IG51bGwpO1xuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdGb3VuZCB1bmV4cGVjdGVkIGRldGFjaGVkIHN1YnRyZWUgcGFyZW50LiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cbn1cblxudmFyIExlZ2FjeVJvb3QgPSAwO1xudmFyIENvbmN1cnJlbnRSb290ID0gMTtcblxudmFyIHN5bmNRdWV1ZSA9IG51bGw7XG52YXIgaW5jbHVkZXNMZWdhY3lTeW5jQ2FsbGJhY2tzID0gZmFsc2U7XG52YXIgaXNGbHVzaGluZ1N5bmNRdWV1ZSA9IGZhbHNlO1xuZnVuY3Rpb24gc2NoZWR1bGVTeW5jQ2FsbGJhY2soY2FsbGJhY2spIHtcbiAgLy8gUHVzaCB0aGlzIGNhbGxiYWNrIGludG8gYW4gaW50ZXJuYWwgcXVldWUuIFdlJ2xsIGZsdXNoIHRoZXNlIGVpdGhlciBpblxuICAvLyB0aGUgbmV4dCB0aWNrLCBvciBlYXJsaWVyIGlmIHNvbWV0aGluZyBjYWxscyBgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZWAuXG4gIGlmIChzeW5jUXVldWUgPT09IG51bGwpIHtcbiAgICBzeW5jUXVldWUgPSBbY2FsbGJhY2tdO1xuICB9IGVsc2Uge1xuICAgIC8vIFB1c2ggb250byBleGlzdGluZyBxdWV1ZS4gRG9uJ3QgbmVlZCB0byBzY2hlZHVsZSBhIGNhbGxiYWNrIGJlY2F1c2VcbiAgICAvLyB3ZSBhbHJlYWR5IHNjaGVkdWxlZCBvbmUgd2hlbiB3ZSBjcmVhdGVkIHRoZSBxdWV1ZS5cbiAgICBzeW5jUXVldWUucHVzaChjYWxsYmFjayk7XG4gIH1cbn1cbmZ1bmN0aW9uIHNjaGVkdWxlTGVnYWN5U3luY0NhbGxiYWNrKGNhbGxiYWNrKSB7XG4gIGluY2x1ZGVzTGVnYWN5U3luY0NhbGxiYWNrcyA9IHRydWU7XG4gIHNjaGVkdWxlU3luY0NhbGxiYWNrKGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIGZsdXNoU3luY0NhbGxiYWNrc09ubHlJbkxlZ2FjeU1vZGUoKSB7XG4gIC8vIE9ubHkgZmx1c2hlcyB0aGUgcXVldWUgaWYgdGhlcmUncyBhIGxlZ2FjeSBzeW5jIGNhbGxiYWNrIHNjaGVkdWxlZC5cbiAgLy8gVE9ETzogVGhlcmUncyBvbmx5IGEgc2luZ2xlIHR5cGUgb2YgY2FsbGJhY2s6IHBlcmZvcm1TeW5jT25Xb3JrT25Sb290LiBTb1xuICAvLyBpdCBtaWdodCBtYWtlIG1vcmUgc2Vuc2UgZm9yIHRoZSBxdWV1ZSB0byBiZSBhIGxpc3Qgb2Ygcm9vdHMgaW5zdGVhZCBvZiBhXG4gIC8vIGxpc3Qgb2YgZ2VuZXJpYyBjYWxsYmFja3MuIFRoZW4gd2UgY2FuIGhhdmUgdHdvOiBvbmUgZm9yIGxlZ2FjeSByb290cywgb25lXG4gIC8vIGZvciBjb25jdXJyZW50IHJvb3RzLiBBbmQgdGhpcyBtZXRob2Qgd291bGQgb25seSBmbHVzaCB0aGUgbGVnYWN5IG9uZXMuXG4gIGlmIChpbmNsdWRlc0xlZ2FjeVN5bmNDYWxsYmFja3MpIHtcbiAgICBmbHVzaFN5bmNDYWxsYmFja3MoKTtcbiAgfVxufVxuZnVuY3Rpb24gZmx1c2hTeW5jQ2FsbGJhY2tzKCkge1xuICBpZiAoIWlzRmx1c2hpbmdTeW5jUXVldWUgJiYgc3luY1F1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gUHJldmVudCByZS1lbnRyYW5jZS5cbiAgICBpc0ZsdXNoaW5nU3luY1F1ZXVlID0gdHJ1ZTtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIHByZXZpb3VzVXBkYXRlUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcblxuICAgIHRyeSB7XG4gICAgICB2YXIgaXNTeW5jID0gdHJ1ZTtcbiAgICAgIHZhciBxdWV1ZSA9IHN5bmNRdWV1ZTsgLy8gVE9ETzogSXMgdGhpcyBuZWNlc3NhcnkgYW55bW9yZT8gVGhlIG9ubHkgdXNlciBjb2RlIHRoYXQgcnVucyBpbiB0aGlzXG4gICAgICAvLyBxdWV1ZSBpcyBpbiB0aGUgcmVuZGVyIG9yIGNvbW1pdCBwaGFzZXMuXG5cbiAgICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuXG4gICAgICBmb3IgKDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHF1ZXVlW2ldO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrKGlzU3luYyk7XG4gICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcbiAgICAgIH1cblxuICAgICAgc3luY1F1ZXVlID0gbnVsbDtcbiAgICAgIGluY2x1ZGVzTGVnYWN5U3luY0NhbGxiYWNrcyA9IGZhbHNlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBJZiBzb21ldGhpbmcgdGhyb3dzLCBsZWF2ZSB0aGUgcmVtYWluaW5nIGNhbGxiYWNrcyBvbiB0aGUgcXVldWUuXG4gICAgICBpZiAoc3luY1F1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIHN5bmNRdWV1ZSA9IHN5bmNRdWV1ZS5zbGljZShpICsgMSk7XG4gICAgICB9IC8vIFJlc3VtZSBmbHVzaGluZyBpbiB0aGUgbmV4dCB0aWNrXG5cblxuICAgICAgc2NoZWR1bGVDYWxsYmFjayhJbW1lZGlhdGVQcmlvcml0eSwgZmx1c2hTeW5jQ2FsbGJhY2tzKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNVcGRhdGVQcmlvcml0eSk7XG4gICAgICBpc0ZsdXNoaW5nU3luY1F1ZXVlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIFRPRE86IFVzZSB0aGUgdW5pZmllZCBmaWJlciBzdGFjayBtb2R1bGUgaW5zdGVhZCBvZiB0aGlzIGxvY2FsIG9uZT9cbi8vIEludGVudGlvbmFsbHkgbm90IHVzaW5nIGl0IHlldCB0byBkZXJpc2sgdGhlIGluaXRpYWwgaW1wbGVtZW50YXRpb24sIGJlY2F1c2Vcbi8vIHRoZSB3YXkgd2UgcHVzaC9wb3AgdGhlc2UgdmFsdWVzIGlzIGEgYml0IHVudXN1YWwuIElmIHRoZXJlJ3MgYSBtaXN0YWtlLCBJJ2Rcbi8vIHJhdGhlciB0aGUgaWRzIGJlIHdyb25nIHRoYW4gY3Jhc2ggdGhlIHdob2xlIHJlY29uY2lsZXIuXG52YXIgZm9ya1N0YWNrID0gW107XG52YXIgZm9ya1N0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVGb3JrUHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVGb3JrQ291bnQgPSAwO1xudmFyIGlkU3RhY2sgPSBbXTtcbnZhciBpZFN0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVDb250ZXh0UHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVDb250ZXh0SWQgPSAxO1xudmFyIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSAnJztcbmZ1bmN0aW9uIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIHJldHVybiAod29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiBGb3JrZWQpICE9PSBOb0ZsYWdzO1xufVxuZnVuY3Rpb24gZ2V0Rm9ya3NBdExldmVsKHdvcmtJblByb2dyZXNzKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpO1xuICByZXR1cm4gdHJlZUZvcmtDb3VudDtcbn1cbmZ1bmN0aW9uIGdldFRyZWVJZCgpIHtcbiAgdmFyIG92ZXJmbG93ID0gdHJlZUNvbnRleHRPdmVyZmxvdztcbiAgdmFyIGlkV2l0aExlYWRpbmdCaXQgPSB0cmVlQ29udGV4dElkO1xuICB2YXIgaWQgPSBpZFdpdGhMZWFkaW5nQml0ICYgfmdldExlYWRpbmdCaXQoaWRXaXRoTGVhZGluZ0JpdCk7XG4gIHJldHVybiBpZC50b1N0cmluZygzMikgKyBvdmVyZmxvdztcbn1cbmZ1bmN0aW9uIHB1c2hUcmVlRm9yayh3b3JrSW5Qcm9ncmVzcywgdG90YWxDaGlsZHJlbikge1xuICAvLyBUaGlzIGlzIGNhbGxlZCByaWdodCBhZnRlciB3ZSByZWNvbmNpbGUgYW4gYXJyYXkgKG9yIGl0ZXJhdG9yKSBvZiBjaGlsZFxuICAvLyBmaWJlcnMsIGJlY2F1c2UgdGhhdCdzIHRoZSBvbmx5IHBsYWNlIHdoZXJlIHdlIGtub3cgaG93IG1hbnkgY2hpbGRyZW4gaW5cbiAgLy8gdGhlIHdob2xlIHNldCB3aXRob3V0IGRvaW5nIGV4dHJhIHdvcmsgbGF0ZXIsIG9yIHN0b3JpbmcgYWRkdGlvbmFsXG4gIC8vIGluZm9ybWF0aW9uIG9uIHRoZSBmaWJlci5cbiAgLy9cbiAgLy8gVGhhdCdzIHdoeSB0aGlzIGZ1bmN0aW9uIGlzIHNlcGFyYXRlIGZyb20gcHVzaFRyZWVJZCDigJQgaXQncyBjYWxsZWQgZHVyaW5nXG4gIC8vIHRoZSByZW5kZXIgcGhhc2Ugb2YgdGhlIGZvcmsgcGFyZW50LCBub3QgdGhlIGNoaWxkLCB3aGljaCBpcyB3aGVyZSB3ZSBwdXNoXG4gIC8vIHRoZSBvdGhlciBjb250ZXh0IHZhbHVlcy5cbiAgLy9cbiAgLy8gSW4gdGhlIEZpenogaW1wbGVtZW50YXRpb24gdGhpcyBpcyBtdWNoIHNpbXBsZXIgYmVjYXVzZSB0aGUgY2hpbGQgaXNcbiAgLy8gcmVuZGVyZWQgaW4gdGhlIHNhbWUgY2FsbHN0YWNrIGFzIHRoZSBwYXJlbnQuXG4gIC8vXG4gIC8vIEl0IG1pZ2h0IGJlIGJldHRlciB0byBqdXN0IGFkZCBhIGBmb3Jrc2AgZmllbGQgdG8gdGhlIEZpYmVyIHR5cGUuIEl0IHdvdWxkXG4gIC8vIG1ha2UgdGhpcyBtb2R1bGUgc2ltcGxlci5cbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleCsrXSA9IHRyZWVGb3JrQ291bnQ7XG4gIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleCsrXSA9IHRyZWVGb3JrUHJvdmlkZXI7XG4gIHRyZWVGb3JrUHJvdmlkZXIgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdHJlZUZvcmtDb3VudCA9IHRvdGFsQ2hpbGRyZW47XG59XG5mdW5jdGlvbiBwdXNoVHJlZUlkKHdvcmtJblByb2dyZXNzLCB0b3RhbENoaWxkcmVuLCBpbmRleCkge1xuICB3YXJuSWZOb3RIeWRyYXRpbmcoKTtcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dElkO1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0T3ZlcmZsb3c7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRQcm92aWRlcjtcbiAgdHJlZUNvbnRleHRQcm92aWRlciA9IHdvcmtJblByb2dyZXNzO1xuICB2YXIgYmFzZUlkV2l0aExlYWRpbmdCaXQgPSB0cmVlQ29udGV4dElkO1xuICB2YXIgYmFzZU92ZXJmbG93ID0gdHJlZUNvbnRleHRPdmVyZmxvdzsgLy8gVGhlIGxlZnRtb3N0IDEgbWFya3MgdGhlIGVuZCBvZiB0aGUgc2VxdWVuY2UsIG5vbi1pbmNsdXNpdmUuIEl0J3Mgbm90IHBhcnRcbiAgLy8gb2YgdGhlIGlkOyB3ZSB1c2UgaXQgdG8gYWNjb3VudCBmb3IgbGVhZGluZyAwcy5cblxuICB2YXIgYmFzZUxlbmd0aCA9IGdldEJpdExlbmd0aChiYXNlSWRXaXRoTGVhZGluZ0JpdCkgLSAxO1xuICB2YXIgYmFzZUlkID0gYmFzZUlkV2l0aExlYWRpbmdCaXQgJiB+KDEgPDwgYmFzZUxlbmd0aCk7XG4gIHZhciBzbG90ID0gaW5kZXggKyAxO1xuICB2YXIgbGVuZ3RoID0gZ2V0Qml0TGVuZ3RoKHRvdGFsQ2hpbGRyZW4pICsgYmFzZUxlbmd0aDsgLy8gMzAgaXMgdGhlIG1heCBsZW5ndGggd2UgY2FuIHN0b3JlIHdpdGhvdXQgb3ZlcmZsb3dpbmcsIHRha2luZyBpbnRvXG4gIC8vIGNvbnNpZGVyYXRpb24gdGhlIGxlYWRpbmcgMSB3ZSB1c2UgdG8gbWFyayB0aGUgZW5kIG9mIHRoZSBzZXF1ZW5jZS5cblxuICBpZiAobGVuZ3RoID4gMzApIHtcbiAgICAvLyBXZSBvdmVyZmxvd2VkIHRoZSBiaXR3aXNlLXNhZmUgcmFuZ2UuIEZhbGwgYmFjayB0byBzbG93ZXIgYWxnb3JpdGhtLlxuICAgIC8vIFRoaXMgYnJhbmNoIGFzc3VtZXMgdGhlIGxlbmd0aCBvZiB0aGUgYmFzZSBpZCBpcyBncmVhdGVyIHRoYW4gNTsgaXQgd29uJ3RcbiAgICAvLyB3b3JrIGZvciBzbWFsbGVyIGlkcywgYmVjYXVzZSB5b3UgbmVlZCA1IGJpdHMgcGVyIGNoYXJhY3Rlci5cbiAgICAvL1xuICAgIC8vIFdlIGVuY29kZSB0aGUgaWQgaW4gbXVsdGlwbGUgc3RlcHM6IGZpcnN0IHRoZSBiYXNlIGlkLCB0aGVuIHRoZVxuICAgIC8vIHJlbWFpbmluZyBkaWdpdHMuXG4gICAgLy9cbiAgICAvLyBFYWNoIDUgYml0IHNlcXVlbmNlIGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIGJhc2UgMzIgY2hhcmFjdGVyLiBTbyBmb3JcbiAgICAvLyBleGFtcGxlLCBpZiB0aGUgY3VycmVudCBpZCBpcyAyMyBiaXRzIGxvbmcsIHdlIGNhbiBjb252ZXJ0IDIwIG9mIHRob3NlXG4gICAgLy8gYml0cyBpbnRvIGEgc3RyaW5nIG9mIDQgY2hhcmFjdGVycywgd2l0aCAzIGJpdHMgbGVmdCBvdmVyLlxuICAgIC8vXG4gICAgLy8gRmlyc3QgY2FsY3VsYXRlIGhvdyBtYW55IGJpdHMgaW4gdGhlIGJhc2UgaWQgcmVwcmVzZW50IGEgY29tcGxldGVcbiAgICAvLyBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzLlxuICAgIHZhciBudW1iZXJPZk92ZXJmbG93Qml0cyA9IGJhc2VMZW5ndGggLSBiYXNlTGVuZ3RoICUgNTsgLy8gVGhlbiBjcmVhdGUgYSBiaXRtYXNrIHRoYXQgc2VsZWN0cyBvbmx5IHRob3NlIGJpdHMuXG5cbiAgICB2YXIgbmV3T3ZlcmZsb3dCaXRzID0gKDEgPDwgbnVtYmVyT2ZPdmVyZmxvd0JpdHMpIC0gMTsgLy8gU2VsZWN0IHRoZSBiaXRzLCBhbmQgY29udmVydCB0aGVtIHRvIGEgYmFzZSAzMiBzdHJpbmcuXG5cbiAgICB2YXIgbmV3T3ZlcmZsb3cgPSAoYmFzZUlkICYgbmV3T3ZlcmZsb3dCaXRzKS50b1N0cmluZygzMik7IC8vIE5vdyB3ZSBjYW4gcmVtb3ZlIHRob3NlIGJpdHMgZnJvbSB0aGUgYmFzZSBpZC5cblxuICAgIHZhciByZXN0T2ZCYXNlSWQgPSBiYXNlSWQgPj4gbnVtYmVyT2ZPdmVyZmxvd0JpdHM7XG4gICAgdmFyIHJlc3RPZkJhc2VMZW5ndGggPSBiYXNlTGVuZ3RoIC0gbnVtYmVyT2ZPdmVyZmxvd0JpdHM7IC8vIEZpbmFsbHksIGVuY29kZSB0aGUgcmVzdCBvZiB0aGUgYml0cyB1c2luZyB0aGUgbm9ybWFsIGFsZ29yaXRobS4gQmVjYXVzZVxuICAgIC8vIHdlIG1hZGUgbW9yZSByb29tLCB0aGlzIHRpbWUgaXQgd29uJ3Qgb3ZlcmZsb3cuXG5cbiAgICB2YXIgcmVzdE9mTGVuZ3RoID0gZ2V0Qml0TGVuZ3RoKHRvdGFsQ2hpbGRyZW4pICsgcmVzdE9mQmFzZUxlbmd0aDtcbiAgICB2YXIgcmVzdE9mTmV3Qml0cyA9IHNsb3QgPDwgcmVzdE9mQmFzZUxlbmd0aDtcbiAgICB2YXIgaWQgPSByZXN0T2ZOZXdCaXRzIHwgcmVzdE9mQmFzZUlkO1xuICAgIHZhciBvdmVyZmxvdyA9IG5ld092ZXJmbG93ICsgYmFzZU92ZXJmbG93O1xuICAgIHRyZWVDb250ZXh0SWQgPSAxIDw8IHJlc3RPZkxlbmd0aCB8IGlkO1xuICAgIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSBvdmVyZmxvdztcbiAgfSBlbHNlIHtcbiAgICAvLyBOb3JtYWwgcGF0aFxuICAgIHZhciBuZXdCaXRzID0gc2xvdCA8PCBiYXNlTGVuZ3RoO1xuXG4gICAgdmFyIF9pZCA9IG5ld0JpdHMgfCBiYXNlSWQ7XG5cbiAgICB2YXIgX292ZXJmbG93ID0gYmFzZU92ZXJmbG93O1xuICAgIHRyZWVDb250ZXh0SWQgPSAxIDw8IGxlbmd0aCB8IF9pZDtcbiAgICB0cmVlQ29udGV4dE92ZXJmbG93ID0gX292ZXJmbG93O1xuICB9XG59XG5mdW5jdGlvbiBwdXNoTWF0ZXJpYWxpemVkVHJlZUlkKHdvcmtJblByb2dyZXNzKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpOyAvLyBUaGlzIGNvbXBvbmVudCBtYXRlcmlhbGl6ZWQgYW4gaWQuIFRoaXMgd2lsbCBhZmZlY3QgYW55IGlkcyB0aGF0IGFwcGVhclxuICAvLyBpbiBpdHMgY2hpbGRyZW4uXG5cbiAgdmFyIHJldHVybkZpYmVyID0gd29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuXG4gIGlmIChyZXR1cm5GaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBudW1iZXJPZkZvcmtzID0gMTtcbiAgICB2YXIgc2xvdEluZGV4ID0gMDtcbiAgICBwdXNoVHJlZUZvcmsod29ya0luUHJvZ3Jlc3MsIG51bWJlck9mRm9ya3MpO1xuICAgIHB1c2hUcmVlSWQod29ya0luUHJvZ3Jlc3MsIG51bWJlck9mRm9ya3MsIHNsb3RJbmRleCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Qml0TGVuZ3RoKG51bWJlcikge1xuICByZXR1cm4gMzIgLSBjbHozMihudW1iZXIpO1xufVxuXG5mdW5jdGlvbiBnZXRMZWFkaW5nQml0KGlkKSB7XG4gIHJldHVybiAxIDw8IGdldEJpdExlbmd0aChpZCkgLSAxO1xufVxuXG5mdW5jdGlvbiBwb3BUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBSZXN0b3JlIHRoZSBwcmV2aW91cyB2YWx1ZXMuXG4gIC8vIFRoaXMgaXMgYSBiaXQgbW9yZSBjb21wbGljYXRlZCB0aGFuIG90aGVyIGNvbnRleHQtbGlrZSBtb2R1bGVzIGluIEZpYmVyXG4gIC8vIGJlY2F1c2UgdGhlIHNhbWUgRmliZXIgbWF5IGFwcGVhciBvbiB0aGUgc3RhY2sgbXVsdGlwbGUgdGltZXMgYW5kIGZvclxuICAvLyBkaWZmZXJlbnQgcmVhc29ucy4gV2UgaGF2ZSB0byBrZWVwIHBvcHBpbmcgdW50aWwgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgaXNcbiAgLy8gbm8gbG9uZ2VyIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrLlxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgPT09IHRyZWVGb3JrUHJvdmlkZXIpIHtcbiAgICB0cmVlRm9ya1Byb3ZpZGVyID0gZm9ya1N0YWNrWy0tZm9ya1N0YWNrSW5kZXhdO1xuICAgIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleF0gPSBudWxsO1xuICAgIHRyZWVGb3JrQ291bnQgPSBmb3JrU3RhY2tbLS1mb3JrU3RhY2tJbmRleF07XG4gICAgZm9ya1N0YWNrW2ZvcmtTdGFja0luZGV4XSA9IG51bGw7XG4gIH1cblxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgPT09IHRyZWVDb250ZXh0UHJvdmlkZXIpIHtcbiAgICB0cmVlQ29udGV4dFByb3ZpZGVyID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgICB0cmVlQ29udGV4dE92ZXJmbG93ID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgICB0cmVlQ29udGV4dElkID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0U3VzcGVuZGVkVHJlZUNvbnRleHQoKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpO1xuXG4gIGlmICh0cmVlQ29udGV4dFByb3ZpZGVyICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0cmVlQ29udGV4dElkLFxuICAgICAgb3ZlcmZsb3c6IHRyZWVDb250ZXh0T3ZlcmZsb3dcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlU3VzcGVuZGVkVHJlZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbmRlZENvbnRleHQpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRJZDtcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dE92ZXJmbG93O1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0UHJvdmlkZXI7XG4gIHRyZWVDb250ZXh0SWQgPSBzdXNwZW5kZWRDb250ZXh0LmlkO1xuICB0cmVlQ29udGV4dE92ZXJmbG93ID0gc3VzcGVuZGVkQ29udGV4dC5vdmVyZmxvdztcbiAgdHJlZUNvbnRleHRQcm92aWRlciA9IHdvcmtJblByb2dyZXNzO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZOb3RIeWRyYXRpbmcoKSB7XG4gIHtcbiAgICBpZiAoIWdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBiZSBoeWRyYXRpbmcuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlICcgKyAnYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgbWF5IGhhdmUgYmVlbiBhbiBpbnNlcnRpb24gb3IgYSBoeWRyYXRpb24uXG5cbnZhciBoeWRyYXRpb25QYXJlbnRGaWJlciA9IG51bGw7XG52YXIgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG52YXIgaXNIeWRyYXRpbmcgPSBmYWxzZTsgLy8gVGhpcyBmbGFnIGFsbG93cyBmb3Igd2FybmluZyBzdXByZXNzaW9uIHdoZW4gd2UgZXhwZWN0IHRoZXJlIHRvIGJlIG1pc21hdGNoZXNcbi8vIGR1ZSB0byBlYXJsaWVyIG1pc21hdGNoZXMgb3IgYSBzdXNwZW5kZWQgZmliZXIuXG5cbnZhciBkaWRTdXNwZW5kT3JFcnJvckRFViA9IGZhbHNlOyAvLyBIeWRyYXRpb24gZXJyb3JzIHRoYXQgd2VyZSB0aHJvd24gaW5zaWRlIHRoaXMgYm91bmRhcnlcblxudmFyIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG5cbmZ1bmN0aW9uIHdhcm5JZkh5ZHJhdGluZygpIHtcbiAge1xuICAgIGlmIChpc0h5ZHJhdGluZykge1xuICAgICAgZXJyb3IoJ1dlIHNob3VsZCBub3QgYmUgaHlkcmF0aW5nIGhlcmUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGEgYnVnLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrRGlkVGhyb3dXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIGRpZFN1c3BlbmRPckVycm9yREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkU3VzcGVuZE9yRXJyb3JXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIHJldHVybiBkaWRTdXNwZW5kT3JFcnJvckRFVjtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnRlckh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgdmFyIHBhcmVudEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG4gIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpbkNvbnRhaW5lcihwYXJlbnRJbnN0YW5jZSk7XG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gIGlzSHlkcmF0aW5nID0gdHJ1ZTtcbiAgaHlkcmF0aW9uRXJyb3JzID0gbnVsbDtcbiAgZGlkU3VzcGVuZE9yRXJyb3JERVYgPSBmYWxzZTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHJlZW50ZXJIeWRyYXRpb25TdGF0ZUZyb21EZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlciwgc3VzcGVuc2VJbnN0YW5jZSwgdHJlZUNvbnRleHQpIHtcblxuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGRXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpO1xuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICBpc0h5ZHJhdGluZyA9IHRydWU7XG4gIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG4gIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7XG5cbiAgaWYgKHRyZWVDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgcmVzdG9yZVN1c3BlbmRlZFRyZWVDb250ZXh0KGZpYmVyLCB0cmVlQ29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgaW5zdGFuY2UpIHtcbiAge1xuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluQ29udGFpbmVyKHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLCBpbnN0YW5jZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZShyZXR1cm5GaWJlci50eXBlLCByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzLCByZXR1cm5GaWJlci5zdGF0ZU5vZGUsIGluc3RhbmNlLCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgIGlzQ29uY3VycmVudE1vZGUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHJldHVybkZpYmVyLm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgaWYgKHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQsIGluc3RhbmNlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKSB7XG4gIHdhcm5Vbmh5ZHJhdGVkSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKTtcbiAgdmFyIGNoaWxkVG9EZWxldGUgPSBjcmVhdGVGaWJlckZyb21Ib3N0SW5zdGFuY2VGb3JEZWxldGlvbigpO1xuICBjaGlsZFRvRGVsZXRlLnN0YXRlTm9kZSA9IGluc3RhbmNlO1xuICBjaGlsZFRvRGVsZXRlLnJldHVybiA9IHJldHVybkZpYmVyO1xuICB2YXIgZGVsZXRpb25zID0gcmV0dXJuRmliZXIuZGVsZXRpb25zO1xuXG4gIGlmIChkZWxldGlvbnMgPT09IG51bGwpIHtcbiAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBbY2hpbGRUb0RlbGV0ZV07XG4gICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgfSBlbHNlIHtcbiAgICBkZWxldGlvbnMucHVzaChjaGlsZFRvRGVsZXRlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuTm9uaHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgZmliZXIpIHtcbiAge1xuICAgIGlmIChkaWRTdXNwZW5kT3JFcnJvckRFVikge1xuICAgICAgLy8gSW5zaWRlIGEgYm91bmRhcnkgdGhhdCBhbHJlYWR5IHN1c3BlbmRlZC4gV2UncmUgY3VycmVudGx5IHJlbmRlcmluZyB0aGVcbiAgICAgIC8vIHNpYmxpbmdzIG9mIGEgc3VzcGVuZGVkIG5vZGUuIFRoZSBtaXNtYXRjaCBtYXkgYmUgZHVlIHRvIHRoZSBtaXNzaW5nXG4gICAgICAvLyBkYXRhLCBzbyBpdCdzIHByb2JhYmx5IGEgZmFsc2UgcG9zaXRpdmUuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChyZXR1cm5GaWJlci50YWcpIHtcbiAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgcGFyZW50Q29udGFpbmVyID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG5cbiAgICAgICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIHR5cGUpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgICAgICAgICAgdmFyIHRleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlV2l0aGluQ29udGFpbmVyKHBhcmVudENvbnRhaW5lciwgdGV4dCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwYXJlbnRUeXBlID0gcmV0dXJuRmliZXIudHlwZTtcbiAgICAgICAgICB2YXIgcGFyZW50UHJvcHMgPSByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzO1xuICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YXIgX3R5cGUgPSBmaWJlci50eXBlO1xuICAgICAgICAgICAgICAgIHZhciBfcHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBfdHlwZSwgX3Byb3BzLCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgICAgIGlzQ29uY3VycmVudE1vZGUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgICAgICAgICB2YXIgX2lzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuXG4gICAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBfdGV4dCwgLy8gVE9ETzogRGVsZXRlIHRoaXMgYXJndW1lbnQgd2hlbiB3ZSByZW1vdmUgdGhlIGxlZ2FjeSByb290IEFQSS5cbiAgICAgICAgICAgICAgICBfaXNDb25jdXJyZW50TW9kZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHN1c3BlbnNlU3RhdGUgPSByZXR1cm5GaWJlci5tZW1vaXplZFN0YXRlO1xuICAgICAgICAgIHZhciBfcGFyZW50SW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQ7XG4gICAgICAgICAgaWYgKF9wYXJlbnRJbnN0YW5jZSAhPT0gbnVsbCkgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAgICAgICAgdmFyIF90eXBlMiA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBfcHJvcHMyID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShfcGFyZW50SW5zdGFuY2UsIF90eXBlMik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgICAgICAgICB2YXIgX3RleHQyID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZVRleHRJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UoX3BhcmVudEluc3RhbmNlLCBfdGV4dDIpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKHJldHVybkZpYmVyLCBmaWJlcikge1xuICBmaWJlci5mbGFncyA9IGZpYmVyLmZsYWdzICYgfkh5ZHJhdGluZyB8IFBsYWNlbWVudDtcbiAgd2Fybk5vbmh5ZHJhdGVkSW5zdGFuY2UocmV0dXJuRmliZXIsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSB7XG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgdmFyIGluc3RhbmNlID0gY2FuSHlkcmF0ZUluc3RhbmNlKG5leHRJbnN0YW5jZSwgdHlwZSk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgZmliZXIuc3RhdGVOb2RlID0gaW5zdGFuY2U7XG4gICAgICAgICAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcbiAgICAgICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQoaW5zdGFuY2UpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHRleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgIHZhciB0ZXh0SW5zdGFuY2UgPSBjYW5IeWRyYXRlVGV4dEluc3RhbmNlKG5leHRJbnN0YW5jZSwgdGV4dCk7XG5cbiAgICAgICAgaWYgKHRleHRJbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGZpYmVyLnN0YXRlTm9kZSA9IHRleHRJbnN0YW5jZTtcbiAgICAgICAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyOyAvLyBUZXh0IEluc3RhbmNlcyBkb24ndCBoYXZlIGNoaWxkcmVuIHNvIHRoZXJlJ3Mgbm90aGluZyB0byBoeWRyYXRlLlxuXG4gICAgICAgICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgc3VzcGVuc2VJbnN0YW5jZSA9IGNhbkh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKG5leHRJbnN0YW5jZSk7XG5cbiAgICAgICAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHtcbiAgICAgICAgICAgIGRlaHlkcmF0ZWQ6IHN1c3BlbnNlSW5zdGFuY2UsXG4gICAgICAgICAgICB0cmVlQ29udGV4dDogZ2V0U3VzcGVuZGVkVHJlZUNvbnRleHQoKSxcbiAgICAgICAgICAgIHJldHJ5TGFuZTogT2Zmc2NyZWVuTGFuZVxuICAgICAgICAgIH07XG4gICAgICAgICAgZmliZXIubWVtb2l6ZWRTdGF0ZSA9IHN1c3BlbnNlU3RhdGU7IC8vIFN0b3JlIHRoZSBkZWh5ZHJhdGVkIGZyYWdtZW50IGFzIGEgY2hpbGQgZmliZXIuXG4gICAgICAgICAgLy8gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGZvciBnZXRIb3N0U2libGluZyBhbmQgZGVsZXRpbmcgbm9kZXMsXG4gICAgICAgICAgLy8gc2luY2UgaXQgZG9lc24ndCBoYXZlIHRvIGNvbnNpZGVyIGFsbCBTdXNwZW5zZSBib3VuZGFyaWVzIGFuZFxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZXkncmUgZGVoeWRyYXRlZCBvbmVzIG9yIG5vdC5cblxuICAgICAgICAgIHZhciBkZWh5ZHJhdGVkRnJhZ21lbnQgPSBjcmVhdGVGaWJlckZyb21EZWh5ZHJhdGVkRnJhZ21lbnQoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgICAgICAgZGVoeWRyYXRlZEZyYWdtZW50LnJldHVybiA9IGZpYmVyO1xuICAgICAgICAgIGZpYmVyLmNoaWxkID0gZGVoeWRyYXRlZEZyYWdtZW50O1xuICAgICAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7IC8vIFdoaWxlIGEgU3VzcGVuc2UgSW5zdGFuY2UgZG9lcyBoYXZlIGNoaWxkcmVuLCB3ZSB3b24ndCBzdGVwIGludG9cbiAgICAgICAgICAvLyBpdCBkdXJpbmcgdGhlIGZpcnN0IHBhc3MuIEluc3RlYWQsIHdlJ2xsIHJlZW50ZXIgaXQgbGF0ZXIuXG5cbiAgICAgICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gbnVsbDtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikge1xuICByZXR1cm4gKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSAmJiAoZmliZXIuZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncztcbn1cblxuZnVuY3Rpb24gdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKGZpYmVyKSB7XG4gIHRocm93IG5ldyBFcnJvcignSHlkcmF0aW9uIGZhaWxlZCBiZWNhdXNlIHRoZSBpbml0aWFsIFVJIGRvZXMgbm90IG1hdGNoIHdoYXQgd2FzICcgKyAncmVuZGVyZWQgb24gdGhlIHNlcnZlci4nKTtcbn1cblxuZnVuY3Rpb24gdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2UoZmliZXIpIHtcbiAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xuXG4gIGlmICghbmV4dEluc3RhbmNlKSB7XG4gICAgaWYgKHNob3VsZENsaWVudFJlbmRlck9uTWlzbWF0Y2goZmliZXIpKSB7XG4gICAgICB3YXJuTm9uaHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKCk7XG4gICAgfSAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuXG5cbiAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBmaXJzdEF0dGVtcHRlZEluc3RhbmNlID0gbmV4dEluc3RhbmNlO1xuXG4gIGlmICghdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSkge1xuICAgIGlmIChzaG91bGRDbGllbnRSZW5kZXJPbk1pc21hdGNoKGZpYmVyKSkge1xuICAgICAgd2Fybk5vbmh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgIH0gLy8gSWYgd2UgY2FuJ3QgaHlkcmF0ZSB0aGlzIGluc3RhbmNlIGxldCdzIHRyeSB0aGUgbmV4dCBvbmUuXG4gICAgLy8gV2UgdXNlIHRoaXMgYXMgYSBoZXVyaXN0aWMuIEl0J3MgYmFzZWQgb24gaW50dWl0aW9uIGFuZCBub3QgZGF0YSBzbyBpdFxuICAgIC8vIG1pZ2h0IGJlIGZsYXdlZCBvciB1bm5lY2Vzc2FyeS5cblxuXG4gICAgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGZpcnN0QXR0ZW1wdGVkSW5zdGFuY2UpO1xuICAgIHZhciBwcmV2SHlkcmF0aW9uUGFyZW50RmliZXIgPSBoeWRyYXRpb25QYXJlbnRGaWJlcjtcblxuICAgIGlmICghbmV4dEluc3RhbmNlIHx8ICF0cnlIeWRyYXRlKGZpYmVyLCBuZXh0SW5zdGFuY2UpKSB7XG4gICAgICAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuICAgICAgaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBXZSBtYXRjaGVkIHRoZSBuZXh0IG9uZSwgd2UnbGwgbm93IGFzc3VtZSB0aGF0IHRoZSBmaXJzdCBvbmUgd2FzXG4gICAgLy8gc3VwZXJmbHVvdXMgYW5kIHdlJ2xsIGRlbGV0ZSBpdC4gU2luY2Ugd2UgY2FuJ3QgZWFnZXJseSBkZWxldGUgaXRcbiAgICAvLyB3ZSdsbCBoYXZlIHRvIHNjaGVkdWxlIGEgZGVsZXRpb24uIFRvIGRvIHRoYXQsIHRoaXMgbm9kZSBuZWVkcyBhIGR1bW15XG4gICAgLy8gZmliZXIgYXNzb2NpYXRlZCB3aXRoIGl0LlxuXG5cbiAgICBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocHJldkh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaXJzdEF0dGVtcHRlZEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKGZpYmVyLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0KSB7XG5cbiAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICB2YXIgc2hvdWxkV2FybklmTWlzbWF0Y2hEZXYgPSAhZGlkU3VzcGVuZE9yRXJyb3JERVY7XG4gIHZhciB1cGRhdGVQYXlsb2FkID0gaHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCBmaWJlci50eXBlLCBmaWJlci5tZW1vaXplZFByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBmaWJlciwgc2hvdWxkV2FybklmTWlzbWF0Y2hEZXYpOyAvLyBUT0RPOiBUeXBlIHRoaXMgc3BlY2lmaWMgdG8gdGhpcyB0eXBlIG9mIGNvbXBvbmVudC5cblxuICBmaWJlci51cGRhdGVRdWV1ZSA9IHVwZGF0ZVBheWxvYWQ7IC8vIElmIHRoZSB1cGRhdGUgcGF5bG9hZCBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhIGNoYW5nZSBvciBpZiB0aGVyZVxuICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS5cblxuICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdFRleHRJbnN0YW5jZShmaWJlcikge1xuXG4gIHZhciB0ZXh0SW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG4gIHZhciB0ZXh0Q29udGVudCA9IGZpYmVyLm1lbW9pemVkUHJvcHM7XG4gIHZhciBzaG91bGRVcGRhdGUgPSBoeWRyYXRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIGZpYmVyKTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gV2UgYXNzdW1lIHRoYXQgcHJlcGFyZVRvSHlkcmF0ZUhvc3RUZXh0SW5zdGFuY2UgaXMgY2FsbGVkIGluIGEgY29udGV4dCB3aGVyZSB0aGVcbiAgICAvLyBoeWRyYXRpb24gcGFyZW50IGlzIHRoZSBwYXJlbnQgaG9zdCBjb21wb25lbnQgb2YgdGhpcyBob3N0IHRleHQuXG4gICAgdmFyIHJldHVybkZpYmVyID0gaHlkcmF0aW9uUGFyZW50RmliZXI7XG5cbiAgICBpZiAocmV0dXJuRmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudENvbnRhaW5lciA9IHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgICAgZGlkTm90TWF0Y2hIeWRyYXRlZENvbnRhaW5lclRleHRJbnN0YW5jZShwYXJlbnRDb250YWluZXIsIHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIC8vIFRPRE86IERlbGV0ZSB0aGlzIGFyZ3VtZW50IHdoZW4gd2UgcmVtb3ZlIHRoZSBsZWdhY3kgcm9vdCBBUEkuXG4gICAgICAgICAgICBpc0NvbmN1cnJlbnRNb2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudFR5cGUgPSByZXR1cm5GaWJlci50eXBlO1xuICAgICAgICAgICAgdmFyIHBhcmVudFByb3BzID0gcmV0dXJuRmliZXIubWVtb2l6ZWRQcm9wcztcbiAgICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgdmFyIF9pc0NvbmN1cnJlbnRNb2RlMiA9IChyZXR1cm5GaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG5cbiAgICAgICAgICAgIGRpZE5vdE1hdGNoSHlkcmF0ZWRUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0ZXh0SW5zdGFuY2UsIHRleHRDb250ZW50LCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgX2lzQ29uY3VycmVudE1vZGUyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpIHtcblxuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzdXNwZW5zZUluc3RhbmNlID0gc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCA/IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCA6IG51bGw7XG5cbiAgaWYgKCFzdXNwZW5zZUluc3RhbmNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBoYXZlIGEgaHlkcmF0ZWQgc3VzcGVuc2UgaW5zdGFuY2UuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIGh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2tpcFBhc3REZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlcikge1xuXG4gIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHN1c3BlbnNlSW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlICE9PSBudWxsID8gc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkIDogbnVsbDtcblxuICBpZiAoIXN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGhhdmUgYSBoeWRyYXRlZCBzdXNwZW5zZSBpbnN0YW5jZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG5cbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlSW5zdGFuY2VBZnRlclN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG59XG5cbmZ1bmN0aW9uIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsICYmIHBhcmVudC50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgcGFyZW50LnRhZyAhPT0gSG9zdFJvb3QgJiYgcGFyZW50LnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICB9XG5cbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBwYXJlbnQ7XG59XG5cbmZ1bmN0aW9uIHBvcEh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgaWYgKGZpYmVyICE9PSBoeWRyYXRpb25QYXJlbnRGaWJlcikge1xuICAgIC8vIFdlJ3JlIGRlZXBlciB0aGFuIHRoZSBjdXJyZW50IGh5ZHJhdGlvbiBjb250ZXh0LCBpbnNpZGUgYW4gaW5zZXJ0ZWRcbiAgICAvLyB0cmVlLlxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaXNIeWRyYXRpbmcpIHtcbiAgICAvLyBJZiB3ZSdyZSBub3QgY3VycmVudGx5IGh5ZHJhdGluZyBidXQgd2UncmUgaW4gYSBoeWRyYXRpb24gY29udGV4dCwgdGhlblxuICAgIC8vIHdlIHdlcmUgYW4gaW5zZXJ0aW9uIGFuZCBub3cgbmVlZCB0byBwb3AgdXAgcmVlbnRlciBoeWRyYXRpb24gb2Ygb3VyXG4gICAgLy8gc2libGluZ3MuXG4gICAgcG9wVG9OZXh0SG9zdFBhcmVudChmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBJZiB3ZSBoYXZlIGFueSByZW1haW5pbmcgaHlkcmF0YWJsZSBub2Rlcywgd2UgbmVlZCB0byBkZWxldGUgdGhlbSBub3cuXG4gIC8vIFdlIG9ubHkgZG8gdGhpcyBkZWVwZXIgdGhhbiBoZWFkIGFuZCBib2R5IHNpbmNlIHRoZXkgdGVuZCB0byBoYXZlIHJhbmRvbVxuICAvLyBvdGhlciBub2RlcyBpbiB0aGVtLiBXZSBhbHNvIGlnbm9yZSBjb21wb25lbnRzIHdpdGggcHVyZSB0ZXh0IGNvbnRlbnQgaW5cbiAgLy8gc2lkZSBvZiB0aGVtLiBXZSBhbHNvIGRvbid0IGRlbGV0ZSBhbnl0aGluZyBpbnNpZGUgdGhlIHJvb3QgY29udGFpbmVyLlxuXG5cbiAgaWYgKGZpYmVyLnRhZyAhPT0gSG9zdFJvb3QgJiYgKGZpYmVyLnRhZyAhPT0gSG9zdENvbXBvbmVudCB8fCBzaG91bGREZWxldGVVbmh5ZHJhdGVkVGFpbEluc3RhbmNlcyhmaWJlci50eXBlKSAmJiAhc2hvdWxkU2V0VGV4dENvbnRlbnQoZmliZXIudHlwZSwgZmliZXIubWVtb2l6ZWRQcm9wcykpKSB7XG4gICAgdmFyIG5leHRJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XG5cbiAgICBpZiAobmV4dEluc3RhbmNlKSB7XG4gICAgICBpZiAoc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikpIHtcbiAgICAgICAgd2FybklmVW5oeWRyYXRlZFRhaWxOb2RlcyhmaWJlcik7XG4gICAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2hpbGUgKG5leHRJbnN0YW5jZSkge1xuICAgICAgICAgIGRlbGV0ZUh5ZHJhdGFibGVJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICAgICAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpO1xuXG4gIGlmIChmaWJlci50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IHNraXBQYXN0RGVoeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpO1xuICB9IGVsc2Uge1xuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBoeWRyYXRpb25QYXJlbnRGaWJlciA/IGdldE5leHRIeWRyYXRhYmxlU2libGluZyhmaWJlci5zdGF0ZU5vZGUpIDogbnVsbDtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBoYXNVbmh5ZHJhdGVkVGFpbE5vZGVzKCkge1xuICByZXR1cm4gaXNIeWRyYXRpbmcgJiYgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSAhPT0gbnVsbDtcbn1cblxuZnVuY3Rpb24gd2FybklmVW5oeWRyYXRlZFRhaWxOb2RlcyhmaWJlcikge1xuICB2YXIgbmV4dEluc3RhbmNlID0gbmV4dEh5ZHJhdGFibGVJbnN0YW5jZTtcblxuICB3aGlsZSAobmV4dEluc3RhbmNlKSB7XG4gICAgd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldEh5ZHJhdGlvblN0YXRlKCkge1xuXG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gbnVsbDtcbiAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG4gIGlzSHlkcmF0aW5nID0gZmFsc2U7XG4gIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHVwZ3JhZGVIeWRyYXRpb25FcnJvcnNUb1JlY292ZXJhYmxlKCkge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzICE9PSBudWxsKSB7XG4gICAgLy8gU3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCBhIGZvcmNlZCBjbGllbnQgcmVuZGVyLiBUaGUgZXJyb3JzIHRoYXQgb2NjdXJyZWRcbiAgICAvLyBkdXJpbmcgdGhlIGh5ZHJhdGlvbiBhdHRlbXB0IGFyZSBub3cgcmVjb3ZlcmVkLiBXZSB3aWxsIGxvZyB0aGVtIGluXG4gICAgLy8gY29tbWl0IHBoYXNlLCBvbmNlIHRoZSBlbnRpcmUgdHJlZSBoYXMgZmluaXNoZWQuXG4gICAgcXVldWVSZWNvdmVyYWJsZUVycm9ycyhoeWRyYXRpb25FcnJvcnMpO1xuICAgIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SXNIeWRyYXRpbmcoKSB7XG4gIHJldHVybiBpc0h5ZHJhdGluZztcbn1cblxuZnVuY3Rpb24gcXVldWVIeWRyYXRpb25FcnJvcihlcnJvcikge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzID09PSBudWxsKSB7XG4gICAgaHlkcmF0aW9uRXJyb3JzID0gW2Vycm9yXTtcbiAgfSBlbHNlIHtcbiAgICBoeWRyYXRpb25FcnJvcnMucHVzaChlcnJvcik7XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbnZhciBOb1RyYW5zaXRpb24gPSBudWxsO1xuZnVuY3Rpb24gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCkge1xuICByZXR1cm4gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS50cmFuc2l0aW9uO1xufVxuXG52YXIgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MgPSB7XG4gIHJlY29yZFVuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7fSxcbiAgZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3M6IGZ1bmN0aW9uICgpIHt9LFxuICByZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZzogZnVuY3Rpb24gKGZpYmVyLCBpbnN0YW5jZSkge30sXG4gIGZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmc6IGZ1bmN0aW9uICgpIHt9LFxuICBkaXNjYXJkUGVuZGluZ1dhcm5pbmdzOiBmdW5jdGlvbiAoKSB7fVxufTtcblxue1xuICB2YXIgZmluZFN0cmljdFJvb3QgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgICB2YXIgbWF5YmVTdHJpY3RSb290ID0gbnVsbDtcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgIG1heWJlU3RyaWN0Um9vdCA9IG5vZGU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gbWF5YmVTdHJpY3RSb290O1xuICB9O1xuXG4gIHZhciBzZXRUb1NvcnRlZFN0cmluZyA9IGZ1bmN0aW9uIChzZXQpIHtcbiAgICB2YXIgYXJyYXkgPSBbXTtcbiAgICBzZXQuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGFycmF5LnB1c2godmFsdWUpO1xuICAgIH0pO1xuICAgIHJldHVybiBhcnJheS5zb3J0KCkuam9pbignLCAnKTtcbiAgfTtcblxuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcyA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRVbnNhZmVMaWZlY3ljbGVXYXJuaW5ncyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICAvLyBEZWR1cGUgc3RyYXRlZ3k6IFdhcm4gb25jZSBwZXIgY29tcG9uZW50LlxuICAgIGlmIChkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nICYmIC8vIERvbid0IHdhcm4gYWJvdXQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLlxuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudC5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLnB1c2goZmliZXIpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG5cbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG4gIH07XG5cbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gV2UgZG8gYW4gaW5pdGlhbCBwYXNzIHRvIGdhdGhlciBjb21wb25lbnQgbmFtZXNcbiAgICB2YXIgY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xuXG4gICAgaWYgKHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIH0gLy8gRmluYWxseSwgd2UgZmx1c2ggYWxsIHRoZSB3YXJuaW5nc1xuICAgIC8vIFVOU0FGRV8gb25lcyBiZWZvcmUgdGhlIGRlcHJlY2F0ZWQgb25lcywgc2luY2UgdGhleSdsbCBiZSAnbG91ZGVyJ1xuXG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgc29ydGVkTmFtZXMgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICBlcnJvcignVXNpbmcgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgYW5kIG1heSBpbmRpY2F0ZSBidWdzIGluIHlvdXIgY29kZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZE1vdW50LCBhbmQgc2V0IGluaXRpYWwgc3RhdGUgaW4gdGhlIGNvbnN0cnVjdG9yLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgc29ydGVkTmFtZXMpO1xuICAgIH1cblxuICAgIGlmIChVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgX3NvcnRlZE5hbWVzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyk7XG5cbiAgICAgIGVycm9yKCdVc2luZyBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgJyArICdhbmQgbWF5IGluZGljYXRlIGJ1Z3MgaW4geW91ciBjb2RlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGRhdGEgZmV0Y2hpbmcgY29kZSBvciBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkVXBkYXRlLlxcbicgKyBcIiogSWYgeW91J3JlIHVwZGF0aW5nIHN0YXRlIHdoZW5ldmVyIHByb3BzIGNoYW5nZSwgXCIgKyAncmVmYWN0b3IgeW91ciBjb2RlIHRvIHVzZSBtZW1vaXphdGlvbiB0ZWNobmlxdWVzIG9yIG1vdmUgaXQgdG8gJyArICdzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiBMZWFybiBtb3JlIGF0OiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvZGVyaXZlZC1zdGF0ZVxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczIgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgZXJyb3IoJ1VzaW5nIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIGluIHN0cmljdCBtb2RlIGlzIG5vdCByZWNvbW1lbmRlZCAnICsgJ2FuZCBtYXkgaW5kaWNhdGUgYnVncyBpbiB5b3VyIGNvZGUuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXMyKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXMzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsTW91bnQgaGFzIGJlZW4gcmVuYW1lZCwgYW5kIGlzIG5vdCByZWNvbW1lbmRlZCBmb3IgdXNlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkTW91bnQsIGFuZCBzZXQgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgY29uc3RydWN0b3IuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsTW91bnQgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCB0byBzdXBwcmVzcyAnICsgJ3RoaXMgd2FybmluZyBpbiBub24tc3RyaWN0IG1vZGUuIEluIFJlYWN0IDE4LngsIG9ubHkgdGhlIFVOU0FGRV8gbmFtZSB3aWxsIHdvcmsuICcgKyAnVG8gcmVuYW1lIGFsbCBkZXByZWNhdGVkIGxpZmVjeWNsZXMgdG8gdGhlaXIgbmV3IG5hbWVzLCB5b3UgY2FuIHJ1biAnICsgJ2BucHggcmVhY3QtY29kZW1vZCByZW5hbWUtdW5zYWZlLWxpZmVjeWNsZXNgIGluIHlvdXIgcHJvamVjdCBzb3VyY2UgZm9sZGVyLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMyk7XG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczQgPSBzZXRUb1NvcnRlZFN0cmluZyhjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBkYXRhIGZldGNoaW5nIGNvZGUgb3Igc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZFVwZGF0ZS5cXG4nICsgXCIqIElmIHlvdSdyZSB1cGRhdGluZyBzdGF0ZSB3aGVuZXZlciBwcm9wcyBjaGFuZ2UsIHJlZmFjdG9yIHlvdXIgXCIgKyAnY29kZSB0byB1c2UgbWVtb2l6YXRpb24gdGVjaG5pcXVlcyBvciBtb3ZlIGl0IHRvICcgKyAnc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gTGVhcm4gbW9yZSBhdDogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Rlcml2ZWQtc3RhdGVcXG4nICsgJyogUmVuYW1lIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gc3VwcHJlc3MgJyArICd0aGlzIHdhcm5pbmcgaW4gbm9uLXN0cmljdCBtb2RlLiBJbiBSZWFjdCAxOC54LCBvbmx5IHRoZSBVTlNBRkVfIG5hbWUgd2lsbCB3b3JrLiAnICsgJ1RvIHJlbmFtZSBhbGwgZGVwcmVjYXRlZCBsaWZlY3ljbGVzIHRvIHRoZWlyIG5ldyBuYW1lcywgeW91IGNhbiBydW4gJyArICdgbnB4IHJlYWN0LWNvZGVtb2QgcmVuYW1lLXVuc2FmZS1saWZlY3ljbGVzYCBpbiB5b3VyIHByb2plY3Qgc291cmNlIGZvbGRlci5cXG4nICsgJ1xcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczQpO1xuICAgIH1cblxuICAgIGlmIChjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXM1ID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgd2FybignY29tcG9uZW50V2lsbFVwZGF0ZSBoYXMgYmVlbiByZW5hbWVkLCBhbmQgaXMgbm90IHJlY29tbWVuZGVkIGZvciB1c2UuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsVXBkYXRlIHRvIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIHRvIHN1cHByZXNzICcgKyAndGhpcyB3YXJuaW5nIGluIG5vbi1zdHJpY3QgbW9kZS4gSW4gUmVhY3QgMTgueCwgb25seSB0aGUgVU5TQUZFXyBuYW1lIHdpbGwgd29yay4gJyArICdUbyByZW5hbWUgYWxsIGRlcHJlY2F0ZWQgbGlmZWN5Y2xlcyB0byB0aGVpciBuZXcgbmFtZXMsIHlvdSBjYW4gcnVuICcgKyAnYG5weCByZWFjdC1jb2RlbW9kIHJlbmFtZS11bnNhZmUtbGlmZWN5Y2xlc2AgaW4geW91ciBwcm9qZWN0IHNvdXJjZSBmb2xkZXIuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXM1KTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dCA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICB2YXIgc3RyaWN0Um9vdCA9IGZpbmRTdHJpY3RSb290KGZpYmVyKTtcblxuICAgIGlmIChzdHJpY3RSb290ID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgdG8gZmluZCBhIFN0cmljdE1vZGUgY29tcG9uZW50IGluIGEgc3RyaWN0IG1vZGUgdHJlZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuXG4gICAgICByZXR1cm47XG4gICAgfSAvLyBEZWR1cCBzdHJhdGVneTogV2FybiBvbmNlIHBlciBjb21wb25lbnQuXG5cblxuICAgIGlmIChkaWRXYXJuQWJvdXRMZWdhY3lDb250ZXh0LmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB3YXJuaW5nc0ZvclJvb3QgPSBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuZ2V0KHN0cmljdFJvb3QpO1xuXG4gICAgaWYgKGZpYmVyLnR5cGUuY29udGV4dFR5cGVzICE9IG51bGwgfHwgZmliZXIudHlwZS5jaGlsZENvbnRleHRUeXBlcyAhPSBudWxsIHx8IGluc3RhbmNlICE9PSBudWxsICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh3YXJuaW5nc0ZvclJvb3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB3YXJuaW5nc0ZvclJvb3QgPSBbXTtcbiAgICAgICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLnNldChzdHJpY3RSb290LCB3YXJuaW5nc0ZvclJvb3QpO1xuICAgICAgfVxuXG4gICAgICB3YXJuaW5nc0ZvclJvb3QucHVzaChmaWJlcik7XG4gICAgfVxuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmcgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyQXJyYXksIHN0cmljdFJvb3QpIHtcbiAgICAgIGlmIChmaWJlckFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBmaXJzdEZpYmVyID0gZmliZXJBcnJheVswXTtcbiAgICAgIHZhciB1bmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICAgIGZpYmVyQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgdW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dC5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHZhciBzb3J0ZWROYW1lcyA9IHNldFRvU29ydGVkU3RyaW5nKHVuaXF1ZU5hbWVzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpcnN0RmliZXIpO1xuXG4gICAgICAgIGVycm9yKCdMZWdhY3kgY29udGV4dCBBUEkgaGFzIGJlZW4gZGV0ZWN0ZWQgd2l0aGluIGEgc3RyaWN0LW1vZGUgdHJlZS4nICsgJ1xcblxcblRoZSBvbGQgQVBJIHdpbGwgYmUgc3VwcG9ydGVkIGluIGFsbCAxNi54IHJlbGVhc2VzLCBidXQgYXBwbGljYXRpb25zICcgKyAndXNpbmcgaXQgc2hvdWxkIG1pZ3JhdGUgdG8gdGhlIG5ldyB2ZXJzaW9uLicgKyAnXFxuXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJyArICdcXG5cXG5MZWFybiBtb3JlIGFib3V0IHRoaXMgd2FybmluZyBoZXJlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvbGVnYWN5LWNvbnRleHQnLCBzb3J0ZWROYW1lcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmRpc2NhcmRQZW5kaW5nV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQsIGJhc2VQcm9wcykge1xuICBpZiAoQ29tcG9uZW50ICYmIENvbXBvbmVudC5kZWZhdWx0UHJvcHMpIHtcbiAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHMuIFRha2VuIGZyb20gUmVhY3RFbGVtZW50XG4gICAgdmFyIHByb3BzID0gYXNzaWduKHt9LCBiYXNlUHJvcHMpO1xuICAgIHZhciBkZWZhdWx0UHJvcHMgPSBDb21wb25lbnQuZGVmYXVsdFByb3BzO1xuXG4gICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7XG4gICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcHM7XG4gIH1cblxuICByZXR1cm4gYmFzZVByb3BzO1xufVxuXG52YXIgdmFsdWVDdXJzb3IgPSBjcmVhdGVDdXJzb3IobnVsbCk7XG52YXIgcmVuZGVyZXJTaWdpbDtcblxue1xuICAvLyBVc2UgdGhpcyB0byBkZXRlY3QgbXVsdGlwbGUgcmVuZGVyZXJzIHVzaW5nIHRoZSBzYW1lIGNvbnRleHRcbiAgcmVuZGVyZXJTaWdpbCA9IHt9O1xufVxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xudmFyIGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9IG51bGw7XG52YXIgbGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID0gbnVsbDtcbnZhciBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG5mdW5jdGlvbiByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKSB7XG4gIC8vIFRoaXMgaXMgY2FsbGVkIHJpZ2h0IGJlZm9yZSBSZWFjdCB5aWVsZHMgZXhlY3V0aW9uLCB0byBlbnN1cmUgYHJlYWRDb250ZXh0YFxuICAvLyBjYW5ub3QgYmUgY2FsbGVkIG91dHNpZGUgdGhlIHJlbmRlciBwaGFzZS5cbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xuICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xuICBsYXN0RnVsbHlPYnNlcnZlZENvbnRleHQgPSBudWxsO1xuXG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKSB7XG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCkge1xuICB7XG4gICAgaXNEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFViA9IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBwdXNoUHJvdmlkZXIocHJvdmlkZXJGaWJlciwgY29udGV4dCwgbmV4dFZhbHVlKSB7XG4gIHtcbiAgICBwdXNoKHZhbHVlQ3Vyc29yLCBjb250ZXh0Ll9jdXJyZW50VmFsdWUsIHByb3ZpZGVyRmliZXIpO1xuICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IG5leHRWYWx1ZTtcblxuICAgIHtcbiAgICAgIGlmIChjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IHVuZGVmaW5lZCAmJiBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IG51bGwgJiYgY29udGV4dC5fY3VycmVudFJlbmRlcmVyICE9PSByZW5kZXJlclNpZ2lsKSB7XG4gICAgICAgIGVycm9yKCdEZXRlY3RlZCBtdWx0aXBsZSByZW5kZXJlcnMgY29uY3VycmVudGx5IHJlbmRlcmluZyB0aGUgJyArICdzYW1lIGNvbnRleHQgcHJvdmlkZXIuIFRoaXMgaXMgY3VycmVudGx5IHVuc3VwcG9ydGVkLicpO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSByZW5kZXJlclNpZ2lsO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9wUHJvdmlkZXIoY29udGV4dCwgcHJvdmlkZXJGaWJlcikge1xuICB2YXIgY3VycmVudFZhbHVlID0gdmFsdWVDdXJzb3IuY3VycmVudDtcbiAgcG9wKHZhbHVlQ3Vyc29yLCBwcm92aWRlckZpYmVyKTtcblxuICB7XG4gICAge1xuICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVDb250ZXh0V29ya09uUGFyZW50UGF0aChwYXJlbnQsIHJlbmRlckxhbmVzLCBwcm9wYWdhdGlvblJvb3QpIHtcbiAgLy8gVXBkYXRlIHRoZSBjaGlsZCBsYW5lcyBvZiBhbGwgdGhlIGFuY2VzdG9ycywgaW5jbHVkaW5nIHRoZSBhbHRlcm5hdGVzLlxuICB2YXIgbm9kZSA9IHBhcmVudDtcblxuICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xuICAgIHZhciBhbHRlcm5hdGUgPSBub2RlLmFsdGVybmF0ZTtcblxuICAgIGlmICghaXNTdWJzZXRPZkxhbmVzKG5vZGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpKSB7XG4gICAgICBub2RlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5vZGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgIGFsdGVybmF0ZS5jaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhhbHRlcm5hdGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmICFpc1N1YnNldE9mTGFuZXMoYWx0ZXJuYXRlLmNoaWxkTGFuZXMsIHJlbmRlckxhbmVzKSkge1xuICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IHByb3BhZ2F0aW9uUm9vdCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICB9XG5cbiAge1xuICAgIGlmIChub2RlICE9PSBwcm9wYWdhdGlvblJvb3QpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBmaW5kIHRoZSBwcm9wYWdhdGlvbiByb290IHdoZW4gc2NoZWR1bGluZyBjb250ZXh0IHdvcmsuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGNvbnRleHQsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlX2VhZ2VyKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvcGFnYXRlQ29udGV4dENoYW5nZV9lYWdlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgcmVuZGVyTGFuZXMpIHtcblxuICB2YXIgZmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICBpZiAoZmliZXIgIT09IG51bGwpIHtcbiAgICAvLyBTZXQgdGhlIHJldHVybiBwb2ludGVyIG9mIHRoZSBjaGlsZCB0byB0aGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci5cbiAgICBmaWJlci5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIHdoaWxlIChmaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBuZXh0RmliZXIgPSB2b2lkIDA7IC8vIFZpc2l0IHRoaXMgZmliZXIuXG5cbiAgICB2YXIgbGlzdCA9IGZpYmVyLmRlcGVuZGVuY2llcztcblxuICAgIGlmIChsaXN0ICE9PSBudWxsKSB7XG4gICAgICBuZXh0RmliZXIgPSBmaWJlci5jaGlsZDtcbiAgICAgIHZhciBkZXBlbmRlbmN5ID0gbGlzdC5maXJzdENvbnRleHQ7XG5cbiAgICAgIHdoaWxlIChkZXBlbmRlbmN5ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjb250ZXh0IG1hdGNoZXMuXG4gICAgICAgIGlmIChkZXBlbmRlbmN5LmNvbnRleHQgPT09IGNvbnRleHQpIHtcbiAgICAgICAgICAvLyBNYXRjaCEgU2NoZWR1bGUgYW4gdXBkYXRlIG9uIHRoaXMgZmliZXIuXG4gICAgICAgICAgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIFNjaGVkdWxlIGEgZm9yY2UgdXBkYXRlIG9uIHRoZSB3b3JrLWluLXByb2dyZXNzLlxuICAgICAgICAgICAgdmFyIGxhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyZW5kZXJMYW5lcyk7XG4gICAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKE5vVGltZXN0YW1wLCBsYW5lKTtcbiAgICAgICAgICAgIHVwZGF0ZS50YWcgPSBGb3JjZVVwZGF0ZTsgLy8gVE9ETzogQmVjYXVzZSB3ZSBkb24ndCBoYXZlIGEgd29yay1pbi1wcm9ncmVzcywgdGhpcyB3aWxsIGFkZCB0aGVcbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0byB0aGUgY3VycmVudCBmaWJlciwgdG9vLCB3aGljaCBtZWFucyBpdCB3aWxsIHBlcnNpc3QgZXZlbiBpZlxuICAgICAgICAgICAgLy8gdGhpcyByZW5kZXIgaXMgdGhyb3duIGF3YXkuIFNpbmNlIGl0J3MgYSByYWNlIGNvbmRpdGlvbiwgbm90IHN1cmUgaXQnc1xuICAgICAgICAgICAgLy8gd29ydGggZml4aW5nLlxuICAgICAgICAgICAgLy8gSW5saW5lZCBgZW5xdWV1ZVVwZGF0ZWAgdG8gcmVtb3ZlIGludGVybGVhdmVkIHVwZGF0ZSBjaGVja1xuXG4gICAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBmaWJlci51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSA7IGVsc2Uge1xuICAgICAgICAgICAgICB2YXIgc2hhcmVkUXVldWUgPSB1cGRhdGVRdWV1ZS5zaGFyZWQ7XG4gICAgICAgICAgICAgIHZhciBwZW5kaW5nID0gc2hhcmVkUXVldWUucGVuZGluZztcblxuICAgICAgICAgICAgICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICAgICAgICAgICAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1cGRhdGUubmV4dCA9IHBlbmRpbmcubmV4dDtcbiAgICAgICAgICAgICAgICBwZW5kaW5nLm5leHQgPSB1cGRhdGU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzaGFyZWRRdWV1ZS5wZW5kaW5nID0gdXBkYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhmaWJlci5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhbHRlcm5hdGUubGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNjaGVkdWxlQ29udGV4dFdvcmtPblBhcmVudFBhdGgoZmliZXIucmV0dXJuLCByZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MpOyAvLyBNYXJrIHRoZSB1cGRhdGVkIGxhbmVzIG9uIHRoZSBsaXN0LCB0b28uXG5cbiAgICAgICAgICBsaXN0LmxhbmVzID0gbWVyZ2VMYW5lcyhsaXN0LmxhbmVzLCByZW5kZXJMYW5lcyk7IC8vIFNpbmNlIHdlIGFscmVhZHkgZm91bmQgYSBtYXRjaCwgd2UgY2FuIHN0b3AgdHJhdmVyc2luZyB0aGVcbiAgICAgICAgICAvLyBkZXBlbmRlbmN5IGxpc3QuXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlcGVuZGVuY3kgPSBkZXBlbmRlbmN5Lm5leHQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWJlci50YWcgPT09IENvbnRleHRQcm92aWRlcikge1xuICAgICAgLy8gRG9uJ3Qgc2NhbiBkZWVwZXIgaWYgdGhpcyBpcyBhIG1hdGNoaW5nIHByb3ZpZGVyXG4gICAgICBuZXh0RmliZXIgPSBmaWJlci50eXBlID09PSB3b3JrSW5Qcm9ncmVzcy50eXBlID8gbnVsbCA6IGZpYmVyLmNoaWxkO1xuICAgIH0gZWxzZSBpZiAoZmliZXIudGFnID09PSBEZWh5ZHJhdGVkRnJhZ21lbnQpIHtcbiAgICAgIC8vIElmIGEgZGVoeWRyYXRlZCBzdXNwZW5zZSBib3VuZGFyeSBpcyBpbiB0aGlzIHN1YnRyZWUsIHdlIGRvbid0IGtub3dcbiAgICAgIC8vIGlmIGl0IHdpbGwgaGF2ZSBhbnkgY29udGV4dCBjb25zdW1lcnMgaW4gaXQuIFRoZSBiZXN0IHdlIGNhbiBkbyBpc1xuICAgICAgLy8gbWFyayBpdCBhcyBoYXZpbmcgdXBkYXRlcy5cbiAgICAgIHZhciBwYXJlbnRTdXNwZW5zZSA9IGZpYmVyLnJldHVybjtcblxuICAgICAgaWYgKHBhcmVudFN1c3BlbnNlID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2UganVzdCBjYW1lIGZyb20gYSBwYXJlbnQgc28gd2UgbXVzdCBoYXZlIGhhZCBhIHBhcmVudC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgIH1cblxuICAgICAgcGFyZW50U3VzcGVuc2UubGFuZXMgPSBtZXJnZUxhbmVzKHBhcmVudFN1c3BlbnNlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB2YXIgX2FsdGVybmF0ZSA9IHBhcmVudFN1c3BlbnNlLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKF9hbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgX2FsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoX2FsdGVybmF0ZS5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfSAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgcGFzc2luZyB0aGlzIGZpYmVyIGFzIHRoZSBwYXJlbnRcbiAgICAgIC8vIGJlY2F1c2Ugd2Ugd2FudCB0byBzY2hlZHVsZSB0aGlzIGZpYmVyIGFzIGhhdmluZyB3b3JrXG4gICAgICAvLyBvbiBpdHMgY2hpbGRyZW4uIFdlJ2xsIHVzZSB0aGUgY2hpbGRMYW5lcyBvblxuICAgICAgLy8gdGhpcyBmaWJlciB0byBpbmRpY2F0ZSB0aGF0IGEgY29udGV4dCBoYXMgY2hhbmdlZC5cblxuXG4gICAgICBzY2hlZHVsZUNvbnRleHRXb3JrT25QYXJlbnRQYXRoKHBhcmVudFN1c3BlbnNlLCByZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgbmV4dEZpYmVyID0gZmliZXIuc2libGluZztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVHJhdmVyc2UgZG93bi5cbiAgICAgIG5leHRGaWJlciA9IGZpYmVyLmNoaWxkO1xuICAgIH1cblxuICAgIGlmIChuZXh0RmliZXIgIT09IG51bGwpIHtcbiAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIGNoaWxkIHRvIHRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLlxuICAgICAgbmV4dEZpYmVyLnJldHVybiA9IGZpYmVyO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBjaGlsZC4gVHJhdmVyc2UgdG8gbmV4dCBzaWJsaW5nLlxuICAgICAgbmV4dEZpYmVyID0gZmliZXI7XG5cbiAgICAgIHdoaWxlIChuZXh0RmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5leHRGaWJlciA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAvLyBXZSdyZSBiYWNrIHRvIHRoZSByb290IG9mIHRoaXMgc3VidHJlZS4gRXhpdC5cbiAgICAgICAgICBuZXh0RmliZXIgPSBudWxsO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNpYmxpbmcgPSBuZXh0RmliZXIuc2libGluZztcblxuICAgICAgICBpZiAoc2libGluZyAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIHNpYmxpbmcgdG8gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG4gICAgICAgICAgc2libGluZy5yZXR1cm4gPSBuZXh0RmliZXIucmV0dXJuO1xuICAgICAgICAgIG5leHRGaWJlciA9IHNpYmxpbmc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gLy8gTm8gbW9yZSBzaWJsaW5ncy4gVHJhdmVyc2UgdXAuXG5cblxuICAgICAgICBuZXh0RmliZXIgPSBuZXh0RmliZXIucmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZpYmVyID0gbmV4dEZpYmVyO1xuICB9XG59XG5mdW5jdGlvbiBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSB3b3JrSW5Qcm9ncmVzcztcbiAgbGFzdENvbnRleHREZXBlbmRlbmN5ID0gbnVsbDtcbiAgbGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID0gbnVsbDtcbiAgdmFyIGRlcGVuZGVuY2llcyA9IHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcztcblxuICBpZiAoZGVwZW5kZW5jaWVzICE9PSBudWxsKSB7XG4gICAge1xuICAgICAgdmFyIGZpcnN0Q29udGV4dCA9IGRlcGVuZGVuY2llcy5maXJzdENvbnRleHQ7XG5cbiAgICAgIGlmIChmaXJzdENvbnRleHQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGluY2x1ZGVzU29tZUxhbmUoZGVwZW5kZW5jaWVzLmxhbmVzLCByZW5kZXJMYW5lcykpIHtcbiAgICAgICAgICAvLyBDb250ZXh0IGxpc3QgaGFzIGEgcGVuZGluZyB1cGRhdGUuIE1hcmsgdGhhdCB0aGlzIGZpYmVyIHBlcmZvcm1lZCB3b3JrLlxuICAgICAgICAgIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCk7XG4gICAgICAgIH0gLy8gUmVzZXQgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgbGlzdFxuXG5cbiAgICAgICAgZGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiByZWFkQ29udGV4dChjb250ZXh0KSB7XG4gIHtcbiAgICAvLyBUaGlzIHdhcm5pbmcgd291bGQgZmlyZSBpZiB5b3UgcmVhZCBjb250ZXh0IGluc2lkZSBhIEhvb2sgbGlrZSB1c2VNZW1vLlxuICAgIC8vIFVubGlrZSB0aGUgY2xhc3MgY2hlY2sgYmVsb3csIGl0J3Mgbm90IGVuZm9yY2VkIGluIHByb2R1Y3Rpb24gZm9yIHBlcmYuXG4gICAgaWYgKGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYpIHtcbiAgICAgIGVycm9yKCdDb250ZXh0IGNhbiBvbmx5IGJlIHJlYWQgd2hpbGUgUmVhY3QgaXMgcmVuZGVyaW5nLiAnICsgJ0luIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuICcgKyAnSW4gZnVuY3Rpb24gY29tcG9uZW50cywgeW91IGNhbiByZWFkIGl0IGRpcmVjdGx5IGluIHRoZSBmdW5jdGlvbiBib2R5LCBidXQgbm90ICcgKyAnaW5zaWRlIEhvb2tzIGxpa2UgdXNlUmVkdWNlcigpIG9yIHVzZU1lbW8oKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdmFsdWUgPSAgY29udGV4dC5fY3VycmVudFZhbHVlIDtcblxuICBpZiAobGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID09PSBjb250ZXh0KSA7IGVsc2Uge1xuICAgIHZhciBjb250ZXh0SXRlbSA9IHtcbiAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICBtZW1vaXplZFZhbHVlOiB2YWx1ZSxcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9PT0gbnVsbCkge1xuICAgICAgaWYgKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gJyArICdJbiBjbGFzc2VzLCB5b3UgY2FuIHJlYWQgaXQgaW4gdGhlIHJlbmRlciBtZXRob2Qgb3IgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiAnICsgJ0luIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCAnICsgJ2luc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuJyk7XG4gICAgICB9IC8vIFRoaXMgaXMgdGhlIGZpcnN0IGRlcGVuZGVuY3kgZm9yIHRoaXMgY29tcG9uZW50LiBDcmVhdGUgYSBuZXcgbGlzdC5cblxuXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBjb250ZXh0SXRlbTtcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyLmRlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgbGFuZXM6IE5vTGFuZXMsXG4gICAgICAgIGZpcnN0Q29udGV4dDogY29udGV4dEl0ZW1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGVuZCBhIG5ldyBjb250ZXh0IGl0ZW0uXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBsYXN0Q29udGV4dERlcGVuZGVuY3kubmV4dCA9IGNvbnRleHRJdGVtO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLy8gcmVuZGVyLiBXaGVuIHRoaXMgcmVuZGVyIGV4aXRzLCBlaXRoZXIgYmVjYXVzZSBpdCBmaW5pc2hlcyBvciBiZWNhdXNlIGl0IGlzXG4vLyBpbnRlcnJ1cHRlZCwgdGhlIGludGVybGVhdmVkIHVwZGF0ZXMgd2lsbCBiZSB0cmFuc2ZlcnJlZCBvbnRvIHRoZSBtYWluIHBhcnRcbi8vIG9mIHRoZSBxdWV1ZS5cblxudmFyIGNvbmN1cnJlbnRRdWV1ZXMgPSBudWxsO1xuZnVuY3Rpb24gcHVzaENvbmN1cnJlbnRVcGRhdGVRdWV1ZShxdWV1ZSkge1xuICBpZiAoY29uY3VycmVudFF1ZXVlcyA9PT0gbnVsbCkge1xuICAgIGNvbmN1cnJlbnRRdWV1ZXMgPSBbcXVldWVdO1xuICB9IGVsc2Uge1xuICAgIGNvbmN1cnJlbnRRdWV1ZXMucHVzaChxdWV1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKSB7XG4gIC8vIFRyYW5zZmVyIHRoZSBpbnRlcmxlYXZlZCB1cGRhdGVzIG9udG8gdGhlIG1haW4gcXVldWUuIEVhY2ggcXVldWUgaGFzIGFcbiAgLy8gYHBlbmRpbmdgIGZpZWxkIGFuZCBhbiBgaW50ZXJsZWF2ZWRgIGZpZWxkLiBXaGVuIHRoZXkgYXJlIG5vdCBudWxsLCB0aGV5XG4gIC8vIHBvaW50IHRvIHRoZSBsYXN0IG5vZGUgaW4gYSBjaXJjdWxhciBsaW5rZWQgbGlzdC4gV2UgbmVlZCB0byBhcHBlbmQgdGhlXG4gIC8vIGludGVybGVhdmVkIGxpc3QgdG8gdGhlIGVuZCBvZiB0aGUgcGVuZGluZyBsaXN0IGJ5IGpvaW5pbmcgdGhlbSBpbnRvIGFcbiAgLy8gc2luZ2xlLCBjaXJjdWxhciBsaXN0LlxuICBpZiAoY29uY3VycmVudFF1ZXVlcyAhPT0gbnVsbCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29uY3VycmVudFF1ZXVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHF1ZXVlID0gY29uY3VycmVudFF1ZXVlc1tpXTtcbiAgICAgIHZhciBsYXN0SW50ZXJsZWF2ZWRVcGRhdGUgPSBxdWV1ZS5pbnRlcmxlYXZlZDtcblxuICAgICAgaWYgKGxhc3RJbnRlcmxlYXZlZFVwZGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBxdWV1ZS5pbnRlcmxlYXZlZCA9IG51bGw7XG4gICAgICAgIHZhciBmaXJzdEludGVybGVhdmVkVXBkYXRlID0gbGFzdEludGVybGVhdmVkVXBkYXRlLm5leHQ7XG4gICAgICAgIHZhciBsYXN0UGVuZGluZ1VwZGF0ZSA9IHF1ZXVlLnBlbmRpbmc7XG5cbiAgICAgICAgaWYgKGxhc3RQZW5kaW5nVXBkYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIGZpcnN0UGVuZGluZ1VwZGF0ZSA9IGxhc3RQZW5kaW5nVXBkYXRlLm5leHQ7XG4gICAgICAgICAgbGFzdFBlbmRpbmdVcGRhdGUubmV4dCA9IGZpcnN0SW50ZXJsZWF2ZWRVcGRhdGU7XG4gICAgICAgICAgbGFzdEludGVybGVhdmVkVXBkYXRlLm5leHQgPSBmaXJzdFBlbmRpbmdVcGRhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBxdWV1ZS5wZW5kaW5nID0gbGFzdEludGVybGVhdmVkVXBkYXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbmN1cnJlbnRRdWV1ZXMgPSBudWxsO1xuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIGludGVybGVhdmVkID0gcXVldWUuaW50ZXJsZWF2ZWQ7XG5cbiAgaWYgKGludGVybGVhdmVkID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlOyAvLyBBdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHJlbmRlciwgdGhpcyBxdWV1ZSdzIGludGVybGVhdmVkIHVwZGF0ZXMgd2lsbFxuICAgIC8vIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBwZW5kaW5nIHF1ZXVlLlxuXG4gICAgcHVzaENvbmN1cnJlbnRVcGRhdGVRdWV1ZShxdWV1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlLm5leHQgPSBpbnRlcmxlYXZlZC5uZXh0O1xuICAgIGludGVybGVhdmVkLm5leHQgPSB1cGRhdGU7XG4gIH1cblxuICBxdWV1ZS5pbnRlcmxlYXZlZCA9IHVwZGF0ZTtcbiAgcmV0dXJuIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBsYW5lKTtcbn1cbmZ1bmN0aW9uIGVucXVldWVDb25jdXJyZW50SG9va1VwZGF0ZUFuZEVhZ2VybHlCYWlsb3V0KGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKSB7XG4gIHZhciBpbnRlcmxlYXZlZCA9IHF1ZXVlLmludGVybGVhdmVkO1xuXG4gIGlmIChpbnRlcmxlYXZlZCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTsgLy8gQXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCByZW5kZXIsIHRoaXMgcXVldWUncyBpbnRlcmxlYXZlZCB1cGRhdGVzIHdpbGxcbiAgICAvLyBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgcGVuZGluZyBxdWV1ZS5cblxuICAgIHB1c2hDb25jdXJyZW50VXBkYXRlUXVldWUocXVldWUpO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICBpbnRlcmxlYXZlZC5uZXh0ID0gdXBkYXRlO1xuICB9XG5cbiAgcXVldWUuaW50ZXJsZWF2ZWQgPSB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudENsYXNzVXBkYXRlKGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKSB7XG4gIHZhciBpbnRlcmxlYXZlZCA9IHF1ZXVlLmludGVybGVhdmVkO1xuXG4gIGlmIChpbnRlcmxlYXZlZCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTsgLy8gQXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCByZW5kZXIsIHRoaXMgcXVldWUncyBpbnRlcmxlYXZlZCB1cGRhdGVzIHdpbGxcbiAgICAvLyBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgcGVuZGluZyBxdWV1ZS5cblxuICAgIHB1c2hDb25jdXJyZW50VXBkYXRlUXVldWUocXVldWUpO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICBpbnRlcmxlYXZlZC5uZXh0ID0gdXBkYXRlO1xuICB9XG5cbiAgcXVldWUuaW50ZXJsZWF2ZWQgPSB1cGRhdGU7XG4gIHJldHVybiBtYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChmaWJlciwgbGFuZSk7XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIGxhbmUpIHtcbiAgcmV0dXJuIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBsYW5lKTtcbn0gLy8gQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIG91dHNpZGUgdGhpcyBtb2R1bGUgc2hvdWxkIG9ubHkgYmUgZG9uZSBmb3IgYmFja3dhcmRzXG4vLyBjb21wYXRpYmlsaXR5IGFuZCBzaG91bGQgYWx3YXlzIGJlIGFjY29tcGFuaWVkIGJ5IGEgd2FybmluZy5cblxudmFyIHVuc2FmZV9tYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdCA9IG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290O1xuXG5mdW5jdGlvbiBtYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChzb3VyY2VGaWJlciwgbGFuZSkge1xuICAvLyBVcGRhdGUgdGhlIHNvdXJjZSBmaWJlcidzIGxhbmVzXG4gIHNvdXJjZUZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhzb3VyY2VGaWJlci5sYW5lcywgbGFuZSk7XG4gIHZhciBhbHRlcm5hdGUgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmxhbmVzLCBsYW5lKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAoYWx0ZXJuYXRlID09PSBudWxsICYmIChzb3VyY2VGaWJlci5mbGFncyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9GbGFncykge1xuICAgICAgd2FybkFib3V0VXBkYXRlT25Ob3RZZXRNb3VudGVkRmliZXJJbkRFVihzb3VyY2VGaWJlcik7XG4gICAgfVxuICB9IC8vIFdhbGsgdGhlIHBhcmVudCBwYXRoIHRvIHRoZSByb290IGFuZCB1cGRhdGUgdGhlIGNoaWxkIGxhbmVzLlxuXG5cbiAgdmFyIG5vZGUgPSBzb3VyY2VGaWJlcjtcbiAgdmFyIHBhcmVudCA9IHNvdXJjZUZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgcGFyZW50LmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKHBhcmVudC5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICBhbHRlcm5hdGUgPSBwYXJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICBpZiAoKHBhcmVudC5mbGFncyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgIHdhcm5BYm91dFVwZGF0ZU9uTm90WWV0TW91bnRlZEZpYmVySW5ERVYoc291cmNlRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IHBhcmVudDtcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICB9XG5cbiAgaWYgKG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgIHZhciByb290ID0gbm9kZS5zdGF0ZU5vZGU7XG4gICAgcmV0dXJuIHJvb3Q7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxudmFyIFVwZGF0ZVN0YXRlID0gMDtcbnZhciBSZXBsYWNlU3RhdGUgPSAxO1xudmFyIEZvcmNlVXBkYXRlID0gMjtcbnZhciBDYXB0dXJlVXBkYXRlID0gMzsgLy8gR2xvYmFsIHN0YXRlIHRoYXQgaXMgcmVzZXQgYXQgdGhlIGJlZ2lubmluZyBvZiBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLlxuLy8gSXQgc2hvdWxkIG9ubHkgYmUgcmVhZCByaWdodCBhZnRlciBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLCB2aWFcbi8vIGBjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nYC5cblxudmFyIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XG52YXIgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZTtcbnZhciBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWU7XG5cbntcbiAgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZSA9IGZhbHNlO1xuICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBpbml0aWFsaXplVXBkYXRlUXVldWUoZmliZXIpIHtcbiAgdmFyIHF1ZXVlID0ge1xuICAgIGJhc2VTdGF0ZTogZmliZXIubWVtb2l6ZWRTdGF0ZSxcbiAgICBmaXJzdEJhc2VVcGRhdGU6IG51bGwsXG4gICAgbGFzdEJhc2VVcGRhdGU6IG51bGwsXG4gICAgc2hhcmVkOiB7XG4gICAgICBwZW5kaW5nOiBudWxsLFxuICAgICAgaW50ZXJsZWF2ZWQ6IG51bGwsXG4gICAgICBsYW5lczogTm9MYW5lc1xuICAgIH0sXG4gICAgZWZmZWN0czogbnVsbFxuICB9O1xuICBmaWJlci51cGRhdGVRdWV1ZSA9IHF1ZXVlO1xufVxuZnVuY3Rpb24gY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBDbG9uZSB0aGUgdXBkYXRlIHF1ZXVlIGZyb20gY3VycmVudC4gVW5sZXNzIGl0J3MgYWxyZWFkeSBhIGNsb25lLlxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgdmFyIGN1cnJlbnRRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XG5cbiAgaWYgKHF1ZXVlID09PSBjdXJyZW50UXVldWUpIHtcbiAgICB2YXIgY2xvbmUgPSB7XG4gICAgICBiYXNlU3RhdGU6IGN1cnJlbnRRdWV1ZS5iYXNlU3RhdGUsXG4gICAgICBmaXJzdEJhc2VVcGRhdGU6IGN1cnJlbnRRdWV1ZS5maXJzdEJhc2VVcGRhdGUsXG4gICAgICBsYXN0QmFzZVVwZGF0ZTogY3VycmVudFF1ZXVlLmxhc3RCYXNlVXBkYXRlLFxuICAgICAgc2hhcmVkOiBjdXJyZW50UXVldWUuc2hhcmVkLFxuICAgICAgZWZmZWN0czogY3VycmVudFF1ZXVlLmVmZmVjdHNcbiAgICB9O1xuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY2xvbmU7XG4gIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZShldmVudFRpbWUsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZSA9IHtcbiAgICBldmVudFRpbWU6IGV2ZW50VGltZSxcbiAgICBsYW5lOiBsYW5lLFxuICAgIHRhZzogVXBkYXRlU3RhdGUsXG4gICAgcGF5bG9hZDogbnVsbCxcbiAgICBjYWxsYmFjazogbnVsbCxcbiAgICBuZXh0OiBudWxsXG4gIH07XG4gIHJldHVybiB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmliZXIudXBkYXRlUXVldWU7XG5cbiAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSB7XG4gICAgLy8gT25seSBvY2N1cnMgaWYgdGhlIGZpYmVyIGhhcyBiZWVuIHVubW91bnRlZC5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBzaGFyZWRRdWV1ZSA9IHVwZGF0ZVF1ZXVlLnNoYXJlZDtcblxuICB7XG4gICAgaWYgKGN1cnJlbnRseVByb2Nlc3NpbmdRdWV1ZSA9PT0gc2hhcmVkUXVldWUgJiYgIWRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUpIHtcbiAgICAgIGVycm9yKCdBbiB1cGRhdGUgKHNldFN0YXRlLCByZXBsYWNlU3RhdGUsIG9yIGZvcmNlVXBkYXRlKSB3YXMgc2NoZWR1bGVkICcgKyAnZnJvbSBpbnNpZGUgYW4gdXBkYXRlIGZ1bmN0aW9uLiBVcGRhdGUgZnVuY3Rpb25zIHNob3VsZCBiZSBwdXJlLCAnICsgJ3dpdGggemVybyBzaWRlLWVmZmVjdHMuIENvbnNpZGVyIHVzaW5nIGNvbXBvbmVudERpZFVwZGF0ZSBvciBhICcgKyAnY2FsbGJhY2suJyk7XG5cbiAgICAgIGRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChpc1Vuc2FmZUNsYXNzUmVuZGVyUGhhc2VVcGRhdGUoKSkge1xuICAgIC8vIFRoaXMgaXMgYW4gdW5zYWZlIHJlbmRlciBwaGFzZSB1cGRhdGUuIEFkZCBkaXJlY3RseSB0byB0aGUgdXBkYXRlXG4gICAgLy8gcXVldWUgc28gd2UgY2FuIHByb2Nlc3MgaXQgaW1tZWRpYXRlbHkgZHVyaW5nIHRoZSBjdXJyZW50IHJlbmRlci5cbiAgICB2YXIgcGVuZGluZyA9IHNoYXJlZFF1ZXVlLnBlbmRpbmc7XG5cbiAgICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgICAgdXBkYXRlLm5leHQgPSB1cGRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgICAgcGVuZGluZy5uZXh0ID0gdXBkYXRlO1xuICAgIH1cblxuICAgIHNoYXJlZFF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7IC8vIFVwZGF0ZSB0aGUgY2hpbGRMYW5lcyBldmVuIHRob3VnaCB3ZSdyZSBtb3N0IGxpa2VseSBhbHJlYWR5IHJlbmRlcmluZ1xuICAgIC8vIHRoaXMgZmliZXIuIFRoaXMgaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGluIHRoZSBjYXNlIHdoZXJlIHlvdVxuICAgIC8vIHVwZGF0ZSBhIGRpZmZlcmVudCBjb21wb25lbnQgZHVyaW5nIHJlbmRlciBwaGFzZSB0aGFuIHRoZSBvbmUgdGhhdCBpc1xuICAgIC8vIGN1cnJlbnRseSByZW5kZXJpbmdzIChhIHBhdHRlcm4gdGhhdCBpcyBhY2NvbXBhbmllZCBieSBhIHdhcm5pbmcpLlxuXG4gICAgcmV0dXJuIHVuc2FmZV9tYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChmaWJlciwgbGFuZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVucXVldWVDb25jdXJyZW50Q2xhc3NVcGRhdGUoZmliZXIsIHNoYXJlZFF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuICB9XG59XG5mdW5jdGlvbiBlbnRhbmdsZVRyYW5zaXRpb25zKHJvb3QsIGZpYmVyLCBsYW5lKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpYmVyLnVwZGF0ZVF1ZXVlO1xuXG4gIGlmICh1cGRhdGVRdWV1ZSA9PT0gbnVsbCkge1xuICAgIC8vIE9ubHkgb2NjdXJzIGlmIHRoZSBmaWJlciBoYXMgYmVlbiB1bm1vdW50ZWQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNoYXJlZFF1ZXVlID0gdXBkYXRlUXVldWUuc2hhcmVkO1xuXG4gIGlmIChpc1RyYW5zaXRpb25MYW5lKGxhbmUpKSB7XG4gICAgdmFyIHF1ZXVlTGFuZXMgPSBzaGFyZWRRdWV1ZS5sYW5lczsgLy8gSWYgYW55IGVudGFuZ2xlZCBsYW5lcyBhcmUgbm8gbG9uZ2VyIHBlbmRpbmcgb24gdGhlIHJvb3QsIHRoZW4gdGhleSBtdXN0XG4gICAgLy8gaGF2ZSBmaW5pc2hlZC4gV2UgY2FuIHJlbW92ZSB0aGVtIGZyb20gdGhlIHNoYXJlZCBxdWV1ZSwgd2hpY2ggcmVwcmVzZW50c1xuICAgIC8vIGEgc3VwZXJzZXQgb2YgdGhlIGFjdHVhbGx5IHBlbmRpbmcgbGFuZXMuIEluIHNvbWUgY2FzZXMgd2UgbWF5IGVudGFuZ2xlXG4gICAgLy8gbW9yZSB0aGFuIHdlIG5lZWQgdG8sIGJ1dCB0aGF0J3MgT0suIEluIGZhY3QgaXQncyB3b3JzZSBpZiB3ZSAqZG9uJ3QqXG4gICAgLy8gZW50YW5nbGUgd2hlbiB3ZSBzaG91bGQuXG5cbiAgICBxdWV1ZUxhbmVzID0gaW50ZXJzZWN0TGFuZXMocXVldWVMYW5lcywgcm9vdC5wZW5kaW5nTGFuZXMpOyAvLyBFbnRhbmdsZSB0aGUgbmV3IHRyYW5zaXRpb24gbGFuZSB3aXRoIHRoZSBvdGhlciB0cmFuc2l0aW9uIGxhbmVzLlxuXG4gICAgdmFyIG5ld1F1ZXVlTGFuZXMgPSBtZXJnZUxhbmVzKHF1ZXVlTGFuZXMsIGxhbmUpO1xuICAgIHNoYXJlZFF1ZXVlLmxhbmVzID0gbmV3UXVldWVMYW5lczsgLy8gRXZlbiBpZiBxdWV1ZS5sYW5lcyBhbHJlYWR5IGluY2x1ZGUgbGFuZSwgd2UgZG9uJ3Qga25vdyBmb3IgY2VydGFpbiBpZlxuICAgIC8vIHRoZSBsYW5lIGZpbmlzaGVkIHNpbmNlIHRoZSBsYXN0IHRpbWUgd2UgZW50YW5nbGVkIGl0LiBTbyB3ZSBuZWVkIHRvXG4gICAgLy8gZW50YW5nbGUgaXQgYWdhaW4sIGp1c3QgdG8gYmUgc3VyZS5cblxuICAgIG1hcmtSb290RW50YW5nbGVkKHJvb3QsIG5ld1F1ZXVlTGFuZXMpO1xuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGNhcHR1cmVkVXBkYXRlKSB7XG4gIC8vIENhcHR1cmVkIHVwZGF0ZXMgYXJlIHVwZGF0ZXMgdGhhdCBhcmUgdGhyb3duIGJ5IGEgY2hpbGQgZHVyaW5nIHRoZSByZW5kZXJcbiAgLy8gcGhhc2UuIFRoZXkgc2hvdWxkIGJlIGRpc2NhcmRlZCBpZiB0aGUgcmVuZGVyIGlzIGFib3J0ZWQuIFRoZXJlZm9yZSxcbiAgLy8gd2Ugc2hvdWxkIG9ubHkgcHV0IHRoZW0gb24gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUsIG5vdCB0aGUgY3VycmVudCBvbmUuXG4gIHZhciBxdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlOyAvLyBDaGVjayBpZiB0aGUgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSBpcyBhIGNsb25lLlxuXG4gIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnRRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XG5cbiAgICBpZiAocXVldWUgPT09IGN1cnJlbnRRdWV1ZSkge1xuICAgICAgLy8gVGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUgaXMgdGhlIHNhbWUgYXMgY3VycmVudC4gVGhpcyBoYXBwZW5zIHdoZW5cbiAgICAgIC8vIHdlIGJhaWwgb3V0IG9uIGEgcGFyZW50IGZpYmVyIHRoYXQgdGhlbiBjYXB0dXJlcyBhbiBlcnJvciB0aHJvd24gYnlcbiAgICAgIC8vIGEgY2hpbGQuIFNpbmNlIHdlIHdhbnQgdG8gYXBwZW5kIHRoZSB1cGRhdGUgb25seSB0byB0aGUgd29yay1pblxuICAgICAgLy8gLXByb2dyZXNzIHF1ZXVlLCB3ZSBuZWVkIHRvIGNsb25lIHRoZSB1cGRhdGVzLiBXZSB1c3VhbGx5IGNsb25lIGR1cmluZ1xuICAgICAgLy8gcHJvY2Vzc1VwZGF0ZVF1ZXVlLCBidXQgdGhhdCBkaWRuJ3QgaGFwcGVuIGluIHRoaXMgY2FzZSBiZWNhdXNlIHdlXG4gICAgICAvLyBza2lwcGVkIG92ZXIgdGhlIHBhcmVudCB3aGVuIHdlIGJhaWxlZCBvdXQuXG4gICAgICB2YXIgbmV3Rmlyc3QgPSBudWxsO1xuICAgICAgdmFyIG5ld0xhc3QgPSBudWxsO1xuICAgICAgdmFyIGZpcnN0QmFzZVVwZGF0ZSA9IHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZTtcblxuICAgICAgaWYgKGZpcnN0QmFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIHVwZGF0ZXMgYW5kIGNsb25lIHRoZW0uXG4gICAgICAgIHZhciB1cGRhdGUgPSBmaXJzdEJhc2VVcGRhdGU7XG5cbiAgICAgICAgZG8ge1xuICAgICAgICAgIHZhciBjbG9uZSA9IHtcbiAgICAgICAgICAgIGV2ZW50VGltZTogdXBkYXRlLmV2ZW50VGltZSxcbiAgICAgICAgICAgIGxhbmU6IHVwZGF0ZS5sYW5lLFxuICAgICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXG4gICAgICAgICAgICBjYWxsYmFjazogdXBkYXRlLmNhbGxiYWNrLFxuICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAobmV3TGFzdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgbmV3Rmlyc3QgPSBuZXdMYXN0ID0gY2xvbmU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0xhc3QubmV4dCA9IGNsb25lO1xuICAgICAgICAgICAgbmV3TGFzdCA9IGNsb25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0O1xuICAgICAgICB9IHdoaWxlICh1cGRhdGUgIT09IG51bGwpOyAvLyBBcHBlbmQgdGhlIGNhcHR1cmVkIHVwZGF0ZSB0aGUgZW5kIG9mIHRoZSBjbG9uZWQgbGlzdC5cblxuXG4gICAgICAgIGlmIChuZXdMYXN0ID09PSBudWxsKSB7XG4gICAgICAgICAgbmV3Rmlyc3QgPSBuZXdMYXN0ID0gY2FwdHVyZWRVcGRhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGFzdC5uZXh0ID0gY2FwdHVyZWRVcGRhdGU7XG4gICAgICAgICAgbmV3TGFzdCA9IGNhcHR1cmVkVXBkYXRlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGVyZSBhcmUgbm8gYmFzZSB1cGRhdGVzLlxuICAgICAgICBuZXdGaXJzdCA9IG5ld0xhc3QgPSBjYXB0dXJlZFVwZGF0ZTtcbiAgICAgIH1cblxuICAgICAgcXVldWUgPSB7XG4gICAgICAgIGJhc2VTdGF0ZTogY3VycmVudFF1ZXVlLmJhc2VTdGF0ZSxcbiAgICAgICAgZmlyc3RCYXNlVXBkYXRlOiBuZXdGaXJzdCxcbiAgICAgICAgbGFzdEJhc2VVcGRhdGU6IG5ld0xhc3QsXG4gICAgICAgIHNoYXJlZDogY3VycmVudFF1ZXVlLnNoYXJlZCxcbiAgICAgICAgZWZmZWN0czogY3VycmVudFF1ZXVlLmVmZmVjdHNcbiAgICAgIH07XG4gICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IHF1ZXVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSAvLyBBcHBlbmQgdGhlIHVwZGF0ZSB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuXG5cbiAgdmFyIGxhc3RCYXNlVXBkYXRlID0gcXVldWUubGFzdEJhc2VVcGRhdGU7XG5cbiAgaWYgKGxhc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgcXVldWUuZmlyc3RCYXNlVXBkYXRlID0gY2FwdHVyZWRVcGRhdGU7XG4gIH0gZWxzZSB7XG4gICAgbGFzdEJhc2VVcGRhdGUubmV4dCA9IGNhcHR1cmVkVXBkYXRlO1xuICB9XG5cbiAgcXVldWUubGFzdEJhc2VVcGRhdGUgPSBjYXB0dXJlZFVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGVGcm9tVXBkYXRlKHdvcmtJblByb2dyZXNzLCBxdWV1ZSwgdXBkYXRlLCBwcmV2U3RhdGUsIG5leHRQcm9wcywgaW5zdGFuY2UpIHtcbiAgc3dpdGNoICh1cGRhdGUudGFnKSB7XG4gICAgY2FzZSBSZXBsYWNlU3RhdGU6XG4gICAgICB7XG4gICAgICAgIHZhciBwYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gVXBkYXRlciBmdW5jdGlvblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgbmV4dFN0YXRlID0gcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKHRydWUpO1xuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHMoZmFsc2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXh0U3RhdGU7XG4gICAgICAgIH0gLy8gU3RhdGUgb2JqZWN0XG5cblxuICAgICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FwdHVyZVVwZGF0ZTpcbiAgICAgIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSB3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTtcbiAgICAgIH1cbiAgICAvLyBJbnRlbnRpb25hbCBmYWxsdGhyb3VnaFxuXG4gICAgY2FzZSBVcGRhdGVTdGF0ZTpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG4gICAgICAgIHZhciBwYXJ0aWFsU3RhdGU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBfcGF5bG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIFVwZGF0ZXIgZnVuY3Rpb25cbiAgICAgICAgICB7XG4gICAgICAgICAgICBlbnRlckRpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcGFydGlhbFN0YXRlID0gX3BheWxvYWQuY2FsbChpbnN0YW5jZSwgcHJldlN0YXRlLCBuZXh0UHJvcHMpO1xuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIF9wYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcbiAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFBhcnRpYWwgc3RhdGUgb2JqZWN0XG4gICAgICAgICAgcGFydGlhbFN0YXRlID0gX3BheWxvYWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFydGlhbFN0YXRlID09PSBudWxsIHx8IHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gTnVsbCBhbmQgdW5kZWZpbmVkIGFyZSB0cmVhdGVkIGFzIG5vLW9wcy5cbiAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICB9IC8vIE1lcmdlIHRoZSBwYXJ0aWFsIHN0YXRlIGFuZCB0aGUgcHJldmlvdXMgc3RhdGUuXG5cblxuICAgICAgICByZXR1cm4gYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XG4gICAgICB9XG5cbiAgICBjYXNlIEZvcmNlVXBkYXRlOlxuICAgICAge1xuICAgICAgICBoYXNGb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBwcmV2U3RhdGU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gcHJldlN0YXRlO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIHByb3BzLCBpbnN0YW5jZSwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyBpcyBhbHdheXMgbm9uLW51bGwgb24gYSBDbGFzc0NvbXBvbmVudCBvciBIb3N0Um9vdFxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgaGFzRm9yY2VVcGRhdGUgPSBmYWxzZTtcblxuICB7XG4gICAgY3VycmVudGx5UHJvY2Vzc2luZ1F1ZXVlID0gcXVldWUuc2hhcmVkO1xuICB9XG5cbiAgdmFyIGZpcnN0QmFzZVVwZGF0ZSA9IHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZTtcbiAgdmFyIGxhc3RCYXNlVXBkYXRlID0gcXVldWUubGFzdEJhc2VVcGRhdGU7IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBwZW5kaW5nIHVwZGF0ZXMuIElmIHNvLCB0cmFuc2ZlciB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxuXG4gIHZhciBwZW5kaW5nUXVldWUgPSBxdWV1ZS5zaGFyZWQucGVuZGluZztcblxuICBpZiAocGVuZGluZ1F1ZXVlICE9PSBudWxsKSB7XG4gICAgcXVldWUuc2hhcmVkLnBlbmRpbmcgPSBudWxsOyAvLyBUaGUgcGVuZGluZyBxdWV1ZSBpcyBjaXJjdWxhci4gRGlzY29ubmVjdCB0aGUgcG9pbnRlciBiZXR3ZWVuIGZpcnN0XG4gICAgLy8gYW5kIGxhc3Qgc28gdGhhdCBpdCdzIG5vbi1jaXJjdWxhci5cblxuICAgIHZhciBsYXN0UGVuZGluZ1VwZGF0ZSA9IHBlbmRpbmdRdWV1ZTtcbiAgICB2YXIgZmlyc3RQZW5kaW5nVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGUubmV4dDtcbiAgICBsYXN0UGVuZGluZ1VwZGF0ZS5uZXh0ID0gbnVsbDsgLy8gQXBwZW5kIHBlbmRpbmcgdXBkYXRlcyB0byBiYXNlIHF1ZXVlXG5cbiAgICBpZiAobGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgIGZpcnN0QmFzZVVwZGF0ZSA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdEJhc2VVcGRhdGUubmV4dCA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9XG5cbiAgICBsYXN0QmFzZVVwZGF0ZSA9IGxhc3RQZW5kaW5nVXBkYXRlOyAvLyBJZiB0aGVyZSdzIGEgY3VycmVudCBxdWV1ZSwgYW5kIGl0J3MgZGlmZmVyZW50IGZyb20gdGhlIGJhc2UgcXVldWUsIHRoZW5cbiAgICAvLyB3ZSBuZWVkIHRvIHRyYW5zZmVyIHRoZSB1cGRhdGVzIHRvIHRoYXQgcXVldWUsIHRvby4gQmVjYXVzZSB0aGUgYmFzZVxuICAgIC8vIHF1ZXVlIGlzIGEgc2luZ2x5LWxpbmtlZCBsaXN0IHdpdGggbm8gY3ljbGVzLCB3ZSBjYW4gYXBwZW5kIHRvIGJvdGhcbiAgICAvLyBsaXN0cyBhbmQgdGFrZSBhZHZhbnRhZ2Ugb2Ygc3RydWN0dXJhbCBzaGFyaW5nLlxuICAgIC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50XG5cbiAgICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIGFsd2F5cyBub24tbnVsbCBvbiBhIENsYXNzQ29tcG9uZW50IG9yIEhvc3RSb290XG4gICAgICB2YXIgY3VycmVudFF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcbiAgICAgIHZhciBjdXJyZW50TGFzdEJhc2VVcGRhdGUgPSBjdXJyZW50UXVldWUubGFzdEJhc2VVcGRhdGU7XG5cbiAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgIT09IGxhc3RCYXNlVXBkYXRlKSB7XG4gICAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICBjdXJyZW50UXVldWUuZmlyc3RCYXNlVXBkYXRlID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFRoZXNlIHZhbHVlcyBtYXkgY2hhbmdlIGFzIHdlIHByb2Nlc3MgdGhlIHF1ZXVlLlxuXG5cbiAgaWYgKGZpcnN0QmFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCBvZiB1cGRhdGVzIHRvIGNvbXB1dGUgdGhlIHJlc3VsdC5cbiAgICB2YXIgbmV3U3RhdGUgPSBxdWV1ZS5iYXNlU3RhdGU7IC8vIFRPRE86IERvbid0IG5lZWQgdG8gYWNjdW11bGF0ZSB0aGlzLiBJbnN0ZWFkLCB3ZSBjYW4gcmVtb3ZlIHJlbmRlckxhbmVzXG4gICAgLy8gZnJvbSB0aGUgb3JpZ2luYWwgbGFuZXMuXG5cbiAgICB2YXIgbmV3TGFuZXMgPSBOb0xhbmVzO1xuICAgIHZhciBuZXdCYXNlU3RhdGUgPSBudWxsO1xuICAgIHZhciBuZXdGaXJzdEJhc2VVcGRhdGUgPSBudWxsO1xuICAgIHZhciBuZXdMYXN0QmFzZVVwZGF0ZSA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0QmFzZVVwZGF0ZTtcblxuICAgIGRvIHtcbiAgICAgIHZhciB1cGRhdGVMYW5lID0gdXBkYXRlLmxhbmU7XG4gICAgICB2YXIgdXBkYXRlRXZlbnRUaW1lID0gdXBkYXRlLmV2ZW50VGltZTtcblxuICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMocmVuZGVyTGFuZXMsIHVwZGF0ZUxhbmUpKSB7XG4gICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcbiAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cbiAgICAgICAgdmFyIGNsb25lID0ge1xuICAgICAgICAgIGV2ZW50VGltZTogdXBkYXRlRXZlbnRUaW1lLFxuICAgICAgICAgIGxhbmU6IHVwZGF0ZUxhbmUsXG4gICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgIHBheWxvYWQ6IHVwZGF0ZS5wYXlsb2FkLFxuICAgICAgICAgIGNhbGxiYWNrOiB1cGRhdGUuY2FsbGJhY2ssXG4gICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChuZXdMYXN0QmFzZVVwZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld0ZpcnN0QmFzZVVwZGF0ZSA9IG5ld0xhc3RCYXNlVXBkYXRlID0gY2xvbmU7XG4gICAgICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGFzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gY2xvbmU7XG4gICAgICAgIH0gLy8gVXBkYXRlIHRoZSByZW1haW5pbmcgcHJpb3JpdHkgaW4gdGhlIHF1ZXVlLlxuXG5cbiAgICAgICAgbmV3TGFuZXMgPSBtZXJnZUxhbmVzKG5ld0xhbmVzLCB1cGRhdGVMYW5lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgdXBkYXRlIGRvZXMgaGF2ZSBzdWZmaWNpZW50IHByaW9yaXR5LlxuICAgICAgICBpZiAobmV3TGFzdEJhc2VVcGRhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgZXZlbnRUaW1lOiB1cGRhdGVFdmVudFRpbWUsXG4gICAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBpcyBnb2luZyB0byBiZSBjb21taXR0ZWQgc28gd2UgbmV2ZXIgd2FudCB1bmNvbW1pdFxuICAgICAgICAgICAgLy8gaXQuIFVzaW5nIE5vTGFuZSB3b3JrcyBiZWNhdXNlIDAgaXMgYSBzdWJzZXQgb2YgYWxsIGJpdG1hc2tzLCBzb1xuICAgICAgICAgICAgLy8gdGhpcyB3aWxsIG5ldmVyIGJlIHNraXBwZWQgYnkgdGhlIGNoZWNrIGFib3ZlLlxuICAgICAgICAgICAgbGFuZTogTm9MYW5lLFxuICAgICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXG4gICAgICAgICAgICBjYWxsYmFjazogdXBkYXRlLmNhbGxiYWNrLFxuICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgICAgbmV3TGFzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cblxuICAgICAgICBuZXdTdGF0ZSA9IGdldFN0YXRlRnJvbVVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgcXVldWUsIHVwZGF0ZSwgbmV3U3RhdGUsIHByb3BzLCBpbnN0YW5jZSk7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHVwZGF0ZS5jYWxsYmFjaztcblxuICAgICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwgJiYgLy8gSWYgdGhlIHVwZGF0ZSB3YXMgYWxyZWFkeSBjb21taXR0ZWQsIHdlIHNob3VsZCBub3QgcXVldWUgaXRzXG4gICAgICAgIC8vIGNhbGxiYWNrIGFnYWluLlxuICAgICAgICB1cGRhdGUubGFuZSAhPT0gTm9MYW5lKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gQ2FsbGJhY2s7XG4gICAgICAgICAgdmFyIGVmZmVjdHMgPSBxdWV1ZS5lZmZlY3RzO1xuXG4gICAgICAgICAgaWYgKGVmZmVjdHMgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXVlLmVmZmVjdHMgPSBbdXBkYXRlXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWZmZWN0cy5wdXNoKHVwZGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0O1xuXG4gICAgICBpZiAodXBkYXRlID09PSBudWxsKSB7XG4gICAgICAgIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnNoYXJlZC5wZW5kaW5nO1xuXG4gICAgICAgIGlmIChwZW5kaW5nUXVldWUgPT09IG51bGwpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBmcm9tIGluc2lkZSBhIHJlZHVjZXIuIEFkZCB0aGUgbmV3XG4gICAgICAgICAgLy8gcGVuZGluZyB1cGRhdGVzIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QgYW5kIGtlZXAgcHJvY2Vzc2luZy5cbiAgICAgICAgICB2YXIgX2xhc3RQZW5kaW5nVXBkYXRlID0gcGVuZGluZ1F1ZXVlOyAvLyBJbnRlbnRpb25hbGx5IHVuc291bmQuIFBlbmRpbmcgdXBkYXRlcyBmb3JtIGEgY2lyY3VsYXIgbGlzdCwgYnV0IHdlXG4gICAgICAgICAgLy8gdW5yYXZlbCB0aGVtIHdoZW4gdHJhbnNmZXJyaW5nIHRoZW0gdG8gdGhlIGJhc2UgcXVldWUuXG5cbiAgICAgICAgICB2YXIgX2ZpcnN0UGVuZGluZ1VwZGF0ZSA9IF9sYXN0UGVuZGluZ1VwZGF0ZS5uZXh0O1xuICAgICAgICAgIF9sYXN0UGVuZGluZ1VwZGF0ZS5uZXh0ID0gbnVsbDtcbiAgICAgICAgICB1cGRhdGUgPSBfZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICAgIHF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gX2xhc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICAgIHF1ZXVlLnNoYXJlZC5wZW5kaW5nID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gd2hpbGUgKHRydWUpO1xuXG4gICAgaWYgKG5ld0xhc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgICBuZXdCYXNlU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICB9XG5cbiAgICBxdWV1ZS5iYXNlU3RhdGUgPSBuZXdCYXNlU3RhdGU7XG4gICAgcXVldWUuZmlyc3RCYXNlVXBkYXRlID0gbmV3Rmlyc3RCYXNlVXBkYXRlO1xuICAgIHF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gbmV3TGFzdEJhc2VVcGRhdGU7IC8vIEludGVybGVhdmVkIHVwZGF0ZXMgYXJlIHN0b3JlZCBvbiBhIHNlcGFyYXRlIHF1ZXVlLiBXZSBhcmVuJ3QgZ29pbmcgdG9cbiAgICAvLyBwcm9jZXNzIHRoZW0gZHVyaW5nIHRoaXMgcmVuZGVyLCBidXQgd2UgZG8gbmVlZCB0byB0cmFjayB3aGljaCBsYW5lc1xuICAgIC8vIGFyZSByZW1haW5pbmcuXG5cbiAgICB2YXIgbGFzdEludGVybGVhdmVkID0gcXVldWUuc2hhcmVkLmludGVybGVhdmVkO1xuXG4gICAgaWYgKGxhc3RJbnRlcmxlYXZlZCAhPT0gbnVsbCkge1xuICAgICAgdmFyIGludGVybGVhdmVkID0gbGFzdEludGVybGVhdmVkO1xuXG4gICAgICBkbyB7XG4gICAgICAgIG5ld0xhbmVzID0gbWVyZ2VMYW5lcyhuZXdMYW5lcywgaW50ZXJsZWF2ZWQubGFuZSk7XG4gICAgICAgIGludGVybGVhdmVkID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICAgIH0gd2hpbGUgKGludGVybGVhdmVkICE9PSBsYXN0SW50ZXJsZWF2ZWQpO1xuICAgIH0gZWxzZSBpZiAoZmlyc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgICAvLyBgcXVldWUubGFuZXNgIGlzIHVzZWQgZm9yIGVudGFuZ2xpbmcgdHJhbnNpdGlvbnMuIFdlIGNhbiBzZXQgaXQgYmFjayB0b1xuICAgICAgLy8gemVybyBvbmNlIHRoZSBxdWV1ZSBpcyBlbXB0eS5cbiAgICAgIHF1ZXVlLnNoYXJlZC5sYW5lcyA9IE5vTGFuZXM7XG4gICAgfSAvLyBTZXQgdGhlIHJlbWFpbmluZyBleHBpcmF0aW9uIHRpbWUgdG8gYmUgd2hhdGV2ZXIgaXMgcmVtYWluaW5nIGluIHRoZSBxdWV1ZS5cbiAgICAvLyBUaGlzIHNob3VsZCBiZSBmaW5lIGJlY2F1c2UgdGhlIG9ubHkgdHdvIG90aGVyIHRoaW5ncyB0aGF0IGNvbnRyaWJ1dGUgdG9cbiAgICAvLyBleHBpcmF0aW9uIHRpbWUgYXJlIHByb3BzIGFuZCBjb250ZXh0LiBXZSdyZSBhbHJlYWR5IGluIHRoZSBtaWRkbGUgb2YgdGhlXG4gICAgLy8gYmVnaW4gcGhhc2UgYnkgdGhlIHRpbWUgd2Ugc3RhcnQgcHJvY2Vzc2luZyB0aGUgcXVldWUsIHNvIHdlJ3ZlIGFscmVhZHlcbiAgICAvLyBkZWFsdCB3aXRoIHRoZSBwcm9wcy4gQ29udGV4dCBpbiBjb21wb25lbnRzIHRoYXQgc3BlY2lmeVxuICAgIC8vIHNob3VsZENvbXBvbmVudFVwZGF0ZSBpcyB0cmlja3k7IGJ1dCB3ZSdsbCBoYXZlIHRvIGFjY291bnQgZm9yXG4gICAgLy8gdGhhdCByZWdhcmRsZXNzLlxuXG5cbiAgICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKG5ld0xhbmVzKTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG5ld0xhbmVzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfVxuXG4gIHtcbiAgICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbGxDYWxsYmFjayhjYWxsYmFjaywgY29udGV4dCkge1xuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCBhcyBjYWxsYmFjay4gRXhwZWN0ZWQgYSBmdW5jdGlvbi4gSW5zdGVhZCAnICsgKFwicmVjZWl2ZWQ6IFwiICsgY2FsbGJhY2spKTtcbiAgfVxuXG4gIGNhbGxiYWNrLmNhbGwoY29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCkge1xuICBoYXNGb3JjZVVwZGF0ZSA9IGZhbHNlO1xufVxuZnVuY3Rpb24gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHtcbiAgcmV0dXJuIGhhc0ZvcmNlVXBkYXRlO1xufVxuZnVuY3Rpb24gY29tbWl0VXBkYXRlUXVldWUoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFF1ZXVlLCBpbnN0YW5jZSkge1xuICAvLyBDb21taXQgdGhlIGVmZmVjdHNcbiAgdmFyIGVmZmVjdHMgPSBmaW5pc2hlZFF1ZXVlLmVmZmVjdHM7XG4gIGZpbmlzaGVkUXVldWUuZWZmZWN0cyA9IG51bGw7XG5cbiAgaWYgKGVmZmVjdHMgIT09IG51bGwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVmZmVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBlZmZlY3QgPSBlZmZlY3RzW2ldO1xuICAgICAgdmFyIGNhbGxiYWNrID0gZWZmZWN0LmNhbGxiYWNrO1xuXG4gICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICAgICAgZWZmZWN0LmNhbGxiYWNrID0gbnVsbDtcbiAgICAgICAgY2FsbENhbGxiYWNrKGNhbGxiYWNrLCBpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBmYWtlSW50ZXJuYWxJbnN0YW5jZSA9IHt9OyAvLyBSZWFjdC5Db21wb25lbnQgdXNlcyBhIHNoYXJlZCBmcm96ZW4gb2JqZWN0IGJ5IGRlZmF1bHQuXG4vLyBXZSdsbCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFsaXplIGxlZ2FjeSByZWZzLlxuXG52YXIgZW1wdHlSZWZzT2JqZWN0ID0gbmV3IFJlYWN0LkNvbXBvbmVudCgpLnJlZnM7XG52YXIgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGU7XG52YXIgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRVbmRlZmluZWREZXJpdmVkU3RhdGU7XG52YXIgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlO1xudmFyIHdhcm5PbkludmFsaWRDYWxsYmFjaztcbnZhciBkaWRXYXJuQWJvdXREaXJlY3RseUFzc2lnbmluZ1Byb3BzVG9TdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcztcbnZhciBkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGU7XG5cbntcbiAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGUgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGUgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZSA9IG5ldyBTZXQoKTtcbiAgdmFyIGRpZFdhcm5PbkludmFsaWRDYWxsYmFjayA9IG5ldyBTZXQoKTtcblxuICB3YXJuT25JbnZhbGlkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICBpZiAoY2FsbGJhY2sgPT09IG51bGwgfHwgdHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGtleSA9IGNhbGxlck5hbWUgKyAnXycgKyBjYWxsYmFjaztcblxuICAgIGlmICghZGlkV2Fybk9uSW52YWxpZENhbGxiYWNrLmhhcyhrZXkpKSB7XG4gICAgICBkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2suYWRkKGtleSk7XG5cbiAgICAgIGVycm9yKCclcyguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGVyTmFtZSwgY2FsbGJhY2spO1xuICAgIH1cbiAgfTtcblxuICB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGUgPSBmdW5jdGlvbiAodHlwZSwgcGFydGlhbFN0YXRlKSB7XG4gICAgaWYgKHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVbmRlZmluZWREZXJpdmVkU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJyVzLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpOiBBIHZhbGlkIHN0YXRlIG9iamVjdCAob3IgbnVsbCkgbXVzdCBiZSByZXR1cm5lZC4gJyArICdZb3UgaGF2ZSByZXR1cm5lZCB1bmRlZmluZWQuJywgY29tcG9uZW50TmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9OyAvLyBUaGlzIGlzIHNvIGdyb3NzIGJ1dCBpdCdzIGF0IGxlYXN0IG5vbi1jcml0aWNhbCBhbmQgY2FuIGJlIHJlbW92ZWQgaWZcbiAgLy8gaXQgY2F1c2VzIHByb2JsZW1zLiBUaGlzIGlzIG1lYW50IHRvIGdpdmUgYSBuaWNlciBlcnJvciBtZXNzYWdlIGZvclxuICAvLyBSZWFjdERPTTE1LnVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHJlYWN0RE9NMTZDb21wb25lbnQsXG4gIC8vIC4uLikpIHdoaWNoIG90aGVyd2lzZSB0aHJvd3MgYSBcIl9wcm9jZXNzQ2hpbGRDb250ZXh0IGlzIG5vdCBhIGZ1bmN0aW9uXCJcbiAgLy8gZXhjZXB0aW9uLlxuXG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZha2VJbnRlcm5hbEluc3RhbmNlLCAnX3Byb2Nlc3NDaGlsZENvbnRleHQnLCB7XG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGF2YWlsYWJsZSBpbiBSZWFjdCAxNisuIFRoaXMgbGlrZWx5ICcgKyAnbWVhbnMgeW91IGhhdmUgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IGFuZCBhcmUgYXR0ZW1wdGluZyB0byBuZXN0ICcgKyAnYSBSZWFjdCAxNSB0cmVlIGluc2lkZSBhIFJlYWN0IDE2IHRyZWUgdXNpbmcgJyArIFwidW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIsIHdoaWNoIGlzbid0IHN1cHBvcnRlZC4gVHJ5IFwiICsgJ3RvIG1ha2Ugc3VyZSB5b3UgaGF2ZSBvbmx5IG9uZSBjb3B5IG9mIFJlYWN0IChhbmQgaWRlYWxseSwgc3dpdGNoICcgKyAndG8gUmVhY3RET00uY3JlYXRlUG9ydGFsKS4nKTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZnJlZXplKGZha2VJbnRlcm5hbEluc3RhbmNlKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV4dFByb3BzKSB7XG4gIHZhciBwcmV2U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgcGFydGlhbFN0YXRlID0gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKTtcblxuICB7XG4gICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHModHJ1ZSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIEludm9rZSB0aGUgZnVuY3Rpb24gYW4gZXh0cmEgdGltZSB0byBoZWxwIGRldGVjdCBzaWRlLWVmZmVjdHMuXG4gICAgICAgIHBhcnRpYWxTdGF0ZSA9IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlKGN0b3IsIHBhcnRpYWxTdGF0ZSk7XG4gIH0gLy8gTWVyZ2UgdGhlIHBhcnRpYWwgc3RhdGUgYW5kIHRoZSBwcmV2aW91cyBzdGF0ZS5cblxuXG4gIHZhciBtZW1vaXplZFN0YXRlID0gcGFydGlhbFN0YXRlID09PSBudWxsIHx8IHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkID8gcHJldlN0YXRlIDogYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBtZW1vaXplZFN0YXRlOyAvLyBPbmNlIHRoZSB1cGRhdGUgcXVldWUgaXMgZW1wdHksIHBlcnNpc3QgdGhlIGRlcml2ZWQgc3RhdGUgb250byB0aGVcbiAgLy8gYmFzZSBzdGF0ZS5cblxuICBpZiAod29ya0luUHJvZ3Jlc3MubGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBRdWV1ZSBpcyBhbHdheXMgbm9uLW51bGwgZm9yIGNsYXNzZXNcbiAgICB2YXIgdXBkYXRlUXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgICB1cGRhdGVRdWV1ZS5iYXNlU3RhdGUgPSBtZW1vaXplZFN0YXRlO1xuICB9XG59XG5cbnZhciBjbGFzc0NvbXBvbmVudFVwZGF0ZXIgPSB7XG4gIGlzTW91bnRlZDogaXNNb3VudGVkLFxuICBlbnF1ZXVlU2V0U3RhdGU6IGZ1bmN0aW9uIChpbnN0LCBwYXlsb2FkLCBjYWxsYmFjaykge1xuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoZmliZXIpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XG5cbiAgICBpZiAoY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2soY2FsbGJhY2ssICdzZXRTdGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBmaWJlciwgbGFuZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH0sXG4gIGVucXVldWVSZXBsYWNlU3RhdGU6IGZ1bmN0aW9uIChpbnN0LCBwYXlsb2FkLCBjYWxsYmFjaykge1xuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoZmliZXIpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgICB1cGRhdGUudGFnID0gUmVwbGFjZVN0YXRlO1xuICAgIHVwZGF0ZS5wYXlsb2FkID0gcGF5bG9hZDtcblxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHdhcm5PbkludmFsaWRDYWxsYmFjayhjYWxsYmFjaywgJ3JlcGxhY2VTdGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBmaWJlciwgbGFuZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH0sXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKGluc3QsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGZpYmVyID0gZ2V0KGluc3QpO1xuICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShldmVudFRpbWUsIGxhbmUpO1xuICAgIHVwZGF0ZS50YWcgPSBGb3JjZVVwZGF0ZTtcblxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHdhcm5PbkludmFsaWRDYWxsYmFjayhjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlLCBsYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgICBlbnRhbmdsZVRyYW5zaXRpb25zKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBtYXJrRm9yY2VVcGRhdGVTY2hlZHVsZWQoZmliZXIsIGxhbmUpO1xuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gY2hlY2tTaG91bGRDb21wb25lbnRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG9sZFByb3BzLCBuZXdQcm9wcywgb2xkU3RhdGUsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCkge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5zaG91bGRDb21wb25lbnRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgc2hvdWxkVXBkYXRlID0gaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuXG4gICAge1xuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEludm9rZSB0aGUgZnVuY3Rpb24gYW4gZXh0cmEgdGltZSB0byBoZWxwIGRldGVjdCBzaWRlLWVmZmVjdHMuXG4gICAgICAgICAgc2hvdWxkVXBkYXRlID0gaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkVXBkYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZXJyb3IoJyVzLnNob3VsZENvbXBvbmVudFVwZGF0ZSgpOiBSZXR1cm5lZCB1bmRlZmluZWQgaW5zdGVhZCBvZiBhICcgKyAnYm9vbGVhbiB2YWx1ZS4gTWFrZSBzdXJlIHRvIHJldHVybiB0cnVlIG9yIGZhbHNlLicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbiAgfVxuXG4gIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCkge1xuICAgIHJldHVybiAhc2hhbGxvd0VxdWFsKG9sZFByb3BzLCBuZXdQcm9wcykgfHwgIXNoYWxsb3dFcXVhbChvbGRTdGF0ZSwgbmV3U3RhdGUpO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQ2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIHtcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50JztcbiAgICB2YXIgcmVuZGVyUHJlc2VudCA9IGluc3RhbmNlLnJlbmRlcjtcblxuICAgIGlmICghcmVuZGVyUHJlc2VudCkge1xuICAgICAgaWYgKGN0b3IucHJvdG90eXBlICYmIHR5cGVvZiBjdG9yLnByb3RvdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IE5vIGByZW5kZXJgIG1ldGhvZCBmb3VuZCBvbiB0aGUgcmV0dXJuZWQgY29tcG9uZW50ICcgKyAnaW5zdGFuY2U6IGRpZCB5b3UgYWNjaWRlbnRhbGx5IHJldHVybiBhbiBvYmplY3QgZnJvbSB0aGUgY29uc3RydWN0b3I/JywgbmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignJXMoLi4uKTogTm8gYHJlbmRlcmAgbWV0aG9kIGZvdW5kIG9uIHRoZSByZXR1cm5lZCBjb21wb25lbnQgJyArICdpbnN0YW5jZTogeW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBkZWZpbmUgYHJlbmRlcmAuJywgbmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLmdldEluaXRpYWxTdGF0ZSAmJiAhaW5zdGFuY2UuZ2V0SW5pdGlhbFN0YXRlLmlzUmVhY3RDbGFzc0FwcHJvdmVkICYmICFpbnN0YW5jZS5zdGF0ZSkge1xuICAgICAgZXJyb3IoJ2dldEluaXRpYWxTdGF0ZSB3YXMgZGVmaW5lZCBvbiAlcywgYSBwbGFpbiBKYXZhU2NyaXB0IGNsYXNzLiAnICsgJ1RoaXMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIGNsYXNzZXMgY3JlYXRlZCB1c2luZyBSZWFjdC5jcmVhdGVDbGFzcy4gJyArICdEaWQgeW91IG1lYW4gdG8gZGVmaW5lIGEgc3RhdGUgcHJvcGVydHkgaW5zdGVhZD8nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuZ2V0RGVmYXVsdFByb3BzICYmICFpbnN0YW5jZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgd2FzIGRlZmluZWQgb24gJXMsIGEgcGxhaW4gSmF2YVNjcmlwdCBjbGFzcy4gJyArICdUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBjbGFzc2VzIGNyZWF0ZWQgdXNpbmcgUmVhY3QuY3JlYXRlQ2xhc3MuICcgKyAnVXNlIGEgc3RhdGljIHByb3BlcnR5IHRvIGRlZmluZSBkZWZhdWx0UHJvcHMgaW5zdGVhZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UucHJvcFR5cGVzKSB7XG4gICAgICBlcnJvcigncHJvcFR5cGVzIHdhcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIHByb3BlcnR5IG9uICVzLiBVc2UgYSBzdGF0aWMgJyArICdwcm9wZXJ0eSB0byBkZWZpbmUgcHJvcFR5cGVzIGluc3RlYWQuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLmNvbnRleHRUeXBlKSB7XG4gICAgICBlcnJvcignY29udGV4dFR5cGUgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBjb250ZXh0VHlwZSBpbnN0ZWFkLicsIG5hbWUpO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChpbnN0YW5jZS5jb250ZXh0VHlwZXMpIHtcbiAgICAgICAgZXJyb3IoJ2NvbnRleHRUeXBlcyB3YXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBvbiAlcy4gVXNlIGEgc3RhdGljICcgKyAncHJvcGVydHkgdG8gZGVmaW5lIGNvbnRleHRUeXBlcyBpbnN0ZWFkLicsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY3Rvci5jb250ZXh0VHlwZSAmJiBjdG9yLmNvbnRleHRUeXBlcyAmJiAhZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMuaGFzKGN0b3IpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzLmFkZChjdG9yKTtcblxuICAgICAgICBlcnJvcignJXMgZGVjbGFyZXMgYm90aCBjb250ZXh0VHlwZXMgYW5kIGNvbnRleHRUeXBlIHN0YXRpYyBwcm9wZXJ0aWVzLiAnICsgJ1RoZSBsZWdhY3kgY29udGV4dFR5cGVzIHByb3BlcnR5IHdpbGwgYmUgaWdub3JlZC4nLCBuYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFNob3VsZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnRTaG91bGRVcGRhdGUoKS4gRGlkIHlvdSBtZWFuIHNob3VsZENvbXBvbmVudFVwZGF0ZSgpPyAnICsgJ1RoZSBuYW1lIGlzIHBocmFzZWQgYXMgYSBxdWVzdGlvbiBiZWNhdXNlIHRoZSBmdW5jdGlvbiBpcyAnICsgJ2V4cGVjdGVkIHRvIHJldHVybiBhIHZhbHVlLicsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCAmJiB0eXBlb2YgaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgc2hvdWxkQ29tcG9uZW50VXBkYXRlKCkuICcgKyAnc2hvdWxkQ29tcG9uZW50VXBkYXRlIHNob3VsZCBub3QgYmUgdXNlZCB3aGVuIGV4dGVuZGluZyBSZWFjdC5QdXJlQ29tcG9uZW50LiAnICsgJ1BsZWFzZSBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSBpcyB1c2VkLicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQSBwdXJlIGNvbXBvbmVudCcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnREaWRVbm1vdW50KCkuIEJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpZmVjeWNsZSBtZXRob2QuICcgKyAnRGlkIHlvdSBtZWFuIGNvbXBvbmVudFdpbGxVbm1vdW50KCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50RGlkUmVjZWl2ZVByb3BzKCkuIEJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpZmVjeWNsZSBtZXRob2QuICcgKyAnSWYgeW91IG1lYW50IHRvIHVwZGF0ZSB0aGUgc3RhdGUgaW4gcmVzcG9uc2UgdG8gY2hhbmdpbmcgcHJvcHMsICcgKyAndXNlIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKS4gSWYgeW91IG1lYW50IHRvIGZldGNoIGRhdGEgb3IgJyArICdydW4gc2lkZS1lZmZlY3RzIG9yIG11dGF0aW9ucyBhZnRlciBSZWFjdCBoYXMgdXBkYXRlZCB0aGUgVUksIHVzZSBjb21wb25lbnREaWRVcGRhdGUoKS4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcygpLiBEaWQgeW91IG1lYW4gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpPycsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMoKS4gRGlkIHlvdSBtZWFuIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgdmFyIGhhc011dGF0ZWRQcm9wcyA9IGluc3RhbmNlLnByb3BzICE9PSBuZXdQcm9wcztcblxuICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gdW5kZWZpbmVkICYmIGhhc011dGF0ZWRQcm9wcykge1xuICAgICAgZXJyb3IoJyVzKC4uLik6IFdoZW4gY2FsbGluZyBzdXBlcigpIGluIGAlc2AsIG1ha2Ugc3VyZSB0byBwYXNzICcgKyBcInVwIHRoZSBzYW1lIHByb3BzIHRoYXQgeW91ciBjb21wb25lbnQncyBjb25zdHJ1Y3RvciB3YXMgcGFzc2VkLlwiLCBuYW1lLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuZGVmYXVsdFByb3BzKSB7XG4gICAgICBlcnJvcignU2V0dGluZyBkZWZhdWx0UHJvcHMgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSBpZ25vcmVkLicgKyAnIEluc3RlYWQsIGRlZmluZSBkZWZhdWx0UHJvcHMgYXMgYSBzdGF0aWMgcHJvcGVydHkgb24gJXMuJywgbmFtZSwgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlICE9PSAnZnVuY3Rpb24nICYmICFkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuaGFzKGN0b3IpKSB7XG4gICAgICBkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuYWRkKGN0b3IpO1xuXG4gICAgICBlcnJvcignJXM6IGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgc2hvdWxkIGJlIHVzZWQgd2l0aCBjb21wb25lbnREaWRVcGRhdGUoKS4gJyArICdUaGlzIGNvbXBvbmVudCBkZWZpbmVzIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgb25seS4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXM6IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpIGlzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kICcgKyAnYW5kIHdpbGwgYmUgaWdub3JlZC4gSW5zdGVhZCwgZGVjbGFyZSBpdCBhcyBhIHN0YXRpYyBtZXRob2QuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKSBpcyBkZWZpbmVkIGFzIGEgc3RhdGljIG1ldGhvZCAnICsgJ2FuZCB3aWxsIGJlIGlnbm9yZWQuIEluc3RlYWQsIGRlY2xhcmUgaXQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kLicsIG5hbWUpO1xuICAgIH1cblxuICAgIHZhciBfc3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICAgIGlmIChfc3RhdGUgJiYgKHR5cGVvZiBfc3RhdGUgIT09ICdvYmplY3QnIHx8IGlzQXJyYXkoX3N0YXRlKSkpIHtcbiAgICAgIGVycm9yKCclcy5zdGF0ZTogbXVzdCBiZSBzZXQgdG8gYW4gb2JqZWN0IG9yIG51bGwnLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldENoaWxkQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgY3Rvci5jaGlsZENvbnRleHRUeXBlcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIGVycm9yKCclcy5nZXRDaGlsZENvbnRleHQoKTogY2hpbGRDb250ZXh0VHlwZXMgbXVzdCBiZSBkZWZpbmVkIGluIG9yZGVyIHRvICcgKyAndXNlIGdldENoaWxkQ29udGV4dCgpLicsIG5hbWUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnVwZGF0ZXIgPSBjbGFzc0NvbXBvbmVudFVwZGF0ZXI7XG4gIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlOyAvLyBUaGUgaW5zdGFuY2UgbmVlZHMgYWNjZXNzIHRvIHRoZSBmaWJlciBzbyB0aGF0IGl0IGNhbiBzY2hlZHVsZSB1cGRhdGVzXG5cbiAgc2V0KGluc3RhbmNlLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAge1xuICAgIGluc3RhbmNlLl9yZWFjdEludGVybmFsSW5zdGFuY2UgPSBmYWtlSW50ZXJuYWxJbnN0YW5jZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb25zdHJ1Y3RDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBwcm9wcykge1xuICB2YXIgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBmYWxzZTtcbiAgdmFyIHVubWFza2VkQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcbiAgdmFyIGNvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG5cbiAge1xuICAgIGlmICgnY29udGV4dFR5cGUnIGluIGN0b3IpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gLy8gQWxsb3cgbnVsbCBmb3IgY29uZGl0aW9uYWwgZGVjbGFyYXRpb25cbiAgICAgIGNvbnRleHRUeXBlID09PSBudWxsIHx8IGNvbnRleHRUeXBlICE9PSB1bmRlZmluZWQgJiYgY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSAmJiBjb250ZXh0VHlwZS5fY29udGV4dCA9PT0gdW5kZWZpbmVkOyAvLyBOb3QgYSA8Q29udGV4dC5Db25zdW1lcj5cblxuICAgICAgaWYgKCFpc1ZhbGlkICYmICFkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGUuaGFzKGN0b3IpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZS5hZGQoY3Rvcik7XG4gICAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuXG4gICAgICAgIGlmIChjb250ZXh0VHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIEhvd2V2ZXIsIGl0IGlzIHNldCB0byB1bmRlZmluZWQuICcgKyAnVGhpcyBjYW4gYmUgY2F1c2VkIGJ5IGEgdHlwbyBvciBieSBtaXhpbmcgdXAgbmFtZWQgYW5kIGRlZmF1bHQgaW1wb3J0cy4gJyArICdUaGlzIGNhbiBhbHNvIGhhcHBlbiBkdWUgdG8gYSBjaXJjdWxhciBkZXBlbmRlbmN5LCBzbyAnICsgJ3RyeSBtb3ZpbmcgdGhlIGNyZWF0ZUNvbnRleHQoKSBjYWxsIHRvIGEgc2VwYXJhdGUgZmlsZS4nO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZXh0VHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgSG93ZXZlciwgaXQgaXMgc2V0IHRvIGEgJyArIHR5cGVvZiBjb250ZXh0VHlwZSArICcuJztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSkge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIHRoZSBDb250ZXh0LlByb3ZpZGVyIGluc3RlYWQ/JztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS5fY29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gPENvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IHBhc3MgdGhlIENvbnRleHQuQ29uc3VtZXIgaW5zdGVhZD8nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBIb3dldmVyLCBpdCBpcyBzZXQgdG8gYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKGNvbnRleHRUeXBlKS5qb2luKCcsICcpICsgJ30uJztcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yKCclcyBkZWZpbmVzIGFuIGludmFsaWQgY29udGV4dFR5cGUuICcgKyAnY29udGV4dFR5cGUgc2hvdWxkIHBvaW50IHRvIHRoZSBDb250ZXh0IG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVDb250ZXh0KCkuJXMnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCcsIGFkZGVuZHVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcbiAgICB2YXIgY29udGV4dFR5cGVzID0gY3Rvci5jb250ZXh0VHlwZXM7XG4gICAgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBjb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY29udGV4dFR5cGVzICE9PSB1bmRlZmluZWQ7XG4gICAgY29udGV4dCA9IGlzTGVnYWN5Q29udGV4dENvbnN1bWVyID8gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KSA6IGVtcHR5Q29udGV4dE9iamVjdDtcbiAgfVxuXG4gIHZhciBpbnN0YW5jZSA9IG5ldyBjdG9yKHByb3BzLCBjb250ZXh0KTsgLy8gSW5zdGFudGlhdGUgdHdpY2UgdG8gaGVscCBkZXRlY3Qgc2lkZS1lZmZlY3RzLlxuXG4gIHtcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaW5zdGFuY2UgPSBuZXcgY3Rvcihwcm9wcywgY29udGV4dCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIHN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlICE9PSBudWxsICYmIGluc3RhbmNlLnN0YXRlICE9PSB1bmRlZmluZWQgPyBpbnN0YW5jZS5zdGF0ZSA6IG51bGw7XG4gIGFkb3B0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nICYmIHN0YXRlID09PSBudWxsKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJ2Alc2AgdXNlcyBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBidXQgaXRzIGluaXRpYWwgc3RhdGUgaXMgJyArICclcy4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQuIEluc3RlYWQsIGRlZmluZSB0aGUgaW5pdGlhbCBzdGF0ZSBieSAnICsgJ2Fzc2lnbmluZyBhbiBvYmplY3QgdG8gYHRoaXMuc3RhdGVgIGluIHRoZSBjb25zdHJ1Y3RvciBvZiBgJXNgLiAnICsgJ1RoaXMgZW5zdXJlcyB0aGF0IGBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNgIGFyZ3VtZW50cyBoYXZlIGEgY29uc2lzdGVudCBzaGFwZS4nLCBjb21wb25lbnROYW1lLCBpbnN0YW5jZS5zdGF0ZSA9PT0gbnVsbCA/ICdudWxsJyA6ICd1bmRlZmluZWQnLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9IC8vIElmIG5ldyBjb21wb25lbnQgQVBJcyBhcmUgZGVmaW5lZCwgXCJ1bnNhZmVcIiBsaWZlY3ljbGVzIHdvbid0IGJlIGNhbGxlZC5cbiAgICAvLyBXYXJuIGFib3V0IHRoZXNlIGxpZmVjeWNsZXMgaWYgdGhleSBhcmUgcHJlc2VudC5cbiAgICAvLyBEb24ndCB3YXJuIGFib3V0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgbWV0aG9kcyB0aG91Z2guXG5cblxuICAgIGlmICh0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgZm91bmRXaWxsTW91bnROYW1lID0gbnVsbDtcbiAgICAgIHZhciBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gbnVsbDtcbiAgICAgIHZhciBmb3VuZFdpbGxVcGRhdGVOYW1lID0gbnVsbDtcblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50Ll9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgICAgZm91bmRXaWxsTW91bnROYW1lID0gJ2NvbXBvbmVudFdpbGxNb3VudCc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZvdW5kV2lsbE1vdW50TmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JztcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgICBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gJ2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMnO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgICAgZm91bmRXaWxsVXBkYXRlTmFtZSA9ICdjb21wb25lbnRXaWxsVXBkYXRlJztcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSAnVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUnO1xuICAgICAgfVxuXG4gICAgICBpZiAoZm91bmRXaWxsTW91bnROYW1lICE9PSBudWxsIHx8IGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgIT09IG51bGwgfHwgZm91bmRXaWxsVXBkYXRlTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgX2NvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgICAgdmFyIG5ld0FwaU5hbWUgPSB0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgPyAnZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCknIDogJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlKCknO1xuXG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5oYXMoX2NvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5hZGQoX2NvbXBvbmVudE5hbWUpO1xuXG4gICAgICAgICAgZXJyb3IoJ1Vuc2FmZSBsZWdhY3kgbGlmZWN5Y2xlcyB3aWxsIG5vdCBiZSBjYWxsZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgbmV3IGNvbXBvbmVudCBBUElzLlxcblxcbicgKyAnJXMgdXNlcyAlcyBidXQgYWxzbyBjb250YWlucyB0aGUgZm9sbG93aW5nIGxlZ2FjeSBsaWZlY3ljbGVzOiVzJXMlc1xcblxcbicgKyAnVGhlIGFib3ZlIGxpZmVjeWNsZXMgc2hvdWxkIGJlIHJlbW92ZWQuIExlYXJuIG1vcmUgYWJvdXQgdGhpcyB3YXJuaW5nIGhlcmU6XFxuJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzJywgX2NvbXBvbmVudE5hbWUsIG5ld0FwaU5hbWUsIGZvdW5kV2lsbE1vdW50TmFtZSAhPT0gbnVsbCA/IFwiXFxuICBcIiArIGZvdW5kV2lsbE1vdW50TmFtZSA6ICcnLCBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lICE9PSBudWxsID8gXCJcXG4gIFwiICsgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA6ICcnLCBmb3VuZFdpbGxVcGRhdGVOYW1lICE9PSBudWxsID8gXCJcXG4gIFwiICsgZm91bmRXaWxsVXBkYXRlTmFtZSA6ICcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gIC8vIFJlYWN0RmliZXJDb250ZXh0IHVzdWFsbHkgdXBkYXRlcyB0aGlzIGNhY2hlIGJ1dCBjYW4ndCBmb3IgbmV3bHktY3JlYXRlZCBpbnN0YW5jZXMuXG5cblxuICBpZiAoaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIpIHtcbiAgICBjYWNoZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCwgY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIGNhbGxDb21wb25lbnRXaWxsTW91bnQod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKSB7XG4gIHZhciBvbGRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlO1xuXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50KCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCk7XG4gIH1cblxuICBpZiAob2xkU3RhdGUgIT09IGluc3RhbmNlLnN0YXRlKSB7XG4gICAge1xuICAgICAgZXJyb3IoJyVzLmNvbXBvbmVudFdpbGxNb3VudCgpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gdGhpcy5zdGF0ZSBpcyAnICsgXCJkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXCIgKyAnY29uc3RydWN0b3IpLiBVc2Ugc2V0U3RhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHdvcmtJblByb2dyZXNzKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgfVxuXG4gICAgY2xhc3NDb21wb25lbnRVcGRhdGVyLmVucXVldWVSZXBsYWNlU3RhdGUoaW5zdGFuY2UsIGluc3RhbmNlLnN0YXRlLCBudWxsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxsQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UsIG5ld1Byb3BzLCBuZXh0Q29udGV4dCkge1xuICB2YXIgb2xkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5ld1Byb3BzLCBuZXh0Q29udGV4dCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHMsIG5leHRDb250ZXh0KTtcbiAgfVxuXG4gIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gb2xkU3RhdGUpIHtcbiAgICB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIod29ya0luUHJvZ3Jlc3MpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFN0YXRlQXNzaWdubWVudEZvckNvbXBvbmVudC5oYXMoY29tcG9uZW50TmFtZSkpIHtcbiAgICAgICAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXMuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gJyArIFwidGhpcy5zdGF0ZSBpcyBkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXCIgKyAnY29uc3RydWN0b3IpLiBVc2Ugc2V0U3RhdGUgaW5zdGVhZC4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjbGFzc0NvbXBvbmVudFVwZGF0ZXIuZW5xdWV1ZVJlcGxhY2VTdGF0ZShpbnN0YW5jZSwgaW5zdGFuY2Uuc3RhdGUsIG51bGwpO1xuICB9XG59IC8vIEludm9rZXMgdGhlIG1vdW50IGxpZmUtY3ljbGVzIG9uIGEgcHJldmlvdXNseSBuZXZlciByZW5kZXJlZCBpbnN0YW5jZS5cblxuXG5mdW5jdGlvbiBtb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB7XG4gICAgY2hlY2tDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcyk7XG4gIH1cblxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgaW5zdGFuY2UucmVmcyA9IGVtcHR5UmVmc09iamVjdDtcbiAgaW5pdGlhbGl6ZVVwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGluc3RhbmNlLmNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XG4gICAgaW5zdGFuY2UuY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB7XG4gICAgaWYgKGluc3RhbmNlLnN0YXRlID09PSBuZXdQcm9wcykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlLmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXM6IEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBhc3NpZ24gcHJvcHMgZGlyZWN0bHkgdG8gc3RhdGUgJyArIFwiYmVjYXVzZSB1cGRhdGVzIHRvIHByb3BzIHdvbid0IGJlIHJlZmxlY3RlZCBpbiBzdGF0ZS4gXCIgKyAnSW4gbW9zdCBjYXNlcywgaXQgaXMgYmV0dGVyIHRvIHVzZSBwcm9wcyBkaXJlY3RseS4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3Mod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcbiAgICB9XG4gIH1cblxuICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcbiAgICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH0gLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cblxuICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSAhPT0gJ2Z1bmN0aW9uJyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICBjYWxsQ29tcG9uZW50V2lsbE1vdW50KHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7IC8vIElmIHdlIGhhZCBhZGRpdGlvbmFsIHN0YXRlIHVwZGF0ZXMgZHVyaW5nIHRoaXMgbGlmZS1jeWNsZSwgbGV0J3NcbiAgICAvLyBwcm9jZXNzIHRoZW0gbm93LlxuXG4gICAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckxhbmVzKTtcbiAgICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIGZpYmVyRmxhZ3MgPSBVcGRhdGU7XG5cbiAgICB7XG4gICAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgICB9XG5cbiAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gZmliZXJGbGFncztcbiAgfVxufVxuXG5mdW5jdGlvbiByZXN1bWVNb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIGluc3RhbmNlLnByb3BzID0gb2xkUHJvcHM7XG4gIHZhciBvbGRDb250ZXh0ID0gaW5zdGFuY2UuY29udGV4dDtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcbiAgdmFyIG5leHRDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xuXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XG4gICAgbmV4dENvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIGN0b3IsIHRydWUpO1xuICAgIG5leHRDb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgbmV4dExlZ2FjeVVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB2YXIgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7XG4gIHZhciBoYXNOZXdMaWZlY3ljbGVzID0gdHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbic7IC8vIE5vdGU6IER1cmluZyB0aGVzZSBsaWZlLWN5Y2xlcywgaW5zdGFuY2UucHJvcHMvaW5zdGFuY2Uuc3RhdGUgYXJlIHdoYXRcbiAgLy8gZXZlciB0aGUgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gcmVuZGVyIC0gbm90IHRoZSBcImN1cnJlbnRcIi4gSG93ZXZlcixcbiAgLy8gZHVyaW5nIGNvbXBvbmVudERpZFVwZGF0ZSB3ZSBwYXNzIHRoZSBcImN1cnJlbnRcIiBwcm9wcy5cbiAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cbiAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgaWYgKG9sZFByb3BzICE9PSBuZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCk7XG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcyk7XG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzICYmIG9sZFN0YXRlID09PSBuZXdTdGF0ZSAmJiAhaGFzQ29udGV4dENoYW5nZWQoKSAmJiAhY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpKSB7XG4gICAgLy8gSWYgYW4gdXBkYXRlIHdhcyBhbHJlYWR5IGluIHByb2dyZXNzLCB3ZSBzaG91bGQgc2NoZWR1bGUgYW4gVXBkYXRlXG4gICAgLy8gZWZmZWN0IGV2ZW4gdGhvdWdoIHdlJ3JlIGJhaWxpbmcgb3V0LCBzbyB0aGF0IGNXVS9jRFUgYXJlIGNhbGxlZC5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgZmliZXJGbGFncyA9IFVwZGF0ZTtcblxuICAgICAge1xuICAgICAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgICAgIH1cblxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgICB9XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IGZpYmVyRmxhZ3M7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXdQcm9wcyk7XG4gICAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB9XG5cbiAgdmFyIHNob3VsZFVwZGF0ZSA9IGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB8fCBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cbiAgICBpZiAoIWhhc05ld0xpZmVjeWNsZXMgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgX2ZpYmVyRmxhZ3MgPSBVcGRhdGU7XG5cbiAgICAgIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MgfD0gTGF5b3V0U3RhdGljO1xuICAgICAgfVxuXG4gICAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgICB9XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IF9maWJlckZsYWdzO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBfZmliZXJGbGFnczIgPSBVcGRhdGU7XG5cbiAgICAgIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MyIHw9IExheW91dFN0YXRpYztcbiAgICAgIH1cblxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIF9maWJlckZsYWdzMiB8PSBNb3VudExheW91dERldjtcbiAgICAgIH1cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gX2ZpYmVyRmxhZ3MyO1xuICAgIH0gLy8gSWYgc2hvdWxkQ29tcG9uZW50VXBkYXRlIHJldHVybmVkIGZhbHNlLCB3ZSBzaG91bGQgc3RpbGwgdXBkYXRlIHRoZVxuICAgIC8vIG1lbW9pemVkIHN0YXRlIHRvIGluZGljYXRlIHRoYXQgdGhpcyB3b3JrIGNhbiBiZSByZXVzZWQuXG5cblxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBuZXdQcm9wcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7XG4gIH0gLy8gVXBkYXRlIHRoZSBleGlzdGluZyBpbnN0YW5jZSdzIHN0YXRlLCBwcm9wcywgYW5kIGNvbnRleHQgcG9pbnRlcnMgZXZlblxuICAvLyBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZS5cblxuXG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gbmV3U3RhdGU7XG4gIGluc3RhbmNlLmNvbnRleHQgPSBuZXh0Q29udGV4dDtcbiAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbn0gLy8gSW52b2tlcyB0aGUgdXBkYXRlIGxpZmUtY3ljbGVzIGFuZCByZXR1cm5zIGZhbHNlIGlmIGl0IHNob3VsZG4ndCByZXJlbmRlci5cblxuXG5mdW5jdGlvbiB1cGRhdGVDbGFzc0luc3RhbmNlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHVucmVzb2x2ZWRPbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnR5cGUgPT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID8gdW5yZXNvbHZlZE9sZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyh3b3JrSW5Qcm9ncmVzcy50eXBlLCB1bnJlc29sdmVkT2xkUHJvcHMpO1xuICBpbnN0YW5jZS5wcm9wcyA9IG9sZFByb3BzO1xuICB2YXIgdW5yZXNvbHZlZE5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgb2xkQ29udGV4dCA9IGluc3RhbmNlLmNvbnRleHQ7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG4gIHZhciBuZXh0Q29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIG5leHRDb250ZXh0ID0gcmVhZENvbnRleHQoY29udGV4dFR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBuZXh0VW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcbiAgICBuZXh0Q29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIG5leHRVbm1hc2tlZENvbnRleHQpO1xuICB9XG5cbiAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO1xuICB2YXIgaGFzTmV3TGlmZWN5Y2xlcyA9IHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nOyAvLyBOb3RlOiBEdXJpbmcgdGhlc2UgbGlmZS1jeWNsZXMsIGluc3RhbmNlLnByb3BzL2luc3RhbmNlLnN0YXRlIGFyZSB3aGF0XG4gIC8vIGV2ZXIgdGhlIHByZXZpb3VzbHkgYXR0ZW1wdGVkIHRvIHJlbmRlciAtIG5vdCB0aGUgXCJjdXJyZW50XCIuIEhvd2V2ZXIsXG4gIC8vIGR1cmluZyBjb21wb25lbnREaWRVcGRhdGUgd2UgcGFzcyB0aGUgXCJjdXJyZW50XCIgcHJvcHMuXG4gIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAvLyBVbnNhZmUgbGlmZWN5Y2xlcyBzaG91bGQgbm90IGJlIGludm9rZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgdGhlIG5ldyBBUElzLlxuXG4gIGlmICghaGFzTmV3TGlmZWN5Y2xlcyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSkge1xuICAgIGlmICh1bnJlc29sdmVkT2xkUHJvcHMgIT09IHVucmVzb2x2ZWROZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCk7XG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcyk7XG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAodW5yZXNvbHZlZE9sZFByb3BzID09PSB1bnJlc29sdmVkTmV3UHJvcHMgJiYgb2xkU3RhdGUgPT09IG5ld1N0YXRlICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpICYmICFjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nKCkgJiYgIShlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uICAgKSkge1xuICAgIC8vIElmIGFuIHVwZGF0ZSB3YXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2Ugc2hvdWxkIHNjaGVkdWxlIGFuIFVwZGF0ZVxuICAgIC8vIGVmZmVjdCBldmVuIHRob3VnaCB3ZSdyZSBiYWlsaW5nIG91dCwgc28gdGhhdCBjV1UvY0RVIGFyZSBjYWxsZWQuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh1bnJlc29sdmVkT2xkUHJvcHMgIT09IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB8fCBvbGRTdGF0ZSAhPT0gY3VycmVudC5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAodW5yZXNvbHZlZE9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTbmFwc2hvdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcbiAgICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICB2YXIgc2hvdWxkVXBkYXRlID0gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHx8IGNoZWNrU2hvdWxkQ29tcG9uZW50VXBkYXRlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBvbGRQcm9wcywgbmV3UHJvcHMsIG9sZFN0YXRlLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpIHx8IC8vIFRPRE86IEluIHNvbWUgY2FzZXMsIHdlJ2xsIGVuZCB1cCBjaGVja2luZyBpZiBjb250ZXh0IGhhcyBjaGFuZ2VkIHR3aWNlLFxuICAvLyBib3RoIGJlZm9yZSBhbmQgYWZ0ZXIgYHNob3VsZENvbXBvbmVudFVwZGF0ZWAgaGFzIGJlZW4gY2FsbGVkLiBOb3QgaWRlYWwsXG4gIC8vIGJ1dCBJJ20gbG9hdGggdG8gcmVmYWN0b3IgdGhpcyBmdW5jdGlvbi4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIG1lbW9pemVkXG4gIC8vIGNvbXBvbmVudHMgc28gaXQncyBub3QgdGhhdCBjb21tb24uXG4gIGVuYWJsZUxhenlDb250ZXh0UHJvcGFnYXRpb24gICA7XG5cbiAgaWYgKHNob3VsZFVwZGF0ZSkge1xuICAgIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAgIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG4gICAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNuYXBzaG90O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAodW5yZXNvbHZlZE9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKHVucmVzb2x2ZWRPbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gU25hcHNob3Q7XG4gICAgICB9XG4gICAgfSAvLyBJZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJuZWQgZmFsc2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlXG4gICAgLy8gbWVtb2l6ZWQgcHJvcHMvc3RhdGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHdvcmsgY2FuIGJlIHJldXNlZC5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IG5ld1Byb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBVcGRhdGUgdGhlIGV4aXN0aW5nIGluc3RhbmNlJ3Mgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCBwb2ludGVycyBldmVuXG4gIC8vIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlLlxuXG5cbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcbiAgaW5zdGFuY2Uuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgaW5zdGFuY2UuY29udGV4dCA9IG5leHRDb250ZXh0O1xuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG52YXIgZGlkV2FybkFib3V0TWFwcztcbnZhciBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nO1xudmFyIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZztcblxudmFyIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkLCByZXR1cm5GaWJlcikge307XG5cbntcbiAgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xuICBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzID0gZmFsc2U7XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbiAgLyoqXG4gICAqIFdhcm4gaWYgdGhlcmUncyBubyBrZXkgZXhwbGljaXRseSBzZXQgb24gZHluYW1pYyBhcnJheXMgb2YgY2hpbGRyZW4gb3JcbiAgICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gICAqIHVwZGF0ZXMuXG4gICAqL1xuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmcgPSB7fTtcblxuICB3YXJuRm9yTWlzc2luZ0tleSA9IGZ1bmN0aW9uIChjaGlsZCwgcmV0dXJuRmliZXIpIHtcbiAgICBpZiAoY2hpbGQgPT09IG51bGwgfHwgdHlwZW9mIGNoaWxkICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghY2hpbGQuX3N0b3JlIHx8IGNoaWxkLl9zdG9yZS52YWxpZGF0ZWQgfHwgY2hpbGQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNoaWxkLl9zdG9yZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QgQ29tcG9uZW50IGluIHdhcm5Gb3JNaXNzaW5nS2V5IHNob3VsZCBoYXZlIGEgX3N0b3JlLiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgY2hpbGQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlICcgKyAnXCJrZXlcIiBwcm9wLiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3dhcm5pbmcta2V5cyBmb3IgJyArICdtb3JlIGluZm9ybWF0aW9uLicpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjb2VyY2VSZWYocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQpIHtcbiAgdmFyIG1peGVkUmVmID0gZWxlbWVudC5yZWY7XG5cbiAgaWYgKG1peGVkUmVmICE9PSBudWxsICYmIHR5cGVvZiBtaXhlZFJlZiAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgbWl4ZWRSZWYgIT09ICdvYmplY3QnKSB7XG4gICAge1xuICAgICAgLy8gVE9ETzogQ2xlYW4gdGhpcyB1cCBvbmNlIHdlIHR1cm4gb24gdGhlIHN0cmluZyByZWYgd2FybmluZyBmb3JcbiAgICAgIC8vIGV2ZXJ5b25lLCBiZWNhdXNlIHRoZSBzdHJpY3QgbW9kZSBjYXNlIHdpbGwgbm8gbG9uZ2VyIGJlIHJlbGV2YW50XG4gICAgICBpZiAoKHJldHVybkZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlIHx8IHdhcm5BYm91dFN0cmluZ1JlZnMpICYmIC8vIFdlIHdhcm4gaW4gUmVhY3RFbGVtZW50LmpzIGlmIG93bmVyIGFuZCBzZWxmIGFyZSBlcXVhbCBmb3Igc3RyaW5nIHJlZnNcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uXG4gICAgICAvLyB1c2luZyBhIGNvZGVtb2QuIFRoZXJlZm9yZSwgd2UgZG9uJ3QgaGF2ZSB0byB3YXJuIGFib3V0IHN0cmluZyByZWZzIGFnYWluLlxuICAgICAgIShlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9zZWxmICYmIGVsZW1lbnQuX293bmVyLnN0YXRlTm9kZSAhPT0gZWxlbWVudC5fc2VsZikpIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlcnJvcignQSBzdHJpbmcgcmVmLCBcIiVzXCIsIGhhcyBiZWVuIGZvdW5kIHdpdGhpbiBhIHN0cmljdCBtb2RlIHRyZWUuICcgKyAnU3RyaW5nIHJlZnMgYXJlIGEgc291cmNlIG9mIHBvdGVudGlhbCBidWdzIGFuZCBzaG91bGQgYmUgYXZvaWRlZC4gJyArICdXZSByZWNvbW1lbmQgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBtaXhlZFJlZik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC5fb3duZXIpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIGluc3Q7XG5cbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICB2YXIgb3duZXJGaWJlciA9IG93bmVyO1xuXG4gICAgICAgIGlmIChvd25lckZpYmVyLnRhZyAhPT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIGNvbXBvbmVudHMgY2Fubm90IGhhdmUgc3RyaW5nIHJlZnMuICcgKyAnV2UgcmVjb21tZW5kIHVzaW5nIHVzZVJlZigpIGluc3RlYWQuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zdHJpY3QtbW9kZS1zdHJpbmctcmVmJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnN0ID0gb3duZXJGaWJlci5zdGF0ZU5vZGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghaW5zdCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIG93bmVyIGZvciBzdHJpbmcgcmVmIFwiICsgbWl4ZWRSZWYgKyBcIi4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgXCIgKyAnYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH0gLy8gQXNzaWduaW5nIHRoaXMgdG8gYSBjb25zdCBzbyBGbG93IGtub3dzIGl0IHdvbid0IGNoYW5nZSBpbiB0aGUgY2xvc3VyZVxuXG5cbiAgICAgIHZhciByZXNvbHZlZEluc3QgPSBpbnN0O1xuXG4gICAgICB7XG4gICAgICAgIGNoZWNrUHJvcFN0cmluZ0NvZXJjaW9uKG1peGVkUmVmLCAncmVmJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBzdHJpbmdSZWYgPSAnJyArIG1peGVkUmVmOyAvLyBDaGVjayBpZiBwcmV2aW91cyBzdHJpbmcgcmVmIG1hdGNoZXMgbmV3IHN0cmluZyByZWZcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5yZWYgIT09IG51bGwgJiYgdHlwZW9mIGN1cnJlbnQucmVmID09PSAnZnVuY3Rpb24nICYmIGN1cnJlbnQucmVmLl9zdHJpbmdSZWYgPT09IHN0cmluZ1JlZikge1xuICAgICAgICByZXR1cm4gY3VycmVudC5yZWY7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWYgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIHJlZnMgPSByZXNvbHZlZEluc3QucmVmcztcblxuICAgICAgICBpZiAocmVmcyA9PT0gZW1wdHlSZWZzT2JqZWN0KSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBhIGxhenkgcG9vbGVkIGZyb3plbiBvYmplY3QsIHNvIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZS5cbiAgICAgICAgICByZWZzID0gcmVzb2x2ZWRJbnN0LnJlZnMgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGRlbGV0ZSByZWZzW3N0cmluZ1JlZl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVmc1tzdHJpbmdSZWZdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJlZi5fc3RyaW5nUmVmID0gc3RyaW5nUmVmO1xuICAgICAgcmV0dXJuIHJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiBtaXhlZFJlZiAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCByZWYgdG8gYmUgYSBmdW5jdGlvbiwgYSBzdHJpbmcsIGFuIG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVSZWYoKSwgb3IgbnVsbC4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFlbGVtZW50Ll9vd25lcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IHJlZiB3YXMgc3BlY2lmaWVkIGFzIGEgc3RyaW5nIChcIiArIG1peGVkUmVmICsgXCIpIGJ1dCBubyBvd25lciB3YXMgc2V0LiBUaGlzIGNvdWxkIGhhcHBlbiBmb3Igb25lIG9mXCIgKyAnIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcXG4nICsgJzEuIFlvdSBtYXkgYmUgYWRkaW5nIGEgcmVmIHRvIGEgZnVuY3Rpb24gY29tcG9uZW50XFxuJyArIFwiMi4gWW91IG1heSBiZSBhZGRpbmcgYSByZWYgdG8gYSBjb21wb25lbnQgdGhhdCB3YXMgbm90IGNyZWF0ZWQgaW5zaWRlIGEgY29tcG9uZW50J3MgcmVuZGVyIG1ldGhvZFxcblwiICsgJzMuIFlvdSBoYXZlIG11bHRpcGxlIGNvcGllcyBvZiBSZWFjdCBsb2FkZWRcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVmcy1tdXN0LWhhdmUtb3duZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1peGVkUmVmO1xufVxuXG5mdW5jdGlvbiB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKSB7XG4gIHZhciBjaGlsZFN0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXdDaGlsZCk7XG4gIHRocm93IG5ldyBFcnJvcihcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXCIgKyAoY2hpbGRTdHJpbmcgPT09ICdbb2JqZWN0IE9iamVjdF0nID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhuZXdDaGlsZCkuam9pbignLCAnKSArICd9JyA6IGNoaWxkU3RyaW5nKSArIFwiKS4gXCIgKyAnSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSAnICsgJ2luc3RlYWQuJyk7XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkZ1bmN0aW9uVHlwZShyZXR1cm5GaWJlcikge1xuICB7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmdbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmdbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0Z1bmN0aW9ucyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQuIFRoaXMgbWF5IGhhcHBlbiBpZiAnICsgJ3lvdSByZXR1cm4gYSBDb21wb25lbnQgaW5zdGVhZCBvZiA8Q29tcG9uZW50IC8+IGZyb20gcmVuZGVyLiAnICsgJ09yIG1heWJlIHlvdSBtZWFudCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gcmV0dXJuIGl0LicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVMYXp5KGxhenlUeXBlKSB7XG4gIHZhciBwYXlsb2FkID0gbGF6eVR5cGUuX3BheWxvYWQ7XG4gIHZhciBpbml0ID0gbGF6eVR5cGUuX2luaXQ7XG4gIHJldHVybiBpbml0KHBheWxvYWQpO1xufSAvLyBUaGlzIHdyYXBwZXIgZnVuY3Rpb24gZXhpc3RzIGJlY2F1c2UgSSBleHBlY3QgdG8gY2xvbmUgdGhlIGNvZGUgaW4gZWFjaCBwYXRoXG4vLyB0byBiZSBhYmxlIHRvIG9wdGltaXplIGVhY2ggcGF0aCBpbmRpdmlkdWFsbHkgYnkgYnJhbmNoaW5nIGVhcmx5LiBUaGlzIG5lZWRzXG4vLyBhIGNvbXBpbGVyIG9yIHdlIGNhbiBkbyBpdCBtYW51YWxseS4gSGVscGVycyB0aGF0IGRvbid0IG5lZWQgdGhpcyBicmFuY2hpbmdcbi8vIGxpdmUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLlxuXG5cbmZ1bmN0aW9uIENoaWxkUmVjb25jaWxlcihzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gIGZ1bmN0aW9uIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZFRvRGVsZXRlKSB7XG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBOb29wLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBkZWxldGlvbnMgPSByZXR1cm5GaWJlci5kZWxldGlvbnM7XG5cbiAgICBpZiAoZGVsZXRpb25zID09PSBudWxsKSB7XG4gICAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBbY2hpbGRUb0RlbGV0ZV07XG4gICAgICByZXR1cm5GaWJlci5mbGFncyB8PSBDaGlsZERlbGV0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGlvbnMucHVzaChjaGlsZFRvRGVsZXRlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpIHtcbiAgICBpZiAoIXNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgIC8vIE5vb3AuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IC8vIFRPRE86IEZvciB0aGUgc2hvdWxkQ2xvbmUgY2FzZSwgdGhpcyBjb3VsZCBiZSBtaWNyby1vcHRpbWl6ZWQgYSBiaXQgYnlcbiAgICAvLyBhc3N1bWluZyB0aGF0IGFmdGVyIHRoZSBmaXJzdCBjaGlsZCB3ZSd2ZSBhbHJlYWR5IGFkZGVkIGV2ZXJ5dGhpbmcuXG5cblxuICAgIHZhciBjaGlsZFRvRGVsZXRlID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGRUb0RlbGV0ZSAhPT0gbnVsbCkge1xuICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkVG9EZWxldGUpO1xuICAgICAgY2hpbGRUb0RlbGV0ZSA9IGNoaWxkVG9EZWxldGUuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCkge1xuICAgIC8vIEFkZCB0aGUgcmVtYWluaW5nIGNoaWxkcmVuIHRvIGEgdGVtcG9yYXJ5IG1hcCBzbyB0aGF0IHdlIGNhbiBmaW5kIHRoZW0gYnlcbiAgICAvLyBrZXlzIHF1aWNrbHkuIEltcGxpY2l0IChudWxsKSBrZXlzIGdldCBhZGRlZCB0byB0aGlzIHNldCB3aXRoIHRoZWlyIGluZGV4XG4gICAgLy8gaW5zdGVhZC5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG5ldyBNYXAoKTtcbiAgICB2YXIgZXhpc3RpbmdDaGlsZCA9IGN1cnJlbnRGaXJzdENoaWxkO1xuXG4gICAgd2hpbGUgKGV4aXN0aW5nQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGlmIChleGlzdGluZ0NoaWxkLmtleSAhPT0gbnVsbCkge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmtleSwgZXhpc3RpbmdDaGlsZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmluZGV4LCBleGlzdGluZ0NoaWxkKTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdDaGlsZCA9IGV4aXN0aW5nQ2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gZXhpc3RpbmdDaGlsZHJlbjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVzZUZpYmVyKGZpYmVyLCBwZW5kaW5nUHJvcHMpIHtcbiAgICAvLyBXZSBjdXJyZW50bHkgc2V0IHNpYmxpbmcgdG8gbnVsbCBhbmQgaW5kZXggdG8gMCBoZXJlIGJlY2F1c2UgaXQgaXMgZWFzeVxuICAgIC8vIHRvIGZvcmdldCB0byBkbyBiZWZvcmUgcmV0dXJuaW5nIGl0LiBFLmcuIGZvciB0aGUgc2luZ2xlIGNoaWxkIGNhc2UuXG4gICAgdmFyIGNsb25lID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoZmliZXIsIHBlbmRpbmdQcm9wcyk7XG4gICAgY2xvbmUuaW5kZXggPSAwO1xuICAgIGNsb25lLnNpYmxpbmcgPSBudWxsO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SW5kZXgpIHtcbiAgICBuZXdGaWJlci5pbmRleCA9IG5ld0luZGV4O1xuXG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBEdXJpbmcgaHlkcmF0aW9uLCB0aGUgdXNlSWQgYWxnb3JpdGhtIG5lZWRzIHRvIGtub3cgd2hpY2ggZmliZXJzIGFyZVxuICAgICAgLy8gcGFydCBvZiBhIGxpc3Qgb2YgY2hpbGRyZW4gKGFycmF5cywgaXRlcmF0b3JzKS5cbiAgICAgIG5ld0ZpYmVyLmZsYWdzIHw9IEZvcmtlZDtcbiAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgfVxuXG4gICAgdmFyIGN1cnJlbnQgPSBuZXdGaWJlci5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgdmFyIG9sZEluZGV4ID0gY3VycmVudC5pbmRleDtcblxuICAgICAgaWYgKG9sZEluZGV4IDwgbGFzdFBsYWNlZEluZGV4KSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBtb3ZlLlxuICAgICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIGl0ZW0gY2FuIHN0YXkgaW4gcGxhY2UuXG4gICAgICAgIHJldHVybiBvbGRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBpcyBhbiBpbnNlcnRpb24uXG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgICByZXR1cm4gbGFzdFBsYWNlZEluZGV4O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlU2luZ2xlQ2hpbGQobmV3RmliZXIpIHtcbiAgICAvLyBUaGlzIGlzIHNpbXBsZXIgZm9yIHRoZSBzaW5nbGUgY2hpbGQgY2FzZS4gV2Ugb25seSBuZWVkIHRvIGRvIGFcbiAgICAvLyBwbGFjZW1lbnQgZm9yIGluc2VydGluZyBuZXcgY2hpbGRyZW4uXG4gICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld0ZpYmVyO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnQsIHRleHRDb250ZW50LCBsYW5lcykge1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQudGFnICE9PSBIb3N0VGV4dCkge1xuICAgICAgLy8gSW5zZXJ0XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVRleHQodGV4dENvbnRlbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlXG4gICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjdXJyZW50LCB0ZXh0Q29udGVudCk7XG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LCBsYW5lcykge1xuICAgIHZhciBlbGVtZW50VHlwZSA9IGVsZW1lbnQudHlwZTtcblxuICAgIGlmIChlbGVtZW50VHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LnByb3BzLmNoaWxkcmVuLCBsYW5lcywgZWxlbWVudC5rZXkpO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBpZiAoY3VycmVudC5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGUgfHwgKCAvLyBLZWVwIHRoaXMgY2hlY2sgaW5saW5lIHNvIGl0IG9ubHkgcnVucyBvbiB0aGUgZmFsc2UgcGF0aDpcbiAgICAgICBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoY3VycmVudCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgIC8vIFdlIG5lZWQgdG8gZG8gdGhpcyBhZnRlciB0aGUgSG90IFJlbG9hZGluZyBjaGVjayBhYm92ZSxcbiAgICAgIC8vIGJlY2F1c2UgaG90IHJlbG9hZGluZyBoYXMgZGlmZmVyZW50IHNlbWFudGljcyB0aGFuIHByb2QgYmVjYXVzZVxuICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgdHlwZW9mIGVsZW1lbnRUeXBlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50VHlwZSAhPT0gbnVsbCAmJiBlbGVtZW50VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFICYmIHJlc29sdmVMYXp5KGVsZW1lbnRUeXBlKSA9PT0gY3VycmVudC50eXBlKSB7XG4gICAgICAgIC8vIE1vdmUgYmFzZWQgb24gaW5kZXhcbiAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgZWxlbWVudC5wcm9wcyk7XG4gICAgICAgIGV4aXN0aW5nLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudCwgZWxlbWVudCk7XG4gICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBleGlzdGluZy5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XG4gICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBleGlzdGluZztcbiAgICAgIH1cbiAgICB9IC8vIEluc2VydFxuXG5cbiAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQoZWxlbWVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmVmID0gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50KTtcbiAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgIHJldHVybiBjcmVhdGVkO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50LCBwb3J0YWwsIGxhbmVzKSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEhvc3RQb3J0YWwgfHwgY3VycmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyAhPT0gcG9ydGFsLmNvbnRhaW5lckluZm8gfHwgY3VycmVudC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gIT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xuICAgICAgLy8gSW5zZXJ0XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChwb3J0YWwsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlXG4gICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjdXJyZW50LCBwb3J0YWwuY2hpbGRyZW4gfHwgW10pO1xuICAgICAgZXhpc3RpbmcucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIGN1cnJlbnQsIGZyYWdtZW50LCBsYW5lcywga2V5KSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEZyYWdtZW50KSB7XG4gICAgICAvLyBJbnNlcnRcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZnJhZ21lbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzLCBrZXkpO1xuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBjcmVhdGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGVcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIGZyYWdtZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJyAmJiBuZXdDaGlsZCAhPT0gJycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMuIElmIHRoZSBwcmV2aW91cyBub2RlIGlzIGltcGxpY2l0bHkga2V5ZWRcbiAgICAgIC8vIHdlIGNhbiBjb250aW51ZSB0byByZXBsYWNlIGl0IHdpdGhvdXQgYWJvcnRpbmcgZXZlbiBpZiBpdCBpcyBub3QgYSB0ZXh0XG4gICAgICAvLyBub2RlLlxuICAgICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21UZXh0KCcnICsgbmV3Q2hpbGQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX2NyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBsYW5lcyk7XG5cbiAgICAgICAgICAgIF9jcmVhdGVkLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgbnVsbCwgbmV3Q2hpbGQpO1xuICAgICAgICAgICAgX2NyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9jcmVhdGVkMiA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuXG4gICAgICAgICAgICBfY3JlYXRlZDIucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQyO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcGF5bG9hZCA9IG5ld0NoaWxkLl9wYXlsb2FkO1xuICAgICAgICAgICAgdmFyIGluaXQgPSBuZXdDaGlsZC5faW5pdDtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVDaGlsZChyZXR1cm5GaWJlciwgaW5pdChwYXlsb2FkKSwgbGFuZXMpO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIHZhciBfY3JlYXRlZDMgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMsIG51bGwpO1xuXG4gICAgICAgIF9jcmVhdGVkMy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgICAgcmV0dXJuIF9jcmVhdGVkMztcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBsYW5lcykge1xuICAgIC8vIFVwZGF0ZSB0aGUgZmliZXIgaWYgdGhlIGtleXMgbWF0Y2gsIG90aGVyd2lzZSByZXR1cm4gbnVsbC5cbiAgICB2YXIga2V5ID0gb2xkRmliZXIgIT09IG51bGwgPyBvbGRGaWJlci5rZXkgOiBudWxsO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgJiYgbmV3Q2hpbGQgIT09ICcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIC8vIFRleHQgbm9kZXMgZG9uJ3QgaGF2ZSBrZXlzLiBJZiB0aGUgcHJldmlvdXMgbm9kZSBpcyBpbXBsaWNpdGx5IGtleWVkXG4gICAgICAvLyB3ZSBjYW4gY29udGludWUgdG8gcmVwbGFjZSBpdCB3aXRob3V0IGFib3J0aW5nIGV2ZW4gaWYgaXQgaXMgbm90IGEgdGV4dFxuICAgICAgLy8gbm9kZS5cbiAgICAgIGlmIChrZXkgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1cGRhdGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgb2xkRmliZXIsICcnICsgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAobmV3Q2hpbGQua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKG5ld0NoaWxkLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgICAgIHJldHVybiB1cGRhdGVQb3J0YWwocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBwYXlsb2FkID0gbmV3Q2hpbGQuX3BheWxvYWQ7XG4gICAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0O1xuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBpbml0KHBheWxvYWQpLCBsYW5lcyk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaXNBcnJheShuZXdDaGlsZCkgfHwgZ2V0SXRlcmF0b3JGbihuZXdDaGlsZCkpIHtcbiAgICAgICAgaWYgKGtleSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGxhbmVzLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJvbU1hcChleGlzdGluZ0NoaWxkcmVuLCByZXR1cm5GaWJlciwgbmV3SWR4LCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJyAmJiBuZXdDaGlsZCAhPT0gJycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMsIHNvIHdlIG5laXRoZXIgaGF2ZSB0byBjaGVjayB0aGUgb2xkIG5vclxuICAgICAgLy8gbmV3IG5vZGUgZm9yIHRoZSBrZXkuIElmIGJvdGggYXJlIHRleHQgbm9kZXMsIHRoZXkgbWF0Y2guXG4gICAgICB2YXIgbWF0Y2hlZEZpYmVyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3SWR4KSB8fCBudWxsO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRleHROb2RlKHJldHVybkZpYmVyLCBtYXRjaGVkRmliZXIsICcnICsgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX21hdGNoZWRGaWJlciA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0NoaWxkLmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IG5ld0NoaWxkLmtleSkgfHwgbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9tYXRjaGVkRmliZXIyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3Q2hpbGQua2V5ID09PSBudWxsID8gbmV3SWR4IDogbmV3Q2hpbGQua2V5KSB8fCBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyMiwgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0O1xuICAgICAgICAgIHJldHVybiB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIGluaXQocGF5bG9hZCksIGxhbmVzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIHZhciBfbWF0Y2hlZEZpYmVyMyA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0lkeCkgfHwgbnVsbDtcblxuICAgICAgICByZXR1cm4gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIzLCBuZXdDaGlsZCwgbGFuZXMsIG51bGwpO1xuICAgICAgfVxuXG4gICAgICB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHdhcm5PbkZ1bmN0aW9uVHlwZShyZXR1cm5GaWJlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIFdhcm5zIGlmIHRoZXJlIGlzIGEgZHVwbGljYXRlIG9yIG1pc3Npbmcga2V5XG4gICAqL1xuXG5cbiAgZnVuY3Rpb24gd2Fybk9uSW52YWxpZEtleShjaGlsZCwga25vd25LZXlzLCByZXR1cm5GaWJlcikge1xuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGQgIT09ICdvYmplY3QnIHx8IGNoaWxkID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBrbm93bktleXM7XG4gICAgICB9XG5cbiAgICAgIHN3aXRjaCAoY2hpbGQuJCR0eXBlb2YpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgd2FybkZvck1pc3NpbmdLZXkoY2hpbGQsIHJldHVybkZpYmVyKTtcbiAgICAgICAgICB2YXIga2V5ID0gY2hpbGQua2V5O1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoa25vd25LZXlzID09PSBudWxsKSB7XG4gICAgICAgICAgICBrbm93bktleXMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICBrbm93bktleXMuYWRkKGtleSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWtub3duS2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgICAga25vd25LZXlzLmFkZChrZXkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXJyb3IoJ0VuY291bnRlcmVkIHR3byBjaGlsZHJlbiB3aXRoIHRoZSBzYW1lIGtleSwgYCVzYC4gJyArICdLZXlzIHNob3VsZCBiZSB1bmlxdWUgc28gdGhhdCBjb21wb25lbnRzIG1haW50YWluIHRoZWlyIGlkZW50aXR5ICcgKyAnYWNyb3NzIHVwZGF0ZXMuIE5vbi11bmlxdWUga2V5cyBtYXkgY2F1c2UgY2hpbGRyZW4gdG8gYmUgJyArICdkdXBsaWNhdGVkIGFuZC9vciBvbWl0dGVkIOKAlCB0aGUgYmVoYXZpb3IgaXMgdW5zdXBwb3J0ZWQgYW5kICcgKyAnY291bGQgY2hhbmdlIGluIGEgZnV0dXJlIHZlcnNpb24uJywga2V5KTtcblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgIHZhciBwYXlsb2FkID0gY2hpbGQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBjaGlsZC5faW5pdDtcbiAgICAgICAgICB3YXJuT25JbnZhbGlkS2V5KGluaXQocGF5bG9hZCksIGtub3duS2V5cywgcmV0dXJuRmliZXIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBrbm93bktleXM7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkFycmF5KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW4sIGxhbmVzKSB7XG4gICAgLy8gVGhpcyBhbGdvcml0aG0gY2FuJ3Qgb3B0aW1pemUgYnkgc2VhcmNoaW5nIGZyb20gYm90aCBlbmRzIHNpbmNlIHdlXG4gICAgLy8gZG9uJ3QgaGF2ZSBiYWNrcG9pbnRlcnMgb24gZmliZXJzLiBJJ20gdHJ5aW5nIHRvIHNlZSBob3cgZmFyIHdlIGNhbiBnZXRcbiAgICAvLyB3aXRoIHRoYXQgbW9kZWwuIElmIGl0IGVuZHMgdXAgbm90IGJlaW5nIHdvcnRoIHRoZSB0cmFkZW9mZnMsIHdlIGNhblxuICAgIC8vIGFkZCBpdCBsYXRlci5cbiAgICAvLyBFdmVuIHdpdGggYSB0d28gZW5kZWQgb3B0aW1pemF0aW9uLCB3ZSdkIHdhbnQgdG8gb3B0aW1pemUgZm9yIHRoZSBjYXNlXG4gICAgLy8gd2hlcmUgdGhlcmUgYXJlIGZldyBjaGFuZ2VzIGFuZCBicnV0ZSBmb3JjZSB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mXG4gICAgLy8gZ29pbmcgZm9yIHRoZSBNYXAuIEl0J2QgbGlrZSB0byBleHBsb3JlIGhpdHRpbmcgdGhhdCBwYXRoIGZpcnN0IGluXG4gICAgLy8gZm9yd2FyZC1vbmx5IG1vZGUgYW5kIG9ubHkgZ28gZm9yIHRoZSBNYXAgb25jZSB3ZSBub3RpY2UgdGhhdCB3ZSBuZWVkXG4gICAgLy8gbG90cyBvZiBsb29rIGFoZWFkLiBUaGlzIGRvZXNuJ3QgaGFuZGxlIHJldmVyc2FsIGFzIHdlbGwgYXMgdHdvIGVuZGVkXG4gICAgLy8gc2VhcmNoIGJ1dCB0aGF0J3MgdW51c3VhbC4gQmVzaWRlcywgZm9yIHRoZSB0d28gZW5kZWQgb3B0aW1pemF0aW9uIHRvXG4gICAgLy8gd29yayBvbiBJdGVyYWJsZXMsIHdlJ2QgbmVlZCB0byBjb3B5IHRoZSB3aG9sZSBzZXQuXG4gICAgLy8gSW4gdGhpcyBmaXJzdCBpdGVyYXRpb24sIHdlJ2xsIGp1c3QgbGl2ZSB3aXRoIGhpdHRpbmcgdGhlIGJhZCBjYXNlXG4gICAgLy8gKGFkZGluZyBldmVyeXRoaW5nIHRvIGEgTWFwKSBpbiBmb3IgZXZlcnkgaW5zZXJ0L21vdmUuXG4gICAgLy8gSWYgeW91IGNoYW5nZSB0aGlzIGNvZGUsIGFsc28gdXBkYXRlIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IoKSB3aGljaFxuICAgIC8vIHVzZXMgdGhlIHNhbWUgYWxnb3JpdGhtLlxuICAgIHtcbiAgICAgIC8vIEZpcnN0LCB2YWxpZGF0ZSBrZXlzLlxuICAgICAgdmFyIGtub3duS2V5cyA9IG51bGw7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoaWxkID0gbmV3Q2hpbGRyZW5baV07XG4gICAgICAgIGtub3duS2V5cyA9IHdhcm5PbkludmFsaWRLZXkoY2hpbGQsIGtub3duS2V5cywgcmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByZXN1bHRpbmdGaXJzdENoaWxkID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNOZXdGaWJlciA9IG51bGw7XG4gICAgdmFyIG9sZEZpYmVyID0gY3VycmVudEZpcnN0Q2hpbGQ7XG4gICAgdmFyIGxhc3RQbGFjZWRJbmRleCA9IDA7XG4gICAgdmFyIG5ld0lkeCA9IDA7XG4gICAgdmFyIG5leHRPbGRGaWJlciA9IG51bGw7XG5cbiAgICBmb3IgKDsgb2xkRmliZXIgIT09IG51bGwgJiYgbmV3SWR4IDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBuZXdJZHgrKykge1xuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyO1xuICAgICAgICBvbGRGaWJlciA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlci5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICB2YXIgbmV3RmliZXIgPSB1cGRhdGVTbG90KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICBpZiAobmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBicmVha3Mgb24gZW1wdHkgc2xvdHMgbGlrZSBudWxsIGNoaWxkcmVuLiBUaGF0J3NcbiAgICAgICAgLy8gdW5mb3J0dW5hdGUgYmVjYXVzZSBpdCB0cmlnZ2VycyB0aGUgc2xvdyBwYXRoIGFsbCB0aGUgdGltZS4gV2UgbmVlZFxuICAgICAgICAvLyBhIGJldHRlciB3YXkgdG8gY29tbXVuaWNhdGUgd2hldGhlciB0aGlzIHdhcyBhIG1pc3Mgb3IgbnVsbCxcbiAgICAgICAgLy8gYm9vbGVhbiwgdW5kZWZpbmVkLCBldGMuXG4gICAgICAgIGlmIChvbGRGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAgIGlmIChvbGRGaWJlciAmJiBuZXdGaWJlci5hbHRlcm5hdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSBtYXRjaGVkIHRoZSBzbG90LCBidXQgd2UgZGlkbid0IHJldXNlIHRoZSBleGlzdGluZyBmaWJlciwgc28gd2VcbiAgICAgICAgICAvLyBuZWVkIHRvIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2hpbGQuXG4gICAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIG9sZEZpYmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKG5ld0ZpYmVyLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIC8vIFRPRE86IE1vdmUgb3V0IG9mIHRoZSBsb29wLiBUaGlzIG9ubHkgaGFwcGVucyBmb3IgdGhlIGZpcnN0IHJ1bi5cbiAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG5ld0ZpYmVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVE9ETzogRGVmZXIgc2libGluZ3MgaWYgd2UncmUgbm90IGF0IHRoZSByaWdodCBpbmRleCBmb3IgdGhpcyBzbG90LlxuICAgICAgICAvLyBJLmUuIGlmIHdlIGhhZCBudWxsIHZhbHVlcyBiZWZvcmUsIHRoZW4gd2Ugd2FudCB0byBkZWZlciB0aGlzXG4gICAgICAgIC8vIGZvciBlYWNoIG51bGwgdmFsdWUuIEhvd2V2ZXIsIHdlIGFsc28gZG9uJ3Qgd2FudCB0byBjYWxsIHVwZGF0ZVNsb3RcbiAgICAgICAgLy8gd2l0aCB0aGUgcHJldmlvdXMgb25lLlxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBuZXdGaWJlcjtcbiAgICAgIH1cblxuICAgICAgcHJldmlvdXNOZXdGaWJlciA9IG5ld0ZpYmVyO1xuICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgfVxuXG4gICAgaWYgKG5ld0lkeCA9PT0gbmV3Q2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG5cbiAgICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIG51bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cbiAgICAgIGZvciAoOyBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XG4gICAgICAgIHZhciBfbmV3RmliZXIgPSBjcmVhdGVDaGlsZChyZXR1cm5GaWJlciwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICAgIGlmIChfbmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUT0RPOiBNb3ZlIG91dCBvZiB0aGUgbG9vcC4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIHRoZSBmaXJzdCBydW4uXG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBfbmV3RmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSkge1xuICAgICAgICB2YXIgX251bWJlck9mRm9ya3MgPSBuZXdJZHg7XG4gICAgICAgIHB1c2hUcmVlRm9yayhyZXR1cm5GaWJlciwgX251bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxuXG5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cblxuICAgIGZvciAoOyBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XG4gICAgICB2YXIgX25ld0ZpYmVyMiA9IHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICBpZiAoX25ld0ZpYmVyMiAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgICAgIGlmIChfbmV3RmliZXIyLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gVGhlIG5ldyBmaWJlciBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MsIGJ1dCBpZiB0aGVyZSBleGlzdHMgYVxuICAgICAgICAgICAgLy8gY3VycmVudCwgdGhhdCBtZWFucyB0aGF0IHdlIHJldXNlZCB0aGUgZmliZXIuIFdlIG5lZWQgdG8gZGVsZXRlXG4gICAgICAgICAgICAvLyBpdCBmcm9tIHRoZSBjaGlsZCBsaXN0IHNvIHRoYXQgd2UgZG9uJ3QgYWRkIGl0IHRvIHRoZSBkZWxldGlvblxuICAgICAgICAgICAgLy8gbGlzdC5cbiAgICAgICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZGVsZXRlKF9uZXdGaWJlcjIua2V5ID09PSBudWxsID8gbmV3SWR4IDogX25ld0ZpYmVyMi5rZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMiwgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXIyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBBbnkgZXhpc3RpbmcgY2hpbGRyZW4gdGhhdCB3ZXJlbid0IGNvbnN1bWVkIGFib3ZlIHdlcmUgZGVsZXRlZC4gV2UgbmVlZFxuICAgICAgLy8gdG8gYWRkIHRoZW0gdG8gdGhlIGRlbGV0aW9uIGxpc3QuXG4gICAgICBleGlzdGluZ0NoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgIHJldHVybiBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIHZhciBfbnVtYmVyT2ZGb3JrczIgPSBuZXdJZHg7XG4gICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIF9udW1iZXJPZkZvcmtzMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkl0ZXJhdG9yKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW5JdGVyYWJsZSwgbGFuZXMpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBzYW1lIGltcGxlbWVudGF0aW9uIGFzIHJlY29uY2lsZUNoaWxkcmVuQXJyYXkoKSxcbiAgICAvLyBidXQgdXNpbmcgdGhlIGl0ZXJhdG9yIGluc3RlYWQuXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIG9iamVjdCBpcyBub3QgYW4gaXRlcmFibGUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiAnICsgJ1JlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHJlbmRlcmluZyBHZW5lcmF0b3JzIGJlY2F1c2UgaXQncyBhIG11dGF0aW9uLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTI5OTVcbiAgICAgIGlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgdG9TdHJpbmdUYWdcbiAgICAgIG5ld0NoaWxkcmVuSXRlcmFibGVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9PT0gJ0dlbmVyYXRvcicpIHtcbiAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRHZW5lcmF0b3JzKSB7XG4gICAgICAgICAgZXJyb3IoJ1VzaW5nIEdlbmVyYXRvcnMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgKyAndW5leHBlY3RlZCByZXN1bHRzIGJlY2F1c2UgZW51bWVyYXRpbmcgYSBnZW5lcmF0b3IgbXV0YXRlcyBpdC4gJyArICdZb3UgbWF5IGNvbnZlcnQgaXQgdG8gYW4gYXJyYXkgd2l0aCBgQXJyYXkuZnJvbSgpYCBvciB0aGUgJyArICdgWy4uLnNwcmVhZF1gIG9wZXJhdG9yIGJlZm9yZSByZW5kZXJpbmcuIEtlZXAgaW4gbWluZCAnICsgJ3lvdSBtaWdodCBuZWVkIHRvIHBvbHlmaWxsIHRoZXNlIGZlYXR1cmVzIGZvciBvbGRlciBicm93c2Vycy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpZFdhcm5BYm91dEdlbmVyYXRvcnMgPSB0cnVlO1xuICAgICAgfSAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cblxuXG4gICAgICBpZiAobmV3Q2hpbGRyZW5JdGVyYWJsZS5lbnRyaWVzID09PSBpdGVyYXRvckZuKSB7XG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TWFwcykge1xuICAgICAgICAgIGVycm9yKCdVc2luZyBNYXBzIGFzIGNoaWxkcmVuIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnVXNlIGFuIGFycmF5IG9mIGtleWVkIFJlYWN0RWxlbWVudHMgaW5zdGVhZC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpZFdhcm5BYm91dE1hcHMgPSB0cnVlO1xuICAgICAgfSAvLyBGaXJzdCwgdmFsaWRhdGUga2V5cy5cbiAgICAgIC8vIFdlJ2xsIGdldCBhIGRpZmZlcmVudCBpdGVyYXRvciBsYXRlciBmb3IgdGhlIG1haW4gcGFzcy5cblxuXG4gICAgICB2YXIgX25ld0NoaWxkcmVuID0gaXRlcmF0b3JGbi5jYWxsKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xuXG4gICAgICBpZiAoX25ld0NoaWxkcmVuKSB7XG4gICAgICAgIHZhciBrbm93bktleXMgPSBudWxsO1xuXG4gICAgICAgIHZhciBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCk7XG5cbiAgICAgICAgZm9yICg7ICFfc3RlcC5kb25lOyBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCkpIHtcbiAgICAgICAgICB2YXIgY2hpbGQgPSBfc3RlcC52YWx1ZTtcbiAgICAgICAgICBrbm93bktleXMgPSB3YXJuT25JbnZhbGlkS2V5KGNoaWxkLCBrbm93bktleXMsIHJldHVybkZpYmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBuZXdDaGlsZHJlbiA9IGl0ZXJhdG9yRm4uY2FsbChuZXdDaGlsZHJlbkl0ZXJhYmxlKTtcblxuICAgIGlmIChuZXdDaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIGl0ZXJhYmxlIG9iamVjdCBwcm92aWRlZCBubyBpdGVyYXRvci4nKTtcbiAgICB9XG5cbiAgICB2YXIgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG51bGw7XG4gICAgdmFyIHByZXZpb3VzTmV3RmliZXIgPSBudWxsO1xuICAgIHZhciBvbGRGaWJlciA9IGN1cnJlbnRGaXJzdENoaWxkO1xuICAgIHZhciBsYXN0UGxhY2VkSW5kZXggPSAwO1xuICAgIHZhciBuZXdJZHggPSAwO1xuICAgIHZhciBuZXh0T2xkRmliZXIgPSBudWxsO1xuICAgIHZhciBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpO1xuXG4gICAgZm9yICg7IG9sZEZpYmVyICE9PSBudWxsICYmICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XG4gICAgICBpZiAob2xkRmliZXIuaW5kZXggPiBuZXdJZHgpIHtcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXI7XG4gICAgICAgIG9sZEZpYmVyID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXdGaWJlciA9IHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBzdGVwLnZhbHVlLCBsYW5lcyk7XG5cbiAgICAgIGlmIChuZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGJyZWFrcyBvbiBlbXB0eSBzbG90cyBsaWtlIG51bGwgY2hpbGRyZW4uIFRoYXQnc1xuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXG4gICAgICAgIC8vIGEgYmV0dGVyIHdheSB0byBjb21tdW5pY2F0ZSB3aGV0aGVyIHRoaXMgd2FzIGEgbWlzcyBvciBudWxsLFxuICAgICAgICAvLyBib29sZWFuLCB1bmRlZmluZWQsIGV0Yy5cbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgaWYgKG9sZEZpYmVyICYmIG5ld0ZpYmVyLmFsdGVybmF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxuICAgICAgICAgIC8vIG5lZWQgdG8gZGVsZXRlIHRoZSBleGlzdGluZyBjaGlsZC5cbiAgICAgICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgb2xkRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gbmV3RmliZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXG4gICAgICAgIC8vIEkuZS4gaWYgd2UgaGFkIG51bGwgdmFsdWVzIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIGRlZmVyIHRoaXNcbiAgICAgICAgLy8gZm9yIGVhY2ggbnVsbCB2YWx1ZS4gSG93ZXZlciwgd2UgYWxzbyBkb24ndCB3YW50IHRvIGNhbGwgdXBkYXRlU2xvdFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IG5ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBwcmV2aW91c05ld0ZpYmVyID0gbmV3RmliZXI7XG4gICAgICBvbGRGaWJlciA9IG5leHRPbGRGaWJlcjtcbiAgICB9XG5cbiAgICBpZiAoc3RlcC5kb25lKSB7XG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG5cbiAgICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIG51bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cbiAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgICB2YXIgX25ld0ZpYmVyMyA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBzdGVwLnZhbHVlLCBsYW5lcyk7XG5cbiAgICAgICAgaWYgKF9uZXdGaWJlcjMgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMywgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXIzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjM7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyMztcbiAgICAgIH1cblxuICAgICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgICAgdmFyIF9udW1iZXJPZkZvcmtzMyA9IG5ld0lkeDtcbiAgICAgICAgcHVzaFRyZWVGb3JrKHJldHVybkZpYmVyLCBfbnVtYmVyT2ZGb3JrczMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxuXG5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cblxuICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgdmFyIF9uZXdGaWJlcjQgPSB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIHN0ZXAudmFsdWUsIGxhbmVzKTtcblxuICAgICAgaWYgKF9uZXdGaWJlcjQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgICBpZiAoX25ld0ZpYmVyNC5hbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIFRoZSBuZXcgZmliZXIgaXMgYSB3b3JrIGluIHByb2dyZXNzLCBidXQgaWYgdGhlcmUgZXhpc3RzIGFcbiAgICAgICAgICAgIC8vIGN1cnJlbnQsIHRoYXQgbWVhbnMgdGhhdCB3ZSByZXVzZWQgdGhlIGZpYmVyLiBXZSBuZWVkIHRvIGRlbGV0ZVxuICAgICAgICAgICAgLy8gaXQgZnJvbSB0aGUgY2hpbGQgbGlzdCBzbyB0aGF0IHdlIGRvbid0IGFkZCBpdCB0byB0aGUgZGVsZXRpb25cbiAgICAgICAgICAgIC8vIGxpc3QuXG4gICAgICAgICAgICBleGlzdGluZ0NoaWxkcmVuLmRlbGV0ZShfbmV3RmliZXI0LmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IF9uZXdGaWJlcjQua2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlcjQsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXI0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjQ7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgLy8gQW55IGV4aXN0aW5nIGNoaWxkcmVuIHRoYXQgd2VyZW4ndCBjb25zdW1lZCBhYm92ZSB3ZXJlIGRlbGV0ZWQuIFdlIG5lZWRcbiAgICAgIC8vIHRvIGFkZCB0aGVtIHRvIHRoZSBkZWxldGlvbiBsaXN0LlxuICAgICAgZXhpc3RpbmdDaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICByZXR1cm4gZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICB2YXIgX251bWJlck9mRm9ya3M0ID0gbmV3SWR4O1xuICAgICAgcHVzaFRyZWVGb3JrKHJldHVybkZpYmVyLCBfbnVtYmVyT2ZGb3JrczQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlU2luZ2xlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCB0ZXh0Q29udGVudCwgbGFuZXMpIHtcbiAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGtleXMgb24gdGV4dCBub2RlcyBzaW5jZSB3ZSBkb24ndCBoYXZlIGFcbiAgICAvLyB3YXkgdG8gZGVmaW5lIHRoZW0uXG4gICAgaWYgKGN1cnJlbnRGaXJzdENoaWxkICE9PSBudWxsICYmIGN1cnJlbnRGaXJzdENoaWxkLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBleGlzdGluZyBub2RlIHNvIGxldCdzIGp1c3QgdXBkYXRlIGl0IGFuZCBkZWxldGVcbiAgICAgIC8vIHRoZSByZXN0LlxuICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLnNpYmxpbmcpO1xuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudEZpcnN0Q2hpbGQsIHRleHRDb250ZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH0gLy8gVGhlIGV4aXN0aW5nIGZpcnN0IGNoaWxkIGlzIG5vdCBhIHRleHQgbm9kZSBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmVcbiAgICAvLyBhbmQgZGVsZXRlIHRoZSBleGlzdGluZyBvbmVzLlxuXG5cbiAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpO1xuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tVGV4dCh0ZXh0Q29udGVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgcmV0dXJuIGNyZWF0ZWQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgZWxlbWVudCwgbGFuZXMpIHtcbiAgICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSBlbGVtZW50LnR5cGU7XG5cbiAgICAgICAgaWYgKGVsZW1lbnRUeXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLnRhZyA9PT0gRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcbiAgICAgICAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcbiAgICAgICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoY2hpbGQuZWxlbWVudFR5cGUgPT09IGVsZW1lbnRUeXBlIHx8ICggLy8gS2VlcCB0aGlzIGNoZWNrIGlubGluZSBzbyBpdCBvbmx5IHJ1bnMgb24gdGhlIGZhbHNlIHBhdGg6XG4gICAgICAgICAgIGlzQ29tcGF0aWJsZUZhbWlseUZvckhvdFJlbG9hZGluZyhjaGlsZCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRvIHRoaXMgYWZ0ZXIgdGhlIEhvdCBSZWxvYWRpbmcgY2hlY2sgYWJvdmUsXG4gICAgICAgICAgLy8gYmVjYXVzZSBob3QgcmVsb2FkaW5nIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIHRoYW4gcHJvZCBiZWNhdXNlXG4gICAgICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgICAgIHR5cGVvZiBlbGVtZW50VHlwZSA9PT0gJ29iamVjdCcgJiYgZWxlbWVudFR5cGUgIT09IG51bGwgJiYgZWxlbWVudFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSAmJiByZXNvbHZlTGF6eShlbGVtZW50VHlwZSkgPT09IGNoaWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcblxuICAgICAgICAgICAgdmFyIF9leGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzKTtcblxuICAgICAgICAgICAgX2V4aXN0aW5nLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY2hpbGQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgX2V4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9leGlzdGluZy5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XG4gICAgICAgICAgICAgIF9leGlzdGluZy5fZGVidWdPd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gX2V4aXN0aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBEaWRuJ3QgbWF0Y2guXG5cblxuICAgICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC50eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGVsZW1lbnQucHJvcHMuY2hpbGRyZW4sIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzLCBlbGVtZW50LmtleSk7XG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGNyZWF0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY3JlYXRlZDQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KGVsZW1lbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcblxuICAgICAgX2NyZWF0ZWQ0LnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIGVsZW1lbnQpO1xuICAgICAgX2NyZWF0ZWQ0LnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIF9jcmVhdGVkNDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVQb3J0YWwocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBwb3J0YWwsIGxhbmVzKSB7XG4gICAgdmFyIGtleSA9IHBvcnRhbC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICBpZiAoY2hpbGQudGFnID09PSBIb3N0UG9ydGFsICYmIGNoaWxkLnN0YXRlTm9kZS5jb250YWluZXJJbmZvID09PSBwb3J0YWwuY29udGFpbmVySW5mbyAmJiBjaGlsZC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gPT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xuICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcbiAgICAgICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjaGlsZCwgcG9ydGFsLmNoaWxkcmVuIHx8IFtdKTtcbiAgICAgICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH1cblxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cblxuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgcmV0dXJuIGNyZWF0ZWQ7XG4gIH0gLy8gVGhpcyBBUEkgd2lsbCB0YWcgdGhlIGNoaWxkcmVuIHdpdGggdGhlIHNpZGUtZWZmZWN0IG9mIHRoZSByZWNvbmNpbGlhdGlvblxuICAvLyBpdHNlbGYuIFRoZXkgd2lsbCBiZSBhZGRlZCB0byB0aGUgc2lkZS1lZmZlY3QgbGlzdCBhcyB3ZSBwYXNzIHRocm91Z2ggdGhlXG4gIC8vIGNoaWxkcmVuIGFuZCB0aGUgcGFyZW50LlxuXG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlQ2hpbGRGaWJlcnMocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG5vdCByZWN1cnNpdmUuXG4gICAgLy8gSWYgdGhlIHRvcCBsZXZlbCBpdGVtIGlzIGFuIGFycmF5LCB3ZSB0cmVhdCBpdCBhcyBhIHNldCBvZiBjaGlsZHJlbixcbiAgICAvLyBub3QgYXMgYSBmcmFnbWVudC4gTmVzdGVkIGFycmF5cyBvbiB0aGUgb3RoZXIgaGFuZCB3aWxsIGJlIHRyZWF0ZWQgYXNcbiAgICAvLyBmcmFnbWVudCBub2Rlcy4gUmVjdXJzaW9uIGhhcHBlbnMgYXQgdGhlIG5vcm1hbCBmbG93LlxuICAgIC8vIEhhbmRsZSB0b3AgbGV2ZWwgdW5rZXllZCBmcmFnbWVudHMgYXMgaWYgdGhleSB3ZXJlIGFycmF5cy5cbiAgICAvLyBUaGlzIGxlYWRzIHRvIGFuIGFtYmlndWl0eSBiZXR3ZWVuIDw+e1suLi5dfTwvPiBhbmQgPD4uLi48Lz4uXG4gICAgLy8gV2UgdHJlYXQgdGhlIGFtYmlndW91cyBjYXNlcyBhYm92ZSB0aGUgc2FtZS5cbiAgICB2YXIgaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCA9IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ29iamVjdCcgJiYgbmV3Q2hpbGQgIT09IG51bGwgJiYgbmV3Q2hpbGQudHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSAmJiBuZXdDaGlsZC5rZXkgPT09IG51bGw7XG5cbiAgICBpZiAoaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCkge1xuICAgICAgbmV3Q2hpbGQgPSBuZXdDaGlsZC5wcm9wcy5jaGlsZHJlbjtcbiAgICB9IC8vIEhhbmRsZSBvYmplY3QgdHlwZXNcblxuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ29iamVjdCcgJiYgbmV3Q2hpbGQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAobmV3Q2hpbGQuJCR0eXBlb2YpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlRWxlbWVudChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcykpO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGQsIGxhbmVzKSk7XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0OyAvLyBUT0RPOiBUaGlzIGZ1bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIG5vbi1yZWN1cnNpdmUuXG5cbiAgICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnMocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBpbml0KHBheWxvYWQpLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0FycmF5KG5ld0NoaWxkKSkge1xuICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5BcnJheShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChnZXRJdGVyYXRvckZuKG5ld0NoaWxkKSkge1xuICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5JdGVyYXRvcihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIHRocm93T25JbnZhbGlkT2JqZWN0VHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnICYmIG5ld0NoaWxkICE9PSAnJyB8fCB0eXBlb2YgbmV3Q2hpbGQgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gcGxhY2VTaW5nbGVDaGlsZChyZWNvbmNpbGVTaW5nbGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsICcnICsgbmV3Q2hpbGQsIGxhbmVzKSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH0gLy8gUmVtYWluaW5nIGNhc2VzIGFyZSBhbGwgdHJlYXRlZCBhcyBlbXB0eS5cblxuXG4gICAgcmV0dXJuIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCk7XG4gIH1cblxuICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnM7XG59XG5cbnZhciByZWNvbmNpbGVDaGlsZEZpYmVycyA9IENoaWxkUmVjb25jaWxlcih0cnVlKTtcbnZhciBtb3VudENoaWxkRmliZXJzID0gQ2hpbGRSZWNvbmNpbGVyKGZhbHNlKTtcbmZ1bmN0aW9uIGNsb25lQ2hpbGRGaWJlcnMoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgIT09IGN1cnJlbnQuY2hpbGQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc3VtaW5nIHdvcmsgbm90IHlldCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9PT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBjdXJyZW50Q2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgdmFyIG5ld0NoaWxkID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcbiAgbmV3Q2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG5cbiAgd2hpbGUgKGN1cnJlbnRDaGlsZC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgY3VycmVudENoaWxkID0gY3VycmVudENoaWxkLnNpYmxpbmc7XG4gICAgbmV3Q2hpbGQgPSBuZXdDaGlsZC5zaWJsaW5nID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgICBuZXdDaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIG5ld0NoaWxkLnNpYmxpbmcgPSBudWxsO1xufSAvLyBSZXNldCBhIHdvcmtJblByb2dyZXNzIGNoaWxkIHNldCB0byBwcmVwYXJlIGl0IGZvciBhIHNlY29uZCBwYXNzLlxuXG5mdW5jdGlvbiByZXNldENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBsYW5lcykge1xuICB2YXIgY2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICByZXNldFdvcmtJblByb2dyZXNzKGNoaWxkLCBsYW5lcyk7XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbnZhciBOT19DT05URVhUID0ge307XG52YXIgY29udGV4dFN0YWNrQ3Vyc29yJDEgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG52YXIgY29udGV4dEZpYmVyU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG52YXIgcm9vdEluc3RhbmNlU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG5cbmZ1bmN0aW9uIHJlcXVpcmVkQ29udGV4dChjKSB7XG4gIGlmIChjID09PSBOT19DT05URVhUKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBob3N0IGNvbnRleHQgdG8gZXhpc3QuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyAnICsgJ2luIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHJldHVybiBjO1xufVxuXG5mdW5jdGlvbiBnZXRSb290SG9zdENvbnRhaW5lcigpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgcmV0dXJuIHJvb3RJbnN0YW5jZTtcbn1cblxuZnVuY3Rpb24gcHVzaEhvc3RDb250YWluZXIoZmliZXIsIG5leHRSb290SW5zdGFuY2UpIHtcbiAgLy8gUHVzaCBjdXJyZW50IHJvb3QgaW5zdGFuY2Ugb250byB0aGUgc3RhY2s7XG4gIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHJlc2V0IHJvb3Qgd2hlbiBwb3J0YWxzIGFyZSBwb3BwZWQuXG4gIHB1c2gocm9vdEluc3RhbmNlU3RhY2tDdXJzb3IsIG5leHRSb290SW5zdGFuY2UsIGZpYmVyKTsgLy8gVHJhY2sgdGhlIGNvbnRleHQgYW5kIHRoZSBGaWJlciB0aGF0IHByb3ZpZGVkIGl0LlxuICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gcG9wIG9ubHkgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG5cbiAgcHVzaChjb250ZXh0RmliZXJTdGFja0N1cnNvciwgZmliZXIsIGZpYmVyKTsgLy8gRmluYWxseSwgd2UgbmVlZCB0byBwdXNoIHRoZSBob3N0IGNvbnRleHQgdG8gdGhlIHN0YWNrLlxuICAvLyBIb3dldmVyLCB3ZSBjYW4ndCBqdXN0IGNhbGwgZ2V0Um9vdEhvc3RDb250ZXh0KCkgYW5kIHB1c2ggaXQgYmVjYXVzZVxuICAvLyB3ZSdkIGhhdmUgYSBkaWZmZXJlbnQgbnVtYmVyIG9mIGVudHJpZXMgb24gdGhlIHN0YWNrIGRlcGVuZGluZyBvblxuICAvLyB3aGV0aGVyIGdldFJvb3RIb3N0Q29udGV4dCgpIHRocm93cyBzb21ld2hlcmUgaW4gcmVuZGVyZXIgY29kZSBvciBub3QuXG4gIC8vIFNvIHdlIHB1c2ggYW4gZW1wdHkgdmFsdWUgZmlyc3QuIFRoaXMgbGV0cyB1cyBzYWZlbHkgdW53aW5kIG9uIGVycm9ycy5cblxuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBOT19DT05URVhULCBmaWJlcik7XG4gIHZhciBuZXh0Um9vdENvbnRleHQgPSBnZXRSb290SG9zdENvbnRleHQobmV4dFJvb3RJbnN0YW5jZSk7IC8vIE5vdyB0aGF0IHdlIGtub3cgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IHRocm93LCByZXBsYWNlIGl0LlxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBuZXh0Um9vdENvbnRleHQsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gcG9wSG9zdENvbnRhaW5lcihmaWJlcikge1xuICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcbiAgcG9wKGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIHBvcChyb290SW5zdGFuY2VTdGFja0N1cnNvciwgZmliZXIpO1xufVxuXG5mdW5jdGlvbiBnZXRIb3N0Q29udGV4dCgpIHtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdENvbnRleHQoZmliZXIpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHZhciBuZXh0Q29udGV4dCA9IGdldENoaWxkSG9zdENvbnRleHQoY29udGV4dCwgZmliZXIudHlwZSk7IC8vIERvbid0IHB1c2ggdGhpcyBGaWJlcidzIGNvbnRleHQgdW5sZXNzIGl0J3MgdW5pcXVlLlxuXG4gIGlmIChjb250ZXh0ID09PSBuZXh0Q29udGV4dCkge1xuICAgIHJldHVybjtcbiAgfSAvLyBUcmFjayB0aGUgY29udGV4dCBhbmQgdGhlIEZpYmVyIHRoYXQgcHJvdmlkZWQgaXQuXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cblxuXG4gIHB1c2goY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyLCBmaWJlcik7XG4gIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yJDEsIG5leHRDb250ZXh0LCBmaWJlcik7XG59XG5cbmZ1bmN0aW9uIHBvcEhvc3RDb250ZXh0KGZpYmVyKSB7XG4gIC8vIERvIG5vdCBwb3AgdW5sZXNzIHRoaXMgRmliZXIgcHJvdmlkZWQgdGhlIGN1cnJlbnQgY29udGV4dC5cbiAgLy8gcHVzaEhvc3RDb250ZXh0KCkgb25seSBwdXNoZXMgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG4gIGlmIChjb250ZXh0RmliZXJTdGFja0N1cnNvci5jdXJyZW50ICE9PSBmaWJlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwb3AoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxudmFyIERlZmF1bHRTdXNwZW5zZUNvbnRleHQgPSAwOyAvLyBUaGUgU3VzcGVuc2UgQ29udGV4dCBpcyBzcGxpdCBpbnRvIHR3byBwYXJ0cy4gVGhlIGxvd2VyIGJpdHMgaXNcbi8vIGluaGVyaXRlZCBkZWVwbHkgZG93biB0aGUgc3VidHJlZS4gVGhlIHVwcGVyIGJpdHMgb25seSBhZmZlY3Rcbi8vIHRoaXMgaW1tZWRpYXRlIHN1c3BlbnNlIGJvdW5kYXJ5IGFuZCBnZXRzIHJlc2V0IGVhY2ggbmV3XG4vLyBib3VuZGFyeSBvciBzdXNwZW5zZSBsaXN0LlxuXG52YXIgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgPSAxOyAvLyBTdWJ0cmVlIEZsYWdzOlxuLy8gSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0IGluZGljYXRlcyB0aGF0IG9uZSBvZiBvdXIgcGFyZW50IFN1c3BlbnNlXG4vLyBib3VuZGFyaWVzIGlzIG5vdCBjdXJyZW50bHkgc2hvd2luZyB2aXNpYmxlIG1haW4gY29udGVudC5cbi8vIEVpdGhlciBiZWNhdXNlIGl0IGlzIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrIG9yIGlzIG5vdCBtb3VudGVkIGF0IGFsbC5cbi8vIFdlIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUgaWYgaXQgaXMgZGVzaXJhYmxlIHRvIHRyaWdnZXIgYSBmYWxsYmFjayBhdFxuLy8gdGhlIHBhcmVudC4gSWYgbm90LCB0aGVuIHdlIG1pZ2h0IG5lZWQgdG8gdHJpZ2dlciB1bmRlc2lyYWJsZSBib3VuZGFyaWVzXG4vLyBhbmQvb3Igc3VzcGVuZCB0aGUgY29tbWl0IHRvIGF2b2lkIGhpZGluZyB0aGUgcGFyZW50IGNvbnRlbnQuXG5cbnZhciBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQgPSAxOyAvLyBTaGFsbG93IEZsYWdzOlxuLy8gRm9yY2VTdXNwZW5zZUZhbGxiYWNrIGNhbiBiZSB1c2VkIGJ5IFN1c3BlbnNlTGlzdCB0byBmb3JjZSBuZXdseSBhZGRlZFxuLy8gaXRlbXMgaW50byB0aGVpciBmYWxsYmFjayBzdGF0ZSBkdXJpbmcgb25lIG9mIHRoZSByZW5kZXIgcGFzc2VzLlxuXG52YXIgRm9yY2VTdXNwZW5zZUZhbGxiYWNrID0gMjtcbnZhciBzdXNwZW5zZVN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKERlZmF1bHRTdXNwZW5zZUNvbnRleHQpO1xuZnVuY3Rpb24gaGFzU3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIGZsYWcpIHtcbiAgcmV0dXJuIChwYXJlbnRDb250ZXh0ICYgZmxhZykgIT09IDA7XG59XG5mdW5jdGlvbiBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChwYXJlbnRDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2s7XG59XG5mdW5jdGlvbiBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIHNoYWxsb3dDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgfCBzaGFsbG93Q29udGV4dDtcbn1cbmZ1bmN0aW9uIGFkZFN1YnRyZWVTdXNwZW5zZUNvbnRleHQocGFyZW50Q29udGV4dCwgc3VidHJlZUNvbnRleHQpIHtcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgfCBzdWJ0cmVlQ29udGV4dDtcbn1cbmZ1bmN0aW9uIHB1c2hTdXNwZW5zZUNvbnRleHQoZmliZXIsIG5ld0NvbnRleHQpIHtcbiAgcHVzaChzdXNwZW5zZVN0YWNrQ3Vyc29yLCBuZXdDb250ZXh0LCBmaWJlcik7XG59XG5mdW5jdGlvbiBwb3BTdXNwZW5zZUNvbnRleHQoZmliZXIpIHtcbiAgcG9wKHN1c3BlbnNlU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2FwdHVyZVN1c3BlbnNlKHdvcmtJblByb2dyZXNzLCBoYXNJbnZpc2libGVQYXJlbnQpIHtcbiAgLy8gSWYgaXQgd2FzIHRoZSBwcmltYXJ5IGNoaWxkcmVuIHRoYXQganVzdCBzdXNwZW5kZWQsIGNhcHR1cmUgYW5kIHJlbmRlciB0aGVcbiAgLy8gZmFsbGJhY2suIE90aGVyd2lzZSwgZG9uJ3QgY2FwdHVyZSBhbmQgYnViYmxlIHRvIHRoZSBuZXh0IGJvdW5kYXJ5LlxuICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAobmV4dFN0YXRlICE9PSBudWxsKSB7XG4gICAgaWYgKG5leHRTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGRlaHlkcmF0ZWQgYm91bmRhcnkgYWx3YXlzIGNhcHR1cmVzLlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wczsgLy8gUmVndWxhciBib3VuZGFyaWVzIGFsd2F5cyBjYXB0dXJlLlxuXG4gIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBJZiBpdCdzIGEgYm91bmRhcnkgd2Ugc2hvdWxkIGF2b2lkLCB0aGVuIHdlIHByZWZlciB0byBidWJibGUgdXAgdG8gdGhlXG59XG5mdW5jdGlvbiBmaW5kRmlyc3RTdXNwZW5kZWQocm93KSB7XG4gIHZhciBub2RlID0gcm93O1xuXG4gIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgdmFyIHN0YXRlID0gbm9kZS5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGRlaHlkcmF0ZWQgPSBzdGF0ZS5kZWh5ZHJhdGVkO1xuXG4gICAgICAgIGlmIChkZWh5ZHJhdGVkID09PSBudWxsIHx8IGlzU3VzcGVuc2VJbnN0YW5jZVBlbmRpbmcoZGVoeWRyYXRlZCkgfHwgaXNTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2soZGVoeWRyYXRlZCkpIHtcbiAgICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlTGlzdENvbXBvbmVudCAmJiAvLyByZXZlYWxPcmRlciB1bmRlZmluZWQgY2FuJ3QgYmUgdHJ1c3RlZCBiZWNhdXNlIGl0IGRvbid0XG4gICAgLy8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIGl0IHN1c3BlbmRlZCBvciBub3QuXG4gICAgbm9kZS5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBkaWRTdXNwZW5kID0gKG5vZGUuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncztcblxuICAgICAgaWYgKGRpZFN1c3BlbmQpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSByb3cpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gcm93KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIE5vRmxhZ3MkMSA9XG4vKiAgICovXG4wOyAvLyBSZXByZXNlbnRzIHdoZXRoZXIgZWZmZWN0IHNob3VsZCBmaXJlLlxuXG52YXIgSGFzRWZmZWN0ID1cbi8qICovXG4xOyAvLyBSZXByZXNlbnRzIHRoZSBwaGFzZSBpbiB3aGljaCB0aGUgZWZmZWN0IChub3QgdGhlIGNsZWFuLXVwKSBmaXJlcy5cblxudmFyIEluc2VydGlvbiA9XG4vKiAgKi9cbjI7XG52YXIgTGF5b3V0ID1cbi8qICAgICovXG40O1xudmFyIFBhc3NpdmUkMSA9XG4vKiAgICovXG44O1xuXG4vLyBhbmQgc2hvdWxkIGJlIHJlc2V0IGJlZm9yZSBzdGFydGluZyBhIG5ldyByZW5kZXIuXG4vLyBUaGlzIHRyYWNrcyB3aGljaCBtdXRhYmxlIHNvdXJjZXMgbmVlZCB0byBiZSByZXNldCBhZnRlciBhIHJlbmRlci5cblxudmFyIHdvcmtJblByb2dyZXNzU291cmNlcyA9IFtdO1xuZnVuY3Rpb24gcmVzZXRXb3JrSW5Qcm9ncmVzc1ZlcnNpb25zKCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHdvcmtJblByb2dyZXNzU291cmNlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBtdXRhYmxlU291cmNlID0gd29ya0luUHJvZ3Jlc3NTb3VyY2VzW2ldO1xuXG4gICAge1xuICAgICAgbXV0YWJsZVNvdXJjZS5fd29ya0luUHJvZ3Jlc3NWZXJzaW9uUHJpbWFyeSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3NTb3VyY2VzLmxlbmd0aCA9IDA7XG59XG4vLyBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgdmVyc2lvbiB1c2VkIGZvciBzZXJ2ZXIgcmVuZGVyaW5nIG1hdGNoZXMgdGhlIG9uZVxuLy8gdGhhdCBpcyBldmVudHVhbGx5IHJlYWQgZHVyaW5nIGh5ZHJhdGlvbi5cbi8vIElmIHRoZXkgZG9uJ3QgbWF0Y2ggdGhlcmUncyBhIHBvdGVudGlhbCB0ZWFyIGFuZCBhIGZ1bGwgZGVvcHQgcmVuZGVyIGlzIHJlcXVpcmVkLlxuXG5mdW5jdGlvbiByZWdpc3Rlck11dGFibGVTb3VyY2VGb3JIeWRyYXRpb24ocm9vdCwgbXV0YWJsZVNvdXJjZSkge1xuICB2YXIgZ2V0VmVyc2lvbiA9IG11dGFibGVTb3VyY2UuX2dldFZlcnNpb247XG4gIHZhciB2ZXJzaW9uID0gZ2V0VmVyc2lvbihtdXRhYmxlU291cmNlLl9zb3VyY2UpOyAvLyBUT0RPIENsZWFyIHRoaXMgZGF0YSBvbmNlIGFsbCBwZW5kaW5nIGh5ZHJhdGlvbiB3b3JrIGlzIGZpbmlzaGVkLlxuICAvLyBSZXRhaW5pbmcgaXQgZm9yZXZlciBtYXkgaW50ZXJmZXJlIHdpdGggR0MuXG5cbiAgaWYgKHJvb3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YSA9PSBudWxsKSB7XG4gICAgcm9vdC5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhID0gW211dGFibGVTb3VyY2UsIHZlcnNpb25dO1xuICB9IGVsc2Uge1xuICAgIHJvb3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YS5wdXNoKG11dGFibGVTb3VyY2UsIHZlcnNpb24pO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbnZhciBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQ7XG52YXIgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3Q7XG5cbntcbiAgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xufVxuXG4vLyBUaGVzZSBhcmUgc2V0IHJpZ2h0IGJlZm9yZSBjYWxsaW5nIHRoZSBjb21wb25lbnQuXG52YXIgcmVuZGVyTGFuZXMgPSBOb0xhbmVzOyAvLyBUaGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gSSd2ZSBuYW1lZCBpdCBkaWZmZXJlbnRseSB0byBkaXN0aW5ndWlzaCBpdCBmcm9tXG4vLyB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7IC8vIEhvb2tzIGFyZSBzdG9yZWQgYXMgYSBsaW5rZWQgbGlzdCBvbiB0aGUgZmliZXIncyBtZW1vaXplZFN0YXRlIGZpZWxkLiBUaGVcbi8vIGN1cnJlbnQgaG9vayBsaXN0IGlzIHRoZSBsaXN0IHRoYXQgYmVsb25ncyB0byB0aGUgY3VycmVudCBmaWJlci4gVGhlXG4vLyB3b3JrLWluLXByb2dyZXNzIGhvb2sgbGlzdCBpcyBhIG5ldyBsaXN0IHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGVcbi8vIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG5cbnZhciBjdXJyZW50SG9vayA9IG51bGw7XG52YXIgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDsgLy8gV2hldGhlciBhbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBhdCBhbnkgcG9pbnQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuIFRoaXNcbi8vIGRvZXMgbm90IGdldCByZXNldCBpZiB3ZSBkbyBhbm90aGVyIHJlbmRlciBwYXNzOyBvbmx5IHdoZW4gd2UncmUgY29tcGxldGVseVxuLy8gZmluaXNoZWQgZXZhbHVhdGluZyB0aGlzIGNvbXBvbmVudC4gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gc28gd2Uga25vd1xuLy8gd2hldGhlciB3ZSBuZWVkIHRvIGNsZWFyIHJlbmRlciBwaGFzZSB1cGRhdGVzIGFmdGVyIGEgdGhyb3cuXG5cbnZhciBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gZmFsc2U7IC8vIFdoZXJlIGFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9ubHkgZHVyaW5nIHRoZSBjdXJyZW50IHJlbmRlciBwYXNzLiBUaGlzXG4vLyBnZXRzIHJlc2V0IGFmdGVyIGVhY2ggYXR0ZW1wdC5cbi8vIFRPRE86IE1heWJlIHRoZXJlJ3Mgc29tZSB3YXkgdG8gY29uc29saWRhdGUgdGhpcyB3aXRoXG4vLyBgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZWAuIE9yIHdpdGggYG51bWJlck9mUmVSZW5kZXJzYC5cblxudmFyIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlOyAvLyBDb3VudHMgdGhlIG51bWJlciBvZiB1c2VJZCBob29rcyBpbiB0aGlzIGNvbXBvbmVudC5cblxudmFyIGxvY2FsSWRDb3VudGVyID0gMDsgLy8gVXNlZCBmb3IgaWRzIHRoYXQgYXJlIGdlbmVyYXRlZCBjb21wbGV0ZWx5IGNsaWVudC1zaWRlIChpLmUuIG5vdCBkdXJpbmdcbi8vIGh5ZHJhdGlvbikuIFRoaXMgY291bnRlciBpcyBnbG9iYWwsIHNvIGNsaWVudCBpZHMgYXJlIG5vdCBzdGFibGUgYWNyb3NzXG4vLyByZW5kZXIgYXR0ZW1wdHMuXG5cbnZhciBnbG9iYWxDbGllbnRJZENvdW50ZXIgPSAwO1xudmFyIFJFX1JFTkRFUl9MSU1JVCA9IDI1OyAvLyBJbiBERVYsIHRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcHJpbWl0aXZlIGhvb2tcblxudmFyIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDsgLy8gSW4gREVWLCB0aGlzIGxpc3QgZW5zdXJlcyB0aGF0IGhvb2tzIGFyZSBjYWxsZWQgaW4gdGhlIHNhbWUgb3JkZXIgYmV0d2VlbiByZW5kZXJzLlxuLy8gVGhlIGxpc3Qgc3RvcmVzIHRoZSBvcmRlciBvZiBob29rcyB1c2VkIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgKG1vdW50KS5cbi8vIFN1YnNlcXVlbnQgcmVuZGVycyAodXBkYXRlcykgcmVmZXJlbmNlIHRoaXMgbGlzdC5cblxudmFyIGhvb2tUeXBlc0RldiA9IG51bGw7XG52YXIgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTsgLy8gSW4gREVWLCB0aGlzIHRyYWNrcyB3aGV0aGVyIGN1cnJlbnRseSByZW5kZXJpbmcgY29tcG9uZW50IG5lZWRzIHRvIGlnbm9yZVxuLy8gdGhlIGRlcGVuZGVuY2llcyBmb3IgSG9va3MgdGhhdCBuZWVkIHRoZW0gKGUuZy4gdXNlRWZmZWN0IG9yIHVzZU1lbW8pLlxuLy8gV2hlbiB0cnVlLCBzdWNoIEhvb2tzIHdpbGwgYWx3YXlzIGJlIFwicmVtb3VudGVkXCIuIE9ubHkgdXNlZCBkdXJpbmcgaG90IHJlbG9hZC5cblxudmFyIGlnbm9yZVByZXZpb3VzRGVwZW5kZW5jaWVzID0gZmFsc2U7XG5cbmZ1bmN0aW9uIG1vdW50SG9va1R5cGVzRGV2KCkge1xuICB7XG4gICAgdmFyIGhvb2tOYW1lID0gY3VycmVudEhvb2tOYW1lSW5EZXY7XG5cbiAgICBpZiAoaG9va1R5cGVzRGV2ID09PSBudWxsKSB7XG4gICAgICBob29rVHlwZXNEZXYgPSBbaG9va05hbWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICBob29rVHlwZXNEZXYucHVzaChob29rTmFtZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvb2tUeXBlc0RldigpIHtcbiAge1xuICAgIHZhciBob29rTmFtZSA9IGN1cnJlbnRIb29rTmFtZUluRGV2O1xuXG4gICAgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYrKztcblxuICAgICAgaWYgKGhvb2tUeXBlc0Rldltob29rVHlwZXNVcGRhdGVJbmRleERldl0gIT09IGhvb2tOYW1lKSB7XG4gICAgICAgIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGhvb2tOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcykge1xuICB7XG4gICAgaWYgKGRlcHMgIT09IHVuZGVmaW5lZCAmJiBkZXBzICE9PSBudWxsICYmICFpc0FycmF5KGRlcHMpKSB7XG4gICAgICAvLyBWZXJpZnkgZGVwcywgYnV0IG9ubHkgb24gbW91bnQgdG8gYXZvaWQgZXh0cmEgY2hlY2tzLlxuICAgICAgLy8gSXQncyB1bmxpa2VseSB0aGVpciB0eXBlIHdvdWxkIGNoYW5nZSBhcyB1c3VhbGx5IHlvdSBkZWZpbmUgdGhlbSBpbmxpbmUuXG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCB0aGF0IGlzIG5vdCBhbiBhcnJheSAoaW5zdGVhZCwgcmVjZWl2ZWQgYCVzYCkuIFdoZW4gJyArICdzcGVjaWZpZWQsIHRoZSBmaW5hbCBhcmd1bWVudCBtdXN0IGJlIGFuIGFycmF5LicsIGN1cnJlbnRIb29rTmFtZUluRGV2LCB0eXBlb2YgZGVwcyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGN1cnJlbnRIb29rTmFtZSkge1xuICB7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEpO1xuXG4gICAgaWYgKCFkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuYWRkKGNvbXBvbmVudE5hbWUpO1xuXG4gICAgICBpZiAoaG9va1R5cGVzRGV2ICE9PSBudWxsKSB7XG4gICAgICAgIHZhciB0YWJsZSA9ICcnO1xuICAgICAgICB2YXIgc2Vjb25kQ29sdW1uU3RhcnQgPSAzMDtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBob29rVHlwZXNVcGRhdGVJbmRleERldjsgaSsrKSB7XG4gICAgICAgICAgdmFyIG9sZEhvb2tOYW1lID0gaG9va1R5cGVzRGV2W2ldO1xuICAgICAgICAgIHZhciBuZXdIb29rTmFtZSA9IGkgPT09IGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID8gY3VycmVudEhvb2tOYW1lIDogb2xkSG9va05hbWU7XG4gICAgICAgICAgdmFyIHJvdyA9IGkgKyAxICsgXCIuIFwiICsgb2xkSG9va05hbWU7IC8vIEV4dHJhIHNwYWNlIHNvIHNlY29uZCBjb2x1bW4gbGluZXMgdXBcbiAgICAgICAgICAvLyBsb2wgQCBJRSBub3Qgc3VwcG9ydGluZyBTdHJpbmcjcmVwZWF0XG5cbiAgICAgICAgICB3aGlsZSAocm93Lmxlbmd0aCA8IHNlY29uZENvbHVtblN0YXJ0KSB7XG4gICAgICAgICAgICByb3cgKz0gJyAnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJvdyArPSBuZXdIb29rTmFtZSArICdcXG4nO1xuICAgICAgICAgIHRhYmxlICs9IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yKCdSZWFjdCBoYXMgZGV0ZWN0ZWQgYSBjaGFuZ2UgaW4gdGhlIG9yZGVyIG9mIEhvb2tzIGNhbGxlZCBieSAlcy4gJyArICdUaGlzIHdpbGwgbGVhZCB0byBidWdzIGFuZCBlcnJvcnMgaWYgbm90IGZpeGVkLiAnICsgJ0ZvciBtb3JlIGluZm9ybWF0aW9uLCByZWFkIHRoZSBSdWxlcyBvZiBIb29rczogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3J1bGVzLW9mLWhvb2tzXFxuXFxuJyArICcgICBQcmV2aW91cyByZW5kZXIgICAgICAgICAgICBOZXh0IHJlbmRlclxcbicgKyAnICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuJyArICclcycgKyAnICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXFxuJywgY29tcG9uZW50TmFtZSwgdGFibGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0aHJvd0ludmFsaWRIb29rRXJyb3IoKSB7XG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvcicgKyAnIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4nICsgJzIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4nICsgJzMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLicpO1xufVxuXG5mdW5jdGlvbiBhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSB7XG4gIHtcbiAgICBpZiAoaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMpIHtcbiAgICAgIC8vIE9ubHkgdHJ1ZSB3aGVuIHRoaXMgY29tcG9uZW50IGlzIGJlaW5nIGhvdCByZWxvYWRlZC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpZiAocHJldkRlcHMgPT09IG51bGwpIHtcbiAgICB7XG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCBub3QgZHVyaW5nICcgKyAndGhlIHByZXZpb3VzIHJlbmRlci4gRXZlbiB0aG91Z2ggdGhlIGZpbmFsIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCAnICsgJ2l0cyB0eXBlIGNhbm5vdCBjaGFuZ2UgYmV0d2VlbiByZW5kZXJzLicsIGN1cnJlbnRIb29rTmFtZUluRGV2KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB7XG4gICAgLy8gRG9uJ3QgYm90aGVyIGNvbXBhcmluZyBsZW5ndGhzIGluIHByb2QgYmVjYXVzZSB0aGVzZSBhcnJheXMgc2hvdWxkIGJlXG4gICAgLy8gcGFzc2VkIGlubGluZS5cbiAgICBpZiAobmV4dERlcHMubGVuZ3RoICE9PSBwcmV2RGVwcy5sZW5ndGgpIHtcbiAgICAgIGVycm9yKCdUaGUgZmluYWwgYXJndW1lbnQgcGFzc2VkIHRvICVzIGNoYW5nZWQgc2l6ZSBiZXR3ZWVuIHJlbmRlcnMuIFRoZSAnICsgJ29yZGVyIGFuZCBzaXplIG9mIHRoaXMgYXJyYXkgbXVzdCByZW1haW4gY29uc3RhbnQuXFxuXFxuJyArICdQcmV2aW91czogJXNcXG4nICsgJ0luY29taW5nOiAlcycsIGN1cnJlbnRIb29rTmFtZUluRGV2LCBcIltcIiArIHByZXZEZXBzLmpvaW4oJywgJykgKyBcIl1cIiwgXCJbXCIgKyBuZXh0RGVwcy5qb2luKCcsICcpICsgXCJdXCIpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJldkRlcHMubGVuZ3RoICYmIGkgPCBuZXh0RGVwcy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChvYmplY3RJcyhuZXh0RGVwc1tpXSwgcHJldkRlcHNbaV0pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBzZWNvbmRBcmcsIG5leHRSZW5kZXJMYW5lcykge1xuICByZW5kZXJMYW5lcyA9IG5leHRSZW5kZXJMYW5lcztcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IHdvcmtJblByb2dyZXNzO1xuXG4gIHtcbiAgICBob29rVHlwZXNEZXYgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5fZGVidWdIb29rVHlwZXMgOiBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIFVzZWQgZm9yIGhvdCByZWxvYWRpbmc6XG5cbiAgICBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBOb0xhbmVzOyAvLyBUaGUgZm9sbG93aW5nIHNob3VsZCBoYXZlIGFscmVhZHkgYmVlbiByZXNldFxuICAvLyBjdXJyZW50SG9vayA9IG51bGw7XG4gIC8vIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG4gIC8vIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcbiAgLy8gbG9jYWxJZENvdW50ZXIgPSAwO1xuICAvLyBUT0RPIFdhcm4gaWYgbm8gaG9va3MgYXJlIHVzZWQgYXQgYWxsIGR1cmluZyBtb3VudCwgdGhlbiBzb21lIGFyZSB1c2VkIGR1cmluZyB1cGRhdGUuXG4gIC8vIEN1cnJlbnRseSB3ZSB3aWxsIGlkZW50aWZ5IHRoZSB1cGRhdGUgcmVuZGVyIGFzIGEgbW91bnQgYmVjYXVzZSBtZW1vaXplZFN0YXRlID09PSBudWxsLlxuICAvLyBUaGlzIGlzIHRyaWNreSBiZWNhdXNlIGl0J3MgdmFsaWQgZm9yIGNlcnRhaW4gdHlwZXMgb2YgY29tcG9uZW50cyAoZS5nLiBSZWFjdC5sYXp5KVxuICAvLyBVc2luZyBtZW1vaXplZFN0YXRlIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBtb3VudC91cGRhdGUgb25seSB3b3JrcyBpZiBhdCBsZWFzdCBvbmUgc3RhdGVmdWwgaG9vayBpcyB1c2VkLlxuICAvLyBOb24tc3RhdGVmdWwgaG9va3MgKGUuZy4gY29udGV4dCkgZG9uJ3QgZ2V0IGFkZGVkIHRvIG1lbW9pemVkU3RhdGUsXG4gIC8vIHNvIG1lbW9pemVkU3RhdGUgd291bGQgYmUgbnVsbCBkdXJpbmcgdXBkYXRlcyBhbmQgbW91bnRzLlxuXG4gIHtcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcbiAgICB9IGVsc2UgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBkaXNwYXRjaGVyIGhhbmRsZXMgYW4gZWRnZSBjYXNlIHdoZXJlIGEgY29tcG9uZW50IGlzIHVwZGF0aW5nLFxuICAgICAgLy8gYnV0IG5vIHN0YXRlZnVsIGhvb2tzIGhhdmUgYmVlbiB1c2VkLlxuICAgICAgLy8gV2Ugd2FudCB0byBtYXRjaCB0aGUgcHJvZHVjdGlvbiBjb2RlIGJlaGF2aW9yICh3aGljaCB3aWxsIHVzZSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50KSxcbiAgICAgIC8vIGJ1dCB3aXRoIHRoZSBleHRyYSBERVYgdmFsaWRhdGlvbiB0byBlbnN1cmUgaG9va3Mgb3JkZXJpbmcgaGFzbid0IGNoYW5nZWQuXG4gICAgICAvLyBUaGlzIGRpc3BhdGNoZXIgZG9lcyB0aGF0LlxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcbiAgICB9XG4gIH1cblxuICB2YXIgY2hpbGRyZW4gPSBDb21wb25lbnQocHJvcHMsIHNlY29uZEFyZyk7IC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhIHJlbmRlciBwaGFzZSB1cGRhdGVcblxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZUR1cmluZ1RoaXNQYXNzKSB7XG4gICAgLy8gS2VlcCByZW5kZXJpbmcgaW4gYSBsb29wIGZvciBhcyBsb25nIGFzIHJlbmRlciBwaGFzZSB1cGRhdGVzIGNvbnRpbnVlIHRvXG4gICAgLy8gYmUgc2NoZWR1bGVkLiBVc2UgYSBjb3VudGVyIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXG4gICAgdmFyIG51bWJlck9mUmVSZW5kZXJzID0gMDtcblxuICAgIGRvIHtcbiAgICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlO1xuICAgICAgbG9jYWxJZENvdW50ZXIgPSAwO1xuXG4gICAgICBpZiAobnVtYmVyT2ZSZVJlbmRlcnMgPj0gUkVfUkVOREVSX0xJTUlUKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVG9vIG1hbnkgcmUtcmVuZGVycy4gUmVhY3QgbGltaXRzIHRoZSBudW1iZXIgb2YgcmVuZGVycyB0byBwcmV2ZW50ICcgKyAnYW4gaW5maW5pdGUgbG9vcC4nKTtcbiAgICAgIH1cblxuICAgICAgbnVtYmVyT2ZSZVJlbmRlcnMgKz0gMTtcblxuICAgICAge1xuICAgICAgICAvLyBFdmVuIHdoZW4gaG90IHJlbG9hZGluZywgYWxsb3cgZGVwZW5kZW5jaWVzIHRvIHN0YWJpbGl6ZVxuICAgICAgICAvLyBhZnRlciBmaXJzdCByZW5kZXIgdG8gcHJldmVudCBpbmZpbml0ZSByZW5kZXIgcGhhc2UgdXBkYXRlcy5cbiAgICAgICAgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBmYWxzZTtcbiAgICAgIH0gLy8gU3RhcnQgb3ZlciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3RcblxuXG4gICAgICBjdXJyZW50SG9vayA9IG51bGw7XG4gICAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuXG4gICAgICB7XG4gICAgICAgIC8vIEFsc28gdmFsaWRhdGUgaG9vayBvcmRlciBmb3IgY2FzY2FkaW5nIHVwZGF0ZXMuXG4gICAgICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7XG4gICAgICB9XG5cbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA7XG4gICAgICBjaGlsZHJlbiA9IENvbXBvbmVudChwcm9wcywgc2Vjb25kQXJnKTtcbiAgICB9IHdoaWxlIChkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MpO1xuICB9IC8vIFdlIGNhbiBhc3N1bWUgdGhlIHByZXZpb3VzIGRpc3BhdGNoZXIgaXMgYWx3YXlzIHRoaXMgb25lLCBzaW5jZSB3ZSBzZXQgaXRcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmNlLlxuXG5cbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBDb250ZXh0T25seURpc3BhdGNoZXI7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z0hvb2tUeXBlcyA9IGhvb2tUeXBlc0RldjtcbiAgfSAvLyBUaGlzIGNoZWNrIHVzZXMgY3VycmVudEhvb2sgc28gdGhhdCBpdCB3b3JrcyB0aGUgc2FtZSBpbiBERVYgYW5kIHByb2QgYnVuZGxlcy5cbiAgLy8gaG9va1R5cGVzRGV2IGNvdWxkIGNhdGNoIG1vcmUgY2FzZXMgKGUuZy4gY29udGV4dCkgYnV0IG9ubHkgaW4gREVWIGJ1bmRsZXMuXG5cblxuICB2YXIgZGlkUmVuZGVyVG9vRmV3SG9va3MgPSBjdXJyZW50SG9vayAhPT0gbnVsbCAmJiBjdXJyZW50SG9vay5uZXh0ICE9PSBudWxsO1xuICByZW5kZXJMYW5lcyA9IE5vTGFuZXM7XG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSBudWxsO1xuICBjdXJyZW50SG9vayA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG5cbiAge1xuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNEZXYgPSBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIENvbmZpcm0gdGhhdCBhIHN0YXRpYyBmbGFnIHdhcyBub3QgYWRkZWQgb3IgcmVtb3ZlZCBzaW5jZSB0aGUgbGFzdFxuICAgIC8vIHJlbmRlci4gSWYgdGhpcyBmaXJlcywgaXQgc3VnZ2VzdHMgdGhhdCB3ZSBpbmNvcnJlY3RseSByZXNldCB0aGUgc3RhdGljXG4gICAgLy8gZmxhZ3MgaW4gc29tZSBvdGhlciBwYXJ0IG9mIHRoZSBjb2RlYmFzZS4gVGhpcyBoYXMgaGFwcGVuZWQgYmVmb3JlLCBmb3JcbiAgICAvLyBleGFtcGxlLCBpbiB0aGUgU3VzcGVuc2VMaXN0IGltcGxlbWVudGF0aW9uLlxuXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgKGN1cnJlbnQuZmxhZ3MgJiBTdGF0aWNNYXNrKSAhPT0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgU3RhdGljTWFzaykgJiYgLy8gRGlzYWJsZSB0aGlzIHdhcm5pbmcgaW4gbGVnYWN5IG1vZGUsIGJlY2F1c2UgbGVnYWN5IFN1c3BlbnNlIGlzIHdlaXJkXG4gICAgLy8gYW5kIGNyZWF0ZXMgZmFsc2UgcG9zaXRpdmVzLiBUbyBtYWtlIHRoaXMgd29yayBpbiBsZWdhY3kgbW9kZSwgd2UnZFxuICAgIC8vIG5lZWQgdG8gbWFyayBmaWJlcnMgdGhhdCBjb21taXQgaW4gYW4gaW5jb21wbGV0ZSBzdGF0ZSwgc29tZWhvdy4gRm9yXG4gICAgLy8gbm93IEknbGwgZGlzYWJsZSB0aGUgd2FybmluZyB0aGF0IG1vc3Qgb2YgdGhlIGJ1Z3MgdGhhdCB3b3VsZCB0cmlnZ2VyXG4gICAgLy8gaXQgYXJlIGVpdGhlciBleGNsdXNpdmUgdG8gY29uY3VycmVudCBtb2RlIG9yIGV4aXN0IGluIGJvdGguXG4gICAgKGN1cnJlbnQubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICBlcnJvcignSW50ZXJuYWwgUmVhY3QgZXJyb3I6IEV4cGVjdGVkIHN0YXRpYyBmbGFnIHdhcyBtaXNzaW5nLiBQbGVhc2UgJyArICdub3RpZnkgdGhlIFJlYWN0IHRlYW0uJyk7XG4gICAgfVxuICB9XG5cbiAgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGlzIGlzIHJlc2V0IGJ5IGNoZWNrRGlkUmVuZGVySWRIb29rXG4gIC8vIGxvY2FsSWRDb3VudGVyID0gMDtcblxuICBpZiAoZGlkUmVuZGVyVG9vRmV3SG9va3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlbmRlcmVkIGZld2VyIGhvb2tzIHRoYW4gZXhwZWN0ZWQuIFRoaXMgbWF5IGJlIGNhdXNlZCBieSBhbiBhY2NpZGVudGFsICcgKyAnZWFybHkgcmV0dXJuIHN0YXRlbWVudC4nKTtcbiAgfVxuXG4gIHJldHVybiBjaGlsZHJlbjtcbn1cbmZ1bmN0aW9uIGNoZWNrRGlkUmVuZGVySWRIb29rKCkge1xuICAvLyBUaGlzIHNob3VsZCBiZSBjYWxsZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZXZlcnkgcmVuZGVyV2l0aEhvb2tzIGNhbGwuXG4gIC8vIENvbmNlcHR1YWxseSwgaXQncyBwYXJ0IG9mIHRoZSByZXR1cm4gdmFsdWUgb2YgcmVuZGVyV2l0aEhvb2tzOyBpdCdzIG9ubHkgYVxuICAvLyBzZXBhcmF0ZSBmdW5jdGlvbiB0byBhdm9pZCB1c2luZyBhbiBhcnJheSB0dXBsZS5cbiAgdmFyIGRpZFJlbmRlcklkSG9vayA9IGxvY2FsSWRDb3VudGVyICE9PSAwO1xuICBsb2NhbElkQ291bnRlciA9IDA7XG4gIHJldHVybiBkaWRSZW5kZXJJZEhvb2s7XG59XG5mdW5jdGlvbiBiYWlsb3V0SG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGxhbmVzKSB7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTsgLy8gVE9ETzogRG9uJ3QgbmVlZCB0byByZXNldCB0aGUgZmxhZ3MgaGVyZSwgYmVjYXVzZSB0aGV5J3JlIHJlc2V0IGluIHRoZVxuICAvLyBjb21wbGV0ZSBwaGFzZSAoYnViYmxlUHJvcGVydGllcykuXG5cbiAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gfihNb3VudFBhc3NpdmVEZXYgfCBNb3VudExheW91dERldiB8IFBhc3NpdmUgfCBVcGRhdGUpO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH4oUGFzc2l2ZSB8IFVwZGF0ZSk7XG4gIH1cblxuICBjdXJyZW50LmxhbmVzID0gcmVtb3ZlTGFuZXMoY3VycmVudC5sYW5lcywgbGFuZXMpO1xufVxuZnVuY3Rpb24gcmVzZXRIb29rc0FmdGVyVGhyb3coKSB7XG4gIC8vIFdlIGNhbiBhc3N1bWUgdGhlIHByZXZpb3VzIGRpc3BhdGNoZXIgaXMgYWx3YXlzIHRoaXMgb25lLCBzaW5jZSB3ZSBzZXQgaXRcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmNlLlxuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcblxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSkge1xuICAgIC8vIFRoZXJlIHdlcmUgcmVuZGVyIHBoYXNlIHVwZGF0ZXMuIFRoZXNlIGFyZSBvbmx5IHZhbGlkIGZvciB0aGlzIHJlbmRlclxuICAgIC8vIHBoYXNlLCB3aGljaCB3ZSBhcmUgbm93IGFib3J0aW5nLiBSZW1vdmUgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWVzIHNvXG4gICAgLy8gdGhleSBkbyBub3QgcGVyc2lzdCB0byB0aGUgbmV4dCByZW5kZXIuIERvIG5vdCByZW1vdmUgdXBkYXRlcyBmcm9tIGhvb2tzXG4gICAgLy8gdGhhdCB3ZXJlbid0IHByb2Nlc3NlZC5cbiAgICAvL1xuICAgIC8vIE9ubHkgcmVzZXQgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWUgaWYgaXQgaGFzIGEgY2xvbmUuIElmIGl0IGRvZXNcbiAgICAvLyBub3QgaGF2ZSBhIGNsb25lLCB0aGF0IG1lYW5zIGl0IHdhc24ndCBwcm9jZXNzZWQsIGFuZCB0aGUgdXBkYXRlcyB3ZXJlXG4gICAgLy8gc2NoZWR1bGVkIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgdmFyIGhvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XG5cbiAgICB3aGlsZSAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICAgICAgaWYgKHF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBob29rID0gaG9vay5uZXh0O1xuICAgIH1cblxuICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcbiAgfVxuXG4gIHJlbmRlckxhbmVzID0gTm9MYW5lcztcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7XG4gIGN1cnJlbnRIb29rID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDtcblxuICB7XG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xO1xuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcbiAgICBpc1VwZGF0aW5nT3BhcXVlVmFsdWVJblJlbmRlclBoYXNlID0gZmFsc2U7XG4gIH1cblxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MgPSBmYWxzZTtcbiAgbG9jYWxJZENvdW50ZXIgPSAwO1xufVxuXG5mdW5jdGlvbiBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpIHtcbiAgdmFyIGhvb2sgPSB7XG4gICAgbWVtb2l6ZWRTdGF0ZTogbnVsbCxcbiAgICBiYXNlU3RhdGU6IG51bGwsXG4gICAgYmFzZVF1ZXVlOiBudWxsLFxuICAgIHF1ZXVlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3NIb29rID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgaG9vayBpbiB0aGUgbGlzdFxuICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IGhvb2s7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3RcbiAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dCA9IGhvb2s7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NIb29rO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBib3RoIGZvciB1cGRhdGVzIGFuZCBmb3IgcmUtcmVuZGVycyB0cmlnZ2VyZWQgYnkgYVxuICAvLyByZW5kZXIgcGhhc2UgdXBkYXRlLiBJdCBhc3N1bWVzIHRoZXJlIGlzIGVpdGhlciBhIGN1cnJlbnQgaG9vayB3ZSBjYW5cbiAgLy8gY2xvbmUsIG9yIGEgd29yay1pbi1wcm9ncmVzcyBob29rIGZyb20gYSBwcmV2aW91cyByZW5kZXIgcGFzcyB0aGF0IHdlIGNhblxuICAvLyB1c2UgYXMgYSBiYXNlLiBXaGVuIHdlIHJlYWNoIHRoZSBlbmQgb2YgdGhlIGJhc2UgbGlzdCwgd2UgbXVzdCBzd2l0Y2ggdG9cbiAgLy8gdGhlIGRpc3BhdGNoZXIgdXNlZCBmb3IgbW91bnRzLlxuICB2YXIgbmV4dEN1cnJlbnRIb29rO1xuXG4gIGlmIChjdXJyZW50SG9vayA9PT0gbnVsbCkge1xuICAgIHZhciBjdXJyZW50ID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgbmV4dEN1cnJlbnRIb29rID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0Q3VycmVudEhvb2sgPSBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBuZXh0Q3VycmVudEhvb2sgPSBjdXJyZW50SG9vay5uZXh0O1xuICB9XG5cbiAgdmFyIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2s7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XG4gIH0gZWxzZSB7XG4gICAgbmV4dFdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0O1xuICB9XG5cbiAgaWYgKG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgIT09IG51bGwpIHtcbiAgICAvLyBUaGVyZSdzIGFscmVhZHkgYSB3b3JrLWluLXByb2dyZXNzLiBSZXVzZSBpdC5cbiAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBuZXh0V29ya0luUHJvZ3Jlc3NIb29rO1xuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dDtcbiAgICBjdXJyZW50SG9vayA9IG5leHRDdXJyZW50SG9vaztcbiAgfSBlbHNlIHtcbiAgICAvLyBDbG9uZSBmcm9tIHRoZSBjdXJyZW50IGhvb2suXG4gICAgaWYgKG5leHRDdXJyZW50SG9vayA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZW5kZXJlZCBtb3JlIGhvb2tzIHRoYW4gZHVyaW5nIHRoZSBwcmV2aW91cyByZW5kZXIuJyk7XG4gICAgfVxuXG4gICAgY3VycmVudEhvb2sgPSBuZXh0Q3VycmVudEhvb2s7XG4gICAgdmFyIG5ld0hvb2sgPSB7XG4gICAgICBtZW1vaXplZFN0YXRlOiBjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlLFxuICAgICAgYmFzZVN0YXRlOiBjdXJyZW50SG9vay5iYXNlU3RhdGUsXG4gICAgICBiYXNlUXVldWU6IGN1cnJlbnRIb29rLmJhc2VRdWV1ZSxcbiAgICAgIHF1ZXVlOiBjdXJyZW50SG9vay5xdWV1ZSxcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgaG9vayBpbiB0aGUgbGlzdC5cbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IG5ld0hvb2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGVuZCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuICAgICAgd29ya0luUHJvZ3Jlc3NIb29rID0gd29ya0luUHJvZ3Jlc3NIb29rLm5leHQgPSBuZXdIb29rO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc0hvb2s7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKSB7XG4gIHJldHVybiB7XG4gICAgbGFzdEVmZmVjdDogbnVsbCxcbiAgICBzdG9yZXM6IG51bGxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYmFzaWNTdGF0ZVJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xuICAvLyAkRmxvd0ZpeE1lOiBGbG93IGRvZXNuJ3QgbGlrZSBtaXhlZCB0eXBlc1xuICByZXR1cm4gdHlwZW9mIGFjdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGFjdGlvbihzdGF0ZSkgOiBhY3Rpb247XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGluaXRpYWxTdGF0ZTtcblxuICBpZiAoaW5pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaW5pdGlhbFN0YXRlID0gaW5pdChpbml0aWFsQXJnKTtcbiAgfSBlbHNlIHtcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsQXJnO1xuICB9XG5cbiAgaG9vay5tZW1vaXplZFN0YXRlID0gaG9vay5iYXNlU3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gIHZhciBxdWV1ZSA9IHtcbiAgICBwZW5kaW5nOiBudWxsLFxuICAgIGludGVybGVhdmVkOiBudWxsLFxuICAgIGxhbmVzOiBOb0xhbmVzLFxuICAgIGRpc3BhdGNoOiBudWxsLFxuICAgIGxhc3RSZW5kZXJlZFJlZHVjZXI6IHJlZHVjZXIsXG4gICAgbGFzdFJlbmRlcmVkU3RhdGU6IGluaXRpYWxTdGF0ZVxuICB9O1xuICBob29rLnF1ZXVlID0gcXVldWU7XG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoID0gZGlzcGF0Y2hSZWR1Y2VyQWN0aW9uLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgcXVldWUpO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICBpZiAocXVldWUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyO1xuICB2YXIgY3VycmVudCA9IGN1cnJlbnRIb29rOyAvLyBUaGUgbGFzdCByZWJhc2UgdXBkYXRlIHRoYXQgaXMgTk9UIHBhcnQgb2YgdGhlIGJhc2Ugc3RhdGUuXG5cbiAgdmFyIGJhc2VRdWV1ZSA9IGN1cnJlbnQuYmFzZVF1ZXVlOyAvLyBUaGUgbGFzdCBwZW5kaW5nIHVwZGF0ZSB0aGF0IGhhc24ndCBiZWVuIHByb2Nlc3NlZCB5ZXQuXG5cbiAgdmFyIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnBlbmRpbmc7XG5cbiAgaWYgKHBlbmRpbmdRdWV1ZSAhPT0gbnVsbCkge1xuICAgIC8vIFdlIGhhdmUgbmV3IHVwZGF0ZXMgdGhhdCBoYXZlbid0IGJlZW4gcHJvY2Vzc2VkIHlldC5cbiAgICAvLyBXZSdsbCBhZGQgdGhlbSB0byB0aGUgYmFzZSBxdWV1ZS5cbiAgICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAvLyBNZXJnZSB0aGUgcGVuZGluZyBxdWV1ZSBhbmQgdGhlIGJhc2UgcXVldWUuXG4gICAgICB2YXIgYmFzZUZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgICB2YXIgcGVuZGluZ0ZpcnN0ID0gcGVuZGluZ1F1ZXVlLm5leHQ7XG4gICAgICBiYXNlUXVldWUubmV4dCA9IHBlbmRpbmdGaXJzdDtcbiAgICAgIHBlbmRpbmdRdWV1ZS5uZXh0ID0gYmFzZUZpcnN0O1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChjdXJyZW50LmJhc2VRdWV1ZSAhPT0gYmFzZVF1ZXVlKSB7XG4gICAgICAgIC8vIEludGVybmFsIGludmFyaWFudCB0aGF0IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dCBmZWFzaWJseSBjb3VsZCBpblxuICAgICAgICAvLyB0aGUgZnV0dXJlIGlmIHdlIGltcGxlbWVudCByZXN1bWluZywgb3Igc29tZSBmb3JtIG9mIHRoYXQuXG4gICAgICAgIGVycm9yKCdJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSB0byBiZSBhIGNsb25lLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY3VycmVudC5iYXNlUXVldWUgPSBiYXNlUXVldWUgPSBwZW5kaW5nUXVldWU7XG4gICAgcXVldWUucGVuZGluZyA9IG51bGw7XG4gIH1cblxuICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gV2UgaGF2ZSBhIHF1ZXVlIHRvIHByb2Nlc3MuXG4gICAgdmFyIGZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgdmFyIG5ld1N0YXRlID0gY3VycmVudC5iYXNlU3RhdGU7XG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XG4gICAgdmFyIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbnVsbDtcbiAgICB2YXIgbmV3QmFzZVF1ZXVlTGFzdCA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xuXG4gICAgZG8ge1xuICAgICAgdmFyIHVwZGF0ZUxhbmUgPSB1cGRhdGUubGFuZTtcblxuICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMocmVuZGVyTGFuZXMsIHVwZGF0ZUxhbmUpKSB7XG4gICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcbiAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cbiAgICAgICAgdmFyIGNsb25lID0ge1xuICAgICAgICAgIGxhbmU6IHVwZGF0ZUxhbmUsXG4gICAgICAgICAgYWN0aW9uOiB1cGRhdGUuYWN0aW9uLFxuICAgICAgICAgIGhhc0VhZ2VyU3RhdGU6IHVwZGF0ZS5oYXNFYWdlclN0YXRlLFxuICAgICAgICAgIGVhZ2VyU3RhdGU6IHVwZGF0ZS5lYWdlclN0YXRlLFxuICAgICAgICAgIG5leHQ6IG51bGxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobmV3QmFzZVF1ZXVlTGFzdCA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbmV3QmFzZVF1ZXVlTGFzdCA9IGNsb25lO1xuICAgICAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0Jhc2VRdWV1ZUxhc3QgPSBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBjbG9uZTtcbiAgICAgICAgfSAvLyBVcGRhdGUgdGhlIHJlbWFpbmluZyBwcmlvcml0eSBpbiB0aGUgcXVldWUuXG4gICAgICAgIC8vIFRPRE86IERvbid0IG5lZWQgdG8gYWNjdW11bGF0ZSB0aGlzLiBJbnN0ZWFkLCB3ZSBjYW4gcmVtb3ZlXG4gICAgICAgIC8vIHJlbmRlckxhbmVzIGZyb20gdGhlIG9yaWdpbmFsIGxhbmVzLlxuXG5cbiAgICAgICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcyA9IG1lcmdlTGFuZXMoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcywgdXBkYXRlTGFuZSk7XG4gICAgICAgIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXModXBkYXRlTGFuZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIHVwZGF0ZSBkb2VzIGhhdmUgc3VmZmljaWVudCBwcmlvcml0eS5cbiAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgLy8gVGhpcyB1cGRhdGUgaXMgZ29pbmcgdG8gYmUgY29tbWl0dGVkIHNvIHdlIG5ldmVyIHdhbnQgdW5jb21taXRcbiAgICAgICAgICAgIC8vIGl0LiBVc2luZyBOb0xhbmUgd29ya3MgYmVjYXVzZSAwIGlzIGEgc3Vic2V0IG9mIGFsbCBiaXRtYXNrcywgc29cbiAgICAgICAgICAgIC8vIHRoaXMgd2lsbCBuZXZlciBiZSBza2lwcGVkIGJ5IHRoZSBjaGVjayBhYm92ZS5cbiAgICAgICAgICAgIGxhbmU6IE5vTGFuZSxcbiAgICAgICAgICAgIGFjdGlvbjogdXBkYXRlLmFjdGlvbixcbiAgICAgICAgICAgIGhhc0VhZ2VyU3RhdGU6IHVwZGF0ZS5oYXNFYWdlclN0YXRlLFxuICAgICAgICAgICAgZWFnZXJTdGF0ZTogdXBkYXRlLmVhZ2VyU3RhdGUsXG4gICAgICAgICAgICBuZXh0OiBudWxsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cblxuICAgICAgICBpZiAodXBkYXRlLmhhc0VhZ2VyU3RhdGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHVwZGF0ZSBpcyBhIHN0YXRlIHVwZGF0ZSAobm90IGEgcmVkdWNlcikgYW5kIHdhcyBwcm9jZXNzZWQgZWFnZXJseSxcbiAgICAgICAgICAvLyB3ZSBjYW4gdXNlIHRoZSBlYWdlcmx5IGNvbXB1dGVkIHN0YXRlXG4gICAgICAgICAgbmV3U3RhdGUgPSB1cGRhdGUuZWFnZXJTdGF0ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgYWN0aW9uID0gdXBkYXRlLmFjdGlvbjtcbiAgICAgICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBudWxsICYmIHVwZGF0ZSAhPT0gZmlyc3QpO1xuXG4gICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcbiAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBuZXdCYXNlUXVldWVGaXJzdDtcbiAgICB9IC8vIE1hcmsgdGhhdCB0aGUgZmliZXIgcGVyZm9ybWVkIHdvcmssIGJ1dCBvbmx5IGlmIHRoZSBuZXcgc3RhdGUgaXNcbiAgICAvLyBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCBzdGF0ZS5cblxuXG4gICAgaWYgKCFvYmplY3RJcyhuZXdTdGF0ZSwgaG9vay5tZW1vaXplZFN0YXRlKSkge1xuICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICBob29rLmJhc2VTdGF0ZSA9IG5ld0Jhc2VTdGF0ZTtcbiAgICBob29rLmJhc2VRdWV1ZSA9IG5ld0Jhc2VRdWV1ZUxhc3Q7XG4gICAgcXVldWUubGFzdFJlbmRlcmVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBJbnRlcmxlYXZlZCB1cGRhdGVzIGFyZSBzdG9yZWQgb24gYSBzZXBhcmF0ZSBxdWV1ZS4gV2UgYXJlbid0IGdvaW5nIHRvXG4gIC8vIHByb2Nlc3MgdGhlbSBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCB3ZSBkbyBuZWVkIHRvIHRyYWNrIHdoaWNoIGxhbmVzXG4gIC8vIGFyZSByZW1haW5pbmcuXG5cblxuICB2YXIgbGFzdEludGVybGVhdmVkID0gcXVldWUuaW50ZXJsZWF2ZWQ7XG5cbiAgaWYgKGxhc3RJbnRlcmxlYXZlZCAhPT0gbnVsbCkge1xuICAgIHZhciBpbnRlcmxlYXZlZCA9IGxhc3RJbnRlcmxlYXZlZDtcblxuICAgIGRvIHtcbiAgICAgIHZhciBpbnRlcmxlYXZlZExhbmUgPSBpbnRlcmxlYXZlZC5sYW5lO1xuICAgICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcyA9IG1lcmdlTGFuZXMoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcywgaW50ZXJsZWF2ZWRMYW5lKTtcbiAgICAgIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMoaW50ZXJsZWF2ZWRMYW5lKTtcbiAgICAgIGludGVybGVhdmVkID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICB9IHdoaWxlIChpbnRlcmxlYXZlZCAhPT0gbGFzdEludGVybGVhdmVkKTtcbiAgfSBlbHNlIGlmIChiYXNlUXVldWUgPT09IG51bGwpIHtcbiAgICAvLyBgcXVldWUubGFuZXNgIGlzIHVzZWQgZm9yIGVudGFuZ2xpbmcgdHJhbnNpdGlvbnMuIFdlIGNhbiBzZXQgaXQgYmFjayB0b1xuICAgIC8vIHplcm8gb25jZSB0aGUgcXVldWUgaXMgZW1wdHkuXG4gICAgcXVldWUubGFuZXMgPSBOb0xhbmVzO1xuICB9XG5cbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2g7XG4gIHJldHVybiBbaG9vay5tZW1vaXplZFN0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBxdWV1ZSA9IGhvb2sucXVldWU7XG5cbiAgaWYgKHF1ZXVlID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgaGF2ZSBhIHF1ZXVlLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICBxdWV1ZS5sYXN0UmVuZGVyZWRSZWR1Y2VyID0gcmVkdWNlcjsgLy8gVGhpcyBpcyBhIHJlLXJlbmRlci4gQXBwbHkgdGhlIG5ldyByZW5kZXIgcGhhc2UgdXBkYXRlcyB0byB0aGUgcHJldmlvdXNcbiAgLy8gd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoO1xuICB2YXIgbGFzdFJlbmRlclBoYXNlVXBkYXRlID0gcXVldWUucGVuZGluZztcbiAgdmFyIG5ld1N0YXRlID0gaG9vay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChsYXN0UmVuZGVyUGhhc2VVcGRhdGUgIT09IG51bGwpIHtcbiAgICAvLyBUaGUgcXVldWUgZG9lc24ndCBwZXJzaXN0IHBhc3QgdGhpcyByZW5kZXIgcGFzcy5cbiAgICBxdWV1ZS5wZW5kaW5nID0gbnVsbDtcbiAgICB2YXIgZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZSA9IGxhc3RSZW5kZXJQaGFzZVVwZGF0ZS5uZXh0O1xuICAgIHZhciB1cGRhdGUgPSBmaXJzdFJlbmRlclBoYXNlVXBkYXRlO1xuXG4gICAgZG8ge1xuICAgICAgLy8gUHJvY2VzcyB0aGlzIHJlbmRlciBwaGFzZSB1cGRhdGUuIFdlIGRvbid0IGhhdmUgdG8gY2hlY2sgdGhlXG4gICAgICAvLyBwcmlvcml0eSBiZWNhdXNlIGl0IHdpbGwgYWx3YXlzIGJlIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50XG4gICAgICAvLyByZW5kZXIncy5cbiAgICAgIHZhciBhY3Rpb24gPSB1cGRhdGUuYWN0aW9uO1xuICAgICAgbmV3U3RhdGUgPSByZWR1Y2VyKG5ld1N0YXRlLCBhY3Rpb24pO1xuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBmaXJzdFJlbmRlclBoYXNlVXBkYXRlKTsgLy8gTWFyayB0aGF0IHRoZSBmaWJlciBwZXJmb3JtZWQgd29yaywgYnV0IG9ubHkgaWYgdGhlIG5ldyBzdGF0ZSBpc1xuICAgIC8vIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IHN0YXRlLlxuXG5cbiAgICBpZiAoIW9iamVjdElzKG5ld1N0YXRlLCBob29rLm1lbW9pemVkU3RhdGUpKSB7XG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlOyAvLyBEb24ndCBwZXJzaXN0IHRoZSBzdGF0ZSBhY2N1bXVsYXRlZCBmcm9tIHRoZSByZW5kZXIgcGhhc2UgdXBkYXRlcyB0b1xuICAgIC8vIHRoZSBiYXNlIHN0YXRlIHVubGVzcyB0aGUgcXVldWUgaXMgZW1wdHkuXG4gICAgLy8gVE9ETzogTm90IHN1cmUgaWYgdGhpcyBpcyB0aGUgZGVzaXJlZCBzZW1hbnRpY3MsIGJ1dCBpdCdzIHdoYXQgd2VcbiAgICAvLyBkbyBmb3IgZ0RTRlAuIEkgY2FuJ3QgcmVtZW1iZXIgd2h5LlxuXG4gICAgaWYgKGhvb2suYmFzZVF1ZXVlID09PSBudWxsKSB7XG4gICAgICBob29rLmJhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH1cblxuICAgIHF1ZXVlLmxhc3RSZW5kZXJlZFN0YXRlID0gbmV3U3RhdGU7XG4gIH1cblxuICByZXR1cm4gW25ld1N0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIG1vdW50TXV0YWJsZVNvdXJjZShzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlTXV0YWJsZVNvdXJjZShzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxO1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0U25hcHNob3Q7XG4gIHZhciBpc0h5ZHJhdGluZyA9IGdldElzSHlkcmF0aW5nKCk7XG5cbiAgaWYgKGlzSHlkcmF0aW5nKSB7XG4gICAgaWYgKGdldFNlcnZlclNuYXBzaG90ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnZXRTZXJ2ZXJTbmFwc2hvdCwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yICcgKyAnc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQuIFdpbGwgcmV2ZXJ0IHRvIGNsaWVudCByZW5kZXJpbmcuJyk7XG4gICAgfVxuXG4gICAgbmV4dFNuYXBzaG90ID0gZ2V0U2VydmVyU25hcHNob3QoKTtcblxuICAgIHtcbiAgICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgICAgaWYgKG5leHRTbmFwc2hvdCAhPT0gZ2V0U2VydmVyU25hcHNob3QoKSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNlcnZlclNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5leHRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICB7XG4gICAgICBpZiAoIWRpZFdhcm5VbmNhY2hlZEdldFNuYXBzaG90KSB7XG4gICAgICAgIHZhciBjYWNoZWRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICAgICAgaWYgKCFvYmplY3RJcyhuZXh0U25hcHNob3QsIGNhY2hlZFNuYXBzaG90KSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBVbmxlc3Mgd2UncmUgcmVuZGVyaW5nIGEgYmxvY2tpbmcgbGFuZSwgc2NoZWR1bGUgYSBjb25zaXN0ZW5jeSBjaGVjay5cbiAgICAvLyBSaWdodCBiZWZvcmUgY29tbWl0dGluZywgd2Ugd2lsbCB3YWxrIHRoZSB0cmVlIGFuZCBjaGVjayBpZiBhbnkgb2YgdGhlXG4gICAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZC5cbiAgICAvL1xuICAgIC8vIFdlIHdvbid0IGRvIHRoaXMgaWYgd2UncmUgaHlkcmF0aW5nIHNlcnZlci1yZW5kZXJlZCBjb250ZW50LCBiZWNhdXNlIGlmXG4gICAgLy8gdGhlIGNvbnRlbnQgaXMgc3RhbGUsIGl0J3MgYWxyZWFkeSB2aXNpYmxlIGFueXdheS4gSW5zdGVhZCB3ZSdsbCBwYXRjaFxuICAgIC8vIGl0IHVwIGluIGEgcGFzc2l2ZSBlZmZlY3QuXG5cblxuICAgIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG5cbiAgICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHdvcmstaW4tcHJvZ3Jlc3Mgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCByZW5kZXJMYW5lcykpIHtcbiAgICAgIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuICAgIH1cbiAgfSAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gVGhpcyBicmVha3MgdGhlXG4gIC8vIG5vcm1hbCBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgYmVjYXVzZSBzdG9yZSB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gIHZhciBpbnN0ID0ge1xuICAgIHZhbHVlOiBuZXh0U25hcHNob3QsXG4gICAgZ2V0U25hcHNob3Q6IGdldFNuYXBzaG90XG4gIH07XG4gIGhvb2sucXVldWUgPSBpbnN0OyAvLyBTY2hlZHVsZSBhbiBlZmZlY3QgdG8gc3Vic2NyaWJlIHRvIHRoZSBzdG9yZS5cblxuICBtb3VudEVmZmVjdChzdWJzY3JpYmVUb1N0b3JlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIHN1YnNjcmliZSksIFtzdWJzY3JpYmVdKTsgLy8gU2NoZWR1bGUgYW4gZWZmZWN0IHRvIHVwZGF0ZSB0aGUgbXV0YWJsZSBpbnN0YW5jZSBmaWVsZHMuIFdlIHdpbGwgdXBkYXRlXG4gIC8vIHRoaXMgd2hlbmV2ZXIgc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgb3IgdmFsdWUgY2hhbmdlcy4gQmVjYXVzZSB0aGVyZSdzIG5vXG4gIC8vIGNsZWFuLXVwIGZ1bmN0aW9uLCBhbmQgd2UgdHJhY2sgdGhlIGRlcHMgY29ycmVjdGx5LCB3ZSBjYW4gY2FsbCBwdXNoRWZmZWN0XG4gIC8vIGRpcmVjdGx5LCB3aXRob3V0IHN0b3JpbmcgYW55IGFkZGl0aW9uYWwgc3RhdGUuIEZvciB0aGUgc2FtZSByZWFzb24sIHdlXG4gIC8vIGRvbid0IG5lZWQgdG8gc2V0IGEgc3RhdGljIGZsYWcsIGVpdGhlci5cbiAgLy8gVE9ETzogV2UgY2FuIG1vdmUgdGhpcyB0byB0aGUgcGFzc2l2ZSBwaGFzZSBvbmNlIHdlIGFkZCBhIHByZS1jb21taXRcbiAgLy8gY29uc2lzdGVuY3kgY2hlY2suIFNlZSB0aGUgbmV4dCBjb21tZW50LlxuXG4gIGZpYmVyLmZsYWdzIHw9IFBhc3NpdmU7XG4gIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSQxLCB1cGRhdGVTdG9yZUluc3RhbmNlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpLCB1bmRlZmluZWQsIG51bGwpO1xuICByZXR1cm4gbmV4dFNuYXBzaG90O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxO1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpOyAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gVGhpcyBicmVha3MgdGhlXG4gIC8vIG5vcm1hbCBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgYmVjYXVzZSBzdG9yZSB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cbiAgdmFyIG5leHRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAge1xuICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgIHZhciBjYWNoZWRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICAgIGlmICghb2JqZWN0SXMobmV4dFNuYXBzaG90LCBjYWNoZWRTbmFwc2hvdCkpIHtcbiAgICAgICAgZXJyb3IoJ1RoZSByZXN1bHQgb2YgZ2V0U25hcHNob3Qgc2hvdWxkIGJlIGNhY2hlZCB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wJyk7XG5cbiAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwcmV2U25hcHNob3QgPSBob29rLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzbmFwc2hvdENoYW5nZWQgPSAhb2JqZWN0SXMocHJldlNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuXG4gIGlmIChzbmFwc2hvdENoYW5nZWQpIHtcbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgfVxuXG4gIHZhciBpbnN0ID0gaG9vay5xdWV1ZTtcbiAgdXBkYXRlRWZmZWN0KHN1YnNjcmliZVRvU3RvcmUuYmluZChudWxsLCBmaWJlciwgaW5zdCwgc3Vic2NyaWJlKSwgW3N1YnNjcmliZV0pOyAvLyBXaGVuZXZlciBnZXRTbmFwc2hvdCBvciBzdWJzY3JpYmUgY2hhbmdlcywgd2UgbmVlZCB0byBjaGVjayBpbiB0aGVcbiAgLy8gY29tbWl0IHBoYXNlIGlmIHRoZXJlIHdhcyBhbiBpbnRlcmxlYXZlZCBtdXRhdGlvbi4gSW4gY29uY3VycmVudCBtb2RlXG4gIC8vIHRoaXMgY2FuIGhhcHBlbiBhbGwgdGhlIHRpbWUsIGJ1dCBldmVuIGluIHN5bmNocm9ub3VzIG1vZGUsIGFuIGVhcmxpZXJcbiAgLy8gZWZmZWN0IG1heSBoYXZlIG11dGF0ZWQgdGhlIHN0b3JlLlxuXG4gIGlmIChpbnN0LmdldFNuYXBzaG90ICE9PSBnZXRTbmFwc2hvdCB8fCBzbmFwc2hvdENoYW5nZWQgfHwgLy8gQ2hlY2sgaWYgdGhlIHN1c2JjcmliZSBmdW5jdGlvbiBjaGFuZ2VkLiBXZSBjYW4gc2F2ZSBzb21lIG1lbW9yeSBieVxuICAvLyBjaGVja2luZyB3aGV0aGVyIHdlIHNjaGVkdWxlZCBhIHN1YnNjcmlwdGlvbiBlZmZlY3QgYWJvdmUuXG4gIHdvcmtJblByb2dyZXNzSG9vayAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzc0hvb2subWVtb2l6ZWRTdGF0ZS50YWcgJiBIYXNFZmZlY3QpIHtcbiAgICBmaWJlci5mbGFncyB8PSBQYXNzaXZlO1xuICAgIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSQxLCB1cGRhdGVTdG9yZUluc3RhbmNlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpLCB1bmRlZmluZWQsIG51bGwpOyAvLyBVbmxlc3Mgd2UncmUgcmVuZGVyaW5nIGEgYmxvY2tpbmcgbGFuZSwgc2NoZWR1bGUgYSBjb25zaXN0ZW5jeSBjaGVjay5cbiAgICAvLyBSaWdodCBiZWZvcmUgY29tbWl0dGluZywgd2Ugd2lsbCB3YWxrIHRoZSB0cmVlIGFuZCBjaGVjayBpZiBhbnkgb2YgdGhlXG4gICAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZC5cblxuICAgIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG5cbiAgICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHdvcmstaW4tcHJvZ3Jlc3Mgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCByZW5kZXJMYW5lcykpIHtcbiAgICAgIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXh0U25hcHNob3Q7XG59XG5cbmZ1bmN0aW9uIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCByZW5kZXJlZFNuYXBzaG90KSB7XG4gIGZpYmVyLmZsYWdzIHw9IFN0b3JlQ29uc2lzdGVuY3k7XG4gIHZhciBjaGVjayA9IHtcbiAgICBnZXRTbmFwc2hvdDogZ2V0U25hcHNob3QsXG4gICAgdmFsdWU6IHJlbmRlcmVkU25hcHNob3RcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzID0gW2NoZWNrXTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgc3RvcmVzID0gY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzO1xuXG4gICAgaWYgKHN0b3JlcyA9PT0gbnVsbCkge1xuICAgICAgY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzID0gW2NoZWNrXTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RvcmVzLnB1c2goY2hlY2spO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVTdG9yZUluc3RhbmNlKGZpYmVyLCBpbnN0LCBuZXh0U25hcHNob3QsIGdldFNuYXBzaG90KSB7XG4gIC8vIFRoZXNlIGFyZSB1cGRhdGVkIGluIHRoZSBwYXNzaXZlIHBoYXNlXG4gIGluc3QudmFsdWUgPSBuZXh0U25hcHNob3Q7XG4gIGluc3QuZ2V0U25hcHNob3QgPSBnZXRTbmFwc2hvdDsgLy8gU29tZXRoaW5nIG1heSBoYXZlIGJlZW4gbXV0YXRlZCBpbiBiZXR3ZWVuIHJlbmRlciBhbmQgY29tbWl0LiBUaGlzIGNvdWxkXG4gIC8vIGhhdmUgYmVlbiBpbiBhbiBldmVudCB0aGF0IGZpcmVkIGJlZm9yZSB0aGUgcGFzc2l2ZSBlZmZlY3RzLCBvciBpdCBjb3VsZFxuICAvLyBoYXZlIGJlZW4gaW4gYSBsYXlvdXQgZWZmZWN0LiBJbiB0aGF0IGNhc2UsIHdlIHdvdWxkIGhhdmUgdXNlZCB0aGUgb2xkXG4gIC8vIHNuYXBzaG8gYW5kIGdldFNuYXBzaG90IHZhbHVlcyB0byBiYWlsIG91dC4gV2UgbmVlZCB0byBjaGVjayBvbmUgbW9yZSB0aW1lLlxuXG4gIGlmIChjaGVja0lmU25hcHNob3RDaGFuZ2VkKGluc3QpKSB7XG4gICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgZm9yY2VTdG9yZVJlcmVuZGVyKGZpYmVyKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdWJzY3JpYmVUb1N0b3JlKGZpYmVyLCBpbnN0LCBzdWJzY3JpYmUpIHtcbiAgdmFyIGhhbmRsZVN0b3JlQ2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgIC8vIFRoZSBzdG9yZSBjaGFuZ2VkLiBDaGVjayBpZiB0aGUgc25hcHNob3QgY2hhbmdlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlXG4gICAgLy8gcmVhZCBmcm9tIHRoZSBzdG9yZS5cbiAgICBpZiAoY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSkge1xuICAgICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgICBmb3JjZVN0b3JlUmVyZW5kZXIoZmliZXIpO1xuICAgIH1cbiAgfTsgLy8gU3Vic2NyaWJlIHRvIHRoZSBzdG9yZSBhbmQgcmV0dXJuIGEgY2xlYW4tdXAgZnVuY3Rpb24uXG5cblxuICByZXR1cm4gc3Vic2NyaWJlKGhhbmRsZVN0b3JlQ2hhbmdlKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSB7XG4gIHZhciBsYXRlc3RHZXRTbmFwc2hvdCA9IGluc3QuZ2V0U25hcHNob3Q7XG4gIHZhciBwcmV2VmFsdWUgPSBpbnN0LnZhbHVlO1xuXG4gIHRyeSB7XG4gICAgdmFyIG5leHRWYWx1ZSA9IGxhdGVzdEdldFNuYXBzaG90KCk7XG4gICAgcmV0dXJuICFvYmplY3RJcyhwcmV2VmFsdWUsIG5leHRWYWx1ZSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9yY2VTdG9yZVJlcmVuZGVyKGZpYmVyKSB7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuXG4gIGlmICh0eXBlb2YgaW5pdGlhbFN0YXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gJEZsb3dGaXhNZTogRmxvdyBkb2Vzbid0IGxpa2UgbWl4ZWQgdHlwZXNcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGUoKTtcbiAgfVxuXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IGhvb2suYmFzZVN0YXRlID0gaW5pdGlhbFN0YXRlO1xuICB2YXIgcXVldWUgPSB7XG4gICAgcGVuZGluZzogbnVsbCxcbiAgICBpbnRlcmxlYXZlZDogbnVsbCxcbiAgICBsYW5lczogTm9MYW5lcyxcbiAgICBkaXNwYXRjaDogbnVsbCxcbiAgICBsYXN0UmVuZGVyZWRSZWR1Y2VyOiBiYXNpY1N0YXRlUmVkdWNlcixcbiAgICBsYXN0UmVuZGVyZWRTdGF0ZTogaW5pdGlhbFN0YXRlXG4gIH07XG4gIGhvb2sucXVldWUgPSBxdWV1ZTtcbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2ggPSBkaXNwYXRjaFNldFN0YXRlLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgcXVldWUpO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgcmV0dXJuIHVwZGF0ZVJlZHVjZXIoYmFzaWNTdGF0ZVJlZHVjZXIpO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICByZXR1cm4gcmVyZW5kZXJSZWR1Y2VyKGJhc2ljU3RhdGVSZWR1Y2VyKTtcbn1cblxuZnVuY3Rpb24gcHVzaEVmZmVjdCh0YWcsIGNyZWF0ZSwgZGVzdHJveSwgZGVwcykge1xuICB2YXIgZWZmZWN0ID0ge1xuICAgIHRhZzogdGFnLFxuICAgIGNyZWF0ZTogY3JlYXRlLFxuICAgIGRlc3Ryb3k6IGRlc3Ryb3ksXG4gICAgZGVwczogZGVwcyxcbiAgICAvLyBDaXJjdWxhclxuICAgIG5leHQ6IG51bGxcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdC5uZXh0ID0gZWZmZWN0O1xuICB9IGVsc2Uge1xuICAgIHZhciBsYXN0RWZmZWN0ID0gY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgIGlmIChsYXN0RWZmZWN0ID09PSBudWxsKSB7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0Lm5leHQgPSBlZmZlY3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdEVmZmVjdCA9IGxhc3RFZmZlY3QubmV4dDtcbiAgICAgIGxhc3RFZmZlY3QubmV4dCA9IGVmZmVjdDtcbiAgICAgIGVmZmVjdC5uZXh0ID0gZmlyc3RFZmZlY3Q7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlZmZlY3Q7XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVmKGluaXRpYWxWYWx1ZSkge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAge1xuICAgIHZhciBfcmVmMiA9IHtcbiAgICAgIGN1cnJlbnQ6IGluaXRpYWxWYWx1ZVxuICAgIH07XG4gICAgaG9vay5tZW1vaXplZFN0YXRlID0gX3JlZjI7XG4gICAgcmV0dXJuIF9yZWYyO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVJlZihpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgcmV0dXJuIGhvb2subWVtb2l6ZWRTdGF0ZTtcbn1cblxuZnVuY3Rpb24gbW91bnRFZmZlY3RJbXBsKGZpYmVyRmxhZ3MsIGhvb2tGbGFncywgY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZmxhZ3MgfD0gZmliZXJGbGFncztcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gcHVzaEVmZmVjdChIYXNFZmZlY3QgfCBob29rRmxhZ3MsIGNyZWF0ZSwgdW5kZWZpbmVkLCBuZXh0RGVwcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUVmZmVjdEltcGwoZmliZXJGbGFncywgaG9va0ZsYWdzLCBjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIHZhciBkZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gIGlmIChjdXJyZW50SG9vayAhPT0gbnVsbCkge1xuICAgIHZhciBwcmV2RWZmZWN0ID0gY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgICBkZXN0cm95ID0gcHJldkVmZmVjdC5kZXN0cm95O1xuXG4gICAgaWYgKG5leHREZXBzICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldkRlcHMgPSBwcmV2RWZmZWN0LmRlcHM7XG5cbiAgICAgIGlmIChhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSkge1xuICAgICAgICBob29rLm1lbW9pemVkU3RhdGUgPSBwdXNoRWZmZWN0KGhvb2tGbGFncywgY3JlYXRlLCBkZXN0cm95LCBuZXh0RGVwcyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmZsYWdzIHw9IGZpYmVyRmxhZ3M7XG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgaG9va0ZsYWdzLCBjcmVhdGUsIGRlc3Ryb3ksIG5leHREZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIGlmICggKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgcmV0dXJuIG1vdW50RWZmZWN0SW1wbChNb3VudFBhc3NpdmVEZXYgfCBQYXNzaXZlIHwgUGFzc2l2ZVN0YXRpYywgUGFzc2l2ZSQxLCBjcmVhdGUsIGRlcHMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBtb3VudEVmZmVjdEltcGwoUGFzc2l2ZSB8IFBhc3NpdmVTdGF0aWMsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFBhc3NpdmUsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHJldHVybiBtb3VudEVmZmVjdEltcGwoVXBkYXRlLCBJbnNlcnRpb24sIGNyZWF0ZSwgZGVwcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgcmV0dXJuIHVwZGF0ZUVmZmVjdEltcGwoVXBkYXRlLCBJbnNlcnRpb24sIGNyZWF0ZSwgZGVwcyk7XG59XG5cbmZ1bmN0aW9uIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZmliZXJGbGFncyA9IFVwZGF0ZTtcblxuICB7XG4gICAgZmliZXJGbGFncyB8PSBMYXlvdXRTdGF0aWM7XG4gIH1cblxuICBpZiAoIChjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1vZGUgJiBTdHJpY3RFZmZlY3RzTW9kZSkgIT09IE5vTW9kZSkge1xuICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gIH1cblxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKGZpYmVyRmxhZ3MsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICByZXR1cm4gdXBkYXRlRWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gaW1wZXJhdGl2ZUhhbmRsZUVmZmVjdChjcmVhdGUsIHJlZikge1xuICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciByZWZDYWxsYmFjayA9IHJlZjtcblxuICAgIHZhciBfaW5zdCA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmQ2FsbGJhY2soX2luc3QpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZWZDYWxsYmFjayhudWxsKTtcbiAgICB9O1xuICB9IGVsc2UgaWYgKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHZhciByZWZPYmplY3QgPSByZWY7XG5cbiAgICB7XG4gICAgICBpZiAoIXJlZk9iamVjdC5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgZmlyc3QgYXJndW1lbnQgdG8gZWl0aGVyIGJlIGEgJyArICdyZWYgY2FsbGJhY2sgb3IgUmVhY3QuY3JlYXRlUmVmKCkgb2JqZWN0LiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCAnYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKHJlZk9iamVjdCkuam9pbignLCAnKSArICd9Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIF9pbnN0MiA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmT2JqZWN0LmN1cnJlbnQgPSBfaW5zdDI7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJlZk9iamVjdC5jdXJyZW50ID0gbnVsbDtcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xuXG5cbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XG4gIHZhciBmaWJlckZsYWdzID0gVXBkYXRlO1xuXG4gIHtcbiAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgfVxuXG4gIGlmICggKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgZmliZXJGbGFncyB8PSBNb3VudExheW91dERldjtcbiAgfVxuXG4gIHJldHVybiBtb3VudEVmZmVjdEltcGwoZmliZXJGbGFncywgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xuXG5cbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnREZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbikgey8vIFRoaXMgaG9vayBpcyBub3JtYWxseSBhIG5vLW9wLlxuICAvLyBUaGUgcmVhY3QtZGVidWctaG9va3MgcGFja2FnZSBpbmplY3RzIGl0cyBvd24gaW1wbGVtZW50YXRpb25cbiAgLy8gc28gdGhhdCBlLmcuIERldlRvb2xzIGNhbiBkaXNwbGF5IGN1c3RvbSBob29rIHZhbHVlcy5cbn1cblxudmFyIHVwZGF0ZURlYnVnVmFsdWUgPSBtb3VudERlYnVnVmFsdWU7XG5cbmZ1bmN0aW9uIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW2NhbGxiYWNrLCBuZXh0RGVwc107XG4gIHJldHVybiBjYWxsYmFjaztcbn1cblxuZnVuY3Rpb24gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIHZhciBwcmV2U3RhdGUgPSBob29rLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xuICAgIGlmIChuZXh0RGVwcyAhPT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZEZXBzID0gcHJldlN0YXRlWzFdO1xuXG4gICAgICBpZiAoYXJlSG9va0lucHV0c0VxdWFsKG5leHREZXBzLCBwcmV2RGVwcykpIHtcbiAgICAgICAgcmV0dXJuIHByZXZTdGF0ZVswXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBbY2FsbGJhY2ssIG5leHREZXBzXTtcbiAgcmV0dXJuIGNhbGxiYWNrO1xufVxuXG5mdW5jdGlvbiBtb3VudE1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICB2YXIgbmV4dFZhbHVlID0gbmV4dENyZWF0ZSgpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBbbmV4dFZhbHVlLCBuZXh0RGVwc107XG4gIHJldHVybiBuZXh0VmFsdWU7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgdmFyIHByZXZTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgLy8gQXNzdW1lIHRoZXNlIGFyZSBkZWZpbmVkLiBJZiB0aGV5J3JlIG5vdCwgYXJlSG9va0lucHV0c0VxdWFsIHdpbGwgd2Fybi5cbiAgICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBwcmV2RGVwcyA9IHByZXZTdGF0ZVsxXTtcblxuICAgICAgaWYgKGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpKSB7XG4gICAgICAgIHJldHVybiBwcmV2U3RhdGVbMF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5leHRWYWx1ZSA9IG5leHRDcmVhdGUoKTtcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW25leHRWYWx1ZSwgbmV4dERlcHNdO1xuICByZXR1cm4gbmV4dFZhbHVlO1xufVxuXG5mdW5jdGlvbiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSB2YWx1ZTtcbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciByZXNvbHZlZEN1cnJlbnRIb29rID0gY3VycmVudEhvb2s7XG4gIHZhciBwcmV2VmFsdWUgPSByZXNvbHZlZEN1cnJlbnRIb29rLm1lbW9pemVkU3RhdGU7XG4gIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlSW1wbChob29rLCBwcmV2VmFsdWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gcmVyZW5kZXJEZWZlcnJlZFZhbHVlKHZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAgaWYgKGN1cnJlbnRIb29rID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlcmVuZGVyIGR1cmluZyBhIG1vdW50LlxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVyZW5kZXIgZHVyaW5nIGFuIHVwZGF0ZS5cbiAgICB2YXIgcHJldlZhbHVlID0gY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgICByZXR1cm4gdXBkYXRlRGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgcHJldlZhbHVlLCB2YWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlRGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgcHJldlZhbHVlLCB2YWx1ZSkge1xuICB2YXIgc2hvdWxkRGVmZXJWYWx1ZSA9ICFpbmNsdWRlc09ubHlOb25VcmdlbnRMYW5lcyhyZW5kZXJMYW5lcyk7XG5cbiAgaWYgKHNob3VsZERlZmVyVmFsdWUpIHtcbiAgICAvLyBUaGlzIGlzIGFuIHVyZ2VudCB1cGRhdGUuIElmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZCwga2VlcCB1c2luZyB0aGVcbiAgICAvLyBwcmV2aW91cyB2YWx1ZSBhbmQgc3Bhd24gYSBkZWZlcnJlZCByZW5kZXIgdG8gdXBkYXRlIGl0IGxhdGVyLlxuICAgIGlmICghb2JqZWN0SXModmFsdWUsIHByZXZWYWx1ZSkpIHtcbiAgICAgIC8vIFNjaGVkdWxlIGEgZGVmZXJyZWQgcmVuZGVyXG4gICAgICB2YXIgZGVmZXJyZWRMYW5lID0gY2xhaW1OZXh0VHJhbnNpdGlvbkxhbmUoKTtcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMgPSBtZXJnZUxhbmVzKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMsIGRlZmVycmVkTGFuZSk7XG4gICAgICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKGRlZmVycmVkTGFuZSk7IC8vIFNldCB0aGlzIHRvIHRydWUgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcmVuZGVyZWQgdmFsdWUgaXMgaW5jb25zaXN0ZW50XG4gICAgICAvLyBmcm9tIHRoZSBsYXRlc3QgdmFsdWUuIFRoZSBuYW1lIFwiYmFzZVN0YXRlXCIgZG9lc24ndCByZWFsbHkgbWF0Y2ggaG93IHdlXG4gICAgICAvLyB1c2UgaXQgYmVjYXVzZSB3ZSdyZSByZXVzaW5nIGEgc3RhdGUgaG9vayBmaWVsZCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGFcbiAgICAgIC8vIG5ldyBvbmUuXG5cbiAgICAgIGhvb2suYmFzZVN0YXRlID0gdHJ1ZTtcbiAgICB9IC8vIFJldXNlIHRoZSBwcmV2aW91cyB2YWx1ZVxuXG5cbiAgICByZXR1cm4gcHJldlZhbHVlO1xuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgbm90IGFuIHVyZ2VudCB1cGRhdGUsIHNvIHdlIGNhbiB1c2UgdGhlIGxhdGVzdCB2YWx1ZSByZWdhcmRsZXNzXG4gICAgLy8gb2Ygd2hhdCBpdCBpcy4gTm8gbmVlZCB0byBkZWZlciBpdC5cbiAgICAvLyBIb3dldmVyLCBpZiB3ZSdyZSBjdXJyZW50bHkgaW5zaWRlIGEgc3Bhd25lZCByZW5kZXIsIHRoZW4gd2UgbmVlZCB0byBtYXJrXG4gICAgLy8gdGhpcyBhcyBhbiB1cGRhdGUgdG8gcHJldmVudCB0aGUgZmliZXIgZnJvbSBiYWlsaW5nIG91dC5cbiAgICAvL1xuICAgIC8vIGBiYXNlU3RhdGVgIGlzIHRydWUgd2hlbiB0aGUgY3VycmVudCB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcmVuZGVyZWRcbiAgICAvLyB2YWx1ZS4gVGhlIG5hbWUgZG9lc24ndCByZWFsbHkgbWF0Y2ggaG93IHdlIHVzZSBpdCBiZWNhdXNlIHdlJ3JlIHJldXNpbmdcbiAgICAvLyBhIHN0YXRlIGhvb2sgZmllbGQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmUuXG4gICAgaWYgKGhvb2suYmFzZVN0YXRlKSB7XG4gICAgICAvLyBGbGlwIHRoaXMgYmFjayB0byBmYWxzZS5cbiAgICAgIGhvb2suYmFzZVN0YXRlID0gZmFsc2U7XG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdGFydFRyYW5zaXRpb24oc2V0UGVuZGluZywgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIHByZXZpb3VzUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KGhpZ2hlckV2ZW50UHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSwgQ29udGludW91c0V2ZW50UHJpb3JpdHkpKTtcbiAgc2V0UGVuZGluZyh0cnVlKTtcbiAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMi50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQyLnRyYW5zaXRpb24gPSB7fTtcbiAgdmFyIGN1cnJlbnRUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMi50cmFuc2l0aW9uO1xuXG4gIHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQyLnRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMgPSBuZXcgU2V0KCk7XG4gIH1cblxuICB0cnkge1xuICAgIHNldFBlbmRpbmcoZmFsc2UpO1xuICAgIGNhbGxiYWNrKCk7XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDIudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuXG4gICAge1xuICAgICAgaWYgKHByZXZUcmFuc2l0aW9uID09PSBudWxsICYmIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzKSB7XG4gICAgICAgIHZhciB1cGRhdGVkRmliZXJzQ291bnQgPSBjdXJyZW50VHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5zaXplO1xuXG4gICAgICAgIGlmICh1cGRhdGVkRmliZXJzQ291bnQgPiAxMCkge1xuICAgICAgICAgIHdhcm4oJ0RldGVjdGVkIGEgbGFyZ2UgbnVtYmVyIG9mIHVwZGF0ZXMgaW5zaWRlIHN0YXJ0VHJhbnNpdGlvbi4gJyArICdJZiB0aGlzIGlzIGR1ZSB0byBhIHN1YnNjcmlwdGlvbiBwbGVhc2UgcmUtd3JpdGUgaXQgdG8gdXNlIFJlYWN0IHByb3ZpZGVkIGhvb2tzLiAnICsgJ090aGVyd2lzZSBjb25jdXJyZW50IG1vZGUgZ3VhcmFudGVlcyBhcmUgb2ZmIHRoZSB0YWJsZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50VHJhbnNpdGlvbigpIHtcbiAgdmFyIF9tb3VudFN0YXRlID0gbW91bnRTdGF0ZShmYWxzZSksXG4gICAgICBpc1BlbmRpbmcgPSBfbW91bnRTdGF0ZVswXSxcbiAgICAgIHNldFBlbmRpbmcgPSBfbW91bnRTdGF0ZVsxXTsgLy8gVGhlIGBzdGFydGAgbWV0aG9kIG5ldmVyIGNoYW5nZXMuXG5cblxuICB2YXIgc3RhcnQgPSBzdGFydFRyYW5zaXRpb24uYmluZChudWxsLCBzZXRQZW5kaW5nKTtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBzdGFydDtcbiAgcmV0dXJuIFtpc1BlbmRpbmcsIHN0YXJ0XTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVHJhbnNpdGlvbigpIHtcbiAgdmFyIF91cGRhdGVTdGF0ZSA9IHVwZGF0ZVN0YXRlKCksXG4gICAgICBpc1BlbmRpbmcgPSBfdXBkYXRlU3RhdGVbMF07XG5cbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHN0YXJ0ID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gW2lzUGVuZGluZywgc3RhcnRdO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclRyYW5zaXRpb24oKSB7XG4gIHZhciBfcmVyZW5kZXJTdGF0ZSA9IHJlcmVuZGVyU3RhdGUoKSxcbiAgICAgIGlzUGVuZGluZyA9IF9yZXJlbmRlclN0YXRlWzBdO1xuXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBzdGFydCA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgcmV0dXJuIFtpc1BlbmRpbmcsIHN0YXJ0XTtcbn1cblxudmFyIGlzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2UgPSBmYWxzZTtcbmZ1bmN0aW9uIGdldElzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2VJbkRFVigpIHtcbiAge1xuICAgIHJldHVybiBpc1VwZGF0aW5nT3BhcXVlVmFsdWVJblJlbmRlclBoYXNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50SWQoKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTsgLy8gVE9ETzogSW4gRml6eiwgaWQgZ2VuZXJhdGlvbiBpcyBzcGVjaWZpYyB0byBlYWNoIHNlcnZlciBjb25maWcuIE1heWJlIHdlXG4gIC8vIHNob3VsZCBkbyB0aGlzIGluIEZpYmVyLCB0b28/IERlZmVycmluZyB0aGlzIGRlY2lzaW9uIGZvciBub3cgYmVjYXVzZVxuICAvLyB0aGVyZSdzIG5vIG90aGVyIHBsYWNlIHRvIHN0b3JlIHRoZSBwcmVmaXggZXhjZXB0IGZvciBhbiBpbnRlcm5hbCBmaWVsZCBvblxuICAvLyB0aGUgcHVibGljIGNyZWF0ZVJvb3Qgb2JqZWN0LCB3aGljaCB0aGUgZmliZXIgdHJlZSBkb2VzIG5vdCBjdXJyZW50bHkgaGF2ZVxuICAvLyBhIHJlZmVyZW5jZSB0by5cblxuICB2YXIgaWRlbnRpZmllclByZWZpeCA9IHJvb3QuaWRlbnRpZmllclByZWZpeDtcbiAgdmFyIGlkO1xuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgdmFyIHRyZWVJZCA9IGdldFRyZWVJZCgpOyAvLyBVc2UgYSBjYXB0aWFsIFIgcHJlZml4IGZvciBzZXJ2ZXItZ2VuZXJhdGVkIGlkcy5cblxuICAgIGlkID0gJzonICsgaWRlbnRpZmllclByZWZpeCArICdSJyArIHRyZWVJZDsgLy8gVW5sZXNzIHRoaXMgaXMgdGhlIGZpcnN0IGlkIGF0IHRoaXMgbGV2ZWwsIGFwcGVuZCBhIG51bWJlciBhdCB0aGUgZW5kXG4gICAgLy8gdGhhdCByZXByZXNlbnRzIHRoZSBwb3NpdGlvbiBvZiB0aGlzIHVzZUlkIGhvb2sgYW1vbmcgYWxsIHRoZSB1c2VJZFxuICAgIC8vIGhvb2tzIGZvciB0aGlzIGZpYmVyLlxuXG4gICAgdmFyIGxvY2FsSWQgPSBsb2NhbElkQ291bnRlcisrO1xuXG4gICAgaWYgKGxvY2FsSWQgPiAwKSB7XG4gICAgICBpZCArPSAnSCcgKyBsb2NhbElkLnRvU3RyaW5nKDMyKTtcbiAgICB9XG5cbiAgICBpZCArPSAnOic7XG4gIH0gZWxzZSB7XG4gICAgLy8gVXNlIGEgbG93ZXJjYXNlIHIgcHJlZml4IGZvciBjbGllbnQtZ2VuZXJhdGVkIGlkcy5cbiAgICB2YXIgZ2xvYmFsQ2xpZW50SWQgPSBnbG9iYWxDbGllbnRJZENvdW50ZXIrKztcbiAgICBpZCA9ICc6JyArIGlkZW50aWZpZXJQcmVmaXggKyAncicgKyBnbG9iYWxDbGllbnRJZC50b1N0cmluZygzMikgKyAnOic7XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBpZDtcbiAgcmV0dXJuIGlkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJZCgpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGlkID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gaWQ7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoUmVkdWNlckFjdGlvbihmaWJlciwgcXVldWUsIGFjdGlvbikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXCIgKyAnc2Vjb25kIGNhbGxiYWNrIGFyZ3VtZW50LiBUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgJyArICdyZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gdGhlIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgbGFuZTogbGFuZSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICBlbnF1ZXVlUmVuZGVyUGhhc2VVcGRhdGUocXVldWUsIHVwZGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuXG4gICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgICBlbnRhbmdsZVRyYW5zaXRpb25VcGRhdGUocm9vdCwgcXVldWUsIGxhbmUpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtVcGRhdGVJbkRldlRvb2xzKGZpYmVyLCBsYW5lKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hTZXRTdGF0ZShmaWJlciwgcXVldWUsIGFjdGlvbikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXCIgKyAnc2Vjb25kIGNhbGxiYWNrIGFyZ3VtZW50LiBUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgJyArICdyZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gdGhlIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgbGFuZTogbGFuZSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICBlbnF1ZXVlUmVuZGVyUGhhc2VVcGRhdGUocXVldWUsIHVwZGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChmaWJlci5sYW5lcyA9PT0gTm9MYW5lcyAmJiAoYWx0ZXJuYXRlID09PSBudWxsIHx8IGFsdGVybmF0ZS5sYW5lcyA9PT0gTm9MYW5lcykpIHtcbiAgICAgIC8vIFRoZSBxdWV1ZSBpcyBjdXJyZW50bHkgZW1wdHksIHdoaWNoIG1lYW5zIHdlIGNhbiBlYWdlcmx5IGNvbXB1dGUgdGhlXG4gICAgICAvLyBuZXh0IHN0YXRlIGJlZm9yZSBlbnRlcmluZyB0aGUgcmVuZGVyIHBoYXNlLiBJZiB0aGUgbmV3IHN0YXRlIGlzIHRoZVxuICAgICAgLy8gc2FtZSBhcyB0aGUgY3VycmVudCBzdGF0ZSwgd2UgbWF5IGJlIGFibGUgdG8gYmFpbCBvdXQgZW50aXJlbHkuXG4gICAgICB2YXIgbGFzdFJlbmRlcmVkUmVkdWNlciA9IHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXI7XG5cbiAgICAgIGlmIChsYXN0UmVuZGVyZWRSZWR1Y2VyICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBwcmV2RGlzcGF0Y2hlcjtcblxuICAgICAgICB7XG4gICAgICAgICAgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YXIgY3VycmVudFN0YXRlID0gcXVldWUubGFzdFJlbmRlcmVkU3RhdGU7XG4gICAgICAgICAgdmFyIGVhZ2VyU3RhdGUgPSBsYXN0UmVuZGVyZWRSZWR1Y2VyKGN1cnJlbnRTdGF0ZSwgYWN0aW9uKTsgLy8gU3Rhc2ggdGhlIGVhZ2VybHkgY29tcHV0ZWQgc3RhdGUsIGFuZCB0aGUgcmVkdWNlciB1c2VkIHRvIGNvbXB1dGVcbiAgICAgICAgICAvLyBpdCwgb24gdGhlIHVwZGF0ZSBvYmplY3QuIElmIHRoZSByZWR1Y2VyIGhhc24ndCBjaGFuZ2VkIGJ5IHRoZVxuICAgICAgICAgIC8vIHRpbWUgd2UgZW50ZXIgdGhlIHJlbmRlciBwaGFzZSwgdGhlbiB0aGUgZWFnZXIgc3RhdGUgY2FuIGJlIHVzZWRcbiAgICAgICAgICAvLyB3aXRob3V0IGNhbGxpbmcgdGhlIHJlZHVjZXIgYWdhaW4uXG5cbiAgICAgICAgICB1cGRhdGUuaGFzRWFnZXJTdGF0ZSA9IHRydWU7XG4gICAgICAgICAgdXBkYXRlLmVhZ2VyU3RhdGUgPSBlYWdlclN0YXRlO1xuXG4gICAgICAgICAgaWYgKG9iamVjdElzKGVhZ2VyU3RhdGUsIGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgICAgIC8vIEZhc3QgcGF0aC4gV2UgY2FuIGJhaWwgb3V0IHdpdGhvdXQgc2NoZWR1bGluZyBSZWFjdCB0byByZS1yZW5kZXIuXG4gICAgICAgICAgICAvLyBJdCdzIHN0aWxsIHBvc3NpYmxlIHRoYXQgd2UnbGwgbmVlZCB0byByZWJhc2UgdGhpcyB1cGRhdGUgbGF0ZXIsXG4gICAgICAgICAgICAvLyBpZiB0aGUgY29tcG9uZW50IHJlLXJlbmRlcnMgZm9yIGEgZGlmZmVyZW50IHJlYXNvbiBhbmQgYnkgdGhhdFxuICAgICAgICAgICAgLy8gdGltZSB0aGUgcmVkdWNlciBoYXMgY2hhbmdlZC5cbiAgICAgICAgICAgIC8vIFRPRE86IERvIHdlIHN0aWxsIG5lZWQgdG8gZW50YW5nbGUgdHJhbnNpdGlvbnMgaW4gdGhpcyBjYXNlP1xuICAgICAgICAgICAgZW5xdWV1ZUNvbmN1cnJlbnRIb29rVXBkYXRlQW5kRWFnZXJseUJhaWxvdXQoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsvLyBTdXBwcmVzcyB0aGUgZXJyb3IuIEl0IHdpbGwgdGhyb3cgYWdhaW4gaW4gdGhlIHJlbmRlciBwaGFzZS5cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRIb29rVXBkYXRlKGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9uVXBkYXRlKHJvb3QsIHF1ZXVlLCBsYW5lKTtcbiAgICB9XG4gIH1cblxuICBtYXJrVXBkYXRlSW5EZXZUb29scyhmaWJlciwgbGFuZSk7XG59XG5cbmZ1bmN0aW9uIGlzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcbiAgcmV0dXJuIGZpYmVyID09PSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUgPT09IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDE7XG59XG5cbmZ1bmN0aW9uIGVucXVldWVSZW5kZXJQaGFzZVVwZGF0ZShxdWV1ZSwgdXBkYXRlKSB7XG4gIC8vIFRoaXMgaXMgYSByZW5kZXIgcGhhc2UgdXBkYXRlLiBTdGFzaCBpdCBpbiBhIGxhemlseS1jcmVhdGVkIG1hcCBvZlxuICAvLyBxdWV1ZSAtPiBsaW5rZWQgbGlzdCBvZiB1cGRhdGVzLiBBZnRlciB0aGlzIHJlbmRlciBwYXNzLCB3ZSdsbCByZXN0YXJ0XG4gIC8vIGFuZCBhcHBseSB0aGUgc3Rhc2hlZCB1cGRhdGVzIG9uIHRvcCBvZiB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MgPSBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gdHJ1ZTtcbiAgdmFyIHBlbmRpbmcgPSBxdWV1ZS5wZW5kaW5nO1xuXG4gIGlmIChwZW5kaW5nID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcbiAgfVxuXG4gIHF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XG59IC8vIFRPRE86IE1vdmUgdG8gUmVhY3RGaWJlckNvbmN1cnJlbnRVcGRhdGVzP1xuXG5cbmZ1bmN0aW9uIGVudGFuZ2xlVHJhbnNpdGlvblVwZGF0ZShyb290LCBxdWV1ZSwgbGFuZSkge1xuICBpZiAoaXNUcmFuc2l0aW9uTGFuZShsYW5lKSkge1xuICAgIHZhciBxdWV1ZUxhbmVzID0gcXVldWUubGFuZXM7IC8vIElmIGFueSBlbnRhbmdsZWQgbGFuZXMgYXJlIG5vIGxvbmdlciBwZW5kaW5nIG9uIHRoZSByb290LCB0aGVuIHRoZXlcbiAgICAvLyBtdXN0IGhhdmUgZmluaXNoZWQuIFdlIGNhbiByZW1vdmUgdGhlbSBmcm9tIHRoZSBzaGFyZWQgcXVldWUsIHdoaWNoXG4gICAgLy8gcmVwcmVzZW50cyBhIHN1cGVyc2V0IG9mIHRoZSBhY3R1YWxseSBwZW5kaW5nIGxhbmVzLiBJbiBzb21lIGNhc2VzIHdlXG4gICAgLy8gbWF5IGVudGFuZ2xlIG1vcmUgdGhhbiB3ZSBuZWVkIHRvLCBidXQgdGhhdCdzIE9LLiBJbiBmYWN0IGl0J3Mgd29yc2UgaWZcbiAgICAvLyB3ZSAqZG9uJ3QqIGVudGFuZ2xlIHdoZW4gd2Ugc2hvdWxkLlxuXG4gICAgcXVldWVMYW5lcyA9IGludGVyc2VjdExhbmVzKHF1ZXVlTGFuZXMsIHJvb3QucGVuZGluZ0xhbmVzKTsgLy8gRW50YW5nbGUgdGhlIG5ldyB0cmFuc2l0aW9uIGxhbmUgd2l0aCB0aGUgb3RoZXIgdHJhbnNpdGlvbiBsYW5lcy5cblxuICAgIHZhciBuZXdRdWV1ZUxhbmVzID0gbWVyZ2VMYW5lcyhxdWV1ZUxhbmVzLCBsYW5lKTtcbiAgICBxdWV1ZS5sYW5lcyA9IG5ld1F1ZXVlTGFuZXM7IC8vIEV2ZW4gaWYgcXVldWUubGFuZXMgYWxyZWFkeSBpbmNsdWRlIGxhbmUsIHdlIGRvbid0IGtub3cgZm9yIGNlcnRhaW4gaWZcbiAgICAvLyB0aGUgbGFuZSBmaW5pc2hlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIGVudGFuZ2xlZCBpdC4gU28gd2UgbmVlZCB0b1xuICAgIC8vIGVudGFuZ2xlIGl0IGFnYWluLCBqdXN0IHRvIGJlIHN1cmUuXG5cbiAgICBtYXJrUm9vdEVudGFuZ2xlZChyb290LCBuZXdRdWV1ZUxhbmVzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrVXBkYXRlSW5EZXZUb29scyhmaWJlciwgbGFuZSwgYWN0aW9uKSB7XG5cbiAge1xuICAgIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gIH1cbn1cblxudmFyIENvbnRleHRPbmx5RGlzcGF0Y2hlciA9IHtcbiAgcmVhZENvbnRleHQ6IHJlYWRDb250ZXh0LFxuICB1c2VDYWxsYmFjazogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VDb250ZXh0OiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUluc2VydGlvbkVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VMYXlvdXRFZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlTWVtbzogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VSZWR1Y2VyOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVJlZjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VTdGF0ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VEZWJ1Z1ZhbHVlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZURlZmVycmVkVmFsdWU6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlVHJhbnNpdGlvbjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VNdXRhYmxlU291cmNlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUlkOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxufTtcblxudmFyIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25Nb3VudFdpdGhIb29rVHlwZXNJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IG51bGw7XG5cbntcbiAgdmFyIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gJyArICdJbiBjbGFzc2VzLCB5b3UgY2FuIHJlYWQgaXQgaW4gdGhlIHJlbmRlciBtZXRob2Qgb3IgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiAnICsgJ0luIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCAnICsgJ2luc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuJyk7XG4gIH07XG5cbiAgdmFyIHdhcm5JbnZhbGlkSG9va0FjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignRG8gbm90IGNhbGwgSG9va3MgaW5zaWRlIHVzZUVmZmVjdCguLi4pLCB1c2VNZW1vKC4uLiksIG9yIG90aGVyIGJ1aWx0LWluIEhvb2tzLiAnICsgJ1lvdSBjYW4gb25seSBjYWxsIEhvb2tzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgeW91ciBSZWFjdCBmdW5jdGlvbi4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3J1bGVzLW9mLWhvb2tzJyk7XG4gIH07XG5cbiAgSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50SW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcyk7XG4gICAgICByZXR1cm4gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudFJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnREZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TXV0YWJsZVNvdXJjZSgpO1xuICAgIH0sXG4gICAgdXNlU3luY0V4dGVybmFsU3RvcmU6IGZ1bmN0aW9uIChzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3luY0V4dGVybmFsU3RvcmUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRXaXRoSG9va1R5cGVzSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudE11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50U3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlU3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlKTtcbiAgICB9LFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IHtcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcygpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbnNlcnRpb25FZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUluc2VydGlvbkVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50TWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKCk7XG4gICAgfSxcbiAgICB1c2VNdXRhYmxlU291cmNlOiBmdW5jdGlvbiAoc291cmNlLCBnZXRTbmFwc2hvdCwgc3Vic2NyaWJlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNdXRhYmxlU291cmNlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudE11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlUmVmKCk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVidWdWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRyYW5zaXRpb24oKTtcbiAgICB9LFxuICAgIHVzZU11dGFibGVTb3VyY2U6IGZ1bmN0aW9uIChzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU11dGFibGVTb3VyY2UnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXJlbmRlclJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZXJlbmRlckRlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZU11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCk7XG4gICAgfSxcbiAgICB1c2VJZDogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSWQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG59XG5cbnZhciBub3ckMSA9IFNjaGVkdWxlci51bnN0YWJsZV9ub3c7XG52YXIgY29tbWl0VGltZSA9IDA7XG52YXIgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gLTE7XG52YXIgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbnZhciBwYXNzaXZlRWZmZWN0U3RhcnRUaW1lID0gLTE7XG4vKipcbiAqIFRyYWNrcyB3aGV0aGVyIHRoZSBjdXJyZW50IHVwZGF0ZSB3YXMgYSBuZXN0ZWQvY2FzY2FkaW5nIHVwZGF0ZSAoc2NoZWR1bGVkIGZyb20gYSBsYXlvdXQgZWZmZWN0KS5cbiAqXG4gKiBUaGUgb3ZlcmFsbCBzZXF1ZW5jZSBpczpcbiAqICAgMS4gcmVuZGVyXG4gKiAgIDIuIGNvbW1pdCAoYW5kIGNhbGwgYG9uUmVuZGVyYCwgYG9uQ29tbWl0YClcbiAqICAgMy4gY2hlY2sgZm9yIG5lc3RlZCB1cGRhdGVzXG4gKiAgIDQuIGZsdXNoIHBhc3NpdmUgZWZmZWN0cyAoYW5kIGNhbGwgYG9uUG9zdENvbW1pdGApXG4gKlxuICogTmVzdGVkIHVwZGF0ZXMgYXJlIGlkZW50aWZpZWQgaW4gc3RlcCAzIGFib3ZlLFxuICogYnV0IHN0ZXAgNCBzdGlsbCBhcHBsaWVzIHRvIHRoZSB3b3JrIHRoYXQgd2FzIGp1c3QgY29tbWl0dGVkLlxuICogV2UgdXNlIHR3byBmbGFncyB0byB0cmFjayBuZXN0ZWQgdXBkYXRlcyB0aGVuOlxuICogb25lIHRyYWNrcyB3aGV0aGVyIHRoZSB1cGNvbWluZyB1cGRhdGUgaXMgYSBuZXN0ZWQgdXBkYXRlLFxuICogYW5kIHRoZSBvdGhlciB0cmFja3Mgd2hldGhlciB0aGUgY3VycmVudCB1cGRhdGUgd2FzIGEgbmVzdGVkIHVwZGF0ZS5cbiAqIFRoZSBmaXJzdCB2YWx1ZSBnZXRzIHN5bmNlZCB0byB0aGUgc2Vjb25kIGF0IHRoZSBzdGFydCBvZiB0aGUgcmVuZGVyIHBoYXNlLlxuICovXG5cbnZhciBjdXJyZW50VXBkYXRlSXNOZXN0ZWQgPSBmYWxzZTtcbnZhciBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcblxuZnVuY3Rpb24gaXNDdXJyZW50VXBkYXRlTmVzdGVkKCkge1xuICByZXR1cm4gY3VycmVudFVwZGF0ZUlzTmVzdGVkO1xufVxuXG5mdW5jdGlvbiBtYXJrTmVzdGVkVXBkYXRlU2NoZWR1bGVkKCkge1xuICB7XG4gICAgbmVzdGVkVXBkYXRlU2NoZWR1bGVkID0gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldE5lc3RlZFVwZGF0ZUZsYWcoKSB7XG4gIHtcbiAgICBjdXJyZW50VXBkYXRlSXNOZXN0ZWQgPSBmYWxzZTtcbiAgICBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzeW5jTmVzdGVkVXBkYXRlRmxhZygpIHtcbiAge1xuICAgIGN1cnJlbnRVcGRhdGVJc05lc3RlZCA9IG5lc3RlZFVwZGF0ZVNjaGVkdWxlZDtcbiAgICBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDb21taXRUaW1lKCkge1xuICByZXR1cm4gY29tbWl0VGltZTtcbn1cblxuZnVuY3Rpb24gcmVjb3JkQ29tbWl0VGltZSgpIHtcblxuICBjb21taXRUaW1lID0gbm93JDEoKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQcm9maWxlclRpbWVyKGZpYmVyKSB7XG5cbiAgcHJvZmlsZXJTdGFydFRpbWUgPSBub3ckMSgpO1xuXG4gIGlmIChmaWJlci5hY3R1YWxTdGFydFRpbWUgPCAwKSB7XG4gICAgZmliZXIuYWN0dWFsU3RhcnRUaW1lID0gbm93JDEoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZyhmaWJlcikge1xuXG4gIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XG59XG5cbmZ1bmN0aW9uIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEoZmliZXIsIG92ZXJyaWRlQmFzZVRpbWUpIHtcblxuICBpZiAocHJvZmlsZXJTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwcm9maWxlclN0YXJ0VGltZTtcbiAgICBmaWJlci5hY3R1YWxEdXJhdGlvbiArPSBlbGFwc2VkVGltZTtcblxuICAgIGlmIChvdmVycmlkZUJhc2VUaW1lKSB7XG4gICAgICBmaWJlci5zZWxmQmFzZUR1cmF0aW9uID0gZWxhcHNlZFRpbWU7XG4gICAgfVxuXG4gICAgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaWJlcikge1xuXG4gIGlmIChsYXlvdXRFZmZlY3RTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBsYXlvdXRFZmZlY3RTdGFydFRpbWU7XG4gICAgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gLTE7IC8vIFN0b3JlIGR1cmF0aW9uIG9uIHRoZSBuZXh0IG5lYXJlc3QgUHJvZmlsZXIgYW5jZXN0b3JcbiAgICAvLyBPciB0aGUgcm9vdCAoZm9yIHRoZSBEZXZUb29scyBQcm9maWxlciB0byByZWFkKVxuXG4gICAgdmFyIHBhcmVudEZpYmVyID0gZmliZXIucmV0dXJuO1xuXG4gICAgd2hpbGUgKHBhcmVudEZpYmVyICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKHBhcmVudEZpYmVyLnRhZykge1xuICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgIHZhciByb290ID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgIHJvb3QuZWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICBwYXJlbnRTdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBwYXJlbnRGaWJlciA9IHBhcmVudEZpYmVyLnJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVjb3JkUGFzc2l2ZUVmZmVjdER1cmF0aW9uKGZpYmVyKSB7XG5cbiAgaWYgKHBhc3NpdmVFZmZlY3RTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwYXNzaXZlRWZmZWN0U3RhcnRUaW1lO1xuICAgIHBhc3NpdmVFZmZlY3RTdGFydFRpbWUgPSAtMTsgLy8gU3RvcmUgZHVyYXRpb24gb24gdGhlIG5leHQgbmVhcmVzdCBQcm9maWxlciBhbmNlc3RvclxuICAgIC8vIE9yIHRoZSByb290IChmb3IgdGhlIERldlRvb2xzIFByb2ZpbGVyIHRvIHJlYWQpXG5cbiAgICB2YXIgcGFyZW50RmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgICB3aGlsZSAocGFyZW50RmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocGFyZW50RmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgdmFyIHJvb3QgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcm9vdC5wYXNzaXZlRWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmIChwYXJlbnRTdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIERldGFjaGVkIGZpYmVycyBoYXZlIHRoZWlyIHN0YXRlIG5vZGUgY2xlYXJlZCBvdXQuXG4gICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHRoZSByZXR1cm4gcG9pbnRlciBpcyBhbHNvIGNsZWFyZWQgb3V0LFxuICAgICAgICAgICAgLy8gc28gd2Ugd29uJ3QgYmUgYWJsZSB0byByZXBvcnQgdGhlIHRpbWUgc3BlbnQgaW4gdGhpcyBQcm9maWxlcidzIHN1YnRyZWUuXG4gICAgICAgICAgICBwYXJlbnRTdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uICs9IGVsYXBzZWRUaW1lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKSB7XG5cbiAgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gbm93JDEoKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQYXNzaXZlRWZmZWN0VGltZXIoKSB7XG5cbiAgcGFzc2l2ZUVmZmVjdFN0YXJ0VGltZSA9IG5vdyQxKCk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZmVyQWN0dWFsRHVyYXRpb24oZmliZXIpIHtcbiAgLy8gVHJhbnNmZXIgdGltZSBzcGVudCByZW5kZXJpbmcgdGhlc2UgY2hpbGRyZW4gc28gd2UgZG9uJ3QgbG9zZSBpdFxuICAvLyBhZnRlciB3ZSByZXJlbmRlci4gVGhpcyBpcyB1c2VkIGFzIGEgaGVscGVyIGluIHNwZWNpYWwgY2FzZXNcbiAgLy8gd2hlcmUgd2Ugc2hvdWxkIGNvdW50IHRoZSB3b3JrIG9mIG11bHRpcGxlIHBhc3Nlcy5cbiAgdmFyIGNoaWxkID0gZmliZXIuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkKSB7XG4gICAgZmliZXIuYWN0dWFsRHVyYXRpb24gKz0gY2hpbGQuYWN0dWFsRHVyYXRpb247XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKHZhbHVlLCBzb3VyY2UpIHtcbiAgLy8gSWYgdGhlIHZhbHVlIGlzIGFuIGVycm9yLCBjYWxsIHRoaXMgZnVuY3Rpb24gaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgdGhyb3duXG4gIC8vIHNvIHRoZSBzdGFjayBpcyBhY2N1cmF0ZS5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgc291cmNlOiBzb3VyY2UsXG4gICAgc3RhY2s6IGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChzb3VyY2UpLFxuICAgIGRpZ2VzdDogbnVsbFxuICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlQ2FwdHVyZWRWYWx1ZSh2YWx1ZSwgZGlnZXN0LCBzdGFjaykge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBzb3VyY2U6IG51bGwsXG4gICAgc3RhY2s6IHN0YWNrICE9IG51bGwgPyBzdGFjayA6IG51bGwsXG4gICAgZGlnZXN0OiBkaWdlc3QgIT0gbnVsbCA/IGRpZ2VzdCA6IG51bGxcbiAgfTtcbn1cblxuLy8gVGhpcyBtb2R1bGUgaXMgZm9ya2VkIGluIGRpZmZlcmVudCBlbnZpcm9ubWVudHMuXG4vLyBCeSBkZWZhdWx0LCByZXR1cm4gYHRydWVgIHRvIGxvZyBlcnJvcnMgdG8gdGhlIGNvbnNvbGUuXG4vLyBGb3JrcyBjYW4gcmV0dXJuIGBmYWxzZWAgaWYgdGhpcyBpc24ndCBkZXNpcmFibGUuXG5mdW5jdGlvbiBzaG93RXJyb3JEaWFsb2coYm91bmRhcnksIGVycm9ySW5mbykge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbG9nQ2FwdHVyZWRFcnJvcihib3VuZGFyeSwgZXJyb3JJbmZvKSB7XG4gIHRyeSB7XG4gICAgdmFyIGxvZ0Vycm9yID0gc2hvd0Vycm9yRGlhbG9nKGJvdW5kYXJ5LCBlcnJvckluZm8pOyAvLyBBbGxvdyBpbmplY3RlZCBzaG93RXJyb3JEaWFsb2coKSB0byBwcmV2ZW50IGRlZmF1bHQgY29uc29sZS5lcnJvciBsb2dnaW5nLlxuICAgIC8vIFRoaXMgZW5hYmxlcyByZW5kZXJlcnMgbGlrZSBSZWFjdE5hdGl2ZSB0byBiZXR0ZXIgbWFuYWdlIHJlZGJveCBiZWhhdmlvci5cblxuICAgIGlmIChsb2dFcnJvciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZXJyb3IgPSBlcnJvckluZm8udmFsdWU7XG5cbiAgICBpZiAodHJ1ZSkge1xuICAgICAgdmFyIHNvdXJjZSA9IGVycm9ySW5mby5zb3VyY2U7XG4gICAgICB2YXIgc3RhY2sgPSBlcnJvckluZm8uc3RhY2s7XG4gICAgICB2YXIgY29tcG9uZW50U3RhY2sgPSBzdGFjayAhPT0gbnVsbCA/IHN0YWNrIDogJyc7IC8vIEJyb3dzZXJzIHN1cHBvcnQgc2lsZW5jaW5nIHVuY2F1Z2h0IGVycm9ycyBieSBjYWxsaW5nXG4gICAgICAvLyBgcHJldmVudERlZmF1bHQoKWAgaW4gd2luZG93IGBlcnJvcmAgaGFuZGxlci5cbiAgICAgIC8vIFdlIHJlY29yZCB0aGlzIGluZm9ybWF0aW9uIGFzIGFuIGV4cGFuZG8gb24gdGhlIGVycm9yLlxuXG4gICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiBlcnJvci5fc3VwcHJlc3NMb2dnaW5nKSB7XG4gICAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgICAgLy8gVGhlIGVycm9yIGlzIHJlY292ZXJhYmxlIGFuZCB3YXMgc2lsZW5jZWQuXG4gICAgICAgICAgLy8gSWdub3JlIGl0IGFuZCBkb24ndCBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG4gICAgICAgICAgLy8gVGhpcyBpcyBoYW5keSBmb3IgdGVzdGluZyBlcnJvciBib3VuZGFyaWVzIHdpdGhvdXQgbm9pc2UuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFRoZSBlcnJvciBpcyBmYXRhbC4gU2luY2UgdGhlIHNpbGVuY2luZyBtaWdodCBoYXZlXG4gICAgICAgIC8vIGJlZW4gYWNjaWRlbnRhbCwgd2UnbGwgc3VyZmFjZSBpdCBhbnl3YXkuXG4gICAgICAgIC8vIEhvd2V2ZXIsIHRoZSBicm93c2VyIHdvdWxkIGhhdmUgc2lsZW5jZWQgdGhlIG9yaWdpbmFsIGVycm9yXG4gICAgICAgIC8vIHNvIHdlJ2xsIHByaW50IGl0IGZpcnN0LCBhbmQgdGhlbiBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG5cblxuICAgICAgICBjb25zb2xlWydlcnJvciddKGVycm9yKTsgLy8gRG9uJ3QgdHJhbnNmb3JtIHRvIG91ciB3cmFwcGVyXG4gICAgICAgIC8vIEZvciBhIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhpcyBibG9jaywgc2VlOlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMzM4NFxuICAgICAgfVxuXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IHNvdXJjZSA/IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoc291cmNlKSA6IG51bGw7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZU1lc3NhZ2UgPSBjb21wb25lbnROYW1lID8gXCJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGhlIDxcIiArIGNvbXBvbmVudE5hbWUgKyBcIj4gY29tcG9uZW50OlwiIDogJ1RoZSBhYm92ZSBlcnJvciBvY2N1cnJlZCBpbiBvbmUgb2YgeW91ciBSZWFjdCBjb21wb25lbnRzOic7XG4gICAgICB2YXIgZXJyb3JCb3VuZGFyeU1lc3NhZ2U7XG5cbiAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIGVycm9yQm91bmRhcnlNZXNzYWdlID0gJ0NvbnNpZGVyIGFkZGluZyBhbiBlcnJvciBib3VuZGFyeSB0byB5b3VyIHRyZWUgdG8gY3VzdG9taXplIGVycm9yIGhhbmRsaW5nIGJlaGF2aW9yLlxcbicgKyAnVmlzaXQgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Vycm9yLWJvdW5kYXJpZXMgdG8gbGVhcm4gbW9yZSBhYm91dCBlcnJvciBib3VuZGFyaWVzLic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgZXJyb3JCb3VuZGFyeU5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGJvdW5kYXJ5KSB8fCAnQW5vbnltb3VzJztcbiAgICAgICAgZXJyb3JCb3VuZGFyeU1lc3NhZ2UgPSBcIlJlYWN0IHdpbGwgdHJ5IHRvIHJlY3JlYXRlIHRoaXMgY29tcG9uZW50IHRyZWUgZnJvbSBzY3JhdGNoIFwiICsgKFwidXNpbmcgdGhlIGVycm9yIGJvdW5kYXJ5IHlvdSBwcm92aWRlZCwgXCIgKyBlcnJvckJvdW5kYXJ5TmFtZSArIFwiLlwiKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbWJpbmVkTWVzc2FnZSA9IGNvbXBvbmVudE5hbWVNZXNzYWdlICsgXCJcXG5cIiArIGNvbXBvbmVudFN0YWNrICsgXCJcXG5cXG5cIiArIChcIlwiICsgZXJyb3JCb3VuZGFyeU1lc3NhZ2UpOyAvLyBJbiBkZXZlbG9wbWVudCwgd2UgcHJvdmlkZSBvdXIgb3duIG1lc3NhZ2Ugd2l0aCBqdXN0IHRoZSBjb21wb25lbnQgc3RhY2suXG4gICAgICAvLyBXZSBkb24ndCBpbmNsdWRlIHRoZSBvcmlnaW5hbCBlcnJvciBtZXNzYWdlIGFuZCBKUyBzdGFjayBiZWNhdXNlIHRoZSBicm93c2VyXG4gICAgICAvLyBoYXMgYWxyZWFkeSBwcmludGVkIGl0LiBFdmVuIGlmIHRoZSBhcHBsaWNhdGlvbiBzd2FsbG93cyB0aGUgZXJyb3IsIGl0IGlzIHN0aWxsXG4gICAgICAvLyBkaXNwbGF5ZWQgYnkgdGhlIGJyb3dzZXIgdGhhbmtzIHRvIHRoZSBERVYtb25seSBmYWtlIGV2ZW50IHRyaWNrIGluIFJlYWN0RXJyb3JVdGlscy5cblxuICAgICAgY29uc29sZVsnZXJyb3InXShjb21iaW5lZE1lc3NhZ2UpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSW4gcHJvZHVjdGlvbiwgd2UgcHJpbnQgdGhlIGVycm9yIGRpcmVjdGx5LlxuICAgICAgLy8gVGhpcyB3aWxsIGluY2x1ZGUgdGhlIG1lc3NhZ2UsIHRoZSBKUyBzdGFjaywgYW5kIGFueXRoaW5nIHRoZSBicm93c2VyIHdhbnRzIHRvIHNob3cuXG4gICAgICAvLyBXZSBwYXNzIHRoZSBlcnJvciBvYmplY3QgaW5zdGVhZCBvZiBjdXN0b20gbWVzc2FnZSBzbyB0aGF0IHRoZSBicm93c2VyIGRpc3BsYXlzIHRoZSBlcnJvciBuYXRpdmVseS5cbiAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oZXJyb3IpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBUaGlzIG1ldGhvZCBtdXN0IG5vdCB0aHJvdywgb3IgUmVhY3QgaW50ZXJuYWwgc3RhdGUgd2lsbCBnZXQgbWVzc2VkIHVwLlxuICAgIC8vIElmIGNvbnNvbGUuZXJyb3IgaXMgb3ZlcnJpZGRlbiwgb3IgbG9nQ2FwdHVyZWRFcnJvcigpIHNob3dzIGEgZGlhbG9nIHRoYXQgdGhyb3dzLFxuICAgIC8vIHdlIHdhbnQgdG8gcmVwb3J0IHRoaXMgZXJyb3Igb3V0c2lkZSBvZiB0aGUgbm9ybWFsIHN0YWNrIGFzIGEgbGFzdCByZXNvcnQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzE4OFxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9KTtcbiAgfVxufVxuXG52YXIgUG9zc2libHlXZWFrTWFwJDEgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3RFcnJvclVwZGF0ZShmaWJlciwgZXJyb3JJbmZvLCBsYW5lKSB7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoTm9UaW1lc3RhbXAsIGxhbmUpOyAvLyBVbm1vdW50IHRoZSByb290IGJ5IHJlbmRlcmluZyBudWxsLlxuXG4gIHVwZGF0ZS50YWcgPSBDYXB0dXJlVXBkYXRlOyAvLyBDYXV0aW9uOiBSZWFjdCBEZXZUb29scyBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByb3BlcnR5XG4gIC8vIGJlaW5nIGNhbGxlZCBcImVsZW1lbnRcIi5cblxuICB1cGRhdGUucGF5bG9hZCA9IHtcbiAgICBlbGVtZW50OiBudWxsXG4gIH07XG4gIHZhciBlcnJvciA9IGVycm9ySW5mby52YWx1ZTtcblxuICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgb25VbmNhdWdodEVycm9yKGVycm9yKTtcbiAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuICB9O1xuXG4gIHJldHVybiB1cGRhdGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgbGFuZSkge1xuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKE5vVGltZXN0YW1wLCBsYW5lKTtcbiAgdXBkYXRlLnRhZyA9IENhcHR1cmVVcGRhdGU7XG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPSBmaWJlci50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtcblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBlcnJvciQxID0gZXJyb3JJbmZvLnZhbHVlO1xuXG4gICAgdXBkYXRlLnBheWxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yJDEpO1xuICAgIH07XG5cbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB7XG4gICAgICAgIG1hcmtGYWlsZWRFcnJvckJvdW5kYXJ5Rm9ySG90UmVsb2FkaW5nKGZpYmVyKTtcbiAgICAgIH1cblxuICAgICAgbG9nQ2FwdHVyZWRFcnJvcihmaWJlciwgZXJyb3JJbmZvKTtcbiAgICB9O1xuICB9XG5cbiAgdmFyIGluc3QgPSBmaWJlci5zdGF0ZU5vZGU7XG5cbiAgaWYgKGluc3QgIT09IG51bGwgJiYgdHlwZW9mIGluc3QuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiBjYWxsYmFjaygpIHtcbiAgICAgIHtcbiAgICAgICAgbWFya0ZhaWxlZEVycm9yQm91bmRhcnlGb3JIb3RSZWxvYWRpbmcoZmliZXIpO1xuICAgICAgfVxuXG4gICAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuXG4gICAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBUbyBwcmVzZXJ2ZSB0aGUgcHJlZXhpc3RpbmcgcmV0cnkgYmVoYXZpb3Igb2YgZXJyb3IgYm91bmRhcmllcyxcbiAgICAgICAgLy8gd2Uga2VlcCB0cmFjayBvZiB3aGljaCBvbmVzIGFscmVhZHkgZmFpbGVkIGR1cmluZyB0aGlzIGJhdGNoLlxuICAgICAgICAvLyBUaGlzIGdldHMgcmVzZXQgYmVmb3JlIHdlIHlpZWxkIGJhY2sgdG8gdGhlIGJyb3dzZXIuXG4gICAgICAgIC8vIFRPRE86IFdhcm4gaW4gc3RyaWN0IG1vZGUgaWYgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIGlzXG4gICAgICAgIC8vIG5vdCBkZWZpbmVkLlxuICAgICAgICBtYXJrTGVnYWN5RXJyb3JCb3VuZGFyeUFzRmFpbGVkKHRoaXMpO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXJyb3IkMSA9IGVycm9ySW5mby52YWx1ZTtcbiAgICAgIHZhciBzdGFjayA9IGVycm9ySW5mby5zdGFjaztcbiAgICAgIHRoaXMuY29tcG9uZW50RGlkQ2F0Y2goZXJyb3IkMSwge1xuICAgICAgICBjb21wb25lbnRTdGFjazogc3RhY2sgIT09IG51bGwgPyBzdGFjayA6ICcnXG4gICAgICB9KTtcblxuICAgICAge1xuICAgICAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIElmIGNvbXBvbmVudERpZENhdGNoIGlzIHRoZSBvbmx5IGVycm9yIGJvdW5kYXJ5IG1ldGhvZCBkZWZpbmVkLFxuICAgICAgICAgIC8vIHRoZW4gaXQgbmVlZHMgdG8gY2FsbCBzZXRTdGF0ZSB0byByZWNvdmVyIGZyb20gZXJyb3JzLlxuICAgICAgICAgIC8vIElmIG5vIHN0YXRlIHVwZGF0ZSBpcyBzY2hlZHVsZWQgdGhlbiB0aGUgYm91bmRhcnkgd2lsbCBzd2FsbG93IHRoZSBlcnJvci5cbiAgICAgICAgICBpZiAoIWluY2x1ZGVzU29tZUxhbmUoZmliZXIubGFuZXMsIFN5bmNMYW5lKSkge1xuICAgICAgICAgICAgZXJyb3IoJyVzOiBFcnJvciBib3VuZGFyaWVzIHNob3VsZCBpbXBsZW1lbnQgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkuICcgKyAnSW4gdGhhdCBtZXRob2QsIHJldHVybiBhIHN0YXRlIHVwZGF0ZSB0byBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2Ugb3IgZmFsbGJhY2sgVUkuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ1Vua25vd24nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gYXR0YWNoUGluZ0xpc3RlbmVyKHJvb3QsIHdha2VhYmxlLCBsYW5lcykge1xuICAvLyBBdHRhY2ggYSBwaW5nIGxpc3RlbmVyXG4gIC8vXG4gIC8vIFRoZSBkYXRhIG1pZ2h0IHJlc29sdmUgYmVmb3JlIHdlIGhhdmUgYSBjaGFuY2UgdG8gY29tbWl0IHRoZSBmYWxsYmFjay4gT3IsXG4gIC8vIGluIHRoZSBjYXNlIG9mIGEgcmVmcmVzaCwgd2UnbGwgbmV2ZXIgY29tbWl0IGEgZmFsbGJhY2suIFNvIHdlIG5lZWQgdG9cbiAgLy8gYXR0YWNoIGEgbGlzdGVuZXIgbm93LiBXaGVuIGl0IHJlc29sdmVzIChcInBpbmdzXCIpLCB3ZSBjYW4gZGVjaWRlIHdoZXRoZXIgdG9cbiAgLy8gdHJ5IHJlbmRlcmluZyB0aGUgdHJlZSBhZ2Fpbi5cbiAgLy9cbiAgLy8gT25seSBhdHRhY2ggYSBsaXN0ZW5lciBpZiBvbmUgZG9lcyBub3QgYWxyZWFkeSBleGlzdCBmb3IgdGhlIGxhbmVzXG4gIC8vIHdlJ3JlIGN1cnJlbnRseSByZW5kZXJpbmcgKHdoaWNoIGFjdHMgbGlrZSBhIFwidGhyZWFkIElEXCIgaGVyZSkuXG4gIC8vXG4gIC8vIFdlIG9ubHkgbmVlZCB0byBkbyB0aGlzIGluIGNvbmN1cnJlbnQgbW9kZS4gTGVnYWN5IFN1c3BlbnNlIGFsd2F5c1xuICAvLyBjb21taXRzIGZhbGxiYWNrcyBzeW5jaHJvbm91c2x5LCBzbyB0aGVyZSBhcmUgbm8gcGluZ3MuXG4gIHZhciBwaW5nQ2FjaGUgPSByb290LnBpbmdDYWNoZTtcbiAgdmFyIHRocmVhZElEcztcblxuICBpZiAocGluZ0NhY2hlID09PSBudWxsKSB7XG4gICAgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwJDEoKTtcbiAgICB0aHJlYWRJRHMgPSBuZXcgU2V0KCk7XG4gICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJlYWRJRHMgPSBwaW5nQ2FjaGUuZ2V0KHdha2VhYmxlKTtcblxuICAgIGlmICh0aHJlYWRJRHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyZWFkSURzID0gbmV3IFNldCgpO1xuICAgICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIXRocmVhZElEcy5oYXMobGFuZXMpKSB7XG4gICAgLy8gTWVtb2l6ZSB1c2luZyB0aGUgdGhyZWFkIElEIHRvIHByZXZlbnQgcmVkdW5kYW50IGxpc3RlbmVycy5cbiAgICB0aHJlYWRJRHMuYWRkKGxhbmVzKTtcbiAgICB2YXIgcGluZyA9IHBpbmdTdXNwZW5kZWRSb290LmJpbmQobnVsbCwgcm9vdCwgd2FrZWFibGUsIGxhbmVzKTtcblxuICAgIHtcbiAgICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgICAvLyBJZiB3ZSBoYXZlIHBlbmRpbmcgd29yayBzdGlsbCwgcmVzdG9yZSB0aGUgb3JpZ2luYWwgdXBkYXRlcnNcbiAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCBsYW5lcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2FrZWFibGUudGhlbihwaW5nLCBwaW5nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhdHRhY2hSZXRyeUxpc3RlbmVyKHN1c3BlbnNlQm91bmRhcnksIHJvb3QsIHdha2VhYmxlLCBsYW5lcykge1xuICAvLyBSZXRyeSBsaXN0ZW5lclxuICAvL1xuICAvLyBJZiB0aGUgZmFsbGJhY2sgZG9lcyBjb21taXQsIHdlIG5lZWQgdG8gYXR0YWNoIGEgZGlmZmVyZW50IHR5cGUgb2ZcbiAgLy8gbGlzdGVuZXIuIFRoaXMgb25lIHNjaGVkdWxlcyBhbiB1cGRhdGUgb24gdGhlIFN1c3BlbnNlIGJvdW5kYXJ5IHRvIHR1cm5cbiAgLy8gdGhlIGZhbGxiYWNrIHN0YXRlIG9mZi5cbiAgLy9cbiAgLy8gU3Rhc2ggdGhlIHdha2VhYmxlIG9uIHRoZSBib3VuZGFyeSBmaWJlciBzbyB3ZSBjYW4gYWNjZXNzIGl0IGluIHRoZVxuICAvLyBjb21taXQgcGhhc2UuXG4gIC8vXG4gIC8vIFdoZW4gdGhlIHdha2VhYmxlIHJlc29sdmVzLCB3ZSdsbCBhdHRlbXB0IHRvIHJlbmRlciB0aGUgYm91bmRhcnlcbiAgLy8gYWdhaW4gKFwicmV0cnlcIikuXG4gIHZhciB3YWtlYWJsZXMgPSBzdXNwZW5zZUJvdW5kYXJ5LnVwZGF0ZVF1ZXVlO1xuXG4gIGlmICh3YWtlYWJsZXMgPT09IG51bGwpIHtcbiAgICB2YXIgdXBkYXRlUXVldWUgPSBuZXcgU2V0KCk7XG4gICAgdXBkYXRlUXVldWUuYWRkKHdha2VhYmxlKTtcbiAgICBzdXNwZW5zZUJvdW5kYXJ5LnVwZGF0ZVF1ZXVlID0gdXBkYXRlUXVldWU7XG4gIH0gZWxzZSB7XG4gICAgd2FrZWFibGVzLmFkZCh3YWtlYWJsZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzZXRTdXNwZW5kZWRDb21wb25lbnQoc291cmNlRmliZXIsIHJvb3RSZW5kZXJMYW5lcykge1xuICAvLyBBIGxlZ2FjeSBtb2RlIFN1c3BlbnNlIHF1aXJrLCBvbmx5IHJlbGV2YW50IHRvIGhvb2sgY29tcG9uZW50cy5cblxuXG4gIHZhciB0YWcgPSBzb3VyY2VGaWJlci50YWc7XG5cbiAgaWYgKChzb3VyY2VGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUgJiYgKHRhZyA9PT0gRnVuY3Rpb25Db21wb25lbnQgfHwgdGFnID09PSBGb3J3YXJkUmVmIHx8IHRhZyA9PT0gU2ltcGxlTWVtb0NvbXBvbmVudCkpIHtcbiAgICB2YXIgY3VycmVudFNvdXJjZSA9IHNvdXJjZUZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50U291cmNlKSB7XG4gICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IGN1cnJlbnRTb3VyY2UudXBkYXRlUXVldWU7XG4gICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gY3VycmVudFNvdXJjZS5tZW1vaXplZFN0YXRlO1xuICAgICAgc291cmNlRmliZXIubGFuZXMgPSBjdXJyZW50U291cmNlLmxhbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TmVhcmVzdFN1c3BlbnNlQm91bmRhcnlUb0NhcHR1cmUocmV0dXJuRmliZXIpIHtcbiAgdmFyIG5vZGUgPSByZXR1cm5GaWJlcjtcblxuICBkbyB7XG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCAmJiBzaG91bGRDYXB0dXJlU3VzcGVuc2Uobm9kZSkpIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH0gLy8gVGhpcyBib3VuZGFyeSBhbHJlYWR5IGNhcHR1cmVkIGR1cmluZyB0aGlzIHJlbmRlci4gQ29udGludWUgdG8gdGhlIG5leHRcbiAgICAvLyBib3VuZGFyeS5cblxuXG4gICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICB9IHdoaWxlIChub2RlICE9PSBudWxsKTtcblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gbWFya1N1c3BlbnNlQm91bmRhcnlTaG91bGRDYXB0dXJlKHN1c3BlbnNlQm91bmRhcnksIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgcm9vdCwgcm9vdFJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgbWFya3MgYSBTdXNwZW5zZSBib3VuZGFyeSBzbyB0aGF0IHdoZW4gd2UncmUgdW53aW5kaW5nIHRoZSBzdGFjayxcbiAgLy8gaXQgY2FwdHVyZXMgdGhlIHN1c3BlbmRlZCBcImV4Y2VwdGlvblwiIGFuZCBkb2VzIGEgc2Vjb25kIChmYWxsYmFjaykgcGFzcy5cbiAgaWYgKChzdXNwZW5zZUJvdW5kYXJ5Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIC8vIExlZ2FjeSBNb2RlIFN1c3BlbnNlXG4gICAgLy9cbiAgICAvLyBJZiB0aGUgYm91bmRhcnkgaXMgaW4gbGVnYWN5IG1vZGUsIHdlIHNob3VsZCAqbm90KlxuICAgIC8vIHN1c3BlbmQgdGhlIGNvbW1pdC4gUHJldGVuZCBhcyBpZiB0aGUgc3VzcGVuZGVkIGNvbXBvbmVudCByZW5kZXJlZFxuICAgIC8vIG51bGwgYW5kIGtlZXAgcmVuZGVyaW5nLiBXaGVuIHRoZSBTdXNwZW5zZSBib3VuZGFyeSBjb21wbGV0ZXMsXG4gICAgLy8gd2UnbGwgZG8gYSBzZWNvbmQgcGFzcyB0byByZW5kZXIgdGhlIGZhbGxiYWNrLlxuICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5ID09PSByZXR1cm5GaWJlcikge1xuICAgICAgLy8gU3BlY2lhbCBjYXNlIHdoZXJlIHdlIHN1c3BlbmRlZCB3aGlsZSByZWNvbmNpbGluZyB0aGUgY2hpbGRyZW4gb2ZcbiAgICAgIC8vIGEgU3VzcGVuc2UgYm91bmRhcnkncyBpbm5lciBPZmZzY3JlZW4gd3JhcHBlciBmaWJlci4gVGhpcyBoYXBwZW5zXG4gICAgICAvLyB3aGVuIGEgUmVhY3QubGF6eSBjb21wb25lbnQgaXMgYSBkaXJlY3QgY2hpbGQgb2YgYVxuICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcnkuXG4gICAgICAvL1xuICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcmllcyBhcmUgaW1wbGVtZW50ZWQgYXMgbXVsdGlwbGUgZmliZXJzLCBidXQgdGhleVxuICAgICAgLy8gYXJlIGEgc2luZ2xlIGNvbmNlcHR1YWwgdW5pdC4gVGhlIGxlZ2FjeSBtb2RlIGJlaGF2aW9yIHdoZXJlIHdlXG4gICAgICAvLyBwcmV0ZW5kIHRoZSBzdXNwZW5kZWQgZmliZXIgY29tbWl0dGVkIGFzIGBudWxsYCB3b24ndCB3b3JrLFxuICAgICAgLy8gYmVjYXVzZSBpbiB0aGlzIGNhc2UgdGhlIFwic3VzcGVuZGVkXCIgZmliZXIgaXMgdGhlIGlubmVyXG4gICAgICAvLyBPZmZzY3JlZW4gd3JhcHBlci5cbiAgICAgIC8vXG4gICAgICAvLyBCZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm91bmRhcnkgaGF2ZW4ndCBzdGFydGVkIHJlbmRlcmluZ1xuICAgICAgLy8geWV0IChpLmUuIG5vdGhpbmcgaW4gdGhlIHRyZWUgaGFzIHBhcnRpYWxseSByZW5kZXJlZCkgd2UgY2FuXG4gICAgICAvLyBzd2l0Y2ggdG8gdGhlIHJlZ3VsYXIsIGNvbmN1cnJlbnQgbW9kZSBiZWhhdmlvcjogbWFyayB0aGVcbiAgICAgIC8vIGJvdW5kYXJ5IHdpdGggU2hvdWxkQ2FwdHVyZSBhbmQgZW50ZXIgdGhlIHVud2luZCBwaGFzZS5cbiAgICAgIHN1c3BlbnNlQm91bmRhcnkuZmxhZ3MgfD0gU2hvdWxkQ2FwdHVyZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgc291cmNlRmliZXIuZmxhZ3MgfD0gRm9yY2VVcGRhdGVGb3JMZWdhY3lTdXNwZW5zZTsgLy8gV2UncmUgZ29pbmcgdG8gY29tbWl0IHRoaXMgZmliZXIgZXZlbiB0aG91Z2ggaXQgZGlkbid0IGNvbXBsZXRlLlxuICAgICAgLy8gQnV0IHdlIHNob3VsZG4ndCBjYWxsIGFueSBsaWZlY3ljbGUgbWV0aG9kcyBvciBjYWxsYmFja3MuIFJlbW92ZVxuICAgICAgLy8gYWxsIGxpZmVjeWNsZSBlZmZlY3QgdGFncy5cblxuICAgICAgc291cmNlRmliZXIuZmxhZ3MgJj0gfihMaWZlY3ljbGVFZmZlY3RNYXNrIHwgSW5jb21wbGV0ZSk7XG5cbiAgICAgIGlmIChzb3VyY2VGaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgIHZhciBjdXJyZW50U291cmNlRmliZXIgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRTb3VyY2VGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgYSBuZXcgbW91bnQuIENoYW5nZSB0aGUgdGFnIHNvIGl0J3Mgbm90IG1pc3Rha2VuIGZvciBhXG4gICAgICAgICAgLy8gY29tcGxldGVkIGNsYXNzIGNvbXBvbmVudC4gRm9yIGV4YW1wbGUsIHdlIHNob3VsZCBub3QgY2FsbFxuICAgICAgICAgIC8vIGNvbXBvbmVudFdpbGxVbm1vdW50IGlmIGl0IGlzIGRlbGV0ZWQuXG4gICAgICAgICAgc291cmNlRmliZXIudGFnID0gSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFdoZW4gd2UgdHJ5IHJlbmRlcmluZyBhZ2Fpbiwgd2Ugc2hvdWxkIG5vdCByZXVzZSB0aGUgY3VycmVudCBmaWJlcixcbiAgICAgICAgICAvLyBzaW5jZSBpdCdzIGtub3duIHRvIGJlIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gVXNlIGEgZm9yY2UgdXBkYXRlIHRvXG4gICAgICAgICAgLy8gcHJldmVudCBhIGJhaWwgb3V0LlxuICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoTm9UaW1lc3RhbXAsIFN5bmNMYW5lKTtcbiAgICAgICAgICB1cGRhdGUudGFnID0gRm9yY2VVcGRhdGU7XG4gICAgICAgICAgZW5xdWV1ZVVwZGF0ZShzb3VyY2VGaWJlciwgdXBkYXRlLCBTeW5jTGFuZSk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gVGhlIHNvdXJjZSBmaWJlciBkaWQgbm90IGNvbXBsZXRlLiBNYXJrIGl0IHdpdGggU3luYyBwcmlvcml0eSB0b1xuICAgICAgLy8gaW5kaWNhdGUgdGhhdCBpdCBzdGlsbCBoYXMgcGVuZGluZyB3b3JrLlxuXG5cbiAgICAgIHNvdXJjZUZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhzb3VyY2VGaWJlci5sYW5lcywgU3luY0xhbmUpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXNwZW5zZUJvdW5kYXJ5O1xuICB9IC8vIENvbmZpcm1lZCB0aGF0IHRoZSBib3VuZGFyeSBpcyBpbiBhIGNvbmN1cnJlbnQgbW9kZSB0cmVlLiBDb250aW51ZVxuICAvLyB3aXRoIHRoZSBub3JtYWwgc3VzcGVuZCBwYXRoLlxuICAvL1xuICAvLyBBZnRlciB0aGlzIHdlJ2xsIHVzZSBhIHNldCBvZiBoZXVyaXN0aWNzIHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXNcbiAgLy8gcmVuZGVyIHBhc3Mgd2lsbCBydW4gdG8gY29tcGxldGlvbiBvciByZXN0YXJ0IG9yIFwic3VzcGVuZFwiIHRoZSBjb21taXQuXG4gIC8vIFRoZSBhY3R1YWwgbG9naWMgZm9yIHRoaXMgaXMgc3ByZWFkIG91dCBpbiBkaWZmZXJlbnQgcGxhY2VzLlxuICAvL1xuICAvLyBUaGlzIGZpcnN0IHByaW5jaXBsZSBpcyB0aGF0IGlmIHdlJ3JlIGdvaW5nIHRvIHN1c3BlbmQgd2hlbiB3ZSBjb21wbGV0ZVxuICAvLyBhIHJvb3QsIHRoZW4gd2Ugc2hvdWxkIGFsc28gcmVzdGFydCBpZiB3ZSBnZXQgYW4gdXBkYXRlIG9yIHBpbmcgdGhhdFxuICAvLyBtaWdodCB1bnN1c3BlbmQgaXQsIGFuZCB2aWNlIHZlcnNhLiBUaGUgb25seSByZWFzb24gdG8gc3VzcGVuZCBpc1xuICAvLyBiZWNhdXNlIHlvdSB0aGluayB5b3UgbWlnaHQgd2FudCB0byByZXN0YXJ0IGJlZm9yZSBjb21taXR0aW5nLiBIb3dldmVyLFxuICAvLyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcmVzdGFydCBvbmx5IHdoaWxlIGluIHRoZSBwZXJpb2Qgd2UncmUgc3VzcGVuZGVkLlxuICAvL1xuICAvLyBSZXN0YXJ0aW5nIHRvbyBhZ2dyZXNzaXZlbHkgaXMgYWxzbyBub3QgZ29vZCBiZWNhdXNlIGl0IHN0YXJ2ZXMgb3V0IGFueVxuICAvLyBpbnRlcm1lZGlhdGUgbG9hZGluZyBzdGF0ZS4gU28gd2UgdXNlIGhldXJpc3RpY3MgdG8gZGV0ZXJtaW5lIHdoZW4uXG4gIC8vIFN1c3BlbnNlIEhldXJpc3RpY3NcbiAgLy9cbiAgLy8gSWYgbm90aGluZyB0aHJldyBhIFByb21pc2Ugb3IgYWxsIHRoZSBzYW1lIGZhbGxiYWNrcyBhcmUgYWxyZWFkeSBzaG93aW5nLFxuICAvLyB0aGVuIGRvbid0IHN1c3BlbmQvcmVzdGFydC5cbiAgLy9cbiAgLy8gSWYgdGhpcyBpcyBhbiBpbml0aWFsIHJlbmRlciBvZiBhIG5ldyB0cmVlIG9mIFN1c3BlbnNlIGJvdW5kYXJpZXMgYW5kXG4gIC8vIHRob3NlIHRyaWdnZXIgYSBmYWxsYmFjaywgdGhlbiBkb24ndCBzdXNwZW5kL3Jlc3RhcnQuIFdlIHdhbnQgdG8gZW5zdXJlXG4gIC8vIHRoYXQgd2UgY2FuIHNob3cgdGhlIGluaXRpYWwgbG9hZGluZyBzdGF0ZSBhcyBxdWlja2x5IGFzIHBvc3NpYmxlLlxuICAvL1xuICAvLyBJZiB3ZSBoaXQgYSBcIkRlbGF5ZWRcIiBjYXNlLCBzdWNoIGFzIHdoZW4gd2UnZCBzd2l0Y2ggZnJvbSBjb250ZW50IGJhY2sgaW50b1xuICAvLyBhIGZhbGxiYWNrLCB0aGVuIHdlIHNob3VsZCBhbHdheXMgc3VzcGVuZC9yZXN0YXJ0LiBUcmFuc2l0aW9ucyBhcHBseVxuICAvLyB0byB0aGlzIGNhc2UuIElmIG5vbmUgaXMgZGVmaW5lZCwgSk5EIGlzIHVzZWQgaW5zdGVhZC5cbiAgLy9cbiAgLy8gSWYgd2UncmUgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgYW5kIGl0IGdldHMgXCJyZXRyaWVkXCIsIGFsbG93aW5nIHVzIHRvIHNob3dcbiAgLy8gYW5vdGhlciBsZXZlbCwgYnV0IHRoZXJlJ3Mgc3RpbGwgYW4gaW5uZXIgYm91bmRhcnkgdGhhdCB3b3VsZCBzaG93IGEgZmFsbGJhY2ssXG4gIC8vIHRoZW4gd2Ugc3VzcGVuZC9yZXN0YXJ0IGZvciA1MDBtcyBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIHNob3dlZCBhIGZhbGxiYWNrXG4gIC8vIGFueXdoZXJlIGluIHRoZSB0cmVlLiBUaGlzIGVmZmVjdGl2ZWx5IHRocm90dGxlcyBwcm9ncmVzc2l2ZSBsb2FkaW5nIGludG8gYVxuICAvLyBjb25zaXN0ZW50IHRyYWluIG9mIGNvbW1pdHMuIFRoaXMgYWxzbyBnaXZlcyB1cyBhbiBvcHBvcnR1bml0eSB0byByZXN0YXJ0IHRvXG4gIC8vIGdldCB0byB0aGUgY29tcGxldGVkIHN0YXRlIHNsaWdodGx5IGVhcmxpZXIuXG4gIC8vXG4gIC8vIElmIHRoZXJlJ3MgYW1iaWd1aXR5IGR1ZSB0byBiYXRjaGluZyBpdCdzIHJlc29sdmVkIGluIHByZWZlcmVuY2Ugb2Y6XG4gIC8vIDEpIFwiZGVsYXllZFwiLCAyKSBcImluaXRpYWwgcmVuZGVyXCIsIDMpIFwicmV0cnlcIi5cbiAgLy9cbiAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBhIFwiYnVzeVwiIHN0YXRlIGRvZXNuJ3QgZ2V0IGZvcmNlIGNvbW1pdHRlZC4gV2Ugd2FudCB0b1xuICAvLyBlbnN1cmUgdGhhdCBuZXcgaW5pdGlhbCBsb2FkaW5nIHN0YXRlcyBjYW4gY29tbWl0IGFzIHNvb24gYXMgcG9zc2libGUuXG5cblxuICBzdXNwZW5zZUJvdW5kYXJ5LmZsYWdzIHw9IFNob3VsZENhcHR1cmU7IC8vIFRPRE86IEkgdGhpbmsgd2UgY2FuIHJlbW92ZSB0aGlzLCBzaW5jZSB3ZSBub3cgdXNlIGBEaWRDYXB0dXJlYCBpblxuICAvLyB0aGUgYmVnaW4gcGhhc2UgdG8gcHJldmVudCBhbiBlYXJseSBiYWlsb3V0LlxuXG4gIHN1c3BlbnNlQm91bmRhcnkubGFuZXMgPSByb290UmVuZGVyTGFuZXM7XG4gIHJldHVybiBzdXNwZW5zZUJvdW5kYXJ5O1xufVxuXG5mdW5jdGlvbiB0aHJvd0V4Y2VwdGlvbihyb290LCByZXR1cm5GaWJlciwgc291cmNlRmliZXIsIHZhbHVlLCByb290UmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhlIHNvdXJjZSBmaWJlciBkaWQgbm90IGNvbXBsZXRlLlxuICBzb3VyY2VGaWJlci5mbGFncyB8PSBJbmNvbXBsZXRlO1xuXG4gIHtcbiAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgIC8vIElmIHdlIGhhdmUgcGVuZGluZyB3b3JrIHN0aWxsLCByZXN0b3JlIHRoZSBvcmlnaW5hbCB1cGRhdGVyc1xuICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCByb290UmVuZGVyTGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gVGhpcyBpcyBhIHdha2VhYmxlLiBUaGUgY29tcG9uZW50IHN1c3BlbmRlZC5cbiAgICB2YXIgd2FrZWFibGUgPSB2YWx1ZTtcbiAgICByZXNldFN1c3BlbmRlZENvbXBvbmVudChzb3VyY2VGaWJlcik7XG5cbiAgICB7XG4gICAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSAmJiBzb3VyY2VGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgbWFya0RpZFRocm93V2hpbGVIeWRyYXRpbmdERVYoKTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIHZhciBzdXNwZW5zZUJvdW5kYXJ5ID0gZ2V0TmVhcmVzdFN1c3BlbnNlQm91bmRhcnlUb0NhcHR1cmUocmV0dXJuRmliZXIpO1xuXG4gICAgaWYgKHN1c3BlbnNlQm91bmRhcnkgIT09IG51bGwpIHtcbiAgICAgIHN1c3BlbnNlQm91bmRhcnkuZmxhZ3MgJj0gfkZvcmNlQ2xpZW50UmVuZGVyO1xuICAgICAgbWFya1N1c3BlbnNlQm91bmRhcnlTaG91bGRDYXB0dXJlKHN1c3BlbnNlQm91bmRhcnksIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgcm9vdCwgcm9vdFJlbmRlckxhbmVzKTsgLy8gV2Ugb25seSBhdHRhY2ggcGluZyBsaXN0ZW5lcnMgaW4gY29uY3VycmVudCBtb2RlLiBMZWdhY3kgU3VzcGVuc2UgYWx3YXlzXG4gICAgICAvLyBjb21taXRzIGZhbGxiYWNrcyBzeW5jaHJvbm91c2x5LCBzbyB0aGVyZSBhcmUgbm8gcGluZ3MuXG5cbiAgICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgICBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgd2FrZWFibGUsIHJvb3RSZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGF0dGFjaFJldHJ5TGlzdGVuZXIoc3VzcGVuc2VCb3VuZGFyeSwgcm9vdCwgd2FrZWFibGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBib3VuZGFyeSB3YXMgZm91bmQuIFVubGVzcyB0aGlzIGlzIGEgc3luYyB1cGRhdGUsIHRoaXMgaXMgT0suXG4gICAgICAvLyBXZSBjYW4gc3VzcGVuZCBhbmQgd2FpdCBmb3IgbW9yZSBkYXRhIHRvIGFycml2ZS5cbiAgICAgIGlmICghaW5jbHVkZXNTeW5jTGFuZShyb290UmVuZGVyTGFuZXMpKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgbm90IGEgc3luYyB1cGRhdGUuIFN1c3BlbmQuIFNpbmNlIHdlJ3JlIG5vdCBhY3RpdmF0aW5nIGFcbiAgICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcnksIHRoaXMgd2lsbCB1bndpbmQgYWxsIHRoZSB3YXkgdG8gdGhlIHJvb3Qgd2l0aG91dFxuICAgICAgICAvLyBwZXJmb3JtaW5nIGEgc2Vjb25kIHBhc3MgdG8gcmVuZGVyIGEgZmFsbGJhY2suIChUaGlzIGlzIGFyZ3VhYmx5IGhvd1xuICAgICAgICAvLyByZWZyZXNoIHRyYW5zaXRpb25zIHNob3VsZCB3b3JrLCB0b28sIHNpbmNlIHdlJ3JlIG5vdCBnb2luZyB0byBjb21taXRcbiAgICAgICAgLy8gdGhlIGZhbGxiYWNrcyBhbnl3YXkuKVxuICAgICAgICAvL1xuICAgICAgICAvLyBUaGlzIGNhc2UgYWxzbyBhcHBsaWVzIHRvIGluaXRpYWwgaHlkcmF0aW9uLlxuICAgICAgICBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgd2FrZWFibGUsIHJvb3RSZW5kZXJMYW5lcyk7XG4gICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBUaGlzIGlzIGEgc3luYy9kaXNjcmV0ZSB1cGRhdGUuIFdlIHRyZWF0IHRoaXMgY2FzZSBsaWtlIGFuIGVycm9yXG4gICAgICAvLyBiZWNhdXNlIGRpc2NyZXRlIHJlbmRlcnMgYXJlIGV4cGVjdGVkIHRvIHByb2R1Y2UgYSBjb21wbGV0ZSB0cmVlXG4gICAgICAvLyBzeW5jaHJvbm91c2x5IHRvIG1haW50YWluIGNvbnNpc3RlbmN5IHdpdGggZXh0ZXJuYWwgc3RhdGUuXG5cblxuICAgICAgdmFyIHVuY2F1Z2h0U3VzcGVuc2VFcnJvciA9IG5ldyBFcnJvcignQSBjb21wb25lbnQgc3VzcGVuZGVkIHdoaWxlIHJlc3BvbmRpbmcgdG8gc3luY2hyb25vdXMgaW5wdXQuIFRoaXMgJyArICd3aWxsIGNhdXNlIHRoZSBVSSB0byBiZSByZXBsYWNlZCB3aXRoIGEgbG9hZGluZyBpbmRpY2F0b3IuIFRvICcgKyAnZml4LCB1cGRhdGVzIHRoYXQgc3VzcGVuZCBzaG91bGQgYmUgd3JhcHBlZCAnICsgJ3dpdGggc3RhcnRUcmFuc2l0aW9uLicpOyAvLyBJZiB3ZSdyZSBvdXRzaWRlIGEgdHJhbnNpdGlvbiwgZmFsbCB0aHJvdWdoIHRvIHRoZSByZWd1bGFyIGVycm9yIHBhdGguXG4gICAgICAvLyBUaGUgZXJyb3Igd2lsbCBiZSBjYXVnaHQgYnkgdGhlIG5lYXJlc3Qgc3VzcGVuc2UgYm91bmRhcnkuXG5cbiAgICAgIHZhbHVlID0gdW5jYXVnaHRTdXNwZW5zZUVycm9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVndWxhciBlcnJvciwgbm90IGEgU3VzcGVuc2Ugd2FrZWFibGUuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkgJiYgc291cmNlRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICBtYXJrRGlkVGhyb3dXaGlsZUh5ZHJhdGluZ0RFVigpO1xuXG4gICAgICB2YXIgX3N1c3BlbnNlQm91bmRhcnkgPSBnZXROZWFyZXN0U3VzcGVuc2VCb3VuZGFyeVRvQ2FwdHVyZShyZXR1cm5GaWJlcik7IC8vIElmIHRoZSBlcnJvciB3YXMgdGhyb3duIGR1cmluZyBoeWRyYXRpb24sIHdlIG1heSBiZSBhYmxlIHRvIHJlY292ZXIgYnlcbiAgICAgIC8vIGRpc2NhcmRpbmcgdGhlIGRlaHlkcmF0ZWQgY29udGVudCBhbmQgc3dpdGNoaW5nIHRvIGEgY2xpZW50IHJlbmRlci5cbiAgICAgIC8vIEluc3RlYWQgb2Ygc3VyZmFjaW5nIHRoZSBlcnJvciwgZmluZCB0aGUgbmVhcmVzdCBTdXNwZW5zZSBib3VuZGFyeVxuICAgICAgLy8gYW5kIHJlbmRlciBpdCBhZ2FpbiB3aXRob3V0IGh5ZHJhdGlvbi5cblxuXG4gICAgICBpZiAoX3N1c3BlbnNlQm91bmRhcnkgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKChfc3VzcGVuc2VCb3VuZGFyeS5mbGFncyAmIFNob3VsZENhcHR1cmUpID09PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgLy8gU2V0IGEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IHdlIHNob3VsZCB0cnkgcmVuZGVyaW5nIHRoZSBub3JtYWxcbiAgICAgICAgICAvLyBjaGlsZHJlbiBhZ2Fpbiwgbm90IHRoZSBmYWxsYmFjay5cbiAgICAgICAgICBfc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBGb3JjZUNsaWVudFJlbmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmtTdXNwZW5zZUJvdW5kYXJ5U2hvdWxkQ2FwdHVyZShfc3VzcGVuc2VCb3VuZGFyeSwgcmV0dXJuRmliZXIsIHNvdXJjZUZpYmVyLCByb290LCByb290UmVuZGVyTGFuZXMpOyAvLyBFdmVuIHRob3VnaCB0aGUgdXNlciBtYXkgbm90IGJlIGFmZmVjdGVkIGJ5IHRoaXMgZXJyb3IsIHdlIHNob3VsZFxuICAgICAgICAvLyBzdGlsbCBsb2cgaXQgc28gaXQgY2FuIGJlIGZpeGVkLlxuXG4gICAgICAgIHF1ZXVlSHlkcmF0aW9uRXJyb3IoY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIodmFsdWUsIHNvdXJjZUZpYmVyKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKHZhbHVlLCBzb3VyY2VGaWJlcik7XG4gIHJlbmRlckRpZEVycm9yKHZhbHVlKTsgLy8gV2UgZGlkbid0IGZpbmQgYSBib3VuZGFyeSB0aGF0IGNvdWxkIGhhbmRsZSB0aGlzIHR5cGUgb2YgZXhjZXB0aW9uLiBTdGFydFxuICAvLyBvdmVyIGFuZCB0cmF2ZXJzZSBwYXJlbnQgcGF0aCBhZ2FpbiwgdGhpcyB0aW1lIHRyZWF0aW5nIHRoZSBleGNlcHRpb25cbiAgLy8gYXMgYW4gZXJyb3IuXG5cbiAgdmFyIHdvcmtJblByb2dyZXNzID0gcmV0dXJuRmliZXI7XG5cbiAgZG8ge1xuICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9lcnJvckluZm8gPSB2YWx1ZTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTaG91bGRDYXB0dXJlO1xuICAgICAgICAgIHZhciBsYW5lID0gcGlja0FyYml0cmFyeUxhbmUocm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3MubGFuZXMsIGxhbmUpO1xuICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVSb290RXJyb3JVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF9lcnJvckluZm8sIGxhbmUpO1xuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgdXBkYXRlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgLy8gQ2FwdHVyZSBhbmQgcmV0cnlcbiAgICAgICAgdmFyIGVycm9ySW5mbyA9IHZhbHVlO1xuICAgICAgICB2YXIgY3RvciA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MgJiYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCBpbnN0YW5jZSAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSkge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZENhcHR1cmU7XG5cbiAgICAgICAgICB2YXIgX2xhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyb290UmVuZGVyTGFuZXMpO1xuXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBfbGFuZSk7IC8vIFNjaGVkdWxlIHRoZSBlcnJvciBib3VuZGFyeSB0byByZS1yZW5kZXIgdXNpbmcgdXBkYXRlZCBzdGF0ZVxuXG4gICAgICAgICAgdmFyIF91cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKHdvcmtJblByb2dyZXNzLCBlcnJvckluZm8sIF9sYW5lKTtcblxuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgX3VwZGF0ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gIH0gd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKTtcbn1cblxuZnVuY3Rpb24gZ2V0U3VzcGVuZGVkQ2FjaGUoKSB7XG4gIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIGEgU3VzcGVuc2UgYm91bmRhcnkgc3VzcGVuZHMuIEl0IHJldHVybnMgdGhlXG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dEJhZENsYXNzO1xudmFyIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzO1xudmFyIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHM7XG52YXIgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXI7XG52YXIgZGlkV2FybkFib3V0VGFpbE9wdGlvbnM7XG5cbntcbiAgZGlkV2FybkFib3V0QmFkQ2xhc3MgPSB7fTtcbiAgZGlkV2FybkFib3V0TW9kdWxlUGF0dGVybkNvbXBvbmVudCA9IHt9O1xuICBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZU9uRnVuY3Rpb25Db21wb25lbnQgPSB7fTtcbiAgZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudCA9IHt9O1xuICBkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnMgPSB7fTtcbiAgZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcyA9IGZhbHNlO1xuICBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlciA9IHt9O1xuICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9ucyA9IHt9O1xufVxuXG5mdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgaXMgYSBmcmVzaCBuZXcgY29tcG9uZW50IHRoYXQgaGFzbid0IGJlZW4gcmVuZGVyZWQgeWV0LCB3ZVxuICAgIC8vIHdvbid0IHVwZGF0ZSBpdHMgY2hpbGQgc2V0IGJ5IGFwcGx5aW5nIG1pbmltYWwgc2lkZS1lZmZlY3RzLiBJbnN0ZWFkLFxuICAgIC8vIHdlIHdpbGwgYWRkIHRoZW0gYWxsIHRvIHRoZSBjaGlsZCBiZWZvcmUgaXQgZ2V0cyByZW5kZXJlZC4gVGhhdCBtZWFuc1xuICAgIC8vIHdlIGNhbiBvcHRpbWl6ZSB0aGlzIHJlY29uY2lsaWF0aW9uIHBhc3MgYnkgbm90IHRyYWNraW5nIHNpZGUtZWZmZWN0cy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG1vdW50Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9IGVsc2Uge1xuICAgIC8vIElmIHRoZSBjdXJyZW50IGNoaWxkIGlzIHRoZSBzYW1lIGFzIHRoZSB3b3JrIGluIHByb2dyZXNzLCBpdCBtZWFucyB0aGF0XG4gICAgLy8gd2UgaGF2ZW4ndCB5ZXQgc3RhcnRlZCBhbnkgd29yayBvbiB0aGVzZSBjaGlsZHJlbi4gVGhlcmVmb3JlLCB3ZSB1c2VcbiAgICAvLyB0aGUgY2xvbmUgYWxnb3JpdGhtIHRvIGNyZWF0ZSBhIGNvcHkgb2YgYWxsIHRoZSBjdXJyZW50IGNoaWxkcmVuLlxuICAgIC8vIElmIHdlIGhhZCBhbnkgcHJvZ3Jlc3NlZCB3b3JrIGFscmVhZHksIHRoYXQgaXMgaW52YWxpZCBhdCB0aGlzIHBvaW50IHNvXG4gICAgLy8gbGV0J3MgdGhyb3cgaXQgb3V0LlxuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZvcmNlVW5tb3VudEN1cnJlbnRBbmRSZWNvbmNpbGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyBmb3JrIG9mIHJlY29uY2lsZUNoaWxkcmVuLiBJdCdzIHVzZWQgaW4gY2FzZXMgd2hlcmUgd2VcbiAgLy8gd2FudCB0byByZWNvbmNpbGUgd2l0aG91dCBtYXRjaGluZyBhZ2FpbnN0IHRoZSBleGlzdGluZyBzZXQuIFRoaXMgaGFzIHRoZVxuICAvLyBlZmZlY3Qgb2YgYWxsIGN1cnJlbnQgY2hpbGRyZW4gYmVpbmcgdW5tb3VudGVkOyBldmVuIGlmIHRoZSB0eXBlIGFuZCBrZXlcbiAgLy8gYXJlIHRoZSBzYW1lLCB0aGUgb2xkIGNoaWxkIGlzIHVubW91bnRlZCBhbmQgYSBuZXcgY2hpbGQgaXMgY3JlYXRlZC5cbiAgLy9cbiAgLy8gVG8gZG8gdGhpcywgd2UncmUgZ29pbmcgdG8gZ28gdGhyb3VnaCB0aGUgcmVjb25jaWxlIGFsZ29yaXRobSB0d2ljZS4gSW5cbiAgLy8gdGhlIGZpcnN0IHBhc3MsIHdlIHNjaGVkdWxlIGEgZGVsZXRpb24gZm9yIGFsbCB0aGUgY3VycmVudCBjaGlsZHJlbiBieVxuICAvLyBwYXNzaW5nIG51bGwuXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTsgLy8gSW4gdGhlIHNlY29uZCBwYXNzLCB3ZSBtb3VudCB0aGUgbmV3IGNoaWxkcmVuLiBUaGUgdHJpY2sgaGVyZSBpcyB0aGF0IHdlXG4gIC8vIHBhc3MgbnVsbCBpbiBwbGFjZSBvZiB3aGVyZSB3ZSB1c3VhbGx5IHBhc3MgdGhlIGN1cnJlbnQgY2hpbGQgc2V0LiBUaGlzIGhhc1xuICAvLyB0aGUgZWZmZWN0IG9mIHJlbW91bnRpbmcgYWxsIGNoaWxkcmVuIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGVpclxuICAvLyBpZGVudGl0aWVzIG1hdGNoLlxuXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVGb3J3YXJkUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcbiAgLy8gaGFzbid0IHlldCBtb3VudGVkLiBUaGlzIGhhcHBlbnMgYWZ0ZXIgdGhlIGZpcnN0IHJlbmRlciBzdXNwZW5kcy5cbiAgLy8gV2UnbGwgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoaXMgaXMgZmluZSBvciBjYW4gY2F1c2UgaXNzdWVzLlxuICB7XG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAvLyBMYXp5IGNvbXBvbmVudCBwcm9wcyBjYW4ndCBiZSB2YWxpZGF0ZWQgaW4gY3JlYXRlRWxlbWVudFxuICAgICAgLy8gYmVjYXVzZSB0aGV5J3JlIG9ubHkgZ3VhcmFudGVlZCB0byBiZSByZXNvbHZlZCBoZXJlLlxuICAgICAgdmFyIGlubmVyUHJvcFR5cGVzID0gQ29tcG9uZW50LnByb3BUeXBlcztcblxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XG4gICAgICAgIGNoZWNrUHJvcFR5cGVzKGlubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKENvbXBvbmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciByZW5kZXIgPSBDb21wb25lbnQucmVuZGVyO1xuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmOyAvLyBUaGUgcmVzdCBpcyBhIGZvcmsgb2YgdXBkYXRlRnVuY3Rpb25Db21wb25lbnRcblxuICB2YXIgbmV4dENoaWxkcmVuO1xuICB2YXIgaGFzSWQ7XG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHtcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcbiAgICBuZXh0Q2hpbGRyZW4gPSByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlciwgbmV4dFByb3BzLCByZWYsIHJlbmRlckxhbmVzKTtcbiAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXIsIG5leHRQcm9wcywgcmVmLCByZW5kZXJMYW5lcyk7XG4gICAgICAgIGhhc0lkID0gY2hlY2tEaWRSZW5kZXJJZEhvb2soKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gIH1cblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmICFkaWRSZWNlaXZlVXBkYXRlKSB7XG4gICAgYmFpbG91dEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgcHVzaE1hdGVyaWFsaXplZFRyZWVJZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHZhciB0eXBlID0gQ29tcG9uZW50LnR5cGU7XG5cbiAgICBpZiAoaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSAmJiBDb21wb25lbnQuY29tcGFyZSA9PT0gbnVsbCAmJiAvLyBTaW1wbGVNZW1vQ29tcG9uZW50IGNvZGVwYXRoIGRvZXNuJ3QgcmVzb2x2ZSBvdXRlciBwcm9wcyBlaXRoZXIuXG4gICAgQ29tcG9uZW50LmRlZmF1bHRQcm9wcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgcmVzb2x2ZWRUeXBlID0gdHlwZTtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSk7XG4gICAgICB9IC8vIElmIHRoaXMgaXMgYSBwbGFpbiBmdW5jdGlvbiBjb21wb25lbnQgd2l0aG91dCBkZWZhdWx0IHByb3BzLFxuICAgICAgLy8gYW5kIHdpdGggb25seSB0aGUgZGVmYXVsdCBzaGFsbG93IGNvbXBhcmlzb24sIHdlIHVwZ3JhZGUgaXRcbiAgICAgIC8vIHRvIGEgU2ltcGxlTWVtb0NvbXBvbmVudCB0byBhbGxvdyBmYXN0IHBhdGggdXBkYXRlcy5cblxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBTaW1wbGVNZW1vQ29tcG9uZW50O1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVkVHlwZTtcblxuICAgICAge1xuICAgICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIHR5cGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVzb2x2ZWRUeXBlLCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcblxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XG4gICAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXG4gICAgICAgIC8vIFdlIGNvdWxkIG1vdmUgaXQgdGhlcmUsIGJ1dCB3ZSdkIHN0aWxsIG5lZWQgdGhpcyBmb3IgbGF6eSBjb2RlIHBhdGguXG4gICAgICAgIGNoZWNrUHJvcFR5cGVzKGlubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgY2hpbGQgPSBjcmVhdGVGaWJlckZyb21UeXBlQW5kUHJvcHMoQ29tcG9uZW50LnR5cGUsIG51bGwsIG5leHRQcm9wcywgd29ya0luUHJvZ3Jlc3MsIHdvcmtJblByb2dyZXNzLm1vZGUsIHJlbmRlckxhbmVzKTtcbiAgICBjaGlsZC5yZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7XG4gICAgY2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjaGlsZDtcbiAgICByZXR1cm4gY2hpbGQ7XG4gIH1cblxuICB7XG4gICAgdmFyIF90eXBlID0gQ29tcG9uZW50LnR5cGU7XG4gICAgdmFyIF9pbm5lclByb3BUeXBlcyA9IF90eXBlLnByb3BUeXBlcztcblxuICAgIGlmIChfaW5uZXJQcm9wVHlwZXMpIHtcbiAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXG4gICAgICAvLyBXZSBjb3VsZCBtb3ZlIGl0IHRoZXJlLCBidXQgd2UnZCBzdGlsbCBuZWVkIHRoaXMgZm9yIGxhenkgY29kZSBwYXRoLlxuICAgICAgY2hlY2tQcm9wVHlwZXMoX2lubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShfdHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjdXJyZW50Q2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBUaGlzIGlzIGFsd2F5cyBleGFjdGx5IG9uZSBjaGlsZFxuXG4gIHZhciBoYXNTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQgPSBjaGVja1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dChjdXJyZW50LCByZW5kZXJMYW5lcyk7XG5cbiAgaWYgKCFoYXNTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQpIHtcbiAgICAvLyBUaGlzIHdpbGwgYmUgdGhlIHByb3BzIHdpdGggcmVzb2x2ZWQgZGVmYXVsdFByb3BzLFxuICAgIC8vIHVubGlrZSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgd2hpY2ggd2lsbCBiZSB0aGUgdW5yZXNvbHZlZCBvbmVzLlxuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Q2hpbGQubWVtb2l6ZWRQcm9wczsgLy8gRGVmYXVsdCB0byBzaGFsbG93IGNvbXBhcmlzb25cblxuICAgIHZhciBjb21wYXJlID0gQ29tcG9uZW50LmNvbXBhcmU7XG4gICAgY29tcGFyZSA9IGNvbXBhcmUgIT09IG51bGwgPyBjb21wYXJlIDogc2hhbGxvd0VxdWFsO1xuXG4gICAgaWYgKGNvbXBhcmUocHJldlByb3BzLCBuZXh0UHJvcHMpICYmIGN1cnJlbnQucmVmID09PSB3b3JrSW5Qcm9ncmVzcy5yZWYpIHtcbiAgICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgfVxuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHZhciBuZXdDaGlsZCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgbmV4dFByb3BzKTtcbiAgbmV3Q2hpbGQucmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuICBuZXdDaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcbiAgcmV0dXJuIG5ld0NoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcbiAgLy8gaGFzbid0IHlldCBtb3VudGVkLiBUaGlzIGhhcHBlbnMgd2hlbiB0aGUgaW5uZXIgcmVuZGVyIHN1c3BlbmRzLlxuICAvLyBXZSdsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBpcyBmaW5lIG9yIGNhbiBjYXVzZSBpc3N1ZXMuXG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXG4gICAgICB2YXIgb3V0ZXJNZW1vVHlwZSA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlO1xuXG4gICAgICBpZiAob3V0ZXJNZW1vVHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XG4gICAgICAgIC8vIFdlIHdhcm4gd2hlbiB5b3UgZGVmaW5lIHByb3BUeXBlcyBvbiBsYXp5KClcbiAgICAgICAgLy8gc28gbGV0J3MganVzdCBza2lwIG92ZXIgaXQgdG8gZmluZCBtZW1vKCkgb3V0ZXIgd3JhcHBlci5cbiAgICAgICAgLy8gSW5uZXIgcHJvcHMgZm9yIG1lbW8gYXJlIHZhbGlkYXRlZCBsYXRlci5cbiAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSBvdXRlck1lbW9UeXBlO1xuICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIG91dGVyTWVtb1R5cGUgPSBpbml0KHBheWxvYWQpO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgb3V0ZXJNZW1vVHlwZSA9IG51bGw7XG4gICAgICAgIH0gLy8gSW5uZXIgcHJvcFR5cGVzIHdpbGwgYmUgdmFsaWRhdGVkIGluIHRoZSBmdW5jdGlvbiBjb21wb25lbnQgcGF0aC5cblxuXG4gICAgICAgIHZhciBvdXRlclByb3BUeXBlcyA9IG91dGVyTWVtb1R5cGUgJiYgb3V0ZXJNZW1vVHlwZS5wcm9wVHlwZXM7XG5cbiAgICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XG4gICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgKFNpbXBsZU1lbW9Db21wb25lbnQgaGFzIG5vIGRlZmF1bHRQcm9wcylcbiAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShvdXRlck1lbW9UeXBlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICBpZiAoc2hhbGxvd0VxdWFsKHByZXZQcm9wcywgbmV4dFByb3BzKSAmJiBjdXJyZW50LnJlZiA9PT0gd29ya0luUHJvZ3Jlc3MucmVmICYmICggLy8gUHJldmVudCBiYWlsb3V0IGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VkIGR1ZSB0byBob3QgcmVsb2FkLlxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID09PSBjdXJyZW50LnR5cGUgKSkge1xuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGUgcHJvcHMgYXJlIHNoYWxsb3dseSBlcXVhbC4gUmV1c2UgdGhlIHByZXZpb3VzIHByb3BzIG9iamVjdCwgbGlrZSB3ZVxuICAgICAgLy8gd291bGQgZHVyaW5nIGEgbm9ybWFsIGZpYmVyIGJhaWxvdXQuXG4gICAgICAvL1xuICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBzdHJvbmcgZ3VhcmFudGVlcyB0aGF0IHRoZSBwcm9wcyBvYmplY3QgaXMgcmVmZXJlbnRpYWxseVxuICAgICAgLy8gZXF1YWwgZHVyaW5nIHVwZGF0ZXMgd2hlcmUgd2UgY2FuJ3QgYmFpbCBvdXQgYW55d2F5IOKAlCBsaWtlIGlmIHRoZSBwcm9wc1xuICAgICAgLy8gYXJlIHNoYWxsb3dseSBlcXVhbCwgYnV0IHRoZXJlJ3MgYSBsb2NhbCBzdGF0ZSBvciBjb250ZXh0IHVwZGF0ZSBpbiB0aGVcbiAgICAgIC8vIHNhbWUgYmF0Y2guXG4gICAgICAvL1xuICAgICAgLy8gSG93ZXZlciwgYXMgYSBwcmluY2lwbGUsIHdlIHNob3VsZCBhaW0gdG8gbWFrZSB0aGUgYmVoYXZpb3IgY29uc2lzdGVudFxuICAgICAgLy8gYWNyb3NzIGRpZmZlcmVudCB3YXlzIG9mIG1lbW9pemluZyBhIGNvbXBvbmVudC4gRm9yIGV4YW1wbGUsIFJlYWN0Lm1lbW9cbiAgICAgIC8vIGhhcyBhIGRpZmZlcmVudCBpbnRlcm5hbCBGaWJlciBsYXlvdXQgaWYgeW91IHBhc3MgYSBub3JtYWwgZnVuY3Rpb25cbiAgICAgIC8vIGNvbXBvbmVudCAoU2ltcGxlTWVtb0NvbXBvbmVudCkgdmVyc3VzIGlmIHlvdSBwYXNzIGEgZGlmZmVyZW50IHR5cGVcbiAgICAgIC8vIGxpa2UgZm9yd2FyZFJlZiAoTWVtb0NvbXBvbmVudCkuIEJ1dCB0aGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbC5cbiAgICAgIC8vIFdyYXBwaW5nIGEgY29tcG9uZW50IGluIGZvcndhcmRSZWYgKG9yIFJlYWN0LmxhenksIGV0Yykgc2hvdWxkbid0XG4gICAgICAvLyBhZmZlY3Qgd2hldGhlciB0aGUgcHJvcHMgb2JqZWN0IGlzIHJldXNlZCBkdXJpbmcgYSBiYWlsb3V0LlxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMgPSBuZXh0UHJvcHMgPSBwcmV2UHJvcHM7XG5cbiAgICAgIGlmICghY2hlY2tTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQoY3VycmVudCwgcmVuZGVyTGFuZXMpKSB7XG4gICAgICAgIC8vIFRoZSBwZW5kaW5nIGxhbmVzIHdlcmUgY2xlYXJlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGJlZ2luV29yay4gV2UncmVcbiAgICAgICAgLy8gYWJvdXQgdG8gYmFpbCBvdXQsIGJ1dCB0aGVyZSBtaWdodCBiZSBvdGhlciBsYW5lcyB0aGF0IHdlcmVuJ3RcbiAgICAgICAgLy8gaW5jbHVkZWQgaW4gdGhlIGN1cnJlbnQgcmVuZGVyLiBVc3VhbGx5LCB0aGUgcHJpb3JpdHkgbGV2ZWwgb2YgdGhlXG4gICAgICAgIC8vIHJlbWFpbmluZyB1cGRhdGVzIGlzIGFjY3VtdWxhdGVkIGR1cmluZyB0aGUgZXZhbHVhdGlvbiBvZiB0aGVcbiAgICAgICAgLy8gY29tcG9uZW50IChpLmUuIHdoZW4gcHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlKS4gQnV0IHNpbmNlIHNpbmNlXG4gICAgICAgIC8vIHdlJ3JlIGJhaWxpbmcgb3V0IGVhcmx5ICp3aXRob3V0KiBldmFsdWF0aW5nIHRoZSBjb21wb25lbnQsIHdlIG5lZWRcbiAgICAgICAgLy8gdG8gYWNjb3VudCBmb3IgaXQgaGVyZSwgdG9vLiBSZXNldCB0byB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgZmliZXIuXG4gICAgICAgIC8vIE5PVEU6IFRoaXMgb25seSBhcHBsaWVzIHRvIFNpbXBsZU1lbW9Db21wb25lbnQsIG5vdCBNZW1vQ29tcG9uZW50LFxuICAgICAgICAvLyBiZWNhdXNlIGEgTWVtb0NvbXBvbmVudCBmaWJlciBkb2VzIG5vdCBoYXZlIGhvb2tzIG9yIGFuIHVwZGF0ZSBxdWV1ZTtcbiAgICAgICAgLy8gcmF0aGVyLCBpdCB3cmFwcyBhcm91bmQgYW4gaW5uZXIgY29tcG9uZW50LCB3aGljaCBtYXkgb3IgbWF5IG5vdFxuICAgICAgICAvLyBjb250YWlucyBob29rcy5cbiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGUgcmVzZXQgYXQgaW4gYmVnaW5Xb3JrIG91dCBvZiB0aGUgY29tbW9uIHBhdGggc28gdGhhdFxuICAgICAgICAvLyB0aGlzIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gY3VycmVudC5sYW5lcztcbiAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH0gZWxzZSBpZiAoKGN1cnJlbnQuZmxhZ3MgJiBGb3JjZVVwZGF0ZUZvckxlZ2FjeVN1c3BlbnNlKSAhPT0gTm9GbGFncykge1xuICAgICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlIHRoYXQgb25seSBleGlzdHMgZm9yIGxlZ2FjeSBtb2RlLlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMTkyMTYuXG4gICAgICAgIGRpZFJlY2VpdmVVcGRhdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YXIgcHJldlN0YXRlID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSA6IG51bGw7XG5cbiAgaWYgKG5leHRQcm9wcy5tb2RlID09PSAnaGlkZGVuJyB8fCBlbmFibGVMZWdhY3lIaWRkZW4gKSB7XG4gICAgLy8gUmVuZGVyaW5nIGEgaGlkZGVuIHRyZWUuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIC8vIEluIGxlZ2FjeSBzeW5jIG1vZGUsIGRvbid0IGRlZmVyIHRoZSBzdWJ0cmVlLiBSZW5kZXIgaXQgbm93LlxuICAgICAgLy8gVE9ETzogQ29uc2lkZXIgaG93IE9mZnNjcmVlbiBzaG91bGQgd29yayB3aXRoIHRyYW5zaXRpb25zIGluIHRoZSBmdXR1cmVcbiAgICAgIHZhciBuZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogTm9MYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBudWxsLFxuICAgICAgICB0cmFuc2l0aW9uczogbnVsbFxuICAgICAgfTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXh0U3RhdGU7XG5cbiAgICAgIHB1c2hSZW5kZXJMYW5lcyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgIH0gZWxzZSBpZiAoIWluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIE9mZnNjcmVlbkxhbmUpKSB7XG4gICAgICB2YXIgc3Bhd25lZENhY2hlUG9vbCA9IG51bGw7IC8vIFdlJ3JlIGhpZGRlbiwgYW5kIHdlJ3JlIG5vdCByZW5kZXJpbmcgYXQgT2Zmc2NyZWVuLiBXZSB3aWxsIGJhaWwgb3V0XG4gICAgICAvLyBhbmQgcmVzdW1lIHRoaXMgdHJlZSBsYXRlci5cblxuICAgICAgdmFyIG5leHRCYXNlTGFuZXM7XG5cbiAgICAgIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIHByZXZCYXNlTGFuZXMgPSBwcmV2U3RhdGUuYmFzZUxhbmVzO1xuICAgICAgICBuZXh0QmFzZUxhbmVzID0gbWVyZ2VMYW5lcyhwcmV2QmFzZUxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0QmFzZUxhbmVzID0gcmVuZGVyTGFuZXM7XG4gICAgICB9IC8vIFNjaGVkdWxlIHRoaXMgZmliZXIgdG8gcmUtcmVuZGVyIGF0IG9mZnNjcmVlbiBwcmlvcml0eS4gVGhlbiBiYWlsb3V0LlxuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IGxhbmVUb0xhbmVzKE9mZnNjcmVlbkxhbmUpO1xuICAgICAgdmFyIF9uZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogbmV4dEJhc2VMYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBzcGF3bmVkQ2FjaGVQb29sLFxuICAgICAgICB0cmFuc2l0aW9uczogbnVsbFxuICAgICAgfTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBfbmV4dFN0YXRlO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuICAgICAgLy8gdG8gYXZvaWQgYSBwdXNoL3BvcCBtaXNhbGlnbm1lbnQuXG5cblxuICAgICAgcHVzaFJlbmRlckxhbmVzKHdvcmtJblByb2dyZXNzLCBuZXh0QmFzZUxhbmVzKTtcblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCByZW5kZXIuIFRoZSBzdXJyb3VuZGluZyB2aXNpYmxlIGNvbnRlbnQgaGFzIGFscmVhZHlcbiAgICAgIC8vIGNvbW1pdHRlZC4gTm93IHdlIHJlc3VtZSByZW5kZXJpbmcgdGhlIGhpZGRlbiB0cmVlLlxuICAgICAgLy8gUmVuZGVyaW5nIGF0IG9mZnNjcmVlbiwgc28gd2UgY2FuIGNsZWFyIHRoZSBiYXNlIGxhbmVzLlxuICAgICAgdmFyIF9uZXh0U3RhdGUyID0ge1xuICAgICAgICBiYXNlTGFuZXM6IE5vTGFuZXMsXG4gICAgICAgIGNhY2hlUG9vbDogbnVsbCxcbiAgICAgICAgdHJhbnNpdGlvbnM6IG51bGxcbiAgICAgIH07XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gX25leHRTdGF0ZTI7IC8vIFB1c2ggdGhlIGxhbmVzIHRoYXQgd2VyZSBza2lwcGVkIHdoZW4gd2UgYmFpbGVkIG91dC5cblxuICAgICAgdmFyIHN1YnRyZWVSZW5kZXJMYW5lcyA9IHByZXZTdGF0ZSAhPT0gbnVsbCA/IHByZXZTdGF0ZS5iYXNlTGFuZXMgOiByZW5kZXJMYW5lcztcblxuICAgICAgcHVzaFJlbmRlckxhbmVzKHdvcmtJblByb2dyZXNzLCBzdWJ0cmVlUmVuZGVyTGFuZXMpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBSZW5kZXJpbmcgYSB2aXNpYmxlIHRyZWUuXG4gICAgdmFyIF9zdWJ0cmVlUmVuZGVyTGFuZXM7XG5cbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBXZSdyZSBnb2luZyBmcm9tIGhpZGRlbiAtPiB2aXNpYmxlLlxuICAgICAgX3N1YnRyZWVSZW5kZXJMYW5lcyA9IG1lcmdlTGFuZXMocHJldlN0YXRlLmJhc2VMYW5lcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2Ugd2VyZW4ndCBwcmV2aW91c2x5IGhpZGRlbiwgYW5kIHdlIHN0aWxsIGFyZW4ndCwgc28gdGhlcmUncyBub3RoaW5nXG4gICAgICAvLyBzcGVjaWFsIHRvIGRvLiBOZWVkIHRvIHB1c2ggdG8gdGhlIHN0YWNrIHJlZ2FyZGxlc3MsIHRob3VnaCwgdG8gYXZvaWRcbiAgICAgIC8vIGEgcHVzaC9wb3AgbWlzYWxpZ25tZW50LlxuICAgICAgX3N1YnRyZWVSZW5kZXJMYW5lcyA9IHJlbmRlckxhbmVzO1xuICAgIH1cblxuICAgIHB1c2hSZW5kZXJMYW5lcyh3b3JrSW5Qcm9ncmVzcywgX3N1YnRyZWVSZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn0gLy8gTm90ZTogVGhlc2UgaGFwcGVuIHRvIGhhdmUgaWRlbnRpY2FsIGJlZ2luIHBoYXNlcywgZm9yIG5vdy4gV2Ugc2hvdWxkbid0IGhvbGRcblxuZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0Q2hpbGRyZW4gPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVNb2RlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG5cbiAgICB7XG4gICAgICAvLyBSZXNldCBlZmZlY3QgZHVyYXRpb25zIGZvciB0aGUgbmV4dCBldmVudHVhbCBlZmZlY3QgcGhhc2UuXG4gICAgICAvLyBUaGVzZSBhcmUgcmVzZXQgZHVyaW5nIHJlbmRlciB0byBhbGxvdyB0aGUgRGV2VG9vbHMgY29tbWl0IGhvb2sgYSBjaGFuY2UgdG8gcmVhZCB0aGVtLFxuICAgICAgdmFyIHN0YXRlTm9kZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgIHN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICBzdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gMDtcbiAgICB9XG4gIH1cblxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gbWFya1JlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsICYmIHJlZiAhPT0gbnVsbCB8fCBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQucmVmICE9PSByZWYpIHtcbiAgICAvLyBTY2hlZHVsZSBhIFJlZiBlZmZlY3RcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWY7XG5cbiAgICB7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWZTdGF0aWM7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAge1xuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgLy8gTGF6eSBjb21wb25lbnQgcHJvcHMgY2FuJ3QgYmUgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhleSdyZSBvbmx5IGd1YXJhbnRlZWQgdG8gYmUgcmVzb2x2ZWQgaGVyZS5cbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XG5cbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xuICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlKTtcbiAgICBjb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KTtcbiAgfVxuXG4gIHZhciBuZXh0Q2hpbGRyZW47XG4gIHZhciBoYXNJZDtcbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIGNvbnRleHQsIHJlbmRlckxhbmVzKTtcbiAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgY29udGV4dCwgcmVuZGVyTGFuZXMpO1xuICAgICAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xuICB9XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkKCk7XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiAhZGlkUmVjZWl2ZVVwZGF0ZSkge1xuICAgIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSAmJiBoYXNJZCkge1xuICAgIHB1c2hNYXRlcmlhbGl6ZWRUcmVlSWQod29ya0luUHJvZ3Jlc3MpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICAvLyBUaGlzIGlzIHVzZWQgYnkgRGV2VG9vbHMgdG8gZm9yY2UgYSBib3VuZGFyeSB0byBlcnJvci5cbiAgICBzd2l0Y2ggKHNob3VsZEVycm9yKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBfaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gICAgICAgICAgdmFyIGN0b3IgPSB3b3JrSW5Qcm9ncmVzcy50eXBlOyAvLyBUT0RPIFRoaXMgd2F5IG9mIHJlc2V0dGluZyB0aGUgZXJyb3IgYm91bmRhcnkgc3RhdGUgaXMgYSBoYWNrLlxuICAgICAgICAgIC8vIElzIHRoZXJlIGEgYmV0dGVyIHdheSB0byBkbyB0aGlzP1xuXG4gICAgICAgICAgdmFyIHRlbXBJbnN0YW5jZSA9IG5ldyBjdG9yKHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMsIF9pbnN0YW5jZS5jb250ZXh0KTtcbiAgICAgICAgICB2YXIgc3RhdGUgPSB0ZW1wSW5zdGFuY2Uuc3RhdGU7XG5cbiAgICAgICAgICBfaW5zdGFuY2UudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUoX2luc3RhbmNlLCBzdGF0ZSwgbnVsbCk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZENhcHR1cmU7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG5cbiAgICAgICAgICB2YXIgZXJyb3IkMSA9IG5ldyBFcnJvcignU2ltdWxhdGVkIGVycm9yIGNvbWluZyBmcm9tIERldlRvb2xzJyk7XG4gICAgICAgICAgdmFyIGxhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyZW5kZXJMYW5lcyk7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBsYW5lKTsgLy8gU2NoZWR1bGUgdGhlIGVycm9yIGJvdW5kYXJ5IHRvIHJlLXJlbmRlciB1c2luZyB1cGRhdGVkIHN0YXRlXG5cbiAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlQ2xhc3NFcnJvclVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIoZXJyb3IkMSwgd29ya0luUHJvZ3Jlc3MpLCBsYW5lKTtcbiAgICAgICAgICBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIHVwZGF0ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSBDb21wb25lbnQucHJvcFR5cGVzO1xuXG4gICAgICBpZiAoaW5uZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgY2hlY2tQcm9wVHlwZXMoaW5uZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgcHJvcHNcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSk7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFB1c2ggY29udGV4dCBwcm92aWRlcnMgZWFybHkgdG8gcHJldmVudCBjb250ZXh0IHN0YWNrIG1pc21hdGNoZXMuXG4gIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cbiAgLy8gV2Ugd2lsbCBpbnZhbGlkYXRlIHRoZSBjaGlsZCBjb250ZXh0IGluIGZpbmlzaENsYXNzQ29tcG9uZW50KCkgcmlnaHQgYWZ0ZXIgcmVuZGVyaW5nLlxuXG5cbiAgdmFyIGhhc0NvbnRleHQ7XG5cbiAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICBoYXNDb250ZXh0ID0gdHJ1ZTtcbiAgICBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcbiAgfSBlbHNlIHtcbiAgICBoYXNDb250ZXh0ID0gZmFsc2U7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIHZhciBzaG91bGRVcGRhdGU7XG5cbiAgaWYgKGluc3RhbmNlID09PSBudWxsKSB7XG4gICAgcmVzZXRTdXNwZW5kZWRDdXJyZW50T25Nb3VudEluTGVnYWN5TW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7IC8vIEluIHRoZSBpbml0aWFsIHBhc3Mgd2UgbWlnaHQgbmVlZCB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlLlxuXG4gICAgY29uc3RydWN0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMpO1xuICAgIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICBzaG91bGRVcGRhdGUgPSB0cnVlO1xuICB9IGVsc2UgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAvLyBJbiBhIHJlc3VtZSwgd2UnbGwgYWxyZWFkeSBoYXZlIGFuIGluc3RhbmNlIHdlIGNhbiByZXVzZS5cbiAgICBzaG91bGRVcGRhdGUgPSByZXN1bWVNb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgc2hvdWxkVXBkYXRlID0gdXBkYXRlQ2xhc3NJbnN0YW5jZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciBuZXh0VW5pdE9mV29yayA9IGZpbmlzaENsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHNob3VsZFVwZGF0ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xuXG4gIHtcbiAgICB2YXIgaW5zdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmIChzaG91bGRVcGRhdGUgJiYgaW5zdC5wcm9wcyAhPT0gbmV4dFByb3BzKSB7XG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcbiAgICAgICAgZXJyb3IoJ0l0IGxvb2tzIGxpa2UgJXMgaXMgcmVhc3NpZ25pbmcgaXRzIG93biBgdGhpcy5wcm9wc2Agd2hpbGUgcmVuZGVyaW5nLiAnICsgJ1RoaXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgY2FuIGxlYWQgdG8gY29uZnVzaW5nIGJ1Z3MuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcih3b3JrSW5Qcm9ncmVzcykgfHwgJ2EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXh0VW5pdE9mV29yaztcbn1cblxuZnVuY3Rpb24gZmluaXNoQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgc2hvdWxkVXBkYXRlLCBoYXNDb250ZXh0LCByZW5kZXJMYW5lcykge1xuICAvLyBSZWZzIHNob3VsZCB1cGRhdGUgZXZlbiBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZVxuICBtYXJrUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGRpZENhcHR1cmVFcnJvciA9ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzO1xuXG4gIGlmICghc2hvdWxkVXBkYXRlICYmICFkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBDb250ZXh0IHByb3ZpZGVycyBzaG91bGQgZGVmZXIgdG8gc0NVIGZvciByZW5kZXJpbmdcbiAgICBpZiAoaGFzQ29udGV4dCkge1xuICAgICAgaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTsgLy8gUmVyZW5kZXJcblxuICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdmFyIG5leHRDaGlsZHJlbjtcblxuICBpZiAoZGlkQ2FwdHVyZUVycm9yICYmIHR5cGVvZiBDb21wb25lbnQuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gSWYgd2UgY2FwdHVyZWQgYW4gZXJyb3IsIGJ1dCBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgaXMgbm90IGRlZmluZWQsXG4gICAgLy8gdW5tb3VudCBhbGwgdGhlIGNoaWxkcmVuLiBjb21wb25lbnREaWRDYXRjaCB3aWxsIHNjaGVkdWxlIGFuIHVwZGF0ZSB0b1xuICAgIC8vIHJlLXJlbmRlciBhIGZhbGxiYWNrLiBUaGlzIGlzIHRlbXBvcmFyeSB1bnRpbCB3ZSBtaWdyYXRlIGV2ZXJ5b25lIHRvXG4gICAgLy8gdGhlIG5ldyBBUEkuXG4gICAgLy8gVE9ETzogV2FybiBpbiBhIGZ1dHVyZSByZWxlYXNlLlxuICAgIG5leHRDaGlsZHJlbiA9IG51bGw7XG5cbiAgICB7XG4gICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZygpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfVxuXG4gICAge1xuICAgICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgICBuZXh0Q2hpbGRyZW4gPSBpbnN0YW5jZS5yZW5kZXIoKTtcblxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGluc3RhbmNlLnJlbmRlcigpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgICB9XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBJZiB3ZSdyZSByZWNvdmVyaW5nIGZyb20gYW4gZXJyb3IsIHJlY29uY2lsZSB3aXRob3V0IHJldXNpbmcgYW55IG9mXG4gICAgLy8gdGhlIGV4aXN0aW5nIGNoaWxkcmVuLiBDb25jZXB0dWFsbHksIHRoZSBub3JtYWwgY2hpbGRyZW4gYW5kIHRoZSBjaGlsZHJlblxuICAgIC8vIHRoYXQgYXJlIHNob3duIG9uIGVycm9yIGFyZSB0d28gZGlmZmVyZW50IHNldHMsIHNvIHdlIHNob3VsZG4ndCByZXVzZVxuICAgIC8vIG5vcm1hbCBjaGlsZHJlbiBldmVuIGlmIHRoZWlyIGlkZW50aXRpZXMgbWF0Y2guXG4gICAgZm9yY2VVbm1vdW50Q3VycmVudEFuZFJlY29uY2lsZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9IC8vIE1lbW9pemUgc3RhdGUgdXNpbmcgdGhlIHZhbHVlcyB3ZSBqdXN0IHVzZWQgdG8gcmVuZGVyLlxuICAvLyBUT0RPOiBSZXN0cnVjdHVyZSBzbyB3ZSBuZXZlciByZWFkIHZhbHVlcyBmcm9tIHRoZSBpbnN0YW5jZS5cblxuXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTsgLy8gVGhlIGNvbnRleHQgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNvIHdlIG5lZWQgdG8gcmVjYWxjdWxhdGUgaXQuXG5cbiAgaWYgKGhhc0NvbnRleHQpIHtcbiAgICBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKSB7XG4gIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIGlmIChyb290LnBlbmRpbmdDb250ZXh0KSB7XG4gICAgcHVzaFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcywgcm9vdC5wZW5kaW5nQ29udGV4dCwgcm9vdC5wZW5kaW5nQ29udGV4dCAhPT0gcm9vdC5jb250ZXh0KTtcbiAgfSBlbHNlIGlmIChyb290LmNvbnRleHQpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGJlIHNldFxuICAgIHB1c2hUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGV4dCwgZmFsc2UpO1xuICB9XG5cbiAgcHVzaEhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGFpbmVySW5mbyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIGhhdmUgYSBjdXJyZW50IGZpYmVyLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LicpO1xuICB9XG5cbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByZXZTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBwcmV2Q2hpbGRyZW4gPSBwcmV2U3RhdGUuZWxlbWVudDtcbiAgY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV4dFByb3BzLCBudWxsLCByZW5kZXJMYW5lcyk7XG4gIHZhciBuZXh0U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgcm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG5cbiAgdmFyIG5leHRDaGlsZHJlbiA9IG5leHRTdGF0ZS5lbGVtZW50O1xuXG4gIGlmICggcHJldlN0YXRlLmlzRGVoeWRyYXRlZCkge1xuICAgIC8vIFRoaXMgaXMgYSBoeWRyYXRpb24gcm9vdCB3aG9zZSBzaGVsbCBoYXMgbm90IHlldCBoeWRyYXRlZC4gV2Ugc2hvdWxkXG4gICAgLy8gYXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIC8vIEZsaXAgaXNEZWh5ZHJhdGVkIHRvIGZhbHNlIHRvIGluZGljYXRlIHRoYXQgd2hlbiB0aGlzIHJlbmRlclxuICAgIC8vIGZpbmlzaGVzLCB0aGUgcm9vdCB3aWxsIG5vIGxvbmdlciBiZSBkZWh5ZHJhdGVkLlxuICAgIHZhciBvdmVycmlkZVN0YXRlID0ge1xuICAgICAgZWxlbWVudDogbmV4dENoaWxkcmVuLFxuICAgICAgaXNEZWh5ZHJhdGVkOiBmYWxzZSxcbiAgICAgIGNhY2hlOiBuZXh0U3RhdGUuY2FjaGUsXG4gICAgICBwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOiBuZXh0U3RhdGUucGVuZGluZ1N1c3BlbnNlQm91bmRhcmllcyxcbiAgICAgIHRyYW5zaXRpb25zOiBuZXh0U3RhdGUudHJhbnNpdGlvbnNcbiAgICB9O1xuICAgIHZhciB1cGRhdGVRdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlOyAvLyBgYmFzZVN0YXRlYCBjYW4gYWx3YXlzIGJlIHRoZSBsYXN0IHN0YXRlIGJlY2F1c2UgdGhlIHJvb3QgZG9lc24ndFxuICAgIC8vIGhhdmUgcmVkdWNlciBmdW5jdGlvbnMgc28gaXQgZG9lc24ndCBuZWVkIHJlYmFzaW5nLlxuXG4gICAgdXBkYXRlUXVldWUuYmFzZVN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSB7XG4gICAgICAvLyBTb21ldGhpbmcgZXJyb3JlZCBkdXJpbmcgYSBwcmV2aW91cyBhdHRlbXB0IHRvIGh5ZHJhdGUgdGhlIHNoZWxsLCBzbyB3ZVxuICAgICAgLy8gZm9yY2VkIGEgY2xpZW50IHJlbmRlci5cbiAgICAgIHZhciByZWNvdmVyYWJsZUVycm9yID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIobmV3IEVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgaHlkcmF0aW5nLiBCZWNhdXNlIHRoZSBlcnJvciBoYXBwZW5lZCBvdXRzaWRlICcgKyAnb2YgYSBTdXNwZW5zZSBib3VuZGFyeSwgdGhlIGVudGlyZSByb290IHdpbGwgc3dpdGNoIHRvICcgKyAnY2xpZW50IHJlbmRlcmluZy4nKSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG1vdW50SG9zdFJvb3RXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzLCByZWNvdmVyYWJsZUVycm9yKTtcbiAgICB9IGVsc2UgaWYgKG5leHRDaGlsZHJlbiAhPT0gcHJldkNoaWxkcmVuKSB7XG4gICAgICB2YXIgX3JlY292ZXJhYmxlRXJyb3IgPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihuZXcgRXJyb3IoJ1RoaXMgcm9vdCByZWNlaXZlZCBhbiBlYXJseSB1cGRhdGUsIGJlZm9yZSBhbnl0aGluZyB3YXMgYWJsZSAnICsgJ2h5ZHJhdGUuIFN3aXRjaGVkIHRoZSBlbnRpcmUgcm9vdCB0byBjbGllbnQgcmVuZGVyaW5nLicpLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHJldHVybiBtb3VudEhvc3RSb290V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcywgX3JlY292ZXJhYmxlRXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgb3V0ZXJtb3N0IHNoZWxsIGhhcyBub3QgaHlkcmF0ZWQgeWV0LiBTdGFydCBoeWRyYXRpbmcuXG4gICAgICBlbnRlckh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgdmFyIGNoaWxkID0gbW91bnRDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgbnVsbCwgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IGNoaWxkO1xuICAgICAgdmFyIG5vZGUgPSBjaGlsZDtcblxuICAgICAgd2hpbGUgKG5vZGUpIHtcbiAgICAgICAgLy8gTWFyayBlYWNoIGNoaWxkIGFzIGh5ZHJhdGluZy4gVGhpcyBpcyBhIGZhc3QgcGF0aCB0byBrbm93IHdoZXRoZXIgdGhpc1xuICAgICAgICAvLyB0cmVlIGlzIHBhcnQgb2YgYSBoeWRyYXRpbmcgdHJlZS4gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIGNoaWxkXG4gICAgICAgIC8vIG5vZGUgaGFzIGZ1bGx5IG1vdW50ZWQgeWV0LCBhbmQgZm9yIHNjaGVkdWxpbmcgZXZlbnQgcmVwbGF5aW5nLlxuICAgICAgICAvLyBDb25jZXB0dWFsbHkgdGhpcyBpcyBzaW1pbGFyIHRvIFBsYWNlbWVudCBpbiB0aGF0IGEgbmV3IHN1YnRyZWUgaXNcbiAgICAgICAgLy8gaW5zZXJ0ZWQgaW50byB0aGUgUmVhY3QgdHJlZSBoZXJlLiBJdCBqdXN0IGhhcHBlbnMgdG8gbm90IG5lZWQgRE9NXG4gICAgICAgIC8vIG11dGF0aW9ucyBiZWNhdXNlIGl0IGFscmVhZHkgZXhpc3RzLlxuICAgICAgICBub2RlLmZsYWdzID0gbm9kZS5mbGFncyAmIH5QbGFjZW1lbnQgfCBIeWRyYXRpbmc7XG4gICAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFJvb3QgaXMgbm90IGRlaHlkcmF0ZWQuIEVpdGhlciB0aGlzIGlzIGEgY2xpZW50LW9ubHkgcm9vdCwgb3IgaXRcbiAgICAvLyBhbHJlYWR5IGh5ZHJhdGVkLlxuICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcblxuICAgIGlmIChuZXh0Q2hpbGRyZW4gPT09IHByZXZDaGlsZHJlbikge1xuICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50SG9zdFJvb3RXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzLCByZWNvdmVyYWJsZUVycm9yKSB7XG4gIC8vIFJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLlxuICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gIHF1ZXVlSHlkcmF0aW9uRXJyb3IocmVjb3ZlcmFibGVFcnJvcik7XG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IEZvcmNlQ2xpZW50UmVuZGVyO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgcHVzaEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHRyeVRvQ2xhaW1OZXh0SHlkcmF0YWJsZUluc3RhbmNlKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBudWxsO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YXIgaXNEaXJlY3RUZXh0Q2hpbGQgPSBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBuZXh0UHJvcHMpO1xuXG4gIGlmIChpc0RpcmVjdFRleHRDaGlsZCkge1xuICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBhIGRpcmVjdCB0ZXh0IGNoaWxkIG9mIGEgaG9zdCBub2RlLiBUaGlzIGlzIGEgY29tbW9uXG4gICAgLy8gY2FzZS4gV2Ugd29uJ3QgaGFuZGxlIGl0IGFzIGEgcmVpZmllZCBjaGlsZC4gV2Ugd2lsbCBpbnN0ZWFkIGhhbmRsZVxuICAgIC8vIHRoaXMgaW4gdGhlIGhvc3QgZW52aXJvbm1lbnQgdGhhdCBhbHNvIGhhcyBhY2Nlc3MgdG8gdGhpcyBwcm9wLiBUaGF0XG4gICAgLy8gYXZvaWRzIGFsbG9jYXRpbmcgYW5vdGhlciBIb3N0VGV4dCBmaWJlciBhbmQgdHJhdmVyc2luZyBpdC5cbiAgICBuZXh0Q2hpbGRyZW4gPSBudWxsO1xuICB9IGVsc2UgaWYgKHByZXZQcm9wcyAhPT0gbnVsbCAmJiBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBwcmV2UHJvcHMpKSB7XG4gICAgLy8gSWYgd2UncmUgc3dpdGNoaW5nIGZyb20gYSBkaXJlY3QgdGV4dCBjaGlsZCB0byBhIG5vcm1hbCBjaGlsZCwgb3IgdG9cbiAgICAvLyBlbXB0eSwgd2UgbmVlZCB0byBzY2hlZHVsZSB0aGUgdGV4dCBjb250ZW50IHRvIGJlIHJlc2V0LlxuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IENvbnRlbnRSZXNldDtcbiAgfVxuXG4gIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdFRleHQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gTm90aGluZyB0byBkbyBoZXJlLiBUaGlzIGlzIHRlcm1pbmFsLiBXZSdsbCBkbyB0aGUgY29tcGxldGlvbiBzdGVwXG4gIC8vIGltbWVkaWF0ZWx5IGFmdGVyLlxuXG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIG1vdW50TGF6eUNvbXBvbmVudChfY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGVsZW1lbnRUeXBlLCByZW5kZXJMYW5lcykge1xuICByZXNldFN1c3BlbmRlZEN1cnJlbnRPbk1vdW50SW5MZWdhY3lNb2RlKF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHZhciBwcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIGxhenlDb21wb25lbnQgPSBlbGVtZW50VHlwZTtcbiAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG4gIHZhciBDb21wb25lbnQgPSBpbml0KHBheWxvYWQpOyAvLyBTdG9yZSB0aGUgdW53cmFwcGVkIGNvbXBvbmVudCBpbiB0aGUgdHlwZS5cblxuICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50O1xuICB2YXIgcmVzb2x2ZWRUYWcgPSB3b3JrSW5Qcm9ncmVzcy50YWcgPSByZXNvbHZlTGF6eUNvbXBvbmVudFRhZyhDb21wb25lbnQpO1xuICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHJlc29sdmVEZWZhdWx0UHJvcHMoQ29tcG9uZW50LCBwcm9wcyk7XG4gIHZhciBjaGlsZDtcblxuICBzd2l0Y2ggKHJlc29sdmVkVGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKENvbXBvbmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgfVxuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBDb21wb25lbnQgPSByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlQ2xhc3NDb21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZWRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICB9XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlRm9yd2FyZFJlZihudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cblxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgICAgICAgdmFyIG91dGVyUHJvcFR5cGVzID0gQ29tcG9uZW50LnByb3BUeXBlcztcblxuICAgICAgICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XG4gICAgICAgICAgICAgIGNoZWNrUHJvcFR5cGVzKG91dGVyUHJvcFR5cGVzLCByZXNvbHZlZFByb3BzLCAvLyBSZXNvbHZlZCBmb3Igb3V0ZXIgb25seVxuICAgICAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZU1lbW9Db21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQudHlwZSwgcmVzb2x2ZWRQcm9wcyksIC8vIFRoZSBpbm5lciB0eXBlIGNhbiBoYXZlIGRlZmF1bHRzIHRvb1xuICAgICAgICByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgfVxuXG4gIHZhciBoaW50ID0gJyc7XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQgIT09IG51bGwgJiYgdHlwZW9mIENvbXBvbmVudCA9PT0gJ29iamVjdCcgJiYgQ29tcG9uZW50LiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgIGhpbnQgPSAnIERpZCB5b3Ugd3JhcCBhIGNvbXBvbmVudCBpbiBSZWFjdC5sYXp5KCkgbW9yZSB0aGFuIG9uY2U/JztcbiAgICB9XG4gIH0gLy8gVGhpcyBtZXNzYWdlIGludGVudGlvbmFsbHkgZG9lc24ndCBtZW50aW9uIEZvcndhcmRSZWYgb3IgTWVtb0NvbXBvbmVudFxuICAvLyBiZWNhdXNlIHRoZSBmYWN0IHRoYXQgaXQncyBhIHNlcGFyYXRlIHR5cGUgb2Ygd29yayBpcyBhblxuICAvLyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXG5cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IHR5cGUgaXMgaW52YWxpZC4gUmVjZWl2ZWQgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG86IFwiICsgQ29tcG9uZW50ICsgXCIuIFwiICsgKFwiTGF6eSBlbGVtZW50IHR5cGUgbXVzdCByZXNvbHZlIHRvIGEgY2xhc3Mgb3IgZnVuY3Rpb24uXCIgKyBoaW50KSk7XG59XG5cbmZ1bmN0aW9uIG1vdW50SW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTsgLy8gUHJvbW90ZSB0aGUgZmliZXIgdG8gYSBjbGFzcyBhbmQgdHJ5IHJlbmRlcmluZyBhZ2Fpbi5cblxuICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBDbGFzc0NvbXBvbmVudDsgLy8gVGhlIHJlc3Qgb2YgdGhpcyBmdW5jdGlvbiBpcyBhIGZvcmsgb2YgYHVwZGF0ZUNsYXNzQ29tcG9uZW50YFxuICAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAvLyBEdXJpbmcgbW91bnRpbmcgd2UgZG9uJ3Qga25vdyB0aGUgY2hpbGQgY29udGV4dCB5ZXQgYXMgdGhlIGluc3RhbmNlIGRvZXNuJ3QgZXhpc3QuXG4gIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cblxuICB2YXIgaGFzQ29udGV4dDtcblxuICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgIGhhc0NvbnRleHQgPSB0cnVlO1xuICAgIHB1c2hDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpO1xuICB9IGVsc2Uge1xuICAgIGhhc0NvbnRleHQgPSBmYWxzZTtcbiAgfVxuXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIGNvbnN0cnVjdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzKTtcbiAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gZmluaXNoQ2xhc3NDb21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgdHJ1ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiBtb3VudEluZGV0ZXJtaW5hdGVDb21wb25lbnQoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgdmFsdWU7XG4gIHZhciBoYXNJZDtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlICYmIHR5cGVvZiBDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgZXJyb3IoXCJUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGhhdmUgYSByZW5kZXIgbWV0aG9kLCBidXQgZG9lc24ndCBleHRlbmQgUmVhY3QuQ29tcG9uZW50LiBcIiArICdUaGlzIGlzIGxpa2VseSB0byBjYXVzZSBlcnJvcnMuIENoYW5nZSAlcyB0byBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuJywgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmcod29ya0luUHJvZ3Jlc3MsIG51bGwpO1xuICAgIH1cblxuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgaGFzSWQgPSBjaGVja0RpZFJlbmRlcklkSG9vaygpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG5cbiAge1xuICAgIC8vIFN1cHBvcnQgZm9yIG1vZHVsZSBjb21wb25lbnRzIGlzIGRlcHJlY2F0ZWQgYW5kIGlzIHJlbW92ZWQgYmVoaW5kIGEgZmxhZy5cbiAgICAvLyBXaGV0aGVyIG9yIG5vdCBpdCB3b3VsZCBjcmFzaCBsYXRlciwgd2Ugd2FudCB0byBzaG93IGEgZ29vZCBtZXNzYWdlIGluIERFViBmaXJzdC5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUucmVuZGVyID09PSAnZnVuY3Rpb24nICYmIHZhbHVlLiQkdHlwZW9mID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignVGhlIDwlcyAvPiBjb21wb25lbnQgYXBwZWFycyB0byBiZSBhIGZ1bmN0aW9uIGNvbXBvbmVudCB0aGF0IHJldHVybnMgYSBjbGFzcyBpbnN0YW5jZS4gJyArICdDaGFuZ2UgJXMgdG8gYSBjbGFzcyB0aGF0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuICcgKyBcIklmIHlvdSBjYW4ndCB1c2UgYSBjbGFzcyB0cnkgYXNzaWduaW5nIHRoZSBwcm90b3R5cGUgb24gdGhlIGZ1bmN0aW9uIGFzIGEgd29ya2Fyb3VuZC4gXCIgKyBcImAlcy5wcm90b3R5cGUgPSBSZWFjdC5Db21wb25lbnQucHJvdG90eXBlYC4gRG9uJ3QgdXNlIGFuIGFycm93IGZ1bmN0aW9uIHNpbmNlIGl0IFwiICsgJ2Nhbm5vdCBiZSBjYWxsZWQgd2l0aCBgbmV3YCBieSBSZWFjdC4nLCBfY29tcG9uZW50TmFtZSwgX2NvbXBvbmVudE5hbWUsIF9jb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCAvLyBSdW4gdGhlc2UgY2hlY2tzIGluIHByb2R1Y3Rpb24gb25seSBpZiB0aGUgZmxhZyBpcyBvZmYuXG4gIC8vIEV2ZW50dWFsbHkgd2UnbGwgZGVsZXRlIHRoaXMgYnJhbmNoIGFsdG9nZXRoZXIuXG4gICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZS5yZW5kZXIgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUuJCR0eXBlb2YgPT09IHVuZGVmaW5lZCkge1xuICAgIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTIgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0TW9kdWxlUGF0dGVybkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTJdKSB7XG4gICAgICAgIGVycm9yKCdUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGJlIGEgZnVuY3Rpb24gY29tcG9uZW50IHRoYXQgcmV0dXJucyBhIGNsYXNzIGluc3RhbmNlLiAnICsgJ0NoYW5nZSAlcyB0byBhIGNsYXNzIHRoYXQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQgaW5zdGVhZC4gJyArIFwiSWYgeW91IGNhbid0IHVzZSBhIGNsYXNzIHRyeSBhc3NpZ25pbmcgdGhlIHByb3RvdHlwZSBvbiB0aGUgZnVuY3Rpb24gYXMgYSB3b3JrYXJvdW5kLiBcIiArIFwiYCVzLnByb3RvdHlwZSA9IFJlYWN0LkNvbXBvbmVudC5wcm90b3R5cGVgLiBEb24ndCB1c2UgYW4gYXJyb3cgZnVuY3Rpb24gc2luY2UgaXQgXCIgKyAnY2Fubm90IGJlIGNhbGxlZCB3aXRoIGBuZXdgIGJ5IFJlYWN0LicsIF9jb21wb25lbnROYW1lMiwgX2NvbXBvbmVudE5hbWUyLCBfY29tcG9uZW50TmFtZTIpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnRbX2NvbXBvbmVudE5hbWUyXSA9IHRydWU7XG4gICAgICB9XG4gICAgfSAvLyBQcm9jZWVkIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBpcyBhIGNsYXNzIGluc3RhbmNlXG5cblxuICAgIHdvcmtJblByb2dyZXNzLnRhZyA9IENsYXNzQ29tcG9uZW50OyAvLyBUaHJvdyBvdXQgYW55IGhvb2tzIHRoYXQgd2VyZSB1c2VkLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsOyAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAgIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cbiAgICAvLyBXZSB3aWxsIGludmFsaWRhdGUgdGhlIGNoaWxkIGNvbnRleHQgaW4gZmluaXNoQ2xhc3NDb21wb25lbnQoKSByaWdodCBhZnRlciByZW5kZXJpbmcuXG5cbiAgICB2YXIgaGFzQ29udGV4dCA9IGZhbHNlO1xuXG4gICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgIGhhc0NvbnRleHQgPSB0cnVlO1xuICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhhc0NvbnRleHQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gdmFsdWUuc3RhdGUgIT09IG51bGwgJiYgdmFsdWUuc3RhdGUgIT09IHVuZGVmaW5lZCA/IHZhbHVlLnN0YXRlIDogbnVsbDtcbiAgICBpbml0aWFsaXplVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MpO1xuICAgIGFkb3B0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgdmFsdWUpO1xuICAgIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBwcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgIHJldHVybiBmaW5pc2hDbGFzc0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlLCBoYXNDb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgLy8gUHJvY2VlZCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgaXMgYSBmdW5jdGlvbiBjb21wb25lbnRcbiAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBGdW5jdGlvbkNvbXBvbmVudDtcblxuICAgIHtcblxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICAgICAgaGFzSWQgPSBjaGVja0RpZFJlbmRlcklkSG9vaygpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgICBwdXNoTWF0ZXJpYWxpemVkVHJlZUlkKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG5cbiAgICByZWNvbmNpbGVDaGlsZHJlbihudWxsLCB3b3JrSW5Qcm9ncmVzcywgdmFsdWUsIHJlbmRlckxhbmVzKTtcblxuICAgIHtcbiAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpIHtcbiAge1xuICAgIGlmIChDb21wb25lbnQpIHtcbiAgICAgIGlmIChDb21wb25lbnQuY2hpbGRDb250ZXh0VHlwZXMpIHtcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IGNoaWxkQ29udGV4dFR5cGVzIGNhbm5vdCBiZSBkZWZpbmVkIG9uIGEgZnVuY3Rpb24gY29tcG9uZW50LicsIENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnJlZiAhPT0gbnVsbCkge1xuICAgICAgdmFyIGluZm8gPSAnJztcbiAgICAgIHZhciBvd25lck5hbWUgPSBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpO1xuXG4gICAgICBpZiAob3duZXJOYW1lKSB7XG4gICAgICAgIGluZm8gKz0gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgICAgIH1cblxuICAgICAgdmFyIHdhcm5pbmdLZXkgPSBvd25lck5hbWUgfHwgJyc7XG4gICAgICB2YXIgZGVidWdTb3VyY2UgPSB3b3JrSW5Qcm9ncmVzcy5fZGVidWdTb3VyY2U7XG5cbiAgICAgIGlmIChkZWJ1Z1NvdXJjZSkge1xuICAgICAgICB3YXJuaW5nS2V5ID0gZGVidWdTb3VyY2UuZmlsZU5hbWUgKyAnOicgKyBkZWJ1Z1NvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZ1bmN0aW9uUmVmc1t3YXJuaW5nS2V5XSkge1xuICAgICAgICBkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnNbd2FybmluZ0tleV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdGdW5jdGlvbiBjb21wb25lbnRzIGNhbm5vdCBiZSBnaXZlbiByZWZzLiAnICsgJ0F0dGVtcHRzIHRvIGFjY2VzcyB0aGlzIHJlZiB3aWxsIGZhaWwuICcgKyAnRGlkIHlvdSBtZWFuIHRvIHVzZSBSZWFjdC5mb3J3YXJkUmVmKCk/JXMnLCBpbmZvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIENvbXBvbmVudC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTMgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTNdKSB7XG4gICAgICAgIGVycm9yKCclczogRnVuY3Rpb24gY29tcG9uZW50cyBkbyBub3Qgc3VwcG9ydCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuJywgX2NvbXBvbmVudE5hbWUzKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lM10gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgQ29tcG9uZW50LmNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBDb21wb25lbnQuY29udGV4dFR5cGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTQgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lNF0pIHtcbiAgICAgICAgZXJyb3IoJyVzOiBGdW5jdGlvbiBjb21wb25lbnRzIGRvIG5vdCBzdXBwb3J0IGNvbnRleHRUeXBlLicsIF9jb21wb25lbnROYW1lNCk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lNF0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgU1VTUEVOREVEX01BUktFUiA9IHtcbiAgZGVoeWRyYXRlZDogbnVsbCxcbiAgdHJlZUNvbnRleHQ6IG51bGwsXG4gIHJldHJ5TGFuZTogTm9MYW5lXG59O1xuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpIHtcbiAgcmV0dXJuIHtcbiAgICBiYXNlTGFuZXM6IHJlbmRlckxhbmVzLFxuICAgIGNhY2hlUG9vbDogZ2V0U3VzcGVuZGVkQ2FjaGUoKSxcbiAgICB0cmFuc2l0aW9uczogbnVsbFxuICB9O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHByZXZPZmZzY3JlZW5TdGF0ZSwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGNhY2hlUG9vbCA9IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBiYXNlTGFuZXM6IG1lcmdlTGFuZXMocHJldk9mZnNjcmVlblN0YXRlLmJhc2VMYW5lcywgcmVuZGVyTGFuZXMpLFxuICAgIGNhY2hlUG9vbDogY2FjaGVQb29sLFxuICAgIHRyYW5zaXRpb25zOiBwcmV2T2Zmc2NyZWVuU3RhdGUudHJhbnNpdGlvbnNcbiAgfTtcbn0gLy8gVE9ETzogUHJvYmFibHkgc2hvdWxkIGlubGluZSB0aGlzIGJhY2tcblxuXG5mdW5jdGlvbiBzaG91bGRSZW1haW5PbkZhbGxiYWNrKHN1c3BlbnNlQ29udGV4dCwgY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIElmIHdlJ3JlIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrLCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgd2UgbmVlZCB0b1xuICAvLyByZW1haW4gb24gdGhhdCBmYWxsYmFjayByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGNvbnRlbnQgaGFzIHJlc29sdmVkLlxuICAvLyBGb3IgZXhhbXBsZSwgU3VzcGVuc2VMaXN0IGNvb3JkaW5hdGVzIHdoZW4gbmVzdGVkIGNvbnRlbnQgYXBwZWFycy5cbiAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlID09PSBudWxsKSB7XG4gICAgICAvLyBDdXJyZW50bHkgc2hvd2luZyBjb250ZW50LiBEb24ndCBoaWRlIGl0LCBldmVuIGlmIEZvcmNlU3VzcGVuc2VGYWxsYmFja1xuICAgICAgLy8gaXMgdHJ1ZS4gTW9yZSBwcmVjaXNlIG5hbWUgbWlnaHQgYmUgXCJGb3JjZVJlbWFpblN1c3BlbnNlRmFsbGJhY2tcIi5cbiAgICAgIC8vIE5vdGU6IFRoaXMgaXMgYSBmYWN0b3Jpbmcgc21lbGwuIENhbid0IHJlbWFpbiBvbiBhIGZhbGxiYWNrIGlmIHRoZXJlJ3NcbiAgICAgIC8vIG5vIGZhbGxiYWNrIHRvIHJlbWFpbiBvbi5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0gLy8gTm90IGN1cnJlbnRseSBzaG93aW5nIGNvbnRlbnQuIENvbnN1bHQgdGhlIFN1c3BlbnNlIGNvbnRleHQuXG5cblxuICByZXR1cm4gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVtYWluaW5nV29ya0luUHJpbWFyeVRyZWUoY3VycmVudCwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogU2hvdWxkIG5vdCByZW1vdmUgcmVuZGVyIGxhbmVzIHRoYXQgd2VyZSBwaW5nZWQgZHVyaW5nIHRoaXMgcmVuZGVyXG4gIHJldHVybiByZW1vdmVMYW5lcyhjdXJyZW50LmNoaWxkTGFuZXMsIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFRoaXMgaXMgdXNlZCBieSBEZXZUb29scyB0byBmb3JjZSBhIGJvdW5kYXJ5IHRvIHN1c3BlbmQuXG5cbiAge1xuICAgIGlmIChzaG91bGRTdXNwZW5kKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICB9XG4gIH1cblxuICB2YXIgc3VzcGVuc2VDb250ZXh0ID0gc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50O1xuICB2YXIgc2hvd0ZhbGxiYWNrID0gZmFsc2U7XG4gIHZhciBkaWRTdXNwZW5kID0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgIT09IE5vRmxhZ3M7XG5cbiAgaWYgKGRpZFN1c3BlbmQgfHwgc2hvdWxkUmVtYWluT25GYWxsYmFjayhzdXNwZW5zZUNvbnRleHQsIGN1cnJlbnQpKSB7XG4gICAgLy8gU29tZXRoaW5nIGluIHRoaXMgYm91bmRhcnkncyBzdWJ0cmVlIGFscmVhZHkgc3VzcGVuZGVkLiBTd2l0Y2ggdG9cbiAgICAvLyByZW5kZXJpbmcgdGhlIGZhbGxiYWNrIGNoaWxkcmVuLlxuICAgIHNob3dGYWxsYmFjayA9IHRydWU7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gfkRpZENhcHR1cmU7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXR0ZW1wdGluZyB0aGUgbWFpbiBjb250ZW50XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgbmV3IG1vdW50IG9yIHRoaXMgYm91bmRhcnkgaXMgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgc3RhdGUuXG4gICAgICAvLyBNYXJrIHRoaXMgc3VidHJlZSBjb250ZXh0IGFzIGhhdmluZyBhdCBsZWFzdCBvbmUgaW52aXNpYmxlIHBhcmVudCB0aGF0IGNvdWxkXG4gICAgICAvLyBoYW5kbGUgdGhlIGZhbGxiYWNrIHN0YXRlLlxuICAgICAgLy8gQXZvaWRlZCBib3VuZGFyaWVzIGFyZSBub3QgY29uc2lkZXJlZCBzaW5jZSB0aGV5IGNhbm5vdCBoYW5kbGUgcHJlZmVycmVkIGZhbGxiYWNrIHN0YXRlcy5cbiAgICAgIHtcbiAgICAgICAgc3VzcGVuc2VDb250ZXh0ID0gYWRkU3VidHJlZVN1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQsIEludmlzaWJsZVBhcmVudFN1c3BlbnNlQ29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3VzcGVuc2VDb250ZXh0ID0gc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0KTtcbiAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VDb250ZXh0KTsgLy8gT0ssIHRoZSBuZXh0IHBhcnQgaXMgY29uZnVzaW5nLiBXZSdyZSBhYm91dCB0byByZWNvbmNpbGUgdGhlIFN1c3BlbnNlXG4gIC8vIGJvdW5kYXJ5J3MgY2hpbGRyZW4uIFRoaXMgaW52b2x2ZXMgc29tZSBjdXN0b20gcmVjb25jaWxpYXRpb24gbG9naWMuIFR3b1xuICAvLyBtYWluIHJlYXNvbnMgdGhpcyBpcyBzbyBjb21wbGljYXRlZC5cbiAgLy9cbiAgLy8gRmlyc3QsIExlZ2FjeSBNb2RlIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gVGhlXG4gIC8vIHByaW1hcnkgdHJlZSB3aWxsIGNvbW1pdCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUsIHNvIHdoZW4gd2UgZG8gdGhlXG4gIC8vIHNlY29uZCBwYXNzIHRvIHJlbmRlciB0aGUgZmFsbGJhY2ssIHdlIGRvIHNvbWUgZXhjZWVkaW5nbHksIHVoLCBjbGV2ZXJcbiAgLy8gaGFja3MgdG8gbWFrZSB0aGF0IG5vdCB0b3RhbGx5IGJyZWFrLiBMaWtlIHRyYW5zZmVycmluZyBlZmZlY3RzIGFuZFxuICAvLyBkZWxldGlvbnMgZnJvbSBoaWRkZW4gdHJlZS4gSW4gQ29uY3VycmVudCBNb2RlLCBpdCdzIG11Y2ggc2ltcGxlcixcbiAgLy8gYmVjYXVzZSB3ZSBiYWlsb3V0IG9uIHRoZSBwcmltYXJ5IHRyZWUgY29tcGxldGVseSBhbmQgbGVhdmUgaXQgaW4gaXRzIG9sZFxuICAvLyBzdGF0ZSwgbm8gZWZmZWN0cy4gU2FtZSBhcyB3aGF0IHdlIGRvIGZvciBPZmZzY3JlZW4gKGV4Y2VwdCB0aGF0XG4gIC8vIE9mZnNjcmVlbiBkb2Vzbid0IGhhdmUgdGhlIGZpcnN0IHJlbmRlciBwYXNzKS5cbiAgLy9cbiAgLy8gU2Vjb25kIGlzIGh5ZHJhdGlvbi4gRHVyaW5nIGh5ZHJhdGlvbiwgdGhlIFN1c3BlbnNlIGZpYmVyIGhhcyBhIHNsaWdodGx5XG4gIC8vIGRpZmZlcmVudCBsYXlvdXQsIHdoZXJlIHRoZSBjaGlsZCBwb2ludHMgdG8gYSBkZWh5ZHJhdGVkIGZyYWdtZW50LCB3aGljaFxuICAvLyBjb250YWlucyB0aGUgRE9NIHJlbmRlcmVkIGJ5IHRoZSBzZXJ2ZXIuXG4gIC8vXG4gIC8vIFRoaXJkLCBldmVuIGlmIHlvdSBzZXQgYWxsIHRoYXQgYXNpZGUsIFN1c3BlbnNlIGlzIGxpa2UgZXJyb3IgYm91bmRhcmllcyBpblxuICAvLyB0aGF0IHdlIGZpcnN0IHdlIHRyeSB0byByZW5kZXIgb25lIHRyZWUsIGFuZCBpZiB0aGF0IGZhaWxzLCB3ZSByZW5kZXIgYWdhaW5cbiAgLy8gYW5kIHN3aXRjaCB0byBhIGRpZmZlcmVudCB0cmVlLiBMaWtlIGEgdHJ5L2NhdGNoIGJsb2NrLiBTbyB3ZSBoYXZlIHRvIHRyYWNrXG4gIC8vIHdoaWNoIGJyYW5jaCB3ZSdyZSBjdXJyZW50bHkgcmVuZGVyaW5nLiBJZGVhbGx5IHdlIHdvdWxkIG1vZGVsIHRoaXMgdXNpbmdcbiAgLy8gYSBzdGFjay5cblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICAvLyBTcGVjaWFsIHBhdGggZm9yIGh5ZHJhdGlvblxuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBoeWRyYXRpbmcsIHRyeSB0byBoeWRyYXRlIHRoaXMgYm91bmRhcnkuXG4gICAgdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpOyAvLyBUaGlzIGNvdWxkJ3ZlIGJlZW4gYSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGNvbXBvbmVudC5cblxuICAgIHZhciBzdXNwZW5zZVN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZGVoeWRyYXRlZCA9IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcblxuICAgICAgaWYgKGRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG1vdW50RGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KHdvcmtJblByb2dyZXNzLCBkZWh5ZHJhdGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICB2YXIgbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG5cbiAgICBpZiAoc2hvd0ZhbGxiYWNrKSB7XG4gICAgICB2YXIgZmFsbGJhY2tGcmFnbWVudCA9IG1vdW50U3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBuZXh0UHJpbWFyeUNoaWxkcmVuLCBuZXh0RmFsbGJhY2tDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICAgICAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5tZW1vaXplZFN0YXRlID0gbW91bnRTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHJlbmRlckxhbmVzKTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBTVVNQRU5ERURfTUFSS0VSO1xuXG4gICAgICByZXR1cm4gZmFsbGJhY2tGcmFnbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1vdW50U3VzcGVuc2VQcmltYXJ5Q2hpbGRyZW4od29ya0luUHJvZ3Jlc3MsIG5leHRQcmltYXJ5Q2hpbGRyZW4pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGFuIHVwZGF0ZS5cbiAgICAvLyBTcGVjaWFsIHBhdGggZm9yIGh5ZHJhdGlvblxuICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICB2YXIgX2RlaHlkcmF0ZWQgPSBwcmV2U3RhdGUuZGVoeWRyYXRlZDtcblxuICAgICAgaWYgKF9kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVEZWh5ZHJhdGVkU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGRpZFN1c3BlbmQsIG5leHRQcm9wcywgX2RlaHlkcmF0ZWQsIHByZXZTdGF0ZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG93RmFsbGJhY2spIHtcbiAgICAgIHZhciBfbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG4gICAgICB2YXIgX25leHRQcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gICAgICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gdXBkYXRlU3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfbmV4dFByaW1hcnlDaGlsZHJlbiwgX25leHRGYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gICAgICB2YXIgX3ByaW1hcnlDaGlsZEZyYWdtZW50MiA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdGF0ZSA9IGN1cnJlbnQuY2hpbGQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIubWVtb2l6ZWRTdGF0ZSA9IHByZXZPZmZzY3JlZW5TdGF0ZSA9PT0gbnVsbCA/IG1vdW50U3VzcGVuc2VPZmZzY3JlZW5TdGF0ZShyZW5kZXJMYW5lcykgOiB1cGRhdGVTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHByZXZPZmZzY3JlZW5TdGF0ZSwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLmNoaWxkTGFuZXMgPSBnZXRSZW1haW5pbmdXb3JrSW5QcmltYXJ5VHJlZShjdXJyZW50LCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gU1VTUEVOREVEX01BUktFUjtcbiAgICAgIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfbmV4dFByaW1hcnlDaGlsZHJlbjIgPSBuZXh0UHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzID0gdXBkYXRlU3VzcGVuc2VQcmltYXJ5Q2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9uZXh0UHJpbWFyeUNoaWxkcmVuMiwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgIHJldHVybiBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBtb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH07XG4gIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgbW9kZSk7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICByZXR1cm4gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50U3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIGZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBtb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICdoaWRkZW4nLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuXG4gIGlmICgobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlICYmIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAvLyBJbiBsZWdhY3kgbW9kZSwgd2UgY29tbWl0IHRoZSBwcmltYXJ5IHRyZWUgYXMgaWYgaXQgc3VjY2Vzc2Z1bGx5XG4gICAgLy8gY29tcGxldGVkLCBldmVuIHRob3VnaCBpdCdzIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS5cbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQ7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzID0gcHJpbWFyeUNoaWxkUHJvcHM7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgLy8gUmVzZXQgdGhlIGR1cmF0aW9ucyBmcm9tIHRoZSBmaXJzdCBwYXNzIHNvIHRoZXkgYXJlbid0IGluY2x1ZGVkIGluIHRoZVxuICAgICAgLy8gZmluYWwgYW1vdW50cy4gVGhpcyBzZWVtcyBjb3VudGVyaW50dWl0aXZlLCBzaW5jZSB3ZSdyZSBpbnRlbnRpb25hbGx5XG4gICAgICAvLyBub3QgbWVhc3VyaW5nIHBhcnQgb2YgdGhlIHJlbmRlciBwaGFzZSwgYnV0IHRoaXMgbWFrZXMgaXQgbWF0Y2ggd2hhdCB3ZVxuICAgICAgLy8gZG8gaW4gQ29uY3VycmVudCBNb2RlLlxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zZWxmQmFzZUR1cmF0aW9uID0gMDtcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb24gPSAwO1xuICAgIH1cblxuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckxhbmVzLCBudWxsKTtcbiAgfSBlbHNlIHtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgbW9kZSk7XG4gICAgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZmFsbGJhY2tDaGlsZHJlbiwgbW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpO1xuICB9XG5cbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZyA9IGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gbW91bnRXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKG9mZnNjcmVlblByb3BzLCBtb2RlLCByZW5kZXJMYW5lcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbmAgaXMgYGFueWAgdHlwZWQsIHNvIHdlIHVzZVxuICAvLyB0aGlzIHdyYXBwZXIgZnVuY3Rpb24gdG8gY29uc3RyYWluIGl0LlxuICByZXR1cm4gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKG9mZnNjcmVlblByb3BzLCBtb2RlLCBOb0xhbmVzLCBudWxsKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlV29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZVdvcmtJblByb2dyZXNzYCBpcyBgYW55YCB0eXBlZCwgc28gd2UgdXNlIHRoaXNcbiAgLy8gd3JhcHBlciBmdW5jdGlvbiB0byBjb25zdHJhaW4gaXQuXG4gIHJldHVybiBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjdXJyZW50LmNoaWxkO1xuICB2YXIgY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nO1xuICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudCwge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH0pO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQubGFuZXMgPSByZW5kZXJMYW5lcztcbiAgfVxuXG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gbnVsbDtcblxuICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgIC8vIERlbGV0ZSB0aGUgZmFsbGJhY2sgY2hpbGQgZnJhZ21lbnRcbiAgICB2YXIgZGVsZXRpb25zID0gd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zO1xuXG4gICAgaWYgKGRlbGV0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gW2N1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnRdO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRpb25zLnB1c2goY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCk7XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZUZhbGxiYWNrQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHByaW1hcnlDaGlsZHJlbiwgZmFsbGJhY2tDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG1vZGUgPSB3b3JrSW5Qcm9ncmVzcy5tb2RlO1xuICB2YXIgY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50ID0gY3VycmVudC5jaGlsZDtcbiAgdmFyIGN1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZztcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICdoaWRkZW4nLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuXG4gIGlmICggLy8gSW4gbGVnYWN5IG1vZGUsIHdlIGNvbW1pdCB0aGUgcHJpbWFyeSB0cmVlIGFzIGlmIGl0IHN1Y2Nlc3NmdWxseVxuICAvLyBjb21wbGV0ZWQsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLlxuICAobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlICYmIC8vIE1ha2Ugc3VyZSB3ZSdyZSBvbiB0aGUgc2Vjb25kIHBhc3MsIGkuZS4gdGhlIHByaW1hcnkgY2hpbGQgZnJhZ21lbnQgd2FzXG4gIC8vIGFscmVhZHkgY2xvbmVkLiBJbiBsZWdhY3kgbW9kZSwgdGhlIG9ubHkgY2FzZSB3aGVyZSB0aGlzIGlzbid0IHRydWUgaXNcbiAgLy8gd2hlbiBEZXZUb29scyBmb3JjZXMgdXMgdG8gZGlzcGxheSBhIGZhbGxiYWNrOyB3ZSBza2lwIHRoZSBmaXJzdCByZW5kZXJcbiAgLy8gcGFzcyBlbnRpcmVseSBhbmQgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIHRoZSBmYWxsYmFjay4gKEluIENvbmN1cnJlbnRcbiAgLy8gTW9kZSwgU3VzcGVuc2VMaXN0IGNhbiBhbHNvIHRyaWdnZXIgdGhpcyBzY2VuYXJpbywgYnV0IHRoaXMgaXMgYSBsZWdhY3ktXG4gIC8vIG9ubHkgY29kZXBhdGguKVxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCAhPT0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50KSB7XG4gICAgdmFyIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQ7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzID0gcHJpbWFyeUNoaWxkUHJvcHM7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgLy8gUmVzZXQgdGhlIGR1cmF0aW9ucyBmcm9tIHRoZSBmaXJzdCBwYXNzIHNvIHRoZXkgYXJlbid0IGluY2x1ZGVkIGluIHRoZVxuICAgICAgLy8gZmluYWwgYW1vdW50cy4gVGhpcyBzZWVtcyBjb3VudGVyaW50dWl0aXZlLCBzaW5jZSB3ZSdyZSBpbnRlbnRpb25hbGx5XG4gICAgICAvLyBub3QgbWVhc3VyaW5nIHBhcnQgb2YgdGhlIHJlbmRlciBwaGFzZSwgYnV0IHRoaXMgbWFrZXMgaXQgbWF0Y2ggd2hhdCB3ZVxuICAgICAgLy8gZG8gaW4gQ29uY3VycmVudCBNb2RlLlxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC50cmVlQmFzZUR1cmF0aW9uID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb247XG4gICAgfSAvLyBUaGUgZmFsbGJhY2sgZmliZXIgd2FzIGFkZGVkIGFzIGEgZGVsZXRpb24gZHVyaW5nIHRoZSBmaXJzdCBwYXNzLlxuICAgIC8vIEhvd2V2ZXIsIHNpbmNlIHdlJ3JlIGdvaW5nIHRvIHJlbWFpbiBvbiB0aGUgZmFsbGJhY2ssIHdlIG5vIGxvbmdlciB3YW50XG4gICAgLy8gdG8gZGVsZXRlIGl0LlxuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5kZWxldGlvbnMgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQsIHByaW1hcnlDaGlsZFByb3BzKTsgLy8gU2luY2Ugd2UncmUgcmV1c2luZyBhIGN1cnJlbnQgdHJlZSwgd2UgbmVlZCB0byByZXVzZSB0aGUgZmxhZ3MsIHRvby5cbiAgICAvLyAoV2UgZG9uJ3QgZG8gdGhpcyBpbiBsZWdhY3kgbW9kZSwgYmVjYXVzZSBpbiBsZWdhY3kgbW9kZSB3ZSBkb24ndCByZS11c2VcbiAgICAvLyB0aGUgY3VycmVudCB0cmVlOyBzZWUgcHJldmlvdXMgYnJhbmNoLilcblxuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnN1YnRyZWVGbGFncyA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zdWJ0cmVlRmxhZ3MgJiBTdGF0aWNNYXNrO1xuICB9XG5cbiAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcblxuICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnQsIGZhbGxiYWNrQ2hpbGRyZW4pO1xuICB9IGVsc2Uge1xuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckxhbmVzLCBudWxsKTsgLy8gTmVlZHMgYSBwbGFjZW1lbnQgZWZmZWN0IGJlY2F1c2UgdGhlIHBhcmVudCAodGhlIFN1c3BlbnNlIGJvdW5kYXJ5KSBhbHJlYWR5XG4gICAgLy8gbW91bnRlZCBidXQgdGhpcyBpcyBhIG5ldyBmaWJlci5cblxuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gIH1cblxuICBmYWxsYmFja0NoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIHJlY292ZXJhYmxlRXJyb3IpIHtcbiAgLy8gRmFsbGluZyBiYWNrIHRvIGNsaWVudCByZW5kZXJpbmcuIEJlY2F1c2UgdGhpcyBoYXMgcGVyZm9ybWFuY2VcbiAgLy8gaW1wbGljYXRpb25zLCBpdCdzIGNvbnNpZGVyZWQgYSByZWNvdmVyYWJsZSBlcnJvciwgZXZlbiB0aG91Z2ggdGhlIHVzZXJcbiAgLy8gbGlrZWx5IHdvbid0IG9ic2VydmUgYW55dGhpbmcgd3Jvbmcgd2l0aCB0aGUgVUkuXG4gIC8vXG4gIC8vIFRoZSBlcnJvciBpcyBwYXNzZWQgaW4gYXMgYW4gYXJndW1lbnQgdG8gZW5mb3JjZSB0aGF0IGV2ZXJ5IGNhbGxlciBwcm92aWRlXG4gIC8vIGEgY3VzdG9tIG1lc3NhZ2UsIG9yIGV4cGxpY2l0bHkgb3B0IG91dCAoY3VycmVudGx5IHRoZSBvbmx5IHBhdGggdGhhdCBvcHRzXG4gIC8vIG91dCBpcyBsZWdhY3kgbW9kZTsgZXZlcnkgY29uY3VycmVudCBwYXRoIHByb3ZpZGVzIGFuIGVycm9yKS5cbiAgaWYgKHJlY292ZXJhYmxlRXJyb3IgIT09IG51bGwpIHtcbiAgICBxdWV1ZUh5ZHJhdGlvbkVycm9yKHJlY292ZXJhYmxlRXJyb3IpO1xuICB9IC8vIFRoaXMgd2lsbCBhZGQgdGhlIG9sZCBmaWJlciB0byB0aGUgZGVsZXRpb24gbGlzdFxuXG5cbiAgcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTsgLy8gV2UncmUgbm93IG5vdCBzdXNwZW5kZWQgbm9yIGRlaHlkcmF0ZWQuXG5cbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gbW91bnRTdXNwZW5zZVByaW1hcnlDaGlsZHJlbih3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuKTsgLy8gTmVlZHMgYSBwbGFjZW1lbnQgZWZmZWN0IGJlY2F1c2UgdGhlIHBhcmVudCAodGhlIFN1c3BlbnNlIGJvdW5kYXJ5KSBhbHJlYWR5XG4gIC8vIG1vdW50ZWQgYnV0IHRoaXMgaXMgYSBuZXcgZmliZXIuXG5cbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlRmFsbGJhY2tBZnRlclJldHJ5V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuLCBmYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICB2YXIgZmliZXJNb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH07XG4gIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgZmliZXJNb2RlKTtcbiAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIGZpYmVyTW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpOyAvLyBOZWVkcyBhIHBsYWNlbWVudCBlZmZlY3QgYmVjYXVzZSB0aGUgcGFyZW50ICh0aGUgU3VzcGVuc2VcbiAgLy8gYm91bmRhcnkpIGFscmVhZHkgbW91bnRlZCBidXQgdGhpcyBpcyBhIG5ldyBmaWJlci5cblxuICBmYWxsYmFja0NoaWxkRnJhZ21lbnQuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgZmFsbGJhY2tDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgLy8gV2Ugd2lsbCBoYXZlIGRyb3BwZWQgdGhlIGVmZmVjdCBsaXN0IHdoaWNoIGNvbnRhaW5zIHRoZVxuICAgIC8vIGRlbGV0aW9uLiBXZSBuZWVkIHRvIHJlY29uY2lsZSB0byBkZWxldGUgdGhlIGN1cnJlbnQgY2hpbGQuXG4gICAgcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50RGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUluc3RhbmNlLCByZW5kZXJMYW5lcykge1xuICAvLyBEdXJpbmcgdGhlIGZpcnN0IHBhc3MsIHdlJ2xsIGJhaWwgb3V0IGFuZCBub3QgZHJpbGwgaW50byB0aGUgY2hpbGRyZW4uXG4gIC8vIEluc3RlYWQsIHdlJ2xsIGxlYXZlIHRoZSBjb250ZW50IGluIHBsYWNlIGFuZCB0cnkgdG8gaHlkcmF0ZSBpdCBsYXRlci5cbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICB7XG4gICAgICBlcnJvcignQ2Fubm90IGh5ZHJhdGUgU3VzcGVuc2UgaW4gbGVnYWN5IG1vZGUuIFN3aXRjaCBmcm9tICcgKyAnUmVhY3RET00uaHlkcmF0ZShlbGVtZW50LCBjb250YWluZXIpIHRvICcgKyAnUmVhY3RET01DbGllbnQuaHlkcmF0ZVJvb3QoY29udGFpbmVyLCA8QXBwIC8+KScgKyAnLnJlbmRlcihlbGVtZW50KSBvciByZW1vdmUgdGhlIFN1c3BlbnNlIGNvbXBvbmVudHMgZnJvbSAnICsgJ3RoZSBzZXJ2ZXIgcmVuZGVyZWQgY29tcG9uZW50cy4nKTtcbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGxhbmVUb0xhbmVzKFN5bmNMYW5lKTtcbiAgfSBlbHNlIGlmIChpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhzdXNwZW5zZUluc3RhbmNlKSkge1xuICAgIC8vIFRoaXMgaXMgYSBjbGllbnQtb25seSBib3VuZGFyeS4gU2luY2Ugd2Ugd29uJ3QgZ2V0IGFueSBjb250ZW50IGZyb20gdGhlIHNlcnZlclxuICAgIC8vIGZvciB0aGlzLCB3ZSBuZWVkIHRvIHNjaGVkdWxlIHRoYXQgYXQgYSBoaWdoZXIgcHJpb3JpdHkgYmFzZWQgb24gd2hlbiBpdCB3b3VsZFxuICAgIC8vIGhhdmUgdGltZWQgb3V0LiBJbiB0aGVvcnkgd2UgY291bGQgcmVuZGVyIGl0IGluIHRoaXMgcGFzcyBidXQgaXQgd291bGQgaGF2ZSB0aGVcbiAgICAvLyB3cm9uZyBwcmlvcml0eSBhc3NvY2lhdGVkIHdpdGggaXQgYW5kIHdpbGwgcHJldmVudCBoeWRyYXRpb24gb2YgcGFyZW50IHBhdGguXG4gICAgLy8gSW5zdGVhZCwgd2UnbGwgbGVhdmUgd29yayBsZWZ0IG9uIGl0IHRvIHJlbmRlciBpdCBpbiBhIHNlcGFyYXRlIGNvbW1pdC5cbiAgICAvLyBUT0RPIFRoaXMgdGltZSBzaG91bGQgYmUgdGhlIHRpbWUgYXQgd2hpY2ggdGhlIHNlcnZlciByZW5kZXJlZCByZXNwb25zZSB0aGF0IGlzXG4gICAgLy8gYSBwYXJlbnQgdG8gdGhpcyBib3VuZGFyeSB3YXMgZGlzcGxheWVkLiBIb3dldmVyLCBzaW5jZSB3ZSBjdXJyZW50bHkgZG9uJ3QgaGF2ZVxuICAgIC8vIGEgcHJvdG9jb2wgdG8gdHJhbnNmZXIgdGhhdCB0aW1lLCB3ZSdsbCBqdXN0IGVzdGltYXRlIGl0IGJ5IHVzaW5nIHRoZSBjdXJyZW50XG4gICAgLy8gdGltZS4gVGhpcyB3aWxsIG1lYW4gdGhhdCBTdXNwZW5zZSB0aW1lb3V0cyBhcmUgc2xpZ2h0bHkgc2hpZnRlZCB0byBsYXRlciB0aGFuXG4gICAgLy8gdGhleSBzaG91bGQgYmUuXG4gICAgLy8gU2NoZWR1bGUgYSBub3JtYWwgcHJpIHVwZGF0ZSB0byByZW5kZXIgdGhpcyBjb250ZW50LlxuICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gbGFuZVRvTGFuZXMoRGVmYXVsdEh5ZHJhdGlvbkxhbmUpO1xuICB9IGVsc2Uge1xuICAgIC8vIFdlJ2xsIGNvbnRpbnVlIGh5ZHJhdGluZyB0aGUgcmVzdCBhdCBvZmZzY3JlZW4gcHJpb3JpdHkgc2luY2Ugd2UnbGwgYWxyZWFkeVxuICAgIC8vIGJlIHNob3dpbmcgdGhlIHJpZ2h0IGNvbnRlbnQgY29taW5nIGZyb20gdGhlIHNlcnZlciwgaXQgaXMgbm8gcnVzaC5cbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGxhbmVUb0xhbmVzKE9mZnNjcmVlbkxhbmUpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZURlaHlkcmF0ZWRTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZGlkU3VzcGVuZCwgbmV4dFByb3BzLCBzdXNwZW5zZUluc3RhbmNlLCBzdXNwZW5zZVN0YXRlLCByZW5kZXJMYW5lcykge1xuICBpZiAoIWRpZFN1c3BlbmQpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCByZW5kZXIgcGFzcy4gQXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIC8vIFdlIHNob3VsZCBuZXZlciBiZSBoeWRyYXRpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IGlzIHRoZSBmaXJzdCBwYXNzLFxuICAgIC8vIGJ1dCBhZnRlciB3ZSd2ZSBhbHJlYWR5IGNvbW1pdHRlZCBvbmNlLlxuICAgIHdhcm5JZkh5ZHJhdGluZygpO1xuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIC8vIFRPRE86IFdoZW4gd2UgZGVsZXRlIGxlZ2FjeSBtb2RlLCB3ZSBzaG91bGQgbWFrZSB0aGlzIGVycm9yIGFyZ3VtZW50XG4gICAgICAvLyByZXF1aXJlZCDigJQgZXZlcnkgY29uY3VycmVudCBtb2RlIHBhdGggdGhhdCBjYXVzZXMgaHlkcmF0aW9uIHRvXG4gICAgICAvLyBkZS1vcHQgdG8gY2xpZW50IHJlbmRlcmluZyBzaG91bGQgaGF2ZSBhbiBlcnJvciBtZXNzYWdlLlxuICAgICAgbnVsbCk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrKHN1c3BlbnNlSW5zdGFuY2UpKSB7XG4gICAgICAvLyBUaGlzIGJvdW5kYXJ5IGlzIGluIGEgcGVybWFuZW50IGZhbGxiYWNrIHN0YXRlLiBJbiB0aGlzIGNhc2UsIHdlJ2xsIG5ldmVyXG4gICAgICAvLyBnZXQgYW4gdXBkYXRlIGFuZCB3ZSdsbCBuZXZlciBiZSBhYmxlIHRvIGh5ZHJhdGUgdGhlIGZpbmFsIGNvbnRlbnQuIExldCdzIGp1c3QgdHJ5IHRoZVxuICAgICAgLy8gY2xpZW50IHNpZGUgcmVuZGVyIGluc3RlYWQuXG4gICAgICB2YXIgZGlnZXN0LCBtZXNzYWdlLCBzdGFjaztcblxuICAgICAge1xuICAgICAgICB2YXIgX2dldFN1c3BlbnNlSW5zdGFuY2VGID0gZ2V0U3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrRXJyb3JEZXRhaWxzKHN1c3BlbnNlSW5zdGFuY2UpO1xuXG4gICAgICAgIGRpZ2VzdCA9IF9nZXRTdXNwZW5zZUluc3RhbmNlRi5kaWdlc3Q7XG4gICAgICAgIG1lc3NhZ2UgPSBfZ2V0U3VzcGVuc2VJbnN0YW5jZUYubWVzc2FnZTtcbiAgICAgICAgc3RhY2sgPSBfZ2V0U3VzcGVuc2VJbnN0YW5jZUYuc3RhY2s7XG4gICAgICB9XG5cbiAgICAgIHZhciBlcnJvcjtcblxuICAgICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignVGhlIHNlcnZlciBjb3VsZCBub3QgZmluaXNoIHRoaXMgU3VzcGVuc2UgYm91bmRhcnksIGxpa2VseSAnICsgJ2R1ZSB0byBhbiBlcnJvciBkdXJpbmcgc2VydmVyIHJlbmRlcmluZy4gU3dpdGNoZWQgdG8gJyArICdjbGllbnQgcmVuZGVyaW5nLicpO1xuICAgICAgfVxuXG4gICAgICB2YXIgY2FwdHVyZWRWYWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUoZXJyb3IsIGRpZ2VzdCwgc3RhY2spO1xuICAgICAgcmV0dXJuIHJldHJ5U3VzcGVuc2VDb21wb25lbnRXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcywgY2FwdHVyZWRWYWx1ZSk7XG4gICAgfVxuICAgIC8vIGFueSBjb250ZXh0IGhhcyBjaGFuZ2VkLCB3ZSBuZWVkIHRvIHRyZWF0IGlzIGFzIGlmIHRoZSBpbnB1dCBtaWdodCBoYXZlIGNoYW5nZWQuXG5cblxuICAgIHZhciBoYXNDb250ZXh0Q2hhbmdlZCA9IGluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIGN1cnJlbnQuY2hpbGRMYW5lcyk7XG5cbiAgICBpZiAoZGlkUmVjZWl2ZVVwZGF0ZSB8fCBoYXNDb250ZXh0Q2hhbmdlZCkge1xuICAgICAgLy8gVGhpcyBib3VuZGFyeSBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgZmlyc3QgcmVuZGVyLiBUaGlzIG1lYW5zIHRoYXQgd2UgYXJlIG5vdyB1bmFibGUgdG9cbiAgICAgIC8vIGh5ZHJhdGUgaXQuIFdlIG1pZ2h0IHN0aWxsIGJlIGFibGUgdG8gaHlkcmF0ZSBpdCB1c2luZyBhIGhpZ2hlciBwcmlvcml0eSBsYW5lLlxuICAgICAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTtcblxuICAgICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGF0dGVtcHRIeWRyYXRpb25BdExhbmUgPSBnZXRCdW1wZWRMYW5lRm9ySHlkcmF0aW9uKHJvb3QsIHJlbmRlckxhbmVzKTtcblxuICAgICAgICBpZiAoYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSAhPT0gTm9MYW5lICYmIGF0dGVtcHRIeWRyYXRpb25BdExhbmUgIT09IHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lKSB7XG4gICAgICAgICAgLy8gSW50ZW50aW9uYWxseSBtdXRhdGluZyBzaW5jZSB0aGlzIHJlbmRlciB3aWxsIGdldCBpbnRlcnJ1cHRlZC4gVGhpc1xuICAgICAgICAgIC8vIGlzIG9uZSBvZiB0aGUgdmVyeSByYXJlIHRpbWVzIHdoZXJlIHdlIG11dGF0ZSB0aGUgY3VycmVudCB0cmVlXG4gICAgICAgICAgLy8gZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICAgICAgc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUgPSBhdHRlbXB0SHlkcmF0aW9uQXRMYW5lOyAvLyBUT0RPOiBJZGVhbGx5IHRoaXMgd291bGQgaW5oZXJpdCB0aGUgZXZlbnQgdGltZSBvZiB0aGUgY3VycmVudCByZW5kZXJcblxuICAgICAgICAgIHZhciBldmVudFRpbWUgPSBOb1RpbWVzdGFtcDtcbiAgICAgICAgICBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoY3VycmVudCwgYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSk7XG4gICAgICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGN1cnJlbnQsIGF0dGVtcHRIeWRyYXRpb25BdExhbmUsIGV2ZW50VGltZSk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gSWYgd2UgaGF2ZSBzY2hlZHVsZWQgaGlnaGVyIHByaSB3b3JrIGFib3ZlLCB0aGlzIHdpbGwgcHJvYmFibHkganVzdCBhYm9ydCB0aGUgcmVuZGVyXG4gICAgICAvLyBzaW5jZSB3ZSBub3cgaGF2ZSBoaWdoZXIgcHJpb3JpdHkgd29yaywgYnV0IGluIGNhc2UgaXQgZG9lc24ndCwgd2UgbmVlZCB0byBwcmVwYXJlIHRvXG4gICAgICAvLyByZW5kZXIgc29tZXRoaW5nLCBpZiB3ZSB0aW1lIG91dC4gRXZlbiBpZiB0aGF0IHJlcXVpcmVzIHVzIHRvIGRlbGV0ZSBldmVyeXRoaW5nIGFuZFxuICAgICAgLy8gc2tpcCBoeWRyYXRpb24uXG4gICAgICAvLyBEZWxheSBoYXZpbmcgdG8gZG8gdGhpcyBhcyBsb25nIGFzIHRoZSBzdXNwZW5zZSB0aW1lb3V0IGFsbG93cyB1cy5cblxuXG4gICAgICByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlKCk7XG5cbiAgICAgIHZhciBfY2FwdHVyZWRWYWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUobmV3IEVycm9yKCdUaGlzIFN1c3BlbnNlIGJvdW5kYXJ5IHJlY2VpdmVkIGFuIHVwZGF0ZSBiZWZvcmUgaXQgZmluaXNoZWQgJyArICdoeWRyYXRpbmcuIFRoaXMgY2F1c2VkIHRoZSBib3VuZGFyeSB0byBzd2l0Y2ggdG8gY2xpZW50IHJlbmRlcmluZy4gJyArICdUaGUgdXN1YWwgd2F5IHRvIGZpeCB0aGlzIGlzIHRvIHdyYXAgdGhlIG9yaWdpbmFsIHVwZGF0ZSAnICsgJ2luIHN0YXJ0VHJhbnNpdGlvbi4nKSk7XG5cbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIF9jYXB0dXJlZFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZVBlbmRpbmcoc3VzcGVuc2VJbnN0YW5jZSkpIHtcbiAgICAgIC8vIFRoaXMgY29tcG9uZW50IGlzIHN0aWxsIHBlbmRpbmcgbW9yZSBkYXRhIGZyb20gdGhlIHNlcnZlciwgc28gd2UgY2FuJ3QgaHlkcmF0ZSBpdHNcbiAgICAgIC8vIGNvbnRlbnQuIFdlIHRyZWF0IGl0IGFzIGlmIHRoaXMgY29tcG9uZW50IHN1c3BlbmRlZCBpdHNlbGYuIEl0IG1pZ2h0IHNlZW0gYXMgaWZcbiAgICAgIC8vIHdlIGNvdWxkIGp1c3QgdHJ5IHRvIHJlbmRlciBpdCBjbGllbnQtc2lkZSBpbnN0ZWFkLiBIb3dldmVyLCB0aGlzIHdpbGwgcGVyZm9ybSBhXG4gICAgICAvLyBsb3Qgb2YgdW5uZWNlc3Nhcnkgd29yayBhbmQgaXMgdW5saWtlbHkgdG8gY29tcGxldGUgc2luY2UgaXQgb2Z0ZW4gd2lsbCBzdXNwZW5kXG4gICAgICAvLyBvbiBtaXNzaW5nIGRhdGEgYW55d2F5LiBBZGRpdGlvbmFsbHksIHRoZSBzZXJ2ZXIgbWlnaHQgYmUgYWJsZSB0byByZW5kZXIgbW9yZVxuICAgICAgLy8gdGhhbiB3ZSBjYW4gb24gdGhlIGNsaWVudCB5ZXQuIEluIHRoYXQgY2FzZSB3ZSdkIGVuZCB1cCB3aXRoIG1vcmUgZmFsbGJhY2sgc3RhdGVzXG4gICAgICAvLyBvbiB0aGUgY2xpZW50IHRoYW4gaWYgd2UganVzdCBsZWF2ZSBpdCBhbG9uZS4gSWYgdGhlIHNlcnZlciB0aW1lcyBvdXQgb3IgZXJyb3JzXG4gICAgICAvLyB0aGVzZSBzaG91bGQgdXBkYXRlIHRoaXMgYm91bmRhcnkgdG8gdGhlIHBlcm1hbmVudCBGYWxsYmFjayBzdGF0ZSBpbnN0ZWFkLlxuICAgICAgLy8gTWFyayBpdCBhcyBoYXZpbmcgY2FwdHVyZWQgKGkuZS4gc3VzcGVuZGVkKS5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7IC8vIExlYXZlIHRoZSBjaGlsZCBpbiBwbGFjZS4gSS5lLiB0aGUgZGVoeWRyYXRlZCBmcmFnbWVudC5cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIHJldHJ5IHRoaXMgYm91bmRhcnkgb25jZSB0aGUgc2VydmVyIGhhcyBzZW50IHRoZSByZXN1bHQuXG5cbiAgICAgIHZhciByZXRyeSA9IHJldHJ5RGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkuYmluZChudWxsLCBjdXJyZW50KTtcbiAgICAgIHJlZ2lzdGVyU3VzcGVuc2VJbnN0YW5jZVJldHJ5KHN1c3BlbnNlSW5zdGFuY2UsIHJldHJ5KTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBhdHRlbXB0LlxuICAgICAgcmVlbnRlckh5ZHJhdGlvblN0YXRlRnJvbURlaHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUluc3RhbmNlLCBzdXNwZW5zZVN0YXRlLnRyZWVDb250ZXh0KTtcbiAgICAgIHZhciBwcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4pOyAvLyBNYXJrIHRoZSBjaGlsZHJlbiBhcyBoeWRyYXRpbmcuIFRoaXMgaXMgYSBmYXN0IHBhdGggdG8ga25vdyB3aGV0aGVyIHRoaXNcbiAgICAgIC8vIHRyZWUgaXMgcGFydCBvZiBhIGh5ZHJhdGluZyB0cmVlLiBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgY2hpbGRcbiAgICAgIC8vIG5vZGUgaGFzIGZ1bGx5IG1vdW50ZWQgeWV0LCBhbmQgZm9yIHNjaGVkdWxpbmcgZXZlbnQgcmVwbGF5aW5nLlxuICAgICAgLy8gQ29uY2VwdHVhbGx5IHRoaXMgaXMgc2ltaWxhciB0byBQbGFjZW1lbnQgaW4gdGhhdCBhIG5ldyBzdWJ0cmVlIGlzXG4gICAgICAvLyBpbnNlcnRlZCBpbnRvIHRoZSBSZWFjdCB0cmVlIGhlcmUuIEl0IGp1c3QgaGFwcGVucyB0byBub3QgbmVlZCBET01cbiAgICAgIC8vIG11dGF0aW9ucyBiZWNhdXNlIGl0IGFscmVhZHkgZXhpc3RzLlxuXG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5mbGFncyB8PSBIeWRyYXRpbmc7XG4gICAgICByZXR1cm4gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCByZW5kZXIgcGFzcy4gV2UgYWxyZWFkeSBhdHRlbXB0ZWQgdG8gaHlkcmF0ZWQsIGJ1dFxuICAgIC8vIHNvbWV0aGluZyBlaXRoZXIgc3VzcGVuZGVkIG9yIGVycm9yZWQuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRm9yY2VDbGllbnRSZW5kZXIpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBlcnJvcmVkIGR1cmluZyBoeWRyYXRpb24uIFRyeSBhZ2FpbiB3aXRob3V0IGh5ZHJhdGluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH5Gb3JjZUNsaWVudFJlbmRlcjtcblxuICAgICAgdmFyIF9jYXB0dXJlZFZhbHVlMiA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUobmV3IEVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgaHlkcmF0aW5nIHRoaXMgU3VzcGVuc2UgYm91bmRhcnkuICcgKyAnU3dpdGNoZWQgdG8gY2xpZW50IHJlbmRlcmluZy4nKSk7XG5cbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIF9jYXB0dXJlZFZhbHVlMik7XG4gICAgfSBlbHNlIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBTb21ldGhpbmcgc3VzcGVuZGVkIGFuZCB3ZSBzaG91bGQgc3RpbGwgYmUgaW4gZGVoeWRyYXRlZCBtb2RlLlxuICAgICAgLy8gTGVhdmUgdGhlIGV4aXN0aW5nIGNoaWxkIGluIHBsYWNlLlxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBUaGUgZGVoeWRyYXRlZCBjb21wbGV0aW9uIHBhc3MgZXhwZWN0cyB0aGlzIGZsYWcgdG8gYmUgdGhlcmVcbiAgICAgIC8vIGJ1dCB0aGUgbm9ybWFsIHN1c3BlbnNlIHBhc3MgZG9lc24ndC5cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdXNwZW5kZWQgYnV0IHdlIHNob3VsZCBubyBsb25nZXIgYmUgaW4gZGVoeWRyYXRlZCBtb2RlLlxuICAgICAgLy8gVGhlcmVmb3JlIHdlIG5vdyBoYXZlIHRvIHJlbmRlciB0aGUgZmFsbGJhY2suXG4gICAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBuZXh0RmFsbGJhY2tDaGlsZHJlbiA9IG5leHRQcm9wcy5mYWxsYmFjaztcbiAgICAgIHZhciBmYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlRmFsbGJhY2tBZnRlclJldHJ5V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dFByaW1hcnlDaGlsZHJlbiwgbmV4dEZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0Lm1lbW9pemVkU3RhdGUgPSBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpO1xuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XG4gICAgICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzY2hlZHVsZVN1c3BlbnNlV29ya09uRmliZXIoZmliZXIsIHJlbmRlckxhbmVzLCBwcm9wYWdhdGlvblJvb3QpIHtcbiAgZmliZXIubGFuZXMgPSBtZXJnZUxhbmVzKGZpYmVyLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICBzY2hlZHVsZUNvbnRleHRXb3JrT25QYXJlbnRQYXRoKGZpYmVyLnJldHVybiwgcmVuZGVyTGFuZXMsIHByb3BhZ2F0aW9uUm9vdCk7XG59XG5cbmZ1bmN0aW9uIHByb3BhZ2F0ZVN1c3BlbnNlQ29udGV4dENoYW5nZSh3b3JrSW5Qcm9ncmVzcywgZmlyc3RDaGlsZCwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gTWFyayBhbnkgU3VzcGVuc2UgYm91bmRhcmllcyB3aXRoIGZhbGxiYWNrcyBhcyBoYXZpbmcgd29yayB0byBkby5cbiAgLy8gSWYgdGhleSB3ZXJlIHByZXZpb3VzbHkgZm9yY2VkIGludG8gZmFsbGJhY2tzLCB0aGV5IG1heSBub3cgYmUgYWJsZVxuICAvLyB0byB1bmJsb2NrLlxuICB2YXIgbm9kZSA9IGZpcnN0Q2hpbGQ7XG5cbiAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgICB2YXIgc3RhdGUgPSBub2RlLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVN1c3BlbnNlV29ya09uRmliZXIobm9kZSwgcmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUxpc3RDb21wb25lbnQpIHtcbiAgICAgIC8vIElmIHRoZSB0YWlsIGlzIGhpZGRlbiB0aGVyZSBtaWdodCBub3QgYmUgYW4gU3VzcGVuc2UgYm91bmRhcmllc1xuICAgICAgLy8gdG8gc2NoZWR1bGUgd29yayBvbi4gSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gc2NoZWR1bGUgaXQgb24gdGhlXG4gICAgICAvLyBsaXN0IGl0c2VsZi5cbiAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gdHJhdmVyc2UgdG8gdGhlIGNoaWxkcmVuIG9mIHRoZSBsaXN0IHNpbmNlXG4gICAgICAvLyB0aGUgbGlzdCB3aWxsIHByb3BhZ2F0ZSB0aGUgY2hhbmdlIHdoZW4gaXQgcmVyZW5kZXJzLlxuICAgICAgc2NoZWR1bGVTdXNwZW5zZVdvcmtPbkZpYmVyKG5vZGUsIHJlbmRlckxhbmVzLCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSB3b3JrSW5Qcm9ncmVzcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZExhc3RDb250ZW50Um93KGZpcnN0Q2hpbGQpIHtcbiAgLy8gVGhpcyBpcyBnb2luZyB0byBmaW5kIHRoZSBsYXN0IHJvdyBhbW9uZyB0aGVzZSBjaGlsZHJlbiB0aGF0IGlzIGFscmVhZHlcbiAgLy8gc2hvd2luZyBjb250ZW50IG9uIHRoZSBzY3JlZW4sIGFzIG9wcG9zZWQgdG8gYmVpbmcgaW4gZmFsbGJhY2sgc3RhdGUgb3JcbiAgLy8gbmV3LiBJZiBhIHJvdyBoYXMgbXVsdGlwbGUgU3VzcGVuc2UgYm91bmRhcmllcywgYW55IG9mIHRoZW0gYmVpbmcgaW4gdGhlXG4gIC8vIGZhbGxiYWNrIHN0YXRlLCBjb3VudHMgYXMgdGhlIHdob2xlIHJvdyBiZWluZyBpbiBhIGZhbGxiYWNrIHN0YXRlLlxuICAvLyBOb3RlIHRoYXQgdGhlIFwicm93c1wiIHdpbGwgYmUgd29ya0luUHJvZ3Jlc3MsIGJ1dCBhbnkgbmVzdGVkIGNoaWxkcmVuXG4gIC8vIHdpbGwgc3RpbGwgYmUgY3VycmVudCBzaW5jZSB3ZSBoYXZlbid0IHJlbmRlcmVkIHRoZW0geWV0LiBUaGUgbW91bnRlZFxuICAvLyBvcmRlciBtYXkgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBuZXcgb3JkZXIuIFdlIHVzZSB0aGUgbmV3IG9yZGVyLlxuICB2YXIgcm93ID0gZmlyc3RDaGlsZDtcbiAgdmFyIGxhc3RDb250ZW50Um93ID0gbnVsbDtcblxuICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnRSb3cgPSByb3cuYWx0ZXJuYXRlOyAvLyBOZXcgcm93cyBjYW4ndCBiZSBjb250ZW50IHJvd3MuXG5cbiAgICBpZiAoY3VycmVudFJvdyAhPT0gbnVsbCAmJiBmaW5kRmlyc3RTdXNwZW5kZWQoY3VycmVudFJvdykgPT09IG51bGwpIHtcbiAgICAgIGxhc3RDb250ZW50Um93ID0gcm93O1xuICAgIH1cblxuICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIGxhc3RDb250ZW50Um93O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVJldmVhbE9yZGVyKHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAocmV2ZWFsT3JkZXIgIT09IHVuZGVmaW5lZCAmJiByZXZlYWxPcmRlciAhPT0gJ2ZvcndhcmRzJyAmJiByZXZlYWxPcmRlciAhPT0gJ2JhY2t3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICd0b2dldGhlcicgJiYgIWRpZFdhcm5BYm91dFJldmVhbE9yZGVyW3JldmVhbE9yZGVyXSkge1xuICAgICAgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXJbcmV2ZWFsT3JkZXJdID0gdHJ1ZTtcblxuICAgICAgaWYgKHR5cGVvZiByZXZlYWxPcmRlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgc3dpdGNoIChyZXZlYWxPcmRlci50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICAgIGNhc2UgJ2ZvcndhcmRzJzpcbiAgICAgICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1VzZSBsb3dlcmNhc2UgXCIlc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnZm9yd2FyZCc6XG4gICAgICAgICAgY2FzZSAnYmFja3dhcmQnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1JlYWN0IHVzZXMgdGhlIC1zIHN1ZmZpeCBpbiB0aGUgc3BlbGxpbmcuIFVzZSBcIiVzc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwidG9nZXRoZXJcIiwgXCJmb3J3YXJkc1wiIG9yIFwiYmFja3dhcmRzXCI/JywgcmV2ZWFsT3JkZXIpO1xuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJyVzIGlzIG5vdCBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgcmV2ZWFsT3JkZXIgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXCJ0b2dldGhlclwiLCBcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIj8nLCByZXZlYWxPcmRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGFpbE9wdGlvbnModGFpbE1vZGUsIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAodGFpbE1vZGUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkFib3V0VGFpbE9wdGlvbnNbdGFpbE1vZGVdKSB7XG4gICAgICBpZiAodGFpbE1vZGUgIT09ICdjb2xsYXBzZWQnICYmIHRhaWxNb2RlICE9PSAnaGlkZGVuJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHZhbHVlIGZvciB0YWlsIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwiY29sbGFwc2VkXCIgb3IgXCJoaWRkZW5cIj8nLCB0YWlsTW9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHJldmVhbE9yZGVyICE9PSAnZm9yd2FyZHMnICYmIHJldmVhbE9yZGVyICE9PSAnYmFja3dhcmRzJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCc8U3VzcGVuc2VMaXN0IHRhaWw9XCIlc1wiIC8+IGlzIG9ubHkgdmFsaWQgaWYgcmV2ZWFsT3JkZXIgaXMgJyArICdcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIi4gJyArICdEaWQgeW91IG1lYW4gdG8gc3BlY2lmeSByZXZlYWxPcmRlcj1cImZvcndhcmRzXCI/JywgdGFpbE1vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkU2xvdCwgaW5kZXgpIHtcbiAge1xuICAgIHZhciBpc0FuQXJyYXkgPSBpc0FycmF5KGNoaWxkU2xvdCk7XG4gICAgdmFyIGlzSXRlcmFibGUgPSAhaXNBbkFycmF5ICYmIHR5cGVvZiBnZXRJdGVyYXRvckZuKGNoaWxkU2xvdCkgPT09ICdmdW5jdGlvbic7XG5cbiAgICBpZiAoaXNBbkFycmF5IHx8IGlzSXRlcmFibGUpIHtcbiAgICAgIHZhciB0eXBlID0gaXNBbkFycmF5ID8gJ2FycmF5JyA6ICdpdGVyYWJsZSc7XG5cbiAgICAgIGVycm9yKCdBIG5lc3RlZCAlcyB3YXMgcGFzc2VkIHRvIHJvdyAjJXMgaW4gPFN1c3BlbnNlTGlzdCAvPi4gV3JhcCBpdCBpbiAnICsgJ2FuIGFkZGl0aW9uYWwgU3VzcGVuc2VMaXN0IHRvIGNvbmZpZ3VyZSBpdHMgcmV2ZWFsT3JkZXI6ICcgKyAnPFN1c3BlbnNlTGlzdCByZXZlYWxPcmRlcj0uLi4+IC4uLiAnICsgJzxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9Li4uPnslc308L1N1c3BlbnNlTGlzdD4gLi4uICcgKyAnPC9TdXNwZW5zZUxpc3Q+JywgdHlwZSwgaW5kZXgsIHR5cGUpO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4oY2hpbGRyZW4sIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAoKHJldmVhbE9yZGVyID09PSAnZm9yd2FyZHMnIHx8IHJldmVhbE9yZGVyID09PSAnYmFja3dhcmRzJykgJiYgY2hpbGRyZW4gIT09IHVuZGVmaW5lZCAmJiBjaGlsZHJlbiAhPT0gbnVsbCAmJiBjaGlsZHJlbiAhPT0gZmFsc2UpIHtcbiAgICAgIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkcmVuW2ldLCBpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB2YXIgY2hpbGRyZW5JdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChjaGlsZHJlbik7XG5cbiAgICAgICAgICBpZiAoY2hpbGRyZW5JdGVyYXRvcikge1xuICAgICAgICAgICAgdmFyIHN0ZXAgPSBjaGlsZHJlbkl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgICAgIHZhciBfaSA9IDA7XG5cbiAgICAgICAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBzdGVwID0gY2hpbGRyZW5JdGVyYXRvci5uZXh0KCkpIHtcbiAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKHN0ZXAudmFsdWUsIF9pKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIF9pKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yKCdBIHNpbmdsZSByb3cgd2FzIHBhc3NlZCB0byBhIDxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9XCIlc1wiIC8+LiAnICsgJ1RoaXMgaXMgbm90IHVzZWZ1bCBzaW5jZSBpdCBuZWVkcyBtdWx0aXBsZSByb3dzLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBwYXNzIG11bHRpcGxlIGNoaWxkcmVuIG9yIGFuIGFycmF5PycsIHJldmVhbE9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIGlzQmFja3dhcmRzLCB0YWlsLCBsYXN0Q29udGVudFJvdywgdGFpbE1vZGUpIHtcbiAgdmFyIHJlbmRlclN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocmVuZGVyU3RhdGUgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0ge1xuICAgICAgaXNCYWNrd2FyZHM6IGlzQmFja3dhcmRzLFxuICAgICAgcmVuZGVyaW5nOiBudWxsLFxuICAgICAgcmVuZGVyaW5nU3RhcnRUaW1lOiAwLFxuICAgICAgbGFzdDogbGFzdENvbnRlbnRSb3csXG4gICAgICB0YWlsOiB0YWlsLFxuICAgICAgdGFpbE1vZGU6IHRhaWxNb2RlXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBXZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIG9iamVjdCBmcm9tIHByZXZpb3VzIHJlbmRlcnMuXG4gICAgcmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMgPSBpc0JhY2t3YXJkcztcbiAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA9IDA7XG4gICAgcmVuZGVyU3RhdGUubGFzdCA9IGxhc3RDb250ZW50Um93O1xuICAgIHJlbmRlclN0YXRlLnRhaWwgPSB0YWlsO1xuICAgIHJlbmRlclN0YXRlLnRhaWxNb2RlID0gdGFpbE1vZGU7XG4gIH1cbn0gLy8gVGhpcyBjYW4gZW5kIHVwIHJlbmRlcmluZyB0aGlzIGNvbXBvbmVudCBtdWx0aXBsZSBwYXNzZXMuXG4vLyBUaGUgZmlyc3QgcGFzcyBzcGxpdHMgdGhlIGNoaWxkcmVuIGZpYmVycyBpbnRvIHR3byBzZXRzLiBBIGhlYWQgYW5kIHRhaWwuXG4vLyBXZSBmaXJzdCByZW5kZXIgdGhlIGhlYWQuIElmIGFueXRoaW5nIGlzIGluIGZhbGxiYWNrIHN0YXRlLCB3ZSBkbyBhbm90aGVyXG4vLyBwYXNzIHRocm91Z2ggYmVnaW5Xb3JrIHRvIHJlcmVuZGVyIGFsbCBjaGlsZHJlbiAoaW5jbHVkaW5nIHRoZSB0YWlsKSB3aXRoXG4vLyB0aGUgZm9yY2Ugc3VzcGVuZCBjb250ZXh0LiBJZiB0aGUgZmlyc3QgcmVuZGVyIGRpZG4ndCBoYXZlIGFueXRoaW5nIGluXG4vLyBpbiBmYWxsYmFjayBzdGF0ZS4gVGhlbiB3ZSByZW5kZXIgZWFjaCByb3cgaW4gdGhlIHRhaWwgb25lLWJ5LW9uZS5cbi8vIFRoYXQgaGFwcGVucyBpbiB0aGUgY29tcGxldGVXb3JrIHBoYXNlIHdpdGhvdXQgZ29pbmcgYmFjayB0byBiZWdpbldvcmsuXG5cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VMaXN0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgcmV2ZWFsT3JkZXIgPSBuZXh0UHJvcHMucmV2ZWFsT3JkZXI7XG4gIHZhciB0YWlsTW9kZSA9IG5leHRQcm9wcy50YWlsO1xuICB2YXIgbmV3Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIHZhbGlkYXRlUmV2ZWFsT3JkZXIocmV2ZWFsT3JkZXIpO1xuICB2YWxpZGF0ZVRhaWxPcHRpb25zKHRhaWxNb2RlLCByZXZlYWxPcmRlcik7XG4gIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4obmV3Q2hpbGRyZW4sIHJldmVhbE9yZGVyKTtcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5ld0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG4gIHZhciBzaG91bGRGb3JjZUZhbGxiYWNrID0gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcblxuICBpZiAoc2hvdWxkRm9yY2VGYWxsYmFjaykge1xuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGRpZFN1c3BlbmRCZWZvcmUgPSBjdXJyZW50ICE9PSBudWxsICYmIChjdXJyZW50LmZsYWdzICYgRGlkQ2FwdHVyZSkgIT09IE5vRmxhZ3M7XG5cbiAgICBpZiAoZGlkU3VzcGVuZEJlZm9yZSkge1xuICAgICAgLy8gSWYgd2UgcHJldmlvdXNseSBmb3JjZWQgYSBmYWxsYmFjaywgd2UgbmVlZCB0byBzY2hlZHVsZSB3b3JrXG4gICAgICAvLyBvbiBhbnkgbmVzdGVkIGJvdW5kYXJpZXMgdG8gbGV0IHRoZW0ga25vdyB0byB0cnkgdG8gcmVuZGVyXG4gICAgICAvLyBhZ2Fpbi4gVGhpcyBpcyB0aGUgc2FtZSBhcyBjb250ZXh0IHVwZGF0aW5nLlxuICAgICAgcHJvcGFnYXRlU3VzcGVuc2VDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5jaGlsZCwgcmVuZGVyTGFuZXMpO1xuICAgIH1cblxuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCk7XG4gIH1cblxuICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUNvbnRleHQpO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgLy8gSW4gbGVnYWN5IG1vZGUsIFN1c3BlbnNlTGlzdCBkb2Vzbid0IHdvcmsgc28gd2UganVzdFxuICAgIC8vIHVzZSBtYWtlIGl0IGEgbm9vcCBieSB0cmVhdGluZyBpdCBhcyB0aGUgZGVmYXVsdCByZXZlYWxPcmRlci5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBzd2l0Y2ggKHJldmVhbE9yZGVyKSB7XG4gICAgICBjYXNlICdmb3J3YXJkcyc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGFzdENvbnRlbnRSb3cgPSBmaW5kTGFzdENvbnRlbnRSb3cod29ya0luUHJvZ3Jlc3MuY2hpbGQpO1xuICAgICAgICAgIHZhciB0YWlsO1xuXG4gICAgICAgICAgaWYgKGxhc3RDb250ZW50Um93ID09PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgd2hvbGUgbGlzdCBpcyBwYXJ0IG9mIHRoZSB0YWlsLlxuICAgICAgICAgICAgLy8gVE9ETzogV2UgY291bGQgZmFzdCBwYXRoIGJ5IGp1c3QgcmVuZGVyaW5nIHRoZSB0YWlsIG5vdy5cbiAgICAgICAgICAgIHRhaWwgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gbnVsbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRGlzY29ubmVjdCB0aGUgdGFpbCByb3dzIGFmdGVyIHRoZSBjb250ZW50IHJvdy5cbiAgICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHJlbmRlciB0aGVtIHNlcGFyYXRlbHkgbGF0ZXIuXG4gICAgICAgICAgICB0YWlsID0gbGFzdENvbnRlbnRSb3cuc2libGluZztcbiAgICAgICAgICAgIGxhc3RDb250ZW50Um93LnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGluaXRTdXNwZW5zZUxpc3RSZW5kZXJTdGF0ZSh3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgdGFpbCwgbGFzdENvbnRlbnRSb3csIHRhaWxNb2RlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gZmluZCB0aGUgZmlyc3Qgcm93IHRoYXQgaGFzIGV4aXN0aW5nIGNvbnRlbnQuXG4gICAgICAgICAgLy8gQXQgdGhlIHNhbWUgdGltZSB3ZSdyZSBnb2luZyB0byByZXZlcnNlIHRoZSBsaXN0IG9mIGV2ZXJ5dGhpbmdcbiAgICAgICAgICAvLyB3ZSBwYXNzIGluIHRoZSBtZWFudGltZS4gVGhhdCdzIGdvaW5nIHRvIGJlIG91ciB0YWlsIGluIHJldmVyc2VcbiAgICAgICAgICAvLyBvcmRlci5cbiAgICAgICAgICB2YXIgX3RhaWwgPSBudWxsO1xuICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG5cbiAgICAgICAgICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudFJvdyA9IHJvdy5hbHRlcm5hdGU7IC8vIE5ldyByb3dzIGNhbid0IGJlIGNvbnRlbnQgcm93cy5cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWFpbiBjb250ZW50LlxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJvdztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBuZXh0Um93ID0gcm93LnNpYmxpbmc7XG4gICAgICAgICAgICByb3cuc2libGluZyA9IF90YWlsO1xuICAgICAgICAgICAgX3RhaWwgPSByb3c7XG4gICAgICAgICAgICByb3cgPSBuZXh0Um93O1xuICAgICAgICAgIH0gLy8gVE9ETzogSWYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgaXMgbnVsbCwgd2UgY2FuIGNvbnRpbnVlIG9uIHRoZSB0YWlsIGltbWVkaWF0ZWx5LlxuXG5cbiAgICAgICAgICBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIHRydWUsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgX3RhaWwsIG51bGwsIC8vIGxhc3RcbiAgICAgICAgICB0YWlsTW9kZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICB7XG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCBmYWxzZSwgLy8gaXNCYWNrd2FyZHNcbiAgICAgICAgICBudWxsLCAvLyB0YWlsXG4gICAgICAgICAgbnVsbCwgLy8gbGFzdFxuICAgICAgICAgIHVuZGVmaW5lZCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IHJldmVhbCBvcmRlciBpcyB0aGUgc2FtZSBhcyBub3QgaGF2aW5nXG4gICAgICAgICAgLy8gYSBib3VuZGFyeS5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBwdXNoSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgLy8gUG9ydGFscyBhcmUgc3BlY2lhbCBiZWNhdXNlIHdlIGRvbid0IGFwcGVuZCB0aGUgY2hpbGRyZW4gZHVyaW5nIG1vdW50XG4gICAgLy8gYnV0IGF0IGNvbW1pdC4gVGhlcmVmb3JlIHdlIG5lZWQgdG8gdHJhY2sgaW5zZXJ0aW9ucyB3aGljaCB0aGUgbm9ybWFsXG4gICAgLy8gZmxvdyBkb2Vzbid0IGRvIGR1cmluZyBtb3VudC4gVGhpcyBkb2Vzbid0IGhhcHBlbiBhdCB0aGUgcm9vdCBiZWNhdXNlXG4gICAgLy8gdGhlIHJvb3QgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgXCJjdXJyZW50XCIgd2l0aCBhIG51bGwgY2hpbGQuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgdW5pZnlpbmcgdGhpcyB3aXRoIGhvdyB0aGUgcm9vdCB3b3Jrcy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgfSBlbHNlIHtcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nTm9WYWx1ZVByb3BPbkNvbnRleHRQcm92aWRlciA9IGZhbHNlO1xuXG5mdW5jdGlvbiB1cGRhdGVDb250ZXh0UHJvdmlkZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBwcm92aWRlclR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB2YXIgY29udGV4dCA9IHByb3ZpZGVyVHlwZS5fY29udGV4dDtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgb2xkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzO1xuICB2YXIgbmV3VmFsdWUgPSBuZXdQcm9wcy52YWx1ZTtcblxuICB7XG4gICAgaWYgKCEoJ3ZhbHVlJyBpbiBuZXdQcm9wcykpIHtcbiAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05vVmFsdWVQcm9wT25Db250ZXh0UHJvdmlkZXIpIHtcbiAgICAgICAgaGFzV2FybmVkQWJvdXRVc2luZ05vVmFsdWVQcm9wT25Db250ZXh0UHJvdmlkZXIgPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdUaGUgYHZhbHVlYCBwcm9wIGlzIHJlcXVpcmVkIGZvciB0aGUgYDxDb250ZXh0LlByb3ZpZGVyPmAuIERpZCB5b3UgbWlzc3BlbGwgaXQgb3IgZm9yZ2V0IHRvIHBhc3MgaXQ/Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHByb3ZpZGVyUHJvcFR5cGVzID0gd29ya0luUHJvZ3Jlc3MudHlwZS5wcm9wVHlwZXM7XG5cbiAgICBpZiAocHJvdmlkZXJQcm9wVHlwZXMpIHtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3ZpZGVyUHJvcFR5cGVzLCBuZXdQcm9wcywgJ3Byb3AnLCAnQ29udGV4dC5Qcm92aWRlcicpO1xuICAgIH1cbiAgfVxuXG4gIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgbmV3VmFsdWUpO1xuXG4gIHtcbiAgICBpZiAob2xkUHJvcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBvbGRWYWx1ZSA9IG9sZFByb3BzLnZhbHVlO1xuXG4gICAgICBpZiAob2JqZWN0SXMob2xkVmFsdWUsIG5ld1ZhbHVlKSkge1xuICAgICAgICAvLyBObyBjaGFuZ2UuIEJhaWxvdXQgZWFybHkgaWYgY2hpbGRyZW4gYXJlIHRoZSBzYW1lLlxuICAgICAgICBpZiAob2xkUHJvcHMuY2hpbGRyZW4gPT09IG5ld1Byb3BzLmNoaWxkcmVuICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpKSB7XG4gICAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlIGNvbnRleHQgdmFsdWUgY2hhbmdlZC4gU2VhcmNoIGZvciBtYXRjaGluZyBjb25zdW1lcnMgYW5kIHNjaGVkdWxlXG4gICAgICAgIC8vIHRoZW0gdG8gdXBkYXRlLlxuICAgICAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5ld0NoaWxkcmVuID0gbmV3UHJvcHMuY2hpbGRyZW47XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nQ29udGV4dEFzQ29uc3VtZXIgPSBmYWxzZTtcblxuZnVuY3Rpb24gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGU7IC8vIFRoZSBsb2dpYyBiZWxvdyBmb3IgQ29udGV4dCBkaWZmZXJzIGRlcGVuZGluZyBvbiBQUk9EIG9yIERFViBtb2RlLiBJblxuICAvLyBERVYgbW9kZSwgd2UgY3JlYXRlIGEgc2VwYXJhdGUgb2JqZWN0IGZvciBDb250ZXh0LkNvbnN1bWVyIHRoYXQgYWN0c1xuICAvLyBsaWtlIGEgcHJveHkgdG8gQ29udGV4dC4gVGhpcyBwcm94eSBvYmplY3QgYWRkcyB1bm5lY2Vzc2FyeSBjb2RlIGluIFBST0RcbiAgLy8gc28gd2UgdXNlIHRoZSBvbGQgYmVoYXZpb3VyIChDb250ZXh0LkNvbnN1bWVyIHJlZmVyZW5jZXMgQ29udGV4dCkgdG9cbiAgLy8gcmVkdWNlIHNpemUgYW5kIG92ZXJoZWFkLiBUaGUgc2VwYXJhdGUgb2JqZWN0IHJlZmVyZW5jZXMgY29udGV4dCB2aWFcbiAgLy8gYSBwcm9wZXJ0eSBjYWxsZWQgXCJfY29udGV4dFwiLCB3aGljaCBhbHNvIGdpdmVzIHVzIHRoZSBhYmlsaXR5IHRvIGNoZWNrXG4gIC8vIGluIERFViBtb2RlIGlmIHRoaXMgcHJvcGVydHkgZXhpc3RzIG9yIG5vdCBhbmQgd2FybiBpZiBpdCBkb2VzIG5vdC5cblxuICB7XG4gICAgaWYgKGNvbnRleHQuX2NvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVGhpcyBtYXkgYmUgYmVjYXVzZSBpdCdzIGEgQ29udGV4dCAocmF0aGVyIHRoYW4gYSBDb25zdW1lcikuXG4gICAgICAvLyBPciBpdCBtYXkgYmUgYmVjYXVzZSBpdCdzIG9sZGVyIFJlYWN0IHdoZXJlIHRoZXkncmUgdGhlIHNhbWUgdGhpbmcuXG4gICAgICAvLyBXZSBvbmx5IHdhbnQgdG8gd2FybiBpZiB3ZSdyZSBzdXJlIGl0J3MgYSBuZXcgUmVhY3QuXG4gICAgICBpZiAoY29udGV4dCAhPT0gY29udGV4dC5Db25zdW1lcikge1xuICAgICAgICBpZiAoIWhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lcikge1xuICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVuZGVyaW5nIDxDb250ZXh0PiBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gcmVuZGVyIDxDb250ZXh0LkNvbnN1bWVyPiBpbnN0ZWFkPycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9jb250ZXh0O1xuICAgIH1cbiAgfVxuXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHJlbmRlciA9IG5ld1Byb3BzLmNoaWxkcmVuO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ0EgY29udGV4dCBjb25zdW1lciB3YXMgcmVuZGVyZWQgd2l0aCBtdWx0aXBsZSBjaGlsZHJlbiwgb3IgYSBjaGlsZCAnICsgXCJ0aGF0IGlzbid0IGEgZnVuY3Rpb24uIEEgY29udGV4dCBjb25zdW1lciBleHBlY3RzIGEgc2luZ2xlIGNoaWxkIFwiICsgJ3RoYXQgaXMgYSBmdW5jdGlvbi4gSWYgeW91IGRpZCBwYXNzIGEgZnVuY3Rpb24sIG1ha2Ugc3VyZSB0aGVyZSAnICsgJ2lzIG5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBhcm91bmQgaXQuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgdmFyIG5ld1ZhbHVlID0gcmVhZENvbnRleHQoY29udGV4dCk7XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHZhciBuZXdDaGlsZHJlbjtcblxuICB7XG4gICAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgbmV3Q2hpbGRyZW4gPSByZW5kZXIobmV3VmFsdWUpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCkge1xuICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVzZXRTdXNwZW5kZWRDdXJyZW50T25Nb3VudEluTGVnYWN5TW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGxhenkgY29tcG9uZW50IG9ubHkgbW91bnRzIGlmIGl0IHN1c3BlbmRlZCBpbnNpZGUgYSBub24tXG4gICAgICAvLyBjb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0byB0cmVhdCBpdCBsaWtlXG4gICAgICAvLyBhIG5ldyBtb3VudCwgZXZlbiB0aG91Z2ggYW4gZW1wdHkgdmVyc2lvbiBvZiBpdCBhbHJlYWR5IGNvbW1pdHRlZC5cbiAgICAgIC8vIERpc2Nvbm5lY3QgdGhlIGFsdGVybmF0ZSBwb2ludGVycy5cbiAgICAgIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICAgIHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIFNpbmNlIHRoaXMgaXMgY29uY2VwdHVhbGx5IGEgbmV3IGZpYmVyLCBzY2hlZHVsZSBhIFBsYWNlbWVudCBlZmZlY3RcblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIC8vIFJldXNlIHByZXZpb3VzIGRlcGVuZGVuY2llc1xuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnQuZGVwZW5kZW5jaWVzO1xuICB9XG5cbiAge1xuICAgIC8vIERvbid0IHVwZGF0ZSBcImJhc2VcIiByZW5kZXIgdGltZXMgZm9yIGJhaWxvdXRzLlxuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nKCk7XG4gIH1cblxuICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzKTsgLy8gQ2hlY2sgaWYgdGhlIGNoaWxkcmVuIGhhdmUgYW55IHBlbmRpbmcgd29yay5cblxuICBpZiAoIWluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMpKSB7XG4gICAgLy8gVGhlIGNoaWxkcmVuIGRvbid0IGhhdmUgYW55IHdvcmsgZWl0aGVyLiBXZSBjYW4gc2tpcCB0aGVtLlxuICAgIC8vIFRPRE86IE9uY2Ugd2UgYWRkIGJhY2sgcmVzdW1pbmcsIHdlIHNob3VsZCBjaGVjayBpZiB0aGUgY2hpbGRyZW4gYXJlXG4gICAgLy8gYSB3b3JrLWluLXByb2dyZXNzIHNldC4gSWYgc28sIHdlIG5lZWQgdG8gdHJhbnNmZXIgdGhlaXIgZWZmZWN0cy5cbiAgICB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0gLy8gVGhpcyBmaWJlciBkb2Vzbid0IGhhdmUgd29yaywgYnV0IGl0cyBzdWJ0cmVlIGRvZXMuIENsb25lIHRoZSBjaGlsZFxuICAvLyBmaWJlcnMgYW5kIGNvbnRpbnVlLlxuXG5cbiAgY2xvbmVDaGlsZEZpYmVycyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gcmVtb3VudEZpYmVyKGN1cnJlbnQsIG9sZFdvcmtJblByb2dyZXNzLCBuZXdXb3JrSW5Qcm9ncmVzcykge1xuICB7XG4gICAgdmFyIHJldHVybkZpYmVyID0gb2xkV29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuXG4gICAgaWYgKHJldHVybkZpYmVyID09PSBudWxsKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3dhcCB0aGUgcm9vdCBmaWJlci4nKTtcbiAgICB9IC8vIERpc2Nvbm5lY3QgZnJvbSB0aGUgb2xkIGN1cnJlbnQuXG4gICAgLy8gSXQgd2lsbCBnZXQgZGVsZXRlZC5cblxuXG4gICAgY3VycmVudC5hbHRlcm5hdGUgPSBudWxsO1xuICAgIG9sZFdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIENvbm5lY3QgdG8gdGhlIG5ldyB0cmVlLlxuXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuaW5kZXggPSBvbGRXb3JrSW5Qcm9ncmVzcy5pbmRleDtcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5zaWJsaW5nID0gb2xkV29ya0luUHJvZ3Jlc3Muc2libGluZztcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5yZXR1cm4gPSBvbGRXb3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gICAgbmV3V29ya0luUHJvZ3Jlc3MucmVmID0gb2xkV29ya0luUHJvZ3Jlc3MucmVmOyAvLyBSZXBsYWNlIHRoZSBjaGlsZC9zaWJsaW5nIHBvaW50ZXJzIGFib3ZlIGl0LlxuXG4gICAgaWYgKG9sZFdvcmtJblByb2dyZXNzID09PSByZXR1cm5GaWJlci5jaGlsZCkge1xuICAgICAgcmV0dXJuRmliZXIuY2hpbGQgPSBuZXdXb3JrSW5Qcm9ncmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHByZXZTaWJsaW5nID0gcmV0dXJuRmliZXIuY2hpbGQ7XG5cbiAgICAgIGlmIChwcmV2U2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHBhcmVudCB0byBoYXZlIGEgY2hpbGQuJyk7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChwcmV2U2libGluZy5zaWJsaW5nICE9PSBvbGRXb3JrSW5Qcm9ncmVzcykge1xuICAgICAgICBwcmV2U2libGluZyA9IHByZXZTaWJsaW5nLnNpYmxpbmc7XG5cbiAgICAgICAgaWYgKHByZXZTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgdGhlIHByZXZpb3VzIHNpYmxpbmcuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcHJldlNpYmxpbmcuc2libGluZyA9IG5ld1dvcmtJblByb2dyZXNzO1xuICAgIH0gLy8gRGVsZXRlIHRoZSBvbGQgZmliZXIgYW5kIHBsYWNlIHRoZSBuZXcgb25lLlxuICAgIC8vIFNpbmNlIHRoZSBvbGQgZmliZXIgaXMgZGlzY29ubmVjdGVkLCB3ZSBoYXZlIHRvIHNjaGVkdWxlIGl0IG1hbnVhbGx5LlxuXG5cbiAgICB2YXIgZGVsZXRpb25zID0gcmV0dXJuRmliZXIuZGVsZXRpb25zO1xuXG4gICAgaWYgKGRlbGV0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuRmliZXIuZGVsZXRpb25zID0gW2N1cnJlbnRdO1xuICAgICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRpb25zLnB1c2goY3VycmVudCk7XG4gICAgfVxuXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGxhY2VtZW50OyAvLyBSZXN0YXJ0IHdvcmsgZnJvbSB0aGUgbmV3IGZpYmVyLlxuXG4gICAgcmV0dXJuIG5ld1dvcmtJblByb2dyZXNzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0KGN1cnJlbnQsIHJlbmRlckxhbmVzKSB7XG4gIC8vIEJlZm9yZSBwZXJmb3JtaW5nIGFuIGVhcmx5IGJhaWxvdXQsIHdlIG11c3QgY2hlY2sgaWYgdGhlcmUgYXJlIHBlbmRpbmdcbiAgLy8gdXBkYXRlcyBvciBjb250ZXh0LlxuICB2YXIgdXBkYXRlTGFuZXMgPSBjdXJyZW50LmxhbmVzO1xuXG4gIGlmIChpbmNsdWRlc1NvbWVMYW5lKHVwZGF0ZUxhbmVzLCByZW5kZXJMYW5lcykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBObyBwZW5kaW5nIHVwZGF0ZSwgYnV0IGJlY2F1c2UgY29udGV4dCBpcyBwcm9wYWdhdGVkIGxhemlseSwgd2UgbmVlZFxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdEVhcmx5QmFpbG91dElmTm9TY2hlZHVsZWRVcGRhdGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgZmliZXIgZG9lcyBub3QgaGF2ZSBhbnkgcGVuZGluZyB3b3JrLiBCYWlsb3V0IHdpdGhvdXQgZW50ZXJpbmdcbiAgLy8gdGhlIGJlZ2luIHBoYXNlLiBUaGVyZSdzIHN0aWxsIHNvbWUgYm9va2tlZXBpbmcgd2UgdGhhdCBuZWVkcyB0byBiZSBkb25lXG4gIC8vIGluIHRoaXMgb3B0aW1pemVkIHBhdGgsIG1vc3RseSBwdXNoaW5nIHN0dWZmIG9udG8gdGhlIHN0YWNrLlxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gICAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHB1c2hIb3N0Q29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuXG4gICAgICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAge1xuICAgICAgICB2YXIgbmV3VmFsdWUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnZhbHVlO1xuICAgICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICAgIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgbmV3VmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICB7XG4gICAgICAgIC8vIFByb2ZpbGVyIHNob3VsZCBvbmx5IGNhbGwgb25SZW5kZXIgd2hlbiBvbmUgb2YgaXRzIGRlc2NlbmRhbnRzIGFjdHVhbGx5IHJlbmRlcmVkLlxuICAgICAgICB2YXIgaGFzQ2hpbGRXb3JrID0gaW5jbHVkZXNTb21lTGFuZShyZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyk7XG5cbiAgICAgICAgaWYgKGhhc0NoaWxkV29yaykge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBSZXNldCBlZmZlY3QgZHVyYXRpb25zIGZvciB0aGUgbmV4dCBldmVudHVhbCBlZmZlY3QgcGhhc2UuXG4gICAgICAgICAgLy8gVGhlc2UgYXJlIHJlc2V0IGR1cmluZyByZW5kZXIgdG8gYWxsb3cgdGhlIERldlRvb2xzIGNvbW1pdCBob29rIGEgY2hhbmNlIHRvIHJlYWQgdGhlbSxcbiAgICAgICAgICB2YXIgc3RhdGVOb2RlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgICAgICAgIHN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICAgICAgc3RhdGVOb2RlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChzdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gV2Uga25vdyB0aGF0IHRoaXMgY29tcG9uZW50IHdpbGwgc3VzcGVuZCBhZ2FpbiBiZWNhdXNlIGlmIGl0IGhhc1xuICAgICAgICAgICAgLy8gYmVlbiB1bnN1c3BlbmRlZCBpdCBoYXMgY29tbWl0dGVkIGFzIGEgcmVzb2x2ZWQgU3VzcGVuc2UgY29tcG9uZW50LlxuICAgICAgICAgICAgLy8gSWYgaXQgbmVlZHMgdG8gYmUgcmV0cmllZCwgaXQgc2hvdWxkIGhhdmUgd29yayBzY2hlZHVsZWQgb24gaXQuXG5cbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7IC8vIFdlIHNob3VsZCBuZXZlciByZW5kZXIgdGhlIGNoaWxkcmVuIG9mIGEgZGVoeWRyYXRlZCBib3VuZGFyeSB1bnRpbCB3ZVxuICAgICAgICAgICAgLy8gdXBncmFkZSBpdC4gV2UgcmV0dXJuIG51bGwgaW5zdGVhZCBvZiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrLlxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9IC8vIElmIHRoaXMgYm91bmRhcnkgaXMgY3VycmVudGx5IHRpbWVkIG91dCwgd2UgbmVlZCB0byBkZWNpZGVcbiAgICAgICAgICAvLyB3aGV0aGVyIHRvIHJldHJ5IHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBvciB0byBza2lwIG92ZXIgaXQgYW5kXG4gICAgICAgICAgLy8gZ28gc3RyYWlnaHQgdG8gdGhlIGZhbGxiYWNrLiBDaGVjayB0aGUgcHJpb3JpdHkgb2YgdGhlIHByaW1hcnlcbiAgICAgICAgICAvLyBjaGlsZCBmcmFnbWVudC5cblxuXG4gICAgICAgICAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgdmFyIHByaW1hcnlDaGlsZExhbmVzID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcztcblxuICAgICAgICAgIGlmIChpbmNsdWRlc1NvbWVMYW5lKHJlbmRlckxhbmVzLCBwcmltYXJ5Q2hpbGRMYW5lcykpIHtcbiAgICAgICAgICAgIC8vIFRoZSBwcmltYXJ5IGNoaWxkcmVuIGhhdmUgcGVuZGluZyB3b3JrLiBVc2UgdGhlIG5vcm1hbCBwYXRoXG4gICAgICAgICAgICAvLyB0byBhdHRlbXB0IHRvIHJlbmRlciB0aGUgcHJpbWFyeSBjaGlsZHJlbiBhZ2Fpbi5cbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUaGUgcHJpbWFyeSBjaGlsZCBmcmFnbWVudCBkb2VzIG5vdCBoYXZlIHBlbmRpbmcgd29yayBtYXJrZWRcbiAgICAgICAgICAgIC8vIG9uIGl0XG4gICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gVGhlIHByaW1hcnkgY2hpbGRyZW4gZG8gbm90IGhhdmUgcGVuZGluZyB3b3JrIHdpdGggc3VmZmljaWVudFxuICAgICAgICAgICAgLy8gcHJpb3JpdHkuIEJhaWxvdXQuXG5cbiAgICAgICAgICAgIHZhciBjaGlsZCA9IGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgICAgICAgICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoZSBmYWxsYmFjayBjaGlsZHJlbiBoYXZlIHBlbmRpbmcgd29yay4gU2tpcCBvdmVyIHRoZVxuICAgICAgICAgICAgICAvLyBwcmltYXJ5IGNoaWxkcmVuIGFuZCB3b3JrIG9uIHRoZSBmYWxsYmFjay5cbiAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLnNpYmxpbmc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBOb3RlOiBXZSBjYW4gcmV0dXJuIGBudWxsYCBoZXJlIGJlY2F1c2Ugd2UgYWxyZWFkeSBjaGVja2VkXG4gICAgICAgICAgICAgIC8vIHdoZXRoZXIgdGhlcmUgd2VyZSBuZXN0ZWQgY29udGV4dCBjb25zdW1lcnMsIHZpYSB0aGUgY2FsbCB0b1xuICAgICAgICAgICAgICAvLyBgYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29ya2AgYWJvdmUuXG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBkaWRTdXNwZW5kQmVmb3JlID0gKGN1cnJlbnQuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncztcblxuICAgICAgICB2YXIgX2hhc0NoaWxkV29yayA9IGluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMpO1xuXG4gICAgICAgIGlmIChkaWRTdXNwZW5kQmVmb3JlKSB7XG4gICAgICAgICAgaWYgKF9oYXNDaGlsZFdvcmspIHtcbiAgICAgICAgICAgIC8vIElmIHNvbWV0aGluZyB3YXMgaW4gZmFsbGJhY2sgc3RhdGUgbGFzdCB0aW1lLCBhbmQgd2UgaGF2ZSBhbGwgdGhlXG4gICAgICAgICAgICAvLyBzYW1lIGNoaWxkcmVuIHRoZW4gd2UncmUgc3RpbGwgaW4gcHJvZ3Jlc3NpdmUgbG9hZGluZyBzdGF0ZS5cbiAgICAgICAgICAgIC8vIFNvbWV0aGluZyBtaWdodCBnZXQgdW5ibG9ja2VkIGJ5IHN0YXRlIHVwZGF0ZXMgb3IgcmV0cmllcyBpbiB0aGVcbiAgICAgICAgICAgIC8vIHRyZWUgd2hpY2ggd2lsbCBhZmZlY3QgdGhlIHRhaWwuIFNvIHdlIG5lZWQgdG8gdXNlIHRoZSBub3JtYWxcbiAgICAgICAgICAgIC8vIHBhdGggdG8gY29tcHV0ZSB0aGUgY29ycmVjdCB0YWlsLlxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlTGlzdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH0gLy8gSWYgbm9uZSBvZiB0aGUgY2hpbGRyZW4gaGFkIGFueSB3b3JrLCB0aGF0IG1lYW5zIHRoYXQgbm9uZSBvZlxuICAgICAgICAgIC8vIHRoZW0gZ290IHJldHJpZWQgc28gdGhleSdsbCBzdGlsbCBiZSBibG9ja2VkIGluIHRoZSBzYW1lIHdheVxuICAgICAgICAgIC8vIGFzIGJlZm9yZS4gV2UgY2FuIGZhc3QgYmFpbCBvdXQuXG5cblxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgIH0gLy8gSWYgbm90aGluZyBzdXNwZW5kZWQgYmVmb3JlIGFuZCB3ZSdyZSByZW5kZXJpbmcgdGhlIHNhbWUgY2hpbGRyZW4sXG4gICAgICAgIC8vIHRoZW4gdGhlIHRhaWwgZG9lc24ndCBtYXR0ZXIuIEFueXRoaW5nIG5ldyB0aGF0IHN1c3BlbmRzIHdpbGwgd29ya1xuICAgICAgICAvLyBpbiB0aGUgXCJ0b2dldGhlclwiIG1vZGUsIHNvIHdlIGNhbiBjb250aW51ZSBmcm9tIHRoZSBzdGF0ZSB3ZSBoYWQuXG5cblxuICAgICAgICB2YXIgcmVuZGVyU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFJlc2V0IHRvIHRoZSBcInRvZ2V0aGVyXCIgbW9kZSBpbiBjYXNlIHdlJ3ZlIHN0YXJ0ZWQgYSBkaWZmZXJlbnRcbiAgICAgICAgICAvLyB1cGRhdGUgaW4gdGhlIHBhc3QgYnV0IGRpZG4ndCBjb21wbGV0ZSBpdC5cbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnRhaWwgPSBudWxsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLmxhc3RFZmZlY3QgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50KTtcblxuICAgICAgICBpZiAoX2hhc0NoaWxkV29yaykge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGNoaWxkcmVuIGhhZCBhbnkgd29yaywgdGhhdCBtZWFucyB0aGF0IG5vbmUgb2ZcbiAgICAgICAgICAvLyB0aGVtIGdvdCByZXRyaWVkIHNvIHRoZXknbGwgc3RpbGwgYmUgYmxvY2tlZCBpbiB0aGUgc2FtZSB3YXlcbiAgICAgICAgICAvLyBhcyBiZWZvcmUuIFdlIGNhbiBmYXN0IGJhaWwgb3V0LlxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gTmVlZCB0byBjaGVjayBpZiB0aGUgdHJlZSBzdGlsbCBuZWVkcyB0byBiZSBkZWZlcnJlZC4gVGhpcyBpc1xuICAgICAgICAvLyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBsb2dpYyB1c2VkIGluIHRoZSBub3JtYWwgdXBkYXRlIHBhdGgsXG4gICAgICAgIC8vIHNvIHdlJ2xsIGp1c3QgZW50ZXIgdGhhdC4gVGhlIG9ubHkgZGlmZmVyZW5jZSBpcyB3ZSdsbCBiYWlsIG91dFxuICAgICAgICAvLyBhdCB0aGUgbmV4dCBsZXZlbCBpbnN0ZWFkIG9mIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjaGlsZCBwcm9wc1xuICAgICAgICAvLyBoYXZlIG5vdCBjaGFuZ2VkLiBXaGljaCBpcyBmaW5lLlxuICAgICAgICAvLyBUT0RPOiBQcm9iYWJseSBzaG91bGQgcmVmYWN0b3IgYGJlZ2luV29ya2AgdG8gc3BsaXQgdGhlIGJhaWxvdXRcbiAgICAgICAgLy8gcGF0aCBmcm9tIHRoZSBub3JtYWwgcGF0aC4gSSdtIHRlbXB0ZWQgdG8gZG8gYSBsYWJlbGVkIGJyZWFrIGhlcmVcbiAgICAgICAgLy8gYnV0IEkgd29uJ3QgOilcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBOb0xhbmVzO1xuICAgICAgICByZXR1cm4gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiBiZWdpbldvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MuX2RlYnVnTmVlZHNSZW1vdW50ICYmIGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgd2lsbCByZXN0YXJ0IHRoZSBiZWdpbiBwaGFzZSB3aXRoIGEgbmV3IGZpYmVyLlxuICAgICAgcmV0dXJuIHJlbW91bnRGaWJlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHdvcmtJblByb2dyZXNzLnR5cGUsIHdvcmtJblByb2dyZXNzLmtleSwgd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLCB3b3JrSW5Qcm9ncmVzcy5fZGVidWdPd25lciB8fCBudWxsLCB3b3JrSW5Qcm9ncmVzcy5tb2RlLCB3b3JrSW5Qcm9ncmVzcy5sYW5lcykpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIG9sZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcblxuICAgIGlmIChvbGRQcm9wcyAhPT0gbmV3UHJvcHMgfHwgaGFzQ29udGV4dENoYW5nZWQoKSB8fCAoIC8vIEZvcmNlIGEgcmUtcmVuZGVyIGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VkIGR1ZSB0byBob3QgcmVsb2FkOlxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSBjdXJyZW50LnR5cGUgKSkge1xuICAgICAgLy8gSWYgcHJvcHMgb3IgY29udGV4dCBjaGFuZ2VkLCBtYXJrIHRoZSBmaWJlciBhcyBoYXZpbmcgcGVyZm9ybWVkIHdvcmsuXG4gICAgICAvLyBUaGlzIG1heSBiZSB1bnNldCBpZiB0aGUgcHJvcHMgYXJlIGRldGVybWluZWQgdG8gYmUgZXF1YWwgbGF0ZXIgKG1lbW8pLlxuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5laXRoZXIgcHJvcHMgbm9yIGxlZ2FjeSBjb250ZXh0IGNoYW5nZXMuIENoZWNrIGlmIHRoZXJlJ3MgYSBwZW5kaW5nXG4gICAgICAvLyB1cGRhdGUgb3IgY29udGV4dCBjaGFuZ2UuXG4gICAgICB2YXIgaGFzU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0ID0gY2hlY2tTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQoY3VycmVudCwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBpZiAoIWhhc1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dCAmJiAvLyBJZiB0aGlzIGlzIHRoZSBzZWNvbmQgcGFzcyBvZiBhbiBlcnJvciBvciBzdXNwZW5zZSBib3VuZGFyeSwgdGhlcmVcbiAgICAgIC8vIG1heSBub3QgYmUgd29yayBzY2hlZHVsZWQgb24gYGN1cnJlbnRgLCBzbyB3ZSBjaGVjayBmb3IgdGhpcyBmbGFnLlxuICAgICAgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MpIHtcbiAgICAgICAgLy8gTm8gcGVuZGluZyB1cGRhdGVzIG9yIGNvbnRleHQuIEJhaWwgb3V0IG5vdy5cbiAgICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYXR0ZW1wdEVhcmx5QmFpbG91dElmTm9TY2hlZHVsZWRVcGRhdGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKChjdXJyZW50LmZsYWdzICYgRm9yY2VVcGRhdGVGb3JMZWdhY3lTdXNwZW5zZSkgIT09IE5vRmxhZ3MpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZSB0aGF0IG9ubHkgZXhpc3RzIGZvciBsZWdhY3kgbW9kZS5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzE5MjE2LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9uIHRoaXMgZmliZXIsIGJ1dCB0aGVyZSBhcmUgbm8gbmV3IHByb3BzXG4gICAgICAgIC8vIG5vciBsZWdhY3kgY29udGV4dC4gU2V0IHRoaXMgdG8gZmFsc2UuIElmIGFuIHVwZGF0ZSBxdWV1ZSBvciBjb250ZXh0XG4gICAgICAgIC8vIGNvbnN1bWVyIHByb2R1Y2VzIGEgY2hhbmdlZCB2YWx1ZSwgaXQgd2lsbCBzZXQgdGhpcyB0byB0cnVlLiBPdGhlcndpc2UsXG4gICAgICAgIC8vIHRoZSBjb21wb25lbnQgd2lsbCBhc3N1bWUgdGhlIGNoaWxkcmVuIGhhdmUgbm90IGNoYW5nZWQgYW5kIGJhaWwgb3V0LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpKSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGlzIGNoaWxkIGJlbG9uZ3MgdG8gYSBsaXN0IG9mIG11bGlwbGUgY2hpbGRyZW4gaW5cbiAgICAgIC8vIGl0cyBwYXJlbnQuXG4gICAgICAvL1xuICAgICAgLy8gSW4gYSB0cnVlIG11bHRpLXRocmVhZGVkIGltcGxlbWVudGF0aW9uLCB3ZSB3b3VsZCByZW5kZXIgY2hpbGRyZW4gb25cbiAgICAgIC8vIHBhcmFsbGVsIHRocmVhZHMuIFRoaXMgd291bGQgcmVwcmVzZW50IHRoZSBiZWdpbm5pbmcgb2YgYSBuZXcgcmVuZGVyXG4gICAgICAvLyB0aHJlYWQgZm9yIHRoaXMgc3VidHJlZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBvbmx5IHVzZSB0aGlzIGZvciBpZCBnZW5lcmF0aW9uIGR1cmluZyBoeWRyYXRpb24sIHdoaWNoIGlzIHdoeSB0aGVcbiAgICAgIC8vIGxvZ2ljIGlzIGxvY2F0ZWQgaW4gdGhpcyBzcGVjaWFsIGJyYW5jaC5cbiAgICAgIHZhciBzbG90SW5kZXggPSB3b3JrSW5Qcm9ncmVzcy5pbmRleDtcbiAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gZ2V0Rm9ya3NBdExldmVsKCk7XG4gICAgICBwdXNoVHJlZUlkKHdvcmtJblByb2dyZXNzLCBudW1iZXJPZkZvcmtzLCBzbG90SW5kZXgpO1xuICAgIH1cbiAgfSAvLyBCZWZvcmUgZW50ZXJpbmcgdGhlIGJlZ2luIHBoYXNlLCBjbGVhciBwZW5kaW5nIHVwZGF0ZSBwcmlvcml0eS5cbiAgLy8gVE9ETzogVGhpcyBhc3N1bWVzIHRoYXQgd2UncmUgYWJvdXQgdG8gZXZhbHVhdGUgdGhlIGNvbXBvbmVudCBhbmQgcHJvY2Vzc1xuICAvLyB0aGUgdXBkYXRlIHF1ZXVlLiBIb3dldmVyLCB0aGVyZSdzIGFuIGV4Y2VwdGlvbjogU2ltcGxlTWVtb0NvbXBvbmVudFxuICAvLyBzb21ldGltZXMgYmFpbHMgb3V0IGxhdGVyIGluIHRoZSBiZWdpbiBwaGFzZS4gVGhpcyBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGRcbiAgLy8gbW92ZSB0aGlzIGFzc2lnbm1lbnQgb3V0IG9mIHRoZSBjb21tb24gcGF0aCBhbmQgaW50byBlYWNoIGJyYW5jaC5cblxuXG4gIHdvcmtJblByb2dyZXNzLmxhbmVzID0gTm9MYW5lcztcblxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIG1vdW50SW5kZXRlcm1pbmF0ZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MudHlwZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZTtcbiAgICAgICAgcmV0dXJuIG1vdW50TGF6eUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgdW5yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICAgICAgICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBDb21wb25lbnQgPyB1bnJlc29sdmVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudCwgdW5yZXNvbHZlZFByb3BzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPT09IF9Db21wb25lbnQgPyBfdW5yZXNvbHZlZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50LCBfdW5yZXNvbHZlZFByb3BzKTtcblxuICAgICAgICByZXR1cm4gdXBkYXRlQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9Db21wb25lbnQsIF9yZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAgcmV0dXJuIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHJldHVybiB1cGRhdGVIb3N0VGV4dChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICByZXR1cm4gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICB7XG4gICAgICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMyID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gICAgICAgIHZhciBfcmVzb2x2ZWRQcm9wczIgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSA9PT0gdHlwZSA/IF91bnJlc29sdmVkUHJvcHMyIDogcmVzb2x2ZURlZmF1bHRQcm9wcyh0eXBlLCBfdW5yZXNvbHZlZFByb3BzMik7XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZvcndhcmRSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHR5cGUsIF9yZXNvbHZlZFByb3BzMiwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBGcmFnbWVudDpcbiAgICAgIHJldHVybiB1cGRhdGVGcmFnbWVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBNb2RlOlxuICAgICAgcmV0dXJuIHVwZGF0ZU1vZGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICByZXR1cm4gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgcmV0dXJuIHVwZGF0ZUNvbnRleHRQcm92aWRlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBDb250ZXh0Q29uc3VtZXI6XG4gICAgICByZXR1cm4gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfdHlwZTIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFJlc29sdmUgb3V0ZXIgcHJvcHMgZmlyc3QsIHRoZW4gcmVzb2x2ZSBpbm5lciBwcm9wcy5cblxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIsIF91bnJlc29sdmVkUHJvcHMzKTtcblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAgICAgICB2YXIgb3V0ZXJQcm9wVHlwZXMgPSBfdHlwZTIucHJvcFR5cGVzO1xuXG4gICAgICAgICAgICBpZiAob3V0ZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIF9yZXNvbHZlZFByb3BzMywgLy8gUmVzb2x2ZWQgZm9yIG91dGVyIG9ubHlcbiAgICAgICAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoX3R5cGUyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIudHlwZSwgX3Jlc29sdmVkUHJvcHMzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF90eXBlMiwgX3Jlc29sdmVkUHJvcHMzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy50eXBlLCB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX0NvbXBvbmVudDIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczQgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzNCA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50MiA/IF91bnJlc29sdmVkUHJvcHM0IDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50MiwgX3VucmVzb2x2ZWRQcm9wczQpO1xuXG4gICAgICAgIHJldHVybiBtb3VudEluY29tcGxldGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgX0NvbXBvbmVudDIsIF9yZXNvbHZlZFByb3BzNCwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUxpc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU9mZnNjcmVlbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biB1bml0IG9mIHdvcmsgdGFnIChcIiArIHdvcmtJblByb2dyZXNzLnRhZyArIFwiKS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFwiICsgJ1JlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbn1cblxuZnVuY3Rpb24gbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBUYWcgdGhlIGZpYmVyIHdpdGggYW4gdXBkYXRlIGVmZmVjdC4gVGhpcyB0dXJucyBhIFBsYWNlbWVudCBpbnRvXG4gIC8vIGEgUGxhY2VtZW50QW5kVXBkYXRlLlxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG59XG5cbmZ1bmN0aW9uIG1hcmtSZWYkMSh3b3JrSW5Qcm9ncmVzcykge1xuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWY7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFJlZlN0YXRpYztcbiAgfVxufVxuXG52YXIgYXBwZW5kQWxsQ2hpbGRyZW47XG52YXIgdXBkYXRlSG9zdENvbnRhaW5lcjtcbnZhciB1cGRhdGVIb3N0Q29tcG9uZW50JDE7XG52YXIgdXBkYXRlSG9zdFRleHQkMTtcblxue1xuICAvLyBNdXRhdGlvbiBtb2RlXG4gIGFwcGVuZEFsbENoaWxkcmVuID0gZnVuY3Rpb24gKHBhcmVudCwgd29ya0luUHJvZ3Jlc3MsIG5lZWRzVmlzaWJpbGl0eVRvZ2dsZSwgaXNIaWRkZW4pIHtcbiAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBjcmVhdGVkIGJ1dCB3ZSBuZWVkIHJlY3Vyc2UgZG93biBpdHNcbiAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgbm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgICAgIGFwcGVuZEluaXRpYWxDaGlsZChwYXJlbnQsIG5vZGUuc3RhdGVOb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIDsgZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICAgIH1cbiAgfTtcblxuICB1cGRhdGVIb3N0Q29udGFpbmVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7Ly8gTm9vcFxuICB9O1xuXG4gIHVwZGF0ZUhvc3RDb21wb25lbnQkMSA9IGZ1bmN0aW9uIChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgdHlwZSwgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICAgIC8vIElmIHdlIGhhdmUgYW4gYWx0ZXJuYXRlLCB0aGF0IG1lYW5zIHRoaXMgaXMgYW4gdXBkYXRlIGFuZCB3ZSBuZWVkIHRvXG4gICAgLy8gc2NoZWR1bGUgYSBzaWRlLWVmZmVjdCB0byBkbyB0aGUgdXBkYXRlcy5cbiAgICB2YXIgb2xkUHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzKSB7XG4gICAgICAvLyBJbiBtdXRhdGlvbiBtb2RlLCB0aGlzIGlzIHN1ZmZpY2llbnQgZm9yIGEgYmFpbG91dCBiZWNhdXNlXG4gICAgICAvLyB3ZSB3b24ndCB0b3VjaCB0aGlzIG5vZGUgZXZlbiBpZiBjaGlsZHJlbiBjaGFuZ2VkLlxuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgd2UgZ2V0IHVwZGF0ZWQgYmVjYXVzZSBvbmUgb2Ygb3VyIGNoaWxkcmVuIHVwZGF0ZWQsIHdlIGRvbid0XG4gICAgLy8gaGF2ZSBuZXdQcm9wcyBzbyB3ZSdsbCBoYXZlIHRvIHJldXNlIHRoZW0uXG4gICAgLy8gVE9ETzogU3BsaXQgdGhlIHVwZGF0ZSBBUEkgYXMgc2VwYXJhdGUgZm9yIHRoZSBwcm9wcyB2cy4gY2hpbGRyZW4uXG4gICAgLy8gRXZlbiBiZXR0ZXIgd291bGQgYmUgaWYgY2hpbGRyZW4gd2VyZW4ndCBzcGVjaWFsIGNhc2VkIGF0IGFsbCB0aG8uXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICB2YXIgY3VycmVudEhvc3RDb250ZXh0ID0gZ2V0SG9zdENvbnRleHQoKTsgLy8gVE9ETzogRXhwZXJpZW5jaW5nIGFuIGVycm9yIHdoZXJlIG9sZFByb3BzIGlzIG51bGwuIFN1Z2dlc3RzIGEgaG9zdFxuICAgIC8vIGNvbXBvbmVudCBpcyBoaXR0aW5nIHRoZSByZXN1bWUgcGF0aC4gRmlndXJlIG91dCB3aHkuIFBvc3NpYmx5XG4gICAgLy8gcmVsYXRlZCB0byBgaGlkZGVuYC5cblxuICAgIHZhciB1cGRhdGVQYXlsb2FkID0gcHJlcGFyZVVwZGF0ZShpbnN0YW5jZSwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCk7IC8vIFRPRE86IFR5cGUgdGhpcyBzcGVjaWZpYyB0byB0aGlzIHR5cGUgb2YgY29tcG9uZW50LlxuXG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSB1cGRhdGVQYXlsb2FkOyAvLyBJZiB0aGUgdXBkYXRlIHBheWxvYWQgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSBjaGFuZ2Ugb3IgaWYgdGhlcmVcbiAgICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS4gQWxsIHRoZSB3b3JrIGlzIGRvbmUgaW4gY29tbWl0V29yay5cblxuICAgIGlmICh1cGRhdGVQYXlsb2FkKSB7XG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH07XG5cbiAgdXBkYXRlSG9zdFRleHQkMSA9IGZ1bmN0aW9uIChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgb2xkVGV4dCwgbmV3VGV4dCkge1xuICAgIC8vIElmIHRoZSB0ZXh0IGRpZmZlcnMsIG1hcmsgaXQgYXMgYW4gdXBkYXRlLiBBbGwgdGhlIHdvcmsgaW4gZG9uZSBpbiBjb21taXRXb3JrLlxuICAgIGlmIChvbGRUZXh0ICE9PSBuZXdUZXh0KSB7XG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgaGFzUmVuZGVyZWRBVGFpbEZhbGxiYWNrKSB7XG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgLy8gSWYgd2UncmUgaHlkcmF0aW5nLCB3ZSBzaG91bGQgY29uc3VtZSBhcyBtYW55IGl0ZW1zIGFzIHdlIGNhblxuICAgIC8vIHNvIHdlIGRvbid0IGxlYXZlIGFueSBiZWhpbmQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3dpdGNoIChyZW5kZXJTdGF0ZS50YWlsTW9kZSkge1xuICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgdGFpbE5vZGUgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICB2YXIgbGFzdFRhaWxOb2RlID0gbnVsbDtcblxuICAgICAgICB3aGlsZSAodGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAodGFpbE5vZGUuYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsYXN0VGFpbE5vZGUgPSB0YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWlsTm9kZSA9IHRhaWxOb2RlLnNpYmxpbmc7XG4gICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBzaW1wbHkgZ29pbmcgdG8gZGVsZXRlIGFsbCBpbnNlcnRpb25zIGFmdGVyIHRoZVxuICAgICAgICAvLyBsYXN0IHJlbmRlcmVkIGl0ZW0uXG5cblxuICAgICAgICBpZiAobGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcbiAgICAgICAgICAvLyBpbnNlcnRlZC5cbiAgICAgICAgICBsYXN0VGFpbE5vZGUuc2libGluZyA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2NvbGxhcHNlZCc6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgX3RhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcbiAgICAgICAgdmFyIF9sYXN0VGFpbE5vZGUgPSBudWxsO1xuXG4gICAgICAgIHdoaWxlIChfdGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAoX3RhaWxOb2RlLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX2xhc3RUYWlsTm9kZSA9IF90YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfdGFpbE5vZGUgPSBfdGFpbE5vZGUuc2libGluZztcbiAgICAgICAgfSAvLyBOZXh0IHdlJ3JlIHNpbXBseSBnb2luZyB0byBkZWxldGUgYWxsIGluc2VydGlvbnMgYWZ0ZXIgdGhlXG4gICAgICAgIC8vIGxhc3QgcmVuZGVyZWQgaXRlbS5cblxuXG4gICAgICAgIGlmIChfbGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICBpZiAoIWhhc1JlbmRlcmVkQVRhaWxGYWxsYmFjayAmJiByZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBXZSBzdXNwZW5kZWQgZHVyaW5nIHRoZSBoZWFkLiBXZSB3YW50IHRvIHNob3cgYXQgbGVhc3Qgb25lXG4gICAgICAgICAgICAvLyByb3cgYXQgdGhlIHRhaWwuIFNvIHdlJ2xsIGtlZXAgb24gYW5kIGN1dCBvZmYgdGhlIHJlc3QuXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRGV0YWNoIHRoZSBpbnNlcnRpb24gYWZ0ZXIgdGhlIGxhc3Qgbm9kZSB0aGF0IHdhcyBhbHJlYWR5XG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXG4gICAgICAgICAgX2xhc3RUYWlsTm9kZS5zaWJsaW5nID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGJ1YmJsZVByb3BlcnRpZXMoY29tcGxldGVkV29yaykge1xuICB2YXIgZGlkQmFpbG91dCA9IGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlICE9PSBudWxsICYmIGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlLmNoaWxkID09PSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuICB2YXIgbmV3Q2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gIHZhciBzdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzO1xuXG4gIGlmICghZGlkQmFpbG91dCkge1xuICAgIC8vIEJ1YmJsZSB1cCB0aGUgZWFybGllc3QgZXhwaXJhdGlvbiB0aW1lLlxuICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAvLyBJbiBwcm9maWxpbmcgbW9kZSwgcmVzZXRDaGlsZEV4cGlyYXRpb25UaW1lIGlzIGFsc28gdXNlZCB0byByZXNldFxuICAgICAgLy8gcHJvZmlsZXIgZHVyYXRpb25zLlxuICAgICAgdmFyIGFjdHVhbER1cmF0aW9uID0gY29tcGxldGVkV29yay5hY3R1YWxEdXJhdGlvbjtcbiAgICAgIHZhciB0cmVlQmFzZUR1cmF0aW9uID0gY29tcGxldGVkV29yay5zZWxmQmFzZUR1cmF0aW9uO1xuICAgICAgdmFyIGNoaWxkID0gY29tcGxldGVkV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5ld0NoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5ld0NoaWxkTGFuZXMsIG1lcmdlTGFuZXMoY2hpbGQubGFuZXMsIGNoaWxkLmNoaWxkTGFuZXMpKTtcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IGNoaWxkLnN1YnRyZWVGbGFncztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IGNoaWxkLmZsYWdzOyAvLyBXaGVuIGEgZmliZXIgaXMgY2xvbmVkLCBpdHMgYWN0dWFsRHVyYXRpb24gaXMgcmVzZXQgdG8gMC4gVGhpcyB2YWx1ZSB3aWxsXG4gICAgICAgIC8vIG9ubHkgYmUgdXBkYXRlZCBpZiB3b3JrIGlzIGRvbmUgb24gdGhlIGZpYmVyIChpLmUuIGl0IGRvZXNuJ3QgYmFpbG91dCkuXG4gICAgICAgIC8vIFdoZW4gd29yayBpcyBkb25lLCBpdCBzaG91bGQgYnViYmxlIHRvIHRoZSBwYXJlbnQncyBhY3R1YWxEdXJhdGlvbi4gSWZcbiAgICAgICAgLy8gdGhlIGZpYmVyIGhhcyBub3QgYmVlbiBjbG9uZWQgdGhvdWdoLCAobWVhbmluZyBubyB3b3JrIHdhcyBkb25lKSwgdGhlblxuICAgICAgICAvLyB0aGlzIHZhbHVlIHdpbGwgcmVmbGVjdCB0aGUgYW1vdW50IG9mIHRpbWUgc3BlbnQgd29ya2luZyBvbiBhIHByZXZpb3VzXG4gICAgICAgIC8vIHJlbmRlci4gSW4gdGhhdCBjYXNlIGl0IHNob3VsZCBub3QgYnViYmxlLiBXZSBkZXRlcm1pbmUgd2hldGhlciBpdCB3YXNcbiAgICAgICAgLy8gY2xvbmVkIGJ5IGNvbXBhcmluZyB0aGUgY2hpbGQgcG9pbnRlci5cblxuICAgICAgICBhY3R1YWxEdXJhdGlvbiArPSBjaGlsZC5hY3R1YWxEdXJhdGlvbjtcbiAgICAgICAgdHJlZUJhc2VEdXJhdGlvbiArPSBjaGlsZC50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIGNvbXBsZXRlZFdvcmsudHJlZUJhc2VEdXJhdGlvbiA9IHRyZWVCYXNlRHVyYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5ld0NoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5ld0NoaWxkTGFuZXMsIG1lcmdlTGFuZXMoX2NoaWxkLmxhbmVzLCBfY2hpbGQuY2hpbGRMYW5lcykpO1xuICAgICAgICBzdWJ0cmVlRmxhZ3MgfD0gX2NoaWxkLnN1YnRyZWVGbGFncztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZC5mbGFnczsgLy8gVXBkYXRlIHRoZSByZXR1cm4gcG9pbnRlciBzbyB0aGUgdHJlZSBpcyBjb25zaXN0ZW50LiBUaGlzIGlzIGEgY29kZVxuICAgICAgICAvLyBzbWVsbCBiZWNhdXNlIGl0IGFzc3VtZXMgdGhlIGNvbW1pdCBwaGFzZSBpcyBuZXZlciBjb25jdXJyZW50IHdpdGhcbiAgICAgICAgLy8gdGhlIHJlbmRlciBwaGFzZS4gV2lsbCBhZGRyZXNzIGR1cmluZyByZWZhY3RvciB0byBhbHRlcm5hdGUgbW9kZWwuXG5cbiAgICAgICAgX2NoaWxkLnJldHVybiA9IGNvbXBsZXRlZFdvcms7XG4gICAgICAgIF9jaGlsZCA9IF9jaGlsZC5zaWJsaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBsZXRlZFdvcmsuc3VidHJlZUZsYWdzIHw9IHN1YnRyZWVGbGFncztcbiAgfSBlbHNlIHtcbiAgICAvLyBCdWJibGUgdXAgdGhlIGVhcmxpZXN0IGV4cGlyYXRpb24gdGltZS5cbiAgICBpZiAoIChjb21wbGV0ZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgLy8gSW4gcHJvZmlsaW5nIG1vZGUsIHJlc2V0Q2hpbGRFeHBpcmF0aW9uVGltZSBpcyBhbHNvIHVzZWQgdG8gcmVzZXRcbiAgICAgIC8vIHByb2ZpbGVyIGR1cmF0aW9ucy5cbiAgICAgIHZhciBfdHJlZUJhc2VEdXJhdGlvbiA9IGNvbXBsZXRlZFdvcmsuc2VsZkJhc2VEdXJhdGlvbjtcbiAgICAgIHZhciBfY2hpbGQyID0gY29tcGxldGVkV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKF9jaGlsZDIgIT09IG51bGwpIHtcbiAgICAgICAgbmV3Q2hpbGRMYW5lcyA9IG1lcmdlTGFuZXMobmV3Q2hpbGRMYW5lcywgbWVyZ2VMYW5lcyhfY2hpbGQyLmxhbmVzLCBfY2hpbGQyLmNoaWxkTGFuZXMpKTsgLy8gXCJTdGF0aWNcIiBmbGFncyBzaGFyZSB0aGUgbGlmZXRpbWUgb2YgdGhlIGZpYmVyL2hvb2sgdGhleSBiZWxvbmcgdG8sXG4gICAgICAgIC8vIHNvIHdlIHNob3VsZCBidWJibGUgdGhvc2UgdXAgZXZlbiBkdXJpbmcgYSBiYWlsb3V0LiBBbGwgdGhlIG90aGVyXG4gICAgICAgIC8vIGZsYWdzIGhhdmUgYSBsaWZldGltZSBvbmx5IG9mIGEgc2luZ2xlIHJlbmRlciArIGNvbW1pdCwgc28gd2Ugc2hvdWxkXG4gICAgICAgIC8vIGlnbm9yZSB0aGVtLlxuXG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQyLnN1YnRyZWVGbGFncyAmIFN0YXRpY01hc2s7XG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQyLmZsYWdzICYgU3RhdGljTWFzaztcbiAgICAgICAgX3RyZWVCYXNlRHVyYXRpb24gKz0gX2NoaWxkMi50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICBfY2hpbGQyID0gX2NoaWxkMi5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICBjb21wbGV0ZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24gPSBfdHJlZUJhc2VEdXJhdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIF9jaGlsZDMgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkMyAhPT0gbnVsbCkge1xuICAgICAgICBuZXdDaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhuZXdDaGlsZExhbmVzLCBtZXJnZUxhbmVzKF9jaGlsZDMubGFuZXMsIF9jaGlsZDMuY2hpbGRMYW5lcykpOyAvLyBcIlN0YXRpY1wiIGZsYWdzIHNoYXJlIHRoZSBsaWZldGltZSBvZiB0aGUgZmliZXIvaG9vayB0aGV5IGJlbG9uZyB0byxcbiAgICAgICAgLy8gc28gd2Ugc2hvdWxkIGJ1YmJsZSB0aG9zZSB1cCBldmVuIGR1cmluZyBhIGJhaWxvdXQuIEFsbCB0aGUgb3RoZXJcbiAgICAgICAgLy8gZmxhZ3MgaGF2ZSBhIGxpZmV0aW1lIG9ubHkgb2YgYSBzaW5nbGUgcmVuZGVyICsgY29tbWl0LCBzbyB3ZSBzaG91bGRcbiAgICAgICAgLy8gaWdub3JlIHRoZW0uXG5cbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDMuc3VidHJlZUZsYWdzICYgU3RhdGljTWFzaztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDMuZmxhZ3MgJiBTdGF0aWNNYXNrOyAvLyBVcGRhdGUgdGhlIHJldHVybiBwb2ludGVyIHNvIHRoZSB0cmVlIGlzIGNvbnNpc3RlbnQuIFRoaXMgaXMgYSBjb2RlXG4gICAgICAgIC8vIHNtZWxsIGJlY2F1c2UgaXQgYXNzdW1lcyB0aGUgY29tbWl0IHBoYXNlIGlzIG5ldmVyIGNvbmN1cnJlbnQgd2l0aFxuICAgICAgICAvLyB0aGUgcmVuZGVyIHBoYXNlLiBXaWxsIGFkZHJlc3MgZHVyaW5nIHJlZmFjdG9yIHRvIGFsdGVybmF0ZSBtb2RlbC5cblxuICAgICAgICBfY2hpbGQzLnJldHVybiA9IGNvbXBsZXRlZFdvcms7XG4gICAgICAgIF9jaGlsZDMgPSBfY2hpbGQzLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcGxldGVkV29yay5zdWJ0cmVlRmxhZ3MgfD0gc3VidHJlZUZsYWdzO1xuICB9XG5cbiAgY29tcGxldGVkV29yay5jaGlsZExhbmVzID0gbmV3Q2hpbGRMYW5lcztcbiAgcmV0dXJuIGRpZEJhaWxvdXQ7XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlRGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRTdGF0ZSkge1xuICBpZiAoaGFzVW5oeWRyYXRlZFRhaWxOb2RlcygpICYmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUgJiYgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MpIHtcbiAgICB3YXJuSWZVbmh5ZHJhdGVkVGFpbE5vZGVzKHdvcmtJblByb2dyZXNzKTtcbiAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRm9yY2VDbGllbnRSZW5kZXIgfCBJbmNvbXBsZXRlIHwgU2hvdWxkQ2FwdHVyZTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgaWYgKG5leHRTdGF0ZSAhPT0gbnVsbCAmJiBuZXh0U3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkge1xuICAgIC8vIFdlIG1pZ2h0IGJlIGluc2lkZSBhIGh5ZHJhdGlvbiBzdGF0ZSB0aGUgZmlyc3QgdGltZSB3ZSdyZSBwaWNraW5nIHVwIHRoaXNcbiAgICAvLyBTdXNwZW5zZSBib3VuZGFyeSwgYW5kIGFsc28gYWZ0ZXIgd2UndmUgcmVlbnRlcmVkIGl0IGZvciBmdXJ0aGVyIGh5ZHJhdGlvbi5cbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgaWYgKCF3YXNIeWRyYXRlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0EgZGVoeWRyYXRlZCBzdXNwZW5zZSBjb21wb25lbnQgd2FzIGNvbXBsZXRlZCB3aXRob3V0IGEgaHlkcmF0ZWQgbm9kZS4gJyArICdUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuXG4gICAgICBwcmVwYXJlVG9IeWRyYXRlSG9zdFN1c3BlbnNlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICB2YXIgaXNUaW1lZE91dFN1c3BlbnNlID0gbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgICAgaWYgKGlzVGltZWRPdXRTdXNwZW5zZSkge1xuICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGltZSBzcGVudCBpbiBhIHRpbWVkIG91dCBTdXNwZW5zZSBzdWJ0cmVlIGFzIHBhcnQgb2YgdGhlIGJhc2UgZHVyYXRpb24uXG4gICAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgICAgaWYgKHByaW1hcnlDaGlsZEZyYWdtZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IHN1cHBvcnQgdHlwZSBjYXN0aW5nIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIC09IG9wZXJhdG9yXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSBtaWdodCBoYXZlIHJlZW50ZXJlZCB0aGlzIGJvdW5kYXJ5IHRvIGh5ZHJhdGUgaXQuIElmIHNvLCB3ZSBuZWVkIHRvIHJlc2V0IHRoZSBoeWRyYXRpb25cbiAgICAgIC8vIHN0YXRlIHNpbmNlIHdlJ3JlIG5vdyBleGl0aW5nIG91dCBvZiBpdC4gcG9wSHlkcmF0aW9uU3RhdGUgZG9lc24ndCBkbyB0aGF0IGZvciB1cy5cbiAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcblxuICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzKSB7XG4gICAgICAgIC8vIFRoaXMgYm91bmRhcnkgZGlkIG5vdCBzdXNwZW5kIHNvIGl0J3Mgbm93IGh5ZHJhdGVkIGFuZCB1bnN1c3BlbmRlZC5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgICB9IC8vIElmIG5vdGhpbmcgc3VzcGVuZGVkLCB3ZSBuZWVkIHRvIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBtYXJrIHRoaXMgYm91bmRhcnlcbiAgICAgIC8vIGFzIGhhdmluZyBoeWRyYXRlZCBzbyBldmVudHMga25vdyB0aGF0IHRoZXkncmUgZnJlZSB0byBiZSBpbnZva2VkLlxuICAgICAgLy8gSXQncyBhbHNvIGEgc2lnbmFsIHRvIHJlcGxheSBldmVudHMgYW5kIHRoZSBzdXNwZW5zZSBjYWxsYmFjay5cbiAgICAgIC8vIElmIHNvbWV0aGluZyBzdXNwZW5kZWQsIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBhdHRhY2ggcmV0cnkgbGlzdGVuZXJzLlxuICAgICAgLy8gU28gd2UgbWlnaHQgYXMgd2VsbCBhbHdheXMgbWFyayB0aGlzLlxuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICB7XG4gICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgdmFyIF9pc1RpbWVkT3V0U3VzcGVuc2UgPSBuZXh0U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAoX2lzVGltZWRPdXRTdXNwZW5zZSkge1xuICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGltZSBzcGVudCBpbiBhIHRpbWVkIG91dCBTdXNwZW5zZSBzdWJ0cmVlIGFzIHBhcnQgb2YgdGhlIGJhc2UgZHVyYXRpb24uXG4gICAgICAgICAgICB2YXIgX3ByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgICAgIGlmIChfcHJpbWFyeUNoaWxkRnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gJEZsb3dGaXhNZSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCB0eXBlIGNhc3RpbmcgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgLT0gb3BlcmF0b3JcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiAtPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBTdWNjZXNzZnVsbHkgY29tcGxldGVkIHRoaXMgdHJlZS4gSWYgdGhpcyB3YXMgYSBmb3JjZWQgY2xpZW50IHJlbmRlcixcbiAgICAvLyB0aGVyZSBtYXkgaGF2ZSBiZWVuIHJlY292ZXJhYmxlIGVycm9ycyBkdXJpbmcgZmlyc3QgaHlkcmF0aW9uXG4gICAgLy8gYXR0ZW1wdC4gSWYgc28sIGFkZCB0aGVtIHRvIGEgcXVldWUgc28gd2UgY2FuIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cbiAgICB1cGdyYWRlSHlkcmF0aW9uRXJyb3JzVG9SZWNvdmVyYWJsZSgpOyAvLyBGYWxsIHRocm91Z2ggdG8gbm9ybWFsIFN1c3BlbnNlIHBhdGhcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzOyAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cblxuICBwb3BUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIEZyYWdtZW50OlxuICAgIGNhc2UgTW9kZTpcbiAgICBjYXNlIFByb2ZpbGVyOlxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgIHBvcENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIGZpYmVyUm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJlc2V0V29ya0luUHJvZ3Jlc3NWZXJzaW9ucygpO1xuXG4gICAgICAgIGlmIChmaWJlclJvb3QucGVuZGluZ0NvbnRleHQpIHtcbiAgICAgICAgICBmaWJlclJvb3QuY29udGV4dCA9IGZpYmVyUm9vdC5wZW5kaW5nQ29udGV4dDtcbiAgICAgICAgICBmaWJlclJvb3QucGVuZGluZ0NvbnRleHQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5jaGlsZCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCBwb3Agc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGFueSByZW1haW5pbmcgY2hpbGRyZW5cbiAgICAgICAgICAvLyB0aGF0IHdlcmVuJ3QgaHlkcmF0ZWQuXG4gICAgICAgICAgdmFyIHdhc0h5ZHJhdGVkID0gcG9wSHlkcmF0aW9uU3RhdGUod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgaWYgKHdhc0h5ZHJhdGVkKSB7XG4gICAgICAgICAgICAvLyBJZiB3ZSBoeWRyYXRlZCwgdGhlbiB3ZSdsbCBuZWVkIHRvIHNjaGVkdWxlIGFuIHVwZGF0ZSBmb3JcbiAgICAgICAgICAgIC8vIHRoZSBjb21taXQgc2lkZS1lZmZlY3RzIG9uIHRoZSByb290LlxuICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgICAgICAgaWYgKCAvLyBDaGVjayBpZiB0aGlzIGlzIGEgY2xpZW50IHJvb3RcbiAgICAgICAgICAgICAgIXByZXZTdGF0ZS5pc0RlaHlkcmF0ZWQgfHwgLy8gQ2hlY2sgaWYgd2UgcmV2ZXJ0ZWQgdG8gY2xpZW50IHJlbmRlcmluZyAoZS5nLiBkdWUgdG8gYW4gZXJyb3IpXG4gICAgICAgICAgICAgICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICAgIC8vIFNjaGVkdWxlIGFuIGVmZmVjdCB0byBjbGVhciB0aGlzIGNvbnRhaW5lciBhdCB0aGUgc3RhcnQgb2YgdGhlXG4gICAgICAgICAgICAgICAgLy8gbmV4dCBjb21taXQuIFRoaXMgaGFuZGxlcyB0aGUgY2FzZSBvZiBSZWFjdCByZW5kZXJpbmcgaW50byBhXG4gICAgICAgICAgICAgICAgLy8gY29udGFpbmVyIHdpdGggcHJldmlvdXMgY2hpbGRyZW4uIEl0J3MgYWxzbyBzYWZlIHRvIGRvIGZvclxuICAgICAgICAgICAgICAgIC8vIHVwZGF0ZXMgdG9vLCBiZWNhdXNlIGN1cnJlbnQuY2hpbGQgd291bGQgb25seSBiZSBudWxsIGlmIHRoZVxuICAgICAgICAgICAgICAgIC8vIHByZXZpb3VzIHJlbmRlciB3YXMgbnVsbCAoc28gdGhlIGNvbnRhaW5lciB3b3VsZCBhbHJlYWR5XG4gICAgICAgICAgICAgICAgLy8gYmUgZW1wdHkpLlxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNuYXBzaG90OyAvLyBJZiB0aGlzIHdhcyBhIGZvcmNlZCBjbGllbnQgcmVuZGVyLCB0aGVyZSBtYXkgaGF2ZSBiZWVuXG4gICAgICAgICAgICAgICAgLy8gcmVjb3ZlcmFibGUgZXJyb3JzIGR1cmluZyBmaXJzdCBoeWRyYXRpb24gYXR0ZW1wdC4gSWYgc28sIGFkZFxuICAgICAgICAgICAgICAgIC8vIHRoZW0gdG8gYSBxdWV1ZSBzbyB3ZSBjYW4gbG9nIHRoZW0gaW4gdGhlIGNvbW1pdCBwaGFzZS5cblxuICAgICAgICAgICAgICAgIHVwZ3JhZGVIeWRyYXRpb25FcnJvcnNUb1JlY292ZXJhYmxlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgdmFyIHJvb3RDb250YWluZXJJbnN0YW5jZSA9IGdldFJvb3RIb3N0Q29udGFpbmVyKCk7XG4gICAgICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHVwZGF0ZUhvc3RDb21wb25lbnQkMShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgdHlwZSwgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSk7XG5cbiAgICAgICAgICBpZiAoY3VycmVudC5yZWYgIT09IHdvcmtJblByb2dyZXNzLnJlZikge1xuICAgICAgICAgICAgbWFya1JlZiQxKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFuZXdQcm9wcykge1xuICAgICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dlIG11c3QgaGF2ZSBuZXcgcHJvcHMgZm9yIG5ldyBtb3VudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5ICcgKyAnY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgYWJvcnQgd29yay5cblxuXG4gICAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBjdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpOyAvLyBUT0RPOiBNb3ZlIGNyZWF0ZUluc3RhbmNlIHRvIGJlZ2luV29yayBhbmQga2VlcCBpdCBvbiBhIGNvbnRleHRcbiAgICAgICAgICAvLyBcInN0YWNrXCIgYXMgdGhlIHBhcmVudC4gVGhlbiBhcHBlbmQgY2hpbGRyZW4gYXMgd2UgZ28gaW4gYmVnaW5Xb3JrXG4gICAgICAgICAgLy8gb3IgY29tcGxldGVXb3JrIGRlcGVuZGluZyBvbiB3aGV0aGVyIHdlIHdhbnQgdG8gYWRkIHRoZW0gdG9wLT5kb3duIG9yXG4gICAgICAgICAgLy8gYm90dG9tLT51cC4gVG9wLT5kb3duIGlzIGZhc3RlciBpbiBJRTExLlxuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZCA9IHBvcEh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgICAgIGlmIChfd2FzSHlkcmF0ZWQpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBhbmQgY3JlYXRlSW5zdGFuY2Ugc3RlcCBpbnRvIHRoZSBiZWdpblBoYXNlXG4gICAgICAgICAgICAvLyB0byBjb25zb2xpZGF0ZS5cbiAgICAgICAgICAgIGlmIChwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKHdvcmtJblByb2dyZXNzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCkpIHtcbiAgICAgICAgICAgICAgLy8gSWYgY2hhbmdlcyB0byB0aGUgaHlkcmF0ZWQgbm9kZSBuZWVkIHRvIGJlIGFwcGxpZWQgYXQgdGhlXG4gICAgICAgICAgICAgIC8vIGNvbW1pdC1waGFzZSB3ZSBtYXJrIHRoaXMgYXMgc3VjaC5cbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgYXBwZW5kQWxsQ2hpbGRyZW4oaW5zdGFuY2UsIHdvcmtJblByb2dyZXNzLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gaW5zdGFuY2U7IC8vIENlcnRhaW4gcmVuZGVyZXJzIHJlcXVpcmUgY29tbWl0LXRpbWUgZWZmZWN0cyBmb3IgaW5pdGlhbCBtb3VudC5cbiAgICAgICAgICAgIC8vIChlZyBET00gcmVuZGVyZXIgc3VwcG9ydHMgYXV0by1mb2N1cyBmb3IgY2VydGFpbiBlbGVtZW50cykuXG4gICAgICAgICAgICAvLyBNYWtlIHN1cmUgc3VjaCByZW5kZXJlcnMgZ2V0IHNjaGVkdWxlZCBmb3IgbGF0ZXIgd29yay5cblxuICAgICAgICAgICAgaWYgKGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGluc3RhbmNlLCB0eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKSkge1xuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MucmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHJlZiBvbiBhIGhvc3Qgbm9kZSB3ZSBuZWVkIHRvIHNjaGVkdWxlIGEgY2FsbGJhY2tcbiAgICAgICAgICAgIG1hcmtSZWYkMSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIG5ld1RleHQgPSBuZXdQcm9wcztcblxuICAgICAgICBpZiAoY3VycmVudCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudC5tZW1vaXplZFByb3BzOyAvLyBJZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSwgdGhhdCBtZWFucyB0aGlzIGlzIGFuIHVwZGF0ZSBhbmQgd2UgbmVlZFxuICAgICAgICAgIC8vIHRvIHNjaGVkdWxlIGEgc2lkZS1lZmZlY3QgdG8gZG8gdGhlIHVwZGF0ZXMuXG5cbiAgICAgICAgICB1cGRhdGVIb3N0VGV4dCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBvbGRUZXh0LCBuZXdUZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5ld1RleHQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignV2UgbXVzdCBoYXZlIG5ldyBwcm9wcyBmb3IgbmV3IG1vdW50cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgJyArICdjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgICAgfSAvLyBUaGlzIGNhbiBoYXBwZW4gd2hlbiB3ZSBhYm9ydCB3b3JrLlxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9yb290Q29udGFpbmVySW5zdGFuY2UgPSBnZXRSb290SG9zdENvbnRhaW5lcigpO1xuXG4gICAgICAgICAgdmFyIF9jdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpO1xuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZDIgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgICBpZiAoX3dhc0h5ZHJhdGVkMikge1xuICAgICAgICAgICAgaWYgKHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3JlYXRlVGV4dEluc3RhbmNlKG5ld1RleHQsIF9yb290Q29udGFpbmVySW5zdGFuY2UsIF9jdXJyZW50SG9zdENvbnRleHQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTsgLy8gU3BlY2lhbCBwYXRoIGZvciBkZWh5ZHJhdGVkIGJvdW5kYXJpZXMuIFdlIG1heSBldmVudHVhbGx5IG1vdmUgdGhpc1xuICAgICAgICAvLyB0byBpdHMgb3duIGZpYmVyIHR5cGUgc28gdGhhdCB3ZSBjYW4gYWRkIG90aGVyIGtpbmRzIG9mIGh5ZHJhdGlvblxuICAgICAgICAvLyBib3VuZGFyaWVzIHRoYXQgYXJlbid0IGFzc29jaWF0ZWQgd2l0aCBhIFN1c3BlbnNlIHRyZWUuIEluIGFudGljaXBhdGlvblxuICAgICAgICAvLyBvZiBzdWNoIGEgcmVmYWN0b3IsIGFsbCB0aGUgaHlkcmF0aW9uIGxvZ2ljIGlzIGNvbnRhaW5lZCBpblxuICAgICAgICAvLyB0aGlzIGJyYW5jaC5cblxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgZmFsbHRocm91Z2hUb05vcm1hbFN1c3BlbnNlUGF0aCA9IGNvbXBsZXRlRGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRTdGF0ZSk7XG5cbiAgICAgICAgICBpZiAoIWZhbGx0aHJvdWdoVG9Ob3JtYWxTdXNwZW5zZVBhdGgpIHtcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIFNob3VsZENhcHR1cmUpIHtcbiAgICAgICAgICAgICAgLy8gU3BlY2lhbCBjYXNlLiBUaGVyZSB3ZXJlIHJlbWFpbmluZyB1bmh5ZHJhdGVkIG5vZGVzLiBXZSB0cmVhdFxuICAgICAgICAgICAgICAvLyB0aGlzIGFzIGEgbWlzbWF0Y2guIFJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLlxuICAgICAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBEaWQgbm90IGZpbmlzaCBoeWRyYXRpbmcsIGVpdGhlciBiZWNhdXNlIHRoaXMgaXMgdGhlIGluaXRpYWxcbiAgICAgICAgICAgICAgLy8gcmVuZGVyIG9yIGJlY2F1c2Ugc29tZXRoaW5nIHN1c3BlbmRlZC5cbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBDb250aW51ZSB3aXRoIHRoZSBub3JtYWwgU3VzcGVuc2UgcGF0aC5cblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgLy8gU29tZXRoaW5nIHN1c3BlbmRlZC4gUmUtcmVuZGVyIHdpdGggdGhlIGZhbGxiYWNrIGNoaWxkcmVuLlxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gcmVuZGVyTGFuZXM7IC8vIERvIG5vdCByZXNldCB0aGUgZWZmZWN0IGxpc3QuXG5cbiAgICAgICAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAgIHRyYW5zZmVyQWN0dWFsRHVyYXRpb24od29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgIH0gLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgaW4gdGhpcyBjYXNlLlxuXG5cbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbmV4dERpZFRpbWVvdXQgPSBuZXh0U3RhdGUgIT09IG51bGw7XG4gICAgICAgIHZhciBwcmV2RGlkVGltZW91dCA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuICAgICAgICAvLyBhIHBhc3NpdmUgZWZmZWN0LCB3aGljaCBpcyB3aGVuIHdlIHByb2Nlc3MgdGhlIHRyYW5zaXRpb25zXG5cblxuICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQgIT09IHByZXZEaWRUaW1lb3V0KSB7XG4gICAgICAgICAgLy8gYW4gZWZmZWN0IHRvIHRvZ2dsZSB0aGUgc3VidHJlZSdzIHZpc2liaWxpdHkuIFdoZW4gd2Ugc3dpdGNoIGZyb21cbiAgICAgICAgICAvLyBmYWxsYmFjayAtPiBwcmltYXJ5LCB0aGUgaW5uZXIgT2Zmc2NyZWVuIGZpYmVyIHNjaGVkdWxlcyB0aGlzIGVmZmVjdFxuICAgICAgICAgIC8vIGFzIHBhcnQgb2YgaXRzIG5vcm1hbCBjb21wbGV0ZSBwaGFzZS4gQnV0IHdoZW4gd2Ugc3dpdGNoIGZyb21cbiAgICAgICAgICAvLyBwcmltYXJ5IC0+IGZhbGxiYWNrLCB0aGUgaW5uZXIgT2Zmc2NyZWVuIGZpYmVyIGRvZXMgbm90IGhhdmUgYSBjb21wbGV0ZVxuICAgICAgICAgIC8vIHBoYXNlLiBTbyB3ZSBuZWVkIHRvIHNjaGVkdWxlIGl0cyBlZmZlY3QgaGVyZS5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFdlIGFsc28gdXNlIHRoaXMgZmxhZyB0byBjb25uZWN0L2Rpc2Nvbm5lY3QgdGhlIGVmZmVjdHMsIGJ1dCB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxvZ2ljIGFwcGxpZXM6IHdoZW4gcmUtY29ubmVjdGluZywgdGhlIE9mZnNjcmVlbiBmaWJlcidzIGNvbXBsZXRlXG4gICAgICAgICAgLy8gcGhhc2Ugd2lsbCBoYW5kbGUgc2NoZWR1bGluZyB0aGUgZWZmZWN0LiBJdCdzIG9ubHkgd2hlbiB0aGUgZmFsbGJhY2tcbiAgICAgICAgICAvLyBpcyBhY3RpdmUgdGhhdCB3ZSBoYXZlIHRvIGRvIGFueXRoaW5nIHNwZWNpYWwuXG5cblxuICAgICAgICAgIGlmIChuZXh0RGlkVGltZW91dCkge1xuICAgICAgICAgICAgdmFyIF9vZmZzY3JlZW5GaWJlcjIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIF9vZmZzY3JlZW5GaWJlcjIuZmxhZ3MgfD0gVmlzaWJpbGl0eTsgLy8gVE9ETzogVGhpcyB3aWxsIHN0aWxsIHN1c3BlbmQgYSBzeW5jaHJvbm91cyB0cmVlIGlmIGFueXRoaW5nXG4gICAgICAgICAgICAvLyBpbiB0aGUgY29uY3VycmVudCB0cmVlIGFscmVhZHkgc3VzcGVuZGVkIGR1cmluZyB0aGlzIHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBrbm93biBidWcuXG5cbiAgICAgICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBiYWNrIHRvIHRocm93RXhjZXB0aW9uIGJlY2F1c2UgdGhpcyBpcyB0b28gbGF0ZVxuICAgICAgICAgICAgICAvLyBpZiB0aGlzIGlzIGEgbGFyZ2UgdHJlZSB3aGljaCBpcyBjb21tb24gZm9yIGluaXRpYWwgbG9hZHMuIFdlXG4gICAgICAgICAgICAgIC8vIGRvbid0IGtub3cgaWYgd2Ugc2hvdWxkIHJlc3RhcnQgYSByZW5kZXIgb3Igbm90IHVudGlsIHdlIGdldFxuICAgICAgICAgICAgICAvLyB0aGlzIG1hcmtlciwgYW5kIHRoaXMgaXMgdG9vIGxhdGUuXG4gICAgICAgICAgICAgIC8vIElmIHRoaXMgcmVuZGVyIGFscmVhZHkgaGFkIGEgcGluZyBvciBsb3dlciBwcmkgdXBkYXRlcyxcbiAgICAgICAgICAgICAgLy8gYW5kIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgd2Uga25vdyB3ZSdyZSBnb2luZyB0byBzdXNwZW5kIHdlXG4gICAgICAgICAgICAgIC8vIHNob3VsZCBiZSBhYmxlIHRvIGltbWVkaWF0ZWx5IHJlc3RhcnQgZnJvbSB3aXRoaW4gdGhyb3dFeGNlcHRpb24uXG4gICAgICAgICAgICAgIHZhciBoYXNJbnZpc2libGVDaGlsZENvbnRleHQgPSBjdXJyZW50ID09PSBudWxsICYmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrICE9PSB0cnVlIHx8ICFlbmFibGVTdXNwZW5zZUF2b2lkVGhpc0ZhbGxiYWNrKTtcblxuICAgICAgICAgICAgICBpZiAoaGFzSW52aXNpYmxlQ2hpbGRDb250ZXh0IHx8IGhhc1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQsIEludmlzaWJsZVBhcmVudFN1c3BlbnNlQ29udGV4dCkpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBpbiBhbiBpbnZpc2libGUgdHJlZSBvciBhIG5ldyByZW5kZXIsIHRoZW4gc2hvd2luZ1xuICAgICAgICAgICAgICAgIC8vIHRoaXMgYm91bmRhcnkgaXMgb2suXG4gICAgICAgICAgICAgICAgcmVuZGVyRGlkU3VzcGVuZCgpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgd2UncmUgZ29pbmcgdG8gaGF2ZSB0byBoaWRlIGNvbnRlbnQgc28gd2Ugc2hvdWxkXG4gICAgICAgICAgICAgICAgLy8gc3VzcGVuZCBmb3IgbG9uZ2VyIGlmIHBvc3NpYmxlLlxuICAgICAgICAgICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB3YWtlYWJsZXMgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcblxuICAgICAgICBpZiAod2FrZWFibGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gU2NoZWR1bGUgYW4gZWZmZWN0IHRvIGF0dGFjaCBhIHJldHJ5IGxpc3RlbmVyIHRvIHRoZSBwcm9taXNlLlxuICAgICAgICAgIC8vIFRPRE86IE1vdmUgdG8gcGFzc2l2ZSBwaGFzZVxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgICAgaWYgKG5leHREaWRUaW1lb3V0KSB7XG4gICAgICAgICAgICAgIC8vIERvbid0IGNvdW50IHRpbWUgc3BlbnQgaW4gYSB0aW1lZCBvdXQgU3VzcGVuc2Ugc3VidHJlZSBhcyBwYXJ0IG9mIHRoZSBiYXNlIGR1cmF0aW9uLlxuICAgICAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgICAgICBpZiAocHJpbWFyeUNoaWxkRnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyAkRmxvd0ZpeE1lIEZsb3cgZG9lc24ndCBzdXBwb3J0IHR5cGUgY2FzdGluZyBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSAtPSBvcGVyYXRvclxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgcHJlcGFyZVBvcnRhbE1vdW50KHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTtcbiAgICAgIH1cblxuICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgLy8gUG9wIHByb3ZpZGVyIGZpYmVyXG4gICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICBwb3BQcm92aWRlcihjb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIFNhbWUgYXMgY2xhc3MgY29tcG9uZW50IGNhc2UuIEkgcHV0IGl0IGRvd24gaGVyZSBzbyB0aGF0IHRoZSB0YWdzIGFyZVxuICAgICAgICAvLyBzZXF1ZW50aWFsIHRvIGVuc3VyZSB0aGlzIHN3aXRjaCBpcyBjb21waWxlZCB0byBhIGp1bXAgdGFibGUuXG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoX0NvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgcmVuZGVyU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgaW4gdGhlIGRlZmF1bHQsIFwiaW5kZXBlbmRlbnRcIiBtb2RlLlxuICAgICAgICAgIC8vIFdlIGRvbid0IGRvIGFueXRoaW5nIGluIHRoaXMgbW9kZS5cbiAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkaWRTdXNwZW5kQWxyZWFkeSA9ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzO1xuICAgICAgICB2YXIgcmVuZGVyZWRUYWlsID0gcmVuZGVyU3RhdGUucmVuZGVyaW5nO1xuXG4gICAgICAgIGlmIChyZW5kZXJlZFRhaWwgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSBqdXN0IHJlbmRlcmVkIHRoZSBoZWFkLlxuICAgICAgICAgIGlmICghZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHBhc3MuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiBhbnl0aGluZyBpcyBzdGlsbFxuICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGluIHRoZSByZW5kZXJlZCBzZXQuXG4gICAgICAgICAgICAvLyBJZiBuZXcgY29udGVudCB1bnN1c3BlbmRlZCwgYnV0IHRoZXJlJ3Mgc3RpbGwgc29tZSBjb250ZW50IHRoYXRcbiAgICAgICAgICAgIC8vIGRpZG4ndC4gVGhlbiB3ZSBuZWVkIHRvIGRvIGEgc2Vjb25kIHBhc3MgdGhhdCBmb3JjZXMgZXZlcnl0aGluZ1xuICAgICAgICAgICAgLy8gdG8ga2VlcCBzaG93aW5nIHRoZWlyIGZhbGxiYWNrcy5cbiAgICAgICAgICAgIC8vIFdlIG1pZ2h0IGJlIHN1c3BlbmRlZCBpZiBzb21ldGhpbmcgaW4gdGhpcyByZW5kZXIgcGFzcyBzdXNwZW5kZWQsIG9yXG4gICAgICAgICAgICAvLyBzb21ldGhpbmcgaW4gdGhlIHByZXZpb3VzIGNvbW1pdHRlZCBwYXNzIHN1c3BlbmRlZC4gT3RoZXJ3aXNlLFxuICAgICAgICAgICAgLy8gdGhlcmUncyBubyBjaGFuY2Ugc28gd2UgY2FuIHNraXAgdGhlIGV4cGVuc2l2ZSBjYWxsIHRvXG4gICAgICAgICAgICAvLyBmaW5kRmlyc3RTdXNwZW5kZWQuXG4gICAgICAgICAgICB2YXIgY2Fubm90QmVTdXNwZW5kZWQgPSByZW5kZXJIYXNOb3RTdXNwZW5kZWRZZXQoKSAmJiAoY3VycmVudCA9PT0gbnVsbCB8fCAoY3VycmVudC5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzKTtcblxuICAgICAgICAgICAgaWYgKCFjYW5ub3RCZVN1c3BlbmRlZCkge1xuICAgICAgICAgICAgICB2YXIgcm93ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgICAgICAgd2hpbGUgKHJvdyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZhciBzdXNwZW5kZWQgPSBmaW5kRmlyc3RTdXNwZW5kZWQocm93KTtcblxuICAgICAgICAgICAgICAgIGlmIChzdXNwZW5kZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gSWYgdGhpcyBpcyBhIG5ld2x5IHN1c3BlbmRlZCB0cmVlLCBpdCBtaWdodCBub3QgZ2V0IGNvbW1pdHRlZCBhc1xuICAgICAgICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgc2Vjb25kIHBhc3MuIEluIHRoYXQgY2FzZSBub3RoaW5nIHdpbGwgc3Vic2NyaWJlIHRvXG4gICAgICAgICAgICAgICAgICAvLyBpdHMgdGhlbmFibGVzLiBJbnN0ZWFkLCB3ZSdsbCB0cmFuc2ZlciBpdHMgdGhlbmFibGVzIHRvIHRoZVxuICAgICAgICAgICAgICAgICAgLy8gU3VzcGVuc2VMaXN0IHNvIHRoYXQgaXQgY2FuIHJldHJ5IGlmIHRoZXkgcmVzb2x2ZS5cbiAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIG9mIHRoZXNlIGluIHRoZSBsaXN0IGJ1dCBzaW5jZSB3ZSdyZVxuICAgICAgICAgICAgICAgICAgLy8gZ29pbmcgdG8gd2FpdCBmb3IgYWxsIG9mIHRoZW0gYW55d2F5LCBpdCBkb2Vzbid0IHJlYWxseSBtYXR0ZXJcbiAgICAgICAgICAgICAgICAgIC8vIHdoaWNoIG9uZXMgZ2V0cyB0byBwaW5nLiBJbiB0aGVvcnkgd2UgY291bGQgZ2V0IGNsZXZlciBhbmQga2VlcFxuICAgICAgICAgICAgICAgICAgLy8gdHJhY2sgb2YgaG93IG1hbnkgZGVwZW5kZW5jaWVzIHJlbWFpbiBidXQgaXQgZ2V0cyB0cmlja3kgYmVjYXVzZVxuICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIG1lYW50aW1lLCB3ZSBjYW4gYWRkL3JlbW92ZS9jaGFuZ2UgaXRlbXMgYW5kIGRlcGVuZGVuY2llcy5cbiAgICAgICAgICAgICAgICAgIC8vIFdlIG1pZ2h0IGJhaWwgb3V0IG9mIHRoZSBsb29wIGJlZm9yZSBmaW5kaW5nIGFueSBidXQgdGhhdFxuICAgICAgICAgICAgICAgICAgLy8gZG9lc24ndCBtYXR0ZXIgc2luY2UgdGhhdCBtZWFucyB0aGF0IHRoZSBvdGhlciBib3VuZGFyaWVzIHRoYXRcbiAgICAgICAgICAgICAgICAgIC8vIHdlIGRpZCBmaW5kIGFscmVhZHkgaGFzIHRoZWlyIGxpc3RlbmVycyBhdHRhY2hlZC5cblxuICAgICAgICAgICAgICAgICAgdmFyIG5ld1RoZW5hYmxlcyA9IHN1c3BlbmRlZC51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgICAgICAgaWYgKG5ld1RoZW5hYmxlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG5ld1RoZW5hYmxlcztcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgICAgICAgICAgICAgfSAvLyBSZXJlbmRlciB0aGUgd2hvbGUgbGlzdCwgYnV0IHRoaXMgdGltZSwgd2UnbGwgZm9yY2UgZmFsbGJhY2tzXG4gICAgICAgICAgICAgICAgICAvLyB0byBzdGF5IGluIHBsYWNlLlxuICAgICAgICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGVmZmVjdCBmbGFncyBiZWZvcmUgZG9pbmcgdGhlIHNlY29uZCBwYXNzIHNpbmNlIHRoYXQncyBub3cgaW52YWxpZC5cbiAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBjaGlsZCBmaWJlcnMgdG8gdGhlaXIgb3JpZ2luYWwgc3RhdGUuXG5cblxuICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICAgICAgICAgICAgICAgIHJlc2V0Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTsgLy8gU2V0IHVwIHRoZSBTdXNwZW5zZSBDb250ZXh0IHRvIGZvcmNlIHN1c3BlbnNlIGFuZCBpbW1lZGlhdGVseVxuICAgICAgICAgICAgICAgICAgLy8gcmVyZW5kZXIgdGhlIGNoaWxkcmVuLlxuXG4gICAgICAgICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKSk7IC8vIERvbid0IGJ1YmJsZSBwcm9wZXJ0aWVzIGluIHRoaXMgY2FzZS5cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsICYmIG5vdygpID4gZ2V0UmVuZGVyVGFyZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICAgIC8vIFdlIGhhdmUgYWxyZWFkeSBwYXNzZWQgb3VyIENQVSBkZWFkbGluZSBidXQgd2Ugc3RpbGwgaGF2ZSByb3dzXG4gICAgICAgICAgICAgIC8vIGxlZnQgaW4gdGhlIHRhaWwuIFdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyIGF0dGVtcHRzIHRvIHJlbmRlclxuICAgICAgICAgICAgICAvLyB0aGUgbWFpbiBjb250ZW50IGFuZCBvbmx5IHJlbmRlciBmYWxsYmFja3MuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBmYWxzZSk7IC8vIFNpbmNlIG5vdGhpbmcgYWN0dWFsbHkgc3VzcGVuZGVkLCB0aGVyZSB3aWxsIG5vdGhpbmcgdG8gcGluZyB0aGlzXG4gICAgICAgICAgICAgIC8vIHRvIGdldCBpdCBzdGFydGVkIGJhY2sgdXAgdG8gYXR0ZW1wdCB0aGUgbmV4dCBpdGVtLiBXaGlsZSBpbiB0ZXJtc1xuICAgICAgICAgICAgICAvLyBvZiBwcmlvcml0eSB0aGlzIHdvcmsgaGFzIHRoZSBzYW1lIHByaW9yaXR5IGFzIHRoaXMgY3VycmVudCByZW5kZXIsXG4gICAgICAgICAgICAgIC8vIGl0J3Mgbm90IHBhcnQgb2YgdGhlIHNhbWUgdHJhbnNpdGlvbiBvbmNlIHRoZSB0cmFuc2l0aW9uIGhhc1xuICAgICAgICAgICAgICAvLyBjb21taXR0ZWQuIElmIGl0J3Mgc3luYywgd2Ugc3RpbGwgd2FudCB0byB5aWVsZCBzbyB0aGF0IGl0IGNhbiBiZVxuICAgICAgICAgICAgICAvLyBwYWludGVkLiBDb25jZXB0dWFsbHksIHRoaXMgaXMgcmVhbGx5IHRoZSBzYW1lIGFzIHBpbmdpbmcuXG4gICAgICAgICAgICAgIC8vIFdlIGNhbiB1c2UgYW55IFJldHJ5TGFuZSBldmVuIGlmIGl0J3MgdGhlIG9uZSBjdXJyZW50bHkgcmVuZGVyaW5nXG4gICAgICAgICAgICAgIC8vIHNpbmNlIHdlJ3JlIGxlYXZpbmcgaXQgYmVoaW5kIG9uIHRoaXMgbm9kZS5cblxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IFNvbWVSZXRyeUxhbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgZmFsc2UpO1xuICAgICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBnb2luZyB0byByZW5kZXIgdGhlIHRhaWwuXG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBcHBlbmQgdGhlIHJlbmRlcmVkIHJvdyB0byB0aGUgY2hpbGQgbGlzdC5cbiAgICAgICAgICBpZiAoIWRpZFN1c3BlbmRBbHJlYWR5KSB7XG4gICAgICAgICAgICB2YXIgX3N1c3BlbmRlZCA9IGZpbmRGaXJzdFN1c3BlbmRlZChyZW5kZXJlZFRhaWwpO1xuXG4gICAgICAgICAgICBpZiAoX3N1c3BlbmRlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgICAgICBkaWRTdXNwZW5kQWxyZWFkeSA9IHRydWU7IC8vIEVuc3VyZSB3ZSB0cmFuc2ZlciB0aGUgdXBkYXRlIHF1ZXVlIHRvIHRoZSBwYXJlbnQgc28gdGhhdCBpdCBkb2Vzbid0XG4gICAgICAgICAgICAgIC8vIGdldCBsb3N0IGlmIHRoaXMgcm93IGVuZHMgdXAgZHJvcHBlZCBkdXJpbmcgYSBzZWNvbmQgcGFzcy5cblxuICAgICAgICAgICAgICB2YXIgX25ld1RoZW5hYmxlcyA9IF9zdXNwZW5kZWQudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICAgICAgaWYgKF9uZXdUaGVuYWJsZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IF9uZXdUaGVuYWJsZXM7XG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCB0cnVlKTsgLy8gVGhpcyBtaWdodCBoYXZlIGJlZW4gbW9kaWZpZWQuXG5cbiAgICAgICAgICAgICAgaWYgKHJlbmRlclN0YXRlLnRhaWwgPT09IG51bGwgJiYgcmVuZGVyU3RhdGUudGFpbE1vZGUgPT09ICdoaWRkZW4nICYmICFyZW5kZXJlZFRhaWwuYWx0ZXJuYXRlICYmICFnZXRJc0h5ZHJhdGluZygpIC8vIFdlIGRvbid0IGN1dCBpdCBpZiB3ZSdyZSBoeWRyYXRpbmcuXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgLy8gV2UncmUgZG9uZS5cbiAgICAgICAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICggLy8gVGhlIHRpbWUgaXQgdG9vayB0byByZW5kZXIgbGFzdCByb3cgaXMgZ3JlYXRlciB0aGFuIHRoZSByZW1haW5pbmdcbiAgICAgICAgICAgIC8vIHRpbWUgd2UgaGF2ZSB0byByZW5kZXIuIFNvIHJlbmRlcmluZyBvbmUgbW9yZSByb3cgd291bGQgbGlrZWx5XG4gICAgICAgICAgICAvLyBleGNlZWQgaXQuXG4gICAgICAgICAgICBub3coKSAqIDIgLSByZW5kZXJTdGF0ZS5yZW5kZXJpbmdTdGFydFRpbWUgPiBnZXRSZW5kZXJUYXJnZXRUaW1lKCkgJiYgcmVuZGVyTGFuZXMgIT09IE9mZnNjcmVlbkxhbmUpIHtcbiAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBub3cgcGFzc2VkIG91ciBDUFUgZGVhZGxpbmUgYW5kIHdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyXG4gICAgICAgICAgICAgIC8vIGF0dGVtcHRzIHRvIHJlbmRlciB0aGUgbWFpbiBjb250ZW50IGFuZCBvbmx5IHJlbmRlciBmYWxsYmFja3MuXG4gICAgICAgICAgICAgIC8vIFRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgdGhpcyBpcyB1c3VhbGx5IGZhc3Rlci5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlO1xuICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gU2luY2Ugbm90aGluZyBhY3R1YWxseSBzdXNwZW5kZWQsIHRoZXJlIHdpbGwgbm90aGluZyB0byBwaW5nIHRoaXNcbiAgICAgICAgICAgICAgLy8gdG8gZ2V0IGl0IHN0YXJ0ZWQgYmFjayB1cCB0byBhdHRlbXB0IHRoZSBuZXh0IGl0ZW0uIFdoaWxlIGluIHRlcm1zXG4gICAgICAgICAgICAgIC8vIG9mIHByaW9yaXR5IHRoaXMgd29yayBoYXMgdGhlIHNhbWUgcHJpb3JpdHkgYXMgdGhpcyBjdXJyZW50IHJlbmRlcixcbiAgICAgICAgICAgICAgLy8gaXQncyBub3QgcGFydCBvZiB0aGUgc2FtZSB0cmFuc2l0aW9uIG9uY2UgdGhlIHRyYW5zaXRpb24gaGFzXG4gICAgICAgICAgICAgIC8vIGNvbW1pdHRlZC4gSWYgaXQncyBzeW5jLCB3ZSBzdGlsbCB3YW50IHRvIHlpZWxkIHNvIHRoYXQgaXQgY2FuIGJlXG4gICAgICAgICAgICAgIC8vIHBhaW50ZWQuIENvbmNlcHR1YWxseSwgdGhpcyBpcyByZWFsbHkgdGhlIHNhbWUgYXMgcGluZ2luZy5cbiAgICAgICAgICAgICAgLy8gV2UgY2FuIHVzZSBhbnkgUmV0cnlMYW5lIGV2ZW4gaWYgaXQncyB0aGUgb25lIGN1cnJlbnRseSByZW5kZXJpbmdcbiAgICAgICAgICAgICAgLy8gc2luY2Ugd2UncmUgbGVhdmluZyBpdCBiZWhpbmQgb24gdGhpcyBub2RlLlxuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gU29tZVJldHJ5TGFuZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMpIHtcbiAgICAgICAgICAgIC8vIFRoZSBlZmZlY3QgbGlzdCBvZiB0aGUgYmFja3dhcmRzIHRhaWwgd2lsbCBoYXZlIGJlZW4gYWRkZWRcbiAgICAgICAgICAgIC8vIHRvIHRoZSBlbmQuIFRoaXMgYnJlYWtzIHRoZSBndWFyYW50ZWUgdGhhdCBsaWZlLWN5Y2xlcyBmaXJlIGluXG4gICAgICAgICAgICAvLyBzaWJsaW5nIG9yZGVyIGJ1dCB0aGF0IGlzbid0IGEgc3Ryb25nIGd1YXJhbnRlZSBwcm9taXNlZCBieSBSZWFjdC5cbiAgICAgICAgICAgIC8vIEVzcGVjaWFsbHkgc2luY2UgdGhlc2UgbWlnaHQgYWxzbyBqdXN0IHBvcCBpbiBkdXJpbmcgZnV0dXJlIGNvbW1pdHMuXG4gICAgICAgICAgICAvLyBBcHBlbmQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdC5cbiAgICAgICAgICAgIHJlbmRlcmVkVGFpbC5zaWJsaW5nID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHByZXZpb3VzU2libGluZyA9IHJlbmRlclN0YXRlLmxhc3Q7XG5cbiAgICAgICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcHJldmlvdXNTaWJsaW5nLnNpYmxpbmcgPSByZW5kZXJlZFRhaWw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVuZGVyU3RhdGUubGFzdCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIHN0aWxsIGhhdmUgdGFpbCByb3dzIHRvIHJlbmRlci5cbiAgICAgICAgICAvLyBQb3AgYSByb3cuXG4gICAgICAgICAgdmFyIG5leHQgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZyA9IG5leHQ7XG4gICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG5leHQuc2libGluZztcbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmdTdGFydFRpbWUgPSBub3coKTtcbiAgICAgICAgICBuZXh0LnNpYmxpbmcgPSBudWxsOyAvLyBSZXN0b3JlIHRoZSBjb250ZXh0LlxuICAgICAgICAgIC8vIFRPRE86IFdlIGNhbiBwcm9iYWJseSBqdXN0IGF2b2lkIHBvcHBpbmcgaXQgaW5zdGVhZCBhbmQgb25seVxuICAgICAgICAgIC8vIHNldHRpbmcgaXQgdGhlIGZpcnN0IHRpbWUgd2UgZ28gZnJvbSBub3Qgc3VzcGVuZGVkIHRvIHN1c3BlbmRlZC5cblxuICAgICAgICAgIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG5cbiAgICAgICAgICBpZiAoZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlQ29udGV4dCk7IC8vIERvIGEgcGFzcyBvdmVyIHRoZSBuZXh0IHJvdy5cbiAgICAgICAgICAvLyBEb24ndCBidWJibGUgcHJvcGVydGllcyBpbiB0aGlzIGNhc2UuXG5cbiAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wUmVuZGVyTGFuZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgX25leHRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gICAgICAgIHZhciBuZXh0SXNIaWRkZW4gPSBfbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIF9wcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgdmFyIHByZXZJc0hpZGRlbiA9IF9wcmV2U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAocHJldklzSGlkZGVuICE9PSBuZXh0SXNIaWRkZW4gJiYgKCAvLyBMZWdhY3lIaWRkZW4gZG9lc24ndCBkbyBhbnkgaGlkaW5nIOKAlCBpdCBvbmx5IHByZS1yZW5kZXJzLlxuICAgICAgICAgICFlbmFibGVMZWdhY3lIaWRkZW4gKSkge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5leHRJc0hpZGRlbiB8fCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgZm9yIGhpZGRlbiBjaGlsZHJlbiB1bmxlc3Mgd2UncmUgcmVuZGVyaW5nXG4gICAgICAgICAgLy8gYXQgb2Zmc2NyZWVuIHByaW9yaXR5LlxuICAgICAgICAgIGlmIChpbmNsdWRlc1NvbWVMYW5lKHN1YnRyZWVSZW5kZXJMYW5lcywgT2Zmc2NyZWVuTGFuZSkpIHtcbiAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhbiBpbnNlcnRpb24gb3IgdXBkYXRlIGluIHRoZSBoaWRkZW4gc3VidHJlZS5cbiAgICAgICAgICAgICAgLy8gSWYgc28sIHdlIG5lZWQgdG8gaGlkZSB0aG9zZSBub2RlcyBpbiB0aGUgY29tbWl0IHBoYXNlLCBzb1xuICAgICAgICAgICAgICAvLyBzY2hlZHVsZSBhIHZpc2liaWxpdHkgZWZmZWN0LlxuICAgICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyAmIChQbGFjZW1lbnQgfCBVcGRhdGUpKSB7XG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHVuaXQgb2Ygd29yayB0YWcgKFwiICsgd29ya0luUHJvZ3Jlc3MudGFnICsgXCIpLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gXCIgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiB1bndpbmRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cbiAgcG9wVHJlZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuXG4gIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIENvbXBvbmVudCA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG5cbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBmbGFncyA9IHdvcmtJblByb2dyZXNzLmZsYWdzO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFNob3VsZENhcHR1cmUpIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IGZsYWdzICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xuXG4gICAgICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFjdHVhbER1cmF0aW9uKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICB7XG4gICAgICAgIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcG9wVG9wTGV2ZWxDb250ZXh0T2JqZWN0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmVzZXRXb3JrSW5Qcm9ncmVzc1ZlcnNpb25zKCk7XG4gICAgICAgIHZhciBfZmxhZ3MgPSB3b3JrSW5Qcm9ncmVzcy5mbGFncztcblxuICAgICAgICBpZiAoKF9mbGFncyAmIFNob3VsZENhcHR1cmUpICE9PSBOb0ZsYWdzICYmIChfZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncykge1xuICAgICAgICAgIC8vIFRoZXJlIHdhcyBhbiBlcnJvciBkdXJpbmcgcmVuZGVyIHRoYXQgd2Fzbid0IGNhcHR1cmVkIGJ5IGEgc3VzcGVuc2VcbiAgICAgICAgICAvLyBib3VuZGFyeS4gRG8gYSBzZWNvbmQgcGFzcyBvbiB0aGUgcm9vdCB0byB1bm1vdW50IHRoZSBjaGlsZHJlbi5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IF9mbGFncyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTtcbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH0gLy8gV2UgdW53b3VuZCB0byB0aGUgcm9vdCB3aXRob3V0IGNvbXBsZXRpbmcgaXQuIEV4aXQuXG5cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETzogcG9wSHlkcmF0aW9uU3RhdGVcbiAgICAgICAgcG9wSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciBzdXNwZW5zZVN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCAmJiBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RocmV3IGluIG5ld2x5IG1vdW50ZWQgZGVoeWRyYXRlZCBjb21wb25lbnQuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluICcgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfZmxhZ3MyID0gd29ya0luUHJvZ3Jlc3MuZmxhZ3M7XG5cbiAgICAgICAgaWYgKF9mbGFnczIgJiBTaG91bGRDYXB0dXJlKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSBfZmxhZ3MyICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlOyAvLyBDYXB0dXJlZCBhIHN1c3BlbnNlIGVmZmVjdC4gUmUtcmVuZGVyIHRoZSBib3VuZGFyeS5cblxuICAgICAgICAgIGlmICggKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgICAgdHJhbnNmZXJBY3R1YWxEdXJhdGlvbih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzKTsgLy8gU3VzcGVuc2VMaXN0IGRvZXNuJ3QgYWN0dWFsbHkgY2F0Y2ggYW55dGhpbmcuIEl0IHNob3VsZCd2ZSBiZWVuXG4gICAgICAgIC8vIGNhdWdodCBieSBhIG5lc3RlZCBib3VuZGFyeS4gSWYgbm90LCBpdCBzaG91bGQgYnViYmxlIHRocm91Z2guXG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICBwb3BQcm92aWRlcihjb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgIGNhc2UgTGVnYWN5SGlkZGVuQ29tcG9uZW50OlxuICAgICAgcG9wUmVuZGVyTGFuZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoY3VycmVudCwgaW50ZXJydXB0ZWRXb3JrLCByZW5kZXJMYW5lcykge1xuICAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cbiAgcG9wVHJlZUNvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcblxuICBzd2l0Y2ggKGludGVycnVwdGVkV29yay50YWcpIHtcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSBpbnRlcnJ1cHRlZFdvcmsudHlwZS5jaGlsZENvbnRleHRUeXBlcztcblxuICAgICAgICBpZiAoY2hpbGRDb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY2hpbGRDb250ZXh0VHlwZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHBvcENvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHJvb3QgPSBpbnRlcnJ1cHRlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICBwb3BIb3N0Q29udGFpbmVyKGludGVycnVwdGVkV29yayk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgICByZXNldFdvcmtJblByb2dyZXNzVmVyc2lvbnMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcEhvc3RDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcihpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgdmFyIGNvbnRleHQgPSBpbnRlcnJ1cHRlZFdvcmsudHlwZS5fY29udGV4dDtcbiAgICAgIHBvcFByb3ZpZGVyKGNvbnRleHQsIGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgIGNhc2UgTGVnYWN5SGlkZGVuQ29tcG9uZW50OlxuICAgICAgcG9wUmVuZGVyTGFuZXMoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbnZhciBkaWRXYXJuQWJvdXRVbmRlZmluZWRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9IG51bGw7XG5cbntcbiAgZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGUgPSBuZXcgU2V0KCk7XG59IC8vIFVzZWQgZHVyaW5nIHRoZSBjb21taXQgcGhhc2UgdG8gdHJhY2sgdGhlIHN0YXRlIG9mIHRoZSBPZmZzY3JlZW4gY29tcG9uZW50IHN0YWNrLlxuLy8gQWxsb3dzIHVzIHRvIGF2b2lkIHRyYXZlcnNpbmcgdGhlIHJldHVybiBwYXRoIHRvIGZpbmQgdGhlIG5lYXJlc3QgT2Zmc2NyZWVuIGFuY2VzdG9yLlxuLy8gT25seSB1c2VkIHdoZW4gZW5hYmxlU3VzcGVuc2VMYXlvdXRFZmZlY3RTZW1hbnRpY3MgaXMgZW5hYmxlZC5cblxuXG52YXIgb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuID0gZmFsc2U7XG52YXIgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IGZhbHNlO1xudmFyIFBvc3NpYmx5V2Vha1NldCA9IHR5cGVvZiBXZWFrU2V0ID09PSAnZnVuY3Rpb24nID8gV2Vha1NldCA6IFNldDtcbnZhciBuZXh0RWZmZWN0ID0gbnVsbDsgLy8gVXNlZCBmb3IgUHJvZmlsaW5nIGJ1aWxkcyB0byB0cmFjayB1cGRhdGVycy5cblxudmFyIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG52YXIgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xuZnVuY3Rpb24gcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yKSB7XG4gIC8vIFdyYXBwaW5nIGVhY2ggc21hbGwgcGFydCBvZiB0aGUgY29tbWl0IHBoYXNlIGludG8gYSBndWFyZGVkXG4gIC8vIGNhbGxiYWNrIGlzIGEgYml0IHRvbyBzbG93IChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMTY2NikuXG4gIC8vIEJ1dCB3ZSByZWx5IG9uIGl0IHRvIHN1cmZhY2UgZXJyb3JzIHRvIERFViB0b29scyBsaWtlIG92ZXJsYXlzXG4gIC8vIChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzIxNzEyKS5cbiAgLy8gQXMgYSBjb21wcm9taXNlLCByZXRocm93IG9ubHkgY2F1Z2h0IGVycm9ycyBpbiBhIGd1YXJkLlxuICB7XG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICAgIGNsZWFyQ2F1Z2h0RXJyb3IoKTtcbiAgfVxufVxuXG52YXIgY2FsbENvbXBvbmVudFdpbGxVbm1vdW50V2l0aFRpbWVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICBpbnN0YW5jZS5zdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAoIGN1cnJlbnQubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGN1cnJlbnQpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCgpO1xuICB9XG59OyAvLyBDYXB0dXJlIGVycm9ycyBzbyB0aGV5IGRvbid0IGludGVycnVwdCBtb3VudGluZy5cblxuXG5mdW5jdGlvbiBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHRyeSB7XG4gICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQsIGN1cnJlbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGVycm9yKTtcbiAgfVxufSAvLyBDYXB0dXJlIGVycm9ycyBzbyB0aGV5IGRvbid0IGludGVycnVwdCB1bm1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBpbnN0YW5jZSkge1xuICB0cnkge1xuICAgIGNhbGxDb21wb25lbnRXaWxsVW5tb3VudFdpdGhUaW1lcihjdXJyZW50LCBpbnN0YW5jZSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59IC8vIENhcHR1cmUgZXJyb3JzIHNvIHRoZXkgZG9uJ3QgaW50ZXJydXB0IG1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxDb21wb25lbnREaWRNb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBpbnN0YW5jZSkge1xuICB0cnkge1xuICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59IC8vIENhcHR1cmUgZXJyb3JzIHNvIHRoZXkgZG9uJ3QgaW50ZXJydXB0IG1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUF0dGFjaFJlZihjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHRyeSB7XG4gICAgY29tbWl0QXR0YWNoUmVmKGN1cnJlbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcikge1xuICB2YXIgcmVmID0gY3VycmVudC5yZWY7XG5cbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlb2YgcmVmID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgcmV0VmFsO1xuXG4gICAgICB0cnkge1xuICAgICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lciAmJiBlbmFibGVQcm9maWxlckNvbW1pdEhvb2tzICYmIGN1cnJlbnQubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oY3VycmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgcmV0VmFsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmV0dXJuIHZhbHVlIGZyb20gYSBjYWxsYmFjayByZWYgaW4gJXMuICcgKyAnQSBjYWxsYmFjayByZWYgc2hvdWxkIG5vdCByZXR1cm4gYSBmdW5jdGlvbi4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGN1cnJlbnQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxEZXN0cm95KGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpIHtcbiAgdHJ5IHtcbiAgICBkZXN0cm95KCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59XG5cbnZhciBmb2N1c2VkSW5zdGFuY2VIYW5kbGUgPSBudWxsO1xudmFyIHNob3VsZEZpcmVBZnRlckFjdGl2ZUluc3RhbmNlQmx1ciA9IGZhbHNlO1xuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpcnN0Q2hpbGQpIHtcbiAgZm9jdXNlZEluc3RhbmNlSGFuZGxlID0gcHJlcGFyZUZvckNvbW1pdChyb290LmNvbnRhaW5lckluZm8pO1xuICBuZXh0RWZmZWN0ID0gZmlyc3RDaGlsZDtcbiAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2JlZ2luKCk7IC8vIFdlIG5vIGxvbmdlciBuZWVkIHRvIHRyYWNrIHRoZSBhY3RpdmUgaW5zdGFuY2UgZmliZXJcblxuICB2YXIgc2hvdWxkRmlyZSA9IHNob3VsZEZpcmVBZnRlckFjdGl2ZUluc3RhbmNlQmx1cjtcbiAgc2hvdWxkRmlyZUFmdGVyQWN0aXZlSW5zdGFuY2VCbHVyID0gZmFsc2U7XG4gIGZvY3VzZWRJbnN0YW5jZUhhbmRsZSA9IG51bGw7XG4gIHJldHVybiBzaG91bGRGaXJlO1xufVxuXG5mdW5jdGlvbiBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHNfYmVnaW4oKSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDsgLy8gVGhpcyBwaGFzZSBpcyBvbmx5IHVzZWQgZm9yIGJlZm9yZUFjdGl2ZUluc3RhbmNlQmx1ci5cblxuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKChmaWJlci5zdWJ0cmVlRmxhZ3MgJiBCZWZvcmVNdXRhdGlvbk1hc2spICE9PSBOb0ZsYWdzICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBjaGlsZC5yZXR1cm4gPSBmaWJlcjtcbiAgICAgIG5leHRFZmZlY3QgPSBjaGlsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2NvbXBsZXRlKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0c19jb21wbGV0ZSgpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICB0cnkge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICB9XG5cbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFdvcmspIHtcbiAgdmFyIGN1cnJlbnQgPSBmaW5pc2hlZFdvcmsuYWx0ZXJuYXRlO1xuICB2YXIgZmxhZ3MgPSBmaW5pc2hlZFdvcmsuZmxhZ3M7XG5cbiAgaWYgKChmbGFncyAmIFNuYXBzaG90KSAhPT0gTm9GbGFncykge1xuICAgIHNldEN1cnJlbnRGaWJlcihmaW5pc2hlZFdvcmspO1xuXG4gICAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgcHJldlByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7IC8vIFdlIGNvdWxkIHVwZGF0ZSBpbnN0YW5jZSBwcm9wcyBhbmQgc3RhdGUgaGVyZSxcbiAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMuc3RhdGVgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHNuYXBzaG90ID0gaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlID09PSBmaW5pc2hlZFdvcmsudHlwZSA/IHByZXZQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoZmluaXNoZWRXb3JrLnR5cGUsIHByZXZQcm9wcyksIHByZXZTdGF0ZSk7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFyIGRpZFdhcm5TZXQgPSBkaWRXYXJuQWJvdXRVbmRlZmluZWRTbmFwc2hvdEJlZm9yZVVwZGF0ZTtcblxuICAgICAgICAgICAgICBpZiAoc25hcHNob3QgPT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblNldC5oYXMoZmluaXNoZWRXb3JrLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgZGlkV2FyblNldC5hZGQoZmluaXNoZWRXb3JrLnR5cGUpO1xuXG4gICAgICAgICAgICAgICAgZXJyb3IoJyVzLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCk6IEEgc25hcHNob3QgdmFsdWUgKG9yIG51bGwpICcgKyAnbXVzdCBiZSByZXR1cm5lZC4gWW91IGhhdmUgcmV0dXJuZWQgdW5kZWZpbmVkLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUgPSBzbmFwc2hvdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHJvb3QgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICAgICAgY2xlYXJDb250YWluZXIocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIC8vIE5vdGhpbmcgdG8gZG8gZm9yIHRoZXNlIGNvbXBvbmVudCB0eXBlc1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB1bml0IG9mIHdvcmsgdGFnIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMuIFRoaXMgZXJyb3IgaXMgJyArICdsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KGZsYWdzLCBmaW5pc2hlZFdvcmssIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuICB2YXIgbGFzdEVmZmVjdCA9IHVwZGF0ZVF1ZXVlICE9PSBudWxsID8gdXBkYXRlUXVldWUubGFzdEVmZmVjdCA6IG51bGw7XG5cbiAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmlyc3RFZmZlY3QgPSBsYXN0RWZmZWN0Lm5leHQ7XG4gICAgdmFyIGVmZmVjdCA9IGZpcnN0RWZmZWN0O1xuXG4gICAgZG8ge1xuICAgICAgaWYgKChlZmZlY3QudGFnICYgZmxhZ3MpID09PSBmbGFncykge1xuICAgICAgICAvLyBVbm1vdW50XG4gICAgICAgIHZhciBkZXN0cm95ID0gZWZmZWN0LmRlc3Ryb3k7XG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoKGZsYWdzICYgUGFzc2l2ZSQxKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoKGZsYWdzICYgTGF5b3V0KSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZChmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBJbnNlcnRpb24pICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgICAgc2V0SXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGZpbmlzaGVkV29yaywgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUkMSkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdG9wcGVkKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIExheW91dCkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChmbGFncywgZmluaXNoZWRXb3JrKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZSAhPT0gbnVsbCA/IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgOiBudWxsO1xuXG4gIGlmIChsYXN0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgIHZhciBlZmZlY3QgPSBmaXJzdEVmZmVjdDtcblxuICAgIGRvIHtcbiAgICAgIGlmICgoZWZmZWN0LnRhZyAmIGZsYWdzKSA9PT0gZmxhZ3MpIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICgoZmxhZ3MgJiBQYXNzaXZlJDEpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0TW91bnRTdGFydGVkKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBlbHNlIGlmICgoZmxhZ3MgJiBMYXlvdXQpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gTW91bnRcblxuXG4gICAgICAgIHZhciBjcmVhdGUgPSBlZmZlY3QuY3JlYXRlO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICBzZXRJc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZWZmZWN0LmRlc3Ryb3kgPSBjcmVhdGUoKTtcblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKChmbGFncyAmIEluc2VydGlvbikgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgc2V0SXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUkMSkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIExheW91dCkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgbWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RvcHBlZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgZGVzdHJveSA9IGVmZmVjdC5kZXN0cm95O1xuXG4gICAgICAgICAgaWYgKGRlc3Ryb3kgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZGVzdHJveSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGhvb2tOYW1lID0gdm9pZCAwO1xuXG4gICAgICAgICAgICBpZiAoKGVmZmVjdC50YWcgJiBMYXlvdXQpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgICAgIGhvb2tOYW1lID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChlZmZlY3QudGFnICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICBob29rTmFtZSA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaG9va05hbWUgPSAndXNlRWZmZWN0JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGFkZGVuZHVtID0gdm9pZCAwO1xuXG4gICAgICAgICAgICBpZiAoZGVzdHJveSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICcgWW91IHJldHVybmVkIG51bGwuIElmIHlvdXIgZWZmZWN0IGRvZXMgbm90IHJlcXVpcmUgY2xlYW4gJyArICd1cCwgcmV0dXJuIHVuZGVmaW5lZCAob3Igbm90aGluZykuJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlc3Ryb3kudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICdcXG5cXG5JdCBsb29rcyBsaWtlIHlvdSB3cm90ZSAnICsgaG9va05hbWUgKyAnKGFzeW5jICgpID0+IC4uLikgb3IgcmV0dXJuZWQgYSBQcm9taXNlLiAnICsgJ0luc3RlYWQsIHdyaXRlIHRoZSBhc3luYyBmdW5jdGlvbiBpbnNpZGUgeW91ciBlZmZlY3QgJyArICdhbmQgY2FsbCBpdCBpbW1lZGlhdGVseTpcXG5cXG4nICsgaG9va05hbWUgKyAnKCgpID0+IHtcXG4nICsgJyAgYXN5bmMgZnVuY3Rpb24gZmV0Y2hEYXRhKCkge1xcbicgKyAnICAgIC8vIFlvdSBjYW4gYXdhaXQgaGVyZVxcbicgKyAnICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgTXlBUEkuZ2V0RGF0YShzb21lSWQpO1xcbicgKyAnICAgIC8vIC4uLlxcbicgKyAnICB9XFxuJyArICcgIGZldGNoRGF0YSgpO1xcbicgKyBcIn0sIFtzb21lSWRdKTsgLy8gT3IgW10gaWYgZWZmZWN0IGRvZXNuJ3QgbmVlZCBwcm9wcyBvciBzdGF0ZVxcblxcblwiICsgJ0xlYXJuIG1vcmUgYWJvdXQgZGF0YSBmZXRjaGluZyB3aXRoIEhvb2tzOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaG9va3MtZGF0YS1mZXRjaGluZyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICcgWW91IHJldHVybmVkOiAnICsgZGVzdHJveTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXJyb3IoJyVzIG11c3Qgbm90IHJldHVybiBhbnl0aGluZyBiZXNpZGVzIGEgZnVuY3Rpb24sICcgKyAnd2hpY2ggaXMgdXNlZCBmb3IgY2xlYW4tdXAuJXMnLCBob29rTmFtZSwgYWRkZW5kdW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcbiAgICB9IHdoaWxlIChlZmZlY3QgIT09IGZpcnN0RWZmZWN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlRWZmZWN0RHVyYXRpb25zKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKSB7XG4gIHtcbiAgICAvLyBPbmx5IFByb2ZpbGVycyB3aXRoIHdvcmsgaW4gdGhlaXIgc3VidHJlZSB3aWxsIGhhdmUgYW4gVXBkYXRlIGVmZmVjdCBzY2hlZHVsZWQuXG4gICAgaWYgKChmaW5pc2hlZFdvcmsuZmxhZ3MgJiBVcGRhdGUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZS5wYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICB2YXIgX2ZpbmlzaGVkV29yayRtZW1vaXplID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMsXG4gICAgICAgICAgICAgICAgaWQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUuaWQsXG4gICAgICAgICAgICAgICAgb25Qb3N0Q29tbWl0ID0gX2ZpbmlzaGVkV29yayRtZW1vaXplLm9uUG9zdENvbW1pdDsgLy8gVGhpcyB2YWx1ZSB3aWxsIHN0aWxsIHJlZmxlY3QgdGhlIHByZXZpb3VzIGNvbW1pdCBwaGFzZS5cbiAgICAgICAgICAgIC8vIEl0IGRvZXMgbm90IGdldCByZXNldCB1bnRpbCB0aGUgc3RhcnQgb2YgdGhlIG5leHQgY29tbWl0IHBoYXNlLlxuXG4gICAgICAgICAgICB2YXIgY29tbWl0VGltZSA9IGdldENvbW1pdFRpbWUoKTtcbiAgICAgICAgICAgIHZhciBwaGFzZSA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGUgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZSc7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYgKGlzQ3VycmVudFVwZGF0ZU5lc3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgcGhhc2UgPSAnbmVzdGVkLXVwZGF0ZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvblBvc3RDb21taXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgb25Qb3N0Q29tbWl0KGlkLCBwaGFzZSwgcGFzc2l2ZUVmZmVjdER1cmF0aW9uLCBjb21taXRUaW1lKTtcbiAgICAgICAgICAgIH0gLy8gQnViYmxlIHRpbWVzIHRvIHRoZSBuZXh0IG5lYXJlc3QgYW5jZXN0b3IgUHJvZmlsZXIuXG4gICAgICAgICAgICAvLyBBZnRlciB3ZSBwcm9jZXNzIHRoYXQgUHJvZmlsZXIsIHdlJ2xsIGJ1YmJsZSBmdXJ0aGVyIHVwLlxuXG5cbiAgICAgICAgICAgIHZhciBwYXJlbnRGaWJlciA9IGZpbmlzaGVkV29yay5yZXR1cm47XG5cbiAgICAgICAgICAgIG91dGVyOiB3aGlsZSAocGFyZW50RmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgICAgICAgICAgdmFyIHJvb3QgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgICAgICAgICByb290LnBhc3NpdmVFZmZlY3REdXJhdGlvbiArPSBwYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICAgICAgICBicmVhayBvdXRlcjtcblxuICAgICAgICAgICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgICAgICAgICB2YXIgcGFyZW50U3RhdGVOb2RlID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICAgICAgcGFyZW50U3RhdGVOb2RlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiArPSBwYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICAgICAgICBicmVhayBvdXRlcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHBhcmVudEZpYmVyID0gcGFyZW50RmliZXIucmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdExheW91dEVmZmVjdE9uRmliZXIoZmluaXNoZWRSb290LCBjdXJyZW50LCBmaW5pc2hlZFdvcmssIGNvbW1pdHRlZExhbmVzKSB7XG4gIGlmICgoZmluaXNoZWRXb3JrLmZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MpIHtcbiAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoICFvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuKSB7XG4gICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50IGxheW91dCBlZmZlY3RzIGhhdmUgYWxyZWFkeSBiZWVuIGRlc3Ryb3llZCAoZHVyaW5nIG11dGF0aW9uIHBoYXNlKS5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgZG9uZSB0byBwcmV2ZW50IHNpYmxpbmcgY29tcG9uZW50IGVmZmVjdHMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIsXG4gICAgICAgICAgICAvLyBlLmcuIGEgZGVzdHJveSBmdW5jdGlvbiBpbiBvbmUgY29tcG9uZW50IHNob3VsZCBuZXZlciBvdmVycmlkZSBhIHJlZiBzZXRcbiAgICAgICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXG4gICAgICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLmZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAgICAgLy8gYnV0IGluc3RlYWQgd2UgcmVseSBvbiB0aGVtIGJlaW5nIHNldCBkdXJpbmcgbGFzdCByZW5kZXIuXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkTW91bnQuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHN0YXRlIHRvIG1hdGNoIG1lbW9pemVkIHN0YXRlIGJlZm9yZSAnICsgJ2NvbXBvbmVudERpZE1vdW50LiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5zdGF0ZWAuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCBmaW5pc2hlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgcHJldlByb3BzID0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlID09PSBmaW5pc2hlZFdvcmsudHlwZSA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoZmluaXNoZWRXb3JrLnR5cGUsIGN1cnJlbnQubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTsgLy8gV2UgY291bGQgdXBkYXRlIGluc3RhbmNlIHByb3BzIGFuZCBzdGF0ZSBoZXJlLFxuICAgICAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdjb21wb25lbnREaWRVcGRhdGUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnN0YXRlYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlLCBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSk7XG4gICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUsIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IC8vIFRPRE86IEkgdGhpbmsgdGhpcyBpcyBub3cgYWx3YXlzIG5vbi1udWxsIGJ5IHRoZSB0aW1lIGl0IHJlYWNoZXMgdGhlXG4gICAgICAgICAgLy8gY29tbWl0IHBoYXNlLiBDb25zaWRlciByZW1vdmluZyB0aGUgdHlwZSBjaGVjay5cblxuXG4gICAgICAgICAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ3Byb2Nlc3NpbmcgdGhlIHVwZGF0ZSBxdWV1ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgc3RhdGUgdG8gbWF0Y2ggbWVtb2l6ZWQgc3RhdGUgYmVmb3JlICcgKyAncHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5zdGF0ZWAuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuXG4gICAgICAgICAgICBjb21taXRVcGRhdGVRdWV1ZShmaW5pc2hlZFdvcmssIHVwZGF0ZVF1ZXVlLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRPRE86IEkgdGhpbmsgdGhpcyBpcyBub3cgYWx3YXlzIG5vbi1udWxsIGJ5IHRoZSB0aW1lIGl0IHJlYWNoZXMgdGhlXG4gICAgICAgICAgLy8gY29tbWl0IHBoYXNlLiBDb25zaWRlciByZW1vdmluZyB0aGUgdHlwZSBjaGVjay5cbiAgICAgICAgICB2YXIgX3VwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKF91cGRhdGVRdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIF9pbnN0YW5jZSA9IG51bGw7XG5cbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChmaW5pc2hlZFdvcmsuY2hpbGQudGFnKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICAgICAgX2luc3RhbmNlID0gZ2V0UHVibGljSW5zdGFuY2UoZmluaXNoZWRXb3JrLmNoaWxkLnN0YXRlTm9kZSk7XG4gICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAgICAgICAgICBfaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuY2hpbGQuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29tbWl0VXBkYXRlUXVldWUoZmluaXNoZWRXb3JrLCBfdXBkYXRlUXVldWUsIF9pbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9pbnN0YW5jZTIgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlOyAvLyBSZW5kZXJlcnMgbWF5IHNjaGVkdWxlIHdvcmsgdG8gYmUgZG9uZSBhZnRlciBob3N0IGNvbXBvbmVudHMgYXJlIG1vdW50ZWRcbiAgICAgICAgICAvLyAoZWcgRE9NIHJlbmRlcmVyIG1heSBzY2hlZHVsZSBhdXRvLWZvY3VzIGZvciBpbnB1dHMgYW5kIGZvcm0gY29udHJvbHMpLlxuICAgICAgICAgIC8vIFRoZXNlIGVmZmVjdHMgc2hvdWxkIG9ubHkgYmUgY29tbWl0dGVkIHdoZW4gY29tcG9uZW50cyBhcmUgZmlyc3QgbW91bnRlZCxcbiAgICAgICAgICAvLyBha2Egd2hlbiB0aGVyZSBpcyBubyBjdXJyZW50L2FsdGVybmF0ZS5cblxuICAgICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsICYmIGZpbmlzaGVkV29yay5mbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSBmaW5pc2hlZFdvcmsudHlwZTtcbiAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzO1xuICAgICAgICAgICAgY29tbWl0TW91bnQoX2luc3RhbmNlMiwgdHlwZSwgcHJvcHMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSBoYXZlIG5vIGxpZmUtY3ljbGVzIGFzc29jaWF0ZWQgd2l0aCB0ZXh0LlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFdlIGhhdmUgbm8gbGlmZS1jeWNsZXMgYXNzb2NpYXRlZCB3aXRoIHBvcnRhbHMuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBfZmluaXNoZWRXb3JrJG1lbW9pemUyID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMsXG4gICAgICAgICAgICAgICAgb25Db21taXQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUyLm9uQ29tbWl0LFxuICAgICAgICAgICAgICAgIG9uUmVuZGVyID0gX2ZpbmlzaGVkV29yayRtZW1vaXplMi5vblJlbmRlcjtcbiAgICAgICAgICAgIHZhciBlZmZlY3REdXJhdGlvbiA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICB2YXIgY29tbWl0VGltZSA9IGdldENvbW1pdFRpbWUoKTtcbiAgICAgICAgICAgIHZhciBwaGFzZSA9IGN1cnJlbnQgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZSc7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYgKGlzQ3VycmVudFVwZGF0ZU5lc3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgcGhhc2UgPSAnbmVzdGVkLXVwZGF0ZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvblJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBvblJlbmRlcihmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5pZCwgcGhhc2UsIGZpbmlzaGVkV29yay5hY3R1YWxEdXJhdGlvbiwgZmluaXNoZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24sIGZpbmlzaGVkV29yay5hY3R1YWxTdGFydFRpbWUsIGNvbW1pdFRpbWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygb25Db21taXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBvbkNvbW1pdChmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5pZCwgcGhhc2UsIGVmZmVjdER1cmF0aW9uLCBjb21taXRUaW1lKTtcbiAgICAgICAgICAgICAgfSAvLyBTY2hlZHVsZSBhIHBhc3NpdmUgZWZmZWN0IGZvciB0aGlzIFByb2ZpbGVyIHRvIGNhbGwgb25Qb3N0Q29tbWl0IGhvb2tzLlxuICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdCBzaG91bGQgYmUgc2NoZWR1bGVkIGV2ZW4gaWYgdGhlcmUgaXMgbm8gb25Qb3N0Q29tbWl0IGNhbGxiYWNrIGZvciB0aGlzIFByb2ZpbGVyLFxuICAgICAgICAgICAgICAvLyBiZWNhdXNlIHRoZSBlZmZlY3QgaXMgYWxzbyB3aGVyZSB0aW1lcyBidWJibGUgdG8gcGFyZW50IFByb2ZpbGVycy5cblxuXG4gICAgICAgICAgICAgIGVucXVldWVQZW5kaW5nUGFzc2l2ZVByb2ZpbGVyRWZmZWN0KGZpbmlzaGVkV29yayk7IC8vIFByb3BhZ2F0ZSBsYXlvdXQgZWZmZWN0IGR1cmF0aW9ucyB0byB0aGUgbmV4dCBuZWFyZXN0IFByb2ZpbGVyIGFuY2VzdG9yLlxuICAgICAgICAgICAgICAvLyBEbyBub3QgcmVzZXQgdGhlc2UgdmFsdWVzIHVudGlsIHRoZSBuZXh0IHJlbmRlciBzbyBEZXZUb29scyBoYXMgYSBjaGFuY2UgdG8gcmVhZCB0aGVtIGZpcnN0LlxuXG4gICAgICAgICAgICAgIHZhciBwYXJlbnRGaWJlciA9IGZpbmlzaGVkV29yay5yZXR1cm47XG5cbiAgICAgICAgICAgICAgb3V0ZXI6IHdoaWxlIChwYXJlbnRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAocGFyZW50RmliZXIudGFnKSB7XG4gICAgICAgICAgICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgICAgICAgICAgICB2YXIgcm9vdCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICAgICAgICAgICAgcm9vdC5lZmZlY3REdXJhdGlvbiArPSBlZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG5cbiAgICAgICAgICAgICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRTdGF0ZU5vZGUgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiArPSBlZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgY29tbWl0U3VzcGVuc2VIeWRyYXRpb25DYWxsYmFja3MoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAgY2FzZSBPZmZzY3JlZW5Db21wb25lbnQ6XG4gICAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgVHJhY2luZ01hcmtlckNvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB1bml0IG9mIHdvcmsgdGFnIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMuIFRoaXMgZXJyb3IgaXMgJyArICdsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAoICFvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuKSB7XG4gICAge1xuICAgICAgaWYgKGZpbmlzaGVkV29yay5mbGFncyAmIFJlZikge1xuICAgICAgICBjb21taXRBdHRhY2hSZWYoZmluaXNoZWRXb3JrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhcHBlYXJMYXlvdXRFZmZlY3RzT25GaWJlcihub2RlKSB7XG4gIC8vIFR1cm4gb24gbGF5b3V0IGVmZmVjdHMgaW4gYSB0cmVlIHRoYXQgcHJldmlvdXNseSBkaXNhcHBlYXJlZC5cbiAgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiBMYXlvdXRTdGF0aWNcbiAgc3dpdGNoIChub2RlLnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCBub2RlLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBzYWZlbHlDYWxsQ29tcG9uZW50RGlkTW91bnQobm9kZSwgbm9kZS5yZXR1cm4sIGluc3RhbmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNhZmVseUF0dGFjaFJlZihub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBzYWZlbHlBdHRhY2hSZWYobm9kZSwgbm9kZS5yZXR1cm4pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBoaWRlT3JVbmhpZGVBbGxDaGlsZHJlbihmaW5pc2hlZFdvcmssIGlzSGlkZGVuKSB7XG4gIC8vIE9ubHkgaGlkZSBvciB1bmhpZGUgdGhlIHRvcC1tb3N0IGhvc3Qgbm9kZXMuXG4gIHZhciBob3N0U3VidHJlZVJvb3QgPSBudWxsO1xuXG4gIHtcbiAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBpbnNlcnRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIHZhciBub2RlID0gZmluaXNoZWRXb3JrO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCkge1xuICAgICAgICBpZiAoaG9zdFN1YnRyZWVSb290ID09PSBudWxsKSB7XG4gICAgICAgICAgaG9zdFN1YnRyZWVSb290ID0gbm9kZTtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBub2RlLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgaWYgKGlzSGlkZGVuKSB7XG4gICAgICAgICAgICAgIGhpZGVJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB1bmhpZGVJbnN0YW5jZShub2RlLnN0YXRlTm9kZSwgbm9kZS5tZW1vaXplZFByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBIb3N0VGV4dCkge1xuICAgICAgICBpZiAoaG9zdFN1YnRyZWVSb290ID09PSBudWxsKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBfaW5zdGFuY2UzID0gbm9kZS5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgICBoaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdW5oaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMsIG5vZGUubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICgobm9kZS50YWcgPT09IE9mZnNjcmVlbkNvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gTGVnYWN5SGlkZGVuQ29tcG9uZW50KSAmJiBub2RlLm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgbm9kZSAhPT0gZmluaXNoZWRXb3JrKSA7IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gZmluaXNoZWRXb3JrKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvc3RTdWJ0cmVlUm9vdCA9PT0gbm9kZSkge1xuICAgICAgICAgIGhvc3RTdWJ0cmVlUm9vdCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChob3N0U3VidHJlZVJvb3QgPT09IG5vZGUpIHtcbiAgICAgICAgaG9zdFN1YnRyZWVSb290ID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0QXR0YWNoUmVmKGZpbmlzaGVkV29yaykge1xuICB2YXIgcmVmID0gZmluaXNoZWRXb3JrLnJlZjtcblxuICBpZiAocmVmICE9PSBudWxsKSB7XG4gICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICB2YXIgaW5zdGFuY2VUb1VzZTtcblxuICAgIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICBpbnN0YW5jZVRvVXNlID0gZ2V0UHVibGljSW5zdGFuY2UoaW5zdGFuY2UpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaW5zdGFuY2VUb1VzZSA9IGluc3RhbmNlO1xuICAgIH0gLy8gTW92ZWQgb3V0c2lkZSB0byBlbnN1cmUgRENFIHdvcmtzIHdpdGggdGhpcyBmbGFnXG5cbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIHJldFZhbDtcblxuICAgICAgaWYgKCBmaW5pc2hlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgIHJldFZhbCA9IHJlZihpbnN0YW5jZVRvVXNlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXRWYWwgPSByZWYoaW5zdGFuY2VUb1VzZSk7XG4gICAgICB9XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiByZXRWYWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBlcnJvcignVW5leHBlY3RlZCByZXR1cm4gdmFsdWUgZnJvbSBhIGNhbGxiYWNrIHJlZiBpbiAlcy4gJyArICdBIGNhbGxiYWNrIHJlZiBzaG91bGQgbm90IHJldHVybiBhIGZ1bmN0aW9uLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICBpZiAoIXJlZi5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmVmIG9iamVjdCBwcm92aWRlZCBmb3IgJXMuICcgKyAnVXNlIGVpdGhlciBhIHJlZi1zZXR0ZXIgZnVuY3Rpb24gb3IgUmVhY3QuY3JlYXRlUmVmKCkuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZWYuY3VycmVudCA9IGluc3RhbmNlVG9Vc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRldGFjaEZpYmVyTXV0YXRpb24oZmliZXIpIHtcbiAgLy8gQ3V0IG9mZiB0aGUgcmV0dXJuIHBvaW50ZXIgdG8gZGlzY29ubmVjdCBpdCBmcm9tIHRoZSB0cmVlLlxuICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gZGV0ZWN0IGFuZCB3YXJuIGFnYWluc3Qgc3RhdGUgdXBkYXRlcyBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxuICAvLyBJdCBhbHNvIHByZXZlbnRzIGV2ZW50cyBmcm9tIGJ1YmJsaW5nIGZyb20gd2l0aGluIGRpc2Nvbm5lY3RlZCBjb21wb25lbnRzLlxuICAvL1xuICAvLyBJZGVhbGx5LCB3ZSBzaG91bGQgYWxzbyBjbGVhciB0aGUgY2hpbGQgcG9pbnRlciBvZiB0aGUgcGFyZW50IGFsdGVybmF0ZSB0byBsZXQgdGhpc1xuICAvLyBnZXQgR0M6ZWQgYnV0IHdlIGRvbid0IGtub3cgd2hpY2ggZm9yIHN1cmUgd2hpY2ggcGFyZW50IGlzIHRoZSBjdXJyZW50XG4gIC8vIG9uZSBzbyB3ZSdsbCBzZXR0bGUgZm9yIEdDOmluZyB0aGUgc3VidHJlZSBvZiB0aGlzIGNoaWxkLlxuICAvLyBUaGlzIGNoaWxkIGl0c2VsZiB3aWxsIGJlIEdDOmVkIHdoZW4gdGhlIHBhcmVudCB1cGRhdGVzIHRoZSBuZXh0IHRpbWUuXG4gIC8vXG4gIC8vIE5vdGUgdGhhdCB3ZSBjYW4ndCBjbGVhciBjaGlsZCBvciBzaWJsaW5nIHBvaW50ZXJzIHlldC5cbiAgLy8gVGhleSdyZSBuZWVkZWQgZm9yIHBhc3NpdmUgZWZmZWN0cyBhbmQgZm9yIGZpbmRET01Ob2RlLlxuICAvLyBXZSBkZWZlciB0aG9zZSBmaWVsZHMsIGFuZCBhbGwgb3RoZXIgY2xlYW51cCwgdG8gdGhlIHBhc3NpdmUgcGhhc2UgKHNlZSBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cykuXG4gIC8vXG4gIC8vIERvbid0IHJlc2V0IHRoZSBhbHRlcm5hdGUgeWV0LCBlaXRoZXIuIFdlIG5lZWQgdGhhdCBzbyB3ZSBjYW4gZGV0YWNoIHRoZVxuICAvLyBhbHRlcm5hdGUncyBmaWVsZHMgaW4gdGhlIHBhc3NpdmUgcGhhc2UuIENsZWFyaW5nIHRoZSByZXR1cm4gcG9pbnRlciBpc1xuICAvLyBzdWZmaWNpZW50IGZvciBmaW5kRE9NTm9kZSBzZW1hbnRpY3MuXG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5yZXR1cm4gPSBudWxsO1xuICB9XG5cbiAgZmliZXIucmV0dXJuID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gZGV0YWNoRmliZXJBZnRlckVmZmVjdHMoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgZmliZXIuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cyhhbHRlcm5hdGUpO1xuICB9IC8vIE5vdGU6IERlZmVuc2l2ZWx5IHVzaW5nIG5lZ2F0aW9uIGluc3RlYWQgb2YgPCBpbiBjYXNlXG4gIC8vIGBkZWxldGVkVHJlZUNsZWFuVXBMZXZlbGAgaXMgdW5kZWZpbmVkLlxuXG5cbiAge1xuICAgIC8vIENsZWFyIGN5Y2xpY2FsIEZpYmVyIGZpZWxkcy4gVGhpcyBsZXZlbCBhbG9uZSBpcyBkZXNpZ25lZCB0byByb3VnaGx5XG4gICAgLy8gYXBwcm94aW1hdGUgdGhlIHBsYW5uZWQgRmliZXIgcmVmYWN0b3IuIEluIHRoYXQgd29ybGQsIGBzZXRTdGF0ZWAgd2lsbCBiZVxuICAgIC8vIGJvdW5kIHRvIGEgc3BlY2lhbCBcImluc3RhbmNlXCIgb2JqZWN0IGluc3RlYWQgb2YgYSBGaWJlci4gVGhlIEluc3RhbmNlXG4gICAgLy8gb2JqZWN0IHdpbGwgbm90IGhhdmUgYW55IG9mIHRoZXNlIGZpZWxkcy4gSXQgd2lsbCBvbmx5IGJlIGNvbm5lY3RlZCB0b1xuICAgIC8vIHRoZSBmaWJlciB0cmVlIHZpYSBhIHNpbmdsZSBsaW5rIGF0IHRoZSByb290LiBTbyBpZiB0aGlzIGxldmVsIGFsb25lIGlzXG4gICAgLy8gc3VmZmljaWVudCB0byBmaXggbWVtb3J5IGlzc3VlcywgdGhhdCBib2RlcyB3ZWxsIGZvciBvdXIgcGxhbnMuXG4gICAgZmliZXIuY2hpbGQgPSBudWxsO1xuICAgIGZpYmVyLmRlbGV0aW9ucyA9IG51bGw7XG4gICAgZmliZXIuc2libGluZyA9IG51bGw7IC8vIFRoZSBgc3RhdGVOb2RlYCBpcyBjeWNsaWNhbCBiZWNhdXNlIG9uIGhvc3Qgbm9kZXMgaXQgcG9pbnRzIHRvIHRoZSBob3N0XG4gICAgLy8gdHJlZSwgd2hpY2ggaGFzIGl0cyBvd24gcG9pbnRlcnMgdG8gY2hpbGRyZW4sIHBhcmVudHMsIGFuZCBzaWJsaW5ncy5cbiAgICAvLyBUaGUgb3RoZXIgaG9zdCBub2RlcyBhbHNvIHBvaW50IGJhY2sgdG8gZmliZXJzLCBzbyB3ZSBzaG91bGQgZGV0YWNoIHRoYXRcbiAgICAvLyBvbmUsIHRvby5cblxuICAgIGlmIChmaWJlci50YWcgPT09IEhvc3RDb21wb25lbnQpIHtcbiAgICAgIHZhciBob3N0SW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgZGV0YWNoRGVsZXRlZEluc3RhbmNlKGhvc3RJbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmliZXIuc3RhdGVOb2RlID0gbnVsbDsgLy8gSSdtIGludGVudGlvbmFsbHkgbm90IGNsZWFyaW5nIHRoZSBgcmV0dXJuYCBmaWVsZCBpbiB0aGlzIGxldmVsLiBXZVxuICAgIC8vIGFscmVhZHkgZGlzY29ubmVjdCB0aGUgYHJldHVybmAgcG9pbnRlciBhdCB0aGUgcm9vdCBvZiB0aGUgZGVsZXRlZFxuICAgIC8vIHN1YnRyZWUgKGluIGBkZXRhY2hGaWJlck11dGF0aW9uYCkuIEJlc2lkZXMsIGByZXR1cm5gIGJ5IGl0c2VsZiBpcyBub3RcbiAgICAvLyBjeWNsaWNhbCDigJQgaXQncyBvbmx5IGN5Y2xpY2FsIHdoZW4gY29tYmluZWQgd2l0aCBgY2hpbGRgLCBgc2libGluZ2AsIGFuZFxuICAgIC8vIGBhbHRlcm5hdGVgLiBCdXQgd2UnbGwgY2xlYXIgaXQgaW4gdGhlIG5leHQgbGV2ZWwgYW55d2F5LCBqdXN0IGluIGNhc2UuXG5cbiAgICB7XG4gICAgICBmaWJlci5fZGVidWdPd25lciA9IG51bGw7XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gVGhlb3JldGljYWxseSwgbm90aGluZyBpbiBoZXJlIHNob3VsZCBiZSBuZWNlc3NhcnksIGJlY2F1c2Ugd2UgYWxyZWFkeVxuICAgICAgLy8gZGlzY29ubmVjdGVkIHRoZSBmaWJlciBmcm9tIHRoZSB0cmVlLiBTbyBldmVuIGlmIHNvbWV0aGluZyBsZWFrcyB0aGlzXG4gICAgICAvLyBwYXJ0aWN1bGFyIGZpYmVyLCBpdCB3b24ndCBsZWFrIGFueXRoaW5nIGVsc2VcbiAgICAgIC8vXG4gICAgICAvLyBUaGUgcHVycG9zZSBvZiB0aGlzIGJyYW5jaCBpcyB0byBiZSBzdXBlciBhZ2dyZXNzaXZlIHNvIHdlIGNhbiBtZWFzdXJlXG4gICAgICAvLyBpZiB0aGVyZSdzIGFueSBkaWZmZXJlbmNlIGluIG1lbW9yeSBpbXBhY3QuIElmIHRoZXJlIGlzLCB0aGF0IGNvdWxkXG4gICAgICAvLyBpbmRpY2F0ZSBhIFJlYWN0IGxlYWsgd2UgZG9uJ3Qga25vdyBhYm91dC5cbiAgICAgIGZpYmVyLnJldHVybiA9IG51bGw7XG4gICAgICBmaWJlci5kZXBlbmRlbmNpZXMgPSBudWxsO1xuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IG51bGw7XG4gICAgICBmaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgIGZpYmVyLnBlbmRpbmdQcm9wcyA9IG51bGw7XG4gICAgICBmaWJlci5zdGF0ZU5vZGUgPSBudWxsOyAvLyBUT0RPOiBNb3ZlIHRvIGBjb21taXRQYXNzaXZlVW5tb3VudEluc2lkZURlbGV0ZWRUcmVlT25GaWJlcmAgaW5zdGVhZC5cblxuICAgICAgZmliZXIudXBkYXRlUXVldWUgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRIb3N0UGFyZW50RmliZXIoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgaWYgKGlzSG9zdFBhcmVudChwYXJlbnQpKSB7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgIH1cblxuICAgIHBhcmVudCA9IHBhcmVudC5yZXR1cm47XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgYSBob3N0IHBhcmVudC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnICcgKyAnaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiBpc0hvc3RQYXJlbnQoZmliZXIpIHtcbiAgcmV0dXJuIGZpYmVyLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBmaWJlci50YWcgPT09IEhvc3RSb290IHx8IGZpYmVyLnRhZyA9PT0gSG9zdFBvcnRhbDtcbn1cblxuZnVuY3Rpb24gZ2V0SG9zdFNpYmxpbmcoZmliZXIpIHtcbiAgLy8gV2UncmUgZ29pbmcgdG8gc2VhcmNoIGZvcndhcmQgaW50byB0aGUgdHJlZSB1bnRpbCB3ZSBmaW5kIGEgc2libGluZyBob3N0XG4gIC8vIG5vZGUuIFVuZm9ydHVuYXRlbHksIGlmIG11bHRpcGxlIGluc2VydGlvbnMgYXJlIGRvbmUgaW4gYSByb3cgd2UgaGF2ZSB0b1xuICAvLyBzZWFyY2ggcGFzdCB0aGVtLiBUaGlzIGxlYWRzIHRvIGV4cG9uZW50aWFsIHNlYXJjaCBmb3IgdGhlIG5leHQgc2libGluZy5cbiAgLy8gVE9ETzogRmluZCBhIG1vcmUgZWZmaWNpZW50IHdheSB0byBkbyB0aGlzLlxuICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gIHNpYmxpbmdzOiB3aGlsZSAodHJ1ZSkge1xuICAgIC8vIElmIHdlIGRpZG4ndCBmaW5kIGFueXRoaW5nLCBsZXQncyB0cnkgdGhlIG5leHQgc2libGluZy5cbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgaXNIb3N0UGFyZW50KG5vZGUucmV0dXJuKSkge1xuICAgICAgICAvLyBJZiB3ZSBwb3Agb3V0IG9mIHRoZSByb290IG9yIGhpdCB0aGUgcGFyZW50IHRoZSBmaWJlciB3ZSBhcmUgdGhlXG4gICAgICAgIC8vIGxhc3Qgc2libGluZy5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcblxuICAgIHdoaWxlIChub2RlLnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiBub2RlLnRhZyAhPT0gSG9zdFRleHQgJiYgbm9kZS50YWcgIT09IERlaHlkcmF0ZWRGcmFnbWVudCkge1xuICAgICAgLy8gSWYgaXQgaXMgbm90IGhvc3Qgbm9kZSBhbmQsIHdlIG1pZ2h0IGhhdmUgYSBob3N0IG5vZGUgaW5zaWRlIGl0LlxuICAgICAgLy8gVHJ5IHRvIHNlYXJjaCBkb3duIHVudGlsIHdlIGZpbmQgb25lLlxuICAgICAgaWYgKG5vZGUuZmxhZ3MgJiBQbGFjZW1lbnQpIHtcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIGNoaWxkLCB0cnkgdGhlIHNpYmxpbmdzIGluc3RlYWQuXG4gICAgICAgIGNvbnRpbnVlIHNpYmxpbmdzO1xuICAgICAgfSAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgY2hpbGQsIHRyeSB0aGUgc2libGluZ3MgaW5zdGVhZC5cbiAgICAgIC8vIFdlIGFsc28gc2tpcCBwb3J0YWxzIGJlY2F1c2UgdGhleSBhcmUgbm90IHBhcnQgb2YgdGhpcyBob3N0IHRyZWUuXG5cblxuICAgICAgaWYgKG5vZGUuY2hpbGQgPT09IG51bGwgfHwgbm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgY29udGludWUgc2libGluZ3M7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgfVxuICAgIH0gLy8gQ2hlY2sgaWYgdGhpcyBob3N0IG5vZGUgaXMgc3RhYmxlIG9yIGFib3V0IHRvIGJlIHBsYWNlZC5cblxuXG4gICAgaWYgKCEobm9kZS5mbGFncyAmIFBsYWNlbWVudCkpIHtcbiAgICAgIC8vIEZvdW5kIGl0IVxuICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQbGFjZW1lbnQoZmluaXNoZWRXb3JrKSB7XG5cblxuICB2YXIgcGFyZW50RmliZXIgPSBnZXRIb3N0UGFyZW50RmliZXIoZmluaXNoZWRXb3JrKTsgLy8gTm90ZTogdGhlc2UgdHdvIHZhcmlhYmxlcyAqbXVzdCogYWx3YXlzIGJlIHVwZGF0ZWQgdG9nZXRoZXIuXG5cbiAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBwYXJlbnQgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgaWYgKHBhcmVudEZpYmVyLmZsYWdzICYgQ29udGVudFJlc2V0KSB7XG4gICAgICAgICAgLy8gUmVzZXQgdGhlIHRleHQgY29udGVudCBvZiB0aGUgcGFyZW50IGJlZm9yZSBkb2luZyBhbnkgaW5zZXJ0aW9uc1xuICAgICAgICAgIHJlc2V0VGV4dENvbnRlbnQocGFyZW50KTsgLy8gQ2xlYXIgQ29udGVudFJlc2V0IGZyb20gdGhlIGVmZmVjdCB0YWdcblxuICAgICAgICAgIHBhcmVudEZpYmVyLmZsYWdzICY9IH5Db250ZW50UmVzZXQ7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgYmVmb3JlID0gZ2V0SG9zdFNpYmxpbmcoZmluaXNoZWRXb3JrKTsgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgaW5zZXJ0ZWQgYnV0IHdlIG5lZWQgdG8gcmVjdXJzZSBkb3duIGl0c1xuICAgICAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG5cbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKGZpbmlzaGVkV29yaywgYmVmb3JlLCBwYXJlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAge1xuICAgICAgICB2YXIgX3BhcmVudCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuXG4gICAgICAgIHZhciBfYmVmb3JlID0gZ2V0SG9zdFNpYmxpbmcoZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKGZpbmlzaGVkV29yaywgX2JlZm9yZSwgX3BhcmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZS1uby1mYWxsdGhyb3VnaFxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBob3N0IHBhcmVudCBmaWJlci4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnICcgKyAnaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIobm9kZSwgYmVmb3JlLCBwYXJlbnQpIHtcbiAgdmFyIHRhZyA9IG5vZGUudGFnO1xuICB2YXIgaXNIb3N0ID0gdGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHRhZyA9PT0gSG9zdFRleHQ7XG5cbiAgaWYgKGlzSG9zdCkge1xuICAgIHZhciBzdGF0ZU5vZGUgPSBub2RlLnN0YXRlTm9kZTtcblxuICAgIGlmIChiZWZvcmUpIHtcbiAgICAgIGluc2VydEluQ29udGFpbmVyQmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBlbmRDaGlsZFRvQ29udGFpbmVyKHBhcmVudCwgc3RhdGVOb2RlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodGFnID09PSBIb3N0UG9ydGFsKSA7IGVsc2Uge1xuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgICBpZiAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIoY2hpbGQsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcblxuICAgICAgd2hpbGUgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlSW50b0NvbnRhaW5lcihzaWJsaW5nLCBiZWZvcmUsIHBhcmVudCk7XG4gICAgICAgIHNpYmxpbmcgPSBzaWJsaW5nLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZShub2RlLCBiZWZvcmUsIHBhcmVudCkge1xuICB2YXIgdGFnID0gbm9kZS50YWc7XG4gIHZhciBpc0hvc3QgPSB0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgdGFnID09PSBIb3N0VGV4dDtcblxuICBpZiAoaXNIb3N0KSB7XG4gICAgdmFyIHN0YXRlTm9kZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgaWYgKGJlZm9yZSkge1xuICAgICAgaW5zZXJ0QmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBlbmRDaGlsZChwYXJlbnQsIHN0YXRlTm9kZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIHtcbiAgICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkO1xuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGUoY2hpbGQsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcblxuICAgICAgd2hpbGUgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKHNpYmxpbmcsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgICAgc2libGluZyA9IHNpYmxpbmcuc2libGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gLy8gVGhlc2UgYXJlIHRyYWNrZWQgb24gdGhlIHN0YWNrIGFzIHdlIHJlY3Vyc2l2ZWx5IHRyYXZlcnNlIGFcbi8vIGRlbGV0ZWQgc3VidHJlZS5cbi8vIFRPRE86IFVwZGF0ZSB0aGVzZSBkdXJpbmcgdGhlIHdob2xlIG11dGF0aW9uIHBoYXNlLCBub3QganVzdCBkdXJpbmdcbi8vIGEgZGVsZXRpb24uXG5cblxudmFyIGhvc3RQYXJlbnQgPSBudWxsO1xudmFyIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuXG5mdW5jdGlvbiBjb21taXREZWxldGlvbkVmZmVjdHMocm9vdCwgcmV0dXJuRmliZXIsIGRlbGV0ZWRGaWJlcikge1xuICB7XG4gICAgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgZGVsZXRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIC8vIFJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgaG9zdCBub2RlcyBmcm9tIHRoZSBwYXJlbnQsIGRldGFjaCByZWZzLCBjbGVhblxuICAgIC8vIHVwIG1vdW50ZWQgbGF5b3V0IGVmZmVjdHMsIGFuZCBjYWxsIGNvbXBvbmVudFdpbGxVbm1vdW50LlxuICAgIC8vIFdlIG9ubHkgbmVlZCB0byByZW1vdmUgdGhlIHRvcG1vc3QgaG9zdCBjaGlsZCBpbiBlYWNoIGJyYW5jaC4gQnV0IHRoZW4gd2VcbiAgICAvLyBzdGlsbCBuZWVkIHRvIGtlZXAgdHJhdmVyc2luZyB0byB1bm1vdW50IGVmZmVjdHMsIHJlZnMsIGFuZCBjV1UuIFRPRE86IFdlXG4gICAgLy8gY291bGQgc3BsaXQgdGhpcyBpbnRvIHR3byBzZXBhcmF0ZSB0cmF2ZXJzYWxzIGZ1bmN0aW9ucywgd2hlcmUgdGhlIHNlY29uZFxuICAgIC8vIG9uZSBkb2Vzbid0IGluY2x1ZGUgYW55IHJlbW92ZUNoaWxkIGxvZ2ljLiBUaGlzIGlzIG1heWJlIHRoZSBzYW1lXG4gICAgLy8gZnVuY3Rpb24gYXMgXCJkaXNhcHBlYXJMYXlvdXRFZmZlY3RzXCIgKG9yIHdoYXRldmVyIHRoYXQgdHVybnMgaW50byBhZnRlclxuICAgIC8vIHRoZSBsYXlvdXQgcGhhc2UgaXMgcmVmYWN0b3JlZCB0byB1c2UgcmVjdXJzaW9uKS5cbiAgICAvLyBCZWZvcmUgc3RhcnRpbmcsIGZpbmQgdGhlIG5lYXJlc3QgaG9zdCBwYXJlbnQgb24gdGhlIHN0YWNrIHNvIHdlIGtub3dcbiAgICAvLyB3aGljaCBpbnN0YW5jZS9jb250YWluZXIgdG8gcmVtb3ZlIHRoZSBjaGlsZHJlbiBmcm9tLlxuICAgIC8vIFRPRE86IEluc3RlYWQgb2Ygc2VhcmNoaW5nIHVwIHRoZSBmaWJlciByZXR1cm4gcGF0aCBvbiBldmVyeSBkZWxldGlvbiwgd2VcbiAgICAvLyBjYW4gdHJhY2sgdGhlIG5lYXJlc3QgaG9zdCBjb21wb25lbnQgb24gdGhlIEpTIHN0YWNrIGFzIHdlIHRyYXZlcnNlIHRoZVxuICAgIC8vIHRyZWUgZHVyaW5nIHRoZSBjb21taXQgcGhhc2UuIFRoaXMgd291bGQgbWFrZSBpbnNlcnRpb25zIGZhc3RlciwgdG9vLlxuICAgIHZhciBwYXJlbnQgPSByZXR1cm5GaWJlcjtcblxuICAgIGZpbmRQYXJlbnQ6IHdoaWxlIChwYXJlbnQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocGFyZW50LnRhZykge1xuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGU7XG4gICAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGJyZWFrIGZpbmRQYXJlbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcGFyZW50ID0gcGFyZW50LnJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaG9zdFBhcmVudCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBmaW5kIGEgaG9zdCBwYXJlbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSAnICsgJ2EgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICBjb21taXREZWxldGlvbkVmZmVjdHNPbkZpYmVyKHJvb3QsIHJldHVybkZpYmVyLCBkZWxldGVkRmliZXIpO1xuICAgIGhvc3RQYXJlbnQgPSBudWxsO1xuICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuICB9XG5cbiAgZGV0YWNoRmliZXJNdXRhdGlvbihkZWxldGVkRmliZXIpO1xufVxuXG5mdW5jdGlvbiByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgcGFyZW50KSB7XG4gIC8vIFRPRE86IFVzZSBhIHN0YXRpYyBmbGFnIHRvIHNraXAgdHJlZXMgdGhhdCBkb24ndCBoYXZlIHVubW91bnQgZWZmZWN0c1xuICB2YXIgY2hpbGQgPSBwYXJlbnQuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgY29tbWl0RGVsZXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGNoaWxkKTtcbiAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RGVsZXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcikge1xuICBvbkNvbW1pdFVubW91bnQoZGVsZXRlZEZpYmVyKTsgLy8gVGhlIGNhc2VzIGluIHRoaXMgb3V0ZXIgc3dpdGNoIG1vZGlmeSB0aGUgc3RhY2sgYmVmb3JlIHRoZXkgdHJhdmVyc2VcbiAgLy8gaW50byB0aGVpciBzdWJ0cmVlLiBUaGVyZSBhcmUgc2ltcGxlciBjYXNlcyBpbiB0aGUgaW5uZXIgc3dpdGNoXG4gIC8vIHRoYXQgZG9uJ3QgbW9kaWZ5IHRoZSBzdGFjay5cblxuICBzd2l0Y2ggKGRlbGV0ZWRGaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIGlmICghb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgIHNhZmVseURldGFjaFJlZihkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgICAgICB9IC8vIEludGVudGlvbmFsIGZhbGx0aHJvdWdoIHRvIG5leHQgYnJhbmNoXG5cbiAgICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUtbm8tZmFsbHRocm91Z2hcblxuICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICB7XG4gICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0byByZW1vdmUgdGhlIG5lYXJlc3QgaG9zdCBjaGlsZC4gU2V0IHRoZSBob3N0IHBhcmVudFxuICAgICAgICAvLyB0byBgbnVsbGAgb24gdGhlIHN0YWNrIHRvIGluZGljYXRlIHRoYXQgbmVzdGVkIGNoaWxkcmVuIGRvbid0XG4gICAgICAgIC8vIG5lZWQgdG8gYmUgcmVtb3ZlZC5cbiAgICAgICAge1xuICAgICAgICAgIHZhciBwcmV2SG9zdFBhcmVudCA9IGhvc3RQYXJlbnQ7XG4gICAgICAgICAgdmFyIHByZXZIb3N0UGFyZW50SXNDb250YWluZXIgPSBob3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IG51bGw7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IHByZXZIb3N0UGFyZW50O1xuICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHByZXZIb3N0UGFyZW50SXNDb250YWluZXI7XG5cbiAgICAgICAgICBpZiAoaG9zdFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gTm93IHRoYXQgYWxsIHRoZSBjaGlsZCBlZmZlY3RzIGhhdmUgdW5tb3VudGVkLCB3ZSBjYW4gcmVtb3ZlIHRoZVxuICAgICAgICAgICAgLy8gbm9kZSBmcm9tIHRoZSB0cmVlLlxuICAgICAgICAgICAgaWYgKGhvc3RQYXJlbnRJc0NvbnRhaW5lcikge1xuICAgICAgICAgICAgICByZW1vdmVDaGlsZEZyb21Db250YWluZXIoaG9zdFBhcmVudCwgZGVsZXRlZEZpYmVyLnN0YXRlTm9kZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZW1vdmVDaGlsZChob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIERlaHlkcmF0ZWRGcmFnbWVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gRGVsZXRlIHRoZSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGJvdW5kYXJ5IGFuZCBhbGwgb2YgaXRzIGNvbnRlbnQuXG5cblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKGhvc3RQYXJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChob3N0UGFyZW50SXNDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5RnJvbUNvbnRhaW5lcihob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNsZWFyU3VzcGVuc2VCb3VuZGFyeShob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXaGVuIHdlIGdvIGludG8gYSBwb3J0YWwsIGl0IGJlY29tZXMgdGhlIHBhcmVudCB0byByZW1vdmUgZnJvbS5cbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50ID0gaG9zdFBhcmVudDtcbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXIgPSBob3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSB0cnVlO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICAgIGhvc3RQYXJlbnQgPSBfcHJldkhvc3RQYXJlbnQ7XG4gICAgICAgICAgaG9zdFBhcmVudElzQ29udGFpbmVyID0gX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBkZWxldGVkRmliZXIudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBsYXN0RWZmZWN0ID0gdXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgICAgICAgICAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgICAgICAgICAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XG5cbiAgICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIHZhciBfZWZmZWN0ID0gZWZmZWN0LFxuICAgICAgICAgICAgICAgICAgICBkZXN0cm95ID0gX2VmZmVjdC5kZXN0cm95LFxuICAgICAgICAgICAgICAgICAgICB0YWcgPSBfZWZmZWN0LnRhZztcblxuICAgICAgICAgICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIGlmICgodGFnICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCh0YWcgJiBMYXlvdXQpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZChkZWxldGVkRmliZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCBkZWxldGVkRmliZXIubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG4gICAgICAgICAgICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBzYWZlbHlDYWxsRGVzdHJveShkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RvcHBlZCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgICAgICAgICAgIH0gd2hpbGUgKGVmZmVjdCAhPT0gZmlyc3RFZmZlY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoZGVsZXRlZEZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBkZWxldGVkRmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgaW5zdGFuY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAge1xuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCAvLyBUT0RPOiBSZW1vdmUgdGhpcyBkZWFkIGZsYWdcbiAgICAgICAgIGRlbGV0ZWRGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIG9mZnNjcmVlbiBjb21wb25lbnQgaXMgaGlkZGVuLCB3ZSBhbHJlYWR5IHVubW91bnRlZCBpdC4gQmVmb3JlXG4gICAgICAgICAgLy8gZGVsZXRpbmcgdGhlIGNoaWxkcmVuLCB0cmFjayB0aGF0IGl0J3MgYWxyZWFkeSB1bm1vdW50ZWQgc28gdGhhdCB3ZVxuICAgICAgICAgIC8vIGRvbid0IGF0dGVtcHQgdG8gdW5tb3VudCB0aGUgZWZmZWN0cyBhZ2Fpbi5cbiAgICAgICAgICAvLyBUT0RPOiBJZiB0aGUgdHJlZSBpcyBoaWRkZW4sIGluIG1vc3QgY2FzZXMgd2Ugc2hvdWxkIGJlIGFibGUgdG8gc2tpcFxuICAgICAgICAgIC8vIG92ZXIgdGhlIG5lc3RlZCBjaGlsZHJlbiBlbnRpcmVseS4gQW4gZXhjZXB0aW9uIGlzIHdlIGhhdmVuJ3QgeWV0IGZvdW5kXG4gICAgICAgICAgLy8gdGhlIHRvcG1vc3QgaG9zdCBub2RlIHRvIGRlbGV0ZSwgd2hpY2ggd2UgYWxyZWFkeSB0cmFjayBvbiB0aGUgc3RhY2suXG4gICAgICAgICAgLy8gQnV0IHRoZSBvdGhlciBjYXNlIGlzIHBvcnRhbHMsIHdoaWNoIG5lZWQgdG8gYmUgZGV0YWNoZWQgbm8gbWF0dGVyIGhvd1xuICAgICAgICAgIC8vIGRlZXBseSB0aGV5IGFyZSBuZXN0ZWQuIFdlIHNob3VsZCB1c2UgYSBzdWJ0cmVlIGZsYWcgdG8gdHJhY2sgd2hldGhlciBhXG4gICAgICAgICAgLy8gc3VidHJlZSBpbmNsdWRlcyBhIG5lc3RlZCBwb3J0YWwuXG4gICAgICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gfHwgZGVsZXRlZEZpYmVyLm1lbW9pemVkU3RhdGUgIT09IG51bGw7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IHByZXZPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFN1c3BlbnNlQ2FsbGJhY2soZmluaXNoZWRXb3JrKSB7XG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0byBwYXNzaXZlIHBoYXNlXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xufVxuXG5mdW5jdGlvbiBjb21taXRTdXNwZW5zZUh5ZHJhdGlvbkNhbGxiYWNrcyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaykge1xuXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChuZXdTdGF0ZSA9PT0gbnVsbCkge1xuICAgIHZhciBjdXJyZW50ID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gcHJldlN0YXRlLmRlaHlkcmF0ZWQ7XG5cbiAgICAgICAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBjb21taXRIeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspIHtcbiAgLy8gSWYgdGhpcyBib3VuZGFyeSBqdXN0IHRpbWVkIG91dCwgdGhlbiBpdCB3aWxsIGhhdmUgYSBzZXQgb2Ygd2FrZWFibGVzLlxuICAvLyBGb3IgZWFjaCB3YWtlYWJsZSwgYXR0YWNoIGEgbGlzdGVuZXIgc28gdGhhdCB3aGVuIGl0IHJlc29sdmVzLCBSZWFjdFxuICAvLyBhdHRlbXB0cyB0byByZS1yZW5kZXIgdGhlIGJvdW5kYXJ5IGluIHRoZSBwcmltYXJ5IChwcmUtdGltZW91dCkgc3RhdGUuXG4gIHZhciB3YWtlYWJsZXMgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XG5cbiAgaWYgKHdha2VhYmxlcyAhPT0gbnVsbCkge1xuICAgIGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgdmFyIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuXG4gICAgaWYgKHJldHJ5Q2FjaGUgPT09IG51bGwpIHtcbiAgICAgIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID0gbmV3IFBvc3NpYmx5V2Vha1NldCgpO1xuICAgIH1cblxuICAgIHdha2VhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uICh3YWtlYWJsZSkge1xuICAgICAgLy8gTWVtb2l6ZSB1c2luZyB0aGUgYm91bmRhcnkgZmliZXIgdG8gcHJldmVudCByZWR1bmRhbnQgbGlzdGVuZXJzLlxuICAgICAgdmFyIHJldHJ5ID0gcmVzb2x2ZVJldHJ5V2FrZWFibGUuYmluZChudWxsLCBmaW5pc2hlZFdvcmssIHdha2VhYmxlKTtcblxuICAgICAgaWYgKCFyZXRyeUNhY2hlLmhhcyh3YWtlYWJsZSkpIHtcbiAgICAgICAgcmV0cnlDYWNoZS5hZGQod2FrZWFibGUpO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgICAgIGlmIChpblByb2dyZXNzTGFuZXMgIT09IG51bGwgJiYgaW5Qcm9ncmVzc1Jvb3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBwZW5kaW5nIHdvcmsgc3RpbGwsIGFzc29jaWF0ZSB0aGUgb3JpZ2luYWwgdXBkYXRlcnMgd2l0aCBpdC5cbiAgICAgICAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhpblByb2dyZXNzUm9vdCwgaW5Qcm9ncmVzc0xhbmVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKCdFeHBlY3RlZCBmaW5pc2hlZCByb290IGFuZCBsYW5lcyB0byBiZSBzZXQuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgd2FrZWFibGUudGhlbihyZXRyeSwgcmV0cnkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59IC8vIFRoaXMgZnVuY3Rpb24gZGV0ZWN0cyB3aGVuIGEgU3VzcGVuc2UgYm91bmRhcnkgZ29lcyBmcm9tIHZpc2libGUgdG8gaGlkZGVuLlxuZnVuY3Rpb24gY29tbWl0TXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMpIHtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gY29tbWl0dGVkTGFuZXM7XG4gIGluUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290KTtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG4gIGluUHJvZ3Jlc3NSb290ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgbGFuZXMpIHtcbiAgLy8gRGVsZXRpb25zIGVmZmVjdHMgY2FuIGJlIHNjaGVkdWxlZCBvbiBhbnkgZmliZXIgdHlwZS4gVGhleSBuZWVkIHRvIGhhcHBlblxuICAvLyBiZWZvcmUgdGhlIGNoaWxkcmVuIGVmZmVjdHMgaGFlIGZpcmVkLlxuICB2YXIgZGVsZXRpb25zID0gcGFyZW50RmliZXIuZGVsZXRpb25zO1xuXG4gIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlbGV0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoaWxkVG9EZWxldGUgPSBkZWxldGlvbnNbaV07XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbW1pdERlbGV0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgY2hpbGRUb0RlbGV0ZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjaGlsZFRvRGVsZXRlLCBwYXJlbnRGaWJlciwgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwcmV2RGVidWdGaWJlciA9IGdldEN1cnJlbnRGaWJlcigpO1xuXG4gIGlmIChwYXJlbnRGaWJlci5zdWJ0cmVlRmxhZ3MgJiBNdXRhdGlvbk1hc2spIHtcbiAgICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNoaWxkKTtcbiAgICAgIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoY2hpbGQsIHJvb3QpO1xuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cbiAgfVxuXG4gIHNldEN1cnJlbnRGaWJlcihwcmV2RGVidWdGaWJlcik7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290LCBsYW5lcykge1xuICB2YXIgY3VycmVudCA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG4gIHZhciBmbGFncyA9IGZpbmlzaGVkV29yay5mbGFnczsgLy8gVGhlIGVmZmVjdCBmbGFnIHNob3VsZCBiZSBjaGVja2VkICphZnRlciogd2UgcmVmaW5lIHRoZSB0eXBlIG9mIGZpYmVyLFxuICAvLyBiZWNhdXNlIHRoZSBmaWJlciB0YWcgaXMgbW9yZSBzcGVjaWZpYy4gQW4gZXhjZXB0aW9uIGlzIGFueSBmbGFnIHJlbGF0ZWRcbiAgLy8gdG8gcmVjb25jaWxhdGlvbiwgYmVjYXVzZSB0aG9zZSBjYW4gYmUgc2V0IG9uIGFsbCBmaWJlciB0eXBlcy5cblxuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoSW5zZXJ0aW9uIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChJbnNlcnRpb24gfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH0gLy8gTGF5b3V0IGVmZmVjdHMgYXJlIGRlc3Ryb3llZCBkdXJpbmcgdGhlIG11dGF0aW9uIHBoYXNlIHNvIHRoYXQgYWxsXG4gICAgICAgICAgLy8gZGVzdHJveSBmdW5jdGlvbnMgZm9yIGFsbCBmaWJlcnMgYXJlIGNhbGxlZCBiZWZvcmUgYW55IGNyZWF0ZSBmdW5jdGlvbnMuXG4gICAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyBzaWJsaW5nIGNvbXBvbmVudCBlZmZlY3RzIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyLFxuICAgICAgICAgIC8vIGUuZy4gYSBkZXN0cm95IGZ1bmN0aW9uIGluIG9uZSBjb21wb25lbnQgc2hvdWxkIG5ldmVyIG92ZXJyaWRlIGEgcmVmIHNldFxuICAgICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXG5cblxuICAgICAgICAgIGlmICggZmluaXNoZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFJlZikge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCwgY3VycmVudC5yZXR1cm4pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpZiAoZmxhZ3MgJiBSZWYpIHtcbiAgICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQsIGN1cnJlbnQucmV0dXJuKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB7XG4gICAgICAgICAgLy8gVE9ETzogQ29udGVudFJlc2V0IGdldHMgY2xlYXJlZCBieSB0aGUgY2hpbGRyZW4gZHVyaW5nIHRoZSBjb21taXRcbiAgICAgICAgICAvLyBwaGFzZS4gVGhpcyBpcyBhIHJlZmFjdG9yIGhhemFyZCBiZWNhdXNlIGl0IG1lYW5zIHdlIG11c3QgcmVhZFxuICAgICAgICAgIC8vIGZsYWdzIHRoZSBmbGFncyBhZnRlciBgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzYCBoYXMgYWxyZWFkeSBydW47XG4gICAgICAgICAgLy8gdGhlIG9yZGVyIG1hdHRlcnMuIFdlIHNob3VsZCByZWZhY3RvciBzbyB0aGF0IENvbnRlbnRSZXNldCBkb2VzIG5vdFxuICAgICAgICAgIC8vIHJlbHkgb24gbXV0YXRpbmcgdGhlIGZsYWcgZHVyaW5nIGNvbW1pdC4gTGlrZSBieSBzZXR0aW5nIGEgZmxhZ1xuICAgICAgICAgIC8vIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlIGluc3RlYWQuXG4gICAgICAgICAgaWYgKGZpbmlzaGVkV29yay5mbGFncyAmIENvbnRlbnRSZXNldCkge1xuICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmVzZXRUZXh0Q29udGVudChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICAgIHZhciBfaW5zdGFuY2U0ID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgaWYgKF9pbnN0YW5jZTQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBDb21taXQgdGhlIHdvcmsgcHJlcGFyZWQgZWFybGllci5cbiAgICAgICAgICAgICAgdmFyIG5ld1Byb3BzID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcbiAgICAgICAgICAgICAgLy8gYXMgdGhlIG5ld1Byb3BzLiBUaGUgdXBkYXRlUGF5bG9hZCB3aWxsIGNvbnRhaW4gdGhlIHJlYWwgY2hhbmdlIGluXG4gICAgICAgICAgICAgIC8vIHRoaXMgY2FzZS5cblxuICAgICAgICAgICAgICB2YXIgb2xkUHJvcHMgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5tZW1vaXplZFByb3BzIDogbmV3UHJvcHM7XG4gICAgICAgICAgICAgIHZhciB0eXBlID0gZmluaXNoZWRXb3JrLnR5cGU7IC8vIFRPRE86IFR5cGUgdGhlIHVwZGF0ZVF1ZXVlIHRvIGJlIHNwZWNpZmljIHRvIGhvc3QgY29tcG9uZW50cy5cblxuICAgICAgICAgICAgICB2YXIgdXBkYXRlUGF5bG9hZCA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgICAgICAgICAgICAgZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlID0gbnVsbDtcblxuICAgICAgICAgICAgICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb21taXRVcGRhdGUoX2luc3RhbmNlNCwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgaGF2ZSBhIHRleHQgbm9kZSBpbml0aWFsaXplZC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgJyArICdjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgdGV4dEluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICAgICAgICAgIHZhciBuZXdUZXh0ID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcbiAgICAgICAgICAgIC8vIGFzIHRoZSBuZXdQcm9wcy4gVGhlIHVwZGF0ZVBheWxvYWQgd2lsbCBjb250YWluIHRoZSByZWFsIGNoYW5nZSBpblxuICAgICAgICAgICAgLy8gdGhpcyBjYXNlLlxuXG4gICAgICAgICAgICB2YXIgb2xkVGV4dCA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBuZXdUZXh0O1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb21taXRUZXh0VXBkYXRlKHRleHRJbnN0YW5jZSwgb2xkVGV4dCwgbmV3VGV4dCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBwcmV2Um9vdFN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgICAgICAgIGlmIChwcmV2Um9vdFN0YXRlLmlzRGVoeWRyYXRlZCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb21taXRIeWRyYXRlZENvbnRhaW5lcihyb290LmNvbnRhaW5lckluZm8pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgdmFyIG9mZnNjcmVlbkZpYmVyID0gZmluaXNoZWRXb3JrLmNoaWxkO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5GaWJlci5mbGFncyAmIFZpc2liaWxpdHkpIHtcbiAgICAgICAgICB2YXIgb2Zmc2NyZWVuSW5zdGFuY2UgPSBvZmZzY3JlZW5GaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgdmFyIG5ld1N0YXRlID0gb2Zmc2NyZWVuRmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICB2YXIgaXNIaWRkZW4gPSBuZXdTdGF0ZSAhPT0gbnVsbDsgLy8gVHJhY2sgdGhlIGN1cnJlbnQgc3RhdGUgb24gdGhlIE9mZnNjcmVlbiBpbnN0YW5jZSBzbyB3ZSBjYW5cbiAgICAgICAgICAvLyByZWFkIGl0IGR1cmluZyBhbiBldmVudFxuXG4gICAgICAgICAgb2Zmc2NyZWVuSW5zdGFuY2UuaXNIaWRkZW4gPSBpc0hpZGRlbjtcblxuICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgdmFyIHdhc0hpZGRlbiA9IG9mZnNjcmVlbkZpYmVyLmFsdGVybmF0ZSAhPT0gbnVsbCAmJiBvZmZzY3JlZW5GaWJlci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgICAgaWYgKCF3YXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgLy8gVE9ETzogTW92ZSB0byBwYXNzaXZlIHBoYXNlXG4gICAgICAgICAgICAgIG1hcmtDb21taXRUaW1lT2ZGYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRTdXNwZW5zZUNhbGxiYWNrKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX3dhc0hpZGRlbiA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmICggLy8gVE9ETzogUmVtb3ZlIHRoaXMgZGVhZCBmbGFnXG4gICAgICAgICBmaW5pc2hlZFdvcmsubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICAgICAgLy8gQmVmb3JlIGNvbW1pdHRpbmcgdGhlIGNoaWxkcmVuLCB0cmFjayBvbiB0aGUgc3RhY2sgd2hldGhlciB0aGlzXG4gICAgICAgICAgLy8gb2Zmc2NyZWVuIHN1YnRyZWUgd2FzIGFscmVhZHkgaGlkZGVuLCBzbyB0aGF0IHdlIGRvbid0IHVubW91bnQgdGhlXG4gICAgICAgICAgLy8gZWZmZWN0cyBhZ2Fpbi5cbiAgICAgICAgICB2YXIgcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiB8fCBfd2FzSGlkZGVuO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVmlzaWJpbGl0eSkge1xuICAgICAgICAgIHZhciBfb2Zmc2NyZWVuSW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICAgIHZhciBfbmV3U3RhdGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICAgIHZhciBfaXNIaWRkZW4gPSBfbmV3U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICB2YXIgb2Zmc2NyZWVuQm91bmRhcnkgPSBmaW5pc2hlZFdvcms7IC8vIFRyYWNrIHRoZSBjdXJyZW50IHN0YXRlIG9uIHRoZSBPZmZzY3JlZW4gaW5zdGFuY2Ugc28gd2UgY2FuXG4gICAgICAgICAgLy8gcmVhZCBpdCBkdXJpbmcgYW4gZXZlbnRcblxuICAgICAgICAgIF9vZmZzY3JlZW5JbnN0YW5jZS5pc0hpZGRlbiA9IF9pc0hpZGRlbjtcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChfaXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaWYgKCFfd2FzSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKChvZmZzY3JlZW5Cb3VuZGFyeS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAgICAgICAgIG5leHRFZmZlY3QgPSBvZmZzY3JlZW5Cb3VuZGFyeTtcbiAgICAgICAgICAgICAgICAgIHZhciBvZmZzY3JlZW5DaGlsZCA9IG9mZnNjcmVlbkJvdW5kYXJ5LmNoaWxkO1xuXG4gICAgICAgICAgICAgICAgICB3aGlsZSAob2Zmc2NyZWVuQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dEVmZmVjdCA9IG9mZnNjcmVlbkNoaWxkO1xuICAgICAgICAgICAgICAgICAgICBkaXNhcHBlYXJMYXlvdXRFZmZlY3RzX2JlZ2luKG9mZnNjcmVlbkNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2NyZWVuQ2hpbGQgPSBvZmZzY3JlZW5DaGlsZC5zaWJsaW5nO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgbmVlZHMgdG8gcnVuIHdoZW5ldmVyIHRoZXJlJ3MgYW4gaW5zZXJ0aW9uIG9yIHVwZGF0ZVxuICAgICAgICAgICAgLy8gaW5zaWRlIGEgaGlkZGVuIE9mZnNjcmVlbiB0cmVlLlxuICAgICAgICAgICAgaGlkZU9yVW5oaWRlQWxsQ2hpbGRyZW4ob2Zmc2NyZWVuQm91bmRhcnksIF9pc0hpZGRlbik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yaykge1xuICAvLyBQbGFjZW1lbnQgZWZmZWN0cyAoaW5zZXJ0aW9ucywgcmVvcmRlcnMpIGNhbiBiZSBzY2hlZHVsZWQgb24gYW55IGZpYmVyXG4gIC8vIHR5cGUuIFRoZXkgbmVlZHMgdG8gaGFwcGVuIGFmdGVyIHRoZSBjaGlsZHJlbiBlZmZlY3RzIGhhdmUgZmlyZWQsIGJ1dFxuICAvLyBiZWZvcmUgdGhlIGVmZmVjdHMgb24gdGhpcyBmaWJlciBoYXZlIGZpcmVkLlxuICB2YXIgZmxhZ3MgPSBmaW5pc2hlZFdvcmsuZmxhZ3M7XG5cbiAgaWYgKGZsYWdzICYgUGxhY2VtZW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbW1pdFBsYWNlbWVudChmaW5pc2hlZFdvcmspO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICB9IC8vIENsZWFyIHRoZSBcInBsYWNlbWVudFwiIGZyb20gZWZmZWN0IHRhZyBzbyB0aGF0IHdlIGtub3cgdGhhdCB0aGlzIGlzXG4gICAgLy8gaW5zZXJ0ZWQsIGJlZm9yZSBhbnkgbGlmZS1jeWNsZXMgbGlrZSBjb21wb25lbnREaWRNb3VudCBnZXRzIGNhbGxlZC5cbiAgICAvLyBUT0RPOiBmaW5kRE9NTm9kZSBkb2Vzbid0IHJlbHkgb24gdGhpcyBhbnkgbW9yZSBidXQgaXNNb3VudGVkIGRvZXNcbiAgICAvLyBhbmQgaXNNb3VudGVkIGlzIGRlcHJlY2F0ZWQgYW55d2F5IHNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIGtpbGwgdGhpcy5cblxuXG4gICAgZmluaXNoZWRXb3JrLmZsYWdzICY9IH5QbGFjZW1lbnQ7XG4gIH1cblxuICBpZiAoZmxhZ3MgJiBIeWRyYXRpbmcpIHtcbiAgICBmaW5pc2hlZFdvcmsuZmxhZ3MgJj0gfkh5ZHJhdGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yaywgcm9vdCwgY29tbWl0dGVkTGFuZXMpIHtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gY29tbWl0dGVkTGFuZXM7XG4gIGluUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgbmV4dEVmZmVjdCA9IGZpbmlzaGVkV29yaztcbiAgY29tbWl0TGF5b3V0RWZmZWN0c19iZWdpbihmaW5pc2hlZFdvcmssIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gbnVsbDtcbiAgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcykge1xuICAvLyBTdXNwZW5zZSBsYXlvdXQgZWZmZWN0cyBzZW1hbnRpY3MgZG9uJ3QgY2hhbmdlIGZvciBsZWdhY3kgcm9vdHMuXG4gIHZhciBpc01vZGVyblJvb3QgPSAoc3VidHJlZVJvb3QubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuXG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcbiAgICB2YXIgZmlyc3RDaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKCBmaWJlci50YWcgPT09IE9mZnNjcmVlbkNvbXBvbmVudCAmJiBpc01vZGVyblJvb3QpIHtcbiAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgT2Zmc2NyZWVuIHN0YWNrJ3Mgc3RhdGUuXG4gICAgICB2YXIgaXNIaWRkZW4gPSBmaWJlci5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuICAgICAgdmFyIG5ld09mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiA9IGlzSGlkZGVuIHx8IG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbjtcblxuICAgICAgaWYgKG5ld09mZnNjcmVlblN1YnRyZWVJc0hpZGRlbikge1xuICAgICAgICAvLyBUaGUgT2Zmc2NyZWVuIHRyZWUgaXMgaGlkZGVuLiBTa2lwIG92ZXIgaXRzIGxheW91dCBlZmZlY3RzLlxuICAgICAgICBjb21taXRMYXlvdXRNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPIChPZmZzY3JlZW4pIEFsc28gY2hlY2s6IHN1YnRyZWVGbGFncyAmIExheW91dE1hc2tcbiAgICAgICAgdmFyIGN1cnJlbnQgPSBmaWJlci5hbHRlcm5hdGU7XG4gICAgICAgIHZhciB3YXNIaWRkZW4gPSBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcbiAgICAgICAgdmFyIG5ld09mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSB3YXNIaWRkZW4gfHwgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIHZhciBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47IC8vIFRyYXZlcnNlIHRoZSBPZmZzY3JlZW4gc3VidHJlZSB3aXRoIHRoZSBjdXJyZW50IE9mZnNjcmVlbiBhcyB0aGUgcm9vdC5cblxuICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBuZXdPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBuZXdPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuICYmICFwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHJvb3Qgb2YgYSByZWFwcGVhcmluZyBib3VuZGFyeS4gVHVybiBpdHMgbGF5b3V0IGVmZmVjdHNcbiAgICAgICAgICAvLyBiYWNrIG9uLlxuICAgICAgICAgIG5leHRFZmZlY3QgPSBmaWJlcjtcbiAgICAgICAgICByZWFwcGVhckxheW91dEVmZmVjdHNfYmVnaW4oZmliZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNoaWxkID0gZmlyc3RDaGlsZDtcblxuICAgICAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgICAgICAgY29tbWl0TGF5b3V0RWZmZWN0c19iZWdpbihjaGlsZCwgLy8gTmV3IHJvb3Q7IGJ1YmJsZSBiYWNrIHVwIHRvIGhlcmUgYW5kIHN0b3AuXG4gICAgICAgICAgcm9vdCwgY29tbWl0dGVkTGFuZXMpO1xuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICAgICAgfSAvLyBSZXN0b3JlIE9mZnNjcmVlbiBzdGF0ZSBhbmQgcmVzdW1lIGluIG91ci1wcm9ncmVzcyB0cmF2ZXJzYWwuXG5cblxuICAgICAgICBuZXh0RWZmZWN0ID0gZmliZXI7XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiA9IHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgY29tbWl0TGF5b3V0TW91bnRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcyk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICgoZmliZXIuc3VidHJlZUZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MgJiYgZmlyc3RDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgZmlyc3RDaGlsZC5yZXR1cm4gPSBmaWJlcjtcbiAgICAgIG5leHRFZmZlY3QgPSBmaXJzdENoaWxkO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21taXRMYXlvdXRNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0TGF5b3V0TW91bnRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcykge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG5cbiAgICBpZiAoKGZpYmVyLmZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHZhciBjdXJyZW50ID0gZmliZXIuYWx0ZXJuYXRlO1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29tbWl0TGF5b3V0RWZmZWN0T25GaWJlcihyb290LCBjdXJyZW50LCBmaWJlciwgY29tbWl0dGVkTGFuZXMpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIH1cblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzYXBwZWFyTGF5b3V0RWZmZWN0c19iZWdpbihzdWJ0cmVlUm9vdCkge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG4gICAgdmFyIGZpcnN0Q2hpbGQgPSBmaWJlci5jaGlsZDsgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiAoUmVmU3RhdGljIHwgTGF5b3V0U3RhdGljKVxuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoIGZpYmVyLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0LCBmaWJlciwgZmliZXIucmV0dXJuKTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpYmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCwgZmliZXIsIGZpYmVyLnJldHVybik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgUmVmU3RhdGljXG4gICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVubW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChmaWJlciwgZmliZXIucmV0dXJuLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhXG4gICAgICAgICAgdmFyIGlzSGlkZGVuID0gZmliZXIubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgLy8gTmVzdGVkIE9mZnNjcmVlbiB0cmVlIGlzIGFscmVhZHkgaGlkZGVuLiBEb24ndCBkaXNhcHBlYXJcbiAgICAgICAgICAgIC8vIGl0cyBlZmZlY3RzLlxuICAgICAgICAgICAgZGlzYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogc3VidHJlZUZsYWdzICYgTGF5b3V0U3RhdGljXG5cblxuICAgIGlmIChmaXJzdENoaWxkICE9PSBudWxsKSB7XG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc2FwcGVhckxheW91dEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkaXNhcHBlYXJMYXlvdXRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290KSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhcHBlYXJMYXlvdXRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290KSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcbiAgICB2YXIgZmlyc3RDaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKGZpYmVyLnRhZyA9PT0gT2Zmc2NyZWVuQ29tcG9uZW50KSB7XG4gICAgICB2YXIgaXNIaWRkZW4gPSBmaWJlci5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICBpZiAoaXNIaWRkZW4pIHtcbiAgICAgICAgLy8gTmVzdGVkIE9mZnNjcmVlbiB0cmVlIGlzIHN0aWxsIGhpZGRlbi4gRG9uJ3QgcmUtYXBwZWFyIGl0cyBlZmZlY3RzLlxuICAgICAgICByZWFwcGVhckxheW91dEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9IC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IHN1YnRyZWVGbGFncyAmIExheW91dFN0YXRpY1xuXG5cbiAgICBpZiAoZmlyc3RDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBub2RlIG1heSBoYXZlIGJlZW4gcmV1c2VkIGZyb20gYSBwcmV2aW91cyByZW5kZXIsIHNvIHdlIGNhbid0XG4gICAgICAvLyBhc3N1bWUgaXRzIHJldHVybiBwb2ludGVyIGlzIGNvcnJlY3QuXG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCkge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7IC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgTGF5b3V0U3RhdGljXG5cbiAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJlYXBwZWFyTGF5b3V0RWZmZWN0c09uRmliZXIoZmliZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgfVxuXG4gICAgcmVzZXRDdXJyZW50RmliZXIoKTtcblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIG5vZGUgbWF5IGhhdmUgYmVlbiByZXVzZWQgZnJvbSBhIHByZXZpb3VzIHJlbmRlciwgc28gd2UgY2FuJ3RcbiAgICAgIC8vIGFzc3VtZSBpdHMgcmV0dXJuIHBvaW50ZXIgaXMgY29ycmVjdC5cbiAgICAgIHNpYmxpbmcucmV0dXJuID0gZmliZXIucmV0dXJuO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IGZpYmVyLnJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zKSB7XG4gIG5leHRFZmZlY3QgPSBmaW5pc2hlZFdvcms7XG4gIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfYmVnaW4oZmluaXNoZWRXb3JrLCByb290LCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBmaXJzdENoaWxkID0gZmliZXIuY2hpbGQ7XG5cbiAgICBpZiAoKGZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyAmJiBmaXJzdENoaWxkICE9PSBudWxsKSB7XG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucykge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG5cbiAgICBpZiAoKGZpYmVyLmZsYWdzICYgUGFzc2l2ZSkgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbW1pdFBhc3NpdmVNb3VudE9uRmliZXIocm9vdCwgZmliZXIsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyID09PSBzdWJ0cmVlUm9vdCkge1xuICAgICAgbmV4dEVmZmVjdCA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHNpYmxpbmcgPSBmaWJlci5zaWJsaW5nO1xuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIHNpYmxpbmcucmV0dXJuID0gZmliZXIucmV0dXJuO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IGZpYmVyLnJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRPbkZpYmVyKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpIHtcbiAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICBzdGFydFBhc3NpdmVFZmZlY3RUaW1lcigpO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICByZWNvcmRQYXNzaXZlRWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHMoZmlyc3RDaGlsZCkge1xuICBuZXh0RWZmZWN0ID0gZmlyc3RDaGlsZDtcbiAgY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzX2JlZ2luKCk7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c19iZWdpbigpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKChuZXh0RWZmZWN0LmZsYWdzICYgQ2hpbGREZWxldGlvbikgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHZhciBkZWxldGlvbnMgPSBmaWJlci5kZWxldGlvbnM7XG5cbiAgICAgIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZWxldGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgZmliZXJUb0RlbGV0ZSA9IGRlbGV0aW9uc1tpXTtcbiAgICAgICAgICBuZXh0RWZmZWN0ID0gZmliZXJUb0RlbGV0ZTtcbiAgICAgICAgICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNJbnNpZGVPZkRlbGV0ZWRUcmVlX2JlZ2luKGZpYmVyVG9EZWxldGUsIGZpYmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBBIGZpYmVyIHdhcyBkZWxldGVkIGZyb20gdGhpcyBwYXJlbnQgZmliZXIsIGJ1dCBpdCdzIHN0aWxsIHBhcnQgb2ZcbiAgICAgICAgICAvLyB0aGUgcHJldmlvdXMgKGFsdGVybmF0ZSkgcGFyZW50IGZpYmVyJ3MgbGlzdCBvZiBjaGlsZHJlbi4gQmVjYXVzZVxuICAgICAgICAgIC8vIGNoaWxkcmVuIGFyZSBhIGxpbmtlZCBsaXN0LCBhbiBlYXJsaWVyIHNpYmxpbmcgdGhhdCdzIHN0aWxsIGFsaXZlXG4gICAgICAgICAgLy8gd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIGRlbGV0ZWQgZmliZXIgdmlhIGl0cyBgYWx0ZXJuYXRlYDpcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vICAgbGl2ZSBmaWJlclxuICAgICAgICAgIC8vICAgLS1hbHRlcm5hdGUtLT4gcHJldmlvdXMgbGl2ZSBmaWJlclxuICAgICAgICAgIC8vICAgLS1zaWJsaW5nLS0+IGRlbGV0ZWQgZmliZXJcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFdlIGNhbid0IGRpc2Nvbm5lY3QgYGFsdGVybmF0ZWAgb24gbm9kZXMgdGhhdCBoYXZlbid0IGJlZW4gZGVsZXRlZFxuICAgICAgICAgIC8vIHlldCwgYnV0IHdlIGNhbiBkaXNjb25uZWN0IHRoZSBgc2libGluZ2AgYW5kIGBjaGlsZGAgcG9pbnRlcnMuXG4gICAgICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgICBpZiAocHJldmlvdXNGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIGRldGFjaGVkQ2hpbGQgPSBwcmV2aW91c0ZpYmVyLmNoaWxkO1xuXG4gICAgICAgICAgICBpZiAoZGV0YWNoZWRDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBwcmV2aW91c0ZpYmVyLmNoaWxkID0gbnVsbDtcblxuICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgdmFyIGRldGFjaGVkU2libGluZyA9IGRldGFjaGVkQ2hpbGQuc2libGluZztcbiAgICAgICAgICAgICAgICBkZXRhY2hlZENoaWxkLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgICAgICAgIGRldGFjaGVkQ2hpbGQgPSBkZXRhY2hlZFNpYmxpbmc7XG4gICAgICAgICAgICAgIH0gd2hpbGUgKGRldGFjaGVkQ2hpbGQgIT09IG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5leHRFZmZlY3QgPSBmaWJlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoKGZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyAmJiBjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgY2hpbGQucmV0dXJuID0gZmliZXI7XG4gICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c19jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNfY29tcGxldGUoKSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcblxuICAgIGlmICgoZmliZXIuZmxhZ3MgJiBQYXNzaXZlKSAhPT0gTm9GbGFncykge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50T25GaWJlcihmaWJlcik7XG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRPbkZpYmVyKGZpbmlzaGVkV29yaykge1xuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIGlmICggZmluaXNoZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KFBhc3NpdmUkMSB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuKTtcbiAgICAgICAgICByZWNvcmRQYXNzaXZlRWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzSW5zaWRlT2ZEZWxldGVkVHJlZV9iZWdpbihkZWxldGVkU3VidHJlZVJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0OyAvLyBEZWxldGlvbiBlZmZlY3RzIGZpcmUgaW4gcGFyZW50IC0+IGNoaWxkIG9yZGVyXG4gICAgLy8gVE9ETzogQ2hlY2sgaWYgZmliZXIgaGFzIGEgUGFzc2l2ZVN0YXRpYyBmbGFnXG5cbiAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50SW5zaWRlRGVsZXRlZFRyZWVPbkZpYmVyKGZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkOyAvLyBUT0RPOiBPbmx5IHRyYXZlcnNlIHN1YnRyZWUgaWYgaXQgaGFzIGEgUGFzc2l2ZVN0YXRpYyBmbGFnLiAoQnV0LCBpZiB3ZVxuICAgIC8vIGRvIHRoaXMsIHN0aWxsIG5lZWQgdG8gaGFuZGxlIGBkZWxldGVkVHJlZUNsZWFuVXBMZXZlbGAgY29ycmVjdGx5LilcblxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgY2hpbGQucmV0dXJuID0gZmliZXI7XG4gICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c0luc2lkZU9mRGVsZXRlZFRyZWVfY29tcGxldGUoZGVsZXRlZFN1YnRyZWVSb290KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzSW5zaWRlT2ZEZWxldGVkVHJlZV9jb21wbGV0ZShkZWxldGVkU3VidHJlZVJvb3QpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcbiAgICB2YXIgcmV0dXJuRmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgICB7XG4gICAgICAvLyBSZWN1cnNpdmVseSB0cmF2ZXJzZSB0aGUgZW50aXJlIGRlbGV0ZWQgdHJlZSBhbmQgY2xlYW4gdXAgZmliZXIgZmllbGRzLlxuICAgICAgLy8gVGhpcyBpcyBtb3JlIGFnZ3Jlc3NpdmUgdGhhbiBpZGVhbCwgYW5kIHRoZSBsb25nIHRlcm0gZ29hbCBpcyB0byBvbmx5XG4gICAgICAvLyBoYXZlIHRvIGRldGFjaCB0aGUgZGVsZXRlZCB0cmVlIGF0IHRoZSByb290LlxuICAgICAgZGV0YWNoRmliZXJBZnRlckVmZmVjdHMoZmliZXIpO1xuXG4gICAgICBpZiAoZmliZXIgPT09IGRlbGV0ZWRTdWJ0cmVlUm9vdCkge1xuICAgICAgICBuZXh0RWZmZWN0ID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IHJldHVybkZpYmVyO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50SW5zaWRlRGVsZXRlZFRyZWVPbkZpYmVyKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgc3dpdGNoIChjdXJyZW50LnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCBjdXJyZW50Lm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KFBhc3NpdmUkMSwgY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcik7XG4gICAgICAgICAgcmVjb3JkUGFzc2l2ZUVmZmVjdER1cmF0aW9uKGN1cnJlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChQYXNzaXZlJDEsIGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn0gLy8gVE9ETzogUmV1c2UgcmVhcHBlYXJMYXlvdXRFZmZlY3RzIHRyYXZlcnNhbCBoZXJlP1xuXG5cbmZ1bmN0aW9uIGludm9rZUxheW91dEVmZmVjdE1vdW50SW5ERVYoZmliZXIpIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaWJlcik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VQYXNzaXZlRWZmZWN0TW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpYmVyKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGludm9rZUxheW91dEVmZmVjdFVubW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCB8IEhhc0VmZmVjdCwgZmliZXIsIGZpYmVyLnJldHVybik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGZpYmVyLCBmaWJlci5yZXR1cm4sIGluc3RhbmNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VQYXNzaXZlRWZmZWN0VW5tb3VudEluREVWKGZpYmVyKSB7XG4gIHtcbiAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHJlLWNoZWNrIFN0cmljdEVmZmVjdHNNb2RlIGhlcmUuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBpZiB0aGF0IGNoZWNrIGhhcyBhbHJlYWR5IHBhc3NlZC5cbiAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaWJlciwgZmliZXIucmV0dXJuKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgQ09NUE9ORU5UX1RZUEUgPSAwO1xudmFyIEhBU19QU0VVRE9fQ0xBU1NfVFlQRSA9IDE7XG52YXIgUk9MRV9UWVBFID0gMjtcbnZhciBURVNUX05BTUVfVFlQRSA9IDM7XG52YXIgVEVYVF9UWVBFID0gNDtcblxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcikge1xuICB2YXIgc3ltYm9sRm9yID0gU3ltYm9sLmZvcjtcbiAgQ09NUE9ORU5UX1RZUEUgPSBzeW1ib2xGb3IoJ3NlbGVjdG9yLmNvbXBvbmVudCcpO1xuICBIQVNfUFNFVURPX0NMQVNTX1RZUEUgPSBzeW1ib2xGb3IoJ3NlbGVjdG9yLmhhc19wc2V1ZG9fY2xhc3MnKTtcbiAgUk9MRV9UWVBFID0gc3ltYm9sRm9yKCdzZWxlY3Rvci5yb2xlJyk7XG4gIFRFU1RfTkFNRV9UWVBFID0gc3ltYm9sRm9yKCdzZWxlY3Rvci50ZXN0X2lkJyk7XG4gIFRFWFRfVFlQRSA9IHN5bWJvbEZvcignc2VsZWN0b3IudGV4dCcpO1xufVxudmFyIGNvbW1pdEhvb2tzID0gW107XG5mdW5jdGlvbiBvbkNvbW1pdFJvb3QkMSgpIHtcbiAge1xuICAgIGNvbW1pdEhvb2tzLmZvckVhY2goZnVuY3Rpb24gKGNvbW1pdEhvb2spIHtcbiAgICAgIHJldHVybiBjb21taXRIb29rKCk7XG4gICAgfSk7XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudEFjdFF1ZXVlID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QWN0UXVldWU7XG5mdW5jdGlvbiBpc0xlZ2FjeUFjdEVudmlyb25tZW50KGZpYmVyKSB7XG4gIHtcbiAgICAvLyBMZWdhY3kgbW9kZS4gV2UgcHJlc2VydmUgdGhlIGJlaGF2aW9yIG9mIFJlYWN0IDE3J3MgYWN0LiBJdCBhc3N1bWVzIGFuXG4gICAgLy8gYWN0IGVudmlyb25tZW50IHdoZW5ldmVyIGBqZXN0YCBpcyBkZWZpbmVkLCBidXQgeW91IGNhbiBzdGlsbCB0dXJuIG9mZlxuICAgIC8vIHNwdXJpb3VzIHdhcm5pbmdzIGJ5IHNldHRpbmcgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UIGV4cGxpY2l0bHlcbiAgICAvLyB0byBmYWxzZS5cbiAgICB2YXIgaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsID0gLy8gJEZsb3dFeHBlY3RlZEVycm9yIOKAkyBGbG93IGRvZXNuJ3Qga25vdyBhYm91dCBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgZ2xvYmFsXG4gICAgdHlwZW9mIElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCAhPT0gJ3VuZGVmaW5lZCcgPyBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgOiB1bmRlZmluZWQ7IC8vICRGbG93RXhwZWN0ZWRFcnJvciAtIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IGplc3RcblxuICAgIHZhciBqZXN0SXNEZWZpbmVkID0gdHlwZW9mIGplc3QgIT09ICd1bmRlZmluZWQnO1xuICAgIHJldHVybiAgamVzdElzRGVmaW5lZCAmJiBpc1JlYWN0QWN0RW52aXJvbm1lbnRHbG9iYWwgIT09IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpIHtcbiAge1xuICAgIHZhciBpc1JlYWN0QWN0RW52aXJvbm1lbnRHbG9iYWwgPSAvLyAkRmxvd0V4cGVjdGVkRXJyb3Ig4oCTIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCBnbG9iYWxcbiAgICB0eXBlb2YgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UICE9PSAndW5kZWZpbmVkJyA/IElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsICYmIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IEluY2x1ZGUgbGluayB0byByZWxldmFudCBkb2N1bWVudGF0aW9uIHBhZ2UuXG4gICAgICBlcnJvcignVGhlIGN1cnJlbnQgdGVzdGluZyBlbnZpcm9ubWVudCBpcyBub3QgY29uZmlndXJlZCB0byBzdXBwb3J0ICcgKyAnYWN0KC4uLiknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsO1xuICB9XG59XG5cbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyLFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcbiAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QWN0UXVldWU7XG52YXIgTm9Db250ZXh0ID1cbi8qICAgICAgICAgICAgICovXG4wO1xudmFyIEJhdGNoZWRDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgKi9cbjE7XG52YXIgUmVuZGVyQ29udGV4dCA9XG4vKiAgICAgICAgICAgICAgICAqL1xuMjtcbnZhciBDb21taXRDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgICovXG40O1xudmFyIFJvb3RJblByb2dyZXNzID0gMDtcbnZhciBSb290RmF0YWxFcnJvcmVkID0gMTtcbnZhciBSb290RXJyb3JlZCA9IDI7XG52YXIgUm9vdFN1c3BlbmRlZCA9IDM7XG52YXIgUm9vdFN1c3BlbmRlZFdpdGhEZWxheSA9IDQ7XG52YXIgUm9vdENvbXBsZXRlZCA9IDU7XG52YXIgUm9vdERpZE5vdENvbXBsZXRlID0gNjsgLy8gRGVzY3JpYmVzIHdoZXJlIHdlIGFyZSBpbiB0aGUgUmVhY3QgZXhlY3V0aW9uIHN0YWNrXG5cbnZhciBleGVjdXRpb25Db250ZXh0ID0gTm9Db250ZXh0OyAvLyBUaGUgcm9vdCB3ZSdyZSB3b3JraW5nIG9uXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsOyAvLyBUaGUgZmliZXIgd2UncmUgd29ya2luZyBvblxuXG52YXIgd29ya0luUHJvZ3Jlc3MgPSBudWxsOyAvLyBUaGUgbGFuZXMgd2UncmUgcmVuZGVyaW5nXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIFN0YWNrIHRoYXQgYWxsb3dzIGNvbXBvbmVudHMgdG8gY2hhbmdlIHRoZSByZW5kZXIgbGFuZXMgZm9yIGl0cyBzdWJ0cmVlXG4vLyBUaGlzIGlzIGEgc3VwZXJzZXQgb2YgdGhlIGxhbmVzIHdlIHN0YXJ0ZWQgd29ya2luZyBvbiBhdCB0aGUgcm9vdC4gVGhlIG9ubHlcbi8vIGNhc2Ugd2hlcmUgaXQncyBkaWZmZXJlbnQgZnJvbSBgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXNgIGlzIHdoZW4gd2Vcbi8vIGVudGVyIGEgc3VidHJlZSB0aGF0IGlzIGhpZGRlbiBhbmQgbmVlZHMgdG8gYmUgdW5oaWRkZW46IFN1c3BlbnNlIGFuZFxuLy8gT2Zmc2NyZWVuIGNvbXBvbmVudC5cbi8vXG4vLyBNb3N0IHRoaW5ncyBpbiB0aGUgd29yayBsb29wIHNob3VsZCBkZWFsIHdpdGggd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMuXG4vLyBNb3N0IHRoaW5ncyBpbiBiZWdpbi9jb21wbGV0ZSBwaGFzZXMgc2hvdWxkIGRlYWwgd2l0aCBzdWJ0cmVlUmVuZGVyTGFuZXMuXG5cbnZhciBzdWJ0cmVlUmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xudmFyIHN1YnRyZWVSZW5kZXJMYW5lc0N1cnNvciA9IGNyZWF0ZUN1cnNvcihOb0xhbmVzKTsgLy8gV2hldGhlciB0byByb290IGNvbXBsZXRlZCwgZXJyb3JlZCwgc3VzcGVuZGVkLCBldGMuXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdEluUHJvZ3Jlc3M7IC8vIEEgZmF0YWwgZXJyb3IsIGlmIG9uZSBpcyB0aHJvd25cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSBudWxsOyAvLyBcIkluY2x1ZGVkXCIgbGFuZXMgcmVmZXIgdG8gbGFuZXMgdGhhdCB3ZXJlIHdvcmtlZCBvbiBkdXJpbmcgdGhpcyByZW5kZXIuIEl0J3Ncbi8vIHNsaWdodGx5IGRpZmZlcmVudCB0aGFuIGByZW5kZXJMYW5lc2AgYmVjYXVzZSBgcmVuZGVyTGFuZXNgIGNhbiBjaGFuZ2UgYXMgeW91XG4vLyBlbnRlciBhbmQgZXhpdCBhbiBPZmZzY3JlZW4gdHJlZS4gVGhpcyB2YWx1ZSBpcyB0aGUgY29tYmluYXRpb24gb2YgYWxsIHJlbmRlclxuLy8gbGFuZXMgZm9yIHRoZSBlbnRpcmUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcyA9IE5vTGFuZXM7IC8vIFRoZSB3b3JrIGxlZnQgb3ZlciBieSBjb21wb25lbnRzIHRoYXQgd2VyZSB2aXNpdGVkIGR1cmluZyB0aGlzIHJlbmRlci4gT25seVxuLy8gaW5jbHVkZXMgdW5wcm9jZXNzZWQgdXBkYXRlcywgbm90IHdvcmsgaW4gYmFpbGVkIG91dCBjaGlsZHJlbi5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyA9IE5vTGFuZXM7IC8vIExhbmVzIHRoYXQgd2VyZSB1cGRhdGVkIChpbiBhbiBpbnRlcmxlYXZlZCBldmVudCkgZHVyaW5nIHRoaXMgcmVuZGVyLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBOb0xhbmVzOyAvLyBMYW5lcyB0aGF0IHdlcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSAoKm5vdCogYW4gaW50ZXJsZWF2ZWQgZXZlbnQpLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290UGluZ2VkTGFuZXMgPSBOb0xhbmVzOyAvLyBFcnJvcnMgdGhhdCBhcmUgdGhyb3duIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycyA9IG51bGw7IC8vIFRoZXNlIGFyZSBlcnJvcnMgdGhhdCB3ZSByZWNvdmVyZWQgZnJvbSB3aXRob3V0IHN1cmZhY2luZyB0aGVtIHRvIHRoZSBVSS5cbi8vIFdlIHdpbGwgbG9nIHRoZW0gb25jZSB0aGUgdHJlZSBjb21taXRzLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMgPSBudWxsOyAvLyBUaGUgbW9zdCByZWNlbnQgdGltZSB3ZSBjb21taXR0ZWQgYSBmYWxsYmFjay4gVGhpcyBsZXRzIHVzIGVuc3VyZSBhIHRyYWluXG4vLyBtb2RlbCB3aGVyZSB3ZSBkb24ndCBjb21taXQgbmV3IGxvYWRpbmcgc3RhdGVzIGluIHRvbyBxdWljayBzdWNjZXNzaW9uLlxuXG52YXIgZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSA9IDA7XG52YXIgRkFMTEJBQ0tfVEhST1RUTEVfTVMgPSA1MDA7IC8vIFRoZSBhYnNvbHV0ZSB0aW1lIGZvciB3aGVuIHdlIHNob3VsZCBzdGFydCBnaXZpbmcgdXAgb24gcmVuZGVyaW5nXG4vLyBtb3JlIGFuZCBwcmVmZXIgQ1BVIHN1c3BlbnNlIGhldXJpc3RpY3MgaW5zdGVhZC5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBJbmZpbml0eTsgLy8gSG93IGxvbmcgYSByZW5kZXIgaXMgc3VwcG9zZWQgdG8gdGFrZSBiZWZvcmUgd2Ugc3RhcnQgZm9sbG93aW5nIENQVVxuLy8gc3VzcGVuc2UgaGV1cmlzdGljcyBhbmQgb3B0IG91dCBvZiByZW5kZXJpbmcgbW9yZSBjb250ZW50LlxuXG52YXIgUkVOREVSX1RJTUVPVVRfTVMgPSA1MDA7XG52YXIgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyA9IG51bGw7XG5cbmZ1bmN0aW9uIHJlc2V0UmVuZGVyVGltZXIoKSB7XG4gIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBub3coKSArIFJFTkRFUl9USU1FT1VUX01TO1xufVxuXG5mdW5jdGlvbiBnZXRSZW5kZXJUYXJnZXRUaW1lKCkge1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyVGFyZ2V0VGltZTtcbn1cbnZhciBoYXNVbmNhdWdodEVycm9yID0gZmFsc2U7XG52YXIgZmlyc3RVbmNhdWdodEVycm9yID0gbnVsbDtcbnZhciBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7IC8vIE9ubHkgdXNlZCB3aGVuIGVuYWJsZVByb2ZpbGVyTmVzdGVkVXBkYXRlU2NoZWR1bGVkSG9vayBpcyB0cnVlO1xudmFyIHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG52YXIgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsO1xudmFyIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzID0gTm9MYW5lcztcbnZhciBwZW5kaW5nUGFzc2l2ZVByb2ZpbGVyRWZmZWN0cyA9IFtdO1xudmFyIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsOyAvLyBVc2UgdGhlc2UgdG8gcHJldmVudCBhbiBpbmZpbml0ZSBsb29wIG9mIG5lc3RlZCB1cGRhdGVzXG5cbnZhciBORVNURURfVVBEQVRFX0xJTUlUID0gNTA7XG52YXIgbmVzdGVkVXBkYXRlQ291bnQgPSAwO1xudmFyIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IG51bGw7XG52YXIgaXNGbHVzaGluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG52YXIgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xudmFyIE5FU1RFRF9QQVNTSVZFX1VQREFURV9MSU1JVCA9IDUwO1xudmFyIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG52YXIgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7IC8vIElmIHR3byB1cGRhdGVzIGFyZSBzY2hlZHVsZWQgd2l0aGluIHRoZSBzYW1lIGV2ZW50LCB3ZSBzaG91bGQgdHJlYXQgdGhlaXJcbi8vIGV2ZW50IHRpbWVzIGFzIHNpbXVsdGFuZW91cywgZXZlbiBpZiB0aGUgYWN0dWFsIGNsb2NrIHRpbWUgaGFzIGFkdmFuY2VkXG4vLyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgc2Vjb25kIGNhbGwuXG5cbnZhciBjdXJyZW50RXZlbnRUaW1lID0gTm9UaW1lc3RhbXA7XG52YXIgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBOb0xhbmVzO1xudmFyIGlzUnVubmluZ0luc2VydGlvbkVmZmVjdCA9IGZhbHNlO1xuZnVuY3Rpb24gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCkge1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290O1xufVxuZnVuY3Rpb24gcmVxdWVzdEV2ZW50VGltZSgpIHtcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIC8vIFdlJ3JlIGluc2lkZSBSZWFjdCwgc28gaXQncyBmaW5lIHRvIHJlYWQgdGhlIGFjdHVhbCB0aW1lLlxuICAgIHJldHVybiBub3coKTtcbiAgfSAvLyBXZSdyZSBub3QgaW5zaWRlIFJlYWN0LCBzbyB3ZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBhIGJyb3dzZXIgZXZlbnQuXG5cblxuICBpZiAoY3VycmVudEV2ZW50VGltZSAhPT0gTm9UaW1lc3RhbXApIHtcbiAgICAvLyBVc2UgdGhlIHNhbWUgc3RhcnQgdGltZSBmb3IgYWxsIHVwZGF0ZXMgdW50aWwgd2UgZW50ZXIgUmVhY3QgYWdhaW4uXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XG4gIH0gLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlIHNpbmNlIFJlYWN0IHlpZWxkZWQuIENvbXB1dGUgYSBuZXcgc3RhcnQgdGltZS5cblxuXG4gIGN1cnJlbnRFdmVudFRpbWUgPSBub3coKTtcbiAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XG59XG5mdW5jdGlvbiByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcikge1xuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfSBlbHNlIGlmICggKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0ICYmIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIFRoZXNlIGFyZSBub3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQuIFRoZVxuICAgIC8vIG9sZCBiZWhhdmlvciBpcyB0byBnaXZlIHRoaXMgdGhlIHNhbWUgXCJ0aHJlYWRcIiAobGFuZXMpIGFzXG4gICAgLy8gd2hhdGV2ZXIgaXMgY3VycmVudGx5IHJlbmRlcmluZy4gU28gaWYgeW91IGNhbGwgYHNldFN0YXRlYCBvbiBhIGNvbXBvbmVudFxuICAgIC8vIHRoYXQgaGFwcGVucyBsYXRlciBpbiB0aGUgc2FtZSByZW5kZXIsIGl0IHdpbGwgZmx1c2guIElkZWFsbHksIHdlIHdhbnQgdG9cbiAgICAvLyByZW1vdmUgdGhlIHNwZWNpYWwgY2FzZSBhbmQgdHJlYXQgdGhlbSBhcyBpZiB0aGV5IGNhbWUgZnJvbSBhblxuICAgIC8vIGludGVybGVhdmVkIGV2ZW50LiBSZWdhcmRsZXNzLCB0aGlzIHBhdHRlcm4gaXMgbm90IG9mZmljaWFsbHkgc3VwcG9ydGVkLlxuICAgIC8vIFRoaXMgYmVoYXZpb3IgaXMgb25seSBhIGZhbGxiYWNrLiBUaGUgZmxhZyBvbmx5IGV4aXN0cyB1bnRpbCB3ZSBjYW4gcm9sbFxuICAgIC8vIG91dCB0aGUgc2V0U3RhdGUgd2FybmluZywgc2luY2UgZXhpc3RpbmcgY29kZSBtaWdodCBhY2NpZGVudGFsbHkgcmVseSBvblxuICAgIC8vIHRoZSBjdXJyZW50IGJlaGF2aW9yLlxuICAgIHJldHVybiBwaWNrQXJiaXRyYXJ5TGFuZSh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gIH1cblxuICB2YXIgaXNUcmFuc2l0aW9uID0gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCkgIT09IE5vVHJhbnNpdGlvbjtcblxuICBpZiAoaXNUcmFuc2l0aW9uKSB7XG4gICAgaWYgKCBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHZhciB0cmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uO1xuXG4gICAgICBpZiAoIXRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMpIHtcbiAgICAgICAgdHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycyA9IG5ldyBTZXQoKTtcbiAgICAgIH1cblxuICAgICAgdHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5hZGQoZmliZXIpO1xuICAgIH0gLy8gVGhlIGFsZ29yaXRobSBmb3IgYXNzaWduaW5nIGFuIHVwZGF0ZSB0byBhIGxhbmUgc2hvdWxkIGJlIHN0YWJsZSBmb3IgYWxsXG4gICAgLy8gdXBkYXRlcyBhdCB0aGUgc2FtZSBwcmlvcml0eSB3aXRoaW4gdGhlIHNhbWUgZXZlbnQuIFRvIGRvIHRoaXMsIHRoZVxuICAgIC8vIGlucHV0cyB0byB0aGUgYWxnb3JpdGhtIG11c3QgYmUgdGhlIHNhbWUuXG4gICAgLy9cbiAgICAvLyBUaGUgdHJpY2sgd2UgdXNlIGlzIHRvIGNhY2hlIHRoZSBmaXJzdCBvZiBlYWNoIG9mIHRoZXNlIGlucHV0cyB3aXRoaW4gYW5cbiAgICAvLyBldmVudC4gVGhlbiByZXNldCB0aGUgY2FjaGVkIHZhbHVlcyBvbmNlIHdlIGNhbiBiZSBzdXJlIHRoZSBldmVudCBpc1xuICAgIC8vIG92ZXIuIE91ciBoZXVyaXN0aWMgZm9yIHRoYXQgaXMgd2hlbmV2ZXIgd2UgZW50ZXIgYSBjb25jdXJyZW50IHdvcmsgbG9vcC5cblxuXG4gICAgaWYgKGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lID09PSBOb0xhbmUpIHtcbiAgICAgIC8vIEFsbCB0cmFuc2l0aW9ucyB3aXRoaW4gdGhlIHNhbWUgZXZlbnQgYXJlIGFzc2lnbmVkIHRoZSBzYW1lIGxhbmUuXG4gICAgICBjdXJyZW50RXZlbnRUcmFuc2l0aW9uTGFuZSA9IGNsYWltTmV4dFRyYW5zaXRpb25MYW5lKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lO1xuICB9IC8vIFVwZGF0ZXMgb3JpZ2luYXRpbmcgaW5zaWRlIGNlcnRhaW4gUmVhY3QgbWV0aG9kcywgbGlrZSBmbHVzaFN5bmMsIGhhdmVcbiAgLy8gdGhlaXIgcHJpb3JpdHkgc2V0IGJ5IHRyYWNraW5nIGl0IHdpdGggYSBjb250ZXh0IHZhcmlhYmxlLlxuICAvL1xuICAvLyBUaGUgb3BhcXVlIHR5cGUgcmV0dXJuZWQgYnkgdGhlIGhvc3QgY29uZmlnIGlzIGludGVybmFsbHkgYSBsYW5lLCBzbyB3ZSBjYW5cbiAgLy8gdXNlIHRoYXQgZGlyZWN0bHkuXG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0eXBlIGNvbnZlcnNpb24gdG8gdGhlIGV2ZW50IHByaW9yaXR5IG1vZHVsZS5cblxuXG4gIHZhciB1cGRhdGVMYW5lID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgaWYgKHVwZGF0ZUxhbmUgIT09IE5vTGFuZSkge1xuICAgIHJldHVybiB1cGRhdGVMYW5lO1xuICB9IC8vIFRoaXMgdXBkYXRlIG9yaWdpbmF0ZWQgb3V0c2lkZSBSZWFjdC4gQXNrIHRoZSBob3N0IGVudmlyb25tZW50IGZvciBhblxuICAvLyBhcHByb3ByaWF0ZSBwcmlvcml0eSwgYmFzZWQgb24gdGhlIHR5cGUgb2YgZXZlbnQuXG4gIC8vXG4gIC8vIFRoZSBvcGFxdWUgdHlwZSByZXR1cm5lZCBieSB0aGUgaG9zdCBjb25maWcgaXMgaW50ZXJuYWxseSBhIGxhbmUsIHNvIHdlIGNhblxuICAvLyB1c2UgdGhhdCBkaXJlY3RseS5cbiAgLy8gVE9ETzogTW92ZSB0aGlzIHR5cGUgY29udmVyc2lvbiB0byB0aGUgZXZlbnQgcHJpb3JpdHkgbW9kdWxlLlxuXG5cbiAgdmFyIGV2ZW50TGFuZSA9IGdldEN1cnJlbnRFdmVudFByaW9yaXR5KCk7XG4gIHJldHVybiBldmVudExhbmU7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RSZXRyeUxhbmUoZmliZXIpIHtcbiAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgYHJlcXVlc3RVcGRhdGVMYW5lYCBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgZm9yIFN1c3BlbnNlXG4gIC8vIFwicmV0cmllc1wiIOKAlCBhIHNwZWNpYWwgdXBkYXRlIHRoYXQgYXR0ZW1wdHMgdG8gZmxpcCBhIFN1c3BlbnNlIGJvdW5kYXJ5XG4gIC8vIGZyb20gaXRzIHBsYWNlaG9sZGVyIHN0YXRlIHRvIGl0cyBwcmltYXJ5L3Jlc29sdmVkIHN0YXRlLlxuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfVxuXG4gIHJldHVybiBjbGFpbU5leHRSZXRyeUxhbmUoKTtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpIHtcbiAgY2hlY2tGb3JOZXN0ZWRVcGRhdGVzKCk7XG5cbiAge1xuICAgIGlmIChpc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QpIHtcbiAgICAgIGVycm9yKCd1c2VJbnNlcnRpb25FZmZlY3QgbXVzdCBub3Qgc2NoZWR1bGUgdXBkYXRlcy4nKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKGlzRmx1c2hpbmdQYXNzaXZlRWZmZWN0cykge1xuICAgICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IHRydWU7XG4gICAgfVxuICB9IC8vIE1hcmsgdGhhdCB0aGUgcm9vdCBoYXMgYSBwZW5kaW5nIHVwZGF0ZS5cblxuXG4gIG1hcmtSb290VXBkYXRlZChyb290LCBsYW5lLCBldmVudFRpbWUpO1xuXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpICE9PSBOb0xhbmVzICYmIHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCkge1xuICAgIC8vIFRoaXMgdXBkYXRlIHdhcyBkaXNwYXRjaGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLiBUaGlzIGlzIGEgbWlzdGFrZVxuICAgIC8vIGlmIHRoZSB1cGRhdGUgb3JpZ2luYXRlcyBmcm9tIHVzZXIgc3BhY2UgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBsb2NhbFxuICAgIC8vIGhvb2sgdXBkYXRlcywgd2hpY2ggYXJlIGhhbmRsZWQgZGlmZmVyZW50bHkgYW5kIGRvbid0IHJlYWNoIHRoaXNcbiAgICAvLyBmdW5jdGlvbiksIGJ1dCB0aGVyZSBhcmUgc29tZSBpbnRlcm5hbCBSZWFjdCBmZWF0dXJlcyB0aGF0IHVzZSB0aGlzIGFzXG4gICAgLy8gYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsLCBsaWtlIHNlbGVjdGl2ZSBoeWRyYXRpb24uXG4gICAgd2FybkFib3V0UmVuZGVyUGhhc2VVcGRhdGVzSW5ERVYoZmliZXIpOyAvLyBUcmFjayBsYW5lcyB0aGF0IHdlcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgYSBub3JtYWwgdXBkYXRlLCBzY2hlZHVsZWQgZnJvbSBvdXRzaWRlIHRoZSByZW5kZXIgcGhhc2UuIEZvclxuICAgIC8vIGV4YW1wbGUsIGR1cmluZyBhbiBpbnB1dCBldmVudC5cbiAgICB7XG4gICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgYWRkRmliZXJUb0xhbmVzTWFwKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3YXJuSWZVcGRhdGVzTm90V3JhcHBlZFdpdGhBY3RERVYoZmliZXIpO1xuXG4gICAgaWYgKHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCkge1xuICAgICAgLy8gUmVjZWl2ZWQgYW4gdXBkYXRlIHRvIGEgdHJlZSB0aGF0J3MgaW4gdGhlIG1pZGRsZSBvZiByZW5kZXJpbmcuIE1hcmtcbiAgICAgIC8vIHRoYXQgdGhlcmUgd2FzIGFuIGludGVybGVhdmVkIHVwZGF0ZSB3b3JrIG9uIHRoaXMgcm9vdC4gVW5sZXNzIHRoZVxuICAgICAgLy8gYGRlZmVyUmVuZGVyUGhhc2VVcGRhdGVUb05leHRCYXRjaGAgZmxhZyBpcyBvZmYgYW5kIHRoaXMgaXMgYSByZW5kZXJcbiAgICAgIC8vIHBoYXNlIHVwZGF0ZS4gSW4gdGhhdCBjYXNlLCB3ZSBkb24ndCB0cmVhdCByZW5kZXIgcGhhc2UgdXBkYXRlcyBhcyBpZlxuICAgICAgLy8gdGhleSB3ZXJlIGludGVybGVhdmVkLCBmb3IgYmFja3dhcmRzIGNvbXBhdCByZWFzb25zLlxuICAgICAgaWYgKCAoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpID09PSBOb0NvbnRleHQpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzUm9vdEludGVybGVhdmVkVXBkYXRlZExhbmVzLCBsYW5lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXkpIHtcbiAgICAgICAgLy8gVGhlIHJvb3QgYWxyZWFkeSBzdXNwZW5kZWQgd2l0aCBhIGRlbGF5LCB3aGljaCBtZWFucyB0aGlzIHJlbmRlclxuICAgICAgICAvLyBkZWZpbml0ZWx5IHdvbid0IGZpbmlzaC4gU2luY2Ugd2UgaGF2ZSBhIG5ldyB1cGRhdGUsIGxldCdzIG1hcmsgaXQgYXNcbiAgICAgICAgLy8gc3VzcGVuZGVkIG5vdywgcmlnaHQgYmVmb3JlIG1hcmtpbmcgdGhlIGluY29taW5nIHVwZGF0ZS4gVGhpcyBoYXMgdGhlXG4gICAgICAgIC8vIGVmZmVjdCBvZiBpbnRlcnJ1cHRpbmcgdGhlIGN1cnJlbnQgcmVuZGVyIGFuZCBzd2l0Y2hpbmcgdG8gdGhlIHVwZGF0ZS5cbiAgICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHRoaXMgZG9lc24ndCBvdmVycmlkZSBwaW5ncyB0aGF0IGhhcHBlbiB3aGlsZSB3ZSd2ZVxuICAgICAgICAvLyBhbHJlYWR5IHN0YXJ0ZWQgcmVuZGVyaW5nLlxuICAgICAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcblxuICAgIGlmIChsYW5lID09PSBTeW5jTGFuZSAmJiBleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQgJiYgKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSAmJiAvLyBUcmVhdCBgYWN0YCBhcyBpZiBpdCdzIGluc2lkZSBgYmF0Y2hlZFVwZGF0ZXNgLCBldmVuIGluIGxlZ2FjeSBtb2RlLlxuICAgICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSkpIHtcbiAgICAgIC8vIEZsdXNoIHRoZSBzeW5jaHJvbm91cyB3b3JrIG5vdywgdW5sZXNzIHdlJ3JlIGFscmVhZHkgd29ya2luZyBvciBpbnNpZGVcbiAgICAgIC8vIGEgYmF0Y2guIFRoaXMgaXMgaW50ZW50aW9uYWxseSBpbnNpZGUgc2NoZWR1bGVVcGRhdGVPbkZpYmVyIGluc3RlYWQgb2ZcbiAgICAgIC8vIHNjaGVkdWxlQ2FsbGJhY2tGb3JGaWJlciB0byBwcmVzZXJ2ZSB0aGUgYWJpbGl0eSB0byBzY2hlZHVsZSBhIGNhbGxiYWNrXG4gICAgICAvLyB3aXRob3V0IGltbWVkaWF0ZWx5IGZsdXNoaW5nIGl0LiBXZSBvbmx5IGRvIHRoaXMgZm9yIHVzZXItaW5pdGlhdGVkXG4gICAgICAvLyB1cGRhdGVzLCB0byBwcmVzZXJ2ZSBoaXN0b3JpY2FsIGJlaGF2aW9yIG9mIGxlZ2FjeSBtb2RlLlxuICAgICAgcmVzZXRSZW5kZXJUaW1lcigpO1xuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzT25seUluTGVnYWN5TW9kZSgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVJbml0aWFsSHlkcmF0aW9uT25Sb290KHJvb3QsIGxhbmUsIGV2ZW50VGltZSkge1xuICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBmb3JrIG9mIHNjaGVkdWxlVXBkYXRlT25GaWJlciB0aGF0IGlzIG9ubHkgdXNlZCB0b1xuICAvLyBzY2hlZHVsZSB0aGUgaW5pdGlhbCBoeWRyYXRpb24gb2YgYSByb290IHRoYXQgaGFzIGp1c3QgYmVlbiBjcmVhdGVkLiBNb3N0XG4gIC8vIG9mIHRoZSBzdHVmZiBpbiBzY2hlZHVsZVVwZGF0ZU9uRmliZXIgY2FuIGJlIHNraXBwZWQuXG4gIC8vXG4gIC8vIFRoZSBtYWluIHJlYXNvbiBmb3IgdGhpcyBzZXBhcmF0ZSBwYXRoLCB0aG91Z2gsIGlzIHRvIGRpc3Rpbmd1aXNoIHRoZVxuICAvLyBpbml0aWFsIGNoaWxkcmVuIGZyb20gc3Vic2VxdWVudCB1cGRhdGVzLiBJbiBmdWxseSBjbGllbnQtcmVuZGVyZWQgcm9vdHNcbiAgLy8gKGNyZWF0ZVJvb3QgaW5zdGVhZCBvZiBoeWRyYXRlUm9vdCksIGFsbCB0b3AtbGV2ZWwgcmVuZGVycyBhcmUgbW9kZWxlZCBhc1xuICAvLyB1cGRhdGVzLCBidXQgaHlkcmF0aW9uIHJvb3RzIGFyZSBzcGVjaWFsIGJlY2F1c2UgdGhlIGluaXRpYWwgcmVuZGVyIG11c3RcbiAgLy8gbWF0Y2ggd2hhdCB3YXMgcmVuZGVyZWQgb24gdGhlIHNlcnZlci5cbiAgdmFyIGN1cnJlbnQgPSByb290LmN1cnJlbnQ7XG4gIGN1cnJlbnQubGFuZXMgPSBsYW5lO1xuICBtYXJrUm9vdFVwZGF0ZWQocm9vdCwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIGV2ZW50VGltZSk7XG59XG5mdW5jdGlvbiBpc1Vuc2FmZUNsYXNzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIE9ubHkgY2FsbGVkIGJ5IGNsYXNzIGNvbXBvbmVudHMsXG4gIC8vIHdoaWNoIHNwZWNpYWwgKGRlcHJlY2F0ZWQpIGJlaGF2aW9yIGZvciBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmUgcHJvcHMuXG4gIHJldHVybiAoLy8gVE9ETzogUmVtb3ZlIG91dGRhdGVkIGRlZmVyUmVuZGVyUGhhc2VVcGRhdGVUb05leHRCYXRjaCBleHBlcmltZW50LiBXZVxuICAgIC8vIGRlY2lkZWQgbm90IHRvIGVuYWJsZSBpdC5cbiAgICAgKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0XG4gICk7XG59IC8vIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHNjaGVkdWxlIGEgdGFzayBmb3IgYSByb290LiBUaGVyZSdzIG9ubHkgb25lIHRhc2sgcGVyXG4vLyByb290OyBpZiBhIHRhc2sgd2FzIGFscmVhZHkgc2NoZWR1bGVkLCB3ZSdsbCBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHByaW9yaXR5XG4vLyBvZiB0aGUgZXhpc3RpbmcgdGFzayBpcyB0aGUgc2FtZSBhcyB0aGUgcHJpb3JpdHkgb2YgdGhlIG5leHQgbGV2ZWwgdGhhdCB0aGVcbi8vIHJvb3QgaGFzIHdvcmsgb24uIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uIGV2ZXJ5IHVwZGF0ZSwgYW5kIHJpZ2h0IGJlZm9yZVxuLy8gZXhpdGluZyBhIHRhc2suXG5cbmZ1bmN0aW9uIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBjdXJyZW50VGltZSkge1xuICB2YXIgZXhpc3RpbmdDYWxsYmFja05vZGUgPSByb290LmNhbGxiYWNrTm9kZTsgLy8gQ2hlY2sgaWYgYW55IGxhbmVzIGFyZSBiZWluZyBzdGFydmVkIGJ5IG90aGVyIHdvcmsuIElmIHNvLCBtYXJrIHRoZW0gYXNcbiAgLy8gZXhwaXJlZCBzbyB3ZSBrbm93IHRvIHdvcmsgb24gdGhvc2UgbmV4dC5cblxuICBtYXJrU3RhcnZlZExhbmVzQXNFeHBpcmVkKHJvb3QsIGN1cnJlbnRUaW1lKTsgLy8gRGV0ZXJtaW5lIHRoZSBuZXh0IGxhbmVzIHRvIHdvcmsgb24sIGFuZCB0aGVpciBwcmlvcml0eS5cblxuICB2YXIgbmV4dExhbmVzID0gZ2V0TmV4dExhbmVzKHJvb3QsIHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCA/IHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzIDogTm9MYW5lcyk7XG5cbiAgaWYgKG5leHRMYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIFNwZWNpYWwgY2FzZTogVGhlcmUncyBub3RoaW5nIHRvIHdvcmsgb24uXG4gICAgaWYgKGV4aXN0aW5nQ2FsbGJhY2tOb2RlICE9PSBudWxsKSB7XG4gICAgICBjYW5jZWxDYWxsYmFjayQxKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgICB9XG5cbiAgICByb290LmNhbGxiYWNrTm9kZSA9IG51bGw7XG4gICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9MYW5lO1xuICAgIHJldHVybjtcbiAgfSAvLyBXZSB1c2UgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgbGFuZSB0byByZXByZXNlbnQgdGhlIHByaW9yaXR5IG9mIHRoZSBjYWxsYmFjay5cblxuXG4gIHZhciBuZXdDYWxsYmFja1ByaW9yaXR5ID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShuZXh0TGFuZXMpOyAvLyBDaGVjayBpZiB0aGVyZSdzIGFuIGV4aXN0aW5nIHRhc2suIFdlIG1heSBiZSBhYmxlIHRvIHJldXNlIGl0LlxuXG4gIHZhciBleGlzdGluZ0NhbGxiYWNrUHJpb3JpdHkgPSByb290LmNhbGxiYWNrUHJpb3JpdHk7XG5cbiAgaWYgKGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSA9PT0gbmV3Q2FsbGJhY2tQcmlvcml0eSAmJiAvLyBTcGVjaWFsIGNhc2UgcmVsYXRlZCB0byBgYWN0YC4gSWYgdGhlIGN1cnJlbnRseSBzY2hlZHVsZWQgdGFzayBpcyBhXG4gIC8vIFNjaGVkdWxlciB0YXNrLCByYXRoZXIgdGhhbiBhbiBgYWN0YCB0YXNrLCBjYW5jZWwgaXQgYW5kIHJlLXNjaGVkdWxlZFxuICAvLyBvbiB0aGUgYGFjdGAgcXVldWUuXG4gICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCAhPT0gbnVsbCAmJiBleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gZmFrZUFjdENhbGxiYWNrTm9kZSkpIHtcbiAgICB7XG4gICAgICAvLyBJZiB3ZSdyZSBnb2luZyB0byByZS11c2UgYW4gZXhpc3RpbmcgdGFzaywgaXQgbmVlZHMgdG8gZXhpc3QuXG4gICAgICAvLyBBc3N1bWUgdGhhdCBkaXNjcmV0ZSB1cGRhdGUgbWljcm90YXNrcyBhcmUgbm9uLWNhbmNlbGxhYmxlIGFuZCBudWxsLlxuICAgICAgLy8gVE9ETzogVGVtcG9yYXJ5IHVudGlsIHdlIGNvbmZpcm0gdGhpcyB3YXJuaW5nIGlzIG5vdCBmaXJlZC5cbiAgICAgIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSA9PSBudWxsICYmIGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSAhPT0gU3luY0xhbmUpIHtcbiAgICAgICAgZXJyb3IoJ0V4cGVjdGVkIHNjaGVkdWxlZCBjYWxsYmFjayB0byBleGlzdC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH1cbiAgICB9IC8vIFRoZSBwcmlvcml0eSBoYXNuJ3QgY2hhbmdlZC4gV2UgY2FuIHJldXNlIHRoZSBleGlzdGluZyB0YXNrLiBFeGl0LlxuXG5cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZXhpc3RpbmdDYWxsYmFja05vZGUgIT0gbnVsbCkge1xuICAgIC8vIENhbmNlbCB0aGUgZXhpc3RpbmcgY2FsbGJhY2suIFdlJ2xsIHNjaGVkdWxlIGEgbmV3IG9uZSBiZWxvdy5cbiAgICBjYW5jZWxDYWxsYmFjayQxKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgfSAvLyBTY2hlZHVsZSBhIG5ldyBjYWxsYmFjay5cblxuXG4gIHZhciBuZXdDYWxsYmFja05vZGU7XG5cbiAgaWYgKG5ld0NhbGxiYWNrUHJpb3JpdHkgPT09IFN5bmNMYW5lKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBTeW5jIFJlYWN0IGNhbGxiYWNrcyBhcmUgc2NoZWR1bGVkIG9uIGEgc3BlY2lhbFxuICAgIC8vIGludGVybmFsIHF1ZXVlXG4gICAgaWYgKHJvb3QudGFnID09PSBMZWdhY3lSb290KSB7XG4gICAgICBpZiAoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSAhPT0gbnVsbCkge1xuICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmRpZFNjaGVkdWxlTGVnYWN5VXBkYXRlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgc2NoZWR1bGVMZWdhY3lTeW5jQ2FsbGJhY2socGVyZm9ybVN5bmNXb3JrT25Sb290LmJpbmQobnVsbCwgcm9vdCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzY2hlZHVsZVN5bmNDYWxsYmFjayhwZXJmb3JtU3luY1dvcmtPblJvb3QuYmluZChudWxsLCByb290KSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gRmx1c2ggdGhlIHF1ZXVlIGluIGEgbWljcm90YXNrLlxuICAgICAgaWYgKCBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gSW5zaWRlIGBhY3RgLCB1c2Ugb3VyIGludGVybmFsIGBhY3RgIHF1ZXVlIHNvIHRoYXQgdGhlc2UgZ2V0IGZsdXNoZWRcbiAgICAgICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBzY29wZSBldmVuIHdoZW4gdXNpbmcgdGhlIHN5bmMgdmVyc2lvblxuICAgICAgICAvLyBvZiBgYWN0YC5cbiAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUkMS5jdXJyZW50LnB1c2goZmx1c2hTeW5jQ2FsbGJhY2tzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjaGVkdWxlTWljcm90YXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBJbiBTYWZhcmksIGFwcGVuZGluZyBhbiBpZnJhbWUgZm9yY2VzIG1pY3JvdGFza3MgdG8gcnVuLlxuICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjI0NTlcbiAgICAgICAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHJ1bm5pbmcgY2FsbGJhY2tzIGluIHRoZSBtaWRkbGUgb2YgcmVuZGVyXG4gICAgICAgICAgLy8gb3IgY29tbWl0IHNvIHdlIG5lZWQgdG8gY2hlY2sgYWdhaW5zdCB0aGF0LlxuICAgICAgICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIHdvdWxkIHN0aWxsIHByZW1hdHVyZWx5IGZsdXNoIHRoZSBjYWxsYmFja3NcbiAgICAgICAgICAgIC8vIGlmIHRoaXMgaGFwcGVucyBvdXRzaWRlIHJlbmRlciBvciBjb21taXQgcGhhc2UgKGUuZy4gaW4gYW4gZXZlbnQpLlxuICAgICAgICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdDYWxsYmFja05vZGUgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eUxldmVsO1xuXG4gICAgc3dpdGNoIChsYW5lc1RvRXZlbnRQcmlvcml0eShuZXh0TGFuZXMpKSB7XG4gICAgICBjYXNlIERpc2NyZXRlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IEltbWVkaWF0ZVByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBDb250aW51b3VzRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IFVzZXJCbG9ja2luZ1ByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBJZGxlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IElkbGVQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNjaGVkdWxlclByaW9yaXR5TGV2ZWwgPSBOb3JtYWxQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbmV3Q2FsbGJhY2tOb2RlID0gc2NoZWR1bGVDYWxsYmFjayQxKHNjaGVkdWxlclByaW9yaXR5TGV2ZWwsIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpKTtcbiAgfVxuXG4gIHJvb3QuY2FsbGJhY2tQcmlvcml0eSA9IG5ld0NhbGxiYWNrUHJpb3JpdHk7XG4gIHJvb3QuY2FsbGJhY2tOb2RlID0gbmV3Q2FsbGJhY2tOb2RlO1xufSAvLyBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgZXZlcnkgY29uY3VycmVudCB0YXNrLCBpLmUuIGFueXRoaW5nIHRoYXRcbi8vIGdvZXMgdGhyb3VnaCBTY2hlZHVsZXIuXG5cblxuZnVuY3Rpb24gcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290KHJvb3QsIGRpZFRpbWVvdXQpIHtcbiAge1xuICAgIHJlc2V0TmVzdGVkVXBkYXRlRmxhZygpO1xuICB9IC8vIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gYSBSZWFjdCBldmVudCwgd2UgY2FuIGNsZWFyIHRoZSBjdXJyZW50XG4gIC8vIGV2ZW50IHRpbWUuIFRoZSBuZXh0IHVwZGF0ZSB3aWxsIGNvbXB1dGUgYSBuZXcgZXZlbnQgdGltZS5cblxuXG4gIGN1cnJlbnRFdmVudFRpbWUgPSBOb1RpbWVzdGFtcDtcbiAgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBOb0xhbmVzO1xuXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBub3QgYWxyZWFkeSBiZSB3b3JraW5nLicpO1xuICB9IC8vIEZsdXNoIGFueSBwZW5kaW5nIHBhc3NpdmUgZWZmZWN0cyBiZWZvcmUgZGVjaWRpbmcgd2hpY2ggbGFuZXMgdG8gd29yayBvbixcbiAgLy8gaW4gY2FzZSB0aGV5IHNjaGVkdWxlIGFkZGl0aW9uYWwgd29yay5cblxuXG4gIHZhciBvcmlnaW5hbENhbGxiYWNrTm9kZSA9IHJvb3QuY2FsbGJhY2tOb2RlO1xuICB2YXIgZGlkRmx1c2hQYXNzaXZlRWZmZWN0cyA9IGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcblxuICBpZiAoZGlkRmx1c2hQYXNzaXZlRWZmZWN0cykge1xuICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgcGFzc2l2ZSBlZmZlY3QgcGhhc2UgbWF5IGhhdmUgY2FuY2VsZWQgdGhlIGN1cnJlbnQgdGFzay5cbiAgICAvLyBDaGVjayBpZiB0aGUgdGFzayBub2RlIGZvciB0aGlzIHJvb3Qgd2FzIGNoYW5nZWQuXG4gICAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlICE9PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xuICAgICAgLy8gVGhlIGN1cnJlbnQgdGFzayB3YXMgY2FuY2VsZWQuIEV4aXQuIFdlIGRvbid0IG5lZWQgdG8gY2FsbFxuICAgICAgLy8gYGVuc3VyZVJvb3RJc1NjaGVkdWxlZGAgYmVjYXVzZSB0aGUgY2hlY2sgYWJvdmUgaW1wbGllcyBlaXRoZXIgdGhhdFxuICAgICAgLy8gdGhlcmUncyBhIG5ldyB0YXNrLCBvciB0aGF0IHRoZXJlJ3Mgbm8gcmVtYWluaW5nIHdvcmsgb24gdGhpcyByb290LlxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9IC8vIERldGVybWluZSB0aGUgbmV4dCBsYW5lcyB0byB3b3JrIG9uLCB1c2luZyB0aGUgZmllbGRzIHN0b3JlZFxuICAvLyBvbiB0aGUgcm9vdC5cblxuXG4gIHZhciBsYW5lcyA9IGdldE5leHRMYW5lcyhyb290LCByb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QgPyB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA6IE5vTGFuZXMpO1xuXG4gIGlmIChsYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIERlZmVuc2l2ZSBjb2RpbmcuIFRoaXMgaXMgbmV2ZXIgZXhwZWN0ZWQgdG8gaGFwcGVuLlxuICAgIHJldHVybiBudWxsO1xuICB9IC8vIFdlIGRpc2FibGUgdGltZS1zbGljaW5nIGluIHNvbWUgY2FzZXM6IGlmIHRoZSB3b3JrIGhhcyBiZWVuIENQVS1ib3VuZFxuICAvLyBmb3IgdG9vIGxvbmcgKFwiZXhwaXJlZFwiIHdvcmssIHRvIHByZXZlbnQgc3RhcnZhdGlvbiksIG9yIHdlJ3JlIGluXG4gIC8vIHN5bmMtdXBkYXRlcy1ieS1kZWZhdWx0IG1vZGUuXG4gIC8vIFRPRE86IFdlIG9ubHkgY2hlY2sgYGRpZFRpbWVvdXRgIGRlZmVuc2l2ZWx5LCB0byBhY2NvdW50IGZvciBhIFNjaGVkdWxlclxuICAvLyBidWcgd2UncmUgc3RpbGwgaW52ZXN0aWdhdGluZy4gT25jZSB0aGUgYnVnIGluIFNjaGVkdWxlciBpcyBmaXhlZCxcbiAgLy8gd2UgY2FuIHJlbW92ZSB0aGlzLCBzaW5jZSB3ZSB0cmFjayBleHBpcmF0aW9uIG91cnNlbHZlcy5cblxuXG4gIHZhciBzaG91bGRUaW1lU2xpY2UgPSAhaW5jbHVkZXNCbG9ja2luZ0xhbmUocm9vdCwgbGFuZXMpICYmICFpbmNsdWRlc0V4cGlyZWRMYW5lKHJvb3QsIGxhbmVzKSAmJiAoICFkaWRUaW1lb3V0KTtcbiAgdmFyIGV4aXRTdGF0dXMgPSBzaG91bGRUaW1lU2xpY2UgPyByZW5kZXJSb290Q29uY3VycmVudChyb290LCBsYW5lcykgOiByZW5kZXJSb290U3luYyhyb290LCBsYW5lcyk7XG5cbiAgaWYgKGV4aXRTdGF0dXMgIT09IFJvb3RJblByb2dyZXNzKSB7XG4gICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3RFcnJvcmVkKSB7XG4gICAgICAvLyBJZiBzb21ldGhpbmcgdGhyZXcgYW4gZXJyb3IsIHRyeSByZW5kZXJpbmcgb25lIG1vcmUgdGltZS4gV2UnbGxcbiAgICAgIC8vIHJlbmRlciBzeW5jaHJvbm91c2x5IHRvIGJsb2NrIGNvbmN1cnJlbnQgZGF0YSBtdXRhdGlvbnMsIGFuZCB3ZSdsbFxuICAgICAgLy8gaW5jbHVkZXMgYWxsIHBlbmRpbmcgdXBkYXRlcyBhcmUgaW5jbHVkZWQuIElmIGl0IHN0aWxsIGZhaWxzIGFmdGVyXG4gICAgICAvLyB0aGUgc2Vjb25kIGF0dGVtcHQsIHdlJ2xsIGdpdmUgdXAgYW5kIGNvbW1pdCB0aGUgcmVzdWx0aW5nIHRyZWUuXG4gICAgICB2YXIgZXJyb3JSZXRyeUxhbmVzID0gZ2V0TGFuZXNUb1JldHJ5U3luY2hyb25vdXNseU9uRXJyb3Iocm9vdCk7XG5cbiAgICAgIGlmIChlcnJvclJldHJ5TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgbGFuZXMgPSBlcnJvclJldHJ5TGFuZXM7XG4gICAgICAgIGV4aXRTdGF0dXMgPSByZWNvdmVyRnJvbUNvbmN1cnJlbnRFcnJvcihyb290LCBlcnJvclJldHJ5TGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChleGl0U3RhdHVzID09PSBSb290RmF0YWxFcnJvcmVkKSB7XG4gICAgICB2YXIgZmF0YWxFcnJvciA9IHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3I7XG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIG5vdygpKTtcbiAgICAgIHRocm93IGZhdGFsRXJyb3I7XG4gICAgfVxuXG4gICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3REaWROb3RDb21wbGV0ZSkge1xuICAgICAgLy8gVGhlIHJlbmRlciB1bndvdW5kIHdpdGhvdXQgY29tcGxldGluZyB0aGUgdHJlZS4gVGhpcyBoYXBwZW5zIGluIHNwZWNpYWxcbiAgICAgIC8vIGNhc2VzIHdoZXJlIG5lZWQgdG8gZXhpdCB0aGUgY3VycmVudCByZW5kZXIgd2l0aG91dCBwcm9kdWNpbmcgYVxuICAgICAgLy8gY29uc2lzdGVudCB0cmVlIG9yIGNvbW1pdHRpbmcuXG4gICAgICAvL1xuICAgICAgLy8gVGhpcyBzaG91bGQgb25seSBoYXBwZW4gZHVyaW5nIGEgY29uY3VycmVudCByZW5kZXIsIG5vdCBhIGRpc2NyZXRlIG9yXG4gICAgICAvLyBzeW5jaHJvbm91cyB1cGRhdGUuIFdlIHNob3VsZCBoYXZlIGFscmVhZHkgY2hlY2tlZCBmb3IgdGhpcyB3aGVuIHdlXG4gICAgICAvLyB1bndvdW5kIHRoZSBzdGFjay5cbiAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgcmVuZGVyIGNvbXBsZXRlZC5cbiAgICAgIC8vIENoZWNrIGlmIHRoaXMgcmVuZGVyIG1heSBoYXZlIHlpZWxkZWQgdG8gYSBjb25jdXJyZW50IGV2ZW50LCBhbmQgaWYgc28sXG4gICAgICAvLyBjb25maXJtIHRoYXQgYW55IG5ld2x5IHJlbmRlcmVkIHN0b3JlcyBhcmUgY29uc2lzdGVudC5cbiAgICAgIC8vIFRPRE86IEl0J3MgcG9zc2libGUgdGhhdCBldmVuIGEgY29uY3VycmVudCByZW5kZXIgbWF5IG5ldmVyIGhhdmUgeWllbGRlZFxuICAgICAgLy8gdG8gdGhlIG1haW4gdGhyZWFkLCBpZiBpdCB3YXMgZmFzdCBlbm91Z2gsIG9yIGlmIGl0IGV4cGlyZWQuIFdlIGNvdWxkXG4gICAgICAvLyBza2lwIHRoZSBjb25zaXN0ZW5jeSBjaGVjayBpbiB0aGF0IGNhc2UsIHRvby5cbiAgICAgIHZhciByZW5kZXJXYXNDb25jdXJyZW50ID0gIWluY2x1ZGVzQmxvY2tpbmdMYW5lKHJvb3QsIGxhbmVzKTtcbiAgICAgIHZhciBmaW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgICBpZiAocmVuZGVyV2FzQ29uY3VycmVudCAmJiAhaXNSZW5kZXJDb25zaXN0ZW50V2l0aEV4dGVybmFsU3RvcmVzKGZpbmlzaGVkV29yaykpIHtcbiAgICAgICAgLy8gQSBzdG9yZSB3YXMgbXV0YXRlZCBpbiBhbiBpbnRlcmxlYXZlZCBldmVudC4gUmVuZGVyIGFnYWluLFxuICAgICAgICAvLyBzeW5jaHJvbm91c2x5LCB0byBibG9jayBmdXJ0aGVyIG11dGF0aW9ucy5cbiAgICAgICAgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKTsgLy8gV2UgbmVlZCB0byBjaGVjayBhZ2FpbiBpZiBzb21ldGhpbmcgdGhyZXdcblxuICAgICAgICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgX2Vycm9yUmV0cnlMYW5lcyA9IGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QpO1xuXG4gICAgICAgICAgaWYgKF9lcnJvclJldHJ5TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgICAgIGxhbmVzID0gX2Vycm9yUmV0cnlMYW5lcztcbiAgICAgICAgICAgIGV4aXRTdGF0dXMgPSByZWNvdmVyRnJvbUNvbmN1cnJlbnRFcnJvcihyb290LCBfZXJyb3JSZXRyeUxhbmVzKTsgLy8gV2UgYXNzdW1lIHRoZSB0cmVlIGlzIG5vdyBjb25zaXN0ZW50IGJlY2F1c2Ugd2UgZGlkbid0IHlpZWxkIHRvIGFueVxuICAgICAgICAgICAgLy8gY29uY3VycmVudCBldmVudHMuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3RGYXRhbEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgX2ZhdGFsRXJyb3IgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yO1xuICAgICAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIE5vTGFuZXMpO1xuICAgICAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgICAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gICAgICAgICAgdGhyb3cgX2ZhdGFsRXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIFRoZSBuZXh0IHN0ZXAgaXMgZWl0aGVyIHRvIGNvbW1pdCBpdCxcbiAgICAgIC8vIG9yLCBpZiBzb21ldGhpbmcgc3VzcGVuZGVkLCB3YWl0IHRvIGNvbW1pdCBpdCBhZnRlciBhIHRpbWVvdXQuXG5cblxuICAgICAgcm9vdC5maW5pc2hlZFdvcmsgPSBmaW5pc2hlZFdvcms7XG4gICAgICByb290LmZpbmlzaGVkTGFuZXMgPSBsYW5lcztcbiAgICAgIGZpbmlzaENvbmN1cnJlbnRSZW5kZXIocm9vdCwgZXhpdFN0YXR1cywgbGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG5cbiAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlID09PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xuICAgIC8vIFRoZSB0YXNrIG5vZGUgc2NoZWR1bGVkIGZvciB0aGlzIHJvb3QgaXMgdGhlIHNhbWUgb25lIHRoYXQnc1xuICAgIC8vIGN1cnJlbnRseSBleGVjdXRlZC4gTmVlZCB0byByZXR1cm4gYSBjb250aW51YXRpb24uXG4gICAgcmV0dXJuIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlY292ZXJGcm9tQ29uY3VycmVudEVycm9yKHJvb3QsIGVycm9yUmV0cnlMYW5lcykge1xuICAvLyBJZiBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgaHlkcmF0aW9uLCBkaXNjYXJkIHNlcnZlciByZXNwb25zZSBhbmQgZmFsbFxuICAvLyBiYWNrIHRvIGNsaWVudCBzaWRlIHJlbmRlci5cbiAgLy8gQmVmb3JlIHJlbmRlcmluZyBhZ2Fpbiwgc2F2ZSB0aGUgZXJyb3JzIGZyb20gdGhlIHByZXZpb3VzIGF0dGVtcHQuXG4gIHZhciBlcnJvcnNGcm9tRmlyc3RBdHRlbXB0ID0gd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycztcblxuICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgIC8vIFRoZSBzaGVsbCBmYWlsZWQgdG8gaHlkcmF0ZS4gU2V0IGEgZmxhZyB0byBmb3JjZSBhIGNsaWVudCByZW5kZXJpbmdcbiAgICAvLyBkdXJpbmcgdGhlIG5leHQgYXR0ZW1wdC4gVG8gZG8gdGhpcywgd2UgY2FsbCBwcmVwYXJlRnJlc2hTdGFjayBub3dcbiAgICAvLyB0byBjcmVhdGUgdGhlIHJvb3Qgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gVGhpcyBpcyBhIGJpdCB3ZWlyZCBpbiB0ZXJtc1xuICAgIC8vIG9mIGZhY3RvcmluZywgYmVjYXVzZSBpdCByZWxpZXMgb24gcmVuZGVyUm9vdFN5bmMgbm90IGNhbGxpbmdcbiAgICAvLyBwcmVwYXJlRnJlc2hTdGFjayBhZ2FpbiBpbiB0aGUgY2FsbCBiZWxvdywgd2hpY2ggaGFwcGVucyBiZWNhdXNlIHRoZVxuICAgIC8vIHJvb3QgYW5kIGxhbmVzIGhhdmVuJ3QgY2hhbmdlZC5cbiAgICAvL1xuICAgIC8vIFRPRE86IEkgdGhpbmsgd2hhdCB3ZSBzaG91bGQgZG8gaXMgc2V0IEZvcmNlQ2xpZW50UmVuZGVyIGluc2lkZVxuICAgIC8vIHRocm93RXhjZXB0aW9uLCBsaWtlIHdlIGRvIGZvciBuZXN0ZWQgU3VzcGVuc2UgYm91bmRhcmllcy4gVGhlIHJlYXNvblxuICAgIC8vIGl0J3MgaGVyZSBpbnN0ZWFkIGlzIHNvIHdlIGNhbiBzd2l0Y2ggdG8gdGhlIHN5bmNocm9ub3VzIHdvcmsgbG9vcCwgdG9vLlxuICAgIC8vIFNvbWV0aGluZyB0byBjb25zaWRlciBmb3IgYSBmdXR1cmUgcmVmYWN0b3IuXG4gICAgdmFyIHJvb3RXb3JrSW5Qcm9ncmVzcyA9IHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGVycm9yUmV0cnlMYW5lcyk7XG4gICAgcm9vdFdvcmtJblByb2dyZXNzLmZsYWdzIHw9IEZvcmNlQ2xpZW50UmVuZGVyO1xuXG4gICAge1xuICAgICAgZXJyb3JIeWRyYXRpbmdDb250YWluZXIocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICB9XG4gIH1cblxuICB2YXIgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGVycm9yUmV0cnlMYW5lcyk7XG5cbiAgaWYgKGV4aXRTdGF0dXMgIT09IFJvb3RFcnJvcmVkKSB7XG4gICAgLy8gU3VjY2Vzc2Z1bGx5IGZpbmlzaGVkIHJlbmRlcmluZyBvbiByZXRyeVxuICAgIC8vIFRoZSBlcnJvcnMgZnJvbSB0aGUgZmFpbGVkIGZpcnN0IGF0dGVtcHQgaGF2ZSBiZWVuIHJlY292ZXJlZC4gQWRkXG4gICAgLy8gdGhlbSB0byB0aGUgY29sbGVjdGlvbiBvZiByZWNvdmVyYWJsZSBlcnJvcnMuIFdlJ2xsIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cbiAgICB2YXIgZXJyb3JzRnJvbVNlY29uZEF0dGVtcHQgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycztcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9IGVycm9yc0Zyb21GaXJzdEF0dGVtcHQ7IC8vIFRoZSBlcnJvcnMgZnJvbSB0aGUgc2Vjb25kIGF0dGVtcHQgc2hvdWxkIGJlIHF1ZXVlZCBhZnRlciB0aGUgZXJyb3JzXG4gICAgLy8gZnJvbSB0aGUgZmlyc3QgYXR0ZW1wdCwgdG8gcHJlc2VydmUgdGhlIGNhdXNhbCBzZXF1ZW5jZS5cblxuICAgIGlmIChlcnJvcnNGcm9tU2Vjb25kQXR0ZW1wdCAhPT0gbnVsbCkge1xuICAgICAgcXVldWVSZWNvdmVyYWJsZUVycm9ycyhlcnJvcnNGcm9tU2Vjb25kQXR0ZW1wdCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4aXRTdGF0dXM7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlUmVjb3ZlcmFibGVFcnJvcnMoZXJyb3JzKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9PT0gbnVsbCkge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzID0gZXJyb3JzO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLnB1c2guYXBwbHkod29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMsIGVycm9ycyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluaXNoQ29uY3VycmVudFJlbmRlcihyb290LCBleGl0U3RhdHVzLCBsYW5lcykge1xuICBzd2l0Y2ggKGV4aXRTdGF0dXMpIHtcbiAgICBjYXNlIFJvb3RJblByb2dyZXNzOlxuICAgIGNhc2UgUm9vdEZhdGFsRXJyb3JlZDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSb290IGRpZCBub3QgY29tcGxldGUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gICAgLy8gRmxvdyBrbm93cyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWlucyBpZiBJIGFkZCBhIGJyZWFrXG4gICAgLy8gc3RhdGVtZW50LCBidXQgZXNsaW50IGRvZXNuJ3Qga25vdyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWluc1xuICAgIC8vIGlmIEkgZG8uIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuXG4gICAgY2FzZSBSb290RXJyb3JlZDpcbiAgICAgIHtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgYWxyZWFkeSBhdHRlbXB0ZWQgdG8gcmV0cnkgdGhpcyB0cmVlLiBJZiB3ZSByZWFjaGVkXG4gICAgICAgIC8vIHRoaXMgcG9pbnQsIGl0IGVycm9yZWQgYWdhaW4uIENvbW1pdCBpdC5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290U3VzcGVuZGVkOlxuICAgICAge1xuICAgICAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIGxhbmVzKTsgLy8gV2UgaGF2ZSBhbiBhY2NlcHRhYmxlIGxvYWRpbmcgc3RhdGUuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiB3ZVxuICAgICAgICAvLyBzaG91bGQgaW1tZWRpYXRlbHkgY29tbWl0IGl0IG9yIHdhaXQgYSBiaXQuXG5cbiAgICAgICAgaWYgKGluY2x1ZGVzT25seVJldHJpZXMobGFuZXMpICYmIC8vIGRvIG5vdCBkZWxheSBpZiB3ZSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGVcbiAgICAgICAgIXNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpKSB7XG4gICAgICAgICAgLy8gVGhpcyByZW5kZXIgb25seSBpbmNsdWRlZCByZXRyaWVzLCBubyB1cGRhdGVzLiBUaHJvdHRsZSBjb21taXR0aW5nXG4gICAgICAgICAgLy8gcmV0cmllcyBzbyB0aGF0IHdlIGRvbid0IHNob3cgdG9vIG1hbnkgbG9hZGluZyBzdGF0ZXMgdG9vIHF1aWNrbHkuXG4gICAgICAgICAgdmFyIG1zVW50aWxUaW1lb3V0ID0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSArIEZBTExCQUNLX1RIUk9UVExFX01TIC0gbm93KCk7IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxuXG4gICAgICAgICAgaWYgKG1zVW50aWxUaW1lb3V0ID4gMTApIHtcbiAgICAgICAgICAgIHZhciBuZXh0TGFuZXMgPSBnZXROZXh0TGFuZXMocm9vdCwgTm9MYW5lcyk7XG5cbiAgICAgICAgICAgIGlmIChuZXh0TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgICAgICAgLy8gVGhlcmUncyBhZGRpdGlvbmFsIHdvcmsgb24gdGhpcyByb290LlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHN1c3BlbmRlZExhbmVzID0gcm9vdC5zdXNwZW5kZWRMYW5lcztcblxuICAgICAgICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMoc3VzcGVuZGVkTGFuZXMsIGxhbmVzKSkge1xuICAgICAgICAgICAgICAvLyBXZSBzaG91bGQgcHJlZmVyIHRvIHJlbmRlciB0aGUgZmFsbGJhY2sgb2YgYXQgdGhlIGxhc3RcbiAgICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGxldmVsLiBQaW5nIHRoZSBsYXN0IHN1c3BlbmRlZCBsZXZlbCB0byB0cnlcbiAgICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGl0IGFnYWluLlxuICAgICAgICAgICAgICAvLyBGSVhNRTogV2hhdCBpZiB0aGUgc3VzcGVuZGVkIGxhbmVzIGFyZSBJZGxlPyBTaG91bGQgbm90IHJlc3RhcnQuXG4gICAgICAgICAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICAgICAgICAgIG1hcmtSb290UGluZ2VkKHJvb3QsIHN1c3BlbmRlZExhbmVzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IC8vIFRoZSByZW5kZXIgaXMgc3VzcGVuZGVkLCBpdCBoYXNuJ3QgdGltZWQgb3V0LCBhbmQgdGhlcmUncyBub1xuICAgICAgICAgICAgLy8gbG93ZXIgcHJpb3JpdHkgd29yayB0byBkby4gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFja1xuICAgICAgICAgICAgLy8gaW1tZWRpYXRlbHksIHdhaXQgZm9yIG1vcmUgZGF0YSB0byBhcnJpdmUuXG5cblxuICAgICAgICAgICAgcm9vdC50aW1lb3V0SGFuZGxlID0gc2NoZWR1bGVUaW1lb3V0KGNvbW1pdFJvb3QuYmluZChudWxsLCByb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyksIG1zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBUaGUgd29yayBleHBpcmVkLiBDb21taXQgaW1tZWRpYXRlbHkuXG5cblxuICAgICAgICBjb21taXRSb290KHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIFJvb3RTdXNwZW5kZWRXaXRoRGVsYXk6XG4gICAgICB7XG4gICAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuXG4gICAgICAgIGlmIChpbmNsdWRlc09ubHlUcmFuc2l0aW9ucyhsYW5lcykpIHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGEgdHJhbnNpdGlvbiwgc28gd2Ugc2hvdWxkIGV4aXQgd2l0aG91dCBjb21taXR0aW5nIGFcbiAgICAgICAgICAvLyBwbGFjZWhvbGRlciBhbmQgd2l0aG91dCBzY2hlZHVsaW5nIGEgdGltZW91dC4gRGVsYXkgaW5kZWZpbml0ZWx5XG4gICAgICAgICAgLy8gdW50aWwgd2UgcmVjZWl2ZSBtb3JlIGRhdGEuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBub3QgYSB0cmFuc2l0aW9uLCBidXQgd2UgZGlkIHRyaWdnZXIgYW4gYXZvaWRlZCBzdGF0ZS5cbiAgICAgICAgICAvLyBTY2hlZHVsZSBhIHBsYWNlaG9sZGVyIHRvIGRpc3BsYXkgYWZ0ZXIgYSBzaG9ydCBkZWxheSwgdXNpbmcgdGhlIEp1c3RcbiAgICAgICAgICAvLyBOb3RpY2VhYmxlIERpZmZlcmVuY2UuXG4gICAgICAgICAgLy8gVE9ETzogSXMgdGhlIEpORCBvcHRpbWl6YXRpb24gd29ydGggdGhlIGFkZGVkIGNvbXBsZXhpdHk/IElmIHRoaXMgaXNcbiAgICAgICAgICAvLyB0aGUgb25seSByZWFzb24gd2UgdHJhY2sgdGhlIGV2ZW50IHRpbWUsIHRoZW4gcHJvYmFibHkgbm90LlxuICAgICAgICAgIC8vIENvbnNpZGVyIHJlbW92aW5nLlxuICAgICAgICAgIHZhciBtb3N0UmVjZW50RXZlbnRUaW1lID0gZ2V0TW9zdFJlY2VudEV2ZW50VGltZShyb290LCBsYW5lcyk7XG4gICAgICAgICAgdmFyIGV2ZW50VGltZU1zID0gbW9zdFJlY2VudEV2ZW50VGltZTtcbiAgICAgICAgICB2YXIgdGltZUVsYXBzZWRNcyA9IG5vdygpIC0gZXZlbnRUaW1lTXM7XG5cbiAgICAgICAgICB2YXIgX21zVW50aWxUaW1lb3V0ID0gam5kKHRpbWVFbGFwc2VkTXMpIC0gdGltZUVsYXBzZWRNczsgLy8gRG9uJ3QgYm90aGVyIHdpdGggYSB2ZXJ5IHNob3J0IHN1c3BlbnNlIHRpbWUuXG5cblxuICAgICAgICAgIGlmIChfbXNVbnRpbFRpbWVvdXQgPiAxMCkge1xuICAgICAgICAgICAgLy8gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFjayBpbW1lZGlhdGVseSwgd2FpdCBmb3IgbW9yZSBkYXRhXG4gICAgICAgICAgICAvLyB0byBhcnJpdmUuXG4gICAgICAgICAgICByb290LnRpbWVvdXRIYW5kbGUgPSBzY2hlZHVsZVRpbWVvdXQoY29tbWl0Um9vdC5iaW5kKG51bGwsIHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKSwgX21zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBDb21taXQgdGhlIHBsYWNlaG9sZGVyLlxuXG5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290Q29tcGxldGVkOlxuICAgICAge1xuICAgICAgICAvLyBUaGUgd29yayBjb21wbGV0ZWQuIFJlYWR5IHRvIGNvbW1pdC5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHJvb3QgZXhpdCBzdGF0dXMuJyk7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNSZW5kZXJDb25zaXN0ZW50V2l0aEV4dGVybmFsU3RvcmVzKGZpbmlzaGVkV29yaykge1xuICAvLyBTZWFyY2ggdGhlIHJlbmRlcmVkIHRyZWUgZm9yIGV4dGVybmFsIHN0b3JlIHJlYWRzLCBhbmQgY2hlY2sgd2hldGhlciB0aGVcbiAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZCBpbiBhIGNvbmN1cnJlbnQgZXZlbnQuIEludGVudGlvbmFsbHkgdXNpbmcgYW4gaXRlcmF0aXZlXG4gIC8vIGxvb3AgaW5zdGVhZCBvZiByZWN1cnNpb24gc28gd2UgY2FuIGV4aXQgZWFybHkuXG4gIHZhciBub2RlID0gZmluaXNoZWRXb3JrO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG5vZGUuZmxhZ3MgJiBTdG9yZUNvbnNpc3RlbmN5KSB7XG4gICAgICB2YXIgdXBkYXRlUXVldWUgPSBub2RlLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGNoZWNrcyA9IHVwZGF0ZVF1ZXVlLnN0b3JlcztcblxuICAgICAgICBpZiAoY2hlY2tzICE9PSBudWxsKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGVja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBjaGVjayA9IGNoZWNrc1tpXTtcbiAgICAgICAgICAgIHZhciBnZXRTbmFwc2hvdCA9IGNoZWNrLmdldFNuYXBzaG90O1xuICAgICAgICAgICAgdmFyIHJlbmRlcmVkVmFsdWUgPSBjaGVjay52YWx1ZTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgaWYgKCFvYmplY3RJcyhnZXRTbmFwc2hvdCgpLCByZW5kZXJlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIC8vIEZvdW5kIGFuIGluY29uc2lzdGVudCBzdG9yZS5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIC8vIElmIGBnZXRTbmFwc2hvdGAgdGhyb3dzLCByZXR1cm4gYGZhbHNlYC4gVGhpcyB3aWxsIHNjaGVkdWxlXG4gICAgICAgICAgICAgIC8vIGEgcmUtcmVuZGVyLCBhbmQgdGhlIGVycm9yIHdpbGwgYmUgcmV0aHJvd24gZHVyaW5nIHJlbmRlci5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgICBpZiAobm9kZS5zdWJ0cmVlRmxhZ3MgJiBTdG9yZUNvbnNpc3RlbmN5ICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBjaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgbm9kZSA9IGNoaWxkO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IGZpbmlzaGVkV29yaykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgfSAvLyBGbG93IGRvZXNuJ3Qga25vdyB0aGlzIGlzIHVucmVhY2hhYmxlLCBidXQgZXNsaW50IGRvZXNcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVucmVhY2hhYmxlXG5cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbWFya1Jvb3RTdXNwZW5kZWQkMShyb290LCBzdXNwZW5kZWRMYW5lcykge1xuICAvLyBXaGVuIHN1c3BlbmRpbmcsIHdlIHNob3VsZCBhbHdheXMgZXhjbHVkZSBsYW5lcyB0aGF0IHdlcmUgcGluZ2VkIG9yIChtb3JlXG4gIC8vIHJhcmVseSwgc2luY2Ugd2UgdHJ5IHRvIGF2b2lkIGl0KSB1cGRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuICAvLyBUT0RPOiBMb2wgbWF5YmUgdGhlcmUncyBhIGJldHRlciB3YXkgdG8gZmFjdG9yIHRoaXMgYmVzaWRlcyB0aGlzXG4gIC8vIG9ibm94aW91c2x5IG5hbWVkIGZ1bmN0aW9uIDopXG4gIHN1c3BlbmRlZExhbmVzID0gcmVtb3ZlTGFuZXMoc3VzcGVuZGVkTGFuZXMsIHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzKTtcbiAgc3VzcGVuZGVkTGFuZXMgPSByZW1vdmVMYW5lcyhzdXNwZW5kZWRMYW5lcywgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpO1xuICBtYXJrUm9vdFN1c3BlbmRlZChyb290LCBzdXNwZW5kZWRMYW5lcyk7XG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBzeW5jaHJvbm91cyB0YXNrcyB0aGF0IGRvbid0IGdvXG4vLyB0aHJvdWdoIFNjaGVkdWxlclxuXG5cbmZ1bmN0aW9uIHBlcmZvcm1TeW5jV29ya09uUm9vdChyb290KSB7XG4gIHtcbiAgICBzeW5jTmVzdGVkVXBkYXRlRmxhZygpO1xuICB9XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuJyk7XG4gIH1cblxuICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIHZhciBsYW5lcyA9IGdldE5leHRMYW5lcyhyb290LCBOb0xhbmVzKTtcblxuICBpZiAoIWluY2x1ZGVzU29tZUxhbmUobGFuZXMsIFN5bmNMYW5lKSkge1xuICAgIC8vIFRoZXJlJ3Mgbm8gcmVtYWluaW5nIHN5bmMgd29yayBsZWZ0LlxuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKTtcblxuICBpZiAocm9vdC50YWcgIT09IExlZ2FjeVJvb3QgJiYgZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAvLyBJZiBzb21ldGhpbmcgdGhyZXcgYW4gZXJyb3IsIHRyeSByZW5kZXJpbmcgb25lIG1vcmUgdGltZS4gV2UnbGwgcmVuZGVyXG4gICAgLy8gc3luY2hyb25vdXNseSB0byBibG9jayBjb25jdXJyZW50IGRhdGEgbXV0YXRpb25zLCBhbmQgd2UnbGwgaW5jbHVkZXNcbiAgICAvLyBhbGwgcGVuZGluZyB1cGRhdGVzIGFyZSBpbmNsdWRlZC4gSWYgaXQgc3RpbGwgZmFpbHMgYWZ0ZXIgdGhlIHNlY29uZFxuICAgIC8vIGF0dGVtcHQsIHdlJ2xsIGdpdmUgdXAgYW5kIGNvbW1pdCB0aGUgcmVzdWx0aW5nIHRyZWUuXG4gICAgdmFyIGVycm9yUmV0cnlMYW5lcyA9IGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QpO1xuXG4gICAgaWYgKGVycm9yUmV0cnlMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbGFuZXMgPSBlcnJvclJldHJ5TGFuZXM7XG4gICAgICBleGl0U3RhdHVzID0gcmVjb3ZlckZyb21Db25jdXJyZW50RXJyb3Iocm9vdCwgZXJyb3JSZXRyeUxhbmVzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdEZhdGFsRXJyb3JlZCkge1xuICAgIHZhciBmYXRhbEVycm9yID0gd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvcjtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIGxhbmVzKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuICAgIHRocm93IGZhdGFsRXJyb3I7XG4gIH1cblxuICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdERpZE5vdENvbXBsZXRlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdSb290IGRpZCBub3QgY29tcGxldGUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIEJlY2F1c2UgdGhpcyBpcyBhIHN5bmMgcmVuZGVyLCB3ZVxuICAvLyB3aWxsIGNvbW1pdCBpdCBldmVuIGlmIHNvbWV0aGluZyBzdXNwZW5kZWQuXG5cblxuICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5jdXJyZW50LmFsdGVybmF0ZTtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBmaW5pc2hlZFdvcms7XG4gIHJvb3QuZmluaXNoZWRMYW5lcyA9IGxhbmVzO1xuICBjb21taXRSb290KHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKTsgLy8gQmVmb3JlIGV4aXRpbmcsIG1ha2Ugc3VyZSB0aGVyZSdzIGEgY2FsbGJhY2sgc2NoZWR1bGVkIGZvciB0aGUgbmV4dFxuICAvLyBwZW5kaW5nIGxldmVsLlxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmbHVzaFJvb3Qocm9vdCwgbGFuZXMpIHtcbiAgaWYgKGxhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgbWFya1Jvb3RFbnRhbmdsZWQocm9vdCwgbWVyZ2VMYW5lcyhsYW5lcywgU3luY0xhbmUpKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuXG4gICAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgPT09IE5vQ29udGV4dCkge1xuICAgICAgcmVzZXRSZW5kZXJUaW1lcigpO1xuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBiYXRjaGVkVXBkYXRlcyQxKGZuLCBhKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gQmF0Y2hlZENvbnRleHQ7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oYSk7XG4gIH0gZmluYWxseSB7XG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0OyAvLyBJZiB0aGVyZSB3ZXJlIGxlZ2FjeSBzeW5jIHVwZGF0ZXMsIGZsdXNoIHRoZW0gYXQgdGhlIGVuZCBvZiB0aGUgb3V0ZXJcbiAgICAvLyBtb3N0IGJhdGNoZWRVcGRhdGVzLWxpa2UgbWV0aG9kLlxuXG4gICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCAmJiAvLyBUcmVhdCBgYWN0YCBhcyBpZiBpdCdzIGluc2lkZSBgYmF0Y2hlZFVwZGF0ZXNgLCBldmVuIGluIGxlZ2FjeSBtb2RlLlxuICAgICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSkpIHtcbiAgICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrc09ubHlJbkxlZ2FjeU1vZGUoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpc2NyZXRlVXBkYXRlcyhmbiwgYSwgYiwgYywgZCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG5cbiAgdHJ5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBudWxsO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIHJldHVybiBmbihhLCBiLCBjLCBkKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG5cbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XG4gICAgICByZXNldFJlbmRlclRpbWVyKCk7XG4gICAgfVxuICB9XG59IC8vIE92ZXJsb2FkIHRoZSBkZWZpbml0aW9uIHRvIHRoZSB0d28gdmFsaWQgc2lnbmF0dXJlcy5cbi8vIFdhcm5pbmcsIHRoaXMgb3B0cy1vdXQgb2YgY2hlY2tpbmcgdGhlIGZ1bmN0aW9uIGJvZHkuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmZ1bmN0aW9uIGZsdXNoU3luYyhmbikge1xuICAvLyBJbiBsZWdhY3kgbW9kZSwgd2UgZmx1c2ggcGVuZGluZyBwYXNzaXZlIGVmZmVjdHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiAgLy8gbmV4dCBldmVudCwgbm90IGF0IHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIG9uZS5cbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzICE9PSBudWxsICYmIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLnRhZyA9PT0gTGVnYWN5Um9vdCAmJiAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIH1cblxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICBleGVjdXRpb25Db250ZXh0IHw9IEJhdGNoZWRDb250ZXh0O1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG4gIHZhciBwcmV2aW91c1ByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgdHJ5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBudWxsO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuXG4gICAgaWYgKGZuKSB7XG4gICAgICByZXR1cm4gZm4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuICAgIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDsgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaC5cbiAgICAvLyBOb3RlIHRoYXQgdGhpcyB3aWxsIGhhcHBlbiBldmVuIGlmIGJhdGNoZWRVcGRhdGVzIGlzIGhpZ2hlciB1cFxuICAgIC8vIHRoZSBzdGFjay5cblxuICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrcygpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gaXNBbHJlYWR5UmVuZGVyaW5nKCkge1xuICAvLyBVc2VkIGJ5IHRoZSByZW5kZXJlciB0byBwcmludCBhIHdhcm5pbmcgaWYgY2VydGFpbiBBUElzIGFyZSBjYWxsZWQgZnJvbVxuICAvLyB0aGUgd3JvbmcgY29udGV4dC5cbiAgcmV0dXJuICAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQ7XG59XG5mdW5jdGlvbiBwdXNoUmVuZGVyTGFuZXMoZmliZXIsIGxhbmVzKSB7XG4gIHB1c2goc3VidHJlZVJlbmRlckxhbmVzQ3Vyc29yLCBzdWJ0cmVlUmVuZGVyTGFuZXMsIGZpYmVyKTtcbiAgc3VidHJlZVJlbmRlckxhbmVzID0gbWVyZ2VMYW5lcyhzdWJ0cmVlUmVuZGVyTGFuZXMsIGxhbmVzKTtcbiAgd29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcywgbGFuZXMpO1xufVxuZnVuY3Rpb24gcG9wUmVuZGVyTGFuZXMoZmliZXIpIHtcbiAgc3VidHJlZVJlbmRlckxhbmVzID0gc3VidHJlZVJlbmRlckxhbmVzQ3Vyc29yLmN1cnJlbnQ7XG4gIHBvcChzdWJ0cmVlUmVuZGVyTGFuZXNDdXJzb3IsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgbGFuZXMpIHtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBudWxsO1xuICByb290LmZpbmlzaGVkTGFuZXMgPSBOb0xhbmVzO1xuICB2YXIgdGltZW91dEhhbmRsZSA9IHJvb3QudGltZW91dEhhbmRsZTtcblxuICBpZiAodGltZW91dEhhbmRsZSAhPT0gbm9UaW1lb3V0KSB7XG4gICAgLy8gVGhlIHJvb3QgcHJldmlvdXMgc3VzcGVuZGVkIGFuZCBzY2hlZHVsZWQgYSB0aW1lb3V0IHRvIGNvbW1pdCBhIGZhbGxiYWNrXG4gICAgLy8gc3RhdGUuIE5vdyB0aGF0IHdlIGhhdmUgYWRkaXRpb25hbCB3b3JrLCBjYW5jZWwgdGhlIHRpbWVvdXQuXG4gICAgcm9vdC50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0OyAvLyAkRmxvd0ZpeE1lIENvbXBsYWlucyBub1RpbWVvdXQgaXMgbm90IGEgVGltZW91dElELCBkZXNwaXRlIHRoZSBjaGVjayBhYm92ZVxuXG4gICAgY2FuY2VsVGltZW91dCh0aW1lb3V0SGFuZGxlKTtcbiAgfVxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgIHZhciBpbnRlcnJ1cHRlZFdvcmsgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG5cbiAgICB3aGlsZSAoaW50ZXJydXB0ZWRXb3JrICE9PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGludGVycnVwdGVkV29yay5hbHRlcm5hdGU7XG4gICAgICB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoY3VycmVudCwgaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGludGVycnVwdGVkV29yayA9IGludGVycnVwdGVkV29yay5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgdmFyIHJvb3RXb3JrSW5Qcm9ncmVzcyA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKHJvb3QuY3VycmVudCwgbnVsbCk7XG4gIHdvcmtJblByb2dyZXNzID0gcm9vdFdvcmtJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IHN1YnRyZWVSZW5kZXJMYW5lcyA9IHdvcmtJblByb2dyZXNzUm9vdEluY2x1ZGVkTGFuZXMgPSBsYW5lcztcbiAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290U2tpcHBlZExhbmVzID0gTm9MYW5lcztcbiAgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBOb0xhbmVzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RQaW5nZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9IG51bGw7XG4gIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKTtcblxuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZGlzY2FyZFBlbmRpbmdXYXJuaW5ncygpO1xuICB9XG5cbiAgcmV0dXJuIHJvb3RXb3JrSW5Qcm9ncmVzcztcbn1cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpIHtcbiAgZG8ge1xuICAgIHZhciBlcnJvcmVkV29yayA9IHdvcmtJblByb2dyZXNzO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFJlc2V0IG1vZHVsZS1sZXZlbCBzdGF0ZSB0aGF0IHdhcyBzZXQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7XG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpOyAvLyBUT0RPOiBJIGZvdW5kIGFuZCBhZGRlZCB0aGlzIG1pc3NpbmcgbGluZSB3aGlsZSBpbnZlc3RpZ2F0aW5nIGFcbiAgICAgIC8vIHNlcGFyYXRlIGlzc3VlLiBXcml0ZSBhIHJlZ3Jlc3Npb24gdGVzdCB1c2luZyBzdHJpbmcgcmVmcy5cblxuICAgICAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDtcblxuICAgICAgaWYgKGVycm9yZWRXb3JrID09PSBudWxsIHx8IGVycm9yZWRXb3JrLnJldHVybiA9PT0gbnVsbCkge1xuICAgICAgICAvLyBFeHBlY3RlZCB0byBiZSB3b3JraW5nIG9uIGEgbm9uLXJvb3QgZmliZXIuIFRoaXMgaXMgYSBmYXRhbCBlcnJvclxuICAgICAgICAvLyBiZWNhdXNlIHRoZXJlJ3Mgbm8gYW5jZXN0b3IgdGhhdCBjYW4gaGFuZGxlIGl0OyB0aGUgcm9vdCBpc1xuICAgICAgICAvLyBzdXBwb3NlZCB0byBjYXB0dXJlIGFsbCBlcnJvcnMgdGhhdCB3ZXJlbid0IGNhdWdodCBieSBhbiBlcnJvclxuICAgICAgICAvLyBib3VuZGFyeS5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RGYXRhbEVycm9yZWQ7XG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSB0aHJvd25WYWx1ZTsgLy8gU2V0IGB3b3JrSW5Qcm9ncmVzc2AgdG8gbnVsbC4gVGhpcyByZXByZXNlbnRzIGFkdmFuY2luZyB0byB0aGUgbmV4dFxuICAgICAgICAvLyBzaWJsaW5nLCBvciB0aGUgcGFyZW50IGlmIHRoZXJlIGFyZSBubyBzaWJsaW5ncy4gQnV0IHNpbmNlIHRoZSByb290XG4gICAgICAgIC8vIGhhcyBubyBzaWJsaW5ncyBub3IgYSBwYXJlbnQsIHdlIHNldCBpdCB0byBudWxsLiBVc3VhbGx5IHRoaXMgaXNcbiAgICAgICAgLy8gaGFuZGxlZCBieSBgY29tcGxldGVVbml0T2ZXb3JrYCBvciBgdW53aW5kV29ya2AsIGJ1dCBzaW5jZSB3ZSdyZVxuICAgICAgICAvLyBpbnRlbnRpb25hbGx5IG5vdCBjYWxsaW5nIHRob3NlLCB3ZSBuZWVkIHNldCBpdCBoZXJlLlxuICAgICAgICAvLyBUT0RPOiBDb25zaWRlciBjYWxsaW5nIGB1bndpbmRXb3JrYCB0byBwb3AgdGhlIGNvbnRleHRzLlxuXG4gICAgICAgIHdvcmtJblByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lciAmJiBlcnJvcmVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgLy8gUmVjb3JkIHRoZSB0aW1lIHNwZW50IHJlbmRlcmluZyBiZWZvcmUgYW4gZXJyb3Igd2FzIHRocm93bi4gVGhpc1xuICAgICAgICAvLyBhdm9pZHMgaW5hY2N1cmF0ZSBQcm9maWxlciBkdXJhdGlvbnMgaW4gdGhlIGNhc2Ugb2YgYVxuICAgICAgICAvLyBzdXNwZW5kZWQgcmVuZGVyLlxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGVycm9yZWRXb3JrLCB0cnVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVuYWJsZVNjaGVkdWxpbmdQcm9maWxlcikge1xuICAgICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuXG4gICAgICAgIGlmICh0aHJvd25WYWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdGhyb3duVmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB0aHJvd25WYWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdmFyIHdha2VhYmxlID0gdGhyb3duVmFsdWU7XG4gICAgICAgICAgbWFya0NvbXBvbmVudFN1c3BlbmRlZChlcnJvcmVkV29yaywgd2FrZWFibGUsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXJrQ29tcG9uZW50RXJyb3JlZChlcnJvcmVkV29yaywgdGhyb3duVmFsdWUsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aHJvd0V4Y2VwdGlvbihyb290LCBlcnJvcmVkV29yay5yZXR1cm4sIGVycm9yZWRXb3JrLCB0aHJvd25WYWx1ZSwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpO1xuICAgICAgY29tcGxldGVVbml0T2ZXb3JrKGVycm9yZWRXb3JrKTtcbiAgICB9IGNhdGNoICh5ZXRBbm90aGVyVGhyb3duVmFsdWUpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgcmV0dXJuIHBhdGggYWxzbyB0aHJldy5cbiAgICAgIHRocm93blZhbHVlID0geWV0QW5vdGhlclRocm93blZhbHVlO1xuXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3MgPT09IGVycm9yZWRXb3JrICYmIGVycm9yZWRXb3JrICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIHRoaXMgYm91bmRhcnkgaGFzIGFscmVhZHkgZXJyb3JlZCwgdGhlbiB3ZSBoYWQgdHJvdWJsZSBwcm9jZXNzaW5nXG4gICAgICAgIC8vIHRoZSBlcnJvci4gQnViYmxlIGl0IHRvIHRoZSBuZXh0IGJvdW5kYXJ5LlxuICAgICAgICBlcnJvcmVkV29yayA9IGVycm9yZWRXb3JrLnJldHVybjtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MgPSBlcnJvcmVkV29yaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yZWRXb3JrID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgICB9XG5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH0gLy8gUmV0dXJuIHRvIHRoZSBub3JtYWwgd29yayBsb29wLlxuXG5cbiAgICByZXR1cm47XG4gIH0gd2hpbGUgKHRydWUpO1xufVxuXG5mdW5jdGlvbiBwdXNoRGlzcGF0Y2hlcigpIHtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQyLmN1cnJlbnQ7XG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMi5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyO1xuXG4gIGlmIChwcmV2RGlzcGF0Y2hlciA9PT0gbnVsbCkge1xuICAgIC8vIFRoZSBSZWFjdCBpc29tb3JwaGljIHBhY2thZ2UgZG9lcyBub3QgaW5jbHVkZSBhIGRlZmF1bHQgZGlzcGF0Y2hlci5cbiAgICAvLyBJbnN0ZWFkIHRoZSBmaXJzdCByZW5kZXJlciB3aWxsIGxhemlseSBhdHRhY2ggb25lLCBpbiBvcmRlciB0byBnaXZlXG4gICAgLy8gbmljZXIgZXJyb3IgbWVzc2FnZXMuXG4gICAgcmV0dXJuIENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcHJldkRpc3BhdGNoZXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcikge1xuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xufVxuXG5mdW5jdGlvbiBtYXJrQ29tbWl0VGltZU9mRmFsbGJhY2soKSB7XG4gIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUgPSBub3coKTtcbn1cbmZ1bmN0aW9uIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMobGFuZSkge1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RTa2lwcGVkTGFuZXMgPSBtZXJnZUxhbmVzKGxhbmUsIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyk7XG59XG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kKCkge1xuICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEluUHJvZ3Jlc3MpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdFN1c3BlbmRlZDtcbiAgfVxufVxuZnVuY3Rpb24gcmVuZGVyRGlkU3VzcGVuZERlbGF5SWZQb3NzaWJsZSgpIHtcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJblByb2dyZXNzIHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQgfHwgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdFN1c3BlbmRlZFdpdGhEZWxheTtcbiAgfSAvLyBDaGVjayBpZiB0aGVyZSBhcmUgdXBkYXRlcyB0aGF0IHdlIHNraXBwZWQgdHJlZSB0aGF0IG1pZ2h0IGhhdmUgdW5ibG9ja2VkXG4gIC8vIHRoaXMgcmVuZGVyLlxuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCAmJiAoaW5jbHVkZXNOb25JZGxlV29yayh3b3JrSW5Qcm9ncmVzc1Jvb3RTa2lwcGVkTGFuZXMpIHx8IGluY2x1ZGVzTm9uSWRsZVdvcmsod29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpKSkge1xuICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgcmVuZGVyIGFzIHN1c3BlbmRlZCBzbyB0aGF0IHdlIHN3aXRjaCB0byB3b3JraW5nIG9uXG4gICAgLy8gdGhlIHVwZGF0ZXMgdGhhdCB3ZXJlIHNraXBwZWQuIFVzdWFsbHkgd2Ugb25seSBzdXNwZW5kIGF0IHRoZSBlbmQgb2ZcbiAgICAvLyB0aGUgcmVuZGVyIHBoYXNlLlxuICAgIC8vIFRPRE86IFdlIHNob3VsZCBwcm9iYWJseSBhbHdheXMgbWFyayB0aGUgcm9vdCBhcyBzdXNwZW5kZWQgaW1tZWRpYXRlbHlcbiAgICAvLyAoaW5zaWRlIHRoaXMgZnVuY3Rpb24pLCBzaW5jZSBieSBzdXNwZW5kaW5nIGF0IHRoZSBlbmQgb2YgdGhlIHJlbmRlclxuICAgIC8vIHBoYXNlIGludHJvZHVjZXMgYSBwb3RlbnRpYWwgbWlzdGFrZSB3aGVyZSB3ZSBzdXNwZW5kIGxhbmVzIHRoYXQgd2VyZVxuICAgIC8vIHBpbmdlZCBvciB1cGRhdGVkIHdoaWxlIHdlIHdlcmUgcmVuZGVyaW5nLlxuICAgIG1hcmtSb290U3VzcGVuZGVkJDEod29ya0luUHJvZ3Jlc3NSb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlbmRlckRpZEVycm9yKGVycm9yKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzICE9PSBSb290U3VzcGVuZGVkV2l0aERlbGF5KSB7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RFcnJvcmVkO1xuICB9XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RDb25jdXJyZW50RXJyb3JzID0gW2Vycm9yXTtcbiAgfSBlbHNlIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RDb25jdXJyZW50RXJyb3JzLnB1c2goZXJyb3IpO1xuICB9XG59IC8vIENhbGxlZCBkdXJpbmcgcmVuZGVyIHRvIGRldGVybWluZSBpZiBhbnl0aGluZyBoYXMgc3VzcGVuZGVkLlxuLy8gUmV0dXJucyBmYWxzZSBpZiB3ZSdyZSBub3Qgc3VyZS5cblxuZnVuY3Rpb24gcmVuZGVySGFzTm90U3VzcGVuZGVkWWV0KCkge1xuICAvLyBJZiBzb21ldGhpbmcgZXJyb3JlZCBvciBjb21wbGV0ZWQsIHdlIGNhbid0IHJlYWxseSBiZSBzdXJlLFxuICAvLyBzbyB0aG9zZSBhcmUgZmFsc2UuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5Qcm9ncmVzcztcbn1cblxuZnVuY3Rpb24gcmVuZGVyUm9vdFN5bmMocm9vdCwgbGFuZXMpIHtcbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBSZW5kZXJDb250ZXh0O1xuICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpOyAvLyBJZiB0aGUgcm9vdCBvciBsYW5lcyBoYXZlIGNoYW5nZWQsIHRocm93IG91dCB0aGUgZXhpc3Rpbmcgc3RhY2tcbiAgLy8gYW5kIHByZXBhcmUgYSBmcmVzaCBvbmUuIE90aGVyd2lzZSB3ZSdsbCBjb250aW51ZSB3aGVyZSB3ZSBsZWZ0IG9mZi5cblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ICE9PSByb290IHx8IHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzICE9PSBsYW5lcykge1xuICAgIHtcbiAgICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgICB2YXIgbWVtb2l6ZWRVcGRhdGVycyA9IHJvb3QubWVtb2l6ZWRVcGRhdGVycztcblxuICAgICAgICBpZiAobWVtb2l6ZWRVcGRhdGVycy5zaXplID4gMCkge1xuICAgICAgICAgIHJlc3RvcmVQZW5kaW5nVXBkYXRlcnMocm9vdCwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpO1xuICAgICAgICAgIG1lbW9pemVkVXBkYXRlcnMuY2xlYXIoKTtcbiAgICAgICAgfSAvLyBBdCB0aGlzIHBvaW50LCBtb3ZlIEZpYmVycyB0aGF0IHNjaGVkdWxlZCB0aGUgdXBjb21pbmcgd29yayBmcm9tIHRoZSBNYXAgdG8gdGhlIFNldC5cbiAgICAgICAgLy8gSWYgd2UgYmFpbG91dCBvbiB0aGlzIHdvcmssIHdlJ2xsIG1vdmUgdGhlbSBiYWNrIChsaWtlIGFib3ZlKS5cbiAgICAgICAgLy8gSXQncyBpbXBvcnRhbnQgdG8gbW92ZSB0aGVtIG5vdyBpbiBjYXNlIHRoZSB3b3JrIHNwYXducyBtb3JlIHdvcmsgYXQgdGhlIHNhbWUgcHJpb3JpdHkgd2l0aCBkaWZmZXJlbnQgdXBkYXRlcnMuXG4gICAgICAgIC8vIFRoYXQgd2F5IHdlIGNhbiBrZWVwIHRoZSBjdXJyZW50IHVwZGF0ZSBhbmQgZnV0dXJlIHVwZGF0ZXMgc2VwYXJhdGUuXG5cblxuICAgICAgICBtb3ZlUGVuZGluZ0ZpYmVyc1RvTWVtb2l6ZWQocm9vdCwgbGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHdvcmtJblByb2dyZXNzVHJhbnNpdGlvbnMgPSBnZXRUcmFuc2l0aW9uc0ZvckxhbmVzKCk7XG4gICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgbGFuZXMpO1xuICB9XG5cbiAge1xuICAgIG1hcmtSZW5kZXJTdGFydGVkKGxhbmVzKTtcbiAgfVxuXG4gIGRvIHtcbiAgICB0cnkge1xuICAgICAgd29ya0xvb3BTeW5jKCk7XG4gICAgICBicmVhaztcbiAgICB9IGNhdGNoICh0aHJvd25WYWx1ZSkge1xuICAgICAgaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpO1xuICAgIH1cbiAgfSB3aGlsZSAodHJ1ZSk7XG5cbiAgcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCk7XG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyBhIHN5bmMgcmVuZGVyLCBzbyB3ZSBzaG91bGQgaGF2ZSBmaW5pc2hlZCB0aGUgd2hvbGUgdHJlZS5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb21taXQgYW4gaW5jb21wbGV0ZSByb290LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSAnICsgJ2J1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0b3BwZWQoKTtcbiAgfSAvLyBTZXQgdGhpcyB0byBudWxsIHRvIGluZGljYXRlIHRoZXJlJ3Mgbm8gaW4tcHJvZ3Jlc3MgcmVuZGVyLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cztcbn0gLy8gVGhlIHdvcmsgbG9vcCBpcyBhbiBleHRyZW1lbHkgaG90IHBhdGguIFRlbGwgQ2xvc3VyZSBub3QgdG8gaW5saW5lIGl0LlxuXG4vKiogQG5vaW5saW5lICovXG5cblxuZnVuY3Rpb24gd29ya0xvb3BTeW5jKCkge1xuICAvLyBBbHJlYWR5IHRpbWVkIG91dCwgc28gcGVyZm9ybSB3b3JrIHdpdGhvdXQgY2hlY2tpbmcgaWYgd2UgbmVlZCB0byB5aWVsZC5cbiAgd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgcGVyZm9ybVVuaXRPZldvcmsod29ya0luUHJvZ3Jlc3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlclJvb3RDb25jdXJyZW50KHJvb3QsIGxhbmVzKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gUmVuZGVyQ29udGV4dDtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gcHVzaERpc3BhdGNoZXIoKTsgLy8gSWYgdGhlIHJvb3Qgb3IgbGFuZXMgaGF2ZSBjaGFuZ2VkLCB0aHJvdyBvdXQgdGhlIGV4aXN0aW5nIHN0YWNrXG4gIC8vIGFuZCBwcmVwYXJlIGEgZnJlc2ggb25lLiBPdGhlcndpc2Ugd2UnbGwgY29udGludWUgd2hlcmUgd2UgbGVmdCBvZmYuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gcm9vdCB8fCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyAhPT0gbGFuZXMpIHtcbiAgICB7XG4gICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgdmFyIG1lbW9pemVkVXBkYXRlcnMgPSByb290Lm1lbW9pemVkVXBkYXRlcnM7XG5cbiAgICAgICAgaWYgKG1lbW9pemVkVXBkYXRlcnMuc2l6ZSA+IDApIHtcbiAgICAgICAgICByZXN0b3JlUGVuZGluZ1VwZGF0ZXJzKHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmNsZWFyKCk7XG4gICAgICAgIH0gLy8gQXQgdGhpcyBwb2ludCwgbW92ZSBGaWJlcnMgdGhhdCBzY2hlZHVsZWQgdGhlIHVwY29taW5nIHdvcmsgZnJvbSB0aGUgTWFwIHRvIHRoZSBTZXQuXG4gICAgICAgIC8vIElmIHdlIGJhaWxvdXQgb24gdGhpcyB3b3JrLCB3ZSdsbCBtb3ZlIHRoZW0gYmFjayAobGlrZSBhYm92ZSkuXG4gICAgICAgIC8vIEl0J3MgaW1wb3J0YW50IHRvIG1vdmUgdGhlbSBub3cgaW4gY2FzZSB0aGUgd29yayBzcGF3bnMgbW9yZSB3b3JrIGF0IHRoZSBzYW1lIHByaW9yaXR5IHdpdGggZGlmZmVyZW50IHVwZGF0ZXJzLlxuICAgICAgICAvLyBUaGF0IHdheSB3ZSBjYW4ga2VlcCB0aGUgY3VycmVudCB1cGRhdGUgYW5kIGZ1dHVyZSB1cGRhdGVzIHNlcGFyYXRlLlxuXG5cbiAgICAgICAgbW92ZVBlbmRpbmdGaWJlcnNUb01lbW9pemVkKHJvb3QsIGxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zID0gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcygpO1xuICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBsYW5lcyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgZG8ge1xuICAgIHRyeSB7XG4gICAgICB3b3JrTG9vcENvbmN1cnJlbnQoKTtcbiAgICAgIGJyZWFrO1xuICAgIH0gY2F0Y2ggKHRocm93blZhbHVlKSB7XG4gICAgICBoYW5kbGVFcnJvcihyb290LCB0aHJvd25WYWx1ZSk7XG4gICAgfVxuICB9IHdoaWxlICh0cnVlKTtcblxuICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcblxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgIC8vIFN0aWxsIHdvcmsgcmVtYWluaW5nLlxuICAgIHtcbiAgICAgIG1hcmtSZW5kZXJZaWVsZGVkKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJvb3RJblByb2dyZXNzO1xuICB9IGVsc2Uge1xuICAgIC8vIENvbXBsZXRlZCB0aGUgdHJlZS5cbiAgICB7XG4gICAgICBtYXJrUmVuZGVyU3RvcHBlZCgpO1xuICAgIH0gLy8gU2V0IHRoaXMgdG8gbnVsbCB0byBpbmRpY2F0ZSB0aGVyZSdzIG5vIGluLXByb2dyZXNzIHJlbmRlci5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIFJldHVybiB0aGUgZmluYWwgZXhpdCBzdGF0dXMuXG5cbiAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cztcbiAgfVxufVxuLyoqIEBub2lubGluZSAqL1xuXG5cbmZ1bmN0aW9uIHdvcmtMb29wQ29uY3VycmVudCgpIHtcbiAgLy8gUGVyZm9ybSB3b3JrIHVudGlsIFNjaGVkdWxlciBhc2tzIHVzIHRvIHlpZWxkXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCAmJiAhc2hvdWxkWWllbGQoKSkge1xuICAgIHBlcmZvcm1Vbml0T2ZXb3JrKHdvcmtJblByb2dyZXNzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwZXJmb3JtVW5pdE9mV29yayh1bml0T2ZXb3JrKSB7XG4gIC8vIFRoZSBjdXJyZW50LCBmbHVzaGVkLCBzdGF0ZSBvZiB0aGlzIGZpYmVyIGlzIHRoZSBhbHRlcm5hdGUuIElkZWFsbHlcbiAgLy8gbm90aGluZyBzaG91bGQgcmVseSBvbiB0aGlzLCBidXQgcmVseWluZyBvbiBpdCBoZXJlIG1lYW5zIHRoYXQgd2UgZG9uJ3RcbiAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICB2YXIgY3VycmVudCA9IHVuaXRPZldvcmsuYWx0ZXJuYXRlO1xuICBzZXRDdXJyZW50RmliZXIodW5pdE9mV29yayk7XG4gIHZhciBuZXh0O1xuXG4gIGlmICggKHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgIG5leHQgPSBiZWdpbldvcmskMShjdXJyZW50LCB1bml0T2ZXb3JrLCBzdWJ0cmVlUmVuZGVyTGFuZXMpO1xuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEodW5pdE9mV29yaywgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dCA9IGJlZ2luV29yayQxKGN1cnJlbnQsIHVuaXRPZldvcmssIHN1YnRyZWVSZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXNldEN1cnJlbnRGaWJlcigpO1xuICB1bml0T2ZXb3JrLm1lbW9pemVkUHJvcHMgPSB1bml0T2ZXb3JrLnBlbmRpbmdQcm9wcztcblxuICBpZiAobmV4dCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgZG9lc24ndCBzcGF3biBuZXcgd29yaywgY29tcGxldGUgdGhlIGN1cnJlbnQgd29yay5cbiAgICBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gIH0gZWxzZSB7XG4gICAgd29ya0luUHJvZ3Jlc3MgPSBuZXh0O1xuICB9XG5cbiAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gY29tcGxldGVVbml0T2ZXb3JrKHVuaXRPZldvcmspIHtcbiAgLy8gQXR0ZW1wdCB0byBjb21wbGV0ZSB0aGUgY3VycmVudCB1bml0IG9mIHdvcmssIHRoZW4gbW92ZSB0byB0aGUgbmV4dFxuICAvLyBzaWJsaW5nLiBJZiB0aGVyZSBhcmUgbm8gbW9yZSBzaWJsaW5ncywgcmV0dXJuIHRvIHRoZSBwYXJlbnQgZmliZXIuXG4gIHZhciBjb21wbGV0ZWRXb3JrID0gdW5pdE9mV29yaztcblxuICBkbyB7XG4gICAgLy8gVGhlIGN1cnJlbnQsIGZsdXNoZWQsIHN0YXRlIG9mIHRoaXMgZmliZXIgaXMgdGhlIGFsdGVybmF0ZS4gSWRlYWxseVxuICAgIC8vIG5vdGhpbmcgc2hvdWxkIHJlbHkgb24gdGhpcywgYnV0IHJlbHlpbmcgb24gaXQgaGVyZSBtZWFucyB0aGF0IHdlIGRvbid0XG4gICAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICAgIHZhciBjdXJyZW50ID0gY29tcGxldGVkV29yay5hbHRlcm5hdGU7XG4gICAgdmFyIHJldHVybkZpYmVyID0gY29tcGxldGVkV29yay5yZXR1cm47IC8vIENoZWNrIGlmIHRoZSB3b3JrIGNvbXBsZXRlZCBvciBpZiBzb21ldGhpbmcgdGhyZXcuXG5cbiAgICBpZiAoKGNvbXBsZXRlZFdvcmsuZmxhZ3MgJiBJbmNvbXBsZXRlKSA9PT0gTm9GbGFncykge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNvbXBsZXRlZFdvcmspO1xuICAgICAgdmFyIG5leHQgPSB2b2lkIDA7XG5cbiAgICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICAgIG5leHQgPSBjb21wbGV0ZVdvcmsoY3VycmVudCwgY29tcGxldGVkV29yaywgc3VidHJlZVJlbmRlckxhbmVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0UHJvZmlsZXJUaW1lcihjb21wbGV0ZWRXb3JrKTtcbiAgICAgICAgbmV4dCA9IGNvbXBsZXRlV29yayhjdXJyZW50LCBjb21wbGV0ZWRXb3JrLCBzdWJ0cmVlUmVuZGVyTGFuZXMpOyAvLyBVcGRhdGUgcmVuZGVyIGR1cmF0aW9uIGFzc3VtaW5nIHdlIGRpZG4ndCBlcnJvci5cblxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGNvbXBsZXRlZFdvcmssIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgcmVzZXRDdXJyZW50RmliZXIoKTtcblxuICAgICAgaWYgKG5leHQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gQ29tcGxldGluZyB0aGlzIGZpYmVyIHNwYXduZWQgbmV3IHdvcmsuIFdvcmsgb24gdGhhdCBuZXh0LlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IG5leHQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBmaWJlciBkaWQgbm90IGNvbXBsZXRlIGJlY2F1c2Ugc29tZXRoaW5nIHRocmV3LiBQb3AgdmFsdWVzIG9mZlxuICAgICAgLy8gdGhlIHN0YWNrIHdpdGhvdXQgZW50ZXJpbmcgdGhlIGNvbXBsZXRlIHBoYXNlLiBJZiB0aGlzIGlzIGEgYm91bmRhcnksXG4gICAgICAvLyBjYXB0dXJlIHZhbHVlcyBpZiBwb3NzaWJsZS5cbiAgICAgIHZhciBfbmV4dCA9IHVud2luZFdvcmsoY3VycmVudCwgY29tcGxldGVkV29yayk7IC8vIEJlY2F1c2UgdGhpcyBmaWJlciBkaWQgbm90IGNvbXBsZXRlLCBkb24ndCByZXNldCBpdHMgbGFuZXMuXG5cblxuICAgICAgaWYgKF9uZXh0ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIGNvbXBsZXRpbmcgdGhpcyB3b3JrIHNwYXduZWQgbmV3IHdvcmssIGRvIHRoYXQgbmV4dC4gV2UnbGwgY29tZVxuICAgICAgICAvLyBiYWNrIGhlcmUgYWdhaW4uXG4gICAgICAgIC8vIFNpbmNlIHdlJ3JlIHJlc3RhcnRpbmcsIHJlbW92ZSBhbnl0aGluZyB0aGF0IGlzIG5vdCBhIGhvc3QgZWZmZWN0XG4gICAgICAgIC8vIGZyb20gdGhlIGVmZmVjdCB0YWcuXG4gICAgICAgIF9uZXh0LmZsYWdzICY9IEhvc3RFZmZlY3RNYXNrO1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IF9uZXh0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIC8vIFJlY29yZCB0aGUgcmVuZGVyIGR1cmF0aW9uIGZvciB0aGUgZmliZXIgdGhhdCBlcnJvcmVkLlxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGNvbXBsZXRlZFdvcmssIGZhbHNlKTsgLy8gSW5jbHVkZSB0aGUgdGltZSBzcGVudCB3b3JraW5nIG9uIGZhaWxlZCBjaGlsZHJlbiBiZWZvcmUgY29udGludWluZy5cblxuICAgICAgICB2YXIgYWN0dWFsRHVyYXRpb24gPSBjb21wbGV0ZWRXb3JrLmFjdHVhbER1cmF0aW9uO1xuICAgICAgICB2YXIgY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgIGFjdHVhbER1cmF0aW9uICs9IGNoaWxkLmFjdHVhbER1cmF0aW9uO1xuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKHJldHVybkZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgIC8vIE1hcmsgdGhlIHBhcmVudCBmaWJlciBhcyBpbmNvbXBsZXRlIGFuZCBjbGVhciBpdHMgc3VidHJlZSBmbGFncy5cbiAgICAgICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gSW5jb21wbGV0ZTtcbiAgICAgICAgcmV0dXJuRmliZXIuc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICAgICAgcmV0dXJuRmliZXIuZGVsZXRpb25zID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlJ3ZlIHVud291bmQgYWxsIHRoZSB3YXkgdG8gdGhlIHJvb3QuXG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290RGlkTm90Q29tcGxldGU7XG4gICAgICAgIHdvcmtJblByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBzaWJsaW5nRmliZXIgPSBjb21wbGV0ZWRXb3JrLnNpYmxpbmc7XG5cbiAgICBpZiAoc2libGluZ0ZpYmVyICE9PSBudWxsKSB7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBtb3JlIHdvcmsgdG8gZG8gaW4gdGhpcyByZXR1cm5GaWJlciwgZG8gdGhhdCBuZXh0LlxuICAgICAgd29ya0luUHJvZ3Jlc3MgPSBzaWJsaW5nRmliZXI7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBPdGhlcndpc2UsIHJldHVybiB0byB0aGUgcGFyZW50XG5cblxuICAgIGNvbXBsZXRlZFdvcmsgPSByZXR1cm5GaWJlcjsgLy8gVXBkYXRlIHRoZSBuZXh0IHRoaW5nIHdlJ3JlIHdvcmtpbmcgb24gaW4gY2FzZSBzb21ldGhpbmcgdGhyb3dzLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSBjb21wbGV0ZWRXb3JrO1xuICB9IHdoaWxlIChjb21wbGV0ZWRXb3JrICE9PSBudWxsKTsgLy8gV2UndmUgcmVhY2hlZCB0aGUgcm9vdC5cblxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5Qcm9ncmVzcykge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290Q29tcGxldGVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFJvb3Qocm9vdCwgcmVjb3ZlcmFibGVFcnJvcnMsIHRyYW5zaXRpb25zKSB7XG4gIC8vIFRPRE86IFRoaXMgbm8gbG9uZ2VyIG1ha2VzIGFueSBzZW5zZS4gV2UgYWxyZWFkeSB3cmFwIHRoZSBtdXRhdGlvbiBhbmRcbiAgLy8gbGF5b3V0IHBoYXNlcy4gU2hvdWxkIGJlIGFibGUgdG8gcmVtb3ZlLlxuICB2YXIgcHJldmlvdXNVcGRhdGVMYW5lUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uO1xuXG4gIHRyeSB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gbnVsbDtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoRGlzY3JldGVFdmVudFByaW9yaXR5KTtcbiAgICBjb21taXRSb290SW1wbChyb290LCByZWNvdmVyYWJsZUVycm9ycywgdHJhbnNpdGlvbnMsIHByZXZpb3VzVXBkYXRlTGFuZVByaW9yaXR5KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBwcmV2VHJhbnNpdGlvbjtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNVcGRhdGVMYW5lUHJpb3JpdHkpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFJvb3RJbXBsKHJvb3QsIHJlY292ZXJhYmxlRXJyb3JzLCB0cmFuc2l0aW9ucywgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xuICBkbyB7XG4gICAgLy8gYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgY2FsbCBgZmx1c2hTeW5jVXBkYXRlUXVldWVgIGF0IHRoZSBlbmQsIHdoaWNoXG4gICAgLy8gbWVhbnMgYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgc29tZXRpbWVzIHJlc3VsdCBpbiBhZGRpdGlvbmFsXG4gICAgLy8gcGFzc2l2ZSBlZmZlY3RzLiBTbyB3ZSBuZWVkIHRvIGtlZXAgZmx1c2hpbmcgaW4gYSBsb29wIHVudGlsIHRoZXJlIGFyZVxuICAgIC8vIG5vIG1vcmUgcGVuZGluZyBlZmZlY3RzLlxuICAgIC8vIFRPRE86IE1pZ2h0IGJlIGJldHRlciBpZiBgZmx1c2hQYXNzaXZlRWZmZWN0c2AgZGlkIG5vdCBhdXRvbWF0aWNhbGx5XG4gICAgLy8gZmx1c2ggc3luY2hyb25vdXMgd29yayBhdCB0aGUgZW5kLCB0byBhdm9pZCBmYWN0b3JpbmcgaGF6YXJkcyBsaWtlIHRoaXMuXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICB9IHdoaWxlIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyAhPT0gbnVsbCk7XG5cbiAgZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCk7XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuJyk7XG4gIH1cblxuICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5maW5pc2hlZFdvcms7XG4gIHZhciBsYW5lcyA9IHJvb3QuZmluaXNoZWRMYW5lcztcblxuICB7XG4gICAgbWFya0NvbW1pdFN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgaWYgKGZpbmlzaGVkV29yayA9PT0gbnVsbCkge1xuXG4gICAge1xuICAgICAgbWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBpZiAobGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAgICAgZXJyb3IoJ3Jvb3QuZmluaXNoZWRMYW5lcyBzaG91bGQgbm90IGJlIGVtcHR5IGR1cmluZyBhIGNvbW1pdC4gVGhpcyBpcyBhICcgKyAnYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJvb3QuZmluaXNoZWRXb3JrID0gbnVsbDtcbiAgcm9vdC5maW5pc2hlZExhbmVzID0gTm9MYW5lcztcblxuICBpZiAoZmluaXNoZWRXb3JrID09PSByb290LmN1cnJlbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb21taXQgdGhlIHNhbWUgdHJlZSBhcyBiZWZvcmUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSAnICsgJ2EgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfSAvLyBjb21taXRSb290IG5ldmVyIHJldHVybnMgYSBjb250aW51YXRpb247IGl0IGFsd2F5cyBmaW5pc2hlcyBzeW5jaHJvbm91c2x5LlxuICAvLyBTbyB3ZSBjYW4gY2xlYXIgdGhlc2Ugbm93IHRvIGFsbG93IGEgbmV3IGNhbGxiYWNrIHRvIGJlIHNjaGVkdWxlZC5cblxuXG4gIHJvb3QuY2FsbGJhY2tOb2RlID0gbnVsbDtcbiAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9MYW5lOyAvLyBVcGRhdGUgdGhlIGZpcnN0IGFuZCBsYXN0IHBlbmRpbmcgdGltZXMgb24gdGhpcyByb290LiBUaGUgbmV3IGZpcnN0XG4gIC8vIHBlbmRpbmcgdGltZSBpcyB3aGF0ZXZlciBpcyBsZWZ0IG9uIHRoZSByb290IGZpYmVyLlxuXG4gIHZhciByZW1haW5pbmdMYW5lcyA9IG1lcmdlTGFuZXMoZmluaXNoZWRXb3JrLmxhbmVzLCBmaW5pc2hlZFdvcmsuY2hpbGRMYW5lcyk7XG4gIG1hcmtSb290RmluaXNoZWQocm9vdCwgcmVtYWluaW5nTGFuZXMpO1xuXG4gIGlmIChyb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QpIHtcbiAgICAvLyBXZSBjYW4gcmVzZXQgdGhlc2Ugbm93IHRoYXQgdGhleSBhcmUgZmluaXNoZWQuXG4gICAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICB9IC8vIElmIHRoZXJlIGFyZSBwZW5kaW5nIHBhc3NpdmUgZWZmZWN0cywgc2NoZWR1bGUgYSBjYWxsYmFjayB0byBwcm9jZXNzIHRoZW0uXG4gIC8vIERvIHRoaXMgYXMgZWFybHkgYXMgcG9zc2libGUsIHNvIGl0IGlzIHF1ZXVlZCBiZWZvcmUgYW55dGhpbmcgZWxzZSB0aGF0XG4gIC8vIG1pZ2h0IGdldCBzY2hlZHVsZWQgaW4gdGhlIGNvbW1pdCBwaGFzZS4gKFNlZSAjMTY3MTQuKVxuICAvLyBUT0RPOiBEZWxldGUgYWxsIG90aGVyIHBsYWNlcyB0aGF0IHNjaGVkdWxlIHRoZSBwYXNzaXZlIGVmZmVjdCBjYWxsYmFja1xuICAvLyBUaGV5J3JlIHJlZHVuZGFudC5cblxuXG4gIGlmICgoZmluaXNoZWRXb3JrLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyB8fCAoZmluaXNoZWRXb3JrLmZsYWdzICYgUGFzc2l2ZU1hc2spICE9PSBOb0ZsYWdzKSB7XG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgLy8gdG8gc3RvcmUgaXQgaW4gcGVuZGluZ1Bhc3NpdmVUcmFuc2l0aW9ucyB1bnRpbCB0aGV5IGdldCBwcm9jZXNzZWRcbiAgICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGlzIHRocm91Z2ggYXMgYW4gYXJndW1lbnQgdG8gY29tbWl0Um9vdFxuICAgICAgLy8gYmVjYXVzZSB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zIG1pZ2h0IGhhdmUgY2hhbmdlZCBiZXR3ZWVuXG4gICAgICAvLyB0aGUgcHJldmlvdXMgcmVuZGVyIGFuZCBjb21taXQgaWYgd2UgdGhyb3R0bGUgdGhlIGNvbW1pdFxuICAgICAgLy8gd2l0aCBzZXRUaW1lb3V0XG5cbiAgICAgIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSB0cmFuc2l0aW9ucztcbiAgICAgIHNjaGVkdWxlQ2FsbGJhY2skMShOb3JtYWxQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7IC8vIFRoaXMgcmVuZGVyIHRyaWdnZXJlZCBwYXNzaXZlIGVmZmVjdHM6IHJlbGVhc2UgdGhlIHJvb3QgY2FjaGUgcG9vbFxuICAgICAgICAvLyAqYWZ0ZXIqIHBhc3NpdmUgZWZmZWN0cyBmaXJlIHRvIGF2b2lkIGZyZWVpbmcgYSBjYWNoZSBwb29sIHRoYXQgbWF5XG4gICAgICAgIC8vIGJlIHJlZmVyZW5jZWQgYnkgYSBub2RlIGluIHRoZSB0cmVlIChIb3N0Um9vdCwgQ2FjaGUgYm91bmRhcnkgZXRjKVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuICB9IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZWZmZWN0cyBpbiB0aGUgd2hvbGUgdHJlZS5cbiAgLy8gVE9ETzogVGhpcyBpcyBsZWZ0IG92ZXIgZnJvbSB0aGUgZWZmZWN0IGxpc3QgaW1wbGVtZW50YXRpb24sIHdoZXJlIHdlIGhhZFxuICAvLyB0byBjaGVjayBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBgZmlyc3RFZmZlY3RgIHRvIHNhdGlzZnkgRmxvdy4gSSB0aGluayB0aGVcbiAgLy8gb25seSBvdGhlciByZWFzb24gdGhpcyBvcHRpbWl6YXRpb24gZXhpc3RzIGlzIGJlY2F1c2UgaXQgYWZmZWN0cyBwcm9maWxpbmcuXG4gIC8vIFJlY29uc2lkZXIgd2hldGhlciB0aGlzIGlzIG5lY2Vzc2FyeS5cblxuXG4gIHZhciBzdWJ0cmVlSGFzRWZmZWN0cyA9IChmaW5pc2hlZFdvcmsuc3VidHJlZUZsYWdzICYgKEJlZm9yZU11dGF0aW9uTWFzayB8IE11dGF0aW9uTWFzayB8IExheW91dE1hc2sgfCBQYXNzaXZlTWFzaykpICE9PSBOb0ZsYWdzO1xuICB2YXIgcm9vdEhhc0VmZmVjdCA9IChmaW5pc2hlZFdvcmsuZmxhZ3MgJiAoQmVmb3JlTXV0YXRpb25NYXNrIHwgTXV0YXRpb25NYXNrIHwgTGF5b3V0TWFzayB8IFBhc3NpdmVNYXNrKSkgIT09IE5vRmxhZ3M7XG5cbiAgaWYgKHN1YnRyZWVIYXNFZmZlY3RzIHx8IHJvb3RIYXNFZmZlY3QpIHtcbiAgICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gICAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0OyAvLyBSZXNldCB0aGlzIHRvIG51bGwgYmVmb3JlIGNhbGxpbmcgbGlmZWN5Y2xlc1xuXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDsgLy8gVGhlIGNvbW1pdCBwaGFzZSBpcyBicm9rZW4gaW50byBzZXZlcmFsIHN1Yi1waGFzZXMuIFdlIGRvIGEgc2VwYXJhdGUgcGFzc1xuICAgIC8vIG9mIHRoZSBlZmZlY3QgbGlzdCBmb3IgZWFjaCBwaGFzZTogYWxsIG11dGF0aW9uIGVmZmVjdHMgY29tZSBiZWZvcmUgYWxsXG4gICAgLy8gbGF5b3V0IGVmZmVjdHMsIGFuZCBzbyBvbi5cbiAgICAvLyBUaGUgZmlyc3QgcGhhc2UgYSBcImJlZm9yZSBtdXRhdGlvblwiIHBoYXNlLiBXZSB1c2UgdGhpcyBwaGFzZSB0byByZWFkIHRoZVxuICAgIC8vIHN0YXRlIG9mIHRoZSBob3N0IHRyZWUgcmlnaHQgYmVmb3JlIHdlIG11dGF0ZSBpdC4gVGhpcyBpcyB3aGVyZVxuICAgIC8vIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlIGlzIGNhbGxlZC5cblxuICAgIHZhciBzaG91bGRGaXJlQWZ0ZXJBY3RpdmVJbnN0YW5jZUJsdXIgPSBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcblxuICAgIHtcbiAgICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgY29tbWl0IHRpbWUgdG8gYmUgc2hhcmVkIGJ5IGFsbCBQcm9maWxlcnMgaW4gdGhpc1xuICAgICAgLy8gYmF0Y2guIFRoaXMgZW5hYmxlcyB0aGVtIHRvIGJlIGdyb3VwZWQgbGF0ZXIuXG4gICAgICByZWNvcmRDb21taXRUaW1lKCk7XG4gICAgfVxuXG5cbiAgICBjb21taXRNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrLCBsYW5lcyk7XG5cbiAgICByZXNldEFmdGVyQ29tbWl0KHJvb3QuY29udGFpbmVySW5mbyk7IC8vIFRoZSB3b3JrLWluLXByb2dyZXNzIHRyZWUgaXMgbm93IHRoZSBjdXJyZW50IHRyZWUuIFRoaXMgbXVzdCBjb21lIGFmdGVyXG4gICAgLy8gdGhlIG11dGF0aW9uIHBoYXNlLCBzbyB0aGF0IHRoZSBwcmV2aW91cyB0cmVlIGlzIHN0aWxsIGN1cnJlbnQgZHVyaW5nXG4gICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQsIGJ1dCBiZWZvcmUgdGhlIGxheW91dCBwaGFzZSwgc28gdGhhdCB0aGUgZmluaXNoZWRcbiAgICAvLyB3b3JrIGlzIGN1cnJlbnQgZHVyaW5nIGNvbXBvbmVudERpZE1vdW50L1VwZGF0ZS5cblxuICAgIHJvb3QuY3VycmVudCA9IGZpbmlzaGVkV29yazsgLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIGxheW91dCBwaGFzZSwgd2hlcmUgd2UgY2FsbCBlZmZlY3RzIHRoYXQgcmVhZFxuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdGFydGVkKGxhbmVzKTtcbiAgICB9XG5cbiAgICBjb21taXRMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yaywgcm9vdCwgbGFuZXMpO1xuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICAgIC8vIG9wcG9ydHVuaXR5IHRvIHBhaW50LlxuXG5cbiAgICByZXF1ZXN0UGFpbnQoKTtcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7IC8vIFJlc2V0IHRoZSBwcmlvcml0eSB0byB0aGUgcHJldmlvdXMgbm9uLXN5bmMgdmFsdWUuXG5cbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH0gZWxzZSB7XG4gICAgLy8gTm8gZWZmZWN0cy5cbiAgICByb290LmN1cnJlbnQgPSBmaW5pc2hlZFdvcms7IC8vIE1lYXN1cmUgdGhlc2UgYW55d2F5IHNvIHRoZSBmbGFtZWdyYXBoIGV4cGxpY2l0bHkgc2hvd3MgdGhhdCB0aGVyZSB3ZXJlXG4gICAgLy8gbm8gZWZmZWN0cy5cbiAgICAvLyBUT0RPOiBNYXliZSB0aGVyZSdzIGEgYmV0dGVyIHdheSB0byByZXBvcnQgdGhpcy5cblxuICAgIHtcbiAgICAgIHJlY29yZENvbW1pdFRpbWUoKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cyA9IHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzO1xuXG4gIGlmIChyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgIC8vIFRoaXMgY29tbWl0IGhhcyBwYXNzaXZlIGVmZmVjdHMuIFN0YXNoIGEgcmVmZXJlbmNlIHRvIHRoZW0uIEJ1dCBkb24ndFxuICAgIC8vIHNjaGVkdWxlIGEgY2FsbGJhY2sgdW50aWwgYWZ0ZXIgZmx1c2hpbmcgbGF5b3V0IHdvcmsuXG4gICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbiAgICByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9IHJvb3Q7XG4gICAgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMgPSBsYW5lcztcbiAgfSBlbHNlIHtcblxuICAgIHtcbiAgICAgIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG4gICAgICByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbiAgICB9XG4gIH0gLy8gUmVhZCB0aGlzIGFnYWluLCBzaW5jZSBhbiBlZmZlY3QgbWlnaHQgaGF2ZSB1cGRhdGVkIGl0XG5cblxuICByZW1haW5pbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzOyAvLyBDaGVjayBpZiB0aGVyZSdzIHJlbWFpbmluZyB3b3JrIG9uIHRoaXMgcm9vdFxuICAvLyBUT0RPOiBUaGlzIGlzIHBhcnQgb2YgdGhlIGBjb21wb25lbnREaWRDYXRjaGAgaW1wbGVtZW50YXRpb24uIEl0cyBwdXJwb3NlXG4gIC8vIGlzIHRvIGRldGVjdCB3aGV0aGVyIHNvbWV0aGluZyBtaWdodCBoYXZlIGNhbGxlZCBzZXRTdGF0ZSBpbnNpZGVcbiAgLy8gYGNvbXBvbmVudERpZENhdGNoYC4gVGhlIG1lY2hhbmlzbSBpcyBrbm93biB0byBiZSBmbGF3ZWQgYmVjYXVzZSBgc2V0U3RhdGVgXG4gIC8vIGluc2lkZSBgY29tcG9uZW50RGlkQ2F0Y2hgIGlzIGl0c2VsZiBmbGF3ZWQg4oCUIHRoYXQncyB3aHkgd2UgcmVjb21tZW5kXG4gIC8vIGBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3JgIGluc3RlYWQuIEhvd2V2ZXIsIGl0IGNvdWxkIGJlIGltcHJvdmVkIGJ5XG4gIC8vIGNoZWNraW5nIGlmIHJlbWFpbmluZ0xhbmVzIGluY2x1ZGVzIFN5bmMgd29yaywgaW5zdGVhZCBvZiB3aGV0aGVyIHRoZXJlJ3NcbiAgLy8gYW55IHdvcmsgcmVtYWluaW5nIGF0IGFsbCAod2hpY2ggd291bGQgYWxzbyBpbmNsdWRlIHN0dWZmIGxpa2UgU3VzcGVuc2VcbiAgLy8gcmV0cmllcyBvciB0cmFuc2l0aW9ucykuIEl0J3MgYmVlbiBsaWtlIHRoaXMgZm9yIGEgd2hpbGUsIHRob3VnaCwgc28gZml4aW5nXG4gIC8vIGl0IHByb2JhYmx5IGlzbid0IHRoYXQgdXJnZW50LlxuXG4gIGlmIChyZW1haW5pbmdMYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIElmIHRoZXJlJ3Mgbm8gcmVtYWluaW5nIHdvcmssIHdlIGNhbiBjbGVhciB0aGUgc2V0IG9mIGFscmVhZHkgZmFpbGVkXG4gICAgLy8gZXJyb3IgYm91bmRhcmllcy5cbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7XG4gIH1cblxuICB7XG4gICAgaWYgKCFyb290RGlkSGF2ZVBhc3NpdmVFZmZlY3RzKSB7XG4gICAgICBjb21taXREb3VibGVJbnZva2VFZmZlY3RzSW5ERVYocm9vdC5jdXJyZW50LCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgb25Db21taXRSb290KGZpbmlzaGVkV29yay5zdGF0ZU5vZGUsIHJlbmRlclByaW9yaXR5TGV2ZWwpO1xuXG4gIHtcbiAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgIHJvb3QubWVtb2l6ZWRVcGRhdGVycy5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBvbkNvbW1pdFJvb3QkMSgpO1xuICB9IC8vIEFsd2F5cyBjYWxsIHRoaXMgYmVmb3JlIGV4aXRpbmcgYGNvbW1pdFJvb3RgLCB0byBlbnN1cmUgdGhhdCBhbnlcbiAgLy8gYWRkaXRpb25hbCB3b3JrIG9uIHRoaXMgcm9vdCBpcyBzY2hlZHVsZWQuXG5cblxuICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuXG4gIGlmIChyZWNvdmVyYWJsZUVycm9ycyAhPT0gbnVsbCkge1xuICAgIC8vIFRoZXJlIHdlcmUgZXJyb3JzIGR1cmluZyB0aGlzIHJlbmRlciwgYnV0IHJlY292ZXJlZCBmcm9tIHRoZW0gd2l0aG91dFxuICAgIC8vIG5lZWRpbmcgdG8gc3VyZmFjZSBpdCB0byB0aGUgVUkuIFdlIGxvZyB0aGVtIGhlcmUuXG4gICAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IHJvb3Qub25SZWNvdmVyYWJsZUVycm9yO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvdmVyYWJsZUVycm9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHJlY292ZXJhYmxlRXJyb3IgPSByZWNvdmVyYWJsZUVycm9yc1tpXTtcbiAgICAgIHZhciBjb21wb25lbnRTdGFjayA9IHJlY292ZXJhYmxlRXJyb3Iuc3RhY2s7XG4gICAgICB2YXIgZGlnZXN0ID0gcmVjb3ZlcmFibGVFcnJvci5kaWdlc3Q7XG4gICAgICBvblJlY292ZXJhYmxlRXJyb3IocmVjb3ZlcmFibGVFcnJvci52YWx1ZSwge1xuICAgICAgICBjb21wb25lbnRTdGFjazogY29tcG9uZW50U3RhY2ssXG4gICAgICAgIGRpZ2VzdDogZGlnZXN0XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFzVW5jYXVnaHRFcnJvcikge1xuICAgIGhhc1VuY2F1Z2h0RXJyb3IgPSBmYWxzZTtcbiAgICB2YXIgZXJyb3IkMSA9IGZpcnN0VW5jYXVnaHRFcnJvcjtcbiAgICBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBudWxsO1xuICAgIHRocm93IGVycm9yJDE7XG4gIH0gLy8gSWYgdGhlIHBhc3NpdmUgZWZmZWN0cyBhcmUgdGhlIHJlc3VsdCBvZiBhIGRpc2NyZXRlIHJlbmRlciwgZmx1c2ggdGhlbVxuICAvLyBzeW5jaHJvbm91c2x5IGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgdGFzayBzbyB0aGF0IHRoZSByZXN1bHQgaXNcbiAgLy8gaW1tZWRpYXRlbHkgb2JzZXJ2YWJsZS4gT3RoZXJ3aXNlLCB3ZSBhc3N1bWUgdGhhdCB0aGV5IGFyZSBub3RcbiAgLy8gb3JkZXItZGVwZW5kZW50IGFuZCBkbyBub3QgbmVlZCB0byBiZSBvYnNlcnZlZCBieSBleHRlcm5hbCBzeXN0ZW1zLCBzbyB3ZVxuICAvLyBjYW4gd2FpdCB1bnRpbCBhZnRlciBwYWludC5cbiAgLy8gVE9ETzogV2UgY2FuIG9wdGltaXplIHRoaXMgYnkgbm90IHNjaGVkdWxpbmcgdGhlIGNhbGxiYWNrIGVhcmxpZXIuIFNpbmNlIHdlXG4gIC8vIGN1cnJlbnRseSBzY2hlZHVsZSB0aGUgY2FsbGJhY2sgaW4gbXVsdGlwbGUgcGxhY2VzLCB3aWxsIHdhaXQgdW50aWwgdGhvc2VcbiAgLy8gYXJlIGNvbnNvbGlkYXRlZC5cblxuXG4gIGlmIChpbmNsdWRlc1NvbWVMYW5lKHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzLCBTeW5jTGFuZSkgJiYgcm9vdC50YWcgIT09IExlZ2FjeVJvb3QpIHtcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIH0gLy8gUmVhZCB0aGlzIGFnYWluLCBzaW5jZSBhIHBhc3NpdmUgZWZmZWN0IG1pZ2h0IGhhdmUgdXBkYXRlZCBpdFxuXG5cbiAgcmVtYWluaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lcztcblxuICBpZiAoaW5jbHVkZXNTb21lTGFuZShyZW1haW5pbmdMYW5lcywgU3luY0xhbmUpKSB7XG4gICAge1xuICAgICAgbWFya05lc3RlZFVwZGF0ZVNjaGVkdWxlZCgpO1xuICAgIH0gLy8gQ291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgcm9vdCBzeW5jaHJvbm91c2x5IHJlLXJlbmRlcnMgd2l0aG91dFxuICAgIC8vIGZpbmlzaGluZy4gSWYgdGhlcmUgYXJlIHRvbyBtYW55LCBpdCBpbmRpY2F0ZXMgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AuXG5cblxuICAgIGlmIChyb290ID09PSByb290V2l0aE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50Kys7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgICAgIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IHJvb3Q7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgfSAvLyBJZiBsYXlvdXQgd29yayB3YXMgc2NoZWR1bGVkLCBmbHVzaCBpdCBub3cuXG5cblxuICBmbHVzaFN5bmNDYWxsYmFja3MoKTtcblxuICB7XG4gICAgbWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmbHVzaFBhc3NpdmVFZmZlY3RzKCkge1xuICAvLyBSZXR1cm5zIHdoZXRoZXIgcGFzc2l2ZSBlZmZlY3RzIHdlcmUgZmx1c2hlZC5cbiAgLy8gVE9ETzogQ29tYmluZSB0aGlzIGNoZWNrIHdpdGggdGhlIG9uZSBpbiBmbHVzaFBhc3NpdmVFRmZlY3RzSW1wbC4gV2Ugc2hvdWxkXG4gIC8vIHByb2JhYmx5IGp1c3QgY29tYmluZSB0aGUgdHdvIGZ1bmN0aW9ucy4gSSBiZWxpZXZlIHRoZXkgd2VyZSBvbmx5IHNlcGFyYXRlXG4gIC8vIGluIHRoZSBmaXJzdCBwbGFjZSBiZWNhdXNlIHdlIHVzZWQgdG8gd3JhcCBpdCB3aXRoXG4gIC8vIGBTY2hlZHVsZXIucnVuV2l0aFByaW9yaXR5YCwgd2hpY2ggYWNjZXB0cyBhIGZ1bmN0aW9uLiBCdXQgbm93IHdlIHRyYWNrIHRoZVxuICAvLyBwcmlvcml0eSB3aXRoaW4gUmVhY3QgaXRzZWxmLCBzbyB3ZSBjYW4gbXV0YXRlIHRoZSB2YXJpYWJsZSBkaXJlY3RseS5cbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzICE9PSBudWxsKSB7XG4gICAgdmFyIHJlbmRlclByaW9yaXR5ID0gbGFuZXNUb0V2ZW50UHJpb3JpdHkocGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMpO1xuICAgIHZhciBwcmlvcml0eSA9IGxvd2VyRXZlbnRQcmlvcml0eShEZWZhdWx0RXZlbnRQcmlvcml0eSwgcmVuZGVyUHJpb3JpdHkpO1xuICAgIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbjtcbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IG51bGw7XG4gICAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJpb3JpdHkpO1xuICAgICAgcmV0dXJuIGZsdXNoUGFzc2l2ZUVmZmVjdHNJbXBsKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uOyAvLyBPbmNlIHBhc3NpdmUgZWZmZWN0cyBoYXZlIHJ1biBmb3IgdGhlIHRyZWUgLSBnaXZpbmcgY29tcG9uZW50cyBhXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZW5xdWV1ZVBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3QoZmliZXIpIHtcbiAge1xuICAgIHBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3RzLnB1c2goZmliZXIpO1xuXG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgc2NoZWR1bGVDYWxsYmFjayQxKE5vcm1hbFByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hQYXNzaXZlRWZmZWN0c0ltcGwoKSB7XG4gIGlmIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBDYWNoZSBhbmQgY2xlYXIgdGhlIHRyYW5zaXRpb25zIGZsYWdcblxuXG4gIHZhciB0cmFuc2l0aW9ucyA9IHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnM7XG4gIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsO1xuICB2YXIgcm9vdCA9IHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzO1xuICB2YXIgbGFuZXMgPSBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNMYW5lcztcbiAgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsOyAvLyBUT0RPOiBUaGlzIGlzIHNvbWV0aW1lcyBvdXQgb2Ygc3luYyB3aXRoIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLlxuICAvLyBGaWd1cmUgb3V0IHdoeSBhbmQgZml4IGl0LiBJdCdzIG5vdCBjYXVzaW5nIGFueSBrbm93biBpc3N1ZXMgKHByb2JhYmx5XG4gIC8vIGJlY2F1c2UgaXQncyBvbmx5IHVzZWQgZm9yIHByb2ZpbGluZyksIGJ1dCBpdCdzIGEgcmVmYWN0b3IgaGF6YXJkLlxuXG4gIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzID0gTm9MYW5lcztcblxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSAhPT0gTm9Db250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZmx1c2ggcGFzc2l2ZSBlZmZlY3RzIHdoaWxlIGFscmVhZHkgcmVuZGVyaW5nLicpO1xuICB9XG5cbiAge1xuICAgIGlzRmx1c2hpbmdQYXNzaXZlRWZmZWN0cyA9IHRydWU7XG4gICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xuICB9XG5cbiAge1xuICAgIG1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0O1xuICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHMocm9vdC5jdXJyZW50KTtcbiAgY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0cyhyb290LCByb290LmN1cnJlbnQsIGxhbmVzLCB0cmFuc2l0aW9ucyk7IC8vIFRPRE86IE1vdmUgdG8gY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0c1xuXG4gIHtcbiAgICB2YXIgcHJvZmlsZXJFZmZlY3RzID0gcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHM7XG4gICAgcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHMgPSBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZmlsZXJFZmZlY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgX2ZpYmVyID0gcHJvZmlsZXJFZmZlY3RzW2ldO1xuICAgICAgY29tbWl0UGFzc2l2ZUVmZmVjdER1cmF0aW9ucyhyb290LCBfZmliZXIpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBtYXJrUGFzc2l2ZUVmZmVjdHNTdG9wcGVkKCk7XG4gIH1cblxuICB7XG4gICAgY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKHJvb3QuY3VycmVudCwgdHJ1ZSk7XG4gIH1cblxuICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XG4gIGZsdXNoU3luY0NhbGxiYWNrcygpO1xuXG4gIHtcbiAgICAvLyBJZiBhZGRpdGlvbmFsIHBhc3NpdmUgZWZmZWN0cyB3ZXJlIHNjaGVkdWxlZCwgaW5jcmVtZW50IGEgY291bnRlci4gSWYgdGhpc1xuICAgIC8vIGV4Y2VlZHMgdGhlIGxpbWl0LCB3ZSdsbCBmaXJlIGEgd2FybmluZy5cbiAgICBpZiAoZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cykge1xuICAgICAgaWYgKHJvb3QgPT09IHJvb3RXaXRoUGFzc2l2ZU5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgICByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzID0gcm9vdDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID0gMDtcbiAgICB9XG5cbiAgICBpc0ZsdXNoaW5nUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbiAgICBkaWRTY2hlZHVsZVVwZGF0ZUR1cmluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG4gIH0gLy8gVE9ETzogTW92ZSB0byBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzXG5cblxuICBvblBvc3RDb21taXRSb290KHJvb3QpO1xuXG4gIHtcbiAgICB2YXIgc3RhdGVOb2RlID0gcm9vdC5jdXJyZW50LnN0YXRlTm9kZTtcbiAgICBzdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb24gPSAwO1xuICAgIHN0YXRlTm9kZS5wYXNzaXZlRWZmZWN0RHVyYXRpb24gPSAwO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkICE9PSBudWxsICYmIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkLmhhcyhpbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBtYXJrTGVnYWN5RXJyb3JCb3VuZGFyeUFzRmFpbGVkKGluc3RhbmNlKSB7XG4gIGlmIChsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9PT0gbnVsbCkge1xuICAgIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkID0gbmV3IFNldChbaW5zdGFuY2VdKTtcbiAgfSBlbHNlIHtcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZC5hZGQoaW5zdGFuY2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVUb1Rocm93VW5jYXVnaHRFcnJvcihlcnJvcikge1xuICBpZiAoIWhhc1VuY2F1Z2h0RXJyb3IpIHtcbiAgICBoYXNVbmNhdWdodEVycm9yID0gdHJ1ZTtcbiAgICBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBlcnJvcjtcbiAgfVxufVxuXG52YXIgb25VbmNhdWdodEVycm9yID0gcHJlcGFyZVRvVGhyb3dVbmNhdWdodEVycm9yO1xuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvck9uUm9vdChyb290RmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvcikge1xuICB2YXIgZXJyb3JJbmZvID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIoZXJyb3IsIHNvdXJjZUZpYmVyKTtcbiAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVJvb3RFcnJvclVwZGF0ZShyb290RmliZXIsIGVycm9ySW5mbywgU3luY0xhbmUpO1xuICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUocm9vdEZpYmVyLCB1cGRhdGUsIFN5bmNMYW5lKTtcbiAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIG1hcmtSb290VXBkYXRlZChyb290LCBTeW5jTGFuZSwgZXZlbnRUaW1lKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihzb3VyY2VGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IkMSkge1xuICB7XG4gICAgcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yJDEpO1xuICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gIH1cblxuICBpZiAoc291cmNlRmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIEVycm9yIHdhcyB0aHJvd24gYXQgdGhlIHJvb3QuIFRoZXJlIGlzIG5vIHBhcmVudCwgc28gdGhlIHJvb3RcbiAgICAvLyBpdHNlbGYgc2hvdWxkIGNhcHR1cmUgaXQuXG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3Qoc291cmNlRmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvciQxKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZmliZXIgPSBudWxsO1xuXG4gIHtcbiAgICBmaWJlciA9IG5lYXJlc3RNb3VudGVkQW5jZXN0b3I7XG4gIH1cblxuICB3aGlsZSAoZmliZXIgIT09IG51bGwpIHtcbiAgICBpZiAoZmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3QoZmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvciQxKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHZhciBjdG9yID0gZmliZXIudHlwZTtcbiAgICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSB7XG4gICAgICAgIHZhciBlcnJvckluZm8gPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihlcnJvciQxLCBzb3VyY2VGaWJlcik7XG4gICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKGZpYmVyLCBlcnJvckluZm8sIFN5bmNMYW5lKTtcbiAgICAgICAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUsIFN5bmNMYW5lKTtcbiAgICAgICAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcblxuICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgIG1hcmtSb290VXBkYXRlZChyb290LCBTeW5jTGFuZSwgZXZlbnRUaW1lKTtcbiAgICAgICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWJlciA9IGZpYmVyLnJldHVybjtcbiAgfVxuXG4gIHtcbiAgICAvLyBUT0RPOiBVbnRpbCB3ZSByZS1sYW5kIHNraXBVbm1vdW50ZWRCb3VuZGFyaWVzIChzZWUgIzIwMTQ3KSwgdGhpcyB3YXJuaW5nXG4gICAgLy8gd2lsbCBmaXJlIGZvciBlcnJvcnMgdGhhdCBhcmUgdGhyb3duIGJ5IGRlc3Ryb3kgZnVuY3Rpb25zIGluc2lkZSBkZWxldGVkXG4gICAgLy8gdHJlZXMuIFdoYXQgaXQgc2hvdWxkIGluc3RlYWQgZG8gaXMgcHJvcGFnYXRlIHRoZSBlcnJvciB0byB0aGUgcGFyZW50IG9mXG4gICAgLy8gdGhlIGRlbGV0ZWQgdHJlZS4gSW4gdGhlIG1lYW50aW1lLCBkbyBub3QgYWRkIHRoaXMgd2FybmluZyB0byB0aGVcbiAgICAvLyBhbGxvd2xpc3Q7IHRoaXMgaXMgb25seSBmb3Igb3VyIGludGVybmFsIHVzZS5cbiAgICBlcnJvcignSW50ZXJuYWwgUmVhY3QgZXJyb3I6IEF0dGVtcHRlZCB0byBjYXB0dXJlIGEgY29tbWl0IHBoYXNlIGVycm9yICcgKyAnaW5zaWRlIGEgZGV0YWNoZWQgdHJlZS4gVGhpcyBpbmRpY2F0ZXMgYSBidWcgaW4gUmVhY3QuIExpa2VseSAnICsgJ2NhdXNlcyBpbmNsdWRlIGRlbGV0aW5nIHRoZSBzYW1lIGZpYmVyIG1vcmUgdGhhbiBvbmNlLCBjb21taXR0aW5nIGFuICcgKyAnYWxyZWFkeS1maW5pc2hlZCB0cmVlLCBvciBhbiBpbmNvbnNpc3RlbnQgcmV0dXJuIHBvaW50ZXIuXFxuXFxuJyArICdFcnJvciBtZXNzYWdlOlxcblxcbiVzJywgZXJyb3IkMSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHBpbmdTdXNwZW5kZWRSb290KHJvb3QsIHdha2VhYmxlLCBwaW5nZWRMYW5lcykge1xuICB2YXIgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGU7XG5cbiAgaWYgKHBpbmdDYWNoZSAhPT0gbnVsbCkge1xuICAgIC8vIFRoZSB3YWtlYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXG4gICAgLy8gbmV2ZXIgYmUgdGhyb3duIGFnYWluLlxuICAgIHBpbmdDYWNoZS5kZWxldGUod2FrZWFibGUpO1xuICB9XG5cbiAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcbiAgbWFya1Jvb3RQaW5nZWQocm9vdCwgcGluZ2VkTGFuZXMpO1xuICB3YXJuSWZTdXNwZW5zZVJlc29sdXRpb25Ob3RXcmFwcGVkV2l0aEFjdERFVihyb290KTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290ICYmIGlzU3Vic2V0T2ZMYW5lcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcywgcGluZ2VkTGFuZXMpKSB7XG4gICAgLy8gUmVjZWl2ZWQgYSBwaW5nIGF0IHRoZSBzYW1lIHByaW9yaXR5IGxldmVsIGF0IHdoaWNoIHdlJ3JlIGN1cnJlbnRseVxuICAgIC8vIHJlbmRlcmluZy4gV2UgbWlnaHQgd2FudCB0byByZXN0YXJ0IHRoaXMgcmVuZGVyLiBUaGlzIHNob3VsZCBtaXJyb3JcbiAgICAvLyB0aGUgbG9naWMgb2Ygd2hldGhlciBvciBub3QgYSByb290IHN1c3BlbmRzIG9uY2UgaXQgY29tcGxldGVzLlxuICAgIC8vIFRPRE86IElmIHdlJ3JlIHJlbmRlcmluZyBzeW5jIGVpdGhlciBkdWUgdG8gU3luYywgQmF0Y2hlZCBvciBleHBpcmVkLFxuICAgIC8vIHdlIHNob3VsZCBwcm9iYWJseSBuZXZlciByZXN0YXJ0LlxuICAgIC8vIElmIHdlJ3JlIHN1c3BlbmRlZCB3aXRoIGRlbGF5LCBvciBpZiBpdCdzIGEgcmV0cnksIHdlJ2xsIGFsd2F5cyBzdXNwZW5kXG4gICAgLy8gc28gd2UgY2FuIGFsd2F5cyByZXN0YXJ0LlxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkV2l0aERlbGF5IHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQgJiYgaW5jbHVkZXNPbmx5UmV0cmllcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcykgJiYgbm93KCkgLSBnbG9iYWxNb3N0UmVjZW50RmFsbGJhY2tUaW1lIDwgRkFMTEJBQ0tfVEhST1RUTEVfTVMpIHtcbiAgICAgIC8vIFJlc3RhcnQgZnJvbSB0aGUgcm9vdC5cbiAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIE5vTGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFdmVuIHRob3VnaCB3ZSBjYW4ndCByZXN0YXJ0IHJpZ2h0IG5vdywgd2UgbWlnaHQgZ2V0IGFuXG4gICAgICAvLyBvcHBvcnR1bml0eSBsYXRlci4gU28gd2UgbWFyayB0aGlzIHJlbmRlciBhcyBoYXZpbmcgYSBwaW5nLlxuICAgICAgd29ya0luUHJvZ3Jlc3NSb290UGluZ2VkTGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzLCBwaW5nZWRMYW5lcyk7XG4gICAgfVxuICB9XG5cbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIGV2ZW50VGltZSk7XG59XG5cbmZ1bmN0aW9uIHJldHJ5VGltZWRPdXRCb3VuZGFyeShib3VuZGFyeUZpYmVyLCByZXRyeUxhbmUpIHtcbiAgLy8gVGhlIGJvdW5kYXJ5IGZpYmVyIChhIFN1c3BlbnNlIGNvbXBvbmVudCBvciBTdXNwZW5zZUxpc3QgY29tcG9uZW50KVxuICAvLyBwcmV2aW91c2x5IHdhcyByZW5kZXJlZCBpbiBpdHMgZmFsbGJhY2sgc3RhdGUuIE9uZSBvZiB0aGUgcHJvbWlzZXMgdGhhdFxuICAvLyBzdXNwZW5kZWQgaXQgaGFzIHJlc29sdmVkLCB3aGljaCBtZWFucyBhdCBsZWFzdCBwYXJ0IG9mIHRoZSB0cmVlIHdhc1xuICAvLyBsaWtlbHkgdW5ibG9ja2VkLiBUcnkgcmVuZGVyaW5nIGFnYWluLCBhdCBhIG5ldyBsYW5lcy5cbiAgaWYgKHJldHJ5TGFuZSA9PT0gTm9MYW5lKSB7XG4gICAgLy8gVE9ETzogQXNzaWduIHRoaXMgdG8gYHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lYD8gdG8gYXZvaWRcbiAgICAvLyB1bm5lY2Vzc2FyeSBlbnRhbmdsZW1lbnQ/XG4gICAgcmV0cnlMYW5lID0gcmVxdWVzdFJldHJ5TGFuZShib3VuZGFyeUZpYmVyKTtcbiAgfSAvLyBUT0RPOiBTcGVjaWFsIGNhc2UgaWRsZSBwcmlvcml0eT9cblxuXG4gIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBtYXJrUm9vdFVwZGF0ZWQocm9vdCwgcmV0cnlMYW5lLCBldmVudFRpbWUpO1xuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBldmVudFRpbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJldHJ5RGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoYm91bmRhcnlGaWJlcikge1xuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGJvdW5kYXJ5RmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHJldHJ5TGFuZSA9IE5vTGFuZTtcblxuICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xuICAgIHJldHJ5TGFuZSA9IHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lO1xuICB9XG5cbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG59XG5mdW5jdGlvbiByZXNvbHZlUmV0cnlXYWtlYWJsZShib3VuZGFyeUZpYmVyLCB3YWtlYWJsZSkge1xuICB2YXIgcmV0cnlMYW5lID0gTm9MYW5lOyAvLyBEZWZhdWx0XG5cbiAgdmFyIHJldHJ5Q2FjaGU7XG5cbiAgc3dpdGNoIChib3VuZGFyeUZpYmVyLnRhZykge1xuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICByZXRyeUNhY2hlID0gYm91bmRhcnlGaWJlci5zdGF0ZU5vZGU7XG4gICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGJvdW5kYXJ5RmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0cnlMYW5lID0gc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXRyeUNhY2hlID0gYm91bmRhcnlGaWJlci5zdGF0ZU5vZGU7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BpbmdlZCB1bmtub3duIHN1c3BlbnNlIGJvdW5kYXJ5IHR5cGUuICcgKyAnVGhpcyBpcyBwcm9iYWJseSBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgfVxuXG4gIGlmIChyZXRyeUNhY2hlICE9PSBudWxsKSB7XG4gICAgLy8gVGhlIHdha2VhYmxlIHJlc29sdmVkLCBzbyB3ZSBubyBsb25nZXIgbmVlZCB0byBtZW1vaXplLCBiZWNhdXNlIGl0IHdpbGxcbiAgICAvLyBuZXZlciBiZSB0aHJvd24gYWdhaW4uXG4gICAgcmV0cnlDYWNoZS5kZWxldGUod2FrZWFibGUpO1xuICB9XG5cbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG59IC8vIENvbXB1dGVzIHRoZSBuZXh0IEp1c3QgTm90aWNlYWJsZSBEaWZmZXJlbmNlIChKTkQpIGJvdW5kYXJ5LlxuLy8gVGhlIHRoZW9yeSBpcyB0aGF0IGEgcGVyc29uIGNhbid0IHRlbGwgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBzbWFsbCBkaWZmZXJlbmNlcyBpbiB0aW1lLlxuLy8gVGhlcmVmb3JlLCBpZiB3ZSB3YWl0IGEgYml0IGxvbmdlciB0aGFuIG5lY2Vzc2FyeSB0aGF0IHdvbid0IHRyYW5zbGF0ZSB0byBhIG5vdGljZWFibGVcbi8vIGRpZmZlcmVuY2UgaW4gdGhlIGV4cGVyaWVuY2UuIEhvd2V2ZXIsIHdhaXRpbmcgZm9yIGxvbmdlciBtaWdodCBtZWFuIHRoYXQgd2UgY2FuIGF2b2lkXG4vLyBzaG93aW5nIGFuIGludGVybWVkaWF0ZSBsb2FkaW5nIHN0YXRlLiBUaGUgbG9uZ2VyIHdlIGhhdmUgYWxyZWFkeSB3YWl0ZWQsIHRoZSBoYXJkZXIgaXRcbi8vIGlzIHRvIHRlbGwgc21hbGwgZGlmZmVyZW5jZXMgaW4gdGltZS4gVGhlcmVmb3JlLCB0aGUgbG9uZ2VyIHdlJ3ZlIGFscmVhZHkgd2FpdGVkLFxuLy8gdGhlIGxvbmdlciB3ZSBjYW4gd2FpdCBhZGRpdGlvbmFsbHkuIEF0IHNvbWUgcG9pbnQgd2UgaGF2ZSB0byBnaXZlIHVwIHRob3VnaC5cbi8vIFdlIHBpY2sgYSB0cmFpbiBtb2RlbCB3aGVyZSB0aGUgbmV4dCBib3VuZGFyeSBjb21taXRzIGF0IGEgY29uc2lzdGVudCBzY2hlZHVsZS5cbi8vIFRoZXNlIHBhcnRpY3VsYXIgbnVtYmVycyBhcmUgdmFndWUgZXN0aW1hdGVzLiBXZSBleHBlY3QgdG8gYWRqdXN0IHRoZW0gYmFzZWQgb24gcmVzZWFyY2guXG5cbmZ1bmN0aW9uIGpuZCh0aW1lRWxhcHNlZCkge1xuICByZXR1cm4gdGltZUVsYXBzZWQgPCAxMjAgPyAxMjAgOiB0aW1lRWxhcHNlZCA8IDQ4MCA/IDQ4MCA6IHRpbWVFbGFwc2VkIDwgMTA4MCA/IDEwODAgOiB0aW1lRWxhcHNlZCA8IDE5MjAgPyAxOTIwIDogdGltZUVsYXBzZWQgPCAzMDAwID8gMzAwMCA6IHRpbWVFbGFwc2VkIDwgNDMyMCA/IDQzMjAgOiBjZWlsKHRpbWVFbGFwc2VkIC8gMTk2MCkgKiAxOTYwO1xufVxuXG5mdW5jdGlvbiBjaGVja0Zvck5lc3RlZFVwZGF0ZXMoKSB7XG4gIGlmIChuZXN0ZWRVcGRhdGVDb3VudCA+IE5FU1RFRF9VUERBVEVfTElNSVQpIHtcbiAgICBuZXN0ZWRVcGRhdGVDb3VudCA9IDA7XG4gICAgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gdXBkYXRlIGRlcHRoIGV4Y2VlZGVkLiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBhIGNvbXBvbmVudCAnICsgJ3JlcGVhdGVkbHkgY2FsbHMgc2V0U3RhdGUgaW5zaWRlIGNvbXBvbmVudFdpbGxVcGRhdGUgb3IgJyArICdjb21wb25lbnREaWRVcGRhdGUuIFJlYWN0IGxpbWl0cyB0aGUgbnVtYmVyIG9mIG5lc3RlZCB1cGRhdGVzIHRvICcgKyAncHJldmVudCBpbmZpbml0ZSBsb29wcy4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAobmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID4gTkVTVEVEX1BBU1NJVkVfVVBEQVRFX0xJTUlUKSB7XG4gICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7XG5cbiAgICAgIGVycm9yKCdNYXhpbXVtIHVwZGF0ZSBkZXB0aCBleGNlZWRlZC4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gYSBjb21wb25lbnQgJyArIFwiY2FsbHMgc2V0U3RhdGUgaW5zaWRlIHVzZUVmZmVjdCwgYnV0IHVzZUVmZmVjdCBlaXRoZXIgZG9lc24ndCBcIiArICdoYXZlIGEgZGVwZW5kZW5jeSBhcnJheSwgb3Igb25lIG9mIHRoZSBkZXBlbmRlbmNpZXMgY2hhbmdlcyBvbiAnICsgJ2V2ZXJ5IHJlbmRlci4nKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCkge1xuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hMZWdhY3lDb250ZXh0V2FybmluZygpO1xuXG4gICAge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKGZpYmVyLCBoYXNQYXNzaXZlRWZmZWN0cykge1xuICB7XG4gICAgLy8gVE9ETyAoU3RyaWN0RWZmZWN0cykgU2hvdWxkIHdlIHNldCBhIG1hcmtlciBvbiB0aGUgcm9vdCBpZiBpdCBjb250YWlucyBzdHJpY3QgZWZmZWN0c1xuICAgIC8vIHNvIHdlIGRvbid0IHRyYXZlcnNlIHVubmVjZXNzYXJpbHk/IHNpbWlsYXIgdG8gc3VidHJlZUZsYWdzIGJ1dCBqdXN0IGF0IHRoZSByb290IGxldmVsLlxuICAgIC8vIE1heWJlIG5vdCBhIGJpZyBkZWFsIHNpbmNlIHRoaXMgaXMgREVWIG9ubHkgYmVoYXZpb3IuXG4gICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50TGF5b3V0RGV2LCBpbnZva2VMYXlvdXRFZmZlY3RVbm1vdW50SW5ERVYpO1xuXG4gICAgaWYgKGhhc1Bhc3NpdmVFZmZlY3RzKSB7XG4gICAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50UGFzc2l2ZURldiwgaW52b2tlUGFzc2l2ZUVmZmVjdFVubW91bnRJbkRFVik7XG4gICAgfVxuXG4gICAgaW52b2tlRWZmZWN0c0luRGV2KGZpYmVyLCBNb3VudExheW91dERldiwgaW52b2tlTGF5b3V0RWZmZWN0TW91bnRJbkRFVik7XG5cbiAgICBpZiAoaGFzUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICAgIGludm9rZUVmZmVjdHNJbkRldihmaWJlciwgTW91bnRQYXNzaXZlRGV2LCBpbnZva2VQYXNzaXZlRWZmZWN0TW91bnRJbkRFVik7XG4gICAgfVxuXG4gICAgcmVzZXRDdXJyZW50RmliZXIoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VFZmZlY3RzSW5EZXYoZmlyc3RDaGlsZCwgZmliZXJGbGFncywgaW52b2tlRWZmZWN0Rm4pIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHZhciBjdXJyZW50ID0gZmlyc3RDaGlsZDtcbiAgICB2YXIgc3VidHJlZVJvb3QgPSBudWxsO1xuXG4gICAgd2hpbGUgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIHZhciBwcmltYXJ5U3VidHJlZUZsYWcgPSBjdXJyZW50LnN1YnRyZWVGbGFncyAmIGZpYmVyRmxhZ3M7XG5cbiAgICAgIGlmIChjdXJyZW50ICE9PSBzdWJ0cmVlUm9vdCAmJiBjdXJyZW50LmNoaWxkICE9PSBudWxsICYmIHByaW1hcnlTdWJ0cmVlRmxhZyAhPT0gTm9GbGFncykge1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICgoY3VycmVudC5mbGFncyAmIGZpYmVyRmxhZ3MpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgaW52b2tlRWZmZWN0Rm4oY3VycmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VycmVudC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQuc2libGluZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjdXJyZW50ID0gc3VidHJlZVJvb3QgPSBjdXJyZW50LnJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudCA9IG51bGw7XG5mdW5jdGlvbiB3YXJuQWJvdXRVcGRhdGVPbk5vdFlldE1vdW50ZWRGaWJlckluREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0KSB7XG4gICAgICAvLyBXZSBsZXQgdGhlIG90aGVyIHdhcm5pbmcgYWJvdXQgcmVuZGVyIHBoYXNlIHVwZGF0ZXMgZGVhbCB3aXRoIHRoaXMgb25lLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgdGFnID0gZmliZXIudGFnO1xuXG4gICAgaWYgKHRhZyAhPT0gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudCAmJiB0YWcgIT09IEhvc3RSb290ICYmIHRhZyAhPT0gQ2xhc3NDb21wb25lbnQgJiYgdGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiB0YWcgIT09IEZvcndhcmRSZWYgJiYgdGFnICE9PSBNZW1vQ29tcG9uZW50ICYmIHRhZyAhPT0gU2ltcGxlTWVtb0NvbXBvbmVudCkge1xuICAgICAgLy8gT25seSB3YXJuIGZvciB1c2VyLWRlZmluZWQgY29tcG9uZW50cywgbm90IGludGVybmFsIG9uZXMgbGlrZSBTdXNwZW5zZS5cbiAgICAgIHJldHVybjtcbiAgICB9IC8vIFdlIHNob3cgdGhlIHdob2xlIHN0YWNrIGJ1dCBkZWR1cGUgb24gdGhlIHRvcCBjb21wb25lbnQncyBuYW1lIGJlY2F1c2VcbiAgICAvLyB0aGUgcHJvYmxlbWF0aWMgY29kZSBhbG1vc3QgYWx3YXlzIGxpZXMgaW5zaWRlIHRoYXQgY29tcG9uZW50LlxuXG5cbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdSZWFjdENvbXBvbmVudCc7XG5cbiAgICBpZiAoZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudCAhPT0gbnVsbCkge1xuICAgICAgaWYgKGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudC5hZGQoY29tcG9uZW50TmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQgPSBuZXcgU2V0KFtjb21wb25lbnROYW1lXSk7XG4gICAgfVxuXG4gICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgdHJ5IHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICAgIGVycm9yKFwiQ2FuJ3QgcGVyZm9ybSBhIFJlYWN0IHN0YXRlIHVwZGF0ZSBvbiBhIGNvbXBvbmVudCB0aGF0IGhhc24ndCBtb3VudGVkIHlldC4gXCIgKyAnVGhpcyBpbmRpY2F0ZXMgdGhhdCB5b3UgaGF2ZSBhIHNpZGUtZWZmZWN0IGluIHlvdXIgcmVuZGVyIGZ1bmN0aW9uIHRoYXQgJyArICdhc3luY2hyb25vdXNseSBsYXRlciBjYWxscyB0cmllcyB0byB1cGRhdGUgdGhlIGNvbXBvbmVudC4gTW92ZSB0aGlzIHdvcmsgdG8gJyArICd1c2VFZmZlY3QgaW5zdGVhZC4nKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKHByZXZpb3VzRmliZXIpIHtcbiAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG52YXIgYmVnaW5Xb3JrJDE7XG5cbntcbiAgdmFyIGR1bW15RmliZXIgPSBudWxsO1xuXG4gIGJlZ2luV29yayQxID0gZnVuY3Rpb24gKGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKSB7XG4gICAgLy8gSWYgYSBjb21wb25lbnQgdGhyb3dzIGFuIGVycm9yLCB3ZSByZXBsYXkgaXQgYWdhaW4gaW4gYSBzeW5jaHJvbm91c2x5XG4gICAgLy8gZGlzcGF0Y2hlZCBldmVudCwgc28gdGhhdCB0aGUgZGVidWdnZXIgd2lsbCB0cmVhdCBpdCBhcyBhbiB1bmNhdWdodFxuICAgIC8vIGVycm9yIFNlZSBSZWFjdEVycm9yVXRpbHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAgLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY29weSB0aGUgd29yay1pbi1wcm9ncmVzcyBvbnRvIGEgZHVtbXlcbiAgICAvLyBmaWJlci4gSWYgYmVnaW5Xb3JrIHRocm93cywgd2UnbGwgdXNlIHRoaXMgdG8gcmVzZXQgdGhlIHN0YXRlLlxuICAgIHZhciBvcmlnaW5hbFdvcmtJblByb2dyZXNzQ29weSA9IGFzc2lnbkZpYmVyUHJvcGVydGllc0luREVWKGR1bW15RmliZXIsIHVuaXRPZldvcmspO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBiZWdpbldvcmsoY3VycmVudCwgdW5pdE9mV29yaywgbGFuZXMpO1xuICAgIH0gY2F0Y2ggKG9yaWdpbmFsRXJyb3IpIHtcbiAgICAgIGlmIChkaWRTdXNwZW5kT3JFcnJvcldoaWxlSHlkcmF0aW5nREVWKCkgfHwgb3JpZ2luYWxFcnJvciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3JpZ2luYWxFcnJvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBEb24ndCByZXBsYXkgcHJvbWlzZXMuXG4gICAgICAgIC8vIERvbid0IHJlcGxheSBlcnJvcnMgaWYgd2UgYXJlIGh5ZHJhdGluZyBhbmQgaGF2ZSBhbHJlYWR5IHN1c3BlbmRlZCBvciBoYW5kbGVkIGFuIGVycm9yXG4gICAgICAgIHRocm93IG9yaWdpbmFsRXJyb3I7XG4gICAgICB9IC8vIEtlZXAgdGhpcyBjb2RlIGluIHN5bmMgd2l0aCBoYW5kbGVFcnJvcjsgYW55IGNoYW5nZXMgaGVyZSBtdXN0IGhhdmVcbiAgICAgIC8vIGNvcnJlc3BvbmRpbmcgY2hhbmdlcyB0aGVyZS5cblxuXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7IC8vIERvbid0IHJlc2V0IGN1cnJlbnQgZGVidWcgZmliZXIsIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHdvcmsgb24gdGhlXG4gICAgICAvLyBzYW1lIGZpYmVyIGFnYWluLlxuICAgICAgLy8gVW53aW5kIHRoZSBmYWlsZWQgc3RhY2sgZnJhbWVcblxuICAgICAgdW53aW5kSW50ZXJydXB0ZWRXb3JrKGN1cnJlbnQsIHVuaXRPZldvcmspOyAvLyBSZXN0b3JlIHRoZSBvcmlnaW5hbCBwcm9wZXJ0aWVzIG9mIHRoZSBmaWJlci5cblxuICAgICAgYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodW5pdE9mV29yaywgb3JpZ2luYWxXb3JrSW5Qcm9ncmVzc0NvcHkpO1xuXG4gICAgICBpZiAoIHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgIC8vIFJlc2V0IHRoZSBwcm9maWxlciB0aW1lci5cbiAgICAgICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgICAgfSAvLyBSdW4gYmVnaW5Xb3JrIGFnYWluLlxuXG5cbiAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBiZWdpbldvcmssIG51bGwsIGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKTtcblxuICAgICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcbiAgICAgICAgdmFyIHJlcGxheUVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgcmVwbGF5RXJyb3IgPT09ICdvYmplY3QnICYmIHJlcGxheUVycm9yICE9PSBudWxsICYmIHJlcGxheUVycm9yLl9zdXBwcmVzc0xvZ2dpbmcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsRXJyb3IgIT09IG51bGwgJiYgIW9yaWdpbmFsRXJyb3IuX3N1cHByZXNzTG9nZ2luZykge1xuICAgICAgICAgIC8vIElmIHN1cHByZXNzZWQsIGxldCB0aGUgZmxhZyBjYXJyeSBvdmVyIHRvIHRoZSBvcmlnaW5hbCBlcnJvciB3aGljaCBpcyB0aGUgb25lIHdlJ2xsIHJldGhyb3cuXG4gICAgICAgICAgb3JpZ2luYWxFcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBXZSBhbHdheXMgdGhyb3cgdGhlIG9yaWdpbmFsIGVycm9yIGluIGNhc2UgdGhlIHNlY29uZCByZW5kZXIgcGFzcyBpcyBub3QgaWRlbXBvdGVudC5cbiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiBhIG1lbW9pemVkIGZ1bmN0aW9uIG9yIENvbW1vbkpTIG1vZHVsZSBkb2Vzbid0IHRocm93IGFmdGVyIGZpcnN0IGludm9jYXRpb24uXG5cblxuICAgICAgdGhyb3cgb3JpZ2luYWxFcnJvcjtcbiAgICB9XG4gIH07XG59XG5cbnZhciBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlciA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudDtcblxue1xuICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQgPSBuZXcgU2V0KCk7XG59XG5cbmZ1bmN0aW9uIHdhcm5BYm91dFJlbmRlclBoYXNlVXBkYXRlc0luREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaXNSZW5kZXJpbmcgJiYgIWdldElzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2VJbkRFVigpKSB7XG4gICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcmVuZGVyaW5nQ29tcG9uZW50TmFtZSA9IHdvcmtJblByb2dyZXNzICYmIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIod29ya0luUHJvZ3Jlc3MpIHx8ICdVbmtub3duJzsgLy8gRGVkdXBlIGJ5IHRoZSByZW5kZXJpbmcgY29tcG9uZW50IGJlY2F1c2UgaXQncyB0aGUgb25lIHRoYXQgbmVlZHMgdG8gYmUgZml4ZWQuXG5cbiAgICAgICAgICAgIHZhciBkZWR1cGVLZXkgPSByZW5kZXJpbmdDb21wb25lbnROYW1lO1xuXG4gICAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudC5oYXMoZGVkdXBlS2V5KSkge1xuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQuYWRkKGRlZHVwZUtleSk7XG4gICAgICAgICAgICAgIHZhciBzZXRTdGF0ZUNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bic7XG5cbiAgICAgICAgICAgICAgZXJyb3IoJ0Nhbm5vdCB1cGRhdGUgYSBjb21wb25lbnQgKGAlc2ApIHdoaWxlIHJlbmRlcmluZyBhICcgKyAnZGlmZmVyZW50IGNvbXBvbmVudCAoYCVzYCkuIFRvIGxvY2F0ZSB0aGUgYmFkIHNldFN0YXRlKCkgY2FsbCBpbnNpZGUgYCVzYCwgJyArICdmb2xsb3cgdGhlIHN0YWNrIHRyYWNlIGFzIGRlc2NyaWJlZCBpbiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc2V0c3RhdGUtaW4tcmVuZGVyJywgc2V0U3RhdGVDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlcikge1xuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBkdXJpbmcgYW4gZXhpc3Rpbmcgc3RhdGUgdHJhbnNpdGlvbiAoc3VjaCBhcyAnICsgJ3dpdGhpbiBgcmVuZGVyYCkuIFJlbmRlciBtZXRob2RzIHNob3VsZCBiZSBhIHB1cmUgJyArICdmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuJyk7XG5cbiAgICAgICAgICAgICAgZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlc3RvcmVQZW5kaW5nVXBkYXRlcnMocm9vdCwgbGFuZXMpIHtcbiAge1xuICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgdmFyIG1lbW9pemVkVXBkYXRlcnMgPSByb290Lm1lbW9pemVkVXBkYXRlcnM7XG4gICAgICBtZW1vaXplZFVwZGF0ZXJzLmZvckVhY2goZnVuY3Rpb24gKHNjaGVkdWxpbmdGaWJlcikge1xuICAgICAgICBhZGRGaWJlclRvTGFuZXNNYXAocm9vdCwgc2NoZWR1bGluZ0ZpYmVyLCBsYW5lcyk7XG4gICAgICB9KTsgLy8gVGhpcyBmdW5jdGlvbiBpbnRlbnRpb25hbGx5IGRvZXMgbm90IGNsZWFyIG1lbW9pemVkIHVwZGF0ZXJzLlxuICAgICAgLy8gVGhvc2UgbWF5IHN0aWxsIGJlIHJlbGV2YW50IHRvIHRoZSBjdXJyZW50IGNvbW1pdFxuICAgICAgLy8gYW5kIGEgZnV0dXJlIG9uZSAoZS5nLiBTdXNwZW5zZSkuXG4gICAgfVxuICB9XG59XG52YXIgZmFrZUFjdENhbGxiYWNrTm9kZSA9IHt9O1xuXG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrJDEocHJpb3JpdHlMZXZlbCwgY2FsbGJhY2spIHtcbiAge1xuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBpbnNpZGUgYW4gYGFjdGAgc2NvcGUsIGJ5cGFzcyBTY2hlZHVsZXIgYW5kIHB1c2ggdG9cbiAgICAvLyB0aGUgYGFjdGAgcXVldWUgaW5zdGVhZC5cbiAgICB2YXIgYWN0UXVldWUgPSBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQ7XG5cbiAgICBpZiAoYWN0UXVldWUgIT09IG51bGwpIHtcbiAgICAgIGFjdFF1ZXVlLnB1c2goY2FsbGJhY2spO1xuICAgICAgcmV0dXJuIGZha2VBY3RDYWxsYmFja05vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzY2hlZHVsZUNhbGxiYWNrKHByaW9yaXR5TGV2ZWwsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuY2VsQ2FsbGJhY2skMShjYWxsYmFja05vZGUpIHtcbiAgaWYgKCBjYWxsYmFja05vZGUgPT09IGZha2VBY3RDYWxsYmFja05vZGUpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gSW4gcHJvZHVjdGlvbiwgYWx3YXlzIGNhbGwgU2NoZWR1bGVyLiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgc3RyaXBwZWQgb3V0LlxuXG5cbiAgcmV0dXJuIGNhbmNlbENhbGxiYWNrKGNhbGxiYWNrTm9kZSk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpIHtcbiAgLy8gTmV2ZXIgZm9yY2UgZmx1c2ggaW4gcHJvZHVjdGlvbi4gVGhpcyBmdW5jdGlvbiBzaG91bGQgZ2V0IHN0cmlwcGVkIG91dC5cbiAgcmV0dXJuICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQgIT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlVwZGF0ZXNOb3RXcmFwcGVkV2l0aEFjdERFVihmaWJlcikge1xuICB7XG4gICAgaWYgKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgaWYgKCFpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgIC8vIE5vdCBpbiBhbiBhY3QgZW52aXJvbm1lbnQuIE5vIG5lZWQgdG8gd2Fybi5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBMZWdhY3kgbW9kZSBoYXMgYWRkaXRpb25hbCBjYXNlcyB3aGVyZSB3ZSBzdXBwcmVzcyBhIHdhcm5pbmcuXG4gICAgICBpZiAoIWlzTGVnYWN5QWN0RW52aXJvbm1lbnQoKSkge1xuICAgICAgICAvLyBOb3QgaW4gYW4gYWN0IGVudmlyb25tZW50LiBObyBuZWVkIHRvIHdhcm4uXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgIT09IE5vQ29udGV4dCkge1xuICAgICAgICAvLyBMZWdhY3kgbW9kZSBkb2Vzbid0IHdhcm4gaWYgdGhlIHVwZGF0ZSBpcyBiYXRjaGVkLCBpLmUuXG4gICAgICAgIC8vIGJhdGNoZWRVcGRhdGVzIG9yIGZsdXNoU3luYy5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmliZXIudGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiBmaWJlci50YWcgIT09IEZvcndhcmRSZWYgJiYgZmliZXIudGFnICE9PSBTaW1wbGVNZW1vQ29tcG9uZW50KSB7XG4gICAgICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHByZS1ob29rcyBjb2RlLCBsZWdhY3kgbW9kZSBvbmx5XG4gICAgICAgIC8vIHdhcm5zIGZvciB1cGRhdGVzIHRoYXQgb3JpZ2luYXRlIGZyb20gYSBob29rLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgICB0cnkge1xuICAgICAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuXG4gICAgICAgIGVycm9yKCdBbiB1cGRhdGUgdG8gJXMgaW5zaWRlIGEgdGVzdCB3YXMgbm90IHdyYXBwZWQgaW4gYWN0KC4uLikuXFxuXFxuJyArICdXaGVuIHRlc3RpbmcsIGNvZGUgdGhhdCBjYXVzZXMgUmVhY3Qgc3RhdGUgdXBkYXRlcyBzaG91bGQgYmUgJyArICd3cmFwcGVkIGludG8gYWN0KC4uLik6XFxuXFxuJyArICdhY3QoKCkgPT4ge1xcbicgKyAnICAvKiBmaXJlIGV2ZW50cyB0aGF0IHVwZGF0ZSBzdGF0ZSAqL1xcbicgKyAnfSk7XFxuJyArICcvKiBhc3NlcnQgb24gdGhlIG91dHB1dCAqL1xcblxcbicgKyBcIlRoaXMgZW5zdXJlcyB0aGF0IHlvdSdyZSB0ZXN0aW5nIHRoZSBiZWhhdmlvciB0aGUgdXNlciB3b3VsZCBzZWUgXCIgKyAnaW4gdGhlIGJyb3dzZXIuJyArICcgTGVhcm4gbW9yZSBhdCBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd3JhcC10ZXN0cy13aXRoLWFjdCcsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlmIChwcmV2aW91c0ZpYmVyKSB7XG4gICAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlN1c3BlbnNlUmVzb2x1dGlvbk5vdFdyYXBwZWRXaXRoQWN0REVWKHJvb3QpIHtcbiAge1xuICAgIGlmIChyb290LnRhZyAhPT0gTGVnYWN5Um9vdCAmJiBpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpICYmIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgZXJyb3IoJ0Egc3VzcGVuZGVkIHJlc291cmNlIGZpbmlzaGVkIGxvYWRpbmcgaW5zaWRlIGEgdGVzdCwgYnV0IHRoZSBldmVudCAnICsgJ3dhcyBub3Qgd3JhcHBlZCBpbiBhY3QoLi4uKS5cXG5cXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IHJlc29sdmVzIHN1c3BlbmRlZCBkYXRhIHNob3VsZCBiZSB3cmFwcGVkICcgKyAnaW50byBhY3QoLi4uKTpcXG5cXG4nICsgJ2FjdCgoKSA9PiB7XFxuJyArICcgIC8qIGZpbmlzaCBsb2FkaW5nIHN1c3BlbmRlZCBkYXRhICovXFxuJyArICd9KTtcXG4nICsgJy8qIGFzc2VydCBvbiB0aGUgb3V0cHV0ICovXFxuXFxuJyArIFwiVGhpcyBlbnN1cmVzIHRoYXQgeW91J3JlIHRlc3RpbmcgdGhlIGJlaGF2aW9yIHRoZSB1c2VyIHdvdWxkIHNlZSBcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93cmFwLXRlc3RzLXdpdGgtYWN0Jyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChpc1J1bm5pbmcpIHtcbiAge1xuICAgIGlzUnVubmluZ0luc2VydGlvbkVmZmVjdCA9IGlzUnVubmluZztcbiAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzICovXG52YXIgcmVzb2x2ZUZhbWlseSA9IG51bGw7IC8vICRGbG93Rml4TWUgRmxvdyBnZXRzIGNvbmZ1c2VkIGJ5IGEgV2Vha1NldCBmZWF0dXJlIGNoZWNrIGJlbG93LlxuXG52YXIgZmFpbGVkQm91bmRhcmllcyA9IG51bGw7XG52YXIgc2V0UmVmcmVzaEhhbmRsZXIgPSBmdW5jdGlvbiAoaGFuZGxlcikge1xuICB7XG4gICAgcmVzb2x2ZUZhbWlseSA9IGhhbmRsZXI7XG4gIH1cbn07XG5mdW5jdGlvbiByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG5cbiAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseSh0eXBlKTtcblxuICAgIGlmIChmYW1pbHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICAvLyBObyBpbXBsZW1lbnRhdGlvbiBkaWZmZXJlbmNlcy5cbiAgcmV0dXJuIHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyh0eXBlKTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVGb3J3YXJkUmVmRm9ySG90UmVsb2FkaW5nKHR5cGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgdmFyIGZhbWlseSA9IHJlc29sdmVGYW1pbHkodHlwZSk7XG5cbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIENoZWNrIGlmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIHJlYWwgZm9yd2FyZFJlZi4gRG9uJ3Qgd2FudCB0byBjcmFzaCBlYXJseS5cbiAgICAgIGlmICh0eXBlICE9PSBudWxsICYmIHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRm9yd2FyZFJlZiBpcyBzcGVjaWFsIGJlY2F1c2UgaXRzIHJlc29sdmVkIC50eXBlIGlzIGFuIG9iamVjdCxcbiAgICAgICAgLy8gYnV0IGl0J3MgcG9zc2libGUgdGhhdCB3ZSBvbmx5IGhhdmUgaXRzIGlubmVyIHJlbmRlciBmdW5jdGlvbiBpbiB0aGUgbWFwLlxuICAgICAgICAvLyBJZiB0aGF0IGlubmVyIHJlbmRlciBmdW5jdGlvbiBpcyBkaWZmZXJlbnQsIHdlJ2xsIGJ1aWxkIGEgbmV3IGZvcndhcmRSZWYgdHlwZS5cbiAgICAgICAgdmFyIGN1cnJlbnRSZW5kZXIgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZS5yZW5kZXIpO1xuXG4gICAgICAgIGlmICh0eXBlLnJlbmRlciAhPT0gY3VycmVudFJlbmRlcikge1xuICAgICAgICAgIHZhciBzeW50aGV0aWNUeXBlID0ge1xuICAgICAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUsXG4gICAgICAgICAgICByZW5kZXI6IGN1cnJlbnRSZW5kZXJcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKHR5cGUuZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc3ludGhldGljVHlwZS5kaXNwbGF5TmFtZSA9IHR5cGUuZGlzcGxheU5hbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHN5bnRoZXRpY1R5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoZmliZXIsIGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBwcmV2VHlwZSA9IGZpYmVyLmVsZW1lbnRUeXBlO1xuICAgIHZhciBuZXh0VHlwZSA9IGVsZW1lbnQudHlwZTsgLy8gSWYgd2UgZ290IGhlcmUsIHdlIGtub3cgdHlwZXMgYXJlbid0ID09PSBlcXVhbC5cblxuICAgIHZhciBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IGZhbHNlO1xuICAgIHZhciAkJHR5cGVvZk5leHRUeXBlID0gdHlwZW9mIG5leHRUeXBlID09PSAnb2JqZWN0JyAmJiBuZXh0VHlwZSAhPT0gbnVsbCA/IG5leHRUeXBlLiQkdHlwZW9mIDogbnVsbDtcblxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBuZXh0VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5leHRUeXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFdlIGRvbid0IGtub3cgdGhlIGlubmVyIHR5cGUgeWV0LlxuICAgICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoYXQgdGhlIGxhenkgaW5uZXIgdHlwZSBpcyBzdGFibGUsXG4gICAgICAgICAgICAvLyBhbmQgc28gaXQgaXMgc3VmZmljaWVudCB0byBhdm9pZCByZWNvbmNpbGluZyBpdCBhd2F5LlxuICAgICAgICAgICAgLy8gV2UncmUgbm90IGdvaW5nIHRvIHVud3JhcCBvciBhY3R1YWxseSB1c2UgdGhlIG5ldyBsYXp5IHR5cGUuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0xBWllfVFlQRSkge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IGlmIGl0IHdhcyBidXQgY2FuIG5vIGxvbmdlciBiZSBzaW1wbGUsXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGRuJ3Qgc2V0IHRoaXMuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSAvLyBDaGVjayBpZiBib3RoIHR5cGVzIGhhdmUgYSBmYW1pbHkgYW5kIGl0J3MgdGhlIHNhbWUgb25lLlxuXG5cbiAgICBpZiAobmVlZHNDb21wYXJlRmFtaWxpZXMpIHtcbiAgICAgIC8vIE5vdGU6IG1lbW8oKSBhbmQgZm9yd2FyZFJlZigpIHdlJ2xsIGNvbXBhcmUgb3V0ZXIgcmF0aGVyIHRoYW4gaW5uZXIgdHlwZS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgYm90aCBvZiB0aGVtIG5lZWQgdG8gYmUgcmVnaXN0ZXJlZCB0byBwcmVzZXJ2ZSBzdGF0ZS5cbiAgICAgIC8vIElmIHdlIHVud3JhcHBlZCBhbmQgY29tcGFyZWQgdGhlIGlubmVyIHR5cGVzIGZvciB3cmFwcGVycyBpbnN0ZWFkLFxuICAgICAgLy8gdGhlbiB3ZSB3b3VsZCByaXNrIGZhbHNlbHkgc2F5aW5nIHR3byBzZXBhcmF0ZSBtZW1vKEZvbylcbiAgICAgIC8vIGNhbGxzIGFyZSBlcXVpdmFsZW50IGJlY2F1c2UgdGhleSB3cmFwIHRoZSBzYW1lIEZvbyBmdW5jdGlvbi5cbiAgICAgIHZhciBwcmV2RmFtaWx5ID0gcmVzb2x2ZUZhbWlseShwcmV2VHlwZSk7XG5cbiAgICAgIGlmIChwcmV2RmFtaWx5ICE9PSB1bmRlZmluZWQgJiYgcHJldkZhbWlseSA9PT0gcmVzb2x2ZUZhbWlseShuZXh0VHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcikge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBXZWFrU2V0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZhaWxlZEJvdW5kYXJpZXMgPT09IG51bGwpIHtcbiAgICAgIGZhaWxlZEJvdW5kYXJpZXMgPSBuZXcgV2Vha1NldCgpO1xuICAgIH1cblxuICAgIGZhaWxlZEJvdW5kYXJpZXMuYWRkKGZpYmVyKTtcbiAgfVxufVxudmFyIHNjaGVkdWxlUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCB1cGRhdGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzdGFsZUZhbWlsaWVzID0gdXBkYXRlLnN0YWxlRmFtaWxpZXMsXG4gICAgICAgIHVwZGF0ZWRGYW1pbGllcyA9IHVwZGF0ZS51cGRhdGVkRmFtaWxpZXM7XG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KHJvb3QuY3VycmVudCwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKTtcbiAgICB9KTtcbiAgfVxufTtcbnZhciBzY2hlZHVsZVJvb3QgPSBmdW5jdGlvbiAocm9vdCwgZWxlbWVudCkge1xuICB7XG4gICAgaWYgKHJvb3QuY29udGV4dCAhPT0gZW1wdHlDb250ZXh0T2JqZWN0KSB7XG4gICAgICAvLyBTdXBlciBlZGdlIGNhc2U6IHJvb3QgaGFzIGEgbGVnYWN5IF9yZW5kZXJTdWJ0cmVlIGNvbnRleHRcbiAgICAgIC8vIGJ1dCB3ZSBkb24ndCBrbm93IHRoZSBwYXJlbnRDb21wb25lbnQgc28gd2UgY2FuJ3QgcGFzcyBpdC5cbiAgICAgIC8vIEp1c3QgaWdub3JlLiBXZSdsbCBkZWxldGUgdGhpcyB3aXRoIF9yZW5kZXJTdWJ0cmVlIGNvZGUgcGF0aCBsYXRlci5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gICAgZmx1c2hTeW5jKGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihlbGVtZW50LCByb290LCBudWxsLCBudWxsKTtcbiAgICB9KTtcbiAgfVxufTtcblxuZnVuY3Rpb24gc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShmaWJlciwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKSB7XG4gIHtcbiAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlLFxuICAgICAgICBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHJlc29sdmVGYW1pbHkgdG8gYmUgc2V0IGR1cmluZyBob3QgcmVsb2FkLicpO1xuICAgIH1cblxuICAgIHZhciBuZWVkc1JlbmRlciA9IGZhbHNlO1xuICAgIHZhciBuZWVkc1JlbW91bnQgPSBmYWxzZTtcblxuICAgIGlmIChjYW5kaWRhdGVUeXBlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseShjYW5kaWRhdGVUeXBlKTtcblxuICAgICAgaWYgKGZhbWlseSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChzdGFsZUZhbWlsaWVzLmhhcyhmYW1pbHkpKSB7XG4gICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh1cGRhdGVkRmFtaWxpZXMuaGFzKGZhbWlseSkpIHtcbiAgICAgICAgICBpZiAodGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmVlZHNSZW5kZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmYWlsZWRCb3VuZGFyaWVzICE9PSBudWxsKSB7XG4gICAgICBpZiAoZmFpbGVkQm91bmRhcmllcy5oYXMoZmliZXIpIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBmYWlsZWRCb3VuZGFyaWVzLmhhcyhhbHRlcm5hdGUpKSB7XG4gICAgICAgIG5lZWRzUmVtb3VudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5lZWRzUmVtb3VudCkge1xuICAgICAgZmliZXIuX2RlYnVnTmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobmVlZHNSZW1vdW50IHx8IG5lZWRzUmVuZGVyKSB7XG4gICAgICB2YXIgX3Jvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgICAgaWYgKF9yb290ICE9PSBudWxsKSB7XG4gICAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihfcm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsICYmICFuZWVkc1JlbW91bnQpIHtcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoY2hpbGQsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XG4gICAgfVxuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoc2libGluZywgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCBmYW1pbGllcykge1xuICB7XG4gICAgdmFyIGhvc3RJbnN0YW5jZXMgPSBuZXcgU2V0KCk7XG4gICAgdmFyIHR5cGVzID0gbmV3IFNldChmYW1pbGllcy5tYXAoZnVuY3Rpb24gKGZhbWlseSkge1xuICAgICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICAgIH0pKTtcbiAgICBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkocm9vdC5jdXJyZW50LCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgcmV0dXJuIGhvc3RJbnN0YW5jZXM7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShmaWJlciwgdHlwZXMsIGhvc3RJbnN0YW5jZXMpIHtcbiAge1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBkaWRNYXRjaCA9IGZhbHNlO1xuXG4gICAgaWYgKGNhbmRpZGF0ZVR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlcy5oYXMoY2FuZGlkYXRlVHlwZSkpIHtcbiAgICAgICAgZGlkTWF0Y2ggPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkaWRNYXRjaCkge1xuICAgICAgLy8gV2UgaGF2ZSBhIG1hdGNoLiBUaGlzIG9ubHkgZHJpbGxzIGRvd24gdG8gdGhlIGNsb3Nlc3QgaG9zdCBjb21wb25lbnRzLlxuICAgICAgLy8gVGhlcmUncyBubyBuZWVkIHRvIHNlYXJjaCBkZWVwZXIgYmVjYXVzZSBmb3IgdGhlIHB1cnBvc2Ugb2YgZ2l2aW5nXG4gICAgICAvLyB2aXN1YWwgZmVlZGJhY2ssIFwiZmxhc2hpbmdcIiBvdXRlcm1vc3QgcGFyZW50IHJlY3RhbmdsZXMgaXMgc3VmZmljaWVudC5cbiAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB0aGVyZSdzIG5vIG1hdGNoLCBtYXliZSB0aGVyZSB3aWxsIGJlIG9uZSBmdXJ0aGVyIGRvd24gaW4gdGhlIGNoaWxkIHRyZWUuXG4gICAgICBpZiAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KGNoaWxkLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShzaWJsaW5nLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpIHtcbiAge1xuICAgIHZhciBmb3VuZEhvc3RJbnN0YW5jZXMgPSBmaW5kQ2hpbGRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xuXG4gICAgaWYgKGZvdW5kSG9zdEluc3RhbmNlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgd2UgZGlkbid0IGZpbmQgYW55IGhvc3QgY2hpbGRyZW4sIGZhbGxiYWNrIHRvIGNsb3Nlc3QgaG9zdCBwYXJlbnQuXG5cblxuICAgIHZhciBub2RlID0gZmliZXI7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgc3dpdGNoIChub2RlLnRhZykge1xuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUpO1xuICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byByZWFjaCByb290IGZpcnN0LicpO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRDaGlsZEhvc3RJbnN0YW5jZXNGb3JGaWJlclNoYWxsb3dseShmaWJlciwgaG9zdEluc3RhbmNlcykge1xuICB7XG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcbiAgICB2YXIgZm91bmRIb3N0SW5zdGFuY2VzID0gZmFsc2U7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50KSB7XG4gICAgICAgIC8vIFdlIGdvdCBhIG1hdGNoLlxuICAgICAgICBmb3VuZEhvc3RJbnN0YW5jZXMgPSB0cnVlO1xuICAgICAgICBob3N0SW5zdGFuY2VzLmFkZChub2RlLnN0YXRlTm9kZSk7IC8vIFRoZXJlIG1heSBzdGlsbCBiZSBtb3JlLCBzbyBrZWVwIHNlYXJjaGluZy5cbiAgICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZpYmVyKSB7XG4gICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaWJlcikge1xuICAgICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcbiAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG52YXIgaGFzQmFkTWFwUG9seWZpbGw7XG5cbntcbiAgaGFzQmFkTWFwUG9seWZpbGwgPSBmYWxzZTtcblxuICB0cnkge1xuICAgIHZhciBub25FeHRlbnNpYmxlT2JqZWN0ID0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1uZXcgKi9cblxuICAgIG5ldyBNYXAoW1tub25FeHRlbnNpYmxlT2JqZWN0LCBudWxsXV0pO1xuICAgIG5ldyBTZXQoW25vbkV4dGVuc2libGVPYmplY3RdKTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLW5ldyAqL1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gVE9ETzogQ29uc2lkZXIgd2FybmluZyBhYm91dCBiYWQgcG9seWZpbGxzXG4gICAgaGFzQmFkTWFwUG9seWZpbGwgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKSB7XG4gIC8vIEluc3RhbmNlXG4gIHRoaXMudGFnID0gdGFnO1xuICB0aGlzLmtleSA9IGtleTtcbiAgdGhpcy5lbGVtZW50VHlwZSA9IG51bGw7XG4gIHRoaXMudHlwZSA9IG51bGw7XG4gIHRoaXMuc3RhdGVOb2RlID0gbnVsbDsgLy8gRmliZXJcblxuICB0aGlzLnJldHVybiA9IG51bGw7XG4gIHRoaXMuY2hpbGQgPSBudWxsO1xuICB0aGlzLnNpYmxpbmcgPSBudWxsO1xuICB0aGlzLmluZGV4ID0gMDtcbiAgdGhpcy5yZWYgPSBudWxsO1xuICB0aGlzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wcztcbiAgdGhpcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgdGhpcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gIHRoaXMubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHRoaXMuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgdGhpcy5tb2RlID0gbW9kZTsgLy8gRWZmZWN0c1xuXG4gIHRoaXMuZmxhZ3MgPSBOb0ZsYWdzO1xuICB0aGlzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3M7XG4gIHRoaXMuZGVsZXRpb25zID0gbnVsbDtcbiAgdGhpcy5sYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuYWx0ZXJuYXRlID0gbnVsbDtcblxuICB7XG4gICAgLy8gTm90ZTogVGhlIGZvbGxvd2luZyBpcyBkb25lIHRvIGF2b2lkIGEgdjggcGVyZm9ybWFuY2UgY2xpZmYuXG4gICAgLy9cbiAgICAvLyBJbml0aWFsaXppbmcgdGhlIGZpZWxkcyBiZWxvdyB0byBzbWlzIGFuZCBsYXRlciB1cGRhdGluZyB0aGVtIHdpdGhcbiAgICAvLyBkb3VibGUgdmFsdWVzIHdpbGwgY2F1c2UgRmliZXJzIHRvIGVuZCB1cCBoYXZpbmcgc2VwYXJhdGUgc2hhcGVzLlxuICAgIC8vIFRoaXMgYmVoYXZpb3IvYnVnIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCBPYmplY3QucHJldmVudEV4dGVuc2lvbigpLlxuICAgIC8vIEZvcnR1bmF0ZWx5IHRoaXMgb25seSBpbXBhY3RzIERFViBidWlsZHMuXG4gICAgLy8gVW5mb3J0dW5hdGVseSBpdCBtYWtlcyBSZWFjdCB1bnVzYWJseSBzbG93IGZvciBzb21lIGFwcGxpY2F0aW9ucy5cbiAgICAvLyBUbyB3b3JrIGFyb3VuZCB0aGlzLCBpbml0aWFsaXplIHRoZSBmaWVsZHMgYmVsb3cgd2l0aCBkb3VibGVzLlxuICAgIC8vXG4gICAgLy8gTGVhcm4gbW9yZSBhYm91dCB0aGlzIGhlcmU6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNDM2NVxuICAgIC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTg1MzhcbiAgICB0aGlzLmFjdHVhbER1cmF0aW9uID0gTnVtYmVyLk5hTjtcbiAgICB0aGlzLmFjdHVhbFN0YXJ0VGltZSA9IE51bWJlci5OYU47XG4gICAgdGhpcy5zZWxmQmFzZUR1cmF0aW9uID0gTnVtYmVyLk5hTjtcbiAgICB0aGlzLnRyZWVCYXNlRHVyYXRpb24gPSBOdW1iZXIuTmFOOyAvLyBJdCdzIG9rYXkgdG8gcmVwbGFjZSB0aGUgaW5pdGlhbCBkb3VibGVzIHdpdGggc21pcyBhZnRlciBpbml0aWFsaXphdGlvbi5cbiAgICAvLyBUaGlzIHdvbid0IHRyaWdnZXIgdGhlIHBlcmZvcm1hbmNlIGNsaWZmIG1lbnRpb25lZCBhYm92ZSxcbiAgICAvLyBhbmQgaXQgc2ltcGxpZmllcyBvdGhlciBwcm9maWxlciBjb2RlIChpbmNsdWRpbmcgRGV2VG9vbHMpLlxuXG4gICAgdGhpcy5hY3R1YWxEdXJhdGlvbiA9IDA7XG4gICAgdGhpcy5hY3R1YWxTdGFydFRpbWUgPSAtMTtcbiAgICB0aGlzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xuICAgIHRoaXMudHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gIH1cblxuICB7XG4gICAgLy8gVGhpcyBpc24ndCBkaXJlY3RseSB1c2VkIGJ1dCBpcyBoYW5keSBmb3IgZGVidWdnaW5nIGludGVybmFsczpcbiAgICB0aGlzLl9kZWJ1Z1NvdXJjZSA9IG51bGw7XG4gICAgdGhpcy5fZGVidWdPd25lciA9IG51bGw7XG4gICAgdGhpcy5fZGVidWdOZWVkc1JlbW91bnQgPSBmYWxzZTtcbiAgICB0aGlzLl9kZWJ1Z0hvb2tUeXBlcyA9IG51bGw7XG5cbiAgICBpZiAoIWhhc0JhZE1hcFBvbHlmaWxsICYmIHR5cGVvZiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0aGlzKTtcbiAgICB9XG4gIH1cbn0gLy8gVGhpcyBpcyBhIGNvbnN0cnVjdG9yIGZ1bmN0aW9uLCByYXRoZXIgdGhhbiBhIFBPSk8gY29uc3RydWN0b3IsIHN0aWxsXG4vLyBwbGVhc2UgZW5zdXJlIHdlIGRvIHRoZSBmb2xsb3dpbmc6XG4vLyAxKSBOb2JvZHkgc2hvdWxkIGFkZCBhbnkgaW5zdGFuY2UgbWV0aG9kcyBvbiB0aGlzLiBJbnN0YW5jZSBtZXRob2RzIGNhbiBiZVxuLy8gICAgbW9yZSBkaWZmaWN1bHQgdG8gcHJlZGljdCB3aGVuIHRoZXkgZ2V0IG9wdGltaXplZCBhbmQgdGhleSBhcmUgYWxtb3N0XG4vLyAgICBuZXZlciBpbmxpbmVkIHByb3Blcmx5IGluIHN0YXRpYyBjb21waWxlcnMuXG4vLyAyKSBOb2JvZHkgc2hvdWxkIHJlbHkgb24gYGluc3RhbmNlb2YgRmliZXJgIGZvciB0eXBlIHRlc3RpbmcuIFdlIHNob3VsZFxuLy8gICAgYWx3YXlzIGtub3cgd2hlbiBpdCBpcyBhIGZpYmVyLlxuLy8gMykgV2UgbWlnaHQgd2FudCB0byBleHBlcmltZW50IHdpdGggdXNpbmcgbnVtZXJpYyBrZXlzIHNpbmNlIHRoZXkgYXJlIGVhc2llclxuLy8gICAgdG8gb3B0aW1pemUgaW4gYSBub24tSklUIGVudmlyb25tZW50LlxuLy8gNCkgV2UgY2FuIGVhc2lseSBnbyBmcm9tIGEgY29uc3RydWN0b3IgdG8gYSBjcmVhdGVGaWJlciBvYmplY3QgbGl0ZXJhbCBpZiB0aGF0XG4vLyAgICBpcyBmYXN0ZXIuXG4vLyA1KSBJdCBzaG91bGQgYmUgZWFzeSB0byBwb3J0IHRoaXMgdG8gYSBDIHN0cnVjdCBhbmQga2VlcCBhIEMgaW1wbGVtZW50YXRpb25cbi8vICAgIGNvbXBhdGlibGUuXG5cblxudmFyIGNyZWF0ZUZpYmVyID0gZnVuY3Rpb24gKHRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpIHtcbiAgLy8gJEZsb3dGaXhNZTogdGhlIHNoYXBlcyBhcmUgZXhhY3QgaGVyZSBidXQgRmxvdyBkb2Vzbid0IGxpa2UgY29uc3RydWN0b3JzXG4gIHJldHVybiBuZXcgRmliZXJOb2RlKHRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpO1xufTtcblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0JDEoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiAhc2hvdWxkQ29uc3RydWN0JDEodHlwZSkgJiYgdHlwZS5kZWZhdWx0UHJvcHMgPT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHJlc29sdmVMYXp5Q29tcG9uZW50VGFnKENvbXBvbmVudCkge1xuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBzaG91bGRDb25zdHJ1Y3QkMShDb21wb25lbnQpID8gQ2xhc3NDb21wb25lbnQgOiBGdW5jdGlvbkNvbXBvbmVudDtcbiAgfSBlbHNlIGlmIChDb21wb25lbnQgIT09IHVuZGVmaW5lZCAmJiBDb21wb25lbnQgIT09IG51bGwpIHtcbiAgICB2YXIgJCR0eXBlb2YgPSBDb21wb25lbnQuJCR0eXBlb2Y7XG5cbiAgICBpZiAoJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgIHJldHVybiBGb3J3YXJkUmVmO1xuICAgIH1cblxuICAgIGlmICgkJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XG4gICAgICByZXR1cm4gTWVtb0NvbXBvbmVudDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDtcbn0gLy8gVGhpcyBpcyB1c2VkIHRvIGNyZWF0ZSBhbiBhbHRlcm5hdGUgZmliZXIgdG8gZG8gd29yayBvbi5cblxuZnVuY3Rpb24gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudCwgcGVuZGluZ1Byb3BzKSB7XG4gIHZhciB3b3JrSW5Qcm9ncmVzcyA9IGN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyA9PT0gbnVsbCkge1xuICAgIC8vIFdlIHVzZSBhIGRvdWJsZSBidWZmZXJpbmcgcG9vbGluZyB0ZWNobmlxdWUgYmVjYXVzZSB3ZSBrbm93IHRoYXQgd2UnbGxcbiAgICAvLyBvbmx5IGV2ZXIgbmVlZCBhdCBtb3N0IHR3byB2ZXJzaW9ucyBvZiBhIHRyZWUuIFdlIHBvb2wgdGhlIFwib3RoZXJcIiB1bnVzZWRcbiAgICAvLyBub2RlIHRoYXQgd2UncmUgZnJlZSB0byByZXVzZS4gVGhpcyBpcyBsYXppbHkgY3JlYXRlZCB0byBhdm9pZCBhbGxvY2F0aW5nXG4gICAgLy8gZXh0cmEgb2JqZWN0cyBmb3IgdGhpbmdzIHRoYXQgYXJlIG5ldmVyIHVwZGF0ZWQuIEl0IGFsc28gYWxsb3cgdXMgdG9cbiAgICAvLyByZWNsYWltIHRoZSBleHRyYSBtZW1vcnkgaWYgbmVlZGVkLlxuICAgIHdvcmtJblByb2dyZXNzID0gY3JlYXRlRmliZXIoY3VycmVudC50YWcsIHBlbmRpbmdQcm9wcywgY3VycmVudC5rZXksIGN1cnJlbnQubW9kZSk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPSBjdXJyZW50LmVsZW1lbnRUeXBlO1xuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7XG4gICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3VycmVudC5zdGF0ZU5vZGU7XG5cbiAgICB7XG4gICAgICAvLyBERVYtb25seSBmaWVsZHNcbiAgICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z1NvdXJjZSA9IGN1cnJlbnQuX2RlYnVnU291cmNlO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnT3duZXIgPSBjdXJyZW50Ll9kZWJ1Z093bmVyO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSG9va1R5cGVzID0gY3VycmVudC5fZGVidWdIb29rVHlwZXM7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gY3VycmVudDtcbiAgICBjdXJyZW50LmFsdGVybmF0ZSA9IHdvcmtJblByb2dyZXNzO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wczsgLy8gTmVlZGVkIGJlY2F1c2UgQmxvY2tzIHN0b3JlIGRhdGEgb24gdHlwZS5cblxuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7IC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBhbHRlcm5hdGUuXG4gICAgLy8gUmVzZXQgdGhlIGVmZmVjdCB0YWcuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IE5vRmxhZ3M7IC8vIFRoZSBlZmZlY3RzIGFyZSBubyBsb25nZXIgdmFsaWQuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5zdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzO1xuICAgIHdvcmtJblByb2dyZXNzLmRlbGV0aW9ucyA9IG51bGw7XG5cbiAgICB7XG4gICAgICAvLyBXZSBpbnRlbnRpb25hbGx5IHJlc2V0LCByYXRoZXIgdGhhbiBjb3B5LCBhY3R1YWxEdXJhdGlvbiAmIGFjdHVhbFN0YXJ0VGltZS5cbiAgICAgIC8vIFRoaXMgcHJldmVudHMgdGltZSBmcm9tIGVuZGxlc3NseSBhY2N1bXVsYXRpbmcgaW4gbmV3IGNvbW1pdHMuXG4gICAgICAvLyBUaGlzIGhhcyB0aGUgZG93bnNpZGUgb2YgcmVzZXR0aW5nIHZhbHVlcyBmb3IgZGlmZmVyZW50IHByaW9yaXR5IHJlbmRlcnMsXG4gICAgICAvLyBCdXQgd29ya3MgZm9yIHlpZWxkaW5nICh0aGUgY29tbW9uIGNhc2UpIGFuZCBzaG91bGQgc3VwcG9ydCByZXN1bWluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uID0gMDtcbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbFN0YXJ0VGltZSA9IC0xO1xuICAgIH1cbiAgfSAvLyBSZXNldCBhbGwgZWZmZWN0cyBleGNlcHQgc3RhdGljIG9uZXMuXG4gIC8vIFN0YXRpYyBlZmZlY3RzIGFyZSBub3Qgc3BlY2lmaWMgdG8gYSByZW5kZXIuXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IGN1cnJlbnQuZmxhZ3MgJiBTdGF0aWNNYXNrO1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZExhbmVzID0gY3VycmVudC5jaGlsZExhbmVzO1xuICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGN1cnJlbnQubGFuZXM7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xuICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXG5cbiAgdmFyIGN1cnJlbnREZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcbiAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gY3VycmVudERlcGVuZGVuY2llcyA9PT0gbnVsbCA/IG51bGwgOiB7XG4gICAgbGFuZXM6IGN1cnJlbnREZXBlbmRlbmNpZXMubGFuZXMsXG4gICAgZmlyc3RDb250ZXh0OiBjdXJyZW50RGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dFxuICB9OyAvLyBUaGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gZHVyaW5nIHRoZSBwYXJlbnQncyByZWNvbmNpbGlhdGlvblxuXG4gIHdvcmtJblByb2dyZXNzLnNpYmxpbmcgPSBjdXJyZW50LnNpYmxpbmc7XG4gIHdvcmtJblByb2dyZXNzLmluZGV4ID0gY3VycmVudC5pbmRleDtcbiAgd29ya0luUHJvZ3Jlc3MucmVmID0gY3VycmVudC5yZWY7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSBjdXJyZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IGN1cnJlbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgfVxuXG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdOZWVkc1JlbW91bnQgPSBjdXJyZW50Ll9kZWJ1Z05lZWRzUmVtb3VudDtcblxuICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUNsYXNzRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSByZXNvbHZlRm9yd2FyZFJlZkZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG59IC8vIFVzZWQgdG8gcmV1c2UgYSBGaWJlciBmb3IgYSBzZWNvbmQgcGFzcy5cblxuZnVuY3Rpb24gcmVzZXRXb3JrSW5Qcm9ncmVzcyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyByZXNldHMgdGhlIEZpYmVyIHRvIHdoYXQgY3JlYXRlRmliZXIgb3IgY3JlYXRlV29ya0luUHJvZ3Jlc3Mgd291bGRcbiAgLy8gaGF2ZSBzZXQgdGhlIHZhbHVlcyB0byBiZWZvcmUgZHVyaW5nIHRoZSBmaXJzdCBwYXNzLiBJZGVhbGx5IHRoaXMgd291bGRuJ3RcbiAgLy8gYmUgbmVjZXNzYXJ5IGJ1dCB1bmZvcnR1bmF0ZWx5IG1hbnkgY29kZSBwYXRocyByZWFkcyBmcm9tIHRoZSB3b3JrSW5Qcm9ncmVzc1xuICAvLyB3aGVuIHRoZXkgc2hvdWxkIGJlIHJlYWRpbmcgZnJvbSBjdXJyZW50IGFuZCB3cml0aW5nIHRvIHdvcmtJblByb2dyZXNzLlxuICAvLyBXZSBhc3N1bWUgcGVuZGluZ1Byb3BzLCBpbmRleCwga2V5LCByZWYsIHJldHVybiBhcmUgc3RpbGwgdW50b3VjaGVkIHRvXG4gIC8vIGF2b2lkIGRvaW5nIGFub3RoZXIgcmVjb25jaWxpYXRpb24uXG4gIC8vIFJlc2V0IHRoZSBlZmZlY3QgZmxhZ3MgYnV0IGtlZXAgYW55IFBsYWNlbWVudCB0YWdzLCBzaW5jZSB0aGF0J3Mgc29tZXRoaW5nXG4gIC8vIHRoYXQgY2hpbGQgZmliZXIgaXMgc2V0dGluZywgbm90IHRoZSByZWNvbmNpbGlhdGlvbi5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gU3RhdGljTWFzayB8IFBsYWNlbWVudDsgLy8gVGhlIGVmZmVjdHMgYXJlIG5vIGxvbmdlciB2YWxpZC5cblxuICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIFJlc2V0IHRvIGNyZWF0ZUZpYmVyJ3MgaW5pdGlhbCB2YWx1ZXMuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSByZW5kZXJMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3Muc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPSBudWxsO1xuXG4gICAge1xuICAgICAgLy8gTm90ZTogV2UgZG9uJ3QgcmVzZXQgdGhlIGFjdHVhbFRpbWUgY291bnRzLiBJdCdzIHVzZWZ1bCB0byBhY2N1bXVsYXRlXG4gICAgICAvLyBhY3R1YWwgdGltZSBhY3Jvc3MgbXVsdGlwbGUgcmVuZGVyIHBhc3Nlcy5cbiAgICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFJlc2V0IHRvIHRoZSBjbG9uZWQgdmFsdWVzIHRoYXQgY3JlYXRlV29ya0luUHJvZ3Jlc3Mgd291bGQndmUuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IGN1cnJlbnQuY2hpbGRMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGN1cnJlbnQubGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkO1xuICAgIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3M7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBOZWVkZWQgYmVjYXVzZSBCbG9ja3Mgc3RvcmUgZGF0YSBvbiB0eXBlLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IGN1cnJlbnQudHlwZTsgLy8gQ2xvbmUgdGhlIGRlcGVuZGVuY2llcyBvYmplY3QuIFRoaXMgaXMgbXV0YXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSwgc29cbiAgICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXG5cbiAgICB2YXIgY3VycmVudERlcGVuZGVuY2llcyA9IGN1cnJlbnQuZGVwZW5kZW5jaWVzO1xuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnREZXBlbmRlbmNpZXMgPT09IG51bGwgPyBudWxsIDoge1xuICAgICAgbGFuZXM6IGN1cnJlbnREZXBlbmRlbmNpZXMubGFuZXMsXG4gICAgICBmaXJzdENvbnRleHQ6IGN1cnJlbnREZXBlbmRlbmNpZXMuZmlyc3RDb250ZXh0XG4gICAgfTtcblxuICAgIHtcbiAgICAgIC8vIE5vdGU6IFdlIGRvbid0IHJlc2V0IHRoZSBhY3R1YWxUaW1lIGNvdW50cy4gSXQncyB1c2VmdWwgdG8gYWNjdW11bGF0ZVxuICAgICAgLy8gYWN0dWFsIHRpbWUgYWNyb3NzIG11bHRpcGxlIHJlbmRlciBwYXNzZXMuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudC5zZWxmQmFzZUR1cmF0aW9uO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IGN1cnJlbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG59XG5mdW5jdGlvbiBjcmVhdGVIb3N0Um9vdEZpYmVyKHRhZywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlKSB7XG4gIHZhciBtb2RlO1xuXG4gIGlmICh0YWcgPT09IENvbmN1cnJlbnRSb290KSB7XG4gICAgbW9kZSA9IENvbmN1cnJlbnRNb2RlO1xuXG4gICAgaWYgKGlzU3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgbW9kZSB8PSBTdHJpY3RMZWdhY3lNb2RlO1xuXG4gICAgICB7XG4gICAgICAgIG1vZGUgfD0gU3RyaWN0RWZmZWN0c01vZGU7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG1vZGUgPSBOb01vZGU7XG4gIH1cblxuICBpZiAoIGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgLy8gQWx3YXlzIGNvbGxlY3QgcHJvZmlsZSB0aW1pbmdzIHdoZW4gRGV2VG9vbHMgYXJlIHByZXNlbnQuXG4gICAgLy8gVGhpcyBlbmFibGVzIERldlRvb2xzIHRvIHN0YXJ0IGNhcHR1cmluZyB0aW1pbmcgYXQgYW55IHBvaW504oCTXG4gICAgLy8gV2l0aG91dCBzb21lIG5vZGVzIGluIHRoZSB0cmVlIGhhdmluZyBlbXB0eSBiYXNlIHRpbWVzLlxuICAgIG1vZGUgfD0gUHJvZmlsZU1vZGU7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlRmliZXIoSG9zdFJvb3QsIG51bGwsIG51bGwsIG1vZGUpO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHR5cGUsIC8vIFJlYWN0JEVsZW1lbnRUeXBlXG5rZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGxhbmVzKSB7XG4gIHZhciBmaWJlclRhZyA9IEluZGV0ZXJtaW5hdGVDb21wb25lbnQ7IC8vIFRoZSByZXNvbHZlZCB0eXBlIGlzIHNldCBpZiB3ZSBrbm93IHdoYXQgdGhlIGZpbmFsIHR5cGUgd2lsbCBiZS4gSS5lLiBpdCdzIG5vdCBsYXp5LlxuXG4gIHZhciByZXNvbHZlZFR5cGUgPSB0eXBlO1xuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmIChzaG91bGRDb25zdHJ1Y3QkMSh0eXBlKSkge1xuICAgICAgZmliZXJUYWcgPSBDbGFzc0NvbXBvbmVudDtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgZmliZXJUYWcgPSBIb3N0Q29tcG9uZW50O1xuICB9IGVsc2Uge1xuICAgIGdldFRhZzogc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21GcmFnbWVudChwZW5kaW5nUHJvcHMuY2hpbGRyZW4sIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgIGZpYmVyVGFnID0gTW9kZTtcbiAgICAgICAgbW9kZSB8PSBTdHJpY3RMZWdhY3lNb2RlO1xuXG4gICAgICAgIGlmICggKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgIC8vIFN0cmljdCBlZmZlY3RzIHNob3VsZCBuZXZlciBydW4gb24gbGVnYWN5IHJvb3RzXG4gICAgICAgICAgbW9kZSB8PSBTdHJpY3RFZmZlY3RzTW9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21Qcm9maWxlcihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZShwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZpYmVyRnJvbVN1c3BlbnNlTGlzdChwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX09GRlNDUkVFTl9UWVBFOlxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKHBlbmRpbmdQcm9wcywgbW9kZSwgbGFuZXMsIGtleSk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEVHQUNZX0hJRERFTl9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9TQ09QRV9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9DQUNIRV9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9UUkFDSU5HX01BUktFUl9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9ERUJVR19UUkFDSU5HX01PREVfVFlQRTpcblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgICAgICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0UHJvdmlkZXI7XG4gICAgICAgICAgICAgICAgYnJlYWsgZ2V0VGFnO1xuXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBjb25zdW1lclxuICAgICAgICAgICAgICAgIGZpYmVyVGFnID0gQ29udGV4dENvbnN1bWVyO1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBGb3J3YXJkUmVmO1xuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG5cbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBNZW1vQ29tcG9uZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgICBmaWJlclRhZyA9IExhenlDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIFwiICsgJ25hbWVkIGltcG9ydHMuJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIG93bmVyTmFtZSA9IG93bmVyID8gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihvd25lcikgOiBudWxsO1xuXG4gICAgICAgICAgICBpZiAob3duZXJOYW1lKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VsZW1lbnQgdHlwZSBpcyBpbnZhbGlkOiBleHBlY3RlZCBhIHN0cmluZyAoZm9yIGJ1aWx0LWluICcgKyAnY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSBjb21wb25lbnRzKSAnICsgKFwiYnV0IGdvdDogXCIgKyAodHlwZSA9PSBudWxsID8gdHlwZSA6IHR5cGVvZiB0eXBlKSArIFwiLlwiICsgaW5mbykpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoZmliZXJUYWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSB0eXBlO1xuICBmaWJlci50eXBlID0gcmVzb2x2ZWRUeXBlO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuXG4gIHtcbiAgICBmaWJlci5fZGVidWdPd25lciA9IG93bmVyO1xuICB9XG5cbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCBtb2RlLCBsYW5lcykge1xuICB2YXIgb3duZXIgPSBudWxsO1xuXG4gIHtcbiAgICBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICB9XG5cbiAgdmFyIHR5cGUgPSBlbGVtZW50LnR5cGU7XG4gIHZhciBrZXkgPSBlbGVtZW50LmtleTtcbiAgdmFyIHBlbmRpbmdQcm9wcyA9IGVsZW1lbnQucHJvcHM7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyh0eXBlLCBrZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGxhbmVzKTtcblxuICB7XG4gICAgZmliZXIuX2RlYnVnU291cmNlID0gZWxlbWVudC5fc291cmNlO1xuICAgIGZpYmVyLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XG4gIH1cblxuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21GcmFnbWVudChlbGVtZW50cywgbW9kZSwgbGFuZXMsIGtleSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihGcmFnbWVudCwgZWxlbWVudHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHJldHVybiBmaWJlcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tUHJvZmlsZXIocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIHBlbmRpbmdQcm9wcy5pZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yKCdQcm9maWxlciBtdXN0IHNwZWNpZnkgYW4gXCJpZFwiIG9mIHR5cGUgYHN0cmluZ2AgYXMgYSBwcm9wLiBSZWNlaXZlZCB0aGUgdHlwZSBgJXNgIGluc3RlYWQuJywgdHlwZW9mIHBlbmRpbmdQcm9wcy5pZCk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoUHJvZmlsZXIsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlIHwgUHJvZmlsZU1vZGUpO1xuICBmaWJlci5lbGVtZW50VHlwZSA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG5cbiAge1xuICAgIGZpYmVyLnN0YXRlTm9kZSA9IHtcbiAgICAgIGVmZmVjdER1cmF0aW9uOiAwLFxuICAgICAgcGFzc2l2ZUVmZmVjdER1cmF0aW9uOiAwXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBmaWJlcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2UocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKFN1c3BlbnNlQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbiAgZmliZXIubGFuZXMgPSBsYW5lcztcbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2VMaXN0KHBlbmRpbmdQcm9wcywgbW9kZSwgbGFuZXMsIGtleSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihTdXNwZW5zZUxpc3RDb21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoT2Zmc2NyZWVuQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHZhciBwcmltYXJ5Q2hpbGRJbnN0YW5jZSA9IHtcbiAgICBpc0hpZGRlbjogZmFsc2VcbiAgfTtcbiAgZmliZXIuc3RhdGVOb2RlID0gcHJpbWFyeUNoaWxkSW5zdGFuY2U7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbVRleHQoY29udGVudCwgbW9kZSwgbGFuZXMpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdFRleHQsIGNvbnRlbnQsIG51bGwsIG1vZGUpO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Ib3N0SW5zdGFuY2VGb3JEZWxldGlvbigpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdENvbXBvbmVudCwgbnVsbCwgbnVsbCwgTm9Nb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSAnREVMRVRFRCc7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbURlaHlkcmF0ZWRGcmFnbWVudChkZWh5ZHJhdGVkTm9kZSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihEZWh5ZHJhdGVkRnJhZ21lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIGZpYmVyLnN0YXRlTm9kZSA9IGRlaHlkcmF0ZWROb2RlO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qb3J0YWwocG9ydGFsLCBtb2RlLCBsYW5lcykge1xuICB2YXIgcGVuZGluZ1Byb3BzID0gcG9ydGFsLmNoaWxkcmVuICE9PSBudWxsID8gcG9ydGFsLmNoaWxkcmVuIDogW107XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKEhvc3RQb3J0YWwsIHBlbmRpbmdQcm9wcywgcG9ydGFsLmtleSwgbW9kZSk7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIGZpYmVyLnN0YXRlTm9kZSA9IHtcbiAgICBjb250YWluZXJJbmZvOiBwb3J0YWwuY29udGFpbmVySW5mbyxcbiAgICBwZW5kaW5nQ2hpbGRyZW46IG51bGwsXG4gICAgLy8gVXNlZCBieSBwZXJzaXN0ZW50IHVwZGF0ZXNcbiAgICBpbXBsZW1lbnRhdGlvbjogcG9ydGFsLmltcGxlbWVudGF0aW9uXG4gIH07XG4gIHJldHVybiBmaWJlcjtcbn0gLy8gVXNlZCBmb3Igc3Rhc2hpbmcgV0lQIHByb3BlcnRpZXMgdG8gcmVwbGF5IGZhaWxlZCB3b3JrIGluIERFVi5cblxuZnVuY3Rpb24gYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodGFyZ2V0LCBzb3VyY2UpIHtcbiAgaWYgKHRhcmdldCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgRmliZXIncyBpbml0aWFsIHByb3BlcnRpZXMgd2lsbCBhbHdheXMgYmUgb3ZlcndyaXR0ZW4uXG4gICAgLy8gV2Ugb25seSB1c2UgYSBGaWJlciB0byBlbnN1cmUgdGhlIHNhbWUgaGlkZGVuIGNsYXNzIHNvIERFViBpc24ndCBzbG93LlxuICAgIHRhcmdldCA9IGNyZWF0ZUZpYmVyKEluZGV0ZXJtaW5hdGVDb21wb25lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIH0gLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IHdyaXR0ZW4gYXMgYSBsaXN0IG9mIGFsbCBwcm9wZXJ0aWVzLlxuICAvLyBXZSB0cmllZCB0byB1c2UgT2JqZWN0LmFzc2lnbigpIGluc3RlYWQgYnV0IHRoaXMgaXMgY2FsbGVkIGluXG4gIC8vIHRoZSBob3R0ZXN0IHBhdGgsIGFuZCBPYmplY3QuYXNzaWduKCkgd2FzIHRvbyBzbG93OlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTAyXG4gIC8vIFRoaXMgY29kZSBpcyBERVYtb25seSBzbyBzaXplIGlzIG5vdCBhIGNvbmNlcm4uXG5cblxuICB0YXJnZXQudGFnID0gc291cmNlLnRhZztcbiAgdGFyZ2V0LmtleSA9IHNvdXJjZS5rZXk7XG4gIHRhcmdldC5lbGVtZW50VHlwZSA9IHNvdXJjZS5lbGVtZW50VHlwZTtcbiAgdGFyZ2V0LnR5cGUgPSBzb3VyY2UudHlwZTtcbiAgdGFyZ2V0LnN0YXRlTm9kZSA9IHNvdXJjZS5zdGF0ZU5vZGU7XG4gIHRhcmdldC5yZXR1cm4gPSBzb3VyY2UucmV0dXJuO1xuICB0YXJnZXQuY2hpbGQgPSBzb3VyY2UuY2hpbGQ7XG4gIHRhcmdldC5zaWJsaW5nID0gc291cmNlLnNpYmxpbmc7XG4gIHRhcmdldC5pbmRleCA9IHNvdXJjZS5pbmRleDtcbiAgdGFyZ2V0LnJlZiA9IHNvdXJjZS5yZWY7XG4gIHRhcmdldC5wZW5kaW5nUHJvcHMgPSBzb3VyY2UucGVuZGluZ1Byb3BzO1xuICB0YXJnZXQubWVtb2l6ZWRQcm9wcyA9IHNvdXJjZS5tZW1vaXplZFByb3BzO1xuICB0YXJnZXQudXBkYXRlUXVldWUgPSBzb3VyY2UudXBkYXRlUXVldWU7XG4gIHRhcmdldC5tZW1vaXplZFN0YXRlID0gc291cmNlLm1lbW9pemVkU3RhdGU7XG4gIHRhcmdldC5kZXBlbmRlbmNpZXMgPSBzb3VyY2UuZGVwZW5kZW5jaWVzO1xuICB0YXJnZXQubW9kZSA9IHNvdXJjZS5tb2RlO1xuICB0YXJnZXQuZmxhZ3MgPSBzb3VyY2UuZmxhZ3M7XG4gIHRhcmdldC5zdWJ0cmVlRmxhZ3MgPSBzb3VyY2Uuc3VidHJlZUZsYWdzO1xuICB0YXJnZXQuZGVsZXRpb25zID0gc291cmNlLmRlbGV0aW9ucztcbiAgdGFyZ2V0LmxhbmVzID0gc291cmNlLmxhbmVzO1xuICB0YXJnZXQuY2hpbGRMYW5lcyA9IHNvdXJjZS5jaGlsZExhbmVzO1xuICB0YXJnZXQuYWx0ZXJuYXRlID0gc291cmNlLmFsdGVybmF0ZTtcblxuICB7XG4gICAgdGFyZ2V0LmFjdHVhbER1cmF0aW9uID0gc291cmNlLmFjdHVhbER1cmF0aW9uO1xuICAgIHRhcmdldC5hY3R1YWxTdGFydFRpbWUgPSBzb3VyY2UuYWN0dWFsU3RhcnRUaW1lO1xuICAgIHRhcmdldC5zZWxmQmFzZUR1cmF0aW9uID0gc291cmNlLnNlbGZCYXNlRHVyYXRpb247XG4gICAgdGFyZ2V0LnRyZWVCYXNlRHVyYXRpb24gPSBzb3VyY2UudHJlZUJhc2VEdXJhdGlvbjtcbiAgfVxuXG4gIHRhcmdldC5fZGVidWdTb3VyY2UgPSBzb3VyY2UuX2RlYnVnU291cmNlO1xuICB0YXJnZXQuX2RlYnVnT3duZXIgPSBzb3VyY2UuX2RlYnVnT3duZXI7XG4gIHRhcmdldC5fZGVidWdOZWVkc1JlbW91bnQgPSBzb3VyY2UuX2RlYnVnTmVlZHNSZW1vdW50O1xuICB0YXJnZXQuX2RlYnVnSG9va1R5cGVzID0gc291cmNlLl9kZWJ1Z0hvb2tUeXBlcztcbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gRmliZXJSb290Tm9kZShjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcikge1xuICB0aGlzLnRhZyA9IHRhZztcbiAgdGhpcy5jb250YWluZXJJbmZvID0gY29udGFpbmVySW5mbztcbiAgdGhpcy5wZW5kaW5nQ2hpbGRyZW4gPSBudWxsO1xuICB0aGlzLmN1cnJlbnQgPSBudWxsO1xuICB0aGlzLnBpbmdDYWNoZSA9IG51bGw7XG4gIHRoaXMuZmluaXNoZWRXb3JrID0gbnVsbDtcbiAgdGhpcy50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0O1xuICB0aGlzLmNvbnRleHQgPSBudWxsO1xuICB0aGlzLnBlbmRpbmdDb250ZXh0ID0gbnVsbDtcbiAgdGhpcy5jYWxsYmFja05vZGUgPSBudWxsO1xuICB0aGlzLmNhbGxiYWNrUHJpb3JpdHkgPSBOb0xhbmU7XG4gIHRoaXMuZXZlbnRUaW1lcyA9IGNyZWF0ZUxhbmVNYXAoTm9MYW5lcyk7XG4gIHRoaXMuZXhwaXJhdGlvblRpbWVzID0gY3JlYXRlTGFuZU1hcChOb1RpbWVzdGFtcCk7XG4gIHRoaXMucGVuZGluZ0xhbmVzID0gTm9MYW5lcztcbiAgdGhpcy5zdXNwZW5kZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMucGluZ2VkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmV4cGlyZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMubXV0YWJsZVJlYWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuZmluaXNoZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuZW50YW5nbGVkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmVudGFuZ2xlbWVudHMgPSBjcmVhdGVMYW5lTWFwKE5vTGFuZXMpO1xuICB0aGlzLmlkZW50aWZpZXJQcmVmaXggPSBpZGVudGlmaWVyUHJlZml4O1xuICB0aGlzLm9uUmVjb3ZlcmFibGVFcnJvciA9IG9uUmVjb3ZlcmFibGVFcnJvcjtcblxuICB7XG4gICAgdGhpcy5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhID0gbnVsbDtcbiAgfVxuXG4gIHtcbiAgICB0aGlzLmVmZmVjdER1cmF0aW9uID0gMDtcbiAgICB0aGlzLnBhc3NpdmVFZmZlY3REdXJhdGlvbiA9IDA7XG4gIH1cblxuICB7XG4gICAgdGhpcy5tZW1vaXplZFVwZGF0ZXJzID0gbmV3IFNldCgpO1xuICAgIHZhciBwZW5kaW5nVXBkYXRlcnNMYW5lTWFwID0gdGhpcy5wZW5kaW5nVXBkYXRlcnNMYW5lTWFwID0gW107XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgVG90YWxMYW5lczsgX2krKykge1xuICAgICAgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcC5wdXNoKG5ldyBTZXQoKSk7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICBjYXNlIENvbmN1cnJlbnRSb290OlxuICAgICAgICB0aGlzLl9kZWJ1Z1Jvb3RUeXBlID0gaHlkcmF0ZSA/ICdoeWRyYXRlUm9vdCgpJyA6ICdjcmVhdGVSb290KCknO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBMZWdhY3lSb290OlxuICAgICAgICB0aGlzLl9kZWJ1Z1Jvb3RUeXBlID0gaHlkcmF0ZSA/ICdoeWRyYXRlKCknIDogJ3JlbmRlcigpJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyUm9vdChjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUsIGluaXRpYWxDaGlsZHJlbiwgaHlkcmF0aW9uQ2FsbGJhY2tzLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIC8vIFRPRE86IFdlIGhhdmUgc2V2ZXJhbCBvZiB0aGVzZSBhcmd1bWVudHMgdGhhdCBhcmUgY29uY2VwdHVhbGx5IHBhcnQgb2YgdGhlXG4vLyBob3N0IGNvbmZpZywgYnV0IGJlY2F1c2UgdGhleSBhcmUgcGFzc2VkIGluIGF0IHJ1bnRpbWUsIHdlIGhhdmUgdG8gdGhyZWFkXG4vLyB0aGVtIHRocm91Z2ggdGhlIHJvb3QgY29uc3RydWN0b3IuIFBlcmhhcHMgd2Ugc2hvdWxkIHB1dCB0aGVtIGFsbCBpbnRvIGFcbi8vIHNpbmdsZSB0eXBlLCBsaWtlIGEgRHluYW1pY0hvc3RDb25maWcgdGhhdCBpcyBkZWZpbmVkIGJ5IHRoZSByZW5kZXJlci5cbmlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvciwgdHJhbnNpdGlvbkNhbGxiYWNrcykge1xuICB2YXIgcm9vdCA9IG5ldyBGaWJlclJvb3ROb2RlKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yKTtcbiAgLy8gc3RhdGVOb2RlIGlzIGFueS5cblxuXG4gIHZhciB1bmluaXRpYWxpemVkRmliZXIgPSBjcmVhdGVIb3N0Um9vdEZpYmVyKHRhZywgaXNTdHJpY3RNb2RlKTtcbiAgcm9vdC5jdXJyZW50ID0gdW5pbml0aWFsaXplZEZpYmVyO1xuICB1bmluaXRpYWxpemVkRmliZXIuc3RhdGVOb2RlID0gcm9vdDtcblxuICB7XG4gICAgdmFyIF9pbml0aWFsU3RhdGUgPSB7XG4gICAgICBlbGVtZW50OiBpbml0aWFsQ2hpbGRyZW4sXG4gICAgICBpc0RlaHlkcmF0ZWQ6IGh5ZHJhdGUsXG4gICAgICBjYWNoZTogbnVsbCxcbiAgICAgIC8vIG5vdCBlbmFibGVkIHlldFxuICAgICAgdHJhbnNpdGlvbnM6IG51bGwsXG4gICAgICBwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOiBudWxsXG4gICAgfTtcbiAgICB1bmluaXRpYWxpemVkRmliZXIubWVtb2l6ZWRTdGF0ZSA9IF9pbml0aWFsU3RhdGU7XG4gIH1cblxuICBpbml0aWFsaXplVXBkYXRlUXVldWUodW5pbml0aWFsaXplZEZpYmVyKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5cbnZhciBSZWFjdFZlcnNpb24gPSAnMTguMi4wJztcblxuZnVuY3Rpb24gY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBjb250YWluZXJJbmZvLCAvLyBUT0RPOiBmaWd1cmUgb3V0IHRoZSBBUEkgZm9yIGNyb3NzLXJlbmRlcmVyIGltcGxlbWVudGF0aW9uLlxuaW1wbGVtZW50YXRpb24pIHtcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogbnVsbDtcblxuICB7XG4gICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihrZXkpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvdyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgUG9ydGFsXG4gICAgJCR0eXBlb2Y6IFJFQUNUX1BPUlRBTF9UWVBFLFxuICAgIGtleToga2V5ID09IG51bGwgPyBudWxsIDogJycgKyBrZXksXG4gICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgIGNvbnRhaW5lckluZm86IGNvbnRhaW5lckluZm8sXG4gICAgaW1wbGVtZW50YXRpb246IGltcGxlbWVudGF0aW9uXG4gIH07XG59XG5cbnZhciBkaWRXYXJuQWJvdXROZXN0ZWRVcGRhdGVzO1xudmFyIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlO1xuXG57XG4gIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSBmYWxzZTtcbiAgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGUgPSB7fTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29udGV4dEZvclN1YnRyZWUocGFyZW50Q29tcG9uZW50KSB7XG4gIGlmICghcGFyZW50Q29tcG9uZW50KSB7XG4gICAgcmV0dXJuIGVtcHR5Q29udGV4dE9iamVjdDtcbiAgfVxuXG4gIHZhciBmaWJlciA9IGdldChwYXJlbnRDb21wb25lbnQpO1xuICB2YXIgcGFyZW50Q29udGV4dCA9IGZpbmRDdXJyZW50VW5tYXNrZWRDb250ZXh0KGZpYmVyKTtcblxuICBpZiAoZmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgIHZhciBDb21wb25lbnQgPSBmaWJlci50eXBlO1xuXG4gICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiBwcm9jZXNzQ2hpbGRDb250ZXh0KGZpYmVyLCBDb21wb25lbnQsIHBhcmVudENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJlbnRDb250ZXh0O1xufVxuXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlV2l0aFdhcm5pbmcoY29tcG9uZW50LCBtZXRob2ROYW1lKSB7XG4gIHtcbiAgICB2YXIgZmliZXIgPSBnZXQoY29tcG9uZW50KTtcblxuICAgIGlmIChmaWJlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodHlwZW9mIGNvbXBvbmVudC5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGNvbXBvbmVudCkuam9pbignLCcpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcmd1bWVudCBhcHBlYXJzIHRvIG5vdCBiZSBhIFJlYWN0Q29tcG9uZW50LiBLZXlzOiBcIiArIGtleXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcihmaWJlcik7XG5cbiAgICBpZiAoaG9zdEZpYmVyID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoaG9zdEZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc2V0Q3VycmVudEZpYmVyKGhvc3RGaWJlcik7XG5cbiAgICAgICAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCBpcyBpbnNpZGUgU3RyaWN0TW9kZS4gJyArICdJbnN0ZWFkLCBhZGQgYSByZWYgZGlyZWN0bHkgdG8gdGhlIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVmZXJlbmNlLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtZmluZC1ub2RlJywgbWV0aG9kTmFtZSwgbWV0aG9kTmFtZSwgY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCByZW5kZXJzIFN0cmljdE1vZGUgY2hpbGRyZW4uICcgKyAnSW5zdGVhZCwgYWRkIGEgcmVmIGRpcmVjdGx5IHRvIHRoZSBlbGVtZW50IHlvdSB3YW50IHRvIHJlZmVyZW5jZS4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLWZpbmQtbm9kZScsIG1ldGhvZE5hbWUsIG1ldGhvZE5hbWUsIGNvbXBvbmVudE5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAvLyBJZGVhbGx5IHRoaXMgc2hvdWxkIHJlc2V0IHRvIHByZXZpb3VzIGJ1dCB0aGlzIHNob3VsZG4ndCBiZSBjYWxsZWQgaW5cbiAgICAgICAgICAvLyByZW5kZXIgYW5kIHRoZXJlJ3MgYW5vdGhlciB3YXJuaW5nIGZvciB0aGF0IGFueXdheS5cbiAgICAgICAgICBpZiAocHJldmlvdXNGaWJlcikge1xuICAgICAgICAgICAgc2V0Q3VycmVudEZpYmVyKHByZXZpb3VzRmliZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBob3N0RmliZXIuc3RhdGVOb2RlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IsIHRyYW5zaXRpb25DYWxsYmFja3MpIHtcbiAgdmFyIGh5ZHJhdGUgPSBmYWxzZTtcbiAgdmFyIGluaXRpYWxDaGlsZHJlbiA9IG51bGw7XG4gIHJldHVybiBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IpO1xufVxuZnVuY3Rpb24gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgLy8gVE9ETzogUmVtb3ZlIGBjYWxsYmFja2Agd2hlbiB3ZSBkZWxldGUgbGVnYWN5IG1vZGUuXG5jYWxsYmFjaywgY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRpb25DYWxsYmFja3MsIGlzU3RyaWN0TW9kZSwgY29uY3VycmVudFVwZGF0ZXNCeURlZmF1bHRPdmVycmlkZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yLCB0cmFuc2l0aW9uQ2FsbGJhY2tzKSB7XG4gIHZhciBoeWRyYXRlID0gdHJ1ZTtcbiAgdmFyIHJvb3QgPSBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IpOyAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gRmliZXJSb290IGNvbnN0cnVjdG9yXG5cbiAgcm9vdC5jb250ZXh0ID0gZ2V0Q29udGV4dEZvclN1YnRyZWUobnVsbCk7IC8vIFNjaGVkdWxlIHRoZSBpbml0aWFsIHJlbmRlci4gSW4gYSBoeWRyYXRpb24gcm9vdCwgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbVxuICAvLyBhIHJlZ3VsYXIgdXBkYXRlIGJlY2F1c2UgdGhlIGluaXRpYWwgcmVuZGVyIG11c3QgbWF0Y2ggd2FzIHdhcyByZW5kZXJlZFxuICAvLyBvbiB0aGUgc2VydmVyLlxuICAvLyBOT1RFOiBUaGlzIHVwZGF0ZSBpbnRlbnRpb25hbGx5IGRvZXNuJ3QgaGF2ZSBhIHBheWxvYWQuIFdlJ3JlIG9ubHkgdXNpbmdcbiAgLy8gdGhlIHVwZGF0ZSB0byBzY2hlZHVsZSB3b3JrIG9uIHRoZSByb290IGZpYmVyIChhbmQsIGZvciBsZWdhY3kgcm9vdHMsIHRvXG4gIC8vIGVucXVldWUgdGhlIGNhbGxiYWNrIGlmIG9uZSBpcyBwcm92aWRlZCkuXG5cbiAgdmFyIGN1cnJlbnQgPSByb290LmN1cnJlbnQ7XG4gIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoY3VycmVudCk7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgdXBkYXRlLmNhbGxiYWNrID0gY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCA/IGNhbGxiYWNrIDogbnVsbDtcbiAgZW5xdWV1ZVVwZGF0ZShjdXJyZW50LCB1cGRhdGUsIGxhbmUpO1xuICBzY2hlZHVsZUluaXRpYWxIeWRyYXRpb25PblJvb3Qocm9vdCwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5mdW5jdGlvbiB1cGRhdGVDb250YWluZXIoZWxlbWVudCwgY29udGFpbmVyLCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBvblNjaGVkdWxlUm9vdChjb250YWluZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgdmFyIGN1cnJlbnQkMSA9IGNvbnRhaW5lci5jdXJyZW50O1xuICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICB2YXIgbGFuZSA9IHJlcXVlc3RVcGRhdGVMYW5lKGN1cnJlbnQkMSk7XG5cbiAge1xuICAgIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSk7XG4gIH1cblxuICB2YXIgY29udGV4dCA9IGdldENvbnRleHRGb3JTdWJ0cmVlKHBhcmVudENvbXBvbmVudCk7XG5cbiAgaWYgKGNvbnRhaW5lci5jb250ZXh0ID09PSBudWxsKSB7XG4gICAgY29udGFpbmVyLmNvbnRleHQgPSBjb250ZXh0O1xuICB9IGVsc2Uge1xuICAgIGNvbnRhaW5lci5wZW5kaW5nQ29udGV4dCA9IGNvbnRleHQ7XG4gIH1cblxuICB7XG4gICAgaWYgKGlzUmVuZGVyaW5nICYmIGN1cnJlbnQgIT09IG51bGwgJiYgIWRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSB0cnVlO1xuXG4gICAgICBlcnJvcignUmVuZGVyIG1ldGhvZHMgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGU7ICcgKyAndHJpZ2dlcmluZyBuZXN0ZWQgY29tcG9uZW50IHVwZGF0ZXMgZnJvbSByZW5kZXIgaXMgbm90IGFsbG93ZWQuICcgKyAnSWYgbmVjZXNzYXJ5LCB0cmlnZ2VyIG5lc3RlZCB1cGRhdGVzIGluIGNvbXBvbmVudERpZFVwZGF0ZS5cXG5cXG4nICsgJ0NoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mICVzLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoY3VycmVudCkgfHwgJ1Vua25vd24nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGV2ZW50VGltZSwgbGFuZSk7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG4gIHVwZGF0ZS5wYXlsb2FkID0ge1xuICAgIGVsZW1lbnQ6IGVsZW1lbnRcbiAgfTtcbiAgY2FsbGJhY2sgPSBjYWxsYmFjayA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNhbGxiYWNrO1xuXG4gIGlmIChjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICB9XG5cbiAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKGN1cnJlbnQkMSwgdXBkYXRlLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBjdXJyZW50JDEsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBjdXJyZW50JDEsIGxhbmUpO1xuICB9XG5cbiAgcmV0dXJuIGxhbmU7XG59XG5mdW5jdGlvbiBnZXRQdWJsaWNSb290SW5zdGFuY2UoY29udGFpbmVyKSB7XG4gIHZhciBjb250YWluZXJGaWJlciA9IGNvbnRhaW5lci5jdXJyZW50O1xuXG4gIGlmICghY29udGFpbmVyRmliZXIuY2hpbGQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHN3aXRjaCAoY29udGFpbmVyRmliZXIuY2hpbGQudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGdldFB1YmxpY0luc3RhbmNlKGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZSk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZTtcbiAgfVxufVxuZnVuY3Rpb24gYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uJDEoZmliZXIpIHtcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICB2YXIgcm9vdCA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgICAgICAgIC8vIEZsdXNoIHRoZSBmaXJzdCBzY2hlZHVsZWQgXCJ1cGRhdGVcIi5cbiAgICAgICAgICB2YXIgbGFuZXMgPSBnZXRIaWdoZXN0UHJpb3JpdHlQZW5kaW5nTGFuZXMocm9vdCk7XG4gICAgICAgICAgZmx1c2hSb290KHJvb3QsIGxhbmVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgZmx1c2hTeW5jKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICAgICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBldmVudFRpbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7IC8vIElmIHdlJ3JlIHN0aWxsIGJsb2NrZWQgYWZ0ZXIgdGhpcywgd2UgbmVlZCB0byBpbmNyZWFzZVxuICAgICAgICAvLyB0aGUgcHJpb3JpdHkgb2YgYW55IHByb21pc2VzIHJlc29sdmluZyB3aXRoaW4gdGhpc1xuICAgICAgICAvLyBib3VuZGFyeSBzbyB0aGF0IHRoZXkgbmV4dCBhdHRlbXB0IGFsc28gaGFzIGhpZ2hlciBwcmkuXG5cbiAgICAgICAgdmFyIHJldHJ5TGFuZSA9IFN5bmNMYW5lO1xuICAgICAgICBtYXJrUmV0cnlMYW5lSWZOb3RIeWRyYXRlZChmaWJlciwgcmV0cnlMYW5lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1JldHJ5TGFuZUltcGwoZmliZXIsIHJldHJ5TGFuZSkge1xuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwgJiYgc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUgPSBoaWdoZXJQcmlvcml0eUxhbmUoc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUsIHJldHJ5TGFuZSk7XG4gIH1cbn0gLy8gSW5jcmVhc2VzIHRoZSBwcmlvcml0eSBvZiB0aGVuYWJsZXMgd2hlbiB0aGV5IHJlc29sdmUgd2l0aGluIHRoaXMgYm91bmRhcnkuXG5cblxuZnVuY3Rpb24gbWFya1JldHJ5TGFuZUlmTm90SHlkcmF0ZWQoZmliZXIsIHJldHJ5TGFuZSkge1xuICBtYXJrUmV0cnlMYW5lSW1wbChmaWJlciwgcmV0cnlMYW5lKTtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlKSB7XG4gICAgbWFya1JldHJ5TGFuZUltcGwoYWx0ZXJuYXRlLCByZXRyeUxhbmUpO1xuICB9XG59XG5mdW5jdGlvbiBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiQxKGZpYmVyKSB7XG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcbiAgICAvLyB0aGVpciBwcmlvcml0eSBhbmQgdGhleSBzaG91bGQgbm90IHN1c3BlbmQgb24gSS9PLFxuICAgIC8vIHNpbmNlIHlvdSBoYXZlIHRvIHdyYXAgYW55dGhpbmcgdGhhdCBtaWdodCBzdXNwZW5kIGluXG4gICAgLy8gU3VzcGVuc2UuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGxhbmUgPSBTZWxlY3RpdmVIeWRyYXRpb25MYW5lO1xuICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgbGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgfVxuXG4gIG1hcmtSZXRyeUxhbmVJZk5vdEh5ZHJhdGVkKGZpYmVyLCBsYW5lKTtcbn1cbmZ1bmN0aW9uIGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eSQxKGZpYmVyKSB7XG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcbiAgICAvLyB0aGVpciBwcmlvcml0eSBvdGhlciB0aGFuIHN5bmNocm9ub3VzbHkgZmx1c2ggaXQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICB9XG5cbiAgbWFya1JldHJ5TGFuZUlmTm90SHlkcmF0ZWQoZmliZXIsIGxhbmUpO1xufVxuZnVuY3Rpb24gZmluZEhvc3RJbnN0YW5jZVdpdGhOb1BvcnRhbHMoZmliZXIpIHtcbiAgdmFyIGhvc3RGaWJlciA9IGZpbmRDdXJyZW50SG9zdEZpYmVyV2l0aE5vUG9ydGFscyhmaWJlcik7XG5cbiAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGU7XG59XG5cbnZhciBzaG91bGRFcnJvckltcGwgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgcmV0dXJuIG51bGw7XG59O1xuXG5mdW5jdGlvbiBzaG91bGRFcnJvcihmaWJlcikge1xuICByZXR1cm4gc2hvdWxkRXJyb3JJbXBsKGZpYmVyKTtcbn1cblxudmFyIHNob3VsZFN1c3BlbmRJbXBsID0gZnVuY3Rpb24gKGZpYmVyKSB7XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmZ1bmN0aW9uIHNob3VsZFN1c3BlbmQoZmliZXIpIHtcbiAgcmV0dXJuIHNob3VsZFN1c3BlbmRJbXBsKGZpYmVyKTtcbn1cbnZhciBvdmVycmlkZUhvb2tTdGF0ZSA9IG51bGw7XG52YXIgb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoID0gbnVsbDtcbnZhciBvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGggPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHMgPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHNEZWxldGVQYXRoID0gbnVsbDtcbnZhciBvdmVycmlkZVByb3BzUmVuYW1lUGF0aCA9IG51bGw7XG52YXIgc2NoZWR1bGVVcGRhdGUgPSBudWxsO1xudmFyIHNldEVycm9ySGFuZGxlciA9IG51bGw7XG52YXIgc2V0U3VzcGVuc2VIYW5kbGVyID0gbnVsbDtcblxue1xuICB2YXIgY29weVdpdGhEZWxldGVJbXBsID0gZnVuY3Rpb24gKG9iaiwgcGF0aCwgaW5kZXgpIHtcbiAgICB2YXIga2V5ID0gcGF0aFtpbmRleF07XG4gICAgdmFyIHVwZGF0ZWQgPSBpc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IGFzc2lnbih7fSwgb2JqKTtcblxuICAgIGlmIChpbmRleCArIDEgPT09IHBhdGgubGVuZ3RoKSB7XG4gICAgICBpZiAoaXNBcnJheSh1cGRhdGVkKSkge1xuICAgICAgICB1cGRhdGVkLnNwbGljZShrZXksIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIHVwZGF0ZWRba2V5XTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVwZGF0ZWQ7XG4gICAgfSAvLyAkRmxvd0ZpeE1lIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG5cblxuICAgIHVwZGF0ZWRba2V5XSA9IGNvcHlXaXRoRGVsZXRlSW1wbChvYmpba2V5XSwgcGF0aCwgaW5kZXggKyAxKTtcbiAgICByZXR1cm4gdXBkYXRlZDtcbiAgfTtcblxuICB2YXIgY29weVdpdGhEZWxldGUgPSBmdW5jdGlvbiAob2JqLCBwYXRoKSB7XG4gICAgcmV0dXJuIGNvcHlXaXRoRGVsZXRlSW1wbChvYmosIHBhdGgsIDApO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFJlbmFtZUltcGwgPSBmdW5jdGlvbiAob2JqLCBvbGRQYXRoLCBuZXdQYXRoLCBpbmRleCkge1xuICAgIHZhciBvbGRLZXkgPSBvbGRQYXRoW2luZGV4XTtcbiAgICB2YXIgdXBkYXRlZCA9IGlzQXJyYXkob2JqKSA/IG9iai5zbGljZSgpIDogYXNzaWduKHt9LCBvYmopO1xuXG4gICAgaWYgKGluZGV4ICsgMSA9PT0gb2xkUGF0aC5sZW5ndGgpIHtcbiAgICAgIHZhciBuZXdLZXkgPSBuZXdQYXRoW2luZGV4XTsgLy8gJEZsb3dGaXhNZSBudW1iZXIgb3Igc3RyaW5nIGlzIGZpbmUgaGVyZVxuXG4gICAgICB1cGRhdGVkW25ld0tleV0gPSB1cGRhdGVkW29sZEtleV07XG5cbiAgICAgIGlmIChpc0FycmF5KHVwZGF0ZWQpKSB7XG4gICAgICAgIHVwZGF0ZWQuc3BsaWNlKG9sZEtleSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgdXBkYXRlZFtvbGRLZXldO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG4gICAgICB1cGRhdGVkW29sZEtleV0gPSBjb3B5V2l0aFJlbmFtZUltcGwoIC8vICRGbG93Rml4TWUgbnVtYmVyIG9yIHN0cmluZyBpcyBmaW5lIGhlcmVcbiAgICAgIG9ialtvbGRLZXldLCBvbGRQYXRoLCBuZXdQYXRoLCBpbmRleCArIDEpO1xuICAgIH1cblxuICAgIHJldHVybiB1cGRhdGVkO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFJlbmFtZSA9IGZ1bmN0aW9uIChvYmosIG9sZFBhdGgsIG5ld1BhdGgpIHtcbiAgICBpZiAob2xkUGF0aC5sZW5ndGggIT09IG5ld1BhdGgubGVuZ3RoKSB7XG4gICAgICB3YXJuKCdjb3B5V2l0aFJlbmFtZSgpIGV4cGVjdHMgcGF0aHMgb2YgdGhlIHNhbWUgbGVuZ3RoJyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdQYXRoLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICBpZiAob2xkUGF0aFtpXSAhPT0gbmV3UGF0aFtpXSkge1xuICAgICAgICAgIHdhcm4oJ2NvcHlXaXRoUmVuYW1lKCkgZXhwZWN0cyBwYXRocyB0byBiZSB0aGUgc2FtZSBleGNlcHQgZm9yIHRoZSBkZWVwZXN0IGtleScpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvcHlXaXRoUmVuYW1lSW1wbChvYmosIG9sZFBhdGgsIG5ld1BhdGgsIDApO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFNldEltcGwgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCBpbmRleCwgdmFsdWUpIHtcbiAgICBpZiAoaW5kZXggPj0gcGF0aC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICB2YXIga2V5ID0gcGF0aFtpbmRleF07XG4gICAgdmFyIHVwZGF0ZWQgPSBpc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IGFzc2lnbih7fSwgb2JqKTsgLy8gJEZsb3dGaXhNZSBudW1iZXIgb3Igc3RyaW5nIGlzIGZpbmUgaGVyZVxuXG4gICAgdXBkYXRlZFtrZXldID0gY29weVdpdGhTZXRJbXBsKG9ialtrZXldLCBwYXRoLCBpbmRleCArIDEsIHZhbHVlKTtcbiAgICByZXR1cm4gdXBkYXRlZDtcbiAgfTtcblxuICB2YXIgY29weVdpdGhTZXQgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCB2YWx1ZSkge1xuICAgIHJldHVybiBjb3B5V2l0aFNldEltcGwob2JqLCBwYXRoLCAwLCB2YWx1ZSk7XG4gIH07XG5cbiAgdmFyIGZpbmRIb29rID0gZnVuY3Rpb24gKGZpYmVyLCBpZCkge1xuICAgIC8vIEZvciBub3csIHRoZSBcImlkXCIgb2Ygc3RhdGVmdWwgaG9va3MgaXMganVzdCB0aGUgc3RhdGVmdWwgaG9vayBpbmRleC5cbiAgICAvLyBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB3aXRoIGUuZy4gbmVzdGVkIGhvb2tzLlxuICAgIHZhciBjdXJyZW50SG9vayA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgICB3aGlsZSAoY3VycmVudEhvb2sgIT09IG51bGwgJiYgaWQgPiAwKSB7XG4gICAgICBjdXJyZW50SG9vayA9IGN1cnJlbnRIb29rLm5leHQ7XG4gICAgICBpZC0tO1xuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50SG9vaztcbiAgfTsgLy8gU3VwcG9ydCBEZXZUb29scyBlZGl0YWJsZSB2YWx1ZXMgZm9yIHVzZVN0YXRlIGFuZCB1c2VSZWR1Y2VyLlxuXG5cbiAgb3ZlcnJpZGVIb29rU3RhdGUgPSBmdW5jdGlvbiAoZmliZXIsIGlkLCBwYXRoLCB2YWx1ZSkge1xuICAgIHZhciBob29rID0gZmluZEhvb2soZmliZXIsIGlkKTtcblxuICAgIGlmIChob29rICE9PSBudWxsKSB7XG4gICAgICB2YXIgbmV3U3RhdGUgPSBjb3B5V2l0aFNldChob29rLm1lbW9pemVkU3RhdGUsIHBhdGgsIHZhbHVlKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlSG9va1N0YXRlRGVsZXRlUGF0aCA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIHBhdGgpIHtcbiAgICB2YXIgaG9vayA9IGZpbmRIb29rKGZpYmVyLCBpZCk7XG5cbiAgICBpZiAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhEZWxldGUoaG9vay5tZW1vaXplZFN0YXRlLCBwYXRoKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlSG9va1N0YXRlUmVuYW1lUGF0aCA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIG9sZFBhdGgsIG5ld1BhdGgpIHtcbiAgICB2YXIgaG9vayA9IGZpbmRIb29rKGZpYmVyLCBpZCk7XG5cbiAgICBpZiAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhSZW5hbWUoaG9vay5tZW1vaXplZFN0YXRlLCBvbGRQYXRoLCBuZXdQYXRoKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9OyAvLyBTdXBwb3J0IERldlRvb2xzIHByb3BzIGZvciBmdW5jdGlvbiBjb21wb25lbnRzLCBmb3J3YXJkUmVmLCBtZW1vLCBob3N0IGNvbXBvbmVudHMsIGV0Yy5cblxuXG4gIG92ZXJyaWRlUHJvcHMgPSBmdW5jdGlvbiAoZmliZXIsIHBhdGgsIHZhbHVlKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhTZXQoZmliZXIubWVtb2l6ZWRQcm9wcywgcGF0aCwgdmFsdWUpO1xuXG4gICAgaWYgKGZpYmVyLmFsdGVybmF0ZSkge1xuICAgICAgZmliZXIuYWx0ZXJuYXRlLnBlbmRpbmdQcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgU3luY0xhbmUsIE5vVGltZXN0YW1wKTtcbiAgICB9XG4gIH07XG5cbiAgb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGggPSBmdW5jdGlvbiAoZmliZXIsIHBhdGgpIHtcbiAgICBmaWJlci5wZW5kaW5nUHJvcHMgPSBjb3B5V2l0aERlbGV0ZShmaWJlci5tZW1vaXplZFByb3BzLCBwYXRoKTtcblxuICAgIGlmIChmaWJlci5hbHRlcm5hdGUpIHtcbiAgICAgIGZpYmVyLmFsdGVybmF0ZS5wZW5kaW5nUHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgfVxuXG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoID0gZnVuY3Rpb24gKGZpYmVyLCBvbGRQYXRoLCBuZXdQYXRoKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhSZW5hbWUoZmliZXIubWVtb2l6ZWRQcm9wcywgb2xkUGF0aCwgbmV3UGF0aCk7XG5cbiAgICBpZiAoZmliZXIuYWx0ZXJuYXRlKSB7XG4gICAgICBmaWJlci5hbHRlcm5hdGUucGVuZGluZ1Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSwgTm9UaW1lc3RhbXApO1xuICAgIH1cbiAgfTtcblxuICBzY2hlZHVsZVVwZGF0ZSA9IGZ1bmN0aW9uIChmaWJlcikge1xuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSwgTm9UaW1lc3RhbXApO1xuICAgIH1cbiAgfTtcblxuICBzZXRFcnJvckhhbmRsZXIgPSBmdW5jdGlvbiAobmV3U2hvdWxkRXJyb3JJbXBsKSB7XG4gICAgc2hvdWxkRXJyb3JJbXBsID0gbmV3U2hvdWxkRXJyb3JJbXBsO1xuICB9O1xuXG4gIHNldFN1c3BlbnNlSGFuZGxlciA9IGZ1bmN0aW9uIChuZXdTaG91bGRTdXNwZW5kSW1wbCkge1xuICAgIHNob3VsZFN1c3BlbmRJbXBsID0gbmV3U2hvdWxkU3VzcGVuZEltcGw7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyKGZpYmVyKSB7XG4gIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcihmaWJlcik7XG5cbiAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGU7XG59XG5cbmZ1bmN0aW9uIGVtcHR5RmluZEZpYmVyQnlIb3N0SW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlckZvckRldlRvb2xzKCkge1xuICByZXR1cm4gY3VycmVudDtcbn1cblxuZnVuY3Rpb24gaW5qZWN0SW50b0RldlRvb2xzKGRldlRvb2xzQ29uZmlnKSB7XG4gIHZhciBmaW5kRmliZXJCeUhvc3RJbnN0YW5jZSA9IGRldlRvb2xzQ29uZmlnLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlO1xuICB2YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG4gIHJldHVybiBpbmplY3RJbnRlcm5hbHMoe1xuICAgIGJ1bmRsZVR5cGU6IGRldlRvb2xzQ29uZmlnLmJ1bmRsZVR5cGUsXG4gICAgdmVyc2lvbjogZGV2VG9vbHNDb25maWcudmVyc2lvbixcbiAgICByZW5kZXJlclBhY2thZ2VOYW1lOiBkZXZUb29sc0NvbmZpZy5yZW5kZXJlclBhY2thZ2VOYW1lLFxuICAgIHJlbmRlcmVyQ29uZmlnOiBkZXZUb29sc0NvbmZpZy5yZW5kZXJlckNvbmZpZyxcbiAgICBvdmVycmlkZUhvb2tTdGF0ZTogb3ZlcnJpZGVIb29rU3RhdGUsXG4gICAgb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoOiBvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGgsXG4gICAgb3ZlcnJpZGVIb29rU3RhdGVSZW5hbWVQYXRoOiBvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGgsXG4gICAgb3ZlcnJpZGVQcm9wczogb3ZlcnJpZGVQcm9wcyxcbiAgICBvdmVycmlkZVByb3BzRGVsZXRlUGF0aDogb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGgsXG4gICAgb3ZlcnJpZGVQcm9wc1JlbmFtZVBhdGg6IG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoLFxuICAgIHNldEVycm9ySGFuZGxlcjogc2V0RXJyb3JIYW5kbGVyLFxuICAgIHNldFN1c3BlbnNlSGFuZGxlcjogc2V0U3VzcGVuc2VIYW5kbGVyLFxuICAgIHNjaGVkdWxlVXBkYXRlOiBzY2hlZHVsZVVwZGF0ZSxcbiAgICBjdXJyZW50RGlzcGF0Y2hlclJlZjogUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcbiAgICBmaW5kSG9zdEluc3RhbmNlQnlGaWJlcjogZmluZEhvc3RJbnN0YW5jZUJ5RmliZXIsXG4gICAgZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6IGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlIHx8IGVtcHR5RmluZEZpYmVyQnlIb3N0SW5zdGFuY2UsXG4gICAgLy8gUmVhY3QgUmVmcmVzaFxuICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaDogIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCAsXG4gICAgc2NoZWR1bGVSZWZyZXNoOiAgc2NoZWR1bGVSZWZyZXNoICxcbiAgICBzY2hlZHVsZVJvb3Q6ICBzY2hlZHVsZVJvb3QgLFxuICAgIHNldFJlZnJlc2hIYW5kbGVyOiAgc2V0UmVmcmVzaEhhbmRsZXIgLFxuICAgIC8vIEVuYWJsZXMgRGV2VG9vbHMgdG8gYXBwZW5kIG93bmVyIHN0YWNrcyB0byBlcnJvciBtZXNzYWdlcyBpbiBERVYgbW9kZS5cbiAgICBnZXRDdXJyZW50RmliZXI6ICBnZXRDdXJyZW50RmliZXJGb3JEZXZUb29scyAsXG4gICAgLy8gRW5hYmxlcyBEZXZUb29scyB0byBkZXRlY3QgcmVjb25jaWxlciB2ZXJzaW9uIHJhdGhlciB0aGFuIHJlbmRlcmVyIHZlcnNpb25cbiAgICAvLyB3aGljaCBtYXkgbm90IG1hdGNoIGZvciB0aGlyZCBwYXJ0eSByZW5kZXJlcnMuXG4gICAgcmVjb25jaWxlclZlcnNpb246IFJlYWN0VmVyc2lvblxuICB9KTtcbn1cblxuLyogZ2xvYmFsIHJlcG9ydEVycm9yICovXG5cbnZhciBkZWZhdWx0T25SZWNvdmVyYWJsZUVycm9yID0gdHlwZW9mIHJlcG9ydEVycm9yID09PSAnZnVuY3Rpb24nID8gLy8gSW4gbW9kZXJuIGJyb3dzZXJzLCByZXBvcnRFcnJvciB3aWxsIGRpc3BhdGNoIGFuIGVycm9yIGV2ZW50LFxuLy8gZW11bGF0aW5nIGFuIHVuY2F1Z2h0IEphdmFTY3JpcHQgZXJyb3IuXG5yZXBvcnRFcnJvciA6IGZ1bmN0aW9uIChlcnJvcikge1xuICAvLyBJbiBvbGRlciBicm93c2VycyBhbmQgdGVzdCBlbnZpcm9ubWVudHMsIGZhbGxiYWNrIHRvIGNvbnNvbGUuZXJyb3IuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmdcbiAgY29uc29sZVsnZXJyb3InXShlcnJvcik7XG59O1xuXG5mdW5jdGlvbiBSZWFjdERPTVJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn1cblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS5yZW5kZXIgPSBSZWFjdERPTVJvb3QucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIChjaGlsZHJlbikge1xuICB2YXIgcm9vdCA9IHRoaXMuX2ludGVybmFsUm9vdDtcblxuICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVwZGF0ZSBhbiB1bm1vdW50ZWQgcm9vdC4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1sxXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkQ29udGFpbmVyKGFyZ3VtZW50c1sxXSkpIHtcbiAgICAgIGVycm9yKCdZb3UgcGFzc2VkIGEgY29udGFpbmVyIHRvIHRoZSBzZWNvbmQgYXJndW1lbnQgb2Ygcm9vdC5yZW5kZXIoLi4uKS4gJyArIFwiWW91IGRvbid0IG5lZWQgdG8gcGFzcyBpdCBhZ2FpbiBzaW5jZSB5b3UgYWxyZWFkeSBwYXNzZWQgaXQgdG8gY3JlYXRlIHRoZSByb290LlwiKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmd1bWVudHNbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBlcnJvcignWW91IHBhc3NlZCBhIHNlY29uZCBhcmd1bWVudCB0byByb290LnJlbmRlciguLi4pIGJ1dCBpdCBvbmx5IGFjY2VwdHMgJyArICdvbmUgYXJndW1lbnQuJyk7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKHJvb3QuY3VycmVudCk7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UpIHtcbiAgICAgICAgaWYgKGhvc3RJbnN0YW5jZS5wYXJlbnROb2RlICE9PSBjb250YWluZXIpIHtcbiAgICAgICAgICBlcnJvcigncmVuZGVyKC4uLik6IEl0IGxvb2tzIGxpa2UgdGhlIFJlYWN0LXJlbmRlcmVkIGNvbnRlbnQgb2YgdGhlICcgKyAncm9vdCBjb250YWluZXIgd2FzIHJlbW92ZWQgd2l0aG91dCB1c2luZyBSZWFjdC4gVGhpcyBpcyBub3QgJyArICdzdXBwb3J0ZWQgYW5kIHdpbGwgY2F1c2UgZXJyb3JzLiBJbnN0ZWFkLCBjYWxsICcgKyBcInJvb3QudW5tb3VudCgpIHRvIGVtcHR5IGEgcm9vdCdzIGNvbnRhaW5lci5cIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVDb250YWluZXIoY2hpbGRyZW4sIHJvb3QsIG51bGwsIG51bGwpO1xufTtcblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS51bm1vdW50ID0gUmVhY3RET01Sb290LnByb3RvdHlwZS51bm1vdW50ID0gZnVuY3Rpb24gKCkge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbMF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCd1bm1vdW50KC4uLik6IGRvZXMgbm90IHN1cHBvcnQgYSBjYWxsYmFjayBhcmd1bWVudC4gJyArICdUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgcmVuZGVyaW5nLCBkZWNsYXJlIGl0IGluIGEgY29tcG9uZW50IGJvZHkgd2l0aCB1c2VFZmZlY3QoKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IHRoaXMuX2ludGVybmFsUm9vdDtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHRoaXMuX2ludGVybmFsUm9vdCA9IG51bGw7XG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIHtcbiAgICAgIGlmIChpc0FscmVhZHlSZW5kZXJpbmcoKSkge1xuICAgICAgICBlcnJvcignQXR0ZW1wdGVkIHRvIHN5bmNocm9ub3VzbHkgdW5tb3VudCBhIHJvb3Qgd2hpbGUgUmVhY3Qgd2FzIGFscmVhZHkgJyArICdyZW5kZXJpbmcuIFJlYWN0IGNhbm5vdCBmaW5pc2ggdW5tb3VudGluZyB0aGUgcm9vdCB1bnRpbCB0aGUgJyArICdjdXJyZW50IHJlbmRlciBoYXMgY29tcGxldGVkLCB3aGljaCBtYXkgbGVhZCB0byBhIHJhY2UgY29uZGl0aW9uLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVDb250YWluZXIobnVsbCwgcm9vdCwgbnVsbCwgbnVsbCk7XG4gICAgfSk7XG4gICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3QoY29udGFpbmVyLCBvcHRpb25zKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lcihjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjcmVhdGVSb290KC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB3YXJuSWZSZWFjdERPTUNvbnRhaW5lckluREVWKGNvbnRhaW5lcik7XG4gIHZhciBpc1N0cmljdE1vZGUgPSBmYWxzZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUgPSBmYWxzZTtcbiAgdmFyIGlkZW50aWZpZXJQcmVmaXggPSAnJztcbiAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3I7XG4gIHZhciB0cmFuc2l0aW9uQ2FsbGJhY2tzID0gbnVsbDtcblxuICBpZiAob3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICB7XG4gICAgICBpZiAob3B0aW9ucy5oeWRyYXRlKSB7XG4gICAgICAgIHdhcm4oJ2h5ZHJhdGUgdGhyb3VnaCBjcmVhdGVSb290IGlzIGRlcHJlY2F0ZWQuIFVzZSBSZWFjdERPTUNsaWVudC5oeWRyYXRlUm9vdChjb250YWluZXIsIDxBcHAgLz4pIGluc3RlYWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucy4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XG4gICAgICAgICAgZXJyb3IoJ1lvdSBwYXNzZWQgYSBKU1ggZWxlbWVudCB0byBjcmVhdGVSb290LiBZb3UgcHJvYmFibHkgbWVhbnQgdG8gJyArICdjYWxsIHJvb3QucmVuZGVyIGluc3RlYWQuICcgKyAnRXhhbXBsZSB1c2FnZTpcXG5cXG4nICsgJyAgbGV0IHJvb3QgPSBjcmVhdGVSb290KGRvbUNvbnRhaW5lcik7XFxuJyArICcgIHJvb3QucmVuZGVyKDxBcHAgLz4pOycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfc3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgaXNTdHJpY3RNb2RlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pZGVudGlmaWVyUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpZXJQcmVmaXggPSBvcHRpb25zLmlkZW50aWZpZXJQcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uUmVjb3ZlcmFibGVFcnJvciA9IG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnRyYW5zaXRpb25DYWxsYmFja3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHJhbnNpdGlvbkNhbGxiYWNrcyA9IG9wdGlvbnMudHJhbnNpdGlvbkNhbGxiYWNrcztcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXIsIENvbmN1cnJlbnRSb290LCBudWxsLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcik7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuICB2YXIgcm9vdENvbnRhaW5lckVsZW1lbnQgPSBjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IGNvbnRhaW5lci5wYXJlbnROb2RlIDogY29udGFpbmVyO1xuICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhyb290Q29udGFpbmVyRWxlbWVudCk7XG4gIHJldHVybiBuZXcgUmVhY3RET01Sb290KHJvb3QpO1xufVxuXG5mdW5jdGlvbiBSZWFjdERPTUh5ZHJhdGlvblJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVIeWRyYXRpb24odGFyZ2V0KSB7XG4gIGlmICh0YXJnZXQpIHtcbiAgICBxdWV1ZUV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KHRhcmdldCk7XG4gIH1cbn1cblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbiA9IHNjaGVkdWxlSHlkcmF0aW9uO1xuZnVuY3Rpb24gaHlkcmF0ZVJvb3QoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIG9wdGlvbnMpIHtcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lcikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2h5ZHJhdGVSb290KC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB3YXJuSWZSZWFjdERPTUNvbnRhaW5lckluREVWKGNvbnRhaW5lcik7XG5cbiAge1xuICAgIGlmIChpbml0aWFsQ2hpbGRyZW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgZXJyb3IoJ011c3QgcHJvdmlkZSBpbml0aWFsIGNoaWxkcmVuIGFzIHNlY29uZCBhcmd1bWVudCB0byBoeWRyYXRlUm9vdC4gJyArICdFeGFtcGxlIHVzYWdlOiBoeWRyYXRlUm9vdChkb21Db250YWluZXIsIDxBcHAgLz4pJyk7XG4gICAgfVxuICB9IC8vIEZvciBub3cgd2UgcmV1c2UgdGhlIHdob2xlIGJhZyBvZiBvcHRpb25zIHNpbmNlIHRoZXkgY29udGFpblxuICAvLyB0aGUgaHlkcmF0aW9uIGNhbGxiYWNrcy5cblxuXG4gIHZhciBoeWRyYXRpb25DYWxsYmFja3MgPSBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogbnVsbDsgLy8gVE9ETzogRGVsZXRlIHRoaXMgb3B0aW9uXG5cbiAgdmFyIG11dGFibGVTb3VyY2VzID0gb3B0aW9ucyAhPSBudWxsICYmIG9wdGlvbnMuaHlkcmF0ZWRTb3VyY2VzIHx8IG51bGw7XG4gIHZhciBpc1N0cmljdE1vZGUgPSBmYWxzZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUgPSBmYWxzZTtcbiAgdmFyIGlkZW50aWZpZXJQcmVmaXggPSAnJztcbiAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3I7XG5cbiAgaWYgKG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfc3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgaXNTdHJpY3RNb2RlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pZGVudGlmaWVyUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpZXJQcmVmaXggPSBvcHRpb25zLmlkZW50aWZpZXJQcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uUmVjb3ZlcmFibGVFcnJvciA9IG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHZhciByb290ID0gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgbnVsbCwgY29udGFpbmVyLCBDb25jdXJyZW50Um9vdCwgaHlkcmF0aW9uQ2FsbGJhY2tzLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcik7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpOyAvLyBUaGlzIGNhbid0IGJlIGEgY29tbWVudCBub2RlIHNpbmNlIGh5ZHJhdGlvbiBkb2Vzbid0IHdvcmsgb24gY29tbWVudCBub2RlcyBhbnl3YXkuXG5cbiAgbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMoY29udGFpbmVyKTtcblxuICBpZiAobXV0YWJsZVNvdXJjZXMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG11dGFibGVTb3VyY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgbXV0YWJsZVNvdXJjZSA9IG11dGFibGVTb3VyY2VzW2ldO1xuICAgICAgcmVnaXN0ZXJNdXRhYmxlU291cmNlRm9ySHlkcmF0aW9uKHJvb3QsIG11dGFibGVTb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgUmVhY3RET01IeWRyYXRpb25Sb290KHJvb3QpO1xufVxuZnVuY3Rpb24gaXNWYWxpZENvbnRhaW5lcihub2RlKSB7XG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8ICFkaXNhYmxlQ29tbWVudHNBc0RPTUNvbnRhaW5lcnMgICkpO1xufSAvLyBUT0RPOiBSZW1vdmUgdGhpcyBmdW5jdGlvbiB3aGljaCBhbHNvIGluY2x1ZGVzIGNvbW1lbnQgbm9kZXMuXG4vLyBXZSBvbmx5IHVzZSBpdCBpbiBwbGFjZXMgdGhhdCBhcmUgY3VycmVudGx5IG1vcmUgcmVsYXhlZC5cblxuZnVuY3Rpb24gaXNWYWxpZENvbnRhaW5lckxlZ2FjeShub2RlKSB7XG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBub2RlLm5vZGVWYWx1ZSA9PT0gJyByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAnKSk7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlJlYWN0RE9NQ29udGFpbmVySW5ERVYoY29udGFpbmVyKSB7XG4gIHtcbiAgICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgJiYgY29udGFpbmVyLnRhZ05hbWUgJiYgY29udGFpbmVyLnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gJ0JPRFknKSB7XG4gICAgICBlcnJvcignY3JlYXRlUm9vdCgpOiBDcmVhdGluZyByb290cyBkaXJlY3RseSB3aXRoIGRvY3VtZW50LmJvZHkgaXMgJyArICdkaXNjb3VyYWdlZCwgc2luY2UgaXRzIGNoaWxkcmVuIGFyZSBvZnRlbiBtYW5pcHVsYXRlZCBieSB0aGlyZC1wYXJ0eSAnICsgJ3NjcmlwdHMgYW5kIGJyb3dzZXIgZXh0ZW5zaW9ucy4gVGhpcyBtYXkgbGVhZCB0byBzdWJ0bGUgJyArICdyZWNvbmNpbGlhdGlvbiBpc3N1ZXMuIFRyeSB1c2luZyBhIGNvbnRhaW5lciBlbGVtZW50IGNyZWF0ZWQgJyArICdmb3IgeW91ciBhcHAuJyk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikpIHtcbiAgICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcikge1xuICAgICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NLnJlbmRlcigpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKSBvbiBhIGNvbnRhaW5lciB0aGF0ICcgKyAnaGFzIGFscmVhZHkgYmVlbiBwYXNzZWQgdG8gY3JlYXRlUm9vdCgpIGJlZm9yZS4gSW5zdGVhZCwgY2FsbCAnICsgJ3Jvb3QucmVuZGVyKCkgb24gdGhlIGV4aXN0aW5nIHJvb3QgaW5zdGVhZCBpZiB5b3Ugd2FudCB0byB1cGRhdGUgaXQuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgdG9wTGV2ZWxVcGRhdGVXYXJuaW5ncztcblxue1xuICB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzID0gZnVuY3Rpb24gKGNvbnRhaW5lcikge1xuICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lciAmJiBjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyLmN1cnJlbnQpO1xuXG4gICAgICBpZiAoaG9zdEluc3RhbmNlKSB7XG4gICAgICAgIGlmIChob3N0SW5zdGFuY2UucGFyZW50Tm9kZSAhPT0gY29udGFpbmVyKSB7XG4gICAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBJdCBsb29rcyBsaWtlIHRoZSBSZWFjdC1yZW5kZXJlZCBjb250ZW50IG9mIHRoaXMgJyArICdjb250YWluZXIgd2FzIHJlbW92ZWQgd2l0aG91dCB1c2luZyBSZWFjdC4gVGhpcyBpcyBub3QgJyArICdzdXBwb3J0ZWQgYW5kIHdpbGwgY2F1c2UgZXJyb3JzLiBJbnN0ZWFkLCBjYWxsICcgKyAnUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSB0byBlbXB0eSBhIGNvbnRhaW5lci4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBpc1Jvb3RSZW5kZXJlZEJ5U29tZVJlYWN0ID0gISFjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcbiAgICB2YXIgcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG4gICAgdmFyIGhhc05vblJvb3RSZWFjdENoaWxkID0gISEocm9vdEVsICYmIGdldEluc3RhbmNlRnJvbU5vZGUocm9vdEVsKSk7XG5cbiAgICBpZiAoaGFzTm9uUm9vdFJlYWN0Q2hpbGQgJiYgIWlzUm9vdFJlbmRlcmVkQnlTb21lUmVhY3QpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoLi4uKTogUmVwbGFjaW5nIFJlYWN0LXJlbmRlcmVkIGNoaWxkcmVuIHdpdGggYSBuZXcgcm9vdCAnICsgJ2NvbXBvbmVudC4gSWYgeW91IGludGVuZGVkIHRvIHVwZGF0ZSB0aGUgY2hpbGRyZW4gb2YgdGhpcyBub2RlLCAnICsgJ3lvdSBzaG91bGQgaW5zdGVhZCBoYXZlIHRoZSBleGlzdGluZyBjaGlsZHJlbiB1cGRhdGUgdGhlaXIgc3RhdGUgJyArICdhbmQgcmVuZGVyIHRoZSBuZXcgY29tcG9uZW50cyBpbnN0ZWFkIG9mIGNhbGxpbmcgUmVhY3RET00ucmVuZGVyLicpO1xuICAgIH1cblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiBjb250YWluZXIudGFnTmFtZSAmJiBjb250YWluZXIudGFnTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnQk9EWScpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoKTogUmVuZGVyaW5nIGNvbXBvbmVudHMgZGlyZWN0bHkgaW50byBkb2N1bWVudC5ib2R5IGlzICcgKyAnZGlzY291cmFnZWQsIHNpbmNlIGl0cyBjaGlsZHJlbiBhcmUgb2Z0ZW4gbWFuaXB1bGF0ZWQgYnkgdGhpcmQtcGFydHkgJyArICdzY3JpcHRzIGFuZCBicm93c2VyIGV4dGVuc2lvbnMuIFRoaXMgbWF5IGxlYWQgdG8gc3VidGxlICcgKyAncmVjb25jaWxpYXRpb24gaXNzdWVzLiBUcnkgcmVuZGVyaW5nIGludG8gYSBjb250YWluZXIgZWxlbWVudCBjcmVhdGVkICcgKyAnZm9yIHlvdXIgYXBwLicpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoIWNvbnRhaW5lcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSkge1xuICAgIHJldHVybiBjb250YWluZXIuZG9jdW1lbnRFbGVtZW50O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb250YWluZXIuZmlyc3RDaGlsZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBub29wT25SZWNvdmVyYWJsZUVycm9yKCkgey8vIFRoaXMgaXNuJ3QgcmVhY2hhYmxlIGJlY2F1c2Ugb25SZWNvdmVyYWJsZUVycm9yIGlzbid0IGNhbGxlZCBpbiB0aGVcbiAgLy8gbGVnYWN5IEFQSS5cbn1cblxuZnVuY3Rpb24gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2ssIGlzSHlkcmF0aW9uQ29udGFpbmVyKSB7XG4gIGlmIChpc0h5ZHJhdGlvbkNvbnRhaW5lcikge1xuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBvcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRQdWJsaWNSb290SW5zdGFuY2Uocm9vdCk7XG4gICAgICAgIG9yaWdpbmFsQ2FsbGJhY2suY2FsbChpbnN0YW5jZSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciByb290ID0gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgY2FsbGJhY2ssIGNvbnRhaW5lciwgTGVnYWN5Um9vdCwgbnVsbCwgLy8gaHlkcmF0aW9uQ2FsbGJhY2tzXG4gICAgZmFsc2UsIC8vIGlzU3RyaWN0TW9kZVxuICAgIGZhbHNlLCAvLyBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLFxuICAgICcnLCAvLyBpZGVudGlmaWVyUHJlZml4XG4gICAgbm9vcE9uUmVjb3ZlcmFibGVFcnJvcik7XG4gICAgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPSByb290O1xuICAgIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuICAgIHZhciByb290Q29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gY29udGFpbmVyLnBhcmVudE5vZGUgOiBjb250YWluZXI7XG4gICAgbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMocm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgIGZsdXNoU3luYygpO1xuICAgIHJldHVybiByb290O1xuICB9IGVsc2Uge1xuICAgIC8vIEZpcnN0IGNsZWFyIGFueSBleGlzdGluZyBjb250ZW50LlxuICAgIHZhciByb290U2libGluZztcblxuICAgIHdoaWxlIChyb290U2libGluZyA9IGNvbnRhaW5lci5sYXN0Q2hpbGQpIHtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVDaGlsZChyb290U2libGluZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIF9vcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRQdWJsaWNSb290SW5zdGFuY2UoX3Jvb3QpO1xuXG4gICAgICAgIF9vcmlnaW5hbENhbGxiYWNrLmNhbGwoaW5zdGFuY2UpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX3Jvb3QgPSBjcmVhdGVDb250YWluZXIoY29udGFpbmVyLCBMZWdhY3lSb290LCBudWxsLCAvLyBoeWRyYXRpb25DYWxsYmFja3NcbiAgICBmYWxzZSwgLy8gaXNTdHJpY3RNb2RlXG4gICAgZmFsc2UsIC8vIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsXG4gICAgJycsIC8vIGlkZW50aWZpZXJQcmVmaXhcbiAgICBub29wT25SZWNvdmVyYWJsZUVycm9yKTtcblxuICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gX3Jvb3Q7XG4gICAgbWFya0NvbnRhaW5lckFzUm9vdChfcm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuXG4gICAgdmFyIF9yb290Q29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gY29udGFpbmVyLnBhcmVudE5vZGUgOiBjb250YWluZXI7XG5cbiAgICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhfcm9vdENvbnRhaW5lckVsZW1lbnQpOyAvLyBJbml0aWFsIG1vdW50IHNob3VsZCBub3QgYmUgYmF0Y2hlZC5cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVDb250YWluZXIoaW5pdGlhbENoaWxkcmVuLCBfcm9vdCwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjayk7XG4gICAgfSk7XG4gICAgcmV0dXJuIF9yb290O1xuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkludmFsaWRDYWxsYmFjayQxKGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwgJiYgdHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXMoLi4uKTogRXhwZWN0ZWQgdGhlIGxhc3Qgb3B0aW9uYWwgYGNhbGxiYWNrYCBhcmd1bWVudCB0byBiZSBhICcgKyAnZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNhbGxlck5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbGVnYWN5UmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBjaGlsZHJlbiwgY29udGFpbmVyLCBmb3JjZUh5ZHJhdGUsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzKGNvbnRhaW5lcik7XG4gICAgd2Fybk9uSW52YWxpZENhbGxiYWNrJDEoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjYWxsYmFjaywgJ3JlbmRlcicpO1xuICB9XG5cbiAgdmFyIG1heWJlUm9vdCA9IGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyO1xuICB2YXIgcm9vdDtcblxuICBpZiAoIW1heWJlUm9vdCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICByb290ID0gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBjaGlsZHJlbiwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjaywgZm9yY2VIeWRyYXRlKTtcbiAgfSBlbHNlIHtcbiAgICByb290ID0gbWF5YmVSb290O1xuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIG9yaWdpbmFsQ2FsbGJhY2sgPSBjYWxsYmFjaztcblxuICAgICAgY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGdldFB1YmxpY1Jvb3RJbnN0YW5jZShyb290KTtcbiAgICAgICAgb3JpZ2luYWxDYWxsYmFjay5jYWxsKGluc3RhbmNlKTtcbiAgICAgIH07XG4gICAgfSAvLyBVcGRhdGVcblxuXG4gICAgdXBkYXRlQ29udGFpbmVyKGNoaWxkcmVuLCByb290LCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHJldHVybiBnZXRQdWJsaWNSb290SW5zdGFuY2Uocm9vdCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRET01Ob2RlKGNvbXBvbmVudE9yRWxlbWVudCkge1xuICB7XG4gICAgdmFyIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIkMy5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIHdhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gb3duZXIuc3RhdGVOb2RlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlcjtcblxuICAgICAgaWYgKCF3YXJuZWRBYm91dFJlZnNJblJlbmRlcikge1xuICAgICAgICBlcnJvcignJXMgaXMgYWNjZXNzaW5nIGZpbmRET01Ob2RlIGluc2lkZSBpdHMgcmVuZGVyKCkuICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUob3duZXIudHlwZSkgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIG93bmVyLnN0YXRlTm9kZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb21wb25lbnRPckVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbXBvbmVudE9yRWxlbWVudC5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgcmV0dXJuIGNvbXBvbmVudE9yRWxlbWVudDtcbiAgfVxuXG4gIHtcbiAgICByZXR1cm4gZmluZEhvc3RJbnN0YW5jZVdpdGhXYXJuaW5nKGNvbXBvbmVudE9yRWxlbWVudCwgJ2ZpbmRET01Ob2RlJyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGh5ZHJhdGUoZWxlbWVudCwgY29udGFpbmVyLCBjYWxsYmFjaykge1xuICB7XG4gICAgZXJyb3IoJ1JlYWN0RE9NLmh5ZHJhdGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBpbiBSZWFjdCAxOC4gVXNlIGh5ZHJhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLmh5ZHJhdGUoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBjYWxsIGh5ZHJhdGVSb290KGNvbnRhaW5lciwgZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9IC8vIFRPRE86IHRocm93IG9yIHdhcm4gaWYgd2UgY291bGRuJ3QgaHlkcmF0ZT9cblxuXG4gIHJldHVybiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBlbGVtZW50LCBjb250YWluZXIsIHRydWUsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHJlbmRlcihlbGVtZW50LCBjb250YWluZXIsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBlcnJvcignUmVhY3RET00ucmVuZGVyIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgaW4gUmVhY3QgMTguIFVzZSBjcmVhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLnJlbmRlcigpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET01DbGllbnQuY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnRGlkIHlvdSBtZWFuIHRvIGNhbGwgcm9vdC5yZW5kZXIoZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAge1xuICAgIGVycm9yKCdSZWFjdERPTS51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcigpIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgJyArICdpbiBSZWFjdCAxOC4gQ29uc2lkZXIgdXNpbmcgYSBwb3J0YWwgaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byAnICsgXCJ0aGUgY3JlYXRlUm9vdCBBUEksIHlvdXIgYXBwIHdpbGwgYmVoYXZlIGFzIGlmIGl0J3MgcnVubmluZyBSZWFjdCBcIiArICcxNy4gTGVhcm4gbW9yZTogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N3aXRjaC10by1jcmVhdGVyb290Jyk7XG4gIH1cblxuICBpZiAoIWlzVmFsaWRDb250YWluZXJMZWdhY3koY29udGFpbmVyTm9kZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICBpZiAocGFyZW50Q29tcG9uZW50ID09IG51bGwgfHwgIWhhcyhwYXJlbnRDb21wb25lbnQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwYXJlbnRDb21wb25lbnQgbXVzdCBiZSBhIHZhbGlkIFJlYWN0IENvbXBvbmVudCcpO1xuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVubW91bnRDb21wb25lbnRBdE5vZGUoY29udGFpbmVyKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bm1vdW50Q29tcG9uZW50QXROb2RlKC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB7XG4gICAgdmFyIGlzTW9kZXJuUm9vdCA9IGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikgJiYgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZDtcblxuICAgIGlmIChpc01vZGVyblJvb3QpIHtcbiAgICAgIGVycm9yKCdZb3UgYXJlIGNhbGxpbmcgUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSgpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET01DbGllbnQuY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIERpZCB5b3UgbWVhbiB0byBjYWxsIHJvb3QudW5tb3VudCgpPycpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcikge1xuICAgIHtcbiAgICAgIHZhciByb290RWwgPSBnZXRSZWFjdFJvb3RFbGVtZW50SW5Db250YWluZXIoY29udGFpbmVyKTtcbiAgICAgIHZhciByZW5kZXJlZEJ5RGlmZmVyZW50UmVhY3QgPSByb290RWwgJiYgIWdldEluc3RhbmNlRnJvbU5vZGUocm9vdEVsKTtcblxuICAgICAgaWYgKHJlbmRlcmVkQnlEaWZmZXJlbnRSZWFjdCkge1xuICAgICAgICBlcnJvcihcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcIiArICd3YXMgcmVuZGVyZWQgYnkgYW5vdGhlciBjb3B5IG9mIFJlYWN0LicpO1xuICAgICAgfVxuICAgIH0gLy8gVW5tb3VudCBzaG91bGQgbm90IGJlIGJhdGNoZWQuXG5cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBudWxsLCBjb250YWluZXIsIGZhbHNlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgVGhpcyBzaG91bGQgcHJvYmFibHkgdXNlIGBkZWxldGUgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXJgXG4gICAgICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gbnVsbDtcbiAgICAgICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XG4gICAgICB9KTtcbiAgICB9KTsgLy8gSWYgeW91IGNhbGwgdW5tb3VudENvbXBvbmVudEF0Tm9kZSB0d2ljZSBpbiBxdWljayBzdWNjZXNzaW9uLCB5b3UnbGxcbiAgICAvLyBnZXQgYHRydWVgIHR3aWNlLiBUaGF0J3MgcHJvYmFibHkgZmluZT9cblxuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHtcbiAgICAgIHZhciBfcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG5cbiAgICAgIHZhciBoYXNOb25Sb290UmVhY3RDaGlsZCA9ICEhKF9yb290RWwgJiYgZ2V0SW5zdGFuY2VGcm9tTm9kZShfcm9vdEVsKSk7IC8vIENoZWNrIGlmIHRoZSBjb250YWluZXIgaXRzZWxmIGlzIGEgUmVhY3Qgcm9vdCBub2RlLlxuXG4gICAgICB2YXIgaXNDb250YWluZXJSZWFjdFJvb3QgPSBjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiBpc1ZhbGlkQ29udGFpbmVyTGVnYWN5KGNvbnRhaW5lci5wYXJlbnROb2RlKSAmJiAhIWNvbnRhaW5lci5wYXJlbnROb2RlLl9yZWFjdFJvb3RDb250YWluZXI7XG5cbiAgICAgIGlmIChoYXNOb25Sb290UmVhY3RDaGlsZCkge1xuICAgICAgICBlcnJvcihcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcIiArICd3YXMgcmVuZGVyZWQgYnkgUmVhY3QgYW5kIGlzIG5vdCBhIHRvcC1sZXZlbCBjb250YWluZXIuICVzJywgaXNDb250YWluZXJSZWFjdFJvb3QgPyAnWW91IG1heSBoYXZlIGFjY2lkZW50YWxseSBwYXNzZWQgaW4gYSBSZWFjdCByb290IG5vZGUgaW5zdGVhZCAnICsgJ29mIGl0cyBjb250YWluZXIuJyA6ICdJbnN0ZWFkLCBoYXZlIHRoZSBwYXJlbnQgY29tcG9uZW50IHVwZGF0ZSBpdHMgc3RhdGUgYW5kICcgKyAncmVyZW5kZXIgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoaXMgY29tcG9uZW50LicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5zZXRBdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb24oYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uJDEpO1xuc2V0QXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24kMSk7XG5zZXRBdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkoYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5JDEpO1xuc2V0R2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSk7XG5zZXRBdHRlbXB0SHlkcmF0aW9uQXRQcmlvcml0eShydW5XaXRoUHJpb3JpdHkpO1xuXG57XG4gIGlmICh0eXBlb2YgTWFwICE9PSAnZnVuY3Rpb24nIHx8IC8vICRGbG93SXNzdWUgRmxvdyBpbmNvcnJlY3RseSB0aGlua3MgTWFwIGhhcyBubyBwcm90b3R5cGVcbiAgTWFwLnByb3RvdHlwZSA9PSBudWxsIHx8IHR5cGVvZiBNYXAucHJvdG90eXBlLmZvckVhY2ggIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIFNldCAhPT0gJ2Z1bmN0aW9uJyB8fCAvLyAkRmxvd0lzc3VlIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFNldCBoYXMgbm8gcHJvdG90eXBlXG4gIFNldC5wcm90b3R5cGUgPT0gbnVsbCB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5jbGVhciAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5mb3JFYWNoICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgZXJyb3IoJ1JlYWN0IGRlcGVuZHMgb24gTWFwIGFuZCBTZXQgYnVpbHQtaW4gdHlwZXMuIE1ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGEgJyArICdwb2x5ZmlsbCBpbiBvbGRlciBicm93c2Vycy4gaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3JlYWN0LXBvbHlmaWxscycpO1xuICB9XG59XG5cbnNldFJlc3RvcmVJbXBsZW1lbnRhdGlvbihyZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMpO1xuc2V0QmF0Y2hpbmdJbXBsZW1lbnRhdGlvbihiYXRjaGVkVXBkYXRlcyQxLCBkaXNjcmV0ZVVwZGF0ZXMsIGZsdXNoU3luYyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVBvcnRhbCQxKGNoaWxkcmVuLCBjb250YWluZXIpIHtcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogbnVsbDtcblxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGFyZ2V0IGNvbnRhaW5lciBpcyBub3QgYSBET00gZWxlbWVudC4nKTtcbiAgfSAvLyBUT0RPOiBwYXNzIFJlYWN0RE9NIHBvcnRhbCBpbXBsZW1lbnRhdGlvbiBhcyB0aGlyZCBhcmd1bWVudFxuICAvLyAkRmxvd0ZpeE1lIFRoZSBGbG93IHR5cGUgaXMgb3BhcXVlIGJ1dCB0aGVyZSdzIG5vIHdheSB0byBhY3R1YWxseSBjcmVhdGUgaXQuXG5cblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBjb250YWluZXIsIG51bGwsIGtleSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAgcmV0dXJuIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spO1xufVxuXG52YXIgSW50ZXJuYWxzID0ge1xuICB1c2luZ0NsaWVudEVudHJ5UG9pbnQ6IGZhbHNlLFxuICAvLyBLZWVwIGluIHN5bmMgd2l0aCBSZWFjdFRlc3RVdGlscy5qcy5cbiAgLy8gVGhpcyBpcyBhbiBhcnJheSBmb3IgYmV0dGVyIG1pbmlmaWNhdGlvbi5cbiAgRXZlbnRzOiBbZ2V0SW5zdGFuY2VGcm9tTm9kZSwgZ2V0Tm9kZUZyb21JbnN0YW5jZSwgZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZSwgZW5xdWV1ZVN0YXRlUmVzdG9yZSwgcmVzdG9yZVN0YXRlSWZOZWVkZWQsIGJhdGNoZWRVcGRhdGVzJDFdXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVSb290JDEoY29udGFpbmVyLCBvcHRpb25zKSB7XG4gIHtcbiAgICBpZiAoIUludGVybmFscy51c2luZ0NsaWVudEVudHJ5UG9pbnQgJiYgIWZhbHNlKSB7XG4gICAgICBlcnJvcignWW91IGFyZSBpbXBvcnRpbmcgY3JlYXRlUm9vdCBmcm9tIFwicmVhY3QtZG9tXCIgd2hpY2ggaXMgbm90IHN1cHBvcnRlZC4gJyArICdZb3Ugc2hvdWxkIGluc3RlYWQgaW1wb3J0IGl0IGZyb20gXCJyZWFjdC1kb20vY2xpZW50XCIuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVJvb3QoY29udGFpbmVyLCBvcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gaHlkcmF0ZVJvb3QkMShjb250YWluZXIsIGluaXRpYWxDaGlsZHJlbiwgb3B0aW9ucykge1xuICB7XG4gICAgaWYgKCFJbnRlcm5hbHMudXNpbmdDbGllbnRFbnRyeVBvaW50ICYmICFmYWxzZSkge1xuICAgICAgZXJyb3IoJ1lvdSBhcmUgaW1wb3J0aW5nIGh5ZHJhdGVSb290IGZyb20gXCJyZWFjdC1kb21cIiB3aGljaCBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1lvdSBzaG91bGQgaW5zdGVhZCBpbXBvcnQgaXQgZnJvbSBcInJlYWN0LWRvbS9jbGllbnRcIi4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaHlkcmF0ZVJvb3QoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIG9wdGlvbnMpO1xufSAvLyBPdmVybG9hZCB0aGUgZGVmaW5pdGlvbiB0byB0aGUgdHdvIHZhbGlkIHNpZ25hdHVyZXMuXG4vLyBXYXJuaW5nLCB0aGlzIG9wdHMtb3V0IG9mIGNoZWNraW5nIHRoZSBmdW5jdGlvbiBib2R5LlxuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmZ1bmN0aW9uIGZsdXNoU3luYyQxKGZuKSB7XG4gIHtcbiAgICBpZiAoaXNBbHJlYWR5UmVuZGVyaW5nKCkpIHtcbiAgICAgIGVycm9yKCdmbHVzaFN5bmMgd2FzIGNhbGxlZCBmcm9tIGluc2lkZSBhIGxpZmVjeWNsZSBtZXRob2QuIFJlYWN0IGNhbm5vdCAnICsgJ2ZsdXNoIHdoZW4gUmVhY3QgaXMgYWxyZWFkeSByZW5kZXJpbmcuIENvbnNpZGVyIG1vdmluZyB0aGlzIGNhbGwgdG8gJyArICdhIHNjaGVkdWxlciB0YXNrIG9yIG1pY3JvIHRhc2suJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZsdXNoU3luYyhmbik7XG59XG52YXIgZm91bmREZXZUb29scyA9IGluamVjdEludG9EZXZUb29scyh7XG4gIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOiBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSxcbiAgYnVuZGxlVHlwZTogIDEgLFxuICB2ZXJzaW9uOiBSZWFjdFZlcnNpb24sXG4gIHJlbmRlcmVyUGFja2FnZU5hbWU6ICdyZWFjdC1kb20nXG59KTtcblxue1xuICBpZiAoIWZvdW5kRGV2VG9vbHMgJiYgY2FuVXNlRE9NICYmIHdpbmRvdy50b3AgPT09IHdpbmRvdy5zZWxmKSB7XG4gICAgLy8gSWYgd2UncmUgaW4gQ2hyb21lIG9yIEZpcmVmb3gsIHByb3ZpZGUgYSBkb3dubG9hZCBsaW5rIGlmIG5vdCBpbnN0YWxsZWQuXG4gICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignQ2hyb21lJykgPiAtMSAmJiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0VkZ2UnKSA9PT0gLTEgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdGaXJlZm94JykgPiAtMSkge1xuICAgICAgdmFyIHByb3RvY29sID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sOyAvLyBEb24ndCB3YXJuIGluIGV4b3RpYyBjYXNlcyBsaWtlIGNocm9tZS1leHRlbnNpb246Ly8uXG5cbiAgICAgIGlmICgvXihodHRwcz98ZmlsZSk6JC8udGVzdChwcm90b2NvbCkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuICAgICAgICBjb25zb2xlLmluZm8oJyVjRG93bmxvYWQgdGhlIFJlYWN0IERldlRvb2xzICcgKyAnZm9yIGEgYmV0dGVyIGRldmVsb3BtZW50IGV4cGVyaWVuY2U6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3JlYWN0LWRldnRvb2xzJyArIChwcm90b2NvbCA9PT0gJ2ZpbGU6JyA/ICdcXG5Zb3UgbWlnaHQgbmVlZCB0byB1c2UgYSBsb2NhbCBIVFRQIHNlcnZlciAoaW5zdGVhZCBvZiBmaWxlOi8vKTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVhY3QtZGV2dG9vbHMtZmFxJyA6ICcnKSwgJ2ZvbnQtd2VpZ2h0OmJvbGQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9IEludGVybmFscztcbmV4cG9ydHMuY3JlYXRlUG9ydGFsID0gY3JlYXRlUG9ydGFsJDE7XG5leHBvcnRzLmNyZWF0ZVJvb3QgPSBjcmVhdGVSb290JDE7XG5leHBvcnRzLmZpbmRET01Ob2RlID0gZmluZERPTU5vZGU7XG5leHBvcnRzLmZsdXNoU3luYyA9IGZsdXNoU3luYyQxO1xuZXhwb3J0cy5oeWRyYXRlID0gaHlkcmF0ZTtcbmV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBoeWRyYXRlUm9vdCQxO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnVubW91bnRDb21wb25lbnRBdE5vZGUgPSB1bm1vdW50Q29tcG9uZW50QXROb2RlO1xuZXhwb3J0cy51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyA9IGJhdGNoZWRVcGRhdGVzJDE7XG5leHBvcnRzLnVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyID0gcmVuZGVyU3VidHJlZUludG9Db250YWluZXI7XG5leHBvcnRzLnZlcnNpb24gPSBSZWFjdFZlcnNpb247XG4gICAgICAgICAgLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdG9wID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AobmV3IEVycm9yKCkpO1xufVxuICAgICAgICBcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/client.js": -/*!******************************************!*\ - !*** ./node_modules/react-dom/client.js ***! - \******************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar m = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nif (false) {} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2NsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixRQUFRLG1CQUFPLENBQUMsb0RBQVc7QUFDM0IsSUFBSSxLQUFxQyxFQUFFLEVBRzFDLENBQUM7QUFDRjtBQUNBLEVBQUUsa0JBQWtCO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFtQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9jbGllbnQuanM/YWY4MSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBtID0gcmVxdWlyZSgncmVhY3QtZG9tJyk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBleHBvcnRzLmNyZWF0ZVJvb3QgPSBtLmNyZWF0ZVJvb3Q7XG4gIGV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBtLmh5ZHJhdGVSb290O1xufSBlbHNlIHtcbiAgdmFyIGkgPSBtLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuICBleHBvcnRzLmNyZWF0ZVJvb3QgPSBmdW5jdGlvbihjLCBvKSB7XG4gICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbS5jcmVhdGVSb290KGMsIG8pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcbiAgZXhwb3J0cy5oeWRyYXRlUm9vdCA9IGZ1bmN0aW9uKGMsIGgsIG8pIHtcbiAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBtLmh5ZHJhdGVSb290KGMsIGgsIG8pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/client.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/index.js": -/*!*****************************************!*\ - !*** ./node_modules/react-dom/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (true) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ \"./node_modules/react-dom/cjs/react-dom.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUksS0FBcUMsRUFBRSxFQUsxQyxDQUFDO0FBQ0YsRUFBRSxtSUFBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9pbmRleC5qcz83NzIyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gY2hlY2tEQ0UoKSB7XG4gIC8qIGdsb2JhbCBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gKi9cbiAgaWYgKFxuICAgIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnIHx8XG4gICAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSAhPT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAvLyBUaGlzIGJyYW5jaCBpcyB1bnJlYWNoYWJsZSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWRcbiAgICAvLyBpbiBwcm9kdWN0aW9uLCBidXQgdGhlIGNvbmRpdGlvbiBpcyB0cnVlIG9ubHkgaW4gZGV2ZWxvcG1lbnQuXG4gICAgLy8gVGhlcmVmb3JlIGlmIHRoZSBicmFuY2ggaXMgc3RpbGwgaGVyZSwgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdhc24ndFxuICAgIC8vIHByb3Blcmx5IGFwcGxpZWQuXG4gICAgLy8gRG9uJ3QgY2hhbmdlIHRoZSBtZXNzYWdlLiBSZWFjdCBEZXZUb29scyByZWxpZXMgb24gaXQuIEFsc28gbWFrZSBzdXJlXG4gICAgLy8gdGhpcyBtZXNzYWdlIGRvZXNuJ3Qgb2NjdXIgZWxzZXdoZXJlIGluIHRoaXMgZnVuY3Rpb24sIG9yIGl0IHdpbGwgY2F1c2VcbiAgICAvLyBhIGZhbHNlIHBvc2l0aXZlLlxuICAgIHRocm93IG5ldyBFcnJvcignXl9eJyk7XG4gIH1cbiAgdHJ5IHtcbiAgICAvLyBWZXJpZnkgdGhhdCB0aGUgY29kZSBhYm92ZSBoYXMgYmVlbiBkZWFkIGNvZGUgZWxpbWluYXRlZCAoRENFJ2QpLlxuICAgIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShjaGVja0RDRSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIERldlRvb2xzIHNob3VsZG4ndCBjcmFzaCBSZWFjdCwgbm8gbWF0dGVyIHdoYXQuXG4gICAgLy8gV2Ugc2hvdWxkIHN0aWxsIHJlcG9ydCBpbiBjYXNlIHdlIGJyZWFrIHRoaXMgY29kZS5cbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gIH1cbn1cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgLy8gRENFIGNoZWNrIHNob3VsZCBoYXBwZW4gYmVmb3JlIFJlYWN0RE9NIGJ1bmRsZSBleGVjdXRlcyBzbyB0aGF0XG4gIC8vIERldlRvb2xzIGNhbiByZXBvcnQgYmFkIG1pbmlmaWNhdGlvbiBkdXJpbmcgaW5qZWN0aW9uLlxuICBjaGVja0RDRSgpO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react/cjs/react-jsx-runtime.development.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react/cjs/react-jsx-runtime.development.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-runtime.development.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\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7O0FBRUEsWUFBWSxtQkFBTyxDQUFDLDRDQUFPOztBQUUzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7O0FBRUEsZ0NBQWdDOztBQUVoQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FB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Q0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkhBQTJIO0FBQzNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsb0VBQW9FOztBQUVwRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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RUE7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHFCQUFxQjtBQUNqRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7QUFDdEM7O0FBRUE7O0FBRUEsZ0JBQWdCO0FBQ2hCLFdBQVc7QUFDWCxZQUFZO0FBQ1osR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC9janMvcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanM/MmZjMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1qc3gtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7XG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubGF6eScpO1xudmFyIFJFQUNUX09GRlNDUkVFTl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Qub2Zmc2NyZWVuJyk7XG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIHtcbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcobGV2ZWwsIGZvcm1hdCwgYXJncykge1xuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cbiAgLy8gdXBkYXRlIGNvbnNvbGVXaXRoU3RhY2tEZXYud3d3LmpzIGFzIHdlbGwuXG4gIHtcbiAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICBpZiAoc3RhY2sgIT09ICcnKSB7XG4gICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtKTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRTtcblxue1xuICBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QubW9kdWxlLnJlZmVyZW5jZScpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkge1xuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gTm90ZTogdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgKGUuZy4gaWYgaXQncyBhIHBvbHlmaWxsKS5cblxuXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgZW5hYmxlRGVidWdUcmFjaW5nICB8fCB0eXBlID09PSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFIHx8IGVuYWJsZUxlZ2FjeUhpZGRlbiAgfHwgdHlwZSA9PT0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgfHwgZW5hYmxlU2NvcGVBUEkgIHx8IGVuYWJsZUNhY2hlRWxlbWVudCAgfHwgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICBpZiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFIHx8IHR5cGUuZ2V0TW9kdWxlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbnZhciByZWVudHJ5ID0gZmFsc2U7XG52YXIgY29tcG9uZW50RnJhbWVDYWNoZTtcblxue1xuICB2YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwO1xuICBjb21wb25lbnRGcmFtZUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICggIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICB2YXIgY29udHJvbDtcbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWUgSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7IC8vIFNldCB0aGUgZGlzcGF0Y2hlciBpbiBERVYgYmVjYXVzZSB0aGlzIG1pZ2h0IGJlIGNhbGwgaW4gdGhlIHJlbmRlciBmdW5jdGlvblxuICAgIC8vIGZvciB3YXJuaW5ncy5cblxuICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgZmFsc2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcbiAgdmFyIHByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4gIHJldHVybiAhIShwcm90b3R5cGUgJiYgcHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSwgc291cmNlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgc291cmNlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBzb3VyY2UsIG93bmVyRm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbnZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZWxlbWVudCkge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZSBUaGlzIGlzIG9rYXkgYnV0IEZsb3cgZG9lc24ndCBrbm93IGl0LlxuICAgIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoaGFzT3duUHJvcGVydHkpO1xuXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yJDEgPSB2b2lkIDA7IC8vIFByb3AgdHlwZSB2YWxpZGF0aW9uIG1heSB0aHJvdy4gSW4gY2FzZSB0aGV5IGRvLCB3ZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIGZhaWwgdGhlIHJlbmRlciBwaGFzZSB3aGVyZSBpdCBkaWRuJ3QgZmFpbCBiZWZvcmUuIFNvIHdlIGxvZyBpdC5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYXMgd2l0aG91dCB0aGlzIHN0YXRlbWVudCBleGNlcHQgd2l0aCBhIGJldHRlciBtZXNzYWdlLlxuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgICB2YXIgZXJyID0gRXJyb3IoKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyAnICsgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICsgJ2AuJyArICdUaGlzIG9mdGVuIGhhcHBlbnMgYmVjYXVzZSBvZiB0eXBvcyBzdWNoIGFzIGBQcm9wVHlwZXMuZnVuY3Rpb25gIGluc3RlYWQgb2YgYFByb3BUeXBlcy5mdW5jYC4nKTtcbiAgICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVycm9yJDEgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCcpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgIGVycm9yJDEgPSBleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxICYmICEoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJXMnICsgJyBgJXNgIGlzIGludmFsaWQ7IHRoZSB0eXBlIGNoZWNrZXIgJyArICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAlcy4gJyArICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICsgJ2NyZWF0b3IgKGFycmF5T2YsIGluc3RhbmNlT2YsIG9iamVjdE9mLCBvbmVPZiwgb25lT2ZUeXBlLCBhbmQgJyArICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJywgY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnLCBsb2NhdGlvbiwgdHlwZVNwZWNOYW1lLCB0eXBlb2YgZXJyb3IkMSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvciQxLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yJDEubWVzc2FnZV0gPSB0cnVlO1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJ0ZhaWxlZCAlcyB0eXBlOiAlcycsIGxvY2F0aW9uLCBlcnJvciQxLm1lc3NhZ2UpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vKlxuICogVGhlIGAnJyArIHZhbHVlYCBwYXR0ZXJuICh1c2VkIGluIGluIHBlcmYtc2Vuc2l0aXZlIGNvZGUpIHRocm93cyBmb3IgU3ltYm9sXG4gKiBhbmQgVGVtcG9yYWwuKiB0eXBlcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzIyMDY0LlxuICpcbiAqIFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlYXNpZXItdG8tdW5kZXJzdGFuZCxcbiAqIGVhc2llci10by1kZWJ1ZyBleGNlcHRpb24gd2l0aCBhIGNsZWFyIGVycm9ycyBtZXNzYWdlIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGVcbiAqIHByb2JsZW0uIChJbnN0ZWFkIG9mIGEgY29uZnVzaW5nIGV4Y2VwdGlvbiB0aHJvd24gaW5zaWRlIHRoZSBpbXBsZW1lbnRhdGlvblxuICogb2YgdGhlIGB2YWx1ZWAgb2JqZWN0KS5cbiAqL1xuLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cbmZ1bmN0aW9uIHR5cGVOYW1lKHZhbHVlKSB7XG4gIHtcbiAgICAvLyB0b1N0cmluZ1RhZyBpcyBuZWVkZWQgZm9yIG5hbWVzcGFjZWQgdHlwZXMgbGlrZSBUZW1wb3JhbC5JbnN0YW50XG4gICAgdmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wudG9TdHJpbmdUYWc7XG4gICAgdmFyIHR5cGUgPSBoYXNUb1N0cmluZ1RhZyAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIHx8IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHwgJ09iamVjdCc7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciBlbGVtZW50ID0ge1xuICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgLy8gQnVpbHQtaW4gcHJvcGVydGllcyB0aGF0IGJlbG9uZyBvbiB0aGUgZWxlbWVudFxuICAgIHR5cGU6IHR5cGUsXG4gICAga2V5OiBrZXksXG4gICAgcmVmOiByZWYsXG4gICAgcHJvcHM6IHByb3BzLFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgX293bmVyOiBvd25lclxuICB9O1xuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gc2VsZiBhbmQgc291cmNlIGFyZSBERVYgb25seSBwcm9wZXJ0aWVzLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzZWxmXG4gICAgfSk7IC8vIFR3byBlbGVtZW50cyBjcmVhdGVkIGluIHR3byBkaWZmZXJlbnQgcGxhY2VzIHNob3VsZCBiZSBjb25zaWRlcmVkXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zb3VyY2UnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc291cmNlXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59O1xuLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZmNzL3B1bGwvMTA3XG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICovXG5cbmZ1bmN0aW9uIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gICAgdmFyIHByb3BzID0ge307XG4gICAgdmFyIGtleSA9IG51bGw7XG4gICAgdmFyIHJlZiA9IG51bGw7IC8vIEN1cnJlbnRseSwga2V5IGNhbiBiZSBzcHJlYWQgaW4gYXMgYSBwcm9wLiBUaGlzIGNhdXNlcyBhIHBvdGVudGlhbFxuICAgIC8vIGlzc3VlIGlmIGtleSBpcyBhbHNvIGV4cGxpY2l0bHkgZGVjbGFyZWQgKGllLiA8ZGl2IHsuLi5wcm9wc30ga2V5PVwiSGlcIiAvPlxuICAgIC8vIG9yIDxkaXYga2V5PVwiSGlcIiB7Li4ucHJvcHN9IC8+ICkuIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGtleSBzcHJlYWQsXG4gICAgLy8gYnV0IGFzIGFuIGludGVybWVkaWFyeSBzdGVwLCB3ZSB3aWxsIHVzZSBqc3hERVYgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0XG4gICAgLy8gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz4sIGJlY2F1c2Ugd2UgYXJlbid0IGN1cnJlbnRseSBhYmxlIHRvIHRlbGwgaWZcbiAgICAvLyBrZXkgaXMgZXhwbGljaXRseSBkZWNsYXJlZCB0byBiZSB1bmRlZmluZWQgb3Igbm90LlxuXG4gICAgaWYgKG1heWJlS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihtYXliZUtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgbWF5YmVLZXk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZik7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gICAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICB2YXIgc3RhY2sgPSBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoZWxlbWVudC50eXBlLCBlbGVtZW50Ll9zb3VyY2UsIG93bmVyID8gb3duZXIudHlwZSA6IG51bGwpO1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKSB7XG4gIHtcbiAgICBpZiAoc291cmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcL10vLCAnJyk7XG4gICAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB5b3VyIGNvZGUgYXQgJyArIGZpbGVOYW1lICsgJzonICsgbGluZU51bWJlciArICcuJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gdHlwZW9mIHBhcmVudFR5cGUgPT09ICdzdHJpbmcnID8gcGFyZW50VHlwZSA6IHBhcmVudFR5cGUuZGlzcGxheU5hbWUgfHwgcGFyZW50VHlwZS5uYW1lO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10gPSB0cnVlOyAvLyBVc3VhbGx5IHRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBvZmZlbmRlciwgYnV0IGlmIGl0IGFjY2VwdHMgY2hpbGRyZW4gYXMgYVxuICAgIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgICB2YXIgY2hpbGRPd25lciA9ICcnO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICh0eXBlb2Ygbm9kZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZSkge1xuICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRW50cnkgaXRlcmF0b3JzIHVzZWQgdG8gcHJvdmlkZSBpbXBsaWNpdCBrZXlzLFxuICAgICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChub2RlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uKHR5cGUsIHByb3BzLCBrZXksIGlzU3RhdGljQ2hpbGRyZW4sIHNvdXJjZSwgc2VsZikge1xuICB7XG4gICAgdmFyIHZhbGlkVHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKTsgLy8gV2Ugd2FybiBpbiB0aGlzIGNhc2UgYnV0IGRvbid0IHRocm93LiBXZSBleHBlY3QgdGhlIGVsZW1lbnQgY3JlYXRpb24gdG9cbiAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuXG4gICAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciBzb3VyY2VJbmZvID0gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKTtcblxuICAgICAgaWYgKHNvdXJjZUluZm8pIHtcbiAgICAgICAgaW5mbyArPSBzb3VyY2VJbmZvO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgc291cmNlLCBzZWxmKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cbiAgICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAgIC8vIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmQgcHJvZC5cbiAgICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAgIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gICAgaWYgKHZhbGlkVHlwZSkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIGlmIChjaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuW2ldLCB0eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCdSZWFjdC5qc3g6IFN0YXRpYyBjaGlsZHJlbiBzaG91bGQgYWx3YXlzIGJlIGFuIGFycmF5LiAnICsgJ1lvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gJyArICdVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbiwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgdmFsaWRhdGVGcmFnbWVudFByb3BzKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufSAvLyBUaGVzZSB0d28gZnVuY3Rpb25zIGV4aXN0IHRvIHN0aWxsIGdldCBjaGlsZCB3YXJuaW5ncyBpbiBkZXZcbi8vIGV2ZW4gd2l0aCB0aGUgcHJvZCB0cmFuc2Zvcm0uIFRoaXMgbWVhbnMgdGhhdCBqc3hERVYgaXMgcHVyZWx5XG4vLyBvcHQtaW4gYmVoYXZpb3IgZm9yIGJldHRlciBtZXNzYWdlcyBidXQgdGhhdCB3ZSB3b24ndCBzdG9wXG4vLyBnaXZpbmcgeW91IHdhcm5pbmdzIGlmIHlvdSB1c2UgcHJvZHVjdGlvbiBhcGlzLlxuXG5mdW5jdGlvbiBqc3hXaXRoVmFsaWRhdGlvblN0YXRpYyh0eXBlLCBwcm9wcywga2V5KSB7XG4gIHtcbiAgICByZXR1cm4ganN4V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGtleSwgdHJ1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uRHluYW1pYyh0eXBlLCBwcm9wcywga2V5KSB7XG4gIHtcbiAgICByZXR1cm4ganN4V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGtleSwgZmFsc2UpO1xuICB9XG59XG5cbnZhciBqc3ggPSAganN4V2l0aFZhbGlkYXRpb25EeW5hbWljIDsgLy8gd2UgbWF5IHdhbnQgdG8gc3BlY2lhbCBjYXNlIGpzeHMgaW50ZXJuYWxseSB0byB0YWtlIGFkdmFudGFnZSBvZiBzdGF0aWMgY2hpbGRyZW4uXG4vLyBmb3Igbm93IHdlIGNhbiBzaGlwIGlkZW50aWNhbCBwcm9kIGZ1bmN0aW9uc1xuXG52YXIganN4cyA9ICBqc3hXaXRoVmFsaWRhdGlvblN0YXRpYyA7XG5cbmV4cG9ydHMuRnJhZ21lbnQgPSBSRUFDVF9GUkFHTUVOVF9UWVBFO1xuZXhwb3J0cy5qc3ggPSBqc3g7XG5leHBvcnRzLmpzeHMgPSBqc3hzO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react-jsx-runtime.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react/cjs/react.development.js": -/*!*****************************************************!*\ - !*** ./node_modules/react/cjs/react.development.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * @license React\n * react.development.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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDs7QUFFQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsNEJBQTRCO0FBQzVCO0FBQ0EscUNBQXFDOztBQUVyQyxnQ0FBZ0M7QUFDaEM7QUFDQTs7QUFFQSxnQ0FBZ0M7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkZBQTZGLGFBQWE7QUFDMUc7QUFDQTs7QUFF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Q0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsZUFBZTtBQUMxQixXQUFXLEdB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QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1COztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLElBQUk7QUFDbkQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLElBQUk7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0EsU0FBUztBQUNULHVCQUF1QjtBQUN2QjtBQUNBLFNBQVM7QUFDVCx1QkFBdUI7QUFDdkI7QUFDQSxTQUFTO0FBQ1Qsd0JBQXdCO0FBQ3hCO0FBQ0EsU0FBUztBQUNU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QTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNEQUFzRDtBQUN0RDs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixzQkFBc0I7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0EsbUNBQW1DO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQztBQUNBOztBQUVBLDBPQUEwTztBQUMxTztBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOLGdDQUFnQztBQUNoQzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULFFBQVE7QUFDUjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWUsa0JBQWtCO0FBQ2pDOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCO0FBQ2hCLGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsZ0JBQWdCO0FBQ2hCLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLDBEQUEwRDtBQUMxRCxvQkFBb0I7QUFDcEIscUJBQXFCO0FBQ3JCLHFCQUFxQjtBQUNyQixxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsWUFBWTtBQUNaLFlBQVk7QUFDWix1QkFBdUI7QUFDdkIsb0JBQW9CO0FBQ3BCLG1CQUFtQjtBQUNuQixrQkFBa0I7QUFDbEIscUJBQXFCO0FBQ3JCLHdCQUF3QjtBQUN4QixpQkFBaUI7QUFDakIsYUFBYTtBQUNiLDJCQUEyQjtBQUMzQiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLGVBQWU7QUFDZixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGdCQUFnQjtBQUNoQiw0QkFBNEI7QUFDNUIscUJBQXFCO0FBQ3JCLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcz8xYjdlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcblxuICAgICAgICAgICd1c2Ugc3RyaWN0JztcblxuLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydCA9PT1cbiAgICAnZnVuY3Rpb24nXG4pIHtcbiAgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgICAgdmFyIFJlYWN0VmVyc2lvbiA9ICcxOC4yLjAnO1xuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IGRpc3BhdGNoZXIuXG4gKi9cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbi8qKlxuICogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgYmF0Y2gncyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgaG93IGxvbmcgYW4gdXBkYXRlXG4gKiBzaG91bGQgc3VzcGVuZCBmb3IgaWYgaXQgbmVlZHMgdG8uXG4gKi9cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IHtcbiAgdHJhbnNpdGlvbjogbnVsbFxufTtcblxudmFyIFJlYWN0Q3VycmVudEFjdFF1ZXVlID0ge1xuICBjdXJyZW50OiBudWxsLFxuICAvLyBVc2VkIHRvIHJlcHJvZHVjZSBiZWhhdmlvciBvZiBgYmF0Y2hlZFVwZGF0ZXNgIGluIGxlZ2FjeSBtb2RlLlxuICBpc0JhdGNoaW5nTGVnYWN5OiBmYWxzZSxcbiAgZGlkU2NoZWR1bGVMZWdhY3lVcGRhdGU6IGZhbHNlXG59O1xuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IG93bmVyLlxuICpcbiAqIFRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBjb21wb25lbnQgd2hvIHNob3VsZCBvd24gYW55IGNvbXBvbmVudHMgdGhhdCBhcmVcbiAqIGN1cnJlbnRseSBiZWluZyBjb25zdHJ1Y3RlZC5cbiAqL1xudmFyIFJlYWN0Q3VycmVudE93bmVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0ge307XG52YXIgY3VycmVudEV4dHJhU3RhY2tGcmFtZSA9IG51bGw7XG5mdW5jdGlvbiBzZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spIHtcbiAge1xuICAgIGN1cnJlbnRFeHRyYVN0YWNrRnJhbWUgPSBzdGFjaztcbiAgfVxufVxuXG57XG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lID0gZnVuY3Rpb24gKHN0YWNrKSB7XG4gICAge1xuICAgICAgY3VycmVudEV4dHJhU3RhY2tGcmFtZSA9IHN0YWNrO1xuICAgIH1cbiAgfTsgLy8gU3RhY2sgaW1wbGVtZW50YXRpb24gaW5qZWN0ZWQgYnkgdGhlIGN1cnJlbnQgcmVuZGVyZXIuXG5cblxuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IG51bGw7XG5cbiAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBzdGFjayA9ICcnOyAvLyBBZGQgYW4gZXh0cmEgdG9wIGZyYW1lIHdoaWxlIGFuIGVsZW1lbnQgaXMgYmVpbmcgdmFsaWRhdGVkXG5cbiAgICBpZiAoY3VycmVudEV4dHJhU3RhY2tGcmFtZSkge1xuICAgICAgc3RhY2sgKz0gY3VycmVudEV4dHJhU3RhY2tGcmFtZTtcbiAgICB9IC8vIERlbGVnYXRlIHRvIHRoZSBpbmplY3RlZCByZW5kZXJlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxuXG5cbiAgICB2YXIgaW1wbCA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrO1xuXG4gICAgaWYgKGltcGwpIHtcbiAgICAgIHN0YWNrICs9IGltcGwoKSB8fCAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhY2s7XG4gIH07XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSB7XG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXI6IFJlYWN0Q3VycmVudERpc3BhdGNoZXIsXG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOiBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcbiAgUmVhY3RDdXJyZW50T3duZXI6IFJlYWN0Q3VycmVudE93bmVyXG59O1xuXG57XG4gIFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRBY3RRdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlO1xufVxuXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxuLy9cbi8vIEluIFBST0QgKG9yIGluIHBhY2thZ2VzIHdpdGhvdXQgYWNjZXNzIHRvIFJlYWN0IGludGVybmFscyksXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXG5cbmZ1bmN0aW9uIHdhcm4oZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ3dhcm4nLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50ID0ge307XG5cbmZ1bmN0aW9uIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICB2YXIgX2NvbnN0cnVjdG9yID0gcHVibGljSW5zdGFuY2UuY29uc3RydWN0b3I7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBfY29uc3RydWN0b3IgJiYgKF9jb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZSB8fCBfY29uc3RydWN0b3IubmFtZSkgfHwgJ1JlYWN0Q2xhc3MnO1xuICAgIHZhciB3YXJuaW5nS2V5ID0gY29tcG9uZW50TmFtZSArIFwiLlwiICsgY2FsbGVyTmFtZTtcblxuICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnRbd2FybmluZ0tleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlcnJvcihcIkNhbid0IGNhbGwgJXMgb24gYSBjb21wb25lbnQgdGhhdCBpcyBub3QgeWV0IG1vdW50ZWQuIFwiICsgJ1RoaXMgaXMgYSBuby1vcCwgYnV0IGl0IG1pZ2h0IGluZGljYXRlIGEgYnVnIGluIHlvdXIgYXBwbGljYXRpb24uICcgKyAnSW5zdGVhZCwgYXNzaWduIHRvIGB0aGlzLnN0YXRlYCBkaXJlY3RseSBvciBkZWZpbmUgYSBgc3RhdGUgPSB7fTtgICcgKyAnY2xhc3MgcHJvcGVydHkgd2l0aCB0aGUgZGVzaXJlZCBzdGF0ZSBpbiB0aGUgJXMgY29tcG9uZW50LicsIGNhbGxlck5hbWUsIGNvbXBvbmVudE5hbWUpO1xuXG4gICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50W3dhcm5pbmdLZXldID0gdHJ1ZTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIGlzIHRoZSBhYnN0cmFjdCBBUEkgZm9yIGFuIHVwZGF0ZSBxdWV1ZS5cbiAqL1xuXG5cbnZhciBSZWFjdE5vb3BVcGRhdGVRdWV1ZSA9IHtcbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGNvbXBvc2l0ZSBjb21wb25lbnQgaXMgbW91bnRlZC5cbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2Ugd2Ugd2FudCB0byB0ZXN0LlxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIG1vdW50ZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICogQHByb3RlY3RlZFxuICAgKiBAZmluYWxcbiAgICovXG4gIGlzTW91bnRlZDogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXG4gICAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXG4gICAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXG4gICAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIGNvbXBvbmVudCBpcyB1cGRhdGVkLlxuICAgKiBAcGFyYW0gez9zdHJpbmd9IGNhbGxlck5hbWUgbmFtZSBvZiB0aGUgY2FsbGluZyBmdW5jdGlvbiBpbiB0aGUgcHVibGljIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBlbnF1ZXVlRm9yY2VVcGRhdGU6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ2ZvcmNlVXBkYXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyBvciBgc2V0U3RhdGVgIHRvIG11dGF0ZSBzdGF0ZS5cbiAgICogWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxuICAgKlxuICAgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICAgKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB0aGF0IHNob3VsZCByZXJlbmRlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbXBsZXRlU3RhdGUgTmV4dCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBjYWxsZXJOYW1lIG5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZW5xdWV1ZVJlcGxhY2VTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjb21wbGV0ZVN0YXRlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xuICAgIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCAncmVwbGFjZVN0YXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBUaGlzIG9ubHkgZXhpc3RzIGJlY2F1c2UgX3BlbmRpbmdTdGF0ZSBpc1xuICAgKiBpbnRlcm5hbC4gVGhpcyBwcm92aWRlcyBhIG1lcmdpbmcgc3RyYXRlZ3kgdGhhdCBpcyBub3QgYXZhaWxhYmxlIHRvIGRlZXBcbiAgICogcHJvcGVydGllcyB3aGljaCBpcyBjb25mdXNpbmcuIFRPRE86IEV4cG9zZSBwZW5kaW5nU3RhdGUgb3IgZG9uJ3QgdXNlIGl0XG4gICAqIGR1cmluZyB0aGUgbWVyZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBOYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdzZXRTdGF0ZScpO1xuICB9XG59O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxudmFyIGVtcHR5T2JqZWN0ID0ge307XG5cbntcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eU9iamVjdCk7XG59XG4vKipcbiAqIEJhc2UgY2xhc3MgaGVscGVycyBmb3IgdGhlIHVwZGF0aW5nIHN0YXRlIG9mIGEgY29tcG9uZW50LlxuICovXG5cblxuZnVuY3Rpb24gQ29tcG9uZW50KHByb3BzLCBjb250ZXh0LCB1cGRhdGVyKSB7XG4gIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgdGhpcy5jb250ZXh0ID0gY29udGV4dDsgLy8gSWYgYSBjb21wb25lbnQgaGFzIHN0cmluZyByZWZzLCB3ZSB3aWxsIGFzc2lnbiBhIGRpZmZlcmVudCBvYmplY3QgbGF0ZXIuXG5cbiAgdGhpcy5yZWZzID0gZW1wdHlPYmplY3Q7IC8vIFdlIGluaXRpYWxpemUgdGhlIGRlZmF1bHQgdXBkYXRlciBidXQgdGhlIHJlYWwgb25lIGdldHMgaW5qZWN0ZWQgYnkgdGhlXG4gIC8vIHJlbmRlcmVyLlxuXG4gIHRoaXMudXBkYXRlciA9IHVwZGF0ZXIgfHwgUmVhY3ROb29wVXBkYXRlUXVldWU7XG59XG5cbkNvbXBvbmVudC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCA9IHt9O1xuLyoqXG4gKiBTZXRzIGEgc3Vic2V0IG9mIHRoZSBzdGF0ZS4gQWx3YXlzIHVzZSB0aGlzIHRvIG11dGF0ZVxuICogc3RhdGUuIFlvdSBzaG91bGQgdHJlYXQgYHRoaXMuc3RhdGVgIGFzIGltbXV0YWJsZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICogYWNjZXNzaW5nIGB0aGlzLnN0YXRlYCBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kIG1heSByZXR1cm4gdGhlIG9sZCB2YWx1ZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBjYWxscyB0byBgc2V0U3RhdGVgIHdpbGwgcnVuIHN5bmNocm9ub3VzbHksXG4gKiBhcyB0aGV5IG1heSBldmVudHVhbGx5IGJlIGJhdGNoZWQgdG9nZXRoZXIuICBZb3UgY2FuIHByb3ZpZGUgYW4gb3B0aW9uYWxcbiAqIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBjYWxsIHRvIHNldFN0YXRlIGlzIGFjdHVhbGx5XG4gKiBjb21wbGV0ZWQuXG4gKlxuICogV2hlbiBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIHRvIHNldFN0YXRlLCBpdCB3aWxsIGJlIGNhbGxlZCBhdCBzb21lIHBvaW50IGluXG4gKiB0aGUgZnV0dXJlIChub3Qgc3luY2hyb25vdXNseSkuIEl0IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIHVwIHRvIGRhdGVcbiAqIGNvbXBvbmVudCBhcmd1bWVudHMgKHN0YXRlLCBwcm9wcywgY29udGV4dCkuIFRoZXNlIHZhbHVlcyBjYW4gYmUgZGlmZmVyZW50XG4gKiBmcm9tIHRoaXMuKiBiZWNhdXNlIHlvdXIgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBhZnRlciByZWNlaXZlUHJvcHMgYnV0IGJlZm9yZVxuICogc2hvdWxkQ29tcG9uZW50VXBkYXRlLCBhbmQgdGhpcyBuZXcgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCB3aWxsIG5vdCB5ZXQgYmVcbiAqIGFzc2lnbmVkIHRvIHRoaXMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R8ZnVuY3Rpb259IHBhcnRpYWxTdGF0ZSBOZXh0IHBhcnRpYWwgc3RhdGUgb3IgZnVuY3Rpb24gdG9cbiAqICAgICAgICBwcm9kdWNlIG5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBjdXJyZW50IHN0YXRlLlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBzdGF0ZSBpcyB1cGRhdGVkLlxuICogQGZpbmFsXG4gKiBAcHJvdGVjdGVkXG4gKi9cblxuQ29tcG9uZW50LnByb3RvdHlwZS5zZXRTdGF0ZSA9IGZ1bmN0aW9uIChwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnb2JqZWN0JyAmJiB0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnZnVuY3Rpb24nICYmIHBhcnRpYWxTdGF0ZSAhPSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhICcgKyAnZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLicpO1xuICB9XG5cbiAgdGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcbn07XG4vKipcbiAqIEZvcmNlcyBhbiB1cGRhdGUuIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aGVuIGl0IGlzIGtub3duIHdpdGhcbiAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICpcbiAqIFlvdSBtYXkgd2FudCB0byBjYWxsIHRoaXMgd2hlbiB5b3Uga25vdyB0aGF0IHNvbWUgZGVlcGVyIGFzcGVjdCBvZiB0aGVcbiAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICpcbiAqIFRoaXMgd2lsbCBub3QgaW52b2tlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgLCBidXQgaXQgd2lsbCBpbnZva2VcbiAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gKlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciB1cGRhdGUgaXMgY29tcGxldGUuXG4gKiBAZmluYWxcbiAqIEBwcm90ZWN0ZWRcbiAqL1xuXG5cbkNvbXBvbmVudC5wcm90b3R5cGUuZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLCBjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG59O1xuLyoqXG4gKiBEZXByZWNhdGVkIEFQSXMuIFRoZXNlIEFQSXMgdXNlZCB0byBleGlzdCBvbiBjbGFzc2ljIFJlYWN0IGNsYXNzZXMgYnV0IHNpbmNlXG4gKiB3ZSB3b3VsZCBsaWtlIHRvIGRlcHJlY2F0ZSB0aGVtLCB3ZSdyZSBub3QgZ29pbmcgdG8gbW92ZSB0aGVtIG92ZXIgdG8gdGhpc1xuICogbW9kZXJuIGJhc2UgY2xhc3MuIEluc3RlYWQsIHdlIGRlZmluZSBhIGdldHRlciB0aGF0IHdhcm5zIGlmIGl0J3MgYWNjZXNzZWQuXG4gKi9cblxuXG57XG4gIHZhciBkZXByZWNhdGVkQVBJcyA9IHtcbiAgICBpc01vdW50ZWQ6IFsnaXNNb3VudGVkJywgJ0luc3RlYWQsIG1ha2Ugc3VyZSB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zIGFuZCBwZW5kaW5nIHJlcXVlc3RzIGluICcgKyAnY29tcG9uZW50V2lsbFVubW91bnQgdG8gcHJldmVudCBtZW1vcnkgbGVha3MuJ10sXG4gICAgcmVwbGFjZVN0YXRlOiBbJ3JlcGxhY2VTdGF0ZScsICdSZWZhY3RvciB5b3VyIGNvZGUgdG8gdXNlIHNldFN0YXRlIGluc3RlYWQgKHNlZSAnICsgJ2h0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMzIzNikuJ11cbiAgfTtcblxuICB2YXIgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nID0gZnVuY3Rpb24gKG1ldGhvZE5hbWUsIGluZm8pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29tcG9uZW50LnByb3RvdHlwZSwgbWV0aG9kTmFtZSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJyVzKC4uLikgaXMgZGVwcmVjYXRlZCBpbiBwbGFpbiBKYXZhU2NyaXB0IFJlYWN0IGNsYXNzZXMuICVzJywgaW5mb1swXSwgaW5mb1sxXSk7XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBmb3IgKHZhciBmbk5hbWUgaW4gZGVwcmVjYXRlZEFQSXMpIHtcbiAgICBpZiAoZGVwcmVjYXRlZEFQSXMuaGFzT3duUHJvcGVydHkoZm5OYW1lKSkge1xuICAgICAgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nKGZuTmFtZSwgZGVwcmVjYXRlZEFQSXNbZm5OYW1lXSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIENvbXBvbmVudER1bW15KCkge31cblxuQ29tcG9uZW50RHVtbXkucHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbi8qKlxuICogQ29udmVuaWVuY2UgY29tcG9uZW50IHdpdGggZGVmYXVsdCBzaGFsbG93IGVxdWFsaXR5IGNoZWNrIGZvciBzQ1UuXG4gKi9cblxuZnVuY3Rpb24gUHVyZUNvbXBvbmVudChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xuICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7IC8vIElmIGEgY29tcG9uZW50IGhhcyBzdHJpbmcgcmVmcywgd2Ugd2lsbCBhc3NpZ24gYSBkaWZmZXJlbnQgb2JqZWN0IGxhdGVyLlxuXG4gIHRoaXMucmVmcyA9IGVtcHR5T2JqZWN0O1xuICB0aGlzLnVwZGF0ZXIgPSB1cGRhdGVyIHx8IFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlO1xufVxuXG52YXIgcHVyZUNvbXBvbmVudFByb3RvdHlwZSA9IFB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudER1bW15KCk7XG5wdXJlQ29tcG9uZW50UHJvdG90eXBlLmNvbnN0cnVjdG9yID0gUHVyZUNvbXBvbmVudDsgLy8gQXZvaWQgYW4gZXh0cmEgcHJvdG90eXBlIGp1bXAgZm9yIHRoZXNlIG1ldGhvZHMuXG5cbmFzc2lnbihwdXJlQ29tcG9uZW50UHJvdG90eXBlLCBDb21wb25lbnQucHJvdG90eXBlKTtcbnB1cmVDb21wb25lbnRQcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuXG4vLyBhbiBpbW11dGFibGUgb2JqZWN0IHdpdGggYSBzaW5nbGUgbXV0YWJsZSB2YWx1ZVxuZnVuY3Rpb24gY3JlYXRlUmVmKCkge1xuICB2YXIgcmVmT2JqZWN0ID0ge1xuICAgIGN1cnJlbnQ6IG51bGxcbiAgfTtcblxuICB7XG4gICAgT2JqZWN0LnNlYWwocmVmT2JqZWN0KTtcbiAgfVxuXG4gIHJldHVybiByZWZPYmplY3Q7XG59XG5cbnZhciBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuZnVuY3Rpb24gaXNBcnJheShhKSB7XG4gIHJldHVybiBpc0FycmF5SW1wbChhKTtcbn1cblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cbmZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgUkVTRVJWRURfUFJPUFMgPSB7XG4gIGtleTogdHJ1ZSxcbiAgcmVmOiB0cnVlLFxuICBfX3NlbGY6IHRydWUsXG4gIF9fc291cmNlOiB0cnVlXG59O1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duLCBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biwgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcblxue1xuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkUmVmKGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAncmVmJykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ3JlZicpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcucmVmICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ2tleScpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcua2V5ICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAna2V5Jywge1xuICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYgPSBmdW5jdGlvbiAoKSB7XG4gICAge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgY29uZmlnLl9fc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gY29uZmlnLl9fc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGNvbXBvbmVudE5hbWUsIGNvbmZpZy5yZWYpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgUmVhY3QgZWxlbWVudC4gVGhpcyBubyBsb25nZXIgYWRoZXJlcyB0b1xuICogdGhlIGNsYXNzIHBhdHRlcm4sIHNvIGRvIG5vdCB1c2UgbmV3IHRvIGNhbGwgaXQuIEFsc28sIGluc3RhbmNlb2YgY2hlY2tcbiAqIHdpbGwgbm90IHdvcmsuIEluc3RlYWQgdGVzdCAkJHR5cGVvZiBmaWVsZCBhZ2FpbnN0IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSB0byBjaGVja1xuICogaWYgc29tZXRoaW5nIGlzIGEgUmVhY3QgRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7Kn0gcHJvcHNcbiAqIEBwYXJhbSB7Kn0ga2V5XG4gKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IHJlZlxuICogQHBhcmFtIHsqfSBvd25lclxuICogQHBhcmFtIHsqfSBzZWxmIEEgKnRlbXBvcmFyeSogaGVscGVyIHRvIGRldGVjdCBwbGFjZXMgd2hlcmUgYHRoaXNgIGlzXG4gKiBkaWZmZXJlbnQgZnJvbSB0aGUgYG93bmVyYCB3aGVuIFJlYWN0LmNyZWF0ZUVsZW1lbnQgaXMgY2FsbGVkLCBzbyB0aGF0IHdlXG4gKiBjYW4gd2Fybi4gV2Ugd2FudCB0byBnZXQgcmlkIG9mIG93bmVyIGFuZCByZXBsYWNlIHN0cmluZyBgcmVmYHMgd2l0aCBhcnJvd1xuICogZnVuY3Rpb25zLCBhbmQgYXMgbG9uZyBhcyBgdGhpc2AgYW5kIG93bmVyIGFyZSB0aGUgc2FtZSwgdGhlcmUgd2lsbCBiZSBub1xuICogY2hhbmdlIGluIGJlaGF2aW9yLlxuICogQHBhcmFtIHsqfSBzb3VyY2UgQW4gYW5ub3RhdGlvbiBvYmplY3QgKGFkZGVkIGJ5IGEgdHJhbnNwaWxlciBvciBvdGhlcndpc2UpXG4gKiBpbmRpY2F0aW5nIGZpbGVuYW1lLCBsaW5lIG51bWJlciwgYW5kL29yIG90aGVyIGluZm9ybWF0aW9uLlxuICogQGludGVybmFsXG4gKi9cblxuXG52YXIgUmVhY3RFbGVtZW50ID0gZnVuY3Rpb24gKHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIG93bmVyLCBwcm9wcykge1xuICB2YXIgZWxlbWVudCA9IHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvd3MgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IEVsZW1lbnRcbiAgICAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLFxuICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICB0eXBlOiB0eXBlLFxuICAgIGtleToga2V5LFxuICAgIHJlZjogcmVmLFxuICAgIHByb3BzOiBwcm9wcyxcbiAgICAvLyBSZWNvcmQgdGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhpcyBlbGVtZW50LlxuICAgIF9vd25lcjogb3duZXJcbiAgfTtcblxuICB7XG4gICAgLy8gVGhlIHZhbGlkYXRpb24gZmxhZyBpcyBjdXJyZW50bHkgbXV0YXRpdmUuIFdlIHB1dCBpdCBvblxuICAgIC8vIGFuIGV4dGVybmFsIGJhY2tpbmcgc3RvcmUgc28gdGhhdCB3ZSBjYW4gZnJlZXplIHRoZSB3aG9sZSBvYmplY3QuXG4gICAgLy8gVGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIFdlYWtNYXAgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZCBpblxuICAgIC8vIGNvbW1vbmx5IHVzZWQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzLlxuICAgIGVsZW1lbnQuX3N0b3JlID0ge307IC8vIFRvIG1ha2UgY29tcGFyaW5nIFJlYWN0RWxlbWVudHMgZWFzaWVyIGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB3ZSBtYWtlXG4gICAgLy8gdGhlIHZhbGlkYXRpb24gZmxhZyBub24tZW51bWVyYWJsZSAod2hlcmUgcG9zc2libGUsIHdoaWNoIHNob3VsZFxuICAgIC8vIGluY2x1ZGUgZXZlcnkgZW52aXJvbm1lbnQgd2UgcnVuIHRlc3RzIGluKSwgc28gdGhlIHRlc3QgZnJhbWV3b3JrXG4gICAgLy8gaWdub3JlcyBpdC5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50Ll9zdG9yZSwgJ3ZhbGlkYXRlZCcsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfSk7IC8vIHNlbGYgYW5kIHNvdXJjZSBhcmUgREVWIG9ubHkgcHJvcGVydGllcy5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NlbGYnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc2VsZlxuICAgIH0pOyAvLyBUd28gZWxlbWVudHMgY3JlYXRlZCBpbiB0d28gZGlmZmVyZW50IHBsYWNlcyBzaG91bGQgYmUgY29uc2lkZXJlZFxuICAgIC8vIGVxdWFsIGZvciB0ZXN0aW5nIHB1cnBvc2VzIGFuZCB0aGVyZWZvcmUgd2UgaGlkZSBpdCBmcm9tIGVudW1lcmF0aW9uLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc291cmNlJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHNvdXJjZVxuICAgIH0pO1xuXG4gICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudC5wcm9wcyk7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcbi8qKlxuICogQ3JlYXRlIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IG9mIHRoZSBnaXZlbiB0eXBlLlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjcmVhdGVlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0eXBlLCBjb25maWcsIGNoaWxkcmVuKSB7XG4gIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gIHZhciBwcm9wcyA9IHt9O1xuICB2YXIga2V5ID0gbnVsbDtcbiAgdmFyIHJlZiA9IG51bGw7XG4gIHZhciBzZWxmID0gbnVsbDtcbiAgdmFyIHNvdXJjZSA9IG51bGw7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIHJlZiA9IGNvbmZpZy5yZWY7XG5cbiAgICAgIHtcbiAgICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIHNlbGYgPSBjb25maWcuX19zZWxmID09PSB1bmRlZmluZWQgPyBudWxsIDogY29uZmlnLl9fc2VsZjtcbiAgICBzb3VyY2UgPSBjb25maWcuX19zb3VyY2UgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zb3VyY2U7IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9IC8vIENoaWxkcmVuIGNhbiBiZSBtb3JlIHRoYW4gb25lIGFyZ3VtZW50LCBhbmQgdGhvc2UgYXJlIHRyYW5zZmVycmVkIG9udG9cbiAgLy8gdGhlIG5ld2x5IGFsbG9jYXRlZCBwcm9wcyBvYmplY3QuXG5cblxuICB2YXIgY2hpbGRyZW5MZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoIC0gMjtcblxuICBpZiAoY2hpbGRyZW5MZW5ndGggPT09IDEpIHtcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB9IGVsc2UgaWYgKGNoaWxkcmVuTGVuZ3RoID4gMSkge1xuICAgIHZhciBjaGlsZEFycmF5ID0gQXJyYXkoY2hpbGRyZW5MZW5ndGgpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkxlbmd0aDsgaSsrKSB7XG4gICAgICBjaGlsZEFycmF5W2ldID0gYXJndW1lbnRzW2kgKyAyXTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkQXJyYXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gIGlmICh0eXBlICYmIHR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBpZiAoa2V5IHx8IHJlZikge1xuICAgICAgdmFyIGRpc3BsYXlOYW1lID0gdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgPyB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCAnVW5rbm93bicgOiB0eXBlO1xuXG4gICAgICBpZiAoa2V5KSB7XG4gICAgICAgIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQsIHByb3BzKTtcbn1cbmZ1bmN0aW9uIGNsb25lQW5kUmVwbGFjZUtleShvbGRFbGVtZW50LCBuZXdLZXkpIHtcbiAgdmFyIG5ld0VsZW1lbnQgPSBSZWFjdEVsZW1lbnQob2xkRWxlbWVudC50eXBlLCBuZXdLZXksIG9sZEVsZW1lbnQucmVmLCBvbGRFbGVtZW50Ll9zZWxmLCBvbGRFbGVtZW50Ll9zb3VyY2UsIG9sZEVsZW1lbnQuX293bmVyLCBvbGRFbGVtZW50LnByb3BzKTtcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XG59XG4vKipcbiAqIENsb25lIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IHVzaW5nIGVsZW1lbnQgYXMgdGhlIHN0YXJ0aW5nIHBvaW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjbG9uZWVsZW1lbnRcbiAqL1xuXG5mdW5jdGlvbiBjbG9uZUVsZW1lbnQoZWxlbWVudCwgY29uZmlnLCBjaGlsZHJlbikge1xuICBpZiAoZWxlbWVudCA9PT0gbnVsbCB8fCBlbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCBcIiArIGVsZW1lbnQgKyBcIi5cIik7XG4gIH1cblxuICB2YXIgcHJvcE5hbWU7IC8vIE9yaWdpbmFsIHByb3BzIGFyZSBjb3BpZWRcblxuICB2YXIgcHJvcHMgPSBhc3NpZ24oe30sIGVsZW1lbnQucHJvcHMpOyAvLyBSZXNlcnZlZCBuYW1lcyBhcmUgZXh0cmFjdGVkXG5cbiAgdmFyIGtleSA9IGVsZW1lbnQua2V5O1xuICB2YXIgcmVmID0gZWxlbWVudC5yZWY7IC8vIFNlbGYgaXMgcHJlc2VydmVkIHNpbmNlIHRoZSBvd25lciBpcyBwcmVzZXJ2ZWQuXG5cbiAgdmFyIHNlbGYgPSBlbGVtZW50Ll9zZWxmOyAvLyBTb3VyY2UgaXMgcHJlc2VydmVkIHNpbmNlIGNsb25lRWxlbWVudCBpcyB1bmxpa2VseSB0byBiZSB0YXJnZXRlZCBieSBhXG4gIC8vIHRyYW5zcGlsZXIsIGFuZCB0aGUgb3JpZ2luYWwgc291cmNlIGlzIHByb2JhYmx5IGEgYmV0dGVyIGluZGljYXRvciBvZiB0aGVcbiAgLy8gdHJ1ZSBvd25lci5cblxuICB2YXIgc291cmNlID0gZWxlbWVudC5fc291cmNlOyAvLyBPd25lciB3aWxsIGJlIHByZXNlcnZlZCwgdW5sZXNzIHJlZiBpcyBvdmVycmlkZGVuXG5cbiAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIC8vIFNpbGVudGx5IHN0ZWFsIHRoZSByZWYgZnJvbSB0aGUgcGFyZW50LlxuICAgICAgcmVmID0gY29uZmlnLnJlZjtcbiAgICAgIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudDtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRLZXkoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGNvbmZpZy5rZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBvdmVycmlkZSBleGlzdGluZyBwcm9wc1xuXG5cbiAgICB2YXIgZGVmYXVsdFByb3BzO1xuXG4gICAgaWYgKGVsZW1lbnQudHlwZSAmJiBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgICBkZWZhdWx0UHJvcHMgPSBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzO1xuICAgIH1cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIGlmIChjb25maWdbcHJvcE5hbWVdID09PSB1bmRlZmluZWQgJiYgZGVmYXVsdFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2hpbGRyZW4gY2FuIGJlIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIGFuZCB0aG9zZSBhcmUgdHJhbnNmZXJyZWQgb250b1xuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cblxuXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xuXG4gIGlmIChjaGlsZHJlbkxlbmd0aCA9PT0gMSkge1xuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XG4gICAgdmFyIGNoaWxkQXJyYXkgPSBBcnJheShjaGlsZHJlbkxlbmd0aCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkQXJyYXlbaV0gPSBhcmd1bWVudHNbaSArIDJdO1xuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdEVsZW1lbnQoZWxlbWVudC50eXBlLCBrZXksIHJlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cblxudmFyIFNFUEFSQVRPUiA9ICcuJztcbnZhciBTVUJTRVBBUkFUT1IgPSAnOic7XG4vKipcbiAqIEVzY2FwZSBhbmQgd3JhcCBrZXkgc28gaXQgaXMgc2FmZSB0byB1c2UgYXMgYSByZWFjdGlkXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSB0byBiZSBlc2NhcGVkLlxuICogQHJldHVybiB7c3RyaW5nfSB0aGUgZXNjYXBlZCBrZXkuXG4gKi9cblxuZnVuY3Rpb24gZXNjYXBlKGtleSkge1xuICB2YXIgZXNjYXBlUmVnZXggPSAvWz06XS9nO1xuICB2YXIgZXNjYXBlckxvb2t1cCA9IHtcbiAgICAnPSc6ICc9MCcsXG4gICAgJzonOiAnPTInXG4gIH07XG4gIHZhciBlc2NhcGVkU3RyaW5nID0ga2V5LnJlcGxhY2UoZXNjYXBlUmVnZXgsIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBlc2NhcGVyTG9va3VwW21hdGNoXTtcbiAgfSk7XG4gIHJldHVybiAnJCcgKyBlc2NhcGVkU3RyaW5nO1xufVxuLyoqXG4gKiBUT0RPOiBUZXN0IHRoYXQgYSBzaW5nbGUgY2hpbGQgYW5kIGFuIGFycmF5IHdpdGggb25lIGl0ZW0gaGF2ZSB0aGUgc2FtZSBrZXlcbiAqIHBhdHRlcm4uXG4gKi9cblxuXG52YXIgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xudmFyIHVzZXJQcm92aWRlZEtleUVzY2FwZVJlZ2V4ID0gL1xcLysvZztcblxuZnVuY3Rpb24gZXNjYXBlVXNlclByb3ZpZGVkS2V5KHRleHQpIHtcbiAgcmV0dXJuIHRleHQucmVwbGFjZSh1c2VyUHJvdmlkZWRLZXlFc2NhcGVSZWdleCwgJyQmLycpO1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBhIGtleSBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIGEgZWxlbWVudCB3aXRoaW4gYSBzZXQuXG4gKlxuICogQHBhcmFtIHsqfSBlbGVtZW50IEEgZWxlbWVudCB0aGF0IGNvdWxkIGNvbnRhaW4gYSBtYW51YWwga2V5LlxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IEluZGV4IHRoYXQgaXMgdXNlZCBpZiBhIG1hbnVhbCBrZXkgaXMgbm90IHByb3ZpZGVkLlxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0RWxlbWVudEtleShlbGVtZW50LCBpbmRleCkge1xuICAvLyBEbyBzb21lIHR5cGVjaGVja2luZyBoZXJlIHNpbmNlIHdlIGNhbGwgdGhpcyBibGluZGx5LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGRvbid0IGJsb2NrIHBvdGVudGlhbCBmdXR1cmUgRVMgQVBJcy5cbiAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnb2JqZWN0JyAmJiBlbGVtZW50ICE9PSBudWxsICYmIGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAvLyBFeHBsaWNpdCBrZXlcbiAgICB7XG4gICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGVsZW1lbnQua2V5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXNjYXBlKCcnICsgZWxlbWVudC5rZXkpO1xuICB9IC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XG5cblxuICByZXR1cm4gaW5kZXgudG9TdHJpbmcoMzYpO1xufVxuXG5mdW5jdGlvbiBtYXBJbnRvQXJyYXkoY2hpbGRyZW4sIGFycmF5LCBlc2NhcGVkUHJlZml4LCBuYW1lU29GYXIsIGNhbGxiYWNrKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIGNoaWxkcmVuO1xuXG4gIGlmICh0eXBlID09PSAndW5kZWZpbmVkJyB8fCB0eXBlID09PSAnYm9vbGVhbicpIHtcbiAgICAvLyBBbGwgb2YgdGhlIGFib3ZlIGFyZSBwZXJjZWl2ZWQgYXMgbnVsbC5cbiAgICBjaGlsZHJlbiA9IG51bGw7XG4gIH1cblxuICB2YXIgaW52b2tlQ2FsbGJhY2sgPSBmYWxzZTtcblxuICBpZiAoY2hpbGRyZW4gPT09IG51bGwpIHtcbiAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgc3dpdGNoIChjaGlsZHJlbi4kJHR5cGVvZikge1xuICAgICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gICAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIGlmIChpbnZva2VDYWxsYmFjaykge1xuICAgIHZhciBfY2hpbGQgPSBjaGlsZHJlbjtcbiAgICB2YXIgbWFwcGVkQ2hpbGQgPSBjYWxsYmFjayhfY2hpbGQpOyAvLyBJZiBpdCdzIHRoZSBvbmx5IGNoaWxkLCB0cmVhdCB0aGUgbmFtZSBhcyBpZiBpdCB3YXMgd3JhcHBlZCBpbiBhbiBhcnJheVxuICAgIC8vIHNvIHRoYXQgaXQncyBjb25zaXN0ZW50IGlmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZ3Jvd3M6XG5cbiAgICB2YXIgY2hpbGRLZXkgPSBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SICsgZ2V0RWxlbWVudEtleShfY2hpbGQsIDApIDogbmFtZVNvRmFyO1xuXG4gICAgaWYgKGlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XG4gICAgICB2YXIgZXNjYXBlZENoaWxkS2V5ID0gJyc7XG5cbiAgICAgIGlmIChjaGlsZEtleSAhPSBudWxsKSB7XG4gICAgICAgIGVzY2FwZWRDaGlsZEtleSA9IGVzY2FwZVVzZXJQcm92aWRlZEtleShjaGlsZEtleSkgKyAnLyc7XG4gICAgICB9XG5cbiAgICAgIG1hcEludG9BcnJheShtYXBwZWRDaGlsZCwgYXJyYXksIGVzY2FwZWRDaGlsZEtleSwgJycsIGZ1bmN0aW9uIChjKSB7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChtYXBwZWRDaGlsZCAhPSBudWxsKSB7XG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQobWFwcGVkQ2hpbGQpKSB7XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBUaGUgYGlmYCBzdGF0ZW1lbnQgaGVyZSBwcmV2ZW50cyBhdXRvLWRpc2FibGluZyBvZiB0aGUgc2FmZVxuICAgICAgICAgIC8vIGNvZXJjaW9uIEVTTGludCBydWxlLCBzbyB3ZSBtdXN0IG1hbnVhbGx5IGRpc2FibGUgaXQgYmVsb3cuXG4gICAgICAgICAgLy8gJEZsb3dGaXhNZSBGbG93IGluY29ycmVjdGx5IHRoaW5rcyBSZWFjdC5Qb3J0YWwgZG9lc24ndCBoYXZlIGEga2V5XG4gICAgICAgICAgaWYgKG1hcHBlZENoaWxkLmtleSAmJiAoIV9jaGlsZCB8fCBfY2hpbGQua2V5ICE9PSBtYXBwZWRDaGlsZC5rZXkpKSB7XG4gICAgICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKG1hcHBlZENoaWxkLmtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbWFwcGVkQ2hpbGQgPSBjbG9uZUFuZFJlcGxhY2VLZXkobWFwcGVkQ2hpbGQsIC8vIEtlZXAgYm90aCB0aGUgKG1hcHBlZCkgYW5kIG9sZCBrZXlzIGlmIHRoZXkgZGlmZmVyLCBqdXN0IGFzXG4gICAgICAgIC8vIHRyYXZlcnNlQWxsQ2hpbGRyZW4gdXNlZCB0byBkbyBmb3Igb2JqZWN0cyBhcyBjaGlsZHJlblxuICAgICAgICBlc2NhcGVkUHJlZml4ICsgKCAvLyAkRmxvd0ZpeE1lIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFJlYWN0LlBvcnRhbCBkb2Vzbid0IGhhdmUgYSBrZXlcbiAgICAgICAgbWFwcGVkQ2hpbGQua2V5ICYmICghX2NoaWxkIHx8IF9jaGlsZC5rZXkgIT09IG1hcHBlZENoaWxkLmtleSkgPyAvLyAkRmxvd0ZpeE1lIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIGV4aXN0aW5nIGVsZW1lbnQncyBrZXkgY2FuIGJlIGEgbnVtYmVyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICAgICAgICBlc2NhcGVVc2VyUHJvdmlkZWRLZXkoJycgKyBtYXBwZWRDaGlsZC5rZXkpICsgJy8nIDogJycpICsgY2hpbGRLZXkpO1xuICAgICAgfVxuXG4gICAgICBhcnJheS5wdXNoKG1hcHBlZENoaWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIHZhciBjaGlsZDtcbiAgdmFyIG5leHROYW1lO1xuICB2YXIgc3VidHJlZUNvdW50ID0gMDsgLy8gQ291bnQgb2YgY2hpbGRyZW4gZm91bmQgaW4gdGhlIGN1cnJlbnQgc3VidHJlZS5cblxuICB2YXIgbmV4dE5hbWVQcmVmaXggPSBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SIDogbmFtZVNvRmFyICsgU1VCU0VQQVJBVE9SO1xuXG4gIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0RWxlbWVudEtleShjaGlsZCwgaSk7XG4gICAgICBzdWJ0cmVlQ291bnQgKz0gbWFwSW50b0FycmF5KGNoaWxkLCBhcnJheSwgZXNjYXBlZFByZWZpeCwgbmV4dE5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGl0ZXJhYmxlQ2hpbGRyZW4gPSBjaGlsZHJlbjtcblxuICAgICAge1xuICAgICAgICAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gPT09IGl0ZXJhYmxlQ2hpbGRyZW4uZW50cmllcykge1xuICAgICAgICAgIGlmICghZGlkV2FybkFib3V0TWFwcykge1xuICAgICAgICAgICAgd2FybignVXNpbmcgTWFwcyBhcyBjaGlsZHJlbiBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1VzZSBhbiBhcnJheSBvZiBrZXllZCBSZWFjdEVsZW1lbnRzIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKGl0ZXJhYmxlQ2hpbGRyZW4pO1xuICAgICAgdmFyIHN0ZXA7XG4gICAgICB2YXIgaWkgPSAwO1xuXG4gICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgIGNoaWxkID0gc3RlcC52YWx1ZTtcbiAgICAgICAgbmV4dE5hbWUgPSBuZXh0TmFtZVByZWZpeCArIGdldEVsZW1lbnRLZXkoY2hpbGQsIGlpKyspO1xuICAgICAgICBzdWJ0cmVlQ291bnQgKz0gbWFwSW50b0FycmF5KGNoaWxkLCBhcnJheSwgZXNjYXBlZFByZWZpeCwgbmV4dE5hbWUsIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgIHZhciBjaGlsZHJlblN0cmluZyA9IFN0cmluZyhjaGlsZHJlbik7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6IFwiICsgKGNoaWxkcmVuU3RyaW5nID09PSAnW29iamVjdCBPYmplY3RdJyA/ICdvYmplY3Qgd2l0aCBrZXlzIHsnICsgT2JqZWN0LmtleXMoY2hpbGRyZW4pLmpvaW4oJywgJykgKyAnfScgOiBjaGlsZHJlblN0cmluZykgKyBcIikuIFwiICsgJ0lmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgJyArICdpbnN0ZWFkLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJ0cmVlQ291bnQ7XG59XG5cbi8qKlxuICogTWFwcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAuXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVubWFwXG4gKlxuICogVGhlIHByb3ZpZGVkIG1hcEZ1bmN0aW9uKGNoaWxkLCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcbiAqIGxlYWYgY2hpbGQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCosIGludCl9IGZ1bmMgVGhlIG1hcCBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBDb250ZXh0IGZvciBtYXBGdW5jdGlvbi5cbiAqIEByZXR1cm4ge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9yZGVyZWQgbWFwIG9mIHJlc3VsdHMuXG4gKi9cbmZ1bmN0aW9uIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jLCBjb250ZXh0KSB7XG4gIGlmIChjaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICB2YXIgY291bnQgPSAwO1xuICBtYXBJbnRvQXJyYXkoY2hpbGRyZW4sIHJlc3VsdCwgJycsICcnLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gZnVuYy5jYWxsKGNvbnRleHQsIGNoaWxkLCBjb3VudCsrKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIENvdW50IHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhc1xuICogYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5jb3VudFxuICpcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuLlxuICovXG5cblxuZnVuY3Rpb24gY291bnRDaGlsZHJlbihjaGlsZHJlbikge1xuICB2YXIgbiA9IDA7XG4gIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoKSB7XG4gICAgbisrOyAvLyBEb24ndCByZXR1cm4gYW55dGhpbmdcbiAgfSk7XG4gIHJldHVybiBuO1xufVxuXG4vKipcbiAqIEl0ZXJhdGVzIHRocm91Z2ggY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbmZvcmVhY2hcbiAqXG4gKiBUaGUgcHJvdmlkZWQgZm9yRWFjaEZ1bmMoY2hpbGQsIGluZGV4KSB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaFxuICogbGVhZiBjaGlsZC5cbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKiwgaW50KX0gZm9yRWFjaEZ1bmNcbiAqIEBwYXJhbSB7Kn0gZm9yRWFjaENvbnRleHQgQ29udGV4dCBmb3IgZm9yRWFjaENvbnRleHQuXG4gKi9cbmZ1bmN0aW9uIGZvckVhY2hDaGlsZHJlbihjaGlsZHJlbiwgZm9yRWFjaEZ1bmMsIGZvckVhY2hDb250ZXh0KSB7XG4gIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoKSB7XG4gICAgZm9yRWFjaEZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgLy8gRG9uJ3QgcmV0dXJuIGFueXRoaW5nLlxuICB9LCBmb3JFYWNoQ29udGV4dCk7XG59XG4vKipcbiAqIEZsYXR0ZW4gYSBjaGlsZHJlbiBvYmplY3QgKHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYCkgYW5kXG4gKiByZXR1cm4gYW4gYXJyYXkgd2l0aCBhcHByb3ByaWF0ZWx5IHJlLWtleWVkIGNoaWxkcmVuLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbnRvYXJyYXlcbiAqL1xuXG5cbmZ1bmN0aW9uIHRvQXJyYXkoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gY2hpbGQ7XG4gIH0pIHx8IFtdO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCBjaGlsZCBpbiBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4gYW5kIHZlcmlmaWVzIHRoYXQgdGhlcmVcbiAqIGlzIG9ubHkgb25lIGNoaWxkIGluIHRoZSBjb2xsZWN0aW9uLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbm9ubHlcbiAqXG4gKiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBhIHNpbmdsZSBjaGlsZCBnZXRzXG4gKiBwYXNzZWQgd2l0aG91dCBhIHdyYXBwZXIsIGJ1dCB0aGUgcHVycG9zZSBvZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyB0b1xuICogYWJzdHJhY3QgYXdheSB0aGUgcGFydGljdWxhciBzdHJ1Y3R1cmUgb2YgY2hpbGRyZW4uXG4gKlxuICogQHBhcmFtIHs/b2JqZWN0fSBjaGlsZHJlbiBDaGlsZCBjb2xsZWN0aW9uIHN0cnVjdHVyZS5cbiAqIEByZXR1cm4ge1JlYWN0RWxlbWVudH0gVGhlIGZpcnN0IGFuZCBvbmx5IGBSZWFjdEVsZW1lbnRgIGNvbnRhaW5lZCBpbiB0aGVcbiAqIHN0cnVjdHVyZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIG9ubHlDaGlsZChjaGlsZHJlbikge1xuICBpZiAoIWlzVmFsaWRFbGVtZW50KGNoaWxkcmVuKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuJyk7XG4gIH1cblxuICByZXR1cm4gY2hpbGRyZW47XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlKSB7XG4gIC8vIFRPRE86IFNlY29uZCBhcmd1bWVudCB1c2VkIHRvIGJlIGFuIG9wdGlvbmFsIGBjYWxjdWxhdGVDaGFuZ2VkQml0c2BcbiAgLy8gZnVuY3Rpb24uIFdhcm4gdG8gcmVzZXJ2ZSBmb3IgZnV0dXJlIHVzZT9cbiAgdmFyIGNvbnRleHQgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAvLyBBcyBhIHdvcmthcm91bmQgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb25jdXJyZW50IHJlbmRlcmVycywgd2UgY2F0ZWdvcml6ZVxuICAgIC8vIHNvbWUgcmVuZGVyZXJzIGFzIHByaW1hcnkgYW5kIG90aGVycyBhcyBzZWNvbmRhcnkuIFdlIG9ubHkgZXhwZWN0XG4gICAgLy8gdGhlcmUgdG8gYmUgdHdvIGNvbmN1cnJlbnQgcmVuZGVyZXJzIGF0IG1vc3Q6IFJlYWN0IE5hdGl2ZSAocHJpbWFyeSkgYW5kXG4gICAgLy8gRmFicmljIChzZWNvbmRhcnkpOyBSZWFjdCBET00gKHByaW1hcnkpIGFuZCBSZWFjdCBBUlQgKHNlY29uZGFyeSkuXG4gICAgLy8gU2Vjb25kYXJ5IHJlbmRlcmVycyBzdG9yZSB0aGVpciBjb250ZXh0IHZhbHVlcyBvbiBzZXBhcmF0ZSBmaWVsZHMuXG4gICAgX2N1cnJlbnRWYWx1ZTogZGVmYXVsdFZhbHVlLFxuICAgIF9jdXJyZW50VmFsdWUyOiBkZWZhdWx0VmFsdWUsXG4gICAgLy8gVXNlZCB0byB0cmFjayBob3cgbWFueSBjb25jdXJyZW50IHJlbmRlcmVycyB0aGlzIGNvbnRleHQgY3VycmVudGx5XG4gICAgLy8gc3VwcG9ydHMgd2l0aGluIGluIGEgc2luZ2xlIHJlbmRlcmVyLiBTdWNoIGFzIHBhcmFsbGVsIHNlcnZlciByZW5kZXJpbmcuXG4gICAgX3RocmVhZENvdW50OiAwLFxuICAgIC8vIFRoZXNlIGFyZSBjaXJjdWxhclxuICAgIFByb3ZpZGVyOiBudWxsLFxuICAgIENvbnN1bWVyOiBudWxsLFxuICAgIC8vIEFkZCB0aGVzZSB0byB1c2Ugc2FtZSBoaWRkZW4gY2xhc3MgaW4gVk0gYXMgU2VydmVyQ29udGV4dFxuICAgIF9kZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgX2dsb2JhbE5hbWU6IG51bGxcbiAgfTtcbiAgY29udGV4dC5Qcm92aWRlciA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfUFJPVklERVJfVFlQRSxcbiAgICBfY29udGV4dDogY29udGV4dFxuICB9O1xuICB2YXIgaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMgPSBmYWxzZTtcbiAgdmFyIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gZmFsc2U7XG4gIHZhciBoYXNXYXJuZWRBYm91dERpc3BsYXlOYW1lT25Db25zdW1lciA9IGZhbHNlO1xuXG4gIHtcbiAgICAvLyBBIHNlcGFyYXRlIG9iamVjdCwgYnV0IHByb3hpZXMgYmFjayB0byB0aGUgb3JpZ2luYWwgY29udGV4dCBvYmplY3QgZm9yXG4gICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuIEl0IGhhcyBhIGRpZmZlcmVudCAkJHR5cGVvZiwgc28gd2UgY2FuIHByb3Blcmx5XG4gICAgLy8gd2FybiBmb3IgdGhlIGluY29ycmVjdCB1c2FnZSBvZiBDb250ZXh0IGFzIGEgQ29uc3VtZXIuXG4gICAgdmFyIENvbnN1bWVyID0ge1xuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAgIF9jb250ZXh0OiBjb250ZXh0XG4gICAgfTsgLy8gJEZsb3dGaXhNZTogRmxvdyBjb21wbGFpbnMgYWJvdXQgbm90IHNldHRpbmcgYSB2YWx1ZSwgd2hpY2ggaXMgaW50ZW50aW9uYWwgaGVyZVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ29uc3VtZXIsIHtcbiAgICAgIFByb3ZpZGVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Qcm92aWRlcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Qcm92aWRlcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Qcm92aWRlcjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX1Byb3ZpZGVyKSB7XG4gICAgICAgICAgY29udGV4dC5Qcm92aWRlciA9IF9Qcm92aWRlcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9jdXJyZW50VmFsdWU6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX2N1cnJlbnRWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IF9jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfY3VycmVudFZhbHVlMjoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlMjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZTIpIHtcbiAgICAgICAgICBjb250ZXh0Ll9jdXJyZW50VmFsdWUyID0gX2N1cnJlbnRWYWx1ZTI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfdGhyZWFkQ291bnQ6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3RocmVhZENvdW50O1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfdGhyZWFkQ291bnQpIHtcbiAgICAgICAgICBjb250ZXh0Ll90aHJlYWRDb3VudCA9IF90aHJlYWRDb3VudDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIENvbnN1bWVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdOZXN0ZWRDb250ZXh0Q29uc3VtZXJzID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Db25zdW1lcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Db25zdW1lcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Db25zdW1lcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGRpc3BsYXlOYW1lOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBjb250ZXh0LmRpc3BsYXlOYW1lO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChkaXNwbGF5TmFtZSkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXREaXNwbGF5TmFtZU9uQ29uc3VtZXIpIHtcbiAgICAgICAgICAgIHdhcm4oJ1NldHRpbmcgYGRpc3BsYXlOYW1lYCBvbiBDb250ZXh0LkNvbnN1bWVyIGhhcyBubyBlZmZlY3QuICcgKyBcIllvdSBzaG91bGQgc2V0IGl0IGRpcmVjdGx5IG9uIHRoZSBjb250ZXh0IHdpdGggQ29udGV4dC5kaXNwbGF5TmFtZSA9ICclcycuXCIsIGRpc3BsYXlOYW1lKTtcblxuICAgICAgICAgICAgaGFzV2FybmVkQWJvdXREaXNwbGF5TmFtZU9uQ29uc3VtZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pOyAvLyAkRmxvd0ZpeE1lOiBGbG93IGNvbXBsYWlucyBhYm91dCBtaXNzaW5nIHByb3BlcnRpZXMgYmVjYXVzZSBpdCBkb2Vzbid0IHVuZGVyc3RhbmQgZGVmaW5lUHJvcGVydHlcblxuICAgIGNvbnRleHQuQ29uc3VtZXIgPSBDb25zdW1lcjtcbiAgfVxuXG4gIHtcbiAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSBudWxsO1xuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlcjIgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG5cbnZhciBVbmluaXRpYWxpemVkID0gLTE7XG52YXIgUGVuZGluZyA9IDA7XG52YXIgUmVzb2x2ZWQgPSAxO1xudmFyIFJlamVjdGVkID0gMjtcblxuZnVuY3Rpb24gbGF6eUluaXRpYWxpemVyKHBheWxvYWQpIHtcbiAgaWYgKHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgIHZhciBjdG9yID0gcGF5bG9hZC5fcmVzdWx0O1xuICAgIHZhciB0aGVuYWJsZSA9IGN0b3IoKTsgLy8gVHJhbnNpdGlvbiB0byB0aGUgbmV4dCBzdGF0ZS5cbiAgICAvLyBUaGlzIG1pZ2h0IHRocm93IGVpdGhlciBiZWNhdXNlIGl0J3MgbWlzc2luZyBvciB0aHJvd3MuIElmIHNvLCB3ZSB0cmVhdCBpdFxuICAgIC8vIGFzIHN0aWxsIHVuaW5pdGlhbGl6ZWQgYW5kIHRyeSBhZ2FpbiBuZXh0IHRpbWUuIFdoaWNoIGlzIHRoZSBzYW1lIGFzIHdoYXRcbiAgICAvLyBoYXBwZW5zIGlmIHRoZSBjdG9yIG9yIGFueSB3cmFwcGVycyBwcm9jZXNzaW5nIHRoZSBjdG9yIHRocm93cy4gVGhpcyBtaWdodFxuICAgIC8vIGVuZCB1cCBmaXhpbmcgaXQgaWYgdGhlIHJlc29sdXRpb24gd2FzIGEgY29uY3VycmVuY3kgYnVnLlxuXG4gICAgdGhlbmFibGUudGhlbihmdW5jdGlvbiAobW9kdWxlT2JqZWN0KSB7XG4gICAgICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBQZW5kaW5nIHx8IHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgICAgICAvLyBUcmFuc2l0aW9uIHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgICAgICB2YXIgcmVzb2x2ZWQgPSBwYXlsb2FkO1xuICAgICAgICByZXNvbHZlZC5fc3RhdHVzID0gUmVzb2x2ZWQ7XG4gICAgICAgIHJlc29sdmVkLl9yZXN1bHQgPSBtb2R1bGVPYmplY3Q7XG4gICAgICB9XG4gICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBQZW5kaW5nIHx8IHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgICAgICAvLyBUcmFuc2l0aW9uIHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgICAgICB2YXIgcmVqZWN0ZWQgPSBwYXlsb2FkO1xuICAgICAgICByZWplY3RlZC5fc3RhdHVzID0gUmVqZWN0ZWQ7XG4gICAgICAgIHJlamVjdGVkLl9yZXN1bHQgPSBlcnJvcjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChwYXlsb2FkLl9zdGF0dXMgPT09IFVuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIC8vIEluIGNhc2UsIHdlJ3JlIHN0aWxsIHVuaW5pdGlhbGl6ZWQsIHRoZW4gd2UncmUgd2FpdGluZyBmb3IgdGhlIHRoZW5hYmxlXG4gICAgICAvLyB0byByZXNvbHZlLiBTZXQgaXQgYXMgcGVuZGluZyBpbiB0aGUgbWVhbnRpbWUuXG4gICAgICB2YXIgcGVuZGluZyA9IHBheWxvYWQ7XG4gICAgICBwZW5kaW5nLl9zdGF0dXMgPSBQZW5kaW5nO1xuICAgICAgcGVuZGluZy5fcmVzdWx0ID0gdGhlbmFibGU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBheWxvYWQuX3N0YXR1cyA9PT0gUmVzb2x2ZWQpIHtcbiAgICB2YXIgbW9kdWxlT2JqZWN0ID0gcGF5bG9hZC5fcmVzdWx0O1xuXG4gICAge1xuICAgICAgaWYgKG1vZHVsZU9iamVjdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVycm9yKCdsYXp5OiBFeHBlY3RlZCB0aGUgcmVzdWx0IG9mIGEgZHluYW1pYyBpbXAnICsgJ29ydCgpIGNhbGwuICcgKyAnSW5zdGVhZCByZWNlaXZlZDogJXNcXG5cXG5Zb3VyIGNvZGUgc2hvdWxkIGxvb2sgbGlrZTogXFxuICAnICsgLy8gQnJlYWsgdXAgaW1wb3J0cyB0byBhdm9pZCBhY2NpZGVudGFsbHkgcGFyc2luZyB0aGVtIGFzIGRlcGVuZGVuY2llcy5cbiAgICAgICAgJ2NvbnN0IE15Q29tcG9uZW50ID0gbGF6eSgoKSA9PiBpbXAnICsgXCJvcnQoJy4vTXlDb21wb25lbnQnKSlcXG5cXG5cIiArICdEaWQgeW91IGFjY2lkZW50YWxseSBwdXQgY3VybHkgYnJhY2VzIGFyb3VuZCB0aGUgaW1wb3J0PycsIG1vZHVsZU9iamVjdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKCEoJ2RlZmF1bHQnIGluIG1vZHVsZU9iamVjdCkpIHtcbiAgICAgICAgZXJyb3IoJ2xhenk6IEV4cGVjdGVkIHRoZSByZXN1bHQgb2YgYSBkeW5hbWljIGltcCcgKyAnb3J0KCkgY2FsbC4gJyArICdJbnN0ZWFkIHJlY2VpdmVkOiAlc1xcblxcbllvdXIgY29kZSBzaG91bGQgbG9vayBsaWtlOiBcXG4gICcgKyAvLyBCcmVhayB1cCBpbXBvcnRzIHRvIGF2b2lkIGFjY2lkZW50YWxseSBwYXJzaW5nIHRoZW0gYXMgZGVwZW5kZW5jaWVzLlxuICAgICAgICAnY29uc3QgTXlDb21wb25lbnQgPSBsYXp5KCgpID0+IGltcCcgKyBcIm9ydCgnLi9NeUNvbXBvbmVudCcpKVwiLCBtb2R1bGVPYmplY3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtb2R1bGVPYmplY3QuZGVmYXVsdDtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBwYXlsb2FkLl9yZXN1bHQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbGF6eShjdG9yKSB7XG4gIHZhciBwYXlsb2FkID0ge1xuICAgIC8vIFdlIHVzZSB0aGVzZSBmaWVsZHMgdG8gc3RvcmUgdGhlIHJlc3VsdC5cbiAgICBfc3RhdHVzOiBVbmluaXRpYWxpemVkLFxuICAgIF9yZXN1bHQ6IGN0b3JcbiAgfTtcbiAgdmFyIGxhenlUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9MQVpZX1RZUEUsXG4gICAgX3BheWxvYWQ6IHBheWxvYWQsXG4gICAgX2luaXQ6IGxhenlJbml0aWFsaXplclxuICB9O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kdWN0aW9uLCB0aGlzIHdvdWxkIGp1c3Qgc2V0IGl0IG9uIHRoZSBvYmplY3QuXG4gICAgdmFyIGRlZmF1bHRQcm9wcztcbiAgICB2YXIgcHJvcFR5cGVzOyAvLyAkRmxvd0ZpeE1lXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhsYXp5VHlwZSwge1xuICAgICAgZGVmYXVsdFByb3BzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRQcm9wcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3RGVmYXVsdFByb3BzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYGRlZmF1bHRQcm9wc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIGRlZmF1bHRQcm9wcyA9IG5ld0RlZmF1bHRQcm9wczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG4gICAgICAgICAgLy8gJEZsb3dGaXhNZVxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAnZGVmYXVsdFByb3BzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJvcFR5cGVzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHByb3BUeXBlcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3UHJvcFR5cGVzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYHByb3BUeXBlc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIHByb3BUeXBlcyA9IG5ld1Byb3BUeXBlczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG4gICAgICAgICAgLy8gJEZsb3dGaXhNZVxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAncHJvcFR5cGVzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbGF6eVR5cGU7XG59XG5cbmZ1bmN0aW9uIGZvcndhcmRSZWYocmVuZGVyKSB7XG4gIHtcbiAgICBpZiAocmVuZGVyICE9IG51bGwgJiYgcmVuZGVyLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCByZWNlaXZlZCBhIGBtZW1vYCAnICsgJ2NvbXBvbmVudC4gSW5zdGVhZCBvZiBmb3J3YXJkUmVmKG1lbW8oLi4uKSksIHVzZSAnICsgJ21lbW8oZm9yd2FyZFJlZiguLi4pKS4nKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCB3YXMgZ2l2ZW4gJXMuJywgcmVuZGVyID09PSBudWxsID8gJ251bGwnIDogdHlwZW9mIHJlbmRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyZW5kZXIubGVuZ3RoICE9PSAwICYmIHJlbmRlci5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVuZGVyIGZ1bmN0aW9ucyBhY2NlcHQgZXhhY3RseSB0d28gcGFyYW1ldGVyczogcHJvcHMgYW5kIHJlZi4gJXMnLCByZW5kZXIubGVuZ3RoID09PSAxID8gJ0RpZCB5b3UgZm9yZ2V0IHRvIHVzZSB0aGUgcmVmIHBhcmFtZXRlcj8nIDogJ0FueSBhZGRpdGlvbmFsIHBhcmFtZXRlciB3aWxsIGJlIHVuZGVmaW5lZC4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVuZGVyICE9IG51bGwpIHtcbiAgICAgIGlmIChyZW5kZXIuZGVmYXVsdFByb3BzICE9IG51bGwgfHwgcmVuZGVyLnByb3BUeXBlcyAhPSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlbmRlciBmdW5jdGlvbnMgZG8gbm90IHN1cHBvcnQgcHJvcFR5cGVzIG9yIGRlZmF1bHRQcm9wcy4gJyArICdEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIGEgUmVhY3QgY29tcG9uZW50PycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBlbGVtZW50VHlwZSA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSxcbiAgICByZW5kZXI6IHJlbmRlclxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHsuLi59KTtcbiAgICAgICAgLy8gVGhpcyBraW5kIG9mIGlubmVyIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGVsc2V3aGVyZSBzbyB0aGUgc2lkZSBlZmZlY3QgaXMgb2theS5cblxuICAgICAgICBpZiAoIXJlbmRlci5uYW1lICYmICFyZW5kZXIuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICByZW5kZXIuZGlzcGxheU5hbWUgPSBuYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudFR5cGU7XG59XG5cbnZhciBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFO1xuXG57XG4gIFJFQUNUX01PRFVMRV9SRUZFUkVOQ0UgPSBTeW1ib2wuZm9yKCdyZWFjdC5tb2R1bGUucmVmZXJlbmNlJyk7XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBOb3RlOiB0eXBlb2YgbWlnaHQgYmUgb3RoZXIgdGhhbiAnc3ltYm9sJyBvciAnbnVtYmVyJyAoZS5nLiBpZiBpdCdzIGEgcG9seWZpbGwpLlxuXG5cbiAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfUFJPRklMRVJfVFlQRSB8fCBlbmFibGVEZWJ1Z1RyYWNpbmcgIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgZW5hYmxlTGVnYWN5SGlkZGVuICB8fCB0eXBlID09PSBSRUFDVF9PRkZTQ1JFRU5fVFlQRSB8fCBlbmFibGVTY29wZUFQSSAgfHwgZW5hYmxlQ2FjaGVFbGVtZW50ICB8fCBlbmFibGVUcmFuc2l0aW9uVHJhY2luZyApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01PRFVMRV9SRUZFUkVOQ0UgfHwgdHlwZS5nZXRNb2R1bGVJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIG1lbW8odHlwZSwgY29tcGFyZSkge1xuICB7XG4gICAgaWYgKCFpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkpIHtcbiAgICAgIGVycm9yKCdtZW1vOiBUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGNvbXBvbmVudC4gSW5zdGVhZCAnICsgJ3JlY2VpdmVkOiAlcycsIHR5cGUgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnRUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9NRU1PX1RZUEUsXG4gICAgdHlwZTogdHlwZSxcbiAgICBjb21wYXJlOiBjb21wYXJlID09PSB1bmRlZmluZWQgPyBudWxsIDogY29tcGFyZVxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7Li4ufSk7XG4gICAgICAgIC8vIFRoaXMga2luZCBvZiBpbm5lciBmdW5jdGlvbiBpcyBub3QgdXNlZCBlbHNld2hlcmUgc28gdGhlIHNpZGUgZWZmZWN0IGlzIG9rYXkuXG5cbiAgICAgICAgaWYgKCF0eXBlLm5hbWUgJiYgIXR5cGUuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICB0eXBlLmRpc3BsYXlOYW1lID0gbmFtZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRUeXBlO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRGlzcGF0Y2hlcigpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG5cbiAge1xuICAgIGlmIChkaXNwYXRjaGVyID09PSBudWxsKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvcicgKyAnIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4nICsgJzIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4nICsgJzMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLicpO1xuICAgIH1cbiAgfSAvLyBXaWxsIHJlc3VsdCBpbiBhIG51bGwgYWNjZXNzIGVycm9yIGlmIGFjY2Vzc2VkIG91dHNpZGUgcmVuZGVyIHBoYXNlLiBXZVxuICAvLyBpbnRlbnRpb25hbGx5IGRvbid0IHRocm93IG91ciBvd24gZXJyb3IgYmVjYXVzZSB0aGlzIGlzIGluIGEgaG90IHBhdGguXG4gIC8vIEFsc28gaGVscHMgZW5zdXJlIHRoaXMgaXMgaW5saW5lZC5cblxuXG4gIHJldHVybiBkaXNwYXRjaGVyO1xufVxuZnVuY3Rpb24gdXNlQ29udGV4dChDb250ZXh0KSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcblxuICB7XG4gICAgLy8gVE9ETzogYWRkIGEgbW9yZSBnZW5lcmljIHdhcm5pbmcgZm9yIGludmFsaWQgdmFsdWVzLlxuICAgIGlmIChDb250ZXh0Ll9jb250ZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciByZWFsQ29udGV4dCA9IENvbnRleHQuX2NvbnRleHQ7IC8vIERvbid0IGRlZHVwbGljYXRlIGJlY2F1c2UgdGhpcyBsZWdpdGltYXRlbHkgY2F1c2VzIGJ1Z3NcbiAgICAgIC8vIGFuZCBub2JvZHkgc2hvdWxkIGJlIHVzaW5nIHRoaXMgaW4gZXhpc3RpbmcgY29kZS5cblxuICAgICAgaWYgKHJlYWxDb250ZXh0LkNvbnN1bWVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Db25zdW1lcikgaXMgbm90IHN1cHBvcnRlZCwgbWF5IGNhdXNlIGJ1Z3MsIGFuZCB3aWxsIGJlICcgKyAncmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9IGVsc2UgaWYgKHJlYWxDb250ZXh0LlByb3ZpZGVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Qcm92aWRlcikgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ29udGV4dChDb250ZXh0KTtcbn1cbmZ1bmN0aW9uIHVzZVN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG59XG5mdW5jdGlvbiB1c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xufVxuZnVuY3Rpb24gdXNlUmVmKGluaXRpYWxWYWx1ZSkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVJlZihpbml0aWFsVmFsdWUpO1xufVxuZnVuY3Rpb24gdXNlRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VNZW1vKGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZU1lbW8oY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZURlYnVnVmFsdWUodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gIHtcbiAgICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gICAgcmV0dXJuIGRpc3BhdGNoZXIudXNlRGVidWdWYWx1ZSh2YWx1ZSwgZm9ybWF0dGVyRm4pO1xuICB9XG59XG5mdW5jdGlvbiB1c2VUcmFuc2l0aW9uKCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVRyYW5zaXRpb24oKTtcbn1cbmZ1bmN0aW9uIHVzZURlZmVycmVkVmFsdWUodmFsdWUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VEZWZlcnJlZFZhbHVlKHZhbHVlKTtcbn1cbmZ1bmN0aW9uIHVzZUlkKCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUlkKCk7XG59XG5mdW5jdGlvbiB1c2VTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbn1cblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjtcbnZhciBwcmVmaXg7XG5mdW5jdGlvbiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIGlmIChwcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gRXh0cmFjdCB0aGUgVk0gc3BlY2lmaWMgcHJlZml4IHVzZWQgYnkgZWFjaCBsaW5lLlxuICAgICAgdHJ5IHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgdmFyIG1hdGNoID0geC5zdGFjay50cmltKCkubWF0Y2goL1xcbiggKihhdCApPykvKTtcbiAgICAgICAgcHJlZml4ID0gbWF0Y2ggJiYgbWF0Y2hbMV0gfHwgJyc7XG4gICAgICB9XG4gICAgfSAvLyBXZSB1c2UgdGhlIHByZWZpeCB0byBlbnN1cmUgb3VyIHN0YWNrcyBsaW5lIHVwIHdpdGggbmF0aXZlIHN0YWNrIGZyYW1lcy5cblxuXG4gICAgcmV0dXJuICdcXG4nICsgcHJlZml4ICsgbmFtZTtcbiAgfVxufVxudmFyIHJlZW50cnkgPSBmYWxzZTtcbnZhciBjb21wb25lbnRGcmFtZUNhY2hlO1xuXG57XG4gIHZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG4gIGNvbXBvbmVudEZyYW1lQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwKCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCAhZm4gfHwgcmVlbnRyeSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHtcbiAgICB2YXIgZnJhbWUgPSBjb21wb25lbnRGcmFtZUNhY2hlLmdldChmbik7XG5cbiAgICBpZiAoZnJhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZyYW1lO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb250cm9sO1xuICByZWVudHJ5ID0gdHJ1ZTtcbiAgdmFyIHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2UgPSBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZTsgLy8gJEZsb3dGaXhNZSBJdCBkb2VzIGFjY2VwdCB1bmRlZmluZWQuXG5cbiAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSB1bmRlZmluZWQ7XG4gIHZhciBwcmV2aW91c0Rpc3BhdGNoZXI7XG5cbiAge1xuICAgIHByZXZpb3VzRGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2aW91c0Rpc3BhdGNoZXI7XG4gICAgICByZWVuYWJsZUxvZ3MoKTtcbiAgICB9XG5cbiAgICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2U7XG4gIH0gLy8gRmFsbGJhY2sgdG8ganVzdCB1c2luZyB0aGUgbmFtZSBpZiB3ZSBjb3VsZG4ndCBtYWtlIGl0IHRocm93LlxuXG5cbiAgdmFyIG5hbWUgPSBmbiA/IGZuLmRpc3BsYXlOYW1lIHx8IGZuLm5hbWUgOiAnJztcbiAgdmFyIHN5bnRoZXRpY0ZyYW1lID0gbmFtZSA/IGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUpIDogJyc7XG5cbiAge1xuICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbXBvbmVudEZyYW1lQ2FjaGUuc2V0KGZuLCBzeW50aGV0aWNGcmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN5bnRoZXRpY0ZyYW1lO1xufVxuZnVuY3Rpb24gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKGZuLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkge1xuICB2YXIgcHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbiAgcmV0dXJuICEhKHByb3RvdHlwZSAmJiBwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLCBzb3VyY2UsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBzb3VyY2UsIG93bmVyRm4pO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIExhenkgbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGluaXQocGF5bG9hZCksIHNvdXJjZSwgb3duZXJGbik7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxudmFyIGxvZ2dlZFR5cGVGYWlsdXJlcyA9IHt9O1xudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG5cbmZ1bmN0aW9uIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIGVsZW1lbnQuX3NvdXJjZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9wVHlwZXModHlwZVNwZWNzLCB2YWx1ZXMsIGxvY2F0aW9uLCBjb21wb25lbnROYW1lLCBlbGVtZW50KSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lIFRoaXMgaXMgb2theSBidXQgRmxvdyBkb2Vzbid0IGtub3cgaXQuXG4gICAgdmFyIGhhcyA9IEZ1bmN0aW9uLmNhbGwuYmluZChoYXNPd25Qcm9wZXJ0eSk7XG5cbiAgICBmb3IgKHZhciB0eXBlU3BlY05hbWUgaW4gdHlwZVNwZWNzKSB7XG4gICAgICBpZiAoaGFzKHR5cGVTcGVjcywgdHlwZVNwZWNOYW1lKSkge1xuICAgICAgICB2YXIgZXJyb3IkMSA9IHZvaWQgMDsgLy8gUHJvcCB0eXBlIHZhbGlkYXRpb24gbWF5IHRocm93LiBJbiBjYXNlIHRoZXkgZG8sIHdlIGRvbid0IHdhbnQgdG9cbiAgICAgICAgLy8gZmFpbCB0aGUgcmVuZGVyIHBoYXNlIHdoZXJlIGl0IGRpZG4ndCBmYWlsIGJlZm9yZS4gU28gd2UgbG9nIGl0LlxuICAgICAgICAvLyBBZnRlciB0aGVzZSBoYXZlIGJlZW4gY2xlYW5lZCB1cCwgd2UnbGwgbGV0IHRoZW0gdGhyb3cuXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICAgIHZhciBlcnIgPSBFcnJvcigoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHR5cGVTcGVjTmFtZSArICdgIGlzIGludmFsaWQ7ICcgKyAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nICsgJ1RoaXMgb2Z0ZW4gaGFwcGVucyBiZWNhdXNlIG9mIHR5cG9zIHN1Y2ggYXMgYFByb3BUeXBlcy5mdW5jdGlvbmAgaW5zdGVhZCBvZiBgUHJvcFR5cGVzLmZ1bmNgLicpO1xuICAgICAgICAgICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXJyb3IkMSA9IHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdKHZhbHVlcywgdHlwZVNwZWNOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgbnVsbCwgJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJyk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgZXJyb3IkMSA9IGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yJDEgJiYgIShlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgICAgICBlcnJvcignJXM6IHR5cGUgc3BlY2lmaWNhdGlvbiBvZiAlcycgKyAnIGAlc2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICsgJ2Z1bmN0aW9uIG11c3QgcmV0dXJuIGBudWxsYCBvciBhbiBgRXJyb3JgIGJ1dCByZXR1cm5lZCBhICVzLiAnICsgJ1lvdSBtYXkgaGF2ZSBmb3Jnb3R0ZW4gdG8gcGFzcyBhbiBhcmd1bWVudCB0byB0aGUgdHlwZSBjaGVja2VyICcgKyAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICsgJ3NoYXBlIGFsbCByZXF1aXJlIGFuIGFyZ3VtZW50KS4nLCBjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycsIGxvY2F0aW9uLCB0eXBlU3BlY05hbWUsIHR5cGVvZiBlcnJvciQxKTtcblxuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yJDEgaW5zdGFuY2VvZiBFcnJvciAmJiAhKGVycm9yJDEubWVzc2FnZSBpbiBsb2dnZWRUeXBlRmFpbHVyZXMpKSB7XG4gICAgICAgICAgLy8gT25seSBtb25pdG9yIHRoaXMgZmFpbHVyZSBvbmNlIGJlY2F1c2UgdGhlcmUgdGVuZHMgdG8gYmUgYSBsb3Qgb2YgdGhlXG4gICAgICAgICAgLy8gc2FtZSBlcnJvci5cbiAgICAgICAgICBsb2dnZWRUeXBlRmFpbHVyZXNbZXJyb3IkMS5tZXNzYWdlXSA9IHRydWU7XG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgICAgICBlcnJvcignRmFpbGVkICVzIHR5cGU6ICVzJywgbG9jYXRpb24sIGVycm9yJDEubWVzc2FnZSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIGVsZW1lbnQuX3NvdXJjZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBzZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIGlmIChSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50KSB7XG4gICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgbmFtZSArICdgLic7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bShzb3VyY2UpIHtcbiAgaWYgKHNvdXJjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIGZpbGVOYW1lID0gc291cmNlLmZpbGVOYW1lLnJlcGxhY2UoL14uKltcXFxcXFwvXS8sICcnKTtcbiAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgeW91ciBjb2RlIGF0ICcgKyBmaWxlTmFtZSArICc6JyArIGxpbmVOdW1iZXIgKyAnLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtRm9yUHJvcHMoZWxlbWVudFByb3BzKSB7XG4gIGlmIChlbGVtZW50UHJvcHMgIT09IG51bGwgJiYgZWxlbWVudFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oZWxlbWVudFByb3BzLl9fc291cmNlKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAgdmFyIGluZm8gPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcblxuICBpZiAoIWluZm8pIHtcbiAgICB2YXIgcGFyZW50TmFtZSA9IHR5cGVvZiBwYXJlbnRUeXBlID09PSAnc3RyaW5nJyA/IHBhcmVudFR5cGUgOiBwYXJlbnRUeXBlLmRpc3BsYXlOYW1lIHx8IHBhcmVudFR5cGUubmFtZTtcblxuICAgIGlmIChwYXJlbnROYW1lKSB7XG4gICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluZm87XG59XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVFeHBsaWNpdEtleShlbGVtZW50LCBwYXJlbnRUeXBlKSB7XG4gIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9IGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSk7XG5cbiAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgLy8gYXNzaWduaW5nIGl0IGEga2V5LlxuXG4gIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICAvLyBHaXZlIHRoZSBjb21wb25lbnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhpcyBjaGlsZC5cbiAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgfVxuXG4gIHtcbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChpc0FycmF5KG5vZGUpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xuXG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgIC8vIFRoaXMgZWxlbWVudCB3YXMgcGFzc2VkIGluIGEgdmFsaWQgbG9jYXRpb24uXG4gICAgaWYgKG5vZGUuX3N0b3JlKSB7XG4gICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChub2RlKSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgIGlmIChpdGVyYXRvckZuICE9PSBub2RlLmVudHJpZXMpIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG4gIHZhciB2YWxpZFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSk7IC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gIC8vIHN1Y2NlZWQgYW5kIHRoZXJlIHdpbGwgbGlrZWx5IGJlIGVycm9ycyBpbiByZW5kZXIuXG5cbiAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICB2YXIgaW5mbyA9ICcnO1xuXG4gICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgfVxuXG4gICAgdmFyIHNvdXJjZUluZm8gPSBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKHByb3BzKTtcblxuICAgIGlmIChzb3VyY2VJbmZvKSB7XG4gICAgICBpbmZvICs9IHNvdXJjZUluZm87XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZm8gKz0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG4gICAgfVxuXG4gICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZVN0cmluZyA9ICdudWxsJztcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgIHR5cGVTdHJpbmcgPSAnYXJyYXknO1xuICAgIH0gZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkICYmIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgaW5mbyA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgZXhwb3J0IGEgSlNYIGxpdGVyYWwgaW5zdGVhZCBvZiBhIGNvbXBvbmVudD8nO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgfVxuXG4gICAge1xuICAgICAgZXJyb3IoJ1JlYWN0LmNyZWF0ZUVsZW1lbnQ6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnQgPSBjcmVhdGVFbGVtZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IC8vIFRoZSByZXN1bHQgY2FuIGJlIG51bGxpc2ggaWYgYSBtb2NrIG9yIGEgY3VzdG9tIGZ1bmN0aW9uIGlzIHVzZWQuXG4gIC8vIFRPRE86IERyb3AgdGhpcyB3aGVuIHRoZXNlIGFyZSBubyBsb25nZXIgYWxsb3dlZCBhcyB0aGUgdHlwZSBhcmd1bWVudC5cblxuICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH0gLy8gU2tpcCBrZXkgd2FybmluZyBpZiB0aGUgdHlwZSBpc24ndCB2YWxpZCBzaW5jZSBvdXIga2V5IHZhbGlkYXRpb24gbG9naWNcbiAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAvLyBXZSBkb24ndCB3YW50IGV4Y2VwdGlvbiBiZWhhdmlvciB0byBkaWZmZXIgYmV0d2VlbiBkZXYgYW5kIHByb2QuXG4gIC8vIChSZW5kZXJpbmcgd2lsbCB0aHJvdyB3aXRoIGEgaGVscGZ1bCBtZXNzYWdlIGFuZCBhcyBzb29uIGFzIHRoZSB0eXBlIGlzXG4gIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gIGlmICh2YWxpZFR5cGUpIHtcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFsaWRhdGVDaGlsZEtleXMoYXJndW1lbnRzW2ldLCB0eXBlKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgfSBlbHNlIHtcbiAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxudmFyIGRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5ID0gZmFsc2U7XG5mdW5jdGlvbiBjcmVhdGVGYWN0b3J5V2l0aFZhbGlkYXRpb24odHlwZSkge1xuICB2YXIgdmFsaWRhdGVkRmFjdG9yeSA9IGNyZWF0ZUVsZW1lbnRXaXRoVmFsaWRhdGlvbi5iaW5kKG51bGwsIHR5cGUpO1xuICB2YWxpZGF0ZWRGYWN0b3J5LnR5cGUgPSB0eXBlO1xuXG4gIHtcbiAgICBpZiAoIWRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5KSB7XG4gICAgICBkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSA9IHRydWU7XG5cbiAgICAgIHdhcm4oJ1JlYWN0LmNyZWF0ZUZhY3RvcnkoKSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBDb25zaWRlciB1c2luZyBKU1ggJyArICdvciB1c2UgUmVhY3QuY3JlYXRlRWxlbWVudCgpIGRpcmVjdGx5IGluc3RlYWQuJyk7XG4gICAgfSAvLyBMZWdhY3kgaG9vazogcmVtb3ZlIGl0XG5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWxpZGF0ZWRGYWN0b3J5LCAndHlwZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJ0ZhY3RvcnkudHlwZSBpcyBkZXByZWNhdGVkLiBBY2Nlc3MgdGhlIGNsYXNzIGRpcmVjdGx5ICcgKyAnYmVmb3JlIHBhc3NpbmcgaXQgdG8gY3JlYXRlRmFjdG9yeS4nKTtcblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3R5cGUnLCB7XG4gICAgICAgICAgdmFsdWU6IHR5cGVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlZEZhY3Rvcnk7XG59XG5mdW5jdGlvbiBjbG9uZUVsZW1lbnRXaXRoVmFsaWRhdGlvbihlbGVtZW50LCBwcm9wcywgY2hpbGRyZW4pIHtcbiAgdmFyIG5ld0VsZW1lbnQgPSBjbG9uZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgbmV3RWxlbWVudC50eXBlKTtcbiAgfVxuXG4gIHZhbGlkYXRlUHJvcFR5cGVzKG5ld0VsZW1lbnQpO1xuICByZXR1cm4gbmV3RWxlbWVudDtcbn1cblxuZnVuY3Rpb24gc3RhcnRUcmFuc2l0aW9uKHNjb3BlLCBvcHRpb25zKSB7XG4gIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb247XG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb24gPSB7fTtcbiAgdmFyIGN1cnJlbnRUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbjtcblxuICB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycyA9IG5ldyBTZXQoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgc2NvcGUoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG5cbiAgICB7XG4gICAgICBpZiAocHJldlRyYW5zaXRpb24gPT09IG51bGwgJiYgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMpIHtcbiAgICAgICAgdmFyIHVwZGF0ZWRGaWJlcnNDb3VudCA9IGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLnNpemU7XG5cbiAgICAgICAgaWYgKHVwZGF0ZWRGaWJlcnNDb3VudCA+IDEwKSB7XG4gICAgICAgICAgd2FybignRGV0ZWN0ZWQgYSBsYXJnZSBudW1iZXIgb2YgdXBkYXRlcyBpbnNpZGUgc3RhcnRUcmFuc2l0aW9uLiAnICsgJ0lmIHRoaXMgaXMgZHVlIHRvIGEgc3Vic2NyaXB0aW9uIHBsZWFzZSByZS13cml0ZSBpdCB0byB1c2UgUmVhY3QgcHJvdmlkZWQgaG9va3MuICcgKyAnT3RoZXJ3aXNlIGNvbmN1cnJlbnQgbW9kZSBndWFyYW50ZWVzIGFyZSBvZmYgdGhlIHRhYmxlLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMuY2xlYXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID0gZmFsc2U7XG52YXIgZW5xdWV1ZVRhc2tJbXBsID0gbnVsbDtcbmZ1bmN0aW9uIGVucXVldWVUYXNrKHRhc2spIHtcbiAgaWYgKGVucXVldWVUYXNrSW1wbCA9PT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICAvLyByZWFkIHJlcXVpcmUgb2ZmIHRoZSBtb2R1bGUgb2JqZWN0IHRvIGdldCBhcm91bmQgdGhlIGJ1bmRsZXJzLlxuICAgICAgLy8gd2UgZG9uJ3Qgd2FudCB0aGVtIHRvIGRldGVjdCBhIHJlcXVpcmUgYW5kIGJ1bmRsZSBhIE5vZGUgcG9seWZpbGwuXG4gICAgICB2YXIgcmVxdWlyZVN0cmluZyA9ICgncmVxdWlyZScgKyBNYXRoLnJhbmRvbSgpKS5zbGljZSgwLCA3KTtcbiAgICAgIHZhciBub2RlUmVxdWlyZSA9IG1vZHVsZSAmJiBtb2R1bGVbcmVxdWlyZVN0cmluZ107IC8vIGFzc3VtaW5nIHdlJ3JlIGluIG5vZGUsIGxldCdzIHRyeSB0byBnZXQgbm9kZSdzXG4gICAgICAvLyB2ZXJzaW9uIG9mIHNldEltbWVkaWF0ZSwgYnlwYXNzaW5nIGZha2UgdGltZXJzIGlmIGFueS5cblxuICAgICAgZW5xdWV1ZVRhc2tJbXBsID0gbm9kZVJlcXVpcmUuY2FsbChtb2R1bGUsICd0aW1lcnMnKS5zZXRJbW1lZGlhdGU7XG4gICAgfSBjYXRjaCAoX2Vycikge1xuICAgICAgLy8gd2UncmUgaW4gYSBicm93c2VyXG4gICAgICAvLyB3ZSBjYW4ndCB1c2UgcmVndWxhciB0aW1lcnMgYmVjYXVzZSB0aGV5IG1heSBzdGlsbCBiZSBmYWtlZFxuICAgICAgLy8gc28gd2UgdHJ5IE1lc3NhZ2VDaGFubmVsK3Bvc3RNZXNzYWdlIGluc3RlYWRcbiAgICAgIGVucXVldWVUYXNrSW1wbCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID09PSBmYWxzZSkge1xuICAgICAgICAgICAgZGlkV2FybkFib3V0TWVzc2FnZUNoYW5uZWwgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIE1lc3NhZ2VDaGFubmVsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBlcnJvcignVGhpcyBicm93c2VyIGRvZXMgbm90IGhhdmUgYSBNZXNzYWdlQ2hhbm5lbCBpbXBsZW1lbnRhdGlvbiwgJyArICdzbyBlbnF1ZXVpbmcgdGFza3MgdmlhIGF3YWl0IGFjdChhc3luYyAoKSA9PiAuLi4pIHdpbGwgZmFpbC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzICcgKyAnaWYgeW91IGVuY291bnRlciB0aGlzIHdhcm5pbmcuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBjYWxsYmFjaztcbiAgICAgICAgY2hhbm5lbC5wb3J0Mi5wb3N0TWVzc2FnZSh1bmRlZmluZWQpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZW5xdWV1ZVRhc2tJbXBsKHRhc2spO1xufVxuXG52YXIgYWN0U2NvcGVEZXB0aCA9IDA7XG52YXIgZGlkV2Fybk5vQXdhaXRBY3QgPSBmYWxzZTtcbmZ1bmN0aW9uIGFjdChjYWxsYmFjaykge1xuICB7XG4gICAgLy8gYGFjdGAgY2FsbHMgY2FuIGJlIG5lc3RlZCwgc28gd2UgdHJhY2sgdGhlIGRlcHRoLiBUaGlzIHJlcHJlc2VudHMgdGhlXG4gICAgLy8gbnVtYmVyIG9mIGBhY3RgIHNjb3BlcyBvbiB0aGUgc3RhY2suXG4gICAgdmFyIHByZXZBY3RTY29wZURlcHRoID0gYWN0U2NvcGVEZXB0aDtcbiAgICBhY3RTY29wZURlcHRoKys7XG5cbiAgICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IGBhY3RgIHNjb3BlLiBJbml0aWFsaXplIHRoZSBxdWV1ZS4gVGhlIHJlY29uY2lsZXJcbiAgICAgIC8vIHdpbGwgZGV0ZWN0IHRoZSBxdWV1ZSBhbmQgdXNlIGl0IGluc3RlYWQgb2YgU2NoZWR1bGVyLlxuICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IFtdO1xuICAgIH1cblxuICAgIHZhciBwcmV2SXNCYXRjaGluZ0xlZ2FjeSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmlzQmF0Y2hpbmdMZWdhY3k7XG4gICAgdmFyIHJlc3VsdDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBVc2VkIHRvIHJlcHJvZHVjZSBiZWhhdmlvciBvZiBgYmF0Y2hlZFVwZGF0ZXNgIGluIGxlZ2FjeSBtb2RlLiBPbmx5XG4gICAgICAvLyBzZXQgdG8gYHRydWVgIHdoaWxlIHRoZSBnaXZlbiBjYWxsYmFjayBpcyBleGVjdXRlZCwgbm90IGZvciB1cGRhdGVzXG4gICAgICAvLyB0cmlnZ2VyZWQgZHVyaW5nIGFuIGFzeW5jIGV2ZW50LCBiZWNhdXNlIHRoaXMgaXMgaG93IHRoZSBsZWdhY3lcbiAgICAgIC8vIGltcGxlbWVudGF0aW9uIG9mIGBhY3RgIGJlaGF2ZWQuXG4gICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5pc0JhdGNoaW5nTGVnYWN5ID0gdHJ1ZTtcbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKCk7IC8vIFJlcGxpY2F0ZSBiZWhhdmlvciBvZiBvcmlnaW5hbCBgYWN0YCBpbXBsZW1lbnRhdGlvbiBpbiBsZWdhY3kgbW9kZSxcbiAgICAgIC8vIHdoaWNoIGZsdXNoZWQgdXBkYXRlcyBpbW1lZGlhdGVseSBhZnRlciB0aGUgc2NvcGUgZnVuY3Rpb24gZXhpdHMsIGV2ZW5cbiAgICAgIC8vIGlmIGl0J3MgYW4gYXN5bmMgZnVuY3Rpb24uXG5cbiAgICAgIGlmICghcHJldklzQmF0Y2hpbmdMZWdhY3kgJiYgUmVhY3RDdXJyZW50QWN0UXVldWUuZGlkU2NoZWR1bGVMZWdhY3lVcGRhdGUpIHtcbiAgICAgICAgdmFyIHF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcblxuICAgICAgICBpZiAocXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5kaWRTY2hlZHVsZUxlZ2FjeVVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgIGZsdXNoQWN0UXVldWUocXVldWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RTY29wZURlcHRoKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5pc0JhdGNoaW5nTGVnYWN5ID0gcHJldklzQmF0Y2hpbmdMZWdhY3k7XG4gICAgfVxuXG4gICAgaWYgKHJlc3VsdCAhPT0gbnVsbCAmJiB0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgcmVzdWx0LnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciB0aGVuYWJsZVJlc3VsdCA9IHJlc3VsdDsgLy8gVGhlIGNhbGxiYWNrIGlzIGFuIGFzeW5jIGZ1bmN0aW9uIChpLmUuIHJldHVybmVkIGEgcHJvbWlzZSkuIFdhaXRcbiAgICAgIC8vIGZvciBpdCB0byByZXNvbHZlIGJlZm9yZSBleGl0aW5nIHRoZSBjdXJyZW50IHNjb3BlLlxuXG4gICAgICB2YXIgd2FzQXdhaXRlZCA9IGZhbHNlO1xuICAgICAgdmFyIHRoZW5hYmxlID0ge1xuICAgICAgICB0aGVuOiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgd2FzQXdhaXRlZCA9IHRydWU7XG4gICAgICAgICAgdGhlbmFibGVSZXN1bHQudGhlbihmdW5jdGlvbiAocmV0dXJuVmFsdWUpIHtcbiAgICAgICAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RTY29wZURlcHRoKTtcblxuICAgICAgICAgICAgaWYgKGFjdFNjb3BlRGVwdGggPT09IDApIHtcbiAgICAgICAgICAgICAgLy8gV2UndmUgZXhpdGVkIHRoZSBvdXRlcm1vc3QgYWN0IHNjb3BlLiBSZWN1cnNpdmVseSBmbHVzaCB0aGVcbiAgICAgICAgICAgICAgLy8gcXVldWUgdW50aWwgdGhlcmUncyBubyByZW1haW5pbmcgd29yay5cbiAgICAgICAgICAgICAgcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc29sdmUocmV0dXJuVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIHRocmV3IGFuIGVycm9yLlxuICAgICAgICAgICAgcG9wQWN0U2NvcGUocHJldkFjdFNjb3BlRGVwdGgpO1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAge1xuICAgICAgICBpZiAoIWRpZFdhcm5Ob0F3YWl0QWN0ICYmIHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkge30pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKCF3YXNBd2FpdGVkKSB7XG4gICAgICAgICAgICAgIGRpZFdhcm5Ob0F3YWl0QWN0ID0gdHJ1ZTtcblxuICAgICAgICAgICAgICBlcnJvcignWW91IGNhbGxlZCBhY3QoYXN5bmMgKCkgPT4gLi4uKSB3aXRob3V0IGF3YWl0LiAnICsgJ1RoaXMgY291bGQgbGVhZCB0byB1bmV4cGVjdGVkIHRlc3RpbmcgYmVoYXZpb3VyLCAnICsgJ2ludGVybGVhdmluZyBtdWx0aXBsZSBhY3QgY2FsbHMgYW5kIG1peGluZyB0aGVpciAnICsgJ3Njb3Blcy4gJyArICdZb3Ugc2hvdWxkIC0gYXdhaXQgYWN0KGFzeW5jICgpID0+IC4uLik7Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoZW5hYmxlO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgcmV0dXJuVmFsdWUgPSByZXN1bHQ7IC8vIFRoZSBjYWxsYmFjayBpcyBub3QgYW4gYXN5bmMgZnVuY3Rpb24uIEV4aXQgdGhlIGN1cnJlbnQgc2NvcGVcbiAgICAgIC8vIGltbWVkaWF0ZWx5LCB3aXRob3V0IGF3YWl0aW5nLlxuXG4gICAgICBwb3BBY3RTY29wZShwcmV2QWN0U2NvcGVEZXB0aCk7XG5cbiAgICAgIGlmIChhY3RTY29wZURlcHRoID09PSAwKSB7XG4gICAgICAgIC8vIEV4aXRpbmcgdGhlIG91dGVybW9zdCBhY3Qgc2NvcGUuIEZsdXNoIHRoZSBxdWV1ZS5cbiAgICAgICAgdmFyIF9xdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQ7XG5cbiAgICAgICAgaWYgKF9xdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGZsdXNoQWN0UXVldWUoX3F1ZXVlKTtcbiAgICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfSAvLyBSZXR1cm4gYSB0aGVuYWJsZS4gSWYgdGhlIHVzZXIgYXdhaXRzIGl0LCB3ZSdsbCBmbHVzaCBhZ2FpbiBpblxuICAgICAgICAvLyBjYXNlIGFkZGl0aW9uYWwgd29yayB3YXMgc2NoZWR1bGVkIGJ5IGEgbWljcm90YXNrLlxuXG5cbiAgICAgICAgdmFyIF90aGVuYWJsZSA9IHtcbiAgICAgICAgICB0aGVuOiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAvLyBDb25maXJtIHdlIGhhdmVuJ3QgcmUtZW50ZXJlZCBhbm90aGVyIGBhY3RgIHNjb3BlLCBpbiBjYXNlXG4gICAgICAgICAgICAvLyB0aGUgdXNlciBkb2VzIHNvbWV0aGluZyB3ZWlyZCBsaWtlIGF3YWl0IHRoZSB0aGVuYWJsZVxuICAgICAgICAgICAgLy8gbXVsdGlwbGUgdGltZXMuXG4gICAgICAgICAgICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBSZWN1cnNpdmVseSBmbHVzaCB0aGUgcXVldWUgdW50aWwgdGhlcmUncyBubyByZW1haW5pbmcgd29yay5cbiAgICAgICAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IFtdO1xuICAgICAgICAgICAgICByZWN1cnNpdmVseUZsdXNoQXN5bmNBY3RXb3JrKHJldHVyblZhbHVlLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoZW5hYmxlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2luY2Ugd2UncmUgaW5zaWRlIGEgbmVzdGVkIGBhY3RgIHNjb3BlLCB0aGUgcmV0dXJuZWQgdGhlbmFibGVcbiAgICAgICAgLy8gaW1tZWRpYXRlbHkgcmVzb2x2ZXMuIFRoZSBvdXRlciBzY29wZSB3aWxsIGZsdXNoIHRoZSBxdWV1ZS5cbiAgICAgICAgdmFyIF90aGVuYWJsZTIgPSB7XG4gICAgICAgICAgdGhlbjogZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoZW5hYmxlMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wQWN0U2NvcGUocHJldkFjdFNjb3BlRGVwdGgpIHtcbiAge1xuICAgIGlmIChwcmV2QWN0U2NvcGVEZXB0aCAhPT0gYWN0U2NvcGVEZXB0aCAtIDEpIHtcbiAgICAgIGVycm9yKCdZb3Ugc2VlbSB0byBoYXZlIG92ZXJsYXBwaW5nIGFjdCgpIGNhbGxzLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnQmUgc3VyZSB0byBhd2FpdCBwcmV2aW91cyBhY3QoKSBjYWxscyBiZWZvcmUgbWFraW5nIGEgbmV3IG9uZS4gJyk7XG4gICAgfVxuXG4gICAgYWN0U2NvcGVEZXB0aCA9IHByZXZBY3RTY29wZURlcHRoO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlY3Vyc2l2ZWx5Rmx1c2hBc3luY0FjdFdvcmsocmV0dXJuVmFsdWUsIHJlc29sdmUsIHJlamVjdCkge1xuICB7XG4gICAgdmFyIHF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcblxuICAgIGlmIChxdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZmx1c2hBY3RRdWV1ZShxdWV1ZSk7XG4gICAgICAgIGVucXVldWVUYXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAocXVldWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAvLyBObyBhZGRpdGlvbmFsIHdvcmsgd2FzIHNjaGVkdWxlZC4gRmluaXNoLlxuICAgICAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICByZXNvbHZlKHJldHVyblZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gS2VlcCBmbHVzaGluZyB3b3JrIHVudGlsIHRoZXJlJ3Mgbm9uZSBsZWZ0LlxuICAgICAgICAgICAgcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBpc0ZsdXNoaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGZsdXNoQWN0UXVldWUocXVldWUpIHtcbiAge1xuICAgIGlmICghaXNGbHVzaGluZykge1xuICAgICAgLy8gUHJldmVudCByZS1lbnRyYW5jZS5cbiAgICAgIGlzRmx1c2hpbmcgPSB0cnVlO1xuICAgICAgdmFyIGkgPSAwO1xuXG4gICAgICB0cnkge1xuICAgICAgICBmb3IgKDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGNhbGxiYWNrID0gcXVldWVbaV07XG5cbiAgICAgICAgICBkbyB7XG4gICAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrKHRydWUpO1xuICAgICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHF1ZXVlLmxlbmd0aCA9IDA7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBJZiBzb21ldGhpbmcgdGhyb3dzLCBsZWF2ZSB0aGUgcmVtYWluaW5nIGNhbGxiYWNrcyBvbiB0aGUgcXVldWUuXG4gICAgICAgIHF1ZXVlID0gcXVldWUuc2xpY2UoaSArIDEpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlzRmx1c2hpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGNyZWF0ZUVsZW1lbnQkMSA9ICBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24gO1xudmFyIGNsb25lRWxlbWVudCQxID0gIGNsb25lRWxlbWVudFdpdGhWYWxpZGF0aW9uIDtcbnZhciBjcmVhdGVGYWN0b3J5ID0gIGNyZWF0ZUZhY3RvcnlXaXRoVmFsaWRhdGlvbiA7XG52YXIgQ2hpbGRyZW4gPSB7XG4gIG1hcDogbWFwQ2hpbGRyZW4sXG4gIGZvckVhY2g6IGZvckVhY2hDaGlsZHJlbixcbiAgY291bnQ6IGNvdW50Q2hpbGRyZW4sXG4gIHRvQXJyYXk6IHRvQXJyYXksXG4gIG9ubHk6IG9ubHlDaGlsZFxufTtcblxuZXhwb3J0cy5DaGlsZHJlbiA9IENoaWxkcmVuO1xuZXhwb3J0cy5Db21wb25lbnQgPSBDb21wb25lbnQ7XG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuUHJvZmlsZXIgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xuZXhwb3J0cy5QdXJlQ29tcG9uZW50ID0gUHVyZUNvbXBvbmVudDtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFJFQUNUX1NUUklDVF9NT0RFX1RZUEU7XG5leHBvcnRzLlN1c3BlbnNlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBSZWFjdFNoYXJlZEludGVybmFscztcbmV4cG9ydHMuY2xvbmVFbGVtZW50ID0gY2xvbmVFbGVtZW50JDE7XG5leHBvcnRzLmNyZWF0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0O1xuZXhwb3J0cy5jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudCQxO1xuZXhwb3J0cy5jcmVhdGVGYWN0b3J5ID0gY3JlYXRlRmFjdG9yeTtcbmV4cG9ydHMuY3JlYXRlUmVmID0gY3JlYXRlUmVmO1xuZXhwb3J0cy5mb3J3YXJkUmVmID0gZm9yd2FyZFJlZjtcbmV4cG9ydHMuaXNWYWxpZEVsZW1lbnQgPSBpc1ZhbGlkRWxlbWVudDtcbmV4cG9ydHMubGF6eSA9IGxhenk7XG5leHBvcnRzLm1lbW8gPSBtZW1vO1xuZXhwb3J0cy5zdGFydFRyYW5zaXRpb24gPSBzdGFydFRyYW5zaXRpb247XG5leHBvcnRzLnVuc3RhYmxlX2FjdCA9IGFjdDtcbmV4cG9ydHMudXNlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaztcbmV4cG9ydHMudXNlQ29udGV4dCA9IHVzZUNvbnRleHQ7XG5leHBvcnRzLnVzZURlYnVnVmFsdWUgPSB1c2VEZWJ1Z1ZhbHVlO1xuZXhwb3J0cy51c2VEZWZlcnJlZFZhbHVlID0gdXNlRGVmZXJyZWRWYWx1ZTtcbmV4cG9ydHMudXNlRWZmZWN0ID0gdXNlRWZmZWN0O1xuZXhwb3J0cy51c2VJZCA9IHVzZUlkO1xuZXhwb3J0cy51c2VJbXBlcmF0aXZlSGFuZGxlID0gdXNlSW1wZXJhdGl2ZUhhbmRsZTtcbmV4cG9ydHMudXNlSW5zZXJ0aW9uRWZmZWN0ID0gdXNlSW5zZXJ0aW9uRWZmZWN0O1xuZXhwb3J0cy51c2VMYXlvdXRFZmZlY3QgPSB1c2VMYXlvdXRFZmZlY3Q7XG5leHBvcnRzLnVzZU1lbW8gPSB1c2VNZW1vO1xuZXhwb3J0cy51c2VSZWR1Y2VyID0gdXNlUmVkdWNlcjtcbmV4cG9ydHMudXNlUmVmID0gdXNlUmVmO1xuZXhwb3J0cy51c2VTdGF0ZSA9IHVzZVN0YXRlO1xuZXhwb3J0cy51c2VTeW5jRXh0ZXJuYWxTdG9yZSA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlO1xuZXhwb3J0cy51c2VUcmFuc2l0aW9uID0gdXNlVHJhbnNpdGlvbjtcbmV4cG9ydHMudmVyc2lvbiA9IFJlYWN0VmVyc2lvbjtcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react/index.js": -/*!*************************************!*\ - !*** ./node_modules/react/index.js ***! - \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react.development.js */ \"./node_modules/react/cjs/react.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLHVIQUFzRDtBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanM/MWZiMiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react/jsx-runtime.js": -/*!*******************************************!*\ - !*** ./node_modules/react/jsx-runtime.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ \"./node_modules/react/cjs/react-jsx-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLCtJQUFrRTtBQUNwRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LXJ1bnRpbWUuanM/MzRkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LXJ1bnRpbWUucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/jsx-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/scheduler/cjs/scheduler.development.js": -/*!*************************************************************!*\ - !*** ./node_modules/scheduler/cjs/scheduler.development.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * scheduler.development.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\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime;\n var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRSxvQkFBb0I7QUFDdEI7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBLEVBQUUsb0JBQW9CO0FBQ3RCO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0Esb0NBQW9DOztBQUVwQyxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQSxrQ0FBa0M7O0FBRWxDLCtDQUErQzs7QUFFL0M7QUFDQSxxQkFBcUI7O0FBRXJCLHVCQUF1QjtBQUN2QjtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBLG1GQUFtRjs7QUFFbkY7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQSw2QkFBNkI7O0FBRTdCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhDQUE4QztBQUM5Qzs7QUFFQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFDbEMsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiwwQkFBMEI7QUFDMUIscUNBQXFDO0FBQ3JDLCtCQUErQjtBQUMvQixrQ0FBa0M7QUFDbEMsK0JBQStCO0FBQy9CLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMscUJBQXFCO0FBQ3JCLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQyw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanM/YmNkMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiBzY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgZW5hYmxlU2NoZWR1bGVyRGVidWdnaW5nID0gZmFsc2U7XG52YXIgZW5hYmxlUHJvZmlsaW5nID0gZmFsc2U7XG52YXIgZnJhbWVZaWVsZE1zID0gNTtcblxuZnVuY3Rpb24gcHVzaChoZWFwLCBub2RlKSB7XG4gIHZhciBpbmRleCA9IGhlYXAubGVuZ3RoO1xuICBoZWFwLnB1c2gobm9kZSk7XG4gIHNpZnRVcChoZWFwLCBub2RlLCBpbmRleCk7XG59XG5mdW5jdGlvbiBwZWVrKGhlYXApIHtcbiAgcmV0dXJuIGhlYXAubGVuZ3RoID09PSAwID8gbnVsbCA6IGhlYXBbMF07XG59XG5mdW5jdGlvbiBwb3AoaGVhcCkge1xuICBpZiAoaGVhcC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XG4gIHZhciBsYXN0ID0gaGVhcC5wb3AoKTtcblxuICBpZiAobGFzdCAhPT0gZmlyc3QpIHtcbiAgICBoZWFwWzBdID0gbGFzdDtcbiAgICBzaWZ0RG93bihoZWFwLCBsYXN0LCAwKTtcbiAgfVxuXG4gIHJldHVybiBmaXJzdDtcbn1cblxuZnVuY3Rpb24gc2lmdFVwKGhlYXAsIG5vZGUsIGkpIHtcbiAgdmFyIGluZGV4ID0gaTtcblxuICB3aGlsZSAoaW5kZXggPiAwKSB7XG4gICAgdmFyIHBhcmVudEluZGV4ID0gaW5kZXggLSAxID4+PiAxO1xuICAgIHZhciBwYXJlbnQgPSBoZWFwW3BhcmVudEluZGV4XTtcblxuICAgIGlmIChjb21wYXJlKHBhcmVudCwgbm9kZSkgPiAwKSB7XG4gICAgICAvLyBUaGUgcGFyZW50IGlzIGxhcmdlci4gU3dhcCBwb3NpdGlvbnMuXG4gICAgICBoZWFwW3BhcmVudEluZGV4XSA9IG5vZGU7XG4gICAgICBoZWFwW2luZGV4XSA9IHBhcmVudDtcbiAgICAgIGluZGV4ID0gcGFyZW50SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBwYXJlbnQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2lmdERvd24oaGVhcCwgbm9kZSwgaSkge1xuICB2YXIgaW5kZXggPSBpO1xuICB2YXIgbGVuZ3RoID0gaGVhcC5sZW5ndGg7XG4gIHZhciBoYWxmTGVuZ3RoID0gbGVuZ3RoID4+PiAxO1xuXG4gIHdoaWxlIChpbmRleCA8IGhhbGZMZW5ndGgpIHtcbiAgICB2YXIgbGVmdEluZGV4ID0gKGluZGV4ICsgMSkgKiAyIC0gMTtcbiAgICB2YXIgbGVmdCA9IGhlYXBbbGVmdEluZGV4XTtcbiAgICB2YXIgcmlnaHRJbmRleCA9IGxlZnRJbmRleCArIDE7XG4gICAgdmFyIHJpZ2h0ID0gaGVhcFtyaWdodEluZGV4XTsgLy8gSWYgdGhlIGxlZnQgb3IgcmlnaHQgbm9kZSBpcyBzbWFsbGVyLCBzd2FwIHdpdGggdGhlIHNtYWxsZXIgb2YgdGhvc2UuXG5cbiAgICBpZiAoY29tcGFyZShsZWZ0LCBub2RlKSA8IDApIHtcbiAgICAgIGlmIChyaWdodEluZGV4IDwgbGVuZ3RoICYmIGNvbXBhcmUocmlnaHQsIGxlZnQpIDwgMCkge1xuICAgICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgICBoZWFwW3JpZ2h0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgaW5kZXggPSByaWdodEluZGV4O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGVhcFtpbmRleF0gPSBsZWZ0O1xuICAgICAgICBoZWFwW2xlZnRJbmRleF0gPSBub2RlO1xuICAgICAgICBpbmRleCA9IGxlZnRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJpZ2h0SW5kZXggPCBsZW5ndGggJiYgY29tcGFyZShyaWdodCwgbm9kZSkgPCAwKSB7XG4gICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgaGVhcFtyaWdodEluZGV4XSA9IG5vZGU7XG4gICAgICBpbmRleCA9IHJpZ2h0SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5laXRoZXIgY2hpbGQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7XG4gIC8vIENvbXBhcmUgc29ydCBpbmRleCBmaXJzdCwgdGhlbiB0YXNrIGlkLlxuICB2YXIgZGlmZiA9IGEuc29ydEluZGV4IC0gYi5zb3J0SW5kZXg7XG4gIHJldHVybiBkaWZmICE9PSAwID8gZGlmZiA6IGEuaWQgLSBiLmlkO1xufVxuXG4vLyBUT0RPOiBVc2Ugc3ltYm9scz9cbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDE7XG52YXIgVXNlckJsb2NraW5nUHJpb3JpdHkgPSAyO1xudmFyIE5vcm1hbFByaW9yaXR5ID0gMztcbnZhciBMb3dQcmlvcml0eSA9IDQ7XG52YXIgSWRsZVByaW9yaXR5ID0gNTtcblxuZnVuY3Rpb24gbWFya1Rhc2tFcnJvcmVkKHRhc2ssIG1zKSB7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZhciAqL1xuXG52YXIgaGFzUGVyZm9ybWFuY2VOb3cgPSB0eXBlb2YgcGVyZm9ybWFuY2UgPT09ICdvYmplY3QnICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5ub3cgPT09ICdmdW5jdGlvbic7XG5cbmlmIChoYXNQZXJmb3JtYW5jZU5vdykge1xuICB2YXIgbG9jYWxQZXJmb3JtYW5jZSA9IHBlcmZvcm1hbmNlO1xuXG4gIGV4cG9ydHMudW5zdGFibGVfbm93ID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBsb2NhbFBlcmZvcm1hbmNlLm5vdygpO1xuICB9O1xufSBlbHNlIHtcbiAgdmFyIGxvY2FsRGF0ZSA9IERhdGU7XG4gIHZhciBpbml0aWFsVGltZSA9IGxvY2FsRGF0ZS5ub3coKTtcblxuICBleHBvcnRzLnVuc3RhYmxlX25vdyA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbG9jYWxEYXRlLm5vdygpIC0gaW5pdGlhbFRpbWU7XG4gIH07XG59IC8vIE1heCAzMSBiaXQgaW50ZWdlci4gVGhlIG1heCBpbnRlZ2VyIHNpemUgaW4gVjggZm9yIDMyLWJpdCBzeXN0ZW1zLlxuLy8gTWF0aC5wb3coMiwgMzApIC0gMVxuLy8gMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcblxuXG52YXIgbWF4U2lnbmVkMzFCaXRJbnQgPSAxMDczNzQxODIzOyAvLyBUaW1lcyBvdXQgaW1tZWRpYXRlbHlcblxudmFyIElNTUVESUFURV9QUklPUklUWV9USU1FT1VUID0gLTE7IC8vIEV2ZW50dWFsbHkgdGltZXMgb3V0XG5cbnZhciBVU0VSX0JMT0NLSU5HX1BSSU9SSVRZX1RJTUVPVVQgPSAyNTA7XG52YXIgTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQgPSA1MDAwO1xudmFyIExPV19QUklPUklUWV9USU1FT1VUID0gMTAwMDA7IC8vIE5ldmVyIHRpbWVzIG91dFxuXG52YXIgSURMRV9QUklPUklUWV9USU1FT1VUID0gbWF4U2lnbmVkMzFCaXRJbnQ7IC8vIFRhc2tzIGFyZSBzdG9yZWQgb24gYSBtaW4gaGVhcFxuXG52YXIgdGFza1F1ZXVlID0gW107XG52YXIgdGltZXJRdWV1ZSA9IFtdOyAvLyBJbmNyZW1lbnRpbmcgaWQgY291bnRlci4gVXNlZCB0byBtYWludGFpbiBpbnNlcnRpb24gb3JkZXIuXG5cbnZhciB0YXNrSWRDb3VudGVyID0gMTsgLy8gUGF1c2luZyB0aGUgc2NoZWR1bGVyIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nLlxudmFyIGN1cnJlbnRUYXNrID0gbnVsbDtcbnZhciBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5OyAvLyBUaGlzIGlzIHNldCB3aGlsZSBwZXJmb3JtaW5nIHdvcmssIHRvIHByZXZlbnQgcmUtZW50cmFuY2UuXG5cbnZhciBpc1BlcmZvcm1pbmdXb3JrID0gZmFsc2U7XG52YXIgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSBmYWxzZTtcbnZhciBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7IC8vIENhcHR1cmUgbG9jYWwgcmVmZXJlbmNlcyB0byBuYXRpdmUgQVBJcywgaW4gY2FzZSBhIHBvbHlmaWxsIG92ZXJyaWRlcyB0aGVtLlxuXG52YXIgbG9jYWxTZXRUaW1lb3V0ID0gdHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBzZXRUaW1lb3V0IDogbnVsbDtcbnZhciBsb2NhbENsZWFyVGltZW91dCA9IHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBjbGVhclRpbWVvdXQgOiBudWxsO1xudmFyIGxvY2FsU2V0SW1tZWRpYXRlID0gdHlwZW9mIHNldEltbWVkaWF0ZSAhPT0gJ3VuZGVmaW5lZCcgPyBzZXRJbW1lZGlhdGUgOiBudWxsOyAvLyBJRSBhbmQgTm9kZS5qcyArIGpzZG9tXG5cbnZhciBpc0lucHV0UGVuZGluZyA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci5zY2hlZHVsaW5nICE9PSB1bmRlZmluZWQgJiYgbmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcgIT09IHVuZGVmaW5lZCA/IG5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpIDogbnVsbDtcblxuZnVuY3Rpb24gYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSkge1xuICAvLyBDaGVjayBmb3IgdGFza3MgdGhhdCBhcmUgbm8gbG9uZ2VyIGRlbGF5ZWQgYW5kIGFkZCB0aGVtIHRvIHRoZSBxdWV1ZS5cbiAgdmFyIHRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICB3aGlsZSAodGltZXIgIT09IG51bGwpIHtcbiAgICBpZiAodGltZXIuY2FsbGJhY2sgPT09IG51bGwpIHtcbiAgICAgIC8vIFRpbWVyIHdhcyBjYW5jZWxsZWQuXG4gICAgICBwb3AodGltZXJRdWV1ZSk7XG4gICAgfSBlbHNlIGlmICh0aW1lci5zdGFydFRpbWUgPD0gY3VycmVudFRpbWUpIHtcbiAgICAgIC8vIFRpbWVyIGZpcmVkLiBUcmFuc2ZlciB0byB0aGUgdGFzayBxdWV1ZS5cbiAgICAgIHBvcCh0aW1lclF1ZXVlKTtcbiAgICAgIHRpbWVyLnNvcnRJbmRleCA9IHRpbWVyLmV4cGlyYXRpb25UaW1lO1xuICAgICAgcHVzaCh0YXNrUXVldWUsIHRpbWVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVtYWluaW5nIHRpbWVycyBhcmUgcGVuZGluZy5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlVGltZW91dChjdXJyZW50VGltZSkge1xuICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gIGFkdmFuY2VUaW1lcnMoY3VycmVudFRpbWUpO1xuXG4gIGlmICghaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQpIHtcbiAgICBpZiAocGVlayh0YXNrUXVldWUpICE9PSBudWxsKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdFRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICAgICAgaWYgKGZpcnN0VGltZXIgIT09IG51bGwpIHtcbiAgICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmbHVzaFdvcmsoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpIHtcblxuXG4gIGlzSG9zdENhbGxiYWNrU2NoZWR1bGVkID0gZmFsc2U7XG5cbiAgaWYgKGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQpIHtcbiAgICAvLyBXZSBzY2hlZHVsZWQgYSB0aW1lb3V0IGJ1dCBpdCdzIG5vIGxvbmdlciBuZWVkZWQuIENhbmNlbCBpdC5cbiAgICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgfVxuXG4gIGlzUGVyZm9ybWluZ1dvcmsgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlUHJvZmlsaW5nKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gd29ya0xvb3AoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRUYXNrICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgICAgICAgICBtYXJrVGFza0Vycm9yZWQoY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcbiAgICAgICAgICBjdXJyZW50VGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGNhdGNoIGluIHByb2QgY29kZSBwYXRoLlxuICAgICAgcmV0dXJuIHdvcmtMb29wKGhhc1RpbWVSZW1haW5pbmcsIGluaXRpYWxUaW1lKTtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgY3VycmVudFRhc2sgPSBudWxsO1xuICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJldmlvdXNQcmlvcml0eUxldmVsO1xuICAgIGlzUGVyZm9ybWluZ1dvcmsgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSkge1xuICB2YXIgY3VycmVudFRpbWUgPSBpbml0aWFsVGltZTtcbiAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xuXG4gIHdoaWxlIChjdXJyZW50VGFzayAhPT0gbnVsbCAmJiAhKGVuYWJsZVNjaGVkdWxlckRlYnVnZ2luZyApKSB7XG4gICAgaWYgKGN1cnJlbnRUYXNrLmV4cGlyYXRpb25UaW1lID4gY3VycmVudFRpbWUgJiYgKCFoYXNUaW1lUmVtYWluaW5nIHx8IHNob3VsZFlpZWxkVG9Ib3N0KCkpKSB7XG4gICAgICAvLyBUaGlzIGN1cnJlbnRUYXNrIGhhc24ndCBleHBpcmVkLCBhbmQgd2UndmUgcmVhY2hlZCB0aGUgZGVhZGxpbmUuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgY2FsbGJhY2sgPSBjdXJyZW50VGFzay5jYWxsYmFjaztcblxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGN1cnJlbnRUYXNrLmNhbGxiYWNrID0gbnVsbDtcbiAgICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFRhc2sucHJpb3JpdHlMZXZlbDtcbiAgICAgIHZhciBkaWRVc2VyQ2FsbGJhY2tUaW1lb3V0ID0gY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWU7XG5cbiAgICAgIHZhciBjb250aW51YXRpb25DYWxsYmFjayA9IGNhbGxiYWNrKGRpZFVzZXJDYWxsYmFja1RpbWVvdXQpO1xuICAgICAgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xuXG4gICAgICBpZiAodHlwZW9mIGNvbnRpbnVhdGlvbkNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGN1cnJlbnRUYXNrLmNhbGxiYWNrID0gY29udGludWF0aW9uQ2FsbGJhY2s7XG4gICAgICB9IGVsc2Uge1xuXG4gICAgICAgIGlmIChjdXJyZW50VGFzayA9PT0gcGVlayh0YXNrUXVldWUpKSB7XG4gICAgICAgICAgcG9wKHRhc2tRdWV1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvcCh0YXNrUXVldWUpO1xuICAgIH1cblxuICAgIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xuICB9IC8vIFJldHVybiB3aGV0aGVyIHRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrXG5cblxuICBpZiAoY3VycmVudFRhc2sgIT09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZmlyc3RUaW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG5cbiAgICBpZiAoZmlyc3RUaW1lciAhPT0gbnVsbCkge1xuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkocHJpb3JpdHlMZXZlbCwgZXZlbnRIYW5kbGVyKSB7XG4gIHN3aXRjaCAocHJpb3JpdHlMZXZlbCkge1xuICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgIGNhc2UgTG93UHJpb3JpdHk6XG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBwcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7XG4gIH1cblxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJpb3JpdHlMZXZlbDtcblxuICB0cnkge1xuICAgIHJldHVybiBldmVudEhhbmRsZXIoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9uZXh0KGV2ZW50SGFuZGxlcikge1xuICB2YXIgcHJpb3JpdHlMZXZlbDtcblxuICBzd2l0Y2ggKGN1cnJlbnRQcmlvcml0eUxldmVsKSB7XG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICAvLyBTaGlmdCBkb3duIHRvIG5vcm1hbCBwcmlvcml0eVxuICAgICAgcHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gQW55dGhpbmcgbG93ZXIgdGhhbiBub3JtYWwgcHJpb3JpdHkgc2hvdWxkIHJlbWFpbiBhdCB0aGUgY3VycmVudCBsZXZlbC5cbiAgICAgIHByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgdmFyIHByZXZpb3VzUHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xuICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZXZlbnRIYW5kbGVyKCk7XG4gIH0gZmluYWxseSB7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XG4gIH1cbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfd3JhcENhbGxiYWNrKGNhbGxiYWNrKSB7XG4gIHZhciBwYXJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgcnVuV2l0aFByaW9yaXR5LCBpbmxpbmVkIGZvciBwZXJmb3JtYW5jZS5cbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwYXJlbnRQcmlvcml0eUxldmVsO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBjYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgdmFyIHN0YXJ0VGltZTtcblxuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwpIHtcbiAgICB2YXIgZGVsYXkgPSBvcHRpb25zLmRlbGF5O1xuXG4gICAgaWYgKHR5cGVvZiBkZWxheSA9PT0gJ251bWJlcicgJiYgZGVsYXkgPiAwKSB7XG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZSArIGRlbGF5O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWU7XG4gIH1cblxuICB2YXIgdGltZW91dDtcblxuICBzd2l0Y2ggKHByaW9yaXR5TGV2ZWwpIHtcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IElNTUVESUFURV9QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IFVTRVJfQkxPQ0tJTkdfUFJJT1JJVFlfVElNRU9VVDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICB0aW1lb3V0ID0gSURMRV9QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIExvd1ByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IExPV19QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgIGRlZmF1bHQ6XG4gICAgICB0aW1lb3V0ID0gTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBleHBpcmF0aW9uVGltZSA9IHN0YXJ0VGltZSArIHRpbWVvdXQ7XG4gIHZhciBuZXdUYXNrID0ge1xuICAgIGlkOiB0YXNrSWRDb3VudGVyKyssXG4gICAgY2FsbGJhY2s6IGNhbGxiYWNrLFxuICAgIHByaW9yaXR5TGV2ZWw6IHByaW9yaXR5TGV2ZWwsXG4gICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsXG4gICAgZXhwaXJhdGlvblRpbWU6IGV4cGlyYXRpb25UaW1lLFxuICAgIHNvcnRJbmRleDogLTFcbiAgfTtcblxuICBpZiAoc3RhcnRUaW1lID4gY3VycmVudFRpbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZGVsYXllZCB0YXNrLlxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gc3RhcnRUaW1lO1xuICAgIHB1c2godGltZXJRdWV1ZSwgbmV3VGFzayk7XG5cbiAgICBpZiAocGVlayh0YXNrUXVldWUpID09PSBudWxsICYmIG5ld1Rhc2sgPT09IHBlZWsodGltZXJRdWV1ZSkpIHtcbiAgICAgIC8vIEFsbCB0YXNrcyBhcmUgZGVsYXllZCwgYW5kIHRoaXMgaXMgdGhlIHRhc2sgd2l0aCB0aGUgZWFybGllc3QgZGVsYXkuXG4gICAgICBpZiAoaXNIb3N0VGltZW91dFNjaGVkdWxlZCkge1xuICAgICAgICAvLyBDYW5jZWwgYW4gZXhpc3RpbmcgdGltZW91dC5cbiAgICAgICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQgPSB0cnVlO1xuICAgICAgfSAvLyBTY2hlZHVsZSBhIHRpbWVvdXQuXG5cblxuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIHN0YXJ0VGltZSAtIGN1cnJlbnRUaW1lKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV3VGFzay5zb3J0SW5kZXggPSBleHBpcmF0aW9uVGltZTtcbiAgICBwdXNoKHRhc2tRdWV1ZSwgbmV3VGFzayk7XG4gICAgLy8gd2FpdCB1bnRpbCB0aGUgbmV4dCB0aW1lIHdlIHlpZWxkLlxuXG5cbiAgICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ld1Rhc2s7XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uKCkge1xufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbigpIHtcblxuICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xuICAgIHJlcXVlc3RIb3N0Q2FsbGJhY2soZmx1c2hXb3JrKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZSgpIHtcbiAgcmV0dXJuIHBlZWsodGFza1F1ZXVlKTtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sodGFzaykge1xuICAvLyByZW1vdmUgZnJvbSB0aGUgcXVldWUgYmVjYXVzZSB5b3UgY2FuJ3QgcmVtb3ZlIGFyYml0cmFyeSBub2RlcyBmcm9tIGFuXG4gIC8vIGFycmF5IGJhc2VkIGhlYXAsIG9ubHkgdGhlIGZpcnN0IG9uZS4pXG5cblxuICB0YXNrLmNhbGxiYWNrID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKSB7XG4gIHJldHVybiBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbn1cblxudmFyIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gZmFsc2U7XG52YXIgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gbnVsbDtcbnZhciB0YXNrVGltZW91dElEID0gLTE7IC8vIFNjaGVkdWxlciBwZXJpb2RpY2FsbHkgeWllbGRzIGluIGNhc2UgdGhlcmUgaXMgb3RoZXIgd29yayBvbiB0aGUgbWFpblxuLy8gdGhyZWFkLCBsaWtlIHVzZXIgZXZlbnRzLiBCeSBkZWZhdWx0LCBpdCB5aWVsZHMgbXVsdGlwbGUgdGltZXMgcGVyIGZyYW1lLlxuLy8gSXQgZG9lcyBub3QgYXR0ZW1wdCB0byBhbGlnbiB3aXRoIGZyYW1lIGJvdW5kYXJpZXMsIHNpbmNlIG1vc3QgdGFza3MgZG9uJ3Rcbi8vIG5lZWQgdG8gYmUgZnJhbWUgYWxpZ25lZDsgZm9yIHRob3NlIHRoYXQgZG8sIHVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuXG5cbnZhciBmcmFtZUludGVydmFsID0gZnJhbWVZaWVsZE1zO1xudmFyIHN0YXJ0VGltZSA9IC0xO1xuXG5mdW5jdGlvbiBzaG91bGRZaWVsZFRvSG9zdCgpIHtcbiAgdmFyIHRpbWVFbGFwc2VkID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKSAtIHN0YXJ0VGltZTtcblxuICBpZiAodGltZUVsYXBzZWQgPCBmcmFtZUludGVydmFsKSB7XG4gICAgLy8gVGhlIG1haW4gdGhyZWFkIGhhcyBvbmx5IGJlZW4gYmxvY2tlZCBmb3IgYSByZWFsbHkgc2hvcnQgYW1vdW50IG9mIHRpbWU7XG4gICAgLy8gc21hbGxlciB0aGFuIGEgc2luZ2xlIGZyYW1lLiBEb24ndCB5aWVsZCB5ZXQuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIFRoZSBtYWluIHRocmVhZCBoYXMgYmVlbiBibG9ja2VkIGZvciBhIG5vbi1uZWdsaWdpYmxlIGFtb3VudCBvZiB0aW1lLiBXZVxuXG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RQYWludCgpIHtcblxufVxuXG5mdW5jdGlvbiBmb3JjZUZyYW1lUmF0ZShmcHMpIHtcbiAgaWYgKGZwcyA8IDAgfHwgZnBzID4gMTI1KSB7XG4gICAgLy8gVXNpbmcgY29uc29sZVsnZXJyb3InXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG4gICAgY29uc29sZVsnZXJyb3InXSgnZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsICcgKyAnZm9yY2luZyBmcmFtZSByYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZnBzID4gMCkge1xuICAgIGZyYW1lSW50ZXJ2YWwgPSBNYXRoLmZsb29yKDEwMDAgLyBmcHMpO1xuICB9IGVsc2Uge1xuICAgIC8vIHJlc2V0IHRoZSBmcmFtZXJhdGVcbiAgICBmcmFtZUludGVydmFsID0gZnJhbWVZaWVsZE1zO1xuICB9XG59XG5cbnZhciBwZXJmb3JtV29ya1VudGlsRGVhZGxpbmUgPSBmdW5jdGlvbiAoKSB7XG4gIGlmIChzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpOyAvLyBLZWVwIHRyYWNrIG9mIHRoZSBzdGFydCB0aW1lIHNvIHdlIGNhbiBtZWFzdXJlIGhvdyBsb25nIHRoZSBtYWluIHRocmVhZFxuICAgIC8vIGhhcyBiZWVuIGJsb2NrZWQuXG5cbiAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICB2YXIgaGFzVGltZVJlbWFpbmluZyA9IHRydWU7IC8vIElmIGEgc2NoZWR1bGVyIHRhc2sgdGhyb3dzLCBleGl0IHRoZSBjdXJyZW50IGJyb3dzZXIgdGFzayBzbyB0aGVcbiAgICAvLyBlcnJvciBjYW4gYmUgb2JzZXJ2ZWQuXG4gICAgLy9cbiAgICAvLyBJbnRlbnRpb25hbGx5IG5vdCB1c2luZyBhIHRyeS1jYXRjaCwgc2luY2UgdGhhdCBtYWtlcyBzb21lIGRlYnVnZ2luZ1xuICAgIC8vIHRlY2huaXF1ZXMgaGFyZGVyLiBJbnN0ZWFkLCBpZiBgc2NoZWR1bGVkSG9zdENhbGxiYWNrYCBlcnJvcnMsIHRoZW5cbiAgICAvLyBgaGFzTW9yZVdvcmtgIHdpbGwgcmVtYWluIHRydWUsIGFuZCB3ZSdsbCBjb250aW51ZSB0aGUgd29yayBsb29wLlxuXG4gICAgdmFyIGhhc01vcmVXb3JrID0gdHJ1ZTtcblxuICAgIHRyeSB7XG4gICAgICBoYXNNb3JlV29yayA9IHNjaGVkdWxlZEhvc3RDYWxsYmFjayhoYXNUaW1lUmVtYWluaW5nLCBjdXJyZW50VGltZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChoYXNNb3JlV29yaykge1xuICAgICAgICAvLyBJZiB0aGVyZSdzIG1vcmUgd29yaywgc2NoZWR1bGUgdGhlIG5leHQgbWVzc2FnZSBldmVudCBhdCB0aGUgZW5kXG4gICAgICAgIC8vIG9mIHRoZSBwcmVjZWRpbmcgb25lLlxuICAgICAgICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcbiAgICAgICAgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcbiAgfSAvLyBZaWVsZGluZyB0byB0aGUgYnJvd3NlciB3aWxsIGdpdmUgaXQgYSBjaGFuY2UgdG8gcGFpbnQsIHNvIHdlIGNhblxufTtcblxudmFyIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG5pZiAodHlwZW9mIGxvY2FsU2V0SW1tZWRpYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIE5vZGUuanMgYW5kIG9sZCBJRS5cbiAgLy8gVGhlcmUncyBhIGZldyByZWFzb25zIGZvciB3aHkgd2UgcHJlZmVyIHNldEltbWVkaWF0ZS5cbiAgLy9cbiAgLy8gVW5saWtlIE1lc3NhZ2VDaGFubmVsLCBpdCBkb2Vzbid0IHByZXZlbnQgYSBOb2RlLmpzIHByb2Nlc3MgZnJvbSBleGl0aW5nLlxuICAvLyAoRXZlbiB0aG91Z2ggdGhpcyBpcyBhIERPTSBmb3JrIG9mIHRoZSBTY2hlZHVsZXIsIHlvdSBjb3VsZCBnZXQgaGVyZVxuICAvLyB3aXRoIGEgbWl4IG9mIE5vZGUuanMgMTUrLCB3aGljaCBoYXMgYSBNZXNzYWdlQ2hhbm5lbCwgYW5kIGpzZG9tLilcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8yMDc1NlxuICAvL1xuICAvLyBCdXQgYWxzbywgaXQgcnVucyBlYXJsaWVyIHdoaWNoIGlzIHRoZSBzZW1hbnRpYyB3ZSB3YW50LlxuICAvLyBJZiBvdGhlciBicm93c2VycyBldmVyIGltcGxlbWVudCBpdCwgaXQncyBiZXR0ZXIgdG8gdXNlIGl0LlxuICAvLyBBbHRob3VnaCBib3RoIG9mIHRoZXNlIHdvdWxkIGJlIGluZmVyaW9yIHRvIG5hdGl2ZSBzY2hlZHVsaW5nLlxuICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBsb2NhbFNldEltbWVkaWF0ZShwZXJmb3JtV29ya1VudGlsRGVhZGxpbmUpO1xuICB9O1xufSBlbHNlIGlmICh0eXBlb2YgTWVzc2FnZUNoYW5uZWwgIT09ICd1bmRlZmluZWQnKSB7XG4gIC8vIERPTSBhbmQgV29ya2VyIGVudmlyb25tZW50cy5cbiAgLy8gV2UgcHJlZmVyIE1lc3NhZ2VDaGFubmVsIGJlY2F1c2Ugb2YgdGhlIDRtcyBzZXRUaW1lb3V0IGNsYW1waW5nLlxuICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICB2YXIgcG9ydCA9IGNoYW5uZWwucG9ydDI7XG4gIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG4gIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lID0gZnVuY3Rpb24gKCkge1xuICAgIHBvcnQucG9zdE1lc3NhZ2UobnVsbCk7XG4gIH07XG59IGVsc2Uge1xuICAvLyBXZSBzaG91bGQgb25seSBmYWxsYmFjayBoZXJlIGluIG5vbi1icm93c2VyIGVudmlyb25tZW50cy5cbiAgc2NoZWR1bGVQZXJmb3JtV29ya1VudGlsRGVhZGxpbmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgbG9jYWxTZXRUaW1lb3V0KHBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSwgMCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RIb3N0Q2FsbGJhY2soY2FsbGJhY2spIHtcbiAgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgaWYgKCFpc01lc3NhZ2VMb29wUnVubmluZykge1xuICAgIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gdHJ1ZTtcbiAgICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RIb3N0VGltZW91dChjYWxsYmFjaywgbXMpIHtcbiAgdGFza1RpbWVvdXRJRCA9IGxvY2FsU2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgY2FsbGJhY2soZXhwb3J0cy51bnN0YWJsZV9ub3coKSk7XG4gIH0sIG1zKTtcbn1cblxuZnVuY3Rpb24gY2FuY2VsSG9zdFRpbWVvdXQoKSB7XG4gIGxvY2FsQ2xlYXJUaW1lb3V0KHRhc2tUaW1lb3V0SUQpO1xuICB0YXNrVGltZW91dElEID0gLTE7XG59XG5cbnZhciB1bnN0YWJsZV9yZXF1ZXN0UGFpbnQgPSByZXF1ZXN0UGFpbnQ7XG52YXIgdW5zdGFibGVfUHJvZmlsaW5nID0gIG51bGw7XG5cbmV4cG9ydHMudW5zdGFibGVfSWRsZVByaW9yaXR5ID0gSWRsZVByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSA9IEltbWVkaWF0ZVByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Mb3dQcmlvcml0eSA9IExvd1ByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSA9IE5vcm1hbFByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Qcm9maWxpbmcgPSB1bnN0YWJsZV9Qcm9maWxpbmc7XG5leHBvcnRzLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5ID0gVXNlckJsb2NraW5nUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrID0gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s7XG5leHBvcnRzLnVuc3RhYmxlX2NvbnRpbnVlRXhlY3V0aW9uID0gdW5zdGFibGVfY29udGludWVFeGVjdXRpb247XG5leHBvcnRzLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlID0gZm9yY2VGcmFtZVJhdGU7XG5leHBvcnRzLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsID0gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw7XG5leHBvcnRzLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlID0gdW5zdGFibGVfZ2V0Rmlyc3RDYWxsYmFja05vZGU7XG5leHBvcnRzLnVuc3RhYmxlX25leHQgPSB1bnN0YWJsZV9uZXh0O1xuZXhwb3J0cy51bnN0YWJsZV9wYXVzZUV4ZWN1dGlvbiA9IHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uO1xuZXhwb3J0cy51bnN0YWJsZV9yZXF1ZXN0UGFpbnQgPSB1bnN0YWJsZV9yZXF1ZXN0UGFpbnQ7XG5leHBvcnRzLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eSA9IHVuc3RhYmxlX3J1bldpdGhQcmlvcml0eTtcbmV4cG9ydHMudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayA9IHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XG5leHBvcnRzLnVuc3RhYmxlX3Nob3VsZFlpZWxkID0gc2hvdWxkWWllbGRUb0hvc3Q7XG5leHBvcnRzLnVuc3RhYmxlX3dyYXBDYWxsYmFjayA9IHVuc3RhYmxlX3dyYXBDYWxsYmFjaztcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/scheduler/cjs/scheduler.development.js\n")); - -/***/ }), - -/***/ "./node_modules/scheduler/index.js": -/*!*****************************************!*\ - !*** ./node_modules/scheduler/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/scheduler.development.js */ \"./node_modules/scheduler/cjs/scheduler.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxtSUFBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci9pbmRleC5qcz9jN2NjIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9zY2hlZHVsZXIucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvc2NoZWR1bGVyLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/scheduler/index.js\n")); - -/***/ }), - -/***/ "?506d": -/*!******************************************!*\ - !*** ./utils/resolve-rewrites (ignored) ***! - \******************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_interop_require_default.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_default; },\n/* harmony export */ _interop_require_default: function() { return /* binding */ _interop_require_default; }\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanM/NzZjYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9O1xufVxuZXhwb3J0IHsgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_interop_require_default.js\n")); - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_interop_require_wildcard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_wildcard.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_wildcard; },\n/* harmony export */ _interop_require_wildcard: function() { return /* binding */ _interop_require_wildcard; }\n/* harmony export */ });\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0EsdUZBQXVGOztBQUV2Rjs7QUFFQTs7QUFFQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUMwQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzP2MxODYiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuXG4gICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5leHBvcnQgZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHJldHVybiBvYmo7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHsgZGVmYXVsdDogb2JqIH07XG5cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuXG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG5cbiAgICB2YXIgbmV3T2JqID0geyBfX3Byb3RvX186IG51bGwgfTtcbiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICAgIGlmIChrZXkgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICAgIHZhciBkZXNjID0gaGFzUHJvcGVydHlEZXNjcmlwdG9yID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGRlc2MgJiYgKGRlc2MuZ2V0IHx8IGRlc2Muc2V0KSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIGVsc2UgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuXG4gICAgaWYgKGNhY2hlKSBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuXG4gICAgcmV0dXJuIG5ld09iajtcbn1cbmV4cG9ydCB7IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\n")); - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _tagged_template_literal_loose; },\n/* harmony export */ _tagged_template_literal_loose: function() { return /* binding */ _tagged_template_literal_loose; }\n/* harmony export */ });\nfunction _tagged_template_literal_loose(strings, raw) {\n if (!raw) raw = strings.slice(0);\n\n strings.raw = raw;\n\n return strings;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7QUFDK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLmpzPzZhNWIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZShzdHJpbmdzLCByYXcpIHtcbiAgICBpZiAoIXJhdykgcmF3ID0gc3RyaW5ncy5zbGljZSgwKTtcblxuICAgIHN0cmluZ3MucmF3ID0gcmF3O1xuXG4gICAgcmV0dXJuIHN0cmluZ3M7XG59XG5leHBvcnQgeyBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/client/next-dev.js")); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/pages/_app.js b/.next/static/chunks/pages/_app.js deleted file mode 100644 index 5faf5cf..0000000 --- a/.next/static/chunks/pages/_app.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_app"],{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!": -/*!********************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app! ***! - \********************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_app\",\n function () {\n return __webpack_require__(/*! next/dist/pages/_app */ \"./node_modules/next/dist/pages/_app.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_app\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD1uZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2FwcCZwYWdlPSUyRl9hcHAhIiwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1CQUFPLENBQUMsb0VBQXNCO0FBQzdDO0FBQ0E7QUFDQSxPQUFPLElBQVU7QUFDakIsTUFBTSxVQUFVO0FBQ2hCO0FBQ0EsT0FBTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz85NDE3Il0sInNvdXJjZXNDb250ZW50IjpbIlxuICAgICh3aW5kb3cuX19ORVhUX1AgPSB3aW5kb3cuX19ORVhUX1AgfHwgW10pLnB1c2goW1xuICAgICAgXCIvX2FwcFwiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIm5leHQvZGlzdC9wYWdlcy9fYXBwXCIpO1xuICAgICAgfVxuICAgIF0pO1xuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdpbmRvdy5fX05FWFRfUC5wdXNoKFtcIi9fYXBwXCJdKVxuICAgICAgfSk7XG4gICAgfVxuICAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"), __webpack_exec__("./node_modules/next/dist/client/router.js"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/pages/_error.js b/.next/static/chunks/pages/_error.js deleted file mode 100644 index 8b12bd3..0000000 --- a/.next/static/chunks/pages/_error.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_error"],{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!": -/*!************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error! ***! - \************************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_error\",\n function () {\n return __webpack_require__(/*! next/dist/pages/_error */ \"./node_modules/next/dist/pages/_error.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_error\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD1uZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2Vycm9yJnBhZ2U9JTJGX2Vycm9yISIsIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLHdFQUF3QjtBQUMvQztBQUNBO0FBQ0EsT0FBTyxJQUFVO0FBQ2pCLE1BQU0sVUFBVTtBQUNoQjtBQUNBLE9BQU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8/MDgwMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICAod2luZG93Ll9fTkVYVF9QID0gd2luZG93Ll9fTkVYVF9QIHx8IFtdKS5wdXNoKFtcbiAgICAgIFwiL19lcnJvclwiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIm5leHQvZGlzdC9wYWdlcy9fZXJyb3JcIik7XG4gICAgICB9XG4gICAgXSk7XG4gICAgaWYobW9kdWxlLmhvdCkge1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2luZG93Ll9fTkVYVF9QLnB1c2goW1wiL19lcnJvclwiXSlcbiAgICAgIH0pO1xuICAgIH1cbiAgIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["pages/_app","main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/react-refresh.js b/.next/static/chunks/react-refresh.js deleted file mode 100644 index 8dbd42d..0000000 --- a/.next/static/chunks/react-refresh.js +++ /dev/null @@ -1,62 +0,0 @@ -// runtime can't be in strict mode because a global variable is assign and maybe created. -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["react-refresh"],{ - -/***/ "./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js ***! - \********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n/**\n * MIT License\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// This file is copied from the Metro JavaScript bundler, with minor tweaks for\n// webpack 4 compatibility.\n//\n// https://github.com/facebook/metro/blob/d6b9685c730d0d63577db40f41369157f28dfa3a/packages/metro/src/lib/polyfills/require.js\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nfunction isSafeExport(key) {\n return (key === '__esModule' ||\n key === '__N_SSG' ||\n key === '__N_SSP' ||\n // TODO: remove this key from page config instead of allow listing it\n key === 'config');\n}\nfunction registerExportsForReactRefresh(moduleExports, moduleID) {\n runtime_1.default.register(moduleExports, moduleID + ' %exports%');\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n continue;\n }\n var typeID = moduleID + ' %exports% ' + key;\n runtime_1.default.register(exportValue, typeID);\n }\n}\nfunction getRefreshBoundarySignature(moduleExports) {\n var signature = [];\n signature.push(runtime_1.default.getFamilyByType(moduleExports));\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return signature;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n continue;\n }\n signature.push(key);\n signature.push(runtime_1.default.getFamilyByType(exportValue));\n }\n return signature;\n}\nfunction isReactRefreshBoundary(moduleExports) {\n if (runtime_1.default.isLikelyComponentType(moduleExports)) {\n return true;\n }\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n return false;\n }\n var hasExports = false;\n var areAllExportsComponents = true;\n for (var key in moduleExports) {\n hasExports = true;\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n return false;\n }\n if (!runtime_1.default.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n return hasExports && areAllExportsComponents;\n}\nfunction shouldInvalidateReactRefreshBoundary(prevSignature, nextSignature) {\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n for (var i = 0; i < nextSignature.length; i++) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n return false;\n}\nvar isUpdateScheduled = false;\n// This function aggregates updates from multiple modules into a single React Refresh call.\nfunction scheduleUpdate() {\n if (isUpdateScheduled) {\n return;\n }\n isUpdateScheduled = true;\n function canApplyUpdate(status) {\n return status === 'idle';\n }\n function applyUpdate() {\n isUpdateScheduled = false;\n try {\n runtime_1.default.performReactRefresh();\n }\n catch (err) {\n console.warn('Warning: Failed to re-render. We will retry on the next Fast Refresh event.\\n' +\n err);\n }\n }\n if (canApplyUpdate(module.hot.status())) {\n // Apply update on the next tick.\n Promise.resolve().then(() => {\n applyUpdate();\n });\n return;\n }\n const statusHandler = (status) => {\n if (canApplyUpdate(status)) {\n module.hot.removeStatusHandler(statusHandler);\n applyUpdate();\n }\n };\n // Apply update once the HMR runtime's status is idle.\n module.hot.addStatusHandler(statusHandler);\n}\n// Needs to be compatible with IE11\nexports[\"default\"] = {\n registerExportsForReactRefresh: registerExportsForReactRefresh,\n isReactRefreshBoundary: isReactRefreshBoundary,\n shouldInvalidateReactRefreshBoundary: shouldInvalidateReactRefreshBoundary,\n getRefreshBoundarySignature: getRefreshBoundarySignature,\n scheduleUpdate: scheduleUpdate,\n};\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LXJlZnJlc2gtdXRpbHMvZGlzdC9pbnRlcm5hbC9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLG1CQUFPLENBQUMsNEdBQTBDO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDBCQUEwQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLFVBQVU7QUFDakM7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxVQUFVO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxVQUFVO0FBQ2Q7QUFDQTtBQUNBLGtCQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9AbmV4dC9yZWFjdC1yZWZyZXNoLXV0aWxzL2Rpc3QvaW50ZXJuYWwvaGVscGVycy5qcz80MDNjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLyoqXG4gKiBNSVQgTGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8vIFRoaXMgZmlsZSBpcyBjb3BpZWQgZnJvbSB0aGUgTWV0cm8gSmF2YVNjcmlwdCBidW5kbGVyLCB3aXRoIG1pbm9yIHR3ZWFrcyBmb3Jcbi8vIHdlYnBhY2sgNCBjb21wYXRpYmlsaXR5LlxuLy9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9tZXRyby9ibG9iL2Q2Yjk2ODVjNzMwZDBkNjM1NzdkYjQwZjQxMzY5MTU3ZjI4ZGZhM2EvcGFja2FnZXMvbWV0cm8vc3JjL2xpYi9wb2x5ZmlsbHMvcmVxdWlyZS5qc1xuY29uc3QgcnVudGltZV8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtcmVmcmVzaC9ydW50aW1lXCIpKTtcbmZ1bmN0aW9uIGlzU2FmZUV4cG9ydChrZXkpIHtcbiAgICByZXR1cm4gKGtleSA9PT0gJ19fZXNNb2R1bGUnIHx8XG4gICAgICAgIGtleSA9PT0gJ19fTl9TU0cnIHx8XG4gICAgICAgIGtleSA9PT0gJ19fTl9TU1AnIHx8XG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIGtleSBmcm9tIHBhZ2UgY29uZmlnIGluc3RlYWQgb2YgYWxsb3cgbGlzdGluZyBpdFxuICAgICAgICBrZXkgPT09ICdjb25maWcnKTtcbn1cbmZ1bmN0aW9uIHJlZ2lzdGVyRXhwb3J0c0ZvclJlYWN0UmVmcmVzaChtb2R1bGVFeHBvcnRzLCBtb2R1bGVJRCkge1xuICAgIHJ1bnRpbWVfMS5kZWZhdWx0LnJlZ2lzdGVyKG1vZHVsZUV4cG9ydHMsIG1vZHVsZUlEICsgJyAlZXhwb3J0cyUnKTtcbiAgICBpZiAobW9kdWxlRXhwb3J0cyA9PSBudWxsIHx8IHR5cGVvZiBtb2R1bGVFeHBvcnRzICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyBFeGl0IGlmIHdlIGNhbid0IGl0ZXJhdGUgb3ZlciBleHBvcnRzLlxuICAgICAgICAvLyAoVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGxlZ2FjeSBlbnZpcm9ubWVudHMuKVxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAodmFyIGtleSBpbiBtb2R1bGVFeHBvcnRzKSB7XG4gICAgICAgIGlmIChpc1NhZmVFeHBvcnQoa2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBleHBvcnRWYWx1ZSA9IG1vZHVsZUV4cG9ydHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgbWlnaHQgZmFpbCBkdWUgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdHlwZUlEID0gbW9kdWxlSUQgKyAnICVleHBvcnRzJSAnICsga2V5O1xuICAgICAgICBydW50aW1lXzEuZGVmYXVsdC5yZWdpc3RlcihleHBvcnRWYWx1ZSwgdHlwZUlEKTtcbiAgICB9XG59XG5mdW5jdGlvbiBnZXRSZWZyZXNoQm91bmRhcnlTaWduYXR1cmUobW9kdWxlRXhwb3J0cykge1xuICAgIHZhciBzaWduYXR1cmUgPSBbXTtcbiAgICBzaWduYXR1cmUucHVzaChydW50aW1lXzEuZGVmYXVsdC5nZXRGYW1pbHlCeVR5cGUobW9kdWxlRXhwb3J0cykpO1xuICAgIGlmIChtb2R1bGVFeHBvcnRzID09IG51bGwgfHwgdHlwZW9mIG1vZHVsZUV4cG9ydHMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIC8vIEV4aXQgaWYgd2UgY2FuJ3QgaXRlcmF0ZSBvdmVyIGV4cG9ydHMuXG4gICAgICAgIC8vIChUaGlzIGlzIGltcG9ydGFudCBmb3IgbGVnYWN5IGVudmlyb25tZW50cy4pXG4gICAgICAgIHJldHVybiBzaWduYXR1cmU7XG4gICAgfVxuICAgIGZvciAodmFyIGtleSBpbiBtb2R1bGVFeHBvcnRzKSB7XG4gICAgICAgIGlmIChpc1NhZmVFeHBvcnQoa2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBleHBvcnRWYWx1ZSA9IG1vZHVsZUV4cG9ydHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgbWlnaHQgZmFpbCBkdWUgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBzaWduYXR1cmUucHVzaChrZXkpO1xuICAgICAgICBzaWduYXR1cmUucHVzaChydW50aW1lXzEuZGVmYXVsdC5nZXRGYW1pbHlCeVR5cGUoZXhwb3J0VmFsdWUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbn1cbmZ1bmN0aW9uIGlzUmVhY3RSZWZyZXNoQm91bmRhcnkobW9kdWxlRXhwb3J0cykge1xuICAgIGlmIChydW50aW1lXzEuZGVmYXVsdC5pc0xpa2VseUNvbXBvbmVudFR5cGUobW9kdWxlRXhwb3J0cykpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChtb2R1bGVFeHBvcnRzID09IG51bGwgfHwgdHlwZW9mIG1vZHVsZUV4cG9ydHMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIC8vIEV4aXQgaWYgd2UgY2FuJ3QgaXRlcmF0ZSBvdmVyIGV4cG9ydHMuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdmFyIGhhc0V4cG9ydHMgPSBmYWxzZTtcbiAgICB2YXIgYXJlQWxsRXhwb3J0c0NvbXBvbmVudHMgPSB0cnVlO1xuICAgIGZvciAodmFyIGtleSBpbiBtb2R1bGVFeHBvcnRzKSB7XG4gICAgICAgIGhhc0V4cG9ydHMgPSB0cnVlO1xuICAgICAgICBpZiAoaXNTYWZlRXhwb3J0KGtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgZXhwb3J0VmFsdWUgPSBtb2R1bGVFeHBvcnRzW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKF9hKSB7XG4gICAgICAgICAgICAvLyBUaGlzIG1pZ2h0IGZhaWwgZHVlIHRvIGNpcmN1bGFyIGRlcGVuZGVuY2llc1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcnVudGltZV8xLmRlZmF1bHQuaXNMaWtlbHlDb21wb25lbnRUeXBlKGV4cG9ydFZhbHVlKSkge1xuICAgICAgICAgICAgYXJlQWxsRXhwb3J0c0NvbXBvbmVudHMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaGFzRXhwb3J0cyAmJiBhcmVBbGxFeHBvcnRzQ29tcG9uZW50cztcbn1cbmZ1bmN0aW9uIHNob3VsZEludmFsaWRhdGVSZWFjdFJlZnJlc2hCb3VuZGFyeShwcmV2U2lnbmF0dXJlLCBuZXh0U2lnbmF0dXJlKSB7XG4gICAgaWYgKHByZXZTaWduYXR1cmUubGVuZ3RoICE9PSBuZXh0U2lnbmF0dXJlLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXh0U2lnbmF0dXJlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChwcmV2U2lnbmF0dXJlW2ldICE9PSBuZXh0U2lnbmF0dXJlW2ldKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG52YXIgaXNVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbi8vIFRoaXMgZnVuY3Rpb24gYWdncmVnYXRlcyB1cGRhdGVzIGZyb20gbXVsdGlwbGUgbW9kdWxlcyBpbnRvIGEgc2luZ2xlIFJlYWN0IFJlZnJlc2ggY2FsbC5cbmZ1bmN0aW9uIHNjaGVkdWxlVXBkYXRlKCkge1xuICAgIGlmIChpc1VwZGF0ZVNjaGVkdWxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlzVXBkYXRlU2NoZWR1bGVkID0gdHJ1ZTtcbiAgICBmdW5jdGlvbiBjYW5BcHBseVVwZGF0ZShzdGF0dXMpIHtcbiAgICAgICAgcmV0dXJuIHN0YXR1cyA9PT0gJ2lkbGUnO1xuICAgIH1cbiAgICBmdW5jdGlvbiBhcHBseVVwZGF0ZSgpIHtcbiAgICAgICAgaXNVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJ1bnRpbWVfMS5kZWZhdWx0LnBlcmZvcm1SZWFjdFJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1dhcm5pbmc6IEZhaWxlZCB0byByZS1yZW5kZXIuIFdlIHdpbGwgcmV0cnkgb24gdGhlIG5leHQgRmFzdCBSZWZyZXNoIGV2ZW50LlxcbicgK1xuICAgICAgICAgICAgICAgIGVycik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNhbkFwcGx5VXBkYXRlKG1vZHVsZS5ob3Quc3RhdHVzKCkpKSB7XG4gICAgICAgIC8vIEFwcGx5IHVwZGF0ZSBvbiB0aGUgbmV4dCB0aWNrLlxuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGFwcGx5VXBkYXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0YXR1c0hhbmRsZXIgPSAoc3RhdHVzKSA9PiB7XG4gICAgICAgIGlmIChjYW5BcHBseVVwZGF0ZShzdGF0dXMpKSB7XG4gICAgICAgICAgICBtb2R1bGUuaG90LnJlbW92ZVN0YXR1c0hhbmRsZXIoc3RhdHVzSGFuZGxlcik7XG4gICAgICAgICAgICBhcHBseVVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvLyBBcHBseSB1cGRhdGUgb25jZSB0aGUgSE1SIHJ1bnRpbWUncyBzdGF0dXMgaXMgaWRsZS5cbiAgICBtb2R1bGUuaG90LmFkZFN0YXR1c0hhbmRsZXIoc3RhdHVzSGFuZGxlcik7XG59XG4vLyBOZWVkcyB0byBiZSBjb21wYXRpYmxlIHdpdGggSUUxMVxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIHJlZ2lzdGVyRXhwb3J0c0ZvclJlYWN0UmVmcmVzaDogcmVnaXN0ZXJFeHBvcnRzRm9yUmVhY3RSZWZyZXNoLFxuICAgIGlzUmVhY3RSZWZyZXNoQm91bmRhcnk6IGlzUmVhY3RSZWZyZXNoQm91bmRhcnksXG4gICAgc2hvdWxkSW52YWxpZGF0ZVJlYWN0UmVmcmVzaEJvdW5kYXJ5OiBzaG91bGRJbnZhbGlkYXRlUmVhY3RSZWZyZXNoQm91bmRhcnksXG4gICAgZ2V0UmVmcmVzaEJvdW5kYXJ5U2lnbmF0dXJlOiBnZXRSZWZyZXNoQm91bmRhcnlTaWduYXR1cmUsXG4gICAgc2NoZWR1bGVVcGRhdGU6IHNjaGVkdWxlVXBkYXRlLFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nconst helpers_1 = __importDefault(__webpack_require__(/*! ./internal/helpers */ \"./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\"));\n// Hook into ReactDOM initialization\nruntime_1.default.injectIntoGlobalHook(self);\n// Register global helpers\nself.$RefreshHelpers$ = helpers_1.default;\n// Register a helper for module execution interception\nself.$RefreshInterceptModuleExecution$ = function (webpackModuleId) {\n var prevRefreshReg = self.$RefreshReg$;\n var prevRefreshSig = self.$RefreshSig$;\n self.$RefreshReg$ = function (type, id) {\n runtime_1.default.register(type, webpackModuleId + ' ' + id);\n };\n self.$RefreshSig$ = runtime_1.default.createSignatureFunctionForTransform;\n // Modeled after `useEffect` cleanup pattern:\n // https://react.dev/learn/synchronizing-with-effects#step-3-add-cleanup-if-needed\n return function () {\n self.$RefreshReg$ = prevRefreshReg;\n self.$RefreshSig$ = prevRefreshSig;\n };\n};\n//# sourceMappingURL=runtime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LXJlZnJlc2gtdXRpbHMvZGlzdC9ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0NBQWtDLG1CQUFPLENBQUMsNEdBQTBDO0FBQ3BGLGtDQUFrQyxtQkFBTyxDQUFDLGdIQUFvQjtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtcmVmcmVzaC11dGlscy9kaXN0L3J1bnRpbWUuanM/OGFiNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmNvbnN0IHJ1bnRpbWVfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvcnVudGltZVwiKSk7XG5jb25zdCBoZWxwZXJzXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIi4vaW50ZXJuYWwvaGVscGVyc1wiKSk7XG4vLyBIb29rIGludG8gUmVhY3RET00gaW5pdGlhbGl6YXRpb25cbnJ1bnRpbWVfMS5kZWZhdWx0LmluamVjdEludG9HbG9iYWxIb29rKHNlbGYpO1xuLy8gUmVnaXN0ZXIgZ2xvYmFsIGhlbHBlcnNcbnNlbGYuJFJlZnJlc2hIZWxwZXJzJCA9IGhlbHBlcnNfMS5kZWZhdWx0O1xuLy8gUmVnaXN0ZXIgYSBoZWxwZXIgZm9yIG1vZHVsZSBleGVjdXRpb24gaW50ZXJjZXB0aW9uXG5zZWxmLiRSZWZyZXNoSW50ZXJjZXB0TW9kdWxlRXhlY3V0aW9uJCA9IGZ1bmN0aW9uICh3ZWJwYWNrTW9kdWxlSWQpIHtcbiAgICB2YXIgcHJldlJlZnJlc2hSZWcgPSBzZWxmLiRSZWZyZXNoUmVnJDtcbiAgICB2YXIgcHJldlJlZnJlc2hTaWcgPSBzZWxmLiRSZWZyZXNoU2lnJDtcbiAgICBzZWxmLiRSZWZyZXNoUmVnJCA9IGZ1bmN0aW9uICh0eXBlLCBpZCkge1xuICAgICAgICBydW50aW1lXzEuZGVmYXVsdC5yZWdpc3Rlcih0eXBlLCB3ZWJwYWNrTW9kdWxlSWQgKyAnICcgKyBpZCk7XG4gICAgfTtcbiAgICBzZWxmLiRSZWZyZXNoU2lnJCA9IHJ1bnRpbWVfMS5kZWZhdWx0LmNyZWF0ZVNpZ25hdHVyZUZ1bmN0aW9uRm9yVHJhbnNmb3JtO1xuICAgIC8vIE1vZGVsZWQgYWZ0ZXIgYHVzZUVmZmVjdGAgY2xlYW51cCBwYXR0ZXJuOlxuICAgIC8vIGh0dHBzOi8vcmVhY3QuZGV2L2xlYXJuL3N5bmNocm9uaXppbmctd2l0aC1lZmZlY3RzI3N0ZXAtMy1hZGQtY2xlYW51cC1pZi1uZWVkZWRcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICBzZWxmLiRSZWZyZXNoUmVnJCA9IHByZXZSZWZyZXNoUmVnO1xuICAgICAgICBzZWxmLiRSZWZyZXNoU2lnJCA9IHByZXZSZWZyZXNoU2lnO1xuICAgIH07XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cnVudGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js ***! - \************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-refresh-runtime.development.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\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\n\nvar PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.\n// It's OK to reference families, but use WeakMap/Set for types.\n\nvar allFamiliesByID = new Map();\nvar allFamiliesByType = new PossiblyWeakMap();\nvar allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families\n// that have actually been edited here. This keeps checks fast.\n// $FlowIssue\n\nvar updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.\n// It is an array of [Family, NextType] tuples.\n\nvar pendingUpdates = []; // This is injected by the renderer via DevTools global hook.\n\nvar helpersByRendererID = new Map();\nvar helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.\n\nvar mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.\n\nvar failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.\n// It needs to be weak because we do this even for roots that failed to mount.\n// If there is no WeakMap, we won't attempt to do retrying.\n// $FlowIssue\n\nvar rootElements = // $FlowIssue\ntypeof WeakMap === 'function' ? new WeakMap() : null;\nvar isPerformingRefresh = false;\n\nfunction computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n\n var fullKey = signature.ownKey;\n var hooks;\n\n try {\n hooks = signature.getCustomHooks();\n } catch (err) {\n // This can happen in an edge case, e.g. if expression like Foo.useSomething\n // depends on Foo which is lazily initialized during rendering.\n // In that case just assume we'll have to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n\n if (typeof hook !== 'function') {\n // Something's wrong. Assume we need to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n var nestedHookSignature = allSignaturesByType.get(hook);\n\n if (nestedHookSignature === undefined) {\n // No signature means Hook wasn't in the source code, e.g. in a library.\n // We'll skip it because we can assume it won't change during this session.\n continue;\n }\n\n var nestedHookKey = computeFullKey(nestedHookSignature);\n\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n\n fullKey += '\\n---\\n' + nestedHookKey;\n }\n\n signature.fullKey = fullKey;\n return fullKey;\n}\n\nfunction haveEqualSignatures(prevType, nextType) {\n var prevSignature = allSignaturesByType.get(prevType);\n var nextSignature = allSignaturesByType.get(nextType);\n\n if (prevSignature === undefined && nextSignature === undefined) {\n return true;\n }\n\n if (prevSignature === undefined || nextSignature === undefined) {\n return false;\n }\n\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n\n if (nextSignature.forceReset) {\n return false;\n }\n\n return true;\n}\n\nfunction isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n}\n\nfunction canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n\n return false;\n}\n\nfunction resolveFamily(type) {\n // Only check updated types to keep lookups fast.\n return updatedFamiliesByType.get(type);\n} // If we didn't care about IE11, we could use new Map/Set(iterable).\n\n\nfunction cloneMap(map) {\n var clone = new Map();\n map.forEach(function (value, key) {\n clone.set(key, value);\n });\n return clone;\n}\n\nfunction cloneSet(set) {\n var clone = new Set();\n set.forEach(function (value) {\n clone.add(value);\n });\n return clone;\n} // This is a safety mechanism to protect against rogue getters and Proxies.\n\n\nfunction getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n // Intentionally ignore.\n return undefined;\n }\n}\n\nfunction performReactRefresh() {\n\n if (pendingUpdates.length === 0) {\n return null;\n }\n\n if (isPerformingRefresh) {\n return null;\n }\n\n isPerformingRefresh = true;\n\n try {\n var staleFamilies = new Set();\n var updatedFamilies = new Set();\n var updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(function (_ref) {\n var family = _ref[0],\n nextType = _ref[1];\n // Now that we got a real edit, we can create associations\n // that will be read by the React reconciler.\n var prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType; // Determine whether this should be a re-render or a re-mount.\n\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n }); // TODO: rename these fields to something more meaningful.\n\n var update = {\n updatedFamilies: updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies: staleFamilies // Families that will be remounted\n\n };\n helpersByRendererID.forEach(function (helpers) {\n // Even if there are no roots, set the handler on first update.\n // This ensures that if *new* roots are mounted, they'll use the resolve handler.\n helpers.setRefreshHandler(resolveFamily);\n });\n var didError = false;\n var firstError = null; // We snapshot maps and sets that are mutated during commits.\n // If we don't do this, there is a risk they will be mutated while\n // we iterate over them. For example, trying to recover a failed root\n // may cause another root to be added to the failed list -- an infinite loop.\n\n var failedRootsSnapshot = cloneSet(failedRoots);\n var mountedRootsSnapshot = cloneSet(mountedRoots);\n var helpersByRootSnapshot = cloneMap(helpersByRoot);\n failedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!failedRoots.has(root)) {// No longer failed.\n }\n\n if (rootElements === null) {\n return;\n }\n\n if (!rootElements.has(root)) {\n return;\n }\n\n var element = rootElements.get(root);\n\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n mountedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!mountedRoots.has(root)) {// No longer mounted.\n }\n\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n\n if (didError) {\n throw firstError;\n }\n\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n}\nfunction register(type, id) {\n {\n if (type === null) {\n return;\n }\n\n if (typeof type !== 'function' && typeof type !== 'object') {\n return;\n } // This can happen in an edge case, e.g. if we register\n // return value of a HOC but it returns a cached component.\n // Ignore anything but the first registration for each type.\n\n\n if (allFamiliesByType.has(type)) {\n return;\n } // Create family or remember to update it.\n // None of this bookkeeping affects reconciliation\n // until the first performReactRefresh() call above.\n\n\n var family = allFamiliesByID.get(id);\n\n if (family === undefined) {\n family = {\n current: type\n };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n\n allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + '$render');\n break;\n\n case REACT_MEMO_TYPE:\n register(type.type, id + '$type');\n break;\n }\n }\n }\n}\nfunction setSignature(type, key) {\n var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;\n\n {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset: forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || function () {\n return [];\n }\n });\n } // Visit inner types because we might not have signed them.\n\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n }\n} // This is lazily called during first render for a type.\n// It captures Hook list at that time so inline requires don't break comparisons.\n\nfunction collectCustomHooksForSignature(type) {\n {\n var signature = allSignaturesByType.get(type);\n\n if (signature !== undefined) {\n computeFullKey(signature);\n }\n }\n}\nfunction getFamilyByID(id) {\n {\n return allFamiliesByID.get(id);\n }\n}\nfunction getFamilyByType(type) {\n {\n return allFamiliesByType.get(type);\n }\n}\nfunction findAffectedHostInstances(families) {\n {\n var affectedInstances = new Set();\n mountedRoots.forEach(function (root) {\n var helpers = helpersByRoot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);\n instancesForRoot.forEach(function (inst) {\n affectedInstances.add(inst);\n });\n });\n return affectedInstances;\n }\n}\nfunction injectIntoGlobalHook(globalObject) {\n {\n // For React Native, the global hook will be set up by require('react-devtools-core').\n // That code will run before us. So we need to monkeypatch functions on existing hook.\n // For React Web, the global hook will be set up by the extension.\n // This will also run before us.\n var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook === undefined) {\n // However, if there is no DevTools extension, we'll need to set up the global hook ourselves.\n // Note that in this case it's important that renderer code runs *after* this method call.\n // Otherwise, the renderer will think that there is no global hook, and won't do the injection.\n var nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: new Map(),\n supportsFiber: true,\n inject: function (injected) {\n return nextID++;\n },\n onScheduleFiberRoot: function (id, root, children) {},\n onCommitFiberRoot: function (id, root, maybePriorityLevel, didError) {},\n onCommitFiberUnmount: function () {}\n };\n }\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // Using console['warn'] to evade Babel and ESLint\n console['warn']('Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). ' + 'Fast Refresh is not compatible with this shim and will be disabled.');\n return;\n } // Here, we just want to get a reference to scheduleRefresh.\n\n\n var oldInject = hook.inject;\n\n hook.inject = function (injected) {\n var id = oldInject.apply(this, arguments);\n\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n\n return id;\n }; // Do the same for any already injected roots.\n // This is useful if ReactDOM has already been initialized.\n // https://github.com/facebook/react/issues/17626\n\n\n hook.renderers.forEach(function (injected, id) {\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n }); // We also want to track currently mounted roots.\n\n var oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n\n var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function () {};\n\n hook.onScheduleFiberRoot = function (id, root, children) {\n if (!isPerformingRefresh) {\n // If it was intentionally scheduled, don't attempt to restore.\n // This includes intentionally scheduled unmounts.\n failedRoots.delete(root);\n\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n\n hook.onCommitFiberRoot = function (id, root, maybePriorityLevel, didError) {\n var helpers = helpersByRendererID.get(id);\n\n if (helpers !== undefined) {\n helpersByRoot.set(root, helpers);\n var current = root.current;\n var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.\n // This logic is copy-pasted from similar logic in the DevTools backend.\n // If this breaks with some refactoring, you'll want to update DevTools too.\n\n if (alternate !== null) {\n var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null && mountedRoots.has(root);\n var isMounted = current.memoizedState != null && current.memoizedState.element != null;\n\n if (!wasMounted && isMounted) {\n // Mount a new root.\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) ; else if (wasMounted && !isMounted) {\n // Unmount an existing root.\n mountedRoots.delete(root);\n\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n }\n }\n } else {\n // Mount a new root.\n mountedRoots.add(root);\n }\n } // Always call the decorated DevTools hook.\n\n\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n }\n}\nfunction hasUnrecoverableErrors() {\n // TODO: delete this after removing dependency in RN.\n return false;\n} // Exposed for testing.\n\nfunction _getMountedRootCount() {\n {\n return mountedRoots.size;\n }\n} // This is a wrapper over more primitive functions for setting signature.\n// Signatures let us decide whether the Hook order has changed on refresh.\n//\n// This function is intended to be used as a transform target, e.g.:\n// var _s = createSignatureFunctionForTransform()\n//\n// function Hello() {\n// const [foo, setFoo] = useState(0);\n// const value = useCustomHook();\n// _s(); /* Call without arguments triggers collecting the custom Hook list.\n// * This doesn't happen during the module evaluation because we\n// * don't want to change the module order with inline requires.\n// * Next calls are noops. */\n// return <h1>Hi</h1>;\n// }\n//\n// /* Call with arguments attaches the signature to the type: */\n// _s(\n// Hello,\n// 'useState{[foo, setFoo]}(0)',\n// () => [useCustomHook], /* Lazy to avoid triggering inline requires */\n// );\n\nfunction createSignatureFunctionForTransform() {\n {\n var savedType;\n var hasCustomHooks;\n var didCollectHooks = false;\n return function (type, key, forceReset, getCustomHooks) {\n if (typeof key === 'string') {\n // We're in the initial phase that associates signatures\n // with the functions. Note this may be called multiple times\n // in HOC chains like _s(hoc1(_s(hoc2(_s(actualFunction))))).\n if (!savedType) {\n // We're in the innermost call, so this is the actual type.\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === 'function';\n } // Set the signature for all types (even wrappers!) in case\n // they have no signatures of their own. This is to prevent\n // problems like https://github.com/facebook/react/issues/20417.\n\n\n if (type != null && (typeof type === 'function' || typeof type === 'object')) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n\n return type;\n } else {\n // We're in the _s() call without arguments, which means\n // this is the time to collect custom Hook signatures.\n // Only do this once. This path is hot and runs *inside* every render!\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n }\n };\n }\n}\nfunction isLikelyComponentType(type) {\n {\n switch (typeof type) {\n case 'function':\n {\n // First, deal with classes.\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n // React class.\n return true;\n }\n\n var ownNames = Object.getOwnPropertyNames(type.prototype);\n\n if (ownNames.length > 1 || ownNames[0] !== 'constructor') {\n // This looks like a class.\n return false;\n } // eslint-disable-next-line no-proto\n\n\n if (type.prototype.__proto__ !== Object.prototype) {\n // It has a superclass.\n return false;\n } // Pass through.\n // This looks like a regular function with empty prototype.\n\n } // For plain functions and arrows, use name as a heuristic.\n\n\n var name = type.name || type.displayName;\n return typeof name === 'string' && /^[A-Z]/.test(name);\n }\n\n case 'object':\n {\n if (type != null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n // Definitely React components.\n return true;\n\n default:\n return false;\n }\n }\n\n return false;\n }\n\n default:\n {\n return false;\n }\n }\n }\n}\n\nexports._getMountedRootCount = _getMountedRootCount;\nexports.collectCustomHooksForSignature = collectCustomHooksForSignature;\nexports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;\nexports.findAffectedHostInstances = findAffectedHostInstances;\nexports.getFamilyByID = getFamilyByID;\nexports.getFamilyByType = getFamilyByType;\nexports.hasUnrecoverableErrors = hasUnrecoverableErrors;\nexports.injectIntoGlobalHook = injectIntoGlobalHook;\nexports.isLikelyComponentType = isLikelyComponentType;\nexports.performReactRefresh = performReactRefresh;\nexports.register = register;\nexports.setSignature = setSignature;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvY2pzL3JlYWN0LXJlZnJlc2gtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxRUFBcUU7QUFDckU7O0FBRUE7QUFDQTtBQUNBLGlEQUFpRDtBQUNqRDtBQUNBOztBQUVBLG1EQUFtRDtBQUNuRDs7QUFFQSx5QkFBeUI7O0FBRXpCO0FBQ0EsK0JBQStCOztBQUUvQiw4QkFBOEI7O0FBRTlCLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0Isa0JBQWtCO0FBQ3BDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxJ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QSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGNBQWM7QUFDN0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjOzs7QUFHZDtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7O0FBRUEsWUFBWTs7O0FBR1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0QkFBNEI7QUFDNUIsc0NBQXNDO0FBQ3RDLDJDQUEyQztBQUMzQyxpQ0FBaUM7QUFDakMscUJBQXFCO0FBQ3JCLHVCQUF1QjtBQUN2Qiw4QkFBOEI7QUFDOUIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQixHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1yZWZyZXNoL2Nqcy9yZWFjdC1yZWZyZXNoLXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanM/N2U4NCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1yZWZyZXNoLXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG4vLyBBVFRFTlRJT05cbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG5cbnZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7IC8vIFdlIG5ldmVyIHJlbW92ZSB0aGVzZSBhc3NvY2lhdGlvbnMuXG4vLyBJdCdzIE9LIHRvIHJlZmVyZW5jZSBmYW1pbGllcywgYnV0IHVzZSBXZWFrTWFwL1NldCBmb3IgdHlwZXMuXG5cbnZhciBhbGxGYW1pbGllc0J5SUQgPSBuZXcgTWFwKCk7XG52YXIgYWxsRmFtaWxpZXNCeVR5cGUgPSBuZXcgUG9zc2libHlXZWFrTWFwKCk7XG52YXIgYWxsU2lnbmF0dXJlc0J5VHlwZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTsgLy8gVGhpcyBXZWFrTWFwIGlzIHJlYWQgYnkgUmVhY3QsIHNvIHdlIG9ubHkgcHV0IGZhbWlsaWVzXG4vLyB0aGF0IGhhdmUgYWN0dWFsbHkgYmVlbiBlZGl0ZWQgaGVyZS4gVGhpcyBrZWVwcyBjaGVja3MgZmFzdC5cbi8vICRGbG93SXNzdWVcblxudmFyIHVwZGF0ZWRGYW1pbGllc0J5VHlwZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTsgLy8gVGhpcyBpcyBjbGVhcmVkIG9uIGV2ZXJ5IHBlcmZvcm1SZWFjdFJlZnJlc2goKSBjYWxsLlxuLy8gSXQgaXMgYW4gYXJyYXkgb2YgW0ZhbWlseSwgTmV4dFR5cGVdIHR1cGxlcy5cblxudmFyIHBlbmRpbmdVcGRhdGVzID0gW107IC8vIFRoaXMgaXMgaW5qZWN0ZWQgYnkgdGhlIHJlbmRlcmVyIHZpYSBEZXZUb29scyBnbG9iYWwgaG9vay5cblxudmFyIGhlbHBlcnNCeVJlbmRlcmVySUQgPSBuZXcgTWFwKCk7XG52YXIgaGVscGVyc0J5Um9vdCA9IG5ldyBNYXAoKTsgLy8gV2Uga2VlcCB0cmFjayBvZiBtb3VudGVkIHJvb3RzIHNvIHdlIGNhbiBzY2hlZHVsZSB1cGRhdGVzLlxuXG52YXIgbW91bnRlZFJvb3RzID0gbmV3IFNldCgpOyAvLyBJZiBhIHJvb3QgY2FwdHVyZXMgYW4gZXJyb3IsIHdlIHJlbWVtYmVyIGl0IHNvIHdlIGNhbiByZXRyeSBvbiBlZGl0LlxuXG52YXIgZmFpbGVkUm9vdHMgPSBuZXcgU2V0KCk7IC8vIEluIGVudmlyb25tZW50cyB0aGF0IHN1cHBvcnQgV2Vha01hcCwgd2UgYWxzbyByZW1lbWJlciB0aGUgbGFzdCBlbGVtZW50IGZvciBldmVyeSByb290LlxuLy8gSXQgbmVlZHMgdG8gYmUgd2VhayBiZWNhdXNlIHdlIGRvIHRoaXMgZXZlbiBmb3Igcm9vdHMgdGhhdCBmYWlsZWQgdG8gbW91bnQuXG4vLyBJZiB0aGVyZSBpcyBubyBXZWFrTWFwLCB3ZSB3b24ndCBhdHRlbXB0IHRvIGRvIHJldHJ5aW5nLlxuLy8gJEZsb3dJc3N1ZVxuXG52YXIgcm9vdEVsZW1lbnRzID0gLy8gJEZsb3dJc3N1ZVxudHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBuZXcgV2Vha01hcCgpIDogbnVsbDtcbnZhciBpc1BlcmZvcm1pbmdSZWZyZXNoID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGNvbXB1dGVGdWxsS2V5KHNpZ25hdHVyZSkge1xuICBpZiAoc2lnbmF0dXJlLmZ1bGxLZXkgIT09IG51bGwpIHtcbiAgICByZXR1cm4gc2lnbmF0dXJlLmZ1bGxLZXk7XG4gIH1cblxuICB2YXIgZnVsbEtleSA9IHNpZ25hdHVyZS5vd25LZXk7XG4gIHZhciBob29rcztcblxuICB0cnkge1xuICAgIGhvb2tzID0gc2lnbmF0dXJlLmdldEN1c3RvbUhvb2tzKCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpbiBhbiBlZGdlIGNhc2UsIGUuZy4gaWYgZXhwcmVzc2lvbiBsaWtlIEZvby51c2VTb21ldGhpbmdcbiAgICAvLyBkZXBlbmRzIG9uIEZvbyB3aGljaCBpcyBsYXppbHkgaW5pdGlhbGl6ZWQgZHVyaW5nIHJlbmRlcmluZy5cbiAgICAvLyBJbiB0aGF0IGNhc2UganVzdCBhc3N1bWUgd2UnbGwgaGF2ZSB0byByZW1vdW50LlxuICAgIHNpZ25hdHVyZS5mb3JjZVJlc2V0ID0gdHJ1ZTtcbiAgICBzaWduYXR1cmUuZnVsbEtleSA9IGZ1bGxLZXk7XG4gICAgcmV0dXJuIGZ1bGxLZXk7XG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGhvb2sgPSBob29rc1tpXTtcblxuICAgIGlmICh0eXBlb2YgaG9vayAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gU29tZXRoaW5nJ3Mgd3JvbmcuIEFzc3VtZSB3ZSBuZWVkIHRvIHJlbW91bnQuXG4gICAgICBzaWduYXR1cmUuZm9yY2VSZXNldCA9IHRydWU7XG4gICAgICBzaWduYXR1cmUuZnVsbEtleSA9IGZ1bGxLZXk7XG4gICAgICByZXR1cm4gZnVsbEtleTtcbiAgICB9XG5cbiAgICB2YXIgbmVzdGVkSG9va1NpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KGhvb2spO1xuXG4gICAgaWYgKG5lc3RlZEhvb2tTaWduYXR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gTm8gc2lnbmF0dXJlIG1lYW5zIEhvb2sgd2Fzbid0IGluIHRoZSBzb3VyY2UgY29kZSwgZS5nLiBpbiBhIGxpYnJhcnkuXG4gICAgICAvLyBXZSdsbCBza2lwIGl0IGJlY2F1c2Ugd2UgY2FuIGFzc3VtZSBpdCB3b24ndCBjaGFuZ2UgZHVyaW5nIHRoaXMgc2Vzc2lvbi5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciBuZXN0ZWRIb29rS2V5ID0gY29tcHV0ZUZ1bGxLZXkobmVzdGVkSG9va1NpZ25hdHVyZSk7XG5cbiAgICBpZiAobmVzdGVkSG9va1NpZ25hdHVyZS5mb3JjZVJlc2V0KSB7XG4gICAgICBzaWduYXR1cmUuZm9yY2VSZXNldCA9IHRydWU7XG4gICAgfVxuXG4gICAgZnVsbEtleSArPSAnXFxuLS0tXFxuJyArIG5lc3RlZEhvb2tLZXk7XG4gIH1cblxuICBzaWduYXR1cmUuZnVsbEtleSA9IGZ1bGxLZXk7XG4gIHJldHVybiBmdWxsS2V5O1xufVxuXG5mdW5jdGlvbiBoYXZlRXF1YWxTaWduYXR1cmVzKHByZXZUeXBlLCBuZXh0VHlwZSkge1xuICB2YXIgcHJldlNpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KHByZXZUeXBlKTtcbiAgdmFyIG5leHRTaWduYXR1cmUgPSBhbGxTaWduYXR1cmVzQnlUeXBlLmdldChuZXh0VHlwZSk7XG5cbiAgaWYgKHByZXZTaWduYXR1cmUgPT09IHVuZGVmaW5lZCAmJiBuZXh0U2lnbmF0dXJlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcmV2U2lnbmF0dXJlID09PSB1bmRlZmluZWQgfHwgbmV4dFNpZ25hdHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGNvbXB1dGVGdWxsS2V5KHByZXZTaWduYXR1cmUpICE9PSBjb21wdXRlRnVsbEtleShuZXh0U2lnbmF0dXJlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChuZXh0U2lnbmF0dXJlLmZvcmNlUmVzZXQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gaXNSZWFjdENsYXNzKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUucHJvdG90eXBlICYmIHR5cGUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIGNhblByZXNlcnZlU3RhdGVCZXR3ZWVuKHByZXZUeXBlLCBuZXh0VHlwZSkge1xuICBpZiAoaXNSZWFjdENsYXNzKHByZXZUeXBlKSB8fCBpc1JlYWN0Q2xhc3MobmV4dFR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGhhdmVFcXVhbFNpZ25hdHVyZXMocHJldlR5cGUsIG5leHRUeXBlKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRmFtaWx5KHR5cGUpIHtcbiAgLy8gT25seSBjaGVjayB1cGRhdGVkIHR5cGVzIHRvIGtlZXAgbG9va3VwcyBmYXN0LlxuICByZXR1cm4gdXBkYXRlZEZhbWlsaWVzQnlUeXBlLmdldCh0eXBlKTtcbn0gLy8gSWYgd2UgZGlkbid0IGNhcmUgYWJvdXQgSUUxMSwgd2UgY291bGQgdXNlIG5ldyBNYXAvU2V0KGl0ZXJhYmxlKS5cblxuXG5mdW5jdGlvbiBjbG9uZU1hcChtYXApIHtcbiAgdmFyIGNsb25lID0gbmV3IE1hcCgpO1xuICBtYXAuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUsIGtleSkge1xuICAgIGNsb25lLnNldChrZXksIHZhbHVlKTtcbiAgfSk7XG4gIHJldHVybiBjbG9uZTtcbn1cblxuZnVuY3Rpb24gY2xvbmVTZXQoc2V0KSB7XG4gIHZhciBjbG9uZSA9IG5ldyBTZXQoKTtcbiAgc2V0LmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgY2xvbmUuYWRkKHZhbHVlKTtcbiAgfSk7XG4gIHJldHVybiBjbG9uZTtcbn0gLy8gVGhpcyBpcyBhIHNhZmV0eSBtZWNoYW5pc20gdG8gcHJvdGVjdCBhZ2FpbnN0IHJvZ3VlIGdldHRlcnMgYW5kIFByb3hpZXMuXG5cblxuZnVuY3Rpb24gZ2V0UHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eSkge1xuICB0cnkge1xuICAgIHJldHVybiBvYmplY3RbcHJvcGVydHldO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBJbnRlbnRpb25hbGx5IGlnbm9yZS5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBlcmZvcm1SZWFjdFJlZnJlc2goKSB7XG5cbiAgaWYgKHBlbmRpbmdVcGRhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGlzUGVyZm9ybWluZ1JlZnJlc2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlzUGVyZm9ybWluZ1JlZnJlc2ggPSB0cnVlO1xuXG4gIHRyeSB7XG4gICAgdmFyIHN0YWxlRmFtaWxpZXMgPSBuZXcgU2V0KCk7XG4gICAgdmFyIHVwZGF0ZWRGYW1pbGllcyA9IG5ldyBTZXQoKTtcbiAgICB2YXIgdXBkYXRlcyA9IHBlbmRpbmdVcGRhdGVzO1xuICAgIHBlbmRpbmdVcGRhdGVzID0gW107XG4gICAgdXBkYXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgICB2YXIgZmFtaWx5ID0gX3JlZlswXSxcbiAgICAgICAgICBuZXh0VHlwZSA9IF9yZWZbMV07XG4gICAgICAvLyBOb3cgdGhhdCB3ZSBnb3QgYSByZWFsIGVkaXQsIHdlIGNhbiBjcmVhdGUgYXNzb2NpYXRpb25zXG4gICAgICAvLyB0aGF0IHdpbGwgYmUgcmVhZCBieSB0aGUgUmVhY3QgcmVjb25jaWxlci5cbiAgICAgIHZhciBwcmV2VHlwZSA9IGZhbWlseS5jdXJyZW50O1xuICAgICAgdXBkYXRlZEZhbWlsaWVzQnlUeXBlLnNldChwcmV2VHlwZSwgZmFtaWx5KTtcbiAgICAgIHVwZGF0ZWRGYW1pbGllc0J5VHlwZS5zZXQobmV4dFR5cGUsIGZhbWlseSk7XG4gICAgICBmYW1pbHkuY3VycmVudCA9IG5leHRUeXBlOyAvLyBEZXRlcm1pbmUgd2hldGhlciB0aGlzIHNob3VsZCBiZSBhIHJlLXJlbmRlciBvciBhIHJlLW1vdW50LlxuXG4gICAgICBpZiAoY2FuUHJlc2VydmVTdGF0ZUJldHdlZW4ocHJldlR5cGUsIG5leHRUeXBlKSkge1xuICAgICAgICB1cGRhdGVkRmFtaWxpZXMuYWRkKGZhbWlseSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFsZUZhbWlsaWVzLmFkZChmYW1pbHkpO1xuICAgICAgfVxuICAgIH0pOyAvLyBUT0RPOiByZW5hbWUgdGhlc2UgZmllbGRzIHRvIHNvbWV0aGluZyBtb3JlIG1lYW5pbmdmdWwuXG5cbiAgICB2YXIgdXBkYXRlID0ge1xuICAgICAgdXBkYXRlZEZhbWlsaWVzOiB1cGRhdGVkRmFtaWxpZXMsXG4gICAgICAvLyBGYW1pbGllcyB0aGF0IHdpbGwgcmUtcmVuZGVyIHByZXNlcnZpbmcgc3RhdGVcbiAgICAgIHN0YWxlRmFtaWxpZXM6IHN0YWxlRmFtaWxpZXMgLy8gRmFtaWxpZXMgdGhhdCB3aWxsIGJlIHJlbW91bnRlZFxuXG4gICAgfTtcbiAgICBoZWxwZXJzQnlSZW5kZXJlcklELmZvckVhY2goZnVuY3Rpb24gKGhlbHBlcnMpIHtcbiAgICAgIC8vIEV2ZW4gaWYgdGhlcmUgYXJlIG5vIHJvb3RzLCBzZXQgdGhlIGhhbmRsZXIgb24gZmlyc3QgdXBkYXRlLlxuICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoYXQgaWYgKm5ldyogcm9vdHMgYXJlIG1vdW50ZWQsIHRoZXknbGwgdXNlIHRoZSByZXNvbHZlIGhhbmRsZXIuXG4gICAgICBoZWxwZXJzLnNldFJlZnJlc2hIYW5kbGVyKHJlc29sdmVGYW1pbHkpO1xuICAgIH0pO1xuICAgIHZhciBkaWRFcnJvciA9IGZhbHNlO1xuICAgIHZhciBmaXJzdEVycm9yID0gbnVsbDsgLy8gV2Ugc25hcHNob3QgbWFwcyBhbmQgc2V0cyB0aGF0IGFyZSBtdXRhdGVkIGR1cmluZyBjb21taXRzLlxuICAgIC8vIElmIHdlIGRvbid0IGRvIHRoaXMsIHRoZXJlIGlzIGEgcmlzayB0aGV5IHdpbGwgYmUgbXV0YXRlZCB3aGlsZVxuICAgIC8vIHdlIGl0ZXJhdGUgb3ZlciB0aGVtLiBGb3IgZXhhbXBsZSwgdHJ5aW5nIHRvIHJlY292ZXIgYSBmYWlsZWQgcm9vdFxuICAgIC8vIG1heSBjYXVzZSBhbm90aGVyIHJvb3QgdG8gYmUgYWRkZWQgdG8gdGhlIGZhaWxlZCBsaXN0IC0tIGFuIGluZmluaXRlIGxvb3AuXG5cbiAgICB2YXIgZmFpbGVkUm9vdHNTbmFwc2hvdCA9IGNsb25lU2V0KGZhaWxlZFJvb3RzKTtcbiAgICB2YXIgbW91bnRlZFJvb3RzU25hcHNob3QgPSBjbG9uZVNldChtb3VudGVkUm9vdHMpO1xuICAgIHZhciBoZWxwZXJzQnlSb290U25hcHNob3QgPSBjbG9uZU1hcChoZWxwZXJzQnlSb290KTtcbiAgICBmYWlsZWRSb290c1NuYXBzaG90LmZvckVhY2goZnVuY3Rpb24gKHJvb3QpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5Um9vdFNuYXBzaG90LmdldChyb290KTtcblxuICAgICAgaWYgKGhlbHBlcnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGhlbHBlcnMgZm9yIGEgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdCBSZWZyZXNoLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhaWxlZFJvb3RzLmhhcyhyb290KSkgey8vIE5vIGxvbmdlciBmYWlsZWQuXG4gICAgICB9XG5cbiAgICAgIGlmIChyb290RWxlbWVudHMgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJvb3RFbGVtZW50cy5oYXMocm9vdCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgZWxlbWVudCA9IHJvb3RFbGVtZW50cy5nZXQocm9vdCk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGhlbHBlcnMuc2NoZWR1bGVSb290KHJvb3QsIGVsZW1lbnQpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICghZGlkRXJyb3IpIHtcbiAgICAgICAgICBkaWRFcnJvciA9IHRydWU7XG4gICAgICAgICAgZmlyc3RFcnJvciA9IGVycjtcbiAgICAgICAgfSAvLyBLZWVwIHRyeWluZyBvdGhlciByb290cy5cblxuICAgICAgfVxuICAgIH0pO1xuICAgIG1vdW50ZWRSb290c1NuYXBzaG90LmZvckVhY2goZnVuY3Rpb24gKHJvb3QpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5Um9vdFNuYXBzaG90LmdldChyb290KTtcblxuICAgICAgaWYgKGhlbHBlcnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGhlbHBlcnMgZm9yIGEgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdCBSZWZyZXNoLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIW1vdW50ZWRSb290cy5oYXMocm9vdCkpIHsvLyBObyBsb25nZXIgbW91bnRlZC5cbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgaGVscGVycy5zY2hlZHVsZVJlZnJlc2gocm9vdCwgdXBkYXRlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoIWRpZEVycm9yKSB7XG4gICAgICAgICAgZGlkRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIGZpcnN0RXJyb3IgPSBlcnI7XG4gICAgICAgIH0gLy8gS2VlcCB0cnlpbmcgb3RoZXIgcm9vdHMuXG5cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChkaWRFcnJvcikge1xuICAgICAgdGhyb3cgZmlyc3RFcnJvcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdXBkYXRlO1xuICB9IGZpbmFsbHkge1xuICAgIGlzUGVyZm9ybWluZ1JlZnJlc2ggPSBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gcmVnaXN0ZXIodHlwZSwgaWQpIHtcbiAge1xuICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB0eXBlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIGluIGFuIGVkZ2UgY2FzZSwgZS5nLiBpZiB3ZSByZWdpc3RlclxuICAgIC8vIHJldHVybiB2YWx1ZSBvZiBhIEhPQyBidXQgaXQgcmV0dXJucyBhIGNhY2hlZCBjb21wb25lbnQuXG4gICAgLy8gSWdub3JlIGFueXRoaW5nIGJ1dCB0aGUgZmlyc3QgcmVnaXN0cmF0aW9uIGZvciBlYWNoIHR5cGUuXG5cblxuICAgIGlmIChhbGxGYW1pbGllc0J5VHlwZS5oYXModHlwZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIENyZWF0ZSBmYW1pbHkgb3IgcmVtZW1iZXIgdG8gdXBkYXRlIGl0LlxuICAgIC8vIE5vbmUgb2YgdGhpcyBib29ra2VlcGluZyBhZmZlY3RzIHJlY29uY2lsaWF0aW9uXG4gICAgLy8gdW50aWwgdGhlIGZpcnN0IHBlcmZvcm1SZWFjdFJlZnJlc2goKSBjYWxsIGFib3ZlLlxuXG5cbiAgICB2YXIgZmFtaWx5ID0gYWxsRmFtaWxpZXNCeUlELmdldChpZCk7XG5cbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGZhbWlseSA9IHtcbiAgICAgICAgY3VycmVudDogdHlwZVxuICAgICAgfTtcbiAgICAgIGFsbEZhbWlsaWVzQnlJRC5zZXQoaWQsIGZhbWlseSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlbmRpbmdVcGRhdGVzLnB1c2goW2ZhbWlseSwgdHlwZV0pO1xuICAgIH1cblxuICAgIGFsbEZhbWlsaWVzQnlUeXBlLnNldCh0eXBlLCBmYW1pbHkpOyAvLyBWaXNpdCBpbm5lciB0eXBlcyBiZWNhdXNlIHdlIG1pZ2h0IG5vdCBoYXZlIHJlZ2lzdGVyZWQgdGhlbS5cblxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChnZXRQcm9wZXJ0eSh0eXBlLCAnJCR0eXBlb2YnKSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgcmVnaXN0ZXIodHlwZS5yZW5kZXIsIGlkICsgJyRyZW5kZXInKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgICByZWdpc3Rlcih0eXBlLnR5cGUsIGlkICsgJyR0eXBlJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBzZXRTaWduYXR1cmUodHlwZSwga2V5KSB7XG4gIHZhciBmb3JjZVJlc2V0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBmYWxzZTtcbiAgdmFyIGdldEN1c3RvbUhvb2tzID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgPyBhcmd1bWVudHNbM10gOiB1bmRlZmluZWQ7XG5cbiAge1xuICAgIGlmICghYWxsU2lnbmF0dXJlc0J5VHlwZS5oYXModHlwZSkpIHtcbiAgICAgIGFsbFNpZ25hdHVyZXNCeVR5cGUuc2V0KHR5cGUsIHtcbiAgICAgICAgZm9yY2VSZXNldDogZm9yY2VSZXNldCxcbiAgICAgICAgb3duS2V5OiBrZXksXG4gICAgICAgIGZ1bGxLZXk6IG51bGwsXG4gICAgICAgIGdldEN1c3RvbUhvb2tzOiBnZXRDdXN0b21Ib29rcyB8fCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IC8vIFZpc2l0IGlubmVyIHR5cGVzIGJlY2F1c2Ugd2UgbWlnaHQgbm90IGhhdmUgc2lnbmVkIHRoZW0uXG5cblxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChnZXRQcm9wZXJ0eSh0eXBlLCAnJCR0eXBlb2YnKSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgc2V0U2lnbmF0dXJlKHR5cGUucmVuZGVyLCBrZXksIGZvcmNlUmVzZXQsIGdldEN1c3RvbUhvb2tzKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgICBzZXRTaWduYXR1cmUodHlwZS50eXBlLCBrZXksIGZvcmNlUmVzZXQsIGdldEN1c3RvbUhvb2tzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gLy8gVGhpcyBpcyBsYXppbHkgY2FsbGVkIGR1cmluZyBmaXJzdCByZW5kZXIgZm9yIGEgdHlwZS5cbi8vIEl0IGNhcHR1cmVzIEhvb2sgbGlzdCBhdCB0aGF0IHRpbWUgc28gaW5saW5lIHJlcXVpcmVzIGRvbid0IGJyZWFrIGNvbXBhcmlzb25zLlxuXG5mdW5jdGlvbiBjb2xsZWN0Q3VzdG9tSG9va3NGb3JTaWduYXR1cmUodHlwZSkge1xuICB7XG4gICAgdmFyIHNpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KHR5cGUpO1xuXG4gICAgaWYgKHNpZ25hdHVyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb21wdXRlRnVsbEtleShzaWduYXR1cmUpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZ2V0RmFtaWx5QnlJRChpZCkge1xuICB7XG4gICAgcmV0dXJuIGFsbEZhbWlsaWVzQnlJRC5nZXQoaWQpO1xuICB9XG59XG5mdW5jdGlvbiBnZXRGYW1pbHlCeVR5cGUodHlwZSkge1xuICB7XG4gICAgcmV0dXJuIGFsbEZhbWlsaWVzQnlUeXBlLmdldCh0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZmluZEFmZmVjdGVkSG9zdEluc3RhbmNlcyhmYW1pbGllcykge1xuICB7XG4gICAgdmFyIGFmZmVjdGVkSW5zdGFuY2VzID0gbmV3IFNldCgpO1xuICAgIG1vdW50ZWRSb290cy5mb3JFYWNoKGZ1bmN0aW9uIChyb290KSB7XG4gICAgICB2YXIgaGVscGVycyA9IGhlbHBlcnNCeVJvb3QuZ2V0KHJvb3QpO1xuXG4gICAgICBpZiAoaGVscGVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgaGVscGVycyBmb3IgYSByb290LiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0IFJlZnJlc2guJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBpbnN0YW5jZXNGb3JSb290ID0gaGVscGVycy5maW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2gocm9vdCwgZmFtaWxpZXMpO1xuICAgICAgaW5zdGFuY2VzRm9yUm9vdC5mb3JFYWNoKGZ1bmN0aW9uIChpbnN0KSB7XG4gICAgICAgIGFmZmVjdGVkSW5zdGFuY2VzLmFkZChpbnN0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBhZmZlY3RlZEluc3RhbmNlcztcbiAgfVxufVxuZnVuY3Rpb24gaW5qZWN0SW50b0dsb2JhbEhvb2soZ2xvYmFsT2JqZWN0KSB7XG4gIHtcbiAgICAvLyBGb3IgUmVhY3QgTmF0aXZlLCB0aGUgZ2xvYmFsIGhvb2sgd2lsbCBiZSBzZXQgdXAgYnkgcmVxdWlyZSgncmVhY3QtZGV2dG9vbHMtY29yZScpLlxuICAgIC8vIFRoYXQgY29kZSB3aWxsIHJ1biBiZWZvcmUgdXMuIFNvIHdlIG5lZWQgdG8gbW9ua2V5cGF0Y2ggZnVuY3Rpb25zIG9uIGV4aXN0aW5nIGhvb2suXG4gICAgLy8gRm9yIFJlYWN0IFdlYiwgdGhlIGdsb2JhbCBob29rIHdpbGwgYmUgc2V0IHVwIGJ5IHRoZSBleHRlbnNpb24uXG4gICAgLy8gVGhpcyB3aWxsIGFsc28gcnVuIGJlZm9yZSB1cy5cbiAgICB2YXIgaG9vayA9IGdsb2JhbE9iamVjdC5fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187XG5cbiAgICBpZiAoaG9vayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBIb3dldmVyLCBpZiB0aGVyZSBpcyBubyBEZXZUb29scyBleHRlbnNpb24sIHdlJ2xsIG5lZWQgdG8gc2V0IHVwIHRoZSBnbG9iYWwgaG9vayBvdXJzZWx2ZXMuXG4gICAgICAvLyBOb3RlIHRoYXQgaW4gdGhpcyBjYXNlIGl0J3MgaW1wb3J0YW50IHRoYXQgcmVuZGVyZXIgY29kZSBydW5zICphZnRlciogdGhpcyBtZXRob2QgY2FsbC5cbiAgICAgIC8vIE90aGVyd2lzZSwgdGhlIHJlbmRlcmVyIHdpbGwgdGhpbmsgdGhhdCB0aGVyZSBpcyBubyBnbG9iYWwgaG9vaywgYW5kIHdvbid0IGRvIHRoZSBpbmplY3Rpb24uXG4gICAgICB2YXIgbmV4dElEID0gMDtcbiAgICAgIGdsb2JhbE9iamVjdC5fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPSBob29rID0ge1xuICAgICAgICByZW5kZXJlcnM6IG5ldyBNYXAoKSxcbiAgICAgICAgc3VwcG9ydHNGaWJlcjogdHJ1ZSxcbiAgICAgICAgaW5qZWN0OiBmdW5jdGlvbiAoaW5qZWN0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dElEKys7XG4gICAgICAgIH0sXG4gICAgICAgIG9uU2NoZWR1bGVGaWJlclJvb3Q6IGZ1bmN0aW9uIChpZCwgcm9vdCwgY2hpbGRyZW4pIHt9LFxuICAgICAgICBvbkNvbW1pdEZpYmVyUm9vdDogZnVuY3Rpb24gKGlkLCByb290LCBtYXliZVByaW9yaXR5TGV2ZWwsIGRpZEVycm9yKSB7fSxcbiAgICAgICAgb25Db21taXRGaWJlclVubW91bnQ6IGZ1bmN0aW9uICgpIHt9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChob29rLmlzRGlzYWJsZWQpIHtcbiAgICAgIC8vIFRoaXMgaXNuJ3QgYSByZWFsIHByb3BlcnR5IG9uIHRoZSBob29rLCBidXQgaXQgY2FuIGJlIHNldCB0byBvcHQgb3V0XG4gICAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cbiAgICAgIC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG4gICAgICBjb25zb2xlWyd3YXJuJ10oJ1NvbWV0aGluZyBoYXMgc2hpbW1lZCB0aGUgUmVhY3QgRGV2VG9vbHMgZ2xvYmFsIGhvb2sgKF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXykuICcgKyAnRmFzdCBSZWZyZXNoIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhpcyBzaGltIGFuZCB3aWxsIGJlIGRpc2FibGVkLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSGVyZSwgd2UganVzdCB3YW50IHRvIGdldCBhIHJlZmVyZW5jZSB0byBzY2hlZHVsZVJlZnJlc2guXG5cblxuICAgIHZhciBvbGRJbmplY3QgPSBob29rLmluamVjdDtcblxuICAgIGhvb2suaW5qZWN0ID0gZnVuY3Rpb24gKGluamVjdGVkKSB7XG4gICAgICB2YXIgaWQgPSBvbGRJbmplY3QuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICAgICAgaWYgKHR5cGVvZiBpbmplY3RlZC5zY2hlZHVsZVJlZnJlc2ggPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGluamVjdGVkLnNldFJlZnJlc2hIYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFRoaXMgdmVyc2lvbiBzdXBwb3J0cyBSZWFjdCBSZWZyZXNoLlxuICAgICAgICBoZWxwZXJzQnlSZW5kZXJlcklELnNldChpZCwgaW5qZWN0ZWQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWQ7XG4gICAgfTsgLy8gRG8gdGhlIHNhbWUgZm9yIGFueSBhbHJlYWR5IGluamVjdGVkIHJvb3RzLlxuICAgIC8vIFRoaXMgaXMgdXNlZnVsIGlmIFJlYWN0RE9NIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNzYyNlxuXG5cbiAgICBob29rLnJlbmRlcmVycy5mb3JFYWNoKGZ1bmN0aW9uIChpbmplY3RlZCwgaWQpIHtcbiAgICAgIGlmICh0eXBlb2YgaW5qZWN0ZWQuc2NoZWR1bGVSZWZyZXNoID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbmplY3RlZC5zZXRSZWZyZXNoSGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBUaGlzIHZlcnNpb24gc3VwcG9ydHMgUmVhY3QgUmVmcmVzaC5cbiAgICAgICAgaGVscGVyc0J5UmVuZGVyZXJJRC5zZXQoaWQsIGluamVjdGVkKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gV2UgYWxzbyB3YW50IHRvIHRyYWNrIGN1cnJlbnRseSBtb3VudGVkIHJvb3RzLlxuXG4gICAgdmFyIG9sZE9uQ29tbWl0RmliZXJSb290ID0gaG9vay5vbkNvbW1pdEZpYmVyUm9vdDtcblxuICAgIHZhciBvbGRPblNjaGVkdWxlRmliZXJSb290ID0gaG9vay5vblNjaGVkdWxlRmliZXJSb290IHx8IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgaG9vay5vblNjaGVkdWxlRmliZXJSb290ID0gZnVuY3Rpb24gKGlkLCByb290LCBjaGlsZHJlbikge1xuICAgICAgaWYgKCFpc1BlcmZvcm1pbmdSZWZyZXNoKSB7XG4gICAgICAgIC8vIElmIGl0IHdhcyBpbnRlbnRpb25hbGx5IHNjaGVkdWxlZCwgZG9uJ3QgYXR0ZW1wdCB0byByZXN0b3JlLlxuICAgICAgICAvLyBUaGlzIGluY2x1ZGVzIGludGVudGlvbmFsbHkgc2NoZWR1bGVkIHVubW91bnRzLlxuICAgICAgICBmYWlsZWRSb290cy5kZWxldGUocm9vdCk7XG5cbiAgICAgICAgaWYgKHJvb3RFbGVtZW50cyAhPT0gbnVsbCkge1xuICAgICAgICAgIHJvb3RFbGVtZW50cy5zZXQocm9vdCwgY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvbGRPblNjaGVkdWxlRmliZXJSb290LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfTtcblxuICAgIGhvb2sub25Db21taXRGaWJlclJvb3QgPSBmdW5jdGlvbiAoaWQsIHJvb3QsIG1heWJlUHJpb3JpdHlMZXZlbCwgZGlkRXJyb3IpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5UmVuZGVyZXJJRC5nZXQoaWQpO1xuXG4gICAgICBpZiAoaGVscGVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGhlbHBlcnNCeVJvb3Quc2V0KHJvb3QsIGhlbHBlcnMpO1xuICAgICAgICB2YXIgY3VycmVudCA9IHJvb3QuY3VycmVudDtcbiAgICAgICAgdmFyIGFsdGVybmF0ZSA9IGN1cnJlbnQuYWx0ZXJuYXRlOyAvLyBXZSBuZWVkIHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXMgcm9vdCBoYXMganVzdCAodW4pbW91bnRlZC5cbiAgICAgICAgLy8gVGhpcyBsb2dpYyBpcyBjb3B5LXBhc3RlZCBmcm9tIHNpbWlsYXIgbG9naWMgaW4gdGhlIERldlRvb2xzIGJhY2tlbmQuXG4gICAgICAgIC8vIElmIHRoaXMgYnJlYWtzIHdpdGggc29tZSByZWZhY3RvcmluZywgeW91J2xsIHdhbnQgdG8gdXBkYXRlIERldlRvb2xzIHRvby5cblxuICAgICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIHdhc01vdW50ZWQgPSBhbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSAhPSBudWxsICYmIGFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmVsZW1lbnQgIT0gbnVsbCAmJiBtb3VudGVkUm9vdHMuaGFzKHJvb3QpO1xuICAgICAgICAgIHZhciBpc01vdW50ZWQgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUuZWxlbWVudCAhPSBudWxsO1xuXG4gICAgICAgICAgaWYgKCF3YXNNb3VudGVkICYmIGlzTW91bnRlZCkge1xuICAgICAgICAgICAgLy8gTW91bnQgYSBuZXcgcm9vdC5cbiAgICAgICAgICAgIG1vdW50ZWRSb290cy5hZGQocm9vdCk7XG4gICAgICAgICAgICBmYWlsZWRSb290cy5kZWxldGUocm9vdCk7XG4gICAgICAgICAgfSBlbHNlIGlmICh3YXNNb3VudGVkICYmIGlzTW91bnRlZCkgOyBlbHNlIGlmICh3YXNNb3VudGVkICYmICFpc01vdW50ZWQpIHtcbiAgICAgICAgICAgIC8vIFVubW91bnQgYW4gZXhpc3Rpbmcgcm9vdC5cbiAgICAgICAgICAgIG1vdW50ZWRSb290cy5kZWxldGUocm9vdCk7XG5cbiAgICAgICAgICAgIGlmIChkaWRFcnJvcikge1xuICAgICAgICAgICAgICAvLyBXZSdsbCByZW1vdW50IGl0IG9uIGZ1dHVyZSBlZGl0cy5cbiAgICAgICAgICAgICAgZmFpbGVkUm9vdHMuYWRkKHJvb3QpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaGVscGVyc0J5Um9vdC5kZWxldGUocm9vdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghd2FzTW91bnRlZCAmJiAhaXNNb3VudGVkKSB7XG4gICAgICAgICAgICBpZiAoZGlkRXJyb3IpIHtcbiAgICAgICAgICAgICAgLy8gV2UnbGwgcmVtb3VudCBpdCBvbiBmdXR1cmUgZWRpdHMuXG4gICAgICAgICAgICAgIGZhaWxlZFJvb3RzLmFkZChyb290KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTW91bnQgYSBuZXcgcm9vdC5cbiAgICAgICAgICBtb3VudGVkUm9vdHMuYWRkKHJvb3QpO1xuICAgICAgICB9XG4gICAgICB9IC8vIEFsd2F5cyBjYWxsIHRoZSBkZWNvcmF0ZWQgRGV2VG9vbHMgaG9vay5cblxuXG4gICAgICByZXR1cm4gb2xkT25Db21taXRGaWJlclJvb3QuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9XG59XG5mdW5jdGlvbiBoYXNVbnJlY292ZXJhYmxlRXJyb3JzKCkge1xuICAvLyBUT0RPOiBkZWxldGUgdGhpcyBhZnRlciByZW1vdmluZyBkZXBlbmRlbmN5IGluIFJOLlxuICByZXR1cm4gZmFsc2U7XG59IC8vIEV4cG9zZWQgZm9yIHRlc3RpbmcuXG5cbmZ1bmN0aW9uIF9nZXRNb3VudGVkUm9vdENvdW50KCkge1xuICB7XG4gICAgcmV0dXJuIG1vdW50ZWRSb290cy5zaXplO1xuICB9XG59IC8vIFRoaXMgaXMgYSB3cmFwcGVyIG92ZXIgbW9yZSBwcmltaXRpdmUgZnVuY3Rpb25zIGZvciBzZXR0aW5nIHNpZ25hdHVyZS5cbi8vIFNpZ25hdHVyZXMgbGV0IHVzIGRlY2lkZSB3aGV0aGVyIHRoZSBIb29rIG9yZGVyIGhhcyBjaGFuZ2VkIG9uIHJlZnJlc2guXG4vL1xuLy8gVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIGEgdHJhbnNmb3JtIHRhcmdldCwgZS5nLjpcbi8vIHZhciBfcyA9IGNyZWF0ZVNpZ25hdHVyZUZ1bmN0aW9uRm9yVHJhbnNmb3JtKClcbi8vXG4vLyBmdW5jdGlvbiBIZWxsbygpIHtcbi8vICAgY29uc3QgW2Zvbywgc2V0Rm9vXSA9IHVzZVN0YXRlKDApO1xuLy8gICBjb25zdCB2YWx1ZSA9IHVzZUN1c3RvbUhvb2soKTtcbi8vICAgX3MoKTsgLyogQ2FsbCB3aXRob3V0IGFyZ3VtZW50cyB0cmlnZ2VycyBjb2xsZWN0aW5nIHRoZSBjdXN0b20gSG9vayBsaXN0LlxuLy8gICAgICAgICAgKiBUaGlzIGRvZXNuJ3QgaGFwcGVuIGR1cmluZyB0aGUgbW9kdWxlIGV2YWx1YXRpb24gYmVjYXVzZSB3ZVxuLy8gICAgICAgICAgKiBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGUgbW9kdWxlIG9yZGVyIHdpdGggaW5saW5lIHJlcXVpcmVzLlxuLy8gICAgICAgICAgKiBOZXh0IGNhbGxzIGFyZSBub29wcy4gKi9cbi8vICAgcmV0dXJuIDxoMT5IaTwvaDE+O1xuLy8gfVxuLy9cbi8vIC8qIENhbGwgd2l0aCBhcmd1bWVudHMgYXR0YWNoZXMgdGhlIHNpZ25hdHVyZSB0byB0aGUgdHlwZTogKi9cbi8vIF9zKFxuLy8gICBIZWxsbyxcbi8vICAgJ3VzZVN0YXRle1tmb28sIHNldEZvb119KDApJyxcbi8vICAgKCkgPT4gW3VzZUN1c3RvbUhvb2tdLCAvKiBMYXp5IHRvIGF2b2lkIHRyaWdnZXJpbmcgaW5saW5lIHJlcXVpcmVzICovXG4vLyApO1xuXG5mdW5jdGlvbiBjcmVhdGVTaWduYXR1cmVGdW5jdGlvbkZvclRyYW5zZm9ybSgpIHtcbiAge1xuICAgIHZhciBzYXZlZFR5cGU7XG4gICAgdmFyIGhhc0N1c3RvbUhvb2tzO1xuICAgIHZhciBkaWRDb2xsZWN0SG9va3MgPSBmYWxzZTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHR5cGUsIGtleSwgZm9yY2VSZXNldCwgZ2V0Q3VzdG9tSG9va3MpIHtcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAvLyBXZSdyZSBpbiB0aGUgaW5pdGlhbCBwaGFzZSB0aGF0IGFzc29jaWF0ZXMgc2lnbmF0dXJlc1xuICAgICAgICAvLyB3aXRoIHRoZSBmdW5jdGlvbnMuIE5vdGUgdGhpcyBtYXkgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIC8vIGluIEhPQyBjaGFpbnMgbGlrZSBfcyhob2MxKF9zKGhvYzIoX3MoYWN0dWFsRnVuY3Rpb24pKSkpKS5cbiAgICAgICAgaWYgKCFzYXZlZFR5cGUpIHtcbiAgICAgICAgICAvLyBXZSdyZSBpbiB0aGUgaW5uZXJtb3N0IGNhbGwsIHNvIHRoaXMgaXMgdGhlIGFjdHVhbCB0eXBlLlxuICAgICAgICAgIHNhdmVkVHlwZSA9IHR5cGU7XG4gICAgICAgICAgaGFzQ3VzdG9tSG9va3MgPSB0eXBlb2YgZ2V0Q3VzdG9tSG9va3MgPT09ICdmdW5jdGlvbic7XG4gICAgICAgIH0gLy8gU2V0IHRoZSBzaWduYXR1cmUgZm9yIGFsbCB0eXBlcyAoZXZlbiB3cmFwcGVycyEpIGluIGNhc2VcbiAgICAgICAgLy8gdGhleSBoYXZlIG5vIHNpZ25hdHVyZXMgb2YgdGhlaXIgb3duLiBUaGlzIGlzIHRvIHByZXZlbnRcbiAgICAgICAgLy8gcHJvYmxlbXMgbGlrZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzIwNDE3LlxuXG5cbiAgICAgICAgaWYgKHR5cGUgIT0gbnVsbCAmJiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSkge1xuICAgICAgICAgIHNldFNpZ25hdHVyZSh0eXBlLCBrZXksIGZvcmNlUmVzZXQsIGdldEN1c3RvbUhvb2tzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UncmUgaW4gdGhlIF9zKCkgY2FsbCB3aXRob3V0IGFyZ3VtZW50cywgd2hpY2ggbWVhbnNcbiAgICAgICAgLy8gdGhpcyBpcyB0aGUgdGltZSB0byBjb2xsZWN0IGN1c3RvbSBIb29rIHNpZ25hdHVyZXMuXG4gICAgICAgIC8vIE9ubHkgZG8gdGhpcyBvbmNlLiBUaGlzIHBhdGggaXMgaG90IGFuZCBydW5zICppbnNpZGUqIGV2ZXJ5IHJlbmRlciFcbiAgICAgICAgaWYgKCFkaWRDb2xsZWN0SG9va3MgJiYgaGFzQ3VzdG9tSG9va3MpIHtcbiAgICAgICAgICBkaWRDb2xsZWN0SG9va3MgPSB0cnVlO1xuICAgICAgICAgIGNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZShzYXZlZFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuZnVuY3Rpb24gaXNMaWtlbHlDb21wb25lbnRUeXBlKHR5cGUpIHtcbiAge1xuICAgIHN3aXRjaCAodHlwZW9mIHR5cGUpIHtcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIEZpcnN0LCBkZWFsIHdpdGggY2xhc3Nlcy5cbiAgICAgICAgICBpZiAodHlwZS5wcm90b3R5cGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHR5cGUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgLy8gUmVhY3QgY2xhc3MuXG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgb3duTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0eXBlLnByb3RvdHlwZSk7XG5cbiAgICAgICAgICAgIGlmIChvd25OYW1lcy5sZW5ndGggPiAxIHx8IG93bk5hbWVzWzBdICE9PSAnY29uc3RydWN0b3InKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgbG9va3MgbGlrZSBhIGNsYXNzLlxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b1xuXG5cbiAgICAgICAgICAgIGlmICh0eXBlLnByb3RvdHlwZS5fX3Byb3RvX18gIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICAgICAgICAgICAgLy8gSXQgaGFzIGEgc3VwZXJjbGFzcy5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSAvLyBQYXNzIHRocm91Z2guXG4gICAgICAgICAgICAvLyBUaGlzIGxvb2tzIGxpa2UgYSByZWd1bGFyIGZ1bmN0aW9uIHdpdGggZW1wdHkgcHJvdG90eXBlLlxuXG4gICAgICAgICAgfSAvLyBGb3IgcGxhaW4gZnVuY3Rpb25zIGFuZCBhcnJvd3MsIHVzZSBuYW1lIGFzIGEgaGV1cmlzdGljLlxuXG5cbiAgICAgICAgICB2YXIgbmFtZSA9IHR5cGUubmFtZSB8fCB0eXBlLmRpc3BsYXlOYW1lO1xuICAgICAgICAgIHJldHVybiB0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZycgJiYgL15bQS1aXS8udGVzdChuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHR5cGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgc3dpdGNoIChnZXRQcm9wZXJ0eSh0eXBlLCAnJCR0eXBlb2YnKSkge1xuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgICAgIC8vIERlZmluaXRlbHkgUmVhY3QgY29tcG9uZW50cy5cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnRzLl9nZXRNb3VudGVkUm9vdENvdW50ID0gX2dldE1vdW50ZWRSb290Q291bnQ7XG5leHBvcnRzLmNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZSA9IGNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZTtcbmV4cG9ydHMuY3JlYXRlU2lnbmF0dXJlRnVuY3Rpb25Gb3JUcmFuc2Zvcm0gPSBjcmVhdGVTaWduYXR1cmVGdW5jdGlvbkZvclRyYW5zZm9ybTtcbmV4cG9ydHMuZmluZEFmZmVjdGVkSG9zdEluc3RhbmNlcyA9IGZpbmRBZmZlY3RlZEhvc3RJbnN0YW5jZXM7XG5leHBvcnRzLmdldEZhbWlseUJ5SUQgPSBnZXRGYW1pbHlCeUlEO1xuZXhwb3J0cy5nZXRGYW1pbHlCeVR5cGUgPSBnZXRGYW1pbHlCeVR5cGU7XG5leHBvcnRzLmhhc1VucmVjb3ZlcmFibGVFcnJvcnMgPSBoYXNVbnJlY292ZXJhYmxlRXJyb3JzO1xuZXhwb3J0cy5pbmplY3RJbnRvR2xvYmFsSG9vayA9IGluamVjdEludG9HbG9iYWxIb29rO1xuZXhwb3J0cy5pc0xpa2VseUNvbXBvbmVudFR5cGUgPSBpc0xpa2VseUNvbXBvbmVudFR5cGU7XG5leHBvcnRzLnBlcmZvcm1SZWFjdFJlZnJlc2ggPSBwZXJmb3JtUmVhY3RSZWZyZXNoO1xuZXhwb3J0cy5yZWdpc3RlciA9IHJlZ2lzdGVyO1xuZXhwb3J0cy5zZXRTaWduYXR1cmUgPSBzZXRTaWduYXR1cmU7XG4gIH0pKCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-refresh/runtime.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-refresh/runtime.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-refresh-runtime.development.js */ \"./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixJQUFJLEtBQXFDLEVBQUUsRUFFMUMsQ0FBQztBQUNGLEVBQUUsa0xBQXNFO0FBQ3hFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtcmVmcmVzaC9ydW50aW1lLmpzPzljNmUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LXJlZnJlc2gtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1yZWZyZXNoLXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-refresh/runtime.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js")); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/webpack.js b/.next/static/chunks/webpack.js deleted file mode 100644 index b7a3c14..0000000 --- a/.next/static/chunks/webpack.js +++ /dev/null @@ -1,1410 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -/******/ (function() { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ if (cachedModule.error !== undefined) throw cachedModule.error; -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ loaded: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ var threw = true; -/******/ try { -/******/ var execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ }; -/******/ __webpack_require__.i.forEach(function(handler) { handler(execOptions); }); -/******/ module = execOptions.module; -/******/ execOptions.factory.call(module.exports, module, module.exports, execOptions.require); -/******/ threw = false; -/******/ } finally { -/******/ if(threw) delete __webpack_module_cache__[moduleId]; -/******/ } -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = __webpack_module_cache__; -/******/ -/******/ // expose the module execution interceptor -/******/ __webpack_require__.i = []; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/chunk loaded */ -/******/ !function() { -/******/ var deferred = []; -/******/ __webpack_require__.O = function(result, chunkIds, fn, priority) { -/******/ if(chunkIds) { -/******/ priority = priority || 0; -/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; -/******/ deferred[i] = [chunkIds, fn, priority]; -/******/ return; -/******/ } -/******/ var notFulfilled = Infinity; -/******/ for (var i = 0; i < deferred.length; i++) { -/******/ var chunkIds = deferred[i][0]; -/******/ var fn = deferred[i][1]; -/******/ var priority = deferred[i][2]; -/******/ var fulfilled = true; -/******/ for (var j = 0; j < chunkIds.length; j++) { -/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) { -/******/ chunkIds.splice(j--, 1); -/******/ } else { -/******/ fulfilled = false; -/******/ if(priority < notFulfilled) notFulfilled = priority; -/******/ } -/******/ } -/******/ if(fulfilled) { -/******/ deferred.splice(i--, 1) -/******/ var r = fn(); -/******/ if (r !== undefined) result = r; -/******/ } -/******/ } -/******/ return result; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/compat get default export */ -/******/ !function() { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function() { return module['default']; } : -/******/ function() { return module; }; -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/create fake namespace object */ -/******/ !function() { -/******/ var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; }; -/******/ var leafPrototypes; -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 16: return value when it's Promise-like -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = this(value); -/******/ if(mode & 8) return value; -/******/ if(typeof value === 'object' && value) { -/******/ if((mode & 4) && value.__esModule) return value; -/******/ if((mode & 16) && typeof value.then === 'function') return value; -/******/ } -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ var def = {}; -/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; -/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { -/******/ Object.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; }); -/******/ } -/******/ def['default'] = function() { return value; }; -/******/ __webpack_require__.d(ns, def); -/******/ return ns; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ !function() { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = function(exports, definition) { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ !function() { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = function(chunkId) { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ !function() { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = function(chunkId) { -/******/ // return url for filenames based on template -/******/ return undefined; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get javascript update chunk filename */ -/******/ !function() { -/******/ // This function allow to reference all chunks -/******/ __webpack_require__.hu = function(chunkId) { -/******/ // return url for filenames based on template -/******/ return "static/webpack/" + chunkId + "." + __webpack_require__.h() + ".hot-update.js"; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get mini-css chunk filename */ -/******/ !function() { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.miniCssF = function(chunkId) { -/******/ // return url for filenames based on template -/******/ return undefined; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get update manifest filename */ -/******/ !function() { -/******/ __webpack_require__.hmrF = function() { return "static/webpack/" + __webpack_require__.h() + ".webpack.hot-update.json"; }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "58a6851920fe4d86"; } -/******/ }(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ !function() { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ }(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ !function() { -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } -/******/ }(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ !function() { -/******/ var inProgress = {}; -/******/ var dataWebpackPrefix = "_N_E:"; -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = function(url, done, key, chunkId) { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName("script"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute("nonce", __webpack_require__.nc); -/******/ } -/******/ script.setAttribute("data-webpack", dataWebpackPrefix + key); -/******/ -/******/ script.src = __webpack_require__.tu(url); -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = function(prev, event) { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach(function(fn) { return fn(event); }); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ !function() { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/node module decorator */ -/******/ !function() { -/******/ __webpack_require__.nmd = function(module) { -/******/ module.paths = []; -/******/ if (!module.children) module.children = []; -/******/ return module; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/trusted types policy */ -/******/ !function() { -/******/ var policy; -/******/ __webpack_require__.tt = function() { -/******/ // Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet. -/******/ if (policy === undefined) { -/******/ policy = { -/******/ createScript: function(script) { return script; }, -/******/ createScriptURL: function(url) { return url; } -/******/ }; -/******/ if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) { -/******/ policy = trustedTypes.createPolicy("nextjs#bundler", policy); -/******/ } -/******/ } -/******/ return policy; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/trusted types script */ -/******/ !function() { -/******/ __webpack_require__.ts = function(script) { return __webpack_require__.tt().createScript(script); }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/trusted types script url */ -/******/ !function() { -/******/ __webpack_require__.tu = function(url) { return __webpack_require__.tt().createScriptURL(url); }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/hot module replacement */ -/******/ !function() { -/******/ var currentModuleData = {}; -/******/ var installedModules = __webpack_require__.c; -/******/ -/******/ // module and require creation -/******/ var currentChildModule; -/******/ var currentParents = []; -/******/ -/******/ // status -/******/ var registeredStatusHandlers = []; -/******/ var currentStatus = "idle"; -/******/ -/******/ // while downloading -/******/ var blockingPromises = 0; -/******/ var blockingPromisesWaiting = []; -/******/ -/******/ // The update info -/******/ var currentUpdateApplyHandlers; -/******/ var queuedInvalidatedModules; -/******/ -/******/ __webpack_require__.hmrD = currentModuleData; -/******/ -/******/ __webpack_require__.i.push(function (options) { -/******/ var module = options.module; -/******/ var require = createRequire(options.require, options.id); -/******/ module.hot = createModuleHotObject(options.id, module); -/******/ module.parents = currentParents; -/******/ module.children = []; -/******/ currentParents = []; -/******/ options.require = require; -/******/ }); -/******/ -/******/ __webpack_require__.hmrC = {}; -/******/ __webpack_require__.hmrI = {}; -/******/ -/******/ function createRequire(require, moduleId) { -/******/ var me = installedModules[moduleId]; -/******/ if (!me) return require; -/******/ var fn = function (request) { -/******/ if (me.hot.active) { -/******/ if (installedModules[request]) { -/******/ var parents = installedModules[request].parents; -/******/ if (parents.indexOf(moduleId) === -1) { -/******/ parents.push(moduleId); -/******/ } -/******/ } else { -/******/ currentParents = [moduleId]; -/******/ currentChildModule = request; -/******/ } -/******/ if (me.children.indexOf(request) === -1) { -/******/ me.children.push(request); -/******/ } -/******/ } else { -/******/ console.warn( -/******/ "[HMR] unexpected require(" + -/******/ request + -/******/ ") from disposed module " + -/******/ moduleId -/******/ ); -/******/ currentParents = []; -/******/ } -/******/ return require(request); -/******/ }; -/******/ var createPropertyDescriptor = function (name) { -/******/ return { -/******/ configurable: true, -/******/ enumerable: true, -/******/ get: function () { -/******/ return require[name]; -/******/ }, -/******/ set: function (value) { -/******/ require[name] = value; -/******/ } -/******/ }; -/******/ }; -/******/ for (var name in require) { -/******/ if (Object.prototype.hasOwnProperty.call(require, name) && name !== "e") { -/******/ Object.defineProperty(fn, name, createPropertyDescriptor(name)); -/******/ } -/******/ } -/******/ fn.e = function (chunkId, fetchPriority) { -/******/ return trackBlockingPromise(require.e(chunkId, fetchPriority)); -/******/ }; -/******/ return fn; -/******/ } -/******/ -/******/ function createModuleHotObject(moduleId, me) { -/******/ var _main = currentChildModule !== moduleId; -/******/ var hot = { -/******/ // private stuff -/******/ _acceptedDependencies: {}, -/******/ _acceptedErrorHandlers: {}, -/******/ _declinedDependencies: {}, -/******/ _selfAccepted: false, -/******/ _selfDeclined: false, -/******/ _selfInvalidated: false, -/******/ _disposeHandlers: [], -/******/ _main: _main, -/******/ _requireSelf: function () { -/******/ currentParents = me.parents.slice(); -/******/ currentChildModule = _main ? undefined : moduleId; -/******/ __webpack_require__(moduleId); -/******/ }, -/******/ -/******/ // Module API -/******/ active: true, -/******/ accept: function (dep, callback, errorHandler) { -/******/ if (dep === undefined) hot._selfAccepted = true; -/******/ else if (typeof dep === "function") hot._selfAccepted = dep; -/******/ else if (typeof dep === "object" && dep !== null) { -/******/ for (var i = 0; i < dep.length; i++) { -/******/ hot._acceptedDependencies[dep[i]] = callback || function () {}; -/******/ hot._acceptedErrorHandlers[dep[i]] = errorHandler; -/******/ } -/******/ } else { -/******/ hot._acceptedDependencies[dep] = callback || function () {}; -/******/ hot._acceptedErrorHandlers[dep] = errorHandler; -/******/ } -/******/ }, -/******/ decline: function (dep) { -/******/ if (dep === undefined) hot._selfDeclined = true; -/******/ else if (typeof dep === "object" && dep !== null) -/******/ for (var i = 0; i < dep.length; i++) -/******/ hot._declinedDependencies[dep[i]] = true; -/******/ else hot._declinedDependencies[dep] = true; -/******/ }, -/******/ dispose: function (callback) { -/******/ hot._disposeHandlers.push(callback); -/******/ }, -/******/ addDisposeHandler: function (callback) { -/******/ hot._disposeHandlers.push(callback); -/******/ }, -/******/ removeDisposeHandler: function (callback) { -/******/ var idx = hot._disposeHandlers.indexOf(callback); -/******/ if (idx >= 0) hot._disposeHandlers.splice(idx, 1); -/******/ }, -/******/ invalidate: function () { -/******/ this._selfInvalidated = true; -/******/ switch (currentStatus) { -/******/ case "idle": -/******/ currentUpdateApplyHandlers = []; -/******/ Object.keys(__webpack_require__.hmrI).forEach(function (key) { -/******/ __webpack_require__.hmrI[key]( -/******/ moduleId, -/******/ currentUpdateApplyHandlers -/******/ ); -/******/ }); -/******/ setStatus("ready"); -/******/ break; -/******/ case "ready": -/******/ Object.keys(__webpack_require__.hmrI).forEach(function (key) { -/******/ __webpack_require__.hmrI[key]( -/******/ moduleId, -/******/ currentUpdateApplyHandlers -/******/ ); -/******/ }); -/******/ break; -/******/ case "prepare": -/******/ case "check": -/******/ case "dispose": -/******/ case "apply": -/******/ (queuedInvalidatedModules = queuedInvalidatedModules || []).push( -/******/ moduleId -/******/ ); -/******/ break; -/******/ default: -/******/ // ignore requests in error states -/******/ break; -/******/ } -/******/ }, -/******/ -/******/ // Management API -/******/ check: hotCheck, -/******/ apply: hotApply, -/******/ status: function (l) { -/******/ if (!l) return currentStatus; -/******/ registeredStatusHandlers.push(l); -/******/ }, -/******/ addStatusHandler: function (l) { -/******/ registeredStatusHandlers.push(l); -/******/ }, -/******/ removeStatusHandler: function (l) { -/******/ var idx = registeredStatusHandlers.indexOf(l); -/******/ if (idx >= 0) registeredStatusHandlers.splice(idx, 1); -/******/ }, -/******/ -/******/ //inherit from previous dispose call -/******/ data: currentModuleData[moduleId] -/******/ }; -/******/ currentChildModule = undefined; -/******/ return hot; -/******/ } -/******/ -/******/ function setStatus(newStatus) { -/******/ currentStatus = newStatus; -/******/ var results = []; -/******/ -/******/ for (var i = 0; i < registeredStatusHandlers.length; i++) -/******/ results[i] = registeredStatusHandlers[i].call(null, newStatus); -/******/ -/******/ return Promise.all(results); -/******/ } -/******/ -/******/ function unblock() { -/******/ if (--blockingPromises === 0) { -/******/ setStatus("ready").then(function () { -/******/ if (blockingPromises === 0) { -/******/ var list = blockingPromisesWaiting; -/******/ blockingPromisesWaiting = []; -/******/ for (var i = 0; i < list.length; i++) { -/******/ list[i](); -/******/ } -/******/ } -/******/ }); -/******/ } -/******/ } -/******/ -/******/ function trackBlockingPromise(promise) { -/******/ switch (currentStatus) { -/******/ case "ready": -/******/ setStatus("prepare"); -/******/ /* fallthrough */ -/******/ case "prepare": -/******/ blockingPromises++; -/******/ promise.then(unblock, unblock); -/******/ return promise; -/******/ default: -/******/ return promise; -/******/ } -/******/ } -/******/ -/******/ function waitForBlockingPromises(fn) { -/******/ if (blockingPromises === 0) return fn(); -/******/ return new Promise(function (resolve) { -/******/ blockingPromisesWaiting.push(function () { -/******/ resolve(fn()); -/******/ }); -/******/ }); -/******/ } -/******/ -/******/ function hotCheck(applyOnUpdate) { -/******/ if (currentStatus !== "idle") { -/******/ throw new Error("check() is only allowed in idle status"); -/******/ } -/******/ return setStatus("check") -/******/ .then(__webpack_require__.hmrM) -/******/ .then(function (update) { -/******/ if (!update) { -/******/ return setStatus(applyInvalidatedModules() ? "ready" : "idle").then( -/******/ function () { -/******/ return null; -/******/ } -/******/ ); -/******/ } -/******/ -/******/ return setStatus("prepare").then(function () { -/******/ var updatedModules = []; -/******/ currentUpdateApplyHandlers = []; -/******/ -/******/ return Promise.all( -/******/ Object.keys(__webpack_require__.hmrC).reduce(function ( -/******/ promises, -/******/ key -/******/ ) { -/******/ __webpack_require__.hmrC[key]( -/******/ update.c, -/******/ update.r, -/******/ update.m, -/******/ promises, -/******/ currentUpdateApplyHandlers, -/******/ updatedModules -/******/ ); -/******/ return promises; -/******/ }, []) -/******/ ).then(function () { -/******/ return waitForBlockingPromises(function () { -/******/ if (applyOnUpdate) { -/******/ return internalApply(applyOnUpdate); -/******/ } else { -/******/ return setStatus("ready").then(function () { -/******/ return updatedModules; -/******/ }); -/******/ } -/******/ }); -/******/ }); -/******/ }); -/******/ }); -/******/ } -/******/ -/******/ function hotApply(options) { -/******/ if (currentStatus !== "ready") { -/******/ return Promise.resolve().then(function () { -/******/ throw new Error( -/******/ "apply() is only allowed in ready status (state: " + -/******/ currentStatus + -/******/ ")" -/******/ ); -/******/ }); -/******/ } -/******/ return internalApply(options); -/******/ } -/******/ -/******/ function internalApply(options) { -/******/ options = options || {}; -/******/ -/******/ applyInvalidatedModules(); -/******/ -/******/ var results = currentUpdateApplyHandlers.map(function (handler) { -/******/ return handler(options); -/******/ }); -/******/ currentUpdateApplyHandlers = undefined; -/******/ -/******/ var errors = results -/******/ .map(function (r) { -/******/ return r.error; -/******/ }) -/******/ .filter(Boolean); -/******/ -/******/ if (errors.length > 0) { -/******/ return setStatus("abort").then(function () { -/******/ throw errors[0]; -/******/ }); -/******/ } -/******/ -/******/ // Now in "dispose" phase -/******/ var disposePromise = setStatus("dispose"); -/******/ -/******/ results.forEach(function (result) { -/******/ if (result.dispose) result.dispose(); -/******/ }); -/******/ -/******/ // Now in "apply" phase -/******/ var applyPromise = setStatus("apply"); -/******/ -/******/ var error; -/******/ var reportError = function (err) { -/******/ if (!error) error = err; -/******/ }; -/******/ -/******/ var outdatedModules = []; -/******/ results.forEach(function (result) { -/******/ if (result.apply) { -/******/ var modules = result.apply(reportError); -/******/ if (modules) { -/******/ for (var i = 0; i < modules.length; i++) { -/******/ outdatedModules.push(modules[i]); -/******/ } -/******/ } -/******/ } -/******/ }); -/******/ -/******/ return Promise.all([disposePromise, applyPromise]).then(function () { -/******/ // handle errors in accept handlers and self accepted module load -/******/ if (error) { -/******/ return setStatus("fail").then(function () { -/******/ throw error; -/******/ }); -/******/ } -/******/ -/******/ if (queuedInvalidatedModules) { -/******/ return internalApply(options).then(function (list) { -/******/ outdatedModules.forEach(function (moduleId) { -/******/ if (list.indexOf(moduleId) < 0) list.push(moduleId); -/******/ }); -/******/ return list; -/******/ }); -/******/ } -/******/ -/******/ return setStatus("idle").then(function () { -/******/ return outdatedModules; -/******/ }); -/******/ }); -/******/ } -/******/ -/******/ function applyInvalidatedModules() { -/******/ if (queuedInvalidatedModules) { -/******/ if (!currentUpdateApplyHandlers) currentUpdateApplyHandlers = []; -/******/ Object.keys(__webpack_require__.hmrI).forEach(function (key) { -/******/ queuedInvalidatedModules.forEach(function (moduleId) { -/******/ __webpack_require__.hmrI[key]( -/******/ moduleId, -/******/ currentUpdateApplyHandlers -/******/ ); -/******/ }); -/******/ }); -/******/ queuedInvalidatedModules = undefined; -/******/ return true; -/******/ } -/******/ } -/******/ }(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ !function() { -/******/ __webpack_require__.p = "/_next/"; -/******/ }(); -/******/ -/******/ /* webpack/runtime/react refresh */ -/******/ !function() { -/******/ if (__webpack_require__.i) { -/******/ __webpack_require__.i.push(function(options) { -/******/ var originalFactory = options.factory; -/******/ options.factory = function(moduleObject, moduleExports, webpackRequire) { -/******/ var hasRefresh = typeof self !== "undefined" && !!self.$RefreshInterceptModuleExecution$; -/******/ var cleanup = hasRefresh ? self.$RefreshInterceptModuleExecution$(moduleObject.id) : function() {}; -/******/ try { -/******/ originalFactory.call(this, moduleObject, moduleExports, webpackRequire); -/******/ } finally { -/******/ cleanup(); -/******/ } -/******/ } -/******/ }) -/******/ } -/******/ }(); -/******/ -/******/ /* webpack/runtime/compat */ -/******/ -/******/ -/******/ // noop fns to prevent runtime errors during initialization -/******/ if (typeof self !== "undefined") { -/******/ self.$RefreshReg$ = function () {}; -/******/ self.$RefreshSig$ = function () { -/******/ return function (type) { -/******/ return type; -/******/ }; -/******/ }; -/******/ } -/******/ -/******/ /* webpack/runtime/css loading */ -/******/ !function() { -/******/ var createStylesheet = function(chunkId, fullhref, resolve, reject) { -/******/ var linkTag = document.createElement("link"); -/******/ -/******/ linkTag.rel = "stylesheet"; -/******/ linkTag.type = "text/css"; -/******/ var onLinkComplete = function(event) { -/******/ // avoid mem leaks. -/******/ linkTag.onerror = linkTag.onload = null; -/******/ if (event.type === 'load') { -/******/ resolve(); -/******/ } else { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realHref = event && event.target && event.target.href || fullhref; -/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")"); -/******/ err.code = "CSS_CHUNK_LOAD_FAILED"; -/******/ err.type = errorType; -/******/ err.request = realHref; -/******/ linkTag.parentNode.removeChild(linkTag) -/******/ reject(err); -/******/ } -/******/ } -/******/ linkTag.onerror = linkTag.onload = onLinkComplete; -/******/ linkTag.href = fullhref; -/******/ -/******/ document.head.appendChild(linkTag); -/******/ return linkTag; -/******/ }; -/******/ var findStylesheet = function(href, fullhref) { -/******/ var existingLinkTags = document.getElementsByTagName("link"); -/******/ for(var i = 0; i < existingLinkTags.length; i++) { -/******/ var tag = existingLinkTags[i]; -/******/ var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href"); -/******/ if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return tag; -/******/ } -/******/ var existingStyleTags = document.getElementsByTagName("style"); -/******/ for(var i = 0; i < existingStyleTags.length; i++) { -/******/ var tag = existingStyleTags[i]; -/******/ var dataHref = tag.getAttribute("data-href"); -/******/ if(dataHref === href || dataHref === fullhref) return tag; -/******/ } -/******/ }; -/******/ var loadStylesheet = function(chunkId) { -/******/ return new Promise(function(resolve, reject) { -/******/ var href = __webpack_require__.miniCssF(chunkId); -/******/ var fullhref = __webpack_require__.p + href; -/******/ if(findStylesheet(href, fullhref)) return resolve(); -/******/ createStylesheet(chunkId, fullhref, resolve, reject); -/******/ }); -/******/ } -/******/ // no chunk loading -/******/ -/******/ var oldTags = []; -/******/ var newTags = []; -/******/ var applyHandler = function(options) { -/******/ return { dispose: function() { -/******/ for(var i = 0; i < oldTags.length; i++) { -/******/ var oldTag = oldTags[i]; -/******/ if(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag); -/******/ } -/******/ oldTags.length = 0; -/******/ }, apply: function() { -/******/ for(var i = 0; i < newTags.length; i++) newTags[i].rel = "stylesheet"; -/******/ newTags.length = 0; -/******/ } }; -/******/ } -/******/ __webpack_require__.hmrC.miniCss = function(chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) { -/******/ applyHandlers.push(applyHandler); -/******/ chunkIds.forEach(function(chunkId) { -/******/ var href = __webpack_require__.miniCssF(chunkId); -/******/ var fullhref = __webpack_require__.p + href; -/******/ var oldTag = findStylesheet(href, fullhref); -/******/ if(!oldTag) return; -/******/ promises.push(new Promise(function(resolve, reject) { -/******/ var tag = createStylesheet(chunkId, fullhref, function() { -/******/ tag.as = "style"; -/******/ tag.rel = "preload"; -/******/ resolve(); -/******/ }, reject); -/******/ oldTags.push(oldTag); -/******/ newTags.push(tag); -/******/ })); -/******/ }); -/******/ } -/******/ }(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ !function() { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = __webpack_require__.hmrS_jsonp = __webpack_require__.hmrS_jsonp || { -/******/ "webpack": 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = function(chunkId, promises) { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means "already installed". -/******/ -/******/ // a Promise means "currently loading". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if("webpack" != chunkId) { -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; }); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = function(event) { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId); -/******/ } else installedChunks[chunkId] = 0; -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ var currentUpdatedModulesList; -/******/ var waitingUpdateResolves = {}; -/******/ function loadUpdateChunk(chunkId, updatedModulesList) { -/******/ currentUpdatedModulesList = updatedModulesList; -/******/ return new Promise(function(resolve, reject) { -/******/ waitingUpdateResolves[chunkId] = resolve; -/******/ // start update chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.hu(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = function(event) { -/******/ if(waitingUpdateResolves[chunkId]) { -/******/ waitingUpdateResolves[chunkId] = undefined -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading hot update chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ reject(error); -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded); -/******/ }); -/******/ } -/******/ -/******/ self["webpackHotUpdate_N_E"] = function(chunkId, moreModules, runtime) { -/******/ for(var moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ currentUpdate[moduleId] = moreModules[moduleId]; -/******/ if(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId); -/******/ } -/******/ } -/******/ if(runtime) currentUpdateRuntime.push(runtime); -/******/ if(waitingUpdateResolves[chunkId]) { -/******/ waitingUpdateResolves[chunkId](); -/******/ waitingUpdateResolves[chunkId] = undefined; -/******/ } -/******/ }; -/******/ -/******/ var currentUpdateChunks; -/******/ var currentUpdate; -/******/ var currentUpdateRemovedChunks; -/******/ var currentUpdateRuntime; -/******/ function applyHandler(options) { -/******/ if (__webpack_require__.f) delete __webpack_require__.f.jsonpHmr; -/******/ currentUpdateChunks = undefined; -/******/ function getAffectedModuleEffects(updateModuleId) { -/******/ var outdatedModules = [updateModuleId]; -/******/ var outdatedDependencies = {}; -/******/ -/******/ var queue = outdatedModules.map(function (id) { -/******/ return { -/******/ chain: [id], -/******/ id: id -/******/ }; -/******/ }); -/******/ while (queue.length > 0) { -/******/ var queueItem = queue.pop(); -/******/ var moduleId = queueItem.id; -/******/ var chain = queueItem.chain; -/******/ var module = __webpack_require__.c[moduleId]; -/******/ if ( -/******/ !module || -/******/ (module.hot._selfAccepted && !module.hot._selfInvalidated) -/******/ ) -/******/ continue; -/******/ if (module.hot._selfDeclined) { -/******/ return { -/******/ type: "self-declined", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ if (module.hot._main) { -/******/ return { -/******/ type: "unaccepted", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ for (var i = 0; i < module.parents.length; i++) { -/******/ var parentId = module.parents[i]; -/******/ var parent = __webpack_require__.c[parentId]; -/******/ if (!parent) continue; -/******/ if (parent.hot._declinedDependencies[moduleId]) { -/******/ return { -/******/ type: "declined", -/******/ chain: chain.concat([parentId]), -/******/ moduleId: moduleId, -/******/ parentId: parentId -/******/ }; -/******/ } -/******/ if (outdatedModules.indexOf(parentId) !== -1) continue; -/******/ if (parent.hot._acceptedDependencies[moduleId]) { -/******/ if (!outdatedDependencies[parentId]) -/******/ outdatedDependencies[parentId] = []; -/******/ addAllToSet(outdatedDependencies[parentId], [moduleId]); -/******/ continue; -/******/ } -/******/ delete outdatedDependencies[parentId]; -/******/ outdatedModules.push(parentId); -/******/ queue.push({ -/******/ chain: chain.concat([parentId]), -/******/ id: parentId -/******/ }); -/******/ } -/******/ } -/******/ -/******/ return { -/******/ type: "accepted", -/******/ moduleId: updateModuleId, -/******/ outdatedModules: outdatedModules, -/******/ outdatedDependencies: outdatedDependencies -/******/ }; -/******/ } -/******/ -/******/ function addAllToSet(a, b) { -/******/ for (var i = 0; i < b.length; i++) { -/******/ var item = b[i]; -/******/ if (a.indexOf(item) === -1) a.push(item); -/******/ } -/******/ } -/******/ -/******/ // at begin all updates modules are outdated -/******/ // the "outdated" status can propagate to parents if they don't accept the children -/******/ var outdatedDependencies = {}; -/******/ var outdatedModules = []; -/******/ var appliedUpdate = {}; -/******/ -/******/ var warnUnexpectedRequire = function warnUnexpectedRequire(module) { -/******/ console.warn( -/******/ "[HMR] unexpected require(" + module.id + ") to disposed module" -/******/ ); -/******/ }; -/******/ -/******/ for (var moduleId in currentUpdate) { -/******/ if (__webpack_require__.o(currentUpdate, moduleId)) { -/******/ var newModuleFactory = currentUpdate[moduleId]; -/******/ /** @type {TODO} */ -/******/ var result; -/******/ if (newModuleFactory) { -/******/ result = getAffectedModuleEffects(moduleId); -/******/ } else { -/******/ result = { -/******/ type: "disposed", -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ /** @type {Error|false} */ -/******/ var abortError = false; -/******/ var doApply = false; -/******/ var doDispose = false; -/******/ var chainInfo = ""; -/******/ if (result.chain) { -/******/ chainInfo = "\nUpdate propagation: " + result.chain.join(" -> "); -/******/ } -/******/ switch (result.type) { -/******/ case "self-declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of self decline: " + -/******/ result.moduleId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of declined dependency: " + -/******/ result.moduleId + -/******/ " in " + -/******/ result.parentId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "unaccepted": -/******/ if (options.onUnaccepted) options.onUnaccepted(result); -/******/ if (!options.ignoreUnaccepted) -/******/ abortError = new Error( -/******/ "Aborted because " + moduleId + " is not accepted" + chainInfo -/******/ ); -/******/ break; -/******/ case "accepted": -/******/ if (options.onAccepted) options.onAccepted(result); -/******/ doApply = true; -/******/ break; -/******/ case "disposed": -/******/ if (options.onDisposed) options.onDisposed(result); -/******/ doDispose = true; -/******/ break; -/******/ default: -/******/ throw new Error("Unexception type " + result.type); -/******/ } -/******/ if (abortError) { -/******/ return { -/******/ error: abortError -/******/ }; -/******/ } -/******/ if (doApply) { -/******/ appliedUpdate[moduleId] = newModuleFactory; -/******/ addAllToSet(outdatedModules, result.outdatedModules); -/******/ for (moduleId in result.outdatedDependencies) { -/******/ if (__webpack_require__.o(result.outdatedDependencies, moduleId)) { -/******/ if (!outdatedDependencies[moduleId]) -/******/ outdatedDependencies[moduleId] = []; -/******/ addAllToSet( -/******/ outdatedDependencies[moduleId], -/******/ result.outdatedDependencies[moduleId] -/******/ ); -/******/ } -/******/ } -/******/ } -/******/ if (doDispose) { -/******/ addAllToSet(outdatedModules, [result.moduleId]); -/******/ appliedUpdate[moduleId] = warnUnexpectedRequire; -/******/ } -/******/ } -/******/ } -/******/ currentUpdate = undefined; -/******/ -/******/ // Store self accepted outdated modules to require them later by the module system -/******/ var outdatedSelfAcceptedModules = []; -/******/ for (var j = 0; j < outdatedModules.length; j++) { -/******/ var outdatedModuleId = outdatedModules[j]; -/******/ var module = __webpack_require__.c[outdatedModuleId]; -/******/ if ( -/******/ module && -/******/ (module.hot._selfAccepted || module.hot._main) && -/******/ // removed self-accepted modules should not be required -/******/ appliedUpdate[outdatedModuleId] !== warnUnexpectedRequire && -/******/ // when called invalidate self-accepting is not possible -/******/ !module.hot._selfInvalidated -/******/ ) { -/******/ outdatedSelfAcceptedModules.push({ -/******/ module: outdatedModuleId, -/******/ require: module.hot._requireSelf, -/******/ errorHandler: module.hot._selfAccepted -/******/ }); -/******/ } -/******/ } -/******/ -/******/ var moduleOutdatedDependencies; -/******/ -/******/ return { -/******/ dispose: function () { -/******/ currentUpdateRemovedChunks.forEach(function (chunkId) { -/******/ delete installedChunks[chunkId]; -/******/ }); -/******/ currentUpdateRemovedChunks = undefined; -/******/ -/******/ var idx; -/******/ var queue = outdatedModules.slice(); -/******/ while (queue.length > 0) { -/******/ var moduleId = queue.pop(); -/******/ var module = __webpack_require__.c[moduleId]; -/******/ if (!module) continue; -/******/ -/******/ var data = {}; -/******/ -/******/ // Call dispose handlers -/******/ var disposeHandlers = module.hot._disposeHandlers; -/******/ for (j = 0; j < disposeHandlers.length; j++) { -/******/ disposeHandlers[j].call(null, data); -/******/ } -/******/ __webpack_require__.hmrD[moduleId] = data; -/******/ -/******/ // disable module (this disables requires from this module) -/******/ module.hot.active = false; -/******/ -/******/ // remove module from cache -/******/ delete __webpack_require__.c[moduleId]; -/******/ -/******/ // when disposing there is no need to call dispose handler -/******/ delete outdatedDependencies[moduleId]; -/******/ -/******/ // remove "parents" references from all children -/******/ for (j = 0; j < module.children.length; j++) { -/******/ var child = __webpack_require__.c[module.children[j]]; -/******/ if (!child) continue; -/******/ idx = child.parents.indexOf(moduleId); -/******/ if (idx >= 0) { -/******/ child.parents.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ -/******/ // remove outdated dependency from module children -/******/ var dependency; -/******/ for (var outdatedModuleId in outdatedDependencies) { -/******/ if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) { -/******/ module = __webpack_require__.c[outdatedModuleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = -/******/ outdatedDependencies[outdatedModuleId]; -/******/ for (j = 0; j < moduleOutdatedDependencies.length; j++) { -/******/ dependency = moduleOutdatedDependencies[j]; -/******/ idx = module.children.indexOf(dependency); -/******/ if (idx >= 0) module.children.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ }, -/******/ apply: function (reportError) { -/******/ // insert new code -/******/ for (var updateModuleId in appliedUpdate) { -/******/ if (__webpack_require__.o(appliedUpdate, updateModuleId)) { -/******/ __webpack_require__.m[updateModuleId] = appliedUpdate[updateModuleId]; -/******/ } -/******/ } -/******/ -/******/ // run new runtime modules -/******/ for (var i = 0; i < currentUpdateRuntime.length; i++) { -/******/ currentUpdateRuntime[i](__webpack_require__); -/******/ } -/******/ -/******/ // call accept handlers -/******/ for (var outdatedModuleId in outdatedDependencies) { -/******/ if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) { -/******/ var module = __webpack_require__.c[outdatedModuleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = -/******/ outdatedDependencies[outdatedModuleId]; -/******/ var callbacks = []; -/******/ var errorHandlers = []; -/******/ var dependenciesForCallbacks = []; -/******/ for (var j = 0; j < moduleOutdatedDependencies.length; j++) { -/******/ var dependency = moduleOutdatedDependencies[j]; -/******/ var acceptCallback = -/******/ module.hot._acceptedDependencies[dependency]; -/******/ var errorHandler = -/******/ module.hot._acceptedErrorHandlers[dependency]; -/******/ if (acceptCallback) { -/******/ if (callbacks.indexOf(acceptCallback) !== -1) continue; -/******/ callbacks.push(acceptCallback); -/******/ errorHandlers.push(errorHandler); -/******/ dependenciesForCallbacks.push(dependency); -/******/ } -/******/ } -/******/ for (var k = 0; k < callbacks.length; k++) { -/******/ try { -/******/ callbacks[k].call(null, moduleOutdatedDependencies); -/******/ } catch (err) { -/******/ if (typeof errorHandlers[k] === "function") { -/******/ try { -/******/ errorHandlers[k](err, { -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k] -/******/ }); -/******/ } catch (err2) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "accept-error-handler-errored", -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k], -/******/ error: err2, -/******/ originalError: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err2); -/******/ reportError(err); -/******/ } -/******/ } -/******/ } else { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "accept-errored", -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k], -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ // Load self accepted modules -/******/ for (var o = 0; o < outdatedSelfAcceptedModules.length; o++) { -/******/ var item = outdatedSelfAcceptedModules[o]; -/******/ var moduleId = item.module; -/******/ try { -/******/ item.require(moduleId); -/******/ } catch (err) { -/******/ if (typeof item.errorHandler === "function") { -/******/ try { -/******/ item.errorHandler(err, { -/******/ moduleId: moduleId, -/******/ module: __webpack_require__.c[moduleId] -/******/ }); -/******/ } catch (err2) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-error-handler-errored", -/******/ moduleId: moduleId, -/******/ error: err2, -/******/ originalError: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err2); -/******/ reportError(err); -/******/ } -/******/ } -/******/ } else { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-errored", -/******/ moduleId: moduleId, -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ return outdatedModules; -/******/ } -/******/ }; -/******/ } -/******/ __webpack_require__.hmrI.jsonp = function (moduleId, applyHandlers) { -/******/ if (!currentUpdate) { -/******/ currentUpdate = {}; -/******/ currentUpdateRuntime = []; -/******/ currentUpdateRemovedChunks = []; -/******/ applyHandlers.push(applyHandler); -/******/ } -/******/ if (!__webpack_require__.o(currentUpdate, moduleId)) { -/******/ currentUpdate[moduleId] = __webpack_require__.m[moduleId]; -/******/ } -/******/ }; -/******/ __webpack_require__.hmrC.jsonp = function ( -/******/ chunkIds, -/******/ removedChunks, -/******/ removedModules, -/******/ promises, -/******/ applyHandlers, -/******/ updatedModulesList -/******/ ) { -/******/ applyHandlers.push(applyHandler); -/******/ currentUpdateChunks = {}; -/******/ currentUpdateRemovedChunks = removedChunks; -/******/ currentUpdate = removedModules.reduce(function (obj, key) { -/******/ obj[key] = false; -/******/ return obj; -/******/ }, {}); -/******/ currentUpdateRuntime = []; -/******/ chunkIds.forEach(function (chunkId) { -/******/ if ( -/******/ __webpack_require__.o(installedChunks, chunkId) && -/******/ installedChunks[chunkId] !== undefined -/******/ ) { -/******/ promises.push(loadUpdateChunk(chunkId, updatedModulesList)); -/******/ currentUpdateChunks[chunkId] = true; -/******/ } else { -/******/ currentUpdateChunks[chunkId] = false; -/******/ } -/******/ }); -/******/ if (__webpack_require__.f) { -/******/ __webpack_require__.f.jsonpHmr = function (chunkId, promises) { -/******/ if ( -/******/ currentUpdateChunks && -/******/ __webpack_require__.o(currentUpdateChunks, chunkId) && -/******/ !currentUpdateChunks[chunkId] -/******/ ) { -/******/ promises.push(loadUpdateChunk(chunkId)); -/******/ currentUpdateChunks[chunkId] = true; -/******/ } -/******/ }; -/******/ } -/******/ }; -/******/ -/******/ __webpack_require__.hmrM = function() { -/******/ if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API"); -/******/ return fetch(__webpack_require__.p + __webpack_require__.hmrF()).then(function(response) { -/******/ if(response.status === 404) return; // no update available -/******/ if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText); -/******/ return response.json(); -/******/ }); -/******/ }; -/******/ -/******/ __webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; }; -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = function(parentChunkLoadingFunction, data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var runtime = data[2]; -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ return __webpack_require__.O(result); -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ }(); -/******/ -/************************************************************************/ -/******/ -/******/ // module cache are used so entry inlining is disabled -/******/ -/******/ })() -; \ No newline at end of file diff --git a/.next/static/css/app/layout.css b/.next/static/css/app/layout.css deleted file mode 100644 index 1867d32..0000000 --- a/.next/static/css/app/layout.css +++ /dev/null @@ -1,2214 +0,0 @@ -/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[13].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.jsx","import":"Inter","arguments":[{"subsets":["latin"],"display":"swap","variable":"--font-inter"}],"variableName":"inter"} ***! - \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/* cyrillic-ext */ -@font-face { - font-family: '__Inter_36bd41'; - font-style: normal; - font-weight: 100 900; - font-display: swap; - src: url(/_next/static/media/55c55f0601d81cf3-s.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: '__Inter_36bd41'; - font-style: normal; - font-weight: 100 900; - font-display: swap; - src: url(/_next/static/media/26a46d62cd723877-s.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: '__Inter_36bd41'; - font-style: normal; - font-weight: 100 900; - font-display: swap; - src: url(/_next/static/media/97e0cb1ae144a2a9-s.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: '__Inter_36bd41'; - font-style: normal; - font-weight: 100 900; - font-display: swap; - src: url(/_next/static/media/581909926a08bbc8-s.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* vietnamese */ -@font-face { - font-family: '__Inter_36bd41'; - font-style: normal; - font-weight: 100 900; - font-display: swap; - src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: '__Inter_36bd41'; - font-style: normal; - font-weight: 100 900; - font-display: swap; - src: url(/_next/static/media/6d93bde91c0c2823-s.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: '__Inter_36bd41'; - font-style: normal; - font-weight: 100 900; - font-display: swap; - src: url(/_next/static/media/a34f9d1faa5f3315-s.p.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -}@font-face {font-family: '__Inter_Fallback_36bd41';src: local("Arial");ascent-override: 90.49%;descent-override: 22.56%;line-gap-override: 0.00%;size-adjust: 107.06% -}.__className_36bd41 {font-family: '__Inter_36bd41', '__Inter_Fallback_36bd41';font-style: normal -}.__variable_36bd41 {--font-inter: '__Inter_36bd41', '__Inter_Fallback_36bd41' -} - -/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[13].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.jsx","import":"DM_Sans","arguments":[{"subsets":["latin"],"weight":["400","500","700"],"display":"swap","variable":"--font-dm-sans"}],"variableName":"dmSans"} ***! - \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/* latin-ext */ -@font-face { - font-family: '__DM_Sans_8a1573'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/_next/static/media/56d4c7a1c09c3371-s.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: '__DM_Sans_8a1573'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/_next/static/media/7e6a2e30184bb114-s.p.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* latin-ext */ -@font-face { - font-family: '__DM_Sans_8a1573'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/_next/static/media/56d4c7a1c09c3371-s.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: '__DM_Sans_8a1573'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/_next/static/media/7e6a2e30184bb114-s.p.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* latin-ext */ -@font-face { - font-family: '__DM_Sans_8a1573'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/_next/static/media/56d4c7a1c09c3371-s.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: '__DM_Sans_8a1573'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/_next/static/media/7e6a2e30184bb114-s.p.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -}@font-face {font-family: '__DM_Sans_Fallback_8a1573';src: local("Arial");ascent-override: 94.90%;descent-override: 29.66%;line-gap-override: 0.00%;size-adjust: 104.53% -}.__className_8a1573 {font-family: '__DM_Sans_8a1573', '__DM_Sans_Fallback_8a1573';font-style: normal -}.__variable_8a1573 {--font-dm-sans: '__DM_Sans_8a1573', '__DM_Sans_Fallback_8a1573' -} - -/*!*********************************************************************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!./src/styles/tailwind.css ***! - \*********************************************************************************************************************************************************************************************************************************************************************/ -/* -! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com -*//* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; /* 1 */ - border-width: 0; /* 2 */ - border-style: solid; /* 2 */ - border-color: #e5e7eb; /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -5. Use the user's configured `sans` font-feature-settings by default. -6. Use the user's configured `sans` font-variation-settings by default. -7. Disable tap highlights on iOS -*/ - -html, -:host { - line-height: 1.5; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -moz-tab-size: 4; /* 3 */ - -o-tab-size: 4; - tab-size: 4; /* 3 */ - font-family: var(--font-inter); /* 4 */ - font-feature-settings: normal; /* 5 */ - font-variation-settings: normal; /* 6 */ - -webkit-tap-highlight-color: transparent; /* 7 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; /* 1 */ - line-height: inherit; /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; /* 1 */ - color: inherit; /* 2 */ - border-top-width: 1px; /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font-family by default. -2. Use the user's configured `mono` font-feature-settings by default. -3. Use the user's configured `mono` font-variation-settings by default. -4. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ - font-feature-settings: normal; /* 2 */ - font-variation-settings: normal; /* 3 */ - font-size: 1em; /* 4 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; /* 1 */ - border-color: inherit; /* 2 */ - border-collapse: collapse; /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-feature-settings: inherit; /* 1 */ - font-variation-settings: inherit; /* 1 */ - font-size: 100%; /* 1 */ - font-weight: inherit; /* 1 */ - line-height: inherit; /* 1 */ - color: inherit; /* 1 */ - margin: 0; /* 2 */ - padding: 0; /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -[type='button'], -[type='reset'], -[type='submit'] { - -webkit-appearance: button; /* 1 */ - background-color: transparent; /* 2 */ - background-image: none; /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -fieldset { - margin: 0; - padding: 0; -} - -legend { - padding: 0; -} - -ol, -ul, -menu { - list-style: none; - margin: 0; - padding: 0; -} - -/* -Reset default styling for dialogs. -*/ -dialog { - padding: 0; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; /* 1 */ - color: #9ca3af; /* 2 */ -} - -input::placeholder, -textarea::placeholder { - opacity: 1; /* 1 */ - color: #9ca3af; /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; /* 1 */ - vertical-align: middle; /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -/* Make elements with the HTML hidden attribute stay hidden by default */ -[hidden] { - display: none; -} - -*, ::before, ::after { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; -} - -::backdrop { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; -} -.aspect-h-2 { - --tw-aspect-h: 2; -} -.aspect-w-3 { - position: relative; - padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%); - --tw-aspect-w: 3; -} -.aspect-w-3 > * { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} -.invisible { - visibility: hidden; -} -.fixed { - position: fixed; -} -.absolute { - position: absolute; -} -.relative { - position: relative; -} -.inset-0 { - inset: 0px; -} -.-inset-x-20 { - left: -5rem; - right: -5rem; -} -.inset-x-0 { - left: 0px; - right: 0px; -} -.-bottom-14 { - bottom: -3.5rem; -} -.-bottom-32 { - bottom: -8rem; -} -.-top-20 { - top: -5rem; -} -.-top-36 { - top: -9rem; -} -.-top-40 { - top: -10rem; -} -.bottom-0 { - bottom: 0px; -} -.bottom-6 { - bottom: 1.5rem; -} -.left-0 { - left: 0px; -} -.left-0\.5 { - left: 0.125rem; -} -.left-1 { - left: 0.25rem; -} -.left-1\/2 { - left: 50%; -} -.left-\[-0\.5px\] { - left: -0.5px; -} -.left-full { - left: 100%; -} -.right-4 { - right: 1rem; -} -.top-0 { - top: 0px; -} -.top-1 { - top: 0.25rem; -} -.top-2 { - top: 0.5rem; -} -.top-\[0\.5625rem\] { - top: 0.5625rem; -} -.-z-10 { - z-index: -10; -} -.z-10 { - z-index: 10; -} -.z-50 { - z-index: 50; -} -.-m-2 { - margin: -0.5rem; -} -.-m-2\.5 { - margin: -0.625rem; -} -.-mx-4 { - margin-left: -1rem; - margin-right: -1rem; -} -.-my-2 { - margin-top: -0.5rem; - margin-bottom: -0.5rem; -} -.-my-2\.5 { - margin-top: -0.625rem; - margin-bottom: -0.625rem; -} -.mx-0 { - margin-left: 0px; - margin-right: 0px; -} -.mx-auto { - margin-left: auto; - margin-right: auto; -} -.my-5 { - margin-top: 1.25rem; - margin-bottom: 1.25rem; -} -.my-6 { - margin-top: 1.5rem; - margin-bottom: 1.5rem; -} -.-mt-0 { - margin-top: -0px; -} -.-mt-0\.5 { - margin-top: -0.125rem; -} -.mb-12 { - margin-bottom: 3rem; -} -.mb-2 { - margin-bottom: 0.5rem; -} -.mb-20 { - margin-bottom: 5rem; -} -.mb-4 { - margin-bottom: 1rem; -} -.mb-6 { - margin-bottom: 1.5rem; -} -.mb-8 { - margin-bottom: 2rem; -} -.ml-6 { - margin-left: 1.5rem; -} -.mt-0 { - margin-top: 0px; -} -.mt-0\.5 { - margin-top: 0.125rem; -} -.mt-1 { - margin-top: 0.25rem; -} -.mt-1\.5 { - margin-top: 0.375rem; -} -.mt-10 { - margin-top: 2.5rem; -} -.mt-12 { - margin-top: 3rem; -} -.mt-14 { - margin-top: 3.5rem; -} -.mt-16 { - margin-top: 4rem; -} -.mt-2 { - margin-top: 0.5rem; -} -.mt-20 { - margin-top: 5rem; -} -.mt-4 { - margin-top: 1rem; -} -.mt-5 { - margin-top: 1.25rem; -} -.mt-6 { - margin-top: 1.5rem; -} -.mt-8 { - margin-top: 2rem; -} -.mb-24 { - margin-bottom: 6rem; -} -.block { - display: block; -} -.inline-block { - display: inline-block; -} -.inline { - display: inline; -} -.flex { - display: flex; -} -.inline-flex { - display: inline-flex; -} -.grid { - display: grid; -} -.hidden { - display: none; -} -.h-1 { - height: 0.25rem; -} -.h-1\.5 { - height: 0.375rem; -} -.h-12 { - height: 3rem; -} -.h-20 { - height: 5rem; -} -.h-4 { - height: 1rem; -} -.h-5 { - height: 1.25rem; -} -.h-6 { - height: 1.5rem; -} -.h-7 { - height: 1.75rem; -} -.h-8 { - height: 2rem; -} -.h-\[17\.5rem\] { - height: 17.5rem; -} -.h-full { - height: 100%; -} -.h-px { - height: 1px; -} -.min-h-full { - min-height: 100%; -} -.w-1 { - width: 0.25rem; -} -.w-1\.5 { - width: 0.375rem; -} -.w-3\/4 { - width: 75%; -} -.w-4 { - width: 1rem; -} -.w-48 { - width: 12rem; -} -.w-5 { - width: 1.25rem; -} -.w-6 { - width: 1.5rem; -} -.w-8 { - width: 2rem; -} -.w-\[48rem\] { - width: 48rem; -} -.w-auto { - width: auto; -} -.w-full { - width: 100%; -} -.w-px { - width: 1px; -} -.max-w-2xl { - max-width: 40rem; -} -.max-w-4xl { - max-width: 56rem; -} -.max-w-6xl { - max-width: 72rem; -} -.max-w-7xl { - max-width: 80rem; -} -.max-w-none { - max-width: none; -} -.max-w-xl { - max-width: 36rem; -} -.flex-auto { - flex: 1 1 auto; -} -.flex-none { - flex: none; -} -.grow { - flex-grow: 1; -} -.-translate-x-1\/2 { - --tw-translate-x: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-x-\[-10\%\] { - --tw-translate-x: -10%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-x-\[-55\%\] { - --tw-translate-x: -55%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-y-\[-10\%\] { - --tw-translate-y: -10%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-y-\[-45\%\] { - --tw-translate-y: -45%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.-scale-x-100 { - --tw-scale-x: -1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.transform { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.auto-cols-auto { - grid-auto-columns: auto; -} -.grid-flow-col { - grid-auto-flow: column; -} -.grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); -} -.grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); -} -.flex-col { - flex-direction: column; -} -.flex-wrap { - flex-wrap: wrap; -} -.items-start { - align-items: flex-start; -} -.items-end { - align-items: flex-end; -} -.items-center { - align-items: center; -} -.justify-start { - justify-content: flex-start; -} -.justify-end { - justify-content: flex-end; -} -.justify-center { - justify-content: center; -} -.justify-between { - justify-content: space-between; -} -.gap-8 { - gap: 2rem; -} -.gap-x-10 { - -moz-column-gap: 2.5rem; - column-gap: 2.5rem; -} -.gap-x-16 { - -moz-column-gap: 4rem; - column-gap: 4rem; -} -.gap-x-32 { - -moz-column-gap: 8rem; - column-gap: 8rem; -} -.gap-x-4 { - -moz-column-gap: 1rem; - column-gap: 1rem; -} -.gap-x-6 { - -moz-column-gap: 1.5rem; - column-gap: 1.5rem; -} -.gap-x-8 { - -moz-column-gap: 2rem; - column-gap: 2rem; -} -.gap-y-10 { - row-gap: 2.5rem; -} -.gap-y-12 { - row-gap: 3rem; -} -.gap-y-14 { - row-gap: 3.5rem; -} -.gap-y-16 { - row-gap: 4rem; -} -.gap-y-4 { - row-gap: 1rem; -} -.gap-y-6 { - row-gap: 1.5rem; -} -.gap-y-8 { - row-gap: 2rem; -} -.space-x-2 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.5rem * var(--tw-space-x-reverse)); - margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-x-6 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1.5rem * var(--tw-space-x-reverse)); - margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-x-8 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(2rem * var(--tw-space-x-reverse)); - margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-y-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1rem * var(--tw-space-y-reverse)); -} -.space-y-6 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); -} -.space-y-8 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(2rem * var(--tw-space-y-reverse)); -} -.divide-y > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); -} -.divide-blue-900\/10 > :not([hidden]) ~ :not([hidden]) { - border-color: rgb(30 58 138 / 0.1); -} -.overflow-hidden { - overflow: hidden; -} -.overflow-visible { - overflow: visible; -} -.overflow-x-auto { - overflow-x: auto; -} -.whitespace-nowrap { - white-space: nowrap; -} -.rounded-2xl { - border-radius: 1rem; -} -.rounded-3xl { - border-radius: 1.5rem; -} -.rounded-4xl { - border-radius: 2rem; -} -.rounded-full { - border-radius: 9999px; -} -.rounded-lg { - border-radius: 0.5rem; -} -.rounded-md { - border-radius: 0.375rem; -} -.rounded-sm { - border-radius: 0.125rem; -} -.rounded-xl { - border-radius: 0.75rem; -} -.border { - border-width: 1px; -} -.border-blue-300 { - --tw-border-opacity: 1; - border-color: rgb(147 197 253 / var(--tw-border-opacity)); -} -.border-indigo-300 { - --tw-border-opacity: 1; - border-color: rgb(165 180 252 / var(--tw-border-opacity)); -} -.border-sky-300 { - --tw-border-opacity: 1; - border-color: rgb(125 211 252 / var(--tw-border-opacity)); -} -.bg-blue-700 { - --tw-bg-opacity: 1; - background-color: rgb(29 78 216 / var(--tw-bg-opacity)); -} -.bg-blue-700\/10 { - background-color: rgb(29 78 216 / 0.1); -} -.bg-gray-100 { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} -.bg-indigo-50 { - --tw-bg-opacity: 1; - background-color: rgb(238 242 255 / var(--tw-bg-opacity)); -} -.bg-indigo-500\/10 { - background-color: rgb(99 102 241 / 0.1); -} -.bg-slate-200 { - --tw-bg-opacity: 1; - background-color: rgb(226 232 240 / var(--tw-bg-opacity)); -} -.bg-transparent { - background-color: transparent; -} -.bg-white { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} -.bg-white\/60 { - background-color: rgb(255 255 255 / 0.6); -} -.bg-opacity-75 { - --tw-bg-opacity: 0.75; -} -.bg-gradient-to-b { - background-image: linear-gradient(to bottom, var(--tw-gradient-stops)); -} -.bg-gradient-to-t { - background-image: linear-gradient(to top, var(--tw-gradient-stops)); -} -.from-white { - --tw-gradient-from: #fff var(--tw-gradient-from-position); - --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position); - --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); -} -.fill-blue-500 { - fill: #3b82f6; -} -.fill-transparent { - fill: transparent; -} -.stroke-blue-500 { - stroke: #3b82f6; -} -.stroke-slate-400 { - stroke: #94a3b8; -} -.object-cover { - -o-object-fit: cover; - object-fit: cover; -} -.object-center { - -o-object-position: center; - object-position: center; -} -.p-2 { - padding: 0.5rem; -} -.p-2\.5 { - padding: 0.625rem; -} -.p-4 { - padding: 1rem; -} -.p-6 { - padding: 1.5rem; -} -.px-10 { - padding-left: 2.5rem; - padding-right: 2.5rem; -} -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} -.px-3\.5 { - padding-left: 0.875rem; - padding-right: 0.875rem; -} -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} -.px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; -} -.py-1 { - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} -.py-12 { - padding-top: 3rem; - padding-bottom: 3rem; -} -.py-14 { - padding-top: 3.5rem; - padding-bottom: 3.5rem; -} -.py-16 { - padding-top: 4rem; - padding-bottom: 4rem; -} -.py-2 { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -.py-2\.5 { - padding-top: 0.625rem; - padding-bottom: 0.625rem; -} -.py-20 { - padding-top: 5rem; - padding-bottom: 5rem; -} -.py-24 { - padding-top: 6rem; - padding-bottom: 6rem; -} -.py-3 { - padding-top: 0.75rem; - padding-bottom: 0.75rem; -} -.py-3\.5 { - padding-top: 0.875rem; - padding-bottom: 0.875rem; -} -.py-8 { - padding-top: 2rem; - padding-bottom: 2rem; -} -.pb-12 { - padding-bottom: 3rem; -} -.pb-20 { - padding-bottom: 5rem; -} -.pb-4 { - padding-bottom: 1rem; -} -.pb-8 { - padding-bottom: 2rem; -} -.pl-4 { - padding-left: 1rem; -} -.pl-6 { - padding-left: 1.5rem; -} -.pl-9 { - padding-left: 2.25rem; -} -.pr-12 { - padding-right: 3rem; -} -.pr-2 { - padding-right: 0.5rem; -} -.pr-2\.5 { - padding-right: 0.625rem; -} -.pr-4 { - padding-right: 1rem; -} -.pt-12 { - padding-top: 3rem; -} -.pt-16 { - padding-top: 4rem; -} -.pt-2 { - padding-top: 0.5rem; -} -.pt-24 { - padding-top: 6rem; -} -.pt-6 { - padding-top: 1.5rem; -} -.pt-\[7\%\] { - padding-top: 7%; -} -.text-left { - text-align: left; -} -.text-center { - text-align: center; -} -.font-display { - font-family: var(--font-dm-sans); -} -.font-mono { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} -.text-2xl { - font-size: 1.5rem; - line-height: 2.5rem; -} -.text-3xl { - font-size: 2rem; - line-height: 2.5rem; -} -.text-4xl { - font-size: 2.5rem; - line-height: 3rem; -} -.text-5xl { - font-size: 3rem; - line-height: 3.5rem; -} -.text-base { - font-size: 1rem; - line-height: 1.5rem; -} -.text-lg { - font-size: 1.125rem; - line-height: 2rem; -} -.text-sm { - font-size: 0.875rem; - line-height: 1.5rem; -} -.text-xl { - font-size: 1.25rem; - line-height: 2rem; -} -.font-bold { - font-weight: 700; -} -.font-medium { - font-weight: 500; -} -.font-normal { - font-weight: 400; -} -.font-semibold { - font-weight: 600; -} -.leading-10 { - line-height: 2.5rem; -} -.leading-6 { - line-height: 1.5rem; -} -.leading-7 { - line-height: 1.75rem; -} -.leading-8 { - line-height: 2rem; -} -.leading-tight { - line-height: 1.25; -} -.-tracking-normal { - letter-spacing: -0em; -} -.tracking-tight { - letter-spacing: -0.025em; -} -.tracking-tighter { - letter-spacing: -0.05em; -} -.text-blue-500 { - --tw-text-opacity: 1; - color: rgb(59 130 246 / var(--tw-text-opacity)); -} -.text-blue-600 { - --tw-text-opacity: 1; - color: rgb(37 99 235 / var(--tw-text-opacity)); -} -.text-blue-700 { - --tw-text-opacity: 1; - color: rgb(29 78 216 / var(--tw-text-opacity)); -} -.text-blue-900 { - --tw-text-opacity: 1; - color: rgb(30 58 138 / var(--tw-text-opacity)); -} -.text-gray-700 { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} -.text-slate-500 { - --tw-text-opacity: 1; - color: rgb(100 116 139 / var(--tw-text-opacity)); -} -.text-slate-900 { - --tw-text-opacity: 1; - color: rgb(15 23 42 / var(--tw-text-opacity)); -} -.text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} -.underline { - text-decoration-line: underline; -} -.antialiased { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.opacity-100 { - opacity: 1; -} -.opacity-70 { - opacity: 0.7; -} -.shadow-lg { - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -.shadow-sm { - --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -.shadow-xl { - --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -.shadow-blue-900\/5 { - --tw-shadow-color: rgb(30 58 138 / 0.05); - --tw-shadow: var(--tw-shadow-colored); -} -.ring-1 { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} -.ring-inset { - --tw-ring-inset: inset; -} -.ring-gray-400\/10 { - --tw-ring-color: rgb(156 163 175 / 0.1); -} -.ring-indigo-600\/10 { - --tw-ring-color: rgb(79 70 229 / 0.1); -} -.filter { - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} -.backdrop-blur { - --tw-backdrop-blur: blur(8px); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} -.backdrop-filter { - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} -.transition { - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.duration-300 { - transition-duration: 300ms; -} -@keyframes slide { - 0% { - transform: translateX(0%); - } - 100% { - transform: translateX(-50%); - } -} - -.animate-slide { - display: flex; - width: -moz-max-content; - width: max-content; - animation: slide 15s linear infinite; -} - -.placeholder\:text-slate-400::-moz-placeholder { - --tw-text-opacity: 1; - color: rgb(148 163 184 / var(--tw-text-opacity)); -} - -.placeholder\:text-slate-400::placeholder { - --tw-text-opacity: 1; - color: rgb(148 163 184 / var(--tw-text-opacity)); -} - -.focus-within\:ring-2:focus-within { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.focus-within\:ring-blue-900:focus-within { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(30 58 138 / var(--tw-ring-opacity)); -} - -.hover\:bg-blue-500:hover { - --tw-bg-opacity: 1; - background-color: rgb(59 130 246 / var(--tw-bg-opacity)); -} - -.hover\:text-blue-700:hover { - --tw-text-opacity: 1; - color: rgb(29 78 216 / var(--tw-text-opacity)); -} - -.hover\:text-blue-800:hover { - --tw-text-opacity: 1; - color: rgb(30 64 175 / var(--tw-text-opacity)); -} - -.hover\:text-blue-900:hover { - --tw-text-opacity: 1; - color: rgb(30 58 138 / var(--tw-text-opacity)); -} - -.focus\:outline-none:focus { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.focus-visible\:outline:focus-visible { - outline-style: solid; -} - -.focus-visible\:outline-2:focus-visible { - outline-width: 2px; -} - -.focus-visible\:outline-offset-2:focus-visible { - outline-offset: 2px; -} - -.focus-visible\:outline-blue-500:focus-visible { - outline-color: #3b82f6; -} - -.active\:text-white\/70:active { - color: rgb(255 255 255 / 0.7); -} - -.group:hover .group-hover\:scale-110 { - --tw-scale-x: 1.1; - --tw-scale-y: 1.1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.group:hover .group-hover\:scale-95 { - --tw-scale-x: .95; - --tw-scale-y: .95; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.group:hover .group-hover\:opacity-100 { - opacity: 1; -} - -.group[data-open] .group-data-\[open\]\:hidden { - display: none; -} - -@media (min-width: 640px) { - - .sm\:not-sr-only { - position: static; - width: auto; - height: auto; - padding: 0; - margin: 0; - overflow: visible; - clip: auto; - white-space: normal; - } - - .sm\:left-1\/2 { - left: 50%; - } - - .sm\:-mx-6 { - margin-left: -1.5rem; - margin-right: -1.5rem; - } - - .sm\:mx-0 { - margin-left: 0px; - margin-right: 0px; - } - - .sm\:mx-auto { - margin-left: auto; - margin-right: auto; - } - - .sm\:mt-16 { - margin-top: 4rem; - } - - .sm\:mt-24 { - margin-top: 6rem; - } - - .sm\:block { - display: block; - } - - .sm\:hidden { - display: none; - } - - .sm\:w-\[57rem\] { - width: 57rem; - } - - .sm\:w-auto { - width: auto; - } - - .sm\:max-w-2xl { - max-width: 40rem; - } - - .sm\:translate-x-\[-20\%\] { - --tw-translate-x: -20%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:translate-x-\[-98\%\] { - --tw-translate-x: -98%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:translate-y-\[-15\%\] { - --tw-translate-y: -15%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:translate-y-\[-6\%\] { - --tw-translate-y: -6%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .sm\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .sm\:flex-col { - flex-direction: column; - } - - .sm\:gap-x-6 { - -moz-column-gap: 1.5rem; - column-gap: 1.5rem; - } - - .sm\:gap-y-10 { - row-gap: 2.5rem; - } - - .sm\:gap-y-16 { - row-gap: 4rem; - } - - .sm\:gap-y-20 { - row-gap: 5rem; - } - - .sm\:overflow-visible { - overflow: visible; - } - - .sm\:px-0 { - padding-left: 0px; - padding-right: 0px; - } - - .sm\:px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - .sm\:py-36 { - padding-top: 9rem; - padding-bottom: 9rem; - } - - .sm\:pb-0 { - padding-bottom: 0px; - } - - .sm\:pl-0 { - padding-left: 0px; - } - - .sm\:pr-0 { - padding-right: 0px; - } - - .sm\:pr-8 { - padding-right: 2rem; - } - - .sm\:text-center { - text-align: center; - } - - .sm\:text-4xl { - font-size: 2.5rem; - line-height: 3rem; - } - - .sm\:text-5xl { - font-size: 3rem; - line-height: 3.5rem; - } - - .sm\:text-6xl { - font-size: 4rem; - line-height: 1; - } - - .sm\:text-7xl { - font-size: 5rem; - line-height: 1; - } -} - -@media (min-width: 768px) { - - .md\:mx-0 { - margin-left: 0px; - margin-right: 0px; - } - - .md\:-ml-4 { - margin-left: -1rem; - } - - .md\:mt-0 { - margin-top: 0px; - } - - .md\:mt-24 { - margin-top: 6rem; - } - - .md\:translate-x-0 { - --tw-translate-x: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .md\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .md\:flex-row { - flex-direction: row; - } - - .md\:rounded-5xl { - border-radius: 2.5rem; - } - - .md\:px-16 { - padding-left: 4rem; - padding-right: 4rem; - } -} - -@media (min-width: 1024px) { - - .lg\:order-first { - order: -9999; - } - - .lg\:col-span-3 { - grid-column: span 3 / span 3; - } - - .lg\:mx-0 { - margin-left: 0px; - margin-right: 0px; - } - - .lg\:my-0 { - margin-top: 0px; - margin-bottom: 0px; - } - - .lg\:-ml-0 { - margin-left: -0px; - } - - .lg\:ml-auto { - margin-left: auto; - } - - .lg\:mt-0 { - margin-top: 0px; - } - - .lg\:mt-12 { - margin-top: 3rem; - } - - .lg\:mt-14 { - margin-top: 3.5rem; - } - - .lg\:mt-16 { - margin-top: 4rem; - } - - .lg\:mt-24 { - margin-top: 6rem; - } - - .lg\:mt-4 { - margin-top: 1rem; - } - - .lg\:block { - display: block; - } - - .lg\:flex { - display: flex; - } - - .lg\:grid { - display: grid; - } - - .lg\:hidden { - display: none; - } - - .lg\:h-40 { - height: 10rem; - } - - .lg\:w-40 { - width: 10rem; - } - - .lg\:max-w-2xl { - max-width: 40rem; - } - - .lg\:max-w-3xl { - max-width: 48rem; - } - - .lg\:max-w-4xl { - max-width: 56rem; - } - - .lg\:max-w-6xl { - max-width: 72rem; - } - - .lg\:max-w-lg { - max-width: 32rem; - } - - .lg\:max-w-none { - max-width: none; - } - - .lg\:grow { - flex-grow: 1; - } - - .lg\:basis-0 { - flex-basis: 0px; - } - - .lg\:translate-x-\[-106\%\] { - --tw-translate-x: -106%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .lg\:translate-x-\[-32\%\] { - --tw-translate-x: -32%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .lg\:translate-x-\[5\%\] { - --tw-translate-x: 5%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .lg\:translate-y-\[4\%\] { - --tw-translate-y: 4%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .lg\:auto-cols-auto { - grid-auto-columns: auto; - } - - .lg\:grid-flow-row { - grid-auto-flow: row; - } - - .lg\:grid-flow-col { - grid-auto-flow: column; - } - - .lg\:grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); - } - - .lg\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .lg\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .lg\:grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); - } - - .lg\:grid-cols-none { - grid-template-columns: none; - } - - .lg\:flex-nowrap { - flex-wrap: nowrap; - } - - .lg\:items-center { - align-items: center; - } - - .lg\:justify-start { - justify-content: flex-start; - } - - .lg\:justify-center { - justify-content: center; - } - - .lg\:gap-8 { - gap: 2rem; - } - - .lg\:gap-x-8 { - -moz-column-gap: 2rem; - column-gap: 2rem; - } - - .lg\:gap-y-10 { - row-gap: 2.5rem; - } - - .lg\:px-12 { - padding-left: 3rem; - padding-right: 3rem; - } - - .lg\:px-8 { - padding-left: 2rem; - padding-right: 2rem; - } - - .lg\:py-12 { - padding-top: 3rem; - padding-bottom: 3rem; - } - - .lg\:py-20 { - padding-top: 5rem; - padding-bottom: 5rem; - } - - .lg\:py-24 { - padding-top: 6rem; - padding-bottom: 6rem; - } - - .lg\:py-4 { - padding-top: 1rem; - padding-bottom: 1rem; - } - - .lg\:pb-16 { - padding-bottom: 4rem; - } - - .lg\:pl-4 { - padding-left: 1rem; - } - - .lg\:pl-8 { - padding-left: 2rem; - } - - .lg\:pr-24 { - padding-right: 6rem; - } - - .lg\:pr-8 { - padding-right: 2rem; - } - - .lg\:pt-16 { - padding-top: 4rem; - } - - .lg\:pt-24 { - padding-top: 6rem; - } - - .lg\:pt-4 { - padding-top: 1rem; - } - - .lg\:text-left { - text-align: left; - } - - .lg\:text-2xl { - font-size: 1.5rem; - line-height: 2.5rem; - } - - .lg\:text-4xl { - font-size: 2.5rem; - line-height: 3rem; - } - - .lg\:text-5xl { - font-size: 3rem; - line-height: 3.5rem; - } - - .lg\:text-7xl { - font-size: 5rem; - line-height: 1; - } - - .lg\:text-base { - font-size: 1rem; - line-height: 1.5rem; - } - - .lg\:text-sm { - font-size: 0.875rem; - line-height: 1.5rem; - } - - .lg\:text-xl { - font-size: 1.25rem; - line-height: 2rem; - } - - .lg\:text-xs { - font-size: 0.75rem; - line-height: 1rem; - } -} - -@media (min-width: 1280px) { - - .xl\:right-6 { - right: 1.5rem; - } - - .xl\:max-w-none { - max-width: none; - } - - .xl\:translate-x-\[-122\%\] { - --tw-translate-x: -122%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .xl\:translate-x-\[27\%\] { - --tw-translate-x: 27%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .xl\:translate-y-\[-8\%\] { - --tw-translate-y: -8%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .xl\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .xl\:flex-row { - flex-direction: row; - } - - .xl\:gap-x-12 { - -moz-column-gap: 3rem; - column-gap: 3rem; - } - - .xl\:gap-x-8 { - -moz-column-gap: 2rem; - column-gap: 2rem; - } - - .xl\:px-24 { - padding-left: 6rem; - padding-right: 6rem; - } - - .xl\:py-36 { - padding-top: 9rem; - padding-bottom: 9rem; - } -} - -.group:not([data-open]) .\[\.group\:not\(\[data-open\]\)_\&\]\:hidden { - display: none; -} - diff --git a/.next/static/development/_buildManifest.js b/.next/static/development/_buildManifest.js index fe9d3a9..982f699 100644 --- a/.next/static/development/_buildManifest.js +++ b/.next/static/development/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST = {__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static\u002Fchunks\u002Fpages\u002F_error.js"],sortedPages:["\u002F_app","\u002F_error"]};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() \ No newline at end of file +self.__BUILD_MANIFEST = {__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},sortedPages:["\u002F_app"]};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() \ No newline at end of file diff --git a/.next/static/media/26a46d62cd723877-s.woff2 b/.next/static/media/26a46d62cd723877-s.woff2 deleted file mode 100644 index 3a27e632eb14fffc6fce03483049986ba13f6802..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18820 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 LSoB5S@#X6Pcm_Zx diff --git a/.next/static/media/55c55f0601d81cf3-s.woff2 b/.next/static/media/55c55f0601d81cf3-s.woff2 deleted file mode 100644 index bcf38fd18ee05e4de3d4025cf51939418a14aa53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25908 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 b=EdQ^Fthn1GV9XZ`=;gt=jQ_E3jhEBRKusU diff --git a/.next/static/media/56d4c7a1c09c3371-s.woff2 b/.next/static/media/56d4c7a1c09c3371-s.woff2 deleted file mode 100644 index fb615884d6fa74e7e79d9d56fda4b06f501a3d7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18076 zcmV)8K*qm!Pew8T0RR9107jeu6951J0H9C+07fhT0RR9100000000000000000000 z0000Qgm)XN0vv&MKS)+VQiF8{U_Vn-K~#ZUCo%wpJTGh!2nxqUyABJ3FaR)tnQ8$x z0we>5Tm&EmhY|;kI~yFA2iP`^n|HUW$|M6(oN!~fVdH>}9y4WB1RDoHlrfq8|DTbd z#t?llIRG^?-8vE2K!MFvrl~ZUU7D>n%}VW>bhmP?m|ahWpjV;PbQ}GYi4GmiQ=#L} zt-{6%lR=^_3{E{}TkPhNK!rJa^|7p>H3ir}zof8;7cU~b5{ckXI}A8E2fwes+nu*5 z447nOGWO^pyok7JkDeQ%-P0UY|9nU4j^TfBVenjc2Dp<Wb>t+9Y(_;^&y02@EgYkT zE&$N~yKEuaK!!&^ZO`*__H*t_Lc|Eck~WA1)8*5Y2AYPpNJWi`QZa#wYHCQxrW+RO z0u^QXTg#IFq3P<!YB8V0CpwXtm^JQ|)G%A{B3fGHoaMNET~UQKv0F8uh($Vc4rS?# zC$Iwq6;PG7^-3YAv18N&LmA}i|IcRShk_<agVNG~88L{qTQUZzpCdcG$bbik3p^-j zz^WQPH|t-3>UcZme%}B6w1?9kZhsi&`^ir$DpjCEkxZ}{#E2Ln-XNvW00h3kvEX)3 zTdD!;TkGvw2z1?qQ6sykytskm4Wh;!yI+_f!lBNnksY8zrtUkenzfUMuKcfn%L9V! zauPch3`v3@$23ryVw9^JqmfbeFV$v1tO~$T!%H~n%_ft99pFF@m>QfHa{WtIo_rxu z1rTtUo1V@eZ?(cqks#usy^4iOz_&d&gN{xAl%0YCMBuZf7XjenF;LpPpYivmn(hC) z{~Z<*ZVW6H_A)qQjK4E3^}wBQmD9!Cc|85%14}Hh3ld-$VM%cWfTuA*NplNIHwTgz z1QC=eD%@o!(jmrA$~Uu@mvn+tR_9pdScO=}+^Q*@TDNYx(7E-vEnGLYV9e#aoBh<& zyslT%pE=MVQ$nQ$h^N2z)tuQ>{BwmOmZ-II^2XD-P^Bsw4PkW%#MfSDlk8nW>5pbh zb8?+z9;KdQP&ho@n3IuT#>A%T<OP`qnmWsP%DnooANy(TgDqFgl|~wC0LPKQh*-A# z-ggJnNR1r9x5-zz*IdJ9Sx{+z`exGf`F1j#r37&g5hEou_x@uPa5N1dgTR(ZK$;)} zi3T=}fCdQIyKlzS7H89+hW&}0KU>cd^*mnAkwk$+<qhOfL@y$BiqKO;?IvaiF?)zT zM!hpm3_kB<?hq3vm_Ed{!z}M+`4B7n1wSp!KB?^&ai`RGh_zYyUCQrPWs@pfRo|@o z7S*?DT^F`%Lk(K%)xH#J+wPrpTHhL-JMEouI&}Q>K+VgNGuDdw=5%i6%roxUXM$60 zm|2|IQQzGgaXmBQy0SJ;p*N5^Y17WIi{NUY0b3w90mx7w3<yOH)HY*`tc)s)v`2nX z1dC$*&+xPnmQBM7)Oh|B`EM`c{xzEW7K{P_3CvA3!zpMqSTij#!kr6{d`KG?FUSIf zxG}zSF1YAA;s^<ES;US1jU^%yL`IId^F(}TkcI-05FtpINF-Vuk{}65k&2{gj2LAi zCM}R`c}Q#RkPbQ_U35cw=z;Xo2kECjGSDz&gnVR-iAaG0WSUvX9P^Nc79&e7M^;*c ztg`_rvK85G7qZ7b<bXrS8E24l&f#2e5$8JM$VhOovf@C1IrJ)+>4cp2kPp9l+(^j5 z1L%DX5HN7Vt{*cJKhIL2xqW31)K2zYq?ZSpTd}T$5I~6pF;ELEuMWllgMi0!7*<ba zlLiBmiK*~`+3*dz<D97sixc1hNH`C-){_!h@R1ZV$GY+LcpH&*t)(!YhJ$z`UVO|` z#{A{I;n-V`X{{I-HIYgL@9;IUI`S^If(0Lr+!?w0*k=#JL)~F$%TC!$WK)6lSsj+i zxq7<2g?1lQ!1-g|-wMMQwlS?Qw48*&h6fqd<d_9CDRV;AQsi5FAKT!{^3%0Dv=(YH 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 diff --git a/.next/static/media/581909926a08bbc8-s.woff2 b/.next/static/media/581909926a08bbc8-s.woff2 deleted file mode 100644 index b419d4302a5ae51800e2d227269e065cd4f8e73f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19072 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 D&NB4T diff --git a/.next/static/media/6d93bde91c0c2823-s.woff2 b/.next/static/media/6d93bde91c0c2823-s.woff2 deleted file mode 100644 index 47b01cc0c47f01d6a8e01f842bbf209fd5fac639..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74316 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 diff --git a/.next/static/media/7e6a2e30184bb114-s.p.woff2 b/.next/static/media/7e6a2e30184bb114-s.p.woff2 deleted file mode 100644 index 273c248e7ba678b1f6f7037e7bf4be86812341af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36772 zcmZ6yW0WX5(<R)tZQHhS+O}=mwr$(CZTqxs+ud{DdG7OlGgE((l|NalYFF)@O5!H> zhY0`>;2(=C20;F20Hi$oXU_bewf|ZFzYQxC3p>D{4kucYUtCpCF_Z{QpI=E?P&q)G zoCzQVhTa+x0xBSY=0p%W7!QCUFpdR~4TuCdoCAaaGz<wmf<p@lQz2;RvnYC}x^w64 z7T_*;^DN+I&zyz=bQ*5C-T}by(HFPr_cy!PD4eVvT)t&v<2rs{77-`IfTJ5s6TgO4 zrbLm`0aVfIaKmHnTYFF?KXE99y8B4}(4={B)%kX76k#`J3)k|gbIn#v3>`kTOJQwV z`q2xw#+clVizCCQpe-_V$4{aTVPAz)Z@FF-21fAXgEm+aPa{|Nj3}b$@VUSEmhrQn zMdY~-=W;l1l)r;FEDcY!1T|caZ?x2i$CkDH?tP1j!PO(W9M!=m!mqdXhkunX!=-8p z9)zzSk(X#?=&^I%>-YETE4UunG`M~c!4QMV5Q5nV&=wA%Nt|F<Ksa3yVn~2CR>ljk zVh<oeQPV-;2(B|h5uUxpndWjm#5Ie*&texpepxYyGI%HrJ)^hHa^vL+c(6{i8zgz3 zB=#CCF|@4X8~G|C0h>Wz!L3Sb*`}-O+A^gcmJLH(JUNgpJmH@D3jeL>Yrl@o7pqV6 zdt~Vs-_Y%(#E}{cTAgN07|^n7du?&L6;S=>w>#_mm&_dLU^pTX1PKZ-Fbxis-=wt1 zbhi0*z3#Hkr{~$Xu3VaXC$^23cJH@r>9#jxA-r%rk?{rm$QZJcHZ96>4(*tSdcv&I zA8i0X!#jQH_c!5Me(Awzcm(dZR??Gi-!P=!8^Aum%ilATZSOBy91B*|s_KdNs~=vH zun2O@qWIeacMIkO)pXMZ(NN&w^@zVstVG|eUBrY0<d0gJNoL&Yekh_Ci0fo5@KIS} z4VCeEGDYYppr4u>UB2Fa#hQf`L_oyxI499X?PiAZ3U-NQZAHNN1S0smpOtw|1%5vG zsr(rKM8q!$m1-zd?m>L3wS<|Jsa-kSXRrU8Ia4m?oR$K&wzO>+>GX{+vWFp}Fi<nV z_IzO=X+S?2-O3ZC`_De+>+bF6sI7i0(PDK)650D^6|gh`cETAmM;p>a#;R<1a}-9Y zTb97E{V|O;!98gq`G<;x6c81}mrteY+ACl$W4q~GU?zwcatm|iM^b@|n_c+3y>ve~ zVW9sC5TzA%@fDl68^Spp!EtV&d6#6s!(Yd<WEM`ZMzhN#%U6L$9q0;P)<&<uYYA+{ zyHJdqjvFnntsx65yRzh3ugyz~xz~{2TNx`0e%xrR-+D4_tTNUVVJw$lyrNZ|(_YV- zX4Rl2@9aN+qX}9R_?lw!!ZYLJDFPwN%X(&ix+Y3pwaO<6<^HTM>MfF%P~!*{z9FGw zUf%!u(Y8cUvC(l!lJLbQ=k(kP@AOW;1Aa7tmhvM5sG5k46;-vYn1)nYhghXlQzbJ? z%wc89LBWPGina@ei_U%6qTY5N&D%WFrwD=}A|gT}iHLx0eyi@bS)5OSjt4~;AxpE) z1g^VQwQU>8Sb@`Qc1~a|B0$KDgwjrYYlcLpQzxOyexXeTwR}alc-~<+$)56Ut=dH+ z5hW1uK}KBr;X*XyfmFjRulNTcBGBLw4BO5Sz+|@U6C4TB)RKOD%dwTG5DNSN(L4cS z5g>HnSk`uxG=(XUYI^ALsYoH<;SmUt#L#q{Y5@~zYl>@u))KJ<kiDi}lV9~9vr<V9 zC-tNFJnxhwnMp;JNnOe~t(A7%Z*937n8r<eFHPfTz8f{UTcgQMJ1$kT&3x1<fTw9a zrg2Xt{YGWliOtBZUgNJ`$GC9&8E*zjeC|bTWTp2=Y-NSt6su=Ebtc8!81pc%8<EKw zmGbK~^=UWtby?Euv^{6)=rzsUG_U8m!e?&ST(Z^d)>~{s?ZRofZZ&?Uf38$^Ij!jE zx~!#cTTJ9^zs#X;d#<=_&cfovYU6Y)J6Y_NI|I97kJ@<JjyZigyb>()Lb=F^Y$q+= zOq6>8LivKQfROon0hIzkSZk{PLgvDt-{2hbDtWs{kBxCS8cG9Y=l`)M6Co5K6(Kez zGp17}JCPmfRdP5gOjkB84UvHM(*`LrywT{uPEK^8)JhKAR&3UajBM=D$>i2BmqqVv zL+f-yGmTA6^=s*VA4(~UPZ8b)cm*K<J0Sm6W-CM~dy_C6nzx&a^gM`Y;d6r*I0OF% z@}4*P=_iL&1Pb+*BlDn2s#*@`4+nDGhc(pq_XZ7Ig#Zf)2OQCWmrMYXOaewi3Mx*{ z_udo~l@us}$(JOH*MKcor7hP*E<Zs!2>lSo*8<s=7M8=M8{bEVL;om^7MTdb@oYDQ zw(oi&s={m^07yOW!t|UmL1TUk$btv*?S8}re3CL1X-Am<m?0(J(?QJ#S_Ee}zu`4U z(6KL{^xfdCM#3$I5feFqEPA`1mG-8}jP%$_?F+@@Pd(XO#>KITU0vER=`PpEEJYoZ zPi$V!8t1jmqWGiu-6zjq*sBT6s$;}z?C;jhRaFtKqRiw-aSzow7HQ>;SOoKBr0T9W z-G#CBX-mc|iL<lsY{X!(mr}-nMBw!&CZM5FT6)Z(hOKnxDTUO$wdyfY*_~&o;{;VG z;h^e^F8=m&L3c5=T32lz*|(Pd8rJ=iuQ5%?e1;&Yv6T0((bg?|mx6V@HTuie?Offp zNap$|+%Qj{i_W^ciY?iuXZL-Ppr>oS%Y9zm4bd#?HT$Pm3)WtFXK~Vtl0feqy+JIE z;5*;$6=?3{uvy+R*y10BBHB6DE83p=&qll6N2>^9A1^Y6kEit;a`#;eA31;v9rNp^ zN74e@Q`mX}@7;D>F}cmhE2O#WxjFZBM8Vk<uE4ux&FXbqh~kPEACZa!__POc!!?E} zJvVwro4HVU%5_-MmX5Jl%Osjt{y72j3ti+qo2C4cSTlj-jnLZbi|LnTR9(f&9G+k1 zv6cbTY5-F{bbCFFAS3`#`tEz;cnFT_ATh4>@rj~%BIQ!NgyaIf<Auot0B|7JFCn(+ zx>{SKcc0rj&wT(FA^wS;RkRDF#rjEROzKf6n+aCGpsA;%z27g0@n$In!lZyL|Fr<h zczHoS-{ufcM_GvdU_miBj>Bzo%&dcI&z94N=*)&w2kO}Gn^oK9M_g7v?(~pt4LjS+ z0@*LT>gU77z1MsO_mv<4Xa+0q<%3XLjkGv0k#yKm9<fzO+e{!wkJ?M^+GE1QF1h1m z=9Z|Wk)6a3a@^A9AXev;QBJ9aovc-C1Fzc9&EH+&xmn3gazb34SpHT1);uS8ODA~4 zeEQIwSl^{}Ur6tBbqewChCuqcDA&^1&}{lm<`o-Snq9A3ji{dIY<pE-2<L{(#|xJS z8~AHE^RbI#@zbftM+5**>ZJ-wO!e0zInK#Bv)K&anDCo%Dr6biLOHa4Ov-QBI=-pp zK!n0v@>k-EaqH9cv4eIk-$9G3f+9NtZR!#sIe|&*7*18{by5w1xIa01!hMeoJr%d_ zPT2{*`)@iycCOV&FwV@v99mpAIK$H&4-Yxeotm>S1iw+-qRk^Dd46#-3rR8OOgEwp zl#hKqB&NY)r%joY7G_!Nv}zNle(aC&y>Bb01gJeV_a9+7Va#W|M%O<wI@(3f(tmQ| z8)ok=viEP58kp&7gpuce{c@N;RIZEY3Vs-UC&*NqV7-QV3*kMO;lHEkkttJR;J5KB zYVb|ZwSjYT?Wj3sTxMU?<T%YfAaoEkZ!yHcRm1dW7>w#;C|!NtGf?<kLr%qmW=*B? zmO4t(JR-(?Y&PoaN>^pibYL$JgDriAvhi<xurD3#B9gxEgPF_BZo<nlmsKFC8S7Ej zilw&={)ASoXf!Pb4ajlh!(WPxzo-qT4s9cRf)#2IJHDDP1lkuvr2f%<k{wd)$$#38 zoT?|*(KxRX?_3{GUMcaGM_@Pg^0tE8UG3j{nRP1|q=QFuYq3gsa%K0WciE24;bW5P zfsD{>bC<#te}pmDw|-E^Iph$#Iy0)Ki<K34&!4xTe@kn|L%R|#$)z4$-AN@$APRWk z0Cque6by3ofp-+!t>h1QXqX>iNRVGJEUiP`9G+0X30viab(<INeil#Um7m1#kQ@>o zNdr#e2BQp4MtHv|>8E7-z{(0{AExl@MwS%?FEI0GI0%;<%Q#vsT-Hj#I{K6GdHshj z^T@et#2TINO+;?ZUQg*k_=z><EAx*47`2G-Q}bXbKZqJzLNQaJOHeq<cTI*xKEVLR zcs!JteJ?HnjIO>NyagM>Sqwckomf0<5ADI9X~tK4o#b#rbrR~qAe1Q`s&P!seF|Zy zlq!EFKKJpoyJ1mZqJdz_&c>J(-4VkYgPMKffd`hTIEatiGyT;xX!i>fW}JjCU(UIk z6HZ8jsvCJiFLOqKw!NWk^(obWl<CF{v?pd?%8F(W+Ka=+biWt6Bdv$5o2GsRZj~a< zeD5+ETCg4_1^Jzv*}=y}<VczQkJl+L(yU^nvSBnXYOJYK>>pvifFBa{OP#Sho)^X4 zY5ZCAQ{qRZ$Hn!ps|Ray`r~v~IeeKUG7~8|c-kRFXY~d*f=h5u!8+XIgl%>`lul9o zY}=)0>n8H>l|%Q0FT?khw=b?KgaP761z|Pk5$VD#hKZ`Gqq_7F0c|2_#SxK^I6L_# zG4F$&*y)m{Rb}5ABYQ0ym$n|C-X`GMi})&Tw(^Mu`Hk6|k!Ab3wkr0_@r{vMl{HCS znpPI8Sefh1&24T?M=`V4tu<UjZzzk^W|9|lM;d&r{6@!b)Lx~N5aGXX--QdbwvgQe zfv0K+K%hY&aF|3TEK@|blQxM<xpT$JemEAES12Ucl00;)NpoFTo-u^G%yVH|Is7hw z`TFtwgu*nAOL^Cc!b+4Br6qh-_h{Fqlol9*_WrkU>qa!$Q6nX9o;Wf32!A*b>mx`q zF%Gh|d>A+nBcvwon<eiQtK8=+U=?}I^BcN`R=LJz{XEZeGqJ3tJXiI8tVk@nt!bTC zQ0l6xmrM^NzYW>P8w5zypBq5{DKJRv#}Nv{^BjfaKqg*>C^g^%mes)HN}i7u{Kpzn zt5x*UvBF2qo32OMy7P5#1-D(_#VYB3ghv}lyxZkI8}$h;Htd5AhoocDiH)$b*YH4V zhZu%<x8vp`X><@?ar}cdsCGxEJv7SdTF{H_m0)&E-2fX8*FD~QPr41Zhg?e9d9OBj z*PGKE=!l{1bO7C<_GYhNJv_Xu$MfbHB)v}Q-Kd81-?R-$t}{;oLv4`}fT6%3ahQUY zCd0KF74umjhlNkdNu5sFaIK9UJ2sG5LIpAQMf%AS%?-no7$QUjqCqH`jws{{g<`;H zxt=f>@Y?aDwZ#bk<8~CCN$t7(0fK0IB7I~D7RF)Jca1g3bBJ+*B$~zv!Egvhq~h`T zB7q1fR;=c;d82*`B{AcZ*h|cszb>-i&EOXgW45s@UL~9|bYYGazB|Ex7$AtVA^wUW z$-p>J2dUjxBnyxv4u7z8sHMqLa;ahMm4qOoHUBAN8yzVG&bwCTCwdWQ8w}6YmF~<o zXuHUD^*+z`^Ri$xyyaqAtN3Fp@1@HhhaEaH9x$Puc#6h?5sWAcVoel57TONqUK3^R z47+fdrBW=kKtO0XEFMoJ91BEBwQN3LC>#fPn4{@o7RH<XxI@V2##alS71lMTTflNO z2h^|s5$ZzH*6&fpp0E@BhPGhaZJtviflOax;M@V!v+KzE-T%@2qnmE99l1%X>qBPG zSlOHeYVW{GD6>0>>%JF(zB4}pVdCO_fB7<Ir|I9)RR)4**s64?0g5<Kj{+ownkt)x z#b)HxI^LSSindT(Q(%*>KEi3ue^Pk)WFgqUH2>`Ci*;C-e?pX3DmE%XfD4FeoG8l1 zDN5M5MK1Jj&|FWg=%Lv(IAs4i$WO{vVEh||@=1t{3#ChYb?Y%%P%iVTT*H)5UFCL; z5->UE_8pGJwp!3l-ePAY4yz(B(>HL%a}SRsvt@h2*!A5gbf16;=himzj1Iz@xZxF^ z5~%{EKrO_ncxyla9)ntN$9}#V_<zxH6|$H!5uMTc6Rd}Vvj`7j94~>kek4-hD@R1| zClCeG5rsmb;7<@5t|ttJ60+U5#263%Zbi*}-_mmd-F=!~6Jjj(gNMZ58w-1kM^_(X zS7n#%Db1q%6sOLuG%)uXglV<^qqhWPs_N_RDpl*kWIFX-;N-1Q$cE*NCdM)KNrwiR zG)4W4#;0c=4e@W%1|{p#?x*kDC<d)Z4V9Uc&lLe)3g3J(s2By79F}H@qKAc$$v98} zcxLM6!qRd8bg#AR9sV(`I?7⪚-JL!4nM8v-!%G9d2TLZU3daGf{S==pe1ZM-LDI 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 Zsa8pr1)XhL<F-Y+xFl|RLIK<p003NO64U?y diff --git a/.next/static/media/97e0cb1ae144a2a9-s.woff2 b/.next/static/media/97e0cb1ae144a2a9-s.woff2 deleted file mode 100644 index 7fdf0b945543e93603888d7d777f684b15dec9d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11220 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 diff --git a/.next/static/media/a34f9d1faa5f3315-s.p.woff2 b/.next/static/media/a34f9d1faa5f3315-s.p.woff2 deleted file mode 100644 index 0d91b7ab5006825688e7e753718c794d14549f4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48556 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 diff --git a/.next/static/media/adnan_fatayerji.2fcd49a9.jpg b/.next/static/media/adnan_fatayerji.2fcd49a9.jpg deleted file mode 100644 index bb247b819a82845b7dc8bd8533e9a5651d19f0f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86815 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 T50={!aQbM*{5LiJ&lmp>Y~C=F diff --git a/.next/static/media/andrew-greene.b3513453.jpg b/.next/static/media/andrew-greene.b3513453.jpg deleted file mode 100644 index a2a02f60299423247b8e0764b06b5591bc9a7d90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368639 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%0D{ZGJlGU*LnG#F~z;Fu%2 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�V=*H$b!TDM!zJvOqIm-obM|wM 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 z%0AfQY(WKn5j{<EVsn3QE$2GhpRl}<TSg70kx@=nJw`0T5-GUnQy?|@JOuSG`+9vE z+(-6SC)L&bIutA>d8XZ`$PlHCA-$3`wvcL*?{$9tJMcltmDKncV@WCXfs8?t(LyEO z)M+GRzN|(2*sx&e{;ruDosxs{GRmXjCxgm8&8slPZQISSHFUZ24!o!xiNP->Wnu0f z)lKIqZ<-?~t#yny5v32BO_IHTTmd<N*yb`H-d%UFF5FQG%yCFMlT7jPjmy2bMF%@_ zzO}u$wdXolS8BSZIj)qXqTT=2A+g1=l>p>E7Q0KbSym4GQgwL4JQ-mYaZW`(dv)__ zkl0a8*<I<TM<B~N_ZMa2&0eU5Sc}QhLmK%ylIppx+Ul(O;4P@dB&Dt{5PHWBzlVy` z{wc0xmRm~03Y*+aD8XsVT{Bzp=U&s2^eNL^cbAG-+5E0kH;n?iUJ!9l=pg0xI3SB~ zPR<`I8#~g)RrGl}tX`<$F@D(N+Xc&XP+1)*NXm%IW^YEQEDE@7wgwiM4r4oz|C%8b z0%fDw6`PIq9vNmeyZ4@Xo_AeH8GdBh-nu0zL2JTS5|=;zew2BVWevU*8aa7FH+bcp zd(_+f$gh?pidz*Q5uHqFTuaifCk#7Zvjg3cU2m|Y@MZxS<;VO_=zD~CLcN&pT@z*l zpwBl`-^#NhK8v>`7480}d%p-BVIuPwotfRML%L;;ic^zF{)0D&*!fO|{aQr%uWky? zEl9TC718h8-PdA5i;r+(1<|9Ee>Ey^XUqXd7o4e(294GbQEQJGi@(c=tIao+J`AlL z3@{s{5ARs*lXANzrw`rnZ@Y@JnuM>J<dSF*f7`YB8Iqe7R{Wft+%-k^1HLG!+_rjW zcrS`y)p*wvN{qp5TLhhe_Bi!!DDyQ<P4w)a^s9H9F$Z^D=q&sfje*x5h1PW+TpA+a zgER#WdWVkdeGa$8x(dq{iJyBAoQ@V351pY5X)-zGb<5|fluw&!)G=X=6s>d0ooYF3 z(yjD<r-llIJ)9hE8TmJ3Y$d4RgF3L<V(2`oChDPyy?*z-y@;NHBjV&agiB5G!WCr^ zRw>p8fm+;nkyW+$FT3-qR#ghHmO(>9PQp96*XSsOwpJg=&O~#{Y~Bqk_j%Q(0({!Y zq1qzNcVY5uDbs6|Qm<m2gIHiulFx1%kLQK7hASi+VM1w+rlWaAB4>T_4yV5y^iCa_ zSy2L==td8u7b89CZ?0ua|NO3)VH1XLGycse#OV8a$yu~2BWS@;<zk#mIt%2T<ZzuG zWY@u!l-LBVmXu)z0Xjtnt3WAqYEo^qdQiPWr?@_X{oofIC%@}BKilX$+!S!D#eddk zb0z1B*#7otT90l<>L>j{i4$ZHS&{AKK2gxMG?1@)D|j+bJ^fLgD0}tJ9VfOlyV0Zv z5=M$wCGf4l2>5yXoD85ap3?u~QSAryT`xNoZskOVPT3RqCLH^>m#;#{>qGTng%57e zKDY^uyy+C37m=?!!JPJ=B2TW3bi-)??#48^*1(+_8!gj^=bYS5ZLyVr#^#+^ZY0rg zcKVDcFQ0P~8fR{rS2r}3<STw$B3)5z%8E-?I-Bl9@sL}z$hP$z^I^n8W(l}ey|`MS zyQE0peRq3JcHFHnFSU<fMa|-!S|;d=L_XWbmT!~B9rVvF%e>RQ_NN43NMhBvndg-_ zULt{{1I^))0CLGgF4Hv7qY@nyXSu42I;U^sv~fYtc9(HJvcC0~`f&Eb0L}}j3Nd== zo3R=_2f7C8++}v45gV&)nZRw~&E^#`<OxE7h_RH{UFtg@46S%YZlq(f-`myoO{a>~ zLbV8)Z)xv$Dr>4OAr=LByee&c!{kB|w~5>zuA@-YXNN^Z>10=mVV1~x6h>ng25gYB z0*eJwGTHwLodeceeLvuEd-n%afiJ){L=P^g$9JLY2A4jg9$1d8j)<XjT<TslB|Q;9 z4_QNWtaSC1ewTsRO{Qx`RumfDG#c(T?e?7lRUg-nw$rxr-wd%ex8@0qH-vZhMSs^n z#ZS2|3RsTB1bt2kOD>}b;U?0f|9fv}LuBcitE$OfiLG0cl&vg-^rp%9<W8McE+I%` z3XTjTaZHniCF5);zh|ZEY-oM6BlCpag37yz73Si(*b82M7rwTf{PytQQIfZ|foy2! zTY75$6vZHG8qWlhv%eU-^}iPo;Exur2YwnJ6U4L~OyK2vNYUE^{-BPWosHYi_g%Z{ z#;iN5r=RAnLiZY3bp*Pb&1L!U^MQ@bsOA&>0C9nEu!QBwv<C%7Ae(mMTzoFRoi}$j zh_Mf$WZ7*Wzq^*q5QjTfkb`Tv5jsp(8vARLAPD#qsy6kIzy?~DlsY<O%wa&a)*xCL zXb%CrwKuXm$cCJO&DBfM1y=Kd0MNW!!LU7Cc@_}!LO{+WP$12pnWvgk|C|GL;NFZx z#c|txKbJ!u_Sqr)i>gMGkt^l*qa8zL%V2sdyk32q2$*F})cB%#xC@kv&5cltXAE*a zh?181O7=5P$P0jxFeo7NQbb?R$E7|lE@W<HlS~^@_Dvg1Z+v=b!sS2+$uG!?7cm@P zvHygyKOR@W?}TBImbVkJZOi#1t>p${$Y!d#LPfG#rbc~uTCwiFHiz{dEMk+*PA5{* z*B4KP^o8&Zs#>nyd0t@taL!AoadD&&?oFK6AAvFa$@vuRJ3VwgI3e1}G01jsQ*7PB zmV=8TM0GBHTfW(|f-G1m&zVY%A?qwn^WwTj>xp}u&pCI_e$#z(;)(t_ammFFSXHd| zaB`19qL;Kp_KYdH5yoim`PbE49~eZcHxBYOuV^*KO-1AupcRQrL0*U{D8eAWe3P0A zoNk-cgB#;lsRV^U7L-I|>nu(3gUZx5Se?6Kx%;);wa5SGxeOKzHupn09ns#EJL4Ds z6QaFU&ly70K^?~RYI>?7ERnCS><0<(L=6O?u-d-h^H)?S=*~3n*pz4UEsOpr<F(=| z;l~nLTaF(a-ew<2$B$(DJh`(!6@(3kEvuMmf-sm8K#M;=`aGA{7g0g39T}WQ&i}-q z&36N{br<*MTrmI_M!kU?^*tV(x9Pj4aN(s#MhEuFNPIbGgK9ys8AtB|{fRXow2x~c zG>o&dG%THg`>gkPfaDl-q2a<xuOKicB-(mmcU{nE_?nhd{`+=PTFcKIFGnr82WI}D zSw8$A6ji@x+<OwFPGCHr-O8MQ0)WVF>A}};)3e}MJTg=?ZXX^yrE);tyxyQEd>>gE z&|>p~KoLkP^w0qy5OO$m`2W0)3w1pghd$ZXfa^34T=>5TOz**dA<JqCFX2l;AmAfO z5FeK9Q+oXh*#m{xQV9D^EQ9-eHly^B%irYGu@&sa-B(uC6fW*1aL|2CA7367Qwy?# zGkCRjw|Wf}6?Q+RZU>l>?SCc}TTZ;XFBQ7P(BmPY-d@OChWqY)n@<>@?Vl#>AAVo$ zT8&ZI5d=w)w+N29@7xjX)Ha@V=kOrZjHzERfb0FNgpGhfs5c}~ep8+!8-!>m^4rWl z^Q-{Hjqsfypj+!|)Q`{KHU$J#zj{+0j86`y{|JvC<&nNPOi0RBn+;kMx-%11rWRGE zA{NLnZ$H?+!7cb+0n)7GbLLI&xqtk$b(Mu#6T|+jD=Gr?Rf%$nr1u6uhc@Y$k21LL z_}-D);E`FMj%VyOX=)}pBFO`eOMLs%*vtz_q2qgNX0s#8g<p=q4kR-G7B(p2D}#DZ znLMqnpiiCVS*Y^wR{b$9z@7xjHIjvB_s;3#)9W;tf3!jY)ohTcRqZuOtmqO*{XCqx zegQBHd2@lN$)pShY<6qEjP}I^ec)P%0SMyT*?pTF!KwR0|2AN>e;qcvnIDZGVT2Ez zY=2*?kXrByGv?6O*NEde&wd(Ae}Fo0s%y{F!8M|zBy)1>vN-gG@wqKv?dsX!2l))3 z;WWDWP?K&x@_dNx7ZLym5EP7C1y|(^a3>Bt`MBOzYe2&~F&7UUFZy&q_9B2zs8Vb! z3;NqOOwKp+0DLKRkD8|zzT|i}EcyVQ_oc;0-`ky~r(<a$K)`wgLcn}h2SVotfkkq3 zUVohYz&I<6I;nkWs}%J%0ngm!?6u~=Xa<*oI~KqIHU8nt)cVfMBj%NclE2$-87;1w zs@-eAJ1PNw?qBT>KdQd?*tGd!Gps_SRr*<#|KTNr({C}*T$KNG1kA9c3%s=!4aT5j z+Uf)1a>I&N*%exJOqL)TMigFH87mkfjrAl&pA98HA;+4ZnhVi{%Pr_XWHU2@i3R(d zZP{nr^8UJ6gL9ZTb>(KD`@*zDaUNl<PXqaoUO5gqhSqz5cCRAC5KxknSJ2m01>jKN z=c7>v+P=gq;-gFy$LnkGC<}E<*8ijFJj2=S|G%$$R~OnU+FDgbt48grqLHFjlo(fw z5^1PiBGRSHj#axx#0oW%AR=uQMa>`;lC(Avdq(8C&+GR;?nfTwaB$@Op5M>sJzk>s zf=)#{Y;?*z(PG{+jz@e?k@UPPLm8jvBK1iqJ$+N%;?|+!;owxIb;QDofT-(cPp%$# z^lgXPaRnri>Q(!|GFdxec`NsYz3dB*Hr+*URX-S>zS^5Kmn%CkO$lQ2ro(c+b3zlF z>M4}o;A)7hjo&hc6Vg5bVmvHdiYG611!r106yyP^P&^q}nz_Dwe${2d1+E{3RAy>! zN8PX1@_gWl>CwHur%vDiKG=T+(Q;)nql@uk;=_Y7i7$6LHGMvm=b+afOC%?yx^j3P zAnP8NpQP)}IF<}F>#=FNiiY*Qm^ADoiE;B!lOHg$(YK5K6`BEGt){GRk{UCVBDRI0 zEMBl6br$IxN#Jx`d0Lb4(|pbmRR#unLreEze<(gnYzVPD|KmuUUV&=6Zj-j@-fs<4 zkg*DjWK$(|fQp{H=B&QP+05Duzn?cIK4j8Guj<_jah0AO+{Bl9Gp1himC$&H*3WZk z>ZQ<7Ji?9mv4yETH`Y%wQX2a`tdZxVF5WTYnem|Ez2khWlD4>)Zt*|N^VR_|W8!zR zqg+FgeSLhEMVr#Kg@D0_tgzMMVvPy${=q>+4F)_{v`nTz5z}Q6Y2orad5FJDM^n%H zRC>y&6gfO>Q=f$z!uMl$vrPVR)}K{yk*kJoZ)ZT?5k(*TLQKB4H6g@?Y&A3;;3`4X z`k$^<nQgDn(7}PTC?ESz7D-7mTlwf<E)zO6u@PaAtABj6<I!jb^~7d7kM-Me*c^^K zcri;Ed@hB-Vja+Tj~}^|a+@dzPfA}Ny(g1$YZ6(MI9Yis0`zpgjO|gnT_0h}`V(+# zAlgl#7LQo)S|Br-=(OLn8>#vVO9$RH80Q&jd!KCQ$#&t00Z&s-Z1s#VlR}aTPE=iX z{Zu`r-mviGa%2N%WX5)~xTCz&)m(j<y)c|RJrGwDIZD4~gCT5F<tg04RIjbXQIWrk zq-ZsrW?IFXxJ+Fws9bIH9{~fy3RTwc4k-W!FA{#OKiJ8hy>d6cO|gc0t2RV*Cu!^H ze4jm&n+M%8$my{8`QsbQLNVQDz!9<qJfG}YKSy*k;?BQ9Kh7Jxeq7f-=Q%(qR_oxJ zAftMVW(KX8DB}7tH*QGk{s|ZGWk*Gi=W?O)P>=^jrnBZE7C%6)0Bne9lbTl=9po~Y zOlN&o3~Rv?b?u2a`&78;pRH7Dx@?2K#b=fzv666F6}IH0*Mc9{D-DhBC}Is;y1SDa zBAdUY{lZ_&zLm>T8`G48q?@aBAarJJ@Y+@g=jQ48g?e&K_8<fmb!3VBkec4cW%lx8 z?y$BY>Ar-g+4J*s_sZcK_><9JBaU~2&gDlUM%d2P%ntFg0myOv(TOl<MS!Mb(B;ug zx=CU%gtV0%^%w8kqA%ZzUpsb;&@tm9KNv_cvV!&XDH+(1{A5Jqe0-b>wTleTY>zfK zh*e#t{CMf}w6^lJ?bwwoIJvU%^@R=oc35`osbn)g=5^wOh~+*$(LPZy%c(H>FE3>9 zuh5&=ZHs;%>4x6K`?RM|=Lh!9%H<=Ajj(KoY5F%PS3F8}*j0Ab-`q_)H3%x7KG9Iu z+17I0Oo77s(8lPkx3ouz=ExSWCKZ_^+LaXcyPaW76F`i1jx&NxO5o;55?20J?Ad(0 zZIPx@rZ%vB?XYt1<PC;zRYE~zf#zez=-JQJv13zNF6zm$4wo`Iy287Mm=u)`k0+R3 zb$GD3E8Nw{7cO?V*EgldryINy2=R5csX|K0c%vl=c$IIOE*F;eH8&;(2`z~XrUHFH zbO<jgWPSNt=#%v1{LTxhi-ynLKeC?t$OpYLImNuzamFS2tSvy^N;)-(bY3MpBWS?Y zTP3X`I`W_`#kgyHG`VJ)4woO;AO)<1jK;-<D=xX-r_vzpUVJ}K5e8JvdW2F~9D;q5 z0!MbFU9JzIrgYJ{kUl6F*B(JTT<Wa$6-R#AWSg%ktL#;ij;g?y(SfL7^;qR5Lu6}A zX24x=h1p!rg+3uzECs_mrII2v5f7ffw(eEyh)O1ABg{sj+<-R1V9i#+z@Lv3x#{Qf zQw009BP)h-BXxh{=LzB;a?SN{wXXTN1AyPG&a6#td=9g%fpCC_!b`1!A+&LzR!83Y zO!~S7x6U<PH8H%;`C3NRYz1RV>~AO`ZnyW1j&YczPqli3qzqIsxS^qUmGj{#SH3aZ zQ>nnv=R8linhm}2c0%PlVJP{dylrurab5C+iE?0K-wMPD2yT1L*N_sr4<|Me=CRzX z#&${W%tXore3_wXHshM#*wLc<M2?0TJD=%)mqb&}?7g0dYPe(k)Tv}wQrukIxT47M zS+Vg1(5ix5owknR>dcNx!UR17I93!}=7$l;2%VTs^Zbs{h0`#GN$z?nUIX<+A?WPq zZ6lfKm4}K)I$w7zw-3GQmhYIlw%-PG@W#seS+nX%E1!%B1Qws(x8nm;C3*zH=*_)0 z=HIjI<i$0S?b;47d^+9SiZ`*8v;KH<W(mV?Qd|`N#$dmHx?1q6)ml_EL^OEtStog} z+KFi_IgL0Wta0yEicHPl!+$wbRag3pO(?nAnFIO3gpeBO0F~;@?ctRxKEv4@`T5s! z!=fj-&uWtPw=rXQmC#*o@WglXVk?lCxM|-TWDvzZW&d4L>|J|p_Ck|VG1EDIJG?_e zbyCo->cfy*{?Rh<NK5Y2pZ&ghZ(UsqsF7z&!R(@~Iy>To{YLiex^s72ivAh8YH_EP zVv$k0qD4ceF+dO8>FK5ZNpn38v;=h+yk%WpJT>Cdgxl;e?rV4yG+O$%m=iXTO`QDB zgBHg$Bs70;Q~(i0XJ0?Nx*y&vXp4~q6(jFr&yqB@(vdT82mN$t|714Iy2j&7mX-sf zi{nz|>-vo;RV{T$_s}1vu<_~5fF?$8cGU+r&|sHZ_QN-^<R6jXn)|k&KIoXa33-Ze zN^TS;ov{YnmL+2d#O-d?f(iKr5P2bZ1E>Q^n6n=G@cG1>+gA78u4)ub?-y!eY3*6= zboG^%6uf;J975!ZJKw4mox0B5D|cMz&%933vqMkEiu4qA{sNYRff|kc2Gf7?wDw3^ zb^tDw&nW|aA@mNQ^|kHOvSmN**x|0(ju!_PhWRi}zwd+fy(hAFt#{AdE9fsLd(GR% z$Eyl!3EoDX{*^f42%TTxCI629ug?|~pmQ>Chl9YaZNy6&cB?}|*njz{zO}N!HMF`M z`J)l9h}KRGjG@Y6S@FgR2l0zzM3jy#SwH=TB51oFfRxZzb`JkYq!07@3kl%7{dMWl zffK0UEg!W%ua1eiiZnEI)YOqS5TsSAHF@!%6c>FJTV4o<EcDJqL^|fKRhloCpoOPa z^Hi+|T!~l(6H8BEJgmq}hv9;TfY;T@;AFr@v(p(*Wf>TnLEmh7NV*d!RQyvD=DXr= z{E|ER+(Z_{n_d3HV8?gj_88!Vy)zD=lYpVZlE*jpM53sZGrpXkdGjpXz83~};P-~@ ze35gF-Jb^*Ja8+a^LCFdt&z0kt@N-;ygQA-j*Sd4xWN-7!QfD5_3iiDr+^`O+{_>I zIsRD)I_B1PI+X;6x=?&Mlcxu4R(DPs0~C(dEkVsl{y7cW<id_YkNrEPvMutzLYAZi z6QlScj==bS#JRAMFlQL<@$1BuJ;Uk+5hBy~7xK3?0X7cB3_$~yBt7Ql3yNC?KmADB z6A*|h_7P^k3A(LRB4ZL&Zv8|{OV{(`37PaNcImR9%(n3Ec)@%Hfv^={sips;=RTB@ zNLam;Iv*ju)ze-bUA7&lxO!oum^}_#ECh1N5%1{=@v9d-^_D&grMxT{t{S-_?qja# zU1QYqXN3!5gF{F9jxnrIrv+ru6MtXo9z8Ep9(f$@$XbXX0kiiV55L6N+q!~?Ra2Hd zXD@!1NM-i;(X!SNDONArzU^TpF-H?OD@yEvKjX#m<yUYd4}n(wd2ui}m{KE-B27mL zjSK&??~*c+U9v)7TM_-V!+BZ(pxYxa#_H^{_Ri{=eQeHT!g@C(-yEG9=JlPscyaaf zzR!nJY%(wG8u`ORXZJ7opE(0b-TIy80L|^vrw)E{$n8Ivra#R`r+o%F3fzj$KG^ji z30nyGaacR9ND#P7Pe?0bk&jL&SU{+|$>lyRzgW1pch$gkT0wQJQub1!JX0!01)1T| z!LFF%3C;fVzt8RyQc^4(E)`I3%d^NgvV+IY>iNZ)6=3L%6}IMC0(U>u(yH2}4&OAj z=-u&_GJf{~k6u2sW-#mA<Fx|(zHzGS?Zc;2>Q&~q);Tl3_orC3gaXoio^r?r2HZhq zHCZuXEmyC0&>vimV8^W%E_fn%VK16^5I>SSD{;0SYRP%V|LO4UCzsT-GY4cL0B$UF z5;9@Gu;YBFvS>KOv$l2245TiJkV;+sQD$lv>bOoPt^SbE%2ia{7<iFEr?0BX4GR`b zcf!AZ_$e<9Fw(%tijNHCEcBnXUD3a#vcwv5HpNoW^xBi6GH$Uo=^H3!&~CZM2WR?< zvH2(=pA~NRU}`;q+Po9ITl5)D!V(9JMcCtzFuoq3oGu?ZsTTRZ#aL-A?8<CT5H;tI z9Xa9V(X7_&9q&YQ=cDDzepy57-ITjx*PK`BtA<sVRe8eY=)xP8scFnPLQFl6C2;=m z)HgFsf;zR7pUU>dQtygg#zbV@h(k~G_u$0}i^)U)&K+z6`(k<VXpT!ZpSGDzR<d!v zd#7(4a~Q~lwPg4(yuY&wO#Zp~vm2+?DeG0pTqiFR|30}(TiV<hk4VbQ0DbS~Q;+A9 z)*h?WpvhaBn*$@^rN3aAQ^ounJX-~`Wl9;5?x(1OebUpUp*o~PvBdoav8<~}DuHX% zwQ+T%HwM6lSrtBe_Hc?One5h6HmTY?08qG}kB{Yc108v{CSyRsXgz~J6*ss3OBMmz z&^Ps(1x7_v%#z~Q^J<CV_O#Vj5*T@9%&4sSF-h~-vF`Z}U0TZ>Q@OPO)z9*T&~tB( zq#vi~XeZE7x{c0*6;*oIL}iVU3N!oMv&y-sFviSNo&i+qt7bEM7azQ7Qv{dXyA&H) zKBI_rbsh#x$;3J$9Q=MNu<q@Z31g#`d}>>=%+`ze0GFVvnTv6H$)*iqxS4v+mISTF zDO9#ooT(o>tm7L|KDSl>ut5v8yMPpzH)33uX?eOUGEUaYHpSL+O#I7DvX80W^(YGW zzlM3Y^nA;Kz-7-K$$hlZcYg=wv8VCh!RQOSN7esHJb3Z(^56H5USCy^kAE(`7b22T z|0c+?F&0=Nl8i|EbE=94M>;AnJK7ssHkV~Gz&G~Q2mWkZ=fvTyDa7dtj$0bXpPSsE zu`zQ!`wI3;w6h7#r0UYi&{WatJk^d1RfnLvWNl6&VlLO1nAhKN90q&y1aEy#nsI@S zr(nnZ<Rb3}vw};5cSBO+p>2gps7Fc!4N8A*!?s-hvE=?0z18y`%sNVg7Xo{u^9snN z$NX4lO`Cc>&>l3A>uomM?V47($h&1xd~7ZR3=h!79J?W%cvC#-LsN6e4XeEx#P*2c z5VbG6WE8Gm3OXhpK(~1CtO|yuBKbs9pHtz<S{qFGc%o(F6vO3geNXu5(xGz%WLC%z z(ur<~vUHc+{EmECX4kcaUtwidF0fREv$0!B<(J_733nsz$6{*ZS}N|e6=EQ0RL*F( z|J%!E_E90U5)P$eVkdY<YExwC^!<854`0|#HfD{|RVP=Cx)|$;5zMo|w@&qSfq(BJ zz3r(1>2|Mwm`npdjlDT3mDu`7y2HA#VOTb(!)KkauptFc8P!TY+laBSEKi{ut({{3 za6AlS;3DS;QD>#URK~8@WP_5QPG~!CRf8X5NtP_f+0x*^BK_89E#YUewGJtJ4fG(V z3+GdaY!V{a6+ntN<VWX6++#M{rq7^6lCwF)w~(~Oif^g*uh6HVaC^bUO5$5BlMl*U zgI%8P+s6j_Hx?h79{zT-%)0Yx9$4m=+sTq<hwlZMf6c6urxw4T4Db&|KT&ARDIQtu zpDdi|dsB!>oWkJF7Oo{`mesgyT;0e@H~skB^1C+rJs({-8z%ZXLJhxbO%Lv}6xqHR zYk3(+2b|2ZH>b^C>gB53m2#u4Av>_Kg9b`&UVG`HO@lZeFIse6VMU&|U?HTWer+pT z&+J69gPEUqrp$;lRubVDcg-mXj33Wtz;Tg$+rFSIa4S#$H5|TEUFbZMUXIQ6>T5>I zuFTTyAM;G2+uSRM+T1(?Nu`L8-LU2q2Op2y_rbI~B{(yzg@e9#iqlBr!p&@AL*Qgo zy~V#mAHK!rdiP&4O7601z(j9(cC^<(e1uaN?d>zA_zw+-{&Yl9<ltG5F7x9CXN*xL z(;B3d^)ll!Rk<vjOZd|8&tmj*7ey%ahU@@O4y(4<AyGKtS5%j|;32MqCo*-^`UqJS z@O68$l=GIXBrPDhK4O{H!j;KNNoBf165*b{4QNlP$n5J&<*)IZrluGPO$(aOY6tfT zlyd8c-;`eIkMN(q6?3d9i{82HzEG}bsx4D*jMW{a3ceulksf}ml`L!C)~1eZIawVX z0^;!LWLPcZ*ZT6N)%PoPE42ihKNCsyb$94iA=NPpl&m41_>#0hB=uWexZWSAv$=ZK zVP}^n>m^-A;3=l}ze3a2+O1{X@S7hHqjmdHT2JCF!v<SeUU~h}tS{!?XJGAT@@*J4 zL1(Zsv_XZUn)C+gbsNG6qLi#X=0flef}2E7)1xJ{pJ6PnCYuzD0W%a%3_hPY6oeLi z{;oM}-#oQqhIQjrJLlVmwhZQS)4>L)v*r)pKxZQ8^ba|0jml#+>7VOj@*9b^<oHOC z%fx+?Q^6ZP7?@g4s2VGs&F?li>1?LF48oR2Asq_wo+RUr3Y$M{2J{=T-t<jHgK6ok zSOSGue2q9*A7)wh(5R3=Guq3GX_`$HyJ3>z_pgxGa9N+Z!I1JLPs}}^f6}FF4uOh| zHIiKGiLRnVG7XrBV4+esKA9cQoDk7!*I%)MQYy&7^a)?;itvw!TZ?ZqS!&hK18H*Q zPh}S0)+?(ES30s`6+1b8IBXTO=>k~#Rthv~8wrk4RXT2{cJoMSj6NEld*=qWO=c%A z42H$nlO3ITtNLQ+93NE3Va6#L^;9*?fFf(y)tDOC{ZaqMX1ZV-LK^V-oGut`@0khF z&MtI^{~VBk-*cEeJ?yBL+?@VRFY-t5`rM;B0_M8U!P?Y*tcB`F^QZU<XEj~Nl_cq| zva$7y`fW%I8_X?TA--S22egF6mJdE)I5RuTU16k+(@dy$u)E2il@q&5S^TGS=>?7Q zgkkmH!9>!V@V@&WnYN#28od<flSd-{6{3=U{>6U?cw?{Q>-w@HcEg-C%N$rEY-gjS zokq+bJq@^e1PcBKYZyIp|4rLl^IntTXYFk=%avE>56SzQbAt!z)JcDab^5CTtOzqe z53mpEgg9IN?*2_%N6}V0RV<dkUlZWk(WicJWD-@|5ZbNJ9wBezejT=!NzvMKNQgNp z=P13kj{IbSHA|WW)jvR!KMv^(Phr<gXD_H@Xt=|6HS4jeQ^}M`tY`abuY3ugOI=I* zS7<MKkq?bf{PFZr>YQWB#{{O%iS=U9tfPuj;;+;upn*E~?rJe>(|LkJaT>1gGt3rF zU}pM`MTiMVTPi2eA)k8Qggr{E4)ax851S+O@AR4L?oLxVWtwSvQfJQzbo8#ARB^*S zu%BHw;)uiz16>Orx}(7i#d-S^gY-Jk*&E0(SA#oTYm}M{1Gf8B4;-sKq$w2QFZ>|% zth8E$><-X=x|JoGQRoPRBse(S{Q~`(d+CGzoYl+77`>AR4(kYqr|<J`W0m{Gv{p|4 z@!P!ql^5IiXLTs{+OOa_>AEfhqinR<?m;7A&i%JsoXh)H*0-iIm-Q4hX_XHkWF*<O zQg{#kGB%Jh5PWw|xW_Xc=3Jq3Nj(Cx3U|%U8Mk}tBNI5bb+~j{)3<e;|2~miH6Tb) zBpx~o+?&oLkyX8Vu4p>xpWsb0+O_xy^-=V)@G|~X6p?zE%Gb{}#FtYdjOEX|ab6lZ z0YE{{FGniMdz}PEyLj9=D6c;b@zxl$hlmGw_kn;1lPb1#qEY*(r|tl8l}Me~6t)v- z14wsYBY%FASiHseB9i2{`}&+y*cFqI$0GOiEN)A^Rlq)Bqd+O;vRcQ_pwPLc3X0P_ z_zr4Z_ytaq{mVM;<|f9ngT(r-nP`r$;p>IB58N5_aUG#5)sxq@8{R|rV)RPH`*DEr z28-nGs2;eOtv7Q{UeT<>6i%Iq0hGiC_DyH#40E0JWkvFauFx}Ky_t8K%JJ1MsDFia zN5${i9rik|RXxww1L6GAH>8n6XlHH~4AeY{v#qP4<GTAx*n#PU0;l>4GHweqk}3NO zaHN{+nRPYo4f(cXe0n2Ed@TZm^}9vP^{Co8Y2xyH-WIsD3kas)xAMz^%>{a|G&j%p z!lzKbW^Os<Sna^gd`)K$)shX;jDNPZ{h2z$B2OpMe#Hf~n^V=NHqUsV@=0TySOe`0 zl6p`*|8Nvyg(6CKr9H77S(yv46aBCAl5ZBVpuRfko7#znu$nCbATpz)iRi(`yTThW zNBBQs?J%&pcCh`L;+Km#{(gqX9BS%yj>;Ub(R@6n08LTQK|8m5Vo+@b=Sh<hAM7tl z$GcDUd=yH5VUCBqG#WSt5UEPn(4X>2e?eXZx{+-LW0u~4UxM!hxv%O4T6EK`Q%X8U zLWV1txoU0;VN)x)$a>i&2aS3_7=NE=4sv9Q?|@INNe>$Uddqn`k-Qw}ERWKx5`0LW z9yI0u%QHGGkzZ`vJLH8&1~QWv<}g}BR7Anogr5FGaFo&%yF2%~mJsjdZ6(o)$+rB3 zO=|@uo5?C@d2~twN||tYpI8tQ`qL?)r{|ak&7#eRoT$Q-id*^oxJS&MFt8mY_pTJR zPfY=_a?R#q81ecIb~(yi2>joOdPp&-wuD@C7FfEnfhT~|vuk2okh2peq)SE9fD!Aq z(ESquJv{W<^lr1Htl`EiATyy=a`Gy1ZYi!Mnf^@T{(+W=r(uBT2|$YE3oGs<$`?HN zoDgfFck}k?Sk`6%E0(oJM&I9^9s**pZl4jV$sko2v)hCMH?U=Sq$qwEFmfjUr%o^Q z@52V+2_$3cXQ5kK2bQsA`GZP39M^cCy@_oyV}l<w3xWp1!ML^A-8MstRBF)?8XtW) zDU%Qa_OU0GQ^$7;Pw;jWNL8_<Uc!1<ATa*#y>Bx5T<;eDDnjKI7wUotTIM5Hg=a_K zweF3O8K_fqhQkrdfRA@q!T8QqyR`;<XBA3CU@zQn#NmZm$6~4-fd(GVL<O@JZLcuk zT|*8T;^YcH(-n5I36n{u=FILz?ofemwrJl7V}rBxqO-MM5U5$j;%V%@5H_0O=%54T z?c9D89{7##Wv=H~J%i%zI2{BBwRPQWL7RPAFvyww`kpEgyuyiV;?cIXk&T~kKk2s0 zL=)(%SosBGpPcNmN~d=J(5Ksy0MEOS3)fL*FCMOvh8^*@(3-U*-Cwd^g+y#~2l#~F z8h1?|TvxS}h*5Tcg?b4(xWlWWSwG!Vcjogmmw~<qy=}XHg@RzdWM04d`qgtcTmEi+ zL^wlh-~amkv-|$PLSk6`l*ab2x9JzM(W*E3B`WCPe}&dJ)&&3DrV9a6)D)`}3@i>0 z^ap!r)@uD(4CTZM<0W)<LqdFkadUBe|Fc_T%ko>cLo3c8!muIJ75yu+{6;oqsjU?d zt!*4<d@oMk-Tx=yH}Y*E#!-cA7!Y={W=PL;7HxIkzV2LI>xBsFxRtNwCOW>xnZP$e z<!1^q$F{78073Fd?yD(P5oY&;<EX~hRD;4R{{=Y?L_jN&-@qFrsl@_k>iI|FgeiJm z7V4;GWpbL~$T{K8x4Wue75q~Sx%f)!LJz(3xblt?0}$`Hz&W><x07w)ZE$op4Di$( zn~{Q7e)_3vwA(NrZgtIjS*m9C<eiVbSxsW9FSb)9y;>}D-hZW)Z1smeVO4*uo*{Eq zs7Az?ump2wkW5VuCC^!TmBbgD;OhW$w;`|uX74fZWSTk;hVR?HAFe~GrVSJ(eoK$7 zQFj%&)2B<FCfazVoEmod)Q-3}`N*HVaxHFHxMVQ83`iC=9Ut6qRmKMmH%?~vMYA;t z(Ka)B&Vx%)ul&N;Nd4%|)^GY}Nbml1CHVRtP2IhWGTVBhSp6#ocm3|2akmM=wV}Nd zU#D)heuyd>b4|@jX;<J>gb)^}YsIUf5mJmtry&;kNhujmsq1Wx&DWq#jnS6BP5D<q z*PmY{gT^X!pY2+R4YRj($L^(B!gUr31-LB8o8q=+wmCB^gKF8M<WQd2e*ef@6WdE4 zF(*!m+;XdZ8QFT^7Q@mxUr}wS`wA2Kcs-}YJB8&@)#iJi*`oGsy%w(`O(LjfP?dXC z{w8kgTWU|t8xJIWoI?I``=`%L=0f7OHiJEwqxK{prc4PQ=52T7-yP)NbSvAbTRZm5 z5q4d@Faz%EvBxsx`3m#c;x$tI@XY#2D2Y*sF|DnI&*%;k>toy<KbWSg+E-V33tWMt zOF9qG-<iW5;MHY4<kxJalx;|#GQp&pTvG|>m@D~|;cB-<iea|QsQ1dJV1o)iQjfNe zw650>KgeWXVeI|WY!jy#RtMPMmYug016TOM;3JS_dp`&P18O4`0{O{#if~o<k+D+t zAyeN9!z&H_7w#<AtLHi2>AWhFa;Mb{8C8TYH*-?MAH{nf));yda@=rn>1@yygCOJ3 zz%agGzKo|Ur(l&Np0R~r8@A-Q&9UDaoD1rN{tydE$Ihj%y^ZHx@MAA11qXpU#9e`G zCmU6uA_LhFs~%A*>%pbFH>QkEIFFMTD<9rs^!b5WS(BR~LyUigf-|INpK0Z<C-|l{ zYt{QZwzXSmh9GpXolnYXu;1I@=7^h{xuf~}f$Ag1bi}!(y;f;mxqf+|5*DlTJnPsa z`h%2t_1;3vL7(QV!ZaKc3MJ5!Z(90)pZf9K+bU@%$=l4z+=NggSPikBn4Glw7+lS% zTw7`xl|6e0Z>C^rzjwhdXd^4t4m&r<(`;|d+SC~nej6cFIk5JLux*!p%)qdRucmA7 zp#}*SW6b0CB`l#jliP2{z>8VpAFlN+-}^xnhG`pJ?C(2=e6}=^d{5aC6D@tE6x6cg zlRr;ZoRM1thvZLYU-HVtnnH$wOx_Kb)g+vR6C}mbmiud{KwpV}ez7~cLF;%T`T$VB zbi#QvXxGxQmORYRjLnw4Hep~@OmqPeQ0VGh@8spLoO#-eN-IY!Od$JwQe3bmH!S?E z>?FV@%1PzJ=Ab^7CSmN#P&=1bZuW_8-eQ?<H8B-)&mtoxvo5hHe?bwnVw2&rww6>b zxo1%$f64MkJ+4{8f08Bjw%+wkxC?d2Q5}o@MUs^6Swoo!pU6^HE$lWY#TjZBggM#d zkLXA4B7W(=Tu;FaI$iB8Dkyfain-NpJ=mLhDo)L<#OGNwklsNmiP@B#C0Jko!L*&q z^eRYgECF@(VYaO>PSw*%6*!mI>&PWmqC`vS-(i$TUf)x$I@1xJb+wDBOvniM8_CSe z3Vx_NyxJ%Gal@h!!&;skon5h_+5Lt=NY*3c#o87RlK%dpttaIwhnnc(o0-ZkFw=j9 z<f>q@p6m<e6BcUHTHpPmA{|<Qej}$DEwu#;NO1LrQvEH<=$sP`$fAfI2K{A&I>ImD zFI|H+8=#RKu8yz)^}9CJcfSiH>(PS;)72^1=JI^B-cqfwuW#rxvA}204w*7_wOMdt zdMO6r+5aI}bOr<<@HNwYm03;@xvRp%MhV8OlQF|ZTaR}*6-;(c%8cfKagIv3eO>h; zD-Opwx%q08G35}+*DUs~f@|1YG1<iGAl!3YlOwa{MAy3YLmi{yV+(q#ykOjcp~u-F zFY!pP9zPIB(M;3XnY!)6sX$rox$$EgZ(<H2bR$cHQZj<-+4-K|4MYvRxUjk4*_LxM zy-)Fh@QfE$z67|$)gA`6AkV9ru+v|!-GbK!dwQx<vSM1-k@x$s?9zANTGN$U?4eq4 z5unOd$w#p8sriZ3x+?Zp{*^ZDlRSpK4|jH|%4`OT?cEwGZ^dcEgvE@Riz=zEG;^OT z;mj@2)iYtQobIG!j6~DaAPG)UUKq8v;5OT<grS;ykHdJ{zy+R=WX-<I12*oiS>5r? zcG0-534kgxfS=<IQ4Nf~3#2*rkW@(6Uix`GZh@n5L(eQjgUD!(;TQ!Vbe!9}{kd3H zfoLgAFVEOhsoF@!26`Y=Mz05l2r}CVqPC$OvxCfd%Y_pXdQv4@l7^CLXL`Gfk{vG7 zux~pbX{ziZQ!x&wq`fa6riI>XQ_H^hZUemCW;bq}n5#5b115Hi$2z$9GV95Zg-t2P zaGA|r72$X3H8BvRxSoz>OwFnT;!k>4Z!Ycft2X5yJ{9%z{5z>6Wha@`)4!}9#kt?u z)QW|j_bax@uuiT+k~t_%$Zy`YYK3I88c!Q@oX?DM>*}6G&975UVItU)84_d}^n~hG zU-z=z7;*UE8(RC+Kj3J<EvXq34P4^>qV-yBgM21r7|ak>H~Q-iQlV-4mZ85tPC~8P zxdKh?2-px796IP3XT3Rry9Q)~|9K7RmATP+#MsZzA8{L=dd=+Y@BOZcd+Wzz3k1nu zH)5d<@_?=l!lP$K&|R(LE|;6j7|HY8w-eMH-PL-2MPa>E{b3Q)2hY#WWFJ_mARFir z84RXQ%#)ED(E*&>Ej@c=9(2s>dq@{a^I?aa8;j*PILmYD?&5~CNZ|JyBugBSt*7Jw z)$*R<v?Jkc|NQ07IF|ugrUM*tn49oTW@*PuK-~pD%L&y<Aer!_Cd`#d1S)?2S{%HB zd?z<tGL7$@NVh{BO-T<Dz<qZj-k1))sUxK{A~#MADrwR~mK9HTXxwDa*!x5=iNIud zot0U_L(f1X_B{s4#u?yY2rZjx;C_6$E~s}1t+LvV(bQ@s;e3GNe^0q#$N*s6d?j_% zeRy)2yA^+9)^CPi(m<564vunk%~Px#@xL{O8@n$~9)L0D3{`wvc@Glp2mclNjGt;` zxkQ@!1Se#Ma0WBX@lsc~xMok*y1Vd(<zIgD16P)-NAOS(J=bZ~!02{9#gyZ@k^JGS z+-ErJ6`4q;rtQ+rDK7AU$$B8e=US=}l6C(I9X{f{^pR8TY`2|PmJ_&RY^~62qS4#2 zG=i14S}lzN>8X>e=R}9ta2We%6n`=XI^XU{rt<f#t_V`C^Zg5uXl1W~aywMmxwbk* zb_&CvjS87zlkOyDTl%n5&w$8=@G5gu69Q||HSD^mXcm^xeZg%8RDn!chjP9Q5~McK zM%q3$k_7>d0CzNhhB;hvI))ZbXY)onliZ?L<x<KSYr|h0uCy{Oc$&O9Pm7W4oBs;^ zruo&gSppxTT&J?_JRYUL{N~-W)vwZ$1o%R)xAQucGR4O_Np49wBCx-G+FaUpeyF1U zw))P(Tsjqf`(toYVLacBt$5Jzk|60PoIT(*u?#FVKkQ8#ZV70$#2@u#W)RcEM8X1S zQjr%8?v}=5JcM?|{(163!Vsn)liJMW0&=wDF|ELcxw&LKiYg>w`uFzQgj2eTKKp~7 zq9VH}DQ_Y#WMN13t5C!(xf10W#)cVVgS7P;LLt)AckEN!CqA{FllUe;?|66l_nNq# z3PD0Erh6(R?eYn${P0!<hN|`e$fdxB!Jf1+C-8{_!2Nsi$YK8j<@>#r6Vuo3Irq)v zs$LMBEjr@t=ook4Tx+4hp8Mji!l*+%6QSH@>3h?Z13ij$CQH3rfcIMAOvA>1&S<Gg zuU-8|lAXaNG~RYw?kwBTd@pe;aV5w5Nf`U*vswMTmx(?9r@wwa^kNTINa_CsSzzeh zb@@M%gIpqP{haKL!??W{#@Oe$GoXTj>>{r;ko>~@nz$d>1Ac}AGzg{~FkC(3pg075 za9BtIIWk=C!bGd|@5?QiW1GJ)`$q`~faVWyCg}VZ+JZBb-xNZkpnmH`GBD{{!*pB= zKb!nAl-5NZz}owAijIx2DDNK8mW!gICaZ|`yq!Onq^Z_u?TC$=)Fy<1@a9E1Q@RAq zpP^)GN}b>x$Q1|0e$txR2>@aXx!Cy?U*3$L>!c}#@*GIL6b>+Rnl?X<oqNGCCp##y zzDs-l9AoP#a1bH0dn48i#3&N{uTPd<M^6DA#OGmG3I)CszYnHS-vgzW0$W9c&>%op zz686i=hy1D#_OAm!Yt61R(6;E3i#Fnnvw|Rqp`C2i8It$KvS*xu?RJ|ZSd8qU~EEQ z=x%e<UDCqzv9`dr&l<Mgque-pQ(te_6dmX!$cFh7**EJQD>(eNDYEzQiJB>2mz}SI zOj=dMY6x&Q9ef!vt{*~Q7J*oF&cApCS`2&nb5@Uf)!rUnvX@$#+^`fq9wC9g3euY> zg+fVd&s>&iE5@EV<p&pX&=t79rl>VG4`?s+;Y!A_sMFS=OW7#B8(Tfe$*G(zA1Ev| zUU!PV_LCn#TP{ppdu+QvvKW^``_brn23b02SK8@8`t<E58#{i0lig)DoG7wJvMwO$ znV=~>as9x#yGHvBb6jwl!>{M8P=OqVaZ6rKLp`8;^WSJbJZHd@5R+0#bDj@zA3t93 z=q;Kz8Do^9?FtQz-zk1)?+c8&bWmxj!LRdC5cem4=GkQVN@kp8kwIV9tC_IFK8MD0 z=u+hdfVKUya$mxvfr$R~O@qG&A}jb-qn##-&$);R49zlT(A>zn)()-A=o>OjF-f4q z{wcW9HvUI6Z@3C*tq^hS#U4;l%gXrZGt#M)z^{uKqSkD1rMJyoy~Ca)j51BXHXf@@ z0mEGnZ~82oUj<!Dy4NO`EB~o#)?V(E<fv?exR4HlasBMvXuf#M3>LX&!I-5UiFns- z*OizUn^|FeX0Cj7IGCQsr$_X$&d?f^a3iMZVsWk^Ha>L2y3{f#*ux{#`T8Lx!tcrv z%cTp6E<tuj+Rc&d!ztXg5L6I{nmhYv$<BM3$-uz;hk$zewT&zwtJr<uNZi}T6E$8^ zQ@sPkpS4Eo86R*_SM4u3OI?h9JGS?A!eS_}&pB<)#pOZ3;4rCj_fKe8<mVBey3q1@ zjCE2DSkD*FrB_bmoN7GjRN}<MW{!EGnP*>>C{H%|OxrcC@AvBx(xq#hR`v6~2~W*{ zk~K2uYujCAP1j=XPKc8o3Tg=Hv@WJPm})c@wS6Q;Zt3r{o;LAUZ|23%Sw65o@M_ne zskrZrd6@(EiWR-fF(EXZ&FIn@oLRngG^R0@p$MCxnjh0zgHkL|`X<C`2<-=0++o=0 z>Bi}@s-JN>t>-YXf^>g}p${j^{9cqKe57*t)bh!FpGIp2=GVY!KC7Ga__@C+to_;R zI-ItSv*}G{uNd7ABF8Zx7bp(XEB&liET!-MUOb@5EtC^!i?VG>^TCpm4V2zhB(lRg zK9s~rPOivI+$kIl<zBl~A9MMArx3wS=1a4*xh!2Q?fT{K$&qH^JNUwNL48Ia+<Ys$ zbalrErBy(El}GBqSA?4em2ZAr6y|0`d0hYPMHG7ug@bKS>yd&U+9ce)#{7!8$Emh3 zkMuR4ec3t9E|`f4M<r(RJRLZGbBt(BqavdPY(9WON}WX+FY2_MfAVfr+&~x};Nak; z@octH;WP-F?=tJ_tC4$+1P&;=+gr12c!(7DB<Im&%OLpjFhK8=kBrTuWK{LJEMyG> zJx7hHLoPg&$$^sxuEK%pK*h#lxC~immiKT+y(b)osNme#Bw8<eg&lb3Inb*H7y_~$ z&m%jWC6zpF23*cz2EWtI1|AcmVLcCr+Ajb8ewgt6UZdC-OoKjz4&7L$^0k2Jv?WH? z%Irj(ih6GTGYicC3N0(=Zc3Xgv>Ofp@HWxTgV)0S;6?1`;2#kp0Ll+mu7Q3s>sYo? zIN5W*Lu80%@d1}{303&sgKYN-`XR0SN9DtyzeP6Q73A&TP20UzzQ#jl!z(T`GlShn zEtKTV3rlQ@l^ui49L@R~{=ytgMmo*39ctUi%Y92hl!Z6^(~tJml*(m{a?xhJh;l@Y z-W>$wU!kw(?OqVlx$3B^FgzD)zpZxQ-W6V?AoZG<Xbk-67c47jrrhIdCGLC`A$>A> zm<)MSr=@fzF{2Mu!+^CldJ{YjGL(a^Fs@obHkCrU^5y!ilScpyf|-IE>fQEbz7cT| z_ioOup?@x1{SWoXrl=06d;vnYXjm$&E|bf8`t;&ko%gadgc80y1-f07pe|uXyF(<y z3SYra4%}BOd3=!;VC_VkMCd~@QT>>W@sZQX70<h_idJjjKH@BowOJuGk2_dD3z@`( zA&`c~Bnf3kluu{&zQyhzlihzixy>zk#CRA>b4mUkV-wWaVHrB{oH)&!&rTgAefd@l zg)KJ2N}a&hY4c@1*%wI(&alPlz8H{++1j-vtb|0_cv5Df1rx==!SPV-E0ZE;PETg$ z9?-He$39t*D4*~M92m%`Cs+1|>uzR^;=wkX8B1;tL_uRxC!(B1JKQ0ix*L+a2w>;1 zvs|T*!{0n50pcIAf9jt4LFaN0(M6WX{qfAg^vLnDg){ki5SR(0wiHKpWV@N&qK<Sz zGJMQ!q9<hfv7JGpb=G7gyl^H^|Jr8r(#<=YQTZLpuf2(jP|E^N+}RXUWQ_H{LZBXk z^W){^S@`SX(xGq1${^bpk>GpI*Ya!0<eF65)Cyt4J6(NM8@AYBMjWPBxzih<rLm41 zh|V_GnVTU@{0W!=01S9<8A!!UMmPhD+~)L1Zfdm4AP6YMRdR$%=dqab>nWMar>5+_ z(3LJF+QbUL@4q|0SF!Gz2+twGRPj0M4gU7Mf2Qk@+s4Mt%Jc24`qkl{%?4*=TRB&t z4SebJpHrwbgzkazb{<luk1<`3i0pWumOp?{524h$)|8mYeB^-oRrXqSEA=n2euK|^ zi6q5!%wrE0&Jz-;UCf0c^jF>bWE-dYZ4yKul|3|icV*v?C!mRV@i!h0mlNSXTz9!U zSp7(IUlIA9_t{X=wPZ)d7sH&PZe`-tef0?Xd7D~`WZTV{;!U3;57iZG-ogs%97HC* z#A!xJcX-Xd1^Zo0iymBY58W=b-!)|4{_6(Nn`?1gcciMJV#r|ASDMlB<#@x4EjYc; zTa%KUm6b(mWCwLmORWcPig^mr)Nq6$i8?5<IDPL4R8Gg6N>EEU`NP5A<q0OSb5f_= zl(yD&&e!EA){OVDwkukf4DPoB@7jpW32~%)wWE&CaQD=(EowFUoHio4sdG0zb4l0l zkXxe0dc1$6hy&>W<K)2y{*ETQoNxT?#1nir5S&d)chzT1b(Ld>2QkW*L+I{fZ%R|% zMwP$~q|{)4Vs$p>0pAl`7hdJXJx2MVI8l{V^45K1N#rPK{GU;(@gM%(;s?dzWHYP8 zI50s3-EC=Z+0t+qfVUjB^;GmXd)J+226xQ@+9RvNA~Si;!$ZttRaaER|7&@2j|`NK z&KY&Njw)R()AJg51>+#>p=|r<h)3$}gE0zv%G8P#g#}=}n8~v@RNm1PG<+hb_CF9d zMh~Dr4f?%a)m`W9TsgMRsdUjrbcg3mftQcyFc;WAF`qO&{4*{9yb@#Zc_#+NjYi?O z|Cp*!JF|dLLaQnqza_D9hdsYztc*~1WvvYR{wQQW7fAhtR0<ZF=>%%&Nj(33`fbBK zTHNMCGFz$NYfx*nwL25&^#!|~@cQ@*FPPfr`z$n~LgwGiH^woCdDH~Ewj-^+OZlb? zcvem>NFP4au{nafG_#Osl@~nwt*BtNccJdwjCsMvOc7p8#3OGQy`p$jkTaMLE8U7` zcyo0Cb=JY*t>v?kz_k)%Sv1+QZ^9a+r8o1D4usrLN;}Y8r)swYnLX(#r9JX6edo}0 z8VTK-+(EoIcSvHNMdxs7zx^{vs-1_gY=7i`U1SH&WS&B?XN~U_6eil+ZyOA}cfweb z%-oA*=4ex4ntcG9Y1%G{|9egch5lLU)IeqNHTUDo)>4CZF4tt4_N4-^(p139E2P~z z4)JW=Q^b2*tdZ3-F;9}OrkMlR&cnZ$?_3N4RE(>{DoR68f3DjX?GQ+8bDfxckU<?N zai8x);ws7`LC6|Dck43Ik9~IMCU3wJ!^5FfHvRMR#hy^+cMMdc%WFA&BOc9uGDhI? zW;H`Vy7}Z8=&P<LjqgQEV>iCu$dv9_Sydgs^eL`&g=1c4%;f7KM=p7&Bg$-iHo55p zQpufqCr&4JOQcQy<9T!V7o}5;r8uNO(jAyYR|SRXH&Vv0?K+@WA7Ojm@*WL^;U^rE zqOWl(&v&_?$L&A)8=Qxn-?8jj-DX=ZmK&aau;&#<b)VE=bAY~!s}8$Z(+sK<9_8<& zq$iQw&<seBHq$!F_n3^~&@Vt^0|!Jxh%mpAt_+o$Z7a=L2wQ&cgv`jK6f1-}Nw8%J z)%3+{m-gM3LT1K2%@Gh}=gB($_=3R&^vd?Tnv5_-FFv4ZzPj~i2NikfmJTXwB%6cV zLXCZd!P#}!LiYx>XsymTkjn6$zt~eflHI+Do(C?+LQNJTzQ?wqp^3YNEe+F?GVF=N zuY931zf)BG#VWh$g=p;MyfSv0`sL<tdb`wwR`*I8&Ir!zlHDC0YL|*kG#Y4pm44`d zYU}?($)68R3;ho}h}IU${;!_w|2Mne+ZIR-zK{WW-esa+W@ZK!wBP;uN>$;^6<~Tz zf`-%+*H^!srU9QVCe)=5kSWL)fiuQ+d380&nU%F&SIaBloZtJ32Ug_Dh%WF4M_1Cd z>{XPB{E*s1@!IL)RaGp8@}E1cGCa?Zm$Mf_>gNu^F8ZTjAT50;lEVM$v(~!TbE(wq z8(Qsl>orT-)?twaIBeuyZIWy|Y3s}RhsUXrhe#+jX6X8^$nK{RHO`E6`j?Yad(=`o z@vgIbuMJa=j%Exf&g?whb3`a?1%yN5w*z;pj=!eiwifL04cyI_dm4LNZe|;H-$(OG z0x{K0?>@n&KE<|+^77@{LMTi8N%BBJ8t7rs^6P}e5n<mIu9<?oJZdch`hgtYj+cK7 z!Zk+S+qgr%jJd57e}hI(4+F%*AbDtM_|NdBem5!FO368AY{wtBoC@4vA+LZqFWNU@ zpOI4-w!|jsDX`d!bn!@T2t4>V?i#SJo1(q!_6-1|XL6@MF6f&cFi715XaORWh$SuP z&vM#nc40uK-`0688zS%oZ++y(>oygdJRc*d`uz8wDO-s?0X^5Hjpi*0%!T11Q@v*j zYUjjr=k|#!sjTb^K>=XP?d0*gThe~r7aj%B884z}cAmq63wW8PJqejo6+jI4Wt}=) zabx*+A?-r8>DafKIWG~mzh(x}RC<xK)~V!^Tr;mo9?m_P%KR@~%%RQ8;87vMnoM-} z*c}R?H|YkJ+xmAWRA8&agyA3u()re#$vFPa#pHEz5D~eI-=Bcn-RQB#|H!(J1ns?3 zAeL@%=1PnI^IFq%zc`aMlvu{{^&j?c&&QZmhqdUBhjr!m-Poe4yGLAvZ|E!S<V9Rp z2e=NzScfviyt;&#O)W6{zVX+&qOy0d<4DsLgr=3oaw1&DefMJdA10Z3mPV+M0n(;u z9VPNssMBVd$)l^Qvvx&nLORIU6>}rH&L?947R=r99d{*pv^FgadHzjqDOfy>H}}+t z%CjsU$>`W7M@1%=^-d)n$U@vn1%J>qOZoZJ{i3~wT$$H*AE(p_@AlppR=Xm+QSeUG zA+qArV_5Ubtvk;q{Tzqdlr}<!T>0Ij)uRR<!%dgOTIi={wciLX)@Co;#UzPT5u?pE zZ`@6@ja3isIPt4#^4bym?*0rbAEZzANH+vSpDJ7**)bA+MUIBq_%IxlQ-Kww9v^V# z3xqcfM;CM6)%>)*PfUN3bx7yg&&R~5Q>B&99y^Hpu};X1$~<^Mp9&rDxLS>Jswmv1 ztk-Qz8orBY$&yKo{)aM!oJ}OAqoLWUqv(CVXN~84=VVA3bBRXd^=g;KEo7EcOs>~d z-cT++^P;`n{dULK#WCwn<PKy<eMcW9oLdq3t{P6Yo2}^K*KBeY%f~=eN*#fy@)Yys z=xL?o5r>zDkNazU`RDBQZ{3bOK2E%IyIAjOoo{upv+s)MS5K|Ld@VairT%bgT7>-1 z5NnWo=N_H+-$ov2h-3;URh=+w+3!cF{rczye41v7a7{HD_Yf29uR+rRkgOw$TT1~o zcAtFS(SW#k@pY}L!tdFKd*bacUYD0nk60cWrn&ygs#n~a4Td<DiP`%%<MUg+zNoE> z5+6WKy*0|7SH~W7VI6c+&>LtXD>|vgf3-^wJ(SP$EkzA8shShL`})W*p0NX}!(%#3 z>U9u8`3NO=!%Xau#LHzhSFUfhbBRd`FE(FxGGDfykWV2H<Iae?y?wZVnfb6xy1VG+ zsO(qeDBr1KGDlotFKXcIm@s&$GT`Mv`k;hyo3A>o7bAc1B63w-Mvg?mmvB(^=7vt} z@UZtuOWCbD%@g8v?j{Y18#ka(Jf+E427l{<NKp|sD0mpcR8m6QhtzQ&G@A`t43Zc6 zI>Q%yHfT?PM6|vfNBiBYC%yRj%OBhI4%5ICzY^9x^|KY~3JA%+B1TOYs*Hguv?hdF z+!>i7^v$;HbGjw9Q1iKLChBSGTHRbvt2xcOC^0%PW*r(xU(=83Gw`z9@A@!Yqj!yB z;#IgAT4D(cSl^PzKvAOejIn!Us6$?g4%d40Ar=F6@F1rw17z-&$%~KB$_Hc57o1_{ zTpP%$m}hhKKLV0L!qA29A2ZMQ6*y+P&n06*EZad8rP=NhzULClQgk!4VC7oi&f^XH z+9l<*0#3?JZ?VefkH=@?88eRK#TUv3H6_m@6G|OJrG}~<haSq7XIy{b<oxH$+QpsU ztQ@_hy5znga4I?n>gwkCA-ZnF!y98iVZ{W6AlbCSsgC-EAJFS=o1wYg;+DA0iXWBJ zye0cc`=$-Wpa3F|!C)xvKsr?(Rcq_BFI^<1AG^gE`7J-xYCDGI24g0};BfUu#vJcL zRfW&PcI(6`2=q#8O?~^|mXfv<IOjc`B|+ow`P+GUwpUF;k`8L@cc(NYK6u6Xp;B16 z<mBP()*xWSa_-Z7<*#3-m8+;t>;7hWm0$GLx6j0iCc5-?q+v<Qcmy1WpplT0NhL)^ zx8^<*piG@1{v3Czaz#E)a7#HZwAhOgf%g(z__8F4&2w<_s_Z^ml%BcaKWmMO;zDj3 z@71KILNwan+jPW(_Ijs4{%YjE%}T<aEpF3b_)qweL2ML>LZE_gW;fn+xB@DwV<!~s zaO9X}YZmJ%z@}qqimxOAH6oFhqEjkarX?9a=by@wvQE)K+8X&@aWb9=0;OQk{z~e# zC?&G#8P&2S7hPXpj@9?#a0tQ`McC%$Xu66HCpt3MX6b9cx8Aj!2H~Ek%stQZD)j6- z|NOp&@6o7d>(|vk%B2;lA@=qB^Q9x)8tgR)uJ&2J{6TCGD`uf^Wro_t4p}SyJ6JT^ zO(OG#d9!}?6|qkm7K5Yy4siq5>iY=hZq{{;V8xpn*!68ign=bES!3DoDlFxCH^TQi zJMc+;EyiIgR&hURx=N7n6VBIMw7@T^KzeFuzF8{fH%%{`x>qX&t6wR=sGShCdKON4 zE-~R+^T9nPL3Wwe{maj)sW-`n0#XTza7FV^4}ATTeK~L>KP;H;oMVz2LA|-L@kjV; zsnl^;x*KCASN=h~^u0GNo|omAd!>KI2^E86MrMeb$7O;TIR`#ATi{d?b?`#AGEZL+ zft!AK;V|yJ#f*t)RUbEG$Ut)=r-XepTukOVj9zv^Z(*pQ|ANB*<LbY|lKTJuaa_}~ zy*16ua+|4T?wOT4HFt_irKU(o?mf!1aweu0uAJmRav&-qS-Dq=LW+oc;ohR~{GQk6 zef|FVT^E1Dxz2SskNf>LO>E!KLL@(adF3(T)Ztb7xLSZK`%M%0SpHCLjZ?@1D>&Ca z1_Gf6Qf*Lut6K7{JCh{ide?N0!p=_`wXTNxC-Y&B?`;HLN!{<Y`zBK7E*nbAH8Rf5 zA8`^Sks|Sf+d6w<yGfWZ`SsOF?ZkR#S-am?-Tu9~FWMDvBemI1bC|H5c<9wk-6)OW z*9rdZ@1zbB4;a1V00?B6?1~7D$uqpS_Ck_t3cQfM1V0*(Tf@b)UqAaLNBZxze^t~) zBjHRJzjgp$fM000H@aie*;zMFeSgD_J^}5#WR*BF@+29wx{3R`?`G`v+OtCy+sTqc z0-dh8;pRt4N`~-1Yj-cu|MiI%=XnN}QE9)ZuBM1WAO0_&){LLruDt9`Zi<y#w*;bJ zl@=I)U}`g;RR|gxfS|Ldis>Iq?G3o!=mxw>EbREXVxT>o_YNNTzq}tqLkr}K!1;=H zv1f)i=8^`#48mWo`jb%IAF})lyJWIBQ*}?8610J2AIewzzB7Hh$#XWB%U6pKxUX`{ zw5^a3$MV-aViA5|6Ob3-A*hMI*5akHwc3uZ7zBA&H_=~*Nf$LOC`jIz%J~Xl?at|B zMjy0-vb_7QsVhWlnYMr$vrb(V{+8dP?VLF(`f_EZ=&(sI@Wzx-wcfT7l-^zevvjCv zdUVl;hn$XHEKl#NS1?m=T_%vITQcph@0`;N4;lJ|rC_|$*^Qk5d~>c|XCMniUL^nP zmvN?kLhyuq3xN1SF#Boq$7_cGkZ6zhUs&5>WcEWE^V1eQV+_{hI<&kW{J~7?yENlm zB#naFY6o+Pxd<okAAaXvsdp<{%0RAI2XIMh`6h>iM@*@KC)jqV$gjCK`CEgh;`&v* zK=KP2eB^_`o9#m8o^YD2!`LqIK0IxK;$+-C<=xRXXMyq&tEgw<pne04ty_kp!p?X1 z`^)L~`eg;dlrQ4qD@sjGk&*2vX>R{%uH4SFQFzf{Ega{+i&V4Mzt!h@SgUt2U~{BG zy2E~X^fO_VQEBPuLf1hlg)ZWfXT|00+@UJy&a=NIQ+mzkjNy;Qc2AWkXI7chaA3x? zJMoNO*5p1Q1@0QGqg5Em09uKN%+K^a;<$|w1TGW7y@3f07d$*!&sEZ*SdO?9F$pZX z3WR$X&OO}H>5LkE8?EOd#-_ManVYv1eu$-v0u#6{VProyzxlydkIzNTBOXVd-MOpl z*tDv|b~5mZWLbM$-$I(PGCsL1>YQ|tRXpf%%Fjp6LUG;)8ZWc6m(*kkyhZT%EwOo> zb2DbrZC?o?Y!~CM^?=0|?&we6TZ*8}a67%>Wp-o`Vs>b0Cmy7;2*g0Szai}pmUW&{ zK{F4(EYY1bo>me4!g<1Wz8jBH7D7WR{xAa3+Xpd))X*PLQ^o7qk>}P>vbWQFpwCmK ze{->er?$Qy^`m+*Dqp^x+)vvPOD0aRAg2+)hKIb4-n#s^2-jWt_>IB;8oi<<fhF&< zzp%yO{E-k2X$`6=|F4*;y0>5cXA`vygqreqh_3EMI`DN)iWLLqQ4@0$jX;6tsusDM zIiEX0=Xkh<jm>rf0>WD#pPg8EFbuXEJo+DpT9JEC=mIQCns6yR3QR5<voMnz+1_XV zpQ3h!^Wkt*M4Ac^=Uuk3z0Y~+TJGZ~8Fpn0(@`;5N%V)vN|hJaQU_CwB+?tIK(AnD zovt|LemP|dd%5!SUA?G~PPSN0P4>^{aI3A3JiNVJgNz?%%$hfauEX;5T(HOgxZ0OO zy52ZQPy+co{jBK8$vQXpfMQp>pdEE5Cs^|UDHu58pgnF4F;3mQzBm0JN6b0oVxJ!I ztL>w6@;-)h6-LWT(#i$sim@be-IiX!=kvPbJK}`@I9Ps5`>9RYc60zB$&hP#`I>Vs z7mNV{{Bj^=%0q;(KeiC{sK|?v9eL>6HAl)3{%Q-9oEm5H;{ad)WD|@3=hl?Wi3aG% z#K#rO?l6DKw<TMJ?GAyq=Y4xtM&iYE$`hC#n0>8qbNrLhbj~n}#6EQsk8-cKH6q?l z8udGzHyYa|{Qy>)H01c%d(jl`lMpenZ0ukK1u!me@LY>{k0Qq>9@K932Vb79U%a>Q z^ID|lUkwMlrtG*X$J5sfl7O~%3h?=6yyI!MOZ{6+kxUs3O=i~>Uw1n0Fn)our3$dJ z94PUBR?*QNOGejNda|0o24MEXkVu6x+G&I;PttoWAbx7INCsPg`)UhVpU<_IlUCGv zgI3OMefxHW+wX?^zy2R*ugGS3@vJFgKl^!U<5y&Y&pSHrUudj4-FCGmF~R-h2~`0B z)$y~_Z^k}nr)5^xvZBrRT&8pqocY%665YZhR*i=Qb*mtfZ%07x!$-3TpAn~;u~n6Z zv#JI9U<GJd>Mr75QaN{?rH@61LYz^L>?Pu_vC>6m5yN*{HG|jkR`%uc`oV&5K?}2u zs*vIN^ko7*Owz?Ye}Q-j+oL|ID*xke$Js1o?#|Vbj>{H5F`>TGreanfc?)sxUWJ#Z z@>s-e=jYxtF;Q`c4KUp4m7A*R<m=f;7*=AxJ_Hmgj?T4OUuB;p6#}8Xnx<=;%~iC$ zPU?d-LJkTI4GG8#X&7Af^}Sh3f^B7+jq%|JVP3L_JITSwM`CT)-pk@9f=G%<;9Hli zzaJQP7!7{57Bz*Irwy1fC9yQR)izLC9q#h_U%8FD&hx8?hWJ^ZREvz;SCjAAVN=7p zP!Bg0`o?o|C+KHe%9S&P3NxH7e>tB?o;Kc(L8{oeJ<ALm6sz<CA)w<6vr6myF(<53 z6P(z}LpuSriJnV<%W==G=KJ`Z)Ib7U@PT7(|42t|fgE%t7o4hN7;$ty#d(1o_bB15 z6d=vM9b`L#Kb^94dhuz+lRt)Sf=^wA1(ix!bFyFs-1g>txcS+MeF*x>@40@5F=Pm; zxST2fhkiy*9(H|kNE}c4Bh`?e?IV8RR%mp!)Kl5#25ai)pEF$_H4)q&H@wHKT8#QK zTx*xzSi$q*j%!(i^@G9ahJCnKS7hhh+}yIzTC4r-m6ekjNirgTNAC-b-GBS=T16d# zHY+-v!ZE6^+DglPnDN3ICD^;HxQr!t^#HC8oy49s&HmKSR}*uIFif}(55^fO9M`1r zcg2r-5OpE$qu?yHX8U<8ctX?93%Ye%*2ea;8}wBUF?p&%=T_SjYlhO5P#Uvrt8&(D zL}l~D@6&5{n<aB}gdIce9^$dtXyVuR)yBZ)-;gcaROmHfSaf`q|NX4T)T<97=l>Mk z{BSbQi2L*>{^>VyY$9gw*u`X-%KrIXXfY(?6ihTxKlB%$m(%jHZNF&rs~lV1Pe$P$ z{pE?XdUqA{HH%(oHSPz4D0VDpWXdfDdDpxOo0R*@A(5O#`hYc65~-^igri~)yKBq5 zpF<-fS&1dAQdM-0(@UXSCZX0z!L}1cHMN`L$OkFr;sdb7@)}0q9FVW4gt9au1|P~E zQt0)60n!^5UOZgRr%e7%QQr9zd}H*%?Tb$(W1C&l^>YmKzbu`(o$APX2NEAGUtD(F z{9SL_Y5uhd2SPOwNy{!llcO%~lG8=lM!<`)r(rVX3eD`w3=g#eoe2S4H-y34%LAcM zy}D|oQOj)62QM3>hN;05Tn$1ktSfX6CG!d<ifgFDxOmi|t#Kp&al~O`D=&P;_y?c^ z!!IuXW5!SHCZT1+<R>*4=KPH#iRE`jJf1lAXt9b~XfXuL@MI9W+{?YPk^GdEX@>tI z@m2P3td9DKK;jVY@)|m{62vGN-13;>Rf_b$VzD7Iu#F{e%zEOLmL9a@85Ofj_F6Tz z)fdj7bFj*<R=gyVc#)CSLfRXvX7wg7^)Hqy{1o*-|GV&O!ChD~qRByiu{E`|cy-w> z(A|r*P4um4WEHsdZ(kmS!QT(p90aht6=)71$1%?&O23KtKOAyrae$vY!1Sv5SCo-c z&Ngf%{b^PD5joqqDjzSfme!E_CJ}k^YfXWvp4kpgmMGc`ix8DS!o6Ih4+3_LGAxGV zFjpkVi>n>!v=^~fx38Rl^5lB^yW&o1`Us{WA0<s(@X}bA5Irs>AKTxMz6v&DK)04g zBEqV#A~HW?Ueb^R64V?I)~Va<+k1+j4nyv?g=?YrY6mShHgswPT!Nq3R7E`^>8DT9 zigJcsYTkVN_&j#us(pY`)8GXE7<mh{K-^+xrGBR&v#Io+ZE7E(BAAU0)|!CgyQ+gr z8#hL1U5fpqroNYT3+#n#IQ0^$#l(l>e~Mg~xakN5f><bHFK6j{4Me#%gK;8<CtHs2 zRy^quHs$TAe8Tl3-U(5<-lV8A-Y?cuez%BWRMsl8L;dM<E;z0?Ik!S8o=TR5yu#!| zK{WYBRs`#-Hm6?xD8zDXWL?Z#kNYpx#9PCuL(I5tBQ;{+M3TY@&fK7pJclL?;rKG` zU}qIj8I4XLjtl#yyRE+~X%;KEoLZYjHqxLI)B9#47-5oouk**~Ci}AJZvs?pZSu-x zk(To|A`0S<gWV7}xbW~9=p0I|bJMGbXx`0i@Vn@FcSt-RChQJ^C?losXmyze^QNv# zj2dvq<+ug}%!}&XUYC$N@~rK|ji}CZO8TE2*icO4_G>?6>Z~z+&2}s@7WL`yeod^# ziJK=6rr&*;`m{o=@A~vbZM57;?A1hEo#ZvU^nB_J9EPjhT8po)t{MuSCt@CsPqXqh z4Gv@u4M^HD5FL*ULlRa{2F$1Hk(pzDj!r97&#DsDd?t=s@k-Z^q#fVge9yDwW1Ny) zFa6!gAgz;OTi{krn@``3jGPUF#-tg0PZySMm>QeOjGKQ|3y~FEE>0Bwx4U$(&d}S- z9ydSkIU+uNH7312|KDPI#^2tI6IujXqh*=cr|Q;;u%2?8KGAFf5B0gX=K4Fns+lkf z4O`$Ow>-bCBlKs&QC#EjjPn^q(%1-_5c)YnGDw@GyDrq$B7AnV5AMe{B_`ZX>w4;G zdlym6%2zuT>YjG&ng0Ccf@tjB)p75gtk)zs!kh*Jr!-{@4b#1nZSp3EeoLv@M0<yo z7|F-l4pSRO7=BAT^<@x$q3JuLztu;Z)o=gk{^A-$3zW9J+otnod=t472n<{I;7e$_ zGZ4=}c>v6lr$92RFCN}>yOHE`H~Bvf`){_D7sf9w+*f&-mO}`+aL@JZ87`5?1|VU_ z01oa)Ec4@KH3`P$Qz_A-k;XMh?_tyn-fd#3OxLcy4q;)*b0As6jEvhqLcG@mpt2&> zEYe=U?&a-VkZd_~`;;<{QgCDZbWSK~tOL?PM+2d)8IQI@CGfj42qQ_Hm$XK`Gc(|X z+|#k$>}{w|StOs<!mvnA3e01K*j-_yWp3uZ`oA;g!)!m;wzD_zTC(vs<4#)Wr>;X$ z26e$$Zg;~?g0}1r1Lnvw-ok?d25?C+{u2AOOTaK@cSG~Z3aK_BLxQ3ZU}6Hc1yV<C zT?Sd^x)zJ#vMw+o%Dtuo_+HAr>1S4QAX?4TVaayosan-G=dBynGcY{1JS@fR!MUz^ zNGfk=?aHvRnIHxg=~**E#VuMcZG+!9n@=!9b_?uwW9n1Q!_%0&;MMEd_=9k1V_7+` zL@J!|1MR=WYy)jY4s~`vyv7!a>_eN<(EVHDYHG5t4v1fE>Te%Y>kZDUT@GFNAx4D} zW9Ss;oZ>KaLNrwpQyhf;mJJNqu{*QiK+E{bX0^5=%OMSqgZ-}^ia;69@}fI&OilY& zb?z|HpdJFbLc?T~*zbGQ11jIqdYk3J0TnAdifL!!Avk$EUuE$C)HN8(noS)u-<0kk zt+Qj%C%yVDmUe+#)g2qHSTQidYOVaK^Dyp6kIMA!*3EA)<@!t_a1!s|U&U`V7lH=J z{i=-FzJ4Wv8^W6{KIb1_KATHUX5<y@+3COo#<C+hJ;Z(We9J)azh7>>J-0twmSKVh z>*ZnY(Hy!aFGodkr94blFb1unw%S<pRFE^P@%@Wj1){vAV=94tmN^DY<DUw+-}I{X zZ5P%P7{F=hzJ9GfoVvObNH+nmiAxcxlZKQtT6V?~A<#%8|5MTsS#kwsKf*QojfG^N zco+3>*tD!D+=MHi#j}y`P?#|cfHh!|0Ae8S`;5R1UzX=F3@lLmB+ui&G7_XE^|$fI zjexA!c+e#S`Wm|?>i>T+wENDC<HUQK-<J%30PKuk&F)JcZr(rpf342|MTiI-I*kAv zr0=(jMT|M5RonvZ6nI}0z4##K{?67lOP~%Z9V_w8H6^EDy%4Bq1~Fa(tD{kia^^xQ zyXpSrpXytAHECl%73&1J)E4#z9oSoF4+bBml<ssO_w!z;ANwtG2A&P5xMMlf?%TPf zYi>!r8(JQ^*!qO7R~P+;jub&J?j8~ObE$7zI0k6b>Z{15jB>wvt-eX!%o{$yV78f@ z7sRF%o%Fk=qY~<P>X|OWz43r#_(Hm5vV((x9{%6SRS8ug-MP4{4R$n7#kk%%)j6%m zzWo-{N!9^Dk)6?vJ}wsaI%IqbfS4FXXM#soQIj%-wg~-O$3mIs9@_CUy4jKiK;zR# zubF!{G&lFMB8rpa;qNh_|8dyz{W&K!m+Q>V$-#o;byqi~HK!`)lFaw~3%CCk;y>p+ z?=$nIA5N|J2mv|Ohj)rPk*T!H)48SVR3IUX4PU#WL`kukZ4F*#B$JpxA=C+=@w!AG znsB{wO3VBkgR%ESNk}k6uE}Z15}I$Opk3d*u&QfeQB_;UKG%-Ay|<7w>Ylv0y668* zyc9QPg@||`owbgC!;ZXq!i*U}TKW5K^lagqEzf6`>1)1k@AjGj!spz%WutvBo3BO{ z^<psQ9MXKun5A*#ttr8ab<$@v$1HfNNyluktx5*lq0@rk!8~MnK(sWNAFD)Px0UE* z0FYPA<+L>7dHfB;lDyak$Ar0<`wyW7Cy5MOVz<&u?XpQ(9erGAw%Lw`l=Tr?yJME< z>>?NLO4?fvF0rXWD<g>!265J1{YP<Dk+@q^18_y-!Cr**zF$b$vd#e~6Pfp*Akhb| zX}=IENqoGbxnGkXzlLmdhJ@$J>Rd`Hc6%UC3!~GFYI9Afrjbs`V*L@)LGi85k^{Wy zAT7DjgFw*J*Xu??jXqAMO_uh<hhKd9qm#d!9*=%Hi7a|wI^!>X>H)obBq3lkgf;v0 z)#I`kCC#CwR(LSYF0yFbsr(iA&}H53;~}JUp)3Hl)g$=iz3GqsrRYb@?BD8Q4>>nq z&)Vm6_edo^efQ`^y*c>SZ~gR>8Fq>&X|GY_&^+;MTiYBKWhZ1Si(8tVy1cVjvmH5$ zFo@S1cT#cMqfhc=C#8f=_NaSI4$c_PR^!QjdlnM4jd9i<D|y-8{HJQ~r<6Tfr1A%J z?fSe!%qFsCLY=gh1_Cxn+nOGxW?2{+;|(KRerPeNHfaGevZHhNe<{erjJB(oBw5T# zc@6D~?%!FG-$AxITN$}&na-TEi0YWwN6wxoj(*I?_}+3e)-H}bt})g5Eb`R4j?l@l zhZz%Tw>D9rqqoLJG&{3ZjEmCLYi+|i{^L->6y>0{GNS((O({HnbYnqvptaeys33Ev zW-Cov%}G^C11m@cp>qLK>!k^)L)jt--^nuW4QTr70^VavtQB7R-SM|pP`Ts3udVrl zmC|f?hTx?@n!U+p@G>TaIp+V~`nBh^Qtd69G=yC$sdi-NpwDOTQjt>4>k^!~maFSV z$1^k$Vt`9gofG@8^QG?w=Rj3=(G^*35-h}iYyTeRhN-T>%e34M21_EmsCXf-u)5wx zR?Lf!*Glxn6ZbICyXPrUE+TC=pNo_vAH5d0KPN2%^U7WG-_q_>oXkgu1DOTHiSjVo zI%;B%d~<L`F<Tu16Ekuf6ctvdDsPAhzr3FyGTLdflp=ciVH!83D5|W(@=Q${iGa1E zM}D1nsd!_4@ZHdmx&Lw@+D)zrK6t3Nx4LF~TuIt3wx1i&%_-V;JDtB*Z&f4xpfIu9 zVz**OF4OS&uIja4o_x_(sGgTd3JNq|vs|*D1W6;=h_8sTf0O#0utPXpI%-ZOu2Dug z+4prKTrB8CgxgP5%_xJel(#{uqGCR0!u78=LiN`@JM7y^BS{9WFQhsX&FsP9%Y_;K zb1d!m9Ee8wm?_~Wx;)n|BzZTNC7@k*?q(~=6Oe0*=YAljrw@l+-rA|Qw+lG^;Y#8Z zRYhMzci{-oYgN&9OBhPN`Xw~T<g}N|M~;mM%H_hPhCAzZ<13thFWjK-Hu;@w37{O_ z1*A5Eq{?+Mi(x{Ra=PyFx0IW826c(uSI*N$OvN&c!V;3b;gK_ocYg3?+@(^>Ke3m| z_X7fl={U;~pmx(XJ;MRkO%dyZHJ$qSmpW|LX7P5NugBRhhyJt*B*h*qAxQq%5KmVv zPLvewSygM1nqR0{nMPxjkx)`!c<a9Gbvrp&@Cw3ctizzevv(EUB|CM>Nscem9AEu* z)<jCj?<OMj!ymi5ohuD7G{VoPWYr*`ZsRp|`Xeg!O8TyuG<a-CR<6m}DTM6`9H-=2 zz1pJhG)O~Yx5U(wzqb)Ixt072c_hikgk}$l%5mJCpWGA6uf}W)i+LbVR|;#aW&K95 z8QY8>SqO-K<QhG9>^X>0`Oksg63&6-f(efN_Lilj?rhg5NmVrUT<ZtPw782ef&_DG z?&r8JczexGaC`0?$TGEvLd;!(%1QbMq%$79m_b%|Yf6TF=i8`3s~a9o&vtWzO)nt* zE*8~5#B9myzb_~4w1zU?LGfR6W?gQT$<So{szPAHz+?!ovj-%V|5{0cPsnuhN}R4@ zz&vJFA0eNq)Nb?=g1hMONbp(bcc)KBR1(@rlKc|;2pVHQtVh(?2O@=wpn2_XLkesA zWfk2A#(4IWN*4$0jl}WY@?L3Xq7sjc_|wlP@QNQHo>mEaCnbwLm-?~$MS&El8j$A% zkatGd8T1NNb#zyK(G^wPmBx_&IDUhADTg}NO<WPZJrDr`f%M{H`+_IhC#(FFAhs>_ zIt8vOUUNXRzWwZUPJWX+Z$hAjRchLPTIS{$6Kt{)9w2yp(DI3ealhHf@G$+5h8Hf) zJ=S!^e#8;f0aqMY<g4@mda1G9`CON~E0#q%ORj?cT(A!B5Jlc_gWpk4mMEW*4?Z+) z@@gRd-aZ&!o|yj*B1OtTceiSD?`=)}ynYr}Z6(uunzD{AS8#OXJ|;D7Q5TcI$!*cv zJO9Oq=Sz3j=4O|ziY;WN#)*iL|GM}W)gwj;0<x50n}>Lqonewp2kLH$V*gUoc7|V* z89hzk=RrGf0A|-FXgak84BdxETG4(tOJvv3XTl@pf3C@2qpD&XjGl0wX^iVZ_-MmN zAE>!Vs-;C8^y>RMmMFRRW7(0S)c6=={0acP?zwD+wz38L0hfmSo`I$j?DB|mlUGf+ zKG|_H2=g2%mY7*fmI`!r5o*;7xsz%=<K87zI8IJfEo2*XzxYl<$H%C5G}vU7^k~3T zJ2e&?7!mI&k!!|q>M{A@=*hE$gDZ#Dcw%)m=@rnuGhR_rX1Hn3xat>wjTsS-TD*7R ze9p*SO;eAhlQqsBoegic>y_2{8&2X&b41SkzQ8x=eyX)I45=c}wJcN2q{G|xqQy$0 z+U%NJRG$N8uoyVxw_RuPuJ>@8AGXS13%ce$WgEQ?{nhaPz0&d}+cnk-idB?XKZxvP zcJ2fuPKZ!!NOEvlQKaroY2IO6rqB8F$OBC+L8+lcJsZg~$I&jcO6b$FvL27d@-RLT z)NK}EhEDaep6Z>r<>LeL{bd;k^GvPAb^gbp8m6{aQW_Ncry=7PbfE|Hq48dLFzjr$ zA1}qCs^+sE_geRi?&giVo$Cf7I(?1Oj#FbOTidv5F9+6v6TK@OTRCT)TV*OixlLCw z5hG3{7sIs0?te*sT8S7iom5zh_2bd3mJ#|HS`xNqAi$NcK-5RlbQm-2m)7fX=4rzW z*meLbG<!J-gYvZac-t$#&XRMV|5ER{TMD{6qT1hVz%E6-S?L(lQ$-z9{5{7qjGUQb z50>os+ra;E*l;hDXN;Il>wO%bx<1@CWw8DCGmC0Kv@BVSK<$%D^n6wWU*eBpaJh?* z=CZsKk{!45sM(v~;;|2Q^Ejt=kf5OOT#-)bh(Ts(#MS7%sRg#1SI-tZHfsbX-tZ#1 zMF%{T_H^8v9h|?ovuJ6Tp}q$zI8>G)-lAzR2aLv6i^-P)BG@e1e-*DeS&_F2v9G{< z7#PK;RxQu|pzAM${<mVzdwBz)abS~=f!pEcb#IQJ3uA-X4KFP%Q?V7hx76k}Ty%Pi zbtMIiv|!L+fQgH;aY;>nJeVYCja`Px&$j}TZ>}+CXr&csZ0wOGunlO}F!?^);W14W zmheV;q8&U%xf<g4xD-&tEwBYpB<6}v<>oDf(Hz#277_>M)ybHR+X&yJ;85SbXPTK} z<XE3(SgY@gaKvpNlwz(di;A5aP0uR+jQ875o7oS%7!sY7Z8&d0a3bwM{ILIVoO$m@ zmpPE@KVW`E_yn+pQNWao4e;t4gzL|c;97BVhEtV*c@$C-3D}rulj+IKgWZUiuSPGe zn40F(<(d{?TGtwCY+knBXHasDtEjeBd)k47cEP;ep2x62=ssKH0+i7YpSOF)|BMMZ z8=P7^aAexaZPQ^V#6Hl`TwcR&T0dw0dn|ro(NQhf4YrIy=N?`>dD^(@uA1ccULEGP z3XmreSc|8c2p4R3x!eQ_RZhi+lsUlyF}GG(0hhU`I&)hEGkXg88A_=Q?1oDLWuczS z#S^`m(^yQ=D)XsU6IRAaUB-S_8oEL&x{jj{I`{<amSaYXw;CuNA&Azd0wE3S-T)Kx zk0;3#KsdHAjgR1~lo!$g7(O|h20MDwBy}tVY)aYw%OU2S+gWO!4k;qR3A}+rpgEsk zYdn7gc1rMe0XU`qIE43n-~lUW_iupYcFMSu(nN?^hmh)(MBYY;B_==i9vxpd3>)#N zFg3(hNr3<7q=dwo7Uee;l$;K!bR72yDn8>_bMH+~od9$4EBD8waE}ZB&pXNWDJppD z+X*hNpE|u!LjM<Vdt{s`+&=J+=bNY+w;#LaXXHNf$&mq$VopQ1l)vFeMOuoZGJSwY zOkI}c#Nh=7&*>4%zFpXi(gmI~tb&~_-eHA!L!_7k$RoPb&awa6^dwDr<5>IGcwzG* zExvcS$eW*YGG%xFK6>>t;iUQ!lKo8JAxsg`5E*qw?5z2W<!&VOfB=Bw72^+Wb`ZF} z+VKZVI=5%jDS`M<`M<{-TedF)1s>3UvWwO)MJ09mDCox_j7U;DUPNRmoOqVlo0Vx> zMHu_`U?cRc?}AC1uNM(u?l|OM6f^~0+uml~+A-@wnHBOnKla;R1`vciC$vordWTg1 z08&X3;+e~RXacL*((~AYM`SpB&haWt8Qt(^S{GA8VB|gvn)rNNq7K+<K9V_V0|%aT zwrlNlLkp9^<Q2<I-3vK8R<k6kZStn0Z}N`$%*YoR8qHpg(7i9|f-vzD`j4Z%L`F}r zMe;w6vriD?iN7VA?k1aW?vX0x$8hFy>>?{2AM?S<FPDq!o148fHgkUqQ<zV#(quFO zrIosb{&mbHY;oyK7%v2D$fSj+)ayetZcHRgYCxRE$RxsVuMY*{eW+_m-Z}KCWt$mh zbjFKJn(uCu+8h9QF-vHXj~xJGv0reTB&AlT4=V#qHbR*~(4#AP@)?j*ooxdD3SP|N z@z0-l52nnkP3HBWF4soJ=6gx25K<4%NY|9yE(pe~@F~U5raV7ldD(wIikjuGb|aw2 zx<Hb*%wcuIU2NSuZui+VkUN~ZpL1n0H%^&+k*=HX(0;SZM&)V&u8aFpfue6C?riOZ znVR9lcAk3lWqH0a1PD?_aT|&-$kgnF)S-68QGF)MZZ8ihR&8OtYm`a%R<w_-g9%Ju z_891+fc#41{BngY$FF-Hk~bQ(&&&0{6@LAT!s`gTdckwiAMVC~&~Hl`%g}FfE7yAE zNOCN__r7s@sUY0S1V8MV>|Vd8mA@ANphr*0FY3N7y=<sD(E9VjMPp*rV8`!)Sg5a{ zK81fj?d+YpUgFc#1f`@(e3kc1gSqX%*aB1W*^e3zHT}Dvb87;8B6bq-!9_1qNicjc z{8uP+So`*&8cE4i9DOWLCFv@&MI?F2w!;N7{V=Gz@s@FvVddR(!btq*JF360?f=N? zpc(t^JFWUH(TkgE_4gyb)<BeA=BX)#em_9l2UcNsu*1WLs(XRs%jPZ2A=*&(??p)) zBBFC+VAe3<qW<oW5n9WSauLJy6$3keIQ^B+(^8kAE>H4PLx&I<zhPfV3`WM>G_$F# zYp&9w`<A@~)@vk`><#oCVj@_9)f$Z4;Zj*U=YAz=rS}<+|0>xMLIq<Gf(w(evUh6+ zG6D{`GcGtox)cX)4Bx(IBq-rbQ2&BmYrT-Ll&fe3wb6z;AC$=EBwpwKZU&L+xn<;F zfomkq%v2Moj+xsIufm28e8RLU2mN!o_EOM!plt2m4x}6y%Gco5iTp&0jzS*2X8XyC zf)8~4KaR^%ZU5Z%@M5g;`K~lM_n>+`6=>a<+`@e3EVgexw}2I}UQa&h<71I$Oi(Ry z>k;^FqE}oAd&&m>gs;NoJe15&j~HAPxZ+Iu>JwF-Z{)0RaHf|mz_D!^G+%ePdoyj$ zqUkfri>7!$M4uZ|%|G*eK|_&%Rouea?ylzViw<b>LrPA3_)_?ECW*{gT09l8`r^dn zpbl-v{%bIfyg7a){*KKabQYLau%Ye~Vw^d4*l%fCrt_Z76K-BtgBB_z-3+{S{*l8? z_0o^vkf!Hp-XAYtG)xsFKR)+0R@2_7HXmJ_i_oq}LnICaT7WY$oY1>jUiA}U&f&#l zBV#5;nSQ;b$83->Mv&*@2^sip{9{CHVqVwBf`84iHSQ4cfz^r;cKmvMSHf>SXN8z4 zvFTJYbr?94H?(;GIdK5lwr)tVN6jnXrV8JkLKPJxRI*2r(?R^wPy0`|<3(Tco$Nnh zbq2_cl2fFJ&2;U2&a4W*SQScGNm=`veqzuHnXHjeV-z}C%0yRWY>ctOBLyPV!=&zv z(mHoIg|aj~qb5!rdlntzugcBQ-udSu!mXA<cH7I*pDl7-LBb7&9Dv9<r*kpgYjKt{ z-d<fMGWJ_UyA2&JO_Pbt9`)H5KPGJTxu31wdu#sS_{ura3WYlnac8WJ&1wBw$^fX$ z18CCrJxfTL4G>u+Ga7LsNz2mag@Dcdb~oV`z+K~j6I89CI%sSe17!!9VKhDhv7*q| zP+u8g{n~mw%YXR|<=?^VM<W6TKI`Pi#>`8RY^$-`a6LL(kQB-fa0+mV`JYF@K}R3n zY`xzu$rG#T5*?kxSsFhZMg^J3HH6_S-dOernxM*Pc?KU=QebWg!67jP3WZbJR{EeY z%W~uSN+&(hyY#E2hTL8j?)G9xDk&VlRoO*YYFtVPmXn)x*HPo<{dxN}y0<^UJ8RnK zoLaA`7zsq<D<Q5dA{|D0%D}LGU(-Qsw$?1WuP%qvA10nQ>h>soHyu$ydAm5`9}4}j zR%&f37!1E=dDH$y;@?@26SQBuDK;*qoJMPmKMx6sVI0Pb1}AVHFA}|NJU63vs`v5~ z$Lr%<acPnP<>igL%GL-YEEHXiUyfYZzg{_UE?Qf1{me|G#R5g|rR$9^!<U}laIJpR zF;_3>({`j@=0%B><G}ZNM8q^aTpm^f)}C|HJZjvl`NP|6Y%4X;8RSfZK^<9!tSq8y zy_cju@yF}dN8LUN3ahxpRL@}3!~=J!ftcj3BM<D2-J4rytuih9rAF3fu?KYAWcaaD zlHN#52if3;+MG@rypkz2PK-K(f@+&$zae_tI$+wz;@w7fjfClMB@NRJU#dB6cE*Ht z2%bD&x3)Oxm@yoe8ko4UjIrB;?C0tl$i`?WV=!QbdHccK#O@n060y=k_Emn;<gCDo zXto6kD=#z}c<yLVo!~G2e_!mCd-$IVXuLhAY}JU@fQ368uwYGX=xZ7l@eq4PcnFjQ z#eCfX7Hae3kR6qEnPF=4&Iij=_MEm?t~fk)ek_-8j2a}K;_f0i^YY2hyEpiN+*=}X zg^g8y=e4f}>(|B*h#kU~kPzz~@`j-#$X+1>AyQgp?t7*x6R{6Y%c`zb;Q)6C`f!w# z_+be^bT9=Ko@{r9N4PpXhej-`*02HvK57USN37SDgMca^u>y|Acazo4Cq+3$??*i8 zJa_bIvp%you*$?OGWSq8{XNE**J0N>7`6&Fi2S*ao4ov`re6M_{u(Y7znXTM{fe+T ztJ>kxs=PT;iNo`HwOM=RV{vHg^1^;@=6@WQTn_kf#m?zI>z=i~cSaRd%%kS6egEw* zsmi37D(^eW226=Z;NeU*Dm8updo>+bUBbsUqXT&pZ`vZrk!LjFlknIEK%^1_xfJ$j z59)um9z|v4sL5m771wW9L->4RE*1jMGR;81-mYh)@{?n+s!w--@a^ukq4g^}Hj>*R zX(A(jX?7g~eIQkRFWF6*qEc1WGMOAmn)$!hOXyh7#v7BF86sX!;sa)~@_M>fWje%R z<^wu=;s$Lp;5g^&<n3%8OA;EWC-W~ccwPe5Lp8IixnFC|#1{6;m~sc;9)Hx_l@@P9 zHj4^IJwK?haWcikS<LPPBon0S^`P82I47G5WS~x_Z{ux`=D~NOy;I6Xg*SmPuz`M! zHUo*(u2OO@-7G9<T_?d0{9$vi*vL<O-DV{NH8yIJ*TqggTf|#xpcvxWes$5q1;=3; zeD}ehBlGADJ0gEeaenD9?TwhB!h(P_Dj}1;HMl0JR!bmOXHDnN@ndKmBg^7FXawEV zc0_cnk!$^dDfo9SnfX5PJlNCrR;-riamlBJIXB<OP2Q1wfNye4iSDIOmc`n~XG=Hu zlhA?A$gj0c>Q=U1E3HM{lQ-~65&NWU^%>Jx2|$l5}B?e?QyVizKFOAiGTC6ld4 zsef>rd+$w%bqS-tU%w=|>PfZ3+OGi_%JaYkza_wtGB@+(wk@BMw2PZP<=u?Cq@=O8 zPs3|?_*H7)UPy2)?BV%&a<f&Q`6($GQev86hk<iIO+X-?YO}es5avB8bc`va1FB4# zkh{V<wsVYnhAKby!F^>ksxa97eec5~$~hljc>by?a!55=Fe~(r4%~Cb&DM@+FuwoT z`)*SdWMssuLtk?_1eyuER{k>llCMLqe!FYD>=Ka6xKVfAxxe*f^_!HOd!t+J6<A1^ z3Sp$$Hbg^*VZO1rQ=%u?1xtl_`o|3YRabR;cCspK+Woue_uVo((@@+7F2x&xpvmj& znaMj<07k7Sz@T}^Nw{$7BLDVsYj})R4X!HL2oy-&Ja{|W;kQ|7zi~`KKS=b3-<%Ff zdnj-=1P1@;x5380Lx!Va?o<H#AkPG!;Gf=IJ!E+xaB>;ITj~4G4A8e3I5S$oy2tW_ zq5tF1t+%(AY5F6%wX4Mg2!shpk{PD*ROGCA0J|@}C_uATgBdQ3t2Q1V2nDK{{uR#6 zXpXPbdA_e&zhA(lIHu;dQP7G?)wP)IrThPJ1Oc73F$ym;;{wRcVJIweoHxsNFJx|i zkkHn3-M^N821f@oDs7t9naC9J&e`Rn8j?Xh7eeq*`*ZWb;8xPAYh!y>!nGXlJ(6^7 zy-frBU+L4+)6DH+{pG{X?qIPgrXMe4c#QthqACgR`29~9{bBU}*7l)PAfR9!%jU{# zushHWNAK}IO}HMs)eI1Q;wx?02R$@<Y%z0t>4fqMla*1$2FiEBNo-zepT%9U+ctQJ zJ)y774D@kgzS?5r)5Jv~0@F`YX94p~1Mnu<MP#F7RWfKL4<4xLU?$i~1Qx>{Ru6_V zm!9}0nG3TUOq|^!z7-XgBXE-z8P~G5H6y}HG|KG31p$<yk95GE;wPo7Z*~^A;}w`D zoODa)GD=u3`uKS2{Ofzm`W?f5^SDbP_MYgM2fSca{$5||dY&g1ERleOLk~ZkHQ?FE z!;Y+Caq<Qh;#jN+6!7GotjMnUCrSY4vPW$`k6#PfDclhe=A)2ayepidlpNwMr2z=T zU_r?z+St<g)`<UV+2+X;_;^pY`LtO9M`TWZ4d`mvommh)GCO7#;h-c7-#=f72nnU} z6Tu-@1B~T5bbhY`ivb_G3VX;hxOJ&rRA3kIeVaNl*0vvb+Relp0pk-nA(OxDuk}H- zsd%|f8n9gwPMIz2I_Ox?LSB2qIteV7emNF1cw2m79eO>!k4dzAx?aPI{8oZQL~J(Y z&P^-lDo{*dy9jF<@zXiobm8QUJQ@56Ebq*;$$c3BQGaqm1Hb$?9k5l!NLbs{iWk}| zT!_-xJe=no<S6*gOrE=c#WSG|1^&$hs(k*>*UBR~27HYor_%omTcW(V&-ec`yK;Ox zbz+xi>agd5sq+epa0+y?oZmHEt@LUj->0J-qRRcLx#pYuR>zi9y1@^bk%^D35xdzm zV6%TaD{|XNGwa&=vZ-WXc*BXx8VK+7O)VhnSA2*;Z9hKT@Ma58Bttat1a*#1#kdX5 zq9{hLgJ?K)jLezvbL}2L$SMN<A{cm-+jS~uFx4jz^oo+Z{p^-8;F8<Nxd76-{eyn@ zP(o<%8Qv2d?m0DRIVhdBWFe^RP2s<0Y3u3Ops~HW_r})#vUhY=R;W$kavAv#?(g@$ z=&aoT34M*=?&bIoF}YgzqHg_h@43@f5j2HkkW(N6RULg?xJa{b=Ip0zOehov{MOfO zu{xgIO}0)k1d&bMkgoaTRwqiwn0IM^<}#hfN%eVu((ug*eH}CoOs?dp5XcU)e~XQq zcUPpD3nx40I@dgf;GsmH_`YTyKyC*ZSZ{IH^uMw|PJQF4Z2!5#lAh;F#b#%K7wOYh zp;_n5y@A*b5d^#To?D#&qmM+KW1I3lmn<-eWHA2~QdGwRue0h_P10Cp8nD{8_^PHE zX*vB9?OQ@2Q;fsXiW3U&GI&b78eMY2Id~A}&wC-fuEg<d?Zk27MMmNU+z$j<;B}XG zNR{p>N$#o{lTV!ERo`8HdKJ3$enxt+5VQzzNfzUlrx|6&Dbid=l&lDkLHa4^P`_^5 zPnZsLh-NxT(BcwgI`f>L-Am^pa$kppj^bv`3*yMOTSmjdxOv})7u5UGkxp<4G(Xh| zL;*oux0gw9`yXrMPwC|JjMx<;8%vW=Rc_nTw)cka8#{P?bA7dD+OO=PEUkhNUC=%T zB1zI8h>RC0|NcPE#<SNpphkPJp>P0)9&35pBxp35CtG9m`nK4V|F3t6F6~Dn1Go(B z@&wl)Lw|ms%`bwOVq#Zz88Dkn3e%n2gVNgR`SvqJ+GA|py#JtQ$8L;uI$L<hcWsMu zgORR`vmJ4x$`T5{YsNnHo#_#|v+-}+^{iQc&ItjGa?^9$h8=G&WNKh-VnylV23T@G z`=4gnu&Fgh($WaauUHQoa9V9*$~bw3U;#ILtfnj<vTR2~5M<KscObM<OIC1lz5oYM z3+I>V5T}cZ9|gX~UJ<Et{r*dOFcY=b%GBssChSJ!xMQv=p;VSiN^rqAbbcCb24G!{ zo9_M{XZH?ngJjN#nA+d=@_L?Ofpf>jtw_n87M`zVgUl~B_7R-@<W9N8dOu<eP0zfw zB`<f-<`EQ-2cn8(%K2=eKGb;eUdc;pf=EqVMnmnent14;!JNu_KUe@`QnI;hIImi^ z1QiEs)V&y)M`#=&CkJ|8&x3g(cz-z?TxEUHAg0P4Tl=cLa!XFlMq(>NmS=wKAb3~X zM7k{EMk%5JS?0x{)zVR+t3`PEH|hb&nhi;aun*XHC*uvy?}dr8iv8W}S8j%a_wS|+ ziy)LQq((vi6eVLG6khW*PnS=B0v`oBFHVu>T$#>oxcH8>FC)BKMM_t(b_%5xMLkWJ zeP=SLqOG4yIVBY*_+?C5R6%d{aMAM7%LfOkP>~-3qsKTjvtBk$X60FCNnYs*LiyJc zlT-HJeVgjJg1S8_Tn=(JqtAwgA2|JMWnU-dJQ1ggFIlwr%;HvG6`c(0Mu61R`Yc)^ zd?#HmS2=3d%*M(ohb#mcGiDo;N7>0h?I~LAo#24IZ+ar5%Q@2tpW7X{jK0j((sUFX zaNK=e@j^B=`peW?$d#9aFI82;Sbytxc=yd7iuc)TrQJ&3*z<?ah4(FJ-;VtfM2xi= zM{Gr>Hw3e<8<d8rzbU|yc+*AxDwJQ*er{DeF2U!Lo93YV_BBV!2T6%)jAE%NVRk!U zdGjw-KIU6KQ!I6(iaHm`uv!kksCKbKbN-Z(U@Ji8J&kTwKVQuAf%C0c*l!7X&Ye!( zkrQB@v@*qtRZK4M76ZKstyz`$2Ebx(87}CdMqanj{9ZC#5e$=X%b1n*_ngRg4{{0b z@3?diL~B+1r@3_O#ZSlsGZP#1GJ#5F$(aV5*`dTkB~rbX;k(;(@Vz-Wf6yiNg=LB0 zqj~i;(05-!zCB7+eH<p)D*}hxF)38PX6r{6T!*_TFg0nV4RFRG*DthQ@lYd{2xYhd zfPmE|bmz^U2?{E$Ne&4<c=2mlQ|_HXP)gwk*Eq{#`xcGWQGbjsFV0h^^x?idAHB_# zt|<7B><A5L^~j&vE<$gjeZJ=-XNFmsO}RSG4ZDZ%y}q>&nM?O{q25rL!^umRG7y$R z7DGeY9$C*5qNi``-uL+vu6^!~r+4D&IhFhs>?+B3()TvrNR<&fpN_K&4UXVxx!U#? zlW+SqfB46nJI!a0x7yd;cvI&knx{7H&paAepy2=k`{PP!^I>RX-U6BLSXcZi1~cnp zcl}DEfM2X#GuKLVj(0Ox){ZLICi>b!r?ORCEq<O@hDdYLYNgw`<9fyzhrM3AzbP|O z2V(V_tg&~w0F91vc)e1HT+9GBbzyw<pvB96=>3JcO{FbxY{Lp#-GDFCUxrA#K*i^N z;{-{jv}*>oLe*>%;K60!r*u$o_W3-^e6P!+=^5VO+^N4irYbxB>o%h|^ZMlq)qY;L zey`!1#XsdIbeuEG2X(_=lhiG3)vuV3$85UWXx26kE%Syhl!a(GEwKF6(V{yx>xt83 zl2PGU3)Elnj=|m9Pk#o?s80+u4gVUN>)`Dj?g!lrZoSmwp{tCTr8zAy+z7-%|ACIu z9)^Dfeqp{oa6dQv5CFvAMnE01(yd14167W*t%vJtr543B8uu0Fp00?#u{Rrjd7-Qd zxB5T=-0{a9HlJnl9|vNWF~{=LDit`H;NmySq~o9fH@{!KEkBXFq+76%P9`~d^xuC* z=SlwvEu$Hzw>3bDzPi*`k|t`zxj+5cRZ-{@PPu%sng??|sADh{56uLvMw(?SQyR38 zLC1e1*1czJ7pg|cq}tW#@HfyksM*@@X4LT09xf2bKsrH-kYE8aeB%uL5*Po?_Qc~~ zCpa7GJixo|f;^`g);@?-LerIfuvOD#m+K%I@m)Mn)Ogs{ALMIBa;Y2iKWgZfG@_R@ z$-aS5JiB|uB*}VaI_X&4@ga^lt&KbSLCwtvX6W$MnLQ8xF}^*}ArT#VJ$n2=?HGzP z<&_r-M{`59T<qKNadq*1wJP>*pYl>_`Qu%@l<E<sO~?4pw@CrSR5p&1XXaJ#&cRrw z_#=#fa}F8aS_;RECyKQNA&a^p(M2PQ^$E{co?qhp0J>F$>va2<H=>tTb%A;>pI$Kn zumbabq=MB=@gnrXF4)Q3w!Rk8$!nq^8h9e5ILH1=y}g^8>W7OUpWj_8H{d_HILKB& zOK(~Q6<07oUpr^}PWt<pxs4ldxDX|`kA0#ITGg8_%lYA$rO%v3V)J{*ivo{d)xIgY zpM4!k@ktm$%_cEa=tml|wx?`(C6%&m(Cw_~>n-$0^!b-RKWpO3Tkn)RUE#V>Js#Vu z)<!y^oSsApknL1~6tm{wa<ov7u%qi{zwYBUO!<R#uW&T+q`%-ff!E}AbLO1UgXx={ zQL|skK|(hc=7aZULhd0P+Qx_=RCr`pgBJZUNmHl%P_s^3yeV8qpWRzc$h5A7mM>%+ zAFduG{;l@u|L1IU=FdmIQ*DAWhcRWdoBVdxi=o^_c4OY}hqHn!#<y@p!B(KG8M!>{ zd9T@=VP>4Q(CTIJIe&bzzQAI`a}+3A9%7Vg2C`2Gt}P13{>O1K(zC8Yj^dbULXMzK z$lMg$SZJ7w!~R=F{QF}@+Bu=5%qA0>4emcne4|i@8LNAMAul{%tXC4Sdb<njE@@S< z1NrLd>1y|nvR$V_?lnu39IL)F)O1yXI?IgjQtW-|RV+>H{M`d0ejYv@@Jrs)M>T;y z%FhI06d`a~yL;eBH->rMm>Giirbw<m?#PRitM?hZ_c4`amP40a1kL2f?82%VUBt%l zMLmE8r0>nI+6AMMR@=GwlCnAL#e*wiBP65|;UcLR6?J%zI0T0&(Ukl?4mD~NX=Ak; z!b)JWilN?87c`+wwu2H4dT;5T6VG2w`#=Y~WPEM^^v6(c70G~UHCq7;!dNL;Q%=0N zB;2grYsk?2Yav?Tx07?axht9oy*@PFCjh8O&-#BwmsdzwiFd1HeCL3i&frV0Hg9fq z;;NVyGM>UHF&Zq;Zc=F8p{>Xe;1nOdd&#s&8WOHp%Ul@fSqXoUBbz#@86j+fcKy{L zfjL_g4);1!PI+>}@2rrCLKjy%=AC4a(-$>~CSR4##TR^h#;B^qYmYr^GFdY<`ye}j zJ7jieDC9jzzuS7Z%(mjX-()tmc+1SOM1$cs5)v@F1<m&T9YR=cO$!ey{oDGBZb{uS z`B8ZEpyi=yb;ZsT-9@8?ziU>omQ5ch<d+GOT8w3o=V$ESi7HR1^n^dxXptAoDPhMN ztveIP>*7bj1{L$4IAk$siHoCcXO~Omp4&NFUpM9&U7oCS-_E*}QCoDY2D37hI3rdY zw%FMzW7nBE<Q4km6-@J?ahhQ(1bRXn)P=@kG1%pZE|VQ~dEop%*_*<`S=Aa+J!`r< zizT&+xD$LSAqDQ_49e?TIOFnw=gM+ns*_jE*qGe`!PB}@$&FuK!L+QE4vB2m3h1&S zVGR)s^F|#0t=nmYu83jbd5sd)L#V&FYK6VDfgh<Mu&F1kbtUs{qoZ@l);xti{q(iD z=4+0H)vaB0<`aa8;mEQa6SHx31`1QhETp;V_=Sg_^ArqmT9AL=c>rGBywzu-Ar8gJ zwYYoT1zh4X##9EKxv?Q(J6q$I5s`ivDZ-~IoR{b99B%~1Yy$+S6c)C-DYGMiwzoe| z%NUPKI$_mnF5LUY{_r5J*LM$DXzAJ4<%4HU?M2?y)g*`Y9%3Ff&^P9pY10Sv_j`j~ zktr7OV-6j!wyA5IGC=4`h3BKp)bALYd<!pqRrvS*6QvbhFbb|R_o9YiP;o0`u_F*f z*xArid+MV$rFK}Fv42*2@gToUd8+kwBrCi$KePWSZ__ahrM;p}wKWKJ{pE<My@ru? zS(mx<&jPXobz<YN5uf(|zWZcvh*8TcwA%)71X^0o!U(eY2gLDDY8)5-SKX2mUJ8PT z8=8%6G`ywx!<kUbLv1_fAe}p^hxpA^2VG-R=o)r67&3jrc@^KVv1A>I-y8amqpOec zLuM0NpDp)VcQu)U#Ca4iGhRHaC~g=nlBa=N^HpF?$*z!mBc+IVz-sZ#_>(%RdX_l6 z*tlG$?O%?BmV)2w?Wc8&N3R~1euRuL^q@qAlcvfw0XH?y8|}W?VHanotqy*5R&Zc= z<=%b&3G$gRIEtNf0QIlpd<uV-=KhL(Y-RFQM_y+`N=Nn3^BMx-w9HIkiCY?WY*#$X zRbox2;><?&D+f>Bh4;g!KMo=a0C7lZ>0P^7@<DKb+&WQ~MO!5UbdbX-01qiO)oT2u z!_9VW=91E6r)4>z6sFvGBT6E~;*P9oHx8uE(#KZ;C&}9XN7Q>qv;F>W{5o{#q^Pa6 zx7wSQ+7-2D=%9p#+B-VX)+`ZwREa%`L=dB`y>~)lZ$e^|81G*`-{1M2-+%cl=j4_9 zyzcwHp4aubE}naDcr>@Xk~%pmg^lXFv)i<k1e`X-0VgU@j{N8LCRyVKz0?Zp|7cc? z8=DEFqQjy@<qxg7C+0fGmJ@OD1nq46p=Y-~f54mx;rJtkdIkTXuh37GtJ)Z-cAAYB z63D%2A<lyaDksU?YxKt=sZ^lAM&$P&*0uk2Dm7Tiq@dhpfg0UmSNP(z9%SvtCsV`X zm61QBUJQte-o1WZ_I4Ua?C@nOzd8xkAMAIgQT)>h@xMA@S{iEq($DK(`95`#&p^}| zxpmiQG^z~w$2RYONpkZkhjSeRPKyus)aMUL8!yTVqVg~ORpf*e70KR|)+7+9{l7m0 zo-+#M%-m#vBAW4=$cvU8=1l*IZ=gpmi8&$11xZ%!m953y$GOj_KP!$8xf-lKL!*GI zrt)QMJxG8A|0}L5mUin`J%__wEj`nNFLA0++iE^Mh)1e#9#^&GVp7+yGPGQJbi`Fp z*Z=@<k}<!oR+<G2+23|445u85^jYPnuANI`BE+W1I#PH{)UR9>&x38;!m2sw?hVB& zt&WZr4k@kuDZPNn9**S<BebZyw@1o~%a7Yx@w4@Ld_Q_k`>)e{`Qh`Ini+VxHRkX% z33f=#Zt6dVCMogx4hn1A1O>F7(KLQWd14(RZ#r@dbyY!-4o-Nxql;EE<)9~ugZjL9 zCCb`aG@WBgVJP&z@^Zk@!B6l;Al1I<$g2+83#T6s33+K?Nha(I=_{yRkbWK)UV8yO zRJsD4qzZ8a(|R4{5<>{i79-TOl#_jre57Hkc5S5!{jLfW6bz;$Qze}r;f{p!kT4MS zvUHb}moA4<qV>MVo7m;yTF*cI%PA?~CR<YtgMSx`SeJTQ0mn$R#|D4%TwlpX4)cjs z)yX$qFCQLI%GJ*+d&e)NvUu*B=yOiWtKE5#<TgaPXub<tOag1_Z<kJ7gy$V#BOtfd zDgHfT2YDfWAGu$SONs8hT+j!WmilM$yd`<-4ZKzwg}+;=0*mk0pq8q$)T_TW#>Zq} z-BWOm6U4gVgLB6}0ducWb-zQL(|cpmfjGs*Z!RA+8JB);1$G~oGxO#c>&uPyl8Ck~ zoqg9?H1~7r0z8dW!i^7g)!Y{{*()?9?`0mQFy7*C!{<2#@i_4_%1f7DYWtyUADbAR zwW)I#r081FUm+N<?--s4Q%)AN+T6{^%07&r-So5q%bo#zIyCO);B9Lz`jLrZl@gC0 zW_)>~!fWZNl&!<eGxD+2RH`1_^F}B?&IB%K>5dZ^HB#u~>Zwv`cGz0(nD>(Nl3g&6 zu?|x9sL-q5gFgg;8a?E#Rxr5PF0faL&BieM9gS`-O@V=a2I(~Njzv?~+ipP`4^_D! zCKo0B@sq`69CU`@e(YfDm`8kOR>TCz6=P&DQ0+66?5iyLGsg{4JPRC60V*swwh2qd z9$(|1K=#c@^8cROCFJ2Z4P~hbwUqdfvIugz&n=FMP@=|@0Z>QNHK1^_S&2!g6tW?o zadDR9;0)$MbL*$P-cuU?dQ|AClbmV5_*$p|VCw(Us1UtgIn&~@8Xlzq@?>)eEVJJ+ z-WIvwMePu)!)TjOpCk_YNSEAF0*pdDD>p1Lb)zqAajvi9`ChIkLV1V@N+&qh?4XIV zuLBPJr#cPxL8-sXm~pUQ4OwP2H6d`{q2baMr7#XzFIL@&hH(z3DrUl1*83%wS`fNf z)}wdp9Kg-hbZ1F23L+5m&p`;<KIVFHr$ryB5~g5=2q}3q2E5a5W^dbZslng*RdoaZ z<ozd#r~O<qcoEqpl57dw4A!A9$P@(RE1=X(%oeRG;?&#l6Qvu^ba4ts=CRY@{#hyl z^v*qvos_sDiRPWgJAjcD>w%8hTrX)OxsL4fmT%0=8BVX+^_QD_R1*5<=hdYg-P5Q> zsD=_ykf|{+z)pNSY^J<rY5&FNA=NVRb6lmeJi-Bh9djo%PA*jDUNE7$av3&uVHa%^ z)Jcz6j%qE=s8~$ezSF}0m(GQ6rA$-YX^oX4+4Eh~#eXy>*QYxN6vVk@YJe!<>_x6< z?#~O}G1-__+K$B=v`uEXHV)LoONk1$-}V-!KkbF$$-IU7T}<06iqXUEnhCPmY&mNZ zal*b{go;!-(sJk!{mOyJtIfrYQImEP`#mp2(1KrJ%jt~3F%`t4cB*-1w9^$WMrx9S zQ)fR%Ihi3JNSqTjy7c$E_}*huZ;Ji4Z<Chw`74KRGG=vtXOovCw|}PdZ(!%NL?8nm z{p%c4UO8=X*iy3XG%<1Df(g85n@gD|=knz^Mn}h%HzWfU{6Ml}R!Mb7VP>d(=&7re z#)B3XZHXaaWM<bZCPTHRIx8E1SL&5jmcDBaiY!%K-Vyo6tO8prMs}mSSd#JZMdo6R zc~$DvI-zgvG!;M8e?<D~FYH(NjN@Zy^;e^xB}qJ2$X}>5B8hpiPsRh)-v$}!7Agcb z<yQS)3&XEwhJ?3~sH2FgnZuz^m2h+&YD~f@*-4~*|B;Q==YQIdvPZr%1V*ucJ&?jk zTVa7J5Ct^@qi24jnAREh+~@0*5b-8|tNWds{Vy&hSKiXA4yqn}V%C3)4*)P5pzD9q zCBstnU7iGKu7G?$6hVw5Cv5m#$RsS_Kbn%>6ZGGgn{}pkK{5-@)~iN8pRJ1gmPgT- z1`S>9-n*ya9#=jxzom)R#G*Ym&Z)9}$zNG2&<N{y4zc6DbEb6yK`GFKyzxfvcQVOw z>^C|_pK)ih>91Dr%?i!L#1s&E8v<ivfWDgrWZx10FzgbA!sX9<C0M+pL?1ncEJQV4 zP#320((&K*N{KXtS&#SE!P=Zzem`rD?Ib3uL}lkemN?3b!M#we*D6m0A3d3bJ2O(* z7gnhG&^nDPeSF)i6WM4D@n%0FBsef;!Cp8>EDGzA`hdYgKYHnX?3GJ@?^?^gZ+h}r zPlXO!ZP1iuvGPAS(>>H?==OVAJC7%Ja*~8G3aKsk^DT}zz7d)9Jzn}YR_8dBa?7|? zT(*@Mr{TjkDDy}f1tU^pX(Z9;NF?N~sq#H=!vK!$NGF`(U)8U;V%eJE$bru<pfKx| zNRuUjr&hiGP?xDy4TuKf5|}5lJuiO3tOEm@wY1zQax^PVVSr7{L($uK2$q}+pS#}r zW`KE5<$*Y|pse`Gp8X`NfbKWDPq*tXU*^+}x7uH>3-VaF_aoOu!1av0NKi5uv}+E) z5RBA<NhRB_cNlGBvy_A0r{+-}=0X0paDmkY<SDR--`BXTro<1`l!-I<(U~D3j5({m zjwyzIIT%ZROC@oe=a~&_mgT9EvdtV|93D?ygfexC1`+`)7`&sAYOBfyCG7fq>tyY} zl;L(TLj3OPwI584F%Droiy<&e5LcMIk%ZQr@eVIF^ymIduHAf{fu+hxp)F^bH4gh> z8cjsRez=cH$p{>*#9(MwSXJc;KLPshQJA}qoQHi4S$^fTwXt1|y8>V)*<_kP`%%wC zmGQ>lwZY;CeXox4t~x2Jn$;kMU&Ec?&Q%@4jvhxwgjLk(0KXh9@f5obwVW#p-p1GU zFCGHf+ql>m!d(Vld5AfusKjZi>1^I$)T=>F&SDq^o;a)qRg_~a>2=wvP0;U67Z{P= zcwl2_?3+?Uor20La0bCsgSSuO&^0_H$j#2guKSCfy|hjVho>;TPSiYq2eHbF;fwcv z|7XSJr#Vk09t!K6&W`F=ZhKVVS7C9sFTD&G_2nyD+1-NF(Y^xc_eNq04;6NcKWcf3 zpG0Yzx*H?F^0ye>e_y(<t`{%g@TyF@RWoVDXyYP8qbJ%l8CK;9D5H?y2d91(duY;t z6y>W<^W<x;t3}b5+l_+K?9WQlmd&l5({xT@DYAD`J_Nz}IsYdkQ=N8zED5$UuT;tU zmGVsEAq=rE@7OppWp=b{d(4p0sg1!%Vnh%oR(XrhetVzZzVPfCJIn1WW`iW>cbS`w z3TvqDV`i>Rsp#YEEvW6$9Fd$E5McT6vS_5m_fg9yd_FSvgR252VjKUyas0j&yYjI| zu_WiHW*vJ-y|j<Q>5@%X(W86*HOB4%RDSc0@snMXoNy$*+n|$`<>O!!$WmT9_On60 zUhtRC4>^47{UpmJ#yzspGw$aQc#&%-aDwb;2r8LZ=dpRTpJOZrSmJt(dpgr?!RO@t zY$Kt4U$wf%b_3G)lbCr*az2MZzIL}hIM7bj8|U}t1My^`KO6M$Mv-ej`hQhgIxV2@ zE{WeY!Kn6GQ6Elf@0vQlL!9;uM8P(^Ej!>}oLgWE(?GHH<bO17ZuEhEqqsjevOOxr zp?$9UX|lqrjJzTFV(+z<RyqR76++{bb{7p7F8vV7Y4u9;7P1iw29)#b9!dmin}7I1 zH8&|KYED;PgdLm>jm(|!J=}sV+%f#C{`h1;yroh$oFVYk6umQ0S90qQE<W>TlYENR zgYVFge;E-zdUP78KKum?pGS(X9}?*+9CGZgJKr3PQv~$(o>hB7oqI<O>^5=DM;9L! zPfR-A(ZkN+%BI=Bs9RL>sG0F>C~C%bTQJO4{p93)KH)|n?;ozmqX*~eqxiO2_7RE7 ztMB;zqwM0e4{t@uC<e{ylLUg6`CCBJ<QW8ZqO-zn@>|1r@}^J7K(j9ZPjyo8FE`ul z5@BqNSwfok3zKt2Y(?vqCk`jj=wo%)^OOr#P?Aykrm}W9PoK%iS^73{Me+#mhjxhs zvMApZ9dHsc7q-8)bgfxTU7AJJBFNnIL&c5LKFbEBY((%ZCA2b#wb05+s?8Lx|4$+& z6)hQ%Zd8$j<F8DynhZ#2b%`@M>^ryYq`2Pc7|erI&y?K8?)O~AKl2zVf*l3sN9M;t z9B$m!qscA(w~Fw(86x*f-)`GcyVQenMuddN_wFjPCE&)2p~*SF{n5clQSbUGS8TY9 z{LsQsEFxrEWO4LHz+Z9rK-+h_V_R6$ysTSht(Xi?QAR-`53`cW96P|gh&dCTY+KWe zm99ljK!LLvTwzKRMW)gTjZ31175M-{8DXXRFra;i#xC^fh_58$iMzghj>`A#^1}*A z;}jvp7~@N+oTHV3OC7L!9oMrO2Oa0Qks5!pq8seDoC~!Dd_l>6qo;7WU?%yk2gwF# zS4%pwfN{*-F{Y0ydLMwMLyRG8<DglY`g@%U0r4b5`N~kQyQt#7Y6qsJI6GE$rx$GE zZ5n(D^)S5ZQ@#98$WNUtm$q>aV*Qgq@(8zcD|hi$yZp5*s_p(~!_V>Ziu?<bpZlSR z92IgOS>H4U)p33=H|<qx3*_Y}8(?N(`9#ie(n4J6%}OOtxAC@FL36mIicF0f;GWK+ zX!PI0s!@tsaQ?;<r3;yxeLA%z%5Kv&;T&M63MGBe%FY2YaVuEUjf=bPnWr~Ko@o9z z=#tEaSb$Sx#$#UX;rlfzv^~>Sv0i3v<A18&ERI{2dhA8F=7S4J@T$VD64hSosM6jl zIf_6PZZ9m%U(HAFB(nsR_ZVAY_wu($o}3B;zev8@D&WJU5?^++SAC8syrFY?xX~Yx z|E~4ge>CjDoYtWhY_%q42pB#VYKqJ$-4NVsP9$VNstesMO9BdKbp0Oq3VrAX+_d3+ zul$7b8wVwN-Qt0X2?!r9DtY2lDFra~%x_(sTc@6a0?%n>p`qQVpp7Gy3etHHeZ#-3 z;|t%TYrhTwM3KIWo7O*6c8%Obk4IqfQqa*Df=6>?e#oY!M-fMC#;?Xou(*e#hU3P4 zbuAYxoFO`?mNZ7$XGB1~FvirkjQdz$iLG(-3DusF(cFkX>kTc{uNyO5!S?l+cL{Q( z7rYRgKGmQ~EUT73=Bp1_&mw6Zp4g-C%@o226KfCa``dTtmM88*u>;fjyswg;JnN=j z!dp*hZDdo;E#H31g&gDzP|r#6gC+>X!A1I|w_grqm6Jea;uchGB~9JJweHZ;G4)M@ zn*Q0Q*f!+zN^3o-7immAOczoZ3&8o4YXS)4^ttT{hIQ=0oQbgGae^<|7l$FYP*WA$ z8=YR*+$u5?NPDJ^)Pxqq{yZ?W+NJiqU-Irk5jHeyv$3ATCZ5hazG2~Ib9n%OmP?%m zK*(Uzir8_-Jk{SU_2-%EgpIbN^WNDVi+txjk=pxuT*>Aq5Z82&#;I?NpoW<RcVw_+ zcM24ZZmFQ0w^12h9<E^V)AZ!5l>`*`+J5PC#LNuB){%1f_?>8Mz`)fqprbos-6}b$ z;CQi6U*Bd961i6-s%zm%s5St6FdmJlIDXhq%mvF+p`b~({ks<I3&AL~=eX^)Ogj}v zZ@;UTa>LgE3c<~)5ncC&;1*D07(UF($ATmZcS1!w(yO}gRza>KHOJEJ%#o?yReqe} z?+}}*>5tFDM3~D`okRA0FIrw9Q(>r$`st7f;q8aqL{clDZMFGe3i&@lUDDw{nt0bF zlZmn}XRhzZXBRsmf_?wdc;LZ@_=8P@^2_swL)-vS*=($_S`s;FY!z5h<<ZIm_!GYv zMUm7QYke}-JW)5SGI|X$mr5Zs6lp<oU{s1@0AUgcLxfZx^3&2(jLz{`54|)lRH7Ud z^cthL-@G0V)8_fUeyLZF_c}-HMcDe~$wzy4b&)2Qhk495sHT@l8ukAJDn5Pi>h8yv z|C7r8CxB5UvIk#&C=FearTL#;W;#;=Cq5~?Z|c!|8Y=|YJf$(MZ6+1Hq66`xUQz+~ z-uFhKW9F4qQEu<Dyr8NA*SIWxZ}THqEw$*`&0Gg{grHwol)yq(IHeeHE>8JG{}$TQ zg@F-qbu&+2KuMZzM}`2xD>l9Vqk9Ic2$9g26+S3-cX4*Ax!Kl|&Sz)C!X<v1h#8xD z5d(`DF+@^>fAtmlz^!|>{2p~-&7n<yO8Wyi9>h;CA>~NoR@BV@-{<lcLDyAxN#pyP z0f5aOSHYrmqh*aJYb{Dt3C_R`b7$M{_&|os44RYu!MOD@l`CyjTt+<QDX94{eW2=t zRnt9yqh^k$q*QG1Iurl9<a)=b>#xyJjmrc&cZ*W8G<PHHd^^0qh_CER(xpEeherd_ z<#_75gI6L*!Gm{rKbQJBj<%xWI6bN1Mv$OdEotCdK)^~}Hib2*pK<@su~HXT@;@RK z0eQIf&PZ|XCym!oYpY`wS!l!#80L3TK~6U_j-96*pH-i$K@j18sBE@G2B;?t7#=u~ zGQaE{;&K*p0Xzq-*BJt-VWX;(*YNY8<QGZ(c;35PQ*<RsT^w0LgimBs_Lb<S3|j{h zDqJgnw28BL(~~us?6!96s&mfjvs@yrNUQ0zO9s+tZ(qaD0asacjhCA)AWkD}78g!E zDCGh|)lVb^CYoAm?419R!O#|q<u5W^H<Sh+UirzlYi-#+me0?EGX^+&;0woQJI!6+ z?8XiH7Xb)5<){;+!SS4X=n%YImiwOTZpZDyJ0p?&z^^6=jUS!vQYFN5(P#@%3-1pJ zjWgpRLE&~p|5Gt828XjeKlcU|0@koqP356PsIiMjCvHNTG17!>J0Z*O&7bW*Yi?^S z9EU}>`Sp8z%I1L7+j6Yi>SS<0k)}ieMcq!f0@-{pXMDnc18+Tn(L(YdW@`KWU6*dm z&^Zx9nK>`@ba?VdwV{P=z2X}k9m;wj_Z+p7?sqNWpa@}=3j2I^JO6SrlCX08de)tb zY3GW*Ur6|EO7^5{vIwF!DPKV7QG(C5qSBiudTsZgh^F|tzp0=zpFw&X;h!I`j@SeV z45qcwChPY$`-x02O&3%Nlvl853ZwaJQz}VztP08%*l5}P(9dfCRD+m!%(h+J$Fo{7 zm;QL^cFxRW%8$S*<r?2oxTujJso)%Q;2n1m{C*~diZw2Z%-T)n)YGY8F>m~m3|8Q5 z7zbj|1*DOdzCVYgueNA?Ke;+Ie}DYXl;#v;b)&%!i#5OpnNN|EDgsjR-K#%hO;fn& zKTkaqXV@y(4$sCn?4QK5b^t025Y^B!VKpX*v#4tl>^VhTHnMJ*yw;Ap{#`cnpQo6I zweU?w3_-lz<w~g$v!2SQ&iT05T?ZJ419O3I8H<YJtedz47C;=>Btk=S)uMa%#bj|M znq^joIaw|y217a-fI$kOZ<dmE*!sy2{O(32NmWWc&r2yNl<eCo^-YQHMXh#HhgY{C z-_f<2@F~zf>We8s@CKFb;wZT}9R3d<9q~G?-nK^@1M;0x&(2OzJ*l3Tq+g%A6RKZ4 z<g6Y8%4D*0*V*&*80gFcftaW(03|X;q6_WRO1gBVg(Y_El7Uo_zD~i4V&_f~w+pQw z+CN}KMd)mBi%UDbS5DL_&cHk$V8I7h5<#-ZC%!a7_uy?5H+;4YXEaQAT0fuB7rWU4 zvfX5}Jzqp`)d9*>*&-1XUmai!UwD0vuXqDWewtbHC)azwU<(&P9iK8L_Fe|avb`z# zt3#PiO0#lKorO-zgDEi!I!2f6_gNm*OpNEhVoKb*X4Yyv0sUn3QNnOuIGe2-#piw4 zTdfDSdH(&4aS<*;^jc3qkEDt;)wO<z4klR{sffOBIY(Dk&h4mY$a~oOj*YLM(eIj) z7B&8QGOa7W#n}Xw8IKXSiHLJcFf~fjks*k;y5N%n5*{$2^c`k7#Vt2o_Lk!E#2Zw+ z$(=a@u`2;?->FdZ<Bc=R68^C114H2ZAe%a_N>Ry<mvH`@<3+pr<NDfi!WuJzCN1XM zEFq)*`uY3rojDK3w`FIv%$vccT`xb2Mr9gfx8$<bS7`fngbEOj58k$Oz4&Kc@b%Qd zMIzUmDe*g374rh-ZCl#<sQHRUS>vwn+D&);{a%H_WIM~+nz}f_Qq{TJQdRs*_9csO z5tBezWU8v0nRmQECY;sVGBdjX2W@St#9N{@s6(RncC7Dq6WTam@@h;S>R)<yD{dR? z|H<x(2cHC!w@>$wlHAEPAU~VM+r|>E=d&3;f)trkUUjRoPwuYf;InbqIa|1j^^xRP zg^`YH(W%l<FV#%nZd0XuxHnIFRH^dn-P`VrNzRiJPm~1eMMAv~FIwk05p18MgJ(sn z@(Cv!)rZGX@8N-?i~ZI0bzHAvRhS#b3N<zi*-#p8(SG{o|Isw{CCJ3$nvqBp@C<cP z87$&8LN%bBf~kL9$f0`XPHdFBkhyB=lOBf7$Yf?+`!W)3KxuEn_e&~?AAh_~DP?ms zoW=QC?roQ~dKnc~xC9dXW+0i44OpWh=I0OfVje$zoj4{nxLk63uv}hd>#@0Xp2YUY zNjb!uq~??g_qo+06qMl6rHoiz34ym{2u`S_R8kIfqfZEb`bzOLH^q|PMH~Gt$jo<c zxIPdPxCXO&oy~U-B+}URsNG5kZ=UEno9RKJXlSGru@nuk%ZVfQ<^Z{vuWQF0+)+m# zaE*pVb2>4qqfcWZT#`&g$itT>QK>8Mk_3Un1Kf}Dg}}uVu&pZQa^%!S*$Say_076) zQ6<46qo_1|4LmfI%XlVp%0zyL%n2kJQ5jis1*ZaO`ZC&nj9-241FWxq8fGa7Y!|w{ zd)3h+&RvKQR+l<Adr?ldx1^J;Olr!NfzDAHR%%0^WLPFGDpn#z(|*OJ^v?Pt(K1hm z9x?B0(zDJaDgD~#%unq{X;x2rWT>AkGGkiLG!BP%%U)+#0fAd7-^HoMH<YEe*8;h` zDcf|+pk6_k?(cHJZbyh%<qE&9^ZTe+yMZH^`DbHA*^OHROyk~e%UP-JZgseG^~J}` z%>)&}cSr}oAg0yW?7;Bo*-5ICQB-DF38xyHX^pK;q7iMyUmgVod8^E=$5s-ZYeRO9 zb2Y|b>1Q9RyVl-7<II-?S?ZfB+&AX5AxABl6+`)b_M*Cp#p}(>c!M5rAbM_KV|i%Z z^AB|+DlA&4P^YL^)s6F+Cjwv#=bXe=uZJ1O{+g40AGT_xlE0~s@kN<hT#<^dD`FWG zE<vIc(ESISWKT$(P4g+(FL%OCMKjx4tznIicvuSpRc7*gYK`rr%)OH#*s4B(xm(p^ zd{yEeTErDPPu_+azP=CPo8Eo;^*CB*>OLK#eL?e<G9qa;1EwS?7ovjq$az;C;goeA zFL0;qubEf2VCC^#DkNJX6uVossFOZ_uCAM4G)gq+`+(W2b^9>`1WR8D3gf8r9|P3e z@OgQC0P_lS)UaO7<LxYaX=Im<u8<64pD3)vWI#SgaKK3lJ*Dmyhf@^~$$rykN9f(s zO@#oq$o2&y&^d)Q=fROa@pkQ701~k`l5wLT5#BidrdIFs^F;ps(XA`Feiai3s7)Y1 zTXF{F9yELIchP)LwGp!=DJOK>|6M25()ZwDy&W1ASh&ABcF<5M5Mq%cwNjTK#(2y9 z%|G^6d>{JN%^PJ?Qjv4+5KeU+`?wx8ORRsRi;y#VJk*d;diFen-91oZd;WgU17H*O zZj4*zzb>%zotl4i+gA126H}M}jOoW_6H~!VN2r5S57%Gh@*^PDqP0kCGa-^<gmybR zzQeQic^p5j#aM~yt9yF7?B7<?C$KTMcD|}^dL00AJ%pVS3QrxWgJccQ+tZ*uo4JgQ zvNBN{iX&y3Lg-aQ)QsVTn=lqqcm4Tn{L`yH-d&};^_DN|ARl#j9>kTy<#uN<*t>HB zi5>~EnVm79eEZrLtI4aNaD%>3m%rTr|L5+t%hw#dVi~#udOxUnLRukl;f@~-3Rch8 z0_PUUb3;CZhh-;e#*d)`=|f2<?}x8fIlj`h@0EU>hy7XdH0aC+BEv!;PDa!Q)KXg; zca-yqqgnfzPEOeLE;-7XhlfpS-zg!DcI|4CRQywF<J<%&zwRQ0>>;#Cq`srDltWd? z#eo<bR|PSv*QY97jL-e}fj&uquuH@s%F3;hzi!RT{e;#T<H5U_ecNycUCC3P6Rmdc z2Mg5vi>tJ~-Db<<aYuc-dgx%vzd^(9xtFakd-z`2;L@G0Y47z#SXy2OTfAVbuI~*D ze5P-)9048Og(8SpSJH)Tj`#~qjvaK-eY`kNM5?$%oIQDF+|=0aEH|V2JoHRy#{ss} z_6NeTqZ>6!?WbzX&@N1M2HiGk{{ctn-@nD^^{etobNS=X6uwK26|aPJZ)wKS1?$8z znnH~#&#MTnA-RJmxV?&RCAQ!}v&;a0M<)CTXixRl5n^W?SM*oon|FInCUUs4^7>R; z(B5y~cQ_^vWszlsGpoU8squujw^NZ{Hdh;iY|htGzhSb-R#O{<vQyOQP~W|eIZv=> zDgn2E>P30lw4V&^mb0~^%HAAX`t<(z`EE+p8)xLYN$7?}xLmC!P>{B;GP7989&y2e zT_sVJQ+X9`E!*ya&gZs4xSvtyogS4Exxvg8L#tnILl;+0bN~HE!=<X?@@s(md++py zvPBiCvLKQucgN7IKF2VoxI(<((X<xmb_v&8mF#@)%&%8e0bDIiA<j43%$GNif$(3o zMhanD<%i^io9VBl^cPC0`k8X!=9u>y7zH+Oo-BkygTcd_s+>!?5spl9+*?Dm?%vM= zM-bIIM_7~RgB7Ri{SQqp(Z4ubFj%@O{K$Nvb~FA%Q>g*<OSGsLZXfk3_}O90S9#H> znkH>40JKP_U}@+fz{|vc`|1(aPJL$R8O9e+qW$8>_w7f|H`<P-j~#p-?7_zGmuvEW zzA_+f$8yk7=vXG-(SOL5Hkl}Z;_zy|6OP&h@V$&qXX~aM2TZngU;18$xCH7rj}KF~ zPCCgN%-cC$2<YS#ATk;P1>3P#q-H^>`ks$?Cf?6G*Fi<a-mrAO7SY*C%KIj3UJ?Dr z-~rq$<Fh49`G=9aDC*&nGo)_B;XFRt>(A=J3gAOLH+z^Mz`nw}Lr1k_c9XJq5a#jh z7i37e$*U*|*&{AzBqb>ivaMw{GU(+N_B#5went23-S}t{0``|1?YdeCx|X#eY?i!K znz<U|Y1Id2LbYUu#`nvcnI$gldPVAWdLQ`_$CsEGQ)S;HvU4(UmK)7!Emz%VFS9Mv zFP^qx8EWxqLz&C@g3>`RK0dam*)66sAWjxktC)6;v=?`J+aF<6QSlj&M$}2pJ4xa8 z6{25>utl4$wH)8H8Fn@X+~7KPX0vPD4%X<Hec0UcJKd9Kl*I3PaIW*G(a_hKwwLV6 zs-^Su>-6SNA-+SVF)PWoMb}>0HPeXYifv&dDo)A^DBd_TW54=u75QNzPf1g5oPXf7 zlN=QMcdve<g`$$K&ao>Ge+zmi+e$xc<Cb!2KkX*QrsSl98=mHS+PPCt_P)gab%u{^ zzjPV7VP<^CA;0We^JYT2xs_3aq<S41<umhdmtPQg>c%)BP`-5C<?eLlDP^N^D@<vA zC>8`6*|^|Go{A6d-X9mw=CAdqx!uB2^La|;BL@c~2VF6sNu0yzx`83U^-P+IW}fl! ztQzd9z3sr9?`T!JcD*#F`4BTmDMZ`OWKJKQ5W&O+n~FmHMITt;q;z6}Ct!Y01v3Ji z86(F1oXFg#)_7dMuC|+)0D!r2haHNxEb6i1KMix3)yx?lZ<->joWt9{<+fcN<3t36 zD~w&ReD6*CyUdlguHFjco59thAPJQ7s~LbHR3{D#)+ieOby_{>6R*5R&0AK&D?BjG z+a=OQu2`9HcU0=(^p~>?x~Ks=7(N_ZRB|N|n)D>>WaBBU>RnY)*Bk{8iDZ@fEPXBb zUT2Btaojp-#8*f!i16onLi-pke0lbi2VIj$=Dt7*x(B>n4Q-mP8lyPo-Q>M4cs0Q` zQ_Z)z=@T;W6xCdQ3SNF1?002M*6m<|e5J`QrN$Uw5vEExIx}F%%Hjs(##uBt#9z1< zC1zO0v|tamUP7+~0E#$Vu%B#2;bG*|L$3j#ZqY{d%a&QGAxuIobvPcs6qQ3HK%A>B zwYph5b&Wf}QY)E{+#OGNgVoI|AY~1<T3L7J_bq&pr_sQm6uiO&+5Y3wu+JO{02A4x zVk}`7ua;W`IsI$rFf-9xPkYWH&A>MNzS~tEQI^4Ie3*Re;`5=z_}qjITxk!nlE1J5 z2%(h@fu3Z%N);QoYYYI}0h;Buo_6u=cLx5?CnaINA~-5>L|R#?W{d!Leh8#on5Sva z1~?FNv2U{KX}l))haqzG;5kDZ>O3q;ysYqo-IufqNfb2hqR_3$#8o!bZK{7#0pi^^ zHim<%uX7bx2%dbBQ?XI;I22)kZDn8^_<+V^lwnd|<<U6YPcV!K6&O-KOg5tudKxp- zc#95;T@<;q)h(f(TUGuu;^*Rj1sU<!fTDxQj(2MU$lzd}pd8XdNI>hMmqxZj%II0P zWoql82V4|y`tN*V=;wt+E|5CLWvC$8=~6Z&gFTJ|=8CudT#64A6%RXw?>Vm<Qiu9K z4M+|NPK>nW6`UGXX)7vvf(He%u(6P;{w$8zXr0WYyzS}Sji(GRulDei&VQLJ)aXph zXiyw-bV%->IBX5OX%a<48af%4HlX?c%R4Xszv;%y&}PK6Q{wTNM#ZfmF9tK36016N ztVjgacvnV%P;US4)7Lx-_ljvoz#c2D{B{`)yaMadns7#Qe@8}Zb#(3t&%0?U?aB)A zFdFd7C{LQi0RSoh|Fbhyt^UGyRNv;(t)9;cPP>!$sOvVQ3_Q-zaI60Hr<{g0uCKGO z=GD`xJz-I%WyK|I?mpSPaGBV`nGrHaL7BiD05@1!x;?II7-L6Ev{6CsE`j9W?Um`2 zUQa>J-HR}anWr7~vT%tB*cmir;NMuw(CV<FG))uYLdbFoHl4CzMq(+Gy|5FH?BHd} zxyBG2&@>AyN1+bKzxEBRO%J5J2q5G-%+w}eD(H@zQI6@FpxrZj=!pJOg1yVmaS<v_ zu~%OLMcChyamqb!+EIbdola7TXR>h;i6*OqL5I|3bvN8VOuHO!*D9lK_wf>6)@5ot zF1Nv(X4uLJ3s&LM_cq@nwToXVD<L@BX>=`HQ2isWY_--QNE^W%)_RXXIb?$2fdNwR z?7sUfKAlqdI(4Lib3uIVQ)>5Eg&x$1@wd(4;J-2bu}d$*{^&qlXy&h=KzF5m&<NXL ze3(gO@W?MH*bWtLoK94~ccNW9JLqrAsos;7Kk$g#HE{RGLUd#7ssFl9lJH<8ZIFUx z!7rR`rQMM}TomL^4P&m22bQ-@!%x$6<e?*u7VxdP?5bmK9oH86ovw(-ak2VAkRrZ% z9hGkOWBC!JcmA#M`+6K1y=LuJ$9|D&M|G`nxreK+DGz9`F6Wt6lrPTiVU79Etw)<N z0yzo^{il4l<=Y?g`+I%bzZ<ef82ecPT9`-Hcy7y+LbBv)l}ASmr!?`JeIBW{2nxZa zRcnadK1Q!KMcj5nk9HDhBq9=V`lpwu`B917xKw<IpDH+5F)Z>w6%`-iB`_qDUE~DI z8>XAbv!UJ-k|)fnV`k?+)w#8Ncda*n6K2hnWI##p$6h<}dj(Y({KCo2-oRfr7QV8q z6>Dj+6cfu`lV@UFkYQCjg1b2fwvtQr$-iZHMWnT<UDMJOG?pqRd36SEYa~Q)+A6@| zea7B5`Bl0#zRL{?l8evv^tsKT?_NYqdHmpPq%&2)q(e3Ccco*`7awnWojVYjZ;M&~ z>H^HJ<{M<wDSjU-g<snQ+z+i;P0C7whVdk|0!L1XhW}24SCT~+g?n3g>7y*fZ?-z$ z)c1MzOtEm(5)Jh*c1l!byB8(l;b?g=AY-HwlwJ>mYd!u0Vq#5;YxjI#?Vx|<_i6Dv zKYrt>f2J|WO4LeSNhr#3H5Bl=Egj4OwuKhJ&C>P%0Zb#D5XP_;^NEzQ>h#4bPFHny zB$r>WUf*8F+jl+G8d-^_&)9zJnFqZ4V-kD!iG03Ji-<|AFk*Xm9B{w6v3V}sf15J7 zze}#XE*420y~2{;0^$m0zw@O;i=zDv`*)07mf#dEq1q8~ns>C8LHuI$0eAXMz7CDV ztDAH)ZFcd;<}sO~*CzUsdi;>kFB^rF=J$2#Z;F@~&6>sdX}Q2^1*HbYVUA)c&F>M| z>iAX;MAz@PrLF;&{c+`B0bQLpI(qRsx0N=&{9CJ6S}jS$gigas>V1u<ae~do7GSGP zVeUgyL|7d|D9%U3)HDWz6BwJzZ^5~Re2q9PK@wPqOT(3j0SWe(Z<2^cH9#qg_ic13 zTn;z;lCJmd5wA5h0oY_61rZS|?2d{1LS%)?=B)$uFOr=T{fwnux0G3YGb1+92Kknl zCrEO@1QPO%$^@a7$H}%%opuGc<nq`|TjM6@*nj1`Mj9F!jIJ7fjKAUXi3h~U-DGu@ zW3hqJs($Y5EE<y4BU96S9_e8xuwgK85K`n(mjsvzlL%v7yd$u<Hh&JEDEN;CPbvTM ze1h#A?4_H7_5iXSGxGZR+y3u-*00Dk$&Y4>#2xw_mAy@3A8(Q0($+Li9D{Mk;fYJ9 z!Y_XoY=*t5tzv@-%+`3g?QS#X`7u_El~4~l?T&X{Axb+Y*m5WN#@0x9g6XHUCR4ob zeNn$V11)Vl;K=SoPK(45eGa<SR8d<;)ZrLqdaFqGoJgQ-qozau?m&*8jkfSlJ6QKR zPu#|Al<+Yq|9uq1A=hs5^|B_fvz2%ArAI$#iuJ`GW}bytX&H(-xI0R=QLyzSyrE`8 z?JjLfD;#u_`BRmvt6b*H^}i{e#WR~pdKhN;;IH5521?wh;|?EwWM#rnP@<jQ;CJ<s zaHem6DgDvr)xM(hW%}lgAmKMk1$m0~eN!XuQ)BR}4MnC@R$YY0)DFjs*()-C-!bxS z7>wkqiKzbedoA#@)FL*y$Sz|Vk>5KTU(jHtyWe(d9LPhK%PX9zL3VyEQw*F>m*DyS zvoXXjEw*frJx<;#1GD}Z&oqGOy=ekHdFPX2(Nk;haM#2w%gw-7U?Sf%PIpMZY#sN- zzL%nrcpmm+?F1swT{GPYvz{nZmWmP)mT<GqP=MP?M|;0))@#tR3Y4A5i77e>DKrAX zsQ_@EJNNg0rZYZaKwOiSzGmU{LG@4lJgV=LqnaGa0I2SQ8H<5Nw!#7|LH_E+J26^( z!eTO4b1tW*48Bop(<u=XKi1OZyPd}O<Q02jPaowh9?pMfG5c&bW`~@!me;e=>$wy@ zog5_a$;utqTOK3Ia?I@evhRtXY5Qx6$L0J$Dr9p+qa*13M8fNlBD-&@9j@sTGlsY) zWW85<IU|$z<EfaBfREnzAM>Avn@Iu`Ux(bPzPGGh7Ti%77$)9o9n%>8N5-#0{DxDV z4|TtCcTbkO0)p)?@Rjk+TE`mSDwZfXYwHVQDAC-QnkhruY=?ovBu@xok-`d$%@Y-s z8NmU_xqh<NVn76Lwb$wDwAO>Dz{;y}Al}QCli%yadbjE$fX`IGT&4!r?MasYm^lbF zfZ)D~IPG3BB2?*O0aW(=+x?}^3#O*1Tc2)!@RXqKf5@{qH9M;rp#<)}T0Hf1llT5i zv2+zoTIOgtqp_ugTDR0XHoUigTQ$fozO)zTj;#t<4N5!lx`jiId@R7ozi}nKf2;6s zQLV-4x4kY51YXuo?QLrdaO>eOhd*`UOe_I`kchFdo%KM|wvNti&%JQ}TyeAE?u3Po zQA7C>ucGq%n-HUc!aPq|N?h}1X{}u6vh{MJMT&gN4eQyqRm9fF^kbhnwip<?nQ~Uu znwtJ^XS+{3aJ`_Z&Y1eh!%lM^a86T=kC4as7stXN7jfL6+zoh|t)a(WN-Tb;XiIN3 zT`?uRwnx^iJ9PaW61D_%W|@eD;Sbio!-pcu3o<{aDgbj0F9O1F8U+cH;ft6rUJH29 z@VaMr2Bvvj`5U5-ggh(yX^{O7p6+dw1g}2*o5G*+PHROoZ`q_r2Qq}ykujgnjBOyp zC<@GoRUigaJBp!1k23|EyCF7(#oe@$>`~~I4F6PKTebIyfGKXj6I2%p_bxTS3*>YC z+X$HW;-$T9SjvWkYN{|tfRX!c8SNVRAU12~^ar7TSA<tGDIIR04#kPqHeuZq!;4uj z6WI2IA9YH(lgt1X)OJ10%og+{&eYH1b#;+2B1GWK_vA}h`ANpUQA0`yScj<itMRi+ z0)n0|DXY5%f33d3Iuv#>gmTh%PU2maHK|+p9N-OmP9)CE%*~cpocnTG^PTtEh?{#r z!3Qz;x;Yh&oG&hAVz-VWu;R4;o+cSWj^zKNagNlySIb@pg3F{Ow@$qw@J4zj|1Ms& zY-z==dl&okY`8-t4+tj#4DLXwSX6?~1&l*l4q-(<+u;+ySMw2T6@V4s^Ab6$zN%x{ z_U)&6yURl^%ej5G)+)mIdYpV}k2h)T;to1%F#VdJB?g%i+h|+B=8@}x2G@+G=r)+7 zWY|27mYe%7Uq;WN_vH0}phsaMyq_d+b}(jaY!qI04&ABamhLzF5Z~$sGoE@(OZ(>= zXXK)T&fb>h<<dl$<t_Wr=~2V2Lx<p2YMe@D7=BYnA1EqVM!of@M@QMcK1F;E(c~4D z>4bBE2ik4ezuh$!30m+Dj>iA8tTAjo-1IN%0h>XAY%8rx;SEfZ{GY%D(dJPzbZNO) z%VQX5v>Q|3M};qmPDQUlzfjH<o<LLOrYp~o`_(Ir=j&nH;9G{AXwkHt%XJg~G#_fn zuR2)McR?nS$yNCX-&I56_Q`vT*&&^y?b&0Z7ub_=Pi?HTN3yp+pIDx$1vd3*FkkQ) z)KkT(W}eF1qN+T{4rF88`dV^|$xDma%#sZ(eQixixWGe;J1bkJ9V6DSe?P;qE2(DX zh`fRecaTVYjeh^pd^t&9#KkGW;lB<;T$_pK8U>J%@V`Rg&f*FSU)vl{>>VV=vO_^j zP%rgwsP4~T(SNmRY%`<x^YU^n18w)-{Lx4r)?s@3VeaQLYw*j!#@_(Aoz6qszdD-) zBT2u?BXVw}m*sncRiKEeH(Y;47AsaT*EG{2Do32_KMxB3E$V4))BX7SAG(meo2+NL z8;+(+H_E&T8yGwl`QrF#R}MHad+hkxok9!^KeY)p*{S*rVGiuOU|_{4O8NqIW-K2D z7PcSl73<B)TUqkG)}(*b^C<p~->}id=QtvqyP=0_jEYA`!%dG-;@O$D;Ku3`?FG;8 z@`(;7(uzdl>(Te2D&Uf7dv|6T!~AJGM6GVXFZ^7oUXf*N&EV^Ipv$p8d>WgTZQ^g; z``&I+W|dOzw5jeaq07`;o^fg%V!N$&FKxj4%z-DKxrHqwTkxULX<xRnm49|KUao>7 zzoozXcJckJ+6c+F8;;!3{kT12;LhNDW>q$D*P!Dk2t#y6KB!#asEzP{Ifo`W$a|)j z16eyw<8MiN?6(`}zj620@K+30Xha(oi7N5K<EInEQW%iJBW>gTwRbq4Y)S>%iWtu3 z@c3KBdQf>!cGDD<Bjw>Ua8+A*!aY#H1>3NyO0euoYRAJ`h3|6gJ>ue3mPGxlNn~NM zhxB^)BYRN}UiLu_UQwut$5F-WW=RoLtkBW^h&rf4MZ&ohaJpTxzQ&=D*6G#J$E3Zu zI-XB==O0XnKrDn3nh}r?Zcq0N$%L(uO1W>INNW>m{&<jNJ`2Zd9ag<{yH}ga%T^Pw ztLtTRdE*4Z9?2n~`~b55Bw5wpF{5p+iVl`!Yas2%OL5;LvxVRBHS#yUKQ(QbKg-Uu z=$?*aj#BjMR+$zif2hA<c;#dyq07`7RBQ$CG;k9~4TSiPVwy=mof;rKf%OK~pwdum z)|yd=(4hff@YEKs-ZjOHLizvD;mtCp`|T*=#}IjV`NemID<9Qgc^%g}TrTq?iEiW* zE_CO__<}5;2_pJ4sIXZg1)`ie5}5bKGM+fDD#>c~(jw`p9@)RO-@AZvyf$XwV>Qxa zSC<mZI+*o-eqw1YME%%NrcX6s-uU`S&fub<eAM9TrqY{>p$1`=EM-L)xbJgsfB6TK zD5)V+(W$<DgJgS<c>*H7*VacDY-iaD^qVHXpW}sF%2Y(SWqVki=2k2C6VWPaNLx|S z+Wp!tjZ24N%qy$IkCRsKsW0v=PNm&6zZRupC}dtrj8crKTuIAb<DYzWue8XPi2<}Z zv5l|1a8yf($da-S^0xRAkrjroL|q`pmWS>)e6jgG?veb=ugK^sw!3(w`@3p}Zz;dX zSE0XouX$?jrJK|DJOY_!xj6IXdK|g89uBX!ExFv}TV1Nisj~%<$#y6gD!1gWx~Rj3 zLhh@Hf**XNV14#v+M~2_B7~{7!C2?ckKngSl?<ZR27RT}$|5R2Eo9Pu*1#kpGua{9 z=#Y3w-IWJ&sRn4F+Lk!TFyU$uOOFb>dgk{|oqK%e?$Iy3=7uS5EcF%$4=D0@wChDV z%QaJ0z3xZL^qcqK`k1CV5re)#72?L&**-uOH;dWWShcK6mB&Ep>N+eHx%&u4Xr8xR zo;$uk&vVC;Yx)G}OULH^iXFVgTGiQQ^r2^GqHx`6PLB$NpOxiRl~T6`+*Cl^+vfP( z!26J^jk0Ur+FyJWX5g7*w_9p(jB+MlmpGfF!w6M;zV^W_$g0*mWbP1n+3eVpQ_bp3 z>DE5t)Ern=a1e6A1I6TKx5_>f<mLL0W|Z2BX!^g$RYiW3yu!S7>I;l!sJ}C4%yRaf z+W1<~0Lv=~o@-rNwnsvM;Z^l;;SHkCMY!_VY>ffVmdZPm!ltX$k=>#bjuRHnO3SMt zKQoLI9gV_G5!t$x8Wk=ASoFj!9&{esgQ1)`x}f?C)^5+m$yTPySFovgcclXlP~O-4 z9(~FgpV=;4L{7|g&Gqd~RtcJ%j659JOlqzC<)0Kb8jhWRCiv{|BC3RSs>iz!fpt9b zl)lD#^(7O#nUSaG{^NB>)JKO+4@WT2Zmo6JG>ghtE%75?e2%b3IDWU(w7%T_iYr@Y zOX?!91T2t(dJ9Im44(^V`owoOd`AS?wKj)6Ov&BRcV&yN^==%S*}p(A`VAGy_UJb= z7nFLdJqdyME|S6}vE$g8m%-GatqMaKV^62Ikedw1(Yhs~!!Ou>-zl2B)DnL0KN_I0 zz?^vVETN(F0t6b{<=aSrv`la_1dJtu)>{6f`H+KN9}8_HP1=4dn61R!0$yM(Ah{D? zOFzpD+3E{y&HPwFHnv3k`ihx*)SN^Dt7*ol*fVWcE>@WwGJb-Gv_u^I+r*xJISYqh zHr!TYdHJ%m1E4#WaY;o(dNk|4F?q3|z6)j((D3BZ{!_dG*1zT7Fm2lRN6Tw09nv;J z^UG$BMdeSE^177{FT$6Hr4DG8A8~~VU4Hp&<LRyc&z4AclT+xjvl7k!rFv=kNWW>> zX_7PjEvaVNA8kJs3t_O25!D)TQaAOdJfvdVId1zFKF%CcqniHI5lOY4K%M7Z9H-;; zg~!<6^iXt#1>*O8^!%$=InM|kqQwPO$8n;t4Fk-?RDjTnPvfWK==GG6GKCf7#XPUH zw-<T-)HFG4f~gE}5f<KW`yK_Pt0d2R-#8w!9XAd4veg>H3(lcVOh*o<4j%JWQk%x( z+xX(^*CEM&XX<h=bNxf<Q6bBIT`%Z!ZC^B-`|2MF84Bo(VX5bvu;Sl2C62nyi7?S0 zca^!q9aJuSJN&4ob^U~a_<Vn#$y1-FHihMtITt$iP=??oD3-g3JiyG2TeX_7&KIla z{GjsX0+QTOw`z~#W4P3*&wbGn5)OTuv>IHPG@(vSV%(ncxVia^hT=sDfS-rArS?Ks zvF>(-olel5@FFY$fIFX`G7?{FNqa^!z0CZkU4(~5-^HW%r&AX9vlPW*n4b3OApX6g zb`Rb-cQqjRS|WUM27g|NS)`m#+3@0SyRcm8({*5MI9<E<X|Lw<KbW$g=&ac)Tt|F; zj<2v0f!R0!;MNZmr4&mUN8!2|@DSWChCUTm5vI@@cCWIDeF3ypu{hy(90U0Mh@De{ z<)3Oq-s{z6&o@DeS0#I|J#lBNje!<L7WGyp6(1X%s!cS``6!ygB#*Mfw0jSayl^vY zEhyySiRIS-zbfzyZ6h3>4op<M#HG{KfAi}0_1~R=J!-Td!`qAGQn<-QYd~NBQdQdi zEK9g|Hf4RzC0{q;By&+Cs)@D8O*!E^^2U}dK}Iae;Q`-C=)*}<rlhxz+rV@Y+$O;4 zB34@|6TpVswg*K%5Vrd=R!})>aA-F9&1!N*h^;~ZX_-{LhwR!mEIsM+D{3>QbDYKl zjrf1=UXNY?%NW)9f~)PHxp8l&rW{{=_^DTm18ws>`cL#`h4H<pFWI)ymLQ?ACb%Fv z?#LL>D(f{Gc;?a&nb&tyZouw-#SKvhnIcAVLB@n&VM++v$I4Qf2zN!P%kP#qwnlqM zn(E1(vImO$hJ+}-ma^{vy%t#8TWLx>wx3RC(Wd8B6qz<=YsidbqSKccERtDYL5^am zSQcef4d#3?2MPFl%~a_K9vH1r=U&}+__lo#bb~vQNZq!4hpq?yl3K7nycGg=(XaWw z7Io_uzg+~~mq81?ta9f}r+4q-gPQ7+pYu4&tuF3PtPkNe?~E0b-^^^aqMI|3_?i_v zN3F@WWoui)lny%1T3g9`^s{|J75Y|(LywP~QmCbVf#=EbKQ7*#qDa+em9C_!lR7Xj zAm^y<pYm;a!!km^ldd$xxx68{Vmm))(Wp3TaZ~6aU(>gS*LyyHoRQTdoyIqBSb76| zU}W~%<3g&_$zdiyopdK{m-&I{#Xw#<E>0Q1xJE}$!HU>wGQk5l%QFpi4!76UId>u$ z)`RVFD}%pN1LT?aW;UR1w3dTGyjCeAk-yFTKTZ95ce}g4phQI5Q|vi-fX+Ht8hybj z=UWA4Z}lk3RIT)5PmyGe?=a5*xWR+G>qZ+>#T&}cCeCkELAV3OPcAz5<F|;?FTB0J zq)5(bTr|Sdmza{>$1N?byf${=#Dn3Uog*{xofwO=L$0c@RpOw*{z7Vm1Ye@_&RM7g z6=J8C2~(P1`2B3HQ20L@&^ylmhorOqYw~^nH?|lkB1ogsE#06fF%VF?k!FlBx<gS= zT1H8WFb0e<iEY4uiIgxpB`4jTgR$3l@6Y!ixF3(*KkUA)=lML3!&~N2&XV0ZP&{To z-seJJg`!vx*}m+AZ|%ReCJym;{k}%=nSNQ*E2&c?-rprCu}Jr#WhK|tfGYv&mGQJ9 zbrdd)%Ad3@59YJbtZ+7<rIrfidSxrNk^O?aDC1<CxCH|GroBLUp^4+$TCwXiG>Ju1 z9Ezq7a+{{$cun-t`f$^Eem9W1aOdoK=C>ZUcW!LnUJ=pH#Z+O_29k^NC(bI8tA18} zD~7Aw(Tjbt`Nl+0SYyp!0KL&u;V7_Qo-`f@mqVS};P*kCR=d8PmX#m=5ieP~D=uC1 zMF-FA(5_M;u%q3LvH=ozRV7L<J#<kx(w#yS)SiB}s`IZ&nhy=<(lt$Y<==RspIfHD zd+%Q#BGuHlbbh3g_-eCsC}}W0Ps=4a;W%B;%z9fVZACx#@s7+b?=lvf&H5z;L6bJ! z>E$#x!)0iyo%cpQ+wkJp3KSH?W-u;|#WYVaYx=x9S7Mq}JrJV_3vnH4WGPMqkMeC* zHbttg45$zhk>eyTXuj}iVA-kBd=oC{ZT1+Y-<oN7lIea9Eb8CS4)q-?1XG+L^6{I0 z)zLG3&ysCI)~L2&7{7n_q5k%TXT%5hvw)^~$PHliU3rbb5)WK{hu_yOZyqlNm-ppq zz!azMJOB2td`vhC*5{MAew}BW=H5ARplhp(M%Xltl}%|@h7lk96JFT$o8=H}l%6p& z0O|{g+H%e68lzBp2GNng|7a$3scg;rc-Lh5(;f9eQ83wPE_Cf^8S^voaomX>rXhRB zQW(On06kt@XHD$c>_Z8P^Mws&&MyePX}3qft_cnmBh-Pm?#0Fh4QK5wI#PP;`PqNZ z)M)oie5N&7YZ3AT?G8&ZNX?>)@#^e13G<am0b_UXz-sRhVH`#JZ;+23pW4$|g{$7m z&RgBV2`o9nJmD0Fk6yNH-c*eZXiwol(DJP}P?T#Hx1DtX)RV6StygZX6-`weY;O!t z)Lwd6zGpS{o6ywygMq#3zHaYQp%TW&TKtLE-+mbhh%@!mzZ;3lOfliulHP=l6Lv8> zzN3dqd!WTmwalf853KVGp1++;lBRmuNpYReYOeh;)%1ww0Wue#kW}!fgPSHR5$lEl zA-tiJ=Mie$L$yk{P>UiH&A74PJG6JcOFvWc=IkPX6HN`3F=F=xjdFc0SD`>E7&ipp z*4x#kYT=F&l?kP`m?B&wif65QApv{w(SZ^%vzc$EAKSE8|Gea6UEQ#<Ji{Qxo$H<{ znTUdWZj=y{{<OR_QK8=PBU_sBDJ`eTFJgp&OdtRZTX)sqs=15dui|ZcQ<`gRo{w)m znQgs7M+eE&oE*APIy^d1l+MJl@bZ$U<iL-}9N?8g>R_OaI+pCgs;&NP;g){D=3jU9 z4~I!-iuW?EGmxRP&cpd!y%;YNcR5Pkatow#UWq!ZQINQ$pO9AMve>YJBFlloJG(=q z<+5F{0hxghCW?6frdh!nw4t%i5-rNF@Azsyy&&d)83g!z|AESlQH?J-3<WPXfKE7V zbm#~Hm9@ZNYUHp~wVAE@t=jE`i3a#nOBo?QT)E|(sXx*@$odmkQ)iW_tDET@U?DO) zyUd?nl)+M$QGoXwnY5aMlSuBV{7~v_^{$Ft6N}|IuEq`s!Ulwa_QvN3lheA033I0E z4>`So*E}oObMXbrO#7BLQ$krZX)kYog2)DC-KhvIHG$|(!Qmh*HZ$-vxUTzc)G~S! zyh$VujU7}?P&(DvMadlAd><=7foI{x3`(!QDz)EkZBPKOM7b41#5O|ozZfI2J@)r} z5-w|s-4YU?1+KZt`QsrOcsbvp?mZnpl~2%>PgF#@ORh7XfWZ}%*geDp4em{!3hgsj zih4qnqm%kJ%<w?xy7cF=J<>R5y1pz@tFoJ<ZbSKej*hPOfsH5x(k$*dd3K~&54$>5 zoj3{71)-41(P6i#FOZi1OY!JVae>(gswAg7?v8o;K{fNp&BBz%uQW;W-yQaa_$=n4 zmosT6WY~(w^)uEYV%~a&?Hjy8hWppxLg3*i8}&yXKY@w?`JyrcU_AQOt&jROam%Y~ zy8v#vywddt+8xADDJ2am2~|;2Nb_L=bP3zebSBWTW4lA}Z*KAs5`qD`PnPs7nvJs$ z(NxMNRz7q~4DhIz-YT(=$>LW3O^HwUmgW~5L>uYvPMC@eK`(zY;ir{@yW~-oY1Do3 z_x@cxqg$b?)Z=GXUh(RhD(sGB7{r$cxNNQe{@tPr&_UhWQy_Bipg-eFdvIkirkRTh zn$eArjU0BVg*G=tW}1zhyZ*uq1JC@6+8LYh-&k_`P2>cxKMc-M-3^OewNWyDVF7ZQ z!snP`@+~87IL+yY=x+q})RLqICwG5;F)>JsQ6GN*os0c5*K&S-a=-DNP-*954`?8c z+K2R4;HeiYDso@*sAxc?Q(QAoKbk#t&3ztLE6Oe~6mjP2qpJkrNqRm#z39lzT$(;y zV=zp)Lcw$EfOTZShodkm`4?OEOJ%yIHU=;){EUIek^YrBWlJuS;Yunrgu<9pivnA& zDovbOXQeD*Z{Pp*M&J4$_C*G_3hAH!PF!zCmkQ)mn2fJ%HLSr$W($&^oGOWTawSk0 zPQ#Ur{-bfU21(3r3{4{BCTcm<z`c8}H)pM8wwS*B{RMjeg1M4hb9qlb+iwUgC<s9R z0IWp{Pl09%l-ee$3Hy`72}sKd8%5LE{UQDF<`mo(MCvSNNV-@2c~#Be;a~0;f*v|* zY;0ELyVf0g5wF54%qAMlYzF8En0_wMC|Z7MCN3$nx*GHO;KH&RAt#8#>_nPQ?Tq*D zN+>(e&#?Ut;iXg|tTkMLKnTw;K)CcxDGU>(&6}Gb(8-TyK|20uILXJ_T5dpaI|}PE zgvh19Ojs6qnKGfqz&1aI3inqnE1e7q5LF)&m2DO0DE`w!IL>m=xNbvKdJ1i|pEgrq zTzkhIjA>fD7~2ZvEq6axT07;Gm80k7a>-AMFojw+h4SP~5~c9FX20^(+PLV#B<6_J zPn+fLabhI%h~bK6RCll6d9Mbo+#S|#3s+U6FD;qd*F_k-?rOSz?Pu8XX7<pqG>=v9 z(!B2t+=sh@$}Ff|H3KD~c^zrQaLdB8Ly$eUsr68<%_vOFj1N{}6l(PY>-ZN9c^_HR z8Lh0K_DNaAF?=4s#UUdizC5z+RR7+FgcROT1E#AE$voavmo~hn@q6>lB~E>YkEEfq zEuGZQqInAa7F}xdvbB~<J_unC+!-mEZSc3gfpC##o_qdAx*}+z1^ft^Gc+SQ<NtWK zsdwcg_}{Q!xaRSsFi*@3kHri;9qefC09<lxb~R5i3yaQ;X5kqhwy#d$d{9sWR~MS9 z7X!|?<>ZV`0Fj5P;*4!9C1N#5BQ{gR=2$?fmer(0e6`t5KsaFcVBytZWYKA1cBq&4 z@vkfLhBwGzn#IlrJ-Q!~+Wb5D<OFj(D>;FY!)dkY=_i<E?91uy(~KeGy{%s9Yy>j` zX?jf5phD484)ZeG?$ORz#M+NmIM5YGi<KpO%q@HT@#w}ns6C&J;l|FJ@@!0;7^SIs zIowG~xj{FZxj{_aSx`V`J*T-zxrxs7WM1vF^qdcydD6d**L$tBW+LX!&xI2w?4#sd zOMB(*y&0VfS$*TvGMl6quAwG3Gp+m@q)<7|BS8J)D(R`XfN0qzzS&vJ@Z%#@w{ca8 zpd`Ed9O}30MdxFyARaUzqx+BN=KE;v6MMU^uE-qL`mDcg6*8(x9rLw0I_1(B<ht~w z-`l4{i(a$n6A)9@8dPVu#gCU7t)ysWlTA+7<}Jjfb2e_Gz%X62n6)ht_=qTr@nRPh zHPD2+^p(f#anz;6Bw<VWo5T7NjoT!YDC?ANajmIdaP~<5`e=6UkF@$=n~d%Kz_E+t zDGkR@KQ9ny0#a(T*~<OE%335Jq)CWpR$Ew?3AXT6oldvLJ)kk^V8X2qq$>z&`o!z> zNkmXP#E27xDwafcV+Hpi1C*p0h)Pxn#|-Qo;*;=q$?D+6@h50nfv2-ebIHM>FgO0# zIkiR$MoB(!4~+JmY)oeuKX1b-7B_hjNT~=)7cjyd`z#xn_!F%H2iHI$9L2UQr@`~R z*lcTAhJ@b^AQvhWmgn2(f;}!_E|%lZOjlo0(PjcS?TZ;(Li0>t(upShtCXpG;shFg z!{=9MeDhmLX3B-5fqxHoPwO?``sC;<;z9x>9`E%uGXox(#LVlu{k@XVP~miO`ZxFT z4IcX1gtI%o^0T(4s~Bw0nX>G=yxel#jP5g{mFIZn1$f|a=24rXRxFt5L<a|0c+6y7 z3gxpuaeAF$>m!v|{4t6eBw99Si^0*is*ucmccn4mY+FrdU=WGbkWPs@mSN2TA4nT) zY4#atvAJbNw)n4`IT!~}>+^{(09xtP_Vg%e)!4_kpVTW++94bnOFboD*%1Q#UsMQ9 z7TrNPSb7h-r|26{W3wf_M{FAICqh`G(_!kz&E*G7P_=JS<olfuM~fq9IQhZy@J9?T z!r7I=1(V_MJj4z6uo^(OdwHqK#eGigg)3atEnk$8cq|$JM0{SC`ivAQUJoqRuIE3R zBZM0Q$YB<#<iUy~ln;s(jKTQUr%z-6;-R)D`!|4=+kJ|-2)wt=7m;w4$XodtcpR|@ zCV(x{OSg&Txc+?p)9jWd@oT+dgMkI;U|&csY&W=sdd)U_4d-X>)Fo<~DAR?jA@xw( zNXKyUre?uCJ#u$ty8*LG<h_G6Q#?;>CiR)(CwQdlJ}r-YKSw0YaP*eJi8nQN{rbQv zUx0mdF{dFB9gd~`a_L>#!|PGpguuWb5j*+#-I=%tRU#n)E98RTFjn0NXRJ>}R;P7H zc({9T<tW<5&fbz>qZC{K6Fm96Ku+}iT9Mt*u&MWadvR;%%#O;wzn$Da{E$_>Ykz7M zv$4ZRLzlNcr0eY9u+TF<dKADhnGH~yGOIgWcJGDlP8IP!mpxojarYphA_K91(2tG_ zB)1&YL&Bv17G*rh;R9AHqK!>sbbncy_uIGz9G(=5^wU#4CZ1i;{y2wU?5qm8a)t9C z;iOdY#E?iT3+rGkNvk;<bm4XvQQ2_OLJ1l2(X$Y~f(x(=e!s9`n109>%7^lC=1B@S zAW6%Bl`hu|P0@X~e}3(fbLf#s*`FI@#RCD_YtN<gDlvc4wSRT3OrH;2E!DQ~yQF+( z#PAoLvaTla`h(kLuOJp~o?Dlch+Xl|>5QTj77o{*GyETe@c;I#=}cQz;0Ev}8a-;n z`T7fts!o|=%E<m$9<BW5uJHZgzfp3lDv^aHSN&)@l_S&!MrPy)peehJ9Tq0vvC@|S zX61x`CuRCu2$kz*fs>Lx!AI~P<9pXCKiz$z=9hllZ<#49jZ4e)kpwIrZHEIbFgxX| zxI2kC95=~|RN|u!m=FE;X4lcm-Wnxb$jB$e?Z=VL1r3Vl+j;%Qxcruxb0~Bx6nR!% z14zmZ9rC2C&m65?xapzl-!69XE3{D10IP8n^?mXfL#>^B05@(VsR%TE+_JL6y_5t5 z+xK%$yK+ts9Z<&u)e)M0)$i{OaE+5G(mkZ~)Nv!B;174llMQ_PBWkVPrwMvs{7YHD zi$90`kb$!SrTqgNV)Z)q(58V{ExD9-T{U;%<5^_v#^LwOfZD+<scEn0-0T6WP53j) zp>?zISOba0uuoypiBpl<)Kna#yc~2(nBe1WDClRj8>6n%1oE5O4f^T5Y-6Z3O>yC& z2I9VgQ;-KMT*`S;1^=wEKiNlc)Kaj=>*B(Sy!1+<<D^K~-BK${tH~f=olL`qI&b#L z+=2Nqz$=esf#P>5G?%$%6{h-bd%|wKkX`Q+^G1KqBO*+zNgIp7LD_%f#*BeoMuFBt zC&t-&=t$|j2B{%s;U8<Z_tIvA5}CpSj1T^uKNod$kvQQ}!+}0I3+GK~T?;C&Sa&c6 zzVI<L1T<Fz5SGNmK8-J}|9-&LBI$YR{XBEoX1Wc6J7#l!Y-9IW`_6*QUW-@Q6{GH@ z!^`TEq!Mlxe|4B-yg`%t*qJ85rGZ;rdcJaw)1)>Z?~k5>^|R4u5$NCUcbjKt*1Q>$ z08IAV8e<1-0vnY7qv^~ph&#Ms0tZlBDSxV?ERJj*QFS<9`zII;a%7?}MxtbJXzL#O zx2EdRFB8V|avVVRKYbC=$<qIJ3<0+8nIgHcn*=T1l0+4;O}{01^Rb>X!yaemx1}Qw zpDq^l^3~f|#_a>(p!Uk_laDQrSY6x1Z?AjX2AiqUX@e`J!B%gEH@Cs)bKN@bwBE8V zw(v?7mk#y4ewmsV%$ydFtH1>k?>ik;DrQW!REiRI>k2>>3j+Kgp7B~RT3~;F%^y@y zY)0^U(4vXFMHek3l_n7sJUAo+l<74z1R7&fymDRgE7yv8l)=Sow#-!@!dT|&rruP2 z<+&%*yDXmlhQNr^?%S8C&nrraFj{P@H<akFin7SyX0UJ==VME+li_{T8_pVMjm3he zM)rL@T<_TLuiq2)L4ND@K2FQT_>EZGNxKSmVHst!-&$Hsl`XM;{?*SE6t6p`{5Eg_ zc!;OB?$6O<<rucm#_X2q0y!l!pWgV|{q&P$Vh=}JjF6&4))<>e*=Lxth<gWE({Ox} zUqvC+{jJ^+*tRP`lSTa2LS6iogdVpAdmZC&<mybjz+e<KaU``iJ5v;j3+p%S*SyGz zxF2RbtZc#`-{>WCmrJ{<#(AiAs<lL*@nFt4I2v6VycJind{4PKG@m^s#hR2acgZj{ zhULH@%U6H&K{D7SQ?<cTHf}Ye!-A7RIx$GuZrh%b_vS%sHh5BK!wf8Tgfl%-S?G*p zEZ$v-tCarYScMy&AK-eEWMBGhq<Bn^m<ocud}mMJdu`DwOANXwZ6wy^@b~u%YFiBQ z^2YTUw*z%CPem1`;~Kow8k;*NP|bOc!qB!X<52YwW^hjc17qan8BS~_#K$M(_!#I) z*#S;Jf_O|HtTPR-9n5Ia1c}{}?Sct^102ZvJD9OUwb)|r2G>VE_*XTlp}z<Hn3`NK zXcg4tho2caIuN^?!I}Tmk5?b2_$HSk+$*5by$|M%H0U`bRi+o+Wp};mbY02k<{x=B z++qKJG>A2Y(QzU7UOVc#-N!N#EE}vcj9qZd35}hd8}GWs67YH2JHP(Q6>gdnic5(< zUqS132ncnwG(wdNj~zZkGxNB<$9?6lOYCQVc9q;jcjF3swhZ|%5_wjHh;Drjci(@% zP}ai2;hk&=kMzg-9ot|AM2gC-*2(>>r!#X4^ZlP9=^N!OvcXorZ6E(k;sGZN8NjWz zn6EOfTP0oGvlN-kJc018g`&Ew#>TnxR9FW~vbVF{iAn`&YBil5NZt0x8rP_pJV$US z^3+PJYUpUn4cxfu(fIOTy++=2GykYlUG<RkZ8lKOJu&$mF;BF_<=X53X#Tsr=FVGl z0x!z6GGKBnF95Qn%1Jn#MPDGq*5oR&UCz^J{@|KnBA_GJVN~!p+N7J<N~l=A$bF(C zyA+?AJ1)MxR_V%p+&O2^mdG_P_xbQ1eQ?I_+ZVhpd4d1Yl;%D1*uZa-)HPg_ti`jK zx{R-ShUs9AlWvL076>JxO^3$JPHJl`k5uYLOdgl7G4l2=qAHU;%^Jc@vPfO$u0g5# zyJl@ox7#QjxTO8fSztD7k;#l3e1Y8hw3(tIVZ<;k)0FFD^^N1BXphb!OR9{riUwzd zUBI>ymF0+EA{{?5D-z1@)$>)gwK0M9RMy+}YlJIRu8gYPr1HPSKj#bWs(#zuxZfJe zn`U1$(hX}1)MIjvF(*JdrRr53RGl6t>{(Bb99fThZVXPH;g>zqC#gm^)JEBs-EDtS zskUauh8V7DTMd8Ta^CSwcD*}$Gd9-3VX^hf^^Oq^kLR=*i_1Id1#J#m_S@}@i@LZ1 z`(}@Jn)<@3lShB9CqISr8X^H!ua<<Wfe2tZaLRF4_c;1gBXGB7UhPY5y&uWwWj=+9 zK6v`hLDs;_De3aU9jN9dwr98A*F6sFJP><K5PBz}|D$;J5k0>m113%~t^UWk&IA3u z)m+PIO6<SBr?5QduZ4!Sw$2}@c9IUG8beR6YtAU?B2zl?yd720X4ro;p$eD`U7X7I zR^hvY_Qg+bmG=<x4YmJ5cJe0J$D?l+lk)rFWycv|jVN?Bxt6Gp=MLyz7S*8VO-If@ zk9l71WPInPCaYRbm;*SGjmA<63%ufm<OR7QS5BrEOn7x{*Fl~e1Wg<QK7ABPx1J0V z0R}7N=(%2oNQ7<pnA7FPI((>#Vc|4_-hAV0riZhnY#kXOF#pjc&+3-%_&<a})HZfi zum-Y<#c!<$q4d!vhO%`xE4vF{`B>QsvZM*R_2;B3GpWDe8!-;R9pG0M<318I6ibMa z8<gw6t*2&y`R+YKU922cJ=!k!pK;ZvG`|~^zxFd^amzs>@#(PvWV}$vQx8y#9#5~` z#@nDbPPmlAUJh?%|Mn7@-0!;miidrAs+!3;Zc*{G#1>U=FIgoN@G(tkjCX8|f+J%@ zQNVyn{J$-1-_%L-N^A4uK_t<1#>3V;!#Kd;84l4?9-sci)+CE2PTNWHNrpuI?d_1E z{ENeolhH_1c@UauGe08|)_fe8?T-u3+`KDT1-L2O_wK`CR^y*Rr{wD_Jm|VRu*{I^ z>wgX&W;mkB<Lgd^+cTo#*l;v<X5>JegRGWe7&FwzRlCq<g=3}+-yMlC7nZV+$X2)` zDQ0Qq`c-Tz*)6N9u1nJzH!C>fhu1|Nko>LDZVkEPR!T_QUc}MXG<oARWfx((+gB}< zNYnd+2oN^#<%4E&*{7HI7!!bs6(O%G0-RutPhZx?XkJlCE7u6E1nj{7r?RlQC%!%$ z?J5*Duol!LIw6*LLLwy(P|3b=s{A8|@p>Sm=D1f9t&rg5#!O$$7W$X!VjQqn(Ydc` zNTxY`JW2YDc{(XkK5_cvCxIkk;F?Qcoe|2WBX@ZuFm)R>Ik`sEEhvk;BYhik{nY!x z*!*($c^4D_$(L6hDg5zw>!y)+z)5tG;Qh(f&o>;(1yHK%M(Gy5p~oklNG<_{EupvR z;-0B=kxn+8(XEMN`*8ali-@S~ESl)`hfk_kV17RGuWtZN1*6cQ`uu18Du+n{q#7n3 zb(p1$v6e74+s8oPycGE`Z|A}zVL_kH=rlF4VNF~kvU68H+;(|;9q6d-lwpzkt&nP{ zQ6TgxmOPMt8$*9D>)ZQBNN3p}R49Y)p>$27=XNc2t|62&dUxk}hSEos;iuZDWx=lk z1`=N;4+OY^_rA?heX#FOuH4u++roO{V<)cGhuGQmpAj9`a~RFJ6F%L--a_&&7PB~A zp(&<WaAzXXKYtwJ@|kh5K<grywIgg0WJN@EtzCF%AlKs`-oAZ5tY|sjxP^bI2Q(t# zOv7~O5>doF#OisBCT~%+l$UdChL$e4j!rna5JX$sX$2lFR)UyQ>duey?RO8o)A`+g zt!vdY_gN1GG&DEc76ks2?-TUd@Nb}gDK8|IuBBV@3YjuqHjaBm^XEB%z;D!@oR%N1 zA_!#D;NQ6LwBGzTMZ{{Xx?4*kbI0wg&BfCn2E8#c=rgAA0{nAS)4|@}Z{nDZ#~$`L z8$pFNkqD9}(az|w==jNQ;O7XI(?G+$<*J~RQ+#_eyO!TQ<;j4wFkA{VFB^ebB4Z&- z&anh^m|O6)Z4gFlR3zB#l?dpvGUN4sxa3qHaK4#ECbe5TMzt@Sq<d&px6Z9A%diIc z`gj>k8ZSnrx*O^Vie*sg4YpGqlh?Mgt$~5di`KfwzWzL(?`@v3U5y@6r6S|*e*aoD z5Rz_hm~fG&Ew4||ZAVA$Vj(@G9$6*Y#82yU?xB`msR;!lML?b$Q)qI;jK`6h;(s)t zd+~~|zUr2MvP))I`_#ofwmfBfgT2AaX;Hjands&MKjiKgj}E{LE7Alv#8B1Ei7Byd zMlf0(pCvu_9IPB6^3?ahu_c1x^L&Mw<!o80&4iW3DST6v`DX_6C$kj6HlmaUdTeYW zUq+y<h(*p-L3NBnlX32Iaa!@hBb!NbA_RQoDI5VcbM0|Nz&@g4k-W^dZ@=f%7Ox;j zv2WwCl&j%0p?74n`6mYWQ-BY>JDM(&?BCube-1ma)0`aS1#w-YwabDBVf_#Aq=&Ai zK^Ypq8&=fB)r}u$M&^h5v$I+iTXao6%I3{vdEn`hPZcpPB+VdbXV<CS0jLbT=19)3 zK8ri;C(VQF;m`Chovf&iq(N3IF2e6tX6wxOhi`i*AKVTret+-R`MU^w!3wYvEDlk@ zGbku%0hJ;}iA4OglX73?{ci+ev4Pgd+g&_oQHuUBVPT@x*3#(@QjV@|+<!FQF3Z#D z7P_8vfX*xS8}EIBR?b4k-kFBFngH1$Hbq_wZq|-pwYb?G@yt6WgD0!we^hr~F5;6? z`x-Lx?BP!*CnvAgXNmm&WeK>F!d-g%VVrT;#Oz=8j+<s2e%2n9W8D-)e~;ZTiBk%U zu<e&N9hgG&=)Q)2jF~NO*|(Axxxp<jnwyK;UO(Y2c7&*8mYf{oAWer4orbH4S`p`g zBqpwTt@tptCDoitn>A7QBERlUSit?)O0?8Q0)nlk@YkF^Gu5mOwj3kZQW~kIJKqos z6*Z(kF#@$15fw&%ik`ps=+sdkH$E}D=O`E?W=}7Y^IQS|k^IW@K#)sfE_voEO(!k( zVFReLV0>ZOQU3&h3nc4LwMQt{Vlw*L57`K1JG{owYo8=V9w<FYcNKByPR;?c<uZIo zu|}77(~0FhdMk@^WhBhhPC^<msH(L$X<(l9j=OwY{LW&7w)jj(!jW)Uql7OX{-2GG z#di$#{tp5QbF(2_xTNF2EeeyeOHW0<JGymVUr_WndIR-|U&=NctgR)3ktmcA_FgRN z^J(+-1=prbtCREOLggEKt}pk(t6z$?1!O0<BSaXI1$%N{c*Jl!Qgfq6j~89DyNj(Y zt!C_o3FB1eMS`pl<LDX=z>{q{u7N$w$8nbb6;Ao{@8eW%q)yvb15tyq5rPP(s?qCy ztfUqgnK9SfbumrW`ptwkTUi|n<7d@A?{lmsrjFXs!ojvp-6CzNsRjBWzLbb`)BT+R z>5$_!;y@)814$*gU1=~4AnK_Z-tY|BJA#F(7=h5SdC(=@nqh~E<l(=ZNBWYf4I!eL z&UKSG`2NK$pL*r87M{Qr=CVP+ff!hg<BB`<&@SyYN!}wg<N{>6wcV+Cgg;u9sj#UX zC&wkeH>g)x4bYjftO4Nz=ms&F%QGiO=iSxbU*UBtGNMX8N3$1~+QV}+PBt76Txt2I z^PhI$df&#IhI-v{$lZ5(>kf#dQ4K^L414r5SOt9H_G%@;H(x1qprY2)@?>A?v;bmQ z(WDi&f*tzIlUHCPCp-h32~!&@@U}Vg-dNjoA4M)o|Cq0>-lRB17A$EU)!#h`r6McX zL-1<t;cbR~$Gy6tpy@Y&dfD2U2;N5>^C5IX!RRH@?AfFK+dliaFnkY+Uw&Jm1Zs5) zfUqGN)N{dT{;iP4C9=^+Q)QArRkO%$)U4@pQDkT)M0N6Sit3T!^qZzb^wzk89R+Ri z)>6mLUG(hs|6t;ovblIE?XBKXM75Ken97<@r6(A2>LH*C3Esivea?@{l!DAmsD)69 zlBq`xhKFL?S^aZ5K52Hke&<m;SxC_Xyt=<l5hsaaqKHLx4*Fq_ylp18iBCpFCy!@l zbS}uvfmgAh%0fVK2L92%N7cAnjGJ57H)b3Ae0B|LT+6^a{+F9Z7fz$E+`7Deyl!sL zpw=Iv8SkV>^{c)vra%1k{YFyJy5Pr&Okh@=Vsa_P?~)45!%L6D-Z{c(#P)Wm(p4IP zcOh@Cl+t|v-@<dq0|TBzstkxGBXxh8mVTFpd%S=`4ODHRP3Y<3P3^xz1{e+gUVm^y z;-(qmacoOpDAg`<v;QSv<2!xL<!4gkO|%x~P9lF7nk49bdkvaUb7yx@!oEp9DyL-J z-fXIM_YnD(cBMI8eTf9F<xl6sOZ4xGlt(Q0P7V*rG_l3Z3nll)Rlb~=ATxh3IGcKD z!BzGs(nt7Ab)7`M8~mimlwKaFB`vXp;>_Y=8<6k2vGZpEMIvACM5Az))W(XZ3qe*X zfvQ?fo>RAj+s_oEKu4Q~885aHR>+k45<K$DNyRb#C0}sVA$Q$si0|2e^d?G_%fN19 z(OG$69NVlWR(mhobiy}ajYKK&s|nwZY?}Tbtl(Qy;JV|qwd-R}sf{g4L{o?%o4X=j ze_45WH&_K9KS04-iqLjXPM)l~bP4j5@3(nfng*!QyzS!u(8-ULKDK)zJVOMn_Kmkj z+-x4DX==VaJ8BJKs83R<>jKJ>I~ABs-WfbDcpY30KpSM5fbdGlO1!$TY4lA60J7HX z1V4vIS%r)z`dwU;xhvK|nK0~{k1fPtypJ_g)AQYmO!Lh#cYFTrOC7kzZMQ6q4j+Gu z6|=IHMbDfCd-mt__)fl!KbG(*%}&ULr~<6YbtvJD$0`QDh!4Yz=E0ZU9-pgLDN8B8 z)pZ5(<^6y)<i6nX`O^o`{&jGxHmT2?M)6k0g9PVoL}%!P4wz^)VG-;W?Au#)nyoLP zkJJ)I-wYMHpOgXYngNCuFYZ)+rp6NwiuXRpDnnpyX0zfk;9Gqx;*ECS-G-Z!!610r z*WWUt5vIZ3!i;<qSH+(u?AG_E$Mp&gblR^v?-m(KB*5d+t#pim>$T9@cRSTsDO|w7 zPElGXL*~4M1<d0WztC6M2e^jM5W;XAn%S<<A&BUz>(~;u`O&n~R;K)9E?!0H6}F*f zceOcQ4^z;J8Md{-PjYodPnnJy-e&&VV`BM_^zS;C)McrJz0)3D6G6i?QZDrPSsIK# zu%@(#`2?bWvGe2i+_SWz8}fttT@6q(Ly+FnDV;NLM4rLjoc77&c#TD-u06ivZRe(_ z<Gy>GYr3ITtmZBW<_cEck8l3!h%-xW!ltg6wYW5*g-i=`<a>3qpS2HQMbfGJrRiv5 zq|rcOGQnQRJ<p@T=%cCc@6q(7>p6z0xPVM6x6xY3S`~=iU>HpS9h>^;;J-W}g_7)r zHms!1-d}<UEZYJlO)7bB0S)YWl)m`Ms1dwK@^f?kYt8QE|BQrT_&c(aBnDFr)B&TJ zN?^jn3Hg|KQ!AYL32&CGf0ay?w3IS}L6?!vvQEe(4LFu8E?iuyr$q#cHTF&g7A-Y~ z?wQR8Ml<N4_rz+POIMj1Y|evRI~wG^iONj;eI-58SPx)*QmTO_|9!6EW05AgTz9~} zA=xrog3wR<8JD{f(=m|xwjE&cTSm3V8J1n$n1fDL^0DRUmQs{DD=)kA+hnbkK4aXj zvBmJDsd&xC)_7df9Wt8;g<{~Vk6Q5$r)(`wjoLEbijK%Bh9{B-pP4=Gzq}LveN!Z% zedK|rH<9^V(1<cXSTpu6fg7gr-w+U#kwq1Ste-^guC&eVrAvm*R&XnJr;EH^8%+?> zk;vudXR9qvtAK{I&-QwTD>uswLcrN<9QuPh@R%21PxFdI@r)ksXU%MZ%v005w5WnM z`#tj@LVj9mP2f_a6?zPz%k_Q9yyv?8m*TQ{U~jj#r_hgtq2}fdYGD{qbHG2ZK^65G z+@GCrf3}9POrIXZ#5si4`75!}?y#z%t!#@WcqFCux7Z;{6;d4Kb~{{uYOX1wOAsZ~ za8Z$_znDW^yD@4}Z;VCRYe&3Q@$Q;FQ)mfP=LG1hba9bvj@w_^MR$CJ=cEP#8Pm?d zQ&Y{w_PC$f3R|<0GK4=iMXfcG^)q$a_oTJhKD7)*3wG!6v*{>L{|xJbgbI_|AtTGZ z`;D4U`rN&ZS8k=GSa&mV%QeI;Ny`CjC3m<`yOp>gsDD7$yl)X>)BHt6mTja%QN zgr&HZpJ*O`tqKfg6X~QeLwwr{zXQK_tG2A4&9GLmcib$A!!zwE)N}oK6s6*?#`b%+ z$vT3cUf&QN?I)zK+L@D&PCbQ{RGmUZjT&m?XS5d7T6>k|RnrUCIVDHH=nMCuVeP8j zEOcHi9%CIpqpn0$@d&uxC0cu4ECxvc-r<qfwlP1iccovN$iJ-cc}#E!=DcOR^k=Pa z{XzWl7(gGuS5!XA$?4ci%D+v&xfIjZr`$~~&w>Zbg6e&3C5RcK8~g;0v7V!Ps?Ys> zvz2Gx5G^-wB}zYNf%vrP+q|2Jb(*^-Y$$z>mlwnzE?zXe95gC03L|Ty2WM2cTqh8$ zl6Eg$K^*P9qsUwlhcC)liFO91yfW6>;wLHnH@|QD?!VUqF?WXuV94ndDt~2U#b30y zm#1PAb+9wC@_npUjef05HV*-8=*ubB@_zV0!x!ug_GQh8S+ttAsu79dy92#cCoE`s zD}>?G{1WYOE>F{hpa#Om|H$;{H6cGwTPP)$zjwE;3!u|CX?gCyH9{6W_1!J7-F4mK zrix}Re{R`dkD!7kKcORpPIV1xQ(raIeb(M1Kt{wokc}3lVzJlIm?mI^Yr{vax`u>4 zdVYdvD9KhxdYAf#TMR7i;+IAE`iR$@!+Lqh%c-G6-<ICp8kB0J!-i4leka{D2ePNR zO6(PR0njUI^!nl&B+hFsLwt8$V2dm_zfo{4=m)_NQ)h~SUO4W~jF!ZfuUR=6r{$?% zat<2Q`cesAjAskOcqVYN=6b76oR2Jgi7&2gfM(}3;TyIu{KuA=%h8+<jDfttbLGRO z>$Y2s%IT^m+s&S!O4o-d79KCw<PT()g>bIt;hxM8-W((J5Lp<$e)3obAKlC~W3e_C zvhmQu^Q!98u`m^wr8>B%;7!x;lg6YmF2x<0)%p456+J<D{$9hkap~(L`bLS<8MO<B z*1Z#aR3Fy<&q<$tAU|tR5a1kd_Pg)loG{OF6Iw@le%iQrfvJcMr)GR=vwLH%xsaoG zHa$`nR%WUEv5nIte$CQqT}r9@H=Azw@!0m2N`g2>=BNn|^}p$muX$s+%KVXjZMoV^ zN5p<yb^$JOx1<1|BtY0)D?2o2w?xsIS(>;Hxic0Q66iw11cghdNY?f9xxqsoXIGBj z={DUq+UtyhU|&r#HF>L)YjfM2MU+2os>)EQb4}3Pe}3Bu(fZUiZn?GDLO*+U-9VR@ zZRa4cX5#N=@*eLR#cur1f*N?|Q^qXM;BcF_B|x-uLK!dlH?cR+DfLg>I#HMfIdf)T z&@H4dyE!gFF!j!G@REo-rXB((-E_LQ0aj3P+|mZDz}EwzjA&(l@u8OibDL@G1_zs} zIno-WWR?9kKEM>bFYJCqHXf1Y``HjgP8On!H0bcWd0;;J1xh=T+?3>)nny^|Zc$6@ zV}Kd@390+78+l578qH-LM72bO8?2qlQ_D8epaBGHt^02o!O@tiG?!Gvc<LlSTPQr8 z$=oSP8m)9oyZl$~yCt(rf#6?{<xH+ReHFr(W{fwH|D)mh6{{J7AtA@XjI&cD3g4p8 z+p7p+0Bbd^sYKnAw5<d4%YiQkvue^6`jJ3qzjH9;7a>c~s(cE2R5lqD+NQ~$YCxSw zLVkMQw16d6b-e<YcL!`+vlqNH358&=n2n_kN2`5-zGEM}F&=e#qpYQJ>d(_pjgp05 z_{8pOEw|UDvKFLmx2OsBjde^X&;$7j4(xVGu>`;L(VZWo_)Pepe`JlKU{y%U!{OL@ zU(p(adfvp3J0Ods@dtc^-<<D!qOU!BU0Bi-xIwa8DnqHvH)2h3<Kc2xxbHuMFJqEx z+321#zeff%d7m&{?CNvR*0`S;3oWzECAK6URIlFX;Oe2ft2vw8-;0Nm>3hwHA!7Yl zgN;3<dso~8<o145$)3k%^M}hBzh#{X`_(I2TSeZ(XMDhvFHQBDeX3q;QYa!|i5sWk zQ^{u(Jc6SS`-21Ef*$_lRXlH&qgQv3u{^PrhAnXQ<>6%l+|-cl=$>=BR^a9pqB7Ne z4k9>Xa4O1`e6=CMQ{id|3jA8&Znf}kCPSo$4#g>vw~ZDqvJ0)JCkPR^CNqT##GKQu zC0b0Cd3hflqZU(5$z5*}EB>KI*Qgu*Ct#A(n%Z>>@$BVRouuP!4bg|GT{VO^w9pr> zjGYrjcb?@3`%Tq8e*ez+K*i8=%a*9xq?jjNI+R$yiN#e<90v>>eV79t22p2A)w+!J z(RX_?)~j{ek8dRA6`Bcs_ngj=T-Zrx{E@I#6A^D`i{a4j=+e}gg^ZKOA^YGq)>mR% zw{0|6=a?%Oet*oI;WJ>*YtfZ@cL<je-P{7XBTs=8%d>pHaj`x*qW^`5(_?hO3jIAX z!Kjjb<#7SIM(o``Pa^ETQYCy^I={Wab{LcieC>4GST24C(sLAf>#r~gvQ(VN&2q<w zK5yk3kCNtKm8MrP$KFuAE8?xyj2k61FQwK$a9o4x@7DS;V>k5zv{V}doJ)Ug`0r<e zAWv{`H#yqi?T3x*K^;*y>fJv_PjSj7V&2BI@>o|_l)4QG5zhBUxz{WRy@KkrX+8_2 zktgi}h{DdXt1mWkZ!ylE;12N_#N9{+I;Wj*(cKB=`#`zC5*FDxqEB9r`bR?ZY;gvu zDfwrwEY-zPY3-Cf?pui+ekCZ{ekxY+gGk^PdHN#S_;!M@BTqu$${^2deB{QqxY;%W z5=w<pkR{N?YuUm1ohIYoa}0Ky(7zIGK4)NkUb16V4Kqwlu}Sj0*-J6nv2>C>m(D0m ze}tCJ8%)ZLpshyfQ|Zv$R6T(iB^VBb$#h-Lf4m14DG)_{{B827=GLIMcfz=g5Lh)B zlf4vR3TVcv;!d^pQlIYy#)YZ<)6G%v1Le6)3VI-mg84JfH|sJ@(wOOsFvA{CXr0E* z?mZxs#)84E-#Q}QI^F~+bGVN{-ScEqZ8w&emJ%_z2EC~tYS0U$b?dX=g9zE?Dogqk zs{p-Oz3!6<U9;ny_3(rFEi=twvN8q}!~7&_!YSH;%{fWehxI}6JKv{wR(7tdeQr4) zPJ<ho<>u{(`V%7wRcGz2#sb3$f*sG|Osx?!)usj-$dkY$wR@3nDh}dt#QTdwhX}#9 zu#t*?=I>G?2x~--c-Cz%*9?dFpHXH(f2?yu|2qBrD`)C;GL>rOE8|aC8{bidNTjwc zlnq2{bUmy*0Zd@<ZNq>7-1Hgow<2S5bn#Hw{lUpb3ggcV3zPY1{&=&-{l;Zy6YDzD zuY!x!2f5>#MmH4ER02YOpM_OTU<3Z5A*k`K%@F)04Yby(^l$>l>$<|#8z2@mtoC;@ zwax0XxcnCL?WJcf!pVO8Tv^PhkT-#l5>&+JZX+O1feBlro#gG%Z##!<dioPs-j2NE z3aH}Ez99CMDDTs~KlB&ekv)rt_lMRj9ii=a8@f{R+M2CU%D$a*lQl~<K#!9UR(`PK zE^?=-m)X%R|J@Kxbgan=OaG0(j>&67F<V8Zrq$av!+`&2Oy!WZq$4&*j@*>SU(Q9r zrVr{N>6rl!6CC-UR^@5v$d(oeM?M(0MeL9%8_~25VrvtGK5KlIC)d@}m<3SreZhB^ zrLkk(v>XZt<_Y;;ng+H<T}DzZzpZQ1bx}*7@FtD}@YDr3v*mq2yL`P#N$OhY%<+-R zJ;14n%!pTW)BIgE9m5;ns;oP`RTcgTTr$gbf(CI&{hCAM8W}AWYSs>)8-BDr<M$o; zy}P(PKDKA<CcIuKW2k4LB5RABa>N?k3FE1nf!l0I%o;GWEoH0?oY8T=xW6_)N7~6g zSa+0)8;a=5v-Dam)DtFQg>e_NnJRI?k#`5I(<LORVo81fd{mc~E|7|)<rLiecx*qY z%BN+IAj^zwf{!$2Ai>Jx5gw|V!!<qX)e?U@qrOx&U1F(BV1mT`)}2^*xWply_MnW# zA2g?@iq#9*WKQ^eB>~2=1TD^+Ov}^i-hu1Z4o%3E?Q_MdIfn<%Im5P*3wpNe>w}_; zNy3Q|cQ8u1&rEI*4jdgcgK6IFKJN{`&LGq30PA{0P#vnyxWHiZP6msX_OfKvt_X(e z=)+{nk$SdFq2hdv|Iu_)?B+l-V!tPx8g@k*+E=n54-ck`tYK|8JA^-LXC+OHiHp6V zX)WZ3b{iB5{ftTa5x<?Sd^)$skdP}d5{5fRg5dp-Q{TqHX5|;~>3E5`ohsm-`5%`U ziN!8ZFx^k-3Gi<TjW;QheYuy7w>#+6p=oG?EEQuEz8_UaknhqLgtN%o0#=7{`X@D3 z8%u>dXKHO63~dzVCj8GV&g1Sswz35g23c3+MLj%C<dh|Peub^8n)tgcJgv@I9JAy_ zL`G9w(!353yv*(OvgsHAQI~jx`3&6c4HMqG*E&uQ(z_R<Y@{}s&kPe7Ab7i*%6*wB z$80vgwyNfQT2Yicel6@(p;114lY)=0&aJ*ND+>#pZ7<#yPHjj}=p+;wqD0-+SbYF3 zNTX$ttKSb~5e6fVRBs`Rma&kXo}%B+5J1kTwYT;DS3lggLpD@PR$h0Nzi~SyJGr9o zRuM{|J3D<rUQj_(+*zJv!#75J`h?|NTQkmYL&MUG+VWk-ugo;_R^~Uut4@78#wUGR z?v5^6E+_mWvF1wB^3tXxwmq9hoS4gZb4q@{WVI1m0;6@$Cae9+Zx{Lf2_I;v+E<O0 z^rYw_8%_>XB7||Fr>3C*L$~QG_2%qcnj9}UKi%s?oLv|Ilu9vU1n6vDB;qcA)y8Y^ zVQ4yShfh%d#+F$qU+oAYyv%QMCay9hl_+0`;5k!?5)<u05Ccpc$!dwT-Kq;1>bTC% zi;oID<my;bU;!}m4`b~*3WP01VSB+LVNJRxl@;j?XN=5Cv0D_4SG6Z0;-`@#F-^zR zU62%Y$G!;o*;pKTBPTQ>!Bpq2F6fXH0n>Wtop7?Dw|aO^4gHqsOy6Morj7^fm4dgl znmCwdh(~9P-SzbiSwqh@R)rwFKPJ}1PWCx+5>Q~B1kyP%My=mYr?%cuJ7e;#-P6l2 z6gboJQkMhCO1A<@j1yMN^2}W-k!Od(wdAp!;8ZZG;WSd0T4#OU$xS_{DthZ_@Z-t% z%OW(wcPLKmCQPK@G4j|jn!3CaWfHb@=D18j(@l~)NR7zTzcBvWJDo_L={!pRLTIF| zDR+99?msewv~4DGBXY%f2Q0@_HC&{ovwu%rO>v2Waq8kZ3>?U&E>M4tL~@O_^W|ZZ zh5n=Y)mSid3Z>@2O6LPu+wT`UA&P*D^nvW!5YZdk9g@~v*kzO#*8+JB!Vwzrex~ql zsCAxpr)Nn?K`Sc2k~*~TBX>#VdUp<^wS-QxGXtIBk<ZYn<7N>J({BQ*9=j&*mO%X$ zdbSXwXFu(3EeAwEM$*~5sQ=vt?y(x}#g&KnW&Y5~$v`duW($VIU6@;r+fzb(H7Ze| z%~Nq*IHJKX!G}7Z967Tnel%y7tiDqVr}xabX%36cWUzk=@>P`1&JBgpm|HZ^|NXS1 z?+ga6RiZT3S7_+!Xd+Br-G2TV0zr|EztcWkbULFh+g~2IGVq}w%<<?ut=s?4wSBm9 zHmFx}80Mee>&qpRv;WaNNuCYZ`n8rYun>?po2QhBODN}w?N<s{`<*_zHFA?VrL(j+ z9fjPMR0PB7zR>pbeY?v~Q}A4mZ|h8KK}cd6aP%L|9pjQooaw%(+ZV3Vvq;N8GxX6r z%@D4_;`E$ABK)1OiIPA1%SdIXm%_hyl!t95uD?38ZWMl(wxR$ZmZU~0Y#ey0;E_*< z)}07~T^-)3TLTCEman=H6H|ndLY~GWZj`kz^&<B48>;dwjjxX89eY73fAYcbUN6nz z(P{(!<x>l)cF>c2bP-WYccN=>%9;i3e;>TIt&~q3*n6R*MC_iq6TIE<A%8`opKESi zrIg)s1O<0psze;RysFveaUF&a6&y8i5;8;mL(>0Y>YMXKkwvc1*GEPlw%e|}S3CQ~ zDuzT*Fj8q-=z^Y|!`|zyfGN?<)sym~{&Zt)Ox)?!AL)+)ecUd#v{w`1HwtFkMvfoC z8HLZsKpI2GqjG~PN0<&1#D!@Awv4HekED>gl!4Qj;dcqbwxJl^$2fU{!jvK_H!|k? z-sQ7KnXg!QI=p#J5HYm6EelBxsF5(?zogwBPRDTfmh`v`&&m&QCFo*fUzI_khd;Kh zOVebrhze(%&jDEZrB~o~R>SrfiScA3Sqw#Wmr@wXU`60dohzW-pf{hk0DwJtKA@FI zl>YEgfr1kw%i0205duceI%V0F%dWKC5T^6CwIO7rRsR`+#dhpdTACrI;b;)Ykrg?@ zsI3DtH!dyL)X8(#H+JsMtT$Aump!XRj;$USeC}E}H@FNu!^WucS_Oex5MY^#N!zlL zj>(Ly;5)t7j$rVNX6x#T-%gm8l*OE75|*88dN~Oq^Z*&t=kinE#Mo3QE}u_OH$yik zL&qSWj6--FRvn*iw(^<qzNCi^o^3i_&8KV9G3KSy?ln$VYBrx7%oqp3`fx95(Yuu7 z%G06_StAR#fNjsiDN#>vzQXz2?NnS?Q+PaPBR)&MYPgH`>Wh~h#c7<&X6Xu4ea>!J zO&M2`PVt7Q!uq&-_ttvZgbzRQ<<f!2pulh<3tWcQ*QcaxDAFa7gK@1L)PqiI9#(z1 z*V(S%Z*e4!nI#2`2O9W-uFBmUu+%mdv9+dGBsn^i|A}W#>@q!XtG+0<zp0@vC{PRq zSO78kpF0oqVHXv-^)tscdYcrp@uKQMcQ2~-JlAm#T#1G7HYHCigNpp+oh*tQG(WW} zFMcc3jr|+7ZT$3+t9Ocp13RN!-`1m|^wjE|%6wfAPOJfJK(`V!WR&*`E>Mc-*0Z$~ zK+GI%1kMz|BkzT|&OtbWz{^AaV7a!ZHxo0;Wb+zU40QLH9|d%It#apaf2|Ex?|$Cr zJ=|{MX675Mpox^PH_FQn7n|RlT&^+GIS%2BYMp-;CyAgPEL~uYlQbm)eW*zCwJu?# zneRL`9ci7L!A3Vexj@d{)u?S!dOKDDhLGiy!izM3M@q>xu<Zg@q3(=FZ+o9=FB6?S zn(duMd?N0}?ZaPQUwNNvuMcxmFJXnP=;jyK2hXvo0!k>o>05<oc9&KR=yTMQ?DhTO zI*B@I-p0m`v7ZDqdWUjr{RQPqnvQ2q0;-ie{}DTP9)(Hlsi0cbV&CdZuQbHJ9!BLq zPPGV*D{~u+7OGhrzZS^z-a)c0iqT7XGd@;g!bK<_kY_a5pAj8Uk>-TtaIPo}XVBFx z?k}8=xJx+5y%xbgS03lj?rO&P@pDt(JP{2|Fxy^l=UFn)MTN*U<BRuUqkW0sN(*Hy zi|8^HsGscrs7IZ^l?I61dGOuC2&c>*Ft}jeA1h%&r*^YYQ!-CPm6soA$v!<AJZ0Ob zLpkKA&(`V|yVYLF(XuCI_NB}g39xNuqK6_hhtrIT*JkxP(-kxUN=ii;!*EO!WlXM1 zdU;r`V|iY|^Yv5tk53gj4sKYaOlS^A1(7~59!xv4BW@@D2AILLHr^~2T?6T$WSX|k zwr9{4c}H8=P1{G*Bl^<mG?UXF6qz~VUvAo_3CX<6%hs`F<FnuOThtvrip%%jJ(<sK zmZ&*RflImD(&w~pc7avUpB_a#j=4fNS7tG(99U&bYPpkv*>RR2T=jD$X)WbCLLGjZ zS1^Vg!sQ)A%8D1uj1zOA%^7i%hI&d|MRW29{&{8-N>68~hK~5;Y7<f|WO@KDBaDR$ zxm#kgg~+0#je7Iq%t3JTz3}LgoY3OcG0ZH><J;iSHcke7Jrrd3;50{DBf;(L(@6l9 zslfhzXO+YM<LEr2lKdYwZqrJw)Xc4wd!XgaU6vY}m^;BysVS0sPbz1w$}Ng!h>D8l zzzvo&cZy(wO76Y){5|}icW@4G_?`pzeP82qZA0w!|L82e+ERVl6w4Lz-18b+QQ^9Z zS4+OhT%k5-%_qqdI?>lnUfO6m=Ex+Kbm?<Af)vKSe=9LZNqBc)ojb;ok`28yEF~Kt z{2JLjIwNgdO^=J9i||s&V*1UO<N6M%)l|3Vm4AP(m@sBujk0?ESh{FRI`s|jul^sb zKOMicOfG>G7KiB*Oi(k|x<XOxcUN3!=ANQ>M}UA|xvHY9QE|v-Rb{Y2s$1%+Z!uNd zC=m=^*gqPHD32=i{RXynY1sQv^aPNDwa>T8ipX56MjEYH`Xwp+cth)ZnK@iiVDWT( z<kx7#R_{8KG>tPh@p7#a$HOi%dQ}wFC8fLAqSQE8ofbXQ1PjL|bQSlAwM@=_&J&3( zLSLDjUx8v8nod>?C&<QCZoul0=uPT0efGNpX{o<q8Qr>|`W7L*zUGj$2jS({KXaaH zfUrQGlV67eNh{~8-4Y6x$U*JcpQ3|*OD><GT3_XTK(9_Jn!jOl>7m859iU9uyb5TF zBO1zAMWB!;hpoqN%3#KS(ggn&1ICY^q9h8Pcv6;%bn|)RjD40`N^O6voNWIL%AdHk zX`5+}wp&v5?T9Q9ZO(W0UQ(7)`Y?4h`$-_5u~Hl9gm;SiSScB<);>oaAES(obyT*{ zE8ai${@S{fu}AD+MAMru9=@Rj5z7tet+1`?Y`=Z;7JWsD1~;E2ZT(Vc4Y4o=kA0h5 z64fT_2QrQ`tyONS&#gQg(Uc^fafg^3upH|xq`RYjZ3=3WG;hLGt1ez<;twM=0rSAt z>vx`bAj;B3vb~b$gsZxk9n{}j_WjFSsZhrqTC1c|LUYab5<3T{=6B;|Yf%zUC?+W; zIKsp2QEdHL&(LB`+?m#<Wki!5c7Y%<Slv^Ch5xh_B4givR0hhHh22`ZLys&URPaoa zR(HnbO%OxR?lz?K1*`jig0i!5;E&8oOk6w=7?5YUr8U;V3#iQ_MKD``OYXxP|09=h zYdJ}}Dc)6G)aCh)p=#;0G^;W;F1;bEDJxx)Xgi`~bfB*enY>Ei9}n<v2ZvQn8giOc z5H{sSQwzWgwKw4QP6bxZ4G9yuL7P;OuSPOY6rMlnQEWUs2ty>91?E|qffOCZ^{$h2 zXTzLi91w;zRJT4Q5^;E@m56lK4)E8_7cmSzNPJ0*=bz^CGD`vb4Fbvzu~3E3#f_|1 zfrlIBHQ&STxcCJn(QNaGoS<Pq+0M9JPgfLgFoajiko`&35O&JJBdum*T*X8fvGuk~ z;Pz`UhopoldgV12#dzk0R}s}Kg;tG`OiG4Lq?E3HpE#R1j|@>4u3$HvD@v6Ce?>kt zowbfdL`uFW<P{yhS6x#E>YLa!FF(0+CidgtE9_hyarcAcBt2ph^ZWcD5B)_Y&N-do zY!2#BiOi_^>-NU}!&SyU%K|(KGO<R@&x&;~YqWcNWWAmY#9))EMhtELW5`>XP#JPP zvHxdq{M1<eBXM=_Px7`pxgwLp<HiXtzRC3$b6K~1d(cC0x8hy@u0HYhM(VhG3DMAh z%jq^ODpB^5ZJgI!d?;SV5~mOBvV!^z!B7iff+3I%76dFPbq=YZ{n(|_j)J-%ZEUTk zena?9)m=7S@=QaN`Ln7oq%C##Bvr1Axm!?5s<R#yBr)1oSeDh8U$$FCv){?RdQkkZ zw=%~dw)m_fDmzV(@~}{xqFmUlEJrFLd@76XKFaw*-s-%kP}v4yVjU}Bde0R9D!!vz zDRr7r2ptx1n6_V=yMxnm@iLx=tffOr0C4_4%Tm8dGmhsC>;RQQjx9Q(HiZdZA$?gt z24^tO&!6L4G^Fg4k6>8*bt^P%7oq_-TJ9y|8eZ3^2ypcOVxfv(#U%=TQF{Ej=+4dG za*zL6)PNzDBv~@`tU1TUsElBENPp6p^MwX_-AyQ4O=xMYyZ>o=n<Mp;Zah8QxXIFa zhwrimRJmZ}n6O<S1Arj<cB|m2-8{`Pva9dNR?S1$f97>K;A5+F=;>}T+e)-o+Jhu& zRqi*Lm9o{5Gsd1XzKI9nmWJNoiDoINU&#LEb@B~1_G0kwim{%X?&IEjb+?k3zp(O_ z{wY8IY#@XGipoU>DJ{iQKRFDO%NkCfyw$wBoVT5_)ic@nV`T7o#np@Ck+gN;k9X(T zhTchP`S4p+d>QN=_~M`K`a7MnUXF=>L&6!+le#BLxpTpvqe21@5lU&z(D0XWY|>DL zS6#C;7sOKydR!lHU0D;je_hp6JBj2+S+|0>HuvH<gx4rAm}1!;BuuP~(&e_4`#Ne# zf(z3-qR)2zipagXyU|=1FH)|~h|eM7bMZd4L!chRiHV%I)vwBrJ9ZXbNBqj+2aHZI z&pkye_kx@g>DQUx5ZzYxzZvgv-+Q%mAU!?Dm{WL5Z`|c<cWphClU8mdRH2=Xz2Sv$ zpQ>`B#nSb|v}mEJbzWyxVM`Op^TDx0NPg1MOBrrtO4w?6k8n)uTxg6XBlo|z4IG9? zfi%n6(=bMWKG1fRqADRw&M^Qr;s=m`5J#DcqA>#zQg2N6FP0`=*HQmuoWFfY{PYbe zHZ~=$RbvT^a+u?C)gg_JGM?|2P;)*5Bf~NQZ6gxyUbk;SZ`~_$pKud$`C%dQb0CBI zj1e)PofVfjGFlFJY`brxWeA`AoTtE|G)4IvW%DW3EcJat_dmy<V@e&5g~PXRYT^dE zC(>{@6MCF^d(CaB>}eADm>wdWGr-8JK8q9fc+4&woFT73t!2|ry6*7Cn+ol}959F$ zNIRh?d~KLT9^$DWicH!Xb$M&SEBBRM&7pCZbW-mu#ayj_i@wp8eNX%sV<aEnHo_oy zv9K|WkU;ff$FF~1INnpsk~-&fF+eZyW!OshQmOqz%g}EQ4)f}-c6JNSm=xFT=Fi>^ zf1mXqv<jW0o6$`g%CWwFwUG|NyjE7byft=TbW7_#UT8^ouZw2ntLSIYoWC(c?A!E+ zbK`RH2H~F8R#_HulD+<8=&~q1bW@xHt3OBseNS=v+@{mYsJ*D^6y`#N6q^l&d8K|Q z5N!lM^YmB`yDLZmIYJaC%f*0+qrwTd4UJK;>&B66djGDNki{BZzupVQj}jj7?l)a# zOB6tInV@-mFi<XS^^#}k%0a>@WZC;*S)*@x%Eh9@0;hiv|1^7PICW-jW^Lqq5Tp_; z1#{nXp*PPZ2oDx*C5Y3RQ!l%hDA=~-(FM=HpUhnqXe?HdoSb`p>%uIGr#};WJ7idD zkqQI%<x8JC{}bV^KFudR)Jt0<sbsmW>p3r^_s&i($#=||rE0zmzPPmAy*>#Q>ERD_ z7we_kf)_$tkM$4IXp_+&aIhVt+Ji5T9bM6XC0>>7`?H06-0lCxr+qK30c17!Ag5U@ z{a<Qeze)Jsi=b_#hH_sum!ZYKrxz4D;ZA=Fuk_zwHQ#C>14Vo#ifm7c>7WX!iO%-s ziriM-a_)dFyBP4^qQbajFw!qLFu7-IH*nCR_v7!&n^Kt;a-KN3s}vU34DudGA*~|b z#GueFxwg<wK3y_TvV;N}+sZC6#5Ig6hRTYrC5;0(%H7>W+zIzws`~EdSPsjO^?tH( zO{RRm%H{D_lGDGL5gjUEqc{3m!X~(1qKh(MV;UONY-qf3@+4;OuuOC)1qISaG`jUm zh~fqz#d^Rg12wbS0R9)kKYpBpH;j&DtX&cFT!FLOly#|9SO3{|ZXDI{-`-I#Z)pcK zNx@zIc4W%nob&&!epC^4ek?SkbfM7QWiC{WU-oHvBYn(yd;8?MEVIHu-r~9ZbA}O@ z9{;@S#~f0(rXom2W04cN-e+F|#g-Bx45?!T{p79rBK{i$JrLt!Y(W}=^Ex2{;{owH z&swuOT_?uCw=0y0RGo?<z-kNWQqaY?okm{i_zzYNj<3vE^2>X#&X;qoS_O-D?;AkY z(r6>QMI@kTy~F8vD(w&fC>jTHri^$cabm*$4ww$8^Ue5Te5N@zu&Wzr;@LS8pP_%D z8nv-`e$KHmfr^Z)Vn(*jB!)NRu1TdfzB>-`tq9MRpR?oKqR}5kqZ-$si(&UjI}#Sl z&l;2ZpN(mnCw5X#u4lGhUhtA%e@V(SU=;vY53gZ4_fW3&jt#azR4r3{+oWjmpAtz> zPo~&fmpfEvVRb*p{rE}Pkm_pUC-h5~G~2MuK-uJ==d5^iZ&T%kd%s0$($w97aKGpa zT%CMAa?V7Igf_}(Wm`GGE_5Ak1K1aQREO~Wj<Uh%l2cRyO<~aB8W$TRq9(!4ay!M2 zzk26m|Duo8ZCZ#6@#i30!QGg@mmHXNp9wSHYLO6T)L53ul>+5EhLsmi&xY;qj0moF zE9>7vJK>So#e(8-$_@U5&Xxuwwu~OgyfR*zOuN<C7+`g`A?c>QvbSQrLwA)f!M>>F z2d_uT2M-h&F=OuNTq5E(v;`RrEN{+Bcn-RpkI!Gw1wj^h4{P>G*cv>xehGd(?B0R< z3#Vb9I1RDqjj=<|-22Asz8E@s&*txKQiQ((#@l{$d~Fw+fo%MaDdBQ^t|K9Cfb0iu zZ54I9Lr%+TAb7w*PR{un0hCv(cD5r|9U)+y8<Ob-?WYU@76sJ=K9wBE+oZRQXt9Pc zC)lGt$*jpJ94}TLJum)zPC4&_R=Qk9?`7uc-lyij%;T;-jP+TPRCE{$((T?fbi)n0 zoPnvPgIGO8cFEw-HJOd(=1VM`@?fQPpQEFk#(zef3t*Ygg$p!Rg)|bD?$sngc1%6& zzmg0}jgzQvE+VNTy$t8JQ^(9f&~EQ<)uXx;=Oh?`U{G>DL0YR(b?0!_-Ot}2IKC6? zKfYtb+BhvZ`gX*)MpOOZ!89-Oj`e3;S%y<E{@R-E;f!9DgS~rm#FrNPJ2M{(6_L`A z{8iDEkx`hTMFSkd2@x$oN&Z13C*w=Y3&_DcTifal1096B8?Ixjb}=h5>RP3D#rO8l z<?4|1`4kYoU5D_%gf89`$9I>!JfsHA>ruCps(^Sl+{ko!D2Q3(9Y~;D1mwiqxNsDr zbO?X8FL?cc`fO7HI`h0{|0gRT{ty_R2zk45m9vflqz<@HR2OQu=<!TH4v9V~pi8nV zF8C-+z)45w)n<4OOi!e7uoJz1)_mb50ag|Vn&r030o{iW9P&%PIn2h(r0(r7x}qAw zb{hi^Ic7aL?`(fvHokpWUYa{)k*KPn`m&%Oa&a>;jPM`BX;9;+8jOC$Z9EP8=v9eZ z`^}tH$uK>FziAn?Txj=Iu37SbR(NL4idX32I$g!xH5VRfTB8h&kL<J|vJ4x2W*6v& zKv}y#y<QuS$dsyH$F7aI-yH~$)!LG(|2cqH+zheXTSS)^OgN+N&X;LCDwqyM66`iw z(y+oi%T9-1SaaZl+h>6VYe@#S@t+_%p_%k<s20+6gnkRI;uj<{b1^%|$h5=Rz_rHa zDp~0mxC?g-bT2$)t-lk7geDt9dy&LoAL`jT^IX`uM3hRuMkpR5N87x&PCV&eGkSP& zUgPKnxM#|bnz~1`ZT6UkhaLND)7(u^x#=9%HL1kPRad2p=~b3~b{kd}kN?b5FuMyn z)uf}q-29)@U#$xqi~3cx#_4f#HMk9zl#Ly1dEuokYDp_2&u3TnYgJBcH!V;3KL#+4 zEwRkVVSL2c!}A4AzH*3q7?CruLerrh?TS2iJ%OTKYZT)MCC~P@&zidK2ha%;ny1Oc zscqW8$d5JT&M2<(dJ4iM)_BnN=;Tz#XB=D8uzKoZz<H4#MbOV|G}KJ{kKut`=C~_8 zT=E|SL)OtSMmD(rKZY0^wKB>B4GCR3z>gj7=uGE^PU<3PVUgG5DG}xHyEaOHW`%#u zm%&q?K{;j&p1*#SRZ}W1F#GjSDB~7J0V4YpaDL8utYJK~?f(bDE&u^($4M_PRloY_ zoy0IOa_hHq=z~iP4<GO`zqmNeK({s6N|>2*LKn{M{O`>r(Q?%Jr|YYqmmkr0#lBtC zxUP2L1=X#`z)kLY6UoZ<^wFoIGr?gZE7Q&iydxR7cG2u-@rqZg7`KpMf(~+gWn^^g zgz4FbPYZGy$6-E7-^)54^>Z@NbM6W&$XxRu%5N@vZ{Gx|w9C2wErnbV&g~ttNZQ(F zwHn)<*3i24>IK4>sxlyK&wm5YDG1m%_|u<c`X{;5HU)d?Vx%m$@3V+)!awhFP!Uu2 z?;I(d1hv$RkWg}g9&$ItG=i^d6~dPd7r#v<@0U7uDLuZxf5UFE?`{`%wbr)7=kt5- z@GmMS@Eb-w=!;9M_V)s#h2q%<nzgK_iM!tjX8XhKIWK?$gq-GFqb&)_Pnx!&tYH(` zeUeyeFE`fzlX?D)jP4>|_?OrlVj~wY9CF#OIaL&rXaikWwS9&23~dcZW#)%!&aQ0C zf7rPq>pO13q^`R)v7|F?`8-cj$cnY5?D6sF3;HF6M^W;Pn8-CZ{bij>8(Hi`flBuM zgKLs6<FyM4gQ-?xPL76(CHUG(n(3rkIcq@lRP^T%gZu!&mkmQr0C-T^KDgI2KVA8c zb{xkf@on6`-<w-HTje&uKqe0BOXCZ#JXn93b-XEDIW4>Aku+G#)gdX#vp94FaNBii zo3m=#20whqAtr8|ckOG{LH^---&F}U8x07_M>nxH__Y(pdLc+DT`?*%AB;!2$T9lW z*PH0{t*&8Z)O+e3L`GjUz5m*R;o7^)+YU0nHA6a+5(zb#U36_)Ei3$_>^|PX_ca!% zFf)e4&r4`x$4k`kqtmwH2MGlMnvh#jkicEYRFCUBK$$3cEouZPz#H*JN_y?$i;g98 zUZ3)68Q6T?XC*7&Yd%5(K?gO{S44;FP5hH^IVTk$dguYC85b>wdCTE4l2R}Jnhm1@ z1WSx7%qs5}<x^o5<O9z3+nbQTE`qGQk2VU~Yd<!zyBF*DUe1EOiwaKAUDHYV<zGV6 zcg&pkS7VZfMl-|OyO)d$P?r46njB@$llN_hvZuKUdzXOi6mx-c$X0EoTPHe8*R({{ z%DQAK|2v^R1C;%5NoDbODwgZXvl1(u|BT}Sy<q+^OyR&@cSyn2FF?`o?f#47>#5%S zf4<awsfsIF7mD?H)^#<5Ir3{QO4Q$b?NwE_fSegg@@u4izj36Pqly<ytUJrEa;~uw zW){G;l6C*rv0bT2a-x9366kxnq9z#guxQ{Zbxyy>Y{&Va#L9;A8Rv~D0Klijz#tMg zJd+(l?%fJ}vHo%<#6UeOBtv~r{v)b~AxWe7Z<EsP<dT?@Yi3jB5+I<JNV9)f8ev|5 zoyC&d0x7K|fCg91R+|LZBvEI>FfKdKk4h$GTL&V7;E{@gw+^ao26yeQ9VCjsGEf_h zx2R}Js5E@=&#yNx<HD@|sKvyUE8wPhkn8)lf0Ho@K}L)gJBQizW;4{!()HN46Fun0 zoD{Dna+Km^UNn}^=63$Hq4Gn8`dVB4BWKd8kN@fv?Lvq!ah|Bjd!oPb_A^T7PMY8~ zm+dE>j;xvgF$8j?wkHGnN(0r*dHWJYFG?2u3z=E|w^i)Elo@sVzSmsBwcT5jfzGQI za&wm3gj&L9Bd;_j`93<yy_znuKR>j;mJzQmsDa84%yZ&as3mE9mJNlq!>eTzcY=*r zA<jzlzh8A$Ujcl`ktT-Yw4kC0yrvX)_uVsqS^byNuN}AY#()<zLnNo<PkgVC(9wx@ z;YnDFmmzx9dnD8b3^fY^;y7HD4J=ndw;mdui}69n26n&<C&fEiqkTjoTZiqMl3a@# zl7StY?gop04%fjXb(YQY>73MmC6*%-izlIli>zZn_|+e^8#8Q9R>1}_;p#2}ynvk1 z+-^PQI-$>B`%5O}-;oP=!pnCN9JGp*+_lteaNanwfmv#!2%1{EFedo1PmZtoMtsKr zbLEL2$8nH)<=%FiWz%b(ViTY;Q`Z*GXLliYH4PP5e4;YAQmRmX-R2;-m3;eScgsBR zSRK)k<@QywP4-{TGu{`G=e@n%wyZg*1Wpx2YTQhoZa}%?Rr5kaw5A!o2J}7kX?>F0 zh%41*aOcpLC#!^6+O85M*>v(HY_`7K%}N1pW}04B_|sPF6syiM8G6Ai&T>;GYmydA zSwoiwxa)41&nAoob(Husk9=9IqAV&ab@_X~-H`V8nqYVxtEI4Z_dfh#B0E3wZJkcs zui=vSXjSuZ7jNq?`=|j%5hYadOgzNIYnQmXt@7{wsO{_M!fOwoJ6g*~CJLBKJS3I( zTuUkh*mHxfOLQq@TkO|F_kaZxS4Z@TC#FRK-fdn19rNaKM#J-iGf7=CYn%oZc#_+_ z+SKWU9V+b8s?SeR>#H-b^6yA%<)c4#Fa3$+>5l~aU^<NHOTfhi$YGw4%Kbz0;nHe6 zMJxWbsS--*$3|O=n+biGIjdlX7{4UaCE}Am1YPv2_Nza-w9%?lxoH<IIK_c$N+T$d ze4Z&l`s@O%%A~7RWK4~!)2ziCiPB{Sbz3>IV`});mVTi9$#Gkz5$ohOqWMKz!zc{X zcg4G?*u|?+|9bbyCvRxzJ%p<j+{VL+ZMJUZ^95;LPL}9)Vjd{!E-1+tW^}#Y251@H zG@L&}G{KEwQST0)v<N5;mxsw7cpZ0e3h-5JlA5CxVS!E?<1_mNK9WMwZdR57zqTU& ztIW##+C*sC_l8Ilsn6qjz8+c6=BCt(jR5-?%k28(DpxbFJr~nK8Qm0ufDPEPk|gMx zKDCjthasnmn44fNZY>PE$i<6vUE<a!&cLST{7eVC){c*5-`n0JH#-Y52SkQ=hfcd1 zw1u&#I<>K|zkI()xX`$<7CrS)7S(Vp7G3JP2lH$%?z)~XfDZP({>|0g?Pe!m(haSM zt;M%P0naVCUwhQ4E_3LAkMo@sGa4-h`Lc%)ma<b!NCYb%E%m9TUAbc0!G3gzu2RIt zP$UTK!=Y%bY^;sUt&VW)VXD`)u<m(EGuWi<`5zc;%$xHJTQ<yPxlaXm=xnULCtRtj zHi&rxE%RkDve-=MWp7X|>NU207NZ?e%W-<{L$8z>npqWdwN(9<eeW`<D3uZ~1WHbd z9h%rmY^<$6*^cS{k?B(iPH`a?e!_^R*xtVBD&vyqyJ`Mv9sr4*qw0hXAfj7(47J)+ zFV~`%8&(k3mO$T21$mzNHbu48DglbThMI~s2}+ls((Z23eiG7U_|O2dH~L|hwy9sE zWkT*KNXE+*n~&zIYovO2W3(TXfJz;$N@`Mp63V<*$KBT?WD?nYN^!2a`T@tk8vIx9 z9*YD_Pd4Q+4+Bo@CnK9SZ-igZ3(jBav7hQY?>Ew<p;&+}=nlzMbtZkYjC@J$AC#Z$ z9*Iss=_Y`ERo3e5MZ|c%kjd%on*crtNeQ{9hkuWeOmWnIQIsNL3IriR7UR>`ogodL z4b9Rxr@8$W!Nem60hJAg;WZz~D*Mz5!YDfI4rRiCj~xo2+W@q`Q2F;>KF6WpmBpik zh)BfR>7a;3tP;nP_t_NkCGhwMh#hp&MD{YMqS21kY<nkTKa<6H(q0q|73EilAd2wg zWvN5B)&0|fP2XLBpv{5rlmS4k#e&@Tnm+QEe<nQ$*oB|}HYAI6%hldg!7-K4DHkm( zE<qOcZz>^ruZ0Zn<-hUa4SrdCKO3K4Uz%Qlku=YhH=ZvzyL!Byig{SGmR92=@~nFe zVJ0EMZEL<5?7|sYu3s5zQW!+92uxP<xEI@%XkBWO_*de74SH0THHqbHU7uQblWt+h z7*KHBF2JeG`bns!Zb)WL_@=apuJY5(QR@9E#<Ab>Gjkj+pzmnOy4XL_KR0j2OX?ve zmMcwCOVj1uj<GjP0j)34QF}jH2V48UyTNYQnlI>6Fxn=Aw)>R^{d>|O+Br*<q4n0+ zoRErPAATs?L*C%SubtN*nI`I8?z4FrO|c1;9$C6m-wwAxw#x^B?}$Vjfd=@mC7=2N zq(~tB7hr5n)*o>j=aj2j99s*!UDY?qA`S~8x&%c$g&6oc2v=4~zPQ&ZYCV?rl*-p( zm3SzpfBq5Alk_z8KO;4ZR0Haa8n9imDqS_$6fd4n?kiYQvvODD41E*k7)Hl4vdA{E zZdy#YpYab_OdBF7Ozx~>y6)>Tvej8}%Tj8FfT5mN3UYQhj$<d;s@=N;GMc|>V>>Px zD7q(zE{TqUrQj^CyWQV26uIQ?+YXd**s+7k`tAA6jm&v)VK&Y}##LjHOQp8_4cNwQ zUCV4Vuhq85x<33;y^rfj&(y$m4eat0j%;}yIi`%ZqHfWe?Y(GiUHcsV0;P+teiy{% z`@*;pvm_6$%*kTmY*%r7=z#{hwhNnlsC?>_<n%CP9e~Ps0WFlZ2TKL{PT^<vtSfC# zq<6!c_1td~1_h)NC}F>`Ol}Xh`N;3Q^kam%9mMXG0V$mf?=J-o!W^(+M|K4Rc7|H) zq?A-_S&429Ty1$vC5>=%OitV{{(&CvUW}WOfEit9;;S)_zNlRGsG3w-yNsipjQo4! zqiT!tKo9HJY(M?*%5nS3Rx0C>#!!*k6hjU94m0auk>AjGGdtL;2I))ganBjpR_zk0 z%o){bnG-W4SU<0mOB0h!n)XU)PwhDO%X+(IaN(H8dkfFo)Cjjr{<A^5ZH2|pbX|OB zR-!e!#r$<%#<9jEh&^fWGDDL7znK>`wf_?i3&jAu&4)*81Lrp{I<G(QL9q2CiN1fA zQsz0!_C&Z+?6R^+nI(#khwyeMsEl4;$EsaZt!~gbTRYxSCqI@+8npduSCf11=44?_ zlIU+S0kged_LN5qCB;s6SieXHEfzGu!T&M*;>Sw)%+*f$HCVQD0}xy|wdGGa_jzyk z&v9^1_kPq((ASjTs@n4WU@@Fs4>_@EmOWqur<lE?xYyd*E%i<ehsnDbor4Ac2H$#n z^RY&bQqp~W1-bBe2ibw<hr&k`ld2KO!tU0Vk}nkP$UE*nza5-oJ%ZSemvPJ(XM!01 ztLlv}c-$;2^|V9pTJJMmF|m)&xG~AuuKxRB8d~K-nSIqn<0@M7ES=XFtQ(yV$T!wS z#CueA6g%o_bL(w<|FY%yY3G+v!DXn*gpz;r<eaCO{&uJtc55Y=G5Xy*p@syGxaSPA zvJ+{-KMzynkO@MO{BnBw-nEhq&5dZh23+ev6j+Tg(j(ByCxQ{y&&bar-$rzlKIutI z{d*mo{l)Hm@#R0w1<Ipv8z5b-5&F~+oZlcb7+U;>ArNgXY#_uZIrHz;g}TIvLo6pA zMYa(jS2iE+Fy7j?Jj<*q6oPa+IDcum$t|Fu*3HHw?WAE-c~0H+*O3$z2y^AYqAYg+ zPo9#nu(fsCx&}LFP$uLt0GArU26v_v+&kn#BkSK@Hu!kiR4|zT#szwS`+{uS+kjXf z@sj#=HCu&geg_J8wUWG=t&-y%(RE*O^KZ0^52|-E7?h8zzUyC_Rr6`pzoBAnXcXFf z`Q(PLf3W(CF@yQf)%p|m*0w-_g;A7oT}PB?+S5nc9nmr>ipObssV{mq%oa>zy@B1{ z!QF;SJC=tq`$OKiy3g!wf#?uNtF0m97kP%jI$|Mj9eTdJ>8KXFr|Gd#7B^{k-X*9u zZY^)~a_uIg4Xl}CNmG!t?zXzJ7NUk}<@xKvf?9ezZPb8^3WmK@luFRFlJ#+_i<waV z%8NKc7`x<38XKE<&VdPGLnMk3ddTRz)BM3v1@dW95+YhlDj^q8i?6qK-&B}bHZ&^K zyhay{g$@$XWmx;$nFY%{MwAPg?~{g@PWAtQ!MIP4<*lh!-1)<|CzN9+4Ako0w*{07 zYPOh_=*COfdL=mb15beB=A=b88!UNMpz})Ci(W_71TRvaI7X^E8_h^r>Xutrb?ukm z8$HNEEe9p!gGH<MR{7N**cZhudvMu6CdQfY0=`L)B6RN6BA&*UJ`I@m>_nzww7FtH z*(h;CG58!1qXTPlbqW@sFIaSNl)Q4%FVxb|bifT|rOSn$?qu19vaU>A2^F0Dyn+>r z9ops$8c!wHpXTj-xK-N_Sr0Lk=@_&E-y71c$LU=XPL>8SD9%pZ-OX-^<lx$>Kik@G zD%}M;<EbU?1xxc)I!#J;7R}01X5+}RW8HDy#s(Xl*8QCupEWgIA+0<{v3_)5V_dtR zuJb!Zrk4(zGO2~ldkK^(Zkap5q1xT%QIi$i&@W$S;^j`;Y#u(=5&fQIu`?(&aRhJ8 zMNZuZfv~;<iW1%`U9^eR`tsS{ovqqn!H|F_oyj4ODoBdl_MfgJ{S+{4Qo$K3?K4W7 z27&wuV@oBNCl{-@62??&q2^>|$0slQUnB=Xu}$Ttf!Wq&Z1nm$6h6G=&T|6U_}tnj z*pW6eqO~cPii`YF`RV21{&GHch}slAlW6c>_`ZbuL}iMt_b0O%((2m&S=qbUKwX*D zu2JasN(i-UaUrlU{67X~mh($J&ud5kH-(v(4&keeH*R@A8~6(_zMi7wv5J^AbzIB# z9qQ*SMX&tS`k<1=lMy#MpY6RNHKm+abi8&{m^NUi^>zJ7IYuGWp^msdU6-WrVLnRP zRQmkVIdv)ZKmdCasC>4L`CJ!QspIX2kUq@X&H}7=QtWP&zvKz#!;;#*I$NmWO%s>C z<?`ULr)HjU)bDhf3-M^U+&|FW$!&yF?h0V~mBH`s815Kzn_lg;w|5^6NI&93_>n1g zuXV&=R(8#3I-74X$EG;s%|==7oAga1z)sR7**6&m8F`;gY~+@7_3m7NJ+M<!U%TQj zppr)<Bmh)*&TuPc{8{d<_S+Wg?#q7`6h42-xxOiwf(XO7)q+NDVsUMsSbiOg5W)Hr zrpmfV@WXz1fOoZki<v@DFh10Weh$`2v98YKxPijZ+Cx9Jy9zhlR)pIgu|YikUSqHO zD0lyg+UMsMZY=uCu+!h=74WsQ+}x#r-1dufCln^Q@|k_9gz>M9;*~yhFVvG=*MhB6 z;H|Ehb&2e_$3IVq4ce!iXv3_9p3R#>Xtmfy2F+HACKoSp4%Q={-oU)Igal4d^u%w7 zSDnwRDPp{UHO-zPQ<fL0N3<Ddw5v%-&4?p;WEoFz9AG<<-k8gDpFFi;n{rlH^Yp%5 zw682ZyTeo`eC*hm#302N#~0V^$$W0w?dh?>ww|R-ZqO1=)}owWb!qMF*d^q+2zJJu z;0tkOdVc%Q_+yo!vZ<yo)QNNA$AA{OiffY>^c2J{-n4l{-^Ec#K{Qx4r@Ijl5iWJK zuifh1eFda+^uFfAfynXefF~_Mda*k!cE7#?S)!wNs67GGK;biDQ|8^M{*HioWZpGV zz0|+&?#cBBcBrd^j4e##{|y;-4ZB$v%Pbb;w&T`e)F&$&R(m{16<xHlRO>iytWbo* zxqB~G-@wWpdy;6`sl^k*F(vhB?L@iQ3Oo=jy*2vsH&F-1GNjA1H6$U-+~dmE_|;9w znAH>K&s+>Mx*CJ#=Tvx8hNvQp2bF6^$@h7rx@;AH%|{o{Lmw;h;(B){_V6{D2d7CV zk4qMtuM6e2Q__%^3JSeOR2^$6(@^`UNBM4=(D;r67Ou};)5$_f+6M<SgevhC`6iCS zweAr^f&)dL3>8C#Hsl(olhG^os;N*B@xt3nqUFV&<IA-^BV(u2onhBD_Tx*N8mVfK zI7m#hr}u1$V)c3pko%fnV&EM*@^?NX4{SD*UAR_|D-{$tu1NA<CwjEME}Hs&){7X* z2ar#zVeX4n+l5o0bW8|f7&x4VKkNF@AmbaVBq7@PBii$R_ae_)&YyprcjP6yu8tjB z@5~!fb-m2URj>f6-uFh_$<f%MZbiUzy&oZi$&Cf`8^ea9R#<n!prvYabgqCppnRO= z-ZD6HlQoTKlA*4&|KQ^}bA(-LCg=(CEU?x4XMdC$Q%p97hz&DTDabZ!ZlRENY7);Z zG(W}{cciLV=*xfx(tz8FGsuzt-}`NKwT+Q(fLY-8FYbxY{;I0xMBIEPlrtVQ;;!Jj zrnV0&KJJgHK13KoOV;$n#uffyp*y6&2!0H0U{}0eg@OH}YA8(45$23;&Y{g|DA!QV z(3XM^PSkQAo7I~_0j_6Hfu|T4W93qA7&6xuZ2}6)?JsaGL@nIZ2Z)x7`5`FeL%+~# zE1lAEL5NQ_UWDVbbIR*FzD6f8Gu(D<=4v|IinDpBbeVGZd-3lbLa&E?FIFb6?c?xV zXvdmFaQT6-!;E0zPBFcN^2DMxc&R%+%vN>tWKk?wGyU{h8lpMcpnQ3tHzEhl4qCMG z|51AA=#NG=rN)eH9t`^W^Sj};&Tt}Drg2FPjmK-J*Gxkv&lb+!X7TMG!ZV2bM#qJR z7W!jDm1H_zEzmg0g|d(Y_dhvbXp8$cGg4(SXy=}Fst*e6#EY&Btvx*o5=6fjo&4y% zc&6jcE+yi;EKokMv9$nvmeJm<)0`yD%-YUmZ?2Fl8Md@M(!86ew7YwH<G_5J{i-HR z%IdfO0S_8uvTrj&fvTN_lPZQc2LvN^X8T}Jx&c&pbPG@OQ^oJnc0~C<|A{r+hVq*Z z*^vHY_!pG0T82<N^yeQw9txW=Z`|E(+!CcgR(3++*dvC;@S#r_Z;Xy@58bxw71<Oe zNIC!itn%=WW}nc@QVL}=6HDuJoXzESq5v`fK*evcV4t;HGfB9HZ<b4f|DZP2>93Us zVPjsWlL!AXNa~0<zHwm?zg@ev(DI?y)k@l~{QwSrUUU{Q94jaYZ$0{RG3A`}yIa}W z4s;(;|4mR@(Dw54_jF8?Fvwr9klt+(|6jL7_{MT)q1_ptK`rR$Ec!&8VS><{_dkM@ zFP-yr@5cqk_!kVlSANdD7y5QN?ZQVmlHtj-E7sdPx030H;g32agkF9u#exq0a)Vxw zA?Hn;Ju$!-4{+^iR;QS_E@Pfv{Loc!$>|GwKchf&;WB6uO8PSXyC+`Ry^Ov9q)}wq z*g*Wo!4;oOr8lnVzBo;Yk$V-G*31HbqN>+fH^6lSKU#!?D{KnZ@Drc0XLOWQl*16S z00=&yHI&KezqQm0oK;a#IkWct-|FRqqMCIPm|DkpsQ=c=+b*T68hFnE`j_p*UsC>y zl5Q3HI<})iH#xyqEXm85ub!G-jL)x6{KwEkq)|TR%HfiNmS>t-o<rx<&$LeAXU*6L zwST&EOrx}9F5d{tnAsh;rIh4K=?Pv)0@IxSME25J{r60cjcShZYHmRm2~*`)PUMH& z%GFJaTML%=$t6lz4od=C_MSH~Veh^aNnen5m2QlkPW`Peh|Eg}Bx|DiZrAatc_5v9 z(27zjV!l3UU19)tds?|9pIUmUtx^xWEx;Jn$7y0agq*x?v$pRys3tl%7be?;ClF<u zOs7I^Lv2^@80v(`@8$6$pl1f^tVT|AS0aX<UZ@bpaGB2$%6y&wd2E}x$~qbjdqyM| z4VzP4ccBmj*bZ}e>E#>mcwg1SNc}1#xKEo6-Vh-x^K45B-Q7?~SeaJW+FYN^`81gz zb8J*ito~H)_KGKkClm#ufa14r?justpu&FL-^vk{z~k?S9_PBYZ^I*zs$QvjK}nw* zi0M_~6TW=xFREw=>bP^zR+m&uDGHPVj!c@>zwT}K2022Y*PlX_8})j$ZZ!pN4z%yr z<_I5zPWHI79)Oj|!qw2VBracGDJLz5x*@;_?DunnW0c3u@$UY~kE{*OZx0g!hTA4L ze&q0^<bTUwH)S<clT0y<9R%;^eEv@2i0Sq!zRsn8Fxtv%uI*(_nC0%4G>Noya^hUW z@t3ZLW!J7y6>KFBeqj&7EgDpD<kU&3^X05k>5n$@#*%k(&qOLQTikArO@_Ts0$*RB z2;BOS(O|WH)9Ci%afUVDYaa7ytVF+?B3pQnGCB)9zV6-ppk=u0p<BWg98X5Jkpi9Y zz4k`DsJ%7K0%VZcSWuda9B6#C;UE46DYK>kxP*=lc&`{CJIl=*xRpA6*9)lbZTI2_ z*TcHz;y)n`WiFmj&7%_9P-lCOV1lQ|QJ)#YdaMdJG^z$gtuA@nv4${iEWg|s-#yFo zEIa^*%5j&OwjDV~gNApEd8!OOFLmoO+rOPnxpeo>m!D-iUiMojqW4n9&G}@7AxGm< zrX`O7)+p1JQQQ3n+~8>1TmXe*QCGPg1Cm{$3k$*eRSmO+CRwl?zz)#{xpyews`hW- z<L=87jeIAi!JvepDtZ^Gkt>lHPwL#RC;&6X}ci0TinOU<vXOX7>xlD&4DpvNIy z$Yh(tZ<eN6($dKu)izzhRubh6F6!^o(FZEuTFoy_D>`<$-(Pi2zP+oHk?W1^?U(8t zJOLrP7#SDO*!@XvMed>r%fZGaw-d=zqz^5oHt2J^JNKCLlUCIZtS0K)f#!&*`+?qM z#Babf$tmLENB5dQS82%kkBOxoeZ7v{7y2ZJdpAdp@cLy1yypzNURMuVBv~}NjMY^6 zlgU*y<*9cd^QgkqS1OwI+K9sVK1rexw<fIHOh|cMm(@@#7!UY!lx1?@xG`@_lsQqN zz{A&9s<#xVJrD2H#{UKW0CEs!9}COH%vi>xF`Hp7hTGXe#D7|}24Ab=VMB>iB#5@_ zPp3%=q!YxJ=8daaa~akq?UUQghN^?<%IcDRwm=&dn`NRQVyOS<>^W>R<mJJIsb&tF z0KWl~jlFPRxF?!wV++>kOX$cTvfly-e^M-slN7z@N12~Bt#;!$sFC4rW}e=}dH6_8 zdL)&Y+;TGE+bK2$>sp2m4R%xawa{A)O)8x#AV_pyMaFYKC+&Dia->8@lw_)77)&n} zWGJN)tm)j?82IM#<T~3D&*kJz_sJd8o>FIJ&W7l???b}1kt_7gw{70mLhZr+3L`iF z9=>ZYF#VT-GKoy=c1#AEJ%?ypIgIH8voVgOAPUpOY&wNlhGce`e;HEF9XDw`!IpTL zzVm@%waqT{6>%O;ySEs&1ZM&&I^>f}Pk9d9j|0X6TD4QBU@-W~va2R}*=SQ;yJNBp z?Yz=eJN)kHsFfS&ciPh5-~NnV=gM)vN(&#hsF<`FFbZRee-xDs7xoB7){M_lfLf+= zQk$1UTQZh>Dl&Lfke3S<rX*BMvr(7leTL#~Fe0L3y#7Paw+CX+l*lJWQ@nsD?Y5T_ zLbM9)T7wHkKRFdH^R%y(L_xUjHP%V~a%}h_#pF<H&%}E7l|#9~rIrjnLP@*I>DzK? ztVy|o1Tl_;yCPMSHr5ZcUF5UckIO9Z)z5+GejfG!)=HY?7r$9nz+O4F>V9CH?B|L8 zO~F&ug{J5*?L>86?<s)0<*_Du^7QtK-6(}JD)-CYN#tjPtL7S$vzyHNnj4NcnYr$1 zwWhU{aQi(`Ji;xd2zPO$8m)k+RnL`*_YGU}1bVHJCerB}yei{Xzy>dU<8*1{Vhf-n zzaGU@lTDp#d@<<G{~yC60;d7nLDgh@&Xr*ik`J7FQG&6JNy;m|0-TSq%W}mm$+usy zfmTw0XCEBj60M*WS1(h=zItihn|#+J-%0BKp)#vlO}^c9hB9T<f06C5<kcN15nPd~ ze2b<fjqXoQAq@;~$GqCAcgPrvX605leAvlT)U60@b~5aH1Cy~-^=jDj2+x*~Dgy^u zon8$-mJN}EGs9a{EAS1%Q%iu?cZum%25o7;H+Wccg|yfB(=9@08sm#+YFGJAFFj}B zCe5V+U3=CQPDe^n`92^DmeXceO?=Z$GxZ@cL0bL=9=$T=FzYuw#wi_`y5p*)8)Wpc ztlCiQ#YhOt_XVEWFB|x%&%R<YI41M6?h$zP_l#BIuCbKH?ri$#W>Lpx$1CV-p`fm< zo!1)y?>MeM*OJ-t^2Cj0yZTkT85uxfQX+ZNZ&e8LN^SiFxzd?wE`|JhXvw%Z5h7z& zE*7k!Ml)^KR5*FKY1H;~0~TOGd(@Pv9_o17h@E(nPg@qaO$U?_R0$=MA4=#MT^am* zr=z2LhT{W~VPbJwq+tl*aq8Ou^?mN_=?XcYO-Y>O%j+&V{XS@=g@zJ@RGQR;v5938 zX=$B^oKtaA7XCGx!KW^1jsmAFO<RkrrZ{ooY+w369M-RL?L>AyJ;eU6XBgubrnsTe zOC|_G8evFyo6-dDplffXogDfk5+Su3WWMcdXxr2Jbpl2ZZvH@T$gJFbseqTeKWCv; zHt85ujEI(;i6{gJ-JVMQM#6GQ4DU-2Yvm1cz;sbKeF{2^$|okc;9l!LNS(i3tP!}> zRX>d3kr>7rhpk;3p1c*DzEZy_Kx<DIGr=J!G#%23M~;A*>)77|RO^Ff%C!z*^WRqQ zm|0b<E6487`!Nc@9{1HjCJG<-)w=TYR7O4}?<HjgLD%rry7hjNoaSXoB{62h?^e#L z9$S3hA;cx8Lty*48MIo)6(r-z^zoyvO}&5fF?Wdya2{&cR2(h(=;L4NU#n#bx!m>p zGKGM|j4zH@q$wd1+Q-ptKWwk8l<r;?X|j4F$20S@esm}sssEsAHmM;FYCG7_?6VJ1 z#4Os|h;W(D8W&CNR{AIB$}}yu+rfHte5gbtLX*%p=iF*iVGB};*6I~nS5Wc&<WWsM zIqWAvko0aR;YbO?G4WM|6otZAF$QzQYN;}v%AHOl&$_c<h07-S#l~b=q&|y|!t@@d zU(V3WXll?7A!Q$nyJ~@<w~4h4X%rQ+S)W;6Ro{F6C@Fb?I#@H5lnXL_v3X_u-;HY_ zni~!|H>#EVYHrgtOc89h;Al`lPEU8VNt%Y%0AhmMiC`s`-CCpkwMU1~_)9nftDh13 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�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 diff --git a/.next/static/media/background-newsletter.488a0204.jpg b/.next/static/media/background-newsletter.488a0204.jpg deleted file mode 100644 index 6e4e2a2f5ddf70a32da7de59aec87318cff31396..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120411 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 diff --git a/.next/static/media/background.6c3571e0.jpg b/.next/static/media/background.6c3571e0.jpg deleted file mode 100644 index 1a31e5e6254f539da6ef034aa89f7e73a104a705..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145537 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 LS6{+swx|9Far+H< diff --git a/.next/static/media/cathlene-burrage.1651afc0.jpg b/.next/static/media/cathlene-burrage.1651afc0.jpg deleted file mode 100644 index de002616ef3905662959d84a502094616fdef303..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422606 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 gzGRUGu0isylB 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 OSG=#$-QQ2X;Q!goA|2TP diff --git a/.next/static/media/damaris-kimura.5df6b6b2.jpg b/.next/static/media/damaris-kimura.5df6b6b2.jpg deleted file mode 100644 index a185ed242b98cd6db63b00d44de8e155b1a51b5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485025 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ℜhJfF<*pgT|Xv^ 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 M4=#4z|8MI50BkYur2qf` diff --git a/.next/static/media/df0a9ae256c0569c-s.woff2 b/.next/static/media/df0a9ae256c0569c-s.woff2 deleted file mode 100644 index 072229b870650dd4ef5370a52c6aa62b3a9752c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10280 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 diff --git a/.next/static/media/dianne-guilianelli.b4c5891f.jpg b/.next/static/media/dianne-guilianelli.b4c5891f.jpg deleted file mode 100644 index 58e4d4ac48b18f9b86db0056f92ae958f1171f47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 402053 zcmbrFXHZko*Y1O;SP%poO;7<*iU`uHih_WE^d>|p(hQN_6GgF51q7r<q(n-H2qE;S zbm;^L5Fm620Rn*l2}!v5-}laYXYQvv_nw)2%9(TK*?aA?*ZQqzAC4W)0L~ie8|ni% zj&N{X;kW_-9O40b0FM99>pu_q|9k`o$Kh`P--#o)k3Qq%-~$}t<KX1uIBW%o0RSAw z{_EL*|8;R3;XHcmIM<1jr%tnPK%E5~;o#&va+LGfv7<-XcSo`R2OQ-)#(!1e-tlwh z&$+JoomYI5oPR?6e&wGF7K57-cU=6VPoBDXNkC9Y^19TGo6<_kDynMg8hQ^N>Ki;V zG_tg^wz0LdcW`xcf8pWj<sA?h6dV#77XJ2K%=-@?KgFh`eo0Hu_?nsZy`ZqD82+QA z^jB3iss>$KSO2%AwXMCQv+Lgwc6ekIH#R;oJ2$_uxU{@NT-~B<?@)L5_G$G0=;8oy z{`Zjmm$3gs7kdymjvPJ8d6ervx;T!6uz#F<M~_`qIL?31oa?#Yxoe7VPMp7=oL~9p zr1%|+%?mF6gQqS^D9uW4{YTpWRQ7)-Ec*XR*?$ZB-?}CM+?*Wj$>Zb$=mNH0$a}us zgDMC}a0gI-9|CknXmTbQ)B$?Ll+-E$LoKnMJ1|VV`{>GIhZzZn-Cn8_szOtlQSF0~ z-Kc672Dz<#JXP#V$`w9eaBk(^8&V1vbUW)^76=`&7R$mQf;FaeO=`}5%-2l*682Tw zP-Kgx%>OpEX-!!sKz_+)$Keo=`QprZT9SZ;BHSk!kf=apkc5>7iNi&<@LSW+Yg5Ia z=}@xdt+hl)b%`{s`Mj~cA77qk<fCcF5hde@?8a|v6CBI1;yaV^qFy(;Kr)i62`(cj zw9`8M5a5t!pqp6T%dfc=uG7mW`}y&dv1q6i9<IjtVYM`YtvCdXB&erYkcvAvBDTyP zXB*qe4NpCtqHUFvqyHF40L<VP()0I?Y{8)5L%>_w+aGoORTwIbRv46b0ynq@84>B_ z#=J-#acx)YILf&e5kz;XBNg>a`mhiX%pFf30XlGCt=fJaMLMHDA$;(qxt2dW<?>sp z%Un;xlR6{Z2=c~w%q;jSDhPz>$8_$Qy<wfI-(=Pt;ECYT#X`@wI<FFPI4N|$yyi)p z3l1e9Ic7-Zlc&iLFda)LRlrL_8=T`>b}uP(_#XQcZFxdk)z>*x>s;ypj}MRWziwm6 z=AvyHL?h4odkZ2IzjkT2bwXGlT&;2{lMC`XhbNQnQe6150lgB}v>qkLggPS!_WDom zOLbvlnW&pUFQAItvd_=<s5?2~R@mY_j4=pz&&bv!goIzD<t-&2eR7uj87~$?W5|40 z_+@Nx2;h0)rRQD#Ehh@vbqLTdd(=L2>u(((MO}wrWMV(&dQthx1rao)w!_Tf!}&dj z1Wz*4af2e6HS*%FMCXLR_8}mRM-}Z(J9V%JU1mZvGu2Ts5(Y=*@3(N~QwxX1%YfO3 z00po7v|~+m&2Pl@Jqv}$E3rpI1ZUz80b1DDxRF~mSF6+32vjBn9>%G6@<goRZ_<jk z2FrT**|JoW6U>;1oD8h_TyWJToMI-{jk>7vj_f{utEn8r-!xjrlVzAY@&p?CW~U!R zqc3Z06%IwDn{F2^oSoLI^5qiWS!Y423r8N6==aJ5GNA|qCNzWk<G{<MF~H}lptz>~ z9W1uuw)D5*rcuN<5EJTTDh1pu<Xhc!$Z|GCoJ*QIe)U9WpMh!P_NqbnGE$EaUk8Kl z90JNNT|{7<>My^p&r;Ig=D2^{P<%=BZIWKEXW>ZN^t)9u9G*p{XUQo4>k#>zFw5He zMo$8>FyYlp!ww-0xQFN&VGtZP_tM~GmUheA#DYo|42zGQ=qjUb$TXA5O0#FqbLPO7 z$$3o&*4Kv!MKIX?@c2*mOOtldh9Wy1mv!kQ8a2n)_^UO~E@b$c)#&6A=AEpVqv`a3 zD7u|a1Zm;rwPuLrpFi`u&Tor?d{a4ak_AuhbqUb)0|pKOc{|y^Hja^k2|Pw?QU_y4 zcj)0ZKS#5P(0`q$wl%+noXIV<yRodce7Q*zs?lfK)wB-H{m@`Y9oTI0XcJnPXq*Vn zbglb9?-E(RN6h<158v9y{hqIStk-5$V5HT&lg>O>#c=K@Fnwor9?{!_L_VaEY0S~` z*{$BcHx%@K&YZ0<o1T|iJOq$z^@R^?>XWX4yhaWIFsi>)_oZJ68OVNTdidpQp&sqd zwj1vrxjju0h(1Z)i;CJ}YOA~3w`SC$9Z0ByOzEA9^adIfxOv=oR#)_eqUi09$7cfi zk(<w`{iZVMVJczW5zhVnjBe|dU}rRDnFTF5Mu=&23jTg(ke2T+kZ3#bs&PA&H0Dyf zx~SgD97UnGBT=@8fDd)mGJ}aFW#EZv=;-?kd#|;8uHE40z0LT3FNbGJ0l#zPXPAnY z@RZSBRaJNs%qam<^^j`2L)xbb`)rasHg6}O?0RH*xukr<I!>qDQwENWqlV&hEH?-= z=0f8`9fW;YaNQ4x@cy)C)};|ZQjTJ@-PUkqb2Ak>rrw&Br0J#E<Uj)#|Dk5-0C7kv zEdxJ8j`c;%irZZMTyf8)dkd%5uam1SGw|W`i=eB55&A{$MLQV8C`|6LR6^0kU38ST zE|OT0B^EO+TT{)Qm8C!UfXCkS6&Dr>zp&C06X0%^=^}pV!c-X%+EGfOD2A?TQqahq zwZRa*&5%!0vF2eVH{$|sruukrs<(#+lXoh5j^E2PQFc6ACk&ya22-XKrCo@cO7)=p z<EYt_>()uTW#>7$3wg8A81tOHet2k)qS4n-G__8xY+7|H$bs4KRG&4wb;@kUk&J_y z{if)i_YD3%H7B%|p167lxbf^;&biK+JWNPaq>hHdcd`)0ME64`!DAT>Uy7*pjIe6z z70W2b;HD#ax8N3an-=KQlBS*T*Xin)hr_(bIswv&mm>U9bGUiZ-X9++Eyf3rXi~|@ zwED|-BWpiy6nW_e)2I8PK<xH`-tOs<h5G%l(hCz^%!1J09wI3*zZCB-q;OEzvkq7S z2sK=X<)HrUIO>uiVG*548H+X4&vuw%j*_4QbjqBkMEb*Q&*ZN$zBH+Q1N9k-!DzjL z^;PLqGn?r>R@3RCi$hN7^*Y(%f_>iw&mQmWI{}`X*@AU&!ZwlD3j9(GiTJwl3sF#H z|4t=nR<APkBtcMIE0Dp;fg#+@Uyf#kK-{NsQ5B5A&i!nsjK};>Kb-V{|Hhj7Lr2$T z_~ii?J={;}Hs4iS)#`a6UGA2q8>BBk1r8}~A{S?@1X&cpw~d00P04gzCqt0=Bhv2> za9Vgy1yQzoW*2rkQp+cy((vjds&<5Y{Vn6;==XMz{?qf``B^R;{yzAw6%C~?MNrU3 zZ;Rj&r}bt6e6G?W9^MISFp<2~X9&gy`K+=$7SW%OzL8FI5m74Bq)YUoo}>u>MnqG^ zoRHdH<R9xh=Ocpu%@mr~zggm~Ytc)GDdi%BrF?uqYrABe<=;}W)Oj*{Gf$!}L`cPX z3^j{|3b6#O<$|QDtYc4%iu-X+$E2K?SL_V#ke1Qv*h8LIFbcV#cJ7i!>SDq=W|0Xw zc0-~rHx~iPps<jx^MqreHrsPtu@<Yl7B#=8C&!z9dk$HllJ=^MF1#PRVl8|&X(#T} z^Q1IIRCx9GA;U6Fr$c}-otBg4ZI50q3@>7aUCwAd{itFV+sIoqGlsugpVt&TgldeH z065xr-BGZM>4|pyBA4(v-KFw^!0yj4byt>UysI}F4*|%=O+VCR(LY!#)p0z?DcIp< z<RPHMYZpC)s(w=Dl@9c%8!o(CvHk6YtkTM$+Q-SNcGi;?0j;J*XVtr=zswAQ*r7cZ zrpM|hC1q)G&pP)IAo;7xjni-#w05h}J^~zR?fblPu>4BwVtn?<g9IP&iLSnVM80O0 z5?cRCrl2|M9n7(TbwZ-fGL?`u=#0U=8r*@NwIfUco$;Ak_Y^2(P_fyhS8|u24@l=k z`gMEx=MQ;rO}2>4`((PkU$oRaQCB==+ECam%z}<2WNhxDe$;*Sa){Y9Q@#>#bWSFF z_lRMIJNTxHqo>nkQOg%RpWrn^p&J2ZI(B&HJxneJxyrm9mxBN)RgobWc}r9L->hg_ z7O3_BQh6N@0y@MB$3%~+Pph!{hva@I%zwTRdcDs7@$U;U{P(nb@|+xS4Zfp9>>@mQ zZFX~e=qzeF(PrOr%8_+)B~NJI61nPL&EztQFZWqo4KLr^<}l!^zG!>ROyNcR?5&ON zqDHxTO}CWi62xWW3l~a3wCe~OFhag{Z*x2_EB@vm5V_9~<HV@gh!USQi`KCHkf}8s z5O%FRBh_fIT`S|ymuuN!FQP9<xw$i5FGjX1mb<BHA}tCA3lS0FVP%m?4v9dcJfdoG zSrp?C&_jpM?)_!z8<T>u1;diIr;Psc<=>X?KJR<KM4go8C7fHRf5&04UBlnhx67A| zo<*CruBAJywn>NA)DtOWJiU?{jG94M96X2;I=E*{bFF?q@$^Jb7x>}}yJ@e>h1<}u z>qC{%dLY@!U%TCE`EuF?j9qk3%fXRS2kcS<jk&s~tHn}c^<H#QhnrlFQaRvNO3wD& z)u-_^yGZzp-ygRzyyN>vVd=-!F9B9<gXJ*U5du5bWmw$(2iFkC7l;jBzoH^Gc9;=& zW=+7q9s1vS)Mg@V0mn0#XU%++r0*KKQF{0Vj=o;6e=`)})sZRw`2O+jQl)9)F1vQ1 zV8@K4S5+3Lf}ook(8oK_56xEwsh#Uu>T^vx)6av1B)`yO{=Duw{o_G|*;&W7-4F3x ziGnsP;r?H*o1L1o&%?a60+tJ;9QY%cxuAu)yuCrp0NgY;G(w{qn}BNG3kPF5S6DY9 zxf=)aKiFYMmo0|4U}y3W?qDHrx^dgtTI0(hk3S+%Yv$z@&zdVkVQWhh#+Da~I=(cw zJ7%^2+6@wueAM7g?rDG*HSXzvmAaN6N`J{v5~}yZrZYtuczix3xNMW6pfx0k_;Lw- zVsll<D!FsQ>?6YdQPdj_AI-9_ImYf0E+HAGcB6&U&UWuSX*HBzS|cw+<~|kzHQTkD zpe#s+KJ`h4xAq|KF3N<=`rtVwr$&}OlnN9LC`Ys=I%c2#S~zy4InDk`Z9~<8QhJ7o z6kVr4<YutT!LgC15!64Vmg9k;^As5lCe;)}{#iW*Lp`M2uak+;eW>_4`B*5wu9zoq z^Rp)fKOUO>$Zhyp;;>N-&aa?oxKgfE(L}B~!@NtY=33|m0trfB@A-KpXPV||X-fqK z30M;_0arnX{?-mZKlv@^a$%Mi0>lg&rW?0pIZQiGIwwfaMJ&BZZF4x)E#w%QK00wV zNO`g9;Y;z#EuAEavxCz;FYXYEl0#pvm&hfD<_|#4Pti|Dy^8U`Ua{+Rnipk^o^$bP zg&oSny@y=j1qSO7HW!a=rjcI<jg9{EXxt3OXd{;2ZCn;`G&?gn_+a9~+~WYRkPCzi zpW}ImS8`O@3CDhARBux?RP`gskQj^+TV2LJ4~lo2FeC+$CJq5ujj0#icCB>uhg^Bz ztB+8p<u1w?BqMijPV4>fy8TJWV({*>hLj$oe!1d;%YAvN>RJ6Bsd4XQqy%NO(Gfci zA=*!s!@q{d7U{+)2MxA?_r?4n9b&>6dd(>8@!I8<Jv2xsCj-l0uTv0ixqfl4@_5h1 zjD)2J8%61wwWBr<WQ`+p4Q;wBtyb?*{^it{l}NdJOnE`@D-oGB$KQLsrnd={jF>Nb zdGGF3JK4UduSVncfWNcqM)b&U3KD~Qdv58K8Vf#?w19i@e&&8lRxI1l_SxAGYtwSq zaYOWsW~`D!7Lf}O)yyYW?jA)sX%i#k)E)emwvNC;yv8}$&G$nsOP<@G1K#2n`?Ztw zfF>qNYg6k{^@jjkEey<zv@N!D+r|HPDmhVeSv*>uIE^-e7f{a`Ze&c+KPmNAiSvwK zHUn=nNDp-m0b$ui!4tt4W9T38faW_X-_p3QEW;iLm8NAK#LxF~^~|lIiFGMJ?kDh{ zI+*@L0Pbl(Lf)sna4#GqF^NQHVP*<dSU$5~zllUE-bu{WHG`xDdQH{rK(Ym`(znna z7?br%-?@Jet=(t^0+LMz7*SaFP=k|jAhsE^6tK;D5jl7{|BLGqsk8rO&T>3;O-AZW z;4d_cp$=*I#Fs3r7@seG)c?3n-1;;saf5|PR>ZSkI{PjM{0#q>kD>ETgk2bHXaBl$ zQI`LNb>GPu|L`C>Q+lR?jNhuQIUe6R6)G~%V4B?AU;$Ia82swb68!e6#ts40)w>9Z zQ>WBL-gcDyCbNYVU+ul#HZRbDV{GFnr50WezXLR4Kk11)d)ucGv?B&wwzD#F1Y_xS z->C<&cM78Nw76g2=Jkc+*qeM-P1DHqC~hDTy{(nhA!O48Nhf{p{ApB`pH|N+%a`1N zbj~F8Ywd?lC>I|BLI%m8gO#Usu)jmw;ViL`nIH|xgq~o&hp!IcR!<i4LI8J&d5o;p zmM1W&MpP4-86u_%`*#S~w6FAcMWft5Uv7Qn*TG2@gCo7y((+BF0<kzmV<$FikDV!t z$ERCfYu4v^B@phGwAmYWL8^bRDS}Zibha?UN(pwOgSH&M{d6-rkxs+IS3oxn(h4_r z(9<7E?{<VPBsPXn$^Fi#(#56;d^g;>UZJ6Cgk2VSpS;TDtB^DQQwob`9N^q<KAe(M zrW~v<BQ0;<LN^zhxSsa?EJfxmhGt-um|q<INrNnj$&aPS#=2iegzqvSn4;hz!-w)| zePNg|OmafN(a0D9OBls~c3Gk0sf?xVxHoc<>FIM)@&Xdt(}r>M2_4Q;^y_~)zq3x9 zt}T1`P;(vcLsf|zo<k*wUVhXnUg!Dr_Vb@Pw*`DNiC9L~R;7TQb%>>TND~5zTf)pH z=7l+Qo9SS1^Od7`2c>ZTw%X3l*B3V)2{55LG7~LW^P=;xzX+tG$WW?(0|~QWT^;B0 z>$Z#iC%~@gBs5RwLupPR2qDIXWc0f3;QEG1)T_9~9QbCuUyk3-n!-LrV7cwSPVcxc zEWhX`O1Ug#du)a*H?99U$ihry^I_zRYuWxOHRxbgeTa6gp-c!c;UHW<cl@K?Mw0G2 zFAF^vRn{3A+E4*>O0f2F-t$?8_Cnr2s6TI6rLTXFi<6TLPySZfM|vAdUIx0cW*Z+A zydW&HfH>Ej>^}jrJ%0cRU9`G(Z4FV~A`mlKjrqZS1dg7@Tx)I+tESR)v6jCf@}4r! zUl8goF7pH<pHlmA44MAc=SBC+Euh}G8uo|OAy8v;KQZtCDjy}5LLt({KEp(IE}kyc zlA&~ow8rnui|}q|9Ynq_VrEAa;VMW2w8>Su`(S7sJcY`}X9G;-LqN0{F(v6e?#GGy z^2Jw{k^P-o;mI8q+GXpTuYwd5eGcmB;(rP@X2l`(C?dR{PJ{d)r5DR2*WClPsIkK6 z^u6)`Az-tuF$9l*&i4L5gVxGlbQQO0J=1#jq5Wh9wDhl^^D4O4YhNhB239|X%N_~D zR^|ns7~b&2iM>}~U5M+RneGas5cdxO88Z$@RrnoX2u&b7DQ5k;VN$x{@6P~%J@#Th z1ep3{*@L8l{?(Hp1jQ+@rovQqzBN3LnRUQF9b2Usyi^<w@V&y*AOHh8j}c?-BD3zm z9SlK&nt0#lnyd3tm(DL1?cksoy2mV68}ewc&-{Au#55r!ElT~$&3^vMnP+(nR^;xs zr<GNKh67yC(1!${rTGT=C>5eCY!40rov2wcZsvE1v@4XQH^18l)Va8M1+~HxQ8CUS zNQlYaID1A|QU&^x4RVM*=pROZ$WWtXPzY%0Sl=k1V*1gJni!Vh6SFe0t<wA{EH^l5 z_Cb|bYt6yiq|D$goc4)%#xCNf;dJ-HAz&u+AM?_@%UT{FnjY%$>kwd&e$DvxiD@1~ z5nfylB#k(j123ZD!8jJj@~El2Be-c7L;Xog;_<PWw#VMDuI&1BNi5VuB)2g>9OtBA zmhA*09RiMY$a!Z;g{+`i^;J<4mo%b!gb>NmbHlF|b?k5JxM;dcttbrJ!i5a6A&I5C z&3jNBEks??hGIltXF|BXt~wk;b=7)Wt6K!e1H!kfd7#MA#;$?*I@Ib82`XNiW(+O` zjvy;%r>}1+@mB}XI3yA%DnBkWZ}YN8rq)ByGOc30W|UQPu&a?8pN?~6G|%^J>_n8w z8A%*mU-=rZG5{e8u$+=y6VnjF4cgB21a!|Q)a78C237+-FH<xVT=LN8>rsnq$7B*` zg4S_0Y89D!rWrmFBGW_OwoN0uzwqd(rND_7@y~dyD#sMLW|KNF-V-UmVpr>t@@;}v zIOp{yh(}?lx7h9PMm?n+0?UB6?GQEvGoo|X+j<$IE6`CI5QEIPcu=o9s@aRtu)AU4 z=P7jx9?w(TXGXg~p<bK#MRjUslP#*|l|82u>$0;hgK1aa{OLRd=sv~WNnm7_rY8A7 zJRU2dQh0AvSY8el*y#w*Gnl%tet|rOc7Immw;sRXs+9zUu<5F?jXS)zq9NA?CZu#l zjrM!>E*DZ{cX!>etgT}4p;I9}lb+q*W0VMSR(Z4SA)d53PkQqdp)|q5z?pU{XuV!7 zy;;P4W4nuDTD`LPOwFT{Ck5Ko1$T(+CWdlyV!32mqDD1l_7E`Jr`IZW#+Tu^8>KF5 zZ=tBw;j1e0{9~UXeP=Fz#Cw;>WRnvOev`tUDa&2Y+juYht=^Oecdk#>*+_A7^4z|s z<yx#^1HPbyq(lG64Vied*Mn*I#^lZ!@!6yGlJRGW<mFGUe3zh&e6<pOxY{-K3VWL+ zUlYyjzZYXooCz7ms}b<`IwGMye@FRxl@v`P!UXvrS&3zKKr_B+t1l-x^maAZLxH$^ zcp&i*0K7AyC03}%{iyP4f{VmAnfSL@u{T^3Is71kTfBEyn~V~2Tf>KZ%8tZe0K6yC zpm)pYErqYMUtJ7Vb0d(sgmXh*R#z2nq5>BO`6pH!E`50Jmeds!rWtyd%R*;m=f|tK zDH7h&)XNczWpR{&Ly8gb3B*^B+1E8Gu1UXv#LT6l+CSda<B-CJslWz&*;-=)nb-U0 zDoMrw<IVr=vz1%OimAo{E9iEKpl+s3Rn<CsI&ll&2}8v$Sql}bbBjz}rv0k!soLJ{ zE;&SC^ZkwLTNPnk#eS)imf@=w>np}+-`kKU2JGzT%8j!oS08X&eO6xy<HU=w&S(F^ zJf|H3oTDC{X}shoqY;VN7wyPlLaL<%<tpS30TqjJ5o+@jmBoM=w<C9Vs2ylC?;k~h zh@wA*SR3W&V+Pk1ft*}$wV8v_Wlgvo$hXG%A<59g^G>zAwjwWJn^4kkWY|1<5V!cs zJZj<lA)tG6vZ&N6*kR&?FW+yyhF22)8r%C2<rr_HvhnGu9c8N0%bm`3*--(B;JdZf zeWqM`Fjv-*it{<*|MHls6dnR@PStR*LcBhG9d@hr^_>BZ*Bb2jpp_-4z&eGcFxZU> z`Ljm4{#-vuw5<no3w!wOGdgZH;i8n)q00rjSACD`b`+@%TKG8D4E+qSw;PR9xQ#kV z;dl*|??)0%Cy}YYpm~3l<(|Ld_S?#tIhUHlAI8x3{#G4KMABHVdwn82ZqGRz<@gQ2 zejjk>*i^nv0e73JvhHuQn&+N;5<c?pHXO~4Dx`xcj|R#&`x^^W=&5lM)N(~UsWF^- zS%bG_8toU+VSqX)LSSa%8=n1=aO-S)z2b-0%|s9bl*6?7af?hxKivWBqm<_`q&cxe z&rwnk#JuV=kmBh^F}gn%Rmcm5L_m}+%~A%ZxLXoOHzn|sTCY`(hfeihjtHUdA$1~m zGa8W|*dKG*A<ccvh_y)YmegDkvITjzCo7S7>y`lTElJt?%N3U-p794@f9xQ;??|JF zuB#Mel#v-!bBBf6(aAVznp4t}JFz*vft&KgAb1NQeEUP#_6b>`#N6$xoUe4l1cJDE zcm*%tT?c~xhL+4<{WtIZh0ye3BEo0?PG=9XG{kFK&Jhcg2X5=Usj}HVt8)8D>g!j$ zB=Y*cEz!yqfhaRP1mOEOCpQ=6_-$}h>W25^^m(9cNB5EA2F^L`{z4ie?8YtI)2bea zfHPPisq%CXMPYREWPEIgpVr&>U@7#sxkk8|vk$oR5b$0#K5Lv>S0ZRjv*+N9pFirF zSb(czL|9Xb%ZJ!e4#f4G&)vXJlec%&@wxXdnH%5OP1nlVS^l|4f_b+aZ5tcQ%Marw z;E3GjZOF|Yg_B2q{P{E4#I>KNOP|CU$HiNfBPcY;MOxB?K~pnuG2lMV+-opCf@dfI zFD1^27h8VgXkLo1$+I!^*$+=Pe>jeh3fXbJbqkyc?3q*f8}l@T6R8Wdbc&>+OxHDu z`5DsUzuuMK`j9W%y8LF6n`70C^Kz8N)X|xomqXKd2AS!7Q(}#dfTa^MW?nhpNWTHP z^;W)zL;8{W%GeG$33-7sPWAko=1A_AQJx-cLQHqSqu=@`WhX6VVd;|$e`X;|HWYS$ zE1@{<dy5uM^%w1Sn;>+$s`k-{)!8uV<NDz_iKzXlM~&7FBhtM^$EV2Ppuoz#YQhL{ zc0}69@<$5VW5{?z%b>$qV(T=KZj&}Ir}0SH_=m$I(30@SgzqjDWzl-a7Zwuzx;iTu zC6-HHO1d*2N=5}nHIpE49niX~kY9;$y1y-|9@NWDt{lX^1Aodmwap}i6L_l*jDnAH zgSfA0xw(a?`BJI&+Fl*PaZiHdOYXBiIrisoTgJY!b(m%)kcrGd9ef1G?yS1UizmVF zpC?8ncc?S`Xtq(0q--;%Fe6alw-iHr87L5*8RF(&YhiW!$~GzQL;ONS$d3{(m0YAd zfpxM_g`JBoGN0BAE{1Wl+qwbb!}C~Jz)r7T@x+K{BRd&N^YEx=)2V^|OS={ORZ<_6 zobI=nL8a~9w3=KW2P>aWNe>4#K7vOgmUTA2s(+T@OH-cF=Wm;5X4$|^L$aE(4fm#e z*s;n9b%{-o)%?Ly6}6ilHK9629nfI!Vbxsm<&9ToR~VWS$%N2oidAjX>&|oQ^=<eQ zpZqA%l_oNGKMn;Nf6yFOj@qz%7qlv!Q1Phg9LsL~5WqXaNXl!QyKtjRg1m{wG%+E< zqTo%(KchOA2ZErY`wgIO<I_{?^_19$=XINE-V1wKEg9pipS{cQY`#0~8hr@Rb2hR} zkoF$5F`5d8=3)w8ncF65;g`JdUAr}~u<iat<#8SH{i=VpnT*VZ6rcQGchiGEYhFy? z8FhO7adt9aYt*LY5Kt63b^b>^gkq?=?b8q3hguq_dZ0<Pyvky)di^&AK%jy5=B+f5 z7jD5>$`OMAka)|$&->eVd=DT6m8pR#G(~`+)L@H6fENi9MWBvR{DM*%!%+nc0@zI6 z@;Ae}1XXB3w7j3<ok4jD+<!k?tSTCqAuTswm7+iG;+R?Ri2p3Z&fetX>w4~~uUUy{ z%BFX!^KwPAl`AmXeUBx1ea!m|)!;ac**<t+p}Of5xfLB(;HB`CknPx-;QH>RlciI= zb-LrH0*mCY2=g3%jz<swR?J!7n=cUT^INn{!%amPvhxC-aOEjA%M8^90jXXel8jeP zLvm<oyA!Z2B^1&g>Vegg=T865TsQjja$qghJi<zRsrC-ow&}W!L7o7pOMzA}VKpo- z%yNLXh-uz53WtNj%isv?IvV_Y`wiSMNDZ4W{CLPHN%l$QZTw<>UA>pklOo~Bn4)fh z`L3?OEL#x5wp0C_>G~>aFN;cI`bO-<G+qjU9%~%^9rvg;+~$+dd3{}#z9WOpKejSj zU6x$7_1D^lyJZ-epGA$<CGafZHd=4+FEach&Ml4b01*YVrNdq_uI|f~dN;qkK6U)< zDcP*1DTeIhlt-?gdQn)uAWv@l1mAM_d#67(;#X~CDEkvcRbf1xVGAU}!qR5onudkn zhU#mY&72_QOlrIsPyW!l?Ssvx<X?4l=>nsIchfz;gN9m#0v`>XO+HZ=J!FyhK+|ow zIBg+OiNY)zEkRGS0nB{e&Sw4zgA`Rmy3fAq{@9+_5mrxnuW}*1+Jey3+8o*Eps;+Q zD{a&<=GZJpO#z@==Dqs_*Ev~}Ttss^36iUXcIx}_oY-P--%W{H|3z7gg3m%@WZ?J~ zaM45?NVM(KqTT&!zxQ|L21m>Q(W<<u%fe{>9zS1%4JMr+zpsl+9xF1<iNb4AhYkS| zxQ&B@5LM_IQJI_FhPUncK3{lvzv_mVuC)Fl;6^}Q&Bh<jw>g{G5Fey51cO~4s}C&_ zMVdK=Y#%hww=`d6T&)?F19SJ^<g+vMxYlX&<hi7?h_5;7wY_z0joH`n$%|TNmkP^A zU=f&60?sDzFG9Na=J@XVHgS>A!@%!1ZQ6PLbSfC9Vcc!fucxULICLWFF5VNCjzlbU zH86#&KN`N`gZ21+wDAuHX$Cs6(Ybo%*Bk9TPYiwbfDDZMo!L0TyVC`$wtNQgr$En? zsi^OizmgFV7~W~|uLLV>q2==U{c-{^?ouZIJ;~<s<Y~L7PyaZH@tf!zyu`s6=a!3% z(=Em|#|}JZmS8WHx<O)X88<_|I~O%4yOvLCbd)&u49PyhuaeIuYKBD;=M(Yf_d##_ z0Sa-3;#m;suVHNmMlyE0Qx)~(8qy07jby{W;U!M?s~ILq9Lz%97a+6WNg)W&3FT4v z?6zVP<=Vw4={d*r*lGH}lGv@$B^w`mrMS$wM46Fn6BDDqnh1@hL%_uE7ovmG)`3}r zFAo9ol!N}S9gBl;K{q1?8<x=HByb+Q-DEZn1b$S%xv=H3Iu9u;^g0B18XHIHStKgQ zvW#W2YvrC*4TIM}(b+!v9)1y}#9#;O#V@wsx}_?GhTt+qLsN1d>;kx(tmXAQ-y%CE z7hjK?WkAdFN)D7l7g?9~ht8aC-7=Q{fXbAM4^QkyQQ}QwOnOUFd*2)KT|3v49G1BG z!Lwjw&85z+t#+hvk&AqT1X6ZFFt0xM8qSyEDi?nG3;Up6b%gbZSrRu>la0VTdrvsc z{;YrQQL+zh<x~G)vVDyQB-vPpdX%O1tp0e5bt0ExL3NsZdE}>CO3S}!LSrTRMrUMH zutNvBW~7CP!PtZ>VBYkH&-+z>DxJKVuWwExiVR(gym6}0q<a_vRuAsE?z1iDICoj| zk8%~yFd?`d@fVejEzhqPoN4s;`Z;bEw(KfmMH@mPSrH*4u!rd;!*NA7J#o%SMKI$q zQQl*VdmlhA8^z~@+v1+Q4{jKYyn8L3cm48-?&FzZQEF8d4hEs1?^|bb%U{Z&PV7uM zpHGmyc+uHyrs$@1Y<+l>^MTYj_z(ctt!v7V6U2n;o<_H3wC+yygX;vc9x|qnZ0YW< zH-2{#ch0gM7Qba==X^2-F-F13oujQKEx+_}tj=nA^6`z#_t3gLezmMfgnyr^*A!tH zG``{f74;#q1b!;Zi2N{u=o@DPVX!&~LNB$<^NABr_fm>0;r8z>w(kfxJg^)2bWES< zVmH`z=3t@aB|#)MqSp2@w{l1fLaO(&>mk7G5~U(bJ8+oheCyu}IJI8EBHz-wyEMMe znq^W<9fW;P_I{P=8tf(-E?&a5XVJcLd)0PvhB;T57}f^K5K6B1wy{jW^^%(D(8ml? ziV>^X8Hl509iMedy860PB7&(~93FyDXD+1H4;?_<st3khg-;3+llueq6Hz}dTo^0h zdy7WD^q{@D%Z5H9P_vCI{3mt%&vPUbqSd<CmZqp19F^*yKi86mU3D-$;gF!fW+@U& zU)iEQio7RdFLbx-yrk26zt7qMId29$7zegij*Dmm%yfXEOc@wVqK|#}7a(fHfNOVl z1oW99y=C)Oyd4Qn_1CImWYAoR;afzew`c<XUW2XyeA1d?bHB)HL3CNW`7LcEK<?9` z4|!W@_JJYb3P6oGQUClx(9%c`{udZgVWPx$M9}f*n-s1eU26tJJjqG4PaAWI<t80F zQAV34jK+BIg*`YM;x>~PRVN_!ug+r=ld+VbizE#c&S_&*{59WpXzekyHJSS2cQ&*> zpZEQv#SOD$MM3kQv&leMOo)ftt3SUA;}aW2{HRPHU3ZIvW+a%jATrvN#W)10*kuiL z9l1#h2mPK&2_WsXtFeNxU7-?t4*yB;7d+N45I}O^p5Cm#$_Gq8SO-NLql>)op(<fI ziCsQ;KV`G=(RaGzD}z<yd>u!hS^Gy+0I|bq%2FVRS0L@{Ua)`dsRc#1_`F&wBb*iK z`sT~bL``}~op<*R3saVfCEosO<Z*NxW`@<)Mfe+^HpSr~^A@;`Lx5(;a8HKWShS)s zG;oKQ1TXS8eV2}hIs+FxZ6dBeqA2n{J&0gk5N$UEZf+b69^igG-l;W@gTX1K-<#GW zbhnu&();PG`m9R=iPwEOIpPy)`$Z1{Lk&ge^Dm|&R#`7>fSHM#RX0<E&CJOJ0?`2* z9xh-u=R+S6=zH35=3DY#ipJKurM4qbo<!zX1h4m0D)#dUtOV0{Sy5$4XX{cMLCYan zIzB2$<$K1R3~L`<CtdNRP(Ba+$(C-lRX<`sc7;o7MJL!Sy=nxXjREfm3_LLvnIJep zz&n~p^90t7-J&Mxbl4_|056I<CY}5wHmYH4-fOZ5?4OYS5+uIpqNcs6&`+tTSF|wk zLhi(0FW<TOkJ786c=4J>4xROsDU;PiPzskqHB=lBX_2u-TRN+w?&_cnKhC2$6t#Xc z(_Ejw$or~MnCr~Qexsa)X*vXhqY^ZH{Df*QiPq5%0Xep58j<y09($KhS@;_^Od4yd z367ecX7@@G*&(plq1_wozLPJV;b&_^Dkfwmgi+doAHEY9aeJf5_3r>T@he<v>;)Dy z*YvNtp!+*}u$EpuEdG*41xM*3ojZCl=as(7uY0_=5*|>&R-b*<q)r#wpX|%=-5F6O z6ea<WUC%;0F-F;~9M>(<JnOye+{mMYvdh2C6EzeV+CB~9xjE;8_fTY<9!xbhuoOri zgh&x!o5lhi44JTasXdr)EkEzRm=?r2Z7=gBVRTi0Hx^CZ1Cn+8#WsG@kWRL=DymrP z&A8V+@E`r6ZwVwi&R0jQF$turOL_(W9=yZQow;CcrC+YEe_Vkj!h_0Dx3b1%%<wxZ z<NTMCMRr@6LtJoY4Jv~aWMY~fJO~lR1iy1Ce%{UP`O55{sdkhfE^&&Kog7qG?pDJV zB2U^-4XkyEZL#|JeUZ&}@WbbIn%AAieC=jQUOs=FqHL+F&*i)gMp!2p(Ob4HJ0q;? zp;@!*d#z~84Yd_PI@=woyr~vgI;X&gH8e&CWBNA@P$zF-lg#{p-NrfZpuFvAQK2C0 z-b>>v=4o7?!#N1*OL^C&C(E#GvuDd?B{&!c)YaW)7qw?XA$lHf#rhseC7#@2_(Y#y zSQ>(q(bt=L;g;#z8ta5DMj}i8MC;uzH~7!fl0P`Z5aCvvpYY9WC<ZhZ1wD4F7$x}< z-UQ?H-XHJ!cyq!3I4|%qF5l?gwUGi+8HNBQJ@6YTUqG`O>?+b#pq^=I*8X8fIo{&L zw+;bf@Rv6W3DQ+HZ0HD-Z(Lq>TW)y*B<>l@o|MY01y3}*{)10VVqu1wPFOC%RY4gH z-RWiziBe^Wjfzm%C!Nbve}7GR^{o&;i|e*(hP!#tsO!!VfBH-}o7Y**u(UpuvkbBV zh9fP71>rs@tBu-GAE|u(9r#Mkce%pU04*|CD>Li;aM};M84hj99%_}ZlDB4pu)xOl zL%=)#QAWGg=VI~PG2tpgj)xf2_2DV=R8%#F3TG1zgfYH3$(e2Xsc1pLxbeiA&8PQo zLo5t%I5d#tB=A+AFD@3f9(4$?ykXUdz{07RWIg@()By2gSB~6{NDP4Cik?4Il?elG z{j_4+XfQJ&LUPqFIXT)D720{7b@G@|B>bNW8$=Xg5!#Pl3ENMw&KvcRPJLSax&GG5 z=Y)O1qki~2g0s(WA3BqV-SDO5ib$vONtn<4Tz-90{Kt9+F#LmXnUbyM8b*vw@e8VJ zm}5NSu6-J3wa<w5O6(9CSb1+P%(}OjXU>5HPFC+|MFYfOf^=IYB26Ah0yYk5C{4F4 zM8CZ8cEPecFFa|pJj=U_NVCHa44fADbT23+;5F}l2>TO3FH2jQ+JTNFepDK=9g#~2 zbG82#|8d0Kn$ypGFUh$D70@+p>yV{yqK%pP-i9cwSt*av8NAy0toCYDe?FOTzFNh? ziMr-JN!+`%JEy+ekPiI9ox^hoSk7uUH{EjzJOsRc>fTBAA@uiK{ut8Isg#9;my8vh zy7XEnEkk@GqZ0|5&`n}+HoZ0dnJ!`fOdpWY@HdBV-;bqibkeSOIJJJ|5P;|{(|qve z^^>En-<}kRW$cjmt)07){U;TBB$9)lc>wYhd7E|n9sV@rDq+nHkt97{=gm2vS0CZ& zk2r5@CTALRFAMfVw}|&Ai|bP34vYxP!?B=KlnEIhZFN0I31eaYlP(HxQ}Y568(D%C zMn7{3%d>4a8XMkOXE~iS@POMxUrb0mDQ#a=oIEC(WMRNXW<$l0S3{%HCTO^&OQ$aP znqb4;G8S_PaNL}ETLli@b#x+ZQZAN|#<TdU48^ZnyshGkLAWeT<$zWP9ocr~x6BZJ z8<lcO1NkloAb1`v#tirOma)m0r*RcyHo3o|_G)WWB+$2FdBw4Ct%&WXeHi7r^lTs< znje{n*X^gT1*%XYV|!HIGIa9BI-F(fOdR@s<MV79>5S%W=V@M4Was47E;^LD<#aYl zr2*NKiymaNeE76umX*Gh8UUb>Xh!T}ko1S9*em!I6gXOl<7>15$v&+VJpEf_9*Gmh z<l4%3v(4n1l1M5O>X__hd&!pLdmZ{@+QILLovvN6+{a<4C7Te24)C^#wt4N~?Yqg0 zLcbj@gcI!Ujm)K=yxSQr`WkQON&RB1x-U7(gyn4^TQ)T!`A;>iI@MhMlx)Sr%c&i} z?t_i?d5fD{;US|?$ZxEEir#LZPmD`XM`a(EIBB2PXiB1j43ft|2#{#m`{oOlR~G9S zP;tu!iV*1KQ+G;{P12P>9h%y*C?WlZFPl%VTqoBRfn;j~q)I04;07RReyN6K>};Fs zxibOD(7k`}#;mheN=qUE3G8oD+o;H<)MAjW*wo&K3FbT}`ZNP~*bGhw)tHl3=UUY8 zpM>cfJ8?mFPGG-u^GGCl9p&B?uU!c2FdZ3r*lc2hSj7~}lPGe17nT3chW_T{++>(( zH~Dyc51uNMS7~9JEBK9{-D?Sw$w|`d0B<pfh>Y)?LX_)odnt>O1hq~rH@_qtK9Snu z%%60}qKOR8USE2ux(bP8*lwnmskWX}RvB!^oO7%{A#z9J<@g^#u6*qdQY@oDwZJA% zrLfNZMi=@!-kLN_j}##us7<XD_)ax8h}lDWoG-%kHW?ijKM!OxE}c;w|NZ;Dimo&d z7l5Bv?1MUTpi$><?foW)&px>ma%E2AAY``{ru%o_YKd{m8OMt55M+iiUCiEi*V9$> zvC&D+5Ru&(5q4F81C|)dcnK>n@9*e<RwmZg_s+XHe){O~M7-mfqAp+8JVSxl;-HvX zW!#N+Ql?I>#H?ZZ`<vU;?av7tTv?#5_wg>m9A-<uxc_npBnJm72(8KTR{8E)oZnfl ziJ<tg1hxKx;oX~z2Vv`p3FZBWrls$#4^AFvUe)xgO>Xq->^IdeOG(ohs#vz1Z7|<~ z`a}h<Q^ZmTbXJYFb|Y+U_jS_ro4u_+R4NkmL-tPG7vF+aMzaq_Pp$31ai@Ni1*VS` z6@GhSRR6{D;4iNrS27Won6~`frLK@%6+y=%nxLGe!M~iq(E3BbQlO&A>DJ%hCe&Z3 zEpWth(%E~}qSR@7BEe^8n^m*o-!z3LF{4^*EbThZoqs~AUQFaUuC7zt9)7^m>=;J{ zm0~icY7@`3sqCT+Zgg5aPSihtQ$p0hIdnczQD!NiQCX<h>3SB<8rj|OXy<mo7cjW0 z6pEXMxUhzFj}>ekug<$R=xb73SzMXY7wGgaRjOC8!$S3ydZ!jegQcD`TM*N3Wi_%g zyk8LE6l4q}mFx++8+^(?-PMlJc2%CHdyN-kc=hIxe2hC=850Ft@`+mauEU}4tA6QQ zn;$h&xiw6);xV`)@0T+ZzZq0wkt8Xk(+kWj+t|U;hq0H8`OLTHWDe|KX0KNeG+_m> zpRMws*#yX>`mL<EbS`1c$igzAB5a)yOBYEmOP9YOIr>G&kyH#DO|aYYQ&>!r!A=v% z4eP}pa3Rf7)m0;H39T=Gb(R`$p6CAAq2<>#KT%)yBG7ZLDdC})YByA>g0Q)}>MnFa zlE?GlA5)2dUIu3=7dE3GwXSw1gC_gzZX6Bh>eu^SQDT);6(qjtn4R6-jQOruWl=?N z;#J?WZO!K8C1O|Que-)A3SXYQBeG7j5_v=H^H+$L`P=p)F*P!a<cUJ<I)smr3*PUh zV}N>FW%D7eB@Df}CbQP?IIf?YnYE(}if2~n!^v72Rsyf?KP>K$&3JL8wK`wYweFl~ zB2a%I9?x95Zk$K>NA-$a!*G_J+qidM-bi{Y3O~J91=ZaLcc_8EkXww9<4eNngA6H& ziN11s1~u!I;7i%ej*Yl$wQ29~?0#sZg-AkR(fQmuN94#hDn=9S3J%SCO;m@fc?D~y zr?wJ-R=M~H(?Znvt_kErO{C`*s3|YkXZCc+o2x^J;|+7i6ZN(UTAp%&>m{hO_+tqc z`~u{Nm!K!T57l%+Ec)jL9q1u!N9wBQRDO5F0Xl+=si@Dpy19HWiw0U!(8{~Ab!^RY ztd%6*!R>cVKz8_w^wva&#GT2=SeRGd#b?3sd+oPOyXmZIbt(J5{5j<*Ch%n<5@t5A zM;3FCf1@Ndq<qt*7N(zg(uQA8dpVZ+*c7R_cC`pSu@U=kQ9S-Z`2!c_4U1iKa4B)Q zf`!3lBp;JCarRB2!Ng2vnNL~*A1iv-*Pu$Gei>pRI@nj%(XGk(9I`JL-uIpObEe)> z+V^P5Oo@ec84&H9F%E$(MC{zuPq;j?f#0d}X&%*vnhe?gr5~-Ccu;x9>D$GWUo<0! z)!>keDy2n5sv)VVXV!<~9VV}!X^(q|#OJuG4=SJ7&OTfXvtRz)L6_qiI%s(j+(ECK z&qBP3mcq^%hmjZUUF+)~T7N2dv!JRv9lR+X<KgnN`i-COn~zs7fg-{Jyf={87w&7? z1l`|tn}>kk1y*&@UcN40oRXxM@NW6gU-MZPqyL?b)~bCmA_=@TyLZbq@0r-%>Y0d; z>qE9qkr~t_wdW2EzFj0A2-gbq5BMFf`P!CTyxfa{>Ap9QU2c3sVRuGC&&ifm7wCCc zI<mIz%Qgo#JXS$I4P7&exn6*%CN(_XRcz!{c9+@>!nhZgQOJt}Otz!tYO$A!xflJZ z%Alho$Mr0Pz{4!#h^S?obln?<8jdvnij319y|tg6?igy7J1(r27*6AS4`>+GLjX7A zZH&>`guJ|T?e5>uQ;2o^`b67zlPJ|R4M$@Eo;Zn53MsT~=$99tr83VQPjP=@{59=j zz9q;<-fD=k5gg%GkzRv!U4`+4+NgeY4s#B8mnd7{f5G&`L-B7{q$>bc7I&op>&DzU zsWrJ1zy-{Vz`rWzdZ@!BHCv8H;Ke5niCcQrk6s@KJgYbjs6A!$O*>!!_wx3jKQM_f zI{l#W!51LALD?dd_5SU0dGVcQaRJ%j3Qig*#!3pg7n|D=AAh60>Mzi43Q4L{Xj`cm znZoFrQK(uiZK8aRq|@)bj{4IiM?Tox6fP}z1+jhgP2SqI_8g%P`QC=z>CskUn69Z@ z8;VB+K@z+oR!8WOECV)Vy3j0oMxXt9)T3K7sqT}PIH42V(uwWYr}iX|i3(o3cDI6q zLh$ERZy9G3w<yPPO{im#cC2!dxly(kA}mUnZ9{@B=5HcDvM%VA8G=+&<#$c1ytLXi zBQp7qqqA;$Y|CB6KyRrB(gtWh!}6WmT@aGBRgSxjt8jDeEVMrAppV;GPzIwN2{TKT z-UrVvYzmei0)BniEgzM|)r*WSUDj;9?I4R($L<|@Nj<F^aDn=hhYWve;`=<q^jw>B zj9PK-S}F-FFTS{yGngHL4+`0@X@<U`;#wkfdG`NJ9L$QvO&i)cUaZ^fD=Bw8r;|T> z@bTqbwkiA6PXC0*5U3&$ALXE)TcNBix@|NvQ|ps0eEOgf^5aX+tXzZ)VwYIlk?Pzy z6xm>3qQ6JNn6R6KmXw0sCT2>c;igBsF`Fu9WI#k}>tpBe79Y))+BZ?n{nZaXbf=pC z<hPIeG4IC%cbfoBLY^j^zK0VUDs0L%k@Urcbi@0}YD8=TI6N0-lU7|rTy4<#@XrCd zt7pQtm^-gz)JIKp{rW4Tc_3&Xn;jM229|ugw%cwJ_rw09<TX!;=ER4X+Top*tuzlF ztD+vnGSZh2+!1)YtL>jr-|9pl`xpo_pZS_4H@5%%G$DFgCQ;bLP&RA%u13r-|CrCk z#Aua^h%0v+;k&{4F277=GhaGwT(7Ac+K_K#I14FySGx<FOhlb`Zww*R1xJ>m2Yre% zg4q7X9dL*4n;~PK{1UI?C3QgcrSFbmZdrX1Q8gM;9|sng6(Eg1@S1SD-FzNhY_0d^ zLfS^mA}rH6F3vBiA}`6bxvX*|!<8oFKj;MgZBwPI6g0(Uww3;Q6#b8GQ}BH?rN3}` zTGpTKXcV7gDuz}wZT_+X-baZVXF3{<il;wN6%s9QEh}pEfp=19cl-;~^`~u#9)at` zeVD7Ki)VWw<i>b|^B!^81Kn8xdPxPJ7+-Oqes@$U)4)3trm}<BK-;Y7TV;~|@Ypqz zqamy7g++fe2a)+heCaRp2JqX4H=Ug9!^WG@qj;U{$ZBP{x@C@I^8_u>mSIoQ{bkS^ zW&B4}en5&f*g$cu*KjU#*Lv>yE}ySoF>(!X<Pq39;A=tH*<&~EZYkLQox3@Avt6OY z=;`1ObhyND69k%1>iZJF-CQhcYGJAxukmmS6H?K{G+WVpFpLbE()a_CcpusBk${*w zK6Z;|-1fc9>)B4qB)~v#fLU|;5>U`61un5v&|hF?sA)uBgILG5lxsW0I&W0mBE3M{ zPzLiVJrh7jgDEH9m6jSNo0{G}zrcSA_CzCq3^YGFEPfG{NN#{Gf?KziF9)(36K;z> z6nHt~D#iq}nn0$8&MX^A_Oeaz<v-)%7&fPd6SMwHqrq{+uU1jQn6kLe<N%0wjc zMUDgvcxZ3qCb6r!`;x|=^08mT-dIBYC&kPYbqcaFl=Y@lQ3T-q>p5u|f!g5FnIq-) z_m-(0V2XFaN6USu^;NyXp{9+UUu?snBK`6HQ?buU3wIJR_pnWY?ZxRt_`miufl;?G z5=yNSTwdzr9r8dD&<N$56~jKbpQ!1@>2B=zM}#}?#5@viMl?UaQOznh_U`Ma*UR;v z{w4FQ?6tbcf~Y#vk4PYt_vgC^eED%Ex4U0AkaaXMZ22<jk)h1gE_zOE<b8eH6?e{~ z9_V=@E6V!?HnoPZc~*yg^p3lv;1y$Q-!E}|89QBv0ChygLSM)l268vlvK^w@P$OBo z)E<ZHKbtE`Zm-ok>2zC=c4mwT>*48!u#nRH6Q%yT3U6@VSWTYk2?US*&uKdk?o5b( zd(l3_V^*Th_FjvQy!#&%oqIIX{~yN{B^633ax2#&$^A|@_fYN(tK8BWxnF0cBKJ!! zxh}aZms!c&S*4KMVpz=mK6Bj++ic(8=l7>`c8;CTKJWMY^?JS@&*wXv2HsxY8Im4r zdD~tue)na}V?byzB^^XYjb+Vexy{g!hsuTcR$m2Q^c?v>IJbfP<+E!Bp0m~v=NCDq zE}1hG(Qb%}%(mVL!_$;=COek&9#J#!+AGB!2aK?q%pupmo?{J5c8@Z-1BzjW2!FEe z`aH&>qvh@N1Pfrq%~kIT-6{{jCx?<qwpWc%_WS&8f0$>eX7=C7jMEGTLCyDu_pq-4 ziyIy~1)rU1e4>y9ow@dhgK}bFrvzV|uTQX_QhB}=BtNHDcJ;`vs817c)P|sZk>|I{ zCl24`WMl)~B}HDQ5|@8IonKp&zjM1{4(8unq^s#K2i<43-`SJNloaBNmsp`Y2))UN zFsrGWYY|-~kOa|VD?~CGf5-@-w;5>;((NZ3=rN`nNa;_2V|2tVQ{=@f;g*ypy%k1G zT<hoPv)1qfSph{5vGkUz_z8pJ1>heKMDAYB5_pDdJk*F6GcK&3=)pJQ$LxjgXsmnz z7|Iolue@^Z{MCVO+SR@%%`v7w^r#uH320<9!!g4p*2-)*D&$ZJNiRzOyc@=DP~JLs zcA?Uhq9Z}g-wCj5G;^!=CBVC_Nn#nkfGVl{yd(oHb=BE8=J7v737{{JIi0|fZ#Lx2 zP!9XQ^2!HdA&Qz`3C}dDdYiw8Se3qv!O)uCxu5Mo)sB5#{%NM~mYvTACdzG&<w<#R zHkwC;f>$<+4G`>>gY{0nB?t4t0nLL}8ap>=q*N{Q8v$8NIOOlaO%TjrGU`HYaXi;m z>%MSvq_b!42QkK+?=1Z`M%ah3A|{;+o41FH_g!cNV1Nko`j3O_^P9%b>OaQ=Tap*V zzO`+eh|jDbXS{rC+$=R7U~}SeKhRZ5J2Lx-8Ux8!;M1Ml2Vcp6<cX%CJ;Vfq8SU-< zEd3}h14187`=1B+vPsvGS)YcWEjHXr-Osqdu>%pSSe>7<Q~BD*WYEN)-AExJ(Dv$^ zL;#C9;!nL9utf3-(pa&ck$&98dGiMcXYp}E#)0VW=RIrxkYfX-(7h-TRAuYFz>NUJ zEKUoD3GO{vEMDID;{D<A4w;yhm7<RKx(Cc(P|4Tlsiw-w+irl65kCh$l55+ca1N$V zS1OuWjI@_|cGC^Y5L8#<C4vTSh8%NCom|nQiPBbvTfVBHqPCVTbvDN!b?_CU|DD13 zax>0%Z!UM4UWsL{=o{iFizQ~2Q^;yIim;`Da#2ZiB}05!eqo%Jlcm?{lTR;5#AD|Y z_k4#UpYDMT4}$swzim;0Zvhbe#(&-IxgISPADM+C{I_d+9+&%|!BRZ-?kyWEskjk6 zRXt6wc_qx`@x|GoKizbaOE>@34kjJ6b7d3{i7_l8Jk@zVM8uu{m44h9rc6Lk^JzCn z+W)wL`WlN;_3mW>?KE*Y&|RwWsk5;0>SDT-M^UNnZEaFv>J;}gIdeSLgizaOO%AlT zv}w!+yeb?N>;)(FVKob(sY|K1x*YL<$}!1;BwaLDP02ws4s&T9z|_+#tkJeF*Wv>8 zy07?Oma&eqzDi6xi}m}(om|-*VqfLRjA{!3$Jh*<R?Y-@I^FYm%C*SgheuOg|Lu*~ zMUhrw;_B^*FhvO4u;llFms}GQlpb9^)y3~;J>o%Z51P$Yg#d(}Au0QvpKkTjdO94j z9Jv*L`RF-~sosx^NAL#NyCebzrooq!LbPK0WVlzfu5EY`gFbwTJy9aXv1Duq)S9^V z=qlY!w}uCG9zMNMNA^uP50^iH0U2txpknx8f@HL@wzibkVT2*BoC7+3_jJ#R$C=$n zT6gtA$atct=a`^FF`}|A%<<nS=)sPeXriN`{Fm=!#IHTv@n-LqJ>#!M>!?LL3|{hU zp5*)JI#oXhz1ef!`cWQ@uBROpjZjQ>;tZjGLS@n4V#eB<%xK1=uz7FC>rYG6Di6Zg zm_LeQsl`PpnvDS*S2@yU1=DJEeXwHBjEjofkFQR6SMJRPg<PZDl4#{vNRIMB_`CaB zdp?_JtX%z4ll<M7{GI@8S{cLNt`wbrSSyu)>%VCx++~fV|Gr5Clc}1hq4OMe83$}I zyCrAWzsL8PX-;|BPi>hG0=gas?c6JD!9>SU9paKB%n+s57nvS=%4Rs^VJF|O03z0q zU1BdIgu>7hN$bo|vC>}rt<0;(thA-%#BS?_(FTBMkG-qI`O?0EQ$Jspg-8)4dd5^! z+X$Fk{~kel1D*=xx%?cHaX#XF{5Q9hHV*mRXNUYyA|bNWcx%svb?Tg7*lFQRwJWLI zu2eEhA=El=xmbEf94$zl7<aJ<cqRp-NG=`?dTHG_k`~jMSu@!_b#W2Gg$iZNczcJ7 z9>n@0o7&^<#W{=gI&g=lX>r8rdIsTc4?I35yPiF6$rgtbXv>l0$rI9vJbap0Stgem z61HyF)Urp5-o1CJo-sK9112+^*~H~5I*$Y<B@TEa&xcq>_!B*f%hz+w0EM`}>G_y% z_M#L=rD$X*FsL}B#?2SF-!K1kXo&i=IqxH>_`^d_42htoB8nj2+=?=aEOV={lfL61 z6Vb=#3LkmWv^fDG9K7?}#&x)nR`S5Xfu8dxLHcZ=pTRh8;a+L)MieQq#<8_d)x5g? zxjwAp4Kr-O>nc^9jGk0uyL%>8{5T>0;7HoETy+p5CT6}8{~*-CYU)hE=F@IJ^ckbU zK+O=n)Xts#-P(7Z`8*+!(=&#Dbp+Hz#7ysiUIzUOmP2$RQC?TIS`FKbnoDsxCR3tc z2USxe7_+un;)ysYv=&QPl_1Q667`v(vC3(1%I$r|SbA*kIK-<u@@-puA7?~m>Obko z9hT}0qFmEzAP{BSI{F{S4{onk3n+-)D)QpY&b1fD)5in;igyC<B0X_6vBl8^rOQsj z_S`5Qi^<O)b3B{;@sWuuU*t+!_YM%lBa0?jQ|Kph7E7ZKeu%ZiU{N58>N-n<{l;4Y zr#`6WcugMfKlhgrXn<I>S#eVj!?Yfi8u5rzqs|CxckA(Y?vPSp3VQb*_eGH*SP%d- zmD#yiw?vBHRo_c(S;Rt8JYj`m1qqh}4%6oOBk7kYCA2)9bQ{cAb#1(-myBSaoQOX# zQ5#$FDL=ql50?<nt8DbpJ(3qV3B@z!`zn+3Imd6@eEn@hte#*I!ftC;R?Bt+VQCEr zC0j82!gRu=x*pkE20O~yKejRkkFxJ#qAU`hno(K;ttMIxCfczU;?ZCJS~8hnD@Xhi zqj0&DdFw#wexjL@Qn~3ocaTWLO+IA;w_)GT=gMDAAh%|$j5s!y&*`^<e(MZ_P99k? zocnahuU_p+oOHkcMxgxqGW7d`GzX7fR1^ULO1N3Iai_FyNDYg|R^pFYnYpd)IYhx$ z`_uM5Y~QQ7a&}GS=H-CL$}1%c{+v=B21V6x11!Z9&D|SDV>;aQE!(qi0E59sU|fkF z2$7h8{M^$r^c<a#;k=O_ywUw!EL&Zxr7#p}<3Mmj<C_+Yvx;iRiXw8?fC4ma6#g8` z>6C3YH#(a#_<h(He=RVGC@dOm&^`P$_tG84-|WKYoAcPawc631wPm#ob;ajx?5$tJ zcq{~c?3CFhoYk0*u|sq%LgDxydH`a{>4r`xemVICb-4qj<-#D7rb^-KNCkD`H)j2& zYylJW^wR5k-cRJ78fy?YHz!gQVVf574|VZfup~mChcYouP70%!6S31W@2#w-97ET~ z5QN>q6hmLJn?Iz_JZ+h;LC81PJ$ez4$}`EQa#Qv7ra}Q*GVVgroT&Oe%xDuk$=^Do zCOoFvw_UG>4a{~j{v5pCi+ky;_h2=jXkPXv$lERqr<m-cO<O6C_=h|DdEPhhF2Aqy zL?FZn=@mt))_pOluYMzRsufz!1aIr<{{D~SEC%*OFzcyipNPWE8xE4)quVB&m(O-7 zCsV;vNw^%1PX$?m(|wMNr?BJaIQ8UxZ?7L_>{xegB{W95=ZQ_XJ_#-m@z6a*7uC5T zb^Z8}ZlkH9Un?Ug_XAHW^zWQZk*ykgZ)S@rLWG3{7vT)GyJ5z!E8iuRnz_@I`dfA_ zP%XucK*_emD%De;Pdm83ONJUrKSg(E`J`XZz3WE^|Jx8_IXO#d)>na$zO`Wmf2w;V zq4}rmON9o0YpxgP1V*BQH`ey_MBl6aSXsl!t4qm$DOj?pcm0G8ZRlWxQ6?G8d0e78 z53L%qp)vO{^<QRx*&C0hIVWCXI}Gr;IWGO1jFHmncikS&{D#k9Yk(8>vbJ|`YK4-= z!PQ&DO~9Osi#~X=HIF-OtnREgnyD6{^HJ)gY0r<9m;Bt4SmU|1psq)9CW5jnmRjw8 z>p6XmhY}f-f8$0DD;4MqwWx{|U>IuHw8YlLm4qA4Ew@L>l-CEikf>(IS37mhGrq>> zI7{rmrw7E|9^AgEYAqI9ZjpJOWa8}H7`k3wjYWF6Dmoi7Lk9_m8iz3cm2-O~I}zI} zZ!16z%HV@n1r8%N$H&_z^De)6^fIGQ<xYvP#fb##rZ$%B?KdG+w~14)edR>Ty*oA# z)BWF0o79zShh+K@ESBK;J~@Xn+aC}7w*f(7{sP9kx_T`W@aO6eYr`xaj2!+6p3=C| zY+=MDq<gYb*4Y!+&kO5c)0DANu9w>EUINTKREmLBvg_iScGRGijRU=$;@~(!FK|hF zu%nsqTrI`esA)tAO8DI&qkO-wL4lbb>~`svP=vczX?Z6vacshS27}T_8TNfzuaUJm z8R5PW6HmY%4;K0uOYX|msJnaoEmHCy{bo<-WKmts%aRjln0DsY2`SSzdpF;nEOGpl z1@(mv6X|O>B@s=f$?9?p!+@crgzKU5Ctb85Ppf_%Mz;9QetAc}gdMNQUTPuGR;9xg zg*&0Ae4g(d{?y-gkF(?I`F%mw!Idz*=U(wo-b{VmS!VV97Ic{OcQ&|4QUNOn@*Shz z6=j5cny}W@JwNR4FR_uI{p+e;Px4qxjKi48X^$k&jRw!;8(QH(W(H^w5eQG(=D#aw zV5;8G9$7q9NxB4&k2buH^H(o(u}AJD6l)!__QRgW-SfG!m^rT-@x(~Qyw<2bkX|yL z5~=E1zX3zgi(NrkW4R;}n#A&pX3nw%4?U`;I`<rs%(DuT!l9Hd3sa%{_WQLYPp2I2 zd`Gvc)4nI)!jQNuVo@ys2!O=Pbu4nhBaF^jKz8+P&maF~;L?4a%9Yjnq4Zr@j7J%C zDf4Shz{EX|X%}bF+zF21!sf6@5HKvLv8#kapN|zWZ(t*s+}j0nV(8d<4MGT6I&K*x zB}47G6%l+eg25zq+>Y?RO#Eukdp>mE7MuSqB5nDJ=ZZ!x-IhS;gBqA%-s}q`LMAM7 zNQ$}kaLOjLv}xNaT^;sh!DW<7)oK&%^H^xg-{<`EI}vCh%G)1DJkChffw~10*z^j{ zx8;}yJkZ{;O@?h9-q<sqv8+*g3Uez@-xQp#Si7y(>@a8%J&@V@j<+#LgKyNn>tRBZ zP1dgYbZD!0i;2U&BRObX4aEb!1N9*yGCF4MC%A=l&10>GS7a#PV>!fAF7aLPBZjgu zD%qy1qX?jnKlc?MjJc>>sXhJg>i3sUi|Kq$E1X*bN62{DmN`pJ2&`ur^{{EivkiAw z=d`6~|Bn3e2k#1%`p;(~xvyK_mF4*}_kF$<me_!Uu1A2Kqc>!CV?eMO!eqo?;~een z*|y9l{qfS7ccPnZ3p0-h<7`uTI4;ei<C9!!+cEUwV)0gAml*Ii6AlvBoyVT+{47Sg zFd4m=Z6i%{4Q!$(Bp2U)f>mkkn}4$HXXau^m}7xQ_HG^|++N#v0E$EYj2+Ei{BfMj zCwtrpnbWNPKT9bUrwZRFo_>@5JKcC)$oza}jqv$=3QAseDIk=z;x`Q^WNh6DCJ(it z1_<ssjk%Cr5@knBN2Ex8Rm^4{HsSR>!T<TMA?s7$2Xm<IABI*M+P{W=Z=s+c&Z>f3 zC!U2inpTsBKX+JHlYmgVfn_acbvf(l%?*k_gSqeXw=P^~0gR6Z0#D9>I_Du`D!Nk! zo0HwhA2qH(X3l7-ldF1twR&Mf8LPO9UgK_Y1^U^&?D_@RHE_FeFR3!fnFs}-rvvWp z(P)gEm4(qJhD^W)k$%i6iY)kd>b5KWc6c}dheEv7ox~@Em4eCdKIT0hb-3*1d`Y0O zYfbA62zTn44zxay=nOj5f-)B*Sz@++J3F(cql)46ITz0$EvI>rH>Q-Pi4w2=<ESUB z<6zri-7+qJJpTIEPHawqZ-}%J-CR%kmL}Rt7R0|5lgi{d4Swbn+?C-I2d^g#IA*&j zWtQ$Qe6!lOs3TDfu*Y<qKDb}-C5A+4;@flSs}YFT=Ulc8->DIcj<uygI>YYTZPVx~ zmb@)pUo9%1+L%g(HVx6l4Ex&fNq%8pn8%TRSjf;u#y6*2t<Q~{eIX%Ha;UZ~Ldm!- zH&3OUU~qliR!0%MT4E@-)9~FT$1Z-3RrjmGY0NvrgMXs$dXh!@1ly-RfYNjn6TcDr zg_HiAl{TFCRD7>^`kZX-i|UqxODl~okuq$TNQB(GPHSEVM~5_x)G?|X9GypZV>%!3 zNyK8$mF;+yos#IZzTgUSA;0+T_ud&G#QcKEAm%6gC(a(<oYmSN+)6k6x4RRd(OEgJ z9{yoXuWjgci%sC`4Kc7n*eKCregEs8o_=!je2H!F=twb%2Cn^&BVm58f#*2tVmxL; zZbK)u(I<4w=C_)+Sops?vh}gLFUyTTshO$kI?+TT?l<NzjLPTWm^<GF=H&}}qwD<a zcC-Aa_W$E}Rna}{*vZtExk}OwGKSQE_JhYs9UY;{wLx<zcOVA`TDxr2(oi^X<)%9R z-JHO**-4f2t*sZo8dVur*74A|!^IXb?|sxGW5$5mvJdUP#qe=I`7A3RvpL*YPRJkI zKg3Pq{!zOuYY#y83;VrgE(|S&O-oTTWbeszkW{!QPw+Os)Bb_J`!?WQNkWludEa)$ z%+GS^k?3_G_=wJ@^wU@!R<2dv-@M+^foAjUFT~L9Y`d9&Z-3`b4&B-Ump2qZbrGEZ z2YYDLSkt02Du>NIk5n^oq}zO&(8*wx**a~3faHw7)E~29-Q~gf&lBTMy$LGQxE6}X z<10?|cel8uxEtq2V${Y`R2rrS0L3<L^-*~7w8Fs?PiM_LKfbhE%Lz*mwriuG*e1H5 z_F(Y2^gRITvK_8jNmSwKk$!Y;P@jRAAJnhbQ<J-}xdm5%R#C9lx1a`$8<p_9F(Yq} zmpL|8x7S|q;Jz-%p(4{OHlo-PV=E%Q4O@^Y@^W88!-mqm=YSvG@#Cg8JEjF+K?JmA zAd^Ni)M3=0;@-f<NXviei|5Ab$FK3l6o0DU_fT-b4PaGlhFUiOg8P2mD^D+Nk$_Yf z&|qkN7o(#}e081mTPBFCMH-y&kdS`fYdrR3vIoM}>c!HtvHb=|B2^&leM&>)!v1sn zxbw&IZv_pW;KriyV_Ej-8%Y*n9k0PL<&LQuF`$x#4mj96?tN5b2*;UEhkdbHy(>Zs zO^a~G+T8iwQD^YZDR8r=ksrsTid7T~&JU(0u9{y1ffWsB*+@Nvs^3H;&<tnf1#vwm zUi>_WpAl<i#s~^tY>k<A10Wy4sVz(!lMUAWU@e-Wa77f3z#TGz{@j3&zShRV@@92= z3&jy>SZnHUt?t~<WwrTRRE5c_Pf&l);fbkDYsUn|HmIy)Cnz(Z4Mv_d$LW66Vq`<0 zNrgdnhLLev$z^ev>c797H=skGxP>2+)=c0f8;*a%gTSqg6>oybJ|epNhoM)03%u!+ z8`xcB3)Kt*bUy9if^<$s`oP~=8f{-M2!OK$T@!v|T1b_Nl{Xq7jfdw1*8#{)_=jG4 zO#7fAPEcMm6!UAX@sk7X+tmgSr89RMk=CxF0Odw|umK6&Si#cIUi2=Y9u{}WP;`(h zBay}9fUlL;4`LX$1xKY8Bd@9PN+)+Wg5d<iczwv9Y>lNEZ0_W<vZRD(pTs&jfr&4o zd#rVP7dDlB$ol{Dl)6+$rChluUsKZ-t1$~xB?1KO--iz!v<LL{8_yPhIMm%Ck?h6T z@Q(=EL00YFui<1qGY*ebNW4I1D+Xu+bFgD^Swugbi3uQFx39n1$ALsN_`sRgr%t8i zsv%(-^j&>(o!?l*EP&`r);C<!3gI{!x!VQP*IA*UZrVXzRHr&}2qt7!h%#E{Dh7kD zWf~qFXHnu_#~8dQ^ALNX!-|9(x-eXNx7#rdGXxsEbD(82?aG*7&Qf0P(wg1A&<{@i zZGA(a$Wlx|DnUZ)EpV+A;E%LB1y-8YULoWmxLaDU5^?{RhP%X&-q3T;s1J*`ejHgW z8RRoO`+jRW$Lv*jf0y}%v^vYyEhv=rEWjt?%}uAPy^b-Xl&+}>xA(-q3~n}$NO*qQ z&nfd+S)P#!8GfNj`VTQI|5yi+Gk#BNV!NGgLmKTS;3}8q<f{&ZtlQpiZ2w^qzA|w0 zLI!tc3qur0z_VAbBI!<a?E?8WG;N_+kGMZv9>whjnC0IM6R^B0?@XOzVz-3`wN?&y z^&DNrCc-d4pWQVxw%Ds_l=mdm?u80>zdjJJ^LK3dSWg*s!_NaZu-I{)w#5Gsu|#&U zG7qjY-g{Pv-iLpeuwRS5>-+rALdtXVriVeYCsuEV4q8(VS=DnCma<bpHJbw23DsRA zos98in+}iep1=q%1k0Ffn5Vw+0k#dP9ke+{(8g?f+8PWb8F+AQ1ex3)o@)#etsHv6 zj|L_Vvb8BEx*Ugyj9qpIy|AbSa&W<K!Twb8HEyxvPM*NKM(y@jEZ)b?j%Ez#U#vW- zZBZs9t8oh?rX|!B8MM0vx;;*89_%Nh(18y<CTphP?$d8rkno8$Hki<p5KNP!c)rv= zaneHAMqf+68`+`ko}xto92q@}?_0665iyOTA8~)YO!&^mUwd8Xfjn5wHg!`Bg?~)b zA5o72E8nf0{C;hL`|rvjzu*rW1FF>klp&@@T(WG3qXtjzjmM!yE>E4u-dsq2-*qgo zS6;;(&}wswI=uOl)UulslDbn~Z+VEd1hM!<eNYhxjOf2M4h{qg09kUZb>bX4;0eo- z_LcD)${-kFsyLi0_QV1S(7Ba{{xr4%(+ky7!5a`~^-uUwvHkd3_rafb*(z4X#u40l zz`idx-O+e#>o&3UkU-lP=aVx-`pvxE)nZx>q@SRQ9xeTBZ^-hel6I0tXn7rRA{GHM zzY_B}E<E9&Emz8gK%R+LEXP;+GV;y*p#h>B7w#9BUNN4I?+7R1k<W*&Hmz-ZcGJ&~ zNgih^+!I`Q@D<(Pv}Q^pAEpWK*Oa{<T8Hpemy~;MDUV+h`HqYBNDd<7$^+{$MzVNp z|Ej>TXw4p{U~l2>14p&tZ<OXCyn7!dCa%Up^p>Z;bO@)EUdRU9q&!GW|03-`<RK{G z@qML-2<q-`xA<ssb}?dXp&bK{_^gQhSNx!di+k2b3<vI;_+(*y*A(M#-SqeCznY~u zG1LFY2pNpN8OAWyeJ!t<;~<eS?%s7hsH^n2Til0iyHdH}6d5axP?uc-dWK8|fb4XV zMr=fGpvSQ^|7gCMN`1&ve29cR@T}W@T8}#qfaoD>ExvGarAKGSRXi<>=x5BH-Hr-) zJ!p7+R8Nhh6g9^FKQpXs+=#*BtVzDC$RhpzYmsr11-Z>#hDQ!}oB?apHC;8P%4h!a zUuy{zkE<Ug?t7#~I+&SHIj#=CP?I*p6f@dXvHv_ma1B781Xu=LzGzwS)EC}YUB*t^ z%7CJdBE;1fZJa0mf9aB&30BwEn3z()%2QCxljLUM1wW&m>IfwU4F!GQ>b5du(0eoe z9{QIaI^IF{q9L^iRYJh&A$dMyU6{U6q;ev}76=}B>6`vZv-hRwVn*TqV#Y&xGsO!C zSbYB;v)+iP-jKFv^x%w-ZX|<Z$a1@eH`C7^cKK(B!+s_wo$!+dC3~i-rXDvz0-Sy! zsZy8d*wMg?-ZwmuNI+J6ZZwnR4)FfID-NJF<N!ym`L<ts8nUOQESpw!9#M(1_3+{v zz!QX+b&kUiru9FuI33+lb}0a4(EcaW8gA!%mEs|xgzJha6^qIC9iQTj2tC#qQI;Cm zZcrHc;+h*ZC<O4yxLKkS>b2bqqteD&9RBQEP`LVG<|6U86&nRkzbyIytOqi+yP2Hg zgqu$k7JsjSS~1SmSgQhY)mryu6jGvmhO7DIQ>wd-%9%=}ypdda2N<o<KVxLjgNp;J zdAD0kl^$cr^2^Tv5kcsY#K5egf?)z_i8#`Bng4`{wp1DzO<hj4n3%$z^UKe_&`|7> z{0e6k_<vrSjPk{kS%%h9n(CoB`*oqiOfdYHvlNfyVYA=LS0UUkXQTP>!$jZmw#+b~ zm_+qgECrYE$5c%_s@Y3=QT8Z78(Zw~iaC*u{Y$oh&~VS}sFAFFz-kP_#r&+*8gnM5 z91vwM6}xQcc5}Umf+=_j_3~nBOG!aFEpJRB&b$?Vt<@vk6*L1($y{qC+ETD6W;zgt zxP~<(e??c_77euy2tGJb@N?xY$GPMH1bzksNkE<$$~Mm=fXLA6OyCsHuv-$=RU~4t zZfbzFrfDZd>cQ}g8@AX!)$Y{W8%Mh3K6Y~+uH+y5v+ra*saaE7sIjMwVjx?!@nETj z9MV1<QMuM4%@EtW2k>N2c|o&5?b&3CeoNGH`+7&X&hXx|oBko?sHMi-d9R0BC^!zg zP=eNYi&VG>(G3$2J>zkgkZENi4L5v7V<Y2jmiGdf*(jp_ft;Kkw6Wc<8a;<x^@14k z>FL*uw^&w8)Ij4NT}dhe@ciU`!|dzE)^TXA5lPh6)3zEs^YE43mJn6}-kE(pn&;z> zr<dc+8|)LJF-K3tb6zgK2psH^%@?fSE*(ft5BvcyCfR3_Afe_nqlfWMhkAb>XIH=s zW|m>!g`O-jULcXQ&&Z59DY<JlZ_9{vM9096FHCHv@j9D#oBT0lm-(WVPxa*4LW#Xd zDhu){LgVO*fbek2<~oKI{pyK#{<D27;E!v=o!IgD2^Dc`f6OZ2AD?}{@6&tB!Ur*@ zudNTEt`pvly51`m$uATiYIOr6p!`uhc}+%9M*UmC6V_G}e%2+?m%d^8-Ob;X9kaK8 z@Uk>Du(VKOu&qV(td0Gp%4@nCJH9ckGnPs$P=_-<amaY82F-#yYCexS>HF6`?rLX$ z-;M9pxclO|Y&}MXd$~Br>!K>lrj8<is`t6UB^j@2vOh4a+l&$L&5_SEmh)G9rTqea z`jKad6rEt{&hcZ&v3>%NR6RWH5aQwz6rm_!QI2Bd<)?Lu>Ds0BIZd5^^pz{n@SQlT zJrbr6hd%lkLNXR`z-lzagtcO$s$I$D#rDV@{nqko_xRXo@b*@Gn_S6e&b(9XQK3!4 zpMl(>8Abm@eY6HG!-eB{AJ^>*+1g~AgcBXnVYLMiq9s4*RDu03ciSvjKGt6mRo%E6 z<IEoV`;=|CoqzD+Ze&Al(9(_jHuuU;KTq}Wxs8<{7wQ495_jAQJ!8i_n76!qK)me! z`d$>=jbAq*2A$`%b#ij@nfd0>#xO$_j|GCaznQ$gzC}v`TZ59IcP;EwWds7Wvu^ri z&E55c>YB|i9(k!sb2a(k?P_vq+{-+1w6d~yCsL*=*4GzrzmL#O_sR>kcF=0N<7dYj zp|hqOP~BURYcZL?{=laWDnNWY(!pW&=oS~XYqD00)P0*ySPs8ms{Ch1UD0S@iqZ<U zCim?a^j%Es^j0h7wi$w&t&RO5m1D58k%-QAy@S9mkTcQq<-AssL`y01@hc+IzZ{0< zXF3_zSGyOPHOyF`Ez|hVms~t?ds^9CVVDu)j_d(9gr!_^)4ac3WyVaov#fw}xu@8y z#xzzvaloNeAo;FS;P#cQqoz_VfgzCg7+w_q|5;cZgj2_a%mYE~db#8oJGdTJNU1hP zDH@D#Qxs4k?KN6Nd?w!cWS2Pn8#}bYAtY;}jB0!K&*S<~j=p8gtIWqa68syQA%cVf z*Bw=tHfjLjlQ|o%upVkypO)xM10Rc4`4aI6zk4-!oTipy*>-bHb67g4?U6C3+J$$1 z^Nu2y6Y@OL^LPx(MXaZvZEnOUF~Hm1d6rs6y_U{oM)0o5fIIiEy^CzgjyI^4U;0nT z>!}_N#WN<2`GRMEzErpZajeHHUKFBk)oM_9-2b7lXi3r9!d%d|-E$8{YYw?*Mcl4~ zx&e_HIYrJN?fW<-{nzDp$M|5tGOVT(D(ox#;4adSZt-Q!;bCLGJ2Fjn$+=m#J-P*$ zIU48;-6i$SD_vYeU8nvl+t-1$W}I&9xI7Zwifj!x<yCRE3_`kqzHKDvwSG2_cTiuM zZ$<)+!igLphOc<}!Znkk)vQqJ);`=(Uv3uM`K!&%+OGNdyzh0JWj4b#<%__6OJQGU z*Dy|!c>CnSehx{^O5~NBQ*fm*Q{79#vK@S=c^4rfXY(*IN^Pd#|0YNep9Seys!9D{ z852x_)5x!|3!yvDO?PRJUu5)Y;F}-Ur=C@avz3e=r&@hz9?4aJj{+sdf%HRUgrfRk z+N}fM?FqryiKr-}cO9!9m~82(J+E(hANUnZc?EEa&Al1e^#Q4^iITRe>;)bsk^KLd z80_8EF9*K8@=RZ^p=!9h|5rvf^ZFqVruAE{Yja)3^|>4^sN7S*;boAAa-y^`S01#` z^sa)MHSF22sS6L;Jmfr~6$ZDxZk}=}QOSt$|4>hZ_z?+#n&K7L;kHxWeLUY9Ufb>n zO!WNNcwUymTl*oCgX`kOGhOe7`&2E(>I2%$mMvv|iPB(W3!|;9nFx~C2+^i?e#ECt z1UjWSaR|0<+SEHcry#U!sWCXL7S6>BlYa3wQG3P{h!4MPFFQ6AT@Y+9L6&@Us*0YC zyX1;D3z>08whoq_pWcw$e+tw8wEA`YJJ;C@62GqyuW<22^0!z8o)EEuOSq&6a%F-P z!L*>_5Z8iMhxJfk;IV<YMj>!iKE!j?Wgx8LMa5a<TD7fm1Pnen^D4LAVT<Bpi6s5x zzMq_FmS~LQ*0z_@b$ojI_@s|kXXx1Z5&w#I_2#!Og@3b)Hjp&n32*5Jeo3;QOx<jI zo9=O1d-8~=M|zEN;o|lQ{UoOd4C{FW4||8)hC)JX0(2S>p^I4@6-To}CM}d_4?iB` zf-MX#YfBfmh4@<cZ8O{UCuv`3lDRi<3~Vk9Y5Q_iO*b|AgLI%>q5PSll#ef8klT&% zja;Vf$7!6R>Yw|vNl`TLt5tlZcwLMeiUfS0ZM{?T+;1gpV;w+xuD|nyKRGy?<nWy| zk~d(be82T}FXtaWN4Qg)T2b>8yvsBoQp8us)t2nlM=9MP(CB*xx;rbchl4cVDSAT0 z{HAV=+=sN^cq8)xRx#mY_n|Ixr%%>vsx2Nm@GbS^!^qWk_-v71*y}Vih&aOl0F=P} zh@awe`63|a-D6+#p_&hika(Yw3#ar|9|H2D=h+{p-<K(Q`AYw79iN^&l~g3DeWkvu z)f0WXBm2^rYh4)O9zcz=)aeq}@*c64x4bu5kzk;NkA*dElR<cO#XAeXF1h+wJY&QZ z=1fcfz2Ue{7z;A^_(iYlAA0i<sL!J5QMSwG*ydBIo8W0*$H+je`RDgpnG*{5f#|W0 z4&;D+=~Z9FCsSzH1`9ItHHB$%$XRz#GTT>h1;T~zl+NuCY&Cf+{U!Z-Z}51kX?{P? z8*_{FU{XCrDrI-qg!1jVTDjR+MOLO+wSs}$jlB)Omc5Octoenvziz;;{h{>HZ7^sG zeKqD}IPr%jTcWA0xjA;NcdJuHOv<@Gs5_*hbb3lQW&Xk~ivFUG21b-2{^eByC?a?v z_=}4fhoOQMYQoKJcYUnb9XyKrdtOSxO3_@!(PnJG%zcbvP{m3yxMnu%FYz=qMhY7Y zwC$-E#5DGqR>F(1Gd8iK8&~WpkCbu9HDwn|-U=RHIsB)%u?x+k;#Y=@>)v`@!-ndN zxI`<0pi2HdRMlv%syQzkh5QF*XqmAMf4CZMXe;$UjuZ9pMDb%g;LZco#^!Tck%q4t zvG1kd&q>qThKpubL^@#&3il$o;)Io;jt^STfhGkJ(QeWsCFWL>Rpr|LIPoN~^nV;> z(aT^Lr)VRc%&;^yJAxI6ArV_F*0kfay)@G~U>$fsoZTzE9B+wD7~X^_nY1IUvugzx zQ={_g!|*8f*k5YMr$6fT<8jW5@0XsTecWvlm+UWIXG~aF!on!KhBnC^m^X<~GyHyK zt8<f?Y)<}acDwNEw4_JPfsvk_bd)fLR|o>!{vuHS9|x($4-sV0Sndk_9{-@B{_E(* zreVnGped5=D^Z(>rwg&Isr&e`)wvX~_m+1#%z<pFfdxrKvww7GU<xc->r=ffe7!ME znUe!878bcjy+l6HUx8RMPo5NbIwTDJJ99CK*M63&)#aZln2jM8D_KUbZ~QIX=llBM zQpnszoRy;1)Ku5R9?>njV{4*F!%n$kqb{>LL51f<jF;Zo!qkIq_iRRk__K%B#$}%t zd^(C45?OYylUmm%EHL%5*`2EL+q%FHv(g@-3$|<#7WBZ_ti;oCfj9Yq{*%z9J66A& zL{kay1@g}r7s?w`rL|-}1OcH{s<GU+iNGg7z1I|IG}*0ug;K0lFR<n-f&)5LH`3SF zk1R?6H*<l}=7ZPFEzPRI-q_kL{D>`777tuTRr1`W%=Nm@c%057K$06bQp||gV`5tw z|60!zZM`>DjD<W?Cw+En-|8C45qd0*CYH0mU4QCC;n(xfH`7;%f*G1m6w+-VxwW+{ z*2CmszcKvi9$omHa#Mjqp=a9t1vJ)wd&_CieYg~20i~*?&LC)bOP)-DvYT?Ei(x(D z2yi#u{<j*z3L78*Z4cSlC+=QOZXKZZbUt2a5^Fg}Si4rKtq%%q$4~_^(2)OkLmdOy zMNVPS_Zy^S2_R+IqE&q;iSe&w&slGnn;><_5Ld-53|wYsNIy_jy(+q^7s>BI+B%4Y zn%~%8-F1hLzAG#Q%y7Fh`2%zReifd1p^87G0?iug+iTFwmU7~<uN#Ezc-2gNOsPj} zp^&y`z|KxF@ys=eI;??M>i#j@B<*Kkd83vrM17yCiu0T9==!S0?w}~-KJEQA6lXis zn%Z_2Ul_#>M^zaVU2=);r*94?HCD}79JUI7s|phu1iX!f{Qhi=kEcZzJ}fFiN@eMs zx2@dkZgF<u-pcl&>gR0qXuX{@F>Hf45UT2=f>gi(*E|i^v0G!jThFv1uHMmkzsrt5 z_HXpz8EY11<9q+ir0nedyM=^VhFxh08v0PcHhNQE0K3HYa+cm`d`-X~?k+HF@PMQm z&oV2N{50W0A`A$6Js@{;BbT*lhYH~`UJ8&}tgf(>^1{S_9Gbv^6&Z89;0@UNcVZud z*-G5L3MST6*+)`evm=51noQ7l@txLKeO@Ieje-Ex7@#j^<P6PbS|R01x}T?6Qx6E) zI(~&kWB+lKeD3D>Xq&CL8q<z5pGZZ42SRuM4pz*BtvzhchQ7aU%&~~Tp}|xdkcnrZ zxlIn+hv#Klwkk4?r$zAoe1C59WJDJqUsM>w`%|{PtxwgAwLOFD(*h)SCB@A9amI+a zDxL}))cW?G#c3FTx4{ovtk6X<6Mk8*l07a*!3{=d9TT(KHVN~%JB9g4js8kka$3jt zpx=eMq84akSo75%COI`>L)BmaLRBX&weQdPp~Un;=Y#)nJ$_*#{<=1j`J^M;cG*oY zO}*H0zDX+XiSm9^kC+Poa7U2Jo5ym!s8Bq46tKGKzMzD{362M=fCM`(egv}ve(l%R z<KPT+Fe{Zl+IbSzQPk9>u<}Ct?R`GaLXdfw)r2Mtz+xwfD&Oylyvp(tl(QOkBp`PO z32YwFQ#JT8h{FT)=KP44!^3}ZE0_7f_%w57;kR=-2fgp}V^{^u8eoDuAg+E=xg_?1 z`D9%q_`rjf=J@#LBQs7p01<7E(rOI02ehFvY)QBLW&i9n*M+~yi)=TYM5@P*S%l%= zAwSn2_s<T#IPo9H$!S9Y;B*jC?uk3^I2b9;ACS12Xmth#GG~8Yfq)CNi_9n3y$3k1 zw;#iuw0?AH?HUxuU{)5ST#C#B4FkHYrX4n!7r6=uC6v+Z{=kDq*F=-Ma>a|MsrzXQ zMEa8s6Q$Z>B|!;HMC1&15O`z$qOB)iyWPN|o7S>JA045J$D`?o)swFSTm5}lP)4EG zSCJ3nY5i+_$~eyL?ieh)YWf1<Z(cR}?gy$*dplFLtLIE{g!Uo4tHC;tOgS_}|6Te# zl?y4zbhd=>f9T8VwoUCsRG0u328f#)ackE%PdH~4Z|-?d%U(_|<Zuu!!EO(>*~dU| zjMaMyl0Mm9T&&6M$c4sQg<%)a|Cfta@%kc-S4TGAB-1eGew-FPi1>AvoH1Yva^)A; z(RhCpeEhXY1RZuW>TGd%?a7^oMY;B2Yr(c*iIiq*t9ndF_65(09T+~fENsOPjZ`m} ze~~!~US<l96@JQ9_=*c3!}a28T@2?OI8y(08>T7@^pidhWjA~S29E3&F)f``+tDd{ zG-5V9F8*Q$7o{i0S9F%K+yOtm5#_sOIM`k72yU4P1A-#(8;3n+Cr?}!^})iUf#6ex zwJ*F?5Vw71n#B3`r6vEKgL!~KDj&?Qyqc(ysV>njm2Ky`_$oP+owwX^#N$%b(-!*H z44}uvMu8n+fCjsDC^6q~fZ$y!aG4w@-kKAbt9#qK9g4`k%t+NHr$QRu`snul@kRPX z0XR${&3Cgnw+=qmj_u!*;5!J#bt*|~)G!wx41a5|IHRo%+_=EUrnQwVVj7Ct`b&?A zwG=0KNV;{kf&xocBs8^GDD2XS<~8-+!wvto)wG{aWe|)zJ;+l(qJw7{AuGtp6?t8> z?dR0<nfg^PPIOD)Qz7|K>COG-R=hv?uGR2)hg5;vJz6;1WELDZ)|^s#XsGd=7<c+X zvb-iYAtQ}|mUvmS(xPV02-93Jwx2v9#i_R-229XS#tj>P9g^Pl1CGr&{XL|2{PRGQ z73GQEnr2)Kw>Iv;QN~Qc{~KYG-Jn^{Q?Xg!2y8a|f0xwx&zV&8op<+$*yj^ae-dHv zLBGYL+~*?9exN2B16(rD$ckLQ8x=6me}+UE|LuQ`Cua)t<(7806)+~QT~}M+F}7*N zGnlE*@7tC5wIdGI8Rugz{+<sWLkm#;%*Angnq2-2ElW;Lj=}cUqrnqI3+X|Z;7ON` zg6P(D8i_(PD8aMuJyvD!HoWLp9SIiuj{}E#lwY4s+t@GIH|l$9^5b#yElxtCem9*~ zDQdsi?zpVU)HwAv)oJ$K{gh6XYnP+W;W_bQJFg$ig+&n;Lx8yte4E#-Mqpm7z~1dv z=aJL{c3W8KxGc&K=x@OhH!Qq?hPAb))!$FC^kg6Q*>=Fc(_!2Q@`3&5CIuxR%=4nk z`!=9LVyxQagtexO3Z`HC{{8a)?CD2A)6Hd*Xz1Qo?4bmiK@%%;cJCb)20h#5VsMg* zX?9Ns+_#qCgzZB!|J*RYX~g#OZu$xQqvyvKiwoK<Azr+@3L$VZ<EvU|>qegmHZb-( zb=4Y-rY{$`_8E(pC-G~~dA-+`e$_;M)g2vrz9bk?4Wv~A&^f$kP3_;M>EkK}VPc)6 zbRE`_L&(#LPctUK?Ha%uJ13R7s$kkD^40x&6idg!?~`S<CW+2BlY1yI66WXOT4H0u znX00-4udm(qI9dr6Nz~)jR_lSrVEg94IYtadw&cLSA>NZ%J1!*Ol+&~c%AIW6vVxg zc)+}hcNW1t(poub`bS^+$I5mkW3sC0XK~d&JPsRwc(mEho``9~0w&t~yShe{C&_~* zc`tQ68%&S{PKmT<d%j3Paj1mSGGZ;jA`CS;g~%x{z33p%BmG4S_@Nn7tZO0eX6(1a zNiMq(>jI<E&<nHano<17IfCKaV|I?N0D0dBKakF$)W7z#ij3lW0spYa7~5rEB-2r+ zOIpa@*t_>Ddb;d%(;gNZ4(hHLWDRTt)|hD)wIR~4^^kDrg<`s>y+-nUe$Es#R88@l zg0~(0wib>+TGc1nLh`_^EGRvnW<-yLikP1IE<|HQQ72kNZ5@b*wBy6>)JFQ6k9zXU zt=mm20hh(~ZyjP?dezFx5H}LGg0A%{sv#=K=#u4PJ%nq%wjxTi+aItn@Cb=S7~WFd z6<k`bLtiylKCsDzd`df1uDwLqsEy~{o;p<UQ@^SXA^M_6|LIJcSFP#1)YRM+mhFIZ zie9qa+gpaVZ^W>3nER`t<GsC_?X*T~4XhhRSLp=NWhy-F0rc9wQ`f;U3FR%r@M~PJ ze~1~PLYK~$T#sIf$JPzae1Z`wi?2}d`^A-E*giJ5Me!8n(G}OaZB;}&J(4hW)kr3! z3NzhW?3aVJWP=kvodCV4`KY|wt{c#e1&`I^bEf<}StMNufcIOSvG3+QJ(IUJGu$-2 zIWvacwg4;$)a!$<;-s#a{*m4j-4%_5(>_N<$621d@UpDHl^QRVEvCKKy)<A0$)-=t z#9#?MI_Ix^0V-R2r_Wk+W7YS&gE5%I(hcqM-lBTaPz(&qx7-^VVBwj~1f+3*@*Vy1 zO^CaXlha?HV=*#hg@6fu*jXM$q7WGDcC&%T($K9L_R)3cOrc>rd7(#qFJ44&*6Q<A zSDIua|Gz2^<AqV@hWi}b*;|sj)d2yQzREm+pJkS<V0RZPSH!YSgHVj;XL1#pU`H0* z<%7U)y|bo6#sd;lGs%&gvwSn|kpz*~v3|->*i6aavT|rxBWW>Ogz4@krfWJBB9i30 zG`vC6^&aI4Xg>bWyy6!5ySxc^==qf`KFm(@#?@YoaG=}7Sfm>XjzAZsS)bB8@pL$P zf&l`BjU06Ey*c;+^uxc3&kVJx&u$oq6dC1=bN=xBT43{zQ>_kqOkznJ=g0pr)v2qn z$|j(q(wHX*;~#0xAhqwhgItMc?X|QjgS2(a-s3Gmjn=<A2zy%xa_crOYvNM)+Nn1v z-fx?nIahF;+?+X!d=;%X`3p4S_gDWY>1s_yW3*^?av{(sY#3rXrn2$vAw7pA2SxpG za6Qw`WIST)R}<0Mcgp=C!Y;&_MmI%@tYH2OjUILgKNr6f`=e}A8B~*L{C0|P@_5Xq znbu^$RBo}gShQYb+@-aX%<5`IxIUs}+>B}B`?SCe613y9SG==R@NftH?nc{(kHg)2 z#s#M{zkMKDV^rKsHRgDt8q@2jg`D3PgJvJCja1ao%eMN)&1f;nG>OesjAu<fb(l;s z)Hn39<}b4N<*ssooL7MFLM0Uj+)eU?t}4sxW3V3%?1SlkPkf%Z1fNyfx+usnQkyeY zoA0>VrQ_>E82%FpTlupfgR^hkhXE}n^6nB^9FmVtY4eqBb51Rv7qeNj2tRk~Se>i- zP$S1pucuP@*`E<rAEg8zV=fwGYZ0?=B+kTD*bd)drMVp#%^tK_E?D#3$*2ks>zo<i z%So@f;}wEOKU5ok!1Z*7c^3>xBEMD(&m0`S23}0y4K)g^{sU?(UMX;?idlCjq8@HY z)N?8LA8SY|o9xyBOP~7uvqtPu9lq92eCWoLP@AEoB;l2gl&lDfZ~jx>I;X4+9(Ns- zB1<Y$xz*)4fy98jS@Vq6Jke2#d%nJq5u$X)O)SGOdznajUh+ubGndFmZ)`_fUb)@H zurq?Ji7TSLh<bzy2^JIMQ!V`Y=hRs1-U!oTZtJb$q0;u)@}|AB+(_-Gh8z#k?GGE! zkBEozdgV_i6q-@XAO~-|<nieQzLTF<g9)t@3KbJ@@T-+xq`L8Z!G1kZ+Nplud@env z=W){Ym2#b3wv?kv*|%rkn%+nMPMj>zSF%Q&{3vM@1{Lr)5`ROn>OthVe;9Ud4d<a$ zwl-p^u$j+9*LJU>Uv`L@2B)1SK~HwqK+>T8exI(DU)l5%MrOO{|EfTU3`pOOH3<-_ zf9!P6Hmqy(w^ewOTsdKIlc)~`T(+=ZSLKCFY%H99P@lHX=o^~sOQ0cTBtz~P2~e-3 zUHrZJRDu;=@?pn{W4`n|;m}Oarwb>g<#c&#C`G@^rgpRb;|RE|?Kj*(Y|jNB1T9~~ zN2Ds>(J=SVx51klRV>uDRIi6i#O^X#cOBYCLi8q|O$;hw!r)og3982v#SrAv#m3t^ zd8eO9)DgP{uBIc;OVocRjsnp^Kn)sC{z|h!UOK;U!uLeEpg3!qrN(Y#%=~mQLe)dW zs^pV5GoNq-$%b9HE|l|R{06g|`&2gChu0DWfji6~$yi$)>f!G&GHJ<Ud>3_7lDEv` z=|tc!jg7J#VX4d$!rHX?cC7~>tZnw_d&iFUC~V(hYmrgIhraeVo@c+?|BUS>a!`S3 z{^ZzNzMBCnc`4BX2v7%@r}O?lO8;DW_xw8N(SOIjE5t4O6sG>$Tdq&hT?Z_QAkn(t zL?c2wpi>+K#pqv|P#I`ikiY0Rx$~Fv`?{8xzJie%JyO)>_iwYAs4YKigurT?$<rxk z4vy-G``yyJ9_`k%hUVt)ffz~hXLd^|S`}tMzy)4w(>Zz;bIH1Z?|~@Ci`%w?Ct0Q& zPJ@YII*-$^;GD+EIrTIy;$YqNzgM_u%G|>4X2QIUL{2G8fZb2U;4N4^iRDkxC3&mV zVRqLLG={{D=sO1<BJ{d{Km7UyU;oy)(<l7sci7S7i!Ub2`h-m$4AmL%h6_z{D+E^L zr?4gD%7KwTi@)sWf}rUH^iX~x#H|IWog5EN&GUC!R15iIECoag#O&2if#P4;$2>lN zDWwqS1v{-6c*zuvOer}tT~L;XlE!b9X6(^hevD7aU?F0oS1x6Y4Lc0c0Isf*`v)TR zQtlht**UDRcbD50Z>Zca$54lc3HNg3nj<3y5%Fm{$rYAAx7?Col^*+0XF$zxJYSFW zST?~b5Hq_~(brIfLv%fQLbI?OOJcA)Ox8?ZwK;msvyPvTr1XE1Ne3=x*U2({b;-xc zU-I!WTESi2Dd!ntl}VJBT4r0o{R=|xo@CKK_c@pQT%a8~G_W(~alGrqoW2g=-Z2K- z<hMk9+IN=xmRs|VSb4!8?u2NTp&LGbT3fQUu>%vOP+gHum%R`bad||kR8^)`<E`4y zspS_mN?wu7oo|Kb>Wi34@7d^OSd3-jN=1pjod<MdUy*IHeBs-i!hp`6;&D(ODny^x ztG=P7A@iCXd(c^Ow4TU}s!;i<?sj~e=<4kD$Dfbfci+-S)aL#bs+a@XHta@$q9Iy} z?E4Vu&L`kb9tw6C9>edBuwq!b2D0ei{Ba8=WB%8zliE(!O+dgtSBBT7P?tvx2;T0u zR!p$Ni*7#mGfdORO<*2-Z#BX)98t08>qf_pXL*@58#SP{TsBWN$`c&WLx^KVOXOq8 z_=6CEeN;s;80hz2MxSE(MJqIHJEp1mr?^}|oW6)9Dig!=uBe!a;3SW=X}(k`sCILo z&`5oe`pxPS3F*9e_xiMkx=Y){zTK7rWRvKx=*OIx;xFq_epaqE=iSbLb9U6~gJ<jg zt;U+E`*FeHA@AqG$HphWH$-;i&zy@E@Vg-V;XB*tSN^m9=5v!qdJaPcPDN6b@||M^ z$pYXwb^S47Skl-OL%cyU7OAcYj{s87+7LxE<70c|IqWZ8eQ{7i4OA%yD#_ywOS%ks zhi=mjQfPk2^TCXZ8+XL4z_&YBR&RYwrP|2hO@0wiS5?CnJ$Hqwe_BmS$F@X4-9aEW ziaFp6n~vX&pB=DQPvc)@ywNQca3Y>Tj&$WE7yS|_TM!j}G)qI{Dbe?pokV4x>dP1x zjc)l$H)F*PhYmJ<ZqI!UPgIHwkvD2UMd_mSIu`zhDqH6nJogFZ(3*YH-q8}K=NoO^ z*q_|;KZ>rypUwAc>(r^crB++iDr#@)+uB7@Ge&EZ+IuCPw6%B5v_);H5wRjv?GhEF z5)qq-*g+!6?|t5XAfM#P{oLoA>s&+6{7X|XR`c-W3*d>voIW~<dslYABC=R#O0q;U z#Vvt6s21&7waKIw(8hJE@9<XORSFvX_e(W!KwD;Bg$Hx5@q^07dj1}ow&rOOU5bV7 zIOD#({Qi>r+!VjoOI)(yN=ligCMB#kPYz&xvuta9_g^N&u7{|u6tL7jC+n|CYPVYj z-<-Ak`P;SmBx80Lr@>W33$&L6aOj^)W})zxSH*9dbcJ(uFoA$G@>o^YzQ};e>JdaR zFig(j=bclc918$ftQ&Wu?qk9Qi0gv4XqliXdIjdgQRmmR5;gtO*6lO~$G?jMB){KN z>Jj-3yYl6wp@Z<U>?N1VdSp(vL(|y}`92yWkn(K7n_SsC<!tuE-lWP{{|6C5tya5_ zU;nrM80u_hsy$HSiedzd628k9W<K{1D`X!5fSgFPo*4JTm&xywRTsBYoC5onZ0_e{ zk@O6cQsJ3wfbwW@q-GE=?8&#chlv{Q`@(wwt7@RHy4UwzFTQgnV>&t*oA=9T42(bv z*@AEEGN**Mb;X~3T{uzTnn61_sM$;3NGzOWD6*u12bfz9>bu}Gc+77$oG-Xf3sLyw zYnwBGbLCW++dyDIUft5hmm7BtiLf>T-wFUZGi-zl_t^*!2G7fXKSu(Ih7=N7t5D(^ z4!B$&N(na9U+uBVbaQ(hyr=yrV%Qsqo}nUOq<<qN4mJLAtvB+Q?i3c6jV{0;mzFI3 zF}n`|D5lx)y7y4+8ET3v;6_5R)6vxoB}YeI%0kt$JrssNJ#0U&zeHmru7ss`;OM-X zcl|0Qx2CJYh0iJk#vdcSDG2SOQx4Cq7g*ZFX2Wt^b4SFd(0}5*vUKo41}yNoH2XH{ zA%ONuD_NMV=3w?ZHW}nUL_N&ig>OPzWafv+EG_LPX{|V?B$@v1aj6oC<8FNK(heB{ z+UCqEWuC?sf8P+?$RcJADsniDY5pls$V@}JU7@^=-DL;ck7Q(N*+>$>0HledkQ|C7 z6$UgkOLg2FuL&CjJr;O>z&sRW1zN^`TW_gpZ;iS&j48=W0pH&|%tioruDgyK+i3x9 z=5L>9nd!2JEoK9slNRvSEEYNo%}}Kig*lP~$1lNawO}<76Sw`y2Wn|rU*Zg3_k9y! zlS;$gx0lP&oV!Tcc=wf(n@wmM%VGV3iwM5>WCcG;v(;uo*G@Px#kqMKe)HFp7LS#P zer>D()24656uaXbSG^a2^qz8N9xxGFQmpSa=OaAL#h^=*FNhJW8K{6Js%pXKe;g>w zbV5GVQ5)XAf7LHb4{-qO(e~h`q&NA%@P^c7_ip<bJw7?<r^Cm0krh}}z(u6&`3bNU zLA9S}q6Ov66^;EHaU*Q~wGE{AH3Oq7Z_Q5ds0glL88%}s<;2z61LhvP?aQw)&>oFO z`CDM#C~G>5Jg2V_PR?Kj_CX~7gy6HNWl-rMHh=#8qT>CBt7tLR5zeP<Px@rG!NoJh z*1eH@0>$sBWU`||UVE(6ZXITV!Tyo|C`0&TKhK4yn(>0OV4pOL_Zc<^&b3|9c68X) z>4;#@6k2rokAEG(Z(q*}7R<Whm_>1Dh2r?YVam?nzyRI9m7PX4ty%q#q3+D=piJ)> zgAMjwUb#sJZ*V&AoQi#L=Q|)$eYfN~%(Am4I?TL06EScn`OF@f0<whcu+bL6`G^jW z>O9|asIpIw*n%iWDpUYm|96cV1_(bN^OQ^==%PQC)Y~FU5!sigctPHjUU`^bfpvCk z7`0*u!TgL5D|pdlt+Dv>aKG>H^XfO#zl}&XT4sF2bo0NYiT2BeUobN&{k^Jyv5v+O z&ca86c%eXg!)0yG1?kw&t8wBDW{GWLkshsnFg@@C=@g%Mm_Fc<6LTk?Q-vdB^Du9z zHb33)HZ~mruSh8&CyC~^oU7kW8-GVR-0pLj{1P%2j;+gb9~SkUKue*8(ze&NJ+S`w zg5<W-%e0EWZaTC8(Pp0MYyR&Je0uiH*qrkb1xo!2UZtFwF1EqhWHKXG`!>DY+muxU z&B8b~5rOMtB>mTa3~27FFa=O>(b)w=EZ4E4)Nm}Dw`?skqKZgYU|V~`00xHg&zAOG zkHC9Iozz#UHmcoMx+r}*RA-K#+y0)h**L%!cP1-Z^Ck?J12@q~@!Ohw<NA&8k$TU- zN|p5we@WBq#5Rp3*^#7dq~ynlvhQEXY2U;~`;(X>JyPrml}y<?6&5NQ5J4wYWKFG^ zL~Gc;nX#`*B7MV%fjig6V^ul<-i?+!qBVJ$nQ=*Sn3HE#Y$I|u*iNaMrkE&@vbV#| zg?rzXJ*{eOK6=0(DLC2eK_t$Q0{@<obetj?D>lKI=o%AVhv|MEXF!*6VpkK|+pwHK zaRu3hAl+HE<Y!EnaIS>9>x1anvwb=Mj9Z@Bk_Vv079ACl;ar75+i^2>O4D423w-aW zhm#gLCWsARUeyvBjzM>z3wDjg{0G>Pw}+=W^nB|RGQdcr@s?+Zf&~`C*r7e<GwU19 zIO1}w`n=$=i>}sVG%slt>_7ERHF?0Vp8<;s%*v`oINAKa{&>*b)Ua(v9h$ao?`m(4 zFZWu|n`&HiMQZ2n*SLx_U>P2k30XC@9Zm+=#<!w|0(eC|sq7a@*_&zD4%Lx|64+MR zz`(HR)Tt`t3VOPH#?9yDBa<2&L};1cgap8om+6eD#4Uq-{m{7O(CjK+jn7kensnAR zTX$2s8IzwJjDrjoWv8pfxTY5wt}4Ay25BU-F-HnsI#S+NTL{Pc4#SjGx=yB=p=p&C zpUpsM%3~={scWDzoF{q#NQP+oIp$=1;+t5Rk1Si}DKw?I=fxVuqeGH?;yEz=0-?B0 zfaR01QqEP~VA1@`S8{%>{E&-ew(M6ID~?PwLDL)dlu&!PA@*5(??)--?_b%A(JN&d z&?3pd?=9jL5z*4fy7xp<>EA*Hi)p3N(&t<T8_-Lph#?CqwM{9dTTqwIFHm?X=lC~` zS<jtKx{cMvdkgMcoBn29By&=*8eKSUL!RfC>`DPw5iBnD((bQD2lwlRO*qC;JnNPJ zqcM#L*Ej#7q48vU$tj>k>0UFI`u+LX$e7_inGNktQakepJ^rFG0QBI5L~60tyE*|j z;%Wu=DjNdBF&~a$cV(H6=eFnN-F{pib(7V2EC24zG~XqAtDhT<FE=`@4?55|CRdN{ zP8$G)$4`g0>c>ebe4L*Wh$-dU33$Yk)4$)k`cnMwlDF_=(;6EpbbA8SZk>Z0VvMd? z%Z60`M?E)na+|Hs4>j788ac8P@o!(jZPmH4sbfmKZ)Sgva0<rjBnO)dV*!95UiX)& zOx9Xq7RtAhX;|v}CQ~p|hR%RZmagWn`-|=B*1*~BNmBPBhGaMcDP6*XowOCj8o|hY z6xxOrmBAfEuG#>gdU77}>Vq@JTpWP2a6t$_?aHcN7~n<4-h#t&Xf0;C<O-O7G+!+T z_jJH9{y;MB9V5y*u)w{zm5cyv3KbPa!S>6{W1#b|zaHDuM73_yak?rsOe%x`aV==E zu%0NZ*$13u>LS0M)}U^t5hjsKyRt$4VWg_&Pao%AB{p%XFu00<7qY1TYMU|IGG(%+ zC<5el(xBS*N<U{J#Q9HH?FFM{OKXs#-vN++k^f6tUA>J6fqgoZJc?rKZioMZ@qmyY zq&L<fV>9lUDPp#&Qfe2kzXyL{a={TJhBtL7H_PF9;P}@C9(BjY31XhHqtk(we&TKc z#Jc=>my!AMl0~BBIsskf)ZsY>I75n3F|#ISU3q@6h4bHvBa%6O5@XB6_v4=(%ZV1K znTTI7Q|e#nZvI@~HCFgkV{x(NmhwISCo{+?Z?I&c>a8nd!#^7rJ{Nf5-WnO%N1L|R z+@566BL#mjZuMxNIgI<o|6kwpru4JV6@ngATD{}Y;dV`PdLq9roUvT7zStO$evo70 z4_4nu`C%J5AbPs=7P5GX)>_wGq_RbEkY*WO9Q?}R?%>M3=(mDUguS?4BS9ul4mg_@ zGfExD%&=y^N3|Y~p2o4q5Gq|9Mg<UG9P`K;hPRag7Fm~2Q3vu26sWYHc;xda20YjP z)7N7B;i-?i8JZXkcI*fD2ZZDKPI$FQpo5cH%L+Mgo@S!|T>5?Ke3#z{15sJtFN#U| z5lh&ro(X@Q2u*~g6I0eg+eCKRD1Ez_$6I;7J#P2pRVD6f*mh#fV6|qiu7S))c4+5Y zo7y@E-eBz<(pPqc-K(@J&fn<MQf&tKo*$Q2!tp|Ui|?4OiMx)e7`YD6QAn#6^<dLq zM?)$)<`$_EH?;Ne+5)_r`q&~vuMyWcwJDVo(zNaH-`Mw}55Leu(}@MHJe}1N+gvB~ zmZ_CySvzf!1o+EpDShcD*sP4D)*xr$!MuZB=xN)|G_5)>zPP(j{vPW)3CuC8;Gv#v zkK>8A6DpK(Y06a_RH83>KGb5!XQ0;el%TS|qhc%h+mLNc;MVYX(y@sL`&AwayWdqU zU(21i0>rx)K==;#4#(o^3M5KMZAVReyVm-yLwvs8UDW+*EN({y_6c%l3z{5)UMD0Z zsDH`*n0`Ov&#QR;=K;YZkq3Q>OP+i>@B1tgy()T3_~`}q_%+J%{*GEev%XPy`RqIm zLfiBNL%Xzi4`ExR&f5Z+xXH^?-Ql4c=AGF~I@0SlLDa6rR0F;%8BScBvcIi=OZY+7 z)+XR^e{GoSUwC}?j;i#N1M?KKyj@M@eZdALC#`L%n%_`~DUimKcSZIOZMFc@pRo?C zsE=KdfGKW2^ePJJL#ED<)WLQ0*2o7FS@~m|7&bS{*hEh++spBIx%x9t&Vtvm(U)E= z6lLwvWVM(T2wd@w>UI8>HpS582y}14p@Q~#l5_9*KdA#kH2=2q{UebM-|yWN(!BLL z0`tc+{ewgRI9#ES@dGG|?R!51Lxt1FCLw?cP}y$qk!?gC=+b#z-<V!7<*3GJfA@i5 zGnnl3!u2foOuduxzh^h5dpLT#GA7c-R%*-q!^EYm2SAQ$rK5X+LC?vCnlxuw4U=Nb z*2?~qt<4YZbN=%wAGdVihaZJrHOCFq&VxYQZn~D2^R@;wU=OuD-tl7ej_j{mmg6Do z3dm>>hz{iG30m(|qSPZd4`Nq3o%oX11g}xB`nQjLU%g7+fANx8<7}VJ%da};+IV&j zn_<zG0uB@w`<l84bH310T1AAX%l#h8@~%zT1Qt5q4#GQGTr1sL=iA1YKXY%~Nw)L7 zn=Sq{(G8$OhNbTR`CE~iuP$XzzdqO!M?a<?%<VKd5d13-_k>iM!rxXVN@QXR+nuW& zBI5gOM*U9Hs5MlFw#W=qX_15><ZsVq&$yZ6N=oAegS_0sz9p`UU_(_9#@Ph@Ba{)A zcE4gF|BO-NKEtsi*W;?5<5C@;^?uqZf0;jd1~qQY?g8i6o4i)PBxIL9AAlx+76MMe z_|Q}>4cDuWm~DcfnEzU#=kTKOH|NUYO~$0YfBO6K;ZU?Bi16fc=5ZxEmsT_vT0Gt= z#C54ZTrGX6BYzK%Gg$tmGZ9V}2W>kQwnk2^2B1$f6@zQR!9L3S<j|0@-kql>gnjBA zV&9%A=sSb|E~)$8Kk1$R<!qB>8>yY#Ns(SzBNKJ|8Q5E#>*gW!lwg#fx+V>0)kMl? zUiz0ZRn;9BkuZNF?pyH9A;Ht+pEJ5Qr}ae^SMM~KK0jV(-*YY%vR5N1>oTQv8gvVE z>y}KMa%N*|7_+TtCRp+D>G^Dgv&?r8THTvI4G@)*XN1NTH*Zcw1V43aX~JrOo9ItH zEl`>5`M10y@5_A2eO8v9I`hO(`HUIz)9+xjY`MScK{b91s5SFKkj4e?Ij8$2z7jbB zS%@WX%2F(|!=B;)mZ|XI#qj`*&a_Cka=DXnVhh$mUm^Pz$!;DZ$?F`a<)_}4Y=+|x z*uYHlTH|Skk7Ot?g9;pd^G=P6)00She{wd9M~DT>sTdF}jXsPJ{(i7bW<?1|-z%OF zsodQK*3z2qOd63pb4h_&Zqxr%LOTa({DyO_+cPK?T_X~dd7{6<qQugNodey13e_Rs z4x3ph`~H*PNmsdZtyk}HFy=(5{~$Vx&$LF5Eg1vEk^YMl8=ZR`6x0{EA;%#Rh*M=Y z|40W3sTx@jNp%e;Wm8oKFB^2H8oC5&MliNVC;ukCf&(R`OU`$1bLT<NNu7!JCOZ|X z9z(7i{9j||W!sAMptoyn_W`Y5vndO}#<`wu3Ed2{(C6izbvGNmkTJ4AnfY08bpjZ{ zON6n`v46nBDou`DmKkv;Di-<PU@XVkHwF~jRxx@7dDI;Z?C+Ut#vi-yUAS!6$#X&N zC{@2h?cG{L)!1@dQz06zjdq>vnx}5ti2!^u9A;C$A9h8HzqH%o3$|bR^1y|(S-NH2 zN&ODFX3mI5bh_;|tSY>)_a#5Q_($^EOcC@Ojr*0GgGE%08h{A_mYlN?3-)M~Xo3ch z@4QFzPi!brcy)mDpMQ0!JF201T;X5sgCE0L#1Dgdwf_Uu(b0N0v8eJFGY%2E-)`~h z0{x#1r2=d9tJ*Ic<%&XMER$H-XkX3qzu2PnTl=M<6%AzLC3}K{nG9aI@w2yEwivI) zk>Y-Fpa<KxhMgOdle51s|2Xy(aVgX3PMfLyxQvxmSqau;AB-J_rmf72IpsU#Be0&a z`=BUTYxYir<-(;m!jlT#^W%*`E+|GuhR?&|=cn)LBFIeB@AwTKYxM+BFW9)z)o=A) zDfhxd+Ert`P6v2xEc`F6fqCin4biv1b(QFDtbtcWtv}kBxIfI-hXY$U^R4j24VcBJ z(nc^!-x>?QaZ|Od;j#aZhzz5)tiCBK{G>gibR)geNi^@UFKp+cn%72$TzhOrrU<Xf z0Nj=U$z~(8O@`_ewx5f)ngmbj8G@|QGR?5LqOXvPF=kt3NqbXF3@11{)tf;ZMq|7K z=jaITnIZGmMA2&zU<Xt?IODFAXk5El;E9(~-=dQrD9Jv9pD{Jj9k&igWK0sBozWrQ zc}od`Z!1*v55_|SeK!75ejES`RxR4$=GGvl4{`>lpeir|I$tAF8$ziVoOaMT^8`uY zePp-cS97I?6MrE{6^Wh@ZBAFYd-RMJxVNMxm+9b4c-PUM=P1$!juk+qd>X1^Io~if zCHMMWBTo(^rhMxTJ-_xqzh1VxP5KQx6=NxgzvDp&3*n{gy|Zq#bA6N!viJFGDDuyO zK&=&N{?w~VUlG0iS=l<jp$UW8z>TwR*QnsS#dVwpRN9<Fcc##5D-{t0<GR;)iv6pc z6v0of_3bvz$Y;K#$mYoEm7hhAY=&AtS!_fsJU8%2Up{-XUiUr`aJy<oM_n_O#(M!` zpt_zn6~aq5a}@6v(&6F7cv4(BtC*D*11XZ-dJvYAvP8s#x&oTk`!bu8Rr$Z3x^+cA zWar77peva@ZyHjdZz+`_V0W5m<jXa~U#yp5>lqU<m`@8&)sp47TLX=_KZ+{eDDh|v z-;8Fh;8ULpkfcUBIRR<9Xf2m)k(uf;TDMFlY(Prw0EKxM*gy*Fw>PlY)w%52rx~C# zVzxjb;5v{g2CVhLaPz+eAmYa>wU(N1#`gxxBN#70D>l48Hc80E=A-ga%>CP+6b2s# zRsLhvr8q#iziSLjq0Pq^&8)%>CgAN@Te}IHfRh(4n^|I<&hqgE;{;*<P5kS|OZS8~ z9@}p@Wm_Z{p}_(eJ%Kd-9!nFu@Gzi@y`ftR`(y-?{P^z+A?VWF9nW#T7mHkFoWd3X zS$k35^yBH^Xf0xrafEPM&Qk9q@+uStK}F+q75_}&Vzrz=e7jkV&QPXm5cuV7=7;c% z{yyi;P=0MQr-^E^h({r^bz=W7r5JSOc1kU($@yDeT~?TAvU<VmsD(0Q)bGD-lAB9N z=J5t0g?}+e4;KYWR<_6m>_&9WIW{m!$z&zHkGt{7tv5hUe~uOVA*?d+*)pmSv8$@O zxQGRq#qQas{*~SN$s3I2hsrZ4MH?30hNXWQGHGo_l2+j}cr+REq`K5bV@u^}x*DMB zGi=jEbinfD0gqu#1QQ0n-p$$1ad!oaL~>JXg9m6VZ6QC~ee}YC)3Vk0Q?0-Oj)G9Y zb%F%|#p0Tv@se!7;FaN)`lsf!?d1g|+6e`{Jt=R*FOBA{7vb_CuD3zW7|f^nQ%^rN zBV(>$1&2~z1=?A`<Or?oj=5ewBo5I?duV%CI9+~34}APj<ZEwk$(Ql}T{`JG8tw7* z!v0%BzyIPzzrO6>kSA|q%W4#A$0lb0ZrPJPlfnxDtlZ#6zH(K~=s@5y-|q=k_$ELG z#nPZ#rjhDx42Yg0ama}9%$4sNg^EE08<oi;t&ll1faT}am(7^jCsWuS&(k4WLhm*L z6Io~Y#dV3L#1hpQxjksA!&I00V{yxtTT3qql;rl5-3+IEn<SK?%Cx0-QiMUj>p!5n zPI3!Q)@Aw@<91|%?}39He)e+~X+O=I%T$bVSp867V<L6n&A9F-rSkzP@O74^5z+_U z?Kvk|``#+-vo(<&Cx?Hi|KNWdVwh3(J4Ujm1gZc@_SkTd8;)c3>pTmH4mqIh(aKFR zqk-VusP9b`a<8Wr7w!ly$``fl)m{kIz3r>*{P>4>iz3zpV$4Ke%XN6j`6Hr>3Io=x z5uc4f{K+?MP$LccbxCiB{>Fdp!|rT4TV{>EE#pCiN3*qYG-U3_{FS9>r=g9fs~ax7 zR<HX{z@Ki9K-1tZhT;lMs<&C%aB`94LU|5kHZW&}zYgPHs|lWOSn^=5v+43<ov(mS zu)%MoSG!TOy|}COeO=5V$Yc%TEF<Xj4*)=!i3?GgORPiqZ(3$fLmmnpHhF}EQWhh$ znb*RcxvL>cx8)wBU37}MyB^L`9f`ysoe&3f-n<&o(;eJY6qQ0juDC8qsuc}7G>sLT zLH5ZwWA>#A2BB0YQMjO^>FNd9UvD{tfMrr)V2Tgp)AKxFsUWzkTA^2_I74Wt$$I*_ z;)F`q9j=b{V?f?xaR(9*HmgVG&MLeF6bb-3LO-aEGXtML?P4f4J-bgC1)vR0@b^SV zTn+0=Vs@GSnYY}9^}J%;g7LVTkb&rW+&a1+CbZya=NJR7;6~n4?B?4|=?G>r1kIwD zGs^6V+M{80fp+|Jp&yl!D`gn}o=`OeQcllMJt!W=M!P!y*TnAdyhI~U`{kbu7&Lsf z3oCQB%qWtWWl^1JEFVz<gJs~iaqAfh6d{cNtBhd_bh4ro`Q|IELM58}j5VV+S&*nJ zBJSab(5^kjukUwx-4>RlC}|`{EO_EOd?{M8;F5RDZ`-F{LvM%P8vKt#n31=h7|ngK z^N@Dqbr0(K@fLC+v4I^Msk!DO?bHT7ggRsI%j7x$yx!Kt6JuKXKNq%`l4`*~Zpyku zS}SVbq~LTNc!#I>KZAaW)4~1PwGx&3)Y?`MV^1!z#Xg!`Tc+&!Ab%pTA=))nJp;=h z#kLA*OeWeY{~_R4@|XsQFOTmnB2T`c@v}>Sz({b0>||ma9@uhq@E#^qEHtgvt>!zc zPxK23Z=GR4obBmZrQ*tMVaS;%+$0I;(kdpsv&HZ}!`yV+lWF>XvIVYa0ocO&Y?)7> z;VXD7;J2Sc^SkhbHwYIkWA>ZgJ(tzg{J>yxqJ1Lu0}02o02d`=^XMOY#mQ(4?cbhi zF=-1rkrJ3Z&VANG9*JB@29B@~mccqFYTWPZ`smW1?h~wyh0#5xB+o#FVyu=UoO1A~ z9t5r$dhhLiO7+)lEU@@;+;tesFf033ttFT{_U~Op+Aq*4uE3(GNsBO(JdtQ&?_tH? z*Us#}6F9yILDlss_L(DbvBR?^jlNoVsLfFlLD66KiSUOQKUEqxOWj(8wa+q<l0Khc zJT+#qQ=NpeP07+>3j|_0OP}VOfR^nO5G0e>TZ^GMUS{HhyF(XCUR*vAt~K*Nj;ts7 z4Y5WkJ%U!i$#+aRTLxl%{POLy_<qnThksA}ibIAI<%sQR*+vgJN(@7>N4#97|LnLX zmt~AIE-l%XdBA)JeQVV0Zsqwmsx{VgzvZyfnT5pw+>WRjc?<j+almYRtvXb@zQp5c zX88FxxFR)Za<F}`br^IDcQ2r|m9&eT3vO<T_^;~AgvRVc1Ba$a!6N;gy_$L2(=I=s z-=BWg*J6vB`Ct%$8w0jjH|ns6b8Y-7m>jF?Dd~^<Z@vt$5J2ZT=1^tdhKJrY;8p=V zL6~4=2B(Hgo(+mdfWV=YO+~4Y1TUeZ$6_8Tl4<>9wiav>k#uTk*w==}g1D??<8Y&+ z$z6Qa>6fn;>5vZt>E^d3=fjKukE<Q7$Z%#`wzQwrH`%I|=lrTCv|wht_{w0Tq4g@? zAB9Iu^s~1nZFIRlyin4O1HZ>fUtiExGT1jV!g1ef)0&!A;VcOBQ`Lpp@AcwCVSN+~ zomQLYgP+=OZ6X|OE{YoyO*N@d6b+CeTmz-O`_JCWv6`2MpHmoGbTMdt5u0GIsSKzo zj-6GiJ!0SHmuitC=-%T?sx+47g334{+Fhf3jALg|YB?(h?`_Ttsd13n)T3Mxp0Tgm z&iziC0`>o)3g%|CU3@F29t|w1H0=}J#fZ+&T2THi_7AU%35F+zX>uOo><@f>9|+<W zaLeGcX-&U-f&x<mDWLncIgYHS691Xn7_AYt=Y~NcR*sdY)lx7xy3KP7``RXtFeHif z%515;KgMl)kF&`{RYU|{VI0AL|M5z6E9YQAbE1}FZ7S8yXa9|KyV_=z@<?rQ7i3|o zR-*>bqK#iX9jBgZ-WmlF9LifuLERXJ6N$w<BQ`z^?;nNcu%J{s_VzX2OWYi(5oBu0 zWJBJ2flp4jHY&?Y#Ql~qYH=@Cs*K)X`Sc$7=Cd;cD;gneJK#4`?5zXQv4%lGh~e&E zsa0)!u8b|P3lvV-kZ^Fn{NjVux}0Wf=mPD#^F=0U&Sh>}CjTfy1*QM|Gx7e3V7k{5 zz_iBDDNZIn1Hq)y%^fPi^_!GUz9Z&ShXRvt%m4SJTG^+Ne!qK2l4!oLk5Tym{;bmi zR(o#Vm^Z0=Jj+4ECsRl{GDsbG`Cm?U%>|k}+m)WHRFe*c6ryCRw7e0lFItyL(|56Z zjmX*cEAw)Mh<^OnqZNwrk-uWq28PG_`-GxW3A`bSWJU?ja_8~I#@#NsO}Qb45=^5q z1UtJ*|LOXcuHmyvOYWSZ&K2%|=Q<rB93V?bDUHbb8CqppYK;vF3OAJ81<#P;R*Frp zlXdl^|5}5P->G4(uh4TN8HR__eu=#%p0>N(tWAW<s%qcKP)2axuOb^jNtunWs?A}; z*1*zc%TPcVbd)UE3p=Uk<*qx%)Q4Y7?7zBidOCO~F|b!3Py*p?jhaKjs#2R^x*b|~ zspVW=#<G=&pd<oHc`RgfC=yV|vq{^$Oy4-uh5nL0wGz-t7+B%i%<G$)@MESmginM( zAcZEZ&kYA_nu;+S_|QGpIrhCnQF$-qy^EI4=~e?zeXcS4P9}4VsO{GdUZ=ZbRP-j< zR(>h<0Fflg=!*GRP#F6N)waP7f7rntb8I5CZ5v$W1G#f^HMrqOZ}E7`EL(_&yOXCj z@23?$iMuBx%ow_ZTS4X)o>OD*1o_~IaH&nGO)&WgHs$#wZp!*R%I8J@^<I48=(B(m zp&DX$T<O8)tQ;q0<o$y~Yj)E#DLaWx@=vy>u!S)5tSqKt$y&Ht5~8W>6!DjD`m(0p zqIy!vWk&~D9${C1(V|B;6wBwQg^Y~0ld4->0Yox-y!H9R)QpNV_CaG7%Q?!0B;~o) zM^I07-h{#)xcfN*X{4<=?Wanohj6mynU%cdWM_LbTkql6Ecj|ji;fH|jP#>=?SZx@ zQD9`w&!sU}Nx!Ar!MLuIhcF(8Q6Z+7zjHJnEZTYN?X!_Vm&S)ZT>0!<CL`rk*gjCr z<SG8={2}&%!HL;8Z`)TVc$Vs@4iiCZGWv%0>^usA%{O+90;F;7D#Uot!p{0wXOA`I z^0)5~efi0y{3c6<*mviuQo+%=<*J;&-KEx77QIEn2$ZQADtI~cS9R$|2PjI0Qbwy- zAvHJ>4#OAjBf-LNzBM<V7RGB?***Iq`&vc&<GE9zv$EjxNxvpK4nFJ=H;b9!h(DDU z%UM=`bqz)8qafOgkPJfa0j_r;`g)k~RoU0_WP%WG2VQE$@3Y~(DHZJx5LD6z=e!gc z_W_8vlU}u7I0+e^s|eY18FMt6r1bY?U67H&hH_9pi{EJJ9H6cI9>Euoe^HMZk!>U< z#!ND$M;cb?yoDE{k8hLW5!#8`jWTgDS6*#~x`V5xFhO^pZPy?Qs+aN}DrtC2DEz5D z;=StUv_RgmhxA>fUNy38?KtWyWmEnw4OhYAHgKpm^sd?^f^n~!3F)(f|0OTnRbF*Y zM=kuB)Q|I6g){RF4gOz}M(IiAg_P#V$qhsL=~$+QJ9kq}7!3l&Ek-ENOGTB($PifY z5$1EdjEkZq^n!k{@RspB`udua5bB|>G+Cig&R~zK<SeJymzg@{IP@yH-mNh)|H%i! z^sk;H_|P`HHqfPXaIp;*F+&OP(!O}d`%*@D)pRw(%>kA*>nmiC?~dVQ3oC_(W4Le^ z(sd-<m+7rJsE?=)-ioLyc=r0Pb61%Sx>D=qmQ`aa*hzj{g4gv@{P!!~2RTAvRMXXN zmmgOREhc}NEBM_|v2h`cS2;{O6btOwAbqWBLq|Vk_<s*$qcMLNocr!u1x1pRUnfJk z|D-t{##?U-AGD;n-L@_m;wtLepVJx+zCGgNasJ-W?X59C%{;Nv#mK|Y1(l{7JJy66 zU>Wz;kLiS4N61_wva<dRR5>^~>HEbX674|5KGz>5hM1{ta-J1xJpDsbmyFn%v@8wo z7LZvE9H^(9Efn_<-nT(BYGf2Oj0Cv%oZ6Ck^v+<b9sgOccP1=-8E?mR9;CnMZSQ1t zBDL0C*;C|gV@$^~9;!7=IdXXVwdpNk7}(#2YMT#u9X$|sL;#?{rhoS4uC@)@Q}T?4 z=xnU(Z)G0qacf^E&s2#kC98oKM~mx=PhL&Ar^Q9K%Q^HK#2cBx0ZlY^<uH=3r9QOI zHbxCGo@o*71S+H4+9AcZn4Q4;2;AQmZq4tz_r(7~KJvx1vE*i67{|4Q>{I(WL7#72 zpKW6Q(Gaypwh{MsNsP^d=);eXIpg17GbtCIhkH!{C9m_}ky^LW%}MjV*TToHyKai5 zc=11s0^IA813xn=pBH%dG7L)(Wd6{7GJ^8G$+2ABPxTFN30I!t(G}kPaPh;7AbrbC zr=;sRi9KXa#mdBlA%k5O>n+){d+qL1KaPMY2j4r?&P4(FL)Wqp{+ffB6s15@d?*r5 zqc@Z{7Un+rut-Ypx67=>HpUQS4^vzEjQ);ejY%Vay84`DG)M9V7s9T(u)Ur^^iBbU zz`JG|tl09z|8eAR$rUQla7zFWd?XI<?*7an(XX@LdUkO^BbWe-`fI8QK)PkZvskdR zB#<$6QC9sF2Xm+;Ane`1g2pw#x^*;GMX^j>C=0+sam;H^f9`a=dJUN2^=bHa&ARPy zRAjV<um3t{YQ1}et_4ohJI7p3&Ij!QP{yJFIw@GQLqEit<;QmNXLDmvO?J;`W7l^v zI*Dx9%8i6@`!(;=)FpIL{KrGmljI2Fd*wmGCzVLKAk9bSSl*w}$weJu_mquS4zww> z)o8m|JI9_uig6U7tYS;K7jv>3PF5>Tc$5+?m9=hO95)r<hD--|0}Ik0jNTQFoR`S8 zmeYb>J8x{t@J8-ozWo|sEX+S}$D+-4!q%Z`=tlo;6aB7^J8C_sclMIgl1jzy9Xwyt zd3Nf#=e!nfJ<LozI}29-lBFc|w@FXDM}+MS#AXob0(}o&O=P3?$63Imd+QCsE!c0L zLUzOXz|WHYTOB9`|8-EQi}k@g`yizNzfS(>s`P^$jeUiuHC|H?FIR}Ff#WxrCKdW6 zJC>};dx{TO1>@hG5v6`Me%V<F`-9zW`3L7iJji`BC8%nd8oJ{We{?S+gr=>J_PNBt zAN&Z_)&#oIZXz)^>wRIgiehi_CyihjD17RPVbwno;`>yi+dK;s4+I{GG&MEHcVjBV zf~=OzEfR}G{OY12spy62wYeBjlD~Tm(Ex2==vX7;8`3&4wGIi52q4eg`>W_EFmoz< ztyi+D4IEu%JCAa_>XxVaxFq%6m86Xir90iiX<wUv?m9$H&Nz3vlE=}AvalS~A7I|p zUwbZkJM><q{ltTG<W#I+tQxy)2FiiRW$JIu_b5(Aw_#2>5$#ICxdi49bYD-e?*5LM zlu^fgB|gfz7B2`+vGe{;*V{V?Vwz1pOe@qMmM{T^yGwCS6^?*3V<nQ!rSht`{(Fn~ zWM<)Hh4K8@rZHj_;sN<9aJ6YmrjPJN=!({dZD~oW+_KegFI>(~v*K#gw8~oA_*`8J zeVTtrsn6Y2xX8rEuh4F%X<RhI|2t&I39uZ9iW0QR00_B`*V!s!zryRM6xpULB30yr zx)^n&Ovq2<hfswgG3V1~6ufC7-~`PNCFU0sh-)_q=FN9kxP?SJ3R)_9LZQh=K((|l zsCVjZPd8N6bf(k*lk4M+&3`$+xA8tht~_}v`!o6%+tcGea|^sIm+1Z7prGpy=XkX4 z8gX9i-=BA7_cOXz0)xN@6*C0I1}sgZNUWGzj}S(GkYcQD)^3*lVFe&U)7-LneQx5P zhmZ@xY0Ov?2;7k5d(C)jl$jT$kl_4)Gw@MQ{2&n3#^4I39n>_Dp+e%dUQ=EKIwzhd zwSeQ&saQIt=-)wQu<t8e&Br8#!WnpI2W;8Ib9u#Y^m>uLc|Wx%msV3w0aKy4q4B|1 z!x{XPHjFmf%GNXH)bd(u_bgwBl&LHvXN|SotXgVQMR2FlcP_}gxe5YE*%x*rTd5^V zyNBu<(=qF-4=KSu=`qzAc|^gzDI#j$#!Ug%_~_dAyM5>tw$9mz*TMziLPeZ(Ekx=4 z2|N(hyr^q}`*tB+JMWL2zAENN1Wj-SpPyNf*OA1IW(%Kj*^S#evJHLqXf_xlKrCN0 zX1E6V2NgY+=Ta`d5S*%~RYvLDuXd@$dG4s)dg73a$^3e;g+H**4+iriR#lqpfSAs2 zRj=BZ4PU>k_aT4taxlHf%n7PZcBp9FXdn4eTg^<c929<JWyZnxT0ZS?mjL{Yj#<K` zx2_|?5c}*lzR?4>{3tM8!IQg5*5wQ*V9y9C@PsWnq$eb^Og|1Dg#cDl&dVM|zH5nT zSU`_Vr`nnM=Q`u)mydtb>8G~}6m?!<^ORkBf1z!w=0vDPkSumJHg>g$^bp{6kFQW? zm)>caMy-&@*pwZ~>zjdW;nOoBFx8bZq-q~DO351l!Qzkc`WU11i7MJ+2N(+Dxc86D zjM%f;V|&mH(YDlqvl6Q3)T|LA5oNK0fR)fG9vyMbFa+>Bat9mKWcxQ~+K=!t7|f1Z zq>ah{I4%x7dtfOD;{YP>;aW39)!IRgbZ_K@A{<6$g~^srTOW}R)maNm`1kkthY0-t z<6t=~qeQ`yK8?Wt*r(0BB7!`|sWHoUg}{$K_X+?19@_5!nyZJ&pzB@zN7~wxEfONd zfZx>Y?QW#mZcC9(jEKRV#Dx_5yg-w-y>qRlYwlmp7wf5V3JI<hWuf3@!J;e3V%9lB z7b(N%m_I>N?8g9p?9fm)NN8gG5GyIEAwr;UVCDF;mQuZ{7_+iE7WCXs;8r`Z0HrjQ z`6_#R698$*LQXo5tM(m{V665Ep(esSF$3!uwmC`-i>7>=_A>vo-!&1*_fV^u!j6C= z2j^s}bnzJW#eF8kGybFZ^YAdrZr!Ni`7Z&_H#oL5cM02Y-Crg|{Iaqc+&7GMNq9Rs z9or|)k<H`2P_Uq>m9^6{$urT0G-XFYnvRm!`E_p<Tl<l=G+*uQX_+4WEsdPvn3%}9 zTGQCQd_p^5k389-)Tmit3AP;|En@AV-2(MKCOx4E%%Z}5<V*yVd38;ds+jUIJ7Zyx zJ(crfL@DDgx4^UwA)v?06w!ebA=NZOQ@-ueya%=ZqENN4$fINPV2=c_%;UG!oGzCv zoy`-8-oDVs+#77?l>WIptp$I!``a(v@cSLktQtx1ZDeRoDn{SFl9e`I#Jv0nu=)VB z2iWhtF@R6+C$GX*+p*+_xeISrqalTqI^ia{wzVT@7rSHI!pkMnYPa#53N;0;qN!$) z(dZ7T%UQflw4>3`X}j(dCE-r@#!FHP9JKxPhp}a29aoc7F#L9<o53<#EG2Smiczu8 z2SpOI5j%WazVW3-91w{@p|ZH-o!Y<WfWjg1Qp^sZ*AUDF6pDx6=HM56Qf-}l9zIqt zGB4p+5Y<{JL!)nGsmx1`jElFXnK?PeI@6(DvQ?kD=g=wEvi|OXSmrReYO4ueLfKKO zC?V<wr8KHPnd{VWa|>Zzs+FwFzF8_UFv4{$tlb^LP+oJZdoHOnm}M{^St^FdIcm$G zH})P5bH9=y^@%11zQF=@9-~P8)u%vAcjWfXQ~C2IT+&V8e;npTsw}XTq{C3lfU{g( zsFQqp_b$c>oQ*K1v80w&bbVbi1NF8IN+G`OvlpIQMrk{83O8*eTO16Wzt`L~!1-p_ zH&zN85{Tk;%vTvoP%#-lu6lfF;QS^|ut+_mGI89h`k?uKfRj2xPJd<HWlOU9Gv~}R zIbJ~+dDGT~xZszp+_1?CQU10ai(z6;<$hPw?Gk(ZsentiQ>9l6hAoYmFcvc;P|*`b z?ZCDc6a00Qk6%_Jen9%BZPx%sGkz3mJ{+aOqio{bz|yYmyDwxY`D%g<ofzRYYV?;q zJ$6kaRV`!sh+T-HbQ!Fw8$7VSXVX9%z|1f?fwacbi(V%%@!#9b+m^%(lipA;kNe8t zSW1>&jUUn(=j!({t-2Jc!`&&S^foHIYvrw+Dm!aHDZ_V<37ZeG|IOwf+kDxQx3=cH zHWKz#Tg)P&b6vA4uOtIe_&<)h{qg2rBXeKxSm+<By;#g_&8|3)>H;UW%xo!dDU0Bb zfG>uW%#iZfNQHIZBBdZw2rM%?n8eKM1+hrqz`FjHAr6tRQh%JUUn~eAlZ4PUPbxvi zlocrDo6prSbT?!b<sEZB&sZmYu;qbTkm^2Wmvg(i&=_$G;PYr+EH-%zLWS5kt7jKE zOWd*(^m_R^8loLPXFF1Cf}eB-tO3e~PoYXtt20Ui55&7pUVW&7`QdFbF~|zrJFgf` zri>dWoN7xvmYH||LRdinS3n?6^9}HdO?CrB3d)9p@2lEnaH!RNMRyOC^%f?|jBMCz z`mDY+A)Jk#8}QY)2JUJc<KJfY-5n?WyD!Z9T;GsWcFB&S^3zksAF?M(KG-gZ1TytG zw<&DC2@(<Ocw^WbF|miFv1}JYs(|nY`%LHmULsDuf6RP*2ND~#+>)bSP5>qfnl$wM zp8COmb;qteKNrqdRE(v7h6#%ZJ;NzOt;!*0?JI&q<aXapxzi6jLuVn{rW1|s5#<{j zUvd`FRZ!<G1;OJF6Ey>({>LGKEU}0t`QO=9RbNhzeskjY(>w3l%2XHlwp04FO9Mx! zgy--ocI#~{T5=8GsEUkJzZ&Z{y;pnpfkS-dXRrPOaH-ek1tw)NtI_<1nJv{dU}(+? z%g0;y{(Rl<FTAE>0EGiOu-y8paS24&6k@at`Ka+P(N-_PWHc_D@pJS<W^K_V#wW>6 zLz_T~HMvaDSKW8T7kFF$P(u=U9#k{qU%lr(S!5uH1GuTIs6DT-kP5u%#^h$r2k~e; zxi+OO_EwsQ%!3@U;&dIYcG^1lOcloTfPNu3&g%ZL5!0w(>SQ)D!;v>C>LcRh?ANfD zEqdqnRQc=Z?5t{^DTSG)quvLWC+@oPNT0p4psCqFC};o3yuYLzJ~qj2|G)}UD-^H{ zIWMchcdU;eowFmD5_{H=DCHZ%tSKh4K^q<bdG`Rl=H;aDY-tLmg;ERIudEPphy0JD zn9n7ngK-&Tz%x-FV88+RK*Xb?MlLE99l;CR2XVVB^}L)5mybuO{(?CG``)VB;`+By zcEGYIRed#yU$c0sF|B!Tr51{zQ%i5wthDZV$eSLJfzttbul8O?Zv!<Fbpcpc_c0|Z z;h_xY?f-Gy#kN`_7QzYoWiuVlpVC~b)SODwOeziNuNTmdv1Py=Xg^YD@?6UEJ3R!d z-97?Bi?X~K{F&(`-tBx`a%wB2w8_@UmQd5*U-HJ&5mk-8KYdmGp8{Vlg@1QA*kwiA z4G#qfO+Lmm9Zf*m=%u9{l?2`|_rn@8KSgbN2u7C+iQ)<_)kKU}>LSmAt9<Eb=ih5f zAX3erl$+i+bD~0i(q*f43?(>Ey8cjGOor8%M1?FCX6KML3H7}Gr3W;ubLZ}`OjoOL zUE|i1gwU(AH#oRt|DSOWSida92^7?(hqs{$(KTI~((HqsQR?2sa|UIuY844y&n{{3 zMMa0!=BY#*gLarr>~v0%zyCk*_OCDfrQS_!^!jKAeeasC9(qul`*J>~wVL5uc}jRD zA7D;7d2->;pT`wNo~#SHR8FM_Gml)FSK<!f!Z?g^sOz#5n6Vn7G{aL@G|}Fi6DWG2 zGq4~?Wg#tZt?cawBgmQwDuhX+jl#SsEMK;ho@wc9%W(UE-&(+XsynwR4>w;lpu|gh z)#{VK6txMQ?V8U?&x@+eoGA<snYVj2*4^f*itS!}Su+Nl9NT?Pj{qZk&d1kGt4z-k zoUBRP%9#t2_CsblAi%n(Xyv+%?G8~X@j?^e=madM*sTZNzpBCl>!UQa%iLM7-0wFw z5VqIkb`2Xp3kjD7*{FY9n?8zWBajm>5E)p;M*Al#-Z4^OhX1$6Cxi=QmW9PQ(%Vzd z&N2$PfO7bJ)$(o11Bhq{dy}$xH3N!eYB^6XO^($h)))V0e^)@R^R-?4BTmgut+KM~ zOL}Uxp!<2@NME*dfFtm*)0PD8jNNOLH~9E9N96diRFytIR6|h#pG&*iKZu=i4y1Ob zHD=@snpoO~p7Z}(q*=RquoIWI!S}n;PDn7+F8T_VlY%?l{>o3lSBZeAZbyb~gwHMA z08{EIKZ^1S%sMZfzi74)`aceW-}UQ1AKW;0;?qldR1ry>G7`aOBW?2`PM$xmd)!;h z5U~t6D8a`itwLB;O%yb2u%Go{{6S4)e&k8t#u77(=`lQ~P+~?;?4;;<{j(-J_e*cM z11FmNZ+A}oxo^i2)ES;e&p2|7n4jrA&or7b{Zw52NQTKIH6GmJqBg(GJFj|dMt^Y5 z=F~@Re!FTXtt^o(thXo$gj~S`X&jq#FDm9%G~vja?D!?vdX~FasQ+gu58_J#$jjcZ z*uSJP<&ENa!iNuh$S-3CNh((6sbd=tzUghY7jxNKz6FW>=-7O`yeqytQm7eAR+ipJ zQRyL`UC^8UOWXRt#pjV<9Ma^x!?@bM7>8B6oIkf@TV*Ew-S+rV;_C)Kq3|-(gL-=; z81g+)^(B%<Vo=9t4g*WbdGJKVFEwQm>k7HAG<d%1mCh#55B`nIkuRx#K}WA*!ZqTw zi%g#0ddi1Gn`&fQ`rs0ds4Qsi?qRODbynd7burqRda9yO-f~nyQqngY?;r1r$=Q)U zLg_y>2D@`q-819L%nn;SHgmqcY{jGaynyX^7Of!PSqW_lc*~9C?fhjTqinZ*1I$X9 zTnUy~&&Pq4Yom5{;+7|K`a{)c@4r~G_9`o|H{omhS@{GM^sKMarlPErIW@r}!Wj;p zneil&PWjGnk>X?AgMGQ1K2QFR@Ye;EK<oc7AfE+xBK}De&{XxLD>MJ`m-r*!HAtVu zTQ1hOwi<7;5h^}i<C!jqgW3s(BTVbC&jb*MystF8C)<6h5HXYQeqEx&M=QgB|1tWs z;!ephwUz$#WWHPHU6t+a&{%rYUQ_-)Q%w+*^OFAZB%&?co>l6;w1n<wojkPr!3#aB z<GuXgAgUJO`W56o=j=xM7xwUM&3s1KIi=FD^;N-$2rGG>A;EWjM>G#yEEQ)A?bO!$ zWjuvV3~3ba=>R|{fb3iX5hu)<#YO4AdsTXG(<VW0tFPdB?6>N@@(j!EQ+?8e`yDMs zwxus@B~7vho^g6y9sNN_X`e6lt7V|j@U))SC3ULr>#j{IL{`d(`(z!FSs|K|bDkf* zVqd+;{Z9WPdFt4>#B1A!*5|WTxLrV+dTKaS&gjxXt3NND0R{0cY)ktY&j<M`mn|*T zZO)IY(F+nQw`?yYmq#vMH9gBc%b^>+odDJ)>}uR<Q>bBfT7?~-Ju!Z*Q|OMTCQFTN zg}vyOY#7RJ1ug@j@}^r5P?ioNW!sN}OLRS@7hG_TV$Y{&zYG=G#XkOCXLGLPn+kcF zzq?5LW9U)Iu}vL}cEVyv*x{Wl{m02=DkG|$+Wl9spS^nZmO7ZyHo?-D1_RTQXEU%_ z)PJ|#ZjTx_zbp=MQFDKOE#=_jY}6j@Yj4O>G;k{}K`FR?^tGSQd8c>2#yiw!Q?vNx zN7E8rMN4lf8hQhzJ@>_ihseiHGH#m_bssltVNVD88yQM-zHQvOGeXUslxe`R8Ar|Q z|Jx??aa*ZK;A{jv*)AueEudRQ{WUj7Qpt-&8hOak&e(*Xw!^Ltn-le}B`x{OXqu&J z-C6YrPy6*D*K{0XD4VYA`C9*!t=tN)A<xMO?qN8~pY1vR%*aq-V|{ZB4~)6Fbi(%T z+(qQ)y+R#y!@c%qgOYTRc$QV|U7;Y%$&&ZV;#}iJ%66`~-;e(LRcbcHtgP4}hXaHC zp5{{#(DTn3e^Eeen~YOJ%VBY41o-)(*+Pv>pVQ^I4exfTTAje?A2-iRK0bvh4E!-5 zr`Y~8q5MgTd!&Z>uy0f<=EB&tE?9LoN$<zTJ~70sj8^rJCadD97L;kDI9U;vP6WD! z^#koPnK#Z?G8Ulg+ohCX;zj-6YIk7zXjHnecc?K+;%2@fuJ$Xwm@060>@K$b@#2|D z#n$nsH_L@S->8illf05+V>DQ*j%UmqDFUJh96H*T9`$@F$0LOFuWCqa&rn|<=>Zf* zGmPXvzjpC$&K?^z_i7pFtl4#Y#D`q@R}<~m=6xsM{?ci&c8}{dP{`apTO_G&a^Ll0 zJ0A1}{V<}UBeeb2?^ZEn6_UvEXKemVa=6bwL$WR17~CYnfzmc#AA7TE^ni2@+z@eM zUM3FSI2RPdId2(TwssRKv3&|=U*DMDor88y_fF>_R{LwH2N4$2gkx{_lpG&b9XjFo zvQ9Q>X^>u+G4}jNjZAuL*p6pP-fWTjDfLp?X9$h4+hs?Y7>JyrwDdxV?9-nq-KjoN z-mVq4Wbb*@Y1Z}J`+x=aVJPKk+8e%`XXo0=H!hUUH#eV2;0agO>Q(#v%{ud2q-Bk% z5>!fUBb#AYB+7+L-ydHbGxxh{vQH%JV%eMnQIYYzx81DWhWtI}tH4QGO17DmKDU!T zH0JpioWCxO%Td~Haz5BGQ7;#M!~eI@wI+wD6<_ty5F8tsj&|HclMdFRVe2{Jk>3vq zCT}-vN2{MzN&0<M7|r?FvQ!vWCcjj8UQ*WbJ;88%-?m*b)IY4zYHzCQ00in^{^PAS z73#$_=`&L&Ia8je{6q21`vcK`8UN*5yp_^(e2s4`uXWRX)O?CA&1qf~Ah}l{;2j4z zKCfqG(Q~9|{#Z;uGx&y4fn+P+5MHuFAL6eqik>@QpxP@!5yh|GygfE@MmU727R|ub zo%>u<U>_J3ZbMToyLEEUcOL-i?eb11rKQTB?vliDq6G?rK|6SRA0RWxC}z;c8Zik7 z9!a<b|DhZS7gKF%(uyG9=@(Zag7(iH9u|NDj#<Melhm@FvGV!1F{YBXl2SG{3~sq! zf|4@5%qwZDT>5_UMHAKTLw~{k6!zJxpR;ONr&%SwFS_BH+AL^1efY>x(Rry#bc#|e zrcfJjZ6lk%b#aj;ZwGZA`#+AZJf7*t537`P(51*#5lYCF+e%+|EO+j5B$oR=7fK~Z z5pqrCn4?+FxtDTZ!!XQD%rSG%u-W$geZIf{_nK|C_xt@k@8|tI%6E(}yn8@T37-pE z)+Qo+YnAKP8TJG1C8V`_ceyOjcF-p8qa8JN)R|LeImSSWNAaIDN3<OEdfZreZgu#w zI0O1<E|6lzxk-lhlv$eCP5ACgW`%6!-{*`-HRUxWP-2$cl?_Jlp^wA4N(>j^c75s^ z8q&xeX?yLCt{~ON4c#vz{0BXUn%Pj2$-C#D#5Dw^H@Kik)lHW4?KIPgP#}!#Tb*iM zBn`D{{#g(1^H4G%Tx^)J`y;%NaCN#%cYtFcL2+mI7bz6<7e_70fjsakpjBm+@yc+! z?v!poF*`q2Up7M+mzwsWxK;P=YF%?R?b$|J7YGyaruw}3yo5rj6L&8NfXK9@h|$bB z+j^9Odd1WDc4nC9azU}9DoPwt2-&#Qc4Y<7@#xL>Nfn9-@v)(ALQT1)L!6@-F_Ox_ z$VUEBO|CNdmZAYXh>|m(!HEUvO`Cfb0iH@t^q3Oy3Au~Ot*3)9oIG4$<PIa-GUxM4 z079&!qo9K+Cbo#m9A|&O`>~dH*MMhWP)1V{dzR~_jDiFH<+#PaNe@~7mt*zEs?QI= zruU~Vw~b(`I2BJh5FsK0O%(z{>;SqAdH43Z^u?nm4792Ws94%Q+*C#-*qakck8xLZ z;Yd3XNTIO(asP6Rj~ox$B%Lir>h#-HoC~2XNWvFs6bp5S3BvT@69@83Vn0m{0ePw4 z*S!c_x2Pen$ot3D6&Qm$RtpiEk+Y0d!jB~7WGBViqkjsh4B#OYT(+supe^(lk$TUk zKW2#?uhds`@_?A&5V2*j&WM(#D3E(c&4Bnn6wu@}qR?^*t$A&SAPQq8<U+?8uYpr; zp}&~&yWODd-CbC>g7t{d^BR||GY>#2rJLQN@0k_-U4IwsH)`yI)jgZFL?OPc7}4-; z-1^01Pr{6?CqrUA<ngOI7a1hnZ;zmHzTRrz<?@YYk;)4Wqmfj**~*~_CT|*g?n_f% zC|l|v`K1ItD5nPfvHNTtpqGyHAY*<aAqg+~_!g9Fidtw8Fd63UNsWX|8BaSAg1n(w zG}OB2JI)V2i3^&+S`n^^hj%=F*W$pRFv9jI=kCD7^KP+8qR!5baQQCNo{j)CbN0V; zK6%mL&r!cffYfou&P@D__&>WTF_Hh$IrSg|fEQ5h`DOqK|EFAX)U6i~3a}ESd*D%I z2U_E2FXfte9Gk#A5@opCNYxDe0h1iRpqcjEH5Qu|#`0%}9o#wV!76r=wh4ykw6Y<K zffE&{|IW=a(cfEJZ350dklTbkeN}d(OE1E8)f7ypA!CL-D_MK!0_O4kJi*YBs6$a+ zrZWph+q|+0K}<W(aK~RdS$%gh5F^laQZxl@w7aAEvbtN<vRFVbuyvx|x|Ik)VXLSD zdylB5wpfI!(d|KL3K_{1ZR#FzuJQP-W&G=^czsSj2?q{hzpxc*8=!H(@(+Y7#yaMo zrIeRT+3MQ9tP?TI1WOm*4lG|aG66+wLeUW4F-G|A{IOD@QXu455s<2?5+s8?0>?53 zkbFNr2y$I3lT0Z@!xu1i&s7eGF511mzp<*itQFSVy+|*JSST$}1ctT*oG*p+;zt&Z zrSRr^>Ye^^qmLZRm0X~=C>-Bo6CnJoIbAX&Fy~F8;qi{tkNk`BI5m>L9TY&O&Wf3y zR26SQA}QdH@$t(m8!|pbIR{sy7*;#~#iF;<v}}=($_EJ<?vL00Nb6t2ue1Vc6d;!! zI8>aLonB{!FjJVC7yavT=n6VRRBP4AX43I!Y}50h6KaxhZ0hf}h$4C=5dJz$v-BRu zZk1$8pc=y@PEj%~wYUYev|`Y2BC?@dB`EKeHcH-;;&OT({H<)#7O(QXMgflayu8>? z6f9G^$Np-ahbv--WTWH2cUz!lNNs<aDFyv<Gt@PNyU<YV?KLSKsEBFwHh!zpmI-D| zc>!?!*sg*yzuVXoeQ)jIwD?<2hW8D-o!BhURTAQ+$5Phcu~oCBrl~z*S(Q+=&e0pJ zPJ#XD6Nda4Ey$<7q5c>a&zFj6G4sPf#SOt!{@$K$l<P!ws7)xa0a7;3WYE2RDFYu4 z0m5j#e(TN!!BEM;Tu#~XRYfeUgI)K*YZ^^qpIn>mMfa?)PZ_4TKbMi<I1?toVAyaj z&C~*=R20ZL;|Cb2Z{siO4bmNqNSCuX{CGGtskq@7%Wp9NCBoW^sOs0{o2D?BeJXYt z`HSNdpTE{_3n$lwnM2P&<-8ILAmeP8xcy2+!<6~o#zl#Gp*`l6ks`k?;_=&M@LSHq zqsG~AymfF+R3wj^yQh0^OvI6Rl)wt4QV3(cyYhSuM)(AGEq#=Qc@a-?ryB^X0S@VK zY|eCEj<;u79{Vy&G_a<w?!m=7{Y&zs_)R<-YBVLCM|K!{{ItHW<I-`u<&pN?^`ub7 zk(}1dH{R8)NitFd2j>~%P=OTHo}E~J$@HY{bY_K8ZZs12&8HX(^!t3YSlQ*akol>d z?aA$w!1V*R2+fqoCK~tGMJAL5b#kX%^gTBTKMv;7lJ9oLP{~&OrEBZH-Pro3H_4Yj zs`~)ZwY9EX%)@atXAFGC!F2!`8S^?B{^3JF54Rejxv~4DD~R2sl`)PZR2IJe90bt= z7GRF2GSiMb_D%ibkQamdfe`0kH-o;IbnE>9bo|4$P4RY0eof~>kE9=X6d2(PGAa;= z8buV1%nBDiHRKjHBbpx1Y})JDRV}wz@~ljCRIX}Oo$`&O99(hwt5d(da}Mxk??DKS z=i^N079us)u!ryFPW5%()%PJp11-`jF1d&VOZJ}L1Z+oaoXyo1)1>hII>4%tf`?_m z$}su}+yd)~2KyMN7oR(!E<2piEs4~0Wu7%Q#jOxt)wnmhtNN`jTJEZH!fs&?aI|6l zQ1_Dw*G6PjIWy)iK>vKBIJGKeR+M`)(|tE36qcHRhRKEfnbqHR?TP#QF7^NH+chVG z`9|A%X;=S)Oh5a>J^-Ve!?}iT|L%hbme<n^oawg!*8aKc=^Nkp_ZULfwAuInas+Ge zB6_`JUBr{}jtlX?;ozQevt}FgKLxY66%Pw<267A)EM9c&*{d*ZcKj;HZXzJWYmkiI zO<EYN_Q8|M=z(PkJWsLETMi~%;FmDhu@&%N^EC4h5WTG3L$61fltBV>YS?L3)4xOK zvPJDS_G>SB^3Xb?_(er9pp3a{kr>e$VUGc0sn^lyM97VDa)Z<i50JLY{FmcRfORR{ z$hh2*9evid_($z50dx1Q)!Rdp^>MMjw5yiao~AkkZ4#+SKEqoT5u51MAfNONq%VcB zqb^uc8ln`yt9)t^r}nEW9Pl;gI)Mtb4owC+l8${n8cEwZ95}1|^0~@sH=WA?>Pg37 z1s1?v3!_uky0~Wz57}~_AgL4=I3I|Tg6<X#8(w;N$NqSuW+sS@E=7DVKJlG^t#56~ z22M#xK{mq};iil(y_tR0t_Yxjvg<;IWc1|z+r|%EWI`=6#zsl^%X}0ZUi~_Hms`Am zdJyP9yFtn|4vVA2F#gM2v`#27C`|S1J1z^)%ZvKOm`nZ23|nij5J!2bv#&;XScZI{ zjzr_xqTf(~+|xt+x6605B7-(zP<2X<b?6jO=)Zkd%WIQp4c<{(SLZwo6HhL#R@>L& z(u_F2i@cX-Q%48P5WjEqGnh(RKC`C-&zXN+)L8f?L=#pWg4*prI~joBoAHi8y%_8> zY+WmGucq^BU;BB%w)VwegX0<hax{UCst2=Sd9;<;vyMK=t}^*atP5S9V#!OgWZ&c; z`oyOvPQd~{bwxkey;1YcaHog{af}SHi(t*QEqqHGHWJ=CX{E;BuF4tQ6~WVh2v@5d z-Pm_+-el{?hry;vUNUc3?SY>p^u~LKMp8^wMeXRT+n*tZL7~iX1h8fozI$L(jLR4j zHLE}0sTtVac(lseb@I%Ds@lS6gTJTx1@y!3Ssg9^VO7NgzR<JiZpypw@4olLA6>Z} zlK$n(QNrh)z)!!BlHxh=yvN?rWr%ego7cAmcP=+6qiw)(zwHAvb%gh7xZfmkb|&0i z2H`lKwW;55F~iAJJ(ea}7d_!EUOJXLrK<sL2U^5xz+dcAqV*c!6$JqC0u0xB%>ubn z$(JuWI~OzI%gpsLs=i+%e#(erkX_7os?z>t%F(<$rZwQL*fmxm<I+k(9E20m56P>Y z7Jn@4yxR7CR}Uj#w!D*VyfHn~FV9sAKkQ2Lx?2BDtjJJ&`?qG#_f#)>5hhY1|EhxQ z{kXrp8e`GxD!!2;0L;nW9>0i4ih!QAN4rC1mzRbTQ;R6Xt<Oa7j|ay8peNpx-7y(L zY8Z<Y2rAB9NujQxUY4Kc%P5@d&Dgz*E3?v-4&EerzxT?QKvfgb#xbW6m}0aC`gk(5 zvq>-cY{eC0?;D2})RQXm5cT{T2WLZd`I#%dcUO--`su9jWKxR5rdbX2ys*Z!-x~?Q znVp)DU<pFqk}(cWo9O<;#>Pl_>v!61PLW_XW142+C$jd`uHH*G9f9>f7)8v<*YqS& ziZ|Wey<t(+QG>DekK-4U2|v<-@J3P4uXhy`BJdl;%|vh|D%pe2PO>qxCnjV@AMpJ2 zrM*b%*Ob8i4&g0xSkJgr>12N;#hjAh{o`>!8bNB-JY(0~sY%deN>AH<cN0Zp6g-<$ z*#pOFs#-t!2Zx#lt`OZ>Q#G|siH|<3J@s+c8F$$k()^O~^VdH;Q!aunIV=Cw*e&6c zRO>`k!8d9`G2FQ9AomaMQ$I=A!m%MT*Z=*4`VnnnDdmECPgVFWrI1ya^@DKPhwIlr zi}La*_si}<mk+dfQT=4f@dLb%Q#}RZ!16xO_=|UI+6u{*Y5p~>oaWGAWewW;7?$QO zpJV9i?tbBZ)0@12i&XL9o<Y>L)YP&;^+6vb^gspBegKZHSvR>GnjNJ|4!wxThveoi z5xIjh_{!RqHMRhDKF59NJk7+*V;reB9BcKgKFcKO@)`T3q<h0>BP?$jnU^3YCT0&I zWN3B?&tw#z5yCFm-q^&_I+sQd((WJGwW_PGe|&%Pb!;tl=OftHPxY6O&E&HcDP8Fo zX=EIjvZ?7+=Kz=S4q@!ByM9j~O8<<{z&F3>5kH@z?{H4vlrF-m`e1|y?s3o;VHQRk zl+mTUb1e>~tBrEl7v`#6JP(8e$NcTvl_QBu0Y)}}L0kyCj#4`>V0!NQv74<utE&8K z8o{6xibZ0r<7PA-8Vc?pe>K>9eg4&nnU5#A!Zk@}w!$UzB6tRcd^XD(kC)RQ&DFRH zUU?Ctp7bp6Q{Kg-k7@`tQQ&SyF~DY=GF789&G#(R{OdZ&Pyd>zsoLI3c&DsQbkd@g z%;mOFHuB(V|EY%QSiKVup1~sT8FV*n{;D8>y+s3WnspKgl>nU7Cdygpx=J+;?cEND zF-uR$-_g45a3{BIR<}IGBDt16<E0ml0XgYw9#W^P)6hV2kYdn!=%TM_(F*U^YlkT< zP*~k9N4vq`*7p+=xNQYxX~UcEt5ww~?bCs=Y2n)JFRI;q8CHeXttpAhm!3Dnz4uYR zS+p_wVONZ(=j$}i$2|rc+UD{J>oBc~&Q3F*RRVAgvZbBN^*%Xm2gL+AA85k|V(x6A zvxSOEqCUGNm1lm6@l`%zeyKV^=9P*<z^}lc2Q_dhgmpetl(I<GdZIM#W$j7!X2qC@ z0`0K=%5Uj>o~7lkS;6ERUv#CN?K_U38WMB@5JC_5r%YA!?>vj2p1IKidLHOe)7jBz zo-u)8A4e;$R<Blfnv-%{zUQEU;m%hP%H}TK?!xPD7c#ZRHg%o=XIX#Jf!6d4BX5Oe zn#@fVVRtneT-{h>@+&wy(_Hb$43EU&T*rw|M?^I%WDWIVcD?k>BBQML?RQyV6_sCy zRb_meqiGpGHvUEe`iVUpL~PADdG@NhQ-$|Jvi9t=m+nnl=yy+NI%U^`1zg)k9Q5RW z&dkm_kq2+*lMMHa^^zCNB$vJ<n&um&$fqUdePu34%=i}98&mahZVknDS>q5eanZcE zV&B1A;O10aIRvf)D<~dBhFzYYl7t|PjZ^w<YMSp1N=~N~dPd50c#SN|1VOJHS<)G} ziNA-u*~}StS?E^Dq6AX?HX}H`b$w;`aHxE9Y9bjYqmD{I5Asig)Z~=+Vfot{rdjh` zzf-v>d)HkG{_K#q=l}jw=KBru;WBKP_|ZzdzNWchYoj@G>H3?65tEj8H@F7&$ry_2 zRr81@Yp{JS3XC+afM#!hOdYFHuidk{Ie@YOtUQr00(dZ4w%>Wn%PZ&3g!ORI&)RK# zrl%d@dZrB62sTa+gSE@9eN=VNQNq@nHh8+KTmep;`q}*Zn^&to5CAqN>+e#;iHr(N zA=5N*DO|I#oVWhU<i~%mPq-yrN$s0DV%1UrIk^|^;d)KmXL_mAd5R2?D2^#Z$QBGt zq?x~-8?8x7a|#(j?yLvWG=7V6)fQZah=^`SWnG9aTbJ>5_-E~IC%;iLl{fpQ&G845 zI>{{@(ldPuYo@o%lBDg=nw4kVNLy}Qcb8ttwQ1g51Wt1{&&I<)l)cYaD<8whEoOYq z9as9Xk1g5X)&5gG3ay!tx*j6mRo=qvaD__}k#MI;<mla6t+=Ec_{8MgG#psFd(f)1 zTw|rBDYv)b6<)>rmnsRSC7&0Ovs);QH@Un&IaemAwcqS`x+*iI=fkm|qMvpvOPv_9 zu(yihZYSx__R(*#NY!ph%^<{U<%CZ0l)^<$S8@_<T`%?<&u`+rk)*&+pNPmEmJ~lB z`L*DE;lN!nJaaCj2zm26WSiZTP~b1zk#wp<f3`>Dt;lTm)~1!Dti4yW!<XWaO&})Z zab!49$FEUq86L2hhVBxGG#I_&^m?S`!q?=Mrwi~BP<M$RB+NLgc=JF0^bDL2QkjX} z8b)8Z(KewK7{5tGnxZk&O;&YHKn;!Vl4S`eQA$-Dj(%Yak=UXb5$1%s;h;TOrq6T) zf;OwxsY=@Q2@~TaMN)U+;y-qsnnIlnbe|`+sd2!<*J1v^tbKdg!zk3Lv{UAA=S}=| z4X`RO=1`zU%gWV@c8(OBQ!5(ro>S-Y9UdzT#|{_LVic9QXic;LNG>+IXK>=B39aQ_ zHT`9ufmo7ABgT|>w8Veug9)C^ui5mZV{~_~CQ0`W%wLF`N0mgQV8#-2{EVc_?W5Pu za=(0aWSc7YpuI;kgu#xlvv@O`$!<Qrrh{Dkc_dsskcfQbT2P|v;C;CXzkRXUdgDp+ z^Gu=LYp%Xvvx1W7iju++wC=t@fYM$QAb#NJb1^#O#{=aBdQf1Ft?hL0eii4|q9QCl zezJhf*tSF~-iiQBjq9Y|^riiQ`!0^fIM_VM$j7(kqmQ=y<Tw_%i3O$7*>x9_H};0V z!^U2206}<iful77)=PIS*M(f;Q;|Z^5oW+>uya2D;tdy-x%5u}_ySdGOq6R@F!Tai z^9eXec+LmzY4y4NUB)&OZG=lFETN63iCYF$1CYyA_Z&X@&$y-#{8`d}x*r(FWa@v@ zhv)yxG0<6C{ZFrTk0cI$u${Q@2Ww=+AhasUM&f%YLF2~3pe8PvPp=gG*V)nPHlxpO z6rM%YFr8^D;lcTfEU2Rir2dN8*2!OU99*tgQ7j@D6@A9kZbzJw#vd#m+Wlyots4MX z7HZ&^yoIj<YN-RQ)Q|sicpCE;{6_678dt>(N~x)GdT&lH(3p_9gOaR`8EjoKDsnY~ z9+mbZef%Dh1+@kNwt#c_IRskPy77XR!U+CQ;h)ezk*Jc7Mn?#fBJ|}FX>yoF*5SR2 zA$#S<`rFFU>a+d6N>Ll?=Ip7w>%m5YeR#?KNPAo(>jGtCv{UFq!s8>?0#mcF1&aWW z_q9{|1<~8)Z(!xAQ73PqqQZa#rxu}<*5*_r>foXvTkOK)%3~s?T20Z>USCHe_T=SC z2y=6H#h5VKlt7>yct<|14uAoJr|)pQH>&~G7eb+UJZRq2iY>&P$IT)b?|oXK7K^%d zhbl?I4gqHdbUwjO16vH5NCv%<yL4H3VTnNtWjBc|J^`%mu%U;SnS5<_!gfXeJ;qO^ zNq5P;!Uqf5G}_3baRoh^1-@DL-2Cun<CmnPDfD)ZSAm;=Y4EN!b{G2)L~$(}J$L7~ zvdOoTT_-LfcQzTWt)asscr1g-6H#!bS6HUAe%@B~S^yUp@{t>~psP8pt?fA&!jBR8 z9XPXdYX@EksFr623)66SG7a)#hfc0&>4R{y)t_BvOCQZCJ?)CDu=WeNLf7Aq$)1aR z{`TaQeSOY4D@ehl(e5zZM>qV)AGoC)#)61)fP#Ez=Zv#U(npZZ3;@5J%9S%)8a=rl zRn$(s5~uD#Bp=x5B%&aDhe@f|x2?0J?`+>l`Z$Phg28|t-SMz53{x!1!zUNAgLXxo zmFn!;G~r`nax3q2D1f~K?rL`3RwVk9f`vi>m)=Epxo8Ayb6_tNw*=Bln8&W0yc|&M z5y=nZO8L5nv^Xv)tPaX-f)==@)rQvsKZ-|MvbY{e)wxR5ZZMp#b%4}ny{65~p6nAQ zw4c#-QneCBV<?>xyUi;O7smG{Q#Qgyq-O8ha7ru!jDLZ}unnIr)5I4|7kn6U_)>iu zTBEk}D%`Cr0Q^{s>J)6-Orc<%`yaNQO9T)zRpNt<ZvK3pi}^`0lq!WhW-aTv4=}9Q z#_C0|FJ<X*zIL}?)>*$ZFQ+DXAIG4P*jA;nN;CqPxhepUz7RHoA(9GL{*ig>n&mML z(i_Q7xE07CLSkv0P*+zwy0%)9Zq%<YIL(U4x%(!V_w<Q{Q-xo(7%}nn(goR01RrmR zCl<L9oO8iJKU+eLUsYtrpJ7#kZDON~{>fM;DLruCqx;CX7;Ff=TGJmG;8mjxfiOmW z-UL8O@RlFw_m!El{UyD3U~b?=MdZMJW=gmgbV%xPmR`ohf=}OKu8I0Qb|Al4@tLYQ z*eoT&-_erX;Iy%?=&c1X69(j$9h}pBX4W>VF^#~7x9)h(F@nf^7vhES@Eu-ZWA6kW zKY1!|M`M9uU4}P{RNb|XLHadrb4}g1IDI}3bWCWQNFC%sWc{XXfW=mE%k;_Dln~T| z(JKayR;Gp=%UX9qNI<nO{10pF2N8^8IO$61O+@6siA}RN7``{(!>tuq5alsE-&98E ztgHv5u|+0Qbw0DvfLCpV{Sz7Qcvpq~Jea=tmioA=-PzW|PtEcz8ayS{&d?W4wa?AH z$3jde*SodUmL(dWVKxJmA>?{u*>GY1f7P=j;&@T+b%&2?nr=^1e>Z#9X3X{ySUv3} z1T-QVG?%T?1Wyk<H`Cz4!Q3X>g3o(+U)a^X4Q`@GD6AP|4Gl^VI-(F=dirpmY=BE^ z=(Wt49>s?PedKhqQZ2LqsPUXZ{wBVXQv*|iHQjK5WdWdU(8!PTzDW~}SDPy`0nt9P z0ek3zVrZ0|0-Rek_m*)?wz~RzviEK%OIZN<^4*OyZxdFvfE)g%TV1l!NDN~`_B;5t zG^bfU;ce-H=zChRYQ>ZcK;Quf3#D}Lq^jGWQdGs_R9R5<_oD%c)_7ks*UY`HUmcU- zhW&B8U%Ak9#u&B;+uXW|Hip_=RC$4_sV@Kw{DlYOnI+18zj$B^l1L};Bb$<1vt1?- zYC5}#-3h%ALa(nn9Zv!94FXf=dT-Mw;lqDD5$~YjOgFMc1*YCt#Ee$MEr^CR8=8$E z@WxiVhQ3M2?BAW?8cg!|sr8n=4y;|94#g2bh|-O<2Ze<9<30S-1{|p+APlwa&p06f zjnijEyiSWy4u+Z}|G3gG1Z!A`O(p5utpuc-nvKYa+C*=X%Q@4gJfl(TL{hkOV(`0{ zNZdf)wa4~?fRAe{7$saYgUf%{(UlJPygK7h7LukWC_)>0t1BUO-fe8|RHe|7*Bo&j zt|*ZifGw0-QljXmDKy)y?~F4C#jfyI0M~_V#L9C>Q*Fe}jLw0o=Gt$mT1T$MVjiU9 z;1OL2Cj&!BD3Yl%V}(Y5v*uH~F!N($2<;JxRK@HwV*UaiJse5V!v?)w0U9>R5h+M@ z6XbhYmd$L+yQ2AxI#i^mFJ)KzU2V=fA}8`)k*(&>%1ZDtAy^n07^vioWNLG*y@7S@ zx1==Feg=M^>TfegTHUYDbZ>d>CnQ(#xdP;F`5$cUOy<lqQo|nnF?(fRcwgS&<dOSb zS_%FsfCRE`r6?~w`s&V_EPyMW4F4H1D7Ig8;{7Qyi!Kf_br`A71Ux;KWT2u{Rs4I& zOt35;J-`wjyn5pPE@NL{e?A~R>OI3AOsOo%L*X~nd3o%#^3rN+lm@SpLUcIDSfpl9 z<$!o}ZkAFdp0bR^eakRV@of!f#5gO4(9+!8&GGj&e$y5T77y5bI1MA2aAyWPN8z<w zQLeQqWeW{9&Wj55J<im4ye50ae~yDEIuJ*n!(|q)t-dJeY(0FL@;Xa~0gPMO<m561 z{PoAg8>CN|2Us$hG8o~6CyY-`@8L}DT}rQ>z!9+wN&rPCSmWtopUT-3oeX~QXr5^4 zFiG><Hdx<+If?u%i5$RidTgdX`FhQZJ!Fq69+yO=vkNMFRXf)sH9WD52As<DI6Z`& zF7?pQU#`zo5%~42LCtKb%6KGTjsbI>_mp`qw-kHY_lT)_)US)Z`=TUVYGM$b4sbjF zau}oLg0M>v6K`z4X?IFk{RU_CU7ghdODR91%C$1`B-Fx5TRVs#tvkyG>P_WalS^ac zSa30e;!7Fck$Ww_20&hTa{B{pvGuR^bdnz3PtVjL4($6CS<s(Rlc&B38idpHm1DSp zFRLtGSJaRB9H;l;Z?w<fCs7jtM{V1zv@L#k#_99Z-wVw}<l%7sCnP8T7S9?xYl&wW zL;o-Y=E|sJagOeho8M7j=WY^I6(r(P(CvJ_*7@{<3twnw10NaQNYu5mw=GQEG|O`J z@K2bK&O8I|mmJ&y2>ZX&;Iv>+j*2g8xBd_VQA#h=J0D^qEge!n3(LCBs+ASNfw#J2 zcfW~SPxEAZxD9u{vlytc&RG(@^YTw`>8ykA?d2P)R&5(sR>>5>@M$70o2qJ1W?F0& z<Jr~>!PgfQ^f1@AFIgL*7%u{_t2vc#OJ2{!M9N&~UT5@c7A~H@jrXh^NK=Dk`tP6Q zn(Y6!+1NT760HPbR3*6I<S&)M8!~Kx;LYU~(AwaooGWpf(F^@EGV90$=Cew{j*qHu z*K)#v1hcmzZjWtP5+>RbvCfcV@|KTJU8J<SBd2PN$5E)Vov^Y-qq{3h_0}WGfYhJ4 zJ$@Z}1+dafNewZ3T0a(~lsT)=z5!1p1P@voSy{F8r%F75nXEn@ym2Rfz_PL@m>SRG zdCMn~`VWraOQC5eZHK<KH$UkAx{^}h**qL|Z}SeX_FwN(iu!E9@r9^F&QzJ)S-fW0 z-*}aor(P>$?wd>;1r0uUnjSR~DMh9d+5CrB=A9Chd{4db`g0b@hqcb-%senWTQ@jJ z7#|!-xcjF5()MUek|9+^-h*G-A-JGXk}!jp+pjvc7XsK?h7Ru(yq$K7k(tmIPOa${ z#Rtno4fLM-V@sqoDaRYErJbbiDUDxzdRn{!u#9^51vRix9?%8fx6VRa0w&bEXWDpY zLh3%F)^c`7aW)`Z?b8@nC2c8O2@5|>d9B*vRpwhXwHg{~E<dxT*=jJ2|IGjKj{n)A zvQN}1^T5QE<hsxjJh1RQLYc1|SFM0c1r#rl&~wbxXjZ;bF7muHB}TO^)-~GWaYN4J z74O~`Umtq6ChjHj^^zDUcgBwzu0ct2@SLIS^eT}K=rOyh3yt`L)_adfqcWS>prvT| z$v0wCV%InqV8s|!3s?~>e#WH@cHR&l`D80Ecf2jrJ|c?2tds4$Wb(Tv;X2r~aUH8Y zwW5YdyJ6b5PtWzU@BWo8Aaz2)@L1_kWL|_ww4x<qj1(-qDSRGF-rLGJa^kKHK)H4C za;Yr{Ebw`H!mZuS10c@Wvf*ib!>yL`jp*VNMtK)(N;&<LK5`7cC~H2PpeyEp^-=xS zK_Pp~9~*wL&*$wNSx{T51I9(Q+sctzYdO)%#4^8*;j)*mem-+TNuOqTB3-d{im?4? z8fyOB5C?1LO*?0mrpT9lQ8O}b)ZW+{B2^)6v|h1-7CktTxE6Z-$;)dOdoW`>3zLC* zX-+yeU<3|IVfGumYt_^LCJX|c>~0kyd{_UNG&=4x^~<IGf3@=;W2Q3)4M$Y^DuIau zq3xDtzsVU8AfI#?3DA{ZLcXYhLDQifg59*-fnbp4VTYZ(U#D3}+gyx8{-j305n(~3 zs@hVcw3#oQz;f8V+wi4xW6uUauoSAc|MtDNORO^CyTAm(DFp<NeA-YrvL{v-M%$Vh z@vOv{X0n?K3?E(;kQ$Ov#@TPuL$%MczP4PJ)6^;x&xvsO92c;My>%-9At?Uw?Zc*f zFy-k=`S;dGPu@NiHS3z-SAr)mvtl9($<<NdLtRzi57VM!)|r^)30%jYIp1~3znJs3 z4kjWQvQ@6ZuH0$j#LyB<v{r3ePuHyKQo?CMD7fMBd{E?v-s>K6mvq}=*lUH+a!}Z` z7BI>1mUlmHN;lf@NA)72GMhz5;Hk8Al};EpmS~hCfsOM1rc5YqPZQ5jM)IychGbru z^|?v^u{i#<vEEEHLu{s7D0jgc)8nDIr;uo<m+vlF$sEh6gB_|+#;DbHfmS6XqW0x- zlYcov{7};NT3M!euPDS8zME=4SnSaI;_2uQAO)G%%X(l(?5y_c>`C#uBd`ADFv@x~ zRvR6r`EFh-fMR9=c!DuWMdbNg;EV>70OLX9V2W>~ce?hUiwRagY2O#U61As=$G&a0 zSMJA9tZSBPv|$GpkWhcQ4&v*poePSCt}!|P9O`wA(mHZxCn7nfWITN%462`diW{U& zOU_t1wGL#n_b<lz%#7hb5OW4sn;qAuJSp31w4C<mexsUw$`?k*g+Hg`eF)%0wnV%3 zhj~F`NLO9Tjvh8RwN{C3`+`PPG1?Y+Q}??I?K-~U^AvUG(cY3t)^)^u+PwCg4HTE4 z?NsO{8#=0W=1glbe{Ynu{wh()otlz4Nj0pzncJ1guo_tNQIaAW9O|`a%lLS^w2YpX z12xAT>NO^*{>`+!c41rbSt7J4E!t)^LN$!NC+}#_v;cX6p3C?L^YTvKNuge<zMayi zB8+UwJC=rS6MMxyZGY^eHYy%+>kt`KRJW63Jg60Q*a{wK=srVskr=I8E~m?)v+^;B zq+EgA=aw6SXwBu}n8IoFgIq5eq}X3k8Y}d4Xh1AAHqSrl95;tYiJ!*ASnjB!61rlt zulgXycvD?4G{MT@nKJ-@{DCFL_-N}%yWUE;;7D7K**OJfx0o0gHZR5&SPQKpo^2xw zNIeC=fjOXp(I~!}*e86fQvOr>v6N^GXt{oLag@^5b!rolIC$=Qhy9}{e^~f3b8kgj z<upYYASfyUTF>Mu-b)LF9J?TeKjn8X1q9;-vm58jvw-L9WL!5j(RNC~z@e)o1>Ms| zxvw<r7gaG@S`mz6-FD;R(_rkj;`K&L>Zz~Y97pwqK^Qa4g6()>O0Q4WUqBr5bp+-r z-xxx=n8$NBd;t}hvur0U<7k_CEjXNKQRHh{<o2o>naww1*w|a9!9>h-dFoAA6L)Wf zjoL)1o`ENc0I3tsMp5NtAY6`q&L-rr;u?m3e*u)jWt8ocKD7x1492s3jz6~$dm2^v zodx18c3BVg$=49nF(GJYvO+fkQ(ru7_%!w5=nT&Ta-Ihg?QA;!IwRMZF+62N#L*UA zbyg)J9fzOgo%q$e%0=&PeOYI-16~f2hB`8bVz}kRb*g{&{rdP|<Ai=x1d#F?8^MO+ z=ohYW@1WGwD8mfD7<2}=_>VUY)oFZ&z9sj8`n5dz0dEZulEZ`H-lI?ARnL%;g4EWD zV`Gid6<Yi3wr4)TwL{UcK;fykk||+ofPTti-7&&M7N2cuVpz0G-j}27NcDR?z0dD4 zlj_fc7Sy@-Of=aZ%O9@;Gk@4Lw7<X4aU`9=OC=jW*UM@31)ffBtY4v2#9pe`r!dv2 zfe{gc_?%Ja;^H8;v2|CGnQGdNw!2w#g?7OI<&XDf!JkTL>6j3f-oxAVPh7F&;j0|q z-(OU(>iU}mL@}gxOpJuuL=P<10P_tKiX2#Z()HAV_b)pelplmA(9aM5rQLlSK#B`v z0tv$GKxd5)>7kBtbY+I{Scp@qa{=>0(zzBdG~tdKvkE2+`%v@2dC<3Yviv=$nWk~_ zyWqvsV>~lL>|olZ@v`>HDig+($fJA`%fzzArQ9}D+V!I%!1XMPQMH1NDD2b6FVn2$ zl{FNSY&@KOI)Z6TFUd>TRJ}N-wTyagJytPO-M59e?D%u}-0=AGy^k%pwtIWlodr7% z)Qry#)EN>O_JH#ilkZ7adD~949eod^0-DRes`7RhljMB<p}JxD&F+nXFVuf@tMB(> zT**Dkm_Hfik#>GL{w3esCf?(*8;S_iM1+&kP+`UzEyj9hr+Ou3*(>l{y|WbQxI=6& z8AHcJ09H4nacG(^m31bo^UCtUo?6_{uLZ0YRBlK5y@@e|IT&h6%p@oihl^Wk3)TAS zZ>e0OMF6{h{@#+>T_|qG+ui`4AQTH!Gfc!9Tt=hP9^Eil!NBWyWPiC!d84`Twfn## zkN$l;AAyATn_GGVW)@CaOz51b%&H(J37H*sR7ZoF^`A&|DX11BjW0r<b_T3vU<4CC zz)j$HTPQFs=)ETUEB(lpQhcTF2gZ)J)ft%}pkloc6R4um#8`W*+6=*}1_r(lWm%0} z!qE=WzE@&fQFT*OWain<`!8Req{L%UnyJvP)-#~aeGtIR+Y8lQAXW^|td^J(c#+Pg z`Ix_s+wuw<U(d9E4sP$Ju%H;o&BBa{Uk3als%pS*W3&cF0u65wWT)A3mxvDB;HhGV zlRJL$Ga<`bipJl8;-@yBQwlUup06Ei*iE6MPa=ZVn9(s`ek}NevO<*8TA~36dc<7l zy8E9a>8Uyak!)2FRz+~&v9~yvize4koiMAGA9<z5c9?IhdTbs)x-mrbFIK78WoGY8 zpj>t+n4|T>?wUe8iVUIn8L0Y!dN0ef(^fVVdLSrjXyVLM0ExLRP1{|2sSV4lx?Or? z|Lg!47o56D$02o2$w~t;glzpwq&1>zU-G=|Kcj|eCsY@(Uzt#h-3}oWF%^1CS2?6R z88TFVO`7W|-lkOS6I=LSj^aSm2(~eR#(O5tZKCq)ZvV>x89Y_|<73UOKbglgVZ`O_ z%B$(kC>oT)(A!G%EpC=Yf2-gg>i<}DJ}DlSy-Ta)uFXU;CU?cIxMd<EZ$y^;z`h*% zIw*VcTHqVtzs|0ETMNW5Rr>NrA`ERQl>NN6dOK3l$AQPvQd8*|xahL-kK0B0Yqjh3 zOUk!Ep_!Z33{O`<$L;max7XsX=-sWK+&Mx{3IRMnW=`!;jI&V$)Q*NH`Q)w_@LI(t z*&+vtI5X_GOxw8k-F^HiaLwRVUKF@E5ZeNqc4V+vXv83#4<6}E!ojmwCKwHIG{mt* z%L{PL3j{8-b6=C1cO4DA`rH5&DjoC4PvBlY{uSlP)E+btI7|h0z#yar66@n5(Fl6+ z)=ii1)p9&>n<ZV628`SH?3hU<YgvH!=VD2k1c&CafQ1YS=3fp6Ky<V?x;-{%DzjMu zuwplExusl6UJ`UmUE&P7<SiK7_D2~Jtdj2b<;1;ZHLlZ?lsZrN*9{lUk4|WX=G`v0 zI3e+`vJYIq9J_O=7MA)-j%yP*sLW6TQMW2ipiaPb+9=CPGPYezJ0Go%bcYPCtox?@ zR};BEuUDHy0Rk>P`>nlt+=YH_y4d}Yr~a?Px_F0O$)<TTKH5$YkPK9%aoCB_8|X`l zn+*v_PC20_Qi!L*)hmsNam>UdndpcRERLq&ExRdmb|6bU<Gl)S*H2*tvovrZ4I8wj zGmViG5_5M{)+O;?OS0sr`je>2`Kd18&8RZQZ*LjlaNd#Y!%@gc;I23nP4b#0|I6WZ znR-hmjvu&`<icX7GwjUMUyqJ5+HxQ)&ob@S|7MSS$7_f6g??rpw{#PE&D+0)Nb|1& zqBf5)dp4BAp1Rv!%8hG97dSu*e&-)<{LAq;8tCGK%;;^1$yP$<^M-fX(6_#`J>>Ro zD7KhSOtl;0j9$6K+S?tG*~Ix2wh1y_YPX{<uN_Gm@Vj#DsfVa3810l_{>%|uook53 zz)ku;-xQumwZ}7{@VUt8FC=<3hw5}h!LMZ;pa@+9X9vnQGkXCTppZ~jZtTJT<WuoW zj&Bb%sjs3zpk>=Jq?EL-)6lGoGtQa9<_L3Ieu6%HgqoN&D*X8#+QRiP#s8qd`D>W1 zbv|i+l#1_1l6Z*Y0B>HA@BKObfjC0(_!-0GBfY<RuQ8x+U*gP{KQu==uF42}#Gx?d z8a=#IHLp$%0c<Ocov((}E?PZ=G~){$H`z|kB<s9p3IJ^Y17mE5!g)pgw_<{+PWi1M zmTThfN<e)c3YA$f&Yq8nxPsLAGJLE~MR@khH7JeZwddb-@G^_QHu@dSL?eGC^m-E< zue<jgwnr=j-&;^+5Z(EYIHArEq0Ig`9fH>PrOLslkN&*%=2|i_feTmy`tN=Gu+j#0 z&dOqf{I-3C4lKa|a!dKl>d9LTuecXf$r}+tNKwJKy)-LH4T*GA`UGAZrW0Uhx94Fp z=Y8S#$xywhQI2*=w7@d|LZ}g*EA|`bQh_O+9!+7c-PHD0Hp1Dlx_y!4tJa0CB&Yi+ zs+zC3obvW)OtqfM)m^f>&ngB}&uWDtP9^R)d-`V4^E9(^B;szwzmziMzWUVd$W8(2 z$cpM<xRvzC*KvA8c-vw0(nx$ww2BQBaJ;GY^;R|zUGsWlbZ)YXS2!hX{b2m|aCu{) zcVx)=vnhlf8$Bm5ZS{M)<>QyTr$4^Y(-+o?*e!=!r0W4QDp==|dMn#r5ITMO%(i<~ z7KfZ>P4qAbgX4ow$S6n4-E@Zstyfvsr8Eyn9QBXuXLd$#Qy=C&pZG6c<4QA4P0Iet zMV<1F1X;t40PZgT0&qX9u3x||gc3=oFs_zVdXqzAi!%faq}x@=-M$Xq0PSvLB~a-R zQw>>;cJ2?jt)Wqgp{c(>%)85^zqi?zOs9)LjW()jZJ9JR_j|k5PPu^k4v?AT`4oy~ zg_zwxgAPq$&PA)cwB+fSmE&w!&_DT~aY{aQ`X1jgUnZnKWm+y8ta3}D{8=#>Qwce! zJIyyMn_mDWrNev_M+H=(JL-qJDEBGu>$#d2e+ewLUNx07pb$|DtER83@r3jBgwGfJ z+TRVGBptfaj`3G`nM}*brm%n~kPo6VPyfcPZD&l2hd9*F`1z+FEK^usjW+hqND3?Z z54&FTSf{ThBY&{@KG~apR{UAqAQiZgB(i45cj$5H2r0a7bVPV4Rio4h2)v$Vd%UOE zJ*tt+sjht?6!p3wk1ZBE$<o-{^1?#0XGg$DA}e~?L0c?&i!0Z4yZN6`gW=X6RYg;3 zHw(>B$A(Wx)@#=-{lzCh9#k^IYjI277Jr@maSSRzB+mj{UoC&{T^p2VV%H}{hszo* z-3|K0b51c~-i229_<=uhN07$v{ds)y1qqSmTKGt$RXyC)%7~WHHb?}^?SRg+`8_X- zC>&5q53<afK2N?V*<mXR-s^Z}-1{ZzP5hw(&eB%!wxz*4A-9VZ(n!$Hu?2|ArP=(6 z-x#2!*xbB?3bAtx*<Byo7M)hKgb?4=<5X0@r7s&Gtu7{`YbjFCC#|m)dR}mPv~yYR z=dCByM!lF=t&1^sbeQ#J*}I<J#kB-G91~PoAf{Ybf(Q;*lCMK_Y@SX2cKgY)b3?lA zn1sn%i5fzwA~I6%biqtj`<Z*GzOo-at23Pe{xEiN$@`W!0+@Fvnh=;_-g8dq*U;xs z{@y~PdX%=*cnja$Syi3HZ@b%Pu1<XOKj(HqEm3+DYcLmwOe$*DIkYyM#dq7ULq})z zdmrY66-R%cL5(sBxS~!~`Cg5RscCAJk<BkrZEAtmh`;Vu8o|#D-E(_;&*mS^lu7Ok z-`2!&_D0I=F5t-_hwc@Lj~T&ZHtGvVZ5~Zb5c)$0y4LxFa`+LLjK1T@`uA{G_jh(i z!ICdxXE-goL(6S9bkA7yxoPF(dRo+kM12B}`>0uX-W$*C#*6YlX#UW#;HsGu%8)7l zdi?rZlZK|B8D^xTW{VPUT%K^bn;Smm(9_HS#T`;uzWaji+y2P2>rk=~*V;1VVpz)1 zL-r@R1Wg55nFYt+S75^Wwk<YuA7`JoV3(2|1>d#wzSDR`7n%rtQ^;I*^hFX_T0lS6 z{iPrC$v+W2li%hsVJFw2w8h(gSdnl3fYV8HTk`$0s+KNnARJ<o^E{U{-OX+?ylPk% z`Q`rPj*oY_W}`sE&r6ba)n;}wK;){HU3F1;`yg3A3%u!r+!wtcCb;+O!1=G1qRB`Q z1$x2Baq{7rt3~HM6FL!2as+g?Z`jt5M2N<GQpfR*mz8M^Zp6LGs~3tnVW{Q^#QF|h z#QL`Llf1>?$X3lJASLX}2*?x4bpSU`VN4J$QUX@Dibn7oNowayVg>_)cj_NrF`3Ie zCNSR`EP{s9_C+48ss{phT?D{xymp6abTMW^gm-Ik5`4b9?8S&!k<038w|S&Z^3-Po zU-sbMwM5GVn-}><I7|4imSWS#C0NSxWr;<Fo65c_@R%&^_ginfd^rzVy#)=&5whYf zy0A;ex#92M^m0qzQD`pzDPZ1nq}^fT%+b7?mo{=nHhu)^)v48g9|!0HLhT_<t6Oj4 zPLV^m|0P(-JyFHWKCosz{nBpj)eM7TzTjY%Ju_L7I{+bSlF}uk$K{Z~k@_XQz3T|b zDL<wTyMB>;kT;auM%-G;sE70Wy;}Ag`kNw;&6^9>N?q0m-W^m&@@+tk=L(v)>tBwg z7sestrxXm@wIYQ4(|Arw?rP4bm!skTDQr}OMKKIraP6(bp3{E(9vtgxq{HAJ^vz;6 z)rzyuP?GQj8|Nx0#r2Jc*Gi4VBaavIH!;Ouyd8B&1ZOR^MMs-hHtCU219}tP#{^cn zv=}_KfzI|ogICbXY*KOCtci(4QpR9v3l4lf=twQ7)ABagbjF&MZWwuy6(l1=GCEaL zahJdMsaBV|KNjs&J2tvbWyuCM7;Y2*gBEr5>8edgW%7F$;Lsx0eXevPKwroM?(_o4 zA+yE<|5d(|hRSa2n-mCOL`W}?W*ThA#DC?k-1L2#8keFH@Z~v2kL9^9AbH8E8PmIv z?oLC!&FHA+0+Uy!j~8){)`#}&69tM(;CI>zTTX?44|6|!7~zyT&s%Ef9q@7<({~d> z6#sLf;_R$zPb|kQNp8@IN857M%xiizGly;OD6)4{`IgJAL9L>uVtNfdi&d|*eh=57 zl9QUSoG?!@8Hb{FkvFV@9F0vI68Cnx6wh~OMRNK(wNnAFkIe1VS|@pAve_cC|7Kq$ z7Hy12&BbKgI(&4;y)eYaPRksR8dRj^?zwDZ!?1hd*joA`EOPU>6KK!m@C32+iQ1Tw zM)Cvk+hRMiFrvYD+rz5D8k5(*zhV0QZ^}NAJ{<k<dY)l7Q?pw=&Q^Ir1!$hotJ6M8 zRXmo(C1rr$dqi{LKrq2EDD_=dc*^;rsQcJw6LzyFz5s31Be0ab?{@?Lj#=ei=0r4+ z>$#*~{AB&po*rU5<N2bAZL?hD=(Igx$<**?bno-`;(s}07u7>U#<i`Hi;##Q?Tsyo zD)HId2atuZsD>;3xxZjHa%{&-LNCe;#Yg+``+#e|#Y&t3h29VY7984@_U|El@g35- zj(;il_HCM=!Kq1uKl2)*{+y(jjAbhFq>WMxrCZe<sL<)<-*=}SysoC}){&y^!d#N0 zdR?B_X%zYk?8GL|H?e1$(k`MgcrFI&=G(Flb$1-bH-~1Lr|g4~Ha^R|yc5fXQpUQb z@&r1*5?}>WQ(nrggZ^IM>Z(q;d1V^#mP$KuBq_(8ddHmaX?1!VxiZFWX6x_UBcB6Y z?1EtER9M^F(a{oCq3ONWe87ZGD`tVFv1h;ClBJ%vrF+ttf8ad6T>7}&C9j(5uZLxd z#n{`t8*|aqyQ&X`%`;usM1H1MJHEsdXt>?sgCXT#4<1|b(OG%L60`#+cD*&t_Zvg$ zhr5-#n*K3AEj5lfRemi?#uD1YL^&AsaOb}hYw5u=Y_lf@CPklMuicjU;nhxVeba$@ z>}a$oRXHe(?JVER^-3@1afA@GAY%8f|5Efix~$u(Q)$mB*LxN6-j!#regjMyQv8n; zbu2&sVW}C*=I??KLU2B9F0H@hw;J0iNee=}&_&9wMUFAJ70%Z410F?g&8Z(elOlh| zJ>g+GK1GYpFo%blOlgJC<&6znBZGJTk>h+fcRnuSBDtWSxjUa#0~@qoX6vfyf5(-~ z4L6-LS{73S(xohVRJ%=SMNj{t?d<`>U7mLVOZ9z(#2x!uL^>AUurRYwy1QJgMO-yJ z{YzhH(eETpG|M%0qB>};*5^N>)k=R{I{eb?EiqS#iBk_qN23ozmuY;OX?9bak&Gu% zWH{DDd&xyETcpT-z*T7BTF{Z$?uQtiFouoJxF@PyLB;Lup!v|<Uv93I@~<Lk%dOIK z2Yw1SGv>8;`#6@daQYqtcZXhxjRatY*!Q!_D_LN<gX7$b3aZzFS7ToB`uzUsvjMzt z=WNKcWbPhK9xf`|5p>Sq{$0_kotjYau~eisopRqRpwvU<j9XvQ9_A5X<jXGq&30wC zxlfT&UG~>8PK|qPXO_1(*2F>YW@oJ;=F$%X`Me|{k6~!R_KyifL@LAi{iJ8<Rn1!h z96V?Y5ndc|=_?HLtzSlk$Ub_rAznN_?&M|?O-p0Eq1mgJZy+-F$%MiY&K=8$n0Voa zO<Se!1z*?zS3;6=GY<d6EjXEUORKGg2WWn7q>Re-=$3AeiuJ~)eQ)lPj@q2Y#k0d$ zknbyc`U7syP?84*d$eWrB7FjE&4vPV`CaK=G3k%Mwrz_HD_UmGf8-mz-ufkqz}>BN z2#{iG6nh=n*=Fy`f>0V&0Y<?BA6=Z!@2~dq?%e_+%oq@c4~r!kb~?Wa2Z;Y}va|As zi4dD6AF{Ivv}e~-`et!0%Lo|d%AI(Qxu%+ex@wAY>vIjAH@Rm4C(4%(HLqucdLP>o zY2}66F(R&FQ{l7&5r=tty}Do+v*&bouMi(26p&FYYh>0t6_B2K#XScpq~6!#CdXoy zcZ=l!uYtUM{Xw+goubCAgsKZ7cB3)8sy79{?)^fZR)4E~`8)1OuXxkShi^9p^jKG! z0tfkrXOs!4>%I$k>GwA+pOD05b%X})8j!L4Oh|v<T-o2!W^sD{-W14rwOhzz@XJIk z>{GK1#g_{D8o6*-IxW%TF6ywr%-JtrV;rJ!a}no((_S2djk>##_NaQF!uanNU7OaG zyZ#J_6$Ek-<v(uD@(3oeg=5eK%8x_Re24z!2)wH7lFj!({BpNgQcAuC+qSZ&@0Q(4 zd#iIrmF7Q}UG&U8r#gd;+ERz@$SlY(9c^Ki+7-I?<yy_t$YlV=u%xMz(`t*)$J6~$ z^O2%d?$h+v=(De*N8|cVn5sv(sxnS7p40_Duk*-OMc{JDa3%-3uRKHYnk)xXovqah zJw?t$*fS!sht?g)yEV)99l}5RxK_BFaXGtE5I!GbqMDaBEL7b%ST@&?UqA?UAkwys zrBP;@_%nnH&#dtKI&61WYMDZZyy%5>v^B9z+zqNs_B$>P>L&&pH2M?vDRdN2Sul@Y z5+vZEid`^g$;VN0T!7P!xCa^sn8Vmc>bf-+EWl~37bbO+ll30y{yl$A4Cy}tbdRve z@%Ez4ks=B8_M6VNV$42n{E8whk74tVU8EwHfa8k)^eD8bZG?K<6_sMDM&1RnBD!iu zym1Vs&Mm4$lU7t}CQV9Yvy=MLSLU*5VBRqzEdK$;`K&q5lU1bst!6Z(aaSI)I%0!E zm2U*AOvJkIYxFo=I7vw{0GzuRxUwsk=CS{y=(@w%e7mszs?|xW!z$XMTC?`13nfME znrUl>#@-`osSdL!TC-KeinNFjBW>*&I|yR$2r)CH-~0XTawU1M=RMCk_qoRqDuXH4 zEjr;A<FHEXZ&wxL^YbP0YP^HxP6ncc5Y66--n_dwfAOaY$fmZ@KboJDUM2dd9ly4- zCK+2@C&hrQ){Pje5YVV1pd80x!FfJSkv$@ucIV$DlpXjI#R>G-ne2+{@TMc3j%i5; zBvom);p4eC!x!>ornT;M3gRx>Ti!zBnDY8iQQ{IU6lY?x-c|I|;F<V4>2ZlG76I&0 z1~c2cg0Q*@^`vR5$eN+Oku1f{Y8p}Z;LL>j)C0`%pu-Nox|yHL-Z-6%*{4f`BQ;+= z_$jcO|KkamCcgJALY6r#_p*1W3&pF6V<N@OvUDhBltd_LFssz!_zORuKNN$;f<#2+ zGoBjDpJpIZ*I&a?N`<^yN+jJK+`@-4MGAByz3C(D{V(zNQr~j42Wumu>wz5O<2o6O z4qkC4HUWT((%t3MwI)ilQJ^%~L)|Mj<@nF;Hih_PV)i9s9!e=bGikBEcn9Q~(OpCu zMJOQ;Hw9HdD#fq+7DVNiOT13XW&0<M)->A|6x29`rP`?Kc89~HvvN;wJAN;Q#?r?> zb@IX<UO2`+FFv$Qx3>QbK`IUZl`;2NmDHf8M}SMu+NpUtFw^dh<9$y0)7&sko|y$X zLw4GEgvkJ1@gF-)<=tC(A8<9&<eNjCwI{ls==moewgEhzsnh;in4xb)pDibFmH>xL z%j!I@P48JdJ!?GlfW3k<EamZf9~>Fvhm;=39ystWS|h>QbxX&)LlNk5=c3(-XFmEv zH6g1MYb^*0FlDVZ8wY?8xGirc5Nem^Q8Q4RJHySJa@Kz=Irk87gGAaB$gY5c@<!vu zVTfmNKxL;-*)<QJg23N=f}uweKSDi5nkehF6inVK4yeOyK->4RNe#+9Xe4R;D4jm1 zZ1u`HUpPa&WFNreg>K=h4n)c*M{ux6)%k}L)l-AkxZHYK!a@Xo<_I`BMPGf(9J(G6 zZkXK>OgpY{ygysW1c9-gGjGVB%4h)42;90;f0>~i;&z!wrWH7t27huSI=Jv|ZBV{2 z=+w{&!`!lU@Iz2~z|fR9T}ZS#JAZ`E$|F4ZQ}^in@pEKK;#~#8km~Z@`h(Aacg0!Y zS|#iq<O*(!%w0jfcWJo_iyZCyFFsq=Oy{P->R@Gw5;oQzH;NlM3Q$Ct<P?TW=cNO6 z!V%Gmy9B!~8;iVYAR;OG*!0I!QoZ<@hfZ&zv*EUV&)#d?%FO|2zYhUZ+q=*muRSaB zjuw9Z`PRwr!7nFbdQ#e<*J8f8vO9ZC#o$GKBDK@{N{&1*qLCwKRiuZgHJQk;cQ>d7 zd8ic>uH@iNlz{4$v+2}!bHbav2$<8*V55#}iLSVer)ML|DaPXnyrcl4R>Y+zg}qmG z<zs3!y668;>%^&ee<>)RU^O{#wwpZu=wepP*4ciIG1n+@F=6_n43XCelm#Lhvm%2S zz`fl%EF=BB$^NG(cWp=eJs@&~IagKU<yMgecWCF^K$ca~$V7@%`9%$>_-3xI_}%$8 ziIIKqwx6GGPVH6((=vf4nX%@f?^hz<TBpbMclSuEie==<_g8rw3<ATo0kmYc-{j(C z2i7U_3v0K62eKSAEjN^l>#OW3Rh_MaOm(*60@uUgwrT9yY5P{V^`p=)O=oNd1wNwq z-u4*?WaTu3<tijC_xiY;DTf$aqIwqdBddq#dy2@eiKpWMBq|xP=igtxDOO8LW}si) z(Ohl{W#u-ZHwUr{15$j~VMo@B3r?j$s$hOQrER<ChTNpvj{n%w)ffEtDm0xxXBybK z6Z69=S`0Pu;Q_yJv)!rzP<7GddoSO7$!&>0^3M&UTUDpTDCR*Kw1|Tz5V4x0gIY#6 zuDa~g7t0y97;V;+uA7;M53J_MNJOYU*JLi?<dEeZu@?N<JF0Ru0y+qq8s3n`bQMy_ zP%N55xi#XrI#%Mai@?Hm{d-kDk!U+1U6`so2@SO?ndiXRGe!@enZLDoN%STMpy}}D zSZ@nlnS4`y@%>pwK-Mic@mwy^-DQrQvX&7GkwAz_{$)#MH9)uRQOp_{KHs?UTLRbj z;kR%9uFm^H7d=$<=Uby0i5U~X`R&1+aD%eKHp4_Q@`?iA`Dprl?Z?6xK04<Jb@<Jq zR5a3S8a`UH;a^yW#a1yWX!O{ejMCd**$p$4<f#AT?{e*~xBB!UM28|BGH4`%-{4Tb zI!I$>QJ4DpWQ3e*+x_Fzy>*s&)93lJ#lr@ABizDGJ5OhQTO(5b#f|%SCr;i~XgB%C z_Kex+3HaTi_pL}}4)JxDpiQNC$^Z?z<i`?u+}fGLTl}zgUULSxeZgBO1^&hZQQ-c5 za|GkiRTH~%xh9B_a-^s(%Q^WlD0U(G)}IWme{2satA}Su9HN7bD3`@Z6=tiJEp7Ec zP$_#ABAU2x?NaU-2fHxh`+h}-ky$Fv23$$#`O=Q)+gB+cA|FHS2zdS!$!$;M3=1Pb zMT;omBnM?6>MQ7E`6y<H$?Sz!c5PR``S7&%{E(^+3-$Zr<ou7ZdIxQ6Fk@d~>3|k7 zilNrcIf_(aS^agcJ+ZX$Ps-oUNBPG4l!xyB?u}Sd|J+zjgqCO@fJTWq0W1NyE%4h! zIwGtKD3$WIeQi%$J|VIfE3Jjv*SH=!o|MUYnrde2NY@%&{%$aB5DWrr@akr4&+R;8 zx^ESDe|3Jj(q~6eD51qJ_yG1=oY6~Hb^;1-FNMIj#a420uuPa+L<ys2dVp!R%F=sJ z4xRfd9bi}HF7&_-)D(JJ<h0UUWR8p<=i+mL0PxhaoHt#Wl-`2U`BihPhy>*WoMq8E ze6T&p{Brgh#JPf$UujJP7RY&7@T%VI8ahur(^PptX;Nk4p4It9^yiybu|Z>eiDS~< z7TS}TY~SuTV54^_2!0<>0NOz)j^N!u-O-sIjrE481>55Azo_B~f$a^$Op{=r6oA)S z8ORH;AVZ5XI(PkwB*`|D=RR_cXWu??4E$0h#TtIT$$J+!DG@-s5r~{eq!H`@>5caC zmypMbO*b&;aHZ@OY|wY)kIJOV9FRqAw8_Br+KcZes6;!dyAPvgH*b7-wZjR^kc!)P zv}5UaE$tlSU?Ft4LsAJ$9aQX2;%X8OF}y1R5)^;7jc#rEs*ANN0laPwyf3!(a(<OA zFx4=)wU;P&q3eQ{D;A2{tJ|p!7%@!sb_oyMU{O}{<YApJ1)$*e>04Rd?p!hG@GL$- ziw0NF`yuG4vZci9hEde5D||8a&dcmm4xb~H7`X0jjXN4m3|t4@bKkI^r&UO`YS@8~ z|DZLjCE2Uy))cb3+fG-HcjB7JYVXBBTEuv}-dMXDQx?zM^tQ_P@t6(=Y_wQkclFz7 zdB$7ss#%72hZVgqdng#%KB_fv9gz0o=8M+PVW5k}rwclk9*-$pxmhRC*N;ivT|WwB z8d3M~X3~&uWK$5Jgb4m_z3*RL)zBXS4Me=fG!8LkHMu8$%IgUUb3x>*T^0qtR7oXQ zdA$^mfQtB{KJ<DRSex2PI!*w0`EMYEdZsZxV5INjP+4UdU3QHasRb~JI70jZIB=`D zK^CRZSdriYM;)a?<m?=9;|oKdzPW^q=|=|MPKYgc4M+xY$AnQ4-L40zXo45%mZQwI zit-eO0eKNh*T@SQkB~cbIgf1cb-$Y2BRzVl#7@tOcKlq-PF|0;VHdwi)ueQ9y+##p zrGXAa&tjgJL4ZoGqxN<j5qP6fzt32e{3;@$j3%4hvyMB~Ag6`wu?>!GFfCGIgr*vC z7R><;*JqEni#~mja(uBTpR`QlQ)YKxpqN<=0IK))E1slh2ROX{EIuCo6Q8K$`LW^t z4E|$~N=8>DZ?*7+)f%&BQKH=6dGP0dqib)l`}Il}Hm3!{6}#;Q+V#%gF|*pl;QYH= zW?ihGnWU3krck=biU=e4JXg{`wyIVp{n31jDacz&#Ik8?^L_r>guGp|j|0j}NrO*H zMntR<$&Z+@lIr_-Ghh9nv{v&8e}jDu<}b?{fG0+Cxa0$Vh1lGw?QFNBu17+Lj3V%1 zhd?sJiQ|We;x)*N$YO_8t0o&|9&UI3)CtE1sb4(xDFOA^vm&yTmo`^K;u}h2u0k&1 zTV`*ZH56#HHG;q&j&}Q|l$oa&IOp%xo1i9Pt+1YdY}GqV`@zCE^VmLV!!`>{x~D+N zt;#yR$r7nM>i0vBM-&#sK3hD+fA^NpT-|&?BS3UBQrQesx^|iD=Cv9~CQxxGld5v` z<4*k7KWs$<$sHQ+HvP)}{8<p<@(`1;jFcVE46jNmitEfVs`yqJFIxJ{rx}9~`KE&} zbRmmHN*~z&4VYl4n7DbbO&3zMvLG5KO;knLqT}J<_GHim2rH6|s@&fI=FoM@kmt8g z-@Q)#=G|}Spa&PMp>YfE`DIK{^Ee~*&x<2gQdiGe`?Ou&o=ko7TQJG+y)96Mzc%<_ z*1Z|Qtn+xa?Soc3+2bn*VE~>+yW8*~#qd`~vPHG~*@SOZobRKfDfT13{0h56J#VD| z^$?u&l>j=%pD@jpCLRt38crF+ymuS^P_n6Trq`ibOXDvcI-GG)@hQG&9U2(;s-;qt z@X2l*bfSdUzEx|8BS<c~&aQj+?xDxwmlCyNvX_e+syBe}YiZtBRr6e(lgWgZS3WH_ zGn6>gLE{!CTJJX=cDxPI+RM3xx05%y(i?-`*8gcU-Dd-xA8IXg?7^5eNQ?S(pL>!e z+^g|nG{nO~m?Amt8OR3-2YZ#0MvD~X4&#l|&WSpmmsY!9GqN`>s{#MIo~iO1JTcUw zT*E_eXNpg>wlq1k_F!2h?&*MqqI8S$0n#_z^@UZpgyM&?^w?p+Rwj1vz4E8Xz^b8# z)6IV&;%ea&(3&RjmWf{N(N~x{<dcUnOw=<B+Bo;|YTtlULsRGgETEwgt;+~`zViTD zQBFy>rrtU)@bz-YVOQ+k6pNgVy_&qVCL@&j*xx^Df4cGqc7cx23ues%_83*ciPgP^ z4i38vA3Q>A-eZ&=L4UHdX8X+FTf|l=CZ_@CnMA(WlWYE~AsoUJaF)unQn|<<m^L?@ zmjP?~a3mo07k}y9(eUSCo`#BD^e$XF=`nyCy<k4j78%rhI1^qMf%uv9Y%sruy*Sn6 zXH^vFtf-XBpTTOfiD^yBoc`lp#5-t?(+*#Ju6CrZ<#(e(xGxa#fSXNH*W6u}z`5qw z6=Ecl;N2a-7&M_c9Rfv+ey<6_ZUx5%<k)bET3`nQ)55ikr|!+}?x%U(KnK$D^Q@w_ zzlS25t(T26V?qbhlT&;X=o;|6C0O+9(qETvk6;@gGr9u<Hu8*D!ASH<c<^7+$4uc^ z;39NT17T8Il>ZygajDPLQr2JuTvRw+P+ynHF=#dRHt~+%^OIID)wZa<pI062`}5>S zJC&+HL-e}dtXb#$vQ}{(lW`;JS}IU7z<meWsKb$P=v>mV5YN_9?fx30B72W<Q>n_; zu*skr{<kO9e1uGIHp_SLo(TWSZ&p85Mk@PgxjIk+gS2T@Wkj;p^Dbr#guH^j(#$7R z9}1-(SQ08qNx92Qly@8CjHkGP312NjOoUO%YI5H|gMshMKS-&?mJ+N=MmMG|_Rjs6 zRVS@v7Cre#WKF#C5{beNr@-k&ll`{dt~tm6<Phr^U5RlUd}<+T^XaFfJja@ML0yXr zITbG^RNM}1XvsTMaS_DQ!>|VTrO$5SF8srFIdqM2kAtQjnxjm?+KUu4MGqo-=#AUf zu|ejzRO*|ZJZ$5<Yf6Yta_Hd_&hP~{nPsNkHqZc25gmoCu4JF=e7ersA~MRXw6}U^ z==EekTR7o?eW#}<WU|Xv&oPg{R6`)Xy$=Y#Z>8zmAugh|-v39&MyYXneM?o6shz-z zNj`JK^;u`P%P*ofsVJOvWwQJU1#tKP7{4xmlX-db6a9Sd;U8wtBX&y-W#rcpmTUfK zF(`plat6<>r-`OvFQ_j#2VUDdKK<D?$)x@sW7D*u!L)kezuM~yuxG#f!YnM1?0YVH zoQ_!$ZRnX4vFoqHoYs^2FTirN6D=>rdfLH%6T0RWtC7o|$+}W03hjH(Lzs6JSfLbC zz8wwQ346aJX>?<^hUw{UmqboZc?~B5fw@$(2nrQn#VtLqoV+J8M)Z&OPYhv(4M==4 zkY>o<w*jgh!Rh3zlk2&UJ2%+5<>C_?weUCVra)R(2*&S{lT_@U-AFMw``<mmI&z;D zr%oQ#H)oniqeYTF6qIjRVdE>)csoP`v^XLXzW`UnXh~^B#*d@3MH>?oPuMN<NAj<! z{_8^s)PleL+L?(gI53_s*`$p8u=E+Hg$gwT*2-7viv}Ah)SC)RL5m|K6qAd(Cn4%J zpdrJ?zTl&N?M*xI6$RCn5NXt!T})tO+f=3%iN!Jf62u1WYYe-X_%@8|_rgE61b-V^ zx`iaCW}QOqJV$>RE2Kbpv>>kVy;*CUTpGC@qq&b<9cm;(Z1LVt|FKDffs_UpqRAw) zjG)>v19$WV;Op#ivcR~s01dn&mu<e3#sd3I&u@Z#I;1#N+u$;!?ncibI%Y?HtoWzm z_b(}TPcPRo!&%yBY5R*E9$|hClX?qjA$IZCoH<Pp5!On!PqT-Dha8ky4c(2Y4!}wI zBlcBPdE<oO(HmAM5P#xneOC67fjPu_vMi@DQsW<6w#6I6#V7FwGkd$_^>!S9;=Gps zmh#xurBlM>+U~Vrrl+kjzEi8w%T4rPn)Gon-O0WED0{)5sDm;t!elp2sUxVrBo1tC zm#@FHg4iVa{~_aXCXPCV5lmn}B?5z@PJ7e)?|gp9nho_q(U5|(oePP%jg4@w?kfQn z_IAcoIMn*~&GI@&0-)v#4b4f65%{n@?3Akpcn<8M!nv4A2e4D~;kb44l7t5$ubza> z_`vbIObpNLcl?@sTkwCi9kh@cU~vTROC9Tq)P{fG!L=$&{veenZzh5u?~f-_FAnii z=t3j&u7gcNrd8{x(g%obkP-6#6QM6nmT^7AwFNc==MKCcjsF-Mofx#aj4;hj+X*>S z8CYUwGG#xV>oV~D%15Niw$jkh!+ql=qvX<*ds^~gVNL+F1=h7P(g<Mgs!#zy@J`t` zaRLE1#LVmjb%3{EK-$sWt$B8x>xqp(R>e1kuV3unq+F&i3*tCG*JY+KflkBBxngkQ z$T+iIzO56Jdk+{tHQlaE8P(};(!eZ%hbo)(-mXpX5qz#v{T(C|?0<t%{)`0#vH?L6 zU=Byl+`wCVINgP?&XN~bn);IZ=y2OlAnD(AV<8SL?}ULbvVTLRSD+~EfbcMe?E3%C zhOW1J_3!L4Hy{O+xij5(Te5&s5@(0%pR5vgW2?EVD&Ei4O(R%{cVLDbWEXcB8&0=9 z(aa5KtKTW;`|HsOb(=cE?abxx)&qq|LS!E8rW(&P*2()Ac(rDmUS}T<Gb~cy_KUIo zL?f9BA5C&nYt@yMCIy+{#E?rL;+e=O*xP?>D_|tl%sLtikj=Hu?Q5oh?o7=7dGdNW znZQTRTP9^LKYHbu&Ifh8`)&5Mc6J^D+`e-KyHYPkyD&w6CY>2ro4QDQ77P#{33%FX z<n<}?QCNyE?7F;khclZ>Z}NIO#(Repzm8e=%9B0xd!DlxDRV&8jtJ*~hMRt+`&nOe z(nu=u(}H)<?vU0mr8V7w62XTmyINn+8-rmq;xFUv&FAi?#PWkA#_@crnmfZ`ghwus zvYz#168(|V@V3&hjN_JFXF?JcqowehE%`9qI$1qEH7?wSd?4`9s?W1EGh5x><Q%oK ztwrL<E<R{eAMQx2I0wS+5jFubsX8Q(21A6-(xm%hJhjOk1FsPT5iR(|JeXumy=2Zs zJ39oEYn@5=Jy3sb$9VgI7@X3w`y0>4)UeL@khL`AG=LDY079FOUg5a3r_M9ZKk4O_ z6xw<mdsk1-plvpLo<I=V>kXQS^!{Eo)Q#FZ3Xt`%w$1%=GwSxarWc&#c!{X+?B`H+ zH$bUgGLZ0i8q{~tzl^jQg6IOgl^vXQICxu2pjrKC&Q08>Z^4$Xj;dOZJ1Rm4O+RB> zA&9*?RJE~WU_f5sz$)GE=A&Njn2enG$09+hs;V>2!AOX-EWrYYGQUOn|3?FM$Kbq& z=ulaZ!zAd|1@T9nylU-iZaS>ey52%u?=F9m0t1I?XnCE)-O+pF#6sMgdNFy97wx>e zN1pHeaD^0rY4*gaqXwX}`LpD=7JF<RP-AIJ>8Iz|pQnjrr>>k-&y|c&%yy9sI(kwj zCgwJ!1H@*zZ>7bxI=P6vWjuV8)p7j#v5q6pkj_qJ5_kaqH5-sb>k@y3TMt;bs3g6R zQj5PamE7#?-|tihu&PbF`)HP%^`TK|DDQSUjURS)OR4FNe_X)DVzJnmzYD?-?yB!I zB_p(Wt~LhlvTzS1EaI%N<Q;(XShA*az2!kMU%Ne*N&61j!Oy^OT2FlyU;>iNJfCJf z#a`p#v;W5ykW7fu@_c;X;%(ZVE%Ff%)rUhq@zgpm?d7_|xg&CQ(!@AN4RFEs59idU zI37$67<Y|YqftjPMb+oJHGY>`O+8Kbj(`I-jNdZ|dzH9|b7Tbr`?+^aldIbtF*+C} zn&X`xp%!VDFvL<HV2q$6vE%lBxs(j74#<G<fkjY%#q3$J$Z6pI1d4RB66Ft4+^Q0j z+9hI%b_pqpldRFb&Ug+J)EKS&t^VnVcz|-7J|gc(&n-=3%Nog*ESx~zy%0B0-GJg* zPtSCS*UhAJy(tEQ$ME8UYLv{~V$&RcLxul4TkN=9%KSW4engyt0-+&#J1zV!?<iz} z56^?oH)Bh5o+Nj$`>0!Sm+(q<j`_Yt6qv(-#)wKvY6zVHA??SGkj^8{R<RQ|-nmVs z9n*({mxr<~A6pm`;TaArHzQSb%ge4K)7|)@=}7!V?7-|m!>ZSAiPz0cCso(CHT}jj z{?Y9SLZT#}5=CqvvfVEYMHhxJPi?E#Zv91~-(ce9EF7{P#5k=T+ruwfzb>9x8+RZD zFC%81;;s&7!t%-h#^O8e*O}B?zaWKebDSIV(S&P&U(v3op*B7TrGg?YE)I1pfTpd6 z|3=$i9k}{7q9FU{{F;^yos{M)WftWnfRjD+x4umG1l(tf_A`n>(haGbFY12QYLDXq z@VTN#E7T$`ZDQ3)O*AJ1`sBRHv+BgXo4FP?!EWc8gH`{m=fb(Va-KZ0wo@u(0`%u! zXD-?nRxohu-%I|noj%c6efrjpWHO_gU66F2n6ymu2l1UM+i~2SkQH$;K2loy$Hrae z8NPQ`&AL}sL_*O?+{?sA-APTmIdeG#qh38}9_%5z#Xyqu%%edjIF|6DQ|WNih_A2b zIZl4flWAe(c^wtN7d@5im=LU1Td-Sg=U5M*Mq^z%o@E5e@WfAa2)CPSpJB03a}w$w zTlr}9P&^pX4afIf&kUv>g$M62jTo1teC62E@Tf@K@=gU-Xu~TP1^@kZvr)&K^8jBv zoIm~b=@{OZsJTzER|?I&A*taA6nBRM$uvI_(DD91l=`^wAM)_;(k{7}_Stq?`#fb8 z>p9+vlkH|!E9}UL`-nP+{B1dTlC9fX!C*?MkRHn4Y;k1l)MDj2cY7XVnP7?OSgtrm zUeAUJr7h2w>`02H)L=a;>-CZ&P^|wXAfJk3Or4zY_JJZep>NA5p)~x1tFa(pbGP3V zV}z6rABTgJ`#kgYuqmVN>6UErKc3GI0j+gj->;T+F+N=-s4NV{Vp}Z$#!O^94gC-? z-U93U-SWpL8llPruK%OJUWw^8IUn1itfn%f0I<lT)D*j^LMoP-q&MKDO+x5~^bPP` zKA(M!?NqztA!S!fa{7-&pnD0(NM#j9dK14<K-fEiKj|3WfG*cf5)DfP?sK3xwEFbH zfK$UA%cAV`z6s_YnRYQ8NONnWyeH2={%ZX9{rz#?iMw*-e!xK?CiZikOQivm@fDBg z*{s-<+Mx1yv)vZ?rFnE(C^u~dbBeeH)FMD~mwgpesxM;1@pR4l`g5Na?$d2Pr<v;e zD3MF5T>vfyWFo<vo!mvq<7=$-EL+ZwIZPDKnV|Sj`l@?seWx@>W+yG{oHqv<jO!^z zIBOcS0rwE5M+{t?l%q~2lsD|RaaE{Ma@DO;vH~sahV~lKFIeCb;)Fdir%K}dif^^t z_2p|q8l0+q@}47wrslDWCZ43omO<~x2Hea?o(~N)SWEp+-*m@l;udAi(|v9-D<&t0 zfcKi}nbHcy9^hQY<{KX2uPlx9{H)9YTJ_UyL5wI4)Bc0r&}XZv_>3Qv6>QcJk<Lis z-xm6gAnHb>T(xm}Tl($#%}<;L;w5crEc8xD*QW&alEzRw2NfK`+kEi*$+i3XZlX=r zv^>#?wL+M<yLG}H2eSO%`K8Em6u&-y_CiNXWj58?{r6JSt+dcck1N(~%PugYdkxkW zo{Q)=;mk)uf0W`Jfu+$_y9mQ(UA}d83bN^vDEZdCdNnWLg@|sVelqVSE%$Z={;v4c z**B@Z;m^Vno18++s?+PmsH_^-+K_N{1z)>X5^&J0v>ms~P%*4yS{t(09@=KxHET6X zRFzken{M|o7MxxcjvNU7&dU=xhz#UKnDOjsUNiJVK}TvfiP~p|@%w3%*oy@pLF>v^ zj?XpD-MOfq);81qv&_KX)zU!fzYAl;o$$+PivUJQSX0CBiop`J)b0E*%{j`RB!1m| z$WI3}>SKc^SF%=ptLW;tLwzHj*h6y>IhEz+^9yDFovRQQ_$5C2d~Tl8(zzTfeDUjW zL&5aE_a<?h;=cl(z&`s?d-!%cCLRB`>Eae4s=DLmiJ+H9)nzpkV(#-?yml*JlpQtv z4BdRZb@itWtqI^i2by8>1J#7aAG-r95sO=8_l2$<hR-!Vm>|!D&*z7DjOXv%q_tLs zMC}ziyGY$|&pn$^d_n%^51w=JYoZINaUJZki!{kdc-DKE5x%ec6E|qyeD&%oCsb3Z zG$gsuXg1x!+-}(GT#DC?D&;)im)zWzIr5fi`)?AgH_PDijJV7OTm2Ud+pmh06CsgE z<WlHT_2|Z}NB-ABlZ^YzW#2sh!`{i6PWGr$1{F&ST(}VW>}xf7$Z}_dLLJ_x8cM(j zwEWLM274QUP2(CM(EBgoPK3%<eJj=8=Ajp1La5N|Lxru4bO6IS6X+5FmlS8qkFnGj zY8<CHT9zz-XzHf#LjYw2-EH-m1ZTE80#j{HtIj|+R6q~C+ju5)5&}S}GSCHdBGD&s z=Q^vWx@xHCX*t7?$AHuRo%hsRfn#`7`Vc@>2%ECo9s*8KGf%AHjtOQlkV>Mv4QFPw zjqQTq%1bt)ah+04_Te=pjPEsa*B2IFv$H9Dx~D`jdw0{%Kq;7nKrk=0W<%O!{5<Yx zc}3vogo*l&Rdp#t&2*QMZPP%d1_CCX-!=PX^#pK!1_Mver<k8kzw#CO?dv=z=*`bJ zlox*3y;qB76Vh1d_)&ZB{LT{@K|=}o&uB=!-g&zp)9nH;7$KhY)+!LZgsDDoBmL}G z8&t&oNcmGxezMoq8LfouQ~P8{;4+^m^#{nte)82ZJlf>?l66ifN@Ww(2;3iRwAcoa zu{3oc2G;`6-#Dyk<NNZ=;|#kgrsZIDB<NoKp>=uZ9EidTdFtN3KG+>7C3NYXgWmq? zd}7}cFL_hZeRfnXko|!q=#bl=Pb||VMIzi1iuC>gxV0RE=Pmx?yb<GQd0RAh-A+dX zU06LtmCF05!^tE|!)`_>0zqPW1e*}&K}{2csMGxh6(Ji;?vVX}SopJ^zB%2RT2F|Z zD@SK)?^7mkw$QDFNpbNB`jlNh+?VoP?pYWWTWvRP133!Zi2S;hXEe~DR4)55Laz8v z0490jvGX%>++@pD1N|(ex>#{nd6BYmkMGTO@dhHVwx>KM`^Y8wdT18z;ka*nTISF; zb%*&Xa&eaH13tWxj|dU@bcW2n_290nrV|%y;Fz%-h}eq@XK{VS7Npggq0=Zw(1oPP z{=EmY4-9HMo}T2m;isM&zoqA648(wr{w&VK7{`01c-k>*w61nM*?tGP@_~bcExLm} zKqPzrNbVtYO2<6KK>WK>PvuSMG0g2wM<3n*K6=o){fLL^20iRxGr+WvubP>$=0k7) zFgW7VyF*n@ebXjyB9iEzyVoq`Y_+*bCwj7!kG#VAyR(AhD#NBoPV+hm^5cg^njV=O zVMc{jhTDCcWr`jvfAu~t!tXerIvrno^Oj{`=gih{i5dD??T%ruYO6SQ1VUpn`)dEH zh8QawDY@O+Ktcn<U>d6nut@t5r~Ri}tinKl37rov>2s&N&zU){TXXkRvfH?(^r^AS zh~Ky-m*MuMRPa)e7TuyMb~{N-y;RbON8CsSJ<<e5^b%T~1Ke~Vnkv<)^~NLo!Rt_w zvWexI5aIpeqa2oCJLj8OlXKv)2BV)9UuU%*KyC#_oO=6d;@8e)XzIC+<nJ>76~9yr zg}DfaAvwZHnf}H{vR+B(*ms_3h64!OY_m%HPaZNrF_^@A_5Wjo!rxAd)JAF;Y`@FV z8a9)XAL|tjI=EWiSu48L(|OaNujkl72fM$0n%KueSeO|a>j5~#hXp{MR(viVew(K& z2!KLGtnb@klVNgiD{{e1U*qb1fwB{3!L*n+YUkuWv59QYFK<5^r8SZ-RVAPur1Phz z_E*Oae8xnPn=Bq+SP0z;CL_!LlpHFLx|0Hb*VMWs-?aogL1~!8nDoc(w;#u+iMlqK zC>0~D;^HDYZ4W4mBz!-ki8mTy!oyRu3KI@S%)oeAZF!f_;J10zxLES5-yq9a6JcA( zxcRLg2qI!XICl5(%Rou(e{APG)sq?g)qV!P?0-ZreOQQ@d%-^*Ac1sHo;9s+tai+8 zG!f>`_CIILZyJ#XVT3^-k@jvpD|9e)oZ-zdT=`fY65e{j2DF4PISd;nJ}Egr9Bjpt zKH$L*`vH~X65x}Ws~<w<->dp_l;yGctFgx&uGCW!uAW?sS*~Xc5?zi0we#M4;L{Zm zl{krAcw)z)_rCXb;JYlrrWi#+82F>6EXqWqo6UV**?Op>d1K@6v!s15#I>e}Rc(Ad z&D|;b7YP~h_GyrjxW%QK(xdbv!2UmZ&r5qE$I#EZ+F@vdK3+CG1u%E_Ihs{QbH%q5 z_qiX$IYs7sTu_vgq$yK-Mf;~D-iusZCF~DLC-=nfcNyLVON|b%)%mxr%2+T&3A2ls zue53T_+qEa8Lel^tWnsUJxc!i&e-9}KMUx?==l)TmARZi4VyjQ&{#f~$Bv`DRKw7e zP}|7tRm}2~I=8Q!^Z>s1#8Mh_w~;VK8>8Dsq!jW95Yrhr$41#-dxQ;2iOI=db9M%W zMiY*W|AqR>QKO7}w$u5p%cF8PIsFRC62@A6{^oy=O8`|5&x?&?y{EA2PCb1PiCTB} ztc6mP_n|;V{L$yF!ga^Ppf2kdO>+}`wIVm~Q#+1b;}+yv2luOK-x=-R+H=5#8p~rN z?V3nANz2Txq{_CDnDWmPJ5<W@@Wy@pi!;||+!7<#r{YY~Dh}Wp@F!Hn7H9|v3NFid z)m_k2dExR_0V7}`mot>I>iCY|SfL*9{Q=a7izSz5P$QlPfGZnQBh$<<IenQjFWAmU zAreta1haCh<e>kr{tlgPw;6esZB~;Jc{A3rvuPxEF%#b7*BLu2I{2^;R%shKLl7;E z)yA0Hj+5O(a7o~w<WK+jY|v<b{kgGLCmyG@hB&RJoVn^rlf7<gVD}yG@GxlSs=Umi zh?~pvQ>*R6JH0+#%!&1BV0?d!?)KDG0_+-#Q=~w3mp;jBoyO~I$vob#_=59=hr?5h zNgv}97K?Hs?Yx<>`KIT7h`X8`FI{kopC^%o(|}gixn_-o@~aC?X{yhNUyl*JmYhn9 zjEsCg>mUGZB>Sx0nR6VHeW8MQoiFX)i{`iewf65AwC&$$G^r}qtnn#G9496={(OuF zu-~d|3o~HSigHjU!tzpoS=u|xobvW=@lywMv2|<bZ%2T<FpMuoN+{!nM9xvsYxDGr zEMXRQ)YK^KmaCg#j3GAavD)?MJ<TH>p^$REYEfbp!DQs>WrORgylesMgyT&bK`Ywm zfs>P#2fH^Il|vv{@jK_Sn0v&@?bm*4OnAD7gmMZ9NumDo@iL|aVvHz}@g3<pcV8m_ zI*pK={q{JZ_fjxfr!%^&f9g>Vg3?w1ZB3zas?~pYdE4$S6ss~hFeTb))|Hhs+Iv7$ zzorY3?Fo)<79z25JEI?JvM}KhIbSlHvi?tdXgq(CD6T6sw(ju2H_AHLYCTB#iN27! zn>h0TcnVsVQtaw^$3a;c2>mifpRKcvs2_quJjpn38JKcy{Mu|crL7&p)4s^*aioO7 za)&{)aM>PRQ~oPjiJ?sGyyfZ2+OA7&F?MPl*Di3(9%%&qK)&ulCpZvQMSbq?2_E^< z;h-pNM)%&uP>iU&NPrqJ<3=BjCV8g<NBK-Adcl`J9)Iey$n)%YIFRWPF@4MLZJs20 zg9ONu^}`Mg6oZoUySaIz35}jnsh`DQD_!NGjb_kDI!izBhka$s%qKn$M;*>7I35{! zmD|{2Z-oR<tk3y&+SG3zfP<F;M`c9^G9oT(ULp``0guxw!-g!hJUY%{>=c^-PAD&F zkKX?zjga@S8Fs6c+x;N92S@$;#QFFL*B(khx$=jsV%~~`@4?>qI0V2LP!FjY`wrk= ztRd2cn+f`9>YKmk*;N+q(_;@eDt?4ufwol%`)cCJs;Oy-4e}ow!+bB!Y$CbD`>B47 z<hrN#0jvNRl2JDk7kR}$MM|F6ICe8<KAufOczdbZ?v(S|w=$no|JcNttOlwQfxe=R zr2rIbFK}g@oM2bTvIyIeWSCzH(W~jBynQGjc!lY|Tc>Bsht#;+QO@liu)d-`qCUp; zA<j?N)7Dw~h*LVHwnSDA9N9%xry;a>_kPd7p2zOd2rHpvouN(H3D9EA#lvgKd&}#4 z2Xxn(7%v9_6EyPwpJ^ho<_VG;^ZCaX0#BtdlRQQUc9O(OFl@G4h?Gam2q^L^41V_; zfM8d5D>AvE;~3XmmaApJz$-F6Q}2#))m@EuCSEzU!tXscqZ-hw-iP9fgPubcZnf;% zvuVpB1U2MBs_ougwdm)Spj#t?2JD<~g~2<?ha-PvrcQ`$0=#PE2QO&8i-k`_3rF^` z-S%I5t@iolBo`W=;s^@iz23dxZ@hFi3VHB&hA!MpB<Li#<}@0pd0)I|`*<-)&^XfP zH;cDivU3H1Dgutq#!hZK7<RN4_sz`rw1x0eh=|4Bh-vXDq+~E)4BN8{ss9tkJMq@% zC<DS~__i{2a=8Y66nHn&Y6RS0wUG1Q(vHP2U&ZAg)!&o3*pEdMnG1kB4F9ITp##85 z+*MyRma~Nc(CDw=xs12on)hdmqW&~wwWKQ>=%4?y;2bowtm7zYo7kV~v2Tr;#C7l7 z5U<=-Pv8R84r&S%O-w&_oSSC1a%!`C-Oho#vS?8m7Y?TDM+)A;ncsX|zT|2Tqne{@ zb%6JB)zM<#5%EL7#ty(IQRWp}(`oymB8>Y&dRrnw#9Ae}I6qt1{X2RS-t;}KaPtAO z?5oiWZ!ABZ{B%z4+SOyh`(5%8H^{c{VGISlgHx6yxW<D(^RE_LkBVS806a(xDC zK5*f-pXFJEUKno6Xr+2^&vSPzfNt6T)%%o;wbYfWkvhRTW=KT{Dl{z9@U%mwZF&r1 ziuf2KrR@WYNFX-qb8t*!K8I$!(6dLG)YFd~i?lOl>!JMK=yD+WbgCfx?)u8fFh9w6 z1)+|k%t#<6;pAE{h;=$?PD{@KI-<D48{b{?phw$G=OW+()owc)ZFoQ?7UeCpioxrE zT_;oJTZo(u@`a7qP7#}vH`_T*EggG;u26SD#gU?1@nBeEl1UZDB4<%@=W@Fievt(? zB*#1KGcj_h#-pBrM**y4%uBxDtKcuGNw2mY6z7OxS~znp_4wfm@@}gEO5i`MGvAWi z;Pmlc^%M(oAF}u7u-!P=d!5;M*6P>2pR^j}=M3&Z!N;qFZ@_kzfVlkGTQF~#_OU1z z3vUKqO!jcsbn>&V(k$3&n*kdu_pn@C79ME^^got7UAt(Y2JFZZ)3c4Zi&yT$Xzl(0 z9=}w|mGu=KxT%{7{JE?Oa3mESi5ZqpSWW+Qav_y<oqEC-3o-fXUFv$|4PW0{rD`B= zzm=4F@68U~!!Nf6znIGNK6D%F%lEcKqp37FcoA+f+;i9Pl%}48zUGYE@ja$Q*~p?1 zzy!DWMr>??zuCgKuIw54Q8jk!YNMtHA2dDjda6=4p%)hUSTk4hH_EgV1C>6Cz`LDg z-w&fK4w-1@DdcVGL<RIZ*$txY*4+yl-&qnx5_+ou@2TsT2;zB$ZA#)-e=tXfDo}Ld z0@U_0p&_FIg~}vuYft00tiJjee3JT>aUp&)!FayfElN9QeK1ETOvbc6Xmz^%oEyZG z#O%sF_tQvBtO^turNq(wk?q>1<~AvHwC-n+nTG+%5?Hms41bu99z`%<u=o09lP4cl z+B^~a$M$Jqe-G&!$RiOIhAE})&|vHj?ttkOmcxJ3y+XXmoUyhqz$&<*83XV#_bS2y z=Edj$!p8}byp2-=eBJv7JEW2Mv#_TMLvP~4_ck?L8#5(Saz1;dBd7kaQ|i^Ivk^L0 z*2#&O%ZMDDbsf_SD%}|idoJ9aN!{jdC=}gA0}ITCn9GxMKn~}v;6Z~Ig+^X3lf;_* z%>`%1H9!PWTQ_^PZj;~~RBRv?(%68}IDg9yFz1nwNR6tPo-bbQQ)PPgHyd-O$7NK8 ztuGio?#{3{uqHC;@ULSN6GoSZ>`&rzev3va&m^i*2+Y`B8h@~DiAn`P?|i3*isUgd z{~pCNp5DhHx*ea#!t7O)MvRV>d1R0PAk!CR{_W?38yZ^|oZ~qg!mV9SY<3cjtY@4^ z{Y4@PsG!@^Hox%R0L1E<PC$8~0Byoe7QT~T9ZeX627Nkyq67cx0B^XCvNS_<kJ~wp zVrUoAcA5AK+rqJXr}$pReBw5kYVVQ{`xKcF(WW41CeuGkrvM}o!b;#kK^`r5h)&%b z>&0xhW?Ov^)EMJm(tql=_TTqc#|ZJkoqNTFiSaXyRRorRH2`RwFDdv*HClDvpO}Ku zfg6=GEGQ$~B@}wC##`W9Qqa@r)Yo>&L><J#!A8SN2+_imIn`JSl&2REZ2fwhKVMI% zVjOV^5R|lZ_r_z1mA_M8abq6v2sWM)5w@jz_IXuj8R=@s?yyj6&@1kRi-#$_!D4@T ze@JXB+z{tY5)pXA4BMU0TrSb}4z$4_5TMAThfa-KjYvX<ASPSz66H-|2=Kaw5s(>o zsJB%DayIgEiL0JpEF+K_L6Ymr>hYOJ4QH4BJTJo<T%MPWV(Zg*?x)JqfAz>iqD1;8 z*=-2b)9J6$n~wqMtdV3g1zlsDe}WWU^;?i>GNIkaJ|V81|DE?Fwa>GPJx#3>(|7<+ zD*BOL6Ny=!pa9MEjX=fwen6Vv;=6XU)18_}a?I^s&)AHHa$wQUev!CL=jCZ8cU*r& zjIIw-PyNG|R~R}Xp(b7kfN?;>@aU4k)K#X^vQ~48%hUeXh~!+gzGL`@_$L>_U)B}( z6)cJ|k*lMfw9H!lbaJEhYR!cGZk8pa=zY(b6$CqdKF@ren76uWp6ZvRU82#5tH8mE z>`UMdnu&#onu+b}-M8m+72c4F^iH=$DmY?uB*hl0sbO$i?$JyXpq0QOPd<B)`oMAO z?$e*a$N2#6nihU}2npdWacB?3r7}KPRRRj8@4rLH-Y?OiQj0EdsW*R|awq5G7nXUo z_vT&g>D2mqr5#xPs{m7y0~+|vsM>9T96n*g6sWOP3iSmBa_mdhC${!$Yzo6pwPdiC zZ7jX|=tl%u8#RE!FA_kx34Ca)EF*x|UB<dbtC@d{Z*kz(Jt<aID`eiml}^3S`&r`l zIp63+4jl#8CTa0&k3s`X)6(eLP@RhQA=$8N#0m#+PEtJX75uWpq&>t|O6rdi)a6@U zOJM`8LOlNQMq;+4Xw{z!?NjVgen#PSW{qJ(>6K7h2X!cJm1S2<eL;b$!4cEl*1*{| zKP>rg1<s`@Fl%8PFvW*1%a4nWd!PCDc1PPxrEPn}Jr`@AO}|s9n&wqEA_~tsu5IJj zhc=kr4{{6|+y^KVc!vnM(+ah`>tkR9w(u}PG_@x*Fubs;=Akg<EM|Oz?DF9{?IaZ; z^_xBx>6kgbE8mLQKx4gRP3l>vcfB{@v&Tw8b{-BdTg4LpI$o?C_WC2@9NZ*2QW0@K z<ci@B#gvsy{h063F!FZYlh?$gu@~k6Bk48uLxcrb_}AV$n8-zMyb~Vo4%IWVbub$> z5K?0r%s0wUSjF|F_c~V%RH>T?h-jL=dyB?umIgoWiDdy14a8~N$Sg3PPTEt0wDl)o zt4Zkun%x5ZTKoF|8W6Lkm-4vx>aQ{ndi<;2I+41jTt!cdgeK<}bK`-w-=99ld?|h! zx@G|z>@G@xA&?JpW;QXTZaS%^eHF2Rn_UqZVmg)Zow9Q<Z*~+KthgrUp1#~XYH9%G z6)<(Kagdn1`PJE#JKd`DVhQ^8YDIySeS&TTW5pFV7_5AN)%))1VzW87t(()B+iBgC z0(D&@J!|=JTyPLlqtJOdHu|>M%V)3k`&`WybLldkg*$*>E4aD(Qgra)d=Vvca6~qv zV^{dhY6(a4+r~Qm+GyKfgz_1=hBreDbKPylt9=hrF1Z#$CDi7WEkB$%w^%k)HoV*> znwtU7q~P|Pc1tZNywn036a@|xC)QwLQrnSML)JetKn>Lc-l&w@F4*ud$OYA%Z&mU) zgynCxhha?1%HrSdJTfi&46f};N#G@Qb&tRu!*X5a9L*95Mqt7wt05_wrS*RbP{gIc zlV1xWB!(MoG(T{+ofd<<df$`R&{XwK&E=TF9rK$<xw;y;cX;qq`=K!Y?3qGI$4v$p zyT@weit5|`k}Xx|ZkA?OCgvR&Q16ZRrfRG8H=TlwlF<0XS5Qss`7cd^tG>FSzEICA zQ)pysLb~&32wh4!O5me_d-^G8#X?Ta`O4EhFV@NO@$7O}uG}6;IJL5<NV$axGAUbK zcA_%(Yg~-uTITN5se)6ooeFbHAn;&kR%9ZN_0c;P?;+Rz$HT&{^?9y1rb96?MB`5r z&$bcf13F7fzcskBdrp|kq}-@%BE%2Sz!;`l*d_Q0IPfc~zg6DH`y5PU17n!t06p6@ zZN@L=&F5cVGI;?jhL)Fw!k%5JgmiV!`g%sSj!tJtv_enme6jhT+4cFmBjSedE=~A} zYg^6pnb?7if~;{)(TB2I$M;{<4>bT%;ZyDHCLe2X7Xq@7VbgXA;2F#Z7Iz5GldT3H z5BXbF-g6xdAe86%u))^+xT)jMw#e02SpkU$nEnY$YLcK3U)qxs*D{n_=C_}HG>@OX zZT>dPFE%AXL$Q2u+W~+@o5q6_5=t6i;vc9D^-|sL19??BXZjj#1Fsi~0={90Q|;+8 z+xzC>45G*Z_t1XiQ9;vxOxZ153+~dIErxt!OQUW2>Q)V+^x^#Dxyo(88XdV8Dbvd$ zmOxCkHq-nOonoDk&07s4XaUbtv$1n<G5aLYhgw)VSFWPCin^)ebo^4$tYT`)a?~R9 z6`5dsuwN@2=gWsQltW!^Y@qq<-MAyBD!z$NxAs^SFSFha3wLY29f&%!rtZ)lbN=X{ z8GNy2$KA}tZ$~*ny*P9?wBXB&^kdhresy(y^XQfBW3e=xe9OSwrKvg>p#Jaq(@(z5 zj73<Y-17@4&Kvs-7F>jEayBG=u4{9$uksw0tvk70&)zAm@3Gp7zTkRP6JPC)E-CF5 z<g{NG-gS4J9=SXvbZn$)<a~Af#^p*5afyd)jmJ6`1gDSI-*K7-d81~J!i4gqTy)1B zCMbot86{et$qEqc<t?=!|IW;}|9S3v4vv0Sq-3cvu$mu5eAFV3Wj!OFsJglu73_1G z%|}P*Xg#Xxz?rl+O#Z9410GFpOiI+2IP4NUGrCWo=@O~Y3%qb6G-td<)IIiWr|95I z#e`#_*Gelu#~e*6(+smeN@4&+p`aYN1eW_tvy;(jDeI%8oCBSlJfgsU(ji*AN+@IY z=mh#sp!Wp`>(Z}Z*yMj~vuC%^n^j`16?wjMP(8lc!~;`piz)+mH^ybI3vU%dWfhJ# zO;WnjuNG<NTv6?RTWW<g72_?y;at2mg58!HtXryAM!%=wFO*oecBdzZi3L}T#x3Do z3K{myscp(T9MEv_Gi|qnoBy%#z{cSJHHc~|%tDk-DRQwhVTVRPNQWuRziXN|W(6-b zPm7Jn1j=5~g%>FLKzLMe6B+EyVyFpDWPxtUQ4N;_>SKphK$U&T1AFR^w=p3jE!x(o z>ZeBLqn-YGeT)@+vx2rf9dWT+B=jWQZrn0P%2@ju|FBPW+M{ew^K1g+QJ4}(PqlTG zmc}39En{yYo%oxjvfbVcPsA=EkdTS*{0`*@R+$A8rR&o|{mlEwRf5p<ap}>xvU~Kz zG|!UNb?s4ZTN5d(AnEhH)3ut|bQQ^v)wyrKE;g_#=7m7IwTN)NgQ`k{SG!pCHQ$p8 zr?VpUa`~&>HSRlU{iqD&QIRxMHZv$|Wpwu~e>k+;Z`*$VH|er%g!B<Yn;-r%Bw7y} z&UN8%+S3H%c}YDq*=AB-QSwA>;-JN&#IvBRNS%%P!jBDyqc5n>HqLq6p?2OOcLU^> zIy%gtMQJM;anABi`047La6=gthkf(`GgzNY+CXpn0}ualz#;hlh@EAniInY>?c~`H zu5m9_(?M?Oc2jDxpbHE!TIg{(xyi{#`4Am7ypJsBqIktbp{EwNgC=872hvd`@oZ8> z=}w8BoQKQ-mI6ESKFl52#{aEcqq{7kn>$5StQ4e7ORo{Jw{B*~tl<>eB`T;}Rd>xr zeVt~0B{!soAB{4>yGi}>9s>)XZ`QdW6yTl%L71tjO&}3LFmrxJrxnK$@xU{*w<4oV zsR(tYA>kT^|H|G}5C6u~PTu3asrrq+9?O2^WcJs0pPCeYzW;J-?`KkIYo`n~7K_R9 zEScGUG<vc|SorcJ#4@%7(Q5o-F|&zixW9=4$PD2PSLV_Vv$o=XYm23t8a;Si{V{?M z9#U{CFB0lsaNeYO;#*FW&2>P(*0{}Y$THLwPl!LMcwUGU)w4qFLn>z|-RZTV<cIBz zC=k2d_$?upZ|lBWT`VrBsj9+K7p*A)``RbAU3&2`5xxb7@mGh0cC4{m%O9i{dR$Oa znF2O@k_94Xo2J2B9_AhAelT7-xQ4{v@joBY>&E|S!DA<$dk4FQ13%m>ZZov+oz5;O z6v~LRZo(1?dpba4=ZY6>E?x=x3A)kZrxeozRlNTs_^wuiKYMb{)m|^;x6rmfi=a}& zj^75nukMbTfEPWRuy8OOzjzpZX5P{wcIp-~AF8p-^j_}Y*7=YwTX2YfT0ef#;ei0e z?W?em(<&yRfE&4^`q{QQf6C<IUjxDI7ktV62qQH=T>Abx%6o0;i<-Y_B{A?Ho42%e zXPNNB2nhvHg`-Du{(T_~s#WdT!_uQnh3BBq*H=ErKau}&Bck&6g})7xmWz(*HKTYJ zuc?U67HYX>s<m%4c724lyQ5><bjeY1;>Dobr|w%{4otrqbR_dX*!~G%gzDLEq8<wE zG4xNqbg<_cUY3E(x~LYDH^Eb|#8qTi-urE>Q|%YZ+B9QJt*z|#MnX5k?S0hq@4_w} zCq$DetSbloZ&MGzS-90Bh4}(PBMQ~4;9%<FP$BO-<}{Q|-(Lr^iFv1FLmf#&{Yyb0 z2Mo7HsQzZBRRY#)O-Iu|nK&AATC9--AT*t3vFo(|)1JMQLZT%lvYlVcWxHwN&aAwx zvnsQb{r%NI3q2VXiEnW}Hhl8`gIr$!&R})KV8R?ZV3+nkj;=kP>F@t5N*ARlxvSiY zko(<A<r;EbEL6z-ei??9LKt!{w^fo`v%<`!S?+gYSnij(&z-T&?DKnne}D6Mc)Z`| z?VQ(nUMbGJd+#h%FLCnigO-Ifn89t@Ove(rJ?S;YXKgQERo~YvQBSF3arPDrqF)}s zaOEPvvNd+}{oUj6i&CnGfT<@+Uv3Vk3&>W&_?ca^2CuG5ll+=y^MGouHa+10lvuH_ zH4NTFptzW{iF;=PMQ=<Kv?#t{`u5A?88$>L@Mn`fiT*af?Khm_(9^D${drl^GqeqO zuZu8i%tou2_5af@l|Jl|GUM!3Ff)JiI&7I2v@p`3CO!h%<7smvA%4AN36>OSK>O~( zQO=*!%^=B(?y70aQYX6F^&3xv1~8AOOG9ShH@;@)R^5EOTr7BWtb;EK><$4sN}?PJ zUX|q&A=%G!go>ljlF3A@BiTO4<G$VoQ^<Gag<3<=;&Id?NZrGv-Q_oLk@r)WfS|tO z>yL~d#De^+EagH0{XQJnr&ZWaFZuxjE4WPLB?%W`;(s9n`Kw>uPntvmS*XHH#@|y< zC%jBvD*$nrX4?3H(bs@K62kr9%1do3?Vl?-d8P*luQ4|_9H%p#Odw$D)rD-|zH2O$ zfr_vWGjkeK30JrtA6^b3zq}0uIBK~9!~!`o9ErYa6NnjUh&VPhM_B$w!6J_NDKtiM z_(Islv+B$26W?`krykgN^Jz*J)~|HhJsR)*CSo>(sjq?oG}WUUH^NTeWB<|td_NME zJ{!#NC>C(N9><>mjXfeSgWU);`=-A~D~ouJN1>Z4@LG~@wUZt=loNphk$1U8eyp*Y z62uxJkTM+aPNdy?cCb7_+$%+cv+{E6HV%(RxwEAj#ypt%%c`wg<7TZ{ISb>ian;7< zAJSM{<aGuz8@&W0!v!w|_Su}5XdyXm`16(!rb^VM|A%1DbcqP$?)WI4h5UQ|Q(0=a zx=5K%sU8?0E*^6h>u^w+|FN_e2x9ATm1(0Z*SSSYEzrsSscRr%%u>By%e?f9Rm`pX z(+Z}CtK^EKFcEO3lk3OlCG#GHOpP>~3_A>vDx$bz&vnl**|&Zn1;~9550(6pzJi}+ z#!?zV<VwwtypQ+{KEBDTq`TrtL^}AJ%P|}*6PdknPi1|%(VsFf^jb@9e&Y?l%Q(GB z6107pKqDsROKk6YViJoO1~fpEzY=8@)w}%>?>-|aDgHZ)+{Fse3!r6WVi$e}z<rXo z)_moXF_=T}!oWzM-6b%G+I5lMC{PdC(FNfMK%}n`mZmeKc<858{ts{9NdJVzlx7?| zfO>oqb?Juzl&3^>@;sw+T2g&eJ3s@D^mv8_@RB&bsAf*ZLswC4PC=se8B{P4n|fgv z4`F68%nE+rXTk0auT0tcon0M<9*`Z8PNH3{7qsPwjsLOuuUkT!il+xQ!vU41vFhK> zihE6Z%TQefZ6I_U_o)H$|A>mBC}z*XiiL}ljp<M@T(~1g{=zvIm9nW3oO1h39tlrl z)K!d})k$G&CI=kk3Ou^iB`Ow`7j?S959`Rac1VLaDU=XpvR&yy_gOEbkN6M#{f{LD z;3;t$@GrgnKF<fk8mgiLJ_k|wfR}}GTNtAHpvsR3f0r`}|N5%B(sWxEUmB9W444(! z-`>*{ADxk;ze~pyqy#TDFi-nbazLC-^}qWU9PiLX7Qre+#Z})fhxUt{-|;#H1&*bQ z{F#)#w!>_nT7Y;0VMWmtdQb&_rg%S!U@>1ktQ^UFc*imI^;9ez{j1N!5LSvE!;^iE zH6pr=e=UaZUabv5MEB-h9#C7Q0m@7Fk!))~|2$!AP&C0vR(+Ce=xx;*QDd{b%6t@v z?)^(EZ{gt*vh~IKyp|n0LAo=>{x5;nEwyJxbDSvz!12oOsrJG6$%+9#l}kOYb%aG0 zHFiN#I`BHc`)I>v83?fXMF;FPY;HvT$5NVGvRYm`rq5>d<Tl&Bkig$Js}51JX@1o~ zP-tU)B#_(FKdH68xjB-R&1|SDh-?0;nWDHQ#pRzVN(5y2yW+ZoBPhz`exc2V7|J<2 z_$w2@hGW<7cwI%v8+<vL-!jAY{BYxqZM%%2+kOZxZWJgUY?u(xtDU$eyv$kv7sd>K zPs7xRj!ktn*fLLx7a&VL>|$Ds6;PiL0zvHgV=Jb9emcl}?{lE1Hg?)*rej=oXVZuk z#(M(0hM&XiKSJHXeZr@he{#Ac|J1PaI{f@a?IW;IxWZ>jB=p}}jJ~;~kmZakp|051 zGZ-#YZLE~d(`)>R8?VK2C^$R+YpHQ4JS?ZSyaGw2&;-G)Li(+voTp+lUh@?_?NRYd z<zkf=d-JD1Y(w7>W=&mDswOZ6=#$0YLoJq;)VREj40+$kv=ap)nggDQ+~3$rXfwRu zqmSA*+Z-M&2M(Db?Y*Xhl;V#vaecLZ%WMa%3`Afb^aaszNnhML$}`0A%}SL%)H5;q zd}~r&><Iz?bi&_AxW*>bM4O<mQtr@xVXIAsXB7Ucl`Y%7rTt61nZ><zPGS*PN3&d( zv~^>CW<IdwF1i-rDQ&<+<k-8!u$RS=c)hZ9PjKJJtFc;edQ(99i?9hU*3wO?2UrnK znCI^B(B&AFx{4Y*T1e!^u}8@CwIOAk)R1Dul&|xXU&UUWTbJ`vlb2UV^KMw24aC<) z{m7cTt?9Xp?_7I{g_OtSsn40Qd{AV<`F$pdCKFZCgugh!Ul8AS-DS>_f{a$=17@I! zp)?tHAYq&{ZMv)({JoE@^4Y`9MyCM7&ZcEn2GAE&V72sZ;oAldIKENmAi%o{!@jI4 zYZW@Ybibby^qT2F`F*7t!+bcU*{1CfBXVubGuy4$jCSu{#oaJ=b&+HEqV0U9t@I;J zN==Q;-&$C`D$r_X7cOjz3e^DibR*9&CyAv8SuZE0BiWUgtq?!5Wy|4h@T~m)S}XrF zPfu@p$i(J^C3{POAe^<Ry||1g|K`mnq81ZZgzug<ydHJ6cjit;PGvG4%3v)E7QIEA z@GPIA!@)q$*7jDCQogHRtS9ujnE7t!4^$^BuP7a!6khEglrJu1NnWHuXV9gsB!Ip? z)mYE0QCeTBj$epyUcS)~F}<8q7V!NW&8~`xoglo7G6~NNu5xAb3?&6#&XoKLgnt3G z#F#9FOIVEIOb?zy<+mKQiHy9+MQBwe64Pua9;$qnkYJljdGVpupBAOOp!<8#a;*Gd zAB)~kj<=}xK}HIgeV+pS@ZU4NQH>vW?JMI|YW@wEvR7yp{5$AGha;qaYr5~_C<OWn zJy>mj39y9NLzxXo!BAvd`1hC{o}uow+gwAi&m3jnzR&w9==mqdZ8xE%z)$k0@_d6U zaBzimgh%su4Y9{t=orquCXi7zd`Cw1m8j2%-vacHDEnShMVK0fPbW$9VCWE_jApOw z%YaQAci6(ir+&E^MgLl6TlN|9f7`U0zGe9ia0n_W)fE*IvJOHbk5(5KT<u{=TSWTN zAx%WrzUx9!QBG2u-!;h+cEMjAK9mD%^&6)7^|q>OK>W-e_XrI?+?ajlxj66D>zDL2 zfDS-rIG6IxuUQ-Lg2Ro{;zzrxKNjQGpT26jJcEA>kAa%!S*uo{8sw}HIoJXFnw2L* zFT%E#K7C{}&D$w}MX?q+#U<v4nVAJ+R$Y&yPO0DOu!ci-9pfnf(DUy%<vxdAmyDY9 z5i-?q0ze@0FlkOIbunpc<alPgxmY}Ce6Xl^GGcGugwrC)NM)}f<QXZsZdqFs2JV>u zNqL@=c|c7g0H3?fzP6UueC8&0M0xc%l9{sTdo`4`U8Bt7kRCbJYHr)m<;`zkJgKlO z#iGTjtG3{T34F4YVB}t1k5U2<`-<-rq>?kiXfS+>0MLYy>_-}F)7N!`VW3Mt62nev z8C3dA{}beqjMj99k{xQ!6~-9FN61;_?*sWEmIL`qnH%4;cdKx8;nbUs_MTi10)2i> z$iD)MMk}akrIIK1P+n``h@Po6x)0s$;;IC)49GwEE?daKAGv+%ef)%U^>zn><HQV} zI9~VbE<&nZ9)cs5kfguO3=9DCLUee_yI%Rbq477Ot1i}cE`)3`$Rj<dYcQOp<M#1m zPZ_x}^zby1wL$;p3u{3>mUh#7%t%mY#Sd^R(wD##d>^5@1+NW~6Rf&_Gxn4&f}<er zZ}{GaGYrj#LW?{Vm?X+(`vIU7I1ampQGPSWeU;TsZ2N&o_H}xCfvF~!Ho1z6)LBg| z-~91V#4LY6r+#=L!R`ISguA_`H~CV80yh}tP389OAtnL1Ewb<5{o8G7Yv~P)3n?6} zXlP(CuVkO^bU>&UXLd2WP^?;;1CR8$DcHManu%Z1C>u<fTL2Iz?!V77y%$#e6yJ2Q zifY#Zl9O?qT6O-|o2a$W9G+X}e)a3JrupgnENcT<g9nM}Q`4h>d5!u!t84=9pf?k@ z>{6XB)%o%IR%cg-<(gS3NqH)!bW^i9WQs98z&!Ep>%KjD&kV?ZNkKsd<i`_)6?9xC z@=hw4nk}8J5Ofy&Ml3=WZBg@sU{KR(heKf8PF>RIPd!!r>PgY}4?mOD@9J*Y_l7@z zVG0cq40I5dMarm3*5ewqHKRN`$=`5PI=Yv}{?zvSPTPl!tDZK$Tm4F1_VTrUr-jGF zg&6H1k}qC};8<i1&m3-1(St~^A%v4D>)0hy0KfVybn75)do)w+y}L%#7acT=&CMQs zq~J+L{djvKqU)wS2X`hZQw?O6HS{bsq$(pLyBN9fI}xpF`mQii-Ht-=C4W)f;0qM5 z*2v4Me5CaX;w{+!Z6MKG_Kf%M68$rAM;5TH3_-)a3Wesz?{5j&T~Vs=(!C6)O|19A z#MTH?WOTVj2V@DG7vgOBJ1*tHZ(oz^36<^Dzr$mv6{yz)AKB!3&u?+<#@pD75Xp%@ zP2EN_?hRow%KK`2XG?B7u6OK=FdBVJ0p53gyFMg)b|&6I*`V+zc3AmewY{u*0%Mf_ zR6)v|u}thtuiW|j#a$7nX}rHa<(|unED#E~A09LT5y>M((nt3K;3-*n;s6PBwMPP1 z_`U4(YI<u5%&)gnGW9@?W3@-77nW)iP5hZA8g?f6(VpWwNw`~sPEO8HqPt9uBZ#oi zxOP9#Nz8#|J0`74Uu-ld>U-8;x3~<nTp&p)p6{#8UbcCv%Xm@lGTZYP(tV|>8{Zf+ zQxg=1hA>k&Wz%xY7YC^GDIojC6DwX(f^NDa^VPLGa*10J1``iMVUaxa^V_o5LYf4# zR1e+WTZZik<+HsT-GLf<!;E+T?#W*q5kr-Q5Vo0(`aQ^MCB>Q0`O)cH(Hacv?e4Rv zrAM*yUqS=MRcqV|PnyXJd`!D%`?J7Ps`L((mbdGXuTjOcZ}cH<9R~pt+!*&gqZri@ zM<zREA<|^dTSbZbV%E5dzt7cwt_KX24Ds2dM4C6V0$qjY52*73_jeiX>XY{wi^Bn} zw>|3#jd-|kLmfTo+!I8Z?v!&4VKzB`;7cPvm7jg+P8#giWMqn4*v&nD<@|!>7n=8c zb9|n1o$c3u7P$m5KT?xmc4G$~M$~wpF6+sjvm6V1R!2%1n=sx<&X&O~rMfwZ)k}@p zMvxZIK(FjwV@GDb^}A~|n^MvY&cEG;vPl8^W>fH=_AqHV8Ln(Z6WPHXVm!!Y>uM<X zlV7#lkSRz9N0*|l*v(K`VUYU#waW(cT7`Fafr_`H_ys3kiAI8K@AE^CywM>ulhNtO zhA;|sa^S3Nm_*)cx9qmZs`A2UB9qf{37+D}_WQw(>XU7JQq)Z<tTl?2n)2CBHAcx% zC{$CoX2*7iJytT$9^MR^M_x#5fY$x2`qVhXMpUh-PyYCLQFff~!q3BBW4V2mlq^zY zfkd>~Jar>7qaFew6P@Oqn#ZC9ge>ni>xF7LFAm%u8n+zUC~l1RKFr59bB=-L%Bh7d zhr-%B90l5g)tWsfMq5q7BGllDPz@2TnGWqA(ysGD7Mu1ii-YsH93DJDCgMwY+Ewlv z<mE7}ytG*B7Akc~Nnz2F+r-2?qpZPl$-T6sp(0eN=$bbpDX>7GZRfNjSQeFQU95kJ zh+QZanZEC9vZwrQgd}@dS$A}sgp7}p+i{345c=E5yK+c(=|dkxgge(G|5<yR>vU%w z5E_xnW#d0i*xV{;n#-CZ{fo%rwEqX3dED{&wnx%ZrQHF6J^?<v8Q%^Xy!UstWrb$* zkhiUF?o<`t(Rk+$(=cC5h&DIWlQ!XkFeQ7DC*iJJe4zn*t>e&y2<eOQbH10RCdn;^ zHFs6s&ZS&_HhumL=i9HIiAfd%`j@&#f7&|ce&XVNDN{PB$u%Qs@oXq?420h!JlF>` zZ$=qEXKc!f?edk+T2&>Mq#4%HD1$N)KVUwE+ciQeE}{7@p@%<G+woEgRSKCLWwSms zdjoYz!RIy>3I0*;1=bo>h@p&JF!?Z8dt%PyJzU~!itzKt!Y6B=U7ktZT{x)+BWCL% zT&>$?<}pWbvrX+WYyYoH^>So7gA=PHbWv^NlFuELH_06#YV49MBFp2rv(HK1|FMWr z*$1?O4Xykm9nD&py!|_-*|i-W?-uKm&#(#}1rn4O=I=5vH%#U9D842&`!klKP4jj@ z)lg3s-FAO(MC5W5p^<-BN#x|(wQ0dYIm#B-wBdz<%+t9(Sf~nN%II%y?Z#s0mn`Ea zZG#R^KN$WRfB4ABG)p*B>yfHB6jqH#A$v-R4|sOK?~2#wv(kKeeC0mTfJWwbToDhc zB9YrjJF4*ys^J!@8f6gr!_ez+ToqB>k!Xe4VY}N7+_q(s(U-mKr_OE#jl#k#RBA)x zR;dnR%}@SV_mHA3i{2MXDU(#ck<`Y<_A#4i)DTFzzm{)FJ)ze%S5LWQ{>J;3T3L_k zDfQdpVfJ=5)!E)W#Y+PT@Ru^+ruvPP#G=6{R!^O~aV=k}Q31g8HL@WqIvVt^Fh`U2 zGQGJk;+JU@(Lb;_w=G%uK7aRL2@<WJJI;?9VW!OCqmm^uQD1(6uj0`)Sy%SLO5;b1 zxB*8Y!2#|^1hk;=&FWH^2+H)V>7e0l={?&qNAH0~{L6C9fiZw;LdG*xXT47z&g0w7 z;)SKM+Z?$V#=hc>`EwIOp5_<~raI2_txc|3tTwyR(0mmpmR78)@djZ(8UMHlyuWS= z*W=~TIe%VP>4jc;3gAk!Fp02CvqRfQq#(MeC+7AzOcezZ%HL;6l;st|bk7|wMpJ#V zCl)PMf3-#c&lw%1zw>pkRrn?~eYTIoqy8}4zohSqg8efS1rhmFU-q%}d4tw>kd9Md z6)!JGey)mz_wPL(vRWvU7|zUH9|3M<*-nRdu+lwiv!plWXRL~R9K+A{g-uVOyk9YQ ziR(ZB3fubjz#ozmdn{$<(jyPqob7Qll^eFsna<WXCn4--$}SlOUfEONoPHL2j=kGS zQRCzOoQ3>CxOYXpFD*(RlkM`+tKee6<*t@#cTHIcjwjI?ZMiig$WW+`YmvS2`dNP} z?;^CN^FCs)4tv+KiBC(!j)oXG#ruLb$1`pR-D?0qtw>>WM5*9Qi+Ypt18?scEQ6co z0z7;{=ykU!ZhY7VG*MmoHp*q3C-l<CDRbxZdu<>76qZU?hbicyZuYdbWb*gAKXUIA z!%Vp1X~G?X=EatAJIdn1p61II2_vv^&qXS|;0y4qh15wMNruV}@{hO8+PI9P$=~WJ zaMOVLo}6r3a;D3CxdF%H0!!52Hw+Cco;@#_EXkw=UC03Gal=||$;-Kmc27T<Dhqd+ zXb-J#?h~+qZL_}z$kbE10mqxH|Hgc850;<VtsYJ8Hw-aR9Ey^6OC=w~m$12QC_nY_ z&3Zx>m<UaO9KXNeXppgfXUK!wcIu%}Yzw>?;&99HE)D;YbaQod3Tm?lo*A6j0y#8U zS-UlB8lBH9hE2;({l*f57s9dYUv^F?9qW#E@6J8EJm1WiT>RbX3VHe>VSdV4iYRaJ z;pdpx<LwEDnBDIC3VyfigRPl78@~2(yUd19uR`_Tw{)B1tKWqcdLK_c3*OB9M9FUT zJ>LbDDe89U3Ud#9h0QYRe`g>UlbJtK-~E}EbS1|nrnx)@e&+|GBp{Vyl`Z|OVih$w zJG+Fe{!Z#q>nepjq=mq>!Snmt+<%~@?nTu5s0xc|IM$fwi}#(!7FTU0lU+|)Eed{z zxKHt(xVP~vIM+vEeG8q5I<%X!;|@ggAf*$kRz0O@00PPp^@$-i^3?O>y|tGk>k4N? zpVuWAJa~PUU2>VGuO|5VR8&mU(+)GCTXpV<-vGQ5nVO-pT0tI>t&f7VQcb-SZ4Otg zd`xGq2n>n=8XG6Fv{JH3QC>t#v2PE$j-q^IBa&sL8a}425rmyP3<1fN{U|CnBX6o^ z-AcWyM{4IYy$BN7JB~EC)naTfH!#2yoJ;pLww1v}0M%Yb;A=N*!9Ajav25FSVd3c; z=C|$0u9N;r>k|a~vobTiVzF!N>{vE)o~f;hscS3THkjWBG$27qUzD?F5_;@U8}7nL zWK*bY&vPKh2fOReyuJP1-KKsmYzU;O8SQE=FfJ4qHE!)*zL$Jk)bGig$>i693((b7 zYS5R}#?~%X--6CROhUp~ztEFwC*n!!vq2q!|IE)Na2m_b`voK))O(@}iVZ#ek}kpT zs`;J!0Lb(}aYE%a`NnMx40QSMLdG+D#6)6wM#ekuo#my;yShkI*o7Hpy$^K4^hh2; zA0EQ~d!mruAE0^BY;mYU)m?S?p@pIzqV?_D;maFL9ptf#r1SbwR0vzex=qLl=t+Ha zu_+wsiwdmSDz~GNmjj>bhY&sa`i<qUza>*iIqh(6Z1zG@^(ri!r|@mS<|GSiDnXK{ zGseusDbeJL86e8>({|r!@Q9dVk7=A{N@D<!hy?P`7)x>&cKe2&1^~$-$e31<m9_@` z`EoJ{)H-N6xhE*z*O&yTH91_rZTB4&c@?N_4bzW3d<y!mVFCBN!@J~C7HOj2pXFka z9*K-1&x<qLErpIM%Dh_VhUAw*cI&tz%8vJ$SShVXhJtCFEK&GnC1uy=rfXztAQZN3 zO7}$d#kyI*53?;D%8(wsY+jQ|fNT+cYg=*EdKP?@;fSCCqDba#{SA9~_5%=bz;8bH zR(I<hS3h8X%e;E6(z9U_go?2yz5Sbt^g4I{*vmQ-D{tST24D{Gm}~c6S^1r?b`g;m z6Y*n*uj(^cZjt3h?LLmNrB+_**3;vB0)tDna2N5-cxqNOXewFVSr+(4d==`f!?wLn z&)a*pYV$+vWx&hF>FEQec*h-d);BWDJ&GRDAogva`8#>+#obkv)%%BsH>Rg7nW-zn zynm}VE*B@7VGPW7b-%to9T0wEILdl$?&k2)!ekyQgn?XpMLHwS@Ao7D_caq^4@ZkO z5N;}PWBiUP&yqfv3DW6sqr;!6Q%sR?wKaw#(dBSGq~z*N@ek~`R4<d;!X<7(Cc9sk z9DPm&I!=MOUJ(jlbD^(<rL?Z_d*9rMXG?@?N2c(iH5KDjc%qDd7Ao_n5`0a3qV6-; z{9TW1LYu5+yI3?Md!Cd2f}33&HeawG9~K`2mm`*y^lG5c-5RG32Nnc^ENi@uGlscj zJxIP1w1t2x?xQPurKJ2!9Y;&~hEhOTTRVEe)y?y4E_}1k_d6cU6i|AMJp2;v6Vj?Y zu{23~mc`3D%dU+z0N6@}=<kUI#!eIfFzf(r>BrgX)r78r(&aU2JJ}&3eKKCU8V7&S zq6J}vH~aoZ#OnHYn6#iGgkPasFMHZ^GklMu;?R%KrS3yJ4Cw8(FAJxf0xtUbg#)%M z+ERn3A;txlJ+pWmfl)Ar+5v4+^V3#_>>rc*!)GZQ%quU}OiXUejsljpnyUumvg7tq zNX5VF)~*%}ejU8poQq6Y2>MIQcu{rLM31j%G<cd0cN|iR>b=pT`XsbnGw>grPOecJ zwg(U!M`CL3h*Eu0Se%F|Te2S9a@8gm;@&ug?`<o0>s%anQXl`5tev6_q*Gz#{HHdJ zfq-bI_RoqTUFsrlj-^V29gH2?tyLY6rG4c7hrWnKt67RrJAA-v(88zBbB1~1!m96s zzMz$f4OK-0RZ;nk75@SCWA>te78?fOKAvl}++l6?9=m`2a_TTk*rpDKH~Xk&%kw)< zhPWe}^E*3TKe2n0$bpvC?L4`#yttgqj2mwZu{_M5Vlw|@$)*V-UZ#x%36!)}HS6A0 zYrl7}sdhN9N~r*rA6RooqG1+-+A`OOF41%lpHKDm)p$SEXtAPxCzQfabku$@k44Wo zRaEqhF!hIWPJgX$uB|cY;-Wn)0ACO8@ZZ$fC+F-Jij9s>n1rYm#I~)QkKIqxBOzw} zE{1cK%-6~DyAN&cYWQu`DG%!JdX`2LKVM25dd!jjH>C$lYYWQ+(+cwC;z67E9&^Il z=%~Z9Lxr3AmuO>or+E3am{$j!zBEWi0>q4C>VUh0A^}52>5Y!G9OqTWKR8*ezHk{3 zABuE!Yc=Q~<K=TQHzKugCXSq*Yy)C9igG-mzNv;yPt1f1NCYj|Mhwb(DhIwjjf|ZM zQFi}ckT4a2i$JFKQ%M%182K|*zY0cAKn1}TWi`twev^hQT=FUHl^w(bv`^3CS4VW| zcdm<h4o9nvQ#y`en|97yU){2>FvSbFpJ{rc`DL${wel#W8C2NtR-{HXvY4``v5Y4H zDcJ~W)%>HZx<U_C{@`!v9xBrw54dEVo$^keVS8IJ3x1d_jZJfI{#sR2>P`ON_a;V- znwA=7sIw7kD*sJA{*UFlceC!BKRrQWmj{k8J-4cX0IefNqNRyFKq}MmEp`rfHonz< z2;0%)G;8!byMI9GDE6TI+^*(!6|$8E)ayh#9J&C_TCl$_#&;^uOCau%8rxoS_+bSV z){_lgdI_kUflE}sScLlE54j5E%O?i{p{+k=h3XbIHZ~?ufoA7TFIo)NP-r-BI63mX zwR2{=%__VFFz~ks`Q*C@y-Cn?HgK{yJL^hFG5d_V-S+5Pw&P%YSC2m0@@FHDrEY5P zJ=X_VH9pecJ$q{_@hjgpsN6h+`aQ_A9W=LNXq;(&;n3?#civv;4+++0|9p6e=C58p zt1J>DNr1rZg#5wa$aE%<sm@*Y_loBZMC(WMl7yrDPyf`e{Vn=vhDEt=Jf@7Ozr@AB zcdl1lN8rbbuA_lKR|egAsbQn+?Pw1Wdh#I01Pg5h<bNw(6Shr){+TD<YrocV4mqq? zA-r?{o>k+RLV>rosrEHYQ6%uS2_w;uKXS<i+&hOao>i}~+kKL>4}MmkJJi?+lta9H z)=^Bm(=@o~UnhDhz*GY$!`X0%C^Rg3l~+)qI?crG6NXn4z0qWEpdHZFS9|G8g-Owr zJGJuqR+y#yx?pmlj{zS;je^#`Z;BNw+@yQ|Z{<Y`KS36$`8-9g#qOhn707eZwdbx| zvqBjxu;31y#&(QY-4)14csT8y{T3_&tEZRmUty^9X2XT2oAvaKO8<#n@>9aWrpYb$ zdUwbcc1hB;e1^VhwX=auU_6-ZGa}r#sT!`ys7d$qVas#&QzX*@A;SlmxAnHY?~gH1 zw6n^=-ISUFyo@(?aRH#jFI3BMheDdOjOS0Q+I7P_`Us`{X3q^IDO(OOL?OtXSFIwY z5uY6Q%zm}e-N8_k4uQcPT>q+s7Y(gAM72XN7hDrde>*`w_M9km@I2p(t}<KLSS|k4 zb&E_bxE)+Pwl;qJ)kEWH&b)iXpCLU}{eEy3A6wu)xf88CUG6d7SH1--Sg*06r0;4J z^3ys$KCVFK{QCC2g>RleudA=%<da|TlSa!gM`!=^I15O$|E*Z(4l1>6r^M|yC}VS^ zm1B=<Xq5`gZF~ffyr~>|M@X$cz-q(VXPnqIF*-9OfwCb=8;yc1k0><Z-1#Y8qTx0J z3r<?>V0+yAZ+Y?AuT`Q58W(v{<(vD9u<x0qtJpNa)+$%XNH);V`D!nOoIYfvoY)4n zUyye6{D$!?&C*0xU6-QH{p5AI$BL!(MJ#Id>3Jxc>}lV@EFOD*U-oP%zCs}GllLe` z7;S+Lox7t!IR1ZbAqoRwI(@YqCzn|YPD7n?CKP(h2fvuAc?AAm-y#n+8NHL3$oNqh zJmWwIGEYSRG6knRz#3ZM@Ma~j0;3;s(O4L#2j_sIoo?obX9yW}wfn+mAdF)#U{pxw z`og!{wpum=JJ^b(=esZ(#N4e-*;$3OJ%>?l-N$xVz{JCWknz6e+_>nJg(u99crS3i zpQ`Ey=Dg&|5C$`IX}(ndvZ<r%`h+VmHKqW&vg);9DpTV0r#VkvE{Oll#@!}tiMrS> zxB&i`c!5JmZ7NXW07_n5a9fs^@s5Oxz9O{PMdmb&bqGFAfO;Wh=TC>Hgs(nzYsoQR zY}_2h&!O-Y?@DV%7-*)edU=ynt#yR&>`xKs%wEUte62_6ZTF%X6D1~I=X?CBFA^9k zdVcj^kdn-KSnD5n`^k&RKy0Z{AelN}bzl^5m|Jh!gF2dN%+WmEeJ}-l7>wk?W(ni- zO}+tEE(z_pe<wanm~HP1Y0EcN{NN7y{zbJsJly>l1X7T)Eh1XhjFL{hWw$RzoK*1N zr}OXo8(SYT5NXDy$Zf!msVj3`x>GTR1(?pMAjh2_+pFr~%2aurPyJX9y{N6kB-e^W z)jQk8A}pWAx!6%s(Q9HCk)Sf#vw2e<IzA2suHT{fB*{l<{}gGqAH2u?0h3^hY#2$c zEh5=f+DLZ8K4=5@rHkPogC$VD)pV%wHaW0r`)%i_A5GHZ*KB(Fjm{QVtmO<19KuTV z_Y6rh+cdBq!LBd?v*4`I@MQ)2D`{r(ADv4;L2r^j?{prZO>dWqOG3wipF0u*KmM&1 zahZ^+F<|#o`@@c4Hs+UqsYSznHj*I5brM%UeX~jG*F|s{IuY65G%SiC=+D6>{K@94 z-XodSz>VR&B;E{f-`905sC3NsgxAH%oes3*e=NhEUyU{eU=uSK{A@<`V9*4eqIK97 z5`AAS;nDpoPw&Wo;C;PZp(@OxO}yC%Q(Q<Z$v}1IW5zc388Ry&bMt5sRRN}JtAkQb zj{$y^BGcqVs6Jo!uC2K?#}eze-~&xozefSZL<Oqtz07k$jYGCV(iz%jKfdM`ohm|8 z#gD^9vPC#HHz;z6!WyGuCk?%a*2aMn!Iw`R23;@r)ZKkZye`pxN~qI&;^&O_yJ&>F zepxayTE1On&L_bz9MIt4JMlZsbVv`H!|nYSQQWAP?-KUG9Ur7;?Xa&zvR=x$PKgF^ znk9m?BxRLz;I`UJ-=K;1Be*=PeCXt_tH%)onGwoDqv#z~``=k0h3?U=ilX1PsS|S0 z5)H9O?;42CPyP&6jKZFNO1>H!RVerNx27##bAqs~15-iXk!sT(hiC3HKOKC)#x>8d zC>=@jK2KhvVUEaFAM~(}<0rLs`4D+xZa)pU7JFi8hwr+)zyt~6O^C90q}jVP3$!`D z3hN0HoyUtr#&)y_^H#sE)+m0ziAjXyhCm_kYU9tLp^lx-2%byFMH{GA$Zw3ddeQsS z8S@puec}Ss)mm+xF+vBTHLZe$B|!fOp^C;eUbcoLNA}g{68!SsI<;E5xgzJp1YD!1 zYz($v8eqS^^9rj>U-sUdSY^5rhT_C;mAkumGU|~(K&Lj}Z*RScP~^%D1NJMHDf_8O z({s0dFRl7VCI_WMKUQA;I(=eK{({Ea*Oixlc;MuQdio&fp5a~3C&!D1;=z41G*#HO z8_Dk@@pgV{BQLe>z}Q{Oki@(AE<0^&BWp(-Ll9i{lJLLsy#7PC)rnt^B9NCxJ@OwG zkZX>i6HLKl$+sn?F#crFxtfLuEX{FCr+IsEKA*dpenpdiyi)?{^TzgN=x6Nk=FN|{ z?NK-k-!MlU0#b7E?pHjhP*N&2@)?TC{BaEW2ZaB9U3~Vpfk4YD?|D?XGBAjYbr4Ld z?zt`Y5UjE@8`yN+=lX?r02)xBFM-$ZUJcY0nN6X1<L3tAd%w*t7OVaqt!GMN^DlyK z>8W`ASt(RsR(qUIP#5APIRbl1Gv*kM27TJAEDae!{KrDod+};Y`RgTv6RnR`S+r@E zf5cduglQF2hqJaAPp?BY&t|SPA8FUWU&6KlF-LvAnCF=V7j~~~o_K{@&{H*ca-$nK zPOH;WL-JxPR={aVUuP=%r_g`rvQEFtO*aI!Y{IwO5=B_-#@b(2V=Jp4&mlB|%UH8* zKXt#mu4zy%!NRM~;-p+W>VbJRLBsbcJ@_+6LfgaO*}4Y5&mA1D!miYPx^nB4S$!BS zL*B*mZAu2mMa4hO2ZXE?Uoz1#m))4t#4Rm5n5d5jINHA+DugEIpIRx>zSfAllBvn8 zT&Dd{LBG(`m9H*^(`URJN$*Fi|50l{mZqkQ+@dvF7&qK3P<aigVOUWQmwT@H#E%0} zZ>GK4xB8358yfK;i=3z5dj+c<RAx?h<jJn8aoii2y*D75v-fiZ6fqMr(|fS|s6Qhk zgiIBA;g(a=qh@hWl;bp^{fxjppEE+S;lg+$N|E)%S0c=tid46ht6m_Lo6uIh9W6#y zAzg!eX`j7C^C)V|!~#at)dgZcSrRX8L#DzV;_Rg&K8B~lyC*1(Xo`B0r;%rj;Z>~; zL|RM+C`)}o*6(g>;0!9bS;}I`-Cl<8&jLx<YTOL$iu--I8D?5OODi(jdpWP$)|q)F zlU>~`x9X&tWVG7y)xVR4Q8vfdX!#l9df`Snqx5QI{?>6g-`!Br`wCa<w>PtPPgM7) zWP5C$p89qth8LNAKB*<Z$06oT2RZmfa0R-89<jxAef+c5y~u5R9KiZc(}j5AXMH(W zlhfRDOpzXI=T618-x_&>|5WAiHgiw@hGpjDuU|{b69Zb_dgD-dGCs^BMh&HORCAPs zb8VKij@S8H@UlZBBXP0hJU`;rpC&JkH<Qk!(t+$mYx%R&8}5K7D>7K~XK2FHFgJ=1 zeTuvonW9#=eQu&U@nqNwoux~qyh7?yFerJ|!Lr#%QySvy*cNr`&?&J<2{QuB5TM_4 z6qNQx+WhE_s=mac`m-G@?|}NUHg*2@I*^?6mRxv*=cKZKiAfAVjAo5b<B9WdHRQIP zS=_-mxCwMMG<h17Ml@=0O||w@{9P)Op4L0ZetnZ=_d*2ISi}`M=N=U7RNRGSI&Loy z`inbyHq{jw%J}VDH0=4~=)gsR3CF)cClF`OMA&bW=f${<;=f1cn3%r|v8g9`W9(J> zhcsisJ$m>t`d6vDyv8n;AM-9#B5b3dPRdFo7+G7<Rv#T_^L8}^QGnKY*;y~>F!{w= zAKpcZtH^d{z1zIlu<JjT0CE<ygqhSR8|wOSv^cwU+<w7#4tc3|M>y{eX<TMGN5CyO zrn*A`GTn5c0P|h+^<iqCUm1Agx!hjAw&sz#M6pRNhG-%Lj61!|gzh!9;)8vg^r|JB zLE4nZ5&k!|VXmU|e+IGE@}!doU^A?VHV&UP*s=7iV|miHSID+CA)73V6iihia2y0| z+!B>pwuw_#zBRo)<FGlCvH}2<pWL@Z&<>{?FgwuKmo{97l^RMUlZUxdA>v0Z{wxW) zT3^4@H)adOBKxrtJL!jtT>`~A9?-_}VVc%M9W=tG+WL|7MwxwNFfi9RZX?brcf6Mo zefMoVsxUI_98a*P8!3k}Dyx5DE=S_Sb$!ddOKTIJe1?4iC<@^3ZO7z3DV7v>FS_=< zhOo1zvrlzG`J_Ck*L`_({Tdf%M#k>c&4xWw(wp=HL`;(*D~I><sJAy-O=G3cTf=+G z^13`1atPlOO^aKXKL)G4<T9*lYoR3P?@u22w$O_<Mke%Ss@nKp4;mP_6**dqCWnd^ zs9!x|IyzWik?h>iv6VT1hJ(m;)JCbCVyO@0(}b<QNVo{(**;pb??jW70UyxP33>+b z_mMY^3{`OrRb3f%AyrW}KweQ%ulh?vQ5J4wDQTOWYOc+^&lxv}C-2<2giQVFbxD0q zkx;?;i)@h&bKI7ruYR%JJ!{L-A1VeMwkIaG+l<{cHD`7%+cPb6o)~DuwqfQnR{_0W z6aA{MQ<lLel6`Ntj(NMb*<$Ch$E#eh9fZPZnZxfT$9-IO>4eK9Z(xCZR|g9nW`Vex zc?jP=jys0iD1WI+)%xWF?i9@IS}y563Xl$mfrguKhMO-QOS4wLjb)$Qy^rE{%Sxa5 zlCNlZPCX|6Pyb||V1Pc2nPFri{UtyjJKrpkWpFn03|L(V_V!Pw;0}F0!+8NCB9&Or ztfnQUNjeKCoW2{jl~OW$$v+_>ABc;8q_&uKi&66g5~2{MCeovAP-@}n8QH>Yh|(*Q zRuZpDo*`<(2X<GZtHp3Khk1KcB;{|Jjs2Q`dzf~uD6$v`1}JuLc4RaFJW73Q^TXN2 zY+g|{k|fZK^!+y2qbC<GXSOROptAL=B`IW3`3i>h8cRg0D{sGosrs5{`goJ!t<5dx zzMN;HyUbJ~M6I4RaIYVB>}f?C$5R3TH6cdthkwlY)i~|56b8AX0MLao5Ni=2Wo+T~ zOn&tf+JHhxlxA&oyIYkE|I>eQ0Q?<$l#dr~wRm1xs}(FtOZl#b;>ij5Yl&3cg~;v6 zZ*`9MYAi${NlazL#F8hVOcVo4Etmn?wI=vB2j2sQAa?bpEeo^BCwIFL($ANRwU2^} z{RL$)B_90N?MpEWh`f`yx`F3`GzwbrvO|#yQcfY#q;w`T;(t&KMGuuf*MLpX@4WK| zv8**KjKkBJlo=x*KMNQ>D>l$jTa$;PSaW*W&!tm1A4H$D3B}KvEz=ZAZTlQCz@s4E zs2UiUrmRk=AA2slwbdQruO2yW?`uot=wpC4va5pftMqFyRcGL|>0q>;3Y6fGHQlqj zyQ{XeQ4W*oM?dCl2#*dUO(f%s=NuY^c6W<Lq#3|qXqoU0Ed~f>WmHv#_4%}xg|xNF zHR~xiZ`qkXJ%KH?06iX&q_Y2yBZ$joJj5l~OYKXCJ(gJzf^Dda6pN6a@gcHD$~>~N ziJSP;+md1o$`R@p^>EwbtjIzA&Lvwlm~J>JWbCx&!U9uy+t%qn7M~=1fejp}tkWp= z2?GKjYMAhas2Vce9Hx};T=3F2KTcmuz(6TXIpB*CaW|B}?(LcFZn_xml7Wjkho_ni zuf-M3kmNX4L=c${7P@uokv<B;NRk-NA94o(P`MV}b-%5b{!Eh~T^W4m0I-6N#08Dj zkQ;1yZ<0Y~i`L{x@WwHODcDn`ko#uug`rsR{&F56nT#W@8Bw!=(n`<yFZ`jO#6P?_ zYCKB;09Dh-aB%x8o@DP0ae{CDRupmprsh_3UpB45bAV1!BLgSwgD{gO-;bPo?V!xS z(N<X(04Abdc#yMsV1E^l(zv$2nqzpSz)x)e74*WTPkdz4Nv%3364d8OU4inb3R~W2 zYIz=vE^IN&9JBk61-J>%F%Gp>?FM=neUuNAJeGe%-%?>r%u0K)PLgl&z#@6Fj}QA~ zgY9&?JUL}=b<1#N3Ju)%CF(xteM~uZ=ub{(^sARA|00*eiTlSKc2&azFE4jv|3+E+ z=Ohn+U9hy&TT@{Z4>+IRUKB(`7lV>+cQrJkAIRzl_f5%Yn`tLmYi*yt8qZ4Z+UNi+ zCv?jaX~h7-PZ;YM*iyq^(i+{VbczUoUlVoHg3<R^pM5M<N;A`=93{THnM)IX5GYt0 zAr!y6u%_w!mKgxzr>*6f(J7idJ%c>wu0MYusG<Nu@-dNiqj|ZLSy|{#T0@JDaP*i< zil3LP$nn?v?Ao9Kpqt|UEesll$D5IdS94A5)($5YV4#?}nyPnAURU`ts<5W|4q;l! z#aOfO^|v;YOF7=<a<%rhOU|x-97g}dUyCkw(N84wm({25@2P(N-8euB3On5phMqF| zxw3O2TdL}kO7v3>WX7B1nbF_%sg1`$N68~W*(NeTyi4MN@c9wSc{5Sl2KTl<j(2Zd zkC@WGPZ0B8eO8r}1D&7`ubRrL;25YyAjDoc-g6tTw|$W8Xly0{6<A2WV;kQdNL1%L z*7jJlC*ZROybX$PIgExM&TOsV=NLWH=eE}`4+N{I8m9FT#Yh1316CH>99nN=B1@}L z1kW(IU3flE+{L0uw8wbxX3krqqz91hooJz5^?rGTGtf|Ctt&`0(T1#Ir(dp3xL{rJ zl(le#-382MzVf@&6!9<49ct}o{`?`a{KrBsui$mVOaTAv(uot=(*;<ql$L20!bY&Y z-MD}iOFSFo1J@Zz_JZGl>NTv5t3^_l4uMi3KS_{EL!DB%<CkfO8^QhH1H_a|#YXB} z68`pe4*w2bkz=Q)KtRLoavg6ZQ0r`$7U?_Mv!yNhxJs`|*qBq>(gOjUiz3|(tB(T2 zi;f%}8-Oj^Ij12K0)=mrNHuuuC)MsN>CI?(Um%@eo+0j?%WQnPHzoRVL(b)?Q@p8A zQ)=g*KgAYY5v7lC!T+(mT`;Z$Z<L1pSdilxY!JBL@!+-M#QxzDCTM)2a@AXN0!^9e z^#BuIWDlk*-LI8L^N~*1k!Nyrj2&?~1iPBitPo1QRH8CIy(b?m)Ws`Oy!eb!X4>aK z=f}E?$&r1@b+~VC^WC~Ksn)7Kk_CZ(_sEdJ&m_&FZoKJ~VK8?hcxB^I8Tdc58}(Xb z?Tb;poZhsRQj7|+dWZUoD<ET+>!O|cg})@eM^%V9%J01+UFUSr-vuRk>eiHTZD!^Y zi-9-7mVGsd*t>yVmr*`7c2_{3C0aqlzk_6db#<r&x6%MHh5%>d+M?d-Y9vVX?dblQ zb%)WVKIhc5C+B=#szhl;g3KLcBE;MS`tyO(fi?VWxL2^A>4fqcMh(vGVewDnnO=<Q zRa=#mTn>L^2^*0|!dq#Gh^nSE?2UIk3}4A7J|EgFf_+PT4s+N2IkhKvcL3mAnBib8 z$v*L*dI&{E3|&+`1Ay1E%b)Gm&bmW|a_zEh+bv8A-IiInDf75<isotWK2t^yHUkH& zurvFbW|dwswm0wnPylu~5Gvd!XA!SggF*bS<^uk>zo375>#o-GH2K$ewFBEVgZe?| zNcm?*B9i<2kAFAt0B?7;3i@#91tw<h6SP_V#On?|wJm$Kh&#`7(&|SiFvpIa@kaEu zhBd!>Oj05BD{;MqOP4yQ&#LnlUu?8ct}9}fA~m8kv<lZ9Uaz;8`*ZO0PTsxtV0Jg& z&dzrAei*U%oYv37(X0($f|Z#f176M-k~$WNN@#6#Q>OtXlNyncWPZP*4S{Ln;wd!c zmyw;v#&Ix_zAHmbH;sGxw?f9}1sH5mE<j?xjtHMc0LYTjjDV5yPewA)eRXtnh?#TN zu=IPufEiVFB@F*A;#5&+Kwn>Du1E3$zVq#kc;P?Gz@d{E`$sp=<+ivaOk!lCVeL0^ zAvu0DZ{JS5yat#^cW0J@E65)iM=qg+FU~8iuWJX2f|XEPmh}*OH&<A&<`n;_w3C*} ztfyE{z}_V5#JxeBqxjh@R1%=Rb<Fclw|#ILK!(?i99%a<O4{j8$lhBd6AxNeep-4< zybO;V*ygeWI3Ycr!;H(dEFC3GM>MG|EZO_0+;!xTmb1Tg43)84RVd!-ddaSB78L-x zSPSs^R&F?l8INOnV$N{{ih6C{Eu;ETooK<QWg5X$)g9-xu{4q&o0ZKlm3F|skSY-? zQ5TQ;eKLISSaG^m{<1sjP$hAU=DFt2KeVQT1pHa^ubewRhA#%39dH<9kdx6G{u$i$ zP(u9{c^GIZdV?$Sv`Gx~AbQqN2CYNYdt6gfB0@xv4rR)7eWx^~&{Objr5UrPwa0{- z?0rBA)jweFBxuBuJ5?orq5TR1Pzv&`uG(XQ>~NH6I)qO9)TTM}wGn?~{9)(lVkOth zf2<`P5yzow8v__AIU2McOIee|56}Vr{-%l1!8DJxckDg&JKFVroZ+E4gN{5&l7-Vp zOb3^yKxLp<dm$7VU$Hpi<Dm93w3Vxb+w|QH@$_QB5;oFzb#!X`Xue(2t=;k>G@9Zx z_T|bK7awGBnq&4%;GotWqRrPSw!fWa30J`^&Wu(+cHVxCykyVeo<$p^Opa%!rgpF~ zkbVBbrXRdHLqYdWXTf^xpLP3O9eQ3SDrB{sCn#LVC!(v7L(a5qx!k)LtSOdmXV{oE zf%bhMYqej=&<26X55AnLFh{k<s*AHPc1p50o)J5-4g-6+N`~%9<GkqmjxhUEQpOd? zY)YV|e&9&~djy+rv>ya?_eN|aWKDCv{+3}0rXqPf%y-R2*~fZlbR>kCI?@sJp1>nk zo1|O%=X|Eq1Phd}gKTeszOoEGuudoVg4Pao&C|#1wee{3p4Lq3*O1ulM_H~Wzg4T! zSlGpuKWJ`ifV*A=OOU{+n?+TV2Yy|$_9}+jD)3SKLR3K1&^W_Ecsr|HUR<oP28%&d z1gxW#l9o<HU+cNk5Pw~<LQh>pHH#4Je|usMkqggeT<pM|AG14_aUz+G!CMAB((I`@ zA-0*t4X~P&6E2X@i@1nCzXU3=Jm+TaPLh_pTWgOVOZ`5;0ZXx1+&kAR*#+dh=7!h< zTXC$b>Q3~gaf+~`8D}=XTj`Jd0t2^CUe95-?oC8@`m!O4PTuY6VtIx0kT$6=+MAvU zPJY^G=QlEww&f^^2dGcb+XBHV9HFSOF{ZGgF?!GLckR>e{-D$(bxF$>qYv6$vXw9H z#owKjLZW--gdq(Q6P5cliS&Oo!FjZ_4KcTvLZnc1im9E6->53QP6-dOmD@t!i^Q-7 zsb=D%*s$+imk_1Cl$vWFI)9NOYCo{7@PdETgET>MX5G^;5$QAPMiyB~U7EpI=t_iQ ziJJ+ETK-2zm{SVw<eoGAt8DUQ-(q57u3^t&N+vJ%;qU7FZ?EiswrXL{<K{8oD+~&= zajTc|vpS<lL;}4~?-n$zG4u-AA#!S6G-f*TLHo_M^Xk`n^E3HvWj2NH#zgeEp$Z}1 z4G7I|4+Wgq!Ul6Q)@;4K8xFAhSe*pVtUT@^BC!VocT}XPw$%Ju1yH^e$!IXd_k5_W zma<QGlK2nMn9VgbTa<I1i`(~6?;&fk6H8L1QRgkvaXD2?)bM;|{ch$l{2OIoM}FtL z7*c?FYqe5g@&Pb~pZiDk|5j)6MZ6vosY~k7XW8+SsInPHRnCMq|FotuDAQ|)?qqaG zRC@Ey@ucLmYGvgSY7hu6-bjf(A6#NbRXB?XypAi7>Ad>1KPxA&vg&41OE+9z&BaNv z5}9AVbay{D&mOgf^(B|mf%4ZiZQu15Mf<pMCU!llfuT`lu;1f_*oeRMYp&}$ce`I$ zznK=(nr`!~&aFw=wZ}K-*S2k$j|FC`AzT7>6_fY))6?P8N6g=`M_=wQ{tPcTF@S;r zxVhz0*(!`8H(}d6@m{Z8cip9vC0JB_4W7+Qwtr%V4z6o6-zcFet^a&wWzeCkFR8^k z!>bMIhuuNs<>RItz2UQ0vxd()@mUz9{rl7W_U%OaU+2pdrO~4gw4!U9YdOYdjV(oq zY~H$aZ!E&SuIF*DT-11zI*vB`)K7w<n0vXyGQSpocPuG*J$4d!e<4ji?`~(O!}Qy$ zF@{R@<bSJ$CT<&W!tfsF<=z|7?k-ZVd_OEWEz)95Ro?8Du4o2VNR4QZq5;kWjc1-E zzbKUrtu2?uI;zqmnQ=E}$Fhuj>M~@V0z{pfe;^|>grjKJ^MD(j!(+|rZ}jg>eQXyD zP^tCM_jNJ`eJj2v45@y&F^=#)C|4Pg$%5X1aNNIhue0Om9$3F7?|4j`Q>R8aPw?B< z(NS-=EduV?bdx952~i)TS;@=YUGtQruC}^=y0WyMNU!VYx&~8fbVNq>m0K&c*FOHB z?$g0BDNOBfP_M{ST7-E3YA8>du&GK8qNWmW0-CEipMO*RZ#@U2mBcHS+)>J^yy`Zf zIBt|{C~-L9NZ$UHGk(u}??G*zi|%5)5MaI#<=rpM;Kl*6na7@87^r73o)S#{n>94r zXUuu4@X_1+yeM{Gt>}wqJHi(-)k>9twGt@Hv^xxe0gAVs|D))<!`b@ZH%^xht(H=1 zwzO95J=19xwQELe)rh@`=s;_4A2V&y7$vn5jS)KRQG(Qrtr4+<M3V3C{I1KNxH#v$ zPoC#~?&ozYizV^7N+_W-<jXmbqEwHDT&-^W3pQD(0}dL6mCG!W%_%pyd3E7PRNJ*q z2dgWcKNVvyw|}4?BGuB;+Af5LhLiT`96Y=032}yBF2#3=vaA}O+5bZx){8no77uzk z6p|bW{(H?OZAae^r&MpNL|RTv&pU(RbHP*~Gy2UG@tZ^JZvqd6i#N;RlF99P#a^W% zM!0EX*X5=Rn{d$=9GzX_NjnYy1$(wg&deXCg1!R>IBJ_#O5n5(Y0=k2j6IKdLa5z% z2!c`JJ%k^m7P9+JLUJHxj9{@duIalHuTZ@ag?wKpBU`ek-Ll-;-h6NDTp)Y!<xXyK za`5x$T*URFc$;mg(|1cl3c(t+zD(sdwg2m=jl3CJ+0BKjna?$}^hbAOA2|GFCSu)3 zk}Qwc7ZUOpOZ-DHBMHkzKZBG9FFB^_Y(bjrWDU>rNF(b9UcOO#amed(3uUPM7EpbX z0)%Y_rL0o&WkS}zHm&8=%1#sTD=>qAVL6hzlzCQu)5i&oR&OfwxA?qF`2<aAASP14 zMzbS%NzHHp`$t7WdG5h}fg8GDscn=ZzBlpMyc>15e+hK&9%pBov7tr^y+W&HI2Vlp zA8vKDtLavoNFbtR8AT1mId~Pgaq_#$Z1!I}(+}mOOh?S`;Jg36eCtr-`Zv~f&s){F zf+Q1qCMe-~C+gJ-;i7MyxBrx`)Ak^iyy_!|!*6Rlj$O^NfC&ghI$?}PvtvKZ(V&1K z=-BI;wr%wWlIy+peVoqc&-c6_RkEen>9Bv+{2}J^58ju#RFLh}p8Q;d*bSk+R<H@5 zz<i`bwX64FwutjYO$hpK)2i8=Pap6y+>kq8=7kA^hbrd0ns$&*ZKKv3h@~3N#MxU3 zIWH(a)%}hHUox_i9Q$QAWt>SBN2pOYMvA(}tygV?9Ek+73<R0K1fAPCWa>Elv=8}k z*Lhy9p;b)|bL$&t;CLmwW=Vx13Ea9ff9GXTn{@lCsdm=(Rx{St-E~i3FY#N?Wb?SY zZ0L+tRD6RYuj%3&Y{1)}9J@o%c(L)&Jzxpsr?85oEHv8|s(nCLd(6e=LG4;j`yb27 zzLD2lN1@N&O)s)PuqRyEvbWeT;hNTd{`5?RHJRJL2pEK)F{O`EnR<>>`Fy;h$BkK$ zEa{!XW8cMV$<fW|1xI@e6Y`n{PU^nz?okT~zTZpvn8lmkcUy_Qx|p3kyO(rqQ}0z9 ztp(W0cW*qWZy&*a7WkHit!QX3q=YY||4d&^GVefBV?jHsa^bd2_f|<x5!d{WCoQ1F zr?m9JDC@3rz^ABZIWZUZ&*r=D;O{H{(qHOC?T>&eE^ln!skbAeu5LWA;hT;Q(fzOI zI0?-y<Bz4wJC-ELbl|B_b$~|S_!m};gUHDdlO0l}G4jvY14kb92x_bs-udc;0lZnS zixl-Lfr3qpdz(T6un*wwdI_Xg*j9sHkR9N~(gyaaiw|qPOlERxzz5@nIZXT$JdN3* zS8Tz0)F~=(;wiGc18gzWVMNB-$+%DPMbn$BDm5*&@QdX&0y~;q8Tu5#n!+}`()6^$ zmgcJ(85<O=6u!C=RQtkHDY-c{=I7CK&+r8u&BA5#RBG1b5j_;>hedr%a>V<3-GA&K z$H9=)-ysib=)G{Wg0Wx13F4x<?SP9{e7CMexxD26Yj#(aP(<h_?FAE|(Vs4<JxC;Q zXel<+Di!U%E*43%pEE_T9Iu=J9nn7NVOrWY3LZhhG_=B!ab`-lnex_$dr)ldOZ>gU zcKT2`@_H?#3HV;5nWeDEE#5O6fX!0lV{dgpaEmJrNj>-|OaY2<aSK%15}V<51wQu? z$KC&@Wz@Q>|E`4``>X&!*BKh2-ss1)+6Qy%2Pv=9N$I;wO`nmM0K0|?<CQz;y+_>u zCqy)kjR+6`)(7wKT13?}qbY=)`Z_-6Xt4kI&u^(h&$@#1`h?e!q7<as=_`@@UbWeK zMA*J&Am@<`)Z~L`n)phn;CGS3k#*;$Pv;Q?1jS$UZK1{35!TEs6ZuiP?d#W|PaoFP zG(h=An?HP!lZV*4<SnHvfbJYB<G!Y#fH^wD^*d~O<*K3Yi!`(Uf-dlqiUWJl)a!T3 z0PH*4F#M{lM-tA$?kD%&>fVlKYNB8x5v);c6Hs9xXF>)91?ij5Qa55X8H7ao>AmoU zR8rpwm~<iQ?Pf|O@5r{id~}=wm_N6#4I(LBGfpqSiRF4Hn=OiUkYisl;Mj=OrpF#< zGxd~)BXrtfh(++HrJILQ?IHDpfiJ=wSJ1sb(|tYD$J$!!!jZ<Y;L2Di^zw7l+1#FW zC*^4q-9qNmi|7}9vr%fo>v#lpDeY^4ES~?>`vCrgx#Q)@VhhOJj0-p%Akb$<EXhwF z_#)I(N_BuXJAD;=xmcX>N!DQ#YdHl#&MujR0%iNb?1E=%=3wb}Hr+DBDii867^M@w zzpv6bQ*)2V)yF*v&T)MW7#E+yD7#MIW8lrr$fN%zoi}h*MEeLX_2sR2b-E^g@|ok1 z7Bvh2zGzoty=qIak3K(TPjNxU!i)|;12k-O0Uw%wu9uHALuUk=!T!6RbN!BCj|Lqu zKOa<tuenOAidNU(qK=4AI)Ud}hq{)o+W}tVfi}rEyJ*+Og@N)w-Dy5xFc^!kY$9z$ zp7a;3zE3G$VFIJSd_ho&nHJVWg^3;MEh_ftSctb8;0$;m-~t?BpLDKBIns#vul*tW zKmSeSq;}Q?j=Q82X-jQUyUiza$gaP{x9zP33ZM2rTMiqgj{~YVV0L+OBl5T3R+Fq( zH)lt_&yMN;SPHczYV;bRIUY8bQ^H-;w-lJM&8yA*o0N^)%)}~hRg}^|s2?eqXH(=% zzF_@ZTzY3zn5ei=KGv9AIXNTP9{&q7{JuLPc0{Zq*SrCtgQ4(l#FmgC?l(T$+J^$? z_Gx9`Zvw6U=dr_2rf8zY<o{Tj;&=>tHZKuQi);H0o1vptN~B-S0SEMFJ)TdQpjz|! zB>lzCT9M4S0;6mtbeV6HgHK>L{nOI7Ln8+V)AWvt?{})991q{{YqSlpxwu(V8`D_% zh`2AX5hvI4Q@^)ranS(VWqhPyejViFJ*hbuFx@$FeIzlod%}6;b(+FF@Qaj2rFG|k z+axzQG46Mf!Swh49_v|Q=kU4r?*~0*xhwEK($T`ZNp>6l%Y&zG)A;V5{QdVS?tYrQ zVkddU%@dz)_M<5z$2Al~80qyRd(Xos34!aF3on*T42<KFwyX}8#k1j#Aw5Jp>EKAF zPj3LsbK?KU3~MH}A42&AZ$VoH&brev2Tbb$XW0s>Q)~D?2+!v^S`8Qtj3YWv(hxr| zXXlFU;mpMP?~8b@@O5cNQEI>a7uh`)1o0x!=%<2B9B53eXwCQZ&=s&8%S!gY=zSt> z4YMu`)l&0u9F`H=n*0*mT&-HN5>G|9@bWDPf9yT@>SL38w;8zclV38EvJ}bMHai3$ zn(yfsvtli2ms9Fp05>gvvLZAD3v6K28|Ax}U29)ScxFh*Vj*T5+cyMJuWVe(k3};J z#2(bH>?LK3>MBvl+Z*0i0)XN5@cvq1lum0&#e3<!mafhbzh5wC3gIlGHU<80pc>QW zS+)xO|6P=s?1*V{?V%wIJo!e$a#1=O@*vbI&!&L&j#|KjmDH9);C+u*>gp~oG4+^k zGz_QG(nqSMX3}-V7HU+la0o2GXpB_vW@F$+gVO_lIMx!QQ`(zku06^KE7h;!{U3{Z zWfhym^nA*+(i+6BRyH!BbuoFMIpbV+touF13%$}n5XZH5HL^Z($36fgMetgo(KHDH z)!q01;e4@lf@j~t#gQY|mfxU<?Tj!2`3-0f?mCH$f2sXUz~*~0A`8ZA-Cwn~GDiG? zNwJMq;Fm{YaZ(8(B6TcO7^h}9H%b4JNvl|0Gd8rjl?nPZykU%8z#>IIWpPOL#X6EZ zb%uel7HFM2RC2ngVS`MAIdDvSO@QP!)?V^HN}T3-lp+kXB=>j^U&l2Xjnr(f#;(Qe z*-T8e0>0>XSH&~pTT_a6M^>G5ho1Pm0m+UO<#*d<?I-kfiPrj(wqWo6^Y7eSx;chA z)saHa^6|O36Sy@ZBkCrVusJ;!4#WE)kV9f49cNO=Q%9|y0#R=G8jXJA>}+?MJ<}Mh zD%&j>--2q@jft3z41z*Ad|d(=(n-Y{-X|M<?FVQC9Y|0B<KdQ{$3LPYa>UAY2dme$ zGdp{TPPu@D(KT;_0gie4>MYO3^hWSa>-O<{rHbyD3KuTagM;;s^J{Iii$O&e&Rfh> zogsl*+%^Ddr~Tc&@f4Lc_21`~)9RfY8a<*j^g>E|D#-J*8FIL{Z|KYCx*0qSyr<|} zS2}6e-PM@U@w0FNVPmzb0+BsLC4Vn7si;HY*HTWXFR_JOsa+14X{^G|fGVIl+-~OM z=|N^V`aJPaxn})A;@o_I76-!2el<#&3@L$A#>>1NvLKcNq*)=Q3<csb{!w)f=W0}W z-rTdVtpZgJZ=u)374q)Q?q_ajF4w6as`SpRpHTLhSO920So_uKq1df7+ih3eX`#|t z7=^_C<av*w4usZzS@L&Z*yvWUqSND(*8$x3sRrvU+sC%|d>&Bhkqyw^+NKkwVD3q^ zS<bHo!r@|9qtmo@2`X)(rj{vNb<JiD1lst}ziBdlOS2E+SK%d=fA)-bJ-3EfG{Cat z5C~ntTc*sk&TPZ*D{kd^dGuCTC#Skw>hkl?FJvD!76WM7Qhi>*){EtZUU$aLU_CS} z_&>5uw1X!wuat00yG?F>#G_@#%O_MqOOFluWraAGLumIu4q7P552KGRF>mAVv`vWM ze3xF86}-+{&3@Ui?$7o{o%9+kn)a*8)@srHhR2LOqB;!Sd-!d~R4wns>r3IQwiCg% zg0l<H?#-*FsoSV{_zDzr_Ix?7^}Xk*ZP+!d)h73lvhsYt)a`n1S8jIzt~en5Wn<rQ zrjL7UK+NwFSKOx#N6D3a`VRC-sFZbu*rKeLI5Y%@tyVm89m4~rIZ_Y<Rj|ypB!j*Y z_U-q*(=Mq ~+E!-0~XodcB$URNHO6T>>&%bX@em>wFKSREB8AMER7KN=ISulGj{ z-z^Gzgwio|q@7al4o;$J>xkd<v&ga`jF{mOgX{TiV~sYDP?G;16JuOy|KXZlg*)fY zo}7T(;76{^O?670uOq*0dw%AqVbF}1omO38YjN7gdb^LFkOA49_yoHTh8m)24+H{- zADmX%|L?nHIZ`sl$Y=y<)>BV>05*;RK6Q|0zv$MCcKS<{T8H4y_>GsUs+M4<^FLZY z8!J70{odu8p|yW;(D!Nnls$K;YpF(gtvQ9xhM)<@qgP!mKWuPj*lnOnc8MK{O7arE z;wzdUn5vAcF_^b{8jExPGUwc&@pnyvjPL)c<T8^1WM;b(K2t-@B0)V&{saAUnioS= zra{SAFm`-r<f@}#=vN;#+xKB`j@enbays?GhQ(0$)iAl+AGANUdd2vOK<+6xZwbko zzj1QE5j%aSs>i%y5M`c#P0J%<=cDuAYG0WY;_oOlxcjba!KUftVfjljy@@BeKa6JI zUb25xO=#uMtb0^kDHZ$kvXH?OwXo0gg;9POH6*NH$1c^(%fi^Locyn-(FVs94lZYW zQqD;t=tmcLKta#nc1<3g4;Y>L7kgu8zP5I7fX`Ln%@Y2Re&OS1ca+XPW_@9_vF0Zi zjUa}u133gGM%oj?Lr}t}UG!_&GeY-vtx3s|oXcIdJn3Qs>%4W859am`!8eQbA=N$u zw?)o85zNoLyE<!I+BELE?Su|#tHW|5XQQ9n$JEX^RO|y#T~uOu#LKDX?dhJw0Nf+v zK=+F2jp?<I@#dqThI?Dvo~6$x!hh{`MW3L-?W&Xa2d>TZB|^Sq*NV{n04grsl3VN} zW?B<zb%1B`GA@ly4W}>h$=!L=zuj|l<h_bq)B7`CJSm0!#H-y8r1l*hzofb<muXdG zy18kYPNP*ugz~e%c*>E0moxdGnY=EHMN);iBYNCGJlI!0)R<pc>&q8*j`{g2d`#q? zwlwbjJZ1bijiAno`sQMXz6DMi-T+@6n`(_!BaG1Y84mG8371dO-V0gOShji4xw53O z<*sKur+s?F6r`nPLEn@U!(ASPoqPB?QTEe&G448T6)mHjrsMo&;B7+{HX#d?S$iW* zRf#^%gfXgct?otPUD*crXIFkENT*$VW7?Gl$EncHabB>9$CNEA3}JF*4;mR}VBC^I zO0H$D-esItgjmXs22fftlH^fH%XI~w@Wv@1YYn;5s`|Hk^<t}o`o;B6G=UXL-vZ6n zRvOa~hEew<Fok~gm~i$qyd>|RTkXA*U#gnhBdShL_x|U-F?YejxEi|%OxROzMoDVl za53x>i2Jp>M>+j{=nlU#9zVf!>;Ih8I)TQaVYl|CZg)Gb257Ln?qsVMR6G|v^1v!v zqrGCrXztK<;;0$0Vh!{E%D*<#J!pi;bKsAg%QcNVSy@;v4v3mm!I@*iHo_OnhWg<? zbhNI^u3z<jTOZds@xZP#f%}RHLbcuM<}(`S+L9W=(Y-V&<>jq*j25{vLN?ssrTc>d za9EG&*JaisLAKK(%Wt%9zQ=}<9(7zZ?2~D7M(gJ8qz>MgN(_1FPPowz4>jFn6JMi# zcl7J(T22}(&R5w+!${*R-Ilq^U+R{j?IHSQ*sZ~9DOJysSF`u%t+9*il>+o0KE7^+ zCpIO8jX=+$4)D{5+Q%STc2T+=rA}L6nx1)K%V!M)!VVXJVqoLP7G;|%cMJ+#bR7pE zW=O1)=8Y-U)-xc<6~MfdFV5oP!rBSUMn4xB?3ZAUn9Y*CwHXG_^rhxn0mtTn;O`s$ zL1h3#6+G(anQVK`&TdCdmiO&Zbg80gw2(T9^xR0MZ%PXsT+KDD`i~50!ZTSvX9|3- zGnm=yV=SlXDRdidco|)hIy!GCY1pm-cv?XFvK7cP9S^$hBx(pOm+Je+LP;fEwf^-@ zZbhR6%j8|>BJR2Jfu;b2hJgB|R)o4b$yxV>iHR<0pqIw}xvk13?Qp#TJpja0uacOT z$g%T6jC8tBS=rg_-?|bzddV!^LT1O6GNF>@QGSe}x5bhR=Xh6ahup@;hCfa>lvh|f ze-QVHq_vw<9G&c7)h+LPmXMmtUuz@hzuq*WL71`dUY^vlj*_K>6wLC2KQT(|{c$K+ znS&Bt+qmqOM29aK@+{Y+RnNPaKuu-Ce>Ra%rgQHwudmcbLwi=ILghSDvZEI(M;q+z z&CPL>M`8OQXPB#wyK*|a7qV(j(|*Gy>RnV$R)IAH;x<v|mb&)$rk>N)kvr4(6d3iJ z?31X4zSRVJbc&>2tq-td^~Qo&ZP<h+;{Pya-boqpN|-q`OPc5$R7Gz?@)G~Rxer2^ zxP}v0_RZsTz3e9wf+?OSATX|OPFCD=;Nc(H3W1x&a(-i7f#u#jgXtpjI<e7Gvc)r| zTZ)hw<GLCEoBxQs>`<!NidY9A!7wwD*;KSu-WbO@;`H0c`Cg&b5ipCi)1tZ2((jRO z&l-#s<ohb;NMV&T*x<wXUJmzFe35g1!)QgU-z1ju??rNQ>CGS$)!dTp!)TcOX6(CH zs<O1nTGzt@F%+)ZA59#%Wzo<{i}C(l-g(<!>;qqRVis4I-DOSVqhd71V$InWzpu^y zDE5bvjj7dmw9e5<vu<i5rgYsb?J8UD`Gl40tHo6*CVSViEE6y9E25U;*-fBl)oems zO=P|lr5@Q58LwjI45WgCpq9-vRSe?@JrIh-!_QF+zI+?M_xxMdQ0-c(DS_b7$7eC? zvYndEZgBQ>FLL5ojhoLL`JltjqG>$3is;r>X#0mwNRm(=udwqOuDGBwHsmnSK`1!z z4Z8I@tc4{i8V<Ce;C`%8N_NtOFNXU3*bXry=K%fbWZmo3mKg_AlqyFeVmscZV~R0e zh~du3lUu$SP^Duyv-!&92R<18t#J*c1d*_ZrX2BplxmUrO976D+1U3iBQqfJ#iK;8 z>E0eELLiJhen^84*W?-*uSsf218O`->*C~hlfh1Two*Nq8BnM@H-D}u^PY5|Z~K!5 zOG9U99?#O0GphXbcTeNBX|cIQHs`2$A7*wopYwccyikyS+Dou;M8uU*-F&_o8oPg& zKw-L>oH{or1iYKO*^as3!(Rf82s+($o=#j><_5lpv%8kG_pq#|SnVrgW}5qrHa|tl zihmHgwpSL@nPwnBOZ!WnrBvLV|M*o`!)*_$8JHpjV#LITjF%Kn0l{k@RXm!(D^?18 z?{9qri=<Z_&{@h+EwPW~E|?I0iY$wsRws6YdWBQ1r>Ek#JFxhJgmOALW2N|r&hdwt zYZNvQ*p@!l?opvVAmp!ZnbE8L^X(6|kAW(;_W5ME2@Npgd7aKmS{?x31>)}h>fPT6 z#DN%r$F|BIOJmSz02ahDD(mS+UOz5;_B9ptB*Rry9YBLW%(vcu+%EiS#%_D>>biD# z&oXt_Nj}N}Fve+#qy2lE?%N#p=tR*bzh$S<XrT%@8qM~RIkN5|nXMP~h4b;)s4A=W zTEx%=ORss7u};B%aYlh9QzI}lCYJPUj^fAki1%{2XsSmTzyr7TqO6$|nVM7a!8FS4 zioz@fG?ttwMMh`lYZj|+>6=wnmR8nbWD8-=?#5?Wr)&wQce!iXLR>AED0-gnUy87E zrLhXc0-Muah0<N5nH@B>=!LEt@SON%^|k5g9!8EVI!=ZE9$3p|hBHh8rS%w~Q(K=+ zS`#y3647hYV|7%Bc=K04bYyr3;n0u}25h0^T*m18$q4HDy|R`bQ9RKp!cO+N@^%e9 z42U)y_OXLGY<Sguc5S<O_1#OY@ZKJn+3G>vmg|)&Ko%9XunSitTUeC_0`AS__GdI$ zC$kk+un4{$@>8d|Ggbbn89rsz4BZ^V41Q=WIaH4FN4nZ`npedh+BidCnN*IQH2fwE z<y^*oVhK$qvrStPc9ALl3(H9rPyruhIw0k<@|)V!YQS))gMIL)lUvme;#u)#PXylL zQ}FXkv495P#Fye+V@yIrRhdod#M|yatMgb61Os5*ZFnBI>c)u(M0N8kc7aSS{L?wZ zofsfpcYP))-1*%$Blh9Ig%FXQsI(G&BMrZzj=6KzZ+JH59`xV^VW54YkrY`Lm^a7( zg?z!PvrN1zUex2?=r=(I2e5;IM<xw1W_#%7RB0#gXx=9$Us_d;<&MR3y=^($2fsb) zWj6)Pj{W=DMM?8p1Uy~gZx+r3eUb|0Ip=O0nAdkEd<2Z6**50N%wnR#=m$*9-jZ(< z1!$<l5<ht%8+k1>*=e*`JLK1&{UZRK2bQ^Fl{_hP=xKdbuS?tSH2nwwV&Kd8jrW+? zS{-&H{MFQxmmu9Mx-HvGsP}BxgwIUx2Q|nQ_oa3_H@h6xEGwqAD;quOgDg0=&LbN& z(i`(wap}?i6{Q|rDFb`cadaC{@xUvPiVl6P8q;h2Ts_h_0MNep+g(Ej_^T%BjFZAp zC9oQS`*F2{*$TY6EnOp^_2$RI?MQ1pfNDr_D~=g7ah&OGHDKM(_1~YF%(do$Bj#YF z-ay;fk`Yb(l7c=)jn6kg=LDaeWMhjV>;Tn^oLTR`ie0(<wIGy`SAo6RLSXs`d|+QC zf$Mmb!r<!=Uj&2xP#b?~mR5W*zFe0LS$EPdi(EfnK>Z+!`%}t@!k1VsonULOc|y6U z;zuy>j+xcYFSQ#s=7yD0$q5%7T@e7ug7H6=il=}D2S#CpNEzo=_<bO)g<m?`s?&C@ z;Z2HzcbsD6N?g=Q;k<>pu~|z=@{Kn>IvtMg@6uQoGEN8niw>)cYTRho6f_1HM-cqW z*0*hY`Uq{CXMmpR^pnW}q@#IS-p#$PXWW9nGP)@)oUcI|K?~Q7y)nnMuQcNaK5jPg zl})8LDQVI>1r&tW*>p(frLm9vtbKg^dR|<3bI)Ijce$zu(3hn@bFSuR&kpz?9nxDu zb93|D^&Z3(CGZoFe`0l{)|Dqd<Jxh5`1iFNXv>?<64yROinTnvD6&!<h|?g!jaIUc z5(V+IVbf3EXD#=a%EuS$;(K3Sfd)jV*C4KV$@)xTi)8wMm0e^eiKqA5FVR%nSG)`C z>)aa;r4$UMy#SY9G6B#VIdf;qql+tf*^1eZh|H*qN!6o4B+ui!qJ1h={-H7tFTA{$ zG1J$tcKf~(9LK$46I7g2+h_(+rg||%KVPm8X8>2G_Hu>$_iGr33*sLh-njH<xfBL6 za%}6<;c5`pE+oRt+O~aP?#X1voqCuQ_|HI)4SkG<@ZLE?Yd6e>Y&fC~V!9#&I(<Q* zEn)}TM4Lq+zi<rckNpf_vvs1VEoRCJx+Ph$z%h1_=EUB0b-D)Gro1F;8`^yG%e(sn z|C-77?#OPfD9TzZmvLxduJe|7t9%Mq${s5%HnyZj(kdA)7k)f@`JS)T!{yh1Lg;5X z@@`Jk2|LXD+2IXXa0apNnSM)Mz<Ihl*<7P0OywP<#(tiVt#Ok2Pz%AcQ5Lk1%N!BJ zQ0fdPE%NV)Lhk{`NAz(Uu>Ewqu4XB-T+HTwEbfKjp}f~>1P(So?hZY14F381$%DRj zPJ;7N$Pxt_4a*FEI3B9;--t~1kA}Ej0oASVKi&1z59w$96Mjt;1?6fvYf7sime-GB z2G@DZ3+EX$yVAF3OagsAbeQ~Fxq0Av(i=UaI~}6H#41UOpzN?wU2(AdzxzyBZ>5p6 zv6f5+^CJaC^Y(Q#9eadgPp#<^2wO%tgL<ZO?YzFs$5u`k+b}|%ZJ5|PL~+Gj|8d%! zhR44A@7H3dw1iqn^KF%;Mh#)%9ot_z;JUwqb$vn@HozzIh)v=8Kvx)R7<*QLQV(pn zb;D})2yTtT9(3%DwVtFnnaq*77Z>V#V~aWPSa7goZuzRIVsccgP83qN<gx}&J`)rB z(lG3B+J3J8rmcC}yKF+*Ws9QJ^W)xR<ql&eZ)%Y-tr1OG^Cr5@&RmLrc=Jgw8y}m1 zM^o9hxI_)OW||3CP$kg$fouLcw%bI1@Rb7t{D}<}6&)2l`6t)JHQa-;4I{$rxgh?l z{y@(4bM$MmLM!)~l$Fu~?yNU!Ibd7qBLD&pRzfe*VD_1P{$9Q<Pb_A>YlpAw0`t9~ zc=hhX6AJzJAi+X9FF``B?#~b&K%t4IOmatF*T}M^>uwKLIv-LggomGJ%YMnTil&1* z11WWWZe#N&wY9;<&)p>X9pCf^UCktt7_bp9o1ivK+SVikgd`2Fg*LL5<iuTBV5JB4 zAkEetd54W_Ey8B{fwy|1W|fTGIt>i0wL3dRKcDM!Sxp=aQoE{kcAa-K5dTj)HRuUJ ze;>aBP_9pI=Bb5wDN23x2so8;`S_q)Pm}40hg{6T*@J2Aw6Y5iYWilFf;8CEZOBr_ zna8t_<1`3aH5s~&*(pZ?QArfym(AKT{Jd?$9_A#?y5^ti#{83lhi?$6gDflIQd;XM zj+pSO;+wgf9e4l7B2-!$XIS~y-tfA``K;)?^fmTYOpv<Hu%S+mqmZ=b!N;ZY<v}vG zcUlKjhsZci8`7Qgdx^HrWVPH|WIg?Q?{(^5jbWH9oWB5P)MWo=auQYIgyq1lMDvDG z-B$=JY1u!&o$&%i2vl?Svas6nzfoO&6A;+SC>HjcJ!L*OWls*<o&$72scm615=9Gg z)A(G*PXD9e(sO#6A?u%jT7ZPFO)QZdXvEVfM21faiiD+>q*nj%KT~wN_uOfe`k5F+ zT?8<U!3&2~Ok&DQTCsy8Rd){hyhI#|N<Bia>9=kx1<7-WvkA6nTaRbIZK}323>Iq& zkCtWH@Kcm4W+CRD5<r7?frb0t?Ac!J1;BuxCW$X0{#J8a9ttM_n};ni&e*kdnca{z ziMQWhifCoX-WL&z=U`*m{>$sKfYuHM-zZY0`r%gnCdqZ%>m8ei@_#IHY;8u?L5H1_ zb#1P@jaJR|1r>>gntpHKZTzw0RfowR-_LTV*~Mji>NXEQJLllOoy~Crt(AQOl=_zc zh!01TqFy11<1~)0X*VFydH~%bebdXC3vyq5`l_?{AjVe#Q8?Q$<9Pq-x%EhvRq2@@ z;%eM;wYn!vc;xcS>BBtJqiifxsAo7l{}nAi`6eUNRgsvdaDRm_w=BW<PaLv$YjXFO zK+8`(5?bQEf7MU@JY^c?qzO-}Ut0=6nAc7Nq6Ll0XgxLGx4^hzcthb5h{yRk(Pqr| zm#fL^m=|9+UPZ9xo_%Mtr#fZ+F;9Ir!N#l_@zwU&21rq7danP4FPVV7wEQOt>z{ry zCl$Qy&E5%ZI?QB+V6XgBt<v!EihFB_f?E}eJyj|=7}DGN0U`bOZVM4OlNx45!&fB; zI+wTAjTGtf{QK5S_+=IHLMFF4_4B*eoX_xMb{jmO<R4I%+&<h%;k1{C3o^7{{AGw1 zmd0BClP^SU<gXq@mhSIx{Y2qG%{=W(ypSI=F&f8qO9ojs870|1g|)+}KGOYG62eo3 zPOD>C!+-N7ehEyx$g-Nipa@91!WUgLvu!(&2~<nivaSFn?WDTcHtO%?zW9M}c^XyN zJf8MPuz>Y0dU7Q>SpJgC*!S5hcJ)<<V9$^?pe1<oL<d0c=x7QH(80xCu&d4YWtQIn zxJ<|6`05dLjY6i3Zo~qr^wp~EuQZ&jd0_4Ww|Pg0oJzV%IDOc7x8X0tA#r`+-ItOa zD_Qaw;D|YD-1r~MyPLCN9k>64417@2i9c*;n0>fAn01*a+W*S+_?JLtDn#eVAdYkG z$-s3P`#<H&eT+%C53C5qNdH(S>m6Fbn9~Ylgo0kug(I<MxTKgCr^OGQ?!H3r{7%Yu zn?gwQ9qa7aa1&S{s6CttmrO|tuA~8WN!n&Kcl?r{b-2x$kdgcMsSbQyJ(Yq`pUE#r zWW+{<N~LOr+Y#QZw8!<;=n!Ab=7Q$c-=?fAI|^N$lmo&2xhtjb_oQV_-6!OR!2Sg_ zxdG?3C58>u#o6#P?XLoWRYCxM{@rQaprF*W-)K1_KvDkwMu7TZxj<Il420pGV)Dq` zoJ)Rq&+u8fC)?X@>lWfTNAPd0n--s>|9=cz+YFFkSa<n<UHIbVuU!jQd{%uyY@HX_ zyJ*XP6Y-*$J!$o~$-~RoJ4Zkb)O7ew*~z{w)1G+byuDh#cYrBBI$F(XmFBcdTXSUp z_U!yL;&PncIW^9Rp$Lo0RhbFoUz&Sj$_tNXd!Us5sRX#jB*^{ZS{Wr9f%Rc;^iI`_ z`F8T_o3@B7EjK>FA*OV|lz-7jZ|_L^`|FewFpAnZ?0+k2(|0}GUmj0iD?Y<^>;AIH zMdP{lq$=KK2{R{<8EN=vt`zB2RZtF7ju|z4Q#)$)`pvsE-EH+B2c6edM^sVQ9tv%Z z9icanZuHW*4$l`aVqG1p7D}%RB?<@}2?1rW|HGIDf-OUC4|wuMZrn&%OImXdH^mdo zh>Y%X+tQ$_dwdN_Zxp)voXcLnxv(yj&~6_TluF27ifERoMCFokG$tlL%l$>G;Bg<D zpuYM)pdqw>{=17{OdsGiyqa(}7|+7K%xl@VaJ0OSfLu)1L`^%z6a*<dRhP{M==Up( zhv?L&f!HTQb%hHhvooyaZN0igI84_Cn7Xqkcx6;<LQW}iW!Tn+)iqy)^=<Y~=;9lN zp8KFHKE2(qD)#8<(X5e1a>g|d6YzdDx&Vi=<`AM2nW(kzUwu5k{~I%|urpMC>|mUy z;uOajb24XtDZ-F<e>F8~sZF~>wPy)%f8LR(0HV#jYSHv`*!y*IP%$dLFlE=T99g|u z0hAO(<1J90KgV%cq{}Y+{Z=@C^53!!7PoV)-zRdaECQ-oL|?uwDQ7v)rdua7e|-r> z4@vg1Tn@N;RBv6{P_w-s?s(#Wf=5mE5cRvrn#TU;j8IAaxXXSMUHm*6tBubMK6F^- z{cX6#9|`C<(jj!j2ZvC1XeeRyU+mP6QYMe8eTUnL-S1beJ`n8Sk&`Mt=Fzda4hn&S zSpGOXjEZj`pSo1#6%}&HCn!rvmalg6W3n0_bur>&=A@RyVGMWp=0=Ur;O6AXjQa{S zJ1HfEh+N*oQiA6}?gX@K&GmP@c{)C}rHk$^V-F%DA&2h~Ki$6CDz+3tDp?~_X5wz~ z_w*1gKaY`C>n+k%Zz86#zlkg9lTN~}8-=N(UZ-cfT$Ro9UI<A0%lv-(klYwXg|KtB zu4MCY=PcAOmuZ=jTlWwvm{_pry27O+Bb_4S1GC=47Jn{7Ov4Gk;XOr%o@lnh7P(uu zrf>a;n-6xtti0)YopBa=M>8qa$oq<g1%gj}Y#TQ6sH;THhO_;9nZ}c5RMDL^sPqof zHu1#YB*HL0ls~#gaw$Vz(U7y?g$uG@^ZZ}cKQ}nf_N@zl3K*6uRu~tnz2U5gP{*P+ zi(%Zyn=!i3#GIW_%*ov^rG;XfBembwu8BpgvWl>CAn`Oj$#4i~VQV@7oP(Y<)LIca z96|YXFBk*46CQ9LgcDw`eN|)lY7_qjD+j0gK3?YSu#UFh-WHTuHmERjes{W85QyBX z0ei32LOAJt=C&qavpo@be-f8u!1>ii92PeDX|L9QTL(}RGL4t06?+XzPuAuddPLk_ z#61{}4iSPgG4bYzdO0Uyx?oSASXSk9#IPv`u-NEht2&0CoQuBvM5e7hiUima))Y5q zf(%F&pgo!2{M_fKsNd<(NFa#C>-uyfp!+G>gn=jHBdzm;+!h3uXa4?=B}-aETD3Kt zlllLv8B+axs9k_1TFPWj@iB8{94kI*ai`~=4(Prw_<$CRHKjNX)p+ealz7ok?@1?S zrdS=s!aoHX&NF0a1)DM7b&sV>HBWc-l7M<^sjT2{ObzXYq}Qolg!&>?P+kuj6a>53 zgb(s1*IQ?B^0F2OmwrE7rWXqSa@inhNgB-f_Zx_37N0&KQzun4nr&?k{*GPpSMwj6 z<B%PfTSLilcb<CIDH_67dM@w)c^h^2*;wFFli~A?cp11go<=u;-ewS1ViH7L>o}Yf zar6_ssqi&PqF*6#6<DIcJ@hoW1Nc0H$9)BV8Ju582YMknqeID7EOy6J><A{;J1Xi; z>D8V8+$`4Dni%2!;x!PQ_YdT_Ygm5tPbk5pLEAK}UOGFyE^>PW=GT1H-(N&HQk0ud za0f=4_{jG$&*kI(%-z@5<<tQ5auh|_R2R#{6wpBmz<#*owELZV2(}hr*D3_$5W4AZ z3ClFI%d`vlJ0jRp_jKUcf0cG~F&30X_h)+OynCqCBzi`Jg$ZK#kK3wVlv1(AG!4{> z-|<{at@R$Q`>gO$oBa)|I4BVT?r+_Fww8XI;1J8cj=-<dQg`S|`Zw}cKj`(u2I7+N zrz&{wh=-M+zjN~-hvY~*S_WhbPYc(sXNrM%z+my+eB=uQMaPOdpGiHhFW8zMNT4%S zjPSNIm1=GT*SK9udmF|bM+FCo-#Xkq;=r{CH4mhk=iV%YmS6z4e5xP()3N_zYnlHE zBm?0+;IW*NrWOaNev`-%`3Cdfa|gAE5vH(N+Z<u0U(WMf6EI4opFUJwoHqEx-^ZRj zOS7F`5~SLi03vKTGVI6(J@P$Siz?2`#s()c105~A<;=~NU^|*#zz<fHLGB)C@B`aE z4DWd*FKIiuhyD!c$_*vzbM<AN*yhU>XzH8fK*%PRr?mIwP-<OZ8fe(7%6`cIh#LDb z+i$wvH!?9jA=JU}I{j;HN+2;Er%sn%YFzgXm4;UO%x`TT2KdZ|w{K&ki8LW6Z3(&Z zz@v1uCERqaBg#CzIebR{sH~=!7*cfi4CrN0kUAf;7~h(&XQ+y5&+K^*LI0ygV)yi| zPm!fQUcs)@kB}cfiSt#A;b&0TPhA#LvvVN;>@WVpMGjMq!~ge+QmW{nNtytZ@qEfk zUlDCN3}S~VFrRqwWKYsqjdqmNvp7VA-m)B3m?Ogd<uXcpK-#em6u-8^?cXnz>q=<8 zE*mzBdz*9TqF|*!V;=~Pyxi;w0s6?Q&iTf?5F2ScFKK(M(We?~W}<pQx~3Kr2_RZ~ zht`yq9%c4w&;yw;&9&n4ndB&^|FM{D-I0#;V#JCI*PgSM&gxvL(rF>m@C8W_<<_E6 z`<{td51YJdM{083a%mgT312K0-hD~OuVDvq*U8-b+Rm4yG?1~Q^8AD^W+KJ=Q~`X6 zI_kjok10boN+|nPrrtn?fq<*}0^nOJrC2SyZGGJmDkE>o%J@wm8U~;5y96)NVOs=H zzd6W3+?F-|-VLic=Ki-g2FRD3ZkoIQV}WuYL^EkoHkPPv5{|YNV*k{w*N$nP!9wBF z2DsHfa)glPz(eaEjBb6w4eu{%;1GlQR9EDRGp}DQ$~U&})+-8_58w~@N{9wZJ{q<p z=qD^&)4>>;DrnKYameGKzqi8jE%xWzw7Ce{$%H9a;Sm?9Drx=@(=o5dll<A+P$A#E z)$^I@b*{e$r%xlX>q92mI?itE;s9HnWwfPrS{ti&<UJ&YtHmzfO$d6O6j$AY)D~V% zgV89XH+`ln+H0|Xg`tGH1ShD9mSj`8&++!y!!PokmEwYIi+K9$!hgAUVqYCZ{q^|W zXsRX;=|4}$OlEYT>0SASbAHRN;{9xk@cugUHd}xENXJ6ZjcFqj35C^|Z-HqkN(4dD zNR8>9x8{u99b7AVnHX%)Cx-JteRv^Y{w?=ZquQgcWr0H=(6EHpUIq&gy0=tu%~%f7 zj%ry~+qG|(ZoW?IeEmAx9@>O)0IpB3NAYBU<8QGSRuKN&@2iO-H}QEqW90UH_$=Em zFrPMfx9rEf#Aq#@`}06#dHVqj5&+ar0Zxw~QdiE+md+_mw$VOxn{Js;NrP>tqF_!* zkSU2TGf~sivW)ZwU-<KJZG|sjGyX@F177Uezk)MGZ#N!p2KTH;qhd$@qySQzO%%w9 zhJX#4*pa5x_JNhL*ZzhL9X^$a?*a0<fq&qYrvdfZ?pdm#p;}!v13z-WjZ@pA6lvMM z65Lr}(c$oST*LTSrRd=A#MU6`p!@hoaH!X6p+U|y&Z?INf|`J>0eQgPr8#`);4s3x zFb<>>PG&2sWqqyJyL3)!GlG{5(8P8S54x?nP;CS}i3)bR(gy~N9Xm`g-W63ie5yvW zIsUJUq{IcGa$&#bIrY2Qt0wa&;xs;~!gk+UMkKInJ2wBoO*GO<q<51=7*0K`Dqb|j z+c4XbY_gaIWin$bp9e0j80b2>eq#GrJG(?YX_(mfN>MbAIq`y$$JV*Szjm<?c#025 zUwt5QD)@MvzUvrNQ~MpRv>ogpjKKn?;>GkwjnA{q3>C#>c+~-EjwzfQE|v?-C(@7( zp=W)ZVBm>#5YD9?{`+#^osJndX!W3uRvH`jRNHi5_Sf06ehk=?@jO`<g4y2a@GPI3 zO8%gYV)?X^NnHj#BGX9?Uo|$H8qBAt-k2gMi8|oF2fogWH(F%=>fC&K);S<j7)hZ3 zv;IOG(`^T!Zr#yFbLGy_+kmS}`a^VWKxOs0zPjOJ+2b7NN_5&uxuZ9W3B&Cvz<UIv zW1}+v&WQQBrpZ@xTvX~@#?xtG6{Z(2Ps@1W{Yrp;LR628T?!$%r`&)3(e@Hx4BvLx ztI@gPoM4`9(J-M!Wa>TT`8W1$I1)6t!$BoGj=pn<qJ*KghYwZkx0z3W;lHlD;gOfU zAd+Qxq|U^~2ftieyfJ{J#=>teWo6S<<ulz{8nlxAp1Ps*%mA;L!&uvi(KCD*dX)-$ zid)IZLv8O1FFq(e)(!;lukX8N3P;R_LO3$^?{v9T#tAUCI)$dRmr9YJAI>gQ93tJY zqTy$Q2>?-n@*Wr=W+%PPb)ujMs$mvc=8ZV;r~pqvg^w!p&bTZ^t9NzGE%ix7%VIX4 zT=whnKw^)|Pov`H_t}+W2v6)VGac<ysO!-_**s&)Y;WgyJocn$p8r3W;dxda_2uuP z+QA1%Fvn&j@(jV0@$}1=vTfz<2IJb2rUr(YY2&R!rONYvM;=gP)rHsL-pLl`UUop( z6WtX2XZ+QRER${(?QrI`nb&W7b)fMf%3lx6^bWCW%E+}O&d>f{oC>*TZQrI_;ycu7 z(Ri`^_VAtB69>!Z2!Gw48&zKQv$K3xCjH<cFHBj)5zc1zRJzkyo0_~-8O`vH#8B07 z&Q{YohE}Yb`M)*wQU}+4@`^;4fA1BgaiO>ro4_A?KXxW4Xj38+lnI%ELPO_Qt(_j8 zVf?slkYap66Yl69MHUw*&B^iZo@@XX+Hhv_ql5;aE;&rY8GXM$+9z6{b5>DAqpw%D zjpONF;7}MYuL|uYEv;7LMXLBU3C}NW2Z?$>H1QVg=u+bAX#Y|bae?&~3SaNx8Onl> zdUdu%(1dq3Ooyk#hU-l;1!GIUEMuzi*!!dOUUi(>oE1yTZuU6k>#pPQC2)@uoLXe= z00AER%>DIlt>hB%pSIH}N|BPTuF&9s=V_ek1#LeRQY%?~mw8XC?0#>PGO~JEhn#_u zarIlP-%_fdG##MlD#$3T61C;qc&IQx-4j>-Ujbxo+>aujy_UO*nUMPwVXT;<sqcx% zbIj8+oeyWHjdP|-1>&9v|G+b1muG8aog-y#XQO=_q8;}Bq3e&-QtQA5e<&u`ZgLiu zFmpfNVjJ`l`Iayx>uzHseEY_Jj$jR+$mu;4^sAUd78+(sSS4ad))AiDDqb2oc>U;* z%?{7r8L^UW)$QQQh%pHS`f-YucKu~V#jhOO7aba;#dC#zJ5BXhA*+6tBTQhSARvQn zed&&Oa5Q3wh=PYdI!HDc-Tvwy%jw0XH}-e9upj1GZ74bbt%`{Hp}~IA`AZ`IhFcD& z{-DLL6*E3$dHGz~jB!{vjz$$`P09+cx&zTDEt0KST?>Gt&%ZgdQ_(gcI(^xAllUqO zPL3YZ8+g)$;`tU?`s%q&zeJr!=+*mmI|}=Vc(M7~x=mm~sa<zp;EZE-DH^g(1L~F# z>dc~0i6DV4uBMQi=R@E<)-uwygrsbB{81*oUzv{k8Wm&9Ar|;%_>_pNv_jxIehwDT z#O`o>0?=2j!LgOJM+>SslQi3I!qut!<XRtRAshg*>^y8xT^3KeoOEkRam=L31U)>Z z`Sn{@b6fdcqH^A00~qF9nlGeyBS+{61&7c1kk+8VJPDJH|IDD5^uv)pH^J}S67E<V zvKPiyEJ^3)8nKJns(N@lKL6vPpx%|`T=)L6PzdZ?N&FKaeay#4MpJhZq|MZNwFl}U zTxp&8s_BB+P5<EL^!tx;;!}*`)Awx`R$fm#{YTCGvxtMI^>l+BTFvq{Mz)!?N5Y5z zdj2>hbg))ft1kb*^CO*a(k-!Dh!xcmk@{;I^j<|H<L(b(tK;;gmAg-#@oFXCcy-L$ zX?^xvXBf^TS`8vL(Y84f_U?Zy^W2BYHvgKitJta&zzLuy>FfJe=rQXsSHeSceet(P zi39l3=w*_8R=YYfe`FO$PiMOpX=LJEjMnkK)Zk>VI{o~`>(gh?J>N~6a%vOOksg0* z+kT+#&R^S#1dIM@BE`EU2FIULic?4n+Y&stSbQzB2Vu08QZ~S^g4_MOs}SIYDyyKQ zY=O?Qgxz9E#pbT#dTAm;TUMbP#0YJO5;A#?mf^{Bh{BSXtoD)l1MD@qb4_U%czd^t zkJd{&avzu|Pe-YFbO5dBu6nJJom<AcdwdW2rddU|QsPBiWTV-aGm~VI9%S6M7H5M= zjqt4)--%Kau)*k0MGi$TS%-_F8Dc))BsxLT3bSgi;Tq~laiwgdtN#djC}17z4~;!f zxVy?7${Dsj1N-UUveZN}_|%r@`=Nfx_R-sfg`G?6egX+2tf&L-)gQ7X6VTw{7sez_ z287IaZNP=}$~8xj%d%wF9@?ob2FJ5syXxY0=8S|(1i6p6YC>avc~&#Pa{_h<u?;8q zw~h*XM5z4;eDG4O+T*$TMXo)T`(m3?^0B_B|FWhCmHg>KM7P46v}uRB(foydCY1;= zv`;h)EQ-nh(IDbAUdGMR0gR((m)Qia5z`+%pXh3lebrjA4v3L98pQRBu+}W^ZQ22l zQ^#-M)-2z7F~hM+n-!kJsi-cnbD>9N=&aY>16$jZA;)nXCTtr?*T|CfgY*o<A>_Ul zU*#?7L7e^~57o^j;`|hnnYF<MKZ<8iq%bTpbM&vH^5~b*H}_W-UZ<^B^~Am{BwAoJ zq{fm)NfmfHXuWF80kwMmcX(*8K;SkIHYz$+yP2k|kCcLhE5GD_{vy`VZ?06S*p+rN zX>ptlyIgV-d1_K76eHe}``DA^ZOUl^-3-_M!r4%|dmaW~^3uCJZh`<@EHP=qjxAGM zc?)MpM6*-&(@ix?eLA~`_U0%Z*d6WkiUDG<=|G<xa63#!mftcjnJt&^g2~wnuv0U= zcbkvHcS`8`l~QM1{3(o=+gIlrT0)+am1iQCQx*-gH24Rld7XXh3UdOvCnuyN5PlgB z(j?McBIlBT&x?RUxfk&zdT_9hxx~O)HWdsp8*oxvY?4{PUL9Gv=Bqq%>8ppx+TBv9 zr)e`JiyB?g8>v2<V#U>%)!ZSQy^@16Z#2W3uD^}1_4ovF2dq4G%u3qHqW-&7^be@M zokDBE1jWBG?rl){wcdKv7^{oD%)tLxv?t|*PJ3Wwmm-wgKRbhUFyLtL@cL%4pzR#O zL<^I(Mz8{$V=sHUAR1z7QJRg=Z1bJ98g}=Yptf^s#?a(_h_F|}+TZMbX-ELeJp=mk z4YeU@nU|B3%r<(*{y~u>A{-cLnGr>a;J6N6o^<5wlvba=Fn}@IgmYeh4saZ^Lf`A( z_S0)JbmLbNx--AA8R)Dl8#9Y0@<nYd<zaW${G_gL_+aNk-~%J|wB}Fx*k@T1OZ;*N z&+AqKvT~-PU-$=l1+ctmUYb+LQt_bb1<V8mSMcKt8=9)VG_}`qSM6Dsw*vsL?wa&@ z8XfMVvJyIJITT$^Jle1-Qc);StrwZ<fBMhr^4}~Ca>dy`8y6O-`)uQ7=Hq30UZ|zb zlYbO&X^{Z;i_HzIx5o3S3`+n}KYoyYIpVW1$BkFCVvon)-ad~ndB*cByCuQyn_f(# zz$fcS-X|JjS<t~NF8|gd93T5%3<<nGm-pexv}O%u8lYW2^*C$Qxg_Z?iOZMyI$KJ| zf^@Oz|4`YLmue)y+L{R|2XkC3=Jgv7hBecCXk3@yA0AkJZ_2T%!&Ld~&C+eTpZux4 z19>4SSvQFT=l6~p<~sOYuq-L32odsi+iU7n&A_1EwMw`OxdLm;eC6IRUALI)>nYuJ zIN~~)J=Z)}@MD&Qr;{1s(!BJO@C1EDeG!Rh`Cd`9sK7F9)Pv@96Ma_3rh4QF(e>_S zAuWS5=E^O4_b%1HydailrrssEOB;V!_yz}7-2(8I0$YU*whUlks_7Hzuf!q{->vwQ zeqR)@HQ7trFP`6b9`T9AuE?~aWrMS#(jWEqxTfiJG?xpZ!{%b%;iY{{;hFAhnRdcn zQW0XVtDu$1YLli`pseQYS0&ZK6-I>C?$KA+gOA}v+PI+>8luHmIk+uVZSarf3;<Rv zG?d=h6i#3AoL!Lidsz(=2q6wjK|#p>M&at&eYy@?3#IaAC>RJ=JeL21+@5;NhmPL} zz~|q<dK+ZaKTRcUt#BQ$zorUF|E|&8s5bW-_4^--(&#&v<!CwaeUH6f3whH=LL6%_ zxLJ3*kwpVOcEmZEd7(%3dkLz!4O?#Dn7|?%9zvHkMopY#j6t!tFHKnT@UryOlX^wd z`;&^U6gK73v9^rJQrkMOFH7Newn6o?X_{4R^?>hkabc+{xP5z_K>NFuNCkStOxH(^ zc}l1!>@}$=!Nq_?Lz}4M<g_u-0aYCRP5LlJGX`cYN~2`4%<C-YfXVU!8PJ4|T&9V* zZS`WgR%UHIf-hVI-kO~`gW#^t_V>3`E!;Z+vSD&0XZd+Scr=bqskuP`Y%lDp@5)qv zumI7YvAjohfsEBiUQLz=Q7q#Bt%Vx@N6~eMCHb{s%gQX%mZ_y#xyn6q51P)@+<TOo z8R6cGmRaVWIVoojBqu5=WhQP^R8rgvaVwyL!0&s%|KIE4<#0IXdG6;PaLX+!u3uMS z;koMh01R3jes_Nq1n=HLzV2D_6xe2kkD5LM_)7iY;1qHHX&$yjC|0QA&fo~(!9ix| z=d=XRvN#<qj^AsYBc>b@LI1a2tny1RkOJ2PrWw^C*ZPlcbZn}1n>Vc!1VDxuPR8Rk z4fHweJ^fV6K{n9{>fZ?OJBabgysVAcS)X6!5HGR%s;SE_26f850YC#Yuv{<Irx4vo ze>Urap)*V>#2>sDlxN=sunL`wnViWLnIHo29D=+j#MQgecPl=r<rh@)83bgMckpGw zfMPWI7`x@NLo*5G&2Z1ZgV;iMn?62dNz7|qNg+f}T6_QTKC)xOK=Z=M7~0?H=Xpg5 z0Gc@Tc<?L9nGXPtd<M6=nE_-~herX!_XV_14ZA#FlYK<M5l8Wlq3hLMf!`<Iihx}9 zz^NAAHu%0iJif`R4Sjs$V*b~&?^-XtIi=@=VSr0{FF8j&O}EGZ6v)xiadX*xYTMm_ zkluv>>nN<saR`I{3GsMY55RsqfA5I9e|V?J1B7-%>6M(;ezEIIa>lBR;gx6=FZ+do zE|UxBWZ@yo`aooGh`P}Q6MND%sC_{u-yy_>3V`bzEKZ{Db`I%lVo0LS2d1V?lCfcl zRohk|1W29%9(?~oCFU3AUKG#u3@X2^e-~(e0)lhF?`V;zsIfY;+7fw<MG2fb!bHOm z^c@R&r*|Kc92Y>S*4$s*MZCyuL6;=n@n$`;P!T&({yN}rE(B<2L*M|p_Oa2IJRqV# zfet8;GxBmGbWl*2FqyC93nG`0Z}ikyFg&tBk4mPpUo*eIyybZ8okn;7))aU5)su|z zEa;A@0?ObqVb0sQ%7CH+BLdExdfPq_m7}439KCs9;1*kdU((ld2EaU=cVrDq_^2Xi z$8G-22a%3>SdsFQ`t$spy>B^=Xslx3Ee=}%7cJpSVQn2(Fop5zC#;jzibhyy>AA@5 zc_y}vUU2SwFP7B*kK-&Wsxld|hb&($5RNxKmYkNB7rq!$a@M6~;YE3jXdXs9xOS6% zJ&fr$(oEdd2F;~9H`K6t<D8lmgtHazFQ!6a=mq0v%Hzz$uYK7rEY6{qE%8cyS5KY9 zXhwhFh7n7iM2j7;URT5oM|<U)e1}TC^-h8EaBu)y7G_AQ6ff%O-G;E7KUi2NRilGH z9KX+zZ2PQ>lP%yqL5l@4Bp$w=of?G2X(v|n?w+Z6>Q}!tN5#<8s#_F|mC54cBTQg4 zvn^Tr9a6jdFT?gSavBstpjmYpl<phRnU5p#Vn0$>sRPk-5AGX@-!?fd7VAhX=U;5N zeRqwtOe<2u<`|0skZ}LLuqeDdx@rmbnuk2z;%NUq92{M;z4o*|^K~Ep9Cz%uee7XQ zhf>C51N`u9nNF$9!bfqI{6oR(=vZEhitoH3m5|FB`*I|ZXL|d_`TI-s9VmA3&`E+* zljK=sV?$$f0$Yqqi)Ke`rU+aWOg`NsbSlD34RDlMpz<Ft>e|wQG+B&BD<{ddL4UP> z*zZ5!W;s9Tn%W-({h?dDOV1q>%{|JZ`j8TVupVaQ7cv~hI}5qI$DS-;)vV2}ueGDi z%BcE&Ijf~ad<2Du1XF1tXB+CEVZm#2%xsI}iXunfec3SVLIB{=z`I1d9BA72m=zI= z=&vlUFR`1hEmPB(X#;HemVnrgH5knsvN7^ya@$9&`FeTjq{{^<j~6amiz^t!y8T$( z4}d@8++jJ>LRcQ{YrqvJK95&Sm7NM)EQ5M;!2OS|p}@izBDz~W{cbp|GK#Rx49ho3 zDiy2SwCc#KA<gCi<a7Kavgl!|*V^=vtx2I*rFIlI{6&K9$OIdkS~X5iZoRkbI^r(( z7k13b6)mp79(GXaz3SHwV-^KuoT^wr+rmg7LCDY)kzzjwKttjdb04EdDu{kB9HV`c zAGL}W@0~^i`AxBtB)UnZTI)a2Y{g^zHw2T+-s2cMQsH+=)?YFJWiWGk_`^XIbUyJ- z$N1BWs=W7n%Wy(9iL<>8<-8_W?2EU3lGEXyge_LXQLl(4&*_&7g!=frfKAenCu5~q zy9xr;3>P}<6b*fgVix{%D6Zx<{CM^~jLZtH2r$$d9B-iPoxNncc79FfgW%g#`Oq7e zX4@4G&CArr8#3wQT|whsN2wqDa1>?2$-e6@I<Z>$ON{FFl|J9j${QVT3sj-hip@h( zjjB(j++cJ3@|zQ`OeJ9L;KF}=*2}1ed?&*mLmgb`NAdGqz87w}6WIdjtY%iw2iKx# zIH25)1cGh~#{nU3!;-kWYp38_CREUxw`g#wHH(B;;EC8rrgS>$sZF21_Mq{UyrN<_ z3tAFpVIr3yJ21&Kh9VTl>cyUEl3@#UC~Oz*RXpE2X<y1zJ#pt{hQ0+^RS3YqO785z z3$_Te-&%mU3%MU%$+Xl{{U0)%Lwn{HX;fAN(b^~*1rG6KMt?kD)Uz5{ZCqfzT8B?_ zC{U}f{t5R0p#3PL@n(pbkPHWUu_H`np;;qDcGWvgAo}NcSH&QwI`IUNVFKa~AFmk7 zlD@JHfb-<D$gy_(=;~$=Pu-MmmMH(Jp<G>~i{VSqSnqIrkYu%zBf-Ig%<%T?KH44u zEQU1$o8FEZR-D@5iGJg&9XbdCh;DbJBs^cFAu|v(=-0<T8sU|-NA>E{&MScl#c!|P z)3~+6iG7lIA9Dhq9bbOCOcMMEj~d%zWX`zwwP^-GhFP)d(y4Xd1D3Bi?H$)u!n5aP z3VM>9wN{q4C_@`Y#urtp*p5W&*vT0kX&ZWF0_uQ@VeLCZiq>#2&H6AvB1=yGGYat6 zT11A&`<nK>Pi*zv8L;#UFm;0U&W<z{iD#tF>e1pe2Qen?z0<vC73<1oNQpds@c~_@ zwe})xWDM`V97k&*C$|Cf#isfx<oKjeeo6YhlJy#av-Q_caS-wE3BvZIr(a%`%m!7C z0VRyga*Z{5AlhTod~f9TLH!pL*JaQA&Nm#d10{9=JkRRc=~vWM^jUx}q&xbYQI*En zW<qTaE%qmOJsBdxY^)n=6-$l-MVL}T1`)g#a(s5_WEQ`!^n^$Z|C9+w@AKk{=jFPj zH8iDieHO9&og(09|ATV)ycjTm8v&4S)89N3r0YBa=e*s-mO3=MM=p!au|KKZ+gymG zWFSiJusx~X98P&>-=<dI3@P23sif~|OFx2!NJKXtwa}s2R8_#b8QsVk<?m^W5cxQ6 zD`ag@ohp@Exo?hgGtN#`4Z83yv*w+DF|zsXcnL~wpg{KK?XIIqEZNyJKUB8kQqaz9 z|0H=Gb{-)i-y>D~XUWOy9bX9B<uf&p8-0|Bw;sgQf=RbE2cSU?<J*B@{IRbT$>!q( z7kUjnMT^7Y@cmBah|!BZ3ITL+Jw%CcvHIf3pC=>F8{HqBy6p`96#1L1Tg9&XHyA&R zOLa`f>;IiC&7p<paMxRAc)93K1@1)<SkwP#n)_XLa?!UURdAW=F$ty3MJ_IVlAP|x z$CQQiW%rZs+W2V&+kQ6lcL@B1a(fo!S^b61%2Dl`YgTC}Ay(&#v&j8A7g~em!8U0Q zRn{P{-H+&izGOu4tI3qQl!X*dp0l=pgHzx1e-e4B+vUChm)LUJnq<IIwx6Xoq^|EB z)$8;hN`bvf8EQ@Ae~Q5s;Bd8uCLghZv6&R!rPR7(M_r#xZ)bngEMsE(($C!fke1~A z0*|FX`1_Zvr}wgwPL?~=gc*g#bu24?IcGh-*q8QTN8*cTL!vfLVzO|jJ-^tt*)_GW zK6Op$)9B5c*?af&PS>0pkb(3f5LsE&(Re}2%Ps0gkh^<FSx~Z$Df1gc)OA;-1W*lP zLOkXOhmcHRnIYlJhrM|HM1_^}BkX1Cxb9r`*NMEZ%h?cEH?Nt(jO~)y*_wTtShT(2 zHRmFm5q#qY&6!{W<&F&AdG+|#A7REVYmLAn|9YdqmhtlH+cf)ogrZ$83*x{H_#hK= zHZk@@`A98N1~voCHI!EO)(S@8FWW4Mx64+iXQu-Wl;*t=`}tRX`N(cwR&;w;<o`qa zw7RG-=N!K7U1gzZ1v&!o>$J#hQ@vW7P*rpXYQ*BC6l927UMM(Tg?fK{Vscj2_KmzB zj{Hk`<9DUEua%LJln?aR_J*f|F~75jySl*OG)m9n7spUQ3Z*hg5Q6x=yx=Av-hvGI zj?;@i3pu7DFA;Kv<LIFnXE(bVu`$Y<|KkiCp@}AwwX)~!$9yJeTPhKsCT~>$MiwHa z$FzdfIJ9<5G;ChKDuV<8vzvW?bJQvvQSstVoJ_643FK}<=Sg$!<4Zh_$soA>b~Gw; zYoj`{a(Dd~eY^||sSXW47E=CiaO9eWs9#v}U7wXlqW&VX6MFGWk-Hxt-#-ifo6<z^ z_EZ(YQPu6S$n=Hsr+MF<P3{tbB!uN~2a{<=%8pLuA~eqb6}#~c@grq_EU?rq$ZO%8 z=h2y`Rv91UA2r&{fHO~EM8cldmUotk@`x*>*1K1YCq=^wFylwkl5ypdwHX44;6Q3( z+g5#4nne8}deP_H+7(sS&Eb`ut@4%cDkC!vE_RN(r(f(<zb<uEW&hg$`C9p6pT%E? z$d>IxerZvO&=HtMU9H#5bPnYRJDl`!_Bv%C!k|7(cEO-uzAE{1PjbxzjF(&9si&5E z0dIUy4`8k=G^D!d%#JncCAmoW=cSg;B+OuY_R-Ua!jFs=b1U<&29#!Gf8d^X&wfrW zKCS=x`onr}EpMkKXkgx%-bUG=+XEH=z>1Gjq2)C>CSLf93;M3i2@30w`O!u1bty~v zd#Kvkes^^9eJIQTIb2;WrtsGj{6h!6{6PQTwyzA_CV;2)%k^W#kXQ4+q%C3Fi`}^+ zduXS-vwPZ8IQGo>>7Af_+YY{R9h;K_U_0ID7OCrh_WAZiWKSek)`J4ly6!J=k>dee zg8rzj6L9=W*_oLL=&77&%Vjm-qT4zf$<NYW3YK^AA?Hj@+R^r}j9)wEc?#JZZ{$;0 zS=7Lw#yT$9-TK8Fi%ghVL0bj0uo1QXZ`rGKe19!7eoRj+JPldXrFora5yKl_BBgCx z#7~wBL`ZM&<#`MFa(2)YH5PF>OK`Kv86YblXrvSohz2NIrM^1iC{7>o6@IC`yiGN> zygZ7|bik(b6_w~Uym81nGh`!5*2?(EXdh??=IcQpObK<Jd!gw4er6TJM`+FXWMbJo z_G60;wu_)&Ri7;b+4~2{@|_+KdDQ8y@}PQy;;R1aV+lmPd98`2&HEqQ08Bey!bRcl zIHbYk?#uhmz?~Z&wLyiQIn-d^ap`m|cdx@Slzdfn%WtL%`P&(`et6q{N9I7WT=aa? zx~_PuhoPAPD-K(OG0Bp#MKSI~13?EaOX1sZ7;1cT8b(*&gM+H<d&Ro1zgD`hX@cqV zI8#GQR*H4?C4`BiH5crm8#wfVXe%{5I!aTxbSL_j6z>DA@zz(mlca44y4OU3_D)x) zmxj-~hPz(|y<}UBzE4$VU$Gr%%}Hpei~Kib{jw@s&rZHXz^L4%*UxA+zkS3U@Un<* z;|P_h$3<fZF6_YTXWH;tuR%@@wo5<%_(C-Mb-%nwm9%bOSk?7uwxrwh9xwM@B@e$A z(~9ufVr51RhpQgWg)!<9jM@U`m4s*s67(a*!|2Pku$yPaVGy@s=dBk44NY<S8;NRC z(xRukdwO-bc|T){VvC#0NnRyqEXW_Wa7Ha;oog4YCX3o|{&_ZDGK>aB{ho%5rfGcx zt_<haY}r!3%heszTWN4|Gd0(>Z!hh9bIkMS1|}7=@@KRKwKaVI^kyuSaXF?!d;}i% zIN*F-nild6Mk@upOCD&<S}u%)M4(uwU#5-`Gv*tiDz=F436L7W2Wyl3L8pt&?b5&N zJg;y&s(|AzSeuP?oI9$UAk4%Rmmo^A3YNpPgM(-Ff}oF>JVU0jc!Tmo2i<1J6j|8o zt+S_YFU$XuUz&?|T@>QEg^rr<h1vGXTlrM&071@3Wb1S*4s>OZq+ypRn+EixX?3J( z7}TOMT`O|&&3%sY^`XSp#JPxIWy-}2_)3`6tN|e!n2T`;{3}fUmIzqIfJ*fmjZHN+ zx-Hw5whO%oy+;Be7U_YupUsJ-CZO&rqSfEkdWs7^8zJe1lF=+2HI}>X87aur1!eM( z9K<KvKZDoYbRJb@6ab_I!0jQS{IRcTH|kxZu0pD!dKXlX2MC`V+{Ymh$*W96);ja0 zDOk-Gn74|&oq{Uh2s`w#4ljTe<HHR5@I6d5$kXSy?NH+VS)3XbOJhofwpq3X%BOqd z;b>JR^tWgRl1(Yz{Wz2xmNi}v`$N{1qT}g5|13ALt4oM{U*yMn&*I`LW$xayZbF*Y z6@&`9QW+X%);S-1N(;>)h@f?R8Fgx)@v%s$<}m_4W__JfbrFS3Bg^iOmN9d$4Pq0D z3!>CXaoB&4d)kd=`xwl-clT2bdkA#0<kZAQO7i<RAPga~-ru1RUGmn5KGfIp)d7>| zk+%MC*MNk0Ua#mqv*K>ET5?}Nkb=>Ik>fg0xdvSTH9wY0&$Vcv0!^w(BbmYEQWpuh zA+35GaH)6>g{?aptKe`ZD{I!)>(D(KMf9WHE&oD=`aq1JA7+^q;9!wa-?&dGV;mPH zm{Xu}tOnJasHer(%LLt0Fi?_nyjWm6G*>-~%5<D)kbaPIV5&vkW=g%()C^(DdTO&C zf3^@wODm8p-e{az;zx2l+&R5zccmyOg2kt}^8A_rV5CIdr9FRVD8tWX*QN#{GKkb4 zz4(y>KB~V|?86IB74>w=7-X7xUNw3y0qP{}+GX2UpQtABe;mZ+p<VSG&o$|Vd&d@~ z5?T3Bc))@OSoUah$;(7*U=zTUj7o2WWx;aaGth|3KTXJ94H1ZS03Ch*vr;b;1StEm z36dLDzeyNp=%5tA+!49qXWO92BAu2<BL1}n5E43Bh&=_VPDp{30<1P>P`&6>extYp zpqJizD_A@Cjwf1gkJZpDjHj+2=1C+dd*bT9)b)AC9J0e&LYZLLC7X%iyw;ot5#g}U zNlK2af8knPim1&JQPmTSbyhgbNs27%sb!IiJJ?4qA1alCwl70}0V>sXGRR*33*?fg z$V-0Kwh+jW-mJVa(lV@9KD7A%K@{}2<Y$|#%_+~FDsNQbajD`N8>x2zvk0BoxF%y= zQzO!FQh!8~M55B*?ex5Sdf<KLt%TKE$1MY^q$01m_&OAa;o}an8oN(yc!T7~|L0Yv z4WPg9DAPi;xisp95m<nAFKGPj`0JE+*O22)^85R7eaNMO5*Bz*6D(7<ef>{TALED# zCcTukx_l%@)}o^r6SZ1}1RI^1Jf2;|0~sf&Km)WXSsvB_4Ao1ztAiIVy{8BOE{v0H z8s-L&S{DTMATQM(V8mQ>byvC&PoYEQ?D5%m>0bDqTSwV=G5(*z&aJ>-8;UJ?zU-rd zhR1#IsZ{!HE*}nLl2`0T8TvWJCm7fzSA<_z+X8hnyqv%xbxM=OWB%QRkG%!GdzjD* zj#fg&GjzH2(X3|TWbSL8x{McEJcv0E)_%TRw1N8Kvz;6uiU0y0=ahBHg09InHN;&E zZV#aYX;!Mvskfe7hc-z!8j`Lnns5NTE&wFe8b8!K8bz_L@jtgPJRl(pnWjocU~`0& zZf=Kb4TkF!RD&E<j2M}Dhtilm>q_u>!7trg!L0xU7dzd>_dWJ$PBS;QpH9%W*i@lq z^2$!RvT-Xyd#Wm3cB7=*^n}bAMk#9-yJd=+ueo_#>(S!Y{EzLX?cHqL<)T7>1vQ37 zG|dh{q~}{x=ha_F#%V77$L4q-@Z+7q%;euy%WW|*1@~~w?c<&A+`G3>;(U^v>_P#~ z>CdiIkGGdfT6|d^A=s4!g#=)!OcR_@{*|qj+nm3QH<1!YMF_;2PQ&toj_SHkYKzAB zG}Y5?zUSh?G2aq9QD^nulz8H5RM>zu?{sB5prL9zDVqcsuY{O`^(iRQ&9|b!@Sp-6 zN?rxRxe%82OBtE?aF%e^tbe#B;KsKi_Xo=T`?6{{s^ezCif%e4-Y*T~VoI`qHa`&N zVD<0QUp=d+!0mrj^-?qTQ^!tCaZ%XIaJ1+s4ab}>_I9!}FyPz{0|&qo=~59No`ik5 zv(~yuPy>CcmavwzW<=7Htbv<iPQ2}|lq>F6bLi9dnfu*X6JYHMUMVQX)|oq0QYp<P z%G-APfF4pLcDU7f4`OHaO>^HhlS7@oKpm73Hd<qDOaK#n0MAg+TU6PVf`XiX6k5YY z2z>n5iq>0B49FR6Pg%C#NoYVZq_+>5Go^x=Y3(o~AVq6_SxGaJBKkURE-eDpBz?d} z3DDcUe39^7$w9d8U7cqhmoOP-VL#IPZAwSRx^17abw|7<aCG(Vk?9?F$4K%e*w<j7 z<|2I%%F@}V;29q>8fY&6Kd5LaYs*@tR*qN9n}wRxf3Y*jw$H0lNgic=X7KL25mA{H zs#_8_cy?LnSh)XC+>$pPy-v|+(c4x&St{}1)cpHo(|dZ(ez1;4vlVc+xlg9`M#tLp zb64U=Q8)I)B3#)>L-}<FO>iL%+&r-2R6En}&jy^yN$6KU*3zOZp!hi<G~$-&v^QkQ zTR?)4Bbw1L;k17Ofuz#E*3JA8o724)*?Rlepn>{^5-x`<=6tcdyJ*0N%z~GX@vFgQ z>22-H%ZIt!$6fw?bx_#uWwf5xfJ$x{P2%d?K<79!<DB(titX%IcTX?&F{V-#4YYdz z1mF1dgSdKUL^MWeY?j5pwsHaMje4^j#vybX;K&zbv>CesgPX&X_ni&28(1iTJ7xEJ zEzeij`hE*$MBt@wcQ~}8p!PmYk?&sKxpJwjmdx#<ccKaU<|-BOZ?VEzK6sr`oA~Fc zM!GqqpFI?QnZl5pmI@MD$MAW;t<q6;?sWNPp^ZzpxN-61EbENs-ORhrDo0!aqYJ2d z7L1{ejaZ+m5nRJ0wQbTuNTX2d4+@}kSep~y>=9p)$P1xxFrYV$dmLPFeRQe^?r;pa zti+$?mS5DpPrm(}k1*0C^eS%<YlM1<%AE%25-usv*L)~YB~kh7ELd+|DJ`sEQ?8H2 zmS}Bv&|Q=%4NajkOzr2&)yQEE^cR4KD;40U*LLe|(X0qqgh+M7A}z|#P8FUxIQt3e z;%Bxg8ahNsOZbmXGvpVRUk!6tZ5E7n?$DF?(I*;mPN*01KzCf5lgN*a+;!x2UzAdg zf^q=iLOwq0QSHDfw=I4(s60W|@uC&`_r>7T90F@>B<pg$49m9sGzu%3^&i_q*&UjV zfri@gdzZycmetinglf_f8)9tw#FWK68{1r{wBs5BS0-0BQ}WN=%G>hmW}6ev73#(u zlAS+ZQOs*VW=%6+iUC<f1{XU12n1Q1y-mEgNT?3OUT;{Rs0aokTWH1Z2V_&K;xjuJ z<4lL<<Gq9WmcM_UI3Ip+f<hW;C5D;hmV0{{lt6g1)+0n-`M<)_0b9f68xMat)mY0c zD_EOHuw(qNLK^!Bo|Lhwv5m|E*cf1oF}okR3GHA4$aRL*=J#|-wzzNQq5+9tPf)SW z&BBJ1XS}CxOOeQ9(BF#wKG1a*|IqMqj>q(^w;~shx$3NTKLxSpv3MJVoLjUJ06qIW zwE+jO7K`|p)IZxC|3UC#D7$u|o~bk7P>{gitdXGZOlpgeMdQEwwKvvX3-R-vcSEKv zbD{1Xp?rPSZn(~c)A3^Asa_E(@L>WS31o2bDb=l3GriGsQywc{53Cc!ma49*f}}&) z#D|vB-s80POob}3ox?$1y%q(%bj>ivRuHZ>)gGX#LG>Bm0FhnhVLVCrGytk6DNb&i z*X3;SrF=-O=erImbgfMlxoLEA@I+qxi+1lX@w+=8g5oXG)+^8}X{_ofT_=MF39nMy zCgZ-4v-FmU$Z0q7**V86;laqtYj1WOY(pQM(|uqh)DlnfD4%(-VVBO^`c*pAObX)u z`}d3ew1aQB>4rTMAYnm6@~^+4%<H1YgJ3k3Dd)L6fD`7?lg$U^%XBy^qd3oK@zF<K zWe(r$Sa{Hd-`MT;t*Kwme&aMoX^zr%gdGH-%S_jIw74vAJ@tu4^DnZ_9+u5dg{0hN zS=Z-eH2Fx2UQk|Y{1JOW^Rve@k7l9vpgt*xDC||*D|nXO1YJDz-?aQ#<hRLn1T2NF zIsfwH_TQUPN@4zpKW7OJfuHT*BB?$X4<joDcn!m9JDP9*B?xf5ITIzr6JCmbp<+$Z zxq?8M^p5+F(`Pnkp@$M(uzE@<dC}&r>$RK(VkchS_)?FQ*Nhc5X3kFB_LFU&%GlTZ z5m}F!65HO=wO46tL318k1T2diy)(NK_Gc0l!%*KnH8~xBaFL-lMwI_)=lE(ybZ062 z&*S9W+@7}axrBYmE3+tx8_3+aoTNH*1eGSNmxbF;>dV~@_afKqgMJP09T@?xu-sM8 zkr56Mm#zYpc73E?i*@ZzV)+e4kN0|)RU6AyFg+=SH;+x(*Z#34`o@I^7_`xY$rM$L zg;`Mj;Z0%8GJ=wX+?2kRYr0!9b;V-?-YO<F>2$fr;d{i1r}iH#X~;;H_l(%y7uOw3 zOR(P$y6)9*l=uE>SUT_8W7%383KX{$S+_f@4`>Fz2ZYAagY!!cbr($dV;x*BIKHwu z-Fb0{lh5?w*Y30=Iq+V_!gFm>*PWN679&g_V8Yy%RM96~_r872AM7IKGQ@x%VnV`- zqDP+JZOHVgk%+llR&cvt*XaE`_FQ$D=slEZWm&^Qb|dJk$Y<m?t~Z+&hS6Ve_>pP4 zuyLxXZDa0Ar4-0vdm8#H%9J4dHoO(-d<|Eo7G|xsc(e9btzgo;2rSpDTU|I9!C~E_ zIWssJOg^gDB%g`=`njYK5N3k1uzhZu#@AO3lef64%=o#G>_u|TbArrpn;~<UqJ3an z0Wrob`W#^;_^0!oM`AxuN5$BszvK5zR9ZWw|LhRw4=995%pi5apl~Ur2iGPHZZx}= zys!PpCU{X@o8v@*DNuCb&BY9_1iO3z?89XrYMN|(!gz8;yS<C}>GpO#?*gp1<-0^E z9AL9#6GzPq_g%D&IqZ&Cc~3Z=J4)(3r4S#|v!xjY#wB&M@o1QAnYK4du7wANG$OnS zyn>emj_Dc_1^5Sf9;R|);TDlCGqXDncx8$v+Mw|0?M|B80;og#T4#)B%jZq1QLsnj z=xYzK!`GoVr7}HVw=NK_6=kZLCH(rxHqLt+R~cNN6;w7)E7&@#Q2B8=UTnb7<+5mV z5n(<eNMVs#prwrPIzRDh|3KsYqqr{t{-phk-b8DCE5nVY^S|Gc2+CM#(J-r-M!a*o zE}FnwWY;TLvx2Hk%)}Ss%BI47{>V)re(CVL`HHll^2M0_s;cJc4;1pcN-pd+y>YyN ziEbER!c23sd)ibYq9&6rz!sKy`G1riWMpL)xQw^)6ff*J=fvnGm!EJAGY~l4%5`$G z*mZZ?dM9wYZ5pK+4a4^c)?jy^zBkLyZKDAFZgtY=+Fj=L5zb3JpRJyE`~<>tG^tn# z3dsRic6q<9g-WX%=v?8COHMBnr?F%LX>xn2#qZTmxN<>yFoG1ORJGUbyC_y!VuiDD zS>@jBqZbCRf7WTF`iE>`r$yuCj<Pp@3yA+rs}0^`4CYvg$z1O#0sN7=Z+wmF;b$%% zYk&PlgUxh@9*|`Ccif;M%4~vPC2b3g@jn#}`NNO7u?J#C)2f*DHqiAIRYT{Nbf2vZ zi)E0Kn_&DVQG{-DMY7h+L>8Fm;4M&`_j|3wfk=*Bxz96V4MVL;a4=tOv2}}X2K0xi zbcyxd#K9S(*yPNk?`E7mi;3WlzhmZ!NW4)Qgrzs?`m!Q&z{{P`Uila?4W4bp&<+`o z#=Rr&@1DWiHQVH@FW7XMUJM=4|MxKrBC~{UPZ-kgOAkX7r5qCzdJwaA1$D=uOTl2m zqKMxC7>L1^%lB-H0Tb=E4PDt{D)hN9SC$b7Gs=9n)1I&rc?Lf{A6i<_@2uES-1Na% zE_d&ThsOi)6q}<?c~D5Oc?QmjJ9v?g8y=ua26DdE+K&y-o4zgJYP<=#<br!G7d?0k zGW_RR@l<_`(G^p5(P-N{R+*1I93x@M1!f7a@1}tvZL-4@hWe*{wO%U`p(|PVFwHRN zFJv}ZIQHhpK0VwJr-*|opHp}HOOe-=3umtx4POwv;ZS+DY4~eokBF3OL$rFF32zCX zPYm3Kii{9$9%3$^6eWcC&yIQRfgZCiPBx%FHk{o@ru8NuijX<?uj+Y0J!J+9j6Se) z*A%`!`qqw7dxnX%Dp8eNuA|K&sC2>53E7u8*2@N&koIb94`PitaV4h{<J@dJCGzS@ z&iS|RrHY*YXqEcsI%WS>bZ}Sv@O0R9Njd!dk7?^g@MywGA(`#R&f_}f#h?(M<#H?Z z&dlWGz6SL2Z+RT`+JKgPYkOnd-d)LNgM>WQ3x8A6R-}uoUUM5fh<@%L4)8m^{HRYK z^$=~0hxb#+se2oKX2|+@A)3Xq{kqpg!@=f1GJmU4fKYqcONXFN{!zI7$)Fn>F`ka` zFGK|YnzB`onR5@B=2AbBM$4d4k4KGtf}1@MU~ROvsloh6#vQvo%X$xl(X_)#OC-#K z@_x<=Gug^s*zNT7@2Rfov7(emZ)>^z6&1Qdwb$wFZ&xbZ`JHIr@_465%-S;G(?I8Z zf?@H+mGt6Y?1)X;c1R-{wh(do&Gyq~4{b7)<$`F4ip*F^o19&VTr-f8TU*fZfAcKl zBEMTR2C-<+HQ?}L+kF-wK^<=!_~e?%(Vvv}PB&s-9Ru7ih6y9#OcwNQ-m9bb11Ac3 zDC}Ge+Z7>xa&puW%c{abY)FiMT_Ttn{n#NUNGyE`;r*4pG{RFbq!f4GWOA=;<S6=- zRsZl(WD}^<^!l_vNVw#gx~%0)Qsoha)p%F#7a>LPU1&GxJ~KKWT$qOtiu{jF<(XQE zRG7;O;c=EvJqCHrj(baugfC!%1o4k)IFbi$#dWcvJ%T%CwEB4bM~1;_z#*9yt;{J= z<gzp4?0y&b@7=QfqZ@fV&Y+aF2#azFF@!1kew5);-KYNdMfgRUy4eW@=RA#_w~=cq zvVLkNbMEd$5@T&NH4+_ybvWHSR+`G^^rPQ4YRh07tMl(*;L(Be`^Ts1j-KedJ5~Mj zL9J;-x2*}fy=<=ry2v{Q2vfi?#Wr!_hMPjVBZ7^o<J{gR`6BJJp$X9Jtv+igU6|tW z&Ib+{*sgNV1{!q$Iuu_kYKJ?(fx+XC%#k{^HA|r)Hh*>YGSEk;y<bs9IBBIfebEy< zGxG}XFjZFi$NxaFe(iV2`HIkPp&iq2j5b|x=x;cv*tJ1Zly>2sGu!4mY_QR|EI?%o z$mb+qdGOC76(sCvWjw8iV|>U2=otYzPaXVIlGU;Qu~iO1spZ$iz+%iG1zF2eG}Lv4 z_3@OX{t`{b8-MxGgD#DslX|X}Z@5i`w9#EjHxzp&`-}I`eZs63EZ_@r&waW-K^BKK z-GgF@j$c0qD3kH+T@>r>N}xhEF8&D4O!j<_BPGI;kmK<ZyY5WBd0>ZHQJ0;cY_O{z zb)KSd2rxicLuz_aEi`J7?-Y7|%Px#3E73p*Bu8{Q57{0{d6v=m<~|*EKLv1Gf|R#K zJ<ZwD0WZY*Nt{u_Mk}#G;b}^*W<U3YCjYMRA~z0MiA1eIThzUqsw%5r1$;?TUignq z=5)q%>deu;lj-08*si>yKhD}rnvc*_ziBtgdC}6GbCBUW=N2DMq#&?<cRfw2)+1D} z`XP8CO6uDSDqXUR74CX`DKb>PRL-ySvTPZWG^U;x6{lixFzlDuOu(4r;cKT!WdO}` z6*aNh@E_Y{Py2JjDL08AJY%KCxB&rM@c<l-(>|H2o>aF0K)?aW$r38sOq)*2T#~G) zVxu2HQ>;&1(&#xgoPepRT8q>HvI!V(16i#}io2}?m+W_wS~-cy8vdF&hf`~1GOu3Y zYoVXlo@LC-0l~as1ulM3GOfc}Q2CJG42<(Mt6{~wYEi8LV&9CEVY%!CPf^b45YO=E zWu5UG-3KvW(JKO4K33XRqqA1R#`u(wxlsHHgfr`1Ssr^Li;6!3#BaH&={RUNqL=LA zf~JZW)qkJZ2LLCUPK@LL!Q^vzFsq%MjmyX%L8i$X-@N@GrG8I=!g?6D=0B{Ahsqsl zOrI}I$*HN4{`>hCRa;VL?-M8OYlsk382TTZ72ESy=K1k@Tt(Msi6eEneuPTJ9Q>}@ zwGySUk|eENSlM{<a@{rrKpsZ>=ao;K=~p!2T-@!_fniC`5IeD;sDk$BSYx$vA430J zkho<tw_b1S&;PSc$B342FYN}>Vc=2XkH3?BI2V~SD#$qGvu_}Ib#|n4J{vJ*rlDg2 z1ij|aXT<2QwD5nwvRaR%E+eQ=H53xmV!IVOr8R1iKhdRo41kUCcVYnu*d=VtE9Z60 zO^1k&pNcqM{{HRi8^(^m0Yo(0JQg2812};UXKEW-hX6c@$A)KCE>E3&akdA92W%7{ z8xEU{)NLZM5A|_r&TD|+GnQ3lxW7M{Uk~Qon=nMl3x%I=4M<eqv<uL+|7)jYJELI~ zHEX^V-!-{f^>tD{&Y;WpUiSf}#DmXEZZ{GrZsmYrk9F&S&&e0^B+09%l<>18XSjO6 z!x1c*wDe4rwq1>Q_?smeDhcH^em$P$e_vX$QZD1BVC;#H>;i)RirPH(d*B}3s_E@& z0(FKE&0%jdz8#g-PlcWGB9p?ktV3k6qECz6<B3~uVUBca$%Fl9XeG3acB0W4#Yh;l z5?(!DO_Sx6HC5xNjxI_LB{@lw>?F3mzH<bW{FBMA?cjTP!~55-1I!-cLHcC?>@yCB zIzx9(0Y7MeCTl|C?U>226MiWKjy+bC*SJ}_y}?@5>^*g3mEX@YEj?%MLt@&WqhSyK zZ^6q;95GNG@C1nZWSP|>pS@-a+s0Ovz2cksH3>y(H(+>bVXK3=bxT8L4*0vl{_NIB zAB%sn`tFOjkTZJO%PIC|NvL>t7!mjLRx8QE&nP3RBrtP!=K@-%+`)vYZF;}fr>@?x zZ{_@ZL0@@ovXgvdBL(^W;uvzBJc_%z+?+3S?fAn{K`w6KccU$|M70>}8P%!)qpj*; z#?NZnQ}rdcQav(df1zb(Ky+r>W#)*T5jjz||E)8b@J2IKhmm*)N(vvhvKlMMnni-? zA15!YaUrhK+yVr-Cxnz>yHyGoiJQpo8)=!<eON>mL+Ess2{t`hUYAW9%G2?)%%iA2 zSOaEsNiXCMdavt=gHpkSz#^J<P<A!dN;+eqh2q{5fiQke4|(FzRpH(Q4mg|o?L+WU zv(8emAQkRu)$0g{!l=!II0w=acrr_0mFmi^Ptk6x*|gz%X+-pC`ST8C?-fL<{wUO0 zr=II}SxrqQ&ofb{xmpsJC7q?@)WB*0#t4C?rcJ%|DI-B-{V*eM34uj5oh2$lk=v{S zv1`ALqce?jh6zaE>SLgsl+5|ebDv$Rlq8C}a?iksyNKs8R#Jb(H#VaS00;c9%D_Kr zyzH^Z#}Mm#{oEXVX^B&U0Ddgho?|lsnFtpg8E(%35__5FU{d}Y&ux6!<Kx5K0FNgM zyx9l0P1rh(G5{S4Lz6$d*2tdS(tL|mUo({;ZPP6yZkI*nZ`1b~1D0DGg)^w?>3u?Z zESy=~cf2Fp>5m_le-LE4e2C|k86|#+*^JNxLzG$VizaA1c9|&>-E~ti;`g<<1Pl&{ z+SQRN{1Aw$YZ-$_cpW--3^OtJ!S!9L=R=6I|7QjlNR<oj%{U{-;-5~Y|6DqD7$i)b zsgT41%T;Y4*8is`xl8^*4I`8ygyH2a27=E6@kFNMWS)J97hHpZe)#^2Wy<!W6M{ZB z3Z^1b2nG4z-&TamUOIXJNL(T<9{`4F_=lCh_W0W!LPR7)gnnv70gS-eYic?umaYSc z^f~|@02V|!RwVmsa7Xa`03hwTv{<DvpVH}pHWkL1@R$viKm9LGMhL$B2ZfC^uNg{N zZ=?ku0pTwx)=@~nG{~QoA0*g#^!udY)?B>%9ti95YBI062uK-WRf)ra3XB`<oT)B; zt&q#@_1jUv>t&`W$p!9jQyaXDLa%w9B{)Gr>)jorK0(JWpP%S(7znb~E^=-SBH{Uo zIOPlj<BkjQF0CWDx?0rHe{B5?-iT)%11CFuf(<0w4Ca#6*OP(K@LPjFR)aVLh<DrH z;iC58YBRHU$Zsd0E{?t+=h8O8yJ-^yhhRWX@e}GCH9(WzlC=^Nx5ayL$)6V8J5BfJ zafCgwDc>NVR_tjM;B{(prvX%+#c3tY6`UlPdXYmEAxc>kV3?wLdn7~R#{o^pl%qyC ztBl9j6^9Vd<G6P^DlSatP{`z%a7L)oQi-_*Uaxi?*vD?o;A=82*k+u)@pZVj;GG1Z zGHSw_zApH-&_c4@A2OM0#5;(OFt+Jw_@T*>$(xr~o<x4A0BU8OCag)p;Xt67pW_r( z51F>gXuIz+y4VGbX$Ge1^bf4}<P`|9$Ikl=&Hua{AEO=idmxNEzQox-fN1F8Op+yR zN6+Y1K5j%O&~r;)&S!s1@ZGJL53ksLi%ZmSYg90)T7XHK&?|v3d)cm<cj4vXC3`JE z3vN7chnVs#hfi2*x9hUI>+#}CiBnv8es93Jm&}LCuQd1>&REY(bFV#}U=C~^z}~p* zSP4B?TOt3Ub1D5yTsN<+`FNwaYh+OD=%Li9GlJ#yvhu(0KmEs{Or}{r-~HFDX@9<f zGD2dZzvv)%t~>JTY=s|$%S5yjduP}iTOpSmS`FOD4N(?P>V1FK@xw1qHq35ioV_xc zSl*ER=(X)Tw&`_TOv&|1Bf0+%i~jszPDoLXHbSma8Rrkf!F?W@WurHejPy*UJ6oLK z8J!L`!g9I)v0ciI&zx;d?f=_|7+<DKdF@P32a#EbJ)MY4yQ;XIbwYJnZKSwLT4<et zOM_#JJ!#Ut@TJ+x(T!MpT<oNN&}2MrBD*N9KS@F1jPFvC^_2i?JbauPUZA2~@_4#r zpag-!o34*C6%X&6>ni&pTU5~+kTp~|QvCUX>$9MM7b8ZT8~{GkRp1_fT;R8F`Mb`D zuvh+-D%&2MVo|wu%hNPF9adSF8^k>`aj(T0Lf9U`bPCrO8i2Y?&k*!fC(4pGFWOK2 z<$6*mii?yxnGW|Ryp5c760X<3f9_J)Gmftq`|3e2l#^!Ex=(gH&mmM5j&{k;UqJI{ z!?B&HiRFyfxK55gzG3k<31LNl=g~Zl4u9Dp2A=sF)=K;`Z42hVAkvXfMi3H`>mGYP zz%-c|e4pF10)<x2Z$#NZvr_gYHmFLC8AsYCLnc=@wSp=g^#sA9uWsQYJq0&Bf}M61 z|Cze?{|SruFlcw#M(23Ze!W9WOBDkS6kyfup3a`8PlB=xUojhoL)PhmHS{|^MGgdp zX1?I-h}?V${foN8l`T*(>B?MpldFE*+EV#HBPq|&3pJqoW{7eVd#9%2mNo#AJT-lR zoGx2qW_@4{-)~Ini*DlqE_g2<E(ZfI#2;y4ZB};4^kXh5vgrQgOr`Xfl})h^(f9NV zCGTI9=b!3o&8excUrV!I%{749zlu5~FaZx-$qhfS4|kzY5*Iu%O>-`j2+UQ@Fb@j) z{Hnzy&AZpWW8uJlXL*@Wy&&S1YcNEN@%>wvdIJNN;;?d70)sUjaHX&;w{?H@zY&*l zt@fEmNR=FXPbG!m04sH=i*6q#{hTzCx{|1-aC5D%{`mAUX+-*(`iVJe^%H64O4Z_+ zoSx_MLBR~<oST`CJ1l}q9fm$(Ufp4Iyc9`(Gm(@j2;r#aG3R+2#fB*UF8k7@q87gc zoQ78-2Sp(Cb<g#PeCbpz{Z8na(y0S>0{eH0L_tGyPk+uZBJJTNv*gVL$L$xlUfh@y z=U}@ub&)$fF~YpD5>IjOwf;i63v)>v;}!AM6PDL(VKn_=A2by?AsB&wa@B!ga#Ubt z)O!SnmZEP(M1`vT&d4L4sha40=ePIcrY)P&FS;kfzOt}xvm%(P?kF_bFo4)hPrjAb zkYcl4Q2a)vTwC>`AD#oL>^!W!e6XQcS2uy~eEsvWf4tp=V%oIQ`;Q_kH{8krm@k~3 zV-h@xUGci^aeJ#hSh+qzT)>l1|Au?)jE?KKx%j06EP`mFxYF3N?G|P)xoO``f-EM^ zJUaXHa%91q3^g?$=P=QNh`<W@^t{EL?K+q5c)ft@os-{NyPhh%AEk;6S*nX}qOooq zhK2{jVQ`>^%!Uix`}&I;u-A1i+WT&(IUS<DR<4qYavGm`#K(u?1M|)liInPVad8*3 z;{^`ND?c&sZcmy0sa&Is6If83yx7<~1p_t@-(G#e+iFXR_la-wf~vh1t`FEbKuMZH zzJDTR0wW-0Ye(KTs&_IUm;}E|=uzVrfi069O+rFuj@pSOSH1fl<7&kcH%D78#d9~4 z@&ZyLb{UoGmLt=V06SFDhIB3RQ+3J7hYISy0gqdSg6#EGy>-V7(PaTA(gdA33#aEF zhWa;npuyl0>;Uxej%nxa&f>o1A^Zm>Xz5irD?XC1FeWP1s64dxe&Ib4ZD=sk-=x#G z{H#L9`$SG%rE+7PgaL#o3V>VmN<LL?$Ol!tUTPMZG4-ri_ncy>w#pS@Dx*iPbM4e` zNcfyO^st}5a3JY4dosj7E;y{#A=j;5$NaX@g@&E*kp^)9YYdY(&~pIe`XDNL-8MNv zBQ0%LuS7w_H`;?4*NL06vGw!C(E~cS+fenFrjodvdR`xm@_o+KeH*eVa9q!v*HST+ zH|^bJ>-_+NkptRgy{vqBJS{XXN*iA|tT|g2QCGf`e%|iTZC)oWOzE-kzB8ie;rYou zM-=JGzWg&^LQ$esrq9=7%a~-^ZxAS9T*jL^ydL6N2A;%>F1Hh<#-N;}(s3Ua&r)PU zu~&ECEbnB?CPeeEvsB|*$xGrA<JYV{(?F=e-2Mc`S<QM#LT4NUeAkrFp3@N3U|wgs z2a4)l#>T`@yg8X`GRn&bTTv4`nR`YEu0x_p$X;=CtnK*gRCT2Ba@+LSK>I%d{{jEZ zUHx8F1sAPq_S9KTvl%O^?SX5L!Ie0`7`|O?Ewb*r75G)+dMUQg$4TZe$^&TX%VXNz zo8CW(GtxB=(WG(qKYU|oe95uATa3;1-@}6Ly-Lk`+O6@%G1;W$Ww+&u2wkGb7TI)U z(3HNKJ+Y2F;B)53ZI@*AeRObeD3bQN#)mxL$7v&VQ@ZD9HJ8g-_3ix|j4^y%`pm`j zrOnW36vN2)Kejo_p85}*(fPT|)?Q}dB>h0^{hwgt%GGg={X@o=CZD<dXM68O6SJ-m z4krx<q;=e%^_~oU@p$UyIf;xj+?LF`5cB<H@BqTkhxRi3YffB(r=gMUk)~We0a<22 zLC=X^B1N;0)E{M?3p$xlpL$Y&KWB!MJ-A2o;;#^{V_izXiFSM@)7UV+A;)n*W>Yy7 zt=kxd?F{WOEcLK2blxZt<7;V~fkid$X;+^eOMQ4{oDK49Xzu#AsMDagy!*o$D_d<k zTd*`8y9t><7a}lwd)fVc;+{krPODm8BN%=aZ4Lhyt2R*yhb@`Bdz>zEyxVfFAlxl& z9Z!MZs0T+O@y)&av_iY{r!@5)-;+|qeq#Wf!3hG?k20zasKiSUa0v16Ur(;<i>YW= zUA;v*@XGeYa3s?kVze2Fwz#;!Km9dGIQF&c;+}GD%&bvx4S?bxT1VdeT`D|=WEZ4U zx3S~Mn5wbNBM17Lf9d}-OYr`Ro7eneM3zO6&**t0=F2Nco5Qo<l*+B=mp9d?e`7dA zS?oz98@@nIiQ%Zf>fWu*T;3BsYBQ!Hc|ixO+V|*|>XZ;Pn9;rDl;dIGUEFnRsw$py z{ay3^IxD(9Kqn^(_>lPno(#JgEbw`;cimo2kJ$W*YVIZ?%bxgQm+k+qO~EVHryVE& z0Jd}7wf0hSyxP&PODR;k=XhSuiZR$@m^8{o64(D4eoE(0wE_u`)4sjJTB|)m!;j-{ zPpM^Rr@L}%x+T)65-`l}51(8IDTPg-Kf{;DcZS7ssfh&xU}%gx7{}t&lK&aSIL}D( z2HGFPrXX5$A;hk7;$QnuOmpp<0(CaevP0`Z1s~mNMr%AS+9OHK?>B(&fJUnOYLDJ; zBYTnuyK9o~^%4s}pq=jocx$!Hesc=(rXZuO4!=`nlFNS}dEsl_aSbvR1Z)AgKC!*> z{{Z8vhw&}ndy5pzt81HxB6b}ED?N2~&?4R3->7dzGn^5RiZxz-A0*6b2UZJf|8XI0 z1?;`P{O#@$|3JgC?5wJwFqXlxB94YYQ`*G9x%T(ZxSS=W0m3j~ah>=*ywDHtX!BvC z|4)1xUs>8~`e#${e{_~SgGv#`&o0>+U^SViK*#c601d&p<))OFXOyxF5Lc&r>B~yE zW_0FgrFa=X<V#*2&lAsCM%=2o!?av}cDCYwY{lh+VbpyF6b|O}37MSzq;12vzTyqo zh<b(S=P5nDMbug<a$PK7Whj>&HQOO#kgFL-*-iUx+dgQtX)A+om*bsx71Ue%A}ef0 z-}^+ZUi0U(WTN1X5|&>pNC&NyfO%G<#u59$@>Ru-`GhuL>>;ew(c!9~W^%)7g;w6n zZJ->rF`f%){KU-CAGP~+dhmijPwgT-q`cO00p&$2+6VzSF~0yevm3WSPwr@Q2$#|3 zETO+I8P!fu#L_&|35wS^*xMYhXRiPI&Fo}Dru8kOQCOVdnCi=Ic>R_F&8fnKT^Lw6 zZK-RG!f#h#7oLB`JRgpq&-J?wlLLJ;K%`)cWW$XmpmJ-(@(<&3K8Fz$vR3N8>T{LI zzb2s@0HV0<e8Mt4t!_4;WV5;e{e5ILVDJIo3COP-<Srn|^XkD)9SpS_xb0C!6AY4W zZftJ@)G#{8wcw%XU3~oYuNc7VK%yk#a>;<iDq12S)#WTrt`nyc&(Sv;PZWkNJHs{n z8#dvHC@7Cbss%(D95^L2ZYr-QCk3$Hw6(#7XAF)AVH+=On{5{yyMF!07RrM_Hh@)y zl<muwtJ`8Lhkb_rUV=1fHd}N7W7Dez`zZTKRP}7h><^lIgI5XOIG*`LqW@2Z2m)A3 z9ZK=mtPem1PD!T{9DKZI%YRL?Uqc;hc2KMGY)9E<T*-lWO_2vI`juKgaZgV?E69sR z6K7gqKboxgk1cbXO6XrJ&2e}&yV|&?cFyd*KC|`=5m(TRP^_>1kByJ4Ve|0%kn}~V z0$X`ZIe;Z{LFsEdwPxjfQ9eJ7oi94!0AvcgEsksybM?h*s>Vp%_}Rq)@Les44ilS) zQ7Z~%eb)@9!=b-4eK=?O{7(2!Npkwdvv=Rv&5Q7(>{pbjR-<?H%THdOw5R9TEDkog zN%SkFY6fAE@Bm8)5SZ;VG?`Ox^WFZ)LBse<z0p6(0z%8N0zKOPkNrUnDccFNfVveY z?;L=n^=pKhT^z?rw8*^EE$ERX?6Rj|r(5T}4Q@w6%?z{TaznOPBZLYH`(B@EqTvK1 z5`hDbf-vEwd95C_P;gK*u{lYiwQ>06e{2>SH?W~qwgmw_H$1iI|FOk{HHZy}Z<DE> z9%^Dj?Q*@Ch|-%L>4_*^oo{}OwuInkOv>gVozUM=SZCHU%sMC6OEfC6f4GvpWIXbQ zqcI9<O3tB_-xq`DHzIT01OIQHyA-J7|4}lO&3gM8^iOtH$ne8!k^koM!s!Rq;TiLn z4<c6KEDuovtExpHlkZCH6oe=pa%sIlZ;?@%nO-zdhc*J(W#9en0bwwbN><+bp#RJB zBL=@a5NKU%AlnFhIdM=KfHEn=;ZJ@nW)1=#r~!=1?7u27pU$CXiHZ3XUbpFt<(gT_ zB113STfwE5^+26zWAJV*5cM|aj@yZ!CLh9~F!-bLvWj5@iX{jwqm~<DyR5B4%)L}E z@xMq=w0B7p5%M<`Y4b8cNV_A00op|@bz~mgj%Oh?;KG)1PtC8zG<|5_Tzlvr)&+GT z$Mq5Hni{A7N71?XGyVTjTtAg`p_`&yD&(Hr@1#NqMeb(hlIzHwxvWA;F1eT6DwpLl z%WZR;q1<B_#@uqh%*<^rv#sCf`w#4~%X{z7`+Z*LJWoEFK*TfpEVXihd9l!;fJJpf zQXM6l(jk`+v>cC6CRC3*9#MhC29`D-1T4Ogrk7T;pU?XpY~k(t@0f?Ll#>X)b+D1d z_qWcgap{TyG$Adok~_9uBktz_30KO~tZLf!DO=$2=o+`p`FyPgOOv_^*9Q4?{=5w& zu)`l-2~0HSsC~3_!luGsUtuf&z6f~ZULmg@&(HQE1mf<@<aK<VkHSz6FB(F8gKaHa zmNkWZ@xxXDF_JPuQ@BaTW<5cueuP@xWs5303w_K#~=hgBmR*p6D-H+yUyYFj8fr zWM49ETO%j@S@M46SF2ZQy!eVpEuA*(wO3C^MAE=oxQb#|ruJANRl(?t+@b;yj!&A# zmKEoW0)Zjg;paZv858hIpx3qYXM`dGvRCcC06#d9q2}oS74A5bp=an%S{cnu#EHaT z>^^@_l+tge)vsf;kn^#r==%tjrH_UEJ<OE;Bmc0~r6*q@Uw2oi2*lT3CaZ%pVJE`O z9{B$;sHre*=jE7Dt@yk`1D^LnjrB1jg$x>SRxu~vlFWFJsviK4*y*N6DfxT;{!G+& zo$fK6*4N-hEj#dl4v`C(U4#3~t6<^xN6((j@MNTGZ~JRw$sPVNp4%9=aMo?I>k1Iz zAeM|F8BzD19d2U{Zk*+Zw-CRUw%?yv4QKwYBM0x!(3z$exA|Ne<<osd4ZW9z0vA~D zZz%afu!@3Nrb^=u@qx{RS42<Jz?!bJM#77&{M-sv8fCh&p%f{Qj;z3ghY3KIT8Ow3 zY^U`dS>0BuEcsSDdJ}IdMQGCnW>V%;6oM&kv%~)&58xL6Z?7kKm~Z>6o?kNIaIT47 zQyLxui}mouQV%lDA(v+WvV<v1*WKx)vU6H0M{mOG@a5G`qy8E!T&g-aTsCXbDV3Gt zK^mGH<7aJks<kX)1G?A&`}Xh%hErGL2wz~wiY3JR^l71Rhn`;UpH7?}TM0;D&I38} zz**;NyBj~!!5OtjGce%+=jbafcP>N3*cO=63UEBUDBK}+5tjjohI221RvUqkdZ}%l zEx(%NJliD#+oeujme_PX=t_M~X7(xyaNlLLuh&xdy#NAl&W!txNqJbeaDy`Y!{3x+ zW`Fz$p8yzF5Dk@we3vzPxjx4{+{@MHAKSMH&N4^5_2T%|N}2k=H(i#z?7WASJHbZ? zgxXE?R<>{c9Yez)yD0F2W3~p&Y8Zp~;QA7CY|ct_9KV(JmfN&t{!PNspz)X93^Zz_ zvS`9A>!D-S(6pA({pt+#Lv1g&OdmsD8eMSwvVLM&&yc4wF)|2n&fFYZc}{?U{;ZVx zPlTvQF9zUu@cyr$BmD_JGigBQhtJaPuGw(OkNYQj8y9>rt_cCPuc{<-VJ$mJ&9p_Q z?-{nY*B3cn?hS$wh(8-erN#p+Z{Q+=xQYk*<qm>okEG(Z5jnOaA}$j@Bje`?X0cCG zssx@_g*AJ}+`ivaNK8)Ku3J)~1od6>oJmeKgZ-hGN)EpofY|j%LJ)_{PM*I=P0|X% zxLG667<~S|3N>iQ8!3ZCwnh96!$*d*+4}RwytEmAbZ+BmeA-740rZF5En(Dqh+JiA zgnem<f9SpY=<%DSYkL^TRjF$ZO;6e(=fTp|n)=4*L_f?am9rZ0`<pvY?DnY6?MSY0 zC@a%<5%BK_aaw7>E*!k}d{TsLhW~|~vnM_Ht$+^-K#r|$-BL+cuIkxG?xfXCRBMm& zAMr{^>}WNhlu(D>5iIZY7p4;68L#G<M4ZqUy4mJC&YJ_@>hs3_B+m&%@ZTXPuScrb zy&D~kvMsa-^7FoDy=aNi|Gd2FKZXjMlG-tZcE~cY+({j%DAvb~L6%qxtmb46aF03n z;4e+(;-uZAyPxE}t=`33Hs{1lhMyG1dG-KhOaKi|_5Q0N7k{TU|B;O8LGZ^0*y#GM zJUwE}i&^2eZ%3sc3P#V9ZK#?Wb28=|qF-cKDxr-}+`)fR)vl2{uLN5We0Hv%^Y!~W z)BpACSC@Mhyh1u(MiL4N_R~z1_Xc4g?&?_*WZ03~eljiGeS(1vvey2|%vpbFBJ}rm z@!pb+^X5$A3n$BK8pdA0A?2W%G;Ong;f>rdBopXMsXv^mO<#PIw)D$zt=<y^?U_!d zDgI$eM`~9DjxdHT+*b7K&&6C*iK!XmbZH(5y#660%63$tr0I)gf5)fp;y>~I!702X zL(l!KjLYH{F`&b>`=cx6v`DNp9^Ts8-;@JB?J)xaVS}kGx4a1bs@mZbMN_+6bALSc zuf@N?^}p-ic~W0TdQDAIZU1ewXo;>D$-F1GELmznaJ1why8&cw;?`b$WNxt4jEPQh z)LGUD$zF%zRywI_Z(9pL*_3Vj!CED87U+x+SddLn(DW`UHyz@Q{K}cH{}JYpwr4`# zm?AS55sd3VONyG7O+$M53|8#&NR6ihk!T!3sicLhA68`6R0X}-X;6gJEQUsW>zCWt zmD#z_lk&-{KdxRet&vca*{~lDdrY4UTGp36w8Kr}M|9Z1h3G33v1!hCe5yUM_~Y=V zyI}y7ytP}kHj;Gc!3xnfyBY}B`_De}WmVxs25-fX@~nZ{FPE(e>e(&F#7rvd*rL9F zGFbRCF4acHNA#g|FSae=r1!1O>o*qO`b7_4Yb(rs5!A4HnB6%YQDNtWo$l<_xumV8 zyV<Hoj8~*UW$u3Qi6XicgFLT{?o~z%nW<LCdt~xF;ahzE;(mKxmPi`6WX6o-N3$Xd zihOYSr#Vu}B2R<jVVnh)y~A?5FpHn)-3x0vTg7-dkm~-q>>=@Pd6@*CTpw>%gl}3+ zLF{wgv&W8G7ycl|8xBE(Ozelraa=&3=*Eh^S5Kkxj!ALz{6GP-y7_dk_!ZLrUV`)| z#-0@aVA-PwKV+7^3BQ#$9q{*u5}qwL#-wf_1BQxP)fOM^9PzdX`&(0&S#AX@GqqP^ zlvG9FkCVcV+d5&y&i?YeE1gM}dj9TskTiF1Ls_OKl4KWV&qySme0ia&e3m1!z|D1J z+PHp|WJWnR`wU|>EF3N}UGm4jvW+>_)9P@=qJu-XCp!C8x-hZ0ab_8@VCl&Irxezp z1Caue>||xsXTI03DB~_ia7TJ)?U67f$N8ls(Z7osj+(h&Pqn}OhL=i6Sjs6eiwasD z1M*H5)ng`v{Hx>J+tcR3hFVt=9aeX#@1fc)w_f7~Th@9gO~=;PkF9i8JmPD27DJ9= zb`+3ppKA*X3$(IF_DS6oW}uSL+|1j87kd;F@Am?tfyYcQzy7TQ#t!@CM@n(LM_d`s zHgTr|9TT|<vzp_|KW3)_YfMj@G*7AE4hzz^3@FDob98^EJsD;|zK+><6lL2}jQUAR zyc}8Cfk(Y99Z}wFoJxHbSB(t)cT^zdBebKYwye|3eyPhXqw$95DK%TM;C(}P%m_b6 z3`_ICt%KfZAL?&WVyhP*TGIShN50=c-%q`;J!$@oICsq}=qp`K9Xoi9pO^kRia_5{ zMy8o@8`d|P?E2axnVK7soZimx-V`YBPC|bD{I<|C;rsrG_mQCe{>5a_hmnGdb-s<5 z+$8AMfgivm$~pKx<K~}Um^C?th0xbtdRo5`b~QhBTGwYHl0)dh+Nrhh?O_kS3c6s@ zHA)$M6+N@rxdV8-Pxu~SJdmL|E#OlxhEo)QtyY0?Z|m99G9yYT8uK$0O473)%h#)c zqRS+E{#QCNVdR(LxrA_&(D3rH!I2|j$6jUx73itBH-}XuM{1e1nT<vN+5t*ky0?To z14Kds945RjO&m5(tKQ1xg{b`Da=wDznUH?&5>c4&{jOu_kkN&Nz=fm|fbRg*pRu_A z449W#A+2kcMjOUuPzO;taA2@^Y4^Ge`<{84*&7?*0amMooKFDfmt(F@6+GAYF6wF6 z+P>*td;HAmSBX?Ov7wm)Jfc^f@wsX3iVa32$Tk6@nbPI(-WvjY+1nYsZSh;Zsrvlq z;J80tcdJyzt|zYf+<#?>ak-Tnu_s#8HGu_UZW<c6tS)-OHGd#?XQTm(V{t6j?*t=X zPG3DJ*iw0vUjObNTl>|kR`30Lu0CmqkJRZkwfy~lQzIeoPpR2Vpit`aFf&uWPzNgk zW|%VZQwRP9sMkdnwW=NXz`5^$ijulYbVQ8ePRY2`V+S^_@S4wCZqjfQG6@^X*rqFl z_x94$7BO`JKm9~ZC;WBU7l2a6b_3KDQ=wX@=nCn;4hTU1W6NlE8*GT&t+omEd#TSF z{GfC)-l~86xSZqt!5?D#rOuU)=GkajN&L=+Cf$R^Q?<htyU-fS0SkeD_7>}7m2D&= zI#}0Ub3}%%=2w6B*vl^dGAD5Qo=INJQ%8@Rwm+qPoigW6W&FI*;xQz%;7=%?|D>?- zLc-vJ0gsUtleCN|3r@&3(h9O~jDia4h4shUDcyoA78Zy>C`hK_VZO}YkJqu+O}4bt z<eSi=>b1k?PxVwa$xrqL=h%X&?6*wX;@;VwQoFAgnx0!S^xML8FFPJ&jrA&HcI{U7 z^SH*9XD{VxduUm=A<MR*@G_y(>q9fTRnn)sucQ@rii@S(veoDPxj+HDNL|7LVW^e< z%il{Dcloj7(%OQueH~}O*-<#utfrm?$!P&&RBH%^)d1eBG1`eo&Kb6BlMg=CuW@n+ zC?s+JV=HY&ici_^Y-@XZMxeeFV|DCd_7_Wg@Jo`h^jBuuc}Mf3C=l5Bl0Jviqvs*w zBA1eV?uM=sgtCfssRR~q+<tdy{J-1K=k9BUg=e4LQJqi50}>v^)IVdLwN*HpAE|Yg z91EUy;eQR(-W=1C(nivwuCh{UWox%*mR#_Qb7G*@H?7Bm$Qkom2H@WK{LmuUF9LmA z`A$K{Q(XW?HlLCVym^P)$m%u!?QYLG%8XA@*pn>0<%@2-V1dpsl<DsE@Q4YlUPsty zJ1p~N-FaTWMwEaYo{(RIRXl3jKl+oGC_SW!#CctLntD26AqpYTvfJ)v_65E8vd=!Y z{5xTlNMkj9lrwq<`h5KP|K#w%aeaRo4Yeu@T65VG>7@4eD=!-5?sp24f#hL+5TF_e z%R8WnEqq#9EnQl;3rWNO<(MbAg7+Y;8A+UC{LdHm8KFONYl2riPOUYqqjuD~H6NTS zYI?iCvu&!7)WR<mrOpg+pz`oK%A1l=;cMOi;WTlCMQvGrK0Lbd7Z1@sm}(UszIaj# zN1rizg5vWmiiGqcKvxex=%O>ril#GJIEw}}eBY~1Fq&htJxJe9R)<WJPY;4p5R>i( zx7)5CFHxm01nzB|aL>zj36xp1_1Ac%!xib}vQZ)PxbdCu=d&RkT7YnRNaO3V#(bJ@ zkRQ8h{=ZqAprmQ?e*mw~#8m!I{-K>eIwF}nPc~|NH{>%}Fybyt-@+)qygVj)_{{(} zf|xH3GGyV(c(eR7bi~_IS~Zgl9{(q?Bkw!|1RGEk<>OmyR`?oghil0py0$WDx`~)) zUQ>u6R1OsI5Vn|S4}6jsD#G8&Ee*xOXL`Z)YnEBYvL-?dHG)To)XuRPb_5`IX<^C3 zZKm=8k=`}1O}^fz{^L3pApuo?la5X52&&FCCj56-({}N{@^FRYh8yYut<*XMQ+7EU zz1QGHl_<Eq-ta$Na>9R#TWw55IW-7|AIaTNHk?vCy3$9|zmGUpoot4P*ssWtnus)% zQ~Ed_)#=A)Q70^)vKl?32DpNydNUIZDk@VM$9%BXOHpDGx<u4BW|ii3m**n=LnqRh zd1IO^ekgHySlkFRDp{{Q{~?i>3Wc?jh{Bh^<4d32{Ta`O8g~uIA-QwYlk(3MpTnJN zqOe{oj-TQI{qPra88IB&gyC16<X-H1$-Q&xX~eJk1}<H^P8@Bn^bBYej&i<|P1xpB z7Z=TXt;W8}QY_xsU1<OSOgI$o#g8Z7aYD-s7SBz<WDBIt-(O3_<_3Ey{E*K)#o1vh zM~pvAVEH8)Swpchq&=<2GDuk<;uxaYdSj>X;<rOXj_6Ln5qwCDJMEv-Fs{Wshfq9P zLHZyJi}WAH25)LL0FhfJ&@~sX`p9rvt9*(zpIK3Q6opj}V{uq`CnSY%BLMB5jB<<- zDJHDf0?Gxxr1v)9Xy}@{$X>&qG=<~t$JW)lROD2FfImxp+cawAQ><u?+H74XcxM;U zS7v4$M17@D@w=4Mg7`xW0Db~5w=)V|Vc=$Q%9cuDGe8wj!eYvs7rA?#W<&-n=na8o z?~A*S9ko*yOG(Nfd6l^zsm@3W1A@-gtIR-PZ&I@z6!M=>@;iKnw|3drk1~LJqKEVp z_7kh|{~@$<iHY$a&2ey_mDOTEM4{{p_bL@XDttA?_a5kmIKAy@ga>?H>a!-s)}<30 z|Fv|<9fp7JJ(en$&wa=WdIqN6V04!VJ|hj<Z?hVAH9d{R^0%ens@2}dva~qYbR?TI zDgG}oGfPmNcMqZdC0|JQ7HFDxOm)R305N90V51q$s*x+ZUYtP#>P^RF8M;3EAy%J^ ziuKr1ZT#}T1{_3X^jTT^_E2f+KlFY~0Rc-`iG{^mkg;y)gV>0&cjjDv1RU;wC{&X{ zLC|(o4C{5sbXGGc>s?@qOl+=s{Y%UH{_6Am%R4mWO4}CXu(?CYJ|WGX#bNXz>;-hI z>*(vJs1>)^Jz-54+`+QDW<96!u8|3*fe3`1O=HI^ZYR4ZQ-#^{p@QK-<i1z^X0~BD zvScc&R!ivDP}jhVe$c=LB3~!W2X5A@-Eq>SgNnrI2aFzM0pQVNQE}nLjkg#*3Iv1? z46n5Q0M*r<To+Ludul2=K42Ueblc~KqH~*uCcD6?Je;cR7{R)Il;qQliIBmyjl{X~ zX6sv3Dss~wo<)&wL<vU2@e^>nr@^VTlc?}K(FLTmACBD%I4cs1AXcV^Dufq$qQK~` zqSd9?R@o)3PUT?kdv+rZq=NuLq~X`-O#`;=S9|N@lcH5QlKiMFKYJ(9Ykp=P-c-zr zYK4agK>0a>*%hddu1yuB>Ibr&trRQPh?ElVm;V@o&i?8LEzAL|dEa(8+G)N5cA?P^ zH=nf;e~*s(d;<MGviIvBFuH&j_{YY7$^P$_qJ+~6^+EIE!it7w=01^Lk5Bk!hve+| z=vOA*eY?S<n8<*2k#TOmTnDIon~})4ggbWBXK!GUQhEJ<xC7E?)b3kVou(NMAft5W zUXI#k{R44JL`=c8A)ivKoKecuIJsg9kKh}+4rxa(a$axP=)3`=0an0vCEn(3EF-gl z0)W)hR310J8tN5xwS4d3Mx>vP52y~QZCD-9vG}p`z0T6_#?JqiUxv{bYHIY;Ys(gf zh|-ltj_CmUXhGo5oY0%W@;47FSG03sDK`DJrq-8H4Gkb=@RA^mIO+d==LrULF65}_ zM!EMSe}42^DB!{-6Ge(t@AoN1YRUSNw<cl4KO2hNN)SwAR*1>CSS6nTlY0?VbNwmf zI51&70Hg+-d&2sI1hl_gD>Vscno$#S|35)~S3Spn`iZ&P)7J`z-1yCkE=Rkt36oQq z_<^CC*Y`SJs>*ini3woU0i@LQc|V^c``%qv&D|Menqpz|Ti#xc(&!eEzZW&!=vGOd zk`xk=)sV5iNCHmUCs|BK`PR5f0j>IFp=BPtIZ%y)$j`yaHa>XNnW4p?@5&>Zle}D? zjCVZvDKgKVpXcW=;*zHVgHHl=YpK2_-l$5UxY}n;Uy#U!o#XPCqoBddO8D6F!b9OH zR6cxk$~d(aIYD26UY>T5)8n_Dx~-68%B67VcS!s>VJO;6qWc64A2fr@SU6;mWv1$2 z?#0%7K0vmCFobeNwG)8{=3Ct~nDl$xEg$Qymi{Pgq)un8pLI>3VXYWy1|VkACs&Ql zr1*n2K6**FEiTA)G43*|bSxYp-io5K?$aeeiwqNNHZUZE%fJC~i|!!xNCmTpm{Xi` z^L!#vykZGNOZ6vy)~ge+99Hv|n#S%x<VddMX>oJ8uD<{#hJIv@G(9a7h$a%OeY@(6 zjaLI%_Ob&DB5~bZnS-$={kA{V^AX98ku4~-U#W~TY}O3KXeperFFHh1OUXa?1<#f+ zKQIprqlk91Ylh$;k&Pqw_1n`dIN=Zmsu|BK4pwb>kPr09(3X=oOLLZT(x!<=pGAXF zlbu(8I+%9#lsg5~pW0_jN$Ki`1`5Rn>~vUocGrflj)2V$oPDLdk<0Wnkgl))lj9^+ zVR!l^GG&HG=_Vibs*uUKl6K#1Ru*{)M4*1HZFolll_EI#@FHiQ!x5Ua<@|HL_dU<a z>g1t!Z=vRUVc2T4UW4?|@87?lT}XbA-?>Td^xRYPRO-7z@hYnTOt458io7AyyKPs{ zGi!KaGLVx>{JQWrP^idM;=wd@0tB@O4|q&e_UVdZDeax(hA;JeBY(3e8SvBT#55r{ ziQWw5Vf!iH{gBAM(F&<P+0LEGWs+2h_TVM`Wv{e!j#rww{Lwur#BVgE1w1Lh#NNXg z3||SB63NQK_p^#9YPVCqx&~~cd3BB-%MbTgW&fc$XkyZH=SYJ&6}Vyt8~}s=cKD=< zPk80le0BCX9<spo=*HRozCa`6oKa;6;Bf=mE<%Q<38zy0u4u-n-hm~?iMh|e4w2Am zY1b-mkZmI6<A+<fAP1Fiz497K8ewR0p|GDkP=7X&<z%Bx1?XC8`t+L29b)z5?%k4l z(c)G6UL0x;CXGXLzn2NZk&f;SEhLUJlx9Ds<K9~R_VD}hv9Tn@1@z6(_`S={d6&xL zE@e{w3&WHCp0q+FrF2JD%QBzUY-OdLZ*CO$ZAdYTWrCe4AP~FA6;6=rttzD7^2(Pi za8JG82$*ZAp~OB53;gMEszry08ht`+T-J4LzH%m$8dRJO7{9uYo;7H&(8PtXeY)j8 zwhs|!3c6g6EHkhjm{2~4?|mYi5!<m3os5;+{mW;day2m`(DM*c6v-HvF>yJIml;_R zGk|l~1dcX&q|$Z`vR4u??_6r9k-Uy$^LW}*7uUy)@KPuI?>@!y9rZy=XfAK|O1+ws z*}!v9D&`rE2gq8(6cz$(bwW%w{%ax@EunkNCQ8h0_NN8#rBVD>pjcX4*l$SOlQ8N{ ztGm^yFR!A>a-go*j~Mz-8i4mMGL;88qkJ$c$%(%k`w&x1BC9+?YAZ^&jN!jIT{to5 zE$xeR&Xk$(ISU;=cQbaF(?*(@=qv5k<N5_OW%C!6m;hWm7xq0o20^O_f=l*i%ssU( zW#nTaEO5v-aC@qq-S`3g(FefiIIx!TD9uFL%Ue^gY|^0@{bb$s5ltoYo;IU=yIZRI zwYC?ZiiCFN5D`Fv9*GyvUo$t9if9A_^L>R4)LV<snm0FndQ=xOr-iu2NI&1|sGG?# z46c0B^!py`lc;`}5Tc%`Vbht?e8t?1E3>a({m!=U4(wa|=Z=E}U*&#lu*i4ZY^wI^ zmRO41W(WK@UVxVFcyU6YE!Ji!Q_E8?@fF8sW4ut$db_DWeCA1PL|ge~i8ihs$97Mo zn>c!!ijMo3Ih0nW)@Yws61f@%uzOYaQs<ux-SJ7)_tKr6GHs)BzVoWQ0~e{j-xE75 zZG8f*a>AzL2ouq)Z2uw1vooW@nsTXmKLO4-L)|v0Px!X}!_fQC2X3!K9A<DbQMa;} z_o4@CqXRL*Z7i{)vzT~uRr^OHnmT@n_DiurDbu8lwhoOL^A3g3Gpr?>FU_TPZN|om zXtnL`ZKIg95hF8jGnlyB03U~SzVed$P~aN#XwztPeZf21vNz1xeKMi7-}>0Gv6(ir zELHy=GJSh>XCt{THkA0SG@=J!@7U63Hury9e6+SXB@eMUE3a^>_t2!$w#BKklGOfM z)#0_g+IritUq;#}3#&K;{4Oo+ZFfu@r@=bp;7Il&uS*Vg6NcfZF!?qE_|v%0pL(8z zy|0>6xFxk{`Sy;1$l1Su(bBL@bD|cRwSar@`$xLS5a8o4ySA5<W+-y;M91<?Q@%$+ z;C;VNvFT*7lI&n*-w3%`Cd@FKXhB$~&ZjEBeYB9s_gMPw;6egL;<c`-Dj&~y+|$G& z*QjLl?{Hf}31^2x6KZQUe1_2o|Dq#^`wNG0Hu-5d=*{-=Hi8TT7C@^j+n3bqBm~xu z*KZd@R*T|3KXsYu7iow7EG5-WkJeHUL5D(x3lV1bPhZ{|3muJ*H}Z=oFdRx(iz<*f zZ2;5Mesm@j+?FNwiyoB0`nVTrza9dO+$+BlmU8D#A;!hF#o}5)+*6T9LdTRh{-&?5 z7fkI^$p_?mI@&U^+s_7S^SL)gjTA`md9qWJS3W{H2vV0l&FY0;2rLSVP}>sweZlb| zEXX%Zd^m86&>Md;&uYhw`bfBMEcWzQO9v|+(0r8jp$8Kx^uplMub%H86QuNejY?(K zYK^)*=z_^55jPKxnCW{LL)!%Gwwym8m#ZGIU(J>N9C*H`eco~=;XJ#zj#RWG$SCFG zh%r9oz!Qf|F6=G%WcoehG%xhbw8?Odx#uXlr*~Ij7ZwMrNsNK|eDU}(op~3RBZ~cV zf6j1J;^e@~cOpqj;(S?wU}fglPv-&}c5@aJJi%ys<V3+}{uz<f68j6%_3i%CmTK7{ zYvubh-zYlg7+OarVQ+u6Ut1%M9q!zt9_4)8{E7ME(;Vp1@!kDPdXJ!f>r;$q{AN$# z;?s^?FHbraJv2(&JsV}%(#uK9_Bv;MY5j0mys+f3K0ss|jYb;`DC4S^O6GW9g2HV_ zH@-G$ze=Q?Y4mb6H@vI*VPyP+Zll-nUXD&_p{jgA)5#ucA85*}Y@+fI?F@JM;yNmr zc|BXEy(3Q*gRm!u!+zzrZtm~tZ1SMXyh_)gf?w3_5B23_zE2v<#h&a4Tek97c-xZq zr<FIY#@eYMgsM2Y$7)pA=91Yu*I@Z-j7Lm8cQ8oS#~2e@TTJ$%z^o##|6nL@ZomVM zH<;wAhj%>14a_|{^OIB`a<A~y$9FHgg%>;jS6_K~HhjCR%-#&}Q=$%Z(r2qREp58z zZZAvJN0={psE`p^8BG&pnfdb%za{@E@L1MNjySulofiqskIeFtO-V2MGcoQ-#Me6- z-roqoaHxu;`sD_;+@Jv$YRCFTsWrMsWv$X5$^uU5+Z^s{vuJ3@Y}^}$?L3ahQ<)Bq zV@Q1SgzljtgKj*6lq>eCRcwfKx5_L&oVXmZu^{=s-|X#HX6{s}A2T?!1K%A3ltF5) zs1-z<;IQo*WjP4Ntu1fG9hpSf)E~SlVz?a4R-DsQN*3fR9$c^JX$fpR2ellkk-4QB zmrL<;{bn;k>OM8jTbI43?_@gK@U$^O9SJt6g%MUlLrE2dUQX8*m#g2dUfxa4A?#>b zusBhhRU5=v{Ck=$Wm?O)-42OP^B(-sj!m!9Yu2AGXL}^_{`@b=QvX-KMBVTzkesSr zC=C3e4L<Ud{N-pUq3~!1)P!bWbv#(ItHDnh{OF;V?+mXjO$R&tk1SdqA}i47v%F*< z>Xi5Hu5erGs}n&)M0bqc)DLtm*?HN+%J*W$NYQN~j11DAZ__mN*n_c0oW}-mN(IbC z>PF{&m0R_SIJtVd>Ppu7qVq)Zr;3)gW`nz_2&0QQk}s8&y{o+=YKnw@0)<`8%ZD!k zT$QQ^IteJHoUlyZ=Q7KU|BE;(3qvB_h&W&S$JU9>=qdM4oR>Ek_$qZ6a=w>jm2lKy zjV8J?F|j2_($XbHAj@Vmme8hl?t!1;p2y!lC(($hX^*{T|0_~K%RQv<W=f;&kXJyg z`R~h5I^T)SM=q;&YlY>_0Pgi!Tru=uAy0i1+HrT;&a)5>GaJ~SSi*ud+NypDKN^^E z?9hy94b7hq9zBO)+SPpRIGx!|8e15#lrkq!48bGxFf3qA=vuTi6es0^rfMTfY{NVt zc(a3mKxrkjJKJ+&$xjJ?e*UhimP1!JRK4Bcvrg5lEB@J#z@M?5$17p*l)R|qY*b(= z7G$26-MpDl&hmgP;T7a!5JvKdt3qy1HTHZoA{Vhjt=4p_g1NHL3*4lL`&q9(h@N$; zzEatt96hEh|L#PN)Ww*?y7Ge9veO3{CxR%1>hN|W3JM#jMxJxFO1f^Z9w^GE*gRTB zXN1Fx^G_y8)QHw?Tb`Y;eCDk2;=?V6Pi(5<_ilU&)AFLr-c0vg94__$QE#3Q294S{ zt&IsDX2_~F`4Ng~Mi!~fbc`&sZuPjkD_bR#G;3A@h-}WQG?dS|0NI^w&3dUa<@JAT z1}xa<;_uA66M&`H*<)Yx`F^)f91oUsn2V`=$(QtxEeEAJj}oH~<kgCnZCEo`>SgM} zAYG2*z(te>$jharD*h%_pC-_!LUPaMbIuDBwzNF(h(AMjj2I33xLJC-=8qziQib7p z9U!@4<A$4mQqo=&+(5-G)4B5_?HsKD0KksI@(d>k@j4jpSQx26hZz})l-upkqwJ@r z%~))yeTwd1cYQ6=x@h=Wis`;_?~8ENM&EtFg(=n1-`_PRl~6*TPijU?@RpcN8`qY* zs{X)g#>f6KZMic#pEQ+xNGnhCdM<{MJ1q6vf2SUh3piCfFiA}~*euJ%_$4T`e@=Hz zoyBj3BhoM_U-BmgyJrS=X-p6Bvj%SCu+Q1ipNiftq#f|Xqu>jp=HodJLcOZN0O!)7 zt#N3SPI}VCMf>$iM>_a#(B6J~fKh7pi0_E|(e)k=<!os1u47c(scdPe@nK41%oMA9 znQb9}FbQ4e>Hi@qquT4MLBSwDj&1BVzRSD}D%@b_D1OAd7U?xmJYhT%6{qwtJ^PTk zwtO$80ntYwl<;o>UAI0j0Gaaj<DJ+ip}f4RtDOQkZUojm&F+Q~g|AxYv#!Mqyi;hv zTq!2ZHwb9QiE?x`blo1qoG{~E9Sf&(4-eQ!1_SqKMuJrRRj*60x!Je0YcEdr8~tPR zODz!njMl|3vS68#87W^J>0?ScRsO$3pl|Tn#Z@SS{Pd#BhpC6|yDJVN!>OPd+Stx^ ze}yssg^X760TB;4GE{172*{0KC~h_NVd-5{08q@*nUjqB&maA5(4#BXIPgY7AV2Fr zdM2%Gv{kfM%m*Rk`+nkGB>v~}(YM!~7Vuxl5Ri9*iI%qVjAFpu?e3c}hXBIiwY8#C zwUIsy#>{Si$nD+W!P>(w#L<6jZt0&)JH!Oc9HGgbtMS>N7DM7pAj~Kc^m^7qV4z}z z)O_(oe({}OCqH}(STy97oIyZkm)&OPu+KNB&iiyiGV$<va#ZI~RlAXC!rl<~cHLYW zEV<9FbDpE!y#h~p@mIiz=YNliGt30^*9HCX4#}w6sBq(}>KEHBjJAX3A&Sk5b9XB$ zG&n6D7MN02gT4bA?gQEj+L^ea?~*aSi(Id16T1wBY`WTTddcm1WGxdWjQUS}{@wO7 zbI<SN>%s22dDOkojWD|NAyJyYkWvbOI->qpHS~LeimSO7d`s>vP>PQ256F&LD;*tq zU~IQffaM*<0m1|7%TPo0Lr&ooBJf!ci2>G$fQ{6Y^EOSY^=xzkqaJYQlAr0zn*|+K zEA(mK4h=an1<6h8CqDnABfxb^RdX{8m5txrDDu3s*O&~XgRn`HQVqTkFz6p!&p);W ztLo~S8k=wF@65~MIyImBzY6DOVSS?u?&m_JJaJ}(#U&n>(GOHuEAYg|s0@*go4;Ux zb@*mpB#IyI2s7H9KkebjDY`g8r>W7<s14bU?!_|sa}!~zd^(ANof$IT`BQ=DX?+M- z*D1v|KIJu+e`Mqd4^zY1Aw1Y5=x!jXv7t&h-_6!w-@uFjta@SO<24mAFED|=%P_d+ zQP#5`dG&$z-^bukCyuYcM`gmg%JUW{eAh-56D|k841Cjl{f%}UW?sLn^iXzm(X#;= z4~1_)Y&)mdam$;fw<>ypu}lNM`<DsPckFJef<QHw=UJVKWwDCGH@t7Q|NbRrC7O6P zc=`6y*C7VJM=(Y*@5rDl7ysY4j~IOsOt&yuv7luFi+|TcHpo5-q2YH+iqzitN&l2q z=OH89ypSS7Mba2LT_t55)>cz2?=6#CAicBIk0x^dNL#*9)$0bhnvfz_+=9RUsy%(h zez?gwOz=yvw~V9l=ZsXvC;EqX?*Ror{@hyJ^In;&S~Vs~kRRP0nnT79X^p@x@T%bi z@x8BN_yp63Pnt?HJk7&#Th!@kz(yVZ2ieBy<_V3~DJ>yOCd^T9wn&AeKQ;0q1bgI- z+@9Qp$I%yw?*~Yz&&?0ts+sG)ZZ(}upmCrMd47q8*-3$9TvvirfczbKbP8Bo>hK2> z-P(D_&CXRiUyF_4(r)5L5s7Jz={MbFG=XavG#{FiUJk5$uoUbU56u{9H8<Dq^=P<l zZ0F5UZ*&(uh^boP3BSZR=aj#y0S=1HqOCxAGHQgJ3~xUf`c#x$zozz|E&W2wwMOFr zTQ$V@hN{sSWdFWC+A0=wSKA`tSiVLOz__(8ibc5AHvTuXQ$s|dhF6|@+%k6%z*fUI zwQzWZzmEn2HD^X60~E?jkNF&RTO4%+b)=WRm!qywAsUH3fKJ-=YlnlHZzXw3EOR~~ z_b;m+rI8anofotM@m+<1Q$>fC&>2IQUH$Q?{tCleqZMf}#ox=ROYq5aN`nAzfZb_( z?Bprr<nv%g88jWaF%uF=#qQp|4g=1?puRjo-u=kICFfjv2!*zU;z|vdq7jgAve#)d zW5DP9Lg~kg^!K`g&S%fgCmnPWg@*DaPkYG7PL!?g@LwOK97M3@yOqv>OsB)j)A~b; zC;zPQ#vFHMXGcfY2^no6O#RXli&lc#+owmNWDIP0$M@WU<W8HTOr*=Cp&!@x4Z;UQ z4W67E=b>D%elHbe#O2XGUuGmFQATK~7MSb+Bf;0<*!BJ3fmRs8+x-mttFq|r1fSK; zDD8|v6_EnfHPlPG9dX@^R#KB)+g#vr-r$_n9m?zN>%N*?p~Y(w#c8I-`k8=Tv~vVz zMnA%tLv95qUTXWwc`GGaqGf6YCIn2KP1Hb2jrJ8^2{ZpGv!1q10}e}%a?9BG;v_kQ zGC2++LyEJr6ioCSsjfSb4`4FD^dZh9aI@XV#ntM%Kj&$K$N6SHw3Tplb0+nhMp#f( z4u26P#!>jq4XX?5H=}PJXDbX6K8(_@BU{)cUaHNRFd!qsK_N$-L0(8pU{@puR1lEg z2$YA?AsP4HBs&~SqBTiK22uj2YO$!F7{L47lUS+;5os(u(|X#FoybdDese(7saf=I z+$GWnV8BF<4O>9IIHjsv-`zh-<6Bo#rP{wBW4?z#8>txZfsVYSfq~RI+PWJ24o5_U z`HF{I+1kc@xdGkl(4mizEwU6X_tBjyG}3gj&$s8kBhD#>N#dWipQYgVk6!uVe=wvZ zck}GMdJ2$x&1;?ajjTMdsSQvtqyKt`dbRuB=0}r10z)^-k`y`&*EQxDa4{j<+4;*A zR2LE>N<SrWm*P4@-3SQQ76Xj#m0oJ1#;^G{lo#3M4&R6b;!VRURGn`R#Yv^R`G$w9 z05j<;s}-5e(;iW7Uqge3CQRxwm*hF?Zg#O3D0B9!TRUFM_2|vh08bxcFev-unVBF> z>I?uifTqqoM9<CL<Bjd2*32ga(f+Yr+rMc(u;k?$jzv!cSU|k0BfcLP$~i)VZdYTk ziucu=?|g&V1cb%=C>=dCU58wf`>h8R)o6nX3e0)?>8gh?z-}*kVHY_>cm`iyNtBqX zpwo8^1b%=gYFlh=qH&9SYyJu;tAsJ8)E|_UOi{Hjm`o*9tHfhWrvdZ0+^9`=!=Nqa zL~I8PznHyRNI6pmX7PWKfmKYM_7Zs)X4|~MHMxw?;#dm((dc71Gds?L0=tsmt8ri{ zK5oPL-j)#AIVGfUULzXl>D#K1&`^n#@y}WYc<VxO|C=mxIC)aZzi@u38`zH2_UI$C zLpeT7btvivtNG>B5%Q-jMsfy)BCf8It?dTFJs|ePMP^iy!5ny#sq<&nN7fsHI`f+& zNA7e0LG3u}VE_%!i@F{3?R10BG#dE+-a;-<U~>$M=|w2oz|1?E?fohW<m>B`oEvxL z0NkSUQ{!c3koraRL<H_WB@u~jr!`fd&6w;d=jhQt8U8$p;W9tk;4W_T-QO4kyd1}a z%p#hZK@o~PD3}Oo`E7#bKB0edGRiGK|Lb4t0lhMjY#@I?A6xPulW~9E(FcoS=j9dl z|K`S$lbYUgo!X~5)Wro!X-r8;(H%QduvxUpmfF|j(N&i*T$2=si}lNX!dk~#XiH7` z9{2aGd_lFa0E5TcqRc?oH)wH0itf!0LsxSCVR!$@jbCr#J0Nx@dm%?Sl)^V3>|+z{ zCC=s0jHE^H7vWr{0S9lAQA(Xgg`#4Y^G4D38x6rq26h0yzhf*WCtX5jcu!TUPN=^j z8`R8V6<rfY?^WI^e4h~IRG6G4ywoxuov*sflV_-RyFPV@q+v6i4$4pT4D<ahW4XS2 zsNJ7Ly_*%-U(lPx>l{}6{CeiGC&!Z36~MyzRyAQxsJ?=5k}{Oc^vnu`j$QM#unPAC zIJST%%8!AHxStYXd}MWivCj{sEGawQtj9Fuohkg_=5h05pZrbXTdEOXd;X``?uW+m zi^!x6zQv}`B3x!5NV*^+)iQ4+t9lS;;M;+x*RMmHo{&N{jL~&7f=r<fmDn$r&rDD; z_~MBreu{-8-&9k_7*720Yqs6HdrufqR+CG?0l_0PrVSDOAuU(0UL*bnDW3ZB*zN>C z5A9_&@cPK^X4Ho{S&~A|yuI}-B;?V&rO8LUgN1)Q(dtW{wP%o!rI2=G6vvDsS5;E~ za(l@BgpZ=Z)^c3Ug!{`B9-l!?g#hmhi|-8=az4~bjmyNq#a~W#wQ@y8bB5ChERJ59 zwvJp#g2j*(wqfE6aGr2P%v|vNw3>g05cJWq{z_#i>~W22-sL|2vs?O*h5MyA4~vTi z{`333EyvH!uX<Q57G230Ne$j+!ipmzAE}Lcta@z&{s7=X_zMmfm#M`k?A;&XweKv! zj+9Hgq!h3Q>oL`hcd9yy#dZQM>pptuD1LwR@W<KO1*du!YUxr&v*|wU%`UI0=d0S9 zXNw`V73CGg9CD*vvpA<>o|(BGX6FPjv8br|JU=h*v3jM(HG8UHhezO|R9NQJ@Ubs; zj~T_yAv{7+hITzxX3hWD@<`f8Vp&S!1|g@PrqPH|4Wxf;OHm&f95p8LzVEC)T<sN1 z{u}vp&*<xYUrpU8S;)LJPI;V?&oQPCSx$520hQPo`dfcR!JtxuYScv>Eg<@?1Nnl+ zIL3<QkTOJ{nKKby2SKO3l0W3jCRXSKAXc^6UE==y{-4)%<8JCp)@^HdB`KQ)*&29N zf>26G@XLIba*eZW@agotoGL@bT~HQnCR*B)*GN9yXU(V#TN~Lljn!CjHuGcV{3Vwm z(p+oyuC4A|yxYoIl@vDF{A-7g;v~zf&(RzI@@8<#{9@Is4CPeo49h>6iQD^YG_&5F zJ-<rJTSJY(aSgQK)j)a}<N)5kOi4z9R%foWggt)RO%{@Tf9de7S%vssemffJ_RI0| zK<z2J$+xo=z#}kI>ce@(C|BGkfyY3p@qLF~!6v*h4V?!=X(K+E)L9nhrJ7o;76HF< zayHBb{6RTcspL|bPS#ntbdJrBR2?<t%qLxNiRbEn_Z*0qYjZ%p82b<gcTF3N>*BQh zyCk|Y687cj*CxLGqZYE}Xa7BygiCGtCkOWfwyR$M68<!uXXL+--w?(EkH&G`;W|=^ zv_|aW*w;ZEcJUk2qQM*sC-Umgbl*s7xj<xdp7e8EJYCWzl}(5JI;3ez4%Fn-=FzcC zO~3`(SQD7mn=Vk8P>_&V$n6_JTT>u|Zfl~d)lF_M+4v~SIbR;PK3*oqezS_ZCrqth zAt7KC^PLpAx5Hy2cA|K+E_*3oiFaI;>(Z+yuNDHkHk9-8588u{^z*ZWYyYvC)ir6^ zK84F$gZ*L27A=|vv&IEM%eM{*53-WOW3x}5*0(Y#Zv`3iKdLyhcdUfz)E5Bm_Kb|O zg<E{%GRi{m83u?{<e`Y&-u*^x+a~g6)oWJ(pUm9kwVV8I&jVjNAG72ty&Jb5=A0>- z5m4h7nDsmD;|M@l2ZM)?G;iyid+!(O071yc8rhZYhQNYJf@xnvv)Xh8#w%ntu85^P zOB2yI<de7X3;G{#fq4AYC5;faH?4^HUeW<1QVHV)@x^VfL~<}>w%ZLZ7zIw2r@u^3 zhkY5R-XU*m{HW#T(7o<Z-Zdm8p>s>Bv~Rh~hB2FU>){RWbJuTqORAIw^jDlbP5HIx ziu288^f?_wUlP5q1Ud1tzO>A!*SMl|eN|csevVgVHFy&*g5rPObv-y(({n9`<A(UO zZJ5>AD+5Q*&*h>yMcp9;W8BWV<XFU74w%H-sh@sRys*^$>(n}P5fTjE<bE&!k)>HB z89ozvF5A6WrC-2*F{aGqPQVwD)(H%XCtYgCwy<`U877qHHlBa!<g#g^FGS^bo~akT zhCui}$iTZ+*4W#-{{#+RnfyQ5lGI<B-QfBxpcgo0x9^A<V02!v9W608iLeftLR&WJ z3cDoFs)}*kScZEC?^Q@PAV$VYuRfg!K}5v~zv{bwS7g>+BPkT`yr#xfBRfV+m{5J* z?@EZ?t^q+I+iFO&Cl`b@)W3@Z15{34j#u~>sb*S9UP(oID1|CJAe0+G_!ieNc$=~@ zQ?`0QkL>(!!#rWZ{E0YN+)Dn1tF&&LvUJ-_dV?Gz&(sKFor6!*bQ-0~n3)}f@UIk! zr7$vZTRaVq+5xtn?c0}>r$f;RV(&|^>FymfeFYf}+o-zjYJQ8~)`+YZOCzeannA7t z7h|)(B8!$rFsu74uc#rv?t%leRza?4v$yvD*m%fb-yy}W*Qtxh=SksOw+x$K+;|bR zH2JP$)$W<AbJlovbA<|xx(w6lj&C%T<P<ATu^SJx+QmHBL+w2{aGc?e5OST(Nq_g? zTd1BA$ox6=mNrT$qdaXRPy4~*W6TA#yzTQ3Z-06#AGik$llH7v>HCDOwa_r6mv|Wk za;X*zjR5FGBL_%?9$>_oyM75rX$W~UR~LWz!!_d%t_0!6kcT?*@;&9}0g*TuHQl<q zl}T^<p6XC@1XP@_HY4!&zgw<4_Uu?g?MP8Vep|%kS$pni)`@qI52*ou$L}0)Lp14; zb(x|M8rd=eC6W2h&bmY&7Dqnqh}8<(OEU)L#A6uT3N%69no5OW+y+svpuu=o+jMJP zrmRXg_#hn4y?QM{CS5{gdo}Zl*^R^W%1r&~UtV1<7{TYQH~+CI_7yI=P(v08^ocHJ zfv|@jiKG&kIn|VmV4av8cL+6~FvVtk3#C~=%Nx(whv~R9zrI%}p4^}JMkAOaqdcJU zqS+_+d#U1HW<N6*hd1k3F3PbeIk{$Gf;i(}6m-XBB%ACt<0bR}yE;U14V8J@?p986 zDD0n+&V&|-E?j)u8Jc!Z!8ajsj_-x{k6X1_jSwM`m$f0|6x0lPC1Sz3Pw6G9yJv(o zY*mQ~a$WI<3YOBrzsHJWy6@y->=NI$%bj(Kk6iogdYIl(P0{4Z<ekq+z3?uuRMO^S zyCYm7F^Bry(b#^%&AGHz)LzDeqy*su-N6U%PoUskM?F2f6=`iDsrS+NARt52UC&$n z03up)G4QWalfBAo<L32G_fXX_5+nJx78wsn^%g&ldgK;O?L221Xd8_}@HsJc|Mp)| zV5qXM3A&100e`cX6;m?`)D;=)xw_h9R1ZYV|507n-kQe&?&OUyeV*C7&q^dDL{Hh# zSH-9HsdS;#m%MTB+bwf5;F=l8+B_ryGv`?o^{fyrZ?9vf%hUk_F0n(fQYvtDbB--5 z&P>J?To<_s|05iHSD!<ee|eL-Tjo1$R)Aq#ynHbslY$_)xm9{!-nrz_|BPSIK#-}v zN9nWN7&0rsHb2ytO*QNU$pE0B`!RP9?@{rG>~Pe9RgWauTslGMe0xBEhoW-dqLKBP z8+?*}tt|^@_j!1Rb7ii&4gGgj(yt+zO!s<)v2I^U6xhA;sxwj|bxxr+*X7+j#+3U> zRBa-Uc&mgXD}0|Epq~~lt935CNWAeK-}U44Xga)?ygOuFjb=H1H&0y8-qjBp_7%69 zR<4l4>#jfp$#4SpoC*Zul!lJ^q;JW2E|Z@7{O|lOGt%8?f;v-=x0r{?c3)^7S5MG+ zrT=Jwrpn}YU@5LQ%GSdiA6~fC<WG_MBv&*4Ls&5XAKT|*jMer8i%rX-@*D2>+2tG0 z1=U)pEa+&lzQbmUl=fUem%u%8i<%PG{+hYM<c95qtl(cA2CBSjd<<9zB0#Tr`oXNt zAMXOG{9I@-GxCS-?I|>?iJrbdpdi#z6<t{dGXNr0G1qxSDy;BMa6=;<!;GBk^!y}# z{>N#qW9%ErfRlo@^Q_<{a?;df3d4-pmp&%v#O>D+o;+{_wTh7mN6C_X76J?!l&`BV z=Y~fK=pg0V#}R0NC-A8cvmg}e7QH)v=%<Ur0|c5Sr?sodv%VQO<9IuT;snSNhV3Cl zMt2CH#Xfk~FuYNn<(sA^tj%oP>+@G9B-BpeF@HQ&K8|2(031Jghwn<|<y7&cd%X$r z?*t+bHTRiP=nOscLHptwGHNNo&XZL})6i0#m?Cv0$Oq^0A6;O=)OUGwg00B}LT^cG z{^}jy1F>vRQbZ<kJL!K{M4V^DfGlyZ)6eQ6P;EIFf<jICZflhE8A)Kge3?;E&cX?j z5_q%Kq}q5ZnmwRizxH$=t9R-tq-oD502b)MR!px91hdo+1^$N*zEzVm9WLN;;2oA9 zh-{`DP#Xkk>NR)l^f9$x)ZEym?<CP0N?dA=@^I`rZp;lV?r(bG$ltt}7r)N?jlp{> z_sT3S05B_fMb>Tk0M;t(qCeRSm{eyEV3LhA1rH=&pJ&xe(sRS7l~p>LKxveXb<{#u z8Ut7Cp1Nqp(8;#ih<d<qhso}x9z=a&yJk<=`J2G#6kbhU1m}(-dOxBnlFGr02gUuR zskM)lu>kXTU&kVF7+h&D{VgQSqfwZdLYUYkgKhQu)1T#0BY`<E2NuITk*_+^nrM;q znH_FtDq)Dr7@ZL%{Luym3YYFx%jd^H=YcXJ^0T_z)Y4r7{e_dS`1d4#4zStsGYRki zz$_p5bz|x{7J(BX9fv31pMtWAWle~H5H{Pd(<vi@bA1wKuG>O?E(CBc`<DqmMZ9Gb zCf2loM$XM%BK-)X=AQ9TtWRWCe;^Fdxli{ex1?1^g#-VNwa$>p=A}e0x0i`VF6U2w zih?hbX(+3-{U~ZfFYT^tZ&1i=&YAqYdL3|Yt?wl@AGN>YeLGzB{J;bX;T?h?-hWg$ z^T}S7ww%OVVaO7JnE;#cbnxp(OmVB{QX=67j|Brd!M<iiKB?<ykPZs>0|oJQzG_~R z=`#CnFgj&*MXmi|TJy)vyXh6v7?AcxoT#F%{7G$xggrnS5bF4vmNk0vpqa{!!V!~= z=GyPL_mEcpu^DHXkVQh9tGzY5IeCHi0wx|3d*?QaiuM^wm|i05I-#hF#^AcRrn6h- zFSm^$;$WlotC&9+Pda%O5XM$g_rYL5DA+PP<It;Ak~wENb=yC$bMrMI$T-F{-|0MS zk%OK_AXe1%YUjF^F1HAW2$({5)$l04`};M`v$aI{f*a#rWh(K}dH2zrjpgUZo(^0} z`Xz8k4_SR!0J)B(+jyF4*jEz}w51^2xd`z+tKj{scgs~2UhnWbFLjs+y{FieO63_H zd0HAZ4b&nb6o5b3wSOITyJzG++gk72Q~V1dfP7Q2+W6qVBE3GIkf@2=*x2rDR_Kz+ z&yK<hg#>5KJ+h-$S^%JkuLl!`q$;Re1FJ|`%7RPm%YOS4$98uSAyvT>71@c6QjLwl zhk_+VJs&Tg>eO3a3j>lm6<BZ0VQc%M{YIAT@IuZ$3PPkE>?>)H)Hk7zUPGbD;BW1L zlBISkUS7x)A*u5-*s8IvOB(N;)L7Ck0onaE-%FY?W^UuQ*?K`Nw5n^qSKCde|5a7x zzB2RN5g>Wel>oOL+y6N_>#(N&_l;vB23QD4sg$&UbXl~3<dB+_2uOE~DOj|`KuM99 z#F)f3*np{Y$AAf=8|LT%gKeMR`TqXhA3N7|w(~yEb3ga<y4Qe;(G?4X-mku19g`b3 zys&b9{8AT-Aan)vNJ8<N_ukGO^JQC6L?|*p?_V$m=~-P|ChB10v!Ve}13^N0#dy4$ zdWTm{OTmBm^62|QbYnHnJNZpPzL+nHMUOn67(q@~=YIR;vI>zXM~Sx^*@diMv9{)o z6!uGYIy0qzQBQ2U(#t4QT@n+CS7+J+Z9SI>eIn$TXpt}?)%tHa^t`ZfMZZ#h5ud9I zF?&a{bg?7|d6ehpIfj{9V?>vZ#d_~UG;E)?>lceWOUGgCSBO9^TK0v>r7WwWH6%1^ z)@bHvFrV16pJ}14C%$V~E7tdCLx@|TzC-Z+)$iY@@)17o8Bp77+n4EzxGujPg{a@? zvi1!<d;j=&OA%Iahl!c3P|57|vDN<i`g@<beCE}H`&q#)h+y%^#>`RtND6sJq!DG8 zq=^{s4v$NknHu0ZB7$WV6?uU(9Z7c5^r;&`6s{SSkYHEuH~IAjgp1La<NX#LTGI^& zfFnwz!N=pg)}JtcB7q>dvRzDSM2-d>cN=Zdp~zn=8&c9QrD|&hLT`5sIDTY3B68|W zj#G)d0@Ec3dCTfigtK0&_ca!FEoat1VyPyMP$Xhf$(2rMo{vBTH?LIu?Zw<Ry4$UE zj{^+t;oLAU&_oX@y)5Ln!rZSaF*|i{{j3t8S{B$2`>Y$)&^PY3wQT@4>EV?Vh&8VY zTNnw2*>GenRUlxhygJ*=Y(7nld3iOL4gnl~D#NCvWL1|}=wf`$eVusp*+5eIz|vlo zr%fog?F6E39jw&^MVhW%56XLFr%t2Dg4hbC3Ut<JyQy9CHE{E1KNd6_^6)K$Ery{d zc>oT@9~}=ovDw)0et`MR&AmNv>!Ldy$oB)4!aN93_zR=qV(2NnwzRc8#@l+SPjr4= zEb|UtD(Yn90{03%zEK0t)g!z|hEPfih~~D<<Riwp;8I*z>Ag8OxoZ0b-Vgo-Q7OZj zlKBRtF@`4V8F#lSj|1>g1E9pex-+fno3G%{<8*sZRl_}zO2-BvMJ)^*y<Z`BfvGh? zndG~cpYY97JkUAcY?`G*5Z)BxwBByHkvCS5GH^t@y5I#yQFk%4Xpsh47ppJTv{93@ z+5=7Y>+QqC{bQy_P9>GVS{QLJIpSW{T!O;Y!1t>x+_O|Z;Ek)Ym;?`+I@sf9XfQX) zi#}^+cF##)PM&sd`@jY?Zbu97ohqzG22s|U0+C)Dlx2j-OwG+pbR+Vig)7@-RU<`c z465%A64`UatP0PpK2r>e6aG}Tl((H9*tnR>PCrr4w|Fs<_&zRC=>E|j6?kf1?jbjW zNmNNa>3>`LXr1Vhnz^sLNniQkerG5BG{Y-L*1MI8hdrok%~L2PK&03HIF!|`%%a)- z?Na(1le1ww8+w{h3F^-@SP@0KZxm6Gk0)A4RAcd7NOCV_Vcf@H!tzCK?An0#)0CyL zCZAxgkZDZK=6c{x*41ZS%kHscBA*NW*s@_aa!UJ7T8*5naBmOh%lKA*<6F`$nPRW# z4T<z6K$326%aThz<-My0;((k@VFBu&AMnt32kb#oQw!2{#!<l7F!?=}##z^QXL!nS z2^@Hj*1ecE?yM<)_MZ!}DR4OPMef8X4zi}b-roGOQLbkxjr&o(aP1=IaZ&=qphHt$ z-qXT6vZ}`$%8#$gtZuwrm$Mes>;Od^CB}?898@izI+1OG5xyFcKNa{ES1M<p788A( zeuyGYQFk4n3Z?uIQ}x3_k&K(7MfYoc^zZkq!6$fP>`1?c)mpD#eOeNQX5MLHf1tP< zzBm`wcAsiL#<W{U(b1Z(PlFXHIHMt)Hep8_HV}6MC`121i@l^}WKg^pj>Eg23;FJq ziDZV`#|*zFd0h0uZ?r7?^k0hPHfp>Y6TQCg3#{=Z&CpLxAn1S#p}`mTcmh=shzQeu zI$GM8rW=|}G@iKdzBYTsb_DeWeOAV{-%HYaSjx%D(T4WsEPv2)W}Hth^cqa30YmU^ z{Ey|4Z0yfTu@sa#fi+L+nwLrD>@9zRtfH_FVZVY0x-=<CpC?)Ld(WGkFHbQ{F!38Y zE(fABs7JYff1pe%n)kt>RF};QIFaFKPDfOWT}Mjd%^Ue!?YnW@9!!3(7Qf-vpV&H( zwQ}ODl5oHpuK~9`MCOM0V4lvt18{L9*<yZsw^=lUpK)l{WosHdMn<|&1Ua9^&Tgkk zHj$ylQ@?M_mR$AymlOHpsVTR;A<+y=VtI4vI5)ttNkUvhAw4A2V+QN!uz4tOeRfQK zY=_kUzi5wWuP_<r{=xzysnPsy=FaGygkDRq^aA9iopXQMHT4|re`P{n=#^cv-HUW) zi1=}~U33$GIoHF#kFCogWp3gOkca*S+*BvGvoN3SoQkh>(*<!+d_vG4wn<O)4Zqvw zLltpVC7)Su3z<r3UFQVnA}nS+rs>lT+OyH{X}9Y)8yAWl&fP_(L(8@G@$L+BNMtLX z{Tm_fRmm3Y-Bq<u&c_<oOz|<K^hKy@rfJ&5D;UgeS~T<CUz@G1feB}iyXzZRN;koG zOGV+lNgkh3Hq%=PFAvSkrqGaR)VS!!d9GId71xGj(C|N)Gh>o~nvN@Zcsc769YIt} zH!N1Vo^f%u^fw_P7hmUJZmis8as%Ag1tsoi{Nq<?#GhRV-ZUVSzEUv0#FsC<oW+?p zJ(~p^oPXwVIizg_UYyszv;><%jNiFF$x?SaqfE+K<fls_Y-bDAl$gghuGmYUh^9GU zWwm#yk`@7uW6Fn4yg{Ba8~?EY^{dd9?|$2{$U&>IF2s4LZEtP++EY>I-!BJ!=oY2x z!-_>ku+Mh3hpG3uK>7x0Dn(YZuOA-emZK);r-&N1rl@Sp+#!8H@LnlG*Q`<G?m$l0 z>h#2Gz+p}6K0LFn;BW|?kEC3%!oAY2Ml~7!7HfctKMgrBho{PQ^3J%X{&-zBaXqyy zLWQnoo)lr7m}@ocpxA^M{5SWn-81j0jHs<{z<yw)2t;Ulvjmn|$xMd697whn5F$t+ zm=hX*=ig&)bmSc9JMvy^(|V*E0P=5NaExkNtgA&g1G)m_Qdr=4X|{*$!06gxK_!?& z!^|7%=F=ll`<e$t^W)~o%Gc*%)ta&2cUm8p3>u=>(M>rx*+K4jC2Ryx=CVUrOV;HK zf0XN=c<8qHBA1<wk{_V0M)ep?FmQkz6@C8q+UIBgmAB^=k`)p!H7+{g1$}MFv9+|c z(V^joUk_N=Zd-74oNoy{Q3q_e1_FycRqus2@R}FFSp3PVvTu4(PhxH_YmEkcqxZy| z3St!!G>j{yf|onEI7>En@#}%1f)}&tS;y*UPNzMp1}&!MwWw$$3P_4u1X$P7WKGG; z6P0qw8R=Ghwxnr)ui<tn02qDMYVvL4XbVfTr^IgNCCn?;#ej2SKUNg`q^<*%%LbEt zB!K4qBp390At4Xz7>drv=K;T$A#oO$WpOL}VY^i+Y*^O}WyB_!_l@N&yB=SlP0uOO zrZvL}p8{H5MMCw+uz$M=xg1tUZDQ&n!rbQu3AVzPmccCOzh?G9+`DqQ!5#Ki7QZGo zt-}weMce1ot^5@|OM!P*S24XPGHUN%Bzr-rj&uBJ*W6h&Kq^R^V$~{A95>0jgDRL> zVnn6nB0j-FH<jILD65|8ln4HK4IL)hExAY0!BJxg4iopLqI%16bF14QZK-oO<%b<m zDZr{(hFdg#ti$1MKwTz2b!7tm?auDkT$Zy2w_XI8E-@oOFxzs_*wl>6_#da`e-s1- zLxX}9wuG4Hffn<O@fPM^(VVy5obMaOD^>JhfC3XB6~vIS^GcmXXss(;kJ!M7x*Dl} zO#n{l#dwdE&x|re_5@!~J_nmdu!)D3y@r<f{o!<qz!CD1LgNAl%*^u6f(4J_1|b#% zhg>f~<zqGpWrv{S6HywYQBFvs1zFCg69u259*eY58GW6Tc#knh2*~D(f!~fXG|DNw zxM^g=EqiC#sM7R)Y^M#n)kOZsn#FLQY;ZUUf*kjq-1&Kb-TYfM_lLaKPwasb$=6Fz zlXDZAx|d(%G}jcmFv3(Pep9v;1R$S>I#E}={cfm7_5~WDtE*Ajyx#aG%v+}%v-;H2 zsd|A@uO1kL68SyLbIq~F2<?izun3tZlaK-|YIoe@FhXdbydOL$BX;N;IB$nnn?203 z7z)xiOh3)`y2lwq;k#=9x~x?guJPgFPMQ0AGu6GFRg8(1-C<=`4`?xJI%t8Cr$RCo z?7?Kw1+#w6*snF;AEHEA`HY)h3A<;%ww?aT``^ZE=FqFtl0X+<fwP>-V&UxQ4i$Wa zl-5^o5;Lv{FL4c%4(ONvN1SqF2+jM(U)Ga-qoIANvH9r)^pmuVMzy&636WQ_c^6Ke z3rQ@Sv`pOKJL$FabjQ%xBJ{x1fR2@Isp?pdl7zUza=xRc_dP)rLi6#fsFm$NgM>!~ zEfMVpUhcyidpscu+%8Q<&wcmS<l7$Wry1Xr;Je0=bGcI(^ylT?#A2FVo2)hfUx>!H zpfX@KGgjrqBCnNFd<fiq3l6GjZp402f;p?v{hph|Khbu<p_RISv8FcGoGDATh>de) z54`9zBcx*MZwj#*OE3k3nW;8#)uD_ubF<i?D&Tz>x33)QUB}SbXjFg-P1;X|g^Y0v zOG~*br3!DQC~3aaY`p<+Rwqw1WYp={>oqh<NdtMECCbsB{!7i>{uu=`wTw_LSzd9% zQtKmWSr2g)#4rrDIk7g=vo%+WPuAx0v<|R^l=913HD8&$1y#FS)R#N9-IZ+DXQ%#N zRqI7+?8PTa+ty2PRXDbwjRt0NZ<erXNO)SW#0>4@!I~7``~xk<A=uvw`O3QX{s*HR z$(*v6m=}ISlYfLe-*@yJ?+FLe-OuZvhHPGn)bP2PQ6d}3VQpTA_B42ffIy~{cC^*z z*`t(1JueuRNg}S2j_3zk%>+faW5t^G<43=*YUpWjK2u}N>dFz;z_oK;0Yk;<HP4c= zjM4bTXyZ@t<8`dVv4PS7$mc(nGABh3QP?xP&K4D^B0qkU0A;>tZp4DEiH8a%8ZX4A z+XYB|f_uuD&ejUax~3*Yu`%jLE+?@htRr~qA^=`vH*k^Bo#uF?@SA>EmN=ZAga$8i zIIzX}M8Eh28RoEB*Opy#U~Af=HjSs3qLzjZy#HgdyDpZ&hJG&=;q<X65+Lmrc#4R9 zhdAJGO9Ws;Z51agh0eF8VsdBq_Q|wC&)fN`=|26S*yKfsS|GhlG#>}mU&(M#LJ@m5 zBEN=K*Z$DYartb(s&Xr+9cr#hUrhtR6u=^SH9}lD61|UEARRH>-bVf4@~5G9BIqsJ zD@PU}G!`$r#xrubv_ns|eSZBirNxEyr}oMkX(u`OZ_X83|Bh%sub}w9umwzD@^sz& zW(^hSQ!>A!(xv{T{&buBt-<khRzU7=<f4FAFyMOmrLcF~ZKAlEl6GQIAY9;2I_ZDb z)LV96MRjDxh5W?e(4~LsK-9gAhX>M^Y+)y_pZDAlh}NR33hm8jXDJ?VkO4T}+=q-F ziR9uPjzOR&YO@{bs|W{#rML3!k2y7W-;$_wNu6(aM4a#${RKY1=#TL0Cr+oQNM*9T z2>d0`7=IQvh0V?D>x~Yi|CLPdK+=FEV;Ki7>KgMUP8bKI2ixT?BSM!SwTi1~0DV(h z1ke+gxM`xB0n7H!<VRjW$rrGAapyz_7;xYP7zz;V#x)O`3$~0B8+@Bfc(vKj`9uu~ zB|m&&z@y3tXGlhADw>3vqQ<aa4IH$=fX0_%Fidfd*N_Q(Tfd_E9}9=)KFo5sY5bi~ z=X7%>{&C*6NZsqXqSyPrW`MA!ofQ7JQ(P0!|5Fj#p@4wFOzryj=f$;L{{bkO8HQx{ z9QHU+w=fo4^j_O<S7~fNmA{}F4ty;cRQNtNQI<}UE%^H07~DNmK+C>tc>0U5Q*Ew` z(EqaHunTvmr!(dJk3TxtcBoN=-~399wVa4Jw`}n+GJHZG?qjFo43*g%HfrE&K2V$~ zm^#dH=F+hiUa4o*UZJY&RiVB+K#{w0={SjLlJ5S$UU`0-%TPY1;DVX8@;l_x;o3n; z-rW-KZ2CsD4s%d$g2WusW_NwORI~no-JcHJjCQ<AJDkrUdUA+<lSu4cOHZiy;9CV8 zPDjs6J6&rq(nCe2U!Yhu(C|<wT<|dn=jgk;LpO4=yhp1&WIEzkW=aApNJ~K8>AGa* zN%-m10^c3a4hGcWZ0=%J08qUz^s#_K?#|q1Ne0Ze5p5%*zD1!5HQqCpM+#Zn@)eb) zVvY?5DgslN!k$;v6d%{&)}T9TTl<FAn+%1RwCB$C=NIJoUc9v*Dc*Fi!H|I#-N<=4 z55S@TaM$vzX_LPCzf;lmfKhb0iQ6jCxz2}tMBP)RxzUmIgf;d0>3SA{SR}yTL3Rjs zqpf%i;DAxIo)mnL_H`sReK#Uhg_4-aghdb0m}jF>8XT%>dW-qkS1`VglShN=;DHVB z=Kw<zoDspP<sJ~q+|&qwazy+<kM8f?o{}zb&=?Zh&^doj^LPQ_+e?XTVl4tMn`7(! zdH6rA&^;o-;Fc|gT#KYp7>cU;{BkYs6ij0QkN1q&1X!_7z>EB1pl!K68Ff~!OQ0y1 zsQ7AHTJlwQ=`aj8E?`vAh7G?0NK!|myJ4Rk18A~BgrZ`uESgYkV=c-53hQD0%3G#! z;Gcv<O!F9E@K4G!mJUY8G2Pn)*mBHs4nP)0H>;oC=xj;v*B%F~P;N?#`3E6%?Z+yQ z#(dUoCy#J{*raPkaQ5NlWE{`luYu^9JO^?0wgcjp>u7vZcGJ`}o(Q$5A|jnI?;4)m z;hcP)0cAH>SMvv{C5=mZ5HYE8@oBIlN#vpMH0!p!*T!Ib(oMU(l25mk&arx|AXNZK z_O?1Y58oLl;<m!{MRrnqRuQM=VmjX2FCKK1aSn-AA`nfAWS6^eueAeTfIKA~9tr=u zDYD=|{@`pW5VlFws#ok#zD^>KP)bXO2}aLl(7VUD)I;d;{hs{~!BVawT0RxIj7Wyp zT?5StP^5MX^V||oK=a2+8%Nzl0nv-xS1_8arT}Ai3|D4}p2#KFg16Xw6xH95tWQ2} zp89o-Sg2i~SXnw_S|53u;QhXFo|7HOi-X%AESI3XgP7<GBnvhFGl}Q}dwFdu)>0rA zzNteor_L5iTz!?3mi4_F!CvP5gB68-Au3_@fSjgKz(hyGJf_C&GqXVv_Q@mze05eY zHY82#;$O`Z1E*MN%;4g}yONlorxpP<o>SNvdKO)->`Y&kFzF5}E3A|CR6gu-hQ&I= z$Pb1u4N?;2?R2?(Y1(D3;K%6*P?4d8ne|M?4xOs7x(V34ODHCzLg)B4#0Abq^0^jl zm9@2>S6dyPV4@kmD+e%xDF$FU_#Bp0Y6r92<$g-$W-0hAaDg47&=$2XdSIZrx3{Y< z#DH2e(dr1T?nnojPPdXpzT6Gf-yKK`!kS}}nz#A;strmA9m|Bu3v7<HCzttnKLMqt zH^Cl1QAo}8kC%M-P^_<aA48>`N&YbA@gcvq{=8Cp%sst%&o#0!1_JF0hdMr-3A{?M zz<GV(o-EFF(KrFH9GYBsaFkm5J8zy1A9(W2nMXgQ!l;Xpi+o4>RbToovW+F51ET)D zhT(5I2|ZK05(@-+!H#6D+iKj*^5!9+P1|j&=8$tf<lV-+!?6TRz2R@h&(XFlGnPct zns8B#-5YAd!=axvXK9IFxfkB9rFmMu9HkI{KwC0=Gr2|(Men;!uXL9)mdy&*MuIn~ z{l(WRSh*^_;W;zg^$aMo<wy_uZT*pQm=8W^srgw)Cil8Rf#Ke2pNNOLy6nJ8wKRV* z*!_#DIrly7Ob(w(Vj(Bj4T8`5fSIJ-uKd>pltJU*$x9>yN|&Y{ZN9$bRbZerCzV_j zvAJ_9Upc+TaKG)zlY*RThW`;rwl1nB1L)CBmw|c!05h}9ZBl%Eg%#Mo+IOFV@#~dB zj~L{xGPaQ{<(veX*HI3Fi>^#vj<^8}Rm$_skHR@yUf9jISx6r+kJ!$S0F^u{F4OJ9 z3D=GOYtrt~IdHp6UZ+NT1K-RZbVKc3sMtAGm$Y93y7Jmj1N(vr2sTX_62K4IW7F+n zvb_W)hr7M2@U`hb$I7j$su95yqBZp7b*mw6I)>V%;Q$Wbi4}#l8yGH=lx6S4w6I(J zt%-rjU+963_g8hg4Na_xUL>mWhcX~|h}qa*tA|ehb5c5P{J=`(7j=(bJHub$DQ=!3 z6#}7BnEC;ujG4lQrFOdfo8Eh^RL#iUHs1|=LP%Eh)P1o{$($!~Hf=lAVjlbkU3+9= zGAqJ0Eg=dBw%k5B{P<?^B_W?QEfckCiBQv(KChtp+&bbmk^TWT)rh46XX3@a$JUm? zPwah!-GBa8?K(ZXzj8!Wj4~B6^Q04x(+DdJn~BS?`~mP#1Yhn>OZ1LZe5p>4=nhA3 z!-SqjB2!>=*|Oqh4Qvd%14J}NYw2#KNKkE$khongeGII{7~i8IsjKwnULawe9rAEZ zmtVaHPFEZJU!lUV-wZ+|&f@rwA9Or^n;gbXXO|mmlDHHoiGegbC{xNfxp2EXY93-w z%U$WMEPerUo5}Dpe#x2uVkTwA81T381mGN}WC!Ed*G1BJS=ufZRk871ynJr;p_sO# z`iNz&?9He?N1|8s45CZOL381x;@3s)m+Hp?EBq$@Br^H=2)sMn7$tchh*@w@^nd`8 z#G=7Pw(C!mu)34c_Wn$6)fKIR0)-f}thQQmRb1YM;C1QBe4opD=zB8~|FJ}+5GF&` zrhg{R{C)}8&}MmW&ONkFGe0|neIuYco0@EjBnVx%v`!d8IHvSu0mFd``?cgAx*Qa^ z5>PsPL<iPOy{Zi5OM!)J@CB_6R7oZmPnM}ea%M`q$WVu`L)U>YW+;$z*bn7IisbxZ z3a34i{+4dkh(gD41-HCBiIn(p`kQetO?9e{{X|=osFQWDq-x)fj+{(3x`{F<I-+Ey z>f_+7)Ad=@;s2s7v=6-s`avBIBLAo}=fMwee%cf`Fvzxg)^msCs2~442Da-8s_#)+ zc3A(~Wd;Ukj+k<&`1Wwu(;P1>GZ%1I=sIh_^ra<gz+%`tbL9c%L%03{X3%?a%=z<T zaR_!%?PJdC1a5T!5nS!Gk$g?#uakbLAy$v}W7Yf3yLYJ&5dA90+bjjsc|`O&#btMX zc(YJ`GU`WJWa-3=L!T)1?Wp4ns5#;M1%su}_~4kMJzERMOyHnd%MDA3$QY&iGWm|} z+N!d&&K$~mYZcze^IE{isYN$L1`EG-`LIr$gMJctwo$Gt+&FfjMx591j}V`8^G8-| zuvKLqCL)*=iliP0@+8AKlZqmzl`+%P<x}*5!e*iMORT>+&aXY2aUiYRZhrb+OXF5f zLt_OHp_;9cSrNr@y!u?{uP}$WL(b9nEy^>mDuw!ZlWTD39;TqnfMv#Zjj3hP1_?)l zwm>>oI$9W3i;Qybo6ix8HR#wsN_}67p9ySQ-+bB{^QJ@ML3iRGj-2k(VkdGwa$4z1 z_LTtb2v{`oi>HZU3HIS0AsBKX9c4P?)`<PO*dTBJ_b?XpfzT-|X}_K?n?1ezEK}^& zyjAjao2aXt?s{5<T&hj%oPlaTXkul07AzwG!|eOvv#@wXwENghjcCo7mh7R}jUs>X zg4SjMJ4x}3bJG($WUFm6LYkGi@`WI5%p7P*J@=<j_*CD=Y<TjADhWkZ3)70tB0Hc> zDh<!$0<p$LRm>$|ZE*<eDk6r~lrqYAxjYzUvwbPKkVi675iMriHkUv1cre(`(&J=p zVP^N;4bJ#Ru`V5%6j8yUs`=f-r=lf2ilO%@o4Of%woLT!O5b2YveieJdf+2lWh8dx z{zl!uM&j4s1BmBdH}&EWQ3KNd5Wai3ed{Udl0C!bSK;#d9+ey3BHpd1KR9eG8A$GO zZp&E#gXY5CnesdsgKHTgBBc;?XJXhuk>KdasLChqyrz3I%9e~R+NSRhz0RCw8cViD zi-FNox-XtfY26~<yclRV{_(M&^DuHF=tAbXvis++h3_~?6_{qun`iJd)dPb^9gxQR z8kH}vO_-Z|OgZRwcLhH8UGi2}pkcOwC&2@uB_8#FV9Pr79}AmfZSal%SQ>?zv5-eo zd0Q7Y;y08o^@nbpUT(%B+$1cQc%T32KdJ~9(Be2>Wc~~^9BNBmCawR+!e1E)`m-7D zC~>HbSSww%@B3!3r23+tU>h@SCoaTrWkUt{Ib2`(&Z0545E|-*J_fEFA!uZje>G`i z7y~A6&<Cbd#yj>iYPO|eu{uBWgw0z^@6{A0#>ge^smCO9Hn3bhbt+BX-@9$|kg3_& z5m$H~lZN^?lXnc>bzkRrOZRdIz_j|cDat+P4>kS#e@#a0=nE0JtGX3m6Trmu-93$n zk>#c-j*#KtGs15cGj(~ZGx<WeX>qIS+m0}`b%!9DeVfJ1SG%G7!tawmcAkCK{oRzp zdh6oKsVWn>WbIQ9Bg=Wf;G`mV)Cp@RRybuRY<|}d7oS%ao7TdLeEmT)taEJ`TevNh zY~O>F*c|2W&y2TL*`M9>|9v`_-tu;n2p`6Iv?-PY|H;%9XEnnE4-~uzTKXT$F!@%^ z8(r;?90Lvc9sd-#@QI_*dL1uUzg?|O;K)U;w`YVXCC7&dy;!{Hnw;MxN79JcFX<6n z0{cg89^q-(X3y;;R(v(FCm&F$`@m9yf8@6n7y@$64fEu5`I~$HizFWvAIHgNWu+q2 z(hMhTS67yVRGi-Tgr0(1kcn_q_|C5SJko87w5@`GTE`44L+Ia}b^YI*IJ&ri;nzYf zJA3^oE$H!v0f}Z9R7^{MfH4_W`9G+Z*2=6hoimhqzVJJ<6VDNB${r=(K#0=Y&T$AC zs&w(VvH5iC@#L?5>{t_@=~tOMDa${HjfAt5FI}_$f{-5$cySM=paBwV`B2)hK0q-J zN>rcPpvr3Z3#GouDd8S%x3<stHvJiUxV*my(%bGU5xg4ZeVBj@+nm2q2Axm2;syHb z*?ea#SX+twY*fUiZE5xNMx5){><bsTZzZ|J+a<i3jdMyegER&kh8da_>HH|!(6K{j zZAN1Ycru(Mmc!zl<+v&&|CAW?sdw3ZtsuLNhv@BD94j2MHS^Fli9kbk`{roY8^yyH z7PnraiPUqHe`&ndzn}8<{P4DHp8r(!H{eVZgZFsycnU*uFh%y>Tui+E3f04Pz4>}& zQE8JFvy(RPsG)8wT4CHH@z-ke83*^y4^z)G=XWl6n3PmH-oX`P(kE9=soywP6vA?n ztF6Pj$y*Qy(Uxt&4>WAJ)d&4Rk2NAN%V=7`kk2Qy77ruye$pcw(cwkh))JMPrt@yR z;t>9HMEbR`Lpg6R+TroQ89we#Rv}>ybjyxePg$Suzs-tcQ=J_mzL(y?Z#L2n!i|n* zM81N%9lZM5N9Sowd3G2&`#k9Id*)P>rd#QFObyG}l`vm(I~}&$G8&uJq@KEpyML-E z-SSQ(KNIUF#L~+=#InD2d}3WwI>T(&v^|pd?p~hx*o3l9G6<Wj*=BPsa%o_Z1&3)2 zRhHy)S@O7k>L4SfyFT+uNlJNP<oy-*s%A$=NB6Z{G1Y+!Jh(v7Z@A|k2l-svRcA(` zxV)9WFfD9f+5Up*il7>X7e<}ZT&*ViTPMCb!8rEQXI>yb_2uM>qg?BN^(F?SV~wsV zV@s9AnkS)9#k3p@wKTukY)kCf@a&DT9k8J+$O83Yv~~68q^%wAg-C<UXHO&Hes8q9 z5dwl~zdv@(7mBEK%i(31AP9(75ZM=@C{&Ug%*6WcYVB_I<Ne`bSq5<fo8L$Gymc2l z%?)x)8#7+nX2(TPj4rh2KPzU<9%D1@yDW{qQJxgxV{03lpLgHLv<X;Br!Q;8WD58? zIzHD4H<0m~SwT)JKgY%l%!A^;G5b^V`K@_NQw4dmRc<%bCw-rIsP?{gV?k>8x6s8G z3m3sSYXpp<UPpC=29U|le&y!B2R%yjwDJxdj@BW#EuL9sFR?Jo{~lS}HRkn4?U$jZ zKRfwN#-0m>wYZ#OS7nVq)?zI)9&Xb?MkszSni%$Vz<M$Der*TYB6JXWs>)stU1Gtd z=ppFW1OA_cUca{cEY~etTzHdNG?F1S^6xz)X|+4;orU!QsK;2FgB-ZMUhWeRiJn<m zPg2}LEP~#fefN)1=@di0X7Z5xg4&<K5d>Q3?vBaw)p1~#aP)0YF)6DkpopL`8`z;3 z;B64lB#iV;WAM-9FN3$Vk@fj1OWG>W*t%}5<ol;ALyxG2oU*-$a?BF*NrSFT-#Bpo zA%gg7IEC~7vJ%o$e8F(TG5IuEGs1(KyO~NSjuyxRD{Wq0I~Z)O{C;Le`syC0@A5r$ zlLs&KR8$yp6!KFcWpTTb=EzWHokC&Kt*H;fa$;g|jfGuiP+HAkSx1gzg$^lD*82Eq zf%_{PCtfj4KY5eMD<pw$+ik`s1=@o_vkQ^q)1)ZI87{l;=M-><O$sSYlwr0J%m;&? zVd{+Af08-N^ZWF{0ERFK@qD^;?gu&@i{2my;jZbWO0e9!KFhfx5g;E%4?jSNuR&8| z$I~ZkPklD{HK*s8-}pk{Kb93<BVBxNzxZ{H$p&)+mD$<+qPK_4JP)Pmg0ZC^2qJan zXishgTB0KH>soq#M*(=O!8aULf&e1TX*qSd*Zwtwyu}!y_cKqS&}F|*T~td19JWXP z6g!>g;D(QKQqNRx$1V92NJvLK@f*S!k4%+^Z3g3E*aWGR`k00TKKIGp5h^9V#vG7| z2g`)y^V(|EId%`@jsL1aTY%S<d5C<`MQ`CNOn$&DnMu;ogW`R4{SK@PWt6#8r4&~E zNfSR|wEWU{e^hRA={^f!kKCQE@PzQ=dmWz6oo_v-b4oZB=;m#^gwZ@%{`+smd9}dL zI35GsQR}?yS0)T4r9GNb$46m5RSgJ`$TW;y5JNFHX8if8j<~atGpX3Jem!u<b|<|; zqQ=_mXy$0=46oM8y+XV6cET?@)G?;fw%|Ix>Z5%$=W5Vp+`04rv7Gx&zZ7x5c;Q^h z3J}Mk-yX@B`P|CF|7$T6kb5;o#oVJY4L2H`;4F!`>{H=K3`zYFqMZ!DImr^3`BY=_ zUiY32J9J=;88)Sbg@Q--L{b%hzoM;k2qJ<cD#|gyp|dPsN*DrTDNI)oJM!i4pB&mN z*}@~~1|;L4V_dlR!R7fqtmlznGPJHPj8WLkXILw)Gv;FbEHH1NADXFl&=$omBfcO> ztuc)*L$0@tK$}~j@iT$i&+1kOJu-FlE?sm_#s|40BJ1Xx5|t0q@nz#<0D_nQ{tHew zAA@!+JhME`0@D%#R0t1kLWaxbRW@l>I$h%6peiI_3GLL@{=E40Jb+qSD<BWUC-Ac5 zWv<&<+-K@<B~#NOtpU>_+1e6Q26M?LfVQe<qVefOvGeK-4R0CjlpZ>`<c<!1A<5IT z#}`Ot!url0`HV6bJXYy5tNZuT`x1hb?Y;X6gf%7vf3w8ea6M8wtH5_8#TbhGT2VTA z?~F~-n*~)sySfx))&`ymK^;dI8|G0%ZC`sC-4vV_iqX_F-DP;W-)(XMQX+O#Cp?-2 z`=EB8h2J$KdcSzsuV<nb3-lC6*m`5J89bb>A}tH2PU<<VKM=mFdOCvn|H`}ZMxB%J zWDt<=g_-*{7NyIjDx|8-fFfRF`51=RRK`E3T6_kE^yJb@uLyg`2dZo1k5eR5`}Jr? z){R{@?H;<;pua7RTJB%e_%3UMmu6^VoV=b>Gjze$K6OJzisYztwYrbc#V`$EXd!60 zC3mH63aDGbp=E1?0;ynHs5{q>`eaM<CT<SLL%L?UM+rRVXF~&0S{*VohA-SMg{|mG z`S<u->vfa7#eFM%omEAPx}pXt25$Gx<XZKn0B608&pcQmD&dCVV&Jb%{$r@&kca!< zz?A#8!~4vF%pYXMLQcBr^_-%sC-T2t$%m-zXu*<nNfXnNz$EWW2h460y2W5?)YzYJ zMQ3JKpBt%j2}o%SP)Oe_a6J4~Vq$D42?6Iow^~PxVE+(DwSN^2K>r>YJWDEvYc&c$ ze=N{I5Cf6x`veG%TNrr>1K5W1dFR8b6nS3Qh5wcPa^ji3%IV<Wd#t-h!~(H!&7k3_ zX1$=Bz}y|lu-WTV(0Ti!`m6AS`Q6qyqI8`*9=Sk%9#Fc8>`H_CWC4rO5ibkiUHkqL zU6_<Cmc7%*#Ii?9?}9^ZHv;?nLDsZT8o#B-mm-bJ37MKTXXT+sbRzigh#g?>?)Iz@ z`75W}SEnNUMqm5h9)-ADWt$a>#se*L0~LiodHneF;6t`$eWG+~e%S26Q8es(t<lh} z>3wLZb7{iM)b-{0`*%5i>Wi^rR&tYR->-Ojp$mvTN2?~7DHOmI0co<@dPKJu1~z1A zKYYu8o+r2Br`o6Rf@@i(^E8ESXA6PCVE@2?+c6VjX^(n2AHChZmY!lZm_NE~kzgf& zj6Mo~<t0)?%fr9b@F*k?PTIW+HFE&SI=w@mf4iQJVdMGTNuF-<RJ0fB>Zv;RB+g){ zf0uj|Z14Z0!1WkG>e9O8KGSI#e!X7cFFLk>N4dwB^>IOtgXwmPz<3M4tx{1?JK4wk z!(0gZ<@3FBl<e*G<KYBb3bc`ID+UoHyWlW5^zr>GwGy8}uTHycF}z0McaQH%R!~7B z1IQU#72`ja-Uk1DNT*H3;;GogpaJ|tE3-f3?7p3<0wQ%J+7#eg7eD7Rn<Djj-=s{i z%MIp#`30noW_OJw<yuA}0kGodI)Wp4aNfn^pIGqAX~##FvZbazlhAyxgbB6Cjm6Q% zy3ug1o)w1Vwf|VWCsE6t--2ByI9R0#{PjnH9V@mFXSi0X$B(M~=<M{}=IM`MxZ-5; z&cJ6L`RgmOn@q)V<B`mrX-X+|H2UNn2Xa`uvT8>!T!kMh3k9ZrE|R;L^4%Rg{hs!t z$g)t~^7Qv^T`DR<+@0+K>chC&QO3Wkk>e!%qyD^-$D!fA(Jg`P_nz01@C!$=wu2=D ziee>|n<J)2w4BiFD24S9LdB<HZP-Voz+YC<5y-MkXEXt40GUqNre0VBb_xh;IIHCA zZYed?JwY%WzvfUk5uers!^3H8n*D*+na>gKI(|lOmhPnne1hHeUQ_LcM>x{J4^iBg zvCh|0X*{{rFYMkPE>IPFIu}f5n(}-4C!+aT@k_v1hWGDnQ^l4u#}8&1{<|CiHfy=T zeoi1MatvCAr^$A1en|I5cx-ho-!uDgg2ShAcJCCXny$(H?1N~AYgL-rs5)53x3SwI zw8k{jgHVK9ef7NK(pRu7x4mBeiB4`Fda`_=)p`HYJnXBf<9iWp(soUK<0bLathskz zil;r`0UTVW+la|;S&CJ(NHBh{b7T(1+rY#2fdwJz_qSs%*DoBY)TBF4bMdMW^EuWA zLIC%UAOlC_RnJxQ!G)J;lQ4c0^&QA@GLt@LIl?GtY9j1WnK*X4<{Z1D;~s@-m9X4A zeAva=iv_!f7O=mPU@#eKE`oh-vE<CdJ{j8{xlI*xEQm3WlvMZeM6EV&-X3l&RkHal zFLAXoO<s>kOlcil5-pHmqUfPajOJCE?BPv;Qwyd%WHqU=F%G!lj=lYRkNMj!`aOBA zKh5P?Z(UV}43QnR#7CpagaJFCCIH-TBncUDy__7V>`p|mF7;jQI+wNgskCDu`KVU+ zkP9zPb^cZ*6FA@9SyIt)SWWjlo>pUG)RjSYiov@e{k^vr?-^gJcTW3h4Jn>YQ|%In z&1bZQcIoo{1Q~nIWJPD6?>~Zq-wr-^_<gB0r02K`oJOYKy~nPn*}<dANjU%0Jn;r% zeS(BOj!imnh+rJ^OPxvV!SRN=h4srNNBF757C;Tx6SFiaz^3(uH9WXA4(=thPe2vW z<svL&+&QYF{w7<!;lA}oE;qoSi~O6jc#;>3+GIq3u&?>o)!o?!4rO_<oB9R<0dg}V zB-9c7!_#elq}5S{Z|@(aOo;0H-R5@aNDI*QPtRS@yyw+lVQy$`6uCDA{jJ-jUPaVp z<^|qt&zXOAeD)N(USDitas%1c0&yK7oPi#PY*r6lpV4J#e6%;&YVfZ7^ZJb00qFEf zqJM7U#T88s#Xd(93L+ot&G3L8x|CjN!r&!LdjJdtmE!(yKZd*L#8R5dc*=R)m#gOv zeow0JZDw!n^4XOb%Eccpx%Uu@NRWQIqKLW4u@1P$grN!T-2%s{Au4Yw{{9l4{!}cb zYq3`NUaf}P2gAw~6klGERQNB|!`@(hLk|XEjoyzKkMO{hZN6A*4y!|tlH6*TUk^Et zpLr+`t}|~o?Bv>Zga@kIks5z~ac=N(csL&Yg1hrprYcxCX;^DmUXmQ(iD@x?Ni!!x z(j0stn(V!n-iqF#qfkfa*vH7NZnj`)g?7=2>p2D==Z+^l0$cx`>dt<xlsa$+27AC9 z%fC8&rSaVU?0e6>&7QlOBp78>9dIlZe#oR+Q@u<Fj;dS2!bmnA;43Izqqz68zSm3Y zhR&u<dl^go>2D{Vv79#w^M3ANFPItRw7b#q4Zf+nMz`A^`WmVJCqjA2w}Z(>l}!Oq zH=sHEKcWj<>W@*yyX{+_?83dgxahaC@5<@<-`iOTm#G?ke3#uN<9CBqcYz(N^%mmB zurV04;(N%oGe~>wc40mP5&c{yM<kM|Ou&@mM`!o}|B*n;9HlPw>KW9w@p`+{Znj>G z;0I*|#@AH7Dz}FBMb8DarA-+BxXwe)*TffRxK^TuX1u%@p~v)IVP1q;J<S2pw1`17 z3;by_TUB>An97F<_Sswn$74IfeVX@`MUT3J+6FY<`mM<Ttf>CUr(4f@s}3hyWeXC@ zo3e34Jzu;Jxnd@8^=F3Q=1sc_?;_Ih=3<0w5|w&$CJCkQjS#MB8fvtfk93Q3wOCGo zD1&1ro;%ZGNqPZKYBDCXc*nE+oE$YOjIBJ?)$N949aqMk?jp+x=7$;9O*k=HgrE+y zYhU@sLBR#zzCR8gLt*`YhWj}MygW+Rd#o^TD$5DN#*Cu5hNw8<wEIbLzl!EvR+x$D zRs7cxYfA4DeBfv>JWJRQR^;xk3o=6F<tNmTy|rb>Qm%gGYTuv0>2S6ZBbp0>BLh-9 zZ)du0^_8YWuFJ(X$T8lbw}sl<?=+n6*)8zI`SMWsb27dy^`J8>T??|)K=`ulx~oUI z-*VoC`xJ>WmPfJAneh14VO<Tqg#>PcSQ{-NqH}%H1-*+sGCA)4rTW`<{d`1z)?nW+ zC3<J7TzzmVT_`GA4OXrEAsyx+`MNSKf)vaMFK~GW{a2R@n=N}}u;)Y3Zm`?f)s}+3 z+6P<`?~dEEQ6qN=Jqyz8>M+!`LT{}V!@*fgl)ZE#CQEjX@yI>3!EFTeWgt^<q%a=# zeKh?UXlclCO1iK~icd^8H@G%EBopDtB>RFN@2W3gS}0mG3nsPx-ab#%N?~($`@B}4 zLbvwwyq7DSLW}Wk25dbSJNxo4L7LCkw$A=oZz8qfrYUw%vdJeJwm$eVkD2YnjF$&M zvIX2$`Qh^%A5R)78b}|sR~%>B97q%=s;q`Cgr3TEIhAH?tZyj3x(}5lLuEcX+{nc= zlPJDxMPIhwO-me_R>~C4(Ztf)mUd<CAB1asWuYZJY0-Ai5Lfxk0uLFxcu!Bmv&(L2 z<X;fMSEuS&CR5u{`(?^RjtTJ&=EM5hEbg5!=*9s@!YBKh^k#+rh}U0y^-|Pr78J+N zV?8R?o78fxepaV>td(ri!h!mOV+?sZ>S5ie5IR%xeZZ5ahS=)<sgCclT^frlAbypq z3C{G$b)Y#6h4*fI{;|wyv~$=zh`!-Id{d^b_|b8*F7NM2E%TOd!iz52Ns;&A5H3@) zML~MObn_8uN7GAZq;O}hrNT8P`o&BNUrI(wX*6urJPnH@kIW-XA)1f~XzFTaXct!D z3LllWpPCz+{O}jwVj#s~Z-tZpsQDwzJU`7?^XLGb9i(;~IqJuC%Rj~_HkP2tcEq>0 zIA1ZLLxl!bx38)HBlgfS%(|Bu$`8-o9Y4Jj;6GrlH+Y$&th2l^64`juID{6>f9cak z`@`4G4_L)`I#{*|2zT)x6!(>A{HF}r@3`o9Ag))xeyHnr9=8lGXsUEp8KOeRrcm@o zT;Bax>QnG&pmRO$7jhh(`-y^;xc#zLPxx`=$GVXK%YYc%-_hhw%{x0Rei4r_1z-3W zELs<8SMfUfDf2HFWqk0yj^FF?mS(51nYYaQX%s9?TKUSXV*S9TOt|n3b>|80l{e8L zD7{YwV)AA<Upr-=_$jT;k)ujY4tJw$B@&_zqNM#{la$k1>p6HB0`atKa<|zw!OzQH z_f$Tpt-~m*j-I|tyl87+-+No;o#6>nDcvtDpb=NEtci(rxfsVB#xx{YTV>(wij<<N zmjq0B>Hsy0YZ}cO2qbg-otYCENNRL*3zbgGF*<i=bi+9@++THAfX#bvpGW7hR;ARf zut`q8o`y%QUacLL!PPQ(q(os-S}5ts=J2Mk!vMUytWxO=$p6`X>bt8bq+3;96p-OG zFiCOI5x9ORG*9}1A$h7L-jsP;?CGDPW~wqRS|sv2e39mc4Xp{yeS6d7iD&0_afYEr zhW&J$wA)%Ro))TV1p@PMOE$UUa3o_5EZAj%W1KWswk?1{OgXR`>u$pdnR;)E5i%9U zlTR1IE;VjsE2`^HTt*vSB=(G&REZ{9&D^i6o!*$y9NOPYE6j5C?D_Yo4}~g(L)QwL z3+f=b*&HptY+>im?mGV*rYo1PXI6Jh7k?m7GTWY-m;I?z%6`4W7o)T!mk^8FyZF>f z?fNT3k)iSq3S&KmALyie8)es(`@kiVFo+zV86y28{0~3-a7zo5?ZYVjFMf`1i%K_h zoxM@rWFYjWu)FK3{>=xLx@PSU#6*7%InH}~=HtlTvW)1niopSdCiD)S00_;>tqghN zM+a>;efad8+@eZfDd78$A7<aNd4KoVnqukG{i!Fv4JtYRg>*mH8eL2Rui$l~-~S2p z`!xl&Jqm_U7#@g}o7=rg6IH2|9+_SH)l0xy#V<)o=qnF12iv4B;y`^(fSHj?aEru3 z{9&T2Jt4$fQn40fy&7GZ-fihQ958HkEui_R2ebozOWWRBuy;87hoJZAsrwc*ZbPeg z^Ky7qkcD53k(bhZ+9n2rj+vj7zjx2RyEWrNN`9+ezWK4Tkxpp^VH<C;>4EC3+}u>B zm1!!kd1txo3I1ZLq?vxomfB7Y^_Z9R^14vw7Fb97<FWF~zVPA;p#X}_2K!KMOjNnW ze(<KqKB{@bmI#()EH2x)NnNsOBVS(^<6oQ@1=p-&C0|8ywSCDlJp4MZdZu^n#<vOU zZyN;?K1!Lu{(nVOB{!)tlfI<yac=IAB=0!DX{%flRYNW>J2$YLUx9ht-F+?J;o;8I z@JbS{ZY5}f0*5bAJO1^Bq<76vNrXGj>S?}B`oR6TdBPR+`OP_PkD8>*`P(tP!bHNB zdO}%ZiR855RqJu>2;!6j&JHo~alytwkJY;SyjdO*^b(1OZO$NF_9RU|8NpkcVwn`) z-igz1DE+*wst0_*3)zew4*EG|{2d$_1sD})j|3B)!J8{Z@yj8mzK%ISW4fzhblaS! zA;6nFeb}{mXnoL-5NlLKgCE{>YtiGC?e{ykA|)3iN6uG+QY%X3y}Yyu^kzM^1Y#+0 zVBh&;x?I@uPjcki01wZtS%!jLyAKIh)#Fv;c0IpLTPceQ@2#{y+adtY-JfN`lLI0N z%cf7LXZM<?WQP})a$fN2Q)ZB-sGOe0(BF18#$rR^tM9HMGmQLnO(LO3+g1ZpJXlbu z3Gp9d@SDsHofk@rJ58*rzZoZ1$d4+xN(&+=LEhbCt1XS$6xZ`YA`vU9?a{HxYSD^a z=EakF`BRGj<G``_$A^xQ&V7+9auv#-aimi<UNCeX1w`OxeoWd%I0ExpBst)vdB|dn zQat&JhLpAO7h(DB6eIy|3WwYNFdQK6;i;=m))Tf9j{BHQfQwdo$C~!##eXbvlY(Z$ z*sMl?n_1X>;4}6(ty@;k{ylfQrdm+P^##sgD0%BzIvQAqr&W6M(Et44Uio<vL4f~n z!Ty#73==}jm==`1qg8-Z(S&@62%<~ej1RGku$K)$<`y>lW_$+3S^(T>XcvMh`CyTz zBc)0Prk`VZgLf+9a{2N(9tEf~Bm`!yQp375`0~{N1&=%|?hCZw%P*$wB>5Tse>qG| ze_02vVZehEY-j``n+86jYjnr|xRR%L>qUysM|y;%mk*jM;UCpM1eFD--|~-?1N;<{ z!#Wg|G3KhSSoL6uuKFvJN~-(+v50;_pIfn1XXoWtF94g28kW?N$v^DS?=KYAcd9J9 z7woP|*ljSk`4%V-elcdlIxtY%U3Zaw2K4cF?ej8i;%OIC<``bzVY+jr=%!5q*g_l` zxk3Nrk{9}==f%Rtf%eL9xgrrnZ2o=McH<~Q`_Xe@?iN1(-ztI#&*GBMnq5fm46wWV z+VxFz)b`u-j+K0`S4IwQ2i1zD31&C-UYw6j+)W&#AB-bY^P7BknO|ss6>Hf)atkKw z3FcWuXn)RrO8><85wuu$IJLD*a}|qjVi8i|kv$Udn)eStOJFfNyQ7lKCsyyvok|$T z(ZH{$x0amg>V2mJf285Aso#D6U=2A*0GdvEKL$sIetpI1))L$g+0h<|$o3&e;;58w zS@R|)OZy$#DahffnbD7o*H2R0!#C8dW%ANPcTxD+_!;7&dA+WxL;ysRE%-{uVYcY8 zB2M63*3JMCSe?HVH66?oFdT|$#1M>-zbJoD<z(;XmqPm6t=vlNYD`D!!1>H~4jV)h zG<|<?yqIK-!ws(Z2rFO1;ueHrA|e@TK!jC$aBhzA#54r@j8sxUtv~j-%D;U>irYm9 zZldWIAg+u3D39GhjRB39)4C%HHlFC#>8Ri1r`bTUbE@d-5;xMN5{ot``^|PpJpn!X z)tGKlPBXynT#eK(tt2|&!7>G-y(OoK-eA+UYf|tYDHQ?OxFLKJ;6`jTCJHw=AWM)3 z8J9XX@0oU+c)5WrQK;ip=Y<AGO2Tc@An;6*$0nKJ6#7Z&Wv7#uKZk2I03TV2!*R9L zYYxPvKmkgiq!Oj5z!ch%;u(iSxtCxyPxjD2lgXzX9<BGr!khzC0Ymj7F+C0xP_ypE zj~LnI{f|Z7;4_O&Mc|CUiV*FfD#CMY$7MnmJ{yHUTW~-0v;J^}F8fI0{tJcNBS>KU zoVs*5ppY0nsY@P_DG@!LGp5BJz{cOeuTs7=RO6<|<)w+Wb3u*(NzC2rZ{Fyc==nl- zDbG!$C#GaX%#>a8k)1EoMaP}u7DR29%!N<IH1O~CxnC%2qcI%|wcpe63Zsfm&pJxV zKRta9yLQ6hms1Snh-o$M2r3@M@jMJvr}%b2k{t;Tu3{#7-|@M-T=W*pe@9&r1iW8Y z%(0<^lj|GrCVakZ`m*IO^a$7+q!~fam9F7ytK~f<826d@suk#*0n+Dwg>^ILUhk?= z`@`-`)!%!+v{QCBzvpFmF9Cv?%gk~xh4o0Pyz-%2N0lU^w9wbISC#<*4zYpfK&i0b z|1p9uO*e4hQogRX#FB|}?KGhOfVWOpHbGAn#*FcOwY~QoE07D3OWExUvWQ1d$L_7$ z=u3|-q&`TI?NkBiK!WeRIeFJdqL-kzwelkXmibp`t9iS$(3M&ApghNGcIeS4_g5J^ zF<LNy*u4*r_Qh{&i68DR7(v-z5zBmo=6ALQ{<d5bycefs9=7<xJ#{kCT185ud~DfH z&$=MX3rHZoAzJ4#{C^x>dpy(M|5qs~r4*4{g`~OUl5+3n9zw2jNl2`@-<fqU_YiVj zuFGYX%Z$y;UC1TF+~<CqJHux7{k=cG|NO(l<DB<7=k<ENo|h!gwZf{6a<@G&sqmk) zNmA|SU+2c#th&B@pZk!lYv(+MzFU3Un71^2-=fM<tEG$6cwitu!xulegvRz7nH1A9 z#=g!b&9}{5xY*G#Qv-PpGl$X~$uz$T`RYzGmZ_D~w351!|M)Twr+Qb>F)Oz0njYOZ zZe(H5S+#;mN~F;q1x{tqvle1+JWX-;K9G*;)Suhr{<VP1@e0sP;R9qheJfADRs2bG zeQ?5Eqd{09R7CY~aA;o!HJJ3mE!fI3WpCC(U+h-OTD7ve*X%D%1ev$@OHuFb)P6Ds zAe$axhcUvUQ%3=Z6nZ@5*WdN&gwcC*E<!@tnz=bWn*9tlcVg!fs-6mOyw^IEbq?>K zq7BPQi#tZQq9CVK$#3j<7O(^?{T>}|rRXtguK_%42jUKbTW373>~MWJe+LMu1LP%+ zixvhYi$g=9uZ;ngBkdqdqFGnCC64V`N20gt&XL;r+I^HOq!T7hatt6^?4Og-l9y4c z`f>K#;jDP&aTB=T*ckAKpZ(gAg&Y#p_Ahx3*+)=`R2KhI73r$+3$~MIlXun6gWjko zuc62=Sqyf8_$U-YG$rr#tCypy-fB*@niPiYA7ZLz#*<M5V2DFrzgk`$)7Rqs&CNe} zQWZvV+-WCxWaUZ7%`cBq3HXR7zzEA$#G=e2sGM??JtUdz@-n)L=h&(VmJmF+GT>(# z<psz6k1eOzfQ%ymr1vgwNBjH~%IL+fec{AAE1_J6FGTy%*||REmims4GAJTqTpWl7 zB3DmbJWse}!p*q$>?b|uC)bCu6KJhjyW!-&=yNHhgBn_B9B>*e)!^q>pzc4L_#-w? z)QIGfcDn<oLARXf0feeU;@#zyCqK*f=^>wDr(}Hh&tH`I&fjsrEsP6LUr<T0hJJp8 zt0b~XpBP`(E(VwwFIE3;^m$eC?Xb@|^S{yD7mwZR{08aJ35=^3b%WZ!;A<HOP-2(x zLOm$X*u-J&a=*8F8&pypDEdOJ8NjGj`mhEpnn~Zl=W)Sf=U3$&<lFCy9{EjHn$}%i zp*aF++OiWmv`{KNv%5|Xve@Y7li06JO2{JA^v<$Q)#h<ro|T%YUYkQ5(3I^^?tsYi zduhIu`pRj4tC#tk`cs>ni`9NM=D6<|oDmC7p455-66JZUjQ7c}7fZi2^wfW%CKJ$6 zw`)1nkC?S0qx`Rqy<*_Yvi8XiEbVO!uWbA##gW>FXi>F9lz{6LN58zxFZnbj!fpEg zG!?NNwN_%BtcP#i2_gY&`$ayrrD_fM_(Py`sGPB<Zw6px<8Qv6z<;{_@S4loiC=ST z9qqhRmY&h6a;*ZdnMou@`Gjcb?XkPtYYbtXFEdKS4{KM#EN3Qo1tQPjw^EG8&o#{X z&wJ~56j_<aD~%b;4;=*<?oe0UyE@099&wcBoks7D(5RcbYLDA@xGpvRSrihQjZZBI zoL&R{7mn~U1AG(VK=c`Js4!S>dBZ0BMI&@m!{-Q6f6;eg313gygv)&8u^AnCn3>Y1 z`Q)%g<jV;GF_nh>(nZt9GkC`dtHV7KW1O>)z&F%acdMV%{%Klo=Xu4(9(kHp!KJbs z{+hy>$>L5R^SLND5&F6X2kmc^c6!f4)S>fVqH`Oc*37LfS6E2=&YKcn*y{j@-eA|S z6tAKICE1PFzWp3;er%gQmo+xleEAq2CWbJzBYW6&E2Ap#K^sd6|BP%kfs^3q<67o2 zcBASk-`$rs?^Le2eTac4MfF$|xR<C&?1zN1uF{l0dX5or5k#3Db8xKfY2&j-d}B$c zpFK^~Yxs1{c^&;%f9aG8`jWgmDav3cdSQMibR@#Qey6`FtjuZ^@R|l9OWpJD4fUly z`OJy!In96J20eB`=t7&@>)Ep;1;0$6E!u{<E(nso?*pa>+QJ((m>_q#yIxerj_#c9 z+KE^7;v|glOVFS0`h;11rHr(J<9s7)4%ez%HEq~NsUrNohV{d3D-0$vC0RVNIx-Ys zusqJq^~0vZHL95gl*+xFQ}I(2!Eui>l4(%c-Lq$}^+;epQkKa)e-o<2)*iH^^hZX& z6N<&Jca_69l;*h|JR_+)J9nNJNZC>+lDtSbhcCx+8@W=l#j^i&?{U^i&g#bXUw#x$ zjg>U3t53_-mXpj(Xbye*IZ-@LOMbZPmP4!g)XF+yaRD<>OTwsVLPi`R0S<5WCUjd@ zm9$1Cw`L68QOvtR;(U)Rze!(ocM$nEm1Qw2Q+-;gS<JWCEy+DV05tI>V=p+`Gnr_y ztsZ*t+Mx96p$T};u*)P#^Y1}x*k#<6rr?D-Ynt#gaJ;mR@Z3NE2t)<JI*+{`y)P`i z^Lu{G`;Q&@>CHuB?u=kCtZW^)jE%TuV{a7?N9&F+`o!-4%g1j}iO~37$``?@gD&{1 zw3Hr`uc=LsrVEp2s{5*H_#-wTxW=%sdx>M2ukObUZX3CMO`b_%fEl|QbuyZ^FurYK z;x1D)R2UxVe@HmHwomRAVuT)CvHo~1%2_-K`MFN+C#5-HL2otsF0Dk`SLmIzmFZ6x ziKO@BWQGJZh^Cnes7M3&sW2WdH!L!Zmbw~*8fy)hK6f4zTkn}#K>dx7&QDFf>J^2; zu-Bb=X+&}Dr*(b(3#~D{Y=+3BJJDx@zDC=F9s)h990RyLL$cJIZuk6;?WMs43F$T; zh9UxVpAyDAjX|yG=F#?nI?aL_WlE&Ie?YSt8%CI961*ps$BxR=+M6cu+dBf9OGuj_ zCmD}pT=FqgD7*`>sTVeqc&NR)RERLdSK%kgx-sLr$k+Av2I`EsaxDhs!lh;eUf9?f z;9PKa45jtob=EtvO;7(Zr`h6OHm9P~{(g7<`sqnh_*Mp4mv7v1!ZVBU2Bv9md0^d# zA&V6(<P)fLkY;;>W0lq0GTHE;+1JvNQ8U8ehoo>fh`VQ#JId`JdJcH7u?niHlfzxk zLMegouN*$T`h86)jkA8)S3@NccVHeGVY05FuHj&N0jl(!ekm1Z77;h9!K~8c-OA3a zzcx@W42f}0Uzlww$%UL){aTzl3Jly`1bIA@d2c+1mXBEHi#VU_Ul+AcvWU5EnM6u4 zFmzlnI0XFOxBYG_e4n<E*sxc-If}Jcs@w>`^{t8@gm}T+xF9cc`)}3N=6^j81Pk7> z^8A@{{>n@4)H#90@n7Hb{;|Gfhz1(sNWhjTwlM8CYg!7{P>I%h<3#+pu6fOcQ^9s3 zigmsm1~bWbh5N}}G*;S@EaYb5=pnI_vdJwF-!%H=OTcTIk%)~n`ud9w=@)I@1}Qd| z_+63?@)8VYxinv#>CUvDS;g~Yq$C<2d0|tRkHmI4rh3-^f2VS=?MgqPuFvVE`&n2@ z$k`V^=6sv(MdWgV6ZIm~(kyYyJyObf?g6i-N{kG3%Ce5&fXE%ugpL`Fz!!{FVaw?~ zzeM=FWM;m-<uZHJf^|^fG(OL5>HyFV=VM2WP*#XtoZWWu<oEQs)Z3vN(qzg}gk(R1 zBX%w7eG=Q_V;F0$^T;u8HlOv{4zv#M8#D%srF;7J7<hK;lF)x?Fi^X<?0gUxn;@sR zAbWU$^;RZNO;4C}QCW?Zr6b%h6lLuG&ul6FQTdjA-M5m`PWy%z1#ewfPQOrWVC_eQ zMG>LP+dvb)+2QV$j)}{rw3xbFx-rX^P^WjS?Y^gCX5#%5qFIKeYve`OgFMNPBnVvw zuIR|(dEFqG&mn&7&lIh3k>K~d6++hBRk=MdCu@tTf?Ah-ijwoo=_rpwSj#HB`W z&^kq}eRHmuHXCG4-b8B_%1q>MFhsJ{&%{_M`BRTP!x39yGZw5o=KzQk=%L$Z%VcA& zhJdpaXRdA4cT_uGq;e)Q!U{*Wm#(Lx;D473u6idTb;Cx@0*R@VvOO(9E%#fV7^4%` z+d(>#QCkJR{8wT?(;ScV*~-O)q<TWFvd(!(_ODO;hr#5mE?-rz9vZ~}m6MfL3SvyP zO}}1(sX=Ngsw6SB3hExboA366|Ee5qqE>O$H>}nrzRPg$hIv{J+!>tgF<Gym7LHmo zn<Gg@Kb*uM=s+^HTjnnFP$qtidw8R1FZ;@Y2iEAy2(63mxyb69w5Ofr=j2<hxAUNS zX^fKvpIy3il$I7pJ6<2bV_sre*xlJ>6c&NqS%C$-K9rUfi5<*ipFG^(@JiUjwr9QE zFg|e057xtt5*FXDVjvYU?9`Ir6xO*%{ed4nT_NDpO--@emD3+s%YkcY`sPi(TG6Rs zc<2!G9#HnEGjmfh?O{)<%)eV5;j);~@N)RO*+HhWQ;1)+XywXY=*Pal$91A`;#a=O z$5td3v?%YZ@pH{g=~%NpWA@k*>fIi3yKF3bvLYNq_5@Z_L?zIjwXPN*f6I!sBgHk! zsIJ9TY|BKLetoUNvQKbG72673LTQ41ye`A=`h@WKw59Y#{_os(^}Ar%vZYxepu=MM zC=;X{jgCk%|1?vIO$wwjH6q}e8`IC~`m5kvwrb)*5xljV<PR7_NTKFSyWT>=ue84| z#ear21h)%p@^4%HjSnGn0ub5AcV{;;!Vnb-2JZuLgmu}m1zyxjdgWqov{m^MOZFg* zw~U->yy+MvJNgV=9fneXK4|C?uo&N)*_+WAxi)jBRhM^D-GY}!@9boCAQws7n#9k% zzx$(uOj~t^hRCrD#0}-@>p*rhTH~+jgq`hyiCLsdQcrCasUYOr@t`_0?GW$bM`t_U z@?PPkPu_GlPYoL#1Nxzx5t!8GQLFs^z*yz6u&|*DOBT`O(<H0w$w7fiHitDWtlOX) z+Giw`uwo9bM<Aa#iyu$TojiN;MeB4FJ)iBzchO_5o%tyn@KicWG;;4>c-0h;@kD_V zr15l`X36G9)lWs6S%WK+`6&*PQIq%Nd9j~Q$JSNcZJ}FOXG?T+uI`9Ds*wA!<{;xg zYingWs0JH_+n=9&J&<!>WBwEx3EmiHRL;D@`V<9^T(xOQm~3|TSh2ikCL^h5<s<I& z5|bj~l(~5)<WyzLP_jpv*Q-QwP*;8+@o{(8twSN<#E8`u!>-9e@b)$x@rw1whkb}8 z*|q<b&}YdBB<?+eTGu?%|LZZA@B#CFC*_Z5*fi6;Bt97}aYh}x^BsMF$oAPqly{kv zCdx()9a4xLOR&ZBc;5HK(VMZnrv&{@KC8RnYwe`^4uK~H$|HtezjQvmJ&=+Ti(1~M zGDH(*ZWUoP<E?fE9XePa14VB2Z>-x~OTL+41*+r{EW7itv0-f(hznP@zZ(0CU_JsU z9FNXh>F9@>GQ;cQasnRlNJiaQG8W=`|6}TcUjqk8L(MsRcz~oGfu+kmPHSArAbah| zloecdNjv^Ci9EKo5_WWZ5E!wC9|kG<XC<0=4W>A!NPYEx>3!bn7p(`Tr8@LIcQnY> z5e_uF3y+PZkd$>SZRc9D4MM|QfM5MX?>rDJ=DCmxrc|2Hgx)Z??GzNQteR+<4zTWO z{tI+5)aeJfyv=5nH<B&cxgvs>4`wMpi!j+qu}22JM%KF80bIi1YbSaE;U`BN%uib< z!$@<#@-Pw)b{{X0zGc9*gFhjB0L0dX0W8cCwOAnjLGOp$pENUTZy>IyqnF;Ug|@!b zRPV&`&72LUp}1^uG6)bU_IN}m?=JwZ8qG%wZ=rc_GF^o3EWvwsm?gn@N5=X~n&l30 zLG16NPwG1Zfg4MJdYonf@ZYRh*ei0qe^5%)^6!bKm*5v07PGV9C`lP0`OHB2m#pT- zz6sp(ht?u?+F*mRu4e5VVpifZy|taKNr*S`GAP`IFUVkZ*c0U`A5vq#G8o+LY+;th zmO$|PrRS+o2HYW+j-F>uNwMIw8ygHP2o#;N-Vp&nZw<E$egDMVJM~BWSdU`+ZZDk| zp$>TYo9P#>L4ikyJmXC7zwp=CN<(ETAb%{387s!$wr5#;eg;*mdS@<Bi-n8SM?oVp zs6eeCI^*mZITF`;%$NH_Jxq7nZcqrlkX5z4TGv`X|HAe3**zf|e><I3^~k((0ctx$ z0VmFiP=c89e6#paXEc1MOmS#^1FkuDA5xIGL!=ArCuJS{ITzpXZq3xJa>Shuici#p zhxFPh;UhVSj_q_f!eFOZpP~chZySR<=zNO#(&;Z&{g4UqQ1p;P0dG@HTC2Sp6zJ9+ zzx72gcxia66t9CkQLHDa301#YtJB|IzNxfv%!4~+T5T#NZxtR5tj*PL$089#=W1P( z$L%P0ZTvRPR*h(~)0fs>7F_|}U3Rw6|2Uh-%|8q1U&}guE3tvj;*+=ttxbdd{<SK< zZ)b`$GvjwAtBPc8p-9M0N*1OsTCF5#DMF1k82Y_v%WHb})H!U6@+=1n_m1Jhh`77O z>$)b-AGudSqcULAj=G<`94A>N%-#V<Znf?ln@c^=m&;@FMT<M=!d&{VM-$Frp@$Uo z-`ZN8JR@3!Yl(Gcxvai`*knavy6-k=!EF6?@tTBBvc?vW(q=n20U8BXB1hX7Z@trw zTr^d2hj`XcUtS1|+z&9*V$eEdWGN=p1sUcc+}_x&RRJ{8^x%YooYvx!D)~!hO=q$u zu9^(Ck3c#IPCyC%WB*vTnIB89YP{Wfx4TcHIv6bZOS<2iTvQ7ZIq&!R#4lQ-R)1|V zmT!#=c&oe|%<v==r>YfNHUyQ|v+DqidpdL6p%?Imc<X*SJJpZ|I3#_MZVqjU5h2Kv zfnG8D7Sh3Pym)28tDnsIsH>0|@wxQMv3QkUhtS=2`fhjVaA@lKScS@>Nb35Y5<3!d z9B|eFhFj@0sh$p<HHV`&zMbcd8G!>xmH4-sTkR^d^h~mC;=h35wh6iM(tf>*eSUo> z0H~D}`lhhokU{@8JMv@Qb=+I47x+%@m&DXog(dBWciy|0cH(`6XG<uMFaGj=?871D z6h6^lO-?ET6*5R6$lXQu%xedzmoeZs=nn+WAG9gPWOAc?+aL(HvQM7r>*2(o9{(IC z&MHTCWxn|q^CJ7amS$EcIZdFtpR}cRDNJOMmw?Ge2!Xj`*n$K&7EY*#IukVq$q?v~ zKZ`geL`s5UNk-~`pLLns&zedez3{?w^TpV%f91@|c7q~`4mcHhlCLa1Ea<NEUGW&H z_wtHQoO|vVifAGyYcj`eBi1`s@PIOLDoeqxv-cGa#t@l@dhzABvZJs5x>aiN#pJuF z0af4l_7NKCm#*MLAPNW4(|A^GT;uNi)InbJW;=oQXxd0Ci)uFr0*1ZhvU!xKnJ(^V z+cQ%66T8nh*g?Z;M6zk3+0Givp1Jyz<U?|(uhzKP3$Ek|(S5Dv%{D6E&cQ?&P>~KI zVCE6m>RP2CdY5oMeNxW_tKjoqKK{S`W>AX^0C3zB4`5?CqU3~ZOLDh6?}dAh<B&vk z23c*Muv+hW3yZ3UlWF7ir3kk_?QdRUj5WJ4^%O1YUsd32lbM%9Rz|~8#uh?epLTs= zBDqP8>L@Z83JZcSwES10{_a?nE3XcFzxBOAERo}>Kj4sNTljn);)zG^3=An4TGGah zl7V3$vXdwjE`=N!fqNKwkg?~8?+f0J;@`FD@rz~CMpB9%RenfLsvsLe$bfg|7nO4F z_)0<<31?^oNA+eBUH-==bg<Z>b%|C2iMF}6S)U=D@~zga<gmJ7)F<xFeQ`g!RZiCQ zuj!(HiQ$8i?griWULnTI{>OGAUaHli<#~xfYg@8bpddQL2DUeTbbn|aN?KjjdH$z% zc^{xPX(flxyUPXjSh8^0{iF>*6EiSVXM<i=zH*_g<g|4ip|7*S2`v1OwxrdBdYm<) zO$qSorzBkZmAB<+?_cphHo0%OQ&_JO41SoN1j~Lf>oLpujRW46Rk{YXocW|J=?c4& zn!6Gj^pzM?c(&?sU5lXS>BZNgKT2BMjnr&Lhjv%oS&n2RZN+z#J+x}bx7*{rmb&It z!y<6YOn<zMud!W&>?oO8T2YTe{BLd!MFyN~9Vb^RR_&ButoByj<v1a*-%C(cvLDM@ z{~wzguyLeQ{X0Y`+{{sE*{Ux%Vm(Y_`@X>N+axT9I=4w1ZbG0)3cF5F1v43GgUM67 zVd4L6W>HJH;Fc5_BT!W&<A#OZUrTp;#9kv5lU+Br6Scy?BX66e>Fe8%6(VxlKersZ z8w-`GXRmmb7|E@)moW_n%Bt)o#tdV+Lli0s{oZ<OD3XVRHq0aU-=u<Bj+;g+2Bx28 zq5Xi5SGU}kR7PCR^lOB9OhKd0B!_cK54S0EWpjP=J5VO2e-tXXJgQGYx&kJJ3&|Zr zmfOQ47ob}^bAAIc-rS-&rHQESE9^KZEOnPSbv0;op^C%0X3$CBN&d+Vdj1kOjp@_s z-#%uLYi0zJ!7u-;s!jotgO7l+vhq*;_PmwY3p3u{2+pY^&1}rSE{Sfqkr#=v&4(EJ zqMVZdR~}Pfxvub#J<PxCB&XD5$I4+4O^|s;HLJz9`A*%J4v71yCaVn~PW8OvH#m}b z$ufMU-_plx^GF9vV$hh8(lVv_w<bew1~?|Po1|(jqTKk~EQh+_j)beID`iAD?a0Hw z+7^auzHw!0F)mZYXLl{Wz~8KZFTV_hrtZTi3nExsU}}^TjkYcw@@aOGmC(PuMdQfy z4GsMto55Tw$@fzc_HO|aK_k*$=t8GwgLv~V{%z?j&iSoB`;JVGgY-4|{d%0Xl8o?7 zWj;j$OlsPSE!oZ6>09AU>E(oRpI*8!BM2FjJXf`ZrjL75S&rVn?HBIw>b)e|0ft#V zl$}=JqNUPm5{sXNiqo=qmAL%1^S4T`al4pEmd`pQ`r^%b|Iv{Ujqd9ZC=9N>pV=B$ ze4SuDuKrn{nLny<Pn7WAxq|o9EDt3XbwMTrY54NK<ub#)_<Pgv#2WyW(D&gC{Vv@z zu+52&dRqPBw-!WrjA%Q?Wpliy!)nokSskAN9-XM7L^OZc*O0AWgQMjX`-k|_FJY?l zxLo3Yyyegw5wfb~#|mx~9-R-nNjfB=_SNAne3kB4t1F4CDT4^FlxE2Vua@{wI@5mI z%q-C^6%H)m`yeyJ6ixkzC;!|bFxShkH=B7$k#o222uTTf+6ld@4VL6!AG)2M9xoeZ zi)ZP?+QU<U@hm$Heog|Fg&`#4evSUP9^r%+P?3~W={awrIk+-CF4byobPso!keN$^ z01jUyu*08zy07dY<+q5cn=oU}SyF6lEXM*5v2c6!Xw05jO-%4zILW<m$_$zGUcXm3 zUSrGL!V!Fk0@ElM;`LF+Wm~rkbzu+BT$Wwul%dU{#k8_Pab_NJXqxkLR4(w0T~hbO zR7^*!-U7uqi*ZnUHIIB^hI|+1V#;<g^?+k-dZRt&h)mCOH1eyI`8q7CEX2pbF8YS& z{{2~M_kEKIDBiQI-UL1AbvY6H(lGi<oFvb6S4j_*6Kp(+c;qz^y{V`+zwgg$lgA8^ zhCtQ5;>Dj2IQp}6?hfc!B{$H2%vCFHe`>Jc7iijRJGNpB>25JMU-YpZU8h>OhLsH+ z;uw3Tp}$6Kz=iny@P}Ju(<B2D?PMg6zH2%p$+v+sJOft$Nc`iPCD-4v2gf46#@uN* zK(h8V(ODjoI7dT-{--GNVKH@~etmJ?h(?0&X^QvR@}I0K+%St9rzd_bOmV-)E%g*< zrzchezyDd`dQ4Wy)!CKT)kRICZ-`pGjG;w~<oWra{nv3`)3s95!Up$mm|$Q?8^oGe zc%hS%=x1nxc$|r}f_Njeg}NY>JYpyMjT}%f;P^b1p4McfVhiLc8ww+vP$D;nXt7ry zk0h}Aw%y+~x?7V6hHxS|P>+x&w^Oa2{rUA^;!N{(i&tW0JVcNuV2j%Cvn*al0RN9o z+%<Sid!V$=aPvmn<fObGbUMpKKYgMwFhKc=?MD-?jG)Ug9lYZ^@5R0W-R;F`Q-?Sa zpXcS=LG>ALQfcLl=4qV>+2yLTI)X_}xJ7U};ww|8SV_hQ@^dBh46588$Q(Shy<eDh zUE6tKG!mQgtYKYkK<<amecSy7tAF-#cz_q%%&=`U`?+i$WU!rjcWr19P+gu{^x0zE zUzd#2ldkh}cd_Ey>iX3k7Ibp5?ez$sWL)R4f&KTz)&B55v%=w>=7rdWfBTq>!}U5w zB}!*Fl=Zye6+xDGxqg3qLmdu<%3{zq_6`!?`x{G^&RzN86z3M*Qk}m{mau%0A1T+; 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%0A#QzvNs|OeS+j82`KljKk!x^=&(I2X7cNx3V zFIDD(quEmkSzm?gBk0L?-g`R}H)UIq?7Iq{^p(2J9WN}x{s<Ibeb_(_5KN43t0hB3 zu3MF1^$EHvMq0BtzSm)o4@=JOPkMwI?~mXKhwtYOLoLS^S#m&NF3~TDW~CC`C$jeb zE~p!I+0|J=_+m}p!x=rwvNH$wsvZ1=pRQR8BtT|)IYryM$+QN7he}V)4~ayDSwFF! zcovh=ZdxGzEsowfk#}U}!HVCk-V5LCqH1<T$mMjt0}=Sn2QR5r8_r%%d9#kx{Ps8G z=UU*}MJEoi{5f0%RlphieIz8M6Hb2G0IH1IzwHzK?DCS}qjj>bHT+ha5+CS0S<SSk z;%$M#Qb?rn(SK<_uMh4Fr5kTHHmB-s`VYscs)St{KjR6`(K#I68k^BABDgslj{BGT z_JREx6{?<0UyDMBIiu6l20U5pZbk{-K>t%K-$I4xNCIwtM^e$imm-~H?crHhB`rTc zckB`9)mD}4JY-r<?Zi*yV9Nv?YIYA^leU=iNeeD0iwCR0{@HT+Cy1IMtG9<^Dp;|4 zlfPU&D}Oi+WtP9}InnEW{i5-9N-g`rts2eUTX0cZaJp%_uy&NzuAca4>Y?K;cRD02 zX?VBHyRt8#1LIR<eX_0Hp9e+r)Fo`J)3AQa#z+>e7L)I-l1=au_SHT<J&1GmK@v=6 zY*cJN=bQ1jYe~6#LoZgYa5J_|jvJW;os7mW;!)Xh&epS8S@TH4>Tf1F@wvxAJ@54( zbN@NP1VY<7PQOSInSUo}94YbYtF|cg9NLd}*w8X*@ENs3HLUMaOH~J1>mW9g;pESb zrcD<0cp*EX3WxWo#6tCLn@uOyfI)QS)#Z9AbSC=~KUi_NU;M67Xj4r=KOyI=c>sla zf8Q}vo})Y52lG>T!nglm$u{QbbJ1Yy=Nc!g-}4Of8j68J@np<tHn+pEpeF&!%=|F& zIRkBvd<5alH$6V5@JhfvX6erj$_x~?Wc*_ju^gS3HwrQ~pQ~mjDfQ~ke)81f*~TZs zERC$n^@gG1QKhp7HB|c)<cnsAa~p#9dxas^K&zbZx9yg;*VHF#I{ZxSFw}ILHNC_# zOm<6Pa`yg&S0OS(Dcp1!2av+LISTbfUI_I6{OwbhuXl~_UXQZQs|WpSMMgPXvB>Lp z?JH8<CIkgJp50BS9=L_8U0<Y0$9LzXS$R)^%_`+8IUZ~IwzIg6d73UG>G<g?*lctT zT)kj*AL3Z{h3YQ$6BQ{t&+^#bob+7&oT-dSH^aHm>t~MX+UVw`5dCc5rj{i+d`rbK z3|ZGG#@2L~TKGOCp-H@xO(`xUH;VWBDv$-Sh5x+Q2g=r?6tvB?iQd2*10?G^DccfB zG61<Vb(X@mg@1KE<=@8TrwSJXhIu4mRqBusCyVb+Nc&fpV)8=9$3!GEMZ@#+8uKIU zzW-OVCf#W-+8!@Vc_u8-U}hV8G95-!<piGPR9JCGSpwJJkp#nqxsZ2#%<dsWogxVh z!}_Ir+-6iOwYg=HV%sM@Drvucif4+hS&F8MdzKxbb2Lc}<amzoo9<HUDL42`D+{i* zk422uWe_B$t-<B0k%y8&B!XM7TdTNw9QC6U5Z1iuQ{Ss`vvcDD_aZP}C!ZR9>hnIV zpZ6^$bLzGiX@&M7+eEbjFd%x*N|?fzAs=~Yg;RBcge!ah)5HW}i^8Lv=@1DuiGl@| zORK4vExMA~M~yq$!|KE;0?%plFvKq|PHTUY5HRKNyF9E%Fb45lPcg!VHc~)9ul+ZD zStqg;MoL<QD$c6z)M7xcJDWb0W~4*n?)?@cFj!?oclNE<qx0k+LNg~o4KW2`Zf001 zuN7LG64#1rQwMf_$x)X5=?dfM4%YSAeNfmjpTKOy=&?U%*KB%-t86X4e>-etj;HX0 zALa`CFbZO}X51`kp3B3zRZ+P1Du>_`hSoW0R0(W2Qun&|bjm8+{hqr_X@9!rWuj`? zvxz|4t?m|hkJ?RrKd_hI(<G{18KRe=n)Hcyy3ic287+T&yVNk%$arCK9xlCBkx5&I zOnI@?#L^z<6{+iI?UX72zTghN7b|R#h$1hZiL|dW?$1PpFZ#v%ZNj|9TAhl`l<zDd zwBNz>JX<8H_v?K2e7yJTA<3n>MXq8ICm|7<x&n?GZ%C<UdSH&1eHLO8BV#7q=o-{y z+k)S26Mz0dGKIKZ#W_er&L)jo6u3dUxKM@4&oAtd5E#DsRc-OL^~zRyD|D*^R=}ip z<@Cz`7{)~+iGDK=pEL*nRRN;G+PY_ILH7AtLLMIQg<IlE0e}#L{HeA?k8qNiJIdnT z)?DG?`*+y0-{!J>2u5@pXPof#C<mDe!FE?EAWXI&e6YZ<HQ!Q9R>6mJw6tmqyrawo zBu<2FFW8hQ-_myMDdvdT<3LF8$n8$np=<CU*??t_jGi-=pOX`uw1$1>E~bw-%}#>$ z*skTHH<j1d<M}e<S-kaqmCPoVvNr6~`YP^{82xjLyh23xCTus_vgVgh)iRw8W3Z)- z`NQh0SWy%fW3~p!C?EVo`7W-oW<Sa<=PAn7;dWyHa%rIvCbYELSR{!mdC#g$do1%= z5CVEAB>SW$nlZb>u3$hr+aS{V31HDL^)hR=&|8=m*rOr74^{hA;B<ij=9O&~cR?Xt zFdb@XzUU;@=ItJOr(12fZON9y1TBPuVg1Gv2Sx!kZUI#Ht!5CT3W^ApC#xcdN8!!| ztBY2uk14>!T4jjyrOrRZhp_IR(#2!!ux_iX8#O2(XlC8Vw6zKNuDjv_x)q_h<Lk2b z__EEU7Sngk1pL(h$Iy!ykKis*&Y<>|EvCAixCRCME)umQs=c`I`^Y>TN)M5(cwbO^ z)^^@u6P>JmD*dNF*TMb*Fx6MfQ@4$RoW*~y42nRUor~>deb}(*tTuq5j8(4!tq~v{ zZdzCBOor|EPstxK7$SVPES?JjcF=M4+8tRE_s2L4M!pc3116)uiOe@HG3nQ-T2;rg zE=X6+RxdAJIBUQ9e$eomikn8_E2HF3%qx<IP?+Uv;cQY>XP-5`cb9TxQRH*V4@eNH zXVB|wP52#YXP9)KkK&gpZ|^AuwPz|xtCX?U0(&yF9BNw}19#bJHr?(fn4D7%P@M_r z@;3I$Dqjica;ZCOQEr<byp%EgFUU4;>lF~o59J&CG0D|Z)yC9uye4lWk#}3`t$?rD zAxQori61t+BCNeHmjAU#)t&{Q?yG8q?yu&zk!1%|1dFpFZaU-b+baKXpjV-HCF*|f zo)=c&=+^Yv<14aOLTwxegb&_L(Vp~ju7oX>P*s<Z;E-DlE`pAX6~RZ<!v=q7r{$VQ z0dGAwRE&0r{!%@i*hxqWDzgMvSMZOy=#Swa?gN$R8794nJoC`X;vD39<q{r28+n(x z$x89kUpr_+{9M5ia)U<8Hl{ev31LNh;Cd~`W_KOtBhG>pZAE8wHf<5Tuy(m>%R<!3 z%AE7Y9AD>kL1C}J7V$PiL2#F*wde6_KufDrA>_Sgr50qg#59TbzaBWCWltG?YSIED zfP&;T7wWwln>gF#)CFs1S)c|O#!xRHdNWdv#2wEZyJBWJ71wPIt!(^_scYCPnH-$T z@86t=p3O~#{mFh?S4rOCPYKvv{5;QduEYCTAPKvgJ;qExt^%tALu^V75^WQRp{?n| z3#_fF2Fol_etGyeS5iX#Pep5T(8I?K1N=j><@(H)ZrIBAhbA|Bc!D`d4f4DbE3Z=C z9c0AyQ?Te+F^KFg6uV|0rhFK;kk$NJCMS+7F3!N;F2#=P-pk6!pxeQlE1F1OlFQiV zyCi`+y}qJ|#-gIi8DW#0)VSzuibwN45wLn+p@g<@6A2d9MgOWVUUz){hWms0ZGG~1 zs9Ex3VKK3_6zHPA1;GLj-orPfE|_l!WVusEtX}>RWqIboA5SGG*(?_ecbj_PaDgq@ z0h&x{nW<UOO4}UdW|Btp8xk|0&{e719)J7R0Bbt$S$cul`bp|NfuaISF~ng=UQ}_~ z_UeXH-t?EFpgXzD_|?_ZB$?1lVqT6d2%yelg*jCp)U<*Lh47k@%Gp`D%(5=VEq~1T zt1zT#1A{4J;Tdp_aog*Q5O>(oY>%p}%~Om`Hkj_U9N5Yn0Os<Jtz0UbzuISI|AUOM zf#rF>Pc?DEomkppK@rasT_~5l%nkz1T1ivXC4y%~*}dx3NXd^hURthmKtU~qc*ZWs zy13`HbfzhxvcsckUvm^&7@wRkjYq(-44g$W>A2P=^zl@=CHPbcgx#Pi?{t84VC-v8 zhd#tP-ne5gbTP#{WG#emAa++&Ed+gvwaHvP%;_+LHuceQygz07x4f?^X*><-L0nKd zx!!HqSknsd7+nFc)26}z+&E#MxjFKx{1EhKm1|vNp{p)9)Sn3Q#~2MD%gaaJx^hVp zQ^yk;IR5s$4fwNH5`Unhi5af0Go>_Q#&_G8`}S8WsYPfOiA#wyRAr`;<L$kLCKs)4 zsu$R{YIEq!cI-|p3I(CI{98^Dy_ewlCB(s}hfl(jgiR){fW07|*xK2(Riekq-YrA4 zZp!LnpbgjLlZ~I>I?JzjSNvFK5bm-6xCw)+fMf1mxn@B?(FhyVpo44-#2=lRkqxz7 z4w2}*wy`0>yzZ&Dl*%V8loE2~N@82FB*;!BC22F2;vq}am#MHC#~sLo1DO@+)Gb<D zT&jUjxNoZK&hIH5o<7VGgWu_4X*b;j6VbmG7&`5O!i+!dZ!A3-@ZH;tKmnn#EGh~m z!IycK#-Uwhr1n^Oe@L2=2wB7q>VewSCR~qBlT6%OZly&<cR4d$zIX>S;~ToCB6>}? zMQ%^#bHIc(s0;(|ZP|an`+8Y@{?o0$!3=vB0E)-4^S{|l$Ps!3pB`xIvz>H$_a!hY z`%TYO71W<UnzF8n@vphq>*MwN>l=J(-e=&iu7Ed{<)b)r4L+DqH~Q*@JZ&6Ob*!0S z3vdGm^Gyd_M8BEa>Q3F!xJOkPU_&Br-|-V26iCrZ<<AgHO#un1*#slj-yi~2)-z$c zYWzpDTE%;zEvK7DXM)D^r0s*Uv&x?Wc~GW~-SXHSYUAnGrU}r1lhm7}*(*1hE(WXw z!v!b2mH;D_Zuac|7=ljEZMV{Jdeg?f@_l5UU{(6D$<-`&PmT-s14#Kw;i2y?WPMzJ zzSk20Pa4iXPX&ehV?dCpFC8h~j7&eyekJg(atS{|);Q>%GiuO!`BZ;?Jb4p~Czj-c z+*&tR&mvQ%S7^3heueOR<(`+s!uh_;?aA-`qI$m4+tdLb_qJc%6ikf(iXA<4`z)L; zt*aCTd;LEK7V8-)`{-VQ18#p{Js>8SAjX!<9U}((erzG8j5;~3GXFh5vPr&@iER+6 zQ7lv7>ok}K<=0=}uk;1fYYi<iOXOrCj_84%uWscjnf#nbWzEk=W8uli=L!hO|1m`E zy|3m9@$#RZ==_knPcf}-sBMh*bY#{F@(%jhn{uOy<IOAE@5^_?6GcLIP=sSKCF&vG zh;~}QQXMQJEc)!)%XgtwW=(Mufh|ouV#RQ=X!LyC;5E;Rjme>nG4H?|TCcxZndgLv z?H@g3J&?k;qz#DjEG)wNL_XRosMvoo;SLEQ^<&Jm4|H32lU<3SU|?g4TmIXh%SoRZ zPj9eS(wJ$H2(0w1!nt@3WduSh;c>h#tB3w;&3Vh*6<Us0p4`Xu{g@rNcw0##>-u1c zjn%i&7*NooWmEI88BJL?qmIJ$RPVGLgBtzWgguYFrEpeq!{@ZeCh)kNrnI!hpIn1l zg?Su!knL>xdPe39N!duX(&uMS$$&ygMP;Gu`k(2W8eCIjSH)g??sQI~w74@c<xhsa zL>>#i_oaP~QZ%9Gnl-@1^pJNVmpzUNp#Bri<$FH&ysHXQJ)e4dM@CTgzqVf!BeOT* zu-f#Sl|i-`8vR_DQWd_(xx}J}XDGQ!{k;COsb8)MU3q;-)Y)k8R7lXpUR<1)>s^o< zF$Vh=lYYI-e`!#+->jI}6nJ8rL5F3lhRT)evuRE(up~IL_uu=KmisFOoK;?T<Q3Yw zGIy#pM@di|HkzQ_aG`m~;44tK3T8U|?q;$Ld;gceu|F!#DvNq)y-qgY@HJJb&M;Kr zb`mpASCniP6v!pXU}6(bs{=g`2x3V$L<it{?D5u)oOL8Vf}(!D*kF@lO2W96X@-YV z^%-mJxR|(ZGNu(%W<8wdsP#w+@1*gNU0b7D$_|&(dzbG!!z+jFg*8mtJ#_=4f~%@d z>lt5xSU(bNhWNKH1(79zrbC%rzm&@FC@F-dEZ0DuITp3*VE3E$HR#!4CZwnl8j%B6 zl{`O{g4N!l*GGc~K^Eih(XO6t)&4Z$hwj8DMnqlNmh?v1)}!>VVuu?+@de6nSL~MY zrG{Y}isiP1Sny!^K4pfEIj2#@cIEo_?*c1h#U!q2;rc39xic<`Bi1q0{A6?g(>A=F zZ(8#&bgS6kk<CVW+ox`uuS?fRw=F8{`LX-tj_%Jei7{9xR|xXW5Z!5q)gQBmYHErV z7ECK!jqE2Iyzp&IiThlpH)On!gMLy}<91w?h_%+w`R5n%-c3Jm=Y<fb|73H&FmB+e z$YZS0HfGKy79H^jqwKMr+T{(x2WJA6q16~=){NTW61VKu>XJIPh{w(7XPJtTj}qpF zZ$9@Q7N2ES$uAB1;oA9k8MWD3RiI_qVU#x?T_9wltz2zpvtZ39v$0u8S{(lVN6(Lp zP?Sut(hWWl*09>~iAOvO4++op*FM(KWtu`v*;reHthdQuBm`?vTdH|g6s?;JLK%IP zVq*V|P$#D?AKZ1VpvO)Zn>@Mc_mOqkrDs`T@J+MX6E7E|CLK@bvc}!j@ZoV`_2#>- z)4StkrG=QL#DqRLuqiA+Qo}cy;*_mbE30M!K0e!1>lq48aTQW9bO7`O`)SukV!BxV z**XMfyzCCe$CdJ37cWL-i$-NAIHaxyM_dnfQF3iEwY}G-hV@$r{@N&?^;gNas2oe6 zE&{7ov??>bW?flffhh)SIgz(O42~q~Ol*kXo~l#BwQ^!BbIjTPzEA%A4CnMKp;%^{ zzbC}LL>U`8Iq3O|p8Cn>skXlWCM9gLaal(l1(<X6|2Dtum{@|xYOl>SYQ7;59V!9V z#TFAee|dS0Ynr;@7;@9|W&aZ1U-Q=8Pfy;Mz2tZ$`RBgbT5?IYp0MSB2lXH#hNP>7 z4n2#!5j}hN?wSJo%@>sT+`Sde9m=nCq6rpycr{0MG$UffS7Y>>zQBi`nE<sR#PQT? zsLN2$Ws>p*x`t}qB*munBY5R;-j^feTnR%aH9aY{o0B`ahAkL;nY91G!6ty`{IqlS z?OLMu^ZpW{U%B=$BU**Ckc5ONK_x<6L%9swX7D;;;|)1_2||hw8q$>I!_rm^u4Et0 zyx_m`Av}0->l$wwl^#xKFt!ksxNDFy_^H8H&VfFwl%GXv^Gp?TY{{#`9-me2I+wZB zK-(K?;yT$VcL4R3`B}`9jfqEbI_!?RZpWh&c~w{b9UHU!&=TmH<dpxWGayGefXaby zO`K4mHfWU_a}uAQgn<|6oD+iMUdT;mu%-EB|Ce7~Qmm}qG6feKw8Vv)8q5nKS)JJQ zDw-zxyNOD93lZg?5SDt%zl&6|%>vP6Oz3*J>Wj#;k$>Lb9V^y=rZoBb;#~CF#8HIi z-p@IvX&`$9O$Y;;(FE(q_u@n!KM|LOt`9VYtM(7Ci`^rP;Rvs4)<D8Gp*i(-S=4z{ z-HAG_)3gbvzZ~x=9<XMX_TUj&xDS=%`E0KxnI0Dj*SYe!;F3T(=eu~j+O%IOHQ{@s zHtQ#s$Gon9R<No}ht3u1h%ouB?jQbb?5DcTk;186v*KevPF^?4eJy)U@qqqZ$&l2% z`AN^>i6Ltum(~(GX{i3N!b3r1wL~_^X{=@$6}u0#BEsy_#{*m&k$G_Tv$dRzZ&AoJ ztX_H6G2gHR6;8qv<A|I{jy-lq^j1>Lo@nws&HRRy8!KyL=kKm^f@nzOjfD5dAzrwl zYb?02Ast7LX{o+r^fiNmkNxz*yt2uvwA{Rm{?%t5cL*VTIX>xc_3W}=#(K)Q*jbG~ z%+nb+3QJr&@Cc|Gq3QCs?-LnS84lkQEuD}JhjG3OTwNK?>3e%o4o%sD|6y2LYfw!A ziT9W_aPhu3J*5yiUrM$^@+_-k-D0Hl`l=l38c)jMPNy{5);Ryi{t|<7A;?xd$Z&#S z;~Tqz166{QndWD!0g^zc*VT$^er-nEg!E=_>Hf(^lf0tE8^wig7>y*qOBJTnCG8*4 zg5R~r>Q(neG9NJ(E)BTM|Cp!@65b%1ZWegi)*t1Hi<n4m*#O;gZ{L>g$jk_162DnB zX%wa7MrY{(s^7*ukSewdL7i$$4d6WO_LDAV^(V1%Znte@`*B@QYN#S3-Jb9Br5h|K zWs`(@@1LSnjaTfpFsTP2b_xPC(;yEq4-Y)1bpOb*+!FOL#lR3QTsWIM3TsD>;>*lx zRzl4>g4Z|d@`PTWSU8LzoA65D<!^u8afx|B`v&{yv@)(6C8T-_jvRM2Fe>0E=+n_; zz%aLoTY?5{wY$RJ!!Qpwy1rhux7G+NS*%p%k?-Cyc2v}DTTZB&tfH8C=1d*enpR`N zWZ@L_#-w3~BiLCk5xt|_qnA}TRosw*6Etxxiu(9ar6>$_y{v~Jn0YyO{wkp*q``Aj zEC_8hQ7)(_l?txWr9!RQA|_Sc4?jMUBQoJY0Vr#gjr@)OF&MNtyx6yx2RD_7Jz{zN zODSiByR-V}3#iw9BN?_T1z~Jel+5<@i8qY3luMt?n>^F&8E~$L*?shsi+9r}rtP7d z_CXs|wBJrGDI)9rnds;#Pl#mVvAkHot^3a{=EpA$b`WiH3YIQvN^AMBL|G6Xekf15 zs{+;ZMk@VxR+m9+Dlbl69JRpfaxEW)0rQ&RokH-k&IJ>sARjnd>r~rwvvRf{KTAG0 zKg<Gcf8aOoJOEmQI*jiPdTYPVz-IIU*`BR4m|)`()FsqIETM1`Ba;wv;j`f&FW35- z9e@1iv|qXJQwzs*%ezG3ZGe2ia5`_l=16nx&n>zhYm^Y|mUiUOV4RU@-GK7IkqM2w zrSsMh9^OHBPnyK#;BM^tahmgTD@K-}@;b)2Cef7O6HwIMAN03j^U2R|O48lYq+R76 z@y@yJdrSI+PCF`aR>$-kj<#!s8Mv(q1(cqcn&kfH_k@)-&td6P_fETZpAOU4c>hwa z&BrY%2iamoTm5+z-`)9VU8dm8s}$z9%4!S$?Y`fbHQV*5lA*u;g+#&syQ|BhL@yQi z(k|cv4;I|}EmQj5#c<HKvy|j&VcH?4vb5dhJAH!3;ihZJyWH+u@{LD~At(Q8Zx_*& zJyAaC^xO%vU!`1y3x(O(>YdHRGv<LUvLWpG_T?hy1+SP^=`17@(_u#c<8?&k<|!O( z(iDFW>FW9I*RZmCH9;WX?HXI`$y-JRlCfL+o}@o#f~7PC!0=K3A=T6drP|g}E2g<V z7EZE_X_At&_f&^v^AO-i2awu%CXQhLV6#rP3^ryRmv7})7xSmnB*i|bJ<{)=i>!cu z9AZ<_#M^;I#>Ww5qgA+7D8+VQ_f(zjWnrnzMB$OcUgHjMu8+X+dIboMuY1q`x*6f1 zz<wnW03ig<heEc;3l|PBwba!SQc5lD3}9zV->6lHo?)4`f$;Po<cD5y$LG7{5{}Jt zfH^7cDBIQbUI~*lhdARk`FSabGqzZstWX|E)VDo+D7~>!=)CjGsNs;oS$>FN&R1_E zuUsgQP=(FF-<-l!kZR+ttjc5(ubI#6=JLK7wwjAS<Ik=ya`bOqIx}MnY&=uLKF@#U zJ%=7(Un%o$cIG(X)7S6LAM~I@ZN6Nccp0Cfr_a5|J?G5RqQrZ;oMPHqd3?mM{Xwe5 zeBKYwzIXzSdJ51ddXX&hc5VDZD)RhTBCP*AJ7j%+zq8<DYPVu?VvA-QPcL;yia@gr z;2h<hI1xT&X*;BEQ|96A0~h7D)xOqIJYGJ3_Jq^QuMoZa?Cm+viiTc+-yDM>(-~46 zp0@El#%76}QCcgF)0SsJL7Gmskr{Rg?Q=gipQuCp3A81BsLmM_FuT41%1fXZl&@_W z{eb`$3AP`rmSV+O#W<XnU|wZQMW+5mQ7$VhMUm#3e&YtG_r7{6qDPuMPXfK-@}J$Y z2>_d>k=fCrMta))l3oN%4f@|%WPv`@$DcQOd2bhKe-7b_jOU)sOrv^wH0Ei3IW_um z2<hJe42uTHMA0{Si@fgk=Ot4QzB?!W@gE+m`@1#dkyNRd$al-Muxv<JXL@|?KvyWB z3bmsknKfyhIa+ReFSh8aVe#TPTz6W4XrXE=PX0S9O|L&?`(<r4ZE>Z!C;JPf_GZWh zzQm_~e-7@Q=o!qh`Xv0+Lp{_>b=B$)8!-(R--CGJx6~L1&%Rm7W-JKC6t-6P4YJOW z#EiyH(O9&t^v(&1iFyGrICHPz(xT6nd3g8V+t<0WUrhS_j*)R5e?_els<8!);n2Kg z_jGnFieq6_-Ot!SSBsYFp>&Lb%5I}$IoeoAKB70iRK^UH_njz;=*nf+B&2SF#rKcs zVkf+(m+H4YsPF_@lk25~il+6HVEi4`b428y8C6fXauCHf^RTDq?(aQd-7_;$r177u zjzKWG_zc5Otyt4Qz#{iopJ{C(kC%UNwa+NN;rCWawr`Dxeg-&@T8VBepyy)zd)F%; zMDbtcS7$gE&+t@5(LU*g?ZEE>ftF2(-iDzMp%2&yt7XwakBaW5EX4*IShI{NLIfK^ z(^PtCduwXLvXz;R2X`E&Zx23<5=aaIQcbi`uLmy1U#g5h_6e!wS(%pWs>t9s9tP>? zR6+pG(T;1LrSzSfF_*NHzx|={(Y<z*><k(-`pT6E)_8<E)}F(nTN@<XdIo}=IcK^N zFE%q*5afOa6nBaX3Fbw9&=P9s_SJ7g%N_(XKKkcfCya@HP_Hi7yS$!`T54%~MUrfO zkYZon-{Q_AWI$-xDMuZI$~6YyfA$TW$R0|$cK(t(FGpmj{66tZrro0&lHNjQht`IM z^(klE+s^a*`U-xJEyUhuPVef6(p2<2@|n<EMZfFnzV|WUZc7fG-(om}#w_h}487kK z?k@QJet}kFhK=|NGfQ3a?k^4H^i3ntmkD)&z!+#Fz$kU;Bnk+|V236SBmT!QvTv&o zTlB@=A4uo8_{;!PdJG|9V|U5}Hej?JMd8!O6KJQzyEuLRTuAZ|WDF!4Vl$hkO`sCD z0BuFX`N<C!U*8br6Z;m%g9Jot+t!OFAv9&@QHY$-KS|0kAVsRByVOljk%3aph^r-n zvwHe`wqs>t1UKAH(E0cpPXVU4&ba`<=zk0*Zh6PDYoEhBPR!V2IyP^6{ii=w_4FDa z!PDCh)8eW<JDEq_7UT1Ti+RltV7%&&cF(R2KK8n@=2ODXS@f60aYEkVJ_}f0R&@SK zJ!#W}Z864IBGxCXD#`|4(Ky3Ot^`U+`9hEB+h^*KDg!OKs&y2yH^SvjRj2j~zoT5g zL*O#VqxyFq(@~kuqQIPsF&ET?9ukmJ>>YgI$#kFf^yHul0>BI#Y@x`A*$9*fUZ8bz z$NH_Ag+SUIYSvo{Do#W!*~q@>>qF%=t+nyo%D@3Repc$&uep3j%hShmfc~UVLG6d> zaukaFL+;V=uZGEusnk@@lQQZDCEpObR0MLDr7X`?180o@A|F*PLuZ-}M>d2#pyc?j zjjhz%f(sw}69M}+V4&ZVtuT`Y&X@?w2D8T6vnM>kJo-l@Sx=aCdXp`=9<d6~dM`vD z@oZ_}K5K!dyVapHkC@9h+p_d@e$<d$|I?H2R^z=&hfGS9JFRB|20@+EnEuVSqx35A zZ;|IoYtR3lwty9kmu=zR2DLjUZPtv=25q<7msGd<DEV0ex7G4q<)xoIJOYghITxLT z(d40rS`sX;s->j+$lO80K($Qe;{}22CH>mgMy9EijZL^2ba?kM5e#$x&-|i0Z{Cm! z6#n9Ha>x_XrhC;u=T%l?L%@*Ki__M87#SE`*zDL!e&=Om3fo=XwA9d31!H$EqX3C+ zW{&po-9ITQ>8T)UQhy`H^O;mi?Gd*ztFCkKXpEsi$A$cG$<*EpD%Gp8$EBxC$7@M2 z12-*K|D>0{{cr!u-RK5VFGpS8!wX0JWs1{#wv*8+GuXh!!W$QFJ-PE=FC{g}Fjycw zc;QPSrZvONS}E2nKDBmYU+J*oe&d@W(WUfvT%~IYeM8~U>s{#Z{dI5<Fq;iHR!3(P z*}tD-l+rr(0q$qBRrB$c%M*VRe%J-a_Wt~G^BhpOw3<}qcALaH8*Q2)))yH6P<-L? z$mQqqG`gBdl`|nnH9J5NEcU3+Q~Aimd~40z^FED&i+Qw1+z?c^**~?V(cQtePo$+v zE}6NUYany`5O=FA!VGDQ#eC6wCvhrHi<yC_OxX97AB%g#$`?}ixF<~{28t>vrA2CS z04EGVu}4jEzq;l)#Gt@Gb%*}=$5^&L)fG-#Ht}EyM;t@5$T*X&30a}o(Ipm8FGm`g zDe}bygjL|F=tQ|zd#(f3a{x_fGs;LCU!;y<+YtIq$0I9YTHs2zN#_&c*5Ods$a^)d zPKu{JSax1|d7^XzoxHKX7SOl4Q3uP}L_-hlzmKdVo6-U%?Veh{4o+iAZ{i_ZB|cZ) zlf`f*hpGZ=d(4`Bh}zfU{ZS$U2AhSj#mMyhZgkb!&3Nt`Dy%SU5Gjc{B?s47dg6gy z(-B7_HBG-PDt><1t^u;>;4HsSjrXy>Ui4Ff0`k}e()+~Z(Uk~ZjQ_6#R@84zpGO>1 z691@_UdpgCHqWvmCn$XkB1-S2e720!6-5GD@MOXZQ5k!05r(zk3*5Y+dle*c$50SC z=!n@l)D;gs<l-1x2WMo@EPdempl}6d)T^+!f68X`i<tRR#mqv{<6C|5HTy&c^30q) z!u=f=mz?GI=Fx(Nm8(Mvgv2BE<8V<&Lt#PZU)F8^hLdLxtZhlF4gHh>_!=(kTkqwS z)&S*P`CiJnH}vN5<T%)OP`>R^BVHHXaBrcAO=#aV=E}VF`yJeB3gO@HC%^bpM=m72 z8u!DNC<iJn-%gTHG;Ov@KiMQ6??|=}>FXSCj^dB;eyd>9l+e5W9u+H0JYNmQeJFI% z&e};V{wI+h;hbyj3i*N+a7zDeFX*jr<*%^XM?&l=7SeODn^Mp&8yLS@dn<D*di!!g zxs6t%a4(mh##M4I9dZFL+hsHh9)PBwaJ5r_Nz6D6JpAx312l+Zj|$t(?$#1xnOx4! zRi8<Qf4ABRdWMqj!TjE<(oSxSa2f%7nH_Vd)u{WTS?<r+U%c~|gS>V8aWl5dS_TJ^ z*_Qzo40^3+Xcaa}NkJK<N60AeE83LLbz}51btEGBl_?k$E~A_SauK)_zoERHqIhN- z<^OIuZH$QZQl+c0I6E{{rC7>h`-#|BTpie^xn$G(KNtJcyX6)?!4O_<6%HQqM1LfW za>N+hXi019qj=ezg_}1fre4>>etDZ4);m+B4=Cz;w7q)+;ZFj->)b72HLvL%;z$c5 zV^magnI;>+vtw;Lt4{k9M{dTd@_<GAQIKh2PVn-|`A?sw?DG`^fmfQ{TCLA^8~nw4 zeD>3wzM`dgvsN@YNc_M*V=NgW9ULZ#rJYroMDEkz!uS8^T`5(~Yk@dGNJXsbn{dCx z!;ZNDwJ&P7ltJ?eHhfZe^HIe55Gm?%Xb8Wl(C>?p;VR+bVW0Sn#0Gx{mx+(TEpzjL zr$e^#fbJ%uj1tc19>FSK@#tZcdVpyTFv8WSIECq0!`j=rna<mU$sDFG5HH(ANv$+? zQS02}d3cG#P9Gwls!gO{Nh}MeoCHa9b?|)ZcyA9-`AXUY1NAmU4r<+~uz!bZEbR;1 zcLiG%6BXSma!~uBA-s-t=dYfYBP~z-fgm`yN7L$I%FX;Mkck^v2WX$*i{%ca)8mmx z_%&iFceSMI``hfk3_MV7K(FH4y3$E`tgxWY-lG>nMyRy4e`G=2Y-%KL0gr<5D;n~W zJWsD2(G*Tg&UKat@HAYcQQ{#7dz9xJo4kF9rqkZ*ydVzK9=_0e8US0Kj83aNO}Jwi zXx4giJ3ZrmU;ydjrMa6Y0YZs1mIIpv>Wr8Ep-=I`{Bt$oHKu_`#Q+ilp_k5<9gZ!> z@0|V#vy7jtRad&CYE)2VCfdOMl+-|~r@K8`D)+D`w}5uI9!BuT)#?vM+)_~`QGw-( z_kN7UmSX}IPi6rfmMyfuiS0z07IbDn0*3OFl^*OQ;gqF)u9`iR`<Ppx@z9sZmTL#{ z%}yZoF5+5aH#NxwzMtN+k_aI8^H_M?+hZ*!CoZwI6n>1F-qVk&43OZO?kY8}NS-+~ zdna6Oi4!TJC&C$vy^Ks_ucZES7#A?M;OAS}T6@~zNd;e;xg$ijNKpS+`FJwT<Ez$K z$r-Q33(ZVxnIOI6!ibIxzh!eTFnj$l(=*P!Uzy56*AuO_K{!)OkE8FcvZJ2OLJJO{ zf#}$=O;cSnwm}HAPK?Gr*m>~dS9p~Uxa6!yAjNxAeEPYB=kp3#m-j0=86qAp-!*$c zJVY&Zr-dfm_IB&5WtKj6w(t7SEA|(}AHfvU0s^(QEGiABR@NoLWXsjQkm}j)tlhDB z@K(e9M+T^m#A*Kjtz>=fnb#N-_*<G^GNE4ZU%Vm0du^;zccd;QE)JRP=i#-B!>uK~ z&k$lVl#deax0)GiOo=L{&w_9#ftJS{`Ocpg#$^z<U(7eLtR*@7A5V1AX?f8FPMe<l zsgLr4in{Jt<GDfrd5+W&%VGU5BgI`juO3?IJCr#o#7bB_c{U)dPHWOTEjL3SZ7mc< zlHp&>Eqzn;a+gf{cI2CUciIiippK|LVs!^N+j_5&fP%Rkyu<fblhnujzsgL+F6czd zZ5L;wziE|dwb<{9Q)!PMWGDz`j|xONSg3q4?ilGfvD{$x(H&}m<c`&};5`UJzv}FP zn7;gqy^nm!{O{JWupKQs?{TY#i})os$utw408cI48D;fY?L;zSsM?l@bITXUz-(Gt zGqraI213iMo_sx-7~P|2aq0+6a^haO?ce?z<XogtgQSgLyCWK*+Zkr?#L+BfU}->u zCCz3aC$zs0-9OO~n3<yHKkvzCVZ%jfC^zaFH(u&rGs&!VQ(e<u6LFO(y2POlT3Ctr z5f((R0GMK3`RBcEyS;NEb)j%K8~Hvo-*WVORKN(Ukh#Hq!;2w{e`2HJpQKLt>>y7| zh1vOwA-`^xs(tFn5`U)nui(05?ytfn%SxT@yFUmsxfQh8Nqy_V`dazFjvU5i3l!f5 z>vsh=Lakm`Of<;2U84o=m{uP$Z{Zgt;{V6s3X45^a@e;mZ9FdY(MJwlW&=WY!wR|r z{J14<)wwFmm6yZ`cPa+vfEhw_N*}(tXQ+@H(UJ7mpnt3Gw|@bfQmMkDqcT|@@%6eE zM0jQ>EXiSNZ5s8AIiXXC(<c(H$GH9ZPNPrjP(fU4Cbnuh8en8(pRyg)u5uP3KKWZ~ zkY8_=v|xA;jOhhdua|My6Y;Kx<FrAyy|_X9cWH%HQE_i%4(-gt{=F^GNzL#HaMTvB zB+6Lf+MX0ueN_?jTlJmlFU!e&RBBXFI$~;&=8A#dWr3V%;c*HPLhDyLr1?79rZo*} zktm^V8`YZNK5(=v_2<Vb&*kP;yg#0$PxoK4WkcjOal0=tMfO(cfF#Wx^t5t9yTT6c z(vR~hE}PX{lXo*R{*7@h(q=3~G^G^;o&d+U<X!TYQ*b3HOagnVd8@B>LfPWiY%sII ztMEpNtB1vtx~ls-{Cu~y#0o2m@L3llJifJNU$MCV8IE%RPaDLC<kzG(xt1Rt(f3uk zzLbg_HfDNGnxXbbEsi4chQFT){|#7Zi<Gl@kk2)sqVx9{`o+H&SrnL{x;F_4W0PAG z&`5fxt39my1}>TPd64TVpIF4#b`!!AfD+#ALu{eh!~yod$Ox^TDf0ngU!8+*rh3N& zC6C(CaG<8+u!Yp?uM_^>r=SG4K6$_pX}{|}^>P!ulYaYczreeSKxdcsOA;s6VkSh; z{|~S<cV}8AH^YHmtk%Zd8<rbA_s`ATWFFyWrt8b1g<t>@;)tW)$E{E4DCtCM`=p0E zfPwdebCqUWrAvAvO1(QrK|4}FG-E~c$q(P><ej_!zf(Rwx@uC}z=axm8p_zSqR_k9 zQ^b1qojE*zNnbpMG6dyj8t2ny_^#<~ypb-&aL&YA62qO?F#@Z+&*dp@kXFE0fARJk zAt1$jbY}c#&EMMS<l%w>%Q+w9DZY2<{wwbXs_yUl;-8|$Km04}6Z}Ibey`pjB$)VT zT0_;oPaa$v3)3R~A4OLg)@0j;d0zueRHUR-N=cEHm<0$3NH>V&7^8c@6hu@?YDlBR zs4>aGh)IranB?f1qc>{o{hsgVer(6_JiG7vy6*EjgLGUYc@W*E(iXJWtAfgkZT5cL zH<ItAahplGZZS?EPT*!|gT9eZ|6VN_PNLEJ7wfYT+bF8_;56t+Sh!8{!c5>-6}|Sy zp+EJmcVg}o^xe?HvPBeH{L!F_$~Gt5{d#IzANTNe;zswAp#6WSY0Hma!XNCOlSOb{ zE)qhU?|J*B%x2(TqW$M;t$jhxJ9r`EU1KS)=*(Z#q*T%6{2BK|te)x5%HzYcs$G2h ztbQ2RG)?5_xp<@OqDS<`S+u<!_buB%1pasGshg=OVR`Irb12}lCn7=bch7PD@-E7# z>HDh@@Ty1K?w_Lh^^#G2B&S+oMpde|L~-}joaG<-``$<KT+z!(S$Yoj8B>oYw)9S$ zrpH6qgil{v*wA>7cz%Y6MwyS@ACs)sh8QF~<DXd%=0%Etr<$9f1>oH@)UCY<4+#Pk z)iBf4(b#+2bMhx&RtwCvZc`e?me)t>%mAaT6BDtcsn&+X3hG|*vjtL_%-M3&M<fTP z|7TMcDsR~Q48P3W>M>bru|vjvZN5j-P4}zZW$pO%CGW^}WK*`0u&ZopBBkdU=QR44 z>o1k;Kiqw_mRih@O}lwJbj~pgW)Wz0@nWW=`aVk4(!2&mZbXejD5|33U9)$NXl;DP z^~Q;jB3c6mA1#b#*LF&2S`wx<uTvLsv3`=bAn_%eQW~r|pWGZUqtMJw1Y08h%BqqA zyHuO=d8sLj&m)rAia$-Db8gWJm&FAy2$My}8WK&0n~W*&>>MvbT&9Iz0hfC0Lrrye z<%*TKObi4tfadR1WwvthR~6hr6#H?r5I1cEN72<8F7}932&CTc!Tt2TQ<t0CewWK? zcP!NJ%-#BTM*DV0ZK#~R7P2Cf?OWu7PLDiIaoqf$qmU95bD3euh<E81zlY|h-TN{# zHI=Zxv($PjKFars2NMK9PUGFjKUIm6(vwXR8rV}UchAcQJAF96sPTyD;O*g)m6p|U z1Vr>g>nj0|fhsGblFn>a^A0T$-R%V(dFTN}V{=lK?Gg1mBByEK?_tCA7IuWHWE(Yi zrwOx@nfA&d%CN3(oIlZJ+^!bal&Vvgb+tc>@U-pTgMOLU_TVKa<Hx3*PL%pxcS1Ek zhdC+VIB|51u%&t`jQsm6`jjGUFk9cey}4EuST4}KlMrF_Ey#3u12M7tE7@AjyUfP? z<`0)Ob9aHbyTf^9u1RSenwMXttS(qmzv{=8=rs2?vEr_gmmx99j=HX!TfL^`skl(t zGv=IT;kH~0%Z-4k!lYu`z;kUkk)LH%p3Ff$)db0G2w*D>A7gb9C-idPEP>ypO}Wj9 zN@)zH4Io&nS#XV)tgFV7ehm?<YI=MyDY_Nr(P_4>-#Qd?T%e;xE8d)y?@Ow(sI3N6 zsEOF|PRtThqxLSO<8ek|ROii&blzeID0E`lyeXhD;ZFB!_gc0o$EsH7{Kpq=PF2>! zVnqV<gx*I(Z3{bN4>})3Y6TQu!LW-f7QjMu4oPEloq-C9R2|Jkl2!gmHEH0s;O(TJ z^BIw&wFz;tLKD+@YfwY|Q3^`#^i7<npJ>kQjRc)@J)68i;vUhn?PgIQyB4@^V!nNh zvS$r-yet6_hvP*mHycs=Ak|LOlMYQyVp?~-()uhVIAEMcu2fAu;#tbFZ%_9LyorqC zd7(|{pNm9Y`Jy@tDN(Z*P7#y8DTC(HbVh2je24Z01Xi1bLn12S>~g<HKiyX-U=)1t zz^Kt9Zxot^F@;f7^P+r2D%*^Dlb0?%N7l5Btxi1FhfWW|d<i~Vd=~@PTKVpz8XoEI zzM9<NeKfQsTrm`)-eIemVHUYe?_-y0c<Sc9DwV*k?J4d)>HnwiSHtr#gF@5K-4(V| z3XCFkT9pPUjj|w2QuxS(J2g};I0qUzu%oONRhqcE8_SKqzH(JaaJ^KaFgG)&O|*Q1 z;M3V?SmX-7b{==FS=?gA)#id_y%>$u^h7kx_rcbRgrrROQpSK>!pwbLEObUr-t(1^ zC78dig-=b7S&yA#Y43RNouW~uef5d#gF|d>zn`jZ;O4R0rejc}qb*~BDj1(O901l$ z#+E8!d{1qWNg--yIS1P}0);{YT2#fWcKtu0?t^{6x_+VBdZynm){H^lTseg}TrZff z!^k7bR~Loq!nMC>{P@_vqMi?a=c25lvFjr)=sp1rr5<OSDBX|LGC+N3*I-p6v0hv; zxP#o5{K^|EfnQy1T0jN77+V>2N3DGMDQN!DK%MK{r+;5+O!amt1u@p4(FHcy_itv& zv-=H`_Sdmwx<<Qco<Xd+VR|BXYDC9!go-^F>J~$|Fo~{a{m$l$@C+Ojh^r%i_+a6R zm9cjoD-a~N)7ZL{AN-z~+|+!da+>{p{elu^{4=4Z=2N%oxUVr%w4OzHg=2d(J2+Hv z+ay&4N-hL&*KfC{Hnod;6I)DGE&LeX`g3x}zX{F`D%ITt{9XXJo|*fbKYq^u-G(k) zUk!&o^1N4<a-Yjvle(5PN;?^TD_nE&^{X`o-}654z36p~&EM&(_P5QuXU9UXtAuvC zI*h?cQ?sge_K4JwJ@+YdZ#YP|xj7~JOueRZ+vA8Yje`3NS%SrXBvv!G67O{Qx)Jqu zZ4eR#`^vduTh4KuDLIv_p0+Wb(w$zb&Sr4bO5lvBsqwll+pINt&xE+8B8F{fS^D+; zd&3jsJVnqJvU1#3Cs<N7>g0Z437k7HX<;j+{OI}~8)nSc5;E-l!4Xi#lkQi$6-01z zUk%k%CahR-rp(*iXXyj0TcvO-S~O+)h7dF*#m{aYatA~Y0QQ^?#zD>^Pz;wmSYVso zxg_?~CGDtp_ubl}L-0Tz1Ra=8eKn<d%gkb-_K}#n+(oXZ%l5pPS6OWT(4@aPJZ>Fo zxAQdO7i4|VJ6R5yF0Ha|pw)ujAECc0pzJHm#N5GOpqiate%yvS)#C_2>@k>Hqh$SL ze9qkQ)VO8+ai4ZloGLOdD)YJ`x;E(}YkG`5L{wBw05z(1vK1mLwApK}n~z4JA8P5D z(CB)!_<*w<kQ4kyh|}(c!qVbN9q<A~aVhBP=Qma<o?e53o@w+f(yr~T5cM_(h2THj z<z=Eyen!RXqeky0PE=DvRX9%p9;prcyQ2tJ4cY!8Erjv2POnI{2R&tZ<;9)-wjQvR z>BE3l)ypHaYYV5>STw5Qm{4|cxAzDP40SUz=Memg+oSIp&`V{GT1V;QUS?@MwL*=V zn`0T!efio3L6|st8b_sGxfa#3uwmy}y`&Y%p)NE3GtZ>}(%^nT!1$o;9-~zhx_%!F z7D5J-UB&<AIG*r;%Sqe!;=RPUW1Fy<Vecni+{N;X<Y5kSVaZkr7>^Y^QU(BZ03icI znj5t?=li_n`#&>^=S_7a90daoLBhBn5rhIjjP2i~!$f@Wn4ZQ+I5$e!u&ELGqCObl zLC|YoNgU5lpCb&PgwzP^8*4Bo4Zwil_W}>H_)i>V|M5x+_2G;aPuImj<y|1T2+owE zO&LY|TN$HakZIe!TLFDy&(`?nMK7m!(ruS5H}+|9UZ0t(*939TVd;CWz2+LI)1Zve zBmL5IA|;(c6omu6GrOsu*TiKT;P(Mo3<Y24wYti3WM8O2K_$eDTGZD33HRm`-FyN+ zX|4uX67LO^>`8lZ)$?P}u&*sc1)_P*;7)I8y3h7Rt&U2hQwXqNEWR`{qkbeQR@EtV zt%-OMRadh>OE1P&OEQou^3eyQbgtrk9F3)nBSaR}iTp=a`vcH)WM_E|76cuq(qflH z|6}OQhK4~f$Ehipv+V7WQjp$Codhb}n-R!ApzUv4>q4gnk#oN0D&zk#yif|s2(OsW zCfYm(TOYD~1#&l@ANfA4_FI}x$H+n;a8jSvL!|;@z06C`N74stIfiuBB+b&tU*3LZ zPxbfKuLB-iZ;)h_a-X2u@C^4&T#(NQ$CYgtoR+<2cZ|UZV*q;|$dV&FSqQr?4~(8# zR8p!#K`*k^5tF^r7oFU^y10SWnuGE)aDUQUvaxsYD5d<bH7wT>e2$~MmM|X^Wb1bp z@_EimUF#;M{GtMhu8LdI7v8Gu)6U3^;79Az;YfQcS)qxNxoq`sS~|!-?TIv*k6l_t zU5a=W*jZ?YJ(;_v3HR^uz3JTmTAwz?ob$VsgFBIq-bMDE)Do-%j=$clgy>9LuIHdB z#}Wp6_uLYD>RW`lgV)fq`R~fhP%uB(`K%O7(?oWbu90>A#}9`o@$Olnc$BZ8gM*qM z|LwtAI14>2*$ND|i4s??vrqI%ic|TIVen}5?}^pxd5Qr^puJZ6)^BHEP?%}zrpjkx zuQC97T^DNLn0hsya~&?d4nl<*>qTuTpWjvq!01T|1229f$2hxZV*k)Fn<*`ikLY;* z!$vpn3;}dMIb{~@02x@|G#4%a{_T^$@~wB~@=DF4OFv(I9Od_b6rT*3Q^5^f&^iXG zVvfEep_1@DUf%o?<U_Sm8v<>d4urcL^j<0#G^l!?oA90qn3JXh+>J_kAWL-bN$iuo zmvzsoZk9lWF?IvYweUej&5lFtP(FH{wp~18)0bq4W$me3hQZ*JeFLj^Nu;w7M5jrH z2jj`-Lv;Ue{EO~`jsF-nmtu;Q)M}0p2c`g_f>b{z-thF-wdoH$j7aV?sfqfei8J^) z5Xqx$TY@N}Qm4>%w`ZxIw<#<NStDAn65R9xaLAmp6Kruim%@h#YpyoY6iQ9-9Qlbc zI^5UL^r`tF`rey)ZX+CYxibgP6`)SJpXpAid{hm6GBR=0e_lU7PSZR0`jX<H1=Y33 zuz;(%Yd*#Rk!}sFHk#Dj%iC4b5Ae@ouI_+PL0RS%NsodgfKch%p1&(&ctg876y*C- z13cc?64Htbrq8nFo;Lc7IiF))H}wAk`~v#O{)vv5cF`3CcWHpihe5qU7%+bS>GyZW zqo4uQ$SOy%B#kvaQp;ix{P%_>w^!V93@@mw{9(5ot?@qwp15Qb(qm}zhf6^<G)HbB zCdLPUOwyH=skVR<it1Sc2s?X<jVkpCtV+u)gFYWxwsW58Wl?S8kK;Pkt7Om~E7*UZ zuNW;|_4>UQ6Z(J}kHVq9|6j5|Nb`6xW_%EFo3x^N^KLE&Ulfm2{7ydzymAyyZ+6Z; zYO}$HU$Pq|cS&#tB*gFrb^TuAuf68~Ht$Y~Q33KL24{m;@gJA>0JYfa)eRk47xe6K zMSo;oO>|_e`u4>6TWDBTtpBPm)ughfx)}$j?A0T#+3aB_F^5FGJ(U^ae+<s82?DQ; zGXDkW3`pb}$%bpV!4|j{eNx&!3td(FyEPSAG>hryb}nZIjZtWjR}G!om5<@=@rAhf zS>WVfN1^iLl&hQ-JAnl}XtA7Z4XEj<^3k@0*)yv_oRfp2Nz1uRx*2fn3~H_Bw9{=< z`fsjb_Uf*Uf1Y7p`w$;;7Ft*4P<@=j4h~5_(+$27|7*Hu&(qN!ubNL?;#j8AjoGl6 zl*ax%7*XdA95^j4;VlX%56hZ2Z(X|gRp0*hWUfCL^w_Xy%?Oqt68grw-GfYHWHYp* zUmdK}1<t8YX(49!Z!uPM`W(SbOC$0ZgoUd23AU1?RUbm4S0z-w0DVM0^Orn&eCE3X zQA%}+<yR8$z9I*|%Ki3mEl#oD{<}I^OO9wfZ5@1^5;g4SKeCNN)e~lH+LYaPZqVCK ze0cz@CtFRMhU1#t3h=e%&luejiaP~c4<{jP+7##47^t)-rYag+I3;xJ+RM8s=}qJn z!m|Ih8!4PWGcNzG(EU!o|Ky)(z8u$m=kcI0VXbxTJoL8_vdHAs>!Hs`quEC^FDvv3 zur2r3qgtEcY3HoA#<XHSF|5FxRn!BO`7G2>%rZyaOWQ~4v`dSyP7e_!oyU7G<VBvn z;$8#U)NyWX*sMPL5ZE`$sN=d~z#g}O&vF^v0<yja<IsOS1HYmsTQir_M<${JXduy? zHbSQ)i{2vfi>f5S-C4RjwA}VpWreWsJ11jKfi;G!VG8|l$V#<+REu4ax`=8|vfYso zTzbj1_vV*&lO&yi(g2&v{}}lD;-tHPDhjeV;ID5J?*O*`nKe+}UGB|SFvRKc@0_VT z_~$n;wAy{j>hL^Yn^TcHCV-R)lwH!(XsN!cT+X%_#~{XlyYp)W=eYkl$Mfo-i@g05 zIGYR{-aX^!RNxx{YN;jDS}knZi*|B)nEO&tT~TpK;N*=Gj-=Q1?>%c|MNeFNjt!`d zq=q#scfw$D;C;nD?i??3i}bVW8E$F*{YT|^nYuBms0J;?QZ{9_YX&Wkz{OSt<(P#J zvaR?~+3eEGEsyWltY)x|nXJFKCulXxAt(CKWy=XaSliea#-qyyZg%Nm+wN;p#sK?9 zMeL%Gk*kKegt<DHXzYyLAFV<CI7GKzvwt&OGb`LN1^VnBqN3X5R(MoXW;$V!GPdD~ zt*PnrS$#O44VBxGVQCS7Myi`!E{F3E{wgWtyBUdkF?D)L^<{M?KU4rqX{fB)0|hN) z8XEulz8UzXRpGnZL@Zh>zsBHWVoefQbncW?o})hp&c1e*=Sx;<V@6vX>9sd=2UcfT zc0+lpDSC?KraJ6iZ9!ZcbV&ELthzD(si>EyuOfo^1|N?1*SY5JGGE>`<2EVJ+FG0# zH9fT|86a7U#gD1P>9mj8N1lwdEP3v&M4FT}k;gJ@FJmjQVIGFq5s<wH-+C)a2bZO+ z1C`6J(3P3Kg1|J4x;q*L<wH~1c3r6tY7Zw2kXdeflX%FZbkUCph2qXYk&?|w*IUsB zZxR7M!>kM<-Z{_Tl4#f*f6jirKxgUE_s?}jK57M=9c0mZ`Mzq1@xBuJa#$<qMu;{L zzt@6|olE^^x|l`$Q%0VvetiNz7W?(UYzCBGapj9W5dS%%wtq8WSyVDBddb`{PqI{? z)N&>%ral)_Z9QTEE(sm9yz=|V+&H{Xq(!Z}{<-YK0a+f@X**het!I($Jj}~;q;e`w zA24B;|Br!-2LIVsToJAfzq+2#3olEH?GZ>c15>HPHTht^<ZJDR0S>y3=Px9=g<S|~ z`+StBr4StW#Q^Au1gsUh8$!I3-h>qwEDs-4?^vm{zFEzqctGX*N=*Y+=7xVTbs8r% z57;V-X0peC=5w1_hh*Y!$44}?RP6A5@a2)%)}c?~A}!meG9`U0g1la`T|)$1Tof%n zICTn#;lD)BsYloy?hRaS_Zc=z^LYoU+kc*!XNV9DgIPZmRVo;njZg1CT4TO!Tp<<m z$4!~b&sAem*q~ow<m)&-!-*gbCDtFs@A6sg=HTHswRaiYEgJWxv}I{x7$5_fs-Bdu z1M&JdA9C{pueSD|0`sS@vi-hE7hZ(h_5P|;PLCQ}ABk~Q7codQN#3+HnWK6*mY9N= z`YOx@1l!AcYRqArTKe(w(niIj*$ACUd0wm>b?A^e;>o96%!%YjW$~X}#A~6&Xo35~ zHCIkU{X8W2>9dHI_K9sl^3Qy^Z7<}En4C-L?O&Spq`toUNKQg2h$wDk*{CRMRXSRZ z!P(FBIOQ3{v0u?UOErIjSS=<8m936t)#oE(I|>T3nh85Hs`BGCK=aD9(OYzd!(+a( ze!S7zsr4q<o;#LWYQF7DR_*L}BQHo<WjrijOP>N&zPN_!GZ|)%?;{QWh+56~nw*lG z=LeQ`n1<FiSQ7^^M915%i(b4v+;huB>0+jWUf4!YVp#35E6g^=FVuwiw6;=5Gk2&) zDakqSPp7>$*;2Ra0~AfU_PjL+v2_Ki{*VVMzLm{%t#C~IT#J%$i(x^({=la0cG^~b z)?B(c2Bcy7rfN7p*??|bhzmgEcrB|+kD+Ay^$eqR<ypX^)8K2eRnK=Ur@&a{Z{{0P z8yK(0_y9Kqd&P`^fyO14q?=4;U8=p}?i^YH{$8sj+7#pvd_=*utsdl2ChJgwy@%z| zI?5-_tB0SfZL8=5d~DTcS}z>sKQ}t(Z^{{bpAidIPbfRGHP$>IedFtdXupLf`KOb{ zpOcV+ZyN3-Td!}XRE09>uZ=6cJpPrV1x@lGu|*mP)A}xH<VMH{&A(|JP2AputJo-w zxQoedjPnEOxvS|H74Lm<)0%9JPis+r>w_;oBVLjS_9Pf{%$<p$D`@>+qhqzQ>WT9J zULx7Ja&xET#kIEZ>l%H!3e*i!j>Yz$Wd`_Ku1MLbo;Q<9nENFDSr=`CLIfa72D*bo zq&HIa=x$65_svAm$=QSdlPLaUxOR4z-=Jsm`1iX<!P&5|D4q)9*#G<7{eMpD?=33@ z_*B20=QCg$T+pt~8T}X6-|!%Sg*0QYprXW#=jbri@u%Ykch3V6p3jCGJ3cTqRK;8e zrETM7P@CtmANQW#tBHx14R4Ha*IfuNF;0napswLijw%)hcL3opO?UL=gk)LSq`L?D z{H-Jbs+@O_%TBQ<6{fB5yEe`;RZzm?HG~SY6L4+sU+L~PZ?IGwIjat)BaH=1H%Epg znl%nOPHzWZIW=6+{Q&wrfXoBm8OZWmVrJ6=zxz^(j*z+bq=y<veF$>hfBT8pHg#Tq zS|-*n)K9Sn+^SCOSGJ4J1}UR;rIR=2i9+;E$f8#hB{X1U%Aa06pD9UozG~+>kdCzF z?3N?D#>!;cD~a3pLgn{s<0*MSgh4AwFH-f|ZYo)0cT~?s7E)?XiNAOx=fbb!C1w{s zs=X8csSp!;&SKgUH4v4n;Z|bPGdBgv=)5IR)w0VmBO{ffQhTpJ<Jz`CL>O69JUP_} z12!j?XiTphVZR4^x7qzTopHz%)g>g`i9^{?&Q2rHSG3S0!mieT42vG^Iv(wC7S;RK za3?*bK%~LQz2<b$K$#5l*F!T$UuCd3oy!vwO1@P?$|_LSl$H6W(VyX5l>uD8hs!dG zb(6AOfnueperT<DOKVtL_asPqrb9PH<WW9JgIV|E?G+|%9SXIaTr3}e!e~SVTH=E- zcr@o!Kbqu`AIRK>3iuglF(-F=;bU!kFWk!mX|CRv8od44V`A1rB2B_MZlZsD<<r2# z14pXVZTr+Autvts2XnRQ#VXr^l@?QLso}+EKWuZ-S`!mv73G1pjVzOWxE(f8v6{m} zZ-Iou>~ptr^qb95YS9{db92Z9mKRO~4Ke?M#qE7>-AnF%@`3A|HRo+tUEdW8T0(k8 z%0Y}0B-B<LBpv^G^ZD&kgWMV96Q7S@Z*-Vd?V+VLyH20SWb^`RAa6I~IejijTp2Wf zg)0kg-IQhdchm|GUNaAL??`a^yeV&*qyxVFqo?gc)9l}HsjErI5vQY*N52Q>Oxv|5 zTinJ>QiF-s4ScK#E90B?>mBN2JKv0jWl+2UU<FJ6(NXQ7oB*2E5QVJKS;h3dAKByE z^>&o3yx}(ISY0zF8)S`;dyX({$69J_4X1?b{FIH4@2#l0r_*C0mxO_x{l_3p4Jnt- zk}&l>7<Gga^(_71(!^@`)hm{Kmp4p?tYvd({Ix?f7WCa8b>lTmb5}BojLN%4#&C&! zWu;(_>BI^~kH~hNv0}w(lPLm*GIlB=nV4xz=h%QY+4lNG9pOAKq=S7XH6CIrP902x zV^d~2d-lMBU)<l;TF+msO%V*gbfwsZpV6LuX7)P=D&1PP7CW=Q>!S;<*AyHEufY*H zLHqLLq{Z*z&73Z(SBGUq6&iIQ*Q1x@leE(nQ8p$B*<Tga86H{Q-@qq3`_RIGNQ6OO z4BM^$7)o|jIAG3-g&TD}w`!^5NKzPfV~7^eE~caQY560{FkL$T@UVU&aSN3<d5lV3 zl_#?<_BLIgZlPb<AxAc+<_5k1L}pgz%43*a;dV*(7O>Catc&H~Rd!E}e|eOi|B}23 zgN5E=-fkQ`rE5F`?D3M5th!}RiVCUNU`yLQ(07GYmM3N>zrw%jWn@ov8VhplcMBX^ zZyg@<u?K$YA+@bQx2|=391**d^v6n3{w9ioJxkQbt3s2%2t58KkjQE9y0R8RDlRQm z2{Nz^SQza(BIKPmc4Sy(w9%zsj!H`0ymj)=?Oi2}2l6)=`Z!pjeL~8f=j1f*z7y5| zxIQ2*9N0v5g!+<;eO-G}%yh5!>q=@sJtpwAN0y7cO^diYn{#|k4N{xD;@LXa+$UaQ zuo0&9S$sOPijRK(>Mj+;z9ewJ6k>9WVU`IZntaW>(xJtT(h|23S8^GrYLCq7;=g8+ zjNA<jQ;wZsTH+Aj2@EbfJ8Fo2`REWyQy<Aa(%5yjuB{n!i=H}yb*9(U*Htu#6rLXq zF?EY{M>(svsg;^rDI`mtIB4~Zf|5)n5x4Ry0$;8G4m!7zeG@|!<+P!`!P~{#2K_(M z^gl5^E-4<5YS3WS_YrB{{E9RU_^CD07&0K-!N*LOrw`Z&=Kvhl@i8eKSIIJ2p6e!K zG?nr{Rd|8tj37w(qHy>dlL7C(&jXb&nf_!K@Rc~-PKG=mu`EWzv?;Z*?t?5hui}N; zd;j#eX!^AJ7WC_uNsb4hwx-EWnjX8SZN%Gur=K68=2e7rf>|APbUS;rwRiWRLBr=X znj#{^s9ueB&k|6JA%El5-UpiYe<~VdnUE*K#jD|P#MeUTRaXelbBR0?!;e-D)uyvG z=yVw0ouj4JDOVCk^Jmitctq~>VO9u01osZo6X?F<%waU=AK6xcSIrcu7wpf&P|kc$ z<9YM>dEQRzY=rs-AG~U-9g0ot+)H$FE8)EFJEhL3l<XmJ{j1p;2VQGKN7g4>uhKRZ zn)8BLUmoNlrTNM317LE&9g#ir_DssOZ>l!^KZdL>KB!wu1dihzXUibZ@3SW+#R6qG z)Jtu@2OnALGT&chSV9^O=#?|-epf6Ib|69mNE>fOEb;~=9Jr+ho+@rVT~napc$3w2 zO*b&4wKFTYbZ-2+Yq|49oSTmr6*kBNA|IV>q*4!E9{c3HARTP1y9$+~rz!T&r`lP~ zGd-K?m&>IH`-A8eb5_<MN!wn-vZ1Z!ZXecm*z0dSN$r+*%RVm<I65DhB1v;q#XN=q z;8KNy)8^2AfpQegwq!P#Z#@V|c<wmr=EH;j^!}CygHA#bAJZ>vpURuu6jR{dVvx9~ zXK0(e$S>9)-#Ma<P@R1Du%J2*^mWRj*Cf?(=1g9qX!lr9RMY2F(QZ>4ru9UEtfb;m zKM${F{@cIQuhGtaIQ2x+k7q2gg28#48~s$Og%;Eqh$magFLs)zEP(C26oNp`th_E; zQ+k8A1X@F97^5?1Huy`Qr^4qNoBaGdx%8@}4TqDBBHTY9yTHB;H0|X@aO3aYKb7<i zudXhYFr?QKCnGu%P~yJZ*9~FQ;avDd7B;|4r7U9SdIo!u_M0@79VNyj0HP>blJZPh zc#(SOso7+)KfKk%JgRp!Q2N=9ZU%2!o|)y8<;yzbPqMtn3g<E@iXa=&oxeI-<F4aq zfUGm_3Q-&j=_d_u!PV@39Xv|5|I}s>dFRoQosM_Gdg`W4z4uJf8t6T3cf&@-2@Bp1 zyHg$i9CS65ec9ABwB9|m!JdGTZ8Lz@W>v#gRPD|@fSh1we<QKmVdr>`%koo2pIq%t z<9O&@r=n399KT|wIcde4LpbOemhvJKiU4T)#4y}@uD$!T8An*xHC1f8rI)+5gPK5z zH}?6_b7=Bwhu>ITtfan?NthVwJoQ|r{a*PWRipCJrWz8`G7KkuiKeF(Mk-Gwm=Y@r z9X{vst1vE%($1ck>dB`1t5LTBRBxxlll8k?AOJ7|mTf611i!=g8?)yn2S;~*dLO!- zn#p4l27g8<yqi5!4-HyuoK(}&wb-1S=Fv1aBd9&=R-Hejn-^(`T9Q|B3;4P<5q0TN zh0frdBGmoSKb@wNXX}Ntn!?S}0D!HirX-KfJ7YRdBNXjR{F#Z(XW0UAhovNC1elmq zZBHJ5ksoVGJZe#>d8^mkJ3sGCTLUJHn#SOKimlSw>7618UH96sEMI!9s=--dZO%m! za|5cNQ$yiyUL3tnrHK^$c(s%rm1JVm1dI(Vxhe1{*)syL-j6frmzMnd^8@3q(r{A* z?%<Fu#t>5pX9=s3l&QvFK>7QR;hv+^>hFGeWc9%&kPf}J3I5_Q!F-g1@>L)HO3=1N z+DzH{K+%)8vmIE(>;Qx5Zs3I(J!wMV2$VBdE9`J0yGj?8XEP}iqbWS@ag6J-pgSZa za8mdSLA;Hy(UD6Hn9c1&H&Dj9_SKKo`18!-d%^yoiTX9+2V?LV#M}oSM?N#UGs24V zTL17`8Xt}N_d-ax)wmGRT=tN+2P4v)4o{^N5B4_A#GFkGfV#IWC1!CivQ1X~A6mVB zHO<NO>7TVikc4X{x_mB&u=%Qx<Zxe=<6zJ|P(`ud@gb~y7LA6J=nOU;S7KPnbq74S zLDl+lQ`DBVII(x1UM(e1eX4FRW^~n?aY<7kB_Y3{r<`uFWspA8S#YTb&AE*~J}A*5 z-%~f$X#%d<ILU-Q*O*eS3oBlO=ws3p_Et?}LS{i9d00h>La$XQG7_k~QFlJaFfO#z zre*a1Xy9|D)S2%~5!sXS~ZeMQS`0sdx9y0P}#&;ccjk4mYG6@1^<;`b@#>mgT8 z{@NSD6BRAZVjC)AQ~jks5J@qiqMIclAnCOqyLaSF)z#{>yM8}?HKYEFbNjCb@F&(E zOzXX{RYeey@8-S~wGtj%T0TC0n^kAS$i0O0(l>-qwji2YjcDA`8N5ZQAt<EV_<V+i zvfMw6o?8lAURFLh(ctv|N5qhp1A^`GLMyG9-f%qvX$(#w-Kw!5oxyXw>3IPcvKln` z%e-=D`d<CkAKL?U77I~ls>jQxM*E`F8mb#Eg+gTv+l2qgQ{*{Qq}v>nbm~VN09rZt zy;)h`Q5(Gz@)1ve*0985?;G6A?*cdBl51A^fCDHn9Fd9H-CzCpoG%Bc_u|LDR6PQ+ zuub#8l;$QkFr1$g;_-1QE*MBlKn9~z)d~SGtUJiioX~1|wZx{>>~uSicTfGsC@;}= zjfm3vVenW-JiWqZguX2o4<jFg&-|26m~X#K{}SP)aSO`XHNZvWd5Y&lh!TpUa>kES z9mq{Nlyxul5^7_*M<{_N_a8&?Uz31t0j8EuTK@*~&V1cv3F((V3)A@VH$$^9i*ice z>u>(yYMn51>2V-`F0ItUk9Brpu;*|K*A*>84XX{1F<F%Tb{F4I#FTqVS;BnFYO1gV zXiir6;IZwD`izz6E#=DVua@=?sFZ$tMG5C1;qvrZ%We5^e?r6QXNg2b<iE;6&RiLo zQH4#Z!5Vu}YeC1*xvc){hykTQ)JK=4^EY&Zx$T81_~5!Cyi+s9gH#8MDQNOPdWqs= z@<pr>&&k~foTTmSqr$VW1sRBTVOz+31MjEj=j}I{j}Hoj&^*Bh^jby_UE<2RwDHJ% zO{M=QmG}>J9|(M}ok4mdg<uPkhS$cjQ(?S)(Z=i1m*?EvUvYMEQ`RUdYQA=Y-4B!~ zFjdS@PucB_x=CA;9Hbt9+K$nk$WO>(i(HWXjLr3YA6orimE+Z>#(@G(JC~k2Mw&hr z-NdRr3UJ8v{ubG6QWF@L{fYG-tvLuK=JZjbEhpzdLS~O!erfVF!3RPiYeCa6kSem$ z5wdrdNYYCgW1hRvMb5El<I7?FnT0L{NS1$k@~R@VQ5mBi()r=LeXh*2{Nd^sne~ts zt0_8!jpG3M7=x+VQ_l1nLefoWL*+%U!HN0;Q5<Oq*qO~hM?q0Q8EB@ndDVPoU>RU0 zpjqYWjp!;NgR%{~O0FiOGIFc;xNa!7^D6_#vTEM1lX3MsD7MX$yu6c<HI`B<*6O%L zBd!cjm7R-TnR|JEvNH)rGQk(J%Dp_zEJ>!rw6Am8|Kf?Yq5Hsz&TVQ`f;AeQIN3l4 zjQq#onS4+2p)4#I)OfJ2tmHOSyTW*A*18m@xXi3)OK%GD6X}6AG|0pJfv5Or(3Db5 zo|pzEoz`&@qLEc&g`;Hem#+PZnw$e(iC*2@!Ok;Ab;asr@smTjPnG(?Q-lNTnbHA& zl)?8|t84FH{d0HeeW-$JV=%S+$*}%c+qvVZi8H>0>D%QgXxy^Zh{x6)aPuVpLq^y0 z=db5G^MvK$lnEI&B7|s*@^l)mYwkt>PKQF7lq3z2#T;JcIX(A&JlV1)tb9PqSqHq{ zPWHE;6$$Y2DT^SC`Yi{}Yc1V)1BLD`{0iB^FqWv{TteDo6l9&H0#Ck!?;v8L;_mGr zf!0aI@XGnAtdF&|Wj)#+b%wkQ+!2HJM~CPk<tMG7&R;ygRk>#PxDqO3v$9Y8u@yjo z#@CZt&FJib0zq9#h@w!A=p5CBE<=$6OE`a9N!PriGrQNH8IKl5*TAixE0+vb(&E?B zG`j)inFIiVZ;Prg?4a7NQnuq)gO~X>OnC^z<MkKQcH1pn8V24#L_IxZ;*-PIS0}d^ z)}~b+0us!4I`^AL_@VeVwAOirw-LWNKmmlD*7wpY5{W?-cCVI;*2D7lC{$_`jB-ap z<ME8-dC|RB%Ws*{6#Pip^OdBCL1D(-lc96%5gr0k+uwYS4-Px^ZZlGFwxqr=<3YQl z9hf~Zc{_Q}?lRyLmwSD3knscXS+$yB^4>lR=RZ+*a~iTeRf2MZQMj&}LTfAVNo>J^ z$FB~Npa!c>|BEI`*BN{K<G4z`arj=WDrJ43R5}SRpb(6KHiBUyc`DQTa2O{EYC7i2 zw>>9&8@rP%|5z@Y>d*TCvDvd|nW0@Io=y#P%+MQSdE9&ThV2=Gq-PQtawIDnU)8m5 zHdkhwzAJRuX2R?%7^xuQmxB7a*<>(I+6+Ut9LMlKvnw23&M4LzG+CzTgdCWVejE@# z&_aukERCzIB?j9pOi~vuUG6rGqe4LT_C=-Db>U#jrRP>b8>`ChCX?)EY?IGE4+<a` zNOl_o+*Ljq(IeNPc*N|jCPWtMBrHmU#US}V2LC0dez`S{4w(r;nBKwqpxcq(Zrfs1 zxHt_CLmuHe<%a?-={Fln8(^WXOKm4U;Hm9sREQEaf%k(CxR@<b$F<Mq1rJT%+FB6X z%PA(ImuAV|OHwy5vye*86DsJ+OipZw*6~p%8Bv=*Q+DdN?9^J5cV$a7vTs(exd^Om zRc{>zd!xpyr%rkAAMNiF@OMnA7UEfHuP4NtTSRNhQ}Z?hf?Xj`#JkdDAXQ@0H7m41 zZm4tUHA>$Ihr4)ApLQuCQI9uB*HX)9Q@`!G=A_=#^T$-5Xwz}DpUvT)6J;Uixa3Xs z8b3~a`WvdQ)=tt0ApmPD^B)6qg0J|+6FOB}#|68A&BypmZ_0ajIaiOZ+26^U^X?g8 zPkIZ!Qh@CWS<E(LoQ&17`V}kibIGNy?bUR*hWZJAVzsMHSxLR_wfbVs=D?m4**;>1 zKQUA<IZTSgD>}5?u=A-Hsdo19`DVhLr546NJ*H1Edty)hLzlOs%kZuFJd0Zi-``5? z=3u&i8Rd0<jt-kF6-5TFW1BFzAII=pPT#X#zh6=dHIU3mQ^F=TjpdIY*Hl7hXU!_+ znQytKuf`X;i1IXLN4VN-ZB6S`v2|{f6ANl6^kT1O?Tpe>Cc%n^YIgREJv~zc8a0^6 z*L~ZM3ho#StGa^=x0bhw3sCaZT%;ohcD(p`MvSpcrbBg=q3hPqqqBTVY$ebl;)k+X zb`}HKJ96CW$K3QK?4w_g2wCg4M`!eEle9}AM|S6ouwSRvv|zC0sIIt0&5)YfZ)|QM zbcsCFiv)FA<4DTH7xQ(BNpqGvxnS_u?;*30*Uk^k2OfR2?@Mhg@E!3=AzHJQ79Va$ zhCR@;&nKlbM=gx<xH*hT%6i<;%mXL5rjz=;T>Fv+y*!*lgLrC6)d^hOGv6K3-lf~! ze@GjYMH=|MEj*hve_*S&S6Pb%%%g~94qGWt9%n)axr&Jaq8rWy2Y;K%16=Lc!ipuO zCc}35)Wb)mRpwx&zXqZZam2)_FU->JVcoA0GJk|&BIh@i_QMc07S!;!g*%V({w{U1 zV`S>FP24#&USz3mV+l6Z+r+&$<zPK+nx?d~O%pf~*_7*cgoZ9;JSZ6BU4<4Sr-YF1 zPK^ja4Y~<-zD?&hM|~GCHK}Fm`LG&!z8P`dJ4Hj!n8ym9a^kyRi&3^(d}tVJlqxp@ z@jU@LA_pS-wuGO`xh0dd!i^0T)GYF&jNbJP%*dzDQ{dVYU&P|=2=+@}rP?z4Gi9cF zkLs`uwla60;=Gb{#N3$?-Qwh009+V8wq-F)>aDth6dHR%at;NFH*AJo3~{W-eEN^! zRQXSBj-R7Xk;TmOk$(B)9qS%tL{Q~!@2wzF0l3`c`OhO-%iXpOE0yk-O`Ar>A)}C- zKJ%|DD1D1LTJ?1CqR3#4s&|iufJ5Zn-OTGuDsX^KuS$#@6wB-u(%`RHQ3rzYp3oI< zo5OA3p#6U=eICb7ZVX(!==qc;Ju3Xc<R>c3F^ov?JdW@HiL$i$1IeT(bnYB{jZTg; zK)gz#Mf%N#t~0sCBr@`J>V|s44z`Ii#t-D#$QW%)J;{+a6PVJ8t1S1!7Cisupe}`$ z<r8X$P8RBTi_LP{rr<kO?G*3Ma-pL8uD1qXyT-X@ul|==HK(cHIWx8j>k{91{sB9N zyr0;8a9$*4Su4zV<{#0_ILjD8B_eKRZZ`DVh_)jdc>sw0*M@PGxEA4~>D}m7)jJc5 zV{^R*V;?byT6u)Y2;9-)rdZO9GTi|&acQMQkH5Y7?c2M4?;N976!PThT|E_n)k|b< z?gyP#L>3clZ6<-dui6mdEu6g;_*!6WTu>5hjZZz&2N#}9P8Xm3qIWjm7@^=UAN|}~ zY}4A=4)+y*@p`BBi})7=kJegSHn&`GS+Ged+_Q|0Xx#`@7U8FNna{~*u>8J@-_HuF zTM&Kcs_LdLWST17qz9JoJN<uP`kAKS!=(prH}I*~KE<Y_ipw&oJ?EP>(6r6l4Cy!x z2pcCfiw`@-w-9V6=NPLIr)|M62Opf8pbIxl156I@WZu$^tL-f#<r)4OEx&6$=us%! zqXw2t6PuI%VQ}zhBp}OD3zC1AEDUq0t)f&=6rblkH0@Apws;6|QXY<(Y7%vwu%fuE z!8W}cf%5ICcdkrXd;zvM+uU?uG~OalEJ4h|%|~0XQQnl-r-L<dR<@?W{R^@#vBls9 zzEAd`-v4oGZSg~);`w5jn7}R56myqlg6}AyN>TcCGkSc(pzy391PU*+-^BT=_Q<aw zA!z@82@?vWc#g)dW2(Pfh+eW37th@xzCY-NGaZ?zC}#OG?s9w1+<i0&%DS2wV4&$2 za5w4kD{dWux_YttHN)7eJa@P^%`zQLEpU&UjJ5P;b@hyyno?)%k_=NqdT)L<npI}| zH@(#^Szw&=-F>uyS7Fn{Y}r(E#(`4K9hY01d@POf7ibU9pD0~3G^+KGklEkPPv3-{ z)=S<^8M3%p*3XkD+Fa~bYjT6ZWF@axG!-Dm2ZO+ZO!C5kd+TT8u>X(#vSRk@N{+Bz z(E)kEi7`eNNyV6^k#2d9ni8Ui%aNqq*B;sF=uoYmNs73^w)U^OS9dmKMWd57Ww{P9 zAH;=odZMITTu|V=4gk@eNHn~9cq?dfRs6|jczQ@ew71UG=G<0;2TbKqMdHqHT<IX| zgSu1AZZ&PxG!!j?XsDf)XkOcKj-co~m5i?8x+E(&stjVQ_d;4KznNyLIme~u?8P?e z{3Na_Bw;!~%sk3|)=Kk6qQx<{wI0N`S{p3U91o#`5-7f|q1I~h;Qn>Q+!t}+78qfl zvupb0n=4zu2n0d>W^Uf+H(dpDzK~K|<K=N4G<nA}(m=|Nt*{qt@4oxNmzv6wz@2)j zq0J0<0lgf$!T48&2Tdyl**%AQdP7u%MAj26!(ygVrF|WNjM$%9<i={#ZN~unjz&cl zYSD>pR1MT5l<mAV|C?rP_HZF)!uLvsFq}9wbIt=MSM0sME5?bK8dz2OUeIo;!}n{a zxdo=@+>@UiP?JS$f{Oe7gz>)X5PO-d@)MhKi~;B#%@~X^oPSO44$-A|*A;KQ%l-+v zvcnpO4l1yb%l%LtE7=WG;n%3HW53sUBmg0a9$w<NViIfYzSq+$U|YCT&i1qQNp=2l zN`@w>H`F>c<q#yaNb^&)Ux-3!r|FD+bQbmQXz5V%#;uN@{iS8^vSnOM-F;zEznl09 z>k%c3deM%cCbmlYX8E*}yr|K9*Lr26#U3JOnfT*Yeq1jcnDUKnoctzvz^nHlRQp<Y zK`sKT0t_>ed(FXxRj*w$u+)8w+2+J_Ie=w-QZ?GeMEebL1m@Z7Mt$*9*ruRtjq1i^ z?<X+v!!o|usK;?Re0m@b%{{iOsgAslsR>sg&&Mg`y|m4ZMTII8kF&3)n~n<u3E^W& zEfzurOF4i}??>zTV7Y|Q#aIJp5Apk>%JOeLBv!;&e}k1jlXKrli}&qz=Ca)`5n7PJ zc!h;twG%?}I*~&Ij>97RZP<S8Dr2i}X<yOyV;xCR#tXO!m?stWdB>&MzyF6dQpDp= zQLnYEwJJnMw<IaP+B;qzGC5155dF<|y_f;u4a$U&A19ouHCAT7PMmo)@@i4WSWP`8 zZRAnuO8D)o4^ZF^ao*ukX!-U#uGt3IloEyVhr0a{bVpYE!dQr6(PluZKcLw>;mPVh z8++5{iN1JxMe#OUZQ|BlH7uK4qTbav{g>wAd41YOo0j-s*mylsS4m(AVkJe>ThOJ` zz+a#2M21#tST8cOw=J3%)MCa$1mT{27(VA+`6xcXk%(=tB5w55{uSFpFOm107M2ez zGlN#5uHVi&SfxSt52TYvgCD4prv@=-!``){^mHD|jA{18otd(}uD``40y>W_+@X#y zH#uusKlKs$#q#9SH#slM68Y(X6*SaWD#a)((;nF$5~HHm5gh;J?m&iffzDNPp{_}R z;4-PM$6nq7r)qunSI?<QJ!|7g&h~xd<sS^#mB!PUUp%y!<%2fHOVroi2Rpz#s+1m` z&2ir*5A4}0;suseF8Hd8%yLnr=?ym(_mX_<p8kD$a>8;FaAIsbLjU<#TCi`yEb;v= zz$)_^+F?XDIkHVx!Qs~UvoQ5~-dEOjj2s*X8z=M2UcXULXe#AQ3T~Sq=6tVG(Qye- z9H@B0vs8XZcUv9Dcr!`_{}WODUg`9oF{6H2_A|e~GOw8K8HYu;oI4LFL2x9q^k*JK zo!(k<I1}j`^TIYA{vGLXC<8*}9LZyrl0ctm0XuQ@ePKPEj_qqq%Km9-<O@jzvw~sf z`&SIXUulF`dy1PbGrM!If>tt7tvAeQwtCcouI)pvdybYBv$;jmEE$RphCu4d50BC< zw+1&hEu$|j-#5$qHh;tXc22Rd@+lSljd~!ky)~z)<gtcX3=OC(#pt-9_oamqx5X;% zmn_9xW!~?1esZuBrfVF^JB60HELqYpbxMmVcKBAxW;eF%tn3`8v~T05Med;4N}IJ= zHdxw{4B22Qoa<7VyMsJ<!ZD>kXdHsKMo*l{1HeikzBUVcKPtOj>U_%GC6G<d;C~F` z9iBY})4{H$!iP0`qB5xJ@MHX5*E*v;-N*b1`u`+u+b^bjG_8PJUv3=!-Z%;l0KQaS zmGW`|!3Y>up7G1f*lCq}EB!-<53ZP(Ahwzq?Rus8G6IzJIJd*$*FB}k){ipiknM&& zb}_f{L|p2R2!WI6x%sQDOx+u28nz>;H6?|K9;w|8!T$7|w4}nMabfr<8X#3)_0^w= zQhU+D;Bb;1^-DN?+t{}X_j7t*%6Dt49=dF%DVL4Rj=-##_9bFr{!Xsq)u??i;FLk} z5>E0?Ami(S1`I@RT+{FNlX;`P2<bh66E?n;hivIygfZs=+LhAiwDPh^QBiB0e0@oL zQsQ;SrB`qJKXI%Ds4g8J6lPe;HC+O$Obiy`8P5aBJbY`rKgkVEuS?X#4YeVqlP5nv z_+PiobmkoscFH(To0_Jp@jMfsxp>#(_i;m}AB9Xf8Q0SHudFiti#gzvt|=cOXm6~B zB%Eql0st|Sdbu%fWde?0cF)cVy$*S;boSR^v#*4hXuAOa0c0c5SZ0?E7Xz#IBuW+M zvq6EOUU(24yF75vw=?K5<5Am7XK)CfFD06kG}xL{Z=AV@RbEMI^=EL1S=$x<%BtPq z;SksTB5ea%fNBP~y&o=fjz^Vy!`lGNi?*56(A>%9H4DlDOuF`ErtCHqmXLcLzUl=) zh6gO}6mGkA=F6EdmJ>2;=(s7QeQs;t=(?6XXla@v+b{2;OY9a`wNZPqXaR5Ig?Mt2 z<uzxzX#04|Aq}$nE>-5B7KIWoN1}!5-N==-r8ZMx8j7kn>NY3wq@&$ugA;2qy91+H z_0yR-blmYOfE@!)iI)MBm)<U9>8zDS{=4%MeLa^LmYvsOCbEiHn+Zr!4zT0HKIK1L zQ{(D;UazL0Kza|)8C$Iaqef3ZSo=YAmz~`#;}rP*0>=M2Ia*JrAtv+yrwe}<#ygo6 z@yB>zo<y=TT(wZyt`bd~>J~LevHRIaHLJUo2d*7YEROue`!N~a9P{Jnc{qE>`6X=n z_P3`rr6GXiH0I0>^AF%@#3)mg!*FXTi^+Ro2!+@e29l!c_|>)C<**teb0plx=^8-l ze!a#9*6)6!d6#!BTs3U~=8G;WuB0e4xoo2v<H9G*9BckH{%63ujhixmxL7arcO0YM zZTtUm#5Zv5&@*2XfvNtwt&^{5a)7HS))uqqhbXTd;7`fu3*a(i8OyW>#q+Hxj~?mV zT*q1!pMUDk^?5*Zd3o7h1pp-60?I74wKw}`r!a{#Ys!uab)#EkhXA#@@K@RqF&8g* zGi}5@^1kK~W!o5&juX}Gl)Zm!u?NwiSj#CgM~IxTrAowm!3F<*36O4eg!b_V2pYKy z=PIZ)%$pqNt)*6Ls(ItpkU-=~_N|<%!ujRpt=YK~;I3#pbaHFLocE;|=OzAgxp#Rp zLt%t(z5;Uzq?3TXCy=yMhr2%n&HnYuJfYHH!!uJiAg0iSdZ!__r=^%!e2hP>xMOlt z%?uNORNLQl*IDU5r$&>=fBXKrS0}Sgb55lHshUTF4}uu=Volt>^`tS3KS;Uol>bqn zQ~Z&oz{2NFMS!BViPm2%(qrz02bKEP0GbbyJwirAq^F>1Rs{-wF;#sU1g*~Z7c4Xj z_UZnOw}I=mHhX)<D`RId$ec}>e%N1QtT<hrp$?(Qw)nP%2zn??h&e~wB|q2y>Ik6t z>;A!^qgEnc-k^2z<CuATT6kb428qF8ZyWo~tywuz7fkQ+1~b3FQ;KMvK0BM<=bmht z7zymmGTOl2D1mzETqi)cv{4<sjuvy6en1=;;$rk<-2JVB6Om9!rR)K=3GcE@Rs{D7 zW4>{hG&m$mzt=Dv^6OU(Gj0yotSTRsIJ!E+LYj_KQS#e3C}1a)ue%Q-=RLYi0>Ac$ zGcCmtwJ<`5%p2b^($6lGRs6VI!gSsf^qZvvtgfjksYHLC+Dg<0HFgdAiHe?weOdYV zaA4I*&mc$zJ}5i<HDxNsDhE+ZldOnjA_<X0tp^S@$Dp!zD=n(sqw*w1n3rM>Hoop3 zk3ek(sPsl$IbH|V43HY!>;vn0=7v)_G&?nl22_-M`k{<rm@v4E&qQ=30%41$oqIa- z@?I<hzNh*7Z;o<Tl&GXF>EulJyDOSV=SGGNH8n`+{`I{6Bx#gyZNq90ChMVe680%) z2gG+||4D7XFp<;#>W9yq+`M7mxxI$Q_LW3cJHJIod+6Y7UnK0Z<v;=IWFwf%n<(=B z@kNcxj9x%-Ld#xipxf?f<6aE7BLpiEN?m(5FJ1c(@gXT(17rW^pc}QM=pz6@N;Gf- z(!nx*r-p|AQFPwXY<>?I*Qr{qPO4U0t4653rOPggqE={8BSP&Fq}7(ztX;citVmlT zc1rD8f)FEiL=byMzQ6Z(PX5cuNzR-5-uK?;exB#~GRyMTRMlrKwy}}=Ttkm2=IfD_ z@vK>(qDmi_#8-UG@3f3P<?o&~y7lq;3^!|BXh$~S86!t?XXRCpmiqD~tVl4D<5J)v zYB6gV*z+oA&x0}_k`vp#m<>G^L`yZAA9PEApy;U+eqAs9(yv81u$}5^`h}fAwW+DL zR)-6EzUt%5X92g40cL6LZBjaXJk$^nn+t+&hV1+P#@mXiUE&~k{e_>E&$aj-_J=#u zDKYLbFz8pj$xTfWRtfsT^_V6nSkaV$&`al$Z^gHj$cmkJqvJwDsIg@()hN;;G}PI{ zYpL*D!6z{RCvT^>BWhOyITwy%1Ik|#_Y<p9(tT|SCfX=@Lz@Y}L@>}ca3HSLdaZyi zv(XW@y3T&B43dV#Xc8f}O|=gnA2%X$Tu(ZhgKw6-z1{1pZ9A^<<T@5!wnnKSlOg<X zOjU7g5eCylSeH#mh7Ub-y<=O&JK|e{3M-o~BME#<CX2^F>sRLq0!-DK3jJevHn;r( zR}C|Gfs6*G6S+LN<TIzqx`#ELo&5Yvh~3i9C+_VIJU#uZo`eZJpxM8=`jjbvN<i`; zB&wKhH<L5@UdJsy-R8^^tpY9mKgi5S{l_*VG;>%5IYdG)oTCQj*FYY#wVU&>&?bNc zn%&aGy6u&_z7O67QaX=J?wGHn7LVBVN=<Ba$g-urtUxcU<4*r^OT9gF<K)rW*gxTQ zN(Gg{_wP*hg>^04tq?WmOP7<%zdz5EvflgCe??}64Lp!;JjkAhuUG4sQD_wj=A4tm z)P2C%vO&=vg;YzEs`!xVDJ045U-#LvbGrqr4!;^+x_}Bmp99igk=lDV{<RvVFPgtd zKBh}_1!gyyMwNx5Sv2(p6_J!)+?gHh3pkI-6Me)Z;JkH+9sW5hGr0efTuisV`)3EN zMSkq4%S(=J?d+FH?_Y$fL6SDcN{mWTij>e4Sk3rEb&L-f-uy<y{^84CH)|bPmiHSE zL)H>k5-FtIe+QOZ6E++BQEqE7<h>@;OsA?K5J;6*o@)H+pi&dqbL@7_vn^UrRG?-L z@|%*4(vWqSx))#1ev4kweaY95Dv*&XJxWXImh75%nwMni>$9d<=5>f%*AMdbYsz-0 zwhSDW<9ddzk>6)rsQ-`YlO@BYAgL|n-Os~H`e1$y^BTtx#Vh<Rvq3eu-baUjyHJ0t z55xQ1*vm-oAY{!qpEglTX-AO(B5b4DIML5kWvy<SB(r|P|Hn^V?cX!@BW_DGthYxA z;%&q4ak=agv|#x^P(oTh$;r3aT0<~OL;R1`LFDMMw#&VjVOx?{bOWq4XzSjZ-3;8~ z<dNcVtQZSs@qr?#5)Y}SP155}a@Frp<vpQC?wF!JB(;ev-lyI_Ltp;<;<{jUj$zab z(rFz5b0hr_N7;VWGLYqMRno5vDqew7D<mrOGSJc$nntZ2tQ_re&(>PV)cTZp&(he~ zASp?yzN}Wn7VciX+Atuyk;&Y=aUk4!jo48Gu`u*?{o7ZSLWEyCH-hOE?_|8()bc*t zIpoMWv8Z|bRmT9)y!G)(vhcaVf;~ux`Z`(DNdLuOJLovZ@`Y~}rt<R%wW$#?8&^!f z;Z*DzbQ3F|I;v0yNF}=$DpoOU_b`{AEcLZwgH+08N?fLGF_RRqRKnB}RP61RM!f4` zxnpC22{~G{<zc$H8NP0H4;SJVQhi!|{r6{`S@OE>TK5Z&EHzlUiRU3`kcwmTRieAh zJwRb@MLnt7Jpa+d(;ZeW;qI=Pi)_1+A(!`coh*6hw_=*5$Tianp@efUAF0bo<rQlY z+qZpOy>xn<I9&@W>TI`$Pi}x(m48KpdhS#mrhJuqFuh-i&4EOeuGD2srzwQ_SghG& zenwfOgP!QD-NiJeGrF6_<12(swR=5<3LVuNOJ%Qqbr%X$ANl>%WywpVrP6CZVJXba z6AG8W5xS15%0#`3vJS2G>uVLD468jg`#+GIR<`WWJ1W=3Rn7A|E{~w<)=i<*9xEQo zVo@gzwp+Yb0ZL9DRxc$Or7m!_y!1>~AUl!hJ-s3=g?E0zWJgAich=to>kRGkU5SfP zR?ksBB)*N9g=eM2Yq9?(jHZ|m1p1{VW%I`py4julsE#@uy=Is8(`4eX&AKb#hDr|& zC!zJVl~A2lqnr`%+igXS37#>#!BJLXK@*$cY+TgPlxy~VE6&_s`kK>&YqV)rtHAxe z*zv#=&1;~I_ieDy=6!3M$AUd2>A-%i9D{a9ACXPKS`kU3$gOop1XSH2se%TdrW_$G z-2$QtN9u3+FvVWbIvZp!YGG&)NCA3mP35x&7smW2E}h%HXYv7i7xstSr~iuDJJ;c3 z#wiMbV0{6tEO1LF&vU=`#3O;FkDP9(VaV#`>s)PqZ^dt7g`<Ofg*k;stM)30U6M7i z+Iz<nH?1{S`j%KLq{6#Yclg04L6AWl<{(Cpr{amb2{^>yLdO|!9C-f4iWn7POG(lJ z4MRCE3HM%I)wp~9+kz90$te!<PI=T<0K1l}D?z{mi}m{rMlxO8R=h3(&f`N5pC?oz zO5giW3C*-U`L$?pg+q01f(Gp1`rZIhKfV)XSo<S0U=8II+F8wDJ+LUJKi`aw_{&f{ z$c4i5oCyk2WeVX9Y|vY%jxWCTQ6+b4vDM$6^{{siIT=n7bxtMyM$ZN#G8_Dq>_l`A zf<cQ9%HY7!b-{ELoVI|_IDo}B;3P`YObbTExNBbv7vyTV)&`<*9<3)bC;9692hf?E zmI=~(Fe}Z&C(EjJG^MT@eLk&3fFTk~ZS^8f*-ogfBR$Vp9pGBk`NHS=`<xmd=Lz(P zn-#dIYagfzvb=E>#hA`NuC;<Z8!a`)JDvoFMnM`xOt3QKGC?-K=^>qZxpTf{6TbUv zhh_dA_H%}J0`k<%AJvVnsh$!_eC<*+4rz*?p|M$vTQtUm$8!~@EwZ!6bEOs4CtR?+ z?aL|P;%=ss6D3um9Q->v5Bb&iZmm77%SH@UYmds?^IskrsOS=TIu2LTXuqlSb~r1y zbPCgucu-MA=?ys75xtA!vkFLHyYl!}Q)GJOayplV3qhgl!EZL0bJ#P@+641oI_njZ z0+A+?Iqu6K&~yNK<*!}-2OsNsk(WuPx{<~s@)e1C&xmx{`xUQE_;x?*w`V;V&JuN> zy1OQXcIv4&=z(Mz{!qUefc;BiX*g5yR6X@(y5UFJao^(G{C`8x2New2U-&}bs~xP^ zJ4vbMwIL#fwTP;++tZ3zURKA82dh59eZtB^I?w=<Lbjl;JsY=1NrJVSr6TJ&?JYrr zNMDImn&?PIrQi6rt-h~S5?y4b&wDOx(lxyt8zi^)t9+7TS&-Vhv~Rf4YJQ`z78|x= z4+5~&SF(N_*WDW$UODkOUlVvMz4^UnhU>GsWp;OttZ^u{d?zu4(7Dtyg9M7Qaemak zC$NchS^J7q1W#5~kPWqDkM@T)Uf*ucafdGwUA6E}oyU1JJv1$M+5GEu$V!TteQ#A5 zPxZ<zx(=#5)mvXxe#?MKE57%2{voR-Xs%FBtiMrfz}Q1i{j0$ASLcR=e@7TqiStSC zHgq(jZz;Yo+qVZks(VzcyG9);{I!c{19{<R(Vyv$19?hbp(HAvSN_?gY)z94-KwL> z-m|i6ccxTh6dw)QOiSlmKC~i9l(9vWd@W;D<!fLpQj5|(kaWH~6;e+#I83I053!7E zs?GbC=a>%DMNZ28V{(oW)A6_*pz<7FUJk-cY3XmWm$;&2{UwBl?GvAdS(zm}V#B84 zouMN)E6Z=_!HPxv72F3IQ7v>~W8|o(31s&{ca}&EmPG}=r|%mZ9|B3|%keb4WAgXJ z<PwX7^|M?vpF@;DEl?l#_7EmaD_ZNWTYb8L?jRzg{~tgGdgG9JVD+kD=(^&%Ux#|4 zi<8I6r*`d$RYF}ztC{m9&98eO7`gmY0xr$1oNn)KP2DbmD_6ZXmMCzW7lapJ8^?Dt z#WDtDTgvryw6ep63YAJ>I=bMu=K4tX6f`2M4^2#bLV(fFFn_sQ9ZS<zz}jAy)0c9p zzXq|APb{X~QB52;-RvQByp!@=w|QEu$2^*aIgO*X`JmKiEzGOxm%+`Fo^o?(FAoS& zER?y+bM#7~ZbF~2ZuU9z)|a1&(dnNWvl5mI@bKW(P_f`gn;PVa<Z`h8X_<~PE0GjE zs~Cqk1*2~)hTrX9fO0V@w$p5thrfO|=_8)n{p^mp<5IuXE~;#$J!L!6xJRj_SH`wA znB6b5kyPr!+{#Nnq57L!DxenvclRS;?lVv-i^CS}xw*-NUJo(6*|_&1`qK3$HJmmD zirnlw`K8b!239pFhik?6&Lxf66Sf!OtQCcGw=npI<;gfnO-!1*`;SxH>~}t|%14Ep zaB0ErU!7>SnM$%8Bvr3|7FxnidEmTqA|>v{-%)vIsjq%yWx=PUloYsffxkZOJvpJV ze*WyxE_Mgl$y9`o2;g<(QDo8){JWPfVN=Vs+g^V23ts8oJ3U3~=npusq~h{JMXvTM z$HBOPqiyLVk|@p~8@{4v_su0vJmJ1g@7_?`^|IIV{$tN_{|MY{{<FdYTJ;zY3R&&R zO2?*;H07Qvv$hCHXQ=gf`@}926cshQXP-rWQ21qR(d<@iS3DwLjh*Hm7+5^Hn{Acx zJ&^<D3%j23Ect1FM!2?JThqTEiTws_%-kkn{)RuYu>j`0TN}^)tsvX(OFmLeupZO! z(fJQQ?UQ=v)evc@W<@#uv$vm(AHVDK`L&LVJRZ59C(r#kbWi^D{zH7H+866#Ma)Kh z$bU?Cm8>RC<Qb2-&2pS5@mx(8b|#-ioH=59ZRF%vw+qx=HFWIz(-D9*`&s4BC@#l< z{!>a^6Wk7qrrsUyQUj_to|)8DGwe9@?H3EoHns5{Q-Z@4rygic#$J7x|E}xJYG3B- zN6q855NI$^=5gW1{wv9?Seb0byc(`O{Lqwi_~9%;-TSP@$&mlRG#Pz{l-*co=9Q{Y zM5}kyu$o@Oh4?TUqON_rdHwvfA{kHJ;X$<ja5*N3Yt(B0xrplQAjDSn84|z;{OGpt z3~mNN{c2@>12hEOcC9bJzsV&=Fl*$~#lx1LlO1QcV!;;=C8S$IphB&BDZ398O{4T6 zrVo(rDBw&IWC#tXimQ7@kQ1Y!nm*}P5Tju1hzr8@>2bBrzPN%;LPF`!c0<-5yUchz ze_`nTQrTItdc`9(iIf~rh~X%b$J*a@g<7|&galOcaJUa3^Nc8$)K69S*23^d^k|Bs zuYH*3$IP6TT2ZqE_aT2h+w2^|n@Jx$g1RH^q?sgjIb3N9fTekrgUoZxtoz2to65E% zcg%K0f(LVZSpC%o=Hs^GT>BMt2h4%G-QHl-#DE8N!5mO2{JH&SxcAGgGrU%J7>(c; zo{N5t!azya*j*>JFKg6+S#8!|56%_vuyoA!YZ2}zxRm{1lc^DAW@7d10@CXNr-LHO zZU|q0O=#Z~^i5MH?$LQTnNTg3t7GAQrO(xC8|n`V<Yxc(%S4Fq?g~eyR}d3a%Lto4 zxUYG+xL&dAi2rA}`8QT>1sonsjvSIUK0MP{HTiqBO%v|4eY&bT)pm3V1fW*qJM`x* zW0@cS@!`SqG;5T_*s@&8qet^+3Js-CKc8Qk|8WL~rgZKWopoCXI}b)~@%7MMzRhx~ zU=EWU>^PSGsQucd{zK%n7uNe9-tL>WQYWUFKWCwCeIUjDzk`^d=hrp?WI264HkcNG zu#8*?K8FF~#8(y2hkP+Uv$r;{>iF8`Gs^94h?yj3Tpu5xvNWr%KTkX;%Pe#Cj?exs zo&6tEcg;c6WbZrR3^50sj==M=Rc!>MqBmjt;F=RpSe`0*>2?2kI1n_F)BfvoHr8{{ z7yI-d9ANW?9Uj~u3*SX#=R^Rr3N}g)MW-QJ+w;v93Hrep;p-0|O@IV+NO!I1tvi`J zDd0=}$%M$h%zcceF0nIks7ooa3f0qvI(y58xC1lq<iy6^x?{XV_WmmBko#Px2WB$9 z-N8KsH(&@rodK62`iMY=Q*c2Rt|d|F@?%qX&Zzlehg}9HGnqEj3vrZ-sZCTeR@|Ys z>BV_GlrF42wI_XEe3Jcz=YU(J{<zJ~usH)O!NJVQ!$gatywcSvNcDs)!ozJr+wEG9 z`<|O5{=S9I9nh_1Rd2}2r5>4Eo6j;d5Pw63IZGb0`fU#Lq50_#1{IbC8+%z6?lJ{! z0U=L^O9lBE!$KxpF(d^6K+V9hj@-*s`};b|kG$J)a5Um72B;|Ue{4G#$>L)(XYfk2 z0ox$j$9?nU)F}t=wf!;Vt)YZ3W9L%OX6Hx4JsAP$q7pI6IIeeNW;*^bBSn6Gb<5** zgkTcdr0cG4h35KH-~26!qtF7yEQqAw2K8>I8@+4Ni9|gzzB8l`%9-6qXwzU%lp=K^ zn@Ey=k7lBQ_pI?Avy`KC=sCZ}E7L;NIo;!1YiE#856FBu+Z8%fdj69Wgl(?Ur|$D^ zo#lm|DYTA78r5>Bt|~F;Kc?@p1sLGZisZe$v6cX7+`0IJxr>|LH0ilR7qiyT(N(SJ zb6L@ij3Jp*JZg5u^o}irq0isEI^=wDinE=0_FywRnXFIj=~;s5RZLxu%HMkM+%Zsz z&W6z-d3$V;I)^Z6k?qZ1e@<lrm(x<>7}t=dm1eOPn$AEhxPy8=JsRsrNC3l>QCeuU zSNjnu(Lc2_R#-gQaZ??7u6t(o{Q@sCb2L84c`7Go_QX{`V;n*v%%3>BzUsO)Rs2r< zNtRZ{^!K@}-3g%dEX*}C|FS>M#%I^?Xx%gQu6UxvQ@6yhu})4NrH;iD7d4X|SwlnW zwt`*VWuCg$*~qIGAf9+NG4^!Qg31YS$E6jDtv`un>us$37q{JE>l&XKj30L)+;}q7 z<ZhI@B=Ek~hf|ID@a7$#V;mY^TR*EUWiM8?$sIl0rN|E`YUs@QSj-Je8+p{kVohq} zB89Lm3~j4v*a{F9Ub@|3+n(}o`WQm1nL`2Fzuf$$SE;9AAJyXiV=9h}(yQd#J#kn5 zkI8bF|M&fIOY=v{aQ_99Xj`*?wnubH#@i6`*YdS05lJ~EW9C<B1y`C4&m@KgG5F?f z0I5AoyCu_6*cVkr!2gm{GF1@K(eQ7?p@2IVmvgk=j?%K-?A-8=SYHfqcTbTEh<zdQ z&He8KchZMtF`8iFP+@9=sfVBI<#EiAS~eC}LGD91cL%gZ<kR4zFk20{g73+z6X^}1 z82Px_DLIFX-Wv8n*-r^Nej1Z3yUZJNIOP(TmzndGiF(*wT-xq6eSz#FL=OFoUhA6V z7=3Rs{=*EQs5BxvON%Cw(RGBQ!|$W!QComLDGTX3IDOWvJ1NEsump6V(bb}2WpYjF zp_)lqbB!F+BQX}eH=ezF%wGo}!tDslKX}He-pSIhV86h#nP)mFeQzhs5kL#TTWao~ zfY=SI&S|I3)2DXs+UImkV975}7INtFGbzYKsQ(RpsAz<>)E`AkLQsyo){0o(rD+i= zuT3K}1>#%4!tIhQ<^HC2@rx3flNwhMKsCs3$VsJxS6oxFzig>JH5tZa^Z~Z9aA$jQ zGo|XxTZ&z0nY@=}I(ab^JQDC~o7Of`h30)xsVQYJ1B0Msq-A7Ow6SNs6|yLcXWv#V zuPKfv_Iu9Qpf!8l<GSZR1=Hekl{)t;R82}O>QY>lgAfq^|Cm0EL_~{d%H~ZLVC(C# zw(T9>j-EV4ps#<mubhtWQaVxUXWl|HU(L*b`r`4s<JnET{|;%>qqgW7(_`hVXOjYB zJ|^$I2~@`Ze@tbOi|>-NM#KBI_0{_XDc%)BF_Q^tm)<;l_!o;)+?%II&bGo)fy-`! ztFd(-V$D4G-8Y4-?#4c3<Ev2Io2x8JG+SBpNKRd`wl(;VX#pXN*f5vm7Q${qpKVM^ zr`^!NTV#e$7B0D~N1S1nJ29GNKR5eZ`TJKfy=!I^%$|KkY>yRR)WO#%UvE*_n~lVq z#OnGk3)0|P-r)}2+ikJYD~LdKBJ-PP(zw0<9EHmIGDCfFvmV=`b+;#iHV1Iech(pP zOX5KH5@JKoQ~P&p1b^6-klJ}ZMrqahy&3Yy{SS1{-DQ_((>IUL+AVDEQdb^u?CxK` zr{cE*{LcgGhr4?}+#)qt8|Jymn{7;QRo!AaS<dq2Hz_-zZ)KsX2~>Pf4Pa5);SiIs z&xl|Oo{9quc-Wy5m3n6S!~JOFbC{Zn(<a|6L++_T|J(z2&%_#sShW+}(T=N<w+al8 zvvQ&S{Pc~P`D1p{8Dld%dKc64LhELE|9Z2%*7n8uXr?E{N|USF7ZtnuoRm~lc5pLL zzQE!pG_rTaf5Ou0|F0^^@9qTxSfavvZR7ECFVAn^j`n)QWS^~b+^tXX#djeRsNSWS zfj0SDIPYEmnOLO!*IAD>zN;GCmRFFuF4%|eQC?cb28kVk4jVkhLt1-gO_5j0ZdlO| zdXT{6L-5t+m+eS>h-ZcYQTQg>f0`Hw9Xr8(7FAY)$5@F<T+Nc*Gj<)SZiFChyj_Di zPzU~IczbF2#MeTFo{mt_4x#!2sPQzY;mEi5_m6bR-&I~#<InHA{HXJ3Mc*jd;ubW^ zD3o(jY0s#va^msbwJo95bw}qKXXOYtDvAh@S=6&+r$~qf3fe8~Aa>qlXkB#;{PHWZ zF1AIZ_J+-~H;veah|5bMbyJ+eDZN#i@b41$d|sVvE87x#0KXGE6y+kHU1l|5(5P;6 zc|}LpwNOMv6ACe(fTB&E_H)dGc@Hv>%c1H~E!hGI7CVTmeIaP#y(`!<j>v*vjl*a+ zr$luV5U~UCro`R79Mj`ub`dn2fREt<~fS;&+v<G+ISh^wN5yhUbl6K|)6GFk34n z$;6>)Cv@lp;yiv%@;!!+qs{)@z!#q=xnK30=VFpkeNAPKa+sZ~uEeJA+mCOJW}q|z zZ>^MTEdFXrd^JQ{bxcrk-s#WgZ9nFI_F8zoXSRvjO&ID^OYS{Ll{{*{h|(S(UQF;K zn#Y+orPghSnt|`orSc6c0<7ACV7uwWp4nrb^GjUgqh`mihkBJ^ZBvQjuWi>Z@``2Z zwzy!sa+C@?8Z%xVHHm(HHrZHNyjn-H@=<jQljKO9E728|WV@rjZLZ%kI5c4sD*SX~ zX>WwjY!EW00WYY*zwGc<%h}8RSYj>MZDak#G13eU(<QoGEZ<zi)B)RakRCQ8I?A)q zNOz-zYihhuZqOxvIq1-5uGBoY>$qEbQAfoa?@FiHSO&Q`+K)8|mJmM;HJDs(Rc6QK z1%#>SyTBY8l3esl2gJQxtM?MSgC|6WRQzxnDf5z{r^eZt4z0U056QZHEhq&=1&<&j zob(_FR$vY%X@>M0eucCrYZBB%W98nU*UN~KHg2@C<MNO)&l%=TY`ChC>!yXqoC=GH zQKa@gpeRZ)jBJc)s`_FOFV|E8<3_yR8s;(Sdc+^;A$4OhSD3TCUq@(e?pW;(G(?V( zwv+5*U}io-q2x1gGua=`dRtSbc{iIfTm<eUW2V0r2IRFX_Nv24E(|MI`7o_}c6XvZ zJ6s1fTc+n%KeCCJ-3-~Gz$aJezea-gLg9N#g<l&2CH>``(1`3~gm%te+EA)47Pnbt zjOxQh?P&B3KjO+r^N<|_By9!O__n533n_EX4Fhr#u!WDF=@ws)#q&hVf3AR<EZU8C z8mH<GgM7gXb0XbIp6+@<ru@9bwuuocxrF|Q{ybdAx5Q>18e%y;x5V>?#nI`;iimgd zE6DUj?~||B8F~Q{^3`~r-rs*eNB^zg?>$TS9Vcpy(wzP(d4O2y*gpUI(rDShW{D0? zq3jq}IJwcep6bUZIvImh3p@fIt=s8)uLbKzcvWJOcTV&mK5iTz2$@?5$aD=^4d_Jz zFc}aS-I_x^+5x4!FTPl+V^jm<fp5JFY5GV|g4!A$fZqWK$Htw}y|~+lkKM=~Pyg_2 z1x0VJ9j4gem_)f=g}%T&m^6Hxnb@HOJeqcmeF#8vmI|<bChQi+*roAw7(W^a_HS3> zuTaORMhzV8TuM*(OBU=Ke$nQhdaWUPh~>P0^}nxtozriG`+CIgb_rBJ;%9O3pdQit zO4@Y0kMpO&P6MBh(5<BCY32>dh;p-elTG=?%Z>Gaf$*EJH$i0Esb)v<78W7)&F=dg zqN96*$=kQPenGqYenHQ@Z+qh?Ch8;TIMPSCS?v!1w{cEFe|k96W`6!OPOV1W9;k9D z%3Ro4s{~h|BN;Lq3af`RacAiY_;M6F7;!$Wu%n2QdU{k1I5&I#M&(w@kZ|lsmF*Q* zsYz;T9b7ZTzplzG3JClv!7#i(UmWY+-ITilz=++(@LC-#%wuGXQC#vh_haExHk}Tl zW~R$vLB>#~v4Iy>3yQ{>Z1d~zil5{%MEPQrPe%6X_jqrOwnxmA1rYs5n(kANpzW0h z)h+$bBfAs6BYE|Jg6o(*-51)gYgLs>kspr<vM^(ro$aQ+xr;O_N<p$fR}bsDh(nC; zThBq(Wa)5er1ale2g>X+l`$ySr~`7#7dqq_(s70JMbUK%>52#5o6IeKb*4>7MDaoU zw)Uv6N<CN9(g^*v&->{Ki98cS_!OU3?DFzA*e8u!v%@yY$!P+IcX;s++x{g@MDD3> zt{G(7tih5BhH$Acwn3>Yv9|Bg=OhA4v)e_9!ze(TCMsZ^8mm+l9%HKNH?O4Swa8uK zGCWVYQ-qxxxZLbvw|D31N_FMfq^)fgvtbpGOqI6kLwzNP@5EMzzgi>Py9fWr^cE?N z^vi6_H$n=nPc_g&|6>xsQfAwAbfxs0@eO4lS(pUuI(7hQ78Dyd1G1lk#eJ0J0=*&P z4Mu&b16<U)hIhh5NmVK2_+yVkilxwJ*j`*EWiQ)s>`g5@<t$-iO1tv+Gxqr~;51p` zORGU*22x`v|H|7`Oj0AI(FA7OG*PzV+n;4^nX7p#iC?sd*pMD|(rauKK3a)|l28?) zKLYq>c2lENo${CE&477To#T^Xg}&z{!8J_Z>Y(<$>hyqk{^500L4r<&hmiA}bme2# zN^zQGhptJhPPZ4L!F_)@V`&X0vAd;49Q$tPqV(ii(#YiX%DNyMF;Xh*IDZ9q>j3*? z<5Ljx-?%dtE(t4sE`cYtb88SVSbrlqJc9)~k=DAPQ5+Di#=DGgcx5fVndU3okRs;T zFwU1B(foA0^sA;0Jd@;ZOmN?`-7ri;N1@CLrry$wit-wV*AsLhIy5IBEsKQdScBQm z|Ht%oAAH&8(zvm+uZ`}dvW}52L!hRf+fC`TmkC399|DUli5m9Yo=Fc~_C-^E0kFjb zD~};X=x0aG$X+Nux)CX!d%p2l?N&pMjr>H(A?>=SzQR`v$BPv*h3hYq1dnTKprEYv zgrRl9H1I_X;Q*k+aZVww!EtUpx1si*Dj3F7ScO%0=J5BjKsYU*w`VQ=R=)qPae=*y z|L}!X*XQJfC#0W?wa^y3;ul6nSvs1=zb#d^b-|I1yT1-XVd)KjrP|)u=on;4xW0qc z>u70+345etPW+Df_AYH2)%?T!$8_3tQ$u{ak8SUK(HXfm)N$Wl;%omZTKcGk1m~LF zS-Gs{diXny;bxr5ri$c3K(M8Cb;H{s9iKsq;Dp+v{g1U7DAu>9jV&$T5zPHJ>aqDG zk8I>}#F|Z^Ybe(NM=AJ=FMFMHxlhQ&Sr}9N9JU%RT=`*6Q|p*LOLkNCN1M3Dymnfg zK(POr2XmFZ+<}s-3uLZ(p<##B<3kwSim)22lhN{S-R`g;S=aT3r@8C(lAC)3NMroL zjm^uT*P9WMc7xA2EN||o=8WGc;#Jz&^y_i-<$QNrcQftGVWeQRO51%g+NBe%rw6V_ zYB%DxmUAHc;5e}^xQ>^K=Gv5kQ=kgiMs8cNDCb4woaE2P#}l`6qnmqJ*1n5gH)mVA z-1{uDr%LRKe4^#JmhBP^2Fgvh9x&U(Wk)<diSYLgtWkXj0Yud{=XZDC3fhagPnJqo zZ~dzI8yIM=bUMr|M!oIc<?84<B2`#H##$hLB9k+(7L%OXAOGsA%+0Me?r_Jm-;^iq z9qRVBs3#ALC(~Wz5dRi6^I?kjCj*Vj9-jTsSlMrgU^KzaO3jF3<l(lmb<!@?%OSN} z<)g^kWvNa&Ai&)E85J*5!|BL+d+VXXX=yJuw`@aieIeQw-ROFv86LN+?ghHfYjJA- zT9wZXxdcqck9cjBL6Ixh5)&zyqom3@8U9m$#JvH#({4xYer{3I(<Q@ayNrftk+;ye zsUn&r*q=w6oc*2qotE2vesA7_d>8B6=fUI;lVmjE_DR5gQ67*BPFUQ&*H=XFFn;k} z9ALH$-R5(UhkN4Y(sh*t$L-LM4%*esUB=#>YAlLMWFD>H6A{GsBMjvLi(h!@?;`z) z=ZD=xHAL4ueKQj%t@(F#;md<FoMbilE@fc5Sa-eCl>)ND6#=^Xob`oAV_eY-R}Oai zJ&%kDFRDwXb`K}hPMvi>`(cOrxWHjY>o@)4W+CCdx>x{PTXn+sw}YxWMK)z+ud6}B zuiN2{ENXRcYJUy0^I!T>u)CM!`gCb-4d+xbu;gP@vg&zL3`rLqCNHk{DIh@LnVe<x z26)cL_8Ks#^;+Mpc_Q*%2<O7t`UHP-EckL&(pJR|Q|e1TwVJn#8tgz{eu8g#t6NRc zkWjul<i)X|TeBETsS>1xj_`?}TBrrRrM!Wc4Qbo6QC?{3o<Tq&L!J)}4<wJB4<_@3 zNHGH2Jp1!qaNFzGtcP?cp(H{GXR7#6UW&>7hxxJX$-N4HC0jTG;`Gd=U4a@(aRFLg z<0SI0-WPsj6RW*L?II8T%5vl^p!q|arhpa$&zdsi#5x1Rotkx%)y}s~Jz)Q4E~iR0 zZ4qFkjq7W!mp!0T@fCp!$HvLenz+=D4_`t0)wt;3&aT)ek*0Czg`jL)#No|+*@Wj2 z%psD1>pdKFkCh21JYogZ?jdYkD-MN`5vMU-{WH%OE_L9yFH{W!jorGB{p<+hwqsw6 z3vI%o6sd&udu8l@vkr_Of?Kd3D<OV#)`f~3#DQQ(a&R8o<&UxB!hl-EfbU9JsbGgj zX(fGc3ywoIF62ubH-={CPuB{dgnZhjgiqXEqs5)T0Zu$20hG2kMjROvvEu^(tu6HZ zs*cDu2Xl1veupBEotGW5e46X?TdoLx`p2D8=!SF&zJLGlRc|d<qMAxNdpkfFa-DQ^ z;Huiw2@JLoWBEVq_{1&-1q>n0+bC-0e?dwNbaq$0%oQ9&0selId7wh6AGT|Fi%9;m ztAqo~#8W#I=Qk@P1cJv_#Yg*-b0&eH(!_5TuRV<jx~M5y$x%m0@Wz9?HxkY>t%l-~ z-zle9xdrLFo*>ZMvLK{%>!;0c1>~RL(Ykv^#btuqGD$$7wIh};<zD~@{;KIy*d7G` zmBL3CJlq(`;n>D@9J&`@nQ{GE`$cT<9yrx-o9Lt>7C3bW9~-kfv8h;woC@)iW|}s{ z@sZQF5*kR!r2eC<5Dw(-iJu}!!$#tJCB2;VpkHhDXbb*Q#{y>+wWPiM;p+2uFTIpb zLV(;HHP=U-52oMF<FSYz#XrH+qmy&d^*U=g!9j>@3<#EYjJu1s0;KID7GJKJZ!%kZ zC(3)BOR+W{qa?}B&ky#oJ%*hNtXM<Uui>W5+}rX0vXcvJm(-pAAI{@%f63^hJK3FC zSQvBJ)=uAMY<|7sLN_`Xh`$cqDenO=W-5aXr2No@h3vT=6l9+*Qm`HYd{8F2M(`CG z2~M2}t@@8iid(%<H2=B5c`qrTQ`g3C2u4}-W+o8m{Yn+{tQNne{%x<}@v+bqA&j4` z=S)l2RDIC0Z@NCw(5*DCMpD49-_SkBcB8_=`PkVl!%D5^TAy<FwCjvmFzU})KN<mj zsM=n)u0jQDDFknTfzA*3`N!@vnG?Xk`@9Y34tZ|=$8<?8h{rdprCjm$Df5qb^_(~| zt<OtG2b&+XhZu?RCD~FJ59z%zx<_+%`9Jzu)TdMkHi`w+<C3XqG9DT{^w`9|i8@RJ zx9@Uvcphyt0?W&q2K18lR21FU*kAL*bTZEP-%CRbkgZKf3$WV{#<$giY`qQkcIoAh zLf<f%Eqv@)eARCtUtN?sN(y3NK$O(fC*#J(x!cXEiKN=j`44?>$ik!3>6g&E|G$34 zVY7}#-@KUbk~upTm!ZyjY3e74zQBlG<nAQ7;jv@!$^-Ux{qmZ#-1NU{wZKtRMJWr! zd<{s<e<C!ULRZl1?+p!?gWeXbs=cSDbzBXeCL@7+b;MF%V8`aPGRl|WRFa`=qdaLf z$tU48ZgJ{RdjLWo=GX#Srmt=^Vs^7u!(19Vb-+>!(I?7qMpBuWB`Fo?U7VV<5jVeB z5N>YUL!}aH|89!(!JNEwQe^#B$0$40Loyw3e{Cz@7SD~-O5u9L?{X_HI85tM9dmu0 z7D|#%#uWrsM{ZfV#z8$5(kCX!?iafD*GTBO0J;3nGgXw|wj+$W8-zt9{WO@}l3H}s z9U`<4sOfn8{JHkY82|bfvp2Cc(_FkZu})vC0tcp|T3pS|h({Avlu^>g<(?CWK5t*P z->J{P>~rd@g|r8rFWeFNOH=`^*9GOFi-6fRerpef48YB0EiN{G+L{;(ckV6`E&q`` zbNUMN8Fgf0UkLBT>KhV9$)=o!bCzOM4;%NK$-wXFw>G7c?1gXFqdYuvvYNDPHf;Ao zhJqz4vh>W}ca=8Z^GSa$bvOG*PN?T$`hdzD%X~@uXU>`-y=h&lCdLNs(XnX}YHoN* zM1OqPzaf2uQd&Pckh_0hZ{hw^&gGl-s_&%!@ZkaJ-c}^k^niYx-C;{OI(ZJh-lIY> ze|*K^TEhFCeilVq4g&+#I9@plI!ZG&|2T96CK#r5z9Jnea~tcP?w=`9R2onmcuKep zoRpf*U0)jXMWo4wUPhGN&rU^=o=F%VzKcqYe44;%n7iA&OPwIZT2T&o9$KzcZ3B1} ztKO~IhQ!{l15J;c2h^vNGZUeP2i}I%qvHXI&5EKo^|7Ox&HgJ&O#XX(C!xF5cN7d( z_VAk`64ljHVDy%fRhRfs&;IYzd}ryCJN?YuIfjciI)0Xi_W=;p#^|floU{0=((c<b z=Uy&+!}%9!5!82dqZes{ju@irTHwSkNM8`J*^u6@Do#z1R=&XIAI<t}ONA?O@2&*R zz~k&q6hwX2gt349R?!n!x{_<(ltrVQ*@R)whH8D=9hEExSNZEF*#QgZt;5bp1o2L> zc`UomM(SoDjYNd1Tu2Zg^W@1(zN#4QF0pYHwY@rcC^&bR*nVtRlenL7?nNu_0TbYC zBlmklG&I;3hVbyfBM(3%h+oFz>KDq_ss~DV^W-kfWjkNtoEJ3o{UhL+4L%|d<>gc^ zMV6Gh57`iG4*=(ag|}B%hffB?2BXl#wPLPd=|&=I?Ni0X6y7igBjO3uH8Pf-NDEQu zq>G$;w&fi=q-YgQE>H{^vOl?uDeLhG3smShE_Sp}A-m%<nc!>-YGP4r>?@DGumi@| zEMfk2_yynYZs`PUEvJHq;AqDt>DVs-MK?Tt5-{y8oW_&9J^pvw$+fljA=?}ikZy!< z+0eZ8S`mK6Fj;daiKsgY6E58e#U(Jj=gJL7E2C}naDKoouv1-kLR}b$>}Nxu!Tn8D zhd)b!Ee_$eTKI1=XP*rk-@`b??p!f33#0zahLdsIB?mCaA`)TpT&qKpm<W&e2^$#? z{%q`jihiC#xXVa>nqX$OnzOs2!uNiE0P&+hI|4aN$=s$q^5=Iv>vSf1k2(Nk(#xJQ z2xwP`y?w1}z6jh!G2XE}KgxA$-a+6`e71pFT`V$|F?BR#@OO&h(8rc~>V4<@*=zrf z<EXR_%iqJ0m_}K9?z1*iEY1BPz;g~onEt9FmI~(@wEBWV>Ar`oH4WaL?HYULiuxFP zWuGZK<3c+$#jAemaBp}teQ*jIB7qrO3%*o@a6X7p-G?q(`0Kf5L|H4>yn5qzPPfHc zV&(z~>#Qi(5t;E>MYy~QUulD==y=P^JtDE!IJM@nrG4TuOqbwl4n4EM-{Atg8$+WR zrrQoQ4Ce;YRu==NKI+^`@-u2xxWWBP)yAPE)I9CYYr}^b`g+OrTNt5<-`L(0+}%GT zWl4CGeMzje-=bc6H`N`h3T{Q*0%M$N{;i8&q^dLH?+%*rS37R<MO4*e5jUQ`WA!Yv zwduYSqGpq#$C>RI={z^$&MWD3DWz`M{sFbWwqk_nrKeH5ZBgXS4GL^Aw@x&2rLXwp z9YP5EDVtH__4#8>rw+P_18rto)Og}_fVq_(?1}TeNX6-;{y7zIKd%0*lnLA4*SQuX zJulQ9-#Uu#xw~2E#wPG)4hWhtkTDyzZmb$n;Vm*v*UZmIN<><Sw3tI^(h~r0Aw4BC zh;!xxemKVg9<)*OsvNn|6tk)ICn!8?AsL5njbe-OIp#{f)VR}V1*kY<Rd{ac4(QoR ztHQ#qNrCu?PogtP*W;wU3N3W|hYs?^)Dq1JjWMM!v-$W$BTZfeW0n=MG%c5w|CsXp zhsf)~t6%3mPSbrhKy8JsF5ZqMPl)o!B7L!GBBjITuYqY=`Y9(QbfJ4QraXRS&$2M1 z{M~>DTZdV$>bXEU_QH$to_?;>oK;FGR9_O=dptI8AKmiA^Ia16n^M<8+Jlt>bVH&J z1(9|Tr_eHRHTcE>=~$c2x~ZR(N|`;TQbGKt$&uE2xzp{$><^)^iZRe`;ofIY<TR@H z$|Y?c_C;3X$9(^sl1(j@+$AzsCkUwpRSj0L1IX0Q%>!eZ{K&oy)BCj^1Lui2e)m3< zY$Z0ExEz4m%}NbdH7yJH{`XwB)r6J@g4L_^X<#AdbL@|Q9WYtfiFMg7TAswC+8FKl z_unGioR!`@9HwYAx!6?f8~fwQ9%iwt&+I?7nYA@pnM4PU5dP%I=rN`&CI99w8;$*a zU1~jPiOE{Z5s=4YTJz4uS#RtvxD>m@$X-@RLHp-VcfH{X>P9&~3SgM=%FAE(^sF?A z8bn84;lSn7u-?mF-Gh<dzxTZNv#=#B>aH*#q*#XvU#YeUJw7mWf^!q&B79vu2o{4r zyR}1d#lw@<u1%aHu%|BGy?6mHKt!{&fu#?<L9=cLmI+o7IIc;yo4(j1*tipI1Vcv; zk5)noJVZJ4s}gh#QKOMSdlp@3jd&#)aX#YhGW#Z`OdqTnc_ha-o^TSrZ8SO`ej*$z z_XR}WGbu1A2~AC?SJ5t7b679z>l*E!&Okt_|7}|>mT=^G`iHEcj*d7<oT@j#F`-NW z)jfvq$6ax3Zoc)c*fa-hqYc=gE_`LK>$Oya#Pa?#QL7$-)N36uZ->IX>esuIvZPT; zhn|uE9$!Qp-#H25yVUL%%U(5dvWyMbsZO_o<s9<${KwROnP30=0kky;QurDUM_JfZ z<ezbUh*{h*f=oY=cw1G&!oL#tc5h#%@6ylutiG1wj9$s(CM(}Q_Qny1<SIxO#|lF3 z?d0!F*C$4>ZEuT}eaPNg{r&_pwL2&!Q4RIC3~N#+f1Te$v&)Q2M_@jj^^91!$+igk ztq8rzPnE^(#Wh_ft_&psUa;g}B1(9;_uHj!kNY1j1C>bN)B{rp#P1S-d#@Pol_YD@ z6O`t0RLW=>QN3rA!*&Je-kS|#W>&F6KgH)BF*xZZ$A<UDeq#SIjeAKea#`^_UOvS+ zkGolDWQC?|^G)GOFi7a&tH17}n;oFG*25ZX%CydPsI&E#IlF}RbqNO*o2MTzH@#R) z`b4049>4Yc2dz-M@=-d6Rz)!q$Q@wtoc(oh1+d97t{rUewQjn{^X#{wuQtPH*}{TA zTct(uTvlI!lpj5=H(W0xZ!dApoGKr>=h`MA@!aJQcYCR-R5#n)pweV7-Zvr0_7Ju> zj^ahGG+atDjZE<{PM)C{j%`Ee^-5yYvLR|nh#_dS!M}()Ex$>NYp|J9k}C;TPhYPT z`Y70&7$c)olk#lHCq#3d`NPgW!9%Ei7z0vnF|BvL-lNNQy2Xa!bS>hgvvICwHYPoq zr#7$@L`ttNK{p($3f&{L63}K?S?8%f8@+_gkg=A1KQB@$dJ>+x+6FI&5`oPKZ!ly# z0P#14P5#4=W_yRbcsl5ZbDxVxfz@(#X(2yr;(*$xs~v7mBmctgN4i{Oyl&e)gyOp? zV5qVuQaRBhV?S|;9G#Qu1ovGI9r^QJL0o)WH~!_U(eO(budSLPq$BSuD}%Qa6E^*Z z9lZP*t#za*UyEEAxH<dwsB9VTa=wlm4U}Oyz4ESeM%4>KBDtFM?<cab5i7>RrR?%N z-nVFezIe@Gw-oP*0@;fF{*BXsPRgj7>eggFO-{aei}2HYum<Jmv9vTwUGl#gz-KZ@ zm;BM`tDV^XA5#^3nNW5P^k>SYo{)>gxz<UwsZ4XP&To^`mu|3b!zS<6fCP+GB^1gW z3Kr?C+}2ZdIslBsP|mE%bk$3df{-{A*x=<s)zile))S`#y$!@Hd39~JPr>LP$i(KL zc}|5#<?%*!Nd@sF0i;${2LDuv9rXDUy`@n=DPb=|+xCbXa@BuMn7zFC(<2%km#wbg ziMiCRqfVdb={uyyna*Zi{2k`{&nPm%Z%G$?5iYk_f;oN?Y_}1yTDFmLY<$V1?4WdQ zp()OQ!+XkAx#LR(KL=aIL7Z`I!$-YiCBN$vL~CtaZKRl$is_Urd9cT;_H9k%ZRIOc z-qv_OSg}x2x+fLZv}P#76C1z^3J$%0eeY&cexQZ??&2rw?6^{B9wx5S@LK5bw1VO1 zbW)u9eJbAsFckax3-jsn8<-4>3F6ap8#0$NF3UV;-?Fi4DH<ie8eRaweEkL=J8@rd z*AM;hakgBYpC{taYm;!k3nSM0e%S2(D@TRGAv`%IGn;fHadw+8y`C(3*CGv4PJawW zX`n;}dEVxw?+;-{)<fkFD$Vf0e7v<KfBl;7ZK9)spQqeWuUMr70|sB0M8<V}%U4Z9 zTLu2!x<qTefP8?;nw-=uu)K=<HM1d_UwA8Ec4N@!x0$&vMG)&$JqqXhH2-ToNvyAj zXfKt_-B`F66}k<pU&%_uEd*#qj?$jteZdz#xMLI5!YfO9xLbT9Ok(9<RgnYQ`7`vx zw%{)J_=EjTAYwE3$<z7F@<^zclI6-kQRDh*aGO?VmMpC|RW1t;2(uW{N)X#>^1MX@ z7f@vnZT9d8jq(IBW>Co9v{!{yJ*AhHk~+?sbXVLnmlkb*vu&~vun!6h*D+54&}_r( zYnJk~(j0T%x}3ZKt4#6Aug)!1BdYR3(uHQ;L}j3fXiukl%@=45a^JBLo{M{*SHF3Y zWFWay7NgSUx5r_YGSvK9t#BqLMX&H!_Kg+B;gfa29wp$L?qHR}{6+;==0;jr(w*p% z(U0a^35}@`qCYsdrvI}l#75cIlrmgsLKLo#igH=2h@|$w;+6(l<@bpaWphx_)?tcr zR$IE2^*I@Dm6GK5Tu%dyN_$_txBmD(l(zf!4ib}VP?VZ^e<~RpiSOe-Ky#eaZPe9~ zTU~h>R$uRFk}4L8*ig5@g}IBXig^piH0XPf)iPz8XZv_k)QA-*Z&y3LjLxOVSN-ut z<#}_9)*^MD=NcqRxBA$VYst6qarNjn3>LnkDqHfn8)c=gEoX2?P6W4P2)9K8hH)0m zajiR=b~W&cg6|ExkN(~dF2>)Fef~n|{3BDQ2WPL#<eC3loa{)suo%BCWE|W5$RtJU z>^rYOKt2{;J}*|9rGhfIkz>>$nz!4%-}%J>0+(opv%rhfqIR)ap&vQvxGbwrCeSBp z1=*XhLtA?I$%oJ*89V!E@)?1vkNVZqXqIqcde62nQGygH51NgXW7_&7!p!WfrhPWs z;KBe7Wo_RRio-MFGZGX34=`<Ahd&lO?`C(}V5+o%S2|EheSUK;;^wZ$(ZAr)LEH61 zntk?g#p`=^U*C=Y<tE2w!f$ktX|KS^F?Qt@BUwlEFDTfB#{!=ooVnDl=TD&wgevvD zG+oFrAiz=bEMVVpbmF$agQsE5m1De*_UG}j;AEEvYmOv`r=wCKzPOMb0phQ+G%Ig= zMI}|cBfDL`c?;a%p^4BtEVjrQ$A+fY7m@ppSXhU5w3ilt9J)~pK_%xa2wv)BT-%C` zz~P7DzDGz+V1Zl@HlzoIAtR7bH^@*)J_)+suEV*&2RQ*FM}G&!0k&-G@9c`rs=l26 z-%UZ@N0$SO9ZMPAzG<;9h0HE7gQ*@bOh23rvimUL=C`irgn#M;RiWmC8x0QxZDa8r zh~IJVC3$_)p<HKwW}M|9xkvro?^ml?!es??u<SnnkBM`=s&s243X`10;LEW+5MIqx z_;NI=6_yC=&a~lFD6@{!ZX)`?oI_KeKauQK>@Z;<*jkz(hI)XGMO?H=h2(7f$Ao{_ z+P}EZ9kQ<M;4tF{D8Ds_v_15cb>Z!zbe)ja>jpn=3M&mjw2IUsYyq6&Rnk0f>B+4Q z@9f$zNtJ=SoKn$#XR!Z2rH|8HOfXKB0hrN00BO%I&+mOz`>+4rT8=L2Q-DWg!|OSL zO@TX*IArJOhYq5IZq^T{Z13nzO7{1**Zq^}^?G`ekf}C+#mGa4Oy#8Zf&A6j$18-b z0-fH({PI7wH8Y>{C&$A;bZ%;70y|x|D>1c3_Mjqn?Hvq${^a^Ff4BfFQgm04DmGY5 zv@map%d(}_d&UXV5#PX(S;OR%$CeBxT*r&we4@EMfPVs?J)MkE^11&^zOqu@Iz9nD zhyA#pS^{!rXntDFKbtL;T|=QVZdENpopaF3Z)XZ|GxF1mI(Ch}XmO!xjGP!p5t5DM zf@Pd2wj@C54T~x~^Ju@^y}Axp%<8%PH}iNN-}q3p2KG1M9T1$?Nq6QHk2RHQF2%*C zR>G(fC*Ya1p}s1Zn$)DH20eO_*S0ESHMs0pgIWFhNaRM*kOx|H5@4%iU=ay>|L_&* zPy}wc8`*Ng^B+?mFq)7pwm-#IHzlJ@{P~SDgmaI{Bzhvvn*Ip&wFO9Qkr<ljIdX6S z|7oje8r|Ch+cXp}nX>-a$d7Li@wV0#?a}zP3?5F>j4yuisNeG=9?#7%HMb#5-#31j z`*`4K4ju`7M_Ibr)R^_J`a$<2Nvcuq;l**ll{kRdEP69qFI!<<`SMsx!0tScrZQhk zo{mDP91<8#KpP}^AJ4X?@(;<Uw6l6H@CBkFISYm8T^SdnR5Ac^l&4JR>kWVX@qy4O zW+c8ybj=@?)s<>XVVrw6?LPcGnr)kcrw8P{(06g5<BV_kj~u0No-V@g*PVps(@(@M z$<-Z>-OSp>)Z@0t9NZ!UnfM@JQ8Sy<?t7KTUj<IKu0|^R^5VLyKFbM)_yd=M)ya3H zaK+2~xt*UdRteYw1HI>3w~MRus`OX>FNvqMt{i>Hl-5)?c)ZrRLz~!<i*i{_*pUkx zItFH|k1L+nl>+_NW_$tRZXd8is{V6<NghlXcJ|lbo@BP>qdcls?D-qE5SvClI2x)9 z;e(|~2bHO;pgpLx+QquIZq)(ancGf_`xTRFhkh`Iyi770zj1O!_sHSZ2fLfs{$<t9 z1Gbza>dL&JSYZflOI1YU0Th5)<&ZhcI<qnE>^Nmutzh-KTXx#6Y6v`bB*s~w7B{;N zD9ZT)3@!?AA`wFV;R^9jJ1Zs6LbRyNj)(^&|5284y}nm>>J2M#GrsJP6J#&4bQ(`> zcL3aWLS8UU(?@gD3};@c++z{e`u^kC!~dVu7`-L!u6XoUO#|Z6@;k&e5Bk%h<)OaW z9{Ktv;&W{drMt&h@-qQAhx)JCBwsn+bg}2`2%WYMtL^%ltihri*}&*N;hW0;A4O;4 z$n^imah;M-q1?)ugxoisG(rfuD@m-Gd+rrQ?%cU6cg%9k+#@$J42xlIX6Bw_X5ZiE z_ZRH5efD{M-mmBD`FcEw+v<6rTC}%~e>g22HX0`zv_yLg;it|<^D~9{YXu!3ytUYc z*n%!*Z&$e@HgHg=HdT`O3qq~<OL4ClQ2|_RL{nZ2;bgIYu*?F>3Fo=x#j>Z(OrC5B zEwJPIc`OvE31IJf_b5xtfdXHDSuZ_LVrmoB`bfs_Y`%Exc;6c(u~0~lJq8s5UJ3u3 zt*?NcuisDy+oOL-S81Q)#*;~*1ThncyYO3jNv~j)_C2LJy-8&-ru#3_RR{}MkHIDV z0*A4liAj3w@Eh{>T2Wpzy+r%K0N(oJfzFL2Af@Ms56{Va_UXOeZc*L^Bu1GNt&+JK z_i~ee^Tc)0dvd+)k(0+I!ad2@P~DZCpL`%LQ=IbI>iR2FYA36G+3^MNJOf{gG5lMM zCbLC;XkK3bvM&tE|0s!j>Cj3NNu_i{Tk*octzEPUQ9@^Y4)II78x=YNZ0bH&6Y%Y3 z#{DxlpvZ0z17ME$H;!A_xc4Y?@$Z);&VI+<$PJoZiG6NStO3mg=%I+i(@8<vGC&Nf zF|uG<=a)DND)WuA?&|4XVzDWXzVOb-8hUWGCXkE-eD5+7)@ux>kg5lL-*%>ry}Y~h z;MgDQQ#d0qkTAw*j8p!#u>mC>z9H8}aSuD6ef90qrI#OogvZ0t2kz`-22TOrmqgx` z^EdzF*CLek_`?lm?bExfUh0yudvve{YTDj@BgqD+5jUcbHhfziJ)4f&j`VG9W%8i{ z50*AK*JMu`F(9hY)h|}T<r!woguPFojdB2>8~o0#!!Tcs#{+$rJvnnZOuLV0z6g?z z+gC%s^+!4Ra$*7QQ6-&aq@TA4-ktK6Oe<h1><U($S`qukP7+bul8Y9J_Kq8$4E;iO z5cfap^?>P=l_!tD8H$5<AVy`dqdaLX$?>C^8inHYGPYiQA)$4<7faqWD$~#Uj&y<8 zPHpQ7+0M*N1*9d0txk}V!y8=(?`<gVDHmNU5XnqN%{2S`n<yFq2f2Fp$$THH$ghih z=5@*I@-LR9puj+HDqVVHrKo%!Su_yn_vQ~Ls1$}t{FElrN3+c+k`r+H5+y9Fj+Lwh z>HMtSuPhaMp0l}gM18ZPY>IwUABZ7Wjvc;bj2t|3{XW_4YIQT>KCd7%?`GRxg+Q>g zaeSFAL*J4=$;_|1%8KH(U+>CQW!UT?wx<6qME^*LZk0$8Ot#gxw*pVgl4(=x9x;}v zrs2mw-o5|v#QNI@9ru$+tvoC-v&$S(@6Zn$h9}~<e%3?K>7_n>Wv2`BgLqnRPgltw z9UL(1cCu1Z8%gd5#L@9<jmwjhNZ^U_g}$e}f_y2=;rV`6`kJWv8FIH!`%F=x`hW(C z(@g``05~bHvpkS_py3Giq2eF@p@%YLw@{H^lw%0BK^NBDr=QpJIEw!c{BUZ4N5B_b zj7i4*aRSe+>ajfcb=9m%OSi2dQvdC2L%Ad3ManWg_PvKyHp*#As4*EjcF}f0rDpO! zrVc2N8}jDYX>vNYE~g`*M&~@Rw#95ta{Om)!BMt!=w`S+5;^sQt3i&GH+V>!A@W9* zN*|BiR$g1g-da^VvrVVX;=g-d00Fo@==QJp#a`6!`F0+JEIX(WOu;Ye-Fp?Ld*(l; z@q)458%9I&VuGI*8BXY<{ZgBAz!F7^b5iSExC;zO5VoqfY?;1lNiKF@7=MpW3H+G2 z7Pw6<^bNX#ccF2f@0R>d6B=zrh_!Nl@XQ5rr+2?!FqB_Nx~sOP!R|TaJ(IT4Zg70{ zLTdNT5Dwv7cHKf*i<KQI@#~vl5&>sqa9o6bOXy49l{1ak7s~wyyp_&wG!njhgNyJ( z=r>g}QxD%+EvJ646v_#Gzs1DctM$^i6w*x0?X;(A#t5o!P{pcIFL5HNmS;|cMsBr6 zu_Q0s@5sA&AKYU;bK~MlUIQT%BeADxL8No8B0o1MjesXzKG$fzaA2*?B)`C4JEv&K zbpgkDB_nu5?B2_2wAB{_<bDLlSI(Ypi^Y7int~LOEaPKM&CnbZbD5uO^RCZ8>c*xZ z@Y{-t+CYqP_jImmYOwBHoTmBc#&T`FZCRJhewZAcP<Bfs;zeS0t#8;V1=Vl)e^Y9` z&cnruTF?n)E`JL(iyQ2!T9Ctgy5E=7mX5TU#n-1?R~x1~Z7Z@=^Km=$vBTc^A4q?K z`KXrm%@0q<X-#SSe>vA-fw7lCW&K}RPgfE_O0vanM_#A<L^Z9b<wy>mSFY0`S%HMb zgx2aQliKd_rPR3rUkC~o2nnJUPf_Jg2OHJmv_Nxp3-vk<%|(a7q=CRJh^#WJv|0_s z8G22^`IQc$*zU-R2dXiVIK>~)P}_u6=wGnOF61eELvVGQ&T0g@DM{(>eh!<vkUDj1 z`}L*T91YhWG|xGT+3o^In_-;H^1}tW$UwyCq)@)dLs8|3Qthe0mQ+#Oq~Q*z4><yC z?O>wf>OLFw$tEMIg|CpKbiO?K`LC`Gxd3ft8(ZTF#*-6%Hb?S5eaTx5DQ_08hom*A z0%?MGf`B_%HvcPFZhH|xg@9w4MR463l$p3f8>0LN#L~<saa4_*NK}qimcNZAD($_4 zYwc^*xJhfrKI~n0lyG?`{NnXgbhZ2V#>lRIed6l{<NUTkie=VfOl`F(V3KYr_0uUm zsc(`j_RpGkY<G-q@GWt?zD8toZxUSqm%Pqcr{53yj`h|_^?a|Dy&3dmQ|>BU1tcUT z0chw-!%L}Jps|(SR|W$O7E>v?2h#+r;ypSef%)+>?5}YnFZ`cdYQ?_AuxUrQqxsHm z*Ub5#Ui!o0U_kyQ{~3RvJ$!T;)WiuZu8C4eGr4n=_AkrBQ3ke=_(i(*botNU6!(;q z5K{4x?ymA*lGMpt{@q)pKDd8%Xgmz*khQM=9g&8Zg`ZjTyPP58Jc60yczXeDBDkDf zGBZJ{ayE4$1{EHLaXl%xQy#3=@#qDeENoOd&VasKo|#!sovEEB(uM-`M6^<pFk-HH zsYn?1dLMd(IKD!XY_$h91<Yx)b|M8)LtAHy+cjbvP38V$n&TZqh=U++p4;^cMS8mW z!rot*UdUz4`$%Xl?9xN7KfJbpAT}?#fNk-#p%c+l)|P)%aapO5GD1t<(sIyD`utdJ znzkmWmP0^D73b6ORsUvfu4LnovNdDaeFCJ+q7*cQR(y1Ms*_Lao3k%cpB)3^N9;E@ z${p(dSedul6hpdHWD;R61OVJi8R?$Y{bH%Z-MmA8Twp^^@Gbh+Eq>HeH9{?G?3IzF zI2p#2wv4&n?!Fu~>04v_JZwnIwvZ-}mzk!>W;*@A+@_*o!WVCK;vTFA*DZhPnSyV= z{VW?*n`qlCNTrOASJE+|BaHJ~9%FligiC8HPjY+|EB<48Lx!1l7tdhJj#@;Y&^0R{ z|0L^2sM;!E8EMOi!PVO*smiRqZ!3?j_RiZZ{}|{mC`UFDtPa2@qDT3Pv4Wu6Uf{Hi z0c&mhk>gF=mX35&n%~!g+M`?d6uD0p-n@an`D;Aob;#a+ZsN=N=5Lf$EN{`m8*~0A z;&o~~OjoGbS5$@tIK4D34^HmM)voIguG?(GR$ub$4xCh}qMZ0#K0wDXtMy{l7w9Lt za^`6&|1K)D{_y&K$@h%b>~=ysl}fhmQyB~HK1%sqZFnPIw`K919n7hQ$twVhKD1N_ zIiHG!9*S=Dn;+(FYyQb)9TtJ3)@E+vl#)vn?xIHSNHn8SfQ$a|B^&=o<+X{FY2~Tk zomY*#@5rMiq&Y812(^f~_r*z#HBP8?qINO;1A_mw?reXH=8`JwL%8{jj2~ntwGhOp zx<BEBgZZ~{TUL(_O^;RSI(T0h=60b|hmL1MMMiz_4G}Brt7O1LjPHNvDNc;?J*aNp zK2@8sd@Q(kRix^%cuijHl7C>vxGHzHrImSEZ)7YIQM_qjW$Cb1h1#s0%xhTw_DfyJ zF}!EhFzMOP6^DY*TP?N^vK``P9Cjyy_koHlvqf~+rsrPYIv?RYM&*c}ksc`=PaDgR zcdhw`dI3Q|H#TxyR8-Jb*U&IOlGp`+P6X+Vx85|nSsRd098v0cMU}_A&1|V4?@!tK z!iqEy@iUiQg$S16v-G|F_Qhw7ID5=1{z;Rn=9Bl>aotIY0WG=jlfit40cS@J&F6g6 zqJB8ekjjB><1qYJH?(+yv=pwIxsT>+n*7+~aiFp1r86ON3d2(<<>X0xQI11IA*FVj zZHkaGzz&!wO_F^seJMIl+0EbPO1LY$zqbtP%WyFVe#{G5oeS2r+w322AHx3dA=0uB zc3CriZVNU3#Fn~R@`a>$GWHLiHf*o&fK{ssqN_+Mzq#Wd-c{a9{6w1EpcE@ZWUdi! zgB!?%`t7==H@EG(T|wHAZQn_n@b?+PL+?WWvU$Czg{5fm$o5QCx@fN8sO4B;q{-HP z(z)U<S|+cq{JvrDra=c?%i{h!<BHxoHZB#JDlrkgyFx1`NvRDsHSgDYHV!ufi1nGt z93H-G)SSifV63=vQBqp;bQ8VyA369{c|~%${hEzRP7w*`VC(i6CH?JSO^A2s`;|85 zce1QaBIFLm3s6+TZ7;$s=ag;3V;80)n{9ue()$xegvYSrRP>%sqg=j#y}kwoWiSZp zpKh!Uxt8Zi-(}$QuKMauo|(^!@VP!NiE9yjr<z&3zgz}Y^0q%LHbvu=1urfe-urB{ z%n8c02pf>SIlPAoK)QFBYPX)?J}W#~tmo@CxLx5C_k-7LCA#@mqgr9%{FFUq+AX2A zj`&49Z(F)|b(B_Nk~W^=79{2MYxfgEvta!wz@Ff@gh|rTJj|Jg9hPlZ;2&+BI|g=i zM#_D#kqqAYT)$L^Plni)nQ6j|_m#S_7gNT*x2{QvR()Q%DS}FSd~BD+e3F-LP$7|- zCedtdRVKb|Upsf*w~BluoVzXId{UNeR`{ueH0M#{I`>X_>sHsy$WPGZ&gy!NjsdV= zAxh#)?;P+Ww$l9aiu}FX4m=LM+tX?0EJAZyniomkR`Ii4rApV)zo*tzvhw8wyxWgg z-lbyk&MD%TL{g@gtozEEbFynp9Sn3~{U)CWDt*=#esyJ=6+b@aQEq%@=|$Nzpivz? z=K}-5frvj3-SDb-RfX$mkIx%M%FaK$^Y@J5EvImG{;Kl}Nzx;L>_C(O8mdD{W(B`7 z>jO<0x%(|RUmq5+@f}+S8_=7@byb*oFYnB$$>49IQ~jK$XQd-9uHRege4tD+&dwhI z=Iex@GVl@qt1=CqXp4MFUh~WpJLgF()Uk&V26ur9xu&PJ2yZQ;VEZ}J-8#G@TG}dw zLJREaWm8iA8}5bA&NYHcFYFPbF8Ib3B(`6TwmllJus_MmeqCC3tZv@XXKL249JhJC zu^YDtw`^BrjQ4o>o*>ct{|rpa#NRHMK1_05n{++O`vymuwB6sz@0^jTtNESm9#bxj zYMKv<InLp<c<7n$*s<MylE>Y2RclhYb2!bFS4PJ3qM_m!Okj^^j9~h3>42-=?W}09 zu?5mmw~p~<-mc}vCF~WWGFg~5%*~zLzk9+FO9i>3`v1AdU-!AziAX=Md4a8A{U579 zk<K#(XZ^E(pC-9O1LYx5G$0D?HfHSh?JBYjibfthlV!SH0#lLyz<Q<r_jwbf`7g_d zPvSw)`*x=kT$n3wGtpKAw&R0dqwJ=B5#tWz{TiDOLS*$<<X<(2<RpkWL4#j<Zazms zVB|GJIopbpL4m})4DX4`FlKmGHhT`(zY9BWLJNJX2r`7~5WN9Y@SW?B0(K5f?~h&V zirIne8snd?*#C8^mHz7d^)gfMZRV#hb0>}(yiN_ei2?4q>HnCDB1gMxs`X#*eqb4# znoR;Uy?-77i$PAAee#WH1mIpX2N@~hi<b?hZdu=#OX7Ym$3nt=-0Nc3mVQ2^l#DBE zLX(y;v%Kz#90Ko`qH{sLt&{9`y>X)p+PZudZ&HsbQ?B+Cei-Vmlv14h(Th{DUZGpv z4hzCa?t!4JPOmaxw+7G%__)q9#mgrqm;yvhdg*%|ynxu?DJIYCZGsNQ0LJ7z#o^Gc z3&_Y8Pg8M>hVQ!q-|l&NC+XzlhkW<SGr^(x5@!C=UH&UOjIgi$S9G=5>v`|!tL-r{ z;Kf|JW1(-cE~F!2d;<Nl;k?3H9!rzyY*v(^$<MX07x^xdm$6N!zi(+?V)s`*ERN!8 zPSa(zrz^WQ!0h?ldXL=Jk0*qSw)Acqo{IT1jW(!x+h_yZ#Y|YO!ylxZQDRr>jsjo0 z<Qj!KTL%AHnOL7(%f)QzEaWLj-BER^BOmS_9b08di3ukrYefd|_V%<<l5<<8*vI<S zYjBufCt7h_KKKpko(W-92WB+FCb$nUP1D}7tBgSoQzy;NpW^A(jk8i*o5Ai>p1T(P zujkE9K5?{mxVIIH*ImgR&<%Q&Qv;(qiDtQ;(r2z<e#z2Ga}w|&*?LRzzyFVE_6rt1 ztzvj>rJjTpJZTU{HrqM9%^?7P6$wXHMkC+d-|zZ=EMB5&d6*p0te)#|@6snCHn9wT z2Fs^|M|O#KqOYp~Cm5k7hC>S#p*<ms2YO~vJ(d{Gnrx008Uxkv#%6FPqCA>%@wepY zO7<QdgFT-$X6MjcBN~^c{Q3gclc>8G`tt{h+wc0CWBei)e-^Kn51`tFkh3cCK1$o0 z!9AS<X2ZK30$-zw2+f30MA(|Dkke_7`fg*j1^Th4O^URN2^vZ^`k3r1l0F%t2DGjW zWr6;zblY#EF^y?yxQbekuw3X+)s;EzXFleTyTS+UfC8(V>hmgZlZ4d#_S|8S_^y$T zHz7Oi;`T2zTWuf2$xQs#ttq;}e&|F<FsKkKc73^A>tT;912_ZAUW-?~Xp4cnL<c;b zW1{@rCxw-bgpNc44gal$>i}1@f`I-ltdE)=WZtXrxIO@xILr9|MU8nYk9~BQUvJgI z;nmJ)|HpK@P#ylnSZWi;;K7abek-e&t_N*)pU*lNM@SyB%hyJ^hG4X@V)%*~nZS(; zpecSN0BaWx+>t_2B!$rL*Gj9>AEnQG?`TyGFun$=GVOS-c{AXteh;K(4(>v1?F}Iz zU^lK)=}ukp_?^{2b2q7zpR5l&RmDBK0<<+~9D#jSu7%_K*B>-?sa~~>|Lzr{0k`Q- zvd3^;yUmaP+*dMHPq8&`vc$l=oVjlipu>Q6|L#u%T<wY7Y$X)F0~f{>#j_O$S#O@a zsL1tWV9ErXJD#wdsuzpDchI{Tj|wlQV`7wI8?zxajj6ZtZQ6Bv42vuyS3o>hH#C&q z+f!WOv3yGoC${LcjLv7dkqFI*AF9cFdz2GjwV0HEW%<~TH${t)!sE>sdEjm%!;;Pu zVB+6CUoQ9ZeMUpB)jZ_<e7mV)nuMy@0?hbCF_r`Q9$&tt^GDhRuSdYQ<fRUpfd9_K zGXg`pS$^pq{E8CNvAYx&w6J^7R<Rc7I4ty@kiJk^Jl80#t>O*49Z@G;`Hkkcr)7rt zwS==b`oYcbMm1Q;7wwb>DH3kT^R%9LDcXhD>?xbZOb}^%3=HSb-!A+rK4O<RR)Arg zBk4u&M!&`zg)f7{^{qW;D&V?H_uy?Z%3YA2+`Bw0VnDjULfyg<&h|h!eJ|c}e`Yu` zi%;t2))O%y&)&A~Jwz(4c7)_nMI|BUhW7qry4aOg`?Z=*`29~(jX8-!Qp}qch|l?A zn9~CI;Pj@i0*3q^>RT!0?=KGT<O{5z5ie_2qbN%!p>G9qbH}Yt?|`0{x|<_I+12Q9 zgVi_-NC0%TYa|T~?hODh2XaUJl;xhiZS8k5uSPqw?n%&ku8}oyqdqU_ti0l@(6<|> zfU$;dB<f*u8re9k`TwPuR?q!=C-HAb50CTp<GMYPb-md7U|m<g;pXVFva98si+Xnw zD|^7K2k`$!l8vu6?gDS1a2qI*!AvC#3$e`$3j*7cZnf7$W&$dlQ$)DUYfj%2h!1%} zd)>_QYRteZIc*qYBG>3GH6Evt7%81PU4uayX|=cvPg+b5Fv2<Q^<I9}yTE?;iRl07 z$IDFtJ6&dW{h=!cMgT5&`Y3~wbfeUDdg^H?sn<>jv$8Xvr&*h}6Y>D4OO9ihA|D6N zk($+F->@0+cRl^_!lL!GS>LmkzRprI_M64z6Cc6UeM11(ex_(lBy46*GUG!+(fZy3 zX6b=naC18Slno7d1|4y%exF6piC@(lNL8P1(+0k)LD7K(79f3L6n|P*^NCRG+dKj7 zSvSrI*PIu$2?PQ{lp^_EhoAm&TE3lqOP!L4kM&z2j#nlv`VkE&C&AsUYc25a{jRdk ztTKNRQWAk7u%j_t4$0e#X{Sw9zZ$`reYwfJB)YMZq`4@(G9ZSV`0*8-_Rc3L#xvCt z?K_(kx}k_YBH5Y-qg-1?EEzRi>Gg6C+e3vX{$p|>(JIE}ZqFE)XJ@~0D(McLNu5YY zc4sGaJJ!YWEty+20LOiIpl}Z(Hs7R8G;N&{J#)j$6aW7Woosx9#HKseP%uh06oWU9 zYs#3<@>>xNcy>yszKy3Fw^Ql`p@k4VP2(HNT;V-kW5ui-xxKjxQ(pd*DW@&61;4tq zwSC$C)W5A9^Nv90-0$s!C+o=H-K(Hk>caL37+-AQ6_#3KfCm`q+Hyy{4MQ<YL6jdi zBD&2v&zlM)br~!!+>B&iQ|w|UKa%X*49RW5jGqjMbBp0x%HTUEp$pktX;C^KOQ(2? zrrAaZmZ-DIU7&^d@NDzHo?PUSPp?siwvZq&aoIVd@HS_1^Jv9Lh$;#JNt{^wJe-ly zwh&Jj@WvsT__p32StQN$F9NRo$hE-XgL=mx$CcOoyrN%EPybe-ZE;YkbaGO@E1?hx z)vT__1u%T*82aNfQUf(L=W}*-yEN01)s6GmU_a7m5GMiG`l@6sUurb_^%!l9G66<9 zX0*k27{>*Aeo{{vTci#<_L2@13@=daO*;0iOa#*Unfq4npZdt0d!D7Y+p*ZmW?nl^ zOZ>&-E?c()d&Z_Advw{Ir;=a^WNj7#7<g(PTlaew(fPLh%HIISUA=}CwX;Wen4#ut z9K{A}vj%Q0A>qa1K5LRYF%3s{b`MR>`sFR;T=>i^C)~<UgsD>uMXkr)`^~n`>co<j zDWjiqkBhu>H3haEC!R0#U+5aIGMKJ0nEAp0XV(|2!<7mc`x75Lh_V3!0JLkc{A1wD zP~nxGvM{T)r+N4DVZih_o`E@W!#rRH2Gf+2cc;o#rGzjGppVvkPpX)w&o08XTxd>{ zKc<zz&`~!sf{LND=~jfl3Hj&Qp77oU>By-3(G10#3_*xy^L^s63VGjRxf#K5+S=G8 zciv+!@y`h}YXRM6n%kR)qpHZiWtvDia;2y~+C4;#4sh;)x6^{lrsgywfpO~R2LGQA z3L3&YCP*}w_dCik;bo9Yx<jL#zw~ViYg*6hd4IJ9Jn-CVL`rX@&$~dInz`7x`YL;V zky(F#^|<y}|F&X6lfTK+1h=?rNW)NF{Ob|O1o*^PTk=m*jP1L1*`+6<4T-W)xeIYN z7q|^IH7T5`8)uH5MckH1y!e4!=Q%I7*nEANMvteNHrf$<(S7@v!EQiSuMR1k-fx^w z_%dw6rrV|?h)SAa*;tU6LM8<-efcFa;Fb1lu*K#&z$MA^xT+ltzxo<J@hU7oz!Ita zx1nIq4{c&^(lWb#$w9Wl$w7C$?v}SVDA)uJYqW1>73R|dm#)Fe0!o>yYj$qt8Hb-r z@@shBkP}w*0e{WI?u)x9G?#^|=<jL%_CBvA7PZHcroG<16TNOosJ*IA^%w7`=LN-b z)415H#q7xqfvBJ|X=Maehwa5b@MO+}muQ-8ZGd5b`)|!gt#+OpUu=U7ny#5vdVh2* z8cq<ur8mA5W=SY)+1+--?WekE5;Kix(rD*JvoZJ0a-xx8lvYf${9l{*PcG_1pyIe` z-e(XY#~e@Trx$Yy3t$%u1PE5fvJ_1cd8A8br><8fAj!mqxY?j{aFW506J`r`I_ zJy7>CxjJzKOEePgE*iu~{F`38e&;e*kZrza$>Up5;!edkp6%QXJo-yKbMc%1z{7)- zMT$6hhwMX7%UceSefX^}LZ+)=ve4eEPv*FZX1&=sO5^CxocZxR*lM`xRgs&RTMH|u z7VoS1jy2KK6B1{GwZh@n$&AnN!nHrPt2dm4a&9)gc>UsLnzTuFHuqC;H_mvJD*#}< z2%?P8d>g8d@}LIpX$qhHP3*K5RMG~f2@v1drhS{dCSg8VtLH-uUN<%mNqhZ!qtq|T zpwx~uMYllg=e?Mq7f$}-wT-p)SEr5=L0mHK>C%lN^YgX|gU)|T#tUY?mQdUqFl#HM z6h8k<3jvE2Hl+zA1Qf&Ip|@=>rM6@(gqXhHC=OBtJhjU|v?xoLcV66{Kzx_y6e48R zErL?+2K>0hf29Ys+NSH5$#C3Fp#D_sCgv6vy1y%H*3fgz0&)R7h|I4>_J|jepOoj* zcEx8t&)4-UO7q8P9%~-lyAsjkTv<DQr|reWQtrkz*5i6!&1x2PhXRp$yL!3Ra_R<S zBT~pRAEcKB0m;IMmXjw+7~@D1blujq*fsZRLv?*kJWtcZfO*1zrWpVgj-Q|GHmQrd zwEYONUniu#oSvresPgZR{wHKdmYm1^ye!fMKU{5nAplPS`*2gC0l5YR0Qv`L=MejZ zVxPQ--`!=0s-1kk&DE1`Fz`GCBC0Ap;TL+NYPh1N{(G$boz6dNmZh#|)DtBtt#WUs z>BarYp8cM($t#8n5v(zuh7ugw%&+hzA_uN57vAcmCYkuIHG*+YJ81nwv~bjaOyE3% z<ipCAMx0Uzf4lMIou0S2ALwn4$QmREiMBGa@iWsCim|{^wO{kT{^yKF*BL^-MTpX5 z?9Se;4>h#3+(${8<e`eC%WSYn+mp$>w7Fg8*a81Ywt&IZ+t7)Y(myJ$L?Z`U0F7aM zNPMwHq_8r_Xi3g@HxGv@9tsV52K;(qQ(JgFzIdx6Jwc@<^U;AN?(r}9TO&`%yrDKX z+aL<!R0!VJ&`KY-X}X?=nB_K*FT#1{t92HkTx(h^sdSEZZ}sjgUrPU`xc%`CN2NHs zD#KR5??;B{lu;)PPMI|eWZcVn#^-7TI#<GI*zi(i^<yowu7{l>iuqDKYCT9VHtht# z2^DnZlPOKf=}B+m8JxfZex|(30E_R5HS~Dmyy&H%F5q-y(X{0M`=J8EapFk|FNCHe z<a1Fqwr-mbo)n=yGWrv7AN1gIWCIu~wTTWmWb9cpjkA;v9A5e_*uD^Na7nxOCF}Ch z`;CrUCuBV)-q#(ck~_Wop^8rmF(Lav-l4+^8BV_nn@dA1aKv~yOq#5?hF;HP3z3tI zxK%?^CImnzN+emytXB}}hoipIZ0-!hG!`zuAg5?fe`k2&!X?}GCGJ<kF;`E*3<IQs zK>_HgW8({LO?ti$3R3ewFL$Wy8}msYiNlI5LcU^Z9WZi$w|Np~4doz$bi>6XjgtRV z3Co^BkZ3v>r@2pcVg^6>fB|v1%~NTkCH)^P)=Xib>jQniJ^B@%7`s0BS*$U3m4p>~ zH%UXNo^Y6}c8?Ao#(NY@k+dGYGf#Hh*<gEMG(oUc^(Mn7INND*?U-x+k+$eO%Jp2f zVdrt#n7)!KiEy^@LP()amw^nbfnTCg{B%)Irv9^EY@t@2%7tIr9|(i5SZ<GyYN?^_ z)7Y6hT{aW8=u)uPtCE6IgmYn1{D5?G<7TzCW&8ZKLddVI9COMfF&17^v~Bfe{pU#e zBtPcMj5-hk@ng#`&xtFFC$Su<TQ$ih_VBEV7wZ?kC$p+If(Px>2a9AZO%p^M2D8X~ zJ`0-zDwF^lJSua-jz%Xd=12Ayf(A-e`BDQ*pJyk1x;ng?b9^+pLb?{?ji9TB&td)u zpC(LAAL2U$`M`mxQ4%0J_qCF*q#2&kl}1}#abJXG(1~qly3qRrBd}2FnMY0!oODnx zG&^fk3MQ-ErWy!awK*p7#X2qldJcm*grqfGAa$7Jd|3TYi@#*8MQpqV`H68U7x!!{ z_Un5*-R08XbdAVxx~fbE$h%nUVhjXaN=Dms<qPipMaX__2&rKjD4m+NrMI}6833fi zKM0d!EP^_YCxP?qQ=i3>{?v>(;BrtC2q2aq$)<7bK)(xv!cv%ImGZ9o2bsi&NVkV_ z*B#4@@~KXY9NQ05#G^N@8@DfwyK0eS23nGDgd6_`2Ag0O*$mkYSrPPN-xkrP`_*p> zV3s$YiZ>t`=P!LuPooj(C&9k{&h?>k+~yg>hM7odbo~YI=hYzP5cC>cOX$XSijLIC zEMBsqepsnJpFG}j2R-uYyghR}o*}!<y%HJBJogjt#lLykA0_+9=A;*{Afq$gIW-&7 zqQ}T-e<}WuHLUH{u{EyH;CdRatS_Zd)%jibn|w&f6*@fTZ+>*wTi#FgB{+n}*zH@g zRu|1n<y`dm8V8}EUZVc+8X&&S2@8Sd{$si_b(qEpE}VL2bG}k0_8C^)FvQb`1X1Ey zM~Zy4gTH%NV(3z0H}zP{?N9&u@AuW9@5!sW)kmdW*~!&OUf_PqRNSz(w#>gHmv3t0 zsc%w3#d)SDB+6^o((Q4_*fX~L4_WOUo*-_B7kPB_bjDK_1=4#4y%bE$lN~0Dc?!8| zKw?da3uqXu42DM#nt|T3ZWxDr>S+(kuMvlczFSG@`>Hjb&ZK|GvtvEsPLHiu#}D+m z*F=%(b7JY#e`YX{pLX~hq=0cN^VodbVmzJs6P?AKHnmH}4}b#{J9*QMe~&mQB|jha z6*Sx7t_ka#;e`zKh&2RhzFVy4d2URQcB>`e`!{Z98CXGzYVjs|A;e=I|NZ_BKGkRj z|5_E{1;LKErW$&2?Ci|{6L^7&<vO;<59-hZNz|Y|`o_r&{gFY&<kyayLXR-K&R0^T z7D%Sc9S;V}qL1YRRSz9D|DL$CuhX9A1S7f4{ss2_x@aVAgbXO!YnYaH-POrCsczz* zXLFpzd}fG%f}myoN&Rit9C){<hGO*ctZ*p7*ZT)g#)KZ}WeRI6ZT}+JJ&|Gbmr8{_ zX-Zd6-ZGYw!m_G+(aocwwuQ)4)Fd9a>^#qYCX=i3Yf~{ZpD&-mR2)g2glQZmgmC<k zZX%@<-$t)$w2MOOUrb(~TsJJQtmWy6OZA1c->C37g~WX?N0Bj3JD;JNU`+Zn#zdwQ ztmz8rAp46Z8fp!l`rJ?d`7Y+NHNQZGs-B7ZQ_es~`-n{lcVF1N+CBRv0`GKu;8$i( zf+$+oX4pUqdhktY6IB6N1h-a&mRxwApDgQRDLpsh8TBXX#rXiVYsjHssJ!l+7mtSr z$6pvb^N_#-?QMmsF<>gBjz;w<7>|>xc6aZj-D~a5WfFTCyHIpqUpr(MpNY%yJ$f-X zKtWFLNcU`Ks||vfPOI|>wl2gs2L|m$;9!9L)ZukVhFx+U`plV&L7wFJK%nt`RtPqv zt*Z*Y#~@@45-Dbj3rzC8-Dkd9sr77Pe^U_w=`z!(M-wvyFjSFmerwu5^q!wU1kg8k z>DT%TE#!`U%1WY;4wRA9RVdHSnv(30|4NZsE9E1g1xgfre`88iI~(){NR&%}!flum z1P}Lg^N@3lpx?r+v%)D<?Olc^p;-dCcsBaGhcUBuAcH$)3{e)exx;q?pZm=0Zmgi; zOLx<I@#*ryVFJd{SpMm_EQyYvh2PKHdY~(0luv)T?ebac<hNUc4@~5$XTy^Nfe(R+ zHJ)UWW7=U><Vs)3YqNtA3lt3uc9=XF2*#pkZEF9@tHF;>^hm1X+L+k`-3tD!z0?bS z>aA@&`?~#m$hKejWlM-_QLYVuHz7^s%n&oMc6MB%Z}q%5FuWT<fYY0A_t$gRnF9)K z-M+&7YEvYU2uMCB7SUPBw%|2$OIvuG^wd*}3!9@sj9eh6>CxnZ3~{mljSHT%cK}EL z)L4{Jb81ftgm$uEd+Ea9h1EcT-EPeNOsht}jcYFIA>QKkXP>CLFbSLB>5PW%IU=nN z0X_75mEEV>x90tC;SA~MprRpkp9aPa_2s+T1_91-=fk3%g|}=wE4A|R`o+a2jAoxg zXD4Cujyiv%bz%K=odBu2x$7T$v9JEY^DNN~?`?CGljpdDV&T*{ADJ&fCp~1*8wBbi z2gzz5gx^#U_S-mxRqw{=&e>7LHv5OI8K=`79m!PLf(MVxbFGL(U4y@FmaEO7j|*Pj zzeI$6+<*^C+t`QRZ-nmL46wQ3uNBVF3W4V>SV?)6g>NpK+Z(Auyu3+?BwQ)r1-1+w z+owOu!64U`tT(O{5PJZ{^nm^=pm_rfKJ?=pQ`&RHALS{84lADDN-JPiM}N!qJF?vZ zbS8X7xmbOr5)Iy-f3ZI;8$m#()76hEk6HU}9Of^aljLpATEeQ|nQqo#Kj*vsV5u++ zK8;>D%7t@iT6D>6!jl;_x)7NS#fvVvr#3W0m1l8T`{2h_+UbpgVtvm)sFAwK49|yS z#7DwQG+@WSukeUx5k}4&=%4xhIZ-s(t!~jvcTnE)T$cXCt!Ey;IPjm<g^Ndinz<gx zY8E$Y1(|*W%{O+owfPPP?)7pn&k@o@f_#CK=xSL3-;UvbOd#==N{$<lb}^rokBpFk zz(F=m8K3$t7u2V_SMJ0$3Va9<{!1-Q)t24J8kuCK{u`E1gf`#fVLl6&E0mUgp$WSY z*VJ(o>G&R=Y?!1S>!NO7Scnn4Xm#NWZ})xRijx^eR^s_S=~#QXeAiEOv)?|{C|-r; zv3}Uo{X;iWkc0ft%90*;eXm7dFi5i?EAnX`vhd{|B%u0Hg%{s=;lA%xZZ&L4F;^CV zUfEGJ!kL`z{Xcu)KPJ1A+oOUsn_2IqzMhVcJ(A3rL+{MJTgOecxY7ah`J^L(BDCtH zC{&RRjn4(J16o$F8VDG%H&&gVHqwI8RYg+Q0xmxNTJ@{sk_l71Nd=%zU=7A8?<dud zoF=Y|y_A{Wj&#b^bkf%FEy|f}#FQ)r>FhIFHit+`+tP%Gx4itjh@Ra`fb4j&t7z`p z$TVeF6Qb}oR_>by_X<7_OW(Cio}lGFIbuj!u}z*ZLLKyvPNxWN!U$C9`%w3hC){nT z#-6!3fUdtI{kVZO8=0fl5TW+GM&YZlcKre~9jv$K=M-8Ta;~#8*7W|M7}HIroC4Yc zP8W%KrF<>RH4p{RkPDB6%JQ+g|56NhXD?mJ_5nm}ktQmB)R>5020!Gfk4rtcHBD3( z*xw`VEhnco$cquG#t6<Qa7&FW#Y^(HyY%iYW(#Z|T3U^-n26ay-qef{Xh-xe?SV!e zNm1?UWCATzxxhKJXC+0z9<>8T(uHrvC@Iu`x@?s#4DBzHR&8m>;o9u4ICy(*IRnB~ zh57cv@E|2S-Xu7_CC76l2?x1jqrS3Lo8-$1xj!3W`8iz5_tM0ge3$=zneVTiy3$_# zUq(p$>!kR&!hsRXv0$t|tBW_&<D=832+;en-i*hd>43c-KlM<_ve7i0tui+NDCicC z8xcMYYeJcHpatqdzOLQE-r4uQ)N|jLSu2*aRVW8u_<Y~thx>_cnWAua!=4{a{R(5p zrL}eNzSfm)tw2A7$M2QW0BsdKbO-ZV;>f&e4^3C;5W1Lay)L3^+kRQTQIwe%kiW*$ zBvYTesTkHc<b7CxaZPVJH|+dhk`5r52SD92vih7`r}LiriYD6Or^=+kVD{=H3O_7U z^7HS4Ff{=xU5#RmUREmK(>D^3SK^03rW7<^CTZ?bOX7c7h1fVmB*jPf7u5oA%%RM2 z-KwfzFT<0Q6!Uf`vtRz)3|f6)Nsn$=>cBXsDKl;8n-b8v{joj>5z4K-Y7CVY?Z~>j z>aQBUsnyv0c2I9Z%)9=dZF2T$PfGM=_u~eiw<x=YX8ZtU^-H^<P35o-gcG$+gdEf3 z*M|RE?kJTbcaw6q<fjrwnygza2}U&077o~ndo1hmze}y`<x}h*1dijSl}*(l#V{ha zpXN*g5*)TF!z=z?lF&J?FPuJyr|*>&5MYe|n2u~W_y9R0c%tmxeiX73rWN{Hy<76O z0B3l-XLx)lis}zGVUaOQGOE}#*@2fXk1xL{A#KzqHw;ULV#H501+yn#4?qO}@|yD{ zH0V3`P#i?FVqD2chZg(2O0t)|v@+QB#7C+l_l?e*^}gX;1^J#e|9xtC0dBQr<K&Kw zp&`Lgj!b(E3c9p5+$&+N#@nmunRm~`)Xu^jZ&X;6qs&O0Fmz^c(^y<QDl2cqeP8*Q zq$cRUw;3O3b@nLj0AEHW?P`#0rsZH{h%RfA8*Kd5wUyp@&@+1RyF2O&g2!GusYQZ) z`;92Pl{3SN+xZ&OdB6pcN^v>7zNenH($})n>h*8+ygYU7Rt2HSE+=QNC1LTlh7zSF z$QQRedL+rXcxvHE4e~>%LZ!>|pg84xi*CtK{ZgH#c+Gg!fe_!Uv#oCXs1-_eSW^}w zhkv+o*ws*&{QAz=a*Ac`3>jZb{6P;V-gRAcUtiY`WfdL*N{>2{4DDb9Djs-+I=~&5 z?y+l!rkYM=umBEc#04hrT=_wrmOZAc-ndeF$*K4Z=G^Y^1e12I@^el?idda?gi*w! z&*4{_E}Mv!EC|XEEi&Gw9<y&Y-a!x~&b*2bJP>~BQ=rrz=3i)GX1r1G5h&W5-Nn0H zV>9Vh)FI3_p3}2GBODM!yzciC_{HJ^hf>VptMyDw|KAu6UU8OZ4}AnaaNJ)DjGtm; z(2`t9omvxbGYkVRChH43Eh&8F2p>xBVaVzWj2aaR!hvbm=y*~i^k)oygFLl|WP6u% z7-=)IxA<kvYUV~uO_b6x=;GG|5$1T;3xtbLI;1Z0=6|}Yc09H`57y)QHRu=X#13A~ za~vP1W35>AeAmqK&rYowNQq^Q>`yo@@7q@I$<4Ebx3#cs5&s}0EvgdM5Bf{}dwu>S zwu|1dzB&B;^W8Vk&p%4Jd|VKfGm&J4?eM-$1uy)1yi=m~%*+ZlrtWBuHrc7986=FA zyxjSveAUgZNP2=KWlfx@u%{I@s`>;cZijbWS5Yu2cJph2r2fa0syv<9vuw*-w97ZX z)@ALWAGV{mbfX6Znm^52viRwfqhsW%xB57+%Uj`sw7^p#R4pC3&cSQ#;=|rH2Qlb| z^|U0ngU!NYIetS;u4?<YhTm3d<6d@{?C9icJc<Id>fPNcxXn!HzG?l*vu`euu&yqg zikS_7+nZoV5lT5DhDa+2eHu8buzNME<~>gupOrR*d7kF~Ht)cVVEKGOSLO7BN|hOw zGoD9rvX+gc@%GYk3)Gml@(8wa%3tnz*i2jbrv0nTu?ks)OWc<oUP|r@#)Q_pjo#&d z-CXjeGgW`@aw(qacMxDuDstEGHZ!!)JFEGUTsai+U!=Dv{I(8#*q1j{{9PU!{h_yb z73i0L@H-vxI<u=A(#;aPFK{x-@Y`m*3(p(Ts@RJ)-W}t@;4{JQp^}PW?avX$JHssw z_T>vzJDUs_lC`o)g?am+O+9W25oB+mH7M8HEQ7#K2Wd8La?x)bN)}-Q*ai_l{9l8k z3O|(*>`b7XZi!-5y&hHfwF^HNWtB*Ndw4!^KI62`AwbhW0zq-yNy}L^K5NG?U8{B} z&>X?2w+jHzoXjMQ9_Dp;5+?nV+v8vt@)%d4*Ig}7_uR^v$N7Y4J{wb(rpBc%%HmJG z`rICz;JK9g@=R{*rROCBXs9#)E+q7A!v+QUw_CnsT;ww9q~^#Bb@codzDi5D9qBo* z%kMw4_U1!p0h`=?R1-)z$Wgr93hkHp>Fe@SH}CtLXD7pmKHqN5n;7zPo3KS1kn=Jj z%FWXi_*`1H+QlS9bQkDW$;e_+?zo#q$zBloM0CG>KX@x;*dJzy^Eq74g|i>(jA)jM z?aE#fwFvKqSw@QoIB2@0Kf);;qodW%Ru7b<aY!d2w$zgyZSrAoS1I2HHxd|DMd%+r ze&6sj?&7xXtv1O+O-*=S(kK=CftK2WnEMv24EGpvZ9qr*Oy6^K^U^S6I}D1EQhro- zGT&OgmZtGBNHgQ=EAEb@g8M(>6^D&=TVlnzdpDZ3kjTYY@R(Z|f<;-wE87m1GMa4b zM!;uP;8(Hjkn3%slK;oq#52xp3+1RrXqf}_{HTVsdKvOZ=Xu?8WWR=KU`R;4u>AQ# z9$-p}8u&bz;JNr%qPU=!i_><(DF0JB_0D^#`KqRK?@(%;!_n1dODWt1X>^2cG(o3( z(fX}O1*huYlCkj5Ht`K58%J(kg-4RVYI0BxA-=jibXb5F@rsuBe6y-~W_Jh8F$St^ zYe)bIu|^ryHj3J=jjMXp?QE<|L|xfec)C{Vdu=)1$+2jbdn@G{{s-&cSf_Qf&Wh8H zR&S@1yh7Z1rLuNFK%wt0?8Ly48yU<$@4x5B@9*}gI?JvmD%fJ~8^ZDeU3Gp{R36YG z+sxEBBAXs+=+Dbs)AWtjmXX`2IscicZ%Y`QypnA<nnN8X9|D}kbNVbw^N1o09!{>D zUz&Rm_c8Wm_~3=^0UTW#b!!3=B$`Iq*ibX#v11QhU^>{0^~^+Ql?!h%%Z#^LLHpyM z@Iawi#g4lJtPsSah<MYjwv013LY8=Pkb@o`_uEf}N1TnF9Z5lqtOmxp7BnO#-9){8 zCGf1`9)FHUej+98i74;#@ARhJ93MmAVE@5R&V@`9Zu*buw+~vF75*AI$vS^PxZ_ib zI@$mbBO*oyu84@jfD%_rG(%cN1|pCYlViFOELCi4uh0$U4fB-gco*w*=y21JH`Dps zbzXzZ$sMChcEgrc2CnvE6g&z$r1lniCgttXr-C0g1=lz^V0|07<s}FmV(q%A)7{>} zG`iHNQlN!44_4t@oLo#p%5*H-24sd@eZf<n*j$k_@5l-EaNmhF3Q>n8zptHfn3#Ol zrr}z0?7}DC2)Z>xk#2lnV;@^*Ew$`{RF<UrKQEJ(Af!)VPMSvSmzG1D7z4zM>w5{z zIgXu%;!_Ut44i5$|H}Z~Du|A-1FEwYA!R@AZ4@xi3To<jlL+yO66yIn%n<J2X$dxK zZ<}})>vVlZeWw-?@*K_#wAuz+gF^poP=(0abS*;Mk&|&|YT@EinY|6pd`O4oe)&6{ zn~u@B62k<?5g+vS+m?~F%c^;$hp8JV-HZNy7evr7RkJDo7`ttYa#ab57$cmIt+v_Z zqW#1}fkypg4g=HhrSv<Z{7U7ScD-;4QM$<6Dm57L2tm0ypl)Dt^phx-83@Gk_RuP@ z-GLS9^KsxVT0sXuqTy5`^DDo*0TS7o;?qkI?~YTZh)Ao--)BR#6hr28IjpCq4Qt7U zm?vUii*jwT-Z81P$F@cQ3(Oj4!f~r0w{rROe8p%|^ZapHBj(|7`aCLqeRxY4)Ucfb zk&6xXF1lk$)5{5MfV4&9jRJy|3pyc8w%=-EY^U{rxX7gbv)9x4><gZC`lAgU&bg(K zot)i*hr)(6!P0J&v9b-+Mu^IFjxYXh9<dA8js*3RYuxwZa8<z#(&S;cP-zC<>@fUK zE_3yW@AO-+ZAhpvW%C-*)<OSu=F&=RVO>ki{iF?w5CAnX8uB54V+v}H4IAA2zKSUr z{Nbiy*%W925x!B~&x?w0E9}4US1T%g5Q9cH4i8!gB9Suae@AjW-XLc!-SB?b!DlbN zn3qOni_McQIv)2aDY+i24MiunBtfx`omg)F6{9QqMeo*!NPaD^AIZ>L?U&wO&EhGN zxpNs*-<D*}H~;3&Zcl_hT6m<!BN5bR3C%nqw4jeqe2=k<28YGcod!nGGC%hNa=uos zW`9g$TxUVN#5psWf2TZS>oz(<76{*4E9weilLwA5CwIJn6&!o}Mu5PU6S{Aenx$zU z17~OV3R=(#J0Iw6;Vs?Y$Y_cruv~p~x6)dx^**V0L2RY?wPw6_2|P4B20{)37x(NX zu#sh)gnodf;@0I7eWIF%kOD@*oeTm$2-CkKI~(SEo9iP>o4{{uA__S*aK|TaE7>hq zxM3^H-(eo#PD6&d>lLz%Wj#fklOL?lfJ%rN9lz~f-ck88qdxxErd=TPp;EF^-Do=w z!J=2dm9JLU@}{sD;+{7T*1uvI_ry4R%9%xySs3WC$1+iQ`5W*@0I5hv{P5v^(xGZ0 zaC(~LxV)-S{4v;Cz#S)>Q67>q-7W?*YmHJ(7OS27dxgiwq*{C356hL##L+9yRVkpG z7i8e+9#iUHl#?xXvS}fxM1Y#_PsvI|a&8d{t<sdIS%yj_-JLBjZl^U&lPlI4K@8PH zIh!r!xF%px+op{|cswTO^RH*eIRS#|M`p?*aJ}{VJUfB{kT0KaF+ED4{?!ptE*U9f z9^m^Lo0>y)wGYnCd>1Ne6Zcfvt>!i{H)V=%ELgU8t)WbJSIZK#;qD<a>Gdny<ADf; zS5(+P%vd9Pn>>^i=+&4}??na(6TV7!_9mVX)h89RlasX1Yvi84uxV3*1{Yu)9U{ET ze0PrMse=(pH6LxEvgV8Dp70KO4~3J%bDMVUFWv>omIc8b<;*ksjGC#tPM3b@E!`_V zySS2lh7hlD4Exb6<Gj`ksx&jq5Su+GlhbtR+?nFgNXZ{+-Rko{FpZ-lIe3*%rr(b; zzRj|AggOl+r_qfAM~>GW5`rAJ8Rb_9ybpWqKHc*iHeoK^2;9$qHgY0&n2|Jf-SLJ% zd`8<Muue%<)ArIZh5c+~G&0|T)fPg22&nP4b!mr~EEqzrwF3ceyBoUQ03Y=pD_!8_ zfg}d0?G;EfKP_Ug9ll4P?c8>j7Jt*SIq>0QM#K|3U@fsJcCei$GA{UXRZ1d_L-YDa zsv*tOT_%mOo(bgm`tKoHy{TW?uu7uunpM#KE5(bUl|U-qO|2JNn#Wd$?laaGB@obk z2TVZJ8NtdV0Bwc}))z9h@DIAS7dlXHi$ZP&BX;WdvTxe{bE$)k6f0}OmJO-8=<?!3 zfw<&)u8-s{|4z7qS~pS}V+9GuPB^T$*2`{me|Gdv=qK<Xb<mG;knl9(mO(sGcju=0 z(vC3inm4_kwy$eEhW$G`j>c~Q1Wn_=NY7hs>Ql@|lywgGyoxnsTFcXTs}Lo{yk~b? z9q!k-oXG>k1iTKl+)bjPB1;>MH)%DoI)S%JH6O}noS6l9<OE*qZqE;cW4Pn8Y#!b` zEpujVEkNvQQlzFv!u+6di2O%f^jhSfmO!}U)>Frf(pRs%xGf)ePHlxWx(LwVaXwwH zy1up})1Su1YyFfeZf4x@iTiRC<dn@m<+FHl&UHX;`OQw5w$9=kS81(^?LjrGR-Fmm zRPgy};KZ#}k-T}h;rn&6+`TEU`)sIgs-Hv+ep?TMSzBI({N4uc>8~7`;}U$xQ75k= z!Y3(J41x__NWk)v>?)3%>AlCa=;WL{X?FT)b=?JqPzt-svem?a%;aJ$x_*VeQmI7h zPgU7018=-{@5PWy;v`m_)mwW6TmW~P?ns4&+_3V>e@v&MPh?I4z9~H9pH8e<iSMSa z2xE83LkRS}DP?*i-0;=Gh0?aYg}kQ>pN`<o?Y>)tKQ?(8J$DVf;M0Kf7O-%iyfBi+ zkqF~mzNk+PW!g>YM|tW0F;#vVe!QLDnYbcMN_rIt7swr3^?VMW@Gt{DU9`VPxzp)- z7H%<t5M*Yfq}yI|g`j>$0G?MEJfO0kZtS?DUGIK8(=pIJK)|8#^k}gqAc}1^Dm1TD zG9~Nb1}_<{izRJZ=HqRt><JH8csR0d?2~bH0Q!ZYUj|N4hHqefpe~P)-BevhL)7D1 zCCUjPZMA8oo5pp=$c8$mdu7vN{b&h+yLa&~8lvojEpdoFjobe*u|W_R86=HuOl~py ze-xc{Sd(ub#X(S15ClO&N&%6UZf4QKlx~zBb9BR)A{NpJD5=spi7|R2-N=B+h|x8= z8QXsE^Zv^pySSd+_p|#x-*Y}^MJ3T$BY@(M<qbpz?Ubz{;m0bZYW0uH^`9;r3Eo)W z@TZ8oa*E(c*c~=#qjt~Yor`f*zgKx<0Y7xtp!bO93>NKe6x&46kx;-JU*_f_g+~J9 zl!^2+`v{6&mTCpmfrK7gaUG8wjs79%Cr1lVZK;ULy)3WPWLq+MAiu#ryXl*sINyNX zji?Z!wI-n?-#sWfVVFd1VV0&YKP{B=^CuMg1J^CJKaMx5Mp96uU{yYg?T)wX%Z33o zfeaV{9DnUxMp$L;5({AHM2-wX^6uX=zC`%K{HKmu%XxIlJ3clEI3xZq&;pal*~XW( zk-7?0F<y%**$dj-Yaw)+tvMK*4WsG4{;~Z8Ro7H5cZrnT11iUuA5Y<<y}3o2CEp_k zAy5K4uoUdyx=gk>VY{k0dJ`CgvgqPl5a|cyZb#^s6@iZ9z~{^Vs%nrEv^Z<@ovI8^ z0fdxFNGE;<ffRZ&l!MpyPF!+6Ly#y?;mw_Y;XLzqls02&haRZ#fn?TgN&v!ifsWXW zT(eSXhvbVZ9Pcj+WeFgjAFg~*L9Q#<#Ncs}h&R*LkCMxEo?OK7-e)*myXHTZsbALO z?G2XK^(O9VG8$jH_d!5fPIq4*y}r_q|9GDaDofEV{?y#@&*}1%KXLt3V5rbwqo-bx zGZ;<2xTa?0BmtJbvl`GW{gC|OjE^EAp{@*LMQhj^+M-Vn#XLD<HJV*&5{tb2-|lpQ z43e|Fu$$Y1DsJ~5#gVPJiA}kVVb0W~M10QrvTg*8F|F|4mLAj=;V4&o!YPYtp6KX5 zAK{Z9m+$4PUrzuYplHn@BFXRn448<=h8_t#XRrR233RwbX(Fz!@&p6qj1z=~3dLbV z??>`wzRz;YXG?4#>E?vp3bFj7Fe2Lc&FTrl_M5}yU*i=!NH3Wch~x@=2Ul_*n5(-m z3{av`%SOfbBoy}`g#=A6cV=j-d%!V)da;%q$HFH3G+F%hlI$y4`U|qL@%2lqM1$A{ zM?hyOqJ(BlDiRx^dl-bN{~xS&sQdNU?pFB^W<s&PZ(}2M`BB;72e8#sH0d)qop?6A zfmAsETx({nROmCO#4L*|E@$|)b;USccmg}E&}S>otWT$vpLLK#G&z<Q;DiD6q3O+x z^(T@W_u1XC=m>#zlUksU@JD$o=NkChh7ph2-n(H90S90QgKTPU0WbB@``)Na&9)!g z@PEDNaxmFu!B5aX4py=uAvvmJsnhwEtbF;r7j%4cLPQ%jd>vXMtzVQ(dN$aOtmF+< z$xqE=cMQ6Jt|Or61K1ApoG>gljAK|}b+<D_(WGT`AA##R{Jwmv2uE^rtKG{l?Rm{N zcSr*MvoqDo5Uj;GbYpN7{xlBi{~#_lxj`f0fi^@(16k03+`tS!tWeUxZ{r!i-3Ti* zTg`5P*TnLZ!%vU~97SC9owXGN;AfmMSq@U$kZwtdgfm`~({|c(VgBx?^_GOwsKhso zt7C}U%7$KPWDt^AH85kxwdtDl&6j&vIAHiRNYKYazoi*7pSbg*V*{tp7mJ(NLXBUc zWtsgg-~e=U1gswn-A``xHvji`+#s`VLkv*&9Zh6tHj+K-aPkB8ADv`HHMtI#j=CeW z%Mujxc;uqu%11q?tO*FsYri=7ton=ysr6LHT{v^{%Cug0|FoPw<CO5yUJuEAwwdJj ztSQp*&6JALOa%%fUotY%#x9Fy5LE@r))R0E2ZQb=cB8L+KF94$5K7LP{-e35UH`s+ zu5-HSn@D4ty6=0z`_n2yYetbZ^WuI(5|I3th#b5CYj=fYi6_?Iu&;Z6)z4o74%V7n zB;gJx>g+d>q}&hc_ETQ(H0FD?a_1ksdFw9jO9g=o#mWeP<>XTew)joFPv|NgSB0KU z*@^J?3$NK;3;7bpfGgnxGo33kPgjw|o#!=Y3B}1Y13vftJDDztCHcR}3gUa9m2<X} z^FALHS@7EJBZX2H`?@<Ai2<5>PuPK{HYbO7?0R7Nly)rZI-JsC90vD)%8dC#k|fPc z2Tgq3PEpPbc<x^}tMn{5=R%1_#DFF=fx|*!VTlBBAKy6Kro0NCEAFfP!sb2OWIt-C zdr)-@YG>HRv=g>CQ(Ou0$XDBUWj_Z7>~?)(zw52kIkgOTG<i^0H`?=~BB`JuwuEsd zVq40*^O4wjZRRN8z#v#*BqGBFo=0UfUDQ=}|LBtrHGOW+H-YSxlC0F8`xeM@-EqS~ zXrfTg0m?J>s%|LK5NhaRnIYo+^{o)s3u&&VkJAmJic4;l3VBS5iv2tRnW>F+ht*h% z!}V#B*DXieY&#glp}<a8@&;Zu4q$1xLmiiYYDJu;R$3EI(bh8pQ;VpkbkFNSSIoXv zEQT6>yL&H&!`Y-POa4t13wG(Nr6HYuZJuhS``XbFW;Vi+ZPD3Lp#vZB_nl59$`YI^ zvQoZt%C8+BsyVhN##F#DE@($@k+`JudFa8dVE(1RyDfxaFmdNhKwec$5xPFTrZt)t z7U4U+9X@H#v%Jtpi64mK__yktZ1Pd~VU!c=+_n_zm@O;$FUccr@G2g_aU(duE_Wcc zJJ*IQY&u~Ord=cE%)l2oW~*57b~i7tf@E!{9J?rUlY#zWlisqxWX#bDOvfZ8IM_gn zDnTBuqB1}o-2ZH`JVi0yE%08nmXby;p&bv61T4^43(~zDxkppBcGfl<{E+*-zQSAV zQc*oxh8jP@Qtu|8l=K!&tOt@S*5HI|3nEto7SN;)XOX2XbQ(scneug4r)t#$2=;G` zLM(aUl_`PVOlUdQo4Lj7xLH;d+Ko#qg2YiSH!bhV^ftWe>|dnlrxF>cR;9UcT8=l^ z0ym9#IA7fPyzuaIth3wk^DM7cNWi{U$nH=Ps6z(N(w;VvoDDJ@MV%L0>F`)Z_A@Ev z+^WjH&6*x>1h#Fg4;j##%28Ig%hQBg++ewCb<Z@TcB5EyH5eZ5G0`#{-|19fD`4Uq z{7%f6h?e@EOKIKlB94txax`ui=+8T{g;Y|cMVhrFJZhogPAP3Ao>5o4P)0Ue!X6z) zybRCKHI$9ihNjWSEO&39bJfZ`Yu7u^f8`^?h0zXZVD(P4So5hG#M#6-;w`^4idNJf zq0ToFro7*h6acqi0v9y>8ogS=XR>)ki1MGbVHiitP*LDq!li_(61JRvqdjP~yFaOR zQKIj>oy?hHhXB|9gjcJYn9Z}ipLKOc=O>Oq>Er;d32_CVMCeS`vY5WQgzzR3h60q7 zHmzHf@>a1~GR>(d-%xf)9lE<S=l&@ok6;uw7|0Xi{(En>KP<_53Z7y3NfB{<dZsp* zlc*ry;TC`8N%a{B(mv_p&ueRHHxl(ZwN*G1=7=ImP>Z_uq<tmPj03qM`XzqoGA|rV zMz=86cZqO40vf)@a_pRPoIV1i|Ef=k?Lo7Ae_QX)Saqs9%!GJb)z&tg`Xj>J<Mq4( z)V<k4KHKhgmE5UKl<N9W$oSP^W;J7Y!<@_YEULFuzf|SjQI<r?-(E+&i4g_e7?0kL zu$*xJHitlq>7LZPZ^}M@pZv^VB(u84GV&nY+YO;iU^@&im}oXE3l)jPmi77zAOG#k z@Sh@9RU$9oZ%VVNL$t>vZWv0h+1#m?H34s^y6W{`)0SAj$Pn(ZTMduYT{<i0^))9n zLClWJ(&v3kg333WHbNuQ=}({tC*i){SEOhIvv~seeP}ODY|622b1dyX`dg0**U=aA z!|F(HD(?Z0A-N9<xp7I{GG5P5AGBGiPCAJ7x9MW6$iy6#49UK<d(-f+`++KPB%{o> z=gJdtIep?3HX(94c;zd{%H>OciMXn+Q10SP3$$;AefrTEWqI%hIMZ}&OA=<teK#@9 zqwjqT*Wac3T*;mvu&oLG>~E>hS!cf9bG8l$rY6-ojgz-<2SD}{<N#FrA$DV^ogkXp zYtpku>PGRa3*ZjQBRu1zgW;mg$7a>tgFh!>v9~kS^_T70xEDHVwE32g&Y$$0xbd9X z$QC&&b@wW&J~J!6J6q*v97HUVJ`OLlBE@V6_-Rx#OEa=+=m_a<k3CDTSqX=Zhw{^% z%gq>uzFgD{+|1Ei&eb!rIpe+<o#8jTfv+oZ59RIX5FL}=dbPb6%9oe1<H?r(4%)Zy zX<t%NVrx)6IJE*{6ubtPp?kKPri7{S>Wj74-R-*4&<o5cQf%M@lrpu~e?e}9w^eJT zaY|R-9>X)7R>$8*NWXN>uqF@OCB3bA`5MP{e$L%>y<HO(WV9^u>;8MPRspwD$Xm`W z&h6dZ&nXDTFpMoBTp}`e#B9%yp}juTH09k>S6znZ5;N+`MNf{#)j`e2>l&>5xeHtF z^ZaoYzi~Dkaq)QzT(Eg7P>rMp-*?nI)Vrg;=Ga83w!KTg4!)oahgn1RXV+@FnLY-W zaF6{g^{f4o(@3Q9uWADISPuHNxxzg54NXWe5&d}n+=$a*{8h6z(ufzt7|EZMZ?zsI z*^|KV_PJ=?XkCxh%y94u1iw;s<J&+A(f@a4%B0<(-Pa8HXxHBSRd!U6zG2WITxn`w zefM8Xpa@rk$ay!~vea-@0(K&B_cW#3L7DQi*_|b}SsPZEnZR?ppn2mDiTxh`aN8{7 zX!GN8Fl@O~Be7k4Ee&V!86j6K`5E%+CEY9SR&NfAXn&Tnk*q~Sx_7H35|iUd%e=5P z6gv3;^q_yYK8E{FhZCeLBsNH9@{cUy_YZ@-h+c)tGn2^58J3>h(|d?c<f&n+1eBi( z%l`Q1ski+YERWT}2+lc~Yy5XJLR0dB^{S!IEZ^wi<m`;qM=vjFbB$k511YTYmCu=^ zjUKbjwG`fswR4&88DCm9wa0r+cn88+mJ&GS@n5OJ$f)CZGoMtq3{(GiTU;gv=PIT# z7HiX~hahEo!}gnQFoL|SaIUd&I7L&<a(zPyB=F@H9v@o0B*avzFPK9k^u29$YAli= z0|X|Ph)XpE9Z+*kAa|bMNz~C-X<NktfXXBPhsIX|5#t!-fn-M%JFGK0mgf0ZQktgk zYi4ZQ;Qi+{7U6aTG%9FR%G_DCX@Z|UC79IieXT?mCgk0J{C%ogzKPyPPPt%^KNpwe zuyKT6Sdk(~rrZOGhn5RzS%Kwm?XvsPz0=eacKaa{gd;ePBa%R)X97Nvy}A4vj=Sw` z1oq8CvtKP$H4|F=r<0OLjBzy>vXELq2Tws^y4PrQ@R-8ne0a&7D8pzqqvYim5dVYF z6-UEc7STnw46sFm95Yf>sPTtU7wbYHIztW~b55D<(*52kNaX(1%zj<+8KhxDpswKk zw>?nDi6dLHjABdW*T%?<R=c1$*u~C5Bnv(Qq*Ps{{k2l@o=v!+{Uh%g#tJnf>1{*b ziv^uslZxVB4FoJx{GO*bPI;%=S7;GQ0jdZ1+P#qUm?D025jdOWO3k<^luQ^P&wc{c z6pHy?v1a|~LI=Ig%d~Wpo<DReKJ`%6bHg4e{XQ6XTIQ2FI66xjEKU-7F9hY6@6z;R z8Qbe##X1D8$ha-L1B5?7aE^N%@~mCMS!nrH5D`ElINUq_6nu^`;ZqF$*?4dlqA}NE zAd%SF$lgV>iuAe^x;mSyh^?V0GMl05TDqq;ZBw5yq#0idT{;#p25T_+=^6mnEFwiV z+2Be1NIUAA!0O>eFii?BCFgX#+dw+!b0B8GV!ZYE7F_zzFA3>|JYNTzMXodd-o+Fg z=uL2gxReqF0eURcANQEer%z=ud-`Y?W9OFMPrc%D@wI8wt{~#5hV<Nb`lTp+_V;sl zz83!n@97enQbv-<dpX^jO_64=pOKgALB_IF1SNoB;mM}jB8?BjBG7r0;W&}UBa6eG z1yS8<F4*_SlaB=6gNiC>o_<&!uBSZcl>dH?IHucU-QC$z-|Zvo-7&4OeXu!L%PL$I z>%Kd@esne@nqRsUnguIuA4@*}w&7x~ndAK?d&_gzA*@&Ed=2YG#pPQKRbK6fG6GJ; zP}*V5_?-z%((2tQoAZk9?I7$nD7fsFSvuh)PkPH;_{B*N5vw&rT4^SYde39ggkKBg zDDjlL(>K@SSJ5_0e(CVImmH#XpLcLnuJ@|UT(V>ef@d^~09eMvb%sdRYsr9vOm^6t zqwn$(9YlzZ4n###TY|BkgMd37JhGaed*rOPV`S87lXb64HtS6S0G}*?-SX6DYhS)+ zzQn|W=&Dfui)ro97t-PMdHp5@D|+Umg&NJ6(Y#FlL_5uOpZ{!q2o4u-`0DZSf=)I0 zEq$&RVU@gsE|6#n#Qlh-iY~jKBED78F#Qt+ejGJJDvKxewYubtng~yt`;D1>Sm<(# zflKx~C2Tgf1;4Yr<aV-;#Sqt?xB8^*Cu+S=qv#;M7nl?G(W_J^o0g0t`NK)&4#up5 zdMb$GZ+8-Gg8`)|`b?G~+V)4*Otj7D{hQtZoP@Kk7|43X&W}tB><+bc;gU}>6J5$F zmPP9X5T#Dt<;p*Vm|vSd9LCX@8>Zs>m(EXYst}GpQvLFLB}0UY&i)@i))P>P2&#_( zUGap9lFxfMG3MUO_A2gSBMuPCpb&6NT8>Odd^$5d=TiakMm+N$-7o>|EY3Oa@y{M@ z_*#6G<T%D2YBay4oO7-XPkV?yqz@I1eukiR<SBd9Pa=cAXE|!r&9snc>LFU%LcEEd zt~MlX>YeAnegA-ORl()9)59$S(DbHgVer>4INfcFg3#l&G$MKSUU(hM=DUtN)Ub3_ zB1jQz6R|ddRLsC=HD17nIE*+3Kc8r%PY{{dP6n~ru{3sjzwm#J;Mc_P9C$!JXC9pW z!z2DU;t;pfpI5XqTxFykiw9Dthe-D$)lY)nk{8{&XarU{^#2V#gAoi7sV97rzj>K+ zni09(EiaX_YPY-xinYrK74bJ5o=cV;xVX4nkO!PsW`N-qhCDhDXY}}q#$TF_Z|1!* z2;-6npCTRJ&ol`Ov^NIXw4{LRa?GdO*t3c?oT?!Nua?h0QRx6KH<bSwzGCK3#-E>@ z5}OspQ1SHT;N8t;j8M@xKXL}Ob^jAKWB%P>zpN0wyC@QeZcxNXh6~B57kZ3bekkbs zI-I2l4NMx|v18`jrk7B+cBJeN`uu!1Scs!_(YDJ_D78o-dkT|V7(>7v#xoyS$GE2E zXqzbega@ANtjBD`+6Eac)g`OghNsR7Jt(K)61?EMGwh)0zs6v&uJSp(Mt><w>G%D} zx5)XN|7eCPSxs6<wnumJGc4?b)n>#Ypqlm)z#=VtG>rBFk&cEHAs}MUT7JtIIhlMd zTY9g5KD}fqo&||GAgo89h;0Yl-{5M9*KqfD&dDo!4BS_?tm^YK$8Ml9)`Fy$1tmX7 z#pgcH_1-N}lPMr$WYa8ZxkbKmtjYfqc>Eyk1e1Q$K!A*1xoYsihf9O^4R*iMU^MKo zE}b9vr2l9}Hv(5qwb>fx1ZiT!nK9`Y3`VUu9S;T+(KdxR;qfUH2|~&;u34}Jyb<#{ zAv3?;(as(7Mz*3L2Y@iU%lV_ICd!_IC~z(qd79Cc%`vkiY<Tmk3!82s7|R=$Gb153 z=5rF<auO~>?BR9FfCx`aU>l^*6HxC1Ma=8oZ8IR(cRH^WR<;;{`blTm(%l(%XnqUv ze;{r>E0us^l5g8L1+2FWK&Lzwn2J^s-@c7?iO)G5RO#()s<=6omX)qeT&5sw-Y2>G z%L`YYo7+Xj>YdE_t`nbRr$@f~f7{~js&{zl<Ck7lO4F&o>FAeesUU+M5c1SHai5A6 zYq+;MK;`$P>Yg2Y8o^+?OMx~4Q7So#591nW;vXIlfgV0v!sYsQY2XgmDe}w*`Z;I# z2j=EkCA}LgTubo`K;@y0PjT{r*Wz;WB*GC({hGlLy{*7!v>LTH%lNic&nkr{C8dk& z&CYAk)j;uc-O`%<os-W=6=B{O1d!r8{OmXE7x}7qZjJ)?w@#tDCDzngg#Np5su9pj z4IS1L^Hhh1C%hXC^f=z)5+ogU;}RwcrBC)@@ZZ^e!PRj}imo#?4cr=Ghg*+=Q|#Fq zjFn=-h?qr+ReSh5Xz0r8<e`ED710(5NAQ7Td^8n=JIhhb^E9ywsXVq6*cge+cZsE= za%|#0++~xs!328xo1~vV&0MQMyCX1Q;$!50G|`{jT4H8yuwb0$T;iJ#sqV;$W}7dy zO$gsLvAc(`7GT__RBd7rr<A&Wz~rvNU8%E~Y0vy+8wq?b?5ppUQM3eK?KaVr*P5E} zMyh%2-LXbbEOZr^hS*MFW<w*(+@4~ZQeH4K>lTLbMj{Ljg|u9~nzRyrAnyRWQ^CMB zb}eUBm&+=``)ba781ber<0<?0V9nMssqMQtz34j}LVv+_v4`u}jJ0T0lbrZ<b!9~R z0db`Jh+<4<)?lkY|FJ()RLkyj?#>H-7RSty6UFh%JHq8-w)TyYJX=4cgFI!tK?*<$ zYxv3TRzXg#XPN6kLHCf43jNYCDP_k|KA}u4)h6ZCAsYb0tn*K>#fq8QrJp3jw5T>x zgALmzzt582y$I(G(0ZHOf6yIiB`O6%=9XYZUGTs@%30NR77l*?*q1HUVUhp)0k&wt zQ@9+zg#julgCR4bGj}7+fZb+;x((aSGpJq+9NZKw?x6$7)*$&U$Es5h<BC<oe>9SJ z(g9AyJUL;A{J1zTedL2R7)dBH{&1iv+us@%K)Omz0dfBOD9!ATPh`wGY%7f!`=%B3 zB8)ko8u){Dgq5g^xWBU^@L`b}`kgLWQ;q7FTR@}Jas7VSvr7?6CG<fW)ZB?0Zua;{ z3x;9=?A``cRlj>^EA8j!D^z4Cx07$%7ElR_ejuJ!BAapZZ|A*^>dRl4wgHIyYAU{7 zNGK^Ko;myih`4)UW9r}2KX>8>24Bz9i}z!LX07(7-y}GAx=h1hj=6#8ANfL@vqW16 zaw9x!Ln()LcUpcejcS1`eQ+mgCD2zmZAJLN>%vpJQtp{Fz8{A42Q0gby;&lk%Fm9X zMZzUeLl`5+nIBt!%6-0Qc6!#tZ+WI{v<B_pK7H<AOz>>%>|D@?#|c?CHb8{GfZ?S^ zFMTimf>;K`CTa}&{GM0pSoLFzRp=BqD;AZ|)_J}>=~z%V1<ont(sn?FdXySri%Dpy zn-p?WpjO(!kKNqYohNvkyHVK9puPKND`Q98&fc|peqD-SasBIF!cTtdSiW#SUB2Rc zpw}kR*{iBpYBnzdpFsw?Z$!pjt?H8#u?|NG89a-2b(t~17yY!UfGxG^b_54)vGPQp z&q62NlE;NrLWK`l@G`4h4E=I9cm;ngvkW{?B(V$rxC)WD*PSYZ!#&<NNLejWRSp(Y zRi5c>P(G<np>s<1w7eX(eJE%B>Bj}e5UoY~KTWUYyi5}B8U3hUuFm5DwBn=bw-;6@ z%LnGxAN}6tN4lhbc~SczcV5I?=TXUy-nHQ?M78t}OXHQbz00pRA_Z`Vw{q{LvOvn$ zIm6(~&3z5iHIIEB3^O1_jHf*%Fd2wI;A{c*gwCWG<AEJ>2_Akf1Krj726_wIbj3ik z9iNUJ-Ad;|$FFdYa?L$Ylen05Lt%fop7C?)o2!@S9F><(lNv)H<6x@2*-1ExPwE7D z$}qVbE8@tl6OTNpEs9L@iwd6d%ABTn7(G6xYtz!)^GR{Bl-&rT^4C;-RUl!GrBn0P zYyz{>9$#^W8Q6Z#%)Q4op_>zUF)z@u^ZucOguwgn*qSVN3!CtgR`*KWI!R!p;r$&I z-b>O=(3yh%M-q@;X+3M{bgwO|gWL}(nD!RvZ+?N6(EPpbPbdPj{=zlwTYiw-b<ism z3f<r+TL^uUu@IittGA?=;@Ow-<y@`Aps1-p%{J(-a3(crHzc%v<bxIpYDj?FMhr%z zoCRy8Q?j*q?TL-ZKM00)FDG>T_G&l2GCS?7{d$;Ge)<H-oXmRt&+G<KC*Bs<2$uRe zR=Xn0c1~QDFWtCWJ7qL^4~Q1k5cgjxz;pOB8f}K)Cr#9E=Q4rcML(dBA9&d1{xk;v zL4FA9Y6%VVGO+?)46Y$aFf81<A@LU@-;xD7Xd)PW4_4WH{>k^eO&GQ}R$&~b1zF%} zG_>s{gVX_v)<(fan^b)ft}ZzrBeJ;K-ED%QJw`KtaOOm5psFb+tnPKjCl%W{o`Qa> zkwWAR8>(BNgLh6kZKxj>#1xy>^7em1oSPa(i(=ZylN<qMAMp<rO8G$H^So(R;tFNP zN+qA7T`j*!3ElFm2nwU>9t_{wW0GgGkI+<g;PR|Y71NpU^R0m#H`c=7YIeYgmU^XN z&#^6IC2pQDX}IA15mZ%+jKeTS810^PaE5cutP7tat;Qpyf;h}G7N1u)?-^&qVcvIS z@ULEG8apNS2=fbkRPp@#gHrXu#9S`In7`S~)XQh}S(ek!%+p|7*pH3VP#cbo$D(B_ z`YU6y?5^A>u7iCvw|<kYxhpkH;LCqBsP1>5d9FR3y!ra47Z&w)k?#&|zrw7q)ml<n z{vNg!>v~qx22!%&e3YT00<h|hUZ`ZE-6!cS=`?|+`EsX@mmU+z%jSZmcpK1cr(x<@ z+41`Hsn@+WNona8;R<osC`2YuP0rW5Frny7fYHkHhLydx|4s8eHt8!}CVI1CoGLFr z#LZk5T$1HlX+>uMCoK6T1;O(NCYbwlLIgSu5^yx9HRmp<!-S?JK&ui03NpRaIC|)p z+zFVXGj>W*(SigBM;e1Pxp6%MuM<arS(8at#XnDF%V42v3i-~0%&RKDHG>0y{NQi~ zxB!T75ckA%hBj8}Qs}Gges<oeExV)M;8dI_I(UykDAeU57h6**UXjV>CwRfTu8E4- zHH;0-ZqD34Jk<J+=Cq;00nx5SX0D3izFXaJ>b$_nXH4=|omn2!5<Q(Vfhh?m#Y#?C zQhDP^)6thCKKmX-mFBI=;WZlK{Y_I#z&G@_8slVwhiy0E#xP~cBEkF$j~9D4gU6L) zvh09=^6EM15OuDxj%##mZ;^Rc^O2yvK=^3G`F^z~#_gm1a7Z90_D=mriBB9EeH$;i z9}QmDdbuhw=c~LUTPk;=8Gp4R(sc=2gUPP&%1!v^V|r{2)8AK1VEsDs=U(TISWzFD zG;<~}l9n`|&0yBJE6|=9uCBbh`e)Gpj}7jlmxzSFuL3{cZdT6y@y@JYAD0cU!RA{m z9=FOhn%=()NwVC-YYf$i^4&eF;@yiohK%{1djEYzSoS~R{bQgKAx)Pm67AD$()9Tl z(h@{4V$9*fHLDPAkhK@CIh#~{0Kj(Y!Sh>gdgIRMJ>iL<I-c}Tujb>dqp`Nc#HV)~ zlFXykobdTOOuMqgXC<4ecc#DR7x0;<HCan#SHNcyluU}Y3e=LGXGQ^YmrQ+cq*<ut z$H1=&!|!KrpNbU>qMxO~!B!dJQ}r_%T4<#-bO!!+58u1ZgN+j&HvFBR-Awvo_=yH2 zi^kyXsHIh7b8!`ur6~Nd-9*zUFvpM@u9(+|s&qHa5qlKJAikff>n_R}kZ$OJ57f=o z7a)rxE_h}P)g6nP?+(8k?9AfvYZ>6to-JT+oIn-)*{^vU%vT;X%bz@ZrzVv2#WFHn z7j_5NxAX;6R}&LZTv{D3!O^R!xoRxG{5dTluymC0>BP=4F7%SN=?$CbAI5(9l`o|j zP8o0>KcCpP{5xeErjC%M%1j)wu!W>_*lZmZpM<T{Ad2lPwO&f%<a$&@V)9=eKe=`B z#+BFXmd9Q8?~0<@01#|mzah(q0t1P`$F^ls_9(1Bd1qh`CC}8(9ha5A{0V7Np4oJ| zw3OUh7q^KXS^hJJKmi>rX91Oq(b?>P59>Q!8rP;Qc0FG8IA41dMsO%tGf@gm>h7z5 z#S}Co=ilA1!LXZg`Aa51s^hnfD2T^yp||7p=v0U22QM@cN)!wFZKod#r3c157r*OM zy8LB_x+X|_;4DnT>>J~4?(AB61avIi(B_rlo7u_cvDZ~_y7#S0xX@oV)Y&xdZ|8Dx z;+s^6^BUJxDfH3k@37!#Sf#>oO;ud;$prR>&7%_GDBFSVBK)r*`V?{QtBF@XrCRZ( zY6LpvXKvK(W4z@JjEY=qw>Z~;qJyH^kn;u2?zd!1<SE|{b4k8OI!|u2Q|`TET%<sf zc5BhkzDlnrX$X(^j4h)6eF|l#Jlp?n*MH%7l$x%zZ9}fxD%hGHMd|z3OXayVr(!B| zJ`6|R-JkH;9cqlL>{Q}BHvlgkS&4En?f+&;B#M4pR&Z0vmlcoMH0Ya&52~$EIW!NR zp5yEA)1BdC!FVmXMTrz7dq1(?pM$m03Odun@UqE^f-Y5y3>yB4VI%I5n6K%|VppTz zoZLS%27R2P(N$q6)^HbiXW}&kQcwH2T?>hb!9ecE4NM<C(=lG8Oy{T_A94sSIW8Rn zk;vt&DH}@-mzyHLxF>%-Ap3=sns`#Y3_pY2ww6hx#1dZ#h419S2CG$-jZ1nOzEgB5 zJGR#)_jfKS&ZYEnY0zO4Oi%v;*O(78C6;cpwpsCHszTV*h$d`J>|W3!G9nQk!gZKu zjM=4ePQGszuO3K@&)Z$k0FGUhP}&=8p;Vcka9<!UT=FFYP?LHt(dDo>EFO^p%HQ95 zzg4eF2h5e0A6&gG%0~eWv(pN@Rx>=4rG^9ej+V+-+2f>KJ?a2wyYcDd?!r#!LxE4V z(}@p+;C*zlNB`0ATBc@o<6XbK(?T+uL*SMYxTU~3x5fBB`T-q4R$>%4@E^@X4E^Bh z>Ej1qWnbP+ahc0GugFuSKu`ZPEmzoss%*-G*9y0=RTNfpnIL;tF7(vArGoV8KSuZ0 zvPXg^gQ2NVm6n|)z#G+5Y`TH#?;qq|F%RrnqU;<{c@ggoyey_n%_{y%99uNlUEh|U zA`)%egV#wv#W!0JkEY$}WjAORXB$flaA)2t{)z~|0|zkT9}ZoDgZJBjpL-e4&DhFX zGE=TMku)-p)R*=8>f1IVc_Rf)X0-+pNozK5+U#-|ybn$@CgiITxY@^_r>#X)1X&4O z0D;eZ=={dZ7j%M)S#yBC_tKtScqcr-&0GkFS^Io`Oj}FtI6ntij4SZT?DXX`PwNCp zxxs&|Hl0nPtsRQwDhGGf1;ceIN!QeefsC=tMMV!Z5AcPxGg-B*IoX(=uVwy9C<}5} zYO{KvNN1LxK6gThD1?jT8@q^Hj9HC6tA!xbkGzRJe>H2t`v<`O<x}u`_o8Tj7|;VX z;9`b^nsp~pN+f-<-uL%C!>erq6i-5i=HJw>#q$lk&Mo)<qlt2LRA)_H#t5wDBEwz+ zI)%_O0)KIatQeWUc)v$QgEFyN7qWr|nwXp0!Xn+wYl}dJk-94ko6&I$-2yjsb8Lbs zcB`0*FgtS*N#+}kh@#oh&`V!80UIn}?LXd7yi5Pg_z~0M7(C?vDd<%kOysX;LMgg= zd3<X5$DL2??ke4LA!H2cNG`~dQMA$W@Nw&i^%s6$VhWZ0%hZ?P87Sfayv_c-d^7cE z4bziadHFZ*t~%ha^Pg?G8pu;)3p({4S@ww-B#w-tvb>CSbc;qP&^nG=F#w~q;v>P4 zNFoml-~hVM&7O{VpG%-_vc&tht#>T9|D#do89p@xBxt1Ri-GT3^gb#?k|pY9hQkM0 zix>CpGie_R5%3kST$PR|BZFmEnh6a~!bkiB>JKVM%KI&cm8@RdzhPVd{#@r4nUT0L zq!YS$(0#_<AcCLGHz-VVfXoE!j0AMVf0e*ibpcAgd963h1e26I=dV^#3iiG)czu!H zIazfM?ukC&wY8DPe8}}5^v?TWTo({`X}lLCBYb#BMr5<bq(H0ehHy>i|IrMrwvJ*S zS<Ojbp({dzQf&*<N>3;ZJPEyLn00PtPS*Atyz%~HCz^0|i@WI>ShMD6$>r>zD&c)C zyBk>aqAk{>)*Ow%%4NMmj<+OaH``Zqd&|a8_;pTJ(*>*|8NLsnI<+)&NE9yBHXW^> zAS_j6Z!8-O&w5R)Qz9AMT|Lv5mn?)+vMYw<|GEDfe(E1HkISq8yv!nu%VS>r0Zuok zY5IuW^QR}|ivgpPCk=5%IA{b~Jx)zu5L@wut?z*)iI$4U_5<Q=M`P>xl+LEVFysI+ zVEyHbt4ukko8bV8!&2i!s)>j$Y2i#4{##vWu$ZXk&dckk7Fccvlt}$EbU+^}&!rjt zQ8KN{^cGG!0xY@})^(_HQ7_VFK!BrAz+={rm9)ZiQway_BnyK)Lrf+&@~7Uf_wmZo zi$G%?3o)h-m65syr4~G1ur~+BJC0+sSu->D;%J3be0zE{yTcA<Qs9*Vp*%M;VD+)W zdkhTp@43(3tc6h!fEW5X-bm)|ErdgnGi1ru_GfAI<F47a`06IFlMN}yp5dl|*9yN6 zRfYZ?bYsclivYs$hzDGAo(sH-Z}Gqv>}|XpTI9lj7Y~vMcCj;0&s}fGF4pHM31yJz z@||i8*`kJzWY@vM*pI*?Ub*6_mN74$fBHTANK*|EaUgZGb9Dz*njQBEP2UQ7Uwbib zTvFTHA`}(eo+a!u*=7<y2b%-BvRN~Y|382H*R8Rs>M=*Zy3N|AhmMbQ3mGDRR)6#P z+nTKzs8$^GwXa7h<$xB)aM%WPHWpIUfULWNJw4A`nx0aEv}KSycJEN@@V4PR0+f45 zp#wvUy#{_h8tLsdB?H6*#4uTW0Kqp@J`LbGB0<1(>WG49PwEFv{w;ip?$dux;LQ;i z$&0JCY}z{Dgd!XYvgKB$tWbXaS!}VfG*hQxs}(QB!iR?Ntt~QVeAjDYjEAYb15LkJ z`~J2?TbS<0Us9c;OCrRB#PL~&H9#<h6vo}BMM;b4-=3l}Oh=rQKpJr$$Ph{a`y+el z<)Ejmp^x;>60ohl-LH5~oNZEH@e~Db-Pz7+u5ev1>R<9b=Sl2n*q9fAT2F=^kz2q| zYEjsXbww_bX!Uz;(MgFNt4aUf#xuhuhATL^ymHRN!uVKW;B@;@V&znToW^7SAhc|C zp_AklS6=39O1Ndp&0NLVZ9Fx7Eld{G<Y}Q?`YbC8rV6x)dO-ya6!on=S{E~#awfZ& z<-kvwPI{<Wh&XSC?FvVS)>jp=;b$*1F4Y~-ztZiSj^wT=K?j#jH4(tX`heiDz_EiF z<5@;m;b@52bz9!KBTdyKp*P)%llo1Q{Xb{Ou?{<h0CebeXz<6wZ%CKg@K+yC$_#P5 zFBYdzL62Fl`edXX`!pS~7dO<Sf}xrq+emmgf64dDo10q;5o{m7AN2?_!GSOXzSWjf z+Oyj8{1{H~pKX^gjRBgw9iJ$h$a*S6FQ<65*T+B5I0R;vi`IX?{0Q2_^=kt|oyPP@ zM{B4TVVSC{TVOEp4`m_Bg%6`T=J*o!i*s5}aylh!w<+Lm<f+8g=I8l@tN0q$6{98( zulnP`$i=yFEzhr$`$X4J(342#1$h(`Piv*OF$v-5OWxD-v!fs?0IE%5>OLGi@undB zOd{c#S>VZ<v1Zjor5rk~5InJv5*wZboM#r1b($Nq6;+J6&ZDnyk*%i@Gpc+oET_*d z-1G|3+=Xkd({ga`JBv@ptGmA?WdZb^3D~-H8o1we1R7xaz(u^Fr-ys^VV3*hFuLMp zI4XE-Wb9een|R;&hx7oQxuWooq;Mv0m(G(9w;rw$+IzNHRLEV|__Q2DZe<wNL#KQu zU9I!vlm(Oru0FbdS-6h<d{wor%e*oVAr@(PsQf)$aVuPf8kTJtj{?fg+3aOMYTwNH z^M~;PI9=dN_mC))4{QI=B(iuJu+n`F&%|bkV!d_e$lSvdHRAX&N~Sv2%q$ExO3mH1 z-V~_$6Q|pKoE9Y@Vffi-EOJ)QRAYH_S@$2a&-W~v`a3k6`p&}%9f7=Z8}V!gKfgG0 z!cF}~@oPH>OD}vlSxn!22qIR7jT0X-3>b~WqrC^bx9ArBqp9=!72<91ZNA#JszkwB z?<tgXdlT08nn$p1jwY`Df{<YH_S4<tYkzVlJauP%Yf@~`QVz)QouU%t%@yA=8x=K~ zv{<(dMNXJS;%79BZ7uD?yT>Jiq5jeZrKQ6#7;n(X)G8$RXS?^M`@Lw9{74r1G}S@4 z`S7Qz&v5wN5`Tqs?@uSM_CMl(mA?>g=b=NHh|robw+p9>#7$~`N;gz8u~kld(*dc? zl^q(H{q77nH&{dqL^)?7PQ*OXYfrCE;)i+NsajE;67tuByk_2xiJrWt^_px`99Gyq z48mf7a|lpX8`7(jaR5_5<B)R+Ky1`afFa+8-l=;~ZK4Sd<1zk0E`E{SIqe3oWc(b6 zT^L)6zQlO#mo#6&e)lTbG4|MV5P$VXwUHF;C$uKa5jH%gLPs|!YG0ySf_)wwQ34(8 zJ2a{gutb-TRQF^$Z$<(Z>}c=#g!dEpgYz5hHufWFinf_$5`oQ0+uJb7*K)(9#Nc$f zK{dO}LaaK@2mUuD=Jt7oH@aF~pQ{w9>WB~eD;8#N6;26!_f>jnWbocrzv$lRJA<5k zFILQKR;FLD%}h-<S#`nV74`Ny&^LCo0coX9ydpBCkhU(AzcSosmRga0JI1ONr#Tkq zt*{Jpww78<x;25^9{q9@8wByl+{g{`oxf9N{!SPv!j99urc5nwf}*!En|bqmj_qnX zEqk{*jxp}FDSz;s(aq|v>_I^%YSC(y--?L%p(d%7Y`)Z_mK=$CDcJmbk)a=@edq_e zFPadVLlULUzdrv3&z@;E1K1)&+RFlN9Vtac_VP?v#qsP6XfB80JT!6)OIAPiUd(2B zGEsS{#J^~xk&lY<kY;*DIK`RPw@xtNe_K0X+gsT)&ULC&(Y+j`$?40#M!&-OIr<!& zzr9>mnY|u4E-@>&1Wi@M&DPXW5<s!?0KQF2I`hj9i)yoZS1)74Cqf<y8w9q6RFTIN zr)|1_Cva_eRZTuDiwM~jsY^zd(2w85cemxTt~4|z|NC<AYI3I{XJvKi@@|_~{?;rg z&*NFZI=0cqGzLCi;c~c!kZ_U^A1}IRFRFAzsK`ZRVoh!5R;nWfPKW0aaoa0~y;2&F zeM_UyAKI1~$>ELEHg?RK;?2W9K8%@xy&AQ$b`46_W~s7nj_qgKQ}C?~WzQ4$v+!L3 zfAc8cfk&V<n~S)9sbpOeGg~S#Xm*rKEx23~zMmeheO|JbQ{;N?ahmr$<v8iIjc&>y z=T=K?-KfH8VVqFB{rxr8-aM!hlCIjjS&Gu|YF#0wH&80)z+LFK-+YgbwZ+wfEZ1Pp zg7Ud(VdUtbb!DbCU$dhHRDA%_Z`GfwvlA%(yoB>V8t((uyXdfu$k1k>Xn5D4%EUi) zZb{(j{UyH;Rc;NI@`l~npSAi)DDYsyf~aQe^PZEk+E*yUC+3N*#`<`<hg|eQhni^T zR#lCKbWwK_Rd{`dP4eO=ldE%HL%LWGE`imIpt^11FJ;#jGBDGlui^M1m1C{f9oeEY zO+|SsPr~u=WB9u*PVer=1*5RVy00H@x#cLuYc9c_%6z-woMYqik@@meJ%4>kmPQ4l zyRbF#2RAXiwz(;g+<HLF4kE!!kKJ~)3Zx5;QGX+a$lALFgCEg>U$xz+e0!Cj1HBbI zM)EC@i(s~HNukZn7*H_#>kBzjVrrq4;@6~Y#_k`%DytI|M2Z4kBk}y>kv89qFX_*k zNh}nj!tvR<JR^qT&;im0!Jg#@=4C%%Xx{)aDxAU|>S>8=@C!G6y4`fHIomQ%;WW)O zLMJPRvZ;)1Sd<FA=jX92y-ODOxab-4VWM!hrp-^gGR9OtpG=w}CybI+^Y>&JjI_^H z+`O7MYgh90hd7V?Mu`@Y6J+K+k<_oJ6$^u2PkYNeyMK>}%}9i9O3SQ_Z?zKcqiR1J z{;k#ht5Ki*@VzxIB*(XDf71n?&BHF3+@f%30qM0Toa2JsH@Pe|jKxtlap(0PIN?qU z$d*GWxZiX*LI6H5z;x=hxNuw!7~5VEGXm-|E+xpf`NN7fS_R)ozCc--HQ#S7aL=<R z7~T`Cz3KNp$tEcDexBMFAAkJ@gBbsmU|8|VPAS%CGim%&JGRTsOzaP9OofTU&r!ov zqw^uqe2f>-bt&QQslTTNto+(tL)*-$3ZuX{W8$+IOJzALTl-G>c$|8BJN-nRDLB}N z?iTu8!E5@|kK_Xtq(gz_$LyVuhYx2rOq!~}4ju)isPnT(Y|{MhKRbo{W6mB0&-=pc z3;M^sIo)u^gTfI2e&!<6>B^%u0mf$4vZvAk<Kx~D_B;&L-*!;0Z?^d1RoWu$gD~M5 z_OFo(Vy`VdDut%b9iuf=Qh6r3?nY4-qwlALo&O5{@)Nb()Y^h8A&)N-I2xSRTvVQ# zW&F6B>N{dowB-pgW~(_VZxudnYy=5n2c`#%x4MOs!QXq2+LjKeij<4D_KCAVG-&x$ zpnq#E6GIHI?s&luz8&%^C5Po15Up6q?(w(40?|0hcP0(DqLK~Bd7zv*-`Kz&zV++b zM>~Wg{#%}N%y|uz5Y_K~sF{j=t}D;14w7|dPZt^ZvoTs8thY_-rytIcRhM;CPWUt- zKj)6nY40-iZ*o7D^X^g-YrECX#K5H6n{{J@)**VtBW$>R#)eP1Ll%loj%d6(yzr2x zh9UiVb(Gbi$MaUQlf4b}e(1lX1~>asi44g87LLjrFjD~R8aTjX!BusHR8tpC8mNC8 zzU_FSu2j0`Z0H21g{QgLep*Tzvd(!nq%Ubzr{6mWHL_M{@@PHonDPRQQ%FE2q8Y$y zjU)-kJqmK~zn1pQwuH9znGaZHZtkdp2cEm&u3TDk{<Y@mRHpY;|N6u{t)<{&A^zIv zbR__y>X>9>`xfot#8OJzjiaZ_{qxOJqWZSGiQ4rddKKz19R7fgm->bM@m0l+29b<= zR44y7FPdXb*&Kwtz8BTv=7J}>#@c@Jf%7Cw-w@D#VSHIKZ0~Ipi|}HBsDwiF%(u}V z=d{Z`T+bSMoKt|wrGKpN(fW>UMQFsy`L{P;_PcM;T#<Z0!<)5Q7)qSV$qpM?N++`j zvS!^l@KP0c&8JQZ8lK1q#_a;yTC=7OZL(}v*lq~9_dC5{EIec_EF58g!0y*G!8@E) zXpV_zObE51aKO*@@F(p^m2)>1G+IOZm?`<vA~6w+_M}N<9h(z~aC@^;bw|MXa<^6s zf?_r}?0R}Tq|T9DgVCqs)#r{zQ>74ry(58$9FWaicW3{V&-$LbM<!Uucbm`;$?<oi zD^Q+BTC?OpYV+`+^yy1KH0WA{XyC02A|nA4CM*wNcXqN)kPDlCQsQNJP(Xyw5trQ* zKuw~s=jRtImfMTV^jqodtU!BxDg}aMQ(lLK1q;sMhKwy6A%v#s4NJh#@>?wQ$3wwg zV`c_p3?=MYy2OzO9}bKmJ+_$F7i8^@2qY)81U=lynff+<YDx@`bjr+LV#O8}g3pdC zuzx2hT{p*E`u3||R=rI*TqILDZ~`^^m^l~H;doN7_`NGQE^>(KV$M-nhE1f!e>8Hh zdKZ1lfSxP)(>-!2aBR&Nt$EnYTX$u{mkQS;KEVP?)?<t5npcy(YoOt<iA<<lFGQhn z+vbtgQhc_`;%;Rrtahie<>_5ON2;Uff6J%8w=EmLxPFFvBD1=r9TR;0N@95*AEFTs zuJb5vnL(B|?o-P}g;Q(Eibsd!&i7mk4~l=tj?n%FT!B!&x{={;|99reD{e2H>p!LZ zO<0W?raA!M>K$ar3ET+q?b=}myTfM1cg%leO5IZjgpGHeLRw3|7`TT(>7FmANZS!@ zdwnwM4_hIZX`ND#kN1DAPGJ=51PuPdEeJwt82X*c+&~QQ_mg9*MD0C7hZJCeWO+07 ziA9TiaEkM02b~(Xs}l)TD@zc`c8-E{nX}xwpp;ATN;6r-tLTS2K<M@86d9H9r-h|B zJXxd3?~?D%&i2D{r~yuYO1l79fRiY=0Zdx!ReTW$>1eb1IilaPr4yM;Rw=vh)+=}n zTrfd>E#fjQ$7kGT=v1I$r>o+#+k<Yjw*$*54lWw(l|fm#CINFERP55(lg!_ZbWlGm z_t1yC84$3D6+7SzTyYxFvt1cE)brbgmkx&k??cBdZ9z@@syr=6HS1*-SET88Q=QBf ztEh1K?lX?DjOu@#C5~o<qaTSuPlAdDHvpmJ5kur*XZXoT<+fkY-qtDn9?R)n=iYmw zg0I66S^lS{bUY-#;vO)@E^H!EzvwJ#mQtCZGPWAO<@!#xp00PbNM$E$A?psd^`v@g z;1(L3eni#15wS8l-9;<)cI3EiD+@?LKnoscqL23F{i>_&hq?C<G5Mog*>s7Uk6wd| zRfqh4?~KNTctbQzEHJ=>Goh3joUD%$ergz6?RlLmv)PN+i1jkl@(t<u6YURw1tkah zwWJLZ(!GE8nUAAVo9yvaz1=u)myKde#~<igev)Ctz}zB3k?0h*0)9zArhJj#%46%; zakvn(d#sUB9}_X0VOY@mA5G)Qc|zgBxZu6PhKF2zIW4|9n!{%rmVJ0a=)e5j8AQ^h z?>H7$;SnumW?((G_>)#p`A5sdyUAqzj7BgDSTP$b)DOPu>%M32(9R4=xG|tO<4+Zm ztS?>KOX(V`oG)lXv`0F)JO2D8XjgTu{&-cDcu3sZva8uzvN4iSckD+26O5>!n`m0Q z>#~WmJEsD^R6mJyXTANcap2wjY1DR>?MmP+)2y6^O*lyWPf-`uF$s>S>?%kd9f+T* zmV59YjVNKa#K@}n9FK6E$W8Lsm1_^#l%qq>YN{O%ACyBufk@HQOw+e<J1}6Y=dOhD zq5kB5uaOzZYYqKP0#-3G7E7YG9y~IP((>5#9a0Yj7ACbc{g(&S#_rR+U6Ju+Qdp#Y znX(8c(osmS(lG}Eq$_RCo<uK}*f*(kdtv_XBG%r-nfxs&NUf{8zDcvH(p@|(nqVU$ zbql+P-Vkl+_1+p?xT#J%&9VWK{*T7^+d{fx`E(loO@eDt@f3~IJF6RMzlElD1t{JI zE2AV9xca8+MzTF5Mcp><>8Oec?U32xbl~dV;zWtTvcg0{|B=p2ZQ5u@NkB}p+$D*u z>w4=(o8TWsh4?9Xd6rzL>-{i)U?YKt8a50JCMLI43YRJh$_WL7Q&rwjx*0=N?YJv1 zx(gYQ^QOjfS*fU$6BA-3VRxn4Q>^J#h(q2UXmG5xJzp%BE!5cT#`_^vq4@l(Bm--; zI1ZDVWk-%29CRf#rTbv;PsYkl;jniHQNak>ksiD-Yips$P0Pk11QF6m>0Ko6Lep6v zvlw6bV;NkR2G^*gCZSY~jSjl{@S#or(Euy>sENxh{`v_^x}f`ta3mc8eTb9_Ji=lh z0|OJF0m+0@heEi9i`Sz%Qk=1~zrFypQq(_PYmvXTukd#s-0F=pbMc~UIO>u;3#^2I z!m)>HUrZ*gDoQpid~{pQ@&8nX`PF^TNa1g7vBAl81Yl7i$38)%y|<_KFv(=FI1Z(^ zl$Eb1qVN2&iJMz+QIv~|tVwK5ULNlS$^z-nQVdSeMKj2ih^Ao9IG|oP+uK(Tf`HJ` zRF`REitJpN^KyJ+V|h+oC3$~I>5H07O=`k$wgBX&lj%{%jAI&U<IoO|NIEoH8b0P? zZA;2fm<2nTxh(C2hAu|9R1B-zOb_+<g9lFLknH%erR@qN{ho%O(}jn=IlnJFB!4W% zv;a>6c!elEZ-fN^)mLPJ(^tgWczwA%2GA;IwC+Rufhh2#kfwB&A3GSo_nHf{_Rg{C zo>CRDM)>|FMA3qnOyHR<cs-JVIsLw;lX<;mjMYQ>ecEnBWN1%!No9%lpP}^`dt3Ws zS%>43%{pp15J#zfy>v#9cmBtlbjA$g>4Nks#Fs`A^^c#Q%|u>o0h!bwQupfx_n9w~ zbr7U!+&7?4T-p_CEk(*3EizF;+XCP1H{`1IK*ZX020DleoeFt~1?ezt!7QzWG52@b z*$+}24fz>&H!1l}QL@3?|8aEg;Y|PUA6F?lphS^Vp(LlA&lcqzLdZEe=WLksgiacA z&T&P^VV1+pd6k?Gi(xV6^DO4DIn3<ydw+lbxwu?**?X_oeLwH#{djgqWnj-xDprC= z#nF>5*-BdtBjE3xw{2vu5NUabN)xl8>CYa;Kd5GBSLqc(MxFpx!f8#rr?MFZb{6&a zvlGDIOFOc8hZ0eaPjp<lMkYA<b$HHGatHie5(?(20NoqE<?Xkec4UGm_tRSBe^o#W zqL#7!wQK{YF`ySv&AB&$WWuV;k;hQl`YG50O)cLbA|rDDGc$W27>_m;KgFvmvJO6c z@qri{_wa7-8uK23utTk$t*B{1{wQss>UsHnjSGwnTZ5GO<V`@KbASGfHS{@Yd8%T| zROZ>)BRzKzU#epSF!wzQ!iYD28S=zN_XO*W3zTRo3r1*RlAomH|61i9|7YP{Y#iFm zEX#4rG1ps+z$1F}QubB+aHqGZNAnJ+L$d8Z{LpQNz7^LN5}!qr&N;^P=3Aw((se7p zUc$2pmVA@6<hu9TVl~8;+2UGs)2YUOx#n9rkkc;P`Xj)|%6w?bgzS+Iyo=W{<xBf- zf6B1v7Sm-X+M+bd1RmOtxo_8G$;-Ym;N(*t*D$I6BJo}r*U+n5Y=k&&{g7~jKKL`% zM+H`^NOV~w^O#Ky*`mat;H}7Z&{b0KdHpkQe!H#+#iF(;o@hzmf;A!g-MNQL&?|k) z@1qSX4&VRB6yzEjOul;gL6VC7K+2?C30NNpFh3!;j0y~&r$yi9)_JWaK9?3XQ;<j8 z)3Ow@U6fUn&|IC9ag+hjAf!Fj)`8b8S#9syK7=gt?8Z6><)%D1Dy-`~v%+#F>7RLh zD=I}waW2Zc{XlLd*722~tMcH=LlyVF;iWxk@GvWucS!R(a1H-;NBt(M@m?H82%lDw zI%pN_XoKum<Y@Ppsqd@7FL^<Vr0@+h7me%l&BsI4QSsQvXy!hR!EkTZMIK>YZ;!CM zoC;wtDla0Xg&XdUR9FO?!(JRUx71{>6B^$--AJsOC^gMnEi}B%g)AY<+{RNumK~S9 zFn>?a>5fdOBS1gG@HQ=sRzLY3_KHQm6_j!BLZ0sX^Z}D+h>)g-=q$w_86MMTk-haO zjm|5cL*k2-ce`^8EX)>TkX5AS<8qFBwjOMRoD3EtiwaA#*+o_V&E*_PCqiU~&)k*g z-*-&W;QjoI$ZLl%{cD&?J#vswX{V3-evESG#FwDk<L!ypy{}Jh3P$A*9Jf}iY3Vk< ziwgSD$(B(1ru_W95EpVt@akdt2n5oO{q$_()AX;#JHbx4s}?h3!VQTQcI%rfK5$P) zH>i$^{jL5Xl{b7$RFE@%D+&R1XqRA~s(nA7ynLM}Mc&)@VwX#)ozb!M4fTi;{fDV< zu=QMJ>*n6wTASG;Xdh5S>&8ssF}z}X)w%C2ty@^yO6;}|SzS{xN;eGSrwr1@csVE2 zWa8*z-ergWLjTC;4{r(M{`t8!U8@f-w@qiA{}ZCAH85Zu<s+e&@MI$Ntp1ycg~F}Q z-t0hl#+z%;`aga}4yo_i7u%s3Vo}mGxSvj2@ZosZ_)2D`AFD!oYe&w%4yD<Fj-FlW z@srp;Q#oCr%P(m$DYa6wZ%b!u;EGcUWo)L5{jCkMd21aiCSF~5V&vzw6-f3)FR@Pz z8A@|=D$b%M+4JAVLY8jSmGkP_DrFcOhUIKPWq075Hp5`a$KvCe-zjS<ReeoQ3*5%? zY|zsCTfxeS-kAFGH!_~E0m1qm=Po-~j*YDTxxEGKg+ou%M)ccNx#^N2#H@dkR26@j zUS>i)1h1=nE&Jev8=DYp{*5p-CqEz={qWn%7Wd_B^IXr-7kOKouyc#%<<kz@+~b4! zR*gOWPICbgY;CuaD&M9Js+oUSjnX^`i7gaJvbrth+YshtV~rocP@z>IZ&f|?!W>KZ z!P9X`X+;qCy7Q%mznj%kcit#AY$M}seoiHJlYKfBd!{rLf!IW8<=f*c13jm!Q&>{d zT^8Q#A4Wz`XI9zdv{wgMS67O0*NtofE3}twvhO`}@Us<v`g>t}?C83gi=M*Q*@NhT z#wzT?#i&;K^g&j>Msf9Ef^FsjwqF}yG(P8l(UC50PY2>;g(Q?c#e7JBX<*e->7^MD z<;OB*?HkWQmsbU9l4lP?Vz3REPl`tGwRUK#6}5TNtnSv#0K-~fj-9<_%*FJ5DR`Mm z8V1pT+d?h6cJu#*f=3y8wc=Bis>Gi{Z*Q(?(FMEn4E@Tf>p#BYEzV!8_j8|mxWux2 z+(ar64DX{?skW}SfV#URgv`TPdlrS_pqv^qVY82Ev8aVqLGMAl*9Y%QK`$A+;~pu% zA_K5y>C9n(zu)-09=G)(%XTF}OH25I$_969cgQlmCeMB&V~o1JxAw#O>v+LE%Ws%% zULETVicfh=Dh4{At;N?oq2W?I01XTwfG$NFwoNGVc%(ml*X80fKT!B^K=6hBRmH-@ zl_KHjzi{930bZd`;mKCG5Er0c71svQFZ{<;aV+#&p<sQ{qp(opQ322|hGl5s4&PS2 zyy1~A)Y+=3r40nIYzi3vqUrt){*iP2ps`LsZO=JEYP{`85qiZ@x7<O#pi7{1W_9N@ z6NWug)>I~MtKimPj@~GG1xZ(>8D%*r*rm65T9?aA`bjk6(Cq?F<rUsq=eNZ^Fu1~n zI{QK+K*@CXZ>d+pV}}D9CvNB`Hk4GZM}`id)|>8gjVSaM{T(ch%I~8aZ5!|V6iSKh z%F`chtK6$AZgy~IRjNKI_EXA>g<wK!H@AVXs-bVD<!uNHb5lbV6rl7w+P~<|nlHRM z4@qd#Urdf&G`ZLL#7}r$a`?M8;G`t|^k(aB@k?JRN9{)IDl|?>wFUMTKb@!vD0#TA zqrWzmEvDA(vQ1goEEONlGm>%8h4hz}8=3pt_&jO=J^StYz4^|CjyqqMjFRukR#^4> z7^!&esd=N^?+tHTL;SuTG}DLZAv<kOpq*jVl6~uk0W4>Dj&;X4Dm(Y7oqhg$?S}fs zFi5tmr<X7)ZC{t^ifCZTy`%DD<=1uS%#~-4FIl|S(7a%7?X;JdWa+2bTnbq&DnHum znjEViB;6mnXV`K$X!0_{Z!ViXAYGOcpG4JA%&LR1^SFfxWwY!dzcuehld!a-jLQ2g zDU&@sJxt5AT@})%!C=PcC-+%y#%gdv`#$R^Z^s!6zI~PYS)@iDUqSgC(<u<hA(Xly z`yftP1oA|Mi2JA($*#JFX=iO}C}cQ;HkQ-khq>G%SYBle2S+XeG_hRdQEb_7Wn7mx z#FKs6NrO#m{b%Sk0zGXNUKo*<o5pHEFivP-%4@ZmjC~Qd;e1E^gUaWdLf<)`!m79m zw$ccy)6COB3GphLUdA@7_#@tC^;W>}v|$yIE~?4eBO<`Mgyx3{;fR1D9bhJNcn4U8 zJqeXvg%A3k`q4+h29yi5x09sQoL2*wCxD@?-on?ZcfS+H++4*})_@G=axTC)j6A&k zKl}fGKnP2IB%<ZAQHMkFk3jjjsJ#LTF(pgN*>qnAicf2IIrT>I6Rd1*X8C#ViG0dy zeSV0>=?I0}ey0?}TK%826#9#%|Dtl$SNM3dc8a7tpqmK|q<EovGwmU_zZbGqpkEA0 zI!i!*M7ox{Y(xsaT)NGTjQY5UbH=Z`nJCi?mzekk<F?I!4XbwJ8I1b7u_L>)IUVO> zVvae?_6Y8kEr0E==*<ip3dQ{tGD9#K=ws9H@%l~$+nN#d@UJWGq?6c|(+rH92255{ z|7eq14VjK<<?iJnle<;u*rSsNSM)~Bd{e<ac)HgqhvhXo<;!(8hV!!7MNbh7nBD|* zv6hOO91Cr;`pMB!w{Gc>@?8CgWj{3S04J%@YL^7invzY6j~A_!UuMpEcVXz~9RTSA zGr2$S9L>Eg$#4l|@Zn;EhRr7bfQuqie@DK+q=F-r24#1wt$&Zt4VwWih&=5AKvtU! zOpcb}Fq%6&?Oc9T^e!aV-{I?n>@`@bGtx8?KP1`MD2%+#yrS+X<+w$QZGA?1R?25& zZHz%y$xHi|)`h)s?~LMnaG;UGm^<;e`)kx>SCi$1QrHX_?%t`oQK8a$6#2g}5dWkP zyYNp-R3Yc`m)^FvXU$#%-_B){JO32Qs;Y%q6G9T(g!geaH2#$ekGo7;;k5thNoxW= z?#r+u;I-bfIR4qEsx`NUr|o~%J&s6NfWEtgMsN5$)0Dj9=<qxhyMrjfFF$ID?pvJa z7KBfrK17N6^)WEQe}YArBlk#uQ&&M)rxr*(8GIq1CK3ChN8FQFQ=*LRAI;bGPC5zl zMRFIGB42QcvR1y5MtsD$zDpmBx>BUizmt~KTk2D_IkxJS_L>yWp-m(MujnLl;Qtjo zWDX_y#t5PIkF5c3gh1;F6stJS2Fv|=4tgrDmKQJP51!L}>pRkvZ)~%264NsPnAkU0 znn#d}ux*zdF_sZV0+NFGc8q#4=e!5-GjkMx9e2<QO=Nd(-|w9*JpwN*n(paa)U)P$ zu!Q!d**J4{L^pnLb|*nQsT%ZDhMo#sMG1q<J+>+PG|T!Q(~J{lE7b|U2E-(qD5aBY zscd;#7QLoSG}mn)g*{aX!EjTZoSM00zg~3ncL;Cq5*kqcq^U!aAd%L94qEI(%T+t4 znL^mHcZ(;eoP<RlPJE1%@W%|U<sZxqY#YqfHM4H;!#vSI!0TpL=&#bL8Q_Dv@IJCi zMr4R?EC>B%Wc!Sri>h$~Ez}i9RvQA>HINuFWqc6!FU?|iDNF3*{m7ss>XM>6I2qyh zw_LqXxTZ5j^8vz&Vz?#d<M_9NPmPYiTJ~XiYl_~jM%AV}GP8VST@zZyoleZD5`H7f zhWW+Hf>B_}Svh&ON;U3vxX-dG!q4!WYDj3z+c-WquoeqE-p&(m^BjiL9?x_0rI?BF z3<U_JaRSerb47RfTZg*u@!lS3T*9iNMJhsTM>e|mzyZ1)@U+aY=@YZn^uLEkJ0zo# zE%zjece}6Sjt)h4eh9)#W3r7uKJC&S&*V$ZL$7AxSHo>n{7e(}&3*D_qyp^cXnR_0 z<FV=_t((o+Z1+53j<X&`4e%GxXv=`RghZ-v8@pRIeBQntXj;`HAX>3y?sg4`^Ge5J zQIts#u?PZHPN_+cYQC}X==CQ~J`ILg3iKXTT#`S+#cMM*A8{Ph!>ym3mr1@|HPcE& zrA`^%gmDEMykL147jvF}Z<7qSqsziScX`1>?3>yoN{yaz-!ghdVNNk4(MfiOs?JAt zXsV0J6x%*}HB68%)42H2U?OJ;aBYZv=>g6)_~lKjBhpD^%<7oX7Ct{<H}b}nImNO^ z5zhxrHC20#dg(sbY6dduQOPGF)_LBIen&REVyaY4fIdjGwoEddlx}CaK1TKxwUK`P zHda0%WhQ(%D$0i2Dj=!~fK+<UwJ81*jX!fQT@}lGq82NNN_+Z02oEFHW2SW3?KN8i zyp;ed0zaFGR6M~UG$liojMmsh+++Zo4hN;?ksutB`$t<tJL@7_&#PWQSZ{ec@EubX z$+vH*m&<&nD4a@J(twK4z+=Sqp->;I!;spuV_#O;OTNqpM}iBMFw{yQZ8OZkYpkJ= z?-bsLeSV)Z400YV4)!Ox<<psI*)?+CGx)Y6DJKyJ^w_LiBThd@?_I(U9md^}ICzCm z?&fl=W(=4#<eQl(O|Wn1aL!2!N^PS?D&VQE7SCQ3O`G<Bzx4`0*}-#!*<!h90=aAz zAw4j*qC0J&0ZaPVmq{Qc46Dr3I6Ao}vL?thJ*A0(_7*6hW4@Il(vrIhrwwYGZ4Fd3 z->$&-4xf(2r*C>jApxs#P)k<cF5NW2x!Il+l8|L+<6Cg@4;FTlQC!X@ZB%d^+<-4^ zIcpW_)2gW!L!+u<F494x3MV@DzpXw_D}Nfec?lwD==ft7Ox|?LmQX_2-76?eca(vQ zI1SGztKMA@|2Zo@dl0aPZ(c_~Yb+8?Idy~SROk~q7XEoKVWJJC<#UY1P?sULQa4OQ zUsg42!|yigQ23!B=i$178j6P^cWG&MK9B;g!)FliXuYfP9zfDedv)aTWzJ>~z-bUG zYbQHp#eZxB8(;<0VyzO!r-^c?@XtjPCcTK)FI4GuvNYFSgtw`Ay0HiF)&l*)74xX- zT>-i0cu01RdECSM?+TvFd|R5PfC?imeX<m&b^r6~q^^6KOqoPDJ9qAiwA5d&W2<c; zZ#?zn)ySY=F}u~$Gt@{*$A>?&(%7*dJ7rbU8LrG9Z+ZHCK<N*_+|~p@TJW#tB{$OR z>*mlK-WDZ^5v>ZXQZXRpL_CR2307a}0hLV8WzGO{NCZwu=^@iECqu*V#T{!;@3a>b z7EX;oaP4itqrKJ+S@heiuKSf8EV^T$r<9h(y!4U7Au?%y`^c`q5<F6cutLo>&X&V% zcosswL>bLNs3%@wv8+3f7^3K`0KZ0~>mq?-H&f!i3+V6FXoLwYlydVrk+)ErCn4(h zvtsIkGyOuw+iH;I^R{DBqvCFlUZ39d-Ifd2nq^>;-Hi~NgH#+a0l;r~--}K)MMn7n z7Wjv-7{tBquhQ~au5sFQee{|m2XHRFWu==_oj;L2u^yS9J~NVe3hRXVNQ?1#KQ#>e zK4rKmpqyG8WdP7x3;j8E+~tdG&|)c{C^c#bB?JywHOECNPBJ26-(<IbHLfOdK0MoL z|Crrstl$c~hD8t%HX|xKZJzp681e7e7Y8Z0+hxGSdbd!!n@2)eB%N#SQTv}Z?S*y! zt*<S6FTw_DRi?~pf^bNIAm`Coo<)&&169KXPp>PumTl4DUk>L4%(M9QZg75E+cG3I z7R+ecEP!|A9!KsG=1ODhCr+@~yn3H{uSDFVfq+jdPxQ4KLg&inkVGI9?ZMLSb9QZw zwQU45TekVDIl5QC-l_YAU<OnYcj|3LkLegw;=J2f`{n*o&cDF_<)+EQ8#BDfS7P5m zy?JZdyJ*Nk9$(ms(cSm#ve}yVBevwsC_~=Nn>BO!e|Te64pN%T2a|h`wD~VR-^++I zvpo8n9A&<u4G#O140C$SB$V%C%oE0Y4EqZp+YEcp)qTs(lOgSGgp5MW`tH)J|Allg z{Q+9@L!|NcOo5J{^KZM)-*L?4=agG=d~<^3`B^_(dq3-tJM~ZE!nmtm=0<;?4jYZ& z6EVj)t#<z~0*^3F<Xf$>z{jX&)c~WPmXi~XW~evl@;a15gKr)fAjV!DoAtS<$v$9M zw5{Xk;U~L%40%tL<;%#W+gBUiGSuh^_;(_iRyVsS>vYG8_eJGc*V7M1Ht8nbC3SWb z(tk`GuIu0m%bz2i^Ik)Cg(^R%rVO2njE7nYeTdoewb`o5h?EKIE<JdAo@C(HHNLu2 zH_>PJhIf@yvmVf%Nk45RVq$xGO>JUEN3<9LG`)+pSCr&HQE0J*xbqs3YcPsP8Q5MN zQU@#|a3YQ{1N5ZwgjQ9}2oV9<zLQAYYHE-|{y2uT>^0eQxf$(U{!2o%Mp!TG9*;m0 z)0qfC#BQ4HSfsjQ@yPy&&+gInvk?4@jrGh_&mZWy5TEsEeQ)-(7qvb&s`EF=x3j%G z-u#hh+Z~WRCw>e4iLL8J`0t(7J9}TkSXSlROjJfPD%88Lv?fzB9Mu5qRC(`rlvvW+ zx^i+eQB`cKEI%sD8UK((PSR2urE`C_i`LwBY)@WU-VC_*CB{#4*J*}Sm+OA)d;gil z5ajmj5!S{W@zCehRe{^tmrXI^na?+@5t2RJTF-QqO^ha%ZM<JL?l}ss;n%`9o(58O ztN8;g!jf%u`}(c!P|fQPk$x28kQk|B1xEMvp3Z$I>7BaH;yU>aBU*wsB0Oo=jSbu} zXNn$|p%kh<pS`$oqrI*a{t18GqU6&HEhXr0&MJ%WXh|gZ5J%9|HT#!v#hFG-<p_az z==_@ar^NWmhqvUfWBG+gn<c2C?5)k%79s2KoFzD2#G0m@5G|sVFIDzwtK;%^Y5O2D zqS`SBZCUO7;L7cy8M0{NLujbCUjXMt_`iI8<?A*j^X2EUQxo6d^@$N169Lo78U6tE z`Komt+QyYStsrhV`sM6d%PhTQE?hQgHr?0&MQk}@1jJ53`Py_Z?H=Ae?0|Cm>}meK z(fBP{)cb-XugjQAttVu+;n=pcbriAXa;%Z}L6f?iB<$5013$eYG{xP4vCbT4MFyF? zoJfB?JG?P88EP-YwwMCF1V77Pe$fu(^t*J^N~!dof*;w)1Qd!6?-qA#$M*LM_zCBY z^0>gUP4OGv(x>6l_90nT7Ul<+k9N<W+jaYOGQou3+$qa^(JI<7HSj2>_%Fk=Aa6A% zs&B3p?+ny;wE@3l?~GAfr9=#x+90EpyB=?iYgw*My!qE9Mfs>#`GKdUh%4<CbM}+2 z51gjoliF*J87vafTV%6`BD!PthM1J_v^-u{C4Bb3<=f-cq?H+hfh*Iy8WG7)E18!& zB~MirDlCoLqK}~V+}HcJP{bMn*-z7~JXU67KeFd1_SMKb1noRY(>+KHX@6*%(_bh> z6~&B%8jHKPBumZI-1$CXcR$1a8$d!_jyEi6aS>v_eu)TVD^Uu_2Qs=Xp0P4lHoaZM z33jq*#LNsC)#4j&_HGf~*qpRG*y~H>E3{rSdt*@+-ar|bmO`{`R+fMxENXOKH9z|( z*G##&)h@KKt1*SO1};5ahKC#5YA*+G57W-Hrx*_ju((@cG@(}u8_@3M^Yms_f7u=t zRsJG<rv}A?_v(E|tfq6H<lge$(q<|+9jy9;+$BASUn2bh>Ki)jAnWU`>G{|*JF1L^ zABZ3@&lBz(hzrVaiO7Jey;o?FpgDEYIUXMdA@mio$qKFc-3@Pmwxb5=`jS&Df4E~* z45wkjR(a2$SggHiRPc&8du>~@`1fpn#bP9jpR1G>WSUeW;dH&OAQYWVINFNs17=Q= zjV7OcO6$RuKNnB*Hbvh6T-h?@TggZHH?ueuiy$e(ws|&LcN!Yqyo#r`=90p5#cmu% zHQ$ZmzOyvD(N8w{kBPm9!jkw>?$?VWtK}U|T>E17hZ;t<lRiGpo0jvT%>*$$<!zll zMOQQQd*195r9PyF|Lr8z(t@K30A<c5tdY#}#y3>vs!#n7`~|eKoo=RypYTVsp83Uf zbJ&J5?_#t4F3fccMJfdV_v<ReW8a6RTwlLeJ~5TD?HiaouAv1qZwfMROE)jgU7I<~ z(8k&5Hti&4GguBIO8PH25S_ST&+JKpl5N(>r#s8Mu7%~D%RO6t2~N2Bm@vVM59kfL z=E@7Lf7&)K4rG$It`#K}st}HcyvQY5Yj3_g+a%VSn}1z1u`In)vSk@dHNs)M%6)9> z_v9HDIF6s$g;!a$A4V<Y|HmZpLuf}~o19RCFihGy_*rx+;~@5C`a?`iPO65VJ6I~Y zVLPrxFs(H6*`20l&lB~|SdQ1{af4N(tG`EK5)-hT)*ICEqigx2rKL!~M)sE;(B-63 zbg$62=C!Uq+lLBkg_EL;qN{A~o40GmNeG1r@ks}|VoL#5-k>K))4s^mOfx1%g)Tv3 z6D>}+Hku#@9J(H*gz|q~k+Sy#_PQA7Rze5lw$1=hkAzgxQ#X5^2fj6bw8$(OsQ?yE zhv$o_T%dB~_Wc+R<YP~&0xL{H@WH&``Ch>_O%;j?))f3;;QYCTBGbq~ZK3j5H2?}0 zV%^%YDC*UJ`BL<m^arW|P%~VCkb_12zs^-do+;z)>Sxbi_gOLX-~D;^JqZ?NY3@e~ zNm}(m(DVPGZ}|Sll%0@n%+DTy73nY>){L5{upi#1GcT|F$yTLjM|(VYTER2F{5;_& z3qA#QYC}BZ1p2r?>+vAunl59W2-^nZv}VU)%|!^?=p@r$x0~GmmQ16|RMybQ*b<WA zoqd}d88&-jSB?x`B){@h_2ii@sa>M2O(C>xorqMs^Q|O?+r<87SaK^D`cps4;17E3 z8y*p{3_NTtPFJtp@;LWp<c1fa@r!Wser_`RIAEM-d3@=4p!~=CW~$w+iZ^_$3z2gS z{-Fuq<*e#0YhID?)d$NJ!xQ9!5FXMW2+<Jup{bv`7a;0co*rJ7qV|UlB4PYz1%8kK zC*g^=SQtKl$UZ$9YbSFEim+I;@c*09y~RXJ0hLM|PwdJ0gc8hhz+d7W|Ga{|Ds0;$ z6H_`cr6KwY&UkBK&SS?1An6GDp`x_6CTFax<d!rO%b9YatcU*Af6ncmw=76G!3?wA zL6n?UW_nH`(Vj3H5#IAh#jw;sIgHNOSFzZ!S(wj|{H*Yfh9djN(?JCKo*B)(5R&Nb zrD0h7_&lGY@ij4l(+=G|{Ff+XBH7m3CNam!))vy@<Ki@|S%ccFgqAyUP<T$#P>SPF zPx4#Kl55zvAyhHGU~6s`f$#TOFp&&{MV=^)CAriS&^Id8sSrDNp93!S!|1?_!))7H za~>Px9$o)qgG<mVPQ#PLh*<1+sZyYK@#+nVr$_dOa%wwp!lmF@$KFb`OgeI*jI*0F zhBA}aMCT7Q@OPB2T3)vySfMqF8vkQTsAy-cG|raL8^v$S!s7U$c1y>}8;I-3Z<YOX zvLZKk5`fyiCeKf)1De*qmB!!yY#&frL0KVJpd>Qz1qq=l^qg7R%nZQTk-BcN*FJar z6wl$CKs=;Pe4or6qHF;s#@=zxd+{ow8L2%xLKBT|ozqzJ<d}L@LFE{deV0${Px0HW zhDUWF88D%II!MySQ3{S+2P+S5ohXRCD_clQ0WuNjAZ+YADVgc+0Q)dP8S$csM8<~N zmATYCMr316we}17I<15bd3?E%WV-*rBU%Le)_+V8`kCx$_wi4D>P#eR-<E9ZaGhQM z1OxS_aZb7&%Jv^q@A`t3uIO`46>j|9yH!YGA;$x+G!Bs6psqyxrBeG>eL{@-E^iZw z)~a=PrP)F_^{D9LPC8S|+2cpbt-lu@Y-ag~)1flh@GkJrP5)W1lyv7A=LGadtU3Mc z>rIfCiJfZqrS#e}&A0nh_qjWwky)cYR)aM`Zj4oTC-vi$IY8e!DQK8#9Pyj~=MZxr zbm8z*m#tPgfczr{Q-Xc5L-=WqZG^PPB2dq!>1{kenvPIqJfo@tGVg?<T{c{XG?-$G zK;oZ{s+udL<?`_|Ek{Bfc8DiI4n%^}vP!9+<9^U4aNGEJqb0=oy4fRRg>=-RMdQ3m z0NhE>Yz-KyMXWlB!v*jBJ=Hw|6LN?FY>ju7NPS1poTEZZ=T=Ney8<snT-_>#=_hHO zMF2Q`Vhbe*_A-wG2V&otbR9o>z;Y7|c(*|CrLGVid*e!=latRoa6&xuwW}-qQ8e?v zC1Dc&vD?>Ht!^Pe+K+YT^^`NPP2t)*iqU<xSx()P+cNY`%wSRZ;TtqZfJb^e5}F{5 zJ*t%vY2q%oTnjEku}5pA{#le;N1+VBEad!tRc&VE36SH?X#i-wnpKfOtwwnJ7y!`r z*uD`xX)8urS&dHJf&50NdMctC1{2s;FZUERlL7bU_*6%#bf@mHR26Ar#&5ZuLxT5R zSY6l#0w3i}BUtVP?8Dkx;ZF#w&7NtmRK*H_jBP|LGQ;p8`)8CXo=~^xx&UU~vs!EQ zLm#z6YgWa6U^x87vUlm(Z<AZ`@!;M*W>4fUVu$*i2xM{s`Zb2*&~tWoLq7Cro}n|D zdL;Cc^u+6ZIrGKKrzKCucyH^M;|ZwfL2g~;j!mTL>|2~!n%?Z{L`=&*DR%D5{&uro zvJmgR`;*<_-JlEf(pmC=iP}*S#V+Ur;SmaFd8P}p8SvS07<S#){bPJ!HAlI>JR`_4 zTxHK1=2rN1l+K%S$GSvaGvx2gVQ7uB(|TCI-8sIR(V3=o;Qw`_=YHvp@b`CHt0twp zTs&6vZnUCk49_nwtUo5db>ZDR4U3IwkA$5eI_T@dJrDC+G^)5>1<G|YrPgrN(jv!9 z9Q`()LM^LaNzZ$J0{U^YfQLQhrp=4ZcBV9E+EM;5a@60p5y!_#vo4Q6F1#fYfHU28 zs7pc=Nkmg|^d#JB=+py4ZjE2IB{%)&Dcvz3M8x5TnE-zbAVLf*2N=$(Z@{Z|8JJ$u zELd>--Nz;t%BDm2o8&fOi;N=}U-7G+0Dq9$D?+ham5?k~_5hO_oJe|wwd?k7zP;Rj zZM6lV)UwB@w#l%5U1QR+DaYXtMK0N}s?2%D4*$pWd9)UF5nkVSSLL~EirQ0Ct^E%s zTRBd}K32Q39kZKlF{O{9lCs3MiaM$LT~A#qq4LGVDn~JQL~piA^`*STU4LCi!r0o) zV^1_NH)udBy$>j#HA#;ib_Na3j8LPbjQSr2h=J~_@+YKoAfux^+g;Rx%V-Cf3iI^5 zwy^dN_tO=gIaWG@UHShjUqAIALbPfB-g<3J5gajy#|jh0ZTON#L*`)J-S3(_o(Y5k zAZy&tRLU}#u7&{BywRA(IaO^j&?g+m={!lgtNKmbKWmE;=&MaveLSdile~_Njg@tO z;Wu8BT&^M_IFJM56Ma3v5m*bA^3Ohj&R<7;=rJhHzT24**UzG&0ywV}BAoDN^hSMk zV3s~=@qwC9Y|UNar_+UG|9s}Xw1Z&PjdP$*5D@2Nua-;<PzOGY_+0ZO<FbC*wQ3X# ztIZs2sYsKxy5@uEr<hXyGsz3}MQT*y(YSsH%{eHb12d|kX=7sl1gDeR#B%C~rdA2Q zF@{tl-;wUO&%jt%7_L_b+h7CZm2>+OQVyBcc(pKvUUF}~-)hE%4PSdw)odIMAU9`f zhe0>qIT|;f+#uJExQ*wTL~I1@TiS1C-~D<ruk$E^g4HGyVf=zVH}*}GQ7Dg(kzQ0& zS_oka$Zc7&Yb?rmnQjQ-yw}#MdghBJ^bBEpD3T(vJK~UxfpmPp4XzY$l~zt1L<V%6 z0CJ+>`-N6MM>)<BZuOpl9_^IbIWw%{($c+Qume6U#-D~sTX$Jv{rNSEJUZ+ADsuD6 zl(%up)15!N91A$QnvJ5W!Ys+k{lwn&OBK0dIdT}`$vyY6$?!lR87CSTsLBF*Y*Tfy zDKvo6I<d+blsNIheK!g~I5f6HZ?oazAkj^f<vlE#yU$v!H9|thv?#Lh$xFPqbPj<w zy*`+x`7KNIrnEea$>2wK1YIpQ^aswu$B{-pkuQdKN(9t&SmOe6E4;t`@Z)FUc)jM& zvrOB=gOJ4h4;|PY!b7K!j0uJz@&}zAaNpJ#+}V+N{q>T;eIuqGhihbp{*v>k7N^Xi zaSa9|p!ISpQYiH>5%+sx?nFJ^Y#7LoQjeqw!FEHrk8d4)`qehizXRW!$P?E7*pW<T zfOXJHQ-r9HP3WHordu<h8-E@E&EGXyplZN#F<oPJ^#Vk{Wy@2UEuc@m(?y?DsQ+Fv zy?%GW%rYT$;D5!R6g(;*xP+FOsAqdl&2x317wcRGz4z0<WhOh|$G59q?p6+NJ4L^j zkfQLtq}hpGMhokwR#jHaJxK4-d#2r>E+%i=e_q(U-(P)|^a}bUzV#>aKlc~CTExV} z>7$l|GwY-(mp0UF(!87ZS$?((Nc>Pz{*UR3hW1tcikJOU)^8<`UDLZ~!)?iHsKm?U zkO?x^WrOq*9se`*wzZz_y%(j_$VkNUL@h3+fz((SB{*@;{8tYt)JC#!$w+1ql@|<H zb*NM=&%=x*HnZ*`>2a!`?O)^l#5!~%%Yl-0_O(7AANSLjBm)WBmx6@jc>YbVEPJ{V z7rb;{^Wco1re~mPD7$zDM^uri{1pw|h%q2ZT;F~Y2$6GoH!u3URgaZaWUvNXL$9Uw zx0q@Zx$rM*3AfU^*Z!(z{a}iIXX^I+GrcN%s+lP+&<p+j@~d8*WQ@u^rfH5Z{8!dv z>Y~g;+sA<m)s7uoPu^8$W6@7v^a?}f20oJvGpI9w@GlyE=V{{U?>^7g9Vn4=)k;rh zcE!-n3{6)KaAdF6ysm_(F6z^S5CHDZLo&x(yX#3B*B87)lO?pr75`&;Cn)~DcpLfV zA7YAl)0THB!yfOE=GqXCHPv~1xBfKxsvfM06D~8qcjGYH^wuv#WXSgr0n&Jd1h}>F z3v=O$^nknP-pTcQoiDaOg<5jFt#ambo+;6}y!yl%Qt);Bb9PP!*^eE&0QyOoyLkBV z5V=@5c)+;dl4PGO_A^rB->m7E2=PhqB44kyx`e&;orn8gchb%3f5-N>_NHk?DKGNi zzwirMy$lb>xZ7M+tS+g0t+GXMemUdUG3VMjEljkr%?3+H8#_&;aLTp0NHnh4LD`BM z%}k^lv_6l=Y97M7ze9hCZ+A~j>$<RIry;`gp9o`r(gcR#!VP!&FMjyKJ(Hcqm9F_! znH-qmV0s`t>@$!Pa-{lP<h9wA<jgPFh+pyGeU#-mSTWYrrwRyU20i#?WBc0Xp=9}u zO4v!_PB40WUFl?nhsfLHTfG_Tnz56b6fL%W{V`_e;Dd%Xc!`65<K1`EL5^QQ#Y;;^ zJHr6afUkf1xB~xH`(9fJ@c)9&o->V)c>Ohf#@-WtCZT&r?_QDf>k_Ijmq#-?Q~akP zxF2lS@6_5_)ZzVUrR{1Cen@tlQJaz(;ccHYHBq@Zt`<U^{SzM+?CpixNbQlid{`F1 zdHBI@Jk(aSsU0)s*_<Vo+nant$C~voldaUpYA+`9T~DShEJe#PdvstsB=A%CFD{}b z%p!Sf%FxJ!u&D?wD&JM|%YOlmjujJtRo%-9QgpNx$0X!7>*e9CE>6bks|G&n?T3BK z$M%*icblFcewLBC^dc&W>cZmZOszxF1Vz8Di2H2Oh%YkJx^4A%9ST~{>@J;r41(>S zXf~MFxAz&%$#wK39|#qm;t?rY;^mn?0h`bz1$)AZBr+IR!nSK?U7?pJNwN+SaUYkA z^L{aA#>#g6AKGT$TY!!{xVw^-&gEN_ZB{lFA7BH4TEa0cQMu;E8C<eQ_pdYkOLqKv zD|}u7DVpdOyrxl5C{E~$#vn<S;_9ulz-Wms`08pF56kWNf_Zkm*ey*kymKy@4mi@F zUmvE*ox~WQ^ENmWz)vUKH`Qj#fEBgz@0S3TxZ_!F_qDOg;Zy3pSciga>}M>6Y{n3x z9bGDwJo04<UwSnRrjib=E&Vs}ycd3XXvCk=dYf9o)1?boUjAue@Q*@nTnccnvhBO# zMej~OFW~s<naBIZ+#``wt{xts85SmryoKO$zTrMqvHUic8%>wT(U0Mcm~9guQaeXy z%NtC&SQZCe)UH4oV!@Iu<(jIC!bSgnLRvF}fTgp_^!X~1oKZ9Ko6j6`c2ck0{e?0L z%&yxHT5+^D-EZ7CE-iXXj^(nd(0d~s<j}D6E~C&S(?+=7%sq^<XRSYDt$b~k`OszQ zNb<VneY(+MRi)v=akFoUTJmsOiKyBQ2glyQ(U`nF^PRHt%DxNSjYW9<X0-dY-8SzX z6er@Jc;DTqOKJgM?TvL~8tB;O(%Ys8Z*7yxzqu;NsKPx%#{;|#Fun=H@WjevkJafH z)v}gX@jdYCB7RpF#t~h=mGU|=w)aKrYuhGn8>gx<F3wo$Bpp?|8;a!NEhZ$l5FXiU zW_v<wb<sJ;V70tN{_lTvv5uHXtx3#G7vvy4Y?=o6Ufy{xtMYRj6?`giE79jL+K1P| zEGzEJRwx{7P(V4LWI^fFZs*IPL)PP3*ymN}vP!2O{U%KQB@(&Y!uAK68y{#i7joz6 z3p-*(v{pg5Hq9K3R;e#~-f9`a2n%bQ%yRnhRI4Zol-5)(&ln#f*(9Ovc|ZBuP?soE z+&GYn_TQWX_YTJrfmRGlI>fg{kF|tu0T*&{T*R<}ib^kyDG0mNvwNuzmjaGEf3pBy zp$Xnxk2v_uyk}bnddqY*4jdQJccx;K^k5*Ur#&bga(6yX>39b}ms;w>1F-{YI$@Ku zgbQz?166LO^<vQ|r&;Y2x!RMZbmQmCDKW9_%_R(u=`+7Bc`}_n<K;TG)gzcN9Y%U^ z5e`rI6EoWcAQ_)9gH?V!U^i3cPpts;9(-X`{I616m5rk(sW+++uzM_cRsPV;Ur>Mw z9D12}`~3ABo|CO$Q>ZD6*@H-UcVar>fuycCTt>`0WT07<NLQUt5C73inYRe)K*z$j z)nactu$o%m?{HSP6w82-#m0&ZRk~UEUsTQrQJ+gyD;s?NJy-$*lJJ60v5;Q%ohvgo zgP88)$P`8cJAP~sZZRh5aX$Rfe%(UggXzS*qNhs<B)Dl-cKc-Un?j5L2ElIn=)Iyu z_J`LV9u7hAogYnQdnjExqZW+ziyMPE(7B8`h*L+=j64BeDvbe+4N-}hHSm`P&)rnf z<E8Q=x;$+n$H&9)mZ-9bXvhYrr~Rf>jm}bB&_{i92G}~?kc4Q%F!5{qgRx_tI{@L! zyy;5QrE+G-a*SHo{^tu7aetSXmo!_bpWPBKhZ8r{o_JM{wj<Yk7@}#r^Gj!h-hko$ zC`T>wSbgaqw<{Y{-U8ON@p>Fju3`0BeM|;@M8@+Z8cVL)=NtR|A5(p5XYp5lFY6?O z9+m-zr4BFy?A%MYHP;6Xx>m+c`Onzlwt;Y{?KN_QMnqk7hfNEuO>xfsB>Gs$!pXr; zJyp~d<4_QWO#c0})lRw*jieqFRlCOIOd}5%Zv>{hdPQzt!Kp5#?qN%VO>G>j9b9kU zE}4shrWLsfn5~`y<O=Jc>_#X~x&-I+A5)3Q@k7rQ;<^gMs=))-;<FO4D?769mK+?m zoUZ0dpAY#T!t2pX;@sX*Zl9lfvrv%=3ro?`2AH7_JVwv@jQjSlO_5GwRt^&#g9!hV zqi{&Ob!(z)?ks=;00Q4Rp2(+Yst4Ii<rLqIG_DORYHywRGXwl?1=cDGYoboi8Ccnq z(pf7v1p#S;s8HOYGjd&L1XvqeDlK@_TBpq)sG<p`lMMRtGsxa<yFOZ)_P0mNZ*D%{ z!vW_wy#ELfpO?5HY%x;HqQaa242?HP6ZtQ(BX8+va#3S1vKa>Y(&fxF*D>I=l|GVO zrrOle|0<W!VudEw%=qIjHOjvFpK^5~(M&)fRv&)LKp`iHH6?kvPGA^iGZkM7CRlJG zuaSurdMBNCY<L+5|1mj0;Y9P1Vn{2a-R#y*=ADh<b+f&@Njh?J94ss>dsxM)!o0=~ z@Bf%Oldi4eee9_q2`xe2#*;D>*O5*G0{1Ge2dKPf(S!Nf<^lm^p9y@<eDHG{X&>u> ztX<7^5Ym!5IzC{pn-Z_s!@K0QR^A>Bo}>V{C&?JW#rLdYV1585H5Mbm*FlSXjSrF2 zZZ~w2EdU%2$d`_xyYgAO9$7eY`O&B0)60Q+5&t;$O0vTAq|jAkF$u3TE59*k;OJ{q zqK<L-ymWa+c->C%j;d5bTnR{f4&nONZ&Ao&t_<i0Qu?45Y4i)%)e?;6GvZ|7PDQgb z7`p@4ZISm|mf5S~-1UD$1BetxTNIh?9g0H!(`(2GKDDj~NMfM1qNor{`$iOwrmt8% zn>|j@iI5(i4`;e0_=$)O*dyD$N`*wc5xoj4dLZ;?jTWmIIOm@y=PnTf_%=wps_hS- zkoLBgnu!d>5%w|&X{~&4&oTBNtGkB?k7xk}p!CCnrtx7nl+%y*=V<G$R#S4Z?U))& z?v7d4#W&B$qAYhGx^y(35n7|+@$M8vKV=*_Lf#!ants$=GlTHlqk=?YH9VqztwZkT z=4&MclAWWnk82xS?yk2^O0~k3KNvP0w4pi(C*4A?Gz=6-&q_SH??<kQQ2?J=sILsl z@2DL;XZ#=2kCU^;SN|1ftZ%lrp<6UlNL?hz^Fa?$Nl)0e%DP;nE6nElSo7_gqDsIm zvL32om)DLjj`SvCHe#!cuiU@F!|P7`BlIT<zbIhVXtaaQO^9;cpHcJi8R{^;#Eo?- z=MUw#u~NdpN?Pjm<dV`e-Rmjp&MX8XEi9M2nr-)6ujQ-5=is@dl`bQzdqx3%Y!&+H zmy=NGbj>gfB?WhEBzpQ1j9WAkSey-|)VP+K*gN)rpGi~KkW{|K{#lS+74-f;CIH|q zn8QfBXtSruVvNb&!XI>cV~McH8!LH+z$c1nBVlv~GnDV_kAB0g7igy4I~)W0f!A0N zSO0<vj$(WGZ_D8M;NXRt$aLs$isFDBXL=YKJK)@R-DDCq7x4QZ?%A_1`njx9-K=8p zP7NDQlg4!5-2$F50Ff5covAi`wj`O4Juqw+bV|S8+mXReyMEmhf}Vv~+r=APyVjrm zcnxh<CUO2Jy0lTjEI&Z!;-{M_u0b4f!G=pIM~oQSc$Zg6={}Vr*w;Z=*Y%DH3bVUA z%`@KEmvDGFVhQsfQ}qP(u4#@$#dSgVkl7*LUkJ4nBRR9IQW<LxN3UJQ-vfNT?|>Yd zTkjob+y5uEsEPsM4$kipn1!JkwPEjD*Y@CQSF@f^FNdh^Q&vk`9jgwGD2hoAjbY=l zrMcEv1JuV(ruQPtiDZ01irSi1E(w2yMJ;8tvBl@auf2tFrr~*ER`%A+u+OneDAOi$ zyzF(+t9X9b-J120pqKj?<Ch&CrX}?@I9xe#)n&ahFS`jR``7A+bX-beC~#&o6hlXo z#r)y#Gee7t^uL9p7g-YNyrrF?h?nM%u5h_b1K84TIWwn1i9ZXo*Ls4^8dhtFE^+VZ z`|JZ}1oY?LUNkTz)3)j|(bcRWA5_&4K53mj?3@>RCy({{@=~^a9630$Mn3&uNn~d@ zM$=~;dnj`C<NSmO=gHCDZ3qHC05B)#`wrn}3#>Em*R9o=phHV02CVaqra+oz&aD>P zox<t*ESm3@a3H(GYt@@mq%Eyd^(v%#tTUc|RZk)-g<1M<f1Et!%cT@vV6;B0x72VP z3o`NxiJWmJa{!B_?dMl5Z+!g-iw}MvluPQ_V}vGt>ECLcgit6qps&)ZNg3XM9*Mwm zva*6;X|$bJ6OCUCt^Bw8B-;HBH{4a5TD^Vzw~jZFIk^gT0d=-D_p2X(i+;f3Voq8t zUk(qHct;TEL)RK(MuEl5w#86ZocTG$z^5TSd<JAjB$$wg*3u>WoJ1!jL04ZW<vo%k z827_l43~J;zSMY6cmv|io-yqR+9@DwNUFg0e73hW#d{?hHY6m(MNx)Xh0F#TEi1&k zM`HqZ|1@<;wG{a*8gsR_U%p8Y;ja*y6=1;M?jdb1-mSEb3P!YU(sG|VQDU7dT+P0B zykfRdWx6CI8sD^30N>TDy3wax99c6JIu2wa&#wqr=L4IRkvo7N#V2;>={H{fqE37U z1(X#m+B^y!3eW_=_&?RJMpq#I!Lv5Oy?E1jnxT7#V||x+Cp(8_ygUI%SE(TyJy|iY zvqtyb{&G3-rLwr!#EGIcfpKwmh0ywJ7XPC6;@zYB`Zw7zg`P11Yok5JHpv-`2FXKz z_0-yF`<Z3rJy-<R0XX}`aNK?GS5_@j?VU|>Lo6X?ewJu6(n?c{|9hy*H%BK?hF@kJ zgIM3g>;}fCj=r}^BzD84%EO%;|LtRzfH9Y_h~Cq(<&~jx`=ltKMT0xb$nS_SF4PR% zK`!VymYl!yfPeSzJPk@E(fEFu1o9L@SC%0$0LHeLUX_ZfdP{6^RL*g3qPvBPx`mMd z<1?*lUm?~<%04z=@0Kdf@^)1+9VE2ZCC75^hlqf#73GNObUS`mjP7O6dQKK6Mqz|L zP%162DG?5ibWLgg-({8b(SL@Dqa7!uD{1$DdzR(tm7+Cy40Ll4FW<iz@+RDQhx`n2 zV;5RedVN83HxdF=9>370z_m0jV$B8VO}^NAy6w_y{^;4l;h1L4ZyX}1?Xc|BYC^=n zQqBjXpi8x|6j!H*y`Z;{e!ikWiF-8;2&sRYtHVh_D;Q;a?-e8ktq)zCyTQTfY)1@g zd(&y)_PzG)>(jp`EEPsqbh4Y9+#`^;yNMVG?Cj}guaT!@8I%;mA8_BdJLrQX-J`T^ zz4wlfi{vX7cYTh`wx;agw)Dq$f_n)A@y1v8-bfp+gNw3e8w?}(rDo7G=!1G;kdltD zyLBK(_7B+ie@(7Uf^w&vol8$EDhz3@t`egO#{1~k(S0UgIeF8boSV&e$$D0`>3jK0 zOGGWS+P1Jc3IrkrkBQDSJFgrS%`M2BE&qTzbv8}A%>L1h)nkW`-c!Z(3y<AblC~7X zZViUjn#4#Haaue;D)YX7BM4Ww@I!`5A!iU$fJKcxvPtsxW4EJQ?r4R=n&Kja#LUTr z*5o0$n9jL<>8iu*p${;jc6%BT5Gr9$s&K!ZJtKW9k4N~`mWOuTj1-r_{6me@m7c3~ zQ+L?Vj>FjckY&l;s>TL$RK8hFUQPAMMX`Zh2kxpDE}QpsOlA+-a<W?bUZRvWTz5h# zJV+UZp>yg!gulPl0`_MIp1C%7r%f!X`~KAkyPv=x_EH!K-MHhm;&#^OSLw&GF4J_R zV@ps*=1E@0nzsTPXW!bc76CVYx2X2)f@SvAi>wprMj40!ZWF(u{=DqD3+UcGIP2sg zW|2_^mYPcn{nqeqK1TgFWKj>NAzSX9+HNg=r#AO?dq>N8Ss(kLpa`|X)Rp%-91r=7 zrTezYlM5AUwI4#BX1=s8m`yS?Ht34z__xr%u{x~{Lq$76T~LsS(auW9h<>)AVH2?) zhkQ6rHM<^uae=LPU6A*CV~V<c6vD7ZfUTn8J6hjntTf*GzP`dP^Q0&a8zs4`cjo$2 z?VYi@=^hQ_CdtUeD5z9Gp)C({&wQof>H%W=2wtW^5?}C@8Nd6haKR|Fob|Zoe!QQl zzlo0$Tm;hUxmy0)ImvGBcY6?3%41{0_)!yph_ioRG~c}xQE!v3<Mv74zqUHV;Fqna z&wC-6TVngsIU=1aJmJ3*g-h@18imzopqA%O+M$+5o$tfTg?>Nl!*@;Omt4r$=Tgl` zR%sklsB3Gs%AfJ8SPK3%s@|8jXW%9#wmMVry$`Da@9v1d&@WLl_kK4xdNiO_M9x8H zxys*RjipSs8-!i5n=%Hr^Evr^aAc~CehlAbelFkV>?N=8D*qzE)JoPqG(ZdN`fAk| z>JQFHfn1rU;hG`bUwY3yI_i{_ZsNbse6Cj`1<Ibuxr}m7d2Rh3aC4vAAUFfeM=*?I zK<KTJo^EgXl{mMDuuxui&DJxiJsJ~9-lBz+2S$plZvqK6pPfF5krGH)97-$v=w#rD zL|f8t&IennJO@~eKr79BxUI{D@O0(F-J7uI$MDCDhN!yn^|RS`zuli+O6LMoiSWH? z+=v8_F+AoL^xo6gO*H7ETkgB_oV$8aoPlBA`b0yj-3X?en}<29jbm9^h2t}g02bPk za%SKA@MICgwoaSt<X~Ih*-&=6ood#Es%?C;fDG80$8RZqNEOx5Hh%x5NcGm_O3gs1 z?x|N{^y8#pn9{wFy-Ox$u4Zh*WduXJAQb&%^F&LZSioJh6!@~k{B_CZhHFegh2Fj0 z)kIvnqvXWQ3CF~V*peou6Ct6qlhboz+HLI2v7u}?l$x;VD`Ja^+WEGjyx(yJ=YsoT z|C5XMdb*{QbdqC|bn$~abF(=cEF;#?`OLdvlGRVQkpi!N^TgWgD<kS^Ig#CJe$B@* z{2oGYwgU&jL|n=}BP;KPgS?!{@_?w^($+AvNoue26nH;tr@ROIo*}Z6`eDoOOR7n| zJ)49v4h?k;_vdpD4?(hfUwGd@@cOmC=`VfCwbI98qou7*-7zA8S|qRlyQ3dp^18F9 zsPd(ikMR=XPG-4<S=dp7`8sNvuKd2KiVwc30&@&2G0lV8lw52HDcQ!Avrjlt3Ogj= z=X$#)3AaD>4y8w^zY_^s$|xwnuXEvB+S2vc{2G^Mw@g}ns@#%vU_xy_*5dTe(-|la z3u{P}63-d`b1}y|V_+P8HQo^kRC<^Av!+go73?37re0mBHRx-SUhZW-#TQ3iqwT&N z;~Tf{K%W~O8#9xZDp7}@k@#^_=rb9IWZ6SJ;!M5onwBlbzeG7u-MD+)N&DWabGDCn zSoUP;6|M$!=8wm#)R}H33s$C}roHvZHToJCUPo;EWDb6GrQSCn|7;Tp_vOr-#-${) z9UN8%?ex_sX)BIB=*|Ciblq`Des5dTw5bg(%~h#sndVMhWW$+KmV1zCxk7U%h^P(A zz0HL=ahnr2mIF8CB5`0jP;n~`1itU{d;jAv_&kU6oO9pTeGLw7wqsMy=xI1m0MXc2 z`K?l9%kXNlA4&TAyPE9F%X$EgK<uY8?*Am67ra`d5!$eMtcW{tQcBY?29!r<eDte~ z57rvGB>l72Aa0E?Fy*YJCOC&#PDc@!lyqkV=API=8m8nS9Q8;&93P2xn2_Nyv(dM& zEb4#t(Ba+_)uQ>3Zy^>^Y62p$-+H+(>;*^Vr8QwwwoOY;Nvj<XX?Gxc?MhIv{LzC+ z2?nT+07kh_6hNh{l#924$NpQoD+-zSF=a`~OnXu)Q;Q*puaDb%Opv@l>5zFeD(H8& zY#r=>Z+QwmhX$so*?r|OFYECgXv#;-8?0da@z_HKcOBrHu0oHAu{~!nyXhUsL}7v# zLobJN9#aRrap1o=o&J7@^zZJ`fse<zym@$h(2a~G_8+*AO!U+XXVBWJF`Lmjis%Qi zox^7;k)C$4L_~(QPoTwHeR%%wIOM4Ypl1dZp-cOncdCq`p5Q*9;$!|s{ZM1*aMc_s z9`FyFc8jR0*(ApGeS^<$tM7Ho916wWY!Wt(9<zt_S}oUF{0lzp*f#S%b0)7OT3c^s zD=7mgQXZ_^By@!iy_*#?Jb-7Z*g@<w=Y(beqWlk~*J?tsjx0@cV>`<ck{)4QVa9tx zc#Zql`)s^03f*1pTKEc7SXS9+R(LDme->DpJLIkM>t$v4uWZ*8iO0NKo(g5b$E2Kn zIpeCPce3%?cq}lA28M+r#?#~`R60=TNmRJXc6zOWmfrCbxze%F9r;Wf1OSSpknDc1 zKlbLO;ul!R(&9I*C$B|+@5e2!9qjF{nO%Ne$#fYgq4KY|6|ZZ73j!Ye1ubmisKtDJ zmM?a}^J9W!`eE8-bI*?Z{t1ENqAf=;$8X9x4U^Yb-lIB+b!iFH@k2Ha+}d9^2+)r4 z4^uBUcCfT>!rkZ|QVYuzb$KYTy=Sp7(In5^*|Xi0)Q<o^XqaiR4F;$F$5zsM(m=y< zk%bf67GALQ@1gIOWv1+_JTb44w)>B*^eTIdMmBVZ^)5$aMO%N5VYL`68+Ris;C;fi zM6r~chOQd!`@R>#7L8#e#fNwP3VqIF7FIlI+6c6aJ24%-_9uN;!OQc8vDEAFR%O=> zW-ulrJkv3gP}wk+It?h#z;?3J3Ef-|@JZPvvGy$5)}DF5DnP%W>-{z{mQ_c^8_QvP ze1>>VE+3$>i3KlS%+J%N8azJVSCrS;CFD>eihlI%)u)gbucRdm<rwr({)dnm{(eSI zpD_oxK&J(N6BMUDnVb_Fbw<~HZUX)<QJsI(y2Q@D{HQo3;xC`Wae-GylzH-szcI!* z5Wt^9?N>{Zug+#VbJF1!ts<uNlftG96o<M|NXy0ES%8o>UXfJkWJ10kX;RwvU4TX> z8k*}~41oJPND|TnC&M5ZD5OBqbF{N5^SUC%OMDyr34kEMG2bT_U#Zrwy?#qC=<gOx z3e%u(WzsEPsom-9Hm%QsLM;IE`E06B+S)6-&LE6-3o08!Mbi})k`U8S3SD^2*~L(H zx^5EK$x3r#QCO;b-V9sETZ<o@9K^;osAF<Ry6-yB(*~#f7SsCT`e4Dc8*smQwnh1e z{=RRK@a;`3DCF?VQfGiTn9_<|<jFKkHwN0R)GR_)r3RMi$_#eqex*6SEI7m$GQmmb zfdhD(;cl^kkIMKs>P|MzCnYxsyNseTm^`^6ZmzKWu)B`Q?LRb8^iakM#lU2vGMh%E z>w0BGmse!K>w~HIl1Gy11L2^@Q2}!pZg2rg-9VYN8k{F6DH7CI?`2fhbzMnQ$o71) z7Q5QUFTnPlRtc6Yt5_rNNJ?tVP%Djb6?iLGr*z-rQ|m57aSp*bq85B>@a6QRXXT;g zm`lP^t;~bcj@zF=seQb06$sIHLwa+-_sFZ8`#)`3Ut?N|2g(3&m7I%H)`K3a^v4&T z1L|^bJ<Lv7iAyEyS=G~NIJ(>uJVEY#7Tuo>Fk9not0O!aZNLKi-Kei}D1W$}A2nCh zBfCKqWQCVIWmV>mlt)^mVBLE)F0D_$5hbl2>#HdG;f)00F%_uCSBBiS5^QSsc9cy9 zwO0N1uY7iwOi|(SFD5leVGjKED+GQoBvm3&8Z6zZUOA804UupEv325M13g>n2HP~j zANxP}{a)ndP8u`zX~JTPjVo~9D2Y>yt4}yC_5wR7I&gcMjvE+1i}8s5kIh^a{i~-d z9`N=SWa<F{%PWD6Z}w`eNdS)C9cxzUj%4=H%|G3K)#UY-vL=gjy?tMpLKL82wpGTW z2WI5>a-_R%DJ+=CSQOMP?~A9NegE;~_}ip~H9JyrdgS)Vqy1G+mExGO-Z&*5h7$!N zf&y<<f=O*(g27osG~=ZVd;kAY?Eu?pn5)vg&cV8L?T%ozdBoPn+QV0a5@_^C(r;I{ zVbIa(Xu}<o##l?cXql#NkVNcXDK-4zl3GPk!QiD9TqyvH2Zn1FTq@whlBgzGKuU$! z!_BS%MFPc6@M`>@?!1z)cV`JZ0$qMXCG`<Qq(E&};giT{T9aof!0dx=_N>*Gi;j0Y zD-<0P2E2w0DA}xf_Y|L`6kNvcx=X6#A}>j1b`du>sP{P4u(>g&SN~#r*^!73<K7El zj&??LaBBOMO?Z#=%bP=)w(}WLYvm*;IK67K#iqm0r}2qf-kz7MiFRy7tg-Lzu4*th zgA2+|mi?QeqghhWd*)kwFLxro@|VS(OIum?R|{4%#d|NyXjtvFv7nngXraGB+K&RC zB{k-!lA3mZ2WYQYKDW9b<@H^<cjYaY&oEBTW36r9dFsJm`_v<v^mOm#l=vw1s>w!P z@t6bc?7!9z{vI};UAM!2QoA-~8K<`rj4Q^^S@qJ8%10HaX{+im>*0a>iRwAY_1`?w z)aF3@{26Wr8@X?kBZ(C=xptE_<U^hnjO!U*k7*5Gaq@5>zpz{$%y*aXTY)<Za4hhJ zARYNqUTdzKHc<E9iH9zMhi;7~*6%ZsdhT}~)&UYHf6cYB=;R*uFOL&hNG6<CQY_~} zHkQRQKxJmhz}1%~TC6?#DExTO9Cu~_%W`k;UqeCjq0q?W;*dw+jkl$Ef$1=BxHBUb zQ=pU6v!d>MQpPSx^u@fwiWU>aOC(l&43v2`l8U2^4tYUl+HmvAgPsy>`V%kI#08*_ zx8hlP)>OYMzpd7`Q8&)R0ha}zLBA~By|V_U^7cT#{JxzNhzt*=m8-wav`sfO_x?>q zcCM(^IqkaRP<@n4D*77sd$Z-V)uWC>r_j*Ecr<!80l}0hRI_*rav6O|)@!zhCNgM} z5z(rNhT9134f?v9r9-m7z!5Zg%3x?#Ur>s{dfl>urXpM?9e?FXs$r@<8PU@><-}9G zWEMsJgS8sxFyAP`h|Tc?SO6;(7zlCBBqVsg&S>7YU@&5^CKI=MJ{gyWsmD*vJI0_0 z){CBYbe1(M`~k3t2T;Jr*Q)9q<nNc!FBb>mPM!dXDa?T%&@*4+a$Bw!4}R#<rSIrW zz@_L)+u(B!y_&bnRx_IaW5X7(+&92{9cTXlRNA*FLuL&&=P>Z}TRda$+liGZyqrcX z3)}kKn$(Y7-v9g{YHPUYSjdHfx}qN2%xnkzPVuqK=t*Mb4*%JrO6~5C&RW`y3>?!h za-4-K8l1fGBw{GEUCeiv0cZWsadOh5Vs>A}^Z_<X7jtk9Hl^Xj1F1(MKiV-*7cv(x zNQ8@Dy4`#eGAWv?tD(s}OnA1%Sunw4;eMgMV^o5|a7}t5!Ub2kjQVkN%(bqd!r|wn z$9%H$`Px&1g0TPC+PrxTo5IY#w6jHt2ER}rj_@+_XcFwRfK7Uh|FXADc?ZK}Y6opx zy_{^;EgUa+r_RW!^d>hOO|VoVMwY|8rP<|b#FkU!?GXXz$zwO!dS!C6<rLym9g=&7 zZrN0O_PDAJ+teq}5TcFWg7^-;1j%~LkI=Ln^_m|j2hjQMS}$fR>$9PikcIs!*tFAk zQ#G}{(oeD*<UO!W_R_2hUdt~d&NUGs=^DijD~9G7)rg65^xovm8g3p@k%+N>=P`U1 ze1GJ2o2Uyt2naKpgNWF<TEq6L5LaJ8R{MqKFaMK_J?-v{A(5wX1dX1L?NHHzyLNpA zf$9||zX~{qjR?U_o}R`Kw`3QGzgH~Z-4c!@S3cD>lUxwA@s!;t&Z;<|7;l=#N;kHu zS71tFYyUue&ayI8`Vt%cz^f^~%_$l^Q!3GmRs40Gzdrib*?3(X%=BJ1FG^^Yeq>dV zV!ho)&085t&UnCU+<I%UKh4m>6q4V99)zxgv^2VZLrYeg&>vm3K45uv$W%q+vX#{8 zuf)~*bXaDTtO%nrtI+*wN_<bm{<RCz#n0P|itnpfyXQOh^ChoOTGuTgR{3i5#}cxv z6%v|!vMknanHU^>kAO>3Ja@E49v);DQR%kzmpx&p-}(Qfn1(+XzIM))ZkAk)zhdh? z^6+?aweGgWS<D|ByicH)_q9on_x;*jGB*ng3+F((`Q>YFMriA$F%_AHiq<;qW{&Lf zJ<a$eNA>eQdwh<)qR(6LrbfCI<sK`fsV#6c*=@MiSl&JLsqvhchz@rIEz%NwktcLE zcePD$m?U5ishV*cDo1EluA^s0R-g8t7K+g-i#&Z|tnP}NfUSg`y4}i4A?9k<{`emD z0YxoQ1oRZ}QA@V%5W55W-0Yth2K|`_yIr^@XCK*fD1SQw2)kN6?1q2u700~PMe(>( z4{cm0mPdLH?)uMU#J=j2JBF1~o86s#;VlnAvFdCc$HE@!@XT0Lcq{6Qwt^Tds~4j8 zai$#Z%>g>2bHp6&=^^c;D1gpGXRKR@`s$s4aEg7+JP)*A%Iw~<1~v6gp!EYrHC&h% z&NlKTC!15zIpkXmr9uInG~9;1r};BmUQbL(+98UgSNy7fkAQ&klq3~UM=0=1*4#QN z*gM_MAxPjBAaI1K-AKLN%#}@~v7C%K;))j-vr(BZk~QASpXlI$bHpDG{~G?qdTCi6 z@-mg{ADjBuUp*6ZpQ2~vLgs^JkFNOdh+RhpQ~elc)qG3ucBq#1iwa~b4zF@vedT@q z;swjC?{i=>UL_;Z!uo&KIN#@t@4AzKDh5KU*1&Nc+<TYtGy-q@yTz=czv1@VKlfAi z7NYcgyROG9LT=r)aD{wrc<(+a+Z5Ijem=4wJSxk2G{<Q@b0oFzCRQ$8_UO;X&ld^; zz1?UrUh^7n!_7#q;AkKWv7Th$H%ysoV?PMrbl$U1$6GbV8XtVz(&miOfbuSlkfMb; z?BATdc-F?grlIZA#?zj`PSsR+em&w*OTZ<r*96K$+iB3h2BWhE{df9Cg2q;KO8#VM z%{@B$9iGL6j8@-9@opN$$h8zNPRv9o%de>msIod&D%`w_vbzL&N#jj#{<Q?m-Qi;x zwPkl-rjPo(E2QsOjKOLf(G!|le<9&b5@6V+CpvGfNo3P;Ka1uVk~AZOk}}-AtBg&j z)mFnn+BT5eALNr<^(LO?CY5*>nAW`>rX-~kjZ<bYv7Lh5;%Zrs{jawad@fh7yJl$G zDy)6syotio2@puR{PpmTw&j+lvFqP8QGHW{<d)Q=3SpI+Jn-9cQfur}w#?(4ps|LA zD^b7KA09r2rS_=M4qWbnG^DP;rHE-8Oc_*a$C!VCSYQRB&tSv33^v9XC!uZgq{LLc z;y{8Rf;~9ZaQ9_-8?bE-ME!;#{Tr-S^_2Sg_wU;~UR;bF$qvSimk?@>q84NhdH(2} zIYD4M_O4w(Dn<!!QhO-*C!zEF`N<T4A9#$%NimAb+sFwZkZ~YQLxy&{^t4la=$WbG z;T#<PTytbLr&*Tpc(gS@oTyxxmm=iRMn+@KnJfz`LZ;`pPY#*Dk-%tUDf;w1*t6s_ z`f6*R_U1C-tXlSSXBn2_q3C=^A{~uxEiUlePis^r4U<1(=BJE&uu;4o@_LmEGZ`c0 zy%EhdDB{0+Lnp-9s;;u>fPaECoqVY1WKk60c{AQv{TqI#=ethy6}5Yc4M&G!%>pX| zzE_>wOzs`a{>Sm}<GE|l84ZU5)ZeF5O;Pi4>Q2HjH&ON>Has2*!X^*zowL1A5XQh1 zo)FITTZ4R0s0l_9Y5SLFxg=jbUtSf6?>4{}0i%GM|9jUz-uRblXDm&ZmQXsARgmn{ zi`SeJ2{-jZ=SHtTE*Er3AyO9~mr%ba3eZS=$<wi^5`Nt1_lrX=?z$fb14PqzL6zsp zQ<i^>CG?zPesJ)!EqwKrnTp++X)Ga~w1EN>Z5yF3A1D!n0UCu8{lW7Apw}H2Obn!o zsZ>iqX4sfx@O7P1MWB@^sjOMPaE`(Cj7g!W4R;Yi{gdDC&5K#*T$E<3Kt&c)2_g!# z{co>&!fkzpgWrMY?uA#c3woSN(ACbO|Kj9rtis!-a4?uI?EO*fwVyPd&=Bn5?l<mh z9l>Ih0%iBJZK(M-R@jX=uP`b-4%kj#fCxib)P1_j3^^T|=)6}46j1fNcUSxWz818L zPo_rgWLH*V|G6LD?ZkSBSEO2Ykt>Q-W2X*ua5Th;8JrMtjJ$;!iyaP6k~vFBzRJ?Y zX|*l{y5TCqfAyt5g#l2Vtmn(R{?apHC-C6x1H`k$$hy?Ojv{_ak}g#-+?s%Vh`00k zG825jQG>X_dfcCW56|}E%=SrE%kDRv^PM{_;qVu<AvG#dOovRpmnqSNB(WZOUAxoo zMP<FCtr2#L?jlfjJ#Ldr(BrmeGUL3pwxXPA6(s><@F1*$TX&LDP>unh6#`1b?5&ET z=k9tQkvpu`$5XHpB96h^S<}D+N22IsIK}nX!)}92GT8oOk%v(fVCRKI@qjVq{!cSp zWn?G%pW39!?J*4U;~0(YRHhd7_3%{Z^ThWfnn;b|#n`t3c=n7am=;QGs|>v$_vv-o z6+N%pq4EO;(<_0LEp1$ZnTQawoc<xD@bl=ofosBXfs}YES_b7BXuTGAgE-~f(+s6= zSLIfm0D*u-xel0sKh9HK{^P`>HwU<7Gu@IJp%#eaxCgzgt5aHSk;vN*D3`X^M0TQ( z>gi&wY8$Q^+DEb<VbBE6#b61BTFclXv&>_mEq(yz{Zk$voihYBJZkAnKHkAMXZ*-; zBYhJ1frHgERBiF{Ats)`uZ}q5KaJaAK&E9uj6rQaiOkOTTPJv-iwNREwC|cPatiBC z*sU@vXVkxt=QRmr>ec!5dN&6Ot}z2IlsO*6Aa(wy_tGjgv;ms|K*`tZ`BgU$_1V18 z*~4{$ms7(6+qHr0YaGR@p{T1_3g)K|@jT#V#Gc+VYk=^TMa{Wt`T<hE@kVLMD?`&Z z46Bh=iKEH`PIz*s!khj(SI_Vg>JYwl27#H?3=?=@{FMBgTeF$jaB5gk_cMQs-ACL_ zpA$a;u60efeKrDCSUajn;~XI~t9uk}VCbslN~7H{buZXB_+J}yifX!|(?1uZ2duPq zYpIJa$@WLzh8>SKYtM=^WD_7Zw1Nqc?&h2Bo?EE+sOj}1DbHkr#`yYT%nbBvm@bzZ zjS6@M)1)7PWcC>`>V#=e1P13bD;C>SJDzg+rIm@GKxi{Pn7a-+{_OYwny!aZ##NMU zDkKC|4sAdly<+--ueBhGTZf9|J6{K(Tjn#p&`byg@7enE=Pz$SmrzNoe70DM9dsg% z<DvPMdI5#fi7v1_LD~;I?jBfsZ0@DPvpl=H>M<4&Wlwnd=@S2UmjA|lGi@|XOWg*< za;#Sc-{clK1pbK3#pb2g^2L2vPviz=KL~JI7%C4fhV;|dgK3kNr1FxF#wGmv-5T^W z7PH1!8EoaVT_ZWYS42qb75@>^<X@fB@$cIO#pz5}&x$z{jW>JhN)pc|ljaufF@UP> z!0%rTgzUytJ&IgDn3|UiH*r04R(eJ#1amfXE9NVOu?V<cCD)mc9UfMd^QUA54NZ28 z$Ndb=wQXbLAtMB7)Nb_vs%@RfdL?ikyB=>#pIW_!P4bM-&~$>wI#}|#S#~Ub^pxM! zdx{T=!BEq?VRF6TN0mM<K~neYsn_ggHIbI`Jz7eWe*jWl)+ju`e0X2T`GG5@Ye7}f zjI}bi9@8F-9&=AF2)LZP5~{I`I`Db<!%`&YlDvkaAUGWUv)N*KWD_vCQ7*_YN2>U@ zg~OcqlP)`K11d%Luw08KI}IS-tH64>{0&{m7;%ivEL?}6IXALh5%{Q8C1!tQQ`RV* zd3rqHsjWjJ2T=qCI2C%2*`im1;em(n^pRnk-9taQ0sg0H)fNp)3dAX|-Lj-~L^FKd zbLrG~Bac&=UQxn6@gt1b0_!YNeFn=K)lS^GxZ>4Rw`-0V{%7|1BH$WA!D2?DEK2Xo z`BUpNCJBrfS7V7vPy0&x(v!{Art-o0vVp>1JLlK+uv%b(^-NRLODv?Mt|e-AaelpZ z(iN~y_B0N5_B*>P57pzGy%`spzzcZN<u+bvLi#FitC#ltJ1OXA8g-d7v>UO_Te)49 zlHq&VC=dxCb87EiC{%ym=C)=3!2n+=oelu-FsheC3h6qNw$1z)33@aU-BGX0F4CZ; zGUypRK9b=HV1Mz$ZG3y?(D+X4j04s0jYkhX<rb!Vet<-JdN!!bp*9ARmtT1T>9-H< zNXAS`;MtKuSXKL(%*1sqfZZ%QhS!*+uee1J9Gpu9tQQQnC8na(!{h^5xQ`Au4TS<~ zcGu>gMUNM|Y*a$1^glE4*FsNT2>G05iw@x}+FdhN-g6(RoSw2zr@QA283Rvem%w|I zoh`Nrc`!Fq0lt7k*51_f>{(>}a!&P%GsJuciH{09kJlFG+T#j8#X5pbqjcLm^xKEH z|Kh332Nn|LxCExfk~_pRLm?;A@MCH{`0>7&2~+0gU5pOy*=18dr*~hsJJ_O}L_3jy zkha8Q+%vC%)C7=!#8c~Q-PI%wpaZuT;;<m@OrLCw@RhZ_s^qfrf;Qw)T%wWvqROiM zOI(i<K~0b&`_0x!#IVvrO<THZCC+b0H42o7V>Yw=kII(<FSX`$XjV$B*z_U$^wd1^ zfUIlq&*s08UdB=$uRQu@P+n1+Q^U<Q3u9o&;GW$5Z&p9=zNk16d?3*M7Wo|@wGoOn z`mCh_W|lVcE*0l*?Ck0pxvFd0aDKL}FqqT41GUG6V^k>5aZ14+GpUT2CSxn=7>yAf zDR}JBRjnTs?bfE9-MwWi6$I1{PFJ#94VFdycwYWzsZBU@8|V5)n8Ga;we!9!7?95~ zAN59t`TIxiR@=aX%NTi`kJcS(k6`xrzZrhZVM+v_4Z6jK)PlGPe1}#jg>X?#W516z z0ciHe%_i$(-(D)ZFUqbxc46w3xfCY_4bHmSTE1fLt?rnhzF&qBq6TM&<~p5S#%i<D z7~t|()xcSPEq%{Kl`YUVMng2)K5r5S9~aWzXWR}=Z~poH^%KMgktUirAjTLvv21>_ zb{#7jvvSWawEG=*;i&j=)HzVz_G#wam3x7+s=6oU!hjpV+7<ff#gt(0wcnp#AOVXt zxE}#kU?JYt9C$n&S%SJd$bF_+Up($q2#2>k&pqwM()gg};83hh(4fkecH@~>*GE0# zf4odA=*(S_e0#}qHaqa$1+!Bk*GWPyQt3Z^uTCFcWc2M-Lp?VFRDGfR9g7)jF51P~ zndkmk_Dw_}vS(l|IM<+&fIWwrlZxtnZzY&ByH3jmxrXXCo>>uQ83(OY4GgkvwjNFG zOs}OU?|s8+*lkpjpI=Zm;ImY_Afq2;7ttP{9I2>Z^6kvHca-UZQDHq$)&Ee&+%z<9 zo-~4*Ew$;rrneBE-dahYj>&)>^(1Wf^}WI+48Jyo?Uu`p3#m4cimpP{SBA;`KU?Bb zrUH>4Z0zUjP_Ffrl!YAP8v4s<t$BuQQvoGs-JX4P*Y3{G0E;VWDBc6bnMIP(^cCr0 zy8t|VupoJGF}YwRVCGeRzk3O}yHrzkVXf9qr7-zgQ)80t;KIKm^J1HnbAGq_wia9e z>I$i*5NpWTDTJlwt6RP{MPs+l{r-Wvc=@S{^nH`TZBUTKQgaOj^+j6)w?&MpBV2Hc zk!Tn#3={hBB$u<kraod=L&kEh(|qr3pajY0C#P!F;gfruZwnA0e;&2RD(X)s?rM-o z{efVR#|C+QbLTefv4>p6b+>)@Y0rl#UnEH~k6;&ojNPjgm!I=%%W?Vh$J95~2z7A1 zbV>zzVH-GV1?T-4E{%$bZ82o6?&!`aX^sSMuiZ6Z(o0*qu|`9^Q+5gi#$r+Q-3?Z7 z(us;KN)g^6o{3`mo+*{Anh$}PC}g6t;T-fG8NQSoXQKM_9t-mZvonBBD#x=(@tou{ z^ociYyqc5>q@FhIX>y`@YbQ+SmaWsLXK{g?$MWNNO&FBJtr45TR>bF;y%&JF{@1GZ zQ}D!g0dWautcc5kIjqZO#Ph3Y^xxhftwK)7d0k>v!wsX?m#~UF+GZA)_7!uFJ0`ip z^k1k}&#ClUtJuPf41AaVhdyULe`Tl`TiYC6XGp@?v)T%GgKr%;=0Z<Ti~nU<*OaPW z-#W`2?D~4mqTd1L0UPzf-IPuP**CCl8F5D!m1{mOwnOxt-!I#*O~KX^jFcK*ZYpC4 zMyCm|Icp0DYnoP5PuNflGT4gjR$otHiPbkocC?A6Llhyr2X4b6;*hwH(z%<YTwCb3 z&#My%&7MH-f<JY-Vv;}qQr4UWU%D~VlSxIx!A($@-zcdK71L=-Z;=v~6G8QtDVy<2 z)KijVrS=(3q5;k?MoR4zEOTRzZ^#Y(IiJd@8yV)D_C4pi@qo^BNQosp=KMsLB&;kY zs|kru!N}~~bVqC;5pB`?o)(Sk+QK!d7MuC%T2tFUeE#_$wbKKfpCFJ5r%x9?S-^x_ zj$XZVO>^+Ga)3Yki|G7qx8dhontj^qblD3;6H-kZf98@}pG5)!yN#V5CX2@(g#Qyl zU3wQXJ!uW3gj%_#zfS$j1V6rf=Us}bwOkt4*HXT132${{m6lYe>ac1%#e|~(tpAnN z>QDQWB+NEaET{KNS&6Z+Y@UE5>G$|_#SA9vtN5uCPX^=_b=8sgSgkUxUH*D!Cl|@c z?hEV^(qcCWp34VMzn@q2mtzCrIih?B3uN>zPzNt^BuCwAe4#(YcXx2rXVixnqj2xM z>M|6;qi+(t1QMKMlJPUyl*+%Xm(_Nu_gAt?xE5z$HO+lvXw1z-%f5(U?Y!i?-5KV; z-yzD4!n8>nV8`D3+wA(^mOh>E{FsH{kdDuOV7F2fZ~I~?44m(PpfyuROT7&hOBe%x z4k4VvJ~Tn_<6(F!FgS)#StrZ*Q%KYF_|9WWsfP=GeNtEDPO#+KgWH&?w1xdkme?2* zy)*4$0$VYPMm$li|KmKY$xHP>(iL_0&AK=2b$X${nCcm|HvpseB`7wUk1dU}csfiW z%zIkhcXyvpxoaTXkDBAEPyQ(TQFvQk?;dYZ)HcMH=j<sK01uGYg|Id@^hWqGrN*zK zmy6m#KMwWYhz7ugul%pbU{yG7Xs!28zLN~S>JtK=lh~sO^HL&G+ZN*^s$uR+F&f=* zEh)F2!_GHdvY!`rRHMYAMhYCv2dw}O!W$S5?hbWbb5!jVyB4<z0yrfs1Av}1%<3da zf<7iVZ8uSV_Ow4hBE!*?=jhxFg~AW=QpL;E*bc$c^PnYOEpX)K(pe5xQ_44QeSsAO zQXQDuqH9lN@=Hm~O-itEBMcWd69c>nobC^})BX#&?(j)WVFjG>j<U&cId-3m;aD^` zlCwsmKXIw-TWh5UMW236`YjJqsJ=w|83)-eN+sd?S?qSe&D}e>RTsPF$U6C~n6x5R zBlRh`uftbiHR+fSt_>xcorSt_keT@|y~cIohgE?6I$3<*{#>R7ufy<uqqADGdtb#a zDyt=S*dY7~J^_v<XOH95yopAY)Z*Q0;>i87G|S!|ZOW7vfl5rbK$2&S^Cplz6sHt( ze~xQ<574-5(OSE<GFO|I&HB_3Zq6NIOm>0oE2QYcjr-fMAw3w`S1bs12f9_2)?cJ6 zA#;`F6Z*$_QY*&Y-VA|pjK(58gRxT+VP@W{7j&posM|06c1w-RvpzN!Tx7d91O{@Q z!IT(x7mf1ub(XHN`;OC~!c=K9IM#C;sCJWm^<XqcfKsM8^}+q|C+wycG56LEgX<=Z zCp^n{iFR#(rOD`gsfb-ly1Pd~v4rpi9XdKo-A|=75mE2h|L5UXHWM|Vs~kNwpqmIk zPs2B`>|AW3J*)WhZe14H30*-k{R*^mu6`Ot<`igNB!C#Ls4LAf<l^JwK?*+vXj*6G z1@BBv;~^c49b=EyC!!W}?}C_$%O^D+dM@c*r7^s0nqYm3c4Fuw<YLgWDs~xTwx1oF zj?6a)*RI|<cZhzI$-5U5C=3vqm#EJZdxf2L7v1}fe96!QpC1?#8Ff<ww^S<AEx6b9 zA_r#jJFtxmdbulp9KLQlX44$tJZAJSwWzlcd5GWgA?^THYS}7~$obCzk;X2hKT5$P zO%s((dFbr4yF0RT8A5%aji}7fY7Nf*=z0=#7ZEIO!78Vx4X-@#=XeqO0C=y9n65*N zrogkS@4(T1+@9xd4C|G8vr!4$T9165gl`BDaWnt18L_wqNm<%oFg{##@4qI@PWB;) z15uM!>7Vo_CCkK03rgEom~Vb@YC~N7XaZmdu~bM2MouxVy;vA=_IZqj1!ra$(uZ6D znn$5&5ARTczE{iW@*_$66T&=dyHsE$AFr&oLTR|3#R{D%|BAPYUdtQH*~@n4<q<(c z9-AefG!vBCL3?X>57wW>CYN<w7yY`Hzb3i!8DDL>uCTNtK^ucxU<J~?_mg7*5nQHP z?8iy>W*Z_Sc91|~_fR=e;dEwFwf=IYPiU;?&LDEgLIT4-->N!EWU<e_{5R!MSzm9D z+r%&6zU(&Y<__sxlO$+=i=PbfLCdVWnAOT6$0vcd3AzbE7jw;{_W}-~bZq>nt96OZ z<Rd|RADdPq3-{MvR4%E&)YQ7Lo(w#q(!@{mr-iA`71OD-!?fT##KQUrlBEI`B;n+> zy@eMSWcjIGQS_4($u<^E6_qP-wb`&)9@#!3EOGs$s7^nCiKunU>*Jqw1*@pFIp^%1 zPpCf3+=b^378}5njj!D718*kcQ9u@;VSZ}{a_m1gj%<>)N2HC&?z2nv4q_TlK6-@2 z?@~5dejREBTIw1&r4sNdrSjb(C$t6-m($`Q0%YBzzKUj=`DojlVHY*zJUnnIDI+;# zOD=))Sw(E^BCUFci;3hR3dC6B%DD3rqg90+*{^5V32Mu+z>a(1HV$kdMHSEf93rWH zq|U-cN+JM6022YQ0Gd!p22;1yFU42=>blAi$JPy^`vPyLe}#jPzeNUL2#4eHf#c>k zyT`vv$Y;&YJ9gDjZhM6w366{|zxz>=#|KMcwB=u}wd-wA@Sw<A{xJV5iICYa?YtsJ zX;_)#Wz>QPd2A@%WGi4=b=~#Hsn0)~FFzwlB!HHQbzZIH3{+Z~HN?Id$u!A+Oma~8 z+32Ko6ayxx5KOP^z~vSz+q&}$viNy89M5PtYacR7(|&00<7mT+zl%jKwO%4`8hK6P z7ue=+%ph@MKl5BAONm>L8?{u1nI^oQS0vl&-d3IDdK$`k7iYpNng#c<Zxbyo;5+nl z-~IKk*w}<LQ9(}4rY+gU8l@UWfF(CSe+BeyvCyqtGZ8C$-FWl5CK>1^C{RVFd-N(I zG+XY;)6}^B2B%q`Sv0Sfg0*+SX?!rW149^|)^GMU*k`p6>|002c8|QPE)D3v6Akr> zVrjWYsJ5iqV7K2)bd?&cCYXbaEjq`4O<7uB=#`kizVka=K%6Ev+_e0cqGp(D_}jR7 z&nPFVL|5@?KucC~GNWz<SD9*1+$A{^SHCr6Y9)SX5;*T9h7sScuv~uHTQ2Ll>`zlo z{qcGY)m(X)W-VE;ka;3CA<azaT2dx$)`tl`)mSIxSNK71x{g*wvRg4Hy^5S3_@h7K z69zA44EYc_B7O?EHAGYu82A`MFp#WTm11+gZz~3*n|5uzZr)hb1!WCct_`#LbXDJ& z2jA~rYgZGX{^$lS#X%S|@(X=bdhA1PhCwULnKE6OrqKN>>$16`X>?Y?^rVprb@X7w z;DEVxy3<|_sd1zZT^00bNp3jt*I$sWM_jAz%`v5sI%M#jaPL()yEQ)IxVR`RU=q^h z@lIJO=#{N!RWxU@4+-$spIn@-JfLZhhON(xm{?-^jg+r_mY7dyT&AOGo3}DE8I9=H z)qU+!=h6u%_JNGii?%oIYWF+YCfa-Hy8sU$z|1MNnV7b=bk2fogd6bBlhOZr)Z@)- zg47cPZnKZxK{1hn4mn>`!_J-WS)Rmbr>#ZwnQTBHU0+t{hk<B|e;a}>Gop=Q8b>{U z5#cAVG#?+b5it;U##OckILNDIK6hGvmXve{ap!=`uXOlZ-r9}4!TMG@JQYSWvNIHz zmJ@&F%ah^6eRVtk1qB0Ux~1wCfK;UWRDVy~*ib$1Xk_snzUr5h?ps-wLLMbmM1DHt zv4{)oUF9Z%qctW9H=6FM8Rf`K^~G?=nLKAA!J_0W^<;5(ccfTK*CRXXAE&J@VR89c zws#ziYzWo1#53>pPOM~VG6Rc1cD#9$qHFc?c8I7R=8exJm0+FLyH2Y{1stZE8V=dC zHV39J{#^c3ZNks*Jt5&sKh=??iY1q9<kZzR{f1{Jh;2SU&F#s)d=X?J4-FCUo1cAu zkWGO$9q4Gh^pa<}+`&ECcRd7>bUsvm%(<~^CT6tH!Y&1$G#EWUf<0uo(*+ozhi~LB zs6XL=lq-rhF+LQQC9>*Xp38)17bySXDQN|ehcmAQHhR<;B?$7oV(Bgi8927o@0p`o zyWs(pnJP4OgfaM(LxG#^Kek%~XN43Wz}C><Gbq4L$<9`^{C|dZq3Lx+9|2y)ygwcX zlyAc24Tw93ySsDcFo6lE5dgCD{$+d=sbLB3i2_E=3NwRJ%~vKH=T76jMn-VpIsGA% zjbAR^CVFD5$^y=03Ec;+JOZlkW*tW`UTF2_%KMxob$2^ghu_wHy`0bNrt{OI2C8~i z<8B@)E7b5R@M-kle*ae2i-YIMKakl543VLmUu#Q}L3IdS5mx1Wi^c9gdim*5g4H@! zP{=LJbnvczwaHs^N%31pg2@((rwr<x+}Fe>+DMn{aDuk(7p?AphAEc|4AEbGzHVHj z7=*nmcW-CiE}mmxwjuhy)51ibFTb|yjj0095goJAn_aTG8U8zNy_59q#%{I~Jl;0N zYEqK1KIADhf<DeNg2i~aTG?&1k%|B0bav;We3rY8jjW@HROXwVu=W>QKg9Y)mJHW_ z0OKouC1R8qa64GH>CMZ;UX@-4XF(+p!MDMcEB|K2{t|Fvzkc_Mjvs!f34WjdPB6JF z94t;u=X*nbEw%~1e)2j`K0iB-_dhl>spHEBpNa}ps-Bzxi2wp>+n8IDLV@AlO%hd% ztr}^<wCJ=Fl~7E8$ETaq!!=&_CH|10F}9){zm+>`ECKizavIRzS5oO!HNpiGhFR?% zyVF<>!L=B4IBn3iGJEmbu+y>NWi2j6n<WkQgCihG#uG}NKh|}n*c@~l^rT@(?=kw_ z5U+?HcctVy*Fsj#m`A!%FIrapr;=aLR@7~;3RRn*Eq6#2`7)e>VuAahKT-F+aQ)cq z9ygeV9FFMt5)Z|Bo)@v6dH|EnN~)Qh>}-BfRb5@{=;_HOm480>y21?u2_`iq!NPIS zJUzk7zyk~5l?~(kSC019n{nX#Hj|cqr%`Jf;u*b4k_;gW-}of+qx&Um%yp~5pSf>d zSyJu~?#0SEysNPCoun^a91Gf`0_9Gx{z{Yudm}}dHV5bd$aD+4ai(aur0$T-`%eN; z%$qoG?m0c$A={Vzdmbm$q(l_|P=6iGGNq3~+_e!Lc!yrR*K(JbJio!5*5^Y=p&H>n zZ=D%V98~A-$2b`(z9Fa6JM<2(6)wOPzF6_twtjd6x+C!sd%l)OX>>kVum=p;!U%OQ za~2GGW*62^j=rhBVDgVmKr2LGNR5rnXL<Y!xHaayF)nqckL!MC!)pl#y&@V=w9{gN z*rmbKE}X?XN`W7|4_1V-S~fK{<(25!#HH&tU-+MQTzVK?+p|34(#>~qoePmji~v_Y zx$#AH7El<R3f`OpwKD^r?yzv|T4wQY4L(X-WmBDQk1+}CM({q1c^?66h8@KuTUaGS z;r5G*aqV*w96h(x-^VcaD6OXh=<g34cbLXTFY{Yo-93wmL%da`^WZ^yIXT76E0fkK zM*ITzpPz~HTf^J#;&+!#f9E@)iNM@K^Qb#L<coL>XG-dYyW-c_*STLJ{O3eU6KXS| z3lmFNm9T0YYUDvEw|6Y&km+`@t+e>DVV;Hzj{0&6vYbgdJas8$o99!K@laqFKt*;K zq3_6E7~ncFi}1=WI41cad0)#Xk%c0_*&1-F8qV}!KDO00@B_l%d*^!sV6Vi8+0fz8 zf&ho*ov4%!xZj2`$~r@Ld}LwKs;;jWTY`N`?O`<0hZBtLfWDBtbcWT6n~jFIj4-$n zmtV`kyjL1Qc&YehVgX9_0IRE9)1-2_OWgoT-W>mrEhPANd(C36+k<?svy3dlpVGKa z+KN{u`cGvq<hv3@?%8X2C>o-T{<?7(ac6|S%zE)s$)SD@=d(;?P(})DU+y~U7yHP6 z24;GXdiE*BfPKJNREUY;LiiIcEigN9N?&pJW&Glk%ZY$hMyY`awnr2#9Kn!?)^=8T zc$nS4ecP&!Z%*xhiUhQ@sqv)gS>;BJb_xf%XpTWQ|CL~Yv$^hsJLd5AOb8-?0j87Z zEgs%I6g052Y?AB<!*Jj<|9|$ZVCPCRc3p9l9K4hY-MMYxRd<&H1_+5n`gm1h!1D4A zFq7snZ?u61UbMgP-Xm~-9u7GEtsU6sO2sUFVE@uHm!PGk$OS%y_G4a4)Vs<Jn%|kE zT8|{)Dmr_EkH>1nv0tT0h)#ET=mNLVdBV-NTnaG_S}x}%ByK1w{c_$Eaht7_Tqw$4 zyF_**FrHqoPlbnrw)0u`|FKc{r;q2-KmpEk^B?q%jI6~r9&`Cj2I6(>yL{)8dbP&L ze&x7Xw4D@?uJ-#dSdY3Md52*nOGlMF-qt9YqwQ9PA#l%@7t3!3G&ACA2H&GwMAd;o z?{dUq@m5eguaCCPH{B`PJm8>l^!zlPg}s%={`itG5-c`ckGWJgJb)UOU-Z2oFT4#9 zG=DjNIvA)LZ`Voa<ZVxn5bF%aZJw24sNqWuy98gl%$;GX?%)Nxfp%1V?^<oJo(vUu z-6|-mowXlBg>*Cn2K|L2_OP@m56W$}9yVcA>^2Mf1hvVf@T&K9uND^^b?ah{aoV7Z zP=M~loMvK-K3<G6vb+3#e0rd)V!gJi%k8(OyV5tc9|Y(Q`H*NQVr!Ar=C6=4yz9)X z^<@-x!=UlLz?r=v<koPjp~=%E>uH;Q&(u_gLa*dNc7k&+nO~D#WV&ED*ExKM8@Dqb zAZAEEqb)m<43gVBs+?@aG9jSf&j1++i}w&op@5^?1aEtK&sYqUbp~Z`h$<?KZ0}W; z{(NnkU{FB>0uDADfv^*!w4&840C`CJd-1>o;UmQflZx@dvxRQNK0730ZjDleu+G37 zTJ3(mNGgI_vwajJ(|N^gbbRgfr$ZgmTL?sF)R%#>mNv<}Wv9^!)>8SsyrW!_5wYGB LXtT}s-^Bj`ni6f3 diff --git a/.next/static/media/erhart-cockrin.3697fef6.jpg b/.next/static/media/erhart-cockrin.3697fef6.jpg deleted file mode 100644 index 43a82e06c327efb9d7f7c2ca9a965be15278c82d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 561720 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¨Fay>a$YfFdVjbqy1pO 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%0D58a`aZ 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≶ZSQoNUXQeLKN9Ok8eC(-_%|+ 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 G*e-qS2U?d$ucx7Ni2N;f|D zaa!BSt$Ed^^v~2g2)Cle0GJR`oSweAv&g&8WjKaNZW@|jOm3nTHJ*5&RCSE&szIxG zmD-Q0$`rt&m9p@Hwyb}>F9uL95$n-d*#JC=xUzHiOixDQ7<zU2rh7?hf}dQ5?qLm* z)ksWR(e~mOZeeN6VF!BQ$m4ZwkH;jems6M4u0G#p93Z0g3I9*aSQQ{|oAUDmGi~QY zlQF^RW>ex|JD&xE&G9xF+sQN+K-TG2;};}g?HOH>l*tlD3HP82&rlMDF)o-EnzW2Q zu<QBBe!4GN@1v`Zcr9EJ&S^pk;ZT8+A^0k95paG`5cT#$3XDTlfhO1L#=NxOH)tCG z)4D}GN=|X{6b4e$`-4v|5K#gq%vcsdTWVvVF?+oZ78=?R#CH?~kDW)ny{%%HvBLOo zdHG}-JxxXh*MgYXqcS87l!*z`Q%l|gp$k%Q=RmX?P&}ne`>z(oH(fqj9vRMQTed4( z;m4MIEYvnK&zPT0-LcvaJ)T9O2hqHjcrF4Fzelk<4Wbe7hbu~@$Y1_;IpDmjwC7;Z zdJrKWPyYclgx{ke!9<T=ozou7mX{Vf8Zt|Lq3dldvvSMe6j(BAU6$@AAw}m<QmBoY zvPvGX0`JDQelLBZK6$lp)3|n4EAsc|euItNjoO2EL#<vw&EjEpl>lU37KsUT>;G)s zZ2Pjd3K!JvOe@HwURTW)h1P!G_pE~6LYQ^ZdxCO^KX$8gYv+j@@oD%X&Hmma>{He_ z0D)IID#nUO``_HlJomvpqPwJpIxs6Am9H&*`SJeS5aGMfcjeJPD3dMv`S&AnTa5tO z+$KB#XRd3g?JvN?(YUnwM#+!;-B0Tc!}b!x$-rP85D;_>b#<gUziulMOvU^XkahKE znc0iX=d$Zt`%NC}r$5+v^1|KOuk*PX5yqNe{Qlxpddvz#q|ubR{4@3nWVg)~pEnMQ zq;Lmnn6^V|=<IrRzhJGcHnO58&b}PE?VsLHrpJu^`+Lps;rF}czu-2w|D*nHoo${t zeHhXipU;W&7S1X#Uo^Mh*}c-gTpcBl3m{-OS#PqUebuS_`vB<a1rOn!ClwbB$B(BN zHAk#*vo>5?)au@_AvK57I)VmBY!|Z``0~i)QU|!31B;Bc3QyI99u4btei~P3ToM>6 z@QZdfo~#=Np`P`GQf}LkgVypbMvB?vf9r+27)Bg@8T;ff{i36<uf5Cv=%h7qyTBU% zN5$+#^{Za}cWi1J8A2`xge+-y3;4A#+p-GQ+N6_{V<pD64YUtwg$xbPzFP3k@DzvR zbE_hAy^ka{{n{50H}da3?Mclg!i$NYznkbfuAF-(E$R;mFtoxtq$aKOzpQrR-mIGa zaIpw^L(s^r<lq<#xHO5kw0!AU_x{OY_TL%|x(RH0>{*M}&rTov07ci<F2i#!_Tv$U zYwInqtC`7Z@E}Eb$dQFk7-;vzIyVnK3NbDR0(Y07(+OXjtDf|<UUwyRXgxaikI9p; zLt%wCNOOC}uEkrM-~V#TA5C48#Gt|%6-!jgfT*04Wf}LBDq!#&J~60OYHnjN&TY3Z z`bJ&jHlq{a$KmX4F{Y{;uJ=pE4{Z`n=KuaUA?q@PR>r|WgK7n?L$IF07ZQQGDd11Z zLwG$LtpL}z`G_h_DU8_?hJjAYt3E|ilFQzGh~HnFJXuh1tTL|IQ;+`BD;>}6S7BxN z$+MyL$?@sSkn%mT(3t%^?+V__mXsUc1aK4=ojNM->UOvN-quvTa~U!>|IeOzgFb^s z=Qn4zW&S;67m<Cf^VH79NUhXn*ACAZ!ReyC5}tUa{~K$~*J@8ecSD3<?nLwmE(0H4 zG$b%*wlUI6pR(t}zJcxy<9;b_S^YcU#)i>b;r_<w_8slf^RRL9)W7BOb7`Tta+~QN zuA{upWlTS0PCYED#H8m;o(5#SEp4fBAKuNnlIDwo2XQFB7|fEUK)5u@ODt`wBA3PN z^!cT};+q{_&%W0B1}-A@x#hQ?tmPhwq_6NU^IG$+UtL|5oSnnwazc(TP*%T?aK}ds zxBRC?y?Xq6UZI7T_xZeCN+dX@o{O|%H6?lcIBZ$8;A8yeN4~#-DW5xZ=Fgt#?52a% z^*MXJ;=eVMdB^o(AK##Q8QyAyXWdhO%*=$SNc>&Kn0NT&Wkt!h4yS}8FdPNXp#)bH zGyIY5NhSkd#>3azZQ;oX3!-a)#lLSn@9q^G9)7KBLw=FIKjQ9nqeEk4P`Te%hU)k3 z+4E1^9c=240DHxlbw0O^#9#RR2R)a2{-Nsu>$vuJU;l?9R+~M!vHZd9#<$Clmu8qd z%3!z9|JENYHSU?B5xUfkO;^i9!QCzg^UobLI(Y0ZJK*;?MAx22K@3OBh=I`12$ou) z9_`$-da;A2F1Yv)^jDHkt8=#H0Aq=?M$^ZvT#+(*?rT4mU*7n5mxxjLdr5_4$6>9* zKdpZ9oNvKT)fEKnk5k8RAWU#&qL3q~5VXThe&Cz4Jcxnu13h&em!Dq9gt2Q>jEu|Q zl*|AeO%!-;6+X}ZJ23e4u#jzb*0AMJyCToU=Cytn+En&7oc8tp^OTsY-zl0(zlK@g zZ;hO-qygVpY0HN-W^q_($L{JVpMu$-x^6bBf<nhB=!lnH_0h50(0;Du$wy~TPHiba zd(;2W+fAFCAEV-T%T2&W-8GVvbvbblBFfwCl)z{zQ5Di|Gw|vZD+P3T(b3aYAXj|X zxXBv1ujckc^Y^r#pQKqgZxi1A-$jeU1>vM7TTl1KSQ}@{7}4p-;@Ot|TWqlD3Yre| z*{h}*wI@$;f}ZM#nW=P+I)IL`BvfS)0b1(^w~6CH;?vh#-(N#1j<)FE^E$8zhl8Hl z)t->H81*6XtK?nz`Ql7Rc6Glg$1k5$(v}JnpoNe1GU^|`@*_I-@3JNCzw}3mcfs)C zZnldeJvZ3++2tp)uoPnVz6(Y$Xiejz7w!{6hrh1S!!~q(zhr;HG<qOpz^|;_xLBQ6 zi7;tDL*!Rx82wFk>}v(>Gm9yDhO&N^Uur&yS_nW4Q`RiwQkBmi{fpkx_~~tB)#PZ< zUcHS9+AgDC-fE-$Npp5ip7ywV0kJP!M!Sck+;FM}IrUfl5$|qqo8$}7*#Te3QMq7% zex1gz+Pxq9VdO&hr=<)nYgFRmwrkzBcTe2NW$WoPpC3D$NGmHbVIT3mJnte5dDEzb zc9~UvDhY7T(-;?La#6qdRJ61tg>K82ao*dBz==Ly3;v#rs84kZ|LWh4o1~fj9<+na zo_Hg|Bljdmt(<H2UJBwMgfDs^dl|uQ`;gn_zs!7<be?}W=_qv??jC5Hf9mbPQ%v0Q z`r9=wJ$`mk&#yCl$HPs=TxiD0-=?R+H$BkSFS$RK5vR1hx#Pj_i5k3Rc~X?8Ah;S8 z86&JFWq*6~f)!~0b#KjLb2r4~2y=MFaYn|Gz!ayo-;eHN47oxOsmP>XTzuNCt}nJi zjy`zl^63VEakJm^XXZmcCYZ!fg`M7x@ELuOB$1O^g)YI^wd_AK_cyoR*m*f@Kh=mt z24m=jm+5D*b}+<>&5F~l{f0XI-n2x>%YS?H-v6&>vtXa`uP-+)qW(%KV4JpEeX8%@ z@dQ6r{51d7$H~29Cei|xR{!YT(Y-n)yICK8h2shJ!50ArI7%2Brj~wnYyYxpb-k|g zGV<HcDVu&Raa+9qQ7h6Q(zHEcY}L6O_jRIJjZ;T}K;~y%LZHhMwMw*Z_(9du^fSJ; zW+ld?`W(Dc$r6#PFMn2+Iykv*AZ$OeUGKoSIAfivoEH`e5j~_n;SzB9dgOlECyF~H zqsA;fr4g5(Orx~*#&dDU`Si&T5P?tu>K%r|flj;~pzI6sbup^#;wmfTa^(ttvL$x( zDgSaM1&j7gO7}_J9}%SEd!X82TdugY`p0>o^&uTj&8_3eEDM^DlIci*MN{x^2x8)1 zy1SO^0wzwQ9Df>AYhRdFk|bWd{yLdewnQCjd)iMf^nG6Z-Ph<<C*0601QSWtQ}pjf zMDi~anQqD4p3p^;>La0Fd2o1W6Wn7kvl4V@G3&9rh}HhCq@-BF`~O_j(XF%P<_i9| zSQ-o1cysomnAubArM~@i_ZPvx<bvr*W&Shc1Iug6J6>#c6x}(NFt}rtQ5y0-D{2yk zpkuMgYp6d<fMak!Pava^%~e7la*ke}&gB+^4THdhGb5oCMhZn2GuNs6T$ckssE5Td zE=;TEy&B_*ja;&H9qVDrw^$bRpURV!Ltx^crv@ZLODgW7E_~ztk;G|DIw39Jvfq=u zmhyy6YXKT4jmUNjztxXD^iB9A!0m^1Z&9eqA<R5nVM|?1pk=M1s-6E2X9U$Z<^kYl z_yjLK2vz^A<?QUTTCs-m0ictxAy{aA)1peRodn&o9O;U|Ij@(@e=KC8vMT`_t+eHK zFYQ$d*v&-YIWUj}V;vx5*Szzs1u6kx+L!NStW0&mFx**K?N8+H(Vlg~(DViVXB2q$ z7Rb;e<hXdzP*Z!Mv600PLL2}(6nq2)9rA_9(iGMG5NAo%#ErL``>d^5DeEluIR1b# zaF!=dTne>g6f6_%ci}Q%d46p;=I!2?L|~s((~He*c66QWavv2XbfsU+(4pGHhlA0= zbPqSTpYLZFq{Pl~&>5k=rZRJJ8FcwMy;pH>JE%H{;O6W5C(p&Qr)Ztv1BBMwXB1xo zU~a_$$pMry1<zde>hjy3ZIR-2&G_=V*G4=EUWrB<#x5dL0@L6BZ>}g!S=7iC`C@|` zl%Z}k0p-pPzMDfh8Z?sq{}0V>jZrxzmeU{VNo~ij!}c$F59LliARZpJm}@O4<bNU! zOdBUlmH}Pp?{@`H+-@*{q|Bb4`PmFsaV~>D{bO`(pC{=u?&!2uc<P!PCULz);_XWG zJ~Aq^rSMq{5W0##+YvZSk>{6jy{&wbhejcAxfw&%;nw8_w8hC9#g&CBE{*}F4llFm z*wrG9G;JK>VM_c&iG^mO8>a^E<{DzQDVJQs$WDr7zr1U`7FOt(PRNI<p<25}35q^a zz-^pVqU5k>6%2&Iu4HziuO>O_$p+I^EpMG>qZ>%Ld;aY<yjlmIhPYCGZV(nsbcjj9 z?v;pxl`{&|9fR@j6Vuf<B87B*6~yOh>TUn_9;PrrT1l+oQi@?jE?meNk`BCin?H^} z_%<7WLZA4!H1z~jHYr1+n1W>&Qb&K1`EBnd%n=tv45&#`7W;bg=07884+!l?05AA& zx3p5jFLKb6(N=XZ2QuX7suE2<`^uuGvX4_7aGRa#Qnluvoz{TBAJ#Tb-~-XAX#M7y z<cuVv%AF7Jh1So~N3kowz>h3eSlKP*=K7~nF(!>b2abM?X!*4>HO;AO62G#v8qM+l z@dr-YD`z4a+f~hHtL5~bJ=lF>a%`8}$maE5)(LlxLABkSB-vfn(_VidhD~_JBW+W2 z>tF42V~Yd52Vm5mvH)}{J*^~h_S6Et^q-`+2gdMOZ6#fs;+;Oe>KwS|?adDUpa~8o zDT0})Pr7?Si46r$dzqTK66&hUznrXiuPSTs7~$4N@+O`4l8gGHVHc5o>HAnub$fr! zS(x92j0)k}w*dj4S|KVSt*)p3=30J-bzF*{UQn;z>WqolUBrlO8){>b(+M&Z{HZTN z2DN9P))6VG<Q)B8{F}byJJv1<{DaSXbVSDko2j>kKfvTNrbfCTLw$U5DUR8+gu8J2 z4Rpbel@EY2E2)DS$2Z1Z-SYnkrY>!_)MTea2Tz`TbvT|ip5Bx^r))~C4=tAyZ^lMZ zfCcqXUM#gN$P~0gn4?z52nqD5LmT=hvu}J)+4#yWx_lF^fFZmjL`I3^Jc>9*-%AuQ z1ql>3`OophqC}fp#>!bQ&^>KE;FFAK0AyCN!&}zlWvW4OWBp}GXr3-zZY-DC3v$(1 zi^!&ckYodWBjfbMUHy9fH|Q^?@7$WX@-q|TQfo{_bX%RPSBqF}-(!owG!-jfRP2xO zV7x=Q>4T=6I-PSy?tcMh5_H&;z~O3)+J6{uE%m4SP46w6Xb^CRX@jikwChZhVd3>N z(@{oR<dgTsE7e)sxrEU%pZrP_t0#8hsx=EfMzbTlC4ch3tfJqiO34x5<NE!9IsDeK zzg;Vf)d*I;kF1(~!S<AN6<usUn!hHL$?G+3YX1e>?AF1H>c12S7f>0ecTTw=L7uUq zdpH=n?6lU7<AV%0bcr;7Pj(x!rT{b_2n)k9W6H%bPuORD=FZB$kqFPc1pG!Z8S=^^ zOJflB+Bi4krn741SX}2>KNR?V!46(j?o{&VGFBjZ^8Ty3`fvpvHZ_^K1PMK-NG#${ z9lCLM@h5#3aL1<k=Q<diTT}Kw{z&M$j92gmIt0KDilatnD!$E?v^1=(gw{(j73xNR zto)(&XZc3QLwK!nC#{_)jKlB5eF<}oWT2Z$MlQFs>BV9yv5CO}pWI!TR9)K&ZgLxW zdWy&mb=rso5nhJB)?K$^c2A(D@e^UsPnt9zCP@S2EdQa@C9DiHV=Ji*2CocFA%GPk z$1!7KW<FR?B>Cx_`{>U4+d!?H)eb5$E~nJCxar3sk#z%h0Ko+PIU34oM7FqJ;^ks2 z$$*cF{z?ZEJEP@lFp+RCUPlMq|H(Px&bJ4Z^^<vdx#}=R6P)NUAfr;R9f_wJPfSMY z8RIg57(SXfxuCBfzU7=YuKm{4iSWJJS)*d~^9{PyhwB9#u<;12DZ90ZMNs%&;@#8X zwBj$OcKR{fLlp=#Yqa>v#;a@VS8i@$|9XGzv#>?foHP?}^AvKHB06$5DJF92+XP7l zq*l&ds*9&XY>S}*R1S00epD!>U->d$(X5SlM?2?o(<aN~#rPDe+k+MQYQ^zVd|Yu5 zsZZ)zqL#ER`6NtMU!ZO^{i+k8XDT}^FHaUQAgf2rkDzE4N1Juunr$`S<C^3+rt`x6 zMaNjegRgsuo4;BHJEaX47Q)w7vMiCXofj^&9;Ae<dF@kx!H6E>AcaMaK_0vI+$#jX zu<^I8Y=fPSTH*0f=<%Gx3o_$!tiX>cMXv=$*;!uys$bb%=fq@-Xp~t(W*Z-lyZZcn z{P&wqj&DUw<E!&HU)@d9zuv_g6h}kt+}2{diOCv2F=Qu=8Le&}Y^nUzQdU-+5Z&7w z&EgHL|5EwI6Kwoziv(}5AtM{*sLj`|_8#he5B4c+E#L(26bu2>)f#?Nv0nyO=Jz8n z0*yA&tv6@82{i?$|92?!(}u25)JYlBI74;t>lH->Zh;{f4fXK2;OWiB#ogv0Ahw)# z$o?jd069$=*9946Z9Q-Y4Z8nPZ`=_ySY)($a<}m5g&7$ZHlPk>MD2{eT|3N5X^`i_ z5Lo{Lf6#folVi0r)na_@$IfFXJH{Q|?@{1K>X9tss35^y)zngV@4?QD%EaQPR0NUA zz_dN+DJ^^%f^E9fg<qQ0t{I!Am^&fnO&cc2-Q)q-tT`7wNs3O$Aj(%9+8qKt8XM@z z(uf%MiLZ^fbd934wO3wFEaEfBdYcYtgYbjs_M^n!auJYr9~}BI4izM$_Ut=6Twg`3 zsGtb@tAl_0F^{X(Hs1cv7~wtHn6O<d=i?zRqp)=ixSa1Pmn?*&0&AxS1%<+zhv5az zwwzWRHCIep!tAuvUFc5N`Tx%Fnm8nmlix6>%u<8Jjr_<&62ICrvRA*-qP$J*!)8{C zA*dx5n_vCsw%jZ++R$-~;N_8}6U{1CBaKT+`|BXab8|a0Dh9(o<?`(IQn00#06u?V z29|MKbUeTFW*Q2e?6!Hs_{N&4s-b}u0iA_o@YeS)*|rvB7xu37Rum|Fm`w8&#b?R` z2VHsmO-y{8Cb8>upP6w>SbZ=DlA?)OL@fRJSmEVekcSJAX(;G{KyvHzZ3YYH90ds( z8?qj63fp+_v#QpiEQ{1FOQ~1}p(kHm@Ndk+6J)TSZo$$DECII4C^)h4&OZ0CTz2OO z+Nk!eMELYcVgZ8%ORYtfR_CurILJpWt@DQ%E@>|0!dbUuvxkDsE*l2ooeXYj2W4OE zbT+L-A;Tw>NW~9kN}4mST-W`UafKkB=?(a)EfiDB(T@MSp>;gB>uW|>^N7pMIKnFD zg3k+f+x6TF?bhOnApwbQSPXbB&`4<vXc!GBdQLvD^mNpJ9Ll_#`xf*Ce*g%sjHq^o z1e<c@xc1UukFk5vM?|s)IIs$^1OT|>_SWcNl6%Qp$FXfni6%?+vsK{>7ke@`v{=@@ zx^tI*euJ<HwakpE#-z@fy*y+v?f%#aptAo^I*u)U@JIzC%6=3QmhJ!3BFZnJCK;0m z(}uYUIy$vYQ1QIY7o>IdrWe0vso%HOFggVm2N4lj`r^pC)zc+sn>A8oBGNo`dhJSj z;k{vP!WO4#ZQb!w=(tc+QIva;7i<@yR*z0DxX257E736$36~jQa@aZ*wb7mB2r{~- z<0Q>$QH3m^9AK5z>F>nZBU={)LR*=BeU}d_RekXFO;2mjt&Ym>^%P?QxIc)~6xS3F z&}an#!RzTZE{mqX?VQ-qpedbL<<a)_m^7X+qFHNcC9ub<F2#EVjpKLtfq^ViUdU1i zNk|eYE&Ui^iV#Djabu;6#^)}LYi%>Qx-sikr>Ezwu8=z$?wqXRj`mifBI|sn0n+q{ z(+C_czRZJ@_*h2TnQzAljz$?e3H`cGU5@T+o^Jk(M5y!yjUd{!pow-s>d%M+h&=K@ zlG0dk?%*jK)$%y)_*;VwS-j)VU<nB-UJObQy$%-Mj7<wbhs(+vhs2x#!A#?uJ)3fQ zw+vHvLbVe{G9nFc>6MFcFk20S9-|ycO+s#FuMA<<6m{twNzJ_O`16}i2I1%~_xG;f z&nY-1Jh=kZx2)8}Oi?zA8C?JMSz0$gSynEPDom~{-b+ml(;FWF(qmK|H3(20GhkIz zP|68wWW>NNkm>%kRd)Ha<P(=Qn2D_WuU9)}ox{&Flx@=LLeb~{4+UT>G8L@SQ*Zx1 za8vuGTB+{m^2vMblbdku*JW5+&3{@iLKZlyOnMVClw1J3a=_W--ube+89D+q0i?^R zL$@2zv{o`)DL%8}(SrV?vSKjJGI)ZPov2JL*lS>U%h6!If10n?6-_MP&1>MT%9nzL zGwowP2l2h(hzO3zj>f$G?7$Um-RaVs8=Ul1Gj3*l^JjUsjVr59v+C5TfoMhg0%*rH zenXc5K3T7e<eOGiWwA2U7|*S5WT2LU3m#Mz7d1lFncQ^Cw)Ckhm)~}7Z<(0La<eJz zai@sX-m>A?$VQ2DVm~06?qu7A1Eu~i*oltKpSQpH=sL}JbRTVTa#B95aDWpnG%1Nd zoklGGl$$Ri6(uu)L(DgQ(PT^71+J59&S^>UBWEVzJVYF9K_5?UeN-V(U-b1H#}M~E zm9tH$^q%<Or<kk%|IcLejhExPz+iDcivT!Gu~ua0v*35W#gV}KD5;eExgzg1mUhZ5 z!>wJe%ezWHD%}_=JE)~OMogpA)G;xZEbpws_<~HtP@jUn`io{~!|j`?i-c6nL@Dat z<6mm3!%NMlo-tVzmXg12aL|U5QXJY712}ZQ6|)`=-;2LBvsFD#Za)ZZ(fwv{>0%QD zHpf-A2dBZF+E2&DM(~S0nNjTr7+WV*(}a@k6Sv0FbPeZ+9v_HET0)g5(qgCJGx=>; z%U?W8mf}%sxkKxiKshde`q(y{z+$;zoz~N+7H$^i)Ot=2H2dR0+oHI<a3LyM?T=cv zu!T#AkN@r%*V|Yf;vC7%N+pae4=yBtYh>a|^*TeT6D8Fr>Vu;is8UQjsQRTU<ELA* zaf1t~aePOWl9&=s+{;Z>`SX?ℑ=(M&pBC<^~|;JOWL)d`7Cr9&gjulXmDXO(eNB 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 L`_)JT{jC%uZFMC*$Bh-R|7H zr0XH?>_FX3JZ-k&b-yo^09#$FAz<*!my~{KUnqDBE2O!E>o_N-dCO>zh_$oQ2$&#u zt?;TU;B5S)&a33Ny%U{n@NPs=G!)(Z>XW9EMX{+2h^izlV*)-TGNrmc>z?l`F!?-? z6!;3_+JVo&(?1UTRHFZrdbU_T+oP0ufBx<4B}-M(v9&Zy<*P-x=lry6?ZVL+wU&S> zm^Q>;c@7*zNSvV&4|Qzv!?Mn!wJ((OKbY)%HnYk+BBN%w+12a;e$}DVpFD=Ot0J}a zJD@()JNCBz+*~T#()wIypV$+eRCu)D<!kLyD~CGvBE;>IG_r%|y8NntJ0Lbdk4iq+ zuKct~8hl9IySS}Qu`62TZ=r-WU==1v%fj5o);laM4tCAOK9hy`=jm4#W(ax0z?U!% z_s6fm$N5)X+cjQW>9owISRagMf!=_hAGM5-iIJPlGb(3yO)bsQN+br!PUJx6k<~PS z@HYh4QKvC{zRlF6pWf)Ko+R&F76GZD_a;p$r9>#1c_PHIp$ah+Wiuz5VZ{<-Zab~y z<YrGT3w?c2Co!nAq4<$2jR+L2d-lTUxC9#3a^7fV`P86eVG-M0kXxBjVx}`Yn7x8+ zC|b>IJTrqX9LOl&MqUa5x>_`ApKF>0Cpw>VyG7lz@p&ExXgryJycc866Ef9>GYaM- z`X20Fjz`bPODsaZ!SDK+b4kIWLFr%I-8Tjs&z;M5vHjZtfbm#-g66iK8V~*Io%l!! zWTL+8)?&cFSX(QwcLFT0%p!&u6UN9o=xUUW2hbU8TO|L^l7BlgoZ3rJ$44dq6af>7 zlMlVQImDkSdrYN9F><xzN#z6t3DqY+LRTudwacIk1jB@cCi&t_W<RbVkz7A=Savnz zXwP5OujCY=-yi=u_F*TMC?oT}U40Ny-ER2NeS%4_;mm9@>`VE!`BcG~Vm@!+`by&$ z`bwX$G)nDtW7!RmX49ju(ZzY0IjK*!kG3w{y&Erd*Djm1xiyhSD2J=CYLV740fQ;* zX<zL>>xQ!t01qU$s?x2ov$lVdM(+Q|1=;L-<&Dh!!o0V{JMueo#&@(9S^M~E;YOB7 zXR14$C~|1-be~sJ3{=t5^I^S~P(7=c9$r6Q8OW)cTc5(84>Z(B-}m~WZvO=ZDdSr^ zOcWJViHTAJeTfKHveHl>J|-MlFfiNp^**BdiXKWu90eS50ZMh1zDCV+xm}$hZEe%o zt<g|(z1{j|qj&rJsXr?+UV)D^WY09x){a6;LZatG6H}7T4Q+Ipdd>mDzFKi9f{RPn zU>@9m*XYJdn?vNkz+~!1i#~Ms!*tWDS(8aX?If+BTujYI2l60KZa}Q;stvO7bjohA z5@&sgvZ~EZm(0I8`>5)dM4lhtbMp=K##oBY`iW-_?H>TzWwd+s>IerF$jLpHPqKWt zu>dg!eaphcinVd17*wF3HD&j!%-L!6j@*u#U05UZ5mRMfb|QgTGycSsMF5i8LAF)2 z2ly)HrW^8yxYEtvbCxXs{>*e{c2!3CQ0caxxo(+x-3N9sIO%lNjme;xFEYVn@x)!> zi`D<yM(Fw-Kd#BB?@y;i1Vu0k0>(q^-xUu0y~Pf6+Gf!UnC@#A^<owRFP;7qD&ksS zj;q_#KEoz^_}m&(?9k&tH2hSKNXl*2=XfGA4IEXCYcIqnyZgJD`jbmUr1c*YL5Aun zS4rs!64+c3L|OL9r_0lOEgB%|#Ev_W?HhF*3Trmc9elF$+hW<B8m%*7Rv|eb$qG|B z_m}NvaDXjT&)2@>>ii-@+j^f-US`4$sa?FBF+ul*wl<ZtVuSh#uCNo`H_hqmLAr_D zyHwF2xlVbyiw&f3xiM>6jA6gG**}vRaQ1P;zOdv!LK3@!cTDC9U?!m)%Vl0VjTMvf z5SDkYUJqH?ZR>|YBB{CXTsp?!=Lj4=Tp_gw%vXK{fNP0$sL{kn4-wo9n_mC!?)667 zJG}-uz=kB#X?!FVg^HblA1Pxhx?GmJHT*{_6}s1(1^Nf{p~vlMAx+5@;gic^GKLw* z;-TGC-kJ|pyrApZ-8pb4Ra%-3@x1cD!8j1S$E1B<Xjo6ck-c5&M2Zf#Xs|KPzFN6p zk3?c>T;MM>VX%>FpsI}@?9bP)b2D4d#y$XnG{TysiB}ZbK3h1r4C)hZSJ-BBI_Cr2 zxG(E7R2q-mF<PL94;1l{aC5`orK{|#9C`e$6F23we_S$}ePb>2nyMexFH(mY2<BXS zvi42uEG`93vlky^I0)$d`IUByraF`(eVtx7_wahgOu(>vy2tKQ_v~-g0F#t2QeRKr zx@<b*(U;^>5jfLDDnN1mlj<{q-VS-KeH+(sr$&eWH^8L}htrtmb{d8FzXKJ#Rhoux z1m^aDLx|Xk8qg)5!t4sd5WHD8EzgIz&d;|F*V=FzD=eh#>2lK|qbLZsnFn-sjd)w; z#m)u!lg1q~JT+xitFg+lgh&fQtIfj9)o5Xjdq#dB#Os~=Pe8w2#g-Va__t3DI|4xw z$t}?!KMQPZ-&j|-F!IE==;DiC^;OPyzwF^Y-OH=KbX$Tle`;kJaPr;Q&{Yd#H@Q<} zE&h-r;dXYYM{2alngEM%IK;#E(%+B$QZwz&ekmv+%PARDPE=rE1I95&<6dn2wRv{o z*^_AV`3Kz_Um0kZ)eM&#jE0AI+J}y4N*?FPw|DQo-PRTQ`@-X|KhK*!QI3_bTaXJm z9O+MZR+%<sbMUHi$8-m*YJGayuXA$Xy|qdJ+;4WQ-j#kV%_nQ5-E)vn1HR5z{NLKI zTVEY&^{Tv-a{M#vZ(tF!{}igtIb%Y}WKh_Dt|Kn;s}I(P_;#B(|N2xjkZdmLxD|2H zqxJB<2$g<>6IHNF$q1;<r1QjaYV*os^Ob?cn_#n~JJ_1X)3?$^*z;uQLB7*}Qjugo zrY))G8%lrI)9-bK@Al~Z*x7jYpS#HkQumv)KgcN3M*OQK+UMOmwDqCG*_vW1Ks*YF z{^jDfcrH|X6~QQFjo{2R2L(N%!-qi{DSfbA*LKgmYCZXTA;4!mu**}`P|c^{;Vd6l zj~-aTFnmIsvL<W-Zy~g-@^jMC$1`==b$Mw3=dPvz@k?4BgO`o;{(*f1QLud5)DptB zOjmWKKNthnAlQ19N`Oh~*)8@jHnl(KrkzhH9H(d_OqgUv=;{bp7~4FsU{PW7_y)xF zyiv6_{7|Rl4YV&fs%@qV7gl=CPsz^h&)Yc7b?{LaHa#1=Y>|~>_;Z%z5E7Wv_ZXzb zA|&f}YMqO^;y>0kU^Fn>Q@6e6ccarM`qQ}%;jeqgaNjM}bmMcV!R}HCO~uj$e?*>N zdg%R^2`qNixJI3#N!jE|MmS)w-T6C)FFxCHiu;{}SC5hHhat@j!v*-vL!P>b<+$Ya z6C_eGOkZ+2&OWE4CH0Z=2zvG8*-uI-SEe9p2QEABTzmVmyg?S~n3Urd+Z_^!(8cgT zz2uo6|0-~Po24i`=N>F@2u-7?sMNT{ZYsTYZ{SueE&dcY#~6Qg`DC@&VtYDwc9bbE z{b`aMmihzBPIXE6m_totk~{L*5kX&9wECY!Za`yB*2lz5Y|PHB7vcQR!uF}Z7)XC~ zYCdj9<-E1(vz+y@?p#GyojZ`G<1lcdE&cJ8SM0TEii9z8d0x(9>r(rwqKKc9B8&F# zUcsVfaL6L2ku7YIYkf{HQ-pN4yODb#S-QtF#<YDq_kyTdmc!6c2_SIiz1SlUh!o}! z0_AQyH}_o8?C|%cc9kot#K}!_2UbHp<u`xnq@9>5ZhuHw+<g8vtmk%ueKdNKR&?pF z>jM<f!?lPQQ|3yw734ZesRocl#x~A-{wEc({|_0jPDO=fA)C!f!*bS_<H*aQ1$t~x zBs`k7Y5)riA%<dQpD`4-E>FiMWQQbk?BT|>16X97r2l1$kUTd%$A|O82=^FWpUabK zRMXk0)`m+r^Ss<#V9ZtK2yX+$U9TY#Vl;4#*p<bqyo@LJEmwXn?L72e)HbHP+`{*l z&j>=U^oj)Rd5}|INFX1{;E|YXhsP!6MxnSdh9G6fXz1?9;>ub$5=n}!SE1Izsl;mp z0y5uWaD7oTSG4%4Mq0(h<D_@bhxIsZQfbvnV>fq6qD$%+e0e=cuc3DJ1kUFqHQ3&( zGY^`39ZanW;MT7o%f&MzTL(lX6&0@$#$+TI27LHs48iD|%O+!tn|H@jen>0-sYN0! zPr&9_Lh35NertE0Q&w&LI%tML98=6>+$=MhwX9#5ySV<-tKmPX#5E++i~K=@lEoa9 ztfeYSO|@2A0ImadW!b`%-1ymHI0Xp?=7kd2&_j?<mhJfeg}FMF&s2US6KhVs7VzWO zow&Y8#Jp(L%d>QS2t?1*%U~c!R_CftAux9*$pH)B|F}FBpEG*MvE8H;efxGrAeYAk zzKV?%gI)l(A!_z?LGkL3c;(&yh$p17@iLxK+t0ZDTc@YBFyffFuI<c=*&(+Eiu&sD z{1P@&Z(US#q)|=J`YurAnMtW{x!eL7UvxZKm9+tD#80gcaliL<70&XnN31wb4^sHO z(VhDNk1zDnpL>9^l}f1j@)rctFjhFyY1eqtGGT(Az3QBW7#i6+iK0X>enHD)jJ*Zm zi?2IrHPdG*bChC?%Yiq}YGcrE_4aEq>6G$89*xGVs2wO>K5jZ5|06=(59qBIuxS%v z1{6P4A2GmL*)ADzlXb9%M>)``0DGYx&yHdE=nacNpp7BWdtfMOo}3(Ouvt^-<qLO5 z@(UV!7LNsHWY47o^FP(n?Y+`+O&%%ss$?p-EbsRBu=e&7y+fv$a?cnHx8`=aLvLvd z3=TX}jqVI`@nKUC8Ujjrw?3&bw;Q}QV<?B5tLzoW<~>V2sDX&K8N6jz>NyAiqftYf z&wq@M`be1**T5GNE++dN6>%P?vHi+jguEetJi8r^Wothv6f}rx%)M-ZJC@gFnIQFq zRt1M09Lu{=;2k~pe)ufdghcbgZ3Y85=E6l*!{h4f?XHkeCa`Ctc8KlIS^k<+7!L>6 zSS04$_3>t~j`c?s1U;#rO(#fV<0d@I8|K(d#G3BumB3XxHS_IHKFh?stZ8(Ezz3o# zmuxa<Crt{oxs$#lK>A~p99|i_h=|Kb;g<3+5(TH#DXV?)KgOh`6E5Zihp>mewCg#1 zXH`ZF`}*4YiF0UeV`Qxz4^=y~RL-{B{pqudFwa{1i?W}^B#SLwGm+l~c;=QN*flqH z!>`*R(1TOF<z6?Jis)MSa=8Kwd|}ESY85)1ytFdIRX%acWAG(b1JL;Ots`RO*X1Hv z*#bef7oxOTh@8%9w57jSGFIL->IcT=C^MA*?@E}}f*9h8jp?j4j*wB_*ao%3jjUuz z$Otc6H^>ku#;~DQJ!$-iHAs=mKszZDzGHK|=ThT)uy(pC%We(1hHDX<*EPPe>#~2> zj4WW7uMMd@QC!2<z!;O;5<l9_LqfKq>8g7Dm?0)A$Y-!bY(2rK@WN_tZuW(iPxu2S zKorUhywWg2=bD;2*rX&XMKw)B989;Bm6zY2arMv78r)vWwpq2CIcd&WRR%Uvq?r2z zI}{2l`VD>#-DBFM(h~9`T|FhNeau7#jM*1lFP7`t62zP<Dz2<+z`n^!x9S_xAs6^t zN&>e|Z;PE^0n(BLS!nFNc;f!UQ`K#)S0wR0a=s&dfg*6kG>|c+A=6K!*dT8#TJ=GO zrkCROEynOiq{31X6Pd|5fx6wHA*rc6=%JlQ3idCWSFV?Cqk%E^cZVcohQ!Vgqe&7Q zB6Z+~fiI!!<=2(H|5;KrznHV5$8*or-b)wdO%2ksD%kE`Ub>Ax8{0_aI#EgTas4D_ zQ4Ok7i5U^y9xD&pU;T7Wu3CL8FL1klOJU-LdnOWDL|n9mivWc%GVZokjltIMW*c)Y zE8~>RB+;>1;=gOrcSjHW0kwiz<_PRhC77+syzz6r6k+bFQ-6FDynJlhP=O)8B@#!F zR+&{jONSkksn#Gw`_9qbDqsbyYHWZ{F9=7Oom~fDyYq3A{l|oo5iJ^SB$+y}UfEZb zv;{B=F1LbrhkTdrPfpO6G7(r=ceaik!v~>ajxV)_&yE>)%>Iv}bMa@g|Nr=kI~{dY z<dD0_DU`?@JJZONW9C#Lu{I2o%_+L;n@~36j-hfs%!(Z_bLfB(Vh-61Wz1<?4znEZ z-}U<k_IO;^_1SfOKJVA-^?VV1>Lal5sw`^zk8QQ3>SgK?vqmnUUF!cRTAfR<*c<f! z*tX19ylUz)RWe3f$2)n^9ZuIBxwps4O88Sj0qZep=-i1m*e#O#TOOk_PQ*NwE0wfv zyQsZ(qcy4*+lw5GN@cnU4M_0DY_<DO`=izS%S&y%`Vyh~792~~oLV4SLcp{A@7eU$ zytY+|Y32(`lxCqeJ6CVqOJvUR90?`m1TJ>He9(z~jmKU7NSU=C?sxUWeC#!AadP$% zjZ{HSiy!oxF@V1I@Z2Z;es9e*>4AG6_sE|2)9*2xc`5Z4Xcw=4<*ZDL=Ide8aec%G z8NnUazZ^MQEDfeO%tqhzK|xobMivKye<LG*%TML(`l{##f`qR_$vZ+_!{3C35hmQW zBpDiF#ZjGUz<dQ8m3k_n`crgulMkc9BPNe<Qv&?oY1hq<eR?mkTYMR%dGnCX*-+DM zEYKm;<?)5q^Tcstwx+W0o9WSo5FS0SV5sDJ_4LDc9UOE_@ALYCorTPdeq6G<{o~sC zdB)+&%l&98yOiZqZ(C$E63&9#w4P3>FmwAG_f&b<b&<6=;>M=vBSXf2|J8YfnA@m) z-NF#PLZx~&kSwNI1v2kWTpp4G$+X?KF}n|SRB@(M5+4=jktF|!3La!vi<tX#ii>n0 zMJ&yL)5IhC5$x(*A)IG{_||u|L+5Y2x_?qSPX2}lQH8G-y>;?o$S5u*Yf_4fRo(Ip zcM~~4VJ{XPE|+M^`#dyrpom5gMWXDWvPhMQFj<6?dFUmn;?6IJ+bz?RTF(~V&$tJG zl&PK<sG~E5eX!Y~obLk$cUlX7jc}wu_KQ$ZfJXPNV69xgy12=z*`7KPAyL=XmA^d0 zl9eAh?5rW(<W+6$ve;POjE(pn!>S8kv~qezB3TLQ9asqe?BQzfcj5i$wtYBE>^SP8 z7jgR$1Fca?23BhbK0MdtlYc${>6mN|4_vS^v3GDAf^tmyv(BJwKw9rN8cvkNCE-xJ z+M8t!uGK|WPYz+n3YZj6NmI@bhtjWRh4=v)IdF8-1Ve5PwNXENDy=X@O@5oYJRd!m zlGOKH^RFO|JEIy!&87796w`ekU{GIekh`J6(lXujQ5Hn|)0&B9RB^UfhP(}Q{L)N| z#^Ir~oj|-jd`KoyPn+KHPN5o)@2%ijgp^FiWrfAiZ+n#sM>#wRQ&=(DWxzSQJq;q8 z0BTkdRPCB5xtx;J{TS2_^ZiD~R`9${*tSh5r;O|x=xxN(!;y%fQLYv?Xejo&m!Fxk z4W>+LsiJbYnKg}h($BUt9F3(m<Zhw^VCR6{Uay(4_<>lY#{!^i*T$S4kI+EPfBn1p z-H7>QZYdD7Xe&ns4Ze8DrX>#r3*)2djk%H7bUC@lUwzm6c)<fe3*WHy3y&Z;9{Jbq zy!{%|Qy`I?`m&%3Wu0Ra6=q*CthdM*9b%ImghR2yj&lrDeG-IT;J_u13m2#FTpbxt z^DMcwO|iMn=WSTG+3eogW&2Er#W{3NEY$(SThq`gNX5l1`&ZGOLf({J5ccvOZM;Yn z5T7iCQ;1=;VR=szO~aB>?nai(PpuF*Zdgt3h9h#aDRR2MO43--xwZZK%>!l=xbtg# ze;KyMxD5A6AFxso71E|Exb=ESG2O(8@8+PTRfMbW8)QnRX=+E}_wz${!~(2~YDX<u ze42Ll)a@;}a2U4Lq-RX6p0(TLJ57c$n4Dm{9+DU?Mo<SL)DGbGt89C1WZiI>xFQ#7 z-Bums?C66Gv1(fM{Uk1V-`jeDpTe~d@F$uuiFCqP+zRY)`FPTh)dz43KX6R~ZnM%x zaCE>k16Gd)h0zgnv3bAdvuQNuXs&7%l^grQ=^XKCvm&w}!R7)!{rjSANRJ*zb4Oub zDu>6NnI(m!pHD{Kp2Fw_A(XiYwWctX3IAZLoW_B0?r(_}E_y=iWPp>K)RoQlHjJ!5 z!%XRy8DL-#BZR}p-gDOUSp#5}$_X!lWu)3@o66m7$-NZj=n$khbEaxE#9IX8PfjwI z88ab<zBy-P0kTjl*qZ3~I*ct>W$WuD>YHS^0fs%_+<Hv<Q5vj>y|(qn;5+Z**poc) z97{ZxLJUj`&N>f)410(C;fMem@>>aW>`UcPHbj*7(x<+uJ>ubc_9A%tthr#J4S8gt zwnXcjP^$zubp0O7|3&oYM%BYzhZ}pmB?H2b=1-NZ8lP(j<W7)P_fxgHcufpXaYQ{A z$^FQp73};vdST10E*8Ty9^0t=s>A{!2bY&+e{a(wTP-!qS@zFVGX^f?2+LuQ>bbQ% z6AN!(rp|sjhd4QeAd`Q2yK1Be9!@*PolA)T42f^WUP4-3bfeuUq>#-HG2U0Zp(}Fm zVUhKik49f&-*eP8?k>DOCj_o@u3wOkJntl(JUTC-(tz91BR>A}W!!SZD#bUB?6^1! z+x0zhe@ytQTEXgmC$sV?YCjF;y-DI$k3s8UKhazVhIL~;;2zz=;Llv+hp}moHx`!e z`jMfi8}C@w?$LU|l(CJ*5WYzVF9%2K;Kb?G1^m4~C9STlPO5a`X8hWm8Kl+0%v5Ra zaRo&>T;a<uIA(YrP;`<6CD6>()uV@g)a;$8m61I$g$Zx5+H^eJ^{{k4mnjgNU`4dl zdM^8})8xzQDY|<_BjC0fK+iIcC0|7x%zm)zc<Q%rE{1A+BGCOHiTJ5A>?4fEa3g3N zyKdvdYJxl8z}6dcEhO<t)_#A67xJOMr?MgysC@=sU*Gev?MkcMsRRl%Q<r%y^PusS zT+-w%iYNYd9BH~>seZ|9$+GpC$K~$GzlE9+ZzqGSfTFgL)w!mh&%gc$dX@M00=h1` zc*fL`f2P`IXdAcY_0+{SfcXQqe61MwB0cn5x%uPD;IQPd(1KpcfR+BJfM473XI^AP zz0+G{Mu#Sq57?zY<>XrkB3*QC`d%3f)kE9TE3?iGcUketVPQ#iyqAn~Zry{AK8)-b z2aSh5w~B`r{{CSe`j4XSZ6J!HgDR~m?;aZa)hp^TPuoq@woBd5>n}3!fgy>LZiP8h z8E{_?glC)Uk~vhfuGJN%Ke#*iY5TWVwdcI{p4{F*F!Ko`?%)GkJ9tOgOJbmL$zwAQ zJH%JJ^^ScW#r42cRkeS7^dzq0d8Vp!Va`h5^Xj6mh~n|OO{qb^gF<P;;B(vmFX)U$ zb6vL(|N7RuoN&`fOK!{u;8yV~so<Xlo!T8;jX`F5|A8V+(0#FSTWv+po?2yaQs=Pp zcPh+2<x~~z;&trmYQgqCH)MRvspp=D4d#v0yB2E|L20g0s4stUP~oq?$Qv~r^x0vm zYF;Cl>eZ_lv*l;LFexHc31`vwLi_80Dpe;3oqFW%+o6CK&`!2SM8B_Eb!tK$72i5T zRNyfZqd+dikP*cl9g?-c#2eN(KSq=&8ARKlks@gKO0U+jqD}d-K4{9J=O(sJ_Q9`% zUq081no7=4o+csbBh4NjBdck4`5AX(l@-Bq4?!v_VYM+|Yo_|jI(0luqq+>RJd0uK ziqqT>H8tpN+4_x7-ABr=x7h8+9f<u~dn}i+6mHY^l4tE6Ff{Exx3_{G(sAXr%To6) zmC5IdteJ#D6?X^ozLfrmTN$2QvWqa5Tm2tMouIvh)l^*kx(F#PEYU@}(aKPi)qwZt z0l1&<mul)jl0urvHl+_J$4k-bF`q55{`=Z!cZMB@yTg)+m0663B!G<WO&6sP&R)J} z_F=iysX~`M6{)G4o}#lzDZ1?=jdC!~h8Un}t07-#m0ITyQlEu_dfYW@&6H#(lxCYF ze>K`Q=xTS{nZ|U{hM2Jz;D8A?3JoMn%2P5{Lm(YF5k(3Xiyei;=sKimLfPO>p-`WK zx%0dA{r6hi_&3nr7AwVlB>*T%jxKdPnQY>HqYg~#i>YoXfa{rgz}79wPG{K!DLNG> zwK~`hsATvT^CxdpcLyJ5yA%|Oh&dTKX)p5LMC>SfP^Ge~_ws7BeDmgx(KqT5t53|@ zf7Qbs28yW;Uu_8<7vnkxowfqvazs%5D@+4OV{mez@0p0(5nIYvZcW-9WLC1>>~snY zx~DF6A*^?~tvZHA-;(38S~`!NlKYcGzevlyQF?(mj%&yxS!Y)S0Yw05DJuP?121!R z8}P*=X8EQR`%Dxn_%MA*Q`yWjvTQRYzU54$zWZ0-YQv=Ef=HF`KmOdG>QH*2`5xD| zwb-lg{|M(Z$^j=RUsZiqE35q<$aur;nP1kzE5*rwVFm=tHsjU-G7Hil5!9cmODQ={ z{22BRdeXSywAcyaeQmR;rQ}M?!Ka^`NgFDH7r$fj=10{s4_kcG{$9YCOfG_Gmstm0 z>Fy9Lk%8HY*&ola-+~D=sm#ZB4}*kW{59F@Y3+rw=KEav@aTg4`AqqDFTCh;zBVzx zGEf_x&qMnNu9+^b0j^&cyNjZ+cA1T&vO3S~IeU-UtZ!j?Zi~c@!n+f<OOC%V(=KC# zSGfji)=&4%yj#sMd|-2?H^Zh`*Tz)4&FZYYdF)TR%J`7Pv+CC>j?$l5Zg@lD&hFx@ zFs0Tze!S3e2@SG?XP?7C0a6<yH{)1MMqv3QW|$Y;&28BN_iq@Mac1ikzP)xlTw#Cc z<H_r8od(U(cjZ)m-;gQ*tK#Xez5BdO?yxgYRt9LZD!fhL;XX6ySz2#iqi^;^HD~T% z7S)cV=g^kz+Yo$fsvs~@4A--Obq_KwdTsp`*IVzNO5q|boa%0v+#sCFG=mNq#6L&Q z%P@M~iT-;N;@{L(JY9IBA9NL;XFeAw@~HAaL={PfJ-yLegrC-iEerd!uY{L8YyEU& zz{|3-NUNx159@T{M4T&W-D?dQm3FJ<8kdl9H>sAO;THl{y`d47R;Xs%JXB)f5#Cki zTQNN5IYSaNn$p)4tlhz-MFy@0f%2ZrM;V?morIEs5_qH;w<H<y^_h)aSG!V=mX%`% z%4VAn2&t!I*Y^_XGwW$g80?nTa09X8{^^ux9MMH}5`d1}jx`XLQ%QlndGVy1G<K%j z`rCWVt-GJ`iD<y()8m|Y7Gam`!e{;|oD702*>tR#l)J%-2PbZoAw7x<OiP%0z7EIH zxK+=p;sgDzXIH&S6|ET`$1I*(=Eo5a?Fh1lfLnJ_Bq$<jAVk@7s;fYw7*9XroJuZ7 z1dYz>`}zneU$99LsIhZe>U@<$QGcB|4|uBO_Y3YoI&@|p7j<?X?ekXUksAkTgTpgJ z@}4FlYLiJ8P`Hb@;1*RM2T5JGXn0geR7tHnrLwM)o>rot64_(YJ>n9}CseNHAUg)D z?MW+)+r7Td{&fQMGVNp9Yo=IPJ32zhEe`n9b7=Ldyp5<bbo6cdcl2LjJ+cYc4^H)( zb{&hXtgIBTc-CO_NaTTRh(_i@P|+kEa$!sAzot2qn{DQo)$N!Sq)c$3g9Y1aHU0xp zF0oqLZda+je@Vfo=FoCRN6G-#us&k#u+^cc=SETgNCwv=o_eBeiT=nd;U1gR=2JoZ zHhfa<NO-e;%Y@?iUAJzhl~lW~8LeYlLkPE29+1)<tn2=Hw6N$x7SzA8Z>ID2sI;ag zFfUk5HQjY|_|pd-`{D&tmDi8Wnmha#!|}=Uu4MlS#o8*8X2;s}7W{g6SH;tmLY^@P z2OS$@lAF%BWsS~ZJ>!nAb*yyT5Pm?>uTkdl5qJ01HtRy=O2>1Vx6AhEb>?;X+VVVu zA{NJ{!pvQD>g-sQ5qgS*i5ndB>e9p(0SI8k&-hWB&h`%BPupAaJKKCl)C$V}>LzN6 zTOpcS6|-wntf$+$($&LYXjnEs$1zt^)osNdaeRF(b!*h-m(FgodWr!Ge5yYX308?z zv~n&u_JBW9DRBye7%;rWwE5{YYeNp!3~QpP=0Cp5G|Q-SU2c2@T`|#bfPOr^H@(U| zH1Lu~RQOnb60l<lTO3dG_3sY|vQl038|<;kVw~Q@=KZ7MuRmW!EZWmWjen3$@jAgl zgixziesnerl2CohRP_&&V9n}F6Wi?4F0+(m)KgoZ+f|Y@mCE#nP5oDgzKn`^xsvs7 zvwjatFU*$CO6=U9Hf(j5SsBjxr3^J(RxW+jEekqZu-mu1O!Jb~2mazYwo=uIDo_)~ z;uaQZmwEPW!R_IKvGz7U+O5)&=;*pfq|^E4P}uYUC8+AT-08B~8l&f|zwMR)hL;== znxa!NvpJB~qf#g2EUSnk%v1itVwtscy0O!G5hjS^4jz(a=F7oA;hrq;zLe8DSL2)- zMBwr5ms+tYkzHSlj%K(s%b#WPNU*sfL}G8wWaNqSy*BR24shyZWUsiGBm4-urnmUJ zZC~PLE34W^0@cehV5|PRq6+vMs{p-+d0f3&3b*O%dzIu~2j5JGkOvGT9*Bc=1_WY} z5t*SH3^e&~RMhrMcjcgk&ssE+ro-@URuB&ptGE-Ci6I{!v3MSRZ)UyB#wa|8S%{x} zWg4YFghS8#`0?ZA;@fRcw!Ki<4g#~9XE9Q(A;o{`TIkC6RRAM*Kr7bVP=jNx;%Afl zwye9TzSZ$pQ^S}Em+d)h@V__jbd4^ETG6j}o+_4iIdo$hqD4ToQg6M4p2H(y6h1&E z!+YpOtGn{w=MXHkA*1Iw2nud$85k62Z?hy(=pAEUz9bgP;4Uk*#u{B>@dqRCb>IMH z#0(J_l2h-E{_)kV>~se6M~^=nu_~d8i)oF5%PI$(T|Y;sU{vTGh5iTPhg<mfXhKDe zjfO5W><|W!%^f4fAs4GxJ`UOKHuYI@8Z>guzU^KQAGP<KrDY-Zb%y#!o^f^A{#Xll zo~y!-JEc<9x9@>awvsC#4Ce5n=d-eAot!dAnk;?yGXU#7Hv4ux3fsuDP#q<X-tvAY z2L?i8LzVy_cA@oh>%M3SfzK{8)A6-oj#*LA?4{md48kVkenFtAYC%^QHkPhu9oQ@6 z3|eJ<!n_*(6-``x@lU&1yX=9u`@8(wv_N^vNqNU0E@fhG#BZtwJEp95p3*xE8>*du zxBuZhIYL_B*g&cv87^FiYLdH1v2<Q=YpEPAxFb4shJW;6KyA$7Ckf{h8xoEnc(ogW zFMOsPukPQu4srj|Ta5pQU$#^@;xv@GugvqoGP-|}7XtTaJxKYf$ub;u@CcsNq`>NH z+#NzbuIv}CF0?uQaro`FsBE9Pev@|Lw?p^=|2x-b6;DO)5R&ToHVS5|W0Oj<uQ)O4 zExjd)ov5|4a>9hJ&*=MClrpzmEw|uZU*W9x?zHNGhjB_1r$aXL6MdG8gcZ*Jz^JEK zP#v({ZUggm2+WP`8o-a&%HE=f|04MaeELgpQ@^HuijH6Tn%mIl@o$X^4p>Y|N^O{} z!gmRPw;0TR|855xhqp6w7`u)D=y`Fril6E~4@hBr!ksyTz#Z9?%&{P`SPS{}aCv>z z5gKS5cdn&H286zy5c?a{tmwRguc<)B1y;?pt{D%kVT^?lrY7?vg2&obaFg=IzFD4c zgsbV)CHo^IwfgkQ+5H_hriX_4NeP!_Qe<YXKxa*fhE%fN@T^EOR0YtE!}H#UznyU} z9k^lQ%+=N?&>KAnu?`eba$d5F=37l>u37kp{JX!wD8Av+-ca*A+i$h9DL*UN1-tZE zh5h~`{ygz9gpiqo95Op$RN~zMb<tbA-f_Ur?v~pWG<Za!spbiRi2!?@{y+RzVcT1y zqi(fdSe`9BBzMd9gn{W@f$TtkzOgcjilc3<2{2Ji30u_o%;eDXGk#E)BGZnH`*l_0 zn*#qTUfqKcoI8}aHT4Hxm3rdZlfp=M-O6_v=)EYer)-MfwmLbDG(zLygPkT=VY#EP zy?*|9(?!o+4#2VNry-Bp17Gs4^Feq(yh*;^Syy|F^A!uT@=zlOVuUP>fY;9g_q}#a zlD~Yr*U>WE*B#mr{25pHsF;v3Fag)dA>?(<1uWV=KYr(Nc{RZumJ8|6nAGm>;h3Te zbaB4N&N$zahCG~o^&#%qMoj;Pg;k2F^SPu+u2FsF|H@Wjjtnk(XETfQR^B%CUw`>N z(m%M2lViqyWUB$80zjXlHmpvnJUD1a(%urWQEw&Llammeg{j=Z&XVh-o?h|ue5%2} zD<7iQo}#w@FD_7)2-+2+QfA3VZ3Am;{8-R@mT#zOXH;-BBYG;kS0BNAGu_+uq3`KE z*mn}V7S)JQDAFqVEGJ^R_k_==?w@FTMh!c(`Tp>!*9}I*!|fU}d4F1WnCHWOkrE0? zou&ar1l&OMe<0XK+7H*yZq@%_PzZ0^Yy-~_|MiOu=K;!Ql>I;k1RkdRtoy7B3KR2I z%0D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%0AB8B&xEg;)$17vdR z9;rQVysXr+H&jkzcdJ{zr%63_6)rvN6h#c_n0V07fJq@i%w@;UB36btK=6d|b|MY) zBn@S=%bJ0L>T}NWQ2@@%wusWi3t{fbb4pQ;lNz2O#{MX?wJpqh!M!dvx+Hh%qX29s zJ9$Zfmwx=7)Mh!ZM`Ma#c-mL+BIinCofpx@=;|~&#G+8Nii=ekT#2H+n71}j$!!2# zmi3ce^V3pNQkp&gS_f*^=|UK4(YNqmn!pz{H3-Z(6S$6bKu3;SZxKm|Mds2pU3bg( zCS2||muRI9E3w889FYefDXdzR1evg+eFnYt<8$EM!nE6b#5x-Q=ORuE;Xynro=7<I z;gq`kpVk{~P;A(koaMpq2{!U^1FSiKy<b2Y%Grq6v!oS>uB?M`v(PyhJ5JD_8Mxko zRon2fk5*>0+fIF8&EI(q(R2p}O2tBJmo=X*TBGmZ;Wp<onEd{zP<#dn>!I1VQs1}Y z<DYnP<X%mW&(phix8xFcPAI7j+ZAMxzhzidRnJ9od&Gmy{UN(fi#sZ*^+TRKt+=#J z<JetpBe;e@nNwyma&+~zsF@y;F9iVg7vpOnyrzrLEYTZ?>9-s#Ihv!-yBO&)7f`g^ z$E}V``p~1XHxRc?J+fWyt$N;@@!j37E_lY2H^#F*)|ox|9TL)6;8;iwR5fYhu$Ry5 z2`B#3uB8&y8oxIzA^KjsK(Vkyu>-=Q2Wrof6*g!X2~)apMQ^kw<X049?17Xc?)j~e z_G6{n_SO$YD;t~3a__`5{mv_8%)6^FJA(xuX<nL?YY&W=cL(b*6*6Dw4abk0Zra<2 zq-+%avthI+{=oRM;!KL*`&1o1Sg2((cB9D(F}!t;^&aUC6?GOdbTrH7mh{iu(MV4S zYw7toKJl)N{OCcJIS?@<ajDPxlG$$an{#NMr$fB5!Jy_r<i!Yy$UJ^+iCq=FcC(xZ zGi~f5A$q-m)4$GIOrP)2s&AQAdWsr!|4o1Suyz@6^H%<Kp++Vx%5x5=<RCp-sm=d1 zk_A-ZEyn#X^eG=h#BX$;{}ZJ~Jy*^~%rf*NX<6(N?-NM+`B&#L!(Tle+<izz^}QmG zJMLDX?(pdwf^@E>f7+&*G0(%o9OeNG+=>Q=?06Bv?~U;3+<JWl$^blWXol~3@IYAF zcq|qh37#NgladaW1t9%7ArGiP$a9M!4}@|k%r=_PG=w$x<D<&HAyA-_-0zt`TVQp} z@nEtpfCuY=N3SqODD0F-JaWz3L>V&{@0*V;+t#z~gWT0tYv$v**~j4NOI?GFWfe@| zXRSiUX#eYmB6raUMR2LazQmI=WYD%_9(2C#ZrDs-7)$utk#^pZV~Ca)y9Sv?MXhRV z0Eok2cSxOHQO&T=(0?GqYy(>aUiw%t^y-RjNv)VDEhStlWD1eXJk!OkO2!fXs<9K? zrOA;IYvr)BvW5GEwWfCN)#6SWRfys{2L^4B<H7T7a-Bgog&Ds2Iy@{aUJs#nI=pdr z9x(3OJqjTsPuZk;&_3R}p&Bl1mQCWO4Gcdoa;jv`l`c1?!2qtw+h4?^jdN%uq;xvV zhYY1t#bpcbt*<y&Z}uS!^hqJOBiG`t>Mpyr?H;}l_}@W$iGlfLor`q0+o`(YM6TCI zx;ulj8E2c6vv5@IOi4R2z|BG1kz=71WC{<SAD{p<|F)2nrsF2$V_x1ZK~X2~Fepx4 zQ<+Pyorey?w{HU-iVJAbH45`3`FrVppjb6p8;?w?1xHjC;_OEH5GGw!FJdmNp2+lD zI%A_b@MR)cw|~Ia;j(E&HfjYo`LuGL&7kJcu^S{rlqzK^kaO*yH+fe(USCBydVfhd ze_&@zd$-=~v~!Wo?nSrfpA`ZBm_fFWzA&!-{ml2<1j}oJ`I&*ivst1Eg`KpSR;Z{@ zGcqd9Bi`uY^v}V2%+z;jw>;R@PngMhkG0I4JkCM^lFb>T3QZj@k7%$A7223T?5oal zqcwT&`wh0Xbt}?oi48uNJ&D4Vyg(FlGYqu?gTsp_)w~M_-Yk`T!P+GM@_g#wZplFX z0Bf9W1G55H>s<-*=Y387?HLU&>Pw3G=nex0GgU8WR9cpm*R>PI{Y4I~IZri&yNSzF z`4ng0J!M^b&I96d%Q?HD(UH|NeRT#(HkbA!?l9*sg8z!v0AXZWo`3B?KOOM{`lzNP zK!yxL8S-lcW59tnP{s0(CE#)=SIvh!-#luDQ{v0&RDNY<I@%nY>l&y$+z189of4d~ zV(d*xNq@rf`t|XPTW_yBI*2ZZ9b3%_W@(aW7*%|kT{RA0TB^goRi@{h>@aqtBrXmP zu5y1&6H#nTxW^n#HIsBW$5Q|OJFGkG2WXefI}tp&Fz9P3n^=e6{DmE!mrReAZP^Tz z+WxqOE(5zJhpmLaOi{)+_|KwrqmUaUO1?{#>yuSMpwE6Ajj+s#yvO1^Xq=z(ZE~Pt zpcYzeJQ*QI9MkV}fWxQP4(<=Sh<30uE@JI6@D2HfN5^V3c0xRB`ni4lYyTcxB>EqK zo>j!>7S#}w5^F&LHR-9^*E{;~_~e1b+0}Ye+Dmwd^i6lRpusA4mrcr;<#HCKkuq|! zFKCzp9Vy?EEL&JG#>`nOS$qBT5_ZU$HOqGql$111FlupEk57N;N8(GMdZSdP(9?UM zsi^qbkKm6f6|M!)B3o$wnfH|iiW*H(K_y+Msfg3$0iNgQhN};&-`srhT)D1whm6ks z!%x1a)oCd|_j2zUaE(Ux-_1)so!QihreY%2#qWlpE_3xS50o7L5e0>GxZheKzo}*4 zazkP?j{?wx<S5HgEv!ZN&WjgZaIQCa(vQz%%i7yC)Se#B9)C_Layl1O9z{PNM2{E% z+^7Q*dU}n^tji?+c38&buExiXJcl{OQKMLeN&354OhD(ibe7VHYDRkVt%50yD*NqW zDMAfgtsF`;O@i3zmLm_olxE!LGGJARdMWq5t1aw2`M7C`nT@fRb8${`Sfu7IEn|U6 zC2n9iJDYew10E@(+o2RQ5&`bs8PFZh;>%D_9@V<KR}2!%?6Z;Q+>)vZRrsdPwQKiJ z8T#3|)HT-Vj8e^wClriDVlz!W6g9|!s%7oD0s9YRcjEWee3jW_qp}O`iGL5MJsw{O z*r@U7XuZzX7a3P5|L>nh8>c;G**}L}%A;E+5{Jn@#|ka=CcOewkn#q3r@$R&6(6^r zbxw7MQZWh@b{00IBkzJ>E1{_zYLm@xH<u5!-QW^?Wv6UXc0lcHbfo+4*Uwj;?MNo2 zes)fFdKzX@_RAIOJ}-c!!f;+ohz$YYmB{*YI)Z%g#Q!*XH7YMPS(NJPpzR;pAAGW{ zl~eLUOjo4fJY^;uwq^YBeW~le_@x1<chU8nVta+p(}(oV9)(H(<V+WP>!0a)zaX=1 ze!=CV<YQRX>{o+ptGcj3IKhWi$iWGbB}-i~KG${ktMC)sbk8O3SN8+{ozoUWQWNZ_ z-znyrXwn050oG@1;LR%T6$N!m0M$K|!7rRJh&I!UB)(II(=s6%;a6tn1Dxx<_#d49 zboZt&ZCjMcsmkx(1pkD&1bic@4*7m2(PF8>GI~v6UFlMPO8Mu!+1t)3?3xs1CS`0? zO0_WD_qgvrkWK&Hf#r%iMAgs8n1ZwJpSQa%B!I$N%rsKQ@7H`g3x2e;&s?!WHx*pc z8Qo^D6;~#4_aTQD>`VSKuG@Ajkzf}&4fZKvC~AM*1eCvQJ0m;GA;!lw_uug=<@7-W zVmbbRH>vUM3l;y4&h=JK#bV~YmQxz(+~f_JWbk37to|}L<JD=$H=i8szXmV6yW7Y5 z<RW{ft&c36ko#Bn@y(&EU9SoY6#Jc$i@Y7eb-uQCdh_}SJkD_b9ot_O4mJa7tv@vn z?Q0>lj$V>Iw5vsSJ2cKKFRUxh(}!5<Lj+XIJ{|BJb|wHmQ^n$J8pPGv6rH)I05ef} zr>RiL>~^DuO*5n1e@uzh;7QEts|qa33Ay))Hbz#qG0Ri$v!D8zjf%o@O&wzNjsL%& zA*N|Sg3mHOa{pIB4PjERun&G+M5b_pF6t>9?}eFYo%+}!6ZBc_=Ow9}vZGH!`jqEP z#HusH4dUV1(NjDV^AgNPLFlH@CJU!2uvws#w6lcp<w*=xS;JjXy-bVfkJy*8tQ-DJ zt9CY67i9w<rUwLStPE&~D2RAS0W8?T`T;u#yyRi;z@rYMxjwHvoWz2itFP1ny83>w z%xfdmWy@D_dODvu)<K+G$^U_}Lfx9A`PWIy(9P5t)^!s#IPXG#<zz);X0^jI<3|o= zT+d)UF5tm<q$QqPs<H1gaeH*z;UuSw0u#kCg6A(p@cUmvgfp)q%A&w&VG@_&NlU#@ z=gk!6u5-G)qqKR3uPu3{w~u@Pt3p%|Ab}D<SlQF6J7f_R3B$nwXaZxVBH13{p2>Hi zZvI$zz~SBTLxoN=aLNRYcK&V?<YjUHt+#1ljaXqb?JQOe?DtGYHg&`ko^3xGg%Ogn z`vx800h2|dlmSl7Z9KjHErGjK-;}eueAWO-2qYXxWQKJfXj2bg3h$1JkX6x<QwYt_ zp^8{$_JnY479~5XX*hLWG8STLZdU;@t~)}EbVjZ<y8Dw=qcD2Js&~QFJI-tu-M0nY z)^dunYXZ3x|0s?^;navTgrhsyh?4^7065)VC33tt-zZetKLPik%#(|TY~faHaMzXA z9zWv>`K^SBZU0;KOxzJ#@Y-mHnJ}+A`f?kAjF}bn`TknOaDUG9s$pFUc9p*tKoO#h zI&wAsWrG{t9fpW?G#WhRN*Fvck)qhFB(Qw)ohZY$+Ru#qRDe&lb`e(~DuzR%is#%i zb9}m4tN;E_7ts&A9&S@22bgX{bpMrMU%#gVA;^<gRjxN)CK3~)k)}JEC(vMxnC9iG z0cbW8SC6IE&qNBOn7l_HT>;kS7~HdXq_eokCKOQ`jH=uGc{6k8E(G^6>k$CZ=<x}A zZJrAg*j?!L0AAFCRkNe<r$f#ERIrv%_IWE%X;6ul7KP%*q#ZS>&vP96){|h?)73s< z`TO#UiV9Ie+EOg#=y*KDJ0W@g6fV>=rgzWWq0Abm8Y=lHVT1HnRle!sg|{^i6Rw2k zmVh<xrD5)3{3Eoi`7ZUDeIr>256WN{PmhOyi)arzjO<|8-mEOoF?eBSUc;cd{Z0)f z*Ji8gok}x+zN#KJ*WL}k2-iD3k4K<Lh++C4@~M&^bg^l4iBj3uV!XXS(b)l^foGU2 z+nX*~2Pm#y>P9*GW<)+(Xmw<(44MQKc*CHxJY#XSJCm`|oqemJzYh5mYsX@d!4xvt zUW?yN<6XPD``>0Ij<qXmHttO`|6nS!;*DXDY?1y+3O;xVw=_Ct@VrFcRiQnf`jR<| z^0tjw4GGX#cF^E3R}5tj?Ktxf`kmDRuF&rk2*f+zZTC;7-;Q$Ka}Zl(;8CGCsEQTx zK4|T4NGpZ~Mg=`C#M>9Gjd}OgxG(;_a}S+GjJy^4_K>@5QY%Q<{asGu7pZ%}Zq8w4 zh_xET+(Lf)s;P6G^E(+)q8~ZUqc}){J0H$^rD->7R=-6%zuqBpxLp>>n(ODwgA|?{ zvwPP`u%X}~tdE7(@EDuA_|?KhpZK0RMd}l3kr7$%jIEL5(L2q|v~>3)K8NkSygdFJ zlhTQDpf1|qsfdW0iM8x-BUaW4E0NS7t&-IWR!}u2Hx}1ATS}_UEs*KQw_6$6YKG@$ zEUWLH%Bx!AMr*8ON!=aw^-1LNCT|1V$F-d~Me}1hG@M&K(z09Z@P;!}K6^#*{pgkv zNKy0B#=8IRDLiz}KL^DKHlGpEqpI?E2XD$xhZhTg=M%4n7o<eE)xdmMKJN7*bQ9;} z%*x^O2evuqje~acaq^+((rcw0?7+{^*A?2sUEvRjp6;Bv*c|Ab{iujVlq?*wL!l?D zrywg3E=?N8?47$<4O);(w$>ckCwrlNDjDM4)A6x&8sg?;cjJ<(!n6JAVfj4`w{Htr z)%8aNmI#jymvS5X%$yQUi+%`)V-^X|6h>N}QN`3&UM;z5Yu2%gQClk1d`OYN#%Nh) zzJCCRbBZL_^!j&8MH|1NNM+al{J6=4pnKwbbl;z^zPm)DNZh<3S)q(7Q3zD$kS zOiu(T{(Ky6xYF-m2VCF3|Eo0SN}Yp=%8f6y^m7SK$_tH&c^B1L1v||h6)f3G9u*yx zzm3hbol`PD2GdRwx$b@V`a$t;V_pVGM;El43mh2}YFA&#s@+hJ0_9yS*Xu`RRipZJ zOrq%Uu>j<Mp!17$CR)hH6?zt<x<b7UmT^w?9Q}T2BhaRG$WfnY=tUgo^V8GL%7;_b zBH!balLwZmMAuyL35Gq4Zw)c9?KI{*CH#`$!)_xDAijfxV@`(DznUlG>e|8+uO9f^ zWJ!F|3jbcD1oo~7W=@H_PGn0x(Y;J8z&v1ScRS;A!Pm8RxlV=^zVBBcEetb0nfg99 zPCZFeQMg;6o`AXmW`RK51j|76gWZ2&j)?FCA$&beWLQjd(3;}(n(+O6QcC7$>|%aA zE-f4{QXZHJ537j8#Ec9=Z0y$1=DxdOtjN;V(B0ebB)!V`>r;ZG`n|B%)(MC7cKp;? z?D_dLIwLF4(4>k!54YPtr;8(Q<`RR;J~@RlkU39z5=;=F@mEV(4cBN#7dW3!e?MTL zP!AA5L7<p|+_yioUIA@)&r5>KON<NivY0q`Z;R26Eo^XFimz@dQA@iYqnm7SD;dVn zHr2A27SS4Mr`a3OpS=YrGv9y1(ii!m&A;s?>a1QVh;2}>PBy$>!Eh(Xw*GoE=|<3H znID-g(t#Dh;I`H^Ve5uG-suUzFIe*@yp?_ae|h8E=<4THNBBQqu+-ivfX{4e(S`Sa z9s(Gb?{0TycMDNWYAT1ZY;#`VdT526Z|Sa~d2v)fI_@;lvoRZJqWK}Qh(F}@^gqzG zy6oYl6fU%rp^ih91Wkwa$9%4ea<9xibMwgTCnHMij}D!nn)({VT*ZH&#IzWneeQTv z(PfvA^sCt}liEEKsLH-%`~bse5yMcmez|~c9aXON7$11hka)rA-kVV~`3vK#<vT~5 zYwqIQOYhs}zhM2Q&Xo31mFV9_0))qy)$Vqkk?-k#Eq9JR%f<Y7WOFj5AD6m&gnHyX z`<12EiFjKzUyRd~-5erL{6}lu%P<!aRPNJYT6gPy?r)Usw_BN?w<|byc!Kc#32|3X zWDR`kz7>WlQEm(@2MR@)Llst)Y5~qW3shP~k(>E71he{#l^JDhDhY;;y6CiZBF4RM z!vnE@?HcO*TTr6u(yS5m+{n1#EttH$;gpp+jW#G;V?<gf=h{V1^g!*x+(KLnrgI!6 zfmO6Y(7TZ;Ba0No#D*;?bg@Hd5hvt56paN=^38%QAYcv$HipG;Jqezm1IH48yjahv zCbA<Yk3P&a1bU<G4JNJJ=tJnydNj2jDGi9;$(qQ^d9H%NF0_Hg&E<A(lWtx-2~{}e zijCz2)8D|PlW04xZ|__r8>PmpANMQX22^7hoSVtc1QuX#q3|>T&*R4DRvpfA;Y}(4 z5u=c4^3XdkfT`n^C#Ql#h3ESWgJti!Fv2fXafdyuVlVU}KEkg1){CgsGk_j#V=KGH zM{9i-sM=m7KIu{Vm0P6hLPBuZVwi9sj_k!{a?$qPT~&jyi&qSuO2>bP;TM<KDt=bB zHw8+?;`$&!@&6AL%d~HNQ4#>GmxOb*GKo-3%1`WJwwB5S6U@yStwt}oZ^V!9Ht<|B z&g*5D#2QGJe%#{@SuJHMDp>};27vE#Kb$fOi{P5bG9EdP4~S9^IBrc7($y`^sBMln z*YbVNKWTN;*n8r$Rx%Xej4`m{j!kbIlRms3;?vP(-S|qfw7#MqR|q=t`*OFV(|*)t zfnu{YugpGQ8l=4ev07nc+dAVH19TuB57~Wd7YI3v1Kf|-Ta=`&it@G~zZ9wP)%S2x zKj{b&hH~I>X4g0znq=eV2tSvwkzc{KhxJ6Pky~?!{wlAd_q@6(|F7yU%kBH$&fXke zT(U8hMiPXv7#i7-5pv3t!tg#V9-dhRTs}V@T5T6-^`9tfi#vOMh)WCb8N$^}g-H<| zq*)UAfvCQaO)-8a_IQ|=+_6b6_no3MzaV!iwu(qgcjb4g`&n<u|Jx?_qzSWm(E<RQ zZ(S9nkgYxJ+@^t+iXiU$Su4e5^`s|hxe&jxC&Y-0UU$Fa5v3J8o*|)WT%;L9jjt&f zTo+d5n2?11alfC$bJ{0VnKt3=7j<MOWWdVT_aRqF+QZZHTMkIZ^7Mr&VKof4W)gcG zVWCIbx^`3WdfWIyzSrTQQrW0wD{zS(Emy>uBS~hRsX4<G3FP9Rcta<BAn&QD`e$bB z?Re-eP}D@xX;NgM{{|P3U&>GSVZO33O`m(9O)q4Oe*RBg?HFhg43<;<loy^h&L7Y# z)70oo<vL!+qG!dN|3Kl&akKWnoMO5({Yk}n^r&Hy<dl9}SHh)kBkM=oQUtPjm(&k| z^z!~>N@8=EO`RP>v0v({01Q|)qKX?Gv(a3q*WSK2S_{v9y<g?P<q3QuGurBFNc0#M zJy!1CbT=k<wXiY|=UFj5I`c5MDwiBr9uU|up{Twr`{ec6bIU#J&3Cc(K^1kT98-2| z4!e4bUSgarCCq0hW|FupSf~5Y1M<6*w6i}nQt~d!L%>$m80o2zK6@9*Ozc=@ewon# zIa;WMU`lwiWLi7?!rA>{#PA-?*f3%eyR6m0nA({7C=0!!+Z&b~YS-b_2k~HS=oOJj zqm1Q~fwN|UAw|i=pBt@EOzfQ{-4(i_ZeuDEh$E7-{0$!b`l*MaP=$fLTt@;S-J@uN zE&HU6Cn!@?ZF6q%I)KeR9%Qn?f%w|a-FLbjKN=srUV^x&ma{@jewT07&eGB#A|~D{ z*NVUYj@{YnuII2$MrO{;&{rj+0}&&?`ZGusZuPXRfs&9WPoty%N~E07FKX{@^vH<E zw~Y;EM+NCIM_eUA!OM0lvs`bfLT0zftE$TYkx5_Xal})X0ziUyZAxt_PnuQ1?Jcw6 zLy9s}Xlc%E1lQBP32Q+<Z+7uz_E2*5?O~p;ZN1Q-=b8=sP{US1N?79geDPUOdbj+x zu3g?;+KWvuf_bArDT>9+tc#hKStKAJA~)tqV&A3Z!9#767LcCZGBUV|yj%X;_uQ-7 z)2{IZfBW<p16|)S*g#|EaC;mgccEHY6auO9TUFkRrspIIw&GDM>O67#d1?64fy*69 zDT%hS<C4}ReK6y}kJWLDQ<Lm!n7GFKjIWh(HZ<5=LzI&$#8N8z28KDEo?}-o?Ky-! zAb-An*2>%{&Gr^VR;Hyf$fB6fw$JVuq6hS@`t~0?<JO74Q+J)?=2ipmo@0z;7zq;2 z_2YI;+ai<5iW(8iU$t8eL?Ycaz1j6}%^@<f(BNU=gueg4`;rGD0`)evVQob}Iw9dw z5A^BgVC#7Jt1EJJ)eoFU@ALHtbc6@I0`rhcql@;HTG;1yi=lA9Xoe5Mj-g*7cBZ^V z?bp5Y+ng_x`X%A*xSy)cFAvmi2C_&&Q=9s5=EUh-9HNoFTuX8Aw)6DS8OF?0#Uas> zYa!Ng_g7t&p(68TnFKi~M6OhoWo9FWy6~4{I8Drz83d`KmV3)rp2Rch)bVssrjBLS zANW6t&i#?;_W$F$DIIku6*=U-9Tr05Fy~GV<70BJ&7ne?*)XS=Q|j&@hinda423z* z3Ny?|<s4#I%r<3nnr+39Q}=h@-}VpeeO=e{^?W@ZB)X5pL8WxDMf+l8Z}q)(9?rdb z0Fy9Aoe5;&h<Kb={dQRMhHQl28j}*z0kfX=uXOTxD0nLIR{Hf}J28P!PdwJVa7OjS zON%1?p+rwca|WNcrfpe2QlN|1INvnEpcWwD2ok;FuGM=p%jDw<TRE9!=_-emSIvMr z6X$oFDE*|EGPIrtS;V66_6|znh+^!$IPGLdZ~FB|(~%c2wYz51=7ETwFNZj%Kc2tv zRRxFjcS1nYIGe=tg7QszsZ*onHm=5?$ZXW(?-`}rMO>Fxs};1-Y3o&Tl-cteuTMOY zj8tYcgkSF8av5xzQ!B~eY3;Hw)vDAipKb_i^QJ-1HZANw6K6VT9s#q<2~zgfy-pku z;ss;O#ZNvjC3={32LaN6zqXa$0z;z#Y7!?}jNOW?5c16;B;5}*H8nVhEG6i}&PMU~ zYwq>6PHELLyL-zfNU`(vx9q2ZU3VRTO1E*3GJ28bnYcCV!_;zW8KQr+oSb|dt)mx| z7`@XAkniug6yh_mGyq=n6O}1%xkK!j=KfbdBOaxHD|%)HQjO+3=^K#_2fW;;_zWLa zURsENvf47R3??($ak6o|+Ac)Kpa5^4)^8uw*x>RVZmWB8oT}oarMCZVXOt2GkaFZt zxzwq}o5fd#V6ONxa(qN|9<c`L3~wM`)3PHsMR5n1Ho=|~RXEsCe|KAi>lBR18|!}E zqMA`w#Y{0Y=ylI50vq%^=vCN(R?rfy7)xj&zA0>b5wTKQsa=bqWsu{o>vaMJq`Wr9 zn>!A(vz$M`GeuKsMR*UHc%t-62Z_6l?ig6B?Z;P<c1-0$NVFGQ2zfax9ONsVoOhis zv8X;&OO~t4E#BVg$DGI=Jn!e29t%*oaS3-c{WhZCl5^sEs2EJ^Ea3js>2z_9=ik`@ zUL67(fa-(J)>}41wUJ9&erqmXb)tq7W!hJyBwHVJ&6!!{t5q$UsY^Vl%V}k7-lesL zIZ+T?vj4A0zre9Xy}I%h(K6PnaeZ<}_TX0)=^v@P#gAIT{#~PITG<=R@R`Q&o##CQ zbDc`!uF2m2aEgs>^X=t?`@E6LZygNvDb*Kwf89zMo>?QOON2i-@-Q`S__EO6A|jtE z-;_H^eAUTyYVcbpdz%OJD=rH4(;S`a(WD7B)M;&|=uSXtt67&cP8O&>Hy$2tE*qlZ zYHPHGD8<BhCtCRvzyFV@rJo3d&LS+VF3>lLjU5Hz)oOu)&o(OQQ7QIo)Nj3ZrAaq} z0z~TrLw%E6I2!9rE<G0aH!+F~?k9IN#50<k{T`1_zulMObB@{)AR(@xh;a^T#7SHY zz_Zt>do2=B+hpR^7N78h{)u@0)|!q*6a;`KO|$?00C_ikApBB#u{DzNYz7QmJkIO| z>u7mGNa}b1ffy@?ajNunpHb3K9DKzZ;PcS<Ml`9J!-Mr5ZQ=abry#EytRO62z@Z)( zV{3yxms7+}!bEe64VoW^Bv07#6>!f`)?CoMrOG!U7KRRP(p3YiRv@zlo814^*hE+A zdQQ(H!kY8Q>*0?}F2#!r6+}XtX+?4JD;PpTUQK!5TxD{hyb{v-)$a@AHF+UoUH!Jd zi%#?saqEzUsm4#^+J;1bW;C@<kR4*-XQtfpUW~L~sBm$|t<P1!9LrhR@X;v>l5Sc* z4THx6*Gx9Ny(z1HWOCU|L*7Hw)raGA#pnfT0LD7>wg`|7nwU?Eg{{9x#!e+epF3_w zQXs5JFSLH#CLdvZ!9Ez5(5fC#^eGr<y-<>ny{Ls2e|eko1UA^U&Ry$@?8+cbW>IdQ zaGo_xM<><23jHOCbg;ZF8g{w%kT2?eUFF%z$p5HWM|V<a@mmEMu^Ku$1X=lD$~J~j z7@TrQQd)Ige!W+E(a=V_I9f4;GqKH_+N6pRQfJPBUFV%)iLAEey%_(A=Sh9`z(JMS z)9?FihycrI8+X5{eza+lb3sf9D?SN&YGnqxSt@Frhv=I6#_T59K5mL+G@~Qa1F+*+ zF5r2*hgU=<lV04>nX%h_a7`08Sx{>+a54ELyt&P~qnvk-c{p=wHZY60DjK#sZe&-f zKRqf!3Vs*-hLiEOU>3iSvMCTj1VS=TjQCjjT6`u;3~hUuY0&E`Eb2(<3_DdDPi>8Y z@5Ye(6KG0W9q56fDRLr(Omx=Y3<c+bA86Yr`)o(D)m6-9<7EK6<F71uLA3%w;p*0= z{*<FL`&;viA**RVqs$j%SIl%w*(d6?ZdE#g`$Jk@e$f`-WeOqMvM2B~s3g87EoN~V z;U7#OIns4Ci<8`>6;yDjxTRm%$v5=h-pGxPdU2;w@~iO2t*WJkNj4od2J5X<;M0_D z|D?C{Ezwx{O<pnUiGsbvWJ6^Ib)oQl^{t*|_NiQc8>P**s_r1~OLI6{NyfTF9EB2e zpmwD3F@q3DzoQmlVBrV#Y?$-L7Ozp4@JuPHZ$x3!a^1@1dmJy#j|SImBa=(NqAG;Z z_v;B1-t>rV>}a&Uec<I0g*n}o2=P0Kw&ck#E-<0de)`7{7v_~R{B(Og6NPwo-f#aO z2kV7VLwY7?Mpc>T{<l7o+3B;v)!Vb^NMEC>$$FY=V`B1bvj4oD)($4bz-vOkNUWJi zeIWhm-1Nzh#R{3%N$n|?_vao2UATCd`$9>ks39`l6iAFbmID@X_IRWr#SmsahE03Z zl_4G|$-ulmU1P?7`2C;62Yd~!%yE-O$QsJZNN$z|=ij)=vRr%nQr*=NbQdI*nRNYz zVQ;nS%LnSe^ReN@fRm@p+`}vHlg-p~fgOTLQgKG|tF1{yPp$zi%CHJV3;@))M!1F* z`_QLxq1<~6Fb}Rj<S)PLGSTiCHMV@F?uz;|sm$eyYn}IEXPd{44_~wvf?bww9xap1 zw{7#7fMn<8#)WC=B<sx(2naE4_07-BOdUnLQ#?BM(}YhaGQ-?c<H(NL@MuopoDTk! z&?cIv7sT1FXj*9i{Cg0f?X3}h`S3LfyQ>(R$HA7nl-iCC!;|T9YJ(b4g<wl+Tqu(; z#9Ond4w^XsjpyO+i8wV($_a8SO~0KJSi~Xp;bK6{$~XNp%MAz73FZF`uLK^aq|R_2 zrgrMNpf33(CV0wM9s>JpGD!$u#=PT9bqCw(czm8Lu`!$oeyn_cz=+yYHDKb}u4Oue zfVj;&lcURmbfqD8VygU)-b_`>{mOj!*OOE6N0ru6lS1ja7yOM~f)A{4%JiIusL?UW zLmO?rr|e~_B6~0)$!(ZQzS$l5+MRc~Y@JFxjm{c_$o`uDI<hZkU-R{SeX6Ow5vtmf z!{~)vwZ@3vf7^1EoBVhoy8{E}aC9YLlKp1cF7wQB@lb5Pc0-nhN07?RYDdsoH%td8 zRL443M$W$|(;#fB9ic?1as4W-29=5x&~pH*4iw(@G?zf*qCqwovR+=oNGtUm>r2L= zZm%1$Z`}TjBJefm1XE-;SB!Hv)p){J@x-!U;5|#(tAee@%;TY=!~5Q!)9SaxgtSh8 zKA^BKxRb+6_Rdf!(|2Y2EPDO)-#OK_SF^0nj}&XWX0(pQ<Y1bs5n7ssjvKUF*FM~| z*zYFszm%(g{wsA(XzGJ8&;CufQU9i1&a{u2i`6nIq~;M8iwig2!QAmrtB1@+xws$= zuw^zTg4=+dcSbeMoNgcHy#rNzy?izNvbM!)B>m+9_WR=>{(<H>Yb3{SU`S;ZCAxK; z*EH;pX&YPRI<%6{93h)^>BpG{GQ8WGv;7~AF4;%00ui6fap4bUIFd7YNBZY5RPfxC zW3)P!!_B(HO<NvwVta!}d`(B=6ne0aLnb%sPew$Ff7pbS<~?t2a$cM}UEGXjH<CYm zhy~t$F9Ef(ck})tK7)^*D4{?>14e8eZcdoaUS*guF@{jTxb)E`28F9O=dZa}`u5va zQm}55A^HWDqfW{5K&H6lqGvGhEp_g%XQ7!A3rZ@NdZk1}bF%s()pt&Ze-Gd3joyr< z&x><Va2bl|7PWACe7V~$?B*igH6&j%O%|dNUFP+Z>D8T|z<Qi}WEIPh&OC6a#|3Z> zvKsPXhIE113IS0k+jOS+o4ZEl=V_J3UhcI+@^)_cfzIbvrS-&`7>p~~v>JW66Qlgj z;;m1EHukThhju9cB6_9opVP8Bejv>qH$I+IN{)a`gEweH_kV9_*>-=)scDNSvX}8T z>-mZ4G~y8CEA?Qu;&mFB|Fx#npX#{l{2j9EDz-Qx{q4eds@OUSRE)^gn!tM(cyX|f zj^Y@CkU!hBNvK4AUEM>_@EXn<V8hK|NB2psH4urfcAmAC4#~x$#D#KF=MP)mWY;ep zX5vQvwYM$D5ViMNO1NnZ=&vx+5p-eBvQ322Kt}4}=ib(jw!D`BgZX!XP@~GH86h=h z__IilEipyYwHln&r5m_aDaEOuWj3{K`^$v?N&r0j+H&WeLArsGnjazb64H^Ba60Je zHno70L&Zhp2Id;8&+KgwV2Q!vCIj);wd&;#g-1Q)_<x_ejJ8vo>-f(r|FyxKhz+$! zim?p%>p8#Vz2(Jj%fe49DzIln{yPP>i3~7`EqLQK!PNn2oB?}`2bL0HzP_6IOSt6x z)jMy0(f#xbH(_=vYp##5v50>40uU*19VzHt?TS!1Xp-XKCS$nou#2BKV3fXUK+E=D z^qqNK<Kn3it+2Y3?BBNVo$tbM48MUt>*49p;shBm-w}!5=YlZ^_11ttL%niAN}zr~ z0jSXTe&LA%pi(KotUi8x=8b0SUxWAPP}Y#n{pkr97m-orXt?1P;pRRcd1JG@m4?&M z3i%ee8Pk|h*X?!Mr%GLLS28eNrO4pna8jA-qk;veyx~jLrIc_?1|=-ncw2EG2MR$O z>%}lOzmNN?xfeJN$0qS;pQ)9+u!Wuz(}&#E9qMMQrEWh}HnTjsmZ~_uWS-qUb~8lu z*ZGi=Cf9;|lT|@6J>JU5);+_~pcGdCcK4XMJ@Xplma%N_cXOqDH{Usl{L6Fa@^bOX z7V=xVCVI%St!BnDLq7*6*&-YNF#C!Bjd=RJlJ~bgCC5B~q<mx(BQ@>CrW-;-PC#g! zURt+t`c`b!%R%NTUaYpXJGApIb|GqyBQzm|z3^PMUkrO<{r9ir?$ZW7uuZQ<**DEX z-}l)##4t)xavtdV(gE1}?dD45iPWN-j>dP#3qbvhq_h$6<mkCCt$ygoLsjmCe+b}m zr2x&@Jic$G%DwSY5yCX7kH_gA50#V^tDX<>HZy^MaOM9bWNhO?WL;y!UWM#T5pvgA z|4HOA(2ij%Vm;@2V+dWqr|mYEKJ5<;#C|<6$L%>TuZWh+m{F1(2IN^*_qST$<1EzM z;8ZfX1ey=B?Qnnx37vdb3cX01ZHu|Y8l9)D7~e7N6|TpzUH~oyB_m<|)&0wf0x=K2 zA7oTFoy2n`)nWZ3;hooR+Ok|c#u_J<>-oWmGX?Al&Z>`7BV4=6W3kMV7=6xw6Rqs9 z0kq`X-(%|=hM1$OnnW>9VXX|iD7+TR52QIZMfkfZ0wF}~Aa~^S)G;?p?s6rD$HHZj zR?`#81EjMbVnE&6NcKqtxfZ%8+DqEA2Lh7OO#x@z#=LyJ3PpnY+|MNVdCyNNWf;R# zZx5gxwCy7D`lMFl({+8mmt27Lj8gZQdaMk8@0daaUqFq~aHb50SPmH#F~>vm1Ut7V zOTTg>4}&%yDIv?7zuf#`)+?!zxldAQ_v`Y$O3z#P<oHo;XP~eR?yDdB^RJ$=!gPYr zw%^)m-5G8|8m&i+b@mO62a!uIygQoWvu`zh(<)MY0Q8EJFK|@rHvnPtMPj`W>G^rR zBcrp3q**6d#{cUeKem=^yafrn{(I2NSw|4p{O<3ffxBH6%{W~20QO73L!3$rCmcRm z{(W{Xc0@6(b~KC|Te_uU{g+t>?EDp-U45qt1`HsyfJK+Wn&bH6cN+SJ=8tk@d#%h( zty+5G17JM{v_p26oZGTV*oeGB9j0-O%kQ(3mIKwds`@+N<o=j-dfAva9h^1J30pb3 z!@4|t^C;%vY~Ea^w^V>cYWPfG1nn?EH+r)P!xS%-4#h5_yzqd5qAfF%g@o$*=jsIw zNiG7jhvlcDw+txN+IENd>_=V4dL$O5!OuNi{DKu@Lx$qkMSEcFoA)aF1;&kS2xz6c zFLfb07!9i?$mA+X$Vz1}!+|qm-V-N4BMbTOMjh*KXFCIw?@7uMywhS^nAGb(aTjkw z-2njx#iK<hme=ao2AnkbW9ogq!WZnYqQvHiyaJ<74WL%FVK#$Bp<>2#yk?3-6KpiA zAKw^%>g)|Ltzx<@jMX3<+ijbI5?yrvMYz5lXjyjLK9TA&R8oHcB@;iN6NIjYTtbe{ zL$~3RtP;b8`{lERkFo6<nw9A3pCncWmC1TicjABNkStuL8NkZ$qTvHI@rqYLwG%T9 z{GY^7t(ObpG&^ne%h;bGVHg`(M+5q+^NUP2Yr9rsvKIuu|IIp-Q{4lSpE(HZpEI-k z5g%Rew89T;ro{MB^$}6_p64B9Tqk28&GqB-uairR&XHCf$ieZxgHn;HsNQ#7VnD0t z+;f2DbI@8XX<&ESkr6V1+4ARTxq5*`w3zlF^dfC+D1jX7@HzWTM3-tr|GmKj%a^4s zBgxI-7iDxDno5aqCWWZUUv5si&&By$&FOSUVK;qOu!&=6e~ycithGrn%yM6GByE0< z+po|+r#784W7>q=rm$T!#-{V$0H^G9yQxWoS;O1qV(tSo27U#m^LL}k;S@77RpmNI zvc^L(U}k+mnrKmoY9JMf;7(IIQ=P_yiTYQRM-gE~fW)oVI8V~bN=K|Ppqy4}%Q-FT z2M(jdWn?Z78}!7BWsq#Bg<rpw@vkuA)^GC<(?k85rDO1${ge=4@G!Fpw27!KBD`pL zqw!wGjKhC#HX}3HvrlzSHL}=V!Cc!d0=z_7ZP{Ux+d8W!4mnM&d4LUHh>KJDsQ)CG zbU2bZqVucvr=rsjRyOL`=ex7lG$*`gx@QpY6{MxG|J=BE;9_Ok&e1HuCoh66T78@l zJiwPD+!OKXBF47|wa+fLB2S0heAZJ=yOB1z8apLK?{3E@djBUO)i9p)7jJr_j4-wI zc^gK}9oxRR(<}x_x$)8sfoiHs_2aj%TsS_bqB~d3-3>^6e_L#bNsFrX>^|QC`nJS! ztv(OlbZeY6Y09aen*S96H5dx{Zg8mbANRC{b}C+ziNoY#J8kK3W<|oL_&O2tE5ii; z)AWBoqPb0}8w2w@p2e%4+KrZu)A!R1<H8z?7Gqvo`<%#Cw1NDPd5|zx5nXtv%=`FR zgR*?blj2KRJ#PmF*a)$;$JVmpYHKB@Bjh41T~j}Nn}7%X`rq~1$r>il>yu}$Q5D-0 ztnvX?L5LzzY*cr<^yQ`QJPch0n*rYZWq)PS#cVd&<=axV2{Q*TsK39uCZ_N-QWD+2 z>@NR&9K3&EL9j?&BK2zwA!h12k|Vr)TW=3x#~*&o+IYW2Nk2!)e%}ib<XSs)U8!9x zNLukNp$;)a+B?=V1|El<CCO5amVMD*a(<u1z~NIs)=U=Bt?1K=<71^08O#GN$&m~? z#sU-nraU03HMd^mEfxVy86!@*L}Jf93n#eb73tY(R*xsFWnGH!8DPt1Y_%4~C*}^` zb$G?Sb4XfU?|a>6ptj+Wgh5;?Gak_;b#a31oU~Lq67{;Q7ST~X4OyxCTH~6ET5u_d z%9+M%IpXl=SI044ZjYOoOkK>Ejf?~GO)ricOkK}Xx$GnJU{2b`K)PNoSiV=Y@kT<u zp);rnk6yFyj|PdIl{T*!R}IDQlfxlmdwGaY{lzwzmYEr7yriAVFJxc)d-Dbcjp35_ zhvm;FT@~$6KV*JAr~j7dn3{7JL&B{)>l#tEOgc~Y6`8tG&5OrmBTx&EsJ5TQLYv#1 zQYQZAH5S5e!zgs!PD!iF<3^o}(l$=%-Fr#+AD5oY7Vy%?lGc1O#R&G*n8t>s`nF2+ z*$;I!6Covy)klWqCLo|&YnmK^&^&W8qW~c&k23Mo&YMo`i}~X+P#t5(y4?SJd3*ck zaLl8o>FARY*k90$_FWOR*-H>vHIc(~sJY0+;r2>zRJ%Iz)wy+X;y(_NQN273$U=Ro zb#S<Celnde4X?JWey^H>F5V(u&9kOIYM6j0LLe5ViMs60f6XJyYuwZEe6=CB7~Jxz z<MdTjl8{oHVS8#R(Z#!w&KK~-{*T^>eNSAZ{`jMM;mtl1EJO13sl{vO^ic&xRs<Ma zz;HeXhaoGkTVX%CKFEw6E~qMUVGg)PwAC6F5zw0aByar2t#y-!rFqh;3mL<7Z=FVE zsG6dK7z-c$TUF<5jrejl<l*)Ltb2btzP=5X#7`I&x100dmT6mNM|x_QIS)>$bHrO~ z6?NktV;wI76Nh$;e~;23dT-!m%bWETRxgf@Ik4MpCF46>jw&i=4LF=bOL7ce1>jxj z72=IxGyT}>WupXh>$<hoI;Vl37e6@V-qFNcsWZ(Fix-ayAryx9{qnj3&^hwCV@cXD zKQ$U5&nYKP`Qk<1m-KL_qp1$6$ufx&#@z4W%ca!w^+^p3p|1&ANOR}Sd7X00HLK>; z5tD-OC89Q1<dk89-mkBQ7xz0@CR?{>ao1OUt#7pq;gLf7m<{-6n30&y?!;K*xB5Og zG^fM~mX<nRIk#lX9pLLg1~waL1kvL0*}S&$Itp_sc#IVk;|3H{c8cxdBi4uGgpNz) zxk3aqmqzzRNBd5hHZ&1*jmS=M;?I-LqL=E=nanBv)?D%X|0MpoR|wS<lT7(!1iMBS z3=xTqG6>4fUP9X^&YZlw@XJYT@A$cjgMT~)eBPuI?rjm1_4Pl|m>Hx;Vd#z`Kg#a2 zsm9FCDE%wN5lfk7UGJALFhW$uc<vUq4etNzOiKwBFjVIb(X|Mj5OO;E;F2l5702a2 zEXYeMZyybKD7bW8)^T{6Tu0Qh3fuJCj*CB5RXMmzSVB{HjO0~Spm-v>T|&w7S?ga| z2A+z19CqK<pOCj5r%O6ngdzJ<D!H67M&;+{nN|ktY7Da9u8LUPVCOQ*rizkv;@R8n zj@vd(>~Hlud_>|wMfHdt@RiMefaFVaku(;Y&MAn1h1I~x$O3jhboEO@A$r-$EIQdj z+&f6@)*P|q{JGDSG4YOF{A)R0CWY(e{cD1eh?rkbp6s^LD`&)bAs~~ZA%w88>AxSP zMzYODEY}rm#xcN=79;(CO!Yj=pqryp({wpS*ZDTIuRn_`$R`$e{#7FrkJ{&&DSa*T z_-qU=vuF{E1(^^6o5<~(@&8E}cT7?QT8{3U?%WrR&70)4g#S0yDpKTC+Ob_-{9dc) zYHFQ#&!@VDu|c&!LbTZX#^-H6r<N8G%BK9Lkt8ylIPQi*Nh=)<s5cldwi~l{#p!d? zGR7g)^|28o%l}EIVJ-$;iSQLLe7!o0I`<L(5>p)2UP?=y#6_udf>o&Yj>BiXbMg&Q zFaVkv8?$?152>S`Th8IEFLA_G>c3bHk_yt63)RE%e;%BZSN>W2suEBa7DH%&K${Db z^Q&g2M-h#rv1EPTmqYT*UL~BYnY7smF{#AStoTKt9mAE+MOfB3VZCz735i8wBBJEW zYs#;c_P&XS{0tSU1^Rm-g|v>=u_7{){Q@RB;JtphfuU%!-Q))Je%rIx;>|lXdNImn z{z@O`B?>g3LsYieU|N!=H=3DO$GjtAGWgtkA{Qa=s~1r02_8|-@AO08{!e0iNu5yZ z)EW5OH;*b(Y;znoY;4>l(9xSQom(<TB^HR5nJKdi^NMj29MRk#Po_I{+|pxxPi@4o zJ)AqnI>qpqY2&iB-I54a@ZE5Uu-gw*CE1deN)ag%mWWtXh(7W^i9v=7?`lqfvu0h6 z8*?ePLHq{PsWo0zY(E<OrcWMdafP!XKO$|pbAlq3)08&RZOa~7WQ%s<4tqtua9+tP zsDyXG+27-R7d_+Fa+!S>%okn*7NxH-QjXs+1g@?DYO{2O^?R0#rK#VC-IliylXR#x zft;M%{<%MRhk>#SmvN9%ZeIwOSg^R1o}CRorane3Cir_WDE!ftW6V%a0pb=pC<sYa zZabAe)VDzHq*)nW9vKo>LpUi{vnau}N$Z7duk8)UeVh9^am}$pn2BgT0y-74iGI1& z{*WS_X&t&MBa;+5rxa`zS$xn0i*Xy%9;!s^YK#)vcgbyX5bRPJ!dR2r;6=7&9=p)n zGN=-fj*D7&GrPG6zBHEKR@W3Wxzt=jjAc!>jJ=qLv0$vtj!A01b9|Is^Me}_@?BdU zKH<l8ha+$phv5gqTDIlvONCzf+L>)sszq1}*JL`U6^iu92Cs5|uZ;rskQYnx;rsW$ zeUri%p1mUKlavNX<CI9(-P75P^Np+xL?uDopL=712h>L9Z7`gosd;qX9j8Ybm6=n@ zHnV1CX38=Vbm@ZfT!9Fid<IEgp*munFc8O0#sdL~)LOjF-;%&8$e$Ai{%LP^;~+qx z$Dmh!d7nldbDqhK5mQ|!r$eseHJa{z$3{Bu3=2zzlhc$Cii~VFZZ0Ot%WFDu)&766 zlE6EC03gzOeGB9DE3ma_9V+Hp{wHzt@M_~z3Vvl`lFW-HgG*{Zm(5#^0Q(oO{#*+< zs<;nTzORqLl4JOdMExFX$a`Lajctfud}Thw)0~)CC+$QnO~mdDpqQpM7nj~k{9%qc zq#zX~*vG`xql`dy)1=t2I5IMCO;AT5Lr-(QW3t-HC=<;)p`t|VFki<Zl+Rpz#?<h^ zJ1xpJX6k<&loz|f3!ZA6DG$<NuzcIB%%fJW!APH*y%;R`&|)!rV!#hA6MIRL0<c8( z959m}|D%1b_>dc-<H0Jm%~yvS*0Cv=URr({)#R17MrorkVKKx}YVpRk_DO+b^TF9v zxeYTZ&TOiS3nhL14ZaV<Md~8?YxGiDAKatFn4nQ#T`|2#aw<h*w(u=(%<yXg>hZ-6 z68lw;&Pk*iM!3T?*@l||=w1XJy1dQn7-=!t+G-_1A_2+KA!YORV|0(8IMt)3ZZ4m_ zvvEohC3F4KG>QEZ0qpslvgjDm6#M#gJTJ^%d~)F-a(D&fvnXVYqX7zGfoipdi=E9= zR`r0X4a|dnGqWChfYQ&+R)AVYnZ<LU&yS6ShNe4#b;P(^(eb<dUr}u_so1=Nb?1sw zf}n!^H^WX$lDKZm1^Vo=(Gus6#vT=l`gmO<0Exs=p8=S~EplSBqm{KB)x2C|Wof`Q zU9o)<mr-TQKhM6|BV>`C5Y-nV{!s(i7(OcgV?`?AvtgV(@1>o?mdEY+ycgF=KDFNJ z8zfO@a_cP&hwEkf&p4*!f)6D9HM1TUxITd-1ee9=_LPNx5G`aHwz~KCGu8sD&xapW zi~05<8d5N2DlaB0W#rqJPK6LV3YQUXa`>OLbeunhE0|g?K(G^ur4-x6+`^Zg`qB@{ zn1jlREj;nP5PA$WSqTR_vpq@t-%i4$XFj53js0g_eJd*JF(AGBQ@STd3A)VMhHbl+ zov(+@-s`5saZd7txah9#;Ir?rAtq_fnckHA`%?^Ga|`wrk1>O^O}7{XWDwd9rPZ+E z5N;EB?a;m}A{&Fd=#+y!2RYTQzb6k|I^2F&_?hOya_$B!3B<B2;!izX^o#iy<(L~4 z)ne5%4+~q&Ywl?9b08_d8D^#tHXY6zqU_bvk(Sx1E=+k<CAXpn{p2A$R;;Y%2bO>d z3|CL?i%nH7Od~3{e45J2!+@qbwoTvM(T$CG`}X~8=0SCpPsRVL&vC_+ANX<DevKMu zwpVU*7&&?&`IVUL<mes`ICjp-h;0N(TP)*%^Mc#5hk>*EDD#qJ$@&M#SxHwhKHkZG zfbq+Hsbhd4@?Kl~a}$SQIpt|lPqy*GVuXpbc*fmNUWsyVBsjCOSGwc@<F{qngNatC zBDh`<a(RzG;qPJ*{|_#%zPTZ0!eR+7@}}d9b_ah>oohc3kt)NAd@pqp^I9oAdO@M* zQ2$8r03;GQnGK01`<s$kzUHwTX<BQhaqy_}w%*ctMyamu^WQ?HR0$tWfFy9Y3pk=6 zKV%F!{>to@#$e)w@vz`Vr(`R0>kK;=TNQ7)na;fF6-GRxW9Me4a>`)?l_b~k2%KnX z*r4~_dr_V8O}2LpS_cp`PoOPu&UY{4kNLGvZnozN1KYM629`d5{SX-NLt)rHR4Frl zPCa4b_=z)s=pU@%O**`3x5+;*U+GjKQ(VE#ccH{0{2Ln47Nvn=NU!=uv%dYH1)}-_ z<IB;b8^-zM`QN@5zR$s(l3paPcSgBC;=ll9-uzfvM`yCz80=|GjAWm<S`eVHd?11* zuk!SidtH+^+?hVN=P%MW5|^k{o>Rht5=r1~wlj$4ggPL`1k3@7QvyXQue#Kb$L0S? z1Ff#{R>|KB{gVn}?$u;=9z{3hGZUkcymv9mstX$OD(0Exw}YjM!!2%C3p2Gfp2tu1 z^ox6&zuN1^SVQG?M~)M=hyp-)6huraBDNuJh1TEiEi1lQypUP0lo>f5+<DnNeq>U& zDF6VkE}tPmjfAwC@#;G(rOcV2*rC9>iCpU0NxonOnq{YUBz?V?CRuG6C0(%+#W^~u zFN?$BACSr*TboOjTPtZ%o@MoU%|)^hXpLVz58-sAbp5tP`fTJQ+IV#T9B#dOoB3PO z9;#(T<ox#HRf*Y{1vfBorwUBt<Pv3_?d+rmS~(-xVb)_cLjKkhKVQbvb@KeoswP)5 z5jM)d?S8(-4~Vx8D)=!Jm=MC;9FN_&n)ygg`Ji&dh?-KogtQN*xcMh?3^g_y)5!bc z@7);U3f{Kc(-U<NZbd_)Lq7K8m1T53li#&2Iyhp+!QSdU;{~!f-yM=~TnP2|t}J81 z;HOsRkiKd#$Zj@l%R*4#CFT_9>ivtm9kYERt7<Qq;GskQT*$sRlO$fBArQ7huD<?G zICe_Jb<LQhp4swwYs6VNlEobn3B?~4p{G`~H{F}=+ss?OU)`<ARSsI~^o;E+V6^`I zRWl;}_qnHL+ai7mgown%bmp=~CZH~QbGc?tzOp3DRMglYB5Z9u_G_+-L`0q{Uy{v8 z#~qab_UtR0CLi>hp*O}r#Xz4<-wm}X%?)Z^;S{t6%_DQ~x`q~o8<hO-c%}5YEdS-b zGFq7*EWV>SnPYRWxv@C|M%fwFhV~?nkio~TUv2OU+-k`l?fm-ZeoM@4i(C9MEqAaW z#9LUpL*JDif2I57M2bve=TTI0K2n5+8sRV<?aki8F&%F5dvHOBqq(?B8yquPus+5J zt@9iw9kZ}Yb$T%s@LbL9(<O-qgW?xMtaS^2l5%kz?hUhbVa8zRy*BHxv`)f*5{7uN zK`H|Mf>p3p%T8|HF40JE-K*WzpZ$fro3=V}_M*onN67;ckDi2WJnR7uA2>*?9Ykq? zOWSfmgN1ookqmI#EsJ%uiprg$ps9plOJ_%q4K6B|JZhXMo5gP33j684A!wfv>NWBI zK)+ZDx_4va^LP1ShyH{g)Mtv%Lyu8=S=@Gw^!obho%66busJ@_#|_fCyFaev-+7<p z7oP?m{11BwDmP!!*zN9$2OsO<ZRXz53#=184g(C-W38Qj0zP#rKFFJf7P-3>OiIJf zI?&>|hZhd~Pu!96*lktM&TQS&*ZQVJ(Q~Z-`vlQK%dZp!_<fowXrEe>JAd!%l*gw9 z`2o_5h6+SWJ4!8PrVRKo&oe{^Wx{1U>73L1h3(bW^P4_!^i5`<{u7HQ@&YN9LlP#Y z21=aMBX80^S9iC`-$$FnP~)y4T1Eu9Tp|(tJoeqP+sBDd-vjz>@4OACV?353hs$#U zhDHu)q3cg1G(3himlrXGBiHKG3Dm;4&=x;b<;x`B8SJJ#v*(J`DfLK8AFj+zz$pcY zQ|x)hR<lc@+m=e+*<zV-k8g)_14f|Jz*}RL3geqT8kOw@5LDAx1PP<XUQW>pUhE7{ zq+uN7eZRi9d};oN%%Se^yE;|QgVQ!>)};9@4FNO3bVr<fKIMJ<P~=D$cm!*yLFFXo z+$$#k!-d^)6uyeoviF_(>|A$X%VhPM#0+OaS_&!7%`f-NpcJFyNCpNAx#g9o<U#$W zmBxEaw^;wl$^@;ej?1}P&a6KpLQZJ|D^2$1XDX(tm<aF2a}|Ec73GBooQ}P2RI(Wu zun3T@2j9dNx8Je<6Yq)w^|<C66$wX1eNnw5Vd~f4jt7`|*Agwuz(z}5krw1ZFu_(= zPME0sLl`-Z{NQ_&f4f|Y^?3i*1Jyqq?(+MAU8;Muf9eMacLRj1lUy-Iq#}2PHYz50 z>Fm~h$WcDKmUY1wSnp(Ky2oU=y62QwxFJ^?ky^D=njKL;gEISZnzXeRw|#C`5alLu zf1$!-kN&V*-op7<6?v303BuM}-Ti(;dWE%XejDrNsyxS>JBNQ3zHzIocJyFcBZGnz zu1ulaMnM&<d~byDz%9q0pk|*R@#}sD*@Gv@K#jN=Y1a3~#{yAA63=-+*TMpTkV9*H z5#qrFpvJSb9FN4`_am+EkvN6)>oWl^C3)ZhXPq)%<Z72kGcfc|P}lI00880NN&%_n zf7<bTP$0+A$DVk_YS{fLD89IQO9|ynD=l->)9oMj+YKJn6ilPAX|9>ofYWpLtIC2@ zLEa0Vv-*~)$K}<D5`i3<*OEd^6r@@q(oEMV!Z)57wos8ZlvyNm{X71YmY=IvM%mzj zajvoaA||7VuUJltFF4(J@ZDjq{ooTb_4>&F_qZ)6KULGXd{(Q4NiGi#9^{gZS=${i zc14flst5j|Jyj3n4h`*>n<y{k5CO5tiFP!{eob~z$l~ok>_#L?UOl-CR2VkN?jN~o z*4L|i$nM4q(gY^n*Gh%%QeW(H1J@d2o~u3nX?&tBA<c5U4DLD4&H4L#0a<%f4iVcn zGJg74<$#-KzlEd7wO2a{X&CN;Ol_%cS>_(Hg<^`t<5}OG$(3f>cu#uOjg08Wm1f%O z!JcEdTrbZ0LRNRId@TSkdN<$3ZNF<WV$mWmr3H}Q2Yn2b{DNHzcaHm20QQ&@v~=T# zf?--$7HJdEx?B>eeONpI!l{jnxDg5~lN=pEIxIt<-L*$t*B4&J88D*G!J9Ak1E-Hj zra+&FA-G*L@5O-7;wh!wyx2!{J`)g&pmn-@TFF`VEDJKXp}^eS!KOZAF~9KlD&t+9 zZ|U6fnQSQ8d^E52#BAn4m(m<SXC#R8Qer-*x+dF)SD<ARJS1LUEOgQ#7&Yvq!+Po} z&qf0rPgMfP#QUbd$SU{odO>=g=T|A3C15W>Qbux@QIe|vgL50rztFnPZ}v*|2w?=6 zY|qe6#`XTnq3HcNi%D)8dGv(a%B;JkI<j1yAO7dwE?b^jZ|yCvzg58fRdX{F9Q^nZ zVI{<Kl5ea1&K->!9x{sIG)<n&{B@QDS^LmBzrI?1_l`-KrS&D9?v`&6H#W<(Z`K7} zFoLa3wO_x;2Q_6ae*As-;g3SMUyVN`cO0D^Ep*_zraOKs;h+;&ItOPKs_!Y7b$M#{ zN{JDCx%Y0SB{=6tOzJE4JMDXx4&!zV$d$RSwRw#~d_)YKPn=Rv&=1PFQ6*Tu$EP4; zcw1Ahr6u=V&_Vt9OW0I#Q)fHU7p9j7Dd`^nVy{Hs_;Tu1s37>U1Nh2`ceXt&rGFH< zrVpueBK?;-Zl&E^>6A?8WB@%sj#icZG=5;m=dF%T!D!yQzZX}{Jh|bOVA+L@$xo5f zCF+n0zL~o4K2uOM4Bj?|$xC>r-b~row?85ix2~}BQL^fkd%ETXra&B4HCHqJIZbqz z4naDMmZRZ(zTWA#05t4M$(bp|mt}m<G0mtGqU+DOHNVmbl4vNt!gzn<I8a);Ui!1W z_%W%H2yuUrkU20JV&1$>%=Zp>qt$VpmJ@V(oN1gK%f@os5FI0VI{>sil5ke&HV9C! z4?l2FGAtY_{y=-rJQ|9B4q{~2;<a`Lc(qRcRsxtdCS5}t0fxa&Iaicf_&S0i7Ar-q zZs<H+QZLE#WWrC5@F>VCqDz`iPmg4uYBIpR5Z7lR-M6ea5PmFY>(7H<K_8BLN{#ch zpL?XY{<hM9Q>p}nnh<l9%Gu=S1)Wdy0@}v()eY3toI(O`KgGoCUyRKBbe#IA-<Wf+ zRmH#9y~J4C<K5|ogcmH|ARRqoqDnKveP-a2PmHst*Wgc2qr#9}oR$ZewL&+_<u`)# zol0KY9J7ICD1I`yQn}o)m$}CA0^yGFQyi{}F)nc*|1^Zk?}Psk{5AW(dxy&_pOl%| z4mg8#S6ikh8-0Zpg)`y<Ap!JZZpr;kmXkDe*0B+%;pU4t(-5->9j(2z%+y?_-Lx&} zxmj*68IkFA+rH|fDe$h$fiY{JW2CKSokPz)u6-bB3=Rd4NGn7wGTKI0>d8|j^>^Mq zNC>>+mg_J89@ai)+)U^ojtn9zK6{xO9H(?DSf)Q5zWES$RK;O`{I+-Tcxzq77;@0F zh6W~9CK~YrMl0w|T+Vz>DXZUT2VPO6NNH?N*%-Pwc*ovOzH1RIXqkJnXpm<qdNo7_ z_E=7iMgrojwxCNDJZBT5M~$9xSP=VLBWN)%quavjtT!x9-t>UO_3Xz|0;>bGlEm`B z%#w@NkL3GWKu!7j+969Jb7*l`OyMgsqdT4{>6MSUp{v1%Rw>cmF3=EBN8a?j)Fdkg z9D~J7N##l1L4m&~`8=A*`ZTIl@jb^qB8wV#9uG*=1t1DzC!*eI7h&=#=U@-|&v$q8 z2+WyMR_4IKP^fF(Az70toUBJGsPC}MADA+Es|S)&=@+Ha{CH!lUWjRZuN5kX1oaba zCZ-N!s|QMi2sBKtj_flqZA(47H2z7p;oZ&g2u5~_lNbV=c`1EiecDr3Xs12tl|k<q zbM%gdp{GMJkT9~1erM3BdjwM$sEUd#i&<}G)@|eJi58a{6g>f%)vNq_QU?}@YHuX> zp^ivW9Aj{;b!GQ?g8*^BdW>7z&`jOUyw!t1p@9QuVo+X=y1>drSwxshmeB0h%I@UR z9oK*Fq@{BZ>Ks|11YZi9Rbd;0cCa<!CS7M_`RgVK(Z=L}0*~OcdEALEp5pl(W3n+h z5kFNf43J%L>DN+mIv=#}ili<sSSnmx#dAAe?`+rcymopUK+F@0MD|A2&_Y{vY~$31 zSbz!(I|Zj0iL{RCUABpTLDL5INpTKXG`@^I*%Fvy2&&0p#A0$taC^C;w)@0i+ffEl zV!#R{22pvsQgLMyX4=;2U9qY2;=x46{VjFuW@K^ER+pLJQZ}!kX?&06MT1mzc;(kH zIPG<|)L&D&y3rcZ>YbEQ6xe5Q1b*@(^1#wrON`6@%PSz&lrvJ<>3720^&!*n>lhCq z(yL&8*R2sv6?WF-D8*HtH|t5LcXiGGyDg!nf2y_~0iCiCyfFA%U=iT+5-3r_xt;m= z?Xcn31*_v0V%x59T>;Eukgo+1(0QYP=nCdh?qIB*gR!+!kC$_(aCc@pu~4%qWbtcr zI$HMfEVqqswl0}n{6O`G`Q)K`Z@rLwpPEf?*NG7EtZtgm+%7U&0=RjlMHHZ1Jhn<F zr<<|hApo3uf^t;xH!pBDSFv>t1DZ<>k4GI>9=fBQv8HzqM{`~$ZTmYLGw_=hYPQ2) z+EQH?a=%4!CtY)VxeCap(P(Yf`&s#%KMYX@U&KMqenZqnGiiynZX?m8E~PWBsi{*u zssK+qyc)wXUfc*VfoI#ZLpIwc2TRuj|AeJQsHe0_-Tw1(=xLic2Qh^j74eU1ii~4) zSp#g)>-!3q7exq4ydYc-xSF~EzTrv(Ih)kuOUJxo;J(ICcy%<!_VzownEikh35lN% zhwZ-aLyF0D4t)iPfi*YqSVITh*Kfodapn~@=%DHS9^IbbJfBQ&>YN;-k+d$l!1!qW zM_>FOG3hVSRZ;<8eq8C=X@BVX6SO#;s0g9fHODlFD`9OjJty4K=F^^Dg7xdcD|Ix` z5LrGmsuh*!MR!ameJo9piA+zZd<Rg??gLbrsm@80k36n@#&vbeDU8W1jPhbISA+<e zge22rDG1Mkim?cc_hwyPVIyctSFhuDvDKW|%xCWM^nym(@b%(vFKg<My_>J587)dr z<OfpBQI~Hg(KNoDU9SZI9UXc3PNYPU6LHsIi~eT>>$vpQsEccl>N*aJ%Lfx<PAkow zM{aHWI?`ipGnwFDZ8aoXl`l{D7+QC+H}1W}LPx}S_7~Bq?G0$ox7BuwoY&OyzXj!a z8M<M~F1%|$R(g%P=YKt?*P0Gg%xL-j{D)uDh8Wnf5Vr2={wL9;-R@2J74R+S^W?S? zD0l<<Tr*D~o8FLE@<(8y&c7*&&p-UzmoIb0Ejh*V@;{a%pW5jst~PuakbAS9?g;{1 z`)cRrBPJ4EO_mERC+OYm5L*%!U5@C?Ee081+%4`Wn@<?X7oA_ds(W=pt=tESu)n!7 zNw%L`*p&<Zu72)>&3$L**R5$wmcV@TgyCmb6Kj?i{YFx+u-7i?WJ;)}fck$EegHIU z|M`aVg5A2c0K`Lb#?r%{eAKV~QldR36JnT4ChPKl5I?qz7-z<HZxvf-+@JjT?f%%H z72f##SkeDX)XsP{Ro4ffrs9(`bP<6gk1Z!Wr2=E$FGJODBRTOLrH#J##ydmjNm{my zoAq{+Y*quBLPeLDN|hKpRGu=6)bfaMLoB`tCN#A}X-NDzvsVK@KKH6B6`QMA#mOV% z=5Rmhb{KA_A?o+NiAf59nY->ycP7NncY(#aupABTT+f?ge?X9;?M~LM4g{KMw+*f7 zlhxp8-Myld!EEEml+XS^RjP6_Edmr!ksjEp0`7cFTBno7{aPzU5WHjF_{|~cwA*~m ze2raNMD@y?f}NpHf8<mT&4W9(5o7QEZOGWNE848baPZ~Fm(@?y)Pt2Uz0zUekBY#( zXVY4~CdF;#LKdrF-5hpR8?QAigZFdHcDA*<kvpdY)G{u0b>vYT7u>7;UZq~!r+7mt zGaM>i3E+m^hzl(aKU8D1wV++&hJ^rYQ9XN=HO_h&ry%7sA$y)Zg!<nWN$VE<AY$4e z*eTLfWm=wFsB}C24wNgcEEfA5!->>?KJrUfFI~^_^(il$WFqrA(t1k{^^ZlwmYJS0 z1)O7b5oEc)3J}xcI~8Dn6at4i9BVo~@;{`a{a{bmVBnuJ4*==0c(>Y(cj>aOG1Q#c zQCPG_Wm3)jgJ}0+_s1m{tQH4~jEAHqF_E|uAq2Y+a!e!1tIfC~`+&e9G@ff0Ugv>1 zK5&_X#h}m=AZI!k>6)&OhO#3d#?8eAamt6p8BfSbw~fejJjg4G;Zp3V2kU{<ei-z< z3;Vk4EVq<r^WkvDAT9#ChQnp1NZ2F8m5pc!lQ&67IAy7=qZ)wUV;AuH(>`4-C74Be zKK>y{U;a3gYj&-`l;gF4%H6uV_iJi;yZGm~p@8VN+BR8_V^gY`XJE{MY%Hz*3O{|L z=VX&Mz@l1LxeaO`)rM&EUbBEXo_KF3pRWL-HKc(Nri!*}S5}*`ZcPYvX8o(_uBro< zot|8NFdciWT*ff51yE%biOsrdIaUjhpLQd$7_foTCa+b}uz%>1qukj1V;{9Mz!8jV z_34rep^O_1ZfRlpAQOHpwURk>>cb$yq}N_oQRm`a&nGh{NG(e_s+o_2)%oUf3o5rh zfDO}JD%#j0v!KJ5YG3>V_5)eNobei-t2`N}>hskA75EfjLbw_H-ep?x<`4c*(UW%% zcru=9#UO>}j1;L?e>K=!w9ZHXeF}bDI@<azzp3m9Ee8`NyoaGV5eQ{|-gKhMDW?mM z;cnHQJ$3#Uv;nu=D+ng9w@Rl|9SvTzkI@4*V!!$KAWT1<_8RSvYT%xEIa|%|;uZhm zob#KQoqSzmyHlel;MviA`DA=n^&7w9ze_Bk^9A5Z7{0zaQRCj^(xs(?<xd301!rXH zB=rn3$^(@ijqh2vNBUWXxK%Xy&4qaaez8kCU7TjdhVGM~aMsR>?cbRWQh!E_bJhXx zlpd}toeOzfM<TJ_VW#4&k_00yIsV3iy0#8>393xu${ZcIxg58AdA--F$5w~6JBi$` z)$t7-b55K-&DJgLpf5!K4s$zjIU*~+q-vIfjsmLUl;TBC))5-SZ}UxTfgyLZ#AGAH z8m6nf;cLX2&bDS<k;p7l$G#r{0wgv>oK<a1UIEqJkx?rU%kVlY@!dUo465FWIHf$c z`k%z#nr2(*qfvdpkx&kYvll@#2J3h<(Yyoyld#z7uOE0nr)3IX3QlyR`I5douIdM_ zpd^6nT|MGO$zoLG`=Jxqv|l9yS~i7#RH}*8cvE8=y@Hp_y9)3x1OVOww=zKs>FIMs zKbZsZn9UaujVJ+Ya<Ps5Te1I8H${UWBvy1zmP4WPmJ*kQ6swNf?Bbap)<3GcBYo|7 z_!T-+106m3s3C!^SFmN>y!Fzd{lu~%dShM8!?lMrl@@2%`!<QW{QBYmAdrtl7Bsb! zI`YI*h+ES0z3+s>z+Pm0)QIa?BgSz_r`B(;T|{4{eF51TeXrl~#V1B}Zo$6%lXvkT zAD1wt0I=GO6jv_|%{gwa8FNHaU*qNy`r`R1v0=PRS9yYN3e~B#A`DCr#r+tie|$3A z=NP;`D;K|+DAWxv2$KTMwXuS%E$*@}7ka}w(G`VZm5EVFwQnSC4##t%HWfiu26@UO z#Dt&<6YnuTY>ydAJxLF2+Wp^{w<~fa-%~dh4X3s@>vSq6-T9R=B^voFbv0ha;H7E8 zI2z<1#2|G*#Eq$M!Z)Cf;4`I8u>@)?yAxqaJNmERab@s<a5LpzBC_+TT$u{YDmK<T zetC19ybIh689Lv!&g_IP<~!*$uZO}x*pdJJK*`v@k(d8ZqW9@Snqpcr0c1kTC@w1S zqO5(5$zWjUjjX-1P&VgcBCEBF6Oev@^AMXZx%DU&b%^$=)lrDq7K=1!P82vANeIh* zOjOVR7$XoN;Dm|h5C$)iQpwQ{x4wG?*b6=YejptG`Q^6KcuT9(Eq{bRG-@wd&ZG?P zx4gs`3#BINMX@`S&`(D#B2o?<R6qV^InK%hby-OyJJyj!U>7tn7S_nGb3E|D^p1`K zXy;75S@;_;uumxyBvw!atL}l+7;-oyM^Hb(Dd>2yew_rEXl}wlAUonYgHZ0Rq?nwI z%YO8boQW?qTLI20okgA|;U=~qjn01B1Ka-BH+RUoQv`2{ptlU}ENWP#=6iWzJk`QQ zcj&*~;bvz~kd@}Dd#h@1aAT1}wYLZscxLi@xh2>z$t%ru6ft38-I2eOCTkvZq~++s zopYw)22G;(ZWc!)anC`uyhKDWl44;bgs=P##7EbiWR0R+CTf>id-`Yv!L5eZe}W$z zmMi|Mdizgrb)`S26#orO%VRa>VAG)fUNjOBA>0ggE}fnK7A>_>S6{GFSNEU9@y}0f z45VbgzMpGI70WTqv1~~*p$7*qzXbP3hcLvFALQ>xSvnl7_wOLRA!sRushccugVC5O zA+LTiMM6EbeIZ>YPF^)#<dV0fE+nkCEj2)OY^<IF&#$&2n4$(}Kx0<EH!aEn87CcK z29$m+AuD5N4^TdS+1jrh2K6;2@skT^yH6i{*ld^_aq1DU!nhTCAYk7>)j-t<3(&fS z`oD_K#h>Z@@#Aw;ONmMja{Y#cT+3x{UCt4kOcqwI6~Y!{E^`Ud?c|!xD28&I(YC^j z&8-_D#9Xo&!rV9Iwp{z|_dk5zkH_cze!X7LXX)CPYaBayg(Kk4=<}5A;NeJy;84Os zkZtX<oP0YA&WT^T+^&?ClqSQ?CkgDh;>roj>Y6uP&u0hgxfYVCksHet_WbmcoTE1! z-AqN&X-h+6_6Ifeqh@c3OgqUo-c7#&(@K%k{ZQi;{k~uaN4?-RxAAvIj|sK0H<^+B zi}6;Rodb^n#~xe~Rf~Qe{tMmeAD&@><EUxI^yuqF#F97fF-B;sn@6@+X-m`*(<Td! zcMctXyH#HtU?cDV^*Uq2hbzQE6SId-oV<?1Vf(FmLvk1l4_cy!Ksw*Uyh6{W3q8k* zBUZ(2B8*|LutXrrx$vR*k=mW_6B*Kgqz4zP>Yiy7tf!MPQM>2IdwrV9pt>H8QA5Hx z0h`_HWW8lI?{UapIi?MC?Oa;|Y}9lo!;T9QL*z4gIRp|ZcHSTLEOMMu`3W(`FQw#j z*Xfn+NZvqqIH6iea^=K?UwS7HkRg358Wwu+RP`)L!L~)@b7<~_2kYu0b|V}}#=&Ks z%cv_uO$Ie0H{e>s(GZE-zr_X!Qb5ZGKrM6eyAv&@-@v*Hd-B_LeZsyCZmfafwcmG2 zd4AaJ0*?D)9Yb_wig>%OMp&^|w&$=k0QP{12(}_=I<hLt4a>XVUlX*p+{K`Y(CbG| zyeY@RbJCF^E`vNuYOk#j`}aL<jWltgh#87MoYY~xC7#qen+Lf*>s;I5&hr@47B$?q zcRHLf!0!H`=IxtA8W}T)A|)>Mcu9#_0d7o4N=jz9sO;z)Hi%SD*r<n0;k|LjQobXX zt6MALk_srCyZ6c6pf){Hhe&>0I+>UHWR&!ouB(;!Z~oi5hf$_RAgw~kuX^e1<k++% zT;ai<r8||U3n|^)CCbiPkQOUsC|0gZRv)9SG4^f-eV==Z!UkK`Efq4F4k(%eHKT!1 zSD+WaEF}JSW)>iM6ny8RLS=4h7@l~#AI{@+_RsLi)RB9=v7Y@i&bT1mo1aZ+v}`J` zd;HZizu9S>8z@V-#%_NY0Y7@M_rCaZd#lG5RnUO*12D)uVu<WTE}C#GkuVA9w)W^B zi{*~c$xU9g288bMhC5|wMXjj*FrocK#vg#uM4GPYk2K$ti#JxaTWWfP-2VWIC{1fh zr|KXJ-JJr#a7gF!p6bu@ci#Ed%33BZ*{hz>dv4#mb6BCnT)jfexlKD<+e`0wA4t!Q z&gqI@@+>(>>yq`aocGtLz0c&6xAl(fdux#XvF@*x=(+HfjQ0*oKii*75q4V)^vI$J zdu`hyaJb8<{&-5`lu8s|TgyM_CdCh*Q^aE4%?nzQdHzVn@KWzsj}%nYMKx?_ZJjD& zi;Q62D=avdLwEWbS6dQLh9@g_c8dyd!%fV&KwDzx$Nf%fQjN1LtJOBA`*BCFcG83N z*5jF@EqAG3vdjFdXt{8aL=eejBENl0y_z8ACSt)y-U(~(`sNpw_Lp7QO=#^Y%DBlI z%<(*Re0Z&nr{h_No=u6hCGO)l=fY#HBlO!#jQ0MLct5R5tWZ*#Ud?zE*5-2~P8(D0 z1RuAfm+wZMEIXYiETp@wAiCFErb@14$Ew$vK72?Qjk#5?iWaS+&C$^DPi#jp4bw#? z$N9kNT?usy5ofKMV(XS87=d)JL5jdT)Asg`&2+|Zd1d2s-)>DzWg;@)v^)_w505$h z%NJt2qqrfo$G}QQZ?HFH(YDwv$b*Mmn+y7<_;^^YuV@k#DivcHt*(^u;<NAi3y+&; z7WzHBIR7q}jpYO1<}w=KEpeO(Tr*i$V=M>d$|Du$>G!2KD*2{OWCjz(7c7LQ-fd0c z=(-FB8o?o|)Xj~P91dj@N|zX#CUN?|kWPzU=?7~y+s|APdk>_C7=pwLFV3pd{C?dh zlbA^4Mtq`W?1ssWXj-={CC`06XmA8YM}O~oF6w<GVS&RLz`28aq)E+?z@A_3?j6K3 zcK_!Osp*sR6{{wgQvXG&)9-y<CB=0Y6|7^YGOrx~4#cH}wOw$}#+PnJI-2qWN9I`` zocO)TF$HdYEoCUz*$MA1WW_IS$I4K!4=a>`O2>w+RM4P(GVd2GuSYhJJ4>`SxLiIX zgdIO_)P`T<#o7kbmdQn<Ln5%!alO-oO1lo6z#=w$aXI7Z@F^n4;|HDwcOG{bLCy-l zJHI~7?-Ep1S(|W2sPlghbsv!W7HT9q{V&^qTA5cfF1_#8x=H*xtEp9)-XG*s9BeyY zx67106il)mX%B3JBX(_eb1^L*4jV4=QyH7fYYWmVf-`s|d#7iMyS&P&-^IGkRI}W2 z(#QX0aQsKJ-Cy-~BxPO%w>hbPQ<54yP7024iyd3o@>pNhyPlqp7c`&9b7ZnNf&;gL zP)7eAUJc`%y|DHD4`4Bl<*GQ%Tx9f(6L$=+Sk+y3wC%8F4d3M!a<?NE{_QKC0wiv2 z$H&F%a8NPv%PXf!VI$VU`H-UXZ_MsYT`*v^tdzygCk)rb*EVOeUX=v%f(!6lYf+5v zrfEARD=KTCdJP;ho}9S2syteT!Nd>q0uop3y)Q6(sh2i0UhtP4>()btb`rn9o-*>` z@L_Kbl1g=|zdAKMzO&K3IYYJyR$N{8YO<B<!YGEL**XjS4SEqckV2m``mZh2h*dPt z`86>}^6naI;toT{m@&z7Wkg2d;w0UzaqGh6QzP=N;vDM21t&yRvwuQRARlQ`mye_@ z{%p|A+a3|gBwKfF;V%1_`z{S;qE>XKps*3s4PMA-6U~D*9v^iwwV5#5<l~x9$7wDk zX5YX3yXD8S_>ED=Fw9?H{);h|#=mPHV;jbU+b8$O#YEkxG6!9O;TV|ACOsGnvl+w- z&y`6nc|i0y_Fo<mVi>Z5b<}*5&!~05GMF`S=YHWf@FGY=GTTFuYhc$DmtW9($PTF% z&rISp;ZxORVNuU-gaD2-W)4&*{GI)pf70c3XDNji$J7|Ci;8NZHuY`7kN)C<-}iN% z=`2MKrkhWCAkuu1tB_Kq2LDJTtur6G!=QGw$lQniD*CMKhOFA&evdq#)LoDN<l*`U zz)0)D+N<He+-?;I?W+Ip%iC-hgS&&J{Ibzqo~(X)uqc$;Qk6+<b^8jZe}Xo}W<<=w z@ZdOq*x``@bjb<s8O@*NQxbLg_u2Hh!h_#}PuciVcAq`>R}M9c=Y5nqa0%1_5KGDu zuDy1WRy@P*&9dX-i(B%9gEkqRe*o$is_djwZ&*m@V8ck4;4>T9aE+$C%xYL_cE4M8 z1EpXcXVk3u`_*?gEw4zU{F<H83)N^N{g}<9YhZOM0FCVa`U^*tJ26CB?4)^FMDVMb ze4^_?qU*<F3UT&#eC1g;o~>NF&J1=Jz|gp95nUnQRlnbPQz!U(Z&OymGpQR-du~vj z(?2PRWq{eB`G=X0Nh!Is?172t(#;aHvc1`%jh31CC}{}<)FeOM{&Tax!fIJS=Z~oD z^~QW`N^{<-vKu}Md+N2hcZ|GJ`Q`PAiS*LKhMv(|g`Fk=u)kqYL{EQ^wq-<AdM=Vv zW1Ox7J@K<PrplEJvY;vX1LdmV%o>DerM8WmfbZAI?s+XzIJW4l0j;I%fVhs$7;&pG zPkHu6DDf*{kOwo&Wy+4!3ak5<$+Yi+n(W*BKoG;bQy(u_=s3@Io|zSTQ=B1IbaaT& zc%snEEynmJ7;roc*Avqg3Ti_eIs_z}PYk+l)4IM;O|;^K{D8V5oM{PE);;@r$w9|@ z+n!%(INE%#YotGFW~3!{Mv(nX{nJG)>10a-`HvgZKZy!jujX`1BuONQGZ?b9C{hf8 znH=wDN<H4}>?tz{@m)nf7Dlwdm5-mz3+BXYR-*i3AD38q7{VL?2VHgP^3wpL=ThgA zcI?y@|69{3AGb($*>q>32j`1vG}`X;5L=5}QzH4Vkxf5rR+NU{Z(%@=j2UAHdhj18 zu+80FZeD`(WWMq0xp$jc9#&}qRI9=Vvg%qG=cK&N9alO1069TVXy0yjzGJvMUqo(v zJpzPb(@J2+Lm&NsL^bBxU~!LJiD&3hqc8>|PUWV?J?u2elJK+Pb_V*=p3<#bKbsgP zew(-mucA{lmP0Od!GaSUkGZl!gt?x?F)35d6%cwg8QSgmG5S3VyMgsyh+0_Fd_3qc zZV7Ia?rsSCq5wpBRbJB4C<I+|HR*YSn{h9T!qNl+k><z410m4vj7DU$NCyWZ$cmLY zLW3pNBQL`2V3jR@sJANV;eoTIvI?Mk$)QH=|Ff&mIM&`NClVa_;gZ7&8%Mido}pA4 zLj~~uez)~+i1TI6uAz}S6%8hQzml6nV6^^oD45Bt`W$$}k+TBqe(-{gJ`pR^vG85} z;W+kUN@I1dnO;tHwy%G;R%3x^y7kvq;B8PnBa8XkO%E1SS$z$gAIx?J(<7*nUng;> zf8M@>ojPz$3?{bOHnX>~Gy3*_VTEE^NgcBNq@IW=+2}Us8D4d8WOD(9-gl@6JdiLn zFmG4T=A2fx|8#BYHq3Lh58CgpJ7>Iz6z6?flA77>3@Z%7j+_l|7g6W-V`OK;9>I07 zxE7skj?kN}MT`&j8)L{xeD2XHl<honv+2Ze{gi^Hf>!y))7s!MHbIJv@PmJlsmETl z0=Pbjc|R2*G2de>4ea@J1?{M%@17V@C~OSD#w`rxiAv%Jol}uQ{AqrGD@2K=1yq3A z43fgzqMqsqr~IY@?uHqASUJCx)&RPGR1%G4#YX|0XWkg`9_hnrTaX^37LB|bktmKf zxaQ<xeO~v7t#f(lf^EYJD~$(#8D5z}YyyW5617zP#!@!WHBBWfsvLj6yx2n#qvXf1 z?gOHvQK6GK)ibRE1WoAK>0DTJXs4t%of3-L_!xMV&d#@V3ll|>oc0H+YN+-HI95ni zLDr3OnAQBX#MX3&ZS^Uw5AhJ?OSPMNHvju=vNuY8LQ8RsZ39)iB>Nh6>p)b|*#Y}} z)pjr`H@(h&Op30NoUcsXmQglSFbG_Rq*XdFg)aIHv897-t2b<C;)4wuvcsh;v!m)8 zS%MuM^sU<vo1wGNZKYR$8Z(P@%0asqv2*zn6R4y2J$CWSYqJbTQ^EE>(bF&L0FU*Y zmJgV#wbRBGo6%Pk<uC9yf}XSm)Xtd?KbB-_R90O^<fVMohNYc!1DnO@yES#7$9zum zE>OeopA8$it0nDp3<|{`9Lz4px_YV+8uWR}K9(ss9+b@--8<SCS1RHhiA^n^hz=Z$ zr;Ixe>67pGf7GjXgL#tF{%+Mk8(uLE&s@v>NZ<z$6tjE>F9e+Ye&}z}7W~dDYTWiv z)9^X)SjR}w*Ufa#D<|vJf1i7;fVS;;-vA9yf!Fv*dQt<vHpKWUc(&&ZDb`=j@(l-q z_C2hx@SnaFG5`Fcm3UIpMosz5g3F_lgLe3v5Tm+bgrIwDud3m(mQIG#5lF_#bPIhb z43}%gYAlnD)F4{cH{W1dXI$R;;9{^E^WeCg{QLK)VKo5oD(|UM*g$GnZVkSukrz=g zjAxjv>ZixPeQGw;Fm4q;57Aeu9=v2uH}5>mML_tJEkgSG%Unfqb;)f>K<R9~!ra9W z3p6wu(T66+xL}#T-3Z)eUKE9~r7Wv$(GA6sOrmx<pX2QAHe}0quVgYUa%<Lyvzu$P z&}L@9S;3`!vp@w9(0qB=yj4jm^|5_>p1^a+QB*2hXH^eJrSFzOkT*d#sMsS~@?N&? z9pQ0I(I>L~sJ4LYx8Ki7R<B(nKuZMwn^lhaa+;wH(Q&TLYc3$K@<*up>@r|<1r+59 zssf`&*hf=1arD5|K<f8}dnSovui>9k)2ow@C5i9|otNee4W;KjdLoc}3&rIFwVoXf zB5Smlsp$Docq%fU!1q6URgbURm79<EYBQW=ER129v06>dnZF}{t$t3BU?ll9<_Mjx zq@6d=Hr9!itW!Na5TO;4a69YQ{Y$O&XZwu{W!usN;yzcb(9g4Y!KaH{a&r0aHeLc1 zXI?7Ky7Ju9`|%(!gMDQs?JOZCZ)j|5sDsk-`hxU@piGJ1lry&*>phUUVppM^)cObH z2ct@+(&02G#dki>0tiQ5_=jch;z;`w+*3GSoSOMLdJAeS8u{sJ6=(zDs%3YyBmnZJ z#Id%YiH`NDgy`wo%r;V5%DpdZ(q8&s8O3}WQImq}NZC)w)MDjcS?`@{K78ylMD|4S zBny>yL6$))39|HYV=`5XVQsJ~l^c+Asq+e#7abK-@cd$yBWmH6&u9$u>s5fb=Cd|_ zgL(x}LEK7m!f)kL$MrnKYNH1R?!D-9xUV+1c--yfV0UBu@%*N|C9M0Zm-qJlufy?` z^7ws)We?<G;Ee@tW}UgL%p*cWDK?WSSnLkDixs-y>Z)guE=xPLrTH)v{(M1+T%;C~ zSeC~Gn=_fg@1A0mKcYDQJ0xF}O%Qt^C1?j`CWd_${oM+~Aia1m<cJ=HPw5Dn232$* z6~apkr~&?DIveHaC29a2n!NJ3+P+r}wEVcoTo4zK5mw|?+*InKLDq_6jx7>*WKoU0 zs_my=CpX!@V+tmDNVap+rktZ|R?n#C8?4dG`yX8HbCQ#?R+3$?=B{mW%g01)`+f=A zGC{kS7cL4u)HymHKkWPW!0F8rSZ$1tuA>&OtUpd5dWKiE47d1;lk^7=FrS6j_$36l zU%t3VI5d}%nwnb+1GAU8tdg~s$T>8mEU@>b0ml2;%D7uTr!0?_`>$WkONr>gfvjOI zV476YgEjLnYFXd04lZw4v^p#*AYOl*H#P}HXV)TJUGjwy!T0_En3co$2=-_2$xx*l zvrco~yES#B>Wg1((!@Ja#5XXoWgxHnF0DFYwT|lLg>7am_8J6L<<@VF)YXl@VY}5b z+T#!-Q2XiUG8r$GFPRG!W<hNiI}1w`)DaGR&<gntV=;bvFMf*<qDS#p(6@`!(pYMU z$mtrK<13pf$`}3q@0OJ5!^fZtp(4g<4|pMp>g>iKT^Xu|!e`bOa8Zo9l*#ZalY=A% zmRB=)*)(WTPQcaJLf{7T|2D;W*4zJx0_xl#gxXJMwf_=JCKkrD`nu}sAQp!E7ab!o zm^BZff%HR?YcmASyPpB470^BV2i-TKcBF<l|K#jDJ9mi}BVrJ}?XkN+i7}rn@CTKX z%t>cjBI~f2p!0>~h0QuI_&<XgNBYuy8VOz{$|0M$A>p8Id_gSxbLKl+iOyARpg7hg zr&U8gTJoZ53h#-d?sy(Yccg=_QBYiv+qmUD^Bf|b>l9?ZZK>7W@dtqNac$0Di$CaB zljU0aqWa;3N^sBEceP{(l@sDUVK>{Vn+O4-*`*>aAs083p0`M&#-jq30_5brHu07= z8?b1ReaddCnK9xsP||p+!ZYjlPm76t^6#}k8Y`wXk~?HAYu~QJ_gKG&MTsh-+5x#P znwt`(AP8uQNFe6d4=!H^`#9cfX1y)mIwPBR#bsY;7+t<i#vHK90%V3FArXk~mG^<d z`25X<on2E9(K~OZz*WAUl_1E$IyC1|s+_EE&hBac&M%IRW!u#^{8#;C)A`92g=g}T zho&EP%qjy<H$N52f`4*NC-p!aH6#5EK2rVw!d7llWp5jvK<MCM)lJ!hlUUT1$#G`g za>(rGmSYK4h?8sm?m-#fJd&?@1}v*tUeZcC4zxOIeQ<tj#_q$>l9Q3T|KLy4J-}sg zLCXomNrGM5_phJZ<iRWb*qSOm+5A3AocDa$S4NSw&q8&V`l#2{kkZ*h%k>9(!iEDu zw{h*h&-cgkbRt5LImyl;+Tj&-8+F)uVT`J@Go)m;$_y5=(~ojnZrYtK@9bF&d2D@P z9o6VqdP(QYujbc?$G$LVueE(^XO1~v_>MILC@Pxt^m13Q@pY4N&iio3ukv&QF8%Kf zuBDJw-d1~pKzgsGJHV?RWNHj;j4V=iotA1ge3(D!PZICyHk|xmdG9yc(7<({(U&5> zBas(gX4W5wX;lYUJRK|9S!=a3Xq);Ko%ZjL@8xp6US)n+7a1gCP|XbO2#!tH#`CGA znG08Q9Hc)C_^u~z#6~CF^Y<GxKSK+$V|$xMun-QDUgrn)yjp@T$OJVT{O%KVVvYr7 z={4iysNnqsgmkaU%l*v+t&WM*oa%GSO7EV_bb$T<F7B9jAf`uE@wdX179!6Ke5#*c znt$Vkc=6&}O5d6O$Mzpg-Rm24z0^1LCjHYt-Tl7kApWFn_GbEh<$Wb`>u2t0Ivi2S za|63N;9C+CuFr0IKKNKbwEp#eA~US#9O3Q0i2zxl5OOs84uN$IFLcQ18?x3!<?Ko> zx*$?W=4R4?C1)DCT~eT(UAU}fk5%_BBv|4^0P4kp6EMW?;+1~_EHk3#drkTvDm^NL zwbU}4oA<`}(>ed81v6M_!@{-Xba#V7!y&LYf#7p~*oHxu-SBw#jwllUO4fX#oPzx| zo3!%RxDikzav3KK`{vrw88qLuPf)y+JM}y7_7tqNsaX>u{Sx-LJlj|Pa~+qb5`)M! z1_zRZg9n+Z(fiK4x0lz5G;fQM2lz?iG7?_7{3rpD!bd*7BvP96egz42_1TLw`-+Y$ zgxgBCaFu|sERy_q%s)R;SRSk3dxbe)pTJf^0JGwNTarpUBXgHF!Rj;I=VA)IB*@V; zm!QvNujS%ckFgrZ5tF;y5#LttlrKPC%Cv{lHoYvar(1-EW4-&dMIOY##B;%8qN>G} z$xa7A>@mWumUyytt5t$pxW^Um#k4t6+)x^Au&TLpaSLujh3MDbb|<R4@L?rY%h!t< z41yGF$GnC0leB9n+p5!#FSX|!j%>5JWv70)KDZT-HvK><+Wf>16oUO!Pq4(r(}Jr| z91ou_v!N9vihJW~<Et`=tg;rkoLgqrp(i_<Ad<Qse!*>tPB|c^s<YF1An{rBl&Y@G zfC_qlusM1RomPr-df8)9zUGEQ#mmx9MH0VGo$1S-4Qzub;VMdyH{0!doMB<tu}(i` z;5A*2^QRQxuNCbDM*(8;@)Ly@ZQ4Py+4(|(I>tY;(iuFrwj@kU$dRzUTvBGCqr^&f zDsTrQ%S;P4bDMd+r}Hs!w2`1OwQX%%&!V%+3sO)(4=A{y&Fubn4Sle>2@6`g831+2 zF-AD}v8xxj%W>R24Nd8=zLJ|Cumt317Y0!-u!2)G!YGJrE<&7Lj%Yc7Y8~zBxEJ!_ zt%B}eXV$kByK7-s-Rg9^N=BnQ!d-*j*Ie0Ew?*{R9)N)d?-OV;PgGwr)*Jj0VX4y* zgJhNXwf+^y!pCLNDMo72YG=PgZTxzj3tp&U%v;6lkF<MGMoFvf+=nv-<@t#1)BN96 z3VolpEe18+!dwwf*b@u=2<!~>S5@SGZOBgcfUijV8A2q^Z)M?cN7odZ$)YAFBu!nU z;$<(|JPZz*t|C=z_l0@B&1tMca$GUPiF&EzLwIfHw3srdoSF!i0U5%ms05S{Voy3l z@oVr6Y=?(0WIj?=G`S$bWnaR?X>34#*e#n`K}?mTU!*_WmoX6un1<uiI=vA3O(&X) z9Y)=Qlx5=d_ndq?lRw>7)dY3-9D{_;r1_DEUrQt)A;w{~6c%dIy)L2czT9u&Z8FEb zO$gShcV)8<=#(0WjsWFQWXCM<$!1C|2=}O;(SpNyR0R$-JAB*nRPl9^la(-UV~pkZ zm9D#at+C?PY&zdH(+2oMlk9&(CyW#Xc1n_K9m?kl@soE9`%49^Ywmg|l=VISFlNP) zjVF)0mQ#NXfYm`A;vom3mC@F50jjLi4cL?*A|~E~s>|O!b!Rzh9V05=n)L4u?WR<# zDJ5I@O+7HmFiPSSayu%r?{N!gsG()=O3pINO9GkiXx10WTt+_krFse%IS<>FFD_;j zey?;a3%E<}tKv*|I1@sa<wb$ZcyCL2p5QWk-}F&w(B`{^(6C;spH6Qp!R+w>lx2ih z$j)*+#y1s>!$iT^PRJ++Z^lvM$L|#uSsMDGtx@J8%gEI0HuGHFD$SCRWxnn_-Rtjs zp^jsl*=EP4wf?qs4kJx101!0`cy1YvYY)$a#-(`nJI@CncR#(c5_|!-7%V~84cRi= z^+@avrv3NgxWpo#HJ{O-G8(byQqDy0S@5f>Y1<>q^sp7;&>ukT@bdBu{7&hy)exX~ zh*7)e?BcNM)pc1}-8wdpHr~Zs@rvXy(TE|AV6Rr~_VXAevC*lAS-tms_x2|neIdDp z^f{IbHVN08>b&mN4JNj_@oI+S=+W!*!K&W54bY1cA*HdAUsRY+EFL7lqNb$`jrm%- zo!zLiT;AQ?v&<!xHPuz`ZrxxqPZZ7zOGP;8`n7qi5lh*|=l*KDb!BbJ{l*TTDtDj0 zI;zNKNq(<?m$!lA?uxvJMVt6i@qHrpbELIPhQ(2_UQe{$)d6qMKD6V_DqYQZxNgu6 zyd@;*{9qm&U$C3_V@uXv?G}#kQzVfT%gT@jrmfFK_nZ;2=PbP)%R({*ePgWy`6<<n z#SMk2{?#qP@fOdG=|I66P(v)K-4hM9cn~`q*iq>OJ|kG_#~@3FJ;<t#=NArLkj-h) zWVK-C&VV-BEPY?CcgW9DmBN!U{B?cu-PTwwC?{-u?THv%P+6Bj`uLbbF?2Y%Ns-a= z6)l4`JU9^_mYi@6q#?CyKWlXe=FC7xVTQ(HHD~?%?lu22lX(u)N5#CXqO-dEH<Kiz z)t-m7_Ix`bG*?preF5Bx4<cz6JI2(}+^V^F1$X0S^1LjP+GOyN`bA>mR`~nH@2VjZ z%69S#T*u2^amd|7=(bF^2D`AsduZf>NjbG=S8uSmp)E8vt_XGYCs6sB^(Cu8vNrN7 zubG`#B$~QT9HB>-j<@&~46%iCjT`b`52{Pr-1Eg+M96!ay8=N|@}JGM6f}zTQ(gF9 znU)J!pDrqNx|Y>)zJb%&K-rsK%M7>+e?EO{LTOgnDCvuqNY7k7#oN4iI(xS`xarPX z@ac_MpO<^kt&>--r|__-m)720{|@F1HSMk7Ozk)G-zu#bjbu_^ZET#tIElRGe*o!g zBCwX9R|lBly4%jEsjgwgqo_H&Ae&#KaT&4VJ%8=I&R2|9wsrzl@G=(kJvcAh@uEk2 ze}kw!Qo_HM=P8BszW*OsbJAN*d~%fp-+RacsV9r6H0(QiKq{uSgBY}Jd$&x*gZj91 zV<fnXHkLcYk@L$wo)SDyX>$9VY<{hZo<vydRSxfw0Ajp};`{o#^!&CgBcOXZ-^+`O z*Rcpky;E<N`viFI*wCm8RO;wajFQ1VlGTyc#E2>J@)-4f*D)fOmbL7LcS6%+jbU9h zYzFCglELcS5~_#wise2Wu9JVO0DJ&A`=$Y?psuVPM=H;L!=kf!i@|y`%X98Q+6H$C z1>=kX7r1Sem#bh6JkOKMxlym62-d6LY0QWP$^)_pm<~0U?lO(+1l^!`#reo)zE8RE zTzC*BFUp~5JfMZxdt2jLZ1~FK#kbSP(jGo;hh1tjlmh+Gn2P+#9cg2mHHoNI6=ip+ z+7M$jj|bKotSWy)MxN%@p0tNugnd*H0T-n(etx%}8%8_6n)vy59s|Pv$F(HZdbo?W zHs@a%wCKmLs#$o`-?zvKUWcDT|3&aq%?2DWcCyT!v3i&`jW%yP*l~VYHc}TMqA;1% z4DU%zlxPRZ#hIB!;NR3al`%VqM-cERNqeogbLjRAi%83Cae_>a(u!?dXXoEgw*Ipi zkK#G%TPkfJ4_B88Wh^4sqrR0H<1(NE5ckR4`-@Y>Janndd%fp|2Y4s8%E$xP(U?Jc z6{@!Z<rJx<sYy-zxRZhwUF8U39cOPG4Nq_A=(P%XYx#muq1Pqf19o(PitIWGRR6M# zHTRTbwRajKvEb8NT$1ihO3E-Y&ZF`XX@Zest}d>Tc1tpiq&B@XGO?O`urtUs8y4q5 zFKdpXhfKQb`v*27PY;ss3Tl}(3G@@XN^iMLjs2qyKG}o^4;9faSv{dnv1rI5UbAGy z-O?ifGkrbe_;nci5k8OM$sHWZ?GyQTG<DEs@%>jWiR)s4mZ98e;8`xf^SE~V%hLm} krj4}hvS5=0?<!mJHyph2Z!890m%DAogbOy@-u@Z+KQjDl82|tP diff --git a/.next/static/media/florian_fournier.a44a2086.jpeg b/.next/static/media/florian_fournier.a44a2086.jpeg deleted file mode 100644 index 2b7402f63ee511250c3f61ccbda1faff4587bacf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109856 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 diff --git a/.next/static/media/giordano-sagucio.2d66325a.jpg b/.next/static/media/giordano-sagucio.2d66325a.jpg deleted file mode 100644 index 9b1c1d13d41f885dee3a3c9aa4ae0767793d52a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500677 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�JR8_T!)x>4J!<sBJ<;S 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%0AVlD!8%U{!Q-?-TZ5q`77!(Lxg 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�VCVKR z1+ScJpLH!ZSC%fB7@*VZiCDZJ*eQrvg|1a+VIHpqP!`-9>~opumrvx4PSO0Sr; zwl`%jzV4$~Rp9MPw`v};|JdZZC>9lLpJ0qHt^QG<35DbQ=I{)k+l>Z3tVaJ>#-CK8 zE!XPd^*C^-@0m((K`qJWh@mN3A3I%h<;-|uM40XTS9y19U|gI*mPbyBtWS|c+)5?f z=DbhHZKmyFt@08cNH?<QO@u!_uEh)sx&B91wraonT9I|(iHcR$TRm1#c4h(OcK92I zMhZ^;sI%bjxf0P!?z>dA3FWuCsv^4#tEUtVa_I?8S9p>2>#_-hUZV<)2j0efl86s8 z6Oj3%1I<stmJ^D6VIlrIl@?Z2YB#%FKIQJ_6pJ-c%{1L^BZMz}uL<|6qVz~CHV_Gs zZ$N>=Mr%?_){WE8EOnf>>a4fQOi2@gcb6=<9L=WYhM+a?ssPMyXu9=ZZI@~D=jjn- zz#F{dybovxmiy8yiA{~_M#=Ra@#sx_TKp8W;RHLnENDZ6H;7DB4vd|nUN3fo$v7dr zPxh5qd+~^fqhuPjGJlAaAI5yzjY<7BmY!a`x1TJINmy|CvwPZTz|M~*4$hYkwwB5m zW4k7kg_tfb8X+wE7J;_SN%!wqB;;111Z;*8*$p`u5us6@-CXQ(X~_NVJ>*D=ciQyq zJ+;>M0Tx*YHI@|mo3{$mAN9>Yxx{;=I}IZQ-L~9OdkO-VG-;aiL1i<cZ80gAZ{vH| zZ~b1KXyq&0VCNclb7;!MuCubD;)mJiZ0AIq_HU1~n$2d?DPvy%**w~iECa}^5+R?; z+CcBd!J00L0Sdg1w)VzM*jm7*H^&{t=f5r2&JhXO_+x6%!7cfal>$k><AdEnNy~#r z4Oy9<1^oL1+p;3nL<dr6I;GBMva>V&Jru}08IkK_U|=v^!KZ}y(3oueQ_<LIq?pgE zb8ZvCSlQCz>kG10GDJ_ftTtjcks@DwZezVSNY%i?Yr!Wnk1skt_q9AP%zGP?{#mu! zEZXzFJ;SJAEq!vmj=H-8W}$wfIZtuXMT-uVhSPw<=7}eun#kR*h2!LsjnJp##Ks2j z2DjOu1z$pk8(VyZ!~NFhkx{PA2Dcu+Q#M?#rY@6{JFvzJH2STEWQRyk9+iDR7>|hJ z?U~jxK()fLiAr=EWjaAmM7lBexxP(^R6EXtJgvDBf`{2em}Z)ecwY<Bhux`tAf{FN zqzjB093>(y<&5^&HWr9&aQxhr)b!4k*&cRRIi=*qiM(U=W0-esYcgGh4De~^uNljo za>uWpKuWQeQvQCPQ>$Ls$_~xo#L=OMvn>rNmd9>32=b=#tp#9B?-lp|`GYq%+fqZ3 z3p|&R?G=B4^eZAcIB_~*^qJnIS3bw_gyc>qv5h-U<NwA7ll$)RL|tkMWtIsB71u?b z2n~izCav6HpC0>kZzhtzhAS?khd&7_ouyDW^S#kMf9DbgOERVO_m@*2%*wHWz%SOW z!9$1c6v5!%M@*YrNHg`a#DZT*0>C9vv-u&7X_03ijH0;SdcL1WQTYaUkj<rfCHF8k zUb0_=>7-EU@L`;o2|Ml^dn&)*V?L<x|G$Oz2y@W{(_E^Pb%nQg`Ca}YB2z|acrFjl z0)LaMK_vZXeQp6D0wbP!q2H8R-rk1MCq;73oFD$Ud**&M@q+4q1GrJWvCey=REkG& zb>qd|j-B(cD6&_^pZeGSd_4Vqt1D&a^50F>7aK3go*w?V^S}A~{}&O5!tUZfGJSP8 zH?n1x#N6Im@J?Q2jPvebHfjBiw0uz<k;QYNZ~U6yFW~FuyHM+)rr<i${tw=a4ds~c z13;gh)w2Sq$Fan;-EM|ej#X>w*5l#<95mx{G)gK_tbW+UIpGe=?RL7a$<0XsG6DXd z!hk>P%*@gY8w=o<<1nr%=`A6d7L1PM@2ki=U(T^~2^qSMB1BM?=iI!2ki74op{6G1 zX>QsU!T8nyhXvaAMz?>(h((lnt_n1zG_gHh@6sK|c-IraYgeJ%X6UDjjo5*U>wHX# zt{%r4{$m6lbTYF3<Ec4SRIkymj$3D6DC=klKhnaRQkeA+Y;Q>Y7T=Gp=QZIohl=FU z87^o9^vZ{{$VZ$%1m$zK>`{+S+b6m)6Fol(o4j89q(N%IG$+5KUH$T$L7+>RQZBL_ zPx@edG^xc8tBhRr#kTk6$>OaLI&$vAuxlZqdADp!HT>g)&bgbvXH51OE<FZlm)#}Y z%xNFh)rM~A)8Ah3Cx6QQ(xp|`KDxs&Eq9^<`Xk#t6pKEZ*qQO~AevqFw(=Q5x$bUO zdS1kjY!l??`iQH2?lbe<^7#niwA~S}tHd%JJ*tzj9pk1<NrC&8@?_lccXif(z5RLT zb-V9bAc?ZBTwS`Zo5&HD{``zpuewF0V6gd|n?|^QKQMIkk0xV+ukreb(1cFd^E^_m z%_^(FIy_({`NHy4t@~KIp@6|#VOYcXrUFcr>7AyYfOF)^<6~mOw|TDD?ZPFm?{5zn z2~4-dV)X*NO19csz;20>?v#Ig1m2eKRy3T+1(cU=AA*g8j%!V9K4f+4o$|&+1=IXp z-WBP{6XKkqkYS1M6oQ*Qd=bU{`io&MBQxo$tsaBq%c$I*r;DCCD{}E^X2MKmn`bU! z!T0}d@0=*f6@DHlUv#nGL(WOi`tTdMUZsM#KsJ2dZP>LH440zXUi{*N#_Hk4`>>$5 zN$UY6P0m6@|G$Z9iqVo^ygMMIl&E0h*P#F_zp;Vc^uJkkD<H6m+kV>iRx$3^K}`Tw z7-}kIn#yv$t#Z>81P#In$dF2pPHB$6kGnlXj<;Gv*!-&FnK8clR0*3um<iY3o-ud& z_fMYL^)9m=)vooHDYGl?g8tQibiu9H<Fvu0C1b-LQ@It`)X3W9^fvZJjO7-wN;#$p zy<6}FMurSB%U=Yf3VZ_qQzCE1Q4Msk(VbEi`zzMb>3H=PCuD;JNXX`pRUNHIvyUc8 zP4PIBDNDV!^-<gWvRHq3uk|A>$Tk3_-&yDWf~{`3SN{_Emx{Zc><&=B<6puK8Zj|? zq=^5jA7~kNs)8+}W$eBW2HiH*m)pN7V3(ZL$a}xS^kYh1Wx|bizo&d}LF(3Rh|(DP zZi9FiQ@t`UIB2aI=C#MESKBCFG#Dfp{VGnp@BOEUQhip*99`eazc=<NWTIs&Uhc2w zkxrGS;>LEZj$!*@xXat`=S~x)Z28R>dB^ILS?};8(CI}_h?d^|s~}1Zk4nl_iq1jp z`UwmPc2-yqu7a5~?3}Bd-p*{vak0!O{wOxEkjwCwt?dBA5iEKqyl>=TN=q}(gKYe{ z1)<=mW@D_H_-F|~N^BS%Tt$4%D)(%fqh+P2VaRo-y5ZLu`IR!a7iCIDR#KDY=CFfM zzY4Q_VsPqs<)iUt|B<Vr=iQ4^4Y3;DyR)C70ZqNC<aYh!(LKGmsTpIiJEkmb!#=K9 zN5~|r?VQ<5u;(FX+TBHBBU6sE6F}@@ct3r_(nFw*Q$>0eKp<f8k2qTbfCu)94(d&9 z(vhgAmoqO66B@8*;=WBicXh$mKGvjg?#5&+l+)Kj!}QLtf#9f@)`j-Vq+-;IKDjfp zyOn(ILX3Jc=fRuy+|@aOXq?{0==({5Hg1Dt<hNf?;8{u+Z?IEg|GH>(YwE|(TxVgn zxWhOcDf9HKw(wK$B;+zTujimiSgVfuZ!X(cR^PAF7`@IFA0J?V)N1WDT&Hvm;v+M9 zjTpwOp5>BRh-xPdHV-7xdvsp@z#di;u-J<u%{z{RML6TLkeO5+aM`+PqMiGyxVrR& zd@n#xO#G&>?~RzZ=DWrGzCYE{2=@q{XpyTho6r2MHJ)H&SjKVV(OK~!_?UF35q`me zSB0%yJPE<KKnr1~8e3BL6NPq=R~9>3AYsAc#-Q)d<Ak`+^6#;%%iizqN!XhOu;MA+ zSWoT;o>m4QW=R_5+M=28Cc1M+Ey`JnmwHT&qz^HhCh{02$3^J|&S*#jNkOtL2-hN; z7@DvSu3&pRMUg$V#Sc*ngS;iat?`}8?6_dVkITKxt@V>qmhKNg$F<vJ0o9HAr9kK9 zTlSNl6eL)6J?}mNHP?_C*vN1X_IN<&jNOg1`;CHr(tUD^*5z^C;v{ylHr&aoa1PfA zhf%Q5RTkz0=2P0tMj%Jb_NDF869s$o)2=?8^f?-v<5|31@Om8bqyD$#^yiph8U3}? zb>D@D+=UslK2eH|RI}qgmFgBpEXxU5W)nb*<Cd|(;q3skp(TZ3I)n1^xA{p)ENfDD z;~Y;A?3i#O)e4eS7MX(5YabtfD-E^hURKL>1yq&>P&O@<_si|?jmY*+0r5&Uas3tp zJFn^|=kG8t6go0X6a8ANFZxl3>)T$T&rW6FrC;#ytc5KN*`>r1YU(N)QC=S6%Y%Wk zQe!5suO41jOsz#_Qz1wyC3D_6s{t7u%h0SNQzgoPwkM{Elug-h%g-R}jv;Q<a}`SR z_16chTda$=UqYF|73F5uv(7Ehk|;0nZ`x5Dl8le*-~bI~s#;;OT+`vPzV|;F>}_de zH0tSfg)BeRr#rOF7>yk=C15DN*=4ZoB?fw#o;c*?RcEJ?HhL0kPdKhA>6dc2<EXWs z2yZ`)QGP`?gK8inyVG>9qUi`P@wMwIuI7QtNHN#YPb7qal_azYfYAtdk?(&+Xll*p zGtIJ1Ayr1LCdWY1K2hPHuOEgzlq*;t+0d43+Om6<fB`(tHX5bi>Wm3kp&HjZCDbz- z-QwV}*t#AcK8V$*>efvZdIWmwS*8Qr*xA3dP?CdZX)Edaq&YN8K4E%m78kdl=c>Ar z6E^thP;21C#LwOOL0M<E4{-}M40FL*K!;evQ`eoEeE^=rE3exn9Gsr`D|&OhjOd&? z25&GW1!!u_pnP#ASUACb!mzu0k+%}lTvXoMZ$YbdRloIT^ZL;#_h63-{Zk3G)oEup zDS>oKRc20~#|wMCEN=mLy&+Dy+YXEo9cm2Ud+BtID*BBxVD29;8rRb@=c3Is<xA<w zW`$TXiZ_?M&tZ@cNDGVe0PnC0yl+P7mtwEmE`Q%qc`Lk-W&ftsbP3+(VU-#asy+mh ze8`Mxp6-@}8K)52{OT2DKDh}+&Pr?09)(kkZd(cj=kh(9)tp`SI3M-x-8-j=T*@v6 z{*;a-E-ijz&gd%sk0DM>z#i`nH%tXCGLd=7qo#U`+$OagyH1yDls{@|gICcA1%!^U zKu06ngl(){()uyoKY{L?&2n`8fleVYPX)x>zwxs1_G$?1D>Eco-F265iq$&(BFl}f zbPFE#J1LnT-Y8N5FRpco{aPC@zQ=3F#;Ucx`*zs?gtqM@v;>c0ZCU+KUhU3*E}29o zng~FYvE<F^gHI2>8$SYwc6*L%a~{5hHZt^T->`)(Nxb2<jm`)*epO8ANkS`+=qHX_ zkV046M=Fm=d#<5T1}bh!x;(8k{g(KT5pKhcMR7>HX9!In;?DIXi7H`ex%at6@)+~y z9E+*41x2j<kvtDUPfa3j>o>d<Vw1&FHVI2KMcllWid@XyQgpDl?#v6;arv20OriC# zLQb|vCPWSb!PmaI>SOK*cwQLp^REY2tePm_TK6$gQ&&1I6@9hp$DM8Zr+bPNVP`yT z3lNdY*~r-#tV+b0rt!%bRJlEWzTo-usVm^)?YCra?+sh@ysx3)uk#G-A22n@*%&%W z-GH<$=HI#%^;s!O-n&@mq9$4UYU>z<8(O%OS^(QJ1{?1pB7<MY`W4#DYYI)FYRpzH zp2-N@ml@peZyfv@_Q;>|<+9`FE;Z(CyIr3gZztKx8a<z?+Ljp|Z-FQA72*A2O|uF} zGsA+qjGU<|p~nq4B4q5Mx%l$gX-L)S2WobAsx_ffu53$9S3x_`5^cuJ%D6`XK}OV2 zkM?j4>d>LuS@c3Cv)#W7-X3)>T`?Cv(1+q;YnB721sd@oPTLJz^Qx^pVrZC8W6+$4 zM&412ifo&3=tzs{=WC%;1z@eO9y$0todgU1rMRW^GzpkZBYFu>j!Js$+D0+QRBF4l z*UZvMqFw9dP=A3h1yxOu^r19gcO7>`=MhSC*0FiN$MIVWlCwX)Yiv%;g+BdiiWg>a zl1HqxShL?iYj(2V9t)PP{bPX#)vl%VC}k}3BlugL=~v9!4}$;gC;Xru(p0l`GNg{_ zvfI%T)6IRqWT+{ycHp<KGxO^-jw$<S&&wDpr&^phu@dULZ&N_xTJ>Q_T&p-ZB-kO% zi~tJs&AX9`mxD5%Ce&$rabZ$vr;KsDwQ`BZxwj5j&fc8diW?HpW|>q<l=rB&=Z0=y z8fN?HSQ9*vMbk$YRFM+xfB$LUyeg?$1k1@h%9BMp-eCp}dS^`Kqg{i+ODcEF21^5A z4SbyX?FoEO@BR%}e(y&HTusOqAVOmr#U~K+#EH_F2|*)+;FkH_|KT$YHt!Q>AG0tF zje0#F7QQO9^$=n*(7M?bF8@$$(uet0G(wOy1B(sSo(NF}<>=?GU{lwpCN2<-HmjVK zm->y-?wcEauix1>RWaZ_njt?Lq{H<%$u7I;?k+8uWUM!p`9s^#xL@ajf-I#_t{tw* zP)r#@hk4VM@|wf?QZrXN&lv`O){Psc7qsV63-8gQ-KdjQ@zDj(4DPRfsf)8h2MQr@ zmOdAwjABC>j0&U1yFJPU@W!z~4pYSD@Lw1Uubc1|XG_}+>lHCTZDcsvOmr+6r)+2A zvn0z;+eQPshYJC!!Xc>>#L`jwj%Y{Ahf`24IDCLlBzx>w9j&(z{pn+g*`I&sY8@5O z$$dS)#|)*PzPdgzTIF4$EH5+$k_)PPO?7GhQI)Ldl;Y%`M4}OubN!NtvO<zqbcDfS z-NXyp@A&w7V&gwDx0y?96vw?&r#=p9I6}(yzBM%7MPPY8_B)dmf1Rso%I^&PJ^VBw zu~=?c*OJY|)W+xE)Y}Z>K_z<Kk@dCp`O!kSy)DJ}v0_bHasx^CUpVbj%zcbaqf)`& z`Q8w(1>LkIh(d3JjPg_T9yda`3Q7QB-pATggBhyjy;H4pD62)kJr_{s`nV$YuE%5E zFmu&Mbi01<ZRYb5!qUJJD`XpWIEHff4Nd}o?PKP@Poe*|P?ulAOIP=D98v-s*P1Jk z7)OfW&+#J@FDH-Osa>*_vqBza`y&0lQQtQY|ITx@!m7B^W@f8X13sg_eyx0DOwFz1 zHyXP{>0N2mi7N|Gab9BO2WJn?xoBBP9)c~meB3ClBpA1rVtNf=CSnGKeysiF%|Kae z*?#TU2RuOpDDL2oe{vV*L8z<?3!-b3c6Q#Mv1gyFXV$aIa@u13B(=^OSlYfp|I&f2 zY<orhtAj+jvDGEv4TL2ief_T!S0qf?&D0t1>6h{2INr}?edJs@X3}o|{HQkD+lzrQ zzId2HU)f1MsAt6D04Ow<1FAW>&RhJ^;;`xVY9Hu`e(5prrZ`jf7yhN}c?1ojk<B36 z7cxJ1i3@V|_iERr_Ie2o;yE~&TJyvII_2qR7yXTNr+2}YI>fCG=kqZ{08%AgdJ6K| z6F2=0`rh%7WuL8&<W`Q1n@$03uwl`7_9<omPCg-qjFUh>OPFoSkblte+}>!HW&C_h z3pdgoV&~ea5EM(t2N!zp{h)|2{jI%3S$k_X#*5d=y}Yd8{qD~CR~Um9HP<%$LtX}A zzZQx16^5%tB4ihNbVjPjGnNnAHj2h%iZU*@Lv;S`%-}SwdCgB7?qx0rB~AZG8!a$x z-Y=PcPVph&w^X|k>s?2`e*4JeLTJyU1r2_eby`${U^8B8#MBQm6NHedSy+_SKx@IF za=ZspCE3IzM3J>{z0Tn@XNU4ru;KOZYl&Srrg$CS7+rs1)cmtRJ*cUEwWX=y`;L$l zg@|VjtaWTw@dIb9y;wTcPzNraKG}Rlgj%6RbUdpzgH(?`M6dxjHS822Gf2JLsDFRi z^;OZrW+rLzxt03|rO?4`^D2U6(exT=SVR6v1r!2a7|G)aKMDd9ELN}rC~N**>zC36 z0Z-~?UxK9wBX8mWQBRw^<7D0g4aPE`g>Y<rbDYeh=rpc0@6cVFs7(WI!)IORs&r_? z8`O@@deMAA{2&d_gfs&P%wR$zZ);3xGx*7#<)XKA{`22E>>WESqbAV-mra9!Zz*NG zC40o5XE*M?c%X}YT6os{K{EXe$}HQfpGK@}F+gV!a)R95ht7Eyc;t2Ddd0nG=^$k# z)`)|BrMjiC9uDeD%Tr*9^YxRON$8|EDn~~vtiep%;oLUOU6R8I38?uFH!+&C6L|Q# zT_JBuQ^P%fL4rz1o+(g5m)@95u9KFiA0v=Jhu+>^p37@(y+l0k`CDUL<Fnp3Jz3Vz zq^j$tm%VO?PB$<i0&Omi!{q!m7k1*2td;_aR5~lKQ+{!N(+y{%9z@vz@}_$qMfms1 z?mDYNEww~j0tukfDw}*Kw279O&W!pLER190_rM;eb7uabx)*rwwGH+24ztfmK@G?^ zpO{_y0B-Go@6Q@}sTiVPa9Y$0F0ZSvwYWR}OY-+LN=4?*HPkj16#OHtLpx-blDj@V z)%omLK!_lN`({*=f7|$bz_04sk!=(GshpxxacFdKWqNs#oAb0f(!UD1h6uB+4t!fB z?~T_T8IajTfluA^s!z)nMvCx)EjIBbc&oKQ@g8be+M5D!j@N7VBZdC2)%#UIK>=6h zIoT;X)o?-kwyI8}&vLwmW&9uOKwtsXLBQZdzeIjIxYt;&YAV-B0V<uHh^<M?OhL9@ zj_6BqP^>lV_;@@7a=KrL3KlK{YW{>X*c5s+tsBbzf?F8*OwU+15d0=L^UTe;z-6RE zODGA$HHN<wy`V`BetGxn$>TZZ-Eov&x$RbxjJBf?=43qaXH^91&*cEAaEC0J)Y78@ z=@hda8owr)9|JBlbv=_6OB%Gc(8kA8C5RIV!cj8qrN9`1WEy7ORZe4vmaa9@#Y%BU zTQ*GbWP}k5zWR;CJ{6n*O1RE;m=Xc*Ca`<F6GcT!k9HJnv#%IX0Y~Bq0@y4m@H8N` z&g1|$xG(=7Srn<SMDgX)=$C7@oY%jFTo+Q;ahe5N4c+a#gf|05y$fBN=8v9SL~OCP zZ6FmH_!c*K4fISu;CG0a(cgm{CYg65VG0d}0=(Nqh{%bX`i1#*Pn*oC<KmX4#V%L1 z!5R!|?Vov}g{*6ufP84EGqzUUduQn5EDYOv9sn<^`~FRxG0(F`lSp}3CzwMYl~Bf# zd$>U3f;UOk!qr=Xbz$!46e6*Cj+N!i;@B(gEp|(;A9-)CAB^AG{(Xj9NbVbDI3w?% zU&AVM)i#(u&XivtX-SF!1pmU~q$OVLJoH>(Vy0apr-J_BP`RJjqe@@K;$1@rnxE0Q ztif*>J0X?>eQM7cxT`93^E6BHWWeWZ4e{FEiUqwkViT>5m3JnN$g_G{W+&9kXFx+A z($#(cBUAM3wW`;zfGm9!q*Xp%${a~zhspb;#%D=p`?Vz!co3BriMh|$g-v}N>i6SJ zw}^#c;2uC(AZhd!h~^ksVoGa+e?0@Z7p1GUb^F_ilXpP!>I|_QZZYN_mIo{C-AjL0 zJ^v~bjae9*g2&sJ4%&e$#Amfgvq`A=t6@3O=#gjdIPMf1Q?n-Yo!lU6kYfv3$(WnR z4z>vE0J-zGY+L5T4wO{;+UqtRg1(;e4;%n>RJZRknu3KVWBa}hJSxtEzL<TqEI^ZP zteOb?mw}ktnz@`mf@x1r#JO3Z&M+N*8jSyw^-{SLEI%0xtVH$}B8G)vt&FL~$m%!T z%(3)={6tRvamZXx#MP|hqQ`idmRHWWJP!#?5;9sa@{z5HKZ(8`-f)e;<oB&4e>u9( zD*JTrZV@N_nhQ_#OC*;@Li9^^PhbFpbd}r4qjy_)|DT~_Q)7*H_JmTmHk=Cg147;y z2ftCu$!+G4gw<N28aC5_==0#@!+r!o@Bcyb7vha~S^eN4kt)BGe|SS{-6$cviD{b^ zp+_vRAX_b&oU-aWpwDGnaz8!cxC$iudo<JWu6B0&-YxgrUzLr?Ih7<*`o<$1g^iKj zyQ>M0iK>0vFP`4?P@_-q9-(RZ`=L_*<G}%49-%rA(opVT{9bESC7|VkLx1gjv7{Cx zC8;XG$J!D+8<uwX<9-U^#pwbKJLdb^sr^jF4~lsZr9GQhZYa}#WE*d98~wjyAO9yf z>E=Tk3o@Oif3J`JvXGHHhAPp#H&A<1um2-c(IWGZ+YF<9asU59ERo_O|2N>0EFXZ1 zHkDj$E}VTYLw`2yPte=j{>m}?k~f?+pyUJMMxG%b=l6cx*-vBYTa^EO%Yw_u^`@>Y zY0TRGgYwV+{E+P3ImfTxw|5_yrHnHDI$sG_=DaFB>~dU6zQ3X0N0DqYUeb^=96RmM zJnqI0LH(wKA7?!kVY<Q%Cqx9Z4Wt<_Nu#ILbmU3RN$AT__%ATu0>43^JOdnQd*?Ml z*?Pv%z;s%G^DicW<>}899|LRSrSVPNjTay2=gx9w`M*nB&U8mb(3wZ1g|oCt$Q2Ku z>r8w<hxJs|g=`W3TscLFc~<GIk7nA881wMB88eim8wBmF21%@NJaiE%v7FPs%N0c~ zS{Y?*%4)W}i&40>U*%W;SS34?tmIX1+&CbF*~T7b6m9{k5&qX<xFawJ<7waG@Jc~7 zIughir*5WRH(Pj<M*QLMqaN!#&V)Ka7lv$AjoreJ2Hi67xu8&$U96ay|H})!^_shI z<AmWFBIZA`hu#>9QwtsN|3TMVe>MF+aQ~<XiXa9Jf=V|^x1s_A0jUwAyGC~l0!la1 z3XD->5@Yn}4#~k_^gy~})cfA&+~<4F_m}%`*z25K*Y$ip9}mqIM8sa=e7IyZXFUJ6 zg4%>9NyxIQp8dpowRif5SE(86uhs1KU_l5~<K1JWPvngfjelam*iC}5v89DJMEgkf z?9WZ@sVVbC<W*-d-Q-62``SEZ!HsC|@5Vm?ipWUifhuHQ&{mVqZqI6sXyrYg(&*CD z9Z$dcy-g@MZ=z}ZM$Dv6R>m0|F=(%JCk#;E9^jt@Om#4>1nnV?w~<Om>iLIJ%5}&q zk#k^DUys;hL(zGiL@Fld&nYP_ib{PAu0*FiX4W(?N622s;PPhKZKJ;*)iI_0VSj^N zt(tU8?e!4;mTgAkc{?-29M|+F*;G_#$8{E$X_UGY)Sl=Q-ovf%Ee)U2sJhc4=Pgb! z^%{bFh64x>6yX=1Rk(8#v4fW3%}7~Awx&4aBx}z%%}b>ZChp;i&+n%dnKk{0S#PiG z`;r|UBn>k;o9Th+2l99al<ed-iX%t&g%E<Y3cXJ5evm;b{n(Vaig(tg-1>EHC|1|S zP;v8)o!=Ab{rg_li=`Xr@waY981M_P)+X=UCML0(l}w!;iwT4X_}_p@x=Q<+4< zy5zFzGl-ZaabT`zNv}q5R_m}RdgJ)UQ!a#Fdv-t^3Igq_``-*+qTCmwTIC&?pXc63 z+)O@gKSHGKcodmAE4r3)-S-Y%^dV*a8w#+hEnhHMP1yzSHtFqOIQ}cyIO@3FQ!n`D zucK8Pn4F9~IrW~o6zuqq2*DC5^C4GWuUSnJ_wHK_K2bVomfZcxf<e$6%D3e0JMB;p z9I&s-*NZ1Hrj%~GU>chdlJxKI3LgzmU~)-m%grupaMqm0g*5#F&!K4)72}|qrTUe0 z)qg}8_1UZ>N|FXlOivLcx`4;O!f5HVI`mRuJ64OfG|A}U5EK8D=<elYE!|R)y%g<) z{Lzhz9QBMt7M0dCCm4cD;K3b>I8)+1qkXlCG9j$@?>;tay1wnwZ{@^LDd#sx7qn$G z9Y!mo=G!W_SVj{&zf{mP-e3RpM)*sX@+<pM%tLuEam5)6_ZjIvMV+OjaD+O5dVLBY zOLLCDC55WBcr^hLtpP9Mv%Pq*pW>=YZQ|kq{}BP_)LGy6FOiTb5^=q!AH8o4uAK^2 z-++B9-6!xTS{AV`c{l2-@{Ppz7$g@CS)aXY@3eFzC!SYVe88vv_iM@{;|0vE{4{DR zLEVcwd!jhQaGTHs=%howkyB(f;Gbk!U@dEOaUu@($$8drRnN&1au*Q`hKC4lYbRGs z%o^Unj;}_%{YDNL1EP{9h~82*zR3dw)e}cpuz`1UzvG?OQg?PHu2Jww#iJ>jkd=9b z!0)7o+#^0=u^@WP9Zu<Z55sm|Y0Tbq>lIzg{`O5sXX<Q>OeId4J<*KYcsEU6K$Yju z1I70k@v;)Wc&0+n<Z;Z;{)K+eEj#;$dYdnS^_m~ec3&mNHLppSwMIq0LXyxCTcMU1 z1-DJNFSiWy=4B2`>~(ry^HjR~M6lOI_Kf?`4*X%GVJap0wwPDfxc4I&7z~)*{a+no zXh&pFux1l^4rcUA1Pu&zt{*{CXwH_B)u%|**0mJUwVPuZc8VHzV90XR^&@6upZ%lR zYwpED!oSP~sm8&1ySQObA=LiTD`mlCi`M&WI{grok-oLEuKYVp+LLVW$ViQ+NV77q z*XvQe6xoTr!`=x%JV2~6WkN&#XmYuf+hi=QA)m+jx@=n!ZFP=z%*P^kG7oI#mXvl* z4+fWiBI86UXgmMR`+iLqiVS(W{R~jPJ+w-1&I}3gAh!N-)1?`^M0S-!!?JZ@_|RCz zF|WwSEeE@n?-(d{B+ooj6+{1XrL27+Lkg;N+cFjnr9pK~r0iiw4G-nAi&|2D|3)6O z^;t_l<k5+LKjP11D-)k%(F6<F4EQ$%_nJ9k#5t&(gA8W#$pYV9m@mfxkB)SzqNT$d z-?KNeDO-J_Q#v}33ykYpyKV~YSvFA==WU<fC@WRWRps<8YRCfC!pei8h_AzLwHCj& z1~fsRcFT_^G@6%gS$vgL4%UAQXG?pd(pN+bI3vX}U-lDyq!XgUMp_f!%rkkdx0(H^ z-2$lOSYePNlSX>RlJME>)(vm-_#WNj2A&Zb!z)P@0kuk)^ma(b&^d)qmmCuU(c&`+ zex0{4yP%V|!j<IBvA7@;VfoGd@p{lNZ@B$r$3$!c<Ut1oC&xJSMXKk8m%qSX?}$R) z>ms}*{bb4}6;AVX!o(Ilw_SR%dFA5B%z#QzY8bbv&M=8InBH;}SMsnMW3>SMlD5`- z$^72kok6Y0Hh=hHbc>ojvNY;Ut8`dXCyiNEqW)SNchRy9LM&`-$voF!QK0*|qHCv_ zYPP&v$Tryk8Qj4)irj4T8VE$;cA;?suv5`^pm&_@yGJDwpIj^Gh}xW)$bINJMe*~6 z%pt}pj>a@tP}L;^jIC}?sU;)7^iu7hW<_S=B0!^R9Nd+n_C(r>Macfi?kl&nmrplC zdnMLe=XeP+M7s_#!UGiQYzt(!xcK*Cek9dlItS`#%+7zg_~{&PzZT@Ugyrq|`%i0& zcKY?g!cxBkrNnc(P~x{;)b&9{5%Z77dNoaObe7PE8nf=50Z?bV%CgIa#dTl(tXZF0 z9ehe@k#l;qp2`R|p%!IBH3qwu4l1?boJ7cKz4zmNV%1&6OHTYB5!u&_do2D6`g-H8 zSRRMCKn1;0t-^1RrY{k@R5xD7{+HMAXVWEBRDX8sC!oa3FDfx=16Zeu3@d-}F2QJ@ zV7kNm5LoOV4VM=sd3IS^vBuaiqRpHqB_CYh6S6x}Z(&*~YCp@qsY*f*^$4XZ-?2e* z?+(L-pE~qya`3jEo*^nfJ?ha)KIWe4WbKcFCj%~Pp`B;mNyaoviVC`^Pmyjc+{Rtx zPlr7whhOo$4NG9d(b8aHHZW_bbE|*$-vO&C&D3K2E3ST(k^MBNE!@<!$#T^+Dvu`m zc%?4I&&x_{noFSaOS9$RvqH{vvXY)75br42W0E_p>j%Dez}~TB6`9h0W7Fl<1^?r~ zgtA^sh=u^nzG1k2Vr~5&##v)9V6#bf^{gR!SdO|=C|N9ImkZnu?7z9De3kGpeNcqw z?kQ=$8<L?r#9BdR@O&)cmKbr3z&~HU0fac|PNRQIN<fR_&j=MHn8t_;`9E(dxde*I zP&Q{p{cyD1hO_&F+e4yQraT1x>@gw6kS#*Da0Vc}taeaKbJwHe9t_8DgAVRW5PNyk zgf>7%0}5jOY4W;@qM2)S$Pat`Odcz9xM|GGsE}i|m#tSfx09YlU`3*XO-uDkRy`*@ zebDOrmosOm*`}pp<RR$_J3PkA@liR;W4j~SE^%4_8^_r}!aRSe3x828_xuRdS+TSE zE^kw0^|hjTwsx<2nzDH*x7uW?kzY|Ins+-mOIGafQ9V+;4VTGwAhJCHi|vxPDOFH$ zPR5vwaqL2aDuXe;KA#f+6RVNJEkIEdbqU>G>3DZ6px6J#ODvy9%^$p$&@~a8UN=$r z&u_F_kjzf*)kK!DO2_oNsy6_Z`<MRLPa&;?>gA+N0Qq}*t&W^OlT`xD3o;}8^`^dc z6&MX&sB><w2DRzqqLR_{x53vgMdLmyKrAQHwhAA<s^1*ovEt{6y(>M3Wd%&xL`#R% z5+bhV?_E4Hg(Lc5GWK*fHfEzpo`?7xJv0QUv#AI(lI8B_Dn6~L4k$wF>?5_e4zvb! z9{^!II#s$Wl{nfxjz-a%{esr020+2}XSB@gZIZ9l6(0J4hw+!|4<MhCg{t2wz*+0w zgMTGz45%xSmdf<BGJJ_=7;#$*9v_>4_w(!J{~ky;h=PxvMhF0oISG&h(SX}*mJ}3C zAP6?&+v5`T2UO@A^F89X>-V<?Uvjw3ngeHhEt4hT--il;5%%U<1p2zMU`X(l+~w)a zRUkR{iqJtfH>W~Dqxa6vR7GBH@M;?&^6Ff%e@@suT6aCF4Ltj(vL?>@l42w5-jk?! zaWZ`4Pa}6{-A&AXA$oiiif6uMeELmA1pk{OYqsYm;I=$SCL_wxgoMFW90P%DWIlYx ztKrDeZJz$Bt(|9vXitmCf>e?;?r*ZQx~Sm7D9Vw!!uDa$Ux$&iv<Woqn(&98M|T4Y z1RM-3P*PsFw+ql1JUlM`S^Duass3waD_y7J`E+ssFOpm>K%Xg?l|o~-{ZrjSbwWlS z7PXWwA2Y}$DLLGjf}KMTpWQa*I|TCFGz4;%VY;CgxZu(9&plj&ktrSmOV1xfTU)#* zCQ>HaYr|;3l!T2+Ed;suhjNn*?Q7-;W8|d^gb?A-T2PToP%v)To*Qo^R3Z|dVT><S zCRQl&s-PEo9fO2cnU`CoQ*Hik`rnee>MCSXEG89`JJPol&*j5$#`flmMiq~~-*PZY zoB9JqlxsepgZk8#ZWve_q82c|e(T89?IXc$;do=dRBFz<QeN7r-+RuJv&aXPY<bnU zzgLIjM|-q4-#?`7LOrW3kHMOVPVm3x$0a^^Mia;}MfU4XY@NEUGF$9QYrw-Fc^r?m zj7r6l9T)7ynj85q^KP7Egto|r2lO=hu{RhnBH?!{>9z29pvy{k^&#Xu8>$#MDA6@O zm)-DzyimE4#lg~_i*=}<<!!89LyFnzk8Z$<^-$rywu(A8UM$N+eNhe?mAlGgCUoHW z%0~o`Pflwz!9cNfgj{Ez1);Qq_A0*SpWbh#Sb6yCPt}C8ps4I4t%l>B{T(ptF@_P8 zDJ)vFjZ-|^8V67%-(hYWsz52_;&ySq8By>Z`wp_AQh7f$rR8YwF-IdP7&^Qr8Eax2 zrMt<kQ_e}JlhC+=Ifqymf=sRgXD^<@Kfpnce(;0gsfG>8Go+pX^dtILkqXIeRwVa` z1H0ox_+oh^Iq*5!TGN;A*O#}XThTh>t;w4kE=LpEv#k`j6AZ(-h~9`mkfnQ8^~cR( zMCXf)2UQVq=1CoqPIa1$!~$|Y_xSghg-IW{kFKa<fz@O7K1Wv>A9}mSQnx;pEIbA_ z+PlMo{q3Ri?r$$1^(+XXanqhNMTjf4{jA4l_z&VkcMn)9-%8zQe1|LlIu4Icg+40n zNAk1iK?$R2Q1tWPpD^yK#^>YHK*!NNQ5mHx>Wgy2MzGJ74G2`Hzo3;QAg)B^aQ7Ek z8;f9KFGX+5$D?M&>J-f;wI+wNi2&4g!z}qA1*5iM`6p8-r~nlqN2#0@QI{03#sP(z zv@u-#O7TlN%Se-4C}VVc-zT9qPu4@HZg0?PVj#W0Z?GG%iL~^uuZIrPsf<V0v|?P) zYI>!oBn?Y3-%m<kAw5B<$lhERvR+2z(7T(suCJ2Xh_Dx3M>Fe9xso41S9L1=r$~H= zVa~vpoCXLu;JP+o-!Y$e>y~YreIzU68NdTV`{`2(#oBLcS1VlhTjAW%FnwDW>On)8 zLARoY@-Axo#>wvY11$TYqn9IRq2uM>a>tb!XU`HCV&+wb7HOb(N>|j#Y;wn^mriDH zrI?@J*Pt6#bC+n@E!>_MylhA<XxMAy_x3q%G?hmYepD9Uc<JoB8Ezkc@L7vh8OMeb zIdc`-yf@Cd6R+yr?Wp+F&Bp{dr?CycemYgU$5lK%CmnbrBA0Zq|AXJDc1h%lh)iJR z1Gt|e`N2^?{s*g!%c#sjP@t@@R#9n3R<!AJL+m;J>_4JVzbUgV<EADD#P;TmKa)n6 zU<@;}2Jto~uf>wdU+<^qn8#~gzKn|4|A=fq9<AD>;P`84_@4Zs8xiiBQcp9u66eJT z0ATFJaa-^j9D&If)2Sd-O3IO9Uz@E~+d2-yT$;@N3z5rbbQZ8aOwTSc+<F6W^zq=C zb+WP2&$DE+XZx&jhtKN%olJ3Z+X&L$IO*<1#flpj{LF5t2#&guQ0;NS=VjY2+l$5+ z3#%V&sk()@5rcVo_w;=zAjOF!Z+e7`tXBDPWpQPI{(<RuJ*=!&uyJ~eY77vuGY3Qm z5w1e4I~2lat_M>aUu$28IVv?BI;!%YK`UxTNG6z~`M@ysKFhivGs1&B{W8@BmAa1< zgPc_yzP<c4r8AehSFti)t7W)w=Hm~Grv?U3>p7;$=Ic~6pW8MB%G_i%vlkn*VdkH{ zh7SLrQ%HWw@lJZS8QUJ&*)w%tQI%ooOe0rvXKq@Jov_T&YnVAC`?3b5?*Z%)o|SW- z-R5VGZy83lheT;`MZXZWu9mirP#7>y(@imxoN?Dlk9)}8M&D1$gD_WD5t@RO1A?;& zADX|uzk?1{nF?Sq$ZKNH@v?DpiJ-mIsbzWM1ealfZvIuM8hnvTyG`BlC%4f2th6Xg z)%xpiv*e0#8P`(c0R^$KEo(ZwW><TCxyTeY4PFzR018p<8g=z_T(*8NP~0Ti=<^RT zj-ETRtqQcdxRURNlbRx<11$qQXp)MJdx^g|GC1d1PqQInG#VaS7Jw8u4{(!jjpzxp zuw0kjN`ZBRIiq0OiSK*|T^Tj^B%G#!A$r|tz|c$6&`%tmbSxPRlA*TKfkvjBuX1ug zxD+4l0{S=Eb{+Y}<(~%ztbFw-tBgCSdFmU+n0s!BYXBm@k>Y;=EfJXsgZ1F{C0kN? z;gJ$-@51^7%F!-J$7mf1SS$$HAS_}u4-CaSr_nNiLzS+@#rYpL6QW-mlHhCxq-o-8 zw?{T#Qh2Y+!v-jM1)BWp`!Dy;O$ftHZ3oW=<Aurv<E9Y9yr_d5yUYCVwcr4)P!OP$ z9n;C9EHvoF+fQ#xO!-r|Ah#$~NWYX0x9*<T$O|cN3?j>UePx%g7P3span9wg4i*xY zTcoa3nozY>emQ;7Xy3;N{Z|d-u{uj-_dAjrd?klH6&?<pIjW(SK&9PUjZyVj#MMa< zrOmX=``^C7J-p-7f4ad^&2KP2=M@@;KuN(X4NFY1DMzQ3KWmYuAz*p_Ao8630v{9{ zM*yW<X$2Y`2!3yUwAD!861KOc2Y?AxxggV-B#-HW#uEL&4Q;HP)bTv7u&7dXe#s_K z@!WQ0FNyg#m?<TXTMW2qa}K@;&%BsgUL@N#We79`d-@XR(H|V@*8ePz0hL#fV#W^{ z%WMUH)#F{?TiiJ|<{m3_0P6CTAIlbQHMY)~uDkth)9chulM(0VNh?S*P`~8nmjpF6 z9*vnAYn;pz<T2lv%IKDIY@zfU$5ccZBJb%Q?>bpmw|A7vF|ix>ko2Q)w|7sg)7Y2^ z4;ScnPer1C<!iJBQ{746C}eWh`SZfJZ}jLFsZzN@u-43eB<8`b<>~%ADpA=_GU;}G zY<Jxm^CVd(ICDJm2w}lGy76D68?S1WekjRK>}sNacuLOWMMDPx5WQ5oKY03**>43- zJ?G#cQkw)cVB7$2r@gylo)iD;c;?;+&njt10Iu}gwuj;W*jojh2fkr{9~5K^v-cCb zH&x{oO0c%7Q#!lzY!#=VGEBE`>9|LAE-#rIGjN3Gx*4In*X<q?lkxrpE?3*mKacYT zt}s%wqXJ^`U_TP~hQ7X4*~cD>7(&-;M7u7=JuW}tW!{PeYf4T+b_fdo;qunYDET(? zX=TywpbKH&b%(io`R3h1L6y_0vn1WiMB!eKzVnq|^IL|ZmMJ;;{zN7I`K7;z|K9@; zAxh0GB85BK?<lz5v~3VND(GMLjS^b^TE5`A<1VYT@$L~Ca>sUto0|h;EKXGX|BE0b zb?V$^tp47!yL+}&_Hgs-b;%u?PnKVER%N;Focw=b1$t!seLGQJ=H`gx>8}R`iB;B? z$#3H2<x=k)YwYSlGH;nN+nQzg%f|>uSEk-|>gXNO^8bjQB|<Xq@#N>~m-F6>KCaO? z4-T5=r`yDqbK;<xCo+<H8BCih^9Xx{P5Pld%-`N)S@64IpwwvS%c&W@DkWQU;gtFs zm12s~*W^w!)lzAkuEgc;?sD3aMbJ>)050+3tO4$=y1>zpq)Tyf3uC^yt-agpvSU#s zpE*Cn6>2$QWHh>%S61wl##4E?Xgoa$Bfs#P+BC`d4v!=O2_r=RQm<>$86%56y*QKC zhN?+rZB^ui3|8M(1k+zTO$GCCe&=jC*o!FJo=)t)Le+e5KmPph`a$bZ_2=^EfCta+ zd)l)-N>5x1pa(KXaxfu^3I&`&O)e7}qUc7Mz-fq)^jRt)*<Nd)J%Tze!nFZjESS|* z&hUz6#^uqlJn`CQAxOkXRmp?eTsbbPwKw^i>9d98-%8(Q=h6=pzA-$R{uFgN&!gB_ zuKsv0zs5TS*@3N{9>vXW;*{ij6=DlDNOy7@bZs?xInikWqjkAKlm)@}{v&GV706pb zo8J67JuJZ*rT)Bd{Cqs2{AWJTW^k}5{o$#BN8;As_9p`G;xdWjcF+*+-kGuNLTWm= zn|tjzMgXnaFdS7*%B|Dgp`VqUcFX&|X<^reqpo(ZF~7p((M_zpEmppB(9v=U^$^w! zT3u*#`0?~_BhGsu8dpR4(>gBU%TB~|X0XwHNp2M=N*a`Pq}G~Ib9Eau`nxbs@7L;% zz4kX3n5arhL|y{c)xM?i3|+e3Dt?nFN5!fk3jKQhLTF(YnT&ao4V3APP5c(s$&xX| zHwR*KTbUl*>W0#bdW{!NY~So(a856KRER3KPyHsrJO4-ILt%(i*WCmsP>%gaWJwtb zM2qXGEmJ-WD%co)t8!KXq)9EZJ_B=A6&aJ|RYLi?Y(*oxdmYAAM_ka}i>I5G1qQ9! zL;n%YJkJ3BRx_R(_SwJ8*1EoTLBH%{=~HxJ*DSVR_#XPN>NC)XhqUj=DG^rdB-6uo z=aoBEs%V-@a&cCgH?A^=up|9vSWY(9Ec6BHQ=3ZLG<H=5G?p`EUH^~h$EAE|(H}7> z!AK{9vX@=Z-1b>N#k|8SuQ|$rzp9i!v)ASs*sZ}u&%XG$IlG{Y`OiZ@Oc#whMxur4 z!XU$^0eDeVS}n?BWs%{U>)__vhxQz!n87d<x1RaxyG&>)Deg;|_iwA?ciz%pn3CN# z%Z{SY9S{?W`_MjotPNR&HK$etH+Q)xkDJONa2Itt#=>&}J+nF(fp8}e3=Fg>L;I5- zermFcEo^rCGw{YNe=CKQD2$eq0DLw~R`KE#sYUDu*w@{fPNUvLFE=x@%Nc4y*|K6Z z-H`L+-v6#o#;1?e^v;Z*G(>m>Z0K4LMeJc&$v5b3uJ~Hs3YE<Uzg^^>J>(diF*b!{ z3_70d`A+#NJO?PkRQLB53EjFh6fAC$=yt@z*HK?h3)BFK6cS4A<)+6QtO5NBJIz@5 z0ZYnn0Y=llu}5@S&MC#evb@jJ_A76kT*8+9e@cy&K_zFe#(bu+UIAw{i@*0X7y>UX zKQJlZRT!X;Kj>DWCS_%HD6~q{)ZlyI`dx-zciq?-4whTpoTd>{RTXc+-oD7K+uQvY zKlpx*QNU)2jfJf|S(O95;q1LZ%D1@4C}(bj06FXj!255bK8X|-UQK5au15YZ;)XGw zNV$({%_J;z6qmo#k-_T!d<m>dFnZFJS)2x+(`XMd&1}x+ak1SD*@mB@*wE~_<af&M zmc|hA<g!Oq3n9^;IL+H_IG+(cq#mPlUIg=9H|7Xur^17grs&-7);!0}W^egaVkP-t zFCVpke(@_~!&y=3Wf--dpkP<+DSLl|-`wTD=fB?6-2b8*b60`eOHn(nsk$j(Esf7r zp_04j$mbvG71;YS#5D8=$#Ziv;Wh!Cph+d%L0kQN=%4<7Z|S0^d%&3S_@l+q(Q8y+ zlOx$3uGp%9NNWXGB0WhPPM@JRn!Y8bvK+8*A7bKg6Mi~B719|jtM=WDQv98bH9f1J zv;kG-6PBN$bfuj4|LE}qs{|%3np~Y;KS<5dX=sx64>5rjgY3&Lt=<rmpKB|ChPTR{ z=|fjva{fH5A!jm=oD@u%P?J>TcAi5nj0)7kIWF1HPvvb<OG%40Sr_}Op7Kw;%Bk}^ zQDpoRT~C_FMAB<~)0a1p2e|5tAuxZ%`UXg$ty(Of&d3?4QP_X5F!7w4qk#(o)O6Fx zGCkUKyt!y_L<vlP#y@87z0nrTj%{$TF#2<{D`4PxHr_bBFkD}5U}Bg*zStFH3H;mq zCMcw^4J|G<eKb(@itMPG1NYHM?2%bKiL5dcdRilkYAzx>7F4q}-qKuo6KsofQ_+fE z2dDr%WVO^VdvlP<YsewxuE9$7)dq5kHRFAC^okw)m0of{I#~~`q8r&yTpU_j^A3Mf zi$8i)Rl0W9(6x|im+KRD_ZlO88q~<5%@lnC|HN}_FDkZ6bw1{hW15HJ&jeq6uoq8+ zLGp?P+y@(1>@rOxdJq110WDwk&9}KqU>l2zeZHkl@>H4}I|%Nz!s{Bd_`(_!gp2XX zs3z}9<W7b5l#HJ}tZVzl=J(#nx4jMe<Oz*iMH|wt?UC~dnnvzJC6f+31pr51mGdj4 zlFyl!7xge;(Ar)}J=YXp)6@EL@gln`&ZS83d-T5yH;ZMtQDP4)-I=wsGi$VT%=d#w zp-0!9_cKD3XvA7M>7C?}DV>|_BpFJO%YI%j7ij60*+D(uGhcX_(zc4=d4@|yrU8Uz z2kB!E{(aQjl@PvLYS8Xx>*21+sVwlQVAs>#b%{piZoOGoDC47?r3=4EgFygb^2#m7 zdwSg7ry5<lXC`bbl~lZ0lw&nruIdl6#<To3B|%xqhfOa&t_=tRwO=YCO184Be5B%` zUM@@-6teTC%}<mSFS-mE#S%3`&HF8ao7k86U}l>#pXh)vEhfU0m2+PVqp4RbsjaGN z3JetR>h`Pd)xB&{N#z<ZA5>5E16#rTqyx4zK+<y`eMiG@X)jFMSe|>yKkj6r6>2Ty z^Y_2MVD6cS2RsYw;6DVjyU)1w2;Ds%A9Sq`{J4VWDAeQ$T7e_r6Z<#P4(ncr`pP=s ziF`I|UI-(S5ovWs*xvCc{B;b8ltTaD<FByzIKls!t8(udfJTUfv0v%&BTL+TTh5WN z=?5O_GC^DQtZ)2wqn?G1rs<eVKfleRZED3F2+%9dpg~gNli|_s=+U)v0`S7?O7@=| zaZMvlRwPVz<kv#ba%0m^g<~Z93Ih0~!=rZq`Y1y7zDyGrG$X)3>8VN4R@1=V<ax`g zn*EC#<L|@54eRQuxX41fu~;)0)fRv)qeZj4F8zvgrrhm7zQd;x*8?r9`(0AoCYa_{ zGLL@)?(0yDE&r49H<|REkfXgdRhe#@{YdS6mbXXs$=Jf+<(?(e_H&h}DkzyNK$K?r zp#(wrCf!2w4{y1;(fJ?Iqd>XF39le2@!HykycK%+aa*fseT(C+B7iU#@P`pI=`fOM zgW1_KWBFj~d9<tgHM*47{*c}Kc6Dmt@FK^GhkIB>h39q$c#iC7Mjp`;LVa-hu$Kmf zoszaMth)o?_~0?Mw*NghWFTB<;J#B0$%rC}SL|;U9#6Xk6{a!G_`Ok8{B2Rchps1& zuBN(C+^7y5va?@zb24*LbC!OwyMm%}5DO-eV{ZMMq0%C*C#Ltld3G<_@6{TfT1PR@ z?1#|o!VqIb@5VJCXQhUgod2`PpTpncSEbT`evt-f0kFDRFI!%D`Ev?ohNAwAUgT@t zg5SHW6<RS(nqaJ?$@peLRhxc@-4;g0VDRS|7s=cDex8TzbZcJsU8TOZt@gyEmIm-{ zT0_C2$kEn~7Ly`ww3k(OQ**HC#)Xq73t1}zU<LlegyG=C4d5FWDBx0Ev6Ws|IGR+% z#M4{PvnP3fmS|*IHw{Pa=11UEra+|Tr)WQ^Kg!Yzq8S|O6d3_ha`#v~UrV)@^2DY% z7wr^UqZMxr^IMo{54zz|Cr!$)Be}FN>{>LUAC1f2UNc$c<b}iGoaZuP3~^*`Q1z$Z zXkyX~40sI(3$N*~uS{T{KiTV)N~*Ynk(}Q9m8c0B$5p}I=Y;!pl=rwHAK~qPsxWSW zR|5C+*Smba4DBa_<W@_bwvv5BUdO`Z)A0`h?zcx$<tU%VrjTNSD98%oK}!439l{2M ztW7vB8=sEtBBr71^4)}evPRtg3BFl=S?%$J%A|9M`(=Bx@w>TF>!I|s{ky%WJE3oD zh?nbf)&fl|yDu;~wL-x?&oX)?pxoWkffPF!mjxiwm;m4$ykLE(qFyJ6nRHdr*&G;n zo4z?R2ZPh(?zjFsg@?1ekYm|urI^4Sa<qU89M2L99o{&EG}8J6(hKZX=HRvIi~6}3 zN65W*UY5$MX4uR;Fz4z(xY!!J=PvayRNqAoEhK;lwTs>jdPPenYrExx>q!XEJ&HAf z@0HKs<Mf5I5VGo-%SaXs>oPw)a$_>TyU_zu@p<9nr`Th<RSD&%X&+-pBbNWrg?3r# zl^j<z=5p&q*o~%1a&g*<gELMqYW+-S@DRhKs6V;V2wHKfN#}F##)+Y8$FbVM#UCsP z@2W$AJwj2P!qCifSGLcm_D|iT7iIm(2R3gC2Bq&r<rZO-sqyQ~6~{~%-+|IkBL&G& zYXSWpU^Ey6g!!Cr1!ro0;P1CzD(UYZFBEWy6T#^&s1;$y)u&HTR>9wW^VJUK#Rk}K zM}Az_8db%`yPd0~OttPUJa&t|960DyA92W?POny9%s&}T?ofRO-Ie#<%f;;N9vxjj zek>Sqdw&|to_r&MHWIEj@-u%EspZG6QXOC4OZrcO<~fC~xPzvqH~6SL=!Q~bdu9ef zCsnQ{5`sQS$d)m`A`cWggyDMN5dPeXWh?EQJcTeE@~$S6rCl3&;W{0AP1ag@(%<|R z#V_EkdHE&rhS?7?FvTws{$89fAYK!WJI(vSCD+b3gx-#A!Vl9sRtca3Sj!%~=#%R{ z|Iiy{Gz~XfIrA#R-J|>1+_vOG;!-kw-;1HTVg`Zjd3AK%@TQ|2Z04*mx?}p5Q3Y(w zwjW@!jhjIA=ZD-9bgvuH!Ccpmkr&yAs@<1E2Yh!|JN@qsu79AYH5Z##7N8DIJKwvb zOZU2j&Ba~1dhf;M)WcN=bUvFow`QR=*KtX|*hKJ_zf<!SvyFL|sb;w<f$cSsW}w2; zVw0TX6&_zIjkt#GL&i>lh2Wx#4;{cWnzt3qUo6HeY}p4A$%|!{o<5yxxac#g!se-L z<uT_pNIKU70e-tJE#6WG11<Iog{i4i6Csqso6aqDit<snoG%1Ka|umZp-{`j!7~p= z=t7cJ$5LWbhD)W#<g|XE)h2>#G-cRdphfOKqP*gn9G)^frxJ!A_~$q%uo2WSzP-py zxI$v@QcyXHXF(FvVxVWa^DD|L14UY0M|87{jG>;AT)o~OEX%2XTDa-^Y3ll=XYnMb zUCv^6LoQ?~<tZ}$wgbKF$JSCnjc!KBmR&Zu5BlIu?f%_vxUcv6%9V=pL!ci=@=IFW z+Wn3Q*2H&gu|6AVQ5_A-IXEilzK8wBt(yN+!`f0bQYJ%Kg)$2ZcicN!TyynDwkMEm zFVGV(dU34i9o@WzEs0w@tMAXm28Q%p88ukR=H2JR@}519Nl8A}9-nS9#ZAp`>StBu zSQHdx*VS!XEpD&71X5olEtiPUOnA-iTB1D-aJ4OO{p^k&{Oqaj>M97mVBzLWT<Afz zO+)DVb=}nYXXm_v>wJzj8zknb6<4{qB>-1-dg_MqgsxB{>o_7Ly3Vjj(0Un*7EEFO zS3TIHb9)jO&i|K$Rn~v0LS2f2Ydk@w=>$1i^3RMRLDXiI?bN95#L?siJbz3f{&|Z3 zG_4sdQL`|V=Qht~5%~8@O4yUgM{(76o8$FF*A+zl@Hvd@X?Uk;*yi68woP~UhTcyo zM*|b=4#9#{<+T_ZEIxJp{4r$NI`RtGj9_*S4|vfMG5F*4vADizP_e!MQz_q{fxp6c zBFMYAF8%S3-<YkMM4zR&YI#zH_|L<wX@h~V>Fs_4j=-!H8J=!cN}xclL|tw`UG43b z`rLkSFHXE06@hvp$LyFm?<mJ``1r@!4~S}bsl8MLq@q$>q=2#X*OR`#`)l1C9TjvG zMM8L$$v0F*%ReAmvGWy$S~<VHlfk@2km57K+<$VpO2X-*k-Z*NbAPX2mM^yj3{H@m z4&*r>d+%9Iu6VB}rh)mbHhIO<$oHJ<^F;Wlp~vq#bQaZ2K|78$$tL;v+9d~(4RTq< zBOfi<B+RmbY&>s$GPqPJx@bO!_pIDaYI1O2116)OX+!KZbI9~t<rA33>izXJNSQsb z72NfX<eP=&D`zU}M3K03av|jrsjuB-!-2e+ruyab8e8aRVbOv6$p5`B;(J%+s#f-Y z1V19^w@r1jKoml19Hlh**2GVhoguIC{F-aO5AqT}t*MdfrL!9s)yr^`u{KP-iThZn zCeE&rj;Vyr>22*h@@57ZW=O;CU-kdP4b9<@9f)(?9So>uO-=aB`%oQj56RB2H8EkF zDV+HG>!EWsAY$Ii<unI(FsDOay*E=<s5bD%yCyAp7rq?ejrcm6REvy{zC1DZcPYJ0 zSPmfzB)!SIWr@ju;^3_pECd#nN9YTsD;HfY+Gt*3V<A<wij`eYW;l7#hIF5)Nu^E& zzavE~vJtRg;}^LEo;M4R=o`8pNCqvP$p)iFmqVXwtgJ?MAoxF``%f;+m!#`Y%0nIx zOgPX~&)IhoAAf-N)4ya5Or{~H?g%F|!yL2XxzP!tQa;hGFc^5&=#9FF13L$tt+pli z`pQpytue_o(DX1PAy5|L;4E0Ndm8y;S<JOL8Px6e@=fR3{U1U}>7<N?S`f{syMMY= zT6A~t>~zNt)7ypUAnA~7DWSAiEFoDk!*<zfVojH~jCtD!31>D3O5M`KD*C}3?_pbF z7$$V0UE{pRCI^N87X2$E0gxOtJlsX&UCo`x{X2QB(p>n18*L_4-nw3A>S40IMNlo4 zUWKX%qOMY)XS6Gg5j#itGZ`SCPPb`6cz&ANs!hkT>#Dqs4zrijKXq3F+2UE`E)u#z z9tKkyI4&?A7Mai-k|3=x#knF`A7f<B(1-I00w1TTW6w27qU@EmM3278*JoxXn=7P0 z9i=phW0+zcX13e5AGG(t))mfy3LRJ6s-V#jAdEpP*1;Vxmqp_*G3ySf#9SKTZNJnU zhIA)T`i>m8CCW#f7_)rJHksT<*dciBMO$Paq=P6Pu-7JOaL%mOCvjxyd@YQZ$nr|p zkJ(feEH}yZo6ubQt$~?r(yVm>)9M9h*Lti7bN$UF;~%)lLg_)RJ=dphc54^)P$jLT z2a);9*^fZgg*(G!03R<IC-#O6#<R%8z2$S7wFVYna=qmI=G7qTOK)#k1{GDkOT7H% z?%(N)Lc)pgnQ!)ogHzag63&;9kMr%O`@KARW|Q@fRpLzn{@v|C?wVDlJH5_H2aU<m z*j6Qhj<VM%#k9-Lb~dL*AcCV1F<HHB@^pbh4G44~tH(|Ga=k^gpXa0GTYder2C-+t z!+hlW$;2Ofk!u(NWt~$dRV&31qzfg)M!pK}8yC9SMxz1c+c%!`P0Ne1fECoU;Q~`N zj-(K95&p|&V>u#)ty;N^t<I-oz*0Gf#<)Q{Hav$<rre{|(H*l1g2OkVL&AnsJY#Vx zI*W+t^}vkQ=tW9fE2oR`y~R#BhSn*seP;XMpx=PiXf-WMKQCNic92-lFdM%NB-`V` zstp^r3%9t$X5L&cXzzT20QZ)W(#&z_oX?83Z?!sIEWdUNd|I)|EPgSN@tWJkGl+!R z&mw}&ZqGT*gWy+)R>eIX)6Moam2{$B4vz-Q8XmWvZ{8T4S?dDuegbDoggbKcqY_{F zc7M*uYl-_c9Weqh52VvX-)c}7jAOmC|0Rq6=UpC9cx_5b&a+uqqg{IbL63X5yGvp9 z)c@%1;Pa4Qee_yE4_3GH58yKiz1>&w(yOG$L<GJUku?$MJ5F-P?Hbh+%2NNhD`<z@ z-TU;V&!~$b(NMknkjBe{H+%AOzrK)4`vm=waqiZz>FX_7yJRkGSf$&#)3(*v@gd#d zJr}@P(YK$;r*A)e0;Q=LcQuFVi;^h9PUqQ>GxLT4EVTtzhQq@oB-WTL>CShgyo-My zI>YL+_cw5V`}OpE@WJ^6POIP8O$!IYJ1*SX$5rRBe}m8oJU!N$02MnGWwqv`ukUpP z+E&6^a%bi>3;0Nf?y&fVN%XOF$m07pL2QMz=i7f*OIs5{nm(+)I#g8skBCkzjw))G z3^!j9eph0i*BN`R%qr1l<d)p6v!Md5E#J8mS=5kgN|IKL%?~y{pW102t(SW-NS@C9 z%7ZQT_k4V`f1;3Zp3;YjBN&tsYr3&cwSY`Uo}xBxZ8cXYz)oOx+Z5-OK*Y!cQ=>D^ z6P6DKW%eTbN672v1zyjA>KHH~`z~i;yO>+~CZ;DKH<6)8^fEDMoDeJ@1X$&5ptH)0 zb_=RTeWq%p+w-68o`Ma$N2?TwlgLAfIYVdKdX(v%4jyZ~&KGex<WK=_!}fhpOP4Mo zYES>y$lkSQtBU@>NnU=mH+uiWonEiCv%XP?IX~fx8^LI3BokVGOL>1Tn*j{DtDHH9 zIU!96w<uJZ*lT1fC{kL3=+dkIl5+Fn3rRz4^(!OK%}`mt(UV^fGF5VzYY7qI|BGNo zFkcYG72a27vYjWWaXx3fMeM@b?Iw0C7F0bPAY<`VCp-S9Fa9GMaU2+W;s3;=kpEfJ z)XjozReC4I_fiJ0f^2sHr)S!YoXfG~#kJa7f+4fgwe9Q0Zb#nFCELm8<E@SqU1>C| zNtIUFS_^x_ejyr`+irpUQD^+)3H(b%5bx8?Gt@ori7qkpN1lZ2xX#~~UvGp>^`eGK zEcge}ij7dr^es|Om^R%)2-%XQ5rpE+C3+QV-uLoJP@GRG=k{Fb`YdcJqU`_5U6L$p zhz{-$=)u#!9**;8;%k!Pf8G{{@~FV*w|nIipsU;AJ^p`5#D13--DkDTkife?zn7GA zd1WgPqrHBYH+?DgpuLTcM9$13FUVC{CM4%C$s)$0$K8!U+<Q(4?Y2e0ag`4x+D0X1 zTWkNXiT$q7z@Hb&tjAP$Mgac&ww;MNM*t#bx0Iw_*13gHNz{+5&n5yF9xK=v`kBrr zpi=M|#r|2jkRZ6ZnM8W%>>n+`w(74Z$CFXlITcYkZ=8`e^<vifwS<u~b8Rc#$SATo ztLaFu0iWTlt$kszGDziRi@18Pzvi?XFR3<W@%}AQb?0kAHem(5b<^}#)#v-xh|O|I z9%nS#Ci_|dop~u|tovoO`ubyKp_b=l7DlV|vHB(4Uwj*OE-xI+^RW4yWz7V++d?BF z7dF1n)T46UY)gk*p?%SEnffgVr-{b`dUOS8b|7^af2S6?)w7HDJc0d!1e8F}Lb|9N zW#H>^zT)_O(4T5luBFiL^f$8A66{41xnq_V`en^LP{tVi_uUu%GxPxh_S_Dqs<<0) zx$!9NTci0Lm{(J4+}SN`^3vp3NsVXRuGW_yEc5F@G_?jl)mna9oxnXa;yVvUEOB37 zOu5y6pKy;*1vn+^?H}LBsylJe#6tUl$!_U;)7QvrS;{+yq&+Ou7Y?95SzyGq*f+KV zM002?WlquO1i~N@n=YOX3@#gN_~b|Vy@qagkkiL|JcJ*<9U{ER+L`$gi=$V{G&#&k zMu+sXNMH1x{X^G26=Cf-7ZR8yx!|j+Qz&C4+I#TD?Ulk-7uYr~YQTEKpzalfUaL3_ zfzwbtM>Lt1qLtYD4z$kFUN|IG1J@fh)^l52j^yMIk-HPCFBAe259dExrF{V1`BPz* zSfVAAl#q$c%~ll?S6mC5D_QsbmQ%&g8DzOvjCPT~2yW-|R{M~t^pLAwtZ)e5kY49+ zzzg%7a`GejedToVoy6W|GA;1WPqn^ZkNt%MM?7-B&fq4Uo$dgSb_UM%vnw-7POte< zC-Hh+nL4t)VJQxmCA@ylv1~UmuNR+;!6CKm$Et@yx=HJaLf@-q*PY0{CE4Bz4wOAy z<xE|9wq6d*9Y?Ls@*+@a`&))9PW*~#e6osX00`AdE8KMZ_XY;pJxc3{6nvAV3_F9T zJ&Pdv>7zKxO-ET<^)c2w=4*o<F~35>Yd4Q3jR3?s(@g9D%)mo&ObwK_?UH|bL60_h zbx2dl1U&kD^p4Gd9AuD5=fV^BTFeJIfNCE7yc|yjr9!ORpEq5@EhBXuCcO#SBUbhD zwsB^>8hP|$4}R?0Ma5pk9=Y5gM1A;5`#8rk$E;*fMD<#2F-RHbZ?ZjFeT#w(=SoRC z*05P%@7@=<wFtXMf{CuCp-YVWMSEW*cTP3JY)Z+|@DemxuMNP;HTu*{T$)a7u1@ex zFIu)UM7>JOU=OExxyu;aX*U;E<TA3-H2F1KZ|lZCSB2XYo^2X+k{~?|t0)leO=K6? zUN6|Sylv-Ax4CDx6|CJu0xUI_*!J?m!?&xtO`bOG!H<w3rkgo_#|54s8;jST{75tD zhjeWr*)}Y0fsxYU1dbX8Q+GP?@$440l;bmvHZ4WE1w8_lBsIq_KX83FNOHg0qn^sb zAm3hh<0V%|G{9~j{?7<9JdWkR2{De<S~ke#-~oA*Qlh@`mA@_*(_|{Xu75OvWAWT6 zCKQ5TA#JN!O~Go2+mA_&ly4OjREXwv-mn!vWD@5g)r@x)nh&R^6c0LKm)?U3V8IPG z+~T~>B%-oLl{mJ$i@h(|h?FI`+vka#$fhxy7lDK$-_*199P1$d;;Zze&k<jQo^f)) znQ=UwZ03L7&DEOG*qDj!ONu(k5BpYTO!li>Nzb8=M9kk+6={Lv`q{oFE1nHLc^@}I zgb{bKnENAc7WT&d1Z}!~ETH?`2(FQTiqEA<qH@R9xnF-h;;q8|M0*2xl<1g<n09S_ z26fB);kwq~>(=9}+NoB7<n6VDz`rLE4ULF6THFsHJN?FxD-+IL;d?k#R$ck3tf0xR zo1+poJ$+oY(U@fnb8+dsME2b_$uDJxkScX(5R{-k8Qv@W9xLoqy>X(?#!}NfuTUp0 zkLS`|7DPTMg+00mzmLJB{tBD*zLF^jhbZV;RcsGtawMPAHj(7(>|jm_Akh5isu07W zpl@t9@y~c3a(eCBq;4(N#I34hC22v0`-4r=0o#83&V>f%X)2B43J+NE45xX><NeZO z$4{318y74~l8}asD@rwzEyZ*#r(f*YBYo81F;mXkx#Vf3&$kYdiH_wt=iNph@M%Eq z({78xA~(^3^Z{XeL5;}`7|Lcek_IX0MH}JyMkFpHakFj>+3>hR_AsGSw6B_=gq^&E z&`OG6S8|-2K4IB$NUSCF3M7KVUG6%AKo==3EzVxz`40o%kmMa=>@b#P9ohplz^&}N zC%m}jR02_n{&bbitAc}CDb2iuAZ^$Ag*y3JnCClWbb8rs%Zo*7skIRNEsOCiWEHh8 z&kP*WF*<eLWaE6(byw+sM;QHO^vTCu`VBM<bZ-uO!{Y|IwBTfa)??XnH=%aLb((2= zDH<+&_?pEwn~SV^`-u{K+53`X(SU9kuJS*k$dUt%r*>ad*(<!Ce0}lv)vlFKQtZ|o zRan<GG??mX`#(uGyd;eJzKY0HOTqe=;A0>nyLE5390bMg;dG6r45m}{YV5h$2fg5L z4R=!g?aORS>_QIeWL_+9@;M;}4R(MO+fYQoFrj1VemJ}Eb}3csVchxarBD#H=YK>< zp<0gLKh(40ZZde?qkt*@5zTon_Kl#<9t%Gu<&(9W)UL_CeW93sq_X=D9@2)l_>aiw zkTX1(-JalFICl0#)%hW}=2aW@_$Kzul#`5)mH~PSZ4oaSmf|@eJd<1MyWF3KeSD_G z*Uqv3`~@GWz$C{bvQwE}?gj)j+FkPBDs7#2jwXaq?!jPp4qwEI>jD3!hV6UR;A5U; zevw&z)lt><T5;qt?_SCJ41GtAERuIk)tGu*Pj8kW1_}8w@MhAQ?VnC^>>8Zf^Yq+P z&%UPQFl3jy&~8Bu@vTm;rkZBX#fN+@l=FTxQ^6V&vk&2j?+}eoBXgGPK=8m$VpFbm zgY-&Dtbb<xXsq|^kbS+%wwSMKK*;8WM@2^CF)h0rId$pPpg)74^qZx=wO&r?pO!>o z%i*z)dFgCKH>CR^B(>2<brck=9-V1SO_DE_?WpI4RC<wjGa8F>Tx9eO?@3sOiH#BX zX=*^pb>w_G`%pFa4>PlTUSj@wR+q=!zW3kB3wG;ABU(!z45&O!FBQuvQ+0ITI{A0L z2pNSg2eLCf>C&mr1@sI{Y|?$I+nuOsX|?^AzjMB%dywDBf4AeBc+$Emdh3i^eLYe& z;`k$bW{hBZB~^($H=`m^cTliq6hYabgyASc3u_rxy7=+?L!c>F2?-;IU&`YvH!Jnu zm)ZBKJF7`1tNMBE1%A5Hz6j`)f_F_Pk4t;_fT19cf<wFkDDJ4Se3e-F)tf4EA9q>D z<@)j&-67n-QVuuQaL*!x2N(d8OwVX7+wQx%eO~$_Qjc0(TBSUVonz|PDpi)Tw*8!X zo^6D$bh}hS%(WVL`Q|P`krvM1n?Cvi(MZIeWf9KFRCX_J<Xs=V`SArgwUP5%Izxs5 zC?=zm?i9S$1gWgJWD1tcqkJgyDI_3eDLx}7d9L3NGx*^|dg;8aTrdKe?6B>Aj!D~k zZG;_UC<-NiqZ}&V6cZv%5@7v<={7rM&9k~OIYS(gGX>$OC@jRxc?Yp91smkpB5G8% zHP1ZF*|{cSTryAGH#xzA)j(v%-&>Kxk%Z;^$5`VnS~n$}g37PtSA4Nl6>dF6xV5B7 z9ylk8RdmndjgIT&#wa^I*TU0QI026B(cQUBm^vutykc9w70|P*Y&@@vft<_J221%e zuA25dYEc3n^oC!*51?LM=g=Q+X0cXs{mx$RTWDtSFtkC-{k^n@X~xFMF;mC>!-%fQ z)EqB}x^@^^2X0;FedHq#TyC6|Gc2ef2QtTQ3V?KSAsltiJo~0<^77%L31q%8%RNvJ z>s48XE0rn!!ef*18<ruvKUY>iYO3vu%p<Zmtp?Iaz29BbD?R<%Rd4Z62MQG1fNBW{ z>&?#IGMpSwoRA^@;M1vf+NU5|sVg_RDsQ!7rUyo(Hl6G2)>bdF!6EB*yHaz>$}z;e zy*F5VzYYE1<DW~+VJ-hGsO>~j^i&51)$&*WBO=1fI6t3ZJ4sDxhHNh$08nkK`-p_^ zVuoRi()N`i1iw|aa(ugK81Ox_p_sJy>V0LND6(Kf{7^@+xzdvb=9FB1fe9C5i<`;H zor=ZshE<;N*os=8o!Z^;{f+I0lf_UOYuG<v`sJGSoMxI9z3MB#YogXA`ltnL?*Ns! zyigA%@>|bz=XiuZf*~i#T`j1b6F%x9Yz<gpryE_+(o065)f3=Yq#A_=qwivme``6I zTq<{X4Y?vHu(05BS2lduDp}Mb+(BT)o#}AmZaqQO`Ub6)W-qSULY-`44-VL_Mrkkp zPB+I&_eA4joiK5Q=a*T9Jqxe@iqwHazU0x3-(gBB8YSNmq7K_5^`q;V!qD#DX%~f_ z#reD5;0z45_ii<YO;6tXc`;NQB>^h0K<L8l`S8xg=Q3_)tc?d5XD|Y4VE`x^shaJ_ zXf_|X-o;+iPtWsKQ7od{+@r!t;GoPsvJ8U?0M9$Mnu@6z6+Yyx&@rbsz~~tYvIn#v z_K&1Ye=I)rqI~9Sxc%W!FXG<(eA{b#fxL0t2h^i_%RrZrC9%qJB8u&u|A<^xUvO$X zk0fkiY*M0INA)*vZK>QpvvZVvsf2L#i&{-***o6sY+XM+Ty1ZCbdyWyHnXHlfJOO* z>hfLgH~*j_!k4gSS>rvPCF+j(;1lR5j%vuxUUhj2&9bYw#T_ywf3vJ^UahD#wcefz zOvvl8s>!q49=`oQY@KINQ*GF-gP@2Yhyv0<>4e@pD$-v-dI<p$kS4u%REl&7O}a=E zLWtDRBfS$L)P!E8_Yw$r@_oO~nK{2Q*)vHdc_w>5d);eYYsD+!+}*6Wgb7B6kvdol zBhZ1*3#p)UTT+>*=SvbPu+dGidtM3sw1d2(D;(RE_b37Ik?O1wU#T)4T4N=UP+R?? z?&crE?l&a^_fM4cYU;O6f{;75-w(NSLXT9m)4<!AP6E3oGO+!u^sc4ImrqCqu79=O zp|{a}!BZ=6J~Qe#=sG(qggDl-orJ{~X=nH+6rDGLFPht{&cWw$i{zJ2SFEEHR0T`Y z7H5NuA%fkRLBoi#z`nPloLU)GNhe~obDsCv0~3lkuZ#}AUHPu-rf+o)>Ke-y4c8<1 zgU?R!o7Aztbw8hHl=Fd74C}J@=j*}A{xz3~Bl0(6RX*3+j)h6QYlJdbj>k^~bZXQs z`PD|EWMu3VL~hT5s(V&eNp<QLMp5tq@IL@JnbJtaXS=sV)nzD4@HAAuY|)(qC2>F# zV$}E)qZU;>7i;%eAUmG(ghGk>Tf`^H>)%2u{JCBMD00|0XlE{WQ_cm(&$JB-^0`KV z4SyGx;vUxo=}5J2)T?J+7AzrqkW@pY38m<Lx3^Ep6!+SiQb;QHE!4ARmHh>5*H1_n zH}{bid`r~_=4u9U?a&;ncI)XmxyCu3F0xr3yQ;daws|DfIh1FajqPtx*k@Po5~m;9 z{U)M6Eo4rr_BLi(@H_8_dvkuhoQ=>Jc>6-}5p)-kG&nj0D!Ev^a!^43%(j5n?4N=6 z>j{DdN9(i_&{;0y>#E+EADF)OK^K`x+$$s>x6A;+{Y)l!d~)K8NYom9lqv6$X|g+o znmP}&jvYOW<>BE>heO+@(+PrCe)=KXdEwFYXURMcjmsPuY&3fGVKF9sy`(t%U6e7~ zR;J6d0AsRw;{Fyr-kpB;qCxLUHM(NHm2F`g!}&Io>Dt+{3jcc8;6>Z1lA-9pPh-P; zx*TI8aGK<KvNjw^aL^P~JY5hxH0^OGk%HNHmhPB%VKl;~+Kql`vi7QS6*Ga@@$h+F zB943Q^TwU4e5JWOYT<60lG}9-J);>scVo3ePAk-{%%lig-})ff;!2nnp`EhUt>kCG z!L>8-z0Bny0-BxPQnGjhE%x8a?DJSD^^Nr7)~{_e83r01mlzypwPf*@`mDjGX9CQz zBv^Rs)PLeSPIi)6@xCewYizVKN7J@fb<h%iNcHRzaV_aWNJdmz_ramCVY<xou|>y? zp7f}a(@x&ahGtL}<KKUP;#c+v$dnlS-Ru`*u5h48KXB<6x@WY~u6$H9Pa+S;1@!J& z7{%5%w{N<UD;6epcRke2g_}H$+;0j@b6e%zuOCxPK#}1kl0m+02vz&$S$5k;7!6}C z8v9>EXg`|A_t)UeG>+cN{_RN^oD*WvyS+6#S!nd))Nj_mq2YZ@xBF+tI*Xu%zZTpj zm5ZD@If7!HE4NF}KaFlIOvx78|5s~QdQUWg2xQu+H($qjYVlJ#ERU{j|4i0tmE&F^ z|DT#!&0fJk=d=A}NQm{SMyqt0le7g(Z>Hx@r)o>k_66M&LR+ji8Kdmu+umghdGIUD zTXv`CGsYbcS&y3HptFC9R|;B+>uTeJfY2bpU>u`i81{)Yj}OM@3b?zF0~0Jio;^}b zLWWjhE<fGAa4*i-U>a)qWF|F5Sr#m$X)W~Ht>}Q6c{&}e1>4WT5hOk0;d5KP6x9!q zy`r}ITO{#j4w5WH=yOkl#XrE8`bOb*zeWehW1lC!^Yh*AmS?#CEbe$LgY!`nmY7tF zQrLl~%r^6Bbcu;GG`Y2Ca%-n~H~B~10S0oeHm*Q*7}M3PTM{VPlb14i2GW3kVE>{K z$NXyO5yP^6hS`NL0P4m%FL%aQuM3H^EO8Iw+lL3Y?6~Vt8h<YSG4I%<YNaLOrK7mF zU%vxu!GhTI)UWyQuO}7MzXx=67tpy&;95h2%P;{MSd}(b`d^Si6)KER3zIw<Y>iH8 zs?2pb<<ode2uiWLBKhxl=ZdY&Xepr>0G@I!Ro-Oiw-HyL-R#$_iBINlP^L0?^5a)N zdZt$w0wtC6EZ5<B8pxf~98&&wTyG@MeJ}i)FGTiIXXP5IN2%i<SZW<^NB^O?u`NT> zO~@~&ez?|hgnTrz$^PwiF)EXRzAB{ap*ArnBM)Z{3_134nw9pu2uI5w&-GD%`ORO? zL9a9VCRyM^$z7jpllsgq`$@C^G0Qy-;Ai_xw?H|*S2F%i#K|P6PGm2MzV1fqIohIa zN5E@{WJ!g@kNR2cf8Lh!bEEserqWON#XAHPZ25heZJzQ%`CbVkhNo%>X_=<YWv^ka zVLGWcjnOoF6VK1n8HN@zWj;*?W3!4Ml9TbuD<C$OfUAeXdbRm%<W89%Ia8!HghCL& zb32)?!=I?cSp%=1#h;h{ZkzjtA8ytgAo>0NHfa3=aHG)4@we1}LS7yYVpxQFf#JJg zIYF&i4&yI<p6>3<{hOR#jEcpNx@(Dk_rpyp`GO^fcrhaWE>KNhaI*Ye11N0Bz)iP! z{-EZ60JJB4(P7UuSFMS+Qn3~t6d7anQ5$>X{qGxY2IQp@BgOC?5%Y~6_uqz?YYl)v zw;9%<*99+mizoA1Ft>zj&k}(`Ge9U>4ex{sz5`k_@VQFX$(!%<OgwvRHuoq}i$tun ze`X(dr}i;++Qy{UEpG*lIdBET%JObQI}glCchhmrS79-|;pF&-u$|>rl~qBLlQ&JR zZQuU-Wug_5?-kJOa|GICd1evwGW=H)JqO}<7Oj7hChO{^gU1zY6>b`xXV&`fts^t~ z{uXp7NB;s^xnvj1d}4{E;E`z@%=^;MU<6q81Q#b(NG-`IOu&K{!+S9>g2+?yXPjn} zCTH4sap)LKWjWO<fq1n~uI*5lu}|s~Fcuqkzu|GkwyBdbF-NI#q_>3&&yOwi1V(qE zEqTv{hkiHcmIZh&el$+#)R1q&h3b7ELSrHXNc7RAqDe(n-Y8kTBhh7_79iT(gyy|1 zL`+R@g%n*j6(Q4RXx?D_RiL8AhnS;WX7y_T$tQJ{o;z*>wZrw{)L2!f${JS==+l0B z1-tx+q}-#+N#2INb#I1AO>=4Qt`NPInZ5aqBu`G4<NhoFf!DK?pS9fPdFf6Aw}VX+ zW>gX0T9z0=<no2Wkilh)je}&%O}Xuf72iAgCQnF0(a$&ZzwC(_`d4CPs&rTzTCQ6O z`?i5U7s=!SRZ|Dr4SDa)Rk}MqHF&4|N&5bIS1pv(BF!jM%tA4fu-MS6NPY`lxxM4l z>tu$@u?kh!BIl<m;tzjG<P?2C0KVQg5S?QUT=Va-HPBD67V|^c+uz93avu0s6-+Oe z<1!DY!O}=-x6<Yua>eCnHB8TW3qz4!TQAsaZdq-9_BRizQ?p_`XZE@pB<X^~j3`}j zyUKX&5#Z=&%AE^*b%*EQ;G3@vG>*09ge`3$o+m_qo?J~=tdq~TgAS&r77y26wzz~Y z&ZDpP12%i9Fi*OIxYK<l7fL?-kW48u&Z4P{c*J3uyZ;Yh_clL3a>$fcEj#RL{5rft z($jfrvi`;`%p<%Lo!N(Jn;$Lkc%QxCK+XG-HwBDb&yq)|Rs6OqA8I#Bc-Ocb9~JIc z$c-^EMG*W4!k4yWCp~rh@S5gZgnanD%T$wbyn`$AaZRji$bb=~jCh^>^QRsn!Ha<3 zvYbZfwD#J&g4sd9{ml7EoTCxTMAiOoQ`n8)u}fIrb|1lC%BY2LE!0$jXXM0dBS<Jb zzlJvLVcM+B+Vfj-)ch8~uq*h^sp1N{d-`c|1CJ?jxdD?~KnKTknR`&?L!TP8?c(B$ z*dQqs=<upVwOLowm@ul$eUjXzy!N2~uY3dmK=~<xe}pijBYHvoe^cfDU&h@3KBFaQ ziyPuhK8k@I_-hkmC$&m0((`oqnv+)L-x1xMx>P-Dj#1xm3TylPLGVvx7sAtKIyJwE zBq%q3@~Cm2*12p-#FyYf-Dhr=`Ujx(-wqumj$dX3QYCd=+q)U-Yj!|ge;n^rP1`N7 zjSJg;)$}O@anKuxBe2PqK|ZuQ_OgD@BRP+lTZb}@CwH3t@d}Gss~fls*1GI2aIa~q z0VGpcT5T_w;8e{gcqXG*0L01e&KK`~oYiLs?=+qGyN42BB2h3B8UQPiQW~Hqiw3`~ z(MQh%XVcq!L8pXf6b3B$;Y0u4iJcg;$BY(Lz2tx^60xr;!vNZX+w=pW->JL!P%Jm0 z&2LB(0<hf;8I-jx6%iWX;itJ$;<=jwG607y%f{?K#XsgCZWiGM{aal&>t6~43~TBa z-FFN##zKOfe8ws)%P7d0qD52Yd~T?mjjD~d&AqKm_X<lwShT!Cs$GSKY?1Cy6b1_% zzKU=_JbrrxUHdcV7nQheq-9hQ#)UZM_E8i6@t&U{+9JFam21B2c}0sK570b#8VBh7 zJQU~(Kf56Q3^wW0c7^tDx4&!HP$WX_OcQ{lf2N9ANK6fAN&WTzM1-R@UoeWw`VMSD z#L<epcPs!W!cXVEaSAs+$G7BQg%`h*Bou5W{9(;G6*~n7vP4o~SMBZHb7?(Z_V>-N zJ*MLH<4B1-(;Im*GPrx-3;PFPyCm%>Q*o!dM6IwzmO1{J8wm6)!{(|oZB2X6p*|Sh zOq<j;3m7v<HRpb;W5@B0pL_TGaXU`1cL56rXV1$k|Gp8YvUpOK@otrKX`av950dsI z5q89Luf-DIJLTijh<B*KSbm6;A<Rnrsd>^--(EX^UsCHh|2D4``G$$>Bfh!Pu3GZ( z_(^+PZXO(aa-F>JE8WJFOwGk;3F15;51WRcHSH;}G{sH*3ES(e_%7~_eZ(0tY@0@Z zES034$u7i{4mU{G=;bR$H`KHzuOI*QnEbIR@8lY~V1+{JfkF}vo?JF8Oc{Uj&C7Sx z4CiBb6id|6FHHaYdekdN*PIq-DJoNCer!H3c;#|=OZuLPY~Py`5-M1A!-i+wM1@IC z`iy_{XOFQ7PLHy5br&3;FKD=#nJc`s@9Jx<Gv1KxS=a$v7o1(?w>p`OkNIJ*kY^VK zR3WMjb!{1E??h@PKG@?TZ9Y{d4m)FW*I(R~79K=$P;Z!g3#!;!)RA``U&x_^@p&~i z))7R@x{#u(0J;rOf%ITP$)6K#f%j_E1Kh0dpFJc0`YOsJYVpTgz`{P$BS;(uRYSO~ zfPM)0mP?VN1CP5w8sp$fF>F8aJf1XBuEd?!Yk}R?{=+7BKXyf#b>?+HeeradhjZ_g zBTi2Tv)F!12;YP2k9OW#i(lBc4`Q&|SK**Xe+wx0V6RKfI7#2%Q80(lh4aPi8**h1 z%|b$I$rQ?m12(%?6sOv(ORpHmI?YQ{n}fI-+N{^h=6nQ~ur4z5ul6CPC$tmn4nkr_ zYr|4PPvp^V^!)tHxwzCG<&bX{*Jlm@?+a`cucQKC@wpTI4^(G)O$}$}m}zKt=xh zW%#wvW`;pccdm&#gQ;wXdB?06zNjxC7vF5!o`JwKJ<@(px1|F84`jDYW-WN9pxHL{ z8N(|Gh=Ef`^Fyk>Gsybtwk5K>7-nB_vN(<Wz7q^lm<gY_$Br1pCaw4-9P|x~c98Hr zpnnwD0tEt<kdwoLgL_CmKd@7=4dr7ABiqCtP4-iPVxFPe0}<Dj=$CJ$g?Fy@ZbZ`d z{HmI<SGP!ACZi@qQ%c0UkXEs;C22_Vbto$*$)=l92)n$JWuh%B95j0sZV}oiXzuL- zM^$Vm6i13?cqB;GJX-!1E&rldn~wNnIv8szyU#!B;L?zeEV+Uo^Nlbh`9L%oU(AvK zN!hE$uW#RY(KNgy^(XQWt<&VP`;z(>5gH`Cv(JGgAL5?of9?1x<^uraT*?sJ`^No0 zNKtZgfTXC?PE|9`dN_cb0RVWaWRn^;B}DX~$kYBU1Ls}+*uT1D&+9*1IKjhr+(Gp7 zy{181oArtJ9h^QIzaR<zILJ#9y0-kq`29c^`{)uCpw{&Db1c%9VZga1wOgydyM^}o zi<D}1qI$9iUfsEL{2d4)$di4yseyw<2SRz!duiu$0%{kC%XpR+^In~jKBUt8yis{q z)?j$)jt1u$3G)$5#wi#GCIrZExhIu4M6eJh{P%4OYtAy$yYZZ8fB;|XLu8mqieJ?p z)@$#Xe!341q*$v(CcWd^9&OA$U+?F%xRH)(N7@%eBCP4c1VR)K|I-#)B)G&h8;}`y znf6X6zv)5e)o_>}DBZaIEo~sx+@Y>Xi^wlu;H&&tBj=}~G|gwzh`iQ=%~cn*Xjb33 z31dcYsIZcD{nN!P3~+z$7F8+W>H|~i()tx8SSf*(2ay9ECrxAo1(vjf15%9c8Yj_@ z0RR+~=@)<2-X!orUuD0E+l7G7ZnG}yHJj7<jZ)o=dH4np!3|i~b~xDD(1wh+_^d~t z_$S~yY58stbus~Du>GBqw731?pR*k@liP8I8l~NzRnh>D-(R(;ljyxjRsI-_J}PI` zO4*2U%|;sSAzc!U@_119(BM3HSaP$nP?%JJN#Ad|VY&H)y>mm6e*pD-V?IY?#J#Av zpP~@4{<$Psj<TWm-`Jq29cm~aT6de4Wt}7kVv5!|s6~43dW8h{pndoaqqx5pNOIw| zw**;70=KIAS8Xnre}I2~cpj&W7-H%~okxn^9^QSI5;@<5U>4Gf=ptESTq)00^YkfF zxqxU1`R~`)={Bx=C8`=v)^PxTN@TPIqiRjJP8woj@b4z}qhq+PoeaqB60(Y=jsx8a zcpq-i-Y+XiTl?few)Wt-TDRzPZn+kj&<NOi#k8Rh9=Wzr1J%wO@G6m553K{^+k)8g z$3u*!m1c#$G)E1ZGx%ZJ$E937OlEZ78Lkrw7sM#a@2jCvdHkv6lpsmE0@JNocY+!c zw9w0skia>}Z(o@D5%iA%-!nyW!sd*|H(oQ+^r_gqCN;s>))@b_u=lWun0<5OZO~@+ zMwC_>XA|pGTh6Qx;%vjkluEZ`ofBJo-3&yw=x$C}-MvIBcnM64%yEkHc9<--+A@8j zTUE#)ae)7V2a|u(654ZIokUFgum26%5GP`2_)!w(vgO|5o{@>~KAP^nc6G4)BP6)? zRM6#TSMVB;BAMH)K!9wgcK>LiL6d{FCucQJ>znzk-t1JOu2H>Z22vNXgWW&%`aof$ zPOIzef-%Sy!dTN`U66BOu>tO@=S9#<E3EF}`=~(JWd?`@QU6Kmbu`(qHsg?Yi{N_a zu-!YX@mGgHW;XckV%~pjwH<HLEiJcxzKMg}azYZU`ERXb8^*_X3CS0E#(*AEw%90U zLD`cLM4+Z>lVs(GgCCmm^RT#fs+*J$>lL3&^P|NtrC^ZJw}ttRvWn48P{txJWP69z z)?vNd;|rR}_T6{lmA5jcEEcKx_Hl`Flicevs{F^T?Xp^K`s-;0s>7Ko)4iVWNhv3p zYwwlm=1Jbya-Z!znpIUhNOvK0#tD0G6~tHreB7fFeT6b<QnmfIFEUMg`S$ZAnANI& zws2UcR=*_4&1JmGt>x@kce6rajG$cp2CnizgyU>5bh9i}FLmT(*vf^`xz0vcVj-nu zIHP6Zx=j*o0PhQ@F}u|3XpTC|U0GO>X;9(ReGcUKMH1c5^_7)qwag}NXW02#fJL2d z8R*0Xl&s2L3_g<)d34_RZO~*rDkpya0<o}<MXQ{6FZ;*2wuTe*=+8a3&srvm>YBcF z*!l;cTqVY;&9FA%g1-mC8#UhETM;AeTXNR#v)$r9TQ{6V_{t8H%h#pD9neFCXEK9h zg`Z#o3Zc2BY44_6c+ckLcfw$|WxFQvg<FuVH(!<#h#vud0*DY1MNA&bD9MYu@lr_H zexDj-*01J<DzPPR4x5(a@9uZd;;@Fm(@1v&$tbZ*U@(#s&vYy%b`$9|VWJe(MIwN- zBm-8_!Dxs|7i+lkY8-u_@z6H-=A8$W4&n95GwkfF4wSiAcx4?EP?5I!&1MbTRYE4{ zPCwaN`J=&dduyv%nLI@AFxe>Hh~QF>*T`^OPh?sD0$p|FjO?fItXtYs>^=J2i0@@h zs9e;Am;M8MJf|Q0mD?1Az!j+Bff-#U4Gn08SN09YZ{B}1$Bp;WNs`k0%*WCYpFoq8 z)ZU0Ms?n@VK7gqz*AE2;)<dUVu&^uEd;B>u3R`_yWyK(U<meRWplV9-AHcZb@I3h; ztWqlG4Z8FTJ$%nKn~(lDq{+sUL;ZOIOVeATMdSv%Lt>e3_PIxV8Vls-k8!^-;XuJ~ zly}Gj@3<U~guO#8t7DMkba#v7n)@YadH*xq8smKKjdiQ_jLeg=>`Lo+MVq;wK$JHJ zQCD;!Pqp!^68EzF<3EL;+HrAm2tTeiYaMTROqpZMLFQv%i8v?=zw|D>{Jgvv6HEB^ zcFr~G+(kbhr3l=o&3HZ2^DP>8Z=C|1^hf%wcPcjax7~y-znE#|%?#(kfq&4gc3IX) zM9&5-GFV4TVkO7F7EI`aKHl}*fl7Zmod;@+pSHN9FGLL2cK;Hf7h)E$eaOo$r6K>3 zJvVzazAUovfk>pGfq$yDI~cnKx7DgJ%SM-5RHnLUOFIY+@L&k{?fV|AVn>Tn@B@eF zP_N%}QHc(<BCoOBmRWlJyNiJ}oPHSUkl)`a-!(i>I89qZTR=Ha2|Jy<<&{-8lT(vg zx6$cEa7c4L*9z*PBXBwK{W6KW%}*^fQ)sVI-16r@7)`%%3K>PmgY*Q5tc>xAs8Kn; zcpAuQKq=POA_R8v!Dn(K&DDX&Edy7wdF-$j-i^Aq-7M6gpkJiP)l(4z`eHarSlB#V ziZO^pNUA|i_F?`aPeS3|(h|<X)Cjwv99<BOQ|9;K2M-8YT`Zm{RorAL2?(WzmTYI7 zFL>58Hso*Wq+ob*Rrp)@m8QCCRqB}rUCVyTZcg;Kl|J^`(9elCOw7^J@o|OTQeHc% z6v~#3@XeOpo6D=(Z`htZI94`jeR$OJ>ZVYMb8F$z^zP{aS&ygJ?v{T*3eW<C^XMt< z@Z@{ND8mkUbx^-AB*YyqB=I2Sre-+2-ZRZ<+DC-oWZ6u^+0erT;I5BN$K1oph`T0+ zJS4$)O<IeXO6Z%k3vhY$)7tn`HJ(0gWn#SGQ9?fJVN#P*usemvg7Y8jw%_y<%zx(j zI%B=|`ffI&d_wxe@$5{}d=;Zk>zB-`{ALP9q7S>W2}ozo;&JDxwyBoC3fWcCY|-Tk zzI=vh&bJ!|@$nwDCUp?!#fs`JBzcJYvilQ@S?xQoDTJB5HJ&lq2Ydm~5_5k2p3W6B zzxGulSBX2y&6vr$R%;KY6m(l=#X)86eT*1Fhh`KAb8NTVsJupwKdfx{I^_0@e{8TC zKa~8<wkjxS^Vh26?zM$yB1C_>2CXODebkm{tQ?4NaCm<m_z$3gFC^fwR$Y0P5eYm~ zAq=+8$NaX&bqUb^w_PkX#b$S(Bu0L&j$Lwl8)hm7)83(^soXo#c5HGVBis)Kf;o0Q ze9Csq=Wo&=ZWqVXV7X8%^K_)L6O5{dx^imD<CT7q`SN2S<JnIN|COy#i1kIYFIABa zj&x~1`a2O>nZ2RYkdX~-ON5T4rPlAKHXwbkLXw77*EdpKe_j&Ul4|X@)5)f28{dXl z8X_MwucNJKuF^X0qrvyP{BxU1qqbUNM$WI?v`qZQfc2ruLNW2t8ym1u81KLVR()#{ zMrj}%Pq5!AJ;`z9oZrco%K6zT#P-UeIbKw4Ov1ZWlU+4Vh5fipXK{PYGFPN3s4>Bc zFxr@UUZ7MRS;7l;9kIh#%F%xi5;LfC($&@tepRI7;<ED(Kp8B0Q+Ue}5Yt(`)nKsz zD^qzC-0x=F3ZYBdxk!HaJKc{3n>C>|{x}B#^h_-l{|{8wUon{=&ktEFYVmK!#I84L z`GWEp(>AJd+j5OhF;mvQb*FzePZ#5r#3#QKPTjV>NNn@2$kWE8eVvyFX@g$GV2%NK z`HVFU75Y&%O$v%uUGBO-XA`KznP*xF=U(l4djk&JRP1Qugv!t59nWdYb?TAyb*O0A zS+gP#tQ`;TUp}6%gu8Jfn(NXtWbC5NHta{uDqJ@d4hvsU64~Qk-mx{E(K;FP3zEN> zu4y~?>mv8~XPVPBYU30vmp`;jb;%b)*q7Z4aJzk|He?Qpuy@I<9=jbs=^f(keH?3R zHc6A_F7{$k#Bt?AinV40fvx^HvT4g0suV|qZf^nCwFLzg$R{r+ycetEVXWKgX*VDA zWlT`sn<+iO?l<9#kHl9t3XkAMN5%xB5~+pbl|w?Sx^E>4%EZS$0p}2Up2&mw2e3EG zHtRlNk1BPkZ7NN5B;E989$Dovge36x7USkq4Yalg2kJ`*e+s?uyXk#IjC?Cx=HoFy z&0vV%l*NK+JJ!9bEXV40n6Vvh&stUvUa*|Q_PP=JP4dmNIaMhaKKO07YuTmzA+g+- zWq>Q~sY>Kv_JnuB3DcRfScu=6$;mCUYBLWTB6OI3lT=h@X<><r6Z+v^_sLe68YrO2 z;r2UDr%7<|6j$Rt`N}iF5E3puexvI&nYK{Qd#W9ZzY0$Y{vD+DaVh+%)3uuoqV7-S zQfqUa{$pN<q?r17mRQJuWpauhZ==lqi6H}{w;_Q;%>Y()Jh*ZDkZVusKja&XK&!g% z6kbq8w2N3=4)ujGG@`j&u9+M_Ss~DpujcnD|EfIf<0^h5^1^^@r&r!%HV1A&T_C^F zZ0a)acS6WzlIEB`BpunEvs=q?lbRw7fNxyWkEHbpoi)`*Zf8}(U4Iv-K55^mojc*j zFUB+MB3hKjU%o56aJwf4J&6XQlXEL3O#NL<7U${-QaH`C2Q;=?qU#AyyT*@OGHzYZ z=BxUWw=rCc-A(X1!8;oPJ|J@jA>qm|Df^GvNxl|wFTG%2Z$I&46IKw9QLsqdhp{N^ zot*Bw$o(m;4?b=G2Pl}!9KI$$55MGECIp^7+0Z-`Fn{f<daY^yLA;-8nE4l*=(A(C zZC0uW%hG(B$eN6UqP81}8%oA{tWJ-)G;C4Z=e9lcHu6X<@jUeLRqp~1-8e>@?%YF3 zg$W=PL4)s6e_5c?6XaDA&<Ii^eBe$wO1C+(X}<{`tlW!o^}|<%*dOY;Qfamy!6Suu z(1hL6WGPZph*c3vGkcO`7IjBzPOgYfrR6)E&%kQdFqCuhhV>snac?`AmS58#(G{1* z80R`)9~>muzPgr-kzd(^C*fU5KjEKw3l%QuQ7))Zeen%eg~+pb8^w9B4vvf^7?@+3 z1t7V79=i#j=|@aUcG2tpHSHPUlLRaB;kPKcl!Q#6pXmZtk%0GKCedGcJ)Jrnui04h zX`kL!C!Qju?|LFh@~*MW!{Z;Ry|Qq|;-(1%`j+@_P(X!fo}Oc7clur_l+eAf6hvFr zGtaiXmtW*xuBkYcSH|0jsEzT?Y59eH7D-8Dc)~#Twt^=2bb!>Zau_Vh1O&RTR}}<Q z<K2#|O1xRyZn7Ai*lZxLYhuaLA1~9!)m8Z6;>aifm>$26b^CI?#i?zJuFCLBZePCA zyn-3)AX7BFEbC^a(v3mWiug_-OY#)bNtsUIB)`?R3<(1W0wj|rdC>m=6Ur8V_4=Ih z$2{Z%A3mN?&uo&C653seUa(1DBHuJ?7Tc%)5&7_w<n)$nUC%4%<RePb!*se<U7(;F zzgSu@eTvFgFg$v^s23e@0B_h+zd5-BAkQtg&WcqoSaMO9sB=HW4+q){eyAsqe4hst zoPYk~v$OT#K=_ALYD16LeiU={1An4kJVDViE67aA-hd^P==uB3E5fI+@WzpyfcCb> zr#tnhO5n?^qdkc|C7ZH^9#40UApvr6qP1bBFq;(4-wPECUkh>$?#}51(hrZ*td3~u z8q9X;HQXSkUF&c^d-wRjT!#$^kgvr8)>rAvO?J3b3ro0moIG|-9YViGt<8JWWv4En z?nzY3{a^4ed{hT_n*ybS9<`d78()c&s?+;6U%ZC@rC^0CbZhbgaf&jyL?3C5>O6Om zck11VAiC>+=YhlJOHL6^K+~o>txWS!3brZ}oDZG0M)uDVULL-TT-p!eJH)}OLJZ62 zsn4aKkheHxUN}9m*G$aaBg&!)%;}gbBKhP`CI8Ss*J2hZg|N6n3hR9<dw+8fH@9Fy zfSxGBsJxEgeVTP`+$)2ag}|znsFZQ3MYj=p?8d9>&WdLP%A)*Uvh+Mfw26tzUcjtb zc_`Le=~g9iolIAEP`(Y}cYtI2`VYXM#2J9<V+DeRG=&6r$&ud}9gZjX<bNq0P;aJt z4F}5dBxiKLbDqj+UNiOAu4t~E+HoK4`(R5;J^(yEXtCIWm;DXpJ0v!Y?r}94dt=F& zB2a34Pg8~0Ac}yZ@@MHlwp?B_grv(kPZ4T>P1^`nvM}3WXrPfnFz5IQp{-%&imDf4 zy~P++@MU-5zD_L%4QlY{EmU}z2$zClGRo*1HhLr{YRp5aH8$3(cMO(WJe+HOAns-A z1ba+SEa1(XGlX=k693jMH(K!7mv6!=5gdKgIB@GoF`zhPcu~aan}X0iJ?Q72N>v#p z$0nI7yJmUdX?VeEp>FQ?-HW#3y0HUS{Opy(Axb?P#LJydo+UDpe%+lUx3oH!z|1;{ zmWB)Kuw_kZosZA^E2W@!ds-buBWRe92xDQ+e}H7?;VsGk4Qf5h*{8aQA@mcO5aL<? zd*uK7z$``k?4!bFf;T$p<<>;-AL2W_?rFX<EX{}Fqr61jv@#0RFUVd{sZw<4dU&H} zp1gR1Bimm5Mqu*;Vqq_NNRxiAqPJequ6^vISGZWZIR8#*YxpZ$FJBSc(Ywp~a$r|( zb%r8a$9nx2vr=vN&#m*li*FS0@5I}(tht^^f%KIwaw%op5LXv>@gM1OzMPqo^%iYN z_>Kwz!1jgU5Sst_(I%xd)A2#o+~WWa#gk;+)&lF?VHe#J$shv*Q%&d%Y(7)lSE-D@ z>rI({y|EO`ZqK1;{$^1zLGS*hp?*UWcca69U)J1o=R|oNIjU%ulGM~2oIN~$7U^Y; zc-3X($p$S>dw;Oz<kxz0?zJ%w3~o3vwJI-oF>5ybwTnhp=1uEn<G{e?)ii=o?00>e zadxKU=B6;dizTpruhc_JoUZi)hJG={t|b+05?IyXKZ%*;o0<!HlkmpfXSH!$CaJ`3 zR7me_Qno~Mu4;kc2-3!V<*UVXfUAZ5*9b8p9$D7;pLfuAzC&c#ZkqweY;0@T|At22 zq$I4l3V0KiG%P*Je~8r%Znxix93D>#tWXUsxj-H_9q%P4uZ|0EG_-!@)npnXD1A)I z!u0*4_et|bsGOIh<qE`g$NU<q=EKDs+8-1LTH20;TANHF{PxPqRtRrQ6Y1%4OL-Z? z_Q*<=C+f^2VxVqbAk}eNNTahz9{iF6QfMnu&S_^#Cr2Hh^vpWD&XO}d+eIyBd~3EX zB)u|t_HI}Z?V%emhstn=rfM>~t>o_0alsQO{PYx|(fShkL%r;B@b+p->~-|$tG{Jj z`!B^f?hTd;|N3P`00FIkfsdR7F@Gx`1!_uRPu<<y&cZn^bQ!zlvV5tW1TC%do&xLB zTOowSNkt29q?_&AM^QL-fG(VOi)GlMf$A=i#2ah&B5Ha$q`=v|Hl(25&oqO$wkCLJ z+eSXp>*VZoaPq@}oquyy`*^~5P2q9cm!}b7ejxxHFcLf{Yxhjm-sG{DSIcA|Qm<hB zf^h#$OG;W~Sx)dOz?4opLu^Xh`mZHSAnjYVB2jFB-r){rS`s(abu}i(XL)H5neC2w znMLp^4i|cB9bQWY1rAD?xPX*T6h^0)rCL^83TaH%^EZ~ia(WQ0bBkD+JUCKi0=lIR zb2ap8#WE2!d(1d#4T|PqN38cJ{qV!p0j+}cO_SMSdn>6^+XpCw_Dx^o7F+dRTn}qm z<(y_1t%>-DXJiyz42fn978)t>v=1J$_dkeK<Fmqx(55}9o!0g_ZeAetxUX+-8kORl z2s?DTV?FJKb8Q`E))HYR{F7?*?%l@PSoTC)&B!oI?uA)SYE6MRP@I@J4}{{ssN%P~ z<d2?H%?zeqv<bQv5PlQurV@eIKxkdjI_z}I-oN%_HzXb&0<8O$HMORZ5?aos@kqdP zuKi#^D@HbJO7j73(3m6(oIvw=#L7b6-6hOzp0b%n5-Hf+27_mwm4Alfm1;hbNFBb` zFwHU@eas&CMc!D7)GRV(HQ<$bgm>Eu^7V<-_$|NrE9|~QIir@o?zCp0(*+zD4pB%p zKP;XKGiX%LeY*Y#P_=#CJ6`4~VCwR@HDreA8*h~US&)0lLD_Jp&tu)e?HgBjMJ4t0 zo%4<R7q21)NH(NT?(M+_*LDM@J%AY$WE92x6-$(jnssLl7{LPgX%gd~_4xYz`8*6d zeCJTsoGf7NYi9@TOU!shdT0~H_uZ~1tzW;t^}L97`5|VaUA{Reyb#(7$1!8)aMcB3 z_6`)9)D81UQNqbWvG(L)rN(@#=NP4n1;#zB8E%a}k(sOdA1)5B9%G9u=4Jo;E*WFX z^fyFSWE5m`fe+D6ZzX0r>Vb>CVT9K0XAM2WR-k(i%nGtz@-TTMy!g*;ZIAP-*Uy)W zUr|@L_1s9+j5!HQ2?KUhA|tvk{5MWI8UD5M6C%S{kqW00e|seU4!;#fQ10d`EZQ3@ z_FVog%T|*SeprKZE$X_k1|&1MsdPqzYh!H*w?6z2>&jJ{6J9W9nqfBP|AFF?i^1cE zwCFwqg;dofMUnTDrW&Oa+aJIz?9iWeC{WtPTJMqrmbI2x(p5zFpb3DVc^A)4Op!%i z{h~v_IO(@bA!z>=2^UWv09yO+oNVDPgdX*6ysD!6?-wbNAIs<r?)-Co48HbF5qzH3 zBQDjSFj?|B70p4G73~pfGH=W#s}qL!JFA~jzIc}yAuakQvGEbpU5}iu2wDW|tBaQs z^(O@A)OO$*7h0QO+M7NLyUssbZWE~hbr$zqXkgSC0M#V?Qgk{kZ=!kcO?pFScjD)9 zEn(a#m!_bSE4Due_{UUBzgv%_<J*OuO|EzGJf$y}7pW{Iyll?e!uS^7WU+h#j@TE) ze0urm&UXKd!4suh9hH1&IWHgo8%=3<Kd%i_D<__YX(jQvBi(#P8k&EA1!w2fNdo4T zySTnNm+&<r+M5fIPRXJk-l$UG)`XFP_U3k2faU+vd`(*d-!<fGsBJywv118)ODUtk z>PWnz#}eXjl$2g!{g<x<=buxsTWY$<e8l%b7H8=AAwmoCl>M>i$3Bz#@IZsId$*mb z{-OD?(2%idZ7Q{*Pvr)dHMIr&+8I~a1?Rm$?gGCsuaNgg?uo7H<+MlXDYfJAD`OJT z;-3|4KINq66*-tZOn)=<88XD}g=8VXdg}Q>qMxHU=idF*gv$H_NK1<~6s)0|1`p|Z zRkekxwoM{!QOqiJp_eVQYJ4r`XJ{Q1>mh3j%`IQ_`+A6?AeX*)`}8-KZ7{y}B2<Ie zU*1%}OTn2;;XjA>-%EV`{ibzH3ZgM}!7@F&ha*5OSBpImNWQ9BFazVOj<Gn14iT)p z4B8l;SM_BX$^Cj?Kd%_KDw^gv0}!99No-_YY45G*nEbx7QNpE{&b9RqKne%zC6t_1 z1Z4ZN@S(Me?KTA!C(h8JS-9yV(0OqC*pIgMF^A8)?-^JzqpvBSINNh*tlm-0m+D0) zKoYw1i#B$aW%-)agRMjxhE(CfctUzOS4vSXR#SR}hi<-ZBWP&M>Y||!6=WUl%e34) z$(d}>@Jz^c@Y50{@ft5hfzaGqZh{+AwUvA^dSfTp<;NuU<V10k%Y{$1iolv{I9m)w zKG{;H2%tL-Ric~sq%8gVGuYhdGt!0cmX7KPTQiP_m}Jd!S}Ss0M+PwhZAR!B6Kpdo zL*2&fm5_B$zm}bnhDo!%Fd{tdG~WN{fsTB)2iR$f4k$Q6DBJKkHh9DFX*Oa8j3P(6 zjh*Cmzk?H}8x4!bQ<)f)_2+JDmLA-nt!Hp<%62gh_SJhQE-;k=iVXNBGm+cYuc{-j z16yeRS$wK{V0$6GG~J<m|B`>wTC2_o@~*~Gn@>#d8NlYh1R~?#qdi34Sjj6oQohb5 z!#sYI%oEKMO{;;~1K92AiKUxM-0)*xyYYnFbjjkt>{`F+0r#0JH(uMQS88$J0rvoZ zTPZyW%QXdmeFE9Oa02_7>|Nw;#=j4CeZCP8Ats<}<azRlbSNJwA|EcSrF)L{EJ#qU zr;2TLT|rVgOG&9s4bqo21r(m-9dL_O-;rhTNRc|dqmjh44zQJhN3K}!QJ6fgiQzOb zFe>lV%hvHpy$lQTMZXTcM^5!B?cgbYsuK?nE0~a3wGQ8chUs3)_qK~2mUSOcpjK2o zZEPrO-OuBb)Kl4V>f|*TUZ{F0bc%`gy)p|^$ygCjV0Bkr!EKEtY7Z=Ii|V*dWP|+) ze)z@mXs;rR2MWjO(*4=jAgI!f0zp^2QaM!b9g%I7F4dHRI?1D4@BDtAPbdAMzr_NO z(D}mjfVP*C_-(G~sTCVjOu1S@kwxyjMwKx`ub%Y=Au@cS#A>F6pL`}~7*p$xk)|u6 zYb9h;>#K|}$Cg-tt85Wxz~CLT=pP@}n#SGfi6l#AlSRIE6$lpJuc`8QQ_Z|7yAfzi zfg+dDeK=LdpcSQRFEcu=b?%;CmzG`+x{&uuKvSpN^6BPcie%Mf;({7S^Ke!<-kkF# zP*Y`k(0}!RQr{eIeyJQ^w2ofgO?DO48ElRE>Yd8`MTH|d<F#v-hkWwy3Kw$5I^Zj# z?Y@8kXjKao>UUhz9<wD0H0o|#alAgY3`~v5UkF8`ecum*pD6&pZ%^$hj?^~~@K;u8 zJ?C?xJT{LY3U=5}K*(IrZI>|mI-N{LzMIFDaJfMDZ+9%4(A`s|lXAXHo;7vgYxoY_ zu;DUi<sabw_ElJ3Nr2V{#;KBi$UoS53>W4dQutIpHR_#iS5hB6IXJ6S{%&l^s|-eu z-13%*>@iJ@9QSw|tVpLUxN1`f6xlPD=d{w4>Z<lA++IEVs_Mepdya4!A#=HEOR5;V zDMm3P*?poF*LI14pOZ7$M0sVl)feE>597+UTwh{@!>({ww`GO#B@h0XCStIJc;f8s zgFcs47Ql{$z{&8IQss8L(dZss?>pLW?7nkv;Jj6ZqvE69vjzz+C&mQN?$iZWv%%Iy z`0ttZLKCwvGpR|5Gkxb{>oT|Vxf7PB9jqKle8R0S;ZN!OP!zyTPQT+)635r%HKz6$ z^E6RTS7uj=z;YW;O0j_K!R_-cpN50*-_z8|g$(MmV}8MPRk(toc0^d^CF8;GcDbg@ zDA+<L7lfwCKl)rEk76r>IwSU2t!Jh<!&gxXp?b(K%~(4rl{4vci@2@w*N+ji9O%Wv zz>DE%_Z<~@8yj_4uMY@nzF+AU6q@P5mF6Zobi9XoMDh01?<F?{BcpVuo(@?p7T0y` z?Y;IGQ%;T}i)$$8Z1D=`-GGrSHaRhOY1SEj=WG9UL5)@`9hg`HxDSk|l37|+Smh!s z&WX-<v1;pr#4m!Bwr;h~@k$OV-!GMy7o#h4Ohr5Fftioeg;P0}382|V5*`LpPs0d} zB~yD!4Jg*6l2AVK!Fz>|#}WOh4P#QXb>myzbcpQA9<3;#K7#@knat6rU{>o#;F)dD zZ}s+QK}Pi)eFB2aIKXOwB*V#Oq1=lo>E$!t&l6p5D^^7=uj;n+p?c(Mv=!H2&cc!R zTT*+WZc_-YK~y+nyD(Kmx6L!~L_)PBnBOu<P%hg-9JHNNUsn^9@8OCU|9P1qe|f;B z*V^*7MCkqU*W*F)Hcrx%PgLLvb&DfNB+q_udEo8SowZ=Ubk+URsbtkEq`cD>d?6IH zEKFl@3DN_BC0|EnfkM1!LQ01p&3NdJK^i+c_yab_i!6+AmMl%i@M*#n?|fzxs-**k zp-qryaJ=a0(`Y5WdFO1)se8|_>VD`yhPL#7=f!@kySszfZeoz3-L|PV=I;#|J=t>E zfx8BU`Bkq^6_;yg^_V+_E}k_M6!vc;A1Vk}IW<RJ#KN9khaP2m`q`(IUk`$hjn>uF z0^M_5-yaShZ+<dxyU0KwaXu$=f1`y=5{xtXYY5;e_s-2t>+Z!UPrTG*l_ZK-TXDi` z4u8eZ0cILTe5>xwSQ<Xge;p8e>qX;*%~Y<~PO}Zh3;-Lhz2IA?6I)lSMvKaV5dXiB zee7&d{oE<)GvOTC%Ct&|0$N~K?xh4T&(yhmfx%NvA=*!CGuJgKjubrmqwD~UkU5Xy zQwF6B)&`bQ2~W{9C-k_k)_8n;?HF_s^tTlSWO&tF$oJ=>Ok%Hp0v;O1iNP(Zmu}7@ z8{WeXNw%!+g~v!UIwaxkT5KjA4!eiK?QILw9@9+t^7{YgOfvgwfhB9bIo4RFHmW|o zjDM20%DdbSl{S2$JC;`7JAo4@av+Em60o7rGlaEp%&)+n2a}s|TG1@m6O)?4j_bjQ z0XmF{Yw#5I0Dp2M+yiuV0FAdwFKY-3@SyL@b<>p#Up4f{+CzAYaWCgQ`nK<b_l}Ki zcze9O%Q@?`b_lh&M_90gQvU5l8yB#?YHk{>6Ao)loHsQ)(kY3X3$WPYLQ)q<%&8$B z151tnR87cp{w5`X^yDbK^+0#8Jd@_)#^_4<H6RZM`}Asl6prk!oP&UY$h-s=<rR~d zDgil%WIQ!(cf&Z&d!ZRnE6u-P@o=PC_d#l|F!+1+{_RAGOmD{X7==`1ou0|Gufrwg z_QSe)sN)KkHC1dKXXgF}e5ih}zUs=^_%df1b>C`>8nvYF@D@>Gvfa7-I!6X@rsU&D zjBkofJ0v2ZNP_YB-z#DnZ--8!!g`TyW!x1#Ba6O2aA!dTrd3Q=cGN;nsUzlLQqIG= zH@z9-L(E*P8-^!jNz3(S$l;<~3V^!BYPo^IrK`VPW$QnHA>RVEFKcY@$Y}#%^N%N< zZ+|+2x0q}V<%z_LL-Y6!1labZ{Z`aW5D?Ltsdd-$Sp78&gf}E)c-c;-s<NR}bc4Ff zW-hdN<;UDo8STiAv=wv>c+Y?Cu(~Ol&I9tZLYisB3qg*xj@trlq%LeZhaisr0bU>R zbZ#lwFJ13F=UCa3I@XiYem>&vc~ftfIfaP~3*nP6nSP{IcJa07rigdO1KfPVNS{C_ zWcI=6T?L=&gwI)G8Ld3jG1Wj%r$MUg-PX!s-Olp<s*J@0i<X{7bIeXai_2vJV}ST_ zOtONhO~nrSAK-)L-EnP_R9O5l!we_44DSB2uD+EdNAAH|T&%(OA2)xc$Ip?jRZ)!e zThQwfd3cPfFYH#YX^Rbz3c3UbuRifX4+#~Jtnl(A7N#((JWHmI7N(QIeWMe|`N|HM zqM37=B+S?K^sJ>XcW^ATVT?w$2I39yEHHrt06LMirU-!cF&0ECSWI2if~+s&O(B7s zxX*$2)Qw}U4=N&x@7a9PnDHWJDI;h&`hMO?N!akr6>r1{UwiK8)NXPufxIgEv&*&2 z(XU4H;hJVnw5h;&)7`c768?ln6R%<1Gm!^JsP|^`K`_VN{nQ%pS<BW%VD9Bl8AC!I z7hQtS$Oz9ks6MSk()plB0=_$mSYh4;UxPqxDkv4_={qvE%~=Yy&-)+t<uq$_JP~ms zW15(LSFTGt5%}XrUM}IME=e`jvDO*LWhxZ1Ta{*-{X6a-gooXTkKZbWXtPos`XyJO zDjbi)U1#Uo(qWP3#|t&;lqMUXfPBqD#Jez1e0`$Xuj33g5|f!>F#m(>^E3y!3SEiv zQ6ZNM%pf1)uKzh~(of-o9MlS49mRLt<E>R($VEPH&L{bPx20_wbwahQo47*7e0g?u zJtDV#@jH7I#)6D<%h&)>2NTcV$Bd7ftx<7P^b2i(m!IM6?^k+eJcz6oPt^K)gT35q z)(bm#2O|x!eeb5I$anu5#dY&Lz0_5}dO;VkC4SA8HySsk$oI&oFq%tFLbu{#=Xn^@ z<cCU$t+E2W2du$j=L4QL<yiikxOEF)ffz9I6W@Q;>7kt}wTmNO36yMtQ0s?e{J%<J zfe6$H@4TX9{SDS)KDa<IeIsBytK@+pbnlr-ah`4feEzs+hm^^ybk7I-AAUKS<<&vg z6kWOa>u0&W762$u#(C9P(W|JWp082<R3|pMRflv)Ip^*9a3~%%vCPB!N~d(KSz<iA zplmyE`b!w?cDuwiYrI{@{yxtlXZ1S1#pms~{670VVn6Li-<w#N?iJqK%?@(9u|^H) zrHDiH-Q5bN^-dHIZXex9ce1jC%2YSEYS>f<m&@L<<}C*@evVAFMev)g*(GNx@;?lQ zBJj#7Lw@Oq%mR00NlU?eSg^n3HN)jELiB=qm@M%K;)#XpzhKTUbF(9X%m9|&o^|xI zUMl7NBp$9ulJ|vF-lqrH`csGnGW6c(m?kAHv9uq|&&16P8eRCeUxBXh$pqi{VZ6?y zZDWE314V9a^jmD3Y3V}oW3k4)j=~bbKnPN2kzk)!{NhwnfgbO_tX<*RbuZmHoUaol z=gAQB9}piF0|4mrw5}8Gb}-O0pt7um5;X=?HMO*`15Rx@Xa4}t1)0jG8wv;@Xtr!? zrf@rgU>l$`^&ZihV-Q7q!dTa6Ho?r@nWHVF%K$d_0t_aOoCM4jQS0V-rlx|Q8X<xZ z2t1wf<g_F#jNk{rPxW=)vK_g{h0(Y~%*FrQr8B4g_7vl~@M@3z89Om^mgBqz{oVWg zFW{8)ahHsVs5~{{g|Xw%9c_5Wg>({Y6hWGAbC1=!g6my|>cQ)%l2R`RH??X(^=%*Z z!$za^IXC=|i;{RK)Q8#*japWTNhpDHT^o9|GAem8+QwBCrg&s&0@r7w%vOw(MBYLJ z4yIRI`N8K>pl*kkUHWPBNSgkLU=xwa)?gNcMlaj2K_Acho5tTHrekuRahlF+Rh3on zjWa~)=7W&YeUpX)U>jXo$!yq&H0CT1ZMpcRC<9Qr<GzumPV5Y<_DhM&cpSE6)Z(%0 zX>h!qZtFJ@wCEq6S%7~60uvyQ+tcc{YXx7}s*{>rp^Bpk2*%HM){U1RwPtbJ+u=TK z5)-?7r+#c`9oE%1$;Bq5tJ>YnTsa|kj@4h=qsU&GOJ!S*j%iJ`5d=0=7ixBMh4d5r z?Ib)z(UVz*T)r}1XoBPJr(Dqolxnv99sGJ0X!2KeoN%ol`Ugy<H@>yg)hPbQ`Upi? zmvg36EC|XoeV};JYfZJ!gWk>B!wzQCV|4y12d6ExyfjQ|@yoT#&GkF2PD_naI<7x$ zhlPXg67Zloy4wC>)+lhCb!|apJ<TP|$*o+1@q@me*U`rsp5vsMkl(K&jAtNZ1HAW? zK1_4pODkVlzCZtRQ0KVx2SjJbRbU}wwzgeYX`qEqJDvN~wZ-B9g#up{w6>Fck`dVJ zqc^*!*(cyfboIUshkre;wa6J%F~abG*pK)Zi&Fi);#m|&%8N%sa@}NZGY210O)C+6 z;ZCo`2O;<ONm=@)=R9OqA_QJ~)p~Z2mZ{(fll;yI0UAq>3aY9<j(50~0|J$b{FILl zS}xD<j(6Gs|DP<>UBbcdPyRePW%z#gKB1@ndhHL%3iBg>ANJEz!hF~?-kWYdVKu?w zJMmNmNhIIEv&P;Bw{1EAEn4+wFO<F$y&!)<cncyXwS;0<))@fvjU#dN5o-a(Q3^XT zX|Ain+Q}tAR(2&-6DoqW?XFK0)`pyFvcIzF?8|-oRhNvlO)h(*Jf;+rT0a$QE~qGl zr<_v^s@4^CwN{%%Bl21(YxCzuegy^tI3P$qfbC~=DJjf$=qb;SWS3hDEPiCJxadF+ zwBzq^*|PU%3npY^Y{+moMu9o0X|LcVetVfEFmJL7MnD*!VGS812hUp0^eU#Wu9GT; z^y3~e%m?L1sq>H~50w?3(Kcriy0=l)BfI~HtMmS6^ZnnxR$DD<mD;2BR%*{KyY?0_ zimE*$wpNSQ-fE^s#0o`72|?{$f>i81WAF9;=5zme{{zV*=XK>gALr{hj_0vE-3s)Z zKHx?j(7r2v#AW4FwsmJ4dmRoHFwxU4J#zsBZAhsZ)|!Da8nt;PrI{}h1y$`E!)&Km zmXEH_H#c=mWBud*x4%S>mo2VR#%xcDgu#k8F?XnhXQQzy5LT5Dx|%Ph?)1FPh7Xy& ze3bVueK!J^FARPqDjZ03d6R$sc3}`Tli;JFvi`+Frwhi)x-@Y`uTw8uAIcPteRI^Y zG#Txmd8m{XK!{@tm>7}RYBGCw2j~>}QYX9`85j!jcVc&v<tKQ@>q5nX(b%z_%WGDs zv)<gzfMrDm$_;gVt>>{n5?y)iyMKDtVRpnWaXDm27DZHFRrH|G&Eqd|?kf<Bp~PM2 z5+yZ<vg=HwRLmbC$@LwGSePT*$4jBj&8>j(iV@-;f(JT2<0u_TsIF$W_K@s6x`DtW zB=kBdvyWHVqrMn4Xp5LmIANqJ9B~c}<9<VG|1_BzzlqoX)~}r&1YQrkau*bjv4Z_s z3$W;yIE~GybStSwR8=)O!<Ow&t=W1oFb1D-k2IVg;M~}uF~@SsVq*-aK5Qnh@(+|z ztNek>G0>jz2Ajp6^F3z4$%AD7(?YJ-ql=)VborEoicED+1*OX%_7c18t02LmI$aSp zAopa#TpS*LoD3r7=FWZlEiOKZyPLGxDKLb^VS&GWU?E*$3_6@w3|Vg4t{x~z+bR!g zs2)X3`{S{Cn{k-ir_c*M>4z2rvWDa<du|aj+|wHIGLPphqsSt6g$na+NaNMqD|WC1 zyDPSA03c~xG`J2kp3B@MT>J;m<{yMej~#3Lv?GE1qVry<x^|-A^fx<PVwdR$D}>^g zx!H@_R*yGcvu$Uh)(7{>Cvg>9$I36HhPTap4RQ^w`une@rZzvIj}tH!2#oOU2sN7q zc#77Y6ZPA(S?fv0KV9>mUa}Ve2DaQHh6<5v+$JGBHDc7=G1;l<D<Ee%Gt(l5Zo+L} z?j4>b-bZv8M~QJLHP;NWjNa*u;7(o@Uwy6a@u1J)Xr44Si}r)8qOeuy=Cm<9Y`|k0 zu)mX7Kd>xA>VwkN!h?YX5zlCul5w-|Nk^chHZzBjCygGP1owR|it_JuYs&9Gjh2i1 z+YXB_n)t_}^s1@>frQf<uE1^<;o_;Opei)46DoESv=Pu<gwW(uHQb4%`Q;G#e5atz zu$Z3%tyN~rP)<FPCpAQv(cRwY0gNjVmfQ0K+V0hJUh>0VPB);*Rhh2cK#OdtB-!bj zK+<V_Dp_JL4zHKp(*B184gtx^hm}mHl@Yq}5HWHZ+IaFEM+q(S2r4hlZgGwQ2emKG zUgz92>aR1hRT}f%HI5n;&T3r<!Po6WMPz4CkYeJhWGqASr#B3V{_US&UW{%Y&wdb} zr4f-eZWhnQR{&apGFQhtfxjdB9!cUug`32-$7U%7#@)Lr_-Ar3zWpeqEH|M^Lx6V` z*T$8*;BTuJ0;-#^u$<l@jD!MfT_$}DrU+59aJZIuU2o(>8l?<3)qvoyJ}a6&l$@YH ziyRk+0B6;_Oif%dV#;DK^!g@@fJ^kr_cKg;^Q3zC5&!BhfPz6F`Hs4ThhWcY$MY&P zhZFZ*cui`VlPjO63grEx-FE}4rCwiXIE?akm_M@oBq6Hdwx#k?TOgWzj?6ip01%cb z>bdXecDN7$TAXYd=s+#HW@tYXKtuDIhQZM|zAb&>`7mjmuUYTjetqa{D{I`kfrSG6 ziGOS6$&Ey^e`ws`#tL^1SNG7Tq~gVnOb1+-+E|XZS6I*nOiw%LYVv}hAMNXsrkhFa zv;<~A6jZj?Tmij>oC|K;Npzo`Z2L_#9yjkC?#s2We><d@D>bZj-@4>uwSk?K4awI4 zP{@YX$V+-W?MyGVNuHUrUE}~4VN$o6%168^IJj|VMZ}d!Pc7B#b`KIt?qtnujXMs{ zpS;#n|LfO@)RS;fc14Be(^NVrg9p~=1dD9H+0uarb`6r^9#0@l3ipEDTi0*69*R2K zfC%_!m2>-<Yj&8@P^Tfc{a{MKmtV|vEuUsAYKy}A%hLN-)s}pXG=bZ*E|=Dq^GDe6 z$)Xj5IvsQlV8Z6QemC49{1@a;*SXP^#5u9v?*{Eq`!4Cj04#u0j92~l!GkHpahAp$ zH*%B<!{PVdUnAu{>2HHm3&)2B9cl*dP4Mwl@LB5EV?Jb4>IHgzWkxk7gX;zS{=m-u zXabvbov!g7o*O<fo|YOkt0okx_lxUl`=t8q{s4kV|2_cKD{S||O7<;VG3EM8mUIFm z*zez>x7)V3pxK#6)s);8RR%FK9LnU08L&b9u3oFh?e=uDKdD!Gzh@GwUr*?<MZX)X zu-2rQNWeMXY{sE}X8z<LkF?d3ZC`<#`mN<Ld03VCYC;*H;QHM?j|_}&9i`S2or&s) z3OHI!b6(|MQ~jk9LRo}BUCxsT*87Dk&EAmL0X;XFX8!3pYfIcaclED^_&(9X`pS!$ z?mVrqezv1n4__T?g{~5KC|g5I6@2sbS|-y3W(ZoDuS+rb3aXnt3)(Eihk}*$N3Y$Q zbPG7UtFGolVjeNbwXu{k{~~cqAdxy4?Jm{r)0_sNZvG>}94YrVkkUDK<4cbB+;7Cz z8=?z0AuLR+x?~oE$=zVl(IfstLM<$hF$;(bCd*X~5+3a?1~$4^Wrl|yhdFO=_>A{$ z4(B#H(J26hc&kvTliLP)cIuGVzYd<qYMVw(9y%{2Jn|s@<?|mA|KaV1qx*8eN_p-l z37Md99PRdDmnI)?(aN3!0ti`N_Z_$$fUD{T1()?tHsGdgDu7`}&~xYg@V9m2)rv2r zgdS@hw_!vxMSev+P0qc0Ae*7zZt<^hFb^=uOy@PXOUdK>2UVd*{diT^7<Z2H-Pmc) z>|<Ao8@BxVYi=0IC?GX50&fDOhvP?9F=KqK`!l!C_SaH=;Q-cKGW1W8&kMV2dssYg z>-zL5$sKgsh`KZwJDjX^goTC1igb+PN><8WQ^-V~XihJ><3Se;i|aO9_1nWHJPiE5 z`-{?{Ed>0F$i(gPF?$<?!p(0;RAzLCtNv4UmQv@h$i`-$g61h3M&hOt|DT>=VP76a zc8taaauo5yf)ZxN(A8!YmW15gMaT!v5(%B*a8&$-9rNKP6xWgq@vmx-7F8B@&L^F) z$AE%M-3op$F;=nneP1(+p^qK%;xYtA{N&zM0n5>$Ih*;5w+QKv+0?W&PCV|?lQ5F{ z97zfiyh4=qy8{m~amACFL8?kAo})GecuS{5gwE?ZIm6xAv+~;7L6j9WBrU!@K~6!F zFg-M?U@GgUkN__8aNjOL8N2HFH6^S2F?t6CJ(fM->K!3Ql%$|&aCex?EIr|YhJK8; zv^PR9_Y5YV{MD-X)C_61dc#TUWR~$<M@ttA*7Tb=o?oxI&|Id(?@`TeUAFBvl;e1I z%L2V=@y<eTlQqSY9R-k)Lbr8-)V_Va4CmKxw@pAQU<1{D-RoKx0rcs$A26tHdw;yt zXyprBXXv%S)d4ES5(OkUucKhY`3mRG&K1tJ*1UO7@aq2RYMRU+g?GM|$lM3cAYUcD z7z$u$rWG2?j<a36#R{U#Hcrs3u}4ZxbOlT?5@54g1$fi3b>%9WJs=gh4;_5!e~KA! z`Y>8dPWv=^Ao(4y?wt!@jyDO9uJkf*zKu*&Oq{V%0$waoMFxGt4toQmX96vyr2$h7 zbYMled2HF`-XeR9B}L8tt&-uDJ^}-4z$`Q6n$c8RzfJB|oY@of(n@J005kNxZ3-5T z$X|4H!z~k@My%;oXdn1o?T(Ci2YT=_<XcMSy<HDDbgLG560Clm*i{`5&hAM-%UW$U zJs40S(-BF?xhe8-_&$dld&%4SsHS0;d`(i;F`mom;)hym*4km$hd{X2_`=3wPMlpe zSDL-UDmT2s@^I=H<+L3rHhwshoxxVGG2W#n0g`hY^KrkD3Z74|hmUyz%rC<`Z;5Vl znl<<5b~X2QjtL`ibLUzDCy7Zh6J9#t?RjUGWs*RlmXR0|MDAu&P1(i&{9?V!#nmSs zKmx$&M)BqeXzi!XD;6<tKdJ)ykHY<1Z88h;*2iDaQ93dG(9}-H<k~a*Inylv6+foa zy=&;H?z<R%7w{2`#0FVm?VidQLflj%e3Z9Rc8QGYC`fCFg?$fmL+F^CH7mBN^2TDD zwr+y`l;`yFpQqNYS&h{-p)^~9w!;DJ8dm2DZ^tBwh3Wqe1hmyMtRVww1MQ0hW^?yv z_KAppReMN2V={y&dZaXzU%5A~7?<%Gbfj0PC^aeI`ocQ`*=#Rczl#XZ^ksY*K3vY$ zSWaL5N@omm1ik#41XfU1XP3EKn81nP95-3QS&f+)q-SKh>d5n=Vy6V-`ATvu!k88E zgy-1DcimJPqyTZ#+y>eWGir;&lPpxfziT_K-v8dq_ZdOA4oETKsTOR>$TQPEm4In# zg_J?T(32qLYQ4_z&)1aq@iR#JyWGH6vBHWMb!rKEKh8xC*(9X#_ZAM@$e+tTdM{{P zW_bV;lB^tWaQ=98g4zHtdyoG*-W-e2Ev7N@uCHc2v59K+#$3M|Lx_=V>VX~?gXyU{ z4>>hyJ==hTr8z#sv!BSdPW~*lsDFW~iDfWvdR!`mDZ`Raw(57G(ERLUJW~5VqBdoo zrt=QEwVb7R;SdExj?s8QBO=jY^8Mq-@rdMRPbqk#-HUf*jxSa{((b;F&_5jS`jbcc z&+!Z4j50ESOAT(i)W-#S%tIt*whBJM&8XF>4oseDr8VX;Xx<(UES5r=GLTcpSfJw3 z+x<)6hT5dP_tOejj;1)NN-+Pyn$jOlR-UMti*OE$hx}y`(J@Dxe-v9hTN*>^FTmk} z+nS=mHrboiBQ|-JpztT6^-8*8k7v%=rVaM<8d4X6Js+Ou=+>YU0;EvPPASgo>0B|q zCQX4XL$rrh>q57G!<tPwO*Zvmk)SfcfN(qDYcrUMubi*e^M(|#yIzjN1>B)IPWi5J zg;_qQUkxc7WE$b^;YVZDj7&|jgn5{--8zkkt1g%%gMjKrLf-C7nP1-(2bP0*?c%dv zeeNbLTd&eGOQm$E&pmC3!Rm#<!`>Z3t^FXv!kOw$p^|gAHtT*tq21LKEybJBe{`6e zYabRug4-T+ak)fYG|3t?rm+DcURM3)UTVp<sy5lI-*v*vrKZior-J-ihI`s^$WF*T zSIuC_r)T*NZZVn({;}Ru2)o(`;QL~^Pm<I|^ZRMaqO()1hBsw#XWO&?O9~x-Fey+& zhzwtC7FoMHhi?NZAT|el-HA*tIv<4z7IG=-tg8KIGZaMK*Plr3emo$jWN}EI0MMHj zp)?hE%5^G2GD{%dL!{<G9%uQR7HYs#Otm|E@2a2Jqv?$~4tMSDTaN6td(68kwd>+~ z5A}x&L}z--r!N?QsBy})U-ssLe_=rR33ef?{xR@6z+!%O&;4}AcUh?d%5NA|8&amL zLIbv(8*$(B2T9XIC_?yP)8|771$IVjSENh>PB}i9#%gf*C*lRrUc%#uO^!`<mf2lU z29!9SE=+4%Ba!Ah+zg}BEm})Ib_qiA)tS{Jv91?v7-oY?$;Qn$6lu9-)&BSv>Dv11 zx!I8>G+hX7Y8Ttxx`PL0P-l6)Z_Tg&=*XyJ5a$$m4oE{u|5NY-;4VvT1Npo72mqrg z-Oi$f`O@><7L7mg2pDZzV}3@QQC-tHM5xIU?>k(b+bjZpW!;=cyDp%k<}BlYGw`>p zCM4S=)OD8F|Ftd>d@e-i$R(buS(h;BmYBIMwQPQ#`k{%Hr<=~MFp<(ET8jW)K<Z)5 zLMY}*@@U(lkUgKJ3EzEsCQ&Mbkl`UUtfx*@l`gYlr+tmzzBlyYpAfvU5k!(jcscN6 z)k&yykpFebK~A4j)sS>F=})vNwP)Px2n)K;B+-VYGs&G_DSx-1pHN3dY7Rr`26%7D z4!gGpjxaVac0OXu=tzB2ni48<vSvf!V4Kv@dDst&k4>GKA`j}RQ<eml^92f#DbgP; zqPi7@v>1*Z;)tR>Cfmu@j623l<`vy0%Xq>!!!=IIj1B9i-R0_o{0Re|8*-hn(5HX! zjMc_^PNnWCy$atgMt_;u*^)W_&6VT&C`am@Yh|cq<62%187U86ds60)6~St^C|}uJ z4^}e;)NVZ%-;<mYb@Q;+;6j+&JGK$A{5W->x#QSvq~zPC{6U7!Fi&P@Wl?hZLvbTo z2nAHxUiVaBH#{Co_})JjGhsQa1Nr<PQ9U*WO%<>-Vsjvx)&$=ISm0h`^|ijAYVh<o zMk>Nb*hhr!;RfG`f|ZwNJF<3u1vI{|p|3ESiSb7#gLS%xw9`w`K-z|;nSEE=kM<m8 zBQq_SRsU4o{=Pl<rCY<%&AW5JLTdzj{r$5}2##b4H0>%r0_$O&jT^pHsw8Ntr42|# zZNw>~@(2^O1);;GnA&UdeMTEHQHtsJ{iita1TedriOflXaWB$U3uXS!HH-tDWslAr zl<SH2ZDHE%`1xx8VAAB4`G-9N`49WGuJM+;_=|k&xu*mGShQP}WGlsHlKDo%kyU8Q z1nn=4cePqSHFg{YWr&LFSj(7M{|$wKzs1X$mF=XpBueIq05Z8eGxpGg__h>jy?s=4 z{aD3U6CDvc?vxPZ1v*bJ>pFbF^U=Aq3gh{-eyY!TLYJwK-`Cz>v!QuEj~E+L3c=la z1NEtb7CsZB5wNS-(3Pb#vxXdZ%*cN2^WvLLB=??Qi~A^W?~FZP&-=kQ>xb_eiiU;V zbJNp}A>#G{-{zRfiT!XIN^NYasyo}0p4kH9{+deFH<Fjf{|=-~TtwXc$2M!Rd+3&9 zrRyzfi*q3jEUSkb2$p4t?e!(I257E5BCn=4?3G?A<97F{`1*nPZ~KyEYD`nCj!ZrF z!+%7NJ+d}`3ycy%84eS3I7IgR>fu%Z@>_@#xe@ctheHKd*T8#atepwmNu@{HlsViK zckyu^!u}rbRXuqG`f<=&SM;rQENm%JP_w`2Yfen2DGq>}RiO7H%L`uS-e#@DO3$$% zA1Zdw)y}DtMv8ayc5o|jb|{<FZ20D9Ggum==C*9XUFNP^6!Bq%pnRTO51|v4<}^h! zxRv&O^UiFJr~75yW?wVo(*6C!hD;SQN4DA8!STpG%hUWv!Tz2X|Ffu<LQ8+Ak zbEy>vAz+eec0;rc&aH=gHz0|!`zDRUxGhXPK6J7r5p@i~Y3n2|kVH3&9k3qHdfXm( zT+5X@Z+!EJN_YME_f@Hlf=58rlH)gkR-&i$s>GcdbN1o{<+u&QqQr`aqib<a+=bAF z3^Oy=U}Wgj;lCXzEACmVraVp4Gw2Z6W++yBz8vKgxKF>J*OB=2`u;@7o63);L2;U_ zt0&zsC0KgdD^I2j`i$&m`Wmf7S7Pq6hl4NQYOC{}y|k5h*UG3>nakC;=QD2RA(T0r z=1|;p?0mAJHFBh-m8as$KP(*+b7oweH)F*V)EbG}$lD2%aIs<VP-Y2vd(aa3Bh{p4 ztRB$vbihdb$MSPkFB2S<N!o9R!zwxkRI^we5nXi>JSvK<#YHe=D|eMnj=Qn)*uN$9 z*zJZh-6eg0+(k#;H&3=-Yh*T+uqVsFATxoUv1rABXv_QudI(NUd0L`felo7~!@oq7 ze7pvqK5IDIS~fa~X4E0OZamKt4y{jSviDG}P{bi}A-w2R;f(I;&iTgwW2xECb8^V7 z_=KzUAX)yBFa`<(a(s!3KIgwkpwLvj3QK#05;~OwZ0EfA1b<?Cl-GEDX9S5oERP|O z>&RDmcwp+GVNUF2T`;R2-c9Q1dvt9k-3q%(C{u!Q@$44G&_6JT)t$#?9jbQ`{K+5X z)8l8%2;rZM|A+*atB81rl-qJC?jCguB_Qm1qzXN@WTpv>E@_G(KG!K=D3$<PCK&N? zLTzD8h#Z4>_m0RHkJ}p}Q~8)*e^O&6=FZQJpBF#hnI^eU&+N<tZn*^AW^Fp|H}eSa zR9K2AqAl4W@=uG(1N1s44V_~Sn`Oi=s3R<9UX&P@FR%A1sL>&9i~L+JnncYlN7KZH zbPb%{Ag*xF>g0{#IG5MPxY3e5hZ#%2%uT^Lqsn(s_x>8ROqHi4axj^pFwG;Nvpiui zP$Vw3uC%>d_d(d1SjG2F+2P_q=L)4DbQu^^g@=flQIZ-WTzuzt2X?k@uxluSM1)Yj z{})d2Ey9i7FJAw-b=a$MDj)A@hW4S*r_B`^(?a(=Lz$-b&i)bhPMkv>qcwjlosvGe z?~d$B!fZGJ_d2n6R`DN^nUsNPSn$PdiD>=eV^JcR&K$WvNhnQX4wg9IjUfNBG()g| zoh3jg1n>FWz#vGBYmJim<LF2@jn(s5y%?|3nC7~>7RE%cFYNYTAm~^qva00&`mAK4 z`k}5$d$4}OMYSV+J~Vr55<3v;KbnqaIRBue&?Q!`UNcxLPfxar*V&3RzH59v`?6=2 zk*%Ik$UTDrY<en$+la&IGA8R=7f)1FLtd1X<2qP$B?uf749qB>61Je^3ifY=7#8q% zfe06VOxa9F8O^|&_~sW3X#o2`>V<I*t0T0(kAVln&?`rrpmGy_WA~CVduCB&)xp*) zT9zwc{PXq@Q2-PhGd8)mbEHAFzMFDK@w)kBz4gHtDJ9?@I)k8>0Y~)r*NRvN`N6x~ z4~U$IsC)0R$+aJ!;$Jz>0$KkmeBvtj`Cetl^9*poL{#)YrHknQV+-Cb9pG1bM0_N9 z$F)x{eE1WW&oe^oYUSt)WQ#-@Jx<iSOCCr2{DhAf#zH+^jkFoOyGoGD?j7E<a$>x0 z+lF8seB!*a1a~VXs;pn?-;d0YW+W%6X;aCxByz}n-Yqe#oW)4c)a2a_`5PtpS-lS- ze|^vYK6rfg-H@lhw>g~t753L2#OAi;u8+aYQG9TB1?kgl6Z1BntXzS1K1H_cgJIuk zD4WBPjmF-3&Eb5avY>O5!_FT(K!UoS(YR(u_I+nuen;YPV>uQ|8H1m~V-5v#@@_?d z8HsxNkTu_1vV-Gnd}sHVrq^M4L1ut4iPtkt#bZJ@!U{`vKZFM)@Jh-F94a4zJ()@< z5lXSD)zzyYSm=5$=~Y`(WWV{-{2JB`a$=QJ^xxi<&)z(Bml|>fX%hlygW=}4d;jC; zry3r}TTBl-7{-<RH@xJ?ze7Y7bb8||FlBuyR9`fId2%%zW293tWdl&@xE$ZFsQz|l zIH&FI2@;*0qZ?jhoOwyK$Kl_$<%?@}nHw|oip$3<__vJR)|)D2o5x5t+6Xg`RzQz} z-GW;qKu=iH5t;W(veLPeQAZ=z0e!L~vOQxcuj9OjuXJ^N>Ze2L2|C4^@B4~3)Cyf{ z;+VdmOV>-bKA3CH=l2#*ZVE%Ai4yHUpHyuOO<A695?)V=z<Q2Gh>)Ij!fKh6flyv8 z3-S1+A8U~P@sOOB4&a!*wiaa*ijj-|uu130(;+?c`S+cRl@;)U@20tNPQ)}SC<t)b zSkI)T+vjmTl5i_*Ll#_|_mcCae`?R1@N)_^`IEkF8=hQK@3apY@jI6`zFYgWT&8SC z&T3*F%_zA4Zr+IYIl%jIOYtL?_FTMu9C^lDS+0Y&Qw9<aZ2hN-zSkK|K5+R~kl)cY zB{QpPfAcipBg%4j{>#-!wzA5W);x_=AU=h?&ZZrvTBc5`#VY1Ej*Jm`6CH=Bo$7R3 zW4VBP!ZI%2C&?t{VhpRcx<!0deS4bI@nYHaH}VirhrV~4;d)SaaU*d0j3<=tv~Kh7 zMR=#Q2+w&7!jAnkIl;oCC`oZ&3iXgiWS&3aZJ#C&E^Jw2$}0Q(8psxS)D;5u-K_M- zO-{cJ%Sm6hClxQ5z8Q-%wmHkzwUk1+VEvIg@hTKLG~dGXIojfZgKitE0pxTJ`aJwS zUL0T2+j|uM`Iimh`bCsZCU07+bzybiBC=z^Yo`7Hm-<%EO|X)$P9x&e%hl8ncdB^e zXo=+8`p?|ISRN3I4HL^~ooq}*q-070EOE2p)jb7Azq3vF_(<pn_*;Xfm9xX#CdU>1 z8eW#pvA%M=+2IQMI^Q8*<E+q4n=&uczd#OF>@(8Ztl*jQyG6*BIvBvk<}@YoV01Nd zL^pb9PU(E|pnjs*`;UYu6Q7KDUP0DGF`K5cPi3h6^jC@6g_MU!+aER&KeNM!f(a}i zj1jJ&15sK$Q`OXs)0!Xh$hf{9NhPSsv0m->w`N^Z2D?^L<{qtPi4@ld0`1?bCBOgJ zk+d$*c)-*sA;@u5{+>_aiU5}q&34AXbdtBn{_v|k=AYidoz)UJB2~!Ng@CifkkArM zrKX{>HzAgiuEDfX0CO&yM%;&NgRCcl*Ith(zDcL3v#JY7F~iMP=0`4_pjv{tR_Q18 z_-%C43G!NQITJ12P!m{?NBeL#s~r-gcIS=(xE9s#^RU<BX9|P6_|B?3cE0H<KF|GW zYs4r3c|6x0+7r9u)bOb%9!skE){sV$BJj=~hV84)*F%T~U##4#!{YSx%bB6^wF!lJ zcqZ(mpxssZ8OFURgF!S~6YMU+$NTc(p#30ee}T`&KSd(L=MP?%^>1gsJ=;Fow$BIA z8lkZDO)cT<DqP(m78MH5%=0;Su8Kq+g5UDIjj61)m4t95*H7sVKX+|PSK<P#v=V}Z zmBxDmRafx*ox>ZQ^faB%Yj&?<UYA%9@wajcQKpGAaQO#3e5F9*_rAf>rWH0)vuf(1 zMd)iLsAbsXVd!FvoL)x%r&_xSq&$9xBBYyyRD;-6j>tD|J)j-vT!A#Z3Cev@nWBk= zjv)z8ka&FH_xLC~Nm_4vJMZ(KXxa=};q9bIf7TU{uxk~q80~Bhc<btt#kb2xv-o89 z6nOz#oiDq)^^@E#;kDD5=HV_!eo9YV)iF2g&);^9pDN<Xq&$^!JUzEp%i<2SMu5tD zT{cyxbWYi??~$i2uklM4Sdm99CXx^j9De7{z;%6x7pW>#Re*0mGwb<WuE4p=&DE*x zf1?fc!cR4y$Iy!VptLUDtZ*oI^hdO%3sX!GtvD6ZD$V7ft1qv015KNO(^IJFzW<$^ zuUKUWcjhDW+g(#*gL)Qns`=1W;r3hs+xL%?n??M5)N7|vH|!T%fpb$M+Q@3cuP0dn z$?J^!_w+{bujCAU&#FU9a4DFh&(-vkYVTGjQTW%`3i25kAq>&km&$XHvU;YFGd!!5 z=fK`AIt*GUGBh+ANS^u_5_%T0Dot=bx(O0}^?EHvB4-=O$Gwu$g1-%Og6d{RS1-<A zqNj^?=cjxZ<L5i)V<42x)c4#5s?Up5F?qkbmTOaXxx)Rn%DYu+H~T<7SIZ<W((=BT zsFL!&*Yhkzj{%yE3f$S~26uFy%-<tlrt(Op2?t!HpovRgg>)L1fDqrLCI1{YRpWLX zUWxa+BGV@0&mdFa=cq$`rWJhS?n;G>;5NBqC|ekBK=+dLCy~(Z=9?7im@#TCaljN$ zVQb1Ld)%;YG1Q=8hR{kq+i%&|YUZ!QK5qm6_{yJ<C0|kWglbj<gk9pE@MZtidNS}H zp7C0Ff7Q$T2*g?@<#!{!w|ex?1&j575i;qIyX&Aca~9j#YH(+%mI2kKgL|X>6<qJl zoxZQfFM~)sL>a@j`RzVuu+^643hGy=c{PO$i;C5KE#l2~KGD1Y2V@Io3PpZ2jcZNU z)Dr1FO><;GOrn6!=#u#^6}pd?qKP6y*G7dGy5&i@0m)j0i1NFt%y)KoP3|57Vn!Ha zI~Mu1Owy)Pyc4;3Wc(|uGQI=1W>aRSMgN#}FWHe=<@S}V8oE5<si?o@b5GBk%hUVh zbRO)x>@4P4fXpCsg(Vea<J4y=HG$=Hfs7Xk-W$4s=X{wa-SWfY`X*Mnjxs!9!KmU? z+}Y-4<E05pcLqQ!p0Q8YKpT<_4+Kw~TzHIRg*^)q%=zP6J8Tj1$6VrB;#qLmx%!=2 zdAiNi_GxTy=gNtfQN5;`uC_Y!;ql&$&7M*vo2xnlgl8-PE?qrgJ>YorF=RWCW!q=8 zT~>?*BK-S9aw?HKX&||Hj~n?7?ubX{$WlcK9DD&*;@1)tX>HXx#zR}-!$#JVC$6rs zPBB|H%Ks`eMxH)h<oOzPN00fNKz!v-s)ucie?0tV0{zn5xgke<VM8H#Sf6p{A)gUr zj9z_qeJVO1R{s&gd~GJ3<c8mQ|7+ZkfBAL{gL4c{6i6?U=;BUjSg9@2a33~bSGH{E zzm)ZUs<3qc<;OG|B9@@^eC~3UI}kmP#i`;WFZ5$<I@r`Re=oU9>$&dUtozoDDTK@Z z)M@nEsQlWd>ELN2+y=NM-p9I-a_hXi_*`=52!Q*}&B^<a=%q$~l>Q@MORvL<?}Lu= zb-rmu0#`$b;@M+QSHG(SQLcEFrxp*@NS~uhE=&j{8#A-|y{gNgjqo?}^l^lamRAvg zoZfrNFJ~O=o(N1u(+D|zm@O7p6s5E>+YH-^GaVAKDY#G(-o3D#ARvIN4^`xDd1u6W zJii@U{&T5OUDSIlHRx>#xV-=gP5u@Tt|KVqhv`dql?oENKD>Tp$}avLrZ~^Ciua7_ zXnZZX_fZ#Xg@;yzqIhO5XCw>KZ0*^!mt21jo6zVQS3k&($2U2<jv@)LnO7l{=g#h~ z6|zUWg-_?K3~*!vkeYH)-E(|gxAMwegPPw760W1|t3N^{FBb1X3th9V%3SxmuUk%B zPX8SqWJS8{pZeyc0Wzwn*EXB+L+7oXR|(tg@(!mePAS~)OSK(|J!IDj^~}M?)n@6| zcs>kJkN41qtWNQjBw47KLF;I71U)ieGaeC4`-C_#olZQ-xZ$}1=%g%O-Ze|M1F$hR zd25~5x{xYBu)E0pZ%@YDK8i03xxbIUi5we%c0*jqcShA>5zTIu{gD<Azz&Pv`5H@& ztDifh`1;fG@Vga4yP!&I&PP7uDGgO47J$}1K*7FQC*<oXgd8;eMUqk~{;D}cMugV8 z+h<C8ug1Tkt8M*W6{D9d+hZ%*=O7+>HjvB^Ue3_+*wq1>vECBhGs653$_v%8sK9B8 zh^-G+UtR=elvM#bY)^mTy8pJ$zm)M@XB0}#gUNDJk1){1mA~33D%6qk1UF2x?wc4{ zpBY1fm3QZ>3)-gtIb(%*R!;v`mXlQ(4ct@q`R!KfcCyUzNrNM%TZ_`{-k8~x4d^1I z67*_3*7^+Saovpd*^Am^6%*sk|1-8UwrELAH?n6>ozj-hVC5K-+ue~%rJ*lG3PN+I zc!h20_-!@aTpi1l=?p)T``tG+>))yqTmiTY!N#NS{73W$MB_5Y7B$^*)?hk7?z?%F z?vXu{p_WYcYc~12&FbRt43$tceMYFenB&8-6om25G_%TV0DR90TQ>Ezt64D3#RNo~ zH<r^Bi(TAy3bw$zQ)XSidD^-NH=Nf%<rtz`qp1}sS^s{MNP(|$o7+Eew~a?RyB%t{ zh3xWC8j;D4ra|RgW{X$y;I1E=6kO0plhAKbyc90tF>&yrmdpA6`N=pvD!pYPytw2) zcTeF0HHjChEGbWM+uR@ZBi-Ssbu%9#&%6iblXTC%<%yd6s?V)81>>8xZ&ZMrR}3vK zuUyN~tylsqzNP?p-hI~o2-;Jk2MVhAB3V;gW<^x~!;pJ!8u|Y9%Ql`K;;Jv5!x2z< z51-m*c&jS{MKC=qIjY4$O-!N%b^DY&v8t=#Tb;@z7&QM!`qV8#Y)+4di~m;-nJP^W zWVYDDgy_Bhu3dLfuDA6pVRQW>;kBwIu2<)BdV-$jY7ZDxa@H)f)|oxENr2i=w<est z39sA=G9D>@nZWtmjHZi*Izr=vsiIeB#ET@-LqvJ7vufijD4pN32aajXFR+MU-k8pG zT0^K0W#p4$L!3*smGi%QJ{j&E)6JFW+}f$Bl(T&$sO*%;O~X*e*_=slF(>4|bEBdQ zYt^bPfk;-u>s#R>zBsWEA-kdgJ47iSzuT-T{6JjZu|e*hw7t3z1?%U*N`?g=2~~F$ zd$qj0mf}?Hmb|n7jg;W;76o)`z0X-vgQgB~lgM&(b=gsPYzUCPL+p`@isvCn$LDy! z?!!tSi~pgUprvz2BWc&#F3Vedw>{%~l1x3CUuiDg&W*;-0)BBOdzV2j))Iw<EtQ~{ zRCkak`jRk@X<V8oM^ntYfc-BsV?`FfXiXBn7lHS%&ycBWjxl?GtDPz6ufZf|?>X1m zDO74Jy{Jtlpq+0}3u$3gqD@6LTW&yr!&>G)mKvdS&gua-RV^wbx9n3SUvT{(8`4Sv zcUS*gqreC5-=NFxjlzvSRO?(U@{5)&g62V0Dkw8e6;$}S(Cs6i?C2((+1yPy+3}$i zqJ_RIQ@(a?`x5dG?hbtC-S(8%R_4xcySS>?5uGd7U1~2MROx4&a4%Lv=UsPiY%XG+ zt|2_bw+DAY+Bfe-L{BO`xSO()v$+lF8j|h>`!rV^n(uB==nabJX(fLJqw0=s(Keq) zb@SFA=~%LC+dw?G4_kXKqhmwVJwT6DtfQRQoPT@~f0j*t-S~c({><?UUvCldJ$tSZ zsA0&kq5F0i!E+_Hy^cjaQOim7_IBx?#Y|p>o?SJcGu{dS`M&$<alaOpZ1}2HM_Dud zgawtyV8LKRk#*!?n9^^a>1E?}{0w;X+Q;MXq>@PW$y(s<R|hCVm$m0ysO9FZwbK@C zC+kYv>O6W$%f*`WAS~0d=-gM^A2YXEScCCf16H{ow+O(lWb!z7p3KjDKT-HuUT4)y zM0R4K8z}gr31Znbsvjpt=?be$7^Y1#69xpef(Xu2cB$MI!F)D}4m-gs%XCi}RV}Ma zPg7ky+%i!T9_(C$3$eaw1?e%Kmt4IX+ex(^-SK2%maK^YF-51bK6O%;p#ZG8Czlw! z&53i2k?6MXqOOj)gx<$*azi9^$MSZ@rnT{|d$oWpGxBC7`fpWvEUKy_d(uz_m&r^- z2<}=h3C(vtjOnCt#s=|yJrNPzuS3Jg8_;(2DewL;EF>lUbxX{o2|Z*qQZ}d-dSaPl zkn60Kc5)h{)z^2e*t9u$wbP<!^f)42Zah!xpu7R<dZZ>6+=r40O)&-bLmrEqw9=j@ zSvX%x&F&P=-m9D8$m}=9-5uOTnK|3iD8WeS*Yt}Nsd5iY8tt|7P3MC}_jVh4ilj(s zb77X$)0$di{<i>6OasjBfcexq;xb^b^7uFwkgbQ9Rpfn%Iy!QAAsJjd@8{lj55MSI zQetN4ojz_1(VqT~$bIH8!;z1>u=?KYwAQZtR^~|w8vQ14U)u)rN7ZXv^5Z)mr_UuH zen>3eu}@W8Xkc)kDe~+?T<?nU`eq8J!PzqWG01D_bw7J`+M*%LeoJ^}-`uRUnXC{b zLZC7rM=#m{k&V-PafatqXRZ0nyyjKOpjIw>k1n()iW{$N*%r)%9#ZYbl}ujlRb_15 zE|)Nnb52U6LFvP}FWm_RK*d|$uFAw?-22EcB`Mwg*nvP+Q8wAVkSt^`uQ@Vs<<oD& z%5r@VqED2C<?s31|H4cQzh>0vbZOm;g<2A7t8>#F`TPAA1u)KkbRQA8H>U1DmGoYO z4NkdF^d6cwz`YPD<26!TSvtbm{hii9JU-BtjB>VtG0|2N7x~VtK3a**MO%~m#QQ>F z_jXU*B%NN@HCsFt0Gb=njZ(+oKZsr&iES2O%h})SnBzn4kJo(sJ2$&^x)j_q!Gg$+ zPGxcTeg0{tfApnd8}<%4+Dd>UMx~@kn5%-aVzfecKhBX64HmdT(!q<sA7Nlng&C&% zt1BjM)e<Tbl;WKx87FY_bq4OA0pDCLi5{F2+7JH@vB~UVdv@-+r1RtrR<t1Xb*wRF zPjWf5*!eHO;+5p{0ouS6jj`F?ce;(>`6CbJ#=3VbP)iU{MwiYZSFUKlFU8cL))D}? z+36u8HOh{2eO(t-&*Jn*%KvzD-jk=k(q&tj?flE~wziOdHaH6LRVUk+<LU21I)BdM zgu$=eA3I#C=X<z)t-~jl$z)MgXx*M7i_&d(5m;Ey(46486nuI+=}pxvx?J@Sw2n~` zrI)*CQ5d&7H*H+2q4_xCIo*#V({v9rCPTmV+B64zHOL)()YCNz5@=N00*Vmu5-<!L zF#+)mdAPqDxd25V4y2l+Fb3bcNT!-mpqQ7vQ;hl#PHdT-??tR!nuP&^#KX;fbNmgR z=Z)uv;Al&b;>`UAFtaRVFmS+i`wW1=YD0ViGCR>vFd<@&C7YvD3?8rswVC(9rO<B* z-_jl!nsgw4EQt^6G4@@)T_{X@qNj5*dVz0Ehj>IgY9Mf%;G=2Pq6<haJ5}`5E$6np ze1}&94jw0yAy~~3>++Q5+bbfDWEsZ0)Tn#JpZd|dwkz4XI@`fEI?}G!C&;jyf0neX z+F9)YSE+N*{E1RUhYG<_o_Na^!g?UqF+!?p7Y?qlR8D`N9aR+M_*qQ)58H_L>x`qp z-<?r9(?up0)T24zf=nmbN+}YxL}9C?WdY6Lx2c-S=6#2=6<e5wZTpdm6k8`tDM10` zkbG_pf@^qoV%@{Tq@s4!<FqBg$nf0hC+=MDRibf%z)7E5C3^leg4;D-cX1UpAtuW0 zXzK5Z%2El?xcU~ea^E{WP)%QVsISZB!#Kor%qA1SI?ltx-3Sp(jWg3VsWtP!1;+h4 z7uY}3jTkYU9GeogJd`t_9*>T35~j*nDZ>?i$@`hy3YLnLmvm%vsSBAOU?udpqWoI7 zM@=iVQ^e15YE#2SWRQ^F+dbD4`$LYOcRz6@U)Rs5sVlYpq@c9HK0{j2<&fM<Vqi(l z7oTQNw4V9<4kFmN$oA~OEhgm~RG;2kF7@8RmmUHRPEL-s&V;Tg(|jv4{QQAL`YkY# zege&_)UXjhLtVr1h|Tur-2ig)<lN8)LBSg(aCkL=hgzMSc9BzSX%l?g`l6@V;-HX~ zX3n(_6l|tygl6!t2mAbPd&w;fM<q6CbZd0^>e1<@q{A3}T1@tYcCdNKEs9+MDJMQh z_ooS0JNb}($~ZLdEvD)5HM2;)_BRhINODK7w&VAg_LKvmV^#D-R3w%M2XZBhdx9~V z4Mlys$hGO|AyIgq<i@bGJF9TjUO39+;*vd2g$~V+JFk*k`Oag+8`7CV)mC%SJf3Wl zn?VB3MDQ<oEOYgAzF+({p*{f5zNXZse61h5=9+%mwC#kN-``tbg^=7bs>CRBoO>MU zQ)Dzn-u^2Jm@WQTJo9)UqMeGIotwry&6JqIWv#=`-iTUrh>y|OO!pEtjX72j98ddb zY%p4?HBvWkbMC2PvvIZ9^JkW`qvO)2$McSMFhHZwfa=a$gX*-APmDhvc07smd>{Jo zYOkW3cHw8Ev7e@&c9Z|+B}9O}`UN;GZ#r0p$6b1g{pH7|)s`Yvm*M1`5B$AeIXMi> z+EjOsKFRelz!<01k>T60g39-)v&eP(W~M>c`nau1H4Tb8#5HXm0oONMxtAX?v!`Nv zvNlZTm9Ja{bH1vG>Ziz1$l6X3jv1I<P`{zUwnIZWcI0O(0p3MWLeA%{53bD)=bXVZ z;;+2##qH~GJsdMXb9&%U#*nPRoucML>u|CdkRKK>?ytQNszQj`423L-f!G5@tnsIo zJU5};dS7mZHZM)Cnf$P$I$oLNzAU4CSG6mMgx-G~D{PNA)``hJOM2^nO>>lO39OoH zm<K2Tj^%+e15c4Ir}f!;&?b=b(ms8sHtXwIwn@J{0MWfPaiyA1kGABURIFVmV1`nh zxj@1M>W0?=1H27l+j9&Afth;EIUJekeFeHn_(-l5@_!WSYwd+q5zPNxM<^G>^cyW~ zXEkhK1(@<c<1vcsgqY<ZIVp(cbV$v#1#v;g2+!}Ibddj#C{AR#-sxx})0snPnHbVS z@Q7^wqxiTAuCL#`3HhG3R|o{RdJ+n755!^@nkIda4{K%rJoElj_I@bw)$WU};0f!~ zmehprmYc0AO|y>-+-2OK+_o;{Z|?7P?`yM=j+NQfn?LRLl8<ws@;yJs4>t16-S{_T zJ5OHH>47&16=dU=D%ukZEw5^#Ud%?Rsk0kgCLG7d7j8Y!Cifl=4GO>9xP!KGY6xFY zCzRol^9OnFrG#hwe8?nyZ-Is+h{(2^vYO!*L6k<MPkfEM-TX;B5WbsD^g8Z=28TWo zZMv{L@yPjK;xTDOJOloBZWyx;k?uEIA6nmh3H4j0k>j7FN3-fg+>r|>N=i5K;g_Yv zY@zRIR3-)1WqTQVSQA^1ev$)*!gwP4bD!Ufn(bl9bwZP{qO$LUf<fX46>9iu2c3`C zGy}cJCrWJ8<K*O9#s@*gy4>+rRA8cjO+uCs#A2KK<x^O0(D6?S!h&1J$b_^$O3~yX z?jwqW{B=0!{YfFZ-ff^RJ^zA%FRA_Iasp-P=CH!StL!qr)0Sgv8$uEd9%4uSDOq+s z{eJo{Sr(Rr)^%DEdCW+-*tVf_vk}>stW@PJ7Vq<u<)fcf0cYxT@BnB;Q(ODLyFIRs z(X79UQ(i6j^>SycRILQ7Plef3D5hGRM+Z_|`RVcMHB~EqaUSt1rpRLN+CCqV%0b7% zASWAdz!PXf7^Hf+VA)#eAn)wD1^E5CYer<*jWd7Bk^6Hy-*J`mgk}Ybz`-xc4tpyD zL&5hxw2r`%kJw}8_BwI7WX=uzrogf1A8_!)ija;BZrf7DMDOe)p%I+%naM=T4t%wI zyLH9SZtFEQq&~43K2UOVBaC)x2$7Gk)M>tB<o7X_cUUIfgTfn|;tTxkFfmb&*}H`- zdG|G?q-yRp#6!zY9(-q?vOnVa%?uE}`jJ9G=uv|yQs`NMs*WowTf*TnFyzp!#?rNO zkf(hzM^dq^1dV)#Es>&cds~ku+}@xeTidl-X7(EHTbNT9w1ul#M6+P>-3<xUsPo_a zTk3*eKF$zUZyuYVp_t%0QuJU;Yj{(0*8gx4dvZ-yA@ebKNXc_P6lD>Hj>fXFiN9g- z-<p1F&{>f4o0#KCkHJmo_PFt}&gq2n_Io;)?-ok(Lg8%+SFYHZn(t3+H%J;U2?cse z0*Bm9)!2Q>cx(99S<7T=^6xVNTIUop&7^-^pZ_f%tP`}Ep8EOB6MKybovHfsqSymE zTo-lfh#xCy{7~-tc7jH?is(s)Y0j(-7?!h1_{@&HaTlpk1;F_Ee?&`4T_-2|bvo5` zel>_jE}|s!gx@%dCrJTqB(UKR0qQn0ag7e?guC*&YwMeT9cu<1T}SHK3c<+P?Fuw@ zUM~x|-)e@cZH-}cbS@I1dBz?0;(1)D6_xP|exuxki!R-}d0K{0&GFOkIu^gD@cYne zV9UF$r44Lqigzs7L*@j$OMr@}gs3KM-AWx;d=-B&E1MYf1xZ~QQ%dH+6Gi3T?W3j~ zCf(U((rJ>Y&O>+Ra(i|j1PT0PW7hvGHGX$-h^GV@L@@R$K&1PYgy77^_4~U8zSJpK z22F%XaGLl{)#RCOGm`1GmHc1^((DO3M>K3mEITRdy#U&LdEfh7(++257>8MH*hK8+ z=bheGAIn-EluxMcZt7?T{;|TH)oJenDfrLRkI6Ruw(GbhUUn7O!q$!?%o~$u4;T$= zlAsNH6cQB5TF#i%h#>fFXv1~ui(?lM|B`ce`ISLJ-utn-=~gEU(8EQh%Qc{ws;WSE zjFVAXKrb!b&(wlC?UTGL^IeHw3wS%4F5?KTt<5<+@btEIalqVMcWx^v(CrwFx?s~@ z4v*_=&_9#7Na6Obty*)8OJV%0DW1ZcxvMsP+WQ&1hHJA|RJ9l$w)AxTpTb47Qxpl+ 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�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 F{12U~wmJX+ diff --git a/.next/static/media/gordon-sanderson.88b5e762.jpg b/.next/static/media/gordon-sanderson.88b5e762.jpg deleted file mode 100644 index 034f24774a4a73e9d28a0e2e5850ef2dba30722e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540324 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 v&8F!-mM-Bx1kn}kVoz6x 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%0As{1Fu5 z*6dsxUcL`fy2HC)?Y@&;$|L>jcjr<707izt*vDsg5$b(NJ1(R(ip6jV5J775in95s zH*{++GC9*fa)PJmmFH%M1!2aBPh(@lw6@lZVJ?=E^SPRs!ahej>J$ACp83#8JGlL? zZbR5lpweSa|Ks52+zrRnmBN{(z`q_DdOhms78}q;tTCfJ>B@&Pq`r!%fvXL=?<-YD z_SA3Z>U5t=i}mYO{-d1T@r&l#J&uyKo_+lIS?yk;#}SQAgus=Vf+u7;BwFj%M9cEm zF}C1!B7oOqc(Tt9Z?!rcq@lq|-X!;Q*i>y0l&i|8RQyiQEvORXAvNLW{v6tMN-6Sj zRKZ7=zMj-?&(<Kb2pTh3U-Zv((fwLuptB0htQnUztHq=o@px?wtRCA+a6T=gVkX$S zu&2>-xuLMRgY)F=&n0tl5P|7A)ite=h9_lGhk^PlQ}CQtIm-YOEqVD6C~@7EowU=Y zziEyn{cuVhs^ROB&T>)GqKjgwbJ?whr##lQXG+y+=V4^U2cjMh*AIutQGVN@6la)u z#^a;6`e1o3SOW3>d$d_Y4>!Qah&~x{!XB_Y5tkV_YqPXlqXm$(a^G(S7xbBz=RivV z@5He&mddyYuqwsvc^uU>@<bv4>?KO${96frtwzLsw?oQpaOA~n+*dM%0$-zL=jkH9 zT5R9p*RiTo%PRz7i~Aa^;NTFaWZS_dydbS&3MWD<V-JYdeu|Yg#rr+k%pcBumDt(% zJ^zvZ2a9iwBKgo4;KA0RIC1u}y`$Mo83m8$_O{?thstVK44CdagXW8pe#2XN*n^jy zjs5*}bX+`l1hUy7f?tHKrFhIgF?O6wYv%I(N7bgxwG^croJZFtT2m`ZD1{AO-phrA zAG??q^jlHU$p7*Rk<jwjfq(24JWr1=NZI{T^ZQ1aI_dsKdr>;3-zrTVXB_0cH%B86 zqq?02K>-A#J-AALwZqYmD8<)Z8@?fg>tq#>V~PS~T{1!P8s}FD=ilF1<D7L`FVd6a zkyVTxG|)+H{_Y$mR1=(m$OeWZ)p(jR4xZ(IFBSHx)>(ixvORyfM`rSkTHP8IacAI~ zU-Na}Ja3oOEZtoO9LYMiJp%Gk0xb(WFjzfW`>Vg_`oh=HwPv2JLk&`$FFexiW`%=3 zz2ePoP2emrDNb$bpQ-}B2FbJ9c;~EII2@VA;(a#?e~J9;|H1TvXKR3xkP;(EF4MD6 zC~3gY#q4rhL2e8H5yQY9fKu$K<)?oO!we*?aBo-BSpQ{WEK#gg^h=}eX-Bbg5aLoo z-u(CD7KimKua}fVN{w8f2Qv@j!7ISGct_ETN&yxxV-R0pPm<)Y4+O)_Nn&F}g}k=T za-51U`0LyheT&B&seUpf*RC|yfUlx%A(nL|*a7Nz_R!ff(4_>k?J2FeYP1z$X%DPw z6Y1X0-_WcG=ai?2JVDQsLeHkB-E^qa*cZ|&1Snq*_^@XlcCy48$!bhZM~9FXqmbe$ z8SJxtbKWm^)*B;!{vl(OFDT9Q2Wr<+T=eo6@seM%yH$Yc0Zll{T`_GjBTogUV)lcf z>^fTAhZ6niY!~sbr;xK!8B&99t4%YH>k=X<iB7x4sW;F{J{Q5brmQ`7_Q#sds<A;z z1Ym=+yJQ5cw06cuk0S-`Z;Q6?o%QD_an<nLV%Ow+E*p?KN_UL31?|E&XI9gb6G|u3 z7}p)3EZ!E@MA^ja4)aT^Pga9FBs-gRU+UIxB<xnVjhL*>9D>!Rnh5&l?^4bh2Nuqu zt(oE35nJl)vta?VGBc^I9b=*Ump<I@Fnwvuf$bCt-{}-K)Y_fReO+Q8e<(FIQRNrK zbfv~kT{Tfmp@l@W?-H`7U<raVi!5ICHkb2Tm=C+-Q8(<(xKk>;_p2YOl<)@r4osjm zPF_6gq8y#TSW6o#HQx$|wG1URq83X*H|zwqvD!7|Y(bYk1-@PE5hu%Olx}u@FJzQX z?sFN;*1yoj^S$??rlU9SN#Dpo?Ml9l>4K{zlSMBxs#nt{E9Vz3W_sILnwgj_k1msI z(<XxsLbftxLd^V2xKJfNH_!Y&soI+_6dnB)?ph#M5@Zb%goG8+U%r-@GmIw@ZU#4% zHGpBK4vem=fBw&jgDZZZ@|-fAI!&Ysd2Ei%?;N=@M9VfCoVExr2`AYR;&e(g)2cDG z7kL}<=2Es^{hTy%e&i+LBFa{NKh)P-@gZBWVGUU}RG6DmXDkg@Aj}NZv4njT^4{jl zmH$*i+`V}_&rjdtL3F}FNzU1BWBhQ0{3@DJoq(SZa@YqI_V{kVRF}eM`(v+(pS%?3 zZ!tp@X3SxH=s8zL_jOj1sWGt0G&Hi)t-q{>8bp-f;@au@qYESGgtlDrmFo&QL;(-@ zLPiQUr2zwPT-5QN^W!-XZ6&(g*gCc2;9d7rKmwtH@Jxz@B*-Ad9#?htUJ@6o)V+OH zq>kqTh|ls$@xA`?NrX!sAfcwBU9!#vqHMvbT3ym8yy6k?+~}!C{UwU>hG^HTnxY)< zZ3;QEyJim03s9W5RC=Wzfvi&OFOnbWS^WB4Md=N(fBEBiz1!iZ^Zu#)3h&zI^7>o? zs(sa=wxRDG8(gO-Ayvd35wY2uhIcH^NBcjq8qy&fF^VM1=wM9J_P`gBL(r!+_>0&U z=H;TaB5!4dR)Z@SPN)Q}sM{*;O<J<FZ_C}ds#aR**rW2>Gd`;0lKsGBj=8m1+D%)c zZB=U4DuAZ^$ocfHrgS94GcWX;<@<*19sLk>m~+9X$URumc*lHC2rQ(uidC7U@|Ps` z`}|&nL5!5G80*9Q>+etjE0@R1#0IO3l*V+|C{o#KI5f7#+8eDxRPWmj-^bnde6EwE zEQNddqkBMQ+w`PQZ1Xkab23My%hfL=#gcJ8Li3z?i)A76?)V6{YcYe@!3sj!vLy~U zBK*c~t#z=>vZoDW=Z!*2e4yuYzI;|uvY%+%{MDKyD36HK@cORnh0h<wW;7Ag78_{f zjguwb9%p(y6+N#UjvKFFmWJTrnk9Z4!L%PaILzT=uaD{<SHe!!-?R(cG<kPEwdZmV ze&Ig!=AXwiVK0lW&S^)%<5SpFziS=A8;dXz<YvbmXwWt37sgz16AuMqtC;+g1g;_t z(&^#k30vN}w9uVu@VY^ebO=6+fZoBz?DM<-Qrm9WZq@!_s3mgO?d@bj5W=Vs0$dDs zIKc9epW<1zHq4sBNy6pHJ6><4jUd&3I>WllV_QRd`2X;@mgvU^b%O>WMGKJYndHfE z)dPT~@^=5a?X55Myi$K3oDPnEBk_!95(|LBGtC0Fq;PH@VyJh)5ZjeF8}h_IE(76b zm=|F}qq292RLH;#*x6*%7qWj=@V}Ovmquq7u8IY2@o7xlm4A26<4gt5+PV7h(i9`F zNo}mdmY=D*-@t&|Uv^i)m;6PZ7>Xwtzd>ROsV;ngdi*Ep@bI@_isQ@MLBBaNLpGw< z+9R&q`BjpKaDZBrvIb{tdwl-F&!^%@dutVYhXcd<|DbazBk6S+o0#_N@1fVVaPVhS zuH6nWNn4fV)f@Ia8^Lq>>0+QD$#O*LX@vN<tsRzJ%JuK*a{YsiZi0t~`%nwRG?wsy zl~lWiH4|^#WJ~f591=-eW{B1$_Y{$qZ<y(A3#Kr{6}blMUl;{llFRp{Z$xJYZ5cc3 zd!-NJak{&#!xdOmhBpnE4APQ*fQyZ!JEJyfJMcXXR)PkL^9Lw+kG6l*;i2i3TjwLY z>?e-~BAFYGDR5buwPbz3T-1+EI*1d=+A<fa16JGk{otcVWgeKFNctdUjK&t)>r;0g zp00G~e)}$|Rna;B1ai1oEQbDTx5O|LKTik&+d~+cs@~oC!*!`pu*Gt=^eiN-sNuDn zZ@DSg`Z+D`_s1VeuvHgd6fR18t8+3KVWAW2d8bZhW2#N7hbZ#iIaIAU2?0kT_qjNK zn11UPU++F4D6Gs-H-&(1T%cBdt(!k(4RzXDdOf$ZOdd<g2(7m0b6|rzKO0MI1brVF zTDW1SED}0RrFxDeXaBgyb^@6cxMw#K*~ql#Sm(9eaAy&tIlwlu^0l;ix?^pa@RRQ& z?uB!IGr69*WhMbWPlNA0K}pWt3JT$_Y*Dt*wsK_0iV8N<sRG$bV4V*+#OSL<Nkk1s ziEnZ3Uu^*QS6-EWe=EmG+)v0&vw2Z|`8PVZ_1TRyyaL8t9lvX|@UM4+H|E=#Y|FWI zy}gPlz(%g4pZ_+P$=Xm|YugTsv&)%cCDlh_$rQppCUeBiJfkYkHY+WaLJVp~**K;L zW!8?ZVTfBNH-B{J7=}4s`(hQ8ITzoEtk8-&-GHx=EecH@-6-0nKBF0$NuCAv!MLUd zZO6ZB!HMtn#0a0w8{F$s51|Z%Ve{8B1KqHD{qTETXtfGY<0cn(=JG9OlynH!X*oQ@ z+XAtNi;gi~D|7y`D|~La^^R8e3wx^#<%@zEi(a(;0H8#kI)mr7%SwI8_P8>Fn%_+! znF{-gmsz!=VN-`R_M@4cU!yu^P^z6{_aF{3S-EM%AvAqj$ldLoCh8jkYy(fJzyao7 zNv7v$BPN-Okk#_EG)MaG1T$iWxXNmOHlpga8GX6h{HI(T_Y-vv4hwU9IEXLOCoVlU zt{}pz?l7^mrykZl)E4oj$&*B~hqq>TplL3b4<d>fwo+$r<vy<Y<V7;{Kg|jFOj9Z= z?5wgvCn~V%5WEAeXc7$>0AGsvJx|A4yY*e&r3|~IqY1qX<@Wz^@a+!pI^naw4?Xe- zJYm#Wnlq7CIM}J#xhq7Bygf40O}AYca!uSFVd%W{2Jvg(H~WnWr@{2g>}EYSD~g}E z`k-{G^?M&&eroFew&O9{YFIbi#=70|Jw(9h#}ZNt15bAGO#U4Is6c{B-Q8h0)7YWE zmUadI{dag$ZTpen8TEIUxWf_0rbVI`_9|qbm)JyZmt2{`SVZjau*+>lY9EaocTXa- z)2b)vXs(0*YQZ=59g4;)M74#!iYM0hM<_<lVfAYJY~xjiq8H*`H8vhn+$LLw3ha$X zGjkN?DpDz)9=U(Z(65agHzyPony^JaVvGA`LD!N%h43-%*Goo`=enMkjHRT;&<Y!X z-g+!u;Z#h)xjQvrD;NZZW3Up{W1We4N!=u4SxcjJgs1bwyJKe4NB8tmkehWMQ&E1V zsykzgTwrr;L#x$MlB@oK8YZd0Z#D~Ja+KTg<PoDQK`?rk%>~a+$#SX;M0?mOh0-Ky z>3(!on~I7Vji#p6bQmj!Ur%}DD)gM+McHHOd5dqf-eCn+!T_EF_>sp(imaiM85k1c z41;ksRi9tx=dbc*XE;(_Fk4e4*CxeqUR$gicQu4JjeG+bmZ`vINN?`S*m@U)4b%EG zcB2B_l*sfr^!uU*x}{UaZCx*xoW0h?^o+CaIA-sYfrF{qGQ9M`hGdenV-*{yLEF;L zgUaIihl!R+*8Y6%|M2xzZ#abJl1aJN0k<8^Cm|3(lPYc?W48RXewCtz2R1r<ecui~ zl|H^FBHr-!v#2cA_9?APp9u8-aiuRx*38S%1*k&g*q_owrLh`>D^EoDqzh#;M4e6$ zTB%f{WxbUDXNTzVf52_1RsOaiZf~*n{I%NnS2~kfNGy|FhyVC%+s|Y>?OUe9aQ|Y# za(G(wZo3sqGS5g%uI;v@@rofUGkW-)u|)Vt&!zYABW_xLT@uL@moj2bMo*RvR9^ak z83uPwkpH81>L5s>fKFt%a-8W_{uq?`CQol7U@aSG)uDk7EJILS@VmfbCTzEA*|M>u zs}>TBV^{b?;iplv82-KVRe$ogo%_nA-JI7rsDYaEP`APheq2)~g8({3a+*|}S|Mj{ z<v1*xT&|||K$_r-ZgJ^Dvx6?87>OiV4?S<L)nlYPc#PWJ0l#PRRRwm|@kJ`%Fk^rS zBpPjT0D-+v9Zbt=2qi97Ad~tijuQjO8)m=xQ;vO$x;7yC)M@i0pMJRa23oO@8T-!~ zQY4_U>|4QxMFB(LfW`Cj)0gksn{2m2DSsYyCrsrD(NROqgn)5MsV#VDW9y#<r>qo% zZwwP^QJ6UYw;x9s%Q1V$_uwz~Y5W8=F-`Pff5yS;x5st>2x8O_(=ZG|;nspQXB<o? zKy@hjssC}L)0U)=6)T~yD3AorugOcNc^<Q{VjM6$Y@rSmT?T)d6P4iy(em}+(s9c( zrKT}N-sU&~;d1pc=Wzq88@K<*Q7(N(@Ne=rSC@dykcCDkb9=4OdGlp-wR@U{KGJgR zobo|Yk0^rZC+`({eX&)W{QAQ}Vu`)aUik^Jy83v^N#Bl6vN7kssMEiSK9&ehDXy~# zs0)%QBZb%{hw@hy$>yMK(8$jD497k#_^p|j)tPFKV4cvAPEC%T%-cGHa+Znh0*)-* zeyJjJGZUrvsjMCg!nRf)|14*GFn^4hVw+Y9_CvH7|K+OVT9E|_ciw1-7h#09<8JIW zp~m6Oss&%r_f3LVM&i=Ed(zhNHG27*qHC2~;w`8Pb=Y}Y>Vq$rLnoZiG@lZ>XnySE zy2vy&J;Px66!eG&+1Vk|by@1XbH(+gjkU8ik%!DR0;F*uu>OE@s2%B3dng)5f5cKo z_2Ud!{_U5`+n!xEoC<8C-gZrsMg@(u6f*L7!hEoPFL%dCz*~}?^|)1{??zMYy_pr& z4V#z-+zP#EebVCi7NNPe%3f9RB)CpbW=KfoYk82k(@E-kE`g+9x7F4=rT-C?Y-GF5 z0|Fp8Z76x3DXJOU2}@adE-7So6$^;NOY*0_w1>nnm`J6S29>>P9sW>+gVTQ=UepHy za{-;5zjwP64E)Sdk64xvzlkj&xxZPZRtS(S&Xfo!(htJJ&GEDP7o2V~Z=v8tU4rvb z13I5S5&Eua3vRi#fpV^YEymAZMU4^H=1a&%{I;>?S;qIubR|X`R<i-#3H{T10CaS{ z+UlhOzj|t{hQX0wRBw<}H+QnCUc#;7X>~Ro=8{=!EV)z%u-X4IZ>nFORVj#dwaX<c z%8%~R@@&`qtZWzWZ7Q})A>bEQZZD@#{P6ho{ZE<r+~>iB^X^~uo@c+Aj>}y9VB2Vm zoEeSWAkxqM<2wCv<G#<w8~r93p|LKG3XO@Ewp?4+JX_Ov?N|0L|FP1@{BQevs5WpS zqJRH6(|>O<#T=!+H`hIid5U5272++j(9vzrq~;th+a9>5Ca52vfsk`ZLgEbQPvWJ> zn|M?Cc8F(78kbwcuy2r@5pNPU$Cguw>s99;V?NU4O@|nBl@&uRc}eJK7ePO@BkF`I z;3Gdf1Q(JxA}(Oj!v=o(%GFzYxEcLRG|Y8E^iN0U>r7JrT-RN`%WJcW!Sze^q4J4N z#6;WJ0vGv|5`$Vl=~3M^wu@(MmX=bl(B@#AxQxNJLM|hOp*^upJ3p?l8+$hC&1=70 zIr6Uu^1ikwFYO%96WZNJ`>MdlJv;zZl2KPj!YpFY(<Zo<KXNO}Fq-SFj&+_-k<WpN zslhpFb#@ja(=D)7-*;2)jk|wuTQ-jq9d-NH{9ZEr#oi8yvT3`gx6kLeg5?&u6m{g_ z)Gs@ZQ9wdr8^a482b@o1A8smx)q5{a!HPij&`wA-?~RiFv)WNM(&yi3Zan3LYSwy4 zO`y?*SxuhRDT77P-JAU;LjilEAaEfyV?7%~D`A}9!u{Dkpv|5x2zKi7t$vhxAW@v4 z_N-o0ob%+S1<m=u=9*<t%C29s1we|*K1z)4-6A-&jg(UvZqjGalDY6ry&ayG{in+J z<RLts?D$tm`p`?s2|2*}Rbl6{l7YFDf+5I)g7Ygtp%Fw3>qJ)@&Js#;<<GRO)7_rh z)_#Zt)jzvQH`RPrYd+*sOUMcf4T}Cg*!X^$1Iqm~W^1j7GtaVg7tGMy0FzOT!+LJx z5yo;)FuLF%{H+q%NO`oGmZNp#g)J%83Nv<P_>IeYm~e)Eu(n=XmuB-dj)1@C4kLg3 zkE42<?od#@eBcYSdhcyjV9vc2ciDHW5yb}L%Tp^-6<;QtgcKT*%I}QO|HrWlT~6OS z%11zI{kE^THWDi0=<z&{l3VwbQEj;K2}En0wBVBy(b;;hV5eTcZb0+d3?+2y?Hs03 zMnBl<jOK3Cyh!Wy_;o!Y?<AMMNbuz()}7Q--@-YNx8O%MBXeA8!u1v2#oEEp+LT(H zkL%b6^Qi7`<iU2ehLt@wp~q$JkH{@kM~#};8#$ILF=vwBB>ilD*>N)SYR8lSHQB}2 z^-YOfavKrS-S1GQjR!{GHv!LYPwkXx6v-Bn!2@Qlu2x4U8;#2*4N4sp3YW!F^30E| zw7CZi3ux;8il85zn@Bc|D5Gq^5fkj9_}6{QUZ~xwp@Dg3c6$+t*N>|_zgkTCoqyEN zsKzLpL5P(F6ysZ@>QF+NGV^OnV6vfVPipKsH<0&;s)bn!`$Bw{-@;XEF%Ict`$i|E z$(0@YXba+I+4~7+V5O(aliC;fedL32OJA3|2MT@U8~NkV!OON`@l9?0t>Y<a7U{}_ zYYY5-#A_X5i_2DD#*)9;?7`)cr>wY_M!rd|Pex{;ne=5WE1YHfH+QJf6eiqo>U>xL zN4#O^x752@+~k0cSK+pQWBfm)Y+Rue4HJCgy#-%w>@y$-A|;#Pj-c0;v`3~@G+xu| z7sf5QLC3;x&jd8jiHui#w=`=HiNrWWN%=Ze!r>4C3jW|w=IC2U$cUbh7jO9oR-e@P zPS@e!{d<eWnw_dOb@NqK5z9yLW+UbOxp8|+m(T9uK<R}p0l@^AM)@jEv3X&h=0S6t zMUqVnGiIQl|DrDxIE8E+emRoIoD!wnBYdzAUMGlu5=k2^Ra+hL@Sqs7n8<dcKPZjb z)WVri;Fafyn-i<!zXkxYjDe!>!%pdHNO=dzqxC6#@22vCf7DaLL3->F9Az;e$~_<X zs2L#a%r%`q$4b+UM?*b(>2*v~z_;AEE5qhLKPp_kiy37!!9JGs!ZEPl=&r`R@u{e$ zxuo^G3j~e!TOO(a*&ut0Fr<IKwaGelO%e@rWGPnb{g30oYr9eH&=ezZGU%_+<-5|F z8w2>)d-Dyo<-3j|u_?Pi=xRB$=aF1_+>!Nh<u`_gx5Gr5zRx8&TGHk{4^{*FN~CiK z^<5h`AhmgCE_Fn2ziHeR*AzO2Y}MgfM1}q)d%)D3Rh<E2G;fu?Nwo~eTYa~daHpsk ztH?#Ki9DZdO<hi6p@q=?LPKr_ICsNM#HQRi%|aCu!G`s>2-y60?Syo-nlW_|T^D{1 zz2JmXSi=*_SluKAR}aXccYrwZIhBLQJfKTgcc2L6UIXY<(KP1zJ=JcBZgUR$gt_^d zrDI1C`-LfcE2{IrHzeFALye!~$`|3Zol6Kip+CHh%FDOe$FO)k-0?Kmexe^>zN173 z(XO80>%7+TwO)f$T3RAoV`I(C6ud;SpfRz@3+C%;AaY@0zWS@4?fL5UvwL&ddOu2V zsi{@?iY!zVF6tHDCH7_c8meY@jlrK|B_;4j3m81Uvt6my{W^HR(j7*U%r;6S4Kuwf z5n)F)%jXIaIpP$CUmpObhRDx^0p^Owgk7<7<s0nuhkgy<u3~4}{4O(DgXH8(q->zw z0TJ`+^9irSV72w<BV4=`ax`0IM3;<m>5DoQB*g$qY2i1#J)F}w@!Div$=>-p*Vi+g zV(xQjVz&PEkEmgnSmx0!eQ)jj`EH#3E!;#`vSFhW_3NF#Tszs6+bqWNQ1vJn&mQoj zQLQo^Oie5Bt|dhU%R71TJt=Z`cl(2q`t`Ep(gPz)*~Om}1C5tAq+jgi6s_3?p8It| zlis1hS!hI1_11PE0Vt;83T1QZ<>OPAIymEY2GEs#-e(xzp4i9|O@-v>YKo)c2qR+; zT`#)%VN#C!LOqFx#g&~sN#F@TOyJ!wlOE#rnfmItRaexp*wy`>(jMjFNsd6%7808W zF0I7++!FMkkkHUyE89G+OcW0I-5(BG(ugS;F5!fLCP>5~5``KWB@h(YwKNoSn3XmU zgt`SSCBAdT=*Q{t*j>1#Ej6<G;PS5@_Mu#glbR#~v{18atv$*wZiY)w{PI>X<GHOR z4(1wxKjOi)Y?&)wcyDKaUp41iafOF`!MHq$0%yQr`S9P)62mz*^#@R>a)R^llehPL zm7=^b+&?s?7p1ear}!07AM;Cs3<@v`>&)P7hl%a7h2aWDs<1SK7cm@_3In{w?-Dlc zPaYP{eAwBE&T=6?pA$=>0tQ7<KPr|=lWZ+xXw}&Eo6h!=-7y%iJ|hdPJqyPJ@EHF1 z-`OmE0duqk@)PBslZ&LU6?o$vBPZ*k>UdF4f3w%mx=hh4R_m4{*!i67^Zx~+4hbL3 zmUnzAk+0rTk0o|6hUPO?hGE0djZ%gmAt|G6Y|t?CCdSvCT_RJnw=!tycW^ViBL6%4 zs`M|2?HzLcMbSmeQM=_nFNR_lzEAuMnv|M2gMft70eAM+MI8&#ODx5@2SjO`70q>p z0U&G;B`d4o=<J)-5I^g)qZpWlLN^StB#^V9H1>JTIcc3p)tVF1g_UBuc!kbgnpJpL zlWhYzUEMXih1nNMw?^QW75n#DcF0WzMU+F0r9O;1MJY9D3y4di9^0MU%s;Av`YO~m zzF0$}j`W`%`qWkJdGGJz!!gTDPL^KctWU9B<cUHtVM5J(M?k-r=$n%P{Snse?f#)C zUt;wkL8+-4G}8#F-uFQFg@ygthX3|t%d3SR@IE?LFS@0a`9F@e{}P*{H_Yxgt>i-% z@U-xd%V-(=%%aCr0?}2$1PutnQx0mnLF|jLYsdAM!~?^qA=^8N{mFZH56r&beyHf! z^+R=9a6W;PZD>u{w6loyLo}WFYiKO3ju8;2%~O$V%uI50QxyodOaYBg^%Ty-0t-`P zY&Wis9oY~nn0y1QtDJLU|KqTl22j5LcEPcQbF|<6a1#^NTSRRWk~R;`#*v_^&pK@! z_24DI;Avrn1pjLi*z89CL{LTMbOIwnR7O0&-8eJ&FyTP&`P!WeJJP1?sls_e28Q1I zLw_2O*NSAUzm8~qx`^Jml@P|{p14G(J@rZ7?y6yK<3Y&XZ8;m-A)&FgJ=EGGkKu|2 zZOa$~KOKB<C_OnCsg%E~ft84$W{(5TftF7YP;Wx=1LmmBX8$b^$R`<WUb+TZiuwOq zy*SGGE}Rbk2paj;pg~^(a&$hN)y-_O9o}GF5RYkF!TwBMDgLeBwK2BF<P&9|!yX!7 zCNY~WaB|}s(B&m=<<G#V>ov}L^!JOFT062(ycPt$tRLSE@NIru!@c=`+ip@Ha^La3 zBdy!D6E>Uo&wg^LksQI$)jg$S;7HONfE;}j!P67w&jL4TF|ww7>4D4A2}E<O?AeY& zE<Cnm9#+@zFXeMZ(@5k|yXQ*X5!V;^bRoRvTQsNTppoXO;62MC&6AgI>$@x#sPe;n z8#~r$c%dQZZ{iT9H=MQ*s0Tbn@7_cWie6ID)KQ-m<?T31k-J8X=~s&mHp80m;=c$Q zi&~f;)koSm1Rj(lVGv5`=xU%%!S$WM(oA$|c$r@T5E&)J_|bS*QK2xbOR32YF@CeJ zOM1oJSS*OB1FEPL8XVnGX($T=I6l*v1Kc?>#YUzmTVUo>008R`M1%p_(E7wjr%;_= zbJ?2co`VLYx=w0l_nyiAkn<&`A{WjUzgCLz+yuVb$U6Nek;lrWYHVpjueim<Pe6$p z!eP@1<HF$02{Vn-wMp*+=JNQfD2yT0)F8L^D4fYQBC`4GM_$^wJ(uCi*&d%n-ZzrS zj#%V4&Mj}EW=zJXO)@fVvhq`r=NlNi+bmVxijl4>UPCAFc~78RfgEeBvbwX|w8HY8 z(gJM^*jYPti1KCNpt?;>L~w9p7iGIGs4XayZkuYDplWFIl0&8Z_xI9jKI<8qL?8OE z8u=G;Rt5LD3yf>8wfmA?$BKk~Dhtk<n8_F_1wzIpQZZ{DLEA=ipVl}Cm;KxmnClBX z=e@bnMc%(~28y43Nlp&3wcgKPL)>G76UF8G0t6ojNnHvyh}vn1l(taFvEYw??-BFO zI@1{`t!(+kd~6Auy}UfaLVte!(XPw%?E6OVss5rJV`sHP-_?}i+JUc9W4^w%&&!;h zCR}OQ?>}+bkLYU(1>f@T{6216<@M|Xm;SRlueqB!zU~M~9(A$}N_GUYQunm>TO{HT zpm8ns4i_%p(~e-4nDqRhfB@w;E<c+jk<`1=0ROC7Ry>Oxb=fWGX|7t~A0tI_tp{#- z?^QV-eZSc5Hd!tEhA(CA>E(FiP>cc8!vkZ6zo1znu_j=!H*X2u1-o?cNv2Gt+#H;w zI6YiB5vG>5KXBe7Ci3s(QU2|dSKKEg1Px#G&xWlS4-bU`jEN}ibi?$lf|GkRK4C~L z!WBLT;p)*1GONd>4p?Ea7);1>uD_4|w(|9Y#m|3KxRk&-SsOVT;q@JkvgP}B=Zc)g zI5x0peayLb$2IyN_9^Px&YwHUX18oJ^V8hv#$lIgM;cW3Nh)L<xOh%h%H*C{!`o!P zjrqDA6g0k>-^=CfKY7y=d`|7g_cM|5ao=2xVCq9ec|>4zgMZ-CI^ysslIau3Y-+?H zl)IA+UiJ3=MUOWYPgM3My}c~2_UKr(06F_DW2VeO)jd6wY*+)=*X=J=Da;e>zAhhW z;p(hTfLr}&8l4FPbt!lLgzYQ@PEf<1*39yW#mOlprq!K#nE48ey_)3|VjLR5!YCN} zWq1-=BX&2y-w_!<l*|f-P9StBdXfNT^W~GfE2oWwHQIwr%5Sh+6Me1cckoAQ+rR#g zqjPa&^8eqz-W{YwC*@30DoI4nbaIY`5X0oyFmgU`oun9Y80A<w%xRY6Ff0i<E{0{y zoS8YZv0<Oz{r&w5_kF+a*Yj{)*W)0Y<sVfBHGM=&Md$>Jh+EzjaFIEZZGz8`Fzjs& zTR^fHas9s9{T7z=CZAdo=Wp>~amHxG|9Dhs<Eb8ng|&ZB!t$lasP4kySoa&qlh-?p zkERJ2U2gC;*T#M+48>+R5&TI8C{t_*5J3+71Ed(P<Jza(#`5FluiAJdkBVend?x+r zygZKcsr&R*x@|<6@8o_+<OkcdDfs|>S(?5W1B+(5ZcB=_0sow|*|nh5cw65Q`a)5T zb`5iHE%vRoQY<M&eg9S8?9WAP>mTH79n+;@-1v!d09tjUCM@o$yZeXKsD3hPHI?D} zKc3m>3Aq>>`HTaUzNQ5pDQaToN8wg1ybHs(Ml7^3{ss44@b0lOZfo;@At@q#3HO}! z%KG(*z@KvS{bumjDS%4u(GRBQ`61Y~$VNOAzwbl13J3p=Qi$uCXOP~`Hji0E1d|(a zQ?n6>HpCe3G~$h)Lf<?lv<$k3^1Gbk5t@Fp!u0-2B2>PZ_h^2iRX3ZFO~%>Ew+$gN z$4hFKb1-#z<Uj02k=)D3wd>s$HcgOp#(v&6&fcE(e)u}JV^4x}4Ch5*ro11H(u(w{ zv(LWvEz}X*wjfnQNm)ACI)A+1y5ny8uK3uk-_BmQ!r)7=fPTfy>#Pu)c#<bTBZy9f ze3|l(6VLuz797^!!<7mI(B)s!Tc1lCUY)QL{$vo?F=xs5bKiIyE4t#;7d%J?MsW}s zd}^loW>tXSfZ7hM5*aLEz$g2A^XRz2NEeSAFirbWlmdvT?id~qG;~zh1aFUyWBJcf zAIrKtyU?Q~75jKA@$)wz@M*28x$pcpZ{18eZyIslb{Hd*^ycNW1vFYtgOki*VScPH zM66uE{foUjTwd<}`%@!qMjPq+_W*GaOxIMQ*u0M~4c%G}H1W&w4%l9!aM8S_qg_{a zP?AS{{>O7KU*^h(KV3&=q{Usc=NoR+eV@n}mG|@HJR8s|0PY{I=jVNsUC+X>48!!3 zKLXlBPWHg~+k_X6%*gO+Xm7=3o=fv6td1mrAVXW#+UJ#O-1)p!nyGmetd`hc8G6-X zEu{?Tp*=0Lj(^5%V-1&fb6u-Evd~JK%FCqY^32c>#@sGEc42d>$;@Q`hfO?8&2xga zhw%f4OPPeJu|Vs~ji8K(ADwzAe8{jsXkgyww|{to`@@AgA!@%(AdQ)E2{rz-1sZ2H z`ij8WHqtjKuY8T3>Bt?D6BR@HyBMXmcV*Y}@o)<%(C;L8^`_co{EUXMI8*Z7Ytlr+ zjrq@w19LEWi0yTS?GRfW4Y9fSYrRMS<>!5^<4K&^)$K-a5QBMcraxBdt@bSz_x#_1 z?6w~&Hf+@A_dMK{h?km^fw`|Tv(IOjDMID9VJq|&+WKBKS~Z^;As}oo|BSMp1P*no zTZDVPfSk~NzH!(ITKn1e?43)9>d)f_=QY=<A4L|B{I-KV=VHH|VwnO%S%QMzWZp%? z>+Lh%hLi_S;!tBy%pQZ(gCH_!r=rdcG+p99OMQ3_B<`LydoLb$B;B>2SK~mwFO1%A z^A>81xAWW0bA8=?yI#FS-GDW$cniy6sw;l{AI}A#Q9fm7jHa)NE=z(nmC@^U);u$B zcz8t?Dl6j7yUm4={A_7XSqO;C+dF-WQ`sd}b(sn|lzqaTIR!mP<HktwS%y*iQnxWr zz|*>oyw9t?qjGZftAghAzon$v;z_n|qXL0wCYb(ShEeO_^)PoutuI=yB8OO@0KX6> zW;~FHxtga__}jwogtfsu<v1k{|6%ggu?T)o)hX+e&!mv_D<(Q(_7T2VSe<5>^LqUY zjjjN5&Xw9+LS8iSR5Mxi<be^r&K`k6vkS_rI;?v2)w|e+J>=|}3jLr5IdaBBB^C|0 za7})`RL#){$p>XOQZ3T1*F(bPqBU1@zHCF@+|(7L+ax=N)i3V7a_ES{ea=f;_$D5> zbtW0fzvb{Ojwzn<6<Ea7V9A99tkvR6#Apz7Ya041AX;?3j$#MUUq1%^rk#QR2VFN6 zLRzHX=!p*~J}kc9Z7`56U`~q~cp#EJ(TCpe28XlQcOpj9&4kqlzpi;Z>VvzWyWGdS z#EzD0>$#YSm2VG=yM#S7ddVUheyB$lE3HHwf1-ct%GCO9T555LQ}>eTnmyC7ciQto z!B{~dK4i`hVWzMf{;Ykl$*-6mW~y^+m44p&W?jlxy$7ycbfPP<Ik<=KL}tG~Xs-%K z#NfjPa=a?zkk`Ay>v4#-b-9M!gc%Lo=ccQb9d~-hOk=FZjtIPR{S*x>T5HalTVv2$ z@`UDuX@52EQ8m~Bd1o2Z(B3sICB!&)KK|h;`Lq9(^XGsGU4M>DiY`9$y1na#JD<@+ zQ%g@j5I{_fKm#biSBy~5fo~O8u6MRaE*jOY_k8~6dvm0pcAXvg=}YI{y~*I#QdXFL zv%y3o1)_^TpurDLDt0Um^XaGz+5lW8S;PrlxupQM-_*cK@u&{I$RCh2lv7M&2u6k( z>}zMT!~v9*ut@l0#HjixeoyP_;4mIi!C3RCp;dSO&I)V)&FUCcAE%$s4qgzEsdXqF zh%h;u;is1Y!LO?(TE`b&l<NjqV19<^N4>VYYSY4_3H|6|+1C-5k3Kmx8_*i7)1W(? zh6V+j-=)g&Vo^YnjY99RC<Sf7u^Yo=HZnHB7kzZk?shER9%P=RTU?C#WBFh)Uqt%t z+paEQ?TEO^j_H^G!nQ!CL`*}{e48yzaW3?!%5x#_SbH=x-`s`pqTP%31DF}joQWdq zSAG-V-Z+!VdV!^S-XZ6}Om?=DJm1~SLi4Ofx;NE{LfF*{CyPF-m)EGt;Qp5m(1cC~ zsa<WnkgO%Egigz98l_qRDs>;Y_Fd!Y`YETgnF*@BV*^$R<f&k^Z;ZNmUl)zw$G|>( zH?$8vr<7>+0BQ^U9l~|JjLb{r`#BpV^;nd7=|RoT8)Q&bdU^}l2H;S&c-*SJ78Phh z)5A9`WX2{;ziR|TZLQSx;6~$txq*9Cg5sOTMBb5R(J($UMX1vWian)pPJ!#GQu#Ly zW`#mg2M5Nmv=Nqu@xFhB#IG^XW&m2la3=Swk7UccoeEAkoDXrf49EyMh(tKr^=Nna z89kVQjdAvn^BaQkMOr_VHd@=RcWMV5lFFL{?}=AsH-zUasQH@`Z9}p9YL=49)%Hwq z%^qj<NvhSx!xZt^bAQ~ANd4Z_hx!~veJ@W>H-oH_wk}P}gKbjakad#)-G*C_;*RTt ze5x1WWN&nO)mrgMSXwx;-SYv8oQE!{ER;RAx@gL8U&UjcCK-0?(1NzB40)s?_{XqM zjn{~8A8R#1$kSsy9}Q{?3^m`lfG-qk@0)9UJ90g*=Z|pL<0>i0tb8s&cYVZm0x}Ri zCL$m$9iOlYGjgSPixKLnG2-cQ@9%Q>`m<e<x;|6&EV)GEejZ**z30Oe21<2tjIB39 zLs+Y=_!hCVX!*eOXTR~{%~|BDqG(KFBHSr^MmzeYfhGsAuRj+{%SmZo&ht~uV2&jg zxYr1!m+au!W3WDvGcWIKC4NhOEjdv?vsH2N!PA0~gPXNm4VjiE6iyW$oNiIsD9-Gn zGjjDLp@AmKCX`?T6aIQE*pIQMdFo<2_xk!MugUQ0itEDdFHT0!UWR=Byxb{qOz-9} z!BZ>nz8Sk2`+qAJM{!3Ju(=6kREt_sw}$q6nBTCQ&RI4PJY%P?oqx!8`pL7~Gw^ZW zhh6<0GA)`z2ToaoN<hXnJF7<wbVk5_h&{^+sWx5RH~00ds=qmsTJSOZl}WmIklt_2 z*Kdh4prt!WO_?TRio1wTtGH*8rkOVeqHnEc03I1DjW_3NqA(=c(|U(F!83_BVCs4i zAe1iUvbbALYJ`r~L3@_`im4GGQv}tgQ>HIWr2L*UpEOWD#PQUgZbTUs!le2{Ez52M zSXo7Fc$3YOuxu&AFz}2c?!%?G_jY4oLesjJ<E>=w2;5EB6uN0-c~9WC_>4wL&NY+q z5&smjBOp6}%&`~A(RNgO-$_E2ETU|i6bsips|?MilU`RY)hS@YG?!@BB=`H$@5Qy_ zKiR$QXt>rUt<=H$cVm9&+w$zVl%k?zIA#Lq4%=3~^&tOv3Tyt;FesN@ZLsodF0UA& zeVjQBRf{-UQ+M&DPC=zgx$7sP&i;Gy_54@~Ly78KdCgRmeR4n&z<#4T))2~;q7uSP zgcd}Ty^IT?@>+I5-bLuUS1xZ}<h^oBsCDI2L6XlKjX#W$mJ}7zw`-${<6};%@>tr? zqH&|L>D(M)9FAU+lo8E%4VMVBY>zj?Qs~M=anF!TLDs1uhx(1w7nS)cj%pcv$H}Lq zY?}Z<1F^)iHRkR|LlG<aU-I~Ywg#GaF_n8=p3RQmGYX?>pIl#jaY6Y5RuKRfzLVMS z5qspKqw{k1@KE%P%h*yIQ?y~l+5lj$(HUPm|Kr(}`&#BUXrV~^yR~~`z7w8vE*I<+ z{U8gQ`AV@KM{1T2xg65?)8(S&S)xkrrL_Hxw@90xAK@<F1y!YIMRzX1woFd@O{Zqp z&@V6vo}5#EnHTF?UR@RGed{sPic0EUSth*q@4}h~MVISj=flRl2k6-Q!$^0&68SQp z8v3`T3DpgiyShSmpY*kuqQF;fbOxmue_8Vt8%=x~vGo^eo4AO+n^Ki9NYD@6+J=0b zb6y|5;bLuUp!DvXH<4|*4O)+sQe>px@k&2YH&9b;FvY4cg^7KfJe+zE-52@A(UY%R zV5DwmG?GC6vvb9))-8+vosh$I6iJ$*O7{h}%sqzsn(8uTyl-jZggfcGqTBwvwFW8g zq*P5ZWph>#57kbZsTF2;hfd7rRu+eEepYBb^X=CwV{!fqviu=`Bn&a0uiMl~tXkNL z#Mm0`scU&*q<0XjE=Of$VfRZq88Vvd-a#FlIT6^;l2+6)l#|^=<OKIcIz21=K2YY1 z_r@{5F5Ne_qY~z9_v_&L#8WRC(ec68AK&ispNmP~T$op~2dB4sxc*8JxQHUE)8lRo zCyHj=81CpYEX*wdJdKC<`-Id^zzVM$+zpwaW<c&7T+Ls9cr%>_wd^=2X-8@d9?M=p zw?rK1cC`kgz3KSvIvUw(M-4eYpXPotXf`FnXM2E2hTV*?F08ug_4?kSd*YFSuelKx z{T0JGsdY(}Ni`8FbGY#qH=^emHeTQ#3y`}eTtu8r&jN>7mQregRTzdNg7wuNzfQSB zuB6k=OuFjU#vD!O%~Tb9F_@$t>==1QVc|^>pGui++PK#_1*AWJjKbwcx7?@vr+(v{ zVrv5%w@U1u*C6fjaKk?f|I{toI?uR=o2GZ!6?*QlR|q*t3woWJI`iMkD2`^rDc~=Z zaD!u}l^$}Eud-A8Cz>;%FVaiTAQ7f{=d2LG%raITahflv2XkHIae&xAhckb#y;PS; zLW^wE9nY_=*m{E(U>q(&CbtZ#r3Z9^SVhJkZXe?LSib*y=r2(J{NI}&U5vFK`sJDn z;&ccnO7uegYPbi!+^yq!fx{|f6l*V;MQnC+53Sr-TX`#(wNCymjg=Y={1hoQ?hpx_ zFQ>$#kptW<Tv6Eq;2_;^JD3Pv-X@qLjJPUXCA)f3Z9w>Z)PKC?gdU;gnG*PtEg2QP z10oV}u5T5xqUvCJdZ1vese+20a*!L}bVEjwcw+R!LvMFCAc-6Q8Fw$Om{TCtiFxah zp?a2o)`-VgbqBhFjEBnvUZb~v7BrmUmVClQInoBU-`il-6gJUPejtEEp=wEmO?k8M z*!?RlF)-;>gG0;rD2EOL45c1#V=vdh0Bb3*^oPuCYE6YJ*b{UJf@V#7d1hlyimNP? z1g`^AFBbu^AIT1~<ig0N^1)of!<2loVSe+$tzgXnm0t1LEtJexwvh%0DL^&%t~fC` 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%0Df2 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�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 PPVZN>noTdiPr(1#3`;dt diff --git a/.next/static/media/heather-terry.3aaa9642.jpg b/.next/static/media/heather-terry.3aaa9642.jpg deleted file mode 100644 index c880cd50047ed5583dbc7ef9e71c57f192e6f332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1156617 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%0Dk=c9pKeyuVV?S8>f@^NpvIhqBUT+$8Z=P;v0& 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 nNn&b$-Ed+9p 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\p!PXESDRNpiV zDl}>Ex<KKK_g+Ti$e8%1SBGu-&{8wPZ*+HD&+84->o>>3fyVzxEgvHS&E6pcFLEAx z=~QCBwPqFC%louKoGbPsDh$c@7i-0u6f$+62f?TZ(my#gYwOA*_~nCJ-_opAdd9pu z7CT_vufXRue!*vTNL)gf{JX>|mu#^C`%~dx-GXxe&fs|CIg|f^eY42@=|h_)Z7Pzh zw{Ky{2ZS3+P*O?l%$_$@fo#&2njO;A)Ny&a7=eQ}yzyjRyHjpjsH^0V9K#Vm@QRlY zs`&OzxwP?IeHsBhap{DBt3xhtzaklMHPUXEP~7{Asioo9$&yD^Ty@m{4g|gY$&BL$ zMCnoft45M_NQxoG3$;4*<(H&iKGy4fHQK(bUdO*<R&oB-!v7SNjQ!7F397{IKYd7* zoVn6I$GDQ+78I_&QMIEz644fE|Kaa%-{$XS4V<*<QXxQs-hV0a9e4TG|8if>y=~x^ zq*OZWiT&mXzV!dyVOFBr>gne9dtmYDkEQ?pVZlj?vJ%y@{0*2rJ^uYVu-!XS(pF=Q z3;MC#T2z7U;@p+1L-$^?Pb(`$fhxzCU$jyE`}<6oXc1w@^QiioemLb=e)Il^cdEV8 ze<<!{&b3bbPdH3?@pA4ujycbK)!CB?+q`c1YBRr#mp7S|zmXpj8RHrxDk+`sSsB_a z(Iy_iZ0=cv%lO~<@UcRK&08ecGV$1pI1|v(8JRMgfI5-*^iD*lHZKt9pPan*=gWx3 zDdfl_`}(G4y#IsW_2g=NXP2)Tq*6bTv&x>;MqQ6H6}I*>Ir&3#`a-?~Hz<5xt_%IU z`FCp(*1h7fw%ovsvCYw78Seg7xdrWFQ}x6muksYC+!NBgdJ~q2QE-{d+QV!vlz!zN zaN3Nvt)wfI_DycNR~zOdA8Ue><ddE&24)RGCeP+ZPL58b>%py-io1ow%d6SfJSHh| zX1Cuv%&7yPc3Rxg80HhC71-vH_&#hZ|LW&s+C?B|;tFKO(sSphjig+7VKqdJ!zyIQ zCAV{@Fr|0^|1C9mP|)>TYO#Mam3YgafrsMx8{WgCs>26<4P7Otw_myJBY$56T|YV6 zwDGhlqY7gC>9pC+mswcy$+A^ZpjAWSUnl#&Y3NBYr)KZ9|6+E*C41hJ|Ks<>%3Zlh zDwoy(>+mZI<3whzU@<fz?!z^pMXNDGaN$5C=2?!Z5^t!&NU~@x?$4u`$j|cofBep& zBeni+>s*!G0}g)3F*!>I_oy9a8f{0M{G6KILKMmGnnj!hsz-*3T9jA^QtycgF*dQm zCC&w;qRwR+%4@`iqu-Z-uBK<+2v&qc_uMKJHYqLg8fPKDC3##Ym{|J(CXm2Wu!_Kb zt{)tGF9ZCdr0`Gt?}ye;zdm};KQlxtVf{`F`!Vl-N+*`bY#&tWC=*4BC+=TED9e3W zlg-MsD}gT$L3ku&zv78Ls}3z)X*+=i?NoL$>|g_9^+bbWg~IZ}*OdNt-loYq?hN9e zXM6Q{r{(e7W74xIcZIr;(-6tMLltHLzk;6^Si||j96=<x;M{m}z8}5pH-wy#O}h_X zaP+hgkE-pynU-K2YTh2=C(0k)E55U>xSYFI5ubl*oMDS!HRzf+I+0B-qU@qoE9XH$ z^+*5RxnCaw-j|J69TZ~czsDT$E!pIck1;!iI;6WPJz5Uzei%`ROJ<Nk$1uW~C5X#- zvU()@Xzun;Rl5GJrz!h8t|cSede316-w~-ly!j5H|I6t7&i2a7BD@z!*!zxqoga*1 zf-bvv+6R>pfKaP))K$fhZt42XDoLy2t2OqpA(V3~1@&gCGUE<j-^fqT2mMFV`}ZmR zP0=^sJ($fzd=(S4v^qSSl73$PIKU0amdvP|VqK8+O>^f?kVrA(l*0q@RjgZxMwac* zv^!5<8L>%JGO=k!HT3-}#QHzXH&-*x>)YomR$p~1D%@_tdpvnxcQ*I5k){WuRkH<r zvtO&g9;cI{$7slp`LCVU52(2m;vDam_1yXNo=fJcu1}h3;Za&3@9{YIz(G^S*QSM_ z+w5w80ElmDE(g1+^L2K1YIQjK3*aavalydfF40+P<Z4wSyyao6n2?#XSlB>wK;Fn= z1J!N|$4T`=e92S?z75~;-yI%aJW`OgbqEFJPzh7U2F;vX1s{e>m4K7bJFjiNz>`@x z08zCM0;{%Ew7XkW68_4%%Qu&K4{f{>{<TAL_3~H>D=6ww9U74r^4}d?(WjyYuj1hK ziR6XS6two7e{tR9f!)h}-cT^R?mTfz*0ilXOJ@72g7%tdt(N+5uiy8xtUBEeY*m|m zQ|`^TOI75veIIu?mI9l64`=MSGzjw?s%UiUACMTyv*s&W;<*<=lXeegH%`xM3)o>k zF)w_>TlBU)>%9&w)Ss_(!|}g66>nzZvXVI6YX2ElrJh7jjJD7G{u*+&__I;)<)~|X zeuR)o=|b|0gF|=3!pzn9W%Jap%c#F6i~i>J&}&el^`*a~nbDmie`Gtpo#l#q+7ANi zakGUPZb#ZtWMS*UGoqo8pk&5y+3-mF9q6&vSrk)$t%J1u+G^0IP26(&H@<@IfNyIt zW1c$mDg(a8ZOu4TTeUq7t@+XYZP1?g7;hj)QIqvW&;N4nu*i=-gubKt3;N#UPgYT{ z?g3vLMA?;~Kz6G@Yh+asajT)6Ld-eBaAq^pe<?}1{$G57PfvZ1(KtSR+G*>T|16X2 z{(4rYS#5>Cc_Vi3;<GYkE@Xk<G|5l<gZA}bOD|vDX)6~0rqW6?{7HJxE=5@{Ys}UX z9MPFJO27zfBeV4=AI;pAu6mCOaC3U>VZ(fkgdx4tb;q|&TIdHqCI8^?d)4p#m?H}# zss_r4OkBKlig~{(8q(2a9ofD3?Ii6PY-Qp~Vm%n0C_f+nqvo+{Z>ME1E@QtN&N1^3 z|L~{E#$V3lH*?sBen-f_9cW}hOrjqO0Ak)<YV%lb{JJ{4=YL{<_L1CELDqXS*KS@- z-kR&-X8gV{I0Fsc%n)d8oWkZ<3ELn6uI=sOw1}8!X5*C=Tf_T}=miO{7tP-P4!nD* z1f*|LVF3-&Y1x6e-t@GNyfIG9ob?aU>A2)E=&_V=9<W@o$K|Nos|I@JI67(4#H8eJ z3YS%bMbeYuLX$Q#kY?60W3-Y|zt!qkb3f0b`TFX>QM_Msl=@%fE1U+Mr_IjnEq&C0 zc~;vB+Q~0gxN(*7f+e+nd6kjdrO0c;5TAKNuewA<QOWYg!|K^mvIH!|w0WssGnN|{ zQ!}Ay@HXcN-PcBE2u^zi8K9JbwnBZ^742H&WLK1;be55x(zjzf{&n+&UOk0A7YqHa zmpBK`X?KwvD5oczDGHELT5MLykXcp^0PzZZ>3m2osD|OYBk4UG#UC8v2Ut4gz90Qd zqKa;JMhPZXo_aDbnsqeb<@5x<hGx}vOjl)uMoKKaIOlPGZ&85ORKPh;3vCeLw@rIW z11RO+BCoM;+J3~{7rqKUQ8JK|6DXOo+ruMdE~yeCn~sZ~VF)cD79JaMCmu~HVz?N8 zeOX^iJEQ1cJqA6x#9_D~&_biqi2*4l&qHfm0PB%s9rM?SAVbzB;xy(%Tv~(BBW1AI zZJ=@!viM?!eQFkOia)yulnS0@{;nn5_~))bIswk}oX_nCI(vJIb$*p8=IrU2&n6n! zmf>a8u{p$F-`rNre0Vh6r~&An8G8A|^w*|E(9k1Y!j9(M57APep$4-ls_M+Kbn_U$ zt5o{4THRinEEHky(mOGdAdY}ygY@wY7pg23yBWXOBO0Ne;a`^B&W6u&&B~jUJ@AI! z>m09qZ}L<#OJoK)#LjAlo(x%UlT6(ytoK-UX}gu|+G-=+&>&;rq56V>Uiz}FKUj{R ze>gLuq@L^u)}-ZRtbsc4159_v5h16}5Bp8}-ic~g&$+dRJBv_&402q$K%4qv5&uHx zg8%L$NE{vfB>rSx=!#9A`#7~L^qXUm=8@xcDSqppU1bjqa8n|OUh5bV4%vf1l6Ac| z7gYw&mAEb0e*{qg9HtdOYR)ROe6Cinr@BtS@`b%<-F_GgGf4m%ds!gD<Ti%}_!hqS zg0*L$4k(+;s0NfuQ&SKVXoW|(g&7JNS|T4*saL#{dsrM?9H#%hU9x;H=u*7b5>`0U zqg)!Zp;RSSQs~;?{j}HP06pvZZ-RulLr|0L>rhy!rkKZwHHe_EZ|hywi&Y%<sQ|{! z;u9-a{i>{9+LUMDbEVtnAx@i=ZSo0sg&j<P@zFoGvld!RIhx`F4pOHXX<}f#XNJ3E zz>GZ~Kf8&$TuJE^{L6ZXcMNj!3p<4DeBkAcMKveN74<gfK7M_`pS!Z-)iBtV@y1Jn z@A%*J>%Efn`G2C1j%j+|*Y$!5<r|co0e1UJizYt-(p%PYN_K#Avt-*woj}PXztNG0 zb(I|hu>AlL5q#e}2!WBy`C++x3ZTA77BfGWShj}Z7eb2wss1G^40K8~&v`X)$W5Mp zGY3se^5K6&)EunzATiqTdCQ5rx?ur3dW=bisr{&^=l`STx;=`W!U7AQG~`u`*|r%4 z8G&}oYl<Y>^3Z}p!$v_3`~eMmCla!wzQI8L4Id42q;?k7eLx4;xEyV=I}QtJ*lEQ8 zJcnn33BYF=Gk(nz8U_YV{ga01l_jvbRcZEJns6QcDM^jGcCAwTF)1l`bLIOeoPAaL z-9P&^8pnoWR&=o_GmGap+J&0&sm$=27O2Qn@`kdfNwNc^R|32u;RWsjhnB)`_AIU+ zbg|D3Y`Eh%K7$G#nI={i8#g!O05VA##Q+94LAyYB=ruk~O;AX23@{K=0qfH4oNjnz zW#BB3OUd^>Moc>vy^Xy<e<U<4R^&By$TRav-HyakXmei%7DLAOsLw`Tbi2@_L_Whz zVqYNS5_9X%fTsM^_{M5C-B4%6Vc=w@p<W?HfUz$2rAqW}>}Z97gRgYq+gXvy&BIxc z582(b5hzt5`kLk`RzdJy_Sc8oy6aqKt8a4`ZQ7X4j@_k_ICx9<nnvV{p?6|Dt5Nt$ zLVe9goc~JWN_Kc8O`D!nhVTZg;<$>Juq!7ug^u;_^ZV}(RhGMmN%YM^ZDw0O58t#Y zc6`C>P?)EIXvnkmvb&rO8|gG=$C-%%c32u0$0v8z0^AF^4C#~%wB4(?u>g0e+(`re zxt+jU{;5M*EO3iQ<$rflwCU)Eu;i7)E&9V*Ww@W+N?rx%Bx<m%?^3%snA3n!O4h3i zvaz#P5$>p{rClO2;DtoW{(Dh!Ab_7T3F>OwbcI}%>+Bkhi|E|7=izj(s#TwoV-jgR zp*D43AI7R`iP+%_V{$W!8j;GMlF?lJOx|y%N?Y68ty45`cGU95?Y#OV+U1G)oWJqk zGG0l>$#H}$TU+l~kEIe~hQBF1GUI3#bz5!qseU5q`uYnd#Se8f41XDc&yW~C-8}|o z-k!o+b5pa70&kr+I^_puE0T(-*+hD#(aJB!oO9+klu%ePZECwgj*vr%r^XemlkFvl zzdQ0a8zJ6wzrK^>dIEVE0$fQ?ii71gv$EF>MD<Boacja}J#ELOjZKq=XI{CQ-<p_} z&ybA&$O^Z;K_$GnIeI~;jI2kc^}VOGJ4&F;;5R6ddK_q=4aBc_^$>);8i1GkgVGu* zyujK|lbu+uqx$oMap|{<1bq$mpJXqAinyYhUKa~ajc1$J3I}B?6vLpRs$g9=0VO0D zXR*-oX0ENYVi?5BK<MHTOl_wL2Xl6@%H?=pi-wEcGS2W*D)@c5`5)f52D>!srB{*7 zUr|!EU}xm6AH--+tfq(4z@ui+^M*EklT~as8g-MYL!<djyFl!35sVpb3a!M?+B1z( zbd(As#x-EHWjA#v){VVn{<|Z3?YOZbx0W3CQiH@;OUIMpSR0)EWW5Ie&B<D^TGx<C z!LE>pO;3ifMA7p>YhbDm-qlkF$GEavgqWl#3YFM%wcDHpp4&;yQMTK#S6}PCTFcKi zRNr@RQzGv1)yrp>FAL-d6eA%D#;E1xg7PHDh$4S|;<6d7{=u*6UZvNV-!>BT0Ypmu zZSgzW{u#iV6?5DRi*#o9L9l6~gokB}&o8h?Xx?q<>XK%*xnZA+YDV7&CZByHf@1nX zBfb`u&2hfLHi|AQbI;)0paMWkWwTthh+<q6(tP(fSUcD~TCGqHZ?B-xZ^-3V_}5fb z`y&!Zf14fJpXVBQO2@pc7eu`HtyiH#Io7aMQNG^(U#vC#J$dFm9IPP;$!E!f+bM$j z+}0lp!Pa+QBP1gqX{#P6vx?Z%Wu`J?tteg(#i1)fI}?<ov!bafirY<}Y=iIb<R5Mc zimShFj&Dhg6`h|egrv`u)xI5E7a?E(RZzrxi*kCx@C83f3TJ{&>K<W>?W6d-qK}j% ziu|D@??F2W;?jaP7E5sm?`7I)vi!Ifb^x!<A7aI^XxC}<oaf<bh5y~8p?}*HX2;MI z=pnxSj3F?)!uLVZVZ@#}Zp;kVPZ8SDnV~EvD-N}$V^mGBBL=UUf5%>ULs>=lPMF%A zNi<2vn4hdb0i5xm3)Ic|_srub_Bhj%$4xX8_gnl}ePv-M=p)8f?<S+vHW?}6hvqjf zAt-jQ2Y6G%7W;As@`4Bj_UrPsm{rvglqO1Kw}_ZwQ_c|N=~VW&^VA`)WwJSog8m+( zTdWc%GNEFdLX9TNL@)VTQhFMlTRBi#rl~Bl1DijBot#|x*`@ksO)IptB}yb8ioR+b z<2ILs6H*yT*@+dss%+g$Mn!Xd8&VeL`R_kR@b($?ItiJfVkys<vsSg+6<%JR`U3b8 z3&2_`;tFo0i05lvN#31*x#hB?wHqq@bN#9uY~GfdN!V%7OR+cpjC+7~pYkM*UdD8! zq94!tFY!)<-_34HebCeroWpV<)9;PWj#X7ice1D6wpfuI7-TS{HIAhb>2;L;TsEFu zpsLNwV3)<g^150YWo)72Zdwlb;^(7(J3_pB7D(RACvkB`@_a9fo7aDyHs;e(o^SFQ zzdk%)r9u<mYc#ONo7GjhY0=K4q{l@~ZcA<0{f^WwQ4#^<cP37%Khs&8m*XhnxHce) z-O7F(7Lpa$95nxPitfoosC$C@DlraXX63(|8|^!eQJq?`)8xD|`-AJ4&4f&qqFxXo z>l<NfC`>446MVD@bq88pE6@^<%H%_EsKsQVB!{X;+2ol~5`t5W8oXj+i1_i}9V4>j zFBO6-9SKO6Om3E+xYk;KoGn=#_06AKv2RWE`|u9#$uH9^7KvVhPk=87W!&Kv26Pa! znQj$~^kz~#qcC*)rpe}n<=2CQmtF<(NMEosx+fS7rsYm4=5QO09xS%Pj%}ZX)dM;~ z*9r^$%{gE(hMjWW;3|zw(zQX~wNtL?fGc^)#W?|)T!}K2>K7iTXzxpQf!s64-;Lus zzwDTl>>Bu~gB5kIWbQ}z{+th2R??X9yH-<W^a&`A?J@5Cj?$#jmO^W1;06#PpOSC# zogS3y3JokxU)W%FR_U=`vIT;m+r>#$BTr9AsM;l%J!zK$e5#a`ASeeGKV}YW+ADow z;N{`mSTpl8YuG$ooYyVOUb$4glY_-Li<eHjR6yJ~fdAEGpE}gQI1|b3auH5}1ii&5 zhYYQVTAWW+f1WNO`C@hGqEh5c7DB0walKEwnzCn29XP68t$a*U)OE{t1Ud9-Csj4k zt7_vVw>-qzsPzKl`6JJE!F5Rna8uh@Y_u!P<9B>zqZ-HGGZLG#u7(mTyck`#_s9C# zXBlic>Rm!>UC$J=#bZ@s6lLONMym>?-eqZs4v|<ZJ1vHNP-Y$cNyR|Z3!z?gm&%I# zd3A~XkW-iyA%c07knT&zL)<dV7h{xp<NV`#TderAST&PX6${<xNSAe{$M!S3v!y$) zzd$j=J{iX3+^s`(b(nweLbPVTx-fAoZ&QyywwN%2$4E4m>bZCxdU=US%7W%tOzT4* zWr;#84?JwW_#FI0J$=2I;Q!sht4f~!P3lq`tYqeW(Mz#P*I`^vrKb9)V!2DKN-+e{ z@e+*j8L1CoT5VWZQp`4E+RE<wbAIrEmdFwH%c(fmcl_?cX6vXlXN0W@ja{j?CW~=& zEsrfSy4#@^miSrY9nyZ$Duqb|US`Mw_-YytU0qmR>rDAF6#DOlI^SF;{)L6xWIX$o zMRTqWgY8X;wT(qDpSLtbFLbcEOG?&p)1%}q$EA5x=RcNNqLetWe|`_GT}lh;GZgHb zx*1n~;stY$m<$D^`@T(UjM$bf$ka8sr5WsMtj6u<@%1^9)kW3%341O0Vc*YUI9hXt zn9IKBoPK?JMRalg=mXKgyH*{l#-&JV_|CAI>MHQ2^FdOud>RXGS^I4K+)!HA<5oyM zuuWz3Z;{IeNkRhmLz|vh;c}#{Vul+sMdB_`7xqe-e3vI@tpF&t&dJS;2oaU;HoW_> zverUTFK>RXABg2CH>p0HLbwO)f(+l-c0$SO8fV|P;dQ%de-IvM=5ARaL|~lf4E+}E z7^4BjW1*=Lk)P!M?qGEuDc5GgeHnL-@$hYStL_QBhTEQ}8N^n`>=_QdJNM`1)}Stl zxj5)1kAJ1iL4NM#1ObyZd${m@B*gYNtEcxJ(~s+`6VjS{W;X?$bQD@kt)-g&ZdB<W zItu$(UG%};Yd9p_C8>N_*SJEET6f65R~j?CtJunA!*cbGV)EhoIJ`r$e?%0m`24-s zQFuc-Y(okAnc!-zlxlA;IqKJ+(aWj|eav~=YFNZx!-{5CpJ33Mg}adt&XXc|V5xM^ zz-`lZ3PhI=-sSfirujp8*kA!#oEf%Y{GyHJD@bVR4d%J7C)RWQYh#AeduWSA*r0}Z zpZ))m(;i~B@?~<TDwHPSB#}-_JzD0iEN+m{B*<p39LmwY{Rk*~v7DEZeHg(UG5dsj zJ#0^gaI3yHIua96olMzga^BUux#l=qIF^|XI511H#TElnRJCR98_Xe<rTPdi*bzIa zG^tTYZnDwRJWO~1yIvq@hL_!|ue5Xve71A>xA9KaI%Ax<t(IrRjCbj`v>=E}ox2Px zH{o5@y7b<KGu=I@e6G&}9RNltII+PU$D+IW8>A}IXMQHtH&Z|j_g0pHLtZ}u`oed{ zg>Ct7>Z3`kAISBO0EHB`YFVU*--Pfe@$-JumoZafm#u{=zoh~vkcTNQR)E&eK)G=0 z862TBZArgF361t;4K%MJ`zwln%%iH}f|;vMU}m1cDgIckbl#bjmEHA~`R$l(*x5W5 z_xc6my&~sKi=Pj|%A_Au$PV8y?vMjbBCRqui^Ocr<wT&)LRVH1Q@QQV?5RLwy(6D| z*WN^!LRzujT_qEc4=mZtexEmb;A9-G)*&|}S?Pe$o`(1XGSS|FOXxTV1xG87mg`Cg zP|+eM{1J7feDyX_ocS`em{EFH^xm^dvn-B*VpV=*W2g%3?|yW6#fz~E=3t?<+Rt$@ zekgY0WuL3jm9lAm@N=t|Sbo|3+@CS`X>2iq{GvQfL`rkNxgp!{a?56w>H{f>&L@rT z<0-o1`Mhk31G44#Gyi0h#PTCq_|}Hx=WAyok`S8^67W@$=~u|zobA*jgXyDv@x$%5 ztg~TAx>p<AJV@B{o}PMvgFt@Mp8LA1?uu&x|8Y(54B(^#0NpWxKQ~;^oSy{=U$Fp~ zI)0Uv!_oK60MdvJ$-prI)|ER1c3Ib$STKAO?hCb(WYK(<)cdwiq`uF%4}el;EfYat z4CmWLE!eYq2e5A_%?<#}+xE;JZeikW9&)c!toFOAl0&Fdy@f%fR$X>qTj1ia;#TIZ z^+n6c;)eIZ`<~~E*q;nH#p{rYrkHS>d%p<2`7``hPv;g4sfO4mbKQ;nVt_D_a+9|p zrChL<*0N=oB-gv+RKA{f;i(FuJ<hVl?C@Hp0Z+}lhFn0#h-&H+^y?C-hMJaE;o+Al zA*Q}YXI`Y_0-<m<LV*gwKE9pDHJA{|VM88Ll?w$E(&&3@cbJ>Zlu`Zt{WB%m%I`B4 zZ%Q|eQx|rhV;8^+x$WsKwy&IXwW?2#ei7E0t@|#xo^WAPVEKbjc0p($5))HxNOvf| zYgCSk&im+YiUedg1aKKTo2k|({&y$edw~L~X8Gt_PvVF{CHE03t{!*E4sL$xF&@f- zuuh|N7;`Q3XDj+&LnB%fPzS$e`lfo@s(gY{4C!H11i=(p8G<3ZTeBI9gk)nlM_;a7 zOyz=Ej^ETPXXuw*=C+iXk~wz?@l2nOTjLPngaUdq*Vqnw_Uk`J+I9PkMx{NxIC#f* zCZqWi&gdxDe-l3wkcbIN%$A*qI#f=SPO_=Z=l#~&_41PQMoE}Vi)*QRy3t;(w4u(> z=PF}L^r_HfNg1j6(XP(j?z{I#d<8I-m&UA;E95QC90!c405VjI>4;ne^-)p)5gcUg zH<JOLD#nF+&CQMf-HCQteN%X3p8Cc}FzV{Tp!L^jho}7Q{tYMne|#DpZ&tBHW?xT} zcyT}(;$FNUV!MHpXpEkS9ea5Q@<B}VVa>9{O-wi0L{im<Cn@92CpeSaSXD++P`4qw zpFZ7FGT1)0@I@81X>G89ShHAcuy%vn;KJL%%@!L^eUqXW(VNPX(fQ^od6^Ydl*te3 zy&j|{w*c`BjfAuX#ICO|h^lC39T|S4s;6IEvf5RU-+4D{E+bwOoF2DeMdP+{6;KQz zCVQ#FJZu3n$OQC$d85&Eelc|wy1~d7G1usyXi|vP7BwHHC}~<$HF}85L79%ClW4>S zi7ni+S(z=M{B;U9jB?L=JFqTn+&diu@Df)nGs!;y(mj&^ou(#i6nzM?(uoys*EySb zV*jfKreiq$ZC0ZpOlEx~pdm|CWlT?N5(>F8&_3+8`KI5@ycd2iwdveX8?!0-0|v=! zXQ7`0LA1H&nAlCX6VS>qtCt`Q?wlBOmYDxyPs!LX8p$G}+p4W|BAHsqZjv+s%gqA+ zPR@W!S?scg_`-(1Lw^YaQn^`eYyk?Ck@}22V9C33(=2WS3||OK|3q9T4>2g!Bl9(J zwl#c>?kT*vlO&Fc%|!liyKF>tEEPEiwan&-dA`qaYLoPZc!M!JC;!S&D1{8;By-u` zb#k_Rfz=cySA*g~_Bl?mGL>R;5kLt|7Sc!gRo&Lot%&%Sl~aKC_>4RV@)xPdr6rAS z(>l)Yv4Cy#NUcottb-n1EcE3xWEi@c17OXC^1mAY@(~?dY`qAa-l()eZE^EO^{((h zx*n3x!X*|>I?_+~OiFha^lT&F+c0OpDGY_E7%HncVWOCDtFl&}`5vr8e!wj<HINC# ziF*{cjeJl6LM#9N3o|Yv@x|uEyht=NS{UzF!S`h$&~>+62O&a2<v93jR5;a4cT~NA z*Imo2!{YljDuv$Jaho6km4_?*a}Cp&-bQ=3RfU=`aY|mBijc;kBfI)cc7m*Pa4>jg zfKCvX6u<uE`tdhZjs6&?KaEVi-L|gD*j1C>T?yASND;Rp_oy21`Grr!UO(?El-f2K zfqB2cm?;LXs62}=+c7G|OqXD0pu7BHst$rILL;l0?euYy(zm9Udf_jQBkx_)6@T`f z4Mq?n6r@tQW6g*y`Nq`%xD>2XU+U?Ik9(CMi_*lru846pFqt5?j~cQvzLXdttbW`i z&TL1Chv|aRWG4gCgG~Q_t#-^=LK5(f(}(Zz{Wr^~fg%TgXegQ-p{8e`96ej?*{}?J z*ZeFe1v__X-L1|@;<@*Bc<&uKQX<wlYfb89-@2%)oS>M2yCRewv7t#9R~=noHRH?_ z6V141umi?J`FV&egJ~$84~4?-q-15PpVlk4Nc=VS^7CjQl_(+K;0>^Y{rB!$SaKjl zj9GX(TG0Gijycj&vCIg`R^AAnDmpDFw^)K@>o?=u{R#5*4e0<iIQ@>oKXor57M=xv zA&y)!j3@Zl3KxVN%!OkE2S-)8Eb#W`c^E3iwoh$oU-?;}94*6dfm2&nR<<5#zjIly zxx|9xMBo*UR&e;PCSt%h$}hRKF-Gp8sA4mi-wo^Co(WUwC0XwnK|(t7Jf9w)hKjSh zwq#sx4LoN&yR^%rZ5+!&K7P`gCG<s_P-0p9+H!T<m&v_<sKu{Wj(v8_U+VzE*WO^J z_E>_0$yNjep2S-Drvw85s?$5V{#`3}(#fs#2K@Y^N6tinAFyou8Cidn+ta);Go7#W z7UU?ymb#eAQIAg@C%W;cKekl_Gb3_aJ$e{~{cvLP6m)G3#th2nEj&1nR#Lcb@|zL` zA<gi5ZXp&+T@QA(E6ZL}7d$k<aJ#zlgMns7?Zu%eK}Hm$$*-ARd^}scDv2)Mvt6cY zh|jp6Dz;sf0zbFR@ab~2#s`OTEjJag!R`My=6z2{)4=zROR7do_YBI|s6X6Jv0eSS zuIX8QltqNaPN;;l{BN@z=T;&cO4l@vPk@L3&j8~ZJqNJ&sWUJY6x(~zi>8dE26*KH zF9m$LCtkXjYnaH}(A=J0)W-k`T8PQcjn7Ug-Bk|Hw=!K&J2+bS3$es@AR+$nANLyN z2HH8R7_C=&bgCR%Nr|{CR!py)tVvV`hOJDpsYsS@f8A$IMwqZ@5kIkNWV&}UOmS%$ zXztGNAC5~X0~9*s3pV&xMSmU04xzFXXD|14U?&C-3b598uPUv<-=FKWnzy#J#U3gk zBB7AyEv?7z-xO>q!fstUAGK6_YuOrRK;0aL$KhyEI~laIa>VY;Zf0i(T{+I>b8tzX zk-Laj9@;$jyxs>OaVW8{s8`ysDA=zY)aUk|7|l+XC~M*(S>nyau}nc1^=23nx`)r% z?Gkf6$4ZNktHJiI%^fqj`^%%9)|f;mKCT=)o<D{XQRcK(%qhgFXfuJQ{d^Z9rrT*6 z^<Tdl&C5=;=@jIw*A^YGcQSQRiaa34V$gI&6k<jz)^r<~FZEOxz$Dr#>~}n#mz)`Q zpTyC(%3#vlEFC70)SWBX|HiA~y`?&z)sn3nd&EC;pPDMlY<A6`S}lmEr!#-a4I2s$ zJkNe=AYd}m@+@55I?GvlfPisH?;jB>@7VppSfIPkmy6cPV1PPHf}K^$2A<X-CZg9X zR}+|xQqaBgsal#Uz5ic`lNp*pXH{x6pj2IF-5m~$Ie%!y2MCl8b1x`_@Y3BfGiPHO z$J5s<B5B5gG1lJ#7H{Zjuuv$6!RsB54Tp8CKhBB)2C;0PE<76n5IZWoQWr<s8{32- z{(qf6|1|qA+MJ4gH<jMN3=JAc{sp8dROm6Pj!zXpu<I2zT6Z9stKZ-H*=W~V#1njv zGqNab(&{LS#2@ZIEal?T8b?JP+$MWnK#*ySA>BuRsEF}a^&^0+yWfR*KMxJr-;C^B z^-F^(g85pnVRG}M-i;%zLjTHh{J!V<SXu5BXs+^ihus+m?hhCZINK_wek3@e_mMa6 zXUVRN2_}0UD#TW+6T;3)7Okpk8>GB6Ss<p$={B7F*M&>L4(Ov1+?B&NOpxncU3<{u zjh9QB87`9}K17RsGlsoJ;xuNERtQuyTMOgVvPv-pq8m^;do973*>;h!77eP5D;(HA zobcbBn8>>UJWqEbX=SmLh1K23G}BHCn+w?=)U#l)oof&Geep}wm1%5ZAty{rY@r<R zSQlMowy8eeboUvjs;JBStcdhjXRQub0{ZjoN^s+t?psv!Cg}aHwy<fR(N<J@ez|-O z`H5@FNG+3Z4$DJwP_~PAv`?^?6V6gXGFD2~ZR>4?VfyUta^J9$EhjU3sepfhYG{_c z1OjNok-Rf&mq*+?iz7!7XGv=$h4^-w(%l`Zv%z>-C5`W@9E2kpD>xo+gFhvEdp4v% z-sY;vem|}FcG#}|&GSoZEB+|HxjB2Y1&IqoCe&T4?yQl><-U54G@k*fOO=}>S95XG z1%@k=Xm$jb?tpLAP2Q%7k^3sIUZ2=iEJ+T$eKGjZ`C>HqBpEM?wOy;TiHk)l!`v;F z_(d#=%3Tz5>(IYBX}v2q^%nT;s{TZapiNG**R}`4dDbJcDQ}nFhMe}Qvu#HFb_hcG z`51=m%}wo;#BOD221U9)z?3a|zU;NNVz|HbvLsEeMK7wEY~SyFzdn@{lRG`~G8oPq zRjoV)C&J36`W%)(Z}2#b!?w4pg22`suOGxfsmqag-k(p${7!nmXG=*7lxtk@Sf1u? z-p|%pCms6yDavG`ZH^;S!I&|RqIrT(+pCH-oGa8z1I;9#!QyZc9w&D0e{K!mUeY>0 zHX2dFue@)H6$db<D$dVrejK|O-!y;hoOTflm13$PxAXRadK^u+$_=h4y!UBbzj9*1 zO@ZzS-f#0PVL)OkO$=1DYt%2MW+lg;fQf@w0HHH(AT0G{?$<L3y=4q@wkiXKiaW<& zf_@T&!^7sRX4^sj+*raSfrBP~EVc6aOryrL_AMbV_8I1>t*KXFl?dX<*>My3$87!o zDo2jtB*l0~(Xp9mXNrr@sz|zGf48alp|Yo`A3}@8<UBt?2T`FW*KazCvS%_*6?|kZ zj*#@9zXCM!gBFa9k~#VBgO&W+QcVl0pXgb4H4;;{3aGC6A_Qlv_-EyU{h2y8M{C6x zT)b<nEv&2t{l#kgX>w2>O<N*gs#X#bs=Z=7yy)RFoG#KpCdUgmpdVT!%X|JxQ34Dw z(8<yE&9|}1H0V%mU32|Lg6@thX8ns)t}AQhbR99AAE0d&DqT!A0kNN>YI)*Sd7L&T zXjjRO+Xi!0Sc%i21Fw3yl{kMfhJ^{SYKY{5WA?#93a--RO~lyd-?$j5zpBd!RidMc z_G-iAC^1<41XVoRWCbl;c14PqdWN_-5*-e3!Qg#usuYsChPN*S=o0EYa6<hi{h_Mb zG)%E&J3tFg{gRz=;L{52fK4hh5Qm8gFwX#Et5v;q_bi7j<#eSM2Am0deg^5#J{2=> zb3uvEG@(P)3xe)_U$n9ZfB&1*F_uqS#_^T+(`Y+~x<yBMUqJ~h2{3MrwWY3jH|?ib zD@mF}B#<5ffbDXRO?&4wWlIXSvQm<6Xzn0Nai`~qRZ)k5(9GkK&wD_!z`TP@j=r?G zUS)~HY6k<AGb!btK8Nks0kZ-zdcDx{_0|7l=sf({Y}+v0zTIZ+O@|qKui&e;R8$Z< zR#7ANtk`eWXw4R(b~Pd*LhVhhs9j?3#NI-w{eJlup5OC(p6kBu^E{4PV}iM>N11K5 zq=%<nedNMK=W7+z0lal8(mecEkyOfa7>#M1HPsnTey&QJL+Bq(X0`AFpc@EaOavrn z4t<XUi~C18P@@DU^h7Kz1nO3deV75GI7q7`$1zY0p##ZA8*NKwXUUdBOmKHmzlujt zVBZ9fz3HiOLZ~)hXL@S4&zv^#Viw|$EOEgLI7<Q_@asF=cks_p1XTR0qg9-lw$6IU zKP6qxeS4#ieMgP^1<&HX10arju+^owdRczhQMgy$D}X=v>~2uEIdJ`s`olp#ZV6}h zuy;B07KE(tm_8$<Y0Zm`VY<y{Dro}xQ@&7^r~H)EiG{{ee#8MppYifu+sHNJ<=cs} z<Hg88No+E`^=2zgn08m=y*T;V4bPoFEl)3auXS6rpEr&bjU}9i27{3$&#_xys9)4o zI>qoUw-uI;3{&?ghpQ&mD~QtK)9fNK$w*5UUD^z%>2TYZ9ffNpqiHZF<{x95S}aIQ zdT@(M=+~IP8cnSq|GS}UHT+&S^j>UEpyJ0RcazZWrS;fOlYy$74EX`_mu>@J%)Qt& z-vlj%+9zJrR7x1bfMqecoF~hC8%LBQJ$oxVTxL{vm@^b~pz&Vr_)GYB04ajeB^ba) zhYg^q+RB)iIN<Ug=@ymc6PbVdhC90a5P7pB)H%<7Yst5aiv;T(ik-;26<Y-igO)$c zIpaiY;y9V-h3ml0R?GZz-)6=mDjSkn51jOM=|2uBRmFH4mUE5^Kj+C`H5Zb^_ChcK zLtH%Cv<hWXY=XM4JeuENs0HO49KK|EdNM<)>=5vI^rs>R>!iYr2r4;RlYD&D#_x8& z!tKUr+?->mA(1*&rJHoxtYIgAjEf4Cfwl5AP0(lC6~8W;HHf{^IDdS~lnwVvTbpy} z4q~Oh*BvxZ1rKNKaHxP6uUXg_f18K0Q`C6i^nY5NKSe*7^xrforvW-Vz~@yjo-zHI zB=3unRW<tHq93Y&M?616#p4m4;@zuCK%Uq6iX;us4dQA{F}Xf?I+y$I-Ll6<>zJ5t z+aMIkW+G=oAY9j6I&$A|Rea|~hb7K#7F<8+g){!|MnTU>m<;S?p$FA7@zLkE)0=vu z^q&TOy*}*(RiX4qkGbWwDHsbzw2899RpDb(apevfsE$!wiqE@={>#NdnB8hGw>W63 zo5Nn@jg%kqQ^y<3#c(#0g}tMx`V1H>9aSNN(P@#u3GHjpG(Qeo*5`Ink&m|qs??UF zp*rfx-xVqZvphZR`DW^}fTknW7^f;#8{ruL#=3abcCO(ea=2SeuTq5U0GS0=Y}jEB z_#K6&0hWv*^~Mc~R&OJ1prSM1T_-1v@*__pc)G2gryStfZc2pqs8AfdIXz7O;@9HE z+sE))i57!zwm>*5p{f>8nlr!*<UeNe=eo3+eyNC1J;*t<{CZRZ+N1X)a@9Yi7iV`Q zwv;68cLy<AIi)RnOF7bfc4y?534iKs#nW4)9!A}dM{@)=Q+YBx$i9M_TGKqvzani@ zrONxH5(Do5{mp4`zg8C9ix~BaZI-0T7VrCUTuc-$F@Mc1EiYw&;O3ja{HBZ&!lPN> zM4okU+N?2Yr?f06c2|HL|MEZ~Qy_P!bb;@c`{Nv&4Njnq;Mk5kO@~lJqqRDTxw38y zDuR1cKf&;4)6PO5{i)asq0PLT@Rx}sZcirpbPF(LYUY+|ox#z_V0mBF?E*R;*gK__ zt%4!%R$a5!oY(Szr)_Bm>XwP<thKKRbpIeY;hD>obGMI5>Mf14<IA;a4OQeSq){q> z+Q(w@YgfmT{?|ScF8awT8Ql>q3$SzJU;-Q}8WY*4s!`dgQ28UMNnp%VeId(gPpNM| zG6bGbl3=g;mV!wNl|A??v2>Z2t77g593iZi5O-F_T#X7#w9-&Y*IWAO;+UR=#2G!` ze3EvYI=|Dxqcx>Dd@CT2?McVP2|G|hz(Hg*!SspWPm-UQypV0a6oTCZ7gJK)=Rddg zJ6eYjwFb9JdCpK<d+6UHzFWvxGm#$>c7;a01bjr+xQR$`46f{oQonObnP%Ox%nnHA z=NonC*Hh7*8bK)jLV^MWR3!Alt^wkL^M8Ctbd67(m+Ptcth>u$pSnTp7$f9h5{1H+ zKA9tkI<A8v)V!<D-fRnZ$gl1cfUzmyx!v_HTb@u2GFxmj3sDVx^6Gdy6=ySL>!NT3 z^R=*8-27XlEcdCXNoBnABe5}Z&opMvO1^sVz6bEmStx~d(pPn=FVVe(Oi05T<yvT` zuso%r$f6fLbX3X;iC_c&oH5JP#&;Agg%3P}#224;)3I5Sbp1SMO<7O)t#a$L=fcAW zjL7r|cT-GKx(Aq@=5<@u_Nq*}!-pQCtQCt21yRzM9Sw4YoTx$eZOOZ%ZcqwBN{{z? zk9ktwqyM|5#Wvdq4^-&{n^|S4fgbu-)o`&D4iP__eW9ymzPp~N=IVdA(})mbrKe?| zXkTh6;-ZJ-Ogw=D)hrK343MHGQFE)zErqKWjVY-C^gVVo>q+E*X6@nnSQazEWp(j% zy)Fy9Nfz<oOq<51%sImt1?*Jnw3ihrUOkK9MR1Pb`!7@ygKe$)4-)%tZ05}$bQ*-w zwM)ts3m*JQ|7^t%&4{5mo=q$%Gx3ylr(>yWFe*PbK(~qSp)O~<nyj9ltX4`prGi_w zx6=44GJ;yY!_KGXDWs|(0cA-WY|v%*V{DtaHU7QC4g={nMuDrjSBIenI01+ZO1NFb zLUIK72=5G(s-j}2QFr)Erl<3Hay>OvNi+FLx<P}{?uU8SAKAHgUY!kEj){FoP$epT z`uBOVfc|tk<0>li9s6><5S1Lh#8$EANLK}w$%M9A@c@(BmV>qT1#qJ--&4!yRU_eq z$D+4YjG-ZxHe4~*3g-_x8iS-3<_F)sP>~6+tM|?7n24c*+m`gTh`oGms*)f*^~pim z7|;MXG(;#qz;qzf8osT9a~uMN{*-s`nZK>yd(z<}?|wwvdA4Q*1v2EC5c4<&;JzrB z?gKEST`SM|-yS>X=L{dZSGQu=m}0w)I+n3LY+@{8+%l!tPbEIATXvHTnRK1P;HQCj z&cyxhD@D@}lnF`WLeiu%OsF%a6Y^<2Pg0_<V}?ZG7|lETw>j5dyq+@oMf|jKlKJAQ z3MEF}^JYUVgE>cNS9qe+<a`_oPf&H63q3TRSJDvyq$h7HNwT<jFK{;Xg+dC%vZXrg zPP4^-owg}<!;z^@r&Lp+64c7QRRhev?x|9JvX@T-?1@@Y0!i&8AMY+gB2XS$wF2}b z`#sOr@_2VTb(IRakjM%ZMV|tmdXZ@L^;1@|TLR700rgEVA%e{Vc`mm4`mxeIPceG} zr<&lNZf1*n-J|j-EKsb(G)L+P;W~Bxb;G#J?qI6EBf<=&yY=})g7kypLG3B9IHh0O zi3sM_UbZnyAP#YmUNiN6C-3EkcE%ipvg{mQF3a{-oF=rI_?2#7y}=mK1Ev{~+@5p+ z0$IeO%D<Y`m3;)P<;vniw-e5@hF8^=YO4Bmil1S%3h9P3@n#4+-$}xNQ>#lSo=~Dw zGS9AX^VSo<PxbvfnsRBI&6>@HxzL(`X8E*vr3+5~$EKxqFxPUS2ex0Yy}HQ@mWcyc zeFnsH`t;xJYwT7T4>J0vpDp>YWcU9tpKh?16|-Tx2bK!&xzGd1k86}@G8YIBaXkKE zt<DwX89-lAY%49q)|e5C9xIz+e=+$^YTi61OPI$V(&pKe|JEQqQh9pR*m!FuD_2`@ z(9bwg8-!3~UEP^`%5I#RLOGB0sbVi>P6v>{7y$=il282{kBNyB_McW<95U0a;A;pp z9~$8L8}}YX(`d44#KK`OYK8%$l!Z01X)?zS*jMZS<9u3_9keoMv8}t*Ubrb)G$mCX zsX@0n`NeXGN{&f8F#NCVoL&fXBndWRJ)0E`l1GC9M%jgPZas(wNLQca-++Q$Hoz!T zZ1q~!2P0!5m+*CLk5Xv3ZcM*VLlK`SHhn$Q<{neW^aLM0kd}K^q-6c0`5Z4G$b)kv zm#PM{Ivt0Cyu(Cw5k;Hzw5bkj9Bz+pZF*o_d4&&p;^ZtdYiRFs+1{OYgGyjIW~J&{ z!-QwL%ewtou=7(oJmk8z`rMr-hN^{Te9AfYqMEo+Fc*8tlBiL-tu3u)jq$-@N-k&p zoLQ4uI(yKNAx2jVsp1z`)o?XSG>b8RZA<0NYLc^>xnM{#yJL^>S*Kqo6L)weMFwFa z20bIhoH_=O;q{os8Xpb0Aza+PLXM1B{fLBkcMWQl>pPS0ir?+HFed+f9}vMB`Y2uX zt6W7$ne8TYuK-<Ea_*m16um^x*e{495(8zd1zI9qS<_8VY-}?gEpqi7(zAT*5es+Z zekn$07nvq?=8B6=b6X}Wd4j@cr|ON+CgZtE7l1Em4MYp&XU}@eH&$&$h$<Een)QlI z-Mrk+N@AW~`4b&$sYtPGkwL(iUx6<Fun)CDZ^8Rc(=xJ>QePhL*han5Q0OwyFyvsE zIFY9=w6UO0HchlEo9k!A65Z0qnq4RMS46?*CP^qizolI_gOR6iCe0c{Y<q6M3sf{U zn+&n1NDbOa-f&QW$Qq^LAI<6Squ$A$bCvtbxE%7m(}oVr;M?SfQ0hm_rp)B+^Q?|- z7!`D1Qg>z6Qb+nhr(Uave0G4@%eo%(yr!j6$}zo19oIG1yS1k54>Q6+il}Nrnt>%t z+Y=d8NFz7mWH<YYIs>oRY55XHe)ywbb3WDEk!GH|2+|_UsoU$!f)rckQ?y|c7Z2m; z=AVnjU2##{S~qif$67)(>QL+4-IgP<os!9zDIUtHQc1;{Nl;S7MRd8m(4^`of6>B+ zx--upMp0vqTt(s7_Pi%ynz>@-Jl&ahRce`T#-iFobtz8|Y5Pg0eiW@`PGj>}Gm(b( z?K~A3o4&@3eSYVwRuShzTyHO*`GmS~s1R8`9>$5v_;^VjggNck%fM5U)?>SP*|KIC zw{|hl1yJ~C;x0(dcVR%c2o~d2qXn#Y4^{OPPhVIkDq*8a?1iE_2^g(oTLpT)n8uT8 zQft)?iVjY>L8mxxK?;fLrX*4+<s{GyBu7YeEy<R8x_#(gS)8U!9d4`20~q^*)8J#` zu?tD+81c#wL4%J>5=;|PGDU!r_>2?E!8Uqiv-b1!(rX1y$qv1HrUwg680*uJj&qNz z`2>~xk4_hNT5@|n$+_(Y?1!2axtKyN`<WGmI^U(M7(=9!EbD44zeeQM*F~eD7BK>L z+hbjz<_%&+Tu$)?XiTJgEN*l(=lkletH4e<51UNoHFC*QYT$89`zjgv9-AT7SU2hW z+O`70IrTbRkk(<-PpejFE1+oeSqHltUS<TerMnWray_)j1f)j8S_KH#jFK@muXa4w z;yd$hr>{c~T4GXOOl*_f62Uy+FjF3|vs;Ly3O%*8rA?<NPghpTRoU=C>FfvTKLzaL zsE=t4jA%n4o#)ULV^=>T55l_tR$E|pkfh)9bH!NM%Q6=4>O-rxTj>sG8>8njhS0*w zGH7f6RfP&wx=Jh%L)ivm9ltghr=mE&TGShN|309f{?Nr)n@YC%YenXsY}APCT<FJI zyFk<1zMFrmWNi#+6sXM`+Qo)_zwS3m?+A%+8Y7fJEyL7Jq`+-L?*}UC0moymlixOV z+Ko)g0nMLN(~y+ia<yT0)Rz1Atd_Ed!<mL8k1X=b*B7@kMmim~OtXSqanT)b(6Q-U zx4@$JEHjsm#B3|gOa81UrYlbCsVJH0rZ+pDMw9OuO{xpbxwSG(UOKQuDSqxG4tiOR zN#HKcr0QZGc#75N_P<LKhn&vos(kXo?PVAy1SKj=Gb*`eFb-LyV*bSo+do#4hlPT~ z72%q`k$#K2(Crk{ij%a;94%4WjJJp8CH3s}2JQA_K8sEVX+IQS>3F+Ya{-N><E~S2 z57%=F9+n?V=<)*t+lv3Yaih(R`pWiau*Q4&D^dM}#g99Z#8};?ii2hweqO<M0(;`E zgYqS?R5z85Ulb$9OwIS{TLNR@FKBQ3MA)3#lJF*ZhI!g~4R#b}i3!}cw6D?-@oFMr zb3AIjzhB)#Si<T193(G=K-tPi+*Yc45QpjlN>V`BePk9N_MJMqE0od_TL14?nzxVd zfzvs^=b(WvRlWvc4poxU%1~b}Y(pi<-E}ccq?4jN&I66;Q0wxU4H>v!XR!Xio&m5w znZ(bFy<tHo!a!~26J&qVRj3;3f!<z0$zbuk<=ia?pVQb;uTIdo?`to{mD5mx(04bV zne<JnVyP-H!R9*xUS6@$aNYT|jou-*8L*E*WYbl~#xj2DH9@t%UR1W*DGg?4R8I5m zrct>zlUB{LnMgOjhO*TMF`aiI%^uLhc8IP?V2x%<)a{yKKc;evQ#-bm1J)?irMm0T zMg85}%|<y!@_{u}U`6J39U;|lth$MMyV!=~)r6$KD9@7xQZKtJr6^fFtucs*A0%os z*s6Dtet?zOY|P!OW=I9Q-^Ox5`}Dh8eT*1+kiUA3sc*tc+LP}k8oNOufcOVV<?s8w z$$exQq-h=?wyH<PJW$yrkCs@uSW2R_V%L!Omr97+S|%t?0)`EY@?y6PRUMI2GjIv^ z>bk%=Sd8z;T~HvoJy{Zi8l9%ng9;e8Ks#c+gx4`wQ+&VsbT*E4W@v=U%9=V~Wm+(y zq}9!qLw{STw2l5bbxcVGJ$)L<<vBwf2H*+MWla<5Nu5?UDEO37ozimlZTHWycV;g8 z2reFDBy&<-LcnPy*~KA0M&(!)lcc0N$4WK~VmQV=1pF|M{e;*w!GaLqg4m*4*(~%) z^z<5W{`p)KbC;DBvKNNj^s{ko#AD?Pvx-uQQ*;?5aYkLZyno7rwboo*x%*POY0R)k zHrsiQ_CwvRuXRz~OLj)nL(*NQae0i)#d?%~mij`piwQ<gh<!9_ouf}-ZDRi@A>#J$ zT%g30T&tmEev075)n1xCc(1f%9Ald1w#t4<;X4y@(4TzqztOuw_wBqi6>}n90v}wc zPFukh|3?nMeI)0-|Hq~A<$%gL?427gN<G>E*HdIUyP1_#P;3sjS<uC)=s$#K!LH{q zHr<cYPj*ebX0Hqm96I+ne<{g69q=8H=R9rR7HeNS&FS!G2AE-zJ4bN>obl->CBd0Q z>O(`b1p8DUjrW(fByMd+A6~yNq-|q!U>i>o`a`Gb31Sn(4y~dvMJI8)0A=6aaV)g< z2?TPIQqEk`s!g1HA1-4VK5fHOajHnFZ{}Opvn45ZdflU3WA>j0mTsEfOzk?KlUnFR z&UUJ`M43X<6a!iRX1#rY>-KRZp6)m@mL38lT1npQDrf4>aRUeSRxc?yScqRjnrjUt z4PcyH88zkruFgu}c?C7K+S`vf?8jS`bLoECGW%&1O`|w*z|>8;YUO0;enT9FwgCLM zN?auwv`{*AV0l<0+*}(0)+_(>tjWl&s2j%M7&FR_q?Z+WBA4vxc;lNrv!e;0m^b_V z!|h9?o`?=MV6)l%czn?WwI9Mabd;L2uF8)V65?@W7u@%7pV8Ib4Dkq~2eu~CyvJF@ z>pYV5U6JjteZh5qHHB3?S%CeYMTPOtRr#6{*V}O;)>kKb`)Av2zH&3?{`nRGHGc@- z8>a<R0>!l%!{W?YerY(TKhfp;`Xkl#L&_^rio7X?=AWDIR{;t6GL<`Re8cvR{G?f! z%XoQF$>jFD|K@kE=OG<+x^mQ$@c&ul3#jb9p?mggc0S(Or{DW#T(Zk%*zPL!3LNY@ zY1UHO624E^-_j?=SEiR0vlR0G+Z0KGRla5XS^ikcm+pqpZ5l|25vaFCa(4K#=1Fsw zsqXsBl}A&ZW4VJ?AAJ?9@x?8Uq=~u8-KTD6uC|X-o<GzNTU3O|S_L?58Dk8mLw0A2 zvMg=VuN!&1Ym_vpL_K)^y8+INK@N;`3JrW%RaJKye&lc?2|W7lP~&mddTpJxdt>0@ zpEJ(#?Oy|o!YeU94N$Lcf-Ud(!uj7v-%D7YWci-hGHb0-<Mp+CUwC%-z%l;*M9_pO zKjy~nS+dp6(nFT|JCO&9it_TjS!xhBaF!%~!_CYISC$-+ztlFcqv`QcYufPr;o(0^ z<b(sYhUK|Q+8W=cz|FsuPVt`YtL?$I<F+NWf0Dpl<-l7>@L!L}n|b+G5YJ(^^6k}A zM%=IC>T+~=cEFy-&~&tT`_L_>-?tKy{`FsH=V|C>h@Kw}cD;;G!`<JYsI{BKDZ3ye zb<z=C&Rd4mqknIxDXd4X*D5b9*SN7CsqWNFES5!y)ED9w$5te3Fi%4Z?Pk~dGG^b8 zJojGbr=jb*h1U|T&6RL0*__lfX$nxD%SP<t{+L~XB4+5hpBx4X@9B!^{7n;X=U<`i z@&w+%9<D1hUuAnCM1_xSnm8BwPNv<CfV0+QEB^k(!ALWKwA5<fZr}bov2b^8hV);` zW%Y(;<Cd$fEsdcuWq;g`uUnS~%4>82IF_R=rn#d;lbgHWc4$}ARB(kG<Uj6JO;y@6 zG)VjtEE-|jM!BQ-$9=!VR0lshuez|^f2=x8w}DCff+t-%JB@bv9U*QwD2dnIx>sf? zzi#iQ?(DdVq&SReT9?05T_0`LF7%(<jwic};M52IS-p89;(q%*9`)C6lK03-Qgptd z4NWaPfA+(1mls($`I=Eezt^dH+n0KW+i#`kuHwGTUDmfh`UlQVy`5l;cEfsIQ#MJ~ zI$rNG0=>G{0;ap9WTgTD^>=&|=pQ-0e{{1+nO$gdwX9jrI43OP?n2w-K!+d9!`W{| zgJ*lqttWBS{At{)W%0E=C*^krcCQtd+kxI(e!>Qvt+S%vHp)D0KdH8LY+o*(<p~Pv z%=ejA=^|#$yvS;{Hf=#2>IJv@xx0VMc*}GfE8eb@z)Q>~?;ZTyG41I?^XbPHk1KN7 zmV}w<{hjq&uc&rV?l42_^M5}x<{Z^KR4Q|39xoB{&+kfc*%tF!VkokDE6C!|m*H~2 z5gtIy7wZso`uzF5iDs?ID`l-s*SZMb#a|>e3$G<sr*6dNZ`G=ALVojX$~Zr6Z!c*^ z&z0RN@q<vh@nv`9BglY4+E0n5&xf*|k^|wpL5H1-*}8QBW!bfjUTwd&5>Nx#kX3N6 zvKA1dDmR)SKo*?XPd7Ak?;+po3RBgsOEGKsH^{Xwj$JZKYvRt>H=$LnGkoAb%VHfx zdH?KZfoC^8JX)^8SIfg19ZgOB5`uE<cUgqH`}%f8_dT%|0%2Sum%HVmTI0<Y?<OW7 zgFKlY#UmX%jz$fJn!mzdQkexM6!hLGK07&oSfH5z)ln8-yRddinP0U21D(YXKnZ(j z%U2fQho@-Bkfb^GA~}n0Mpao<RH5#V+5?Yt4xPJJ3F)*)Wg~6Av4<m5ELStXtTdEV zeay$R0&8%qMT-+fTSh)BAX}Edpk8Yo*dTjbke`;!#NgK6Fm%K}-B?kaj^+*XMO^lm za3>*3HA;p<U5j5@NgXWs9WhF<E?<v0oS)k(!m;cLxNVfCm`$1@O0(YW<Ug;eKHMep z3;z;ZIs7*@x9fAE4C@V<Vh9{q25rW4t4T(vFJi_YD6+6|9d2@MjZT&ZP7db0`<7~B za~nRHb6Jp<Qs$HHaCiq8_VeRIT5KInA_cl-x;u;8tvg-|Fo<7|N6Z<8j!f%V>X}Z2 zYZt(uxA$cjyiQ@Z{5YZbzoqiLxPSFq2y0$vZ<lhrf*e-w7Y5bG?ZE^QgtI0J+&tXb zA-|#5zgmBEUQKS?D@1kEdH%H1RFAq-vAo_Zl8Fi<+*Ih&_vB{10`z|+H<raC(SFKO z6#DolG;Laz@4IpS<Kv4zO54V18BaX-Hsy{-tT#vd_Vso1nJ<-2b?K1gI|1|dk0fn~ z$0F(kMr_|<BQT{a%HBTw8S_Vu8$e-iopZ4XP?D{rGYdcN_A=H(FgNYpxa!}dv5kVH z>>4`9`!7X>n^ZT-Q8k;BRZ~|FevICJ6^%@$j#5ptd*Q$@$-(Y8$Mo33@8`Nk9w>C) zwB)}Vti!eWJ{usb$tE*XE6n2h)jJjDsQY+_JC-rZz@xfHyYA#2+4S3Aes%X(uECnl zD4+~$cI|nO*$_+A;_;Qg%(QyPs4&gPw{zM5D)p}ZuP?R!?jxUn=l0(G&nMOOA~?e4 z-_bzdk&`<6>#4tDy;708%n$t<-u~J+<Kh61_c`2HdEcO;W>`I5qOE%zCVr(M=mRzM z^tlk9S)9zDM_V%<_Vt)+Ghr%Qq<0osA<CcdqX~Dp0@?4SCLDb*@27_#a`+oOFH~WR zVU5`Yyl9QUzM6a;akKo48?lgqf$_fm;NCxCoo&xhz0!K~hO_~QMFPx!Gg}lok`10k zd2Ju^m~d=Y)){9U9|F00T1Ar{EGIk{Ki=((s;pyB?S0C2OE~rieacYR(|=yXl}uf{ zzH75RVl?vdrLy(3MVX^V`S*!g^{nlqaWW&yL|CUAqY-qKEtgt1-0KqBy_{{!2>svR zNt@?ZulMl%gV`6V`n-0+1g!$om7agwIi2Qy_Hb6B2RE0zjfn~I=siN>%F0fIJz`zx zYTOwcBHBWCy8PIZ{y2bRqFn9qeG#w`R%GK_N_JY&nXv;5BvTpH$k!in$*g@+AG_QZ zSKi8aN^cwT-;G#`#*lG)W-lAi>$c3tX6gCG^R~ed?cXRltFRAR0K#*hP{|s7K@t<J z>X80neGx}3z?|mxyj9&z<(G%W#mmxE2LUxzC;qFHR>G!8FaJu`e>Y6SKjl$L-2O%3 z8h`}~G`aP2f2Tc;srF$njTiP#bc{`;r0^(!S5r5RxWp~Z90W7&fygBvu}M{My!woh zTneman(IqH)V;G}*#4*`(UZS&s>A$$0si^JW|~jZ`k#Eiei?^`vQrpB$~ujZ53W9j zAM`}g<LE*w%HY1&)>@eZzQ>TedI}${E}7`GM*^7VVfMluCM>UxMmvhtUEMNu#(WTj z@v(R0K?lgeLJfJ3p6c|AM21fNK}IxC61|-P&D7tyI4ZXRPb$VNsGhFY<%PgPV_s&> zD6dBItB1tL>~s(-_>2-Z8;!TMD4E<Gubp*1=U(9jpQwVJ@rJbTS%xq-ho!2}ZHdm) z_MEpCNvzDgPsMws%xPv?pJ0>N*gg&Tj8ohv5NzyP5tbyZmB-tNRvPU_QGHp*4P3YW zF0HZLmK$x>EtxU5+2}8UI~cc(%E3al0)9OPe8SAh4>U%-tE;1C!NloMAW#jY#`!?b z{6~k)4Jyfu7+t1a^lplt=EGB?DBgI4(vfQK!pRBjqG#i)yOt1bMxXMKOcI+k(zJ}8 z$%r-vmrN05f>?wn3pB@Jqq$xV9EynroYFbiXCT6hYrZf^upP>6B2XI~8BnihWPGrq zFv*aONq3QFamjc&_D2<s*yZE_O>CBWl(C4vHI52jAHVL2qEO?(%<DS%k-~kJ!1=<f z)vzqHn)&&xvooJ`UN;6!IkFsDPb)zB_{X1odC_hnd9uA(rlZ#w17ao{lVv+cF*=$^ zlyHqc0jTQ5|EUbdd41K`HEGt$H5sZFKoWl<I<Zi9erKWp_q6MA-b)y%A?4r$O+`~L zfP?f&9Vyms=b~BjlFuIfpqsFgaE9p^g2cVkO*hR>fxfhK3is)1*n?#{U{-^2Uy)jC zk#U`r>`!tBKq(qxQmoagY;=->g)n%Q%Q@}<YB>F@J{#`UuoBP|5m=?$O#YPTi*4kV ztgDQC+R4PEH&EJ&q7bxHHiZ>cw@S}e4^ktC`bL%=^NCW&j`zjnRa=xD*vGtm)1K}M zp~X;0kcfrSJ|U&;{`dfk%2cLP-iY17k$(kCMGXt^EmNYt1BA|syqZACcXj4b?w?-0 z6mIg{SfHD*YyP1tyc?jMxi98OxYPkcz@G;u)2mt$NKL)Lg}jS5mQD4@*35rqsz-oW zuFEx84g{$`(^1Gn!R)8#W@kyq>0tU_wSyHxo9e62^KCyL;MgP`Ea~OH5{W8*026pT zJKQh>aB|&4&2Ca|nkYDvYXV2_758oi>XA9;Y+$UxHCHXM34bhd#g6s<;gN*qS;Fit zXjEd5cXkYCGWT)(cliebz0VGx`M#%l6wIyM#R2JlHd)Ro4<k97l6CwBM=PU+)Xh{B zJ@p+GR<bH52gtW#j|M1246$tbXdI-LGo82D1uwr1kaH`cu%kEt716<SUn0{SS-+vc zMynqEQ>dmN>F28T@)rJWOu8_xZH30Qtctde{w|&lpN@4|Q!P!hbg5IYP8nt|@c(|q z{nVO2U*#45wnhArRw0G{zK$|VSD&TX0wl?8HQ{9-)g?OJHT1sXexm=~P%&N_um-SH zAf)zZv}91$<4JKi4Y&LDC5L)PFZ}?_%MhQ061+^5<9!~MA+*p`K$wv61c^{8Z;2IG z5xu&l-;!!t6OyRD{Yxi6G|UZBMUWTO-F6!D$7vo%LWB71^F{+w?(r4Ag|j8#9qhl6 z)1<1s^ZJZ(9xdxKXi9g>yWow`x_SPq^8G5Fey(()nb*4AX9ytnPTEEAz9j0aJ(+oH zyn{$)kE<>jaV=snF5e|H|2RchXcn;+J=V%HCW1X0inC}*5lrx)<0iEy!$y?gSXt)H znsGvh&7*Pu{@s_4A7*nzmrCAjX6#_yfLcxUuw16<!^OvbC9V>d#F`jvsm*wxN@DWP zBE$_b4;qOla!hGCTcFSyp7B-oL7foR^u2YIZFlJYoezUQrcLP?^4H+*EF2^sB^$n; zH6<%2iL|lD(P@wA9iOu(>Jc#9^6o(OiXf9HBcEW|_~J*+Wd6Tq3#|3&L<sw(GUk~F z*0m8CYtbz3V;A6|{`LGaxRA-BG=0Q!wn@(WTi&t2tr#>lF}$&uc+k%S$*;+2t%|uC z=VV?M?qt}VIZ394$QY%qY%Rd#`<X_qVA;R>vCF80JZ(_uXSA8bK!HAoEyE|Y@_#oR zCORhmyYU8{3BiF;93Ux51lllut)wuS{uGIGIscIisyz)Wcut}S6@ygrkjwMnZR0UH zM)8$^Bn?K&=O>kz$Yxw~_l1fZylCNYX7n(miy^zAbmcnbU^d20tcgAj@8C9kFRFTj zNU^U98{*i(%!}2X;M~_9R;s$$vzoD0X(@)D`d|OM0lZGl6L{mJ939Trf9fFF;e570 zWjNrcE<NOv25|H<hxO2F#WFfh*P48OBdg--I`zPZm5m3K^d!JVB{l8GvARP>XP(dj zBC(<RG!X?aI)^#uaoNVUJ(Q<)ReRF)+%uAE_JNR;9+2AWCc(o)p4JfQW?|nD1M{fU zzKEfNzt#&Xb_@_E{unL%UJ(>35)w>?prAGPO^e5cH4TbUVDG4vMHvsh*~{r=v3nc` z?~FbKdGW4Z8s$2KH^k-fMTY8hJ8kp#<%-EiV3xh<azve~keYGjQ3-xDW<mh84dcm! z(hmW|M0M423Ilym-)cf`GR8%o)_zu-)1y@3oA^}IL0Fe`?@5#MS5?$X@F2EXb5G|x z8<S=GHaZ!%^YoK3Y$?c*&mlS+_3?aI#up7W!04dZwGLJaQNlxWeW3kAX#L*3zJsY8 zTe>&05|2p(WjGoW;G$~B8^<)UJ1qT{EM|`}F&Puma>~V{SZ?dr;XKCQDpE&FG59YZ zUO2Mq5aI64!AHAwNyEnDMXj(hCmqRsPs(dpRFut^$?))*qa&=y8a8@Y=gyAKjd*$w zZE9;$iG!5C%$8v;tP$Zof}m0`L@NzJVu6x_0E9HPORI%u*BX1Nx?N;G-5a>5Jf??| zV1g0d9LJA<T9RDZ_IBJ(&Y$paW&4otqgk}*Vr>8Y+061<G$rpzIsl;}&sMt0SNS(V zT?!u32~C*fEXyz4eCJIo?>}p;<a#$m7we(f>s}p?jn@s+Hj0^`u69$?Ivmn%n)hK< z;wUY9RDXS!?6z6))9PlAMVW5KQbo`;lMogZAe|{-#S$D)rA#RmVG$sN)uV&2u`%lg zsE;iy5I{<znecx%FzT#fH%|ZJ^&bG0hE9=k1)a({aJ^MH)S`%uY4>ohjv=m{BxNqV zn&iKwLz2laBj7=0lGLUgiNPk;>1-+J##8MRm(!qNY-y-z<jDo7c1-u>vLvgXvjcIQ z;Ld^b%2ICDQ2)Y`GbyXhtN>N0DVi^q?N^F>OYOmSsQqbCU*lo(%T;3Q&7XE~`xuEN zE_!_io09VEeioY=jz&X#M;`ry=qSb$BS@k<@cULtN?f)E_VUS9_BH*fvn4}!Xc!dD zy<UMg8SpVGfBEJRsK#kr((~6skkthFv4B%=0tGg9wg5Bp$SaS6!_h_4aBzS7j92tE zHB6x~pe{ZuL|20eE_2cKj%i~g_a!dVanj?DZoH+a4zcF*ph7{33pDk4kPpKs&P#xw z(kl09jpz#MVIoxl*Hs6qn&0vIvrYIVxDE(IRzd1RQKEWA@K7}ilN0?1d=3IT>udm5 zn(K9<1k2J8FL6iEqVw#oMT#Q=GtBrS)08d<l*l>GCb$0qtyR)(|M>ouebEzL=9OJj zKsgYMUj$cY>op#v*Eb^eFeGYP-pMYNym-up4J-M$fnc_)F$<kQIXiySk;wK<_I3KS z)RyVMxaFf01{9amxV6jdW1e6FztX1%mu?X?0wLzkBE8m>hLH)T)idx{)(5k~EvQ2L z3E(+Z0ejD^X$eL<Pb$X?;5HYDhU7RX`yTdZx!P>SpMW8H<qG77l+B&u!kxBS@>+%1 z-^M#FNp0nAN#MFd%b=Ou6`6%aHx=&#)XC=wHt2EpSmRr%;z&Gx8LFps;;%mj4{4|5 z^5NMGkaUywhRKR(t2@r0x>n((<#(b{Sth8+4u_{7F`5W5N0q%AC8H!xocl`voyi!F zu!PqDJidF879P&*oJEe&DlrKvqNk7PSYwv8a)h2~(X)JAQ-T?E*yp+nSP6&;Sde(1 z$a(+Sf+UK)beZ_emb1CYu6_@eE{>(h&yta3F={`blFe|13NrHo8+mk?KTzDBJiXC4 zSh`=-|1b`JO+k0~S~SmE&Vxzg3#Sopy_0uN$&xHz-xPG8rJHFBb{VF08UMm14)~sz z=ug|jfPNj2Y#fITiqg{SMNveAOW)gKjwpahkENIHSUDV}SR)veeiz3%9d6OZP7{9X zURJkJ_#`#QD%^d@AF-+8)8!yyxLP*n2=PwAND7i|cUcY!@#h(ltxT@rw3B<{dmiNy ze{^?Empii*(#SU`-WAVJZ#;m{xGRhEj&#Sw>GGWj>R-aRI>^7;2n&2y_v>xnOCRCa zPJfXR+!BI?d7@m1=PXHGx=ewb{-#glVXOP}&-&?2i+BJf-_5^*Sy+-OG`fco6yR!4 z5c3bKr>XY!wmg>9pHQYTvMM>gp(V_#pma8tBvfSQXt$HOyOto1TaQNJv6!0aHTok8 zig1=ca{lD8c8Vyqq+ENE7qBpao{YPhMe;4BDoOcHyryxgT#16CTa)?(#t~#w^^e-? z!MM3h+LB(mmHeH{<PV1uEPYbbLiCRPlKq>Q@fgd0&7pFe_RL~)<TO~rSkhy>NT1Ki za7wNYsIUK$K(b|kBa@WSK$5!j@P^qiY*-8_wy)H&R$p(@2QW$Ald@31n<iB+fFNMa zSP#<HsaOCLIZ|X3*FM+y1-PpSU#H4jUWFikwL^>TnX)h07r#PRr5CKbgN-d`78Lg= zZMj_?!|!a8h_K%mr&RTgpA)I-gU3pU6ezBnCPD`v&BE3XX2O7SDpJ;Bt1uF;2nj*1 z!nI!xgHD)YUDqt|9+5-n<e&CZ<1S0CCh%AP-SAlZTrLlWC(v@gT~8S~Px!Vua(<#- z?MkT1K56Yk2v`5|9CaI%d`ViA6zINmE4GTyol=+)%;cYte*QrDLht<PFPVdmj@91e z(HPDEhrt*mAV6HwL6LpJs`s!Dp(0C>1bE7X5+a+{Dm~4BGzvl7l`K;Ay-Pk2JRwoS zf`CwwbHRTv#+u<fXTiCypFuey3h4fQ5zVal^xT$eNtY8gGs;^VjOdsRO9m0%H0kL` z>^FCKc$EXUKcHrykJ6QmjFJavfeg>&woI0Hk!<%vL^R8uAk)%To#{)4az%6+Q%nHG zM%9k@wF<3*j36nw1(NnkG=hRjoYmMj#l?6QDf7@L=2@B1?s%lJcUo8>Yy<-o06m0b z(41qd{FvY6R15Qlx?a@P<Woz^22&ezn#UivwdI!W7{)kZ62;Xbzvof*y|R@x&Pjo~ zQY#D0A1J&LbnvyrW~8Iq8SF1O52`^~P8of;A{1DU7{kV+R%Rlz-LkAk|1znCYCQu} zu2J8Y>vP0WqKsu6@2KxZ7H)|U$3tzax;y2%Cow8AaXBRh9VkNq-DyHunwFJYmIv;* zH5)0Ia|rW$cB?Jke^IbQ^+Yuk%U<gBIPz_@gFth3(NUMZR-RJ(d`Y)Smlo=N&x1(Z zGf<j<4PO(I&P^aXK$%fbaQXhxG+3o3h}%5$E|(CAMqTorK3A8LnQ3k?oRg5mw~Zjm zHAo+HtTACYB}yr-t|0r(ZhQb&QCdoJ@ma7a+;uI?Y0@fg-FTc>qo7cG1Y@m(XfZCR z*>+~RT2tQI*C~%6e*@Rl#G`E8t6$bx9-XcE{mk_AC;KaJ8|8Q(yQ<W~M-xF)jYlz$ zO}j=5*h-?=Re&S8NWB@uzs3>2lW9Z4dk&oRzO2<>#^tdhLiZ(p!Bz%`MLU*!OUu$^ z`rt{t>CVXovE7|B_JB?f`FPZ^Yt6R`W|Tg?m^C=CCxRL%cYQx*9LTghA5eW|FAjoT zI-|E{ifTxzoh*fhE)&o=`SDx?stf-V5QYgoeUx`)AJb><XuGt}rbO39Z=7hw0!5@V zX4K#(OmfC8UlLrSjDv#sm(Y+0O(yFtxg*!(VVupciJr;@w$xq9HZY@Gnc!+EC9&E2 zB@Qk+CQ%y=rd|CUoJz$VNCVt)oc}g4EEmdTkmWp>PZ!ETe)_tR%>Ueo92ooddTvaj zdhx-j=dxbx>)#PIH8ELy68$FWd~{pEZ_{0!vqBv1PP0<qkModjJ6v$gTJlk*adjxr z|0{o$Apn(G%h@8N)``n);j>rMaDwylFrl}}yWsmvRu_+l$>Z4Z0lPFO<8Aw5JDKT` zB<p{BbXfq#KYnyB7nt4rnESe><ZG;scFJI}N}_GfDegjT<2*J#{qWFQkOI287H_P` zT%VBFZBf}cg9SW&c0$X|Q>Q3h$h7$EPSb2xNnFb8&%&OwEE3i4gc3v4pguL&FwKSF zssPi<SyuKF5$;}G(CHJGcM99%>f~h}^5Zr;DdSWc*lPhP#SsRi>q|i9!uD>H>AYF( z-~_bU6rRt#({6*Z<$%5HV<zsM4wWD526$+?WvklK&2;^ZM^1HOPbsuW{ZX;KFA`qz zaMFh^GPD<U8uEN}f@`*^CUSzlX5s7PV7iM#IV4?`fyy*|!WYd4gBAiXV;+YW08i!| z9Hh{*A<$K^s^RF;sN>8@mTAY^9N6lQQFc6aaqw07V$8#ClKuoGpH&Z3FwC%P0O)lj zat4rnT@O#v?8FBd)kKLcMJS@Un<beJy)+LsCzxb(*0GAh3KuNqal2)8#1O8wDiry! zZr0tyRIo7w^QIPFW@qU`p@&6Y14wZCIFV&CGuEW9g4y*q-tn@J@)e|%oaGB3-&+8u zt|L*qFiA%aZLm|uq5f#d#`u@hL1GOr4<;UOh<_vPPo93~+KRKhnGTdgsf<ZAIEyRU z^NJW_H7W6<#=KD$Ar(Jglve5mp_AcMziY-U<Ga@R-<W-fo-Vkp<#V@hotcQ3K`9#> ztG8P2pM#h$%i2ey7D5!?sSLl@^`LjFPX<}SFvIE0Q;7cSszuQ~+AKRV^Hp_WiAf>S zjFvN{Fju*wye9G0jJzF$E~mj*|Li6?ImR!U2EP4CNnaY7`PNFi(@H0~SJbczpI<pp zDW)!iaxa%Dk1E_$Hp0EfM&)o7{;1iw5Fvc1LhI*^hpK*eHRU{B$oC2$x@{z+&!l7E z6@%FLY+duLA$EzfBvdi3WuVTWFhfD#0WhNz!j3>B_yt*6w9kp+mBXLj%zs;5p%m<! zt25DUl(0p(ngz4Frk;HLsNCSI2cakoM1-8eY@-&G;pioNNXD`fQ=$)hs7>H=T3x2+ zw>Zs1%gimDWO7;x7c0M`v=9$2bih>aFaSmf5>l9)U#`yO(s&nJIAh^<&3mB#u?&^} zs#V;p)MXh$@XFA?u`zL;`1j+twnz)1oW)+OB~%+YqR)f7N|>>ik4Vke&8Ir#qb8rK zGyu9tzRg2fSfGGw&S<B70j2GNR;e`q3PFRZKqdfdOuH{gp4;KS8xY$n$xVhXjaL$U z=^ojHg3oJd*k$ibTxi=Z(<t&3P(C=q6mL)tHZP?Gu{cttxs6A&3nU;-<(xq{rQUt$ zr5Gh}8FQQn+Q-Yn7T6BDGxPNbk{*BN70p!!2Lh$=S)WHGS1navwnQHEo`l2~H4;!Y zj=CAuku&U+q^1u?nS!zRxbJB*SjIC+fDlk(h<Wx*wL|8^3F7GkNHmHS)1L<%X?d}D zL4PckEZ<kfE#RIiYA*JUw~VotM<x7(3dK2+Q^EZu!W5U#WpX07(UCC$3lT&@^+ry@ z$xE9!AQy?P*;>*vRXc^$|7x<3jZAS(?-pF#spggZ@M<)}dgMt<^y9dhRk_6QbCdVL zixw%1exNk`Y$za+WQ<)?nqeB)(vsg4MD8*sD*LYfO)2=ey0Qw>r)T$T()^w)m%l#s z-woQsvIoBwEIOwHXv%U0tL__PYzm)#Km?jyWia#)g5RB%%Td_+M$JnNZf<SVa@HVS z4d!l=KDFCBn75d?e2d?UF|HmqedgaoGrCq5n;u?)D$vD+sqSJNVjvjRJX^N&Bx_)? zS59`|?YvkSyOnVTiv#-=G}=T=6l>Dx3QC*7QTdf%^hV;1qEHu&Niqhul9B6aRYIRA z96us#$Q)zu_69c0B*rgw>^6i0Br%taBB4o~g_v#$eJscb#|9{Y?1eHNtb<05)odmP z-0Gl~gXn%S1%(;w!VGAA2v<N`T;F(U>4%=8-jG5^|84%1bC&wg|4S{^yI#Cv2Xf&l zj^j16OlRieo=@;tNnGaI=8*4sq3h_$6ip?a?^=9hTrRx6uN-*hJ}=sTtr`JK9_^PP zZ+8#$Jf-+1|G>@OA5E_)+c3((#42mqZqnE=sSeDbev#SFGqZKY;|${ZkwPNMq_>zq z*Su8+d(Gl)RW&^JYeE0rsPVwnh<FNAj91TQ>l8-zbz0R|H_FUnw`9Z{QjOxwpHwv^ z*&(9zg#Nq?ea9r(K_Y)ik|?d5fd|*eoA{=4=4@WLZqG<qC_{=$Oh8Z_f!hQhjUn3| z_pRE%552kEZS*t*wwR73?=J<hcsoCpsUavFM*I;_T>v!E)?{(i!m)rVF$$}6@SeYo z+skZ;p#rFO2@F{j)Ic^%9;~~3qW+L98T0L6|0D2G#+QDcmW6VZezBfIn4OpFgpn(_ z5r;x0E@yuTI(e7&^0MDd6bWT<(4~duR|Zc)u#lYE)Mz1U4cEfbwAA?MYXafA;GkJ2 zqm%9BvQL^wn5*0t#XQc?>7ZV7zt1x_RBU?z9-MZSg#}OwbhDsxu}R61Yp#5okv}{D z{A4G@Rq>O3-4ANY>9o@i1y40@mR1`dN~BHf{sT3BBX{HxXNTfIy)|#H6KrLY{wV>o z7q9^64FSo8L}BHSAJHZULtq_@4ka$KX!PebZ(t1G#ML~SW6~f6O<ndHs63bENc%3w zbC1G_HLZ9&5votp->si)ZxuS23wAu5)hpg6@H~C(9K&;@%Y+*|U(oirl}btfk1bVJ z>w2|%jGWcG1BFeH!C%S&mDLzR)RxYlI9RtZ+OcdQP_3{2QVv65Rd1EQJu@!oTS*_1 zoe8n%+w~L7opByq5I${!1q5N>+MO!pmjW}3v8xfMV9(?2a^_8_S?r%l3XV4V(rl(Y zW}jF)B2=LxP5={X^dy!IChYaA_$Oi>d$&~{{H60XMA<UkiAKi7!vW^zzcJ7jGYOE6 z9T{|FqCVHq0PD3y<PTpu;J-Qp!*2<9+xdJ=D8m7i2Sm;AzY8*c8!vyt(m2W9(yI3U zIwMsBRdOBs@5U^X@z|z3)t9sK*H;D20@yiMUF2roBlSm<HAvc|<b&~Q)%oWJ2erBP z8$aNAg_};luvVcrIX$j+n*+~ZsC1>D&z%fAN~D%q&&=uEY1<4?5@OLra8f7{B8CN; z@>|9OB4bDn)3nkJgCy&|b-4!27^SX<d4SQ9NgQ6AY1QzacynMbmO-7n#!>6=wV9PS zgGN^ZKWX7e#UgD$;_fR7xbDet9ETl}eo%9n=1H_D#^(Lg5*)C~eiBZho=M87CNpeC zFb6DBiK9v<S<eL{ulXm?WcrVx)?V~80eZX?=;>JX=A{svMyxK_DSzoq{I+ZjD#x3B z$;?Yueu>hlV0Q-_feK4Z6Dd^?qfSG3r~+e^%`gK9!TF_2<j4<FT=6h%G-|GB_SJ<A z57|<-V_6nhl^{zKOS3VF(*<;D%lC*aOAr2-f{}bI!Yr1(t1IVTY!MxwGew~@OhGv% z0C4JRLcUf$ubeH{A}m-jdN_U-&xvTwFJE|$+g4;%xtsmX)z;OL_22|6uozRlQ7sy> znYuHRpc10ChvIS}xqT;Ddg>g6i%OzCcCU%vIA9Js@ZTCKfPq@*w3SSey0b&(pI)Ms z6ev`6lVU9TF+rPw5&E}&mJD5t7%ibl{8VB!og#;i=|0?O%=3KF~eZ^h=>(wTwN zCE~Fl^O6W7Bb-wI^g297gSEE62WjgTPDOV9_~%Gq0zuOCVu2s3h4<?<z`v*Sac=zR z3?RDTe~c_n&DKOUl9P81t>;gDuQ@y`HkQ0k^|6{YVhVOK?Zye#!7Nf!LfW%hGHEup zHrt$Ny*^n4;71`k{H5vUtJ55U(r}5BMVXlyOJ_r#>KzWVUlr9yIfv}ML{Wg80I%>* zJMYxKgGDRMaUZ+86YW~MK_V#A`fUl`Mh|s*tMgieycnY{e7cRNKM1z{(8@Pfbg%_? zwyukRL4H@Xjp=b)=2D~94^z}153m-VUC>?K3|70&F0tAY(og9af;m>lB2|7m{2+I{ zk#Uae8R=Qx81KQ@p+q1kfOmjQ^Gh9podVmL4nr)o(Dio_TDUe}_Mp<85G!k?=RTVt z(wwS7EX`)nkM&`9KaulhFU8jc;jQ%k{rMXmdp;paOQRq`ftR(9caS2gb1BEZ@thyk zXD-)jr?Fj?+N3b;ZqCWheCltFyzG;q0j1U(lX(ga1cxlr$)wJK+q9MW7U$dG@gvuF zDuoK1?>>&s<UUy&uc5D=Gn=qeGP)DH+WxzJWI#HxFHe*@8bv9|UFgRYZi8_mA|WgQ zztvo5Wm`2$K(AW^PYzdG_5)Q8_?#u2vc+y)yjq!_WG0n3PA5ft>eNC{c-QlCBRDI% z?2rkRUe<G|xDKM=rcvLvfyp?GGI)nNeCTr0zYqW0RU5oY`SE&v0zSi>PHlzrjVv4w zmLbbvlX<+OaumvBotLCU_dFtZD8JN2IZmgPl&7SfsW=WH!rvfiwC+)>Jgl+ep<;G; z&R{CH1v2O~jeh+aLqLJqjC>F(pX3MGn$3<{pW*==^8xM6MqTXgo1h|U;D8^U06O`X zlyL<ddMXy~k!IRkImi0+!jjF@wU+OeEq$hA-e_X**Z)&=9`0<e{~vF^Jsnon-kcUi zh`p<vQWQl+V#KPVB(b+z=d|`L5{iUsL`3Ypl^Dmay;Y*9z4ti3{H`niK(6a~?&rSm z&+Gkq2Sf5Wpx?Uu3IdC)=)`}1(qKOpcmSKV_Fh2DGR8=R*pY!xrwnQu>PL5~2cLD^ z@KLAdB}&Fkttln)ZqC*~-ggd#|Gvt3A-_J}(Kz2wU~Is>uK)ok7d`42=GfI_cK6$- zEf$}QgI%hctfnR)p%q=2k@mH;@Ag#!57i8M_6B5UB?~-Kon<NX@gg__#^lZ=guQGj zf3M8Bj?x{}WQi)WJSYhkyOJkL;(JCAbL=U0QNQ01tB`zW{pMb(y+$l`m+F3M{i9}c z>~3+23o{HlnG*iBm|HPVp_v=GX4>}AuOU?{Z%&uRf<|G$J1c0Ft*z96>%rw~2G}T$ zx-=#Vo2Y4aX;uS9FFJWwv@P|9)IMXzQqD*nPV>MRYL{<^ab$(x@9^S!UVg94HD#lx z1ZwAK*N=Xe6_qGDj&!3W(*%NMx`WBP%^ygav@*5INL7e*^MAMU!*8`M;iC0E+T5XZ z;f}YHa=)%;iA4LA@K_{wdd_GE0rSndOPdIRxgZ;TM9c`)Dg0MP03$qAD4pU*+t!^U z6UwwV(<;K&X)R#Npv%Fl=xkg1(D!jPgb2YZ(aK|^BV5|`3cJxzXp_o8?bL1#$F%~? zakPWFmyZF<RARYR+!>_?We2RQe%kB!{T?MG4tiOlf|ju$CS=jOhBe!wPrrO8v<Ic8 zJtF)U1#F&fb{-%Yi#Hk<wxg;-eO!Rs5<<-l<&mzySq6Zct|3(qs7HyKCDRFwQnzAy ztXAOzuSroASHLVv`S}fh3olrxXq04*1w69t1D*JS;dnp_-b`v%#alNAlq{L9F*0BF ztgnh5D6veFl$Vr181c&C1_#No;TadeM0&N&H)uXFQ?&5C`E%?5`rFL9&xYzaGoL<% zf#nT*L+ZlzPU`md>8j|6h1IK6+kfgg-4>wc4<f$)kt@FWC2qP6VVlFB|9BAKC)^9d zaLJE5v9XRj=KpMB^B?n{U+Z~q5yx6&R#<*K?xCWCvgj4U9Kl(VYa>c_Y^Z<iMZOR7 zS>2mt({V`!13m-e+S(tz)eXtUa>m~MeiHFFA9sYt0wN$ml1pJvV{PBiPM*!5ZtPI8 zkkW%+L~b9i!qK=Dc-a#iJ1&1#pNej-F3NEv5LK(vNZRDGsIVSAoQjfRw_J-Vx_Pj1 z2;}8CyWh6@->oawG%{ORoZ5YSAhlkr3MQjO5?$jyQq-9Kv6+!(+l%lk)TRCiGzIB$ zvIFv+u{B&!U#E1=MaQzO@Vu$`K#AnI%{?6@CRN|VS>z^psybSM_w}FK)X6^%4|$<! zeCpOgD+@d5ykWTTIWvzRRyF`G&*!AunO>Vk>@~Cy?AOf+T6|_%C2>ScFdp!uLtic{ z50nF_MA^D%7x}E-_!j$xLI?d2CBatNUC;t-$>Pl1?^Z_C*qa|Et5M-w*ODt7Z?f(k z09!}A0zxG!blsE>t}?unayJH?K^S3Zfr`WVT#cFpZkwPJ;JXaUA_|>5>`x$(_RV>r zZG&n?cci+mjgl<WLH|kz^42lhmclxHCtj<2*rEwNEb;j(Q4y3PGcZ{*0tQA=StzhU zmWV?*ur6AD&gA_hjc{?*&v^?wI?g}E`Mb4+=A#<GeyMs=8lxhg-}{;U+l`(OtM6kA za&O4bI%VF3>0`}Sn%sKKc9OF@G)uh_i#ChFSSTx%w5WHEB|KdjD3~auQho91(j+Av zq-&ly+&eAEKf`|tSORb5x%*^dcMz8o{S^w!@*b$m;Eu`_N?dc1?v?$Ap=&N2Zi`Af zxTjgdhTt+q+HlVgX92-@5Qgee(}B<TWv`mx6(nsfOX0DHrQmb(5i;T(H?n-1_o-71 z)@tL7wx1)5dQLr$6yEY2hhOqT63cY@ypwpYGiaB$HbnfugH+I#I+(5=J94QZI`7ry zD%MdFbwT^uH+hujPX)G5#@u%O41VuQW|1xtrZ>Z*Td9Gr+s6Vw#W$i>mSQ*}`lXe5 zjl>0_aFL{b7F{}hBTjvJr1Y7EzH~v+XaYcA()5(iTyz9fnb<OQl9uEY-{)x|v3%() z@a3&cePd7<-R<OV`wGtDelF3;P6N6q>POxa3De0Y#^(skjCJcWJPgvSQMQML0mn+h zYsU1;M{OBo`&4R(mkl+dSNtad-aRYrPT}lnY}LC=(y{t4_)_PKPtN-=i-RgXS>IAm zybAKRdC}L=Lb-qpjR^`W%?L;CE1vS{>-Id6Z5vl_O6cw=wT~efOLdGyJ+#&~V9{YQ z%@KTfNHc*q@`4C8Y#2QHeK1}puB(fOdk!;iG}^`k7U9{N^V5OeFyA28f!FM!rBK+n z*1GCf{lLVQCIwPt;#TBbgi*HUl!<>@W7y!OVu>R`e<v4M^Cq&P#P4A!BMaX@M5Fw2 z<*T7I(p&3>-xMFX?;+<q!Do$Wd0XpX61a5M&aw;yKnf3X?;urh7e4>p`r{Y%;-_Xe zwtv~4H;lh_Z=$}Ou@vqJlPZRrzo%)dh>qyS$)7UKTUreV)%NCWh`nYi(#hAg>lH9a zekA6JzZ3qhhtc@bPT4<C&Cpiwt#lF_)|`XZdQi+qv?D97X*CrNPzs+2*9vDiOgQZP zfVPR~(Ql*M8#C$Dx)1Ox=W2!7g5l(YVjXqgLP$?XI&+CWm6a>FMw6q8R_Ak-j#$d5 zE6&S3^GKmI!=#Ndo7Spe25yb5pO5U;!)H@_B~sdfgD2U1lbQJWAn}t0ot?*S9`|0; zJpEyH<xDPSdnmrltr8*(^22RyyxY*7oyadAY9z!)IK})TaMwIRJGWIE$rMmq83j&) zV|+OGrsy4HKBsdhhQFPp#ps%hoV0cUe2dII*Kj&A323~s@B_(h!Sj}DVi*-`>M*1% zXmwz_PoWzmiP1A`*U6$lW!;aOk`G+m2AkpnoR*sz=2NyjBP)pDP!_$^+xRXC!w<lB z^$^n=@)^%}u&gWb?w5Dc@_WAfoK{Qa6M*3v``<bkRbOXS7VLwOZg5;0LDfx(OVj{^ z6TA|;`0MN+e!(HRfeZ$;eHHv%$4lSPUV2)OnyWW@TKXh#o=svXNr}aZ<ujSJ&{zr! ziYE=V0FE7wEt@pb<R?d6OKi8z5Ewb*`uZ2a0mKEB)L;XPeCFxzOvUrP&#p1=Q%YXn zUZoN8Xyv}ih+zKZl_Bqs(MP3)4Q*0uv+@1KSb?A#QL1J9=io@!RK}ES<KoD$a{u0# z#cKt6MdoxCIaH7?U0e_K(hp2Drio6M%u1HPgOUIs+u_Wt+9{2FL)~I{mdET9D{7zD z`_XsxIXke(#*fKfA-G?!BzfgIOcv-uI+>N7Xu0YL*ldE{BBsIG#&XD5n??na|5L*8 z9F1%M?i4=rX}hyguaDNLY_v?YW&j{zZ@P7wMJK>6mj?R2p5qnDP;Zor_91!0d-ya1 zW$_cme{Z~*1Amrv*rhHzQp3muSLbUAl_IHg)Z{!fxIAjDi3VjE>YSPdKx&zRty%_d z62+2lL62#Y@5toEeXXcDD5A2ph&MPxFyTH(z6GTRX;I*r^+|+|qHzOTX$emKJmF@Z zBAlKl0cn8&<m5O@qwr3ydnR2Ts(53O?$M5A@wbO?dD+<+9m!HfraXzdJLbT4v;NAf z=dNnMDimPjxfQwcp?5kK<whl|GtJFvo5zJ^t<`q%@Z>*c=l;6|GrC|k=LW4qzsY-Q z-%W@n?IE}w(@-y4Gn>0j3S`rtP(8{g`;i|Q47+{dgY8r+x+P%0Fr5psk}Hl<sqeNP zVlwQyVmC}C^K%cYX_1@D#E0RYKRH(AD_z^@qC4NT4@KRJLYNC=Ebps4)Btqr@|Xkt zM0I=}zPx4K7$NE?pVAW3>axwEUsmu-QX96LmA=6%ruq204K??h8K0NVP2bB2VIyAx z!!%eD^&Bdq=q|qig(@0bk+YWhO?-~aC{@1=tvd-sYGFDE0|os5pq$Wqc^1;cq{dr# z`D_*}%-PW<CGNd_tP-Zd7(>W%z7kJ!YOs4mRXLQ`7X|YFY0dZLZN-_Z{5rX+m9Br? z3qrrjwJMk1$|K#OA0;B*O(~r0AY*Ow*J!R1DZ#-D0k)qk_e+i!iOw8z3WE;d%wx+k zF8Q(B8LwbYNhf;lHGCk$i+Jk=1JCmAlO3~Hnf4b6&uM+HQMBGTEgJo7lMXVWQE9~_ z;ZN*cQ5}qmR8V)wNXTBA?fHQP{jz+g<2)p;`)x%~&m-r|92W5?4>ZNg0_}fawbOtn zw%dV9X1{#Dl8|E+RikY7scnDO3;C<UuevRLXc$_(7gqLsICdH?6>d-e^IgS3-wPPt z($4M`ko{m{kvv%KUl~Kc9<(-)pC3wf{lk&eVJ@0=-1GPyMzqiS;|iz{DY<;vpf8K} z8)!K9`*}M>)U)=!bf=aaKEp{(E7SAXy1Ugb-ts*{pVRfBDvp+`fSXO)yIXrGpJ@L) zu8eJK!%!KLDC+a!*QBbvx!Cj7r0slY=B~rU5up@cIgzu#+%a#b=RT-#UHSJ&Hj_&w z@AX%Csb}g(8!u)c#d+LvA4`j<dxn&1JD}=egiulbtb0Og{;!>LzF$Y=f$mc777P2z z>GxEFF=?`0ivj9pijN>beLCNXnkJN^q&bWHTukijuqJ(asvHD;ZxT9dejZ*BcyuX- zt4jKzYNI)sB2>axJz{P5V252syzgb|-)|}s8M-H4|1&nc)9tGf{?X@`58jOVV-~dA zD_5vt%3u_Qv`&LRmJpIX>nIRpG6bg!kNM7fF(--{!NJl)zULSvPHpHxJm^$%ArtGK z!I3_AH|Ka#vE#(V@Z0(<siU%5QYfzbVDfhhsngztUtC1OX})j>7p3r9r`QT_TcaZ4 zG6?W>q9zzTB7-Zf8escAeIs-D$6XHIi-LXonf`Yevxoj)#Pm-|bh>@?pbYA<DI+~Y z$X%#k`Pr;r(U9*VcO&8bw<WS^$`_x-1?%ZeH$vC)TyUuRN%!cqjb*kJeJRSGx%6w@ zt5bFc>|cI@z=egm`D*C57&kgg9(#$jetJGCV<={hjmKZkg5q$t5b1GiLX!?+6AXSb zM&vvka|ghB((ms!*c#qcdDd!?xLWPePUlm!Ymcx7jIm$$uN2aL&D-UGq7)0BCc*<P z9WA!%nE0JkYY_HDWecicfayv6<P{@DBW96vWb%R3l>(*Z_9BEDVD|<7j}OsJC|w6( zbXMo|TR*+rFOK#3%9-A;SJPY*+!S2M?DoVUW_g}!_g^lzP<t;Mr7lazctcPwCfxy` zgsJ5(b=4Px9}>-Bqj*DII@<AN&S4awIj!3KqJcaZCcRWjH=ul<DQhLfEvo-uz={7Z zrMQlc#_K)<wN966@xcq9OuJ&0A%|k!$ci#x*UbSE?+PG9C%kt}PEcpx&mra&5DMn6 zKxa9BHjlTFZ|w`jxL#=x0v(JiVR@O7M;LKZA`X7a@A^8UQ6r|LSjxkV^XGc{KzTQT zQe0Uoz!B5GP5~anS>a}07lTk%*o47pTG9H!NSZrF6~Y^oA^0(@C&zdPOHnuMQhr^= zVSHDuCwBh}I+VuqM2_X}f6w9~)r3Vp_LOa11TqpGu5-(&Y*5;}-<qW&ca^D#;~Ic< z>FQ>;yX~Q0GN<;E9pCRowzJ31towYDlYLgto+UqmTK*XvkJx;HcWGt&IMxYrYL@W| z`#k7TP@FVsP-HVVqgCLRx-6n~JIP`|Hu1GJOrJ<(Q|@3>d0w0f|F(u&A3|PZe+8@r zG>0rQ?aM`YQ`4I2OA>2>I1(ri6&e7@i_2=KR`RUqDD_i^v?e6SoE{z;W0o|^`*m&Y zA@xzVanX*Jj3jk_QgPsL*X&M`pBwiBV6$}NYT4e+kQ?KRQD*aW3pFdUo0jE>Z;7tn zSeZwfd)^X*)pld{yjm5^$Ie<$=t?Duh0jV3XUCvp7;2=fDu>ZCG{tMp>eo_<%;vJ# zgk>{t3oFB(bk>#~Bdv_+sv-K0y|zd8RbR%6%Nth3*%CX4qt?lxiM$;+H60$QVQ&uG zoQI4OL{)jQH5GQ*tga!81cQ!X{VBrHaD<xR9uLJIN6uvngsz#7`ZitC^}gHJ`Q%V^ zr9RoL!)|eu>3cGM1#$A7g4z;Fg>m_+3N5G8JFO!y0L(}4Ic_=3G<SRuCh?qhTtuJK zy5o&0ipB)Psi$u{EBnTH#tip<zCndj#veE%wYhk=eeYf{YKkI}UZecqEf1$^bz=4s zF0P{)LiIoe!hRjYm+iSxPP#k~aFKpRrsyKgYB4cUh+67eCqL&W^GW%(+aWLaZ{jJ* zv@KH+M{^$Bo7{J!2us%nCa5v9<c<&Q$$M*E=Bi1V3^nO_h|>9jTpt`f@>S@&DXZGL z*4ncxTP4QW$PY{>ZoLyo>t!8zTL5|<-hqbt0l+KO1*qo^!Rq+m7S=-45t4!A&|$(u zk=rp?9ctspr$JA!3@s;`S9)+|nz-bwllb~s8s3Tqq)+Q77@J>2`g`9lI>dHTNm2EF zQY-N6y1KB9{O81#E~Sml?n-SB)7s|aUe0y284B;Q7=JqIO8EzSdG})W_l3~EYp-s) z#@VEnuG(TNi@wYo0$5=k(!^-fE_3Aa1EXTchSW4<K9w{!NyOywNgNv-%|~-3_imVB z=>3CY2Fn8*{q|5YXIBtjMQ-afycy9wK06QUjdqSMiN<S21`J1~a})8FVK8b~FLKFE zodOi-vSS#%;nVHpm;UEvU21QEC5du7v|t^y8Bj;(LENao*p8ISU;FtbKHqjLamQEL zRcrCCpD8-G%kNLS`b#|-a5yd&hMy7MWVHfE@Fs`)OwGvO3L=I|_w_;EYpYcnI^<!V z@_JV@%l51Ac8lgTx-PD&ju8rV4c3toCoTI(^c9Pl4dgsE?V*UhTZ<sXkSO>#YKtHZ z1RJ1((XOlw6Kok#$ff&zQa9TYpZ#F>Sj;b5gUM<ZxLK)H3iC4jvu#u|XPet9RNltM zrYryZuwN*z&W8Eb9a+%76|7Xbw8l0Y>xR-+>dC__!)_Bi$3Pk?H2{s-X2m3LWyu35 z2SryJAS%?Mk6hN|Ld)T@?AOU6MsSr{E+hP8`9vP*SnMtQotJ46JKBlYO#mi-d?EEI z1hMDPnf@UujncxsY*NSc6Luq2Il8T8_b|;t{NJQgk=Hf*x5xa5T-b&ri(giB2vpom znz@%3uT+n5d{|{(Li_dmC@DJ8jz>Abx5#}@FCxd5cwa^}UeXqxzM5*-4L%y{Y<H?T z2r}<5>o(>QYc{SJpu*al6z7krSzwv!LUIK_UpnFUl%K5tqh+x2Ff+PA_`-5;>;%7O z-oqf$9nKggLOovvET@#XRGrzqJgcE>3z9DARc*7~@QVv}3of;W#Ip}`I(6J=K~sbl z{`vOSXD!@MxZI#Ou;<w0)>$2Le-(Ph*eT(}%kGsx3Z|C?eDYv`TBl(3nTyc?otmxr zWlo>^rXiVT!Lx3qk3P0c1A8GJ<V7Bi2n+7fP6ug)@?0~^Na!&}_1IJ1Ngv}1;bs-K zV^n*VC*>UDg~0R}KRJufUl*X69W@9Z2((?@v~JnMM^d}GO*;b!p?K);^ep4(ujOaC zgx`yQMoqn$SXEMgl15VXn~X)+7g)f`4R`}MmQ6j#$sEnXL-ic7a@I{7H5HckWLrev z)_=MK@FGnl3G$e;#FKR7y})~AY>_0LM6Q~cl0*V`F0?om3DdneB_*klyh`cr$663T zJ*u=8S#0UD3O7yhZUC+%{%@!dK2C54IIas9qOF>mByd;Ngb<@{u@9_*^^&h;hq^-% zo$7z4KUm&di*&ovbM_+I8t^qw)<K5|;lZH=Kdl<-<Mlt0!g$&$FBx!SKW+QQdQa@n zSB;gyInOvN1R(8ikd*z*h(bsrtyfy)Yasnoj?`+<i95E7Vo!}eG*{>GzoJ4{uPDVv z4jJYr@{i-YI((ODEhOS{MD9ktA&tHvsJyq>vR+dIN?NM{oZ@)|?6sJv83Rn)`^FNw zE`He`WmlGki@DTFd3uFsDt6>Uo4_f^7<Ea?rJpnAFU*>UN<}qm<m(dKi?n=&s+uQ` zu4(Q?zpwa<8cK1=30fIr`llb!Ph)WZx+-%tk#QRaYA1{Q)9<CA;dN~J&dVaM5+}9L zYiNQThYtqpS+>7CYj#H@4oV+wtg==X7ho)hY8hu%4~Et2qB`0q%A$NdeLeM)L^e6} zBdxWuI+EU`zG7?ah0mTbMJlRHo$oB5BmCY`6SW}o3=8=o-(IjWLY)mpZC#0A*Dvm+ zVBs89FUaTi<C=>?A0nuwf&KVl_mOq4s_$;A!<Xh{TMfpnJtZ0kg4x$XNr8SbbCPM7 zeT82+oAeibUm}?}K@!zvg0lTNrRMTxHPs7@N()~#jy?7Q`)tkT6ZDg~gQ#Vt+HZ20 z(c~C3{KpE;#02{(dIGN>7^s2}srk0O@!zdI<7B$u0!$i9cn$iH$HK>@#bNv#v6O97 z?a`}e1^+Mke|;9PRK|gi{^P@jMXZOP`93;JK4WS)Kw)8fUOmLSSQ;uA8o)PcX@2j$ zf+z$Hf3IQM(H(CvkBiS$TN5Xi!sVTuMtXhSa@PXl(WZY7$js#2p-Ie<Vv0z3UMsL+ z0b4rgGMsAfP8X0~fyl54TQPA!r3u2yqpPR(oFdnm2njO(bXql=Lq}A2hAcClx9*Ng zyG{LUnCVqlRP-)O4YnVs0N+LY40YWNK0Ul~cNded9w||@dRqP8EuowRS8sJtmCUmr z-g8DD&ND+CR{nJVGjdq@J7B;V5z+{pvR$_unhG$lJP4(4$cApueG9WSaD={^NK&o4 z-A><dy$)h6w7%H|qMrRjd&@N=AJ>Pe&NzGqE1hlIJTR?_Uooqx4sA0Jn;da_PhC3d zQ%5NW9oG5j=5^AtXmYxehgj^}{Nk9Kx4JQI^V0qY&t#-mBSaWj3G0&=L3YE9hbmuZ z-4>@t`w^0@Wf!5R3JqanUjIwD3mcJrAe2cHgI-AjH>fd|aSh3TTjqE=nbJ1jMsD59 zXc1ay2v)idx5BuN$<!wri0A+HPf}BcE9_sj!p9Bwg%~r?v<G!-b!PwF5=dD9^4g{P zZ@lmeKG+Tsm5}*J)877?FaNN&cN)x`pYZWLU`KDxO~5F3>PmU6w)7-elGyU!tpaKX z(<^#GwLdn|k>8~nDp{SC|5%B7)g!-yZEFdgx)RtNC@3o$Io)bq^__eZNmGC4$7kt$ zmW<uu#aTKBHTE6x9QR(LP4&r+p!ToFR*$RJn>=|Byt+eQ2tL<&pu(x`<6=t?vkRNM zx}h+t{L{};{%NdYuD7Rfx5sB2>MhjZ=6`HlxqYV5oO^c1cKJ{DVKs*4w~k3(z4tlW zcW$r!kDxiZGKQrl06rdHcCQpP5@FXCYaY8(VdI}gzpE|#2LqgGRo>!SWd0SBUPLQ~ zDva4uGt*bHkM*D@VVLkcagEKf!V-gzX#;ltyJc~2ekt?OGHq{7fW)U&n`ZYOKUMby z;GC&~P}$;z#^w#p+U#zOq@SK}Wd#x-dhh+i@3;OE`X7F`lHTq1D<?p2O=Uo$Fppk| z<7w4Kby)6`F}L7B<(7c08@tSo#cKEPsR(<P9m%#}-$<(`ph7n9qObMu=UD~s#QjcG zPa52~I5NDrxvPpUdA60lEhX7_ePgsT%;?e^tmZS+l#t-43!y&3e*}M%DGm>S4N<n! zfl2;rF@;zjAP`aVEU2#Ois3Crx3Lmt6;@Vf6y4_XK`b^UYJ0QJolg1=Ptv&SxkE7P zxwqnq(QVFs0N7~zC*@%4XzU_f4k6lP8IHOR|M$qHBwsYP=C3=#8R^QrAy}^U9974M zf8Xx)<?yeZ^KacfU<96@SAEp$_}gbng-`EVmuod^!3GvidM6x)QL?p3etZ^NQh;&t z$#6<@xt(HwuKf`pyFGhb(BD$`b>rXK!76?aKkS*Edbp`w1l%+ay?%K#GP^zlyOtyG zKH6k5_Imn4s#)zz8122cG{PGGG@k>83=&!&*tO*8=!rvn<(q)vM1S3A`3)77r<7Ur zakXjWyp-dwCYRQyl(CAgVTuJMl7G>*bUPy@u0r&MvV@ReUgEqwJP*w4%r}k|+MZr6 z#)24A4Z9kG`%G6-VcIo+wETNX@UbBZ`>SsDyn#xneCc^|TU;u8^&>hmRVy-1g6&y< zgYZQ1!b05-D%_yxUwiTM=;)?#f1K2Z(Le+?iR$GqOzvzK%46Ac<<eHnS|+Mj6g=YU zW<PzYjumc19*O*qGp_vh>o1S{3MM;sbMzqe(hI6@42Qf{p}2+J(<~BAOwlfnu*jfT z4P1X`5RghmNt(i5waoc94+PWM_;l9g_^puAEyIIS{|LHOR5y6=$J?GWtY0kVMK4c1 zRh{L|6sKo-=(-qpt-6UHTC3s(N&uB7;*GGUe4_<<>}U@G7yQ0AHD#c{@9e}fd-aSw zQ7NjWCAi0hVzY?wH*W_GKe&aY`$69-t=9O9Xs+vgYS%yX->snRfB-imY{(E)<plzv zSgn86T+}yoqTl-=EDf7q)&25M(OZs^imB#890FZ4FPub_)jrPq!PU){#a)^Ltd6F3 zp2{Z9fk45E)m1YkZgrT{DZ)m2R^Ug@_T>JTIufjkW1s*1OQvx8#q4d!pDgHyi-vj& zO*U?8V;9pKpF)bZz43#6$L@xr>p&GgRQmO(VWo;&hvbO#i*nQ~M?$K>+X`XtzurZ@ zxaCOxyVTur%zy4;?859|eiP50RkbZVRS?_SWZ61<+@Sk<>{~in$fZ)I&PULx?<4EO zd&f&M9pyv!R^8gmiHawo{y%ojB1|_XO9Fms&-gws)2}c<7{*Xk)S^<P=M?p-WfSYu zp2w(gz18bot%r-(Ir-s^XZ#R@?rr%#<At+s&z{*RO$di7Tr;MIsa^e*4n(xK@>U!$ zdoUr`8&O;LT;{3HGBuYO%}&On$;cl?itiG~w|Q!>CGXR5`{LBCh5(3Mt91_XlbVd| z38sJCi#I0Il6UMy^H=&-0Cn*uppp6xQ_Sh9Z^Mzrc(b%`sH!2TOWi6kA%M>PWrg}+ z1B*K|aV1H=FG;$SFU}yO=C#gK%!eclta~g~f17AmHS*KvM-n#%;%-w@d1`fD;#S&p z3S3`Q+`IU<d^T{1)AN78q~iU)+Yd@=petB(J=c9dl1lfnHTN3E^*Q8n{<-oq;SZoU zsZ|Tw+S=!JKgKo!8xa^CefBxa=SLHWIl}sfu)@Q_dp7DTb}2w)UP|T9Acx<wj6!m^ z0-Qe^`arOH-i_wgbBE7vY{FhyAD1GlR}QL<cgGGTtvgclkVKC5KT`eC()U-^ZWaF9 z^OsMOxPo>U&Z#BqfNG{n$A=2H`3DXs)b!W$n;^uk3?DsxvQqo%U#+`$_Y%Oo6$u~l zg6PlBmLpd``cF=cY?q{8o6j54em*IZgXuu+4BTt#hJN~8<^Ywp6*wZC4%FPR@RP}X zxnd|%nr_b01PtgKbWwUq7bW=QFS_LcJF-_nMw3v9n+hi5c>HMN7xmh|eB!amOq;fI zQDxKC)RzUTlZ`V0m_x(yX}bCMxF6HDnO95MwZ(ewTfEF)SKfroyt{qtm|S@Vf%R4Y zi8%&=3@XP;YY!^cn%m?Of*@RjHX@=mjw_C3!M1~&ZfUmB{jJj16*ugGAEs>2l1mnP zA7&I-1ywFI>uz0y7|W6#rEdRs>xYC;&JwVurnri(DLd9od3zQS!F-K*U@sl04ER#y ziP!T{QIRikoDKNUCT{g@n$qrB_Q*MKHjuvUHndiXNosy<HNr+uA1*ryYJB5;itBfW z42GHRS)GhgzoG?!(aVzY#epnjNNv@U-2?c}tb56FZ^^1^*EZ%~nO+avtYxNiWnFVj za?Q{{Rzj_@ycl0f;!4_*GBJToO=z#-^?KKkq=F2SJA|mYqu??UzY?h)_}p1U2~m<C z?tLu~mQXDnl*1CMe8><>gr+}bY6s<Uqhy=eEc+sUQ;0*X#A5JoRbp0d)roW!fu>;$ zq`?cUUQ5-^c^?(Duxzn{GGqE>OskwD-Ql(o!Br4zAouc{cAT;i&wh}~&_gpL8MDUJ z^a|+Hso7w~g=53q^;+&6ekR<DP&56kgx`~CzaXCTmDwjO@!=Nwb}d929f15gAT{-4 z?9{Xc$GH6O)K|Ey*-^)Xxjy#2So;R{=>CW~A;sNQF5$Nj{ckc5m(H3VP;nT+MoF0F zg^_hGFDw4ON|)tEX-Q*Ca#1gQoaFVC;o5CTzQ~kHl!$e(u8HatJ9EA973TK(_$xyk zVeV!>5ZD&qjq%w}>UlL*eHkMqA8*X~=ukKRr=CatnY-AcLDT~M=S4&H!aC-Dk6_MA zi<GfJoq3j~yVT(f&ICLHPBiCv(al@sHtGe^%U>EzwJO+JjBa06K8-q5m+M@y7!a1= zcm6vsl9<>ziO+b)$F0mo0d!=SK;FS9BJ|e8sS8|?jwxPzjKKZF>>@z-lU{abK$?xm zkAjK3mikcW2HmAfS&4c-_tUccK)g|T)Vid6?SHqDV;tIAVSjXpH`SLUq`vTl4Lw?k z#BrO&VefJoSSe!f<8Xev!6`<kO{zY{{#xdWUGK!rN;2M6(aRS(_|TB|<saLA{D_a} zdFwM@%PLf4FZ{rOg-vyW@B@yq)RbF$u0El#c?X8Lu5o%kSf0)~OC?NBr?|~Z?iH49 z22oG@C0*BF7=yeWgRL5#2(P5_F!$2sy!KZu;PyQ66|d_Z1b{a>k|m}Nb*_@k%_=8< zvKV-Hh<<-BnaC?C&K1>d>YJw@8DtNb=y=Zw9fJ_e^5VL>D6l^F5(6FOMr6?W&xtuG zmCWL^{b@O+&f9wuKjvN$8zSdZ+Rs<)36Bb-Wa~Ahy%~2HKSDJ|KB$SKJl7lwdLOAi z%r>9>v>=>1VY5gDFZYAM+hI;lT!u#d2%@&6ORJSqf8JU+v6|rgW#Bol(K8m1G(Nu5 z-fMc@ry~cr$lM-w$wRO65M*e&LNvmO5k+qfHXGxXJJ|_1t3bq?>Y9nXaZTJ*Oo+xw z2|zTzt|?AjrF1tbQQ|Nna9O5{jnu5+kUqI#V0fyq@4-Y5v4jvnHRj6I%TcKybWj?| z42cX9Lc4|ePoSlCa`QspSp;^Z{|}r->grIRyNAE~VlY^NwiL{R1{hD*i<qZAl#M%^ zSqwDQ*%uxh=%;AVo$>1xjK4Ow{d2FNEeN}5%sTQ{<%Z09z=#cOa;k}vAj`G=EjWgs zt;ssYYsDG0p%Y<G`z6_F%dRT&RemupxF|iM;JCHIuwVz3<QLb~!?vwX{M&XEL;%$a zFy{>#8TKsVL2?j)u91a^G1<u9t6@XrMXtq|6-m)topZwP1*`1(#mXY##Kzf#ncWJ} zP>}AXZ$%eFufz2<QmCdmi;GplLuqD;LVQ;N&ME=nEb5I@R6%IFCf4P?l|CHXKw8ag z+}O)xDDDHBiXit0L3zd$rJ9PdG<Ab9x}LY7Jw!wo!E5i&!3h>lnetuSgQ(BZMnPN0 z;)%LO4Xyj!uBI+O_Y!9;U=#|So+0Vg>^%D>g0CVH`+_sL`XT`v=T+4Du;jxrpjoYf zRnX>AbhK00=o?`mAGyrgb$}@L5EB<_mKYZ4FX|d4YSGbpBYBDABr$Ln-b6n&QrRTl zx)j)fz=*tGW|Q=uj_+1&sl}<ImIR`*PKa#P=^W4;e3>zRliB6z+(5-XH=LuEWBE;E zWt{G%!MUxgPdlJ<Wd60x_1w}4!j!`-Nl>B3JnE?oPM3{Z4{Ms^6rD{_V^d`v&r@RE zyi_Sdsch(}!@O;B*NjI6o^+bzeIY9&qAOnyWl_z>@GtYLwd^YHPvjRQ!eHiHW>JdX z-96J1j%>7HLr5D{-(~IzmgK*$boPfkcONdmvP$EXt^~R7M>^J5Sp3@G&h6xM+u1GY zDpr-?)~-pVqYK(D1(te*JR`IRg}c2y1-VQHn7|JE{<}3fb59%TAT7U~)UgD2s4xLR zuzwSxv%W4X&{mYi8e#QJPFM&=BMC@B#T$+ro3kp4am@VVoF9XgA+}ON{|1J0#6|%) zlO#y{toS5iB(?Q6!vN5`9DRZGQV=Kaqr8i|Es9+|C*Z^P_3I|!-~<ji+ny53v(DcF zY-%!;uB6~>;<c6O54C4Yb{y-I8Etzh#Y$O8IGi2<{$X}~m=6{CZQcAs4l(=$R;r}u zqipw%m+A)={+NH@YReC9iQ-2ycT)DIi;mK{r3pp}3&zgdRz(}O7+SS7H@EP}K{ZHM z&vRTCXEDBWk#ATyI!8&dEX$1K$jj8p_3(~dl9#H+tV*ekIZN^YYzggIFVRMmJ~3Fu z1;J^SRTXX2pC!k)3I<|(IFgm(@cUhdhDDjj3{Tgf@uVBhMix3Ni(kpFs_Mp$elprY zwRze@i#MeE6z)e#=Ju!RnNih_y_GwB?Tr@tw*Av@*U8eT3fdaL1m2`~h`KZUmWtz2 z?n7=2scp`mHhj(4j}|y<>CBN@`&`ypKffjuI3(1yT(!f8&7@9-Sob_Jyict_Q4iCZ zlLYQ$nkGs)eQ|)B5RD*M?g?kz^kTO2<~#e&-=&LB)<`$pV__4{p(kHz3b)Ig#tqTl zbF-Y^rXDAQf3lH`k`V=R1Bd$bk@!bSze1djKJR(_P1Psd3+>4S^<3NHbW@i00?}*I ziLWM*@V*i?ks4p*f@&iLM?E_E2#X;uqN6pme&(OD*ymmlzRz^q(0&=<m)U36i1W16 zVJ@K|uaCErm(4i;)hvE&z+Ft$z#p{L;EdS-CP;x%b)GZe(sTF?sZ)UI%2~J+U-BSD zK3hI#@kCFONd%GTb*xubN^L#&a%qFr+CasC`ISguQ}5$Ct8lUuvxdtm4C3Ia&h44Q z^GCS?UP3)Q7o7C?ohK4rueD)m%XN9*7N^$&m|BfgZqlAH()c}mFRX8fuV*!PQy{+C zK51BnE1iXbe)tJFlTum4S_Q4QP(3Weyc1vcVRX#n64QLMf?f$Sn5iF29!YOy+Usgf zBLt?sfT`&@d4zh9FBu$cqra=BSGfgN&8^q^PjaJ*tZi);NUZ6Jjv3~);WO(>vyPXp z2Zr?FBx}RvfP@f4To&b_<iO$U0_sIl62y?=J<nK8FlvD#iEq6(K0^xY$1#dUi%7Bw zg0mkJo*xwcPY&CjE#rf;@Ca|$CUtD&_Z9i7%oS>iR5hJVi{YQI*euHWIFTD!_$H4# zY&5?JiY(G_87H(3ld?X#m?OwR%_`(Fj<Xl5s^wLqS1)lP&x8j`__5(dXWpY$=aR>C zweQ^&uAVtRvy!Mw`SPndQ6%Fab4g4qtKjiF!7uu9e&a>sgs76^4=8ZOqt0%hL?t~5 zHGr5IMjedfxAHC<uV_HR#-jx8>qJN=vF2$Sr?WjTvFIA}$uk@j^X~g*0w(u!Zn6mn z?q_8rA7c#t7&yRthj4X)u|;F1KR$H`8dX&9EsINhK-K2qre|yrstJ#t7$cOfgt*nK z<jq!W!lr)BYqYg5^6YbPIR}O`MI8+2Xb8lDe>bc1jp5-FvnbX2ER>bWr}(&R!Z3}B z-2znLd6%^t$yzLx;?sO7K$ZO01N`<UDh?xXqGV~`U&M)Dab5vPXYnx<bzto*T5#@o zMP=E}P=t-e$JKkMq&YV&%~AOhU<g7W4tT?}$t{uPn+r?%HuC4Fo5vVv+;N`)nQ^cP zzi7qz33qCbNMai>ivruc#NSd~z6T0fUOK_3r7HMLtAGSH#a_<!`D@_oZ*qye?oUb) z%Hxsrpa`rfqfru9H``a#`{k#}6y;FWdO4+K)sSZ-UWLwv0^Nrk-T(gzd4<TK?S-QU ziY{l~+ZY2+d@GdE>QA$Xu>>fjL^N30Uc_`(iIHi4YMW_4&D2nH%3$2JxLKvhc7A3N zal=(*C}29i!z?=RXfq%nfIF!IzxXl=_9R6?l-l_=(BQY=iNF41um5-WQt}_oK&Os+ z*Gt*xiqfKeNik=s`w5XEMvy|yW;0rRt?dEfI7r(FEzDCmhPaB`|GB<>^l@1sf#j%$ zP-i0#mn<LbmU+Invih_0y#;qEn*6EDoM6Y3?PRefBrK*T+ikzkCTIo%QA49l=O@&x zH*~cs&_f}VPIvS@u#m^i*f?if0jSCKB|heToAHrVww23#yHw_b%t_04IR;-17}p1y zgh?w080FD#zw7PKJr7Z0Jq!}6$(1NouL86Rs%&7{P{SV$ewTV9L<s{99ww+WN(T-M zaTXm{iKxw(bd!sg_s-VGEfR!3)X2b<yNn<JO^BHG6mh$V+Vz*36+3Ka=oQM#?(Zh@ zr6+{e!)^;ftIkJu`h-xwS|V7Y4Dio1%j&<PtsQ!IZTbLkrDSuSg;v}3#W~lMz3Epb zdE4TY1}A;?gl&C5n;MdO<IkMt^~rD$cZnC*pK@#Y_sXdlcEW5C-k}|gTMv+-3o2e3 zt=@h7RgeE|m44GPm)WYN#r&i8r!OOIthRcSKGa(a6^(TpSw!0+$)dxv4R5fl4Jyl; zroPvmyMWIL&ceRw+t;P{V|}K7S(Gw=UoJm72(g<KcW|H@4smu|L4dx**G{~=`+hCe zWPQm*>(>MwPaG|^W(JH=H6`WS3Hdy4-l_dpD9ClIw0g!ZE?J>8#qoet9Ou0lT2;^^ zRN2X-tF1grV1sDl)B}}hUi4*o2AB}(YS{BzPM@Mp8$STmHFzQiWL>SxA9ZQ^0e+Bz zp@CBaHx<wbVbj}Gol{NXYX!?-Hqr6;+$YE<XiR=v(+}6J|87+;0u4H$t;wQw&dp8r z9FckT>3X|314yig*|2LXn7v$Hrbq%t+pV^&@H`P<LgY}>hSF%l#tS#V`ll#;UvSVG zjhGP9i8CK7it`UTvsU-8dsHry!zkK+_#oJimh*%D$4Gsq6J;0G1I%lsI#2=*igN;4 z4`B;`jkDU#Xv~^@-caJ+$<K93pVfO?Yk=Si`vHWyxN{g9WX5;>Zzzf~b=tiHDw6=5 zYzln<$P>LG80ZMP!Kq)LmWgV#xXcL{*xDKOu|q(3if(>fVBlX=gUo1)T{^18AVk1f z7CgR$+Yi>y1z<8EfWYUlDR>svP+2n{WzJ>a<xueb6dF~iz+h@H<~}&uEu7ACxjFqU za@+M-Z;LK^tW+=dE3)a!uXo>NNe$Q;t?3DnDRHYvwYtdgpv}$5@L(MMj;yMBIC_$X zDnPzV{rS5*6J;LLUkI>(8+Py>fgkgVcU;1ZAC-?5txx8~A?-ntL7Ed{pfulkCt)@e z#m4-D0ggvt>oU|PbG!SKL!m)2?AzO3zc5#R<LUvzDo>!hWPXgn!@vAzczyTB3JK#K z6hUsJ*CT^d`Jf81+B^w}wY&p&(xATj$gJF%L!c;jv9~2jP`WJh2bBnbLfm?{-|fl6 zbeU9tw7=an%T7zhnx;)(zw`NsV-q`EES$3<23rnRtD+(YF%i_1U`eydpbyNWP^Uth zaYm{nKLV~A+1QnD)oFq=$W&_(WQyghK|zffw;Fz%r4qQk3)3Q@Awyw(Vn%og$g3h> zL0Y)63v|TDHk~#R$~j!DQ=;mXsNdQrzqe7<Ig$|CD%mWe>QB&N1L)^onkL>=Db#fH z{&(Z?L}|5~hW5DcJ|8AyTBLIFeRI{sWM3#$ENe3Sp`G>l=pX^^^wr>~sbZ?wHTBOw zYGs}`$uGLInVr<Ah-)!yt<J-HH4C1WRVU<6jITk!5l&mb0bi2eV>xK>j>{K{h!_HL zMaAgZ?KH}vzQuf{rI~{fj(7MjQpbYJ%wj-dgV2rKmn(_Jewj?SvQ7Q(RzM9WwTHa; zI)L=wEe^lw>gy*R{ieB{A8w=J>Vh>DQ*I&8DHsFOYRm0+RkC_M3X#;4S7}H!!ZF<q z{6$K{Lv|2IIU5pQqUT^Ow(`Pj7M*-1sTBFa#xXD-1?BEHBRx5w{D!yr4K`!$cB47$ z*An&d9Rt*qSbd-6&i~3POLDbW!Ifd67mNJGgt3kyhzNi)i|K1#BsS&*wLjemVV7(c zl#t8g7ofC}20bW}DdB`Gwb5qHkk_uOO?7)ZSV}UzC2l+g{s><8Pk2R5*VOU-DyFB& zQ~;bo^7(;lb#+~;*dO5?w$h<|`wbyQYnfs9*vwc`a|9VP-a3m-BnE*KRgo$V0NJ#} z2@U6f-42Z6XuyBBT-6iXj6&}7jdVDoHm2}jmdVG>_ZVZ(vY&k0D`VhP>t-t=d)1>y zm8~U~dHJctwK`M#Xy^FKxASFzgsbPvWpVs>)2#QyyZDsMYFb7{sh|5FN6*bxgU?IV zUH}`TUb+3MPN#5{tSOH6ms&5<#oI`BU;Ix}i^Z-ps8vrh>G9H@ud|NdhVJHu7x?@! zPlH%@{<iP8rKN_@wE!pf;UlZZ!)M9&(^hAwdFnR=-Y~gr8q#z~?lWB0(!QUUi91u? z@dpLGs41SyJYBu!{azqkL4_=|v!A-t(=BZQ4YYeR;x}miYE*)X@Gy2BQo&;P1)F(8 zz8##;*R!addn35?Uqg?x7I*byt1q9K-b25x_@hj+SjI9qcQVfw#j9<HkT7F99P^40 z)E8%YaA>>$%g2fl^q$UJxip8#F=Rui351IvV#nLb`*aaq6A{#kFc9t-?K-K%q(`=w zLiB=Ke(UK@<Me%3qP-vrWzntNBl1LoTeB89_hDcr%5__)a%!lmM55rAR%pTR(G7OG zFkmqdNGY#LHmt56_u%*9tFHYJ;-2v^{TUnWbb#nohQxI~Kux3aW2J4MU(nO+PhP8j zLZdf`=|gePMXi5G_Ivf{9;rUBz=p~E{c5j@p4HKa4X{PcrxT<w1ccK~j}#~(ubBB{ zMT91}aqP6+&)-KvwP0BRF<rIU1yA#W6f+5ddQ)AKUIqENuFWY@yIljdd-X82%Nh0# zi^!wNC$rk<7dMfik3#HvAl+^B`}OOlB+7<)k5gYWE+&$82+do#1Q;(a-$;MljrA2H zW#@nhF4{(UH$q{PQr~nevwtas`1E-P>dKMnYZH0<Z<Q0DcCT5AOd@_HIp>;3s(vXt z_&&0Vk?3JE%NI6aR1FLiHA|FR=Tj6D8UdDJ>#OSP8*=2l3SZnxro#P?s$WUIyVDmG z_l+bgZpe_<!%SC;)MfhbmM%=Z-g`*S1ln()m}+2Yqt`=5a%c$FtOXY49>Ttu;f)nL z?Qyh6_R)Bgu@04=Ogd?Wc%|snUno_$VIR8Tv4pmYzHPf!76NsavUItLd3p&NsbTP* z>OAqEtea(SC&X;|#lwJ56*s}U)|_r8-rDZqsYzE!B`si0%U9Ub#zdzZ<_k|xTaox? z4Q$r0apL<?a>(2!R}u#U64GsyM8_D3dELWdsz^Ej<wduH2$~AgHF=h10g)<~A0T46 zySZB?`$WmTwk`?h=;k15LD~L3V-&$4N=9Xu$Nr#?t5!~?vr$FSE^-Oom%mAov8+|1 ziR&UC^3w0MnUl0tkNDYJxr>{P^~?7;qITphudJ5cgshCp8I<&!<E^Jge^H(938OAC zK#x*0<7!Lm-n--fxRu5<HAgun@?2RBY}i-$?$h1<yM$}xWd5vhDDu9(Omu4t<|SU| zp&>XTh_wiUby@cfpO}0-U*WqKGMbN#G0s8q5NRe+QVuHP$(2MAqd`Jpun2c*JnH&9 zSUndmAF5^e!(lRng)#d0K|DO`UUGO)K_D`3I(?VI$&09cv>;}Yv$tDQnX;1kXu4O{ zM)&-`TeWEs`xBlGSzT{Jsw-;NyG!rZQ|;u(dWR;(4Z9y~XR`~jYyrw+dKXtO=oQ21 zJE9~}+LmTvb9A=8&iWScYMc?Lxv-&)W?+Nf0YwF!>V0aJIr}>us`ClAk@e)ay6|2z z`)o-}y^Z**mZ@f`!u7HH!ETzvc8z)k4Q@|&I#@!#k^J0*YX&m9pZN+c=w7QFftG>- zOP1|u$9tx}Q!1OI86}@~jdg<Y(cSfqsU6+v4-2@d%{Ind31#}SMZf#dg^~fLIWnLA zy9K0@I&BG{J@MbmJ!r$fiBJXQqTGvE<m&iueUwBzR~H>y8pVhH<vQ4JU9CziN3zzA zULmmY%S3eILt7WK=x@Kr<}8%vK=yCrW&6gMB&W<GZzT_X_K4y-I%lVd#<A1)%b3eD z*&WeAS&PVzbr7k%$dVUL`tnQP)`R!n=#L~=eT3B;EGA22h3^sL2?-aZM6q#V3`%u; zS)><`azeEa5p~omA@HJ6f<8`XN;d6dswe2V>~rSHQwn`9Q^;My&p_=6_7CGx;)p~m zQrjN#C+UCT&Ko(rV_^>14d_AtopVLz{_7+&E%@7*f!u*s^?k$=;~#+;bctDA4k89@ zDR0@VZJ-tj?kr5bMp5cOm@!{O`((2S;B#D=?kNh4?+f?5W>R)$qTojjK89C$D)k;@ z{#fRvfDZ<QUG{dwrSilmm3?0_HT%W8SI0L%q!*eH!Kf}$YVuBzkw$^fOrS>xcL6nv zC#Y9-*0%o*(K#j=Ml~SHPcHvZQ^_+7ruUh#ZGRG&v`D$=9;Kt3+m<|*@3%6rbbOED zVz(?n?^{gJt8Mg1^i3!az85fqh@0h#G>8_8DtGvah-n}6fe4jVQ`bI&g>QOWE3%!= z;PVFAMlG(-U6TsD%p&O(?@nTAkJ;#7Bgh+Syeh)B%)X%*5wXixL#NB%sJDvZ%2er# z1}jiL{Qj9)*RRimdl@$V`<R=S6Ih9>d>O-nUQzqkz<3fj8)_651(ZDCT$R=hy<Lme ze!md^q}@SK7uY{m7K;(Bq4)muHTC)z&ZH>h3|>P`>TObEX0rl!<Mu_UGoy5`E?!G| zc9v*Q&LBws8G^}_1x@kcPVvP4)Bk&zMfdg>vda$w)q@<>ImZM-scF7JhW_J3eL_8= z_*JGt1eV%3t}MoV4Tua1YPt_=3O2bjNa45EN8nKRxp4Zxvd*7#wxU&^dcMQqQ$Oa` zq2S74&Kyf%x!Zl#Kx3|qQ2$yEDG1iq_~Fv}SQiDmwGqx8DNM@(#tL0ycGmRuz2c45 z-0!T5x1YC)NPb^cGtrgmZf4+}wdgw_q&OmB4xV9)NqR|x;*f3=9C{QRld#VTmtSvG z{t`TzC$dHF5f}FO?=z`RmMhjXg8~e{$D@*hhSCtOv#PuJ<PhuG_-b!NV?iA`RM0Z# zV)Vi+eGZaq>85_cY8LBQU!L2q;ns2fTI}8LaM#rdVHF((G5f=Wx@ofX1dQrWz^ZAx zYE)$z%=XOqbeoKbh~QUSMFLTAgJ%wkL(R{ZHi8NuF%(7z%<`4YGChFOJnB8lMeKA8 zqPpamjQpG>_|;X=(qH=E$gG6DiH2cRbz96o)q%})*t7dxAMRyS3^L01&Er~m11EpJ z9N$&2*y_{%BkT3SFquz%R>CsTea^yimd*uqGG|#X=H}sXu_`5!tF}KZ+rJO-1h-a1 zd|y4&Rug7Z8N5X8(mSqP89M<?LiUmG*1_2!KL>f0D2Zwd_JIbHOF5$d9whxaK>RhY z)j5ARXQ}dPkt>m&Cr<|xQp?Dc;&dd|ZlCU8Adp0LCSa*I>Ku_+Zh89+e*TG)W;wz- z`)om7>EfC5_b`rzP$hD1_s>5TU-&tD?&$>-UTIhJbB_7Nd$4bEYZr5Tm`JMoiV!cc zmiV@~bNSi;0dqP>lkOX{MU|N4urNk-FMB;gy&e-B__lWztCJ5=yAve~c8bQEqd*w$ zloRmk`7%wPq13#xsZ5S;{MW-I;h{s`rYLV!HZe~n>Yxgm^o%C59dB00L3Tne9jdCV z!qVSh?bxCR4iZ8R>9tjNq5!3ArvJy#SvWMkwqe-wc`Q<pP8AUtT~Y%S4j>~p7%@sj zVsy&rBhsnB=r}mW7%)bS4r%EaAq}IXyFtJG58L~`zvsE{>q0}ye8XCRHv)&vlNHM$ z|2D`(NLxk8_$PeAAV9<}*vne$5=8Fs8$#~Y-UehG&wJRvHM6@;@blqJO@4{7$5{Ph zqMOxC^<DfBcc}Mb;DF#xIKFWSDQbIP@;?7_r$Ogv$0Xii$S_|e=OLthtYhqRj-LV6 zh|zwKdFQgASz9#rhC6S3pwfy$j8)0D+hj^Tk=8cQSXH{uLvGR{JU$R=GTHOKXoJ4T z1{2e1jHGIw%2#hO8z>&8jERFQ121w&AqfkdP0a_35hud_izcm2I--W7)!hHPh+x;c z{s?Bmpne@}Pm=a^iBeNW4Qb%FROh>1uHM(P-p^;a%ljp6LThNk$#S$9@ywD)oEdZ2 z=fbt&okPZwG3<_cVOAV`(%<YWwz2m&B}tU=qCa{4qO^oJKjWRG-0~VAoeC3vyt!0S zj$-7P<?Rz#IXD#@&HtQ|ADwH>1}c1MQVcz)D^(VqnBrWS7rV#<O#$^*Y!7`SUW`p? zj_m~slkPr<xKV%?4+AR(h2+f}BBKM1OJf`REg&lf<s;QP@;@zNW3yu8g@QMm=PJF+ zecTb+9Qn~5lku?JMQZ-{9*lm^mo}j}0QY>gBJx58Qk~_lALoZd{I>4-bH|J{&=^(M z7y~$DrhZ>u-aFfih^5rv`BCmy^O68y6qhxZI;PrI9()#+%S~>lEqMl_s5Q1h&HfYR z`k)NlEoyn*t%Hr6vW*719Gnf!^n6eC=gbSk5seOI;-7038LcbO(wZYeS*u$qH{~r* z8fVSQpj27`rbGL;rwSQgQ^@1{mvA!1R-{W4+BuFlW{0tuzoL)Vw3sM~&S5Jq1n6?D z+FJr7T*VFI`MWq}v#%qMbD6qH$7O(}QYpT6!vm9G_P$BwC`8r63KNs}?mx{#TU;Ws zpMI3r!6+W*(u#nuTCer0F?yVGp5*Q_wKqOY%qdeBA98?#9Zp629NvD-zu0fTD)2q- zKy?Vo_=h*2M@Y{LnjFO3hV~iN)+Ib3>q2GbC}W+9m~PYqLVK{|J=WyE(%(hPXtwb~ z6Sz85Kv(iish>3h%T|pY!ZDFnMBviA_hf6CS1)|B4)P{E6S#+D9{@?&t};sD&S}vI zH&)&1O@Q*gY~WOc*IX@Y$39)^TKX13+mbEz>RVh8hR{ypAML^iT-2A|NRI5<9_)wT z@EmF^cZDw?9eq>}R=S^4S~1N`x7~@<8b9e7cfAoTnw#&HW7^P4hK#Qgn9e<5ZBBsK z!8Xsoum6lLwc}$?UMHepP=}_E_vt&|*@CsQw)VUio*BgGhw5f4<`};yL^Jc8>#;Z; z@X@aQ6iR;9TX!AmVDx<?+|OOa1;}KUv$Q!x5n&pS=I}kEQQ(Zu<;x8HKFpflPYt5a zWkWb7#9oj`rynQf<31AS5q;;-Ltv&-o*z?U!3B)0SXVo+tt$PjeUOR@ae7Hp<>D#~ zvAGw!d3HQ-FwEPOdRTJ1cOU1V`^_}a!FmBuY7d5LW%}5#YCSF=_3=Z=6(>8AA!GDd z2K<u?OuT1Pt5m**WS56@V83+RDnd<5<h!l(maVBP6GK6HpmOvek5MKnqtz+m8%Fg` z`A8=SP5uZi^^zXmW;>5Q*`=p_u=sNtHoe8{KG!gZ2+(1hs}PHRCT`V_o^}#9d;7I} z7=D}2i>&09dec$A$Qg!-!m?E~mGp5NWm_8^tZu-r8L$TH8<UU}IV}F8o`&0iQhnx< zr?Uo)O}W$oS-eV~3aAt+yl7uKemj{W0GsX#6xN<J;etus=5n!wN8tHeK!Fq7%0Ia) z5_i$xZXQgXDhhVBvIfd6<<V{>^%Rw51z@(%YYogeAqte(Z)5q@^~uJmZ>)KdVKv4u z%PdMWO&`Xcs!O@wriZQVxldMFoOK27QdxTc8j7F;m#B(%_FNR_XvB7o$0^~cG$eG9 z@(W`i(2($uG9JO*edDqG+o?B=RApWgUa)C2=t2G)N-FhZ;#b=YJ0Tsm^}1ZmZ*3fH z`{L$>KJxrUu278W&EoBqf0-?B>^{2|4TO#C_Jk@)21+Jvkv#l_2h*Z)CsuSp<;63K zYrn%wyEBnVtRlHAnf#xat&y%D(%+u`h8(trHbL8D8@}K=F3FSpg_mTy0VWY_ewrL& z(iY^H%_x1p9+o(htobXXkVB4i{y&e8(9hYjct8hs+&g4OvF1%|s<3)8cDM3ok@j<E zQJ?g;Z~ql*q=F2$_NGSIEc3s;c|y%&Ip)J|RtWzvE-d0=JL#$_KX|V+Ev+W)&mG6g z1jSmgg@!LB(}$zb?wGM)@hH4*8X>O2a1CP6@~qa`*<#Glv4>7qmt5n;eptc>J*mGM zx;L82HCm$EEYP0;{Wf-%vc^&e!@s!97ZhkOa17`JX;u>vN&+KFOc!ZyC%i=;Pj9CA zbLGFx7v4pdGR=H;5*2K-4dkt=wnMnOttM%`kAA`I9M-YUB=q^mcMlp<<c6$v$KAM8 zXvW&l2A^`o98U~c56y=#E<g?M_~m9dja04&o<5&5{%G5NVad~5;rGh=6FS}2w2+cc zkM%QN-T-6u$SC$~+)2f9Ya@JDwn)dzR8yC%M!(kiC7;(WI>Wva*<lq)H=QHc&YYzB zZM$JSGpOb3@-8#ju>M$ta83Eh&g|#fctI7D%9;rEM5tMF6a2~N-=_#+k_-3aiziQq z#aJ4kRgc!j;dbtwb^6%PUHTXb*?L{~g2gH%qQ1-&B+bJ=U02I<BXOwE-t-{y#ya+g zY>dg;CroF3n8d(K3aCeYL_iu52dIb2%RY#TU?RVpQR*ylAQYoc!;q_V!M7H}L($Mv z!F?)K2JXkfPZ6JDGy+Pt3>;fH4>?OKGr%pg4&`rLND2;*qb57FiF~zM(Y#T-1JC9D z$txdzpro;L%;93oe+`;D>abzR3TPu@sI+YYJi*^KiwZKaOqsziH9OOVUi!!*>$Jj- z2!p_vcOR(!m1WBkqp$DVK81879K}qa2L;|&)HV26$aZ6-<rBbbk+4IC)Y@Z*v{oi> zH`WUkqQNl`n!l9{H_q%@Bk6wl{F=C5sMT*zASUmOI&NKsSHmFv{KI(+xo}n}W?&^Q zKOU`)uk3{2020_?W}K2Q8@5>3bKC%bkEYK<b3b+U5Eq8YvPRsMSYCMA_0C*Ei1?QV ztLk479l9LID&R+^yov4Ni~3@M#HEn1=?WX#c4tc?EoDMFUQnyPa<YkzBy43|f2fon z=;A$0tC2qsXBvAwc#H^954AAjRMoD0+_-42$}{-ljD%<h#_170<1`jaRG$E$pwkyv zNXJn4hZN_+gOSh07?8|*(TYH`C~ExN^QKXvd$iMbPA|pwGKebeQN&sLz@#6Ns+}Oe zX?3l|4aub_WM+>}8RrM5JbOq^Af&9ZInG{b!~@-M(`N8VgI~sMO0mF6*u-FNz0>mb zyt=74utDSId8=KR@U_-)bBCarIV-PWB{G)(WJ24*aU`B~6v-xSC@!7K3(3axhrB;< zhkJRMo#W?|)|+MOS8eL-!;eaJ0$l;AE*jkF#0VZCbX0$d-A`wZXV-N$sR6rozj5UK z&Br3lE}UQ8a{dMWSEgQ+C=e`_ru4YM48FS?k8bMCpEuvK<ZcdU6KJi%xu#unYd6fr zeG`8DmM^Ceu~)0bv02sGUBGa#=M^}nUyRj7b<`E+@yc~AFN=JbjsNGrS+|^dnIo1P z6y;Z<p=<<FTL(aBZUz|){L*i;tMeZ-C_GG$p-1dka@NoHQ}^y{s?g;qdxFzW^vK+l zz1y5>QOX;>vC|Nyc+bV|Mf$boaUWq{qY>98K2oHn+lRcjsiF+L>4*2iabX|N{A*(E zsk_keEd|kj@BYRK&*iPi5V;d<^DaKc^&L!S3ocjkYW$`5cnb@-Xti65)to`g2O{|( z$hR+6_y$3`nw~wk-dEi2hMuA{5~W1Cln^^oT|%>S&$XO7S{@-p!wN7p$4+>*@J@8- zqoOeu#X2C%vCQ@C!rR!hp^MqFK$!!b^~j|^cVgs~Vip}-=+DWAc(j|yjop;Nv{jFb z=x5B>T3t<DJgWR<`@Y5K^1pMS)LQvZ@H<?2qs;A&tSv4PgObjTl7lv}DfVp0v`Mj( z^6@QexS`M1cs##Kwym^0xZoCFRkfCsg0s?cd+Zg54;PoE;U20KYUG9>1C^L^MY)ad zrcZPmwZE^ROQ4VnsxF>bBf}t+T~y*(j`@S$KLKa`4uTx(#<2Gs(o}d!5ycuJuJtGG zP1YC9ThK#D9jc*VMf{BK-wh5?@j2(pX?Iht&LpWL(P14U9sI@msE1&*+Bm^X9asU1 z`%s8y$Ry6|p-=wYp{=ko8}vvyWN`-O$0c_e4%l!|O`7iV$N*A2Sko#zN}w&Snv=;* zq)a$YQds1M$KHJ^GcCq?@?=n{PtL9-Q=#N3@zKq+_odLx)8LV~c4o6rcixAZ(jm*| z#jug_+-?H(YF0A}MN%m^*MBx163|l;EtP4_UbVnJuWVu4G+TtWv}5{AihX1WQr9Gg zCfpgwAWl&z!V(C51ab8!Q6p}kArkQdpuDOQQH4CxX>L6ph6wI32py3gEanZLSc_xx zL8*Cd(C68v_MOe?FlaHja7|CouJ%cg05<g%bRF34CrxA&F~Wz!8+}&)ZN;Ldh2>~| z;o33i9yhIroU56EOxL?DlAi-K#1s{YH|8`oMEA1PTIM)1<_HW9>4Lq-G(m$3*OQ-o z^Wj(F$XwKN<0GH$iae{vLvR1zkt7^weO+Pm-O-DKj}^B#_pyHI--%9c@G|pzjWsfo zYLq6hCihE5o9G;EI~qo7BLEG)DxPh;#Phv*QnrWGBJlYdD^{>SSxa3+=oUjK)T*?! zNLkmN0FLden&W~;_gd%laHp<|kpvEEC+2}PHti;L6A_}ULeens=WZcspbG%vJ$EpI zlwF@eY*>w+vd6M0aj1n9Tv)c93hbhS0P8*a@@Ui>r!wV;>Z*c2ckD~xx)C$7WrNer zl}-iqY80P~rHYTBU`%ug<(pgAC$XJxMr(mDHw2Dr;p!9CtP_xI7+hWN*j1Jc^UhhV z-?OLs%#Z8*ipkK5+~82-2qgp>F`2;i?imZGGS!$Atf)9WP_O3uglEw-^l}x{vbgA3 zrgj}_KY+onpufLL$voa{$VTam7fu8o<T<92_Q=0w*r}4QQ^ww&)GuHUqSVMC41=L$ zQ5(-Lp76l-_v<nIvJ|ig5HN^2bIfe;UKFjqs9&D~SW<Zgx=P6U<3-!8J%}AP<>}cg z{JA2oWiQ1{23lW5*cfmF+snvS19jQVy4q6#<1r~LNt~wYD8oK=Pj+8A2ee0$bPIBU zV;mM|m|r!7Y5ZuAkHBGP9UmGkjQN%AY2&C1y7enrS2z`QO#>=D!Jcb6>daxw57ouf zY7HvM#oiEqsms}O^q`Z^l5FIY&>;`mEee9>#4wqBG59R={Uj&pSRT67j=rbP@JolB z$Fv3Lcj+TCt0x@G(GUAPzxK~xRBD;J>^-BUK0Tr4ipSix7*^GX_B~_#W@7pejCAy_ z-CM>%r?RTIM)QS|;}{uRZ&dg#=PfxJ_6^O~3vV$T-{9M;$>s(ayYDq~2zl{Fbld*q z=n!jnKk?#Aw<(u())gLYU-6Jw&v7<KI?DP$;swBAyhfSbWNsLy_wP-ujD}hQ(OXLv zs8u9A*&I;pc%)hIhU_&jwKAvFsuyNjSA&13s;$)-n`0UC>%-2wf8FQ7jTaOa_s{|8 zlLD*R(8iA!XS~4K;|z=^$XDxmLiIe@g>5_5b$FIth7o6J?cMPH<}!GU7G)TkN>>Ca ze~Ps(mUrW{qBF>3j%y|#kr3~c%;X{R*~XM;=loLQRcpyKe*ctJL`3vydD4dnM5dg! zxaq7p?_gsO9PXSHe4_RuuG{qf7uT?P-<PDc7i-X3cB`c@ZXvj)g?tQUrsk21AY9JU z!a$-6Xy|8?vi36rZy#>>YXln?E{_x#k_;_9WGouT7)c8nm+&Iwy2W(`R!v`2B0>xr z31ahGnNa~2Z1W<6;a#Q1bfq7s#$dd&=G?r`oT8HcPTeFOO}sQ&_LR!2!1v0w$E_#~ z8QR@u7prv%K=Gg)xS@{9BegEQrTEhQkWv$h!{LiyIZKI3gj=yqg&tLkIGB7@gc+HA z!a>A+Ds&0X65)>Y@gnwefZ(z06v>l$y>7PD0`IqhzQut`6>&PKE&Yqnoi6uN&MK!f zc296#pm7|`!A1IBRYSz3-M{Is1Qrg^*V45>=h>~gV*SV}tw#@s84jfc+ep?F1_e26 z)Z{x8X#-*85a^>X(WOUoLKn~6!uq3*iv5zhJh*JXcmx4SX*3i0T@qM>7x?rIj{y&a zeWwZAh5v*R)R<AF%qkWaje$h4lFAYD)_|{(aQj0Fz3`a<e_?#wiLZ+ze5Xlefh&XO zpxxZ8;BeZ~;lLp?x0Wy7Zmjg1@o}JxAEtEXUjk8Dqqe>w!3?h;X&M|9)-m25An=|6 zWAMlr*+3VHdZc&%7uttH1ifVtS6#xdGn@+x{&VMh#(KcA8^=0psz*FVOJL|g`iSdk z|Iwy#gq0a*#DMr=e_f++0y}et{-AhzHZO&Dxk+3LTE2|II<y<I?u|CK0Z+8hZ_(vw z^ccYwqj|?q@3G+%tLOPIxQ)lCOUv7A3b!Y(935tYvkS~|H)l^Cos=lD(blB3d}+xu z|M`|w-a@3x<^%lnM?_m!fT1>)IRcQ9du(6abs6L^Y~@%;fw8a}jIP?e<<Ffs4|CRR zl7s#90=HO?s?Y!z<f4NY6|?M2<m(~X8{CD+4N+2SiJJILeIG*F3xFdiYRq&~0pT!W zatDVl-sj+$#2JCJx3^yQDuNroTCu#q7B@G-ej+^VV}lYhO12v!a&8kzccqd-Y@Otd zvR=h{`QGLiPQ$+v>TSwiR<`vax_CL5cvvZtP2v<q&rD!R*d4#y(_Q4su7IxeGw_g8 zrq1m8QEB7z!v~a+%Qt;2LLm(9zcpgp$b6b83`92jMV0&>5-=SeXi3i^H1!vUc8Tp} z;)DmQIsgs0U}J#ys%T`-TEJVlD<a!x{x({q4}6A`{(eZ#bJ~+Q6`S~$71e(~iu@_H z$Q?HB;}n}N+|_e-9)Ye)RG+X5;Lo2}uczzxIzFwaNO*A9n4GmI2h;4Ma50_gECBEP zsCBH)B#zq&(hwU9%2@$x7FT_CmAJ~zipaId+4!kky6m;bI$U1f2JN&F?3lKlPL&kR zrAJ!r_AwlKV$@kOO&SoTjdZYFuBK;^xm?YTb4b2*{y^#g63(qd7`-`TPgb*>){Tko z|K=kPqgxK#qN=CN;w6m^CiYsfvzx(B4^{so?ny=O>;a>G7F<~-W4qu$%0r+=WN($w z7}|6k4b%<_%>iBP=+$D32#ozZTSJEKM@cCtw#T06zVUoby=g<eU7%9`p^15w__DJa z1*<e-y{<{uLMGilojHkAd9`ICUkzWG6Z<*f<3lD7<ro$RIE~>oXd#Swd}Ee(4vf2S zFopisaLZ@42Winlr5j^Srr$0a#!d-(^b3{>Td<mXG-93H2I*X2J9NeR@peW#q2_<> z0?)>Vy<R1|6nD5O)~;P9KD?G!Hq6&C=pg3uY@N=L>BvZ^93am$Q6Wz<Yi%8pVo_F~ zWPcV(eQ4yHWpuSbD}&H|n!qj8=5ZgIvplctWJaksGd18~vq`GBpz71<(gowg(`q{U zPQ|JP@ec5d>yE4L(9{|(kqdh#pAvY@RBh(`8HzT_RUIW|^y8flrAci=(t>QJtr~$S z)w|my&t-J9TUrKL+2u~L2P)=v%uJ$(qfk4!&rh}m`W|81>N}7+-Ihln%Dk+LSY7*D z86^3W=vwswa7v^@l~ZA<SRWT!cH685i`{6mv6q+HFoL&xV+Djb_56tOY*=id>B04D zB2ewWi*D11Pc*eF+>HGwggt2DU*dXwZH?-Ru+dO=kE$kLME8WVm2O3+e|&D1Z_)7M znwo&=1-EVoGAA=IV8E$JRk(W`|8J^|3XL~bm07(Y2QVm_fP{lSraj;AfFw1M-%x5K zZF_3F`j>)F+l|^gqRZ=XRHRgBXA0`mK$WwSMr^yy!d>c!HY_NIMeY5DE}9~}t_xHx zaMX~rkqf_h9H}?z{PfVU_Dp^)ObkJzcF09|877opmuEDwC#@*auim8jt|bqgu-zf1 zVT(9BV$ZS&@;;IG&WrR&)riinFhmLg4dL?M;(It2`7(E?*m1UFz}qfOc`$U=H#5n7 zRN&7Y&4Yb9TiHGqehu0Tu%=<>upkCF#cIskqmMO86{S86*F6z{lx|IQF7rVc4#hlh zDq0UGIX@d5<YxGh1gE7H+*mXV1`aow8q%UZ9DK}T*E<UcqB+*B93vB>0<Qgs7FbL1 z)s#P7y>TL=`I&oX=Y0v3i(M70>hfW{APHRL8AuXuMol5RI-~Rc*{)zWPDZ_YgQB>U zmm;Ys8^wrg$z#qS<Mi%DrrKyc;g=<&I6IBnmR2IlvP(2*VP#w<{#%ex!yKv)FUwXC zL$2b*v+<gN0_Y1btJ={P?oJ>0tl?Poc}v{{P_Ynrf9uCqF7F80{NxxcQgg`k-~RoI zLPATuJ-x$Z%~Wcp+m)wOt~8YeEWNn;nUz@NL~~Zo+de6AA6^I;`_Q_g4$zl`(E~wN zEk~zv^!z2_GJX*|jPt{PkK~<s^Dl3aX%~!9DF@Sm9!W?JOQuFtLVJ%SHUZ5mKS<16 z?HD^}u$97`Y=j5%T_m4n9i&ADb2@T~g`SfhL<sMfohW*B1#?x51oC+&n>5k?n&C)e z%ZV?TX}U6740&&1VG7?3fWw7re?s^gQ}q_=FtXhjsO41C??0VsY~x5uY+WM*l})iv z5%ALa<*_zMf^|H3M;aBktU+hlI#C{jGgosEahh1OA3pe}((*BBhZqmAW6^%aE!Qz- zx=3eNZ)B~rv|;J<qDrWQ)}Nt*1*ikv39ceb7<2gLTZRZ^htLrxcgGB&ux0AE<VEqB z@#hZt!EAY^q?zWa7?BSXgnk7<(fb#ci~o%7lMX7KeD&CPOW9<JySSCQh-Fpt4ttrS zthN;ox$HVU!DVxs!SW_mRbd3h&k&p8jODdc|0DMjKHx`*RNkR5C}=##6wNYpgZq7$ zNyH%4)1ItP-$({h9c`t@*}(yIK0->A5?I|9X7c*d9s7WaT2{XUkm6qN;z)2D(v@}; zfeSmiJw&J_#(3*-U4)nt_j)3I+*p2HaW4F;yli`c>bXj-D&B<gMF`)hk<705=@;Nk zzP?UDxPA=WpUNLMk$pUGGSh*HUcV|ezKh609*R<|vg~mVNz83T9m})6G7asq_Fw@@ zJGV%L^TlAo!0pzX<6Wepergq+$#@FS<Zx53mw^ek*#}y^lG=anh;+IC4oY@E1sZu| z2B~u1Vo#%>@y<kcbpnihNlE0xlH;XWR9N@`6D#~fxopzz6T!oO?u1$Yxnr02N#6Mk z)`*Z?v5Icuv&C&^T7B9-l_M10h?hw8`#Je}kmci>%ailf3PFH{zc^F#?iEI_nl#Kd z0vC5^LzTF#FW4iGoRe8o-yKXxm_>GKNeq-%Z>swo`%g6Eg*N;qJJA#^r>1DNUR|-c z_bJAg0w*bls?6OiBD}+ub3I~h4aiiPzrI*|K(l|@o`{`Xx?k|cVvNGXy=}<%Za6jy z#Z*3S!3@w(1KcwFx%1gy*<R;$@MK=~aCeU9`r+PhE`*lmf!dANHY_sQHLEL+ZVwlz z<2h5<%wx7$+feg0-$Bos96E&`4%+x)rQQnD%b}Xi0)2X{%T4VJl1JROS*}I~JS4I_ zvAmJtFsX5zEw{s#9I+B?xRhj!96r(#&W}cAd)S)mI9A~}de;cQ^f-ljmoWkc10G`d z_*E2@t^^WpU4HuKjt9sDc5*1|y~dt5IaxMvBro_^Z9vtl*Vk>T^kTk`^B--<lFQw# zgX4Io=EcohKh*g4)uj`DxHau-_S0T{iRV8D8hbRUVngTteO&JIQ1ySTs(*7B;Y184 z&#QK)_BS#1<u3^qMh(AeECQQ-LOc*E|4Z(4)f*7&2<cmM*ZObH@PBif-#fUx41{y` zUCBt9HMd5qre2U)qnYJmvM-D<ax@4rD7<Ld**9cPJ)8QPA`Y;5SDS_uCd9rD)=OF4 z+nU%US`ukBkT-%~uiP$c&(r0UoEn{++#0Wk{vGOGZ##=q?9}}p0r*wW+Y7aP`_Fql zq0T}L)(tGX3g&H5^{orOScGXqXWjze?CcZm&ZW=rPGsrf%HMe@f`NUY@;2w%B38jX zK?efYjMd;xYgwdMRSMU_meH)!dDVFJkM`Hxsjdv=!+js?m8>c2l8GLd>U(+=&`XG( zUXRt6*_N+U7D39i+v}FKiR^bpG<ib)zGGrL<qE>iJ(f6bQx14Ku1DIx4M{IUp%=*y zct2ui9mUY)`$yl0bY=Onzs%XZ@T3tRmhJs>XG!Gz$RgwcnXHR1E8ZuAOCqQ;?ta*F z=KA-)AG@LIva+0S<l25nHBT^>thMA^U0TFzDn6Md{JDd_c)@G-AeVium%DS$XV{%4 zgaW>8U(jGyd%CXNe|1A;wvB(Oyucj0AK$L>D%|M($A6){vvn@dqE{-qM>Jcz%$k4X zO&^7<-I^@B`p~UQzDrC`8t(1ht$ejF9Fy{{>$3~H%8@KzrC5_6Y|7~La!<RMzr|%T z=d>lyf8jQH%MTxYqXU08_Gqym(sT!-aHp@A@8PS*o~)(`kHsiITc&c;2H%psb$R_G z8`+oD7QO*NQz2tpeqq79QKo)hFV)Q=zt;SCRZg$@bmp~1AFy2Je|qL}-IHY*Dr0K_ z!sOlBgDd#Yg~uO_8aKCavs&9hd3w($bI;ju-(y%<|Dxc7bAGIy=k?5waTWT>EvgRr zh~*>eq`u9cYVNPMSY^PqGAw5V6<jlQoJx*PHl3<|4O3qDKJL^GU|_sPtAk%Hy}P5y zdR=@69C}CS&E<`bD_lWoU+d4Ej475PJhW``X!bYzzG6a;-eY_pE{Pc!`19_ABE`S< ziAB4X9}0<1ddDrzeaFr5FXR5}miykLn%w=mFE@jemQxY%JQ+@*JL=+nYZ147O{lK* z<93)S4R&c2@78o)ap#JB@x{3AZsFtgbBM1Ip%pLMw6X4#@#oGfa-(_~d(hgQ$UR${ z_R)cPfU0+$^^7ldK=ps7Uwy?`C`^*;6KxV3dJnjU7`CKt*9P|O_Cth|j23S7L>Z-4 z$IViZnL3KXoGuv48Ks_1rRRs;c??Nno+Xbj-HZ3s0|}=0U&qs>e~CXXzN}a8<=YW3 zsD$~?VlXGCz)fXGBuaKrc=lsao^W=i4orC3)Iyqn`^D^$Q!9u0)>y0}9dFL0&NmZe z?w!qQ6!SmyGz=1j>(7t|$T@bi_MB6H*W5pMzT)I5yukVF$H(fA;dO&un887}h^ddT zng(Glm{la9+3vt%OJW${;rcvrF#Oe%`mlKRFKt;LLS_3p4Zeg0Zpf$aatL7Glmra! zrKW0m{|-{fDgO>`t?BGWW_l!{2N{2?Ak@)l!8${DuUgR&=0n-;P9|UISXYgjOXq(L zx4p)$uldLrhRR%1i7%z72OlZ9<)O9#L#{fFC0oc={MLpFa<hjPBo_8A(^YD$F`%Yk zN?LPT1a4tDHJ!Wo?IL*QFODBsc1cn+u`Jf>8rjxurXPM7LQ0!y{|=LjL0SR)VYhi& zmy1{9$Jvl9*EyVQNsFsd^2DN<m&4eol@8snE2d~5`tf%I*QLkVRm{Twnz6ES%kX5s ztNE)Z%b31}>2_Brw<W}*sr+EfyV|^VbTPm}s`N4q;Oh^Y-11jP78KZ16jWA5aJasn z4&3|x*Q0wq^H1O1!LYkyVIpk(J0-uaMQ*JIR%6cBT7I8Jizc_?^@cV+I3r)}J+*l_ zaQ(lppPnhpa}It@-IBR?=X1>Q8f1!qBWhead?ZE`gJ-U4?aBMW!8$_RQ)kqD>b}4> zJvCREq}OxU^C4YB8XeDTjo`egp$)X=i=;IBfGZph6SD1e#Tc<U0eh;_a;N)^vI6#) z#xM|5p^wQ|?vO}v&hl?utXcdj<9IV!s}=J7&z*n07x>0eqs}}n??1VuyRE4k>Ap%1 zW$^0hoBx=-=X_#&;rE_Twp+$UP*m!4N_DWuIR2qQN=}+&Gl57(F&P}4cV=P_TYD&R zph=^;s!<+!-ca>{w&%5VxtiLJIQqMs<4GIug5Q612czhMn)t7Uq@GoUu}{wQ78ESb zB~5+!IuYiYOCzr7NwPo9aY1yC#ywA(6gZOGZdDG*E8x0Y`ROFUN~(I`aqymXlc3G| z_rF3{J#FrV-fT(KO<#7~{C&vif?HjfoDft-{=Q`!*+)UU_`VqhSm^|T$1HzYayDwj zTx$^b@@J+K*83iTQ|_~CdJ9dnI@2A6>i%_y_PL2YuM4tq`y4a-V;`M}(;c2sf)+M6 zOZ~aSGw74|*XCK)-i<)f;)R~RF*Uoxlvmq3+ZQ{M@KT~lpC?pRv4%u5Vco1{SM**0 zbb^6yHBZCbD}SM0kec5oYr%zwRZ^{WQ89R3#wW-%0W|?nc!52oruwWP0pINHx7O3O z$bIqLmI$=}8y1mm-a~fb{0t|rJ9KJ}=5ZeZtr>j#JT{@6uP$x;8K-Kz56J-9!F!MJ z%UYScWewZkTC!m6_%wa|1M<YiD?3l3V+icS;F}Bq2^8I?&ul4LlzD$_5gcg(#eU30 z7IdqC-)4Kh%KM_;`00ZS>I?o{cjn4jQJUWq=YoP+2v7XEgG)^BGQfqG^vim}w#ZHY z*v7`S81R~#79rre`O9o8B_c#WdZXS<D|+aE8C>_dzy>w<;y>}u2CI0^ehlA(El@}z z(Rz7=iQV6p5r$RrCplOQa}|7>*ZWGjRd3`{bwy|RyIXiJ>m<-;CHh9L04^^@>k(A4 z6>Z1!Ha{6KIw-+hpKBaa)x$w?ZtP3VSU@o-q~Gcy#KcXlUM5HfV&K;|pKu&Mw`O#C z;xe;uX-M!lIrH>8d_ccWhViFSM|Ih;WL98wk%Cq}gEDv_9$gV4PEh4>@J)(y;@aJ_ z!P{~IekQU@bGh}w?81fDQtqd~4+rNFxV`+^`osHZy01^Vas@&c*7=go3^sburg!;A ztsOE<=I0iMMc08kozjw^iu_NXBkspt3UuqiHZ2;4_JB27nRFga&oj@nk*#C+2SE0I zSxG*hsx_*Pm@2?y(+H8&SMgRw#JGH;1m*|VzlL)7Njv~V%z>_JF$Sz=mc;%1C*00t z-6=Nq!mRfL*uAzwG{-J^?%6R<y<O;v^ONUul-43*fA^I}GY{CYn6{??1iG#d@}Ad9 zK;@pU-lR3`Hcp;5CoWznNP1UXWV)Y?f^xK_)nq449LC$PjoH2ij|I0k2@r8Q6DCHN zg!Oo0!r3QG=+}a(eUn^n31ei6&XXVXGPlH4Kcl3}=bG=M|Nd8OnrdY4usOSap|@AF zr(^^C5v1&7X{zZuc8MS1jq`T@DFUi1(hr9{_OI2&u@0e?9Wjxq2_9)xX|-X>e!hcj zkWW7y8Vo}(--nK|jH~iC{9r7MnKAQ8QeAEQav1TJMwst^i%+XRyt_w;^eG}eGolYn zx&0Oi_?+@>Y0PtNef1otpb*fjNUOm=v>Zv|$PDh%qc(m5elO182uZ9m3@YHaE+W%F zq{khP+O7pW$KV#8T^KHru^zR9{at>aUB#UnvYw;mLG>8@uwLdAxUQyN({k&|>66=w zT*J6tFW{(I_l|G1KB{}R;A*D|&}~z0l2`V|I+yy$ASHWccUec8kx^FAh5gl8OXPCK zKEuKOBSftkXGh(P-vkX$KfEcJ6_RgRX7zhio{%pv(rJX1Q)|GLD$b@g3V2E-22B9z zNG=ji*VXcAQQnkR5(fF^z5Xsj8`Lx+-X<slA#-Y%Nl&rqU}n**!_`FkSd~f#DEJ`7 z+DijO&fK>{^Bs><{0xhWL_<qbGE?^V)%eS7`%oYKFVE>bG-#KOACb1~E+=(jOMel+ z8$*?=%01WJ5v65<k3b0iYg!jjsdb_uN<p^@9Onr6^&z&S)u#5~JVCe6rs1v7NfudX zKVvRkljke+kI80|6SX}G*5un}d@W6o!zBfzys9-;Uwi5o983GXOur<t<K5;lBxM5% z#({hsM@RdrP@*nS6^L)s)8ZadXiemgbuM9WN7KtU<V{L!e}y2emQd%qp$C2bzc_$T zF1tvoEhzN?4R(klw{1n70c(_b##r2EltMJBJ-A)}lF3sTFTI9Kv3cF<A|j|+5ayTm zl{YmXW7feTfod<L9DM8;?(^_lfR@ESsMkuOGRvl5EKq~jQOeJrobcCuV%R*z1^coQ zx58@ZNDU1akZmN;v|?73URaBhSL>$WwTx6iHWtz^j_A{)jl$^)llaM^TQP4~ytX0$ z?12r##$q`BvF-)cR3sK|PUZ4UQspv^KV$OHj`ebRmCtZhSi)N$-qPnC(BE&y5;N#v zS6Q2+T+PaC8{f}^gkA_?!u+-kI#o(-86k{3>RD%EaVfZAsAjivL*^MlR76w2OVbl| zI<OHZu*}3GjAyF@Ao=AlG^fH2b<xW9T&5~s7?9-IelCmuSMUaoWi$n;@sQ0wGOSv5 zS836=Z2FhXD}%Pb?Yi4d@Jy=~YQXY~1Yvof@%^2$Fg}M&1cu1zvM-FM-rM9pEftM4 zX}Z3rp5oa{0*pZ&jY~{bq;i=c)m*HG;P^RGJwQbUR{-;HT^zb>jgfPsvMC`Q`mLL3 zP%=j3N90GgPhw5&q#cgOO~1t(Ta1M<Y>jsq78NfgA=M0KR5N~=Z2kVLHSYDFJ1js^ zA0Ud22J;}Xy0JN!WCOGrnmxNVby=^?v+eY-gjF0Hs%-m-&0VfEJsK1jq-K+QX{&4E z@7ZMsymW!FIP=Q84330x*aIO>^V!(ydMl}V*QBGP5VY^z?vx@D*&7ok`N#&=u}W~i zF-ER<Ia?UZjzBl`wi%3ARUnXXpxQlyjP4ZPm}2zc?CeiCo1obu`aJwJ$aUfG+N7&% z^QN?J`N^yRSuMk=8XdKFex-ODxtw>`>=oH+t0LRQ2NxmVOFJZc*7~_W4Z4q$dy92N zo=fw<h6pnd#|R>m7?$E>R3c4*__zY_Zr+N`4UC-d&>Q24kccr2JCIwXwL_G)ispxf zRj_umnWoxgt_bReG0_U6W8${K`Ot36BueY2Zj&Pf;}1?5<~z*m;-<Qo?cm!Dp|4h^ zL^yRceAX<3izCWsZeC9=m6vDaj{?QW509N+1XZk7kdsG%A8pK1dDYQcb+kw-Uwz&0 zt%LJ_ZQ7sYtNR&r+5e1V<cD;U`1`3tI~oY%lK>x#X^_=VjRyd4hhb`Y<THL<gE+fy zt-YdLzrS3H#?-&Ej%oM!P5E?b4yDkk6(#298e+iMZMs^{YHN5zl}7yu6WOt1n?5xl zarJXRM`$aTDQpGED?4@73`)A}=}@j_VADx$wE1@9G`dsWtYj7+qL<dm)<xJza2dQ^ zbyCb00FIeC)q*(pyO2|}b}lNiuI#-jxQ^hq%oU(~|1<fFNvBl(FtG}BtksMxOv=5O zoR<LTN^`=1WdMd5G;6P%>U8hC@=_Vg;oa_=F`(+F<+y#>1d3GoLccFi5{Ooev~?m0 zY|mv~cK?DjwXPC!t}n3@6~P%iajZZaNtbVS+spkIJQ_@eTp{lGkOCEaWu}3UR(2PS z=pCs5!TQwQ(|yXaFJq4Jetv#Z$2~T-C>HPjZ6ve7LcUYvZ`dK<rcc|PjLxzw&poTC zW6Z#>byi@iMe6PQY$yQXY*@iiEM&))Bdd<`@We!|twmP4m|Z>TP)0>^d%Wa*f6*ve zqVc&R#ss(>5oq1-K4%b*(xWqC8QvX8KnNLel`(V14LD8~9qdyT+am2*jB;&s#ocz@ zK3fXhB7I8gs+B1&t~DnKg4EK3tx-Tt66IoKt#8BYx`;7{eWCYR|BOjf3&Zxbt|wAi zPG8o9sySr7wQ0(`IX?{9lv&wlBYB)`ue0oNlh3(KnpA@hf;hv0k$1MugQ&1vVa=g% zSpgLSz-{JLKBItINdCgZTbAF6x$MiHGk!`IpNA!{Ox4UQF^}yJ(W=bx?HzPR=(k4S z7imLF)PH6ey0%d3r6x+vVeXk;6Iwf!@6T<<3QdMk`Q(MO38^n=mE_Rxkv;NiNz-AH z(ZV=a=|KaN)GJlRfwUU&Hntw`TKaiQRq=Ya^+(6=J&IEmXbqmk<6y2PnROYZW{BwV z6dR#`(7V~2AjiGZVvVc}5b!$0X-PaqVou6)fRl>D^U88~*7{&PN7f);g)XuB+vYIR zAYN*X!aWxHY-e{M+imhfvW<*GHuyGwk!&)xM;3cJC3E8XZ(a{&pdGv-8zQw#GD>ZU zJNrVw#g~hgnNG9(8Q&1=Nkh+b6KM}Vx^=O(o^fd=uN((<WER+b{%%XC_=%OLO_Jy| zK<So>KJ1pZu_#i*zR?tbE5)719?>v;pBg+4oD%Kz^ryZypOWeVw=G!#>vQa_=;ZY= zY%QZNv+I}dfve|-G)Tjp+@D(*Mqb2(L|xg(e>-4IX=sf+p=3TNBuEaPDP)Dbx(e_+ znN{d7F^n;bymra%p0+P{X$T)Ts?xbtZ3|HyW<lh(u+_lRlo<M*pkxf0*8qH+466?> z_+@z2We$8s;rJN|@--)B83GECYY%SvN%lncHj#UMvZ1B27(vp`hDe`)y@^oOvjNYz zjwcCN0OPV2?PshID61@$tF*oVtqZ8;9W*)_;JkaSqIH+VZpCc@Cth6j=+=))=>Qha zHaeeZQWJ=qnJ#Hjsia>|?IoCr1GSzVLY}G|Nebi)ebb{8#L^BbS^zS9;aL+D)puKk zO&suuDg2*o22goQ9C<XsuTo&)Sb<f|jI0VViS=wUL>+QiktY4J-OC<uCLJ=LshO`l z`1kj4+u8+4Vqj~SPJ<4}b@y&u<YdUqEC!ac3!OMi0d)U9ugbM-#$F_x>y1?}at~c$ z&YbgRYJWdD&}kraC%(#Y%6T3_@1#HISG;+C9E7?R)N8Dy^aDQ8qMq!Dk^WuzqmD8h zVMS*pu{4)P9g2-c3o&@4H|U28>2PRo4x!pc$ZYoM<=f0Nu6FdY&WrIBbjaEeKgszx z?r7(}4oTfMszmkv=E@<frIr?53@)_$9sd-9e;v`s(ql{=)!oC)ja#l@ae(ALC#U7Z zLFTRePI+`nLXOI_MjspSQ76N@S^YlafjS;|$IR5mB1+FRrr%s+OeBVKqLh=crk7$@ zVfs{i2th@J8nrMxA3Pk^i}0njq6HONod&*q^2jKMLzwD?fI+-5xZO0by0eGw5j0IY zhZQuwPw^$rmSr%6<uKTWWGN~<^vl+7;d!o8ww;_~r@dc|SKL6wc}XO+yh$<a`?A=y z{e;ApY__rtA)L<=zmJ{DL0mgaTTwQXpNiEkhMQJ1S3##g!bPbEv&*+UKDqhuw&n;4 zjn1_(47z@(ALk+tBvW~|za0z?|J)U1Pc2^;2xVl2U><=A-~tUPr22P7fE1pWEBu2X ziV#QP9-E8W7@*8xoo`gp>Sco7X<P>#`2BDEXB;`cVG^ijt3elkwT%IgMN0_(k)kb? z9A&$F@MJb6<YH#e$%$PDHl>1m?pJ10JBn_qOCqt9eK3umA)9y>;g;U*K1VL-Pp<tv z!qxZQe!V{Mg%oX*xL%f~SZL^q69kV;)idL4z-<IBQ~9K-IKL!cC9Np;#hptj{?&Bt zSH_@%ZS{C(T|k*csesM423??zx$DaoO3HK#^#Xp4yL!2wI~&|f`o?A0(1loEsVlC$ zf{TxLNZv#dkyFj5bOj%V6`QUq=$dMuajC}#emWzA2cdHnWhs~cp>+$NGXlo2;QFED zZ^i1KUYK58Dda;mbN`E^2^j&<W}ZS`h~3JuJkp(2sxpvTTOwYFhFb!gUJMmGk%oF) zG!VPTu~4EXIC~WhaYw6XHVI^;PVL)z@HW=YFlhHXJstb6+VGfjb$0bFuO@FeMWTqD z1+a!iWl?ssV9p?H&4<0rCp?@5D?RYvxABP;PUhx)*x8icON87CBl8>CA#iMoE=xmQ z#*ha{KmY<RLdh*^=*URh@;WK<S9eZIb$ulWJg<(~Tf@i)4K^q7O^=P4Sp$=;zE3W| zllzj`rJ!{_Ob3rxe-`@ifIM?prxF|449Ee#G@&iag7I&^x;00@XTI5nIR086#=~o= zO6@=~N+7vtW@?B{w<fP29NObH!MQZKG^HDW2|-aeA#HJ_#Uo?%t~Dfd73q&O=N}yx zB{*0-t4-3Hg+?&ODC#cmu*Ic<zIIm3Tik)JYO3HWJk}Lkkrej~B^2Vs8EmiXM?gMu zD0LjKN-4@<AqAuOB)ND)VP<TDFj*N4m3JTH)HaeHe7{0rxHZ*bgc#s`xC|$@FI&hv z4&`#?GUaec=k0Cw@|9v(0F#1VMGtw$rLqKn#`e%V)i52yEH)qaZ%~$CngpKyJ6nKf z_$u+5NL|Gf{zbix|G4A4dJ_Z!hjtmnEz5%^KstR}CuK|XQxa21%RX`41lk#5`$`3i ze|8m88_x(qI<kg?Kq3iT45G9SC4F=ytnE;n`#EG<_Uh`S6b}Z5n<wl=+oB2c|Bc?v zHm*+W;ctdhO(*9WS7UoMT|dxkk4DWER|}R4mPDRGMRkkg1u?9BP#!rc{6KSz7IMCX z+>9V3RpeS^mVSJ0;{VfptVUt$H1{2Lq$9*0+<s)yo?W8Tp1lUqM>9WE(e=>j_H1+^ z?z<Y1wk+sg(AeY-IYnV&_SBvJGlB~jz5&j7qN=p*{Br5oWfT6ne7GIA0T3RGyG_2G z1!Gw~2?A1^hGBg2KF{O;6<*1S03E^UTpU%fBp`TtC6@^Y@&r33qeM$|Wc!f1AM#;7 z*o9a_8{Nj{9HMVoYHE$=ZK|nr>8V1hR&4CGHN&}#I4EHa9dr8+Qvw@r{KnCA%^qTc zDoN3e&3pe8E>Hf<JfC+mzyeA>78CLPnxJphX8LZLvNI6hI3=67Sd%8UPQ!dq_Q81h zDN1&<aQwgKY{iu9l5X=oaHJG;T<$W3UQt1>fvoVRN~AXZ)xtrno_D=`GJNn6OL9>K zkH07GqUtke|2as_u`e~<JT6PU7g1ZP<ASNdBJ#_mUwI&0m6RFT{EVzm`_jWHr1GQA z65`()pxGE5VMu6niVN-Hu?BK+x~sQcJOXoOOucgKs<<TJUSsujtv)EQ-2@<pPkk?` z?JDmhCd+T!)5oD4VOk(|5xqKL$t^~P!G=b>@<8d<*Z{ubSp9xumS=@&4m7Oq*W0Xj zYk$0oGtemRvnViq4lj5s75z6@z~XF7k8aU@@^~Kbh<0>&o}A;EfI!S+41!0miB1`i zcvCrWQsAE9>gwuPmPd8-BH1GRqr}#9;ApXk^lL;P>CDJ6mW+x*_<MG?O?2W*mKUqT z&E=uk<z;ya$eDhpk>R{4x;8=jp|lQ-g)8kV#m5h&ES~q={w0bg*ht0)7&Js_2&IAN zB>W(aFc#jdoyqrlU;KWCBi{3q*dblTWw~thAUf<LHML0}2<E{<&!NY$ajvs*=E?F$ zE#lov;y0q{ODO`@bzuE7V!P*P*NWJXNt)4TJjf*5?qvd?luU6*PLoWafV8(kP<#W6 zarAS6L4=lCc`CBt#VFH{==~<Y3rnuT2lQi;dZm7@5qI#?B{&VUgsVM=J!!MeU6<90 zikVHZDAB{=cy5g=)<haR)*7(tBQr%5Bvsyr_ta6g^uzKlMz*1Po`Wr1USi$+>seBg z;TBfTQh5hIDth+s`?`|EN>^%<`A7TqCb{S~XrGw0XO!J^H>I%2Oga@%V2NMjQPiN3 zC?^c(V^pZjRBi~BhA=`MI<l7L-InI@?U!ZVI*@=tEeKqvK6e{Rv>83=KX}%VplD?p zE+QQzZJ}tkYn%xU6Mo(S(C|Jh;ix(1-e{#Go3|O<&nwV*s~4p;+2i62YsQqK@Tm4$ zuw^EQ!J3hOXEsgJbIqkBq)JZRW7$aXZfs&?wwaPlxVF_<u(cIu&RWTX6gzMz&X_vB zdwH8w<)8keJ$MW!q{JpQRUHQyk4NjQI>>z4)UWop*~WAle{2X?oZif|2ron0Gxm_F zGu1#1Ka!%2cB_T>7)epOtMk<>HvgGt2`s0qoIVs6GbbBh>{LAKNVA^puH8I>z<<pG z5GT8?`gi5NO{~aSLMkgxzH~yrk9WMQES8Jc{$2Bg;&23=3Ta>aX$#gxJ9p5flOYs2 z%!BfeLk-=>x86X)#4d_sx9LU>nk-+ANSoz2X&jbC-><sYl)R-^+LC{7ck*lCK38Eb zU;UvluBzuOJcl$!jZPL`n|n{{(1Vw`inuffbCL%7L+d`jBx&bLyH6)T<05z{#=I~B zZH)pd)LvsL>`=4RFP@O3Q7$WPgiSIc?>i9sJzFz#t!{uTC^Ulo6(%u1K0m%|4OxDa zD^e)RoUyzD_Ug}#FgcKQ^yY(P;WcPBjL?o&-?%6a3!_PkH1L^RR52VD-n<mCa5dBJ z9rSAEa`c6tjdxg=d)j|<sZJ5(6d$idbCW?HS-e+g$$8ifCDA_kz+nL*uuct#dGlF4 zV*8TZW>XBtkn=p%@S@<e91}xNDBhO8?z$=N&z;!e0{hQE@JaBYTjGsaz82GgoT~@S zPszt9HXD)n6lFTq=fR?F;az-W4JYvvvkyjN$~JYwgN=0!7d5=4u5;Md#||Xn+kYo% z6wHz>T*a}1raFXV9g%z=hR0h9&%@nBU|R}$gr*XP%I?1s87zayv%}-KG>Q)=k~hB# zRWrf;o`GuQ**vLaq8*B+;BG1+yWcl*OvX}(xEDn#9!QfuMectt+@*q(TPR6Q1}jt= zcMsIrJ88IkJd{~SG4WkS{bWs-v-n8a8kI0#IOg<9)|p0>nF9V!3|V5cWsoBT+|*ic z{HN~1t#sRxeXL21Cf?<Kjy-<<Lb97~<|6TJ(}ZYsP14Ym%Hu6Jn<C*;a`Mf(bpppb zvJ^9Eg7eX0MC`tc{q2cZjFhCxW2Z`ssWi7U&9mm!qK?1H!iM3}H0abLgoy)L@qlz^ z9SV~MX>@2O7~gB0<Fz2oPA0hXb<prF2Md2MlU<72zL#aoT4t91=Z@`0y0dMdB{c8d zfnS-7aD;vGHI-L8shqyk_H>y_ot>S{+j?i&fFiHTaA~B;m<I2MtqqrsIIwICP)x|j zURd9VVlPss+6AeHaya*+q&83b1r~@J4Hd{$r;wdOzv>?aM0}ZT-5aS^8DLormn=y3 z=E<PD7}UXF;8_CdvtJy5Sh7=o(Pw~l{23!z%`suW|ND1l)tW_m(-<P1bifFh!sgz> znzg-gr_t6t5Qbc4MgvM#FHh1lE`R!XE=@iz?-KRO#ED=E^0@8&E}^1q%ku)IpJ+_< zX%_8jKkk%SAcyV#8|Pso!w2RngOY+?F6_;(vW1V8KGE{B=P7}Ys9OD!+1dL}a=$#M zU*Y|pg#Q;Gi9uS+)|gt}H%Z{`CTHl=OEKb|0Wj%$FaB;uc>jaQ;$=$)07;l))a|!_ zh}$drw3|0>kHqSgW71vO2E|OWE!{E@rm@}Y2=fpwTb4!JRBNwdIYl6o!ULgTwU~~H zc)qwUYrmsQ8^?EhB;3^O|0y~Te>U5<5BKS|s`jYSYOUBiRQYwFqJl_bQ`AT__N?_( z?b#wI!J`ooEA}3(7`1EHme^DYMOve8-ajGv+{t~N*ZKV(hZYWTT-fsMr;5~_P~C@4 zlj2oDs9PU>Hk9cQzv`f<pVF4VU2<#OZieeC$gW`PtNfz`#c~x>=1B(nt-=nxXyy89 z+lDJB&H8X{Iy<CaA;Q}Y?e_N)0A0LHy^S+tO^N2<+)pllAt>-P%6z53Nv_1<o@-}@ zXakH~Lg)28@6%NQDBB07m{YH#$-8=;mMZi0igq;87x)g&E$=}JsV3ZcPS9C=d{?%7 zHB|SzL6HB4t?9p)=CbYn=p@3u3a5GcP;$SUetlnI78A3UBh>;9z7^F-&ncnRqKUBt z%R+l2h9TWt&~ax^t_B+8CJ8Fn?<4|_k$R^Ar&4E%8Nz@SR&FJ0wOT^11JA9O_irSS z$W`A4Yyh-Dqy5T@v04SLN&b>dX-5dAxIx`VSL+|vcOC8>muKBBct+c$&+Nv^3)r`{ zBp%lBW}0Z^SidVaB+T@l6A81!_}!}3%xVkkg2UBIi5*9(R%q!^YeD9kcuzm7G66r3 z^ri8M2?)9dQt{#iadd(5TYjV>mGptO3N^F}v97?wFY2m6F~dOZ_~O;@Sru}u1-FZI zn22xHZ5VQ;a36?)1Cm+!+pzRnIrfLxd=WMPcp}Wwt`asC&Z0FEN?{cUY@sZC$X)@D zg<M&=N0C%!z#UwST*ul=o2eeSj#)h9yT_g5pk?_~(SS2fF!Xh!i|XgjA}Joj6(^HZ zEhHa`S;d7ufhxfW-`tfKvb}QobUoACj*smAHKxuf7Gy7P(N`&c)vl5&fS0tCM?;4K z{H35<>D+g2nDH?#&Rv7xZWwLz#zR+Z6{3(n5uTwp;x9BVrrU*R2v&N)hRXA0k$=B? z=rA<D^G`#hCJ&_ze(^JSpig{quXdnK<Y4o6b|e$;lwUEAS&MURs=8?1b93JTi7vAY zarp?+8U)YJN;7XB>KiwXl$<=SOk|HwghJf6PYi1jQPdmiJ)Rd<nH3KPXhhkeD)SiT z=z8%e1->#z0NRTcI8+_~TT70McQRM9KTlh}Ebm@VN)7rMS%Suzq@{W0NN>z&b3UcW z#cA==N{ItpMc9%+5sQ#}<Q5`pC+o5Q-%GbPv%~VSR#*ehOVZz12KXC|`#6Z9fx{O5 z>>2lOq~y8i7Sh3S8Zdl}$+{a||HoJ+d5HG|R2#}bn{1|sJb#A9mUlHBg%BSVpq<Q1 zZbv&D430(XoASXUB_V+fWZIiN3-wlI2}sC<TQg6j+2r{8hxH47YUVCOF|F5d{75^F ze}dakum|fS93wX7Fj28+zQ`aeG88{Ipyfh$&*kmL<n!gpsktecd6T@3#ZTmbqzB{? zko=crH#j|qkxn*a;qB{zr-2dby4!Y$LyDI*2Wf^|Tlm8oZC({np*`DQB&RsyNkcen zKk*`1aRKP!Pd7kgJbS6$Y^REI0Zg5sHy_qV8Hp9Hr5iO|rhbjYgtKXhxGvt9ShV{Q zehZ)Y!(n>;8<DY-$8^kh1>vY1;K9-Df4||mID1=Rf{12Sn*m^C8}i@b8(>JUpwY}! zVDWM#rx!;$4}c&bfS81u682i)-tVd*C^278vqat(DqPY1fhpSLRu#3lg80w&KJFr2 ztGq^TunA&judrH7vW&DQ7EIJ)Pm~%<($mzGgr?uR(#ap*o2%Y>>ei%rPqwf$ARwr) z(PG6Q#v+4*JGE-=vA38)Rb6!8YNB3>r0PF*hLN3KqJbUAt#3F>RSa2ghdnQE6*-3I z(=k{K8G>%4dYiTcXc;L}e%>s|qE8?Vf(hlxI7qz^$LC2x+TkH|ql^GbuRMY?x~rK) zam9F`AA1*O*3j-yI(DP5Dtj>@EYzB=H!9gfYa`(S%wx#<sXgu4ncY31$-OecpC5}} zCI1v#cu?UK#CPHYC%<;qfZ#)fMCeP7wRI`!_#|a?IXE5BnfM@Wj$;>cl7`;(D8{W! z$weL1{iwMRD=^~FEyWvL%OA!jA?sk4MAoEk7%`rt>yzlBzFcbDW*4fXQR7iWBbHr! zv&?vl4ex|e-B&2j%F8-kP|wVD!cLwr^nTYF8Y)F5GVW!XG`3H&izhy>CMh@G-}Ich zZjT;|^zP3JM?jjRV3D|(FP$jUG;_Zg(s;EU($59XhBL~hqJM;;wE2*MDewxb?yBJu zdrw}3gC}p|cDeNuk750$0iWg=jtav}T6A(cLaNJS=`I5>qR&U;xNYUT=6&q8-OSQ0 zEdN9rVsykMz)Q89>(63s>QHD=QAq~HjrT0pK7ID7z2;@$O7iQz`@YlVIRKUWV4#_$ z;nU1nFoZM_5K~ix1wc#0iVqtr0w?O`yj(;D8t$WC3#m9|&C4>~5bzgfO~eW)UW^f< z3Cu8Soi}X6xNb;U9)MG#Im`Od4PE)wDE)D73n6xD{;nW`PW8_DA64t4y$@c;r*O!} zjXU?Q=q_q({R&s^M7>Gjx39(f&qDAl)z4nk0|f<6d30+PVAW?j8pdnLI({z4-GZ-M z56M&?>**Zd-+;opR;x#e;+*@_H#dONbK+eaLAC)&FokgI&O>t1KJ6oj3raBiqRWnj z%Nu7CVvJMc8&uLXQkX*YXp>|az=;vHEc~|0`5ognIx(fpHwm<7;55l7Iux}Kp?9l* zu`T<5H9BndaWA}LS29$RtR170wXe6=#D5;|rL54`2@>SuCV)?x4_<#1l1{LkdRNMc z3w0j}3$d_m>3#{IigUd5e&H7g|C4w)7zWeL@Dc)Lz3!XrCYO#yE9PJsp4|S_wDs63 zEkh~VEU{f<Gdmgk-zJ?;b0HX*^LYsw@yM)a@c|7@Id_Ci>{U?OKI}28vCX;uvFX&m z9T9AxUR#tWRrq1{oC4q&EXZ3SC*Wdo`FdagP+65lk~G*RhD1)o-!eDO5UG`-ptzT} z!59H36v}BT9#`FdyLZ_ua6Ud+{KhWyo^2khb_}O;P`w94MQp>iRer_~z-L`r!kZZ) zK=tYY)QQFx=K`_hr7k(PGblBTs220<3x0F<(b&AXo8?KI%AHdwr>bj^W2;chu`Txj zVBVJUa^>TPyt{=9x71G7W{&SG(__+%(3L0>s4%RFjx=FJ_ylVVCxN_CI$C~U3}JD! zHPtLU-|OVoa$`6{^dKHmMuo{|y+M0hLMy*Fr(+}`m`zQ8B@TmZVElx8Tf>wn4+L6l zl4C;G5OpQc{PGi;bB9Y;SU7AaTAw!PHDv6VPWW+E)>JhH-OHn}a0|-)_>hp9`p5Ni zw1B>%!iNtt9SVb`_9f1+`<gwGXqbQs7rY#~Pa<y)dli-FvG5Djrj@Gqd3WP*Cmug& z?iCNuU*HphWWA!2Z~6Ho`dPf(|NiE8-a|pK)*@rOy(uSE1rJgnbz;49v0#uqn9Zu= zmbOcAh$TuyNWy^DQy@gA?;8aZ5WC^UbMtk*xv&3(RDWNx4C-(>y?-Y*gXhDF!h@ZW zG`onEWW1bHT(njcPKSb7T`{A>NFW5>&Jw)D7lRDUWZR6z%;MimkGe19VB|f7rG@l< zbs)lVU)j}u-yHvrp5NdHalrw%yY0OM^2X<8)7MmP4&;s_mkK&+HhvhLnuffntf8Uy z506i&c2SnI<chL0rtlSQP6V8rgDJSnpU2X_PG$F~pkd6{9Ob(f{~eqnj`ra6@0Zn% zZgs?Ww*G^0@Uk`{J29Vd@RkHJuP|k<HD+_IJZvoU1JS}!x_ITapoz#8{y0;JNp{1L z@Vi#MtiY-dFTFyfa-7bz4ekJH4_~*)4;{W}ZUbcb4FG1sZm^hcb0NWAkrNbpQhk;v zF)(xgmpC0WTsggqUX}?bg|oK$ojN1=JxGGrCxv_IESFoF>MJrzlnOj~#={iS(H<Wv zY(u@2aj<={=4-@iyFKMKuaA-$q<$ZG^l$9nOKenb6nW7tzI$EWEQUsBUMV!jp6f=- z-N|%Re8Xi8y$7HnOi3lcFf%{}=Nj*+ABdqFZ20$*?JJ<HDp@V!^Lo>T#mCh~3ms<_ ztiWPDg1LRSKbN(1tdtq{Y(WFs)(rN=K?)Haj<-B)&hZ`g&+?C-QazIDQiKADcKfnP z%Pc(Id6)N3V)sInmh*W7YmE2TqU(tBw0FJDi+J)QsUEgIY0Jn@p+W{<Rj$TA==iw% z)BZr}NDgZkH*fMq(=F=rIuPmg^)Q4|&nn+((gnsK#>*kRNI4cg*0^l^lVp*kwt69z z2b8%8=uu{0;2{}o*E^#@FULTOU4Fx_IW&eV5Z;ki#4<$CmRZHq*n}^gW#@IwIy%fU zmcuG89tf~fLi~limQ-LSNlS#5;z&-pc4j-peJA(trCEAB*M*u<L*B9at_2;ZG)-yh zgn9)ir*;-ktEyeqyE$m0(^R0n!}S`jm%q;G$!Em1B9C6+o9woicT*UYS44<|Bdd7J z`etFTmbax<o==$gL$?lw<$kBUJrFp(zkKHG)2$`A);@k~Qd8(55c~e65^_RZU6Qh4 z@K3ru!32M^L1L_2zsIN5MI+894?&gcwpCC5$$ELS%C*XT4w*TdsNoV-d;Zk2ZFF@a zV@mPl4|)wZTpDuFmFMd<;9DI1k~!)vlYoBK1`U}NlE84D`zAG4Pk_jf(A!!CQl3Xr zTmW2dlt(2S`Bg9pU6|+qU}#3z>5By`;|Qx&ybpg<Bvqvn7{W>Ycr14#lUyTVFNo-V zS?TNcjcyR(8=2|%{BLzZ)`^RoxMRz_9}wpo>l-{tE2lnuMx_%hrKhUS08@92#+4fw zq(CZCR;c|RXi41e%&XX97LH3%7io9<YOGbB12ArR<U`9TNai0rkWALWi5ty6WxY8D ziD@p{Awbqo2ou#E8}kNTA64y5<w@;VmqP}k_EW<~ZqqjY5paGe42DERR{Cupz|x%p zB%olW&GELj7{dv7%7o0(FM3z9<msm^Z$tn;K2p;#RI4TIN^`!_i>9&HW0OPQv$v&e zj4h)%!uA1*ZDIMKgfv_%{;6<$AQFiwapH?YHlCSAU~B-5My2F}$ERRq?UtjcPJ1wD zA3A=vb0?An?VRd&%JRIp9#o_X+~(E%dr7Pl((jp&p$Gytn{OWyx%6g633fMjrMFJo z54_--g4CAoCkHoMgZ6W*s7K|6TLkOvKSBi*9F@rxeqvR@Vcxu-I}e}Yc|Y5w(-lxs z?%v<Pq1?y+Tw9xxr#5&{mdPbBAcr$z`{BgQtyLk;Wzs~i>5#*kj?{Z1y{t!#GcLo_ zSIJcUI;Bl{E!J0jJ${+v<VEp6$=p6gHDF<EM8C@u9PeXTFKoa*XPF92De-RVs2F{R z1E=Su&wV(p*%!ZHMC~(<d?9=a45kow-|ny2xu(R(`qCNbXT}}X-+m1-3MzcM7#+)p z?{_5q>T5N^_rISr-yA}bbEK&JW!bF(S94Mh(h_MLiNJ)!R|KbzvMxtwKHVc+QFx2# za!8xS1kr#?k2R5`UD{M9t_~Q(^40%N)gFDFz(v9ccfL1oJ>ko+_da8mrvU^eD!)Is zC(u{Ma?&_ZyAYS41g>x7Nlxlo5^zB>%p+{nu1>CV*M*{m6^`E1k`1hw`0dYQt44db z;=!{$m3J?B_$F$ddOh>g0N&Ly`r|F)1CiBDo;OmtsunIL_ZS#cesz4YF1_)2UNUp7 zY4BcDFATTqX20(%WnT$2hha)uZwc{gq-98sm5L8Z^e7wyl)$4&e=iO1@g88z;x!!; zDVk|)|0bJ6;+``7i-q$_hq=XfnZ#84mC)60GF%a)iOA4eb^_xV0pgvGar)|6?;V(F zHkwJfs?F~A_tJHmj>pd*A*z4!-UXM>+AJU#uDqDaPOichHFzM4p6lfTKqC70BR{Ub z#Gibm^9m9M<(t;U8J=LUmbn^P8mTx2UCGDISs0PtPA=yqQP6wzk4zP-+OT_BuL45~ zzV(;xt6Fsd2a!Z0!IVyCh5iYgu)U@ZPt0dJp{_=OH_Nmel7{7bQdln82Z?|E>+dC+ zehzqF7GHsE-b+4`<3sX?QZ^x585(l&zI3DI;*@y(ge+=he=%3uUrltG#i#g*?aUb2 zCN5qqXB1Nv7@~<R$vX2F=i}22sUkTPk5`+*R`YB?h4!y7NEr6&!q(wpZ_1Ze;m#)d z0|guKiEpxF+3&G>*G0kVF-7$D0*MJwFIE<GpFu40^yayDu7p`>H2vVzIk_H@h#R=0 zeLajX<k9HQS|iSo*W<0G4|h(MkdtypE%eV5_(pkRVb;*aw5nFmkb7**WiUk${UZf+ z^;>y)BjR!p_4AWN1>nrLZi<&#Hl6A2=g3&z2QFO6?4<9-OlH|l6Rp)&6I|f;)j}S3 ztB2pD>*XcM7s6>IvcyEcy>5mgnzuO%1Vy^kNjj^L!BI%Wx<D4Qu1G43J*D0xJ(!r( zal2h$E1&f!Kl<+_rVs}59Fb$^%}`H6S;$kGm!EiS`v`7kuye^sNF>*H%c-h%%vQ}x z%Et}G_3c5N>;p-+VS>Z_mNPIQAy5F!SnCA@@!Bo4^n-ab3Sb~!Iv((6r+Fsd<92-= zklFc|h1nI)av|;gy;yGnyuz^ed;rUOo-j2^=x&J4kEKa@-XFtJ(oWW@LNL#)GtDZ` z?g@M*c`Z7-{3u&RoVOqS_tNEUjg+^Vd?@iwDQ)&So3sDXL)yxFcLLv0Vr}3Tvj-!F z^%qN_+^$poqslic+Gjj)8MTT}UrkNrRJfokZqQj#%>6*~)@N8dPAd8VmHzJqErpzf z;cxIy7Hw;)$oZSbs7S(2piYvO+Jk3aUGt)e6y}x7`#^+Kx;KDVTI{-<Ot%BUnWLO< zo&5_qn$Hv`FwF+yx?5_RA(D5ikPHVwxy%M=vn*;oJVJt#npQ-ud``=-`tfb~t!(Fy z1Y~wH#vL;BeP+g}+-mj{Ns=L0;@_+ceKil`M?b)~k^v}+TeC@|3lH!K&`E=evc>7} z#3$ZE=$t<9WK`HlZGKJ*<1J4jZ(B^=5b4j5ZF}KvO&|kSys`#mZ!jc6akgyc@%sbY zX6Yr5>0QE*{lqme_gb3fZY%3@o3PPzUCsb8)-q;JMl+vzc9GU%+|WX09CH3~61_NU zb+sWPsAg@huzGN6l#l<rZiU;>#X#p{FkTB~2@@7oH;~VjbP#REK*~Ys@_RpOf2Sqp z;JH5@vr)qC4=M!N+C&v}25Og@9XIuevyf<(jUo6Min?Po%uSC2P>1Nv%qxw&$3M0P z6Uf$!(pydn?`apG@;jI7(vsQlcvo9Y|3%bFh)%oj)uGgM2ApJN{TMdtYa3kHYvu|& z{SL3ZmbS?sBz#z@GS8l@{9WXdX}ap`YK%(`EPF;EW#94>)StxbV)D;gBHKPCVXR)9 zgNYogXG*C~O>i~wuS&yr2gRy_(B@9`l)8YeeYoEkE-Ff6vZQbsYcl4W6P0FNwe};# zk!*J*P~n$Bsdj9hT=b3!l`Ve9Bsk}h0c12p<$;6#X!g_;aQBFw;z0adjhK=e2$~HJ z_6-Ut8b4KI%IIYk0DEM8>!OsLYL_>5mQ~UM2^t3&hjdpELhs{LLfSec@%7Kvusg#_ zixPR^jIEOIjX$r=Xg3TT%<D+Q_=9@ftDsxoNKf!Jo<!YAYYL`-(Ub(v)i3%lg=ON* z4gZ+3#J)%i?$(l?lvX~j9Mu%cervF$l9AKbJmEpybC-UV%4AMAN;NSEFcv+CV;+r^ z4g#zrlV0e&=l~9R`TpLrm#~+D;NcknQ)7ZD2gFYTR!-mTgYozAk`fD(tMq=N&KJ+0 zvUt|j@2}_Xf0YN8LA}&7!uCtdU7f1l5eyij=w)IDdw%q`2^t_vm*Q+l4$O??r{|lr z(b7C{uH5zcw{xIWyM&Bmw@}vSHRFEQM}5(ASCIU9{~bPgy&>coF?+pM@sg*YYXAM& zz>2%a#=c5nuiXLc#g()WSw`%a(bjvAR;s|SCiOPFC=j5Oc7o*^U;rs)jxL{kbOttK z#47oOS)iTx>=iHIAZHD8@5kvV=4&@iF*`aMVYB6amZM&6m~`vbQ}c;-;1+k~l7T9o z(gq0*uC1)0(hKcJri4NF`*f-U{|1B(8Zdt`o%SO`^rlX&;hkMrs*v=vz-guo<LE1F zvE9>nBQ|~@Vl`0Tln_sVq<j9o)Lt?P@TKGQ(uxTxDj-96ytmgmGKO<M=C+GD2JR96 z1%|gY=UvZgbw_DJ3!XB?bU7f6OXU{frKYU<jdXbkB3UHAHfgo#-j%OMOmfM#!eiRx zyBFW~yYtFRhK_G4TiJ*#4xbo~i@eG>J~ig<a2fj*?9!Z1m#jEutRJic%gL_}91kuO zi+H*PvXfqi3V`*`u_ogK`@Z(*ac|PH2-%bi-VWf62fk2rS4v#avGgm^MFUXXHleM7 zq_@B{wepPqXnT4uIV4P+FN$#Vn#hxkDb<waxDkm1`}9smB$k#aukhL<+Jj3A5nDn^ zv_AI}MH=4tpY?{CI(jF1U+y>~PbL@TanEW2q?%%!J<MmTl00EyYpEkq>*gP4Uz;lX zLoodI=8EG-mqv`3kjnkX_AYP9eH3}lPv^;E__`h=9x(RPT)PN8Hn!D=6IJ<Hw=+J{ z7|s!Gp=$z37E4x5mXaef_bTJ0r#Zm3OAG?ah+sZV=%$YP%M2+#jVudYMozP8kbqij zIHDtQ%2f745$%wailENVC}-4bJP3f(S%J|feG@BfR=c{}5)}h{_dL`Sx97XxOC8F} zQSD-dM9c+***%YC>5*~GrxzprROJ;O6$ng%vIwZNc1Y4l_TAv^1mixf_4%euH{OV@ zQs)8%B{8ZOU15{1b5cR9P=Nw4i)DKaZ~SXz&m;OB{dfVW)Lmct2_(I(zKSZxer7`r zNF){{bmb{U^bhl1^kn;^3oI>Z?sxQw*N%E;m8~8on7eaYqh1PiQYf%!&Qu*X3E?=G zi+j}T9<j+BiWHDB$poy`pKNEe%>pNk*up$3s$noaes?ewuf}UpI5H|f6Lwu_3MTOl zTy~$KCxacWp;%ZV{lZlPN~SwLxjKS)G)xh-6Sx829lJPs5k~pz%kd+lTSaNAJ^ap@ z%L5P7o2-IjGK2ii>yQx)58#Jg8K!#=oQ^M#%YN6Aq-eG<uf%jap}n`KF<}JKw=NQ& z(X1BeXPyQWCRIN#N~gOX<faQ0dBC0+zgzd+p|^oM8|!{#7tzB85lE_M4h8`7UQ2rT zMb>d!E@r8Yb=ReMtH<NITb^W=t7T}}o8h-)BUYM!Z|4}za^C1wb4Gz+?K)FAs(m!b z(Z?$QUpGfuRsQo%)BnP3n~#T`8tnq&yeNq4rbCF*vC*IH6*tM-YiB!4MOzLVCXNLN zF&t+B*WQwDn`rmERfJzvle3H64gGIe10GG;>uFy?Ezy9+H>N!$XmQ<g3zPKyv79JC z8lKVmd-T?0xiRg?>80AH{fv)g-PA>vD`eFU^3p@&v3AMLX3@5EI8Q|2n&IVH7Tq1l zemzc_Ao8W?aXFL0X|>C#y4aX{$BXWL(vau3!TX7XjFJhD*a9;-(l}A4VZ^m3*L66_ zd}pw|3X-XeapX*C-`_|Mc|y+4LVTk%TjaC!a|)V!!2rIV)_*UVrQ28wioynDOTi|` zz&F6xNWT(E__3EClr=pBMztdS>5X&u?YKs}6?A4(LQ>5U%w3Q1%;Oz9`=4JR5!I@* z+)_|xt&i}ch+CA^#kx}(^ekS4`Nna2r3_XH3BIgs)z7luPghXSFwC~c3pjJ<@w@%Q z*ob3neC;pPY7dW;>g8gBt$|v@gSpi0(C6Y@=aS)5*6*YT?tl0;5MtI}!~Z+X?4#pW zlf9RnSvQnU*J7mgITVlZfXuVaihql0{BnXz>Z+~z5o5!-{4z&1)&2Ip4X^aPA;w}` z>n1~3@dl#3aVj$2%Q7j);m45j!9TbKlBT~`+>x-Xay*k&;N^eBSDKb0CJ~Jkm`BOl zQD|XiZK<AcbZX=}o)L)+s3r7iJ}ltVW%EE66SU_QS@Gd~MmOTfV6puYzd$^n0E>qC zu+SIS0NNasC&WqRbX)s|v#n6NqmeXnM|$8+^t$buHiF?4s3Nr&Z>bmSXC<7Vb+f&_ zbxbsv$R6lJxrVz)qSy!l>z>QXx=d_D>={rkjif6>qqpiT_AHq^g#yifd^7Z*;n`{W zq!3y&?=2DfOWe=A2M4rY(2L$EWhm|}-!fw2{zSIqv}X)yt?0KTgq?r3)A!)=86>hM zQ;ZmCST!<T<V6yew)z|zAd3Z|#=6G}B6?pQmZZPhYMktLL{j!A@QmPA`=5iQB_aNk zn%dM`9(<dNoHZ$C38d-)@@Xji?<IKCm@oEPYxDDoBlA7k)(-aar0lub$0$D!6xKi* zULU~yCi1os%g74fbcCNguld^i(>!}c%%j(O_2&b)*wU1OFc$$u5^0t!F<j^*2{)QO z)b&TS<QI)>JxUl-XpBGO>Ex>q&MM3HD}i-A<$F(79I=NND%1>auk+3VUw5_(3B$1< zC}NzRHaEs;OiI=Uot~j+TSazT8q3Ypq0C&IEDmdnXs&2V2$oz|TCkh>-s@G=Nu6in zKGpq|!ErVC)e?$Pk0&a!U$KI}x0A?96}xVJCK?t<@l0R54po3$@R!H>?(u(XHmh#6 zIa+TynoiIHIHx-%51*-1n1!rzUQM_eV+9Of{LCJ3J(wUS7ohE_=9-Vp4Okz8%jsht zS?3g#js;2T&7BFJ8VAmG+3}yLQJ?nmyUY=5yQ|yB>zGoQ$_|XYK6O^P@_!pIFZbA0 z-idCH=zsnyHto1D_4(TCujPNluNb_m(dIn>OHq!ZqFGrIunEKVdK{2sVZNN@gFX9b zqTL4w+H#Wmz96nkwXk$LB1v~n1K85__Yy~y7Oyi#t+Q1o3tFoA$(S6F__cJ!tIj(F z>{|-&h9s$EnGW2GEr3+;$VGa|mIDW7$U6r*-G2hQI%acL0=mneKAURg*dH<bcEoc1 zAxd_y+tRNqEil1iv`kLrPUd)pin-9xwRKzxa?E;u(ZF7{I<>A2hg)m4YYhK!OKg8m zmU^SBoq>8^oJ1kO$;=v^z5m1?n`2}Zb2Y|^kzJ7Ew8%<eq9$@8Q4lz+m}G?LFA)_# zd(e)yRoKsu!q}6Ogs%3I_s>kS&)w^tp0sp17WY6U$yFbN>ljt;X&lLaXnSLt1TxFz z#S1;Fy?0)J<PoD`g|wB~&y3YXP=whmxA}Qu*HXIwB>gM`y$wJfxLL+T9^FKhOIKWe zpqi15N$Zno?RSj6?l0WnJagJ<LJD=ext8?qd`(lu;uPf0h8iw(j6w5_+Oa;stN6D~ zrF}R%ilBy{%H8cID=i8QDuJ5fiP1!hb>8^Dms(MEa9~LjDklfkZPGQ7nufu-qr&Tn zw7VyyQ*D-uFK@)V<!Cy4no{K#qqgeQ@E#UZ@T7BN>tq*CfHBSB`KdD@WTY5rVrw2~ zp|bNZVQg@8XK>U(k|*GBB<}37);-Ge$y_xMFFlxjgWoiVK#zK1wxRAI?zHrI6z>D9 zu$l+S3urCN=qDOUf`921wqnbk{$iF3LKjaDmKw0HSkkF%1UO#2I)@(OmJRM_%XZmW z_$vGJA3uO_KtJOp1GaZ>Q*W&UxAB-1CG8v6`djcW9^0pw6!L}Di9h|Y{x$C|v-zw= z`;O{2-e?JL*1Ji&`5(*^ol?{RNUQFS{nD+D-{EG8>n7FJnJ2{d+#jcNW<{j+SI^jA z0eY<Nnbfo(fL~|5XEf8pZ97y{cuG(MQ+tNHDF22d2kVOL6UX)W@)NP?3xkOR;n;YG zw$Zwq-h7Z?$s5dk*Za~H_sd{;PyfX$N|3H(A9=np#t5DD>u-hcfVX?tk&t*Bq3vDm zFU&Pr)_q0IHM^=mVd<4G%?9~?5Brn#c~47p10)?S93aL7{EUa~x$qG!_qNx1@&|<9 zUU=rpwtw@h?`Si3%4lh^4=LhHkn!b=xx9~jcjX^MESjb?4Q7mP=H}63hekgi$_Tqj zf%>ct3`>8%L2ddOTn2%kUb+%G_3}C2jZ6PT-GA@XCw^aZ`r(^}o$%_5k)`nQX=6Li z{EQUruP|G?`?iz!@1`#$%{{3aa1m&i=Zf3xVpg~+fD*y&wVfT&@gATlwFafLu#<oT zWr*_?S7t?hfj4gx-(tL<3#z_<lj!Vw5KcUzMdp)Sc7#VS;M?ZC#XXDRG4H|N3MW-* z@1{MsZvh^potRoa>R3jgI<+}a-bLjV33xyEOr<?>`DoF~n7f3pyw=`!=~p9^dSC|3 z$(D7AvQzoTN5rw?i;iVha@&&9(KN2*qCG=%&uq$s>+hw&?tiXw#LQvdD{!wwXlz_v zNt!qFV>EMH_<O0(qrq;c0JBgxxrEzu`?b@6&M#P{0|L`ky+DE^4>3PpNa#S5LWaI0 z?k{XQN-tlV{~yz~NkNbd4_@{({DZ8l8``d;&-Ksm(vVZtklr#{-iG;vxOq|I9UuMz zMo-iG?!U~o4rP1hw+A=GuckOCV?hiv;ur3xVf;uJuv!VZ0f1`pkXy6s|7}Gp`#IiH zHMhwxxX?M<Gg>on-*@)PrJLdsOn~M0YOi8`qbpk&gO1!pCDrH#G@D1@ISbL%qXWak zH!2OzQ|Cs7A;RQWZ*TYU_o?^%z4V?qtT0%}9+l2LtV{83eb*S6Rc55<=APZrZ97Ld zSLP+pN^Ji+JzCgtT>P~oCwdzNGx>T`k>mZ7#7lv*>UUqBUke;hn`{WSTdz}T9{V}{ zTM+R6KOwC9ox7N~@6KW#h2tDWeQ`_pqWu4Skkd0(pg(HA!_-F8EB4s$e#sFv`x(94 z`ye$mWjZmSoG^x(@e5dQSnjC6Yi`>OoHi`kF70aw1JCSeSUk<muvyMWz@_hDm{(Kb zL+IOYve#Eqb@`qH?{fdqtdY(Wv92BSU)`{7KhWP1U23ta*if;YC&;+(Iq{T^ll5h+ z&QAT#f@o>fyigx#Ys`zL>_6LxShhJGK9}4%U%l1W%50yozhnFImE00<m;VuEmUbO2 znoob7iZrkaSn9iYm}iaI&`9RoknEva=beQX-s98N>}#@UC|#SCo%_CAYsa*+DBDEO zKiE>}+3oNeZvVuR>ZC949=yK#wxM@`+w(``z3sJluN-`gey`3j`DAvXWyd|G!%%=l z!X#Rp;|4#bDpR~R3Jl}o?FO;087Hmm=|5HzD;z`5{<+afUzeBfLMEQN|9g!jap$Im zc3>f=c$n_>kZ;35PRySZQ!yCK>TyTsZg>Ylh59WrNa6{7YVgL0E3XI&(2*Hys|&$a z4Q>_qn$33BD2RMKhbzhXQGqBkr-Vm-?!eoq-zWc|m+MWF#;aTQP~jt{BY#%Y#y|E9 z)eT|&5u0e@?7%0hg}i(m&E!FzDipz}doxy7O)7%npV%}9j(-PxANFiGsdH^iqaI2T zAJJC^aywO%kzF`ugEV*Wd`7_9%<M(5uNmrh$BS<vN|y)L=XKTY`Td68R!ySF-?}XL zIjIYC_T99FsSjSdX56wk-9Fcmx$g7CcFKEHj}mYgkCMr#o_Uk&hsM?VRNgent*2;u zmqztjM?Lh47?{2rDbu%73IdOrxi9(G|E{qF5?y!<G7T2xa$fB=@6=4u9eTqhQ$06- z_pEhh%=O*im3}S^*w=k-yztm`I>Xz)miWoWw%%@ESv9HfXL)Hy`1aBm_p$+i%UJ*F z^0j*(FI_sBH@;l{)#m%FwaXlX8v%9G2MreiXPKt$4Bo{2b$d|Cg9Jv|OMtnzcV0bs z*Kp-u{m?mGiu|f0EwwtKxh7b=`B!^~S4$4E&uu}QcEbbvKZ<lcqvYr1cNh%&*}vEI z82|ln=JM9U0GbvWaM7;M2ZmTaY_STMtXPuU-Wai~)k`QGS5_+AI`|M?++V*h(dB*l zlfLN78-tgkoG!R^opgkE{zoK|2RU~&_2ho0I|XT#TMqQ8PWyEB!tszg`g@bNdqSTu zV`o#g*f8VP0X@>vqFH<@k1nG>9(=NzGh&i_AEVa+WBQ6U1@|7a6#z}ey3Fq0`r*6b z<kl_rv*M_2y!m&SUh6!Ughanmu7+2FNrT$`^xvk7{cLra&!&1eS!4X>9!lLTNCwC2 z-vlo&zPz!<$oOja>ia8~SpUgxSK@g*Tvqg_#ckY3+vr;fO!~NetLLO)qawG#Y2j&i z#*}ew%?Nw-v$5h#Mn?RSXqMig09$U0S0YEAJpLWp&QHe<ix3^hTS*-$V<za3plLUv zS%(dGb7*fmGE8%-?xSc5>G;P~!KC5p*R4CMo@2f2I?^=^{%bdl6Q5lD5GT?+#i;x% z+X%be5->ihP2+!30y;=dXaTXK3`J{GYmn@Q-t7(W)}ZnaZiU;kjcL0XOS2HLc97@+ zFyax(;a@@&(AvHK_FUx{AJa8Tw|#NLK%XIQPxNbkYdfDs{rL1=(_Bn<kBp(dkB&0N z1tFF<>*m+CJ5AYaTrfKJ>&Ww;{Eu2_%Q(DcDaE3(u*(*Iu=DyL()7+%V~dD59%e4+ z^<LJa5=Cfb`xw&bIdmP<(OLL&w<zINZPna4_Ftk==A9_m_7`<sNWSJTgwITGU_E-) zf7IroFvhN~VK;nPcm{B1fqi4exr(Ys5v+^1n+?$(17~F(JoR;nUfhFoAJ}Tg{PK}D zyge!V!uYF5o|L&e&aMVOYT5%I*wk&eH~KJ{21WF!<yuG_ip{NoFy$_)6Q%(z?jzsH zTDLL<9JlQiOAHvEUM5hKm_whJEcPTln_VrqiUTBB%@F8nhQi5|4W8qF&kHXUF2-l8 zk&7BsxAwOl$|Qq*{|_?rZ?0$ZX}Rp7RD`Q%k(qt}7|%vl+kO2+K4x-tf*K7pzS9~y zj6d3P*cxGZ_i2JaE}mE;?F9B<)8%%Ng$ut6f2Xd2)S51m0u9L>mucZ>^7g8VClE7z z2T~^hN7%}DucO^mhWg;i8X328HI>PRVCDS*4&8KQpPHn^P|&sLD1udE_H$`R-3TeV z-}pc|pgus2{k%whg>mY`!W^d<$JLw%j@)0pMYUvYVxmAC%@{lgdyH5xngQKD4zO%e z{k>8>p7SZ-+%(oJE88LwX~6Q9G+M43EzAMn_47+1IVx~@F-C!IN07$5>?wGO{`gf) zYHDJ3+Sab`z?K814L$xdXC(P1MJ-iFdgM-5pI_u0M@ClH*C##Pltrtkd69?HBv=pB zguui2A*yX@LD#z4q!sJp$My37@9uhNxw$?-&7Y}lYZHajT~DtT7$C`jI&Fm1xM!D^ z8Q6~_eIgsF;3v^snHQs9v?+VFk24}%p@RF0kDJG%-NfSh0+B5G6?tsjTF=u20`{2` zvqiu^qcQzO<vOEw=1Hl<J#W~%_)JYpq>9S=yIRNn`m%v8uSfd2?D&smw(Q_CSMqr> ze;|elFV%^L!4peHp-ql^fbYo&Xd>aD)5m*D`UkO0g{^(zS>_x6lH;F=8HGk3Zql)% zfZixq2Ofo1<d6V?J<}hfA7ci{1q6Q7AIbJ|n}tT=L5c|pAyw#4;|6G(-i*a<<j@}r z)gZvU-uuR<EE-AExx6N&jKH`Ob3~8U@C0XpjjZn$9+Im!FeHai8=y1e<o@|mbO!q7 zw4Wa*r+JTn^f7QFxbe{8rCS+?eLm6wE^MGNr0SOoy?(xgi(OE0EbF&}{v%2IP3Isq z@Eq>ro2!DX16a68+RvVPCpMWH4q0r^X(wrd$ow@c{6JZ*UW#|JC_ODMwNj-FAj^NZ zL?hvl#O=;%*p^<lia^ot32fl(w}z(K5bpERyd|q>(lJI~Q=4d^FLPEVC-XA(-fhFL zl@DzY0g$w{g@x~}4(q(OR=*1$!rF<~vi6OpJ+qpe(g|R6Q1JNItwV89dI_aJ!TZzP zXkW1oX<_s$4Rg}Dgmb<lHC){+r23RC!zIf_+LnX0D+{lSlW5kO@+C*%lJS`%Y&v!v z37=0j&~k8K_Rz33T^IUJOVo9?ZSQTndSHwhEpvGYbfTL=5|XZ@5%E@m{@tnx33H*4 z$s^^-*S~VAP#y>$pj8V>1K7Q)$_}pT<C!1LyK+Li;7x{ZgK~F#*5c8~(OgkJgYUYL zcX99BO;=5GU%;?nMfmi=S&r07E0@QScF+8H!eL0}ofMM2qCl_gN{Do|^wmvRV0JnZ z_J`D~CpU!UC6^e?oSXeKV9H+U=LA-{zqm!`9$tuiQ6&@v+8sCTi$}E!hgNSt5`U3N z0nuhxp492%P%6^IBa<TQ8QuPjde>6V%0ur_4{0hS!{ogq)Xf2CpxV367NaGL(-P`3 z#ldmu)Z6qjEV3GWR#oTmMj`Qa+9PH`R_^NUtU==4KYIH-%=?DYP>IzEg+(!^-^VWL z-w1G=b#*n}bz5g$4_g7{@+Wf<=*rj)Fb5j@h@kDV;9{_!E+k1k*%hTq*<?PKLVOA& zkp=$XV}C8NGHw2JcR(3$W<u!UEJq(_GZQA6GL+zCtubg?;&iZv0Zpm$^PcbcmmKX4 z>2i>C9>t*@R!k)N(V8-RCTPtUtLgloRv!HF6Fat^hmq)f7SDF!|JTlK$#pl?R%S(I ztbW{x4lEl_sMdU-AnP62x^CeVUT$C62>MmU-bHCEVoz%WaNgaP>PKBUR-6ixp#^DL zEqBbac87_%9!X+7b~&jd(La7Q@_nq>Lyg-`${wkEe2oScMZJ(|ceUBGRbddH8{mlS zbR^i9Isp?4DDo4IHf67%r3R@=czTHA!6tCBIi{X)%UstqQQcBourpAy>*B8Gc?g}~ z8G`7g;$FzQ#Ff77T9LOnwu&0~-9(^N$rgpe%?EYG+O#Yo_;;Sisp$wKHWh@h_R>YC zHk&NbuYNSd^_{_}th;Yh5&wEp@uHxfQTkIK<{HGC1(Jon_}5ORoOIO-2c0*^2dQ<@ z!CmUQdYK05L$nm7&o2o*`E}SRe0;A16vw&*%}^|>{BTlmL#~w2;V&r(`ni;9ua$fu zN*7W{$&fMcq7RY0ubuBR841S^dzZ<I)dM22BRWoeh9TR9E{2nlIr&nbGEbkmPFlyr zA+@U;dTf}?YZ^Rmi~P&IzOI_z#TrcB6<mu~`hQWqj|;+Gus2JF=$!SU`q>B2=vOn^ zhWsDsWG6+T_Q0BxYAylx`rN83#irh0IG&nRGJLxrzWf0mIGR|%BY^{8TKE2h$6UN? z^~f<Dpx6I)roT9&38v)<Xl5no7Q`c4g-cI(k-XK{pQ}7uuHJKiH_AbWwvjz(;wo)J zb#=s~3z5L=ldcnmoHn(`5esk`=g*-yr__GKH#V{tQVt(HGJZY`PN~u~ZF*Y}htrPn zS{m!^mY!nkTx(3!(vQy7Fh>%(lFJi%A?S2^=v3n3FtyxFoRQ7sB(xhAJipZ8DgJ{_ zYQ4qQWxws^EXLQ4kkm-8tSoptuwN622Le<Mrb<uu3(Km!(^CmTPS@OI$Df=>w%??E zlDoY<E8SdIyC|4cCi`lC3j3d%Mp$M5irzdB&dwk*l7dACltqGR{7yB&7Ge{rYfrCg zzjY2l^~ypgUyrHhzJ7tVth4sBeuWqYqXt+drb|sz8AA>>ymHMAOJog&M?ca5FT$f; z{Xwr3=O65Ui{{QhwwCua7X_jJJ8!}2+F6+-dR$WhmGRWa>-TYM-3$AAaee=1dP9Af z@bsDItlhhq_&U2?kJ~%^>nY;LbaSTbk~M<gKi>ztVExf|?%~(jZaI`8Mr}&1)W^@0 zh$8%Me7&O>4M@IKhYaL%kP4P_izFG7CKF1C62s-@Q-z!Th0Ewy+u(@}FuZ6kr3&L| z1K{)Nf}6Lx^P|lG@#U|bAF@I?$>2f-^Kg53`sxa!AKCzvi-oI*;DEDs^7-$C7{|^G z?N{U?RTnv^Pc1jox+x<p$l+}C$NH(Fnh28VI7-HO^oVsgPS`YlQR?9r$p}6eYHaO4 zVdrxWneuFhVv797pThFK1(xieSLEeO+9KEZOBh@6pgL_QVHZij$Orv8=ZuuY*SZGj zqa*Sb4NQ}LJEq563iRULM~4E}Wl;bmLnKjR3JZsAo0e>y@_-9N(^5mm*B;t2gpK42 z_!%VGk#?v`@anPJAzj#nve69#3X6x%`2WU-eyL9TpLiptgx$xbWvvWl5Z4AHo)8eq zsbBmAiJSBH(qAe`KcJ?EDCGsj{8v=s!kf+My0Q|7AMoE9#lf*r7WyzkbiP#jZ--w? zWTn@3d`}-1{QH^qR=U2No=(@Sxe?p7;;CHyr}fCy9`}?(1G){zKglk5dOJOrKg|@q zpl%xd{yalV_Nn-Bdjh4jgU2<~%uLlXFUz5Iy!^hEhnN(~$|#SjJoI2G^M9Z28h+{S zoMVXG^0J#+ygiMJ_^itt#)~H{S^ObknFZWN2{6;#No%-jVJJ~~!xh+62Q0@5nde8* zQa*<`=2O;Edb}QmJ^1WnOb@O~Q_{sV?H&1{D}e8s${BZVRzX*y!78EwT!4vBcu60j z5qcomj%pMy!?|Q(h_}#tuud^_U+)hpYH#q5IGB1~hRZfx8=Q*gN=y(@&vspBt^Iom zWE89P2Fj)BZf_@tg#$2^;2Ppl*;R}aqi13j0|0G5!heLAh`^wPT`{k4w2H^eL`LVJ zWIp>qIA7PkUx`^VD)|e9G}*Z^A+|*+aiGVnAg%kgF8sz{>`O-2_;eXti$O^`H&4?- zZqr)ITu&CSG<QtwYD(D$y9Hql2=}9^C+(M5qNd_^lx(fy!b4e_Ef-2}t~Y<EFdqC8 zX38R<%cN48j7uafi^pLh!Zrmr9S~zCXmtrnv1w}Y{-l|lCK6W4C29yN!o>U%LXjHX zCCL{1LrCDfF4Gk&ri;FWz(kp#p@Z>gDZt?UYd;Q|MLk^iX=Ta?Gv7&Ms%Mh^!Lg;> zkDQgAgq&T|F5%lMOa=p+4;tDV#(xc3ef%$ClAW!1ahoHj;I6PsW9s^tn}^&`^38%q zc(YyFVBpB3ZVE2V09atk8mJrfnp;S==z5#vsf7^>1WxROphy{(-ueJkV}(aYe+WOh z>=Ur!L6BcK(b1s<hE49G0PGc@0Q&;Nl5c6{y0u$9=~4|pa<|7ZC<Z7&+<)cRof;GK zi#`Y$xvdN!e#naCKcA3&IqnXzYGUbboodcauO^|cs>L^W_4?tBj$2AyMa2F$vUXna zG|SnPUdQKB@}1)0;CsC8-Q`W$BqrHc0c8<mI1r}fOONlGiFZFFwOWtl6>xp6Hqb?> ze}&}hb>t(UoE!dw=m=`(;4E5;BEa($F_IwMi)U~#Q^F0QaL1cZkPt2V39XxFhWnxG z*pm4a?(HyzjPM_GqBba7shj050{Rf)1grVB(pgKD?UDP7j~bO^R#P7<BLqCpWu4#^ zQe5<X^-P^+$2ErjTmd22$8}&PKiWCRB-y?4XG5J=x}7w?i9xDDQqGx6bR#{j>YX@n z8Xn^#BtfyP<-W|<!A8Fl(mu9kZPAUEV*3EYNI*zEEnOP4Ot2~aYh2?;BfUxMNe{^* zi4^KpGyd*lqHK)^MJjMDqf^GnxFZdcYH)JuBZEsEE%VATH&<y4&cC<2+7)=MeNTbV z^&Qbu!KBzTjx&?)a?I&2F{cY9zPm)?_@VRzi=+{&9h=T{e7V`2eQ24W<We?6_yf=B z>-$dDHUd1i_lG$+veqze@A_<Bl<*}pDGs_h2VzFpVtX72E?M90skGNzAfPop>vKZ` zNGvrY(TSo+n7~KknH=>ON83dXftGzhnOb36L}v5WjjlGIFLY)2S9Z*<rmp;$R?Sq8 zRleQp!=$iC)e)a_^7H!L!{$&K*y<-hVgV@;qI*qoyoK2Q4GE~J9|CM#3Qi>6Y=1W4 zs62YM(A&yLV^YnqN%&gXG{Wpy1854>+<QQBKsdlfOyB*%fodJ$Nq}?&tP|{2xc$Z8 z4k$|Mu*h|Gvt4EEQ}RHsknpG#%myrh&-i0?`sm4Qzf#=jkGtCL_0gd{`gPxBY=<Yi zTq_b3=Gui7hYCx3Ibyz;d3PStn@)nyVYn<^E+;^G0hm3>61b`317=Ot{I%UPk|C>M zM8e=D@)+H?q?z|;+5iIfAJ#vVzw22I6xU^Nz%i)9yH>L*0-<@RNGwG8Q5|DyDKDWX zcxsW;BUaKsjGrdly~t;yY|$G|VR7r84Z{YM%$J3QP8OjHY`5yoPPClLw5d|bcS?n| zQN72>1sTZ_TFw<p!l^5WUIijX+Swk0pAa=;d%{5q7H80U!&{PEA;tO_nq9J?4(x$W zN_d;1pPrP}yleF7#<bjdN(#H(@BO+)q~IxQz9W~lmSROHV->QTQQ31QjKAm#hv{~D z9)B)>qfXrM_qY`*gkZ~w-O#v5qdp`#hiY7C$EpT@N;Wh)_0g>h<$lU%(72oHsEEo? z$Lik;ENY6s$KGF4bKCJmvDMZw5i>od;5Ug+>|D|Qu8;*tFD%hL#2N;_mc4Jr2U4n) z9QGiigx`8)UNKpgFk+R)%YWU7FA&I&m2XP6`S{8-5T^mmGD#Nk131ynG`CHoK%9i& z=S?PfTi*C&?<g%LLuxcu=u-!3vi3AMfq3Ml?-9z${?9#*ei`4>@9yHw%*-;e{Xx$= zp^4b9ZQ8SAIJoU%8)H^vehnzs(z68fU%3kZez=A0DA=$^bK=N&`$7YM&AuvKem?6p zoaY*_)2D}m2bI5?kkZSG$hg&J`7ykXG_3gxt4;6sj#c~b$hDej5t(MUFYYEH{a<|Q z95<}5b2iu-{lq?NYt7)2G1$fClJ!vV)RE6~xV@$ag!Dx^-rLOvp*0lnlEG$TSW$?# zw=Y*(&U$EBh%S!^K6BDMu?3J`8JJ+e6W23Yk=8k$nidtJqH^;|bMYPslkVF(>s1|+ z5l1;~@qS%2`O9i9$7$wTdj2efUvb4cJSwEchq-~z|N6Xj|KT-rO3FaEN?_$o#{D@> znHTWO<)Dy*V|SH_sz(A%HtIbp_T1PXzc*A~75pqEhAWU~xv)p^7GX}&Sc@iT*La}b zQ|8|e6T5)+soQqWHMpCdkTmc0lm}(_E}c<#$JR+rwF2v>8`3pTm6l%YiTB@U?-lLH z5iI2yG`^oT<7v{6;f&7>7V;=x_JnTL0T25oi4dhVuPG($&u$+&d$3e_+)Vk4=OB_I zKPgWarizl0WAun#2~_9?8#q@7P%G7w`zCC9w&zxEkYr~`Vs<O)PH^ViaKs)*h-$<} zmnADH|AuTwY1G)Se8KIi7k@8(pXJ<R9@}~!=rMdCTAj3;Sh>*W#x?6~;S?OPePhVQ z7qI>lQ&ie3=heFZt7M!6AxQK?qTm%(?o!z()AVx;Wi~Mg((p?-%2olo-yV&4`;`_R zRZ2zsX>w_a_1Y`cd0F_wVD?*@)zEu3POt({E+bp#bgsI?R`0C(2pdGdLfCY=>~8K6 zeOM9R)V?j}cPGwWw)PZt>(87;;A(EROUuV{W@B|%(p>ko`RJRrno2i6a%{^7ZYvW` z#Q}k_V+Ge3J^p!;t8=rscV=uYeOpK8yg6AGbP#gz=EA6V1~jDLTNCIqahTXE-{Vk~ zHM@T?PMVA?nI^(b2Sw@K`~8|@qK*+$Y**trk+;*>r1n)SH6`}UM9JC}{zfkPS0Q7D zs=vIYb?8U?=M$RxZ$^OGi{G!h<-*s4R+k<OFFL+L8L%am>aydcAkiPvaUhtJXc=C@ zP{-6=PDj?Nu0PfA{<6|!+Vmj6!E45yheaa|l5CM~@8<N|pZ{F~bW`I!Is`1sj(LQC z1Uf36APlKbrlrqK?eFdWLzVjMKk$DHo%KVLdmF~}cnm~DN>VsVZgkgxS5S~4H5f5s z0wUd@qt8)Bhr~cy90SJ~-6@QLbb~Y-T{1v$r0@QL{qXFG`+MEj^|=ZV&aL~%X~+ko z_Lf@89zL<s=j$EThWe?0#y#^xfQiZ4l6*t;5}ksApQwlnUY17*1+m0ePDw~EHmRe_ zMPQUl8U~=@0ER=cD!w(@5I<bs>R4^kv=U3#Ps!ylE-ax%HSbk}XQZgS<#=&aL7Jg- z!V803fVOg*D5JRo!Khq2$GJ~J1|8*_=D^OCD9FbYVo0?khw`}a@>7LLo4<Z*i4SCj zw&q6$=)bUR$ylWsDw)L0dM^u}7^<bIFwYLN8Zxw&Xy48_WsGTK^d64pxM%8<na}Kq zz-s0c#QJtj6@cZ?979F~2Y@yPR$Y`9xDaUWA(XQxD7n3KBP_?-XL(Uov~z?q*E#fr z6wjX{J@fW9{U=A|MZ0L?Bo>AWni;aZ`$NT=I-5!~!{~@c-h`&aix_z_C-sN@L#^~$ zo(bRpF;Rv*6bV6bnzN~Di^T#XgI`sj{RN+yv69O2j~6h1ct{lcUi2(d`D5CjYw|5% zib45}Hz}PHWRQVZL~*~EkU|@ri!IGs4UMsVfQ7v;HxM@%TT6{tk>`eITsBkOw(>O| zBCHs*R@EPd<19+uY0ja@fEXOdWB_0k7ekngq^EJQKa@wmkC2{tq&R4R2WYbaFor4B zlL0nCqH)cPA6P71&)#CNqJu>{=8EPS1IZQ^LwgTPrjK0fgS3BHMrEkw##!t5c8m7t zgn#$p5L4hPECC%Nvg85d@t18}(yP8{r*;5s|CO7{R!)J30*hJUhOb+6yML4lx_S`? z6yRAV-QXg2HnFP%A~c7MmEvD~KHpiycdtaVye`1|7uz<LHWdiZTyRmV`H%sZFb1nm zG$Fly)N0;Fy(mD$V_!lb?^v=-!v8!$+2c)n3u3UvXKSbEd0Mb@#+^#yrPnX313x;_ zkXHg}cUb0R=Kebl6ZGA2B#eV61WmI8D{qHw%Zmh8d&q0}LV==wd~4-<;%AEFkhjY! zAj=GjC;xS_#@&fx^XoAkwB-M2*E+|&XKvFyBsT*KORYx<<<arBjQKRa{Dy%+0wCBz z6aH!jvC<Wk<Gqs=9$C6Fwy5j@f7u+{V@S+Rw%QzhT%EYC{Q|$1xJpFSeNkR}Q5Ze1 z%^LodLu@E85{~RPD$p)s>SQs2y7)p(=LK>(Nx4u6Dn|mN;^X_9M{O?u$R)@7A$OD? z5B%Q7kBec+VG1Jp(qYG_o4|tXnQG%I^zj+sWk$GGVd+dVsuL{1If6=qChtJ`-B(JK z^cbwQ8&`hBF#{}A(~WzN_mIIe^l#^&#axUPk*hFWMZP?`$oX}Sr-zJHsKoj|*jI<P zPd6ATep|ZfD-B6obYyk@n~8)`j1K4Bz#`^EtLW7<Z>qb*trF~U-=tJ37HomgZWHo< zRWkW?7HyD50>ghB{<;=vL;5}9wK<w>7Ad4YPH1UndymU;P^)zhF!-lyopX}M=5_>9 z%>8jfq+NWv<$s;yT@#TEG^C;#u*C^xU6+55w@B#XQaheTid|@xg=UE+us|jxBwsa- z$W=)^boOkqw6iOs=36(^AC-4i+Ag-dtsCu5HT+t`AQQ%B9_32*Mr5&8bCR6TE$wz7 z1zeDTo#Fvp&ux{|Z+7H~e^!9TNj07j*EA=Gv&1&XG*UIMOJ9JiJ*5OOp#KuI@uA<2 zQxgfc;4$F8aXk5{FV+XEZ=Rzp%%LeSxF-~<6sE8hCO+B%^0=V)l(%tR7u~aZLGhT% z^edk4KcTTYd}dwKxpK}7+A2Toc@?{TM^D0}1jh4T2xb``t8VI%6aq-ow^yWpDG{WG zHhpM*v8=VmzbU-a;-pj4)Dx5&l-T6Ol-Lanp@{-Cmea1CrZL{Q78>5SvFCTD<((9l zCvOLmEbs8{TvfllaT>{@LY{}Sw%iZxI(A(qMW*ZiJ0KIiQt_)H{QBL#*1L_7H`o)t zy%A-K#A?PO!I0X3gJvB{{e=M6qr7DDKD`jm<uXaFJif-ws#&A<2fW9}tJqb_<zz}F zq>fA$wMdvam?f~yXq|}c{f@mV8l-OL@k-|fWEdA!Ws-6Ia^J-C-8Ck8x%}0uceh6g zJ&X`cKuoa;+<L%HhmrpBP3Z&;@F*Z{``~qsVdm?J5LGhIhBWTecz>R1)Dfc{a=<aJ zdj)8g$9*$<S=s`-Liu!0UhF<FU6w7~5m5@&u{C6fEUwQoJh!FVPxa{w6KxrpmJCU( z)nof&7xJGC?IdI6x|?Xf8^FJ0$$eUyz7J`Ng4C;I&#ZZrr;i24Dg6#dsjDiI;n6eG z4^}f#x6=*T4C(*t40cT`sz8LO^D)3v9{Bn|ZRjQoa~zD1<b_#hlg<x*IT6CU9#Zn( zBMiACy2NaszAr5qo-xKnVH0}Dq7Krv(j1wyO0i`DxysP^%Us=#L0g&1vtYj!#yeCr zq(0S#^8CYA(PryK{v0o0GJvtdiv8i#)Lt;TpUrYgS$!Z?RO>D-^KT&2gYYu=!9CxB z_B(44Lq`CIl_=A#{+-3{)UPQEKsLwkC5m#nt0(JkoBmvT>=rhjCp6rUf32ap^NOK^ zl5`S>%Oo)TH+a-?SY*OsW-8U7;gREL0alvx9m6G@#PU?*l}NcOe=nF=Q&kJLVU9oJ z&^uWn4_rqWWc4Y(qXH7(#^bPS5>6?<&0DBZY6%e^L88K0{-?`X&yhBE+?B&(*$U_g z3neGZff6z+)*h&%ULH*duF9xh?<Cw%1jqSK$>I!A!tBbHwZCQz$N4%yhOGS>gAKt^ zZr($5qg}N4Rtv!5zED4<Ru~)r7>+qIWVU5ziMOC$+9yp^HBGpQKytQB(gZ@r-%;G2 zQhUl5m#F>S`IJbiy2eAy0FG=EtT{S(m3xB#QdCr778?h5>t^@qt03&#ohRS&6J^V5 zVWM<VXpm|3J+mjN7+`}n1E=1Nq%M={!d%yp%L&K+{n@%C1FOw2`E>84TR!Go8#z{_ zVoqxCx3))4nMDev;nSsa^pPtDoCJrRact&j$7-NQ&_0`H{LWAw6phx5N8dD)TM-St z8N9szAH~qorHIOCKJj?m-pT=QNu4E6xOva*KRFD25_<P=gct}cjq#GobVvdY3lHIT z2@KsovXb#yv4FL{@@gCp15fd7GY%1bz&R(d4+?B@IUF+h(ozdn<>6>AY#$AeI1)2w zG&)moyzt1NtgDpWzDcAeDi2TslUT@7C`YcwwkPjtb-QBfDv*;jmtLqV5-YdzeI@F4 zCwwN+<E`laZhOoXbL|UGPq@Lst>p5+Bc<nhqA!F-fA!+g?_30A`hCP4He{YWHsQ;U z@4wI^^k-iuW(K?iPQ{DT>g(A=u&RKDakR)ps4@?1yLRGik?r93rfOGW9ZOsb>%onP ziXSikuB2ciSK{FhMh0Z>nr>-rvsOSIk+{2)PT{zzJR#GCY%G_t{2q<$x-^69%GeJN zSZQb9T6$BXP;5RS7wsip^ULjnLbik8&?ogd@lA#{g#FR0nE0`0`@Az5AI`OiDr|uz zdi*{1=wa>rs&96Wqs#SO=dioWlY*ryyJIt0#S(Z8<tP71*c*h(DN2bNMF2?xE$H4L zTBcbt#fn7-q!ZJ4S(td_q}hiA0T4`l!QJCPmu~1k3nB(ze&^F&^@h{S(-G_94qyy# z=&e-UXiduY=?tKvFFRb{B;QOF)HUP@z0R_`r|wbMk%Ab_GEzF=2`9fb)|3}UtzlJA zE)80LZ9^f&1FI!ZRkdY}L+V{w&J~+9e3tjW43ESm`qZuw8tXI^u~8>dI9T8p%)j`% zHP9DBxy}xcX)~s`iy6Xyd!z(&@8x4NaY=ND^7-ux;Fzt~1ARbS$_sm|W_pe|*dQpF zLw`;8(b~lRKf38g<AHw<r@g59(q<4Q<CFVbBvePN6RWHVbs0gxQfl($UT4FWaFej! z+09EvhF^c5DXpFEfks=F<k9zJEqFfA#+Ofya=_q3j%XuP&>_yu6JU@F8)g7{fLZ^U zYU4ZC4I8$-Mg8LMb*F!Y??#B~v{>yY|Eci{ko=3X<M8_~s`B*T%ipw*i@zQh&az6X zvxd7&|231}|6VV<A^n;9Pm`_-Xhg!x*HVpBKI!JJc*nSMa2jCxYa3TUMXhj5g!rAq z!WF<_nX|ypC1$F|az3k3d1qiG|9dK5Ocf38Yf2zDgo`JL5!jQLT}z+QFd`N?JZzRA zZT`6_ytX(5%VmZIdcLJjuSn9SvzZ$wjw*jqqljbFbK<kEDRmY~d@5XisDSU2U51%Q zN~iypq{6%neRj6R{y&!JC}2q4*+715b?G*S<Igo5>tVZx?Zm;PoBjG&S_XfRFra2{ z5TLqnq>!zV-?0BJ{Mv<d)LC!r!EIG?-;W@}45Uj7nk8yL+TVLSUqJ|XAK|VB{%C^L zV~RmXeMPI7eo1T12~|BoT;_tVA22Q_#e&Q|!pk;;vbUMK&+4$~r=Rs4og6*f9+pc+ z)g%ZT1&5jqrW--ldgk~{9K3|KIKgM9J*;myg@QBIDllw=TzOOJT>hJ;X(eT@a=2P> zN{9SSz^tn;>S4ax%;|I#T<7Z60n2;YM4^J10b2Z}Pbs8cZn(;2B#~F?CCFu+?Xa}` zMizPV4HfKLy27;wStpL8G@Lj)_ZN@nB>%m-F)pWZZAXJuxT0yimV3bsHW8v#s9Qq) zqWV>QT(@a_uVC80dCH<TA~-tghsWB3Z24?`lt;S7>T-vJ5}FCllxcTZ&t(xU#=s>- z1X{o-P(heH&=>mNHEzwfHHW-fjEjTY5DmYzvG>c+c#ez@*g)F)up*au;yS08Y&<y< znEr^SM;B<x_xrJNypg62*U&pe$h*A1yo+xeg!55TpIzpF^iTQ?Z@H?A>s`uwL2P`j zI2}jJ)+faGRt|ZU_l&IPT>825D+QbMgg=ee9*W*FEbDZT4a%EsQ%|(0xagl9K^s84 zt9-l@A7ddn<(||$@2{s^^;P<Hf377o?8}_Vtp0FBlDv*jEat66CkZP%O{^3g3(S8l zqDxP*Yba8cKC)k6yAQ>Mcqvy238^N6d2-qw-~NW@wxmR4{oNEWh);pj4xCooP4}@r zq?nDk-|-Hp$Nz!)10CF3AaNNax@Q>zr-5bWX>UyVBO`oRy$@2p=H11I2+SYrgA4ih ziFoDLn4-S3`~i+7mV-bI)?ulRb$?k!E_s<H$IP|SK@rn6w^Sx@-V;yET`Wd006aeq z@l?=~^O_-asB=!r&9&cmKH2i|Mdoc7r3CMR@3iD5V#5PP2lxioOkQjH4*B(#z2trR zk;Li{*%_?c2h7310z@ZAed__H9z@SI$4Az=sUtly2l+8arMFZf{XR|Pa@`-rd`J+J zU@mR_;=eTc^{G~BhW0cFD`8RZu;q0hp=D^J=Kky<x<BS>@at0-*8~?|Zu_CH_UVt` zvDn)j31nwNe>@t@sbuvYtyOtT^HR8_rzBu^N>^^P>-TNhnym-94il^M_=zCvN>6<F zVqcD^ov0a3Y5GfwCrx(LEOa&y&G_vbk&*$ddU1H}b)y)m{@CS8?awu2@rs4~@V#wm zSB3O+E>e9W-R`R#9hy^f#z@PD$E@<JrTC8?I!#u}nql91j(GC=Z%n4|dfIA!4Z*?L z?m!C5nukII4fAr3!Cojmo8hS{Nj60J^<+q2gOy<CYSM#7N@Lky7A-;&iBIq_y~~u+ z129w9WOJPmGs>}~*|_pI;|0s_lb(?arh^aUo}?=gw>Dt<G&!Ly(>+9&Jg32fh%#yk zXY87q6?izSj+VekB$HzDjV9!ke(kaAB)(~Eax3=ZnKM6S@6kYeLW!SV@_KYC8!%o^ z=(r-+*%-X<$J$HrB>irHg$?C6z&wmSOheL<6JE;jbCZtt!m<ET!rc&IvV@P=2BQgM zOt)b)?dz5|*?(|c45VF!nIRbzxFKGjOB|d<G=aK~VFAX*@c^Q>BvssSk5EXhUsk3< z|6IFwdI01uXQs+*z{ais!v$8<YTB`YFc;2b;nLLIibmM4lK~;Bx7rJp>UgE5{lz8L zyH&f!#2xF?&-c>*T<ft`CB@6w$`I^v4irjxYHd`YUwKS|P8<eYSfFVd{(dd0OKW!G ztO~2#4fIJ#82+`?xx_+I=cjBFd&Il!r22B@k@$P+d@Ps68ExSXpX}J&rqfy2BHvpd zix}m&>df>>Wr!v9wcokw4!<5Ec>a$|c)ehLXE=LVGG1T2{yz|1s0`xYr<7VxuRZZF zfe`Sdm`8W&pKEkpG4jr3f1lVQ#^pT3#rU6PK@O*n-;M4Q2Qs7&_+*zseRbS(Yrk9x z+?KWd(SvC1M4`I7NWhTXhIRtyA%LtAs63A4HJk9F_Kc1H*RY~Sice+w#u+IYwK*)` zDYjOuJyF%YJzfxlbOc+py8wU2VR__Ik&1zbvoEOXJu9XUGt3WX5Tbe%;F2x<>3aC? zk&o2JX#D8U<vfqkudg%g^&W^dGqYOs*PpRv_(a037-{_r7I$bz)e3CvS=>q6Xt&&g z3qWAnq8k!lAS~GHjQev<Wu5o06|7;D)XYB9%2C&5k3<*b1F^}pq}vy3Tg%Zc?|m_* zugQ%4dv@JZT$q1SE`RnNkxQ^G*AL@r#w(IFizuA(sGWOTQy=`))ghRk-pX?Kb>4{F zYa%vMwQ%9&!;PwG-ysSLYuY)6Rfb|*e`M8^=-kT%z`hj!ixrv#Cw~A32peFyLaGC} zk|ZVg4z4wL-N+@xIIp%SCUo@WiZwG5l*_Ed!nkRzMm+M?8?xVMw?ROBmkBNAeC%2S zY*f;3cLM-|2J`nEB=Cg_wM7?7lo0Nsp=zhHnWta34xZk95w_%tBkSo+rEG`GKMqcz z%+1QBym0WAU_@EP2*whi7|kN54_IEPCXI7I&!89;HYSaFL0H1smL$omv|v>g-Q>L% z8p6MYGf1I)=l3YWHyzBZF_FU+Y?Q!6)tiu3M{qSZ16&kv8`)``t89Ye9Loiox@t40 z;3IwWX;JJO8eaK#FZgRG0`%FJ-)57&xU5Uxrnhm9;D4R#2X~!h9CVH{GH(7p$?C4l zc=|3dxsd%MeD($8ktXQ@k?&w*OjfCDgY&ga7Dy|;zrw<qmi$+%h4zDN?mKa%#tVXZ zV$mBB`Lez>U+|*&6YAUuQIe3BAzzoJ({;x{gHV8ZffoCJ<#D;rYZh5)JE7+HDu0wd zcb7f!UB_!m`*{1T;UEvJ^9$aE*Yyy7QJS4K9%wl3|AkN_N5#2^XpmL;qEwRJ|H^$w zoE?q~(RK3^PzN6T-6lwx#J9lWgD%V;4wAOYFs=2moh}zBj`Vi6Gg*YHN&HcZIkSC3 zl8l>J51HbBU=i|0CPCShP~zzwRb9SYQj&&KRW8<Vu$69?u{Dgd%wSxdQG3Z7K=2+u zJewdvifn+qW36I}vS=OVu{1YR*BVnNF!M=?w4afi$;zM~NpW}YKxo>WwqCB`1U<%c z$DKNjlwW9kcIEoJdQsb{y)IHsQFmNm>?Qj&!1)YXgq3T0Jx<S=#aF%X)aeR2X_<cy z=wECF7?xtiKRtK9=e&aLOf@zqKCM^Tmi7z)22VN-@&zj7lR^N$-cpi?-|eL=_^2_9 z%uXELC9kSM?97HrB&z*_Je(0yrk^zm1=tBp0Dwv_-LWGkrfb^B7Y3|XA=D4&4`~VQ z$l@Xdc$PsIbX$Cai@1=Nv7(nC`fS9hEpl-V68T7lERTHnysoCf!V6R5c=wBHc3Q6H zTOR{{`rOqYGp}ikxf^j^b}lBx|3)gbu`ulcXk0rL-tJtm{MU&%zbu@*z>0^-3+fds z#W3+gaq#dbJ^3eJr%xF4KeCvo;^o_p;p>JB$L~I*^D$i(M-G&Xb=e)HEpW-EKS>kh z`n8H3+d%0)JBKfC?9QvxcV^L;XWemoiiEn1cg8{qw8n9exp*#S!s{l!eJ)@}bey&Q zP1JBpZKO-->fH=m*s}ytFBDCFI^=1mGojC1@v#VLlF9|2reRGskV?csFe}h3ZLE4d z4X-#*z$RKu+Tgi%cwcHj_GNo4)h(iGK!;h=e+u3is2!XOFnmyHDkatJP|3PE<cSg< zre)CeNv6dxW(?;`b$%-R#J{O&;_b!%4qBSL->-mM$36W+nSR9`tf5+HA~(j8$Yh>Q z-WD1!e4st_x0GW<)KouZ-VY?GqEuoj;9XUW#?yccrJEBU;$0@!jB_ouW%O+ye8q&j zD4;UdY=J(EBl*$PV$NLS{5VcSZUR$ex|_*+YPd)T$;Yyek?Ed<B)cAcG=}H?eMIj# zmgdVGKSMzcYzJ-4GO`iyZ|#+dNo<&@Tt6}+w_q!>#h7YkSXCdTSDCl?{P3R%xgFfx z4H`2oxkqs2c|cGqO;YbWc-^KHa+}Mcf+Ob^7mr#x;r<p0+b7dCmGfnV*R=rwoCIJe zbdQcS<?T^(FxgGnm(!ab-#8X|$nia@2N_+4d$A1{eQj1iYc;)d89xjwEqSfQ6xCmO zmo~O1(zwwI>UHc)N~Xx?y+75*yLlC;Qgvjj;C7a+>GZm~^dKjs{~rB|54$G{J117= zPH{#L?QcDKc+)XG^nga!e|bLJmLynA{3OV8A6TRVLy1h_#2m$JoF{#A*JxdalW3K3 zA5SX-rgrhH1Uz-)(Hfsto@}>aQiFMHh)u6gLrD!*=L43~_FUg_Ql^F0XHYS)J!R>k zVu93Tw(Vz1>}s6A?KucT`g<jJub2t1{XN`t4`@M?L9u#<uX^}Rqes(k4+F>BKIc7Z z(lgH~NiN1M008`|FRHNRj&{{3M?FrIW&&6?K3()?JYMN%j*T;!MAv8B+*+V8SwPP# z*7EdB#Yw58#W-;}iS0nSzPjMQu2Oam?>fDVH&vY^jQ$35U&Vzybh&c8{2r)SGZp(Z z*m5EO12tfiE%(ny28GA4ThX8%Bh4N_Q8zvR_Hj(@IOtL>Sv%iP=woG1fEbJ3`V$NK zIDf_%zCa5qFS}YKkj-V~a8v0}wX~h<vU|OxGb>RwJuVFv(x+e3Xl<V_d+0#R>gwDZ z7Dv)i-o<5lGSIT5KQ8J(E}hW%g?pwzV=q3FNQXG0G0v7orak~lN8~thPF1V>A1r1r z8#20_<wu5GCqD`b7WWmboOrhGTstUpc1YJY$+lQv|4*db_mCRP>n2WqoSEO=>%73# zi<Zat*h@E>xd=uOA)Q05_l8AtR#bXxc|D=gC|JPjav_XzuPf$n)buZ%7+!Ab^TcHX z#)I<Ckl&!55yDDE186Q%sr;sPtNSe>)19dVk#msXUF$S!JAJZ9huwD1?=;cgL!(@; z_e-}gXk7O}4YEX%N3pg1;4YwK&SeUAg$Z@zn$vUf3-G}&)lFtv=4n?v=+76ofAc@c z$^hYYS#~$=)!Bx(uy-R(-ZMRrNmqXuaamaDHP;l7odp|@t%0<lT{H;Z7cSqF^B+w7 zxn`v_o+u+$R0NN@8p3zZyk+F1!O8|*tBTDm6D@gcp|s3Wl(DP-S97ebPujM&Q4X`3 zjxEJ}x5v$|SadVv9al_!uqxJnpUE}I6YCzGTG6I2p}K`HsBNizkjg@Q)b$*b)R#LY zs3woFk}AQeSk{IJTC34E#@a;>{RK7a#mu<;5>x`R^-YTkTW3VZGiFikpAl|d?dYo; zH)ujUNCn$9uN;s2w8rx^=haanpsza1a>zUm$)m_b0CaCOB9&JI2Si7@jS3IKVVz12 z-iHMce;06=lS1Y4BUMwYJ(&@DrM&`ut}DF+0}t@C2id4tJ-ptFScIK|qYY?Oz-)Xd z*-%!WyO*zAFVe@<nIszSMz(|0SA0N*DBM!-lU>gtDXZwt<^;N9taLba`+oL!bwMfM zKw62y>(i*HAJ#gI+L2DNeLkleJU*?U`;zR2EW6$uFQ18uXhsTi!jMk3;WRmdkxn}s zE7FP4dOvj~Ky@=acs9CurnZPvE6noD$8KlLuHgS`O`IvS<tQhO2-bZ#SMSn!CxZ^# zaR|gWIUg0GGrNm`9QTD?5wJ9oLG!+f0B_Unq10RpF?jWAc5!4&A=*;pJSBi%E|pS| ze{h$gto|2b=}sjABzkrQc;$>hW`p`Uk-3&eXs9tR^6OTpZ@Zw1%UF4d|5jfiYfeZw z?OA%D&M4MnI$5))u?MTg7pmZMc*QFZ?n!U@ELtr*^}!Lm&{i`YZ>PPy#PMmL^+okI z3KT}cNvBDy8^0<hv7v4WGG|q$fKu(-jQ@6;5wvb{4H@I&e~S{QY0+r`03^Sz$$C7^ z#Ob*F7Q%~k<&ga9E6qp)=&jlnvOA6!a*A2GZK4oxU}0Ed&#&pz;dpGf>jG^lfEc7d zNj*ukJ8v`JuoXF2>ZGUEUdr@qA26cG4F$mkUf5^k?Lpfyi$Q!uoyN?^uFiiBvz^Vv z?!Oc7Ny)#Fhe*{+l`YWW1pcZ936LOZRZRg>mBlI?L2lc>T<r^Vezy&RJ%O-3AMC?5 zUig@A`}GjD*zbT)b5+6=sRXt1FD=dLJf80L2{_bxptRK@xxWEM1|CBFv4xxCSi=Pa z#+dqprEfpPdm{bABeKL>4=S?`e{Q?kNDv?~4*wM}icf^`)ml81^AY~!1%oEHeA_1J zg=m`-t;O}&Kx!|u1+YLA#<uNYh?>^zfq4Oppl#xldSD`+kOc${rz@g{$2Tcgj5neP z%ihZE%=YMr4wV2`2WbmV2gf_6D3rSap9De4V6ivUzOckBHr6+%Fg5JDFkv5Q`#9CO zVZ02#e~ehOOhA_EdAT?h-Ezv}G@I@{!aVa~eV6=+>s7L~+)VNpB|9pd5cW^kN{M~C zl{t&mB1VUf4`<Q|Ff}Ve0W=?kRK5MWqO1|HpjsU#(^u(Fncy`}Kx9n-H4&dygi5fZ z@j@HmmdhN`iR{aHej70FB+TXOdDPP{VZ&$I=&#PdGk`}_AMT;Lv0s7}S0fFHtVcpt zm)g3XnG-t9U7&vR6ot@TywKi48c4FQl~(&z#&^!os2(CGRTn9NdA8?nD*>*b;%9AS zg~U5Bz6Hqp&7uj)T@{~r-T+g}qkBekoe2!I3Z^uX@uCSB)&P<NHLwt7e<Uc<ORHVh zFlu8%2$Q@bkKIJ@<^FKSIkg(Isx5*3P@J0-41?*aSn9F+OaC1vZpUK($j8mYQ^I|o zL=k{b`nn78i4&jF=Eee`>1BcnBEZ%FGj=6z&gJ8qqT4$tjyi2L(a`U22<ML!;;=rV zC4~azTnyxW&sd$zxnuoBXjTN};hA8tT%~t_leQGPUq%018J-!$-mMXF#dpBA(1!m^ z9kv(&397a3rXa#~@~k|RtYtoxwZtjO**&4}we%{ikVqyz>eqJ>FalYe13CSVbVrNt zN+t3wK{s0*T_tJ?Pfu-N{u>f607^O;s6kB$eck3O5AsjT<h5Ve^+3Mpz$tps2x(a) zkW)36R^{Vxw=9xZG`X)F<W_H1>IkNR4*1Wp7(TXUs{FD(jSuoXyqsQ5b@xPe+lcT^ zuxlJ9mhDl7uT|n&g}JPINv=jB91|H8=raY83Bb&U4qV4Oj>94y<L`_0wxzo45AMRv zu?S5(c%nqqx3MWX0?#fytS`JDCi=;-g(b(XqQ=jCKb}T)tb!Et0s~)rXQDt_wzI7& z7PLMV!FPsq%1=#*CP=s!I46&fGa984+&C3-gOm%_=jtBsIxGKBo6EanU>U%Dy%hEw zFCp|nU-6;PdiRY-g|BEZonqLF6UzK$Y<F<5?88jHj)R^LoYNf3Qq)p;_lz5`JZ`qT z`=Z!*3^GF;(47k)tw`d!{ZCg6pgga}*K<!zK3t*+;e|T4so{Bg{M~PO%qkjqHiWMR z@LkFtV$TiS9d&_Fub3WVT*5a!Mz;6@E~74!2;sY|qT>-*Qbs+Zd3pH1mQc*hAo<em zY4d>^O^HCbL8jIwj%{qOY_!h+8(C*t0c!HKw_D!n#h@Fj8tWAQ(sf9f8gih!NXZ{{ z;QaI|V@fcxe}`64Gme4UxlW-#&#|3Zv;~JJu1Pu#+wG5fc<LbHtJL@B+SI|Br#G)v z?kkzy;YTz&I=kGEUlSre{N%NWz3=w16gBIZax7w3(p_eQ?6#YHsWZ9hODpPq3NT4C zInDcX?Sx^(1GLAlPhD9Kl-#SabgWK-kNm0ze%n>=ebhCbF<pNz)$p$#*2*6(V}ngf z%r0>~>>D%Xqm0q55pL!yFKr!m)4V6PraMe&cD#HIVR;y8eZmpo+pCkMullv7to_CE zpKFD`ksPs0GaOtYf@ub24_kH25Ijv~iY(glY#in&SZpb<XO1L~hp?p0<_H@@eT+{v z$k5>~Ref#3vKNto=Ff5LiSi#5HuUfu)~P-!_t$6cq}fmD<k{ZS530$#?Cp6u)(C%Z zZ*By2O;^q7T?F@pF|4$Jx+e;vJNt?h+JHuwOgquq575f_U!iqRPyzi<u?9eS<<t|O z^#}(!{H63qM8=1MTZsFtg9o4PEMrL&r4}<gWPBxSb?JS2Mlo2w_fY~EZgMq-a2MEt z80FnBmIs3lpk~ZrxnwuX7Mmi324Rt(myY6@O^zG<OHGkj*T&dH$*D_Eubi<O=FNNM zp+0SEb63sGydhOL@i(j`Ei@*88&l&f)}F`9=3OT%jSz-&n%uBr0@-pQP%wj1FJTA< zJk~Xiv^0=TN%309S5q>X%>U82=AMzD6qaWa-Lrc7$o<`kKc&H4P|Q}#mLo@<D@nk2 zJKqYu7n%U9ws2SHsuk7+vwk&MJ4r5Hy!e~46wx9XypkVbD@`SqQB}3ur-a9%;>+52 z;X6$?TY~)bn72j04hLfDV#F{0!>`EN%!#eLTx@;7lxAqm(#CB=9^VTCI~_4H4}mF_ ze8eNDvAazzwFWL%1~_p@;-E>jgeF<jJz*=<D5O?Vv=>gb>V~7kB*jQM(~N``-Q4Mp zr)K5RP%0Sdlra`n6M!=sD%=M9uHztVp_n&lh`f{D?708-@KS)`k0~#PS*p41*p<|u zYn>+HE?DQtrB0s<03{Fq+1b~+P^QDFOzSJPq(?8?B3tiS^Mu%!>XwG~6f4t~z@Gtt z*9}**U5+z}qWNrwQX3tbv<RrAD4{PGORV3W_o2^Xv0nTw>uZ=bO&f*PrFod5NSkB$ zt41<VOSDHjd@u99VGLo^zd#R6Rkn9AI;q(lI|&fN`a!eei{`ftX;<U(pKIUXk=`M^ zR8C4Z>DfIR!1wN-YovW7NK|h0Ijix4?PivELV5w>NgR{#T)9I-)9dI!yLJ1xZ)_LH zOtN77fR9CA6(l!k5~$k^iao@tds+bWP^t?$S=RMy2EFjpU<INc_otOg*Fsk@ZD1|f z&j?A|=H#^IH{R^!g@shEC8X3hJI^k@NB@mOt^PE7_4fT!DCal&{I(fxx`p?2%00U{ zmoJs8eO_<&%QKe3^YSTr!uGN<1%yiA|3Z^f8@vQOx`WaMryt!{ro;N;&E=2BuWo-% zkL^2|oPnFW*)Bz;G=dM_ik$YPJERHwrd<2`bwY!q^~N>EpT|SL$a7Y2X)F-<RF`Q= zyw!Th9L7U&AKkv4Bu)MAe2;e$<?XRg4w#iGD2ycCSzQ)gv-tUsZ_7t%+jLGCdY$@c zddV$xX?(sXPZTw?(A+-0ak$i&TbLGJ^&M#;#v>_a{&wXsXZhmW`vPy@JGP3v)>?0I z?9-W&2KiCg$*A<%+AH2UueG9#b#s`-j(ZtDdr6hZb%lbt=6i+wqLnwRk@j~huT}OM zb(l3Y3Vog&v#vXxJ5o$*50u=uqKxfd{JF+Ig6C(s*A-?qEA=^@Px9b_0l41y-v<6I zYX(8#!ATpdqW0<Uvoh9oy9t}0@2K4SsK{%eyP~Wfk*B7-KNR*pVP0-&_==;tLUO>o z$Y<VXWF?6p;B<&S+rJEdfpiSM(A}clD3mp~%rOC{Kx2jY3bE^RAAb9WGt~>LopSR3 zy*j%$bsqjn84MnVw)KZ6ce=q^9`1;x^dtW_m)y&p(Jye5Q#Dg}bp>hMz+)Z&6mKmp zuWl>XZ>O*DXoVkRkIWN6fo}Jy5DSNZn+h@4mEpPHZL;GY{BNEEm_W)>w5y&akZe-x z%YL_ST?TO+>DD_6dPObNE56N!<pZeMWNue>KP#Al)9Js@BF!`Wqy8><(|vsS+Jz2! zI1wTI&tIXj{;W?5_dF9kmO{nDzm4TMLUe`3(%yo7Lbe+98%1cFWAWDuDOIit?t2%v zNtY(D;J`9_ChhntWs4<HNu?NuZ6b=(Of~FP&zc$MMmO1I{QdiPsZ%?zoBgK^8;|9R z^$W9RrIY0M16B31^mpDCq5HB&6*ohJN$qr{LV&Y;aWv?a_8kb@-?4XQUvP&IPoMJa zsfM|>2CBc#TPVE@SUNjW0AIA3U)UBmZ>hLieUVIKU*oR8{*Lb58sWWlOMR0kp#&6* z5)|Fp38VcP>uuYplt~Y2?n~WTpO0NZjOBJec<C;bO1Zq;g2MGQCAr&zn?1aG>XX^l z=HDi>e~brKe*4Gw`e{&J<5{>301_b1J8b3kJLsK|-&k*O{iqkdoiv=GE`H%S*1}i3 zU}L>->Yl6&bxL?w6(jSx@-9>p$If{-b}rEmuAlDc_VDzr@f5^kLGmX~&1<o5!GH@D z=!i3`!*8ZvhBOC+>8!F78ROIe)Y@<#-V8s#TL~Kv6$RN}SBf$-d?nDCINSpT!qcRf z6^G%UUwNBKeT))g2if%wlm`l=R~?0`7qbPS*kC>w$QCWz<7*WEdDdlaA+5%&hEK+& zCI{Z!f1yU%WpahY;9)jZN+wcAg1PUXeN<KD<X~96EnWTP-|gFXQAiy{Gu{4$w%8NB z^SXVHOK6e}PzfZcOj@2+|Lu!ap3E`tkq3^&+gxsTdnz;?saH_iBR{5JdvY4F;n{60 z0Zo1uVK?K~=5St<5Up({Xp8NWa$RW2Slqu1%o7Z%?&_2X00MflJVa&;ibdDfo8k*6 zfA0Iw8W{WfsAcF;mSZ_G3qZVdrhiACpKJbvuu63`(=%owAU`sq^=m`L*JxXTv)#a2 z2NA)3cDBKrqBy{FQC-*kwv|cT>|S+cUFD%>`OFV2wEx{3@qgE!K|8jIvCOQm{>uUS zwRq;k59h*@dz3}tj*f1%?81%#rH%R7H4vMuHB~E)=QVZz0;D}Ge&m+jlIm~pVt7A5 zckjAGv#07oALwFldw*{FqP?vCZen(v{^5c`IoiggHt}TY&a(G>&PT@Kh6isc_eXBs z_m=+t{kAZ}>Y%bh>Ce3SaX0j+zDaHQ+q9ax1l(K^?p0HrbYJTK?oV+76;~_&X}sni za&0v^@2|4O7fpUmziY?lBu#+HH9u?2w#v$WH?<}H{O$H`e$#*Jy*5*I<5O>r)T4*W z!omUy|NHwdZv)1F<*w%ovs0IfI-b1Ycc<$Y(C1g-fj4QvT7IUZJiP~64%a+Dlpmts zZ&n#tA!p|+6OP}y!Q0QagOXjID=vKjT68%cuD<q;o{OICVwngaNO=4HZ#(Fy6O}>4 zO$~;%kB7a9nH^pay7}dfN0ug&W`VutUMEt_;QCx@P9kT;eMVtVhD8^(#`f}^#ssrz zx$JTCFU_N23P+cQ{YwdLD(B(d%^pk{q3QWWs(rgRBAQzpW|*%vD<lCImi&0NzTPAx zwBy!H)e^1ll%EE&32$L)w(1Si)h#<MqU{eD3Q5M}MQb9&I=q?QV#@o(m>HX1oE&+Q zhG=J`zL{Oc5Uc+B`MnD%R+)lF-H+d?`P3oF#ChM~L33?j1J%+O<F*J7PHj3rnR(Oz z>MbO%@Ipnt3e<Rxz2ETE_pkDKYdi|~oA8iJFq@L;b`Tm(=6&=|rssFuEv0LRt3BTq zqtD+vZMc~vL8oob@EYY*;bJ}3HF1+T9~Yu;T`3;lEFUQFYifZBh)_SWY0{O~%X}TF zz<8px<XT-A%RYGR=BFsbOm2TGW~q1av8#S3KEEZh4q<Su@;M-_cHlH6zU=DJFB`A* ztm(JEs&|j+hi_7~JK)fkv0e8))85B{uVUGxOK=Ld&##|~{JEwirf$nq=ZgesKQSx9 zD7Ms(YUsD)zvD*tl?8IlevX2-0tL#e-E4~o^E56Su5KaN4JIXqWBo1gHEu2v`#-r> z1r$z_?c!5=*Q5`VCqAbJGVlYRozFZ7_;c-z9;%;7(vjo&Q0ZE&lHlMlz&}=B;c9Oz zEYSwFo{4d_u&$@GVu>z2buq!{_XRla2Umcnt0FLpr4aK}SpLBD1?%t?J?bEZf!%`A zvpf1_VKWF+?&T18;ANFaAF81nWt>80%XmIg9BZSwW`4;zZ9VO74u0<-AhVUhTqCQy zltDfO8n-bQaZ6$KC6^|;l<d+l!r(vG{w~4jpZ`wd*M==+x`y(xQyqFhJlNrAUu*4K znCDNIe)|=?j}+9dWsAjgEe>bZ1ls51U;({P%ls%>C)@{Kv2Ehi{uT3>i%>ExToSFW zG&QT5Ktpp9>)*|;qswU;W&avn@7>KAXYsOP1@9P0pS;Br)B0zcd16?ypLIERj7ho- zBILxMSAhYR6NY~ZiHBhNcVR_ez7%k1<qoMdxBqBMp!L?VNBiw6JZWRuQJT-DhraUh zpWh;jXx9cQWsc>zj-_@zHUCi5`lV<IxI-s7;+D_w-y>X2-N{tx_ze8c-c*NuW1X?P zkgomf$R{TU_%TjF$NF#ah3OLd2$W3L5!Cy*;%5!I*X(|A3re{G%$Rw8G2*-GZDydD zk|BNRBc?CL_07Jb)-H-*nqaK}RB~5E-&OkFVH`k$u?4;=(afo&o5;luHi0GRW><OH z5AE5FfPI6^Wkrtf9T>X0#}G?<GB1+69I=vV=Omdf!;D7*Mjs=!e;p1z%&Nf|y+4^9 z-N^Fu8yhnI%?6#N>znpTuL8{v$GS|fVIzrP3^b~!^4ALIC_y)v(}ac=E>;660Ns-9 z`On*2wAn~}p+`1X!&zg>{7n^O?sBJg;|WC=Ur%vyyVj$k=QS;HF0`XYp6-*T$ipdl z>HbzT=fgp`O$6!U;p0(bG^7O!cuJtZQ!@Fg(X`PKpy~@2hgr{0d$cmEbIXw3J)x0Z zJxpQ}jC5wGyT527_9XU|H?<LrXV+{2Xy=q@Jt#538hp{!^yp+sQk1Q0TFXTtJ0^Dp zWIA{hKW4)P1r9e7w_wham>3Tu;gt7>vuAqn$DSdjeVVx7i3SCfD+L!-Y?zwmU*e~D z$Ff%^HQmI;cSt(TQTsmH9ITL=F}TuVkPgjgYODp6J7`AoGaLhd1?~jHpr*w-9FsuS zKpW-KXVPK)Gw|&6LWg1<7x8AdAe)BDhIIO9&$3mkAJ5**Ud$}U)DN!9{zMf@FREC5 ztNLCxqS_-R-jTm*A*OEpX$W)Y+**xJpfQ)mA2PY(adbXcwmDY<8_1+Lxrg%obx@?r z*=;TR0qHtkOk4M7=RV(c;CV(tWC8<x;LXLHz!W6#*x|0Onf1geX=tuZ={e=e+2Wib zO|Xb6bq&(Sey;6$>%%>$siA0Qg=<J4CJ?`DrB9dh)MeZ(gV-?;&^rHkWgNwq(?wrR zVs8RXu^r&DhZc?4KCnvreApqYwbN~VWlh86#;3$uuc?-21Jv7mAGOPT%<>#Q>2M-D z9h_gytKsiy3*mgTx=F3+Pkgdl+<fg_&K3KIIYpn(R3z!uj{mBmnov%D?zO0eGc}Jt z43z6{m7xEA@2PgKdo{7#a@**k!aD`7ER`1{;GwUtldsZITqs~)V7H?dqxpmKC_Foz z(aDg(@NMVCTnnPS=+`z&LmRd$PO`Vs%eqLG|EMO9;u4=jyoq*hO`pUJ;E}l^jRr+r zN0=l6*<~uJ5^wluaG1kZytmh~=HNDAPy6tUe(9D=*4x4i{b0q20QjA`xoz{=E)6H0 zn#%Ud(EyGR<C7l}%qNS)xtEiiyjM46;{w^v!z+(oiaYmQ|K#9m_y`!wu{m|p0P{Bu zoYbv{$adC?81!})vJ@60{Ddyvb%iiyjuXSZC_~R9ap~I4Si+~$#5``=Cn@bQg0wUG zjqKuNn99VJ5{uJf1AuG71G!8Lg5fM~c`QwojhHL8kXw`^LRlT!ksN;S2ZH;#A@gPr zq<)EQJ-ZZ!aGe_K9KYm}edkub82GM(^ygZP98>S3kxQM3Z7pfqJL9z5D;jT>fC%P! zcI28SLKY~Y;RT{6hs;q*<7r`Zu;Ahg64}Fj`aeIhI2FoxCr<|Fhass?^9p{bwH(fW z2bAJ~>B4k-BKF?3&TCQxNJq!W8qs7x7#MK6qWcQa?TI6`+&(Cq`<5r!LPg@8^Bz#b zV`gV+7W{Op$1n5?dsb+5Fr<Q<-p^EfL<qpchxO$f=UP?E^d(4b*76c(VP#$F$xA|{ z6x18xUREc}r$o-iYRO{FBA=Aq$`#Qzf?MGYFmD$tisfM;6B7VHLzx3L?n6iz{-Y23 z1D_#b04a}sSSc)}ulkCk140(d0=Z<H6U_?}67E0h1(Fb6j39Y-gCZfs0Cyx;jT`i2 z%(p-rZb8)|o5zLNk<}j3v<N;{f3HWbLHKWzAXQrYEa-lL;}?s$g=f`+XvAEP0*uGd z@nKG~78`yMT~rW!65yf2CpFKw24`>aqttiC22MduZpIBOrRN4cNTfeExee!o_*z$W zj}#a(#iKP*hN0(NsLe^!H04(dh2d|h&=kZVxlR$OM7T+YGn$e>P_E2K^UhPod+QC> zO?fPAgAhwT7N18U53Q1jD>9p3A%v+&+pS^F<17>aqW|0x(cIA{O_|W4Z8GT8`7S_w zEQQko8RYa#hZVPWHfb)@0-mM>3Y9fMOJ|{ztB0amp`qc$R!d?G0u`?5hfnXepXPRj zNjqH_<~RU`Wrq%j9`%@ZsVLh3WBs4Z;ew7Qa9GW>oYvWl9JH%XJkM*|nfHGU;e>%~ zLH~v*B*G7Q_*25CsCvMRUk(rQXLHi7Q^A1DCx!Wz%E{XP%6t3T^>WHdUwe=(@+)39 zT&GnG@T67=FV;<W5048Fp?k~et2n+VFBLX3Cs&{Ks<r;fdXGT@e`6%w>j(kdNx|u) z^`SwFlkMGj%5i}hD6}TOZY>8RXanoR#hv(kJ#F+)ZB0JgRhs@SFD;R0bsP=BNA+Pe zA>HG?S*a*%{X5#yc!MhQ_{&~sRf{?eSQrv;V1PtB53htr9l7z%9?Uy?c#+gJ;MJ4( z0E<^GRayO-qw;$y;$iDcMiyhcJ9UaiLU}15nGO%1>kI3Br-iPaKA&?+z-?TJ7~@<p zD=V7g+}csKQzm}$*;a$TQu!&OaO`4^jW`n*HZ0dU+BJ%M4(SSorC~Ku;M&()msWWi zHZ}Wftc7d05lwo5f%ma1hzn)hoa;wK98sMkrEiLHw|(Ytr*qUzF=(w6Cs?S0*7w5n zdU?6g!2O2mx_p++iDWv#3HgWVLW%7!D9s&1$_E<k(ftUg$BF#6@7X+$C$|K+*vYty zW3gsP*W=b4*I`CrvJXZ(6=zKIqw*Wfx5pxyR}8OH)uIUNAd@Z@jG4bf>^I6=ct*c0 z*}9i3K=~#7{+ki<<ul5V>BeAO=_OL0uBob6#6U-j#GnVQqoDp=i@$hEX7D3&g-5xU zDQtz?C9Xfxob`6BHl0EL7{>nC+GKx`wK6y%7uZJh2(J6-B<^vEBWP$2@TxLK^)-A@ zN#|4UA&UgNkX$+l*TJzyculFZL2!b-JsLg(_V+PPU3HB$V7`zk9_N<95ppbvmY#YE zLsTz;4in<YH;`JOy&qWK`P^MylwR@Q0>H@owa%$7l0$qyMl#f(c^xGwPth+YXvF&L zO!M9U#di}C+|4E5deQVIgUoI0SnAAW&8`>V^VLPgrY-+VkHeSwmIK`Y5BI5e2{PQt zvYJmm{<)^Pe3dlMP71S%A*|QRE((2fk_Qk}X{4wEWU<z5O_NT$?J+FJG&;JF#0GB0 zDhUcc;s@|WQ@j#UVadm`);iZ5FPLcMgsG$DhLMM$x8e@6)~|UTKcEu^bG#1<Zl~D; zroJ3xI^K*TcH#kjP;)_G%9$3)FiJjGix3nRM`mPj3A=T$6j{D>Zni`FY);K?6S=mR z_IU3%H3b(1mKRw3-e#9IRKqN1IyTk0Tr`~dHHD~lT38E$G8n}8?oWNGWJ2rY&k~ri zCfJ*C#q<y?q*(6t>B=rv!t}IQFZXJal*H(x$hPcwUzo7wy)s|SQ*l_HF`meGJ(Gk^ z=(cl8`d%_s9*x&w<mk|r%@-1%fU@|L<TAeK6<biPj8jfj-I5+`8|?8EpWEu~GtFss zDocpl*EFUxaNan4U0==g-62K!iRJ6ZaLR>w^rxV})J|nc0MC3H${bQFrY5fvD_6L} zXP=Ud6@0F9wP@yajOU}PgnYkhHjoDrW{8(I-PS{`wlDM>W+#Pmo?rm|(EXzMY!wR~ z<gpd@m|HLUIN>?Dwnc?)ZGnjWV8|poi{6|LN;9^Y*JtjAxz$Jyzb(?Ww;W;_FX%Qs z66Un4^hz(hOwb)d<3x0lMNMcC<cK%p9=2J{%^tQJ*|E!vyRjy?V_owUw4|4QH!IMT z_PA%^l$C+jZDUip3gk2g&h5*eJ$taV#Ok|GT?+qPd!?T0J1zEbd&TsFX<bXLm2;{1 zO025Vo?W$DTBD2S#i@j2{fj5?>OQA4Yg-vkPn+0yY2`HOW1KOqDr_3}lr+VleSBJ$ zc8LL3#piIx+kY-*Qw%eV>sXexCPd48hxQ-J6R07#WQrW(i;q98LyusnO`Y3p9A8P; z<qGNx`@roXs2f>yq7Zw|<-dLI(XYYO6VQs*EkH@|zh5$Fs0&t&Su@p6{?IqbU4jcN zF<Jc|dO+R5zRgYa%c6uy$pTkRps>oZoyn|8g7%8x54kjJCk{Y&NZ(drjrz1K4R#Qu z6eJb!8EwU=#Rv|ewePS_7F%N8-2{NM67tougRCdovi3-^+g8Z&l~|#yts6BZk6#p7 z@+&gk!9;(nD#Z$jG4TqD@jNj3xiy(17?E((oJkSJngNmovpRC6pyY~McJ!ZW>M90; zWjyZ>AI<)1#M0V@VvIXSF;Q4EAEd5!@sx{c@%axh(|QV8XI5^0tuNJ+ImL`vtFOAN z;gR$*#=cpXSTo)1koC)EfzzQmZBSHKZdz>fpw|az4a_Yu?W?RG8C-FMAcC%rpIi3Q zDj<cCNRdWg<9Pe|%Ut>0toYE4!QjHQ5O*<|ZK|b%cb~<(=+9_gS7~1&7!P*?jwiq> zqT0=9%mru`j`vNDby4|YQnv>`VRU=2d`kt|9(UZ#!Zxo0t$Cb~u<M0w%NY|y?kqlf z>S#r8?+Fp*K&M$R=!(74;@i1k%vm?-RWH{3@(n_>>_(wpI=(3(J8Mf><bX<=-o4KX zz}x}0jn=H_j;DPYUft(Hh(-x!8k4QVboF8n0@XzsvtCg?@u-$_DHCtTBtqj%y(f!d zW#VSEFsv1!RQzrLe{`20<O7EBFKT`n72W9zqdMqPgG*>Nc0HvqSFWUJi3pXpti!=a zUA~u*E-Z#RDNZTMpZa=>U8H7zXpUz>c_mwxccEgPNz(_PVryKq=v3e{{&<ci|Lhaj ztEDU><9G*lVXz4nn1bbgUVMRB$vGOL?^?T%?`RPRP0L(ObgrM)v%YC~o=Iw~G$9(V zqmllUibx@7!P9A!!q>G4Zz=$SmqP<>pMSluZyEcEM6PFG7A-=n#5H=@@kKutsVmmm z#*uHD9!duIeI0fwcBWVn3+Lvotmk@ey-bDupQ7{dXLEo1c+ctS&>B^>mD<FrJ<G3J zR8$ZWo7xh!SM1Z;BOJT-F(M*j?^$A$7)9*SCRWXgt>}63{0Dj6xnJMpdtIN;`yDNM zX8SMh@1!~tG~iPlS{wJiYdWeM6?FzqKtCWppFWd^+lzt9`F!%1FEeIvlCa+rdIKCe zESygx2fiZ$r3s}8c&9>s@(!u?(OS6Jz*YuIe6ZXSNi9KA=D8$aM&s@3)ih=(a<EAs z)R?~B!gSvR2GM~pq)YG5HKM9~E48Y&v+URY*W6JnGjF%w#A!OS9zU>w+IuMEST{}a zd`c*h{!pC8eB$QhGydb<?nuj=@COVe49@mOCDlWHyris-qY}L71<B286hEkxw9So; zUw%QNcNz%t;ED2T4b^z^-RG2>2a``=;4nlascX>a#7Qgrx!HRKCEqRjx#QFdPox91 zCV2Ulp6X6onZ~P&x&A_pN`xGa&+4M$9hV}g$_IF$B1ck{Q|3lTR~y0@cpHxU(3til zZz6p>)8n<KR~yJFGVwEbtP=lF$p~d|zgCG85SmaV(B|4#f*skQAv-B6mp4rcADeF> zuQ>;TRv*SuezSg;<qDvg8?>k7q;OIsC7b!>`e*t>f=7_>nOa}MjOdiv+wyXn!RX2( z6QfEJk3tgSojDTXx9vBkxeM0iox<_aYz#UeiktO1n(n=Co?fmBtYKMla{{Ny5Zct! z7f4%AcBi7?faj&)$Hn)+kZoW|rWv(k)|W3x4_!$E8hhs^*%z%7G`{ROcwgk$9p~Q_ zb@rzqRM<gw6WQN=JS@Ow0K}-XWVh%z4tSbra(J9!!xF{&AdwMV02tCdg!CgFg#J!j zd7Bh3-mK}aPJGk-PNyfA<-@1G=ZQ>OOwYAf<UA%@H1X>`H4prsd*>I^1Jg0uvRmND za|f{3nHPEj)<ix2&Js6fuHCKH7!4$;%*u<=aW-^9QY|q{9m)FYA*f73nFP}!d(QwQ z;b4Cj7C+mbpkaXb$KzLrjtYse&|k0Btw)11K<-Dy`GYm?E-xAeJl)pu_mlb3Uh6{V zU(2W@2RGJ#qH^jQ`9WY1N~QA<DYAI|Pl|+~l4u_#xzez_@QVA)@&WUPn(eQZyh*IM zIunEGy_>{@yc$qR21OQJDA|sS>uXOo*nJ+&^*aAqrBKG2#nxx_KNQjo%7;|d=G>IK zXT+-;<M{%#8S#$LbI8Zdu`(wS;iwovhqSwzBg<X{uNmGrs<(#Yc_yM2lq>`G=XJ%w z=TJb#BH2W5FC3k`k%57O!qA3^+Xk^-Qf0`YBFuK@GL!aOtn0>9v}MQ)225z+TI}Y_ z_1i>S7STYH94qxjD`8`>!^pl_O*)11ey@e9baqMqPZqykx<84#t;S>5m@?kd>hvg8 zVxoX?<bENa$%cVAit7pb)$O=EDn-rT8}U{Uffm6`MxNmYDIhN@RhZ|FlCSTul<`Bg zJ0Ow1cMa6&8^YjD7NmcI&QfN$cA<xfbV!6vVl5dGF~F?5nJS$#ZC<NXHIzN(Smjhi z@Cj;4_;XEcuG{D4p2vQiFVtQ49TUMsxiAmHo<8rJgS7pUNslSASv75<`xQorrONRi z?5p*;Pt*#LlFH1Eqf$+P5sJf1+}YBi%c2^F0U8%@*o=Kmgz0Mam0i9l%Wx1ro2l1e z@U5CnW)P-q#R816zyd3MtMlkqym&MK1YqXBXFwO1(j09%u_rp7A!hUuI{^fhNa!8T z^|D|C%XP^s^t<{<fyb*q+MlFv&jr%amG_0tyK^h#f>+;fZj^s}QXiz8lhy$<#u(oQ zb<wt0p5=Eh-HD^Bn7txrfF4z%_Lg~#oX9lyVQrX1xD-!@mj`5!t&?73pi@DSnr!Q~ zE_7_;d9)>8M~!gG!v^fisqS=A`K~=i0BetqH8a!3Nv*!b1Aq3a(|=@>h-vYKkxsj# z-8->Ld(Zx1P7osUHYXaH*>y3Nipf}seW^%wEDi0>@S0)a$S=<BlXv25*L$8Mq6q~8 z9w)Plidr0$!3Ik^Kt51)F!=Dd)vF{_EcK^^F|stpPcX;+LX0tPv`*P%XDVY?T<WYq zOK-jpvT+(b<$-$xNR3txygx~8sX3AMp%0rIx~80G^Z@r}Px@6#`UiMFy3wh>-~q?@ zst(u7)g5~hXe{1LGP~3~WETABFPt!pwHIU?EE$+8e8>tcC|RUdy^=W!IUfCg^nJRi z3@0x{4C6`{?sJ*(Ohv?JlDtg3jf?e!$6zj(HttEAHQI&jBrkK7acOp3s5Sf$ZScoO ztSzH%%h;>5{H5b7+uPfJ?(cW%qUU#39c`UbuC&Qy_R^-0n<i!tEc0~bc3%)g&8jz3 z%VJy-ozGX*-d}z20f~H`Db3L)QrHsMejOEmB)D+Qti7~L!_ttv<)mpym#`2EMB-4E z>{*@LryK0wp@C}=4=%9c{qF!y>{#j>PtQeI%cn?&WZ2b<qt-AEK_UR<W=@{e@hlmn zl}_#GbDJp~mwqs~56FCJD_C_ce&HeiZQq)eEV!CehHyT3h?B*~9nLRZ1nuvqt$}mr zY+D+;+hEnsv~xU*>GMN~v5l3|l78H8Uqr_VgdAG0Jm}jeFY|Wp78*h%lqUI06N&3x zBSdPIpMB0|Z%sRC9V4{DuFA8Y^6^_^X>Xxe*2~^y(_BipUcSBEt2<ft$Dx&oa4xeU zEu)P3_tOuxt6exCJHRFmMCW)64Y}kJ`xR88qv4CY=COwU+Wa|`oz$%FkJckuKD|3h zqJ|(PUxgJO{5r<tBK)})6NO4)p^_&AGoj3>aWSm~J&Z<_O9n+95|>Qh{U99+sw$(% z3|tZGo=DNW)GYA7uVPZn1_T)A*&KJG9B!OHQv&ZHK4g3^siQBNff*+b*M7w&L10Q$ zHLATBvHu;)^idlcq&@|~kX9h<+6Bxk-@f)dRDX6YLYc|@o#Tz((cS`1rN8ZNh_tHX zv(_ZObSqxryb{A&ro!ZtplIVGJb`XW%~-ylSDbopfQF}p^SRjYB0{3RFBhqf)YCs7 zmS(pfoE@|iqvkbRZRz6B;uEZqeU**8Tu#9@Q%G@rb9;VZO9KX)u?Bu_dmMjqekdEO z_WYNwi@N;9hh8g7vQ#XWJAQtzfp6r(SCMe^zJr%y-))_MKRmcCKhUXyizl_}FuY>7 z$l@>qru7q;?vrO!fb#9u4y1@a2}S+(DW~QX)1LN(@r{G<2`Ajb>Z*kv69EM?O>4}J zt2_3Pve3gUelv(s+G067m#J^vr>db#SKY~qj~tXbc(M*xwN!HY582<}#Hc8bA|PbZ zwK}B(UV`Xsj8XEaw|Vm2?1u8g3D%puPoP3sW^fbzo11UZJdJLBHKoEaC!O4%UDUkE z^olVTdUUzof@)8#xW%IC)P*Nv4?8t(;y+&-Bh8Yo0AFPC8x)6p?6*y0EMvx$e3*~k zK2-^dveuWnANt~^uu~c4=1<mtKqi<aLfgZhO3D$k-M$D-`|FKCrJv%~u_~7HucTS9 z5@ljsm8DzR_W#{tzDPL<r>Ii9?rdt3qpczFt)B7Hzxlic-zKw5^7Hn7{qkHM08VBx zs{)xPqLTac?w7_P+EY;<bE!o+ngJ;nc8!yJcn$Pi<bSvH8A`LK6zNjFCrf^}`Qy+y z@-WnNKxv+$<$0RU9#v}OAhV~f+i$LIm$}&%;Coutt{e;=GpRemFs#bkw8w0qW7XO3 zbR~Ryn>M%_2HY}isx1(IH<jgDy;4Os*t^P;&>l2taOmE&9QG_uwQxOfR-`%eJhgoI z&nEFGL0K^PQsE&DFzZ1^rDLO*BO>WB3M7rQymjbKHOGpYpvH8Ki?x#~W(rvKwaov! zHA?SGp1AY<Vn}99ox9gN%QqK-9(YjA(63QJ={D^*9CIW7p6K;v=E5^^`M<r(SIFDx z0Vs4y9QC?b=4N8n?1HCb0Jc`wk1oOv^T;XqZ}Hqbv#4o*DYj*Jb6^0=dAoaaT~J(u zU||<ro~L1lBT*}iN>^EWBhTy>Clm+zQm-Qyu{F1UKh!(biHkMQ%L(|2`yrwBqN?Eq zCcC}$t)OB`MKP_q42s*e1<HsO7q1-jP)dg9Pj*rRUe!I$9<niY*E)lrB>4t(sQ2Dg zPU(>!4kYbvLC01rc@?E3ZF4|fe#wtD>Bo5cWw_>rPApnUFE1zb4q4;Fq7fwvdHCwp z;U<d0-*3Tr(~a0a*$um=Gu?>Pv+N``5yJHGHbLhKhw=qY7`=g*k-phcjfHu&Y>nPa z7Jf$a&PB5dl8wurgrZF~pDzydu~gp(ypaGYX(N^fndIlWnPgu@TK<vot~JbnDb_64 zBr_Px0G26@Ha6LXM8T;r3+x`ed|A1uQD19t(*1e^6{?jE3Bn1qQzUTxPG2bWIaP1~ z&QqY=q4ZU`HK&B?>(02^R7v@Vi8=PEEUIzr#*PsO8&+Xzz^!6Sj;X}-fh()m_BZFo z^Sw|c2U~DzkH!mgB3vd#*1O*Jm?rP=#rwjNvx~Q=k;IRM2A|$NPb&b7<R(ea)U`%b zksCN<XMj}1<^2&!5YuL0_!x=jiSEBzn?DveR%5H;W-U9c?Icet<Uhp=`T9CiTNb*0 zIM1hDV=<^F$IHcboJ+b-AZ+ig-%IGIJq`YfQyMBN%5BH8O!?;9Z?TKE3Eu;vmI6D| z-&}XZ`G`1ABh?7v#km{DdC?CpLyEKK2$f>mDfRs!Djr^CGrCYbxweTHl$p6^Az4f= zY7$1CMzAf1%GM_DM9>e1kzW8FUzO_JE_mH9X(6VEDNkdjUm_P|e*dF%(4@)7`>vfS zTm7}X#i>YpYrD$PYTkP8TpE)n89W7sCRydyPoMPMR&tRd?Wn;LFxrKldJi)k&;)0S zcQ)~|fDPDnUsJ}a&WQRb<T(xY1;V4?JdfVb@YPPr*)qe+$C+DNv+;{}*3T>ou0x{! zS=fEtyRQG|$Wl@kR)F_a<r~NUiT#Xdu`gc(6-qZrIaBQyRi$8~fSZ{hE#u778DBBi zf{Ar;RvLTiL}Hon{EN(10tPUTaK5bO$l|{fQ`op;N+>lVqM(LWmCX47WhLD{>CB{E z-B2@6NqObP-&5n8vK-s($jJLA7o->id8k>M^7UNbpi`^C3S*l05j{06?C!Y=LTTx% zy8?(BF`3JlLAc6TPmoI1#y2<q7AAvdzq+`dijc&}wWrFfQZ(^a^KBrQrccx|#^>cq z1$f2We^ai}ztPlkX{JDknhBTMppJbT?BlfA*yxuKYXUL0asvYOp*w=}nsX*%gG^^* z!{efh4F*}#@QH;cwz9$&Z_}(f*Nss(hXR`K)U~ymN`aczTU!3#Gth>Nk_{-=%!{g7 zWXL2^6{|I}cWN8ktrm;7I7kihr<%5@<GY<5+r2A{0LwpOc(E57=>)fsGxPjC(<5Ag zuns<2{D8#{oaL51+c$|*Q|GfvJ3FT$r50L`7c6w;4~F(u_m9n`RzmMkuun<CPn<Fv z68tFFih4_!jn?h%_w@*BAfirbx!w?Ex!@p#0WzWY3RIR)d4=_diRwLbJuquy;NfOY zjoHp3eEYmPbtx=TE1HN82^7mIO*E1b;BiVA5le*4Iu?p-1-)j}eutbR`>fu>uSxfq z4%$uQZ1e}2;aY}%YlN#I7PK-kqXcyaG?jr068<TB6HfLlE4PmNel5)EXr3e;1me!( zeiUP@WncGo)CCOig90+vKA@sXfs_FQMkyDd7yQXIidjl<F2YTN88O*At@fe{Ho0hF zty4zTdg`a|2Is><T>c6O>~nh(v$^WU!JfN#pfwUSX;G1|F+tqO|Ksmopow?&WDU3g zcv4A*hdhu?X#`_H`GD3wqeielk6QKu&?w=0>&36P<c2+kdp!7{0RPip{?12xb9d55 zs%7Po78ju})LNKnweKz1d(DVKGSK1*lDqRGWxNL_-iHQ>w#;+=zNoCG!*je!azRP& z!_^(`XBQDD_*}%Iw$)PNK6G=T>0wBm9Ycr!)M+T=PN%y!BXWAV?@&_LroaP!F}oq~ zBSbt5PQB<$8yc5tGBaJ25M9E^`9u~px$S%kn{sGA%kxL>A^M))v*M&PL_PzP7wDec zfP?o;9daremN;m)QzZyAft%m}O7ijPUPvz0+@ePG;17)_O*I^$YMqA*lxiHwTFS7H zhhe_AoZv#zmwfssp?@wgI5Q?2wSBlf#%BYw$gOG^kCDF;XKDGX5p+1n6m^IIBs@7J zVrO#;`3eC*M3Q!W6n}hr^$yyCt2!4Z7GmQH+|9gNj##6f$rmoPN7c_Uedg})+RxLU zHz<9FLkuL?BrYLFQGEDt{>{ejl?G4rfKgr+A4<d+6KUd2t#1-h{cv@zuh*~E=!~sr z{Symd<<Wa51PM2zZVIQK_noyRES;0iFSF+6mZ;8+lK7b^RRkKj3jDQ*5NB3N-AYa^ z!&K_ZzkH#*tNozNft~1akkFoFm7bo7lKTEzV!~~ciOeyBNN0>5t!*21P-z|24}Uha zb|~u`Eiy%Z@Bqa%7{kDDza_o^pgx_OP|T5VoKm;l{CNJU3jWPhmHOw&FVphat}@-a zxiI|TK{Dh#>z(x*!vw=GOIX6VtmwP#uvfQ%>f=>QK326R)6l@gbgTG*<|R*v+x&0O zaqs!JPVXV_p$Z+?7;pSER>RH4Y+F?Cd~D*43C8tGsjoofsA5&Rv8JVB{WJBt@zBNL zkz=l9)`ycLvpe4y#nU!SKV`h(`}PHVZ|pcUv+YHhTcuygPpS9QWvk1zR+IX+Zi@^h zKfk{-KAS|JDpFaY8P-aZX9Sj#To`D?5N=@J4GO4k%Le`u|L>N2{Sj_zK>{L}&_~|c zR4P2$F!@N9sGKa9mNYwJ7>S4zwSTsKY*QeAh#ADGgibXz8hNjr%*~um%azn##Emp! zft4A;38>go<-urC)v}GiF-f<VSl1Q<mx@s8zV3&%>iu=1OPbS1=Q`u4`vL-=%_<G# z_UQ*`gl@Mv^HTroVeMz~qF!KqjY3ncFoFR!!puT@X|Rr#>iB%y`6lnnJVe{8ds@b4 z8Bl<}qQdslqCj4>5&${eDr%tu-$UpiyG6Da6*7H2x|xW=v!|a-_p;pGIpo~EX)?Lb z_w31JnE4;MFS!&!k7@owvT5RztL+|`+CtMX5>KoZvSqBUabKhIQJlU<3oGalLG(_( z^yk)5!gG{``EU9dNY)G(XCse>7Y>$`uf?1lP|a;1AeHE86f18w0tkd1@!bE-i%>rO z;T~#0F1_1TzT?gXowDK7hLu95_TNmS;{Vj90?8OZ<2Z8cX}q5FZzn(a)G2Q+Vp0Q7 z^H4~G2YRMnA$@hM(=C3?%%UeRBKy?z4FDKhzAs_T#)+SgO|V=t{aQv9t1?X#-7#Pp z1QcAa-)fMXc}bqg*MR+8j2yIOmtXkJ2)E_*xE4E9`KeE-iRm=P?gSTh1^&CM(9J5c z=ouw9#`7xs?M$e-gImpuEVP4Dpxp1LEwdc={1t*jtNy$7HzMV8o1}Yk-<CPIQI?v! z%BOhZfEJY#j0I<8iUa@Md6nB_E((-)6IL>b+IVR#H1~`5<kjf0E&T;3#&RHS+`GrD z&yn%7leF0~R7{v~3}hDOf+`PjRggrCqczS#pPKtlpLyc|UIkjrzm6$=H-i7&`Y88% zEMk6+=P(69KY`zuY#<Sk3VnpPbJwb+W^T>F{u=`~`^evA?oF!7xN5&H4dAq3M>lm$ zCm2H!{*#)PQ@d~w7(CQT4uvG(^&!a`Pt`)jOi-*`3aaejd~~cwcD>j6<0R`h-6oCM zJ^VNC2zHqi7Q+=_?VuC!a2myqW_{rIRG#zIIrAkzRB3t>&1$?TqX-3T;146iG0 z&S6Lt@2NA0+dpWs4B>fvxht+or~OmgDA4nXtYASV>a3{3QmV+CJx0$3S-QGjbdvW` zDTSu!dnJgvz}UUgH5^bIX@dWgly4`dDT@~5Fxe(%!i_U^K>6vqzN6Rok}gacQ%y@h zU>*=FDk|rLA7m;W%@kXp1W$8`R1o}%`M^|Xt~<t8d#wM2vx~{%tK5ph$@Uzy*;IkD zy#3V@uYi6^vHb9tVOZAq3w1Y6e{aq==YfiRu6CpIjsoG4pByNcfps6xh+efftL$I{ z_WfdNpdE<tbO1az3Oy>&C58{96%KO7@cF7y1BTcHgoyEgX(`9d^V*V{2~bD6G19{O z44A()EPQ~`9VeD5fpnO$%jSt!u%=J`D8%E({`-=M;)aiMuUF`@;^mlDo9ea1mc-AQ ztg33nrz-ErIFMz<7mMa#Gebk{5bTmnsZj_3nClKM{ZP5Q#?~=ZK+L>EiS+4jpDTwO z#Pr#rwb>9;x*}uKRB~>``kHcx;vO7`BojHX69V~5?LAU8*Mb+{)j6(#hu@OBIaV)v zueC@hmf*nnCR=)4!I;7nUds*<RLp_i!h4QhRAXxlXVl|Tg6G`=mo6KPe#B1Uy+mpM z!|P8;PU2eI!^ASu-Il;~cin-N5S)Bv6ES7}!XgN29*vHruGfL+hTH=9Cyq=Jzyq5b zZYR@4kt?y6Ba&RxP~-!^l*Y>*n8wmW$W3vm6KTa^0IEUjm-2|(Wp564NvJ+a+!v!7 zv8#w<EJf9;%U1f_e@oVQ{NY;d`FrTeu@kP`r%v~VhE#qpR!xPJ-y<|E`p)a0{+IS{ z1XhkrW-bpQ>8*^NSM%+3M+3eiWnl1me(4zNr6-e@mF(Uev+Yxhe37ZaN;4;@ZxcXn zF&CYHfy#@JE_aBf8ZH*437e6b%HxyaIw%BspqrZ*K@uP~B~~=Pc);sR){oGl<bE@w zY8&6o{zN0V9ZLSY1&2W^9AH16P1@xMW|4IT3+!*UX6CTA>=Ow%8%7jor~Z2dX;A+5 zfavjbub?&}PDC#k!c6ZDuqM1}&w6vAMXF;9<<I8@W+G<%pX$(<`17p+vm{N5xo92S z07}8$D8TXoTrV}O=&<FCP)AYx;92U)d{JuB>erb(sC$C&sF7d)$J!k4>HV*zh1H6_ ze3UeeOC6JzU#*qJH@vS`4{XANL3X5Vdt8npV}w*TOhbu~0Y}=3dJF_WZ7yuYG$9?| zZE3!H%sxQ77VndALQ$%eMT}~zp0{iiNeVB0Jv%-F13NKbzsr(Ja5JA*nm^w%YID&O zsV>+yThyN`oV5Q=@$pkx>sF$Z0lm$V9wST1g3Z~1v9DyIlk2lWvA~w5D~llk8@px= zw3G5WK%8fG`#a3eZQKjL=1TUG|1n+!sMscNYj#r1-Cy4<Xm@ccYiS)RO#c>LE4p`_ zq{YpLcQOkX?RUxXXCtt_l0y}25Nj!T(r;AsXlr;E(BEgAKjW~jf~3N{ZC{(=W}5H3 z+~$z!x#rGqP0W;((|!&M@G;j>`&H14=CVKz8ddYQgtQ6f_y2v_Lf7rvS$S)RF?`~l zabb!OUzC-|F@PCEEValqJs8OhW<>f!0Z(>xRxtNLkI&r&sv{mCKJ?97)yNFm`*5v2 zE_8<`Yp`dLy*{<GUCSeSb)J7-tE<lc0jW{*S4lI*lZB~vfjX|qj;P=-O+V>|+|Kkw z_d@$e-2(rJxzFprED&NwH~N_B=fa55L^X_#TD521)=`meM@a@9yZzLfMy7T6t$~fe z&1s>NKAx+yTN_Lx4H(F;ajHjiVfc6?+DWC!xd6v;%FI#cw=D)N*gl&6m;{D)kba&L z=m1nD+3D}k9zT&yvuMdnDM?9T*G)bBXLv-ERhj-1>4zVrWrNB-@}~)IVg;iUYE)AD zuC_xQ*OWmJL026HB?xlIx}r%?)OTqmcxlJ$(njp5?QIZJiM&E9;5OO&5?~@?h-RP8 z48<2l7l?vnF%W!eWoXu{clwXw=>KoA6q!x$`wP0ow9b|0c!HlKn<SIx4Aa(c+TRWm zI0mFmTUR(zAK#J#F<Ss3;$6ElDH0~Qs`8b~MbOW0EsOeEu&p^%d~Y8v$nZ0yfDP~| z7{P9gj_%j?P0Lo`@GE9B_CdZbKUl{!mI9EdQl)9fS;uB>zV42ey3Bp?@9O@ze8z`= zrl{g?GiL=ks@jA^CW(w-<U8M8+JW<T+z%E#vvhR_u5!zlKq|XUHN~5gzi!mpnW09p zcxb;STas2tUsn(jffCdLRRtA;9wmCCfT9acV*)|+k?0-K3Pjcm;eqB{^&&6+Ne{`B zE3@j2wkycA8bxrqMr=Xtr=2IK)l!Ol0RC!Srj?UO5ZQdx7jjR3Flt3d+t6mIFyX8T zt=U=Gb|e`zJvBMCT!TKzvL$OUA$&8PWWI=z0c(iFnB#lN1eil{+^-l0W^w-9nka<p zRB2KoidKt5G|c(q*3EudNk~#~BQ*Fu;}7!43wt~;nWjmvLL!fb)_c(kw(3s&s;RaW z8=9sIDD^NDxGiOFQVM2P_M(I@QD1IW`0AC1hXQD1ze%X6E8Xof;!34i_Ici@u#FjQ zfSvMG?-W)=cLb*kK_z<R3rel@h1LR9<VAft<}dGFfhhF3*^4LXZi!XaZ>Lvx<C=|O zHf(imb{o1PS!5ayfvj0k8>N%2wscwSQesZjGsI<~yMg#elr5`Gmby=-Zrc?t=x+2K z3r3{HjN_V=o5)KLwV6t7$DfB!Rc2U4w6==%jYe>hx~gxB=tcUdDcogiS4v=hemU!c z#C$Mo1I0Y(se^bu8h}PY`ATD(@x8h)(MmO(9qFd^)6cqyrwosmSC<!uO1CGMw->A0 zV=%t{FQ!&kmgZl1{7REMJ3A&g{FP=o?9K7zAWvd`E;fEG_|gNqOWw+Xg8OtN2s@@I z8>LPUDP~b+GL+dkGZ;|F-e!mf)Z#=#rq18b{k+uq_{oEJ^pL15bKSwIHfuiap7|BE z|NMfhffj3w{)n{T%2=_u7?F%H&w6T<By3a2vs$cr*^}hIn?n1ey^5o)_G^`=c>JW_ zx5r;{wQ-0RH!h}8HQBOeOrUQ_XsRj!12@g8$9onv^-r-yhP(H33$N9-g*#|fy`ZIo zKf;r|S}&%l(@83#Rx9Y8eVsq0X;)Mc+zn__o`!Qz`ik|;`|y;WGdQ&--PKS+s%cAR z0U(zB<VsUq9EzGHenkgTqe4L>9uP07i@`KMD-wXw*f>IE=U4PPOQ1?6JXf+qy?V-` zKdnqbA&bMhsa>_v`^BVaV<$9A;p;Gb|ET|;1}o{Bt-T@n0wsf|;vP)0xP**~cH`Ju zG%$rPBcHVeGq$&*x1bG>+uP@Ub8K~UwbNr-dJ2@x7p+E+He5JNNKeZ1t+np1U*2SL z>kfiOM3q(5!90wL@$$+w77|)G7EX5s;ttMVO`#e3{!2_>VD9G9TbRfFQ6Iok-+|dk z<tNWi_%$bFKOjBYtatFq&v<_n+cX*;v3F#gA#zOE8v(Fxcvy&?iq4HngK(anHejP- zkiT+ODac>6Z+WaQ-&QVLtt`WHbaOq!#sImvq&+2=JY-5-{b|JOxF9@F$`v$97x+i} zn`iVNx9rWx!fyA8G2a&QhiIaEO-!(+{@#ozrJ1D6d%{#pa<8Jr^EBN>@5FP@CxzVs z&cCacnS;K4$LIqo=~Pwok!Ef>^dhgKV9Ha=lXp_?CU|!uUANH9_lXZdj<S4HsLR6q zO$N)(56jm&4g!t_Tn~8ZheB<$H%}|b!XI&_3;;!(;)CRL49Hklgs`t0YGm4t^w&wD z8CE@(AJ4NnG0v7iN!q|9J>K}*h}m4p9u(0a;6L@J_Z#EoaeA+23I`{Xeg(#zx`|1^ z7iH2rTcAFufxMk(Z(3g3_a*8CJ^Ks$;YJb9C6<8s(5Kn;-knSD-yKsd$ISNEni&vE zBPhgt=-Xz%**|F;AsCQUlGlP|O{U@CD~3e8aVeWI3Ry+nYoFLLxT{QJ?vrNBx-F)Y zq&Q3j$597*>3cP?HjiemRqqVNo!GK3&%?91-v&H)%c>W+4gQBm^1eLM<w{X6j_`2* z<I(Wn?M-db?_X-Q#z)wU_$UoZBWYiyp+E(m-;_c6Ev($m<dU{DcO_wg#`O5~aak@} zfU};G8J9M|+py1`ckelYQ^nW|ufv4=RZV9DVM4;?U1;@H8dtd~{ti6<o4xkP{-vTr z_PlGo)4~V?W_9x=bGm!{8Zv4LNm*%_NAerg=8iM0MmWcIJYLdbj|mW!i~l7-`>?F5 zbTfmmtx}U^v!F(p!*`qDeCav0)L29g)g6-V->66Bd#zJ2@1RVQqi)8<DgE!HYx_-+ z76`P~yKTc{j$~fb==;D%bZiuaqYlZcw6`<Ifh%kFU39BOMCuadZd7>Xg1N-~^W0wr zeOwHa1)J^d2{%TlFjLndHSAFaTqV0-ME6K*G5vNMqLaA$faST2G&D^}ZAMweV%3_w z;CNAou;Y??NSsEq&obx%j%!zP+^6&ZfgB0NnL3Xe@+BpeDqAi5pI?kHqO!@g%b75{ z+D{KoDa`yJc~^s7<EZTasagMPvBSdF8S|z%ZO))w0=2TdBFB;yuqz~3`18?%rG9&e z`Fly5&6Pg&)6B&qTRobr*<VzNG5Q)<3$EVQ^uqj{o)m49=k&eO6FPS@UiUqa8+m^H zG8*yTpM9#-_Fk5ACV%D}1{q=a`CaXd*QpD*M}mum;n4;(^7G7DYmo6-0%}WT3MbS& zE34;AiePn<(f9SpE}Cyambt2+PR0Vco|k@-{Ff-y?%Msup}nP3FTR-SLu+9WY+Bdt zXeyylf9ia201#Uc;FD{g$s&a7EaPb|`tD-14hTdyta!{UW{kIg>cLH>9al;MJ!Weo zNw?+;=_3cpP{{&v#Ve-R8ns?22QUgT&Rj>$^r1mbw%ECUofqJ^(jCTScp=BM+>0P8 zRjhMPp3b}}F%jBenTXEQp7Pv?)UC^1eD)7s>MUL6lh#OLyuIs=v~mCoN_hl_=D5ba zG<f}^tS9Ua0w^iBHOx^TNL4^3S?W5j^4iNR9~9c!GSFg~VvFMki9@i2Gw*&AEI6vZ zU1@lvkOgMqw}?&v`|*NH&|s95^Y6eW%G0x!t2b`y{2f<{@j~ri<;Bv=;i*>3KfVeq zzCez}AS0-CtreTgM}4%DLsv1aG2>>d0;@X5_u>k9oI<q*GrW|O>B|+xYq+Qbf#)ZJ zDi;7_d>;x>SH31ZT1MX7n%JW{wSXgAXXuYTZ)neB5Q<7`Tn$QSu3ZUIHQ(TOyIj*O z9^tY>e<?0HcqT8X3D`i5r1~8mCILnY?$LlVHat=4FA!qix8j;S>GV;ESgQ-gDk}?# zp2U+Io53s7X@AQwMZNs(_SmQzzZ}V$_YzW)3mj9NYs|=u78uTAe&sK{=-<8+^pB8F zYt$8@l4gu85}Sa9vjwWDKafdkv&u9hqC{pf>`m;wy|Y!>^=An*rB|<dZ5O>s0S@Al zreq<-I3-TGUV!(&oO!q+GqA~`(Z1H!c--e&56N}MOlhu{42Kk`DK?u`d_7A`5$@$y zK5UL>P3)v2Nik?iWTj&{A+t?Atcc1%je9$*yjeTP(4-Z(3fGjYN;nd=ee_UKQPHBj zAxO0C!#+;HIX+^dQ1Fm|yjIFm;L^*ocO?_M3LltRRl~d3D!ot~e%yTOvp9Gf2<z>K znTqYq&oI{b8rm|D!k}g_=rtqxWZXw>H&)sgqvpX^^w_@86gk*_kw1~Hfcbl1;tyH{ zjv@(~@h9G&Mja~&e{D}^!1aGOMD(iq^&op5cLrU_{ZN;tI48@!c(oSsp;N=jq4LXO zO5Evxx9GIUVY0TJRBU)&46B|(amnY;JHTPTW`(b>9a;?J2sc#mZV|hSa!b_mOWMt9 zS*CbWXA65w-zHnGugShK1BZ!MLf6gCCj(cEx|^a<)uP5&5o+8Z*DHeAaeh?DGyVJX zd|T_0a#JoXE^T3HR3t9B-`@AVSX3rlN~UiL9apiV&8%Jner~djmh?P%E*-wX-^*)4 zo4zb`SEJLnMM;f2=+7Q5aAQZ0M$cB;wLf_7_x|d)*e?}EhO%$}tr_Wj_Yn;f-f+nJ zE9>66ldTt>8*^B5;co-N&*rWq0dh+~_uQ%NhX4BXw0*(YwQi?YbZUnCEqYz{&+FVe z{P(iQz4M>Kz6MVH!gaV&p$sD^8;GQ?u-JQ?^Ec|_`D>%5NnA0zRY{zymRB?RZ@Ir6 z8B;&By8QLw_+7Bc4*}d9;pBJI^#$5S(E!&JXoczcHc@km+4?PfyfNkRRqQXbMXk5Y zV29MQ)D~rMKuP!N%f&Zbe~LBdM)~>ZV$Ice%U7<#E8;L?-4Op0WN!1%<Ete7KZD*C zu9$|;X?~6|%A_vK0v1HuMy^NZKRfXQKw^o^Y$I+?Eo<$k5yd-pX^obis|n$WHRCt* zALqbA+Y34M4UJBCu}35GR{wBrvZ<OV=zi|2*7r3*AK=c87Ju4YMNw;ktJ7&cPGK4o zzozHq^eq$;B*szme-2o2<^LHdMoURgV~;_oMcOz4CC}$3{ZzurEP%V9$}MP%^doP+ zq(9%N#{T79@Y&@<D)RFwdo>K44s9;9J&Yh#8K@kXv=JE}HJ|;j5<~{|X#;D2-Yhd@ zAL96RI|Ktudi>F7stRmHV)b`V@n$$b#R}ScmS1^iaPQWhju^XlQ=$j-kM5n&A-2ya zBBa8C2x<w9V5~g6?-^Lyp!?q~)1@z$c|$ym`8v{4b%D$RjW0jCJ6)#!F957<LSKnS zC@<M`bKb9MuBo|J_TJ2v>Iio!0iHLl76pC}Rb4ZPS5!%wa46UFR|i(DzWNf-yd5OL z@t8*JQABny$l>t;#KC4j1(4QR^Ca_Un8Y--@>sx_<RS@~kY__H4T{PwHvYS4n&fw7 z*rIB%>Rxc(*ArvW+~Q4-!!8BsOD;?b8hZj#H<Sqb`Ko{Y@joP!=g;(jZ&|H%N+aHh zR>OXJHnWOIg&k$$8QkU={UtYZy~b!J;oK@8{LxzvH;evp?_;O%oh07S&V2xL3{>|P zr}wi<FOXvEJ;_N@9lxZy3v=9N`ka6H?g4cG%-FDL=~i;o5rUHn#CA99v~F{Ritx{u z*}YQu?^ec!7emGHZvI_?G@5nA0%cEO)X9IhV!s{ouE1_0Y=h?imuLL%Uq|<!dKcoa zH{0GX)z9u8%_M#aZSl73pMJ9w_jeY-;a-~3&xszJ8Lv{&VM$X@v7m6<f4WK%(x&#+ zZ;Ez8V=235A1Bqhf1I~4EmyRf74Sv9Wic00of0t$vLDwxf$|5c-sK8|8mB}1hpmqW zI?yiRT8=BLd1rIhjqktX;@91~O=|9pF3sgE2(&@++pLT`td<t6Yli7U`fcPdhOx~k zoUX4MN;mk({0CWAfB}wdeDPKJ(mbFg&5-X7pJprL+>cLI%(Uv<`3}tYp0s6~oUH_L zzo!_XRqCTw6gDQ<i05T%j%Y{JNO4(dmCe|Kg~-WI`U?TrWIY}pBluzR)g8kQ9a=-a zYWg=2@a6y5{GOc*%1u+p<H9!qb(`e6V^c&RO#Angq*`-R6-n5yI3n8G7rvgYP|y?G zN%L1AOUt7Y_eGkxGFKCtx8s*b_-9{yEFEN<pWN#3J)WN>*;w_A{#-vZ__Y@%`H-1| zD5_f_N3`OMau9T$POI1Z))5jg=dg5Q`J_Sm^=?5DKRz0-Q`<q$ztlT?U&Vb~`)d;( z+Ry>JhAv!M{I(7_Iu)K@kgE}tuxw84+Hi8y7SkyK0!9e0gSAstm^Su~nfZgvzr-sX zGLw&K9{*+7`;UiRwrY^CRa%WphXJmzX3n}xt%FHiO65HNUFpo=+!1IlJliJtsiWb5 zh<oZlRKUw8wyGnQ33}Bm@=?VCcibo2MO0hV?`esH^+jzKca}D;-RHuGkjD3v$Du~L ziUilPla&RLnwcz%{!ax@urgcp{~KOppSiyZ$txcm$y!$bpNv?E{P%<EuK#Xz**2pE z4ySeZa(k?qOedFqdgh)@q6mR4F4AHT>i#tBV51(jAc$caCv5#@xmt-Us!I6&a7S=+ zPt66NzmqWA$Q)e3y9*T-lovd>jdE`3+OPZC_c|dEJ)Tz3;iLXCdiY_7uv+wIsTj^T zMpl_T{Pm}E8}oZn=}|Rq-_R~2`$yN);aXq+dUGGI42E=wJY!xt{v-3Rlukv-y`+QN zY1p2zo{M`<_Xm6yT5!J&Jn(j}0|=7eRYX5?t+Cx!HFQF3_yjUV9(xZf3Omfi_SI}% z?zvgM9^?D>L8O<YNg5_8IWcwkASx7>Utd=xIG3kWPkogRL-*^-iews2j;T<gn(?!q zpqupKm6h`tb~f2(DG!*Fp9AHrlAJ!AD2a=e-qu;7QgFWI;98D;dVV?fZa6b>5m@xT zu(fO|zCI0odvRX2UBnb>US;qkeR+B3ytx_sSA=WOzYPJ+i5v3_qed%#WCn`euJw>< z*_Gb~_Zi1L9n)DbM(blFn`d0RHuGke+`@<Qvfha~z_d-ich%H+z&*3*Mm)-xk}`tO z0Qf^)U!h#XjIiU{L(}~kQW&=xPE7|54}Q_1w-MoLv-tKO?ZkMtpNt~+OMQdlrBXSV zO${HoY*jkcW>%WSHfA_+Vu3PN!>i-!`%U|}j$Ma&E9I0kh!_~n{;FU)<C}0}Qb{`S zxmDpRSN+ym<35|#V)&8!4QEOCs_iY01m24xlBj@4Qk@kXI!gr&m=yH5W|}WZ*ISSL z`SH#1{mUS@ab&}0;?}I_u%Z*XuWO?^cYY0>u~sZ7GM%wpU9#8+khF2$7HLn*YqZYr zIB~ah@U^&U`OQA&;Q!yP`+;#MPlNaVjhR)IfG#>6(>iXNwxk(9F%ogf*+8W7^M6!_ z31wMpS54(X8_t9NZOfgj?r?Yiw(JfnKtMvj=G$+uX$QbsBu$m%B_J5RT%%B&HuXDx z+_LVu?|<bO%6y?g!o4CJ?8{R04BJDZTh$paEJ+1s>J4Pw4f?O<7a{*^YS-JXcuLCR z9JBeg`IKewoz2<V@-UarFMqEKuBZ1+YN&?b^k{h}<3)R}W;7_D^@T-#OWH?p+Q%6H zY+Pl!-`;DgYWt;WzmKn0dq#nU<m5*6n$buhx9GTG0kI5+&>FV-O?9}zdX@s$=Jo|& z#3o)V->K<KiKGS(aNLoHdHA{dUi;MTqot>uwiNf9gjbjgf^BO;z_%(J%bSmj2kh^r zs^kbRX?(v?pP+pt=?k^C&WGq^Ok$ryg(glVqhc1RCLf%MxdNso6-zn+<%p2iHTzFW zR!v%qn6sg{z2jf=TrQ0$9lAJzbXsvj)W#h!ip?l8YI~3|$_`LSJ^K6|97_c{r3MSt zyD0hx@s&34^zu@SRyizq<)nQR6GVEdDJCZK&7rv=vp-^?B{{|8!=hfg&#^#^E_-Rp zYVXFSKCQZ~%47U@ic-S-Cy1E|#;JM-<*&yeC~Ab^Xb2yV%*3`?WY0?_Uh9(8Wyi&w zm2q#w0cKV;Qh0lAS=mu(J=tVy9lGdbVaBK$4&Sm|G%K_~nHafQqeM)@aofsWC{lc_ zFJ4ku2U%BHkP^k6?R6a?oDnL^`mm?VwBoO-0?yTqOaW?b?-w@S<SV^PP~+yQiR{}9 zHOeqS#bRS{3HY^bY7xt*0N}TOf18^sh$xIFdIxUMV&i?g*)XZzLI%)sdXzGxI37>L z2!qPG<x$q8I%a;QIj>j%`aoY-R}`isDmC@(_U}a&8$P7Cd~-v+BE>?jCGc>k`EcH5 z`}ih#Q?F&ZNx7O-OB6RcsD2M-E3WNK*n|*i6_XQB=Rw@VyWrBK(gc4K<@BVA)|pLT zDmFJ`$u#C4->n3=SdOG#QLWwYG`2m6MUIC{4EiG`#SGvxFpEu$v8A$@Pav>4JQ*F2 zq;*p1o<czMbr_5nP0Zr8;li`4JQR8)S^0ZgEOdH<A~Bd%^y56Ree57d?Kxmu&lMZ^ zuekd<TqOo49>@_>MX?krm1~(j9*hxb8QMtgwZj;lF=LF2g-|L$#pDBnTyPqd_Gbu^ zj)VykM0}dVk@!%fm<dYikR4^7BWGNS=0RN_neu55^jHoCK(O_(DLd7l5i8c<_KuZn z-q(!<@EK`20ThSf!9gPq$SI4iQgOyOw<J@xaSm>FE-$Lav+P$_mBqChouLJH`h^Xn zS<W_BLzE;q5PXq|5(p7{6Z;*be8^2%b|Y3_cud*cV0BU>A&)9J6<E~yy2Tc{bj9sg zATFtnL~(q2kYSf?SEmGPxfg}kM!+gCZ9|JM?Oj_enm95rlhI}`y@Rbg=*)9T7SsA2 zwNq98oYtB!i`lWJKRgADVJ*JPOYuMp{m>6JdxbQ(cP+-DQhT`39*4w2ZZnRijC{AL z%%HF9XI{~7)!t_Ulf5@v8l%(DBE$}l<rbIqwimQv;R0FK0Jci=05O^@r;A_gNcd?5 z32vXM@=qaz>PDe}k+hIND58_A*pxx@$(H4=TzYt_w~JG`#ia$bsC+n(dKzY4S&j*I zRn2!=DoGS)ecMAnUloti32=&E>(X6!&I`txe($s!FksEvyx@>`IgKY>y84vYJb)Aj z?w4&C4K1LQt|pV7SOCv@&T68qXfihPA$>}F+7G1=07&KRfVgRWK}6u6rQ8;B)FDFG zG!g`t$>P<ofsGNEHW}y@ulY5YJ70c(Dy5%iJsB?M`rA3DVrjbu7O*Nl1$OR!Bk9k; zXDbBz((wozM=-ec?(oaif45XI*)GSQzf)$!)OcprSVe&*+lr?-LYd}-yquO1%(&V_ z=Cy8zMtRW0?e#)IZ(EvoJ~=Ky25cnZPa87$?_xTPv4h_+t@aL}=r_}uN)?1$??|gA zdsI;G_Q`l&^~KbXL38cwPY*SjMfxIl=E4?#j1K*cjB1{1{crY3!LC;G{mBB}?vGoH zCBs)=GG25RhCk$?3OgU6KauPbka-E!1*S9#H#_biIpXOiFdz()bH0ES7Yf1Gnu$*{ zrOx8Niw-K~Hi_7|nxJB;Q1HvJ`?LM41!zHwf`GIrCeQET7}8Hp1oV=(hZ3G+7qW&F z+TsvSYV?f#&3om)CwBMF#%A`ql{H>1^<!vTH3|B<mHL_1oO5j#WHfM<|KGE{NSL>J z?egFRK9ozfU1pF#nW8O1|Ngs_?<A^o8A!cIDS1O((kGr8JfC>pCh>M!1P3lR&ih`U z|Jobz#TW%D=Vw;qNW`hk2!qO~a2Rq1O2fI7J5W!Tcztgz&po7%12>kOBXKcVebD#^ z8s-@o7Q{F9w5<8u&<2*BKKP+ZFwEH4-`mZ3vNe_p8FK@5tCDFO`l`xP9#fUth>Z)l zyaN}VZio{U#mbRUfxl0Za#2ZHQh_N=<d$)!Ar~$^ULO|9l6`F+oFC4QI=vOAOcuwY zUp*DIhb(V9{BWq9|LI(Ec;LTlq4p_wGFl~*fB*4?i{^#kVT)Dn9C_&PP8T=N5U*96 z)HRKmm!ZrhmIFSu%W%Vsw2-1FW;eNSxbJm$w{*q)(y;_j&_34Lqz*$a@=iJ_vdKrH zj-iSLUq^f{uYmMHHUMQC{{%c)@G4g_uM$go9Q8fJRcW|So*$5cUO9~TI`O&t&(T#_ z?qT-Xs`N|yRonaxPw5e#_fQVTEGbTH#K>h{K`?Q9s=x{=R0fAOb6eGVCqx)rg#RSf z^cmcT|K^#V?h7d7JjVH3b}-zzhIV|?N5j3TnaKA`BRx}v%(|9F4c0ajpw20W)?7kR zD^z1ZDSt_N)H{VW5tG#K3~_-bQOpuRI9SWb_8=mvz+z1IO8I!uEY8Hp*W03I=URvp z@WsokIFnix_d;07m{|$g#wBya@X(1+vrrsHNi00e9aar!ZIcx(dUOPg;!7HgF1FMq zMc$y?YjnbSL&8*za>`sGhPs~K46%I4RDegVUu)J8c_$1AiI;MWlj)nVHWLOTEgI1u z&gP3;*v91x<drasR;LaV%%VzHl?rG1%bm-WbKCtcC$O(chZH;{hSvm5LpIqR_BGD1 zz-tzAKf<zEfI&E5Dsn>!ixQ*+4k|m(ZM9N#`eF_V*RZZMkx)g2Y=3eOJzQlF2`8Yx zxqbcbmV?`)i}1b`md)|;C6iW5qy{vf(_C)i*|L^x^&vIP1uL>!%ca@_m6u3rRKneR z4+SMlJ5ut%Vj;U>G!W#QSn=PjFi>84G0l~!Wsa~EzO|vh`ca>~*hZ^|(3c(W2_glt z+#yg*J(tVH?tLf_aS((2YTVLH!yDu7SEgr(j`v6?0!`Cw<zNx4r`V+xy@A}=ICUXJ z`ar4<EDW{c7S3OIK+tDpIXmO1i9PMmZ~u$K#Pfan%FAj*@P0Lt@RCcEeqmALq^7T@ zSlcKn`DGr3&WZ)5M;DKaAC<X$H^X)%I(>Gb(ulGqKSfN|C_cD&YmW#{1$QY5ltiS5 z3;+HaI@|Pi_fG0G)j3+N&hB|81n8ExfBtFiG&^#%{(6Wm3SrR-o9P`Odzn{5;<EVZ zEEkSOs7L~@vnvCh;gG*<gedOWF(*&;djH@(-2eIU!0*bI6Ol|XSD=*1Xpt@HoGkyR zuf74bhQE+;Yg-&Kv0M+yK~9{;+{3HYJR7j9PiDmfO=REtj!K(Q<eZO|C3zUM(JE)3 z6r&ObO{&_~A`3jR)qX2NrTS8TQ_*T;$zv4`i0OgcARF_P?+JcK`RS~w_Rky0od?RZ zs&^}lqPh7>bBC_(-O09Z+uh2L`PI6Jr2`kJy%mfb2y+<kl)?>vkKl6swMsp&y;k6g z&|lC}e{{S@$#f%OMbjz4UB7>u?yQszDJ9Q&H7#ZZq!jJd#;dviYE~5~O(aO4Y-P28 zAN8A}jnfLaw1BDQl>om?l{6eEsjMprA}_GrH<=$)9WFsSXCYtc^(V8B`6P>s2xd7i zl;0K@!qdeKI4iwXf0;69&rFL~%~Vl(|Kj~ffszhW5;h(q+D43R?46~4MK7*2FAUaR zu%6}AQ8I@8Ys{A|SF0N$U^T7*zvNNKDb2$Hf6vD{m?gYtxtg25I1kLSr+L8Rk<fY` z#cE9f(f#MxMy@l*TrUKzCy4=}0CHhT=sjUTS|nPzveBx%pfNH7CHHT{zn45Qt=Ey; zdiYK)Jo{V0Op;Jflkc*Eloa*UQDxSl6Mrihg%1&T{xiuZhg4yR6CtZN>GwTH>FO4} zy{P%k_^`FHf2ta{-vrgmaql!~FKl`e{C4&{5Il0unr)~HQ^<1(luKbL2n>}m)N*>P zSz&r<nbaDqhNcCXgF6Nw=%{3c`rI=(idNGPGq;X>U2>CAYG9IIGfG}c*O;QeN8;wd z8sEwLy52iksKJ;`@_vH0K)sa@m4KvRfo7He;O=W?2_A!@b*G|?Ghm=cUWrX;!Hv!o z3@qF9+#>V(emCD-r@s4H#C<r+2lLG$ePWfy^u7o5PJ%w*q}SKOVf59o`Q3<QsstpO z*2#&+G^G&>HNgz#ue_Nm(rD1f{@5!e1WbL?^1X@_$Hiizk-?1RBw#c^UuR*alqv?9 zjs{u$W8@79;zUCO%hrqfeli!4CNA_EHJEnNR$z=nB|D1S^350)j9nExdr@o&?<HX~ zcg44}NwlC546IM43VZ9@6upMdvND7Z3ONq5)RnC0HQ3pSrM9eWeGp@lojyOuH5X2x z-l9&{!M3j4-n2%3r|BA(5J$BbFCkN&5WS8yCoB=uFks(I9*4aR6=qhsMI@^;iX(o+ zox9G7Yz=oy#Nx8s)pG<UwcLYzW)*e)A80SlzL5E*$C_#-Q0?UGqGg8rJI%SJB{lCC zwX<oAi9eHvwKqW@vt@JCpNo!ER|8x4Kw_E3Q7){k95q@Bxa)6!ldWDqm#-VvV*r_< zJ|=}_iffrui}RXA2h197Ac&oY>#}2k@SUGP##!=iyI<<E^-5E8S7y@xQFI>uY%Xpe z?)h~nN^8&3+G5vM<y31$g#<yYqDGP$vDG@KwP%e)?P^3sgxXt6h}tz`ub8E_QZ0Jk zy#K@Vd7k^Z@9+1zQl8JwlMp_E3i28oitwL2?2m)p0GJG0*9?<-6VKe`Sk^`B7a=AB zjs<j)nv4qolwS@elQCJI78M1Ox*ogYs`@%M6!5wqyxyZK$0@m{T=fMW?0mqBu#zTo z#Fv*%5uCQSD<!APtBWP2jT-^T1#?{R!};E9yV~4IFDTijwXGJJmvZAO9&!5-dgRot z`*<4)bNDEyR$Ml(t;gry(9mkj%uBU5;O=Nt=#z}8(r##A2Uqdj>PN#0`>Yas%k;8{ z4s*AeEO+^VAg0O8g}LL4U{0F9Y=bT3sv02yD+ra8DB$NfJqtJKM_Su#Yw&YAYn`<@ zz&pViIL0QbH%mQtp+WJA7njOhXrO~5l6NR86TzQyIsX;5^?{K;urVymPPI1nx6Q83 z(6zAD5Ru1Tck3X(n)Y#-tJ1E>GH_Noq+&CsgfKAY;tI_xnQyM*Pt40hjSbnJ_X%>H zHA?>ZLbmL6H}9mCFXOCv>^NYY-<}HzvuTZjl#;DvO^v{(Kz3CAqrBpsUzwjMi>ik) zCynuGsR1@SCt)O?Zs;GuF;XCNYm?WB%$Gg47`F%+P^e2TdFSgu&fcJm2&Kc=R`RI# zyS8eE^D4&W!R#Jew;`i!9~IAPOvT+&DQ}T)TlhA0wl$vYG6$FJuaD|2lnhD8Sw2gX zS$RpkeR84W(S7E~MtA3JpHX82H*>T(tCIkqk0BIi`194Iip>ObI=GBW1U;K_TL`y^ zUp3<}s|slt-UpApl;v|d48r+`!HH*Ytj0;jO+}rKOylzMa!dMS9*L&%LvC5U;=5Rb zLt_-9;ncm~J=#_Bh0M&_cV(e!EqF6VJu4ZSwDUqcMwvsid>n177g#=?mqpL$7#waO zSGAvz*QYBVuJjgoOurn^>aR(@drL*5NRxP3RN(4g!E9Nbuh69dKr5>F+ISl91xmU> zOLfxZY$%BEKPFMjN#~wkk-a4S(r;dHFQ2Gj6xP9x?}XXNpt{UVwE)+4G$QhtG4)05 zggnEX-2LjNBee?DC52fFSYW&Q{JX2P3xfLL<B?4`Gd?*F%lW5T9^?cUo0sG_OZTS; z?Tr2LUDai*=B2)lwaRg>iR3A?!mQ_D2Yr>hH!=o~LM(?-X9-WF$<+KMDh+`4_?PGy zsMK^zhZP4jUrP@6WHynR3!AAF@q+xmj}n8brv!LqXyR(^!qDc{LlQSyLa>D);jQl$ zaMqz8(zbjbSmITM;d&*AA%DF(gaJvDo|Jk|7zeK*5Qi<k`Sx}QfY~pFlmm?~D^i-P zicPaNZ7nhO4q73vnnIVAvKH)FMOo-s8t84#MHVZoEh_^5kMEEInr4g2eo2kiyh#}6 z5JFh_vivc@Zt=;cSRxnSq!L?r<hqT9)1s_*Id!X#;>{X91_F2uQ(d9zHHh6AiM+bN zU&7ZR%!Tx7KhLC_X_=NUhP|GDm_5mlFd*HJV7fR;N|{T__2T>ahcC@)!nrN=&qFV@ z&&GZq?Y`8`U7PMC@tD2)?3ViX;jiaJeec9hv;T<>*xfqh+L}m#>!s+%>a5X_F!OqS z844s!{RKMH?rxL)UMcf+YZeO@S&%xHl(`i^&vIK+(|}qi&r~H_JP=&rW>q)q#P&5J zTfZjJxc<h3ypIIqY1lU!+B6^JFL;M?b<6MWzoUoj7(SO`wRhW=AGePQBM@AB{{>oQ zL0rgM_94;|o!@G6xDejU0b%RxWj48e-C~yJrZF;S8GBMbf#B_di>qYKy9V~pSA{NT z0t*=fX1pqjtLp@Oc2%YB$ol=SM78^E9Yk!4dn($l!dn6Yea!!|wA>lTI~Jb*wx&P} zV;W@9j_1w;O@gLgiC0>Qrr@E4@~SB1?iJOp6<;fuU!42|!4eX^bq?~J2(-^EorU*< z40Rdas7M!@oO=OHT~tH4XD7k*>DOheKXK;#(LXIiL*(m5F$4D6Wx>vA1rjcrfqaf7 z$V<4i@mR?`HWnWy$pv~ai30ZfWtCPD7jzw~*f;7{1?9rU9?aI5pQ5ENO*b?ugR&wT z0G6S?KQjID31J#NcpkA|BGfrAXpd-uLbx*Vo8q17*<ODyfgUl%FJla`HhY`NB{g3t zHZS@z`whg5-qXi+V+YI5NjeqpBg8i&%VI{VImo(Y$rLt@sbt^)WEKi*4b<9F9LH+0 zu=0Ell}wxlFh#S6!uC`AMsp~xf8xcy;*{*ujWDAVlW%79;eW<rHb<@`ef@GG*&6}} z-hUwVw8%B*rmmEXHUAIIJiHl)+8==TQE4Wu&j8q0+VV*Lw<lEjx&;S>81P`elnW8L zT`J7uFu<ZO@8b;gBT1{f-CnfZAbN&_o_+JWK+)1_pWqilJVxvSUKGiMG33&Ub=-RD zg5f@bFANU)u7UsFbIb6lV{oH$770+HF;IKRSpKSx5k2c7ZIM!vf1i%d%J9opU6;6= zmhp-D`jKyhmG&{`nZGVelaEUG`dK7=BkL?Jp5FLIB?Z3Ug7%u+PCx_@Xsi4dWLkR$ zQF^L;+W-R6;5aMZi#Bz}K1=UafpbDWsFu%`s*^o4B5I7h#XZTCl_%@M7>(`_{aIcD z70+u>09V2CS`l~3S}<Ap!s1dh^?ZJQ!)o9KO+<LCL@K+@MFhg~L4FluYU#>BlMR)k ztv&C2-THe@^7hJ<3<w9TCh=#`m$hM<8chN{e^pA>XAGFPHD$is^UC?(?4ViBsj-;t zK&M<S=dsY^jo5oC_uoNPtG6tOpb+cijpQw@fO(Oul6(hQ;AwRhcU71=b`4$_C|HWS zNvqCM%JN0LStAeA3x<A(ZH-(Da}dIqFm~!C35Qj+`uk1V!RJjYreVD6X41)9oT+ac z#@CFhI8)!GjBzvSoCZPEANkWDslplcQWm9C3e<&7Ca^J#NzSo<2^pCy<oF;Y4qPGe zpl!RSrx}t}ybGWJ*t-|mUlXBpU-w2)J+ja*YoULLrh5y)pWc-2Q}NW-&P*r<pOpj* z0WY{>9;!4R`G|Q~pv1CS#Cl%Lmt%w2KR>TlFF+XUSN)8%I`I(REMO3J(`<csOaP9U zIBtRj5<`*zSc6j5cJ%~oVkVZ}A+fC#=HTK_M^Va0tD*z;c_F7lLk7NQryepZBe%D} z;=|>lUvp1y>Wpv`R}`4&tCU|sH}nmvCuC_IweW0r2URBx2R$*R{zmRavze%*j`Sk^ zL1OZQ-!t@U?-{?QV-){r)jPK)L&4VTx%z+_dUnW_sk-<b5OfEql%ln5RyYQN{CDL= z$G=f^pLCZiMf#gWdk5#(@_gyqwvRLF0xr_j5&w!$0<cQHuU+nfRL=n}%)rlG7vcmd zsq;um9a>;O2u=C0G$NlK$PoR*ZE`o@OYxM-Cnoy^_?YMEKXxO;hW7Wcg{Rp;<8v^* zfO7#ay%j?>=;V?F)^~C=DmPq|qOHF?BH&z`-^%uGJv7!L4a48T!^25%{U%)=lH5=? zFH2Gf1Qq~;qO<G9XF7F%&QW|=o6NQz(;7shLvm9sa@I9t|A&!?E&~BeEq0|1*<KG~ zWgmsW@bzeIZ*I%)Ajqk2S8o9b>$p#22`0DviMcuh{~cM5QJS6YU5Q{iHm`0umMgT= zRXero^QxEQ>t3-#=H1-m6G><0@=KE~+Wi?jADVs^*Y!?EqThE9HJI7Gno%Sn`B!2x z+@R74(sJr={(fy<ic&GZ+6QjcQ2p-;|9@AEtFE45zx{V*h2r%&r@@P<x|A;7W-H{F zbyl`7;z=OMa^I%`EJ$&MS^-kyXiuQR_7){0&%3wk%(~l=uXZ%tu*B?xBSQUmeH#kS zlS}QKd_L~ZikU4K4Ccvjn712}FE}OXJS2t%=d|rV2=%>VeBdZ{=A5*uz|kgh_`g^m zGe*prhjl`AQ(Fyvm4^x~RsMe~RPE6(^Qz%*W5v+~=_wK*>#`)@1sm3ExF0U{+vIth z=x^Bw$u^Eu)07@ma2mBu_p`JAPN`;)L&mzGD%lnzsxstzwj+WO=CQk*LXuUV!0KzU z0YBv7kq<Gm>Zb)&r~jmG$RO>)@~ZtydxVHc!PD2gt8td~*6}yp=mUGbsXop1jx$O` zK*dG(@t}Xd2H-80e)|w1z2YQ5QfMH2V+x|bUdOYEn#zynqZX(vX|Hk(F=NljjQ@56 z`BH4D7G!5%RpN>uRuz^NLE=~8QPl)iGVvx-2^L9ZR83%w`9{9`>JJ5Sf&A<^<N#C) z2YibZ&+dk1AJ`+zA63ZVxAto0Dt<z1j8#ww>jTG%8hyA@h->1u&1U0~tMEqfcv^RG zYS-lQvqzz>A48tWbZ=OeO~t8dgG5rLTLPsY>XmGb5rEj!n&h$}iW11{3%v*a$*nh< zi@ph25#~HjzUBH3B_zs+ei4$d&s{DXciVzN(uq-P)B+#Z<MM5)w7p0cX^`wTq)}G; zeMkV*e)#RcBe_EmuERTe(k`%~y4Svvw98;p?O@XLifK`cj70<=k@0;|rHflf2=LO# zsZT9}M|b8(c9OEduS*lYd88k|8v3Gn;Z;rF6l)le6Qx0azr<0-OXxiF=oCJa?V4!# zSOBN&)`VYn+s@MOM=Sdrmb4D;9w-?~&=|(?S`;&w%~}ziX3g`dT0}elp{6FB)HoCc zf;jb)+H1rPdYt{MC`UDYk_kR_Nhv^+0@KR%5d8SAgc_#r-rvN#>uoVX6|ap%q0qF; zO`DfJUHLMX2-R(%65Wf9a49gBCeXuvqYy7uzORve7VF7d{{DXdT}f&SG>M~g8o4xr zY;FyR$MWm$L^<NKjUj$jj6EH;u7xb%6fRi_KvG5p9+JPxSMD>Z(4lTp0*iW~{q;MH znuYZ7*~kl<JBPmyoX=fui5osw&#m~X{VF+Q9isa86<3V1dMv*mxi_~Gz+_pVt}z_2 zpze)01gaMYhRn9%G-Y6FtrrTnX<16s_%uAQ!8#jSwoSEMwYwcnWJ+2H^{FNF@z2++ zm*JzMx#oNVLfmoXA>@^%#DG@5fTRNbT~!k=L-S7!HFjX6vs;77yVU}b*c(xDS^L*I zfUh0mN6@jPw83LpRlenQXo1#SqGQebt??9%o(8Pyb&y3aVyrcI+~Pz~$cdc)S2|tH zTzgB0&H6L6%UKbv#M(x5sRsCd*oI``9wFo%vLL2Jao1B5a-l{|9y!R`k@>Y9!L_D- z>?LV4dq*oW=i1|Yjg7I=-e8sky)-}<(f@&1o&oFVZ+n@3v+Nt2(mF6inzl1A+NI8N zA{Sg%-{N=-6TP4fH+gWFX;GZdFeOr8j6|h#JP|0vl|->33~8auL1;c>=Y?ix=|*6F zZpZLWYuxTnFd0QaY(i(Jf`i%YMjCAH-%x_X-I#xYGWw@mI+}8Dkn#-0r(HvEs$a6G z6BmEdVy^wMMKZ+LfGz7eR&HHW$9<>Zg9BqPv*`qR`RKnZWzB}S<8Tnt!}5AL$@r?I zvI3)i&Z#}$EE>Pxh97tXy?A#owe0ng4Zc0s!}(S)e-`w&o}-cyX|MtGQ$|L#DC@(! zc|c4&#-jpfYf6Ww@A^?#Yit7LQ_U||G7<a6#tt%~<KzuLBA7-4Xn2l0wG#{(wBBuf zbv(zJabgW;B)P&g4Zy8!8O8!i->mr~GT9<fF1x4ib|*g@auH2LDiA*#%{+mR`F(Q1 zVnK(!|FAugf{o?l_1M4_-!#N`7Q_+Z=jyiSGX1lSLpxLIWYWlkP?D^>h<ev(j~-L< zwziY@cS`<?HCil=e-drnR~|4S35C$pPYV_w3x3=MO|Go=AByKcl_)ti*Vhgf$S?`} z7vC8qQJ47R=?MFG7M~5nTf=Wv+}<_f429M8aDXw~NuH{qB94K-ZVo<sfcS153YTNw zi=3euCaRt(XmtI*owVDE#x$KXF%<GdSX)PuIf*=p?E`d>@6!3xsSg5PY*}R8BX-G` zM3g7*3zxQCKNv7Syzy4sZuxtG2@EMiOsGV!rAm8=zo<pluFnmo_qpPF1ICBe4fIT| z9d-Jz|LSm3^XUHAHDw#*Y!E<$vH4bMb<7q74@p}j7VO__9yf+=wpY%3|4KViCP&>q zl2@f&2*-!>b$2Z4I*^i5?c%yFp(H_&D9iPPz;BO7ZfmP?%xOXf9z}N$p*-Z3Ng<1* z?lbB^#dNrQ6Sbb%&g#%*zWbQDN<Ivp`*(O_bLx~j$GqJ8zt}flj6Q4lpnnJZRIAB9 zVWl>tyf*2x0pQM<Djo;|joH^U)@~qk0+TX)%nzeFjW+X{^H*vrnhg`_!$P>Dhzf?O zLn}a1PadyZ<J3-!OOsRAv8A&~x!0rlozgp)rs}sY?8@N{+>O7nTd$ALEx;{M6M;bZ z8peeAPPYJkGkeJ|DZi)GU~I(o<DI=*$m;j5q@I=HI6AfsKrBD_frA8FdKxUX`i>pE z{#h54sr%;aP3$-8{sR@IK*eb$YSz}W-_}%&_EWbv^cwT4=^RTGE?8<Z!>`W4xGpn` z`e*VCN%OL{EDZa;aW2H$<A$*HNR|3}u`3r%x`t^~xbK(gCZyf4m6Pz~+i-g@|A}2d z;YU25qZx*2EVpEp(IS8I0MEHo)JF2SsP5$(=8%oi=Hd;rm1=e=pPR8nTduRhLUIuS z-z{Fp$!?ur49oeIR7S9${w~eF+m>z*Kb<L%W7>um+GffOnh*H|O5Xac^`(DT!ngW1 z?H7!CsEPpM5LxhMwR|N`_c@2G_v?#WC9RM6&L$A+)7xlgEt~TF8Ljzg?I#&AxI=0T zP^mU$SDc5plX$#U#k^X?5n}fwOvd4H#mwO7d}-QWHkfT6MMgeS`qlml;7)@xUry>W z>rL&Z3P<i3jZgDd;2QKzfBI`9beL8B7%`ALi-<5|evz{Q7jzW8QO))mXTf?5AT>L0 zNu3j*nRPEd6l@#jJhpQm3^<G>5RH*?wVkCipLxkIJJ?!+Q(iPaq>%?WW13`-L`=BJ z{2f+bgydd!mEPBv8pG@RYfuWgBX?emw|I{QjrE((xfO4j#2#oy(8p`0vo=#}UQq4I zEp1mTN}U(v5GUn#K5GC;0U=MUQLwYuoEcA>Cgj8QA4MxEwv6w}?>fhsH;F%GL~=UX z#Xq^KbgXF=@XIQ`(#S<@y??vq$j&MeW#2d&_E63>AP@1=^rb_1xnGK=Md#Ok>6Q7+ z;*@T16{M0qsg(#gBJ4ij)|f3!oJuY%?;ROGt1=t^aE8+<pyT{g&TY$YpBbx4B(9ow zv~}EeIo0y(Vec#6db^h)gGBnsuNce$=-^&|yzQ~ef|M)bh&YVX=kFLjQk%HHudS-K zQ|w9kFiP;(D5@O)QvGh`Ku*x-cWZ2{c;jVSbf6T?clw#Y??DuABgC7pR30zu1|xYR zz{X^KKJksB+WoFMQ<D`C>H2UHVZp)9(UkBVmfA3G)?q&RVb(A)bc4KP<fhjBWsJhH zdy|N!>lh;hL4Z0*{jRz^0*nNoAgGNmDwfRx;R+rSbLYk~-%l6iQS0HK-uP`#px((o zVw$)gJ>VPqQhIz1kJxVGBv6>l$vBW|wn%bSpR`KB#go&lGxdY-wEd(=anNay^{Yt| zEkc1T%%CkoKPq%{=bpBf_4-sGZ$^&Z%Rm}Sp4+EO?#*sI^+>`n(>(Ge|0R#`CF22H zO6ZSHGr!b?hy(>!SlcRpy|_t^zn;9~=($4ZLwKt$_`t5)TXE&$&71pzAbE^6#-nNe zxZC?)jP_mr`lDnb3!pjDR;^554;|9QdEdg8l97>I|LnJdeFOFVf!XK%XeYLlOJt8D z?}5jgp}4p<KA~o{6zsxT5v)GjxS_Q<tldQ>32FMjvA_I<(y!OINgUp5Ysz>bG5y~a z-H>q_`sEEfllY@qUa1X0p-`$@LUDA!wq=NytCW7&5!%Qw!;0S@=4dQDwWKG^yV^Z( zxWd5VDzhSFowAbL`+#<#qZTML-X#mf0wzQgjlm%Zw1?K&EAuSt`m%LiT{q>nGxE9k znd7<Pp<zM*vOr7s&KYE!T+{Jy*h=UH9Y+SEe~RBWg^_I00X~eKsIt8CUl|mWAv^Qd z<k?Oy&UN8mbL2G6L;Hu_8iHyMN~GP+^7VmMl3L-5JAiRK-;u_|&#fc4j0yTNam(#b zj>p9#3`z&KYR5`TFb~8+Sgi<EL4mHIIy`t-1u+qn``Vun($AK<nQ@_T23ukaSBNx> ze;Hfwew*Hy@)7j{+<j<{d1$=n@i7xzINeibH@8#{n4UF$;J~gu0bnlLmj!9X%4=BP z8jcmwXj73fC}j`$)(^>Q{(u7p(67Oa{_=qgX1T`FU0#~P_dho?5zwnjR*HciL&D{? zN}c#^zVz~$(CHVJ=;}MC%HZMzJi@%FKDi9wi|F5c7jAG_SW($_H!7GmN3w7@7pjdw z2KvbVD_5BrKH$L)N7;z~^IGn~1pQvEO<?XEcF!JSK5TBkQMN*ZSph7Q0$mo_4A8~G z3!MPpWH@Z7*~xCH_(bCmH`YQj=2>g5w<?m%y^$O9%-;7WxnC(7-i6kbcjJfT`6U{w z{n|ZLPwZe12Om6ZftkH`B6Cje2Vrur4|3n=t{>cGdgu13DMU=?X`?#3$+g>Jp2?5@ z_enYiKs~I9;kC@e>by!PTUu(mV#iMSH`-RK0I*%s(h#-J|K)WpPyr9XBD%oVSrWt= zr<_kS?X)ag*=fgtUSQ?*2T91#I{y7+x~j$UQ-(v32?-_k#>T*QB@H?*He2OEki*v3 zcdLWaG1+}y$A*IGB3iQOlXvzbD#h_=Pwi(oD+AtmgY4Q^kz|M;7IvpioKYWUN-S$7 z+Bp>#C-l&&ZJITwa=SIPM(Jfoj7a`O75^v*m5<OcKow-sX&>v1I!~vX=Dr`p`5mjU zuq_Pi87wtju+jRJWWs+}>SA*|#DFBktYLimT9XX>;5hl^=v)pkK5c+0?dyY!NnSVw zt)=1#4zL2&es&dyaKeW)fgI%3)d7u?^&wDR116~ubAtL6fYNwo$~caTKb_VzoBc|G z5<yG>xSdst+fJFY5spg1>-CbFeLd<opZ?yYyN$a?V*cEkkef4_7(3bx7+_9VoC(-x z*|Jt|IM7x!4McgJ=5-S7Dk!#miyUEIoR}j+?YDove@ARKd-LO@*U#E?WM*m7fLdQN z4XydO$`6>~Wo7(i>8Jhs37>#o^1O0(IV#4sKlvcAy(FRlVZxXI`v0gUJKE^nm=YX- z6Z_??1yasuPg~I1>?SF|4tl!P)L-SzIn0uF3vjV{4DkV&T*z0_Ms^^syK!SnvcS1H z&a#O|Z4dT+=Wu2u`%r3Q)F!bh$vTN(JqzNjk^-7lSc+cDgd0<!=#!wZ$iBQ6D#Ue* zE^vz0B)Qzi8^$@G1q*P=T3#^jS1hXbMdQ9SFFf?4II$ahtP}|JT-6&@i7?pSZToVo z@f4E@_Xin=?rkV&Pw`vL*O>68F3NR@8U3B;@0ZOUxkb(gR=3rC?+AB;7VtO4nLfWv z0U23lP8BgjIlzAF`Ps)1R7UzA<FoHSf(d3?6-V~jd=Or#6~&NT&2U67AHBO)e^}E! zG9ziiUH$IWUID*(DG6W>Y^*~tkl<K{G_(4TlaR4hhp~#B`qrbw=SI1Dr$Li7hRDEE z3GOkDM=4!T1QV`~a3A0I{O`(>VlxhYaI9K^u8+V(A)u&+Xn^Blf_U}$x3HINYn%hp z!MXTdk+ss%i~BwH53}49ZYK?Vcjwe;?GyBV5>Ix4ulR*i{Co5-z3Xs#DNz-)GH{PY zJ~F~3<{6MY{J_#ZSk3A7USPY(Qg6^H|IdWFUBDx~FbD3tI#2D|-TS;q*w{rnvTscD zL-c^h%d}f|yKeIm&6b6Kk7|Rs0|}#~q!?RpG%mIijJ`REwgUQZ5S}d5{VJ9!Pp~MZ z?fXj!?K<9BsThBw*j#k`h0QlG(PaA2ki$g27h0U{tT>bZ;2Ze!WD4Nj%bu03DV!7A zV-q&J+mJj+mOJg)=dYrNh8LprqlV!aJtK12+#I_~RuA?^aGZIO+;a~731SRx<k>e7 zD(dXoqX~mv>0K1CwtY>%>am9GT|_zoO3zG|P1(S}L=6kPtb>+0UUjEHy4Ox>=y9{k z>{;c5eoyC+%yWfUMVscP@z2W$SKn#ayO53M7;RP|-X;_I0>hJ+ek8sDo|yI0Z>Gck zc>Ra+jbt6}4ys#kOu+fvz$0UKWT-dHB##mMmN``ZUX#h+|B?pcryj_J&Vij}`$=;a z9RGCDI;x>{&T-M4`@4k2@$kbnFZEFTt|tE*l-JD3{ud2p`s2=laaR2G%>Ncywe+A# zRWMVzUI%g1<x>5i%GitrqzRQ6r|(HdW+v8t0v5(~n&}$DHzYD#qKY`*Q#vz~A_~s< zVhii!N}e3yXzAm-vF(pUWZ##=o0!!}oHzUUb^Lvit#g>h2#WrwDW-T(D9i@QQoi+6 zy38P2T#O2^T*=Qg%QbDntL#RM{FtNDWM?j|8Q=N-iCVegmOOMw4MBwDOBnv!!EHW# z$cm8wQ(PThAxP5HR6rux>{ccjq}pD0S7R*b0**gp{>=ZwQE)7rYsE~!UNWw<m6}4z z=Z}j1k;YOY<x?MF20avP2vXjjYSeXqJ+kxFG)miAT+U0#VO)V?NU>kN3$b;$CGns& zA00&+#WSf?@n;~E{m}d>TSuj6NkBPFJd7CGhmQE`;sI@NPIlyQI$V}GhLcsP=^sti z{p*$>moeD>L>wCEe@hjSnb-qC3qHX~4O^}QfT)YA2_31bguKU2w`a~`DZTnsTiD(> z`P8h$EF@sT{qjdr1U;%)`)4t7Ol}tzVQ?B0w=@1{-$=%na7=9~63DfVL7-7*p4u+| zf9+ET7Py@xjNAs*U7`)ak$ZxvJ~L$$^DH}$ecLGde}R{l?(~_4$+=pJtPp$t!Q^I_ zIoWa(%b=AQCz>VB6etrGN<o#C9$cX1j;p$FCpH#xo=1|Zp7_8k{~m(h-K$?^E_ijQ zYDy2pJGaF>TXJ)|+mMa7tDT-9mn_aP6UQ1~rA%}^zRm5`Q?FRJX(yaO<fE8PPxWjB z9@<am>(fJA<;nP)pWMtcN?do`^So7M9DtG|E=|GmeRT3ygtnRhOMG`2z$Qlz;72d{ z2BI~4Ds9ijjr$YBhuH{-48kL)9@u^o{d0!Pvm3{I2IM_7x}VD8zJqv$zWf@i0#CB< zR>(UC?()N*S--{MiZM5X?3UHnHB&>ad892nwbDDs-xos)Mal_|fi54`VMQvg7Bee= z*+0X+F&a8Hwwmf2)G81c-Z2TsGaznk)wU@KKqzejbJqjK2O!wfYVhl@$4vt%<3C!L z?kw1E!(tX*w`E`^6zaVU3>unKH8Dm%=49+#0|Ui#JXcfnE2@VuN2~94!$UN*AH9sQ zb&)Z<eN$6UBVi&hAT#q#s!)nbdEaQ8^+S-dMT_Z=3Ly@jgj}@exvfD^w>3f2^35p+ zf^#n~&%6eV3a%U5+<124IhgB}6=aP6CcqIfunn`HI)XJ!DO?NsD48uXgxHm7nV;tk zetWEyANxDfO)tySAoj)wb3gRUN5K4yX!j*qNF7=~5()a+_GlAV^wpx|pw7~P$<o6I zfj0<rd-XOiD<b-N^QwomR5K8jypRi@J|G3nfe&wd6ggVFs=hA<UsL8&drMNZS!=mx z)cOq0tm6vkRuo7}vbdc%xKRbdX{cr49*)?3T7>17i!J=}VsLM)Pa8Sb?C-eW$Z7~V z_H89<s=k=>_UeahBqb(hH|5VkJ<3AtXvcHCUe_!t{FXwmZNmd^&&aW_JdIO_b~tO; zVG^YW*ZEkv-ii{1YiN}`g$f*ktWFLS-IhV!W^;OXKrE84{4+A6<?~{GHCOB+3%Pxg zapW_G9CwwaiS{h|wO<uf;TdMs+Sdd!)j}6A`DLyfJ8~n8e!uC2VXEXvF$K8f?8dh+ zo2_Ms1$|j1lNWE0So_&Np6T_3XJ8ng^ZmrX<j=Cwwj;T)S{Isc$dl3KW(?s%A|-eY zNdWsA&>|yCU?a6L2+~sL78IrGk^eXi+w*RJXV&Vzg@E97x=M=fNXoZ=Uk$<Cw0d81 zQ17xChmTEpvA%mRYg6WNm}IQTq{4bD-Ct())j9j;tHlJKJpa;de$_f_b}ie!TR*M& z(`Nj|#yTHOA3?tLaKO5*cU^XHNLpF}F2=}>yv|f<1NKhK51Brg3b6&Px~x3EOjM?Q zWtK&9QQDuzsopkw*FqOX%heGl?Y`ziNTDc0TnZ2^9vj1-K}?AjH!HLO>?JGynQ3x` zcd=!`yybVrn*a1oR8<6QNs=#L|K5{^slPNtt&s*(Q1@8(RZGT=rHmWAl)~}z8(m{D zn!s{GoHrfO2PBe!`4VVYou#0Mj^WNG5-;ze;69NNmAD#$<$E)DXwiRI|M3SZa*V_u zpkxJb-p1`pQ$m)I+E202difVr_e~J1ilo(%!zoK(8A1&TRkxlhdS0uzBtDa`AIQ~H zb5l-8AWZ46Mx-_S5c~#aaxbQB#u=Hm*h`HgKd;t+b&UC?@^x9#_#{E~#j5I%$bR$u z(qbNs@#2?Hpnf%oi<yyxnGWaduU&xYcdG}Q7^gI{t0+W;%G4ywggtqsG9Q8Fw{$N( zIJUqV11<7Ow=Fkdbg|)c6B{>MZ^=4{R}B4wv{HzCsKI2{PDP`8mNRy-F?T;ah<+j} z`m66A>nE@vlwlh3I~h5^z{Fh)y|bBEXD`ZQP*qRVpuivNcYQ$SE&lZW^S@XRi*u;O zAb^hGez}2BQr99`bsK*|-pKbf<l)r})3B_}7if#*wG`J%%?s5A&w0`{G--3|1t(zy zk9z8QeNB+3`c@RY<Be&o#xB(@`9@7+s#ThVONE9`9W}(_ch&-Q-b16&zz-fa-(*m7 z@Z<7}DYd*nY&;9gH><cajH*XXAXYY03D6KJXzBNXS!--OHXb8n^HSdo4*P%+iP?6h zN9XnRR6If~GSliT-#5mA(fmkc-s=|=?#BUNmNTKD*Yw}oZ<XH_`?pj{pYQxp9SUoD zPd5JZf~}s0=Wq<5i7=7WAQ5vj!b{8FFB$2)MQ|KX_H4;8mg<1(>+SUO_M68bn$Q6I zJ?(ep{%g^a8v5fgMw;hRPt1bT$6t+PSa}FpZFJD-KpkhZ4W}JEEuT!TvSzd7F3ry9 zkO*+h&!g=Q@ySU$8_D+ekK=*T-W9VZZmB#CjXWHtBGSS+u22A;U)Iu753LpWjndk^ zB5m@WOIpwJklx{`f2Jn7L|(a9%oUd+)nRk&Z!6p;FFjC9^9ui@(YL6%q7f_*_gNb| z?RJ1Fnk;1C$^ny?QCYRxP=1t!1p&gv`K=$Dp8;`t7J{`t%uZ~3{<8)1MwObMtLOPj zaiTbnqE!O@YQPlrV(#zE(4gPZ5K8(8fo^8C(+}JvD8L!gPnA<y!C6w!818NVV=+2K zoXZ{u$@u9E0<WhS8)(lTZ*C@9u1beY3w}zf{uSvUIL?sTW01-$LzgkQ8if9VqiNrl zx5`z%0kiP1QXcN|vQgUtSt|hVs{_nkYOd+pc8hgF<<9f=L+>Ql)kn(a9S0{E^d+|V z2^{6>RkGx`P4uAI#s6rQ4fqnX`Yup>^o1+;mS}Th#%N{#A8=2H-~o@o^F#VlFh%>t zA(JZNe2+`o<vuj1Tk8h^oL_<sHZVtvq0!@s8-MbbZ*xYzjpW$iGjPswg}d8&-EzFm ztd|PMKy0Sn0zJXyM}r*&FNGu-vzMi;16C7o23!D(D&Y!)eBTqm(VwiSPK7+n!=ejL z<Y~kk3e3F#J3upTb0%&@vei!1<<u?R+<N8nueMFNF1FLT6p@)X6v?OOxNQx?B|5>= z=WL5~xLb@qT<E5SxW<Kul5=Nxn7*bm{{>|uD4b?%QHds8T$)o5Z!5qGr<-)xk%>`j zV`yYf4yr2NQRGl4jG`mq0-ss|0Bs{V7){t-W3EaKpycxj&lN+$xy1?PmYYmg<*th9 z-TGs=o$qCnXsIZ_V0DyTnMcr58rt$#UQ0n9&(F9@|JR(X|2!97gQ++epbJh$zmYDH zpNiM5D~qwFrMsmq_^_>w#$d<xP-Oe_;kj_^^^QTz+qX8Z|0r^bDvELaO8BBF(ykQ( zdRpbaa7qoQ@3^*m3!tAK+TkKep<8nYjxqOT7TCCQC_lW$%GKr@mLuJ-ao>x*$CiKK z_erfGMIqtk>CCR5g+DZAa__rU>31_V#N!WoipLL9twqo0g-Y1FW0&t@uVnO=Robqs zWv<62k?I?k3h|bThp*}i+o72HF(mQ91=u|uo?ZR)wQ4S9<(}EiE~6ZsW1~=r9}e_4 zNDV^+mv3q`8+>o9vhE-r9I0h-iZpu(*wy^{;Y3(_^_1!0vGSKO6`2jZfWu#Z9sDo< z!|v@mz(pB@?2V1>D(`?@H#fJfRzPNWqO=#%ZuG|wr^@ID_T7SSah7**E!ZaWBJJuA zbveF~5Tj&tzqh2fLhW4R$z`BQv}V1jd}DC!j~eR5V*4%RQiAW<D?TAxS4Jl9&sloK z_f7YfU(oFsvF80u88(5aWSYQ2J#y!Fz(Z-8_`@>&euTWK+Ae;^#4NO(eZSSPU${>A zf=ggoVW*dtRK*!?b=Z(VBQlF;_MJnEnN7+}In9)3wt|e75EJ`~mg1E~TniJaPa}<9 zs=6w;a*b$J$LK&O<`R?EO<UD=E_VKyxq4(<ZNU4LzyYf&tEy7{$X_aL-UawbgAa3v z!87&cs0+dDbEfc+!`)Bhz(bFC?Z3(q*7QG>Fzd57SX0{WRlD|FWQg1@DKHKbW~ybE zBd*_=WR1KpBU9qX*U%$UoHQT<;{4|7tl8&4F((+V;h_1V50~`$)P9W3Rw9~Y?cFEd z&x=ZA5&BglCU!&h*!@j$VUMj6?S_8~mv)GqeNaV$BRm4!Q`duM%iN2GgxjvfBrDh5 zZhqaDbM3XNQ%;dr*o0Ik4jBlABKJ?AQ3;87YY@U)dO@bCVUubwU?*RdXI4|0bL5e# zZBgl<$P%TpFZ#4PbVo70RTGu10Zn9~sA`~-3mp~XN!!j_^4{K#MVrlax#r2%vTj@@ zC3B|u{aI#^x2+Czs>idhry!WV1Lnsk?z1+QizVPGqwVRaYP__Fj#z@jwEoA+znnR) zZiL#s*o;%^9m7jQ-fY&r+@Uj4qa1XJ1$CC5JzZdbf}2jz!oJGoi~?K@$2m5h9tbvV zh{T-vblur9@ASIcQYor0FRFhf<sa^Nj9V{Dof=yLgZCZl{>jR<*^`FG`PlWLu=d&7 zS2C>&9ZCC-l1x6PazO!pHy?ex`FYsjuP<9)U9V=ou{Ujgxc_Tws%lvWDOu}dCHCJH z&i}4B<xKr;?!^FKO>T7Vy*ek<J5`93yz6jcCqDQ4=z#@wDR7eB+=EJnWu?gv)$1LP z@Sf^?8ie2(>g!vl!kotUL<^3c>;fHwbe>$kkMb<wpjD=8BLl_|%G|NT{TzSL{+hN- zvWVifWyz8I1~%C*tB%mU)E6@<hnX|DkWcV(u!%KQ+NoyhNn(ctXO*-+d`L!oXvjOe z7WfA_f~@~#CqyrTB^8Qg_UK4H7)%q5@|ZD|X;V}3agRg%E9P=&E`>2o%I=rfSom!! z`$(1rV7bcs@UcUuo!!EMcU9QM2+#N0tnChKK2TPu0C1~wBKMOl%+ywF3D63<6rRvw zKZA<IT<xkZl5@4X^XmzGmhWwbZE{fv&xq`d1L@zM_+Baei~p`*`YLmms_-k$s?fS@ zwNn$c!Bk2WctLG0v%Lkek9|lA`@8XLg&^hi14X|%U*C!=x5|tj8p-<pleYX>Z1P53 zHCHIiSg!R?)TaL%rHm4s#ulSko;Aw8j}SJb_R9ikd14B0M$%3aCZ3<m%p3Hs+Z!1% zr8TLU{0~@w_a2QEMbt`3g(%NPQcxM6+I?j9r`F4>zpcHi`&O>KhZhq)?@<U02lW{{ zI8?T%{qU>LZrWO8jJXmPZQv4o<x5GAz!k-qmge<HSN`{!l%v0X5hnd!NsjK1dtEI4 zcO`U}Qul%6xxF`+)|R)Fy*4{%(t4MrF=j_3)HS8CLBgf`%8r9I^T($22Fxv16Df<< zYZvdVlK1c)NF;Ru8KGMxLQBGX821287mQVAw~#(j$5d{wHVqdFQ+P5jSG>3E7w|Ou zQ0rwuqFQ>&uf7UA)Wk&f!_>v6s$+S80x7Q}@8UelNfgQ=o*{0o7-N&+D*&jflc!1s zYiO<!WcCoeM2*Eu)gR-(-MKy<)S|qWu)(G~i>DJr`TWCt8d`(3_`s6YUqB@GW#hw^ zE9857zuEzTS=h*}C8tNEOGHRL!LKpUJ9R1Qf<-5SHI*`bP2k_Znpv%CwA*AOU9UXg z`{$+3)fa+|H=4_V`+32?o&MZ5O@TiSm-eAXfo7eo-8Nlt)1EW`GAoh&lWS^Xub$Pu z$r^reQ*e_&8IBNc*>8N(z!vbEatbxwnOvZE5~H}^H=I8kexRnHF}+iq#PQnt+8x71 zfPr5{$Vx4N)hSdV!)fwQ5rGP-C~6I;`}X5c&Xi5pllxbhJ}a&jy%S6?yy6=ow*Hav zO8E5g_eYDf5wit}#yF2Z5$*K;uks*0AfU@hrs>8C$y3+R&(FCNLQ$N!e{^01Wn9z0 z_F7=@zEb|$GTYC%ufC<i-}x{?rVa+6?V$yIf8A!sOAJ0CZ!+2QXaIzGo4A2c_l711 zB3HcUw)}rBQ+4j1Wq1E>S@68=dV3be)B33+#pkbZW#xFaT9f+MMfnmdChFO3fBlv~ z#X0VVbg?IkYf1sNNA0KDe>*f{BL<Hux>O}0Swvur5j8*p>y5}-mDp;(JAZ$#UV3cO zwDm$d^6r0EI$=>r1@?=ZhY_E41`a-T%LT6boavFmEe@}CXG^~j8(o_q$#0H_Yku%N zHu&w<QL54!q8c{P8o#d^W@oa?qEeq~;s5HBf(Zlv38KHPSkQ@zQvDdBuc{AH*#eb# z41psr|Llr`9{9heUs_Cv5kk5e7=E;%{QvUI2~bYdbnYP<-t#GNJUY}3$aH~z)Dk1p zq$gjKQG4NcfZxTR!_G|1Shb^W5KFZiyztwO_YNB01j;=sc|Etw-ZfQt@1T9LNTrIi z<H_8D6YSSfSq#R*Ewu%kX-enmdNVL5y~haghDWK|x8&osb?XUC?{b=!#dVP5cu=M2 z?I8#&qh`NScI;W+T~L7Qn?WTF_;`UW_4B~(xbA+sv9eG&ds=FQ4FJg&E8Y6qZHTeX zXa70nUmn%@<P(zE1j<uS-PKm`7nyI<s*2UQdm($UFwx-uSsC@{G=V1G!Sni_i}JK% zkAPNfZ;f7m$FN<-6Gj*(%7*_8F<h~3!lmna0(W*JNw?TfHw`yRw(7b`jeDylTC@r4 zC@1)94_mnj4%~KP`9gr=nZWpXE85<KIRV7^qP@gf$WV&%A?O^izkHiN<lOe~XWDpo z(H(7YWe5?PbN3`Ath;5gxN-^cfRZu5=?ZQ^CS9=A4A1wEJ^Bbp{h#5#2RRftrbC9@ z=F=S41<5U^!BiD9Nlby_!o;p*PJ+Y0jC51KZ>|6Ik8kEZhSC*V(v#hEYb@F*^28Br zHtXMycqJ~~Q_uGhw>Kk{D1I=M_K&tMF(la1@bF3)wPP%hGuMvAQHJkBE5F+=x?Apf zBkJi_flv&zxhZ9qt9eeff-OP?6(YzA{%5eJt-nyBohfpULBIe@UghF1oUCLJh%2fq z22`8aHsB#bBQqoD9>Xp|Y*kXX%g1*YEcPl$OTzVJ@)T~DFsvf2>9SQ12rL`(%a-FE zqc2EniA<?-FbHB6yQSqF^C&IH=XysTzpVOiXhD=tCTERF)Gb;RO{A&L0W!8B@UK_M zY-H+BD2E}6^M?Ch)ubHDPTDt@gSz%YR!$PXmG4K=j?}RM4$v_ivgC1+uh7oB5~_Ge zG^UsXgIhwFLI~8)lV~8d%oG&poIqr<YX1<h8jCh__I$ogp-So%sbH;v8Tn4i$B$$n zTKh@i`UGP?@}OIa*v-3pF8{>4V)X5r)$1r4V$DWED~dw4#gMlj)Cboz8dHXk=bu#Z zNuM*>PtXLYYi;($ywu$FIt74vKCK*8pT6y0$0b-LM=p~(Dn|=){jxIF+bbgTE<!$i z66Xmn_nP@p?WFJd_}6k%V>+!FJ|Sz(vLW)XAY0Lbruo)pkJ>Lycu;6E!~An)MrZf( zmdw{N#^o8r{)63~$9|N&q-eqRwatJfg?6!$@C{K0rt~_OQXEJ*@l9(|>#K>(Y<02q zNGR!Mr(cf-_Q&d})maX4+gB%@yAg#Q;wm_w-8P?RXiS`i%PNT55vA;Fa1HhB+j4$e zvTU;p+nD2)fk(wYW2iKioaa*R9AJXMgBTx|_ASeHN&aj!U|4$C+iYee*K%Gou%G(p zd*|N$!I~X!H*$#mhycbaRX_k>QyxgrQX)@PJ>l3vn3EU~;BMMw9kCY!K)-w{yRlVN zb{foIh%fb2AMrr>_U^bs8eh9LH8nD;<z`1(7%h`k8*&>3dZ??8`lpsncNQw{7%cHQ znlL+Y#QPdYo?6m)Zj{UPBP=%3<cuu6KKXsegcC7#QJ!um0FTf}FjJ8OLAp&vDI*sT zDdjF%;DQ9~GoKrM=RF6Gl~K8@#>$Er9>uF@Jbzxh#ZC0T_F&d#vArn?+%nGPd?fnG zSI0&C!AxyA9q%`J#p`Ho>WjzxV+%ID7V?TrUGWeo(bNJ5G2NBpcw^yZ;dMlDoC)}} za1eKG`9LH8QMiMwT)34kJg#enIPPRu^~MhedsC%WSH(vOXnwvm4#oks(>I`ra!l)D zZJFWH$jg`z%+X`PYC437rCWjRUBMT3+X>~HIk_RO9<r22p9-EIH06^SQ+lkhCy8&# zlcvDq4fEP0%e5utyzufZAkes7HuBRgt6N3d{cswJ_vKwlXjZY6CWH_jh=t`B!zx_1 zA+OgVM5zXXu{2O=?b*>tY9Yq~raEewdcc$9da$3S!{d<R1$sj=7469X$vsd$w;iOO z&7DFpiQrf6m9?1lJ~vLaL%)_p{R|C~+|H6RdC;GAbm4Z>ufP2|lL|rx00G*M0@=_D z6_|`9GjtI>1D5sN-~0aWUItWHe-l1NDaxkXxh8qcCfUti@O$T~r%RdT?{<5AK}ht6 zY5-0Pip<60hj@OBy!H|~Oc`25IL*!q!WE|iOy+9wA#uieCLOh&fh;_hJZiyjznyl4 zA(NU`wGs*!UdXYQ-Wj^}i7|KOC}AZ_F^w^PvjppyVUI3wgIpXU_WUwy*1*7#oSr$S zxd+-pflds7UtL3fXC@qw4pT>xl&hl6yquA~b>~F+Dm0ZfSyRU4E*whK=u-H3kmM^f zuqwy!IVe{@x#Pa6-nzF-{eM@Yfz%6SuT7`fwuYkFjqer{qhrI;JB2ITI}3)-56!gZ z82R->=qA8b)y{C$c*=?}Ra4}UQxoS%0@mAGQ$Kzrk0#?lkSv7}DKYe_jEbWb*+%f^ zBf65V{9XCG_<^hO#W9`FrTcnwo$PzH=~kdzERe+_d20Y;+5Q{6IIF`k-X>fzFT2R% zpzAcbQ<X6eJ5Wf_;jpuvJ<E_mUB2%nJ1UOKOVo|?+Bj-!xu;7I{R7<p^{!mY+^IHp z+SE<>BZ*QMaNSxtPWF~B<>5$h0>=vTZ+-1jhlJP+aJ{ZU!yssl=Aj;AeFxyI?ram1 z9Lc?0jwZaIv+@|7UHO}10fi2aSCO4PE<80=hB;km4MG=h6jBRC@Qy^JTc7Squ0+LZ zOJt8C=r|S~fG6hX9daq+6RUS!d*n}p@%peZ!gWeB{w%}6oQ@S8Qk$GGjZn)Jo>?5W zdVQd}JFC9gM4$aUhx2Q;t7Gp^kXJlXPXjG!21)@qV+)+T=Xq_6I**4$$-1zI_*_Z> z(>xXM9M$y7zu4lt%3Xdcms6y6Q%piKp{oXr?~^xboi#QP97|wnpNf<FF(*M?>WbtF z@y4|r{I(Avg_|BSoBvs8;IP@sg`$_8v=$?D4!r_z{s;@*uiB+GhU!!EgN}OW85+|r zK}L#pa88tmFUBNkglJj1o)F+GAA9wB92Ux2DI<_f5sxElfk?XWT}?@_!Nj`e<E6t$ zwbc&RWo<dZDDKUWXNkORK-@p%6;yvH#^W6{Mn7)gXuk0};H>S%Av?~&yaWrjH5CWu z`lSsnakm+>R3*3B(H?Phzhdb6#1M+=Ss4<x8^vsx8k!$r3zwi@WhEv8^I|4cp9K5( zN8#<}ww7k5{<j2er5lE~*`vxLuST%?X=CNSgfw>FY6<r*q(`xd>$cu@DMS;APJ_&7 z;@BW^@{|)XR=l&$OYNo-<I1<`nGvZz3*El`lDKinL}gZm6(80!j`)u{>}xYRV8?8Z z&HN`>ZBgtlI?Yn!^rd__x08ipFSXa*@;e1v9Nqa`=^c}Kp)y-iotxD!AvB#Xi^x_G zPU{f!biCGf6c?|u;J5dEw}o_?Rvx+~mK)e!`o0C4!!oYd$a*kzchI7#j{ES-leGOE zi_SGoC<kNbg;;IA3TI8zdXpAkki{D^v@1+YnP71@1vf~QM+9(gjibs5{k~-t8&OOL z3XD+|P5Hf7S4NV4Xsc1CC}S((wF$M)ps0NJ&|#+nT6uqnw$5#tZrQtZq3-iZHJl(+ z_q(MMPy;b-(_A*dK*{VOAP;c(9^IQEKgp+_vk#rlGEGO@9{PCjGrka5v-1=((fDBH zc_NK}H*ask^1*}y9UDcYRjA6=(v!u6EbYR!_uDQ<OBJ%Sc$M{=vndF+0tNSVmCGdX zDg4-ha>7G7OED-!cF%a5WF3yM9A4g1W3OUezc91|#NBLD6TYq2?g1sq(xXU-9&ofr z-0;Wxbtvgoly!_IHA`v)aNMmG_$Ljgo2Xh~(WApR8ae9asjVD=M>OWr!94*=^R_U1 z8GWSpu7Gw>wQB97j=4DIqqyI^7F`C>L^oc3_MYbQvqY-2F<>l!c0OPMAwtZPlEooK z%F(ZY;B}|Ff&)rJ$TeHt_<XaX4Q)+y1d{P}=Zkm0x$s$EQ_RXoPdSz9JZT4YN}!a` zUIrLF1d$j?ft=Ez`~zPj`ScI0+MH>v#(UbKq;D<t^%Enga?fmTxedD~ay@yCGpb2t zRiy9)p@&D4t2>!S?3!{VEVV0VtqCaJ@Jy~<NBYIM0B9a3q1JY&5kCyn&d<P_aDcL$ zWIt4~h8Y}!3zkl*{?XwL2{!4LP2!5992&B@X-vD;N(~5ioxS9CK)W0qWPdbX_HT;> zCxg2{4Y#?pejKtDLtE=#iU)rAgS#x!5&GVe*6kylBCs46Uva`!#{tj1n9A(KI&NW( zwoXT9dLx2Mmz-wj9cLaD7US)U>q74}(Erb0dOX!lJgoG3O*iWnngZKA-G1yw6BUS; zj<{zaiRAfe&IM_yDZE~wIHMjU<1~SqHJ@R4ihpD4vOL1w)R^L5kv=wjNCmjm%m+z6 zvT4g>$fC(S_nmk^)vJ&RyA>pJJFas@dZj%JP|l06u`Hv(Dax1E=uwQ?!-r0>o2JxA zK?euVS262YQe`6!Sye7k9ELnS+ia(1a+lt8M(<9Bg&{+pmREex6weU7*zD1C9Yhjn zS*{6|IykL~YTtnG&%dcNp$MQ>YsVcxk7l#Hhro=)e^;7A{CiSaz8usRrw#eq<Z~ga zlzh8s08qWGL(u<Gbl%Zy@Bbg~_jX#P_I7KFy=S@AqKS%15MmXzqW0dmYSg|(s94pA z2x3QUwTq&}s9hn{UbSlUmtX$RIXR#6$>+R3uh;YWcx;-+aeJpp<!fHqOvMOsC$etB zM@$}#QZ;7LQNb6stqoINE;XsjwHl5Vh@>!?Tr?-s6>3>2j!7z=`5p1EKp{%<=f9&0 zjB~ra`<P24riRg+-Rb%0cz-M)JvCzul}t+NXiSGBjuBf{M%&-du-m<{h!p50`vf;< ziWX^9_h_++h#BdPbvM^zK&__MujVox1tQtqo-R&x{KzllszPUV>F@`?+JM=Qze+NG zM#!vf4B+67EG#RY^78uoZ8+1H#M~9m^oPO)uXXBQ&79IY88XsxJ&LlAiE-3VcE-Ip z87o=Y*?i%X>12NBL3lL|gBf*DT2Fhfg+>bi1(GUmjy}o&82*^ktgoLAusE)Uu*@ju z8u$N!<PS0$^rwjKXafzPVCn_&INQ=ANh=K*ztdo=_c`~oavSC^NntJjt3m-7;p11j znK5$I%hvm=#4X(_VPtKN*>j`ErxNzASL^9MoAsoc$w~V*Wq`YV9Ar9grji%Y%ZleL zPS<KJOs=uC<+p%`*L98K)Ja94;KcB1Qz1|$HIfz}W&;EhfK9$5#pn24{Y5*n?3qYV z@0Iz<*7mjFKAn}Yw8v}VrUP*qnF63P4SZymXG=6~JH0KBzB(6ovtloZE6a6hvz9va zREwemNi6%cPfj91wI`<BnWhdKY9ssQT>2G45@GYHbVxm=oP8}r7+Znk0UMu`V0S+Q zy*7KkHCUqpz2k0bK?O8&r&hARz{lXEv|iyrt#i~BmRv^3SrjvMtRdOqX6c`z*{z|| z!+5hBTMqPzoN6v<%r5uwQ>wG;)785L=?)Vn4fru-8zwi!+RMM|QYF4Uu!}BGX;5X! zT-kJxG{NdMk-A5+>(Gqzpb<}mPp19$0%f4gC#Y#(y~K*lE-BdQy=zAe<yJ|i3O0zz zRe>5D4tAz{OskSk{G!nsV_z}ws%eS75|%7b-o~(=S^-Z4m5Tl0s>*Z8Hc@~pn8R=! zkMF3Jo{b1I^=jBSvYY9m`euym>Z}RTMy0m4UrvcIC_7Pc7sa<^W!z`XxM4t}krSx- zAmOCyL4tSJ*vb2<0TC`xOIa?4OKmKcv$S;M(WlX_qb2%F->*l{$y7aFlfFr&*=L8t zR>F`{KRI`BJ*k`O9^d@$Gt}a_jkS`K6;~QA;j0f@S@T)QWHN%}UeQ9mxzxg6<#yNE z7#-Z~3Z1IM%+@D-{J8>CFlMN=u}LzF(B1IZ5t^thN&O$+)v6I6PR?QWS>!i6YCH1X zOm`9ozjc*BeAfhyx&<@$Ur}=q5r;zaHQ1BToT3=IMZ*yHfL|YsZwI3lKW+J_vb^+B ztGLgd%0d&<4ecAHGrk*_D*CD0esjfVqKJNoC87N8RSlF;Ii8Xf99o^c3>`XVJQI%E zv8>Q5K5MYD;g3M9m^3F|7*DmrMJA+`b|lF4V@1U1Aw$xyFL+8S*RG(-(Ve*OR>Ptw zPwusah){loeHr$49hok&Ptwg}1hgorD0>J=-h4dK14s<u)2o<pGE*sDov6aMJId{A zCaT4AWctX+B#ZPYDWcNkx?S>&U>s1!%pa2))Ey<8bqC$s&p;g)(U19R<Jj#@{dmGU zM%FFrOcdLfc3&)BnQre+@DuY!(y#Bw&$j0*8zwRC<&uWER*%Fxt8BVt;Io^%qmbqT z_YXT>o*tJ?+qY<oFH^i&eDhxUG{QqtMUlKlA&+q;)S4-z7y&AF1Szcg#)#2+a*s7r z5GOjAv#@xD3MqxqnRb)x>AuxQi;H_y2VkF1dGu$p_)A=by8z^P2Tp9jLoh%Cu6JpK zDg!Hi7kpHwl#VOjclTI%k7lMjSb5Iqh3(Jg)c=UE-%lg$PGSi&wPBJXL3LpX_`eBn zAd)q#KIfIR0uF`A7Q8GNdVbgSe^dV|p?O)OJ)YR@KrY_@j)KN3KYz+*0M3V-p*%Sd zp#C*$y<cI=+G<^nWe3t)GIuq54)i%xv)nQd&3l}iR0YuqLr3BeYFE#Kns9+~B^A9J z`gx%dOw<Qtt`mn*X_w5zlg4p>8c&aFmL-JDZ{&}0Y3XB~`*xa{i6))_Jf=-?HX2vv z@|w2N^CvaRT~C<fh?aJ{62Tpven|0(>H8l`yUYs27|b8U!qhH+<K-Zhljaeb2Ptad z_kHuzR`P~^;`=8`o!NfAlxLH7=dpAO@U|?u`#{UqV)l1~T}mg&A}FTUV21dv7uxF} zH~FYuqB(r97_<I+di&;uT`+_X@Cf>2I$5lJO8Hs+j$rrm+7^QXSWQQpUQ_BIpYFGR zvfwsX;~~T@GN*k4#wr+l>q>^DXOX^=LaTm4Lw&?d=ffLI?a`QLkku1E-wMj8iKae- zjU{MWM`c7i)fPZ$q~*#xgR$6FipgIO$C<q;(%MrnbE4Pt!bh&L?*9^>Nabr%wS+4s z;f##ag|n8bM|a$PJ;vJUF8_%mllwF$>vEsw=O}HM`|zGNoW5aJ^xjv<!OGQX8Sy%+ z-sT~Nhje~R!a);#6Rqp~?L;+V;gPf4hrTm7b<zA49(`$L5984eGGlP{X0v~*<cj)m zuY({Z9oB8j69x~kN_hs2ms$qNsAT4*U?uq&I<_BN*q@;cBbdT@4{oRA@9rr?So&`< z4@i#O99143ZuQ>FQh1vF?~B+}rS87tp~M5(=#6i=xE`+O<je_*Zkxt2>1~>7UF^L< zNLJZ=4Ph5$uAwmcS2#SlnN9AR%O{rCM$d3_lqc5GlQ}U1!Cd~Xf3kZFdz*7)6K^4k z@(ap@{#5ol6Yby0ElH86XlIuSgz7yoR11HyJmgxxh6?e(kFOe)O5+JVIxZKc|0;Jq zrcV>0vK{Oszo5yde~r$H6aWC3^E|06EVO?0tdk(a?;{>Ihc<nx1@9pXSK-=8i%KMn ze!J{jk>p-yB}a2eoKN}`Uf=5hB(0_oY?-1~R!b!0*+X8$@pYMr-NAq#6;Rtmw?1B# zT>_V%5o~k?Xl6QcSVZ6A&I;74($zg>ic}9DrKAjF+CHQT)IWD@QB<zYP64l(k^6#2 zJ12Y!O@B{Gve3e{%%l{N5^(uKDKQ-<<%;=N82$NyN++i%KZ)NG!M!j#W4R)v_mq`w z>nEy;=7?aR*gcN4bCj602-jAXNspH$QY<!+PGBEUE^1X3dVO#2!f*&n3D~=3HUD?Q z8qo-9Nl<Bj3iQvu|L4Yclj8AvJ>GyX8_nh@eIy%<-|t{F#tHTvg9;Nd>0*iFPgA5c zL-V(uEVw<gnylXrn~Z!{AXggUEc?cNFrRDCR4m_-0tx?xk$qV<B%JwjZEY?SCLHo8 zBQRd6`H}4Pz4e0<$rRLHY9!yxKQ;3pr@9QQww9KrM8<|Z!3~h7NXBrgXnx+Or{>R@ zRPtO_(rA4L#=6$cTsUs6NNIDYQ!)t|0rH-*NSmFYPYdM^*Y9j)VR`m2g&*^*&R9;M zb54T->x5gC3pihPI~<TACgK6mTWCP57JY|Db@FNpEf~<B7P5z{I{7?IxD^`Caq8xv zb$mGdImd(3Mi_ib`(DoGORj@cuDmZ<D{T3@dS9v;YS;k9R7Q!%46AK?&2+Isin$EC z2ezg8N&jXGeq++59?!lXE3TzfHgOUxHN++IF1wDvGm*utEUu<Ot%Y5<w(AX^=S_!U zqB=Qx6!EQvoG+jKOR(Ty>dY#kc&e(kzF*6=gjqFN$jl_Qvk?tB1J--WSJr5t*>zvm zca&eO^^kn_xRD~qW+uZO33kYz)6gx6h&xAsV;2}7*+yc_KLpEd$riY&uGeP~Oe*l$ zc8tfkHcQAvhzvUwZ8qra8|cKrZokYWPbZ2sE=We8F9bkC^G*=u3{hhh*VDg_D)1ab z1$>FJIXcDnoq{z&?$9dzGR|d#L-GlMk;B6Cc84uCO3ekavLE|&aU<7%``lHaBH*0V z1H>UEbD1wo2V0i}lagOeKF!Yssyek)Qm=F*e@U!!vskaRC&?o24mW0(h;cg&oF+Ql zbyC5(N#_rzeERxRuc)b&xlEIN@z_E@;9z2l%&z*d2zGyU;okBA6l4Ct!_qWwMQzf} zMvN0`<>oj#5*ZzG`?U<q1znH!-=9}-B=6oKg`s`U`TGE@B$cBl${!5+K+RVJz`@C{ zC&ff)j^Kt}1miOyVqyTD6_#`@9qfGaG-c;w>Yjev;Vbzs56FhWqAijHi$dk`5XIQJ zI`vbbl{M%H+V0_3A-<&xeeS@NrmDdoXmttU$>RKaSkr-NWc0j8JXV$QL1V;J%(@jL zNS)tZpG_3Q5qgG6E7y4N0umT2p*J!(pjnlFX+V7j=p9^_`|)OLtL)pwYj^s1DaT<- zWSTHr@Q)4oS(<$MVgB_j-xsXFKMP)E3^|J6i)(VUqVFD_rfNxi))qBjEA&30<3RdI zhxknezawQ?B@!g`nm+{4rltz|zQ}I)_+xc>59jB0T^vDoX??Ktx$NBdZZIy_8_RhX zmi5woxtdLZm{t&_pNAmC#sS(DsBJeuEVpk4#_$0ES$$b=Mq9>&us$iG{?vdgT&q|p z>NJL<lmB58J=OTfURYt>$zLuh92dNszOC=+lC#JOvVJt-vR&@eE`bqkzxf$)8SrDB zY5X&+&p`Rd*P#bPx%N{E-UYOI^RH_B-ArFlfiA4;)LAZGLL)F+iusChqp4f_!If02 zHnjx_XBr3x4(taYybC;_cQza)r;F}2IyJVwj-XN@c);o1W#c%V@<~${PCbqBNMKpy zm%{p}I2-iTHQgEdc~gB(JIUu`a3mjyt?gC1MFHKAx>#&FSvd#oA4o4~o}$(J^3RQ* zGD2x;esaavMR}CN7@RITX0r<!cA-ZDB$cf|c<U&M>&b{m6CnXnM+3e5|2rG%=4=IX z2z<7-O6(%_Xemp<yUBIW*@C+nwT!4|7smv&ISQi(9F(2uU1Sp(cEz3rb=f}p=8)FS zomz;uc~W+jW*VU#q4T18!rw@*Qm58aw7Fs8rMykdSf$Kmwt@UTf;;f0UeMi4Z3B(I zmo}iLYe9mBmrS>LXN6-Asq)~1nZZ^EtaC)!)VuZU11T1fl`8nD$ULroovV-sx!MX$ z{Hm~cw<u#Rb94Q;`g?Pe%ZZ98tGC)$b7iN@gY#JK@3hc9DN!5s$yk~}3xJute+|HP zDlg+SA7ZavJ+`>{sUKL|6i51}@Iq-LQmBsT)Z9?puG#?O`29Mo`uu2SQ)eb{)*M3@ z5@b#U)o>91++e$Ow2TYrRWI;K=z>-roaGpmS*&Z_+CPltuD7QRm;jh$F6$SH5pX6G zIPS6v5e;J0F~^TWI(xOd-4*fi)yJEIaaPgj*fzL7o26;WJXSS6M#8t`3UxxuI@$C$ z`u2UViby8JqIlY~>j{#Uyw~k(OlkczM>bv?UF=F!LA_RqG_*D-dE)29o5a%_<mOY# zxhs-xxFoZ*18|?B{<RKW$u%>ne&zv9weVj*jV6$^8K21qZX}Zw!28(ehOuoa&#K%& z`8<B&!y@M#so_rm=czVG`wbWsX=9%Iv6RdU_y$R*9&FG?YD4Lh0F0Tb`}^7T10var z*$R^x8i*8lhnFczu<vLnP%7x-5;Cfo^>1+6r7uGdSj!VrRsZ|){42Fw`r2>1FJFVD z>&M2*Pct7vC|GHo*3Wp+6!6Wj;5{W-od?4q_VxT~<+60pH<94u+v^B$`cR<^1bhJ1 zWMGo>;IKFu<?-U5O%h-UjM*$IO^VsTXn+03U~miYtzAp|*sldz%PA2@p-t|c$+hDY zsq{gKhZd{O;cvA>|4CWvNss>LJY1Fj%8QQvHIh3xNZZyk#Jm>_qxi3`C}m5b>Tq`h z#6&ngY2BAU;19W@QDPF?<;?kYgq5P{+fRoa`}mO}_4Gh7)<CVae=$WuvLmqgBSHJe zzCkoWmfm#;^L@beH+?pJ#+HfesavUK7V$w&<)V86*Q^wcaF)CH%0tjIhm`lZJHD;T z&sojHCz4r=K)x8!?5BGYgOG+oR+tKrFs}0<7@Oc7vgRb^DXP5a!L9Y{aK>55DXyna z*+!3B9t)z;56X1Fk;NbyzDL?l0<e9`J3`&#(%|T>2z_0>Jbr<AgNDYYq~HW|L&@_@ zpkxP9Y)(4yIne1y;hr6pmdv`grH`?kd#+Q9mB6!Qita91;mxPp-tTj@OOR`rEu_$F z#<bac>!{WUgc8CkUn4kKM8cPpZ2IG;`C4qAolx77%Snz9vs)Ibpvc~l@%yh0&w?jc zpGICO%+G4|!232+!#84}tO1$&wa>=tXe$frPF~=kGZWtN%B0*31obVwZE`ZtbLs>J zvr|0|P^NbZ@1RTQnfg5fU^R{U?#Ol<oDv|g1X2t%{Xw}mA|nHqhXA*SD&Ux}wpIx4 zc@y%m*qhgtf=*`kK0-9I81Jv2<Injm46A_&`U`7DjU#Yindf*q0;nmw?zw@;HSuk` zP#lS~N$^KVXvx^9%6e%8@CznStdf5o9xmgyb1AK8Fg_!X?OPr7n_WDhFu~b3i8|HR zLkuw{Ze5T78vKmlg~80*_!JqLABmcu^k;-qs%OgH=Q(ZflG?OkL#!KZ>vsn?eS2+e z{a1K)B#Mosp2|Tf{iI%Bdp6L2y)Up@PYWbSe{Q&7&A_0fO7cX$)FVsK+ayn>JpXU4 zHT!$9Dh#eOR<;OVV_{vJ$L$k8&i^MEHz}fMHTyDzq;f`nKf^La%W9tV-6TcXj0DNn zs-ji{C&z6!J%JmNnzJV!!rM)9-&>a+r5I$9dSTr^ia;z4jHmM19U-Pw;^LE)RRcy! zt3@0#&Z9nOw-1JN&%&yB+*ACXBz2-vIyEwV=c3Rvi$=GY22@oabj)0q3RzWKUv<i6 zH-0%@^<lrs*ux3D&=_#sum4yYc`%*=GRdTDljoakY~4WSM5T6Cg28FWx2g@E{9r{Y zzVjaW%S6%VOT7=UuaXW2ADj}hpt;lC%li{P$TAR!sng+MTrBP4y0mN{R#i;HYN_G0 zCyM6spSpc)+@<1*>#r0Z3)R{3%@ZPfG@tEll$%iY^9Gu=clhhkW~-u;a_9OGa$}<b zqhz=_5b4YrGCXy11}{TlIR}-+#I)UY++Dc3R6GW0>~ai@7*F0No#n<ISr-C|o+Q*3 zmb?79v0r4!W-Jh$EPw8ffj$7f%)^ZYxOHI!7N@XW%ZuD*rGq9&W#uEU?S*{}zMGve z9p-vQx|y>U(3C^V!R@{(^4x~@aGA{<f_oM5?tV(piCJ=rfOTpBvB~3~Zk6|5!jC;g z?Iv9vBwr%6urxV?NW^a5io{^WmifsqSEA*R=}MHFv0Z4|E@k_g<;?GH=M1~-%{-ss zNRB@@EDnF#%b)kus8<TzhW!sr&3)u{sfF{pWJxSn;3!RKJg7j>A{J749~nl%t5SXT z8yZr-TQ%rs11?=4P0{XiCd!!F5x%wmFvtrAklL()J&Sd85tC;22xEEbXjvE__}SPA z+Y0AcW#*(F2)J0BmtRbgXfkSf{fo*!|NHXApd9D5;)qV2{P<S|fhq@ibs2>?7M6HS z>d@9?fCM;3vUiZx0R!+~frDC$Sm({jo2Y>67C#I+xF7@*7J_{Xj{jOSQ6<7e{B7#< zC9?BGO|^a?=;Uu_z`xdFgYI2rHOi3eX%X|`*-VEG2f%{s265Nd=I6Q1h0uz^r6-3Z zIywDIDFn;?jXD8=%{X`m2dnpe4^2;YOhAUV)+CokIA(EVoOn5nY!%Sf?Qa*(h35AT z9Po90P<nBaHH;IylPo>iJF#ZSsq)cTv7$;*DdxOp_2WA7-tsK|U4Xr<r(7|HZAS#3 zhn2YAkW_WkiM&t>Q-?864gaY9dRs%_`$Wm+noNOUg?B1K!7~NG8Y0got8I!CztA*T z&Xyhpf2+7n$y034cUco2f96@z5}_X!C(k)0QTaSwDp6qXBh9^gWBswcLC_LR8J0~t zB(DsRXzaX@yM(Vdnw=}8%XL`beZG7=Zy;?!DxoS%=tThX&?F?t-{bCG@k@osQ|j8^ zFH)>Jg8!b>uL~a6-IA=eF;5Q)HzGH8BT(eB{6625`sy5Wrc2-hK$X_kRjy4ZKuIV_ z`UgJJxt%l}A^qpZ{jd;G87^cf6>lPgMuU|k2V>z;)`(Pgc`rr|5j7EjiKnlTzC6_P zq~=E<%dXOB+@BkCt&g3&u!}aEf)9c_cVp6R-MvDXYTDX9JXzmS)OGnfCuH$4`=#qN z-CSakvBYOn94H?|fMl)!jr^u^i3ctsyPfrOnW$7$ppNwqEfv*NwJl*hlr6sd$EJC( zo`|kV9FI&2O@)z^v`hevG8kLu6T7-;WOIaYjvRt#zf)$Uv%b`AZ2^iLu&w$T-nbXH zZzUCY$|3q=TX^r;N<)LeYovgz%-!tl5e%G>bsXBGZdxy#j~4J-z+DopYv6McW+NSZ z`<B`)Iz^pl2<a!H-HlM3o6+(WQ5kL;5xtfsnM_4O0bgUnepVe8_Gzkz+g!lHWe#rV zXA#2O`CHsnupv=l{6%i|er{z-=H~2y-Z|2LGpZ3=0s#Gf?I*s$=a;Vl<g>RD<xl9| zq0kUWm2HWj--#k-4}t~7@N^$eQn{$}r-?1$!vfzTxi!=U#!h?aD=Sr{yBvx#CW3io z_}_NH`j+K6gCpEI-c`Xe9+-pJL_k`2%)Or<(_0sXjTn0b>bo{VrLIK}qEgT;sHZiC z<&+v?Bca80CY=*MLjsOnf7LpBdE4`rs(kZ3($}iw14e}*p`B`$Dl4|co^QV8cg;PO zLgvow#WCCSQ9%J{pL+9@!dabvj2RoVHHXx~xM1R+oh%iR^yYSu6kZ)-|H~ph>R`FY z6o%8NjM|~~McHnakTR0&d=UKFB!8>I#Dm~5|0*hj&}(4%iuro;cUXk15h?9$xHNUW zFfyjZXC6j8xI+-0^*A1$swtn-!^~0BoThP5Rw`n0{m%_{Z_H~IulP8QyAY-Q!*cT! zGyaf?;AAuSp;4(mAdfXu@I05OJbK*1fgF;Fg+r{X!KeaJUw0&Re$4CE+f-5(rhx>2 z(e4Gsj_i2W>sM`OOF#C`o^X7QWbC;9+}xgXi&`Qp;Bg|=hiMA=q3sBSDWn^-t$Q<} zIvS{aGfduf7jL({SsgNPrSsXc(*B7A`fdLq$kblP84G5{aYKAil!8ijzdRu~u~!vo z{P^c0uch|Y16<zrOqb?X(NhHsAb)%FV8pL;x4wKDvZOw65VP>iPZyzR0!cGmUV6u5 zad!7v66hPm(rcLzmTzlgJdpdmnQ75_@W9G)#;8=Jt&PyiK74=3c!y1u$2rrMT12t= zup;&@5kvbTyRLY5^*9+JOag;;jYJo#%)U`95Fe~--*!WACXN*S03QTauzL!-vtV8d zf#jMH09rLC@>ROf)3$YWApYktt^`xzPF*IF>Mv{nOVE}^BmGfG$ZX$;Th<g~L+k03 z$@v&{ySixAGYt!?KD`B&{4(G@78^QgrpyLm_AJggEx`^6W7r}-rQ6yXw8Rbxf!F}k z$e`F5Tv<(SzDDNi&n`2kdm62iatE1ihh4=yndq-=Wk!ZabyPbFcFYrIMp9+~NlMN= zJAR}wvOzzaJmsZiVyUH1BRv@FAd+~~JB`-_`63a|=TCM8s+(cp7y!r^#k$nNNuVM> zTx}N0+g+DN9S?T_UjQ$y5#R7|{{zz%c*^cNBwG`s2WR7GyOaAOcg=e(&s2y;WEnNp ztTalC;0~a)9nW+Sa%|V(i3_5@Q)*LOBy)aY<nRk?m&1jWoDWwc>Zxg!>Vppz{Pzj> z;YjZztc=@qV)FUCo$6jxn5r07*tCePLskB0LY@Va<x763ky^=LyjoVjN$sJQsSZPz zBF7PV<V@GT%#alc)2w)gBHJ^U?&jwlfg1j##R2U-rX^dOCw^|X`t-w;2*h{u&qdQk zE#?PnlwR%KQn<X<=U~bHAz1bjXM9?jcMyPZcvKuxGA#wotm2ZyII$uN9beOZUiQT% zVsxQBfXzyoHc+Df$GuVg6o8y>Bxz=#&rCq9E|ef4oYp{{W4le&19v=%4p_Ne;>gL* zKWT>H;Ty+FX-x3W<rx*Yl&|7L51=f%>z|u?9g=ndNXJ4AL_Ht(`>A6QD(~dajci0p z8*00(ucDQl_RTj{ggQmg=S*{X)9nk+MRHA)Ls@@{S4hcaM1u|?s9s$k<hbpY=bszF z!(``)OI44Ehtr~O4z!6CBAL}z-)H*pyg})sE=~bgIm!(t_e-T75(64zwD#$(tHvQ; z<>gA3X(m@Q+j32&Ot6~LD^B;T@~x1Mrid3((+`LI!pjPrAa5}V-Ce<`v!CCR%f?n? zuJS{XPP8?jvZ~WhSRG*~g_HNqrG7e$6_*0!9pBN5C*=DC?8YqL&qmaGkE&uPd5@`2 z$ns^}v{5gm9q*Vf6l<&Ue&IvNR2ByN_QaNzJZm?D^k(xpo1Mhz&xFhSVx_Dp6|9Kn zME~`;6v_#}G))Q)zQmpr$Q}RYh<X()`(3iL{4aKJ8MVB`I`LIPBjCuIAO>mEy2Bpx zY9$4>+HE8Q)Ww@6<ZH-5?Jxqjm4^5n<{;d6h_|je+G-+HUr;I0Jz3RDvkloHckptg zwg222f_6kO+i-tXlX*9$C*}Hsryj~#nd85C4N)4(-dsp(tR@$bS#I>Ckmaty1CWKg zzI0P*Uz^f87%`an3a8d&`sRqA$@{r0WVF#CeQ4t>Aes7Z3in9`n93i^&v?2XROcPA z;(jdKn#l#@OfX4ZhKvBU#-S}X>*_NADe3u{oyW=&=j>yIf9VcGTU*6ccGiD3ZIi`a z7JIV2jSW(#Y4YiYLtz`rbQkW=GIlhEkMdN}c8NHr9I((V$!yasvm7u@HJZo+^})&Z za5EkM4W+_rqy_@s#||+VU5&g^30QeuX7PIF$DtOQh1Z-%#`JK0iOo*3$E5tRLqvt^ z@+P#8>}LroE+sEYa?$$pZmn75m}TfZZNDEbwhxO}y3+o+80@gr{Y`nC!N4@Ze=bMa z6g7jbB}w<FI#o!|&QjTb!%!dbFh8HRlJ|dZpwyOnq&)o~6&nux+-f;gV`G{yqRcRR zHY^j8j?{!smMn8_o||=yjo#IwTP|c!3;SONCC5z5%$mX4uyc8nT9n>Ksp0xCp=M=d z0PF=0#&K82X?T<d1oh2Zm(WRX^*Hc?o)HgP`m~w%Q<0^Mmk;-|GNL}Z&t}C3xi4GU zmoIIhoD1(XVdv}p=G<p7)va0o<Cvi&yvFazrW*}X`w%op`-AgcM}yl`Ft)+WAeOrS zHl@~4OEy7lqUnjvB`aL@<h5}-W`ke)9v>)|57Wo`r_u|=t_p8k&MH*#>Wj7k<hy@t zOeW$jyYl82G=SnJu|S;f-XXT1ah4hn6g+qvE<$pSFnG3)jq&pDcwoCQkNGy?nX>RN zN$S|}Yh@urHz&SQrn1thK6TRbq3UNT=u;h|&Qg-!P~`-3id$F3irIK_h!X-iFID!~ zDjz(^lpfgd=SDu+=L1}A-YERFtwNh7;4m6Vt5~`YVva`Bjxy+0pdrd4=3p5Bh%I7L zxI?&I_R{EE#mD+@uOIIB;ayzH>=rk<E6W2|gF^9b4Y~f*I;lZPr@!>2qDxSz%@Zdl z`-(XgY!DyjD|3-YLu*Ku^M?I(6@;3J<PJcXAww@KeX;ipPnlxGwc!skyxyB7<@)%q zO{SkGA8}>dBgRwN<7gG}dZR4n#5P+3w||+g_6VLW;IV@|wT#TVMZ%fmHP{5FJGQTH zPiq0G+Ghm@Z7$mtP@H5)<;#{Sr6lU-`_9Rir_4h*o}i{?o^>h&S&z2g>;B&_;*XLe zo!;WNH%vS&fbEFPP4fOx>FVynvbtGfa)U1df)xmqFj&wL>0faJO7Y-!glLXH<v3kv z=?1CZQM?HpK8f%H5tR_Kp{(dp&Mk8u3uVJJf;EG~th{%E$E&}sT6i8_)H(6hhx&h; zF|2;bG^^+N;y+JeA>Y0_S}LJbqMrlIlqm#CfpOQP@he|8KuTEWbF@L0cOFcW;*O*k z+^eA>+k=TZ_4T+B84NY&(3d?)p?lm|uJ*z-B2Ni9IkxfM5}{$Az6G|E$2<GTwUU0} z*<=J`-`ft}DOl9?EC?~I|I4Q4Z<#enQCgMZ93*q|n>Q%emnw{ZiPWzO_4brc%&S-> zQ_4YxsQ$Syi67qe^N^DooUGR{IK8dj`@|=vxT%bw-dSHduxKV+T<qQ4^ItcPFhQPl z>~s%fu7iIi8VwnEIlUC59s7Dn({RtxjdeiE*1kJLEfGJRfm92VD4Dn0T`k)X+g`bS zTf$(`Q(8ne)EHJZ>a5my<wWJ5tzx;L*a50#Vzr1B*EMiBfdn;xXd#BifkwZsZ|wUQ z2sTcj$U~!fog(9Qox+;v1P7P?nS8R-`!A`?2mj1DcJ-(<3|`!)Vm}eEAT+3r8y|K( zP9qMUFY{^kzy`Qt!lWG*M%fz-jQMoy%b_P;40@wmfI;6B4L{o*K3NE6<*uf>Y_twv zT1_j<g@z@98?j((?88RM`!o*p44`?Lu=_(V&S8HBzGN(r`>635eZzhPPB4sc@%(k& z(C_to`)!QJZ^+a2$>Ni_<r-}EasHcSKCQ*;Lp&qA2NYkhiBEYM;aW3A;d}p^e5nXM zaB!k;m&6Lv%TdFpO2h<0WtxQR!4vTstQ*R4NccR?7bI;K82{G)o$@13mDXwocj`l1 z`B}ygO7+>RhT6sk6e-wE#N&-%6O!#8%_7~qzeKGvoEo{=9>(=U`$#91ZQ+mL;m7J* ze&&7_9~x(Q$0M(DQ!IVkom_`5*H;R}M(XJ2<nz3h<VJ67*t<ZeKGYSXm(Kf{Kkdc! z%_Pixz{(LZ!doDun2DuHUMzc-JFho<Wtd)`7O0iM=K1LkkfHVUmk;x$&YB}~t<yE& z5|%k=(&km394Qkw?Kxcb!Prsb!_#$l^@XOzBNM{XXK1e@AF#O$q!?3WE}<*GFlZ*^ z<ql!c9F(1Rvn=_gVWSG1<X>A046bkapYIpxMR9`FdCw=^J1dgKLDGL|VzcEXL`RZU zQ$*;e6n}s9$hHUQddC71Qx*BFa_0+<oj51c6MeBf!sodqO}SdhL-K<^M@%~PgEv6R z_6AHVQvCd^JXC*rmp?`LQ!yc5+qEN-8Df&YQ&e3;T1^^^-c@&wlPgyWJW0Rvzv2(Z zJ`A7J)ZPm{bNFtsyZq8nUSpYRvIr1fPDzu(>4Q@5U_g<F<=n_p5bMtg&nZ(1_*)z6 zYDQ+eMx`QKGFC(*lh<_;<%<P0zEcApLRT@6j0~93Al|UJN_d=7w@Q4oTmN&dA=!X$ zFsFiyGH-HSc7A9Llx`c%)#QEC{LJ)R?TA}S7E2FWi_YiJWy#2gv;IGRWOgih9RyN1 z;cPNZZc;g!m|%T){}uW+M(gRuSpQ(Q78XV)zPvR7X2m%m^d+~Hn%F=dCMJ<vCZ0!Y z6i8Cwrv}0sX>x}pxvn+$g`C^|PyGnbUjyy?wpI%kEp|iFtN%&o{f}0p)pJ1X%h%(d z6Fp)y4wB0?_hTN)!1??57a@i90X2T*ab=tBuL`A_+zuZfO}JYMcx8So0H|qI<~!L| zy2r+pUsyK>EWgbc#=Jql?E%PVJtQMap#;EmHUS5!aJ=ta|GHJZ9HDX)_0mn1UtsLD zl=KvA!pjT)%VnacreB#@7{<^RKNrm+#GtQCIDci{hT0$lgAoq<9|T;sSIjfeZ1+0N z%K@Hj>moeMS5&2FrNxNf>5{UZgsF#8d)@y!xz++e4MH~!xadoY=WFD@mQ7;b6gd8y z0%-iI9PTVhXGj;_qpudvD=a^;61SR+8}BizK+_ify_G#H8%-@YO77ej7oEP;BU?&W zY`>(Q@(f92Vg$HbFO18}mXq*KFitbc>Y@$I19VVu+wtHysl8KRe(Azj_;P<fD)DVm zeE*ty3djP$S_82i$rGVxZE~c6maB~?6+!SJP%IaQv$sh*(r&>Ie53QpzY3R?0<#DL zFKZ36Ngrjuz)s>@^3NwMP{!l0%9f-88T^KnZv5negnqpX4cN}^>@MiQ=;J|D&nUaC zovSVXxJP}9J6+PSO4!_juZQll`h5QWXVU?V$~?ES<oWXFxs}R!od;)~E{qc0QVIz@ z6=qlYA<Hi@R;;+kAgvK!93&I!hoc$CYP;;|#(KCI<{yDZjp=JhIB-aQP+HfEqD+cK z;BvMxUrbM*nzgbTq}zonme=-<MILMQcX(!PxE{jOR00-kX)p2Pe2Um(mmJAozdwTX zDBU_y`8Ifm;8yg3D$%Ch(r9mN$S}khRaq^$5~mrKuM|d36rGQ(<J-eLPR!Xg!m|<! z<+X%jIS1P;mh&w~H_PzA#}kP#({t46qlvlXWv~KKRSG)&n~sId!7yDER|WWvm`ta7 zEV+ZNNs{Gu0#6DVbQ?4jI~~xx^xl;U-6Ixx&kxMd+snGKoMR@x(bqIa2hgspj(tes zzZ=V5Tyr+A)6I;jmycZB$`KsdzZbDSI&Y45p7ye}_2OFt6*u7xIZ<S~mZaEtNb^Yc z|6-XJuRRP73OT$RLoX#$ynE~cpiJ*N(+%RzI^e?xxPOtC%YC~@Gxd3Q5MYy*Bjd1k z{(>f@T&qr|$KgN?<nLZ)<}-<yDBs>+98^5<#l>L&8B{Q34WtTUM8-{gI(M6lK|?S4 z8YY%oiE++?FnNi^-o(FjtLfry@t2uC>}DSwPFd=&M3wCDX?O(%6j58XewIsPb2h)N zND$axKZOI|9kSG|zxay2t6951BOvp?zMFSAyYgAj%_t&lBwJYdpBw-BHmWNRR?f}N zUACS?8tr;oZe%lk`arfw{KR~-)c5nN_e4!jmgH#07mshU^;$ikF$DS{2)?k;sKT5{ zaPm&EsqGYHj&kA=R8|)h6zKHlhR90tu0y2nUl~IJA3W&;JLu=CKkkY>It;;>sSYhg zw*96~LGCw_C`mzK_+PUpBr2S(-9>=Rs$f+uth(Dr1`QB?U);I5OPr^Ve>BzX3KYZa zUD^FU&rrkZkNmkIeGO}9)A@3406RdA#(rvU$ojq}Q7OnA7k(#EFLpKI7O3&5=8Wlk z?pq6lSBy3U3Wsq0slU0+by)rfE!HjJA`$l0qPDBGUxe*Nlt+YZ{OF?U)kjfMy<zT_ zB?pagP8W_w*!`ht$g`;0TQ9k0olN*A?;B@5J}PrS(;dQXq$As^{@l26ihDJZNhPq0 zOY|w0V^-8{EFTjpLMttO32v5!!*?%P_pa#}qV^G^@cp~pg-mms0vrK6ez&u7+?4x@ z+?O>Czc{%D6fy$?7}^?9(pxGypZa;z7u1LaTiYjt<Hl=_M{4$NL~$&<>}o;tNU5XX z(+o6%Wy)}QOJwmXi%-KF&E^Wyo~`5>5D}^HfXz&pN$=?*6eu3H2j<y_Vh4=m?B2AL zX3BJ;ws<f#T&*=#k`5eRN(jguHvAG2NW<JW<;K4_C|J`KEvfb}9`W=8?Yp~!)8+5_ z1~gL5xW^x)zK@2BaQ2M>L$!%6!kdOO5*m5cnRBO`;ZV?s-&%&p>`=}xpzY9ex+vPk zq%hzKke6f~x%TYIvxg7LjM|cU3RLwLRJ@<1aD8)PP_ti~cjO!x)f=oD4#HFr+J22K z?oC#-RTQyl_KKC2&Myx(56TQ~@(hBfeo<>*b#`Y$QJ1Vy24^!rsu-__{@mcXbiAK? zK<qM?C<#|T&?n&f{|Yz$wjJX$yJ7T*GOo15q!c{ss+Cix^RE8q&aO0Z(;QYae0&bp zVJc$BszUNrx%xh>t%Cx64TB);AQM>Rsp7)>9dYxFuIUrgCNDUHUf(Aq*kX~T)lnS0 zQErIJ&HO}4e15gDAJnzuN4}e^m%QcO?D00H=|BEg55DsD@iIzt|HB2+|M#Qc;oYIM zngZ<to?GQ$pX5#bG4mGRsD%ib(~Zjb_ZlX_2_%FYG}rX%4Ckk=u7(pI(3dzIG<t0F z^Amm~^5dCK7q>y|uPt{Ti@%Af_ujKB-7EH>{pV^%_qluQqLUv%t}~UpT>&3Lr6Pqk zY0d;i+VEq;i@sE0l?#<CNfDFBq1%fMk5uMo|0`zG{Kvs`kCumv=cxX2p5<!o=G%Ju zCIrwUVAW6EW~(F2?G*Latd6Mvwd@TI?~fb*{2V^@)t8$G6t>D4sf}l48%5dtW}0;) zklIn_GQC!5%(G9DznYEQqn)c&_~+u|?S-u8{v-N|>C!Jews$t7&Z4$zGK_=jt~;KL zv_HIj7T>+dH{pfOe-(_5k`XUvco?8N|1doE2e0_cxqn~tyOTaU?XkVXf{fprro#+B zP203-<sgCLx{&SMi0!IRaQCs0xrs~s{^?sS81)^TLtExRbykF^%95`=9NS5#CA!Jg zvM7F{p~k~#V4hL`vW;#G+bbkXEA!~-KQQ;Q9G0}Pv$0#-4KJ=i%Hs#~Cxj}jP0yY4 z=dCmI9EXRRLFO4}gl88W-8%HY@U-J17B@9;FI1KdZ~b%Qe`&+%t7XjI_iUO>?9^d$ z_;;mq8S$z!-~r(ZWSg=_R1OIsp{Mx>(w<+{fnD<|mYdm)B?D^m=LN(+@|a$IyV>W> z^B)gR>_+r5hYHa*tffQe%#X%w)k9e}cKh5GS1y`c8*1ZTtK~&zFNr2?e`~iO8j=6m zh`oO%#+4jv%lgHq`!*f%XKf-c!AYe8?{qW=?dmfJ#jH3<w6{)Yn9i<IsH<+1HA5%i z+!+Khl3CE0RZ*}WL#2-lwD{(wWqJ<G9Yy!w)90)H?w}t02ClevZ6rNyTrg}`G?zY( zLgl6twUAG<rrljGhwTFV=fETD-(p7nJ0FJMzVUj#?Bj!fBcb)xYJCe|p(O{&;nrfT z_*cIX<Ci*Bhrbhap>;5#q3AETwEspCXt(ch$zvYo%=NctumiUsus`b`nY;U|``XSP z#qX}9R0K1t!2X#?8)YDTDhTd6S-&(59q6&&lo+f>XjrG^q8^z~nV8$iR2B>mnvVe) z-&Ofv#r+niBsA>&$MCTtg{Yu#USRu=BvOLkTVIXMcc}V!Z$R68ygsDz7tso{QS-Ks zygvYjrdVKk7Q}~3#)+~@`4=;Xb2T#-!5Ic^uVTN%Qf^0u)|4(9JPh)w|KG%+T#)bW z5W-=_bM@k)0J;Y9o<E^2TfaHHnLl4@Jl2S}iHDFmN!*C=I*-^UHD0hUKTKB;PK&!G z$Me|9nXbU%lkA|vJ$;7Q^?L?P`FYmRUDSDK6uf3KUtQTvZ^2K-=2yeX?yr_zzv<9K zL17;?2PO##q|1#flF(lt<<A@9<}GxjZaUT~S-A%tMoD}9xxqMQ+pkL4;Mu&=2s&J{ zk~vv$(9h;bXBr7FS;+a{J*)rjFC!l|nWQt`(BA&9j51_wxYdvlxVcx^F|Hb&g=>F> zj&#>-BW@Cp4>gRmJ1r+9HTmVN{8+vS-<ehUPwxB6*8A$W4cOe;B5kx%%d~LEdq-9w zeEG<lgmwo;F31-&KphZX^I0UA^LFFk$v%{+@BzZi{4N%48|q#@{ri$}wBt+ymIR|p zKyG;kA-E&o^Vft?7iFcJL2mX~OE{*>W^sPe&hR4lnL`bsDa&##cv4V*K^Ot7YWVTR zIGYEOezh(4=SE9J$Yx`2>5L8Wu87B|B<IGE(hxGzOgG;WmYeRC{hgGDGjw5Hv76C} z@NE&_+$}ufxp*AaX&2>E_(uCd`&c`_`>akMW75>D|4`9}EnB+#D2>$;px?_y22Zv! zMSa@{oMz^7X&9GLrYo<GzLhHcVUx-m43YBWM{@gA4Oy{3w1#doNE*o!Bz243NNYe) zU~cqeuWU&0hh!1UseEfCXPmyL=>c={yd(R>Mt{1ebZI}z*P|=niM5KSq$9mBv4d4x z@DgzlpBO26X=F9Zd{))NFWq*aPsA-Q7>S_U(Y)2|ISetiBPfvNWA1MBY$x+QrD2uX z#Ty>d5B1LJo$Zr*zm*(tS#N5|Xe(kRfX4T$C&dSq<;J@PkI)I|NQ6T4TBh5`DV2@- za|}zPUg4qE{opMnGY?)_)?A(G4j7@<G$32Ekm;q2Rl@szTLi~RsCEsu+g@bqeW}4M z=o~@?UJTQ)>6SSYCAp;EYDiq%e8wK|#$iFIBEj>oh+Wk8OA=l7+IMxzchng@98241 z9mv6B_~307H_WU$z)7DKt?yf07RJU((GIw?=hDwB`d7QGRBuG6QcWXhQiS#cqS4Ky zk7PYqR&`s(O%0k3$p}C21&5D%8H@)=KC<c#`u+UBy3K~Vqy%)mxqD!pp|g&MX;>6N z?=M`etyOMZNb8Z-qKQFD)RQlMKu4;K@UJ#;jqgFUlQ=!mc^g(FoOj<3*wkGh0|uXl z_5s5iG^PC&1$Lw~a2m!8HeJ^EnG1wB)jF>1bPFe<?yH}zB(jS;oc(h{{cH~05n-#D zL!D5cIY-a@EqgaT!}DJ)&$mO#^66UI+w89?IZ2*gpU?i>xS3F1aAEc~j*j-{Hw>uw z2Tq>=Bn5cRCPx%EaYNixW~YqmBXhfh6HSI})X3<BJOtRxu6`|(*JY4Q2@#*Q9-JPZ zuGN0G&tG2D`=h0hCU~ejE0W{jcJr+Jl(tYtXG&zd$bN50VUyApt|&tLTx#!mLpDct z4T1?i|CrYo)Wa3qKk=#&<-eaKJ5v4q`5i?@&Ji_KlhbQ32Vd6c{Rt8-J_ezYH<Ds7 z41aL?DsOpMTt`+hW^=O2>dt`$%4|6j&h``9^P}chh?8EYgL+#bF-?ni<FSNaALiL` z+3W1?YnJG}$P72968Dpn-&t7EBEjw;uj21U_xE4bC7OAt+SS%3j6Vxt(A|AP&*A*N z!lYOg5~i+V8AAy+GiFRZQ5yiEd%=|)jI_Mfc{oTnIIsG9zmdvDS!2TFbh=hnk{0i& zT>r~5ld5CXS!iS4EeU-k-10nHZ3>~#L(XUuZ>It(v4%6k#p_BL2Jyi_!8EG_K73t2 z>x=oX4}0E~zDxvqv{r9N1s7O1Nw7O3AEYaL_ZoNa&&zFTku_L_aa0Infd2gv?LIcZ zllMR%&{rQ;|L8)-jHg8anx{cs{m#7F94e@q+)y7JXfj1XTVY)jg-13r?n{PzW?$2l zVzt)(W=|;`b~ekaPi1#{f7wN8->&UvVHj>^?rDiYC#8t($+$t0>LdAXYF&^i?eRn3 zX=)cgnWs4^rpj-9aq*YTr}HL&jQ(<1i?*4&4Uv=B(YvQ~op@EaN3deBDVT#th;9vb z)Z6H@sF-2vvUb&OnLISTaQw%A{r#(KN9(_{L}EORr_MMSVQl~6z-{6Vb7e(bBc5`J zcu)Wv>^=;vfF2UZ^?@O|$q;O?@_}WaA5?I-`n>X{QtvB|7gdnpJSh>4qZkRWLMQRI zI+$~&S?N{Tn16aMPR3I|vUfv(HGn7ISg+$k8(Cqg<z3&PNGNz;>bCfIqUN$!#4YyU zBKcWGf7d^7^L1O6y(!EXaEsnPWp3l3l`RefE{ipOx%{;wL_avuOb#hTqbrZ&YOXH> zRfJqstlUA1fFVh~E?bxKD~mcD$zKj$#Ifk06XIAn^z*Gfc&ikK>So<pz`@P+I<@;} z&qrQ#gSo;F&-$5uj$@!K1`O&@v`NI1Pn#x)1_j$*HthH1VCp`R@LC4j{BG7pm_f@= zf<$f~^L$-tDBK*;=VZaEM3UN2@{aspkF`1^4nVz+2V<$|>NvMXP}y49Ccu<3B&N(p z*P^r&H1z5E^2fD&mx~3=maSCXe#MZf=1j{2G_k<F#mJ#=;kH~#KK%V1p6C-CT7Ok+ zs_rtND#FcuMVUgD>fLB<sIgQU_I&oTxpp!+TO;}*4MR0*bCIsaFxO)7H(hUCzEHYK zf|Cme6GLsJ08Xn)z>Y!Jw1!P$#MDLCCq|+V5hF3^<CBrRF|i5(AqEw)QqYCkD*<oF z+etUyRmGy?4VlZjdE)v;s4gfsht28kAL%_~=tPVa9lahXU?r|<z(zL@0J5G~>hGx6 zjxDk{OY25Wy<Hh*d3uKA&lmmIU-G?+`~4PoCkDy{`}C>rf}8vX%-K1Ws}hV3J$x($ zQ`u+`vp>+XL^*cUZaUQrDFVKWPh9N^F&fS~h_^jL$BN4YfuJev{H~3SLolAnNX|i= z&*I(0!(FLm-rQvSm^d5yDvjQ;!P?6$nz(=iwQy~r2QZemnE2j7vkl#2d80|R<oFpp z4HJIDcve>T8)i}|N#O1#KidHts+;V=Vmdw7!~UCLES+^Cfah*=`oc<_jeL&t_^ziD z>EBFS8vCZOcLL{yD)_glqWI_9vV6Mj>_lZ=7vcTJ1W1Q!9nLUkBD1NAr&qn|4YB5G zt`l-VclW=S3ftYH%X#1@C`u;4+0sU9*=54_wT+pEMTNOd0@ir8LORs1koegQ^=Vzl z4OGEfMk-veyC1H&-`xFtyw$!kT=mSd2zXWAeA+u((fqtQVD~+1t+5s=Fh}cP6Yh*v z?8yp!uFCzat#RU(>wlfjke`2UJUXlE32FDsmC_bj@!<po>)q3}oz1_UnCV0}0Eud) zlq}5SX@HpW7VV|DM$NcdUU~$@Qr|AFmzs_Io~$JVKuQevL6GW`p7m~ESc;livVd|1 zX2_9nma;Mz)<$P|ppu3?<00F|`rzk=y*>qJdFXW2oY@&Uxyl6S+^?*;%6B2Fo1gkD z1XeFzAssKoW(B`y+l^e4Zd$#o@t3@K-CW^q=G_<&oq|Y#ofJ$x!1HPXWnE<SpcXjN z>2|KmegDlTci;6H&^_V1D?S?=V!*&@e@^w4nTg!fsKu&vVYI_^O){H8P;XYLQ-JGx z;j;S;=oK$Mca?&N-w4AhOV9avzlBp70;BBtHj}#_#|a_zJNmOL&)WF1~h(;1>h zXk^3^kMRyn-C~Qu%FD)F!K1xro_x!{eTvJ#4fd(SKHfdwhNyCME<nJ6@_gw)g}GpI z5w8esdMu(kRvem<?4o=okXj(;jeXO4*DA5Gxp)imHqH*Ye{EY$I11n5OCW$O=%rQR z3aJd>6uXM)7&cy=y|PK{p5?V(aR15MgS!a?%(Su*Oh1U|Rp&~~s`(lE=(rM9Hda!I zQ%NY^7>bf>u-GZsSmgQq*R#4Wg8Fu+TV2NVjY6H3oSplpj4yr9CVVhZg??BbV(RO` z_27dZ2Y@k`#$mEMsBqsNk|&{&o$U1g6&00hwcv!lYwd$}#pK3vt{f0X%#JaWqU4=f z{rxpsDmFx`nNu&?!UELJ9&6{K<?;LxqA{CGzj%VXBs41SS~l3vrnb6zQgA<@hBWR@ zne<$nIHuX<UiQF8FB+9E40_s*J%CJo0a6~KfN7|UwfNK5_#YA@W;k+n4OYY3rweMj z{I-bmNQ9Qj+<%p#PL(8Q;51OSKs~GT^5nzIQ?{&^`{@HUjTM3X7G-RHq1v<AOlvGv zkmUWt{uO(8SpnV6xULG(zf!o>thM>`HdVm^Vs3}c9mz_@I;Jh(T17Bti9C0M!Y1m2 zRDhzBHg?9u=D6MQ*#Rf-4twTO5u2WxW~sNIDjj1zZM$XBNfrpC7{uq(+D4Nv(Gv8+ z{}Xy(?+I$}y;@^KamaZT;~GK2snL4$ogZ&4-nEZ)zpg6SLEXA!pR=r<dO*<F1waBa znPI>_kgr~fB6%_K)(b=jV*p<m#VV#nC7bTngCW)$x-Y+4B-M+WA`}c#H`P8wUUoVB z_xc0ta*vO&i+Qrdj{~M;K$l<Pgo|zF&;O(7tmB&A{y*-$UJO8y4gs&yqdO$7dI1?S zV6XwBq}fL2DEX>{^aVCLgfYe#qdS!m($X@zyF@zt?f3uZ&(C?BbKd9mdOisRz2ZkP z$&sQS+k*LcR!+0Bf}Z+UqV1#IC0|Fop&cXrQa?g%I!sHdn8Q0DU&iqfnI-4TirTCI z)0&|`*>Gi>t<KR@HH`xGM^{XT37xyL28V^2g`Y_I4hOi8=I}bUN`%Vj<JaPndyH03 z-QAIHgGX~=A2>^y*2bw3blZ0f(Wr|QYo+gf6=k>MF)GQOj!L}`nJ=(z2GLl6K{jk} zI8Ftqcw!W{%95c$QoVDb4p~yY!xt-Ck{{uOwmFdMkqJ%^DZAJF&TDhg*|<MPc}YMk zoQt+#%g&o+U7yi<dJK1Oz-ayY<8`F^oehN?rUSvUL)!NFE_L~XH>uyJGu;^!5<Nq0 z2ncrAJ7S@D<d0p~8ev!a_{|3k5&OIE^fN_iXc-pHsgMCXZ`ElzVtA*{_s&r~kmT~O zNMor_2Gv4@BF~UJN1H>kpUaJSjolnBSUviR3RrZyZLhp%{=bM2vS)X*N}pPZ&3p11 z(6e9W%F?W8ynh`E;m5^x3hjPAM>82FUWP6p6X?#^t)28E!SF!EsCPr$r+$74b*aP< z{PexI@oV$?AN&&qYa=-9{Lpmv(f2t1;Jr9=aiJb#J+Z3YluIG18!6KuLAH4%E2DN# zPk`8Fw0>wcQUg0C01HA|f@%OGn5CW1$4wS91bM$C7=KBKXyI9;o`cK}t4#$HCV`3& zW>^Xp%U%7ymnE?_NBmM>RmJ$j`)%%v5k(-bxymLCax1@Y1wjO_xBSqL^^G%k&(67j z-)haMid}c5o*Z>ccZq@KdlmJQjjmq=M?1Le{gVKl-j&C`59ENx$t>hx20-P1txlA` z|I51C&;fR875kk)0$i`+Pe-Z4uZP*rTN^_ugL8Xzf@~9E_focoUGrbJj?xFlF3py5 zRF;0bTD#ArvwCkK0@_#Ge%Uw%(QHvB_<4p#{`wT1Wjh)ZTUL$9CAO_O|L8hEU#ekZ ze4@=)a^QCNDk{Tk`n~nmq6}X1xr;wM&=GsZU9d9Qy3S6$qD-$|yS;Q%?WxUb6t8KS zt%l8;Ag`*$<(l3k-p`NUc-H)1uiYi=U$TEjna8R<nAXkVmOFR3Z^^k;uGdXt(zI@> zUiH=QTcweAmo+$FE$RVIZkE4Ui&VO@DO^I<hD7+^yX;;~x#f5`nF612I7B`-RUDd+ zXjeG`N++#WXQj3$Ax?uNEO&p*VHljxEwF!4hg8osp9>K;_Sah@IURgU&ho{do9GIS zh?S9+GS-4RQ}vOXw&58apprgMZzm@=yBsIvbJQ~wWjvjt_-bC#?qv<au(()Q{@drV zvgVxmA<-_Cc}q+QoXW=%_6B8Uv5O*xlXYfA)EiqKZ~RhY2U781HWu==c$(cSMH->T zmimTTozl^Mrk0X>jBa6|CDjhLsrL#?{~XFlrb3qZ*9UY)btvo;+qgZF|EONe>rC|L z^S8@96T2b%-zJbP>U0=0Up0w==qRW_%YVA6{K^_|GmCRXe1D%z0JzCDmiTW8TL6M8 zwbUyh9pG4IF?*!5rgx4aUfbdm6X$^e&JMF%IXojz8xC16N^@M6Dl%@?O%JW`@WRbT zw*;h<{O&}7z*uuarKvgP&&fJo2VAvbKpk`LEY}E!3j`P)riLW}5^=P0wp-%_sJHPl ztq0YUwkp)e`ndL_fwh9g<JZ<?2NWAgHo&WlZ%<^27-F^1+*{*BXaSbiXY(u2J1ZmB zHmhKyNm-8%S~DT$elxI~a@fz@7etupTYP>Q^3qjh(kSU<Zd$*x`MXxGKs<)o+~QRM zIYfS@(<V9OdZsqXT6;E{JVEY_EneNH5r&1Skwm(;S)H{c3f6bevtd`2U}8ShGnine zZc$oFOH#>&^b4fD#39mBRnjsbmiKHCV?G3<l*d!OIc(~K9_^wHUM~$#l2=`Q;{xy$ zI%y<QRBgLu>7PWM#-6Z0wSs=E)BiW8TKTDe!XqZ~NI;zL9DMgEIV&?}W%&0k(da<p zlqP=?42QHdJqCNZ`UI-Pspan_H3D^NklW$`nKCtTu5$mmIiP+uCA+^H*7wF+Zq@pm zuqiOBK73pC8nz~!KD-o9N0gM^*~XjC40x-?Fj(;>p&OKWAOkOyx;zR;vQdQ%cwbiG zE{mVh$%Pq3OA`t7CMpG+qazkI4xGiZS$x7q-bTfrmvXCIfse8lw!C^7;Z109HfKKb zI5(c>Mq`Vkq#a+*U)yH8t~T}26t!(nW_^MlLgGRH(4Fj)%ZZ9;ZSqj7nd1abbGI1q zp!?yL_e*9pPLw#EAA@||pwyi%F`=y{tn)IX49qI}G9z}|C`<$}GmI#}0^M*x121$I zyrD<H)&6=t-N!-PhR>R8=V=oPFS4STwd9+H#Qv~=ADC{<`N&wz@>$N(jVtuosZK&u zJh8gS$J2e2ku}9a_w<ZU{`-hHR?hUb-!z+&=jfGj+x*&u7_aC6Ls%Z8DR~lb^OV5@ z55p|jX@1!N3+}!MPTet?*>|qSXP;+01!v=$UW%`NyD9Q>*uJW|t{(pHNHHebH{Q^_ zVeL&pIC)5xT*u%f4D{5~g7pYh?;OJrW$rJr!Zic_L25p*Y0W;Tp9pB>kx2!&ieu(8 zZT>nUYg$GqUueeg9e`>S@6x^IOx=I_VT1SWb#ld52itXMy-48U*7%+=<dXleyx)2D zY3;W`14LG_j%Wy;J>T8ZmSTRa4;t)=(unrCM8}Joi^z-EJ*2wS>ryD9zIFe`D<(O~ zXjOusK1oQEB&SPZUYNsabjm|x>UdDu3-3(epKHx9cmL9(n*orn*<Te1eGa7f>*0s1 zz3OhB)>Nh3e_B=1lCfs$I?)GeGdKUShxd)sPh`W2f)XEDt-)PMvy8!2q6NB-eMa(x zc#-3$?)yKFUP?^Pl6V@`#MhLL@B_Ody*i}Pn2`Yi_7G-wOaAGqVV<N;*T0^LUeY-` zTIR!*;jFPiDayyf1?eQG*EdeDWP1DQ>*=Z=ig-5wfo{OPf#cfThq+!>T8ZvupgHrF z>hqn(^g0GyWk|N9O-&u`oQL`G<qJ5S%)tGIXq~HdKii`)-@ml0`pNvZ;c&AqnPljQ zbYR(YqSx-k>CXz1AUZ26)1tZbAzV}_=<>O@h!APtwHhEk#x@)Z4|SGrXF*yjnVR-^ z3!7rIb@{EEkR7#Qa>Ew8(Cm*|iFcmIC*c99IMEj`ffj=l`M$y?IDh83SxUk9dTSPm z*r4;gE=X`yoTsF@WUfrBlY-h^ZcwSu5OoSr-Bl(jel1r&PrVkYtJY*v;)485Mdmzx zTKn%_;p}K@s%7eN+niUiKU$0uo7C3H9z=mz^$rzeq$X{chiv=u?T9~9s(tS=<yJT^ zSD@bW`_}U8@?XUSW(I+O<Na2t&Gph+=;Yw~t2`wToQgGuAE`0N*2eh5=Zo7cb%_OX z_I=V(e<d|ZH#Wv^8z$mxcO}kw#6Q;qJ|%V}@O#GLUOQ5}eFX&i29Q4En%hm(P^7qJ z)JG8XgF(||5@4Vpzx22zX=K2+b*GBHpD&ut^lvlz4pVc>f8|Bf!OZ;5$&WFAQBhO_ zsyM@Ww{O$WhgeMur(@hL%|}~)Ri0bE!&ih66csryby`>)^Roe-P>ZAJ(~{iAxs0~V z;l^RCL;NdR60TlfM4mJ0xhH^FrLi}<o2+w`D;X?P#bP>cP$VP|4OFVTgFDooO&)ce zINWM^;Lrz1UN7A0EkV0rce&kh1S8BM&G?k16>P_oQbrD?MViq0m!iz6Os@}0`Iin8 z7-kS-MeSdAIQyk({+(LWS(6D9>Z9BnF)jX?zd;p;;qJ`fsCx;a!ELo?0C~Q@-l%MY zaWL!<b9{39WrU1jm{1fxoLurMmcOtC7hnX=vdGV^((4kp<Ric1fA`J$Ua%7()cwWc zl&ad2Zc{+@rJfNmF)s`@Z*F_@<SEm9Z+XriwOW^!CD1w<{sUlgtNj%|I#_IRP$UIV z1N8oC(q&Xw4E?-9f`x64ks-$BCs3@4;i)lGQnLf9SLfy<#?#L`)quRPF%fQ|_SY^i zFp>0ax&?RN${m_ylH5uWM5RW(`x9~V$A@)j{m4*Mu(D&S$xqk|=YgW_eM$5Y|LLPS zRq1ZE`Q+=2A1Wo2cWg&=xrb@a-ZZt(xM{v8V46c9sYYMMzAPfCiH7>pt#+IXl!0mS z+foD47Vw?$LLTT5&MCLs+e#ND8tUx0E!#Po$8kB@VJkoz?^C4I#e~-}LL(Z=Y>P!y z-i@BtyiKZ;{e4UQ#liN{M7p;Femld6CFkN^enryA+jqmtw{H7XP50fJP6Aujeg&O+ zc4>@7Pf0R%;b=`MKK8TDI6cGUHO#M%BwF<P9Sr4Tvk^j%Bzc1jE#;<(!$x(krhkat zpu!dl0UXg@h;X^R>yP0uU#4VemPX*}UZ<KqAz1!EvZHbf=GL&J2GYB|Gcr}PiplK3 z!@s9V)gBJ46xFuo{QVMpC+&7qf5U$%^1m1tOH68TQC+sYyn`9WB7+{}f)SuRL?I7` zpzUeUBcEq#+#3uw>UsLHYc*Z{PKp~5+)<(~#0XL<vA8D9n!U<7E*~qFn@Kik^fbh> z+Wlf^KjpIiC`S}E&qTIWRHO|KQ!K5!{~Fn&mvFep=P}<Lz>|QE{gPx{@x+K*O_k=a z4A3LDJyD8A;O-pMB${%n<D9UPwHGfNCCjZDXqv&;p(PdfFj$jYZc9u37lg|V=;_&P z$00B{;y3<8`U;f1m|a*CM4&PzPNr*^H(~Fh%BIb&;LKWI?ON;Oef|FH<CBZjuaSE6 z=l{5$SDdSM)!rXNXU`O75sdIrv4F4bJwqubsn-p6N^6g<>)tPRVJfc_?%-(KpkxiZ zxUMxb2;$78EAw>yWh~)mk(W{QhfXL&V!Ba}9~ED<Y#npK(^4~+VE0+aPT8TRS@+)V zT#z&Fr{?jf`P_h~_^%`pL5R4VnVnFIari+6XM9LF7K8$t!s?x#gWc&jYH0E^TXd9l zS|nNfb4WsY7ZH|ZE1oroG>i0)<_V=}YW5?hW3U8nLS%p+BMb?V;apVQiPZ{MbaqmL zOyE#{u>BeN^SrhL;Y!7v?31ik%~qR%+wFT@k?_n^?pISZ9lyVZTE8C4v;aKJy^SHv z`^~CekV~ZuIQE=X07?S+G*DfwhB}HTb(WHLV%_9~hesB2haBp%DO_@vN)y?EKg6i? zu39{88o?mzkSUsKTnZjOHD-=asc|}7U#=M>`Uk)dZbZ!_|AlF`RFpTzlDRnoK1W+u z4~S13m^r}tJHB<?`)@Il;iQg9d5o$K?F506K}-?lAaGd7=A~xuaZTyIkN1+Q=s|IW z^{WS;mZm06os6W2R!aS<7#)a3IZ^3S#Ur1Z^p;rWm=hOV7p=aqez;}L-1-a^KM!d> z*q-k8`U$(v*ey&NU#ro^jC5&M%+n;R&|Int{Gdr;MirzoJP_++Hp)Rs+HobVocIw1 zl=&Ml%0I27M@>cd4`&X&vlwn4IO?1H5k9a8E9H{gZanh^vSP$u#XePqD1I^|elpCy z#@Q#IBD7+lF()nFOHUHSVlQ~pT4}3?ec}W;kC90Ihi&05Vg)u8)vIld%{i2d<-gPI zNB7KdP=WHPS39BbHJ0Kcqnp8uFk{@kMS+M|?ou=hPDIG{v1e{`CQR;~Q_4Xktu01u zl>021Io(k?Z1FwGT-j_+i21Lv36Vu%n~kydVV#>jrDE0cr0s%ur}oCzXPHY+OM`)j z4`T|aDCRKDq8Cr1-D)1Z>~1gDeb(oM-Hh(x3CFezeA04If;#==EReL;B~N8}vK|_C zgZm(%P9g$E>;o#z&2znsSZ6KOV`XD%W!P&@1PE@tMyNWN{N3#lp<^PwtZL0*<7xV) z(6o$T>!eGAE>4UWx(_PhL5v!gj}o{{UDSk)d<Dy#i5hiz*LCkW;DN6DWc^5Wwp8td zljKFwvU@1^4%s>WC<oO~4(4HTYYHb3y<cW}?yNUxAiC4ORLCpERz0Bo-f4TJG+8DF z?u1@6v#LHLa(Jl<s9bF!G7LemqS^+dQ{S7K<=?jovN;Z{ToXMsZZFAv(vR4(KYu96 zXr{}_9#wL%|JX#Fpfif6l_F{oM^h(6K?RvB1{t0QnLI*YQw#Sy3b)CPR_T0Ix`Y{o zpQL<PopcWkn&`*>u_tM1@#?g?LDK!%pJ{&Ye3Sb;)1uQd=DI%qzV$h3>8YXBOvNf@ z1YPF0Ea{)B&v*5;b4^t{92K1VW9`S44<EvmmgCJ!Tr^$_So$n$!)xs1KdfGm@C21( zB7P)c9AEYC;m}u&$VV>_H-aCn4t)nwPh7ZG{7+#YdStu0^kue`3TsAplT5?Bv|Ykp zv~n<s@W<X+zc|r*pA;+II{&DRS~XG>?zVCY(Cn4N4hJa_Ed|(6%Bgf`sa^8LCO6$g z%nFONh6OQ2Ri2w4bFW7@NQG4ZR12uWDFVF81OQ2~TgorRr+bcPH9D;LsbXG*IrT$< zn<{<<c54b-6*2~IDt?1=3h;DiT_cDVM2w8+rbbMO{{`-1EU<?-Pv@9AM6Y4Bd7=sG zKI_VmGJsFR8eT+;gou;N-=*nsEwdkL>#Yb-*Mp|`TZenOC|H6}St{+55wOGh1{)8| z!7rpS`R!*Mt2HC7Apr`>S~zdu6M<0yhSz+T3YJ2z-JhIIT7NXGvxII<zBK2@kcM9v z`pdC(+bc3Zm)O>*U}8^8OZo3IEjYi}j}Y4pEj+hq3Hy6#VYW;qtI{vIaXkhfBr3WU zEFmdn`h&WJQ2G%+i|b+gw<C$^&6+?@l3=Pltv8WXWcWi<oUf&3i_jCly8=Y&d-2x| z_fH9?dWyiT{?t1E%Gr5carCD6h~{5M5oWwvfMj5K2d(m5uU%`$91RKb(N`mCbU&aB z>Wdo^xbIbqS=euBSmmHx>?Gv%ooRofw9lEjRG_x3y0?A=%d4vMvK-3cxR|~1`Y_MP z7U5SEy(4X{#Dmjlb&)F#>LRxE(q~5<bsV6y?*~a>T>NIYC7thAjFRj>1t@rs*ZbU8 zi=SKAtiVqygqCIL=LP!_V-bAv-P*VBy=<`%*jK5nJAeZ-!)$2$X&wXhtpao|*N@qB zzhs$zRhBT~{uurfHg$<UDDNH*FF$tyY=7#4;uUaF*;Wvf%na%L9gM=s_Ahsivya`1 zjd#gUBDjLzv7RBZFC1u+r_%)++n7W$HYFtAipuJ+c)vS8A)fDay;xHz2sW<Jm-4CH zsSJ}+wv@luIZ6OjT1>wfl+1iRo#`~VQlpNPTinSEFLG>l?>g&o3U*2dwYV4~l#H-p zD?rQ>yGX)--b)-%e@e5b%pTM7qd|8&`Jn2>DE&Lm=|yr70U!|tUu=<Co9tlJe*9t` zQEAyzq%t)(;I+_GlxfEGg9h-7F*0GQ%gbIl#Ko9sLuh=Iwed2Jv%TQlHmik5FslJn zxdM_R8(Vo8q7FhIbgE0E;@X4NFmLOVIq8Sg`wkj*Ei8TG`ktmvc6Q|e&<AHOGG2WL zC?P;44p6;G+8SGRyVeg2<~*1_fgG-P<UT%&-)_IC>rgXah>Q(>@p&sFxEx_%eilQ1 zv<-`|PnzF~LAmb8Q9aUf_x<l)z0oX5nyqg@?H1e^F1=ZFGVNJj`+o*isl2sZ4es$z zEd^*e0IA7wN!Uti_<ajv#dc=h-pcHe&D{jRrmiZzxub1m>I7t&yp*_;ZDAz?XmJ4i z=NB$C0QPmfnOT{6)+YB(;Ot{Z`I&6H3a+dCM)WLUc|Z|#C_!9Amq+Pe@mWa*5myg+ zepHW=z$0|X@aDR<Xyv>Bn!(&vqW05z_w=%Ge3ZdSYN}|A#iW--9p$t|?N^Auwl=dO zeU%{L6*KpwT)*?%L+?H~)i-&qEd{csP&=i1Kn%TV{wA~vzstWNyfv#65RqMWw%n1S zp1mx1I3HH6CwRH!N(HQ5iL&L_rJOQ&Bkk+zxUzGyomgjTFYHBqA4Ts8V+0#)@aDav zT5FP@dr4Z7_alkG$f}Q75a&A1-T`w;Q{nkUMU!XTum7*DjrU8B#&J7vPm6thTM_)i zT)Y<xOOfF24YSCRQ16*+kq8`HLc<9Y1mRJm7>mBT!xZe{-7i+62kX>i6Z6%Z(J%@_ z-0?JzVd^ehqi=XehF@mU^rCBC?U-QgNJ$R(<Y<do0A0y%A~<JuFVwX}6H#wEMuL_Q zEp<^{04bwzG+5__U`C))FZ(Qya))$-giWf$kDR~T>pl!r9CQI%DG?8uF{*+xyuIkH zZf0RavWTQN8&<32I!;Furb)cE?%)+j5zd<k7RR5xyIC^-ShB^|N7(Y8NYoK~G}nor zK{h?adNWr~aD|iz>V_)n^M=&hc?I3ztg@K#fZ&+9;F-Rez&<!N&+X}Tr4QYU4^Ou} zqAkaWfpo+AiXj9rN0t^BN57k3a#qo3M_1e%ANXZpdGd*pbGs+Gv7XAK-U@iqk$cCw zW@RF<tEvosYG4Mloc<~i19z9dsHRgvS5%HUT>c50)fdS4hb)NV{HmoDrcw_}I)!z- zN>>&J(JChRVRYoG1E(%Fg58-N>M<(6q|*x}63TI$iyO`KBD##IAZmL)94@9p?!^J6 z!&BSzbaX7ctQF^imA@YoSxsvOf}qXui>ob(YYcFt<9jnZhKFZ2qjIE`aMy+YVSx0l z_1+G9AL;TF?;Hh?*IKd>0?ijfrKyi2`+{mG*1y_RS}4fU$w&5knwD6yi`Zsi7U@;R z`yyS{K_PZ}wZD>MVU7MpbF2rY7$mXNX0h!NQpGi;;b*3I(cPTEDcy6$pWTH$w`75( zm*w{1Hs^hJ0j(B4OW3$%@vkI_T%LZJpcYM&<k!8fqwp5_)3T7AAqN`|Qy|9=8!1$? z6>W}UhUXe_mrqXuReYSM^BtqyE8(U){{hb`gvcWHKIxqM`#V3pnxSUn!(4#ChpAG$ zarGT7JGU4QqJkmD_$Z3gv)b=qYfWjVM&xZCKyG0M?YM%aYf=nAI?mSa`g)UZ#))AV zl^+igOgKYGKGv!Lrx!HPsjTkqXJVvh)*_Crs|i-VE>#!X$lKZ7E7?c4Ck{!}sHRH& zPvBpQOMhYv(XLr!G*NI)-6t+us?3gm*`>?$Q<t&F{uFVrq<9D;FRBHS_G|*f`5UrN zV$`mle9F?~=CKeLSzO5|Y$*kJ5#NEFcE$n8##@CrU!C@XT#3xupw#f1gjn9^hsKSk zv8@2}vxhxCefx}?6zl2Zn23p+-U>^-!ZXnGsZtkldEE{fJvg3Rq=@17Ha9mX@<Z)@ zS*R<jbS%S7I+mSRJ&YY-;q>B&O4GekmV(@>IAG#hau{L&uh$BSOn?8CYKAsvRo&Mx zrEjHeRac^agB&A(jgzupJD`am>o$Vnps~&FR=bQ>7+-H5>uK3neTw#C=Nuk)CgIAr z^sr?~H1m1itf)bR-Yd|ddO}gar0vDT^1lb;6WK+<+L!c9eCF4+yYfPCw<RfEyqJ~t zX1YXBSl80V_cB274|y=Q<AthS_CpgR2HJRoqJslZ-v%u0_&HXHC4a9?VktO<g*ui0 zPj#Z!LDfo@k;@e5E0q){W>Ned)$C~f(ICe)mK^lj0O3neZuf$S^k(sej%xf*gZ<s@ zZQkcG<Quu<?i`lGlPGs8R_83ad(`U8yPY!Q`6|?RT`TA5gy4ACMIzh2Q{i@EZJ}RC z1l<pDl566Pd8~ImrG?7}&<HURP)DhN$zc4wBH`Kg3<Ae=_EckKR<XIIhS@<V0M8BK z;z+f=on`+cz?fvh1H#=~uc_e339OH1km@k*?0%pKS&~9m=uEVGX@x6mNyR#B{l4|2 zRl@Z3NnnS%K;7ZngOv*hQe>p68oUINqM}a;AIuWW*eA<SEIS3$PtqitNh*v0O_t13 z)|DXim6i`1AIp{r(IkmV6bnNdn>111InbHWCRMSPH~ce3em4Vo$1o0hh^j^fWXt5; zNC_YaHb-fq0{?~U42v#@DDr!)W@?I8S7&*bb{lg{XRgK0>a3&3+mcVVrL7g>Z0r_A znhlp8&>lhSnv(}A6Kiw_th#QHJ@)J>rEN!WtWnBbyJ$r91Id}U(xxR?F+wEyl~lM3 z5QtIXKpZ2XVHuvyd0ds?)Fxjua>_6?BkDYXeVtn^_5y!W;}$$G8UL)+I@LH&%<Wmc ziX7q<LmZ9+8dfxQ^lDq)j`c1yxY(jLb#XH89pA<rL%GWA<fmgx<WfY*Y0Bh<AL+BT zSvK9HbLJT<%k4%vcK^UyEZ-|no<7wGj)~O*NYc{m!ePbCi|`(gQq$sbgwrvLF?{KO zbpt|Hhate(7Mc$O#*3B(sE{jXq!SxDlzyn<jH4^wE_`5X$@8ocLj4fLiV^mH^+Orh zym3@K{`e#@TV-zIA+4MA8aSapBRAStgVVwiUbz*>mhBptQX8RFl|v(4@I9HE4o?61 zwyI(8c^u=EYP(62Ivr2u8fQoG+X)SE;|f}7H#t1WRZBM`n`6YUIcLk&Tkh8|-^ywn zApw0b(lHzpSy{O5qP_oYCAUgHB|o^v7}1xm>D8$NR7`AfIQX`C(VU`ns+IGzU1<&7 zLm*UAzNbS2BqjP8U7y+|Vq@Jp`c_L>GPc`222^Rxyg}i>|2|~d0S=9^Y^7PNU>%`} z(VA5909FlPrdnQ~1FIq*wFlQI7iNprH?+H9Qvorj7M9Oz2CKmm>GCmbexn7$`{Hk@ zYOCnyW@}PSU+Fkkt1v6qKZ`=bdwUDA@ir6&qVN(%IRsj2Z3r$(6>|{A3$d(i>d4`G zXK}(rIZ7*D&hxC9S1@Y>z)WuUH4d-?Tdm4pPIXTsh3kZ0RA=Qj`96MjPu1{{_831R zN0K-Ke=vi>U3SIG-1{s4eFvRsMLrQX2Bb~hO_3@2gZ}{9?aAV_<NOvM9Y(s6hm|~j zx8J!h(4<3hx!HBfbR5Tv$*X{i@%-yR02l*IK5f9v%a0|23=ra)LVcub?XRuOXIR2^ zA~|FsW~!7niuuhrKJ_IdMOzr%{g+8H<y+31@HKX++-gCKyL8FcHc1X<d(tWxsp?Iw z`<mbm6QY*1#js}_>vN_02D##w7F#DSJ$6;G#3!_A@sB&~EOM)TxM%MNsYqrR;Dv+- z+R<eqz0z)s>&CxQ+Coqa3uSRjqt$+st(@DfkE1Wlg+mvGl7^s%G?`|)swRrKGSZ=) zgA?3w8JwXbQ1^)6D?I0g*l=!34?#(h+s7`F^irM*!tySQ@L7D^n}r~$5wkVCl6}r| z75A-W-M3}M7?_N|*pJzef0VGQu1obwon;)v3-LsspeWU%-UDMkn+pd%2gg=Ij4&{M zXSYWJWtDs>YH>h=|LFAkVRAuDE7rGgqtUV~%HGsxvviO2_Xj?A0a8gI=4X3t)sUUo zK@<~e&)!a)*!6hd>(gN2eLFl%4sK%D0U<y!epnSiZ?-cv5^n2pypU|TvW90DT${1H zvF;Fl84+?Frwhn4q6;JOviFuN$MfC)_{9;GWfz7C1e^NDlGoDAz7te6L@!zb(N95! zXs7!cnODAxYJC4pmj2oWh;z)DU4Pg%vQ+PbCTQ0piRB}6ocGdKY8`@}LleG5-DY3z zPZDtd;iWo)$`YqBxgT*s4mW#S@xw)Kql?9YRe7{)v;c27;<KsKIiLdSbx*lDJwIOB zf3TYV&^IQ)VxvUs&m7BFpS*g$lZ?a&uv(EZd;%Ftf*PMQlfuaZ@3yB#NS`7ri6Y&} z15Q=d-xs;w>-g%P@BJ&ShetecLJapw8PwLk9DK0&-#Nd9=r{8}dKW&QNIx<KXjpu0 zR}K%>R6*uM*zANPXW0NM$ZxSg?y}eNfJCaFbvM-id<4~4KSO@}F`@E{&8AjaRT3F; zJ+`USFn%(Q0F_nvjK4O*1?q_qdTL9qc`59#73c!^@7ndygWnx|V~_N2s14R>VvKw} zium^9@r%LA&hesSP(iWIAW3OF969i!PGuZv2!uTEl`2T~Gjx4@Mmui2)u4i2?w{cU z7g(YLN=A%}iGnT1oIr~K*lA$Ez-gxj?WPK8J;I@((R^B-U2&+;d~WNROwV6o;+@UB zM(4a<clr^TV`XVi{%Ccxa8F%L4=b0qi@E3&*sYMKmN?VuwNHK47KON^!JfV>PN>>> z87NY}=F7puptRLrvY)i+=oOxUI5f&8@E;*y^djlL$oT1)kbD4A-&v<xvEvD=s!*Y6 zH>taD9(gp|_aG<b!{Ch>MJwCvY3+NPMEm-df0OvVWqZq;iqk9(XEhjQ#Mqc}WG_`( zT>%&>9g=IT;$cZv!y+q?rKqujsE`McIY~~MkTCR~sLZ)N<Y`K2us=LgZDP=3McNe? z|8UUhdgSSw4I9Nlv$>cJ1C0t#)*6HH0`SX!5NwTW`KnJB9OGZx#O=#Jo?<wONWW(v zztqKalBx&=NU%&dzS5wm@3`5D`3GnmvLGiqbm`C@S-)@j0}DLCWl<#VH;{ifdy^6> ziD1T<q{wG$$w{6BC(*KDFDoVz*+<IsB1=1hY)ptMD6fcMqxQP-kwjfiV2O0xcQ4aV zh7ciu0glti%g{Tz>4+hEo=F|>X?grDTOiLs$7IItZdv5q&F@=g$bhoi>CMx?&Z{~m z>iL6oV&oej7nEVv0iI!XPg^P#UA6!*CE+8;4#&<yaUBM|&c<b#P%N-Aj$UzsNQr0i zWwFQxFk)U4$BM7dI<LFwUPXFyPjiAxh1eC1ST<j_0-84#p%SHBGM!7GizhoAIU03@ z$(fv%!^x2X@?hy?b%zk4uE0VZe)|NPG1s(2vfE`-yl9z8`A#uMCeBT#lb$t=y-hh; zn(NjsH>WXO{ohxa0h+3vC!0?&Hb1RIazyW@z4b^hgm<8}(xOo%b2SL6S%F!qEP<@5 zM-$UES{Bs_CcpI<_o!i&B+7q+Jk_EGS6Z%B0tR&>$aWr_@ftKAdJkBNCcZ9y-d^(b ztwg;o24kT(fIJ^C9GKQPOaM`Blb;F7o%|R{@Zo&d5QSN@VJuiB7+D6JdOR_*>%wd~ zP7)JS?_*)-vdVO|O?`BawpvElZKQfIhW|9$Pp0bHiR19@Co?~d$1gcD+?fu24@_ZM zM_643C^aI;NAn)H(~>H--4!<u97l{BuS1(+;Zy*uhp~+HPJe5uWv1f~7d83^fDvqX z=VUk+T8-p9*$G4oZomP*Z#828ax1F{y-RJm8{NrfyX6P3bpwjFE>cKEGfU3Cy3;*e zFAxz+igSBEsg~2CrDu}@VT|?U51ATw2bD(SJUIevk#<Mi?<Co2(_-0V8HIq^+^ix? zB0WbyHv@voaA}e5wBW%3+ICBx^VKoEpk7jYUBgTCQ_iAE>^CB?R1k<Bn^&<K;T=lU zsc#GDI&sCHOkOdSb=8GFY+LxOQCZgUgwc9xY9k}G^9kLLd40k>2To71lM;0hvO4xO z>8;@V;1}ZU1xu3E_mbp1M)*t~8m1gVk-D65{fEYEoc7E)T*~q4#E$XU?FMhdJTN%5 zmP7^C9osRuppCf;M^q{TBFt0!=pxCBTVn(h-ty!WW(GYYEFdiqy>FFo{T0Va(9;AC z$9NgWnkQU*>|WN5W8$geq}8r*)Q;5^0~y>q*`1CpF6DV=`+1>Ui|$ZD+ADZKup0jB zc-wn4?!K22uKyIKDCCbT<8f^Zammo`(_qqYkxaPZJ`0C0GK9B1ykaOpxtN9I@0(6G zzbM)~wO#nIq-0Y)>i#0`kM?h7<W`pA)z=5Iz@xlSyD%zP!(^p$8~M_&=4QO@)t1*g zUfic>R2D2x<i+6sUptxhwm^!Lx|)i(<C=KNlWF&^9Nt><Hr_MQ*VT2eM|9S{H=DT= z^kM<uXj=0eu+<-w{ln1?1+>xP{jtVpqDl#}cx&-)gUU8Fb>M;5$grLlaHb485hqXB zoLKY~y6H;;7iGqPNFpzQ5|m3Ii0I`?5qU9Nk8fB{$vrTg{{ho@oEyO_cK!K=7sb59 z!l!7(dzkR4n##D;M~wU}t?3zBWYJlm=_zyWCD5F@<alKKmj3n*m>5Ysn85W<>v(?! zZfj-Fj)FGJB=Awuz0xRHQl3(~?^BRGKS9qJC;<Ze)X}<7Q!cAXDgJ%S>r8Q3kz5v~ z0x85U{JzDBvg^pO!u_e|MA%T7OD};>CaQ;qy87aW0_gi{IPUY=u^o4(r~OdW4Sx-@ zs9a4Y3mgoU#yS6*=*wGcH2MhinR&b^{Idymx(b&|8do5-B#50&A?+56a<+c{8=_%c zV?MGbbyD8P%rEOE-oog&lm4VvhG#I%^>gjW8sVi(-1)K)r#2BZQ<>oF?{+#}G5tQ3 ze<gn}D<IhfcwvqqN$i!Bu}s%YS}*;+bwi8$eTyc0v{|y~EMY-=XYx+^k|eWfW}IS& z2D2M~)r4FE)#WNqnoUV&iV2%g)kG}35Ax<$fH`z{7I%j5d$;EZ+Qs5Nv;b&XJrxl7 zb8?w&oqhhha#YU@&kVI3X#vscGJXm!;Nv2Ut%NoadvpFX!swXkn;6yzjxDp~iT0hF zBz1SRDvi}VVM3-}6t)#_rRoO}w^eX6lc}e5sV2fnvzFFYuYb<y@Fxog@F(Va|EUgf zZF~NT&Ya!Sd+=vwGtO{!3Xx>)T&-iS$A%Yp12!OV85<d62Mmc?s*@I*^$kiI0kEqP zc!L_BV2dt!?hf10X5*WRmvwdibaHWitMo{2Z<fd&;od?s`tpu;yLFxa>9w{G{Zeu% zEbFAzpFaB8wfB9+6P>9SL{hv97ndM~@HD@%QfC=8jULYX3*Vcct4e*l&laH=&jRb# zqF2LsF+O4Ec8Yt7H;;$gD)AX}BLQV{A-V?Dm#*U(6n**h(H$2Td?MSP=`53PHj}we zh8(KY)!j;Xpdoc6!USaffF)<#HW^|kU$6^hYQ&tQ5icl#&!3APHdCF+kVUG}%@j-+ zFzk(kK_D77Tr6s6^Sp24`cANHz_53gc}7Ch3fO#h(~5tjCiLNecm5VzofD+0&HRXU zFw?8<oojUxf(_|<^1O+?Hg04~?n9{JY5p98yhBXtR#iB(sLL<xd~>WOqZ+*$AQ?e4 zT=nx`ukwefpWBH*uaDq8M-(|@$4wBzqZ-b?Nf8Iiv)Jhg3)hcTRb6MF8Bu?!nd`Pt z`=Omo>qlD@#V(Eev(ubZ_P=GCHJiZZaI+fe-gGxrRcGGj7-?lhPgzmvY;W(o)!cxT ztt*o*i~0)2#&j+g*_I!lH$1}&0A%su?Y+7=+}|g+AL@W4+*9;wPr4;Khdb<q-g{Bi zLN+P9BrGtC^^Jlgb37hI?MT^(C>Jd>SPKB9K6-%h0}87bAqRao4>K#r7ry76;i-}& z?2G2+*KyasZ+&d04wy2&sm4Nh{vO-Ck_DKvm?XQM^M4YYt;`-od7RB~WA8#E0AXAD zDUVJ(3GDqNF>P}8%l?fq?@Ye`60$PL^ra@Zm3qekM`Itt%$o@Od60so+ErN4X<cJT zCzU*^G<5Rfkbm2Wgt$>Z;ORK&T2PEqr6W8RwvA1ysBTo6_*i{VM=@x8BEx%IG$K5R z&-$-|Wk55@>gs?*^_h9$Sws2vr|T8AB>gg{b2D=oV+u#Bv0SAX9eJnSX9Q7~g1y~e z+7Y1(Rr3|8aS~6fM?;;5BL171A?nbptVcaPsCv(>J)q5X0pH+|r0_p(|4{K7!t=jr z1LBJ#uR%1)-+4SNyA<;)dGfO9xMGxxWlLZ{c@*@$DXe65XI^~e^FmgGB}qicuc35A zopdn2n|sjI1@$|nFm$#>-aM<z5u^0wq558olkDqE{;u|hpC<FSNyT|`t+-QubPp60 z?xc$OY>wZs>#nX3vvV^vHWYWM@9<{>eMLG6LVj7;N<VYw^PHZ#>Dgeaz|+j$^$DyB zX<qN?wyFBpo1c-49D8$b+)|Ze8}9^PRq7n^ojRQL8hiRU;jn@$WwjY|Cp9Ug=Nz`> z4~?@#+Tgo32rs<TAO)t`S-tC9>?&G#ft^<W|D-a5*6XB`9*4|z+vJy?gTElc_x`)8 zSNca$gfHVltefS~3-XktkQwc6iYp|*OE*cQqj`tua%#~QBWb5J2b0i#cu_Q^xly(^ zYxdkZaPs6dQlQSVG5a%3`ory_uLi@5(doDT`*5x|&G@ncK)&mrgcYv+HK{j$e8J<D zCl4CulPf4l4%y2b^~JVOfRr7Nn`ap_C8vI;kD6WoVB(j2yq_xcHtws-hxe~zX-pm) zIfH+kO0i`vatfASbM0?WS>HVF?EE?cPHMsO1_;Y#m+tq4NcQH$Q+^hX_^YcNrba>a zUhNc}+vk|ZxWXUz(VDi=@G@5m|G?g|(Hdb%X#8rU{0!GyGBRm=6H=pY!U;1<BJ^YZ zHkFkcn+g1x?{=pvqv2YEn_dm_?w?!fRX>bq=lm1hKakAZd09O3XkO-j_uu5)K|LgE z@O8Kymt;@2FOx_}tL?+B8|?}E;Z^cn!QS*5c(tlJw=v~HQ!annm1u3A`*KsZt9LiC zR);~fA+>*bjsDM~2dnFA9RK`TzG=+^&CZFso)5Zd+zO$0L_cXc`=uC--Dd*G%Ix%s z{>d2qzgv8LJ$BbiFOCP1N_A{G0|7Pe+g@C;$xzT1g;<tE+1zSAd1k3Tw<=JBc0<*1 zWV)n1{p4B0XV`FCnDbWmyvG;Tu?l9qaE~7UE^&ObwJj9?ZRrB1{L(Y9M~8CJNgAnY zoUfdiXZ(i9VTY@Kf0|@^pJF(i)+p`u4+n>9NyFduT_YUaYb_<}PPBe&sj3!SNtH+l zX<Gl?#4pw8v%7*zSUD_Q<ZG~^YeC6!kg`B8B_?|OIbUvuHOnSFV|tmm?ce)S^{IVb zcNW6R(0wWAtqy-bs0Uy++fC_VRXXasxOI0(s8NLR;g5ixQBO43Frj9>38sVJSL)WZ zKgX4(_>XFJ8>eh`C`!MsqrLUx+u{Ez6n<{dhAZu0`RF}={#VoeseSmv_2|gt+(qE; zTd*?O;t27+6jqJsl6<sv%VTx8VqGJZFp!`<YNJT|>3gLVWOhyX{Qc8^hO{^=>;H0d zaQPn{&H2?U1FxFuo#~(3(>L6w!iw^&0{j`kP4Q}Xcir=w5HV=`edAKoKkwhGH?dV< z>2nhM!$PL~>s-mLg#!=*8RFLBGiq0sn%IPN-XCtl;X@=`iGUA0z+Dc5``unFGAo{= zoCX|m4XO_XF*~{PH=&Z-zf{Jmn=ER#LIJr4KDixAq&CMVRCv~dl%Vgy0f+H-n)D=g z`I?ho9sIr(UbDGBPFl%P+Ao1^8;mU0*Cgg}a+yYvi|vkiZ+}_bUOX)C{N6c^jlQVm zGHeghfcJq*s8Is>klw7~RKCJhRsn_S%Ia3hC|NN_21YFu><r<C5z{m|&PC+Op_SoB zhTyD_O+t`X0rp$<*v;Q^Wf3<#9z=f}s$Nbda{BMFUmI^*awd9gAt+p>qCVqKCP6e! z20J+RiSrZ5&0i=J0lc2FL%<GVxTB9TveQ79`4j$yp+N-aFa+`Sr&+H-_-nZx951Bz z_brXi!xZFhs-Q!XR@@sgkNQ}Jr(-xy2nITffH;6+|35HO)T@vI7ZIPYIAc3n;4kCm z8f<gN&d-zj0~=A1uO?h}1?yXw;h&N%OyRKOenmFW;rx7fypqHY*W$DK4_9&~ytT|q z3mUFHpG*<Fmqcieq<A)<rdV_oZGo7R+pZmx%d&wFf`g6#%KD5;PI{AF!sZXa*<6*~ z#)Oo`xu+0QM_hQjZ3R>OL$`S8@e=?@0SolZ79O-}Ai$}hoe!oPCV`S2EMp5fbEB^g z9Wlg>z*xlz9i#x-agSoDGIBDw^N-b@xh`(}!SwV$2`528=`fC)d4>!RpCSn1I2ueI zz3#&+R3IM_2C2$I6(7sjgIRVCqT@KaR$vll|1dqrC>LDzA;&s>2>>Rfy{sk-iFG(M zq*(64E_MTYvntFSHRwco8^Z{b5df0X_mg_zCL^_Gq;>gmLc9ADgrOCx@N!A$guhWM zo7Bw3<!msm%QS%U*>1oNAGhd?tns<>#C3kI%aMzbbaC{lUg)n<L1m12PPw1(|D;+J z#GooTUJDC&1OKK9MuZwJNs4R{(axP3^A0mEn57Cj4tgUa(%m#W&D;XwsR^RvA%z~m z!p|82owu7SsK8@kFi919KL{u<&5D>@|JtlB%b-;%_$WM}D;Cf&as@ifA>|<`gM}2| z-POTt`hD?F&8a)dqAn3?huT6}94-bQ{`i|xtXfNn7CkqQm3<SbJV-6<zR@#V6dv@# z?K+lYsE|dR{&hz7J74Id6=-2WE}$7!sZRX6uZsK5oiOAGj&@wc3uJ&F8e)JezmyNj z#&VIo#?YglEz5qh^VUx~<r+ujc6puj>~>O^`0HB#E+5@<a{-G!{)Dqsc%BV@F0Oql zqwVVI`Yy?7M<uA!mB04nptIXLTG*Cg*#6zE24*T^1o1?B6yub%vh`g7dL}0*+<yH_ z`DNvx@>KqYryReAdjN~8Q3SyvFbO8>BWyz2SvSenVqFFKtg3+HlseyS8H5$=i)RL} z5f2s3C-dqmnsR!j<^DHI9YtBzM#|7+?f1dGzB;L2+HlMEi|wxEa4ghh4#ZE4;p6CU z3i(*Wa8QFdWn&z-mi()&O2f|>H3uLfTa(McfG_~!o=ie>=SpuhH)2$b5J^SnPQu`f zIA6{&?@Wv&k`tJf4U4A^%|W7xb$=y&JGiCD6;b>BwqlOIc>Knq?zcJHt%`4_e#DbB z6zUn%z8i2AE$Z~O(z|P&HIEa-k!1;M9n1<SyFZpS$v;DQm7y>K0D4yWtv2NNYYx%9 z58KkBLJ$&E*A*Hpm?9EA(T+Q1aC79`1<z_fy%6NXojM(?agdHcP4tOUOcJktxmrb% zPh#SPc|jaHIG#UF>H1j&F9cx*_K5qpg{0h@%~i^D;{+^FJL|)Ig`kzWroNoh9<$Y< zGh*Hix~cxciCY9@Z4UDG`s}sz5zLh8t3!U@x>UR3I8>;~>kiKFJENEiMF;J)Pflp< zJx7*Ry;&39dytndal#&|pd`^cpqjuktbIwnE!)XleUv0GR@7&JNh0#lkvP~`NX{Wa z7%yR_^Rp{?-Qwq}QQY1Q-Q&evuER@GbdOBGB|QsY7)DI%SzNF@y&k<L!q~~0M%juv zTt!|WI)h3vwjuQTaL;gs=3lV4^Jr^5+Zrg7khcUZ%F{8ju4UUj=q#u`IV1--`MTc8 z6Ulk-PqkNm;h0HIkL#XL@?b7edf7rkT2)-RD_m6<&xHv<f(imGVF?dZteX<5PW)Ug z0l6$INwEwQD5H(Tw1d-e&x#a>_yHMe+ZtrhQhN8k77)iR&bjR2yJ^rhj!Ij$gEWL# zHIg;Qal*!!*Mp&NQ0Cg1uZ~LG#U)(xGXC)Nhu`j|=`3KEGM};({u$=~vVBQdd@9jp zLTNvi8D?Rgo^NyRNcAqnWeHK4eC=7r+4HInPzg8))>&M=tWf5Q8k}j}Azdd^gQgE1 zIrWs=QNdPB$%R{!H~<DdhP^BzGjiz#aaD%lv{+5{auozUsOY0{NRORa!n-QF!hxaz z(p<L_f1E;|ulQ)pbCUY=&^mKRfvTL9>M+@9;3>a_Wx&bL1gWz3`mE9ItLJeraJbk5 zAbfFi6r3wr?s@WG%lXa@uB2p_Q^Zms1VLV?urMd1xb?3@?8+^E9kO~Rml+l-HOo7b zIUhO$W0DDm-_Zw0DbHd(<&mJ|NELOTGxCCUSQ|^Jgz8;?f+fnIE4w8;d#z<LW}5Ex zvHSzP>HMoDI7yu3cqCDX+NG#DyiIjVttfD;bB{4tq9{eJCHMWjS{CUri3N<ePa>b_ zK~^y!3wk`*mrqXzM2t21xK@<=%&+ayK`X6iDKDNzSAIyzDC%bsxG2XzaXkLbA<DV$ zK_pr!_lM2fn>x$(6t3tFVD@WZ_}w9)Uex@DHplrWE1rrGt7&lSq}*m%ZadeuHeoA= z`H(H9L~SSKQB7Aifl`GiH*W?cTA~m)Cweb<6+cY87I<@XD50D5>VA9#9V2GJTLtC+ zsokjiJ2n9u6O+Xn$g-scWR=#pc6te34?oA*9p(J_j(-*6#W{}e2pH6f$>9?osG=`> zl5sHTo@y%s%nuI+F+7PpIqEA<$}<eH6YDgNSGeCB4nP-c%|rVxSx~=ky{fHjJUAh& zA}=~i*iBUWdF6DQ{;eH%&ClFrhh7Z6cPEmILQ0j=tON>V#Pn|xRI8LAzi&w?Ez5T< z9W~FTh>D+jaBQKUWwAgM!-#v|ldwwQn3c8YSf1AnmOzR7)LKhP&Xa>x)!e^(E7E9x zY>sx>h}c%7o!b@Lt;R$MCi!|Q1)g2C*doT!R9Jk$#%OdT`SKg?N!1n4f+Q!R?cuL% z_Rhe_j%$V`s{~gY^-n3UUZ1^Rv>&TJcYPYabOdfYIL`g(E9y<0ZpC@#BTU#}r0~d; zA-SVzx|Exc9Lq3bu3Z%eI7O5}%r1gAxqSi;_SqyrJiW-atbvAZ@={yXRNAec1jtOT zQI;O0Qpjn8eA!CJO0TA4gxAVewQmp^J25VXltq!XF#i7fk2c2gXs;!*0#ehjoUUVh zbEBY%sO|2H?hor{3D{RB$mcPJ-gd}h^Fc7O=XieS`f;Br$<SWP91cSc_<PHA+>2*n z51nZHSO2m1{(aP7tzpDsc(#4BP0qq~E!{Q~Hu}pL&=>*zQalb{6j^iv`E`i7z6Ki< zZjB|y@`tir%c#c;ZPI)_6YFuD%6;h6%$K|-DLx=v%-n9<TH&ILOJ6Kn+_n?#g$R4w zu-#!SDV{u$n+EFyJA@usLl0U>o;Hdf<#^1=UNf)7*1lJN^u=50xRpowa@sZzlO(~E zt5m7$!YM(sd$sk^ihuA^+hz48QI)(;u^@vK6a5F#dEBqQ8h5N7tK*_q@w-wrs~{3g z9@#G8g?Xa}M6(!GXRNy4AcFNTG|nc!q{W7aIhu5(rwH9mTk_y=nZKRtG?D{P1!tn( zjM9Y1Ns``r$OkNfvZSla>l2)dUwn7t?oP435<3g>U;3-A;h+hAqVn+`cw46;d*>JN zS3-|?Na55ME6RPRC{}Bm1fSS%onL?#Tjy3LI=$9YBddfy;h_g0_1-MYg7G|7j*%6M z!(5fvY_!AvleB}AkWNSi$|ZrdGv<%9pn$g((gTDgz|u{Hko>E^mL=ZkxxDcNo4)y1 zc$8qmaHUO~7@NF(rMSRwPd}*8Y#QE(&IoUvRd`xLwbgH4gr?G$R<I!liW*(3U%=Mx zAU|P6#D+DJmhN3{E_l%9%0pDD%ZI5hj0&n@m=*PXHM^yxU@uh`?bM%-btseD@&vhO ztzN06*hx)6z2mweU)Cy96luVZx{JqCM0t)IIZ(!ZSbFiz35X4#ny`qNBp96*XKPS% zo;SUIT<jgW_fVPLfow5(D4|QYOU(-Nq20%A_fT^eBg4Ofo<DA5+>qfBB1>;It}F@F zPZo^4>lTldwVcwWndz~P_jF<}o>G5)mt2{36v<Eu!Q8v#O5;|YUdO%645#X93_fFp zdow&StG$_Hzi+*0R=H4aeS9byadabZswzq2;2rRQzO}j73H455z~k)Ra9);OmFfc* zDElAu(^4c@_8Ye6Tfl_!cAyV_cOCSEI`6LfeXCv1e9`*T72U!-=hY+gefl$sxaF0} zvZ>tV<^NH19{z0Z?;Gzqov5nTo*h<V?^#X<Dvlr_h*i{x7`1Bitv!Ncw;@y`A|g^F z_9!uqUAuOZ6g3;PXwmb_?=MJRujljJ_x*Y9>v~@uianu1502`k6MZ(CYLnJ`CVw$N zXkB4U)B_e`lW>&kt{9ErjFt5iSZFD6fstn))QIKX2ZBk6NKfdzI)s>S9D^8Rixh4d zD9t}pG5A=?U}|e}Me2$Et#6;%10qi!>~wJ%b0*?<i1>suC>I}13(})+;(AvA_(P_( zxYpXrW=kxcY16|(4>x$}Y12++g&)Yfn#q@^E$&V%JQlm$4js7pl=RNIcrZ|ZE<~U1 z0UI8rnexJcmO;mUzxh3K{O0Os>}%4YhsCfU)Ckaui0ajuB1&t^TUp@{YS=1Eb6Ogu zRX8F!(Qj`ZO_z;!?eW60w7RQL-*?}-b0{Gbx4x@sEb@o^B{|gBy;0dAyUAW7HUQ9U za5?B_$E{FP<I$s<<pv})1D2K>5cR7~W_xCv(f~TYKRdb=ko-ZPV{&p~4&K(<)ShEk z-7q{HM~Dsg?lFPg$~EeAA8q&gZDq=H#7Ole{WG{G{Ws7WW4;XS0z&fcoG%M?sTVoa zy<E3%JeIQEYN#gk1MF5!f7uZOiNPIHzN=Qb>IU(heDAYPoyHi}afmxbr;k>C9b2J$ z_Ey$a*Q;kguG-nDGlq!LMYq#m&uf%DL*>yj2ypLGIas45o^Scvl+pJY^%{(imdB6c za4EvUBiYr)npvB6%#R<jWnXflbcJ?qZ@qN7yYHW%W(Iuf*;o=Jq7yhIghbq#de&+> zs4iPbHPM=u7mo^D_-Vdw9+<HT`3{fA3;l3cum<PjAwo_+6w3ksU5NPRiHADZKu%wv ziqTPLwG?`3Ys<`&#m+G<Lt(qd!s5;UE{Jq;BG@V`O7}?=dFLL|`5XGEX5TN$IJJ#@ z18$;Zz6#%RGn^uMbOs4bi6Mgvj#kz=jkqX?L%3c?*C)GP#-k7w!W7PFM#d_^+G{qj zgVmemn;VO^8j!)`LQT9c&SV)c1gib6Bt~&K!%<rk)M+Xa@cVS}^x9OrBwtZL0#;^B zBOzDsbikQu;Xi+y+K7G^wn{%APxfFgnDOP7g=r4VIZ5y1Qz{a9b2OSh`t9wi$*Wh) zA3fRUD|5g1FXzlMDJNS#($?U{NfEye4|6^ks8b(EvKK0gr@9~-C-Y5a0`k@xauRHs z_m;=U4#$O}^k~hXu(Q*vmNlWtJ<mkt=5D8@LE{4Oh2}h!gfW#wfU7q&9-|4+2{3tm z|2Mn%DIm;fY<!?e=SNct!|YEgY{K^k#!kHVxi?s{H5%Hlxv<w!5teQ{)p*UUAcv@) zFem1?*_fa{B5wG&$4{XKBj%uS;}#hhG=LX$>Bw2L48R*2y(rT*ePdJP9q`huEBL3w z+$Q&jaQABf*Q)7$*aw&W={m|#E$@B%1<mB6EnAe_{zt1_JziivNpPr?a%551p!Mdz z3!iHYuKpOdH*<EH_^~TAU-P!fkvl|@V@qGvOxEN3G=o`CSjn-7k&J55o01%T8;-h} zvhm7P>{rZHPc`6Bh8*k$E^IOcr!Mp!r)?AvXF;$8fXi``GL=(BYi*qc270*fA3oc; ze{xv7o$aZnWQ&?Dv6IyP?9E_B952X)&fIq{u;m^4+B(k7R&BoL0zzo#Y_WnFVObZv zu{{f+)NdC@tHO$)(|c;Gyqmx8)|K{@++q4BCngleGP7+r3;9$LO|$Hr)%zy;ZTN1v zcRwU@CNCooD#JvJPyc>A60n~rq~-!kAOQ1WQXM8Za9$pk{UaD``o<yv=5(x*<7iuo zTfJ&!$9cUJFd9HP)a$qPnPN-Nnhvl7-^dgTOZ(JNIICov@NQE}`t`(d__8fD4XU@% zE6#-RFeAU-{#wd@_IImhs%NL8spGzRvPT^6^sHyYM8me3zeQ`~#F;UEE0>V6r7t%9 zjW#7V|GdSX;Ky&?G%I$UAv-P#szD^aV+N!-jRgccOavZp9s+hq0z*QB{i<sZe9R~P zWx|{UN0g$3`&2({%xr&VIP?CmfbV9XF*i^RVA%(Do<Dg#6F|_OF3YH@oWPCq!XRJZ z&OEH=T3N!&w26N=6LatDf^ok&=gAl%IK!CsEh&V|hFH=3=z`|>c_p3h{O8vG3R1{D zULD0;?Kp7gX$&$FQkJI<NEiN(Ia#5|orW!-d%NtvX6vrn%VQ<RT5XaM$s{%^8pJCy zCzaZd@M_6=&&U$2)4w_R-YzL18#1C4-T{AY@)?U>d+p;Vl<~L5z2L9wZxl4t_tjWI zgx-0?Q*S?>Ww-@;gCOKT*2$uBc6&5r@lt;J&)d-d*W5OvAXi-z#m$#Z-eiuu)-8F# zFa6W)S%zJPzbO~<DVUqf;M>m6Z&dSaQf3zN8YQY7R#|NtN(0~I9?8!+)ROHY|F&9R zv~*bd=L<-;G3$RcaydqBwgWN2+(<bTnCT6KMCnGYKoV%XN)215di5NS6vQT@KIVr2 zL7=LHy!juktbg?6OcigefMtB!^>sGq53n_-kvX=G-f#W7@iyi8bd)AtoQwKyfYFAD zeafbX&I__#KwKEOuCmNmuw0{m@pjK)nWj1Wm$jjVK2uKC(tlbK`swlQT~A93EC~1H zC#wfX=SOOuJLj2rXob5j``q|rk|-x1CF<~)^u}V~@s(PN%D0^%EBzLzFgQ0i@4j(1 zFtm8{(CFw)m$ilCJh@8$ME(}sm9BKAKcj}c_GLCob6*RNfam93G<P(jM<Qdn<?|cM z=lG$UzhD`j_;LB=kptmjQ(2+}zkgUK`<Rk<LUdX`l^al{$N^Ecc4q^tSR_1OYT=Ps zgPtI~%D>=vzpO3!Qnf~mG%sfLPYiFZP4wtFAC&{wvN(Ty>Irsnq;F0fZ$&;m)zQl# zLR6p$?x29m<0#$JKyn&I=KFZEjz$)vNK1c}u<d*+B*VT}NIbEDq|@^<bA4r0-GFTY zp)hx&j*2%&(9Ku?gMYsi(B&&80qTVAA6~TksJ@|KH#kqhRgOnDdtH@7kbx~m+*s`y z5IYEJeV3mrQFhDSRM=d&7&cT_1teYX5>2IU*kwu;XkPu_FrN^(*gHCiHvyYaU1imd zXca*J6VPESXy|arl@iN@aK-cK%S@dKS8eO_&qbL8g}bT~zArmD+V?nJoXkEZFK$dO z=thn{Hdh_4T$Q9ye+Dde<0Z%;`trZ$?l9YwN9tPN%nH@v6R1!UOQcsUD(9zDSJ6?9 zWg|rD+)6tN_8!D*0!(uYSWrs+lULtUXf+oYJ_Z-pPfW~3ZN!thJp`+PJryR|R9<y3 z>hL-=Utoq{qM6cbNd?Y$P30?uwV2?Ry3TlHkNoT2|MRs(V{XoH;(L*9pU&luOo~gD zH#%cx+nCmT+q@Gk+r{1RPc+U~PH08gSBD?Xu!s}L@DyhYLwDXo;jZ5=QN8WNavfN+ zDxccsw6*u+9NbgO;Gav+r;0ajJe{&J<}=tdrNvk$jO~Y^{G=#y@p8k;Cta1s9H<Ra z5xrLHZ!x=Mj2sjP6~QNB{(hp3O)7hM8u2<Gq>^*Uy7_)C|K&4#DA|=rih@?mgZ$sM zO!=)(Y`iI$1*{n-*^7ElFM5qfHMVw~|L*d|%MT5?<;mCzfAtQ#i-v9#4On6|0nh|Y z6_g;*NWQXmWdo+1_jNKuQ>|lOtBvwA+8;0eN9+5tq<`xjqGf2zPv~qDn(W6Cm78ch z9GIlY2Fi2>eoS)7B)^`bTC77@qD$99R`BWP>QYW@$@=;?nt#got{eAEIlT9`go4ot zbASto>flp(m6fH%$AN_FM1n-&wVaW3W!v{dvArB4zeym<-^W}+^-ZnJ8Qe7!g1UbM z*i6<L%_j8&X?nu7x!uF1-Ro}p>TuNsjIlB55SdaS=p5o8R@3e~=Ose<z)2e%M5{Fi zZaS|OIn1~Eo4xC^nfJo6-N!RwAxB$QhiNxdF;s(P6M}`VM?_~<^IK)q3M-JKeSO2$ z>g5bS;mx=%1x!{H9*ye!leXra0eE=mw;T$=Yu4w+Y~#RCNP}}5g%QIV=;MhXgDn`s zsC<dPw$Jt1$~}ys1S6i1(CxZ8&V3~xn?_2aHq02q*^lI7KUX>5Q22I>)m{JIzohc1 z3qy7^_mo>OoIwwJNm-lf+LC?oNiyGf-xaKwvf;CaOk4Q8{3Ou7+31X9;?5yEukT*} zG#+e)AJmrC_F(`d1%~ADp|W_d&JnJu^n?;cj^u$CH6d}<8%9cfttSrd><#<3-+lup z0;c+^-eYx0-B2PIQq1x0=?v@8bld4)+13dj{qMrH<Gu{Bv8|)0Z_`A%s5Yna^agW< zaCymAN`U-KcU12zbbj&CM^Mvb;em0fX?N6m5gwwo)LMs;9eQWG;A<TiTCsTwtTW9S z$FzZL>e5WQTnnd?|Hptg3JX*9?Ba_(Z9W;Lv0$a7N6J~XmD_rATwn~GqWzXR6i6`7 zZrm7k-xTsZ;~6+|zp`@V`*@(0^6yk)ZM?-4iN$(pe#L8okyErT(*!-u;jl;0FXuTt zK?y?m;~XqgQA^6<@-kJ&xk>kkL`i8;9!FvI%bto}n_tmsxoQ6I@KdEd5f;>*ii;?G zN^hj6PDr3Yf0E!N)FLr_K=_;KO@_C%QaZmGpl>>lUsEA~Wq`xQj5jTO@8r+5-4FgF zKdG$htB%^J&+|`prbq;TiJxE1GZ{I0S4*Q&^8wmU-uIoq(!kln8~4@-JIdkKaAqar zy4*gmq;;R8G@wd<!1|k3Kh|QtNz$#tz>F2_`@Xr;`==(aUei3JI7rJq4Dngk8Y2n( zr!1M6fz86`gcyW?JN{-_{aI&<Q*|ba^E5JM@V88{c_e+6$EdM(sIlp{+(&g&yNO5g zE%l8#W0Nu@>7wI9hcU}tce9$B1A<q3v2lF+%gPoSQ_BI~4*5ljfaBZqyqm!YU2iNB zSvU1nY1J(2Pgw?^b0+;d%+PK!|9QO#UI}Y%8aP3AN)#~?E4lY;=oZ1(=6)Wgki@!T zP@H$j^pGO6NqyNc$mEjQktsEjE-b1FJ=}2YH%zz96ds<=zFzR(g$3^Va?79Zu0G3Y z{^?-;M?mJExLQFe6;ep3z{I<)O%9oUP)^Qz#{!%nYvLD^o_&5#Pi%}yR{pSme4WZ( z)oP8;8kicE1V=S&#QaU&I>_VkHfH%i{NEL-AR-OBP%&IMTnXWA*s$T8{6-Ed-&B+X zG8Od~XYU@%cPI+j^L!ac8z|b)P5DGd^FCkF*W^#^qsfAk47lt$Q{sX!!0#-!G%Pjf zktM`*1@^MuAc)pJMCNmGNu!})99qNDz`PX$g}#rypT%pBiBq;iyg-W#IKs(dJp?*2 zfHu+prP#Rq<VJp#d6mgsT|bY8DKZ1~EII6tj@nFKbM!Tv-IA!H)ipUm;=d)ia68?- zU&x=U(F)NaS{4D2UK+q9HgpeqMEN?KM-COV3f>wDJgHcIi{%}b97gWgn<Fpr-=Y$$ zCpO1b99FiJgpmT|V=nFMb&I`?%(v0mPwK(7kK8<RjD|JzmZsJq%Ux|`=LcP~ucwDS zttT>kTFWJ!ZW5BHE>$LU(W@~g%>Yn{<CDEFST@afrd|gN18LuPc{YD_wviW?K6yV! ze6&N%KDJ4=%z3Dm1?adX*_rQtdvV!bP<bspz&AT#>QQ-dM@dr#*?nZuCdRY|1GhgN zCQq!*Uy;_vrF>YMclQ=p65*2yspah?>Z$mtwYWSgxBlDAMBB()>3B}f>JEcAJQw9( z7FIIp%=L9t@_T5G9=|5vT;qaceqG}8e1&hml95G7o<xb8tv#0W9&BovgzF8T%WLRl z;ilNSNi)#g<nFxM_q`FsizLtF(#8SkJBCR=1P|lxohI@96qjcUBs8prLjyM&I<FKV z&(3SkY&<2aHPM+>ttst|La%ZzO?FSggH?^yzn|K@>kafUeHonpJe%=pSCITYiQ{r+ z@+_a56G=VAWDcMFj-bh&3U0tfl-l6=hc;N?JhkO-ZfB|kVJ@k(d}B`gKavPpz0VJN z&*6d;Z!6{=_NX}wt`f6)i}@aki?5`?I;^IxT6lmjbre%~e-Nz^KZw4diN9X=j$gd` zR7eSBS90g>YMcZ#lb9qxe#CVVUX-u*w=5L(g$B&2n4VTcy`z&Pj#1e1R$cLo^>9&# z&JKe6Ym{jCV2`S06^`Eqy>DV<Hng&f&cM`6J-|NPfAE|9r-aZfx>n$<nc>1q)qIm^ zEyJO4<dY<O2z-AZFF0fy&dL*3SA03>KRMg9R<nX%Z|O8m?6!`XlN-=^kNNT$Z>V6l zHu?@BYihMOyNexVnWV$)jpl;0BLlGZTMG$ETLPb%Yw^Py{D?oM@k;;xe)@8ue<z%? zO*mBM;s(px>h`SG5)0)7s{>6;Vrbx?nX{mP+_aAKg;XQQH%Be{{v{rQP7i2a9wC8e za=b!0tck{2od<jAeejHJ-`Jq81;q+Wte?ZRF%|Mj%ZsKWXthG`>_xR-FEfxwZ5%IU zgMxHlCuqPXl5|nzTWY9@UdL50U0Am}@7Ae1s2G2(yt4)y@dDlg#%R3DvybIf_rqif zW$~^H`m%rDxE`!j10e~x*0T>K0o!9k!NuBGJ!^z|SU-E<T3TKX%5OZB*|b9@MLANs zX3hW%abCx;HZwQQ{z9DB$AzLYo^)Tok1LM@{CQq>d1_S6wLN)N%vC=qB$0Dg5L@i7 zt)Wq@Y|(2`2FLK43kptVsjM}u4GV>)Ls8SkF(WW^>CDQFlRwZWwX{IG)5UNn&o?gE z*U*6%neK^28G1t*p^y@>OwZK5Q*9{mQE)A<Hwc4(lB_3#@8l2^fUGeJHy8iI?t3iv z$>M;H69o}G$IsWA*k3Fi_t#t19<hEqskpxz5Va^d)#KW<?@ZMXu3k`b!T_v~wgIqC zpgASlYa0SI1tuUi8M)TCBYd&`KVy5@^^hOz_GFX7s8l_o#E4QunUR$&Ens@n^~Hhj z1ktFjm&)nHX|zu^oX%1SK;@Tbrgz73%C~D)eVsC;+kGSTjg^JE`9~uEyq0k=xS?$i zW$zdBIOKKZ?jLQga=WuDqA#SNQnA%(0t#>#lmy5&c~uTLHJY~kG{3b^@nI;8AgGeq zL=w;zE`V;1GPDB)bT<Q)&yRI61ROswr*aqBge03z{}w_l)FK7GVbR*<CTnpF&_|&` z>5NWT(Qd(Q)4L0{vT9i}cS0p{EP7a>#&Y^%<%lf?M9n@6v))p=8Z*%QOlwN;l{38L zmPNkWCX{3>UIgtO;=Rv=1}j@Jct>g&0{wh3@W6<y9TuYmH@s!Jr4zD7TC0~_#*HUM zsR!Uq#7zGjJW{IOGUds?9o8)zcZ<Sxxo|8XMCrAiL{64G5TI3ob{HyZXlN}0o2)w8 zef!+*Fff*(C+Z-k%aua4PG><IH|+XEp1U&_RDTU4i@;$+`=MR3IS?UzfiR6pPVMhr zl2d-WyOKI+s%M2T;+sIjUHP3%jEIu`@GU>(JO8L?Wvl_&=W4Z|ZCaF`N?ry9qFyvu z11(W^Jzuumsb(m6wKbqaDc_y(`%NiP>ZpIi9wpy!55pDDe$Xkl%p5t1*BqD*JAvi7 zfzt^(YKR`@uMtNDPkxx%ve6W1CzickVOCRR#mwi|gJ0EgtCk-dh;5OP{T{Mv9>M}~ z_~M<5pc{Rbln)EY(cr*T==qTl>VBy7UX2s-+g`uo;pzBL)&5b~zHLNUgf;CoO}lLO zg<XX%7py|u9087*x(!7;jZGdqE-tH=9sYNrPn;9Eu%2p=tj8groTTvGs=n5Klpj=E z$5JJROLm6)&U&pGAX{=wE!E!tos$Qt=@pA=r^@%Zy*Mm;MHG?O<Q1MwOPe?ZXu^ui z#sO-j9c*f((E4-atDtr~a0KD$V0j%D`dGQ(KKG8Q-b>lrshRg0?j~jE)Z=BOld%Fb z`C8T$^x~GcEG6gX)$Z|>&Ij#nlO88;9+YNKI)JnEFt?luwP9h)TkvtB{k%!w@wF*^ zjK)mdsB2UH8<^H-+mGR0&9r|9xG@{q-D6!6_meB$&fb;4YER$*1F$?O0U*;8X#^Vl zy-7PxD7I#hZ%zzF$uqk+&@cKQXXWcnJz!~oKqXF91Gm$uF17hIvzgxRM<8~A5T~FV z9DDv<o%Z!ol>Y5)RuT<a?=kKng9LtHbnbh<ZSGmY{O->84E6O!w60{F((D}nLGMA~ z>!A(ZY^784#YtB7M2qK~%GnS_L_>jRx=J5ZmFE>X<29MDV6|pBb{LqqAt;d-+V$@V zxqCh<u{bFCbEgt3AA%bylO)aisvC-T%JAv0(5R+8=FPytgDC8NC@hGr{A=ZO-jchZ zn0@8%F+P3CNzxS}=_HBnsWPrns@53c5P_O<_jPS+X`&?Ux_sJM7c?$f-?(D{jyQXe z)N7Pit5yBHQVj>;RZKoQHZM@WRbC|{vG5{yb!F-2b#c^5aiOT=v$`ED7f5U@PdV5n zwST%BiX|avUtuIjLY1_b?M(WYqX@;9qX+1#JEdhO5LkA@`Bh_0x&7A#D~jB!eG(~p z?^(mANZze$@!^7D*UPg1jCTsr7yVZ$Ut4MVt0h6b+F>~&r{g<>7%qwLu7bUUH=ds@ z4lIou;K9oM9^qN<<6<U5yq}-gNy?g#iIM_?R16tW{_}Y;x$2mt_#xDZm)Y08OFuma z(2$i+URofSW|!*jJh#7`G&K^dbm7v|Op~!av&iNMHKlBn)g78yMJ@{BD@zQC^hMhH zjt}j(TV7{j?Fpb#PTJvRYl}9PsoOfkedHa(ag0?AU^DZwM9JW2-&6gVVX>S08J&sy z{B-H8;G)xIzNZvZuQM~89l}(81LGxZG8^iMD1;|ya#QL+O$C$DHS3oX@BIU=h#g>Y zaZ+oow&{UG+94v=f<{)N=FgT95Q2EjWO8d$!}GF`-%_#drBBS?#U^VzvoX6;KAkz= ze7<CYDse1wRjKB4OYd?2=|<I}6KI>X0P6?uDu~k=I^VY*&(E3|Dd$P#?!_Yf<GZfu z-ydd(bB2Wuu&y+7y`im_kCPY^HQ$GAeRto^*?`h*JCb}At&)5>z-^Na+rE6iZNlW; zQ<fhqu)fATH^_H?BX*zr-H`h=E3^LFc<m<Pz(t#JjsGsR7FHA*Ozn8`zUXB_hl2FR zFPfdhYs7C0HK)MH$=$Oozq+`<93FzX{=}=F*W1X7(5%TZw3M~(rntjk5<iIXv4%2! zDwh~?)=8|0woYVlUAA`;g)z)1wVA9%SO8i4CPK)1ZG4{ZqQp^<%HmIMX9r4kp9k6I zGR^;{E7F`BXzfMAkHXcqAc48Z9bbt?3L+gCY}J%$Y4LjOQ!X|Yiikdcno6;wo}SDX z{W*!=XW|qq#K8ckoUac|EEgm6Vx1^p4aLj!Q*4BCps_g%S-q=&es$70i47?~k*2Mt zx66O#2xdW&ZF;01x0T5MIgQj=KI03G2e%_l&z)qbE308~Po@=$?cremN5=P1$QP%> z_hI=CdRVPCt!W&9)sc_g*`P08p0Bo}Tj4)^m@k~}GBrHke92eA<$AonUXu_I{?gIB zpu>S;g^Bo>jt8~B4<rex%}P}O9@QTW<>iq^uoGdiberx`m1ElzY)x3`Lw%`zt_+15 z5`AB<bW!uKlYXkjOpUs|?kX=!E4IHd?@0A2oa44PWY6{W@w)<3J7zZfbQabXe|y;6 z4}z>i;6|I#u7M!M0=+R&-bT-^1bQdu2RSej3dCoODgW#+F+PQtE8i$qjj#?7o8$OV z)tn~Fl|*`!);p7^HI>{3;=LaxxxISXSO3o_V^*YqGi0_wKFE=2*8Z!!^;=Su^4o@j z2z65XL3G)kLc^}6DJ5UsPTprnF=5swcWG(iUzDw?bcZQdAzfyc1QLjtfm-AfdaS*J zhGb3pv}&xs8APb8r9W+#^6cTQ<xnQQ`rsL!2^FI3Yn>4}1WXlsCaG2=aBC6Hoa0)w zA2?A^(KCez$7z)0<b`(LKT|w;7!oOlr+tmGs~Ysj!=0UMA2YF!=Jq5SWbd1t*H$j- zWZ3LNt5Ls*PD_RxZEBps`^33mm11=hsZAHa*xXTeImXmb8y=!ir8YT*W`!m_7)Ots zBq#AcZ8yHY&*yH!3Td!<ul?ZqkP6=B&7rG1Brm3Mt6w>9pMzKD1wk4ZSV=DrTTO{F zVU}0x@FzyG)oe!uIWKJH*vgYuUOni?i;&ftr|v5wlzM9`H9o8u6upGlUf)W(efVi8 zU&bZ?3ofo~!-XA~m^`p@;|ejh9wNuy-(j{pcAqRD&mCwBpHRHs(_hCGN-opz?94>F znfA4v_eXxpYk5esY4kdal6|pH&s;J2JBg2e!1$|yxntvAqfqS@w<j>UhUM<BS07z# z9S!tIatm^~ZOC89yZA=`L@a9GS_Yao1GGRr-#|RnSc~jhu`Y&oe2<^s{X`!<^r>Qf zBk(b@D_pazES!^RSClvKW0)CpX~ODkGXO)-GQlc?HnQhFAS#t^AIs_8*q9N`4GW1g zG^}e((iR*RSPQuU+PkF-;7~~!FBINo-=Ox<1FN4rC~=9;uyq_8%P>gWJjCtceM8LG zV^rS^u))-D?ChvKfLUc=5AS`;poe2a4jC=#f-)cl#T*p&5@{^Ds9VF_^KxTpMG@Xj zw4-M;ci3n2&}987k;Ay-+K^sR%;N(egLbjtN+vq3L?{n2)3Iq)zz5FrcG{e_1gm7J zE|?kaj$}QU!zJOlh``%~-M91t;l;@GH>Xd?fS&4bEYD7EM)`E~dWR>~S?v3C(o~O_ zIy0n^fHjWv)GLgDY#F$|=c^|g$NGn`SU;nvBjtATX*yy><h2_n#R7BUr<I|phgTkE zHW%x`a|nr8Yg(nuXw2`@`UIfMKDWQ2(NX49p?X%;a9H70n1F*=z$-{aZ7^Qv#Cr-W z6qv9Dw<HQ#i&)E8<>pJWr!RY}<PlE0Y@!TK5}Bs3edB~5tNdFLAq8X_r!lx=!k3c4 z7a8Uk{JMs;v>NMq61OKC4LRCdxrQyYJn((8*|L!;j^t`CD}5fGBuWD^023sz5;3la z?ghR{6tc9mW|#}B3xeAf!6A^19FxYy(9`QT_~TUNR^`Tm9G<)gTf#4}tk&OoWvoBU z<+In6Gg3-V4UrZV`F1jncm>lT&RDC`3&GCGV)vN7_|)G*VH{MU^-{Wa7e$fm(LSjz ze-+x;&i%9Ae$bznl?v@IkFCeV&ZwpM!5vJTxl8GIGjP`IJ;Jn~X^yhhnnoUUJz*`< z5I$(X+&Hk!6BxxQ65`+k=&|*A4!eKV>Hjy{7={kC;%&YLZXBQug5(~DAR41Z8Az@_ zZNKvW;#p<e@kqD$xb`r>%^&XtdvAX~>eypzcDmt~v5K6=(SgGDKW<N--?M@4=ecEu zurwMeMV7^G?0_!M)`>@3z~ev|3!GiFIy(fkE=$KbSu+F&xCOy%0JG5=L%y}=3|`&U zBBO7fNbwPyUC#Xh>dNJPv9>Zh#0o!i+v}<|W!m06-e|hrt;+GQ)+8dnUGqS9;Vay? z1GAEis7$$YSo5vmn|Y&#A)5Uh%2n*j)QWJnC4+!BQ8S82cFKmO#2QG!>{OGF#L=xO z-R?_P<fn%j%Z}8xl-$3ZH$4KN;f;v+q;5A=O@IZ)Ym65;^@aNE>*(ZB8hQg06T$tZ zP|cj0#dFd)Fu-j>Gz%=yNuADd)c*i?kpJFvQ{Z`_RqNs9FM$r=x=W{jB}p|G^V&(U zb9X9=7k{n?HT6yBz98<(xZskCYjX%!=*7j}R@U0?VG7<zv_=D_#b&=Gq-b2!Cq{VQ zWqX+4%d&hc<`)}4&Yl3_brT{N<)V3Jh)u}87F{Rt_`fDS-k0oAVU!l@)ZdfA(k-<~ z9RKsX<=L7e_3GZ6&@ne-72?J9dwdadoauwsPo3p@Eh@1)dAPXr1jL!i%%n12dwH<g zY*f>u$(WSe!;OE;ZSAUErHIs-=Gk_cF?ke}#)6;;<yAR<4oVLS%xkg2-L9B!SEdo= zT}3@)hXFf&QjIwVnxF|B#r;p|p?3>AMhfiI#>aA%yf>IX{n9=;RNy>Q^I7Lx6{Q^; z3bH6>khBIXWfa^)!W+@;_Mtl4wD-)ByY?I@`6gh*APoD6A}uL-WfO0tm+6g}!jD7t zlQng6vv-|u=-=4<EmzvBlem`ApG`XzzN<Z_pq7%Dr@UnL<sm0!GwoXF($fR^c1x!x zO+XR3NGrAI*FG9zINT3+b5o;`7t^0flS)JoyZ)H{<2OVK*(fHSS|UC>=9$*Ju2$s| zxN{F0)(5h}3YacHS$iQJFbi-G4&Lh1)ty2Z7q03lGP`Jd*$kxd#F^?jxuRU-WudeC z%)9pHDe`*0uSZvFZAXHDZ_abH$;v9E>(Od++@~fqVULC|;sx|;UE1omjBU$7P1+9y zZ(Qo=U7jo^PmYS?Ek1*9esFV)2zTpukxs_5?_0ZN1}m%P#`Pb-;z-x}%OzO^zN#Kl z2S$rHwpvkosq^}o(p;3jdk53UH#9P!QV+ViAUQdJ+nl@p5tJ)lcb;@RTqe#$T0>KA zV=z<ezGU)CY2H*Udv5s#$RPt#ffbY;l-L!n3{ofURTO04%f5$2CC5vG*`C{Z0&`I- zstOq<(XdQe6GeY^{T^lFH|v*)<_Mbtpz?a^?r$KIMLnUNI%-<iPWg$g|B!Oj1W$P; zKW*1Y{iD(3%M+w&GE3?&qE~0XV&Wgb|K@1CAvxGlWvIFO3Er?jCz188Y(N^;i#>MT zqy4M=W&_QabIreK6>0x_kX1zotcBURi9D#dLAtIW%HS0^eL9(ORVZ((2Zamu(tH%~ zl2CS#oT(Q;+jTlxg{AkbotffB>jrG6`Lrn{9RTA1mnOXUjbb8_^H&|F>hw;I<F=Z8 z4(R-`6i%pgXVTJ2TENK4^<5dl#Pq3T^=)Sku)G8s(GV*c7T^CVibhwJ{KpcHw&=CW zzdokrqcb7{Zav>FL-jps_)3>HLeU`A(z`MMK!3Z{(s-`)dC{{u%IrxN-CSr{Wtq}P z%1Yq;*%@zNqLt%SGk>S8p}oGb@p-`t6<pGf@a#B%Y331iP6bOZ4ycVC$i3uJ9a9Qc zN!nfyj}{_5+dqb4A9F%(SfrO1&%hg|@}($6Fbjh$;{FXNHC$SV5jG^~q$}7LK+I$A zuxRI~QRFoKRgy-h`d9|YTFFd@i?hIzm`KbZq7p?k_*7!MqDyK&cX2)O6I&TJujfll zDixWvkoXn(=xu+_K!~s0P`Z-)`A%V7-IHp+FRuMvF5NEgUxU;F1V;F*YQrLw@xQ+b z1y>E_$+LHk_7ue*y-3R=v}nxa&TcScdG-}<;rTYiw|1|uvQbakO$m?xNbPf-@%Ao% zR?7n2yL!W%VZD)XplUG-&}IcTUog0}&(}temZm4A(;}6z+d{@E{&Hvp#h$$LQ*Bqn z)Fvn7%KW{|gSAJsneue&485F*hHOeyV>rBBb)=rNz~u!mfE9-p5k{`2d&Vc~=~dE2 zs%Uvo>wutO#vs^C`*8sqLATT<_j$2)=4U+{Zu*uRQ|qjvL;>CXOzEIc&O;?5LVqlX zXgU0eMm&XQhivx5j9IJ~i;cs@=X<Dq@TFbc*6sN|LU#z!(F|Yi>sKM2wjlq2!dJ2q zzFXsZ>M)E{Su(s{;4k=(Kx3A%5)Fk_#@V?M=7zjs=RfQ|LlcpcY1As-0Cg5m*Bk@3 zh*?1Afc5I}o-=X#y2`_W*Y%~ejTF`T-9L?Jn8Hd_IfP!rt(AiVY)3Ti@vNP;3j7LY z2Ij4o@$Lv!k=b*M@!qAE6oZ$qj18ZL>@G|VvkYyoeRgZ|{piin8bhWYC`l|eD9B$G zsONfc$#7n+wjOp86|c}^S!T?YPPncwR4y&_dw^5hsN7mxa%aoXGQHs)odE`KXIrEE zO1l|a<6HBj>n{}*lGHtem93TKU8UK>imPl#3<0wtIBnN_IOWCb66a+(buXiQ+rv}q z!Tm0j=dAv<lX3G&KQ&X+<}+ip(gmH}%4YtBJfVidEB2;sf_pVS3m((>%pdMgbBw(1 z|I~-2>Wi!N(3<@p4DSp0ToG3xWLYcysOKTN)J{+t%DljFE-2geCts~X0&)|>td9cn zcLkjE{ypDL+UL<T{X7yZ;~7?^rAOp8R_=MOz9MF;C+3n*>m)r^qS6r`acOaOp$$D& z<y$&_y!M5<D5*&2R6X@~W;71i<oDBm_2g^3iHfP*m^9lD$E<H~h`(X$JL>HkIdbv= zjnC6IUqMpJ_J5qbrd3)J0H2X^|Idpr0V;L=Lx7a;s{@C5wRM2G4O@LZmU+>0mvB-s zcG;d`Cjs(?uU(ZsRUgWB+XHg^O6PzB940g`P_WX$(Nr%a#Ko+?hzL?yN3BWo{8rh= z_YPi7@tHGQyqeUmNIFONtZ;B}l()6U@x9qA>qw(N)D0g6dQ9q)fzL{Hl@y(G*Q1>E z_%u1qF9QZ-hk~w6;)au{vxKxh%ku4^rdj4mrSowU&PP)4QSoe*BHH+Sg<+4H_u9#l zkt~-{rhn<$SV!2v?F_sK-)(M~+N|J2-y`cgSmXIo)7vnN$-}_~9m8<zqpl!^{rW7$ z-n6iuf~Fs=f0_UA@p0^R4u9?D7qjTF652icn|^EduW7b;TP*6GIGTv5xsM+3;0cgr zOU#cl{M$@Vmvzj5iEJ)wyWZe{ZXL>u42^$InVWbCn}X7o6d2!q(PAhjLY1pmAcF+b z8VD|5X|qz*-s5Z#EJptc&7Obf>ri0t;Kz8JP9{qf^0T~6R3E8bP0?0o$szrpGRH9Z zHyXITykq|=?~g^I`YU$56Q2-=l9W;EgXGeU0nw3A16i5u=xQ;<tD`VV#$X+)UZUq2 z&nAtL`C+Els-FR{>Y-VK@<ipNoPoAchR#SM62c0*yE!T;9n{lDt9?&O2#-OOFoN{_ z^wpxP-+%hbQtQ80u^lmcN`T}?Ie6+QeIf5m=3;f6zT2Z(PFGW7c$k#`E+pSbrVWlY zx#10?rOGNc;VjdtDC$`8^5`p>=ad57=FVw!k;bC2?YFo5*Z-+KIXlkM@@JE4QlLIp zL%MDh1hVk*OPw7u&k*Mxtl79>Q>z=?;0X&`$jz$HAg&NC^waOt^zZkND-XB@4Swu- ztYob;UF8-eWQ~W%+Eli5eC<B4EUdS>ha00a53Q#0{@?k}Q3n40N&j770cdw7XkBS5 zg0pg6G`aV+@zgG!Gj++HPU7crF~lz)-)iG<|BJ(FIv(%3DZawc9HY99N%AvTbG#*` zvySrHY3#)|XL_&BEfjO<5akUe2)&1{H&p7R29A+fnB<&5RxmNNVk&l`Mb)+{c$u{+ z#)^R&wx{w12dkonI$A2Q;CBt5e=bF@-EfB}aDC_mL>ad4i>Klz^hLU>k*yOb_;`rx zE&^{CpL)s0W_WEOypTh(t+@$P1N$SG^oQMZgubRyznoln#agIWWk1lYqh`vPeQO21 z6_Xy{LtR3Z$xH@6IQu)#MWEkm(K5cnM#g->P`i9@=O;7`)x~b`nGhp+j&DG6T{=@b zFOG8D*Bt27*_TdLH@J3Y7@Oe4(p^3DrHwjK4W}q=S$~={qBZRN^i=85y5Rk*Nk8Nt zEsTvVm_4G}BBW-%H!y#fxrZOBA3C^u4;2H>oq__6EN~`cA;s^et<?pBg3M~1J$V5` zfex*z1)Vo2T1K`)pHiVX{vT<1TVq-gV&n5|LsfYQ2;NK*f`iwmp^sPZB?HguPROhn z^WFW1S^dlVKaMkeE0PD~aZwUXUV2{uUE&0{A4`SbsMT*+h)tg%o$-}iJ7|BPUO?XG zGTYZg1!wR(wo(dvlc;~U&V+DsZLmZ)hSN#+3MIYBzFH<`U?s9{|DMTE&>CjaW<BT2 z3E5Y<83audY82-dwEWe<9(8cMv<*R(X@e$z^BNnD-A+4p(;6gnJD!~~75o3Y&`?Sx zrbL-CFVeaCe5D)}B%0ehm^WJJBpqMbV2MT3n$2H&O^tj7sUo?=j@5-~9@DkeCELE2 zwR2N0$`t0rizFA8fZ#1&?-Bm0rPtfaAuI*IH`uR-mL8eO`ZFxb=w9)%hykS<$DW<& z4Q$|X`01t{G{u@SJY&6niUI?3v+lE+jWSD?(j41u7=>gWFleDEv55aJ@NTzSpJTlW zvmLxTg(urRd6bQ>D|+kMS9sk-LLRFx2#5PYZA^(@FH=X?OkUtRbF`CWZztm)bHQ`T zVa+Veu23ENrPCM=qiqB!*vIo;E2lFgvbcD)pvNWR^Kc#pFc=9dRg^;<j72RqZsae2 zS^CB=Ew%KV<*x>(`i5R-^p=RkJpen_J9z5^AKEz!*s+-?2A{ULQQC~!6Ggw|#{)rj zzG9}t$jX!0+I_wH5>+nCF>vt`gP;8${77*HL&iwmfz^!1wVFm)8-K}Rxm8ZE#gT2L ztHPFHpi{8B^p$-5u(5Z?lEX61V-srxzI<&%g~CTudYV-Wj-TdNsO8Rine;icl6iXC z-jTMta8YRepQah!9N~9`9QGH@+=z=#<Ggh9DzAMLq(n!U1Fuk>1=T76uaA7##AY^N z564R^VFzVT)pwTQAVk}Mo|6LZ8tb7GT-Nk$r$~>$*b)}n4#Zj6Ptu+Uu9DO##KA%~ zo2N2NtUzM<Ogx-FMr$JY-1VX!{6|vRMUGyy?o{PsIzDG>B|vE4{-Wuno{@+5G|JSR zpJ!AnaJ+ut)7s9On1ntOc%2{#{J>+6cQcHAJYRmE+vxcD?9WUQD>vw6h}EW1Lm4Ej zHMbZz){qYmq)rjQsu;mpv*B%4wlk>xuu$Fxrkwk!U`*HS;#2g&fv(jo#f~<8|ILqE za^I>c_Cz*Xfwuf}dn5)RZC_ORj{kLIB;kHo%~~W!tP3b%$s1a;1+vBpOvYnH-T7sD zh+VBeX_j_ogX-X;WAx#EPQS%bNL3F7F!{El!#lrLf3}?gbLg_lUAH2eXoGS})g-Dk z!{{Pl(OIrtN=rv=+V6f-+pdP-e9Wgs!&qO5l8}bkjF$=}6J*@eThJrI^E7p&d-0NF zBeQ1+lJPz#Qw$?GRwG=5Zc;03gUL$@>W;}T<J^IvxoODp5@5_Eq(G5N&O@QyYqF96 z%-f-Fbq7U)vhkLYIyrS1tDjg{x$7=iud6>=ajc!0`AT%k`Rm88wMdQ^HZo0I%=+#H z+;aIp4J!_}2J~W{lwU3}NzFzTN`B5-*P6_WAr)9Ac(Smj(-@t!Ah5OA)yup5^3!s2 zstvPg3zdD6bKQRJ`+}MJZDcrE(pwoP17(r(@Wt!17$b(6wMCO2?%J4w$QXN2{+4cc zgq}`R!OMk3DN=cjXATl@|MXE=14g1TG=8|)KL1qU4PCCyPwa7rIa;~r^Hw)u)?s=f z9S<*emoZx9oP=xohZsf|ydxtcUjLeAghL1>uFvp7)0-fSG(30RBA|CnrA)!@;Bi6u z#!$ZV@+xEJ`9v^b_sA<}p-uQ@n5%)r$M6D<z|p(H3;TzXbv-$^>IOt=SkImytzR6t zb3>|p1N;uG6c>t7=UZ0S)Q&Vy!>b&H0LY%a;gSe>EpHDyR5S`F{;YTj5wlLQ1BL)) z<|pxHV^$l0X$MvyXWXnq-lkQcQ*7l)fas3zn|o3$OlFhS6^k5jojq<O?n!o&UehhY z?XjXS)~fe4_~XJkb!J?IUO1%o0Z1-@d4g4aAYx^yaYAb6$RlSQIDuN)2EGV9n#2oM z8pT^}!W9rWnII!;cd0F)31D@_ckoJ<Xth+d29k*EZFb${QLz(7+!~q<7h0j&j}}U; z&y+uf$i5bn82UG9B_QD-##&p^JC8>m=&)6kZ!A2O?suG}YUa40lK&(7(@A2a%rq{g za;i{`1{^P4A`I?6U&mkT56T4xSbD2HV_fUkjLD#tF5ExLIB`$+zjzjKLZoHgL$Ig| z;FAnG@qv!`4&Cji@A`~U0e?_jb_(9u=BbOvn*|L<aKLwu&C~FQeGU2EH37&c%iAD} zfVt%voUENxgjJ9+oSPt`wr$w0?!@}-X$O)dC`n2w!)nsfI~d0=EgiNUw3qd2m1)DZ zXhRcgDr2pCZ^uX?4TL(yQr+Wwow+EE5yOvWYl5L_k$b_;{3kK}ixyMr&5s<4q+2O7 z!SiEqmX5SFiFE@!Y2SwgmpS3&gGubcxADUhQBe~n1hvn3`7O?@Lh0jo6`k*6D92LK za$EF{^KA_&Tm8&i_RgEk3A6;GO4T|j+6xwW{6DCtLTAS3MX`S0E@tsXT|O`WEkPwc z_7^Duo&?dk_y+J{-?|HP^PKCEPGXU%9;WwI!!;s0(Z}c;Wl3ps76o*{&&mD76nf<{ zRik>df@Dxd!?Xbu-K5!8e(zv*8ujZEqgc9hur}<5Wud0Lx(?IEzaZ*8#>UT`r}Plu z>@jhaeR7#Ge#xP)27VT>k6FXLvQO`j?G4q?$;1R9#cwT+Ni~_~1qle`aOC^;{t4QH z{Rl*Dq{+|;rrfU|^IwH12XDI|9u0QD^JSnp%Zo<2bN{XnxSwgKm!$*^<+InLioI#u zFf;JbWB}2wyMG~2rn18~I_uVi`eK&gNfxvNwa3atDl)f!ja_NF#b&wi<kN?`Qu!>o zv}HC~%Hl6)PA73o>MVLKh}s`C13#*-N1DOVQCS-!e$K$Kg-;-h4V?MS&54&L2VhIg z0yHnbN)jN6dy75}w>vJSVl;kp0=WY?{&KjL+P^RGEd5N&vgBd_^-m@Cw6jC)UTDd^ z{m^6F+RQfcYhzv85B<{1NkmYV99AGma+ovxhiNEtTef1RB+Jw*l9#m5L%$c*QD%iX zEsVKgw46Nr?9UvdYl{sxuedQiYKoe$4`hsBGrA#JHWiIi`(0mynU3VqH@1EYe`NlR zsab3+(AG`*9Vp>(;jDK}I1Pc1p7LNiENJSyL?XS(Ro}lYJG^hjbaeCvev`gtnfkBH zMc)g5_NBZ3Pg<6GvH1eLA$ScK@!iIBcD3+KSrde7&;2R8`b{d=vDQc|nDG9>mzMi6 z7o*;abh+IZrM|fI`N}hu1aG75jxPMPpU50?*}jA2+%K#@O-X9P4hnxm+Wl!9C;Hdj zM~y-2H;0>V{rO%R5wo?W0cx#BeIa}9HFW95h^LD6W0pVTVptmLxgUrBL+XpE+@1Fc zY|ESysjI4l*wQc`{xHA$;)C)9U=CuKTQU^pE3YqA2u>e)<KlHl(6KO+u1Z@sVP%+0 zyGMtDwx4+Q(J_jV5BUq~fd9PJ7kF0t!kQ;MR)bNXy!+y_vJc<T3zmz@*I?VJi%@<i ze=>vAxJmiaPH|3+;f!+1Il23i5daYJdF+YO1wg?1n+$(}J0gy1xXJ$a;Ao*a&#vKU z7Ed)>a;$vxqHoj-n<P<X%;Kxz!|bfTOys;>9%?&-&!ghX(cn3lQ<Fi4|B1G_lhAmt z|2)1&^Wdrc?sw-Dp&#wPUGGrZ3XZ7}!J3z^WqZP`lvI44xJV?vNvjzD8hicVmwH`G z)%g6twnbh5N5OX-JH)#@H+?<13&E;Ii;bu=(_Xm{Z-HNaxw(YvD%M_s+QzpNDmMgW z76QKHIZ8`Hw#=piD7nTo11gII1h+|-^SRuy60cD++qm$u6j9;0S-*|m9V1G;@sEr? z&+In?8=M&Jl0BzAGC2&hEbYU6eWW>ANcL%#Eb1i0h;0f7aB*j43h~ePRNOTRJj(Ol zDy5{cs`T`oH9>=r{BC{WkMszEcEhMu&NtIZ(rl^tZ1-ZrM8fM~wsg`f91J_;4%F^Y z+z}_WHdl$mNatlh^}ET%I8Xp#>V$k`c4Fe9rh}X7&5(vLe>7&`y@mR*{+_h9L0<)m zARZ}eTFNErMD45nRK)Q_^S5;R)2^qAd$50P9hSr2QxCL6r0%tEQ`LvwpR|4~rkO9S zjU}tIb0<o}D((R(Y-8Bvs(%QUrVB&Z2Fp_$?l8m$LHFx?iplLpBx7k-jC)$Yn-^=% zzS1FL<Oylt?EZ4l`&qU9hBFAo-!L%SP2Yr6&+-YFSSNyBoNb)6DN@O7VOb6oruuP8 zEKMkPEX%B`V`68ImI*sFYzc$?oWI-hlz~L%Evpy<{wXI3E*~tJp@vleRv7@B51+Ru zUXY=ji6sVCU-fDo_TK>EbjU^X2M_y9(W)DP1?^oW?ys+FxTTRFbEfvLhee6qYfuWS zc83dy#JCw{fNh6JB5ECRc(pvd%rstN^&WLakNj`2jJkZpsd>Gsz4QE-0{K~zReM9y zP7ma<-+SFRd}^`EXOu(Ir{ocr&|0R-P}tHcZ$kF~cS5iGkCOYs51SdRD1ulR!K_*Z zn?gKoCIDb4pUuG)RTFs@@u*pj$d%sPpYNjq6dUG*1+P8kwz)wBKr_sd0xT$6Kw5Dg zP{Awm*o6NxGXyg~?KbT~v472Sw=XT)k5x~dzts!n@Tmj+W!3bvJoTQUu>K{Jj_oYY zp4W07vO@dJx7&TLk|`xu60Pts-k)yHpNy*NkNG<;UzTw+;`UX~2TS(S7>QvfuzbN* zklH>kV%lkR3S_m6=#w#P!a9tx#1nw!C-g2F?*tC5?I%H@m|Ry?Z_YoXCzdDnb(C8Q z6XKc;ylysBXWTwtUz#~kq50&`X5J%D1F9x*sf5IQcvS;{x&RH{bopEc2V37dDj5n9 z@dTUO0h~AQmw2eX-R!|cj7Hi%zDX1JsK&~GDkO*Jp%90U$!ZWklLJ`^bGrD2rOlV` z=qqDa>mwh`PJ#UIq7DD_MDNKW3(^cjxZhhUJ)LQ!nS`h{C&%GmeW3EkVUsazmLT?^ zUW>eMg3~OSzT6`eLmfE<U8`90<dhW1&fSNJ^QYvCm___vP$xldCITkoS%#xv9E=Um zw@})=R9=H=acm)9VvKe@61z9Zt}2||lp85m8TEz_AUx_JyO#0FHVGEcEE_d&X(}u+ zD=lHMSSHAEDBl<sn(nZr;4nH^<!7_rC0o$=VCAm2QW-?W1}9XvmS;6Rr@kw*qAP1k zesh%dLGe|@Tqfn|H;SmLg)hHZ9CAbNRVZ(Dww~pqwGRj1oQE3<!eT@H9C2^5-2%J1 zm~%JIA9I-tqWdNa8)ABRzkK=0a<9TNz6ZQWcOc2s7@^Uj`u3L#8Cp%sg!rKsKY-7^ zT7->+fP$soeWke#+puql8Jdj+9)a;Hzgp2%t3ZRm-@;+e-6fZpjafLjqn$!&<I2Y0 zZJGWW^Iy=q=|oD}LZ~TLx#Z{QY~h!oAw_|w5&#j(a60j|2kX*Bg|c>)onbo4RLU+e zlBL*C2C0iy0T3bIoNZ$F^tp#lj9)eT%XHg}Aaq#Sj+qyQ^#)xDuG3yEpm$}E1|rBJ z9;5xN#U1GFU4-9*puanc!zSDR`nLd`lvQc&PV6ih#ST}LC4QNVnF&DZI68*Ajh{lw z_gvBQ3ePh?6|^U|*XY5n-Y%T!Fqy@9oATftn}@pEr-6OIAdvpf+eYxs<NT7&-)6mb zS9vXna#v)f2WERb)L-yQ7U)S3T!1=C{jN&Q`S#rZ;_bJmA9Unx{{E%bQLTIfT<Tl# z@OQ@Z_dQ|@D?E*pcF$W<!te2186oY|F4-;hU2aH8y?L|Xyl?F507kms^{c12eeu_z z11oP*h~?vR%uHaqcX9L}#Gy9l6uJ&+^{xNj&L@4(?xiR^0q~i&qr`C)&{KrJY#6f_ z=rntSRljf}IDw&}Ji7bpc7PNvvf{}RWMy+-?p7bc{KlI|ym2Z%DbgaUW$%%pgwg;H zs~oENO%D7YMd#tq2LAu?``%rvHL7awwq|0LidE%Gg(MY362vNMgxXZhUR$GP&j_t~ zL_`uXN~{`ZpIy5Ym8iX`RpWm7{R7D(k4GM#@&3GC&u6KwMH69l^?PXNz9+r70gG%K zx67pjEniAxTb7a(dSy?Y_=s%blAQJ5;$*ts+mX1@{Ho*CI!NGHH$0!0H=3?fAJ23e zSev58rAYV@;*NqwJ3D5eS~2X1^n;4G-}ptrW0wLr7t@I#M<I`}Z;9#;1un&b7m9}k zTn=kl7V$rl;d~8E6D#(Q3g7pK$YyzKPCqNyd?y_M7VL=N#+2Aq36(Bu%ig__&>1jQ z!LHSa%g6jhgZklhke*1Q{8&WOelowj`W(~WT|#|9tz52m|9MHRao1^-dp7bP2GG1P zrsDl~?Q(mSqp~{DEF^00Jqt=fe_{l1E*)!zgxg7xg&(yv?sR8g5}4$mW(6oKE(ZMe zk0x3(&<I;NkLx|mb6}nRTR+{O#RUx6^V({tc}&T!fjoTEj-jnFPa8(dr8BQelncHN zkaOh9Sbp#M{#*kE#(So=nJ##-e7Fsv{<j9cFWFC+AEjC&i5x?DVIQFyq3#lj{$ru# zDzQ~HT3&(<WtHnCURlG59?Li&A5hnU-;a2m0c2DL618Aw4tdrt^3L+GtCjrPi}&Xv zl+M8O)5^(5?|(dW9<h7GOcd7`?h=GB2GK!v3H`&3wl?s55&Jr`l38P=?XMpgDHEj1 zuH*fw(Fbh_$o(Xr$TlI?IGveP__ovOfW3w<@Hv<K6ge?Yx$5T+7hy0S<K69<>xw3+ zZ?*>Q%B=}^Ss%adttW`4F)H~h>G!PbpW(#Na@SMc@D9A|)@E3T47r##G*JtgDaa#& ztDmUQ;VT5i1w^&9=u89;3t=6EN6JB5zjdjuXNBdW8|@~4etWgY3f-Hk*vD>8ufL#$ zV=q&^?$J%Wx81$<hVJN{%CTrc0&@IlelI5mLW?|;FM9nNYm*;mAR-1kX5UzcLg7W0 z>3QV7GLh<chePgv_JI9py7te#`Srcgmb7zCWh8m@Qz-*V@JEg%n*gBZ(Jper4+?HJ zL70-iVNOza4!QJ1H%`mk!nJ+Rjj_am%g6rfQYJOyL0ks?rY+-2TiZrWO5whw>2=kw z>u*1PGX4GZyKw%?EPppt&VuTp+Ua*htgQ0u4EJGRx?eIBNYg||ixFNdVn>h0?Z*jP z=W(}sW}XSha`40M(Zsr;=^ag`P-L#Fh<Vn>Y^YXPy15U)GBJAA3%sAabUM6PapU~S z=O0z9BQmo!Mi;vf{`C}37>fwjPdI<H0Fc3}c-L%2O=8vYpR)g$l6Ek5;?4@>eD|X2 zQ=8&{zwD@t1g<^mkWg?2>=xYe+cs_2^~zfM;bK6GQ2y<@;oI*7cI)hE7o>CHz{;Q^ zAJr-+DLolF^6t}rzvz5>@{Q1%7<J2aLaQ~l$$U>CrAfET{rxQJc{Nv;@X_7Y>!>a$ zEkZ_dxyHYqe0HrN;H5`9U*#_K_YJ32crg&U>(63v^Oy+q!wVkssP7z!`xoW*hlKl3 zWr(!F8n4>E2MrVU*|yPXYOY;X=wDkuWy%(N>bq#6qSt^S%N3gp`4ZaZ8kqfhPo}a@ z(U?gWME1X52E}Bc+TJ=^70!(JPJuXg{Dv7@7PA`4Z&%tdNy>FuwB<?YV7Nl2VsGVL z8|g&luDqq9_oE{<4Nndi&$t|v+|JsM9Aw{^-DB}%9$jheFcs{|c1xpv><;feyv7*a z`CgrzTx}*po68YC`tx8LpxL{)UsfI?UAX~jM^cAl&8~cKxtnJeg*C8F*uI|zRejMh z3B7?xdY<>+FRUnRj~UNF(wv*ntje{$s}MX3srr6mI6{YUK9zNK_vA?<uE|@s^?$Fr zp8}i}U|$;(?-!y`>tlsm&xj(vhrSDrJuv-*Fvqy3dOTB2s1i?|qx#z?Ay>1CPmGac zpoe->=J`wK8pjeUm7^f4?Xw(sJ<Bu^+kU)R$1ChB<67r->AR>b*3Q@i5jfFmnNr-w zH&&8k^(7tnBdg70FuN8A0w8=Z7YhvvCG1Ymy(H(e%(;of^;TSYPWu!ji(R0vN{Ic} zzeyYKs-1te_A39nj<9n+XtbM=E6x@hs~n@)j-+%4`|~^T^Z%?~aGYV<3$kihSxoNO zmIu2&$sr6|Q`cZgv3a?;a>bGa4v3F>KmBraLb`Fh-P9Ynno_lKD{DX?B=L6YOO4Ba zERQz0-gPk7+iOZ2k>q|J1(nlqIT?PT!0>Y7j<DPSQ_MnTD-7v>zklP|eg!z$$WjuT zauq>y%zTN+s?Nz!y_vM7BbE@5VTU~^{jx(JK9RR-Bl}!U_t67>T~Ce9KQpb}<&Kvd zr#aixe8YV*vxECRb)IcLd!?c{$^_M?DwQK<?Ds4jW2!lo@-SNL<Li1ReR)A!3ijRR zNi^Z^N&k$jboZ{^bL=vH59w|!2`}f-R8+DP$5~aF_D_#>G6+Kb8`fbo%&m@wLD(!A zo@X+oy0WeB%l%4lCULcP9=JF6?JZ{96CEbd!1yMN3r944s%^ODlEMZ1gDz0FJNIiW zM~<}72j)D#HOM!Xkvl^KIizr3Ed@Z+DrAJaHQoePXV4)YTME?l<SrIX!g!q0!w=){ z7mh@f{B}PE7Vd7G^R1mMTb$!R3NwAU6cyJgSy%Co<8K~yVLi!*bHSj8ca#?{dm2aR zw*B-^c@~T++xQ@wKD@rQet#5{GLJ2$-|y#41E*J|4`-UiXRx#trQidS4&HaOXi;t; zmrur`Pa(?dY#64X9=0Lf-Iu!#<;Oaa!>cK4ljcngQtX~Ssz(#j%YT#G)zZ>y(tI6b zqU2fiW~Xzxr)62K*Mgf3+omu|%f&Mp*(KR^{(V{Ky|vnqFfLYCM8S?%rmtA1ChG-H znKy{^zV7bSwpRF``R=i?POk_35E%zR;b*Qw<9@~KV>AG|$+ANJ%(~~sEWmaKV(GJ= zkTvM<rm4IDJ(;nyPj{d2)6(M~z!eegD0~zbnL|bRjbzSdr#)yaKf24ZLh%W5?{jB+ z63~>93m78m=SRuDY(t;(>?tsg2u{9CZXTSzb%EIjbpU|{<c$sf@SM&g_W4l=mgvwo zgBmL2fYwC}9%We1G4=<XEPvRwwsTI&b&YnyZLYe*=|)5I`uwqYlstf<7FfLA)vN@u zbU2vY^OpR}<ubLvxalDFKpw$r_c5A&YU!jTsfww-8K|0eyNhx%;Fr42g2DjGag#~; zcjnWw-!+T&?Da6^I!vOJ25Go=rY9pzGhv5W`o&Iy@?3e7KG7qmxOQCW_ITmcj-0)N zJ-nM+#dLHlxZafb!`}!`kG^-|9BV=lu|~bNc{!1%qkeCkYS9Ho0*wOt3O<^`xS@!E zT#CGLCc-z<``f9RHZgOU=YzihTO!$i2=y+{u3vMQvf!_)64zIC>pK}9tHRx>)yt@| zKJVsRcdBf7@tdF-ub3;)I`m*H+EdRAaw17}z`dBV3xD^&wW-yJTCV~@tmE@3E~=T^ z?x2X{9Og@}&ewl^q+ef@q&zmxHCk4Vdc&m%dV+ecA<3mu?sR$w)6B9P)~wH8w@kJf z%~)hlQA=#rhLDZt(E)W!_2ultrO!g$c_#;OK5^VD!TyfZ)=xtCzn^eA06K&%kSVt^ zHb!GiENE~XE^v}ygn*F2h~+Q`{)@aQRa_lP<PCP$Lx*d2M_Nzd?XYiAo|5}P6BTv= z+d`OO^+x=~#{=x*fB&n`NA54>?dNX38B6SC{-?{=$2(e}4Z&BJ9QsC%0$3;nk~aAK zIOZ#SZMB8)zlCq{P5utadP2L^njIbL0i8=t#_v^1U2BN((UG~kJ}p3074qH>O1MsN zdKuLqW0?ZWgE~HHc@@YojhY<$XEL8-cW$m!seFBACrKAX#?9D%vf&LH_4*&zWd7LO zyO4yhn0~Cc=pR`;eQuc!^t`74mN~#{v}dX?!LDWQ+3A}?tkIc>YM!nV6&jSCY@`X& zv+jdnR$k@euJ>?@C-qhy)*DK7Eg|!s=vgN3u|=;hPe;jdS?GdQcp!^@_<-K_CcUah z79AEiZ3Dtl`TbI2+{*>wCihZ%uX&9<&Dgk|zLF2c=cc3T|NXM{=V*-8_@P30P7Hn< z?H*bfj;`JR6<cXA|Evz5^5E_M2~fQ-YX#E%xuZK4mb2f@GXWSox)&@b=TSPZz9`t2 zTE`hFbpD74U>4?`c*UdSfhUwNt+!6@mbhB-zAe1g>*SB}w@DTgzk;yHA)l=u6f|FJ z&s`vgalg7V9`udJp8KXp0ejSgH63sI?9CHrR+p{z=QjCjJg9PHtH$xhm-VTzs1I&O zVRq>y*_k5GZekqOF^zIxw;0xXj#|_|shLx#-G(Xdrbx)XGcjY)FBNYh1G40Qixk(g z41Ar$(06WlivOOQdZr)iAi9@g*2yRDM8RR1;{hV7*10zXQ}*G~U88XzMRB_uu*{}N z5##|-y}5}zyuN)v9z+PXBmO>T9W3-eUR>sdm*MKHPr%3I^6RcOqru|POV(@lW1A(M z6Fmnt=FCAe<DQYq--dO+a?Kaaur1RV<URdyFwgU|Tk`C|TeaDTFA8D82t3f#bo8Bi z<sq-d+~`sST_oW}$td)U*>rQym*dr-YD2-R)8&xZt|9splI%dWZj`8Cn%M?^cbBRN zzQS}#Y}S3^)#X9}!-Z^2N0XchDvw4YWGYtk6|1XG!U^Z7-IP4{6_3W{)Y6TBHH=%G z_-u&APyA70g%Q@*mmhza4!uDPCn`-8l^sa0)~R;*e&YmNB(*ye-n;BSL0KUxCOjXR zQ?KB9)@v?a)6j>2!80SF-afdJMn=v{?hm`9_;XN~uoCx;deN?2s%)Ei`%|r)I~8W) zc*}utD$^y`O-teqIcubSyuYg6T~V>>aM!#dhIkm3L3B6ciaTt!vb-qlpMzYDXNc=V zCTJkk=X0$V;oZr)$b}s3py`^uNaD$BcT-=JNr_(jpt*n@MD~f<t+_^OQRloK+uemP zXQFO&Im|8MVVQ9)g^+DU0wGEyC@V3*num=jcY}KwSR3+caik`{f5_-OqLb;dD|;)& zGJ9kIyJRCPc>Pty+lAalA(0O+1n+e?msLOiq#A1r{EPIyU-XbNvDRzJx^O1nPx#E@ zW&iifTR{Pg(f53rv~Ac$KtC$I!>UeD$DyJH)~q+<yG4sy?>qIL@dkE@`_RMV-oOMV zD~+%ZW>vC=I}f!mnY`*{yL_s=?F&Hjb|lG)eaU_d6?*S92srufK0a(T>0wSnZf=E^ zk;Y|RTLJgwUuvCxU{OtG*&=r=Q$nf#plnKhuyk2{?+aEJEzqJM*oCVob*WN!itpVY zf*=P}c~fp!v@<-~i4l*HxNl-7j*IBjt0clnI{fnvjh^_faxFwdq(<*{Ro&RO_uZ6^ z$Dft{eh>2q`nPL55a#+cDOd@-A1a*^e)Mgm?TZ5+&aN@vKHG_Pti8f+oq&5{>VfEd zx;~m`jb<SggXNSx`$F(+2xNv62Sz~8c8xzj@;25jl&E}%VFy={><XP%khRI;WMqcK z4cxOy;pVXXU#8y>8#@KnR#vO!`D0_*mjlLQ%bV0`(A3;=*CH$L#Fo+8$$di{el0?! zq{CaDKAzNAp2HM1b<mpebG_`B`MYNPzG&H$`CNxz3-}pU6VHEytg?P0q0h#t?491k zZ!<yIES(~vbG`N(3_pyfCF{G(*B?O6v?0^8m(BwbT8pz&Z|Xl*@SM1G)l|=lb4s|I zfrdWL-|kqM*iEN_^Po2HTjthwb~4zh?jaic`vmoI;-hw`W}40AU5^7=N&&-Gfr^uf zgf4_?qQ}U;!faIPL~n2Sa%OS+-kk%~CAi;FzMF<+zC`s;y8xI@iT&=jyq7&fmOTjb zJjbv`ya3TNFe#EmPkK%?ZNVz>oMzyR^#-&I)&AX^Rp_$j)N_2B#k&{?*qzj4!DimH zTV~o~gw9bW9R<ITJQ%Z-z|Wn)Dk3bOW~@9ve)6aB16xNgv}&)<8u@F#;wWYqS0ToP zc|6TGS)r@-{?>N=?1_)}#N^H09Y+K*G`(p{et$AMSbGa`Ifx>`^H`m51o_{RhKael zC+BW83Jdo>QgykYI5DG;EJOu7Uy2P%7jCo4w@)Esl7Ru8eL~h&6>&L9r${+%sBTij zL(<!F7KSJ!kngYAJK;H0V*bohdsqBa|2|4IP^JGeDIfDO;tb`V6BDAb_<(HxEwk8N zdhUB#TJq7f!Fs>F;$;{MLrlaR6oSwh-zo`lc;L9xu>KsC+@A_o-X6n#s=*I{cFRI| z4Q5=I=rsq$<}l#|aBYK!o0^fYpHNfaW~#w`J4u~qN{w?IzuXUUrpSTmG73goy@Lk5 zbutK6BO6p?cmC08Qj>n+num;*Gvkf!WEQgNWQ4j(mW>6(P*5GE<+#h8Y>VV8y&U0m z>2$Y;L+`%pj?m`12KIXIgu|4slsngF>e}|%FJ<ETOfFqyIzQH!Ec6TgQNCeGJnK<k z5-wTvw8l=v)MBAff7T#71fmie{E%JizhAsJOLl+ATauwUu~NJrx-(Y0qkc#U8Ce#n zd$X`7Q19@M@O7DAk7vp@yk(M?W3WDit=Ap$=^ek8#WF8l1;%bWuk!OH2Ag0ELQH6g z3c%$7HzL<%n*>KB<b0eo4KRhBk+qH*#(HDhEHdxr17opo$+EjUe7P%7x>fIHWu*^I zFJ<3rromK+52K(T8=(T4O~-0X1<v;HSsFbg_FU(18d=f2)jl8o?w(NkK*)YeaQqUm z0olJBjLDS93msn?8Ka!?Z(gi5jImO3tO)l+epbT>=fOjgf#eMTDyxy*muF&CoF44M zTx5gt3sxsH&Zc@rVRM1z%b`DOFjN}|2?xIRciq@jUlwx8R~ptIU#?t~{Jl1IX!-hR zH-Dfg1ox3z|Kbm+(;W73fB3BqhRo(vwLcYIogK&`*&JEKSP$Jy@KMV+O;0;^X6)#d zwUn@Hy<OCLUA8{iH8>v2tI*MH9j3lILY4<kc#V=_8z7l0Aog4D6hlKR^n*=Fk|JiV zpyuz{ly$Rf)zz(IEIHXDJ^*JLBpA?~>EV_&D4Z%a;D2*HU8A#1yBfoHhmB(*YA9BO z4%lD7S|la}d(pL9JS-iSv@9J)WcbFa9f<6@{P6=6=Rh&LdnfGH&)r-x(Yr5ghW1X= zlZ{@tA>eos9+E>-sF#Z>Z?3%j5P^iSI11SGR_`cYI}+497*xy>tP}A$n*%Sxt6BB@ z=w=l?n%KSGz>pxfPj$6dO`dNR)g4sa6iNz+fXim_p}U>2#t#a!oK}oCa0&HcKx+ye z+m3WH<bXGa;XM$DBbG}EfFPq$4f1qRlgrHhgVtYmBS0BU8OC^hk1jb6$vD5kCYZ~Z zhh;3`lHeSw)O`2%1N^K7Ct=7-_l4$_EDC>>klj`8EAVoSq6)#-tZ&~~zmr+PaSp1P zIF}4$KC4RXdHFSae1?BH@x|_%RhEcpbXdrA@b%l1PG=e!J0Ta8^vV>Il9Y9oAE__& zHJDN2ZLowDGwrUi3P;h7y*7rb&>=dJmP9gW4t5BZGQf*?PeBVNo|X}G(B5O;^<S{O zOq)@U7*}-i#r(>p<o@}7DerRNAl)C(1QwKxBc+;Y^aeD1f6s#S2JO+M6iZI(3Wfko z;KE)dUcTqn2I9iy1hVIN^k-GmZq%#76SNAi&4yAiXuD1zQ6`z*l38u{v8!~}G&IoN zJwzx)Aw1k$V~Ms>cP6v-F;(W@ivIggvZ9HxgH`vsSwnZW&C<{9;VdTvoeyA`8QU^i z9Q6N;!p+O;+7SEyezEm?Cw`LnVQN89IW+U>L4-zRat|}GX;NZJnULYSUy(qC;~H6L z2G|BielpOn5M4J#uyDRz%D9-=Zjt_UQKaiinmut_{O3~a^N&2R$(C&719XyE3Fbaw z;Ac#3U3nw9{*Njs*`2S%Hg4bN!<(w}gn%wea->B&*N`eDCz>dchMkj<Y2KXr_rG6^ zv|zt6^z0o{+%IdK{ipFFH|P;c5g=oc_iwuzgI2AO$Wmi&xqki-$iBuFE)Dl!!SN`3 zE*Uy=Y|=F89TQ8Z8Ztv^gioViny1HpH0w>|si&&ey|wFA{428{;*k)jS}l`JP-|Y@ z3wq=^VWrg6e5gRvOx$tz4%15PQWl9-GUKwno)GI8pBy1@EA;XARc0FUqD13Uv{T}D z_(;ht%P^!3%hsii(sUpCE^L@peYN(Smp6{a{)BnW%Z&J_&)tdkt+hvNA0xx#KH8Zq z-KE#d|JtskER!nyf)L&Fs3SWQSms0|Y1O%hJX=AVQn$uJo<(_gM!4gbKj%HyxUby1 z(YM1ZreX8pkuy=Badxde$%C;T2nL{z_AE{&(pZ7c{NF22Do_)c5%m*CvpN{eD_%k< zU$WZvYx|wrzq*T#Js-Q++)dNWv$?S=oXyJqz~sj&9$Ee4<o6}a+R;0dg?d(^4|=FC z#V;jh`_5=u&iOCfR_xk7WInm-E|cqaS|Z1j4Uf@%$d31vcecA%`I9a=H-@ZCFptq7 zpc6=}v@#KZ3~UWA_Q?JVnRs^9)TJZ#QO(+4cG%<BOD`_+xs04GaNemObbD?7$ExZB z!2{o~;eq>ct*--#!iJfw8tf{{^Z^kS&<*8a=A^Aa=8O*RA4EjCze>+D+mc^8{Rqq1 z2nH<PyKIL#OqSfT%qXQy+=?1v_nEMtouF@dM~$YchwOwBR*#k@e3g8k(Q6Xi5zYzP zd0>J98$#;K?XSWzoJLx}wss}60`6<HXOy8_QUB(`fxKXVPiD%oKmA<}Z4(Fw-RtLm z?*`Jg^KibmTj3Ct4!6v8o)_UrC59f5)GLNQjGyRqbSCurt82`Z<S%s*y9pFS<-ap4 z?$|ti9iF4GQ9lzhWAi;c?koP?)9)wW&|P}i5=sxQkxr(h+Per3WvnZ^wyKxRG}@6~ zb>e2Tp+V&FiZ|VcnW!}<Kg*O`C_c*=Xbr$w-f3xbvX7^v!d-z%_~N}4+`l0^=JJ{M zj}hGhwe_`f-DE2p4%Wq`4KXtl=&Sslcld>OhdhE}9mtM)zIMiMkek*lKa}f*PVoG( z7PZYqe)$lLuPEtR0a2H%b)j9uAaahI4}k=JUAT2mI{?ojV5q`TR0EKc+nT{UdM(v0 z^1~SrS8>VT(+N`pX-7P8XUfMUFPym&J2f_uIVRS2(=6)eXubU>^z|$4wx@v$>S_`1 z#QY9*S#d_RYBnvJj^W$Up*umR$Sl?%6v+P5s6Sh+pfSDivghX&+)Dg{uW-N+?_jl7 zN6bkh{Rx|%)XiOM_Z%jc!g>wCd%)xL)S&ol5Q-(r2|8AtA@}pno_^aU+oUcp&2C+@ z5%k|L$;z7*nc^?)P5Dk@<<qYFFh_s9y&cOOQwvqP`_}zqLtVnXrGF*e3ijbV)ZC@h zTH#S#pH|RXH%-U9j10}C7~BYU&dE}&a0iKG_sx<uhK~|^-f`<{?Wx2D<`(Go?TewM zM6;&aKX)=q7l1BLCq=v?Vf^SczcRemH~|PEL(|@5H#X`^9~l>OBztY`Ze+Wr4K~me zmvmxtf^WgZCT9-g0kR+bf9sMSy&X?WIQ2=toqhMeUq<#jCYJJSK4*%QISEHP&f#?^ zo_m=hbvl-b7N6|uk{XH*jnBWI6fP+H{)OzET<H7AEEhUD+&#%1z9K>uPBY_pOM~%e z`CqjM>Rb2keL=;RuEU9IIzITQAc{OCTQil?=Hq?1@#)1x{)5D6#Ft+uhvh@fVbVj+ zzKWHO0Q(}*dtHCBCJNHaqhv%{4kAle>WZruDYV62Ijgh6W!G+qKj7yC>iNeQ>xDb= zPFS6(?`7nAgb&|Zcz+&A#u5*+?Q+<m?nTi`Y`*k*6HGx9TRmCCwXn!&JzSNsD8}-( zcM^jwd!PTC5aL<Dz*l-FoNuuoY&ZNN!1DF7A7pJ{GFxsb+_B+c_Tiu1On(dNhmk^K zE~D|DMgR8+l=RNQ@R2y6-E2a@_ZX0}jplYw7Hdk0o$2&5P((dVRpP50XQs~E@R6~S z1FFiM1{}-J)CB$z;!N+?cJ>S?J%AW*Hs>AsIu;BaKTJ}-ugq#ARUwWlkG71Q<gRt! zo0^LQmY(LcP`L3%^C~chdWk#9TU(aM+<%?wtYT+iUbfFT8X?~;kA%~%xtMg?g!0EL zV*=n;w3)Xc<7weGKuGYV2Sg#{g>OR)z?Jui?)s`IEzbu-FGMs$B7jNSQB|fBR5|6B z0V=MZUM?<elGl7%WW7W(8oL`*&ZU035nY3srk;K6zt@f__EBCsV>dUCrW!l`SPKk* zE_r_)`m+2u=~TP?rQzK|m2xy8xs!Q&p8Gmll?3VkAWOssA}zw}yX@BrFBX5?|Eav} zX!2xl(O>I%Pi&J0<3v|BIQw&q=V^-T2b3R`Q~6gSRE-c<%Fr4wU5CCz{XK?UK_C}Z ziq3f!TG`K)E{X-ABg%^2>he+CYYyzD(B&bcDfEB8bpG5)q1)>mn@ki7-nU*Kv$<_+ zBk@RPkiOV;&DMi9qo3Pt6=9Ta%p2eSnf$i!y|E-%{UT}2@(8&$!it&z%U@FAdWTSC z15%qGT=9an#OR4EC?>W&w|9_OSP$r{e^Ga1vY!a%=~4{ZtKW2RNh(YXE%t<r51?iF z-6cKOouw(3<{2IqME>2Lu4XSx{odh##P7S)pLV;mk_EwI6^9D2Jcpm*k?^&ZNl<@m z!tby9W}$VGx>j{+@H0|A_#fX-y_FyGEnX30Vy!ZDA7Tx8p((doW#lXc$h{3?w9Sj$ zdwUSTqY1>PYRDtWMYd7*cP9#6H?+H#QGxkVZO-*!cpu>|*xSl#a&odRmG?a>kHnQg z7}P~e-J{BnChOWmwcc7Lku3T~KYU_rDb<v|q(?joBzrcNl%y$rH}4GzCw*!DH0aMy z&*ha*`5#X`9?dc%TYX7g>__Rt9+-PtXVZaG<ZEXcq%Ewa#j+>gY_5x_w#`@c#AJ3s zXG4pQc8tx_fNU+@8*KlRZvtVe3JnDllC8%GI`s)PJ30xZ>XJD=N~yB@L$?7N6_Aan z#rTw2KCFZ9t2f>5-p8d|-Cvpzv%N<jP?MpzQ$QYzH;#FQO)M9Hbm9QT(lf*>lWIEs zpl$U>UaqZO6_zwC`{N-L_nb>>Vb@m>tQ8gJfAob*0x)AHXgfW`N7!7H@5}Indc%G6 z`q=X;99glye|5bU#Wmr3d^0iK1-=hF1*b%!QvFN2D=`p{kBZ0X>muIeala+@f7q6- zOT%t%&5x_W+1Yc)gcU0Q6$ybIQ=NTzI@X?n{>dgtngGGxs8@UZ&9X)G)6?`%8KKW# zdR*|H3q>j8Ud3cSVEeF8|3E&;e_~Iy4VB5J(Y3ILgT9l;m8tJmEhPh-<`sk$E%W4j zo+vJ2&=*SK!&hu^B4g$sPp~xXalFzYt9Q1v7ZSa#>t5!mQ0zH^RXu58j?S(P<%`Dr z?Hx9BU@dK5T9?US<TG4eb^s042mJSmmVE1@RD`l;j4PN0^O_Td7q85pv-oX!WvQ$K zYAF1^Y=1zKN=-kNv5tt*)gdX0_Apo5=<s}5han!S;zNl1<j*ct6vSxAuDA32@?_^F zgCqPKKW=iP<3+Z>8_G%8@Z+%xUFh=~d)XC>QKFaQ*5h4L9I<wko;V$w7qu%(^7?fe zCMK}=`*_+N{Z%`q*WKo{xRR<HmL#-Kfwa`yTz<l)ek39|GR+f<TCyu2?5$sK71^`Z zWX!@XKe$xAx07XK-)Ft^PINA=cd%tFTUe42zPy=EOJ>|3m>wP6ng%6mH-dnOAb{al zIMDI^rN)T|NMKy0iN`&%>_le_RZSN;pYd8fs{L!Ds$lcfVZ*$3v?O&0p_$!1P+Zk< z{o3Pgn%_$=QWD`%_kPbL!C2UVpCEEG1Ka0MGHoyo*S3*v5RJ}KZaPSWfG&Mp&NX9I zGzRt@B*(hl#WbV4pL(&XrQ_|xY=+li_o!ifcPu51ujsl^5qW0r*BHxdmi|RVop&>k z=X#PSZ_IbUB?LvvUNmVkwh+t1@K4RG)3;t@N&(TV<Rn(wwT0E^dSEws82(0Di9a(> z{YC9xo|3JZ`m_JAOyIdoU&OlU*m3icB_jx`l!{Dt*J=#N$ph&i8T<;`^`s%zdt}tk zq1+Wc<-UNI6m!-M_4}~!1>TC|Rr}I-pjZW)klQU}p`}_EBk;)>Z!+R2Xjiqo)FKwh zvyzPKj&8x65O#;#L$bTy=L^;9B-iG#p5)pqXNPez^qcF~NndQBd&VK9j>PD~zM6ge zL66t_UJdAJPXA6;>L7c!CJ$uu8HogRM?YhP`KB+Bh2_t*4eX|t6HbEjtDc{ISvkG& zK$B!FlT`KJFD!iedsbJRYRRR8TKuzpgeKzG<w7-9=`^Tu;Y6z9$&Z+LGneaUbxRSv zOfTO!j8bhDVa_P3vF<GkI{%0|YdhCl-0S_U(ujpWP+P6@7p|Gpz{xfzOrI}hemB!H zT<Y{%*~MX(B7U4wAQKrxR_V#ih@Xw^3cRnEs(C)TPWu^U(fM8`(`nT;m^_sHoMq~A z1C^fH{a#imVy){Yb;Vxma|bGVy$v>_LqnyLp5?YsPF(j=zIOdAZr#mrbogRD(_Awn z@rqFuT)g@-TisL)6TEIS?Kr1QAY;_u)*Wk%DrbpgzHaw;3Jhl?X5NMK+da)_kdg0( zbi;ccwrbO{^omT<lxuyHjAv!a9jl=1SQVwVB}xn1mBc{8=KPH&fJKE4F6jwBK_{cZ zFLl|!qc8V)vv1G*?Oozfa@o3r*ooz$B=<T7o~84MZ)PX1$%b+E;qHek0~qrOb*lHH zZ3!^yldY2S=&oI(MsB?HsJ-c?;T_uGb!VUj8SZcatoQtk659fdC6OW8-4NOD+0~hG z1Iw2(OF#CThJ@LE^LMj)?<&O7*f6Si`U9UA)p(#_yqrblDmN(3cQnx)f<PfoJ-K{8 zJix$i!hPW6L5JhDC^cNv*R~gWzwdo}>$6qpMYCSlm{}&5d*~eKzLQAC66auntQ(_7 zV{`N2Qc9r<XL@5f!RuPs;hJBqr08ohx<xiq61|4#Y-{JuurFTHtay+!0?sj=)5se+ z_4d*KcO|i7sb23EGex>jKq4<<KA7TCEjA43VY;ovwK492h&s4Za4u58X@j}yysHju zJb#~{I~Xx>W*RlD(-U`SJ7?R0k!I@{spepj>v{cpIn67wt`q~7)dh}58ng0W<~BYl z9R*S<mLrVXwZ0flbc~SE>TA$-o)@k6zdj!Kri4cokX#O)-|(2T<9Z?^20TLgeZfRf zEQ0R+@B}BxpFy<7h~S8FegGNj$GSui=q(~Sknx}~nUZRfmw;6ux5jAKO~Vi={`S+6 z_nFq2Pij0);)Ps7`mXEeAv-3DDXc0v4boT8!0rvEMxMHI$R9+~tnxSa_N;+lLLJHl zdD!ttRX%Juh^-$b2d_?eZIQT=b=NP^e`z@fW+xkm8sW-kEh>B>d2?Uw=6gaP=6*qt zgO~b_+4^E(CWuhGzkO9*Z;StJm1i;4Uqs4e0t{F+D6K~R6$8SAwjLIlK#F?2T{sw& zONS0GWvFV|SQ6fvO;fgs+Ji>LD;B6|(TKylYcl$gkGe`0g9S+zdaYzIm{i_TIA1+b zGV{6rYPFcTc5*(B&>*P#Rk6U`C`Bv(7BR{=QMwML2nVX)!8F}V3nEw;ej_9$IjO|& z!x2X?xT~+bS2L>S=cY!Wa;W0t@w}-@0w&25Y#!jbi}x^tbmszyW@#3q5xe>xEJ|!v zYh8EY?pSAtBxlrZTwIrc#I?O>f7YTUNW%VfUeAP-eV{S3yZeU3MQk^WTjE~^eYWc* z>6+tBGM^@0maQ9V#YlwRd+j;C#BVtbM~+XxERj3cm6Y}#mAenVNV_=b7*cL`Q#s=n zJ}k8=Wii2>JGdcCd8irYJ#K^$8&KFp5)Ox$A0fX6BwCmqr5{yX6gFWOzP*-E+(TEC z!gddy=maJD`rpVQ8qyqXWq!Cnsi~eg)K=blHV#VVG&c>#66S2yUX0CN^O0D%C$1gE zc7+`;1&BK44omkZ6V=nIUmPobr|rldehim<`IgLiMX~1|&BDp$&t%;va~NbHN(-Y_ z2q(V8LYkhGkO36X9n;JG`vJ*Wd&zsEovevTmn5IprQ#l#@a&EKIQ`)x@3O*BmBQHY zGip6U^8i|&+93+gfA0UuPUsk3XehE<ErM4K_H06y4qsaz&RVar>{NC;m8=bZ={Gf# zTg03zFMBEBuMwU&e4i7o(d_X#Q@I2fL^c5NNwL#6kg<|8^g(o<7Cg5B&<3Djdu4cs z2@~pt&Wb-a`dLX~?Q+bdg;EFR-`~w68{4<9D=`#9WTjGs?bS9%-%jeQ<wb}SbwHka z(5OKa8N8pC=xvG12JxG;xSdAky1>!P0iQme4(Q}zZpNv*Tno_i06>*2GULGkZ;-Rn z#J&dG?52k8wEl^dX0;h(@r&=JR>4UYPY#+1Tvd&+;h(xw3ql7n_vtQ<dJnTsiT zB9<g89{KUQ>cj#NG;o@wvLyk!sM{H|YOLL%3%Z!^-k!g?k8*l60XJ9?3BKNUuc>+B zN)blEp0Hgoy>b*d4x&k@ynQJg?8`HK0-oX4>z>(p+*n`P6sk<yQtVo$0v&7fvotli zq|LiZ=4N5P-+$Zb|3=->Fm(ynz*u}cpuhx@YPmWfmgwUp^gbN2BgpSsJ=wE$F8B{F zB&K~&kPqEC)<4fbS!m=0gk|5Lvr^bS4rQg`kZ}ajKs}OZ4WP<*-Cui|oUgDe@S((r z!Oi|}VsWQ*^+-)?mH3SfR8!0|osx=B#>R%YM6b8NA2aZrtF6Vey+Ph>u~+cVH@#ch zi5O^}qOPEdMn<8CMN;nH4Fxqx8F$ND1VJ)#&+wa3)txroRx#}s{rl_YDH0Bo)^_3; zjw_gEZ3{B{Ndtn$x}0dF<xB9fI4!gLufH#mq3pcp+`FjDs^1&Cj$<MW$)2@)*!|U? z!BkoN?_)v?EL}xs5#CtI<1tzB{c-h7nd<9Iod}vA;{4~2%JpO!bP-u(HZ@P~fqhLG zLBU~LgZ|@K?%8&ZBX5R9SEEqE4#&HSLsD$YZ&!@Q3fa@j$#Cn&`}qPiVCp}kG#Lp` zGyK?h0$|9ptkvXQa<C-FH)GP814pK+M!M^Nzwm8cEa%B=zhbPqrf46U-Sixclzrz_ z>Zz&nd#wiTVHKX^{;>Ff+vDwjx=<zLK`q-44f-#D2j231_USd~TG+pvObO}k1yz;n zW-1wbY6NgjNB=acBDz0gN!YncixSL=jEr|e+G!&E;{5V}R*&Td0kg!2XS$F`ufQN* z@5P4cl1C+Xa@$H^uFr3oRHziD)||S;Nb&O3WP)t#O*`gi2LV#w+83CG2vtO0c1HGb z4q1-HM5<|CgJ6`X<@QJJ-)9Xwx64)7bR!|G!P~|aXzptF{f-`PcrkUfbCIF_bOoGr zXNwR^+UaYuMJ)m20lHEQ$?JMmzNMa))8N4uSyo&xuY8(z=n=E*BJ^Aoe>MZP&iIbE z>H2}UNym>b%4}=&A<=Ei)?o-r;m4z(^^uZwCRw3$yb;QK45*V4n1OSZq&+_m)E~xy zLyJ}URo_QEH1lDpXcLmJEqzEQgXx@&IRj$SWHX-lH_><yaJ#rc%--zTV*8g9Y`N~E z@{Put$uN6-*AR))T=I_d#a0Pq=})Jz<b>H8jA?!NOW?ZK%ZIMX1Zx=Y{isidyh2Mj zU1^|B8mSk~ONJM_THToO{R;fpMAep)6RIT&gC}8*2XRUJGartH{RIWx5>kv}9A~uF z>lHKUS72<qdLnwGwd^)-qT(u>M1vp~Gf{_R-6)9`kz%JfxOa;IH>WJU0umac_TMi~ zpxJ8Bz<!b1mqFZysEtOUn8CK`U<;qegj>Ypc5T@!VO8`7`3J4O4td<c<8gG70bHpI zP2`SJBmF*(@$3zso%FtZ)PBxo7JpK!o#}B=z~N>yFUOzQ>Eutn65q)HGIOy#Y?i{{ zbgHf$)oG0dCXAp{;7H3Dh@9k|lY<2=O~bw8HibO+L!Hize4dXjV?VyOdDbQRF0Cg7 zi$9|eecKZJ>Q#y{x@GcFz2f)Sd6TK(ldQy!Wjo`z4k*Ns8;vYmQh7m?uQTR}vrF?K zkP+OOK5B^_eGy0a;Z?nR3kgl)3rE~MaWJm<BMTO`(2xt7bReSIIn0}EGo*%lKjMRX zt{9o&H&RM576t0ote1929g=Wfmp6|_&kcQ_UHu?7Tqf%ENbJ_T+WC@Z*>}$>*98U5 zS7%HI|ILBnm$0t2d0&Hz6Ke6tLhO{HiZ=rXQ0v^@@d_v*mo@soK}3@wVE+tOCBK^} z4~42FX0z%Q=Z2jFKC;^G*Y|F)y~(%CTvXK-@V$o01PbX)>`n(O+CRA}<5VSSO?}ng zO@}N^f1e2Z9C&1z$=}OBM-eK%IXdJdnkbe{E?=5RyO25*(UTvI0+ek3#UrJM{gmWl znM@5Ag@LxkG%Yu?M>0mE1T+nVV80hgMC}hgvJ5E<tBR)Re0Kbl^zaLbkG5mHyLNyc zptyU<(B5`3)Eeu1{>*d)mt4(dnW4a>I_qrfQgnxtpHO^zre3Swok@}z&z5pgA>&f& z#L{&S@lt3*r!z~{)<eWTpIX!&FE)d3p?SPsSV!Dd81#wfT{AcHm3DNA6%D5uVDlmD zu!GZPj291Fhz|CPX3=T}(Yl{2pw(3NKG-qP!s2fN6z<&^F>0zUbD_FW!8ufS-HK{p zovWe1e!w1#ed@Qz`g>UeD~VUk1ZF**sZOp4n%Pl85Cfj91)EQVs+|Th%d5l1V=6k5 zg&MIK4KnW8)b0B0_Ln?1_7CU!q<0jm*U)1FsTzde@4RW3zF75DeYStl<Z3s`_i<BP z+ex1Cks2Q(W{~^@Nnocp=h<29$UzgyJCj&#WMZ}@q&~le_s#D4!_Lr@(3DQ|0aX^e zX7`H?i@#AKks*&dQdjkBpCHEJpJUog5r307MyXeXwOd2aT}!`C(}t)o^$Mi3G-{8s zf$hhLM=ZZa`IXG@hH|%N%@AJO2du(YnE{}4w3tI7;k-Z`oa>(4qYE;&<u>EWGKl`~ zmteSXtQ!GAht_A~TPoK-)AO_j!F(IQA-=H}7wOln1cBC^N@CBQjCnA%F2E|*smb#T zXI=KaLU@M!8Bl%iCZ-S4JCs8bMrJsNn!VkoiMGEu$`YLVt2<cfQCU#4CaR`>%-Poe z+ChQIyfUBNtf5GUf2e}`tNGR68tN{wouEp(){7WUxF#<=>nL9br+bx+KPLZ1S_cKn zo6pin*q_<i0lH%%kju*r8v%6y((#9fBK>+abfzS?MbDMEpF^6$Zz^Ddn)X8ueOkxd zZgWCVhtZg8;pM6&ThAu2HKj|VL7&{-{Sl7Wi1%j4WlvOWgM=3wK9u_^Z7H@^Zv~wh zmQL#x`QGxX&+J-Aw@&#@%pzj$xn^zqQ@^T|tM?NLK*?Pav>b@*?RJ<fSK}l1T!-VY zGfPnwfKl52^P9)JfSxzA8aVB+Fu{1Dr6?E=(k~m&XD2DH8g&`uUmq`}qG?*)euQg7 z_X5ZOV=h1g=piw2E!E4QAJIAyGgW}q1w5T>d{IbR6PO&E9@sU#Z}QVMzi4-!IJi|+ zS05gPkotC8qFFaz$lC2bA#tGUawb?_d%RsykC#8Dzq01CY;BYkUwjpNmsEH3h2lp- zjZWAMvHe~Rq*I)v6lFL$#YIq(XJ(VCeCvy<h@*`4dds7zc^VLSBUvPcs43T6G>kfV zxR=F@YXdx|OTLlN-mCjlImq_QH*~`&eS~FB=XS8S|6?ma*DSC^I(_4oC#jE4A61b_ z6V0*ZzH1v&YqcNhlEsKBt+duvmy2zy?~zpW`lshNo&SCj_x#d?(gFFSsz4VtPSJ%T zsbqZ@95~k{_$z0Rq(RdG`ve6XymP3{K<g1bx&fmxiW>YAF<01w*0h;k@)*{|Wlg%( z)a+bf_^5R3{7N`OiOuvx%8B{!kMKb~vqT-=*L0X8-@~>#c95wiB+Dwj?P$z)3#VAo z%HXV4>*p$4zIC?b%OU>HIY=(0lccREE75Gjn3PKYP1h9YFb&NE)=(DZ-mFBgc1_UW zAWs>-Q<2n-7IkJ=kW&mIMSNITDAFxOgq!~m0##o$og`!U0M0UI)6l44Zh$38G$JJ7 z{8jbI#9pCeSN9n6TjwY1s5@Smckz0+XTF>qcg}d%C7l~nZD$QjJzJ#cRTDHCDE#ZH z@3Ys;^&<c=bCL=3UIuWo?G3PAEdk?5s<YoAHT>kAlf_uz*SRK8lB+<WXF#IA=R<^E zqVRiU3cnK&iMn^N3{U?5zq+erWaIb}puL89YG)7i4(ur)_^uU9#~oEBE`YwpY}4Px z&S-X8?jCnZNbj+|DW?zLI%yp0Fmx1I)sc(SeOj=a;xUulk{BLI#$p7rN@j2c$dSW; zH`RN6)OUDJ9GPr!Mip^_?<6}ucTZ%hWPRz@EWAF7*MgFimS8g@M=x>#2N7`7J|%Eb z8n)FkuKuI&a{z<Lj`9a>jCYw%=D7=Xjl?kEWB6;xj8e!Mi|KJpsqYiaaGY|i?b%A* zv;9Y3RI<&nS}s{n>T*Exin`-(=bC%Qu}!MGiA;g&g&nSw?F}aUL&%<Pgh`B^IJTAJ zN1_Y!L>Gn);ctmwDBxVXg~6ih0zA-GS@$0~!0l7VNRB**3BZ8Del|_hNK6?C(vvrl zYa5)|lraTdMtheA=H))houD2*e<*T5I%GK-;OrTNHd^CvGR9qisWI}XrDR*+*0eMp z0#*4ZO0nXtp4y4oKT(<|BjmNZsE04P*8|sI@+tjD<brkm_sh+ioIz-h)#sYlgj%95 zpyK3B=e%V2L&VHirX4G;FKo9uRr^zeROU6KE+UZUbcDx2aS<Q$LJUgS%W|jylF0k8 zzw#u)Eb#JUB(%gRzPS0F&S-Idxl%-|Xp)0#wjsA7Sd<@u$JB?8`rvgV0S09rka;>} ztjho&1|sMLQ^tN49l=@q1rYj80p>0l^Y<j(6dume=H=?`ll>%w8czQ5b*?3cfAAwq z+ca%|-P>2D0Nxa5KU(AU{+pVOVX5ucSv$jG2RUwtvwyuOel^nJRuT#tOa<Rx?&umS zP;}}YhV%Lt$Qa=;T%P_e9;`hxA!Bv%>E5j_lsQcVw2J6rO}-OJg5X?&iaQI0T(B(% z2ifb)R+aR<blR2u<V9I;H0?QZoOY`H$XbzmUpruCYqR_I!Tazm31^<*k9ISdi*hgd zqR<c0fA(K?b{Y!n1h76iXj1Z6H3q{=76J!;@;eHaZ;%Vaz@h6S-bxQ+eXldzW0qon z&GQ`XM&O~ro~WNhmI9zpVzYs7-QXq}bue6D626~YRL|-~);)P`Z!q+e%Uk_@*><_I z3e#%5BzA9x38pt>1D-4|M}n~jfv&-~8&hn@{G}++0BV-AUxv7~v%Fgnd7sr1AItU9 zu4y<`2!!gM&ocu^qWzi3veUnIL%VeCJ$WjOdH<{sqWDvYP@;-Eys0@)g)-<6G>Qj+ zgr*JrSamVK4CDwdfw^eLnlsiljHxKo5BKbwONx}YFQ-c#a@3n@Aj)!S>wu&L#Lwjo z#1vilb6M()bqCk?I$i&OX#5qC_bkoNr*4ZF^m=<h(sOcGKi(+NGM|Rb>XI`f{Mh3o zV)!=d#L%|_%P8>A1opsB(Ny`~7EihqFo?0aVlXHtQVW+WintpOY7XPlMBX%_%=LI( z<fj{YQLx92f!nCMB$KgaTUfyK*iz6ZRl_6uzlxWbXFh@z=wgZm4Uwd($Esx<rR6dZ zIRVQT%*334BY%qsau)<PT{Eh$zo>=kUmfdaIK@-p^suTfREIIQh_#7jt`q{v>&dU+ zn6HLhLJYxmN2<vx!WV^y+AI+z!P;0<`qI9HRQlBx5`<=kvvwPg{uk}b%kwkKtLlEQ zeO%LA^p4(}2E;yyJGs=Qv4i%{*`${c`3f8N{rv+V3%lb%-{E>J+j=9+G19)gz~UdZ zpF@(O*<jW06|oiIyhy;DZojxqxBe%RRaRQv$0Z7-cVBuP(x4rjEf?SPkS%WVH+R_& zk?z7xzFP)Wv%RImbb;y79ry)<eM<9BBel~?t#^a<s7Gw@-&8x!bUZEcCCXgT_kOlp z5Y@+LvGYa5Eg6BO>j9?oYwduNJZ8Xv)s#4fUvNAR2=Z#u1x%2yk9hhcX&m#Qi$ovQ z#Gg%GI=LUo(m~bp9wGN_*5B#nar74z7YPYOYW=%b47r)IwvZ<DG?TeM>Z+t%$hYvn z`=|c!&%GNK#6MY}MUOMBhW4nDb_m9<++ovoaQon_+GovcU?&Kd-pO2JtQa}14Kh?M zSXlgIOpPnz2I8n`tb_m@&nUbRVvK3(g__L=)eLjb;oew|$c_cSCB$uM-ebk20y-2e zzZx&wImnFJ4ole<`}&IGsWP1cfq!(%b3T5sW5&4we_d#yjD@AjXzXkseCi%M_Q__c zE<e)KSj#P#e;rl$$QfmZWvMj{@<pd7vZMJ;%<_4Xi0Vt5<0OzIb~D!=!k(?y%t-9V z<r<edG%vzu5bAELgMq$YT#Y6^w_b24rtCk?g7NVN{qI@*qR4w~29V|F7D*4jBM8lH zD9(LW=!2c-S;{CXUy*H|v-C8Uo2>j&rmv)ficAL5pRFU{>YnvO!7^x{Tr%n?poqkt zL4f6}29VU305SufIuQYmTXEoqCU<(OL9bRVPiDR0gKJ7o>~RAgcWvbMzYWH&$fxur z3MKvSj=qs85lnhuNz%iOPURhR=OUtQ{S(7_GIc+CX4kki>uTIj=g>xVc5q0#H4~`p z_z9u0nC6%acMCm_KI96piX=-gt@Bdal6;cs%VqtQ1C<IVm$T&=^oL9R(dfyP&D^xl zQ~%l<FD|7qouKZVcDWw~)Pm9rg}Rd+e8bY{nihd)z2xy+S2>VK{*Md-uKQL??l7i4 z_n|!UNGl;~hW`$V+^0?irxQg|5ru5wt<KGPn!?8UHAD}aa4kLY^Cu_NU9+B}mppnr zxU5de8%?2%(`9e{P6vT0Oh3ZJ`^(j_L-{WkZ!AZ*r)4y2MUtsszLf^I*5#}5;Xu1W zWDw%s5uAw5&InCE3FWt@%}QzYWP44wU>zNhEpcqw6pg3}6alWj+V>`%1m`%$i|vkD zrNfJwZlQo+tD}GrPsj1NO+%Ild2jR*xTbo3`=WZKc2_fDTWP4ED8gloXY-t`V$MWh zX69>Gt%Dt@JuGQUJyC<ecYt$q@34RAw8yb#_@%E|dvL61Z7`73%kHBBlU*4qImAMN zTnciL+%LIv&2Ba)68kZh<m=K$(O5Fzkz+P?em~v9%htf(uK)PKf@Bx>v@dw~S=8<E zmirM3jc>N<rjj3KB}ZsKY^qkIs=Ti=|JGddj!!vS9^col_J`2$>S>891_u?2`1E1a zI?Q4vyjiT|TRVY2QWR#IW8B5qwanLRevT5BpXi3t<u+$+YqCoUw*gR7SWfypKK;e0 zvC$&;2~cy>a^Wkvrskrkg$o05-~TtOfG0xETRPxwgX)ual>2R}3RP11GRo^uo<|{~ z5EjWhZ#xmFf^Op5qM9?!rZd~`ks|Fxbs9o-sr4Zgg>*hP&p8T-UOBou`U3maKGc@= z9det&6g%eBQOb!D=rbx!U6S`)p!}&T*Geatrbd1)o_3Y}H%<-i-o||Kc0W{UpIH$N z(#-!8^3`iPsLqcXLjwox{2xW<{m=IP_u-z=Vb!rml@2rZCW3D%ny3{K#42heYVUn& zujnaBY>q}mMC`p<V$`l(tHi8Xqf`~=&ixPMhdh$c=ly=Yp3m#z$A)hIvTFJ!>$)*W z7{(tEgjc61!joxdGCK~3Fq1j>Y=GNY%(*7dAm8jYw?Vu}wvQD_f>J>#dON(SZszQw z(_fM;_QZW>!bo^uqWfa*$I0gzUhq^}xlVq*=kOxJ18bO>dv+dLnct9}F*9gTutcw3 zT13D6nPH8;dZ)#y#?bg@>Z(}W6huH9%g8;$`pxx$1Uh0%!DqKVAsqcm$=MB_v9RAo z*a{SWKhzBBl+7r|5G9Qj;vOoC3`vTFnj=fU`&vfq$XxVl-!Hmm0{`M261a}uXE@xM zI3C$(Y)wDuop&<sd`{q8DB&0qJ_J^B?SHX&&}e}T-MaX~2Cnjavg;9!KrRfl2v;rc z5VG{a{ziJOKDlYwXWKF^gByE`p_8ebv1XX42}}6aH|>@Bq8e=41br@ZI9|jW`}6k; zYv~5-2FakNI|6Tm|CB|!z)YXZFQ&%1$>li%B%4o|1#FBdx38uVnI3eS{G_1`p{WR* za7#wPyqspwCACKPY}nqPuixM`H~J!Zo<GvK@7Zd?6y5bg+xZ)ttzADpYJ8bl#6zjx zqkpR1(EDA9=_2;(Z0X59|DHj+KH|%&iy8VOr3I>8?_;EeI1fFoM|E!pv~A9xIj96s zWr*S@>JavhtMh>;y%c1_$9zhAY0+b-SzEB%tRT--v(}v*_*odbiN2b??XZ23Caa8H zN=ykL57~SyEgAy9Xh}C?8FqC53Lp|J1MOlN;h>G|6+)vJV{RDHzF@lPeJA$&)cZXF z8wliX34q)UhDea#hv(?ES%XCagRpO$YOZRu?%R~7YMNM0r)<f)BktCfdj$l>=W5p= z>trl7pZ$fs!N<jb@t+w{__#d3cK8;df(`TB4;Rksn0=aeX@vCYa}iUi4kSQS+P^V^ zHQZZDXH|Z9se;9LT84HV8WYoHDY8W$-ZKQYX==?#Fkefaqr+L_0yM0~EeOr>YVA`8 zW-tD`@eJB{w!^K$%=U+KAubR*X!7}2gwelC2E2XojAq6MfgUqWQja+aqQ#Q3VcYgg zO6M9paH4dC1wQ~84um<L(&_vXgK}@^qBy#Cpx#+R>6iV`Pr9`$rao#OD723}8tW<) znozn@wSRvu>0J>LY(2BjRv)R@gIKz5Vh$SyGAA5tnHs4+=T`Yg(pKm@JtWf5W4h3j zv^-tNON(r}`@$E4{M2W7@6Kijf|Cq^Z6$7E@AR&c2IV)wIw46KHmrz(mp?h)UUsY| z+-<y_S_gX1Cg3H+kTrEpXS8fjl2XYCwD>Gp3D2y@YhE=*Pu$?J&*0S2e408ejc5IC z-BGa4r-lv_qr>2YgDj)ih@p2LGr3+>6*dEpdNK^S$;{9N+eeU85I^?a{L(80D%W&7 zyY2t}yP@ll;-jWMbkpEBDCL#%?#u@e2ry$&Iwb~)e+J73jC&NqHVJkEuv~ONJ}KYI zo_mvQuGqCE9XE_LyqQq-CY`$hVx?|LOd^hMBo+hJ(dv_E<<xGou9>tbel!2gC=J#0 zc8`jkEVI74C1g`$#-f$=;tqdR2Cgwn2$?Qv<)ti{w+x&Xl)qn+{uEg!`oD2{aGdSB zc55y{k}a0HvSrC)U+~;c8JJxzpNlqm)saysGD}J#7zg0h^yN(7NNdN)du$)^85<ei z)@hXFQgfm&;#YqDyFGJJ;!0!;a0b#VwN_e43)9TZA4Dklmx1EP_P|v-<i5>85{zTQ z8S*{%QSKwKX4Va(H(L@IFpnSH82Hogrj|XVj{9;9t=K-q3aC2^wTsXaE%C8HnWr78 zqk(V1K);Y?Qkjl?YzhU!VY_qc;<`L{*l7}rmeTMWerTU&|A>ubX4XArj%jh@4{)O& zu-m*dO0eG^`%@bQ4XqI#vi^~dSB1Ig)P*lQXIZ(11A+ctcN!Zwbk_f}f3^x>94xL( zIL3eVTWsZZr&U|0?K=6q`NKr+!ys>3KMVQ;{Ooj%`|vz;hJF@1>dw!b#nGQOCK^h8 zfH!POAI$NFoJUx>&#e~XD`eWyAyJ<z7mKLma>9P&GlXq77JCeQ=N=L1qx`$m7}hox z?JYLPta!(1D!SHMX00{jES%i(Fj|V_p6mWH8v7wT9<oCKPY(Mn4zZ+}+|!3-q~voe z?pRnvSHOCJ%~-}yacd0YB%ohCO}rc5@kXYur1~fBR_E_Z)eRHn<)ncZo$p7U(AIS1 z2okz^^CIwR7}VEG=Geo#=j@1=J3Np_HR=_;PDLV&`Bj$?T=R_F`DdQ~)0gs5s-(~x z^i1?;NpMD;_e&bILHx?~9hm`^SW7j2|F{ebrWG^j_@sIl%3#W;FyF?4C6@C<&r)E> z7Go@*4r~oTmyQig|Hy|wQbb#P?D+hp9VWGqYCN8<Je`1FmA-pn!;@z!&B3JW9q1b> z{K<qBC-07K9kiAaJ$A0qyIJYto`Th5O>i-C70}L~4M_>``9wXDqPva}Q{_6P_xl+C zDqA_6M$P7vDnJkU`h2lUTOad(`F#XhkMi73?3xbAfkUg}@qb^fi$Tikr)b8}h>~}+ z^m$R%+b)uciSbo>)NhLsFZ25N)9Q*-sbtg*?CRCmXQDV|703C5-7DMh&H<L8|C!_{ zyo>rCBFH(}{bJj>j(Ier2bkULa*jfc%F|0m<^IMJYJ-=D*p8_d7otk)DR7ac;QX~Y z7w)B6{A-*wt|Cgby+B<Rcv}8MN1k4l{DFs1HXsFhH;<Ziq>JhV1rOg}0wV7kX@ffq z0}BWD=IypU@AnQ*bo4KHa_ujNeX;7g_k`2j#^IUlR&8_LV%qrpn}yQD2qR_X+d?i- z#(?*s%pz*t3Pdx}^6+WVjp5ZP5nhNiSv35!l&JH{jE#d-*No??_}UTY(K+M!D_2#v zR7z^PXuc#g<XJyQT=5f~d;parDP-pyg%KIxum9TE)Dx*-q~pQj+9&?lT6(3q&FImp z<bt~N!HYJJwHKdIb%f2#zglYA8zdN-8|oSg?^#zm-g58~5KEyt;%yl0DbJ=%xIS+2 zP5N#GY@3~RuK#qq%{cCtf!6RNEh$AfAFVwcuE}03((I;v)!{n)85m((yK~eF?Qz^- zhKmW*o}1I5Qi`(w-EjY~T1}BymHRGXnS!<YC80;S)Q?#(3)g%+>afpu;Ed_=>J-44 zd{=6jY^W=<Sw=}9Lmf%ddv|XZ75F=S8Z{!vzPL^oivz&p>_wH9>()^PVdQ(@N&if; zae*qoIf@{uDM{cnj;P7V#6%g09xcm!a8>rp&sBa1+9?%9BWZH5W@nB8W-j2ImuFJn zryeKLM31BVAvq4q6JIFW$qw^X*2IvmjDCD!Ix=nwo6XhiJ>4hwOZO5kRoOfC;5<Ry ztCHc#ECpTphRW}Y`1?K1pvU^A#*M2sW@}sR+OLU;MD#_8v-zBPfjYo6rU$y=m*yxg z-m9<dtc3(?ny2OEJ->R~{f)gjR)dVD=MsSpH}$Rd?)pLqp=)IuYQxfq?_VK-j%Jn@ zBM|y9T#ZJHH}y#^#oece_oWk)yxX661U2#R@2LP22rlj!V;=q>cq+%D1H#UBA<1Ok zKJ?&W?c}s<<%~M<nZ2ZFQ<HjyzMYA9|2U@l6ZUzhG<`C&HX=c<Q$Ohg4_=R2xVePk z{L)V#d=8vW?RvC)4^rXUVY9$Do_H!0pGJj~61r$U3cYJcSF2$_>6Q%}FoU{MeHSO% zj)YOT%p3{EX-d}*LU^7ZrW04RIYPwrT7N|+fb{5-aW;=Itq$_zH$0yWUd$dZ>6M90 zk)oylX`Pm$$THussyD~S2q50~t^IeS;bd<}dQkC|v4ewHz?ziMSrB6dYQ^Klu9|tF zGZb%HLKJTC8D$K?{Cr2?k&qpiZ`R^m0dafw+p^H{O9`usf^<7Qu<J-P9MYgA+wH0* zTe&8&&K_}6<?x3AM-oA5nM2$F5J1pD6)CxQSnbnKKUKYNJ;uLk-9PLsUbPZ!Nd>3O z!c(MQSs8hdwu8d5k^&}w>uko+8zbwLIm9nEhWFb!O6nFCjJ{{1^2Pp{=%wvC)nxBX z1H_$=nu!n!Dx~!-g|QY7ArJ+m`4u|;Ec1hU`VB^nexn_Ib`WZRGOCbv!is$f;@+Jg zfyjxqmnvF?JohslJxu#HYDP}lSzI8U&MA}x2fM6#;%WKadOL(^FSIoB$x0jR{q1O1 z{?bgEBgtVqce?lV*SYJmAvfI9Cu)TDS#<p2q}bFQ+(S?-Jm%iSr(4(K&24SRtCyC^ zJS?t-^9>-X9PFWe3YE^aQZUDg8yAG77b+;1LD4S>+!zsK2hQ#0KGo~amBlyd$5xKj zKMO504cU?iDLrd+3u?AmNK|N~^UW+X61Kh5f?!aXCABkQfxw$wH3p)lh(fO8fn|aF zz;E4Q7)2^AHScLh?NmL5k;#NzdZc7PxuY<rYEi@5;ARincVlTMEW-}@voSpUBZ6!0 zI{KWpVxlbN#_6Mf`>&esz5z#kIER=5DLp=#yJ;1(u_WuANxb!%>-0^~EuP%CHSTRQ zY{$2KR+b3;UPr+A$L377xQlo1NH2V?+EpGYTBXzy2lOeBg9cujxE}m0@Q4d*6?Gs( z1X)}xX+Is00L{!7^yO(z+-$bfU+W1nJI~wGIa_5h5<Rj^-k6yGGNG|R4tIHbJz24c zJo9EgZm1AdNj&%FNi09YYT^J`zz*liRY&oD`FL*WR~VX9t}LKg;zYm3U6r`zwj;6* znio}ggbXw4C1&l%2W1j#V_+_~2mrtj@}KJjCe=W(C0;GbLtGnS*|5r_{8BM@%-Xlo z<W_-ai7qO$KG-YZ9+#tc_^O7{(+(_Y)~z!p$W#5_seqxpTj?8GslVmS4%MjHx(K+c z$_^hY6@%Ki{_eBvp6!AW=qM$MaRWEOxKmKRjMRr|5#4FguXo`kU4wh_ITGnlxaR1+ zLEho=I!a>SO3gWtw?f8QhXAbc?Qz`Efw}27fz;Qm2fCFeund#=8$#$Pu}jIrFCC=C z=<YxMJx`(b1iR`_D_MOPe{pzPS;y6CPrq?(t6DnD+w*02J=#$ew&V$e+T`JhAUWiZ zAbPcJr+>VE`*U@RJ!|}BP!9lrDH|VZ-ieoR!du>i+G5;#I1hLH(NCA9p9k`T_Wcam z40EIAiRWG4i>~r=TqDz~darM+lyC46kWK*C#os%t5(aCs3C0#~hL0#IRq+WdQxT0r zsM*3>j22=EB(V8KdsM`v^l4RMr);X>5xi-2IpNX04sBP0TQtj6{Y>VNW3ccsvT51P zCR?;IxXs<Osw(3r2#xz;`Y|PXl3B|+(--$7VN^jX$RYn_3yz)g3NKfjPPDw4twXmT z1&U9b`4KI_e!W^Dy<fbfm03@m6AlFoR^B8z?DPu`r8Em^4|!}%jycB;t*JXcgm+rM zDP$6g!6K|)jmZ+S;JH0REWjPQDk@)m#y9xF{6niQi+$*&GR@BQA`&RM%(pAZ>1p20 zlcH>7^SnVNcR6O^`E<RVztOnN>g4yl1!?XXdRwtQqpMPSBAme8>N(r*T+LY>AYsUt zP94uA>)wp-Rh!DQdL>Nc)0H>3a35^nfmFEJ2ZQ@SgVI8?m+EQ#zFx>Qs!OP#x4PqD z_7{mUwJ4lw;!#MLdKSkE_la&-5R1d@T$i6C0<~(--!mjrH{?k%q*IU)DxiF15GP2S zxqfs-1TmF|XsvaPtPsv$lS5v*1Fz87EUL66bmCIt9TMpJmS|A1!>#pT`g@W#O{R7- zLf4njSQA`^dTcCrmHWfGxt-rEc2nW{MxX9|138OAZp=m!5rFmmY-J+X3&Wz)IX8Ie zmEqFuKEg9UqKMdl$y=4HQH`Tt4?^MEkEt7Km5+vN-|t->(R}hHa-ARl<8yV#1#CI& zzPkHjcXCv&zK(yYAVTvMOisCE+md38%6G^(7h4;94U(h>wMtW~cEgBNJB7`&6Qe_V zXK|5!Uoa|n=#|MU^*}~yHter8On1eaRZl97K#dgkMptdfc92=i>I=|roIG#2B##a2 zYkb}y8xh_LN#{4t#gqemO1Bu1T@Xmgdj7kgw$9>%Vq4dI=N)fpl8(pE@A{|p&@WLY ze6iHkUCUwrib}Qi=TYSNekomiQXk1Fk7~%2MWb6zutlm3RS7+&eG^?rbWYFB$}SGu zT|vo6sq+}Ux=E13ig%*lxryDR+vF>BN97x0gl^M$G6mTb?h+q>wqNc;m)dX7KJ=<u z;fDXM8lUA8smEPR*9FozcPFT;H5p_GAlSSrsrw3^R-nEMEvijhY}wWW542s6_k01k z%-N|$dv2L9FmId478h-RBte;6r@3Hgx1&P3cp}GUHc*kyL#pPZ2wbc2HzPigQmW#J z@iCaD@3JZOfFq?=`&ehfxrzB<A?644{D*bss(r!6dDyH;eGRbAJ&QY+b*|kl{7=iU zh>L5YU<ZjR-0522uQV&)Ff!Kb%WY=!TTCG!Cf`@B-29?ZP>r#0zG4gduC#P}aLU|_ zw1+hQD@#lkQ1|R=ml`FV9-2IKs0L9N6%!c}5@TNz>7Bv~<d)vM9Y;YlTElVXr%|F8 zO*1}KLTL#q6gAk{lp7qHSRWAaBy@$9H)}@8?zY2G8h@r;Lt{-e?ag1Ko4l}j+r{nq z&gz*${x|wD(=QU{8d&5h?CjG2w$ya~qbsy^ZYvu654?~)q#=f?sw2t7cVb~xx(3h0 zRM!+lBliVLOSb~WJ3X3rf60h(d{_)mu<pAjL+Jt4_8F_=BxQT4EFcyjm)z(1DG%p| zhQEOX4l_+-u($Q)GR#a13^-`gCbTAW11lS<Y5Y9gvWV*5PcM0?rabucZ(V$vL^Lx$ z#CpupgZyRGIVfdWCvKs;iA~SrQH8yKw4qOvkRv{R$nSE9gRyx&^|PtP8uQbQ<nB?< zC9s6eXYoO~)GD|SHj^agCa!(#Pv6PDn`Lut4=mccl)!9Sc?n%@2KQK9oK}C1Xxqu2 z_v>j@<8zEGnk8GjE7#`*m14^JDh@wG=uFG<mgFiK6`QIQ&vwfddV?sawfCA3iNrTt z7X$`-dq@Rk+9SR;s@|-W&3s{`DeF==AgtxtlVOdpP1b%oe01uF1KA5nrzwgsG8(eb zaS49~oA+3xvqzoXW00K9M<SIr+?$l6w**o}K2(ZQ50^Q7^?kF>9g;@;nO*O(BzFzW z^h-&(*=@{e+2yo0BSJUbi*<i9<Va1sCa5<-TQM(Zu9kb-(7;Lkn!|#ogwtrIgu;n| z)AjmkkmaksO~bN`({GP*Srx3;L%)f61i1O~8v!1$6@v0^+uUZfdcUvkbi|u`dZadA z?+c~&b;{t4U|4?hxM^{^O{UAZ0)L0B0fD|J_iIT}6#|=09<B^GC5HINf8DUM=fn5d z%Hoc0xxF4d<Rk(<Lz*w?@a{i}mO}7K0O7gJtpY^mdK{`1HpTriO5zARW#W%NZ#-Zs zla6^pYckRq4NpkdBy*$voy!(&hTrxHCujqeUQcdVed2<hezA$60I}OH=Zx3_@Jx}G zL*m(~hf&MuyDAZh=}a%EA6eqW@JlUH`KRuY;Ts>@X7Euk_sSuM2djX+MNf9VibIwo zm$sw9-Q#mz7J>IH#+YIVR*ET=2oBfsvXpVHtXU<r#T;DEk0_-MbdLF-p@9dh7qeyx zMp;ubtI3qli=f&^&xQTp19mD+wVnFb*oln!<(amavT%te<B@r2zIHJ0751KJ1tq-X zzZ)w3)ZcQ(gp#YWosWKAAz}R%eHO!x*UOBJ`Mct)0FWN!{qb>C{S5fTe{jO1j$ire zYPv;!dxX=EVI@Y=5HA-p4Wa^!Kh^#O*e2tXvxa^<<BS5&QnY<rp&k}@y4%Vrcnn_M zeBCTKVvyYsEK+mKK3x6zxu*Nc8W$p&UQw$QO%xN(^EsoJ>iZy`(RVGJer8D`DVo0v z-C96N5O*Z$j~?!KD`Xp6L)3HG+Zp#fwDW6Aw~qPFLKPH1p$~vW>zOo^1n?hI669T4 zmC;Ff-Bw&i+I~f-8_&J>31?b<iQKO0S_&n8{g!{&!HVs%VYXkES(1y*cLgWV5gO3a zcQif=ti%ppX|p1n&`Dk+=fMnRd6(uzIx1uXOHtQiGnIs?m&iEN`FZJ*^tbgsZ9~GD z1D<S5EpQKXTU1o2mx%$#lL^}M@)F6J0$_HEl|U!^2ckZ~!5i)e+fqeTAZfIF@bV3) zj67N#mLF|56!o@K)-^)0*WxG&=-X+QG$_YwVaOu*con&6>vY6N05UOTInqqn;<_t{ z3`srCzRDicT{J8+-IUG&IL`;&&AJv<@fpypN;)l*b53@Sg?FNzpIIgSQ<ndG&C9=U zJ<-Sk_ep*(G<!Rp7TIWmAs7wxUvnI8(|<qH{}w44;&zV^La8neVAlJ`gEJpOi2ZbI zIu@u5FiciN9MfUd1b|uRV=hbVlcg>hSY_3CzR3P^dJ(in!44&>F~8F|=`axC1&-0k z;vOFZ`6M5}uO&&u95?olXm*3GOm<NI(TA6xL&Ev_K#!ly6h0hBOrk^eWRb?Q=PGF& zX%c>2;nxSmuYpk*dx^ELv%RbBPlo0Buu_75NG3R+hAH`@&Ka(PDpgtR8-B`1O|m7g zS0(rMHHvZE8BZ%IHqzm4Tpn%WhHHsUfA7aS^LLc+G~Ky){bu+Vz<%&+ljt15QS9LN z%VMXuM@_CF!%f2dh73u#KN!r}{>}^#AB<P;%gyw%5V?5|A-yyWfu@GHwO!7bd`~{g zOYi~d#SS%ZCDUS7=bM9bR=GWr1CQjWMkD&XiS{8WfHa#JJfs7tQ0tYqAwGBhJJQB* zN=A7EKEG>R{TEl$jQ7okjd^CHvdHuq=xc(DVi#_tZP3U1^X4wS!sj4dqweZ(px6J_ z(Z@gDH~_N{hioGe>O4xbrhX2b|5%l|6|xg@S8g?_uhN-05-<cBUQ6j7E11F?tL3at z<$rDQn<}SBG>i;m-Yy{v`DUe*`d>#FRW2<*vv-&AZrGi>nK^tT`Jr^^v9QdaZNDqU zstF$gkT3ZFo9hD#_DD(kSW3y6(g@bqIIYVv%w4<2YAHF@G>2s#X{1Xyy3^Ax;#)r} zmP}s$#O(Obk|d_Gy1%J)&mT8+?3%EAshS(DT4iyAPd$~CIBsbBsRHETVV7=Nu*M^c zw!}>vRm7bL!FmEk5(Gxfe>ZCVW>!nLm{o)rxOhd7VDk;E-j?w60cC1sR4Y?UWiwqO zB)LzL;WP#7bJ*k7y#0j$9?(}r5$gguHrqwBR5iQ=FO-B2y>g<CKh9p@7y14qOD--# zJ_b9&43uj19+$3d<~&~R__4vjs3F%Zz;(xgH32QUcF*{Yk}&=jf%n85697*gw}t@B zHgLo)H+%W>*n(B@nN{2Q%5Z*Vg3V{w9h^#Bjf?^jc<OUX3Rkzlhyf#x(MuY=Er`v6 zs>B0)0%wLH_{`{$XTZx_3eVnz=V7tSH{Aqn+qx{C+7U9E@Cg-Dlfx&xEu_+`dVpH# z+Tb>TE^`$xnM9&;J4sEG=DqFAM|=V0A(0;%#9c7CFq|GdW>^HO=x;SglMj&R!T^j0 zGYa(XjD!!uiXKmXN=&Se471tSpSQ8`h-*t&oge+vzw=u4Z}5wW0~>3n*8JM1((`I> zp)WI(%$d$VFN!)dntkZ*6yh_cAQTCyJre;Qw2cG`<6<*5E)6ak@9na8h4(4j&`?@a zR=%)gIe-1Zs$!O_H?TH>8t)6MRxjjG_;@Vf!tBDl##H#CMm<Q8EyKw_f&5avk;S<n zLPT7bE4ElCO$1DGT$I!+vkGzA`DM}EH1VpUfIiFElaZofAJ)F{>u2fhaayV@ZAyOP zXF1%O8!G%y`Rn^ZQum{5wFEm=dEoU^WM_HIQAn<ZodMSnKj)g5F{g{Uy+O%CL1WAC z{tb`wD&1cuDx-d1?$Iu_teN3FEZyx7lWD_b#Sf-~+cSCSh&B1MfFrAlpnFWlSYURO zgvGG0h5aLPJiv^gtvGWjO*?bvUjxU1W*>pQJShmV5SMhdVG|_tE3`KccC*JhUA>W8 zp{<95lQhHt|3pb5C1BXGz)=b+gB+@j<S&m}C?G);<KAuii8mkDkGieuYbfL2Pz0I) zAGR`kL3+$^>-a90pY#RQUS!^oy9=z0`iBnWodwBhyUQuE0Z|?ZP?wPAK6L#D`o&1z z@vl)_jqm`+2s7@T<~Mepr%&H*=F-mIDUt^o9k6zAiNQiQom{hkEnOaaEdL1}Ay)wK z_w|pLnD>Js%V7D^vMF@bkwK9|n&K!gC8_&G-7_FxqY-Ykj*)XKu4gn|j4KhJ6!OYK zkJ+HE$1E30Hby%vcAMfQEzl6tv1o>E4{znR&({0@3~_4IFIbJf4EOorDfu(Aw(Q=c zw1JHSX`h#{Zo~exZf9bSql+Gtkgys59R3hk+2B5r_AQ>6Xgft1o-aV0U?RtS``|`l zp$_*Pk%ybkiNm|jip)b96@F<VzyNL`8It8rEjee^UkRUt)ng2F|MWpWORSzWyfcy2 z2E9(Dd3XaoZ0>9(ns$auY68!`EG{f`dqscpdioZ?)dKeP<>v7^3&hCX(07wBCH2Kg zOcETV@N~9ZpSo!p%4Dvaenr-rC{I(Dd}49-wyEvDQrMYKf^(K@=Jn8sJy76Dkt;|u z!)H_mCt5+;*i{&na6Czil0j>QI!j0~m#-jc7Q}sD8Sr30Zr11MKceY1pf{bM!<;wI zC%q^Y4fl1fzs%fs15d0>Jg9GPGAkQXn^kH%F9FL)o9}%>^ws9X|B6eNp|v^msZq6Q zQi8#ZlUA>siE&gZJA{AvE|kpInjP{fM9PSNf@B<TNms6s{=30gU|1d${gvl$!Mna+ zkhCCRq2u2pe&yNuzko#QPcIeR@2Nd63WZn<?j?_W-D=TyGht1n<h|IID#bEN@*Fsm zWgP`9q!3rP&b@zeA;0k3yx}^Z*}qf|NP73HTl=opHzn^sQSipr;4IFIgv|A%`AgXa zv4Xu`Y)QhVYEuFq*O#^9h^-z}U3UeU$=JH|HY>RQcCMRJvAG&m-LfEbl4^+t52}T9 zKI?*GA^A1P#sd6RaaZ)yy^QzlD<N5O0nHBTBl7+U(cQKj=$@5kMLB%p2h%P`x4aj= zoRrkzpD3q|WJ+Q>D+6HqC&`h1!797H7;o2AP52%u3!bcJAkI_;e3a4ZT1Oxo!=AD~ z4UQ~c({D|f`6O<M+sH*C9(^3Xdwb17a*7PZqDBV&GQIx0F;fsm*GFA#7{vG`I|CpE z&)?t9SV5V0Ln(;_Xu~U`=h}7a#ats?sunWO%!x+&@*8b%H_cVn<cpH(Wn1Kzd%(2T z$nsFxtCF|$@~f2Dkif*j6rMZCMfk+I(CG*J&l<pj=ikk%Shrt28Mrq~$azB>*<_nM zH@vnU?SP|evMRBAw!fe8hzptrlNfA}l5N1C!j%Cg^TrA(TafRo+xA8+i$_*klIPn2 zCuGzY*4cn7$nl1!v{Lq^u5@q4_E{Isra(npdPYP+d*nfjZ=CZ<jfTSjIi+U;_fJJe z1D^31DSIHCG5IrKGI;8$BP6=}6wodzr1-H$sf=XV;|y3o4_Wn?A-i#*DdrYKxAN&` zjjiCJsaV+g)sg7OIRiImW+)0O9&1>*|4kWe$2$O61PA`<^o7&@`Q{hZG?sTPDNVOX zo4jB9#xr4C$~^o0enym*78emh!SvpjA1z}khrxgQ@`ld#_o<N_AKwOiM)?%SqnBIM z^x07*4a?rj?;NP2uT^sBZCVcX)0X!CJ#Gq`_<jYV<Z14mr$!ZPqKD8fcs(ZGq&W1A z&_94N%RA2>nk-R39=+WH*Q1=};-qQP5v1bqlxV^e{7q~ae@7E$Yooovs*<3UCBu%h zF%id*%hr6Y8l-g61vC78x+Z#{(4lwh>kGbZnZBuME-pJH?UYwaB)av(G`!7y<z;KE zUVE#eb?Cx#_*bc}T#b)|0Q&)?((6aG)sW+R<>tK_Q&lo9Lt?-HvdU_fth6K)3+~;y z!p9LtxV}jc+z!)m;FNyoMIkqDSSFcAztmYjg^+Y+J4mo@*F~$-)=M@L&?wXPTwfBO zXF*`)f(<g)Eip&NC1$T<f4ZPy?5y@(g^2X!X`})}!J~lXKu+TRoo+phl=}xqxT!Ci zABEq7mapmNu?-16&BzUaxiIa**-<_bgJuxv&UP&eM5iiWULVX68ecsnuZ#pS6GOk0 zAe&cro)~r8Vo>JBX=?*?AL#P~5c9h2T)!j5?u&BY+@D!0O)6(NZunQ>){HMMt*w&} z9}fLf@%D!BS1xC>t!b*PuTI4xQP5*Bu7w?8h%?Lox}-6$&`=dF&Hgi8EGEEXs@LT_ zLbmS5eUK(f*_XHV)IpkeCar9ucOYE(-rUHqCeId?>(~@e$c5OXrz~Z)F@)BXvAtEW z7XNIKYwK#&MC&1|Fr*?yKmw=y;I5P&pxU;6eg1v>hC~PZ(zeQSX0+llWBp+Wq^5V4 z3NNr4q_}^AZR-Rg>b*$6DzPd%e%<C7nZECZ2_&)>Hjqt0rmB3j^ow3?ePa{sWZkuU z#MkF>4(<Ud-m3da%eCv$hYcuFA{^1cjf2LTdbH(N)-QYK^d}6HNRt7FA<vZ&R`mC* zvm3&foB*S!^)q)6#P|n|ObVLdpeBT5;RsDSXsD;vCWN(*2bkUzf~!Rq(#eUx##k1F zR3yX<hYa&PHQ>|A9bVHf83c1`pRvzt<S=$;@w!MUQl|+yFC2AQflvYiz&gS=;&L)I zY8?31)Z+ft6(-+&X86AwR#E6qxfc;uEA85ei#EB={t*|Y9DJ{_0%NK2*7mYoSnXHU zA(wSLCM-$)o9gkL#rh#8NNqQLG-?*jrDmc+H8>Bu7MQ+N_dWc!DgYcy7m5AfrwC** z3elewA><<__oPx|hr_O+13mb_I?z)WTF++Z$?A<nJq_9={^d#^UO2iK%2TKCy17;r zt-fdhm)k?o0GK1|QkVV-;f}dyS#uL0>qqp{6|LWCvx1L?d<9r~&Y!z+(rS1kQj-)e z7ZgU%ZG?>L*J4I$SntEz9b<>fl^NE2bFiF85g0O*_@v?K&L#NJ->ACtj}O0ZSsz|w zORaBzDxOjLl~9j;An6|{@~M>rk|-}!_dn)jpFJ<aAL~^`)J@pY_T;e3De5g|gP#-* z^kQ#|S1+6NZ@0<Vgf?WfrkT6ZqMt<<Yl(3=-0SINHt#Bb!$Qa7Bph)RTXG)B5#d(l z&CC|Iugn7%-TMj!D+MdK^elgT&nNZSThcjUQF#KBHp<@?MDhmnMmn3_;<2eC-kK#O z5UHLfdS~YNFWy_5t(tK@lPE@Giw6ZQEf|_dA9C&scQ7>8c3@l5>c1N@{-52lZHG88 zTWVZ?_iO}`UmU3k=>M)3VIgI7>+7ft7<v|n9At;*yJj9Md-I3qm&~U@tv?D|Gg|Qy z0okrrgq$^YeKPx=-onP)PMwiy5y=yXr}>gN)#miax7u)P$$c5m<z(GC(}+)9qr7Ec z2*9c^OchJxGlIsoh;FEcLS%NAY{`11bU7*KZmU5;07YhV&%+WC8Q;zV&~uZT^{epJ z)hIdC>;^XeDi|K8a-Yqqj^gu#(x@vw&1tTZOLU|(jDqmA2XL-QbjS+2?t9t01izd9 zd{M>HET+6xDMcIoi`H+z(Q9j7K=T8Y#z{;EMm44P=)}ph{!qpz;uHO_2rQ>M7U)kJ z;o^+y4N>jV;yd>~JY&7>e%6>JQG088fB#|noj^Ms)6{VKiS&`wMCw37Pg6V2(c6s^ z9`{rJ@Am_tS-ejE`8%B|9iis$cAH}GfaO-IDSAr6yfqbJJ+M9eEztkEGlKO(^Q9o; zxm!1g{vM~nt5`SKtT#RBYq7wh**6U%iWSeDhs$A<G$>Zxq!8vaioR(EFmt0P_c#L` z{+y3^c4V2P9L;X^Rn@G&`2T+b70&}YRE+GtQ{0SdTPB6oVxdR3a!MBlbEQ+7vZaT6 zOgy-{LCewfJu_w|!6B|+pTcnE)QXeIAn!TLBEd#Z9l0B5VBus&pjhBgMP>>zv{UJ@ zFdBE59{y%P-s-u&=0@ib6LvKc%VWc1c{>dYpaa3pi)Iy3W@(*7eU8n%%{V(%$)fyL zx8&ZET<lpa!7e0yan8Ll$TDeiM3fZj?T))ZQ|-UlJn`f-x2?{#4jy2R*YZHG{C1_T zD?rl06HIo$Q;gGj*mzX;w@s?*F`D^~yi+M>Z#|9KpqPw0?G4>@x#}_h2$jbQd9;Xb zJmzHamdraWg!e)TY1X@H$FC6b2ANu=U-@|F)agixn4Ftiuvql3d)Q!PF07-TpS%2@ zpJ$D;Upe*$oj$wb?%dluG2qD_IxA8x_FN8u5OgT^7`zLF!1(FMB4A0J5E#rkfw9S` z+pI&JYD*5+jxA4wyn0?|+iAfCoUYFB4=gE{D5s}q%Ik>|Pwa~xk?^%XQ|p&>V%SbD zXP8<COPTG6r^~H>v*18aveFOkubbA{20qD>L%0k{%M{)p8X9spd?Dr)6fLA*Zzl?# zx)FPpndT{`>9tTBz7x6phtK?I$gJ4l@jP!>;E64j<!>sj=AZ%M+q33+cpi;}LPEln z@bnopR?-4$m~-4LI@a0Afkd!&FR=s^XqZ<=MosDz+09ldEwiH-B**>?i<o6cSS?EY zg>+~3wO_Wb-}l39D}}u*&Ry#KLp882KUx_A4H1DB^04T`UQJ65$b?pcjiF{pf3VsT z!V*1pA$R!rZ+aE{cDvj_h&}d|GUyt|ZrvDZ$&#~*qH^SpauU;e9m}S@ctIfgY{svo zfT0{v;j`Sn4%+R1&(m(W)?DSe(BFDDi*{c^v~C(?K+C%VoR}Rw51P%5T+|ZcQ9b%P z)2i3d+na}MO(28^yLotqN~x&KFbQun7tWYd)ug0DMqU6`<t?1%i|t@&W`0yaL8!jg zOrWjAP$B0wX%yl|?<>6b{_8w3$GKW9|EXG*$Y8bF^FGXxdZ&4|OY`7dBL`Db$rmGF z^E^f_6y{+WJ5*zxpg<6Z_Kp?^Xo`>4TOU^Sc?&I_e=|#2v(a%&2*2n0sq$dG?XW1T zY#_Q+stJMJEGFAKI9PXF^#Bu!ukdP%BB>?`l7@ld-ZRI7JY6nI9(_tvq(Ka4-EAf( ziCJ$PC(Q&Whq<pphiJ){onZ))644yz_%)nMk41F=3f^PZ>yq74@hw5VfnXW$n-gi7 z+-(+kbn2UZ(XjKW*Mh|C`lwJLfCy9|#p6vF=s17YBc7h73pxaC?f~RWu{lTGYHW#S zKKD2KXPbK#$D=TpmnR99_WZ8vE10De)cVShVBL%4sPNpZRcaE<uN9C+aAEayIRF?B zodUWuUJ^oxvUh`5fp*KLenb+~rqZgyjd$d<RTI<r-k%-(!DXO1Qq5<~p)|BJ_F(WN zbX88tM+sKEuh6b(E5e+`B_+zAe@&lS|G~6Jy93Q7n;CK-ek3)VdseQr9<F*!cr5<~ z((}21S5+YB!o8`zcG-6eOyQK;MJap1!+gsc>B0?_UFMTo&y2O<nzx;<R)}-3Il+Mm z8i#a@#JHOl!vpZvk}cuD`X$uVb{`ZPF*Zl;+&Z<BQTX6C1#rs|^vrQOdG#YnETwC+ zB~Ag<q>88V@^xdXPgkanU!|0a$`jydNOoAj5xu6KnLkgp(0Vwf9N${gW*F{qkBs() zx3z>XoTf%J=KfarAl58q+EcU|XFcaQdGLtePZM3wm?g_7VQ~m6e{neVn19-F^lP)o ze#bj{Hz>c+6fGjggUU!r%Yz^YhuH%3T5SAios<ipB~pED*P_=zt``vE#^_s0i}&rP z?=J*Z5)^9vi3vSs1wf0#YO09nHh!qx&MWB$kLv72T;mM4Dq`cRGBx<!yrI7rJ+ZU! zgnzzx;^E}KtP1~Z$V9AZ40w7n#%HaZXGs?8qaoG#A`px-G)ovm9}5^}n6|dX0jvkq zt(E3cN5NNlG3Vu#&S`$V&i)M4&#Olv7reGX=CL?Y06{e|Yx?lV5ZR16K|)|L_bnvU z$5<0erVlUK*4nh0n`Z-!bnYBTdqd`sZ%D|-;JU^7v9q?V%$}gyJ1?I-Y^shmZEOgU zZn8CS7iEx+iZ+@U$}e}`dEyT%&~_pVZ`fI6z_H*q!jQWOQeP4)^hsTatMyzRmi|Z$ z(JW}G!<%w0zy+zS^=bsl3h7N1J7mb?1uPg9h)+gKe2!4;1|8cD><0}VWQM@#q}gl6 z4%LA&-tSkC`PF4s^+5i}nVe7}3-Hjoi<xc7_A`pxQZdwgamh|sz*P79=U3hAU_d}- zP^&-MTFe6}V}~#*nF#MZ_@-D4nrRf`a7a5^R76{)D6d!ZCPmtC+?hQ)z9>{=vizO2 z>Y|U4sG`tgPp|Z>&9SKScz%>7Yr?fC(|dkh^0~9^)M<xH!%e1efATh|s<#ZV_Ujdj zK`@c9?4bK6lF|MNX~}jGuj?4-t>ncS{xitu5F1&75qt8hj%tyCl`zL3eCnqv@_tli zDMWf5M0pf!1gN!EYA{jH_lA^5wp$wx)iE_8AzRtcr<Dk~t+Ru*mwG5QtM06Nd{WOC zk5OMd$}b-L?24zMw(jUne7&c=#(ncX)mU3xaLr8oDAvD<1;D$~nk)Wb76fMbt`a<J z<XIN&dU^eVt@~)fW`O<rbv!wqZekJxN%LE!bt(kHBxVT-STNE!kc%I{fqC>3_H#8C zq2*B&>-JgTB%wH=>UE)S;a0ZsgPy4#7i(+;+}skFV9Bh>*xWA2uRa>7(|PZ9N{=}X zXr+ay&VzmZ#jJT7;=puibFS>T7U^M|McWNQcncYnjku7{`ByzdLRyrQEznn$d7c5n zjyKc(f_$*C(S0TMwx^Eaak9w=U)ftOA#<}AxJOL)jbu|ek&_Wa2K<<UH9mENm9(|N z#lqn$*4LLFeOnDURu$^{R2|4(l-C8j>Z`u4IG<CbfsVMv<|?^!OpM1T_A2ulu$U~^ zEU3MACH%Y{h(9M&J7te}7V;OUv?~XTn%0<&M^iHzua%P5og&8<r3?mj?3!NxcSGvK zpyjc#r1Z$~<+6|o*RK>hbYr{m>y>kE!~s|jGG4Zl8-E(nN_KxUgVbG^?p;MrnRnB6 z;I<hR<>a|47d{DyVu9MI;5dQ1NR!4{fk+tKIom!(I@*xD*1eUK{N640^82sP_cCWO zM)dtJ<$=|?PbOKQe@q9B%1)%OH{n@g-yY!w!DST7x}ANzZ3?TKa04fS(F`3n2nLXj z7jhxe$FgoieAD3Y{Bi&fQe4ZU`TM+ON}%06>ze638M<wDdvb2f?cV2BJx_l(fGvWn zD_6NC#cBd+P2Z>9=(qHS<7DbZ%SlugjVeD1e+JQb;*Bi8jBKQ`#$BM+Vt;Y)#ztzD zS>HT~x+Z7gY{+IzP&c!9L=YduKAVkA+x532k%w~ZmY=R6wI`Mr6wh{2&)%Ff9cEFp z=5ZattG~kY!mBvlfiPT<Ap7Lj`1jooK%WLu>0{gpSgJ|UVc|ov%Y7_mu<u1d$|7sD zO8>_9+E#B?BmIzh(%78Ej}39^kL2l6ycXERis*$vNmD{C_XQ&R&p|)p<v8V(IsHLF z0Gz4<9#X+A#3TcrC=`^zDoxjbCI~E#$_6uG3%Qw>_)ODUFc*A$T*OpXrqZpgxuMmC znw<-NG&1b?SB2T;@^JRQ|2!*hiqN#x<5em)n%lN4^d~=&Tz>nj_ADJ9kv{=$pqyzJ zB1cj0g_l<7n-JrQ9ZUbT(ls7IREh*xhbR6gKH7h6vG(n1!i=<5-`I1WH|+hWvw^Dy zA9htyzqex|6Z#X1Od-AXhRr2}0^QiJv|RWFg)!hU!aJ9pz?D*lZGhQgpGmgqW-t*u zg!ckzkMezvOmfXrU@tP#cEBom#u;eX!Pda73@CC3TeQo%SM%%cc~MUxOXvB}k)e^D z>i-%i4=N)x-=TtTF%2c(XiERGv#QJdm(<MzEgS7x6Ops&jB)%4hc@|Tj<h#DvF<43 zCL!bQ*h%KuThFyU&Rut44^xwIZ;+h(eAN`IX3p|Dpbm5p&)BeKOnAj@ZI3C?-}<<Q zXfTO<LNFUJ!-(d_q0BLl#fv;HpPqNnzA@Tbf7SYHJkUsA_AXNgzndZ0vwq6M!z1}+ zV<S$yox-RH6w)?Nm=ACH{@)GdKo<S^8{<`<`fu;O!{4z(46?leq?t#|dOWL4-VRu- zulaQ|N{vbtsJ4<4eav%;nnvo^%bmKvc+3y830N$_pFRVZ?7)ePwE@Mdhz2#iBJ4N{ z_&zPdCcJ{hc)_x5TF?ln@heiNZwT!Ae#VP#4!S3qO(9Mlc*)4fh!xryj!en~O329g zi20ud9gEW(&AHU|y(+}q^-J6!Fp`XyC4?=dz`A4sN`}H(2x3E`7?Y9RO|^XIp4F%t zUAAN#*UDEXu{7$ZE(<#Js@DnGO#vwTvite_TeN(&tl~5FH!s5o?F7HBPyKc?LSyn> zG)o9S(;aD5s&DuzgY=qVD9y4-?~murg(7+<T$Qp1eDGB(C&L!@ou>}P*Q5Elah#lv zg7D?GiU1?~gLwyQ)t~R{Lu&{8Y&8Kn#wKbLL}(+cz=`#Ex7svShad*=qfTcKZbN<Y zkGL|>26y^O)+`F6SI1I5Q3F~{65Eyk{DguU`jTuvD{P-#TvP5(rQl+XQ}-=Z|B?Eu z@1>ciLf+p$R4w77`y0PLKc`#2W_wIy5-(e8F%ziE5ksu_Y1qIVS#;ju<Qvy{0m3@A z>qRYp_J!4$x0I_h#FYA}chv>n!0Y%JlH0T9>l;(rLfiw4$6JR#*O!Tb`0gu7?*AUn zR&h@54T91Kyxlg0!_Ij8m|#OBDL#I0)+9fqaP;1PH>3|Ze(9g}ZJAoF$2h3W1X@e) z?$kz9u|ec9J`J|Jl@MjXWL7QVwxmg6+Czl>gtXoSkzO>(`~mYSiQ-#zOA$~{9I8=1 zPfV`P&L=1A{z6<TXTI2o9q|ph2tdNR4SvfuQKOoX0CyXN_N9!4*wTyn%*x5oj5HFU z3Ak=1UAx`HQ-hqn@Bv1M?nvhBN3>-bO7glsOG7=55vm6Z`;_!K3;VrdwtoM-3mW%O zWUp+J9zs2yCUX9K*^!Gzjsj57K!63tJb#0C0V{eCT@>{&B-YN@bg+C&=~!y{VWAiR zr_dn~<(!b&GgTbh<+y8bcYB<qgTCV|R84Pnp=$EQ_NKuj!N9=MVh<YH#W7Ovo0p3b z@Itw<&?QyhPqykCq#ca(%Ijef>G^S3tK1I$`@M1l1SaWRjUf*3`y|dF3F6ek3X#3- z6F(Rltjraz^A~*)o0n;TzFpuVz|&(My&yENma+>Nb~Io~>v7zESr=_PB0s8JJymUG zfH2OZs}yI|==>D$xc!DqR<}YWg|N$CGv1(SqBs7XB(?XhzN1DpE4QF9<yGZ_){LF& znOUQn7(1vsbo_x!4s(LKXztQ}WqbY_<S<Sirqz&=LBEs7;pv}<UDFsGfpi$`UFBt| zw*0xKA>l7O9U(sIzBzZxEnoN1i0`E;HJeePyBqyV`FX$maP4KmN)0bkO7Gdkpd7$D zrq@v}JA%VJsK>l#s*sx?WiaBvK{v9AUE$j`-BweJIR$?^G%mT=`8wMQ^PgXE58{_D z=qxB+Xt-Joh8kbQqtWS^uHFKmEY%Fe&!CI6>dSihQ2X18g!FD$@0xsed@}4Sz@nTq z>tjaLsdxyHi4#(OHd_BPBPgw;V<v1d&_H3ddM^6z5&SV=pxIx%YlY-|q$F?c%4a%s zcph@)Y89N+GXu>pH@K;fdCY^533LOPVFjKR??<tYw_A|sJQPEkp0-u<2Nm7T^enG4 za^%F}aA%gPnPB`7^F!z+cz?fQ|DcrZCq;U)qg#(%b$SH{Xs~kSO_RAB56M`^-Q`UQ zM43VD*J9#O`qC!zs!;#Db+fH_rKv2M0Ma=9@nf7pLeG(xtoUH{KNOtXX?1hE%Dwxn zOOw5kQRv{;bS*DPNe-s4Bk<W)OZ22~u<{YiCX0oPaENvsaAT;h?r5xQovf0n&|2~( z?`G_@4yqKC8{Hf8k#(A+wb!R}Rokf=*@=FURS;`Om$dy5*dEVnGvP?VJ*xNR4TKgl z^1foGw~Dm=Dq3pT;<j!>14Sf$O$z}qP{WfQPDRjx^(*q4LPg$v%!&(6*4c)B%=K-& zWwpZ?8tKBU_o_)?XXR*j=lkIxR!aX5Mj~992;~y%2q*5^vmfqv*2xrkllv=7xUy2{ ziHZZ^L|DR^WRkr!+#|B|dJJNt2?%Kb=WAwzGj6(%d=Iubo*PvuRA{44l$MR=Pj}=& z@ld}Xwh!Thd4>gj9GQ@#)YdSe=|Z*@e=Pypp7e7A84V`-_xp+JL~qUIV43gR>hrhD zbGfKV8L8>S)3d&V6wVrsRB9KLY*`o$xHLR`ju1<2IGZ>KxDQ|ZfSVWTJydu?7Og5C z%(O$zR~8WMj9$u6Dn^@}0yWy^-cQIpTnG&Mp|~{09l{5}LM-FTrpgFV==vKFjNN~$ zoNz#IYKurf<WVw;7*5Qaf7b*=?EpD(a@a$wrp)%n0;?`67l@7%!iJstG>aDR(?uB1 zbn44Za@$JDCWRD8Ms&88Xo8)Sdcz%SN<e{(G-`f?edeJ`6=iPGPP8CWsr)gIswK|v z=YYWEXs>6cU%Pxy>`BG3@(C}j-*Lx;HERW*Jx(=`2N;)XsQ+6&-t8m;hrZh#;)>fK z8(EOxil+2`LcZf*EedmdfvL{e=y8_M_y8lT!`7{%EbR-_R}Xh`{muf)oOo(6G~Q^w zUL%d=58tGuay*qHRjKfc%F3D@{`jl)ri+5Ti~*2Bp8J_is3a#`9?v(Sd2}y64V0$J zcxj?ISgh@WrPYR6wMW)8FS>*^=ex>4tKev)c^eUcQgWY6EwIw-{;P`7BNq}JT|x6z zOAl+_^YXR)<8@~D%3%n-4FZ#>g#2?h%~`HrLXa}dfK{OiM+Qpr3mPu9X>-!w_Sp(v z&0la$vh8nXnm(OI6BnFu>$-9#8m0*oA<|Nx<B~u4dyT&B2(y-DwZNx#Pm+NFE~x~8 z+Dsy}6d>e~et*`#N3G$G1zkBhoqjjoBq$9Z2=Px7ZNJ<C5^Nak0QTcAHcki3$#)zV z4}B}E8#MEG#OS>X$kfiNq`ovn_N|c)G-YwJy^Tqh6Xc7^Lj0W@A|w0#Bv=?(BFz2P zpw!MF{N=cwqX)>88s_F#Rc~GXC|-GQ1B8*YUMDcSM3~G1Cdesi<Y}US2vA94qFZ8B z{FgRar{tjt+t^50{*=f7L->~<v3X~Y_3bNo0+%B#DS^LToCGp2upZ(wwtDr{4OkmT zgubauG4r?BkWhO085LHmxBA=N)YAJ7@V3c^Sr)CGzd#qt$IqT-_7ms9-bhZxgQlkD z+~eB~wGjqP_mVA4QcZ+%!(WYB2Qe`*djT8S3m;WVazHY=oiG>|c%fiMJizyTO}tki zBdoHRZ;C9!5QeRudqsOqwBbv_u`=nmm(lS0glDThi<Do=2s)pU0M_<UD?6Dc8G}aU z(`<30HTSPGX@Qe3Y9?f59%h^djvyuumd!&2Hx`T&xEfQGY|QBm`(-b8yUNNlNEW*G zK|#K*IS1AU_ejb8g`2v0ui40vFG;_Sju797AsVycC7}htK?_1sK*{c^)BC6;<$;Zr zsH(J4i?D_ojHBh}|D))<!;;+pKHfQ}r44iC*2+x5m3w6R%Z?bBm>{UQa*KN=t~xnW zQA+{Kc}x)zaqpQscPeV`z?FONaUPyO`R~5qy6^kT=ktEQUPe8het9D;Vyu#r{m}Bo zX{UbtzgyjC_}4^V4qQ$BJ4ma!u3%iH+R~q|EFb5aN%RU*G_1MiKl1rs?)o3tY6%Eb zpc;Ic*jIa)0y#WHk}XykV|o(@N6Ei`)_`H&^^R-gT@VbrAbxcYPHz%TOL<l6T)1sO zSl(L?T$L(bu3X_iFj;r?S0ya1?K<!xn&XgkBS6*eO|!)o^-gwRRAYl*kMIlcQxqW_ z9+S50-60oFyU!ywpug%7(jku=nmP&=Q!jBY&pu66+aa-9&Or66r@J4A+X5gEgqD9F zpSX;f){oggFk`=}I%Xr7E@1I>PA1hVSbkfjSyE}JUUWO5CF5!=L#HUAku?q?(32Ui zskx<yii+Ia^vk@lqQW1s)G{EXNq$p_Oe_lZqqy7>*V{VC$_c1W%N76_wf`c6)p4SH zHISTTWd2l*1;i^`D=-w_DA1t~iF?t#cKBGWUx&#ZRrWGV!~}TLy%e2c*&m1oDZ)ch z6=YPH5yhj2PetrH=qu$+d`CRKUf;e5Gl@)UQ3sVVas2eD3%R;?*N?1BMwhmqJ7rv| z9dWoA7*a|-u8+MDXF2wg!0Q)FG1FJ?0Jp^+Jh2%5JKcA?rXLv3pYCq1vgz~+?+o#K zyqoPGmAB1n3e7<q;TkCJN?H8Qta1nLQ;m8p_88ZogIjY(0gY5$ezJ9m#=csKQI-L_ zQwLRf<<w|pI8!6vh#Xj))=+Q(9NXO2w|93hx?g2==hlN>6Jq*BI%y??_s0;RU;_m% zGF5saux>fi%`kL6Nv}_7B!~rk`nMw9{mem(v8$SYmQQ)LFr0`t*RTTO%<^Z;(@jBK zIC8(>iq}$-<>A$9mrB#VHkepD8xqyV+VbO`8R1qCi$%TDK+p1!RHC8bf&1Hj4ccPP z<nU;{+}EENYx|1Qa05So=bfoZ>hk--zZ7@U)zLZ?^#}i5vVF0B_C>7HiIKX_{D7sl zCB9+on5z_%StRoJf!YO34(XfF1EXW~t|od$?jR}6o_8F*S*6q*IUtuYJlUZ{ip(}x z`LTHL@c>TdFH~|SUHx~;_If@iLJ)5vL33BYs@<n=-Z69GsT@^-$37udeS-alcs#1C zxVziT<(Z2474Yowl#uH6dAA~=+Sa8KkGqv-*w${p$KG*)uc&=c7#x@LbxO%uAu-l> zdYLFeMNEvGDtggY>FDPiBuK7iD&9$=rll?pFoLC}l##9;+oFEFf?@4d2T~pxeDLes zzDl-Bng1afpkUf}FJ5BpQ=*wM&#UKdH<-E29yH2qP^doHTi12x37B6`B|W~)hzdLE znJLn+cNjkDImG>1D6mi@N)R0%C7Kr@Hm%e1=yM>Z=Zj)U;vL3|KP!CEidO}d;i2{@ zKk>jA^TEWp`HkP16P}Z36yxQX*3UyXQV7ANr`m19)y+YLP&i=ibLD#?Mp~SJ=2_dB z3?Zz{^&`#dV%?{nw84D6j7U6E8Y7y<d`$&|Img*BC}(&!@JG&wuK3*|cuJ04&RAId z0p`nS4}%ny4!P~S%0zye-OzLgcVnFq6k%tjRc)_OBJ<4vK_jpaGBbnWG>`rCkYK|+ zl+#D_TiM9Pm6?f&9|b7GVoVtN4ol&qy5cYHzCYKsM%(XKBsx@?tQC&u9$!30lwi(e z0xX733a$B!NZME-pow$22j9@bQmXMQtWEC3!XYhWxG5}M@U{i~{=eJYl6D!Lx0s#+ zXGBSHn`MDq;Tx>@ZB*k}N=i~)IccDecdyp!L+;jQR8z6Lo1bLV-IBg&*Z^wSq3XU2 zhnc=OvZOkaH+7wd$=PtY|C#%*9^rTC<NtING~HTr1~u5LgT0@%a$aZR&gWYZ*{EAa zxNQF`d_JaRXN>__Oueg@YM?K=7K#8cN`St;aCi1tW}&b){kkSPe|z3Mo|Pjl+0lA# zn)RaPNl?QzCWWYK*HUTZJo1Ylz39$zmk&DcMtiXpo8>q<dV$&|Agx6gN@-E`oqQ7X zLV7KCR7yz}6=_QdQdQxXkv~Y=NRzadGfX0BI$rb{A4QV^&wm18&@SDX*xeE}cc%p< z7zHb;{<Z@_v0kN%NsNRqPv8TM7NBYKo9pygykDOq%nNI-ZpOxcq&`^Qr`c+`tsAx8 zQRCrhU6wImKD>6X`aP*Wa@<2kF<pm8?^I``p>E2&&r6}d!*t_eW#Yl^&+ISrQ#c9w z_U8hP-@7u*c)>Qd=Dvj4d0(p;iHkhrR<~=ZJ228yhQH~Ds=nFSC^~bX>MHiq!Gr{c z!Xp6PRufzy_30Yw@B_cR3KpV-&M=9$UO(XGNlxEaXG8P8+ex;9p@$HfZ`wP@$>>Fc zM+^&{*Y&9go>;ylCPP2LtPY&I2Jm=Vs~`NgrL_dSkg}tVWIndDx(vYx3VggD5Apq) zmNR$SDdH$32=oE({mK&5zo{W<oo~;)R54&RRww|8Bi9DwZ9|LJOIWJm@#VH^eR<Wj z?f}n}@`=LC{7!GCel+V5#qF|BZhGNw1rq+@&cneK!h!lidwblF#W>$hR5~%P?aJ3i zyZ4Pf8fgmc3~ulUvF8KKD2v6q#KfK}-=`nYk|EuF8x9LE(*2@B!IoQA2x{^q7V>+a z?~p8Ia9gVT0w9fTy!yyvuHQx^Xetx!hX$pFVa>Do<1Lfu>Bd&fNKUCR$M)sJM4f^{ z66S)BR+Px=Sbcgo>pY!1d1AcCE&Rl<zUr3S!dLxdJ<Py_`;+3DIEc~K#ZbIFLKfDb zS}&ExO!4_Hs4<Q5y(3DS6Oa9a`*c7vNCn9VCY-n06?E$r)7{--1C(lI)2?Sy&30Oc z31aYY(KU)HC{1msG`R%7BDTaIG8V%F_hjBmS&@%U)m#j2I%fn%xy+V7yk0_x{*ZET z?_uiU;Dq^x-0`jXW5tr6wLfFdw%R~Ei3=H5DKY+GdQ;g=Qbx)32MLNOuyD>6*Vd2L zTKA*_-zAX7&u&-}^9PAm?XP^$W!jm-suBmLm7~1W1Wc8_SXWfLNt&80G?vw3WuoLK zdc*6(x^}YTCi~)~7ZbX5!2QRucd=@_;wU1-o2;%xHiR4EgsmjV&mdkte%!nrT086G zU24=omoZ&7P}&rlnTjHe22_<(*9C1FuxZW^%i-C4oU>&9n^=AQVVM~-XX977Nu=e* zdl!>t`{lH~g+ULC`7}_m$K6jqrN5^$M|jfTJ}M4rY&}G7b;pSH6UEfvBxt;{(vUH6 zO;Yt#@$2T=x(pZvk=GAend#GIWR!0s&<uO{>K^%*HB=_eQXOZPztatPX29;xm5AS1 z;OP_F-g(Xj8<uS^okgJobC5kD^VF#cyFu->TyQX{I!%|iI#PkN9`^lGnCtpNi$>>S z`)hmPtAgT@2Q}%EJ-1+jL!&EDuLK~{#b}=T*3wL6?72#ePnMa$ZAU{R@El;|6_(k0 zk+J7bguV(MHS`JYXO&HXNb>7RMhEA_^v~l7*ZbNM&CFWwhxNQ~8{+%LE|D5(acrN+ z$M;qC26#Y<XA?b~1!|Ha@q066MaQ@YxD@~-2ew#_gTKKUS;;TPJP}swNFzm4v@hCe zVd2iB`B}hd81Wh?9jxi@QbSRBG!(`>Pe%m+YHOx*b41sEbk-RUZP@*d`;O>+qvBts zt%$H)>=Xd<JpjEPe$LtcvN0bYpq*yT?-`>%*3zF-lauIkfLKv&kiKP?gD)Z`npE%7 zZ8eY&ghy)AMw~{8SF<fkJ>ePrIKj+^6S*{C(8+Ux`9Nyb5D6bI9%o9N=(!S~<*#hU zT2eS^uao%Drv2~#E~#|qKklf`j-W_31(F&Zdm!bD1%+e4oXJFeO$&jcNy-Vg5385u zsFK>hL@h@?8;RjKaO+Gc)DKl*YATL?BHqW*`WvpuF)fo?F!QwJ#o|Y?jC7AXAKN}1 z*G24Qyna~JE86uj@mZ8>g+^%^QLXbvY-atx(=XtyM1bVPke`c%GzzckJqeG@a2$XU zc^RHY+(r~AD;2ea6@5e$laSIdvZLAdLCbOJBL$PDhw4gG?Akrn>^IZOLl@_Kmn8al zpV)pTCtMM}8|wvRXlF$|-09v9O>H?<?MB8PE<D^{@JRi8{_Av_8;>s`%DeMb+S2v8 z`$%*v9;9e3&U}sPWkBVfmuqyYe3PY2`GyOp|5nKF<N5*VbK{Dng$#Xye2ldZWwEsu zNS3Q1h(3_}^Yw^)j~tYx8U^ha?8+V4a~VZRqJ2oG&)EhXVTKiYb<@(ePR*xX<4>w{ zv&4(^|GQ+_WSej#k?>FB)id?2gyyD%Sytu&+6E({&tvsdgk3{Cui0fz<QB@@T<@)K z(7EiZzbhMPzPGgLjH>D?n(ug$eh^ER%IKr+MUTu5&;KrIWJluzKl>Z@Bqyi%+N08_ zsx-qyueyb#1gVBDaWRJwP2+aOJdi4+d=6zq;(Z1dSN%a4dHS1{lzW^n6I27x>6l?? zk*vm_U$9!8iXL_94f`6fo%wGWACRk}71zZ(lGXjAGz?{a{5ffkKAAv|si?%3Url<M zc%fEp->QCZ?AH6pTYyFG$3}F4E{3Bq8~@`da6j~2En2Z*HK06*=EYT}@zUuRaHI{H z$CSWF#HsgF@Y8dUOz9Pr98^X!y&(XWl(@$huf=`lx6N33wUr#XP+PU7ACA6FE-)Q8 zUp`Q8JI#?dL$4qBDlGqb)x@zD{ElHS3H_%6=OQ+{#H2^vwpb&5-0D}3cq#i3sr9(E zx+=C{81Z;JFQxG=kD;3i|LNIXgG1pzw-|+}t>f7{*7=<ZY11fPXKK$1&Xti$<dGO| z?}HeoV%J%Hykf#@sAsP)rrxq{i~sZAC6{+GsLLv2$VRK^tT9)OI$Y_U2~3i~P(_a_ zjYSmAaU;a$3EE!1Evew@GYtcQZ<%8k+zvH`0pA4Kt)zNOcrm|rn#e}@o93Ryk)qcu zUK90O4}GXCL#c5lfEK0uJ*qYjmW^UBbhe|UzS&vc-;R?4vEpo_JK(*{@2hkq2`~8e zF7MASaDHE-pA0x>g3{ZN2!Fqm-Zz>!aO<G<unJCXm@dq==X3H%Tzt^>#DImFLN@d1 z;rjG4;al|hSGknaH49fRSf`_WJB@6>W_-hpMW>%H95}pCmM}t>uz7s2L}o3{pJ%pl zpL7}@hX4b@(@}iREkjt!D<-^O>1)3A67)^Ix%e6>iX5cvobxav(Gd1B?0+h;50`VC z-_*wA(U+=?!J-@i3ZN2mPL~A%iooynAI)-+FS@0iXKZtYmhPSO){yPh3fYvqx0>q1 zh$!aJGy>&?I4|Ueoy>3wY2S%ctMv(m+^H%LgCbIOZ!QmI*oINUJ8c}-%*FUrPa$wW zfUHMvo{eW2StbyYV@Cu$eQ-WfR=A8*r%r7(2W2<gf7Q8X=JXYu;-iIY*=L26S{eXw z*B@|9y=XM$ykb8`>n|-3wvVPhUp>~B5;lNlN3ts7{ms~skI4oi1FVA?_i2kb=Bl$$ zAq<g-a}PLnP~mysI>hwBB`|9R`Ql7=M>QysIKUm{?CF^WO^MpH%Yxo2r~B>?#+<KL zs$|M!**o-jT<#c}8T_~M0l571D4bx7Tos65FZbsWKfm`lxhG^&rcj9(<?gqQF_({E zRcc6Azn#v~;oZWpX^0fPo!8$j9|xhTle_ZtyVCHFKT!Z;&<svaluY?@Cp)s1g4!Z6 zi+AG;2^wxFc#H&*9k1x=O@xsS0yc<2RAnBTSin!>Xj-FNH=oHDFAu&i;uUE%oYaC6 z5rrTf4mk%8;R=2{WtWZ~X+H%kfeKmF#;`fZq$|(VV=#euZm@A25H~VK;?*{+8ChSZ z(*-r<JzL?p2gK(*8?O>$AS@%vq7i}SvE#K{d5PEnk|b!RlkO3gA+z0^AzT&Oy>cVO zd0TX7o*)Yl#pxZGMUQOa72Mn&n~<j3nl-IIHHNgVmu_&j+x~`k*dQRhD0jhr!%!*& z2z0NvHmp4(?=S_zcZtH5j(ocrTxDQ*uhRlXP|;<sOiUf4gl2LGnC4R<KKRM7Gd94v z!x<r}rVa4%?g;KWFA-Uz|9kZ0S3-Ots(Z!igYugb>G?sXAj_?s(0_d~$&j$`*5+wu z)^6>U)fyr+9Wm0=qxsv5>-2p<q}ls;@zcA$5_-T67-B`{MF)2Y#@U#NOs&r$uG^6K z-GOPEJ>KVY=M)KgG+jfE;r<|!N159BnIFSai$Q%RVVT`|<m-H!t&uS?L5;1?FRZgr zCcVm{oPbj`7><i0X0GX122W**U=y$6%WrNQMddwsFmZUqp(MV4Me>6iu_3w3tYw1O zH2%^$2mIiiE+>^gE8fa?iw`z%Ka!$OE3Vfu9G-`zSedl^DB@M?c)Jr0=*K4dm!c>7 zgf2w98U(M3^AH$9QcqpyqCAgMhAFIf@DLM0q&Q1VHndRQh$d;p2d!7TH@%#nm|Ws_ zFQkqU>!#N(Z$LzUlp(r(9U!aG>=GsUQeT=V9!7Qqc(@kCeK8%{ku0xrnY{5{N-l(8 z`p{N(-SlPYT0YK&VXdyvE~WT1+*;TaD)ZG3J#>)RREx(=FwZ~==A^dmMUf9@|7)}H z<hyk(;oDZDr~=hW&X4}SU5|w|!1p&@vm~zN^+GsVeY<VA^Bjsf6Z0r|h4n10pFd7l zpu3IibxHTF6;Dac+R+N6H;8pjF$XaF$|eGR#_Yv<8_(mMBC)<Qeg5~3wcf>5KNy${ zUX*2b`gNn+V`q5U@zyq;H|SFg7DX0E8YY${00&j<Ce9|swr&^tYsjd`wKF_1d5AXq z<4U$aqT6hJR2_a||CZy`=r)Ol8hP$58>WfHAXb~fhM6T~CT!4Sc&{k*?yh+=X-X^8 z{~<x;Rb{Hwt0{}0I?^K*Q$=2i+g9p*Vtozul$(+)@XJYz#TT)`2a@qLQFYpg49aNb z71SJW%UXuD)rT!asDg*FX4sm5ug6(A@Yr)*sS_!C4?ZTcrk&O?*7mE!*UQuowI|2z z$yGyU0`sUbRLiQ(ZSLRjyyc+$J7E-6Bw0W61xAm4`um`2_1%@ZX8$)ViAIFQGca#Z zk5lfLjK{@KTNarfKhyf;cu|*oZdzTtTC)8|l|+9K9?(V0j&jk3k4psoz@ZJ{Mp^zc zfhA~z4EG|b)Zx<`{{)M)dM>gF?4NLwb%j3nurtfE>c?@q!0ra_*#2xwlZpCI%nMOb z9mb(MZ>j3C(m7wCYj4MDRyg|8mmeh?n(VuYSf#Mcr%Wt7*YQF7y5)YdPUH>ljN7#R zG&ygjxE7|x9mhxu(GV861**8VA0_w%E26lrHgpiDH;p4<h=7O0hnvFgjvm81mY2SJ zPt6I%M4ApDiKY%*Ui<d23KIlDn95hL|Dq8hbH@d*KaGMI<E-Bi>UFmtjWL-L9Y6OZ zi#U#w%(uipC`Oq`&sb=iQDqhy`@Foq_5>7Y7yYH2_e0O0GzlaRlBO)395Az#$GvuW z=l&T~DKn!Ib|QpS=1snCc{f44lnBUw+cyH;PFf0=?GrmD2>fJDJo#btmFkJ=c-}tS z)K}S32>zq-U+8|K`p<f4)KN{r-_ti8WK2dPbF-knVj=|)j3e~RUR7AV0pp4l+fy7W zGLCLG-h1*kOlpR2M7*lhH@T}RZvU3T%K+cw%LkiY2iI*ACEOV`K?jnHMGLA^OUle< zuAij-2x6t?6gcA2tOF)%`(SN|z;0l030SA*Sq+J~wTIaq-_;Av`ls3Y@n{d4p0zfo zZt}uA#361O$z<lMY7_Xei+MB(3nFb<-Op~WXXDho*jaui^=py~^36_w3fsZ|q}F>o zlwAbDaiXZ9aCxb$bsJ8e1Yhh%A~fV?VJJyZaT|flR`<k7jHRm?)#GW2`18fovc!y) z(PV`HM{c6kgtWElt|7(hX3=$clysi%bR6FhZq6XZD*}Liw18H2Jc?OuyUKX_Xs7wV zOI4K#WgRK_hVz0q{;~=I#puzy+o=ZS?Oesp?$$IJH}OQ3uyyKn>66=t<OLd$b#Ex{ z3S##WxdomY&J~i=gkiF{z58U0#aQ6p#&6CtKPUtbGIIdjs_)P`5WQ4(zM*&y!-55M zU#5sh%{U3%k$L)(3?%|u(x$i;Y_+#jF>f$ZXL?1L6%n@OO{L6e_tbVdQ?#dv6*KJJ z&`8a#Xdjwo$@y$*;5qTqYqAVAVQPu5sK&p`3^qKG^0eZ%uh;qTYpqC}z9G?H0_*cW z!7bA$dOY#D`3BtU#k46R(=AT|Kzxh0%`1$&fbu>#`vY^%y-0>IZxNne-BRh8vbCtA zvv3^mk`OPP=6!;w5lt=t$;%V@7<e>{#J|5>Juo4qq@K6{SKk{AzAq7Drl&MouaIXE zFzWy3MAxRYAAt6)Rrd!9R7ES~<z;}EQg!5>EB@gRjd{qVXdJD!$lj^uRA`%@0)Lt# zGbBK{ngn~CwH#kOa!W3h3_!HgZ4K#Jy7>H0WbU<<SNZF8RugAWI?rS~YGl}yx>dt~ zZLe3l=)|ZF2H9Fpcyu?Ew6?0miqG$vij&X`94z8%_TH(0y!-R_%%kd9WW}~_8*hc& zLBjew-rtAHhRcmYG{wBaxHMD);a_`Dagsh^V`h+Qxc@$?qTEz^vM-h4-GATY1p?MG zjFWstLdJ<Wst*=z0!=Q!kCs?t?qpl~_=g+0&#~xCwlZY6FigXDeiMSCcXuhu#Q%zA zs3)#?MKL9~#2s-D$D>|bRrf@T_o!&gQNK8JvV8`?<RC?AKGr4bIZb3W{{O=voMf<t z@2l^TdUJsGeAt-${0qIVY-nh7q|sE*BsEh?Yv2F92-xb5hC&B@*={_?c`Mu&#!0_v zHy6{h+U>4Y-wG|oo9EY0DUtP<{f0Dh`IOa8^3Y$uE9km0<Gx;L7N1%b8R~aPBKuXh zVkuz^L1p&A0_MS4N*d*%m<=8|_|$?h-@@8UR6Wd=O`C1ee6Tgr-W09D#xS@!r9(fB zQ!pN^x5yFUUA9!%S|@z&jU^vNJ!2B%TNr$zQC*qPFMbNS%?AP0y=^DQiqv!T*4(l< zofJFu<>^a{n@K7iFbbrJ)nVTgSAs9$T=0{iJLl7WFBZST5kW-O_yVI;ucesii@z~Z zdj{M7-|#YW^xB`Ur+*~bmKInVbROT_?bY-k{3<;%imK?7Uqc9Xn7ArB4H2IUgf6tf zvL%3@QJNioWTRi}%&ut<h~}}mu3->l>z6mZ!gFWUU)D{N;v=~I{n7By%Fc9F5~y0` z(#&!(`hf6g{(qYuHygnTC;lrnW?50KJwMfbC58;M_@0l?{Ge!4a~7__BnfivKu<$2 zH?^+JR@J6Esv87HZ2wmET1UL-<4y-?hNI<(oOgE2QtO<2_s<$@Iw*jd_44B7g^@zj z{aAOhS*(|XG~s$BWBbP*?GeAC)>ss0<VKW2yq^ls1euclnaHhBta>6tCmg6EXZl^< z;EU}40T95nR+H}?tny@5KS}Zq9BT{p@mV-5g2?#Y@6xY=Z5bpZcmh-wJqesodb3mX zq&v@bZ^1&_mv{#XL!MtQU9!3*@v6g?!XOV7tj>`^iV|I_V;#`M`h0JYQ13e~#Z_t0 zjdKC|W@PzwLW{Jt?=-Ss$V$7iIH4<k(tK+nrxF#h-h}nAkb#?xYSiVV=%o@OCx(<G zhi1QLC62`jzjRl)vm~h31}8(kvyJ(H-R0?k?(hJh^|Iy*P-ts=o_B|VStgZnX59^N zz(_e5H}ff5X+TW{b2H3RUjKFo5H=0XvP>f{joW#B2HQLi*szC2-go#?MgXeD;8#P8 z*?2V}A(lyV27k0Z9#WDtxE1__d9UEtki+eo9H&S!efr8~I@P_fLR!UO#Di2l>UxiW zp_Z>}Uzgg$2Ke9I5ui}I>enX4-Cp4hn25L^2*7YyyvQvp&JX`ip{?gW7-g@KYbGbg zQrr#G$mDjNzfX(Uf(^dQ_ku*Dw)aY*EbZGOBirQ)XQ8>W3g5j2HSHr4+ZK=NxysBD zs4vWaN-jTI7Z6)}TWapWaQhD})kvzzVY&*VDeCOcM)6^dr}-EIMq`8{(PYAEW#W9i z@`6^Ie)&+&Y^Lu@&#L;P2y5>2_gnipfIwlr#W#eX(-xh_AjcNfg11j(+imh}N^3Fo zZf3BS2}(|$L?Pz%Q8u&!5)Vf>BXC@5h@`-G&Yoj&f`Ha9;#>>IppZ}73sT7vt=5#q z<3^y#i$$f9YUd*?iWqO?+$!JW$@}6}&Q9-bfmQZJ%DNEB#}BctFehA7h@J?Yb$NHY z;?zw+hxz?(GzaTwhFM=9Atla2w`QV$P3qkO=MMUQ-VZY2WUg>2m(?jfcPw6L9KNm^ zaI9B~Y&IrFv=&&fVy4W!56##F^&vkY>`86RM5F`I@Lhu^E?dJ**xAdk0mp%bX`Y4# zo3<?mJaWNCqFatP#HHwC?W!JyW8F@_6a+i({$4m!!`Z0@s(u-5er^4^gSkqAe{SKO zz~3K;wwx${9j$iGvNL(RY`o~V*S4?41S|c!8fZ78c+pv|d21`>SuVI>MH%JS7k(i& z;ybLFE|hb3)Aggt`0Rkc;&Y?A>X^G6&$Va^^~Rq(doiKhyBNlA`;zz@atULiFe)pn z5)f2C9x2FO;6~zB3~qtDeQ*H%VK1!XSw-iCAf|yqlx5kKGQPfW6yQ)p^E%c&&}Hk7 zx5D<3*2GxVGE}6)i%lTx2OKT04vxdTv-G&Jaau00Me*4BTZI^bHlAAlc<Fkcn~^I5 z=~n+6TDvv#DLAFCWaM=cgjR)GA;^7RijjORb9?#hdvNByhxkgcG_$!fe$_Z33(g{S zTLy25;?9G^+6)omx|5(BXKmm4V~>z`m}9#lmv`)#^Oobot4Adr<|<$4+nBcxdbU+x zf<%Rq7$sb#y=CkP&2+CO1o1g1w2_lrmry^S4a-yyx6m=oGcv593*4pQWu@J9hL;yD zWSAUNVoHk{H&};QnVwg6{&jlL!Mwvp{#et_eT{s3pr{3u9c~09gVOA^bL@E}f~eJ} z>U}ljc104OPWPC8-o$MG+4I;F{8n|oB{PRA=*RSNxA5j;q9jfOe-;P=PSrmqg_UQ+ z6pwNCyq0hSnxdq5Y0Qd8X=N&ReXLCO*GD~d%BI5T`3wo_9A=)ia)q(!@}hV0p+GWb z)GGq$9U4y7W26DPph_aU67Alz4k>jmK@G+&4%MG+fb_Zb#wztszFVfLi>-_YbG+~f zH6w~dw{&eOthLZYqP<&qb>Zn{EBPMR%8%w1Uv;i#-^`EMl5qY0qhpEF+IVRvbk6ZA z^4Nv>;~|GU9D7IBz7{lGxVzQ5EtOh{YDkeFWo@I`>r*RqNBx@o_yIhVR22~bu2>g< zEn2SK%`4$v*!VfaHe((@{PwqlRM}mzY)rr2{mIK;_?XpN%>P)b+tY^qg9(elCH~&O zH!>(z0a~%-w5=oG1-=?kQf_v^F=EahturGzq0{Y>(<q?nrm|O6S4UIKyicl%Meaz? z*T=MPx_y<tocyO*b!V!-py!6uqSJ(ZG?9b%5#poqZ9qRxTy-cNQo4Xe5Bbgk6O#-_ zebQCiB`PPAerJy;P=G!1z3#wDPNm*rQ(+5zoAX@T&r%`gO02l8{g8N}=YN2xfkPb( z0PIx+P##@@gea2HYn2DaoU-@@-VBrao{$BC+D+HGL}fIGm|L@djdaC_S(+nyBw_+r zlP%=PJ77W_sXMLR|9KW^64+fSG7iU^j8cHUi;3ZuTeyatIY(X#K+v{fZA09Xcekx( z%ruNujMZV~Y>!nqK3vX^ZLp7r6*_QS%2oaj77D$3tzdv1Dt8D(#O0E^A49UelaPyx zFmLdxGz=S%GxWk2t+ft#W#n0cml6whrP$1=!Z6N?B;?-aX-(}Y&T}fRr65i4;qj*- z@vy~`NFgRJ0o0fCCe_1zgQL%VF2+zjbuT(axvc!jyTOTdy8wOzO^F+NyjBkasK6cO z9@%#rw+hXyU>?==;pqMpFLP?u-NkH}U@aUi;}Fup8C9kse4DSOdwWE_0EB>5=*D48 zYpu-UATIL6@O=6{5Rf<g&8WSV9Yt)cfTk{Gv%1&0iC*hVZ9PbFNWNqCBuns(k8`Kj zeXl<U{N5xghAO2n3@a}s^4<UIFTZtb2{5Q(+b=17aTCOmi1Jb4)n-n@zZU`1`kXe- zfEBi>MtE7bPp?`$XE=P9e~^;vl|`Qv<ma#4uH;X5wY0XZz;vgyF;;`rP3*D&hP9B0 z(LB+r@Mk1l%yU;2_Ra^1Ys9ZF{&xP+P#@+FeMRAjz%e&wj`~&Hz^*s3Xe)Y9`QG5^ z<R(RvmCF{z+_rnQAkxtc58$W8I5jc8!2@)QVvSgzM9brlY`cQ3O_>ct7<etN*x*Zs zA{NYfGj8SJkW)k&(f><TwM(E8MO3*GFcdDL;7+5e`A90KIcmlae35NiX|)C@&*^fn z7pCK;b@(U%iE1O_mHsJXshL%WAA|3L8zH(rb_gN+aH-4F1#FQXVj23O$k&&AY91V8 z-^b+hSq=>lygcKJL&Ff#E)zRm`fJoupb3ftAp}v40L&;fcuYeI2VsV>nGfBMzc#ES zgV6!fS{45s>?qE^?A<|4==yPhJr?fV*ZVxrA(i;#(}ToWulL8#6n%`6JW?Qfbga0+ z7dJmuWm-|g<~VvRUQx6M0m`fqM!-3N2vL?UvRW-?DE8lflVxHVhh`05AgiWf20I%{ z2>eFMmf7U<M=D(k+%R_JE3HwXR+$+mq}Uq{9{!5+7}B~UJjG9xcQ^*-<7GaY=xvC# z=dGTtICdR!e9OrK=P~2te@u!dNj-X$`@oxQDltNVl%s7NVg24@PyyYv!*Ug81Pm(0 zZ{A3f4mZ9#VV5`%$OzWEXR~uv02hvaDe+Ot#^mDcrSc^M?qNP37?%7aZv~Q4P7-sp z4>9wZ-+?t0x%>{;h<YSr<U9xHAn*(K1*x8vgc{8F8)6p#yQ)u6E*6}$_#u}s88_}C zXqz89qFME&9QzDKa5nXbjDU>SpUkLvGClXM|HB^7e-y*jSOP$vRE;o*mQ>JORGf?@ z+Q`cEh!$9@xe?#_Muds$8~bLRXT7qhB&YNn-tz0Wj&Ucl2v)v4lm*H7!|1@zZaA}) zEbOB0{bo_O_)P0O{X!IT;xzW+hsKLfJbvhX3F7eD+V`qA3QzQ^dSeHi4sCQ2eCud( zH^b(4`{loT+xKZ$jk<Jc=b&}DuVK1#tX0IIJ|jBaUqkhk1i&rJB2`BLdqLZJZP>RD zB5y>A;}(88S8V-EduyM}B;FzbFz=|+2xl&9pz~KEDEEOvBB{?e-`l&X;_TXgmoD!% zoZ7K$t8^$2E*~1Q9TASa1!C)#JVl+f`@0{!+ReNN%4ZlIr*+IZzctQ0nvFEadz;r* zxFT+x@>fp~h~f|F#uIchBvWN$a(*#=GkbARYklCxJI6>{))mbM+m=H1rbHFN)<0TJ zOk26ZgI?6I`M&MFbtteliMm!iFd@!cCoy$e)+|yo)|`3yv-_HcR*v}!68?JD<%N<! zo@lw;=lM!-VQ{R0bSpQ88=IIYe<?xaqoeRcFQ`2~O+0~V)V1`%LsT8toT~LDx>H}F zYrSI(4RI-YZ`~3$v~D-XYF_u0k(KVWuNQf)&|B*KIG$4^eI$VJ<i=WlH<7j6nIS4M zR6wCI_Y|b-P=wW!GRQ2*j72fXq>b$5;eKDv1hpLay7p6SeOUjO2RbG>PXDvlP3oEG zjqee3z1D18kgo>rhNtZ(d3(E2aj9<0{vH{fd!QRKt;22F>8$KjXea`q=?4++PpetF zzO&PARTyV66(7QMm<w=~4|!}jHq_kpjI-*lA?TL>@5<gN%)Hr^Lop&Z&d$@~U_tbQ zyCusmu^>Hl&`M{lq2j+w3VRydfC77SKOhZlNYY!yXWRw=If@=$6!G`XW@fnQ6MONK zWr0i6C{zIdViwsPrJU+~^@}&<uPK9|`)pp1zOW@JM9WM;o7_bu+zZ9fc7!K>p)$ZY zl|ktmLid3GYE|#anvA_MbMq2Kf+4p30F2kTEZ!e@wQ4E7*xYGN9Vm>{n{}F}^GwE3 z4dWQSex~40K2E;SifT={nksd5093~0kr!6naC*SmJ6NaV^=7-aPw*sec0!Eccs`73 zD<<!HaZA9BF)_?|2p3(z*Q|&1{rp{2nKLa9;??uE>Wj@qnE{hSwQD2CwQNiQmM?1~ zU$wRn8OuWnQV7-RD#b}lp1d>N#t}Nsi9fQ6vdlpH_Q~tZ-*AzZQ&4PkxY$@a)qd3@ zAg~Vc97W4Kv~%Dy0N6U!#sz^9&gK=O`aVDxGl<($YCc-YZ9>bk2e5F24g!`x9_;K) zG#NLh@X?t6SFdnKMW{fMMa!Lr5}J7Wxb21B28{V7@aZd#jiDMksu)+{wr>AASF$(L zlglote6G5yLQolS;o4Cg>TwwLyuQxu(Kp=7p)2c}4+a?=a)c8>zBKYELJ5YQ%J%PZ z6IETV`*HGJm*v9}QJYy?5a$*9kS(FdV{j)^k+zJ4rk#&*_oza=Y8UiKJCkImLv<u6 zm#IK_x*jI=X@VNpo{T4tZyG+XkL>T*z88@*AorR6`PlyRpEIxjyJWEf<RwKCIOM_~ z(s`RrgZRz6YH@&J^1dHSC1W~Ei8mN!@$UO0$B#><AX)hq$DhG|H@nk*lLy;7$Bi;1 z*&zzq$)gd@h;5}@y6m)3Y#NXWsFO=NkSwVzqxo)o-J(67oiXK=F08Lf*1>F;xEs-| z>&zyLl(`I2R6gGLB9vhcB1Vai0AW6Pr03k-v+}J7B3M5s6-$I6rtI(;Wrj=XsbKS? z-nWLIwW%+RyUWbUaEinTa|m$;1vc>M8+nBTK)kxT6CLU3XBz5wpsyVx#r;gE9ha=W z(At<$Wn3GpALOGIS+qVg<8uj*a;c~xsD*Z1E=gjBGyloL3u2A&PC-`aXhW}d#3B{` z$A{J+04)LBpED=yxHXYJrzY-18__CgUQnZ&|J5=`{A@_D3iG3f_Ino~H1wrzI(0Xo zXhQ1HJK6lcL=+;w29lm;&KO+2;I7Q*4zQ{He<w=~LBRMQw92f@v4zGrY3mgIr@#E3 zI6fD6B6)@VIQ$ckgNeG$CPAf1yg_Omezx`nXl>|?FS#jLSTZ6gGkIx0k3sG*k}z&V zW<&i%VJ0W6Sl1M61N8;G9aN5L;OWm6P@YeGc{r(6`cTr%VO=BH=bdBt-JQuBZrkp) z$z2Hcj*o37C20@ZjBIb_$Vwx4_{8e*sp!1see5Lo*)z)(<e=$Z)%?$jXuPp8CpSnn z(1ovWUDRx1r=OO0sw)nF5cPt}r>0J(Ro)WjU}Xfk+Yx!oef;J+&WG|VtlOsFKAkaM zXbwN^Ev3x8zSjRS^zHxXQBjD_FCF+7Vr*|<e$v;8@8Z;Yg2pvLv!CcczA*s(2%ne2 zN)RJrbQ~*&nQH;oR0x}%^84Dd=&a1vU0<aZ*g6xuuY9On9WRi%HBz1Er?Y!QZub*x z3Q}5qv!ts3SHu%5cgZ5z4h?Dh^#@CQ;C9fq7YyBQv@j2Kd$d-#>F+kUZ+^dxlYX`- z(_dUZ4Y2l7bw0ycICG2d2bQG#yQ)p`og0D*Z`8I^MQECT9(|%O2dm}uQC25%sbo`2 z9S2_)H`($yhmH~JD!s`va`U^VIimu17bRxQg3w><Pc;S;WnZ!%1zhN3<JFG>xwiJU z<@_$H*HIA*kIqxRGHQUUZ%w+CxM(%z|33=XVBe04#7stP9esEF+1qU*r6FM>--{G( zWK+mSDta<0U`sJs$VN`~h~y?-Bdqn>HdnSL%BKzJvLgG}#P2QLt2IjH{3G*y=cI)$ zYMk_X!PM7IA1@aclL|IjS?-96sW&TQu<~RrhmUvuyY$CrWLuD_wKcFjq?4@xo=f79 ztgba2l_hwUuR`RV<p#xVPhw@iG23N+DTp*V{4mp91~86Olak8G?t`Vo`Wb~B{m52- zbx7({gV(`!1_Xj7s>Wn18s4&9c5b{{KTK5;GC<l7uO&peTbIUfGPSjF&!H)di4*!- zM72um+Tp8+zUjQ%R|5BZiYV5_zLGXg<+d=Ryk@difgz5xHW_??yWd-|d`g>e>oC^c zS{gF@{i!8G-1CrU`;GqdE8om5T8|yHlv?LX+<9Nd3f!#42Y2$^9OjN(B3h;gYb=i1 zL$Gq61Ix(+?E1qvvew7NQO6qPMQLV9_KSW-GRYz&zRxzrH7EJdvr}=5>~>jdW44C9 zF3<6L{*Ch+MH1Zrc)8gER%~rf#__BRis14XBg{A+S?fs?K}yzeITFkWPyl+u_iU_a z0GiowQ<@bI7;c47A!(HrP`?{uK^Y}mJ}}yu<aW}xnfvu6k#oA0+d@R9_+E|&o=asP zvJ4VHM!PL0cFCePhE#j>HAc7Z#f`UPg5fyEu4}B)w+={x=Iw?TnvPHybIg$6qOoJy zHIy0?p(8%flMm^=cz+^xgvTA(&uvC%Ak3uVJ%4*aEs{r@^{&Br1Z6~?7VbFzJh>fJ z-d5l9$IYPjUsMR%I0uJvQ#eRyGp_Zvg*J}v^*z{LveT<5D;@b_&)#=`IHQAJ>MmM| ztVuCRGiz?u__sFf?73=78V=Yq-ZSB?2C>{T3sg+<3X-gwmPyu^Jr(V_kFsjY3a3W5 z23_B2AHkURNfe<?2d3Y4!z(n6S$vFKK<Q(<wx<SNlrx+2uT<1&TNx=-(cr^DAX`}Q zeGk{lP4cu;<+eWgC@};$2;-Hi@3VeTT~nVF9O)$Gwt3^Z&%%F~w6~P?pp6Ddj@WqV zUy=x)QQswC3=HcC^-aOrk(>KE#*oHKi3VpaC;r<99!cA5e=QsZcjM$;b%i}II7}aU zakM(%0E506S|X9Y)BGjQm=WzXM`1A35XZ!jM*nVNuYXSd-Nbou@5rnr<NAw&wczLP zNa6>Ak1eMZt?H85weO#5rl8b(7G6>Wt@&`lU*V_j&k_ntrAi~D1YgtNGvgS`S{?(Z zF@^{rgx!~}JX&&SlQ{a=ZSqXx1nSxGoJ~l>uvboPUqkb5uv<FA^QWszhQN)exR>UO z<Xx~KIofCeQ)GK>Q(s#l&F$@<tGe5lqtVv+ziSJUPb$kE4EW`(q(oN?@0I`kc~TL5 zlaPQ1Yb>0aR9uoXwYLK{xZ?wdAO$WU(i1PLdIeqy+O<>deJWn0QoF!y*KjWNRxGO5 z`$K=Ds7!A$d&|OcustM_?OOOrhpdpeY7o;;twg6pJv<Mi_Kqw!YdY>3w0MO7xeIRC zz913X$!KK-;s@-61v_OXi|3X#$!xlzA&u~O&AzrCY%k(8xnQQ1DA)Jd0b?%YvG#pr zp>vFQx<Yd<FWwW8!ift=syA_<SGirvC$xSfWQqL4SH<ISB+FYJdo|ya@GPNyh(49T z3F3BHGEI}{h<n+eeSou;(iE6PW@&RCbgSamYXtM!o4(SMTG8~L*mcNCOaIB{%MtOK zv7)to^!ncKg^WX;m<}zr@#V^rRpYJax23|j46?d}>Q5#?#golq7^`*R35{YZkewQJ z;Jeiyo3@z6pSDfe1itb?Ce%`N`uixEtHSCgJh;;r2$CL86sFsSGZul67>qLqu@4u8 zA9%*gt_%`obYST(Z$IFgkrTVFllkN*%OJtk_uZdI;?F{FxCM@m4(n%X5582ncsNw3 zcsg6Qs!ofeljnxYKS;TfXk%}){s^#5Tx?OBx33G^EbT5Y=3Ze=iT?(|TV^N+)zR8q zz#*J9@NIk7X<){XdD;0CE>#ceA~K+1s`p3R7dK7rZ@;p6+J3%xZC6@wmES<QyW}x> zKiENm$4ru9@K-oN7)ybZ1oeR%L{)|-6lT7){i2cOOv{A1FOWQ{AU4~(6e>8YyQV}P z6gDcJKN?2r46eJC2U&pjRFhu@y<0c2cwL#OM-Kk*MPu}oyN#DTTJ-!Dp5aV_s-|$K z-OB@>?cu~ve-EEetH2OqV1o=l%^~Rag-IJmr{$Gzb<~sXCx7gt_}X7;YTb%$FL3Y^ zth-rq6tKWewjb(1QjsRXwI<@9PfJ=)rF3+n>eYyhx1w9RQA%c7tTU(^acrQGebf49 zj>IWl>dM>4+k{los+>u)P-N<Pl<*f@l7UjvLyjKlVe@jI*e=o8d*z2>hBh_U>Obal zml5siGHLgL`9K3U7>5_xAd`@8+M#k_h}Nl_ItvnLQF}l<FKXq^;ACUY-JeH2R>LXu z_Ner4?aSfO^-!K$p<T`kt8DMH_S5d(Hf%Re57tqUvdfa_=L)bATn-FL->C7SI0-)t zoqniS#QLOMYmy07xSB*p6J8PIEKNvJ8-9e4=deLnx1}nc6hGYE;Yl4A86R?3q>P>% zIl9Q09c+UJg;HP`a3>dIiLaB5+Yp)ti(v6V^97lT_kY^3yAbPqNcr%+<m~C^U-D_e zrI2dZ9?mFY6oZdO@5ZDRMrl5gBYj|Q=<P>3cOCd5VZ|d`O_t5Aw<0MZ#et-E#r3kk zC_;kZLKhwsmIol+*IwGU)V4kDoGhnAZP-H&Hj~hS<!`(-Zb_sf{<{SEgZeDef9Ha7 zQ-~LylZW(9&>+G&k@9f{jwpqQ7u^uAEDu)(x!DIY1|OX*uou*6`I%-=)#~-g3qdbY z+!~BDi>jAw?l(zMEBxzLOzV$03A$v@mHo8a;`~HxxEyWy-1t1BzEO9Z2m4^ep0@G2 zW~|~TbLO~~l95H8d^V4Is8X^5u)ZuMv%a1P7}5*ll9%`seZQI2Ww-lF?q4Fh0@{jR zpHmFm;jIh@98vdXUboWI*z^}2GDcI5eQPU|<21MCI^v0@IA3(Dqlv5E%~3xu&n!4+ z1ZKi0Z-5<$e?&q?vclVSZ$*)nSn}nPB4k5{jD4C%EA*|9wbiE<arIjuJ<I9oDHBwV z*TmD#iAR-*j0p^*3R&%YH!!eS>J(<0<K3&<w*3eW!)82C<jCefi}yaFErZ_fE@J5v zw9fF+vEXr$q}J4tLL2M&PNV>j9@_^T8hG@<h``CV_FIC|pHM}Te5Tf}AtMAMYoRyE z5;cNTnvzvRmaWL)qIYFf=^@iBYqtZlbREMS7(p{QrEMZ^^5yzp1wV9b*txS~p8c73 ze0?sPmA0hux6_atpabchinaHL%ENJ~NwKB%fsdvKPk^0tCpsC?tow85z?&LI**6)a zAQkf)oq5rWeA|mEY<WH`%^4QKI~=^X+~n|YLmBeui-$kGNqy!W2g>=7<?`4;Eq)`( ziTJS!Z1HIx6RMQF*NLu_(X6%d8x(_PuDNPAEvPbwjwEaTMPFPVZ64Fc%wR3LKF zzW%B)Dhm0uyl9#*va^J3wb^}PBL<6msUxNTvJw->Ws{Bc%YNTt9g=Z3hq$q81SLWw z$7|r;Slj*0HR9>Z=XtRMH;(Gfoirs<S|rZo0vHyUBkwNXqc<~F6U%RSEX4*DkIhU^ z?^XHla1Nx8986pC_G$%v3pkfDDD5dz)%)uMQ9WtCosRZl{5y2uoR$yJBVe1}U9&eJ z0J<R>eeX0e4Hv^ni-Lxs&5H&x_EAK=Kah>~aB1e7(EL$}$x>v`QtHByy@5P|l{auW zCQH3SOkZcT9jN<LQ}L)|%T2N7>_*nvpGQG?N2N?%SA~U7X9;H7FX)Ee;%zE*mW@?y zn7ToI__~L4`sv=U&dZw$y_>S5@E$LC?|IcpvlNIwS2V+f@0Vv2JPz=VLp8r2P6mOW zI?LJvz!P%doOjaO1|O#Wtai>YP1th0*Wx98vo!rC53jw3aja?8LHO1QqnJ%J&GU2D zx$R*_cY|}kQTD~8no)wn+5FM!uY^BWEk&3Kl&z&^^*7Pv$v&Tg0jdBMbTVf_W9xh5 z=2#Ik)6sv}>l@kj?B=KZ|Lthn0^j<?9f|*yM)!F^zrXKlmkr$GCyI->=>vkUW`Vr1 zE~ewO)U<%Fr0yb*s;#o+zhZhY9+4PhW%^lV`jrnYgPqI_`Ad8A9_|k=D?9Csi!vmy zrX^SmrkJPA3P3?$!QQ1!Pz$r@lu`aE`Eh+${feBiJD=C3l>ZK0U<|)~AtM&xQ{Gb{ zaLqHx{o2l>pro<yUVg#~De3C^a1x57C@kz1E@UkAlqN0)e{uRZ4L|Wl_rS=@x8%r~ zH-+0g`(Zu|&)b1<F1O3($LCeZfOjiY`uOyc^o0h~YUh1=o{kW*Db75uNdd_qAq8kz zcyV01Er%qv`R^;bxY6G1!%tkn(ipE!ZK4jGExOZIOhPjtALGpHq&kk`@IOd2ta{pz z2|S$3FG)?sx*(FuU#E$}azxSn5DxFge0ijc9(sZ?-lbV8YcH)@UJ*|(d>CWsl3pAT zCn)y?U$XGN!TQRAJ9I}+Xc>{AFd;Gfvqe7bn8>@+h|F0obdxEd-k4UNiNleQzAl;$ zUuigwx;nfFx<|~#dt<F(Nm9ob@SJ+xo+XzryJ{!v*_BR053eDA=|ea7H<f?c8+>UJ ze+zz4z4h}u%wuJ6A@_W2UC>^{VG@b%fQ)X25DLoYBw)c?aICdrQmhx1mx$>|<Hj>^ zFoW`>5v@_HBXN~ACQGr$tm=p|r}wmp&9?!>xb^79<aJxk`=e5!5Y&yfySrcyM=v1o zyRxV`$VQ)hv*t8|zuAzey2zXF!TyXKB!S2Rdqb7D^MRiZYdE2D`V+|D!5`;!t(KPp zBCnFT97>JQhIo{zCI{2jb+RA8^mtddx1_{rsN?4J0Zd}LI2xqVw5PZIj!p_Yd%AUS za)nl)0kF4K&ZJ0M&8(>Olc0J*si`6AQx?r`q{&uC0S!HeL_Jr7WZ(Wrn2mSfX2&wB zx+nSj*QG9)*PxCPKv#!52&5b$e6aHNlR>DbA9D@%p&i*ehHETi%AS>0TQZBWb_<YH zGQ@~mRYwyAgkf=TTy}5fuGRJu!^wqfYauyKb`RsHkUym>)DT(WqDf+JV4jTx>PDKB zc@$RAcXy&aToyDEE)PC<K-8F1{nmopnl;C>jK-8_LEV(7$?7ohtRMF~Ns%jU2<A{h zHCRxA`6zt)!Z@V`o)r^bVi<?uV{CJpkgXR4pTm5Ivahkmbr{j$s+;dE*&AZbBIgW7 z{LsFu5}M;uRmv!fwxQ`KW?_oT6VnxysR6`?iC2>hcoL6y@;~!-C6=|&G>JXEBuiY{ z5}S)sfQ64$=J>Kf>a3x&<<7|OFLU)pa(VeuP28X1B<)ncCB47?X=h?l4brX41fSl# zt-uD-_o0(%ev-=PVL_c62S+%!b*X=&T2DwH3h$MlDrXn0p8TzD@u9R_>fpe$^&omK zdY)kHYgcK!GcFpJb#3YNNJE39w%hEZqjcM)OaDyI#YOz<_&%gdMDFuq1$x-T7{3%S zZDM^MFR9$S^|*T{-{?2lh!|xg3aj_*uS+h&7jGYm-3E8uvg&lJzt8aCwpgCn<9~_# zVInnV;8Ap(V$<ru-P^HZadq?UhlPhRe^=I24$H{=@6YR_AQK~<LsJ<;K_fisXQm?n zny&FwoCQfzQM#Tpgw19NMj|+n;90x>E`8K^#&|gkh!hbaEby8PH@_~y)LUpiXe+3# z02&c3O``3NYDc{B#u-Wk;R>k|hA58#+nOL_f%jZ+@C;PHHA5f>^F>++`N;)jH@i7S z{+Q`;J3xZ{&~3>~2k58gf*yGWm>>B!Op<$GY-3FPC$~Q<_x%s;Em5Vo{Qslqy#Lu= z|Nno^yQil$TD50sYsacRs(eaOaRiaXrl=8ng{XDf+Os7>364fYMC@2Kj$ONms2C;o ztX*oHZ@&LPe#z|`ujlo6-0#zj{-k%FMfnDh<Y=Wfd5U_lwleSdVupN)@3raRJ3w3N z)t|kFAYr9Z31dn$8+W_JzGnIXQr&24NGU|8Ikh+;qq<l!qhCW3SRfF@Ad9tsV*72o z#T1>T{n|e7x;QH6!`ye8t+6xS+BiJ&;CB7Rc4Fp$XiXuN#fBWr#j(0)Z?GaW{LM%W z3nKYwGj8uFFAy2wHUO|4<yp1Jv>!3blLwy$l@&cP*AZxpx0#c2Yp%SBw^QtOmU6DH zCGJG!=%}>|a6e2Yg4nwt>GC<X2u6sn0L}nx8fK9!cMH^)<i71ct}9%InrzbTuI%(* z`1MZMe0%1m4da}9P?x$%!z`O?#jTiB|1~b!$(5x+KI`uZam(*2NAsJ<;(+l0%LFmZ zs&04?gR9%wow+I9ZP%8uox0uC+Rwh!8(GeXnq5y|Jl8ZUnG3WI2*5a59uan-7AOE9 zFC&-~|8R{ju>}2y_>&WsG3L<~t-ODgxzR2%UJ~UBCR02bCKmr5@ONq0WiPU#(8hOq z(1(V}diHW7Q=JWvI9q;?JT`p4JHMkANei;&><I|Q36R%!_L~r6I-b4le&Lk-?=z#A zwOMi{?b?1Rn&m+9T>x^&ft9FDvQz7J$6%fckn04Fw<kgfuztPA1bsRDyR_TSX4wsE z$x@7;G;GB^yB57dUwYHW67yn`eXwNoA~Gt3$ql*Qkp5%mNGy%e%>|DfQVCNsP(|qv zo8)U?Gu@Nv?4Q@GZAPEzEA;|UlD7|`35^!TI!<t6fjX1H2qj0<bVMu6*d$zc8adr{ zEkoD2HBh6WJ;6El_*?5;;Ra6Llh*qH%HtCW90>DJ==uKHYepnmvriR3EnQVLovQaZ z!F9aRZo6T*|1&wQ=#=~;{&?)q@74?U&kzWrz6W<@@fAr${eSljIhi<TZN8_3&51U@ zWpd6OiPgFD*AJ1C^C31{l2AJzEw@!ib);40;giV%=?JaNl!}QIqJExz%}P$|+U!Ny zDu39oj<-WK0iARW!amxvtGUp`w!EJnc&}Jv+3h1xb-!N5<d(pHzu7=)K6LhxbYJJi ziW`}+OzGS;mAn3kD8{ypP?O4Lby9+rH}hi0oD~~7S|{cA5G>nv%g*?3oe|uZXsTK@ zd53B-qY@gZbrq$3ZNij{)(OsPVf4~n6Nq{$+m?8MMbG3)91svpkkT?g%}hzoQJu@W zOu6wdUu1WZhI|936jEdL?8|CyYh?(rE2!6PDj1+y=$Zv=aAn+Uv9L64xfowq{H;IB zrbCwAWp*!7bV%dZtd4e(>a~SkgZ)kibBgoUp0IXFfe_wl0ZcUK6bV1BauxK%J;OK) zc7#4;Ir(#ePtHAkwQ%13ZHH!G;7##-Aj%H+7KAzgpw{s};OfZ)L&p*5cryfli+`T{ zN7WxO-uvr+E*{<$=yJin2}cK;-AU<k^S>|4*|&t%aFOno@1{o+Kq2sP%Qz`moT`R- z=@Jw;WqC<D!|&7jyW4L~x8FZY7TJkOT6mB-WIwJN{<6L$!PeMZ{Kp#?svN&_b(D;G z@Y1erzk?#pRPM0VXfRpEE@t9!Zc)V`&R*QBDUY+15Crhjnd&P6D9n%ERVsE=$New_ z1rl~}{N6EZj&k@nOFJ!v(4-V>M&EM4*)PQE7%0uklC_K;Fr{cMfY6MolL?-5vL`aD z%9KsD0YWJ7Yo|--nYTjhF&hiAi^f@I^WA=ab3tN%f=R&a4zj=%Ny65BrVYEq(<cOr z>fI#|6>J_A(xq0KghjZV@o(`tuCDqt^BxMxQt(aMbE<H~#sp5!+PL?qi>rpxEYwCD z%tAHKsXFqqt{pS<BzE21kK-7v-*ir;)fHqpWSdG%#A-BbPNzk-n-f3*tMAGS#7!wB zv*)!(FKQ<)^(D|BL>V8fU7T`#1n)JOlE9G|c$wWZp|1}TM$;Z<ntUS33`p*=q3eL0 zi(4=Et+g-MbNW;YC9kZA+AwZSU}P0<LeJM!uRfhoaB{KTHWvjC!+8ugi-JMA|2WsN zf}TjFYf>_cuWKi<Z>okoG`m^s?${FJjDyR7&_`vso#oq=A^CV=cxA|d%C2tL{>;n_ zEea)3NAO~9GzoQUi}Ur>8Gqne$g=4&_3UpWRu-S87nQCK<7t4^!>(=#2IEzaaUxo; zA!&8lwg}Xg(blp3=20IckQ?^or<aPemPHDL2J#$YOG{VaEr9mW1G(qJ&Ez_l#5S&M zRW=5pH9{Ziu~v7O7K`eG3g9sRypYm!H+h8}k#7q;h1)jzjCbKlS+!90(9oZ}KiNl~ zd~2`rSD6k|2feA3WK#K`zQC-Z@V(HC%&KQ@GjfP@Cs@}M8ldv{*b7{oSWci2t!`cw zGiS?CgEI^M(#sITWMc2WP{Bm!X{>%+5840dgR>I^a^YkRURx)l0w{CR70&|@4}saY z^<R9o&xSDc*#0!zF}+EBN~_b-7qY3$|MC2CXTVt%Z9J9a`l`xi4E-9t9Ur9Iz5MF< zqViEgJTH6xE6t3dix*w-#<}Y@zS@I@jvK2G?~1=f^=|=?sr~%#im1|8G52|as-lkO zv95-N_r0(d6id7`KV8{}=UKkljnrZ3>AvaYRJ@Z?3jXgdtE-V0i%QcVgl1XQYcOW| zGuTV6>v%MU9@c5b9jUgj-7;FYG<)Xjf0D*x;)|SJu-jlvypgZvJa(k&9PJ-a#2ReK z(kqyn7L#UqpN{cAMf-b%dH(wis^QI1Iu&Ue8Epq_bAoG(rx`D~!EjpEa2QF0n&$6s z+h#j~DxV@q0>9b@?^p4S(}&mZI3|$07e(WT#r0x08o?z2CmV*!r$5-tenO>Os%wjZ zoc0X8<ER{2@<^><)$hEu2@kRiG(Quc6%GH^o6be_m3_=a1F9dzX?Ehh-p4<LuBD(* zwz2uJ<mjE!xku-Yn8v!fE5FZ#kkwmS9BKJs7U0^ztQg)Fbeip$BkV*iWb?r_HF?lI zlQW4jXVP3a{pz{$<=@7#0iR6cZ2o5gh`-&TVrm`f((OWUcGEEEZ35O;Zb_MBHxyJX z-x?Y6?j-XE4Ls56UBWssAE@L{;kB$%MK$`&eLpu#0+Mv+hqBI})@HT*1aJB-l`=rC zp48{{AIMU!cJ6uHHu9D9<hj4b7iI-FzrcgO_WAA%#eQ_Rz8(!(*$+aL53yN90IQ3% z?PUNI)O6S0aT#_nGZSvwdDzrXuhP>@#tTI5gK`*2SWASI<@!HY7)zAYC_)^V{b~zB z7+eLaoV)T-2;I-z!jxz&BY|8wq?NfB0wx3Z0|f;??tK4oyHX6HG$4>;Ki}E$>dmDV z#d|zWtI5+U#q7JW>Gi1vK>)Q3vRFgq=qj`cfWTKPt`T)KoNc;<xiw?4kBPYLqOig* z#(qNK1Df?)jLkgQA_H(5gwsk7T2)`1Y<<Xsca<mO6HlyHCdI6GTqsNFe6f#vpW=qS zUIwcK0g?vK->%u^9zCrC9@c9v;_cY9-S2}U>z9GXRNoPB>a>b0_b^smE9i6-n+<{k z6<1Sn-v}<ECY&ZWGYGbrg-1}&>8xLE%z>!y)j`S72NPL-*o-=Jh~_Isy5*Pe3f+_; z+^CfQ5aS(uKj+kv@re}T56qPlm=H9|82;en+uEB}v0{V$DEek%Qmv4VGvahiCAdZt z(jaX!YU@nFgQzKf^VRHmAe0mQsTg(u%dE@VpQb)Wc^I+hTzTAK1!n_~i`2Cm6b&eO z(LbvhtTvshl;D(vTAaq9snpToeXHlxO7}dzwOY!nCQr$aVrt)?j79ke<HFx-6C$3} zq+wspE2*|BR=T+=sBEus$w<3!;hD*+{8}NKott2?0k}xJn90g_ls)<Nh3V6^F;Jx- zpt7_&3!hNsrE-N^heA-rCg?N(IJPZK$H^lRF)v2w%g0`Prr;ICD1rWBA~f@-m>h;Q z&Dwu@r>3MC7FVdqR;1);D3K=VQ!bNn?n&raQA8$am2)p6Ayt~wc&W~@g5E*Xfl|iN zlH&E>Z*6sO<qfGNxHEiUJdZG>m(@M(c#%^_7~r3@jBAFtGAHW{Wm~3y`02q}zfYzp zd1*B!{2?-HYxgX;+)f-bt+x!iFl30CqYyY;>)O;}@&f%lYgcMqF(S6$K&xH{eTzLF zC%qJf!RhJDl&s!;jS%NG?z_v8IwfU%VO<Hq90%sKOuzeRPTX@TGj0u82Bns)O6jxn zO~t{Dz6Bj#cm?3$N1(aFW7m<rp|mp+^U$Kg-7TI&d#BCQb}5Pv$#4C_;43-ZBqGgv zv(EmDkdbz<7kEg#peIcwaL8{Mg0@|!w;(n5*O->JAU*mlxzxAWFDNN^AWoVB5tUYD zy3m9Kf}~Ax{HjFNC2}IZXQtu+;;L6FDu>^Fnr&-OKH&1|X5Eg^7@z<l0oALatD%H} z5$@sEwHFGfb`G7Yv-LH01A?IP{oSModAf2R1%1kX2r4oBS>w?g=k2fpAw9^p^R_M= zrs%g@pC6cMK8}Oq$fQrN8I&Hk-N%JjTJ_62OT&5Cik&SGX0CWda1dlVGq5o4>qen% zFaiLEo}bWszMq=%e?9;;yno)|8IY;x+W66Qz(O`tc91C`iSvmS!HgxXY}Irknodv^ zzd7dF+w2&aQZV7`Xe#kt*6y|NQy)LajghaU9aoJAz<Y2x36RvKm?}@F1+F`e?&JA` zBg&bn2yYGQ>8V>ol;%tHsJZP-Z&Pz2d$lf2To@uo6tDR}Gm10LUO9~ROGZs;)m0D- zGwM#kjuU`U%3_h))_8=&)17HqTaap730!I_ACU<{0aP{nXCaVPk$9;54iOZHhmX#o z&a<*fI=|>sB0J+v%9?lk3^FyTCc%oS=P7HsFRWMZaD8YvfAoh@y#Bb6ppEgg`6)v3 zCNI=%Rxc104v+yVW`S$Bc|(d+Nt`L%dTFn!Puzg_*3zt=9RWH%ubx__?iHJ=ZS@6U z-1A!tjA`oz9t0JEsDddBER0w2`+R@J$9(TB)upSe`qR*#w`G4mZ#V>rAsOh22Z74K zir4$OTgPYtvXn&yVY(a#!m0n+oL_>|YVhqGR0kH6;_kcgtBn5T&KwWGA&=<QM0UN$ zcnu)*!LmRwK~pMv%Oaz8>S*#E*uMHFSMv{vYHEv*K<f4V#&ko<?X@RQVVZgOrRqlf zM*b*#l_O;}`nds<J8vKRrci3OnJxt`ncL@>u%9f@8t;)F<T@`c$Ru!Kc{Qcv8F*`{ ze!BLr+;9jcfTHXNFSo>SZ44IG6>A+&LLE$wOd+HZAk>9k#VtUhsceZP33DgkEYQ{r zyt$GvY?raiQfAQl<&okb$*X2z<n(zm-=kp7rdwlS?}q~Yst4(^p9*w6WdFcgNcT<! z74UlZ_W3^R3eF6J5u}MG27Xrjk(wAv4=m(JoM&At3%|2D9Yz3`loSI#5Sf7pfndx7 zoM&&tKkK{&rAT5IFXvz5v);8^3SrEhVZO43&w1E~g-q3p0+QW$lkU&`Pj4mMP!a?9 zUFGYT#%nCb%lY7l2&m1>7RXJqj15Qqv(=Irmie=oXVO30ByX+m3o@RIL3~lVRMnis zbCpkEnIa&c%7a=U@PVV=LtB8FabwHsY+cM9r-eCfcm#_M#$?`c4que(<9x^y7WjwX zSv5v%K;XQ{_e0T0Ha2);sV1D2agLhI_TgpW{WJ=3gs)sN)e==YSG4!jRL5hmq9k2< zQMnufFk%P4jSb`tk+#6gTrfl!AzKmr#tI9)K;;!YFYs=WqztHSG{aX1^D_rVW$|G+ zZ0-8fReS7YOA2k+KiS1*LJzZt%jlliq#IhTfgu!pY~g)i8-TqS99X~&Q`stAHU$S| zrIr*J8xAUE`Ra`af>Yf2;4bjNI-C=)wDVP(reQ3`dBoNd194RsIIwRYjifAY)~{?y zki>PGT^GNon2M*qA3(lWY)~|GZK`j5yA_ml{Q)j!rFJ-Dbc5Vcu-=Pm<ZN*h6bcFA zbKVa_dMPtTzl_`tf8VEQ24!SP8mI&ns4riT6PqgdZg`75AJVrB2NpgxC&nX_4C{X| zEBWewZ{=!3*9DyVqa7z{4)u#zihL`}&4PjzomV+(zargw+Fv!O$9+nsdLw!kT#|5w zYkS5*vt^Jw_c+Wr`iL$X(SU4Q;{mBYsCu@*ZsW*JK7+$&N0r7-hWQ=J^`du-5{cA8 zjtc1sBCDz06ProwEdZ(%2MsE3F=zy;O!x%{Wd&(!w%Xvo86J2Jacu{Geu7P>it9C{ z%gVkrrK==F);2jyXKG~IXrCT=dz=BxQ4Bti$-oRSmFs0Q{BUSKE2~I_Gc#*yS7xTl zQ1h-Um?UfXs06D8)VeSRHP)wu5#R>;1_~+YEeyrZ>p*k!(z0wJ|9q`E=}{ZmI!^}q z(?pG`CkhulgT72Fi07YYep45bA<-V3oULsOmFh}+wWWs%ce5Cj`Pfx5uPTYeS1J2> z=ZDU0=}UG^pm~nVLG|uGEPxO?R^@8_w%L4g*_<no<-@b59HpeOG~d15>n?dbKj%5m z{zJ5x%HN`qcF%vvaDV5A|E`$8PP|Q3YS$meC6#Utv1>u4`@C6;nat29qB22U96_xP zrn}`<S>p<JTU-QK8X_LQBY<OrYtlj!$U)KL$EhWAR&9HwnQbe3CaU>2U9X5?!ECv8 z2KUSUmhE-Dd4EM(GFP4{+4X@_YkuVLZ`bb#dN{z{^LU9iji#mwZC7J?&rzKtuTL2F z65K7mHnP{|`5`VTb@k7E4eQa6Ep_ncY#0`1g^|Wdl?`Ud{xgUB5$qsF$@Y$btLDp) zglzt5Xff?w>$q1a2ABKPn%-?T<(3y>DcbdE(gb>U`%Zmk{h(;L+xK20CKEwB?${8o zXXb%@IIBW=l%}&8ud09_$l@*Dth|meJXtdXtD1TmuY@cQCMKUEHCq&&T2XFbq}0)@ zO`}%*?!XUmKAnW%eTmMj<@Ii9S(3jW-4rCa{l*1iUt+EwATKXFyz_nx@d_uwuJWN* zb%MoGJK}Qn@<$J!b9Hm5GcaS10O{-nW11Nlbey_pdD_LepLP~Xs9Dt;>hY^TE|Zu< zPtEj`uiv1r${NWL8jTHspYQ^h)+twBufWi?JTlGC=;z6Pg!xzhc3~O|an`*l$GG0V zkzLmOiTx}Q?XLJlKZx&(Ft5V_=0_4=@TJ?^GOR6`iP$t>=>Yv@vvD12b<~z|e1lgn zD2@3b6>BiE3I3Y@ZbD}ZRj^Rt<jYXaO6l%f`KovQ)NROj*qGe>l}%}9*_Wjiw2Z#F z{Py2(4abRYiKhJIY*%vi#L9bTd8iqNw5q{$jgI0EI1Vfnezg@+{jJrJElF`<h%GTQ z&T}!46Qufhn`<?`M~^Q_V-WMSz}8PbfFRRucJzHyU#m&yY1uzp<HadULM<iR6J8d- zdW8(-ix@!`IT#*nZTlFdN!g^tE|pgMA1U-W3RA2rj=mZBB3az(XE0A5y)EyQIGVpV zn;Ab>+b{Sxr`L+racJ0ky6dy)o+W42&QYjP?T%iW5ufJ8MCuhIWLnBuDBNj+X3!Pg z?mHbhnqihWvH{l3(C&dQX_qBI>2}y;w#FoQwJZzDy(+f1ccT6C-|^jp`$vN#HwJUS zdYN`THh33qZs^<pOaHgpVomJ%5(si|Zj^9rJ631!YYfAk^fD&M41&F?!|QBKQ32n+ z0zOEfm$Y=56UZn^r!iSFvgpojeOez!H(`+5?GJ*So5a-CpiI=GwVaPL$k3;DmQ(Tu zq`WVj=AP>&5fR?`8~@v5MIQijIQw~N+-kY4lY%XmV**E~&8k8}iak`c;2q`~Tv~wu zrI?wsr&kxg>r-xsa|5Yz3Ayr{PLv%JJc*He{+0^=zLXkbPqaW)Cqo=;v*AnbD_N=K zQ>g^Y0y8&>y!=v(t3)O$BlxS%@5mgx%<txJy_Z?dy~2uI)Vg=EW)sCxws!F~N&kes zmGKk~*X!lf_xcg`W~D8vPq2Gyv-^HZ9~3L>XKNj1f;NTp7=~y{Nt(95PJg@-S({pJ z7zp%wad{p6VCjH6@S~wk_J6;@mx~h$0YQwvs9D;%dP*`E28DPxb+g3dZQG0&0%NQ) zQ5f#&>2|)WLY0m`kxrf0>P-y|Q^#gp-{)BM#n*}uIHzYpr_*Yl6V_g#r;YCyb~5`W zAel5eBfFyXL?#MmbyxUbdLX|cbGk6v*`Tk4DuI2sRs~eWpLkY=11t!`Kcsv6f>2gX z1;5S`;xs-6tltf!x~33529!pCaDafpdB!_zU^gBAj*!q#L3$k&e*}UurZz#G)|Fl$ zD$0y978i3T<N_{VU*I)nK-JcD!+-h3Qy#M97Iwd2cf9>`OJiFmKhLiT`rh6t?RrXq zW7WrZm!6G7I*pyni;V)7+<4;)UL#XYUsw<gHIk9>6nIJVV*W}!Bz$iAhj5L_N4twB zU4{P}3ioz9U$`YZ8nna1fjIP8D77-V>6jXbfIVt|l&-vW(nex6RI3EU`Dn{bkW5(1 z#><Hs&}>J^&PD;V*jDia+oQgrO0Rade5bY!38|B(di|#Rt2B6vL_(O{td>f{u4_Qf z(m&}eW7VbqFhHz!xgN%m6;$hC*b_OVjUl%vNSlO<MuJhqXPsSMhp6z(X*4Xk<@3|g zyTi5eEK3>pbg5Rk?)>+)LnZlB(r&xRECqza07z{$e#;&pn6z_EvH@Zs55YJM7s;Lb z)<DVi#(zob|1O9ebo4z{H@i?>O~+PjhHAZ<zSq_Y<H_oNog?sR$XgpOMNZcE`nFQi zuA|}cu$|zZhQBxx`0+A;n;YKE{cd=h(!FHw3ajn9_yz)6t)g(^(iE>F!mZ(Ehm0kR z6KBAb>_8VX++r{o_%U7o{g6r@T?RTBv}5ROm!m~Y{ilpzi31ANVqxs3kgW-Vg6IBa zw$5>yyyWMJ6O)T5(H_NbL*7^uiH|-mpLuga(E+%Frc@4jSzKyw*=+8+Pv;A+;kDKI z(%{nlI=l(H(;dq^=-k2AAYisS*s>U;L$6;Cw<KPC!HF%>Kb3S~rJzNp=}wqsf}4;L zs~SL4cEgSL9WJBi>%U*qT?NLrnHyx7073Y?mnCHY9?TY{wH!>`W)P)d9|MJJ;P_cD zK|kM0fhRT<H!G;qK3~7vsi3JjG4L!iZ&b2cGAw1#n5j_FC-ySU#<j+eYgP0AN5+I! zrD)j9fRxrNnyF^<liuDo?iJcqKZ~XKfY*?E_seQk0HoLXKsikd1<<nwZhq|{L<n%M zp*c*ugh<c20A3{zfdG7zTa++fi$TRB1d3x#OGhGDo&7$2u75GO={{Z@f2%FsvnxME zbKrf+!-<%>I>{{U_EL__Vi*|eWjY<l4{3D+Re%xBl4^6dUO?rw4&|SjSw^$t^wiI4 z<p(pqV%dCCgEibVFOn>bTUC~$o029Fy}(!KIjFL&>Sy&jojGuC#}A)LjgjD&$EF)5 zyPlfh^g6@|&hQ5>d|czN`F)Gi;r|DL3)SzRyR&8VyZO^_V5MTfcA-c|IRy{;i4UbF z-~AcuQaDEtJ#MYi#%Zh6$P~6<*~%$p8&ZZv^{0^V1>p*z>ccdK0;O1Ux=m#(!bZ=y zw<Y&*$FGup$hY}H<;Wmt`%tRIdfxBDUysYuvL9t<Gvy3gJbYi~e1se>EvacjPLaTO zvu&Y|D36w<295jJ;SsRrhmylZd$Z)c*HQ7jN;n~T3DWJQEkhMzA5OaQS(kMvYE{!l zZ*ISS6|5ySs1!DPG`9S`R}*o?6ZNDYJcRHq@ur47+o?~Jn1!^Gc`e=dMz`+kjQ%ht zlgHN@8sjzSZQjj)dpFa*4RBnAx-mnX2lQgMs05G_o(UKfhrQ_E1w5Gy{Oq@HKW<7K z(1BiV_k3Iqc|0*z9-*yvOA~jJ3KC>`_lqidM~lq0wNxP0SIV5NtqNr73)vcDhp|K5 z1R{rjsdolNsta>|RcO`KX)8Yijov6>kR_RfGlI*IcF@MQ#*fRNYudifR34wkZ{2o5 z*fsI+%fb9>4Ib#ktey~D%a-pm=f2hmr^EaC1wt6D?LK0Twr$xD>8VDs=#i}CdDSbn zOh!aT(^NauDVKgQ<0z2#Z$u<i!8@+^E1o%s5p{bM`>L3)sh<`E9Iq&tS`FL%aF$^? z?swdDDe#N**-LTO_9~|*U@NFJY1Qt>g+n&^WG<(6^NzcR_rq}Sn>`=?1&5~d{t5aE ziZlSDl`QZHSOMP(xfhUA$|l*1vtSk8$UU4RTRdUaeB8tbBP5<$OGS{EwAJf+zmlY# z#Woq$A3aRv)>n)jq<pI6yhuf)rC_d5C>{Qzvi0fmg+|5Bdi)WzVan%IM?Pfgfr4r! z{?tK<!MCB&1_DBf&*i#bj62W<{&<`eoex;9xGPCB46@d`OfHZjtAjAA_IuKYHU!i8 zh@os7wXw`mZPk%tNmyoqk2tGIj|+uc8q^kHFb)M6BE-L7JgZ(~80~S@$>jRhIx7Yp zsz=W2*I;*d3n)b-Rr_gtyPdD2cQ(1Y9a;L$W-279QtYd$E=wD!HF(Cs1RlZcXseh` zUD(j-*!ZXx_Q5s!^G8ON43{#rF^%QP23iJG{ZP-bD#b_w2J`Tm&p;5Y`fvsA#`$_$ zlYi=dNI<iW848kG^DP<bC7HS&l9yAPuAnxEyJ%j`6+k>~xQlaqjm$e1m707<*gLAe zj5#QJcYORc(yTo4Ns+@L*_G&JyJ8D#sqViYH;9A{!)a=1(Wgt2={J-GMbyH1M0QPb zWuHG%sOd*qd^nJBO&;0jYo*6?ln)a0<-1)(6G&D}vQV~NWTS;;p+x#4%(h+-isH;` z!%zp5W~|JuZ$9a3zwZ{V&Jt*Pm!sdK=m14OIIomsVI6P|%=O_$1|Y=W3{oYK_FdeY z&fAdG4Xt$G+a9`<d0v68-WlS;5dPn9_x5&G*tn5Orj~uSeZ-R1XpXb6GJD4vWQ#Z4 z-*4r>u(71#r`j*smVk+sItufcP~GOQwA2A_j=n0V&X^Y+|D+3w7JBy!^RI^l%rLGY zuIVGlU}e0Jyx<*PAlCw?M9<6l*M;8&ExEk{Fi>U$<9u9JTNc?-!1C@gRnei^`ERvN zmvUb=)u~kFtTqelJ|f9R%RI(``C7hJ%&K=%L&S5&2aB^up+yZO7)i+Q&Q~0a10lX^ z>zGUPMkXsSI&dr-?O*LoI-G&~9lx%}ur3U-E<jHfl1k=cJiYhfp@(D6<wHm`Z@`xW zm2qPgMSZ8WQ$+088DeS6UDG{0+vIVVIq_{(-l8H>gT6mO;1>Ai0|KN%Un`rpG3WYw zo0^&wOn%lKPp#to;E}C}QrhWO7?xRWn)%vm+3C(_AF^+q+ocpxS$){f#)X9e8$@`@ z=*9ef;~2NFFJ56`6AYn`8`0A&@aFb*V6Q?#q!o5^yL20D_{(>Xe7E4{UL0|@AAzL$ zM+D;=st8^_=+n9pZ+Ku#;GUaJZMO!M1S2ziIE?j~(5I(S4&A@JoFV{^50GAkqZoi? zU|`&R1%4nb+8v%{#4BmU28iDA0;vEd2mmPDMf7%;D#0=hsJb+!Nnr3ivZ0#Bl!TsZ z<XO@Fkp*?B`2ey0PUZXE*)8^N@uI{?$*1J+Gz5$BYI3+!mq6Tb-b$X_)~u;q?`}_v zAK6=53%6zG_5M7R?doXJe^NgMDN)Lqz^G#O1opE{m0=TX$S<h$zdkbwgv>qE*Qk>2 zS4@+Z25Q*bTCSF(6hoRd#jgXeB--E1-K57VUK(`U+~w?Ec>Jq2e?%inTm8<u#<V)9 zcBJWba>+*XV2PWhVt0_sKl>BG#mT8t8fQF>B@P>CZ~rL#){oO3_YTUjKi3f9%o19M z>Q`-TRPead^!Arv;-b~$URsR}NtlP->EVkGO2*w*#@l<ZEuiDB2TD<6%eSx6G>IfD z9~FmjHkzI6aXTUkkje(fdz^V|a#V|<y<#2x{yf(i3!-P-jFiIx?;ZE!$JS+o9Q0Il zn|A-Zqw*ls*2{7uZljyh&P4ORz6>3w+;(`Bt#Ya~1R+-ABexj;=VSO=4as<$m+4~H zlj)nKfj3M@-4P)QCEg*wsi@@`pf`PO#Xbz<I$Uvj^?n<M7R9#mm08GSKS1=TBTdP# zyb1&hUL}t3+t^^w+cgV0XDQZ$Ctj^O0wn>}3=Wd3B_IA4C<r4`gEL|`g+$X*U73UN zw*<TZATa!f;e;Wc5aR-$bYg)`-pxjSC9Po*2%&$rI5r!t+%m1v(k5OFr$1$UAI6XE z)bxh@WDm5$X<YENs7{5YoMtl&*SeoeOEwKdri_>dv8$<gOQg*FVWUFzQtR}s*y7|- z#p7z#{U&?jg*^HOr>(~KiZ$!wvQ|HS<F7qS41bxdH-rGV*K3JQg1{*_)zmdC;p!vN zcGK1!rx34VclC&F)iSQzkOi8MXXWX8H7zeI+hfJZ#$|5tC+{7ekOfD?L(VX5+2q;! zcBqdLHJBA9oW`J88Dh3BY(rL=g9&^s0eDZ4${ZZ1430D4zc40iHksrcN8Yu`U5Vt( z3^bIH>vGqOR#zctzl}rc#mhI?a68?}U6vjXt}=W4uZf7}(g7myaj(^&r(1{{Oye&# z38kX&#TbDzNi*ust>ojjKd<@xM|w%aXdaq>Tz!7ZH*}Xt29LebQiRdek3G4BnS6`4 z$D8*)<rDc9o8I0oT0ZMY*mB)JBP?#gx)^D(z$z0bcp`3O*8u?ac%mndT{~seIRY(0 zQ@or$BOlWH^t&-efB$<BDk#ynSnjfH$7IDMU~Qiw-b3H4P@ir}oBZMl9j;?WJv>3A zV3V!~yT1nZyxas6`INt3KfZjP-x;t;%jp)mvr#>}0H-0Yo9TD%(oJojs=7?#v_d~% z&+L_vF}s}bQy#$+Un!yymS%@pfBEk0zuyvTzr5TJZ-2sX#dF=3Sil=sz|DYGEtN01 z${I?vzT6&w00Z&-GMarf8`bO2ZgUO_yYlyoyThZMv@6kn#w+vZtu|*+YZz3#YJ|+< z;ZBBBw)LX7LH9QoBK`3cJZO=O<5!#4{bQ1J{U9=g;(M~G{UnU8%hK=qG`lB_K61;@ zCeqY%*X@R5E3A>0y2-`y{4_6;IuvpL6OEMej5P%iozl6W!k{R<e|0XbRmwy1k&wVK z6Nav`Zsy<_q{OHM**T9fmMN4wPOFvSZi!iC<Bv`fvRif%T95RP?_5Kj`EzHQZGFI} zbiO>$Y~-=<D-;w=E|Ar6wPTMf*87YHr`e0u1axa5ft)yC{j0Mmqoq;eqCeM`un1Ld zv3>f-Qf;$<FS;=-25)13XOT28ac90>AZNxU50<>kJBa+?CnhJzdG+MIN4Wnz=MHj! z%GMB5N(epyErHmWC@@j*mYOWt>MxA>!<!Q8s(E-p&FeT<UN(yrvRML!$1Z6vG;s2N zeEGO(&d}vhTaI;zKfa4FmFny;$WFR_1kU#Q_BtrI7ziFO8|nXgJa1_k|9h18{odZ* zj#HEbH6pQM&+nlP&cD`V4a<K$!10+cHF<UXFW14B?>5iNk8B9WT}qLe7?+i-uncWV z<zl^;T(IrdxNcTplkCm^udNaXWdp`;Sy<tirm=<<o8XLw1PN4B#W}B5hJqNzOD6{T zqds@y)Ipxb_y6n^PGdJ+gH<}zvxEO2`1*Zw=P><arRQtL$8mP^z6sg4DDjvuv+$sX zb4%b4a-LOKTf@BPSZ2R&xzT-CI|uap6g<i+P6OwK^6G*Tdz;#ARpFJ$DKcv1d;6#H z9}B;oxrWgt$xii~0gNwONL_YX>!g!xot-_d<;#N^*^R{ELn#ZvM?bOxg4bPZs{ie! zpw?9fG)Kl`cg?a)D5=d3`EYrtddp5^QA5wV>H(6qiZebAXo)ks71!^sQax3(&B-?! zC!|mxjCcChC@DjKkPjNr4f*BQza){3wH*`h8J~58SAUeKo!TYsglv~_EDqf4X<UdJ zNh2CG*AtO-Pe+Dbf0jy_SoKYhdb{9^^@Jy9DFj|vY{BdIW#{4W2}Z#?6!OnD<iFo? z0{ra;zg&S6n4AMbw)9m-&Sh4<Me2yJG*^nS{XGN#W|vQoC?a?4YrbiLNlxsRzsDim zl6&ddl0fe}Mn>Ug@s+Z|g7Nz&)cl&+u?xfeQoD^KQ+_3QAj=cYDvz9jbgA9rT^YoF zduv42)4I7Ar2bpE76hiRh-JHv<rJ(|b~yxRJgR*Z|ENu4rcqogyMzG5h+<chP7a69 zOq7Oda%G2ZblJpnlsY6<#q~pr(X0HSCfeP1Yq*295J43U?T-+}J8h+GfI-F$5zY{? zG`p0;;($kQ(&YLRL|dAwi@F`fw0fku7YhCev^VvJ`{ia1ZtZ=Cv^c!7d0V4o5LLS% zwI?Qb;~!|&^jhB-8;J2@aK{;H-OUcDP18CoTh@7PUcld~?bUbUJi_pwh2;F;oQifu zxm}7T(q#wJ;a#mZsdQFteDXkbcqlJ>>frtvtG3IA3vo$#Kwq=!?~Eyi&qQA_WQp1O z<6!%JLyV`%7~*r9NxxRy?r9Bz*=eTbj=pWpgzYpi#dMM`qc|0EC7xE$OM6Ccu<e;t zsdP;?a!-4?)3p>Z<0#CD<Aa4POD_?m2N{#`9uNY}!|fg1QXV;xjKPT&wVvCCEsrS6 zF86@MdLW~sLbb}nQqIAV3+Vr$Z;1^aVv7E(MkxQ~cta-6UQQb-5QtCA>Z*L5U0$K8 z2~sUH)aI_&lA~~153Bx9+}&E@tzkWT;$heItK0$Y+njLEPZq0<tX3}Zrx3^$hE|{( zMgwV2u9>0tm^6Af%PmuEtKx?*H@k1elG4i#lzOJ|Fcl?2kOlS)352t{O;@ZdA`|!y zD`SXKnyR|5Tf?1HrAYK~k96v+eTQ{dYxUfmNqCvv{PSUxM7an4iY2TwZkZbTJQ}HK zgR1Lkl5F28DJaN4%|yt0`+%NOeO}v1==b2!D(U4_7-F9fFku<u73El<Emk~K0syul zC&>cI0Q1*F=()?vF5Fe>?Y$hZF;}g2>B5CsYva9jew$aQXTeXDbCBwWj~r$pinqJk z>cd;wuc_P*s~p6Zo`i;)oZBg)*?7Sg3>gIk2YQUCZYt+?c(FTjyOV+gN!u0}@M~od zjR&5RbT-0G1sD2iY9wfE;;v{*`R9SSFKL*_9z3c$l~*aU{}FMJQY1^B$opwe4oyZC zwAjH4J9sTedo8?50Nr=bi#=d<1O}ECP99!0DtOk=_5&^$V&9OgutAH)t(gYL{P__- zcmC#O!QLMwvM>Ho&MhcdT}VvggU-zjN&WH2+iVsmMa3ngtbx??{2qH<GqmZ{Jfh@! z=pJb#y?1dJ7=O22nH@NRkS-4{%{H8CwrV+dIf?v591s_jl-w>9ID1xkmI0ou+-((% z(PkH{Dce$_Rn7R;e{*TDK=?XGQv(-_Rd>6RO0AM5-|7RDOBB{F?|S#m@L1+q;jDOL z8C!EP@Np~-45+}{(Ns3O0<tioEV!tsd5$$*T%^{o$7i4EW=zgULZ1`rDvEAuyX&;e z@TM2YR+h@#;9KpOIl{3r3N|Cs(>;2}YxGScT2OG)_Z@`<-I@?b@%Y8FBZr2G1?h*) z8Gr4M&M@>4nNoA*ZU4s4`@Q10QUB_>g*8^;#^O;2uZJ18gIoA3w*<xz4SSN*;#Dzk z0+@&sE6owlD%lEJ07r;rY*w*#c=!}L=rxK2W<zr+q_`?AAzeNwNuLcMG!?X(+-Har zNP-afO?b-m?5lxl@3M6I&%!UHFD3V5(T6n8%%O5?L;M(3ZV!QaH-Ks7z1J}_gdglv z`k_^>5;2S%PC0iBr1Rc$KNjYxeCS-gSAq#RL-0MbMEPuv+P6;m%@xdLPHn_^A!CkT z?k9A&93RX$-JKj!M%*s{Scy>0=mk_4Y*I?_rk35K7*S?p%T%|UH;KND$E7K*Zh!3h zy<a^w4FKOJksf^bKwW^=@KC?FXTV=vo~G-u&-xF;e&5fnFtv&Pg<y2P${c@Aotix- zQy1{ZJe*8%osyt9EeO{S1vg_U>Cb&y1_m+<CPP)OH501(G2U!553*h)+Xyeb@C!L| zi%}94O0km4VJ{673gh^b-{y}b!P>k-fF)#YYPO>-qS5=;f4@25JAf59Ua;|qjAfd* zw4QWH&NuHRlNTHLF!xMdOt0wMZBT?;Sl*idqf>v0M>n*MZ&ZKIc%4|l>NmP&x5oZO zCLK$qf_~ZglA{@s8QYTANap0nRkju3F3oU5_6`-iTzJ(f1v;5RZfr+Or(86R)N=?% z8SKFrrKDu~fxipc<H_pvaFTn<80I{Q{ieOrZsXgh@oMW?=_DCDM9AsRWygKt1j3sT z&t_-=7HICJ)B-XkaklyoR?cPSeV(^nHOK)@?u`=Za<C`-6(qL;_x34QlWm8mk3P6H z`vO$Ws{id~KD_NaQXd35iVdHu`j9blc**LY+&hl-kH~~dUzj)<eJNSXqE6e+j(1pi zps0cuTFh{W`OhVm^2wHbs4MpvSY_qY?jUY-x&;MxWTN}039!Oy9pJVUtI$xZFiU-( zfj}HQppj-y8;fBle@4?I2+UW>3vhSdAbgQrK2tF!Qo^I3AHlm55RCAm5Hxy6xm^u{ zCf75_UML(N#iC8q$mWTYsR(tzRf_Ta<wbF+(XiLbMh=X2G@dF!;dqGxKxB2m=?4(I zFD@kVL_Nvx5-Qq`$BUUfW}ovGz<iQv^STAE+*3J|Y=#uQsE$bD|10!Y2yC)3KXejc zz-4+AG)8n?x~&y>y1?LdQA10&BIdG6mZcg^JJ!v;0zca~)co4BDY#&LssUb05460I z*yHxiTB@R*i1*?ulrF`~+DrGTK3d&7JS-EJ49=mRI0*l+NS3?tf6Wu(lMkYV6@wm) z9~-w4U8da^BHARR5l^)qh$#F4Yak}w$``7W7DnH=|96!X#Qs=uzl<<dI+-eglQ+3A zHc$0nPCG0cFsL*klntu?augmZRKB4-&7b@Wt-EbuJuJHlAQK@(o4zcD>qX(agDHqX z_gS3vdpxarB4ZlF@<in9MTp=X8M8*n+gmlCzb?1a{x$M!ltU=bn}~JRzQ28xka_#@ zAK9nJ9)>02&!$S&81GWAJEa|h4NV*Q4xc`q9?T}W9$(&dK9SZoeT~EzHRNSxW^0>z zPGJNs8Y+2`UpF-(dl9-B-vuwN&M+-s4&)O4j#Mn&V)!i3p#o9;v2M+j`f!Aa8+yhk zWY=+?-1g|yxU@-mwgfaGifeg9mqIbt+ES#!@?SUkoj1WD($Lg@igyl_z-t6~xE==< zrZe#~nZP~5NBZe;9@87mwXYNW(fNpWe%CB%RC*1mb>`##Cr;JCbsvQ@+0u0=28SrB zW7=?9s@%<liIPRi!yBI|4BYFFB<cct-9DzHu92odHTisHX%Rs(u{#i7sp*pSlOvl@ z#tZlQ9|L&OS4nICCyMr0^bl`ru{UDu-^kZ>LtY?Ncwfj8sD7iFa0HE=QjJRxd)5Ag zJjU(4@$tx}K!@d5rMeuUi>rJ(4p=)}qbe@jFI=NxB-Daq{+9f{*9w;$;tH~WPY{5- z6@;cK6n>o{%B(j_l|AMs)o09%{(P1$r{syyy=UVc#zTu6-W8vsz_rGfW{P(DSo;NN z+HBhB9mb6?(+K?#&60L>dkwWg56Vd-3FJ9%x^qi`3Sg6KIAE!L4j{{aA=uY}U=ns9 z1n<=F8G09pLOR{ZSSp9swmJxb!cOefB&_o+iMFkt%N~vv1+Nw3Y`-D9?j|U&m#s@m zPpDl=9}M;9nP%E|bPFD*4O`u_o7>hZ3HzCb@N1OOnw{HNvw7I_AxG*%l3s$~)EnIr z#t89o&k`;fj{?-Y>Da0Y%lieRz?MMn>c<63-~(R+htB%>y_oz<x5ZJ@xDoMecYE_{ z<c4`MxUqh)8nyYg7^X<n3&I2rs;nk<Q{rruvT~ZiPyG^AGHAExBYTx26_HXC3zCyR z{3>M0BD+$LD6&(jj?Y0$rG=h0sUsXxc8L_?pC87(2S`2VTRi~lO2Jdgw&o~@<K(v> zT*=lTZk4aM?+|6#YVSja%No6l7OAMaw=XP8?HXg#0=7Tm>>e!d>4SV1mzu<bGf7Zm z!~BX(!@M}7T^DqlX+ocWlCA1HWU|xD1&9ItL{|EoBpvTs0w*e9n-l}3u5;r&C78<l zf6%boDMQR-?CHar;)(zLW+gouR6pe*K-qX^!nj~E$`o?g)z;(M=EHAQcg`dgd-^34 zQmm=l(iS~#lp3T^sQSH)K2SjRi;H8*3FZ@S;AXg5X7ixPtSDWDM($zR&+q=pn<iT` z_(Ao;VU9~Ie3nOgJq?&z@yah<NAOOQ)ev2yN~3$!qR{9aCTl?zFiDV$qJAnH1zI*F z&Gh}+in?`aQgq9*(~_v8J3?4$%a&xK#NRQ;@_a&Zt!h}JK3&a#<fkOdTi^xJITz2a z$3M(lBNLvT8R2G(wCikWvWH&snf;;$>$Oit_}O0!B{9>vIqcnnMW;Jrms9`yjr~nF zs}YOydIBb=F0<c7ddg4Tex$|8-Rd<iLXMiSA$)%gqqrn2fs-xjaZ4e-?RL>5tZ4}8 zNT^7=Y<(qwV_iXvO9}`gHYGJWFkMLtA_SA2XeOs+l;W=;QR@Gul`hCtP^r^ATK!4u zO>N=K`r`AwBMo@Y9Jl{_UopFqry1ay<723cD~@NZK?l$MYvEX#pqc43dl(1m0ZxJ; zvi(Fjl2oH?NspSCzM@@~ioD4Cb}26c=n6EoJ<9{59R$Lme+{PV-nSCMda-vK@jJFl zv`iVzXzJwy?+z-i{(LG(AG_q@)!)A^rKzQqY%6+`d~sX9%aLQaOmVZOFI#*^Mpn~$ zceGrc>dqCN(q5^qO!Mm4=^gMVUrHdd$9w3G!WyaAJ678qWyNpP!i`vq#pR8m46o(p zz>`6Y%lfNK`w2!?1`?3Nf7TnnB<pj4xxs+NtJeOqelb28P=C<0LyuSfv-&L6e@YyT zV_q24Idx7L=GKMZMM6?tN2lL*B<gw={fT@dVnIDNJ|U)jWbve}$CFvC-pu2E=ix-$ zuTY$A{+~)MoZY6iKD$f9u_f1s9tRBScCF4$55fMJBs#Kvj6ml!Ci~79KXLecUbO0; zC@dWCRQ|ze?O(HRmG^`g@5~Yq(Km#+?g<hg7d`h_<FBXMdTHv?7gElfqZZhk%s?6R z?ag+Pts=5QTC~KOvfjIXVW$1LqiwZ2JlH5KV=L3gGxlY4%|*=2kIGbzA@@cRczi_o zr<O)H8#!FO^;G|dg2l6Ug6QS_vmLYQ?(yz1#<bJQj?J+|+BOI;q@RCke~^*_^pZ2~ z{cMc?scU%Y6o>hp{_~Hu$fw<^2jP29o)&k1^f}tWGxhLCvnURG2;FD(wI{NJ3W!Sp z3bc$aQb&p<f>bx5crd&7$+pFr%!R?(>#-O6jj=ip&y0EnP8(waaysrk*r&r==DxN( zZ>dnDm9}e}DBA$aQq#14NlS#iKr7V@D96ZLS;-&=C(urb0XRUq#_P<}YZ{Jp*S022 z9jN3BoB&&0m=+x`#f_ZR+UW3TV1C@(_0YRVNG^^|chU+8pEBBgOkU9W)!PzqIzik& z>I2;MUe2IZif~*ioe@6STVJwLBE?HQ3wg-(?;NJI4ZI0M%Nh4<?dQxY&T3`;`)$rK zDt^z#2b<*gFxlI?^wEo)k%X`lg}5MsNdn%8@m>NsEu`X9)!B#^0V~KzBkic^`*KpF zf!W8#ZMxmMGzTLky6!y<7|tMliN>#Uw^BIc-b67oSvl2S`S$cRrPE~}QSKtjtVoED zJ76?e@kwjOdQj=+NVo*{z^XS|5q+e0;GcM0#Ir3x+|pV=M}Dj)+X#!Pt4|-z;MyyM z?Ghg(bDJdbr!$@3ADigElM?4dd`X0L;=@jCy%dXmE7qkd5j5?_wu*v`qki2HWXyei zk%GX!8^8D7>**_5?XjMjLI>x%Y#D+|u%=ds>TKI$Fzzn{+j`2Ys*;kdzBAl`3EipN zj0=9v*KuHa-N8_7%F-%BR{d*PQj#92y^i!FahC+setVE>m|Ci*?&E?_(da$+^M9!u zOM#rk^pGMs8%vyqMLfwiwRi``+fv1MB!B8FV!G&*5Y2UPt^Rwy#|&%G9veR2;$88Z z9%{O>GR|aXz_RdBN}9hnxE|vsJus2_4;~O4X!VQwlis)+xa`k%=H9=wmT~KCal_<u z1_=}kS8JD`$g3QGpl6sjPV7_&EWgO(uM^*^3k>HHehD>x<?!)RlD$W>;g*P_P3glf zvb{+Vk<B9!9QgqZO5GIu{#jbymgG>@$4vY0xA7vT07JXv#nvLGrFFKKO-@o>tJU3Z zxz>wwoLz>2aaySACWO(Jsz5#Z(IB^z_MF)4Q{~PU-AgXc9%1e`k@^R^rb;H|I&V+4 z`eWt%D=W|%3MDoxj8I_V7cum=7keJbVQH$jD;5TZRHh~^lj<V5?G1cxMyf_W>FgF{ zt|wTgOBhp9HN|fOq6ZmN+f=MtjvUUNeC&A!FK|a{>#%4J|My#6jdcYgQq`7?iPb=W zYyW_-vt`0=i)bcHzl~kes*bEK+W;nKp5hhgMe$CJzG)RSv4y7xud)~%{?fP@$vACY z9G~gmj34p2)7BQ(_>G>a>Cdqhp&^$iB|xR}W<<Q`u*(W;^9if#r4T`}j2JR3h!o%1 z=NCkV!juW4>k<_AMJh@1)Az$d*?sk-{cpDCQ9`Fs9vQZjE?}jDh--X^GrwMeRueFc zp&pmmo<NJ<-9Ji`1Z7LI(RH&`GG?|<mkv4-`@6Tji$peBK>4M!W4?5zOLf<Ooa~MN zMEmR>KPjU(O=5j@RN9;0l=AYn+iRuuT=+3y@*-co0!!Tlf_f)LwkB|3kbMe^Ar4p@ z^bS)tViB47lWR9@Oe&%Qu6*t&V&o{@yR2v<=Tpw7-RAsgzxh|THY-<kbL9S+Y>^^E zS7VVbdPjuh>I$qcP7FwwulP<Tz;LRgk<ZTzE`XOpnNjZl{YH;3UV=YL9{k4O7$H(y zTGc*`G?>g9r=fm+MMf`BX$K=D;wPu8*j^8KsQ<&bt5zL&-g*e5L5@f!N_S@i<5-oz z<rUN9;7@HQJXO2g#vO4b*x;qQ4pwD_I|m&7i&Td<jPq5R(o5eSVHEy4Epw(8Bya4% zK_Rtg6O4v|j~tuZNz>Pmvab~fTpJxpsu_tz^|un&Ca0~=GKgCvUVclH^5m2V4bFj% z_RKZ7%C`5nf8tp<Pv1q!7D68PiWEpQa~A$WAcxrEyY%8i=s%<k&AVQ1f=G@a_#lMx zvfMD63$<nHct>)W-i$j#GiLgjpZC)V1<sNm$L{b?f2z?$d)sDqk8wx5bOu}gstDxE zI|*d(0-u^2Phn7Q{Gt;+?M#tA2cz$`^;+hy+i>%JvXu(5zV%BUa>H7tr^P}6!&J|o z=Jdg>!POlwESb&(QHi_j0K9Zcs?wk<?>xuDQeD9+)w#U8@X4aO)!1baERvdrwIE0v z6N7d9?PL~x;tQSL^{q5Z2p95hb9VQACgxh6YS5a1O&c05TM1ODD#q?dpXZyhj&$Jf zFRYSDId`R7b<MkWS_uS<@A&`K2Y+?om?!+-Z<h7(Yeyq$)5<S=Dt4Ca5<k%9-iXzP zbG~4Z=Kpu5ky@pN)z%S_$0$n^D825Ct1Qky8jAVEXs_{s{~tx?;mGFVw&626m1@<V zNA1`nMkv4PK@$~%1Q8UqYp>Yn)ZV8^6hVoIh)^R|jblYoRIHjMidwZ=oAc%S8#3Pa zd7k^eu6UN5ogrOxlMJ}I!!YaY41LB`5wOn7>H|xHWr$pVqEue7qQopq=H$qHswQ;< z_db8ND3WF40%T!;=6KB0=HY{(J!6Jj5^(rI7r7kT<1n^7O;I3b0aLVPcB|E>Ss{zA zVC2D+twi$CfNH}-aewj0Z6Bewh11zX`^{|zAbFX=vduo)UEkcN)gB{*>KKBMc)rib zf4|`U*4bQ73!iZw;HZ`~S8ETacWTbk<JowYpYJYyN=RaO%p3VBEM_=n8s=--gY>5+ z7pE&sX7-jY*S-&>#Ma19uU5fnd<L;1&$W|g%r*CS+nXHwe!qwF|JK|mjdGoK#Qfvr zXFdD61b|T*`%2KS0(689nVkQ8ShdU-&|*{^QaI-}Pp`@7VMzT&27E?^-1xC?iCQ(D znI-_C4R{Ud#h<J0U<vWHlB(Cnf9^G<_|{PP1(J5ean#<d#m(WDHDX+}XAcUn`GHD7 zX1@=HDobbp!z=?X1{K*I*i(YUBmfvOCK7C<N~CRG6gFx*0~A`3eXkaN>Mhu#!sN~J zH^|{+;n}^+HvNukwv{>RXF+A9f!&C4R%ke3e8J}A@Yw`|PWdSxaCVARSEVkTBWYKz z2wsV-E3b%D-!~V`NVWIJ>dJF$$CuyZM;LgWN6%c49a9g`o!;q3YA(9A(YtfZ$+cn& zHmEbgR{s7Z(m1gO(opx3)~Iox)kM>b@~SW94)><%anOoZIqpGSYOt0V;uw}6a&Gmn zy~+u7B}!$w`@kK9D7b-psF6(AIGWnqteqMBo8=bE-~m|6Dqkt`7}J#C^l$N;N~8m) zYqQL<m)U^do0r${Nqv(g{6XK~@tRG1urx1&J`+U`bKMaR6D{x}!lC~HzFcmS<+>#h z*X=e_q^LogCSaG>jkwZ!mz6Q73d<gIPoO+RXAmRZa?ZtbM{+jcm`&^AaWJWiDZ4uC z#pXI}?ohtccO`2lB~v&<6Xv6eWXrP{4+UjUcSW<*IiCM@dB}KaCkI4Yqpm-FPSRe} zoRo2vcEn3@?d<))8-gJX^I>jDM~%n%>&6R1@fRATxPHeyn;pS^p28I=TdwXlV8)Q_ za}T%XKEpy&5)%+iGN^{gXz<@p*IU+tre?1XGw->3+2DPvSgs#2cRgpL&QT^@ak*!a zA*22kr>|`nXUp=-8k^FBj+7Q|)rd0N2h~oEu>yrL5{y<&9p>rF?Blyln{oxJprmaQ zhL=u36g?~}l%ut23BUG)0|L7rd`&@NYcB_~D&Mr`Z0yz1mNgyN;`*HSKihmFB@gX| zjr>+5awlW?LQ?TTN=b4LLuMjJ2q42y!gv}|`IYK&rdOsY%TdNp+9!WpLdJ*M>LwKB zcB99LqY|yqEUr_7TBlqNPzUW^m=jQ>4PX)@wQ}$hVV6R4^fXi{lrt1#1B`c11rd2I z>&Q?}!uJtRjkwD!`(fMSMbsB79iTfsmJGE#%?T^fr2W{0;5<Qrs0|sKO1+6~DCg8X ztdZlXxA~H7^pEP3wfDdC4rD7EihZ8BpLSiQNr3%&hui0FikpGS@~RB&E}m@DLs(TS zeOq9KI7ZB>7TpIA1R{BIWy9?VgP5ZC)o_>U0pXo<or?$4SD;9vPthVLK2Ly0HR1=u zp)nyx{Ln(eXWM~5l4tI*skkCrb)na_CU#{#w@`z>XP#Ah&3_08bLIW;>4+*z)0l+# z<A-=WG%E(6&^vJY?#DA-?g3B#8*WDO1S|H$^~}azhB8o$l{r*HMye$n>1KrC@61-E zXMo|pH}KLRQs)wPp}m)Ca1yaZ77;vYWNgwF7pK9WEEpOoI$Exd1<C_88=W&}BZZD^ zGw)k`0jk0Z#RD^ST(5~&NnOU02|R2GXxW}SkENR#vKr6=Oc`+qZj>)SRHT0Vf>ND+ zwV$yB$%_`d!&;N7dUijE@Z@GrzdBh^Ub6y%^Uo2KHM~#Jf(JW#LNV5cS>~@yMn^h* z9pdfvPQZJ#X&V1cnrU(<KXu}s5rgefn^i>RD8cR|)3h_A$2jBYz)0RXG>|wu@8!ye zZ>2W;FY<kAnEcnwqIQ&|B3sf~+J5tGeG7E>yWYymHc=k_pyi!!R~v^77<g&iivp7c z^vpDizmG+1k(Wiv;oy9OorWP7v#H%TU0%WmC-ZkO8=J``&~jbnVrrV)M&Edx{KbZ+ zpVt*|%6A-jk{&_QEf$}GF(<%Ho+e+NkiaD8bCm^%H-p+7nz<bkVDh{3M?3OrMa=M) z<Nj#|ptUFrVOe29j~uS?fNASR<ePn2NO2ID9a@ON(Td#O$V|}O;QQk}hs&px4A1F` zjj^1PaQ_;`0Nj_lpb9<Li5H9<T=3cPl4AUYF}{0hQDXY1DXWouT9yYgxc3heF%|No z`T^-zvNHDS=TBd`v+!P!<6Gj?UdH_S;T`W8FT}6csn&8X)dx7KZQ!tw!x8JVAxly~ z6d2<lrAe~ub@y|zLOn7DzD<^Q*6)qwI3pTGKb13yHMPQn>6|%u>BnaA%&y8bQ*0!H zKG9pUqNT^^n;@opbCD@eob0Ej7@H#k5!YLrGo+2>2RFsc6txXs9F!ukYLaXlf9a;& zr#Y4r1?`akwAsl9ROZHo5zCgP`?MoS<ymyAiQp6G%zC-}AW_^D<qf<`i=I~LxbbOd z#eNKrycbKc6_Pv^O(G2NaNPt5eu5cKw>h4JPR5sicJ_#{U+AASm7X{t_lLT?OWm>i z8~eiwR3XZbOirE$hO<3MJKH+sC}Y!c9}R6AB$q?Ozs_fA>|ASaJO<gd3V9H%1W0im z0Rk5<;Vxv!U|;+SIrhu;Zl(&cuQR3ZEVPx17uM0@AKS42m3Sm)39AG$a9E6mVpt?u z1z;3Q0DLflCLkbz2M{DAUTFwBf5K#Q*7j%0H-M{wrs=aC?P`d!ro@Xa#oD?yvv$(e zT<rvFC=WuEkZNi?P<H4Vrda0AXy#sTx=zdSYaUeXb=qQV7@Fo&J@iZQ!#p?e1{Efa zr@qqK1UG@^gZ4mEd_M;xpvr(hjQ9ZH`#X};?=$2CC!t|#q+hlF#-?kkcWDRqyqyBc zSwN7RwksjHDC2*lc_&^{E%$a)Cca^_kkC|bb)s;ZRGZVToQ3h-s*2YVrN%l4?$-Dr zxw?w_S$Ner88oUiA@;KpNScI8@cVmm)S!nqWTL-A6;QJyei=>c=8$!xYiNUBbQPyk zOB4HAn760pR^^1U=9}kOK&K9_z0i}lHFXAZdxB`nmO>dYhoM~{FcL%<zucL~bLbg3 zck-m4|3-Gn6WPY{>0?E2uC-!Pm;BCTb+ThQYH?ven-4LzZ8Bbau90^qtVSW)rz7~U zBLxQp20~9E>BsX09>7y!>)C$9$|)G?A7ca8OakR!6slIY|N2nwvdk2Wl18}+0m@jF znESH6Yj&T;#CT{3>R^zRbC42+&ybuSb)$vBo^ZuJ^)e_bWZJ&5zzREOM4fEtWJkx^ zO;8tHkH8YtPcL8o=w$b7rSvV%MTq~+18K}#E0l*Rl&1}->&_`*dG4nW?mm;ygivjU z_0vJ9;)5d}pF0aknayHT#i9`v+zpt+O$#*}g4__Fy%vJMTtNO~AfMAdb#32ls6FA% z?euJBf7+5Lp^sbNo>Z`s*bPZ%_|DYy=nBz;y<<?55>5NOlR-j2w}#0oh4QJL-h6CL zICl2UxI)6)9S@;bI@qy!q>;Paj&YU7Z60}64K7zM#aG=ES;Sk=K(n<p5<F2&QF5EH z>``qO5(U4&O$&6tkpqx%6A5=UXPlIBq~19Ce+H2Sz?OyKue+UO%qWmDj(q#693f3Q zMp~^zx`v>mx74oDuPZ#RE4GLhGwx`jHwbLy{n)WG9Uo2mBX5cN-r8GnCxLXG4t5hi zs*6eqZt{4cRJI4^8ZtOUr_ri^v&NM-I;IkBA0V@jc*CIRYb~d4fCjgLA={!m*#<uL z9_lz#eU#KCKKbAE;5s?hT3!IqeL0ZT@WI{saP!`A0@RrO4YT+LURs9`kijH+e%vX& z0IVKqvA=%gdWkPDetMF)H`=}4tIPU+{B83-dz|aOVKLrRp@?2~;E^9f3UwoS%)U4r zx<xN3+LTv08o4k$xQ#`iFC)pC%LFUF#J=^gDRzyvZ_Dd(WOEFU_V;fMIg@HFUrB?0 zg$?=Pf+&k_R21K8bG2aR^@#z$oMi{0f85@n>_r~+L9*k)V?8U&hK<6xjWA2nNVzcf zVZ6OZlexm!DTw{v$>EZEGG`36^a6R}ytf4#Z+lERF>=`ZbFZUjsZ(I&AeBwQgyR^} z_*ah{f+ppC<Lua!c~G6DpUn=^zOSw64xaF9QEiM9Rp$+TlS{1FS-Xos{z3bi?%nou zjMkXBr+@1a3<C|pdu(QD$y%)lvwskFX2|Q*U(a28qhs*0NvIoM;S}g2JW~56Im#aM z^8EuIs68DQMnJ?lKbZrM7iyUYOLpGW6~CIi0-Y2y76L8zbz2<C8>3a8LvKBc#P@a+ zZ*&SLE4)4C{^E(H^%`+~{kJdVC?O*0kN3ayOW)%C;TXs|#8PSAy^fwI-y&-m-Ijal zRT;#1yCSV&QZck}Y~i7$4}i)jIIQE=8l_apKXLuPV)uoCury)q`#G=@a|*`2i(qI* zRa~4PfpkW2o^TQux;>;}l>bDVR_xihFOnQ&5f(xD_R;t2d*eI2K?^Fz<yWKJsvdNY z<D+^iUFUG#mJOm;*C&L-j<sa8Zw3Xvq_ugPrc0Oy!~<YwJ4jW6T0zidE)WDuX9|*6 zycTFGpH7Yob;>hqixZf&Oz;%Jf!#tJZ;nB+#>{d*j1RwG7>tbfusRx!-tYO`rw_K% z^T_S`^6Le-`m@8gR-?o(y+^YKYZTIFcf?uz_pCawPUDx);nPRyV{b;qP5tG!Kb6k( zh~1XQ*!AK+C9=C&^g=o71tngZNSRY!{;4!}Hjl9xu(a~a)j{DlXay-{%q&iz+Lz+g zeZ7Q$`3}vGJ#qDNovfP{J<A8P%*<CnC6#F({t3#7rb;8=QTefyB)mBcV@=DCtD29D zU`!|K$S-@WHaaA5pP?t^om!%z1q$Z0jlXRd4SFm$jsNr_H`Oj&vnVj#K6E{L-!b6x zu{Mq?&xLR8S9q{82T3rB*N}oT<X|CaF0U0>N|sa8wKWwTC3xHo>~(07dJJKszUJ`2 zp$$jBlX;>Lz?VIi=HzKk28{)++CF$pb7&>o1dhaQYDrIq;+|JUZk3!^{kad!Gv3kb znSR$N&Yy1^wtHEY{!mupV;a~CE&6o9N4~?IZUb{gg#99{z$06e|H;9=?>V^}x3NO9 z$WNs}&0hsE(e%D<oL>oCQUgIadrHJiBByhmjwMlFb1;CSZ!I%yk)wo-`?}7mQv#E* z!j-ibTJ3@#xB5eFZd+~tz0`RN<zaPow|37V{(GbW8SP8U<u^>P=<%vRW*sSQOw)LS zWfyeieZ=HkBwq>GJd+pSaTHXY9}Q)1DtvyDdOaJwd}u=_K=C9&bzx3M3B<ym!o;2$ z03kWVTZgp!Fu0KV<wjs+=q+@7PuQry_~2m?PYI&z9Tl$dN8bd=4*pSQX+@{=y47_D z&i3|~2$3ySeB#mKRJH}#kV`^qlCbyXf{TOw9-3old9-K2%ToVJ)I_l_lpmPz<_wDA z%6!!(>b6wKayEPakA!UlwnZxb^ovW1duKiWodKy1TVhS`$w9SBk;AK=l`UF_?1N-- zDvoG13$Bvm<OqSKy|}6k`dX~!J-9IXt%!?~yRtun6_XwEe6BR%v6P+09L=LSD3Bkb zw~X1KZRJ~*aef_x6eL`f|9)A8C2_}DGFsgjpLeZp?!!L#Yhv1xi(ROUqYMk*wJgBS zW7@YFFs<h#LrNZFJxnjIB@KZFsCTqz@+6umSYPG<C`_T=DUU8ORSKHmLYn!dodOyd zUst}n<3lABY<woLSkE~GeMaGDs$&Gllh&tpx^(qkl|esPh-mB@{2$Jzc2Js&;i8V5 zc3>~95Pg0f1W^ul0JN33L(T|1??cS7m0N)et*dYkm~|2;gZi{Ws~eUG+@KXoD~9Q& zg!)YRKk|Z1yr`qgMNhpt(~ig!%~-sRcY42^@kD;Iw0msSH}Hszb}p1ia8!3X6zl!K z+$9MHqqqb?IScMx%@8{3AHUT#+e6K{``gQs8<4`55|@a`UX^)aQ1I!y@$}HatJ={d zq67HQV5q>@Jj?%W>8ZDPJ{^a}dvfzvH+iVMtvfg7eer5aqakT@bwsi?BnfqDb`uNs zb+%3~IS2K<+??i6-tAsH3AMj--w>mL0K&B<gGHsRW+uvT^T6!y1itqzHcha4L3<nc z7)kJvY)7<pcUCrm->=sYMutYyDJ;R9EiNXG)3rpt^PCo$io(#8A2J!_M}2st-5r5D zcfe`bTAQehsapacvKR{-aBe>o%GP#J=tal7H@0QDrgES9MF<()pwCGY!7>nzo=-gh zl`O*G292DC+vqbGCvN8ix2+6Lcq4cGmdS=#e!pTWQN~FM$+h>xg%^_JIZoiO&PvTx z7j4nfMbpY~EkFDUp9#3DbxK*b6n$s#M1;w|EK4h{|ND+o()?V7_DA-IcPxH+sKcl8 z-t8U~7yJ%wb9Dg6>sv=7fkKLIyoO~D%knWfIMU<3@m!tDX({)EnJpu}B%H92841Cg z^16c5GRQ%Ka#gBtc1>VFkyGSRAW+)UEOIi8IOJe90VF?FD}PW<IWl+jGSyY-)~u;< zF**3xrN!fQ+~5lj)b}^f4y1-S0xc694GcZ;z0#JEIa|#whY^rkqO_%dcHy!}Viq`X zn0X@-G}(|Vc#xdgx-rG<{w4zNdfr2)SZ)CP8{~*!Lnsa~o`tcYm(%@I*BI3ExriBg zw|s3vOGHVlz!aELo%bCF8TZC<3)>o&?{LgFC(PiZb~pzPXE5j~5~Sf9gf|)B1I62S z6K)PNT1ex^MBafWw_B1qoZh=d-+#ZUqf?SVu(6CyH)7uObL-X{?3gK@?5}}qxw1!X z2RU;%y5(T2YiIB>I~Vg=wcp+wim3Z6en_igu@^sk`HxVRw9;t+O7^ijEd(oz)q7ZZ z+OUran2!{Nfj)<CmWfGbH+VL2DY$&^`1AX*pV#S1U?-P>vr?tf+R?-+G$399eK1wJ zw5hM=3C-=R0*troh6iT(VomfcPwIi0DOa4H8vKt^dK>wt@~YZuXHtE2Wj|9@NvIo% zJNG5p3;P;gzY%Z#ZR|T^Mxv`NpW#3p;pXA%;r+a9xvT?xsUS+9JnZUb`bTV=WX*lN zXJM!&h)VpGgF=GyUyLfwTD7lx=r$n~PgC3i#FA`S<w+-+<2a=q$y3%DQGd)ca=5_f zG8zZL)bAxig$?9Z120jZFKxfPq5GNn_{aY`X#?gp`CIJwOXp}8R;Z+Mrc`Sc_PngB z!PnNeF&+Oyrdu_bBYj#!9EWJC$VLq={+!631bP`zy@d0K%<yIG2i3W9`-8FFhan-a zo;tsx&kqEPyt%Url`49gl3SS4V8P+_O=+fD^4<|fauTtKd06>adqAy33kra9W(DFT zyfnNT(31ykYOYMWhs5?WZ!<C6KNR{PJqKtKQTZSfKp)N74*J5efsEss%AK0Z{ry~0 zKz1$<{|~DDBd;~yCWPzNq73|3#NTa6OXJ<wU$2E6xvy)oT98fezak7F;;&ueR$c7x z!*a6I90k4<TAHV|Pn$@|YM(T>6)WTUtyB2oUu;a1t=NW!K!IfolbV)C7)7W*j<6#t z-Hm&@YJQuh-tJ9sA4hr`(!e2A?@+e1(oJwlV^h%K*N8Vuh?Wexr28x)UjI?+u<8^3 zAx@#@NOghxEI+?l1<^AaT!zKVzLst;n`lAhE7UMW-yuh;>5+E)Inhm!v?Y>dY!(;_ z?#~0kU_O3@PbH)wGT%<aA)2)DXY~z}-ro^_MtBWndmfEy8PrBiO+yc&uef<sPM_+I zX`Ctl1ODx`UsjV?&!s((G(i$ZL*YF2vzD_#6ISAYz{+~ak!R$7uB`nJLX|%U1q63y z_pdPbX`pBIf_&;=u|X|F77z2x-A7sG9)Uv(@#6Wm))MuH)$-1&wx+(G6rE3_3g6bk zu($R6*GLWdcalE8)8NK7j#Pd66M<WS2sV-v+JWY3>pM~+;R^CH;uI;MbZ6LQ(oBHY zN77`CE&DbXh>FZ2g~49sglX--D#TkJZfNR-4QoNwBabP!=rzt>rn0d7EB)geTnQSs zUTBMfmSE*~p|aO;fgi;pT#9~S%@mn&%vvcZ_}z9^v(3DcvC73+mMgaEpPz9ta_BvT z8E<eCFaXYJP5wWGlCWL2!b1K$IDe5{c)G4OzD6DZKe5pq`T`}aKzDS6er>ds5Bu(8 zP0OA$;+8+?rZeR1-*^8rZ=`cLi%KdDX8-lI{Sz?*<NK_|`7A}c(6X%5IF1xddv*v( zU=|XH(Ry4?M-7_is&T={MI#g=i(grSNaOKH>tqOOq|D9*0f^1iCh~i##FZ@%Ym>xt zP*l-RKZcEr8?wRFY2RuhhLOEJ)ntwW`-dn>G*UC9b(UTzAx8mqni^)kA6|DK(XlI* zO1RfY=r#jLK-I2v7mY}**yYs=N7a3eJ4NAI@WXH#_o`hGF_UaZKhpHXRCeFZ5WZ*e zieNIRx{AsosaFoBX+3P&817R){eD)=do`lhpcose0xaf<6kslfV%Va;e`mAm`@-7h zz3k0dwyW+6T5BrXIJ4{hP07`^xWV|oc`09tq~QZ%auC6=5JD9-Ijk^#O0%CF&&GhM z(t3#t;r6f;WT5d35$mc6_555_bN_KQ*h%ClTHa70$HFXK6Bd9P2J(nwvfG>`$G(Pw z5S?oK2J)$pcYXJGxHA-Y5R0Z?>Z{Iznh<|mHeb#^tEeKN47*<Yl>e@l6|eDEuVosi zFDPgoF_vw<=EG9vRIDNAB17XS%!-^9)=?F_21n9+X>nW7pfFjwb*O?NejA|Q@NJ?^ z>JD{#aw7lLYR=1<3q6KFMbOS8G2<7iia8W<CEqNoK{3e^`Rrl^m2#OpE<tS&WUN-6 z`V6l{(Z}*zZotZ>0Y{%xIGMfr;M?87q)ABrlu8=vMfJ+Z_T^9gOVX1y88Ozqfz%z( zPd!%T>yX=05+F6Q#c^Q)^E(mN;`)8`<q7ay{sMfmRkL{pO|D?R;EzQLlq#k~i(eS* zyHW!Q7uqMbOI}*^k;A?Y-F>#|yeJQXN9oz-IAlyt?!|lNAonww5~;P!cE^4iXrkK< zCS^HOG)MX3J(*~%5iVC|BEO|{(=f+z`1{~gb+Lp@hmo*{5mA;R7aZQ8)Xa2D>Udcm zQQaWQX2&j)Boc$OveP*{8<H!p2_9)@hL9$*juPHqCSGx)Gav8e#zzaG>yIcA6ni#V z<Vo?qMz65!3G;0liin?e-IMClODvMyvr5~R(;Z8V(nB$M8(Renh65w`m?gWryCJDO zQj-<>);f>Epkx|@O9KcWw6yB3)K^W*$;!b81OEAf>E2({P2@@)+{>xOC@B-)fGh!U zOr*2VgBsqxYBz`njV-XNyHN9-=i^FppW(;-niT&N)h_-agQeoTCd*M`@LZ;gC(g&= zo;?zs*ozE}r_Mz|Z~Y(->)6}V2KYTqeOil3)IxdKU4!oki9lMjb_6z+dBgd{mC!-$ zOslrrlex*VtraOqy9P86!#koj0eC+G3x2U8Aq8QE*vu}zCjhDg_N`M?5+u`gg2<Ov zY<6-IGECmFrA$;vPzkbXBLJG8BhxeQA0HNBJyLej)ORK2aNlmuGiD|L`Ne)?Rt{M} z9VrR)53TSxlYCuHy&SS{E4K;esq=QkBMvBpNf#=sV~Qqzg^)~??vv9_kc8xT1vZi= zawVh}p|F(twWHVBCIoGW#p;^&rel7vVC5&v(#=-;ZY9eVs887{?@*CRBYp_TCwZCT zAE&U>4;K20Ol>w!evv_6F8S+Ec=fCn!{cEg9;@Y)qOGhp4(7ngY3r9hJ?u{aU==c) z^~>BL_#oMU@kBK@`+|B)Txm6d-)H>mDir79T0~eTCQ$w&v3o&sn7n{>Ci6V(U=}FK z*VwYI0Otdn(0mu6!+MP|OU1%Gjr)l^qMp-@9G=J=;d>o+cObRK5f-6U4x9NQ1uh;g zYrGUn>C^A!SeqC3pRk-Bj_6SH5f`%kRmbc-^U79QBVOiRt0&>X!Vf#^aqi3C9-COC zNsp(ms-KENbDW5XGJ5)|*je^BQWx-KE_3QJMjyVf-0egjPY>S<*7BQJu@y<8B$Fgd zpoP*SWt*mX#3AVYZ2!N{_Rn1|j868?h0t<eJViJgOcciZV%*1d6qk!xPO!$8(QB8_ zZy2<uxz7fV6cTLyH+WWE;v#qSZeVrR2!Q(X`4Ye9i@%bJy>K1%_f_m#GnN~$)T8=0 zr*WZx3O0wDFgy&>1oZsL={PhX!vyjp{rpmmemc-^{@SN|doMviqkrXKJ$Y1_OJzG( z0gmi<R_4qmBicc#c!+t=(gp}#%jK+Kq~~Y=G>0`E4z1{=M2nsjFuv|*Cf5`r_OJKY zbVZQu>`_rAJ1_AEON|*%pIWBO{O{?E{Kxlxwt>5D|NR23lZ$?w{agjr86ObNi;_f^ zBp%%(n*;5xgQ%4>^q}WGQW83a>N!ze0Z1P<G{#E*_lvw{EMLL?U2U~tbfQY1tLA(c zC>sOe3=`9Z1d%L=hM|@f76ho;GLsyL$fm9af7&QgpVWCw0#<Io7H!%)XLg$SK6ZL_ z|MyE(Yo3IH-Q(9+@I|=Ul8F3&zdY;mpVHQ#fgC<BPT$<-l&&CI_8Q$QZDCr`q%AS< z4>bzz5pxm$T+aXZi(=p2)J^Gb!_MhV$Nl?No71aDFyhZ>uf;+@K%#uvDR&Kqc@ESI z*DYLHc+jOQ%pLmWe%qypS<#ZG@-Xn9riPaK{GgPlp_&Qi^4TGd8MC$?r62X5zPQiz z<DFIw%L_}4k9gw5Az%`~%=%e_tgW5wYy-wizgFn~z_r+E=v%Jx46gE33`9EITSFP+ zpp61?7`dTeA-NNqH0(pBg(Q5BC_}@?p%@dZgDtCwLU)ru1$QkWXp_{dNV&7z)JXm& z4rU;$+j?qIWMb)^QkO!(jXd_Vm-YXeyo+d&Y_svcSoo}>Pv=No3m4haHN{$BT@r?r z)mE$oZd=fvlg0?~tv&icj^3V`%FVKcrw|Le$GL7B5fe)&b_*<d?M8K$V8xcze%67z zkN36GX%j&kLw95*NH<xOdLRm_6{LYc3m@Hs%RA#8z^hTxa*NKN`HdvDwY<P`_wc9& zjaFze<5HvNY&UWJ(}h8VTPP9f@R;037}BYW%Cv0C&`t-)YUY2J?TJ}Coi|_zp-dpW zsQUZ-@A@oyoxI?wy^}qT`)?x6dmX=71>}>Vnkitf#EKlr`7kY%gvbn<r8tq#p1WL8 zBzDvf-6rXg`}On%5y0mfllUP}Fnu+T5^mkrdDDU||A}I+G3RBGZpzsjmtziD&T<R1 z*e}wj7~gq6QiJE>;TI0IEjwdK@%C(H;?MW8?mF6x-Md|n`X&h@C64laeQU)rg5zD+ zTCoLHs4q7264cR|7b&0ePwj<!*Q}p~NC_nc?X%yTdZ<~6ZZ^Jed|!gslpV??(r~08 zqY22EZNOQq>6M|6Gul9mkFhs%zv8@Nhlqa{KD*)ak888$rvY@V43pt#*}E*;jTK`{ zgM?gt>UP>>NJ9z%C*i8;Qn$ht6FU@69BlU3m=B%{8OANObSQ%sb+>!ma=L0IYj&Cb z^F_mWnklOy|4{hobL7ZE<SQFi<sPm!JM^}Oq=%{Uh^!fwkD2*>2E;j+wlS^7-h<kj z-Nn81c4m{_w=d&vuisq_(WQ%Bw!izwyG?(^I0n8PXQswjUtr)YK?I)bR&1d9!e?rv zu~%d$1q!tVcrk-98N!nLzNx#xUhFI<j6rV!)4k}tw_dGqD&3YXVETWp*=7YF{&qE= z!X5|s#IO8HXL#&9Wtn?%HlKLiN=RRG6=24s?kk|>#484aW$A^QB;$O+AvVqyddwY< zL8#7$E7-n3FK$<RIPm3r#gATVHtHe?0Uw)^h_Suq-AhqLb}2-p1u3@IvO__c*=&{A ze!kf=3-6if8kAkHnW;NB$?X+Zdyk#nl)ga{^cRST^$r!9K%(yHct4_lEY~ud=M&45 z1pof#qpIP7M3mc2y{ech<sRg#ury}9MsVX?Ypi=LuzY2dZ_qSrFU?bORoBOxeXxET z3eQ^8k+;>Mq+vidhLY&8RjS7)pGL6<h<k1G5>U-BbF${JWxTs(8W-Sm_#Tc_OwbkH zXFozGZ@Uyl=~}xM47WFBEx7$-Ql?uNb-i$Sj_u($2OH0NNaL{pf!gZuP+Gx<`_F#m zL8h3c(0$kmupr$Hjqa+LhOd}gW(Qk|e>3{hURJE9hUgqa2{Aa|!Qu`!rh8pv*&TSv z&hFA$6Tx-Jybw?ZyGRN~4u2on&f0Ae<OVI<qkfw#dBSGiuEnvqb!<WTNb>cNv)xq# ztG)jdd#3Tq<WVqqXS*-GZ=P--Fd+2RHyAK*?b9=b)r0A4J*%3?$eexkG&_)WCdCqQ zjDa)1QBqvIGy;)_Snrja%W&TqjWixv09k*w=$`iPT~UGL={h8k-@quhm;U>ODkRuZ z?y%zmd%oG7p;~+&r~|;KU=>QsUT+oMao~5@49!KHsf8dBoxVp}k}7sap@hvwmDJ>5 zTd$wZ|0Gq985a8oY78sGq-L4e38T^VA@P6BN**&#*Z(rFAO|uHbB~Y#nUk*g>n>35 zVf{NZ1Q)kKg5q?f`bVZqNUmR{&wTmw^E%udo1BCVLl}USl^%T;JYUO~AY2+OGsK=r zV9_-7c9^wVKT4lWD*>q-ZwYbSik~W!X>OckU=*?)-o4T^S$fZ5yU_FKaP!#0Bp?L& zbWq-W5zPLkNjI=f`O4HmmuSVq1^!eMd!#!|XF}^NJr7%+WV7>!rkcIS80orv|CaUs z>cb$~(XsBdb%ek=1J4k3{^r=8-wPw(?rs1uTpYN}Dag(ij3)r+(KM{*Nt9t)2W)#v z>&gqgq9y;beUo+N8nKm&J`|)ku*&zHk!(rT;$RN=Q`fxMr!Ur+Q+2Hx>Cy=u?a{C~ zPT(_Q=QDt+LVWPW5?MseZ|z%UlbJD!CF$uhBSkma^B|l6!=f9&&At^`Ta-45MFosV z$*S1Y1nPz6RWx3)oeV6iGIsARe)h1x)#iQEY-;_}&(Q~)vxWr~);7$`unqDuzsDls zQg~!-Wc7uY6ym@b)z=}zFCFTeSmMBDRV<Xj+`UhnHON@3$3x_$co`(Mg{K2e&<)A# zR1aCrE3bY{L4_zpSTuVaxpSwoc5wgmSq_OI@mFsT)`Fb7B5JPM?L=zzCm9l(iINxt z^|!@?SJEe{`%ji8=T3aDxI=q=Sx@W_o&vps_g)IiO$8Myfwc#Y(%qg=C#JTH8xy!a zrrf{#zW6hqn;|OS>uW!9Gx6Z8*(HNEPDt;Es;*-|0OcGvDQQ^GAtX5JgD%ucL-tUu z<z<ZOzMZb#QraTwQMSJomtWIu_*vB+y~|=))q$h{*6)x4^(^n(Pv!fhZ5mn!+h_SR zty+h6^6k65cZ{0GOE1eBE<<F$l|7ttNNQbs?bfLI+&z7bSpB(A9@97Wn{6t0TWyx5 z4c7SWi$kRBUXg7ofj=j}CV*BW$KRu0c3BVo1e=BVABU}m8I;ZYWNX(sJkTUdlM{z( zqt(B@8N_@uq3SC4x%|L#DB)RvUd*1NsYfCOMgaaD>^Dekpn#p6t47WC)?=$K?4+lH zMrYmh_k5bl3=d+u6)VxNBTWNYKA$#L9iO#d<VR|F1?&;}T5UF({QIt@49nBt<BY=$ ze&S!y;<G06PAd7XXEVsmbTK<H&SQM7D#!7*40u3_(%^4;<a2jL<R_k^Hq0#@Er%D% z8Sf+ZoObyBH3ERA^B{_K#rW)&Wt_wS$yRYnC!jI2rboyTa-q&BC)$mn_m|_<!d}yk zOeH$iev(q&U>ziK&m_1k#?@q1ZfX`&RQ#wtArG%p_Xl>(IKq|}ySAuReS=}~tTbJZ zvNS1IZDVK)vHWI9NyQIu@3YhsO_+E`MfcNHevH$OCk#iBS3A(Gx!Kz+*rYKmjV4&7 zo)ilhwr#9_j_l^Fn{8%!!#hIZt!lMYI`!sjhNjCsb1}>&C-saSQ3jeLN2^XU`;L*r zD_`tRybzrkYfoLh6^-w0Fnc7Zg492oU-|y1$nqXk_<F8C47kmcUj5%M;}?%oKCWX| zha+yE^DC$k>^Usb^*p4QuYr)NB1#Jk8W?9KvCPBedr;7e>y)ST&0Izz04jY9Wu;zM zt~%U{_1q|rF(Tj4P5%AJ`Pw)~WED!nzNs;*@M)8VRAMyX!tNxj8ntPEZQr0N5m-<F z6Bu=N^ze=Gy;&$Y?CT*bcbve-s!ZrM9J?%+K)WH58Vu_zHF0BzE+>RtDqe!0s<L_F z<H^M-08wE6(&7H^b2u#t!@EXsqT)^0{bg3T&T(RGONVKmdHbz3YeD$FLRJm{qGwGq zG%MlHdUdoHUxL6zVcg8K{iC~<V`eRm+V+l<U+fEI;N4;>zc@5DRe`+-kHtanJ$J5I zVUZKuvM<Htg)v?{pG%n!W7_9Fu54S09<gZCetVX$x)OT}_V*ZzcZX_ESS3YnzZz7| zv44owmMLL@+wspJlqZf(P=7kx6RAuYYS5`ycbToxRwUn#V#X*Ny6JvDPLIK@!T!dL zuiO#0e(IxZ4bNUbX)~JiaKd`$S`hTH4^xS8J>xy_Qc|1v!zpfx?1&T{A=2o(qx9*C z(E7jZH#SLxnGgFt9G=-8jq1m&e>|-Tif^0XpN8IG-UX!cZy}EygO#y+4F@p~_C>Zg z1`bk&fW=8R9bjw(Xq<9MG?wXQ=#s%LJ?uZ<ApSiMKhEI@j3t}vG<?U)D())WxUAr< zmMT4vYwC`?`M{sEa{R2VIYOxD$<5mgiERMGYrM!R&$1*o9c<F_gohu7vn_<WYv~z$ z>h#o09gzS2`ewIjBRXYskY+1Zg7$)Uwv4;9Vn=MXC|{@YucFkVvVQ)V-#ue5&^)W{ z(%6ugbM@zFo5J#ZDZDmML*)7XDf9*faxW~6n_V@fw6eRwZzk%dJr4;0!8x*8It#SO zwCLKzgneC<U2DMzs{j6I=~@4sUd=(y)$O{<fR8F}=4~X?yIX6T7{fAiBEo`_ioM@* zpg9;Pb|Y7mp_ioBu$KCEh{4p_FSE05gy&>>g;t}zx@Oh$DqgcuC$o`T$Un!rbTlY} z$0n@D>WxJnMOxd-#X$<kJ$&T`xogd!7M~cLV?C-ftC6F%-)Zl2rTNk8EJ|$OvV_S& zCH4d`Xuq=wCWw7l!PO_%%Vi4|nf9RP8{4f|du|HW-%c(`A#88bg8VggqSVQfEfYcz z|5aQ;$xT4Yf4}hApQQGMBZ$t`muc?z>_+8y@(oFqi>B-Iqt^mE2*N4mciMFq-ZrOf za>&Q$94O}c@@202?tWpp!p_5ToUj6^^#Gh5h5%w$_KTOZe~@pUj>Hu5cMJ)E0udxB zet1FZ8c8ZBCZ_`!#e#NF8^k(ypR%HPfW4N}3b4Y+yAOrGOXB=~02~)JWJ)B|N;t`8 zUn`i7C(QtA1dJZ7gy#PO+4oIrlc^A4L6-t2)Qm5YS}&;0P0bk*&E{+dhu3tY-fF;R zR3tt%y>`jalRLZ&{nz2?-McH1_MnW%y?h~F4%c^t#bjwv^vjVH{CgrR90YCTwo2pt zc5Y3I{;t|OeR9~#%)a{ypo6h4?8zs-O3N4O9)>yZv^s7S3L3(baxOp98s6znn)ONC z1e!hom<R2scjzK(_VGwBjiy*gd)?R?hTofor_}&^C*E)O+Wy=V-p0#Wqo}Lg-%;eb zSU$7&G3F>+P;I)Wjf8uIk%`eAE}*$3PKb~g^sQAPO^PSRSJ#zr-qg+{YT&b+_gbPN z^AkCYH-S=!25%&e<X9=w2gd^eld^r&7O<~`n=Ff?$0Ly`QjVn;sQiPur+XuLz>dEI zBS<}34f~48qVLAUCU64AHi~bjOseyoz1_3&UhXRJGi1>On~R-|9Gl{MOO-Iv4(VLb z1>igL>8zW%>Du1aT6P>YF`1wQW#MHOzst0^w=Z%H)eoY#$&w%TgFIlQB1dJQe_jSC z^N20ds21&MjSHPZseF_axWSw>YSL1R_&u2Lv0Jv^L~b}J)G}$Ig8%)(u{JIz@!qS1 z=-J5MnV=TK;t?*>m|kAo(<=0?_V8`i6t7r=jc7wtfpJ#YG7tMvfpKP+4tR)=x2iG} zPz4NcUNk~>@T*l$7m%d19k-m;ZynI^fw(OxnaZqi8R>%<yn~T~?A6CnRn%7R$7uLp zWQPYSVNjp?BH_V0R=gxJp@fg2!b-devY%~G3i@O3hcci@xcav;3J4>CC`2j#z7^8R zq7xE4ny4$iA3|Av1f7Z~=6@D+sk;IxFy`^=sqie~X(=8VU+$!@VXtRIpp=?kbGv+a z>Usqnty2)~VeCyD>NNeDP`O2Ve$Wbcle4pWGAk`d<6LGL?}lom!O_Ulxb|~!@upj% zj`6ZCkKC|kY&^O?S-HhPr-Q2=btn}7uTkQv5trt8<w>AW3Q0~}Rqm0Sp~rL2;R6L^ zj*G;#t9SMLJYDUfJHBsEGNJSf8%6}Lw_KZdwVgrDJjU31XQ(S0TA+{}=<CsGYJ2XQ zFb8dKRdF!VMm;--9$4Px-lvI(#AQT0QR;cF(t78*Ah)n;x8oL+j8$X@jjbJT>KN5g zHEF7aJhuiX=uJ!ZDt=afwV7tQzEQX}+6;}f>YGsJoj2lkRa6`ae5PPy7^f0BViN)& zK!V>{D$Q7u9SM0%ndQ<xa1#zCcv8jm3Z<sxs(?{m&**JN#4QpL+xl)&LBf}P=uuaZ z=A79${=U6v6Cw+7uuFJd<JfGQ+?J`<CvrRmFP!-3r%Xx1irh@E$l0V9iPGZ*4rB~* zE8uaG?QEc7nU#+7@L+Dsu;M9kKeOj!Vr+BmDoQ(p8F~}Ukv3BAS)JH)R25X*y~OP8 z_kkwf{jBKDoRn>)Dg$LKG6004hny>mClL-=w#&~I8cM<s7rjFHqf2}PU&<@~_?mH` z70>v{<l&FewLW!mCP-e-<HUy_eDnaC=eQYK#3|rmP$lyeAHDW9OQ!d#y)qRE{B#vP zqLO0Ped+zFzfIgZevst!4&&}5mDIH&A*ZteQXv5LaxBL&T833CAG40B4lgc#zkK_n zP~&k!(>_~#e8T&x4Q>$OJN`zdL?1S@Vw3xy4vKiwk&jf{-%{WmN+ihyH<q;KaZe@j z6p~^yDaRGwG0m>$%tYsNx=1Br!YYh6f6O~?i(~9PUst!}Y*hNlAENeU96k4-vdLJx z#F9*+1y{;Ioldl~A<$owmDzPEt-W|xs1uAb{@1Wj)5Yh085uzaWv6|cNV|-+K51w? zwA(_OVk$4_*C&9o+@bMH>7wAOpgYDk9IHCG4~{G^UV#t3AN)Buw_Jy=VwGw9rk}G3 zDz++g(~Ax)NK_MJIgXspPIKA~eo>f-rR|4+bYQl?_?vmo`)^S4tT!C<m)=>URL%+o zb#L(IJ+G9?9V;a{Zh_E|f7Zf|m_Dt8V9Y4*#FYjbxpu`Q4fPg@*N*=j2J$oX?rsI3 zGoeLmn}*3>CxQY?zD+frNsPZd{4-a5@Y9^W!Q|JEqHwra+`k}ee%O&}HGyT)`POiE z7Cg7U#*|~#hUVX-3Zt%bE>(ZMI+Ps@go+W;Mgs+(&?f#hM_&m4RxKv<WUHlj%aJR5 z2Kek%k%)Y^lcRJWosdL&JXpx5<phALS#+5S-&s&Jn`|iN*qAMU9l(ERUku+z`43da zg(_PY>aRVe78-t+43wx$#(GUQg(=9z6WYjj!S2g4Pi`jTxAFQpml&Du`$wEoFj<lX z>QgyJbC88<h!f0*$QM6)J(Pm*?cEz*1et$)7wq5CaZ|Yu-t8RdiALg@eUB!QMN< z)@?3w2B;gqRjnuGNCArIoSTqh<-mQ=Ohd(vT$@ALW8ddH{w{b=P)D)%3&qEoBZcz6 zS7nK>>8aQ>gQ2K;H@0!mo4eu7gJ_(%@`JcPa%wpzT()-yh6D~J3%nuRle@J&i9P;O z@48-mp6}G?eeoG(FUDiUp3uc)kCCRC-fIeA^!4MBQanVJU|zN}z?t)MNc~Exv9sxF zEYp1Ns^(7Ryg-4Fi+FPwiu?5+VT3$lNbsq%wGebQLqn6zuG0p;T@dVtDF7di)!eig zwrDFWSdgVb&VqEk_%P0*X@#r^9#FTFi#fzg;4hNqh1C(2$omB2IbS(g102sbX=nEG zS=hw-|CZcKFYk=1xQSjG4?6L!R=hqRrfYi(do5#8=EWC(F{K8RFCG89O7p`iD#qVT z3SNa4Y8`+lB2#e3X3=z5`p<KD(j%U%lI}L!)Dh=@mIC_UOi>b;(Oi5Y`ix34FgFkB zhGpAN4gi8Z&57F&#|w^Kq<(6|>bdG=>Pkj*s`kuECLG)<4+Fk`A43g`hP)PhHzz>) zBj>H<Z{Fp6|28=+{zE<pD^6<D&NV!!+|MmY{4T0d6)iDpk;RjcUNIQ1J%9N=t|P%- zc0US!dzB0Abv=<FbN+Hyhy@1qn0S@(;99M9(p;X5VLM3p97c96E1tS~aG9i|RX)>G zdGe(fIXMOo1KPTK%LlcqcNKW`9Ld=7gu1O}-79y6U-LN_Qi#$1*k=3DB{@e0C&6MJ zf^!EYPm(mm|NAA`U2~iyY};2p5th}K@Ak9i`sJ@DQn%xJCRT9A%;h4h?5lo9zcI8< zN4-hSf+d*YVluaAKiQh1Kq!$cZSOZYi8|Ln>p`g#ddoa}i<x&fgufuB*T)rsk07>= z8o1034;^w|$h)Qki7eM^I|go|(GOHtgaN&vT1x&j;b&%e&^xLNG&L3+KrpfJKK8bQ zY-o#2phSKI?Rh;+xV>5==ywTTwvyKgagHPAJM+iJw4u}78gT%VvQtO%1N)z)D=zaM zXPtllBzAQEwb?j@Ovq~WNtY~KwhLc&YfL7#sv1OarD3P&s%0dfkuATqd6Z(V*F$Rm z03A0WzAi8uc@XS#I*#}Xy_gOS^~Hxwt?!`Q4DYvUMv7q|em&iV{6T)yDgHtboQW_c zvM@b8_l^P}Dmk_g#rZ_pY`taQ3!Ob5Qt(^P<15)c?mRD%*&y=Hldje@kU@|2jBS@% zV|bZ*F886qIq~(B?R#s&YreN(e}M%+KV;#FjcMNoj8;-f1F{p@eyOe5?YjaMR4&&u zeCqw)&#c^HpI4%r49+Dq;b-Z-B<9u|2G;_7id*KYgaV}?79Idds1flbX2taHNE5EM zR*}BqyNeq|FR;^&yK3h);?G0%vRZMkP1n@^*LNgq4c1`0mw7Au%?0GgDoX}Ony6a# zl{m5<S<yhxe&4BrXgmrRUUVpM`8){geZK!D^yBJv0cMeW@&f2K@}+f0*h)iUcHKs= zkNw)b(RFMlV?h9#qDfhN`f|5nD77s6!vQ0mt!g>|*h1?|_+&T}KlAm5>hED$WU%GY z0}PMN08JTV9cZW4kb<cy%0Sf3G>jDQ$Z<N=vU7pWQ=nit0XCwT5AMed5YU6WCQkI@ z>_+BVpH{<e8l#t(O`H1Xi|O-&M_-wx|AK(Jcif9k^Zj2*=r^@2x|0tFOB{w?le>oN zarN>9hX=_Y{Va<FvS+&(e%~ol(loO*B4A)g6UfcHbM;An&HnOh@lve~Rz$9p%<PnL zkeE~k5+GQ79#^(GJ5X&5F5BT9m@}NtIqB^0(AvAk-$7w0-nU*j`J?K=j2FM<v^iLz zXpA#V2aM-#&Yv@plWNE?0sa)w(wIrSb?o-x1UH_c)Z+7-7LG}hF}N;su0=~DO%?0p zr`tTX#8rN(IHhBS6?7&}UC7S{8&yF?FZMJ&AEZS!X*9fDfsfZ8W31Izz}*-1<YDRl ze1#u#<7-~Uvn#!!So4KQnOKHmrsDd<%iHuw?WJ^IqhiZ<5pS3jkH=HN5h1ShDsN&w zqPZzSn(N}&Fyr|@nHjk}`-U#bBtfzq4O%4it2E%}UhR+)^R9hv>Sg>Og{<J~-x}mW zfWj5S+8@~4i)j#yZ*IHv0y(;zH(QpKf@Pik>j+4Q0&`rGfspaS?t_%4hMw63d3fHm z5%b!?i+sF}K40q3cv-D*H5OL2IqnX!yWH$~pv|US?d|)$2KY34DE_--p*>&jM~=7Y z&%_RN#+63`@|?)7jTR&uhB6mGM^cm-n4^Hud4nG3^JltG8>-&s>sbtKxiAZ<car{f ztOXEQ<#pr%BV1bZB<iqv)r<Bop4BzC7T&+t2o*AAM>8*ev%U8=`CGk?)TerObnU+U ztz%H>!T)mj;fGjQzL3lxJSAiG+NdxDNld=gkWiNTjEDE@NyWs`xFu7PW_lmCI!RuZ zp=qpHr!-7(NxV39(J~xF+G*?2eX1&G__TScgtdwm34o^x^pypIss#y1TWT5ip?iL# zO?612*-cv}I97TM8ZMO?SzaeSwjR?w@j4&mgSJ|J9M`pBuY2${%xQi9`q!Gw@BO^6 zol(6(lH4P(Q$+-*0gp`k_Fg}TSSAHA(bO!@KZ=|m^0M>Vb=?2yv5Yt5z>)g~aU1~^ z8)k60froK^0CkmXFx%LsDP&qzgvPYjo4Q0*4Ks{eY8JK00-8S`!E6ZB%iTh6*<rS- zPyOnnD#5jh?%K{_SKCJPA<aa&UMD=OuJ$ZLsEi;(qF&oDvB2T%3QR`sr<Y+<2JE~Y zbZHhP|1TztLIhO~Ob~f#4I3sztyvZmK<HOv>p9afT=0Ltq_rup{OS=?<<*q0FWYzH z_3|#;iG@{rqNN`n=l|6Dcr*|_K{W89rCVJFW0CQFkshXTd1Zt9)DJ7j@wCVRSXOS* z@mgKX-q7tpV=OEy3o-ycup|i#Y-ZLDYHr308)#DPsWz5=6_u7y^GO@p25l2|T&&V+ zQc?UG6tfL~D@Qz6T`{<<wIvUI+g9ulL|Z+38tk-RGZ%EK;4NBrZlQBWG56O)ewDQG zw;2X8yZpG2t>t&0t)Gh`%lWMcfCg!chO$}TB2LD-NZ5eITKim<2i3Q~?!RA3Gel&1 zo&9Bd<<4&=_F0gv1QH3xvV}5?byGIetvA6Siz6<N?l>12i;~-5=70EFKuu-j^*yP0 zLbI_cf28&Mso+z^=bgp+dx?oY4_ljChTB&LwCdicxD#We=8siTPq-(*7vHWWr6Kn3 zs1mP{%`i4IurxcCfOKt}=<oK-58Pu0ETIei6IW1YRR8yx%pL~h9pmf&8zm{bNR}_Q z_xZcAekcEXBxr}22n72ZZ}`v3$IVkD#LxD!>~(@H@LM$7W%~9m#dq4|gtGF8y{DYJ z&6d=rxKt7_JJ4vW9bqi~s{8D_>jODIhj}CUc5?q(p1o0;%IO>EA3a7&#Ei2d0D9ED zY!lKh-jY4pKSPiFgm@3<X`PmHFc|J#yfN_Nq%HPN-zio=jvRj!<hR$gYDP|cMZ9I$ zu+^_vv8w^KpPj~pXTc?NPCXU%vX3nH9TIZ~V;OdfwX(Lj`AuPt_t>#(=EmOtN6~rs zv$?;0yytYHty;A?Z7E{a2(f>qf~Xi7h*i``>{V3CX=~JOL#Ta>h={#+PbH#u?HWa* zsMRL4N{#d6`45s;?r-kzbzPt9{T8#$O)1{p{gRI=GyQPv<q5uMD42Y(C@8WvO)^YX z&}B<uL+Ag&&#&W+hcgM9O8y?AE+x>7qwM~o`wur%`^Q9G5;xghep0Pha&>I~JS3A4 zM}bkNiW7sowfVoY)5dzcgT+EoLsZ=;`e(1+T;J9X+S{-TstXQ%LFL}>d<&=Q{w6n? z4k|3@+x@|x4t)3^@ww3sY&1|f6;PQ()}sAb^hmHxLF5H(Og<BA#D0eDo+L6Zj}xis zoJ32(Jd<k<37%U~4;L=xO+^Te`sAi6&|)iS&6gc=CW+cLq4{hIHffKV^!qf-Pg;G! zPm(6cN2spuHAJW%InDY|o@<%j_Q>G9-SA;>Fs0ZbcfQ)gMlem1&qiep1K`XX{~R@u zVQcBo+0AqEIgawo=pHGhmQ4rZuS8Ts5eQZw@g{+@J|z9Sm#CH@%qHb=O&;#!zJV}S z)=5O%oO&kN!ODtbn5rKEwffc?7SWB)ka+XtNdMCKD_<5T@U+LNqt==0JyD`BDYUBX z%7~<}MX@6yM74ZPdSpn(0=%n3b~f8?AucdCB!^TAxur))f#1*>(`@y_N4uvDr748? z*dsYaobXg7T@-wPQAMeb#KcPc#j>OZTu09rCHr~SHQV|7?pB{@i_8cwi9WdZa8FW| zUQ5L3Dt2A@D@{uuk*xq5qD)h#Lo1Q72z{UaYhWea@y6&A+&V0(?Y%5v;#a^+sw4T< z%HoFbiw{1Nee4KQ*4^fZbF{8aLxSxtx=#regNXGKl$*}h$&{o-8IW`@MwT8vrT>VE zIY&%!9v%7q({=_MQ+((c@Z1v@Qta&bwU%UTfS0=9V87TOC?QO^uE-=EfQoi?Jtg8E zYPeq&&|>R};I1zZez*}mSCg#Ao8{-jkgu^V4n^z)J$UIJvr}Wp$7A|LhFHY9BzXI5 zc9;c9Q+od;BHvR-nf!{F*!MVt=349=e~0I9GBgI>yLv?5+0X&V6@{FQNN^o`F<$g2 zF=bAq>NjomU0HggwX5>AH^#~_Xs&O^h;IbfYCFdz2k@PEj<fmr#}CY{)m60n54}We zMpUuRnp~+70e-rMebUhM`nagcgzs|iQ4rn~_oo<Ea(7is-4dr)zG7dO@EcF8_P#*& z6#cgy#18B4bz1xO(R$^e^0i!dub*!b)$ys|&oO=@D7oNvBjX=lNiklQar4RE9sNmI zqY#OzSsp^Zc1j^nW>vQ6A`~cp$~y?Un`QFSqeG#A>DK(m%<Aw_3b*+Bq217Blk*7` z`H@5=)OMaj@RERfAWGhZ{`7}eQQtc-H+Mv<+Iz3|{CfV7hvn5~D?w)zrHEW$ekC*p zQS0&tvi8^*RZoSe6e()4PmT4<f&lbtWAq1+@c8EPX<ZJ*pS||2^R+??UqybS2Dil~ zx4708(X+P|H5iX>+xbf6c&7G@T%f;k+1xseQy5Yr{XJX<LR$)7jAv`9sUK5HnzAIS z%89#oVA=4pYVqCn6FlzpLh#acRty(I@KQu-`hdzDRFfyi<51}?eX%HUExy*7Q0RlV zF7Ry-!nB!9Wd{BX62jn$Wx)jYJoowT-idYNVN8jgPsj4#VFn`GPZf&}Jkv`zhv<pT zqN}%_U+9!-sBf6OIBdb!-Ca=md0yUhQc5;M;P9!gqLDhy%oX!-aC5rivl%q301z15 zP+n=)gDk5SHtU=pXmvlmG}87?ovy?iGAy0T@>jkH26TP3>Q$iJtGz7Zyd?BcN_HGZ z-9(jn_v4Z>zpSz+B&A2ftYwBrLjQ8I;%dOnLuo~Sg<V_Y39Lco;{7nCH}2(2Bf%|! zy+xf}DwcukMgoljR1A;xom7M3V13D<wg4Fl{f;?zYUTRYRL%6_hO}U0h>v<Z{GYPg z$|rM0`|o~Ku{x8mNS3JXNMPGye?mi5<(!15JRVXwd*v&F+Ar{PFbSYehIUoL4p)xQ zG*!%ilKqLv^;B}dUhQ*2OXq8on*~9qgfedZuRGqQ4v&#t&5PUZ4`#lut;+I*bab3G z3nMlnWTPG|K3cPhg}HdhX?#}SsV1!Y6nzlFrt{=KiY`0M-Uc8<s^f^yhrNItW^7Q> z(hwigqC)l~N#6_Tb$934z>2{q6Z%H_<H_j1PGD`*329;SIu>RpIyXrkXrJQw4)Vf+ zUJto+se5<}*E=a)X)IzXoARjYpEE()nF1rw?)RZsk#aAB0D-1Hv_LgdEv8a@SD{L* zIQh@}_oKc|M3u#Sl=;|y5W^g`q;FjJI+JCDq#(W0DORJhfqUf*T{oTU)u%B+*ui{$ z7HH8ik~B??LQldyxIH+1<_5-g4X&O@O#aBrs$+gn#u|y&e)>{>Wr>d&l&H>V8IhY} zSG5oq!&=d%yGwt5_}^asU5ztf3Imv)>9eZ(X{u@~1QFCF*z`06ki47>nZ^88LdH}_ zI-6VG9txcE7v%$|-AqAG5;@?MLDd6@3K5b)jEC?L1tjcR39V11t81}J)4*pkU?<J~ z*(|}QzRa!JCk+wil*ae|+k6gOa`Q75+NN=R#g@v0JqoGK7ea0zl+PEe+=Ed=Jg{3` zdTjD6!VGkOV9@**8UMNIxV)z78yFzeh43c1ZQ6Xvb38zZKgITpTCGEQ%a@9}l5N(^ z>}eJ?=lgoN4s-XV`xDNzxAbpL*QhU4$h2j=7co9;F~e`XlF3#o88sqwv>f7otG{is z9Upzwd~jsK8#rBRB>MUoqfQWn<Wi$#$8Z4NkS_)8i*85ovdl~u+mMxr<ao7VtO}R% zm`64|H&d1&OAq|Had`~zrdikUO94<(+FLtGo7N;%6ZF)j_d8z%#e(TEOEnO5hzLL& zKD)Skf|`x{S>RyO#4?T>$((;YD<MDeGvZso`W`MSXVx<Jw}X~c?j;A0Tq%#^D_&au zoINrEe-mC&t@@?SR#>>$o@y<JH}t<sGF`<Pt6qZ9Xfw5a$A$QMP?eH{ktPk1iY@mM z1k5RHtppy<55_%I%hJyv*=`HDcxkoM$;iM0XZt~bRa}<=W4Sl$kW#X#&pR7^d%;@; zeOplxXu!Q0uBhMW)?hAPhH5UGv0k`a{LV_%@wE6&{MxdIznR(@duem`x)|OO%5`4M zkg8>y)EA7j!%T~B3=GdI%2G-@ED;(t*$fH!h;S3?w59w=W7XuH(#xFe)OLeg-S|ia z41>Q4jP`~X3(CQhYdQLs(3;SU46paLE==>cT}JBPHEB7D43Ux1LL~xoXRlvjzqinr z=eC8n=(E%=w-w`{NI$-R5?jVJGn{G4X&Boe7g+52s+K(bB@y#6RclmYz~^T1m9}=Q zij(NO)kBw(fU6`#(CWkQ*JLfgF?K`DPYFop8HD@&sSV<oH8@Oa0~-9|DX22T%2|$e zY<c+pSZUjt=a7qVSfk8lx^i_nCW;r}&$5YgJ}n}nIiViU?kXCY6#CHls)uXOvQ^NE zci)KLYbYzg>QO^ggun5YYo`)XsoqtH)2YuofQ+oBjmtu9&9Y{DWE#Z!;n9ER_;v3v z^m*u2jq>ziiXc_Yz*Z8R#(jIZ?l5As03$#^^1IrezlbVoj>!G_xVy3WG7@+T5IrL^ zw{-C|A9nD9d96R;#FaVGPtmw{=uWj>{=Bf2EfTtqX?fDZa~O_<Nojk{osAeAyj*l> z!+maIi&U;W2>FoIn0Dv=<A~gzepNzZp?1qn$4?lQ&@-|Y1eBsMr7VJn1!ZF9K%*)t zP03!1%<TAxB@Oy;PdfWtDAZnjJ*Lx(AikZcHSA(FRk~JqXpLSE3I(`&Ys*Ut#-#vk z3VExwtP4O>`7Shrt3BuJ4=pJ!LOUnc<jwih^yd=2=rEz$OU<Wwng^ki_9$<Ozpe%8 zb<7XfLF-L|{zCib3M5DTp(hP4j}nt?L_{~+bg?6@?f1u1w5nUxh#b(}mWhBRTo>#> z72>E&hl9w+?)pO^zU1@Ii*q{Oiqx+SlB=Y##$p<hlJ;7(YLHbdn~O5DcF@eu!#%~{ z`Hnr$5`-LvGq<jJnX@!r3MT!ufS!G)qDHHUcBlV1I6J<VDz>$4YfBp^M)F$(o`(#2 zym5b(gEQ4#oRy+IYB=g=t2IS{dd*%=ea3_8@Qv?m4C&eKkVB2F?1EEdaE&fAOC9ga zp0QRPWhwKS-y4=+*_`NGslx}Uzl$+*+d|rTAq&FIw{PO@i8hX}H`X%Q>_FDRo5%|3 zzJ!-eema)%7xwRTDPo)-!HxBD@2jb*y{O^aVE{S09mKf%)gTjW+!LJek^;_mFWWK( zPX=`yDk?|nykD9~EvS0tc|I|?Ylu&zslkz`TwYREY?G=D2@^PC$2M*r5!hRa6_j6& z*~f~?M$Lygbm`|e`yXal_sk`CM#-B#;QXJ<z5Cj+W}J1tLiCG8Wl=4ptzMRsh=pN3 zM)!f+vXo1wpr|x@A<Jx;o>J>WmUK@V3yz#9UwuwU&KD>@O}*J(t?akcjLjm;0AZg# zLk}>}{wbHn*8VXLHg9GxE(>=cLO#uUX6f)z{TZb9vRCVUqGC@?tM&5Z?m@kO(`M-R zZQeZC&OU`vcAhvCx)Gk!W;111>7WW5cK^cLVxn;^6C)$;(2$SX98%<AbGT9*UDD`F z7e_+;ul?)MI2wF3PW@P$JfPa;DaxauMg-)9P~1-my1fEl0ht>%`n@GVh*GG4+}_a7 z@PB_9G>#=VZ#(P;{Ht~dvzV+dnObMve6#8VGiIJr$w60J0`Dd~Q~cW4+78%Vv(ux> ziTPdC=y?z{5U{(kcs|F2T$B(pjJ=achQ>K++=AMWjdcd)XhEsQhPu^&DR)aJ>5<3( zofBXtZ(8?C{N-M+-et<nhzqW=y}BaLV4j#Hj9?xG!b7wps(@F;m3OvI#)o8*i8f_x z<`-X4%^)e>d+?HOf<ar?EoRKh&GynwO}Q1%o=NG(w3V+G<q_<Rz0Ci1F|*397xvyL zQuMm}Qg_<#f_*YO62}d$Fl5*5k*>}{DUVf@FQUc^FsgATf-znZgUUE4U@#98j;;tE zWXJW1i+@mc4X9XA%JkmS^?^WPqzC&=L!sZZVN=j<dDDXN!V^SoyS&lhT<U!!0k#xe zxiP}GPd-@t@7xRDLv9pvjH;YibglM>BuB*7#UdIj;yO1cW**%WPcdpqwi%bfx$r1v z75x##HDYAZW1-EU*ZP+=WUVvq@H(8-xTg0a^LsiCdD!B$E@OQ&Kt?7nQSv!j`a{OV zh*{?rniehg#WCcKn~MD<5iO070T<D@DiXm&KvzQ~A}qE*42ac`D9}3ANAbl0L2e$` z!=%F`*EK&(gmE4F<Q1sy&B%FKHjjiUR+)ZyY~>7G!rjcFlyGR2BOYHUo_{A}d++^B zP<}&zmo)Hc^F(rx!`U~E5WP$nRqIZCIwRK}c^jzZvs!7L8=O*i087Djt|LT|c?ApW zsk4A|P5JsC|DD?*u+Gze^}3|?@Uvo)yR?DIm)?i#rN0W@X76K0h7d3Z8R)Iw3h7a0 zx=*`!o%@3>Wc^M}fBRZXQ0^-3K~$h!l>~1C$%va1zNLN?T{9&;{NqbCs6Pu`;~W+c z*6lRb$@~TSm$|`fMP2`~xc8JrdeP5L{=md{RNx2$G}u3M8ql<jBm%X=(ET`0vtU}8 z<binA$-UD;1Nsft#jGMaHwVW2(yJ`nmsG(JjQ*|GNX0BI)B<uQK<eFObidSwm7G__ zTz28jV{P5-b?yp^E-h@;IaKVHuqG6~Is%0#w$X^xN@BE+I%7Jo{WL~5FFr`f7kYk+ zRRAcQylBg#5N7$A$X{wGKmZ{qG!~SPh|Djwt}zGMorJKTlf3Q1^Gul}_3sJV=HAQ& zZ?+9LbcTuE$({bmoRsJlEeNnpw`qT|E^01E=*WF$Gu_Nlv)lA_($`Hs{-^7Z`Ndt9 zwe`Uy31Gdpeh}o(dM88SKV7?9RZ!JbzrTpuODQlqw|ajfUIdgK=R8xc(QRr~D0xj6 zs#I-1f!7Yby#=vL3X`9$<}{0{ff?L96OFKhPoG$@KiZWVlAkI~65bgXn)l3bs!CH) zAkSrf3%Q4Kc4$f!Ro{9pVq#H#Igmmd2p-l~X2*hcjlBoj;nhO0Sa;i{$y~gtg<11= zNRYKn^K_mUL)iE#E$fb`Li&xKdYgDa^;LD|A!Z6*YClQQwa~Swm?|d>97GaqtgH|G z_LXOA=kh34Cy!a(Rr-1#Yi|C6wzR&Ozx6~(oj5^9Hh1LqTe<+74sR6%lS9@&Ezo-9 zjie0i7^mEV&wr<aED)(r`O4Oy%|M`ep++#J<uhqI34faTY{4bli96sqs8z7f@qP|s zRY{CSZ)AfwvLv|^YLf{rN@<*ClUXtx32|nK6ffIrJxT&-04$XGlMQm=|L+{;&S|Cs zok=6J^WxXBkRE2(Mxw7r!^fZI$~)V0P08fW$j9-FD`8x6)R2B3Z*2RmEYmxGOTB5* zd;sl{kdZ{$VJfpktU@;}XpJO&3@k8c{Xo$f`L!@(Gx}YbJJEzo<fDC!fl{GrW!Vg; z5TN;9ri+2v`)M{uNqo~L703Y^OmSPgR5>5?JHzBOr$>U#%sb=lWW|aUC3cytbYBeZ zj1kAoqRMNl7NPs|yFRCwt@%B8BMxh3kaMLaNqyjPBH{9?>}vg|POGe2(-pPDN2TDh z`6i4dK3KK|f8;I@_86bj{Sa)8r++o#G7(IJKP$KjbYz4DAtDK&spRU^YQWFw%B>Bp zHbOTpNe?x|u#GP=ZcUnxxjtte7Er$6<Q$i_Y_4IeMsW|TxFUTsozG0Y7xY(Kr|IP) z;X*LS?ZmUOJ{XP0n{}&0chV{&vjFlsr7UADV6h{;GulHD(FEG^{2BD=iunR~-(~-x zBvk~V<vn0{U1gmB4bDWj18*L=SNTUqH?NW}cDEPK=*TxWM@l#(4hQ{#{naUe)3N&! zOZ9sTS@53-9B=yb#==QaTd(VuVeZS2V3H76caZJ6_xKJPAVfc&=sDh%iZ;mg0xe!c zu_*5BJWc*82--y#KqBVz2%JGAi~0P;MFD6SASBjRxEHyh7_E+eYWk)&nu7MwF?n=* znvGU+Xz#1>t6K4)|0NkvuoibWPD$y`>CTh-uF=1v1okAWCT;Vl&9z6YGB-rnTIiE> z#Kp(~9b-b|*Ia`;)Sz`u1sXi0Z<;8Qj?0v1U?!-D3<3tDO5y?wY->VQ2~R6$UTkDS zQ9j>e*^*q(Ndx*VrgZaC^~JLshO9H~Nt-t?d4Q2kndOOjOq)N*iwp|!&b}$A=$0rj zEcklCQEw`>Q{*VxJ+3sdWV`Z{0eOtu2B<aV$6sJNs0PL3&>D;Q`Ee(4dxOLX1;@IN z)G9?^jGe+@EM}@SCrTH5x5_<x?!GQU*U5e&4#HOp&b%XwAabUahHw4kj$1x=!rqS3 z-=-B^@(mOHejT8$GQ_uJr|XZT2{Z2V4pl8X4uk_xV;7sxD#yZ<bBjH5VFS9JVX^Ox zu00>wvM#oEP6Yw-x3lnNrIBT&BAOOaB=E6}dv1A9ENwll$3SXuEu8|fA?teDzofZV zfU7njyroyc62!X9?RIS&0>myyyD~U8b0H@1M1`5q`%I(Xw5R?stP~v;pcvrCxH%?1 z95Ua3{cY~!*{AVy9tm73?^0uPTxI5OITdqnL}tlrl93&xM6xw4q2Yl1*&4ezNKUKG zG3yJ_eA48wcu?U5YPTs{O(Ah|I=(3t!4&A2<f;%yb~Y;p$`<h;!u)ZqX$IxDekz?z zj`R&Ee@VRo+-+|Dym8>y{55T-n<0Le=HR3{F<nh>J?8hEy4Mts3<~?TJ!IE~lox=O zNsH2N?Ev7ZqHTSBU;$UH_NfAAH2c*Oy^mWnGrj|`>)49}M5OexuNQI(79Q81lxoU> zF+8zw58>W>T{c0ecFk~BcK_J96NAI_mCiBl6YudFEUehsvhu{NezMCrBq~TSK6J$N zv$urgcqn<ZMp4;M@$#oCpr5g8)Yr*fzTQSDs|D%Sg}~3)hw|pfYTOWBjF!KgER;(C zsTO~`<u1fP+}R$Il!1xfad52c9|=<O;&!#=N=+4c8)>#W?dT~Hf1Br*7uz}IJkLuI z0$YdRLN_@2G=&{cUb2WMeC7wR&dDFk4G}Vwd2p$6A~4l!xUGZr=lpi=V^j@Z{OrX} zSd{$Rs-_{!UAw03R52j6p*y8<fnin_Fxl`s2fJnA-XL~KDVfrnYI<s|ommMH5L2;g z@Eb%3Xv&V7f%fnBxF5Ys@~(NPGt}6j1y+q%^t_w$EFbNv;ylK~85X>`H&x88!};;H z#w!?Iqi(HZts3?fR8?Og=DoCxpAL04=FbzS5D!MGus?8D$8e^m=1#*@Q~TQM{^Go$ zUiU;=Vau-;+g4Rjn|X3xRG($TX=TF*C_EvHdt3M-_K9)&I?2FC7x56xiz$1yD2`Px zFq<eHuDlP2z>>dgB->bEdrYYL_l@pVXR*W;F5jScr+yu~_&51wwR5Vb(2!t4Et0=3 z4JtqyWm094K@}u0Ad{e6s4o&d64N|fsMh=uYroQM+xwf=ky@56vX!cfdQdLvmCL4< ziug{TGj6hj7OnQusY-5~V}S@p_;09iHqQ(-%6Ee=dw+@owACn0DZr$~i|>O01)RSo zkX8hn6mj#mL3G>l>dF0~Hh0+}W@Bl_df487=XSCBg4Z(5&tGxfNb8@<o#aWiD!m?U zhQu2?RZON-(ykYEJ)^9AKa?p-KXLI2E#mJAV)&%S{I4T^eraAD{F}?jy%J4-G_BxY z$d&jdZ34}ws5pH8<B`oL6S2fFHZ(5!Piw-@#W77<TSo(;VkV0-?y|qVy|lsu53T{@ z!K&i2Y^f>#6O^M)9zCcXuOv)g5*uJzr%99pr%FwDY=E8>h~R^WsBx-w&t1I90Gs+s z<Ahqpd1yz!Dq@<wyX2#>j}g&KiT*3Xo%+hxeJa%a6uRJ${P5j;%ih93MK`{C=+kFX z(zm%nWa4h}{E-4v#ga=fX|V36jDl3qL^7Hp#G3XH>B_Pt?q*iX1|Q>yyV4xMGPhil z#lSNJwLMNdaO|GeGojvs2W$}uAbNVLz{H%J^X=PbE?k_=(z5QE^!vzE?V4D4<z#{J z{<~cnrcZy-A3)1LKAi|Ov$DvH)_2oksX8<Xu_7zKaEm(TC_yIf<Uuy-Nk*7rUrSDS z#mH5*5(&M00oNxmteKi|v8SELKQmlGCq15GPO(&iyM<}Z4-pXnK*m9HWMnki87OVd zZU;!CIGev;X>8FK@|e?iLY0TSs7~rbkf7DRSaz^Ac#a;#X-$eHiX?qXQAEAPYWIWh zb$K$#eQ*-gAgib~yw4)4e_5!>Ley^RXWmzR!9zZZ^B?uvtj=VcYhvLNf6aJK`F*n; zeX+M~HybeW>CM%ND{g%1aXjRs**=A5XqG}?TKY5rzt$!qz^2pKR40=Y;$;Lu<=Nf; zKbva%x(X3&Aw?(9{jX<6go~$8)+6#4INomLbYmL@lW-&_kI*1|T^lD)#p$LYPpS4v zV}TiroJhW?fzvl?%C&9UyD{A8Nd8v}-SS{l-pl>L2P54NYTXNxofqVNor((S@`Hry z7UG!kwPaL{nffBIyQ!#KOHYwY--CUD15>SIF*JYclsf}9wQZ}HJw}B0Yizwcl`NwW zLs44J=qkS{!L}D};18{TFZuF3dK;@ST(8!DbCaTKazmkB>pWUBX{hdJ_vS=KWw8h* zG(WrHX`9sNQlL=uo()D~+e~u^4dxSf&VzrQez~?DFt4%ly=;Lf>;#yI9=(xCRD4Fz z$a}mU`OG`R7}I-fdF&`?gECX79JJ=!<)I#PN?p3WBB`*ue~)z$XE!@UT?w)??a16s zrob}tOGQ#gIhKpE3yc9aL;<b)4$fYlPvI(X`Q8j_-#E1oWX^k<2lM~NlPPWj3bq)W zXd+&bGhWi}K7BGj@6aBgpyYomOYYiEpyTL^Q(uv9>mc0!MjF;{`6k}GSDC{z>J~Aq zZ(H;VhRbaXj$NOY8!)tf0d<_T7+U<A|G0Medl^g*0N<o#=6{xl`dh&XT88DXf1&lg zjScfNiNbp{3kUC!ii6h?IGW$>4bz!ihUVmtUOy>gZ{8*PYCIU3Wj5p_GdEt|Y{n~g zwEse4PTXb59v?Az5Vou+XLI_6)bdZssvOuhAjh(hpq*z1kKNiIAPT)xvf~V!Mt#h$ z98@&9W-cf+Vpx_5FRd1oHp)$xy5(b&FV_JtncDT#GOq3zq8~3rs=t~slWA=a-K()^ zKrJ-2%>1(A(XIK#;}DrhG`<5Q^p;B5)CHJxI7hrSER*K2N+Khx^`C|k5Y|oTy*?T& zpKUR{3>^=LERH{o__TPtgb48`Hif#CCjPTsF_Y&wO^1$hadT!K0Yab_?al1IE-?W} z71WN-XQGz+f)5+a>|X6cs;h90mv4NJUjZId!yPSdU%=mZf4(UICJfJ%>*qmL$xV|{ zycz4UrTmK|nvzYb5~{;caVS?MKi9D`KhMSXpf-aWlG{t)M3k1I;gD&}z_BniBral# zWSN5+dP5_ueOMMK+jCOqLlNqtxY}2`a@|8N&sAMqdHuj#t&8?;9^Qgm9BAv4`0_k+ z2$p*vL4MUM+nZq*W|N9Z?Hh-Gg;`$zvfl2wId|VodiPGZW>l91phuGHWi4PL4C6+G zmdV0W;9Ky%8XuFL$t04DOaz#Jv4(I_G*n-&y?z#}S$Z^+enUH``=#}s->ndkp!M8? zl?POicmKlWJarb>FBdIsAKpJuzy>^~^zafn;WowBz3tlpiBW<#7hzpwSZ2*q;e1|3 zMV`;c!Fn$4WHK8P-Ava--iDu+d4B0$vuPHFcjYrj)esquqy9J38`r)#>Zg;O(a3pX zY}in{Lepu0X}sjl@t8J9Nnyh*Oi|C>MPJ~JM+fzug@WQWQb$&}**S#1hDf)sPQ=xR zQ(xUGWSbG{Wn~$$E*i`YZ1ya2x!Z%UR1{M16y7K%x>0S;!!cQXSqm0Dc%u|y3<y({ zngX;9Viymi`m+mzbpswu_?Nt!4$Y2y+}7%8bT!aI-T!&?xcFDo!T7{d`M{)|`YsO- zg<?ei@OUqh=-eY&^s7m%-4UMe()cnrsL_ISzqgDx9Or}I87s?@;kHS=iuk8kOKSOc zCfu<=`*qM0=QX>^V8@zp=K=eHzT@n8tjeWQVsi4fPFPgxWveuB?r$!{rH^emQ3QTU zv>kasaUYEymr~<zPI=JaSUXEst*x3Mx(MG7)`nUIb~!m)D2n(UPfMybWOmP@gPVny z*Xs|*T%8n@Zb8ccvZHLgM$>%CEO5G{f)+4m3|oVId)JbQ?zz4FzIPc}fQwWdpBSc{ zg}MqY8u9FVy#8+I$RA$t$R{~jD`wo;Ku0BwGe>N55XMHw<Y$Rb5R|<Jk5+XC#!Pz` z8@p~VEDeB7H{$~m2!{L^Fkfh8+h=&_#xY3?>^zjSkG28IwM@wyE1}ydZy!zS8kHy* zN@^kh2=bST%h^q8vQQj0b;tjewZ=)l(qj50y<KBb%qw<;`KC*T4Q(Sxc(cvFBT$>} zcD=9txpGZQiBdUiyEE6l{30n#?PK;*-3x@=blDaH7nJD^92nW<XIm`EWmz~}5f7Wo z=zR?N1GDtNrhtjV65b3y?9`>Gr-tcozb#km>0MLoeT!D`ozKnZOErgOgyfP0hh&|V zARl`gpJXB!pEEiww|GwHod?<Uqd`a+#%ym?Vg|<UbP5gHIDeVe0u5S2Vd;JRsP4Y$ zSo5p$lAj3nYx~pw1;{^cv;!W$K6+(kA~myskh)f%6(H5w#(35uiQjL%Zg0`D1p<#E z7#s4V{^rP9{%<At%nVwDkP#mzuBsT?<bL5a^G>7`uBp@`V$ggp)M}kH5*gL{Q}_og zK#$(G_Z^(czw3j?9k9Q)@J5!+)|rDGem%+bO_^z2`+S3MbiXZ!h>P7CLAKHglkYPs zAlCgAy4go|=KP*DVY!H3oZo=&3&T^yBehkjL!a>i10q40PN0^8ji;*XVQ>Nf=KKS; zX8y4$>R9}tiGEhDVuuOi&c*W7su42kzjI!PPZtJ{b?2Mrul=|=F6_6nqbSqmr?08( zM;KHRahe#|d<1y3mOx<yPBDWk>qh|vUe3JnH&uRp_AnfWR9esE-$A#vOMRDl|LXU5 z-8#h9ELr=l2)>)ZCJY%fDyL(~QCjYFT~xmG-BrL(A1&8u6nwJ+mfAhG63|z~b0Wmj zYwc4`5Xq**T#XnrZD3u>qmSLNptm(!nDh!d|Ml^ky5+9kpX=W(+WqeIMT@mg%k(f4 zl6U+SYn$|36@U7vA)BU*Gy7+V=1NqXYGYR>|L)GBfb2BoSgTJ)I3&s*652xWKAt4W zfswIQ?Xv4y-z<`du=8wrIuGoc!!>A@k`VTRWRo>fyJ^=9To5U1*hsQ~j<P~AvQw66 z%<$d+&K>(6D);^B(U^FLSxz_V^9u>gep+74vZX!U!f0%U{yVqz)b`cSYV(IP3T3!Q z1MJnU*_naHYv-i2PR=Sfh%TIKLqc%!F?+3;6FXX2zGV}Ok-oVAQB9sSY4G~mI1<9) zCcEl0n^g6czN$4<8W)iW=GQAj5Aj%X%hAL>=AACQ$X$ni$1T^r<L(hT8#ZV$*jZZ{ zW3S47o<5U^W?NO?9j30jTtS_%EiaUAhn1ytR?QeCOX7NG;XeEsA4TL>ZxP>N30JBu zwN*Rq9bK7IQh0gsQ+NL>MPQVVPSoAR*%4V6E@uMPiPJy3k(3yx`=Gm^?7MI+8X43j z<_=mC@hjD@x1yhHDD-+prU_pAdw2_8NuH&+&0H?LM$%#k1i0GR)N;_O(9`)<YjW0W zP%|U3C2^)pf6R3UtWrBuqm!+^sb&WBD&HWc{q*)=&eSp~jO(OwtP)Edb^4CF8vy&r zejb-^vZ?-?4DMIt630WI-X$3)L56X2-*Uo_<%FkLeS!Lqy8^bP^y(|K6s_Z@!D)?U zBpSTHSfpvOKt}ROexz^tKdU<SBcPrSj5>AJTa4Y~O6I8GHR%+)NUOjDCW4>f1YxsW zlIm0LO?KU8<b`<*vNLr7tn`DN)A%0!lN+p}op;9uhx)4r`VxxM*vpJWER6BC+4A~{ z#NqSG2;|wf1BwOfNk-WatFcd8{D;PT-~89;+f!Z7Lg=40wtiMC^^BC0w}PJDu-oGO zLY*MNxTV34Z%Q`%Xp5C4MGeJJn*+2oppm#6Svq37l&l{hkP|p6e+`v|cvXydCwr6O zC7a*|q82pN$Anw9try`gi56+Im6n}XAr1a>c9A)D!q>X0`Rc@rE^oe&o`5{#n(nfs zZ~K`u4ziE`7d`fyNGZC8*0dcrAxD(jvY-hp9n^SL)2XDTdw6hb_KaYIzFSm;(zNe4 z(IK>(w8)h6T~z`Kct;CdCJ4ZVM~@)ZY@SRM>G&Y5E4J7B?+!1%n<u=$UwtU8YwQTb zD&2;}x-D+(ARs{Zk_;lC2~Cg#3jnj#qn!@ll}6~89==(P;{NmS#rJ+^0p?g@zz-)b zS|V4ku6?<8c*8s~vFdiaH*vD5z^TN~#4;8zc0CXHZb6#2u`*n}zDd7>8AgC{i$JZz z+!n}J%nNg=A<{w<`IW}nKDh%rZSBS<BPe*ou!nC)ya9(z!i>D@D(VH>EJv!Km7&3~ z)Brz`po;eGz4ym;2>@83-gAxsuA00HBBALUef;mbQXH$S%K8X-BWTgkpt8!~UO6%F zjSqwR8H((@E?@k0eu7OX;ps%!U+Z59-=}jkGHWI5_Z@KC_^3tly2>Qp#0IE>_n9u= z>QyZxK>Rf;CQ{Jz<4s3R6I;5I^OmZ=Y^HKu)t}6O_eMQDI>AXuoWq~TMZTol7JRo- z79AWp+}rNodaWKjNULwF^1NHMx+4p2)<aJbU~lBc!z7!_zAPMID*+IHYtlu~P!5z0 z&WU?JLA<!@6UF%vM=~U;y-1TLUi2YAt@APnHhHndQtgqBZt4D~g*`g&c4k@q|2uq7 zh_J%sJ}W32xSKQ|8|WyV@T%!!W2&0XUTsPI!SH~Tin+Slnhj$jgg;&C&6(ut_c(Z$ z?~1N1hk^rrI<?R#$5kc5yUXGVf>P@PjlU&li15~0QcJ<eoqbc<?JNDA{<UCrguApq z(K5L)S~6XDMFzK#ua^4=seCLi!aO8>#L-qTqj;26-*|OgF)S;zKo=^}Z7Mg3kef>T zwF_h&_bs>l>W^qnPWGu*e(0w^OL4x!tjb>YdnRx8_i4+I93I7gI%a?l`(ZI*QdYeq zBJ-Oc_U;qs-|RdS!k!;&J1;-fr8&rg*9)CYR6lg~%d@A~3ukGMhUD{aXqg#iNwD1* z;W~p8ek99>(OK`za?ezPkayC_kAlPu-k<1YO}r0Wx}Vr*!gHGQGF`1UnT8|?K<v7n zsD=UD$Q3|NXxz;;5rECU9&9CLnft^ZT@sOX&676$sAWc~v!gL8%D#!w(3H4gqW*jW zJtObZ?4XjSo;U3F<$}SdBGy%=u1eA5kczVCPt=X#wCYq6<Q~PGTgHC2_|*XrqwO~p zE8Ec|s0h@V3JF?^p*3OeS5t+r?u%X2)tph`w8Lr$4EpfdAlQZh0Z0Kx{fMM}J&Z&m z0Y=4|K6kHvwY+fn*EUkF%3E7k#IK-_@oAH-IIsQmeIpBv^XP1Sv*VdE|Mq-|A(xJp z6yF|)fy>~YSVuVzgK1}30i!l6=!vwktA+M8&ZKJPgGd@b0jxaNC#^NeLP^Ka+KLiO zv)m+Hay<otA}WPqs@%3+nK5>~lX0?x`4xzAHj<YdWd^p%vrb|sFdBk>N;BOK=Png7 zEPNiOEzQhjP@eqqRb*Aq?G~E*89C)nEbM$$M1Hwjz@2eGF7+p=M7mwyzgjL72QGAt z?`7<LLY6A%$->H6@Sy7!A+}V8?8j^X<Qrb3E+fOjdE6fawigHFB-D+02lfPLBUGS0 zt|kJf_*9A})N-kJiZ($R44roINUTjD3B!|0Bibv9poe)Y1+|o-xkidUu%o+i3WzlS z>_b`NXLjWpACxM`HnsoLF!fzV@K3tpx6r)CN~dkx*GB5d6vb*K*l^O9*}io#_Bhvb zd5c}}?yuP!i?l@`ve+3>lY4k!#=R*gNJcfdl4KlZIw}_e{x*TpUH;fEInEvrhA4AX z9@Z8GVH@@3M_DSPt65)i*jfBOW>?UU;2jT?I)>fn<^2~D5`R0SSUUn!M-<k^s3jla z4Cc;$^=th8m8fe#_mi<7&l*=M>zX`qc;q!v1I<1q1eJe2Em2fGYEHkqU=``h7@y<w z?gh2r?4xZ3@@PV>31f#`JPz!=6rp~>Y&fF86cSjzaT%gNaXr6M3m(RfI)qNaBLkGf z|5$1E{r(3`XT^a35L0es!lCPTRmm@<*QSr|7fX6;q%e$L1$Z1*zRgufLpVP6%6Gsr zz4X1Vz?nrmlPu+j<Bz6&o1HX-mj=R&Crel|@nOWqk4hGqFXS`NCX%9b-j0&|fPG~> zW{LN6-e`PaJr&kKAmQi=4>2QXfS@z(;FAJd(zLTHODhmeB!g?R&_lWRlC9VL1{~=7 z%iJ3|FtW?3JF`|iA<g#cU}Z0>Tp~>gv1-c=DXC;m`OpPWJhf&s>8%A2_0!VaAfnoo zuG+C)^v4WuWVGhTCgPO(XD5w$<MZCFs!oe0YtmJB$FcVne*}bTbcOTISH%trOXL2k ziBy>mzIt7|;Odb4@M#mA2;m#>o-G~4lY-%CUMOU4c;*`SVkdcC&cNu-Z{T4vO_+1E zEr5g4)>YGmm#m_L#{MwjlhsGzVk?HO8BbuKJShMuUOUmy7E<y~lodn2OjVA*@t%?X zO2p!O!uoX6OlM1dTU-6Hy>ggJp;e1W!LgBFpvOEr_0?7N-0IR%4^evfUVE3CSpQ`c zwcd$A=GG6E6#>jy83aoev=mOvja}85iY>kF>?0lSPCuONjaFc`^ccSmG8{m!stw|U zgs}QtYNa`D0#|Ha#65J8=7j%%ACY>VzRB}5DSFeGcADi6CipOR4Z+68F-b#4?E(m? zcv-iXBS|I?>|QpMrF`pjSNQ%~q}%eEN>Kl!kdx5-*%`I@Zz(11kxsJKFa7g=mEjk8 z*I^mc8V4tNG;QAA^)AJ~i8r^b2R0{@3Q&;Pt*Kh=H@~S{ZIcIzO9-*ui=v;)qKi*J zA5ZSrnqTYf4{p)y0Vhl67@rMwPAP6QPo6Yh`#d}o{Gd;|+Y;30+xn!jHZLF({v#qC z`0pb*X#TE9)8=5=&Qv8E!Xr1HQOH&%e8^lC7|kRRIHVR%W8SCKCbcy*i_Mfv3Ybgv z(}eXNRu)PG4hCtp{2AdZ4l?0N4*u5-Escd&4zU09rsVI#OG-#Z77+m}YtxgaVP*lL zBT7yvaTm+U+i&Q80`p5({7V}P(ciDOXj;><M%J8+E{;&c!?`7fX7TUtGAwzR!a$DE zRMVMiZO;4+;I1@cB3%(=le!q$&LDV5cnFrRqhkD-n&aDA49;nfx1PYjIix5sEj-)f z@Tp3vSfPM7%&tm9k`M4Hckex86A&stp6U(jbGw5oD+PcSOup`_QBcryx4KW8B_kd< zGwHoVP`592-|$YF7U$<kl`+LGj=e$WXxr~+L1IIKRNz^&%Z<|lQoB{gOz2VOL`5xs zQ*f+5zSP6ZGsfJb-PxrVgn<VN$+}k32xen^5HmI)psm*m0<l@kZXnu}yv!FzPmxAE z<ee?}Ur#pKBu9RDuH+et)5x;>lBIdGQuBQsDMZv%U`WcEnJxy1^blgKY>vZsWq>00 zNW1(>`KxlvIOlO`{v%j<t$KPzujktoqzF+D@;WXb&X!5&bt%e{U@0}lCxdFiO(+|P zhKU-ZQ_ZJLTdL81aj8GRCm?LCPp_%acOW1jTytLO=GM0*xm*s9mel{wJsE6i=>K!r zI4T00%$G);sQNk@8o0fn9h8?s&{oNSJ7))DO1oFRp3H_#z8v}bNN$n<E-iK7#b4EX zii<;`;c;j6)*bmXmT&fGdnu(}{N<yTj%NdnA9ZzBPL=v8(Q3)m-+lAuM3*6jd(y-2 zQ4XKYEnn#PG<vz+@hQ^3n59`@<DlvhtA_o>H_Ld~2!y8b7F@lP?;cBy5jKXW{MFNZ z#kkqq38I#4A!`n9KD{hI2=dbU7v78Phtc*21N*HGLcdOh{j>0U?Xs5q$Ka*VmE62v zTKWFJg|NWY@Nvc4-G?#m;cIqr&Gn7b-+ppT3>3O31}KC*X>WP+4Li2neWDqzvJh!i zJs62zI|TXPWmH|rqk2qGjbZDhVyfhwOwZE+Gf=Z|s~^g-b=JLucrLKT^#$pwzDKsE zVP3+tN^>!|yar815Jx9Nf}l!hnq#Hy)X^_$%()YDma0xg&6xx{GM3BuAI{Mz23@?g z@CrYyF<zehI6K=zapc2mldBa2>ur}V*v<Y(6I?wr=zZh?(7G$LwRkpz2>OAk($i9e zm37a-G3NNG^rnrMnOc#&23cKJzf}*zXj)0c9Cwh<#kZsRf!oJ|Y6MGBZDg1L=k&b@ zsJ(R~E={5fw~k-*gI<#Pn=Myx5;UCt=E}Mp+aq+C06T`D>^8G=(=xN>eO>>`9h^dK zA>}KEo@6Lwrw9A4PX#>AGH6_Mm`7dE!|#u(50@t69Wzv_lWRezF2V_U6b}&gc6w72 zX)x9^H!mZsJ@eoNmh|slg!#Yh6l?@cIH44P{R5RHfw%*^oJ54Sc>P>2R=88@jQy5b zh?jqF6--572d(11f0a-=Eew68bl1sfCE(v`?QoM;+!~SDQ=o2bu_jx<$OHe0PRP!4 zNF2y)@sfzD!o1^#0atTB8B|OSl5Hzlx}Tmlbr;_Kn2aOym*8x0n4gXrNfvwao6#*N zvdmGTjvTx~(F<>ykS6q9Q~ES!_8|Wad&AIUGNGyT11|JC2&!lZK>ECAGq%q&O%gtj z{?l`vDVZo}F{!kx7^<gXdSY<x?|3;yXY)=!0fnnPpS14-cMLpp_n2V+($ocCm+>=! zsa5-xI;+~u3G(we--kh!v4H~hID{9nS_F<p;Dt58j+q3lcA$ls{Qai?&ix&Ym*76s z6x!e;<gYoZ^tDxWD%poOMA9U0Q~J3%Bc2{EhB7~)#}5K~!G79yScB$%TY@d`nl%hG zd3^iOfI72*oHz+D{k)acnl+gH1hY*auTWQYa^xZv*GCQY<${)E%O*YV``n#VdRYcZ z|7joRI3e73)nEP&DX!P*J+k_0Pc`smpZnUb03gf@WLs^?C4E^V0~d^ootQR`mVbRJ z(IzPQ{xDy{i1Bb=cc16gzbm(jY${ntmu!a;LTHl_rYlGpl~R;dDBXekZXFJB^L807 z)1~3i=Kxh?)|dcimABH1uAuAK>|V^4=FDu?o%>k=ZzOz<^NwU1y?J;3%C#H*_~0)y z*VfcK%D1s+h(3IsmcLK@(B3?Y>h7~jwn|fNx!t0a-ui+qEn#IkRD-c685N7ZbU~qt z&u94j(;E$GGQ)?GYO9OCWdD5x@{%7?UBvDIgmmwk<hs@g<xcdutJwKI=1o<YC~64% zI+?Ag<Y*XMq$dMCT~6)c!t&475PdkhqUeg?<y}--`#+yH1?L~AYy}yAxgSumjA`wl z&eT^0S`eQl?D+1LWosB4k{zR;_32+bOkj-KCS>1WB@gzLlcwIU6dUFvOkP%-u#;TR z{cCPEJ3eTab6fPDBE2g1RU-`yS)AejW|@E8_<^9gsea>N7Ku_p3iI!j(D`e)QfK~K zX|biy7h{-J>Ew730XLSgzl+ExUuCu0q;i7#XG=1c``G4etVcfEis=&jSL-t)>q)6j z=34W=lP7XY^%2__H0B+geFQ%`)+W}}{=Dg=^RWHuui7gayF7di24B7@{pJc1^KwZf z7CpLWch%`3R9=Nb4<@-4XSsdZwk5tIhyh~VaS(OV6cwWG4!gc)qmo3t?*2QQ^1b}O zb8%h9h1M&>H=W*2kCwh5D3l)C3Yy4AmftLJln@aPL$#;0lY*pO{FEzQ9r9>~Ma`*p z9a*YpQW2vQ<`zf;Ar~x&$?Lrt=2txuQZu(4F=CwZ+6mq9@QvM)b8^LoUGABl+}TW4 z%Ou%MM6W*eU1k^bw@Og!g_XMY9*b-Sh<t4zF0lH|<D67o$zu;$5*(qzSFthR+*r)n zv?>629qg}y^ZI$oWHlin@=RGWYr~#q)GM4ND4g`30$?cockXWFJUO9adm@?gv0{~7 zU0B)8N0?640z!#nu)?yt*&|jC(W4SN-D*&F0}X4*;2QFrZ0f$-cjC0lEsV+DM2o#% z+Ompx;^(2DyZ~+K;1S-r)`i0N<!=XEIH(hj;fuFsXuuNKEW!GSMunj|^KDS>Q6ZlI zer3|`?L?@ngCHjyAmdyaNU$bYPlje|lZfN)1bR()A|yVf*M42Q8+gTa?*#0Uw_42! zdG}82nlB;@2{H{CsL~F?v#k-PAZcY~mf+5ImD94F5dnRsHG$;`c(j2^yJkz%S7d4= z_ywHHI?yw)WYxy+He0ANK;t~Ch=?+t>bQcbvEYHrpB|rhy&4Mq&UY0?%7LY7zMz8H zpd0r{P{n`eTGl|XtdYss*-Wil!ti`vv$1{O@9!5Se3B`XL`z}wTLsEqY#>g@Q5upo z*;QarxgmtY+vMxz=hteRzX6N16NcD_-n`}T4V{C%WUx=`_?7JE*4h)mY3WmL>@LoD z5BwSTMLV_jmAwLPg~HdNSG`fBeOkojZ!@$0{ddC4o*W6;z|W315rwYk4Rxm2TcABW zpJg4psWam4Wj+VVZU`nSd!JT6m~E(96Z-eekKr;$S(%lX91S_+qcR%up+Ouo6!_3T zb#srmt;n^<{8Q3UGRaKa#n!6$*|X#@51D~2_Ky?us<w-}WV?mWr%-QZZ91-i7RUeG zPyMSxbvgbUccOA=l-<R?ZfeXN+QU!3RRr*X^^j%S%e^Ui=`1suDmHoVeFPrA0<z_R z6v(aV&f&3OO;OzkTV`&qBXKl9sO%(s6*QGcb;efmeE#p8PQ>S9O|{XB^saa6Ob3Cy zAZXYt>QsE#%f6~?<@Z*UD0w6n&-Un=3!=KG1Vn6zT73f}W$VPY)6_24vIr%`;ALa; zcYGG*_KTLKTfb(XsClDaU@qAg&iC#c`EmEv-S_dG$w2jVuBmjI;FdPe*`6gv-wJ%0 zM1|9alm}NWZ&t2uPaM=r?tDE4^>dp+L6z4Lo<zek=Ga0T_+H?;7h_64?o9rXs)AUZ zmOfu1XhA&oee>%f)ij$1g)rYx477?Rlp^k!u3dZ;$X)4Hw>;leYPo=@9YVljCF8bZ z{)h%G`yf${E&6{=<7R~4)$tB^PFCM}2`i`}G&N29IF&gDEG;elEHrOhsY{vwi|S6h zunXV86Exj0v!2~LPWrS6Ck+CLnd|AINhvnTU8^rc7ZIQ~ni}~7<GZ|kkx}ArwbOfQ zzW$;K`&H$LKw&U%AR&9Dty7_wIqF=tWov#OD)iQ>mj>!sny9*Y(fpU%T9I;N&bQo{ z9b?9>vU&VBIiQoRRr}PXA`<!_TjQy7-s6VYH~BF>lyZ!A(^4=5n&CFn3RaJw9d`4V zewo#JV=Wkudh1xKL3tEt7vafAN*&n0=)hzA5usmiam-DI5zPj(M1TNiHOs<G!eFU# z@t}U<(TsUqufl4QYW|bRe9sVi{u3^R)vG1(mkRHK5+GR)Hf0!_kq}e2JDhKSx9bbg zF(5iUp>GL@ftOm^ofa8*TmI>2Of=|CwY6_hdxq=Z`6Z&O0eeQ&@KY-H3sc0R9?slS zs*x&OSCx{59!E^9yG*NMR~3eWQ=BkIh1`75%*<5<Po1s3>e#h|%1_!qL~Cs_SwPZc z7H@KXrn{hwRE%T<d4)SMa!lZ{E-;&^ANF?``@Q{=^2J_SH`?VTjb5*O8A*6Jq%f?~ zrYp7&h){SZj<laKxI!11gp-c1Op*;AGh-+Q{F}%Q8|?oMpV9qv>>PBmy3#DgyzfwX zHu>xXaH3^x?>ZY`Isg0Hc>o>h|G2;z<eq5!?94dnU$01KZZ$%DdczCrFk%7~($rn$ zAyq;I!^y_RHTK82q-=Sg+@Zrs+89UM5ampj#%xgo4IYLFz_yxYJrE&hl6@ZP^@pg# zr%KI`L+n;WzBty{OKzGnlaWG}5wXS*rLQl;4$&*1T}AZ~|0v+>cf}gt9|bToR&#R; z+eRool^wV_09@T>JTs&%A=11i89CS=9(Fsco`|1!GFDjXu7J8i34*Qdr)F!qxaE?C zp%Oma8B+-vpz#uc=>EC)G?la9elJJ&H(rr(SM?s=b<bWSpHCU7`=r~+P35}mT*I57 z570`pw&i$%=WM=<H#O%`g5dDNh+5>ep6CU-Cz;?9@nYzI&uo#CVbubrJ?*Saq>S0L z)G=hl>!~mMTG%2Ql@3^P2xw3b{$O2#`${c08O$<K5Zmq*0F1biAaHm+L~T7e7Bg8r zB&a1z5Z=GPzvQPCT>Xr5(ZL8bcu$Ka11Qd}5$mTjkFx9N1MBdh*QD@-KC9Y9s?oIs z5~AvXM?6`i?!`+ysNH#~nYnu4$sTN_a$6+yMc<fyz_L(`Bg_<#F(Qle1;pPE`mH;o z+UaeDYl?PraXDVi@fwL)^Jbnl5j~A~o03BJv|hvJ|D)(U+>%@$KHfQ}PPxmyJ!LN3 z=Fag;Qxg*v1-IrF%z@i9J(YVFg62*U5fLXY9Oa_KmEy=*;>wvLw{>3L{{XJ*;o-i& z>%;E*-Y0_yMpUfJn9LqhK_OZ9(kGnWm7$Q~*{*IG-&}d>c`Db1S-J}!WKvIGD)qZn zd8i0#Icq{A<9r#Y%Q|q8jzne0!>yhonGuM%IU|=YJ-VpF#rQMc-A^n#Ij{Vz_|t;@ zk@_$$GW8Jrk}eScVAj!3=*D{HuE$@md8OYK4!^DA*;+>wTJ-V*c2yDJAs)LnfU0bz z+pntkoq%jSKhU((^V`&AgYQMGz#iYnMdiVu)57(?a`xi)&^CU{hpcxAYu3GLg2Uhs zmc4XknacMO98hxAX1{^uE4a_+-z*H}G3*pPy3GdII>&d=aINnzbPEOl+}OCCdEai= zxT(Bzvc6dA%?#1%hZkBzs`-ERb8CKxOJCFKzg?4hTNHyKvSWQCWm&2|)XHduN6q6f zSyJal^ITlps_R3tW~-b2l#A-fp@2aMK0Wa-)&n^mI3U&LpQW@+g=#z*Omf0%T`*!Y z;Pim!OiLV$5-}8Av0#e$_FONBaSfe1o_pNVvCmr?C|m~qcZ>Jrc;6*UiK4K*vpps8 zXefNst03@`x06){Wmx-dp`KthMnWR#I22~orop=kq6N%#`N;c+ob$c9Wc$X>(+j~Q z4FG(o%?fI_T{R(yw_gb@=FcI6B1fs=R;#Z<zthr?s7?lZ&3u&Y_b2sm^5wK1Ti3qg zt4k4rPQx%S26GCh*|&7rKlv&)C;u~2;pt8)cI;po`Dm|R=7H>p30iKmcA`zW^}j1b zXnf7D1P3HWdU4DNNzjkoac=!y^W*cm=AOD^&idPJZ%FSK)+E5t_c&6>lY_6dhJ4T1 z6>{!mGV^>NvqA^LjM0%stq(|5(Pl?eag7tRqD}N0q#|3ooRW*Vm)Klr7Qc(37yhBY zd+O;XZ~bX1_1Jb%0dnVIR1A(&{6o#6i^VO24j8CHGG2mzB&LZQM*xkT$c!laf1hhH zD=t^!!PECu>+GRYU)ro*5fl4pIKk{tabPEK!bK&0D@0Q<%sNaWe3j#wwKLPNqW`Xt zYTVl=oAlF=Rl~;~qC`52Y`bH7uy>M#n!o#w%ch+dhcJ?*041rBayeABZY}h0x(EEN zAPq6aTPwXd(4^=CQqNM)Kj;)eLf=DlFk*5Kl^aS6#_=E$4cYG|93|{58fD1kdJ`*6 zgX8W);J82^S?Z&s9j<S<_*mf?XQ{*(wQ>i0;P^rlA=3RLc*416S#rtIIsd;a;PwmP zyrJ;k+iw|V-fz;Y#`>(g@oDG7Hk%`Ss6y`Q2@n4FVaB=jPHCZY1#3Y0&FA3^;;C1p ztqEJwN(KRf){CU7Df8G=S>$7CW>HmU`OIcWzGqk}>O@p{e4DY-_9OMu^UZ>txpHeU z{rJXCy06O=!}`sS#oR><$i*qoq+l$I9|rYtl9k3#O9MbOGZHls)mgZy7)4R>H_RCU z%;W8iPdaBlCU-x#pCIT^uo6%dW<ZBp2+*R&{5%8LX22FGTei}^ZBNQFh3Kx7TAoNN zRewFU`#rNGxrlK0iGXX(P58xO51#6Sfpy1?S>LS3_pt2_-Fo=;9gT+GTg|fCvVJc< z>5~Yy$7+irWV4x&kl^QTAeoEYwV;ZE;Bg20ukZWzlSDjP9g0Q9y4@Nd0n1$&jIQav z$;e2feizMW0jeS<0^oQ;fB$ezIBGmy&>QzHE9IFn_BiXRlWCl)MupjbSGXdhEm}!0 zcPUp>_zjP3nj<k$JCnCN?PrEqJ(&0ZjbZ)o3g9=DV%0my^J*AARV;Y0R*tWP7NYJh z+f(A$v@R7rX*!p<z9@wEbrEZ}Uabme{$JrG%^%(B4qo;>sWb*f^g{A2A%IHjbu>=; zBf4GECsL@VSSH^-^ny+3VOu5(%fpE~xhCVPOTyd40xj(LyVO~&_d&Dq(!+PoB0P<2 z(YF{UY57>m!Qf{$t+82b#?5XijCmzn9zlM=Nnh=-B5kdwHeTQ`_cg5T&1D`wqgjRd z5zX5j7s^B(x&V>^&5TdfVDy6YeGGZj%YU~ype?*hwL@{xgd5~kSG$gt>DER)K%`jj z;`O}=@@~;yj;@DYbB<XjkS;66YQHcSZ%b~?AGAXH%`Dwh=FN{y&*5BjQms!+<@0HE zT^05Yv=#4OR<T?8OquS7gd*CC-~s`FjK>eRtRquN2uplQpZ#Z7+wRYn8E{Yrpb;@; zaWc9su)H}os`L}V?JPh(1>OqVu*Dd21GM>)+JSzv)G!1iN)bX;IB0Z{T@quIwK-$8 zzS{e0+jfg_eqR*YTdObcmn6`?ZZBwnCU?t=y7QkKnBJXGR9#@_cl9pu!F}3q>hH+# zsZZ<u*f%fLuQfLaaI5lC4IVPUreeThRmPDi<LfJl%5EaSFVEPsbL%01u?if6`C7j1 z_o2h*-|mn1dZ7a$>E3=X3O-C^_mK4l*;hq<$)}@)i>Ps;G_|3Z(rIUXvY>Y3P_bjB z>;0Z^z8;#RcSpaE{L;bnc%y@<^1GGu_vZQ?GsCco)5MF%Z|77461-CG0>+<0XLWji zY8gkrbz5mgP!s*$ep5M0>o<`k7;DY}EpfmE9Z?Og2%eGres`a%^m*jC3Do0duh!=w z?2C*W9*x(S<-yrFbM+k^bJOu8-HNJ^o?I0qVqvD{9(eDh-&J^V;Ca>j_bCV6`F*wA z#3NIGsR_BAJFm?e9MeQp{PbJ+(}T%|cau=fuoa27v2Gs)t_$z$>0tr<tOS-<7+`QI ztBa%}*L8m5%Oj;w=ll1AsiIRPaVye}=htl=wPb3;WebOc-dFBbnI_vW7jlkkgu!93 z3J|D7Y768(b9#y%R@*D-Q+pIcShzX2QE*k;(1d7o?H$u9-+?@oB1<UGx<zr3Y<S^$ zCjSMG{w>bZvnaDNxi@B4n0w2B$OC#s$f8(v>)5QUUvuOzmvR^bqVE<~QlNNdtDxXG zYru@UB#&%|o&+e`oEBeY<1}z6V-sF6Uoh$5a9<a4^rPcSS+{~uT}xX>Yukl!=}M2H zebDiU!=lh9O!|*V@k6H@&2#UXGmz>}f4}cN6@E6zqj!gxvxFdRfs|?umBN(93c$dE z1c%UxRRPlh8sR$3!3tIWX3(5QaLi=^hkkqaRi3e;gG?lxyhfjupTH_x_MKG=MiRay zU8uO822-Wwh?DQkEeuFe?~pL8U;D?RC%$>VgG^9!JP&R^%=~cP<|WMjXPCH7xFeLb zsc~&MF~e>apigc{&u0ud0!M3mV75%QTujC)h}4Gs4Br8xpD_n8Q@#1=wUa3O!ALp{ z+B%_n5qNFpJ2X6Jj3Q)(RLWlEDSW_2zVXh^ad1XUX&~rxb;?t>c^YosQ*$-m-?}z2 z(G`rfpTGgDPyi}SW&+Okz;s{$SV&t%rlX6pB#FQ;ayGXI%%NEToI{f~1Yb#5z}rC0 zi3&~7hUTrk0_#a@L)cSNhWcl}@ovTAV7NL<bfo`krcn-^>Z~mP?eI>f<>tt{zOk1p zRmix{jI$#k)WabZRkpk%A!TG_jf_aGm<U^iNvKY%<<lPiccm0zKN$nk>tqhXXpLvd z`BrRFuu|LecxZ+M=pI2$lkvMZd!yi8oN_42L+gtE<Jxq}Q4x4!YH{{?pfyrg;K#b9 z59#*+&HF;H$m{C8o3|$v<N_oTRr8@8&2PM2^;vRzni#6?W2497g|rMHQM&(rWowOV z*d<Qh<A=R#%vYTp>z75$4aH(SE=U~50#FqW!GVIE>MK^t3jdiyt@4t>D~VDkuDxIX zhKC=F`c+C6ct!CfkP@dKGey9>o|ZnQ;)g#K|1UEjU??^Q>}99|Q2N0jJz1fA9vG`h z9<8Qh82-&1+FoA%aN2dmBi{$I4o!3ur1cnBg)S$D$;~^OkHD>hvAj4RjDrh1Cp7ot ztp0I8uAGT0iAG#$aU~5$U<bXzo=c3yza_Ps9n6L^M}_afRYpZ-AH_>cE=@Upphsn| zu7z<EMeT8c;lF<tE=%i*OpAY~jfvi4P!kS9N{x)m;ab?_wBYnMf5j-^OL96yO^T@k zeO4=7?7Upd`dvd*q-AfFk`_J&Z~hANH#mB#y7uO+&{y@fOKQ&7K;(wo4MCfx%-cde zk6eGom3^u|ed}JVz=aq1Os-g2-Mv2xiva+qXBKLzFByx=yMHcq0hT&kS=ZaVxdf1F zmacX^Hu2)XCa;UxklaQ@D8cX+Gdz7BnP4_7QI@r~o<SP6?Jd@slv|k$P-B^?q1%=E zK56*eaX(N&;aU;t4Rxv|*YD<^X5Ypf9s332A6@p>&g`KOcIhH=o?4rfat|%dLu0gN zaEpv-d3Iq@cE~dcf0x?Jzt0~;Mj-c01Q37Qqn_-&)yd^ZEta%VYIUfpB4mP##r^`3 zs%#+N!Ks92kq&UtDRzBUuu6w1-f0tBY<?MEYWz}_ltVcXD*0(&vO|!oPWlV}<gBjZ z%<S*rQUa22oZ;*m#+#3P7P@BZd_PJLcerNp67!-z+DTWl#|o`Qg)AlaPL>Wj<lDtQ zl93uZtCe6zt|rN$q6%F{TpRyxV{~zM?%`Y_v-%h_;sLYO$IT`FZNEp<bAnVrMlZrh zDguSCJ^uYv$C>;sy#!scSC3~f&O6|>Fo{9!RI&CBo~7YW*#Yu1l1I^E4UtP|1oMY# zZy`x4;;lp72U=~)c@zJ#UVTa>*62B`2hv$0=Me_R$yS!lL$;s0mYrsraSKkS&dooF zs@gQG{In=Eu67ZfA*qpb3w|v6PuBL|n(+v#Lf&6}mgLb}y|$m9$kGboV+1f5Yt`lI z0cK>~I<!hbpir#9tV$!?X{^CPayP1r1ySV6t^=ah+vT4=*0Z-|dPQxFQFnVW81js> z$HT|CM*LTr3eK8!6I6!dp9u2>#Rp2;z%<Q%9)6>=S48HI_QuT!KL4p<TmQ8~C2QMU z>QTcZ2NVB0j)B(}XJ%Y6_A0}HeqlWQJ%7l(Za0@a(^sGmb=8PgsM}FL*VI+11flJx zt5%a=Ha#-q5wLM;^vg32cN!y4{CDNu4`$60N%~`q#E_;BldWR6H>92vR8@HJg%-MJ zmyg=#)?eb_l4A!HmV$zNDCJck?qwP4pn{IB4<ST2l+y%OZoh?WNPGCcgE3!Y|3!zB zBoi$?>4yC2Fw<<m@?LqtWwdKkKz?U+@V73wMl=JuU_XYgjT|rz&y5iJK2_WD=9hU= zk8OW12e3(M02l_>^Iip8ucYBPyy>glZRMTc4^21A>ATH$+ZxB^+)|GR9VX@F<reRo zn;Er?{d4bWbBf{2{{p0t=VloON>gL6X^$Wr*>|mya&sbQ5&rn4!nUUvsC8xjb0?8p z)tv|l*!|rauf$J;N#YT{yk0mP1IA#lYkfvzKP@~OK6vmkU&&nZC(>4DzeAs$Q0n3v ze$w?%dy_LWedM`@1F50-BM|u{O}=qd9{p4DoGL%YFsVbh>?<}nugj7<V<ZuP)>(*? zn^rVD1ofS26`YTZ8R2WRMxM0gcI+<J{8(>IidV`DWLs9cwQ^n|do3AjkWCB&so_D& zvFC*wJ%!Gte7<Ax?nsi=DW=x>iz)ppx2uU;$aA(XY-Rt|oba3}_17Ecq2q?@gAr^^ z|I+-|{j5k5#SZF5y>)VNxL*yCaylXaBmuy^cDB6zF579CT8>p??`R3`${8PXJ-{x9 z1EP{r=Dk4tmplN~(=@RcrC?61y?fQ?{)t}jc?B0oVh^~FVwO+T0KkcA3J%!>X)^Mt zcBW*hsiaR|#4M`Pt~U<nd!Rs2%Xj^VfXVOv{5?qXniQoC7^?N{buJY%In5TH&3SWj zWGw65#`NY%N|Iu0tp!p`wN)!8@@p{6Zy2SV^4mXxDM7g58;cGV+oKyl-qntM<ywwQ zvv-lYkINhT7QmK%&*`IbFD=L3R;=g=d}(X-6kxL{_t4Kkjb6{6uUa&D7e9eDw`seu zl`l>x+fb}jOhWq2wYewWUOK~NE*|*VqKj$94T+92YLDLK1&?POPs?9%$8%m6`}lKR z7^Hx8sIyrD`!@;MO9jlvb?a};-XtWJ8eU7t#tG~4Te~bO2Orzuv7=Bcpi;Kkg6&C7 zO_O^~(J$OFzZ#2Qf5(JBWY@}HvQ9g^SlIM#gf+ae69s>h;!!MibnvIerz%4jSgC2Z zx<pZ@8nr{*o?Ts>+U>lhx_=}N24nOWXoZl91qU!;_hMqZbG<suQI<4?T^ZLWVLPJz zOye5-172tZ@zZHGcNnJv1BIWz%qx7KKz)K#R~7aeWHJ!#MK$nLWm^!t<uf2#f0HWG z|4`N+d$Ji$E%!BoGRRmKvmtm85Q@eMnA%jFwbf$QI$H!pC~4e2+k!n0{D(j@_goi8 zUn^zEu^mX?vEuC6HZ&N=Ji73k>IPSJmczDuM8iZJ(AkY<{zRXad*379GU|_ZAfg~L zqXZCwNZ6rHpu%&u%4{t{MCs>GD%hlq{ek~ovCQ~+*5o+wwA3-uYGENT;0`UL_tALQ zuiB>@fvwp>+g7d?uQDQA$w;KF18(##vB70)?D)B>xmZ$W&sdHifdE!5l@6`~DuBw6 zYZlpd1D#Ev-Q&q(HTrWt6VoHpfTo@MHd6}ashfsnWe%pSf1XQa-fg1|o#Zw;8$R{t zbZ>N8c)Z2@K+qvi{GzZ{EY%7p0YYFvYBIlnJ8i-(8xxxY<lBjDuF+z}9>M245^0rZ zzVH2*MnX4?^~Mg3Z3;II+JNA6adU<h!b??lA_v>fiY3VZ%=?<|@dMAE?F>shSto zj(!8~(Ntr>2YCCwZ?apYj4yuOLGrIzG}z56&)>}^7t8ViZGPj;sU&gpX(Z6pfPfNf zd}Xd)F)2;iHSh8Yp%UY}>39e>brlO@wnUru1QltGhgAM5M?=?{4#+7jiU@7+l-wml zZF-sL*Cq71w(AeS^H_An?0{5CU{e~4kQ?vo972~63ARn+GEi8u6G#4RXYwc*LYFFk zY}tzRV{;YCvbnt@0*rW-U@m2G64Q|GzT+nYW0RMpJvtTRj!aTqVi%zjyz5FGR7PNs zBsE~ryI+MO7O>sck)pLFV3=E^c1SSlX<P2*`iE%PZ^;;eTbIT(c@hyC?)TtV%3li) zLQ0$S0ttqJaS_-A#{myEiLy@8(*S4i0{Fq*Hv@ZGlsopZaSX~?cE8)kWSI1!O{lY$ zmga#Z12cD=Y4yxy$JOx2Nyl%w)%E&Y=)1bs)Kj}^s9>>VQH)B{HR+0t{?C0zc%!xl zty|?$@Oy_pj<Z|#YErO%U03#uv;4k^UE9b<Og0hk|Gv3ZUmIC#TO4f~+Iy8uoGd&~ zHY4h-(GNDyuQl<$30P2VZAm-l`&ZUnj#r-#&{}om^nJ<8f{UNlyR;<0IQTrUHz>zw z$Gkx=7!!w37Ka5J$|$;Q&~C)*RYb4n+278_nFz)Zxfx_lpjo9tGX3Bv*8}VFvfsMb z7OU~rphMh%+Xn=P<gdDB#tHw7yJ3Xe<cn1dyxBD0a^Uzs)zQY9?B@|&zfV7k;4?=a z&6;FtURD-QIQD(@j=Egv{kgpx<s@y;>|?Fgw}cZcfnxNRh9^2Y3-KW&R3Q@OBrg~q z?*%q5S;t-Rj)}-#Z#sy{<w3hav@V<|g#dk@?MdSeNcs1{FSflQ)_8Ds((cMCFET#t z^4qiy6T#k@EwFD<sLM~pxx7OV3EQR!JxWQHg|wJ7zwo?S)k4(>cp5)j@&4Mdrj$@h z?<m7(N2v7DtAL%4Cd#HK{Ufc)rU9w3ROQvwfWhbC|6MVRWT7bV4DE+tiahFCt7%L( z+!zNO7b;{ccE^Zp2M_xW4p4#hQ&h4MC!LEP!+~mqImU}qkxjn1q+-6Pno)OWGbc7A z3f*^%c)j@e&J}a<o=xN@`^Pm#v05doc9+-n>q~`I!C-5GuZv2Y_i?9r;BLFD{e5Cw z%;0G@OCFeLqChYO6YfrGPs)HPROCwN#&Z`Qktplc;9Qbz{G2}sxINS`;W;kx^5QpV zR1>OM$vgt*v<TORwLO{#y7M+rSqJL=d9tBcxGgr6>&?M#SOggi5!9TGoCe!q`69qr zsk`ObF8wou5CYPl7`1Ke^)Du~d$PxUYfu1avnmYb#hNZHIiRt-BPw_%P1SGju*|sy zWYqlASbXeI2~RF1$NKxeZ*$9MIIm)bxflKvY4(t2xd_{0$6&FSd}4v*anJmPX$$C^ zc!u^d{fU$NH;sClm~?B^j<r_~xn3$g)z{MwSvDHSXn-*oO|ug<p0m>7K{#SHOFirI zhz|NI>u-b<*C<bRN5F%=Nc)x1zYMup$?dgSLwhVtuGg*Fs-gGfi{JpxV>KK&fk8e- zCh%x|JP|v7wr`Q7`kZ;XXC=~>F0l8CB$)Y%Ui+8x_eH=Sr6|bF+{A8=g2fKk_;zWJ z@6-gib%gy3%O**m_^&j6%<9uTQ8@qYl`;gICcNtN&?0=RSA~Bj<}M>_95a|BlP7Ju zunuq(Mli)D-V+1T?(+Jb`b#)u$k?n~fRA|!XQ=uih{!Ae4SBPkC#on#PcQjn8($qD zCG+tKF5he3;zfKtKYT2Q=?Rt*>PW%sMM;}&5p4DXQ=3E#d-b@-JN)!t`d{km{&ywg z(z<HnJTq;H<*j+mTr}H#@IG_ej-z3Qq5>94rEEMcO;iLd?#qu~tz9oXC{~-m@01#7 z&e&9}OMv-;aS~S-r0<*Lk<L&yp0k0be!mua-d5Kn@*y*H0vMB9171OWR<*(+F+5QQ zv4c#|c8go4*5)AfPNo)^D$=$8{Z7c9iRI}Z`xlh1E3Kc8GNgLVs?^`_9bKBZH+<O? z{d-EH=u(;B=ohj<Hm_-U@|4rhGqT#l(cEDC(2SfDeIbjB6##;)AXR{Tq6mKv%F%o= z?Cx2_T3ULupYzi=zR09rj>O1X^=_+DSEhf9)hlFWA?vIU0Z)`U@c^X^cpYX3^DNAl zf-PJE7d_S~TnB=4lTZ2j1uc@g?wsDYZ>#$p(4klwiR*nfRqDRwqg&CD&s*;m73UM- zDYB!mqku_xhon*ej_mFGXHHf*v|h#?Z-ol_++A(NWP@j}tJ>0>$kI;G9OyTY2_{vq z?)A%vukP^|O1kE+&Y<B4G^?KCwKRtPcw-W$&F^F*<)Vfkh?aY7V~t3sg}{15x96vi zLn<N<ySo5;_ajH*xVN;`IxF%-8>7lkDWfKn>#c?MPVk7FTP|?klN1ltzy0pj%-RnG zYBRRPwg30VjQf4-<Og>pHD6jWFBjwWOeM-dFxyc}qDBs=aWL{#ObVf2*7af5rc;{U zr&hGvex&faO1Ci|(UmQ4Noi7R)nXP}Yh;rFe2oKhA?#YmDmM+r(q392^>bb4t}nZ$ z=t;(y?YpKN$!?j0&4E8>Zjk(-srR_ZsG$?UVHB{Qf}IX}i!Lf_Hoa<kn761MsY%J? z$Z6umkKv7ZLu^l1R@KW<5hu?lJE~(iMAkK{2l<k7#BaSy-<n8d=eW+t;5@i*8Wifb zs1|xo%Xz7`ouNt^Gw>!`qhJ2JvZU6G`&RMZGuw1pE!rrrsr|q$wU^2wU4KjAP4oGP zZ~Waa1%rNmlSqRNg`np{`Hbufdxm|_m;9_*^QK`dT$t|#VZq_PM04|xW39g}OW4hr z;%n-(GJJqdPS2l>qzBC-k0+J}j$9n})<Tgz6cTI_bo68v9%r*v@@I_S-XPuN!`IY& zbHaQ#g5KICHa~OfExU#HOzI;Cl;UbigP%_3h&6Uz8s+zl72ikTb*?{82|pLqycF*l zWrC7JD{Xt}n53doMrDMknr%9m_W<9&C@&9f))!pv;u+a<vh9g6H-6baovU$U*>A<N z-{RI$%yS(V(aig|wpSGizntkjjH#?=-1|J64|-HFYA3EQVpT37&8PiKS%1Xnp5CI1 zX#8*Qkl5VlvHV_iZc9V(Yw{ZSsdrNWm=;h=3|-CH2-ub@n=~gK2QAF?2eJ<9eH9a| zvny1PSZgJ#`hYoR=zF2d{Fc4601y&m>~E6|l+ii>a>g;6VzT9iBiFALO;A-tc|XPx zP+m~}su+`ELy;7_X()T9I9qbxQhjTlo3nP;R4Vo@Faho|%Z?T{`qp*1KY83<HTxCD z0NssrmJ5X_?=yX_Rt)_mX54as$ys6PoBr7@z)PLgdb%sw(OD$k&IJ-~Yk|cIqGLof zWZaZUj-*mhnEz2qWqSzYF@i{VsUicB4(hdm^OfHqP70zG9;pokKKl!qkpzI*V$1<y zM<!Z32xzkohTLg8f*+V3L@1q_&`lDTCw15=BOPt`Lbs=$LE8vhg3Sp_sLbe3?=pW= zwjTKd{f3S2fA@d7O&S)rv{z$E^6ilrOw7*acuV(4hVYS&=XWv3oSAnpAa&%HAR-lP zolQ=_K7X^h#{XDU91vW#GysjqTcQw*?m>cfV>-+R=aTe8N(RD+-B|}i%IVo)l*5@} z|Fh$w@<>Ae8+$)!KHI-jYR~Um6gm!uU{ymteTJ2Iq*-+|`OWwTtTuO&9qXe)l$#44 z=R})DHQoR6K6v0@^X=vPzaWPbg)kc0e%RRh#3B71mcNyvf`HkyTaH_$e<jDU?XTZl zo!2V#L15obbT4gLaOGOn0!B2Ata*6%tT7fm$-R^=$xH>@)K=w1Km_w!n7a}Q;0~wF zjW-SK)c$OD<lvBO^Aas=XeL(r&f4Uw=J&UeJ=;@_y3&1f&&!FNut9%y=<bGRlZtAv z{dD=k<OACb_#w_}Wd9iQq<n9D#f56Ke4P;_Io+h>r^617!)Jc$<|7v10y(Z03e?#5 z7PtP*Rlk2L{vG2L`SC9)$1R(Ej$21M<Ssq9@`oN`lno(;$TW7GiUtO+{49#2v&V=2 ziaq=gdwcJ=ooivvtlDUaC>mL9_2WqaXkrJ1uAKSbc^Hx8J$`?#yLv&cWY)Hsob62) z3iPgU&RteI3Tjg3kAVmT+Z-!V9*orLY5_>XUOQ2;hX)|5wU^=Xa3i&leNDs<0nf-7 z_AouMk%p%ftW$t%+R)|-Khx44YBi%&?r$IC94^(~F+#RwDPMe|?5%{4QyGCZ?m=Jr z1whJ2?^z??Q$9abEi&0Yk4x6EK29s*gHEgIvoFHP*1DzYwq#%th{Z2js62DsD(;q} zeRF3S=##?sZrm8IHfLC+qZ!v|a|fH$(`wwwDi5GGVc-Epalt@T=_TX76G|{@5$Mq{ z*$`Hw^F~Q9(&?{i{~c|8$+P-uxbg9*RKF)`mD$Echzo6849M8y*&x3?&qMjj4gR@O zn$kO!-wSdLy42p!X{n6#=pi@P#^wY^#*VOT_`6!R(p;i*8xDTdT<Rha*jaU=H*y#- zyE*+VWY&d|q-k3GE9Y`fg(}@El9?!a4=?v{-c>fk?m$b%Fh9R=f#Id6PpT;*zAlWF zG<XTyCl}kk_&uH@7`8W|wBK)ybL2@X72Lz})BV2j-n*7qtifE*$q3iWk0$^=x8tmg zsON$${a^Xu+OhAWpR4ELPF;F_Q(0i^pLNVRlEoW%t>w;j8n(FP_+$xx_Q-sC;lGwA z#+Q@&y7q6O#Guw^C?CPds@AHy+_uPQev^Doh>iO$)^yGU+m_p3THV@XMa&x><zQ{O z4&W{Y+dcIcHoy;PfQx+Tm6Re2e|{VjWh@<TQ0@gql}*38blv}z@hj=&rN-06e_9(- zKftsbnpPK^BpY!r<eDiO^#!9yUUG-o|C+aSi7j(c$;M#AW5z1^D2Jnf3nt##VQ~t5 z=6k_pT~Rpi5tms8Mipdfv<FmPuJ>iCcUP`Pid8TB8h|nd!<4AaQgcu0(eLo?o_mLO zxk)%^r;d1^n_IG-z5B9;DeVM*>Hm#GFvjHc)smvnY01Yf5n6``tn`!tIbCw~)uztR zEzZw6JDFk()sE(KZw^Ozc;@n+<mR4-a&Cb8VZx6ouB863V+(mqQf(3rL~?d|><7p$ z$7vXFV+0K6D8T%6yo3ZOz0I@8$Y<h`gQH(-%JUH3R^e<YH=wd@%wFTH<7^u<(yY)? z*ZRr2YU_D;Bx_e;<#P`uOkyT4FiY2Naur!ZioA291GW^HL@xS)E{C58+9s>H@@|~? z9}^X*vpwMro%X8HFw$J~0O^;91yV#G{ARaCa8Z@^d*ROf+bncO7iX7bhW&W0xp8{g zx`9$Y`r*2Ov2_UE#Pom+kEt3l2X2(uqU01{@q>+#CQL6rQlk3hK-XDPDeiS4r3U47 zZ!5uNIgUw{b+mU|*8K(<F}95v+M+YR+$zXNM~M{&8P`Gy1@&~lXmf?BM@Vy{wXxSg zIeB+d;!bEmkpa#2B@^*#wlO~F@X=QvE=ShAy>rq!fNEuNW2MSE0&&dX17(r2NLI+$ ztyK`!_VemUebc=doPe2ZZ9M)+?(1I{>5h2wk6eZV7PoBw0xRK?BU#Pi{FT<ZYTAb{ z2~rZ<tJ)?OOAG(Ve>@Itrfrf(vc1XZ!G7TuvJ+p~slDC{c1(yz+*<NG5^~lr<zZf` zB&C2;#kp9=D9VsS1`=T7c_#8O_g;1?dR}Xy_I?O(WT54T7{k^bt4+_e+Z$zg69RO? z(h?XOb9ExhH(HP%?{y?2rSH8#z15H-svgPT1IN!tMnB$X6;+<nF@5girIGX_)L()) ze!O^aVd+<3Kl39Lb)lW6^C2LhMs88|fm(;P>D8fwI~{R~jLr}-Dc&Qw7D$pP=L}FZ zi4bu}I48W13K7HaO*y7i;6W9lh2NtcXbkQR<KiS^UR8*vWHqAI)MUnzBmh4<agA&F zk1iQ1(aS`5{*Ufa_D#k>0S}SwFGw2Xv;5DrPOW7!g9(^ZuJ~=T+8>i@#9P1V3Tw>V zxy6dyRHq-<vwnZ5*Jbopf_cAh8dNURIv!H7NeynQ1P3?GqE;{g{zcW1zvVm+`&QJH zHE)cv{GN=5)VJywX)Chgz}9`x_*I!<Ad&B41%GH$2&4XYr9C9;K!5+lX;Q~)pFj_2 zA}+W%Z=SdSCLPWXE-5X!oUjw)?lrOvn;_#on20ifs-f$d%cQMOZAGYdBMNj0LXnOa zT-ln$nJARaAr@wOpk<KlZ#?FY<?%F0{NkWxab>SqG`G`y)$Zv-FHo2)PKTmGF{KbK zVjIHtIRl8c0JOp?G^A)|?fgmN@$UHe-Y`Fj_JjLT!X5PDjT*KtOVtMzncx(eH<!JF zyEnGDWKK8b8Ea)PUu8U2labOKcyP$T?U=)cJ--!h&jw|zph7R6ZDIjoA{)a{qIv5u zzTdzq74`f~(VG;Li*!1G&mWjPC^DX<vb61#O}tC=Bt6>YHH%u|d!2GSGMwbSJk-LO z`$j_YYP#9lH80uk9Uw&}gKPq@Sc-%Hz&c(SwWIxP0w=v7NgvN4;vdXfna&~k88B^( zP5IuziI;ZazU4}(RgLMa?W=XTYTIvBQpR$b-Q32rqQw$Fo&(<x?E-f?!Wu0H0wsnX z<z{Q--d9RzxLFO1(pcmFcv)WE8VbIIJeBj%dcv8$5NWo^5WJ0*gYoJc)HvZ^-)$OD zr9<20nr?^*X}TY<5V3C+gmpGGDf$Z8o+6#qUb9A1WK8lIy4}W;v9Q*E?zw!az<Iz= zZZUZ@o0S{4HK~|$F7{0`H(ZVM4izfC?`XPK%#$Ve+;<hwsZH8++gN6VlqHydR&LU) zoRF2}<>lBxDvDbW;()?%2SYwi_kdnOd<;5JkQ<D<9*Wl2T@_5USge>YTxV$Q4rR3i z*9J9>6axMdGN_PQz`nG<?dWfwKK2p!=vwD6>5i+q#={VCit<%QiHzk?BouWy=~Pj^ zX<(=GIJO3N!yrd07g;3KPY$SFsVPH&i<XA@_*>LzvA^VKIY<mR@%F?DI8%ees!1@j z5GN(9QnAqu39t?ZBT@7C1F5Rd?-S+kgT{~SmtDp0!6L*w+Y@Y@`X%ODnEa0)K}5f9 z=kjXYWUK2{U0eHKgApsTf87@6dL63aLbW1p*P3HNrfnvtIX3fA{<4Q=#T!7BJ1r|* z)XvFSd%*1E%`wDDvTX^>qd3Zw_%e2Y!hHspQqx96tRcU;nsk{FoaF=8TgWsADZ9Il z3HKhv=@y9Jt;<sDF<X6Ii3^Zuekn#8%4IFC;ZiM@L~H9%YXq8@CeqdlIpGRiP+D=> zWH&azT-|Skm^+3|?Q<_>W_+m&W_UTRms;SmMFfMLQ1q1rjl1I+S_dNo*1E2AsRS!` z$Fv(n2gU7zIdofdJKAtgzN3ELdt#Us+C3iWQ8Ji0Vwyp!2MLWlkecugmHB^&hmJ}Z z{7F?+Lofmu++FdDC>0xErzsO6p*e?y@8;)@F8xSA)j=c-LY2<4I<=epMyfpkdwABz zaO%yZ`aUw1KQ04`H#|`T49Ilde?)sR9@aXpvZ|v`*o40MgdB)Hj!5_?XYCIJH@taG zsNf&F0sdx~%ePkK%)3{gLi5k5I9UTt+hiOFk<`>=8XeU;J80LNgXj?F?@<A%fNagC zFhfN;HZU0j_G);rI}K-GgEPKI5DbH3t%A39gu=jxA}uV(qJIoz?>Ga7*?89Sg(%T5 zrK5AVv8~ROkxP_o8kAOTX>TePSa{6ajI18M`kDCQrt|YM<p71djnyHK)kW=e^zM*X z!s<R3`h7Gth*(GMmbYoatvlYK3Y)-%o-0s}o9ijXT-WSd$NDEiaA4Hg8N7QOEf|jD zA5c^D-z8_}$1aAVwcnV1Fi#lz@5-&G>rwe5BL3n9BXy>0Z#>Xi>SI}pUAJ3X)bn1q z%&au|C8pm8Tpq>9Rjrc%fZ7>)DLas{OC@AP0hrI~jrBX^zdY$Igf-Jz6fwqC-7Dyz zBkoNL*7Y4Nv^L&A0}l$*Ek}Y;m>oE!F<}!F{AyhOXl(Q3w{YUPgh|dUo#p#q>N|<X zMUx5wUTmvn{hm+$U3Io}s^(+5Lml|ae0o_y=#aAJ(1c(?VKy~1ml11*65z69plp@h z-bl{Y(*JVLfqNs`j?xK8<I;0+@tr_2%;_?;9ksEcY_?X+V^<+kO<KzjwkW^%yQ)PB zqJHqzVYYXryu^p}k_mHR6I`dhN-vUd<9{RWmGOA&tTxz{ci{`W_y>3IO1hg@5|(2v z!_-{SXJ{o?UK41R?>}r(Y(9Zno0$IleiDL&1=a{+@LE$S@ogM`my7pzYI#%?Joo}1 zt-8){oL_+f6+MKM3`~-YBlEoyEI;xm+QM#MsML`Uu_z@Lq4^wgo6n;%xi^@;8o@yS zUWK6s>cLuu29NsEPFb#;`0l`@70MGcvaAQ|H?|5;!+42P3BO9?hn}b7O+h^WR6+1! z;bGiv+$fJ9c=^d2fZWMe5)IPins{Oh74&V1Xl|Vl{qF7qyGone4BjX$`h25%4nXaZ z&SR_0c~t(E$x5f%mc^h+y9WIX#Z{|m70=fck`AEgUDooAUU#rMbyy8SS-b3SS<#>I z#~5it+$?Su!YFWFD;&7P``fZiTYpbTDL+*?B(?C#y7a(-g2wNg83ue4JMY?GAa5+e z1fk^Q0hvhRjDZPP(U3x28HDwP>(I)(K>46zn6X`IC{B=s832I}LQw0&qM%0$IA5y% z^M#s-xavq?eW~>=AOf#BiN6LnuhIsIQsMiBSkNKTyg%4JdH|?eKGu|7VR~H4@iiMJ zLIoZl*w0h1T-;5Qbr@{^u|05{+^iMl|KF9^fq>hAS_LDFG^ZH{Ps+f40|8iMv=cNb zLskCGF#5rj7%3is_8OR}mc8+8&CIfr%|4n}O#Q>*z<873#6A;Hkq+!s12`Snto-o( zxRADno+PI|e<0Z)?zq=U{rXmQAAx63MDPDy>|dU;8#^j&<>=V-`r@H_^IxOLYtiLt zmKl_-)wV`5bG3V0UF49OLoimRY9<C_3Ieab%m%L(!rzBo;7v`8(LZwTG!md4OK-ms z$Rq%Edw=3rl?{x-HV#kC4hlUJ-(Htu*qi|uVPYIQ5#N4Yr<`A7<Zc508dz5R!(lV1 zB~?eJ!olG*+F{~nUUk4f9Z8^R`Rb($o}H!%OK1DDx}iT(<bQujZFEu_RPMK8=yS|~ zg7~(IhVNw54_<t$3j&Picm|EIO`S%=G-GP7O8^-aqslHgsEm+rQ&3f^sXdRD>7E85 z$g#uyvk@h|vcFz<(MwLH^m}H?r(&4)Mvu#WRmMC%WTcAq6Jzf!oC+O3J2fk78r}{4 za_Ql*m)+-jQzv5ocIesNmZpy8F&($P(l8rayRYU=#q<#m79D>r07?m*U4@z@-3ATg z%jtO98csjFES@2?|9uvaRa4}`!sv5L5-9Wy>s5#hgy6`%p&g37@o~;QsP(a)pmK14 zbq<$GYGD*cLZ+wc%xpQ1K{azF>8HwfSnqQl_s{i0-$aIdh-LXKC$DpV@5fSYJo13P z$#L~ke@`KwJ!9zy%be4~Xt2LLv14m+1~;kZ*J)wf+1}9!?xojr7T@XA4tTGo3C>mZ zU=Gk5VK2lRIp*wyn37ZO-<{B<^$p*1(v9;nP$5|SxnXl`BV$~yTj(W3A=UHv?5si; zxA0P<yB}vpRPhF?9prW6sa_1zotFZh-Z|dQ&5JCZ+y2c@L?M6Mkd=-55z=8-lV8;` z{LJWhab}VXji@<6lCfT^n2%!gvMj?v5$Jrsyg5=9vp_Q^Ey3Ovznz_Rx3jE#l}84s zCNA*6Y__{IaA;yV)>%-^{O|83*9N8(&8a<t-#Qw_7OU>Q{&Or3n8IlkBD|>w$#5=H zc_-*`0Nld~(uV34$m!f?0JDcnL-@fr?MAxrkPycObIQJPq}(zG)VkN?kECOEqNxEm z^@N5@h1aCb7X(2IOVno55Nj~DL@ahx=y}EB&nV8T@gF2#r$iWdxZ?#A5{>3-3cC9| z1Cl>&*{EECII%KjTo&9_#-b}2K?d<NA8d*@W=<zrTfqZlyE2<S4EZc(fSKaV8xwG= zuuU)+cNGV)PR&1ljg}hJex{|}#Cv{!4OZ6bD|$DR<qIx5C;@!?ZbM>3re_8ZJ*BiD zL{{fkM<6L?T<fQ}0~}Gd%nz7=_fraW<0Yhquf=&|c(YHj>=AsDZMpY+*dFV0_zYo( z!3jWpXvMl9Z3U6;1kh^Je^FleRliqqsy_7FTawjXU(Wl{@v{=BC>O}qoh1*2Tj|zk zM&)u{4sHUmz7saevN^Yc5D8jVFX2@%4LvV*yTN?8yejRzoJU;vz?~*tr*((wDquDm z1G0i+WvL*rWz1{5`OJued5vA0Y*UKPfzfd?c1|%{a&PM}`O_Z`y4@`#$3M5vlI=c= zGRbvh*ADK;fRqF7#U7ksLAMeLMHbf04?)a~#a=f1Q0KaeLKpz%FI0|!9l9=}noeq? zE1TH8w~J<C&ECFW5{wM!1)f7L)o-?ph^G$PUBu%3g?)D27k~HKqyBswKI!>ut6DjJ zHb+5eaGx8Yj0T1R#_fE2^8k@CJ|yCxfc-~gjwF9-iqTvF*WH@s3T8Ag53NnQ4ZO*) zbhT^t){AAYZwDO~(x*x5gal%Idd1p~Fps9D$y=Wna%#UUD8EIsdL-?Rw*0;~3CR|~ zVp8OV9(z=pg?sv#cNul4n8iPB9^;g4zZScAvwK}Dm)8>&=|7PPv*5G1l}I#gy<qyb zy0ZlhfchI`Xd{DckMn6(!RX9b**-6RQNiI vsQs%G}c$3}v6VIIln2j@h9-mpwt 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 AS^xk5 diff --git a/.next/static/media/ibrahim-frasch.56350f5a.jpg b/.next/static/media/ibrahim-frasch.56350f5a.jpg deleted file mode 100644 index 75d4977b7f1a2c35f2cb108519236a80e3cb015b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367832 zcmbrldpMJS95+5uqM~ythYATfRdTlE8zB}#j;kc0S<Z}ErBagRT*4}cInBO=In8u( zjFn+AGjf<2hHcnv^V|1%e%JF{*Ynr!`aSn`?Yef|yLaFB`*VNp_xp8tf42T?O#t@V z+t}FvB(_ONoRByH0BlhJ)&PnB%k96D{9m3zLSm~Ouy5x!eW_cL68iw#_DM+Yli2zW zPyqlWw*Sv_1ODGlVw<GY_8rnYWn_1W52)V@*d`$<xlKxP`*tZQ@zHSc?*OTN+xMR| zu-b9J`L^__u!H9wr+?h3db#GyA(!9FYUl5SKar6=eB`LYG4<0LXEe1g7+y3oHZisS z=ZcN(RXcmv8*c6%H$A=l?*`lpydM-C5g8R76B`Fhdiv~n@{5-#8JStxIk|7&<$WqD zE-6Kql~>e$uB&grH8wSW{r3GwM`u@e&j4v~XqfzGWOVZH)bz|OeU34|vdZRg*VZ?9 z{Qu&T07(9?A^V?!{U33O2SH++l$4~D^nY<lY>N?pB=<>eKWVUIzm>D}?XUx<&OP3F z@N)XcnlCb{=UtW$-3k9Kdsywlr25K#q5Y4@{=WtG<o{P>|0}Tn9oHyex1@yl;YscT z00A4NhqNi!vPC4x@*RV0f}K2#fao!fyU$&e%vUz$s$#JuLP><f-`q;Uw<ffVYN&kT zL--b;AIRqnchu#!77XALMFr^zHLRqx#6~((^f35zrpH3sBFt+G@c53#bQoD6vV2z^ zhdwjn?aSZe*R$5P&{p+u=O#L1r^q)}0F?Lf@me_fr)$aM7v~G(ha%R|XtT{fJe15> zT`>OVsC=#t>F5@~<mh^5Xm*LQ!#h5(?*Mi-h@!onk(!>m1wegccx{@*K_K6Yo4n@= z2&&FE>57H16NySY1+h~c%&9zl_pAs~vdjl=NHr0i@CHfZTQZkV_@(2qj=&B!KGmwc z81|(jj;_50U<!jjRc`?dZiJ;c@}U7}1hdI+(><-{^qc%BK$Q5PPS-hUjYkr*cmYnY z@@2;LSIyC@0>}WJ=+C}-JvB4>6*ypxL>^M!_ZM-zx%Z6R4jIKaAGoZfH#-c{`y=v% z4(eV0jy6tuqd_{iMn8X^Z{VSF=nC^F^Mm79$Ec>Se}Z#kNI4OBpNS~r>B8dGoxo&2 z?)ttW*|1a}|4)bjMEXkGaPjPnMvO)gtOXo0#<kexnD_UFn@#_X^+lqwblQ1d^lX!s zTH#Bbwb~J$(v6QAl@8GEEdW@R!IIqYpT*s?&XxH5ByQ?WEFi{Q`8@GZuU@=cEs2iU zIJ4-CLo<bu3vjzh;Ypn->wm-JLamj*H5jYpz}%N#)y`6&tD+XE=`1iiC;;6*PmkIE zY$8&HKG3}1&Qr0Ex&`nhV81scedJ2>NZST)J>%zZ0kn2`?{_)I!Szp9?z4zhiroTO zFnr!;oDJ507;eE9N)KoMh_-xm)ZfL9o>^Gu`|Quehdqs5%B{a7>Jg0=jf(k^qAVZX z?tMEu0rDVG{kGGR=DX?3og2TTx^^lKsS~(k(vLG!J{&Ap5r)#d0B$E#zHzqz=5C&5 zh9plo6}Yd>TiZ_<4;Cr*4A!gFyC$_+Am5!%m%lF<Z`?|X;e0nvyRRKSx_jIeR zPkkWT|0dBJkYx0DpeZv?s}IJD<Ba5_b5*-?{A_*pYgXu*mLNJgf@^eNwR#8QJ4Cx0 zwPG#DnxiOkbIKo2A#ZL0x>R4f*S!yMqM8f3v*zDQwc^vlP>jyW%SFyDks~7-%+I8i z{XejAHgcn-6u;n2gm3S@?y`IV>5cJbRooV!Ed+FDpmuf(&<^H3`EHvdz~E*vLr^I5 z&h^oka|5EAqHNv#TtpsjLj5J^KA|;n@t@r<?<wvMa5_(6I%N0~_UEVv7bX6L*_CB0 z#J$}D)S}RUEr6*-eoLb2P2}e&2)7ozEDarm2Z}EyzXdqp=$aXgqhcovU$hKiE_ju! z%k3%4kI*xwOY`oaYO}}rafu=5X<(HnF1CdO@&!-L-c%VqL66`pJVMy}^+&f6qEU(8 zwSKp~*XAPL&Oolxm7#-Wz)d|rg3on^qc^d4b;)BGN&qE)BC!?aN`wsQ6BD+7<k1+Q zKaho(*o~_4Wn%lV8@GSdpX|zTC4ah$I3?}n*AtB=?5ZwEgeNc7#T&s%9ELDd<6ZfB z5b)p@U;&YHf6bKyPax<RYTh}EcW+x4?2)d@duwv~T7*CqD`a<0*^%<%;q$a)EBGA? z6pa_Ok;aZPr$-j4sWdJ28#9=W11L_F;mhA>tmA^YW4X%TOwooo6I^FF^*U}=>JiEc zPchUM1BV^J?dH_0`!Y`(cWWaV)@ZdY0MW|6B~;KI=L=jFB=bhow*Wb{5x=$r=_)0L zP7osseSPgn!;qg>)DUD4)?FbN(_`BlCP1zhjr4b~i*S0B9|EHgJbC7J>6GgNaSM>Z zMzy=FMbt0yv8|v3jtS?<ebS>*is4H#%5O~s`iZT-%KK>Dur0v1LyEqJYuV$XPsa-! zHWyJvh;xJSCZi&R9s$~p@I<e$D<S-7p$#1CBHBctHjZ%0ufLxomld9txzNm=1<#;~ zvs%=7#aWv*x?qoTPYg7hIkX@=nsZWjbPEud_yRi0RpHIi=qr_LuJz)4Pm2}S17`(E zi_I^mep(i=IWsjpS!Ccv(o87Ty&U#$&MEoq2yIvi^bPv@Anb@a9MOqpfO3Ks*$t>T zzwyHkD5w=-^vH%WbQZA|oa^N1MP3zGh%fuUyJiHhkt;zf+Xtg|7up#wR3YSmXV;mw zwV~am7-rP`vqc8NP*DBsSm~$MH#cJLU<4gnLz)`Bn4A`1H*+1yyg=H>fY<GvZ+;<C zP30bM>Qq$Z2*O;-9evAiL)`s8T)pi)=P9)z)3(C;GP$RjG&2I9>r~*N(XDM!cbi)g zL$KUrYykky7}`of>!yLw7CXaqVK~|^?Z>z1uW=R=@8)vXQ=%%zW0ki6@fMbCh4s3I zp%@u&Z1WFp9+*g9P8E&f722ieK`Q0wh54wb7?CugOoX#vr-NpM(FZnR>zl8*02G_I z1$eEIobkIOdVDzhCI5%stg>M*NuXs+1g*kNCpKkKx3&QEu{MT0Wnh5qwYUY4g068V zHoE|PqYZy9dO>|)zc?iXl(p5^nVEcaB18#)AuMUhGp-9-7lhqlbc^;urpxb$PB60( zMOhE53gKl6x8Jzmr}xAoezR87y#zy7(Y7QYcxj^XX5ttyR|N&^T`pNrS#?;tyBX|( zyMVyHB~WnE8`8?+mtZ8g$liJMz$S`!u!1Ctf--+X*Mwc>SCHQkD<<XH3Jo+hd>r^z zcCbfu29L0Datk1{ryV%YMn<V}e>fDG6_@u9x0N$Cwqcz3-QHO0{K=I)U(9U?>%%}t zG;g>f^T~!UEfbOKxF#PWMJ+iF23gUT-w;W?N){dpLV2D*E5MFW%c5nAtk(t?SG3ba zw8nPJ>-@WcoIbrf;<wG+dydBVXgR9Vr_wI{Lf7oa#*~Sm8E(QK+|-DPZHc4_Qru3g zg$aNYvI$ne`!BZuKzmdGa7NTNsg)jYEUt=X;(ao^see1CwgAKE1@y3K6fG3L1ATa* zL>h8&3-H8F<>iiv>Y_|Cg{?5f6);R;Ejp&b_c1y-Eo~{Zp|q6IC9^E|%O*-`wi6*2 zU+V13Q`I<5DU%jIYYWXLqas`vq{aJE`QGaim-d|9ah^uX+xG2oS0CUE(fq(hB%J|D ze56a7L#WylKLcd18ZU~GCji87B3?h@4|DGMHmhlkLz{5<h-5CyY4nhcC#wXNYr7$e z-!rlVUv5$<ypQAh-*3Dyw7{w7a8)fBmJPf;dU3k>!-A_lf$75;zJ9ETkBwh+X^HCr zb_OKL;eXFg*S~f6XG1BX!z^JeB_%!FejJgW$_d*7>|>)+&%Teu<K!$|EbNFJpw~2Z z&!NSiQ)oXS9ASO4q2Ap*c;b$&5}?COE`LhE#h$KkZ=n%Bj@a0t=~yaycIVVllMa1T ze~yU=?6q29<K%lG22nnu5ENRzFY_@`665?TX6Q|CvP*%rBnpJa&e#vTgkb)Vf|*Uz zZ92b7Qrri1BEIxKJNiZPp_a7YbiCZ(x)MX<)f*1u3FU2-;;~Vc9h`|Bd|Eu_Hlvim zS$eQ>;Kw<yzWt!nCLPv+s*3q<cJgdh3&;2g(7gc(;{(OF`&qxe2ZZu9lY&W`hpE$p zS*=wZFlqw+Y!b1bGJffmTGFiIMbPzg@GxfDyMFm#!M8)tvP}%n)Ge+5j`J>}xN;K? zYaRM9U5qV7k;})mr6sbakFmWz*UXg`mPH30M1}EsunqUm+*Vj$vaEaMn&A#km$5ln zYjzBFxB?322Ms>@k@hi}jAS@<B@X+N$DWJJ@u*OYpquQYe1+83@0w}T(});SLwq2& zw61w>o%GSXw{&#_OI=%R(dyc%HYIr?o_^41&AlT<M?JjmRbjlMd`D(O4v+uR&hLjU z$iEY@3beP5KUY*83+ye-M{tE9SH01l^!l_Yjow}o;(L`X+SsBKy~-c1X=vc_A4^VY zC{s-%tLE*zb1Ont5wnL`8`+*$r_&4u5y%<09iwEz+&{xOsye?mzry6p^xdI1pJr;_ z=}TtVuoz^GEdVC(ZMVbash{}WBLM%Au*_76&T3-;)1+=RXi=2-ps~`AY9AhLfj3L^ z1%iUR@lj$-WWYHe_+>(#rED6(;I7jz{C@Si@I8$8mUNenvz~LZu!v)LMbtGb*j=C@ z$Rfqwx8V=v&X2__ZUMZ?2Hibq-EmJ~Ap|gKS+mgs@r_`fD9sVnozK$Hhzb2+=VAVg zhXky!C}dn>(_%^xh0i%ZGQxpnjX3Ft%QtfP+)8@pK#v%rPRNJ9Pm}*(0-PdqDqKMR zTIn#$9LtAD1(k&<%cp@KHPYS**rRO)r8vg~<ond2`dSfAfG7^Js(<lC<+^RC_~}^= zWuoI-SkZOj`~XIAp&QUaf^uAkY1$TGvJim+6_@q;s$5zeXK{2@@7_vlvS`W7-wagc zeEhM-ZEDprghcx4388a7NCiKbq^Gg3xS$``Dz|H(qP_{^a?>9x-B3O#NmG&=TaFJL z3>?iYiGjd%gfKx5odEj&wlIP-RXCPNnC5=8g0(Q1bN2ZV^=NKPbUmv4-0FuFngI9# zbK^(`+^wF+Jy8B>c$9@`ZwY-E4(Qe}VYc&=mi7dlsWf7cekN-N!DGZo*S6@wUb-bU z&Qe798+^Rkei*))y?8R@A|;q|zi>2q3-HKfspy%Fuif#Ny-EEMfB0((Qz>C3Ccx)@ ztyMj4McY?89lfG!!5BeW%=Hyno2z!QDzPswJ~DV>tRbb`iFVl$LhD`a^onGGY=$V_ z!L1DqSdj#qmlkl$>65DyU;RiVmRu{0FN9(@3JQ&GJd7wPyP5HDr_>awOapyME&^OW zqj2_Qw_4u%`-Ga`)oy4G7kIA!d~)BJikGaw7z_<OPfrQn!M=_PlN&MKDIr>ymNfSV z$mK^FuHRs|7H#i6?y1hM6%jCrr_hGM)s9WU)WuR-9s)5AgFX?MnZH(u41bpFHfL)V z6PN)IUabzU*PX#&e&*mr%}SAFBfg9w7_(j=G)GnnlqUBt?(WcOEtd>(0rh5fgk=_@ zjRlp&!u46QLnWtHJX|pY$y%Up5n|agaB%$CuZ&@159qGXYMRsgEx|vhQI{<1F)iv_ z0BQJZpA2s%rR_bBInY@~`Ce90+1?3-lD7au-nQP6TY%>#?^~cP0o*auK<QOujMUB7 zFOS<#DX}|OKU`VX2XMBffBKVt{ogLt6{eu9(eKCO^v9h}h<+`*BPx^P3dAo1e2~_2 z=6;ZATodRA-PhT^E3-qh<d5`%iITy1!Q1`Yug5aQg`QtNavCS`EkhcAU4GR1?(WAN zPKoeAdqiY~{Sx(?M?;C-w1KLTic8oA$tyxHTc{g!a3Cg)S+VeLs!)4)%x`DWn?0RJ z#pUPRH*Alc^1HtkS)n;8TY#5DcYA~AXt?>J5aCr|loT1ic+Wff<_PW_y)rO=ziB?Z zu%Ma0K9J(Po-wcnVGyv6NMK$BDt-;08!^8N@jS-zA7B$8YtJ8*w}Ays(n%DB&gziJ z%nes|0->zJm4?k(+X9%udq0{A4DwN2EnB}k-QCQ>xQZE{VKB^rbMCd~=>i(sk2YMA zwGpU4L8*=fyy%ps0DDlU*I<<#CdDSGr~Y#clSwaQFZWMyp6V$sy^0169x5)<tpFpZ zWsi7K;|xD>1`84uoNV>w%$`0-^yJ5sKg^7oA@|b?zGdqi%v-HFvk_!z@+d!&svtC( zS}o~TUprDjnEXxx+0f#lY!PnzMxZ5PYU~VmCxTB+tP5|UWP@>>FQ=*a=~kLxKX}7E z;_>%OLf0)oHR5eaNaTxAoJV5HrbspUn`h%sbN<sQ)B`bE`C5K@ErsB{EiD&<CWDDC zUj^qgkLuG2n#fs4OItxD$w5Ac7KBCd3~axd$O~$mxk#1aT<rlS3Hr^7Qil>rZ2^9Y zFBZP`ROM5IW4VqPYpfnZv4Qw4z+2XayQ}|;=*<VkpT>JZxjfmv3z<PNPG41?AGmm4 zcIDTC0(~5Hwk2_wAbAS_1rkI%lP0q&!tW@ogP7K@n1|MF1t}g*>x4|i@=fu%J|l=V zVs5GFjmgf<LUdKfNADF}Kp{C1tj*RH5nRYv#f4n)o)P`CL<waqRM&A1CKzO`-csX> zdEKcr4?(#&RRgCFyVtX37ij1(+i#l5f`9o5NyuLli8r$R8XVw};D=c^qGMQ*1ivKY zx1ccG0zK{N$rE(Tq{24*{poBL#LUwZB7ESL8<J4)9Pzd8edhGO$HHGg6z9`ug4Xye z!HeiwkYfW5%U#vReN))5y!3_hI$|UL*QdqEZ2S>{ghTcksE5qi0wgPJ0c3loM6nVa zH_6r6+-~?+=jLH%FW>+8WI=n!t;G=ppOe?NCfIYp_YG-z_;&YW0xKh^4EM>7!e`y_ z31z|gI*5}VldTI6b%+iA%q4?N<k!j^@9;`k5HG!p1%Zr(B%E(_0cCtM0nTp$x`lfb zYekOhxGg}P#`dTZ?hp%V(M6c_@+nM6Lb;&G2YDClY{4^&^ib&h#8h=37PO&ye6pSx z0{_;ui?)35Oi*+aWM&IMInb-^WiSJtv=a(<g1&hpd29Y+wj*Y^^6X*MXK(5{K9`5g z@bWWiz_p2*=WP;?jY<A!BEoxY=WHwsDj*na2~K*ph!KsN65S1)#FG%cExN|-V(HDv zxYF5Ig&Ouiq$Gs$g59CdW6V*X8>WahTY$d^VI(h-D(vMRc$Ha?ff8n`s;tCg*w3yL zPr8H*Y3%U`(&*D{RweJ$u~7HfU^7NM!sBS-ao=r-hhqn}0B5_!q)dWg9X!wqxx2Y{ zu(gXaIn)mvJTPxwO<V5-It6|0*J3&%jOGuc)(QI$Z$yQgdK*uP;^>4%l^iV(o%Pw( zXi;ltZ~>PiJgYA-Yi6#+#VUO==8E<qm(ki6v+mTvMj-Plt)t>J`(1B&jioX#maEzg z_)$X3569Gxa!JdANOi58dKxCX%X^ahOLcFTh1F~1>JQ7Ca|?A`@{0Dl_`TVVU@mjT z(_`oMPQfNYxGByLBEmBn8y1EiEf-Aa)BE<{`|_30)c$=>e#Bb}QUF6!Q<k;>SZ57q zW*_2;$p3h|(Fw)N-zSz;Bf8e8wx`C|y!m>qF_pAsF~GPyzO98Qh_9JY;a&qxB{3-& z#Wy**pkBnFo*VY1u!pAOD!7UG+Sa@UDAW+~5Gxg_w?%r)p$~ZQEMh}ejJwd2!e3&t z1l(XI!eOw%=12<Ek^4Jn<C%D#ofk*!!FypY5ryJP#lNMfyfe0>O*)K_>X+~j2tTWX z8|t~N0K`v(;6(1phqrFUCo*aTV&x;)slX6lziK^O8M%hDJq}(Ogo=;Izq13l*4MZ` zk0_DNSK_$OE!3;jRgMBTWRHsnNM{0q3H_GV=8fPci$y9K-ya&3OKaINwcHu-yWGkR z%h`be&!<io(|+SZt)z7rL??NS!!xs>kUG8&urg26iR_5U&uc;GQb7_!^(G6Uh}a+c zGjY^sowvIbEMhxV3c`kpNf1A>&@#|Xb`@Wu5fU{ZWU;xw3+PGprEN%wMyaq2+v~=} zqbD+ve&KP|at%x&0{n5jx@uuz5mQiaVSmo^U}2+5Pf3!>rR{)&0A&gOu^kzZ(+k*2 zZT9$+iZkVgN1~_}=G}w0WOr&fCl#6~-pUlr58wnA?a>y9cZ&mWpS9Cz7=TL8Bl+I( zCs{t#!@Y!=`IFb<=<Ev!@0!ZdF)SKCK;{UpdKzS=BNGW^R7XisX@15)57~<vBusdL z1hEA*F4UZqg%P}NMh<~q?(-<3efHVGR<8DYZ}1FUWU~V;c@76)i!5oP=C81bNE-CA z*KgWq90s{}1^zg;pg~S9f>fpiJYDU}fvpj)AlRqh|4tB3xmC-UA&8)yRxLx>h{)W? zWUxqwW;~wI3uxXYq0Nx$yn-wh@B7tQQaqDUlYx0;tLU%%7Dyj%?Ww7&qr|Lp7owmQ zFw0Lz#te|;U&B`Ffp>~C?oQfGnVeWDG@cMo!7ID(e+)ODiKQI3&(^T$>SS=4{C%}S zBW98R7M2%}H;W_0%WDnSy~1eSjtWXw4v!9eBCq!7>WQ?X21JXiq2d)wJGEilZ0%gY zb}bh-&4%KVTBu($wpXOc0d0>R`FQ_hhHKMKB`53MQ7*9)6H_LKmfsEARTUSNP+oZ_ zw5G4~lw&^?$z}$-*Vm1B_2G&T$qX(i+1z>i^uCvBy?b|>NSjC|&Bd*)br^tAcOFI* zkHTqAxnh*7tx|kDtd4nES9j?**dmRqboY9Xm2{&C)}$0?`>6rc$hU61m!16coAIZw zE;x8X^+|e~X_Trl(7MxpmkapZwp6n~MxR@6^XOj)bP3h<tDXY3O0Sj7PgQO@v8FN! zN^fJ5Z*LB_H3(#{H7XdZiX{gNQxz~QSt)WIzfa2{e!(r07Y7g<6e~^!kQOTJQzpS< zHQ<O(O*>tq8l-{=>B)k`BVgZa-`j*gj1a-%Np^TnJz<e$aB9c3Rm~n*Kd<q%!5HnU za`I@!>6KrR442I0=FA{w;<!66@x%hD?U_O>k)RYtQyGK@b^B_>dwa()%aKMpe9k7e zJkvC(aXRg)r~tMFu)0a}##kbjJKn(bnC0)!NUF{Oudz8Lr+PAWCy5#AI#-aaA(#dH zOoxe1h*kc|N=muP$JfRtK%&CLI$Z-9j2V7@egjo`zSzZfdmMA9QP2sbA5zPH=VW|B zC6RyxBRaWd-RNiv&S4AS@H60^+LY>1B0ZC6#qD&m!W3DCzP?G%{VoL0x@MeK6O5Q> z{Mi=#E3?Mw>c6J`8sZ#;f(>2nb%d6m4<2Sh_N{X6K9>{&4&bE7CS(DW_LOgit0X}7 z-0Zrp|Ilh3cr8lsEZ_{-Er7-!9CC7~enq+)^nC+xcY2y`Ngxe8lcu@)#gF`HMJ9cr zD~e7i)4W{JMQzj+7mq(R$Mt%DiT#+}8HjgV0OP8rBmP%TFOs`jGq%Nb*gDai5Gdf= z*)+F!3K%6Ya4K$Uio)Y+YaU#*5zC+|q6(k%aZ1Rb577<2PAL!7Y4Hf_h(Hnrnyc0K z#CY#%!zk_w7R@c!LrED^PrZpVKC#H58-HPR`h=TG*eeoqD0~Wk;mgpI@v!g)q~j4Z z4U@Xr7j66v(3`)nfNE=I>trHH9&WiGz<zIc*%4PlP#UJ16-KM7$eQ=sOjW0?w}=sp zwkW}-=<lN>)|qL}i9p3IKxE<A#f#}(D&zdr9oGs58Qr|Px@J);@oi_I0i@CJNcAcy z5G^o@=!*g$$`$9_-UAul@dq-(x;w9*i&L0VklfbRsn>hb-g)-b>biRl+fq-zPu=h| zdL`0jh==gqy(_4?dU~6)YTWDfx5^Pj1r3r|FRJ;FZ9JlLxGlQAzGk)F2fgCwGeCCd zLY+|LcZ@d0<<GQhsVDp&o!bQcOa$kq(v{%df2&LGa$7>`M=47}gth&Rzr}Tg_m&@) z5szDIWbPYls6mdZy~bzlexxsB9+B>o=7phMY{3yKMFib063nwQsFV<cA&6Z)$5`mM zu*<5)P4DKf7BzJ$A${Uq!$9t@k58x65<+k-!&?9{Pq`%UUIVjEF1c(%8AxnAgfD{c zOD*}iw206}k^hFA@S{Ei%GRZ;XPNs8rttb2so|i>lw08P3ukRwY{D&XiABqK?~{b~ zH~u&Ro6h|p$tAWK@D)XofI7gmqUhi=3V+V=+TAjPG&2<}m@R_U^AkU*+>rbgK@wly z_Lh2k>9&-xdaj2=wcPm*X*xp~a^=vWm`WQ#;c9TVI<BzvVi_po4_!8vF_?HF!u50p zzD?{z=r(7brVd2clQAs_Ur?@j5d17`EV$TTCbRJAMSW>>xzfs;;Bv!*@5y`-p*U^> z`x!C@4rTFqb8zUg<EvfgU@QD*7Kx?!qag|!V!>Z7S@CYs&pepOJ4VzNNR951(trG` z1I6E2oflT?o9Cs-J?>bqf#I|?<HBc$IEU;tgVRwL2zlTQF?7=(l@1P4XG@Ka^!f_v zqPsO*AZT9GC?MWwPH}*xhtD8=Cgeiuxu18nj4v@EU|!0OtNbAwBmAeK`e7%J&0m?p ze0<DM#-fseoeishaiPu~H)k1yIKN5bJ^#&c?IPr|4~?h&kH4l#rXz!cH6LJjEz!P+ ze=Gw9L{>n-D+V96f;kBN4gZlq8y9n)hgQGj+NQ+@Sk$SaT_vB>#>;fc9_zJM3Tw)< zpA2;uK1M;HEn5IR@8t7KqSec<M0Q(%V*|Q+3;2ZW+@Btaw`<_iv%wi@ZA;_c{9PE~ z(k7v2P4UpB4r#V1DmC}~fG)MlGAJf@{F~&jL`AnUOl3*>2y>Lqae7T|&+Oty?P zLz^l6ahg1e5bx1%S9@rh5`5SlhL76S+p;;L`$H<BssH>h#I@mzwb0LY{PFSkHGZJV z%|D&8G64Bit%+*xC{5?rX|e~@-AH+)B6`*X=Is_3`VsEh(#*d5euqTogQ?U=Rwv!A zG30O+*8%ihudQ0xaSNt5<J`M*j@Rbi(Dw1?79bBCySMEXPd3}ps2)4~CC(Dd^1pZz z7#YE>46F0SE@48m+q}Rml?#M-NZAjODsReO^T+-25`9~u{`mB95%GH~I9mF#=CV1X zVGfmK(503o(b@?&ziri)*>yp*aTvJv^CCZbR~tt7SIX+mp)m3XRUBr|>FiJIL33E# z*q$~P>kcmrcl=0NzCZ5{I{U{JPBa5Iek7!Fv&-|26jBG&CLxN<ze62`#4&hstE_dg zKDOunr1=71V(M`k;iI5}w|~aYOHBL|C1R+;1!T{wX8B$*y0I&M@1*5xG$WMsW3ldD zOP5SKY7X0t(8@llUhI|Vofsn88Bq`Slt@uUQL&a^KiT1mYUeS{N5rANoVFI5#=nGa zh_4l}va<LFFRpm^`_%*8Ns65c{0fwqjgZS~UF@!mQ${G&ll^4p=V#)Sy~5ggt^&=b za1KJ7K)61ei{;Mgf0JL|`yZ?pXliQS|0@z-Ram@v1wOS0-z0|N&LV4pW+|n)*`Wlt zcq>XT#LE&@vUVAsLlebzim4HDxuV4*1~$$ouyqTjsT3H(TcW-}RoNv`mf-bDGXzR_ znCaYlry+jnxiDkss^zsy{HLyhFQrvWm>Db>bn;3!mFnqPw}1^DjoW=V`Yvj$lUeXe zbnr|`t<|C-1RL{-0G^**+oi{wR1vNMzrOM`REZ(+7mPIU80BUrPH<3VWDU&zY6*9a z6`ry0ZV7=v1`o{QbaTd84^823#3Ah40?@QY2h~arl@_$!HYxe^d%f|~*I$U<om&9b zGcn6M=04=ti<@}qn$3k&liN@hZI=;&H^sD}HBbZ~Ogeb$f@8W%aC7%d3;3R3cf&fS zzMRfqY2gpzYU$rXY&zebwN$%5FDqj`x2ld(lZ5@_i3p(XXh@y8NWX8vPpm)pBs#c< zf{D8Dlog4MuWloJ<aMt^kB<(_yQdtyW(K&v*H$f*&*w~;r}SXVek?W=tSR2j{wI4N zhVywyujwdlcj?(G84bGmwo4s0W_*N|pITjhYYDVhKn%J#_d6zDM|TkpE$#e$oqcQy znF}lpbA>>dyw_sXG21z?cgAPgnB}Pb_>5JW4G81*27jn^i7Ep9bMlfE!1*>~gil+Z zp{%ItZ%Wz|`BsSet~Y0Pb<t5G9Os~V=||xMV99lh<Guw1F%7qf5K7MwhadmPHr{?1 zPqMQ!jHe2>0LzqDB82e9o=R}M_GX3HM`<4Dp~$4kH?mlH+wD3QEe^!s(sz{sqJbg; zJ9Qw?e!x-h`KVq~_K1z~)S>-&RAS!21^jHixFh4d>8$>I1dGq9D!JD{#?A;IxK+32 znRk9~j>|Ce*=Dn_yi-*QNq;;STOAkvV-63_1fMr6UdYZ6SO)gBogs~=y^(^p+I^jx zQB2bZp)KS?hkp3U%nKp2>znI_P84u_UEzA0xZj7qKlIw;H&%3@{VJ2>gQ@hy*OPIK z`54#i0pDDK5tsK`SGMqB#ILY1G5+9I5=WUoM?#7`;5`|NlES|rC*k=8puG&t=fl85 ztIo;cw<$*)l)m3HX#$6u&<RcvNsF!lhwAZ03u<v~=u%Lr&#T_co;!}q%DcdJCk86j za7s+|vC=Xn7)(@!lW;T27h4u@H;^AF{h3tSf=5A&gmSd6sJ){@pPtXU9+g&!t)6=P z$l=hajN+8yYCO4%uCUuD;LH`ndrK{z92TN;8vfiFWq&R;n3&UV5ef4IS0@jMj<0a* zdXK$-#Hdqtio11AMx!thZwZF>*SxzsSI6@cx-w&E0_5+1<M3L7atrd0_!2g6akR72 zb3TXs;ew0a3B?`L4^5<^6gXJr$QcFi?2!er2&XY0f4y8m{B5%D>`FSZ)NJtBPC)xn zRz6I*E_9K0NvuFA{kWg8;nm`cz+T_0&!wv+-nguZ@c^&x;Ewqqoq5AAy#t_cA}pu( zyzW#2@&~)av)2&=i#5K3a<+*>a+(jSbOS5eHnY4<PUKG|iJ8X~SrC*{yjY}V?yn)q z{jvp+WDw~$rediJ;zFj`8V|B2S_JKSw|+u1lgur;?xr4d+^;t#iXSJE+JB`bi9rIs z5W?pgP3#y^P)9`X@_F5ps(`R=W*3trFj=&=OOMgH_?b-P3$JynGQSY9P9Sa-)grRi zCdE-(N3ezy7`#7g(ZB(cj&k_!5V6*Mu4x>}!ntIA$zMUT|8UB~L<L)b();v-)zkHi z!M+^8$RdOIFm{b7o;>!xP-tt9+mR8nFJHm+yOqU`b9NlQKUu*35p<Ld5&FC|tK^RL z#(pl8mVRXUwo9XNg0GzK7H?EN$`=o}NX1n*YSv93>11qPIE5mos%!ynqNRpkf#34T zfkMQ!7wz)?oUVyP<pSf1)Huj$8*26r7s8{lmJBc}6dreN-ZC4L`;CmRJ0EU0f3H_T z5yHrb;00oN+^*^uKkA#$l^crva@Xnh^CamN<$7*%XK8UAN7Tl4l32}8^|y#ml;+WK z7W0nWI>-ok>B?O9RG~C|@oHnQANbTQK@tjzWp+<-&~O+c-42bjy)$6HL*ka%6DJ@R ziY<{dABExxlgSDltnt^wjCvuMts|^BbiDOPhx}z@)s;?rl)s5~V;l7A7jrk`7EK$k z7#y7<0$gm8@|XRc-Y;hzEofToraythG$*y~E_~v8HMBM>4jFLVtH~ZXJf*EL7iX<C z^}Q=US$124kv?5<VmDn?g=p>(s-juJtFHfTR>>fAv1=5DOcRE)t1&A<1I(@&sKEcA zeT<LRS_kWWTKvB~k104W{#oTK{akdzq8>vavL$*D{gwQU;x80Xv2$@t<x_KyPnitS z-dIALt;95P-^mxu{6NWpwxaDBuBlD=5Ik081Nh#y|1Z0onCDy`XEs-ymx$2K6ZD^+ z`tH%3)S&P}Lvr?ZM?|kA4{4pIO)Yv{a>YAm5zp~+C}(HaWY3S7bO(<k+r|my^(8^M zF#{)d_O&AOcc+=<2maX$51W(sdg7%X5^Yj2z23sMe6$SxMtR@y6yE|-Q{J1Z_{MZ1 zHNBfj8Lk#ojP*sfEehv`FR;WG55Xd`hKqcfsD!Ebeoece>15`kk$HL5$Ng})Nr`&o zfVffaIO%EidlH<Mn6?Sjs7~v|&$S(UK6vV>#HDUkwWWDj+WEy!=T!GMNztpd@!}4! z%<IsSp`qMS@=R%7VNy_V`lE`Ji;s*ufVu`_h4m0)=5ZPkH#yv)gR3eeBvVQJCd{!6 zgQP*O6arY{tX_N>ux^fGGj3!*%F>mK$h!r829RjZ<X^wx;R3rNxAW&YV8M|?z1AQ2 zvKf~jDHrXQCiAXK)k&O^%wL<$8~dmJmJZ-r5kMB;1#tdxVRUGZ(UC}1_&96@)sHh( z?SsO)X=wigu3G@t)3CTep1Z40e{U3_Pay$9TWH9g64`c-8!M0}1i*8h*o5hauzS^6 z(V%5+^Qy6dfy+Y>jwx<u+1xd8pL(cp;+%f$)X|+gEdCW&-c*wtU~Q;dQ&$t(W!S?z z4r>8w#n>+0UVAMTClh2DNsj76su}1`9ixDD8RJ7iK2IE9(JU;2eJQo|4Y@^&tB3JF zWTinR7pkhBJEhpVB7@s}k3oFv))#M`-iPyvT34C!x~$_Td~o>oOhepJ`XHiETRXmg z)6Zjdoc3a2Gx49UmWck4tK)VWA=-Z5?7yv8ClTIsp4tA0OI)phSY5z*jqqP)Zr?@H zu&k@k_wmIR`8ETY4HIU-Y*}5c`7w&wB6Pl8-Ni|_XRM`dT~xL05y<|7QVkyHEHYGF z8Rz>}GJnGoo=j!kO67|?F1^GqKa~Qn6Pw)9FgDqkkMPooY{Gdl#-wD;)+{bbjz8yX zM|cOuBf$EK@-Qcv(v~_JW@+0k<!?YM`z4vho(5JldH&C?U$>&Tk||mFqgfgC&G-2) zj-<6_1ljLtVcf;6dT)RF5afiALjdhxReJRcS?IA-O6XrAx8IRf&G;06mWG*zRGWGr zd+)J4=b7mE5kvOa{cCxo3?qU!jot`AYmZPK%2_btheskJ7lonQ4(}pc4i=Z3p*TVi z*@Y<myK+|kX(&2>(5$3q;ljm|2u~bjp-O^=R&EnzoyLfJ^_nFPm?#|mqGUGh94}M5 zKWu}YLbPk)zGD9#E9i1KKtp~IyAY%dm*1ifHaF!6^gNenM@+lp6bgOtiaOTQli<tQ z?7cBPv`ENPJqz0LK1jP3i2W6MX$fd*I53QJ$?|FNz<v0*Y`L!Dw_Pm*!i~?nyvHai zq?&nMDq3~?d8Yfl4@VW**3I>pP~775y-$?ZW<v-8J9tf8FG<Hsi<c;5lHgfM=nY;B z`}FnJoIKCdoH>lh>Iybwsh-pnYUI%Bj#^HfDD_v@OL15gO0z6#>>@m=+G0KBiP4ec zb`P@oh;NUgS^Vom0|dv&rGGLL*~|v9kYG?{W$s$LAWI%zTc!CQ_w^kOAewInBBl9% zOGY)<bH)kFi^p7}Ask0wGkuoW;o|u7J4fx2#kz^*SePixS#2<MJ>&DD5Hgt1@45;C z6)XyG&WesSI3p4INys~B0+Th~YMNd*>g@|%wI$fnzPYxoIa&@kpv=}S)02fRh-ToM zDlzj#%zndhhjOyT5>XkGsKh9lQ(3mtm%g<9`jbaTQsdV?Y?r-C<cX=zb+e$vT!-23 zA1+_tmR2->Mxrlug(ra=ew_N@P(1-+VJ#42UpD7Mz52l>@0JY$m?2|TZ@9;6$hf`| z#tYWbh&O{`@Gz-6MRT;!f;MZ#ZQ`y{tO}jX{`)LO1tzw%lSDS%n%eiLNbxj&liw9p z)pBF8Tvu|fx|MbrKOPms@^)M!&y1CyS`Igj4-_C_-5p+dvz+keALzH$Qy-=F@#qY) zKwF`7C`0VnoGV|h|Gfpcwv0G@e?sQ&Xw2Pelg^(8;_9w%N>2-Zla=Al9w3uIz5G7| za%0$KQOkem3b|u&Vf-+>^116^U}<=qQrNHX2x4d<JQ!lAoVKWQ!3)b2N&J?5X>owy zy*QT!`J-v9Wq0(JEke`=Q%<a>yBCGTkT6?-Lqa(HM!=ATASIMO+aVt3961YdqdcV1 z2p&K0oN?KNZo*76Mexf+&0^d3Me0bk!JEd3yMpm)L?PU`*bMPa;j`oHX+`a_2kBor zU=JfmI7W(0xLq8cfSsowsbZX+C;cg?4UCrPh!|VcP*W-Ar)3R<jP#wZVwJ3u`J`!U zx<j6+J#%2ZK!i{|ZnIKY`KkX6_4Aq6YoTT@0CFD+lO)G>uN|8CyJ{NSSbjwv;x#`2 z!tn^!q;`62mD-eSMrgqR9s@xZwVqsY(b%WiD0}19tmBAcphm{|!l(K1VaUfnjT14N zb{$%M_~B+DEuC-U@m=dvN*1Z1yKxcfO<>}QA1;8Ey{HwH_SiznZF07XTvnlc4L1Ax zgu1<m8M+9Ddw_Hj);N|G&jai~<4oHMpoGbfRLcBC_G^Zg(jVf9h+m18)R4aEU^~MQ z;8!}rw2eXg+yw6mklG7U_@ZP1v>co{K93Wgb%ll6dhI=V%WS=q$B+52BiFez;jX+_ zy^LX0DBkwY;X70@xn>Tmg+qKjqdr^L_-0KP>Vu?J^T@f`o)6kqBGj3Go?ntyFd<HM zM5NKYc2jMIr#@H5aa0OUX9lhPQF6pkysJy@pv~og64x5-?BbYFZ1Frh@vumZ4~xj> z51PV);sq(0ubTqMWN2rN&8?#n%)zwQJ4M-;VG&{)bk2Qdcr=Q#e8zDvT{%C7ILT$$ zm1gthQD8lrd#3UJWgR5q@GCQ;KiSS9eKbeejPLSC1qO>_u=qO}r`?n|qx^&F&n_*} z8cbngA4U6$Bc8+gS6G}{{y{N+x8gL%;>=nIamN2N7fR>93;)su$dLc#uNXx~har3F z(^9Ae7az`g3}LeTrWg;~YT*1pm%~sieJ&o+-tU?-yeUg30|0_=Xp36gEkH$@cLSzD zWRo~BMjNL&t&5to)sELBb^7=#YysqZ(AjLSQ9fhioqbHScMSXdH28f|C;B>Y_ml>i zG^c&Pfke10{|v%qRIBd)BHL3f;bWS7BLA+c(jT>`c7+ZZNkjfWwO%!!Z%mVzy=W@p zmw<P#E_d{Gi+19R9N^(gsdv(!Tr~~|SEZ1j$i=BRC1&TY8M;$uLMq2;I+5H9o_%KC z@8FDF+Y|^-$hnP|tOn{M(7}y&Nw9DSh}b*r<(|B^44onmB^K-b?Ya?RZv88HZNUQ0 z6NY>$ymGp22X}EU@a&SN{XhsjG@DBeBHT$GKZm;(+UjyiV|%*_-4d;!k_$QexFvCE z*iLYamw%pk@-U_R-nvr=bSTC~hm1V?W`~hyf9yD*OKQ#XJ6COY{<0(NU}H3dTH0V2 zP7Nn~TV{Ry<_&akb5ZhJ=XfE!@-g)9%*ZkSf~!9CSze<Q{Y@tjHH=RH$^)mPYst9? zN5UlX6n39cYX;TRQYiMpcZYc;e=lFMKD+&GMjRCfpey}*wQDicZ%8qt;85HZ%Mf@r z+%!=c{R(V~u?#pAIi3*%S`nU&KvvI>zIxnteW&@3i1vxcPmDWaCDDf%q_56J(VtrI z`#DXsy+^!?hCu_10y1|t($piFt4${6s^*xOxlyWj5_{Wu&BK{9>v3_3;AP-s>J7z` z=;`+?IHFRSIjQ$-9an4J{HO6wG4gEwUMn*P*zWxgBNp?A5oE5&_F7Ow4zp*JD{8Q; zUIu^pll6}VPWHpcZYBK@W57xwz+^hJ^I+d3=$%G!%;#D%Uub0cewp=n@oa|SO%F-M zM`Bc$hIKPhB|Iqns749Ny@CUOr7c_RA)nQ$Xr_)69izz07MFV+QuY_!2S{}2pHEHn zA1fTHyN!lw?{lfhNp}aaP0tkF`1;7?!~q%><6G4RjyopqBBA!3DLVdA8j#*$dJ7%| zMRS|>h*0l}Yqrx(7-WjzZ+)sR4(Bx8>xOR?gT8$EYpz*w5KKn{i$3N&2)kDtupycd zAl?;wjmQ_D`wos-G1Lq9o6g$l1$YlNVdY&u{I;94gzV%E*+SnYKa!cA61QpHkV^R= zP7c?lk}{;rKgev86RaYvQvm(|nF{-EJLZ3FdxxvCsU>ieND>hnO0_ApI^@Gj^tC`t z>=|qh9%d5+k}5Y`r-4q%ynRSAs^rROW^<y5h(p77IuT<khqeIkR*|o-E5WuCHSWcJ z0pK`lDp)+!&a)(*mmj;72J9|rnXAIg!k;ahnp+1){D%2gUydh#z(8~e4v`#_ppMnq z*_jcsZM=kRStJa0ivA+zc6qykz}9)V?{y4*?Ld@3+kwa2c)KQQKG*IeR$GAuYAm=8 z221-XE%ikjh~5JD<pr-XDb>_R|GMrzV$#(g#$8{-=mZLS$f0E1tXasNsD1$R7s5Ui zqRkD1=nh9~a}GxI`M_tQbH^lyViL0`scu8~1NMK__m!D2xm9ChZ3l;1F8&C+D)|Ah zDUo+FdTD8>d7iNMvglAK8T3A9xLGVHrKtQgSch)`Iu8Y*;|)tiUJ@F)M4v<zA?#Vy z@lrZvl`a20yc*ca|5eul{X43+>ap1%LER`hm~|k75?|c{q4OTSrQ;X^23zxV?m3=? z<%HzIc@g~ntKSi3ew(Z!oZkl}!ZGkFdj`YVY)N*ug@uQ%)UOYZSH>rPIDtOH*7l>l zZg&<rUK0*hEr#Y&edEN9QafYm)xZ+JmBpxaUjXsE@zG98f-v~S7oE^z`~|_EDq}^? zoGmji+<qlt7{|qvx&L+?GSAOkM2hg<&Y82dg0%&y$m%vV>;Th)kb6ts{<xD~HZ$;d zDGKy<7i+lIvA&1$%8QBz=Q;`bJMDivctqW8#uqjy99ZK_C*{+PD<Ftm6mM*2WdUOa zC}x<1E`Mdm#wncmu8ef5+LqdGQC}$gQwT*d+^(v^X3g-``bffr;a!KARn>E0ndC7x zD5{7V%^Dc4CF84e-@fp&$_Tf39zj7**^T!3o@UKp=i6V@XqY1({K5}bvu4|$6$4hS zrZ#C_$6D~5#ox$M+BsDXU_AK|^$hfr2LlaaPKWFo^?(GGur?6w$L;~(e-n$5gCyqx zBG@JF2;!S)=Qm@Euq^-_!7X11&hu6m-E|0S4mxPm^;RmdT<d5ens-B+?GPUcxAc|h z_2!5OE+BLHj~pOz8`k!-928aL1;~${5^YB^t|Yzh0vpF8XkcORSxe~2S-;7bYuyL) zhSzI-O=Vh2vq?+lCaTXDjEVLEIyt!Lf1X_1?Qh9j=ieA%`z=wMAxyrc2hDBdRjZqH zb{+3#Vz@D#(RZba5>C4-b_uTp3~5KYTY&<j7g{3EWkJo<1I9-m_%mCBa)C>z(2lI; zcpSlR6cfD@UMyN?yYpzvz>AjWFNUhEnTY%as4)BLbl=eTn|0y_&m)daIpZ0kHe0>r zsu`8E1hOc|Z;y8~W-%}%GCmltvlDHvc_G80mxoaK$@fy>28rfGmp{jg<==ODj%L1z z>XX0V+piZcXubdvF@Q7E$g&SI{~lEN$h^cVX^x(|?Bo=N43<)tw8Lj6zHt6R^f@MF z@>s*zd<s`D`5B+n_5=`qPJZSRq^+<mX$@<E5U(-vd$i}(67U$X`eO_Z<N^H|`Xx1~ zlT^PW#U-J&a+24<!e{vT+l#S27Br9)+l{_gfT4~q^_7&=HSH=pfwO1?ikr^tvK6$M z1h!E_A%fnbeJ+U?#a$D(MQ;I8TfE_G7woD7W3=aULmRwBJ0Rb+daMA`$_7l4Qi$di z9q|gnx1uxD4ssh3JrRd{5&2oG>%-kc7RknRm6w31C6ns7)6<xEZx5(nu{yNA<#)8e z+cJ9PV(LoWGij-eOA01*jj=!}B-x}Imc>PcG`vrYws}bbw~+}Sr^#!53jU0AZYQu* z{t$im6U``~q%B4a&xg@hOkavK+nz;I4Y6kdo&IHgibLcvQ`qy)4V9Y|Tim;Ws<i-_ z;{J!1Cj8&P&$EyuRf~{!jH2J%rSpe9I{t#BY35O#7WmJM)S=6oEmSZso*|5!yGOxY zte^!JiLjK9Z&!sY`P-b%cUnD0I^|E5o6LuVx}lrfrtebVe*8mTE(YuaV^3g6tAEPb zI#rvi^Sb}JmHJUi7l(!3KQE>B*i1gMj(8%kxS8sY#k<VD&VWSXP#>U)0r4Vu|KWHY z2itpjJ)R1-W>#j;4KmC!;2!CMzc<bdI~m?7<{O2evGL5Zk1q8xY}c$j{8(IGTR|?g zvx~vedzs6R{MX8?8KOn7yn!rNRKc163lchj$&+q&U$p%kb-m4Ea1P7}M)=an0_j5+ z`B1zt3bA}~M0s<P^{UH7KlJ*6)T9%1Y3zw5#-oRp^((Rc%2|q-!<<orpn2T=%~bjQ zm#aeQ2f4plXb7-ZfPZDTfetagHdeVqR{H1h^ub%oBhx6SroXNB@7#jJLo#|1Fuf2; zbqgPL<$3=ZH;24pZ%RlU4NGO4F+s=v_*73_xO7*(t!TB=gy_sCOZ^*FR0JYtQ&^%F z<=5tpCf?&-crnHc{ZTnGw!5mQ$^7oR<-1O0UX{gbhqeG(2!ZJu;BpRM&lc$VdVac{ z9R+oYv!o3?lTlx3q%2f2Hn3gQ_gcyEb7l`GrX!^|8Vn=?92ycbCpN#ITq~wU2@{?l z?o!$z%`@CHcE!U)qktOL4`Zj*?OmsdBxDkcl#5JCPaQT^;LxkjUm^v~E!@bI@<)?1 z$;(y#rwf*7*`3kr<k_Bc7vte$>r7D?>qdPGv`>Sl*A>EF)wXZfjb#)P&{OuX%EcM+ zVg+R~?_Ga*SX#d5PBj^KWhgSSG)AijU?QD47>L8TIPg5io~N9<oqSt7H_4e4+-k)^ z^g(PqPscM?fAU`=Kt$TR&gIP{k}4yOyTiP%g*wuPPaWyvNJ^zWln2DiS;#B;r-TSz zW(_8ASy-m<flKzkW)I=vacj&@G$OdJfd3<e^?(3!{8^%*F{B+sB7d~;H16EfxGx=f zE$}0=@Q<Q<3af|eL1D86G2)e8egUU%ojczTJgYcGQA3zw4max=9K350C+^*$^AV^L z*{<i@TINvXCZSK|*&6LASKIDlQ^qMLfaNW%55o4#j{pEUW57MaznaV3?W{B9mK03n z2yKR5I*RIH0V`ErdO{OJ^q5%J^WPE2@8<p0Jh%PZo?87k0S)x+HL2<C-Nb8whP}Fq zMSaVwmGey=)LM>~qP4f*O-6_jq8GfX>6PF|$Ooi`(_(ZV+NxH|Cyo@a?lxCWAy#^e zF0n^j8?KA>UL$l#|8w9A)7CkCx|%<W@KFUtzyv9x<W*`#9FlnP;_`Py$en3Yxceev z<2YwdPoS39*VUEbm!uJ|93zpsxFCNmZ3jH43b*I*79a+T797x=J^HeNhZ$HW@M6wh zj(R_C@UVSirKON|-8Lb0%CeO<H1|bdkiv=*As*V)dv*+DwlFsM1>2EN>qGul-OfDz z$SnJ%MpCEs0?2ZLbG~mUL%|4gwqU50HA5j>viBj!jPr5hOBAswE~FRFp=9f|YoAga zbv>;UQUMy0(#BJ7<Ra3UKlWz?_wdb_Y*Ultb_{=7g3j{Ar2x=HVvziE_4CiD-R<oF zIhn40xb|UELbaGuEei#&Z-aV$u_Pj*l^^mIAqBzgmpT3aP;~C`O#Ocx*Hu@#sK~8C zl2Gn<soX;dxlSQ>i($FUD&5_3FSq4>ofSqd+micr7+VZ;XT)4KY_@%W=l8eA!*+Jg zd0$@d*ZcXYKh<Y3JvjGH*r-QQ^Yv@I1>fmsYhf9Y3eA)HQgvnEMc9QI+6UrA{V?*i zoY<kW7IUo!d0*gw$u`yY-vY7of%CahRi+CgtO*2lNwoYi^sN5D@ykbCZ=Z?Q&|%Jp zmCrjm_>e$d@1!sE<bI^QIjp~XS7Z6;9Xi!6KLhzOplM?8(E(>ZVEVpYevoa-XCm_E z4zVbmGVgt*MezR>_yf7neqeuXeolb6RtP%P1R?9Ch29`PkPji&3!I67IG9h8>$p&v zkh)2j?s{vg$7^nowbgfkLNQ#3uD<v>{n|b*5yfmbo5*O8Iw)l;$cqD9S+DuOKid`m z;K);5`r@`82p;X*=)`WjVSVgy=vsDkGvT1Go6b>70%GLRVcgR8_ro{&rCFo6*Ffj~ zl|z<eHty6jo?WhxzF0s(b^YqhRA8bCNWI+SX%+kvYWvOfT{hg*+#A(wQ;&Q<oxEKW zi5b?l-ppTWJ9~EINDHvV$_`3$v<mozlLoZ8jH&Qn{do&uj*R#-_F3znV{_|YzH?q6 zW?Tl*IaO%*#>299q%w((V2X#3PqiKsowH%V85Q|iU<<NHC;}6RKv|Dh9S!P6YJ_FL zPMMkV97_1^wN;+h5Fj3l2j3onZk1Zq#39-%8Zos5@ZDR}9%6HV+~+t}ixtILuZ@7V z+fPTyF*yVMuNWe8Kh_4hE`G+lb_>+0-Ls1E4W0D@neT@E?16Rlz9aJtwr-l~9VfZn zi9<-aE6o`zhXy^S0l}0(47Cn}G4_$*zK1C%b2U+<1Ul8AkYWNN?!ytT-#?rkh>Wm~ z*$ubbC7|m88Sng+pw;Z?3k9)JO_4~oJ%8O6qjqs=@W8Z4F2<)YKPNrw)w*o1t%BDu z%lpdjl0I5=(~%DPs-vuW4{3#h#K5QdzZZH5G8k(yRIB4#lUn3@1cUobzl&ZTs5Au1 zDqzF=)Q&Dke_-1AY?+SJyaGb7xD6g8C37rFcQFUGiVC6+zIbj$Vm?+A>bbd#rme{R zRuTh3A7aK<tyfsVV7XrSas;7d17&y8jWs069f)tjt#0%5Y-YzrQIa~f_ZO>^(<axT zT;m7AWD;F`#_=)uK^m(T$8VL?wAK+Ed5Yh%>ZV9h5oe?h&<Q`BEW9^-?&aKJv6%WL zhk>nhq&l@8Zp-zU;=a8#gWbdj>f+w1Mf!NGl`u+a!AISAy4EA$jDEwU(RDhU_(t%F zTFLASxT$aVR^k8c<wej&6KKQvpcHC0+*A(s?;o9VZ%%-jz9!|hxPEuwg<=pMgh!!O zQP`sLAQOlj95q-x9Q9W^JK6<q3bi)_JaY=vlW7iB2o#F(tmdI%_#CMuI<?lmn$j0G z7WMg(W2Td4$Fp2}&xw4MuFj@AClMW=EPB>-DSBUXGs){9Vy-9e==G+wO8-%0pxvEY z!_E(+&ODfqZ*#cdnZ%U&cCd7zWkyJ=DI}KC;9L!L(sf!31%^Z@pYx{G>cmhX;eiy0 zgu{`ZpDuY92iL6PZYIA_mrP1dv0tzs@<Xxp7^ug(#$&Q0V4SiwQ<@jt_Ot2nt8}L> zu*8~Z8|e8LkwoUpw~cB-e>iDMB<S}{%QR_9@3us`2`rs+VQr<JS!k>xyw|m@JWS1X z6fX7n-2n|q{nHlqTL}M5^RqcFbh#e8PiIH+J4Icr-pwJ&?oV;eKz&cpWDT(OZ}26B zlNQfHZVctu4T~Bdv4{whIQ+sut7)~~a%C#t(xb78w6*U4DH=DBL$HH~75tdFgFn3e z`mc?-_j^sVoLA|(e|fR$bDyn~KQ~>(4Fh$DrAT4<Pki6^>D+HECBFziHT(4Gcri>g zS|QzH5`9FH?1HPBUs=j#ozD!oUfHXtG7PVghfm`D={iOwC>6E3#H!Cka$mPWmES*3 z6uuu3_jS8SXLp;D5VRM{F0*ZVpJ;mt_Z&@~_~@ftRI$hrCUGa(15PuLGm=Y!X&C-p z-S68V9Y-j#=pRdk#4;Kl^s#z3O1Zh}2~%Mw79lBjN_B!*Zg9k^35^34Ktq|kE1>&H z^w~14<o$%=tMF5Uhd&=^>D04{OLRP{PS?B7E<MZ3<QOs8-g19TwfnvQyqU3<39e1s zO@S{_z$-2K*+@7PjK?op{)OFGu~kiF*i*KC)t(5p_SxEMl3m4SI_u%L087zvQcb<# zPW0=$Z|912ZYaMk618pwCW`#e@4PxRAp+N10*d_alySo_yBhEU*Z5;x++}5%Uw|_* zxA5Ezo@o&t2-QZizHS@{YniUyQlk#x{%KsgRp==t3ffavCAc8c(GHgs3-`Wm(^(2w zl{2VM(2=MfAn!0gwY#X+X~(u@o(YXIR7&}BR0l$52zCn1{`Bpy$~u^il>dOoUKt#h zPQ58|R6|fhtU+Yns}5En^GCZ0-hyLr4Wt8XwClKs_-tPvKK}|52kk_Ob0F0An=%wX z2c~cb>cKzyq^$Fzv~;oMVVEX_nK_L#FtTf;(`gNjzyc?&5sj-tNXXj_JWfDx0udi~ zuFy4vs-i8-X|T>vslY5Hc~>RwX6K@xG1f1FaVOO|lnMo}E?Q-p$3PB^-K8Pmt6cMt zGm~f~kL;O*h~ywDg~cefvd5qqz+-p9s>ZK);rIey_AA41-jWjS$jv>1m3<&kVz{*C zC}oWJ2V8&lN5C5P>oAW}_J&e-haU3$yHVmkn85m#ou7lO+I0e^97?H;Xe|0!!1LgW z>?^nKa^)N7z^w`zoV%r>q4ld{&6mZl{f|e^=#+tDz^?%ldQG+QEp|{9^;RD7MMdXS zsCA^r>x3!xLL=#-giNcQqpX<+(+=OwT;)hK@n_9?lPQ6eDIhH&wM2I^HZxZ!URg4S zUbW0WCDk2wyKN~6Wo2$`il`mUvRKnwz#>#QQHk)=Z8ac~Oa=@-lV~-BRqN==s@jNf zvwVlQ>OAy!pQ|!G`_lK3y^9UilM@dAMpuuPDqh>4oXW%@7&SU-7JL1N^B`e43ECWt zrpFTM`@DU;)73Jlr_>g8?=OQIbU{N_^Yb{xu8!>F9~J>`ZwgPi9O9-JwD`vIhtBq2 z@uFZe$uhBZZUtQ{4`CHyYDFYQk*cE+B%9*IS=Zbp?{8XOi}x&l(GpP>jJMU9Wlaiw z%kRPWEC%u;LKxiIwPjb!j}h)-9`{Lm8QKuwVbn8S3J(ZD{l`;BVHmF7&Zk?)(i=Rr zgNhmi)9>Vlhl;|OrL1`HLV7N!2zLmCdb)<Kn{1LzH;Ppr`(-jKxnb+^kgKs&qLT7w zH1Tgh2yGYc`aY@sQCL*(s3Vd5t6STw_|&5JmL9d7jxS*@*03u7kEFnfZ;2C2;hG${ zV(ea)spO)k5Z>Mu&Vj*XZeCE~OwhOBAK-g#tV#YwHm<Ko@3V5Q(fBh#iHb5R;QB{O z8&=jnUfQ-JGx(81a6kAqw=os}iT(yYx1u=tJ5*5IIy$F`h&t`4+AKDya*5~-*DwTM z@R7|Pz;;H=A!Y`QbS!{T^krNZo6f%XB-3v9c{9y3dY?fjjr3-9T)wxo+Z(q5Emr!w zzBI@c?YC|v`mTt>nGV^sOCQX>VX*!5HNbWI`)8VT96c)ABAd|{o9K$E;p#+uPB?j1 zb{~fTtu`cgS`l|v!IA6O-1iT-%0sDX+k<o2;iY{1dD41wc0X)M?I$Zja2cK}&o@In z$PlY7f@gq2AZ4NKgI*&2<?iz*e-knLL#uz2V)o8Eaja`=cLMRF3aebf4~eaXG%0Ey zYS(G73o)ykQ0^2Fl#Ely57`=;uyzGkos8tFh8wH5rY1GvtzSp_Z<i^+WOtLJGaVO? zP}=3>MgARQy9M}9rwlSWc%#{Nh%pt9Ml!y42;Oo#H|V|DWGW~N9+nOw<+72qj+0MX z-;R;jtFy(+I@NdRhe^(grt$uC;9Zv$2~}#e0yWklA!?BklPihsgc-0v;qxg!b((E( z(u9dXtooxDian+czxUe$xuKkJMrnJnZX@M!22cgqFs){!`qz5`&!P*U*O9AG7Q=sj z9eZgnd40aG_gam+uYmu}gw`YypwmbaFWfX}nq)wMSDyQS<%MurF(KZ`6}Qnv=Rd&~ zBRx-7PV?-5aFMTg&gg{eX!12foY$+6vY;Bwz{jCFB(>f$BZ-dsz&+|>oCN-aSkTb5 z@6+7T0Cy5zJFgd_V4AxeaYotL3E4oDUnrrEF)1-EcCYrw#cn~60_{-T{HeLY_jBs& zvby2d*JP!O$q~BmlM2kjjfQAY?9VZ-SP9Y_bl_^7gi4iCO3YcN{_hR}zQXe(JA##{ z$jK=+q7&RjQ`qphpC@=>tpubr7NYP*GwS|g9WURpg9@161OHyAPX~?6#|#9+%nJmi z3Sh#FeT2<lI{4kr#oQ-mPe|S%rrY;Z5nn2De|1xL<ByHYI5<!VtSucaiw$I2{*5!m z`paiuM7ZY`dW2|*=iDo7!u^JR9`4zv0O7P%G_>gLodDT$2b=lsP{^dIvKAj~md-vH zt`F%Tvt+%&PHnGv9?MAA&rw$`N!E{<m`FKX*U+QyZh(Q{;WrDi12>ZWp|q91lX;m} zNR?67{+GMV_JML6FC$~`ob6iox$W8Y_0Tr#D4?)&9vi6AC4UH>?Y!T@V!>GzWdpJ> zK+oH{^TKD$FHc=){H}<*E~b&F2nCa1Va!aU2dKZb%{TDO#lrmYr9(PC7wbgt_MU}N z+D0(lk;#ercR!_`x$S*m<bb05os}SBnS9g7oX0WvqDTDSdEaU9ig<{P9FXIY(^AcH z;kl>ODcYF8*#~m7PjMyP%!$E83r9#5C+q@1wg>tmcAqAx<tyy|Xqhs(XK9EkjIMY0 zXwVK6zx$F~>q|EGK{mZb!9q;1AT^+j8rHSl1YF9W*wS&LF%%jr!gk0RDOHuh=GPM( zUkDq$flE#Y%&I%~EoZPUx%?WgI_e;BQCPbJs3MKK@7$qi52o#Z+m-rt^{V<@uQQyY zGGqzeQkV5n#ejPLp`FzF`eJ29^``ZP-$^b-_e*abVWs~nPt6Lei+%2r@zfjqjS`rp z*LzpWKq4jXEG;)XtTW=OUPP};cqlsn<<a)HxguR6E{GYzk?Afi5gv2pW;}EA6ryID z>?1+2!2K{+_Zm@*@%%Ik!WBqmYSW7IM~`Cw{tEX(r59`z5%3?+)dV}|d6BsdZm2Gi zv@7hgUblWYYr9M6g0JsR+Uy!EfE1V)6xGhgbne*&1(=NavYeI*FmJD>8O_lU^EZM6 zgUlVIE4D$mN0YuC@Kj&rsucKk8`+aR1CE+3mZ`66Me?_@S&t`;u=RmEL*vxwS6Y35 zz^j+`{QHCx$q(7II%0RePl(C_+PX3m(}{R3aHt>GO}R%=LuhS;o1g9JF^hK6<<xGU zHvFde!j!ekg=q~=Dx>2_xfwtTzq_nlolvP~!>+LOLH${qByaudU~-PWq-F!3!g#!G z)0|T{KDu9FX>PxA@g6g2*Eho!^DNWJr3io~Y@G=&!%KXQ#i5IKwzp4)a;uc^7D2QL z+wmQe=a4HfT})&>1>aM8aVHz4!$eBRKdIUc1MDZ{MV({gA#=Ra+1dO1!w~3}lLI&s zv~@BM;SJh?|9;$XohH@CCid3Ngj~&eNv37TtPy|<WNoY2V^L;4z$dfYquUfM_$KDC zcao@#5}7hbmfv^ZQI_w=xL0)lNJzV-(q6#&ZuNwK2gA%_-g5*xPcNiBCsr06cX9C{ z*>WPzWH@L4;6<7RR})+-evIn4?kv+sUN7)WtAX#^(E={?F2pxDG1CgOgOyr-Q|Y{H zmepb>47t6%4Zl`15Sv~7>S%DMpkTLTHV<#vv~_A_RVCvG7})2YUuRpogXKnQ6x)4# z&V;Y8KYu?g+MNDHr7tPw@{R5<YY#)*JD!;|lnfK$iOl@)(4_za1FZ%V!<#qP>K2Bi z!)OGX*xJ3ULf@zBXV*hkC4V*5CIsA@M9yL}`=2EZ54Ayfvpn*eW2!yJt~DMKDvw?@ zTci#7ltr&q6?yptZ&$g78`<Sy#uGO8sxlX}?b{J`;;jlN4a#r&U4$x8`vQhg=eRvR z=7wtR#MIqhFO|lXuw`vxjgex&%NXXpyQ8i>_KS{_uH6+5YYG+_91~l2F`w(hu|beB zi~Rg@g@o+#E%kllPW!`EwTph4s|&O<+_9hJJ+C&g+Z&_n1xU`TvG%Gl>Up2za_!u* z(0WS(eKnHmMtb(Ta$|ATY?x*({L=H+Hb|&&P8}`OnbwW9_w<u<Vbr_G?`lZL`9vCP zrU``0kanVbXOUK=_p+}SILMoo^~8A;T<DvuiX^r2$7k-KikHXVPMzMokiF%@4J#{f zb#-*Ue<7_OM@BM)&9<&J<>WZuFqum#hTafTeeZ68U8icuJE4as0h&RG=G>a6;N!=> zH-5?df*6J{r7x*lsAxPUTh%)H?C+XO=kFjDW>1kazJPp<S=VDDy@$tOjVDo)&V>V5 z^SQ21JJ37w+l!~a9~ug>&Yu(Rbb|V!fJyPn*|NUbxr+ri>Qd*Vq$I}|l6_Y#R(5q1 zd)pjCcAm|E<*H8J;UVKier6xobr4F83t=`$LQJGZ(`cLF5pb8&&l*y5W`UF=IY*5~ zHBO4)KSk+#@%|0f@*FE48~AiW@rWNed`~rA+VbYTOYY}7uIoN~3SF-y1nSron{T0S zbPViZs*2z>ftk42f0$5Bj&yrObZNPebah&iQ*ZO9@7-6<mD1j&_;mH;j!i!{QU14Z z5iuT1u3mA;ijeWEDnoMMI>(APADa@i&)%1+J;%K6)o46!Z+oQeSnD~r4PCe6hdpwO zGOJzWfcTDD7D1s2VK_w#mXFsehSJqny{TGIQRCX_a|9a~w_NSqTfM&cSnrMjJ~at7 zd7xW9Sf9sczP4&SrLGse_u_MA+OYE{CkOd3MpL~(aTX=I)2U>&E~D>STl%*DR8n74 zR96cbt2#h(`HkYe5_kEk>=Z|}9=v_tC55AFxcoIDkyy2y{HM=kHCKzyP3?qobo5Xo zc;fuPw;<9-^6SLt#S$m2q6Mz|WChTL)8alTT3A}cG~J<euB}R@6=>RrHL0>E*j|5q z5>-VB>WPwH2EyJDw)x2aV{8<|c)TzRL(8Xnxl@0vX7LLHi!&7*pcT!dV{pe1ugW5m z$U~RX>Xt;8E&g1uIP>UG>h$8PqZ&F8+TGKIA+6Ic*6gXe{TM2K@chHT%(%<YQA#KQ zG#C*>{;Y?LD=<Na4G*uZ>`DSooy9k0?Hv}@39)|T1OM?v4CNUdCJw`;m`9H4-#v1) zmbp;qNU#qf*JseVGjYd7BHl#sy@@gIP{lTrBB+>u+-TTG41^eCmsxws6X0VpN{K?e zqJU%>p>jkzR9L=Zv5p-Xk>+8oE~vLexxhE%m{~z~5wdu2*j>bJiH&e)4TnYOVh!(@ zKlU|8BT=Ych6c>i!ol|aAE;aI0SOA*Px`p;aH9&rHnfD{-mQIqW=8t!%mHl#<0bFk zFTAA^I{ad3y*<OD(fSuz%Xr>R-VaZd8{!V-DmK5-7o3K6Vj)Si3s-Uhy=M{*BI(!t z8(&5(lq`pf6&35$sC!CiFyADXAN?oxdy|>~*_)=86=q*-tngW&u-SidOe&~_1%B*( z=-~WyyGQ!d^P35iHG3q1W!gHXZkVEwRGvdbxuURHtgpk^R#JoZ(jmR2&8l#lAd)A1 z)sHJx0z-3gsIENaQs#2_>c6{OFTHnK@$!rQdo3+o*qyZmZUgJlgYU_Kw86flo%Mk` zBbS%o{i_`deD2vdy#x$$M}jqjMuPh9r`Oj5+U4_y^BxJBTf77jIIEoLRO8$4kHdGF z4(voKslJ?j0nM)$SqKgy5qNp?I5*}ql+w~0{n@xK>qdK18j(`YZ4~LBO7XevU*6HS z6nrfvX+V9qb0HUfA~hR{TiW9m?i&~FWHA-+Hb-i|<vsV7A3F-EP46&@J|@C)-^?4f z*i2KAMEO-<vA8=OVNjc7C<a|$0<w7foYr>H;mLKM@Gh-{J6oHz5OVes(+>VPPtMCk zenm!})1Rww!DQ-u7&Qzh8Uc7HS`^4HJKNG9WH>yD^N@L=^Gi03SLY}sTV(qQ-1Dg< z=Wp;N6Gqz-fjsn-eu?!A2qE`ypZ|%nB)YYlro7RT0hh?WibkLBy1k9b21843)_0G= zmP}_wO!pdS^C`I12KBx6va1V4&Y}Ag?i+Yg;-6ohtwETAF8V)I^kl;4C`%{!lr#*< zTwQg4PM&iaJaHMSqZr<y|L?>GzsN;;C*VHVd#ajgMI&>?=~@zP1k<f-;-?BMZZv*h zAwEIv`P`zL=6rNXpcYVXXl~oigsalujOr!;qx<vu+V=Ub!x11jBDf7FY@xK1)CwW} zSgJa{9!Zj≈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¥gmH5VzpdE=gX;jhox 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∓br-KCzs#$wy3k=W#7wl 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 diff --git a/.next/static/media/jaquelin-isch.880e5248.jpg b/.next/static/media/jaquelin-isch.880e5248.jpg deleted file mode 100644 index 10c12b459b0c33330e41d2e5169d45ea175eb823..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342228 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� 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�UtxBuvHziQnr58=C?H->-U-h8o`u7JG!Qaj=8 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�(vn#Uas6I1G5a&%MP=()kLiF6dwp8a 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 X1O%|q_P86v0Sf#qh;N1Fzlr|?A#Y(H diff --git a/.next/static/media/kimberly-parsons.0e123ad0.jpg b/.next/static/media/kimberly-parsons.0e123ad0.jpg deleted file mode 100644 index e84fc9643ef5c80cfc52981cd2509a04b26ab840..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428875 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�?j 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 diff --git a/.next/static/media/kristof_de_spiegeleer.f8a3f975.jpeg b/.next/static/media/kristof_de_spiegeleer.f8a3f975.jpeg deleted file mode 100644 index 5e6c598f6e3fbf71f3d6ac34621b41e3acc0e683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108005 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�%Pz7a(*nz|_IvOBX=j3spIhnTI^?r=V#2Jc3 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 F|Je?f0tx^C diff --git a/.next/static/media/matthew_schutte.b0043b24.jpeg b/.next/static/media/matthew_schutte.b0043b24.jpeg deleted file mode 100644 index a61711af9aef659180ce401762c9c591243222c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149996 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%0AjZr zxs-JDgk4^|)7W`ht;N%2k>^h;$rjOM2J5PqACOLe<kWTZ1nN};5%*M=Rpudiq${H? zQ@V8etvIu5<9m8|n$-fs8<iQ9=amElY&I(NqteTQsbT#}<GrWMU1(ZRb1Dv@XJiq{ zOMIv7vk#i;G+D!-8`(AOxf-mcL%gMDWrr_l*0$5Sru^4Kj#D0WIK08B=%Tl0%zCaW zL>_@fCYa^?g>KRR05Gt}qNwJZ3m%D&c_cL0Dr8vY*+ZtMH0+g$jgJWnFP!T+$qUN} z%i7k@#8(wT@(Vb*=L&NlOsc{E0J6+8dKI7X1G)ug!#N;YCN)|n)%U6X%7I;0h;bFn zsHi1brJ$*0P!?Vi7J@txgZ(gRsZTvq&t+<D`Y3Y)PsG$|n~gzLUA{J1PNzs*u(`2W z+U&38;NWyDt^$=~qsE06I76DaYG!Z3>!C&L$x!m$PN4@2qdrIdkq6OdW`zsos@)Um zmfaRR*|AfE-$cw@Vf4nDFT^DEQtHd_D!b+*`3})Xl^mf}ss?P{>CmHD;Pz5|#+je+ zni%0C#Z=2^(4pQpy{zvun`t2y2F1vUvOMPL!2FaiExIhs@*raB@~8X4HELK)HG=3g zH;9{)pj_2PMxqrk>k#~<T&+rjWg_ZJRE^On#{Aa44KS?zfJ_8hWfx+?e9bVbj9~&s zh~HEix~n1J2QgG?{A`>lbh?LVqgE9g6_ojc%I#6Mi_BW?yP{N&Fx%NS9@c@)HkNHS zUz;B!))xaDu!gj~{DN>i4fI60;1mXDHNO-t3Zkb_J&^E(5B*AU_F28{lk*N1@#Z|y zshcq}OW{<c-5|OS>Y$=$DT2wkS%HAY<;sbTT(nXV=$!MXB`x((;g#wNbw^pPvqUDC zw%Bzk?g9h2!lzh!!dDSmuR7x5TsK#5kCN`hONd0E#^EixDb3~;{2o>1g0w+F#3CHq zuFTF%Sy&cw?9L-zN(#N%`zSYQ-F~Gzg(;-@oBJ%y)GsRhvI@Ptd_E0Sd)qE<I+S>G zdZ&{}jr3MRDeueq3K@Vf;1JIxr$&6%W23Za(HcVWs+Tx!-F8pOH7dW&77b20gli_q z0dvfv=NU(maYc>#Cj+QoG}pfL#mGPbm8VOlH%7NXjXu=fX&kQfDby#5pY4Y-waTt@ z`mc4W0SCen39g8X72Pw++pR8EXyevVz_==YvFz@GX!xwM{2&AjahsK82jqESVZ+M| z<6YP3R@4uwgT&RFUcA(TXJlMF`nj7Pp;<(DGLIj2?M9eFhJllp@*z>IIGW~%eU&SQ z_jLX5h^CCh=O*IFj?3oHmDL@8qH%Mk32*pJ6K3i#)8rOsm>iZ?w=Y16)#|JIpd(U+ zrKnqqB6)Z!P^cx922zVEXdRK=LJnoApLsy~tC>8NfD4LTz7%yTV*OM`7E=nPM;j+S z*Df-Iiv<G3Mh|XTPH5+tDs>0EFw-3{*<RiTljWuh%6s*fO6dv|?xcMcj60H@`7EVy zg~W1>Ydb7A{{Sl^(F5qS0|Y6{lc#{6U>p#4JPk~OdEkAp0_A=oE`P$+*t<g^jxEU6 zjnzj$W2p}8xiS9$NH&F1riX;Me3e5PXh7oTQ-c5uo-?|Q8r8zsXEM1kebb0<%&f-b zuF}@%#r-!@M(8--(J}j(C+pz;DuDk0<gi`87(=pl&&l^m_f*r2hu%;wdEqBj)pb|E z=GOxHj)09if0WbpRu?Ep;y4m9Wp<4$QS9zEH*b!|<W<*93hfoop0DAxI;Y8cW6-Gz z9JGR=64eJ?E~9OexPKC!+o0j0+y!7vZd4YPU{rr~4#P6NR{c~mqh0e-Tm-8;eN~|R z*ArK!2LtVylg&_E^gy`9F?SW&YPFduQF&`xHsqKbGk3(74r$cbbF^p=^rC7vizwhc z`77O_pvS|}WQZoDlH^n23DFlnL8Di8*lkx2FGTuP0U5@fRc8xY5OdB}&CxqMWg0>7 zLUn2p+518IIa|CG{{Zf4J@p&>O+s@s)Gzpf^9%FY^;fFT`<Lf4>c8R|zczgr16=aE zu_B+s)y3vr<A<gv7qP;{7U>3B<N<+HYTq646x+IIWubaBxJOjhje;%46s=)osbkFv z`l!`rZ_z=S=9=;&WOy1{>#VnH55tSfkXDW!txutugEzdq&2zdToCxHljc;dQ5exH} z8}Tka(8={fA@4mE_*;R%;je@r8z{GOyQ(z9!%TOF-YJ8B;u~NTQ^@zQ@US}n07Y7x zotCs_fv8Qb4({pL0-skw7LCg6^x7om%x7eIAOgtUthCJ5?aZTAt;sh`sY&+p1oyW` zL038^kD9*dc)t^~(|P`zt9E?9(&cA8zcp&rK8oF?-}bNggY;Lfev8iXzb`TBRz?8U z@(3o3C2XS^i-q2Hb0lrL$z7BERx65Wt5t8+3y%}~H)b<c_It+N7kyLAbVL<Ajs{mn zY#^+U;$r3$gk0TGY;kJU-Mm3=lBzYM$ZpfJmRx?zMCobDRE6gHBQ+d-O1nqVTHcF@ z${|MWvG5!Zwk3xtA{9Ltz&y?{6<4wS>)7d-uvy(Dq~Doe{D+u(V=37-o>P-PR-*Dw zR@n;0*`nyHdCurZ)laxIQ_ktcyUcdjE<em@iA3A})W>`6vx1I#1qW;+0gNKG!=Hpz zb(k>ehKCJsArYb(+8yew%%`IKI@y1yDWh4g^m6h!-*v}9-!`lEdHE|)1LU%XJ`W)a zz3n`2_*X;_a*65`^1vO`8&v(&5d>fc#ajYKg$mTK%r5z|+~e-JzM}}&6XEYg+I-4I z#wP>q`an#~;YpPoWV@0T>b2Phng0NIRR~}d$d+4g@|#pN0~wuYg-f$j%nr6p-R>Ej zjN8>-_SF&1I7Z0!YL<7Ik5iQLAyuWZ60E@K)>dXn2T`&TU@4vaTVt<@wD#RKqQSlk z9AsmZ;jf2G3aV#BeG%rMsMw(=q^Q|?D5!Mzxgj^|74%tOr!~z%L>Y&wgIMAb$#CFK z=&309ri-KWyG6x8{{Zc};h|IKWyiwffrxVaqM)$*8DnGx#r8qW;tP_d!98JidQNA0 z_I_Otbb6;#Bo}K|snNXvLG<_->t=r>_S52PHF@`n?_Dj*Oayu%H&Ay^W`{<hYs4m* z;=1mgYJNc~lg7vD3VbMg2dGTRqJS;q-x=`Me(<hgYdGuT4;%X%r!ai*EIXn)q0A!~ zO1+j$(!!2Up;=v~%GVs0X8jj-b=g&E66O!GosRwpDc-?@CVbsfU6cmQ<&@fymUi%6 zjb1>lAzGrb1$iZT2v9<7d1C_I9kMMgrdmDvfl_=5b*i#WR)~Q-le<CfCYJ04g=XUI zS-RzK%{G%77y%iwx9o)?;ZJqlf)DpuM!{>UXzHWfnYzs5W!hhx$RZD_b9I9^L~g>f zA2tCG4Y4-2jnkuoH(8re&GaiLXl{1=VNExK;JHxVBhv<tWm5*Z1G9yZP;Rpgin8mf zzMB=0@Vih{RI%o=yH0pEchIL_jkdn%k8~J?!iFyP6mX`vhE?ZQcv|@Mm6y7P^ay1c zy$~-s>ih%ys#!R*Xu!LwS!#BgKsDf|w?B5+yFdu{l^aTvEEv!WoKq_ncWj;(ld0yZ z)12H=^ynT?of?ZNR^CEuh?lm|i*<u_+ekcB4!`bAs@)yt9aG1|o5~QjBgbWRZxx1M zt|JN2aU3{R-6IPt`zL=$LkbV&WeBU-=u@ekQ0AkO*Nh+>A<Ft9*L;dJ+?&Uh`cK5C zCVGO|v`^u5&ovG|OkLy3-YTbMnxnHEI9<cZUh7OXD$gs;D&Q4%D}olQ%%FYKyMRMa znx`~N>9;4u=C8u0*3{E6zEuA3<?l{hoYq!AaW_2%s+%Hd7g}`#a)m|+r%K{e-Tvn) zj0W*|RU}31vhxy#>EPPdRcZ}l!FOKpW~8RI-d9VAOm~^6hIus}0ekrMD^=IQ7+fMi z_7?VU^u$lZr;>LfkL$P1H3AWhRErR^51PHxQ%AkB%nT<r$B%xg-s^^n=-}@Y>K&7w z?N5hQs?~XynR%C-sP7}yaaEMVu5A#b+2~Yo_nZc(9?@O2xwIK7D6!QxXm^+Bg-YZa zlle>#0{$Z)1-B}*Sx%m8r!HD)$0G%AE`VyOQPQKwx|;^>)!JD-^CivGqHezu*JMtC zIPRPey=2iGMVopmzxx3SXGdrcFtX2<T75Q78iuYXLUlO~F(blox`y~ST57ngqG1kW zl6Fz9%bJhmYGKto`oa^s4(AK#QRH}<m{W}FqU67HNb)X=sJhy8DoNvMwbyx+9&1<~ zQG(K}C($}V9=<Ac$GmQ=6y+;6TX>z#S%j`PvA;Q5z31q-Xt({>P%^jup>`vg&>whE z=fAs?Vs%hCD4)mokHgVJILmd8Y59R;j}5|%;)pgc_n*)zRGJ8BGyOmy>5$gs2+VvT zKB2z?VLoT*71s&8AO@u|gPavYsM~~v+QB3NpyhQ*{{a1w_Ej$#foSzisx)=gQo(IP z?C14mJ`#b$`(w>nbiy_ZnzSg}+DD4C^HYF4-zX1-QwMONH)IoA&iG|K)>0*>QOyUp ziIZdfkSKD|ID4+q8g+*OveXgJnm9Yfo%Hh_s&eG$7n$+OR#TX_lJXy~i&NlhS|pWE zy^i)J6IPCCI|SONwn2|4!k<gCaWomucT-ABYVzi&Q?JL`4b2no`u_lhMYTA9bcb?X z_Xb*F+)Axlj%k~=6&C4F^BhVXy85rvOj!$BE~lCtrBpMtfSAJWH;GInjIK9OFAmfd zNzFD1yFirsCv@t2wa6Lp6b={FMlpfF-A?!wZ(}R3fZ<sFqJ|XdY|x%n5y&GyR2+2+ zChcD(l&g*Go7G*p>ATF-@Y9*TX1khrS+{9WY#f`Nv$1JTa|O2?mCAPh#`>#!7)^O@ ze$wp+!kJQYRQQS^?OA)atn_~lr`aA3`?bH`_h}FEn^K^;Z02>sbviC!V}x7YU93E1 zbATi)&KGM#bw;a;jBvKejrWSTn{_11oD^;mJCxux*)i<*c1ODtAso6}GBqFpsFcc5 zEl30O3cHTUr{caR5EZeq)m?@<EnxnosQTlmTCGAe_QO@G)msj$Rj-A~-iW($aL#<K zxmmg0bIj>X`IO{XZU{&9A`Ym^3_hVAn}pymdnYv5IiVC<Hw%TJEb)0lBsmBdnNI#p zRLL&dbRAYlJQ|1UQ%+do&@AUeqIFmKTge{PPqR%hVS;XYs=0xr^KLMxw?;;aO_@Gq z>LTudTz_O(;4e}I)7<N|j?^lUAPoYOs-KeTgAs5%hsg=m+aS?rIl6R0p7W}3(X1Rt zqIFFcS-aDHVRiO?RW(=&6D;&9^&isf^9fQ!o<(r9PbH)uRARH6^Ix9g6`dp1Z}nQ0 zYK{ukj4#Y3YJ5dkI&hUc1pr+NBJOvY0k(;wq$cU)MiBa;vT_oev0v3E<eQU*9T`fU zk)L&2ebdO(RsE19(NCH=L^ovb<h$CorW4uO+YD#Es?@K-1+zPKnY6^ko5*ubcEMGR zbX}dI2Lz@y!rG=(?KT6-!K;^Nq~Vf=aSd*Pf2dWC2$uC-k+IFl<~f{hs=&1QxuSM9 zK$|SfHA9!6KvHk}oSi&Lqx9;7TAtRQG2%qK$Os;)qqab{Z0}-l5~eVn@s+L@!UwRA z2xrD{?+={$Lb*W*(i3@P{>nB^O+8msN!Y2rVmT^QfX$aur#5Dn$SRwUm@DX0f%1e4 zG=(ZB<c|J`$dBYijsS%UF-e0|4MQNhZMtPjtcrf?5UWyOEz6Zt&h1`wMv1jBbX3Wu zH1Y)6(F6+)Nsex3JJEj;m=>@SBbthp0e8C4c3qvhv+ZD;L6)Z5kQ8}93N{KkA-M}N z)d?0;qWw8joYQre=23V2x^`$B)9DRJlDjbSolb8Mz~a-1$3-~n?S(O;7H4?}-4{7} zpw-IBr`>>!y-Ld4^<OnlkqV<6Bq<G-8#Snqc<OUHDh;O7m9mR<Ic0TD>WfatRN-hM z&@e5Y6R3q7G<z)4NF&9Sx^7e3+3iMyCC~VZquTpR!zdQt^%X*pWSWiOodH3m(^qlH zNI<^sZqlkSUGBQ3DzhnIv~H_EFLpm&lW7;awpbn8EEGM>?D<>e8p%Q!;_x+`psx9> zV?b}+2DU{%c<7<KDK?eI{{U)phm}jTR{sFP%jR|k#h{UKJku!0S01Ze)g7aGdZEKL z>I~9-(3<B1cL9mUeTPhE0=SjEtDfxuPN`FVB2bGlsu!Xsq6c_P2ST1XmC1S()Cts~ z?~J5oQJ>4nQzq6nD?XEGLOGy`_=aV?V((>VN2i1}qT7}HD+#6#na%gQDxK_*`{g{B z6N#n_w<xe(=&0WN%F=z`{G;AI&8X|<9MP=z5qQeDbk-B{4)d8!4sl~S3og!SiEU=* zbm-Mmr5vrPwL`fH?lj!@JkDW%nq_xzH|nx1tuQ&E49h#6S28)TEsmugzcQjYk$e9D z?F%q&Mx(ImxQ__BbJz}?G7}q=fX45+P9A3;G5*Snb6#b~s<N^uU&MSJJRGpnR-P&G zx3i0ra=W(t@q`CO9F}A5rk-eWP9HUFD=-hj__-@LzN!co@`9T3;PWn57F@_EPR&f` zqRi3|%fVCODhN*YT)Z9Q&vis<@|jPww<l+%#Cf?FSEe7@1I<P-^6IETFYPrSngTTQ z7dggBAFx#_R;CRJmK_ht6GEvq5B#^==zw_{^~(0>yOxW(^&o4}HPtEQ-gH6#0K=O6 zn>SQxzJn=Kr@PE18GBeKFLq%9Y32j<%FB>YVA>Z2JASJ#@QEm!{FM1y`n6Un1i9Zu z#KN++-!vnHER5pjO32<f9Z1<~9Z>9#IZijo-3|i+Ep0F!0pjU|;C-okw%Js!?=}TW zVCtMvlvs;Rk&}Li=+L7EOqz8Y7tkk(yvuzQgYTc%VB*-*MHe>RIhGPEdaJ2iS5D>a zg(t8%gQA*!+bSMm8nz|gV<-kTZ2|n19E|c)XdgrxDCUFZ(#SRS8%*xXY|K%l^PZc3 z>o>}qP_^x@?ktDO6RKAo>$b9R%*sstD7CDqROa(IER7Yix82ENg-Vp|&ZCilPg1yD zZc9eFL2gc}+9`PSA%0d-yjdKy&(IZ>$BXEk=YQp7ZJVs<yQ*V|ro)M;P{+tBrZSnB zOsP|apzybuPkw9Yj48r;q9t|q6OFOuj=m0<^uqR88ToAcl})49!I^bMsnN}57&X{8 zWi7LYik(~Ah3d0eHmSd&ga<Y#KSiQD&BiYFF$yEa!r~AFX7pW_t0@;%?!#CS@4H<( zXLwmyT;`96qf~~li;3oofqiE?-YN@S9SVl9{{X&M4L_}vnt`LGm*-|Z5bn!u@hNpN z>J$fET|<SstkhpWq^UdyL@k(fMjYn!3Ijunchv_2$FD$#;<BYf&t=$N=Qyy*w%0_K z$PFApW?&7b+e3n{8e3J+u8LLAC_h%6@s({n8hA+4s_X24z|o|ANWr6^{jlkP2u6^c z<vSe_8!uHGE3GV^HQXxnhMKC{+b$H49`Yt2BhH!oDHuEX0^Q=$gg3eD<5!<EmuBqL z_$Yys*P5!%%h}pMZ=R;zSK!hHpS@o$zKe*o9$Kc<8Hp$8w_xZYM}G(F0Rd06I37UV zHO}poa_l2iTua@XK%{`crz@S+T9PA0G^%`*eUv-ORJ6-i9*Zz=a7Co%%_I~Z0o9J& zf~8abWihDgpQ!I|n~)0Pb8f3pE|(FR1v@AUs_2gGI)!f`Ql}0fZ(-9NRlHGwr9km+ z<<|y0a*QLAx;T2Qj?<clE{OGALgb4|-LCTbg<X;}2DJUqe#wM5HaKpx@Q^np4lKm= zfQz#dG%XyIe8RGKvh!l$P-Zb;vVR8Y9Lkz~m9BQMREjL8T#2yICOoyJ#Ow1-YY2$p zB~xZl*41<p2c3Tl*&Nzn9JW-+1=T%QcHVbR%jQM2J2aCLNrClU<zgz-nabZF{{Scq z<2S;H?ty5~p{JooP}E_^<gX<9t_hw?FKDKHQGFBMkA$aEJQW+F8NS<~<{4r;IUXF9 z4=oo+=9)eq*$4bKV--Hve&}$N9HCmlXjS(?M%#EjaM41x0drcSwD9YJyh6_BWgO9M zJ_>(wrxL@yJqibw5Ht!LBrK%D%Krc^&RPN%c3oLzBhaGnc~*V%IBb9tO3H2ype_dI zYq#ACPe2hdW3u9lEZce`?L(WWLG876>OLT;JpNyGE>Epa;rl989yprPe{{h)T{!{h zsecOgw9})JnZ6^s1dP=qRN>_$%&)<L&Y@EC-c%ctW#)z;-ttMe2$h|~ZS_%_M^&AL z!<$;T2`8%J52yas_<3BfU6aXb$X5_KjTT`O?z}GX#>C&%W!SACgxZdYPP`)Ljw7g7 z8lg?2gazF{&rZr?%%hqrCPoEWPKpkzs*!M~nzpKOG0O<XR=C0>qj(&!2L}Z@D_Qt@ zFI6E+nn&ttx%sTF1~ziaMs9^3?@#(}RvA4sS06R*zwC~!mB-pz)5*vCBGFc@PL%1} z>Y|5Z%<qb$r}kH&MV(--H?^O2!tCdxf{KlX4Ra}=+pu|BoX4=W!=JWmnoz0TlOAx@ z-L-@P%&LtxV?<9YN~YJ^B*)EmekW6?93~T*e=)W~rFnzygc-ud0cN#5w9j<!bc@38 ztM<3Ja&4F4(`@`+WA{#b-I$Q4HdQn9Q{;Msap@{cLkRcUxE>2WHh*=H)FP*@szbPk zJ0QdKM|Pc+uGN}v7eR#p<LDO&fCZBQ)wU=u`j_Spx{diOU!D`Pg)2gY8E-XhN`)fF z3+TVHxq_{8r$v8d(KH~b{c!m!;Unf2kX5iC-*q{xIiv3c9MD_N6pKpad7vF~6lxR# zV^E^~3@o&-Q+edFo1Mzi$i9`MRg_<wipx#$NxOVV1n0Z+J|K$=^ys|a!(R_JokA|4 z?iVVo)zunX^b50gftM~pn)*V{&K#99HZ%&S`iE)%0GRFyX!d^3dWOz_E{KlRSG<1I z!Yri>I;YcRT9oQA&vwg7{{ZF;t>sY3L4ZZJ*+|N7@k-*R!RS;Pl*4%}rP-UYlub8J zL{E|b0A-cT8M!X)(ta0itUx;_4b*H?nBjAxW$vxE1beT#ZXd)@7u~$pX4xBRucFK_ z(M-T7<@zbzSwTP_s<J-S*f#(-1$4k2(BxLIzc=ix^(-UN5L%#IA|mJ=mT1vuXr0h& zjP44i_5%L^?6cBm;(O2$aKZH3tL%j;V%wg0Kv6J^i1rzx%a@1*##54MnR4w;bHh)S zu8oONcZT_=lFLHRaE1?ssokHlp7Oqr?FRn<Br5if7g|oYO*CeuNRCK9M}Ve!Ld&+w zL%8{_JhA%9^0VaS0>`0Ns~)K5V_o{%RDttX;deD2SGVrF-J(#BDZT-y5-zq`+BlhX z(xn(iwGsVH=DLE4y2>u2bXsl@;>*=?E1J^i&g#k!-D*CoP_<gEaMuX%6NXhgryaZj zSW29x+bbWc^C)%sCdTRK^%A-?{gVtvWe0Kn)7nki<j3rfcJZack@G;c-zAvfMB$hL z^I7dZJ%(2x*4wX!!GF|ut(8Hh-~gYJ^#-W2a@Bkn6<&vBsg|L%gZ5Q>PiUg?O^vYE zG1))(r-sw44V`ICsP~r!*^Fqn)flv(2Lj?YQpaZK5GDacf=8iK#RpvNQQf-RfP=3G zP*E@=aE@CvA1@`Gd8IUs3aLlo(KoDur){wGN0#W(m>PsJ{v)$mrtSEXgN9d)M=WG& zoHq;mD6xb&;TnWNMEgQ;j5-w?q0a+=0_A$Ei9FW~Db-tK#)#AVERV2u%Pz1bQ~tH2 z451vLoQuAuNu863W9)Ba?O6SxL#lVQ#?MTsHwoE>4gi@zX1`;s=Bo%E!aQ6y2L`xo zomiNpV1dl4)gNMbLd{I~hdyFjn88i-v%5D51TO8-S>LEd`KIML$lVZm**JYsj@Oo( zz2iT0OI`^0xuDGBG1c6YySkrM-RHL`Tv^Q^zYmIcMa&tRc1I`sg0_n(G6E++LIC+; zc~*$1O|H*(R21XiQ{k>R=ABNj;k~;Rsv$}iQZBfHFfEJ~&07OL2=G&9GdKv<N*u=6 zP6r-JHd7bCjmr5#jY=eXAsSAqlk<C-S4CN&xthtAs`KUdWd|Eo7J#i&Fg%k6Vcs&t zE1jgLTFTzW%3}=?;a*a%*ihCPSET6EM8Ih{zq|x`DpdQI_eI8S)jzr!OYg0dyYDuQ zCh(?d(>&8^KCPM~hRPl!D=sMmctmz~-)PxpFATq%a<e`E0Ek3caf>3@%GL0MPkA6G zxzD!notKDBmEaPLZieb33;dBkx^s4NbtfJspAL46wT9@?sNAj`)Rn5b)_E+hxIblL zpz0S@bm0q3V+;6l>;ei<L%?N9lZCLd^jt{pf^{Rx-m9|*YsH3RU|^$?+`6K42J7NM z{ho(*Pn(iG>&|2D#)<h3XJxW$etr|;nyzb4Ah@0g^jAahrG7vv8QIzw<+Oa2ngY>8 zW2)$-rCeWfxMv*@&e-a$F9?SDwpY0Q(J_?sRuB}qX@-R!0c8*rCOh4IiXI%=RT?=O zbp#NCAzxJ^iZ<rDbyC-HA_&XP8=}B|Na3b2hg@FnWk&eIb6teuAIiWfDgqqWRSF2x z2DE6RG%^BhM#aG(AmhHtz{$$!Oc9_8Tgec0S|b5yf+GzuKgsH^aJmF-0RgX~%K(mh zu1koiW6NBi(hooyMIIM?g5joqYGW!A<ZYt$`YjO{RE<T#9LByLYIJzeqfVfLF&Ryi z-NYa^H&^p>R|hEFW&q9;;U^b62}1yIh3Jn(>ue)fUa7XY@RvJqO00J+%oPV8Ge^}l zX>`VoTteYSL^)o^32v(GTvlB?2l*aLRXB(y7kuI9uZJc5mWu8BFDldMglWxPT2v^U z4bcQA(H=)>;^?K8s5C1rR%JM41r68YG(y)id8=rxWniSPzBhPbblFbW6b21biIqE) z2Fr)dkgm$|Ou=D<(a<c*yreva$+at040i2NL65EWTr?$|oK{DE4PH-Qn9zMxxxyBD zWI4K92pXt5ppTDVWO=Ved|1Yf&|@?kFH8?rD^CQE{{R-ZL4Qu_KI>V9&1-YArP>F( zs%h}^!;`?Xk*82!3ByF<(+d6qV+g{^==d{WS-e?fc!Dj6N1AV{Y0~SWx`^FoO$xi_ z@suZ>d#ahe6M1E7rpG%gjmIQn=haJ^*~39Ai(ZOLpFh;H_pgpwlL{HkFU$+h6^yAa z3iSuoWn-kNae%DwankDe4;8VxvI*6lZGx3`s*Xw*qS%Zz!$fTg^YUNi0EwTn6Cd4G zq~0SQ?bmkgtr+ye_~{h~mB`bo*gVt~s=Bh*!PD3UD*7y^Y&*sPV^r4<nv4RNh%%1m zWkJ<m(7CRO#GI?UVf;2O+f3<}S4csQu;`0j#1+2&EQL07*=dHjXqZ#gi3-&n^~7Uz z2ip*|-F3zgXicQkq8Ufc1Lll$l7+C=>-?gEuw2!Io@jF9jOL%+2h`!8b9D^?jouXd zkM<>%8<=#|EbSTS^Ba2mc}+tJ++hbovi|_ef0W_~LHEdh$-hM!mXy*~R^57CcXZm~ zH-%S+D6|M!An~&*?wNPnGGQlIZoUs)6y=ul3snFU;I`?WCcCQ2OlDqT^}^QhT^|uq zi>e)wI38F;E9#_>SC-uskmQQd5tk@H4R8VpJc16WGd%qQbEN%H0XCyY6AYh3Jb9`S zo01}sIev?aL#i-83HNWXg>L~z0fp3TbimR+ZI4t~;SOrDlvwLdiWYBsMFFclQKjT3 zWO6NbVDEN7g1ECt<f$9FtIk`U6Yr?M$uWaa7n)V9dMwbj#y3qpRUZ&keHM#EBTlL` zD)++cOl^+1^-ZTY-x%3zqLPV07(jj0>QrvEfQ8rWvaz|Gc0`wEsC9QGm+n@VLdnw^ zO_fg0b~ZrxU;hA9kD|{|&rVo$UENWco~t)ztHtm?{G!UNG~BiE$AF>`K>}8uL-taE z2zJVP8$CqB(Ai&3Yx}ADBgF{RX%#8{o=7}9FE+WT7S;M}SK~69viriv(LSMeQ?M=3 zXK2jFv>Of7d3oa+sM$g=M5~EjRZK>U%2$-DQ!C3JtBO9jQ^v~b%HMo0aOs7y>x6-D zoF3xJfca3j$QfVRK>99fO17(-^+M*{u$Wo^hQW7jyNF*GGNbk?PP(hi6jj<eDt)1? z;U)?j_#X4_gyA-6#`atyR%U`d7kAoewzGPpSN%S1tru(ZU3?l~P7-Z~ipXFmK)*wV zQj18^*glKy*97`b5atyQ;#RWqt9{m}H#Cl@ip*<zsqBvxTlz)TTGYeaxOJWKTo2+S z%1|{!+mqq4C9Z&UYpkH*Zv?9^BD6JLq$|`V1~kjJDXg6WDVW(_O67+&bw0<ur^8fk z7j@c3Tlti<jxI<>xPN7Ej*3nG*a%Rkmo*F!J|zsEy;a~MEp5utAA8WEc`Z1T!1V|) z`Gzo!7M%pS5_LF$fKFqnz#jDKn^146rs_v7R^5LYL_z-mn9=*G$D-xpX6kV#L9(Y< zd*g`<V9wAtvz3(L<ppVkaSoGZ5gv*v(;2=os?9|A&Du2!_<FmD;zhX55{fs32-CqO zIp@sls`U<{$c0bS7}Ely_QOe1zp~}x(+Bfh13L!A5bhesXDyFaJ1bd4AR<>JCCVv> zJoHmnUxfg4KmqewllNMmMK1l93_<9K*>7cVOsb5CYxGlt>bqgWi%X{RaXip+on;Kp zKP1XyR2wjKL4~6#EFN8!x8xR3eM*i>QSj#F;A<LevK!@msd37KOQ+_aO{U~%Q->@k z4KU~6<8OCYYK=y>=P>)tP*$D-oSO&13CZ86${{n;9aXkm@Gzr8fRq-WKM8Egwbj*; zb0x0mgDV43gJOVePWivW8+BTTC}?w!K(=SxsWVvqqh&r($SlN_a$323kc}3R^I!SG z<#It%?Epqnfl_o%4L^q4G$}go;N-X;^;)!b3Qf;EAf~>V1?&)Kbs@Pzv=hDrY!rBE zcqesz7x4MGNRa-Db-HN|Hd)2909D2##~O}E)S&O-t9_JJl0G52h+dex(GOf9Wy~dc zf_Y7HKB>N#xGT(cTqaf3vA^2LLg$CCfb;ZL1zn|iSCm4}PP1s8L?PeymOeEgU2p*! zl2=6;O5f3H5!Cvl$S9kgfkm?mk?N**)mqC>s*-SXJ|MfJ=4pgzQ-Adpnc8eIlnxd+ za>DO~)83;`+&2iu<w4hCy-IO9;Bh?X2uv~RRg}8uc7_4oQP=u#Yewoe7RRTHPX=17 z4{uPPTd|qkvy!RaHzUQP7a}n{OU$)gks-h$-uo;gJ)oj9VQ;n(sOYVLi>Tc;Mw^w- z<gInZ;B?*FD;x4!_zE}!a-?hMtgk3qeOEQF(O%w)G*^6eL^k_M=j(voRdYlKw^T{f z$9#0gm1|3E<?_N;$r<nmZcwrWizAm<Uy0=Sw1qKb>Qye<mMXOedycYqXmI|N3BYr} zJ7qX&;OXEZqXTMfP->5O*{ANfZ-zjK#QOLwVMuWWM|finY9{?x5RXg^me|Jq7HLA? zRdIpCh{Ii?CJ|At0PM6<wQMZ`3##Qisf&bUO3`bo(&I@}8ZIOM0D!X<w5eJvY@tW7 z(+yLaM+=jL@deD!iL4irfCELH!+~22tuZ?hDh=8=i@K``3$s+FFH?cZwArIV>WGCf ztoR(4MXDE8-w5%VRhk~d%^uM}PiH@5NyW&m7K=<YS}icVeANEv>GDF~Tn~e<MX!T| z!?r?o79$NXwwMvJHe8nS5W-ZHIjP-$ghs7EyFqhx`ceJS2-#`vG>)ZQeAZ#QoqbeB zQioMKqKbV&EW!6uLgfe-H;0;$#5yP_pDK*jKt;OYWL&PaT#%Kjn8%-u)M~do9cU@e zV4lwVh}lX7M>I0F?i-=N6W$sDLBz?9NXYcEl~NBASDkc6Pmob7Sss`bWxhHtN`Gt( z@D88DdXb^PuUssqaDXtdLPge~gRe!+O`#psZL}hU+>U6K3M{Hx{%awP{1JyWGan^r z^(Y5AT%>Gg6Vt(){;Q|ug)Yw98ifV{!WL$`yLU|&9WL{&G(fN2xNTG`7F2IXCNbV< zGPGJEahR16WE4%+@V~HqBkv7UsZ?%PG{FTzXmX@F1QV1xG+i*N)bCZLy5ZNLU*$#{ z!Ub*eR{CQ&bXNK&1Zh<K#$ar;T``3XT<|3r(5=)+P(Q+wW8}FZy4LY!1$rR#_TUtS z9ypm=0o13BXLMs_Y)SwLB~z#HwiNPJE1xR_H36Yg44#Pal;%2-aDPPlo!eQk&AKkC z7#|+!(FHhiQz-LOA53EZ07ZOu!<T@Kr8l=W$46koPZM-sB`+v3qlHQ;1<HDVs_MVG znIv*o5RR)-5&r-x!|JyAA#zvv@N-fWN^fXymTrYc+#dy(_+3?k3M8Bi*=mh~w(Chn zqt#q}5Z2t3;P7TsYJ83Z49H+5K<B!$Y^j(=ePK2}>E7sd<G@uGoddIdFz(x{lPP=J zyVn>~2obX4ZT=)i5TjYcswu&ALM(_k>Z1UoQHNYyG*zh>^2jLkK^C4$UR+RZ5pHF7 zd#fYyB1ukgI<0<+WoV^nrwv3Qw^VIxCjp1}T~*V&GmOEIh}5ebV`U4H=(Jid?7FT< z{{UjF-<d-!dZz0tK54K>9G5ic1y*IGjKcti1S{DBvlV5|FC?$<6lNeDa-)6KHw%%f zz8Au){t;vmsCbTzluNwDTN@Q{va|^{M^zdXI5@QBIc%FQlet{c=YWJyf)_=ZUkgO# z-4>nKX{GSIpr7mj23Nz;SV-!(3J|x~57}-M>*}XPta{)-x)*BS=Cp)DWoGCKZAjHx z{tXtFM%P6~7P97bS#?{5?&endr)zu3DDNAhiff4JboLDpLkT)52q6bfSZ*;Ss)KMR z3C5|yaExxf6*?`}Cm2Hv%o5?rYoXKs01D$(n_#p)xZ4})fmSM?G7bW^)dCLLI;-E5 z75S_47o0CT^DS_>T>1dGcvj~Nebtb?xi9d7vzPwee%Ma@)s>^wb3_px3UwD-lF<@S zAz4luFE8I6mGII!D-T>Jb*`GN7c}mQol)p<>x31OY_GB-0Cnc4oz$Yph8<IyHnO@S zmJan(k2G+cD?FciF}mlC_2v-D3F^fT1a;AS$e?fH(+VyZxfoM_!2MHYc35Z`*sNm) zX8^yNXAOu>4Yk)*#1|vcM8~4!tVtL~p15oBQF!Q&y1&Bx*ItOv?}oZ9en@j#{SbR~ z8-&-3mjx&8x-V7c*8{r0&?_Re!uRNlhN}2%t)h$ysY{WzA~DPmcQw&OCpS&gR-aWS zGb#68Ghj{)9vhWwDby(=)WS76xRg0~HO3Tu(dU5&Ty5a>RG@pyRocI%Y?xR2YlgW< z!r?cXq<SJ(ECsAr_*&&!;w^5tb6!<qqyGR(16BKBul`j1(^RKMy;G>v)7@9MMbR5B zxLIG#x;$F1*-qg|(M^C-+mtjIMBiL27KEu?9215CUl`<6!qPAb1-hp0da6$*_z;2v zk{D{V!!iS!uI)0@Fcc==3079qraYCFx~P%j^<1!|e^TUEXlz>{L3VmgVf+b~bHFxG z0LWCm74f(vBgsvI<`G*d!<w;I`zvX_5uzWuy3;BhIw7V4t9-!+#p3=xWgIz`q^~OF z>49FjMgiM`n*0bVaneVGsYcoy3TP;~4*}g-2s0Ze_k)S>0Qs*~5{0J|%fSNzwe}SM z0Ifs5N~1>YD7r4YBihkD>6qPS7!6e>fp}Ui7nNG$RU5A_&jKyz5hUg0q|d2ZE@}dV zC+mj4TmaP>`6G0F<;_RBpH0uP&@B!Sg4YccfpvXUEmev#R^3*U>b~n`@Q$lVL~K*P zPl7PaIi{JCt%p@*Csj~>lzF0yj>rrKAYm$n82v~Utav1-!$cOUe{UU;*)Z~WQ@Z;q z%s0waFn!v{hcI18xa3us0?nESAhe%VVSpBLEij}{%|tDN)))C-<y+*mUW-Xw)!QF5 zZmvFx=-N?)W*4tD-Zs&?Wk%?5pWSWIMjPW8%IJv!Tu(#*8r-fT-cT?gda8_09I>1X z-9Q>EnOdkPR4$+>Pj4cNl}B|&(6qn|0w3KFNF_PH0E|WF*nZ3WtFFE;@`n6D1`R?8 zS8k3FRYA$^_7DsmU@6TKwIp>za-%BS=C6LLTgB?RFa3pm`7IE#4n)GZk40@&zUY5t z1L}a3LHeqcNwK?Dnc-hV7d4_B)LJpVn=MuLQTAJ-bYb5$tn*tf(0V+bd^J(N1$y8k z?6YNe(E$o|I6v!yLvHsV(Y88x9R5OXpH%AOI60|<Uk&epvepXKT|yoMbUCU0K~Cxd zaov|)zx2Ucc*N|E#OSk6sx94IB3JoC-&{aDWeAHnZnVQi(_|pTs|$X}N;C6QqSP<& zn^ChfC_gq}c3N~@7e&mWV+;JQK|#VHZ-ElDMs(ONUYH(8m<AO(oQz;DfydsrC1%^z zW_$}tDUHoJw1wXh9N_}n4r=7sCcJzxB{GoQpfz#S`ws7SBY-^Yp+=q|hefZj6Q*E< zHUd2tX&<Do^+x{y^-qHS0s3`ZGU#0TDUYI!JyiY5*>i;5$5jUL$$yn@FI^Df`IW47 zD_@f6j_A+PY*fMj04rNU^2?EI5}(<$I;a4*kzCciAxAZ7<fO`#X_AP_tpRjbID8>W z5H6xskqWC0qX4qP<$<&&?m8#O6|@SQn#&J$JRMDzLTtRMk)6@5;UShDs@RO&;CiEd zaGAl}n`Jl-iKk^g0dEQM**9(_!fvHh8<v&+r%l?LMMX-2ndGlses9?y#6LymchP(2 z{i@BY^k4tP04ERu00II60s#d90RaI40000101+WEK~Z6Gfe?|QvBA;s;qf5<+5iXv z0RRC%A#f8DLkJr&m4Wm0bp?^{GDz|>%>CuAS>%53Ur6D$Te*nAc`<90vzA-7Tee@h zZ~mp6+dRy-Ec=6U#rB>?SmlcC_lO&1o>IfL`G$i1=M}$sdaFx!F6Ec)p2>dMe%WIe z%pal>{WmjPXOli?ugrE@Bc!o_#74*BRnZG%9will+o+FcrEnklBi^W|mFSqMf0*zK zxEuKlR}uJ(V4VV4clPqjc>7B*YCIYt;gkM2j>~`Jsh0d%ftToW5Z$NRS^of(p)~tJ z$L^?XsBlvKOjj7D^q5wU5HMm=7G9zy$PQm=j=1HH4#ioNbyAp^03l$}8l?m>#t6h0 zh46scBZ>oFh^mhK&-SQ>SMMm(a^3CR)ZIi}Zd@HicuQ1-o631hoysOSgcz8sK83OR zo|9x7`XiQIeMLq6au~Jm=u?;~j9N^R;AJiep^nza<ixN`A>ouYzO77?7CvL5{n4ms zK2Rp_QuSq|bc2*#ON1?p%A6D0l1B9I6j=u({32L+u0KmIg=_=`r}t{V#JB1eB3pe# z#Wmf)w_1YSyvv4BK<Jk)Tt1gD=37lN&(`JrGYsNUV^Gk{oM++`Z*>KI+^=a+@Iwmv zMPognthnkJa%I^U)hw`SYuvjGJ8Noil~*db6|h>|OOY1BC#1|kZ<tA8(3mAREg5o( ztiui_6E5XAoCc>T*Aa2-)WTLKT*kYb^BV5;9mV#9fv;3&C5xC(F?526YnOkplxq8t z3r}SYO@l~{bqZfc39FWzhyF*6jWE^}?Fu?5hv*^uNnkIvZkWWx3qyswQOKD80Mg=` z$Pd8d5CEaFokz?Q22R(^bV|+>$|x*@Y@lnCRFm=jh*mPfm)hn80sjCk2LAvM1*aL1 z{O9o>7k&bL=edEltsf6@3*u7zEM?I=czsNLPA1_lp*IFyeHZi`R>PRKHN;Y>TDNgq zOeis!+#f$rNWv&4*>aPQ(|ygObK**;$tblehn4t<3gb|kik_0Vyfe{OLaJ)8#8BJZ zzYLPChS60n?sC4-HBo50%Nuc+${ChjCGKAEjob}g#xY}}V!VCEs{4i!;2vYh3-d24 z511t?UTze>1TB}(Qx>n4xQ3h5T@Qr0W}HSjPOX+#eq5|k!Rja%dnp1BoU8J~Mem4w z01z*kf!Q3xH$^-E@2fX@;uj$yVunExbIAUjLc<1Ub~=`|w+f~c;0SKvUb`MSl#!~T zVd7a0tNH%`<TI<~+Qb=Oi`IWI2hKI-Wst><d6;+B^Ly$hjvgf7A8asWa!dR{IAFPa z!Mpa5zMMl$!=v^wwhx4VB2)K_8}6bbPte!U#6SEPm-Jy1L7xe{!5y9}=!}$hZabEy zv9F}yoRcy3i)#Z4?R)A9mBbybQ&nxKXACn};!t%cgu8N%fvsnVA!`Mm>K3k<kZGC( zUE&K&#Z`^m-&Gfwl~&9f7hx2mIm67bM6vp#5Fg@a=A1Ts!t+3>@QJ*92v(73?Y8RR z3$6CX<4#+ZZrpkEv=(XZRZy;`eGorJno2^l;oP%!e^bFNp5gH-_*nj?OwhnMCn|Qi zi?AJLtOxG?CplEGyP%kWyJaq>AJg#^8LKU0+8pqjf6o!d$wcLWgRc_iaj(PJu{R-4 zm-1-nUHDBw!Jvc{HyH3201ztl)HoGbmaIktbtoU%dT7V~YEcn3=HFKnHNxWa=5of> zKZ#VRjqjhCW^B8k$P&|s^q>0~aEPKSAe{AG9uwv@6=3|Trb`XKx;~)7FaH3+2>wtD zN!X!9U|R;nc}`|tYr+LBY`7@aBZ}f#k%9};L?+k=1PgaEbXf*G#_hkAgpSCsY6({I zLetgOr&@>i9W`cC8*yUhP{vA9$pMOs<`i3sn^xkMv-AY3C%r|ODVS6TOSia}g05xJ zHtmJn1Lh%&a?FtDIQ&gx9mB5l5M)Y9rBzc5fV3^%VUx`KsF;Aip&Al|v>trUm;}5a z)!G0*Qn`y_V0k9uWvy2)7=$YtnA8_*s=2I^(g>$^4u7*{Y8WqHZAJiPdph|3#uOQ; z$Nr@`*;%Jjo5Sbm#}*X^kNq_TP}=odeB7%*SL!X<UOvEojLM_$8*v^QRd(VSMP)m8 zG6rtHi?4BVQ-?2W3qWO^u3@-S==X3$b9+CkC2L~5MES*_)#Y#+{{Rt5ab}09h^dC( zCh*5Y^?&H?9ox4LFfJPp#5T*9H;2M<HR1>$`^5?1l#T>0%&<~h#-)oG?lP?sloJ(; z60^jhZdZU4N11%t?UVy?H_Zl!lxhnVJ7Scv+Y<qD^(Z0vf?}x!iT8{>EEmHuRgzlb z&@k?1b1tn`=KGEO@fOiH4oPVWQ>4Ken$s#YKq;HtqcBOMsl4+inPfFOK@O4Sno88| zhG5GVYYAGlDyu6L!A=t5^*ITu&EGKn;OxE1K%+JfzY}MCkxb~uF;ICV7Ok4I-2H>J z(&U*ip2+9-_nFgMJhh<>ix|TLQJ{X_-eHQv1J3FOAawGl<2jhD*{vmLf9y-7a9tYI z+QmTw;gn%Qvy&g`jvv9SBjSs@6`&JC9viuk?@1H!TqtfMG)wG4%zUZO`z)L><r*lp zv;Gq)dU$=%RjuT#`0P}^cD5rG2R`xsH2lF8qMFASEVO0bU&&k<hAPDW01}84^$!bW zwF}HV4HE{=oJ$-BQN^SR%W7D>Acf%wLYLxf?ok#JxEby?Bne$d&(NgB!$?*vbq5xR zH1NbHY40-1t?C4$60l~*)@Y12Mx$!-@I(5*GSB@)fvw!`HsQZ43>TP!!z%m2<?oVl z0vI$-`ho(BH9eP^gAkX>kEJ>K1UK$kRA*!kW<sp!9i|5HI57jjL^lDhN{2Bsc#goU z)4J{agm2*MR`$ij*WUqeikBBTPebPwGli&lu7?>VN>rJ=Je5(uN_g9aTbrR^B-U&E zf$=7b(<ht!N|nGJ&ipc!*K%1rKkRVlKQ)<!$do3FKd;2!V@2<zU>qHuk5Jxv)mIOx zu){4(A_bnD{{RpNVz1|k!0o(b{mrF3bHuAJ&0de}O0OW(P^96wq^bcbub4ER9o)cX zmy5*5e+Q(^!0y6vjkPfbg3bUCKq>J2Lfo-P%B=NH(W^k?8~hR2+NjbRKe2r~q5)ZO zgE2}FyC-qE{wHZn6c14QM&V{xj^f)WOn-2#R>a`Z2jAjgE};}PIqykuO8RV+oF_u0 z;{?SRJLWabKweZgl|-iCIfm$NxPD@wQOcY@nT6a97a!s*SJGvc{C7UZcL^(U_>Qj2 zh0*l0CMLI;qceHjIW7|URtSN?<`AAC%okO;<`JNL(#FW%XomZ^t8TiQh-zW(Up{^h zdinLZ+qw>JAQ+5l;Jm<-3C<loxtYG1!S{$RdAb1iGVo#|tL6qi2!#jPh%biVAk)lM zB|1L{l~6n#AN+{gKll)d8KpDVF@BcR1U}CEPjjfIzxiY&&H%WSubPLHUm=qh;n%5b z@jO*9{$PxY^8;VxcL8F$NB;nj%vN6%?pQB`bpHS$rZx%ET1#N?J<I`$&jbGeV5sYm z;@{*eks0Fjl(C!lm@Qi6%t7n9zxnYnKz7FaD~VT#>|)h!p~%Zkz*b1x4%UfjwvUMQ zzYr;pgb1^0fpz1#QEfSoCosToi-<2M3$Y&+UYT65Oxntu86%$9hSp$-4Q8e~BG$<< z?DsOY7LukE(N)WEO0>Ata4x(OlVY%CVbKM`V1P3M>RS55GjS<4%2eG{eq4vc2{ki> z!Wx1G-OB1qgRbKga>~z$!frT%s~Vh(GQ54$Oai}xXH-6r-BD@tTK4#rj#wA_%*6Vw z*67w~=3OF^{9{-C##X%m73Y}XfGY0(Wm=af{65ek!fe6kVr%=mP;-EB$bV%AKf84< z^cZgap<wKmo@dCh88Kksyu)lv8_ms{@@1CqrXDE>6#$-{{$X{>`RUvYnKQB7f89V? zWggJFY;E#)13>Z3;J?!|Y;EaZ`xW?^c3D@6fB7DYAA$b>vku*u_ta~LgQ>R89S{Rf zvAKWCw7AU&W`EDq;IQQ{p`3TA$`G{fGpm`*8w(9*sfYVS<pm}dXBbN|@Dl7Q<?0NX zF_0RMd1u6>w&2#==`ykEx+O_59nYLV7qvke9dS7cLorUGfj1xA@0fvgyiB*{d6`PS z=*qA;g0jmM;2l7P(S1q}s5dqesFSdR>?u~}KX2%=;Zp$hIGTJ--9;Iy3ZfrUF^=WO zQnY>2-H5!aCo&DWgNuPr%hWLDs&X@$&LI<Y-3nu#hz5sJ)z_FexLLFADjskP_?V3R zvYMI3SBc^)(o6@qxCJIli!&%abV}r|g7_cgp{lY}NL5FqYt*d6&mr;C6Dz>rWr|_J z+L%qHv2SOXvNRVCZ0UwKMRHE%h#8l@qPHXH%n@_fCx@6-c(ygpcN>y3`xp5ver|kV zpPD1OsIicL-^iB=w_QU203cWPS;9zmVf!VVtj8o)=^*zDZSFP;P*{m=Nl$bt{{WGD zOBCyi>d0%{%ZkU9r}-7_O%r4pismP>psca~00RW!CJ?wggqH>8Z=yRwS28(_T+SgY zRSX)urM{}S6-l4_DW7qwnQBGKQ!HfFyt3-Y_8@{gI3)>YA^4?yY3d#ztPMm`*<pd0 z;?qth>!{JoGWqS?7Ye_K<fyF8j7>+yVql8+PF^Q0AqJVWzoRu6A-KL@a)#CzG=e^I z9&QUBQ5wG1$Dc&T>vzjwOHmg_hsQCn0{CNIDqT`*AG1+QayZLJyev9p-z!y4I|&l_ zZxJb*8G-dt?K*=Bb3ynUBa6tafeJu<pMCxyl@>IZg?h#8Qr6h`BhujZ*E4VMTw>bn z<>m{~dwKUO;9C4!H!ye5$_6;0`3buf7ccp8x*JgWE*#ATGcUPr_=zJH)9m3!FW?XL zD_Kg!zqjp({otF3Zr;e*4X`m4MuxS~{{Yx2Y-3w+#wb$R{{T3{Huls=M>MFnEx{>C za2u?{%&rJ`>A?ObNy}9gXPzPTToJM<OyK;+n|RLo(q?bM6bv<9kU8Jb-H?G#2Rygg zOPFWih05MZMV8JYmn9frKQmsXZMfN&Vi82VCCGm;lrK==-9>C!MK>Y;0H{JOF*u^8 z^$dg-{W+MkerH|H#xLqK-X-3va!aF`PhWZ<vmVT6%E2(^e^&7oKJJNd9VZ4*i`jcT zKp}&&9+u1&%h3|K;VbU}_KkEJ*camyETeL#>|=s0?T`m>_s_|xo=6xadL|V;NMB@} zmTm>g_V9g8w}tbGR$eMkG1vzRCTG6uP{3i~<|G!u_(Tq$C|NIV$B1^9U)04FyLWy6 z0A_n*X<(zb+{Uq1AA6J(@Ayad<;r|U#Vn(;a`zE+=obFtGN-LiND=H_R(nBdr(cFN zi9s38zmO~~f;wnrwG=;;xN)BxK|ZN!)vpn~1u@Z(@d{ftDB;u<!YtDL!dUG997M$Z zv8D}7I%kQ5BBpZ$Oxu|5BWc$#VF1`|Q#`O#vY4&14N5>)0}f^=3t56x2|$%CqTCud zU?;X<tAqal!UY+hVi+e65W|nW-Hw_~Co-i?FVmm@00o)K>Rho9GD7g@8<rJHRw388 z>m_1Zbw~3(1pYsERlJ%lLHC8PBU{Rv6l7fjVOt`q0O8^;U04n^;hhqdjI;j$S%;zd zhs>{>6fLJtIlaot1nHGnjpH6_<07r_FmTM+gy=iC$$I>y5%TjL!7E%0d5CT%nDCbF z5+eL+pD{_%@kIt68Eze82F9aa(u*jZVX^r9+*D_F`G|52KWRx8`k#YaxQjH!8n+C= zDf0{;aL1S;HQ9mv`IhU8{C`mGP=9aCFxQ7$+{?=};4Aqk7<9ur`=Hn^3-uHYUql;- zVX+5>$QW7n!A0_2aSIZJYS*fbcfT>U8EV)h!TE$*=5^(wZp`NrhNos?FhKZbKZ#RU z1l3Q1RV7_;dK;K&iIC-B>gIDawqv4K4t|^QsCMpNQSL0^${W|ye?mV@2+ngEB{OOs zFSuynasc<U?NYd^aF4_K%p5A-2F|_54KyBp{NfHkUFkkG27<ILPjeR2E2PAM^P4^j zei?VN*dQx~FjOTO)yq1DsD1SXWnk2?pz8UTt2KpGGYMSWVKQ|Mtep1;d$y`rUL~`{ z7O+2fR-o62tD}UL8x-G|?M)sR`yHyKT-w&IU5z{Q1+Xo#bcR}kv#wM*8nnSsO^Z90 z@G|Q8o<j;)!|;StSNsW>;+I)230QEV`eRb4FQ?8vLT@Dpex=jx0v`@+vjG@KEW@_3 zFjp*-G-WMJN;pPXK9CtcCEeIhl2(knl}!ytUHm`{A_iy(yPNhx+oZhJO@iRFkc^X4 zMP?ah8hylNiRjD{@q3EFi-zZd4B}LUekGGU(_;nVUfj&%3?cV@IV0|K9Q_}oxT|2E zCLnD5AL_)t?7h&*-38DTBEoh-`wg&f5IPM&OH<&0s2jdgs3p>JK=+ZWsxJp@I(u2& zh%!F>$9(M^_%2<pu7>VaTZ4!eXhXR!cLd_Rl8umkpi#mJV@rM|xPE4UF%)(aBG?6( zKQiR#r_3h)M=0oFlm+`v8yu32zrs>J;hVvkd4st(i;sYeZUC#biLt=h&<ryx^7l0` zW9=;dco9^ZJb$yjqh#a5%&47j`03OfFM|jfca)|432}kt5usc~Gq-Ulb$uW#-or4T zbUyNx3s}OT;uYOXV_2z=8I&%n`<7PGP+7dnIhfxU4Gtl&mu|k9b%<Mp3KXMcBcIX! z(bo4pW4VlD_2H6WoyT}IlO;4u&zQl?xqQZP^mji*y38`}VnLK#+srUTvEbZbjnm|= zqS=W#KG6j<c-YF7-)pd!HPaL*`IzeUYggg~;sYc0gf7n<#?sEW552u6E8C(da6H8p z>MdiLmB~?SW#$zdW~OF@-N!Q3Pc)~(0<|mQ0`iow;Vaz2YAs{bp*2G>V!TQe0vq*@ z)I2RlP8*Eq^u+jjL2+6TdvEg(HopG={JE1_vHg{IoqlH-z`o-~ha<}=NuZ=Vj^$Ji zyO;_&;Kx5LGi^Oa@Jf~aB6%>uBC?zYVA40x7I8c=T`>mO%sxnS#BSM7RJb;*5h=vS z;vF>)8f0oyse&vm)L6q7)p0L}3S-Tf(R|9guMyo=<_!}60Q-w~AJgvYIGo(y6Ys&C zck~}!{aDhC(e}Uo#YzA{BQM1arC8UWhyenWwKR3qu^M`<K6M=R31w}0W$)~&OKd}y zTFSPrcKZ`(Pb?q8T*VY;^@Q)Jc1Lir;rWi!p{wQ?3W+*lc@U!U1tQ~Ke$gf=naF7} zEG-1CBkE=cn7m4pGhz9jLP<-?JvTC`Kn2BChAS-0RY!%(h$O0vG*lM64J@j+1)F(& z!xzA-@qg9;Z58{Nt5g^Ign>XM;`)u&i$la9-?AM`gW!pa(a{7*Y9CNuU!?^sPAODF z0$MQ(*#%m_JjxlC_Z1&b3eqg#Ys|5kWl@+s0vpW0!!n94pxewJMg0e9N`cW1gc_)= zgk5F1UL(4U=*)Q4!Al#MM>x2+Y1CR9nl%npHi7iHUwHj4Fo57Y&Y^}&PlH8*NGlfy zxn_evj2^MLwV{j)i?QYw`!a$`*e&*F0X*;_+lcrQ$ztb;Y;2jfe3@!D)Z!lurA3wI zC$c#+p5QMmM*X>j+g~wjRZ8sEal{hP2(;kpS#wtq$8nNBgwJa%D<&q}fWZtB_2yog z@w1XX$%X;&jGHjWL#(DFO1W$w`v40GTe|)g8o6idO1AAE=kgo{HAC9)_jMKa*dr*m zlwcI-Of2{ASct4zJ!)e|Su(7~>g$V_p8P>j8cBY<n}`jntTD#fg0ALxiX9#xZ$<lw z&|Ipu`_5<X64GL_)9{-oom{-*Z&t;CyJ>{{lyFzLb^-1MSU{mqNDDH`2j*Sl=<_TJ z`T)-UCeYJ2j}w^wjgz<0+#~cXWz`h)f);ga1IZ|7w~M#YnWNt^#Jp_EUzP{lZ{ZWO z=`aCrHO48=HC#GI;6~z5H)H<*e{!hJ0CPFjIcW5A78kI=V5Z)X#SZ+;km!ufw=lL5 zKO8Vz9kh<J!J(GH#mnqahR4{L%20;1xYdl3?%`9AsIFOM0_yG}i_UPyh?FWI2|}Q4 z8Q~6DqcY!<{{SFln}6{zN-6gr`7gr;z9wqn)D~V8oseR#2B7RCwfiAUTB36{R0Uw* z;tpYO@luCubqUs4sb{C<9%T5G;#IJRf)RK$%#9KLvlq2}&SQRHuXE)OjK?q?eGpGA zurKL;f_*C)e)oEtu-r7_YKrrR#O2H}QQQ@7UL{jM{4eP0pc2CxH22!}{{SL)ns_rH zdCv`IwlbFSqN#ly9^#gN2jpA|ST$$w#36z-?fgqr?^E`~H_bLWs+mjyzP|FYQ^r&q zEq}y9N?94ycw{rZCcrKJlc`Uva(~H6jaLjM#aoCg7!HVi7$#lg(&2{nZH^iTEHS)X z5pj0HUFsAXxua=~wq<xD>a`I8584|_6MV~ElJ^BnE-Y^2ucRAI2C0tBBV^h#TlFce z0AHW|oNS^(g$%2x!my(M08-~$Xn2Gj1>yeyNr=_MUdXJQAVU#q8v0aq7ZT%{q+u@L z%elqNQ~v-nFfMlt%FN~j;wFBK?dEJDOAXC@6KB)P!!=r)Cn&=+E+0~8fPjdc&^&nm z08+AZecemJ(Bv=1Z{{`3?zsB@031s$3<upmv7i_W2e<qsY93hw?jE_aA9;j4#uP&q zCl<vrs@}=#(DL^ME7_It5RBMr>*eNH<<}1$qPV@aL6_SGo3L6`!mGyd34chfA1IS? zdxMddZVI4*j6_!3cw<JZ6E!l!czcHP$1%&~;yWkm2C!Z3ADwudreq1PlP_l;NB~nw zi>i+6P*fQV(3HmjSqx^_p<bLz{HNFIA@1=~#j%QzXbz5ba2p!_^wQs8#wBjU5B!*> z%y{wiF0=IQG=os4B{`S%FY0O+DRDLgAX*A@BpVq_*W#K#wJL^sgR@$v3|_l42`lm? z?K+u{Y#3~Z6C5MV`?FQV-3`Y{*pCP@>Rx5>DB7-bbbQTD?!o1jXfSVD1|}jbpvBd4 z!mD+198i_y>@ak71USA%;j3+22kJJyJ7}vTk%AvE{Y7kpm5;PWDJ+~H1UO%RQsJ*^ zb^e%TrPgo6*@w^QL>6JP<!#rrHzUKuYfGoNXQtB<#iQmsRa7lCdZ?J#j;#|dcQA&b zyEQ8?YI%&TV2YP<(?k_(Fu8m2Emc%&P~NvLS%NN6`s-D<HB&QhWVYv?Y*Yt$i{C5$ zn7jZXlfqOeocZkpRlIf0d508pns~UXn`Ot)&(kw?Jnyv8JaSFhG#_v21H)=Pm`}CC zK4N)x)vN6tDvgr|Vfz07b~rnU{{R`1b<TW!<F`k;dnLh&X9YTL8{P_xcCG#s<^gZy zz%*Vc{z3zPm4EE9J&W{1Y_TyuK8Bg14YxfRl_TR4@jh6y4e-twkI=UZj|rQIq;dq# zy4(roSj;r+SBJ-QxD@H-JcbCPtvMH(>G(6Boq<ovEo|Mt`WbzDkk{B|56H2&ny)W0 zEC5`yD7wRM#}k!)Q0*zBEBP}VfHQtmC5%AhKVKZnGUnzp+^(`6a7u75sNqm^+^86L zP%R~e3cKRqNqXlo0iVn+izic3O6iMohl#BoDe#CciFIsok;XZRkI<905@S--;yk{% z-_-Vygv7m)@zqP2J9kkB^f4mKpO_Xpe%_!DMbAf*#IQW(xBmbcWz|<0V5BU~re>3d z--ukFW<7v>K>B)WRBHZaP_{8LLJA%JoD87W=6U*N@ie%o;d&%?Q7pftyTrQ%qP9N6 zF8LDioO25afz;07;v1OI%r0zPijI)eIitZdA4VK8>4qt-cP5z8%9Ex6NZ?$x#oGqD zCFlPDxWMHqQ2Um3v|SK*Ly-PVupEmV66gDwPlixJSFU*%%&<G8Y6QP`{_*NvW|!Pt zmCTy(MoW>GRR;jJPcIUX3+bx(fPh)fC$RzJ_nC9{mrYaA8m}-P?4_MH3`Dt{N@rW{ zXV1i32LcwliAJFU<(x*Do}op97YdmOjLw!*c$aVC80u6zhCV0ep6iva?5InhQF$9^ zzY_&hOg7Yw5{F(uiwLZ>6>2iOo4-U4JH*{~fAJ2Dkjr00f+}$cOT@fOoK8NvO2|B8 z+H|c4;Qbka{u6lGTsL)=RO~*)r2dG&lMy)j9M6JL-|2S^p|;aR$~2tCoW#r^f}5@< zJAB_v$%<AyhaQPhA0>1uh!Yc7IxGF1a&+aHE#FQLb0i~2^qDZ6Vlo=GgkY}rTQT7# zpj+D!!TBcGGaY_REhYUb9B15_A|s%SOLz&zZ%c@5kM_Ej;jZQ?)!d?iQ_M?WCK#07 z$%a7eoC!m12;lQ6skpZ88jT{;8WuBnrbbgKLn!L=EobE#`=2wZ*_l&B7o-3S*TP)h zYxPs^O~PCTpL|CS0yPY2qV5z)M#rXDxUJ*vZznPw(0OVm<`QY#5Eh_ejayYRK^K2Y z#K9`zGxWNb0fSQJ{VfHquNN}&;$Kh{y-YqdyQz!@!^B&?kWsn21|Kk-!JJrq55ws2 zr?D0S%FK84xmbjuV8k99YAg&xak1guOgV@5EG?%`Bf$vBZc^0ZgPcDE;kVXU9lX$8 zh4p5LQ*i5-{F}IZ#wb2a8CdVkFoqt7wgW+pu>}W^I)7#h%00^|gTyS58xRHhC3bV+ zj<HhoA8A8F^98E=#X5R|J69Mp2EfFzrlVZpF>O*eS$<{3@e0eCYUR0H0|FSzzoM5g z&8+7&NXzkrE$azia7{tb2IdkFe5K>-h7GNMW0Q;-&j7Gya(@y!4VBsk4f#!d1|Lo# zDp%K1<;!OBv)yrJ+zdxS8qM<^W%7A^OFi?eX)aHEKjK}qZk~RHi+@t)8)aB{;yZ(n zq1=9zWV790kC-|ryo>(k=B725cB)Sb_0+0@SD51n5XZ?zc?XO299NWV{LD$$TSh1< z(A20Gq|v@6VO3WbRTBl4^N5jNbIRow3WccVYgL)(K@e^?jlDu#8`NXh#7qPmj7xbS zCjybHO^%^R<u>?$9_CQMaS)}xWz*Emltq&vE3L~enuvBq7Q_-<p!F;~%4qmQ;-)Li zsN)C^CQ~F1Qj~4{#$VpUe&j;enBvwr!EKU(0g%3>%xRVSgMhm)iC1WTAs;X<Y4ius zyxvfXzoM#C+7-dUe?=@>_clk^%)EYs8NV1m*xDCS{fmIRclU~+-%|Y*FjGu-@i`$G zJ}NwB$x-Gr=jnokxLx9hnBDiF^Ij$4Nph+pZi(B@`-2V-YS50D?@j*zlD@sF`|w3$ zbzCp7Ib&@H2;d9XD=HL!u;p{PSOtX(2wOOoW%q)kz9z<fZZo1C0<FO8=PZF0Z>iS~ zrAn@}%n6t+jwUIZoLdQ8GJ?v3smeo4MkeElLUUY4c9@d_(HnuoQS3^ph1jUYIVGpf zMyb4y+E}s<5*3@%;wNjGMB2(r`qk<g5UORct$$(>r38+lTnbroC=!yt-BT?1l#5vI zSJJ+R)y$?<#LTiQo2*QNDdy-(8`9=r+M1_v@?J?1-aQMYu7<NNP&WI7T@jyT#8EKu zEW{XYkEHOG^s!O&KVZz(7NC6J5kuE-d0_y2S^b*K&%g-Mk`Fbw)`>+TM<Cp`@rj2= zqEqGW;2pyb2bjn;m)ecT$}6Qg%)7Uw1k}oDIa$(}h7FEo^9o+Bqcx%LC;%}}Byz(2 zTx|o&rf%m=+)dKMSYWAA-LVpz)MzSRt<30HrMR)kcuZBfdoj!96w8TM0YR<CQjzzc z{i9g;Wz2K;IU*nV<Xu?%6N`oqX-p1F_Y^uzFv4l~vKSa@?CFepI7@;CY#EhUQAG!D zE|Oq|>gf$i`VywnrllrMB}1Qd9!P~qE0j@sYG4)4+EmNWvb8-hs0g$1{>5uIV2<aK z8WTyn`V%5>T9``2abkt4FQee{*7N+E$3XjCCP;RFxHM2BVy%_6JaahSI2}h-6>{4t zZlrmHPfVumBpL?WndnTuW@C*!#aE`iKnVO7GPkJ4vfot=iXBu?9wsv5-vy;(1nH;a zF-cS1p`wGd<H_4c#%B$7<|5fYzcJPLT<Rh-0ibD^h_&vjX3KKV97*Q5h;1wBpjJln zh?Wd_mEvcn354cRW~TA=EUC-o0UefHUV4@p$aww1C72b5Oz^>(HXrQi6H$R1`#Nq? zo1(2;aLg-j<lOzXhQ5KpD=^CfzLj#WrxRaH`0<U#)Rn+y7jp_rd_g{p241QQ1LOTn zk2D6E=6<In-R|aoAY1f59MW)oIAdtiT-q2h1Qdo&kDW>bA=K|E!3nTh^_@mX#r}Z> zQX(ymDxy#Woo*b%ENd}3SS<^S2+f1ig5BD~+RNU2By}ped=8~yUeVo}x=C3EuQvd4 zHz_^xP+T@r;r2&Eu^`LJ2zRb=bpAwZ)>KzNe*Vrkv_IT;v(q(f4}bDCV)B3DQ3L7? z%^rSb4~)ui)`({F1rh0KW87>N4ADk5K~$zM=`-)*b+%t#0cnB$u#4$vNRQd15v@95 zV?()Q8zoFtw92UT44`pgbQ;HlxXf92lvBnkZo8fCw)@1p95OQS81hCJyn}{WP?|l= zA@sf=vp-7AKK}q+Lf@z20td;xLxi^IhtOeXePhSXPaq!OXzwC(7z#Hu8TgK)Vj21x z6JOKAmL+`+=8()iP2u?gx^_y>#_~A6$Xb{{DfzF|W<^?=7rP!xl`>y6!|^PVr-oU{ zSD3dft^()E4?n~K4sVNF7W$QC2XJ@5*D<y4st3$L_}N2UijVa!1*#68Hb-sls3ik) zOxxr5im3bqFr8eF>Je}FNb<?|DTM}8F(OXo`Qare@95=v`u?U<<R94PbdU0mo*FMN ziRbo06&Ufkd<{m@9M$m@W>vY8x6~_<;x|+%s9-tF6c4)R__|M8ioLH(iM2?#YMoRr z5%9{tZO^{}!z|q#xu!nI<ZriRLu|Ej%T}yDU3|&~wQtM+0Fs2tTj7Y8fmapVnw(EA zv&fgcF{BFI)}Ts$luDUGlA&bGW4-30u5aip!BUx5u_YR}oXk9@r}G8ca#K)P-xGI; zWr;MLJ-}tmykofH=Q+AXN_xi~3#bLNF0f0X;kXI4EN&N5mD;G(QjR7@w-et~<!lhr zaKhnUh3XPu!;HBB-R0~bbRY#&j7##&Odaa4QwPP~rs-Y41-Igcbg6d}ci+N<PkLQI zF)9NCM;WNXrWa%xGEj@!JL(C=5RRLPt0QB$!AtVTq%kyxdAWk_W|ftxTW8MUQX2!0 za6(RueWCA-dx-)f!9VBvM#(<l6M+0X<`@TVr|!k=t=|P{_?B?KqfLl|Tl-WFfjIvF z+@&vYWAPOIY8hTcMXB`?*=Lxuf6#@Lg4jG7?CZ?cxu!YrWh^rMp<_*Bxup6cQ8w#@ zuO)U)X79N~pyU4l#Y%)f{5lnC{UkwAi;fSWmj3_}-HWs^4S%5waYVU4g!Eq_E)w@Q zoY^#ipP|BY$~<LcOd;W##Fi>h)}fdPZzc`_{giV1l|uO|+9d+*{nWk}Zr|9-fC<f7 z{L2I-IRH^I7nbe6)W{4qu0I<9>^}SZPl_8;+<H8k8ivIw%bA5tJe$7Ks|<^|Rmd02 z?99y$$?W3<0zZVX%Y4FLnJp@_hAUPTM6|TFXCYgW7%DY(B3b4YJw~cbBe;sbCW9^y zBiRHwied3Ek^^u#W^~5iP;mg@opT{<qOhLgKcg$lI`=F@7HfiYb>d`T^p_B7PcpUZ zRma{~e9u{jY_?_z`Ft^)hd0zwt?b(BbeBdARh-^Lr*dgcJxkHD3At&?>NzKU%!DQt z%uh9bqn1gyzeUUX570L-&2G4lUfZZ@WiFBnG#Rg<d_?_MmcAl)8+D3&Olt-T;C;JW zGk5Yl@#1c{Gt}7wG0>Wai0cku{G&0q5L=z{0pqkQ_KNp}<r~GR)M4GxFvbHNrc^#% z{{V-$Th1-9>k`K5yiv#6GV`^6fiem^H2y7*S}pDSmIc@B{M4u@9pVbzyP_@Fxqroj zD|nfeZqm_Ou`zEG<}ya_Fw&~HB+;){#%vc`j+ExmL4d<InP*^Zl&zDN1y!|}Up|8~ zE11HrD<NdLwWOi0A=!F!1|c#f^!P;#GpftoJ_xjZ#!c{0DVC{(M@3gLRhsv6D3@#I zb3PIdvyt8+!xO(G=JHEzDdY1DyW6IFQ%ZT3Jk-XEgTjk%i;)i#<YP4q)I57Nw{ue~ zXS2DJt8oXZxOs@kuRW1^o0+`9moGB@kJU#T`~o73{U0gHp;w><F)}^UZH-I1;7MR_ zn-c;|nY$TSk8;k5$~qv(&f_lPTu_*Z>VClx;1kGj#NEJNtK#zw7IcqN$4j%|E0|?f zSLHunxvPx~00~(0GC=e$;zgjXrkU|5o=wGo6{ASTtY314RPbCy6yJA6PIeIad6sVL zL&up;RA`C63H`h}qHVV;Z25x5kco%HI?v1#%ffM_D62alajv6VGOWxS{6U~mDq7f2 z`2zkndL>8PYr!nDOkAmaB}+IXad#3Wm0^_46Nnapm6rEB5JW9vGbzsH*{OKIgT-zx z#RGVTM-ulphPN4E#wBkhxrEcfVzzo-m?uNn-pHroOwm^(bpv<+n?Pj03SdfvzI6fb z4&Gs(t-!?N>Fxz$bGTfgSt#gCp?8?EhiI{lL(4qMpk~19EWkNU%Q%9s;sG@pVf&bj z#y#UW)MeQxe^_&HW@@T2Q*tn@?D<7jqVOIb=5I*RGS&3T2vZnuFmGvA_p6F2-2VXj zw+3nhyLtZrx|%H5%Ux;8^D=^(xDu%uOB;l?6litKIr<X=L4O&5Slj0wS)r@ph}c+A z0u6z`_J+<5*EB5k2G)m&9ueXllclkfMx0dH=dxLNh?<RTvgT}VCDfxZtC5G^H;kw= z`;CJU?}0TW@dfE$9wQSL2wH_TQ))iYd^=)b3p;|{i^Q;JG04S5M&-H5DGrROSanSP zJ6@w^(*&AkOlG1hmi*0MNR1FzOtvQiK@q<CViasjd5Wsiifpy`mZSC&N*^g*M3sqC zKM<u?5sJW;?{TS&eKMtpgH^STlb+u1gEUaO5EgOM5SDmZ2vEZ=63Od{ycct5U`!@M z7dd?`rVP$0c#flp$LBcGXAwQ<uJDN)2EGQWy<9;lYrU}fjpWM7U#USb8i)1>*IO0O z_n7D&!VlRFWn46l)#q}VNEY@cw}F%oSX3l>w6ScZ9V~DqLxDrznUh>htzAmr{{TYy z{l{Qkf*qXARrunz(I1<gX)uSXr{4^p-l+a_;$51Ge5G0}Sr=M>%}WFefp9#>vy?AP z7--5+(p+--U=`79COTndSn(5s=qXnLCB}E$Aqb9V5lo;@+}TKZN5tMNWxv+T&nD00 zFyQ7TS;mdR+k{RukqwiS2xiXZv^)gJ?axuN`kf$`U%um)A*T=a09P}V)H9Wz(0Y#0 zU-G39aRS+vaBe<qs=k@MLr`KZ)Au2XfS^Ye6lR-fYA$Mzv=%qS_L~^yaWT^6ah$_Y zRs6wlWt<;F6h-3lN`2<u5AFx!6msOR5yiMD{-ppkHQZj<AW=UFye89H4Xw<!mIiK7 zWe$P^iZM;G(5Kx|z2th1je?T9zXWj5P=+%qLbfT;(J;*>Jk0SptAr6-Jk7Q1eg<1` zH|6Ryt-a+F!6RMfSz5w-#4O-?fQHANOABqo0k*Qb6;M%v;enuDpbRNzmNo$u;$Ahj z!82;6qhm}|U<P7hhjDOlHv5$)K)(5wux3}f9dRkvVK)fi`HtNqtD7l#bitD_mEvx9 zqyloRd?qF`6*oI-YziBNxp%>peo4XAT&cO0w1BoQqX6pP5zwh<96Wk3TptX|Hn|Wl z2}G&P>92@U@h(-%V|pdQt;+-GkPE>%X2`;DN8yYzv@RHaffq32jv1Wa8Kmc(d-@FA zIuT4DSvY|$P6&L_RbJSk+52&?kd^RFo2Q)bSD9=n7ikkv5okpGq7B)L7<ld=GDm9l z4TFX5Qed*k#mKhqE#N(w>MBJUn|loRF9CT{R%p0pT&|0jr2uF4?JmM!F8+s{;Ya+W zHVb;&T|w$|SD#bn-rTad`JAw!T~)=&#AQx#%LuxdI6R_WnN9$)T}D#l75T-@hM?kE znUje5gkg-rGu*YcW0Y`_d*(kF7pau=(%mixLE$E|huI#3Oht^t*u)RoIbW^jR*X0? zt4`mD7g^q7Am6!LtNaqeB_v8VPWg*xq>w8siIqlb)<d_3SwMjJcRc-+Emr-^$d)h| zm~u=35r&(dW0n+B7f>~h=87X4Fd2G*P+uYsOqvW34Wn@?m7DgkiYY4X%BV&6K8!X@ zGd9bEhY(%QzcDjLY?=^f=@WsR^xCNVLEcoHPPxMtGV-x#gD(dVfSZAP(ojz`PKUH6 zgpgpV0oi_1`GrTF&7pP{^%Yitmgh~y$51FvpXr(9Fh<}uN9=_}6i($tX)v)Hb-@1s z<O*)(%WHFSZ>X~}3154s%uE9H9VWe{KWSDi-IMxYLaKeNs#^F!{{YJke+w&GdNCo| zoD6&)jeNun`W!$4dqeq0ue?CY`$K0Qr8)SQ<{D;v`@&Ikf9OpKVUks;Kt**nrBbsZ zVCSX@s0-Tn(cDme?ROE?#<`s|>Kl2K6~i*@IU|DHF=EI_mFiN4H;{81Zwu~FMaE!$ zC=fq~B$q}k#IBvuLoo}9Sk!fF&|Kw2;=}E7{{848Qmxj{yrK>Avm6jyqV7>*1zIBN z3#(QA<CXE5mUi>RO9P{sbj%-U$8yY=a7!i9CUg2lvP~1|e?W}wXudm+vW0KCs1i*o zQpeYX#PXXA!07(U;!<YyDjnE&@0VGUZv(Gm!4X$2w+i!Oz4H+%{{R>wT+v&CV}ebY z4a1m0LH_`|oyh1e=23C@Kur~P%WQVU_c=L+7>FOd9#~H0wEj?aME4Qb!EgMUW#W@W z9-N|W1ih0ylzc$-<!+C}X|JX>lnupN)OA~$lnZH{9K!rQnauqY#^haEKBHL^tQ-Q* zWspMq)0D~(wV;LSTxwlb5>*!gS?+GV7!bNoUBc8RD(5GuiCbe20fg#Me220MQ@$gC zY^hXid6v1~#Gpsd$v2WW70wBv58&aM=Bfgd#JV(IZ=|E&XTNBdQA5GPW-bF9Mnps9 zQ+UT@HYM^WYxq>(vQ;%?(J7&t`i2R_Up(gu-dt1OEJb4B2K>XBr_yXhZb7F^?R2eU z2gv2ogNxlusnw~rQ$)gz4gxUZDh*$EG_6*&+<GFwtzL#u%nR`_OhgWlnlblGWuLlk zT#Kv^a+MX+lq)LfAedP3my)UT37@NPG{CFDuHfnw?JO~gV$c4<mQR^V3%ce6)BKl} zmo0n4^AlF8E(@f&9ZTPcj`Iy}8`i$?=n4q#pDA@r{{Za7Ig7<hTbSU=S#;}(=W`Qt zBPkxAa@*zcoUi^hIKkqV^DpP@zgdSbw1Uwt)i*isF-_tTYfXX3dxqWw#;L56h~E6m zorF4kA2PrtB-DE5V*PYpzxNfE@4|A}^DV{Cn6AbM=Do6=QRcNT1`#i1YvV~@Yp?#1 z15-KDtuYiBl!ni5{{Rf5)o2s<06m(7tD9vL>9DE8>SHKs>MV`@21v5{cXKYB$e6X9 zFR?FQYz)UM3L~r0zy6V#=b`20J8wWg_8OZAt^57U?;-5!3D~a;u4=%(67`jOzK-VU z8CSSYAAntVej%D193DrhTs3E?xUA^ra9z34p_H+yScjq9a8*MRZeLQO3pLk?XBk5> z-?)@<Pk5FbtC&O0`<XWZH!)Y!leTSiLM#;lAN*3;iC8h_rzfusM-=afGjz+Ly~5)P z(9D0ZW2@!~`b4e4)mI%yVOd8sPXp~5OcpUK-U*c68J?*eUv4JXMMF(ccZPJbD!*az z3c*+#Kj@ZJQP!8#1%uZ5mV?3%B8PArA+UI1%SzscWepYlmgR|)=2Qx=a;iCV2F)_U zn}k)X`gr;|fUM+-gdh5KF&_0t?qIEY{>&(@3KxjO8@Gl9O8SJwt>R&_4o|4h<uFL@ zdu8i)5&;8WbWuh9ZayflF)W<bS*QRdqJQV&R@G{8ezYoV)hIhp{$wP0xo2MBVIWzS zmGcX&S*P&<JUESUC?xowQh;(b@X8wq7n;q~sfm53{=_M9FWpNYDdW`#43VgE+hL6H zO9FmSzY3g28LnTkE1b0mRa?XZ+XJEoh+4ak<rF+%33M0-1LZ1Vlyg-qm{&_VhT*Az ze5Eo&7PV!piNprt(cJsUvhRs^6fJSYD7dn74d8RBunk(GRrXDJmV<{u+b9cAkO)*} zN*iGDE0lJ({d2W1vNpLHw=;pYo<y-bS!~UtKKVxEV6aNSX2y8RKpO&nL?gILgTxAk zCJ}e4QBeN?0_WZuxTa|~fc#9z{71EVneT?hGoBOZ{{TaO10Ma+FT`Q3x+W~kH0F6@ zOdq_to>rKadJ7BSX2%@8O8{5Eqw@C5@HR;Jv1`hc)9dXA2?CnR^E&B(VQy@~flkk_ z{z~&_`W7=4C_d%^=cTM52p&4f+^2|2dmH|dEGZTAG_2ww%UzQMp<@XZ48#~UmK7<# ziDg^+#wdf#xWCK+5Wf>w={SZAC|tv>43rvxfps*V=6D`2B()b4Co`A^=q5}_LyCyk zaXyPZK*Ac_Dsv2s{6bL%dP<ty;)-RHprg11O!pd+gTpcgZN#%=RfNP|f%26`-1IWy zw8EvBo<G>DTjAD!+NpQI`<SLewzj=8qSi~i$0d`@sKv!hZ>g8MU(h~+?gR^;g2V3w z&RQ!Y`a)L0Wt@z@(ORs_>B510eh@mt=OirE+(j|W+k@Nr8gGCu3-JKbwqQ8dTA6yl zkQaaR3#lJhHA5LlxL5clr3LQdR0*H_nnmCqU{;H#GV+waM0L<zs#5H12+hm^1%3^B zxTLy{KjvjvR$30i<{so27Dmpcu>8UWn<qzcw>TrHBYA>np5iA1#J~=FkFqfdh7UT8 z%}<*%Bc+a8eWiPVAgt<PQ|4DW#MRC2J8jV`RT2Cm*%az&AB%?wxUOotm|SjJvo4Pe zLlAd1*AtHAi+!==I-&qL3{~)XJj@GtB1^AiWbQ5s9tV;dLDS!e#$#ynqwr11#ea-t zD01LD`INwA`!5p>M@(zxpn^c~AD5V08ask6=gB^yHvJhe$583+UAN&SToIDldX5%h z&M7QF=ssq${LA?H2yi5E1yTj??2B=f)x55O+YU9NeWygA?CcHnRVy#-@LXN*eG_J` zwvnN}pmsu2UI$0+R)$H9t&+EC@C*<n8m8{}gk+ZFVWQ)i{mfco!}AJl#YEyALqHGM z3v(E5yNj0o(*_!Z=c@D)n5%5_;vmp*^fc58S%U5htEuk`t;H{x8gJ+Ug5^Tlm6IN2 zst2iUZSug}UvZE|K04|@lXVWd6N`l<p4dNqN=g)WImEIaCl7FXV}?va48j?iaXMc? z!>p>S=31$Bwq&rugX?Djsco5&IwY_TX$5zpVjcd3AZhbCNW47e4wV?Rt^LVv^o$*Z zzS_^YLSJ7Ij<w6*h*fsJDhcUX?UilUQyNk8ElY}EX_zs~FhBfhINRggaP963VpKCM z7Ja9I_L(jp{&=7KeG?L}O;5U~;GL8JmsK|s(X0HrUZ4g7%k<GHg*f1PZf6I<k-)I* z@!IpnOlxk1woCC$>W@k@tNX(|H3_T>pUk|S-2Or<Wr*SnmPZEN>pJ^ErO6O<1>eL1 zr)b$;L(3HbR20oL)$vw|S~)sdKUXt4<b0pf9;CE>OD*Y9-M|5Rs+%R>nD62|oJ<wm zb~%_Ff(VZt$9bA}Y#_EUAsK+ZxqwBf$BAaS9ZW%ukSc+6q8JEahPj%Ew@k%TEpagZ z(6OPZRfcYMaX4jbS|-I}4O<v6)Vpz<arB4G0SzX2gev(=7eo@m<--CCj9cR2n5l~3 zj}I~tvVPz9xt8Hez*4w8#szDd)6{I7tKtmZn~<)qMjAAti+$iqR7>$W!f<cxDgr$} z?A*V4Zk^#${-iP4a{3a+N}MY0IS*$N>oq@g%2Z6ivE6V_!x29P0{;LKi|`bb_B%?K z3NFv`ml7+l9R3MMl*74ggn(v|&8jrw`W}B$xr1c6XJ7WEo`rvcF}r6Ws_v`mTq*V1 z59Q)_nZ~bwiAt@dd1iE0Z$Mt9T37+g+)Tt=<B0Is<;EdF-U^FmHb+M><h|$S9uO*a zrek-3mXZLuMR#erY7yUL9Q*#i+0bR1xx3#IsV$SvA{%^6C1bcQL0(6w7rH#BMhQUk z0Ab6_)Sy>P6JIHVtMf97&`rwRm$<oRxz7=-X*jM>DAcOQGKjfLJ$P7VjYjQ80|X`1 z?wh%5+GPfQC8@J0XE8m)d0?S5ESi-zHZZ+Z{{W!eW3JuviF@6n?-yyN39sf5J9^AY z-9j|>BEFU35teCFlgre@dDLdw$_cA~g8?yqSDzCKEu-{%i*eM=wNlfmsO!hmNF)c! zinh6NC|BSRyW|HEM~kS$Cm&IbZebMp{{Zmq-#|h_-UQc)t=c!j#Flvcp}MO<^NayN zSK@(L2Y7XS{{Z@zYCv&Ozxab@+k)QW&KtR9aUSb;CwL?B+^-M#OCM!MkNK98rU=(Q z$f<NJ`i$F!0n9CJHeh%9g~WqCh?L^Y4)+KZRuh+Uq?jYfz(%(_^2P%LCEFh}8{g8Y zmE6~Plv3@50>U^geFcn8RB10$0-Jn97(7AB2;5d?NQKDE@d9sic&e8*FBxLjiQKpz zAf#EmA_s7}gyK0mvy!gmPRmpq)3D1pL|5A~1I3@H{{V1$XG$yKGeOEsE<<-Qo2mrb zD6`@=T@N$3S;P<7g+~ZKe&7ug&@$R9XXaL->prGA7+2;vY-f<K{>L%X+y4NWg5bK; zyFOeJ!%;IgDjJ8=ej#-o^8wz|k(%acn;Ea8^>PKT6Sz_6cFP&6-_Q`dQr#Mq5D$s* zhc=W^KBfNv%kd~ED;ghri?+>beXk^7zW$v{Vq}FX@%n<20E=8qiWgd=f7lO)I(5{( zLRWCs(ru04zNRwP$Q>}0wJ<{B;m7jkdkds<F#wgSwx(k}UAy}T0+v(K$6c(|Ldn#s z>+}U`^HRh61FVGGC<?ij4aXA*)!CQyc8XzLVy09<>K)Nu;~nBE2Kk%?eZ%Fuxtt@t zM0SMZk!>zD<VNclSaWdZqpp(HpQlSF9J<Y1B03|wseoAO6H*P&5i&8F0e>&xotOP8 zQ*nd&6g{i*OgZo&L1}RrmD_TbS_&MU{{SH@-bDv&OdQsGm&>F)Gy0yOS}BWsMM^AZ zadX)}5$vepF&j7#vzbi1M8BXiM5=@){*~14QoK!i`l}c83vm;6IO49^LD?(VATnYY zvS>?sqS|I7TLGQnHt!7geRm4?NFXUw@<XjC(Nw4pf}`*QdT*cPr`};pMFNv`++fj# zwbZL;h4mAQ6{B6$Zn^`$PyzmkW?scx>uFv&2ApmVXFHg#+n1|nH~0v2LC)8{Vi9dt zaW1<O?!8P_GX_h~Qs0zSNxJ2hBHhjmv0uqvWcrz;@M<B2nU$5LbkK?uwp?znWiQYy zz)K&3TBRHom&S_XRz%4dMfN1B#ofWe4zm(ZVF8#jC(I|Ct|lT=W)%*gDmETwLg7AY zS3hwDm(~Jrf*Ss(p`a<6!Qe8o^^YN5<CJ5#G2UR73WE?h)K^nZQFcCN?<JmSoEa=$ zxCBJogy4w9$37Wp;HB_QtoRAs6&b<V&uDhEakuRh$XYv}*mo+Qrs0|pCZDepK9b@1 z`kZ|dn|QuuE-*ZmYY<5?*}fA14XuEcMgSvd5D%G8l8(D`DM;}p@NM7ze&8Im@4uOA zMbG%36h(*|ynCjj7H0nd%Yo<4cE8QQQfdRtpb_Z~)sWEx*|{P4GOIJWa{OCjNZwZc z%AiZ7nB8(Yd_|6lhb`CO`@~*PHv}jX16Sr9UwPtgVlgg_sDoTo^bjq1scI{qp&E=$ zxuT^2wGyb(WV+0>8}2Br%+?F)Awx$L&B{C-bVGjBO0><ZiFEQ1qp4<?mhVuSPgyiL zfECQ5Eu5iSeG?|(Tg(-o2lj(P&1HLptkBxU;JQK+fy^rG3FZcwSnCL_@Tg{#3kgnD zjboVn-Cb0ie_`dZKamN+6dyBpLCNtCu;k<?38U>AJZ*!+bid>b?M_5PD057{8ANq6 zW&#k?=%@>#98~3(Hu?-^PHN^_jpFM35a}(aPZFU~Wz9?U0QD*UO7!*)oDzhuDYmAy zuvWE+!{GhqQ@zR(1;#w(2Ogu>w;k<&cp^fu#4G;*eWT`^v32^2HO6OO`!=jGVlDK8 zhlO*TTFt|{fh@4W03$WP8<_yD65-_wPT8O+9R;?&WsFw6mpYp+lbPx@(^#0JcqUwZ zr9`vc#=N4n%o;(tm1+&Fr$aF+-WgDS@C$F;wsALcFu;urk8vxq{M@0NgP3+m6N`xT za~A61C3mPX2pm+YG9a|^GB!&nT@tjkVq5aSv8J-}x{QYyC2whPbGcVtG4Gp>Jy-H% znwx-CY2TJ&d9ZZ?<*E#^LHi}(26$YtKwEdf{{Uq;5|@lDE6NBvifTn0my^RChSZBG zHU^5xpS)01BVcC$Mq!H7FWSqw?j?OKe87S97|>G<8JzWVS3YLnN=ZX2fFciJ_SeP2 zimJQlAgI}B;9@N;Ntg@9`dCo>VkI=_^-RoIJBJeN#qfMVS<qa*SzqNJtZyD*?H<KL zct6?Xpc&cK{KQlpFi}9ES1_pA9kkkAH(kYlj)eaJt_TI%sno+2R_>@0$lGl}TI?z% z?_l24N;?%=)$F+H7<yY@*_rupd-B(POw4c&o5aDqtSWw`j^YKmmQNur)QvMN6CR=I zj^zdnd7CXwvLmwK@~}FTMq&Q|WV|Z+h@^tk_nn3Ja@^)F@jV19Gc`_>v-K&7EPP8X znrAzT7k0R`K~8`r38Eh@F$Jm^p=J;4tz7~=_c>FS_Z?1+T(qp?g2r(vCZ4;SJpt03 z-{PgAR=K#9Km@kevMde0%fz6T6t3l>%EOMKzOerQQ8sYa>SDH2FqAo19wH|2z|Nww zO}s$*Z4BlCRR-U2+;ubJZQJk!sjIb@!!P8l6qPf`xv3^NgNot@NEEbsN2r<}6I@Ok zi#2??30poiw_jp8XfggcowMvKp|{<`D@*NHUCKXAaBn$EA@JnC5KcpuqV@*XSU)5{ zi4S6+m4z>oSybhD%^MRz%dd$+W$7rEz#kcARN&8~-{c%d<SRG_bDU5|K3P;2Z-1z? zvetHW7x`3I97=Hjpj~UYI!tvMw8?z^RV)n4kY_QosI+LQa#hkLsmF-iyPPMemWH4= zFE$WL#tKYDW*B2tY_i;vu!wm+gREvypyv39W6Wuj?mlX8^}!xsX|{LNt>KkszGjcg zW&@SXEi{B!05b-<&Q=W~1XE;P@(F@=WSdeg;{2?>Zovyn3)~58kk%^|^AuvWhf!#l z541v+B?alDf6S_BK2J$6f_ziyiqbtY_t8}jPp5EZX$TmV^vOogGZf>TF-F_b`134n zy=N>>=~hLgb>eGO8-719<-xok@tD+Mj-t5#0MrqH=vVkKiYbW^c*D%r7B}8fIZ>sY zd@vAX)8>E3tZ<0Io;(nmXOT7AVH)I6FUky91*pH)P&e?U39ob<3L?>k?jC2r3s?~B z%`Fn)QGDucDzva)%Q6%kTXNF_#U<kQR$MroI`|7S*SRVFN}<ex>&q>gSv(gk1zHYj zG;O%3D(5TW8bES|_4FXSb1%hvh<T*c1VR@m?%`*MsP1rNCsHLbl<(+a!xIeAiLCb$ zD}i{-!F!ils1d=4sGC`)X7)!@D&}dpe7sDGryX2toZe=|{6MzRsI;4b3tUeca~veJ z?o@RvY}+Nc#TE`XES*&1OO1>e=3gFZ{6eZNN^&^-%#5ihAMuDF--LPhFg2?Ekj8BY zEHUOM#Jsvha>M7iYlXAIk&1RVcM#fPmn!Dz93cb<F>{FM`el<^>=>}I3&DwvyK8cv z>ypvkM%T+@$(8-q8^guIEZy(mKEF2|OEFDT00Q#_bJFwJ8Tf+T=)FMy03pVj0l(B! z=p`ihc!}Gk1r6oX6;9t^J#inS8RLCSZ2c0!pNUg0JQ{)oI}6MLt*#FJlJdteS&V78 zvV^rRI2wJ(tlH`P$gP({%=H9G-Lp`9(03hgTz;aoRs0liXmSfK^Xgj(i<REJk#51V z#9%?<p{InPsDL%OO2KV20VOcN^SOe#jw?z+<*XECJE&D{iE6?c=P}IM0YqvwiE}WK zhcVXUqcGnGGtLQcLH8Ftu%&y2tc71tC(2!Yu>sO|5QV)uoSP=eV_29#4>c&W5OXIC zM{2ITKm3_+lUEo206Uam(7ZlU<<5>{c){~2ZKyh}$m3*3w{6_}T}<8?gP6V{bzFT< zGe~_2VM7yYb2n5q^keDx9A+{%!!ZLOg=aRirR}<-!`$?K1%A_z!U#R9#K^M{$L2Tk z!}yCBT~UAba6#S=v?AK@q%5FLvW;pOr+;#+3V1G1S=Qj|&zwu;J`GJA{n$?`+ruf9 zesD-4bE`2s47n=4V8u@?45;}<rQ*!WFn%GD$c4na09bIME0yEiHNy1dM0gEL1g_*5 zwhpD2_C~Gi<{BZu2A-I<YEg@(785wJM8?nDJHq2wl)NUlnAVa3L^W;mEd`EZh1#j7 z)GqGM<J}*4=Swc{5fR)fBLcm%R`<u4Xh#8|C2Y-C8^j0-!ohj0Uu4Ga3x!2{M>a4x zm+NDovut+{lI8$LoTf@P$t$*aJw>JRfFkuSQ)SOEH<Q^mYDy+O{h<<zVEp0*4k}^2 z-|rHf+1%8vsyOCeOp^1<{{Vk*Hv^Nn<sWG5?}>`@^}Ka5)IO}svovEX=|qB`LFQc| zIR26YN4qcLG53~wDd4Un=o0}&^d?<@EWXn5lu}XC1bW7X!9~MKQPStjE_IiNzBrh3 zB@67#S(n_!o$kAd;rP&o_mS~80OVmU<Gx~Qhj0{Yg;-|E$&r>Njtpz!Ss>F=(;E{A z<~7s0yNzPqF5wU2pS(PAU^(O;c41|kA8I^AD`da>%zM2x6+`7wE<R<s?Wucr{{W}~ zf8pFXq2%gWMr(<T1an(BiZ78+><N*oBdjuqnRRukk8=ZLZ7E$uhEvufX9<{4^%h(8 zFTUn%lSgu(pm&3oEr)Lb;F@#UgUs4o$4N9FP+j}w2BXZl`J#xkS`5R}ygH~`10>{b zpc!XrLkp%nO>zu0((`lddziXcPjLnW#x&)au*YdjNGtV~E<ocS67Bd&{f){F1?e!Y zK1@pTTvQy_(T1S<dPC@H7CBBDg_niJp|xzfY^gQJRlOT?{`si6mZ$G4z|0*qvjUo5 zy~6(U1sXmUao!VZ8+~Dvc#KzuZe`P49Ppo+kr-WW<F!JhG0Y{#h6M8NA2c2mK8f5K z5cC)GVrCSb4cE-Nc%SNHDZWH2b@n@-f$m7AMZSNDgxkK*p)QvAe~8VInsq5o%;uOW zyz83ynG_CZ(iC%WzPW#A2cqVWFPX<8&nGN5f^J>g5V}sF-2(SB&3_22Rlm8AWNjTk zlNSA==jLNv5Vek@IVtKY?TeW3i+#{aN8vh&ZWTEATqlEym~vFH3VN42s2Z50D@;-b z95SE-YBxx`A@?X2j>)3SEsThb$y<t^nDVmlUr~~0u@Jj4)JD;0jPO9-_TmsrS|B5t zvN>3HBSVA35$d(<oF<80wEpJAKV^MEnCkCw*&$7+7o*}Jt4@dBV^4`Pl^p9t&xawx zZJkTZ=Kh+@qd%djE+yuCQpsv5E>T&hLka|2;&34@)#_p)Q(j;0W$~i&xmyqy41W7x za5e>A{$+3qe}t|I3e`PB$K1qAR`g<uqrozXK-q}8fgEAlMVDBy&OM`lm^Lllf&E7o zLzETs8Z@`-<8qas*HZM*{{Xq1vH76!g?nBh5Q_0X#1Fg#*(|H#2N)|*Xz0IwAm}H{ z<NoS6ELQrIsjD9Q$0rd(H-`)*rI2kw$U?T&Bz7w%Y9MU*VyL$95#VzQ#VB3NvLU=o z0h(=q4c*&>7`m}pxobJM7rB_ZNvPU!yvyuX;v%4^Di1M?t0~M=j%F*kg%{lYrNJvM z1E>fsR6^!86+M$b;kbiL#$GZoj+eMR)<1}CDlL|JLJ|j&(;nvH8Z^EWcmuam%I92f z_`o*a?n?B_3vOoD{{V<}HgJMr4h6I;EP4a|mN1K9&%^zW_Q(bDXSm_N(2ELTd5QUz z^<K(+HYesP;5<*YT&WC-H!m{}24^-LJpQ2E$I<2rw8Q8@W;YXhjv-O3{R+@VR-%hE z{{Zq;0`@E~C=zr^{>$`i?}H#d!3At)9H)qhn{SHL4zMvP{3c+b!YGyeDF>qc#TUhN zx}4$izh(ab6Qm$CW(^r9e86D%ujE`@dvPpLPH;~WpyT2TskA5I0)%Toex?YUAh+ZD zECtqAFiyMek!NF2Q1p@e20xOgHSl?lP9jfz#a+6|>_n;#RO!^)2AmOtCYexR6yjoq zE^cj|n1h7tn5f{*VsDw#_cS-MSR6|aK#RBu#yFIg^nz;M;}jlFAyVCf5o?6b;$FPW z+!>jh!!@oYQ@OF3gVZGA>RNFQm+b(ih8VbGW*J0Myc>mEjNyxte#B+JLSQQfA%ipR zZA1kW+0qsXgAQf+2ZMrWfnPHes|<-q13%_Gxfs30TTx^BloS_)fc6nxJQ_7DLA=gu zh+unVx16AM51>j=+oi9$kt+FN^suUFnH=_Hp<8+&;c#{I5c*?Tuc4@A3MluyCelpF zGafufwXUys{xJ*$E^TeNj@fK*0-vd6Svub=sCQ$1iL0b?L%*5C-~ivb&zPor8AejH zG0$vk1-vJO7(n2W^O;$`a(8;TRZ@4Pl(VN|zF~u}Ji$r9S8w7od<l<}sacFN{tRsb zebVLFx;vW>OCEu{4KuL@u2bntP>G+~wHv^%4BRDc<{@kU0K4-6q_)Sngsc^7v==IB zJXl@B>4!e11?sT)W<ALnXFSFTa33trvphqAA9S#^YgY03iAagI0}dc@0*~%{Vijwa zP|9j*xQ$<k^QylQJW48A`XjRJYFVe4T#W{E9Hk5QiHa_g$w)tM604uYMFYKXh^&sA zAS=ssg9$ad#JVR7Tr-569uhtYr`lpg7FUuO+!asUIze5Duqzq-h!Mtep64t<W5lse z1uxE2AbV6aMZ2dg%Yy1VIo7a~4tbk|?K?q%aKbmeOU1!x<K$){I1-IXoj_E>ogWtm zq78#~4S0ZVWpP3xC}EDznesUO&A298vp{IHK72t#Gpw-T{ht!K{!_%vui2W2JWpGc zpn;IFQ=$p9Ym4(KT9z<ET~4fIs@LR0)}3>H<VXZGjl;G$=?$Pw)0Ej1qE|}dB->i^ zsbOm!cQXKUDatLNV}S(HU#r0VFxJUtQJdlOJj+e4rzA{|q5)qSve0uj#T-*AMf^nJ z4Ij+K2g5BJ%ZP+>L@SmfDYSCRd?%{=gd6+O%|7zw!{wWSPZ2A>r1IqR7mX#ZRwCx6 zb|S>45VlB*u#KmkiHdW2nLav~HG!!{Zvt2{dt*rFeIuf5XpS139wsEl4B{w$1ZdUd zwaDge(9ftra$s(Y;rW}hv)41kFH<865+K3%LT_o2#78GMiCxsh93joSzcG;i0J<vM zV+vo;+To~6q8h^ABuN15eFG3L>1tRIvu}jM{>PQ7DZx^tx^Ah0U^*O}{{WJOE<XXm z;r{^G8!T(ORID`T;%01Rx0!m&2rreudu5ADX>I42&f4;(=5<la$KEq``=VW%xCadH z-ew~E@sd?SPT_~=+`xyW%l2>$d_)v^MQh<M>#W$+qbZ$?BNu)<C)v~SDs6@#fTzlH z5I$GAXVNHCOCmoT1Oo(o&1BicQ$Vw<{{Yk>9ft~pa%BdYPz81&nE0iz*HVp{pz#A& zSElCX+wlz7fvrlYs+dR|#XcQO+xWS2&gy(g=71OYfHoPAG?B`}a-0lvvB$YVkBOK) z!KB>I15Oxkr%0*nlony;X`MyF@iwHGUiM-)hWf<AMN9?d9r5Cw1+#xC$VHA%ysB1| zSN-NPb3$dd8}|~#mX7%)W&qEIB$#6}NiiTXWm7C8{zbzQo2qlAN2!t;d`4!+-XLUp zL+CKbLRHKwR&ySFtT1`{1n|MkRL;xHr;cK7D&XCOJ2ZS<MzkkR5BlW;47F(IeM-3= z!h9|{g^JFyzrqKQyO@{>vSljP9M@ww%mu4Cpj4(0>^*nHT^|WIUa=jpFAYZ(Z8u!O zzc*A$=@v?IN(g$dQmT#D!QxO2t@wpN4F@r6>LKUc9mWgL>LJ19hr50u92O|bzu5sJ zaVu}c#ZZrD5Upjv*NZDvx<YSR7ltO!O-9IKC5{VMdSwH-^9qopx?*ff;;sh@X@=&d zq%SKIa*b0Gm5YZ+rs9&gnDL6>QQWbWveMvTxN*3=Pr{ehb1ab3G)eEIEvvF!j8x2J z!rgu)A3Bu?mEj9hb>q2O1=3vaL|2(>ea})58-xr?Vg@BT_yzKfYWA7yKiTn0_laZ` zmsjdBt!E<u7mRZZQJ8d#ypkOFfv0evU}*hMDt9V%`mZQw>t>fM?52V@Fch1Y(O{G^ zt=!HE7gYu#wTWlWWo$833mZTcEoA^)jtsgKD}nILj|Dt=AGA(bb6fua?7dHznMLG; zOr6$C*)y{GX^YTEwVLj2cVLHT9c7W94t&D+BXC3tb9}yH@D*8V4y0gzxMVIB4Ux4e zXmuZ-rX_&WwqS{bD(+x<E{8B|`241TLN2o35oFwT417!1EXVZ6^2de$03}Y6T-08B z>H#V)4YZea3o+jEg(}kd?kKvoMVNf0nIX^x^D@?i21n*PA3QSRJPYD`NR2lzQQ`tF z9!Y=HZ%j-W7UH7i+0?zFYj#w<mfWCyIfA!^5{u@+<$&EAW|;RXCEa+7dRIio{6MVQ zP4f*`ysob?N!xon{-s-34fFp1RM6X-fZ=mJnIkn-TsU_UE;V|^#|>cKbq=#smhIq= zN#SGihRuL0xj;7qgEF2*pxN}RhLDUDVT0|Nk`P|Jn<8S;iPYR!V?4v@G&rMpwjD%* zHBXX=jMLNw&=3-^OX(_Z;gw&QR-F*!4?3v&Y~Pr!I3cmaCCjP@DRvwO2lgca{87LP zJ2sZe#wuzIadnwQN`xUnJxbLbZ-x*%y2wPW&|ZEeEh@S=mfB)y9($?bmAGxEQw$I_ z5GL5Z-}VT-{?V1&Ql!Orgk<FyY3ERZ*f`-Y)E2sCNyeUHT}0qFA2E5PTQv*`_K14H zVY~G+O8d%C%PQK{MvP(wDQi>AMAS4lDgqvaXxBP;mjH$Bg6_P`cKb%Y*nmTg&-=yP zI1g75qKTec*d~1CO8R4%WgvNR0(`<`7+j#L?j7g<0ALu8grewNm;{ut=`s15L>oS( zRo!Tf7VXSsM&dgJ-hLAhd{n%QM8T=OvB%X2eGjEpZU}cZ=HYK}BRRX6C8luoFY_+v zM6huXyxgll-O4LZ7e5jcP_B$zFA}qIw{4Y9(y@YDo>8rw*rV?Vb}_M-Vrs^&2?951 zb3AT{e*;QN%F`UWc?8Qk0Cmj62Zmq5b{F}Lmu{dlCAhv|vwtUuIe0LF-r{m*&Y`;y zS`%ZU5y&bgjngg5sdeZ%h{BB*RZ{6)K*ckats$DxWW{`ed5*=*>{-;rRL^$7Xf+k< zGxknreZpksA5<|$-L)!17dWM%30hfWaKbtw>aPMAt0u{=aV>$8gXt<Y!ps8v1O~5b zaVuQK`XvzN_teZVkFD`@H-}a}#tph3WYJbr@%~Gp+^D})OHUD&dyG+DJjDj7ap9?Z z=Ie;yoVFM-;F?W+521!GW>G^;KrpW|jmsuDEd|Zx-XK^q=47^jR?nHZZIu+E%wurW zR|W88wyL?EC`n)|4klxt23bXMhza;1tz+#pv)o_qKlz(B)NAHvxN?2hsDQ1_cMgMV z9b%vN5{g#r<~^D2{Yp}^6M597F*wE{w(5uo!m{Ef{70y}n6fW$4a<jn?1#D%wnSjB zBL4F9qe`<(%nSbFT(S2k*d8Mv)E47rSS4hc^)OUL$KFwnXUWZTAeL(WV@94Jx75JQ z%%Z{BmeB*`O~GWTw3OcBqd9jun;sx4<-+Px(}0`uhm@SkA<#ZID7r0?V`cr>xAhAi zT0YSDPFdzsN7p^d^mYFL)WZHvPnkh?6IJ?QYv6>y4{^2`sY>>UG*m`_FySa$b8`si z{{X^L{^gLuvj;bE%2WRUFlsuKj;;<@nCX1QT5cvt1W|6Ix;g30N~{Thhsg%3E_s{% zW$F&4)IApbBd%$4h}f+TOs$5{!%)T6kGxc7G>K@FhOQ4Xi9m9P-5G6>hy5k@(VOPJ zU@cWfW{MP*fv9Mu89R;i{{YX_FZXIt`D&~YWvG~rqR^K2aAPf{!=P~(`ess)wSCS? z%vF<})HQE4F1#Egk{l}C5w?~*L%d;QL54TCnVco!Ug=}7nXswk%q<issg(iTsc;oL z(;XzHu<}cUy2BpVEFkl9ap>s9pJyKN7=3-c&Q`{50M!<%AayHIBx5uYSjE3+i3T@s znuE>Vx_|6xT)$WT#ej<{`co|`wv-n#+3ZVN#)Wy3_p-+dioJJKPuvAZ%&bEW>4jpC zanVnhi%8;J9K0+a1}m4xDf79Xj;0~xnHsm$AvK2GNQ-v`wLcR^rVx}v4a$AX;XT8s z!as6iH8w2IoUY{!z9W!CRa3nTPM;Z=_OQaVIL<W$Z@7V&01F!;<S17W@?N@t)=Sx# zlrX=zzy}3ZOh4pgvc7ke^M`Ov4NIDoRj?b_abJ|&4OJJ9GS3>|Q*Iaq_?Tu3ms5NR zNM$ctl-`l!+*GBm44_cN)>Ngod6}(5J)l*&_=(nF<;2gAgxnJ?M5O&d;<qm@5)Q6? z+AHRkg*7O>n5lgM8(+-GAi9}`BVIfpZ$(Gkw<z}%qDKS7Njx#ZSh$;5EowSFwN)(z z$Z-ZB8(3EokZ*4vx9>3?!yaKB0B_U@YbZy_1@3t}oR#?4fN_p&;#5P*V2rs7rplPp zaJKNC@4N%c?>)bGbRyBMtU+PwIrs)*2RyITdS}=`w9retFsOwD_JtDLBQF7W%(#H- z1*q_E?u^>tyUj5c4a-i;DCP=6EI>|Mf+BV#29yEG1q8D3FXttA@z01}8>-Df#Bh)b zvh>1$DLL~B&KuM!ySr=lLZ&Dgto@~#Xn*l5Au!JZUIH08`A4)CqCS`61M$#qTX`eI ztxBrgKKPiaRYXGZZxC2xEFH5or&kj9WRH*@$yhg@;_ijzob!0Zvrb_;;$}2Lt=ZgK zff_8sws@C$?>>OUyOuTTQGfHpMe1B}!R{|BzsWIn@7yo404A`?LYq$7hJ}^MCFmN+ zY&>Y<BqNqH7Mt)8bh5cQt|geR1-2l*>|gh}{2K-T0BR_*Y^=r!Mccyu=<WF%&%E*Y z$9aduu9GUvuGr-+!s_liQ2IDZ&(dKc)FQ#USR2FXg7iKnnt!ka0!o@PuBscWa{RP+ zETdH&(}?ylGkBHC@id#XIE{xt6EzyZ_bdkviC<anb4X`*w{YJj^6F~aDRmI>7Ppsv zo~Myng0Bv55m?S#^HXS6xV~lw{jYL}EPOJBr4@&$<FQCvd`j%ftUmXa8wOK|$xAP7 z+~6J#Vv*#RR^P<jC8FP7OC!v>)$txBOD&I?(?V*K;WD?0zBvPr62?)31x;PbJp9hu zn-`BTD5B~prm2a$9^HK;a3#R$j;B*lYjD`&;t4u)KM{~Zr(5PC*;<i}w+hs#AChV_ zcLOcs7!#<H;f0r)k4Il@#SgH7R~($hW6iIOHwb~Gb0dnHO$*QNV^vTU+5Sccpb0m^ zKFqS(w75jJ2&izfJ%f)>+J`Z4+lgsi?Fpj8lP+vU0%2~L7bea#hQ~s$C?!T7@g9xX z?p8J)CTf;_N~HnwGC2N2Mo5W$We1-yxUckyZF`o3<{FuEG<P1Rw7ILTLXDz?rNynv z!)q$F#O$lMAgH`%iFg*dzAyI`oa(H9lAYmXCk$12?qkBnpmUknoE0#*^3CZppJ6k~ zvmq$}KR_Z?2_10)01O#`9nT&hEN12XeGO)!6-if9M<4ew>c!!>jB5}slOABz>C>a( zl&8DH@L}<rvmbad+H<A8NP>{_m#ck4VU%UbG8@A*W;m5uGWk;7iBRq$0?iD#xqd{Y z4HG0x8|yfDX0&<U;}Q0n8S#czb*Nw!S<6hfgXB!accS0elGfVx9p+lPmh0>wU3Fm= zJ)_ntw5s}ECUP|Erx)iCA~N7r$~bNXQG!VWFt|B`t(e^c`}fj_F6FG>gnItD(e~iQ zpNYo((#pOu-?@`<^hCf}ue7YDHE`L0d%A|gp(E$PEa-ZarzI{Tx_QcqT0F#}VO>RC zBX79Jyu+@&OUv?ow99N_$#ax~1qJNp31ZICQRR1uTSkG!#8XOcp#tfR!0%T4Oq=07 z%Bh|;$IL}YE{B*h<YB!exK}WBHB91Y`Ra25mJ+F4S!4i)x|mA%j}WA{aaSl`JB$Fi znkLt$Gb@u2&gKi9^#&q&xeshkrTw53$i*^8vPv?5l-DrTBWd?WSA^s;%Mjl=mJ63d zmzbI*44qnuP6SkHb0zqNN27^?@dZ-x1<i?tZ6f~wJj+r_wt9s{A>0j?L~Do_*(r{_ z^9p6*1T80tQEHx}e21t4f#KD}tEapQq1pKpi^GIIT*rr&5q(n)APd6|G%$Sj#B@f$ z%*`e^aa_zqdOG@4@XQ%-I#053za0G<CD}sO*>;J+#9)xVn}iCM)e_<mSXkG#G&xE) zc%Ha&!mU8~jTCu-D6`@f<d|JAiMY1R;roiQWvyA6UMhE0o0*4sqf8ILZ;LP-)10_t z8__V*uR;Y}E{xsE%)n|~>T{$g0i7F^6kg&57~UZF3?XZ@Js!J(w=bpJ%mpS3gP3Ae z<Q%z}VtcnUEw+-lOBV3!sF!GSQo%<@OvozLMSGnLOOgmgyEo!IwzkWQfn}BXS*eB# z^UE<16_EHrrwX7CD;IEe7R3cT(0JV6?J^a#C=Cc5u^r@<mm7+R(A!@SG3%*D8;aAL zyO*kh$CyHYQ5TRk0tZ(LZt<^}ZwHxJt#vDD`GXhmATEqLewL+LR&%<6#yD3QbkU(3 zQXGs{7jbwdqf));a!d-i3ZT-yVA5p82{RKi25}jCMZvZ>o0Um3FW`hDgFbgHVTaSG z1+F6C*X~_nrwMTi-0`S|v>xR-=;}CfBhqAk-N#qB1ejb06%bLxKRrXrj4(215MT$i z$^>2Q6B!b$pnE0AXfqn79IO>K@`y^-Tusw>Wl^(A#4t>9=#3s+jC#3!Agl*N@0f-( zpfOVIleF^}f3jlZ2%HVfWLdL9r4R#=?YJC=A=UgxfPb`R0hKXrF27g?3`*&U&jZNj zUPRmT)P5L=oP$*Ihh?VH2?z$`C9}0a8fMroVf>=F0<+I|7K!5NlyO16LUYgI7zKO? zG*EYOt2Hq0h$&1Gz{RDbxcW@?n$xNwP9VA<KIJ73GjBy{ElGjCSp_bj63MK=%%#_I zuF{6z{=;e0&k#>A^;3|k<voJjquMq8<^ZNF!pd<lN2pZ91`_Sx#H(jhQvp*J;@L57 zT)d^yc!0iM3GPf6QvCvo{FYX-(^)1Z50pmcB8xHR0xS+dg<cF)Lk00{C=g-SfeB(+ zuM(Nl7?TVbh<R=}1%U#JF6GD<(-2%wE}9_Fj+j(F+qu39gT$J*_Z93;D*HeM4}ZXp zq#U{)i0B+0ki81#2@$J9pA&#!)@gqeq-lA%erk7VUfQc+{wBn=*s-4n-lc8O?3{~w zdzKDXz9*^T8v)AB4yWbr1(Q6cP}CeNF>-C{TcuZsE>!DD_<&|-GxH&a({W2`xs}4{ zf+Dy2RLnwAD_1bO0`XGf^h$TmRvJ7o(ywuy<_UB0A4)(V8F2+7-z+r-W@dgob8xk1 zv6;jc9ZHRmd#IBjsfLf36>bh^6y{Ruu@=E+iNt80?qO_7<_3W`1-yxTLt&Tk4hI-< z30Fs^UT+3fEOGp^GYC@!<+5rQ!t#J)?!g0KEV3~(JwO&!N(WQ25TF6ah~AjE%2|H` zF9<v`u;K0{B}`id++x!=hFcE@49=^E4q`c{tATHDM%$MwpHpSyxQcdGxDa5@>?Rh! zsdm?^2!lT>NlPPRQH(4!uX3K732Pd;zJxf&;MVMztglQ8O4PYlDR^R6U;%Bl@hBGs zv0urY-hF2iM5B3sA}&(kmI~JHRRpo6cLIid<^f>1<_iuQk1=j`q-ug|e-hw+fe!0) zYnhqF;N!WGqvmI7A{s%yW(Kg90SmPFOy;x1@jJMv3Cs0Ec+B_vmY^594=Cfr6)n9& zT1--_g-f&vunn=pk(7h3oy@d+T~8e)zTa)YHdy}QnUw<NaDoFD2%SZn9j;O2n8)TJ zt!gUEjwMmI2Z{GSfQYG^33Nc=wm#T^FSHtqd5+?bCL;1iBL)WPI3Otv1qM~qtASC3 zf6}adTyav#W5mstnz=%|{LE=Lec<ZGv9?}Smg!T4u|EF*Iwc^rm{XP<ZgxkAF*;$^ zjH$}dpbM;?BWuL2n(jPN(?04d0N006PI8SGbU_c9hdE`Ga&917t|Kwy)*^7pYLK6k z=_z&tyv0J3w3%k3JtZNaI>{)7weP||?k)D2HOssZr$X-B630h_q$tTeu%Zi1x2fr! z6Q(tE#x2gvm`R5dnTfI7!c@)UB%+XFmx4gd${!k8N0Lz%w7I5ZHr|m(H(hZ7pv#|_ z!qb?g3vUO|Gq{EBvR59_lBt=|_zq&mwQ*Z`GcZDgkUCCxFimBiwm)cw3S!!nTG+ca z!~`X`iDN4}gD7;1+n;bj%hWe5QKqW6g7UYL7pQ@l+3_ii9%HU159I(Zo>)GNpOnV; z5Gxpz+o|`5(4=eT4PO!-OM)wFeo+@Ju(fQ$4VL2)cmeU3hN`<_g}oAEEA*K#)Wq61 z(NNm0<4JC=2DZy=7YHLo?iI#9AT(xUeR_*ufjNLwWZ5zcJ$({X3NOUq2W#dooUtjR zxRs%%_YO7C3>~q{adlWj5GZZbuods`5uKWu8akD52s6v%^%x1>4rWywtFow=``m&= z1$5s8V<oSNPe#1OD63u!#(L|yawy~JTf-{)Ur5Y@IG>4zGKjc>yjr-9#Hy0B6!fUa zytY}5F&HbNUXD^U8XJSXs*ge_CdU{={K6E%VT@Rn!^uF*P3eXO*M<G#pTM<@bM}UQ zr@5$?;V)prDM|+S9%8Na8phYAB&vkK8b;ONX>1nNZ}%+do_K-5qr~3wMa5N2n1rda z2N2MXb}JmZmhX%yR-P&y6D};y;rN)g`${&x(ePmK6v?;Rc0W}!i@uYYL$bTanD|(g z5RN&@_Ip8kY`Bx{PyLyfiICfxfHO=NTZf)yhobvtZ&j--o{zZJ&}S}UBCnNmH*;@N zhcT0{iOu`WaEh;rg>xKnELCT=TJJxZ+2|ESx*@bR)TIY!bEq*LSVI*Cpe?%8Ln&N% zAVsqrWpa}R9JTQ)4TX*s#9c~{ZA?_xXv!BmQdX#l(Gh4aV}mMIC128I?r3V@1ELO< zpHb5zn5qMO5c`J#xmo*&1@)^jn7{`ukz820Zd=lrz|g6nWcnxiJlOvLU}GH1n?@WW z?vXOUc0gOfP*!c!qmam|fsF@F(+w}o#N}5jwE2d^n}Dw>?@V&48o{XH%XK`*@+@w_ z>+LiHd$^P|VhgWw&Pe=Cj8Ptmhfv)Q0_Euf{{Vtz8<v(~d_<ud4%wGgwbZVW!%&Pp zt{;DD6_{UjF`=63ZJ)$Fm4@xazPlw32q}YJ;c06$(s%-5GxHVJ#L}d$D3lj}4(8i) zxLJkqi+2$?x0W6UCf-pdR9p9#B`-s=3#*pRUYahMxn7HeT%L}|bk~JP=Mbs_xnSUV zbU+Ke?j=2;YGnTaC5zeHF=q_aL{31|R=UrpQr7u5Z{}F9m>38Y)|n9EYbFP9R0hKh za926sP_(sq;^uvoW2o!sBP_>ceMC|Oe4!W;AvsH6Qa$e}hOl)6TOizbR>@+8I#(K& zSBX~b**QlD*b1AyRZ5Y?N^WTU4L}7;fYL0a&`?Wteezncd{_3lO4}7G3N1O!UFJJS zQM_Ea7!@2kL;!CwDBr{kF4)UQhxaY2(=^}2C?bYf67Y`Grx8)-i;Xz#GlMgXeN|T+ zTiY$rxVuAecXxLPnqZB)H0~DMH8=zd?jEdhhsJ}u6Re>jSRmPl_xlB>F6ySP))-Z_ z=9<qGmqW~9E-G0pu5ArcTQ8D?g@8oZBvL1b@wbV*L})%)#l^3;>7ZOEYoGG|ahkTz zI`B(bj-r<4U4#{#{eKnB^3542fOp;B>=$u6O6(0-x;R@uwRWbgC+?(Bm6h)1#khbk z-RGkpx}BGPU<dYk#i0vimoqL;iMXQBobmn#w}JP<KEfg{TpnLr;$kv4-<<2CoGzdt zRnpwaQ8IgCo!7RX)JD3aUM9HgoaHH=z0@r9gk)gu`_*>N3&TjF2yY0F>4tf9l{?5= zotwx)H8QdP6vjqI)UqLl=!$Dn9fFr9mdn>+){{-IuQUvQU@`gDrr}-Vl-Li9B?tOp zTZ^eiRFk{fccG4Vg_)`wDh5xdz7MOkH!fM2?_Bp@vUPF3uD~%9f?PgsR&;)!Eb~vb z#APYRT9NTV50qQo`4+zCw%jpNFa-RxHDmKB#t3#8koYqoF~;l{9>`WN(h!D8O_ycL zq`)@=guE9n+~+CQX2nHIjRHPbLz^l^hs02#ramrof1=e%wsj{LL6d#e2=K!rxlV~B z&O!{Z185352FRr(rId0u1RqkeT~!kY-cMUc&$+~>)ruVfkWwr!lO7`m$4=fy3+F*E z32Q>Dr)nn<4x1_%8eu1{83LG|UrEQWu>!fVT@hS<5}j20l8aIAPGixg%+slCI!h4j zr#qU7y?&A9reT+ht+F&7c&Lkn!=X*=K19CA4!84#cGDb1G*=JFm8X-pPff_5ouTs? z`&2FbU41hp=EQiS%9<f8VVP7iLW091*t+~(-D4H=Ii}?Z&%&j~IE8id^UOuJqWf23 zCm3q)sOU0ZeL(80@ZCQRc#9hvO)&<Pqy*8^@6V>Uv-~Cu`p{K%7|{vKtoal+)|1yT zS-OWok%av2quft3qvUZwglG2d<hXi^#(cs`(z{YMexwt3r>S~YyJ9%z6q6;nxSfTo zV!{Jdy~-%Z_A{y=h)7oRQat{e=8#rv<wASr#u~1oMUz&@gyx4H9kmLg=c%?KAY33j z5QbrMpKBp}fo&k!nqm`3x@j=NVM1*bnYcg1#~#4--cU)`>TEQsj_sV=vBkWeSc@{D zUFVHS<Si#6_a@H{@I!*(nc&nEQao%gs?0Vj3L|-LjNsENYw2W8Z0O!t_$Tu8O(V<< zsm5^leGWqr%-SH`F$^<AAl2gQK>V@X98jN_i@)Q;!nRtAg?b%xR3l{<tk$98-4!j^ zGI5GWwldUZ$$ian=IW6JixZUDUwTy^(|^-(A8d<vYC*@GgsTh4RUwpIG<@mBj+Ya2 zIkge?<MGLK2#A{WGC8ZV_7SF-8K#hY;5CbLnnom~CilZwSgibfP^CXX<8%Qd5WGZo z#a}%&v7chY(i<<S70i?}V+yT!j{h=@gX_8$-?|GmG-t~u+6xybnRd+noa|)Wv^*J% zDxOD)#A`H$sg5$U>!ZAcUm@ouFnjo*ZRhf=b`JoVM*jMVwFKb7ifkVoE266xut(6Z zz0*SV${^&993fg?Esl>~eJ~D3LJ<wP05x$DApA9$`CiC(L5aRBs27hbU=Sj+BF&pG zY=StX`J1P9`nBt}xs59;_BjP@&9g#H1Wf@;-#8nHgPZMnVmkz|{){dalb;QzGtcbV z&TW#!;0_qb&Wwf}h)nnQ<koJ?beh)O6~-Bbs1XXXb`>Hs{^1LEQF`KKP@O@ss{{o3 z<@uKmUq@~g$o=Sa!}X^Jo`;{(LeLxQBi!X$hIp0no=d-~{>q`-ZEY(bHAUptNoy7} zj-574=Mj01*f?~X>V=Y*#YfKj;E!Z(@r;<!rouRrNzdYCZH|ZD>l_$Bn0hc)%HG+$ zDQy%?jW;Em-CRMhfZ`Z_B;%DCl2U+O<O9VrHCmzZO=3|?-UNb`I{+pq`}~JTNOFe5 z&ai5xwl^;@ucPUk0cQ`}%ke3&uT8ejD_$<9yIqj~_OMi>H<qumlV}nU=H)SXXLCx& z@gH0;jj_=mMZfMKYhyAy0u&MhknzImx55g@)+YMoe{kQ537)F!3vRV0F(_?xzQv{7 zCV2s~EL@<K`JC6@F~~KdaZQ0y9=CB99(trza~7QovcPBSz+b=U;8O@^1h9CnZIdwX z*)?8F4h%$sikH&P5Z&kZI1BaS?LIi#^(sixI>(uvkjJ?$y)Dl^pSvS8!bqrE>;*f_ z2n9857fjcC!lBHEc%B>`o+A`$BwWZIrv%zd(*rzDir!S;!r&lKleFzMWjqlfug{{A zb9l-4o3)ACN+18(Ip(f4q?eLxq)f_K2qltUm`-ktd*N9c&*-O#-1E@&Q_~Qi93$4~ zo*1YmrzagD^lJTx6LAd09G9oaVbRE?W)37^<747GUFKQ0M0BO5X>2s=7+gaS12Rd( zJzlxZU_1fhjj`6%s-+y(CLnCzEu?;V+N`kk+q+ZYq3>+uyAsd+ZS0-%A80}QjB&Uk zpx7T6i!~6}UU9Mh&1j(y;?J%#k^WPtpE^Y0ACU&2ifT~*=9c->CIzN}9+;UHV+bV| z?)-LWVR-~Iz-r@TF#Zi@JrcsX0r6lKBrm+Dx4{Ey#dBtqU>~dLN|@y@78Tj6)^*f) z%2z=;mBqkR??=Ez%>=Ab@5&tN#2U(OZ!y64+~dbAjGE*hgXmPa3duSK=C0EaaXXK~ zWOy+GyQrt(3I<uAR;QHk16XQD>Dsx)x#Kx@P^opkq4m%jc-O@dgzMK-whnCdxpW=b zXy}nl9>omcS!HSDcLHC;EF#mCy`D*e2aoXl;wmA;a6fZ0cl-9Ob>ic1Th|Hccx4Qw z5s!*M>qIyFC^vl0>XTOM+5RMLqnR4=grU&}^kWhqs^l;jCTlzw<P1MsR4k|Eb*5&r z(?vFTViaIMeAv%XVXCD>7jf!uZDbqfBqDabvCJjNhg6jxW5Cka$#R4^TmD_;u=QOQ zO(j9=QPJ`zlRV)r&#Gow45cbpFjdvqsXMBziKsg$+a42lCXVktJGl%$(^q3qvdQDv zfv?&8@f*I$t`>t<CN6^h<^%b6^6?AL!a5I56`Z*C8!MA&Gu1wIFfuj9Vack0O!pM> zG?$ABaIyE}b3_Nfh-UB1SN$?nZKwSvQ8Z#Qql$}<@78~AqAs2`#MazXV<UMpyH7=A z>nYKL)C~f5Eibuw>!(8C2Ft=mHgB^Fn_n-7z_h<p23S<nhJ9K~c24_wZQ3L{X4cK# zdPqB(C3X6*IZQyOm*}punXc(QIiehdLuy?DJR($y!^3&?2Q^+LXI$=0d;vp6IHBp| z$hbWO<9QaDIIgi<g)b!<;g39EVRYfb3>g$JWQ1M_DUDoYKe3_-Gv@c{;~%JZPWz;y z*#3+!&HRDg&TKb%e-dn?K3)mbYmT&_Z*s2QjG731vB;RR^Wp1l*neQ#nA*14rAEtg zS^nOn?8Rj?Rgxobejwel&BhZ5r5nzClkG_UB%W2;6%7zh2opBt;B(7g8x^;z@%rAC zN$h0F{=u<o?ZAW%gHoo!Ic|+qBjmJ9I~F&z+z5Hhx?6iy&%nL&Es5w8FTBZUJ9<}Z z^b@;t)P(~u{A&l|Q=V?Yp)sB_0YI$!Xr`bP_h;TAnrb*h^DgH1S%i|<<j?nLE$DRx zsP=lm>?VVm=0%fF4PCZ}x<?@nOhY;1b{1#U5;K|;9s(LwW~EuI?E_?U8@@Tz2keLT zvr85E9zPECH6md=<rpmOir8Oeq-u2q%}U)l9t6bnQB17z!N1~N?l~eZ)a(rB#PTDk zN@dD;Gd_~jzw!A;A{q@(n+9#SMSCf*A-#CSyAMI*c#r`OXLD@1X*~v5KK#S2$|s&i zxzv}D-y-fP^|Z-f5n8x9UuJ!vR{IqbZeFNgxC1h2jy&rs*}J^0X0|viFb-WmKZg~B z$ZZwjHAf?o_{7(}ciGW7{@g~0Hlelzb8N!+1l^rkel#GD#5?ym)!N8#;0h46X<%d7 zGVE$o35;XzXP&l<_WwxZ9(7L8T#>jel2EJV@9Kedk=qqJ_<SF26=G_;k~QMO@7%0t z!Ll2H&lX~e*B3_huwm<&!5+4b30CxS@gVHqJ7izwjj67)NJ2Zb3M>HIY1z;aXn1!< zc9)C8AKvJ>-_Eerq1<KGdTj9EXW64-oe7L2#@Y_UFNO(x=C*VvE?pd5H9e82!og)k zc_Wk6ZctajK^zLUk@rbJ5Kj!!GZ`5d;H1EkB_^u9(8I()6Dm5H3*;rT{x(XVfz5^4 zv$_%=jk6Ws#n$`Y!`cVXEh3@q#qY$49IYm~bI+#PY0?=&Iboyu=_2$R;YnFpi7vK0 zeGI-JRO=>R-&Y(|7X+Uo?;6&&p_e%)$}?;Q6Ctixz<q+{RthTneUOQPp0W!fn0PeB z74YHwub3GDo&crHYrar4Eb$GqqQFyF_t#7h5Md>;+jMNK*>X0BQH5;<tsgI?_9g7= zb7DF<J>~>2aeRHOGmG%E>>Ik7I}UG6Za~hYJ^rsAT@%|+Ji?;b9sP^7*-|C-?P^2a z^P{6<(SsPPQ^#Sr7nDM=*jy}SWzqy$N4k@UT}|7R7pA0T<NJn`Edh4=1#xd`%=AT= zib{ow8OkDI$n4x2hmQZI>$_uZcyvsg*^mmU4-!5(>w@_YnYv4a*neKhMPXVb<h|y& zW^88t-3ZJqSm7`f{gs^n*C)Ff;g!Lny>+6~g6lGvDX`axx8n~*E2ZLDepi8Sayr}l zj5Z`ncE$8u_L>%sV2;GvgnO%we1l<1$E1(899td>Pg4#`f1w-EKgx8-4!zCCq1UiS zI2XqL5pPkEM5t(4m5^XmL^6sX5*gcVhxsSZf5(bU4Xswqw<<=An1``G(<hq|?*mJz zvqxg|sUU8*fz%NrA*MP|IfQ?py~UrFM7Tgb*>-fEw#17wsti4RKZb~{DVdJ=%eoaA z(Cm;R(06Fcc}!;TJF17d<6DB6g;CY6LB13X1`RkMD|Z<o+|NAEc+BTq$T`b{uL^&9 z7KVD;8tcckNt!Lr8tH-TiKjAh8&)bEFC#SmgKLc-TifyTc7=PO1!-O01*5;>kPh1h zmo=R>L}#WHLM}O`9q7iFEZX5Kq6qYPYmtuv|C8|%Pq$o@T3cFhdNNHb0SGO>>6II| zQxc&5Jnzb-&dEjkc1Y3Kup5?uT3ikxc^v(YYjI^4IObOk{=DM;)squw6kgEgwyc-l zI^vAy?7Z?l|LBZ>t>oX&;NWaFrSjQ(0WQtfny6zs%dR)NNR2N1$)QcL6?ZOHXP3Z) zYo#1_G~}c&j-%%BsUl9L0KsdhPBcklnH%i|f@Wi@GJN>-H2erF0p9V)q%XGZ;3l45 zMjP4|UY0Pf&}RS3ghYnZn`(}-_ykrL&+K=1UD|RRpSnYTb<Y#;yo7w=jAmXH|EDct zyw^`P1;}|N>e3ga*1taRO^sR^J-`#@D330aX0o_Q#a&D{3ns!a!&-Vy9sUhfZ(rb5 z0)qdZJ?kb&F^9RQ>7GPR2?V6lPw04m_MOPz=G#zwKnl<d2_W*BF;2~F5m$fs;A#fv zzOAsL8ArLPo#>?v?1JZ7*<ga>G+kv<^iGgJh<r-yKt3!09kuFEn?R6ke<Jo^<#*!F z;ulgPR_o6c;np}hhYo*{`itM)8K;{S<S8EGf+Tbj&6W7k@t%J@7Qqnc{zW7;+CaKo zpZJh27-6909JE>)h9xOKu#S4E#6(~oCrlzDN2nadfzJ88EBW9)jtQes$F3(?uy?eC z=xEfmj%%0JCi)S^`nlf-L`eqPCMwv=Ta7Jj269~r=h^{6J@uQnYomoPDkj;@7)fni zl4L<wW_D^myo-jfiTb^4DIGf-6oubBW%Z)qxBDh?a|Go@P3C^tzh|=2Yo_y|)!cLM zP>ji^-9#b4-q2+0pV&tuqWPd|5S#hD-EDO*d+oW291IwG{;LLiw>QqIMePiqP5dqi zsPln5$<)d4T4xWxvBietZL}YT!#OhgJ^x&tJmGvBkbTv}PxHelPzj-*>C-#r=O-G! z`pEkDhg-}qEWZW)0mg#%^)U3kEFKf^-YO3VcyE)(<#nQgZ?EYEUjaC42E5!)o{(Q_ z5c1#sWt?*6*8>gW#c;Q3kSda7OpPw00-;nCD-ykM@`&Z!+VAD@NY<$!isZwY!a9eO z%8I*&VUb=7l9!U8mt#fCm?HA-D~5S^)5V^lMRD;7UtGZ2hQmm6qNQvw|BP*O`iW1u zMaJue;QB^+@~Sc-qvl^{dg11iqf_m)C*-x+8t8bbB^Iu_w`5vyYzC~vv*|1WVeg;0 zeUk5?`XE`B`uR|L-zP)c2h?7wxxcLFO{@;rH$&uJWQOFVz(Vg1k6!Fo6xu9k*BAMC zd0*3B9~Yr3t)>b8C)W0;i{;EJ@`ZrNtB+r$eN2XkI27$gk4}UkkGa-+$fMQYQ047E zF3-dOPH_>KG?IR~EGwX5vDmg0!kG>S@3_mVNhBSXVTVm*6mV!moi$^jtY5KCGZp`7 zS;!AEk15h~<?Y4g5_Do|4+6XYq+y%RCEc9Q*V><Fjrs`d5-Dlhszt}pZC=@R+&)NW zKmAN*3k+N=bH}qjLHVbH2@Z+O5!K&(q-dri6d*NXi%&-gUHdTm7ng2h4R6sVeY0$~ zP`(BsEXz<1S83-TEIxWV=a<TD8J_S5zms<mVE9+HC^1w#VU#pknjuOBj#G*Hjqe?Y zu>Eb|XWBj+^Sm7nYxt{oJZt#bbs$T2qTMzZaL>)5sL5JUpz6+K8}fq$%le%19wTgn zvb5UAEMPwK4LavkUsr1g?os7`^bj|_<L^JmE_gr53QMX9h&#XlGc_r)-Qt_ewnuA+ z79fPShY$XF?{Dz}Iqxu1*`F4Z8;h(^e}z}J3<mx`9!M!pz9F^B2814KU}S=-=%VZN ze^~3-MvEcdhP<*Fh>Ty$KeC8Z(ri6Ddi-RQ<9cNdrN>_~-SqVe3JC}OvtThJ;5eW4 z4|3uBoE(%!gp3?UKNG8fdcOpq6^KQ5h@bW{i<Z#^9*A%B306%n_b)}_QJ(gS5L$+p zVJrtE*^LO-j{Q51xng>c1H_ANL2#e9EFGn9%f4so_bT{uiOSse8XA<07~-etE&7vq zJM|iF8xQftm#&Pyf5G%dJpBms3NST{Nsr0`Y*CzjiB2fC@SRgIJGLg$_>w-<wSv0s z)>-4VSAJmGpn`<y^;sdP%syC7<c9u-Jp%&<GrHfOev_7CZrO*Zs}7&&Q<}r~^FK~n zpM{+8)W(GRx%p?bq(;=Wo}3TOivPhi{{!5Y4+nMm_>dE0=L=C(P2&(}_$?$1hi?x( zG_nioC`!*rZN0*6WZ1mINxOCpO|n&BLfqw)oLUNf!n_hXD=S}rxQ<@&mZq!LlO2s( z5v~6gnPTNm=loh#M-GHHcs4V9(cq~Mq~X<SD|~^2Im5|DQznYEueGMyoZ*HiY<58` zU~vU*=YC9D&#l=ua4S=!g<N)Uq65B|uIfL2_t4S*nt#fq6U63ws_rIG%B&+S+uemk zv=SucD)!&zY(#76M-QZsv!%B(XiDXnznB{eZ-4%)htF7c^ZWb90U=G*e6yj1oipKa z%iV=!s&iC+i5E)L`o5y(&nis+HghF7hnv15q~mN6WY+5R)Tl|@HY+dv?3l_luooXo z_2cexr81?MLch^xxC3ENtj)*vFSQ>>Cx7Y-B29Q_mSIDX)m>waM3A#q+Kw+(*T+YR zKg5}eUO1Wb*^9gp*0g8SQ>fL?f@tqul^~~KAp_@a7&b8)>ag=0Fa(X2C+eGzF!o|? zxi;7$mk>M;e3L6C5X=52iN?JqOzysE{FSB$?>V76RFkSJO4oAxZL!5VIr$R=E~?|h zg=#wjG2ts8p-Z_Fi4J&yNKmEDUK&miQQ=(fGa=`e(t3o0%C_^Ud?Y4{ZE4pF{6c2? zZ}+vq<$1!JN$~2;CVpp5JWFr$*%UK3cIV*OkKg;hN=af=mYx{#I^fOlqXnZvYGApb zg>R!7YHWNXe##36=f@L1ER2}Gl%JZm-s*IfTt}I_nOAmi5<Q)Uh$`~oK!}?lPB12{ z@_~R)crSGrB-*Hg;hg&GnCSZ!2dA$IFX!jJEk$-6!NoE39EUsLAc>nz`N6jzOqh?0 z{v)6{|IsNRe1^AY9J7r1A4!rEi<rEmP}P0|gbp)xA(#zpCBq_`!I8bkl54WrIYUF> zH<VQHCz_Xl_jF$SUF<KAzO?(e4Le(%6(c?JsTC>_3#HUj-ucG<GZT7?>{+N7#}x7~ z=LQaEME@tc)^;Uq&4wSPs6!`ID-Lo?AD>4D;y^__Om|P{6qolunrknd%rm$mrjC~A z34{D8W!Bh~pIb#d>UUV)LwT)eugmnZ3faMY7TKo+8Tg_-5DxVJ;EI1?vZOFSBE9#j z*?CE)nH~yzp|hG?yt?9plNmYqE9IycGhVl%-xZ6obaKS#vkp5oD%^mxES-C<5}(dX z-|{!r$cvLC<3WFs#17CBU=_pl2+lr}l4gZ)pNb=SIx<Ib&Zmq@s_c|*@xM_xT0D4o zcsRiO?f<U#4Hq5`50{o#mPW_YgD3p^`(BI+|NdAScc$lV#D;^0tFf^OM8lO>SCuWj z(cB8R!SLYdXyxI$Gk4|{(7L<nl5$pOHzye(78hgWt|=7sW^GT}sa{vT@4JtTSUulC z^Vag{b6jciADlvtjkrzpNs^;oPWpr|5c^ik%ah9O1IC*>-4@8oh*?#Gf|4ha-pq)? zbqZ+_QDcA(CLO=-bvxPdhyek;Clfp+k!pH{ieeX(w?!FJMjnfZk3+aEtn?-?49<{M z!IE+o3_E?0KyJ<)459gv<)B_(YKV&U=vzbclN-6R4H?}S>V{y1AA;m9RP)qmwu4H( zjUu7RSBtDOr^CqpY!Vt`;{gsm=*{lzS4I`ic809(k?<+m7j2OpwO(QPLm=z?$v1U% zuFrQ*(aGBvb|SBHS}h~=SIq7`VmXZh&73JP5AXSTyk|M6=`OeL1_V=l{EL|%)q$kB zzjbWtQ)KoNjjA~yY#%J%cXx?A_&R*l{bee!SfU__|3aKpy3@oS-aa%kHeD=N{NU}X zZ!8Te>Ixj9bTt3^c%iG_&7lhFVYpzJGPn$NL(#a~9W8*T#a+kBbMqasx|&3#Q#N=F zux$fn7s*qmqCF0EBpnBJCU<PvZMeKu?kbZJY%5+;1votoPd;v~gSk=<z;=6fQz;wG zmYBVMA!kkVzFH>2e(qb!A8aRmKOVWf!CMX9I(NZAmVHg});g7FE-;U7SQ(rAAPwsm zA3Ka%5;<J2^5~@Sic#MzsMSM?%*y(SclpS+iAO9^P<#2qHE3e>tB8F%gj5;6*;3KJ z1h|6u3wlpdcwUBhdwI{uY<4C^?FPjo!>)Vbqr3cYLd--MS8^KB(DG=dAyr;yWMb~G zbN`0@rE#!!ptwd8iM@eERTQXka-!kuL3z1u?$Cvl{c$mQYHH8_;9S<hC;lQh`$BLB z1vXW?GE^O3Hemd3+%F)Y)Yw6*9Hfde8_4-@2b}%l?Q6<y;Cg%CD><RR_42Wm^XS}0 z2nWKa>c?^C)iH(kOI0F%xgFe`=3Dl20}Jf7jIlLpJmiz6tYS^trZiR_nDh9@SlJI& zFc2HQH*|fmSCF52v6om5nVkCrG5UHJ<PXQ4VX;xPGn<tblN1e*c&`|EUU<&Dgp`J~ zU8T$>7>c{}9@h{+25rQjZ|s9nJTOkOQ~xMD^(sry%<);Ly9N8|LqazK#>v}uwubTO zDOw368OFsx)*LMdV||-=soZUt57_tJAtz$lX>g`0PkDfYq}j-;ybZA@*HNe(^=uAY z;6S?4ps8eAop9{Oom@G7hNZxBFxOu$=n<pqKI!?Jl(KZd?xS`#3{=l1TM(WwHdHQA z-24IbedcP<R5q~<L+b^N+fQ9+@=#w@9qcIr_MT`gpTobliBAP_6u;pxZ%1N(!0=|K zbXGlgf?sZHmCpPR4(-F&Q`0|R>7YYpA6!C#7#AF8b#**n)k*!g;}8E(+8?~9=KEu) zpAT-diacjs8PB*8G+F$OXW&>MNXfI45o=@Tjaa+;c@jAs0tv*IShr7uwY;qN_%j*V zj87PR8{fNLZ>3HLFy<eLr{6?lJN=&4AAOs8-0=@>z3Oa#clH)2XPj#3-?TudK?fXD zF_S+IJgHhGr)DQD(=H??k!mMPdRkFb0#k*Is9lnv`f^EW`199?cf3Q{BY`8;d2aeg zRAL31XQ^(?HU4)L0hE1lPoX*ozDA7MRXM-G6WY!^#tq%pOo)9sk7UDJ>Z}*BTcfHo zzJ8cCkoo!g{m4{Mu6@IsDeWT<$4zAQMYcQ@@6ys>TC8pAG08FFz{btgk{?}qTjjZ5 zB!98)$jbW08}G<aBxnx*?g{&#C2a1PzfP=`it#8o=lE&aH)&VNSj#JUImb$}NPzb5 z!M9yVy(n?0xx&~LR-y<q^`z$a4UE%E-<*E5AYc06C`x$I$C<(xz*BPK8I>tKPB4x? z#YssgR_w<jvUm~sH9!Eq<YYY>egKMl60}54k~qy=AY_-}pZkAsIWWW=XYuqGN#%@{ z_uBaKidExV**2=;(O$!TFU+73KOt#5f*10A;YvZAJFL;P7uu6}jBdA+Fgh{Dar|wc z4)Gk+&`#Uf8oy|~Ra1&xw>!*qcSzuz@>Pafpy%X4(7^$Hb&&=3DU5}?%dGxCI1Y}; zS45~`daigL{+UN3!0mBd&(+;7gTF55eap>;b%U;ZV)>B9R`&Z&M0Oud(5TZJ5u0}c z=~ei!QW|1)yrPj_p}}D0ZvJXu0rnZ#D?ENLy@aEsc}EM2LnJw0wSC7-`G`}ZGb#38 zhga7Yg60#*P$IHW<{;Z@*p$@pZm$U9@;F$?sp{L{?nCIR(5kuhVGRwNm?w<E*!OBu zWbWAwXq&_?FRV$ObkO;}7!0%s?_8^<rvk1Q*h;a@AFmi=R@w+uOR~wUo?>;-)E{}D z;QiEqk>vF@{}|J3dag8kU*-#aKi~KpG5=-uznNCRiTJjYw02;NZQ-O!ND6>CDxdME z#rK$>zv-p+4ux;_nfmDKY+XXhDb4@(wjtyEE*QTg+0fm{fwBASb)^O!iT4i=ouh|k zaNbcaGza(7X_j$FNl+E1t^a~vZ%G!KnN8WI0ap@&>>r1>Wocf$U3#u0<wsaVDlAW` z9QY=_QuyW;b#8G}6O(#4-bvZKYgVXHj(;2{iP&@;`;CAGjhZ{_I{xsaGM$IX(L?Ce zeG-;O)6S{gkV%8YVKJyxmIgKt^yN6KkSmf7p{a!I{#<F%Z67krR!^Z@ji;4O;wz$+ zonyF;Z|D)j1`b#MnCo1=j`RaA&aoi^vBp={_2ciT7AxB6&j^b`B)?ef{jt&TjFD{z zumxQPYOV|zrw|HU|Ls4_ltFp-5R_wtw9$b%XjAluVGdBnwsm0$htw^!cQKx!AQ2n! zMlc9T>)sid!+djDS*C70obY?z-!7DEphb%*2+=3tY_-NH5!pCXM=t%@aHqNT*ErPt z`k?7QI8pIjBfp5fuXDFs<0qS<+pQavwsZW>kta+4!JU|PbG9<Sn!B})*rv6i;&bc3 zvPGTN-ep50B8+cAj9*vQXTZ>(Cp#S<Zirox{Z76*jIG6ZSK&Ox-VV<SU4SYpy0^g} zZZ1W3%N|n6CaT-5LgK`Bg>7x?A3$vpe#ftpWADdoDdpe?k(>xKb!)C&FIcag-=O!~ z_4Ud1B}ZZ0Be`nPxUka7Zi>Z!aQ1JJ7Bpuz2W=@`mpgk_=lVGRgbxQ=?`tmR_$D(V zw;b$~Nu@lW65$w|Fw!``7xaR*_{Sl$??Hf*p|5VC_jY3YmPORxf?~??pej9n<hS~k zEA3|2Suul@DQ47SeHqoF{&|3SQ6JH}sr@&+WuF@gJH?%y>qky9v3*C(-ba7@;s4-> z>x=yjZ#*Y|7nPci=Ro!>t1zWB{!!x$1@LBj6?$9_1#V42HFNXp51_L$>Th|VVF;om z<TAAtSg8JTkK-(4|F-x43qBG42R^C383J8guUuSQuR8?6;0{jdj>%YV5S3vY)owj# z>#vMq9&{HG4N%Y)U7z&A_TZ>xN#LE*&;iA{?if9M|C@O%H)S8LWstC6ztN7mE_y%0 zU!Q77%F;>7y`o%4_}Cfa4>kKq3SEIdxb(Hrr_7&`t1?qc8Ra}kVAqrKndAh64_d*X zuRk&8UD4o?u7G%DbuI--n!QH?z1dI6?Q>-@Q!MMUYuL>;4?6?&3`bs(Ne?L3$xAcI z+0^AR!3T@X?q;&uZP<BCEhqG4VE@_9G4Qy}R5LL7hMHk~q1OyJ@i!wRvbU3hVS_(8 z$ChBzOvQz>XlZNZ=OQvv{h<OC6|luEK;-VJ>&P!Vu*09=r>Mj$^_;?OIxr1%D2U+c za#Pqr{rG@mDr5RgMN!gvw*mc?{V@{5e`_xQqH66uur)BQIT{r{f-ShQM~yiZ_yeRa zpj3+O&Q*cENwS;>+Ro_kaTEVTrGfZG7}f>kqz|oeL+P8$MfMroQvTSzE&nI=kPA;Z z%B#!cYv25f|LqRcWy^nWOY*C5aTrvqv+eD`o-;WJ*=(xQG*=xIv~i@r=<NY?WgK_Y z)S&`$cocW`mw~z42(I{tABK;-Q=YNfUJzr^j0)}NUMLggA)NCZ^p)Ax!$YybZ+08S z^#`ITCOlKyz&8F+w41HcSA1q?2=EI~=!@k3oq^R9GDRn~7q`fkzoW&g%cJu31+&NI zHIC8qL+cf1AGp;A1Y3GE1t#&&Z@l52G5OgRn(-V}L@ZsqR7oMUS{e4mJQO^%7G(s= z7j;P<_`Zy^g>4K2>ntKoBevUn?k;Qx)~JD)qT3zPb0iQqy`KSd?nhwGgY`%oh`?J& zB(P02(LpUZC!?rgmCWA6Zce=Is>D>nUUXvek-DiDWD|PO%?-e<IEWKc>A^qB-Wt{_ zNKE%6nKXCVXtR&Zj9`9o<(mS*ejK!F?EeQhbo0AQrEi{W{HoZZz6nFi_La1gY+tmv z=1&UPEpF-=+#t?56=IrnEtZ1KpWGQBdbd9F7E0!~J-}GF)0_G@f080cYKGdsO0>CU zNgThXv0OwjkWoxiw2{ZYQeW0;j&C@4B{eq${uU54zPqtZB|Ait(_!Y(p|dU+o!VUd zo_2Kc>r>Bsh}PW$^B*-~?MFFnlGfe!_`RuXUcgmdKS?X2tFY(x9DgzWZ0exR)(Ek( z)vp--JYjzleJVrm7QduIqrOoRO+abjy3n%6?o4r8rQwzOGCeniUwj64r?da$kj+GJ zkiEY9?eD2d^?J)*0?^z^5B&xQ?PcoI5%sOm7WRYdm0QP=n8+482p@Wp&oxYG$yM)` zvyaAHlagmKCs`zAR$$4svGcA?Zt+7L$4@sE@0*wojgFnfJ9gZ*31ZT8L*G+^8rd~! zMfu}@{pl@ymmwmS6o3YGy}tf>M#1%U-Z`X?Ob8CD0R_e@5Iu&(l7*yZ*st#NZ~g5E z;*R2v2q~_(P(K7oyZi@dy%D{^thZ-^W)tKadQ=I!LA<+(uhJgj__{CH{L~@bNbG}i zXL2Xqu_G`lT|+ZqjRijGX4?&N>f2L1Cp$0r#+749Dcygqd2I=76J!4Jal<di_pH}9 zWzG7Qjx?Ecuw2TN;>UIybJW%dSIqei)J}Sf>d>%bmtyh}ZO;8}-M;Zzz}NV;Lp%-l zg67PNBeb&-@23cW+vRA=DDOfjv@@yW0WFf_kV;HBWVSa58#prGSu>gqV4f+qC%~Z< zriBJx&9qg&F9kA?)}-GC9S+F}WQ=E6e-gRNnX(68;Vr*%GOk>Awk&g|HqT2b(5#c* zemv?KHU;?veq&gD@Q2<|AGth+{-|mw#>yU4;kj7cCXYURZNhpH;={@?dQ0h=E7|9q zyzn<El%t+%^O3sUZ_W;K3smpY0nZ2ROKm)*JdB^zk?8RI+FnScB(55Hix*f^%qihg zkfvy2n0Y#=*SCQ~RQl!q6km1t*@r=b;!ah9BgC1TIKdsbEia*46;(J~6aj%?a}nRz zio!FL_pQ?Ty>;2#J_cjYAi&mUp!pkf>sXC6ZXT{RmAeG-yc=3^bY$IF@kVFeKL~T; z%5sOO<PkDO;K0>=smIMWFKH^!KFPXn+ing+w9{paV&d;f2hFRb*{#MMAeL)??|NW; zX;SsFy9d}EG<AdAdyvBj?yq@>Fw+{gBHCTI(L6inWyVn7;*|Z{I!Tj0e&x~wpSRB- zJ~-Z&$Oq$Idf}J|e&}^RlPqfkY?Ccgb^Bbp%$@W~pkPC<(-nA9j;Q9fLo|br!UK2K zTf9Au?5^DcthptP$|vn;ml5a(Y?fXpcHy9b>37&U!5RuEdYgjR1s@-|O~l798N=-H zQk1{E|9!X6EP$MSKtlTM*?d1c{-TO?&#N7w&xir>Tu0uWeI3{S5{%Fx?~Tbo8-H`4 zx|`d%B`xk+*gMWPj^ywXyR6~Zw;EO&S5E37Xe0~G`J3)(y`HaJZE?zcA04yhq84EP z>TPDK!TTb9o))wBGm4DzLl-Qc#OZF%>sCB5ivPVdkDJn^_sR1S*SEQqcj|#5?_>Se zv`ea|8{8bVE(Y<I@2n8Uahhy-wuTRm4mmgf)=NqkFtD>u@Vr8lp8krby<>>{PUoEK zpXbGFzdf~)J=sJZvmTYHAw%xv<i6-^O3Sf8{3(RmoFQNoBO=khbcndqwy7mNgn;|$ zw{+W_OKdt`vr8Upb6B=|cD>E9tQB+XF(|Y^fs6t(kAE4cf<2+r0;*3#4K}6Q<cYl$ zy#u!ON0|Sl6L-5$_uMl1fL|=6QAiajn01z;Dt;tu&yr+rMVg$f7See^Quq0RUUXgS zq;HE%KSFar^(mE;T579vi<x%&VLL{PQx8mrQmVl;t)(-<yGCD%VPPEQC-P3}QO&2H zOHI4%_+l|lT#+F)dHr%Z356H61m#_M28BX8^}XH=T6XYH324dv!Es)Z5;V%H@|^5L z<G0p~vY7kG#2msWU*FN?_3C>wXwiMg1BsEtJXK>-2Xx3~Wv;}X1i1a`psah<OHY}d zy(1KlW>48iqJqZk5j66=ab&aJz8~r`Y<h@nc#IJcStFf&&Lm1a*t&0NbG2n8Dkb|u z>dCt-ctPR<j^bN`<vE^R6+HK^H;Lb=TCA(0Xsf+21yI^H8+Rb>Y`1NTC=m8NLYm$H zmeBchN$?i~7uCs!bQ`~AZ{W_)f=T-q$6Vj7dSA_r)pa}!tA7-$lgYib7`-=SgU&go zWSIDOI0NZENSAi1Rakx5>KyCbZJ9nJ?Rnf@JKLcmz960=;^d5u`vN!d0AJN7iP-mX zN3%rdoe%a@N64ESnXu8E(e?Tgbr<JltgoDar?t+Ve?a17?^EGl8*m>U!XASyIN*8K zX6jCQZ)hSixwH80Zrl>G@x*$CGI_x{CUUzI)y_wO>f4sY{~JQzHIH@{u>1XBZ(_^M zO~mD(T^qWWF%H6zU49R|OM}M){b0%_IJtiUQ>m5$(QzK%;VBdD`w;T~uK)3)@6_o3 zxY2iN^qm<E|N6aUXz}&{hWmd6DLmXeMwL`4Xk;@QawYx_Z*&MX;&{VUa;gQ_ExXtH zcl&_dx=Jx5c}psPPcwz~YV<A^)l*`%kSA-`L#Qof8m`<tpwb?k8K=VJ{g$dP@3OGZ z+lCdz!feF5^s-)Oyj)Ozf{LPr)r=90{d;6-J>1VTm4t!e7|>4lIrPpPj}m9!67^r3 zB<w;wE$A2<UQ~Nf)W4XGGrRl0v<G;M74F?X2G6K-!a(0KfIm4-=RJQJhqpORn>H1M zd6o;*!e~6Kzwo%9x@#TnmRp6jqi&ERahq0hR{9cgP~uJIU<Y$=dS-E;n*u$$tixmN zG#r2eVQL}qrZVtU#4`i<_qhYP@xO>J-X^F3e@HWIS8+z&PzF&BKY{qUep#AWJ)lJV z*lBu`F$K>giIdo(jMF%y9)DPN67fZ#Sz^?t<!PE69kMObfCv78=W^)iSgu_baiE>2 zK=)zE99xK?)mbN$Z623FtRQ!zgy1ImhVNWZ&Td6b8vaI~wH;C%z->Sf+Vw#NSkuLl z3}KZ1`V_`1?2O+#XgfUpFHQ>TSvsH{y?8B|wRoui(P!;Kvgf5;0@G9I-{GP~PgbUw ze7x$4T6zHKK3569Abj;QpDnG7!4n&qPDk$hXEZ{-X<*k#?8rLKSTDX^j=#s-y2x?L zp)*S8V9tZ+nq$D?$7|^WwGETR@2JmjNw`Rw*8X8UimOQnKhSuhkziM;?jYJVlJuY; zpZ0)~LLf}p;nwxtmg<77BNm3}mOPsh*xd+qVnE3Y_9Wm&#Je~&pIxFd1+vwiPlB8} zkxD$_Gb%;n)lh%97-)#C_Rdb~*DeSEj(NL%lt^ySp;kSZzgU*f>vsCod#C`FAaJNp z1g4$iln}l3zv&Ejodz@Q&mIGK6IEeV#L@i-t1ZM4c{Khqy<S|T*nS^$quAGrtIxTS z<nU<aYgB62I8N)rD2?!pVsN5QNu9KX`QtPzes9yu>0Fcy{vaHTepCD?9<kvc8)Io- zDf(H>4@B)Nq-MgHu4a+&T78en-&o79!NpkpE8#v;x8blob4*cRQNC{a-ELu#;gRp; zz!qKxyVbxg;e3tx@P%O9mi1?m2D>cSoF@&}JU&^7FB0e-07YQKH0Qhfp`aNuc<R&= zZMZR7+RWJ!=iu}bqwd(<j`41O2v+03e>r?NSNl+qp7{|f)^|m~NQ8MR-n|U?g-`&l z!Hn8&mv}6@Om!AU69i8TvlsqR=3JzA&aftz^P9;@@&ePnUWS&(Cx=MGID{*6yd*jy z64t~oO9S&wsi!~=vi5McGo}iWDi)^S83+cjkm24)>-6Z?Xr$cG%#CX{Zjy!Bi#AkT zh7mWKpRt&|#@AKsPw);iqQ^b`;fIG2kWwT;<=_j!Pl@yHsMQkXF7ce-mB#k!64V?^ zEp%k3`@WXnPHxm<o7t`8Bc?L$@Ge_{DTLFQu=k)gKm!Sc-!(m5wto=!%Xban!*;E+ zrq%jV40TCmRyv}O2ob3)aGTG_r1ql&C$>DUC%S`^c~MI<AmU5591(Z-PC?WqSpFQu zNpLw;%T#7nTjUG3ysValEdR9VS81G&Jbt!7yR87#qBEo`?slE0jEWx1s~R6vA`*L& z*Qb^ZYP>`9^s>wJdSzKNmZxf$SENA(A7^0fit&&*nufkUH5@I$?a~GBQ;%CAd4!fr z?Qrh~`XAQ78K=%=E?Rmf8sZ!W@jnRw3(ciC3O7+(p7jLUx(RLt9szRzi%Vk6J={7K zUP&zasZDDe7{-zI$@7~UijBh{QhcRB@8<)&e8tcE;k@%K87Yl)Kz&G!Lf21kzj### zxw|4j1Z^E<LY}|}-fFe6Edn0fWnw%^iD|WxG0YOz+im}{%Up#ZR)LX6yevFV0MFL~ zu;Le{VuWjq!yCIvxZmn=&J-UDhnD~ti1n&Rd9jR(hW+1r+3z`!wKzH{4kS<UX<;YN zuv7dz=YKj@359&l4}fxdbuJh&)^Q}&8fq`}lO+G977nbd;o^Kj|HsN%imE<A!hXaz zKHe?9AlDMDOwWrE@oYS%Ze97akT-=uXXbCV5!D7H=~zCJY~IF$m}7I_eMV%AJaCk0 zAcg@~kuv;KEX0@c#IWk?VF@&g(720ld<}MHgCrptD#(66p2ec`ej@4F&!KdkYn#^l znFZqH6<7Gk_VP?Wc@(T2Q|`q^3O=Bpc3Tfo)|tim@50hwhM`ie!r{A$QXvrW3JF$| z9213)dS_RETLllvMC2E4m%gq-(F-Y=D$m>fN7;sT7rM;mjT%o#6&&$vZCHn8`)+WB z6u+FR9={V{gZ<X!Jj;B_WnS`vxW*f(Hj-8*@m+H#`a(~}$)w&qMygQ5lH*e;TfgfB zgu{+$Dp5A0ZBR4*n+X0ROzf*KGbZf9Cc5w*FNbf0LvEDEvuJ-?*@mSOnfS16oAuj_ z#R@edkMb^Rq0=OCK1X=-kWG){Yb;){Tc9wi%&PvXC`;L#t0ZHJixq)HFGSU-ELZn& z`JW#FgIet@BD@bDR_im%_4HFv3_5naXJ-3Lb)G%67WlyDkb?J|bK?SPI;Avh*hf!( zJ_*XQx;7X$(~2CTz?Gz9X<LJX(${XZNs_OU;*qGz@CS;-^_uYN14_TyX6Id?0<3-@ ztgZ@%FCNmvKileXqvFt(bkh{r_!{ugy%At2w3>)NQhU5jMC8sQDEqjfhQO63lfv0Q zalHr59c%hp<ad-JT@u;C+X*(#^N8S)5q<C1`M|fm+nMlY($bvm;xn+R&klCtniL3s zAoakp2VA^!q3WMd>sc`Z_02PImU1QE&D&qIwd=K}72BPB;RcZUt%l_!03R?WP;#wg z<vuLv>xS&j$VLw(K8s0l;qNqU>gX5n1T`qFvFDzWa<q0Mncx=cIoEQ!{s0`ODH65b z((;G4LXIVa={9WbVp*~}(_NzC?T;&Bus~gj>@<4v0mWk1*-Y%xt7EV(bCP4myli`p zF)LTEcY>l?=uAgaX2to;Gb7_W2byn#Al{H38;1L>AHRdZ%tL|aG@L1AsSlGAYwryn zPx6|MHS)|Ll>1ai=F0S$k(3{<=Lt`)qt(sH0sWK{!>01|W5V`P9C70~K_BB~7fJo1 z=LnWQAU#`<c<S4J!c~9W46zdjUcL$aj4g)dq)W_YLet+c8KKW*%lh<No^_y~3WB1! zq+!&~1~X(I!#(OUnbXrIWw1wb(x?Wp+vSh7=fq+ezE^zXboS$rkW@fHEB|MK5+)xP zWdV<QyUjA`sF@*fL#@5mD9eajzkXc~!-k8hi~HRTMV3oGs*Yk4#;Y*VuIL7uYwvV& zG$&Fm`{qm$E-%Iy>0!CB3Xtz^X8TyvWeb*k5N10I%d!#8oKHLz&oOSv=BVFp?9sJL z?5SKCYq+qj*{fWZqf3aNAwF?LYHlzld0DP&wh$!7LQMjXpCsat%gz~p7Pv}qMz|K# zGsAm|V?_p6Z>=%))0XxHiPur*n2Hy~=4CkDg8g(`42u>%2bBDwFX;0|Q~YO9YJ*%O z6rv*ZBW3~Uzt^h{(}s)rG!V8ulG&+jeJ0_LUX5VZ&2t!l5<{=xva)n-&mPKq0pV=r zghU3^kM-2`O`DL7`nF8WiBm^eUgjeZx4FSaWgg1Sc5~wFMvV#Y>ISM!>OR#q3k8B~ zOTb_f0Z~tV&F|FwW4G8C+AN}bd_~>}%P>2Fs!?8z_@r^eLqVi1a|d2iz$ol(Bq2n3 z_JO7(@lNSf4Vsl(IyB_{l2HBeQ(J*$9_=Z)wPsL~U@SHxukqmUYq<6wdN~UhGC5R> z2t~*BQC@u(&8=u5Rw9ax<t`GeCks)!QkiBbI;7404xpy!p$Xs#DcVSA>k%7eLgGpT zWzT#qUl?%=Xt&<abEmb1H|hw=v+#`dpkc(J$iWq{+f2pri~+Gn>95ewlR$KgfikQA zPDbSZ4XnT+{oJnp;q--3GLbCKj`pX?5Sp_ei;e|NtjuPcT`3y8QvM-pea(28BiI#H z&>t;vUP+;wkna_SiT<jVitNBe*P#jjHeyNSZ1U+PoFWF>j+UMfhS`ja!ms}667P=| zecqVTd+M?cRU0oV(Kvy&i~3jQ$@v*c+ykox2_(}&1;!-@weNP~DF$VVgz%V=A~~Or zmdHL4g59={$UEoV1YYH<uxx8%x-Iox%4UAByuxEt=|`;IlS)}Qnq?om3_uafvW9K& z>VHD{KKiV$fmp91Jm?SMI5*0#2(!>KexTSTpN@&h*A!<ppb`f3#B@cF+M`T|r~|xr z>QtrL%(bsGB4R^mV|6ZbkIOuiiw_;Ou`%`gk<3T?YLHiwB}wkK(F{ndG8>al?Y)Cb z;QItMVWXZlms9nB#P6wZ_ZJ!milJsh4|Dg^y_#<VfN>SeFgSMoXke(j;vlzgqJOt( z32x=|`tz{**-4cU9Qm!0(XbM1#1D!L7G^<+9+qSLCeZViZpNUE@#BFip0oa;I}j5> zbh~voi|A<b;yF9k-hqc?qHH6f<pI~lLtf+0clXtc9&HHG=kVDIp~NlEeTCD^!t19q zI|ip@XP4&m1=n<D0i>?ek1I$yPh)V0R%kwVOgM{uBqc(erX{0NLWwUw){Ik`H$e^< z(*k{$zd5Xym|@hTA|!I7)M$QBY_6Jzv0^W5{ktcjZ!Ja6-!Cnp0o}?1>~SMZt0SO9 zGmf8crI6wD{MHEACx0a&gsTtXvO0f@UM$_dCrTVU!QTBum<!MAr}u%2O6|8Zef^N! zO~K#}M#FahN8Hm2au39{BMv(F!F(p)51x;=e7w3FaJ}NRS#VIeK~EwNqHQ-D%EYms z=${tOt=ZLv<!nkrk~lr*JUoERwZ9mUFcy(eYuVRr9ge?oIJE($!&w^cZ8>Ii@v!l5 zbqsmb_$=`bNz5Krs<pkNC2?h%9k5_DmD*QUbD3<E1hXkwaa@2f1Euu3^rV!d&kH`N zJ>+s3RBDgWBUsX-;?eNuh42<*R(F<_qP8IR&v%YT4)I4M$Vcw?$5~eGye*&4mGp`% zm?<6MP#tuQCb{mh3pn}MMuvrTPwDhNTS%S%o^GJY)zr$;QgBi0A0M8`c*!(Fb4#kP zs#hP@30sVatQatr75#KY0a#Rp!EMs<5e|BNn`y9rRZQ-7=!0SYJtT$^UTPmZ>NyOe zBo9qve9qB&T<_)}p@!FHHO~V&YoQ#pmtoo9<T6Vnoc_Uwv?er49DK0h%CbBiZ#O<| z9;=m;A+gL}6*!zy2!B<&SFFqGNz&3`?AvOJOEa5kLm@KVHTPJN0hi(tR9nQhBUpLH zn<^p!v2E*hMMaa)dYR*T-{-=gbpOh$6N2-k`}aJzyvknkwvLF^EyKIm3BPqssCj93 znk1Hz&~()DGh60xfg!9;a2TC=sW}GJg_cxKrnc)H2WTq58I;8f_?<EQ(FT1?_;*bL zU$=}9r6T*eo@Wz@#{yR2P)&t#lw5NO6X|T9w)vrOo=D$dy-surlkJ>XucGXyRmOA6 zfLQ*pUBl|u&*Wqt*M^Zi25vh2nU!zbLg1jVImiC@VIQ<~aVQ{F)UG>TNo6Vs#tO=w z^n&43lu3{ojg|9Ef7iD)Y9Z0l-54d8QCWZy&C#n={RbBlwn#c4gp2^tw!&f+|5qs< z{%4dJ3!}oRC!tO4>c=DvST8U_cN@M0gVjC_K5>7G16LIJQGluIo3y=v^Yoii^&c#3 zZITHF;~*eDIZIirZgva3Nc->N+^}{ijb5gr&-O|!T;4Wz3U;;FLu+YihVs`Jgv%LP zgYcjW$jDZuMbDs#CqZv&hyrK>!_HsVds~FI7*ldu-CKhnKKZ#G^P}s?N<i3=cF5Zc zCzNr?2TMTxi`zNN!g<>xwmCcTUBZcsb3Kj$e=<c$%Lh)(#Xs+DlA*cb%gCNJ6Lo(_ zt4;cv4ZiCSqGn>_Y#i?4I@j@WKG$t|3G}G5+M|F-EO1LOZp_QNKNg9nF3oy!ppx{m zZlj)pTpEA>i6c~NZs68}N@JwfwgkT^JWf}GJimNzJ9C9-%Ten>wc$R>pIHD#xz+Bo z={-;66=S1)2wNJ|(rPc8^x)HHjHlK3KW;ZysdQ(i3z&{4?WL5WV^MSK*@$=fDs1up zPL_4j=P-&w^<t^q;GC#l_yKD8e*kPilfP<o3~9s`8p;%ffC+QQP$BgdKveaB+W<z8 zhcq{scAbKfrfk<MueoK18pIb&JO*GT6C9NrvaqKRpm3m$WCD#uG)$}YQNg`eoWJq_ zt$5U+&2?tuZDSV+iw=H0#HrnJD1ysx_XBz{xQSIya5pN3-XNCM)AJN16)c9>qG67b z!U(R<5eU=Fv?OwFEUXL{9RRqd4v%&ngcGr`0W=M=^7olosySm&V-+-6OL&Qag=-Bl z7`CjGktt)uU|?e6^Ke+Y8iOFL4DtdHw3LHt!EcwIpo^W3`ue~&>osfD<A@W_69C<q zj&Po44m<Q+m#>M!?o|=#YvGtK{{V>#grKKZU0z8`#17hlLVypF3Glj1ykd8LDLaW> z=-IORbol3tMk5OH$&_`t-X)<*3u`&}-X(acw9tDF`#xf$(gQ`Yyn4K50>FZrbT(vT z-*Nt2VL@^ZuGg=bREYwKTi?2Ha|sNE<1+sMI(dsu)-IUS@_bA2B!G4wu=$LVQEj_R zJ`u4Sp$7Jk%u~S!ZCA~8LOouliiOuo{mXQu7u$p0LI7g9Q0RMHU%5!wF#LB~#~aK# zB`tYlZ(g3`X`TxopVZBy+2ie13b#tgRe8)-uSU={eT1#%HKl9-czk92L}L&m01Ws{ zK8~VDQRF&f?*8CKl_+xnr-fo4U78(B8+=97r-d-ra<4Z8DAPQ_3|5x$>QRE=yu(Hu zx>GD-B_@b2Jr^?4p>Cz*0JhxB`vy?~LZr7ztS6S(;0-Yg(!1lRg6ww^+p7lk1C$(d zxQJ8245Fr{sm$k9Kxfd2yPGY(I*gIUu6Hohw|UGHT?=LwRN)Eecr0z3>oY4=d_iTd zt{q@aS&Tth0VwEWD7r%NLAb{&_QcjLBUqQEx|Jkb`h{|f%33UsULvaE@TZS5saP&v zVY|0fJ<KHIP)Cq7Lvsf(%df;Vzo-kRlVnX`%q=WF;Y&=tT(#AeRFPE#EYdtrVxnac z1=I&5d8b%YdK@6HCQfLgurRH;0aSLzf&{QL8<{P7JW6vgfIA|fuQ}%8${UKqe6I7s zxL5-<ivB<tfB|}K5Y=${%uX%`ivYu($7h+Rr3_3UrSq9znhH0eMLjpT6&Rsl?(9a3 z>v3qPiEC#8wK9$FDVgXDH*Q*av5Lm`P)wSzTdz0w5JHyO#mYK9W>hs5IF$9M7@BEN zIUnW<R%$=xHRk4#5^N|whmTOHrPm3d@pZjRks#91#_@f9OBd|aXN%R3Jh43lp@s6E zENjeBG2#VA9%z)}*uAz_N;5sPg)QY($IC;?O{kLyTo>J34lPbtztIS4G)xv*`!Jmk ze{^HYA1oTB7>$8`o5ZiNa=UWMzo;OsWpb7Qf)<(wii6eDCJr;005GU&$x0kmG{Z6D z1CQ>@ub7c??gDroto0tGBlA}@?Z_V>>Z6C4mk~kRa@@8ycP$ti^2H%hs*W9%+u|%h zs$dCjp~O6(Ko1h4CA`ZbbCJw6PGh&+zrtpiASH{>k_U$^@~KZ7DQTT)O$@bRdE~)U zHPfhv6=->uLa#3ol^YR&*11g)iVKtf0BFQt1wksj9F=nzoQp>4K67LZ###C$r3xwD z7)A(PO4!e$12IX92i&48JOTiJ;LNNnXmY{=mgP`Z_JdHaqEMk4t-)G{ObTGKP_#7L zDT!?+bqFd0TEP~06l^1hyUcEAxGk4B5+Jm;uY9JWUo{Xq;x|OBkYeR1(n?4c_(Dv! z%5g5dR4j|7RRM{T&|cmnLOOOeVJs=}=C<rCUob9C#*2M!8%n3Qbb{N87Hua}WfdFJ zz}lKIJfGPBPz)6U<ir6>ZWazZiN`jmp<4D`A{b!y;(#sYmHcrQl|~eIOGdbgX5AeX ztqWJ?Q-?l5P@jE8R`G4G36(Ki!R&-nZy*p{jaKmG=Ev?Os*QT(<t`H?UmIEE_Z5Je zrCPcb#xA(|fm=e3CAL0l60q69<R+K{IM6kVgm@J97Yreq3<Ew(u5KV~9XmQ|WsZ|; z*I@JRUGt|NhN~2=Nvh++fZ^`G=4KW<S^ofKC<{?&Y%DsuF-j~Nc^|pC2vnyl_Nm|{ zOsiJ7<K`4{PYd~D;&`w+^DYWaVPm<DSvV8e`-DxiDmP^}*#1#(c1$pQDnCzhh80H5 z<n2Z{VgCS0R%5$7OxtWZbbe|+a?l(=?B=<ff>`1J2YF#m<rS;ceqa$P98AGTfuc29 zyb&py70Uywnoxjr7P5hqEP%LmRI(=*1Fg^)2rTKQImEDC0=o$1WnB81c3gk`L1)=? zZZ`BV3<2fyGoX15*~6(a%NLwG!%-bRLYRjEmluQz0Y%gRY-QzS;bJ_G6irPyT9vSG z%oL@Kmf{-_4adypiCbEj2Nf9+ux{nTIP)?#m3s}#kuz9}qR?kVbc)#F#IeZU8G@jz zR$zm&crz!94B|Ch?z@$i7#@4#3_M&G#bDVuw}xk!4zU2N+(&W5vo!(&%L3{NO&17q zj;I(fgHlWK4l-kpGR)sy$j7D?eCnaW$TsqZ0K49grSG_E%b|ZnAf6JnI!Rg<)}Ns( zc%k`4Yw9^|EW5xT%U)w5T~lp-jQKl?20~lit+!T@66*+?gv9%I%pcl<o#Z=tJw*Bq z1cN-D-?%kN#fLyPzF+;~u3pqWEM`HnB$;6J;utnoJ3Sa<a@}hm4&QRRHC-Aw{{R?v z6KTtP@b?&%Eo;lk5M&h$q1cx?m;~RU>4rf9*9VU$GaCeWX~KUK79nZiYXjl@6D4;F zE5YT#NI50yOxDPXfmW`?B77vnn8(r|rccc4su{i>ycoFZ0Nq{lkIbx<vgA<tujW61 z4xl5^i%*0V^B<+4YK{n{^&ATpibUA+t$e~67j2RD4{gFtCJ5%f?e<3d0LY=UYm)<2 zs5kA-u#e(Zi`8}<zDkW%HCO6xCZ-ltb{$8Th$2P>#5NtM8Vk|P5VrUr#1Cah<pio< z9Lu3;ZME(z!0kxg2brAY3LsMhrRFmE8Xx&7>bLhd(dbnnrWU)bGPO1|Yf_roy(5SM zAU>rhK!&aX7EoU>%+PX?P0evB0h+^_<sDDk4r2}uE8<&6P{>_a?rKX&p5@M)Th9?A z!EUN1trFK4GgroQDyo-B4TT$U%7S9>+zWLetBzlkC^w6}PEIuzmzClTddwQC9cFE2 zeeOC~sb%4cnP!+Hny*na5+*F%ptY7pF?CZ0H7TU-`IoF2PF@1ticoyRXLnJ#;ZJIM zq-BxcQ;P`U(;lWUfVJ!%9P<v-+W~{H+8v9wzo5FTADEuVpwVsMQ$(%de3_+kvb6yz zrE^&!UZW<?%jO+HQmJ9h*Bwf+8D07*(+{h?LOuegCtae&p<@?A2)n(tr_4sA<}c&_ z0APTw6gF$728>G{KgkM(*-CR{9|?Y82u`JM<{ZCegYy)&sA}$gpEB)5eGexmsZ}yL z4-%b3p<I=Oadoqyrjx7gGSQk=V8GAg?gC0X1$FQ8Mn<cHc=7Hkjo+9Hx3a#Yai<9I zSMv`F4YKKNe11Yz^h91OnQ;wb(CI~<w=%l93juk4rPy}lWL036ge_#KVA3g=G0+B} z7CuKQ5v_1&SoSsP^}Lme8w<^!0&7NXh@1~pTE1OM^;N-w#JyI2VBpn=jfWi3`Gyqs zbdie+ZAS1;);<P2h{dhmB2_5NwR_m^5u_GY8r*QU4@9{^O5JK3W&D!k3#H;9B9<QD zMZ4w1W|-)x3|qw;kC6`1mRnG-LS{5#n<ZKD#L{e|ka)Rd8t`JHgid*bpe=;7YjyjC z5uwYtU<=Q<U<&)1ktqclTBs*3gbS!5H>&YuYy2BLK+>{RdAt7RVjBxNrlX}|_fePv zZ{k#1={K2iq7HkTj_Wmi%GPM)az|DMJt2r649E;yeN9)~G{<$Q!5AI6gPL``%qulo zk5A=_xyLuTTX}n%CZbqHb;c2juHW)7p$?5Ln70}80qFtlytY?^7=xie+YZw!SyMLw z7RLuefVI1H@c_jMtYLsY1*}~%;Cy9Ym9GsfFAdwDC8(rOMj3y{!2k?g4JX~+p;{c3 z>q?fup&9wl^&SwgLAPT}BW|N!TNf1*Q83|ned6I#sw2aw+O4K9l}liN)zy4)4L~kj z%EF<~Cr~+uV)t->u?2{IJaZ|7l88E*j!i>Iv>|LdYO9bR%%`Uc+8@mAs0JSi!zm0L zrGu{wCIPrvuDg4N{3n<?xG^fr@twww32OA=nBLBNAN5O4(Aebv0NlYPMY^j!!CU|V zDUCFFfk7tJ#&R9wFxnlw?lCr@b1II#gfbyWf)m+)0Ln`dPHKQYh`FigR8LfrjSFIO zb`PYFy-+~wYm<yox*(f&RutmiUoytrG$LzdHs8b?Xj-bBCdLdPt=%0PoDx(WZ-NC~ zpSbt?Qqcv+as9@wwH||S9sElpPK69sZ4M%S?sVf3tevHC19`lw;vvuu$gs)s65Dv+ za)s<S$ttSZ^D3-W-!P{@ywQlR0K&}O!mbKcOOQ`0jwYAYMRm~BAevKIiU|BBiRwpu zL<wmrlqgpRR>N7)TzG_dFvg`V^DJPnEq27C%YW~vK~w(#a|gon7^@+xg1;e=;&5|a zLt|@ONmmO4%&gvhL@uhBSS&&0Lc9{QiK|kt{{WKuA|oKL%ZiOa7K*X$$N6ys`zHZ- zu-<fN&$&dNEF4kyM>ot{&q-PpX!|fmwYiYxNEM7!s|qVI(623Htl}aRUdKTSyXvKQ z)zE_&zv3TJ3}3Rp#CpKegz%#uHxCAe#FVnv^dSc%=19_8oL(;3eOncf;?od!MrUPZ zikJ;`4YE{ko+4LSlq#n4O;=C~DXt7=6i^)-6Za@lu*@Q%!viZfI#Sc55Wr!WzzZ_m zErrdH5RBGfiqsvaN2kAVy1~e<n7Z={H##yWCs7gr(_GB<08;RB`i96Yv2H1ypo(4; zW?ySBFf(Czf<P((VeX;ll7OLu6`6^3cpwaFrb3U(kBLDD+sg&R`IQlYeN$`xBZ^xB zuOnkBqyTcGMyPQYR4rEK@DiV>%|Wz4Hmdakj|p)(prQ9K5gn&5nCt}xAnOcj*<tCp zT)1<;sI`jZ8;J-`cbQhI?zY8uV|a5KGVM&tO>NTv{tVW&D$C~Sg(&BSS@RtBqBXfe zYj}4#7nKMV;W0%OD#{03#3guc;NyBXaG+Y7poFm6aT_CpiF8^IP|YB&?q8kagJY7j z0vQM>2Nu^ccrD^Z;xnts=XsV=#a9rvdtq{QD&^Oym_^H8Bc-cc)CLmE+^G+=ej}+? z;<zI(D_&)AH2&oTI2)NJe9FZwM)tYh;4B7A<~`OYFaE}bt-NTT(8U^f3f#XSXb<if zjk)Pp<nt}kEse^hFq=Bdxp7kkeGa|l&O3~Z1Td9t^Plcr-MZ)*uMr?3iG2dJKbePu zK}e$~y~JS5)Me90gM7+vpkSW0`<PA}h&8Pr1;FfqZ2V|qF;5a~_rx&OLWKKcUkK2+ zqyT8CfYS?WH94?yxL)QqY>dK5QfcBLV-~lV&?Tm6AZP`=dx;gJOiN=0&L(ZFJCtj# z+!3<8mh&x;V8koTFDG)7WZn||7|0eRC)iNTGOmcwlVTNz8$be!ORb&9v=a*ABSKxF z&oFVa;Mp5t&xL@l`&pf@lht<#7@?YRH+-W<)S!aOd2JuV^B6g1zJG)a^wT)V5%Jt` z0k|w~n%Md6o>w>myLK51fS3fUO!Ek`@)J+2ClNiXRmxH+eV|-{#N*{blsujxL2auD z0mNW=f!=`1979=VsBI=p75q_wVSJJ7vbw8;rmB@{!kc8Za<aiN-UtQ3<cAPO(B<YK zZrz)To>qLr{i-F%KrCUvs1T@jMFr{2!6B8}kg_bg(weiFV->Vh2}A2~OmJf3w;{5g zX38JR5(^8W3Dc;GS5pex96siZYdV$<8}4FkHf}QuwTYNPq^74R;yGoGX*psQ11LqL zyRd_qg~PoRThWh*zOi!=<ntbmK`np@dD(rqm~;#RG#MD8#WbA!+m)5~Di#>e<bM*Z zqO|L14)O5{=4lh$pvmF@aIM0=&ijN^HRc7SwTI>qx7eV0IzN76@(XI(FSj{~Y(QBJ zTw6duNwp2sYaC6@!EOr~O?Z}7h~Q8++^aDNWzx<}FsTB~)lp2dHp75;gEM@+AL1p> zmTRbra=r+*i)&X9WUGUR3|onY4iZ(E0l-44yJDiz6dTk4>Ncikwv1E-PXe_wrGpJ> zS|}W50_eJwL(qVdgH}pOMirMRUCUvdA7R}P$wFQmvzN2zh3is{V+Y0vsHjQ0P9Jdl zVhF23c)Hwmg_5OdB0S@;OEhF14zo<Ktn-~+^Aj!6$qEQ^n1as&SUWgwhXifptr`ea zA-EQ*+7;Xbt{`gWbQ3D#{Xt0vnPo%@hWy0v7JL;s<nZcQz>QRFKs#H6MX35^%l=x3 z;vLIPzcVu;-OgfjQvO?q%o4BzOU@@a!kJ@(llp?$wz!p>9<w)K34}xCnnu%*TNni> zvK0}x6kSFE0;cn$a+;xdi~uy##H}<BGeDp_S$0Y@^Ag>(s^%GMsb!IA6P3lpuF86r zLkVQr0`nRd^qAjdFpG<7BKY^*TVgMvi1pjUan@mZHjr^em@`l?T3ejAm7Dz36;%p* zi&$NWWKgwI!CaO6EI?Y>zKo6YbzWsYDAW$YO~J7rgaN~v@8+jA@TSK=WqoxIQo$@c zRdCfq+6AFHyEDDS8xXKdu()`)UaRAnhj6hGv?Bw_m<!1F0pfaimOD=dBQgcC(OwD7 zA+R5<eqx{o1U8EAyi`o^!Fpv(s*qwM!AEg%b{(u;lywH76s0;hYz-##?p|m$D@q)K zF|Hl@nU8V+IP+4+X}rUra;x0Q6mILAlnw)?0ft2SnNYYjmO<ti7Jn@3?x69r1F<}3 zW}BD*Q8#m4@t4|ndQRzo%=864i+_YRA?IgbdXzY=0kUPh<36E*U?vm4_NEJUI8COW zEZH#KxD6R*oj(w@AR69|%hCMGDC`Yy+qh=|E4USp0}=lK1GfrX$XJYKjWqdwBjt{| zfatR?P=>JJqBhe};~IjY=s<;z_Kb8U6=kxRBf6v+308pu3YhX4Xb}GZTbGwLbX)vQ zMVcSV5$qTPTRg!Mr~oM%Z!(#F%$fW|T4xq80*B3_FcZlXU>p%LBb$oaju~vVjue-2 za1kx<)EO~-LY*%E0FUl$0=3#_o)GW;LwGJ44QUDnif29NhypE47WvTtzEZ)}&!Q8% zW(~nb*UWp0kYj6eRX){)0F8aNgG*h%T7XEhC@q;-&>P=~rvo{`Pi5Zuj@VfIeKxz# zjX{A=8AkJle&$96npehX^KtF3EkniaWgQybM@Nr|p$pU;+5kc86B2>y*7KG#%K&J* zRe65k2FC;*>~yU1gs#ZXeHt#HVH_tPY$J4b?4ch>E6i=wR}THdf$6MVO`@PspvN%+ zu7$T+W!HdHuee4#8ofmdmP8P!P8CjiiMTbaH|AUFHl%VwVJ@l<Avnxs$%i_)tp|%a zl^~zuW!~5%7zQgo<5D0c;;Gy^8Lnk*yXN&Ck#&!8#}t>2B}H%T3!*jZ0-?ZFpFhk& zKr*<)kEKgU2o|xT3XLGVvNP()8>LgA<}yKV-h}pla<0a^VWsKr1`IwQGIk}`kdJ4W z4%9H0lg}g^1<6C>QRubm4%w56V8IlIK!`mtz_PKDTB;==r|ust@l?zSvhMLd9w5XX zn?Myk;8@fobh&bk1<mmtg6&ZZt-ahz*4|~Hm)cY;STdt@2yo*wD!jjogOz4mlx80> z&$t<=v`h_E%%gchi(TS1Yxs#m>`JOC-=qDA$%lxGc|5ljJe|y#Qyyn*#AuG{%7~+! z;EluF0Dzwm!)~RHOtGQ6^$eikPV+Bpv!*^}P#waNv{pacO!rVO3sw*Nox$A(mLa7$ zwOpDw5d|q{b<x9izZZ;M?-spLwPz(pHe|WSD+>21AejQ%R@ZW@;}@teR6i9c)BHs> z7q~hSU{;?BD*Q`_Raz<SbsHcRK|C}E<tpLG9~&WlVLxjy7b?2VbEq|#CDC}HT6lpJ z&PXzNDEuIenz}Q6TrjUC#7g4urlq1gadk5bG*$!nm^W({Z*{sZDJ_f3N}~~}UvVq$ zAX3Xg3{$REubY&Tnjdn;BTJNQNuO{xE^>|~ZGaTqFiJ3)A%b|rXyHp1^A@3;vT6a) zSy$D?C4;`AM+4N(SObowv^X;XSzH@ve;8?wI{4l$haZV~MGf$z`H8_ud;-n-gkpe^ z?72$Bx01|XhUxbW)x<Uh<zDMj?+t6hy_nRuNP*(26{Y8})LP8rk{`i%O^>o(UMbuF zD<ilg{PM~cu&{+WzM={le8tT;jhrWYn=0IGgir&?EGb4^*)aKxcN*WAX^gV-p5eOj z=3E7z%%=KfJQZ~+wPX559%#G2Fm#{d<-Ud>3u7_Aq;s;OrV!q_ac}|z0`GMaGhSlD zoW`_XKz1>U8s(ewZmt5*3~J!D23v-`lV;mxRG>9p7!(_>BZ3<-OjI{6@$oaRzYzss zzY)7PWUO}R*bkrP`gycO!d`ZP`<FEDZap0ovztY9Fad{jDJ^<qmSAc%s4Gg+-tfy; z5o%khVNj<zupv?f<>r<^uNN!eQZ|BMwf@{tN~JV-0LoGrw{PPSCw?F9-r*(2!nO7a z8|#8S{{T2Ko(~RrdYX?AMdu>^v5IS!c_G2>IC&!0Twwf1i>A>}!McO@M7UI}iZe%3 zP>Z`}BeLjEKd2D6x?p0Md<EhSFbe_4h-6Hy;yp{TWthbRHAE8PUjrJARnt*BmNyDp zgJEijXDttGWrj6SLbq2HQLeW$FpezLddAy_&*2J<0_C})z~s~}Ur;dlIhQNv)J&g# zGZfIa*smO%{{T|4z}&fTqla@m-wp)@SA_k?;6N3?U4AY#4=&7selGqcThJ7=elQ@A zaGn4%I=>GvO;)C~@ax>)(Q8y!8%^K1)Hzfe6%JgKi1K|)3bMS)hS`|4g!3K2GFYi< z-l2;hJ|c|_aZFjHuQ9fY^9m^E=3R=v{Ie7{O4m`$m8%Jh%F2bz?I<Yb$#CavPA>ld zh|&@`49puTtI|&RXd5l;Aw!CmYO=i7UL)|5gPe^%rK9e!@xRi=d<mC$ip8{Q2B;IF zY*SaV0)*akh&usw#Ha?$M+!pkmfS|!xn`Hdxl&g=$_cZ~S_5}=EI3)1)%lImV)q8x zX{=9r4pD*9HuV50zjDFI4U;2p#Y{HYY*;{V7+#noBkfJWwoA7hcPUt9O;qA^YCScp zv~(M%I)%7H3T@4&(J7Wyl=4--F}bme3*wmZP%Ro?7`W_k-8GBP^o6$iR>PrKiLLij z!jG-6Sq-7u+fU*oDRN717qIt4F!DDG;25qje8mg#D2nQz%W;6t%`J_k3n)bz^X)!Z zAzIxmC2o~%aaN_z3gT`WdMa8<TiE@@4MRC%0+Q`ln5wtaoDdrU{$e=S1`3cSN{J{I zmX9n^5t8O;46Lm05zvvy(*f;^l^g{J5smQZm%*eLY1NRz8-Eb;B+~$8DZ|vf7+8T@ zBc~kw5f#Fg-3~vQb2tL%=i;L*CDbs5+p5}C_&9zeShO*39t)`6p#bExJcj#~7fOtk zq_{gE&&>jEL@<|iq|MxCBNCJ}lO`AyK)(?x_w_L9U4Uk_1}sRW&vc*SGz@4da1$A- zT0u|dm90mbA^`xZv|o|dv2u(c6wSd#{{ZvM7Og&)V7@;y4z}pEx0dn5uWl<dTHrpS z?-Bs%*tldMs<!ihs>bDrY=Bt9tE}SpEXMF+rm@~LhmbNpPb9wOZq0XjMDxM8s1sTB zQhzer0{2L}(GU}%UCU8^S=?j{gLem6#H~g}>gB5>X=W&|3aBU<yxg^>PP>?FUvSVy ziFGQ&SuuzJq6QpdEm#1LBXKjLpvy3pgt(DUQ5dDgDJk=)``WtEd>$bjtN=G2Xu`AE zE|!j^!?QG*WMfVY6?>1|XBFf(RNJk+OUwe@MGksBOH71Xj~2anBes&4L*@Qh4A#^> z4hL%j%9^Slp|(8Vw;jLn1C$tAf4oLoD;5jmPi9pB`^YQ6^7tjA$ipF`js@J!+Lohg z?b78r)NM$G?yx#~g#*x(ekN@VX;b-yRKYaM0sI5|n9B!7U-=lw3=HWPs-?7F=05UU zC<D$V#F<xj1lF5Z)G)DFS6A^5?v<2+noAZRh`!adReo+&a0|n7fGBWim}yMc@eCcl zqKpS|#V(MADEf(kYH=uOXD;SG8jo<Gs608TXlaa))!o4aMHy3qX_;J0@&<+&yF%H) zxG11te3^o!0Sm=qTmX1laK8#liDazW8oyD7-qzg}-y;_Yk8PyoLp;LUh3JchH;4_n z2Ub)_(&@(+%m)R{%Ihy~V(|<>7)|j61%r%(=z&JA6wB*w*CF>TWms_;r`<=biF{hu zxC?-e@h({ozz_TTmsepsxQJlQ?%|lD$Qbs94Js2v(pI3TtOa{`MOzF4EO%@^Av1)O zV1=xowl8zr1ikK1JbHqPuoi(88&8^nt5(37TX?&S=`jE`-x7dgd7>=!Ys;AMR+y0_ zF{qIXzTiVwdw^DHD@;YVofD9Y*HM&kH1!Swtp-m$M*y&F)`y#_fdQ_dP(l`fXMLb~ zWel4)LrV2S>idQJ!MSP}RbQeak`y;?Yqe~BO6gVwub<?@l7yvO#h5)y8bBt&;M3{^ zol0Au$4|r*9B0m~{{RqbQ$b6}bM9Z5RHz43{$M~X#8(F=@I)&f98uBt5|(i=n2iH5 zEv@MFaPCY>1-hnn1cO^_kN1hERvWg(`C};FnmAW7v7i_x2xZU>7-g6qb(wo^M=SI~ zCsv?h>MzK)E|xgdQqgJgF&3-BUj<QjDhStzecsShX1SZ-2+J+xW+fQ>O2Q^ZZ`?2h zb$f!`4vUo4)KZyhmM-j$iv_jjRL}{EHx{M_60pL&CxS3sRooD9XK6}kvz<&;ucd#| zLY0)Ow8I%p7M$d7^A7nls!hdaf;i7ow=IcuRo}njXB7-7EEnSv;sOmh!asr$4`rZW z9**Kx7GZ5ykNTD5`l=z7Jk(v)^HaE~hhur1FA)Qz9F^{(GkNsOiw=2UtWFh!_ZoXk zGp%t9L8R}vMCi3(+&EEePH>g^mWm4veqpPV{4oTLPlE-(^-|I%vDw;gFyUQ-6hAVO zVRTkvD~t)AB5a1+xsZkiWX5yMdfl5Z_=tm*<&7%_^3+y9Fj3+pTwd+mu?xo$g{x6o z={h64F?)-Y+3pz}MCXe6h_oYolU8YtZveh6u_g^w(bhMc8@*f3BLuPFkycA>OhHT{ zT5)zA+GryKR<_rp7hYi;9*g$9U$~P{tb*G0^<Oc?{dR!A%s(mZeUA`Sxdty62CcOq ze=tIp1<gGW3Bo~Ntw!zBo(|gAsgNQHWc_2SkAY%=U^9S^=CCDSm+nx2U?Sfw8TpSg zy^9j+qPR`_ih&MCPnl^88KaMKixT*l{lqavtD^pQG)Ls9bmp-9Lu*q^TG<mtW(%c^ zOGHF#m;k|L>O8X30B&Aixg3&?yhZfQQZp-O5`eQ!T-~c4A?1#IN+rVC3(;2tBo!|W zUvM)M%_s*aBq8|-39v&-0d3^DPOvdVRfAlw@&rIail3S;8VUuOt(Vw93{G@uh1+Op z9G{QW^U?*<{{Xp~%a^C6IVNK^D5+=E1XC^Mcpfa^L9scRZ1ac7rGj5J2Hp6b3Wc68 zl2DdoH50Mw<pX(lnM-D2%|f1Go-522ib9b<IOLxJcMDMvY}h|BkkMPFS57;JJMAii zk;??<0@%PQ4T^A+ss8Bc3)`?2{w14D+X}LQi48tUZ5J_4bj~0yHD=k1!e271E;&F^ z9<BgZhnPboU^%l)AdLrz<OoYr+-WT0Dzg=pW4LW^72bE_+{pq3pc@AlYnLBV&w{sx zxa#@kd`EGqW;fv~ZD%j}UolS^`(~-X)T=1PzK_VlM(f~$d<X4Fq=6Rg7dqN_fH3KI zm)yb|wx^{W56sGJBB-8J{YK5aB_FwKTB%&VNU##k0KCED5M4|*hFB2!gt_ONN>x3Y zp*U8Sik4-cf*5vggP25zV$pm=Dlwx$D&k$9Ay-V>?qB29g++%jz`5?_;+_<vO@V+e z{$_O+uC*3r4B{J58Oynwr^@FM5)o>SVhCqAhAK@js1#Y%lR>7L;0Xabt;_{k)kWZ4 zR}4LaHW9Ej(h{U{JAgdiI+$<=65}?7yK5)v7*&HFoBsgGqzysV@8;|CGkl|Zw||&G z>m#wB*Xmw8Jh?1?-XN$*XJ-`Vp{u?FNy>KutoL|&?B-bM_JysS_HzXfP>v72$d!u4 zil;jzg6rX%pj^9ZV@~QI*>XT8Gg-vczIbH~-A1nAm@4xJ-eZ*Lej~lOPsHYEV(tjp zj);y~s+QrtiLXo+M^r#|rp130FoP@sc7!?&l7GPk#eY)cfzCYl5$0-bW4E)#!9d<6 zmFf%0Sj0IOM^LR29nDR(+)C(rgEn`Y;%qn^Oeit`0Ko;gl%s(PCS0+@`GdK|Lo=j1 z!Q_u}=edk!pm@61QHFtv1A#ty1D^ycH5zR_6CCAfIllcx3g8#~QM|;fUYL(o!TF1- z0Yxo}0q@uSf!r0M@}~a)n57T0VD4O^Z5+L|4Q9raUGH;}650-it$<Gu;$BT>{K2cb zLkNf#o+_iGb@oOs+FlJ1;u0#O15jOZj#F;di00D!*NI#EwRovr01uUc<TrfuL`4?4 zq9sEv3><E*@h-J!^X62imAhig8%gBuAAq_66$em@G|dL%i*Vg>4=U8uH)ZtmD9T{Z za=>Y-qH0+45a}}+Fxvud1@ncgOsHEeMuo}3E4X)+)qj}ES>#P)@_wQc4fgdggz}v$ z`a%1Ksb!r!5T@SHau<>v5^dj85N^n@-F#aSU~5eX$FVkXE`kR*O1H?Ux=Ddr_3Z9& zDO=d;HOOI>=y;!3h(7{nhmvbIDCK@2#ofI{oMKGP21=Ll7Z&#&1yg;_$7=hI>0Tx? z9a^Ze(5wQX9S}sd$-~rnxr7b+Z}U75{NMEV0R>zDm(DWitoJM@N5ojh;ZHrrtD_Yz zq3hcS52vWK1B#ihaj0w#PI``}f`hp4CF63J;;vj(TIgOQZ~0-aN1y&!lI;raA@bB! z2&HHj@hVOnNR;LLwy%uoIOKqe2w0J0g4I_s6t@mvgsntk0owln1YYH0t-N%O*mQ=E z$geXH*;og3R@SmQ7}@|9t=22QF~)#%tCep7->H8W71VR!{-cm7uy&1RA(vNXz9$F- zf^hl>ogJ5Pcoj|=fkJaU!L5RTzxj^1lOYiEY|EC16nu{!p(!O33FR1hz}lbGv9E5p z`;=J5Pcgd8a2{dR(+O26c$S8-4$gZP#1MAP+(^JIwP*7bt7q{N4>xwR&OjZI@8LOS zwZO(QN}{=4oMJH(`i;;m=2Q%?0m%fu4-mZ>;uL^vPGc&kWLva7b2H|Z&bJ2KS`+mI za%ATp`7bvoCa)v;gh3ZOfAnE8FJa#wxYq3|+g(1cCKao5Nw?;1>g_tM1K0BgcA*+- zs?VugV6=WtoI&!KP8!42j$pe0ww95=dBQl0E*O-t{{Z1{aWFGlG0niskD8Z8?iWlk zY;sN%ubD**d5%4bol;9qC>~%K1z1?^j;d*TxsZj;C(dC2_zU*Jy{J#tQujMy^|*m( zD{urNbb-{nU~@7p@XUH6vAKy;EyW$v)VUd=6;bgr^C}n$+oIyR`+~0?rYQwh_r!2B z#vzPs%BA-eA)pir8tmy+cibeDD~^acYo{+9MN%{XkBqJjrkhx|!f-C*90dVf6=B0A zSE#fu0&nBQy0Bo)2ObGmVwG(@5Kya_S%9_Ma|mMz(bwV`9snrO8(Ur!vY3{mQ2u?) zD20~{9%GAbU~X9@PtT1((A$=uE@HJ6lniq7Fx)YqyoRw5w1TSjm^~xY`UOG6EP$;q z#>KlHAf!hE&!~!?Ux~_thr~dmRd=}b6d1=aeNb)nDpsn;uM+jD_o$YOW84g}?lLN! zd`$VYJ0--TIU%4mn~Q?+c$8MdB1*QLUmV6%x^EF9(BU3qif!bMQJ~Wmn!-N_YE&XW ziFCS2duIgfrd{+Zd$ztKUMpx=yo(cB?Ad642*-XMJR4W(i`{J&51dL_t)-qdx^a2j zb}FzOfkR%c_QU~R?h}Xj`6or4qOv!e^&4*hlDic-IEljwT)UbO_{<8$XmQsD-)zi5 zHI2Z}Uoc>oUBEP7Y{1P|3`JLbkP6<pf~+uPCKU|IIf3v?e8Ue@4MCUzS>|65m)P?M zVvcgAMnWb&k1$D0#ai)osE7@)(e{P<AkkfL#ZAq>xQj+{%oz^CWkDl%a8S9b%MZTc zl7L}&=Aaf9{K3jEy~YgUo}e0N@jRAf)JB=mTIMPnPH=u;4Id_lCLbeZ&3}LjHDP9E z`RIgKRkdD(6fJm;Q3EcaAlbf|cs(_x{$kK}bR7)LcbR`}65LUE%BNX#G9D!u9An~M zVyf((UWul;rbVcI)K8?*H`+a=XaZfUN6fL7vRCQuznObwx>S{QRBl~&ra)*|EyCDW zKMV?RF>?e$ugB=PV|a8mt3w1~MWHNtrjK(x;-b&a2n7>ZKa9r=vTTfXQOkLowf)M} zM`fQmShnk1!XW^<vxjj|SliKOQPxCQKJ^5E8_Rf?yl}H`#B#9Vlj1riMcksTR&F;2 zl}6$Cmk^0+nh^B~EvGy|pqJ9_Y6!(Koo<`JOV9}AGE@r6JU0~K!I(H&*!d-9(`2#H zzse=Zv=<$SC<UM!@$keh&ZJ%+hALH!os$0mEtWv4Y5xFukEmRSXL;d_Z8=#H(jRnf zQr(t!Efy>`B(p)$&_lPr7{g?ttyN!$N~u5|-XKw6J|k<?@E%y;s4!`OH-05H)}jE7 ztZvGKaWpq`Ca~NF$}ZxFZd!}=HKENx?f_C+t|ca$R{D(ns{kE&JwWISyFYj0r9e)~ z&#IQ-6fk|$A8@S;hkd}&hRko7hS3!R(ruLfA<S6hzR;OnQ&9mkmvZUH;#k>QtiWFS zm|vUBFdpKhTneZjBi3_o4>t&{kdRuo&B;f6#QTm29?+RH*_oeoF{Vr=aKB!m6Uk_~ zyN$_g;qeXx;IR5;RFo?~{SiV?*D6prYFj-Q#M~~rEkCGfr&0Jtbr$}C%f?>gnM9(@ zJyoi=ov_(!1zrCD+m-Kf)2}{m2c`xNZW?CN)E{$*))Z%<U&J`ZnG3t3Ek;k}ZXzQi zRl@hDG~whQfQnkv3Z!)>`I*11IzP3J1MGkwxfr0>@$SS_B-V$6Om2v#XyR-}tPY`H zejAimnmODEbLE&sS0o!2-eM?LyI=uyn5jdvkcb0^P#V;(Rymb=9tay2oIzmT#U+Ft z1$Hd)b0n^je`666xt2xrkefo9E}sz@6<Zr0Ov(baSei1HB*5~gr<ij_6~oCZY#lr! z+*UD1IZi)=>&y@!8-1Iv%}!E|O{INRGbslrb_#n%`Ie9>2}@X;S}h`ql)}kY5$n~* zq%x?ejdf$6Qnp}}(NlZ}s8`F}5VQ=nl#b7zQ5Cy-o5<pIM=@;X>KC@EEqT03#u{p+ zbXAd2F3awL*O`YEE1H2}pe>0P(_;CI3-dRUXi+DDK@N=Wka`S6;0>?7Q!o{Im$=vB zTOn(yVbKw8VkvU*0ha5Ejwr~`T<BMV7Tp|6WyugD%s?}W`jv&Ok80d!Ws4n#JX{hj zuRd8Gn(6wP@)K!qD#j>3DO`*~C}S>roc)WuXPPOPa4;488Kz+A&h$S}kA+YwI4O{| zFrA9d`nEq%xW0fx%S|6}tE7=4vK~Nqiqk99QvU$w)L=&f%pBeKDaut)%CQzLC70&^ z0C5IY*~lNZKQQ9aPJ==Wy#%oJp&kIV9*CGQyq(I!tSv>|IgfO`@{bn&X8i(|-?K3U zXtDeRObS_BdgfZm7l0QTaWX7wnQk|LK(OcJ>K++WKe;3Gf#v;*jtP$MA6AOA)lzfe zP^|fe!R?=^L=fdl_+T*RMTfI+MpbsoQF~ryD&8{HLCae*!*mI(<_(}L_Zb0ri{GhH z5vElt!aRuWiJ>9nS&9q4cL>-Tz6U!q;s>GC6^;0pz$$Z-^8zjjYxH;sp$<{CJTPk# z**b!cX-ayZ5Z}ClHIKNQYy_dEQSy!~F3)2znloQe*szmAGQ4d73*}v3mGg1bpdj&c z@AoM=N6JiU5umXv>KhiUK~{gp10wlgXkue3&gJSd^Dtev&A~Idr&7lM0GI)zPvUns z#G$v;wJ@QGop^2fK%Vo61st~M^9LCtV8iBNg)f6}3P807viQH^5JJ?`e}f+~!pKpO z^~1!$3nH3%r!U+_=b%K<rSS#;zMze@oMH?|IK&m&rqM(Vvrx!4dW%A284$@b*Pn5v zk2M7xx{oU4_=Z*S3<d0lcp>7q5?HK>z8J1{h$cc6P2<e6aeU#V$Mat>z<V=6w9YPE z_lN_fE5#6V@F=%Sy!}Puk#tw$BgjHa9hMNWo|MOhus&tP#u`(K482@bKxPo@3tt%X z5P+d<4=Y#B=2!#3p?p9V(>=jNvqLv6wf@95Xi~gbSJdRF-oU{{k@kQDK1?@(6d-nY zDE&5E`KpU-z|g|&z$#Z;4<u^k>39JGKZ65M19cadsb*?9JBP1u2Qej<{fxDWJcPO& z-s4jGdY(^tu=YEY9n%ur92k<zS<BjSDbZOp64+xw{R~eJbg%IxKMZ}yu*(Ti%A2QG z;yTNz{epg~IYU@@e2ya}j=-&aT(GZ2U%kV$&UJp7ZusJ#;w%Gmx9}jdAN{CE5CO~k zOoN_-p5jt$mZk8MFCGERZntxEhY^J-*6~^X`rmOv)_{w{w-KzqlHPCnhg^Wmv5td~ zsKwdoDJ71+jS=I>kti<7y7qm_;UKRn$S{_Ig)>gi_i#qSo<|G_4A+RIgc=XjqoQ<b zA!TI)a+@{(0M$qSLuLRtv=XdVRydC{zM~m1%UBIKwV10`7e|WCd1Ess06%p!+JhI} zvGhvk&M7?&U*=rhXRc)kQyGglXG;-Z0c-+Fr!6p3ZRTar4aX_E>MGUCBu&;v@@5pQ zn8YKTvl-`8Ex}$$3yNLl1bWi8)<JMCzF}l2lL{LxdJZKFis1IE$)Up<PgW!Xzzr{^ zV~mYg9R*u5^$*3#`NjY!drO0+sxJK1&QCL)m_uc#1YcpsH1gVtdzWStLe2Bs37sF6 z17+P>6$%TZbDIa-HK0dF>u<}<4AUUAz724DhIxp^v>swSt))5Vm|~r^t!q3+o<U>% ze`x}WsLG6q$dZCnM29UfP~_TS0wx7Qs(_9bQsOvB#*42pL<+@Kc_1V#$=|t$%OQKr zAQI-4PEWebFGRFzEmfE|FpE2>ObNmqmX)qxWY=P^kd+PruM(c2$?hHHHUkA@Pb?8B z%Tm=G>F|a1feLKR^Ql*p>I|`UUkO}PG9^iZEGTaJLbC?t9I*Eqjp<QJoYoKA_@klc z7=t6?g>UJoo}rB=*^*HW2K*DmdUa~pQj{98<dq-+?Hr%P*SXU69x_KLQ-jTaP%kNs z@>laRP>&@-rms1EVyvFZz<)8ZYbx5!)VecEwyeM%Y=$XL)MRhd_?Fa;Epq9x>JARE zRXP|`4p?{UTDSiI$_kZyB%#cE6)0cA8$_bM@43TFjeOz?J4!Kdb1qv_n2z{X?xU*O zy%R8W7u;Vvmb!>iK13s++}HR*JO-`L(%`FwFz^lJCID#LT*U!K>a!`^1i(zyTxmx+ zxmv?cAVs**yLrI~zC`sEE-_n=TH_iI%nSunRak!bJu=^;T~V{0CALMZNLZ~k^M~BG z?^YAlby1seGuYUuspdCfm1eJ$5xt5RUSuI%Sqt;b7&;+hDT`W6(v0e@QVqV+H$?4F zb<W4pEt6GD@DvH?c4`f#ubO8fLA6<Y-QsEYkcIU?zo|n_-DAKxy)n|H1xKug-R3() zD!dtQKLo&#YQd}dn*_x>R=*8?W|8RNHDMn*hy6rWBs`-IV6{p_RQMt3HVOmZQ5vn- z+7Mm97(OpihB(n9?^P(3aw<P^uICn3MeW$OAX0(gih_im$&z0(wE>KMO)(X)mGcN& zv!J>>qCuY|55#wk)LeVS5O~F>(+Pl#;>($-!oW3geZ???gnPh(4%xpJdq|<6rd>hK zYh{gQA`uH5x)Q~2Fi;&u(${^kE26rNhC#E0+znB9IkQtSEu+Q`i|mSdv93-?DTNUD zFJ!|(1h?an_rBm37(B-hokjwin>-#N!$oxTLB%<*WE@1qFq#o<Xs{}t=MC?0s;PQM z`GlA^8Vr^${{T(F1qB2$CZ;q=Tt){i5v5w<W?F_<tU<6Xv$^uPRbBgyU8sA5?gMhA z4n4;{&6o8muvq@3E#04<VlAC<14vpH9%JF^s5Zt!GQ4Ak1KryiMbN~2Qm|p$a|`5Q zR_okW-wx6w!B^{37dnMnIqGDi4eB-&;ipoJoI37X1`R%ASIXiW<58I(xnx$I%Yhdd zikg*!pwnI`f9vxv(*USm!>Z$mo;Y1lP$;x5aprNpi46z-#DIvdz;bj}{w2DJz!e@4 zx#?|3A5w{5lGL@k;w&)~1c%D|iGg%-bDzYwLc=RW6maNLqkN1^eZYt~$J`MNba1Es zKrwPZQy;mC5VD4Te~XBvTGg~)Dy_u^Ii7%Yo&m~5z6$2zia8)eS{>P%QGWWBJ#M|( ze&KNW=HQJSt<wIX@4Q7E`)*dGV7+{~gQ!&+VhqiKOo0<Hwgw^rRnjyufaJ-%Q%<1n z6cmp!>;u6SgeNhc0j<OZ(A=-6E3RBWbBWOS*`KKNC!T|eiMJaewNx%3T3y3zAK4W; zTYhB&9upxc;u$z4W-}7b!-|RYDbHVV;kW?f++O04d6|eAq>UE6grfXFAy%4zmr0t1 zp5aBA0*h5ELhB~MmNivW#fbr)L09|40VO^KXPL%08m|($+{vFLWEL7uLcU@Zh6-~l z4yXwg-^m8b)|rNpIhk`VWii~a0eH^1!_+QE)VEVYn;}g1*#WUeH#pw7mf(HjCA6Oq z{EHKbsU=z959E#(0MNRZ_(cPw^vV(hOUyNL?8Yf24=0t-N>jRA0O?4P*=s*T_cMlJ zO+C@q%oZMAov=Yj<0Qz<%Vx1jb*e1<#?p^G%m>`C1Fm9IeAh8-An$V{e2|uwD}vYo zKns*nlLj9#PZSMYu1#ff?0%v;RXbKNc7u;`<nIN;tLO@zApNf5;%GFx#l}SnGMgvc zgMxLpo!21p<T^DvZwR54?H$K3P3@qTt+&{Z<{?@vSAHf|4B9h${{WG!!Oq?|PMyd2 zsV>?#?hxGNkJIPJ)G`HSg|?U6X3C)t)UbsM4uXh#OmP;=9R^ZcB)BMEpCmhNbAZ-y z5tIg_HJONq?kX2f0!vx}st4``U0#FgTT|6Au|#-C!hrECWgD2!rdbeL017bKG%nsr zdf*Bz48KzO*@oY^mn{o#h-@mbgrJzRJTo;Y+#RBn9<u`;fy}wle^6EmR$ePUVW`#< z=4_^A-LXpdDR8nCbp1+jXjy^cZA!Xh8Z|2hCW?TluS@y-z*R`m(30DPz`*5TNKH`f zM>5mcuzl$~Ga@Sr*}^i=3UTS~P?!pPQ@DV4@EKd<Y^MWb;f4U87K%f~KZ&4<uE&SO zy~SiO{2)!hfc%15n$-${u0t@>RRAJhwVRwauH_L^Hp-l6w`^=h?SpY}u<i(2P|Wxi z*;U20Xgpj690_@UP*z%kHrAk=(OqfAc!+=(3~AAGsc(}q)D-k!3w{PY7mAL$lFA>s zWp-31Du;2q8V77D!L7;<9nIaQAjlMR3k>MuJl)3QX$~QT2)%(GjG30Mag??zTcD#m zc!h-!S&$DbJgwZvF6x6#hpULi7zHUx_GbS8CO9ISc5+Z$c675H014%joXs4@k_~J; ze=ttc@T){+%;5F7&7j#%8r)5-$k^{cDH!A-Zn&q+P>@2(ss);02^^(bwGuV35lpC2 zmpATOK^^W{SNrz{+FOs*<R+K09cx@U(EL^t32l_A-F(6=_Dv8<2yt6(GP7u0&2BO` z<x#<nWTG1E83C`hTsZV%Ak7eGd@&LlwLl~<INb6A2R%VyWiarO-nl`ASp0tCEGSi( zB_NcX@*~+@!@L*=KQV`PIVGy?5Y$US?X6i~xHJVAyxCqLns)`EZN*K`GQ<EhrT{Hk zP=o=eL_{ttUTc}Xy=5)T_<*A&^ZJH9IvwBsO!pnl<bn_^UDAFKU8ZL=#<I_7ugT&T zpvAOV$hkG$LIsPD;SrT%Gk!>bYSx()wzG$`vd=Q{LY8P5#4{i^u(G#Y3O*s<D1*dB z;qXAB?mdyNF{C66I**)6wzz?L`I!-f4~cNgsgBsW_6HKR8eOam!p!Rs!We52dOl|d z4Q^J=87`8eD{kTh%E&1?NIZH5+iZN#2<xPwY*#)dR>56L;8|>?AeAiF5z%#B6B6y2 z#3*HA1fi*^3?j*jxQ?%Li=qXNYs{z(rde57EWrN&Bz9FVBvsYe`Hc*Xi$yDZ6~N{f zj;rZvjWAW-s^LJ9%JrNEb{70cny^i<Y5=w(_3i@R2xTW#+8&4zIf@v*ys@ohuK`#+ z!`0=IkD_EK0TFI3+%jA8XdOgAa#zJ)^Z1#@3FVo-l@$SXeeGqAABMm_0C&qZA)9i% z-=5{DT&>;8q1l)?1I9p5j|kK83e}`kS%<<?^C(ZG=q2g62yeZ&{6Rf&6#c|OTRA>r z^oMjG9K~dV0RE)3;M;^yDU&1IH?5WwF$0Esfg2DD`jpkBwDGtGZ9%U`m~aO?S=XcZ zj1b=98H7W~5oi%>e8H&$aF787c!H(S;3)~8k_Q08?&7f5b8twZ`Iak3*HaD2&_Fpn z$3m-cs*THBGL<$^s#`8<7`-uXXl&l#hHY=memVxJPG4ah^<(4%7Mu|9!DMF^w)##! zV)5YV@f({Gx7l1u$?L$sQOpZ!)e7DBFvVgA^&K%b^gKn7YPN^tv3QnyDw<9Y{Aq$I z5|FZ<PZ@)lMQI_zJdAm6$S>g?z;1VMwH+QaFaYJ4<QHENV}s@ukwuqtHkDnl@P)21 z4C4WL+(dsw4Nx<Rg*mmwMpr=bsMG4XRJ6rL_#l?;yWQW3MVpV95?buyDqHI2&9rqD zAzq-?n_&gPdWQ;LM&?>o70eEdODLneop`f1xtXW#T)b2R;Svi`nO>sU&I8%T`t)1s za*-u~4r~eSs4g!TlSt6}1I%-8K$ubFLfhXlateg3sM|+aIfw?h(=-O{XXZCco<g=< zZ&3}X16frRG<PeCf^vgZy>;jH3aY3kNO*q}XyXd60l_uwZLZDR_z9_F;1byAjtc(( zM=)4mom9I18G0rX!mj)T&kCa~Zk8gk2HQ$J!1za!4AJseWt~OJ_Dg$sg(|3)A1-19 zLt%sdWgyG9aaDO%Tv!>nO;=0?8&R;-4TH*pW(r$PK44gIv^31<@QqO}!v)g}+zpC~ z*xU-LY8h{+Q${iK)CGjL?>fXX3>y#J5VH(~<#i|;l7;}3Kx@B+!u;Ib$;A}H{tu|= z*lTsUU?omM1+7x|%%N-t8<c`-@@0>~aH%UXgDpemQn%t}2(yl(kZ!RR8>^&x7}Ro> z(ep>#Qo33<<^Cc`7Y8=D_<}T~+fQ-HVKDOm1t_81DVA`UNWI%rvHchYKWeFzkhNzp zK)IUQe_s#^%n8<yVSVd}{zFk*K05G2E?1R>FgR9E46?gIO9M!6#^-?^gu`p77%;F{ zwV1KCt=&{nf)y7~TbE#4gBk(KMm3m*BN!Jh6tG;cKJzT*N*v1AuLvhGoq>N)*nBCt z!(o(8B}%zr(%Q_@#1#c^nQAM{D_Lz~FB!IAmS4bttY^%58K+XaHo=DP)B-}ayMnM6 z#wI}Bz40gjy7vIx`^>5?(aCt$rF?`1n*a`;S3wTA$m7U43a>JU>x`y}(}tfuW860+ zWMPrEu@8EXoWMKEt7y<}0lOm7&<q@VSz-6hR6m*n<HRCN7P*cx$_8Gsg=goejfPOx zZ^uq%t%V0|uO40T3-36k%e#LhJ6raw3H;_7);>!grXRr@yqdwxSC=Xq78O@eZ)Wmf zrqk@O*&utoM%cV|L5%6K=2V8<nl<H^nu8kmLi`QI$`qpd^GI*Rd!}?(rH`1^HK$|j zZG-1+>OT>i>!OGQrKRorjd5d^ugpbL7eeIlT(*kk{YYr))m|r<eZo>W{{R9o8@z^H z^Kzjppf0?@5r+7Cm4Xd{wh&|jqQ|&QuyT1P0@0DjxOvt@?BBU|90`DIia?Q&RNsOj ziLzn|zW9h1*y;%jyVSQrNaStyz@c<Jk%jj7I+ihwSsbk+q0XKF%NCIen>4<wZ_E+h zP6Dg9<b>@uD0OfQmN1bq2PnLB#hk8B2G88QO5vy!t2g3aiWFhKGZjP|Y(a`Z@Zd`_ zQpJ@Ft74_D`Mw##aG5$^H2xsTd0H<PB_a6cG(t$y^Sig@#$cGL=zMvIG8O6+XgtA| zVT)?|`UtpitH{quaKhlBLC8}1m)7_TZ*ZaUp;6X5mTCpWVR3kje=||&qGI(j7X1qT zA-r6no(h5aovaIP3Iu4(92tmAg{mRJc?^q!Fx&~m8F5C!JQH0*Eq4}hLb2u|fmg#C zSj*JLY$>T@)?Oo{_>Fw|%yqU9#rD1mKNB(C&=U#Z(Vl$D?^R*XK~PahYg&wg;NtF9 zKPr+4t<VA0z-Xj9*=Jm<#3>5eSjd9&Su?9UgLTCARR_P%h`WUwXij0g5F9RnkDcr? z_&wduV{;V#9c?4F!E$cQ%~FX6S!FJ;T)tpTO1sAu6-U};7H+g>@Wl~i(`EFRIH>4r z7ku*t_%*z709~~et^;P^sTxh(M=|(9@fD|0K&JF)u7US67ofy^soZ1D)(k#l0cXj6 zmSD7m^!XWxz`Jw(`GkeHK+on?tJW1C#7BgyB>ZdfDK9!_@h>c8G1LYj1u<|yrKKnP znVDfeUcAdP89*&nUpzo&R`iubp;==o5maIRC5{%uTyjH~lk#(eEvB{G=(;X$F-PVJ zc4rk2qcQ+Gq=E}s)UX#!5{W5X#|(j(l~C2y$3u!^m&($ciCheRT#0#yW9D^%0L_ip zB)Ra><|PVR8FJsMBdJt0A9TG%2E5-S6AxrEMg(J|{%#nz2)=!cv#f1f{>gR89Vajg z?Ip|J4c>7dwi_HPr{pGM6^gG**YOFr7ISaGtFz_+wMlv{Ob6#(Fj9)}%BpBeV=cqD z*t-=xl=_dT5Lr-ieXyO#+iCqoZH1&4>IM{s1&uJ6G5MOoLP}JPD08@F&V9hPDvL|Y z5owx(mwcmKtQS*ymw0EL`-<T2#3;6mEC`Y4DUU(T#gMr&>$2XW0eGjF?M$@w5^G0} z6f%_|>}6jdO9^T#oK~|DHWO5A<kw(4LjM2~s<Ve%@h_!29$n0hZN~&4r?e1N7e+;{ zrD;Q(G8B2Q5fOgT$SrLtP2xB!fgLSyd{^8kC!ZpgzX$ForXF_hwUmg^U1cb#*(-vv zhY$NLlmdlqV_DC{V*K@TZ1;#BOPUqV6|BNS0+>Lnu9|@82_b2!dT4%Ne2XH(kasUr zfy5SUz4a&*i`YWBG+rFWGeuau{Xj?!xKnY^Wx;8uOE~<cVf?{RP820O&+cL9XKX;5 z7o0IFT!-ALIai3FaODiPQ|==xOq_Ti&|n2_Vupp^Xq(~^g)BTehhhsvv~m9cYHBH> z*K<`&o+I&pWHqd_(T2;nSD3VgA`jB#^82_CGR4OX2hLxKbEp=cD3fmwR6m_W>_uH8 z@{_Xw6cV_qG<{VUd5;T>N_ljpqgUtDtd&Tr!PE;$vERj?P(+O&Yo7z)KBYrdVDeo* zU*A%xfJpiU##B8V(f<IDc;Ntf_YNUwU^TA1B@6D5Q(QlC)nG{t>g*Sby*)t4v|W4k zFOsUH#a}Y%h*-+agU@p=6f~v3`?w{9wJ<iPyhijbTd#^~fo5Y$!l20^Wl9heg9Iw_ zQQHA`VU0zc%Krf1v7eZcB{w0*oE9RqJWDtsk@z!E1|go{R!o|x>WnpX%9V7kaVqMn zoA}fZAg64)#z&$GpsQ}70Sk1u8qURegw&5mQ9!KU5n19YyDp=zGt5-mbj&@dYbLd@ zNFcxhi@*`!f|M^Hmx{%qYWjecp}JhFRWtC`7!qUP0d(_i^@!R&1r@qkYxI|EA_}K; z52)Fjy+E&9ej*mxi&nQ^gW_T^A@_&WW*Qm|7>~nJ&+k&s=nhyHSvM5{cB>}<+cc4S zkTI}Ug83KfXs$hDlkO|IX<Oy48Ad>}BJp205M;CRFU%PkUTzJZJUU2v7lIQS6C`xi zdJ&J9LM&Hc*<K(tEG>=rhAMU_c&LS85c*04TF5&k4x+PZlT$px4Q4uNiSE6^uS^kw z05mzwQfuUDsw?IflFQ;-ZO9by^)OPbh_Z+{n#0I(anLh9qvGRO<|4jUDpM|-fZevm zNncAWLwg0eX+gruw_{l%dN;5U(%RmOx`~(<G3g+O-Ie=eX8>S%O8l~_qYG}t&+7i= z1wMlR0COR>zWbO!(SswQ`u=5ZK^@*sA@P;~S{k063U9E8>JXCe>_@mMO6~n>2SW2! z&kU{3?zn!T$y;lH>SbHa;hc1{P5g$%Nc7XsF`H3Ts|XJ(Hts!Pn4oOTM^k(u9ytcH zDQfpK2nII_0;nUHZNhNOgc-Wtk_rYxQqKu*#A3@!C-?ji#I_KP0QZIn5YD9<g+?2m zS0o5A^1GEDK=xEoVNW-80A}pebTg;nh=AsdYFJU;8I`D8m<o4hz<ZWhFsg*Ble@rs zKd7^A=v2pmGE}@Bx+NFTd+|y(-f8WvOeAf=i*j#jJEJ>}Z(1@;JF3UMR9x%@y(RX@ zV)%ygVQW=tVw5F$K?bmnzh4shB;7H(AAiJYEmNVnX|=PEIK#S%rX)HJPvRYfMHZ1& z%U47{LevU?6n3C-;}EVc42qy)2z-k%^N+b#!@$3OVAN18%nh)Wn5OREzr;&yjK!cR zqn_YsFo!7;8EmTJP!)2HFXm9eD{cwHOa*>!WuB3|_OXvMS<C`To*tq^^Jh@BTDMTa zZ=o!+e&RR-FNKz%JPgXV`N|-vlc;s81>M4VWx%;370d22_i`2sQC2XdcHUw&i+Grp z6rG>@E~5K_7kZVGb;MPzZ4;WAdYCtx$B0&%N;;~<A*`)eP!%ApY~$)!y8)iF6e}n* ziK*iNZl={3x^V!C8CigGL}Y5Apx4nI55;s|BQIrH%f!%AE)&;XO1j5}4)a|<F~;;Q z+T`^%7j#F43|m-^UaOKJT4;9be5AN?q%%eE<j>qTumEYN$2*GvTpU0w+ePxq7PP_( zsY3gW0dD|>!{?d0Qu7?Eo39gx?G<jlM$j6)$FSZ@#vcr-7rfR7A&HvQ+NeHgiru2@ z)kUbkQt%B6UVQE~@U~^GyOhLbORL4itx@ZJgb0p8^2O2+%?ts=Am~`m9ZE-F0@d>~ z3Cyw9SZ^EtBZ@99Cza2LY$R^nFl%6=;v5G+Rb6!1Qu5<hGTMCLHn}R??2PTQK(r${ zXux4=p>+*D`%xRKKHxe=$5B^7;O6rb##$q4<-|95<fk3~020W$snH=FBT|J>3pJDT z6Tk|oY@1~hOEeUL{YSGhjzJxc_uR_jhE>q`PqI>7Md8sMa*4q%a<Jp6a3Hlu6~A$+ zWd8FmJS;JVTHHepR`bk64`7RUs~J&q02b#$a_N+_;$tFKZ4ip3+AN?EfL~P#X7??z zp4gzaoC<FY%Q07X;xZS_2+G4xv4Mx;zGgi&rk?|tqW03}HrIcMSOUJ|pdQtz&F|6- zA29Z|msgpbq_^TN(N!=uVjUB4z)a}hijFZ>1vqVzEcFWKUL)IOsP;=3X>C?ixCp(F zS6?5C2>6NQ8M8xA{!L&Y<gO(f>Uy`2)N?|FcdCyfgPYLb>H^eCJRCmp7y_6uX9f6g zaAgioUqg~yjr3Xcd`eBYX$K+X?iP+D)pUQk-$zN|8q1%Z%{9j*Ro#czxPCRkv=nHz z%Q+$kM)pDrHk`n^@vAke{{ZEQcqL%N;wONXZqJEJS$WhgxpW^f%2R4;GgCk!b(Rzm zjq?|v6M3j6Xq<^qmEoBvac~+H>Zc-tm4>%Kok0i8KwlN7m}p(vBGr;%C$qRf^;Fw^ zCk(PLugCj0hl`Y?EQ8@d>SK}AI6<P*Jnu4%vgSkqyQ}XF`O}*h3IeKH2U;d$BYF&i zjgPhlcKy0~y@l7;QIs4^VWhvIh)*HcVBgFVfq-Lz>6v68UJK{qqZG@VYKB%zVCbFD za8*MhXL57;587XhG6vvN<Z$y51R<?}$H6ss0QD9yj%_ngRunNVRI{`InZxCkV!%NV zGQ<LzHj!?(m$`{qIq@y&%Rpf<Q^IZY8*MVS{-q9~(r%%FAZJqB=#&;b#Cpd1mx~K% zmi*%O5LL@i;RIN;)ftNfEWTr+7{S74Nb^{YV?!3IIH(Z+04Fd&$>}obtrF0VW$rmT zkA$%8iDgp;l~bu`2(+zALxc_8;w1<rZ{jWVQhd}EaDg217__()9zwq(EwomL&yTnk zQMlb<=kW)eIa$9liS{n3TtaJo0MdT$H3-1FqrVO%F*Os{b0k~T)06Rt3oDiAP9+%0 zbl?6Z01HL)S|!UdAU>$*Y^DICVA7Pa%e~##n5<G&q1xVv_6oow&|V$GX!tU_kHRd} zpbJkaqWFNWu`5Robjx}mp{xul7qT1ycjL}F4+r1~TNYb!+9e$qrZD^jWvlgWX0o{k zAGpPGR44nCG*!r2fU}WSE(t(<GQE4-sduWqRSm_ffJ=>d>e7w0;D9@DH;ya4{8IAZ zta$Z6S+lrSW1NAieYHT0aBa6in443w#&k2wY23-E>RpN83cancYly30dpNbbD1u3{ zFqO}>y7hNb{sAKe=-p5SuQzwZHE*3;ezh^HL{>j*)U6yqcTEHFF$-d^D|`63z3Qgd zXPb$ea8*`7d`n4Mu^IKcqRS$8h?3nkg*I5N15Eo%g!n=WJF9*mY96j#q2P)aBJcQ& zK}CZ7t|wg{rA2_~d4lTJZ{}h*12q;CWdkaMV80~Q5RN0=tFiSnw71z1t}cVP?JnI+ zK~aa`h@e^ul^9+O4gO&<HIrv8c+EilwYPZA0vaGVSs6fF9!SDv_XSIBxZx~S(-3TD z)KKfFV@e?jlu8=<f+jZ%eD?qgTh!7M5k#6@Ks*L{fDyw`+TC6lkhZvMSe)TNTdhEP zeG;~CAo05XC3FaY{e3_#l?!u+65%YUU06wdT7G5Y0L87x51d5;8syL^dh~rn801>; z<~Ctu2ONa3vw}Tl&%~|V0Ree=s(^@W$^Ep!1}!Is@9XM25VF;>r}qMBWw-{=tG)Ix z`P@63iCmpKFXAD1tClgeC>S=%C|JlZCL{BJ$pQ!WFzC1gOU@(k0;9eM+;cZ2b>a{e znM)fvpA1YCa7JjC!M{XdsCEbiHuy_#Jot-l=b}C@W+fCZ)3m1t2y$x5x2bkzH#}y6 z?v^0;V-4gj%cT`N2aKuZQd1g)8zFO4yLD`0A`wcIyK9R(hXr%XN->iwVOMc;R74&w zKu&KiBg%+g1>7$PoOKfjjX+&#b$s`Tgq&)vvw2;52n%o$wQ4ose>}icNG&dm{{V>g z09p;jM>WkcqnE8f8XF4G0M|I*wqIQuRp~?1X>z+~G;=lc2bK+LzJ3+A+u5jgusBBI z_P?JKlL<!JyZL}HJg@@@SBzQ=J~_O~$sd6_5cn`}iZHpLF17s4fH*fOcbD!w5azj< z{+zcG;*zZ@z)`aaIj{Sc^bK_o2+S4Fs3k25Wd6`?H3H|N{{S;cHt-hK@c~c(s=i=f zsa-3#uhglKPC}_ReZdUlk&XjL5Q3qJ&UA=pdu|5?i|XSFX~|*;VS<(r0EN;&k=)w` z#pY8B*zW0s2q^J$GBKUr;3bJ^nw)X`Mpmd;eNB&BM&-AsWHjILC|WrqjU;|9nw{7D zfX0Oo<cVj=WJ_ytJPld-iS%fwgH+e>A2O!1Bi)<vQ9yRJ&IkDX%yy}uJbBzl;w-9b z%gz|~!iYMh-{v3%N`E!`md=`*Q8MSTzi@t8!J(w5Ri;?4P^(rk_XF(1!LM#0Tn&q# zw9$FDU%_$N>Rpj!{{XPD{^AX2ijNSy__zcrsN5-a9Yz6U!zh7D3T}Q-D61XDAm4<) z3i+tn5Y$CWOgI?(Pcd+1;o3X@0J8gG{9#uQN<}x&56Nu9nw9wK!UlqHFWykd2sjy3 zY_c=Amf_J~7&LJiNoodj9X5FdJ(9{-hBtDQMr9m_N05e@s{pQ*Z@A)JQzpvMWGx46 zO=cE(g-Qcpu6Hp^<5VL$<MxCiNwE^-IimieElH_p0AH|$3*f#5_yYXP#jkCL5pGmX z3ve0ogicHdI$@v38resXgIrk<$kv}9nAZTn(2vsnOo^NVtc3SNQ8K8O)3Bch<bW#B zS`HBK-`q`g1UM9b4JFZ2)WkFO9hDAZY&+C3YVO^_jVWp|PE=k5Wb{@mh!pcy_i%eS z)FPX@(*6-q5p7!qiWSVntL-s1*#Q7+vf$B<;BE?`!~s+4XL^*?QfZ7<s?qE*>Jkv( zGuX#I;cyTws!Yb5HQ<QMo>1afys>$XflxWFVGCw#08lzDKu{{%W~vVWU7N(Fi(Z^d zM1>maBjeP-yl2WNj@-nsRr{F`EvUm3Q)Zx1B@coX;sqm!1YGMxRyj!WDf=UB5mx%! z^&h6UrzhrG$%Rt`%Kjzqm9)rmf4Z5aU{JpV1%}8iqR{?gGgn&GL1}6|Yp;*)RMy&X zHhVTPem@j3eJ-A|M5ZE`HECFY=8$hCRWg`KV&i4{Tl<+CMBFbU+<R<>;>z%<Rn$^S zU1l<nCLUrLxu!P@xmlUNxny18%mB9mx)^9%pA%88RaaPHcN;hlh7Oh-zeEE}ZOcQ; zfypY!tL2JPip(W$m#NHc)PdO!0Cd=he8*q>prJa|WmPZ(X0W~D<3YM0S#z9LeD?=M z9wIrVm1aK>B)*)<wP|hRJ|(6Y3sM648!yerV7>q@M_tn=O-lq2fncSeC|^$E08w2G z%=ouD#8t*T0lHwvnA--POCW2%25~KvFTvqHFoKax*aZNU%WsO0$`#Gna{HRkaZz4B z0Z<XXP6f8d9P(nq3D&<+@;3GoXx4ammL^<gLuXWuV59}X0563fxmczVY8F$x9~Cpe zMOCq9jLRILlyl8~Zdr<|DFtZ4M@urCU1C*KyEbYoP&`1>WwRw>#UHq=y9Xnj#MO}{ z=2Ix*AQp3oRa#FBBBwkj62?_qy-K>J+sQ0iA$TGR6?l7N)!^MX15g@A_Z^)olZYXx z@JCHUiU5q6k)^njEHUC!K?S9E1<Vr>vgXHkWEoS1We}>DnO2bx2BK2UbIe?0ka>zo z(Wmh*4wXc)3x{b{39m)!U4SdW9IBXX0j>N+5}Z{Kt0MFs<t(8S4)6E5iFHKXtwn{@ zjFuKgwY1O~cX;swNQy0Fq5G*qmB<?%N)i@BvhVnnWKa<0x75lya~$1N?9@gx<}D0s z+<vl$I5AHTUgcqstQ!_^oRD*2YOzg6NZmQRhPt>KtbsIu$LIGmFqHC{dT3|dcWEuM zUA(wq*L8?AD-4sLf?W*3p%C=K$Wzmayl<&!2CJwGIrRl$k5D|cL=QgdC@*a?!UfT< zFeeh&l)wSvJQ?#5wZSRL{{Z96yJ6-dB~UV~r}AFk=i|D8;xyvQt^p}FRp>j{wo-^w zWr;IonHR~p41cxoo-cRfm9~d&8T4B0Wc!0xZYo1c0^{c~A}Dg(eULTWE+CCb3ZDuw zI2LFx1(bR9ErFZK7LS#)>JXr-HvpkuP=$5QG+rafXxEX<c_1AhgkiLcZdIXis<tG^ zh9E4ff7^q>WIPs+;J+~$qb#FG;lb3YYi+v*4WVXgu@ThJk*0^Q?H_hp(Ljmr6j&oc z^O!<z`3JtDs#@0!8ZPld^(aAS1XfTb<H}NlYaMP}z+HHSp>0Ho7;5z^^c=E)=2AtS zD%%F7+rRNP-|PxKLG9PPTBe`!>KzumGZUat#f+V}M06=dU#K|O%#kQkd4^`Y?mE6u z++{w&2Xd^iRHWlkg$OzrR{?$|eHhHWI70Y@4TI4t0rJKc3DiLIyka|Ih&r`aSqmVZ z%)-HjKn91~{LA*L{{RW}Oauh6y3%}0ZZo0XWPcF1GZb>)IDj++dn`U~I}tMF-hY`< z@triSC)qMA>Tp&L*zi}dp)DS)S1QU3?O9d=&L0uSMlF!JJUEvmh{;*8?04>El%$~K zwq+-pU<6|NFh=7U3%X-&z9o_>UDBFI{=^_L#1E@bV(L)5ASan*3a3yhjFRTB-AC9U z%7`fODS3&Z$IPmhmE&+J&O=@x1B3;-nm5d*ntaV1WK5s_TShLX{6qj+xF#x6*bdpv za7sxlVf|y?A|GWm-du6adp0cIDt3?fir|RYCTrE;pgO&fTw<H5*7k1}OeJfkX+?W= z0btmnjbQU%=2a=E5)5+Fmz#{C7yw;?-6H09D4-{SX<GTHjm4r+HDK+!?xNN(coe}y z8WAdu0B&z4MRsux!g6^E^BG3iC6Wu;{{S%~W1we1`Douz&S9XsHhX^+GYeI$AU<yY z01=mHY*G$Ii-S;)6KgaL1I1SQj;}8ytVQadm_-n%I^WJX?q!V&ajzcWKzG_Bq;G-^ zmz-7ELbCx^#Xwfim}9ffpjCOKAY8C&r5zQ#Bq3o-&X84tsBP%~0C6b!Ew%8#O$Gd; zGN6#QZK#5ng0!w#t@<&eKIbuGAyd^eC*0XaEu#9AUfB}{RK7tJTgWf}09@%2v#9(7 zWFWAZR}&voYMBDEQT)Wx9aTg+E0zQe0#XPA-0TZEhUh^ig+ua?v<8qo7~-Eo0AWPF z4~!rxFhdk)UvRFJ7eNL$nN~OpZAwd)JD3Nj{g0l2z^0x*FpMY!#_-=C_8}-XJ7@Tp zatMPM0R<CwwY0gux26^-%3Ow6@~Zqq0X7PvX{`57cfH1zm01+%{8W2GfE*b9p;a*n zG7WS4_bB1BS<932_>RDz974Wj**?`m^bNj0QBvJBY1>@$0^JDLq7?+m7S_nP7N0On zJd=og%*ADZ66Mu-n?|)cN!K3g3jD62Yu|F+`AlqNU{q<#@f&!7>|P7c>Hxx@NWsUr zupWfA@Ly}!m{8q1ZKe7x_ZSMS1rd#4hVltXL<2>N$9a@63(Tme%+ECyS+WNYBNxn1 zI>e<8`Dbo%2_`A3PO9BKRVx_m8<Ki#KKYi9D+&VITqtt;hzjaKy@Lh;YV(;`(8*{m z#2`Y$@`^f*4lS7?lL&t{zUFLGPN7W{W$W`4Qt%iyyJd_Pq$r}EU+QB)P~;`zSR3*l zj-%6L8C=JpTKPd#;gMJ>x(t0r^pXwt&o+MGD7Cp=mIgwa5GpUi{{V4p<l<#5-F(X5 z3lDPdBTV;kG%1F)6je^q+Zx*`vfEyvp=AY&uyh<A;DBhYlP_?qa{;Py8>wB{O*&>= zlmY5$kmY;1O1f(9V@`pR)6_I5aBlu4G^1>53DPTS)d>qBkp%4QfeO7H%K#HPh`L^c zsyu1Aohq0g+;FEZYBPcWW<C)Txm=0(A|C+-O3?+C#qPZkQ3X`;l$i}3Uzt+rTkxpo z<M#-s2KiUt>J$><gDcd|C_@Ip7uKbKqm#0rx`K<G-cQpRk$sWD_fe?i1tUbG_ZS63 zNL}SwcTHqFfnIbxIW~%)3}l6}6-pfXO8Aww!nbD7=kpzB4Ko1+K0i<zHk-FB<8`7M zK)F;={{H~6g4sck@3npV+$e>-#`=lKiU$lWz=RJsc1**Yf|G?gfDK|AMX7SHd8QO8 z;uJ5qYhy*UYFZIgZewPlYVb=rY8SXo62O-Eyhs6-0#K}SSDs_$N^!lBJQul=cyBdY zb&r^=E7F`6^ezgOd;n0O4nLSOAE37|t^TELjlfW|_?9q5V1sWG^#bC8zONyR-fCXZ zzyL4}wy(r+@U$R=URU@*Sb|`bGUl&)u94$K12aR-e(+Y#y~VM{6@xKEjMNJY{$jA4 zkhd`KRc0W2sJOs70_Mo>D&TWiYVX9gpj2htXu^sxT`#^TIub(H1s{n-)3{44Ug87R z6?xm8KN9xqg53dT!e1&xK&&a(I%~wF8VYW(;wsy?=|~!Hv~>gPsCG9+ixjr8_XJoE zFc<}|H<(mx+lU+zvxp!CGQFj1^%&u8v2}@jp#ajZ@WgVlY_$lp<8SU1F2cbACozU1 z1A<}deGI<i2wRIWQo^8iM^SNda}i}ah}m{Hr~xgl)xvy(GLBcsh=n44V7F{<5T1f9 zK_C`mFh0NxYTzuDzmg_(6)iG5=CK(Lf&CeDUgjSd4ugt_`9urxd4>{zVgCOBR8TNz ztN^(Dun0(ORk*)sO12akdJi(P2vX<4U46=`?+4*mUS<S>y|^E`l`eP_0$F}Hai5K6 z4xW|#Kz(f@S#QX49Yz9gBC@M|UH!s&<OvCD`IWFkysuw~3kDZZe{m%M<v`MS5GAoU z7()h@lzX|I%I>oZ`OYjXv*M-o@dA?SepzMbxYLeMsy3WJ(y``M!(q4xV;aQ4o;3`6 z<{%DJ#6QgByy66FCIbE<6;)Rf!1k&3cQ1$pfLWs2ybz=*0fcb9Tw|9$2PD>&Q4X4O z8&W{xJ?ri6;T8@RUtz%dBViw8uH~Qw=pJl@e(hjDg1Q<>N4T}QZOmi`;#wuv*<S*8 zj-~C)JHWUy+UUPC2mC9Paasy8-Ld`rE2|_H*E&qLEuzNaO79;!fGKzuL`vSOyu#c= zE5sF)4V~*B%m=$huH@#warSCB&0Cktejt}LiS%!uh_z$JJQ4lOA7#1~dAKtg4^bg( z#j9lyExlekxFRivAz;HxtNNCCZncw<`zhv_8nEbr1*MUo6}If4so3U)oYnsTa1@Cb zuW>?WJTP&%3BqOMBQ3$sVx}lq^g&=+#XUoz3#zDG^E;JWCbHD2%`RO;+U|0;9b+vI zB)fq11a!H1W_%HVLP4XWnWG9Ry0zellL>%fjsUC`FcNOfAE^5XwW|vM09*$Ei?0yU z{0uBD4B`L_UUI|>P<0h)k232)Tk0a4E#?*6S<DqH4yqkKAX^SgV!Yj_EgB_V6&Moo z6&<}SYx2T0U1@o`uhRzrbQ@M3zQMMEEq{pWBogtT=*o62#Q`k)r{)(8=y%JM%Ggk9 zcCA6PwTt@4(;Nnh$Mc`eQuGs5b+e8lFbrEmbn%cqK(Lz?4^-nfSndp4EJjB6yuX`) zimYz7`ChnVJ*B$qmwzz$bRZevk1-K6SYB$r-^9eIoh)kKvp!%8K-O_8s>T}>m{Jx4 zXvFd*)1xEQzY2UsOAN3Kb|8)C?rFL_Oaj-WvH&rG0Z<g=VCp-vg6=BAF)tc(6ysg^ zwUuT8D-}y(;?7)>o&}yEfE+Gsk~!8LTzY~cuvkXZ&9JpsEgJnm8beW{?|d#S)CHv< zv5WTU&ld;r=uV#0crR?Bt(YO4RTzEB%z=bK^}W091T9SG#leGLBuqfO#v)uQ6uI&Y z!NW9)-wkE%J_czRv8|D~=M1367n6r_s5+ZvwXDHPSXo(Fq{qY{Rlu9FDA>i6{{SCx zNkWm48miyKMkp}5X&&OFZ8wL(xt5B)A0^ay5I05-SVbVElreRK9}?AY<8Bsx(c)7i zA~fj%-V**{QBknEtDXX}(Jy9!Tfh${D*3pXgtCZK2`_xi#SjZy%wz6Jk=&-Q>VtpY z<DrYi9K~F#IJnDKFGQuSubE_D4Ai>R4bc*XSHOmp3t<S0k(^u*p!VhwrKc@Nx`=el zKw&v3gO!*KZZ&1_0hmA@rFL0y1k@P!NHo@C09!J4OQ+*?D^NBry~F_D%)!tD%&{SA zxFR%Qb1oR7$Ed+na+tT(6UoZ=xFYAVIy@4w@O79wd*vC4!qOORfAU<EZ^xKs0ws?C z{{YFD?i9t*L{>Whw;IRch;0qPcg#(UOET7fxky7uzo^VNek;$9xwdwMD4D=E6mFQd z;1)t5&2rzEn@i9IDBxvP+{<PZiZnk^xFDe7(BsT8K_Pi71%4sKq8`f8@rbN)HDY#+ zj*%w$Yi2srY2F_hgLAZsKbXd@VzY6nN(@uPr{7YM_8mlQ<b*=LyuzU44>II1vjVXd zbqX5l2--40h+PmlKM+-Lm3ZvBC7=?{J&JEwG+ZyAI~r_@WLtm$WtmE|;;B=X;}|wK zJw1lCEm0~KiE*4(?dB4Iv6aHJ!;$e73`-me1r+8PE>T^L0AWt+f)Zp1MXuD}qTdi} zNV-(ni!v|V4^P?~G+R)>maWPrv?dbL^}N&7;t=2nJ(Zwi;-l{@{{V85k;mLJGX{zK zM{`2Kiv!?_g`uuL4&{6Ya89V><`?uM2sPk0C}gY9Uyu0(XH92vSyGDf%U$H9$HY5A zQk4&ZVC`cq$XeHL%yp(VZ{>KR^)PdT9ELD!PY@e{wNqI+gKUIlQDi&B3!eiJrG2+i zaG}lZ$NoViAIb3<ZdqyKFVG=WrdDTIu1B9U0Bx)UxLCdziD1T1kyJ3}F<1(&voX<J zkhmucR{NKUUJ=_TL5$JU60LAEnX755sh9-=y}xh=Ch6i4v`ya+iG5CXcy<2j3?R<x zG0?*dN>cB`70hG=+kPYMHJh5VCQyjR#q|=7-r%a7vZ*Z$?g)W=wqFC>Pc}=i^d16j zk!14-DT&9s%(Q$PfsG(5f^A45I=p`|5K2OX+y4NO=s73jnE73zAfONPQyJKtS>Un- z9Td8><zM0s1+dRB=mSbi#g`kQ88t6lEt0bWMOTEyKUVlWM<g>6IT{RkKu`hPQy(XJ zh5^B=bw?g?5o#L7bY2+<^N6AbV65RR`5+O<IC3RYHs2&nOn9^Tj0LFHgZhHj=y+#H z*l*NgEk>nr#561188cBKD%y!l54zNGGG~vd5#q(%&|w?7ot===-9`a@YbT5M`j%yt zwfX-5*pEIg&rQ)zNc4SxR13+1s+grM<ISxeWqx6C-zq@(_#x&{6L3@op+k9<_f6et zb(E*Wbr+PNhANC>z=cQiYsF%$wfkicrY#Z07$c0czR_3>02kZTr*M=l4jqHQz=XUE zoeq2wq#__ID(0NVu@S`}{$jvxRnLg;aDI^miM4>Oa_fx1qYDzW^Lc=k0cuxuk$$4L zL!z&v=U!uDw`@RqFpqYT1bPAp+1pOMOLPXz8BfmHbzfEE1Mn>s?mw=OY2uIJ>MCob z)lDx(-}@2Uz^ZJ{TihYtYjKLW)dE7I49u8<aW-4}^%ShdrXLdj0B<7#)0LHlO)!^_ z8<z?Kyus+<hpAT#H|9O6D>tdj3F0ZBET(E$;-W;xb#pmb4Lr*j!>5R`4O!>nHDDKq znDvpYO$xZmg0^XTinA{@0lHl79r#T>#C9xYsNm2avQU9TsJ3=eer8FLc&I`?WycWF zln(ZCB&-Hq?3wt49dG>9)-vY)WhJF2x`IZ5L*~Eh1v+5MgD>+HCIanGf3_t8NlkDi z$B_tQi9u@hgYyj_gcuhqIbJx9<7k(fzs*KyGaE+kyS2wqjn4Ao1$v}sN{LG!7+R#@ zC2yC^RFoG?ac~P#gS;vkX$fs8G1~)g*fo3Jpy)tFP*2`sN|Y^z<<i_%CnN=w0|(3i z-)pWeC8WCM5tEk?IYXqD)$hRomzWCO(-nF}Yf#>XH*&QcZYEc`OK;*BZ*sNF<_=w` zSf23$o9m!<6+u~XsB4jSvur9HHY}&jS_vMK--ejLu~w)J-P4}y%tIGx7m>=MqJxsZ z?2EgWH=MPP!X^$SCV4Qny~YS?2UYUr`j`Zz_I$3dG3nBh?%kr7Z~%R(3#;ydm3)*0 z*!QRn1}l-{n1+LD+2IJh(9&xy^X42FgYt^fdW*tkp#0Oni2N%V?5j!}#d#qvZrrld zl&_3H6*Gd;YJzFC^hdB_+YDCeZO4GFW0hNl1=en>zud#pH>q?TD_iDdKd`cfN-@P> zh*cJaach`W!WYTn62jx)z|uIUa3#@pu4v+1ixb2TLPM+uc_VE!W;Ul7&oK*_xpUm6 zPI(}<LasZgnu}?M3=apEIEgKjskF!&HxdOb)5J;uFo?H>ZzQf7g>&tMmHz;#dI&gi zFKifCG&OS*6?o=57Hp;^jpN)f=}ZoZg@-(<F>7W}`j+vvxrAq9z;7SSAX&Dt^8sAV z8X~927}h~D3?*DwF<>2DAWqw59&7$azgamX1NSJcpatno{^OB)4sJ2HcHTWfWf6(B zZ!yc2a}5IQ48*EfXqG?3B>;w8t7dVS$g3MmDfd~fre7jYMONKk!~>iFdpec66PJsB zDPi(_{=eFr5rML=dy7&Sz&Y#aANh|HexVU}=G=Ii_|xiia+;}uaR{KnraVD$xq_94 z5E~559m3xccH_8g2F#XCAx`&*K&#E_YP>;ABx^SH$F02=_?y#H!QUWefZdk#Wkgj< zVy?;;SDRua=X)%>1RO2%c#bl)7JApe8Zxm56bC&ZQv2VyR#kQ)vQBeF+c)^dp!u~T zmvLutkY^?iE7UQx@k48>dq~*~GD)=+UyAa>23ZSKu3Uy!n1((TG~++it&F7{K9~58 zwK8)3{{RrM92WKWECX<XKFH}8B8vDS5FSGO#(FQr6Rdt^%TYx$@BSe1g|W@?=j!nU zms}H!*I=Fq)9UL)T3nv0=nibBk@N@v>e4PI7zaSk>h-GJMH$bczv8S3h7#yx<T zg{^rV!!|fJNDb>sTGm@~O{n5n7hRX34m0fTEBwYxS8V?P+!F@MqgR=4Kwu%p*i==@ zk*{P$PA)fb4_zURFq-9J&AI4_LIt2;7eGAm1C%%GsYyVUwtYuI#_IWui06-RB?Y?D z%cbGewQhx$BWgFwQt85Q!Acp$Fo%_}dH(<r$t5j~;w{KBv>1-qsAc&MV1yc#`-+7t zEu)D-z;It8A;RdlaosYBz%)m$H8zYRb_<aI0N3gfwF)VLKg>e5Q%;T_%rK7cqu)<( z#+tUT50V6>xR-SMl|?4W+YSEZig6A0a~MHZ4V9mmjO43!Npii!h=RAuTZfNO!NqR5 zfmnF>+-pOtW*2yiA<#)<lvRUXYo(NBh1VVA1?stVsGP>SMm8~5`XX~LZ7}|i#1nl@ zi!euy<+DhxDqUDd_n0{%bS1@t{mRmwcTuAaOpaNB-*Cql^A3O(m#9h&;F!X{Bw%Q} zS#Z*D3pIXfSCg3+)T=I{!n0W4UZESP7AT-w%9xLk_GJ4OU&MHYUIf-%C|4?)i-$l~ zfUiMUm^;()OggIQaar!bfN>tizc6Sfjm)hVqYLKdAZ{QKD+S^Pj1rs`4AO9S3?s-l zN*%s0xEUn?0gMBwZn(U%@+S}6<Rg`jM8*3iS)*jW0-unTTx!~F@VNMaO^gvf2DdEL zs~7S*^u)3YTRuaG>ZvNIUD|h!8E4i6aZB&+QLa<auCn}0`N}&EEKVH7>WG59B)%dp zs%fe+@?P-#F_1lc<KbTS+*oQQa9K}_x5OrRbb;tEx69&HAxPHy68E3M5(*0H&-|#i zq|$KGTv%vqs-Kx#mu>MW5y&1>Jzd$M%xppMap8!;Lz?9E2}!Z1%2+Ex&T+)TSruEv zrv)%2;jNMY;474&(3s*R*)SAa_ZFl?Y-J5*7?cZPW$#4@V&E*ua#x=+slTT`>zVa( z(oCjaRSxakJje6HzN2bjWG^ucZ7qP(88BXd<bR%T#Y#7CAx|s8;t8$?E9O6lt_%^` ze^4F&05?@f`-yU*W6B{uQR}D~;Gl5sWSLrRfzRBj2DO83?iytcR(@skgPb+z<{?8? zI~v{cN)lVlFNgj`Z~@ydhAWmGHF3xVEj1FdN}=>F91^mn7FsUq?@yRZ5E%>dTl~wg zq-~RRRZs|Hf6=7BxF*EL!QC%6yWCXmFb3SK^>H#>2z7qgEk-p>^m#5cSbTu-Rpubg z3^e|7hOO!VQNc4kv04jvaRn(MrlQL;5L&)qcVCzgQA^#z?yQzaVn9w9go-$na(OD_ z-W{F`C7yJA#~^@bwx0^AXzr!}0Q*kYO_GG2jqVMAt%WydAPLC$nBKlxt2=W3<Cuim zOc~~fGPQcQ$d)VaHOk3Z$w6sc6$;52NT<P$>0)ndi6@I_9OvGnRH_Dz(9i^99)#hv z2OY&n79BmH5>eLR-`N8SV|w#USE*`@vr2g({g0St>?YrZ3;f0!8K(>Og$Uq){l>mX z?0w0LSSXfz^Ab~(9zubEZ#rz3VHKoe_(n8DTb-<-@SO0(l2@)<yndl_6$PQM2j}rA zNQo-LlHPE>7jVukWyPF?eL(;@t^0}<o_t-r<8X9_O)r%{?6{1Dy&HfED+9<%LtZnV zUS$?RPwEY6rE2_5cs5{SM6%6UOo39(3{YZ_F+{>z;DmYj)GEX}@FiZEjs?^B{{V9_ zrO46TZH0!NBp{+Q_7RjB1*)h;PFQf5rEf=hcNYt0F~q}*W8ZB#)kO>e%WsL620AkY zSvZV>O|?XN3>I?rQAnIqOXunl(8F(WoU+5rHPvd4kwAxvb1Y>5JvaT!u~8e+b=)eB zzSKbIiuV%~3JP#?{{XzowI|0gon{tKW{9Vi5%u*0hyev#_J2|9<lZlbe{r(FQ6RX* zQ{;^UV!y@7_?0VUvu71;p{z42#x`l}lme6#7nJT-o7T$qDUX|3S}m5U_30T1HWDS3 z$P%#<)Uy2o3+;-yKvXk#o377s5pWu==jaw`*1c{$&nK37z+^lWSMw@$OHe0TFEJlw z4FmLmuCL7UY9c350oB3-wWzjrE^8jGl8J?7%~2O-zfeFFm@O1s7R*z)a2`;>X@1T7 zB?MG1%+>&!@o#uZwY2+S>1~J<EZ_)#*uO5x7AVNI&JA7&7s@_tHRLBN!_0MmC)6Wp zqcJ{K@oZhhphGxo1-4|yWs9ItJWbGgH!SJenIDls-~`T6&|n<}IjFI0#I5f0e0r2M z*<~J5)_qh|)fBGt&KZmbssi{*y7EPq8L<ns<j-Rg+hqmwL4os8$>oJ4;)d5h@@46p z{{T4#p8Ob_v9O9B7<n#7=zP@3T-Fqg*`J784GJqw{o*DmbY0nK`j6~92p8J(#I|H| zt&ICZ!+kbXcL>y2P{gL}CYx`^UTR;61tN=fcLVHJHQVnqa1zz^EN{B#VSp)Ru?9>k z*ZP-M&}P14v*p*Wj1@s^M;9zD>1%fwb>>O1-;D7rVjc>E7{CDnTlWV`$T*@J+%y_{ zK-vgV;JG`yGyO!ZS%_jVz@yIPwN3!AN*yy0fs;ds*@FW<A)!muwHhgr?r9-zYFpN_ zw>5eEN3#=vyvwwKYr|FZ%s^CGzkl*nga9WwPuVJ2-Xf;NiR&NKpiyY4c!e1)&8q4q zwE`e7_9IH+RpD=&>OMeKeLMWanGBWVP$w!~86Tfev1AMm**x4->(F)e%)ez7fcY_h z7sSD*$9+;z&VLK8YWImi=>&6HKeQDTXwVZ3Fd+~ia`<1)W)C8QUT`<P)IABF6aau2 zamFR?w4iEuU1ynP3J`MQsx<apbi8_ld4h%?ex*oyRYz&yD5K2AR+Z3sg-)o=TKAa9 zmaDP-%VNpKO8mg$$F(c!Q1VHYoDIjG=1ui45jF@J5?-{ff)u-ABALCyu;SKV%a0R7 zUhNwa2{win%ecUp6KRy^SQ(GqR5&1t?L2NfWjrW}=m1~$6Jn99biY}Tm@NlZ9Y>eP z5wj)V3AWtiEn@KoB26x&tsByQAo=1<8&vL+jqGWb@X-GNYck#rS(mLBf(%;!0Df7t zBWyg=1}B&AO6`sx5!dleo~^&cXv?6d#*QY^0jxf~%Pd8P<>mT?UC^!X4%^0|OKO*Z zWbdO(#3HQ{G!9OQdgLuHh14aXxdy?EJhUt?H_tIZ5!tPx>-5F1?19E_5w}x~7QSVy zK`3}~e9CAjqjI@gIeL}S1w{t(Jc+|V;*Htd#3(gSE^!T}aV&Cz@&^?L^rivHiBYB@ z6Exg)2sc;zj^}ijTgR^urX4+~jh0%V{7XXph+l|CRhvz=)%{BVmv#-Q48b^C`FMmA zR-f;gj+Wm$l$9E8Fl|Z1wJ}B^4Y_Xnja`wz5hmiaO8{!k@ivW6lye@jL8MHKw}#>) z;X8pS=8Ti3`{OtK!cZC|^wha1k470$fWu>#m{`ox+lWajUGKyh?Zc6C6o8KCxcT*< zs`y}oqPTFi;sZ6+2HDmAn8}(4Ba6r85E`g^1O>TGZQcGDFIv{PEkCE~I;Dc&k~yjm z7T%e<WxXqdSKlLIOh-60Lt~WAu2g9_#W!j@f-7jPZmPco0oAu=A!H_Fim`9|sBeg2 z)TM|WT?D2zlscBfqeh&?fEJ)AEh$^Xq79YT6496o9iw*>EDPdbLU&TdI%7%;L9|^$ z<V>)J?TLrWiDO=bOR=oLxrN_}lK@cLL?+Nr=^U9FAU_MxW4*E=BwWfW)rLb4F-rQO ztkgENyhW^M2vh*RjAP#blt3jKMcZPmR;-kbaLf=u&Qi|l0Su9%s%1-_NA6Xkg#kyZ zmrQaApP$4H_%qMd#45r{hsK!R#MrEOFoCFEXFb(Nk}D;nrx*7Y4RG{)xgPEayRfCk zsS*bwZELvpc$gc4H>PR!!89?M*gcqs^dmxFg1yHA9v!X8<8W_axyfyce&-+$^{HrF z+yQNVbt~y&?Z(fjXF++^GCwksn-^U`KxPCY!k{#s4Svw^s*<MyB&0gpBjz~To3X(9 zg05QwexR|Xw<!?g0ODT6yeeK@#Bpp(XUNp9il>p^@e8aLlJ*`o(=q!;MsX1>w51<B zOx37epe)5DyeNW1yy*giySxk%s&<!kiN_2D7VnVa69GmDz6;u=NJTq{^kF;TR&yDw z+EI?{vuiRTb_LMKz*4is2UcdR>QehVTlEt5VTv&U0_krYM0{s$pMS)@FKF6&@8UF% zvXc3_PsBh?X4SUJ_XLV$Bx)3$Yq$RZ5kP=ZSUI>cO|bEm*Slaczzr=A(g!q3?*vcF z_?J5ourya#5ENZ)mu{XlE3`!wXxYpJ9{o<%yz>XB7B2;JNAoLycZ*&~H-}0st9a&A zYe|$=1#h{tD&<r8mIMbPhujtgmXv%<!7{u+>MR*Ih-$t60Px%$MYX=U1osu!=$1iL z6#=FuL>lf=u~hLF2IE@tyb$IFVFG#6@Wf+-l38dSr`~1qD3er1-&cN^ZZA{>pjmbO zqaWQ6pv~Nz=TNpKpjtJ+HN0;Nj7JRUKEugT&ETG7b_;EoNIhC8YXzeB6zZnbO>@JJ zaTKUBZY>!GABd%L?JKYSmQ*NRwOKn}<9Wv*C&Dp;;AMjHDV=cvum>$-nyQ5)?F&QC z6;QkbWFo!3R=_>VY2#y$68z-R@JelBqm1j+Eb1h?{)Qq>>Wr$<j+>|M1r61B=kYZb z8roJYiRoJtwY}?{#S*mQYOQ(1Wn7D^F267^Hf4s!`d=|fWKB4LNoh3e@#UsB_M$#O zeq{s&$nZx+h+wWJT1M2(a|9yjtbE68grzp_&X~+IMa^MZ9hF6KUo!TqVNM=nhEYMM zqxUkZqL%T)6beyQ8JqtA22k=$(xnkM6AUfJD)zB4aFW66#3r&j;T&`{LTZE6M%;0W zW(d6+nL(4OTU-N$Ou!nmO))_cypx6%xi*9kRihVD&Y>v78ql@*7;0)St8+LMT{4sb zQBlB$v%%fQ2x~Cyb#dGvTXed6_{>qMIM@4enFQSu^79_v-27$+(*fEfr}GXV;DQ2T z{H63)^=S*QV!bfV=B~>}KT`JWW2I3?ItSYjC?LEli}R1Tc@8Sl8aQ!v99bPERz&$8 zn~DZT*h~-RDKzf1RHWO4`G?%B(=^`#pZgU;SuKi=&eXR8yMRXafy3q(R@UOSzYuaG zny8f<wq`)`S2B@k6EYn^L}?A?<-l|*TCqanHCkOWVDc9PWVR0~YxgiiOIw!2oE$Ck zN~{-fNsF5$=!#aSgj&+x9lTc%&`!~r({!_B3&I6J=TIviVr$KyvSw!7s_=1Z1WcTT zjzfJ*2*@^$E{}571k;4E<q<Wtu*$b=2Pk~P5W>B^fYDw0h1k#v>{iyN(bQ0(?AYz* zvnyByuf?>gAa+Hhce=@CN5(aJnBB&lg|1t_5jG7dw%p|GgXt=+{3T{ELsy&XQqh(i zq0gAL(_}bFPsqv@Y5`zES57TAj6@JJ<9{BC{IdF2z+QXeD1}+9mZ$4-r8FEtSR2$a zacExPz#Op}94KLWH={7;5M28H<z8^fl;+`R7bM|`%IQaNfWWFePT;T;O16P5R>8|g zy}}rP7M_Xba5b1MO6b|Ppc38{-(^GsFJjVg-^^4f^wcI$C0hhz102H}7RlT|3p^OS ztNTN`Hr!K@P7e^Nwq49>pyP0sZJ_KM{Yn7zTnPXH^9*DOoKzYuZU%z?08lfNC#Xe1 zb?zeq=&*?uO{>#4_>V-fy=yO-Xc)jHa~d`UD~tGuLKe=>+-_D$!FUf4O0u!6{7gh? zF7j|nd4|%kJnlV2O4_XP5R*lmCFZ_h*cTH?zF?pf`@32EP`GPIqKfb@;=Um?ur@oQ zotJl5gEIp~jom_swi+wseAZ&|J4DkW5{UNPy6Abhvf=?|+t=iPq$0?0SM-%7hYYs$ z1B_;~7F0ds{{V+BYs_ertrb$_TPuh|-^6qlBPCN698M0Z3qW)=2m6s};VueEWk>zo zdu(@P-B;XJ;XtL|`TCY)NqX|psITydX;u(Y(NdU~<OJH4d%9frH@To~4UR#rCp(7> zbX0I>q8G|MKns@&xU?6wa+!+4m1T1+Ir@OmN0a`*3yeqc#3Nl=lXU+8BuKPU++nS? z*K+5c3QgV@3)u+KSZsT+SPY0xy$6Yf0vUvL?U^SETH&>a)WswtC9D-$mhTW0@K_J2 zoI1|I!%!h4sma|!7D2OD%&9AF;PG;-2SF79Zfi*r16H#C0GWq^v5|D=66X>M96U;I zUc9^?<Khtu1gg3r$-|HC8yX!#S{a-DhxHZ1xO)y)BPiaG^1f!p9mZ>kW0H!otC%g? zOcS5(093`LJ%jF1C~^vPA_W%wyg@4>ob>{oju%8fViV2)i$HY0a~$SvUGIyDP`8kZ znrFxuvn@Hv0XJ@D8|>$qq_%*-me-k1@rvSR0oe~*So<Hjf~`EtAfb!qY6!(0z`#>a zxM@(Ny2Z0j1)F}O%M42;pj^x4a?*G=%&Z#~JoFIs&U7k{X1Wt@zcQk`aJB;a?#rml zrb4{84HnA|3gr%BL?Z<%&Lz57l=*^`0J)`s@cbRb#-a}ftLUf9vkj$}&9r?~M?hVo zjlRL(a1per3n)i*#P!ouB_9h?m@80PI;gJmAP18l_Ab_?G-BK$p9susR(LDiaRd*} zT9A#`5kbH}vsPl^ElEPFQWBdO=<ecpjKn=eh1?jn9M7b$^1s9w_iOZr5Vs=$bKE7X zK8H_mjvNa=68Jc#xHXsD$rZpiE`d}CekC#A!sVBjRZT@4uq)2F>U0XNRpNd^SVYV& zu|{WjN_JbHFq*TqHe7p$-9Cv!;$1omb7MEBo7x^cP|a6@u`AS%51w}XMU-~g#~Z}H zk-Dkn#8i0Pif@b5NdQ~SydRi`tlYS9=?GkFZcSf#k3u0urYAafbsG^)fwgUG;$JI4 z1Ai%0fK?P0)@a-fwTslN!s29$fgpqzWw_XatBN9)0SvK*U@1tkLC2c&FHxAg#d%K* za%;pnA&e@p%Hu(>LX}oO`!JkKwL^LC3$9GY__F1%K`kCX5ZuOPZ?WPEHrm*8aY6i2 zyj%nb+N!lR6>ylzN!8bLGALRtMO9A}TALJYR#lacysn3myOu0cOS&<!=a1%ODy6%w zCS*_{uc*>?%xw$ba+_6F$S`qkCxX3HCfQY1!z!m-1Bpg$Kt04(EZcxK{w82h6l(8> ztIWU$fVbO*4$WoJm^l<+;C=HPDp|{`m94<9WsIl+uEU5RrEGeZ&yij=2udI=w!`2) z(uOEHY2ndhDWD{c<t;yO1oFcqx4@{vq`=!?x9%w9iY#ie^%IT~#h0p!S(nlopyF0w zQ!BxbmK0+0%JczZa{w#R%reVb81PmWEFjPq_YDPq^j!VHbmcb7j>(Ut^Bh^DsZ%%( z*r2o+4hU0dwj>&a4Ya22;+!lgnB&({{{X>Qh$UI02k?(zkZFg`Gxr|1OBxG-)H=jd zCtbmJ1r+bhO@c*LxXj8+vu6{jRX}RWQ1;5LM+iA_PhSzj09YS_R2zP6Y&+990eBt= z+G6UBe(K}gYPfX!i(=#j5b?8!4mhAb1kHG6X>5eH-0vCOG}1+_NvIZRP$6NreahM= zEH8c_i^zqH_qUxxWDw$;%lKl(L@d%kUk0u^!yH9g-OS(yvn+wP3kF7B`8;}+G;pO^ z*#s4L5S26vz9CSyD50#r=5zEmP`j+*ABI&(E-YO<kmM>TjMw~vm=N<?yh=K6;vwS` zVaqKND%&u#R2Np{W3n_-wVw4D<I4da(?ch5OBmolIgBh^69U2k(jO6MuH_6!943r8 zFbd(Q!(eXCBH3o)Dv|q&0Y%mK41+?O<|4|8@?!o7MHeATC@ubAywx-v+@#8~cGbV{ zGToq7oZ>nVRmW}P@x-~4I^I~|L16gmE@-d;fP@+VrE@df0`%b4ypt7C=oa89@8n^< zE^VtxcO1VgtcZ)`%kwCS*orMS_CPbV0@_r^@hgX!@x98~Yjxr9#!fK9a4K|^hZKdi z)B~q-bbr5z*#TkuxXwcx7<TDr+(jtOTycV4;9m#vEB^q6=i*u}C7Z6vxqQkhzo~91 z;$STwP!YXF7o<R~HRc6u^=wBmnp{NK2(+&N8D74~0xTB2ONgVtSSOQkM8p=13{kFb zeZllYz{fG$G^tu;a^=Zu@f?*##dFv96p^yfhRDlfwU(UR!-6}Z{{XOnDjIbE0NJbz zR)Pm7j6s5}DpX)|dL+sWY}rM4>MXKC<%!i|<)^aSum!x<w<#`Cl*H9OCFx8&=I@fe zJ|SxmR@_)}_r!f-rA!^(E;d7n1z-G^rBzst7)uW*g<0+~TQi<x4Fj^{b3!O|d6`nD z7&A%g5NL`twAG#^4sHf_R|%nA^x_o&3fiXp{$f#>>|t~Hiy`H}tKgWGHh>{R*-@L9 zX8!=<FlQ>@!VU>XGM{S0ZOZ!JlVm7!OD~zAUE2=Ir&k<C$iO#DzyN3z#Z+}Ob&$B% zXf;UGsJCiKnU*QJbQKEfo!_Dh21O1r-{LyhTe!i?q2>S>rU$kVEk#(AKe<Ix<+|pr zBM3-P()0fSB~3u*5c2hxvK$EUt{RHN-nXHDs8zOX_H`;?RY!qu%|M^wyG~usu-gOO z*XfBwjon$Z{X~5)8LXF>F2$2n;iKP(4?NnCA0pvFPHmCVW?He}K)U3YPie|MW*K%1 z3P?o)s9H=2hc!_=%T<i~hjOf|YXb8_QmvzmT&bJfB|Lxdb1vfCIE0d;WHQGx4-D5b zuuLjbVp0t<^JXwYr~PuYO0^5Anyaxy2`?*3W>`tkD_-JYF<P&=SzUu>gs`fDf^OaW zBZ)FB;qF>Q5}NGF0V+jS2qt4H?RsX4P$2QlJAz+%;$?$MP&%mTP65HZ{v(5r;r{@U zIuNjb*8x)PmsGrr2^M*Ue+uy|<`GU17ozT8d7)T+g|Do6ixJz(YZy=F1YT;53vhqf zl(e%_vH0Ghndh*i%yOGeD-SrzOZ`tbOO5-F7~@&l6FNhvl&1_<4fPC*OA2Kzu_(QK z5{#g1Ys@UpP;LJJWWlA>((scDX-W~PkRA+*`GAmkm_rNGXRnC3ic%E5NW*f~TYO4` z$PxO*cK~X#9Pv<b4<hXNfvb>0q=hWvQE=aWB8?rls+DZbQz|07OrN^MBbKR{AhsHL zjxno;_QC>E=Pu>^7%Rxv>yMdmDjKVZ#N-rs%nF4gb6T*K*D*J6=gKGNQR?Djd@Mhi zkU6LnM*-$JS4d$P8H&rp0Zci!1w<N}4EX%Q3W0dKT)zyis0w4tkB9|uL04)Gd;DeM zfX-Ye^26+LdL9UuD|;9*UUKkwfHbbeU#4CJw>0JiF`1%5O~f)(YbP?G!@YhRnMvlY z9<MO&#H#$i)T?CXx`Y?{23uDn##%baQy!Qi>|heV?t~>xU1Ux;0<;pv^bO4`dSP^P z8aA)yDloH&u|seeWg%;(?ga?BwL$MNjaB7G_Y&g`*5?c;V~J4CnQF;Fp^f8;g!!5_ z<_2-X5YI&ms&3)cLg69{5)?WyFGDVNyh?@}EA9M261mV5%|Tk$fu?LOqN|J)U?1i- zTi{~jQ5V?9fPorP!F<58Awy|gcQURiG?@9gyIz%>Qs^RScKPA=1g_so^T{gc`x_fM zV)4{u!p#Pa9mNWp(I%IR^X4e@yMem#(Fg_E(0Be>X$bC^9V%!!#I_j25MgQAyW$~5 z+cr#ju(mRnTrn;|o|4BWLCnBx9<%CPUDpLcTAhtFMhG_R+v=Mb>>0t1>dyZF?63&= z%K>M#r$jA466L7$zgSs~BcjwY0$wtLMOb1v$r^Z#d9aEur4E?)DXJmZ1x+Gio8J)@ zlo@)4C$PD8IIBYtnrjl^T&r*t#Jz;v${RTxpR!>E;CW07nhnDiHFQS-O|wcfI$JM_ zm8vXmeBuERTDlu4Mz52^H^0WjF3(zv4Xg#c-$;GSr$w%4&OOHf^8v3slMyYgYA^j! z?9Eqv&9fqyYlamcfnbCc^7~#PrK7?Q4_j!c?^$194d0+)+;)weUh`QlR#4K5JdU3v z5dJaXhz&!ypsf{{7j$10E-_Qo3W-<LTJ$*>zCV9*!1g+5sM65u1wh<W!3oo9;JirZ z;c#wHd2<h+9J}rw__g_n-zjcSt2(H`E$5r?e&C@&u*UD=UrKVy;rfqk5AzxeC0(Wl z`+`g`ReI)802mu+CprS%@Jywnw7QPvhhoF$h}h-AInUgx0BX`$J_u3Mn;c8XKu}Zy zM`6(l6o65ZQ<0d<=lPBf5EZRtxp<+GU)@BOt<#J7i13R#TFqh=l2t>1FPU_PJsuw8 zLEI^p1m}ru3J9Bbesj;MMhJ>aznv~+Q2h-2oxv*9EVjDBe=taiP%;|!R`URtWL67y zBRylu0)uEuS~4Okat3XB9`xh5HJ|`+X=uBuVq`+oz?~!T;wAmA;omWcDFkBA^Dg=# z%Z4Qwt5zjBJX0G&s!$4=a|i`CcP#*;ir36IH9I9_^9r&AEQ7K7h=PR8)k9w4WY(4^ z2`es{D^lRmE)a$FFkRILa<airWzyN}L>99bfNI;pGGR>7+&V(KzGCBLb5O&BqRTki zT%?Sx*AQMgz{H)tT*rI2lm!CIUoJi&TDotD3=Sd45~+zGg-jhU#-g;e)Ao*)iVAy{ zaS?-A!zr~QuWB3Db><jXZCb<MtAOni1$_NVBBshG<;0=`W{2D0i2?Kvn}Xci8(BbY zw<#^6pam=D@ytk79!%KRiu+3J=nh=3(R@P;>ah*!*`9Tnh^BVU=v{orN;eL_g_5AF zTXUFM$~NFWV|9m>!~|0DT9h`+)K%F<w**osG=mM3G<l9KjYB*qxa?H`EuLpTP*|i5 zKtI(#K*RSfLDNergtc13Rkg-q_h4p?7k*FF!WC7VtxbSiiqFw6Km@UJfEyEsf&<|b zbfNjU1cYUe62)ebojLOquz)R`VgsP6=OvRG5G_NWsO@sCI*9xR<zm;gVL^aY;-NYF zXy}X%T-x1Kx!hF3XXa7D*_U3T;3zC<>L^iG=>B8ZnWt3zOFCMXyYM_cz&AwF4Po;( z0+v!*^yd$`ts>IxL-WRCr6yQW+LxTl&Y-u4r#psgYAu6{1k+D5F9F&sTWQ9>b0(=g zsBq!5Wt6%@W5{SZfTCkY@KwVg2P+BQeq}tZBKseY<^Yz)@3_@M*8*r+PT@NZR1H#^ zIf+3s`XX|Qep&f|jo{TBHpe|dxv~Y*uH9~Lwvhm=X7??NYm#mFVi{)ZSenGdq{uwn zD@M*`MWwaE3i7vxArKz)7|wTt1|c|uF{|9o#W3E;cA?V%wcg+g6*Uvp(10p63uuc_ zs0|_H=kYO81=95hZcIbjSH}i3)Nfs9BS{?FuwU5)(~=2U3yUb{tB$O!fSyN(`j1bm zSTw&-WDTYW>p6y=w_b>-8$t%mm|WNXMe^Om4CS+s!%1;wO`t9)ACb<y!UoO&pl6&8 z*wS^^3dp@|E$1Z5>VujuK0gpeFs>hg;xljoG5Dx406B3j!I7GZBF>l_!U)A6Xyi&& zXjASX1(e^ZRg2E1XXIr&Gn-}Mr}&oY8fZi21A>8PnT|Djg@$RlR=w<CsO4@Cm+{0L zPcomL3L@x?tS!F;RJ(y`L;|sL_JKfDG{4Fs0YQ|^Qi7MRU=oE?EC<gpR|;ubAmD|% zyIJZsumzOw%nH{|n~1g`anuqu6;n%`$}-m7Qwl5xp!ulEtrXoJSz2JMGoPrsk#ddS z#I-KvGS2;CJ3<PBc6zyydV;`LbhmfJFz}jNv>(uvSWF`ga_B&?F3U@fGoSeoLL83= zLpzkVky)VKy!=H6Qo&=+9{fjEm=2?CL*niydoQr9E<;)7r8Qf)Aa5WiijL7By!?SP zCTno{r|}SFvlg5)68Ez6!_p09aEVY2t|6Xzq=>sDz9nK4w=528vS^qCmvb_FaqxL& zJTQrfNJUS>@dI#Zs{;s_#Jg&?;Z}fC@)Hha46DeRB_>ITpsm#44zHPWfOf?=ScsX8 zfJ*S_n2~Oa9?@5faS5xhnR3z?4&zr_dVv`=PW?tFCh^pKt3bFYz(!@DSTkJ9GL(0h z`<Ie|OUe9KQsOKe<VmIi;a{Nnf?yg2mHtfM#5e{bsCM_cafqNMADE8{B|D6(ugE%M z=dR}HaSOOxA@E*E{yUc(D#?TWadGdQcvVukvZ4WvX38?J6^(NhCDnFx&|9=@-g$-e z>Q`6<728Ym2Jv@lvg~Z4wVQgB5!uLFzGG#DQj(A>%IX*?p+?U#+YOwhAB$E+M-GQG zE4N4&_YYLfRIWQV3mA!lUT~R>QCwa>An>F3fT})(g@|1QtTmCMea8do60`Lj0Nlvj z7{*ZPEjCx<uMiab0t1>fL^6r0)t8#BJ|>Bk76yI0jrNM+7C+PCJfZ^zFaC2c)W>Q6 z0IU=kY=T;#E}ze+KmeFQ+zSn?G*oz4x~q?3meB5Bn3rWRQ;dc)%ZiwBRKPslSKL)4 z3dlc(BX0!<=3ao{aKDJ748uiz5LXR>L>?~v@en8NK4wsA`gujWRl#!P<K|f~6tr{Q zt^7et5-URSS~t`qCn#8S2YUYFgG;AxtQ(9a0DLEE@cg-%%YoT$Xa|Ftb3nzR2UWN= zcZvequhAH#OQEt~)KH4$)(!x8iF^$lht@tI=)v8UEPPbA5h!>OY$)*VU1HwCU)g5B zwT@*~k#;%$h;TsXQutGc5cR$kWnp-t14v}gUdd!489j9C*v>xfri`NG@%xsc6Kf;t zHqx_ED67CC1r@G1jX(!zi#jWVn4t>uxb$hYLqdhC<_)#4IfB?DtiI#%Vhe2_>IJMN z6#oEwjs&2@(KdYhA_^*tSOfrWmRCwbp&T{E!Av@>>EdJtD@ZPy@YE4a4l-f+CLT8r zhn!|?c-YFXxH(tY{X|d=0U~@#b#Yu%>xr8NX@KJS`NTxHrC@%6%yQ|qg}dc^=3M*R zcgQC^HSR99!F4QkE2UmJmCCB~t;;htq4mk;V%iCd95}4md5W~rXd-?kTGiD|%MBV+ zFb>JAFuX-sGfhge)ZlRdEE3u-3w>0PC<n6z%4;a6)JebK8YRD$&K**&4J2*BH(93) z2kz;J%%$cCc0?AN{P>!f9yY<J!3?#Ihy)K{K7^<4AfO{Enu81m7Hj5RhH0aZ62VzU ziyv~O0-bisN<7AqT~5>DBJRBuxJg2swx4j4R2wr(7UyS`whk_|Cr@xqNZ2o)t{)H( zI9_j@=!81a3#fCBWrKEI82iq?qLIimYu&WQ3&z6VJz_Lf6_vOBMobK=liggw23b}5 zx`|9^D@xjI>I)HyQ=dLC#~NI0TU__`7nAMf?+C(6D@%N=I?zF&tW_2bj<bBjVj7tT zB9mBSWiXxP82Gw~sm*v4Ztm~mwFNdnbhuyC#Co7Nz2-VV7HBxHJ;7@vO|Q(rXa;wp z62GD`R4Np62vCH{O?o&!Ww9X3n_K>2QWmpueB_ugR?_<v8U4uH&I}>mg;%%Ssjz5j z*O>EZ>a@kd3Iwx|9cJKyY@={V_gtkHC10c>O@<OOrQ(3Q`I&X5NW8#Kn)qTw3Jix# zqUTi#3e9p$jg~6{TJOYmP5HSzO7M%sv~Z{qq^+q+GX#K%h8$1h^#((zF7x6dg=jIz zjR?Us{1-CTRnsDWzi<Getyi5!66{(lE?>maNMF<(0fr23{xBB|2P-eQH6T;?b0_E2 z78x~we*_?<*^l3-h*fI~o6j^wUb{`XMf(qhlwi_Z*;E_PGOe&R8z9GK>T{{QxZGNj z^Kfp~c;;WLbVN2ma+SENKA=*U2tXhzhOyMaOA9-Uh`AT81ZkEuwjKQHX2w;U)b88H z%|lX%jRQ%#?`^<QN;aYRIfbA^*;ZUu$=S76i+F_Lbh6#R4Gk>^%tc~w5IXye3z%(h z<^=B{G`ntb@3$PoTDr*^^~p|7rQ<=27gFHHV^}Wdo5U8&u^cQWbyWvmCp5x>IRTiC z1)4@qVk<y1V(^ez3O6Z!9c%7d0dZ>n;4wjlADnk^D4alb!ML3`*xa04LK<)vF5YD> zBH*qCrCerUDYiFzdSVt$ZFYJo`HG2c*9y>jkGCOGg7j$&N{7M8FE``Nz*OqhLltH? zgdkbET__$x5O-v!r~a-AkwV+TcQCY|(1&ptz)lM{hzhI_0)b~o5%y+{7uUqT^aJES zU)NB}6KHL$tX5yB{Y7YXSBT1@VCQm($2LeUk9Sor%dZ=bDu=`dKe#nqP-!*$j5PD7 zG_N6An6=x?hGO6bKA=5^^AJqJQJVhFpzR={FhXHAe$0ISW~9=~Wsa#}TnxV7HRfiV zX4te9RfyzrRdBfeX72Z!<|H%SRJ`C<F<}Tpx_2$qOeHij<KhG*)%14<g9QRtSRBDT z@@fwW_>X=DW|4&?wTQ=9SbLSNTc_$My|tUFa1cPPEXrY+VK=<8w!|<ivTSAS+*}L| zyx+uAfN6l>r#XRkqTZ~*LrqjAm~2X!w88^0HV8lLc4945IGdq`V#4F3Ay~I{>K<8y zJLLSc0-KBo!A8NjKngh=R4^+F+2Udv%J^;>I3|)98YWhHL@ZlXPqW0-hKJxk+)D{G zC{XlbT!5@=Buva`ExPE1M@V+(eMFV+%gw($kyJX-w(aPZ2yZUG@~0&n5A8)X{9oLv zAzh&zP*CG{8DGGMxV!{fRpfy#p`oc~7Z5csFz;pr;D_nmabLKqm;m@?-=<^(3<<^n z=RI{R<RR0lsN5rZs_GB7QvU$^nuZvp2hGbZC5aI`)$L;RF=8d`UU7D@LN{Mw{(j&= zz{LwZ1|9pGibxU7w|_Cm+!s+<!oTt@0D2e5T7qD=#KJO`RF&S_jhcpq4c3!6L1N%s zaWXL@NLd&l2|_Z~-kOCht)UcQZ|eRdp~6h7znFkzN+zN;Ra00z#g1E|wX~bWzayz_ zcE+`wUI?1<Rtb++V9k4h%}9%lTMu&h`IMvQkJ*-w&D~f1BZ?}&IQWGqsNtlRs#7PM z4r<tZ5TvDM)5HO&X0~weL`rp{tM?w=#ador<Ubs71>Tak6)J^((#pW<DUCf$HgcB! zV?eF-s9PwbWHpzXToqvyKM@F>F3!Ez@eb9qif1KuRV+ieu(s+QA}DWeK47u4MwP-B zpj0@o_GLGfv#FS}WEFA25mBnHBSPx9PfPo#?usRX()o!;sLpSwU0sE>L^S}gE@1*_ z(Ya!*Ghks~LXlqYDjWEjI<n-8$ksTO3@lS5%IZhy12tR0;v%<|X(}sOex=N&&Np`h zG&S<Zi1;k<G?h$~JFq|onNIO2A&aMZVZyFjt}Zrq7Fs+ZHqF(}k?_^EgyX4U-xZ## zcL2CXP1Q@$Jx*KrhCzlnanIaAQkkn*IW}N%USqYCTWooGjggs?wfXPN;3X|`dg@bU zu}FTtAc?$1y7^{28fLE8vLf(auiR5XRMAFc7RW<p2Z>OJt<Q*s7Qmw4nB6t)f$C%& z@kgc@7+FhCT0Kq5Xm6oHy?d3}MLU8IS{YNigLNM0#Jx=S5x*S$M3XQTlR%r5YP>5n z<cq}s7#HJN;^koHvsLK%2w8(*OJ|%om0;5Ce5-Mv9$<w@v;`KHxmP*vCKU|QsNP-~ zLRXq1+Qu9n<^if8ILqevf;PLa;n6Bqy3o&iCTy|AKw3Ux{G6Si66X)EFNJN1l4Le| zGu*`~E>aT%L-PnQsdW_$v@y6I1X&%rc=Z{fz}lj~BLL&#B%O3jy@dm4WW970_>^f? zsj$)Wa0(l$DO~(3XVe0UlustVv@Bs)3lD!%fGUGcc9iODIwD=h>vJz&swhI|cLa9< zcR>IxQyc+xd1Jev?-uGIaTpe=R#A0{JJeR<s2NbZ&YwmaQKI$IS<vP>=lJ@UU6iV> zio1wiv6{TW2eq7dmdcjEW54DgR((8WfQG^3a;!kv8E+bl!>w50fb169r>N{{!XL~P zLaTJ%YAj2XIK@Xs>4n4S#=c^<JnhhVE~CGzJb7Mah2rlqg7@59%0U2bS;p#dlIdU& zx+>Sl68`{HLaKp|TdRPHFBo(%JAmLAVjfD$j$*o=At(^GG5dhd&5mJcMYW58)5Y}? zu?aSz?&=+KBO>o3$pot{vpx4S;B6>W@b?-xyFAaT0Gxs?m9NAY0jpjE;xz~bSODcB zN{46)&b9fJl}&E0y}Oo~8oP1p{>G{l7K>m_4V()lYXI>U?;5Z!+&w|2&gk~X>KQVz zLxMAkCR?jK!-e=ZF*VU#Yd(Iaa0_a}v49zp)~k==4Wc|U^p13<5)jc7B|%Pvz4T3F zGoE*-jqjwRpnLGZxmHIl@;H^A0t&UY5B8#FUKlaLhtx8sbgOpo`If4>4FGF7J|j7d zv9QW9w{dVNDtUBp)y2D4l>v+Uniaz;N7KyC6qAc9zuc!0Er$b7<~p^cw)V^21PVMy zab0H;qh}0MqcWkmkE>^hpbI8q-99aqDL^}ODA9MuBc)Y^46?1NEykfJOyOds%?)h{ z!&J<C;#RPVpJVukG)jkM!BFCGI>!r&L}+mC-w_FGIDql^BWG{9OGUi#29&Nm_?HCR zKs3S7QLngwVj}8$iO;BuSr1Ziy!rh>00>fzf7k)=`cXu$PcXx!8%<yg*6NlXUx?0$ zfpL!O&+!%%J->gcPpUc!g=RD;K-(8Z{{S(rfw1n!>Kce{(c%zjD*~@1BniDP9Y61J z2w3#<aAd;@JipW-1sZIMKvA3GDI~X-3|m@Xh<7v{okz9M5H79AK`Py^DUEu7KNZXa zQmws31A$}%e73?Eu8^_Q5#T+r?XdYGrSpu+TJZ50By-wc=Q6a#wK59EOjUBc!&=R% zl)FZ>nIaGZ%hwx~7J<+x{N|%$*LF?(M1}zd)<5J!&U7}}=o+Q_juM*|9CyqG?%u}# z0AF(<rdrVIqeXBQYw;Vd6vGMD<rppTfDZY7BQzFPu*|@^23igEE7S!Hv)9ZTIbcqH zVl}+o4t&d?3BoEBz9OoFnm>q8$eS%$!Nkr4EtG}*Kt{Y2%L5TKFY#1TxKi%_0Eo_w zT5OXdST8GE{YDFvQM0Roi9l!;?>%B!WgITR?}~$sC<kR$e12ta)Yx3B;qEuEUqah> z)xuYZU;%Y!)y0%|MXs`DTY<0^23*2sfWRPsOe0wpNocJ8U=iL}jNR7})bpm5eq%RA zX%@t-3JpgXO8iU7yDFs^xQo&kbuCF?R_-No71jkpDA3yT87m>RD!odC)l!o%ZG$Ru zK0Qr<sIB3!{vj$;uUr6pLkjFsMlWzhcz4ZT^DXNwW?czSBLssvsY!sRjjzF<h&N=Q zdVp|$(H=;eK-#x(49mXd=IfGuj6Ef#(Ch)8@8YF^7X`)`A8RT~g;)hG^7@C6E`Axu zoy203I%7Y~ZOOW?6^yeDs$Da#Jj^9Xv{K$vsPe*SH8$n=spb&Q!oQfd!&=6J3;Kqb z&{iw)1OiKEtRr7!;ij`O1j2{%jtPa+A9P;K$}m}azMvN5;$?%Vn+!Iq)TDJ))om{x zVPtH-hyd$QrA@0hFBZ^#qPW;nA?9Kr-z>rZ0B#%~ZrPL#daH4~g=r=LgRCsV^Ubo3 z#itlAMrMhoL}jeUHBfkbZdLPL4>?G<fabI6H4sHWVDoUB0is&3h%0-l4S~}v(<2IC zWtfW?(MR(!gS3TzsGBln95j$H*_~N!HAF1z4NqX$WPo8-IEDMn(_M3cvF~vpi~&t_ z`@K$^$P@O;6D3d_p5^inM?}ceIpS*dENJp<zw3bo;$V{SeTM=4O~IgO1zw;ju=y_! z?jtAy5A*63Z&Q>+hboZH{PV~DO9<Fn@K(ESU5>Fp@QKFQ4N=_4a^k>U^>9(!+9KKw zeMDKr0BKXzOU6_Z)$2d<VwwXu>dGp33=NLN+-ijveq{%IC}PGT;;s@Fl$VKx78=7j zf{kcZ#n`7OP>6_R^D!Nb(gZ{f>I5Pz?DJj5!+BH<po<Be0A6i%qGA<{I55@mrdZ9~ z+u?$aMNO+keJ~0O2J07q{vcff(?@@ph{u@fJ=<#PGHtqD3J=6Sl;snMIAcJtW&;=G zV`8)j*I4A^nBxjRJQ9*}B7+=$AQPubRkIxY#|P4zVNG@Bp+^ej8NU?;N6JS7=cjcL zM9Vj7)+ME?t6oyy{5(J+v%#&b5{bw(`~Lvn%*z!nww^9v5;UKQXi!RNyu3ri4kmLB zO@T+zUB`jaXu)4GC6%~p76Zjz<`qDDiEimtRKTH3MQGgtFHIFzNmjZ)V_r8Y^c;AX z+Kmly1lt*pag`nrA$59-EJH3@gFjm?p5atYpmKFk@hMWF1t6A|Kd5AAXab*8Ot?S^ z_=^A%@c!LJ6+u*oi>N@9qhaAfcbJCcfSMi{ShofmxBg04+dK2);-WDq)rBJjw4gyl zT({56!6{(nUv&^Cy3O>HC4Tj)+!)vVmJ(w%=l;sdL6G@Z=2>1sfx4RyQ!Hm$X?kKy zDsHnEza*PO*D`~`Ota0*0kc%!#Gqdui%$^=j4VNnpbZ+S%YZG$Sv&&}O}4W2qjB<5 z??&;vjn=4R%&o$n*>G0@5X%5tW%a}!03lbP3%(^#6j<QN%kuRP07pb#-|nG`(P>fJ zY}^_Ecq&gfwTXLO%}*3oh8Epa(8f6S<{MAkG%5MqTw-j4_A$}HO$LXUj0Cj`*2#>t zm*P?!wBD*aSO(dgfx{F=o+9a&Fn(n;$>)iKDBYII6Bd?nFJNc}N46uCLly6swn1c2 zXF<%c>Ldw82K+w}pxcU#r$_|fh+JbqSVR#%{{Rp}m>)B-sv#|m8RA~xIMzd7X5d2+ z(iH+IMobsJ^>A1U?N|4R1qv+B2P3%U8-~ZV!+x#{xA4_v+CM`I6fTi)I8z_&M{h`Z z3j)RBA(m_*nCz7}bw^G7SIi);Hyt&q{KOF$)U_QyxkLgD;Q`?D2}zryJk`6_JVYA0 zjW3XMEb0mx)5o#^A^pAkjL^3QV~D~o)E04%%r+((CYz!9q?R*x6GGD3xGV;Esbgz3 z4NOIwx5O2r;UffRF<^QWb@`|W?wV|C=5ICY+%6|J>wBE~Mff8C;0h(imY1H8=Fx{x ztP!+XumP4ZiMJYrm9>7O<j~K!!aAT0UrpjDU8^BZo-3F&k=5A!p_b6(c0SsPMDkug zR}jc@$Q+b;h}q<zUy6<T2Mqv!WCHs<+`E7BSrcla-PfoLBaK)Faq0=F5M84DnNT@i ziAYA^Uo7{C=}X8@8^4$o#kWEBfN)viM)<B}!6u7&#|iNloHm5Nn1Fmjk4!SH7l4em zu*h7#<FyvEo806HhfC^T+YTwga@ZkeSmSm70AVMLa$9{b^A3#<6@BiYr=Z&rdaw57 zNf#l8b^FZCQB_!c9n`QCu|ES4u(4E0ex)LYfLI3vHe>?DcvPjr1w*p)6=4Pd^{TQC z(a8ku&JQrshHP%dsALRPj5EiGhQ~k5W3i!ym1M}lX`<%Bz95i?jb;xiWGn*N0pf^m zQZ{h6Tt!mG?APKeO`O0!VuNKM%hbAvHZ81Y_>`qIYrhW_18|!T%+z>P0&j@qkqK9q zU(^^#jT}Qr^^`PxcH1As1^ooo{#OG)8&)cA<gUdP<PX9So!GpISSGY+s~ltQTwIz< z4SpfR!cg+b8RDs|Fb(0O#PivZ$Q#Tf=1AnH58Twvs+}HTQSuyY{V~RV%EI&N6=97i z(ec9)i)aeRuf#|iSxg*U!{8MmL)XI?h=6uKFj?GZG2pSK?Ithiqg8qQ5w~i^Wr}M* zK@rH%3hG-dx#k(XHojmhk;roKEY{4oOwb-t1)W0@!mzatek=Kx4<8Ccxmg_EVYOf? zk#W%kAK@u846arTU^aQJKn}&nqM1-DE8#ip#A6+@^kx45amEX1KW>1IH+la6aVnyr zqm^~$R5@Tk2U7(_#q@p5m(&3#*XB?VPa$jBQwt{bVmk<SgO)8>etbj_=!DWdA2&2< zX^*x5w(7#6({lN)kU+2L8g;4)wu_g2krP}bZ(D$mJ9>Y(#C5Yp<Q3o}0U}i2yW${R z7sASZCU;4Ez6h^EaJz|=6UgHHz}Q)|Q2ziC?`GzRu*Q<F7=6V>Nzh`YbcKr)6Q(e7 z#LBM`eiFC|Vp|wZz4?^Ng&;Qn02KmCI>4uv6$F$zSH3PXK!#(pzr>-EDwF3eLTC-q zw(Z|uB^xQXhPX#H2*Xf?X7uAFO1dBt#>aAjx~z@E3xOF8VlztprYC^)2}(h-Pyi!U zQL0gjf?5zb;s67tA*m!0o0?PPvViKNVgzG^A{BV@Pw+!CEgM6MDqDb^lKSgE5wJ^8 zZrQwi{-$n+S<gB4Fw-OIFdj9$!IsX^B<YGkZo;NS)AK{-3vd|ksMdwN0rzp(*{XJ| zd;|u#eOwsc+v?z;a41@T5yGi#1=Vir{pKjeevJ~mK@P_*;;>5ZDbn9QW-nY;wd2ey z#RFdtP!m*Gx&h_i%)X+zLEgVGd_=#b8`Wsgcjbs+LXDJTNBeL^jKJpem#tzW#yg6> zj(o!<bhy<xKkNwc3*;Z_fby_Yxbj7~&Y-t}Q>In0fa7ZlX<KdIP%3SD?16p*yy_uX z7c3%v&A`PIVr#pVvup!aVM$wHI(dx_%U0ltoMOoIB09`YPxVTo2%Npm=j5cLw|q*X zOMm0kIFibY)ok9r?ce4#a|_zqb9~&RKrl5t)EOZ?A0Fo+jk!`)ZpJ8gDhIHNVIZLp zw^yox5`|g@ixZ+)Q@})g5BUQDj{?3b0T#d&udaXON@2MV8n8NxQj)f6{$(noX-y-M z@zhid$)monY__j~Xn7&YgILrOS}THq!8uWCABa%QUF0ka5~@^Vqz(WK;ua@C+W3au z4n=P_=28$|hl!Ooz1e@%XIhvT9_}!n)hXHQOwEX~TW@yf5a6YOXhZpz5Q)N`ct}Gn ztF2xy`i&6qRYN&(PM|GLtSyD_nL}>Ouy>#A>JXe`9_s^Cx12cCJXMX9cWg}EaTo(_ zJGi(25{!e^W*r0WH3P8dV=c0uF#TJ#xkz~mYb8M8)xn<#+yELfH0$OrBrv=9t0L{T zK-M$jS411l2h4Pb6eYb;ub9AEY&&PR*mYJ5V!~UjTuHZW<u!k(%&a3V*hARBu&Rm; zPU@vE%rfB3#EB}qJi$$Ybrqk%5mYMdA&{yytGXR|=B7u=+P@Pnfblsh9d{FDWUt#4 z48WnG#6gQD!A-P&VKSs9cb5J?GYI#&gM7U+X4Q#d@!enCMinv+zu%a`!^H1;=MgZo zVna=ITm%=PwfvVUD}^e^c&|H;E(N(4#5ZP<d1&|git{tdIW+S3;xg4z!enuI>KJLP z`rHiYIAYS5Lw`|tyk2Szmezw&bf|bfJjOr{q7qqr2-MaDLc#KuZ;6tPZHSdnI|(+z zTvr<s5S|PRo(YyiPzsf!xC+kT9cBTBn4$|;qB=9s1Mip<v1rP=2&`m`%y@xPDOHDN zU{hBe*B27N&Eo$6v57)8!pecCS|dMxU<DwcIVjnf*JYifjM172qR710=evW(?80z5 z<(623LWrWO{-5R<g<rANMBWral;=Q|luDOcW55CI4n50@R?&;fh}V~rw9S{nfG;LH zF_}t%LI$YKzTgXyX|GlVCW^7RhQiR|8n)FBN6c$mTvT-!o4^HQ+_~7~ybdua024~< zsFd|8j!B}6GRfex+#Z3I7aWt9b_#{-+`o+LC0{I12|6;lGStODYPf4h*HEks?BHvC z+#==nqbLrKxK?;A+E(noLaXKw4T77C<g$cjhF6c`E6D>KiE8za5bfD(R#`uAP!Nhj zEe40;5R}XVn4*&nd5au{`equa7<-KDF*BmRW@#@WW8w%@3L6tw4NwKLN(?h8Fso~= zc!ofUE#bPX?37_tZd7j%Sp4{n^A%JYikPUE3yWZaWAd4#0i8tKn+ez&l<B)@IFCRY zW!rMKZW8&I0ciCcV6}{D1rfO0X|MCtr-ri>ycc@q_>@-Fo9{be<Ry%aUx*yQqYD^= zsNii6EK1@5t;viZ5TFAvX|cWU5qlafg?+7#$U%fq<4dd7KIOAW@hbQHAS14Lc^qD$ zAZVlzG6izPqETEQ@^aQ1u!pV(2hR+21jtrffW*jzwid&AaJa3Yp--7nP1d#woJ@0* z25LD=P)tA$d%*;uyc*5TxarAW2dJAw>2Rw!ZlC2YEUe#&z@Ch)MbF$BSyM3A!FS9+ z2Zn~&%&ajR1TPf*OZm>C&VY~#Pyk~D3l)J{-}d6|1`nGxnN|R-XMDLCTxcs^f#;~$ zT@3GiC&a6PY?0+$Kw%Cv*sck&mlba#Z0meWu#KQHI6abqYg=v34Br<o5J^ONFjjA< zu8x2K#?Pel0S>N076!JTD^@-s1r<fBO=Ic`V=Wt@Fgn-b4JloNZcJx$LIg5V>5XXa z!-~G8n<A(jcxE~}+66|NMps32KqOfVKi=k>ZE6AH0?GxhPf^(v6NOpk<x14T>#hD` zv{=X&gHTB4Ij>qGt<+VyAvn^mNA$vl50_XwAY=o{I7=Mg_Xdo_#uXLdg5a%9=s%7i zF$);3isO!<wx%yHk{DL5jblt0bV^pZ5@^HHEXtfK3%YxThiO+Afo!7$1i03bZ`{I= z%CDdOmO6zCMex*E8mVQ;rnvf*SSvRVeAXtp+<@rPmsl<JGsA=uk7=Lc3(P(26+a0C z8J544xRgArW1Rk@ngnGjTY1a?*G;}kfWrl1C6X>-0)?`phzz>{cxV0*t5Mos;?hJe z!pBgi%DD;)S+7vN2n!AfFt={%Vz-_+Ji*&Tk;Q-5(USMr!r;nrO2*$f3h^@~Py?2F z@fHCdjg=0quEU)-RnARDr4+=EBM6YSRPEd=vxuPZ3e;)W=Wz|D*eGCyNHi3<IEJt+ zEH^^2o76M{oYMTnN+CgRx|mVv7^xyE-P}zxP{}#+k)_zbkd0!pl7gzR{-zemTLo{} zMrVdG6I@G+O)FcN>}UnQF{X`cB(1nEW%-nK<Jo(M>|mWn3#$yXw`4L($&oQjhpJ;= zAb!bwG*E$fe&zLVK~L0E4nam!EEFV`W>=HN`Ib$vs%k2wX9WR|<$oHO6m_MjyQTv` zHimwFVGt`a7opVCOmd=H7Hi`Wa5pldxK*a6YOG6)(r3<oV^zbH82gND0|f!Qn(mT4 z(+@-0-0lL}ufv~G>)lA8a`|AT>;rvAT-;F|j-yqjHfS5KJBE4oEE3@Wpt=Je#9?l5 zR^v%wb}QM;O03O+YK|znfB^MG-%rM4LW0(e`j&>ty2AA@OxDyZz}s*w4Qaq}D3Cc? z>CVV3NrKqD=P?KdoWOA5{{U(<&_)LtW0b2+mYYzmTs<^t11BwQb-J0}qZZqj49y<U zO79gbaTvz*hSI?=lkpYc;j1?(t6rkQTPKe(<r2lT!*)g8YHB0XjSzBE(OI7cu3K&7 zHv033dvI^^i~&j(UK_7aMzJl!;suqe<MCRKwNMW0kU?A48x;Wr#}f>tJ?q4KNmWi6 zt;>`?Va+@DEOUvL3_!3#qhKyL5)OXnnAYwMo6BDi=#4Ea%ZPyyO$9}sAcSOXt(g8M zc&-y|wUnv|WJVdgvlJ?&nyMM9y73!JRdNe4nRcZLFVT<OLkuBfx`D?K<u#0<2oWd{ zz;r3B)NWd{or-dtb7V9aCtJaF%+4TU+}5fwNysf%eafyAk#S6lrQ%yz5v9kN;~wsy z-k5*XEQJSYvf}c#3q|S^XaKciEZh<>F@2`p{{XIQ#4Te3sfMmETHW&*;+%jCI%l3? z282~XwbT&qE6hdW;|E4gIm{xc1!f}+<bDV0Z2}pDIJUFuqUhPPD5P|o;K1LA6@~9< zVwOUwYfFDp%|}=rqb=tR%Q#Mc;K88lLcdW1vtm+TCfM6T(Cc3pFTTl@uEXbW#4L0e zdAj||50O?_9lSRh#O93$)#e3*mjE|)$ul5mS}!z4L1=a>8$VI4Z3RCZB?T$9r+M!E zKrmO3-J<*7#7GzcZM-I>!r%=km(ALyy(22bmV&bP16m+#e^Xe&r+4y*8AU{VJk17$ zA>N2B5GF-`5Ud5hjCVDW+5U`G;)R80n2O*++9$osRRwKs?_7Q&#+MWUj930f3Mv(_ z*1woa=yy;ubuwfHoSuBXWgQKz^K<x(=Mwsdy-r?L^1XgzQ<T{V<fLl;VY$sLKbZMR zx-5S>m_RbWa^rUTpc>GzgE`0CN{2x6S^df(3k)^^?hyng1Ds+N36XBlji9nF^WWS? zLu|Ei6uz(;p!$B`DXTH&0gGI%b1w|y3%j|zmlf#Dt!QTzyxHxP%EAj}SKP7CxNlOS z)oFBoAx*F@t72Xe7V104Ftb&m*sXb?nNrntE@@*-27JcwJwbF4Fp`{T0D1SBq*z~1 zC^Kj~RJ=iAnw+r#D!ejPdYQ#FY_29!RA_LkG1bM#0!((b<Ct_V$)khI7RyI8%df<0 z7;zRDEOJ(&yJrB)agFq95fNltF28cYtM(jDMBXukCA26&-XG#!>MqU&Gu}k_gjH!A zT_^a1vw#eJM@R-SZoNSb0os)fn-WJd8PjtnX~g_MjJsIWE*XNZ;}8xTI*n$UT4s-X zv#8aW=(G8PkfCK9a>ZXbTiAKOsc@rerK`v0DwQrqFPe)+G%Hqh9>yk^1N(|a6=_d! zL9(H>Z<mj3xW%Jj0m*M90ZdFeu2YaRbz6Ti86}MhE0JVFLYAe8eb<?k7G2Vvg=;dY zU$D2Y3?~?@6j<4;Y6B`!8a|#XAfzBrSITc+nCiAMMo;rU+^Jw>p?C8xqo4{Qc}H`Y zuR}nZUlE~`84~mSd_+JFfq7V9t8f)ha{L9pcK$IFQZ-_-ozw}ysMAjLzdmACI~;GB zMx|&JQ*3f)QjLMT?{Q$a#TxP#DCQ=;jwze&Vc53Nf|a%ERiRT!eCp}(!~lcCD=wN@ zOJWbWxT_@iKTr-5)O1XP8@IT?6pT3ozlIs7BG>wsp9)8aOKqco!MxpRNtd+<qJXUC zT2sgmFJxAz8N|<Jfd`USAx50M$AF<##r7;-A$(fCWkjMB@Ja>C!8K%P_~PYKE!O(x zIXn~|2)X4>u58$%s!(!-X3A2EalAzi;SPgoY_>R{_1<&i^8(EZ$zVQlE6YnR_>Z^= zqem1&P=q+p)xkqSDNEe6W4Nu5maI~Y@q6YNagyfhuuD^LTl3V^sNP%Pfje71qwg>S z5Xmb4092rjXf!#ucZixcdvnPc76|QX10XpUEYxR`09y*)2t`pQ#~1etBAkI|kNXjk zHSPZZW-+y|4Ci+fXbLrE@$Fazlp8xzg8NN#8HRBR+rFQO;&@Dz6b6EnIgae7D8HHq zB*_x6p{YoF0}B8fDY)-~sFVkgc3g8JDX3c~<s*WV4oCAIw@|%$i{In|`R#y_g>Nfm zZKpTq#3fQ&K>G6r;20#au1SZoZK|F{<AL&gM;NfXh1Z{mJ?Lqwb*$oOLy$C{F}?LG zbxl%VuJFOJRwYGKkl@^O=*5;%b@2egTI2%hR~YdQSVfBmhpLa7D{V&#J4=8Ov!z3x zZ}s9ipaYNs>Ey=Z<6OkLw@21|MD+$r!|Aw<x-`ELsUxO}{{S#$!=qh9!J(J5FC=b? zUHrgwfr_?$vVaGS3(w*{vx5WmGC~avpD+}i4P<=8JcHE<k7pWRMX?1YffAKt9R4LG zk5CP0%da;K))cOs098j`<yjl9;cqUr*4oV29zn0nXJL#O4l@8%HYsfme-qxxFPb5Z zTM7E0%FnpqXIQ>w$1WX2N;wQku4U2?Ah4$X8ofthE5oT~*Z`r$Km)XTZZ9@EXAsKC zPc`VA#UNh1{6^DaigEW0a7N6~30Pp9utW%IJj>E1Z^XG9Ri!{8<!^|CYRwP#%&CS! zU6Cz{&_04-3bYY@_=d8JY}H{On0GQw#8akPPb4uY1hokF<{LPsY6cbzqsjiMY6`uz z#1vwME#+fy91KuJ6%w63{6NUTO+(jgM_~faSK_~M3XrHQ@_j?s9#mKU$Am8&OeEa~ zos$8ucULb~3hpIr6u?ZxV7wWZ1(2=Xyvhq8L8jY+bt=eGy8Oy(K+(y2ueqHf=2fQ8 z!v-P^Ck&n<(FKsF0MG6Ni*g8@x3aG*4Jtdaa`K;=BG>?pR0D(!x!$724MzU}E>d76 zfVJ^;c=(p?4nwuxCv^4MG<k>2A2y}M1OntN7QR6-?&X+Ds{LXsau=4*Rouazw$<-^ z%#Oe>L$bYjniRV<{@G{-w^d>0{l?M8+kw>u{N2K0KuVc-10QjY&aE1ASlmFcp+f4{ zDNP3<%U6iCUJbKrIYX>-Fz^@>gV=L3NQJfE3DZQrWKR;f0$?`s-W;`mnPM15&Gnm? ziw2ZXf4hKPR8fUqUBm<FQHAf!w79`den<eG1`E#>C>2j7`1LH*MKCYsVOb*Kv_COo zt(BX$bKDcM6lerO1)?mzLPKKcr6-h0$Q@~4RVqrEqif@za3L;G$ngrxRy-Z^;xCwF zH?3kZx(hWx8$MwWqK)yR^E1SDRt(1;2cxn70LgrX!{QLgxnay~^#;`pG|b}{Ild|l zL-IzdxP=MTP&X_sqMK!?)tu^8U#?|fb1j4GaVcfp8O}2<@)r3Nm7}v9$3Rk{I5i4O zhxkxLoFRe|;D{M2EQL2%c$f4#T1D!=<V;Xoks|8nC=V4;Iv1x@hA?g^ut;vzw!aaB za!U-mCWXJrD}WM_PBy}fC0l#13}dj<UQ)|h9NvhLB%4*0-u=ceC>t^UBPpo7X77lu z0eK8Ne1UKYv6AwCI+nFz)O+z9R1QkZ=DPI^9&T|OpJFR7rMg%HDsOg}vK<7eFotVu z>St&hJM~|2>}Q)E(b*PnVe?;bW-2w7%l`n_3eq2w{#0X91b9?Gm?|6aoq?HJ-1(Ph zk1-0Y#b$^kH))HACPfnY=My054)WlbHK_YLBVHs#mLcW<?Jz&yBj;t%dLYMHJd4Ns zQ7dbxM|d*C6~Ac<aQgEp%2sn|#fce17qME_B?ZxKwSINDA}}`5=aL|URW2**wgBF6 z7DfkO5iDJ{xw@vm_6Sh|lp~!C#)ZA;9^z~&jTgxH>I4Z;Qnq?8)D)@K!rg6Ij^Y+s z0BiFyimBn}Ef3;7VAD;h-!^hf=oLm!PsGXv?Qj{GL275sM!<_%8hpy-M+;c<P&8~+ zyxZq+G-%?jao@~SSQ!YS=>Fk7;&)AN5g4<q@Dq3oCD|8<prB6kaehb(pg%0Kjag{d zRmlr9C3#JH#Lq;^4jQ0J+7c<xJ~0$vRV1o1kBLIlW`JXh^%Il~1@qjx^!`ZWLc`h+ zqJtyM0Z(UA%r*_t#IYuFXFTx=9opq(BMMq2van|CVNtO7mD`)YQro^rn~Vr;C5_+x zn23ejcW>RxY^Qn8u?iCTw{>JLlmgb>wK8f4PwrWUTW@5bPy&Uyd`swEM730yQ&49k z;*$t81A^2(ac%}$hq;7QO&IZq3EIR9awPzB%wnLhHX?rz4w3HRi^?rEvLJ*=qn6_p zK|u?6zULb%Sw($8prtrGLX632-Fks`C@3cUdj8^q&B!%%jeb5O)^OW531rU4-xGu= z)T|Y<?I6-lZOlYKET+;3D;4;0`J0DDFl%BhFieJ}GGCzkg6VAp)9<NDtu?#@haBQp zMaHfuxA=lUJ3Evr4~Qo044@jAh0r49fO4sxs+M2}0u@y3^)30<%sdpuVY^lH#wc)n zOb>KvE4ww$AVJO5y^i3+Kxx_dK?>n&jd#R2xTM;LI2_bF1hZ(aYr9pVFBty-$TgT1 zK=qx$3I<(}dM+Ql%AwF<%{jUa4yw$!W!e@dIps2sQGiwDba*DG7ID4*03ccDo(cWb z7BYI!$e!Y~UNxPM7q5z&S7f2&J>-Lc2EyJ~!6=YmuJYT%2{ksshgJj$hG7jFyb`%U zATeJKVzH>xC^<ju0Jb5lj{0TNvdWe9aX@JS6a?%0)vSm8h*!+oquaSwm{^w4!nfjQ z0Xi#>sE9)ZGv!$POezBgpzMQK=wmPZi=uon-Ji@ULODTynAKwdVSGI98&bd`)#apq zr7eRCcsKt5a~J@z(@ilb3vGn&^8{n5^KE`$2OQH?Gl3gSwlpulJV8ay-5nfC4n~Md zH?X{F;J&+qlwvKc_?3`_Qs~4RuHvVcLtk?<JQ|>YLDHXcf<;coY+#F+0Sh1Ad*T*K z2?bFpz2W>!PjLgZ%)#&-qru=jOFE<O2J=`hwQ+9B^vz1<Xbr&CT`3g>Uw&nY$nG4< z_D!Pi?p{oxtK6goE0R>8u=0XcYiDp6!`w<6fE?=O4AFI@M`fOOa^RU9mvDDVvh1q4 zLl#^VLlG)%^3gTHWsjYGOERf0v-1d7%dGRq!2@g-yE&C*m}aGcYYZidRjEf2E^Cdz zT&0T{$Hde(mTN08R0!srHs|6HW_$|)+P(XNqKpMN2t{dGIQW?^9}pJ*01&6tAp~f5 zPy+_KsI!3;1!~|yrw(QI*N~LHK+v?+rs%!#iJnz5fzwdXP-&a^f=nrweuSkS0m3wm zzqoNo)r$200CNzfTLnPu-g$tq9?M{^pg1ZKMJEFELI9w*I23abC9>C}$9|!e-DUvb zFj0J6>io9GveCO0b-{7m3kC`fi-w`?>e|}yc#iChjw}u$fi|2}(@Rk!TY}}w?2_oe zS}1q{t#<)K;>^<Gu@``Q0xdYmiH}T+Ceco{8bH_sUCZ$-v!MpWb@dIGkn|k8W?mGE zLKT}&QjkKu*jI&>a2<|Eb07gqSZCfKqH$2G0LHoQRaxMU0n~LSl-T(BiUluL{kL&Y z3k~K6AGt}EQ$NAuaS#U0og5HLXzmpqR?mp0A=s5uj60Q~8W$waW4g*I+miT$21?^O z8_Dx7{i-QVr!v?MRgo=`jJ*fKF$=xpI@~qY(H>X~aMcx<w!fGh*=DhF#;}&rmSOrB z8i{oUDiABLK?+#ZD#@D~<CrG|yOL|wKT^+8Q7z`r#8YOF29(pEB}QN^s2Cbk^90Xr zHo5p8%s~JZZsk%GTziL*D|(8Uc~NGbzqx6b1zOUVN5cWIu|=}OU}u5D5U7i7)l?8o zRE{s1f~EU1z!b(@)Up^wK2hjtnl}Fcc>KVry}tl^f4Ph-Z1nnqxKJpgm}cfE%W}xG z)2h6`8I(Y&bnQ9(%vU9B7jt+vj|Z>!61k<fs{WwSCY}tmcX#-XdTQ5ksHJeXlHuUK zEs$?z_J9=$iMAId0a1dNLn{Csn72_9SOuMPT27g`ZVPu`F{+@Na;`nWFgO!b2lo%U nfa|AU?+{?4;ZzA%Z_E0E%4H_o9HM%1)}gAY00fJ*{-^)hHHHB3 diff --git a/.next/static/media/mirage.b4872b78.svg b/.next/static/media/mirage.b4872b78.svg deleted file mode 100644 index fbf6f44..0000000 --- a/.next/static/media/mirage.b4872b78.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="105" zoomAndPan="magnify" viewBox="0 0 78.75 36.000001" height="48" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><filter x="0%" y="0%" width="100%" height="100%" id="e6d81c375d"><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0" color-interpolation-filters="sRGB"/></filter><filter x="0%" y="0%" width="100%" height="100%" id="8b7c048780"><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.2126 0.7152 0.0722 0 0" color-interpolation-filters="sRGB"/></filter><clipPath id="779302a573"><path d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " clip-rule="nonzero"/></clipPath><clipPath id="b09973a6f6"><path d="M 1 11.210938 L 27.210938 11.210938 L 27.210938 25.804688 L 1 25.804688 Z M 1 11.210938 " clip-rule="nonzero"/></clipPath><image x="0" y="0" width="480" xlink:href="data:image/png;base64,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" id="949f6b7295" height="152" preserveAspectRatio="xMidYMid meet"/><mask id="d998d8af7c"><g filter="url(#e6d81c375d)"><g filter="url(#8b7c048780)" transform="matrix(0.0942567, 0, 0, 0.0960171, 0.942567, 11.209192)"><image x="0" y="0" width="480" xlink:href="data:image/png;base64,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" height="152" preserveAspectRatio="xMidYMid meet"/></g></g></mask><image x="0" y="0" width="480" xlink:href="data:image/png;base64,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" id="6966d02737" height="152" preserveAspectRatio="xMidYMid meet"/><clipPath id="8f9f954d6a"><path d="M 0.941406 0 L 77.5625 0 L 77.5625 22.644531 L 0.941406 22.644531 Z M 0.941406 0 " clip-rule="nonzero"/></clipPath><image x="0" y="0" width="720" xlink:href="data:image/png;base64,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" id="c678aa46ba" height="228" preserveAspectRatio="xMidYMid meet"/><mask id="979f3006c6"><g filter="url(#e6d81c375d)"><g filter="url(#8b7c048780)" transform="matrix(0.123649, 0, 0, 0.124822, -11.358347, -5.81459)"><image x="0" y="0" width="720" xlink:href="data:image/png;base64,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" height="228" preserveAspectRatio="xMidYMid meet"/></g></g></mask><image x="0" y="0" width="720" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAADkCAIAAAA+QYRZAAAABmJLR0QA/wD/AP+gvaeTAAAB9ElEQVR4nO3BAQ0AAADCoPdPbQ43oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHg1hQ0AAf3b/CkAAAAASUVORK5CYII=" id="2a44936290" height="228" preserveAspectRatio="xMidYMid meet"/></defs><g clip-path="url(#779302a573)"><path fill="#ffffff" d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " fill-opacity="1" fill-rule="nonzero"/><path fill="#ffffff" d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " fill-opacity="1" fill-rule="nonzero"/></g><g clip-path="url(#b09973a6f6)"><g mask="url(#d998d8af7c)"><g transform="matrix(0.0942567, 0, 0, 0.0960171, 0.942567, 11.209192)"><image x="0" y="0" width="480" xlink:href="data:image/png;base64,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" height="152" preserveAspectRatio="xMidYMid meet"/></g></g></g><g clip-path="url(#8f9f954d6a)"><g mask="url(#979f3006c6)"><g transform="matrix(0.123649, 0, 0, 0.124822, -11.358347, -5.81459)"><image x="0" y="0" width="720" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAADkCAIAAAA+QYRZAAAABmJLR0QA/wD/AP+gvaeTAAAB9ElEQVR4nO3BAQ0AAADCoPdPbQ43oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHg1hQ0AAf3b/CkAAAAASUVORK5CYII=" height="228" preserveAspectRatio="xMidYMid meet"/></g></g></g></svg> \ No newline at end of file diff --git a/.next/static/media/omrei_abumadi.c2ce865b.jpeg b/.next/static/media/omrei_abumadi.c2ce865b.jpeg deleted file mode 100644 index 6c5d63e69f132305076350c5f99b29ed72317742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63800 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 S+ff`O0Zj^z_n<m$#C)lN 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 diff --git a/.next/static/media/parker-johnson.3f6d7276.jpg b/.next/static/media/parker-johnson.3f6d7276.jpg deleted file mode 100644 index 7432b9a500ad421ea4b8c0fc81446e733e5d876f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 663493 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 u#ele2KQL^n%%}=A4(3Mp1i${|T*JC4?5U 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≠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: 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�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%0DDuT@;ryFIT^d*l3{w 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%0DFvc)6c69cir!8Ub<ZR3@u457rnAl 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 Jr~2R2{{zE_=zIVG diff --git a/.next/static/media/piers-wilkins.c197a055.jpg b/.next/static/media/piers-wilkins.c197a055.jpg deleted file mode 100644 index a17deb3308f820b194f3a14a4fdc11fc2fc6626f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379442 zcmbrlXH-*P^fnj-MG(P)0@4LUs!{|3LTr?PfOMs*s5FyMgwTVasE8mXAYG+|9tA>& zfc)qsNDB}`kQM?26bL0GVe+4M);nv>r&%+1t$fM7>*Vfz_TJ~&`+0ISc{B$&V`>C8 z0&pDT;E>{w0sxK(fV%*W|DV_YEb{+z2@Z~<Ho)1F$2_@)IXTV(j-BP;Jj-$PA3zcS z;5h!j)&~4v7soM9uHz@TPxA1dVn2X6131RP$$5;6^Z0QtF80$A?E3(&v&YX#tKB|v z-s%bWWj{gn*Gb<_%G~+ce!=?pUs;W({?R<V7lnjHF3DYyzp9|9c|%KE2dI1Zo}rPk z3E0%e*3RDH;Uh=)XU|`FczSsUyb2702Zw~lym=e@?)`_j<djroTKboa%<uUHg+-|1 zlG3W`8cc0neM94~j{iElx_f&2Mn=cRC-9R~(|_g{7MGUEE0ooLTiZLd-M#$-`v2I) z0pR@KF8g1G{XgttJAvaE7Z)cN_y5?%aSYD>aGvElF0FRr+-)oFCw}KItG_-ecqi%G z&vqUe4eP%bp8Eghy(p{sNABPMnD&2K_W#bX=>Jca{cpqmZ@Z=ee4HHY&Eq@^00Ed{ zlD<sDFKlP^p}%i!>Bi=dsPIocWJ%W=!E^&kcRCD&9j?k-?HSTpASJGi<XJYCTv-y| zbIWiU5)Ta&>FpNLS2*2UBIkpG1a3YZjgNBp%nj=x(U(ig*7YhH6D(qWiu7z~<kqNQ zE9Y}N@}k1XAb4&=(e43P(47*gYpyY%&)?2vE~mA)ErSMh79=Msv_%imu1A2svri;3 zOt?fwmt`dKI|LO7+ke`P_;fFlC;SK?ZT7-Uc#(b<tPga}MTF!`TWFCOy}+IltWwaJ zRS;Y#?`32IZmTTxmx9lW*{oF<^cA|0CdjwPxz>3X4tAVSPdU`TOkIO;ih0OTa=pRe zmK66>kaf#p8`EXVRVCNGu|S|~ZUSAn&%%Q0WOlytq}cZBP6MZ+&C14eM&eOY+cYYP zR=kEjh<qCm)?9nQ*f0SC7AlTa&;EKHzaY^}AGKbh_{N#9uD|&R45uy7$NCwADX>7F zmxo6Hd+7?uU|HkOukVCeY-?!PiWlw<^R9VieE$-nB;5-2-Lk}_YjVcXU*AS4=2!A> z!YoHhwJmlh?PS6*WkI8VB^J2X2F=Ean}m(aY7-;P4sg`+z4{qnAlZPyv<%hdw_LAC zcikQK>sk1=E+9!Rls0vq7=`UiE^1cM<L5>dEv&t^Ffi*PMxHA|jiotwoLgQp0ig&& z59GQ)Z&+wQi}qV<pWEq`pU!s4jC7Y#4%^}Ux4CaM=rOpe>H?MU&V3I)0vPNd&9tat z^kbj0;4|;Ry*P;&M$)5_TH<*6ZBu(p%f{{m$#>#u$ZipF{o$Eou{bwY%a!uV`)=wj z<(faF_+k=K7K+ZhE_yqnU=$p3;-X&dzeHB8x10*z{08HWf^7K)2EQyLUe75*VTJ9L zZ$e-&wceUaWY<Mpofx^udydu=R&ls~KRMNoSc}kul!!d(-eEg*6k=vXg?_t8@Sdo1 zUHB;RW-)YE(k2t7^hgEvO(9@)G*NXH5gdI>T_g8o_kI9=<QqmZP;&!2C%8D4T)WF~ ziOo>!0xr~{7Y;_O{Y<BcO$U&ALU^x}@z|#?wHn~2+Rna)&4@6s>DjLjQ}SN=?T?Uf z{}jy&UsY=C&=(k9eHMKRjyQYdu07uNYC+2~HL!XFKc?|usd}Yu`p-pzSDBN?43F^Y zRj7*h9;Ox%8834|bZV9z_F;V2625@Q)2WW&%{@d~bWx_o>TF}=(~x)dlH`9yg|A3Y zvwmYdU}_ht7%bVHn_`i+sT(6d47Zh%Vce@B<bP}SnQX7^NDyKz!vm?0dRr>0e`kOj zydc+JjnmxlR&9TQRMrKrmC7BSHDQ8%U2W}XiEgWq$l(;(AY;{gEE%g>w|N8r;Ef53 zfP_Vl$+1}_IQo`&wuD}sc~c=oFQdidBF3KR-I#W^2Y2@uE4b{VAKY}Qw<gQ61#}%O z?2%~c=4UrBmW4S2ltsSjbej#;9{tNabxL05XLlqAJz&Ut+?avIC)q21>vbXc`i33> z@*KzY4P09vmrrSDMjXEsl9<&~RlWF_9x2OuRWXL#ln;b$$vKFEb;NdX@+ebFzv3-Q zgm#lSet9*FgHX4s`+M>9lz|IEbk#{c{Huq~PWS%E6~)brl|zH9Yp&^Bz5>FsS_tIJ ztOp-W4=+xeSx-KxxhT>rpD;zH4`-&)9~}W)KBT5vM;rm>lFLh7Zdr4K`V+{tK8Bu6 zv}(szR=F4qwzhMv{Hr_MD*hGuz~(YMC2@u{W8MS@_JE4QB1Ot})2Bc=6ZvN8L{mz| zp_}FKtMK!z2t_%irWVc1-b1r_B_0F43!gpXnr37~H(xdF$bKu+`rtiSSfcChiIXg} zr0rjpot|?3tnGX@W&_w>8lN2*blGZZjdic*u<7h3VVhQz(Xta7Dj*p~5DVR52m0E$ zp|)&#;L~dgcO2}0Qz~{1M43OaFt;~|pBtZ+f^+}S^2AqlU+zsyzFB{CA9ty&TwC`| z_D81>j|WL*lDbbC=072MK=Af(?!13pz$aC44-zDD4EgMJF%y#fts|DyaWK))vvt%M z=W){z>B~IsAPKZBb3C6W$z#acEp>?VM{I3mqc#Ez=r3{eDZAB7RI}fqP59%9)+_rH z^IXkiS?kjgZ%!uNE}&do{CL`6_WHx}pug8$h6c94%ckotlX&{6KSu!0IUP}%Z^*eN z-SI5sedy&N|NowPYp#y}_RQM1n~t|Ob3f=ez^Ogjb+-|XLu$^rn<B3&-ARy0|Ldhx z2e+U$fa0vPR>N~tm=hieB92#Q&gLex8*yG-0InT`;a5JRJW*wS-m{rU0M~b~6@UhI zkV|k_gg)PgQ`e0`{4K2NMU+vs+#oly)9t!^d)Kt4%Y$Ck<Kg4zgCjtOr>K+dTjc%G zp8_&<#CM}lIb$ZHrWS3i)5@M#k0RDwn$k~pWsV1!I_zQp^k8em83&G#0<>f>3^1o~ zw|&ScV6WOmEm1Y=2;eAUVeh4ieQh$MXeyg<W43+)YWtHjr`bKFDM4ej$keaNdYVM` zO`UORMn{syEAPm^2=4)(Rs_n6L2#Vh-{jYZ1;W%*v+KlMdCmn9uYMUS<nCYkViIw9 zK*R<SzbbItCd)pStqj^gay~opD<Ox6{8<2qTk&)(Iy5Dz9s#~tft$1;*ZksSJvSaM zoT*B%(B`Z;!P$C>pL^@XYkg6dEV=h5cukYTQL5eIcWOsY==;$OQcu1$qt@|^X*@f; z&I*qJZpHy@Qo-M41#&D#fYuG|#C`G+V9eK%5XJr6v&(W*$W!X`U3#KxK9H4~+2~Wx z8*BIg47(u<Sc1c>a{k-m&3)}F5NRxEq-8(;Nlz0`^Y6b63^{dYwfgx2ldyFdP@P~j zr;ftj_YiDvYKp7HdwyH2O$r8{&=xhmKgY)u*nc2B?6tR%Y$<5dFUDtY<eYbnGw6|} z;t7LYwWJuzEvT#6={vGQ5|3Ug>7H(%GMXz7#{k8nV-kRX`A@oT%jKMl$-cW(mBy~W zj~9C9UqQ=Me{cT)sXCLhFLnymwqPW0l-Ce%Jg>}|tnSdf7xKC0`NN*e9jAW+mFw4S zgk>tZIY&|p2RBte-9XtMK7?$8-7KQJ^#G0<OUhqkU4xq3d2f;VOk~fltth&+i0J9{ z&XUwetCvQIge~khHd49_7O{Wf-XBlpyCn;i5rYnC4AX6kw<@1w-R-VcWKPeTl08sv zX1cwLChn>7Uw)fi5gQOt@jj5eF5E{}*7l1l1BO4a$84@a^Ag%>>XZ((w?jc4EMekk zvz@N8rE+q2!1+%&o?E`?ZO-A?Hho?Ca*=IG4YQ}$=|z^svg<So5g2YtI0AG;%CDxc z=Nti!-`gh~>U2N~r}jTJ!{!V>JP0=XubODipLJPXNhN+u!`$n<QT|IS@M2l?&9D3p ze{*mCHH)pUEOdTxF0;4#Qu9!yJhz1+(o2(8W^B?2!G?mnHXVNM&1iQ&s<bq+RlM=3 ztvgNg@8pNxMiqv|TZfQ4r<MG*=4+N}Q9J#I7mon#w_3$m6OPB6swel|x@&(XQY8h< zBl!EH9W6;-T@GMztt<CE!b)V4PofuG_5YIe=3e@s-lJ|>xLIM#7XFwQn>#%mGt00^ z4XvfBzN60Q|2Ks=`$WH1a_`}nM|QtVt#&_8%=Bu9bhcDfRD?->I~CKH9nbOEUx)5M z4qA;k|9h)N(j))y9U`xgtHHp>iO7Ox!3n-!O_j1T^k%LqTe_k5N7ubntZQ2{qv#KI zMXPJeEH!}+QisP7iv82QUVWGi%)wdtkZbA7I>=x21z_QeO(h>pbIl}zxI&+Sf!-}R zUdcn#>XNd|GAUTBdDBUd?sIt$zaxO^tu}JWf+VXEH0S0pHs053u*;~FiQ?wIIrhr| zVh{~hs@*%_+c3aH2rIZ;*T+gy?g(l<2Du`TLbdr&`m3<k_OX#E?Fd4oW8$9#c9m;? zGCYh|$8-e3zh-oS_r58~Ht{+s`IIu=XK~j8H93*Vm@jP#V2qE_?2_78YL=y$W@S42 z?6a0@cFS88S16huccO1!38hgQAA5RX@_!~n%#c?`h)pdJzm?L^Y<I@q5rDVvJH)?$ zN{XB{)P~IFrZHgj(^AK7kuwt>$)bHA<ZV^SZ&LALETp1&ZDy5ASZeN`y^yHxu_>k+ z`{XJ;S-WSye#`hLqlDOU;IMC(zHB_`wSQc*lF`CN4I|1Eu;yV0LA?IXmBc>F2l5z0 zObdyGnh^+#_0EEsQGPqoj_214gr-L(kd#=(K`rcVAlX+i+vBE~zn<Of234MUZA-() zp|wOF<uM@p<aIljK;adg*)_(8BY<hj)9OzsabxGh%$m$`)ON!KnSq*F3ZXLBDPFKB zH63<WbH;U=ivE&c>1TJ+vq{NkInzB*b{v^rR8aagp3Jqo5Ql%34&e`}oh>WFW4{cM z*G#Qin%^l+c`-e;3d08beU!v)YZ1~)`hBUGrIA7JL+6t^ZF9RgJmqfHe$7GTvj81W zj0=saX#l<5l;F#~?~wKi*r$J?)|_Owm;6$q=yOYX)3t6!2hxfpN!}9d|73;=bNjw= zXO)@&?9r!(MTS3+0|v;BIMf-lp6?4DxPXBa3gLinzEsK5-c50NdEy8VRo{+7yLA*P z&@PZ})YL8fs5!n)+;L%a4qlWqqHaQSpHgr7dT%U2w5W7uN21$WL%@<^=}DY8)&l7d z(X6RvHD$h{yoyz)>WCi!K#PizLjAuhoDN%b&!K&KAF<vnyxtdBvXVvTH(rKiI{JJE z1oV{1m3g+M2@_`K{t9rHP`W2dRZ!ns^YFGlJldX=XRS{G{{Eq4&VL2;z1Htm)~V<S zQNozxy%HU*v_{$%7AD;RSd5QH<kpP9o<XjnJjP$%jB+T_;gVbyXazBCg-tCiHV96) zZYTH)c%QE&O|YINN=bZ;wAF_D0>FKrPw2XjWIxR!QdxKXgUo(pZvZI?`npE|U2{hk zc3CQ@UCKAOcO~=~ka;!UriIu9q30+)U%8u$`HmcI`Rt;%)kN7kS9RSVQsNZ|YoGZ< zDE${V!mF!AqZyS#D$;4&7l06QahJY;@DbqVxK?^|CJZw?k=dg1)ZTv*_j2b%RcP&D zGL!7(b&6=#nzPF|5zqM<NVnGTCQ>6L1BZRi*Q?!hC+UOeZ2UHt;Ad6sf~f42m&(;w zI0CpOef@~1;N}!~>H?n^#atMgKf&%#Y+5TqjsRcU&d2BKdr8N8tY7!%_tIW5g=J2R z)-MrW$9r%Z)Qr~<V3*$$L>469-fz9vrJyxVyFBB6;<}~tuGkUatsx#k5#*b+=2`c> z9&r^)A-G&(a5Q)m%nOUs4m@x1>%q%0W@!ZG5n$pC!z!E}c`1AY*drE$LqMZrlM}E) zusq1_rK*HPqDv%V`QEdG1l<5U=(E1=M1aGm5B^9Z5^wCmdU}x$^>c@jcp&bb|6DxO z*wXf$Y_@|&?X2UZH&rHO^axPF61<XEyttUW<ZuMI)~22NhEGCQVh53O;8wcL1H95; zw^^Te^?Cb(jQl^keSo><2(<4A;CFt1VT;k;Gvn*8Q-D(K|91pXKgd&0L|}_&5;Djm zmFkW7u($cRutQ?2J$3SN02T)Io*#Sl5$bqYOK>7>o$CJ|UzMAXIVD&%`cp#Wl#f#` zWw89ZJU>o8k9w;0_ms#N|B0r5H5fnlw&EFab6+nKuD)+@8rH(7#Z(aERRtdhbg5fv zA}7*Fg>RPh9--UWTQb7npIi+v`srLt!qOIvHNch8A5Q3-bT3#tzsNroxRQrH5Foyt z@y^f3n!$#P#=eDk!AHmG2@a>@*_(1v{|JC<^)bF6*W~ibY#Xt71_u4$$<$(%D|q0X z1uPKvFD0ZQccz+@cDD|rhfdd*ks`6kcV%-Ni4&=gE;VaDK7@hdPPxFKJcR1B^u2e! zbNt37n?}iAeRwBCTPsPr>E-MyiQR%tF3|lBwjJZttn3|T=_$t2oMO+IVRkNs5arzq zOM^aPEiCr@Wl;1dg+SjG7uYHsM5*SX{Q?Z&;wt;=AO8D_<hVV}EkC(KwOx9JOv^(o zKaxsae0CK;m;6^DZR4aTH%f0%RPaWZJT?^|vMWU&##}##sX|vvi7ygf7$uM--<tY+ z5q(B?)@H!$F0=<J>ML?Hp+iSs_s~jois<AvIvxYHOq*RJR`h!=pl%(bt!4AEM27T> zLszXoA(2M_bp7W%i<<XPg7+b!?E=_Z081NuWmqPgNocSq$61=^=KVD*lRmI8Iw62? zU$fFFL<f;9+v1W&6qE?$QS*0DUI!5z5M+wD(6HkJ!C)&GpB&86??M%g^?|hIO6zJT zpP5){Yu?|^LjSL?6IvUN00Mmp&qpAkUaV&dO@+^4dhBLE6Y@K;WZ`d7;YC{bY%Tl> zbc5w`3J^0YEP>=T?=9S@h&<yT-rVTKI(?WN%V8WaTS<WpFtue^fPd0ZwJ2SLs^=jC zJ;@W*_ZX4udCW889T)#Ygk|V?{6t$$rlU9RBM5>Zz}gT$(J{(_*t1i(iv1Wjp(M{s zas?Bso0?|@RKv!@-h0ILqJrnW@=r&bh|NjX&qbaXs$b9vfj&BJAt=LJKVWCJ^@K8r z5fX1$)dxP#gawT!N*dt)I_pJ0oO$M9uaWxA^sW2_>+%Ir(rl=;#qaEqpvF}MKd1&v zm0Z9k9s$lZTm6&iqL*hTpy$Ocz~5`n0WqWN_{Eyhm!o0tAulT?bn+kgeYOzEU>~Q3 z`;yUHv;4h3GF*8RTkf19*rm#dJXPv-E%b7lg~IYvYNsU!fD?fqhpNRaK<8!2u8?24 zTUG^m8!MxZj%OTI&O^7-D#<vJhNN>ouenSM+W>ht-f=<Yfn;HFg0IpBQ5F;Drn1Sh zXIhHXk~F3^39vl(lY_FOCN2b+l)rI*E`XurX*lIM@rFtIi!fmJ#sU6IX_Vu1k8)V- z?QK6SpnGhWSt0sZCZGyB4S|1h?b?F-`-(p%?sK}TSCIT#8NzAe^=+GD|K15#gw#;U zB)>kG1tfWWW7l*V!*UBjwmefUYfAn~{?P-~$8jcptB9AoG7WJgL_W`HGBsN^x~tab z5daX3zaVu+EhcH0{@{MW;s!f}oLB{y?FK9~J{|t-Qp*M)&UPM?mP-<8keyLXbej$N zLhR`|2<60Q0+NQm%zTAuE7SulW+d{($lQ4rCqgp;1~`qM|G^FiOQZf4egRw$z1So9 zZiNG)EV{I<`rY_GBW_@kdi=ef?ZU=FO0Ue1uO~_gU3bsRt~^{&ejxBbmoY=<W7%@} zRZ`zTRpw4<W`JE{slWdv6h!%6-{+L)#%Rsd0S^63YPO8kBK{~|`Okmyibis~U%Rrp zTCS0Alv|yt$E(z2_osFXb~6Gl9R!%ZuRpN!Mlklq%&CCYxGf{85E%yru|$Oz(6)Mo z8V}&hvq{Ms37+uCZ6{{i?Hhyh9~Ok}&tLI)dmzw0N0U_QZg-9GT}<lKDHNnNF*Hwy z*5ZAR08T2$g_M8s+^tav6um1WllP@sBLor?ZDFC!A8Z{Ef6M1Lh5{Q`n^=Bz?mxLy zuFuz#B2M_>WyT~dG!g^^IbJAyNYR*aKIQeG`efFi$K%Lb7qXVPo(bKp*V2kHE=t7a z-O2waOKRL3r771|z~dF0K`-9_H|s9DA<a6g7L5O_3-}rj2<W`jLL?QwRdU&yoqd*X zqyF|$?R8OJXze3u`KVJ|fVudslU-nLk*|00*1<&qyFMXjt}4}D=j5w(@5S+|)tt{I zJvd!BUY?&h{sI%@xwZUAu>K@U;)%}U&0x@VuD^G$2_hW55Z0-g5j%A~Q+1cF<lhtu z+P-OGJd}|2-2h7aRJ18f>QUAW>{3!p^2eaJR$NN7BfV5>F{3PO(W8q(K|k+5jsins zub3=ur!T@Xeu})ja*XVUD||6GU2Q=Exnh_0Gdtb>VA3tu=&kP{bFfSMDZl8Sax4B+ z1RdTUr+zVmg*}PTFaLY<-j}IoAAYyli-@;VhJ1Pk)EWHGje_sLxD=})VBk5Fb~#n? zc8M{P2-b7)3fzJl?R(Syj@yOndygp^&0stSe_44E^}2Az<Sh^iw}0gw;{tz&^Y9M( z4M{TG4iPfHS!evDFgV32jd;1aw*GqOGju57CjJwnGh@TKKi1mi;0eQhelJFNAnSsY z-k)-1pJy1aMx^g#q=yaXRqdgc^cH#ZGQG}1i3yP3T&`xvvartFcKox2%#qAbiu*<R ze9m%EGjQQyXPBvax<=$y=oI4aPtAb;Qra(@2^Low%f75kmWi@U8bdypT0CPSQ;1OS z2j6&6zP^!(_b9~jzoUH2bzMiM5Ya8{#%O1CPdr-BT4AL^D5$cW6mf$9!9TgG@)F&G zq^<}GW;vaT4*r_(+(U_|vaTO#eS1NQ#!z&&@mfPMKu^lFT3uQYRu%F85^_pErb0@` zBj)*Xk6ZpP5dIF@1!eRR^ho{Y$EPFsy|e1B<!mlZmg!SbzSG7!mkYIsIhhAqhi;g- z$StsskJr|jSk6LT1^sKx@EGHQnz|<~-4p2g`AiEoI9qr>q=s|rtG4kv?3J6H#y&ue z>#2lB+2FY~3zb$dABk&NSpQe=f{}d~_8{a$7tR!U&9C#oX>+V>N^j@9*f_EH%7<~v zZm7DpweiBL{_5y&H-wS4l5E=A?QfAUCG-(E%}|l4AJ0z3dyqh^Qr_l5m@3}fl|Z8Z zXwNf+v4l(HAkP@JYz`)D*jUjIzU`tHg1%m0NuwW^5A!P1fMq%-LUu^(ly*F+?;T=` z4%(a`8ZZ$Wb{hrhh7fQ^{IP)STp>Cc^ISG%yr5AVjxf7&x)z^qv2e3%M-sh1qUo?& zu8|8aGga}X5@2J4-Sez1Fr$el(=RBfHJwP<2|G8RWesm6{J>bpr8urMh0GKdeTSDU zncBC;w9w8WF<#!%hUa2TDTPIK8=C7XcY>%0^GM6E5FvDbvDiX<B#8CXo{;isr!{W2 z70#6`{P2}5AKG;`w`Tf5a%hv%O6A`A>)F+Q^BV_AAo+L+J-Yy{+|9wx3gH6>Z9Rz7 z#wxbLi1$lbYjGcZ+23@{JQM;OaGV?(+TAu={*_@JXZ6tm?{`&7iEFyi#p1nTp(+IQ zCx+cGTrO1`*@ZjFC|pH(HkI+*bue#{Bd|`)Wz}7Fu-x3FOKKN$%{}7_*Z|=sn%#@S z3HoWBQMR!*QAU8C-XV(+&Q_3Oh1O)AO0Ag8kh<Thnqk~x@&v(K4e!<M`tC1|?enxw zRWGpVw7d^`Z6HlL`>&<N9Ky7C1v{6;O|-(J?<bJ)f}2d&MKj9~80tV^@c~bXlK!4V zoN)Gbr)JjFxtV-Q)s>r87e|9ubt2Gf^-U&HNnOUM3IiWZ<Xbr<y|VLyE>mRSpzV4= zdK$};{=BA~Kqy{~MN-A@i<&wl&fn-xf6K<U^lhfsl#|=XIvnEzq|X1ro9$tDpe(}1 zI?K|$&%Aqfv#2$c6?3vZKfp;d^*aWcb+C32SJu?3Mm6azk%t#<?w5fE?AvrC6DLZv zYFvz|vWF4>y*d3({}$_E$;2PQ%sLmyp4Wa-w8=C#n<EfF%6a_TaRW6y>HF`qL4!eS zo~d5U+i!3zLp1VkmAa+xbp-B@xmJ9a5KyO6CeT7f9x}4Fc!MM(9|fY1o6AAnGJ@>u zZey;TU9MhojC9SZ+qoF6Ej;%)k76zqVoa>U_RZzJiUbXPK0t5u6Rk*xBsdNKdxziu zW1Lmk4U&(+g0E%dfyC_WPN#yraM@}F>E{`}4+3r6oZ`&GVJg%4%Eotx=YVG(jO7gT z!iKXe#>K@@Fs07n;2>4aNZodWN};TQT{ot?X{(%%wyvMhk6_XxUzu7A5mGh-re`-1 z=?9;GO8Kola*g;noFvLAU*d+3o48gs+vSs$K@4joY>xhwQYB)M_Zk|*yHz2;$j5`* z&jJ!*+nY8M|M1v>tg+RKz0>l*cG@1hby>4hy4vcdy)Tf_pz7jYNW!_by_hrDy*<RS zkei)n*)vv@Te0d~;Stf8RDI5bJMIH0lnFWw=|2FCfepL**)#hX#6WyDeDl%vAh;Nt z7By{_rrZ09{dL{En3&CSqWvhCN-EtsEx*w+v1V8LoAu;DR+Aro>}Q3PRqo{4{=x{R z(H?81A1lH`8I^SW&^uMwlI-?rlNtHKTh%NB9ReYkJIrei2*vcSJ^Bz3ATL+<Rfta= zln%<(u+20(Bo(qtkSS~A-}ug9Y+ASM0)u&#oNf%e6_6Yhbogdl5RN0`C>9!!)n5X$ zutvnkdy&wYc-j$w9h|0q$W8e3VZRgzngXGp5jnZYpR+wmD%2U;YofyH6JBTx*{>KO zGRkLiMn}zKvva5i{4a(8JH7N_LK=D)_zJ?N3i-&IZ#@aPI&&t^{WtN5yuKV_#jrz= z+1JuZ=ad9L65WOzRGS$hkg+F8<{*J`5xVAe4FzJ2)Ot3G-=b}@f?0R6lSii05rL`% z-o*IikfB>8>mITMbAfH}leH*BrEUPzyJ3kb4ea&YBSGKvUfIy-VUw<@0sWTph-M)9 z#ZDD5`9%BNwpqq3)AZxJ|41!(gn0|ky*&8jr|yG)akbNNK5&*(q|gCU=n83zKtv?z z_=if&SSe_JKb&6dGOx|E+?Gp#WDE(gH<Udu0#cpsK=lGin?VfTbgi^;pNMAcTpHJ5 zDrXmvGuLvbf>{uV-)3RaRz?$hfrjrroL`fmYPdQKuV1Kq<=YA#<X_A1Lw5GBe#r_Y zMCOIS240dA`#vXw1I&!^2*a5SizV)oO+u!xw>tc{6C-XkuzE7(CLrv=OwqJs!43sA zpnZiaTFF6>8b(>RUrrUx67$tcAhCOlHCuC(kKUKD6-Qaln2E1FIVX;DvasiZ569c} z*d6)q0d_bIb5{N8!VKd6Z)U{YBZ)6_>~PdC=A6Gq@YtQ(4?7fP7&PE%X?6IU9$|bx z_XB?Uy56b_aJi|T<wMxN*&ZN~S^Zt6Cn-hd`aP-S4(h(pYYixHuw?GK*qG-p-{5k% zyuR{{8?s9yLlx*=?$z<6Ida3UfK*$*=tqoqsj235Z{Iin&cRJ7t<TNDVcTYZMzkT4 zokCROLo0?g6BX`M9DaL0y}Tb05g_}+E9h*`ze&#t0bts6hefTjy;AVSTcucybEiz# zsg2m-jgxcEDbYU!e~1_=1aw``Rk~o;W%uvlN7c~koOGwHZbQNKben^25H3J$^Q`g< zU6kIdB@5(9Io^lf)>)bPMm&YjQ5yRN3j?^6^L?@M$xm9J7IeLR{Sa3o418)7@cH(p z+jqm&tWhj++W;b)U$&Q9#uB)z7#4jyDE#M~;v$z@WH;I>WzB_0Zwir~kzF*uo)s}V z^>TMOTJzvbhON5~QkKm9S#8zWdn)Xw!|31<psjwah0yCrcWa>^0UVzADJOha`<!J2 zaBE5FGUj52d{;GZqC!BH9S_pg>lC-gy($T7%*zGIoE?zvvq*8HPSJY$++Pa~Gi2}K zw3E+SYv)0|HT-vbLSfVEUz(AJAH{Z00w@F>Nu=l9l(c!k{m&4tM3n=vWG64qneA?h z#b6oXmMOFK<tuxk7kcjM5!oVIUxRoDgqGz+dR_g4yMhO$g&ZelujUjagJok4-GzV2 zTzGDi)^X-SR>I=3+k*T<_}ZM_h34Q#Bd3D%y`q=>(w`eUzqDR_T~C#3CvLsv;#-=U zW^#F`w5x#|CTrBM-U7D;%4&;HUq`FO2NsfgUFaOj){0a(fB8(YtKdR{g+^WOEiv+m zC>iGvjSVhk*;bw|i#dL7Zm#et3F2)*4%z$m_w+d5$yIU8^x1aVg%IM80M(x(t{xMw zxU4lC{$G8<P59x!C3SAu+!F$~LJohuE&A%3!6)?4!}eU4w&I`K(m#(*XuLZ>eA_gy zr9HkiS1usoKQW^G^Iz}PNuc;isn-enBHuSAR*t`xzdo2D1{OY-=6wA5!V43?hIluy zr?>5fwO5zop&Y8`#Kkv+le<e#uh?;Y>RaL5S+OI)xk0M8b%cwLjrqG@gKF@tni(q> zH<`koBwV;9qIbI;nw_jrK%|cP3P%+jPd%;{`y`o{%YN~i9$0Ln9Vf19eawh>W9+4^ z@W$n*4|~&JoHPhJsO94;UG(6V&n=pJI1Sn6nal+PA%ypCEuZoMXPRSr4c--MWd=Pq zKY#fgc>7*($`gOAY*zY!tiPR8n)r#0((j)I%%aSqwA3uM006yiuD7cuFY_8h+J%9O z9MX*nK<CeLE`v2l-h$#lfcp|LR;1USG8)C-VTiw`ys;STwfxDE@c6n~g0W;UR9L#X zJ*Mf@*5bK<I2FV`=&xyf;j5I0gi@6|U3ZgUT-(Pa9Be%cO<pMXN~!&Eyyc%9T~TXz zx(|8-r|Ye{mDueA(oZ=+bco-auwTKGS%|;p5y!w%^<J+iOJAh6qYGw@^1Y-U*!{k3 zpW^<h{d2UQ`{f@My#6R%jW{H*v*b!;LFR;t=0-)niC><QDU)dv;owwpgQy>lqlmJ2 z4B5n-`q+89zej*|{6D-i{6~w7#b54^H1J}k3Dg-owc}#V3K3~;kbI6QNRgcBu@-tF zV&m2wskLut`bpXNg746|>-pfusoZ1nwzj}b|IXiWb&Vvwvg4SB?@5Q+9DbQ4>-z|` ztiZ+bn{`6gkZnEEq<!iV#Cq|Y((G>H3vAJ?)j3_=o_G!iYmrBm(#Y3R(LgRShb<fX zAaC4HcA8&?FMrCRnG;bzc7}o%67SQk1qtzXO@&+4Vh7^BAv@i)0)^h<&Pwd!**ylR zLak7k6k$KKxv|Z-{aRioSKm`n3tmfz=pT5(6(}}r$38;+OICGuHffvYN-Mm0{L{yv zn~1mW)?VF6*F93v5g>SxShF9>K~5M;G1c`_3fVh+gBE`^9=LuZHh8bXz0_e{XNqx8 zI$)Sx{0(Y4auROcJ<Ha+s9S}$M#qm%QO43yu1Z=HahK2r?8Zdd$$PK@auEMQ>bbE5 zHbFOR{Ek|q^@t<Ir;?d@X)moMG`yYeLAPBizc@`NjQRMeBni}VA257ucg%Ok4`wHX z6lc_iEHQdzQ~IGF4x2)GCQ5NGs@C9_*OpiaT#K0>L?w5&)wQKlHV<uSrNud<LuSk) zM}k_>&zaIH=RfY}<j~Pwp~g5{p?iz)k~)e_F|rSS7f0nVy=Kb`j_->xQZ~J^^i! zc>Ai$w%k7Bt!IynXHQ%20(#!(hIY_S(<Qt`vH2$oJ@Fqq6`|?GM{D~J3nh*K_!)CH z#Q>_{seootJ)XA3$9r(GZd%Kcmd4)ZxAg#N60<E{MHY#6b*tCye~xH}IV;cB^4Wq> z^02jA)qGErQ!H<9QI_T1Tm|a?M^lBIfvDtt)2d&f6^bANuen50&CF@`45RIXJ^7sq z882_v(1hF9`AzI?Ue5kNDj_ix)i-^Zo`;&%BB`4_m3L|3=4Q~x2AeRWx6KMkjXR+b zf}2`&_PMGE#9W4{ee+Z1Y+l~7m_!ScN3ys=nW;izymwlqV$C*}0$1~H0TB0tI+d8S z&jSMVKyT%J;FK8!v#emsQcLsRl|fmO-B)`Mg0=)PfMglLt(Scunp=PfAH!>btLWi& z(pP)`WpCyVmceNXkq@FmuvfxoD<&6SvqJI7wRrMs(AdXh`wi2t+9G5EH~pWvQi@{O zBPZ-1Vw!${y;Ex%q2w$eS?C94k_9ZOT46b|^1;UU%FTs(_&1ho-n?qAU1LgJYD?-a zE<vJ;rs0=iW`T`jAw!}5pqz_h)>RQN!9r}=K&b*VkHTweIYQ@`eFj~m3DXzq>PzEo zma&#@2AxhwFJ{DIU;d_8?h)WVB5!+Ew~~H*rhI<KO^CJv3O2wZfeLP}B>b(cbj#Rj zHeci?)fGaq&dHgGm0ARG7X{P4(@F4g_E9|A<E6F!_Eb;zeR44+&s2qpFoE>{iO}^_ zey5TLjm(cT`c(f*D~PbQEs^JkxTG70o?-`!^jdt*f9|Bj4vh6ubt_Yw$rlUke{y>g z(LJ`kxj%;9X2iuI8`3QrU!74n{aJ^N%AV#ac{6oC^wz<#VQ07a)lv><f-ijraS|?z zEGIqsOU2KeoY|jm(MQ;fjV&-RmxS(LR*(L3h2XGfKbt;^d*W3yjvliq8M)TN{(ZGc zQMkkc!;_6Ldj?I-?oknU^xL8%H1d8WnWZUghdZH1`~5G<eOMqc*d8KNEIJZfHuc>Q z`w$+xD((^-#jr8Xi`ZY3hkQ4p!3&6ykr&sCVMTaVgQ=oH>|(_u3c5PSKbwcc&wd$! z%})>zCa+`MIdi*FHv=9Gnp4Cxs|m}G+y)eqvf(SI-3N6;BQHfhYxR(Wy{l|1FNn63 z$Y4Xt)$fbbFcaEgE3;ojMxn>eRiSs|JB?}ZOce@=luT#nWPP|FDv1NwShwcbv#|Il z;JN~dk~OAU^fybkQq%nOi9Z%*zDBxaNz?)5j<>cY8e-x+5q<<f;hq$B8R;8Ere@Wa z{b{tc#~@UqwW=3MZmrYM8}DV|<hq-FE8frhFxWq=$LPKT#wKO!QYS!XjeuU5{SlC^ zmB-&mr_-<9zA{m^j~Jot$CWQ;do;+r9{JcrDlwNYkCZP({G~^7B;OL;3G=3+SNGg} z7X&eN%@b%GI&F?0gg&5;>(t9mq>s}hLCaR6i}8L0td&jWCkB?k%T9I_?6t=?1Hk#d z@t6tNL9q#}%6WgUPWiPue;KKll8-?+Hkn1pV5J{cD)vViKZ%z_yDFTS&F+uPIn*a& zk7=a@0T;J|7i36<Cm`CJ2H3w3Lh>wh$&5Je^1xBIJ7s1~GQwm$iNP*76fGSnZAE)f zM>N(_N_=u{{e=G2M!BM<kU*wM41}yB@{Og>`-u+0L*9l|>D+V|*UjsXQ$2^=aROad zlNTeer5MtL6c=0A+|e9;vPRw|imWp8igj1e<y_^C6I%-AZr=U`6X_Z-c?cJ5_)cv6 zRzUD6Wi`d_ZiLWzfuGVoxK&+vE)|p8unNe}B;gqxn@^ubz7Y#$UTuOrqKpxL@v0DP zvm9Gz^BDu$HYuYCGxNnusZKr+ELz=9N-Tkiz+q0nllLN-*vc4W72HE)GqI!ahR<5v zzy&m#ws-ODzl30%zT)@nESGaFY|;qF_+6TkP;ppWMPNxj-fn24usN`tRVP^G$0s&E znXZWChv(8ZBK9wodaWOZ@aQJD<WLu}JyppGxpNU93oo{yC)2P~zQ1aG<9?O9y#79A zl){W`skXbAV&3FbU%5E?aW8ZSzrF4l`?Q-YJE(_~vCB{j9t2P6?becB8zR%8z^>3a z#3xUcoiL%~2l?@0+xQDA&P5A?jVeh%;Dgz=?6COX7w3sJa@$`0_)%EK<?GY+lp%zM z<90W8?g-FRwRm1Vn=@(WLUuzWZjGKXq=JD?u+w?}qP_J)C}5GvrsDG)!CF}>ciuEz z!@}0+E~kY_K_~vFme|CNU%8KLF;i?0uCM`bRpzmAPw@wh+|(?X$wnOk_T^mu=UWU# zOcmCUL|>KR?s8QhZa)480`HQLYfk7k{L9J-C~>nOZ*=&aH(iYZdO+&!M1V3FSZoKr z>*>`$zGGy^*2@J7)~J)jp+az1_T}c8g7l$z<Ts1LN4>w0I(>nPuiiY(&L%xeCi&#G zk*MQ`R%=H941&rrkCvEG4$2g-7-+l}OT7%JXiaoiGWH(r;oe+Iy7hGZl!B_m(qnGA z;UDc|!*i7)9ZwVsZLW9S_}De%x|45TewnC4Y<+n5p=^1}tVbCrBN+W&(NDt1;UcB< zm1p<rq=_fh=o|!m1PJvX?+<$f379vVYM;J8>zC*oe^HN9{2SrLEq#66cmY#pP_~Ls zpxGj3bf+~>X3?9vsn^;|8g#jacYr0m^V4f0bG}aK0B**+=VC@JcxrMJUEnKEDoJei z(*7C8!cz^5(9OBWz801!eLeS<mj?~RT<l+=o-ULMu~h|BNjMww7smJWg+(xEYxtNS z>Gde-LSbccT1$jP%O`1{JF66Lx|8u9O=&PtbA+?WJNDOcQQr%uuiIC+g=u?*S|j$6 zZr5^pQ<A~N%CwddGy2$1m^YqRWJ>D37XHhH*~REv8xNzdhd%cABAI7BjR$3fBEV@k zv%<nd-mAKB8e{#=s-^OU=cCh1dRHEbJ+qGSZ;Zgxe#i^!nQHsc*<kzPhH7(zET--) zm+xfH1L;5`gv#RiA1SiEv37tnDDT(33ug5tsstvU@m9f!_z|i%MTJl4Q8DcLnk2{y zn=VV6J1g%j&HMG=+9*mkaM0AN?E8gE^iO{;_s+%Z-#7q|ZvJ}sO;mVYF3~1BB0<+i ztnhcZzR<#217G}Ei0J9VZmFG)sy|V}@@VLZh=U@6m(oh@9V-Z>fz!y2cCx@F)+k7^ zUOA4Wb1Ih;Y1OkTa3VRZaD^2C`hz*oKv;XZc+^!t6Q0Ix!*G4>@n5?*h8CaBWLLY# z`(Kc7!ywj1w?~I-QeqFyTaR@r-{Vq@pXAb|zHnJ33_t5?&+va!by4t~eVoU=gvVb? z&uHbo7p{tl^2_Oihe||Tz4XxwQ$<=dO={}bn=5|qW#gw5`}~DlRsz`BZ!9TcGAIap zn?p1o%yZCjRdyREtHxcaHAe<^YexMPes6xb$JP#th@RoZZk&)xO3D`M1#&G{_&eF5 z2TocY0sPI%&Yt?)^#1sxN&XYYT%5V68v+r4I_L+LU&<eZ!TADF|3#rrcKgYt{sjXV z1+Pb<F8e1<ZvYf;Yj6X?2VTGDlvf4|D+cUHNjO4WalXpRghH;GtCgI^_xhmRsY=nM zLxa≪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�*x9&Kdy%Ol<T*i)E2M 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 D8I~%z diff --git a/.next/static/media/richard-astley.599fe903.jpg b/.next/static/media/richard-astley.599fe903.jpg deleted file mode 100644 index 953eba2e619eaf5a492220cf0d957ca85f538db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 591814 zcmbrlc`#dV{689{rK)??&Zk8cMeWqq4Gl%@MI&udYovC9=&n?$z1CE1wM1%3LM)-w zz7!>uh}a{DJt47O-}}4syEFH%JNKTM^T(NU=9zgt=Q+=Lzn1smzr#tuITItG5rE?u z2giRL{{aApB)~lY$N$gce+K#gIRppCVKd-7&#{|aPdPcx1CE{N;5^T9*anaQ0632S zudxCD*THd&lk4~iZl068r;Z*#p937@;N(2U#d-WV7uV6#kw^CdT<4EpxT1XL#6`<z z+*kcBsk~0i<B_~u*}`u%xF)6g-2cr<-pc}lLc-G5WUkA~si|vdYH8oPci+&+_yN$w z+Q!z-{;`9ji>uoUcMngmfWV;OkkByL+js9jM1PElO-fElO-uipk@-Epps=X;M@eZ_ zbqyMWt*yiTYHj=7-qG3BJv97xWR&o4j5swtGdnj=U7#(lZ)|QcnA<xn_W$7G0C4{A zDf?f*{vWuGCV}G^7Z)cN_y6GHI2Lkra-Qcpent7jg*%qq&-^Z4Re8;G>26|PWy?uP zRjW1r=l+Adm!;IEq}Trk+W(2{{~fS5|DTZkZ(#p7E+T-BljG>+ah?Yl01oVmN2e0I z6XT5p#Lf(k^SNvdG)ADa77{EC6|7>n3<E;=%3t25CAO=sCO9|BUh<%gng&|hMhmux zUT$s=Ue9K;U2;<@a$}0;0$U2@uO&Ns9Yp(yCqRV1_vgh(gvQN?)phlUQ}e`bSsxcf ze$PJy_#Omn-e^#L`Y+@86TS=KGyWeY`NY2k>V?w!|9X~4YwMJudmv&BhX9L)d8|%- zhzU&rvaPuvk$}RxQ}`A_U=7C>1qJV4<VeBZpeQ|p@txB<b8A+jq?09nRnD@hUPot{ zL|6ev?B<%gze`!@8*V6E)l;j6kT%Jr`KUV*Rokz($~x&ozlO%YGTnLf;<Y3~*MOp% z1T?%adAQZ&r1?!V<T6e=pANCZg&5Ch#VKByugH1Olb%zQvrNC1bqJ96B-QOYt>w3z zGd$e@eIA>4&QFjN`;)mRuRHRnP{_X)i^N180tWWb2KRgXyVa&q$3x2Ca2PCiU>fy7 zL%=bj%8<+RYP;Wi=h_+eLC~g+vR~XX(GOA)jkMr2$sYELHLD;g;pbd7xo5_ergT8S z7jjq6TjaEU<A@fk;udvLC&w_=pQ2-jyU0*f@zjQX{Cgj@t4)H9HB})%loQyNTDO+~ z{|DC|Is{BXSqWFK>Jj?)p81nr8m&Y_bzy#e5huLmZdT-rfE)tk<(c-Y+tmY~d4ra0 z%lgVvlkGO_B9k!qH7ay%6*MS0NMA*+S~_*!<<6`Xdg%LWWs<5zi+ibEQuwLR9C5>S zwUkJ7P->^-B!qAqxSJU<Q+)SU>Z4i)(T&&*a4az{bE}G_K)uTP#^>gwCz6m}EGmKW z+EfmW51vi(luFwdLr@nDVHN)ArH~0W$(Dp#h_Ia|^M*zc{_!l{40v;ALG@KYypaxP zzkIJ%tT|m8;<UR;EA~EUsQP4b;7QqJsrEwX6*IL7J$zO2$9R>w0y-o`#rIyvQ5(bh zkX9i;8g-1w28njbYergE*^MBKLY2Vl@89DTFsK0EdJf*|Tc0~>S<%DAGG73{J(pdF zYC`OH2<fK5WH?sUB-Lm-X+Cv?0V~7ohS2LmehU-Y<UbOjbf=}l_Pea|ZX<23Y^rFS zUtB=TZwrM7j@^#<DiV?O&-~p}bSer{0$B=Z4LW;1^y5RL;!DfGxqoV}692vl72=-z zFCL+I-8w0iRj@qliNS>HuqxWWc%3Y$sHYgQH6e!p$>BZjA{uU{BPeX+(hZw0=U!?} z`K8THPP%A|Ee+?Lh2-P5t*bWCY(4d>wr<v$mw{dgrwSrlA~Zs9XK)()UKp7i`oh7N zOT^^Y`?zueE`YsAv~NKCEhgmo8hzlTm5Is0e2JcfErfjtXs+8FOLMr}AY+Sn*CH2x zj~%wjU7<tZjW^)K5x4f64wM!Tgq^NOXqWV<kUqA3x`<i6MlnC5J)ph7?MTnhez9hm z>ZN`o4P(Y=B0}8@DP-4(S$XqMfsIwOu~pTCA-3WHmZ1;WFN*S{#My@oo0Tl!erK!b zq`6~jZF$F@S^%!=Y5QtZrABvhua!B<Wd&Wij?8v+^gssI>m%SFDW{E3IadYb%moEA z2e)CKQ5Fp>)YKuMO}oMArLVfvw`wTgU}xCz7>U4~F=}?aGJ(t9?xJ9sR>?qyo=p}G z&D<F7J_P6;{K}p($$p+R`#CKK4$|M(pIH)<xc$ivWBA@~O3cXNwq)Mc<bi0A=!>TK zRJkC}M#&(!t#_GPc|*g*>a17gIZT@K6C{Q$<VbDlahmQO)%IC`&#gVl`N~|oUnTtf ztK%>2dt~h(CcN7t3ONlJxML*2Jw2wa7OU@?gpWj_bCX!hOg+S;KuhEcvFCy}B<td@ z!GljU_n^250GB-Rx35jo?(j=rzx!mgD(b9Krm6e3XT5$1zwPsRmKb%d2n*Zq0c+qS zkWpvg7j`}Y@xz6+szB)O_o?db+lym*0k4OzHjZmtzz7TY`<nEDyS$;c;~VmBwdsms znhJ0cJ@o^`QXX5i(CpcFkDvF~<xC`R|Kt4Od~gWZcL8mc)zy{+SA#5|r>_s?FV7Vq zeG!__CaT_##altWkooU*&tX4ga`9hh2t-WT^@U{8%3edS^7+^VHDm?Jn@zFme?3L# z-9L5816xU(tMCt9O4!Uy@Vs8|7vqc|JZ&9%m#&^ZuqD5PpAr>d2d+Y26nyOhTo=;P zf17KNNX={yEg~i8S5UrG20kePTHC=Ll{T6vQHd<ob;?vccB+1<e%Q5r;+iMNMhxp^ z2e#P!>z=B!uL|Ve#2ZgNHoYj5Mq<0`gJew3<UHu!-pPdFcQl8G^H{0tXPNIt8aTt$ zEFb<UKc0TPF0zhw+iv0JOCCLQ<KiAdM>pNtR|6MLL%G%O)))_3_0R}$?nmFg!iC*~ z)sCp-hVb2BuZws8NcV){HF&F)b?IG_g4ALy-GEM%9OhXpG}Q(dUN!~}Oht!-%J8a% zvuIG`-{eIiHmI0^Pn?Ch(|=Dp$)<eD_~j~*9<^P!K*jpRQ}gZ4w@+UkuPdOyLxzh+ zqy9@XRWzCt+%5CPI35BtDRs+i_q|KjkB5<WH2q^VCY6<1n%hIQw}d2xy0!}Ut7GTq ztdmBH!{j}w8_WJZ(%D0U#^#7z9NatH*N0|+4KAFn>uhL}s{PM5m}_?G1fk>MOJnnV z^|23q>zZD+zBPj;Y!+#S#p1swlOrVSOiqUBD2Oo}H9mwUOpl@}^2w2PX$tk*QlH}9 zD_}kR0RX?vAnMO{w4X}F%3S@9FL~J8%#!|W?Qt+c*E-q4IT1}}0QHg@)8cjx0n^am zdUn$~pVS+Y4FB89>j!ehKhWLm5)$kX;zXz*wMqg^C+g7^Be<>Mx%r7z^NgvN<9~-N zAzeiyHFkqxLDjnn843#hWw7D?!UIU}W2m+sY<Bb2gN_Jl?3Lr1^5G>~W4<^BJfU>i zcSiVp)|+jxoTcOS)oMZ+)HP6(ZJwic;u`wN4Da0_8PwXVGpZE*J-fXx1adraA^8xX zvbHt7zte}A@iyruE(OnyYz-=m7JmqR+q&xJPxq{UVa~5YQ62!uPWrWUaH6E_xmVyr z1&GY|3<d$T;(7fycnaSGuCGhvXEt6^I5wbCp#kYRr%X>_(Egl>&Q-_JSulYv0jc47 z`>IizFJVt$Ta@11kY-kW*;A|;u(JBf4>7Hq%|3UsL%k~odkedP>Niq}s5Wb7I_Yl* z!#}bwP96e&u^R6AL4)+FO@*FzlPtP9AudU`{O<_1v~%<a5MH&|prkd64wkSA<=f$O z_wP$%-UIfz`AL?Zn4I+ctFwoIijTYPJ(H2KG;gVMMpfTAKi5ANeaX?hgusOZ&hpcG z<V&s*Ey$lBEoIQLinN8j?#IG?0TV!_s-)^jFbG2^BIZQ3tj0}T-4U3Pe++r|oh!$F zj<0zt#g_%+q=?<-{DHcFd}7XvUrCGIu7;^GX!S$;=ciscgs9ck+3SpsIx(svoi<Hq zdxwC+gfT30y>4_%<T`3(@ZGrtRUx6LfG&mRLx46NZ2G!a`J(e~FuBARJBYM5uV08D zBI65fTMWB-*(96v!fksBzH|S=8j60hc<E)^s+{tdl9s1_U-bI5b)(oz<M}b44MU`I zGO_NFXzT!X8m1LtGvByVTkkodcL+f3T-MKBGiZaTK1z~*rWO|2a9QjSaGs)OW9p!o zqqH9d8o2xUKB<X-O-s`QTcU@luPah#`hPXQxiy2uviK3`1@s|6X=yKm7GOPxug9<@ z6uoox^@Z1UpPKC=v~9K|eWz7BhW|u{m6z4fE3ky2{zJfg!dZSR{V^??rxJmEP!Wk= zn`vj_nle09`jJiQl89#=LVIN&Ue*U!AK*C&zecTM?T08jhXC+sx?Y|7^-T5W`^K#K zx+msK<1nxxqDe1mfVD5{5UqZ&o~{X$<9{N$uP0Zov2_S|OV}H@IkI<)7}wjIm9j-6 zNI2`2dHI{NH?`d?avhNdQ~mC?Yr*@s9*Y?bizrFCaJf)uEV#fm1a(s`G;n(RXp`<e z@H3eF;S3PxtgBkT@$v!F-agmxZ(_Rq+3emE^tykijz5CAA8WF|nUeQ)IO@ftiG7z4 z*W6ru)V=mNw|h5>&G6(d6X5EqS7!AvB!rT`w0U-UeQK3==grb>mBpJ5<GOd3maG1= zbN`eR8~nLq{<bNudJ@|D%&sY!`%{hVa0G4_ySR!nW0Q*L5{C8{j~it_TbKO}9HZFx z5ezAfxD|NXqOeg+WM0?t;WFCKwu~?LFUxE+n~}b9{6VCMJNdPc5|_JIWE~ug))!Zo zaNu}i=Hh(T=h+$WWk%$IbEX6WftFaFnOuzlpIt#lDEmmQ-;6;3alH>JA1;%u=z}LN zz69!G67QWL0=auoX#+o1e}@YVC)@tVGzB`<vsQ-(vqQT_O5`5pc@oQ#t)CFQiyC!t z@-PYRJ=sIR8=sv|zcsLap`Y4-o-c)c3L8_bS8mUCT(Z_V;S?S8xG?S-Z{nMY$Nck; zIyXfP1uWZhq%ue8v>neS=<UbjzX~Mkgsp~#Qi;PwBo>X8s_S_O;A$Q$*B@~|K3X4C z7UqA0sUj$Y)jB0tX>`6^xeMKrFn|6{pHL9r=^p9!;ZMmq+67s@G@ZgKM-Ujf%@SQN z`zotxFR+|{ovi5mV()v+5YuGkz_>M6c0W!RG?{S8;a*LS_~?o{?!$wBEK62t%ez|T zO6bibzD^Ut!AGb}YFA*TS|dTAN5=O>Ze|e^A33oNvM^6mJjGXPq7ve1Grt{NH4g+W zlDubYMi7tpRQC~EVnA2WbEia6fKxkWrL^vv)?<}U$qTDi{IPk;zEP>!uDgF<HVvJd zkEp6@Y$Rc}s|n^=4!-SW0bSkvQr|`<(t%B%oFWKiI+V)?ow(q_DTO;e6@0>tr3#Gd zz8d7La_9Rrq3;{QoU`97v#ZbL@3h)!^`bI!j0$SZd&m$bi-DV1E;Tc;E~Q)DTuG%z zDNw*m;O>DK1dq?bm>+je0JMad@w~0{1!b;GKHx&-_}yqgdD7FQs{qlx*`Iz1N;k4y zb7r$0or=)Vu8E~ee7*BZ=A5V0^r~;Yj)8%p%d}W{>yW2oC8jPW?Ve=GHKD5^p9aQP z%2bR1Tvct$x_^WXx#Y7oSIC;B2kDGTNc+u~kN|%)B*e2(?Z(~eI~SLIoR)b+JTv$+ zT!e0>@HmWV3hDMvs?79VDLXlksGt-=VeiG;WRW)TlkQK(BTL;CS#i}jgY|97E<Jn* zR;hf%d5q+!@!#nNKF+|oKCWH7ZPbp;-Q@RDluh+AbaG>cM$%AZ)5L=(?dw{S-6ssl z$u*^2yWe_Qw~Z!6v!4Py@dE?cz0>h-xX6KVgB=;J<j|2I@R@eVT%*%M+IXKR^rrpO zH^6jWDdOXw$Be?bydGaZU&VACvZ?fcYvS3W2f|e#6rwJ6wc9@W{bOV_`v=%eI6Vtf zFVAu+*?+jlzn`irRJag)!Q1ZUBJN${jpUj^`MejlEf2<i#s;4yPky<0!~6o?FfTf( zxPLN_Zr_MX%WTA-K4ATNR_v^rGM_Cn2qG(H(&nOmwac^{{99_>hW|Glac{~@UrcUF z@mX33THNML>9j>IzoDSaH&G><Df5VOJFv+GW};))?nFsFq_Jr;S>#=yV~XN5xlo|W ze4DVP|8wW~+NUQ&GH6_Fowyax_OGw5=^PwfZpoY;&Dz?W;%FMEJzE>J{}+*LLMnhn z7s~2;6bmA)!$HvPLx3~*TYjsCQc=~D+o-w+t=F}<IO9ZTa$hPBc>Nwp4qqzXJ8S*7 z+RvVTV9HpIIKOMXC-)Y#_MsZWbqeDR<hRxmiSE^E7ZDV>Bgyp^kz#3QUTz~@Y6n|p zk1-vc?hUlx4Tb<~7wG7usD$1<_!?rl<wSBhaN0>H^z^K`BUJAC-`{nqFY{8r>W_T> zbb`}=^UwVCxwUGquDZ>L)qT(sK0xqM%8bk<R!*G{CKyd-?i(2V9T=mwg-l#VV=Dh5 zg$1W>Uv_(#9Cz%2^{aO?9%3rwO_2KaJ_xct3QV}?7${>HU=v?bU+9iUzz+d_Y|}}K zs0Tay!Ka|J*_Yf*{dtxMT$_K+wCbJq12%PlZmp-Mq%C15yh6(!p*4~^lk*^PF9qFS zS#Tcx?c{2Kzd>O3>W;{*@sjQ(6k{KT=s&y1PngL~FWwVhPk5_Hh7Thh$h6VxE#|v1 zLU(H?IL@AL6{}^L<a9q!Uw>j5%bt+reis+!&YPG8t%7+{OP$7;9_tHrFC5a&TykYC zOncTD%8$ujV;5DV;luV`E&MU${v4s8CdVf~ZKeWrKP${52zJW2cjAT01FO3rMDLi$ zY|UFf|27#pRsXs9nu4Jbd0FX5wN-3IG}$FjYf4#>csJGI8m?nv3sZj3jCVi#9*2ls z-a=ZKVjt&n#~U|&bb(dX%ipKU!QG$9102%-yD4f<eky5Fbn2`b@LJwUpt0+a6LWN6 zU_Roq#Kk`CT|tfVlyA$+L+I&kFZR-~5xjoKcq%#$sjJUSqF`KK?M-rSK0OX0`NNL+ z?K#Xe2HE|{jCCsXCXyhLA>)gwx03AVvwc@q(heM%!|R*6?j01qhG)g{ec|)Y|Edr6 ze4iU}pLvVwOB)c+eoN4@oAcCvu@7p3gQGIK>{Q;?TloRY8kMMXo3wu{&JLzRUXOU* z>6~sS{-<!GvDzRe*U$DdXN)aL7<D?gq8+`d@m3&#&Ct1N-fb44fu5xk@IAKk5pL_z z9T?75$C`g1xUtoBHZN@LrS8u{#*Khf!2uZnAuH3xGtz>b$!z>DXKs<cv$PmAFji{o zrR}K{gx4UaAJs$hk(6#i2l&DhFSznww}h}G&9Ba-;mhL;^RreO$=U9DssoNYvFK70 z^8$)$@aNn#U{v#7-~#O5gThOxTX8|FL5Bd&6<v`>>nE{kCt@(;#yu)4Pc*rFIh?cx z0^Tk?*({MQ^TCa+{#(TFX$QfjLernd1j#3r>#t@u1N6>XCUyW^{%m+B{`r)glI4kE zL7|30gTYq}!Cg%JKyOdodRuHSfp4f2?(Sco9Tz!G21<!0C-1AjyTt#!JgbSmNFO0@ zDP>aDqNWhm$5z{_$kp9W3F*9z>2adj{sHkPZYpoppUT`lQ;APWxTSd|-a^kW8^+$( zri$7h_Y5#Ab4s`92oUO`nCTxx16@v3S17+Zz2W<7QdWrEF~M1E?r(mZv!qwH%cD?9 zs(><%+BxRG>c$pJO>aIc;4Rtvq5b)Wf4!9v89$u*pRC@86QPWXQpNmvTz2LhSrf9W z)X+gfTi#Lho?!23IC@eS-Ifjk)$R#3_XSjGAv%(+idN>YW-B@20Nvboaj^A;p_K6_ zk=ZEzq6GUWGlR~-kvQvs8c<H^Hf*0P0R43cxE;aw7oukL$$0dylS$!ghm;bo<JQ}l z-I-#nq&nTLHr23TD@6o`RNtf(qFH*&a-kn(i!$e%h$OIqj?)^0jdBL_^|+{|4fxJK z=(LS1c^<q4xY#lqKsz9a*DP6=R#1^y3zU3J7M(O3+;gt5yS!$pYLvV+MApzXZ58KS zKZBk&MwkuHdq*zYeEjzT)W!z^HB9;?(~@JSOw7OgZ717N`p`w#MuzUVx#DM8(@ej4 z-_a%#w1}um2lMQytz(wdYW_gQEyxvCn&e^8s*-0dTTK21O-EU2Gqi6d1UvwN{bMZ$ zyGIvF1Q*U#<Ompg2T`C6NBY?P9fNh}RtxNi!dBK&nB-@W^2HUaZ#Ow5b#p^osPp1Y zX(DGGzcXXAK5al4!^UoygK(dS<?35n@m{_v5&hdo3ucvK7R5QNE4jWs6Vkf0P(v!y zp<R8SsOj@1=i4jTmowZyyR^6hi{|1Br3wm$LQI{UwnlV3t5i{jL+`wYe$c}=8WjkE z6KPSBbOaClFI<0}zua!a>51WuSMn!-nyxcV#wc(eJNQw@a~Y9a{t5EcgJo=;z(as) zd<Deu5*^7P7<-37W+R8!9xlS=9v6*1OPsLy$|?;TAYk=2ciw{juG{$sdoGld(Ho2d zoS3%Jwa_|ED|SyQ&G!&MxVLPk)9k22zd$tX6zZ0V+GHPGTC`0`SMdyk<A)jgnU967 zy&|x_6JUdkDX{3lMUM?nYYT|`*{}Rx#XhxgVntzV-qjp2NtyG&tr2+S0lnXA$D_p~ zJ>7V|DQb<n8MEsiq3^VBY*Bs0Q9s-A0|m7&%1ypJ+w&)U*S^<px={Cqmr=KcYk56T zr;*IuGv|Bq<R+su!0}1aoTIm*{pjvdnYGE-@85s3ceZ#Zd<q-=F7Ze0WsUl;Gur2k z<NdOaSki`<xt6eL;EaggHV|_}<y51ie^z`Ck~8YJg5sT!a9=8I+Ob1D@6oRH3;k`u z4rj`&eFRIkzBZpOZNe*D=7eW#>Wl6d+z2d-R9SzKAx4&%y>arnzjE9>_Jc~?bCla) z6oSD*D1Yt$tmp{>TQpIp!0idIg^Sx%Lvf%OWfOYzgMV`tS_Alp35Njt*PogRy``Jh z(Q3gk4>WA6DG7)&T}53M;FkqzwVP|wy(4h6sD{0^oyy&dJ8um)89ZCGy?@#GuRr!& z@{UKUQp8|yPNG!#TffHXY3c*z^&#q>U^6wi6FFEvHdn=FM##pgF$;JkF)vLJoI>;+ zVh;fhYd!<{&M{ZLpAXVsT9Bn&ef0up&bFe4jv;a1r)P>jm!axcmcw^$*mxO@RyD=% zYM^`(rBQxIO2Q>w&rqKNz9F2;H?hhA&euDMiMfp@1T!~(u%NCCXb6(MPqn)m5j%=Y zx5!24?=FXe-!=FhFQ1$BuaN5A8qa=<)uw*AsU^h45$~Ou<6s3T$Qc^J4%X{Mf_|w! z!OS@#p(Bn<bNfD#_EQL=$<l4~dE<~Pcba)^Ujl@<Rs_X(W+&qajvYY5)nLqsbYXc8 zbAcXpPwuN%(8Y*&X7Cf7Gtpto3E~2_*e{JEe&5F|u#VTMG)=bZ0dy++1LF1kGE=|) zEeu;kqO(Sp3J;=6x)}Okm~u!wE`$~dKREF17&qWL1bCk1=_;dTWRBPOhzEQggJcLb zi<#f%yFI%mKi29#?Dr-Wk!1!3E8+GPN~rTDH4FX)TV6{9clT`{_{0u(8&M!mO<o}8 z`xoFbQN9Z*Cjsni#(>x+xY)Ipt^TtzUH9T#BP!pdhi#gtbt^^I>QPpLI=bF8O0ziA zbW<txZ8P?wyy?^SbN+B6IX_wpXEqfj*658Axjy>7q;`|E%=XyAIyXinXsW*#t~ANo zCZl{ugNeIg3I?|%PQy=yX8mrG$Gq{*LR1#ELH@g-Ar{fhy9NuEOt>vSy<RI<vpmi& zD_g<B)OQe9tQAnU?U~8dNxme9M!dQ&K5RE;Er04VVv2lul&BMQfyae!_85>izl2%= zqh|K2>m}I@Mx`?rB8zO(I!>9$8aw$C(h*S|)<4$qt@WNYqz|F|hk#(Rjd;h>DkxBS z)4bd65D<L`_;9Q8FSs%%tyJmY1R^9VW3TNH(DDc_z8G@L2*saT69W~s$`DrbQHgi@ zk1ucrFeBc9NSwy;ub;Oql<5-aD>n6p<{niL3<K3-q2Yedem`IFLC0;N-mslh@iu85 zpWS%&$QJmhzMDbcYSedk3UiH#HEMB4{5b}2uQ2{Ec@?bvp|$*>0&fJ-LEko{Fs+^f zLFBPx+pP0G#LY=x8=)7g0-em@tF46_y0&Ze9ZlyNF{4w1E1XU$5Bm6gVWN{?>a;n( z(OdL*HrGS>9*XV9)j-I;Lle7FOnh1+vP&0!xkgl*uC{_2My91hEzFBY4fyb$dZreG zQ$I%)lq7R`^5bHjeG&aZ412B;$wQ0VIOF}dnVNbtWkjyj3+OcE-6uZ=@@iC?5B}4e z&vSj(iCm0E*yEb0ui%4t5mbcBrOcq52AaqTzK9Z?r24Oj^w&w+GecD!FVvMQ=OFFO zCafKHtD!$*rsVmh$OUH&pe8;%tTCrPm^8gFVmqqF9X6Tf;YzM^P$>|lhSY6OGU%C` zHNiC3<k4;HTy3cd|JC&BSoHEXu9{-1IkCOx;NrMW{e&L7f~_4<${fjgl$U91Yt@te zrcE3mx=t7^@_Sd1WlnOa--7m(GPGxmQe0=h9c`~~u^=dR?^I;onhHpxyL(9BDv+E~ z-!!Vt3fMfKoJP$prl>E?)zIz)sHM&+neLW=(L=$JO5y*8KIbW!r>~?_OW4(GJ)l8I zpwd;~bWG;?9Fl#mMH4)ChYp6kX?sQ++#a_kK$ee|gkn?E2dx-GlZ|0$UEv{sL)?8` zpbe&&rPu#Gh-dJe@*`>6F6|BgRZnZF;}0P*(`Bt+Bd%tYu4lbPuaDd^&T%d+>jBDl z7?CTss>Ze`ZsR-m+7Lo$q(z&l_ct$1-wDsS8;ZM5^X&qjT!}40ONd`haP=umeVamL zel`C7Y`r?6u;%a9TBxqt0@~`lJ&?wa0)=a2ZVsCsDI!8uJ2}&*T^=GHji{e@<@2!u z&b1HO%y4b+%m@v9)ARoGYmQMiny+sxXawxKPJ$np^er9OZz!u>w?eI00R!}778=Ua zi;Kf0nNCyjS;Y>>ypey}@mkwz(QuwS_1at1Z1IDJ1Jv78IYAFuX^%pZX_*eOn~6qJ z;1k)4Mmd6NHAC!>eV7=b4Rq0H9rBijdmNMWfT=&uxBm9e)2ETDZ%(LoT-NaWjW*9t zLpkZ$IAZ(hdktH<i|A*LUZ<vgM<WIHBrJ9ePK6FIUDp_mznn!pGO2wRPskNwePwb3 z-k8Iv#D<69)4yy8D)lg$7!zIZ;91ld@6&VA$|mf2T?$Sy9n*vw36tpH+u-T4ag$O8 zx8}n3^$a7#1_nuzv2%Yh^FHDy{%{uy3NrK}Wudj;^@E0fyisGgJMfh9saO7bbwV<v zBCUbEnOwDT*PMQL(3TyGVm@He18&$VGc%F@h&5G`Z`SVAO@P-fHB-fBeS)sd;*hsi z8lkL1fN6l~x<a}ANzOV_ts;!iT_!g?e!r<9*b-@e%S73<w2Fe;k5V>Lwg4TOF?d7( zrQ!U#BycTqS+mE0&t=p4^~Q%TIZe*&>~+S>x8?k=9jEQoWefR7P&;D6xF!6LC9U0~ z%Tkz=5z)IS*WSR@z!ge@HalJ}e8xYYf1x1hK5r*X`Kh2NCbaz|)fYf>o>NpUd0%ts zMY8wA=PiqsB{IXCFd5LRr{&lv2OO~<x#OEThz|FvA=K@w?FsDcPFh^{2o7O8=XqZV zb$QPJ2lIei@O0wNL8MuDplZo{qMa{ublYNL@Q77`dR59tY#X(e;071MCzz~d@J`vT zAu-gh-S}fz;ya%dj>>=HB3RKNI_U39TemR%7<Bkj;l4<C@Jh(^x>k<1WIiEWCj#Br zfGF9?+65mBjS^R*)jjEt^CL576g%zbpJcnpj5CC26!q56DBW9`sis<G*EbEqi^)S1 zjplp$XV2T8S?o7gD40g$$B!%%@c44n)hI#rNbs~w8|bd7P1*_+{qs(AKu%x#G0d$v zzB3ljz!yKanOOPzL7kAk<RKOb6!LFtjUoHYL&ho?uUZX@uxet<kA>08$S{ldx~JFe zErtfa51}u*RhkDs=(eAqy6qE>2ubX4+;qNH!%v(u?FUA+Lc_;|jg|AH#^sFk!s?Jk zs{}JhRKuIKoqwiG>7Vsscb;~ycWQG5vcfu^VUu9FsYv0)a<KxmFHLVB%C0}ZpZ6Y@ zfPPmv22^VbAwyq0#_YJwBwXk^U6c8wvnus?H!xc@r2C8?D_84kg<9?v{}xKdn4U0> zhDUS`2xL!rwqR0l(rzz?7E+g2DZRUAr!4j^_E@bq-0aiq{bQz-_S=|K;SG>=>ZO+G z8h~Z464JId>MbZ&3xmjrdz%PAwrPW5s#D6kN7N~nspVxNZ@1MrLa9ir+NfrQ+kZ5e z%z*2xu??j^)r=McvX$lXo9+f=^L=SJ=N+4NQS<Fw*<Ho{z6ldECu4qO>L^hPv$<s# zC8um&pzS4Hfpj$UA~ZBv5WFvt;H}QrFqLD{)g}XR-|qgK;Wm&H-*d^W(<>tszH0j$ zE&pvec)PBiF`}1_%KQ_xB<ecTk1AZ1!Swe`z!B;J8S6587werzYwC*7!`EU1?X-Bz z=V#+8hK%$+oB?R__r!IrubJDFw68Z*%!HF{3YKd&tA^c62KO-qs7rrgL_5o-Ea^g= z13bFh5w)DNE-^K}anG-ioD~XsYmj`s+2Fda+$3a1yK^bQ+)L=qFTC5wx5btPb@|^T zN{RXjYwG#A&uo&jQ^(60OW5R)sG?nj@j(xQ$Eb1oeY7oBs(sf{n_G^P?+4#mE7dRD zlk&?u;U_I_{{9WlyzEG%Q&6QKwmA1?cdPe2rI#&}?JUVbO`p|ANqeg<Z2SGJCf*&R zU&IOdoXcY)E(y|8<`xpl-J2Z-cR4zR41PS<@;)i57TLL}AmVv#iv)phqqku%*Cvh? zx$xVe=OS%a6-V)<jYsL6o<jiIeR*{a>#+8FSU<YBL&vF?^W#;kGZWh9*WY$7?aR+p zW-GldJL#OsGSu7%UfxBx?Y}qw{Ghg2ylEv1zsUC7G~Q6ywb+4Kym8jZgq*ODx6nNE z(4)h*MgGl+;rEjj=E|?MPy>FUa&-`QbA^own!)=Crl$_ceSUW_$RyKN(loq&V}Y?@ zv0@QGHh6&`TA2LJe{0e7(hYE*R9UMn-^^NHO8ndrucuQLLHv&F(xFMw!+#ecqs)Z8 z7UqzB=EX|#qs}X7gEEEb;7w4%Fy+I6<Qg^x{Qy~US;K*M<|UWv%|%#3F<kq1WSsK( z)CV#;+B(DodsC1jt#W4mPsO)#q7`tXf~-%)(<<2^YpO@Z+lQ-7Z#*t=-{4R2Yms_c z%c(U`(%c_T_+$NY8{&FoJ!pU{V#v9{V6&15-yvu)1O8xN0KJx*<5}GLvhvEmSR=rs zOR+_9faR_1p_f&36zFU|)Avz5Vf_FnZa+gg@9F5uCzYf%#{F>Sl|>of7Hww>r2-u@ z16Ht^*kZ;%)}BwQ(8PdoINbYQ^UTg?mlE^QH3KrFj#FY+(_AjcSizSVT(xI!{lV5P z=93rA@IY2c|41ZVjXE9l7^S2@fA^O95+H-1=H5IzL*cjjk*%N<OJ?lh%L3JZ5$u^E z1T)1NJOiJ{L^dVzrSX)<w&V*<inpq_z9{bN-9-%qEO<PNEVpHV2_@^?bhpVq6@%m6 z_Rl8_lohT)e&1=Ag!(Xq+I56`F4~!&O$CuGHtAT#-&W<;a9)!~vGaDMD4K#@@mkBS zM<~S_yIz4Va=asDlAhEa_w5H!ta<WSSo^VA_evr4HLXmvq^zR~UKQ#D+5|eyqM_i7 zr6Z^Cy|xWdjhMV?7fvy!B(872ZQw51`DN)BT=m{RUQ>XmnSCzQ_e8*3LiYL5>USWc zI$LZ_Cdm{HPY0cSUUbFCdFe@|nGYHtHD_vs+0E2zr!qZ9GMho3gT3^h7~XVl@y@yy z>zxZH%(dmL%ghR|Z-PMTK~0$y&|vdAG|k+~OM&E|hA3nQ2h;v+K#V7gWB+rw?5*>4 zO#i8{W@|wENv<DSlTRfc$!AQ3RSYFT>K8KY355vfBSsGsEDf-rSYh_6%zh(p5toMD z^Eala)}lVCg*R7r=w6fja#zRISJbze%6Ym)i1FL>*U0Bag!;tl6n30K`$IFo0IZiD z&hcO#h1l?&TlIR-_9fpNmrT=sDef<xI5Ga_CXYxJP;g7I4+?y)_$|{{!@O@(3E^ks zO`e^zn5h3;vFcXQ)C6PYoXJ`%`<=<!wH>J$I(cT&Xr(w8@G$8terjomW|v$Isb?Jh zSl_@_J;69!6k$9l4Z*_*m;XWkkR#tEe|6UAU(Yd>+t!^j>^I7>nO=`du6NVW->dC0 zxX6S0y-~^Y%d~?HM=5d^dKpzwvFe&oeINqwWa370(Cw%*QaR^iE9L*58RO<2Uen#$ zUaK?nd8o)r*NE+2b<$rd9K}XLyv42BN3-4J%nB6>1vW8Q{07Oe_}<?j=#C6EdeCs~ zb40PwbB$LvaWf*YNmwv-G<HwcQErzE(i97<_N=Fv(u(u7FF#AL)wan_>t0z|H7_gP zV(8!7q3=pK?pT{3Z2wFfo|lSSRIQ<RaRF2SQhe)#;ycdzG8|xDg!&wRBN{VdLeZhr ztxPFDF15Bo_8wWr5S<X1f|IwmXGO>SQfQ>L<<)6}+=-{W9LcFKI=P`D7S=0~F;i%5 zZ?|hTkOC$RRY6(ns34ZCdhF_L(f5_w_Al*c&aN#ug*)Y4(9k&HTP(9GI+>7_{3@9G z^J-JHV#$X%$CP}5q6BXeI2Y%$`_&pD{b1MlMMWbWR8B8CN-`}(j)i=q$@(}CJ!YC@ zNQQK4$w&g;#%&@>mc0qo=<0|h`}9`#vXKZn4No1h=D)tNF#)8w4ms}OQPy3QDgLy^ zACZmsp;tA(@@`WBlPJsfuy#L6=7x0IF0jsoh=sd_J2UN<8wi=Y?7!3)lG9R9LlADn z16jdF+}@G2tJ{Icc&x0q3cn`s=J|)x<Ei>@hiWWC4HZ4g9LGnofoK-VLNQG{KTR6$ z5!nUT0TC&~dd~^Wk>S0Q>bNJ1Qr{BqDNf#gMDjne0&{=;FGv!R{d+#S)z<uMCLJr- z0}}630%5~N1sgDhS`+Vr&4{v|`8zeRC}(#H__zV&^r_!8&ya$pb!11^$GB3J8LkqM zjqu<ZEfkmo@u+R%ZgHKgj=pz5aCjqnb5l3ds)W1C)?bG?y6@zK#L?ylYQOE5pfOdK zn?f?0)NO;F`tvfFRQ<XEXH~GNd7QMTk!MGEqb3De!vbSEjxriU?^x;HcqQlkewCT& zC$RmlH0E93`)_W)+w39}g3Wb~L_obzY5P<!3?6kPM4_Yw<J6Z|P`)@P-*gsZd^ccH zvrQ&*RK&lcwElj0qe|p{^*+ol=;qKHJOevd#mb!W{9Clb4Bj&^v#1D?_;|M1A;uL_ z`Y9<KU}T{^Ln`#g+2K?1I^sFw&&h`XgCznRZ&0x3ISi%V+^^J>CEADRMm6J+&-%<T z6&1Ne7-T7L;KsvezG2rfTX-ATi=3Gsio9|UL^ZTK+s_yfsl(W<(%Gh-pny_!8v<^G z*n}W3^2q<Z)}I7To^M%D9cLWaiXweI#l3gC+rcsFUlo?;A>A4!dX4)mD$Djan7!aL zk{_~jU_6zucd2g+aWO(^og?$XsTRS=eiyj}(Ra~YR2ND9r_CCF3UhdzBltFw9(}f9 zy!%^$Ge+*^PBa<!&VRmPD0FQ(vp(SgWx|{+HnO{zFfZ^+LR{B=t>?FfqM%nW@k!Im zq?1xAJnmoKAZsBPmN)Kj?d4y)Y4@n3voNl_XzoOv_5A0W5r>dL&-^M{{y2N_60JX5 z)bn?1(%QBU%KKV9jA`K4bmCy-;N(u;8tYpw(e$(tk%NC$K(6S)cpA?l|Gy3q(`!6I z?woINP1TCMi_;z(ebQQi5NDtVnMCMuCNi|ME7c0Uep-(F(CRV>32(wi!JB**;o_mW zt-tMs`@aY*{~->@q~2IKyONjzVxFszymC*H<LB)Au$vsKabySbk22|cdr%UKaR_+j zk5=?`U)8}LFQb)#*K`xU>v9)+q=nf18p(f}?3>(qhO+@Oci|4#dP7YdR}5Ap*tcTQ zx<>la5U#NTgTbeh^JtdLssh&c%pp2za|vS4%8j0Zo>)LYgsaBNhq^q5dRe@+=aXuA zPAuo|&D~2o6Y!=lo4P#PIEyf)MKTElRPV3+qQYPtQ6Gv@LZ;8cVWFE-il1lbV7o!J z@atC_@LFMiI)zn5j%7d@Zm+HjtHezK0bk0IGtXZ(&<mEc@NV7{2VesQHY;^ThA!KY zxjISBnzc_|^&Sg|+>Z=Th{jhQ32OZro~M~bf0lw@iU{mVSv}A!i<ov#%s;Jqd_1`I zgI%kO7SeN)6gyY8R_rEINJsC(z)>A?Hp<<aaWkh03M++UcpA85qnNJXHof{5mYrtx z>+|=x8=7spW>UB7A0#QQib_8Ck+;{G(ccn%>h-kgMXUD?R&9mc{X_oYWRlS??Z7zy zb(s}HSKcW5qGf`nrjlAYi!LI?K5)i=pz!NH^Zv2ZWBC^X`6i%Q-TzSaqJT>0eT$zF zWml)VyDiE2QWec+VS**UY~2(Tpuu*7EX9@mbeFpR9Kwxn>85J+5L7WEU_Rl}&XdqA zOS2bFLGQUp-)$0lRqp5AtK(~(GveUcpE-FiZ)O&yLc@wfAcJE}7V!}91zHim>$EpI z7qG@0{|D*-WC-(*f2s83<c`;ferm+=0D7}&E#zcuGDh9M@!jmmI1x_-k2LhjwsbRt zF$dmo#3(+hze#o|_m_RF#6-a&)tzme&a3^XJ8t5!9i@fyY|Vw>xAS(3a`LH;q@vX1 z@Omc#Sk>9tZMk4&Bxe~tx)ix<aAiXLg5+~|7aqYNij;@Oan}_6X`2t9_t3KF{4@N_ zNe)uaih_|qbzJ0)v`h%?@BaIv^blw#P4D82c<MzniGRM=K3Bvfj!2pYoHL&2Nxr%_ z)P++icrYaP`;zc4Tw?pZw4SUq`2s{!cG8IaQCw6pr^#FQQPGcq)J<GAW-$+*X%NJ4 z3RB&!*fEZrqI<W(BKy;CSf!$E-L<$>)=24q4>KX6u9I$l;G$mzIf4^T(r!^Z`jPPs zQs46V1t3b^#BK1J&%q1m?>;Y*;Sf>vR^<07=G_b~Rz|bs<}r))<BUm0g^!u7pp&_K z>B6ojD`<88S*C5AhjdVwGbJ6lE1th=U|epP*BoR)QTrFDkkpC%z^fVYPiXb+#^&41 z{*xQmwwfA)@N?UOa|gp?iouy=7%U1Lu3wt+{9HNUc+?r=8LJ#N{YbpA*VBY9ZRm&X zAd5uyH9W5H4Bb)&HJ?wqrO7QR^Y0K~5|>*RPQzd*>;=E+EI+?k^F^}8-oWcErS}Kd zFr%wtKL-bNuu1tr^(7JSU$nRp1Cn?oL+*044<e<-ovs%mM~0*3{o8A11k5!o?1&Qw zQR$130c*QcGX+=FMJ^dXzuAenLhF?B?a-Cz;6y5w|8>+18U};dQD8|ETe)ssv}91# zV)#Vz+EDwrP~M$WiC=6|sYz!6fx6RGOzcAH_N`|oO3pT@`o*o)rVfSa{bL6cL>to* zdu?8a_&Y}&qOHLtHymd7CC+L1MGl?9-r7GMnF5pOgYI2c{e`okoK{pswFvj8M_~PY zAj!bF?n^$BH|YN*e$e^wAHQT!guwYyZ`EHTZ)=83$(|ak;jp&3F52C+0E;nvR1OXq zB|k>n)?rH=anDyb(jC@|-~AUJmRh)O9>dions^8(Fjg#t$`C=^DYl<0uM{T2nT$uf zCqmt={PL|#MwtOmss_pRAaDo?f<t&`bwBD+9*S04S!2wJ(@O(zj)BRaDASSR#cVG4 z?_6%|P{i4S7E$0;o~I<$AHk_S+BzLpXTqKhdu$DmW<Pf*<>_E$e{I0(^{^pLM2WAi zM_y%+aJqlW$T;G62#yuFj3H7N&m?~@b(Dh~4+d~>0^s-d<o{&XtJ3OhQ7-Z8?jN4j z#y(vyGg|2Gw)IQSehSfx5`L8F)lZ;psFd(@sZHmM;@1uVC9I&``=_9%TYor=(<)8f zUsip5Tm;BY{u9Tg%}QB2F$APL;XeH{k=^LQ+aZfljPF{krzqZ#(e8nx3eg!A)qCJ= z;GJ;J3wQa)=mt1TUg%vF4_C9m>)v;(#Da^6RQoWNh3`q0E?COTc0LJGlu|gdQCLJ@ zTEL40yDh%=uxlNeOILWXFfu}d_#%U<K`_K8@P#cQv~>Mw`ILy2KiL0fK$As-1lKtZ za=(Rn>WmF8-Cj(S$Ue|$>Zmu*eooFwO-s0s9CT1j-&%;6ikiwwq6c<vhP~SOwkvw( ztRQD@<1KeieW;BGt#R1GVhJj#0^zibSG_vcU%;`)En=Z}_ssYfvlz})@wX)ZcBXkl z;Nip$p>VfbCk6A}T3;F|w{YU8h#$L^+{5(@*X5BxWXL|e(CNthxe3j{><=?^Ayh3Y zH)$!;$LvQLCXfxO$xD)Xr1{fw0MbE<*Jf;;sP!)F3nJ2wxX1x_XLmum3I?CJjc=9! zI4o{ohDh;-lyg<Ka9y?vs1?6?vR&&`g8!pvHM-ldJ^8?*ckXkDY`17dx0z<|L=4H> zqX}-jV$ghc>^tE%PrB!`%bi9%8-yg~fm7{zEnO|E;PAxBn~eWb9~jmt5FHm8k%3K= zET8$3k15K!Ki>qC%QRN0BdbF+ok0Dgt^9eY`hugx@>g9fsBYs?Vn+nZpr=X4eyAat z+tYuM<xBw2BRAYeQFdK8KXan9EVD70fM$T|C35lN29ueZj<&tT_(bm;)~0o@-&Iwm zwSaNi5K^2Ar#4gnvgDO?-D046kT0YTw1OU;fR!!f%?=3IU4$>+Nb+=gffw`HWh3-L z?U~Z+%=D5w*UA*gBS}r8v3BkpmnKtB3wG&+^((JF`6Sa;T$Y9bVp4b2ao_~&OiX~4 z+>lvVi78l*9Yh(Z+ZEW=g#RW+&Zm0@D5eTV#?-RF%15c@==qtye$Mlp3QXBsSU7AE z6%IB#YMUUA<?5O2#F@EY*M>Gu9Cg3wY*o?9oFtIolTj`SCux3$dh?&Xh5*R47~p`e ze{QSzuSTz`LT@Aa(lG}b9==Umgqq3)&Gp&Q4*}`(k=jAK2BEe$gvZpfY(ejyJ+mbJ zByzKu{DFSr{aubkkOSPHcu#x5Sf=o_3x7~WkM$f>@SxlIToTi%eHij~<+(xdw_K<F z+`VwWt%~T6pMlce&g6@fqB1t?@od|a`dnHfW2lD!P0W~58Y^yHcb0b=yU*kI$K}gW zHavtxA=Y16e#RY$rjYGM_t9z}%s!Nufv(YMO^pJGiAdxm_`@h%=#8|g+id_<!n|1g zO~b>7(~Fv?)yD)r^yIzInNCk4j_#t}!^#^RA$2)7b<qQpfI|RptSu^kFPH%?p;%uO zRwmp}hj+9igy9+<uovm!&>%nI2CvC7e!ZVYrvm6(9qMGGa@nRAD+rKJc|+4oZ`+GY zg(B^y&bi*h?BytR3Pz$M@^pl;3oKpkd9?NMk3x_5C~ce}{de^A%p#zdXRbJ3qP3e? z#(if&Bl%Hoh0H<4tjE)V@-wnEDab}#Q(y5s#kdez!d~4KJQ#ut{f!XF`@Z<{SlVdm zokSy5(NKxd<oJv&E$+r}mj1K%p}a2}Z1RsENDWovV6>xLlygp~T+P~}*_>~q+jb)g zP*hrz`^1FGeu=Kwl*L(#5Ph_}$c;1Iy0d~;LJxE&sl&N%V>^_4*J_@VN-mEy4IKp> z2&SoVea~+Bs=0-c@|$o`rfYxqzN~}krUC2e(`t^2$v<MYrh?CpiPE827{NC;@6h6P zUT3ba?G%4*8+rsCtCL#ZS{){=<HL8n72Bo@O6`-MtUiE1U<~{~30q`syBTNLp9m5C z*|w=`^7tpWRE5PFTm0<I1m3LWSFU)9aGdQ-h%1@|U)|F0Q0iW=Eaus0-<=?0=okdz zUg8dUE#cQ%sMDj|`JwU4Z|*)Wr4~CIg&qQy)~(}nZq>}z9Cbn<30O*TMy|WbxmXZC z5^7uAQ*4UpwWo8e#Sd7mLuf<)Ju>_ID$M0`oo|b|`E44ajWDnMK`cD1G#Jw5gK1hc zFlgURP^=#eimkClM(Tq=jqp{@QM}txhlSa-`IBdCvz4todOEsqQ@>Fq|9ko1SmnWQ zq>cs1mVq8USV65}7bB&8<k=0^$eF-;G|3seg&|4gAcXW!dV|j@<+^=%<})DE%U|{C zvi5U<<1dx7vvc46Kna`&PEn<;EUSVWkx2T6?^4krAdG6&rWoaZt!~(k5HxIz8;hWq z>YjkyeQ>q4yZ3gBNIbAzFB*Es0U50KQ43vV=1_}-kcO5(9~^WE8^%W;q0dv*3qXeW zzkzAxzK4^AD_C#l()Nn;XMHj}Dx{ZfJ+-vxsLM?MGX6kZ#^Hp>u%IBbUDI_Epd6p| z$hli#;6+kg!L}nUN=Io^OYV{N=R%LVkWJin4ZRe5kC8s<PIsHepQ^}t+U2Kv^J9KQ za_(EG^qQ$lG6k25UbgJ5d<-*t#xQjgDB2zd%V1I75ii`*p3`jo^DVW0lZ-uTRz^vB zSi9AdUCXuN8Jh{6L50E_CGx-C=RYrOkyAYg$ki6LA9Kw}S?5(cFK^zZK|<5f6qIe_ z_Rs-bAZK*0P5m-*-5`j9X~ackutB@3_qed1{DMDLT`2amOwPE(=+GZ$`^B#IDTMiV z0Tl=KFj2*Mv|r~wTqSC4dW@3wVAyR$366`IYjcNp@_4)Qfu20oOLLsfYpwxQ$1)D? zAIOBxR;H@pRc`Jp?|rtDm_9%-Ds7(@Uq(PB*P+a{HSvTWp#p6IPmG09%c*jq<YXaH z(I9QXLx6D4#~jV{E)Y1)4vi*J$x6L@ySn+Jx-+*d_o=t486g`>M+QZ-1m}V9PH^`G zZMOO~HFLvXB^GFx%yq%Of=B9YvzB<V`K6xg4X1Ank$){^fI3X^X632%K9SeB6_K&O ztWxcdD*u^lBwEiVmemwZyain@E7)OnIY-Ko^S*K-u1AiC{F)KZ-P_U<Z<klhx2^pl z<9g5y(=Rz<N=bw+@ynX0ZrM5(6c8bx)$J{K4xgFz!Ab07*RxEUA(x99kL9lE`;sr} z&a&e+<42~R*LvlEY+%kS^4M^LB==Oiw5Q)QQ-;h)_N(5d6gFcdl=~xoGDlw|nSK+r z@a<|kM>oKHd@}mF*50k)8FgyYg}BL7ZKA1zjt*WCpGoL!nXc>}^<9c|UV?v$+BDFH z>%*G^b{rI;fv3V;KU^46xmull<{v3udGq{%)><V?I-*Ijpkl~=dt?+FUaww6nG1yN z=pHl*fB7I?l(q;3Iuk)m!sZIxFBIFH6dIw|FgkSOPo@2hcjvlc`@OmOMaISWH{X|M z^S=-6=U|2j0|E3aR)VoMRPHl&*mueE6SVE9*+B5A8x0P6y$Z$u2Sw-Mmvq~Oam&i4 zwk$1Iskyas@22w+a;N4>%|U1m+(1vu+_}qHIZzROG!Yl#$erRwMa8X%hy!IfdU^i< z_<Z;Q_kGTFuIqay`y`CTo^aih{~mWG;Z%V3;)=L%y>x%6$;DVOlH9;~`YK1W-i1MI z-JpG(Ql~o<RIJ~wEqqrMi~4iRP2vO}=B9BAS3-oS!6LzLKQg~M847XKy>bvvF4bXI zW}~Q9=!x!dFsvaG$Cscd9m?q3Qc2e;$oSl_CF6Iu_{5u2ZvsMBDvIQ~DySoWxgz>{ z`#iA~&^*&UhcGY5K-+K}M}`jev8aLudzVkE4A*P>O^iYBFn*_7`1Dk1hE}<AiQa9R zH}*Y7rZl|eeHv~TSXBDZxN{~a83d0?Q_!P*8<f<uDrqpaLPvOmo4kYR`azLbE}+n; zkNw{+pI%6i^mr;DcrLy9NIs6CpUBUyIrULyAWFg}39uKTLLGLh!I|q^Ewum`M?9eg zr=$==wn<xcR6TKKbWx~h+m6$WW2f)d!@9S(Oy+o;a*pBuaU-badd4JNd;g+mZEb31 zr)sU9)f6o-@2#bh>RG;rrEeTD5I=RK=4`3&zdJEMtr$TczDj!KHDoMo)FN@-Jt5o$ zqDgU<d5_PhPQ5@cSB;GkpJE9?8<B@s7h;_#-e_<8ZtAPN6~d+-8odQbo41>9s>OX& z_}7k?d{uF9=TfiRctRdwo$M(PW|)aGiqt=sw&$2zPXs}x*qKc|_e?-DOF$<Sl^Myo zRGD^l)j`2sEj)rPZ6f)?bs~#!t%F~ItM(%?a)EWGLUD(K`2Q9~fBbB%94FdyU(_~P z$v!3gMsrpFi%47HD;k{X#)tgN1>bPqG>g|8o$*N2c>Hg*`VyYb-j*{m%(Wo~7B+~F zr~rANcQu=eEcYvS_lJ^mzt1k{|KpjP=W$cA7nKb5-RFc4KFMaTRM`irVf;M&b*$&~ zt0oUiXN-fDv`@{Sg5{s<^leM{em2^5w<@v;v!O-Lc6&8eN?BU^%f&a9IOkgL2%ETO z{KXHLsRqX`mk;?TJe1fW>M`p>y-He4Y;8wXl3})fzD?mGW<~=z1+Pax;g`L=atW|- zh;#HI_fcPyIx}sy!BKI(XK#DObbIc6Zcx<A^OsttPIqDixOSXf-+eE!j5krdhx?r} zjY8E|jYg6j`Lvp>-}+b=KYjF*fx5YmhrZ?vK<gp;CXo-f?DelQ&C|D^DK^Gwq{b6# z-q~vO2eRD?p^De9rh;uEF(kYp8>Y+q`VKGZ^%H9|u|nZtre8TN0*q=hTu7waEriOe zfbIX(BfGE0AT-b4l+|1{>SpLQ+TvIEi+e&4iZJhxU-m^gXbPERmWXO^z50gKfKIh0 z*i<_nP#LR<**G`&#E!|<D~_UeMzIpa-!nbKYAFONOK-a?$p_E6@TGEEtO`Wil;-(v zt+f0<$@TT&bQ^*LIlqZ8)VVm3>*g#N^ZZ8Sz_Sd6;X$9eoOKMfsh%9j)?_;D%O2>A zHL9P)>|Kaf^8KvrtM29(@W$XiAVg$k2GbY%=w0gfl6EEiUIY38TjWrus_6R35Oqxx zwNb2MMqUO>XoF*;I<dSdlv!3E<CX3s*n7EVK|^EqU=bpc2Q=9#-i(*l6(_K3Filw) z7!A|=Sm}?5LhWct53#DjX9mC^v1>M+k6MoeD=|CrDiovXs|yS<p$hS0ayFdJ4j=y~ ziZ3cNGG+^19|ofNMp#!JSj!6SO3Fyogjd%G!^fJS6|K05Uh5&%uP+nEJC7T^U$nS# z>@&Ae+_8b6PJxPsf)dMC`;n#4U0e8B=V6Vip1Xmmg(qdy^Vd=w99MU3IcXG{uH|g6 z*^e@y_f<~Mbm%O;)cNB8Pay9o=YL8w+;|9?0HLOLHz02J$tF~92%O@SKHN1Qq%<*e zhPzw!!$0Rz{`-CIST=hhj_ndi*S(Z*Eo<q`yY;aq+(+D8%{JL%^lE0>3^q4|)Vmno z6t%CniWD@a7ppA@cs=BJfC&HQYLrn9?Y#>Hde-nyYw8_pa3vda|H)cS2{~qhpy2KC zZG4P#mGcM4q29LIU|Fw@-=}@8Yl0Ta33p+6-zu^@-D`E8_^mJe!7kQ?Kr3J~PM{M0 z0Hba7tHYx+G{iJwVO#%7r1NI7(gbCGB>clz_q9Y_if_=P;uyO`*?@ZkLJUgt@y3I5 z$mEw$w5sH(RQslx2nUWxQ#4k$qw(jYNtM-_l;rgSCyq&k$R0T?X7VrKKCvsJUT?UJ zytXl{iT|pSgxru-9-&in4Huj}j?e}u$v%gksqS^G`pCXe#-&faWP|MFxCQJwdcR(; z^CN8RNN=F5S{q-v_C@Qnl(x;Y=>%v!cL$u?L4M(!MO;>i2nbSxgqG)-N{#M?=a!4B ze6;I$mIto)X3=+Ho?G4fAZCZ?WoG*JY4^(=A`4#vbIO3a;n^<S9oj2-{mPL*405o6 zEJ4TvqYfe3Z#Goxd?dZ)OsFJ)2L$6hNON1Hz0;FQG}yZTSX|%<=29xS#Zck`LIbap zz*->hFinz*Mw*6v52=NDW>+{T+r8fwW+hl_+OJ_CGlImi=2q#SX$0!V_obKYE#9qt z+yFb>CBWm=)upkgvx1H|Cuor;3G|x$kb<s&V5|#i?A%u}9cW!kU*RE6L<r)W7ei&E zH?J>LXTCzd-0{(#6|iXX(h!SVNl9YHy<e9jlUIV)43gu9Qp_C+Q5g;pCmZaMv$kcf zvTx?n(r5v?KBCaCZB!H)9zx~&xuzv#j_Trl$u*au*?fYotGv6CfZlN3x|g{e5L;!o zhMVQI;wV1DGl>DQoEpL&T)4|B+}5*U{@A*Pw@MCjnE&y$^up{?>}4&HgWzV}`=P?T zRzBWAi@OBK_WqG!PD1J{VsHZ|^9b7J$iS|Va{oCRFqNmSUG7rb2HFU8N?h6rT0kr= zJ&fR(ys>FD!x5xjGkH&wIBOa00FuG}>hzI=ALp{7TXIYkZKegaRU--#8WwQ|z{l?* zb_j`_`T;3rhJnI?Oh2YuvW9Fzg{~UImXr6QYV(71b+0XGC+oQHAEO`0B~lcsD{w5< z6nkCR)*#i|Oq;}}lx#{-Ll&en+QM_caqUQEo)IUu^e?{NdQVIwXVMTSwfsym5uj;1 zClcXXf@|!@=i5&M!?nQ(v)!7UaM2!2CuyR)(Y0dQ$Kv^|2qYp{;gaUmetouoN;7xG z<6NBRR~K2?U)7F<a;xR@8`A_c$nNl>>stNAcd&IQtQJxZ)>OY9B6|8S*GuYHO@*IJ zqWFoEPo9f>dySD|8l2`v{FAck643ACV-clPO2n+r<i$r<#0DUw1Tm5zNrKg(Jf>-d z%-4n+?>~kxsQ;9laNdi{3!t{J%(JZfe1*irzb0S$;V)P8i6yAQ1oco~F)HeF`t2&4 z>@>Di&}78kb|q#WK7QrlnEbL@rfQX0WdaO;;8-tWcp@<SRpTF++4^vfst2kpuh;Z1 zS9*Tod4O=lQ%zj;7#8M7L(}!Rm>dK2iN!J0uFND65HCK}9&GU7EC3kk9~bAc@9!iv z>aWJUS;G$A;fx;}C)454MJ%Z^e)(W^0;Cs43fpNy?q3Og|DY-UW3isYiioA!gAV`X zuuk*5wwO$-dnO@i3W})E^@;}apabyRTBqhAK_%1HSiA5KX=#<Z^Lkg8dp7;o&q;%1 zFDF;)v%utIzNe>*oU{&*UEDkRW}kxG1olmQHW=QL;Iusa_CSnX&W-KHQjLiQ5E}`C zv3<gA{@r{vKmUBAXme0LO6;qKi}L%Pf4@ZRP^L!u6D|<;vN5AUbet^_ldM@eexNg* zW{b^ifbuhFGh-v{>upXaM&&(gc%G);gjfq)%1&&^mJykL*w3qnGyhof!79Jo%g$Sr zsRg1ig`bCy`@KxPvw;o)^h`pAF<{Kt%FobWhNHNuv6=o3W4<(oh4OX|Lg*M1CQQk{ z6#ac+qt~6#NAqg{uz3^YE(jKCJ_R+{lJNApP4&*a^P#y)XM9@dEIUpuTHMts6xhb+ z`z936@xat|-0Dz}cK*i6rkSOo#@OpvK?+d0ty{Xa@2PJl4pNlGX0c&Tks^m#en(== z@-5Yy;+Olv+jxbJ+x>S}qebGaA<%pvF|XBS?PZ?4A3SCYFlfIzhQcaAz&D0Xv%fY{ zAH|nQ1tkY32ZXa>qM3U8Bk<W=C+W?x*hAc0M(B+6hkq}<;KnR>^|}Ta+|>}zeRw<0 zz&hdQM(WV$gkr`J8-)o6FDD48c|_+R?3K;O*yWQTkH1_zbvsy6l%A}YIvz2D`W+3v z6&GJ_aB=qC17b?t+W<qS-5gCfZ#9H@gKlAAHFaqj4fm%Fbr`&f4K&9Xs}{1?*hI^b zNbzFkr@j>Yy9c(k#j9MNDLsp`!8GPF_Qvy4vLmLCfFksAG+IBoacW_7ympU*rs@WZ zO5CB2&>h{((WC2s?*D$WUU*DUR83R&lokVz(y_S@NjB40awd2X%+Ru-lfTfJX3jr% z>3VKkp3OOdzlTf%&tGnI|8;ATy7-@zfW+H?dmUW-^FXDv5E+LC-yufszO!M-4DC<1 zZAnm}XK7P!$b=#M+j6)~{1(sbUZr0#IYT{3vfxMVl$m;ZH}-kDV2gmj>Vqks*97tA z{uB$7p(yONiikrRpnk8x?A)dI`5LW=DzgS%6*Q;pL(^Ar&V!;K^=n2`p11LQ-k3Sp z3ppe8b=IZaFi1dSjqeSQROarcU|+as1FCA+iO|HEOke^0rpX6iFenlrT8gl_22I@T z+>6?T$3rLrW$3OO^YdOqPrOrwF6Vz2ClqOtGxxkbHSGHWP19}boe8Y4)c|W>nfhoH zIJkix%pnoU)7M~K2dV@G`RaYab*Ti4L4%eBm*z#qu-)^#hD-wH23@xGpqq>UQh>i{ zKgm7G$>D{E@ErVi((mgq#o^pm&9nT8pzinY42AtkiRJ`U*sgU}6%&ndrYr{91|<8N zZB!rN`357;&F84MCx-Z|RFP@Ymp%q_9n8`fk`i{?0UxlxvYUA8gF?a&5_MfcfYJb8 zb0Bh+M8+*cdw)z$Ogwk!+Bqf`ea>Uk_$)66u#t#{sK26C5r^3ae8KV3mKX<4TzD4- z>=3OM{iJjD#^mxYZ18gOVAM172m60cYjD4dfUKPitBtd|b^XqI+6F13Yx(!W+^M;% ztYnUT2r|K<GL;vBpYt$@Z*w~~#x4X;JKoCZOY(g=m3=JkIM)dgWAPJ-fXFa^-WwVB ztrZsr4cO&*i~Z8erT)yq^#woZ(~0f|dtw7bKMT&3W*l5q?6n)()#na<{M>s(@wfjp z{zQlQc?(wA?cnHdjxCc_TzyOborvoe`OB5}=iY9hWS_}e_H?GnBnn)fYr5=VdLg!R z*#w>0{IIx!9TAG0nC!tjMjoUb+#i7HQ|xsM#xg%vhyMW_86_L@Z`^NqA?Wz!4DXmm z5~gcTz$LY3d)QiLe`->46FbRiCUM(_qaBcvr<NZUy7_`-I;fIWzH56E-layn&QZ>2 zzGyns#1zcSUU>RW_ZK|hc-ts}qyxTquJ+qi^_h6UvQ3v;ZmC9nQc7NR>Me<(m|=(V zF$Xy?&S~j+nMs^1#;ak5FAY;_3&nuF(0Zs%2DN3&vW5NOdga<hAa|0`U#^DF=e~-| z&v`h@_1ynwwMRtL+||SU=B0G4UQu(C%kg0{kF9A1Ie)owoUP$)&@;%lAH2;hkQ$}{ z!w`uqkS%JOy_Se9`^z<pQkp}`h16_zLBR`gb?T?nDPkw>J>m!BJPM{dE?rI+7khon z`Nzt5PjWS=^=zL$<Ny_%alk*-IsWQy)USlwspWZ%^Yb+a)XH6FPM(x0t)Bq9OMV%F zqdVVAR=HHhm+a~(qo$^x-YEZ|e5j<h)c-d7o39$yeaZH6QEFL+LQYwOz8)T5*=~9! z26^YGzV7x=<e1YwSXJ~10qR5`Zum`fcG@d8Kr1f1Tvj3UKDx5R^;oE7AT25Na`Qs? zr<V<*oD^?_ioaE<&6{j$;l|AVghU>IaS$@os2expqpEPd5rxV<f(jo3zk`EBh1yV1 z%!3FPc%{x|xb$c#<B!5p6X8o&!FSQ^zP(BdBUWOhrdU})W=IB@!2ztO#``FMq<(Ue z01?heeI590u~tTOS(EUI`oR+f&<z&mjGsij5Hh}e1yp*h=HZtW&GXH(Nn5O?@WA#* zml<J_*NO<%LwmG_@tu1XAGW?i1ku+T$M(>KtU)S@xP9cWg6Cmob!31l>M+mcA5A({ zbyiIs6EE$*Ca?AN^riQg{wYa%q1NVPZB(Cd(bO=cFW+?9W*Cp96Z&U9npno=1A4}s zcDxlVFw>N!I=1L0e9wR2z~d*e{qURa6yxsEw)@bs#n}@lelMiHXJjqxw=9ZySxCrZ z$0JXkdDy2avzFyMiQKM930~zO4$ZB9Lmea3rTShaC)Cqznlk(h&`q7u2cCyn2OgWH zJGLXsgWsx+(t7^X49O=oOK87pj*cxcmrnY}h2^~+*<w?>Hi|IFN2m>B>rx#);jN{7 zn{1{@59fY`pOsb3*8&?GW=7~`44cu>43Z=6exs!;xcFv6Z>TVMY`wrg=_u`1y5X~! z^6fI8%c=<~j_q#S(`_Hcc1T9;ljNR0pUmK2_7KwM)ZWdQ;^k#@jIkZHsDwjqc%27i zYR-dA0m(G8p$$E7RilAqEA?!5CI9B#d9%{5OW#aRaDDVvI~*&^nqYY|4_9=ivT3Ep z#x?cQM6gX>?CLiTW@kMIf;>>(>O+RU>)?dfO_5_YJFxyi0d<3t^Iv-0Jd>rDUiLrW z+7Jx58q=tf>K_``t(LFp9F$Dtq~ILv^1Iscd@*qflIBBM4YA9kO79LuO9vbB*<hyN z{*!|zn~bPMPBMIk?27s5lH~d1OS8D(^v7G%pC!M}9_P0`FMyeO#>j_Qto2Rw><t|T z4|3jAA>SbHw*PYc&vZ6Nf<5HTXw|R2{`p8M@;PP@jWThlsfMJ>*(OE)l1Vi%div_| z(!0gWeYGFu$S;&p)O(j=eQm}FleDb^J|%t=RXNLeqIrmS&(V&bS;)X)9p{lzZ3D(l zUs_1tj*-mJw5)!j-18Q;CAPz%WpqHjhf}Ze4_m|}W6bmmm&32-ODjHoRfZ}=!Sa;w z%TQ~zA9D6I4JFKX7tPLLgvMX4U4nKZ7R1V|q4|;sZrzbK+xKDg8V?J#+~(P>&eyqN z`0drgt2vAV{R+y%fE`oENL&SFLvHnkWLDVIG;Xys<m72%9Y*IrLT>_}8sw~_$cM1o zK`%Gx_1L{pha)~PY+>d=zi{&NMS1Tpwf)-gJfGHohAzdJJ}yWe?zMQfz_qEtg8*(8 zV>w1bOGC`=p#yt8a(Bzqx^`Hlp>9NYupsV?j)$$-p6-5NC%;MlCk&u#1!+AT3*x9T z6_k>La(IiAj`tyUbIl;r{K7$IVN;%P6J69NdeZb=a2F2y;xW3(g3FEZS%djvEn9B+ zD?DuGGPn?@SVJKUo2H~by8mbO<qu0zX||6gpr<>~z|41gk3Mx2)^y449}ciUej}8_ z%Hn4RJ#jkm+yw4Tls;UK_%!<EV&$ilzE^fP9@NGMbXdfB^>vy)w%P^PDMVJo>P2m{ zjNu*&oZr~`cv?t)<X}ooPO830y8ghgJ^eZd{gbPE7y<8VR|UIVtZlhIHFs%fXe<Ub zcjyhvn0bs`9vb|`u}|+Lh~P$lNd2Fd^_x(LBCo>Y$pkMjf%_c}px;&g&4;vm2ty19 zZ3H&ms{h<U=`a$5Mnu41qtAdrHLUSZS>&ZdxM|={)E;89c2q~Rq!wCUX{_RN@!rXY zVoDkc4MIuH-P-l$pI6dkG*)NJI3JVKu8MwJo_|rYqcMTKv0YO!c7)iL+P96AW#(^P zpFi<toVcc5qjsg&2Yib+D{{glj4JQeo2(;S($6VLr<1$%G!I`{OO&=(FKx^SJ7*1V z5c`m_JzGK25k6@v0%{8z4&RCz9H2)lLtTY#`zIo8#~RfJ3_XvxNXO@DPGd^fdDSng zReH=-4r>Zm5-m?g@4X3H#f(ZYf(Z_O72pP8CEd89g|qh;<0nh-Jvj{s;Vbs2v9Z<2 z>4m>s6G|O=Tx0SoeU^{Rg^+1U*CRDGrv6Y;-k#DFa^XYV%<t7R=}}pxUM=+2R0s1X zAEkHZ8>;5pJ?a5{>$qo&&9aS<{CNO|-yUT&pETn~XhCWg<CHIc^?deKV?jeoqf?MJ zR-fx^at7U}pzvyMG=hk=#h2#*x-GJ)nw@D5prWyaZs<N%ofWCQ<vI7kp1V6_&;R^u z|0SiD&L=jgEz^t#&0Qz1IGNeQdJwm(hS(77?tb$4$G*_vSbuwp`(DEuR*OEx>KT4$ zT){XY?swsB;J{YgPTcHe4R%ZhW|!^bt)Xd{(O^HxUfnxNB0m0}sCFmeep!LLuiLJM z5U+CHP*s{n_x>c^@l3oxMeGd0jL-`ORyLhs4)L7@dI(Rxmfb85POwr_j?0_VoC>51 zvR=xKV^nL%pu#N7Y=D_TRJG5>HUaUQ?igf?$<i+bj#td%qRPu||GJ|<xOIkyn@3!e z?Kv!Q5sF;D|IbWD-I*qvWCythFE-r4sWZh1qY$E2XO*59(p2&1Fk|!UfFji;<F%v% z&-YHT5L(_&AN04}zSYVZM^zH6es4I?3plCZNE;>R6WQY#ouYiz3cl?dH^$CbUlF@% zBgD;-m?(G*Wz?j=JzEmQz_H*hf4QV{PMgAP3D$>jXaDVuADgtc<W7lmV4o`a2J2vH z@nyY<{y_YkwW5RCNYJ!O&Jh%-bp2y&Y_Pd0r+<anL-abBN^`<DpA0F8UwWeVw1cbT zbQe2#zE)^SVhEj{33tBdvf5(k0jsD$v1d4Wl0CH#D$E}b{=Iv>MpqxtBnTTymviVT z<tvqD26FDPlSTOmht_r44eFyXjdfrk)%-?!4Hk~V9bdA!6u*%-6)CgzYeDV(+z$<h zVuo1cT+}n8PD}h86H=b%^*wcwTAl^NtyJ!W9#|J{AUD#mer(P?BBay|Ps|nB0#wzQ z`3rveQ+iBXB4t%CH!mI_E`r#w$V@}QoO?&Z#}^UV9cj-8{R}~Sgx=nrfkWxaecpVJ zt6$PsUoINfiblbQ3j<p%!kai}EGn_&`-06G8U#*eWjn_Q-DaDS(qV2_+$itgbH?_l z>*<;FgM{<2Goyv7*O9>8RoFGypwk7yuCSY34M{!aTaRm&V9Tn$b9p!~Xn<Y4<|-vU zvt>3zyu&dLB4#2}??Os?ekOxuIC=csj8PDA;K&r`cNp<ogm+7KELtL^ocQg=HOZ}Q z+)XIJ>R6YiE*H0c$}5d;KtYR-0QVnK*Dy7c>|G)NG49S^Ot37P&oZ@Ii16+q034jn z_Q#iSuW*St(IAx845=;3GMOvs^V_7)EiD%L=Yc{C%m*T@7>nPAQ$MsCF;)I%EIG<B zcKnw-hR+)RtvUsa#yIZUGsf7v1MJ5gGwO$^Na)%2z(8cXdz*+oUhJmviQ|F~bv2~~ z@Io)^MYyj!`RBmPtUgvJlpbZWDfKXW5u2NQX|5|_YRkEelStp3iseQ+;qfT^6$f3& z@f9OJE2t`6ZTC<8=433?knLZ4`Jl3k-hy`m5t>axWh^Z|q{N{k>+L4|{Nz}X3G3Eg z+nwW+J?euBPW#Rrf5EVRq}~<Sq~6&?V9n9c$UG)p;H|%W4C0op=IXt~@O^K8e%T;5 ze*K6vuc7_192!%=Q02D;g7(P4(Hkl<Rz+ED2ourWe+DBpU1}UGuZ|bDvJEzfOM`GF zd=(J7YzW}cZ(6oWxA?UEEtnOfLAC?{Ne(iV``W;@(L-R`i4svngMgHj6!-M?ah~xH zVVVbqYL{Lvi)-A!_WSeq?spG`0qZX3A>{T@`aSsbKQir2o=Ra8j!I#E98PjML;3eh zSr-pLn#!nQVajMZ%4>4a9^cJ|P1_%JWM1g__hQ8Je-eF_w=cc3#Ps#Sq6{*Fk{1(@ zj!IAkxB|^LDyT9nbyc!Yw|tZ~Ns5`7R?(Nh`8tmWO)^6)>VKgPw&yb+)+jYpYx3x% z4A*iJ!-Q`CQ;uHU9cP@sP0N7_D=JJ6@MksF9d+EHXjWKS4wYbwLF5I&<@B%U@Rc(4 z?Hd29`<Qeq-RVcvv4rU#8DDt*38GQA^oFcZf*sqFj3p{mGYIAwRLSPOR_*gh8JLyZ z3t*tBhqvL}lMm(Ex8Iru2+;fQ<$hfha`zw34Op<uwMW|Np^kD53)1nuN21$=KWsUp zU)!8OOpDvAXA=@7){Akx2L5rga2@&xXuL(Ofmohli|b!BxtKCW*rk9JvHHk7Z>Fs7 z4g5c!+?KkP4ax)o4r09ixqJeQPGQimlhXCUKnMc`x2YJ}zITy9onbhcfe4GxD;!7V z!ZK!7(E7W#{UEP3&$JjXoTHmo84Bor4C%4<q8OOzRzO74`&VMWc>w(5?M2r2n;Iqx zITshh=rI29+h4BNwP@^ZL4^Xjkh2{kx@!)h&0<3C3Chj->2d?zTaYc^XTR|?W}UW> zrJYef-}3!D<*3louNhHUjNxExI%XRlzYZ(mKn9W2qIXJEO%ZwU$#4I1bC=*b#rX~T z)>UYBL3vJtH$085d*f>lD<~B--H8L#7v<qC#~`%H*w!68OiJ;SzNH$&ulXmAjqvR- z3A$(6yAcv7auF`PvQfF#+9sZJ2rDQJ!W~4TMK_<piJ}jO4wOp9i}D52y(WU?kqyfh zr;hRH#JTV`p|=mrzqOht+{k7XLV_}bZS9Hq5%l3f5o`C#-F#su452<;jziJ8fah3m zCy0BW2UIOD*3~wr&t<<0Fkqe8YhDd~5!@_9sBD`!loz?2BU{zz-8vL(FK0KcvPTVx zV2iK5VUlOP_P3WlTvu2utFu_c>T2ngk_Kt(ou%GRvYSV_V@ap%TnxIM@)0l2CmeF} zGDCy?#S4BGDMLr5nDhp^&evC|_eK|gfOf(;MOVeh;qk$v8)U*oWcP7BD~RP36pr7n zn_p&61hd9>7v9C?m)3(Ya3(B$REQMUbb)+5Jy|~3UoOq>+q2^U?WDX;w&joLCEq=7 zmQu@Mr|LgdX<6p>8+m>^dgqym`}*Vzzd$$DxBz(~;rzcD=Xv237^y@+8Q|I{wf7e0 zDWKAZqxy<Jtb^e@mW4_lg{Iy`(<m~NEt(0x&e0oknuJD{>PIY1Fc;KT&fd~^rQ<&P zMfVNQups}IKsi4!vrrTQ_PD+>b_m9q?&-X^BdXqPk+U`ul!_gpNs`Ql$hfIUPH71r zPv38;k3lEIUaFos_e#FBxLM5eO-nN#utH9ENY&E#c(!^fZJh{oY+#WYB71f@qt<Tc zA7!J>t9(eh*QVv0pnO3iIL~``(&ra|F?TD~;DHG-91sjw3pt@y$bE-FQD|+{O8oEr zV34gNqbV1=0fi~?8=y~XAazBv2xhNQ7;r>hiZdG6j8ZrKbmR&;A0V!F`Wau(%=mfj zFGg~NV$Fkn?cNdt%PJFcgTpV3nXSU4%|3n5ytLHdlI>c3&>`GR5#KEx=>ijGrfaq} z`nPFJea{WnO8NJFiy*O$J8t2<^PT*4pW$DFsuI*{-vhQo({!+U+FVfik{@Rlkw%&> zU*UKITY<!sHk%vgpRHX#w_<qF>HDwEQ_o$)`u*cl`tQXNhFt?E2H$^>n6$C+LsNY* z2WqR1vZMA)56%gv4pc#{Ol{@GlhC{PxXbfxCUwbj-qxf3GF;`<+S!DBo@MHAh0yc$ zp(44=Z5jkIRn1vJpsyR{#7}9F5~!V^z1o|0*dE)5=-n7@QUZwx65wcgU(cP)H|v)z z$^e1M;a@a540w4^kxOCPB~NRcUXA9GqUM-FdA4yvFMjws<|)bHpqBe+8Ys`SZ66%U z^rCoxBZA74)~6)J{*Aj5|2;dfyB}&)wiNvvtBZa*Y^;JiPI+n*<9u$Cy;e<z(pjR% zrpQ@eza5hjmrHv4p!txeq#}SS3V3)S)&Fj5F7GiHjqbHK`G}D%V&Qe1IeCXAd=gtW zoOVvoJog~ZWltE_Hks`z^E&IGdS~1g_zLU$dXj8A02Io)`(s2+4dcY~$cS4Lzv3`d zG%`BrWNXW!{3O)oBJ(j|AVP<G4hi;=j&qMT&^Vu;m*MaFPJ4ItO$4Fj>>Gw-hAIYF zJ{dH*oN8~+Nmo)p3K{r6^h3~`_0s6~xJS>gx*YRZ5epW{f2*-awsg7{<E<`-w5PIG zt-S*c_UV8=zotZ}-XTD$4R@iOu3+t<)^4I9Atb~vM&}Y;Gn)Tp751H#i*oLlWvtRd zC~KiRZGAl!Lry!%_N3r_`@NkA(R|!#J#E8TtY#3(X5_xaL-VgP&0I1ksu(SrCyrDL zK(;?q#WhWM31-E`L{I~@V#ZHM#r_3#M{X@=tf3HuRUwSEa=0KVoK-8y3VMfNiwA$) zX4(*3?*+wjPp|S|bb<{9?_~Q}O><I%em^Otw)F=a37J;p4o4Mx({6Tyb4^AaYnmf} zn1F-Y{Z29_3v$gr*uH#T9ow;<f|2}m>_keOi|vK*sui28i1lIcG)s-6Q@iOveBKnA z_gJL9rvC~rESfIMK|AC#M32sRZ?2eaDSe{bjD7HO`~glbW<6}_5ICPLQXnF?3lr|J z`H``2+T<-+ga-$O(?|{uj)|>$zihAMjan^^@H-M<n3`!Yl+%(I=<sZYv}qYc`;M8n z7CefQE#;XOdAmiyFT4;a>uFrW$mlwzH>}mu^`GZo+x&0E7ntNTedIn_@v$tm`^E<` z_aLXv+D^ZnTr?r7BLb81VvI%VWgoOh#cNnKplM*-+|0E40bfRwBFQ22QLDq-wZg!W zw;Eh=+ZwuBN0HW}6@9eV*l<PC5;I4$J>2iaw6;1Zh{h>>D*kLMMTu5>esZb1M(Dl_ zD8G39Y~cGgIhPfwT;>r#BYFg}VO)z6&Pk(UfcR}aDMh4395J(gIT+>y-_*_v4fX7- z*Z-{YJ6Sb)=t-CCF#&O+9<Fz+R@NYr0pR?7*GQWyI2{ie$uV~L;XZV_pJZ4&%(ysc z5CgRM?un@3<1nfx>q<wGYs&Zkav6<f#$~9MVYQU8zizyE@AJ8(Q;2Vqnz?Mf0*|JR zPSsog5DY*nfZb9#8#v0;t}9>2Ht77`IqjCx$s#*if$Dl>7>5zLQ944FU^_Ov`4Hy0 z!;z*>UL0Nb_{7#|E!%1=bT>z*rM`XBmZs6KDZ~yY-A@pH#u)LX+fpEKIYfTMMicDn zVd_?NL2eCw0*nb{(YK_i`diL(zf&ed{hUW`MN4?ZTdYBUoSHvQg&8(Mxl~!7?q}%Q zwW@j=-^pC`)vdMxnG%=7)2jZtbL)|B#qE$GMSNDN({@dwUr*;(A7?b9!}*4Tv1d6& zJ><;o)RP-`d;>?`%lYFqCGt!<?xUgxZIRaYQ|0|OA%yZ+=f)U2-WzeOe0vKssh-Jz ziD{&6^=kEt&K{U{Ep}ujbB*PZZv3qvL_1MFpiSY6au*(;e`AdQ#iYf`AS6Dyin0RR z&lxw8wKQL;4s%NAp%Jj7i~~N!!Jv>Vd-Ppp9^NbyVMORFF?W{@9v-2Ee-l8mRt3w` zWp#@`8|c){g1=nI>(<i~D)S5ze0j$79)~~PIR|!VxA)BhfrOG(?p!_Adru5Jn=EvN z;h%#bh`qvkTP(+#-9e#HXhMdWUT{r~O2YB%pPA2=eb_B_j*gV!T~=<q-&VtK65piY z%%0`t)L9earolWHt0B=WU-&;zcedvvgo-D~k>fADZn}1;h`RukZL;OJ*z!?8L@0VH zaH5}-3g5$tJ<&E25qi_`aYXo5ef!R-jFJ=E0R|c^3%SM;!5eL!8ee<UG^=y6VB5px zL|sQ3=(X$To>7fJ3;*S0)2FXy;z{gvzvoAzY`>V@&n`ETPA;A$7D>3&DEA(l;>*zE zTzPT>h@8<6BM3Q3$sxi%!`o>R3FFDIR4DzS2~aZCZE$uVA@U-^VfC;+r(2a<r-v_~ z=6e-gC9ONfszO#$Ho|nZY-g723WXpdPGGmIqmvkQ2M9dIFi+>7tHRgHXhD0}45%Kh zb!Ee_bw3bX=%DgGWMg3QkcXUSlI@|<P4>%x{=Wf+%e9t%Sq_eXJ1?=t2XuhN?S4hT zJCD-h>%$j_!nm_ro>9q}{)EBl%vV>##8^R9B*G6?&X!@<mO){daLW$A<0n4xS_XZE zf8CXnh5&3Elkm>?BY~|qbj_j_1uz8OUQQZYWg^=3`O0?9tn7(IgMJCI_)@^*fCt28 zYHn@WS_ePkRf_kW#(D~Pqdr8r!<NCiT5V%8t>Bxd-)p%h`tC2+>6J>5P5PfOpDUjp zzE%E$3*u&t4VL~mm4*U=mq46An&y91Id&S;lMDh_%ZbQgcBs#Za(kPdH}3|Yb}7BN zXt_)6)E}!#3rZW!I8ZNdLexFJz~dn&=U{r2x2djs@_?s+*g;hI+0FA)%Ac^ohUbpP zmM@ph<ieNWlr3GJ4<Ava2nvzIvFG2aXnn3~u{<+$?~CE3cR(Dl;;LniG$ItqAXfP4 zA-*}E<eX7$W)x2lny{tkKl+#Jl{>EXexFzEd81SJ`t|a+N=nujiRQ7>t2NZ6q6XCd zT9`%|zkOo*nRX}qG(6FdJpK;9=ldTf?FsvZlBnQ?vlrniEBcSeZGsj6wsAkx8@5UR zUoyiRU?`8|8I_x!P-O?Lk`}{NqgwROKmW~N4f5}l>WWS2)Is=F_?`kmKK&?a0Ph@B zFhxEJ6{VR5A~Dmr9h%$q-#FezZEvq5K%TFFQt#(y{Im{^Xg_vjh4?hg2u$9#g@zpH zLZ&90xW^4lE+7^;f+)p#n1>@eodKg=wR>H!7=(bQZ`{>mP3kK(zf5kM)aowJu{DEQ zdh*_sMLPLf_)g1{A~=<z@``gJ>9~BH@>9tV$4{NV$q?u85?EK5AwpxJWfGvF483}% zJ?s&vl#EzGAa$y&iu=u)+;b{$js(Bo%=~6J7ac6#aZgxpOdxH8+ekeA*!kx|TkpG@ zDb1|#i*gvT)`6lt^~QBlZ)xz*5!fr?pP$)2^Vl3`s1(T5H%BBhEDupLbGkaJRmoHG z`!}=77XqW0$PaN_xqOeAFB_EkT;&>`!qbM1n)dS?Vq49hhX_bhm+A@dKKsLZNtVY} z-dveKC<Fl<j0LJ}a6Nw@I5n+S6duxv&?IlwP6lN!vTPE1D21FxFY1u*cD!^z#E?Il zjYc1gqI_fNI-n!L;f~C{tZ6&%`>lTjqc-rC<PW0K9e0%vwpK7VZ2W07B{^+{U=o5Q zoa$}7z1>58J(`<7NOHhger#ll&tuOkgKk(2RvX@Smi|veaOyYW@!P<Wz&w+o9G}a$ zYBI>Dk+w5V&o?y1I!$WZ|K-~344X45D+Ak4u1Pa){|8;=n-*9}(CiOgdt)Fs)CTyF z5<g#E1t3N;4q*nVso|*1qlyuh!@|Lh+wCDLw=W)<enG}v+2M_fdmks1lFKJpA$48A z!1r#5^PF?;K8rQU7B2NqTL4Maqd{OWWCGXFbx=4Ksf}6-=V0%~sS>6V+W|tHB}6M6 zli~Y*-O7d0LP3)$&MvmZ-J*<;;fR!Oll~sw9=07$igOe_#xlXP714SZx14fNlWQ3< zNiPh=IXJe1W(~2sCm#xk<z)#S=izUcm$X$G$ucKQ+dBqh7Ewe%u7R4!Ol(YyMF0>7 zRRAl(&Eb{T+vQLo;BfV{4cj61^Xx~Fn~0Z>xs=<o-;;zqb>4s|_m8Yko{ce{aE{Pk zrx7qY^|>}TKH8g=^t?!5t9mfV5in78I5Cfh99%`Nbh5X9=l;yug-e)p@2Kg3eU`qM zoI@ldiaHTzUkq7LK?-aKPCMh|85SHA0o8}JB+M8YIKT!Bw6+Z~6;4{Y0jWb^wK6u` zhKySbZnumduHsB?G4Rbjy$8%+Tm5aVj98E#>Y>ota=Y|7tKx^XpW5Eu<<YL)o3Cs7 z6%|!&k(LQG-PkjB<{0qazFd1GYZ<#@j|>jMto+<{1h(c8`S$8<n?`2`c3tljhIpzR zC%;Oz{@mrH((<U8JNLPafQQ&lChIjg%o-vi-SVhth+}F`uOTAF=Rb)w-RDOMNO#{^ z;&8^xlh!us?b&h)4*Ge(XxLrmhrVLx$Mevaa>#evW?*pf)a|}>kJhIm!(x746bI~h zpKltAs>@4wcb7cMG*Pr&_QRV&hOLhb!8$b`wJxD$O;m^tV+V=Mcq9r89g8^x=BVI# zL-#wi-nE}fLHeYa6s~+rUVA?JQ1bULE$VprU5Z3(b@|y3TqmysGOL|7_RM;n%DZct z9N76j5U=4l@7AB@_6D**;ASBvuZS&-JCKR@z3FLJT?alWf~$JOtSWbZNdc$xKbW)p z!u`6H`i!sJ-flwMSn8**f-{@!mo#`%(C#rZ7)y(wtQ2u{s+=h=^&7%RqtS!klZFiL zcL@p`ol*~WDF+CIJ&w%!)DG>0DjE^fP)g{TEXvfVrFZ9C^0INkE}Bio%=%FD#6}h5 zzo(_@SYEapIocADIwcv9RLsSS(F^u#`eWQN*KKnz-r#3h8BSrBR*8L5gC^`Q9g4q; zbv7+o;N9-juAE{81pN1>>RSK$=};p^Rn@=SUrvES%~L)8u!6}9h=Houd~Ut7H4L}3 zqyGTzPBq!LADbVLhr~Z>V~h>=786ay4PT!RxTVaxUo?ErI<B($?D1^}IpRlT_va6) zKEUUwOe}qew#4)&l$hKtMx0n45wf?5Xi5TEH7H!M9qOc2thaC8{C#w1%MmqQghQh0 zfv5AH-S3LmPrqz=#wz8qcv*q#(&CSs_s{VK3!Jp6&-O8M@CcK;Lu=Y2vIn+yuAl9G zl)ZxQ^;Gn9p9BzWCg4CfwktDmwwEf}HffWknynmm?Z1+og_B>4t>sC-O@)6SO!q}p zllL{G)rht)Cc#ZO!n_mjhmxT<cNXFRU+NSA!mNemQN{P~dXcW_2$m6j>|d+DTW&RK zOgV0J<t%`1b9CQ-Fp7}k6zuu7F#0EL3yD_5nEd7X@jOl|Ce6LBD1XELh_Y>pM<Co- zrp%E2drqOs3-CDDb)PZ$Nwb+onoCOCqQRhHz{*KGbGPldt_Q3R>Yuj@JS{!CIX*kB zqZXD3KsN<xhRP+_tfNX+Mmw#LH_THQ3pah%Y3Own^tuz?lKt#359f}(Vz9ZKndsqr z?%@@)s*`6al@D&!C>?viJtdOQzgxXIvfA?KQtZZbIU%><NNx$?c=kSuUxuQ)xElgh zANJeU;)~O-jCvR8TC{c%|6}rxXJzJ$2k4Ex(bs!oZl&p-tOqw^Yp9(`Z3(^J^CbX9 zi`Y@lms*XnrsS_aeO;~=z|3Kx{!G^YG6O+LhLp+!N7y8(3YNdG83_aP0IQPy&Qr_+ z%e)2}Pc&L6U76(Hwmbf0NXDl7)gLdTGnvduk)DtCUvI2AjVbJF#ZNRew1es=AY=k8 zTT!hnU&~rlel$%+Tgq!a?MSi+H9axKe!utpFe~zDg`Mc-HT$P+?Z+`mCy>gId0n?N zZT`)7moDW~SY8Ha*-aEYWyhW3Bi2e8SWQ_Ms!NOvVS25J*!|r1C7RuZ8okptCTrW? z8=Pb*A$?5$;X2M8egSliLpdI+rexHAGihCZzF_$2WdLXGm+I8V7Z>^8ZSd8)E$!w4 zKLvs(Zv-^emzR*BK}6HYc@04g1Ms8lN$|c}^4K2Osjms+r~u{r)@Z(|G@sE*y3t)2 zYG^f5u7Vu;Bq!*RRB$c1@;=XGyLG<%bHc4tLz3Ez8l7*m6jzEWpkV17`DQl?GRShy zXZgC%S!5$lWhh3Q&~T`%!9z+Q9kdt9yyEYQT&@38uLDGy`kg0)M4U-BmT;AB+vvaL z_TQYTC^oI%u<-FozZqjmrL2%09A&4ji`*Gp;qlXKZHB;^CDTOP6vWz!9=xiF_q-$> zaP@HM7!apx0PttpI;-RtlJM}~lmdikOb=(3*TGoScb~_WXrRiS+b?p%teuNy-|#}; z=t{?$Q5adyxZOjzy(sU|fOGY7>?X&t*89w`5u11X9LUAqz^(NymP@#s+@kw5;HC1} zP(x6OF_jMumu&dIp?9ZJfa$upG3=vIh$1>_gN6<PoHc;$SkSyyOL5Nqwf=rjX9X!+ zo3p%U#EMrc0=UGt?v6*#i>;X`o;gsb5ZSD+bCuSWyc@i7St~5R!MvaLH}BgU7`1@~ z`vaLrsz^Wf$nN}fQhuPnRQm7ZZ+NwKj)2@VACX6xBaDJ$gFb~L+>5UyMw=URI0$Xh zvgZTN-|c!GCxVR<+}oY6_K%76TOzTi`l}TLK~O#C#0A`A)>V!Zy?vqsbHq1vJMBkp zqTNWr#i#enBa7jI;>XS<7bnU;;h$9t`5@mmdr#4#e>npSP=WXrq-EAjPESsk2fkrj z-(zNYguh9YrHI53(Ek@h!OWD|E)LhHNnrGL!pfhjF?xx@-1gqr$cA1kkN8_IjuwVz ztFC)Q*KXUwZ!9S6`t%i1Pi<6yP}U?UW{UkMpo!-Sz`?q0%r<QZm^5iyWiv`NwP$!T zlJ*6e31+6v^}@X}mWxuEC`Q{N*BNV}OLg_qqBE;}BkmB#f12Xy48I-B?l?ySm+-fG zaeKkX#|A1%vmZRzojQClh<*aPSNG}BUoOBQ+csZ!568-T2=7|noi^ca)c&|~tFoE% zLiS;438pCX%AZ}9sKkNqzV2>Da{0!#%rm!RBS`+K=bk4Lv;wpi3jF{&8^**wT_sKv z5!ippm+CaFdXTbBU5+Hq`c06Ys)uNymU0@4nD<_#3ru`fzHBNdC;M+*?X$aY!dkjz zRoqD`{G1+#03rdEdRD|+TWx)>H>QlqG$>Rcpb*_pO7AiqKLGi$X}F06z-^<9<2s(c zQz6`MHKcNlB<RCd3s+GfuZm$)XS(ibR~gw0CL$DXRgdy?Djd6~CvjK;JI4g=3+}4_ ziof$tM%4e~={T9de^VuRIy9OE7U`<<ZpG#h@4n*hqN!k#nQhh%b<tJ2QT0buT5^bq zvG=GC0YDo#fNn*7td4cQE8dv<+N0pJfq2{<|2m^p9svPCO5dB&-_lJ_%26=CUqLlZ znJho{J~KQGn`&*>Q8=IF?YkFVkcPp5uLo}J@Ac#U8?Hdn5B1~?9`2YFX+?4Sa|x}8 zBAhsO+31uUXlA2@F;Z=M&pE<KykL)30YGjO5AZQMa<7$qPjzJ)zi>Z!q?|2uK0F&b z*U!T#h`|Rqr94(nz>+z3i0F_%X>0Z#Fg|Q=Qr2}w;fjj~)W3NlVdZ`9NL?Bg0%h33 z;G0GOrB^tfBlk?RzQTTtkaX}|XHA&IG3E}L{3Q%X-#&~?_~(hZW&k>9sA-=RK@S(F zC(in{lVPH3YPS@5Teq_1s@~~6GnC-P8jA@XiN6+=lr6O}R$y%4_=y$YI-R+Y4{K>B z!S>U;yNuT~<a9&ce<Y5K<_nTLcTOApuq*C!XV!A=0wot4N+I#@sswruB**FTxTAr9 z!`Czz7B9EPtoMiYruze}ArWB;d&HFz`Yw*zJ{KJn$nD%}W3;z(KbbqiQ-jSYAI;fD z-@!~E6>Nb!hrHf8KFI;^&7ly}p)nkgg6M0ydssm~r(KhYw=hgvni97QpI!Oxnu`NO z<;u!#@w0y1l=29Hpx7Zh#6X=Vpm`<0nG!=g-*i%}^D?w$U;St#+%qodvxVt*Nu%NS zV!{Rwg&3S3Bq<?nH2sy+AZ*7JvrJ>aOdaFi>`Hw^u2a1B{0y>o$v-iV*Rp7dV{D;2 z4}%IH;Mp_dds2y(^xX>QD;7~w>i036%7j!o9M}0MN6)J}xXK$>=M2{$VA;;&s7TPu z<cGXSArFlBG5>cOy1(+;-W?OEtH?%W&i!OrEkG)Mr_bOL5AH3Sw~w~3=A>72LwhT7 zXyXR~hsB)9BSl(4Nmx}anVkHn^iKCwdu;~*=)d+xi;$SP(vRXdJx|m2&6$FNnfe`L z26?tQ2FX#nS<|}q)QX~5v*3}Hzg#ZBNhR|w{h0Q?rF}8=;!92zwT_E)sYIs&ktreD zYsLww{`V7ZgG*Ensk^bnZ;oqJ50M$e{#T(|BlnV!5<@l_t@Kgv2oN|cd}jX_yOn9a z#e0s#H(|t(UFrJgXj61f<iq~i!yDPFBQZ<K6TwG~f4RE$b&%Je4t!ipG3JaB5r?nC z^^gltHISWa*uoOfMz}*Czk78(H6vpRGTP4ZRAx9%9yKlOL@X3xzAG$Ieta@^pV4U1 zd8^4?jA!*ld^On$k}|<_+?Ea~tmu@hKx=_iPX@LrgWx#Rgxlm>GCex0xrqa8Imf)N zX#Ct#ixWQX;+ql|=brr*s>Pl?vdfz#54UR#ELoJO1~*AX$f5Sp!+;evJHT_Dr-nBx zycTmRyd!rphKMdUZcqI%Q-yC`;R0`-4^=*R{m+0w0Fi^}brZ_Igcl!hBX9rni*Gm7 zDy?9Th_LkpGcX4?BT|Zxmf48L@}F71Y>72Fx_lECr1mT}d%ZmR(?GZ`p~GCo9}j0= z<8@j1WzdGV>zkx^v4{((8lr;(J7i?b$=qzm7!&e~qpgoKV;2zXWVfRBussLqmy@C= z#ZNyt7A3%aA}(AgZu{Pg+CO>cY<PX{4m;TQ9|ixyWRiW`&07KjcGMRB{2UGssHx|; z{w{=ol(&!z@F-Qk6UHGBaH$#iGLN>~*YC6H$E^Qdy>A$~JA30`_+H_z{g`=Ns$;5c zBQ<y|Cn8MWl3X(PrvIa=mVdBuqzslH^9y>=FyRGz$t29fupz}S?Al9#_q=c37hIHl zF682|84&<`uVdR!$o5d+&ml4#Q+;>s^)TKQOb@>cCYP4tEZ+Mw6u?5sGYp4{--i>N zD_YNqY`z8#DaK#%;cd>l_pj@I|EY!kdkIGiP0(CnD;vf8*=1B7&@^e8Ueot_y`H+I z!L+n1(EaHhD0!}Ew7lXKgNlPS!0loDqYAY3xrgX4w`bpKxf*D23~s1)SaquSi3N!i z<BCkqV#dT01R%Mn2AxLO9cGWPr1pNJ2k`IFw;+q}#;SJDBpbc{H>u-+NS^)HFXQ1L zk3YjsyX&J=CRUZMBj3wsVi{|qjmxk-)Nin4&Kx3|_)Hi0F3rGQy_cQud!GFHdGk-i z{Sx6#V-9Rc@HS52H^TCYbldX=gjb2(WN#5Af<f2bOe-GvV38T0Ho5FXPpO~Tm@%1T zDZq3Znb+rOXIcrzhvrNS>r#sXy5EH#!!rymfE57yYM*E3>7~?;4VlRLjo`y@<zLIo zRGK1A!EdZHV=Y&CEGW9EQ(j5vOL75!(9-in+Ih@ht``ep78WHMlY{A5JCbtnkH)&! z(~+hs*0TKp0p$GnnR-78BUsmPZlweCx#%6qJaDOe5TigWrV%wQfcrWGClO@6fD@Yx zg7}qF71W2#t-$?zA;HEI*j+lAE&2pRy7qdby4_6g)^ek##(6+6eU+<w1>sM19KAO) zk0#D^zh>LL-iJYZ{7cO5aM((T2vdk|-rh52{=Av;?_-yi)jB+;1%tW$zSe1IF7OQO zU%V@qap7~xqee$fv`n|ABG{LXot{o6)Z_ra_T6p5UpY&6ut*`SBWDP~=ms_en>cZT zNrK;r5&ISMr0(Lj+tl6mP)(h<>`QUSM*RDr7A4UY9#Hq>W!&$^3`Zqgo~7(Wu++8h zYsMN_nlNpL%sjwn>Oi-4Iz@yq^|kxfL$?fd@X}l%&5J?!*AVVgjZ@CmZJIK`v<Ac- zYCY5`VWT^Yj2xIr0DgM+KaS4*k?Hq;<4RI09hI{R5uwQW)KMXnGc%G?tU1qNPL-k@ zb1ui^u$Wm6+b}E%Ar@jW48zQvnZs;*e_x;PKX7k9yzcvc-p}WCJ+8Si*3FE8(TPb8 zHFzZT4;#e!!c__@nF&p}T+=wLj5zDmS@<ANaY`-e;L*K!a7pow(1ws3zcZ}N+YBFs z3#OFpz!}8@4|wB#X!m|9%@|%Pz*0g{t3!T<Ln{B|w(VQjZx6zhOhm?1Z6B##KVWQR zqhNjT!Jj0r>LBMh@N3o_MB}g3ToigIYKQKgMda1&yi;#`KL5*jb)KpF)*RG3N_`-F zfye-D2kpA~P4$Uc)YswUFU8%Q4%o2{8u}Y8g8s9%2fHRKFYn+zL;wNZsi@TyyDScP z|GtEWuNN|Akj*M8=1SCMlD|HUUf3o|6-5pfm>O^ZY4eIf@5w9aslb!MIY%9&pQi0v zl({V#KlX08l`=BvVPn#VR-2;;gFq5bOe^`02Yt{FD2yRGZpqvFbhqeCi~@izQAu%N z#%*Hk$Z`SHdun;jYb!ZbnQu#y|5CM&#im3l{<V=_VnOB>38+-7(Z@e6=Zs^(N*vgA z_Jb*cpm&o~k`n6oORtqHL9r<>#bZ<)=iay}AnyYs9&U5Wg{;R2S@}*qVy|<HegsSE zLZn$!{ZKG+qDDah`RY~u@vB|ZDIfJ{sXkllT5sQ!{a%LX-z47;F2pmnYu2-lJa{0y zOmb=9#u!5U&WtT)P#mwlN-elz4L@jZc%5HlcC#Zo{Nv1}1hm}XvU-#xjyXVR4Ay^? z@*2o-Kxp7d#JWvf(3&pQE3Vod-`E^C@y1k9v$vD~ci6?Gsen$9mI$@zL+69^TBmA& z!nk7^8leGS%(rm>L)UQS{UB&)-JdnH^UKSho~brXRj-+P1X}Rx-u5jSlGd7U1Uk2` z=7IJHEPWBX_S5)-T9!fSSLv4zsj+`)72AC#7JiIbn|>3ht+rgKubq^%YeSdYBL9=l z8-IrU%^Z+qzfC$f+DP4d|6bP8P-_#a>c!|{kI~<Y=f7*U^;@5%#4=u`aCBTPbDs=q zhAtFrN9mx=5t_sE*f~hc^5(w<#PJoH|0VxBv1$F|R78aw;2Yt`hz?|U?_=$TOL3U& z*3kW)CnklyQpH*dA^C18w3il}43n9x=LjfAG#c&$Kb(*@&Uad#l4V}7zMRo5z45&| z_v~ce1Ws|Q4iws2RFNqPhZnwg{W7lOX}?{qhWDB|c}rV7T0-&9TOpXX!-Sj%BG;nV zswrP0yPs}~W!xWH8)~HN>Q~=H8L2^~mj#dB4{Vf~N<X(H6$Yb;py<l?QH3aE2*huf z@2f1}>l{$5=0b3kg{S~vN^+`a?Wc0Ww3{|1Hr)vRt>5T+j9S+nsA<oH@z01%@`Ud` zJ%%n4I;lEP#njI^sBwoDAm)Fg5OFA<udR)dQab<E_WGc$ovr!U76}wd9^bURWEgTI z!_R|Y-c2yzBuFZ)=e!}Ac_oCEq?KGd_-*>#rEt9|DK5ch9%WnDy0L>DRzkHBvO9q- zJ~)uCf7Xt<$_X{Nv0juolUAO6to7&zMWbnR?b%adl5hQkK70>0Fqb~vD_>R{YNiW} zWn*quam>z@$=}ylg)-+E)r9C)1hL7y8s;M69q2M~bA%56w3(k)FO_p~_T=hSgM2|+ z$w_ciz4+MUK(q2}TwTbJOK60?{z=6fiS|0{iFuhrb9J>A#5wW`Ahr8<dj)j+kLTLN ztpA>=uk+0pD=&__R~!l;p(FFxT`*Gtjlth;PA$sg!NyvQ-V!rsx_1P~cT9R}*H3PH zG>L<uUNvj=%(Vb-4|Q)XM6>9IBI+(j!tT2d`<}f{PFl@51btk(G0sc+CNwi+BY=qs zy}7(yoeuXy5~eo{%{yJ?r~FZ!WqWQAZ?a2Abj!_MYDWyNS=78vwvv#0yej{Zpuc~Z zRlnBGaz{|7TF?_qlRhLQN~O9eel}9#k@IEC%!*E1Gvw$fgT{Fg#8ueslj}$pXQxys zoKZC<H^6D)F!3T{E>r&vC%;4&*NZ}zZGlm=@|`Um>EpIn(k(u9K^%Zu1+3}SWgtIt zc`a(DS65Y`M?@-1_|RIHWUS22LIf$9S=pfcJh1VqW*MfHMC$eXZl5n}aysFO&-Mb4 zMr4XD3g5O^+TS;$?~t-}&ODOw3@ec`m@*GJowUB7)d6o%`1bRTxp|)w%;hbcYk??A zUo?-qoSX0dcQymK@JOt!aSmt*_MCY_S?uF=kw4-|J8e{w2p~cpfq9o*DMY&TG7V~a z41Qeo{<61R4dmX@k_~W`j^kg*ebP5vJ1wS@q}t0&i^aeo7T7`(ebeXaeLSv`-Oni* zhM|OJvfNL|$efOw&0=;D7*1-w`PBu0d#)62Zd3VWkTJnU0gZs@aJC00`N9lrcqunY zb?MVbPG5VrL1j>3pkj`gKtqGf{8BcF0ZkRuihO}=ykDOYG0EcWOl<#Qqjo8PgS={B zWNc+)?04P8tOguk{Bfh}pQJw0M6}WA9kc%k-l7SmxDoc?=CbD&o2h?64|YWE%D7bv zW@80~oha;@z3>y58ZE}~SVYK#Y#L>E-U&J?e5~-mSeRD-5%DDWz;SUpemFg|H9|R; z3=N?)ZZ*0uKJ&hI->C7+I5Y~{>ru9a14Y&w+*;R2ExQlZZ|O0r>vV8%c>F3wTZDh% zA+<36ruCbrd6xK5NXb?$f#&yfpnW2!sn$o|4{bBI7+Duy_3ydptYxufnt77lm+GPJ z{y^jJ{257J5^9|cM{iWt(5Nn=X}^g~1c|@~^jYBlcs?;Huepk0=24gBSCTH<m&o%* ztp&7M2K-~CrA+X_?n-TYgq2rO@B?7y)h0?1AieI`=#HpnwPbzSUm-~ST60NsIeiUg zii`VU{k-jV=0(5)bdZ|X8T01Mt!{e9yBxjh+)(@g1q}`zaQxY~X)|x}(3?>*3@RZo zhu*FAV_<q_0#2%*Zi_eaYF~7BmnfA~OA0WFeUf3Oi<k8?B6A4`uMAI(HJMF>IvN0R zB#VxPsTDHFuwUf%!)LG)ZSQ&9nKGx_B<GtDN6ZwFWI)#12lghd=*XHE)n)iQRbTM- zE^BTA&I&gGaNsv)>bQn}7hKxf<o%*~*9K=Yt5EgMV$$v9xpdXT*GKg>2VNpU$DZ^9 z)M=999DZ&Pqy%dsAizu9lNvo`p^gb5iN0f_7@S!(CMKneIl5*@?TU}In2tF14*hu& zIz#QdWAW?gukNWc0fj9sT;j1$U1x>*6pa<tS5{|neykO^h=y#XNr6R3zyL}G2AeSa z`**i!-ML@M;Q7<WyDdkAvu@M$4+n8AP%wpoq!FZZ6O;vW3GLauX6=;eTbL(D=tU5H z5j{=jHRV2bYJD(;PqLnJ0m9vK!iMJjcRBDy!w_XLbq~Mab7ktnC}xx<g9Brmosjw= z3Y%|MQTky(n|S$|NyGVBARIeSXJq(=!}qv`wDAqaX`0pP3u5FRmJh{mb9~?LJ6u0W z<EyBQkwD8!JwXZ$F<4iPFdu0tV(t`9UN};LY*=6yF*s_CqUqi_Uu&?pp9&sXFcgm| z`q3D^ipZfx5vGEbQT7Arp>=F1ZYJVFJYnX=yZ+nb`~(IW<*Jh&M_PmpR4tYQ8Yh>u z36;0S{;DribO1ZyNxFUWT?Qvw&Z5qe&WULglY6~v|MW-m4w>BmxZM77Tqyzjd=aDJ zfcWxYXYk}9jNhI+VTVYin>`Z+R;&I}aHO>;-bK^zQvqyBSNiP1_e0ebG;VLcp7j@x z-*dWj|G^hqJ^rr3qqWH{$1jL19KNmtIG0V9+NtijmUhm5jWlW#43EXbmh9GKQQ1X@ z-gT;x3rg0tyUJr687Q!6b}x|`Wu7mPWZP>~)=WTu+Du&r&zv}Wf33PWZ19exuD3(9 z2fwt08s(2ys$)-?ugRG}^YPl~h^QU1GfA_fUm@8DP>^nO3BTC`oE-H}+)H8G;j%{i z;&vX=(ZxR+W@$-olFg^b?an*A|7oHw$NxN{JCqJ>ZekipAFu@~Tj_LPum*#r++<i- z)Chmj-l7A&to2iV?h9`w(WY&=%Ze;H5sP-LD&3o<5ZOemb)|W3U`8lVNAJcs7DiM= z|K>`Kpj(FnT*Wjt#=pOz8Q>v(NXbzA1{X8lHVuM;qIO0mQ@LWBTN2V!=ihof|Dc?A z{`4*3SGR<>_8y9d(0A=_R;U!weF-G1!S;c<WR!27dPG!LR-`2-e+%qo(h#SlDjS$| z;8bN=*R!*R&H)U%Gc592BU(hg70Kc@7o=3C)d!P7-0VMW%sOsKzslKpB3X7GyD9o) zL;85!Go$M*;nEBICNr5gK3I%e`-~y?lz@}|WKb{CvEHUaz8pQVv<h{}YJIU=H1mLc zHfF|bf85wFK%e~b=e>2j@76C5X>DO@y5a>Z)g-6I+eGlSoiU0BGFWTU@Pd$+1!x~| zw1Oq^AQu<YB7t4T_SN08DgNAfYI{ynWuQmOq$jV0L$uRDowP!2mW?ZbLe52*TNi~Z zDlSzG<FHLC$_U@Hs>N3~%uEEI1Q716a(yT%ohol{YOZxKk&qGSfisuCH74;~_wONR zQnmCSX!k=#5L)s<SB-3a7|19W2wZL0+Ew0L3rh(GzFQUFY@q27UCiwxPSf@7mx8?= z-<J9wda>T_pYS{IGyC)FTN0_fS6WPjn}jYFul;SQUiN@u%y(K?u)mu(f)K*{x?fFH zLoKRvVS9?(hF{RJxSH|j+1Y(Hui~x;y#D=AN|Uk00IPchmlkZ9u3)(Pd{_4?`&Xm% z%_xbINAjH3CfJT3Q$P5c>0Ga5=;0gK$%1ZaajF56_Uw{Qn(wkP6oSSRE3^`96uQPk zfDT%V;gnRb)bh~U-R-==BI}W6X#-Typ}^nHe2^@q3m-eu)EZ5Nj((eR%V&-o=!zUS z5<4w2Y~`OfT%k#e(1pd!Zq-mbt=dLjBehL3qPKLM`|y+9V=ifXQlED%W?bH>h^m}j z5N+Ws|BT~3hu!>j;$NU1T~(Fr66twM1bipU>sXp~K(L>eB@}-%6NJgz0kiO^>@Gkf z{d~&*?<@y(LD@#`NOzDywy7xw%_Pt-w5jY~*)CasI=Uz+n?2!mI$l)amfJ>PFIFSn zei&B)?o=(hDr|`))p%gm18qt~B4jd#Bl;ABfwqhhi!r`Y6E^nmW6(6U_xy0CYzQe_ zc7<727lo&+C;|&#$phT{S+Q35T71@xbI;Tv&p$lfyZEmC$j;LfZJGXW4Aj7X13y_= zWnQ`<D}fNEL`6sWy514)>C+y2@^(&M>+7Tjkab9j-k+q=2+IfdwR_ia)=)9qAs*1E zz}?Hq$N)(?FYyJ}c>+EEUgjj=X1H}I-9V~83!#%%)v|EE`##9j`%6nft{r?KwWQcG z^K1P#ZqMUPCvA_=UYWxEQ4Ox$AUWEQJ0K}FxTWMNzw}Mg?%=#|QbwlD>AcX)hrE$< z!<tYI^+EHLVB{xnOGgTEWFn<W#|)4K0l7(wkz`cw^D*ywWmAQkv=RHHlsT$pvC(6` zJH!u_({Aq9exBLuIqkc0b&qg)aZ_ft(b0Bbkr}eZ*elfbL#X+1A6*GL+jEPzU$wSr zDw!J8_%!;~SD}FVVkfFa_>X1%xeIf$l+f0Rh{d1?W9#|XcHZQNE!DZ{5$ZH_1&ag} zX*+9<i@B8dTMfl|+%po6V{JFzeMye&x?v_$J8PW&>ak!^_^ZjD5=C;34Z@^uyS_31 z%dl=)w6`||{~Q%1iHFqCo}Ihopwst5IS*oyXoT{DqOh#Jn=t_Qr3U@o>~34GWSTy} zWme<TSBwQ@Z27>aU*0OWXqmsx8zAR<VGfOKf8rmnSK7$N>+X#7ZVYzi#eGIx?KkVq zwR3)AaeuRB-)tInd3+Rf@ZAkzzJT=W2YA`*9Q8m7IHIscs}$vdNDH$2hTFeZ^KLjT zwwS7a)G}=OL%0^RVz-5aNfx)xDkL%uWm{FEiId_k2_ci$Uw0mAju>vZhF$knjpx7i z?@%mGB9!X$`aw_R+?{hbOq!o%7P5S+n}EnyuYRikP3rqHOM@lroTieNLL3%QQaR@p zmBt7JKaY!jCVNj9n<&7;<9gwbV0;R{({=~E9}<j#6BsdzV}(q4BLyAMrz<VGF)p#X zoS6F<jr3@`MbGUYzIy^6jD@>-qE=3d=&LzQ?&C--_6gA@Z2YDYpe6R-HAMibP}en5 z$0^6#`kh56vFs<Jr*$4$pIZKw{?__w(%icz?Liy%<L4A;HvtlX$@b8+k0Tw!iO?q= zeBA17bS7}NzU(=@(k>=?qUl9HY5V>#TU#>a8m3Qo>6!hE`-jd--W+QMP1jb>Xx`(# zg12OXwu5Dl$hRq~H`muOX4x#M2e#=}v2R4pB{y*(WfGf|wteB}39%o!hTFb%?%Tw3 zHG5AwTJFSM|8`nIx;mgfU*0L5-|_@RAq{VC3<&`Qy<BO8Vni|-1Q?XoC?j2+@D)tS z_-+r>asG(g`B&3dukarE_eCCPvOoOy(2fQ<dQRR+PRM7#<c#snT(}=(l<P9<`aT^I z4Sg{bf^%`vS2ujXJuwyrsBG^w)b6WYTQ?eT?{t6M|8rwp=!Zn<`nQ8RoBxnjndeFX z2Qt<hLjoI4|CU}Fx1uZM_z_vaA=o5Y1o84s7Om)!zX+wh>h99+drDCoA5r*^2he3A za~(0M+i^uV<@1hRdeZeMr5Wx;p<7jx1U^6=q>k*;wjT{PyUj2xPAx9_$>KhN@1?~H zs11F9ueTlY7vzujc76UAunyQ|M(nuEa=mi&PTt%rLz~4&G1mUDhNcNWmKA?wUk5ol z+&%c2=g@nr`~!a!HW^?|V|mn>Q6)q4rtb4U$@*0o0-Y7pE=iHd1$7=i%(I|hsq&9L zS951$Mc6HJ>Zv5vaCQL6ZQ|qFEk>5Cmw+R{qT3N6GG87}9aKG-+$F3Jf3*-mDz<T- z=2v{4!6sBAt|$a1N#LD#{&1B6&r${9EUA+sTEBdAI;Wi#iBj!Sz-6g-45?`!)6VD% zLw)%vY1y-|)FzTMzxzVQR!%Gl%`Ydb>`-2GO$=abAX`wwV2T-hL*Q%@a;8W{`BK?2 zXZi!XK9~orJei%^=OQ4J9!6{r>GMaO<6azsPU^4aBvluC&y^qWek{@YTumnJQgSM> zMy5JHGOF;{*-)5pBYn(y5toa_VdDuO<@5wEo4R<#BQKoi(0qg>_CcFtBZkeX|8^eX zV!yLwUMigR7R`AS?pM!ae38f0S4)3);<aFOYWyI#zvO0CKGYZIoMWi>D<fFlG~BT_ z%8_$&fTKLjhxlmV_hE~MxSPxLk{tkX4{V{cR5tgCXV$S8r7|k{f$!{!O#T@jMq!r- z4{h=41F#<?#yN&G-F;;xjQ>4sCzDfXsu9>P7XD~SFAaxPy$(P9ij)NM)$qnH4b=$v zDwvbz{f0pVw&C7|3`eNK;MjVsdi}@EGkOJix83OfB#*ZB&)BI4eBF;?JW;?uFuTd% zKsjoy*xiC@-Ix=UMY{{9c~3N_-1c|xsSvZ5O#Z+l(k=7S|G*7LTwVD*6Pv7Jy2D;d z_Ig+EAp~SE%i<=u&)JE)?duy-QoDt#?dN&Aq;g#g#9tpWh^XXCHQXTOA834M>&~lA z8_HkrSIIKEk!y_F9$_gH(8ZZoiDymJEi-(~)P4Kdt7wX!6*V;>T59Npdg8lfH_Zb} z1H&>;Hsjv49_2lj1LSJe415bK{q~^<^Tx05C@w-#V`~g3vcA`P)x0XR`QhE&(9zHV zK}3OoaFzYkj{kVZ@YBKEOAU=_(no^=0&6<XsQfO32#H;&xOkdqj@cMZ7Wf!anioW? z#ctaUOt=uhz|5(@{z<G=R<6@n%gVMXiF?eTkCOy^vU%C0LgB$k;~9uY1HKiT;GQsZ zKIC2wpYdVCOlkq*ReF@-pWZ;7e+>^#zq5Mnv#9eGk1S_%)J@HtC!++IH*Dm*HSb5B zAM&NFu^2E+>+fCQ{~elG`#X8AA;-MN9>~SME4~i;IyPgN$*x)NR}I(=Gz%q7|LatK zoM`!k0-~eGfa!jW{-U8<Nzz<M7MVQEC}xw{uw4i`^2j=-qvc=rz1Q>ij{lm1I+*th z$nRHb@d_`732h7}T4qYFLm|GYfd96yg1fEMnlRw!;YsS>9-IfFr@6BBlx{EG-Ws<f z?p9ZHpfX7*TGJMiOvMR^(bCWmiN(c^oeHo7Z7M1K54iVx$C!K7aq%G8>|3*2K|)A( zPocRn{~V21;w6!UJ(FxKgO-3%SOnjlg&?akg`hf;{nijVI`8<19%#l)N4~khaq7pE z{}s1XU*qqr4ejq}<7w(rNeIbi0E+Y@*utgkk{{}JD(@?2M*(JcTd8-rY@D&uGDG+L zcghV<*DfA+L9tLNDzQlGZb5xxdL7}*suw_Wyqg{-Q@VGx3p|zxDM#L~9B?V#@_R{u zNQ8a|awx3_`Nlra*gZ*Zq@5&v(^u6Mgk-lWqhx*5=0<wGq9n4K@ruYj>7Fik%TDrW z_YYIs!O)Np{E#oprGLk(Bn;0LP@6d#OpEW!9M^mF@oeVBW$D*0)hp(QCr9Z{OtnWa zljy#Ykd_I8qKb0T#@r7kbZK#TGsLnbW6N$2Uvw;tuwAiEc&}2e;>dLsTXBCk{!k!; zwEIq*{e2<)`;R2;zh&Cm#@(P8+sR2gyM3bFu@8URZ<mP#=|Z5~U2f6)DIMC+W2@)J zMbsm(AEv(9W@cS8W;C$G_a%Wswm^#ra%c&Kwk9Gu2AdUA#dnl`Xk@JdVIMgg!`>x( zl0|ENRE?4~v=f#vr2OgfW=ZJdIit{n*YAe#q?RB3)#v4`u#u&UIKKyt_Nd0<%#o<n zW2)b;y^uX-&YCDgt#HM{xlJw)_KVk4xB@X6Mdg5sJEx~Itx{rWD)O^RxLUssRmvPw zEv3;pZ8JVgh57nI=!;E$h%#bgHu#gP?0(MG+YI-z38i4nJ{bYhkAnOxTC-7-pC~IR zn8EjLs3~>Y6&n8v8cJzk*;%mqk}_wi#{E`xS6ct$S^SSDtYSV(R;;2^q2Dsp77Q9> zsqa!6jaIkY*HYgF(}rP6&(!p4_Ttn6#Dru5?fniNry~BQWNiiSV$XeBcfw|v87yz( zH{e?UmgwI#>#rS_`Df>G&D(yoYV-=dX18YFlRM<-_fDOmK6oX?y`CUQc0Z)rNtMS7 zCoQ#gi%&88B0F`jqd)!KPIIbh;YKMzxW`!vH?1=&de;?^E@mXP4YP^mO+!22tSBm~ zPkqfy<~4fF+8z^YI5R5Zk#)eTR*xCo*d;vWrOtGa^rzoBSJ^vdiyzR)9b4Jii^T8l zvOA_dD;!y?en91-3+iUFPmbsLrA(f{43<3k>R9`+GeFNPNwC3pPlU~ZEK3HMRfhrb zMU`xIkGrZZie*4oi>-;a+AP|}aK3V-7DV;8UUPpFXB!WACd$Q4@r+{w`L)@K9bExV z-feBV-AD&t5(Sf@O|7)^IXA832nV<5;K2~qVvK?dMsxYTN)l7)PM68Ys*}=Ruiog? zugL;8b}t5WAIjZLGS{e9t;<n00b6bY>C>UWfrcGosO}Eihed#yL)ASa48QNYvG-av z2lapUJ6n=#f36T+ZmAVMaPpD}t7^%-*=(~DF~$k@BLp>8dw5j>Y$k6e;8c)aO&xXH zjvbCZ9+pC}d_6aVu@ckS%M-$C&8GJ>cB*O~PkH%QTTlI=b=gXvCbsViI=Y2W9?1>L zY<9P%JFC0N480DujW%J-wZ?DpPD$-5{>SsSUSISG?C6Ja83jRQUdao*Qig`R+lO`S z+{18U!hwM%i*y4o$cy^PZA#<j)^wg_s!YY-oNKu)2yfXhKtxSTt5@M}&i2x<q0fo1 zu$Ws8c4n&KmJh3!?CZ99rjDP{zBoH2_$BKaRpOJ4^$V)V%{=q%mSsfue>{$Y0UdHG zP!WJSTLFg*L6C;ZV^R)mZBEXX638r$_5@>^Sn)m7`?4T8kC9F6%Rde$jeF!93b$ET zoN&)zM6~!tD7S#N{seEZ@82t>$(KQOVsa*MP`=%?eX)fAx~5e}nIiA8nBLmL$vjQ? ztA2wl^1EODD<=zYfEreZz><UvrgE#u^z?5)O3TL6QK@Yw$4J{C%wXwX*a=OG(`LTz zGD;01W5j&dlaEVJHmP;{X03%6^0_jC2ImqIjaMrJ7#@V_QE-7nh{CD#WMl37$Sb*n z`;)6pL!_ELD~<TC^b6H-V;*6i9tx+Xpfc{KjtF<&GRWUnr;#^ET&aq!v{cm{(d>Nk z)<D#DbdmIMeH45|?0Nc<>+6^IK6Z=nzsjHW7Yyi%#t@fDp3Q({@E6d5u#4{J8V&># z&fY&kzVlw~@>Lmmsq5X{-?gX`+7g?V$lErEClm4w2<#4JsGNlj3;Vm+f5v#!7_85X z0&rR+BFK-`?m8255=4FgZ%RhqbK4ZCLN>faNJ~7F`KpDkElF*+LWndnJbJ4_=_G(U z|M!jezSe$s@UZUls>1jGc0t?7U0PXJ`Gj|qy@O2HY-(Vzcz)oG{GeZ2+Ke<8^}P9G zXKk;SbCuCH!+79k4y6ooBij3Iw#Jke$LjEq2ztpf+9T*Y;Tif>U8L{&Z}=oaq)^z; zX4t{u?~!qy>!G}){8Qmeke|io_RU}g&E|6?O%)JhgwwS3XK!h{>^bgEer|?SlfIa@ z10C%*EWNMJNjCIaR%{pbEa0iN{~6H9zj9|Cb4z$kn_iet8zDSsds^}~VGfK&Y@y2u zYddSTORdew%@HUAk9X9i&yl?dZrdk+OdiG7zm`&v<x!v>d-a`I23M_K_NAZ!fo6nJ zlG~9|j0t5V9_dJrJ12mA)pfh;Kc31)SzSC=?w&W<kHOkh^cjoL$0x-cU0xomJY)Aa zFfMh-g~62y0%|v%!<B=2*{&PMf)53=VB7!kXs^aPwZ_oMT(LC+FR8fPyi64j0uuu8 zbJTi*(`Iy!Oq3<qUKAHM6kgHd#vmL=hcjJ+DTujEZMxmh!Bji1m@F=rG8?{{q~{tA z0jd@6)s%DH&t`#{I(4Xq9i;|xT~AOox3!G`p7_WXV6tCZ=u^DTUR@we6@8*$RJxXr zSq!YcxH&p#TAO|~MT75^!mWKoD8gJ<GOoFqrdnZ{U(uln^XT<lhG7T>W2{ZP4hyj- zcdq;9*5@rXRg+o^Q$tB>Id+(J{+}vmC&3oyRw38=Z9?$MBfbZwUh^EH859n0Ho(;~ zl03)D$@t+#CI($TvI=1|GCxJciJcVQsGnQag@s_rXeAAH<OOPI`>*;aWs7?Ix4JGF zQoY=YU#^7>ZL^z0;)P+GFANn;=-nC_bpuG01O^X0_R}yv1DVD0<WCMtI+R|(@7IGq zOFvdd`9*KER+A{<p$6#d>mDfl`1GM(m;$S-k}Wy12ir?Ynp2lkRMeHpYNpJi7Wy^9 zd(Y5<<fl~p)#&*FfA^#KENz{m%s?_jTZ|URsr!E7Nk@fm9nrcNThMY_`=amcpD_@- z_1=V%`%)8_v%LtP&s)R)JVQSExi0&T(Nbxk#yDDA0Z|_Ci+8d%>mef~J2fPOyh>sX zcInkv&n!)}IN9ABSz+Y^I^-u;J4d8NI>W@pY3u*-$Q^7^axO4Oh8uo*qaKzUE%HDw zL~E-PzS;jkUv01e0NDMH>aFBQTG8iim%I!DMC=YBE01W1-alL7slYFOFD<7xbO(ok zL$Rq`!CdxmM?KJWM{gR$)~@&G1wE@lXQOe|#=3C<e|VE5Z#%JQxKNU)u>+u6$<E&6 z${|G4lPpt4hWtoqwsuc1l{T<y>$H*@eJ3eDiB?cz0DMKt3exZ9B71YW?{^j`pOhU} zfoUZ1RxA}0J9^D+$Ld;`Y~sO_60f<u^VDLQVNL*RZv(w4<X}>!d42^2k-@BPE~C@6 z@>bu|qtuM&=iWanJt`QKA1wTY!cQ<5&T`}q7&}a$Bt~+#>GYUgJ(N~EL?)dA3T}dr zZ>pRPLp*NsyiSx$KOp1xA}D2afnRF@{#3I0$$U_5j8}Hg#4v^V%$47AI}7Ef`yY>O z%`AMfC1l~xCn>qP{-u<lZn^vve{EV(c}k|2uWv5>e<m%%XCoU;X5L<0FBPwtpc8{8 zwUGnAs!C}WUmor5zkb*4rJ$->2c#$6IM`Svn{vbCjchrYf?6S<2fG$`mfr7&L0k^c z*4H$DXeoVB5;Ffo@bd@j<O2RfA1vh5iFT(yT4pVnNB57Iu%Nz8`c}(yH)7ZkS7ZeI zv@wq6Q40qnnG5^UTeuF&n)RD?=QPP&Ww(T@#nvGXQv8ZUt;a`%g%{z>Hni!1PtT?X z(Taw;x{H|FrqzhZloyX~2<NP7E>ZAau=1iHU`JHy<p74y3&E@JB<1T1(01M7X`{KG z7tc%Abcw?SyCz#pct74JB`s>qYz;DOc5W7#RrNcWAHG>}UmaSVHIfWp$s;%u-L~&e z50AWV6~|nk1l4~TGl=}D`|Yz=1#@-T1#%pE^oO~M9R=Z{yV{CuMTFQa<v&A}=S?61 zV)?d#C8xaE)T3<7Sgr5$nD|R{?5l<VA`THfP9jnne_943uoKM`(}~p`4lNogs+=U6 z(DXl8A3o+`-u89Cl2{GFvNFJOdE&oJvU&O3`BQ>YVuvo$P|$1}gtq$cY-}wE6S}9| z+DbU^G3dcr^YtA-j=-qf2WBNa-1n`LyRUmzP2=Q+&ED7uYg7Fs4v6ow0-RH>%0e(- z_FG~QEJ?1Y<Yc~MghRB1{x#U+ES*}lt~Y`JCt<y9TT83TyHBgW3`qy@_WA1cuOr5& z0sxY*E6+-7`!fb^JLjpsU!t#Xke|}Zq|FH7hD=NTwGYiFEQN~3$Gyls*n7r3DW4B0 z*YvnTUFKzF1SWvkt{D|Lok(6Y2;5DZhDa?j>Xe$UZ_F+xCPCeH|Klk<5qi55Ip-Il z!q~dpBHweuAq3~w&RU8Vi5`{`tUtDY!Vg*>Q1g0W_RFh`U$j(G<CG+ZM)f}p09mt^ zTUa50uvDd>-bh*K`bRGXZ<z^-2ULSlw3RxG-p(GNt#!R;K3AH%tWoICqs2>03v~^n z`Mf-Nar4hqWb~D)V%c5@9IOJn*^D9V0kLl@!DsjVW`?2w+{1Vze+3y#nb1{h>=qD{ zHfZ>+-D$4H*b|@vsW4<V*JUJ*NFe?yyX>R$B1ZA|0luIX>=dm323!A#gul-5w<S?Z zpU+7*WV=k_C4MrmfwZR5Pd-XrFK)S)Znrs{$BHfq^6ZxJn&*8f@>07^q)kF!*Q;8q z96w3ye&1mN@UQYf<eINsrIv=yTYS2kyKWVS+^T~nvzjM%V%9=#CVAYP$r`ks9Mjh= za^VuC&bkd@bnVesHi#ebnm1^C52Ur2j4mvs?qu>CrK6yokfiEr9NwqbxpE{Lp?o<< zApqC3`a6%1F&A|f1nQqSy`Qyawf%ZsGSSa>%(>!P_UB9TS3Cu-U%wvCBM8v87`ZEn zsr5Ej&Bw>8?c7)A#)vjR=11j}cVCcY{S}<|;=bm>KDuFF`Ugc)J?8x4W5>l%r5cJS zn0!3&u(n&Lpv9x4!k>2d+dU;aa}hGb^~{Bq3+x+n7788OL7PD`J9PsvGHn)XP#o83 z<$bu=JNRHN@`HFxs7&B@W|!}mmL_%Y4#i$Ch{1bqYfJ#$b!{MS8y>nvUfEBD?3$v< z<z?cU85J@wZ~F&qY|U;_W%gOQBW3oh=BDOIpyY1jSQws$+kZtyq)xQpDa=6{1umX# zMV2P_G|Hds3F_A;Nd3rM+$=4E8kn+bmM!yr?#na@P5ywi-1q<al1ea-CQ#Xo_Zx_C z0F^w%6=OBd&#YC$&SSX*RCUyiDG3exbp5@q-d({~0=L;t$@>8apeK;nQs1|(XIfiY zbVr}x(BB>$)=<8+ph(OF_SH#4dSPxd;3H@ZK>bOH-S~=k8Se7CQ<|MHK_JowD@*|n z?Op=uhD!a22egs?FNWFSEmBQbGerL~KMD-eNz59c?UGV&s4X+mz*%zJ<Q7r8goe#f zQo!O<h0)Rim5@<7VJdREQg7^9=;13c;Yi7#P7Czzfo1So!AKLC#U)r3=6jiqDvla5 zSZrd~Npj9if3cgFa?Z`v*>Saw^rcGPQwV*vw(q=*w7&4YLe<kH-4WXNtD969e)#gn zXNx`7K36+?vlu%n*>r;W@2%BcIg3}+zX16H*5**QY5Iz!YtN)r>@at#lbZgn1*F>s zf+urK5k&JA2^2aueaP~sa}S#W!`kgn;<+(@5OI3C=R$5A=6xeB4i}h5S#B6?C=8eu z|7-t3KD=MDA@uwIlb8a&q8BM7W?A3It;DFJ066^QCYzyog_SGk;oGHO8RmPe)Z<2M zK7eB|s7H@OCwz$d4Z8u}GObUsmO=S@J~2e<{TvTY)Vx6-nAw>2HB!0$qp!w${NK*z z;pf9uRf2Cd2cjt9vxUmLLdA^i&D$|$w^eJu?G-1-OXnv^ZPM*~lC?RRMde(=p!VX_ z6lX!E$n3%#*JaJ3hccGPJ-YchEcM}Ew4S~vHgwV{rCfga7Qn_YKce+rLaj?^{@Hc) z5@om*E}Jn2(AfQZPbQSf_ZL{$<3V<Wo{_zx)X5XOx>QOm<!qHvIgT*8Z8sy6ttMkK zup$*k6AL1x9M)nKMyetOdel;F$I(avC?<{Qh|qtq{49UadCSiiYvG*DcF7`q^&5?~ z9Kgh!@D4rb1sZ_xe-gtkok}>`y(117F;FfJ%SwC~dZAmB%aSRl+l&S&Tf@p6B|od> z_e;`+WS{8|pL_ky11JXZ2%m0xb<s#y*~%VVlAlV9%au#Gm`i+IhiyEwVkz@hN+C=- zje>Ua5-KoxT!qrA0KjW18(KA5&+Xn6_vB`;kRh#2lMJTbd8vQY>7|WhZ`S7X>pFjS z&UB8RlncLDd9|PVH|Vv|eSd&L;aZ}u&UaxB0b=-(th&RMlp&Z<92oB#GN!Ub^_~uo zrj&lan5!{)&-9xrQ^8v5qvT$f`2qBU6Hi<z3Vzvk1B)0o@H(Zters)`S4DFStH%ms zqrT9G=szTE$M5TWeMEinHs|e&xBa*IYuE>9j<vM;ZRo^*JZAP=vS#v)cTJHlq@Z<8 zt^jEI*n-|A+4-yzCraX#2lan1CObcu4Gg{RFI@Ga(O3vuesrSYL*j-*m5&wD+&d5r z7ZObv*3a-G6hU2VX7_#S*E6rm_na%UJVkpFWM;Bsx338WnhzFx5YA^k*&xGs7yI=S zh*3<K^|(XtwTOEQfwH)$-f!=wQg2lD4%_oNLwd8+tEwi3;QA8TMQax2Ut6oEF_aD@ z3DsPf3S@Ik#J`F(o7s0zzG<Cu%zu54q*f0RIn76|>H2N2SS&BBcJMn(yu`fh;ii$G zDP%(FMU%@q279F>>v_YF%NaYrk}V5F28jk^-LH=BYr-YRcomHfb&WViWu+#uPfx9$ z3p?9!iarLdw*~MnYs3^Z`UQ-fh!_5uBZ^6lXWLEhE57$DNq4Cwcm7(0%BCPriXtyK zW>z%pSC)-ex6p{u(6fVI92w9P4DDy~)80dmW8X+zP*R@Iy&Yt{8Y)Hsg9t%%%C213 zOQy;(wj;KASV>ZBT4ME|ZD5LV!+^S*Nc{8UPoo9rgJCkhV;{9#$>uj$bHdh<SkCMV z7P7iPg!;E+IY8j;y`pQLdGrY534PQq3}Uq}$H`Nn)(`Z53YC6zx$(oT-&Np0*zcNr zovt2022Sw7o}W`mQIX=PKIjg~f`Kc3E2>=7S|3|$917y<6v64ND$%GUOY?Tw;q&S; zb>H~5<$1Doh29GY-qNDyn)ytQMRnPMtAKY2yN}V^>xtQ$ROgJneiP^MOl|YjLw<CR zCVWL*lY#pcTC-Nvp}XMMYzp!7d6MRZ-T22Bqj6V#quD3$SXJ+fk7L3Y+qEA5XdDMS zCgv>R39<w_2ew&bJ>lJ^^tYP5k75&$bY^_J_Xls=UR<xcSzZ`bLF^E3QtWb9LkG-| zF^8b<6g+NC1m7gBa0#W}yJ*`Sv)9InsaMZsq(9ISwmfWp^kVP=+%r8L1Y8{>h<oaP zxRHia6@covo;J*t^kzj7wo5fdhwfLF)vZ7cTo2*=4SrEQts7Hx-=F<Z(+gE=wf<^o zm{48v$qHMU56S^)v{2Ne3ky<p&Jm`KgrF;T^7pb?>aYbec5HkdtoRe|^0xUHWCrv} zx&~MOaD2l2yYT0u65CXH&XCNL`oT`ucR5}+4$ObQ>}L|j@=tQln&djSZaSy@$3ye` z4EwTx=*EsXvbX;IXa+Pt=meH}ZrB66hU`JpC?9)gNY;C(=bviCLGS-~Lh6uClg^Iz zQQ5L*yOk<Z_<oil<4O?;zNNBSN>!yhAUt9o?N>NoFK-k~1sYYoIhB~f7}`*TbAQ+1 zr10*ED(8QDlb7Q*STl=bSJS5>>(4}$Pl{we77;ay)Dk!j&G?}#KpQN1o4+8dJz7?k zz1oY*(0ddm)?=PuKkq|yF7R!}?=9?XN=ZgOT8~-k2>l#Z$ZfZCIXv!EdL0i0nxb4Y zda(^|VtUVX--Vb^Ph+oK>W;R^Na>gfq~CAowDu|m4H_@4G6=bBy%$c5X;%o&Y_uLr z-zD2-ePWI7>u^bh0=uX$bkccIR25nl^DXVs)US+R!b{LD?Vo|}r}LA%^rIeKQ7wR9 z&xK6FN0+v}>(D0?o%@xcx4V%LBw>~l@^9bw<azJfJ9%<R+2Zmqm?Ba{V1ShzQeId= z0V;vtt29d!^8e}z_KlFijbrJaPhZ`hD!M!F4!838g%1T@(svP90@hkgLXFJN{$S8L ze2p*1ayg%)`e36A{=fG*YeTj!as34SxqY$1cXzjZT1t#_RGr;<S>!5!d`?@Vb;X=1 zP;7^nO!j<zE%I$v{PU6Cbfb`|4?*8o|KtbG+gv)XWHi^SY#eRtLZZyIeKh41`X~?1 z<+vy*?S?yXMPncmMyo%IB)QT)Bb!G{TuwRN_7yO_T-!!F%KLIkkN<Rru;jDuB1K5H zYGj<9Xy&)g0<w*wSufOM0sxJWF+{g`>k-g>a}{bq0ZSJI{*R}-MMF>e$7LnM4(Ic^ zp32*Wmj{!+eUu8{*JlSkw7q3};H^@BG!%LDOuW*S23C6ENuk4-V2~Nicp~~L<u7wR zW@Wc*V0w{Ko^r;LK0*&SRNL?8e831RNAi|%vSN{U#g+u^5AOORD)!z@eFJ2|*9{Wm z=Kv~E=H=xz1PN`iNU2y8Q7SR(&?iSNhh71^E~S%_UXY7rhOw+*v}HsKyy&h>5UVK8 z&ayeY{GE6bZ+&#QoYd`vOcb6GCFo^j0YaMsK(4U5=?IJC=|3t78go5?CtnB|d}4IX z*`3cJvW8Yg5i+?G`hYi(xhr{c1`<5<qHNGJN#tY?zV^lk>#tL%8@!UJ#apOLtH#JB zEUr)B+^XD{+B#Cy_C7%{zAbkW9dNj8#`MIUx#GbWE0O?P-3VN3dY&_7Bz`>IPC76x ztv9vijW)wvSvAmcxg2Tg?OQ#f>l**MY<Vwg0T-p53wqAwpwUo^e&Rc+bFE@wcW1Io z&<5zI1E|t7&5z%Nc-tDcKTNW&)y+(PTsu7=^_-HhUi|TKdu6|xQ|rK3ubJ3#48x9g z4ymJBSNx>1aPxIaVxIMCZQ>;P`M#vxOlqp+@%3|OcV9B#k%3M}rQ>)5&)cI;K~L95 zzL5Xi`-hKTB3wDeE8c0yMreLj4kA0}Sx+VvFS_R2oS&&8o2@Vxnc&E@J^VU9H6^wp z^3hsr!O@5b1M1K7kbnT0Kx6(Kp?=|`0;jCAq%;Kr14q%k5{U@Mrc6Kiia?y_knieB z9ibaqsW;voG?qL0Bs7FH$Xcyt?LALr1Z@M{Tf-T@_$Ha{AEOtRG&<G6AIWp&<3Zos zq~2|z|6FfKu;9CGmF{hoIJ6p*l8B1sGaD+$?ga0^TRAG|UM34UBNu-Ys@TR#9G9_t zfr<M3wm(GNZ56itrB(K;<F+{i7={7+786P|H)fC`@F>HnRkuBUpkMZet@~~L!F!l) z1Imr(CZ6Xu{@Txc$wnHFJX2)ZrO@-nTZLf{5yOOSGu@rdVTyU;@Uaux3O;@MO)g(z zkcNu&7O|R#k9}RH7RcH>`|M$S#Qb3T1D>yX{%ZY@-tB(N*LFC~7Ff#|h%q1X!>m(t zVwD_SL_*xn#t*`Z1i+eOr)M@&mRI0!F1<Q|57iQ@y}?A4I9@NvEYeh6jle}HNiA4m ziA)B0mD?0(aB;V<;??%0%}l4Of&nirTrxid{qaAdO;jgYUC?UJGBJiRV%lvy2tdVJ zPSLyu9}Ny2nFxh4_4c`ElY{K=;Jn(ZhR3GCWbTSuQudDiZK3&*pB&`kj&HZ2Op^m# z|70j{*31nXB~hmhGlxzKXKXE44~In(O6V-~`|>wZ3YH-+1?|`OXmT4{o#7jc)QXCT zp#(yoVhCy7n6(&{ec^Ro<fC&H(@5RY*+xrK=i~+)dNv6DY2;By^_R@!={(Plh!7R? z3tw&+=~uLim_z0JjDw@ZmKilEnz40ym*<ghL$S^4#%0w6hy}^KOsIkH;nVi&TeNR9 zk{)1}B*7HeIJ>4O9f~>XdE}(xwF)Bx_Op^;^f{b2xvqs|p0|=jMmP)9n1}UB=5K^C z@}tA%aR^PFR8wUzuBBilk_lH99JFhl$cK$gXfP_-CUTa+3SUR{BEK(ROvzuK&5u^c zCsz|S%J_P(Oy-S(^?@AL-GVE5GbirwSt!rnpIQ^9Qn-A3v)dAf>I)fn`OgjKHes4H zffp;SL<b2Dq&s+dPn3$x%?84cdli<jcZwYxWUA`-LbSv)#iugEopMJsn;caZ=Vx0r z|GqhKX7bTjBSAU0wB%AKkyrBbCd>4V`;ZSChuP-VH)8bkuXYNFt0=)D967p*vJsB7 zH@mGfrgV0<yYjK)G#T;h^bbd7GrkjLg8KYSA9w)z#@Ye><*}W=TVG`|YHb~r&J5X+ zQJ57tt}QiT4EGWy?={3cI&)+}K&DIxOBEN78V?wHMRZ(x{O0_7zhE+^D5L3b`-L3W zn#7&7RP~iH0wkCb<;(S=E1{S16?coTSuR?NL>4sn$xU{xU)MXmphjQOV2uyX&A)bB zVzNohp!D$jvQjXlqTD1I>c{xvSX5Lb5%b(EwClpzs-`zYu?zpcgkF7pKs+eL{3uUG zzy5B%kmHJ#U9C6BJTW4&@7rjUsJZ&JJd&vc1s_2l2p`|I1La0^7qo^3k@C~K#`8Hb zf?D4zRJ^n{C=f>V4%p6Wz*rWD8e+NKL@z5|y({c~y87t2zd%N+74cET(*SeW3RM^r zg7;kxg`nzPu|;t$`sVaVvulsvbl*+U-iwzeIIYK~TIB+qSFT({h$*`{z7NNk+l`t5 zF?I$`GZdHo@~2bvVuyJ3B(nsrDu&p)<UB#yCITJ2m#HMFT{&9f&15-8?EZ`QwC(`E zw`pz9K)u>~wPA*77lRz<8p`53Hi`B>;EGBaI69=|%%<M)!JAYSs0J_r3)%P0YPBUq zfi?`kQARU<#CPPv;y$-U_uP4C;Pm?X5%CmbVWMQoAi=tQo;#W8B$1xr_`H5=07_Zc zlAk~IQ`y8t6M;6v4Po}j_uV>N1cJ#E=YizaJDulU8W8C>$l3;Mu29p@{_>3M)M3Da z?fEfR8KVm-BLR#OS58HYdqw13Xl0kj(>|FWHV0fM3drk!541_A#IK=wb$^&(G?(xl z<*ghvWu0wcDB)Z!@Wpy&78_I4y9$y?{iW~4J&KxXF*0Sms}DETOQAxMLD{|``8*Na z0>xR`xSw}K2j<g36}q8g96~v4U<SVRwNtWt)OQay3U(%$nx`;+?|M<CmW~2eaQ?i+ zuUq^7M)a5Nd~Y*St9K8GrO434QnZAohQo3#LlHe_s0|>3A}xeYh2>@$2aaIWe{W^2 z4(>3jD_MYj8`0gQ+3q6j08#Whbm1}Ow)}mM<Ui@vhqa}X3JW55%=u15k4SRIyF;RM zV{BW9&i20zE^j7PRh3Mz=+O+kEr@LK7YzW^!MhdIUte<UTL`A-9<IG|IezkSd&uNR zYW3{}$l!O6ux1bYHsdD4WE3`+>`8_*8)?=Zwl+>z`?p3&3G5a0PBech;KE7_CPR+B zQ@I$f+>GE*JJS2lxd%}$HU64qqAPx`)xPDE*Zf`LS-tOoi2!UDK?6Vjpyiut1G5Vz za;yizdEgkUQ0~#LwRyh-Y)iir-M(h^IiDYV{PD7SoHuFnuejvl1L)Krmf6SDlN7E- zhJbczhiE`tg+|1Cl&O@(Cw<Qyl9yL&ss|FRIV?4*(w2I-&AZHdqf7F~fKk^RZ~6r` zQ=Mg|Grl#n;gVy;2<)sJc!NTwPLJ>NKde3V^JPi`|DGXjkECx52J9y;Yh4)O(v+8( zxBIoIz{EL!1Zc8x??+3Kn6p7+)y2mHuntBC7)y%w$b>*+wN4l$@z{Qm%+fPs>TCFZ z!or)XWsY|_A>jL*NIz)<g4@gJm|`ftQ=7f|i#t<@A=EpTFSSGfkQB4Y^JfwVfOV%L z2iB2OOYqJtc=n&nkhog{)kpR$c5X8nHv5e#;mBne2gXH{Xq(3ymAyN>OS~b~SO|+g zA7c<xe_?6w>puwTA+*|SQ&}AOR_QfJtJ7k4YTZdV$IRra>=jbR5RDVM5dN*p=#72` z5S6R~3vDSJCsEeNH~I{xf^$#Alapf~C@ORM&U}5baYWZxyzqeqQFf}>%%%mi8OniT zvMFo&<2W&e%_Jum*=4WR7CZO)<p>BWH9O|H%K@^>E_@r57*%`s9O`As{3X*69+=*? z<dh|GZ7ojH#*MG9hnxdt)-fU!S7VHb7E&s1!aZ3T0}O9S8DV<)4;Ri3Eq3-XP;3}n zrn=RJItd~mQ(k~mmqX-9%4M(jb#LkeC_I(6Xy<rO(T(y_?p415=U&7FD_3gms~ooW ztl9B*V9it38z!3>g&(!$M5G+6O;Yqm%pCWT97=J}*Ds}6D;W!@XjTh)E=C$q`+8Dd zsfAHHw&9Vs>Ak`Y)&b(Kuf%e6_p}!R`gO!(2QTN-j==J2nOr<e68yq6<V|TII!j4? zKx2CdQ8-!j2hpDT57B<U=|sI6-Bf+(`zMRqlDUK}nb+fm(Qi)r>_572LZM#BB-JBy zkb%mB#DEm(jomtDB8SB%##*q(vY2d=>3od1<>ac@kEE=Awb<l_er>L2^Re(E*BBLG zimuwx<2HZ%<YyX_x@Y5bjbolNvOSk|@9C6$_wtaifR;YL^C!mRKTK|mSukm}s`VL> zRPcLrOWgkk35QaQc^JBqroDcM^-i~!W_W`rE+of8Bc(<gBYHV8?I(2e#?B~lx;_+- zCaUoA<j)E=F2bjxZB#58fRu^Mg1n8^B568WAX1DlT=Jg!tto0jydl;9K)hC$RmS(# z*AH$x-pTi@Zp`lKlSR9vKSdmK=Hj<EG4Wx9DWgWjtqo9z>dVi2FA85`f0!Qkzwsw+ z+(u6i6*lpep-A^LQ)W?yf{xtRuDD&{0I;p1RCfREGCIa&=hNULJ2mxz*YXdG1)i!P z{yp<Kb)@+D(vG884}%5VK(7Nnbj#F1<J7JQO!0*Bc0E?hFDy_Sy4j5@>Sf`Wf0!|X zyT02nhq8p{-8`JZ3m<gX9<HW3d0iC!h|u_J!=m8WXSIf*^(BZ<*bw*{mjT#1uSgxA zeB+}0AgJzTRa7IHBuOZ<D!GZlpodp?g{&r%vv!;xZn+!;v+oVA7DJU4YoEcodVbp@ zkIyE(G}5~0C1)^fomXaHXO#vR?^8G`5ajBH^Mg-`S%#j|wx!mgwb8a%7T8c_gJZI5 zxc&ghG=FibPiQkMnJ4KeNK318>ZF`DBcJ(QM8CdH9Lfii{Z&8YoBe+joqIgf`ya<S zU3AwCxmSn?DRQTq%LuvOsU(**%U#A6D&<;)ay`W?G|OchW0rgFF)SPA&dkhZa~<dR z{r%@pkH@yp_xpLjU$5sgI+T>vxf?W)<Y&w&uC=Fy(=2ZFZ*a*2^DXc9uWYdf+SaXz z$)X8Wl{&9bvtw^3(sQMZZ!d#OFN_SwWf|Tap<5s_*@aMefzp?~C+EQ9L6OQ1Ib0Tz zR~MqcyI}@A?=eRs%A2T*N*S@sQ>R<rTCaEH{S`>DvMjJ1&$M?5Sv>|aa2>abu5+Cu z`1ak@ajQN*oGhEQ?mLY)H*_ajEv8O{ze*$Dt;~zlOFi*CJd)L+zZdxeff?{plcLzM zLP)CX%&pWb=^-|dVlEeo`mzAON%rZV-VM2~cE9ntDoQpN@xY7W@f=LBsmshGq3|Wn z$)dLK5%-ZrUIrVJ{U6_r`51$%jE&zP`(AtmNgr~@rN<t=ZrYB5&O5panU%UAkt}F? zNq?5tLZ@(0GG(&7Cvwv>EWTuv=l^Hw^^dF%D{7lSJVj`GgXN~^u}K)hka(Khg%F4C ztBoV-JF1?Zi}RTP|05tC<1*^n`0}`V!ou|~-kq%7k%?SKWPI`un%Owq$ht(&7#9|a zR$c?Tj?a^g)ZN8xYZF3gvYG;l#zB!Vi9mY3-?Sn*NmU+M1UPBQ(Qwa?L+{Iu^l#j( z3UY8{&jU65z8RB^3@{Pel0{K$yMMF$wt(SUf6ASU)3f?F+dchx>ms(<)mT4|;e~x= z$kw(S^^JyE(j}q7AwQ^9I%6x$z{o<_*Xib^CQ`SvmB4}2ulvMEu{pYVo?S_kqa}|< zH+Quf%-?7l2H&VOd3$j^h7nhQu@t~~S(H6@_Ybrt?B4PqAQ2w(+NdpUw(Q>TC#M3j zH@D6uNsSqxQk3$E4jJDvOWC2(5C~@o@RrP3@8?nX3~$;ne>vhRZeEbP_%u^3`QKB- zs%5p5JuQvyq9sfrlf+%rHB_y|49*z-d<ruAWY}`!;R!E^`PA+ZX2Oy^V-1NOz)vpP zOHV!LTJ0=_05130*Y5+tN-e+bn^hdeO|@hXw0HeYx!DtFm-|=}t_)#9GqYT>JCn3M zHI|pNtt_Cko7+p#>|M<$|I99XT)zhFr;MNV`3{*Ahi%h>fuoCGZ(cHz^}5~o(_{!b zByUG)b7X{DSuykEMP(}SV0Ppc+H%o$HO+#y=e)~5vAcT}{bcAG_CmulS8?%J{?VBa zx94Rp<{KK~3P0aPYji1$spNz%?eF&u%$LNYj(vuMJnd%JX;x{vl8zhs!+J^qRG6oU zdf>C`=8scGIUSNFcX$NKwbkInxp^4l84l)dP@ub0*jW~zd=<2=P8%5RH^@eJ(NB^5 zm7mQ!zn#3I6~5in5EhsJLOdyD<k!x#ylc@untmX(j<N?ZhV>j+SNrs7hzqUjmy2Gm zCrxhRS*TyqNkQNp_p;HBw3U(>ZpSZqc?w2rLxR%(xXiLLF`cnC61tCF_Ih2`r9}oH z3}BiMCd)!c+S@n#JAshm)N8jR5gRVJrt4@Fl7^)qesRH#TETvZ_MJV!Ql2QhSc`ID zw=iZAArWFoPFS0dh5~TLbMcutp1$Et>JqXO1GI3(=73i>PYS2+t^tCw=ogo5LHwci z<M2t@#!w^iBq13|;#J_)ZbDZoa7yxOfc2(=b{`&4R2m}v#8M2ixO?GOZRY4Zw32m7 zV!hId;Z45Q4wH7Nc7uXG4%*8FG-k+L*71GxSU#*ge~&UrFC#6$&+d<p|5IH<R&oDE zleKjB^!=?k(#d7VarvaJJ3ja3nVkfAm{)pO0YxbNNN%%w7lYh1l%7&w-s8;MT>{Jp z`kwnoYtfRrx2vnd`m!#$;RX0gfo19NJZ6~qptkn0jEJ%w1cDpcTr*HrXzI=LPj@wg z@Nld$ihZdejHf?!5N5j4yqvP%oKKoZdO6&R{JXR7kOtkMaCIWM3-)i_BX<D1hyVnF zsL6j?-ms3W9Foa1z95lGSvP$1tUp=<&!z1cfAEG!XsApqo0UnwxXCv4r@y@VRzM<V z8xg-XP^ZvQKY%WF5I2!QiL&<*$BK5}?1|~2TBQVW!~`d*kay^%xD&BQv=0WhYkbQX zN}3mv1H1058;EVa-@O&#)1s5!6<GY;;F)~}-*#2*%!!rAU~9$ms4|yL+Rk!dZxR%{ zTPG<PYjEBz;+U3I{M^SghvnWhcq=W`9$e+MPuegB;~cVXER4U8-n@K%_Ha%(1-fMz z!?~4(VJh+AYk)z>jS;E*ysAI>wWvN>YUBpq^Y@V5_wxL%PC8{gd`IK8OAP4QLpN?; z01VzR<d3A-FM^NKDL&hI90O@Qzw>E6oj7KK1Z|AI1LW`QY#ZL{-VdA&#HVOYGxsll z#mOVGw!zS~zuT~>ab!3IA~WJTXXE%Z;pnmO@OH1!`M9L8qFII34t@Iu#L7|I3?xJy zwuA8SX&RSL-9J~RZ)LptR5;Dg#w753@dn?+Dutwj>wJ0v*M1y%`0%;*HUGtjsHEna zUPC26C1)P##;oPdVzL>_*cuGUz%LR)7vTrtW73uOgAHPX>U+lyWz)K|&0jue&42OI z3X*q<GmZL*%%04U(uxTWu1?raY8QB)h+6XMGUnAM*R(3R{KqE;uhaPYXLNdLf~`xQ z`}Bi0SMNaA{JO5X^dH~uQ7}{fEkxsOosRvIL)zbyI#da_9tDut)XM;KW1A;+PAdJE z-^e+|8h?Hu>APmsq?s``YL{8&9_|?)oh&0S7BtX-R{6n3Rujq472mzNEyS*xue2as zh)VmruscP@ZWj+-s*UZ}^xeNW(ArQY+3@F&(MG}2JN)lhP3s#azidoO^cwQC@e11G zxnA8<Ih7y{unLup@>op1N{Gr3&qK+JIvcxe;$dTpdsg|Ohy#97$5t&froi^MP^Lo; z3SL)_b-}RXgGS)<Ad&omqFvE1UiaTOew+!Op-8EoJf@b!SSx9j&EV99W6@>d;Pt=b zNbS4*Y1LS8K#8l*UI>7Je&$K7YR)FRxDsnC20t~1>VNs5^<FjmnbOZQGKXTmJ+V7~ zMeT~nGR0Cv(&fiXe_QKKug>YxN-P^&hXUXsh(l$a0ZCUC6BK!?h?5u?TDfA!6&ZEE zVhF<0DBH!pZGvUQn^rw<m#vUJ+ZCu+5wj7aKi=%G{OgKVr_tM&-U8U+*AA5)0eg`M z_wK<_*ExDA!UtbcFm3p5hC138ICb3f<bs3QFpTPCh=sC?*5tyCUrHTUNWVcvf1{0B z$=poW<G-(heAnFQVPg{%sYIJ4_P8<bUhOICD7&(|)Zi1#yRfSHTJPT6m^d?M&-|`W zRb5>}eT{DvIrK84;(84MSLK-Y$3*OsFoXCsdB*XegO*EwsG@qU9WpeWT%7FpZLrt> z7y)eFVLk>yGMGbPuf<w}%YGjG{Tlj?Zn4u=;FnK6SKnG2ckw)m7S_0RgOTRZif4T= z_dQ5CeJJzl;k8olfRP4h%vA<N14g&4wA)6@`M}Ua%XKK9=zMCy(I|k35t|xyInlbH z5hwPwb`Yzr@|@$>to{%9^HlotO1VLYRw4PjNc)k^Hw&ik>lfEB;m1OXXA$8RA~_>S zH0iw8HI*xYX+^}10!3m@7@4>03lH&=J`R_Oda)Y4nNa`e!yQP8n~Ss40)BCTSRZb6 ztH1y)YuV3wjP!SW$nf@FcQLP7ZjmziAlEJ!>mRCUkBUsIO3!D2pAvk57vBZCz^hC# zmC#b{q0FizbRp&bfIo#v-Ia__HaN4T+njwXXQJTzOOZ&&_@}TQKM3|h!s72|arR2$ zqb8T5^Z)+UpTX6<LHWjKt*L+A@rij|(pW=P3qZ(jtXr^Y_Xdz47YpOfEqmOEe)br) zid^2F9VIi!ll%%MJj0{T{mUSOUEXkR;XvLJB4Q!bqO6atLV4W~|DB@jv5^MiqXyd| zXysk_FWhpbq?u~wF@yCm_YkWuJEX4V(q*L9u7PV1pt>6y%S6+0`J|g%^F{)4Jnvg$ z=!D^g2t<321j|R{70()FUbvMn4vYDRI_4MIO1ScyB}H9*lw(bn!x8bjy4O}7yw-#q zobE27B|!!{Lc*5`7|V9~UHzxCHmB12Yg<vm!<$Li;l<(bhD{^G)NGTO26dhY<vDgt z#q<jC&uqf-$f2Uj1+^l}A8kX(IO{me3c_1cVb-;A@Q9a4>WtqSO{`t5X`uCChIT7R z`4N{8y&D!r$|U4Eb)VE(-EiwL>d;WfgTZyWeh}4SS}{TnaUQM~Wxf~3Rlc^RYeO6g z0hF0h#;b>VKdTlWRYtvuQi7md4R*oK-UsQ6V%2Hw3N=0n;)j!7z8Pt6e)58Qy%c#& z<0)}Jq5*G41!N#2680~&LVJviTJ5T*H3*;Vi&>!?<pUMFg1f4SM$agvY0qN}YW%x^ zZxBm`hoe-Zo7a*S-Z&lcx%`NhrC93h_Ev%Bm})DKZJ8l=3|-r5B=?PofxUF0ue9g& zac_O?VL1}JlyhdWWGje!X88t8`eg)S|5(9Fm&@f&L!7f2<;;lj=5_P)Rzb}AMp1?E z->1tO#QlwFpOf08OME`qnEjBu&}p5J?y-y;GPFQURLN&o=Pur9%iFe%-c#XGVbal2 z7q<xX)2y$9&qrF(jfbz#`1rM#-HJT3#SvPvZn;};SF%`Fj#~<Qy!xU1)7R280vz;z z08c{>RIc;V3uBYX)OOw!4({V`0qjLRio}*P_EY9Xn{wfv^E{J4bp!WX!#!d9q++=H zJ{3o9U!k{Zp3#+Y_RD^~`{K5NdtJwnv*oGgbe@cs06IeA-twdy#ga;D?&9@{+_W%0 zYuRHLORMu#L9GmxFH#~?-*cH=jG3Am(jW%)nQ-xlifX>YhZ|;9dWvfYW`CTmS5+eX zf`^oT1=%+BCsca$p2Q;(5&Fwy1`f4Qqp1G9A9;|y--}eh0>*^RNaFI#;i{;R9+zHM zrSC$l;bE3c&)<lg?pQUVjNila$3))>KjXKL>l6ZK30>$^ISXgL=DJh;paEUajLiIz zIzJPmQqB!fcY!X@FeNN9guPdZXw;~;g_ZN<Ry6h&JLWxo!_M^%oJp6t9~ZP{dg8of zdC(6_(DQV1bB6ad*?(ziNu%~V8dreKYXEXDgx9WwT3WsE8AnTYdCvluV1WRr;fwkk zA3MMz5|t_Xdx*YS&pTJ5Z!n_w_ef}*&KKn;2ehOC@)G^G?{sL#<XchU2d71VuwK^+ z4>knBFn%JxK`FouCrWvBc&?W^>ak7tdBnnIWSIUvuJp9*#5|uc-#@NbDsxd~ae?c* zn@d4!ox!tl)!FcZtdcFmU6+w43j+}fmn7h?NjA~LpL_6Ut^4u8v#qD+^b}`&P7W$g z%+FW7d*Wy9n2QwEB?_~BU;wg!o;eqwRr9^AvP4lOkcjU`7i2r^|3D~{#P%;onUJ|X z4ovr2V)jJ*-yZ|9vC7>QXXZW_&xJW`8;=$rm^6tuGSAebRTIV;i!cPSMEcpRVxWWH zt=u2^sg|i$_rnmC1+VpdR#TlE2fgbF71hRh5SfgrS1l6%f}A8Lwm*9}83^A{tIaZa zdp1e!Y>3OijRst$pFD{kZ9QUnlxmX`NSiNnsJ7+7_fjcV{P6ayeC0Y*&$~_z1B*AZ z0!Ka`V9B;@RB2uN?IhWLJoDhBV3$YxhP_xBaIt51vP<!<9>e5SC@#axYNY3`ioF;V zl4V75U&`Dq<Ukt>PS*qK11G=i^FKC)uO7wW*G~;QzEe5>fqv^Yz?k0qo`BBkd5Dy^ zR*aPQp%7fCo7?%uQd*zwKFRq=x>QzYY>+VXe;83<Kx{~E(K$KjcpaI0oz}6BeXqJE zaebSpEqPu4=DiljPtQtqal~<V8+UA#<$ruLVOB@4+I|``5&=7h!~CMLcus1}6MWqC zeSGC&I;~5$N4@(3*S$Ne_=T~~iF0kbVyoU3wY8Q#@@3n=Z@Mq`tB!4833y~NZ%>Xq z#e$>WMWjylW=+z%Votx6jSG}jjBNxx5jdG2M-(b)yI%jCK#UAQXri{I-uNO<(s+@8 z;AyU}eOi=I>nmq{N;2sB4fEK@Q>G_BGSdG(sTa{?NuooQr3?SeCHT3Q4{sab_X!1p zU8thXr;l{1yu!z4xYKLwKVIoBgJlNBw1BQk20|A0#Y57e1T;9Tx3RuVaJ^6Ar2e~q zHcF#<2<z%QXZ?QWz_(3_z*lN1N7&?#o|p2T*`kC?aOgT3J_lDe+|H%Eb~_o<qsF=9 zkq!PL%L)b3z2R_-MYy3~g9yCYLwZ#+{#wA8xrN>tv%3eImffZ)fa@Ht-*8JK_{3A7 z+3Qd@yv%kS*)*)3ZE_QA{_B4}utr0%q4#XMwYi7g(0KOZ63!(9F2CQ{Ai1)f`Vw~0 z+jlbj&Xr#Um(xrxEa~Pelz84~)anc#*e(A532A(00?s$(uTk>&r+L9h2NmS(S4JTB z?H>jD<yK9?`$9vilQER8WaLAWd$VcUzog<M(jreCiY~TFEpbtsC(bm001~YLe!HMG zUnwFyrbBJ3pj4qPS9a9K+*KZR(?$0=fw>W4@R&42>63XOivf0aN2TJ6b;20bhOQHN z+Z-&K6p~M0v6^|ln1<ADI;qk34Q~ar%n4b$+FHhE85rBFoBFud5yc#?6MMex^79kx z8F83RhCxVPMxhlSY(E@f|Kc#rvxvWw<$bz$A<!Z54_mKZ)U8Aa2(0|(ubHQ>mIN*Z zKT){qZUm|s?<rH-h}2i7-vxzcD0StAE(UM$dQ#yA)p9fT$DkP|=B;3KCL40f(Uz3* zWJ3Gm1m@!WK`9+UkC8slXqixO0G8tuVw+^=X%6V!ocmc<3T_y?9-QH)Nj!xmA@bFR zECT`qq2pLyojk?Xi5x_wBY4{V?t8V6W7pCG$#a)XJVvyB0Z;mb+3cD0MC?*M<)cSe zCeU9bLf6;yN_lSj{l-3eAI=cY>T){TD;5Qjp_5ai;{9VB>`-+Tke=_dn;0JEMD90` z$hw}#w#>%2r~J-bSaAj<fLSZdtxb)pqGGON*dl9N;Ab-XC0rWF#PD%fSE%BjK`DIK z-{7xBEJbYgQAk=no<9SJYE;b|GRJ7qIrPC^JETx}7kHD>WgPJzUqX~H)h^|?>GnI? ztA?V$lrcfT5FVK#_Q85HvxiweZrX!c_qkN;@+`2P_iJO;Y<2KaIIG?Ncg7<875ulD zTh_Slz_*0SkB3G@FTM&A6^Bk%pNf~*p=kJCt$WT2-E1%AAfo#O42ovoekbLrrv?1S z=dF^t$Xz$AO&t+v0ToBM8k1iqSf&3XA-&;<FOe?~q%(F5jNV!|wQX$KWl|YikpWS| zptl=fOH7U@8I56<?1X#EYK9$KBTQz=8vr{&j7M`?VwC~*u3i=takEc@Bml@dmMV?J zXV!Bi*88^iGfw%t=p!amFE{*?9GTB?L^O9&PgHGzCb=>3e;;2W{S}Bk!r5dy6YP*> zu{3-Ew*oBR95hC@vbr~KnD`%GmFH_7$SW+J5jN{CAw4EvGo9MC0M2f(k8d$5v9(%b zk1R$+@ZRPGgk&kXETDlh-$=n*#Ceie!SSu|cKUPjlJ&u?Yu#VZpI{$66BF|rfIU8X z(h&AiSx*uXYT#`6mW3hE7D;_2eKE}r&3H@Odey3thCN-#BK$492XRsza-&H}6K9&z z>Pa|!+ct%iAJ{kCP^aA7lmrzTsoMnGGOk~U7|cZ)q;&3tG!z)t&H3*C`H$~#wKgY_ zHaRPwbujJe!H%YMO8E<&)op$c+-0nSO;EZ+610rEJj@x|_xZ`RZSwqB<~$}>NZj<K z6t}l~Rv0!b>pE;<zI(Kakv5_?es%IU%WUee1A~P&ElgL%jl$$!sAb<rCZsxJnF@8s zM5lJGi~fK|e)aZU8>e|}4pW$0xUp15+~h_k?v`+c*FRc?)*OBl;1lD`FWT8XLRXrv z8EhVkw<~D{s2$7XRsBqD2L+(72i&(P`v|cfGy>hr{?facz2va4{n418O%~lOHKSJP zq(7us4Q^Mp7l?3@rA%<yJLfa-d^v5wu>!07Hq16<lQ0&JG)$u0Yj1gWep<yyc2*wj z2Gq4qM%|6K9k%C<7IxlRZ#+~N{AZ*5Z+}j_PD(aVb({EXYo9x0oSj%T0%YYpV>Yth z23)SMNX|MaB;5t<GxKvRKc(w;-V916VJ<_0?<DLC+`DioMj{n}F8deSS|Bi6fy2cp z;e5jLD9p6g$o#$4lQeg?zeTAvKS$&Ec2W$*QhmhI>T%<={rFx=$76>8t7sNPgh|RH zSrr&u2J*wY3|rTGPrlzhttS1z3-utRQF_0Wjj~iro}%IiFQe%nb62o0tmlx0sZ`e5 z@B&Y34+9r=-O@B3Ql3eD^5Ba7bd4il$TWEY=J+LhO8n~*mtZvp?pMv*@rx#;TU|#d zq#<oIOU{?GC>FL2<$LJh?MBiTbVF6r!@ugTMV))C_$O9lMn%VT`4I`goz7TI6jTh} zTVzHcOT%GxWsH75dIjfG`B$@ZTWO53@5^|Qt7R5sXP4F9+&BeOGC!#^2(2;oIwjMq zd1!Y_X1%dvT8L)$$v;>@+e2}2!)4nqd@GV0eE}&J0rf}vbdZbEpg9dGW6F>|a^K(S zjpzXbNpn9~^wUa@QFGA~4@ECD1g8jG{5db3qUQcG!1}^eH1QeDauWuw^i<Y_`OUA| zYv)1z7jNYf*j0>DlH;0Tp=zAr(GXYSS-Nd~)iFJ6=n1|F1uZ>^RSG3H6hlC{EUHiJ z4WcpN#pqjy6#pa=IUxFq$@XKntG+wY<eK?E2R!qn&G0<K%k@WVb8`8P7_MA2S?jr6 z00i9mSk=TEFP)UDgHF>-x{vC;*_h^gnj5B3&rpKlgSZa($*q6ZfT*WTnbiS*&A*)z z>A4CQ&ur}lw`pyDPuA9!9m=fp-@Aq>^TO``$Jfr*u@Ic>>2$jmM5_z9c%m#ajw0Fy zi)$CvYSZyJiY=t@%-1UXbKEh^y{NuYxNy{=AyuvttS<TrIOCZy|79QXd#4J&vwu$% zcr_zqtJ&(a-ruZ@REL=3Oqi6%<99n%Nl3=Gx&>Bw7Ac$ae6MKh=!!L@ddtyvh4)eQ z6TfmmS9;a=QPf9@UMwu#6ZEEQg<B%Kgp$RSf^@Ge=VuYg4Z{_*PiCS?pA4k3Xs#aY z(DGr2-To%{fV5yWNzg=NtVl`hbxsh3)>I~OT8s620bw@ZGTS96UZ#abqbos59N6Ct z<|CQ6ffP^~8j9QO_hrw(1$c<GUUvuM80%x5OiIkUBA-Ax2;g-HNb)@Fka7?q4rLw& z<X1{<6KyhPVIT&O6dIj@i*7k<9RK~a=ABupV(#g%jAQy$ZTfGIUX1(bYWvmFn)qXR zdU*u?_H?ZO4zGdDoL%3OU12x&`~wiT0MK2EP)caL%mF_ek-r>6kHbnvZ>n>W+%R=m zGNU|UgMqlXaowH0Na|XtC9ULaMC7<qW_In2ew_8H{+MyKW~M~{$b{hMTqz~YflTu= z_IJ%4L(<(@1ATq&)du0>$z_&B-|r~lhTo5O{>N9mr?~(h-|r?>Xg1T&HUH!8cWdCf zy}VkA;DNc$_4I=0(Mt4|mE5b1mM<(9H!Bx0g|jZ;Lb|)Uf&D=1lZqROpFV||y9@7* z)rIVx*?~=@{yp$3Qrj5c54rp3aa6`HNiF{9KEvS}4{PI3F0<}BW6t^oeLIV=h$tcd zz?od65*lGtN9ut;EjWYlk`}xZ;8W56D7har`Z4s^?*)KwBxsw$vF%#fRcQ6B!gCR8 zzT+3<56Q#Pm^DuAWIq3v@?P8&(-c*C=3RLqb?J*9a2F8ed&D`gjxiC8dvl?-DBE4L zA(J(S-yU79x}a08KD0y#A#!=QYIonPpqd!MiBDqqj-Nn$OP${X=M$Z9tUufvi`H+n zRJwL{QynRKLXW@y1sz-|e0%qlqy8PB(yk>m-?6@5#?hBB5^~5%bhOad1z^p4k<w>) z##@>jqADut>9Pj{AQe^o1?<34FUm?8>a8tnlZZGl?_pCiG#9UK8(tZ`$))2b%A?ZD z7NnFCwpme3)ZJE4m&Bu0cG79B`2oV!fn?F50od{~1|k+tMvzt#KAVXBbR^K-5oJ3N z_`G;|L~xswL~JxDpj_`~@}+~gBm6ms0%O|Yg3@m5Qxy`~jYx9z|BbbV%3nA&F4ewd zGiy-L_=YQE5008rWsU5bGKDuN29kp6l~cZE-{scR;+K<F`y}{tXE>O{<zCt<&SSeh zu#yl)1Ji1)U&_L)ODHADk9nkXo#Vc1sG2!HX_&-Kw%P5gt;40Oc-VBmew5d3svBf} z*7!J#)2640^-@F=m*^J4b!>Ece~1tH){iuhLYXpqJsMVE;1Q8=Klwnaveo0H+2Flp zD@qJwAVWJCrKB&JG0rrJ#&4&UYTX*b;7XabxuFM1-ftvRrmh!-ZrAGh@B|JH<au|p zR#lZX@!a{ZRq1&m@?iQmT$bm`{2$WEdV{rQiM0DIe4q<@oSD^~>GV{yPNB?t8skS8 zmI(cikH7M2qnSfE4r67{{IeN2;mJz$y70<7tDOAGbXi;AA}sP0x91i&ka=Zj4+i~4 z86^CCnBaG7iPKNK#`(L%JG6V6xvy8dj)usZdK*T))wXe(jcA%dST&cwJ=<`}zzC+) zu*2H&oQv9!xltxons>qci$!r-7z4RXfNr^Mc%B2MA$rb5em6WufOun@YnNJ;0<~z; za`fq=X{~k%ij>l!_sA>rBG2}F*&Pf70XSHVg(`%Tn6{PaR%4b-A53WBezn1&Rm#%z zs`xL;z}SfMsO#v6_6vK@@Z~-ak;)maz5rZ6JTbLZnBb4z-oHY3ex03?6{%FTw7lWB zx3|BGZ>CqXTM+T@LZY9J#hf{w<-o`H52BJN!WST4a+&b6szgBkXos`hQ%*R9iOS-V z?~kfGx;p!&4NzShSdd|ARit1Fu$)VQdS!xUk6tUQKlkd6@|$D)5))51F%Ib^4p-fA z<bbuX$}sj^-KJclT@-bE+{JZ<yBv*L!8;5?SjsAoVx8~4>(D)Zw&wTaHZ^8Uu8*Yu z9@<TBA`QOjKCm51Ea&00W`(rYupv8`R)h<$k0w20I2Fnn-pI^Ko~?XGkq*xr=W#B= zof~_iJscBkL9)YW=4Ksp&z*K}9&DywR^|?-5W*Hn9-D^G;pY~W%7``V{FA!tarl&* zDRacmo*-pl34xK{Hz_XyUSb%kjJ@`;{c~i!qU4`2DWJY=*jrC6r%9gw{=E*s6X*wx znSG1dhhsa(*umd`e&V8kTLgecH=GyJG;&3Jn0q1MqN1ME^`-w#7yrKWj5SRBt_XN# zH$};blw|zZo7b-Ksi^M%%U13n^Nlo<qi5Ta&HD7ByUOD12TbnI-@kz=Rkv+&gpq*{ z9tGrHehz*Tq7pY72ujlLJXan@!$9#(F4)1~HV*~li||w5gDE(KEww%hu5%`_8c(E- z$<ub061#nk8_s^S-W7&~Sb!^`r6W|zQfdmo#UNFye1wFkZ(}Z<Qo((2JCHmHnn;Ph zEpZ}RF=%P=d{$M42_!v(4aoqSgI1Zpym5(s(IxKsE|D+&2=x7<y9*?7ma@9jvU0hM zY|Dkmln;)J5sW^)NHMPbXMn<Hp#faNS2)p;Qux7V)ASB#F(H~h`?c8_PTolKzdQh| zwk3&P``1US&78mB@o30Wgai1HvNw_yomIXI-OPtX37G}(%Daklwi!DGu2K41IZ!mM z^_t`H%UTD8F0SqXYsQZrSh3X>BeRpb=pCRDbGc|XfJi8g7DR#j&BgXtg7}%N)H#6C z9gzG|YAGKQsjwdJ#$7bPig<p_&35-((9kpImsXE6WUB(7E|-CZozzW~e>dUO^)fNl zrVGGlQ}cjE#e&FC?q1)!e{=Ed(-^}RRBCbbNgHyg_oF&Ih9}7U-C+(pY5Bw|vjvDS zN=PHj$`}p6w_*FJk@^OAl$zL_Ne|)cV)R+&K7vaD6&xiJ69A=1WQemz`#q1lY8u$= z2%?}U#zWSgQo=)$*ORV$u2wZQJ7Gm<;!#~I+u1YKN22-u|GlDSW(!yEH?SEJChtOF zzWuKUO8IW4{R*2dSpQvW5w(HuhS!B7QoUxR6A-7XEhI%%11|fblurW_u|)nPHLuj$ zr-B58l0ix%o`4r&7(j$wHE}go0daAe@XT$ve4F8!dY?%eSRnvOh}Dh0)30{E^jFpI zxWEHpe{SEanST5@Q~D|z>2f`_%C%LN?rzUw0_==_DgWe$)=Az=9KhGk-P19MpQE#c zR+TK%9}HIeiHDS_-=uZ7n!18ywQ~Yx*e5=}zI{02;Vi*X__4dW;Q1VanL$`2o*7Ci z&&jiA*jpzA1}1Bn&@K15S#{qQF~CLQ=7Q=-;5DumCqe~ch*kD}XO61>1{yw?$uIk= zD)rVCx2qqro``no%%r<pr`x?)R2sLg^B*tW!1Dy}g$r&t4W_&G6m4R&Nz7>WSiz55 ze<BR5j)T0=$ITU<V#DnS5v&>F+v~rlgmlFw>YqP&a@ww4{x;)svVX5zc4wdYPN-?) z-7?UXnfy#w6o4%^lqUI)7+k==uRfpJW{%P|hm^?Ge!6o$%*B1I{zIqAEq9l;bYdm# zrLAh-3-65V`}gyhoh|*LMFqDK1Kb@l$416Tq%~c436t7L%hhCDH~`_T;^|27uXqCU zfkvzNf^&K|C&mn#omQdmRhLyc9ic>>fpPksGh40}#37Y(amW0SnugS+FyQEeThxbj zTy{4(-}PJH$y><G`n7h^*Uoe%WSq9Z<J?5PdQs+3KbAXSrn0yJQBUi~vUS<0ywrL< z@m&`up6S4qL14!t0FD%XKlvWotyA##J-Do6SSf<7UY+tpHgk0Ro|x5({^l$Hy1!2A z66ziNYWC1NS3<j-<}Nu94i3nVwys|}zj$S8V6GCxVTY3}&Nk$oSw*!Jh(_d03B0S` zH9Wi(^Me)OqHk`EIO}dMnHi6ynY~9O-xzxeW!Y}TXFRJ-Sksz$@Ac+&+H!m>?yyaZ zwr!S%+;K1+To&HX376TGPV=|-D^XH$DBs4E1~%k{(|f7sOm^>X1y4%lh5I14vSE2< z=3C2oOB0o~m1GSi+he{P4&Y;YtdLE|D@P{J>=9tJTy^u=QcUOxJqeXrKS0z6!PCES z*SXXXKch96R++LZG-nv#VS>dy&l>tN*m`G_aaF61PL*UR>v^?>j}weZ%=-B2+2Bbu zvRVWPy8GeNlnRAfn;Lx}5mg`7Z<=1JVWBKDbgvAQTo`G1Rzx@EV!6a0U$Xx#9;VoA zUe4|(YTyH?w30QEcU;Wt${z2M?FN-qIr>|Tj_Mrr!9@3S7DLz;9Ik;lr13=vt)dKB z!k#Cy<PwxUW{$ViR;3AQc%RNR0}zs(pb-P`2=F;tKu5|lC#Dq|i?Y*(sc08+FU5@M zE{z%5F==NDZGoHATIH#QLzsUx`wAmMRWtxRp5YfiR9q<B=vRSD?r|_EbKHLS+S!hO zK&X)i6@B<5yaNf0a90V7c2H)>ccu*o7?kfX*ApEr=etNk``4Wr`O+2r-~6uCyTiO^ z{4qbr-DxK3%9j(-4s&ukpL*xk{HE{;I~I3g5!0F8xMyB@56lA}CgdbUyA04NKxdxt z@4R>$*wx^DR2mVD%t5?w;VEu0r<7$L49YZ^AMaqz4YD}mFF%_H%VlI192sQG`z}8^ zjq7+!%y46W7{C1lGH#t{CPYqj!_7K^(2(M+I>H*45u7R-Uy7|uudL&;Q05v)PWZt5 znCHp=_`t7Ml4mpV-j7dx%g)aL`|fn#f<O^dV67hm8)UOwy~Thf^z$npL!B|AQg=Hf z(y`6=FD`!dt5tzKr49Mk25|aEPy>AyuzdUHhSg?zyyOrUG}mQugFz1~k3KHg-an;O z$3EMx{4Nu5Cb}HPtxP)(23xpVrbIjjTc2w_l-{aAQ$I!XA>8=o<ZkMr;$IF~Gj>b> z=owb`LXWq-KAYw+8}8b$!NGSCQ`@Dt6vCGnp{x8+hN~hb@ee82IK*c=$IGk)X;$A4 z_3Pb<`bpi(@6?S*Q$SlF>(97#+x0-M)rRkCKU=AI>F$hox!Ms7qmC#ry^&+f13cvt zq3>qGpBNoo<JRuvNLn3XAFp4xaRLYkIBy{wPDgY(k@M*;LsQlJy?>tVKL5F}^YV44 z#>p_~Rcn`}A8SVcRJwsq2rLaZiB6oIkLy^pAp9-$|75?HE4hsss$0%~FPo7`w906i z1P_&of42eHS9Z1K%VY@6+z*>Rg6<pdJC117Z@9p~;T|?5LjxZ_7H+AjiB;2YS$pn> zQhnp8GiP^V+=&J~dk=E%$mBagYwsFA73YDZ>;V>pftjqR>UylOW=>BkpK0jiu$bEg zmQmVU=HQjyr`UdUw}W_$>8Gl;xTHfTH|<}9t@f43YlM7nKC$grc4dPxzZIgGdG<os zCof<0wY()f9iggvlSvd~WM0@zuJzdJ3m7LhWYhu2uT0%t>9hVFhkhjey?B+=zTM_a z@F<{gUl7Q^?XN49X4oPYy4h49ZZvOlp#AIO+Rd8^zuyiR%aIaA4~XCCm^5B;><g5j z3_hFM&Kt_yT;mDKYoO#Uw6LqK#mgIOyyyGtTW&+hfpQF1T2U9-us-LIdsOHt;YLSo z&5Nxhei?!>WB!Ej$0rJ!NNcO(Chp#5g5CoZHq@jLmomSgrEOd+b~Ak5Zb)gV_6eqR zoQ0=A>sN>t(6?Ci$V^VY%+XQVJHEZVdo$PG#iVJC$>fL{r8#<kl$Ch##C;HhQT*g+ z0)hF#NWXiJYT41Zprs7V{HFA%H1F)M#^4qC$<A0zRWsqy`rS9bug{)8bgTq>x4iXO z>DRk&9)7Ey4DWhVnulSPx&nMv#5{8b?)@q*MOUJHtZa~uo?XD<@>0j8PyJA%wqq;9 zl7a-Sp6>?tNk%#jn(o+D4-!i}_r8cGp5TiXnBQ`M{QrgbbAC2wblY=^)RuZO!t`1s za_ydMioM<SF8;0;Rx5&^=kYl3(Wyd<@5GmRX*fdeP}!QXYDVXd9{`*`iDooUC544& zrfKxV@K62~$hcg|0&?1?Z@9+Z5dW^NF=BbF$gU_m$bD=#^v`0mu?pEwS$!D;+?-Br zb*xa#wnA5OTE#MdDBJX-%QwncBeh?nR48McDI&A8@2L@bEAyd#CI@~m%?+hjx&U)l zVZRj21@dce`A~)LE?o{gjA%n7ZTrO5`<2V8@8Q=P4F9f~y)SX=xXe0IQJD7dD&Jib zZ6||A_79^cZf{2!oGse6t2R@*KM;m5WH1Oi3gi-PL*F7!qJ?hA2%Ip&^Y9rhs1Rsm zpW-PEL)DXQA4FX9xC7nz!fSiK#2fwc?TcXM31!*uUXZ#E#S^zCVQY(l$ai(jaCA0- zgG*LMoN7yZW7?@cd3Y*sj5`8BVrg9nnau(~G4_Th_?2Oc#38*eqpLuoKCcYg6c?B5 zM_#}CVR!ELBePkZXi2fbe@pFx5{S#0nY=wsu8FtAUGwoITXrRuHN4jVkDr%kotr+c z@7kKi=m?M}hrCp=qQ2I3>#2Y9=+qy2a9oC*qruP&CAV~_%%xW?2_k5)yl0Qb)qS~} z>pzHomxK`>w6W<A^@D3tkbNBm3H0jmR}J!YD+GUO@7TW=RJ{4`R=;{Y{UqYR+&nHi z(y^;c+SxAKCd`Hnz}9%f1o`!-A^#5h*XJr{(_J}mfNm<SSG8BHr#o48EA{q}<1VQ3 zL_)LwfknFy+LG-75hW2LH8pD^*i|Sd8iw7wY2>0gY`{gs3k(Z_<5sO$8pY#`&9na5 zKf!2pUb#r{&!q!_b@G_+Z7031**lx0hf?V)0TeH@^rUZDXo@`+yDgnhI<v2OZwmb7 z3HIabW9}f8Q>%5#9omm>_Zka&x-{C<&DA+lR<B%7G^cxHInp7U3)Onxnp@5s|2ey6 zP>AXJ>ywn~kw0h`_vtxieqgaDQge-G<)d8wo${>+ZFyskZvQkZG~9bfIc$eLshO%y zytO#&Tx>cfrg!*JjSOW@{(G<09ZJGh_cXr)O7n7%+47#)ZvCF>*FDIjkCgWp`^Z!1 z2-`fJ%#;!^813rUfQM&O+m}=uJ!!{iO;mU6kIj#Ifo+LWl1I<P0Daf9I$js0Of*(k zokmZBbgZNBb%~Z8tUdq!J@lLD-jh?$g~VQ#Up~(?K9l5cjMT+?gLj9+I94m_2I_E1 z*uGMKx$-38z4i19c*w!>QLncbpN2|CuxuTix}Q$7o-F+s0HLi+_MT5HOEeDc_p~&H zDw5OY^UNa4o)ek=fW-&c<B`Pb?}1D7#|CW+Z&uH|na6zZU~O~Tg*Kcuj<(tD(PXha zO`ZW1**9Y)q=o0tRvfxYd0h+qFFr7i1Js;{11(1hl`e`%`+xi;$LBU_Di4eaw054( zFM>Hya_0wSl*&V93+X1{uu71jdf!y{9Pk<(l=LY*e{lz_q(WhPZ+&p_HyZt?<upIv zhnE*uOb%{pG24d;%!eUd5Vfm^NwG}5H#ch*4n>ZUCX=5InsH}hO||r%=B5y}ISjY* zz0-<NOqWfk{|$qs(}5{!Nj`v*EEj%0rg?b(8<tZiF7vN^tbk=COFBd35OD2_1FDri zAb4|L`&^%U8I2;b|FZOM$ZR<HrGI2WY^dqe*KKPmYc<TiyK(ZeaHsYFZPd}49%p4w z)p5#Kteir70B)_05p94V>*_Y2e*d@TH?U@wuaNjBNNY)VXWezU+N--z<jNpap_t`E z8Q7rQbN0oJZR}(9;%(9lap|W|9pDw6NYDQw!)5e&aMiW_$Q#LBQ?uj$@kI`7xWk^C zRZ_Y+f=9r|{Q}QDNP6`#ucQ5-1aE{7ULVMGF9m5RfJ380f$6UU7DJjWPa4>ZVsA=Y zjzr+^C4%H6AM86{ERpK@HOB4W@XA2;4q;o>V=uWpM7NC@2vrriNoMOEXww-LdyPNH zI$o3VS1&G~sBL(!7u12#sRCyjdKc59)$xnnindAiTv|CvHGe*1#Q57pMZnRq1%aNe z)wg>$ox-l;r~0{?zn~J*2O_?;Td!wpI6r>U{L{gDEmtb(l-5EJY^LP6@j1sjOXeI2 z(-oX99`BT3saHSXDo4yKVEo5-0$~npNTpe<iM&&N78Z`q`1c<!J{tIUJIi<fO7CH9 z+0e}k7%RaRq3eM&X&GoRtt%ADM5m^e-4lBKDNoUMVABDL<SbS9<JT&7J{BVy??#>Z z{<nn?Q1@)2t^U1?)^GMYcVgA!jlpG<gJ#AQYbbmh4fjmh?r(oms%v>RVVUd-eKyPt zAX?pCv0{}?^jKLZ3{SgM-_U)uoFP)ehmbOe2L>+gcEQ;yftH@aV{AAjoQJ71wo(T~ zNq)$343u0NtrJ-Q*>asm#Bp7<W>OuiA-@IB83%qivd|LFA`>IoYG1wmKe8JNQn^D? z!_v2!2NO1@fsPuF?xouHAKy8idUn)o=y78?aXz!xxv3@0{a{zyZeQ9~Vx1r0NSSh5 z{iNuj2>j_unXlL)?t*xpe>jqEix^nI&t@gzE?{*DVyFCFRBGzE>2lrDA5^nD>^i1_ zfrW1SzQj%+9z#cS#%OHvpSVdMmhB|b{J}Y2YH~%*d!b`R6|trsCLVFQXWIPN#xE6m zq}!w=GK+~CL$rDCg-9n60RiEG41iwe>WAXi&H@Z=mS<V&$;Im?Au_gL#kb@9&4;D_ zoj(|ILDXRInR7y>RDcF?+!4nH%RO7(_k4dLNe*PjqcFi7KPvSlv%C$%J6kw)r~zN% z@0g{j))5^1-E@B5ru~|grRkzJ`-2rSD&@{qD`^|sp;{PzX@^NF__Crty;QYW4xsK` zNpnPd^i~1c^9{EQQPFe{GwQZ>^ABQY-Sb;egFVWMxqo5rO6tnge|!Y=x+AT7V7T7f z=kas4T+_veFRv9!zyFWVfZKOfLAMU!N!b>)Z@HT@gj~m=+N3WaeDzhEBfYsz{?}7g zv`^iCKLT11M+ZHr_%sRX0J(cYw{+l%D|*k{FA&pTM5|ZP5jR(-45`<nOtwDij51>& z7YU*F*MA;aH=Fi-zPVsxn;-0P%RcpWStrt`M@UyWj0)&RT*L7t(-T)c0vhBze?Y~R zGza!V$-n^A(%@X*x5X<h)NzxW>7t{uCxT=Co=NW$725dN^OJk2!vcx?f!+%l-1$4T zGIaI3QL8$-n2C49#WOr(zMc8o^tJMzlx-Get@VW^2-lBQC~9yQd^jT28%V}XI`aU) zOi6#htR^n@c93w1F2ZxDwX*=I+&)-`Uhu_LQai)s6%iP{T}OMJWK||<o7Wp<uhp4D zf-*^?2!M;QVgpfZq8Znk4m}u9|MyVa(&Xpp!=`<c<Mn!NSmuCPC)v`Rgy<=py?*RW zj}1g4+N&y(<m$2)!ZrMiND#@S8rV$TNK-H8SLnWwrE6k5FK!uh!%6~jAYSd0h!QsU zaU~N5KQ^XEv?|4D8JA(v0?54TB?_8{+uoDkHC&)(;)QdRi*saa(<D)kwGUoC7b_S| zzoj)1+!{Cm*6dMe?A#f9z8Q&V=G4(F^`6~0+iX_gbfrMK8n?qNt8@)FMD~pYZ#;2_ z-W~`gKB1jc0G&DJ6>wCG_DV~p!7^e4Q`|V5=Tsg+?J6%Y?E5-1@ss5Gx)$xDtlW^d zLk}3w^jQo@ohXYIxF@W}FV=pl@t1VS6XJ!A)-nLMv7J9B_33A6=Z0&D;cw3t!pXMy zk})R>ae)NC%ih)>*V1lW*PWKv?};+Y?l&N)Zprs!!PGY8H*Xo&!ymt!nD7Y*GW7gf zOn)@GBh%<&pR1;%Qv&_);dX!}NOayXwMO&`9;wt0$E+D4ftK`8DyRzg7;)68v$fVP z{}pdUKHp^R7sCYtWOxon>W*-$)_fYaf}5{<j5}SJzU!SPq%UYo`6=3~4cq`wMkSrX z;g(&NyZXAQ%3DF!C{1i85Cg~hIkPbN@vMR+AgbF;h{k2zD)WNKLT67qpCRCNQ;zm& zOK=Ua8%_@zvZ`!f5Lsay$I6D?G8(dfo?K|I=4be_&DDh=Ul<Of8SVS9LgSlN4<MSv z0yw+6rZeX5&0Y7IvoraIXHAz4kF8f!XBQ~Tca)dt8aB~oMv<A#M-M6b8H4C!WRL89 zll9fzkgXViE%M{*o!z*Q#8(0<HGQ%Y6OkV&fc82}=8VnxJZ&biz*Q-7UvA1<d*ID% z_cwa!2$RBIPMwpVLcI%64P^{%Lf3Qu^;(<nesVJ@F4n~3Hlr6j@BhU6%2Eap1`hWK zXGhmbd7+g+zC+o}=pUPaXp(}c1ZIDiSM6{PHvIFtE&RvY4<;SRJ@?0_{HA-2PGwMn zf9L3Mqzk*3>IzW_zIRSYs|mDAaiAEjS?JO%fA8h4P?knYHRJmyYvjaEH=fU(&poBB zUw0-YH`lS`UE#a@>fwAY;IxZGM%Sq%>`H2t?21LLxT3)OiP1XweJhR=bEqQlag<w% zT-MwT)s-}3{<iBcj;#PRMM{9}yOzg_>yD`=-T^&V0Fiw-r3=;kL~%G%&CX9tvn%xJ z(#}X73*ovWT`OIc)eMSKldLcOeXsNuzuu##q56nETTid|JquHQav`H$T{L&q{>UiG zmxVtYf!~oRjUTMyoW0$B6!1`vTS{~Cy75|8VJ4>cI-(EAr!@EzpDs`JZdu+)H(v*` zESPQv7A<H+z<zw1a^slPu~;2gs^<zue<;ll4P*u%3>5$L0}fc8v}aPi)nv3vUrVg- z^nLHo*DszrqK7DG$41sfre)}YeWb}G?smRNMW|wjJ_hd?ykzy(1&iN^uD@&qhyjjp z+Sm3o=AK-hl!vkB>1<w~@%d@v&fz_)@Wa~QrVk1MQ+V=fxo**>PGKp4AVz(ims09y z1w8qngXtDT-OE>FbI@NMGl~m54b$1RLNZd05bicypbLI+CF6U8vLr!x+!XR^W}YOy z7sXjp8Yr4}P|ZOY66SL{`m7`W|GW*D*PMd#wU#ZAUDcIpC%tzI(>m{PxzmQ7^-B%{ zUx=QWB+7Ok_WF$y=};gF(8sGQctyhDm%Mxe17A)VRXTorKz{nKmhO87e(Tl6{J6iA zuBo2^Ibmc6_V^B%zOyhg^XJ!K*Xj+7wuVR<IS0n6!{KQA;;X4s@<5SkW9;&VuB$z$ zFvb3YXHL*ez%iZEcO-Vb*p6@PEpI|I7KWDUkm#{=M#$LyG;;x~qxQ*u+6SHGK(R;h z3{bNIEd_6+Wd3Mq^Jqar;^MduMeDuGUl{GSza&;o^mpWdbC%LjFw`CWCjHYaSU-)} z;J+LBaw$kkVuiI7{6)@2ufbK<2_-eJcP1{y@@45pP`abV6$}iM&Lc$ndyTo%>}f!q z5xp-F@vW(C)Wuz~Ofk2L|F`&ymy)Y_wFkXEx&;*~3|si8M^VdEi9l#~><BFb+3y)Z zEpX>)4|33vJH5Rl8Qqn}$cUM<FZd*+;#U|RZ^Z_(EuzaQ0GHfnC)`Ix_neqI^2&gN zpDZ_sN`(OZ<30X;Kq&R&@ycAzWonCu)4z~Le%XwBX<_piJpheES<rSkoa<W>8b)Nz zWsrI|8Nq#>3uKI_!%Ur}P2DyfkyT*60FRSz+|!9Z<yr00eksE8&g~JoAl<OOfZCa7 zDABCD*yW5YRF)NUS)V$*p}44IQs~G9zGdmAyy-2<?iE*XcsRvj=lR`R<7V$fP8~f| z^-C{#j2M}{{k&NzHtk_D3j<|B(sAv*Ka@ekb0BQ@IJ0WRld~=T9#Q=t-%<?pNx-u> zBfAXETQhI&{2m?Yu(@s(U};qhZbrY^IKNCzu)^n&2R5)f3y~Su>nXXP(i{*X;E-KR z@SI>gsS1t^4TMVOeGE@A+7{xI0e=AT1x3vG;M8Ig*j-4mk7;vN*p2W=>}+uf3flf8 z&&46I0q?NsJwrg_>6Y`0;Xtb8b?}0YMILr8gJ5-)Z}bZv%aa{NYW`p%ZTpKWqywJv z-!IXP^w^;6RNhJ!3$p!GZNp?hvgq*gt`crRGxT6YyvZ=SoYQr6V5G?S;w9Spb%{d< z$dcN>*e*>~#e)o`wK``%B)XJYxQjEez4`T!7EHbN6W&G1(}cRWXEj0}>2$ws<&Otn z)^dtD@%og`#}9^p{2-+2!jQl6?r;^olD)~^J{Lcim=L~I$G{O-d*OzT^>V_yrXY#Q zmj=_@Lxb5cgMt~@AP@qH*?XCvETMPGu<56FwWXb6I#4>@GssY`K%##HM>c%Vw63ap zq%dEwp3eCmY>rMY1TyIFr}8gt6(C2BI+*|M&$<{par(C5e8F(7|Mb;+FUvTNI#-+4 z%z?H8rhT7(ot@aAyO14nqi!)!Vg5&<)E8D8q62da@aic|rxX}=?RaGACq#sIiKC-6 z;iQ<=tQJG6ZF2=}?19F@`K1pZ0?zf<@Zn&gjnc(YE+akX=|lvnx2qhle`Hq+DV&bQ zglzD_4EYS9Bx=`v;veow5v##g))2Kz>hFy5n*hyQ7tW;S0Qd!^-z7=;S4tn+yr5)T zG7E7VbaNMaV8>_sqVJ`FS;XQ*i##g$Sv3igV|W$e!%p;&T|vCNG{_mdYuY^aK3i4o zRWm5}RA6jyk`EmvI;HZBnr;#5;kmMpUwmmNC-ju&!QFtth$1LX>S)1%{l5iNofE=4 z4b_hVPYs{Eeo#o_K<^#C{KD+cw-B4FO>R_oO<CG*AL`$qLytwTq$dnT5j@7CpXcNL zuCd=0U^nB{&3}LUxq1p(^u@sYQ$c<3q6kK|;KBOHV4M99%n{9i3KE!B3@BX=-#qiy zCdB)EMt*(y9=n(r=|Ne5x53-!)!6)si9N-sDK0eMlnhe}(AqYhx&bS&`5#5+;g@9F zhGCnwt<2I~y}2@1uH4#kziRHpRjHX0kb7fg+HmDA2WAd(AUOaPfy$Mdnxc>(;zC8- ziW7am=lc)%0l)jXpX)l$<1msyOdID}t7iHd<hj)na~CSvtJKco8UH^?-Ym-pgpj64 zVxMQjp8N8De60+r`{W6PUYf)d<JEIh@iXwOjX!PeC4!Oe@K`0d=S%(Cq?lPOV$=iS zDq*l9y7BJYa?b>fK6+f*3-|O{M(6ASeuK3Iwp-SU#c|Cjt>U`K5u4+>HO*2nS_`ZJ zfQ9~N?d7fmz3o)0RJwgOjW<aW>9aGyJAp;PdTcmlztAhaS^_05gG6C~dxkl$r@_ci z!Tqjj_Oi!?11AqmL-k{8k6)Ro5m|6QDJm*kFpqad7tS_`)nxhUUDMi(Eu7-@x*G3Q z1dDE$)igApv$}w=o4za9iAcu0Vp)e96{0}D%Z<PGn%`V_k{g>+9>bKfY$)F~21hRK zg&M@R#EM9WmVQFN#D(6fsX06kcbGcVdBoaUtt6Sy5m=yOKb_c*U5|<;uF9KhTRP>2 zkv4-VR71paZ0pky0>ZU2yW_WjL`!*xc&Z`c>9pm7!rp&;(}dU(Q0}l^*^VKxKp=#y z+`3XJ5y-#IHm@^AbN3?i6rIIRBm;tHc4N;RRaUs*g&g0$C-p+!Q>FjkX8Ya}^|qGo z4+L}Se8pH3@12hb?Oeb3>-*&4GwR!q8&rim5;hm2WNB0=KEf}SRMYu3zX+%9ZpUF_ zXU3h|&~!D*^qRu}*R{B$EHy;Yo-rpV8l3PT?4ZC$=hGjmOOi{Dx(RNEd*wg!HwntJ zlvB8Nt+NyVY`zJMcNKkD<4|*=|La8Y@#|^nVM*D$bYlqDNJrmlH;4w*?6}Alfz##^ zxbj78+^tm0tkOcy2JmbVDWyy3jQjio#kI`-;&|!}?b`{{$RzYzl)v>{m~E7n&kXck zX~+{wE+YOi^t^q1*>rl+`W&iwhz9)Vqf!6ywM)J%6z17HTBf&!9th#6To?up;icF0 z!w<15$~mXh6UFA7wT{i@$nswbYMHu*vkj6SfZCIW5Qi>-H2m-28ZTy+4@WyQm@!pL zWk}Dua=kSQP|KLD-tfcWf*HgG!_F<3??m5=rmU2>5H*hx_Mf?+Il;e*OGWM_?*LJ| zi|dH_DIC9JwjSi3xi&W8=f!&uSPdybQ=4}R%&c!@<lrwN3L^ce9@LTE2Ogn=l@`|x z7c%-aD{Gy}0Jd{HG4_JdQ%>J0_6C3~=01f@#V=KB?CH<(nT{tK7~X!`^e}m0@~-Ck zV{Hk`x0^M)_9OJ~N(<?D&L3z}o|8Fh6T(mm0rX*&1sCMC2b~IV5E|9eX`jP}SN`S& z?4gOWw<nbZi~(;*^}h&_K~3?npEpXJDo?N<lO3=WvT5UoM~{gOb%Q0}cJF<1#MG-B ze@pJ@*id^da{<BZscupxB1}t7>Q!WCLc)iK@r#9UQfYn7df0aZ=O0=@;ZO7g<YB?2 zV_WogU5Dk57h|Bb2+UtiQ5ChhK@Ut>K9=(Bw*GgOkDC`Mv;7KRHtyshZ4i+zN*9}k z!KF)4JmUD^RN>9?Momf0Aq_lfwUJ}Xiz56nJmSvD`9KH#fULybU%qiuRi;?$4NtUW zc&=%^rVXMPCfEj3xb5e2otD_~>|ZI2V7C|#!9-MjUO@VcGN<u?gXFTqg7Dn7SKsW^ zh<&6ou8GiOkhUi6DWY#2G$tUz0qy!xC9Xqc`!%1Uq$Qt{dkN^LGv<G26BO-~0x?R? zrOVk(6W*ULPFg42v#Fi4AS|agOhz?EU!Pm-u8Y|q7A;I=m6vNC9)T`=aUwNS)6K!8 ztY%SDQhh&9rFf1gtr85_*r{a=VXZ*m71uOaiX9vyH-G%DTUPe7!<hUGoenO4EQtU3 z`JG%sZWBEtEaVIDO1u40ZsEGtwNX1er%;A#^=MdB@LVW%RGWOssh%{n&hWgyOnnhu zzAky(FY!qRz!R=dd!YQ8)?5Bn1R_;KR#8T2Y)jos(bll~2PQQziNk-Ogyp%FqobN; z7hsw(MuOq1yXZ7yW7*Qu^kiDSmv1N;n?tw93@GueP+MKy9fmR&cVgd2o1udthV7lm zevRGRmt{%`WVhp<t}922l-e+J#;1Sh#xEiR40_g=+f|gug(ibpEFY$6j0!{<TO*iM zF*uzBWfTru?Un78!oG83&+{CXnQy)n+NTQwz*vDdEIcIiWM<xcUl`Ia!Ci#=&i+?j zp6#oiMM1M~@9ibB{QE~lA42D$C9HyQTL`Wan;qkn3ef<ryobJI%Aoc|WFXOu1$-UY z1DNPdbC=pg`!2bLx3q=Xnf>|ew?o*KX*IMoEDn4`E>5&DdxxpRks)$^s9VQ3o{m3| zGRq4#eK}ZpA{}ZMkV&8$ER_Tkv++%l;)e5HWu3#WHmjTlc#oI!3hb@M>!?chWZVKO z<iI1*o{;jc<fxF~f%Di6Sdc+am92#xs|Zv7GVq)03{F7a0;0#DbrN$?i<IO|4hI@x zu60dj$@2j|WC*;>;f&5uB~BBwspCfza5&wUgTY=CO3L@8B>g_sPojt0o_@GT-adLv zV$>0X^L_wQ2p@GRQ&HQ=BtPGDNA$TvH!U6Uq=^W}r=3=_O(EvN6aY%E_aEOdbD|k5 zAu!0bxiC6s&-@ikP_RvP%APh*nCYL0(bSlZRlM`f|BR1M%5a&>;j=2a{U2@qy`<== z{{=(X3|*UBVj@Qz%}tba?r@r-z}1QF(W%u+hH8G1&T-N5XvXO68-p5jdg95L$fbXA zR?cP#>>gC7i*hjmzZ<xiCG#+iM(>f>ZZU<yf+z(>KEHEW*z81#O?S>Z+_Iv*gkc(@ z61wAu*#Y+}X%HD0cWR3Y4L9*SqkAHFMLk^Vr_n=j-f>@C_VlDv;~U#^Qo}A)Z`*%^ z*ef*lhC%>rgL75(tT4#@AuUth!Ms<?T?vC4l4d#%%&rAI@U>5C51OWq*V<b5jav8a zgRMXe#1KIDG}x*MsOpI-3E%xrBfjza!eILCpN;!@*`qWJPPtuVNheslJJGaJQ<){{ zikFk9CmStBeh3F^JGAttYDA3q#wf2-y|aL2&e07MXmV6ja2eWr1bGohV`~gB@a`L~ zl92sg=CU0ro+J$91XD#$3M6=FUlMq>;oKQXyIFU&PVue<Aw{&()ekD<<nVqqSXhZ= zdA<BlXI?r~&8?PneF%)UF)*_FJ!f0VFZs0iN!84yVESw}XFBx{M^e;}3X0Y(AWVox zNSUAQnm+Gj%s6*_4msndd!{7l<z1w$0^QX!ioMFaS8hopR(j@YqXoBi6i~YC>{xlP z!-BHXCU-xGn6YdQ^Zk{132HCSm#ScR0KvW0<97m_aU+Y^P%?Mb=%5jdnS@IZ7ib?9 z?T0O19eP3z`RdUA?;{j#h!lCeop;>qNSyNC*F%C?+xj#dj+F$z9F%HU2+t!@=xf@u zKPIjNc}KSo6&Z=6?(1_v?y@VZM0YSyiMRaq1HOK>_hI5yqftwdz+L3E^!jw@p=+H9 zyZyKr`Su%rc)u@o3$?SUXpl;nalexO0=Y9f)o4W-2Md|FcXR76w(|n1xf{C5xR-G( zUFf`Y)YSFW=-LX?8gmKfLMJRX(au#5NnlV=?qQMWkJo!I8=Le+A>ln*Wyx?kE(e(3 zecc-R+_EhA{oCEI@01nirO4<wvobT-Gs$1MS`LT&&%L`UbHVKO{FOr>Z{d$WCgi)6 z)g8t1VI=iXurq;dvA46ZtR3E8{Be?9zB^Y{q1~x5fmBjNV5wH2JfqK~gFLgkL5R{v zw|~wwt2JB?cwzRVPcfh`U>?lLdSK<QIb8q@RHXhUn_*D(Wa|Eb!WDsuENsr<G@4FR z(?h3gSG&*e2GL1Z#>Un<qJ8Df@pqJ%%Ruufp|;i>U)}Q`UrS^mLQ-V@5v86T?K@eC zsV6JWIHwFhQLXm?A8xtO8T1WG(>j0SlC<~Q#9oTXoj^#VODCb}8Kv6^Gi&7^{B6a$ zq>&zb!Wlw*7qjcx`{PTrck}XS0Yu=nlHpKE2bk|Y`-Q6Flbh#$RmvVa+0UyD+I(Sj z<8qYW>Yd=}5jQ9mW{KVsA0}Rups3|2lwn_GWekN_Gdvxd3_JP?F#>H1zU?FdO@T9W zRI_&12-&9(BQ9#th>x;8RSrk|D-w;h6S&(G;ZpAo3Z9ARx^6oS8KqTcyM~adPrQ<g z{0BeJ$h(vcp@n?=H#zj~qUFLLsr*m1aMcTkMXUA8;pFSZ7c&7=YaXHS!!JqYuO+p~ zRR`nx<1&3ONfRgw6;w;~>Z;+JlOd>rM!Vs49vp63wlzv^K^!1YYh60~J)`Z$`&-ME zRTV;vPwEQW#?Mhw*E2nH?aW4d>q-;8j;35+7!DqaWbZ}L{IyH_;Eqc!%uhQ?3?>9_ z`W>#e*YIp#3|z;?=62&-&KWm=(e=h!a(rJO#yc9`379^mSnBXhlht=gelV|8`2p?= zIE3l0xC<*@)o*q;k9p#6I5EBDV`8;RN^r&|nm#2s=K9W1ffSVdnMyzg>uRw)cyS}0 z(fG>B^5GqCW4d~4%2c~OzmDx1%cduHqWpc^P*Rb0+g*nd_dG0x(zWAhO$yAcv_oE3 z4IYwNG70E!#Dl>>u1*M&lE813bKxY=%F)t@iV?Tw0jAl2y6Qjs&khcEO=|ZZ=tD=c z5+uYbc5qcqE=-t_XZKw(ec6GH)K9zAs9^%YOp9W!Vw>j}{vVLJbzSyB)zd)@v0;_a zS>2bM3`Cag&l}HaZp6hLvI7Q}MwQKkuu3U=k~S)zUPi@!_4vm$!h1WERU*fJ<*7eO z)D;MD%cR*SW~Ezsn(W7-?G2!aeP5*@pU7h$yyaG2nD7aI*MaiZg{#XQzmRP~!^5kk zXiLMwIE`1<7X5_WC`k3>dFS|S#k9@m-=|o>psf9Xw7};oJFAji`qH1d!O?mOdcK5t zc%d;Mt?$0}BLCg?8~i#Oj^9?c4UA6eZ4!}Aq9Siw%q@~#ZX-jUtn*^vF<K<_tdU>{ zIK0?Jxy=1*oL=9*-Wh8lQ^3OD>r(3VYUek31G)Z-yDB+IpBnB*53Qc%Z?*~7iP>0O zD3MCQE2->=4{yCJpK}^NGFaW5REISe57(YL6*-y9+W+116Qb>E>{CqKC+0;O^qE9Q zA*ioxE;;8kg?R*E7I#8D)5kDngu!epvfdOn?5O^^PI11;E8crSX&zZ8g2zi9f7x*b zh*(^%VXRQAaPu?o8X*=K=Z&mh?BRen`&AlNIn2|)S-mYkC$)vIq`VI4Gt569^vVov z`}l&dgbS$qi(eT!w3&pm$*p{6pBESkwyvhcCJxQv*8faQ4ai{gUkF3w<PM<?c6<>* zefGUz;)8dC@wv$*=|misT?ur`4^CCQ2gzdSCe0lNS*;B;)GAt<FXpKEVLq_H$LMa` zza#N{#mamlQcF=U1h#u5-!46Z7Uc??j2%DxLVIcqr|reV&(LygJ%RVsrvaN`=xMPV zCmQ6gj0v_IJP+sXBn8ab#g`kKyKq8^>mb~}L(ft&T5`yyvQyDsekYE1DBk97@NA~0 zzF=y}DD0ouqS=Wx+ri7%lv-1k;!hNYH_E-tNRJFu|2}7Gt;>DLW-IJcIki^q4B2da z{k<6pcWO_eO|;Tp9v2XSfXd1v%0}v~o$mA|Sp!V5hO=sB94dc`LT+NRZwY}O92({{ z3t%#MNkyR7=-pq~`hEt7wW>$D0PmxMeDc$OJYK0al{$O%pW4rpB8T!3Gu681`XIWI z8Yl$~dO<<P8m0>MC+KUDg51Tb(op>ND5Ee|inZWnHKd{N2}17?J$^t`dQyMtP{*A} zzJL@P^YUw5c>#WvZBMCDt~>L-^5vLo_*pEJI*iVlh^Vd!D6gxz-wKt>Nd1EdK<LaF zM6Ri*NwXL`@InfrgmyvT#zFHNVQ0)m-x}RC+w8lYVkYKjaz4)qBv-i*n@emnu6B_d zQu(<XGrPX);A$49_%iQslH{k@x97+RYu&T(ENZuqaHR(oR7r;tKcgzio_{zRF+oo5 z<-TEolG-QIb<<{V+oy3mXL7q7{LDvfi6ja;L(axjb8!?1iC4Pp<sm9Bwb{IfivZKs zTSU@{n(E`}_Q{n9bLn$QDF@mE+y;Ki2Q?s{&Q(#PT!t6%7~k@aw=IA2#mk2+{iL(9 z7(1{TnC017Nz784&FQ)R5ddAORI_UONiqD#_VWibp=PtH9sH$1is}gnY8EoaA&;kA zwb=xVi7eD|RcbMe474IBX;o6Rz)SF^bwm2HFYf}ggJ$*mdPv?>Nb;SchUXVHJNv!~ zug@SbJ#TkdR3($FeI@D_cNNq+pjSQjE7M2bq$&fpU60G*i2@bky-l8w*Mw%@r$cj> z(!cT_n0dk#|C<z>5?<}+@cTUZTq!yX`HLo^KW^yr76PI`o!6*1tJE|gC`9+r-+Ffn zyA%;}!c0tEMCZUux3C}EDTd9#LKlkP<q<&5oVwZF(H**LY0=#MAI81PK|$09__?em zf`;=hh<-18v&EA}?vOmQC<#Rd1sn+coh&7G(E8SlbW(maLA6ha+<nb;xI2fC=e$Nn z_wDn?xLqX=%VKw(z%fujp56~A3V^@)e|!*?^IJP@^B4UFEzg+*wt5$OI81ppaJ45; zj;-1a4tcDovQg|X-IceoK3YD223tF&yqiPhZa@Lt;JF>3&~q5KS6cYP@EWFOP{kF( zT9rB)Xz2U=z@et8v^ZvwH08lFW4AMEfD=bYn(G+?cp;`U3<dRnIQ*E*R?ZrMg+ZxS z3|JX`p|)o4D^F%C4m@FW>Vd!Nh_@A3G&OJcS4lu28amttFMrV%6PWn~)9eT+tU88R z4{{P)esFQfbSAQgJ2+u@bL;2E>8tGE-FNy6NzMR&(@$z}5{X<zsXmBk3JP$-;@E3c zn^o1G8(F2tt+kwJj2(iJr~3Bj9+GIZg|;lT>t9k<PJ5E>ZBIx&ys*hZ@LL<4hR3|C zbRQ}=4b5|cS62G(7|nI0<&4j~%}92lC32vtp?QRb?b+169{!1=Ma4EZEB&ILD|=_+ z#b@9XtgZI`!63wT$Fuf))U(B0^POr0iPF*N%700~_wWD<&RuW9=54^-Z>|}c{m196 zLhEZiJwZ^n8q_?_tJ64FsM)JdaNt5CH~L7Ag%quTy4OfO%sm#l=NB}kt{bvCmx&ay zNw;3`wDbUgYfMLS_s$nUmG+TaaIk&;w^-*XNPgU)0J{%n-A<f5V(U~YGP=p+_0@K+ z*tU*O>M=0B=$=?-11zV_iL#s%5&Gh|j`plkABdgKawenMI}!yh*W{#L!xCvH-1F39 zkL86j6@MM_)t<GEN*VgTQtxGGs$C9&^r`6-2!O9c1De=-PcQeq|A$l?mU7?m!-w0G zh?sys&Vd#AF$@?7V8npLHT|!D*c1npshpxM?ydt*oVZn9(b-sl`o}krr0T@!ICL0p zv==K&ba~%OP4<yDR&uQ0hJnNSXRD%1#YjS@qH9zMnEnmosPmrQUml)98Y|d{J*$7G z#?3{bj@F&MeM2~D^|_9=`0gUNG_e!xWSd%_HIGJfLx7F^(OoaElyckaekDxeCNM(U zDTQNssox9*;hnjrE#_7AlgL{WjN-r1rE<q#9O&Zq22l+-L*0RnchaYaO3*Qap$l*l z<=60|0EzY?r$nc9s&5!6mSewpax6Oof}Fh>T63@FaMHE=MYlL~-i{LwFw=OW$h=ff zCEM5Man3C2&bmQf>t#6ITtrylL;gNLu)U2BvCseia&ssZRPnmJj+d~nv~3@bw-0fX z8g-N47fl%nUV0TkE$5;?lpkwrmsbcX#S{=tks5>fjs*o6tBu*FeA1g{b>-6Q5f2+7 zjlzINnD2YvI5U6p;1`rm<IUpIbZZXSwVH&SwktN+hON01pi#YvzzE(W>E5%VCzAir zvBu)s+i%<94ebVez0ZSE-k%2gOIY3!*jCiOT;mpOJT?gv6##>jS#SOexB8%y_D*an z^Sd~oj^urX!gEgbJ|Wh{p`ItBvG}?AX%6hu50833tsc2cq4NbfN}Ies_hse}X0nHH zu95}kXD+6#0M9>)UDe$-ySwtX_l$bqEj@()KLzb^@1K9gB!(sztlPNOqk*OAulsGf zAM(9RGLpFI(P)zl2$)n&5byhIG;BEmsA)i;r*NqRD~0>m2kB;L!CxV1=7&#ZoeGzW zOO1A({S+qnu;R~av2BoZ9n%r*-k6OWCM2!Cxh^!4nOnvRO^;NDsKi8SZV{XcOGmG4 z6_;!||DY;)RZ6vOI02he$uX(j)|apJHkNYbK0X3F1lf5Cafi7}s0HL`%wVNmrFkc& zqG_8$VJuBI_f0c5Fk5K3q>!FRhU+lRUn3Uz=-=x3ab%-Zve2{_=MF?$B|(Wx>9$<Q z{a$-av$xht8qAFxWoyN<sFtXOVBoKCra26095zvRnNRqatME45Ma#Ev!`yJI1GN3u zShv<{ST2@GbHy-6BGf~n-FQ#dj%2xK4e5=>S7gnBI}C+;cORxTT+^A;O<LBQ9Q39C z_?ee4WGTH3XeRL>Lu?&x;*oWdkBha<gUZr@o!QadkTs*|=Htc8?lSsavG};FuL1jQ z;0<#&l|4Yjowh!oYnhW{sicJ2pBbR)s$#CNOZ9FmJZ&P3rXq8uVnmjg#*<rVt(WZ2 zr#3#&((ar|DYV_wrEL9{%D?#@;?W7}s|}^?g;*}@3lAh*txjul#^NKGGi)Sd^WuB` zyW{b=aB;-3A^tA&uCF_h@Mh;8haZo}=&$MSg8d5naFF1;9}Zu(Ga`3@L5flLpB?=8 zOskH{!}mJE@9tF37f$p^t?$W`H$J#wU?EI+Q+{wMNK;8h0e(ET1*nP{ggLL6#aX96 zfv45<nrI)MLHTETQ;0}xMuCAwC}8|-?t1~3j&}c6KUAVNa_m=zSX0XDGgA^le|*=_ zCWxyVju|$lPj;4SW~A9e&@cjb)jid6%Vy;j4F-VrPUXGWoqU<W?!akw+f}J*`BPWx zs7rsYJ13j3wlOx=f!^`#a!0E|%$?zzy;T+|JcMC!Ij}*;9ZEnMXzH?&5E!%tSUjCm zkBj>uImvb^f?)OuM<-^!#8Tc|f*BNyO!oM68dx8gS((>$tjNy^^V{$Qd@BXyEFBMe ztcNG{_gu-JhmE+SH%cBxaVtZnC_tL75Y62z7?hI*?&E;Qv~lfHN9t>u@4IHza?ptJ zxiIV}fRK)q$YMP%*UgF1jrG*}+af7qkywkT4y^;UMye-kY2*F!&7x&aYg0jPJE&(W zvjcNOC`{|~BEO>U)N?cR2?u6<dRD&I7m_D+Woa&CDttCd?oENlR4Et-Q2}$HI67u{ z+j50=QncHz<YK=FR*ZE?`b7zXp?hXqL~PA1qrP-mNimo4tj|+WyUVTSm96FUder_& z`-u<?ZMDSqtj&poHT-`zC-n~?jKl^qlDxvekkY1l6zo%r?(@1(+ci!Tuh-cbVrqIc z;6lw;x%_h(bcw$+1_qq$z_<)QLe%D?g@-w9TL$=f;Er<yt~wGP+ZL+kZgu0Wb=)au z|HpTlr}9%j@(BdZo<3VX@6Gx`_o)2;PPy-HPsbh2B9*WQ9C2=7t@{FDW0h>b)3}!s z>&Fye`hnb0BeN}?xLYUN?<7|k>H8+Fwa4sd9Lcx3W<1!h09aNQ>IQb`i`>a>a97ss z4r88DX$gFUS8&n;p2sqGFY^Yi`y|ZKPKf&A&PHDYuPqX-@tWmp>t2tW<6#Xz)ezTD zbW0w!&`ML5(73!`3T?lA#@jw^707f-8F`FmQAO-f{GoZ64FZ5A`4X?S_!Z^K3|rf8 zk`#)L+;Sf$o%O>#QE(0QJ6E$RzfBCCiF?UmA{)?xqHp4jui;@n+n)XV{7+<tHk1n* zJ)^)Ck;DJ-Ig`ql<z5;dCniti++eQ|@FUrhvbWvG(0mV-)o$Dp(QJwTp?I@gb~ME) zQg*3qlg7}}e`a{TGK=OXS39)X#36GHx0m}`3Y6I>CFuMYCm)X!2Y&H4+9F1I!PQ&# zuSc=uCMqPSXjnJU!rZftFjUCeDtsD#Xxuvfplf@!YR&bJ+Xt3@NUFqo#I2#763*xQ z;lC1dci?Y6ojO_WJeoWZg(um}?Mk|C*?b2<GZY1lp=oLL%MFLpIOO#OH^&?6<A&k0 zJd#a8FKyVrHuG_HbM9=6^LR&!u+%LRKJowf`nD(HRrJ`*qV&>h3NBps-*sVMtKzhs z*kt=y>c?%*G3REyqsf&?fGcD)vkEke2PtR&ZWm5oO0rJ<;@N#6-rKAYdPb+ki!1qu z`Y9!UP^Ob)(*Xp7X2CMoegIg%1%}ji?cQgjr>QCDwifrhZ)r(c>^i)!u9`U^nz70i z7AM#sC52r1KTY^|R{IEr`9wto<0d!rg>^snq0D>FZ}`nGR?}-;{i^c{b;3CllI`xE z_i~-^1efT7see9vuohkgtldGU1p8PIEU&kB^?u0%@W?9mY$EPm=2b$X8v&ve+)s!C zF%4{f#R8x!F{12jQ!+QDymC&pAwuZZrx#0uH_5L8^-iU1i_j3Rcc|so149~gcrpiF zXc^%)fsk1P6>pLjI2*g`Q5<ID%9*+e_q)JGgyA2S;od2YWM!MeLJkE?d2h~;gofwk zf1XiwidqZl51!57%mz4bQJdGD>*lyiVK7V4eKAJaui6gn6xDh@0XMP#_%7;*hyljQ zK2KdNaVfZfIvZ#b7!+tdQk$uW4dtMnYli&cMuVT<#S>V+yxmS$2lYA}NVp=ApCrf> z?-B+DX4=1Ur&({*4ee|r;!ltv+H1FG*ZZ}G2sj47H=ohkA(mE+h~|~EvNj*8Hy%Dm z{<9o8d8N?HqvV?XYq!VgO?9C*%aJi1_on8|yFfTRbIs^q(&PX5Xht2(ll1wDC&U3S zEB2wr5XU2~heGGihR+}C<A1+;eQevmEBLy_c^EW3gR;sU?e3z@1&`gxQmre{7&OR* zsyX9p2R6x`L%{$x;WF^lxm%@KhWQhcs8j#R=YTO?P4VI4$yb4@R5|gZkzPl~KYA_G zD9z>VlmKTZ4l)-9Mc%88_P!oCxLMA01%F|d=9F>`OG!X~D$boeIRq?a{>rf5>V8t5 zv`c<9wI+AVd}k*VZIUB6Cc}SXWQ48-#*>tDfmv@s=Ex1(^h|?a41CFG9-D~38Xn)m zt&m!Bu{Bx=`xiMi{#3J46(~ejKunEz0q{Ugilt@s@m>Dsqiy?Ol6+^oR{ugz|KiXB z5Rsa=-l5U{_0e|b6{;pBnQ$2p__X=Vnl9tp;nMvDS68en1A=j<ZogywY<=mfd?|UB zq-=6@J|&B7TdrteG7?cftU2@)gG1~s3@t`^{{4ou8VZ1Zv8@-HUjU<Yfz^YhAp8&f z`f~fr@#2YOy|(_Rn-uJMhV-hNDSzG-r>9=2U;)j%z{3t};z>W6oBwHdNih<zQ?_`& zk>iv_3*E$nmLMcc1XSV3n_zz(If*CfIeyX$bSv)aF3CXuAK=ut+KMX!Yk6EG;A8CC z6^gwcmA75dQWnCRv>$bE#h$XbrH93%cMaVF9{j!Ci;(pftA(EFG@;blgvDHP-J9P& zlH(OowqGOQdlDl<F%Tppd7>dkMFM|u8^tRE?@$`uG0&~*x?v}Kq*sKetbUc4O!C2| z5~NtCgb&^pT3~5cIbcxAQA?Gi9P~()-<zM*WMlb8-5@tMt-F-U6DYLbRR19%|Hi)l zmE(sS*UkhQosaY?jk)I^WWw=WGw?BA085l;UbBc<$&XA$0=1yLbYQZdI7~8X=p-WK zZF8<nd3|ly+mA&U-TeeS>GyGBUQf_F0AwdsawR8jJvox%-GF=7B9(CJMcfCIW4(Ht z6OEjKcr%O)@h$zYyn;q<m=iN-y90PSrN#a*42HeCl>2d+z`(w%=3G2|noggy^W(rE zU(Ka2?jVZ9AaCAN*1EEfs;WN0>3p|qnL=h*hc}v@zP6^-^NW!YLvzMu<-{lkRViK@ z+8fgDpc%JU0wRyl0QT>~sKOj(ZP+{?vsUG8@k(DZ&m76Sy@djYl#gur1pgh&F<*XI z_vjQ(urKK9DAQlJG_%FqY5Ak#>y;yGvJt$(Sb?m;7RO?{FK=|+M!vzaEJgqyBX+Tm zg{ylJFHbJ-^U>}!QN?6tY`UdeGQvRH{_BG~oOUgu3}*1jP_U<nKZSO*RH$bo)$k>Z zMQ1Q9FVy+(c$84pT}Mv-k~_s3PXZ3A3rW~bO>VGT*0nXz3UqZT!qbvX_Eg57sk&S- zNs56kHHCp(VmkAWmhakubM<wTt1&TAU)`T#wT_Q-vF3%lPb|Y<Q*k*BPTuZ@j6t*a z(W_Gn68FzltD%Lv>;l|+m_8`risj72{iY#=y5yNLu3>l>y03AYy<#(|Pa9hibn`#0 z)Yi@3*{c|J=Wir0qM?db!`Z?Gle-c{&^A`QwE3if@QpYr==+SM$!-x#$4gL-D{^+D zX*VS|v#N0$O=bX}${ZM=LQ)M^`jY1NrMBc+o1#IEAL{G>K$=Y_Vhmd@?)*y|O^n&g zk;Ru->*GTxGc^rnzO_^SmrSl+4GIVl6LyNGhO*4Bl~(qLaWNZY=o{VFk3<!g`YZ9A z8S1j`-ld7MyfFjt*j{@^z;kMthXkP?^*GJL$Z$YM-}Rxg@;|sI=Zr(N-fFrc<7FbI zAQlHZS!K@GGny3<J1$I|O}gtg9ef#gIl49pI^Bp;V8`6VEPcT-%W3{3iF#Mq@NP?b zchFOlqN;F`-4OJ%x(3B|u8IHcGp>5sZFT9T@&d1W?++<qew)z5x?~!1*&@+d%5Kjl z@wxB80JP{ozJ$4yZX@60z@uEz(`QMkIUN?nvN_>TLv6;PQcAzNr*4^JW-;5)h0&|T zs||x8u6i-bLoFk10pevj;zVR@c~_T`;<IXaS9&k?=JLqqKwf5JRaPn3)4Fg5Xy}dw zI$9*MY(DkKgq31Q+gz?eN(fbM3pH^%s@3ocwrM%%r`{zXt$+@>eL6ew^W5cNb)g1q zjq0%_&C}|(@27VZ{I2HC*f!SV@R{Z0_?~te$ZB+_68t0&xWT_7ph=<sUT`#ya0z5a zDS2I7n!?Tk&|T8W@C+aZau##i%Whf!(hls^xNcYiT<odpe5xIx@P1PQ#CPJ-Tjlf# z7v*Z77#$zX%j)1+3nrb}ce;td8f&4uKSlXn+m=~GuPs7u@0tx-fm9(uN+Y2}EESWn zP{e)Hy7b;dbXmM3fu~fmRcG0-A{QTh^}Wg>%HEOOtn!s%3_CokfK~s6UEM;=(RbCT zchWWJ&$4rzZ+-*OYez0m2eR>DK#vEi-Fqe)1=@8rnS7Gz3JMF28ts?@YK=to?ij%F z>MmzX%Gg!w6{&`D4J;RGyDL0B?h4RhtTmb(iIAXBSyl4{rZF+9?e(&<4Q&@9I{kjY z#-VVysn#=&JkVZODNJ<KNXOA|){Kh;=b|ouiJSY~%k`jBKNlBR<Z03%NN+~aZKNBk zXC_vxwd8R-IzyrRa8m#GiWeqMH3?momfD)=f(0nUsH8_{qP$(zuMyltWY-gytP1UC z(Zd}RZgBCHi>XITgS!Jaa%jb~f3!ca<zb?34{QPgvdocce(594K8Hi!t~6pFJy&J7 zTc~g4#tcwBuu-L~z^kNK&Cwfsp&YN-WOc`a$rb&`)6{e<R>e!C=A(kAKZr2dr+ZvF zH}<NVM^)XY;j{9Mtu-2IdLiR;JqpY)d<MI2AG4=cZXw17QS(R)xmYFO-Q@5(?AUPG zyYY<`$&?`&TBR&L+F)!QPo5mm6um?iwHf$=BW5efx+a1{%=Y{DQr7&P$uu__E%DRA z=9roa)Kb*IEXJSVN+oS?e{}rJT5K=P;*w(Boy!<{5<TEa$<tf@RHqf+R&b({We2S` z)_3dVj{#Vo=^s>mo=}ud(ZHevD>_+Cn@A6N+70%B1!)|QPyRPOr0Smhk49rlh8tmM z-7gXeUP6}liD_Jr@iPkK^;r@iA;6|!b(Z?VZ&Y~@ek1zsK=3eT!2))0OIGEaUoJ7O z*k3hS{Q;$fES={$h%s<F_R05E`^m(_!ny~avTbBrW6DO%q;wSR^OB3N{a*kYn(Jf< zj8L{2Cg;rQ&ZT+oSkL9XRKqRyu9NF9=d$O^eaYEnHl-=r%ea0y>$RXvUk<VqTUb{1 z`D((%{+w&2hRf?fg}@bK=>av%e{%o6>$SD$2b(IvDo2-|G#xC-%wu#)FF`jO7ysis zp~-n0Vsy%KGW9G2tW@@HYDlmJ7rOH#>rpim^@+T`eb?1EN`NONbD85ZBwe8V4?Zd{ z=G$EuEGppseg9SGbdt;_#E%h8D*1Q(xOq$VO-sxY7QOBoIS(I#cN;C++6eIso7@FE z45e$gUIOztE6j}t{-JdO3wwqew$sD2n_)ZkPFg#dO6fl>VuiG|n6z7s4o$doiuuh$ z&T7tC^jd6Xt&@8s)2jy+pBYhVVzs*&JT>$Mk*uWQ+>D8I=RgD~o^NC8C0mq&eq0>A zN><rt`jp>3(vN6&@lC#x+0?|m8~77^Nkt$>)J+D@zc;q}M=r0^Q_xAtxIZ6V1_Z<+ zi3m@<b)A@!$!kcfu7$Gsg?`wY2XeI#xMZ2`eGdMW>n`}y`DS;_*JiAWCSg#)Aggqu zmSOQzL^ku&tLEcZzjvQFFL<U^rHAr{5>S2q&DErgOx=2{9e0--({p3RQI(unBw-Pq z5f}|f?rTE(vDnDS!uJwlE11P%+`rA{`sKKL4tL&3*b3Jvw|&4L`EbeZ9P{z%m&Dub zW_`P+jD7>E4H<w+6vwOhS#?4S(%BGQW(eH_VVb`++7@jzF$<aas1Zh?Y?@xti!-!! zc>X%UG1)_U4I~#9_+SyV;*FA*scwqk0>5~7cTu<9`PWtROXvy$>GysTaN1{i9@6)P zjJc|a`fY;VzG-#N7%9t8d`-g?G*9#%O#7ytMq?D`92eC$KTex-qkIaz9R8kL*$xT{ z#364M{zgHD>cbWwsqcTw>kgN&gjbuC?1PZM7?wcQv^jezi>44IjT+o9HWcO=P~`qp zwXSHQe#SeUd-BiTLaS*SzHut)Wn5NI%;Oe!Wj~Fff?eRQ{~w>zpQV(GPR*rY5M{3U z|B|Pxo(G1XqBZwF*IF5Vck2p+(gYaJN1UZzrUZ5BXrsopOvLb|F&;bXjYC!q#>TFg zT|ji-1P|D!Mmm*Go<8I<P_K~izQ-)x)$3}-QPc6vhrCWq-V^8FG$Gfc&H3I27#$1i z6{|pHO4KGc?~F#VR*$2+^mazpI@nz=n)I9ZNwR*rW_hWlZ`==RNY^YFr2J%sp8xe$ zu=Cjme3nbW$Pu+?4~5Tyf0ribKb{m}D2a(u6vk^87pe*FId`u=2m=L{pBTEDWl2-p zs@lL=VW~Y~Ysu;xZzXi_M6ztwk|B8-<Sueo*YrZV&VPKa)54EcmmVq0W}4|YdY?Eh zW%04iE(0ken_-22mcgi$fiC^#mXAk7R5(B(!@J#P>lPaWyPVa(6VX~Lbw7YvE2hA% z+nKUtTz~16eCSAau;GId&bwCmwK~O$C&@RnMQg*Si$2-4SQJ}WnJ<(UgHhs?Jl;-0 zeW~5?u5%D~T0ca=0ECO>+-0TGEI06fxPF>Z1(K~eLAtS@a(=dg&Zl&(tbboXa>6s? zAOFsHcXL}gy8YPW4#A|LeE%QjIxY=H3EgF>fYCViSn%`kH{3?Y^2=1#hCJH`7U6;< z_v=-6?rZSOw=hO;(aPtA#jd4<-&VO=m3I8Wms<7ak56_dyGGh&uISc%n|dwo(p!-c z&k7Nq&(4jg^sCOk(fYM<tvxVOW=SSw#V^LCYfGU;5FB>X_Kr;M;#5~<!5cxdDRuJ( z-ki`2`z)7(9S!Hc{o(ZBgf5JB!wY8yr|P~oI(uf1B1dCS|HtQ5`5&J!C^5M&;jM+N zqt9zATzA^hvCyw+4-SjiMTl4Wm|z^k_4NF+=9xLM<gb=zCLtK-bvE0p(@-7W<Dt6s z*kdBf6hB~Dm-u$5w{1K1%0V?g@j;2um#-8MDBYT@iZ-OMi$;AYP??Jf2Gp2l<iOhO zP8SS|gCE?Eukyl;R0xJLdXMSVs(-kln>53hV%~nMN-rYCA=Bq@er^W1&ocIt2XF%y z4frH1*c<ffjP8us3SEPe2ic1hZO`{>qisg+Y)7X&hUm(hPo5Fg`!*~r2NlIZ3-|mn z#ZDB4L<=dF^yHStMC}m~$oKPs5kCO21={ng*cnXF*C`YjOm=;$SNxdrXG&R3G)3>> z<f~Xk2hcANiL=8?!M5t3KNZw#cKGGXKEvX{$8~;MOzMsg?H4<tNaB{y3A0H90i1{- z0e`uz-Q2x&^FO}tLLJ?(3pEFijSL$EQIS$#ufRViIYgk&$b;n#7xtgr15nVM_<Ihr zCI@QpVu%^>*cR>Yvbc@vt~EG_)PjAjwIoxG15!_3e;#f5!NhCpKLDseo}xLM?$>9a zyDqZeRM9EphbNHhc1fOdGzC=NJ~76~zF<Y*1%>jr@6;p5Tc_*KWl$w=^67_l$kp@& zSEM<R0~52bO(1rEG_Pk|VHF8^h7M}w-S)%E-hbYmQv643Rgb%{fZ*1<55Ud$=2!$H zbjJ#}aT3?BYtdcs{k*k0x!P<4{rG$kQUpY0MBel-7~0SiIO?ZGEBJjMRE*bqCVc9a zO#1<;B(MCap!YLq7jkrd`KT7G8t3^UFDlG*A$HzzR|>R6oICB?>Xc?B7ASQjUCrUe zNpGl>Q5e6z_Y^h9M!^2k`{Zkk+q4CPdaL2!{@I9z_d)@uf1VE@DOb9OZig8ak>ZW& z<l;k4UaK$AGQrYbKK6ADSj~?*HMP=VpfE4*?J)aOKCoOfhC$<k)VmO_u7~WpV4pUb zF~OkVHF!c_tI?JmBOB=xu;F@ah?R_u6A}J3XRr%5r8KU5vU0Slu)}HCg%WAoa%cvi zwM`8l5*X>ST3whyVL%MIox(IGup1xC52HZ|s^HU|im9(YbmFEBnetPU!jo9NXmYpe zphJH30QMaoPmtIEGAD23l-nK?@{1h1&a-3Iu~ZvN<<4Nkds_hT;4pW^qtHjDCp&ZB z?iKyFI#dCtA6;?|$SSbyfv1i0OuV^VML(fAw}0npWTtAh+H+LInh`+UizZ3z+4S{^ z^3JThd8Ohp3O;V%{e*AZ?$pZ{x3{g$CPm-qOYnm2P@PTw8_>-rplr$rjua=k6om-M z{oZg&=RxSdS6#~}>k&re@k~?vl}z~Sv808WqyrsP{)~Z2`xp?{Gm9h(3m))aqEKRT zIaGAohQNIH*hk`3F!o!7<v)J5W>?O2KYYcnpK|Na;W$J%@^ae7U@^Fi%!{0-M){Q` zHVRVHVk4pv-D^fq*JJ<slb!peV&}J9RaIoq!y!ef%d0vw*q}vz;y3lm!{g!-8*><^ zuviu{DB{o8Vp01UD~}yN_(ng>YpjrFzo9zVEH2)|%FcaZa`H_IKi{=A;k1;ae21=w zf1jlO>R_$5$Qe3Na+-$R{d~8j-j`mF=Hy;icHJ!pf;2gk_&OsM-rcc1Uz2Qya1T|{ z8_@}OEYi;$I7Br6{)_WxWy~=bA2+O7y+hv@K#zDi-pTW~a?$fgqtIA<@vHQ?sGBm3 ztgN?JB13cx3%2yRGr2!XsCRo%05Sb0CcE6#gK*An#{SZaOvNg_vp3YKYutU8s&Nrh zQ*an(Rj=qUqMuvScZ}vNU*9O#l-=36etKb@AE5x_+-b^v?pJ%OYwFq5&0~*d%@0YA zTL#GA*_cj@oCU^z>g?3v835akFzA=dc1mHuu8jQnR(w9WFC&g!FEPc(4|Q{pxh5xS z=pxHQk=J6@_4DaxkO^NmA*jnu1XS5lALLo=^Z)p2Y}yy(+6@o<L46)9R#q%Z{_)AY zt4(+@q67YElI;m@ammsResqG!sRiM~teLsob@g997O!=l41j~@)1x#2EdR_5ta|^7 zf8>#r)S#%Za~J0i-+Qr&1|AdLXAp6S(N{#|rMyQ)cg!_I3)ibQ!vOMBkm$Rg-2&GX zf<m3(1ySsg{b&Err3i=XF1Zj9dX;dwPtM@a+(X5J2!|EKu>J%|v+~{R8s$=SkGvKu zv<U{$mAEKmvYPJ|5)!K!6YP;4g$Gk+X37dD7$Ok2_OS#fzPf9j`bh^n<dVwgV|F;# zKLn$_OMf$;3?X_)-}kw$8|YYT>Ik8p0648kHghIW@+8m4=4f~d-L5{rZ6oUS2T0bf zZEq*J1DP-Q#T%qJ9wy4r*pmV2So*MmK6-~8l&9Y9H?fS7SJ2IlMqB&DI9Bh+Dio4q z=kM-D0)EQTi{Hp9As_ALq~Bky9WgDSpSdlwGj-NFfQ&GXa*=&rZruNswfJ<TDi52h z!nr$E+w9|3ETkwaSD+kajCa`yUgxC}qN8^2hx=MDbB8!!r~V3h-Qw=QF$V=ZdOE*P z?oj_s)HN$UwXpE(G-d=vz%PdGV|SXZeJz3ur5p2Hl_a}a)yVOlrG<`)t;CJQH~0QT z-&V}^AI(ZTKW-t`Ab#kq>22zjndHxxd5p&^+Ev}OpY{$uMj?z<JQUa~{>K-wBJ@1G z;v)%V0?gC1-?70=PmjWY-Nt2dM^neUdQl;BkiAm96)DubD``e-Y7L?1Jl|+_IjG3O zQM$3w>o?H)QCXXZ7iT^4Qq+*MMaR1vrqJl!Wd)l{i%#(Km_~AGj;({*ucQa0a{k74 zg}+%3?9!9G8=XcAQgS~ak86s$LJ>_8&vS3ae|GPdemtVC(|!7L%u>)_c)~l!GNw9< zXSmed_7kzAumhCcKc*Xh869m4ATp1Ioxi!E)8V<iGadh~tXSCzV@-+DivZFOaTVjb zZso=XFz5zw^6f!GH#{$D6rO%ODso`;#jiUAg3b)3xl_*0sx0qW%jtwXtM(Bbb1^oI zfgJS?f3r~xlw-2x6ptm>KKLqjXfT6JX`E{hcAVaJMv(-z_zjgYAiIrdwDamHlRD|e zYvQ>hZKA3eof^Ksb0d!RMyk4<jhwo6|F1!ysa)atmGmZmr${`50W?yyMs`mu2ZXZx zEkMH{_nip3Jv;Sf>~U#|h)=;cf$Y#jFMCHMZqLJ^&%>8;*$!f#OBKpSvd{$F>`ts1 z`{$o5GjoUOlsPphjp<N7R80#Wl3LhP8E;r#?>Cjc<JeVLV9K|5obTMrAL|BBr{YMB z;;?!<CK+8g^(ZnpKLdzq6X>I~n@m_^VM%PAQHz!AJl+3NWVG7Dk~gYx9s1X#wo-w$ zYf{q7!tx)i2eFTi4<dVdDsz;Ea;>(X?e9}fU#j>dw>FqirWe4V&Pq~SL}3+8;7zoE zVd7q1!1%76hxlt@DV-w$y|;UxtItO|%c@BI7;MhGnpNNI>|Srdu=)CvRd0~fJkjV> zUb;<>Wj~890xF=IhDt+F&DcZi8OtU$5yu5Pvreh3L)~NEyJz^v;CD5<VqUv`&h_75 zHAB#raD~3#YXLPacAHP@S)vSMx+4y}uQxm&Ewn-&>sSz9p6hy0vOhp1U#LCb`P|+Y zxL+*3(CLlxBErM?6Wji@>ITJ|WM$<AI=P1|(aY%h3aVL}!seQyGUE2MPCqCSIYnwe zE!CO}NuDmQ^rIg8{;zjTtyn?IZ?kJUq5+8TKCvgnPt#&c!xlH83c>ZW8^hqe2V5zS z%2%162O*10;|gcLZH8x$)Y`#mo@aQoxiTxs!n9ZYg^g4ryTj;Z6`Q7>jU#M(5I4%1 zi#(#KbV=EEcJD3(4G|b54R^TI_V<*|+uy4-nf(DD*G|^H@}c99lz4j-)yJYH>EY15 z(hK#_t_|P|ts@dt$`aPIwDoY6Aci|TRsq-)M8cD2W3ln6uQ1{_+qdLRyzkJ-hmPD5 zfqt4wlI+8NjHX{Q@%y=$yT6v5xU`$KY17E^Jy&U$>malZTdur`$YVztInI=kDo6)` zep)hrM<^(Un_&{&n)IOx|E5cAB#4UsH!2uiQ=H$95pJw6h1jQ)c;cFi%v;^^78fRU z)BFgMnrLJUz+75auwDtx2`esF``POyESe#`(jk|TqPk}z@8#Fi&{?_J6uOHY1=xev zGgz33>>P6>hu*undIQLkiqp0Nr!9-F-5WI%Z8svMB5fBen!W6lOw5Osndt7p_Ug+3 zTE(ig$vlL&o4TU1@DEa4dE!!o?dwM$=5%PL`aqHs{HxO6Y7|tR17r(ln{QqW8aA@o zItgAkI%Nb-rIpv8wwMDej8y2=IDC|dcr@}NTz@PhrLkSV*+dQ6rGlyto1;{0VmY;H zZ9ctLa*H?f@SsY#E*Q_WI`<pi$;65GlB#c)GDZzM8qBhiinr=I<qQr?YBM$)w0}QZ z2`RVo3&+iXH^A;xXB-$ZX36g=;AqinJH3??HJe8m;8dqh^|4jPV983DWVK$d=9SSv z`M*B)f4$Gdo+;2l`_d}D*|AtzyROdLBb$D04y9ntsC6D}Q+@vb@=DZ8-w_Kg5NHGz zNtMfAX994KOwK4%v<n`0O;9EmE~fl&tiAQ?``9FtXK>wDMl*`D>F)@#DDgCDibk#B zw+nFb%?`Ccl~}ORtMPho`)vBCk|+ll#FI-8(l?MdamwL_Ml7|T4tJT|R9n0fVJ8+x zjayXH>6@`v7#`-KceV?%p2`~|!3O(q64@vZMptON7+H-Bxo}Pzr#G#0LR3<9?Cf#w z`i^tg<jQG>=kGB@rDsdi`v5{nEb~U!>-=$Xj~qBW72d%biLIl)CCZLo3@=bRxq3m> zt|TcgEeSY^g4Ww29E;x}zS*U`XWuN?T}&BuySF%y%|H-g&ZODM?5thkE!drJYW|@$ z=FcyzNxKVtKAi6*%nScMcJ{|(-zA64;xC~v=U8jb%$nLx+4cHCA9>SSw{GK#(BWAe z8&ES(hJ7cTH2#KHb!~t9eqMV4^Q(QFtlgo1=6Ej{HSVYz76S>R7+m5>G;Qhz2%A5e zZ8Uc$W)E+0d3_x=7ia~STGdMtUJs`AL|hkzK0K;<aa@kK;+Bz+{u(_5skGPu=Dg$0 zeb@7d==#Da7-R`kPqh-Lf**mC;n$XhSf!2lv<1g3^U+^j2ZW`^c*vK%I)`^9_<O9a z<hyNdW+U8{D6Mx-3OUndz<7)guzEC|*`6bL8J^!~IKKi5Mtpsp+-gCeb`xBUTRX2# zrDDT{?zeTFC+Ri2FNBd@Lx}~}O}Pyoe$tq@Ax=LB656;EGA2pOu~-o*3A~9q%eb6w z*e`f$3~^(hp~~aTK5zW(s2KsWEM>vz(K|*`{og0#`@^zI2YR9vNZg{*s_1}kgG<Ek zD%suvDdN`i`4WhIUb@;5|Fsh#WmStz%MFqZhhzeNi#lcOQ0ybBq*6_fwOliZ8;6#U zqb#;B+DQMJ3Zw_+bM-gpwKt}lN|RnY(n;yDL;I%4S3lQ&F2@12y#R)*<32ofa3_@0 z^5GpyrGCTxMfpExZu7J0h9dw4Kn)AFj+?eJh+2p(<W5C?_*MEo(L$7KOEqP{V}$z9 zM4|37jf()XI@l#k$a?;ut`{1#@N;H;t|O~QslG`Y?47lYv(Dqz#irVj)(ta4YF5vU z2MhBh-B{=LA)h%71uUmG<wl0>lTgDKmb2s*wP6gkW(h?sSy<|KG5;=SU$bqm+*-N! ziwAmVpKua!7xV>sVTzg_n??bJ?{wWe;_DVmM6T>R4xQ@Cr?yEFVi?1$q0W^HjC^UL zRZN?^Wk=}ao1XQuX8T*~JA2m=H_z;^Zfp385x?M?_Lt^5x;-yI%U15G58oL!*OorF zM3wZMjdTjCT#yU_CJmm`QQG>*0(q-pS8!zT96TV}aq9-e4sz?x|2R4qN2dS(i|f-x zcj<=QDx_S?{jM8Ah_IMZp*1sdn>(M%rCiH3_vDt#ESGI;W=ZZLw~dX>{l3j@bJ_TO z_xt@1@AvcddY$Jv=aDqmQ!{!BtowFp<=<fX4gmg-ZDZQ2jCgnkVZn_~Lahey2yX*X z?6^(y$Q_+s_~_2|?@#wifS^;AZj>upvxmFa{0e?=Qdp}Ua?Zc(6D}gc&r?9&D;10Y zyI<|;CkO$>`3RW-yb`w=yqV1L49a|*(;le7t|@l2<Rsh$YrpZs<cEswalq3a4kM8y z<V@jO0Dw6$GH9`k2EbRgB~Oicyl_(};&VML%e>IicZmCT?|oc%apA?`;#3I5m^p{B zwzW<{jc_PHIJd9#j87cwP|xKVFQ305hiUr-JgwH+BOi@Iv$R2?m<qtg1T%bF2WIey zacHyf)vM0dGadhG^CkHdSn6!pK8+f;Pl2!?s4~|=$hUC8r#7F}Siye`aV}qweCwOx z)c5-9Nsol}?6=BfZ45Xb>=4WbZRmbFlfc3(@MuyTA-3E4_Iv3>m~!>YnBYUnZiB{A z5>cNXd1fphJFDy0Yhk9E10ged%b*~cR~!dr^RVXB*qV#CM)Gvf@j2U0_45=43O6PR z*-4`Pg6llau2_cuP&1#GH_?&5_57I%ci*qxFF(ZX)wi(Pcz_MXq92L)&{|<9nrok7 zxnh-rN3*yBy~%MdR|0zSyu#&;)(uM7TEr)e%#`5Jk5^5ieeYhqEvzMl=BqwF`CY4w zm#3SkR7xJC$Y2=}usDQHdIb`4>t45++|&6Xw`$6kJ?Bp(ubEREMT?1$Nw&*2QM zPGm|$PU#$Z`5?wO@L$zW_pZJ<)OP-B5yaX{DR0*vy;_A0Ty(cQ-}-Co8UzE+HV01B z)0=b3Fd+KgTww%-cBIL4s$qUOENTQ+_<G^vsF9yq#cemt<5&TyM}kKpUVtTi?t&(^ zHm?kpT(P@ls)mBwllm6|H%Sjew>BNj5+JtkpISq+WO_ow=_|D;+;W8X!H`RRe%>^v ze0q>^BfIsvd8k?gY;dahseF4?&$+|eA7(T7W)AUCAa-(=PD_plE4#Y-1W{hMXKeaM zgpCh73<0f-RNtWWQmkaxTw=pKvm@gaSoUwT<w5rc=kH&C?xo>$;+abKWA`pMCwZ)R zRhiUlFLD|)I#)fR!X!28^)xbk+my9T%+$)itS%)7qhwzgkqwkx>*&QfIN)4HBuOr- zye{4_ef-)%Eb>7x<ciZXhX>)FZc%@fUVP-zCSru&tbbPdaU|t7-y}Guul$AU$pA;2 zvZF#WqR!@UYGy>FA9H!2yP`?)Xm|0Fl6hsfg%Z-jJD{SOrn+r4B}6w_>)TUaoiO|z z;<nuaaR25E4FBqNq<ZHt^IoT3vNahmrw8~qcgED#6fcCY3|y)ln)hkan{yf6K*`oZ zCdMe}SiDmhtS&~-zb^QPvXb@RPyEzLiLZVbZS6^L97`t0#(KfAoz$G8yyI8n9-zR; z9@<;l$*hk|w7)VkO#v>4_*<i`vL9#OiMo1j=#MliX*751jU8}~`e<&d&e5)vq>g~X zcX<(DzuxkD#t=nEI7Hun2^JDI%F9ft1?f&<Vx);p!0G<85J5cw_2R&7B2hCC>0Jvp z7X@RpLo<)t(v7sv#u!nq^D{GUsMfz=nwuNxhr>pcklrI^2rcE1rONHqRWyykT-veY z*hP#s3+?0~^7wyYE{vK;IRdH6nvcn0<ia>LoPT}B-U0Op`nrSkakVcR{bH|`zT7RX z$dJsiLEO4&3sXzYG$1e6n|Hxz=r3+7wobzZawDddm4+Rb)!T%u-ID3Z4_A`k)(Z&j zP+QH1Q9>gKZ{w_rMW|ApdTBwqnd02}6W-B%d1~MKCYu$T8uDcxDZK(ly{IjBXowWl zucE_5Q53HKO8LYU+ofR-GbfDmhP?%u33VpRABbBOH0g4Tfuql;6VTHC_$&v!uJl&X z=i}z7^X%D<*Htj|!yiDIuXrE*AzdKQay>px<?;h^rR|$H<?{08>7KiYQi_WU&fniy zIEX`D9hs~326~iK(!8=ggZqC=#u4`(?%Aiq2cgc#*N@d)Uk=oS_b6mbAOpoTWldoA zzdHimUshf)0!x_@*Cvdv*L$ASc|NBoouB985K_5J0+;rHtPz?gEZ4nP7f}NNi-<WA zlkf{uXE7})<UIabr)sYRKk+B3=lltEeTii@*lmc_K>t$ln{=-I^YUkkf~DrSe}xPE zK@-eSdGCPIY{UFNa~0WDgZB177}QAC+qP$0Xxq^~@#~I@Wpi75(F_Ruo1`O~S$p6< zkbOqiDCnQZ(-t>r&QOc}f;UJ7<~4VtgsRU~4@(⋘cdbl_>S>#ex9B)3`A10G=_2 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%0DxhgapZw|%~bjtNbP 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≻(E*XQl#vb+&{GtM@?&Ej*4 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%0D$I;b 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∨pbBQd{WDzq>T>!sT4D+?U2{ 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 KPVGOPfdAQYrT4i2 diff --git a/.next/static/media/rinaldo-beynon.c48f36b7.jpg b/.next/static/media/rinaldo-beynon.c48f36b7.jpg deleted file mode 100644 index da7948a99229958d66d7c39635352a05191d78e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 458142 zcmbrlcTkgG{52Rv1+nl|KtY-ch;->4Y;*zX0s<<%By<7<2#Sazy-JrFdZdH^0U||u zks3${MF>a@Ez~4ze*5mcJF|c7>^?J@$xNQydCt8z_j5kyoSaXeF9812)zr}h&|RRT zyGM5q06511o&)Iqe_sDH$p6nF=;+RW0d6v0czp3KJ>5;fg`0HrH|fs10K5PI-KGCE zHsJrd=q}J-ymXm?@e0#b+6{>R02k=!=`UQQzjW#1McUn=w9f$-Z(h1}U-Ic?7Nd6z z54>5WJ|yNd@;$3*XEPq%;g^2z^YIGP?K|uocLg2_J`xg^k(HBIP*i&ULPJwaTSwQ# z)Xd!CwWXE4gQJtPi>sTjpML;2Feo_UQ{?BUFJGgRl2cOC(!Xb978Dj0m%vKP%4_TD z5e>-3rsj^$uHW4~y?y;-;}erpnCThp;@_oZ!piEuwe{V-{R7hB(ecUY|KOqn(Esl# z`(MERAGm0fKzHHdMf!^j|AUL}0+{xqzj^V}eaXwWo*FT{^JaM<^?{M~Sz>-o`xQQE z;~lp5KBG*x`DGRbcK-+3|B3AX9k7r8pOF1;VE;EREZ`bF9c}UGZvxZ-)Q@?Kk)QRL z`Okp&c2u=D#@g~t!AFP_DkpDFvkca?0t`VOr^a`RTzDK(>D&H_J=muhZLH*1VV32Y zsU(It2k`6V>xglBZc`YUJCy+j7hiaf@Cl;XD~v&8_|92ekdgjY0nV<)@YuYe_30O8 z<BU_^xYQKK!j<3y!D*X~lTC#X`Fi?1{&T=DZED^WEYpTaC_#UYJiD~F0igz8JqIw& z4UBOQwcoc6SEt_?Iq7PKXK0zu4M1}?1@&xhA@%JxC}EYJpVM@kuu<F!>SP1grhegV z8+29deGOTn7#LsG%CxmJ*SmKyB(Fpj!lditMjjp<8f_cUs$H>X?zC2$drf9|vrM&* zhPz7;T3e3DS4~ZH1Q2l4+RuYySC`rM(g(bY6jxv5A#~6E%Aaqw4Rgiy$Ii}35Q~E9 ztD7TD####+H|h&p<Z)&csEuZ+h<rc@ZZ~4FICJeNQJRnb+K*T?<X-jY9!dQTxJt;( z#1%UQ4zpIDSgFu~xz8J*)%VwYk0}&%7&q31m+OFgv_Jz|e(}~N<>&QZ6S}gaoV1Ss zjTcV=BDxbPsfq%-a&v2bDvj@jJBqEWD{R~ykeJg6${Hm??e^Nwz~`MubT@haa=P9y z^_mV@A}}Q0pOyPCOsCK{RoP@;vaVd*ie8wu43!-+_Ou?hXlrgb2UyI*?2mXm)vtRL zjV)d$<fYI@^7E!R^AQ9UHUn2$%BEcBX7S16yK6@tp%-ABGHFwz|C&!uJb*(x-Cd73 z-_k3#YxQo7D^i#n+<5Mz>jvOj&_7|np~7e9fQ3}UP7!A9bAaILfea*&QrdS&2sk6Y zJrp^)Gk*@a_|fpQ9K`Un?bq9zad~sxC&gPBZFK87;5#K6(mk)f=j4%hO_cifV#onM zGbosOrw}`D>wF{t?`>RsC$f$q9j96^#{OV<pq6n~NOpy2tR8P2MYNkh(BkNoS6Pdx z3BN9=LEbKHB=>CS<;pdbL2djUTDTw04Z%h?PG>)~-F02`GJeq6HoK%2g=F(8W8<&h zf-f6Rx?;&Ad2Q$&To8M3RHxo^mXO4s*f5*I{EdiVFSV$61NSo1fFs+Sdi46se*)a1 zBs>zWFGr5&*;Vh%dhzwJJf~?jj=@J$aS6`dY_gg<)<)F7VL9fl_oDjjl!710RI%8> zPUd|7(xj@*<qT)i+Eb%!1ooAT1(T@gs%rv<?psx8_{NS3f_ir*<6}(}XaT_ZgkJHi zke-XD#l+tVzm1X@*}nTN6^k7CGh283&S_PI;2a}Gcpc2cd_Rbf{-e^qrEW#Ceyh^j zc<Is|5mhn2JeXbQvZr9DHUpsRb@{;?-o+lY25v2m;py{=s^p{KZR?Vg)Ha^-b3ndp z7zfU?Z%;F*ds4yEW1CO)9B|`1E2RipB;n9R9K)g$ACTp~JZ}Fa9_;%e+nHVQ)c?1- zTa`O1;AhT592Tz*KNdhAn@<gf9XyTVeT47HAGq)ss$ybh+lSV_SUR%?46Zl_*j#-@ zmJbg>E#expS^F4D3{36geUHZv;V3(Pb!UF}=R50M+*SVp;x62hoc|L>k9?SmhyHg6 zJUkov62{YI<~4fZvDzX<Ygt|0iqmHU3}om7lAGaqq~pw~a{%*OL06ZrJ^I<s^b_%R zRnB163FI2`U1LRsz(DcQwp;rS7XSU$yMJ2vP2b!T_2-$n?%hL3!DY1c>+!alXmnLv z-25V<VCjLB@-kQOTYFW=IUt)bT!5b>qZdw?XHawf6yo02o;;AsY5kbvW?c3o1@#Qx zNS>JhAXI{U6Y`K$OGMjkP}woaV^<Gt93k$qk0cH@SAN=a1idx!umQP9)zWv~8Jlb~ zen9{6#%SJP@*jw)(&X)OCHXnrb(5@lf+Mt@n+@K{X%Jbs7Wagk0aNTKye)SG#@Vg^ z?nri>n-}48V~#uw<m&08zem3|?=7S9BFSyU41e922rsuFS9)5K#p{f6dS|a)hsF2O z5Sa5!dD@`iBDa5@A-Qi^Tg^wJHkSQwL$6gDT)CNNm!3D6*RwP99EieGh}9JRcY3C$ zVk&3;=K$$K<gpE`fl=GH+xo3~naUqru-yDmR(D!MZK%fqHE;0b?69(ROpQ5&Zwm3c z8YqUKI2yz*b_F73PGiSzt;o=?${h~K4n~CY#cT`T(8|bouLg_gq8(PxvYS9e*VcQd zYeViQZ%DOo8mb*L7Jr%wH4P&)c+ALUb3UL`E1~*%8+moMDvtL*<3<DY_!BFW|I4S> zmh0UF&|kKE{Q4{@5N{Xf#1Z+@(N(`;e9jPj3dS^1yptVeYMWm><ZqA0i>a9fc9@uB ztXtn7ZCg%kTWq?5ir?Q0A7k?XDu0;1d}EIei+X*F4yzxs;u;g(S*ih%_ghuQ_K#?c zQT!ktp`R@yD(u*{1O$y5kxZ{f4Z!1Ben>oG#Zi-G<V8pyLlTD-hqP$8h_{5n&0fFQ z@7GrE*)#0NV0b1CEDcOP8qT3+Hgi$<yh6wC!iPW&<K!gD?BB|w%A%zf^XQ=}>-iD= z1575w%;eFF_jkqhHWS{xs-a)mh&kK;NOzpwO)8fwno1*#&!Nq#;X|jqzTv4#rscY< zRdVTKdIC3Gw#TgPcAX3Vt-)NY|BdR&lwEXENLx{j=aWb&6Zxo86n|p`C2ko2T)y3r zvh&B7@NG33mlb4FHPwF(*je>db*q1;I38n?LKI*dDVRLLyMyA68eqk)#_KE{!(v;N zg}($queEC>W4crt3@l%~<ls2I<kPcqp_NIpOIJLspLG)9lQU-H>0Z?4%vTm+922x* zn(UsQ=%eJbRh5jw7nUPXHMO-vtKSKxgJIp*V)@iUzVzSu$~owN?MG1lodG-|j-@%T zu2{dnDy6cBl8j21?{pNgvD<zzd5CyON!4)oq3+4WDEcS6$tTtBO&-0>9O`YmE{l3D zT?jxTZ=X4M{c0GkNsVS7G?3)s`Z@db-3!yE<ZLeS>Xedfk8?nCbN%G0IM!v+D!tAt z(!#u7_h3ofMIM4I@a%KL*gKm{WQ#sU$bQ)r#fH|z^xWc*Dt!fvoYS~ozY+wXlVr7a ze`y-@HV@&RD%79yAoG=ZvmP)6A=T+B&lY8zni(6M-S66ltV_$OKY(Q13XIUGOXZKy zOWXf1ksl-P&enuARk-<RE(W$TTiY$qCHe%Qm7@}HTa6?tnrUQUCTRQzXfxC4H@@XJ z@{B#i##*yP=$XVq<XzttECv)1i%-|H8wi#P(V6<N=eHpy%y{kV1NH?eWTw@#%I;Mk z6mWWQ;L*urRQH8A=N$Wc*iNnMOrR;FZz-gijl%8it@l&<k-lc$CUB*1_*Na1ET~*W zKiES}{p*~R@{+#Iy+9frnidoL>-|~T$j0;&UqUfg+C?G$U7gjYmPLWP2WyQ;-hkA@ z07!7isOP=@#YfOO`7KtfPZerf4%sCbv#>Kz4DDQJ3yinqT?2!gKO``I9}=x#ykzj) zdhw<y(V@TlGW-5V@6<Ov+~&eksaCN^K!LEet!kL#HJEt*;M$*Jo%zg(3D%PON!eyJ z7$W{zCD`NiTkrJ*UysC=0mgu6nP>8%;lio<ORN0$DFVp5`+||V5BE|91P%WN7v&;R zcr@Sm>*&|7AN3m>Wf9_9hLBjy+DtGrwePjW%>oyDmhKe|{z{%o=8T`}bHCn%Qi^!f zWn)$N%og&+&G?BNz7W-0#6l1@0P3}BqvTEaRFu!ZJ@E!k#x;!L;lFaX2dyLcG<Qp8 z`Ef@BbQafM=jHjdKoSZ{Mcczuq!7V3zD2bT3~*X1>L_-iMZz`=aCY|5ucM5xw_-6f zNZ}NJYe<!H+uUb<OrlJiX}b8o!5{j!@5fp_(LU269s;qIa@pK71I`M4XG(jAQrU=x znsni<idOjSnC!aow-)>D?tZCw*&IY&z|_jXbf4^(+ek5YQJ<&$*Bc(ZXzBN=)!x0B zNUv%7@+z=bAmH}KX^zFkGIPSR>$vN9QcN@Lgq4N19V!TX>ohQj>tUbi>Xy`5Y&oU> z=5TA!afM{7<u8^Ve*H1w(fPv%NCd<!M!*L%;x4eG5^hd5NborQnSo2Qr4}2R7Mtgc z>36uw52hC1nL7f?wBp<gJT_qQF^i8(BXtu3j;fc~i!gObRx`gv)T%toq9~EUXKDP{ z1fS8{40LT8qBuE+?MG@JTOlc&Pnps#`wMKt7%P;Co|Yn2=YWdrz)Huvz6NG*@s?JS z1dwlP)pqNFo|&h#qF6C9Yx5|Ut+tbOM7e&q{tED}Oo@ExuZ&mTw={ocIJ{=n4sf3A zd<D`?dr(kP*6ov{GbDTWafI6tO3~F13E>f!DlXHl=3&V$H~knXdj+YqpZUpofUS~0 zx7MxCT}-aC5rMQUY;1_kI_koO|6Y3fpO(afv{@eG9jVwTzQFf0@9#91YbDJ_zd2Y= zG0pmiwIyX*)QuZ;OTw8Fsu#Do1%!VZC6|G>`HPai5!`gzoUlhpFUnT+yg~j~1kXfj z(nQSsztr*F8Z9+<O!BIDpd%Hw+w~Tt{DfzP^Nw-LzvpaL#kx$}GDY)z$ln8(L=^3` zM11u$d^@||xxOm?3j3IU*KBJ*MMJynQFlqrYVuKQE;5Fz$sY3i;Se|27}<pI8!yyz zSA1^Jkfe@fFX+5pJg#IAJ@;Ow_CdP66kiX!7E_GsQ7lr{iYd^|KuT8}>ZtSV%@EeY zJJ?pZZwBbQqFz_Irgf{e;la&FdE;yWM%_2VMYp^_!gr1fik+Qi(_rz(xpR}iYf`OM z_||p^bKTW4JuB?5{Sg;F=_?Oj=;fdFahO{cNc~7;%hbSdWRAan{VHbBO3XS<maC{> zd!qV4cMC1`GsDa|F6}|A(y@+lq!P((vY1h`Rja?esH}dr>HWC%Z=892s_YAQ*37H0 zw{PDk0B@9U_FE1L4lriDE~veYOP{R_;3AJSq*B)8PTk!Famd-w`bXU=+21luG5P|W z2c^UcXEEQ>`paWM87mE$PZIj`Q@g%In>}>$&@>=i44E0YgdbKCnlu<f4(4VatRbJk zH5ANXkIH?_4Q`K?1rV%GHq#egU{j}fT#M`kXd5$>hokcXj+|n5;&7F6XxH*G#yj&= z<@P({lpyg<tTzc6Hgy&sKPXim_-SE{dZ?sntSe{STAhj7Zqvfe@94qf5A!aZ1Kd5C zEH}Vazy;{Hboxc&SGFCoDk9?RlbyJdr`Q5_!~e3}?__+};{FT|75VWf5*oBKuH;{# z_o(tDtR5z+k~RAGK94`|S=h}ai?I!qdRmCnVxD7!<)jiweP%pr%8|8r>oG!DGgZe2 zyD>fNU0S&Xa+*xb!)os!3VqMof)<?N(C0n(;%!9^`A-cFt*nQvsn@rmDra|4RN&ZX zj~}M|-|MK3h72x2Ta<y2uUagw1Q+%&F`vVOWCNTpp@QXq?BJ8=_AaaLwD{((Zdf)6 zj8+`V#|p5y(i(c+J@I&EEKk{q7}w}N`5e$2HUyPlq&0jdi)V)0VVr@bDLE7j>_?6& z5Ap=s&K{!b7PyC@p71Uj=Im{sG`qhyV<*+_)j`WRcD8;jy**Mkz3ZKvO5+1rXwnZQ zCWGOr12DONYZ0f~6Rt@8cMiBaDwmf>T5ex_n~oCmTN{Uy8pjtmo~Zp(e=%|nup^bF zBu&|zkytu4vHbXL{MIRM=f39+EK5R8)DH75tZ;tc(cq)20PEx9fWe5pIOq)TlEGoa zDUepq9;ila9VeUvI^-Sbu9fRB@Jci=JdfsT4TV-jO^%rx)ou-%C3hS;upok=e$4AG zE1p}bGS&xYXg<Yv3pq`qWQ26dPI2N$f0O!V-1HIa_B<B)aL`d#*jo9hHKr^?$nlTx zIpDK8*BEM>Mzhr&va{TYp}Mh)oHvJG?f-eC9&g10f$i6f2<v5F)sVo@E`|<s4iyPP z{J8&v(Db7_a~9Am(_C-i9Mqdz<12-y>k{^q395r&$JDgq%m}Za5e1}fzl>(y7ePh> z87{&MHCUn6bwXo$TEGV6Mn1<*arzH3fSMvEhy3fjiEc*o?(=yvO+WrM4HX6-Fxx|G z(Ko*>TC*wk`}NpUG_KSikz-are>_5+$d<XOGfl_o#3#<)AfNuBJ${Mfrn10s=FMZP z&U@q>g@xdNHHvG<IY511<`5!+Bb);mjF)ZijPGZQhxWXo%HTXhA$}6mCb8+#sLgMB zi{Aj=pSpuO&H-=YybW`0&H?b8_C+}V_8b;jj+vZA-uYZf_seMHr39((Z(I;megXZ| z@H%#6=p3Mpt>4+sRTftY9VI5l92REk;~QppIyfzT!3Z?#*_$mt%B_xjmE}db-vJQF zC>T#!4dA`XDafBkqWCH6=_&gG9(?E>mfVDdLROkea6q}E?E}?l)BD`0fCKqkjK}os zq~BV?Rx`-;;qT9cHi|dfSoIGBN8X(nH*X!?Z8oxQB`2Ee`8ldwqX;({V>hZdGsZuT zqRs)h(p8CrGw16o53+X*6jgFp*UkY`Rcn1S>j$2M0tI*Dj}|}()@lH1m=iBM<;Shs z6`5-K@yP-g^-b9O=CXbr(CG$reV(u5_q#=oZmb|-9=Q@^Ua{D!aCuRifB(aW_?P?L zK?l{PLyaXk40(Q#kjm!nGp96za)-}T_<CBNF2+idf3;sZi3^BdRBPh)CU2BTXGS+P zyMtl9i&cyjGuGDDw3d1D9Kh1)AAi~9_w2`v_sSROMnIvDy{Q`eL)%m<XgcX+PXQ{? zPeCuR)e{-k7=sJx{}ndT$K<L$Rye43BUu>;ADsha_qNJrG;=aXEdwAnpn$`$n`6)D z5t`mffIbQ|*L|d{(A?9yb!OA3_!2h{I*WvUo*&VXsSWUWC7B>OA9vDTi3Cq=OlAoO z!)>XMZR>NuCu_Z59RSJcFf;^BFtjD^o&%)ZOrir$X4Mz(jNi!<Gn~}gAJ$qloTF_( z-hIgwzJAiy6h0(8&|P2f(<}8^2GVd)Np@j<hGdLqNuK(#fGb(PBv&r(hT7jVii^J> zd4vdEu|NeB9pXI2!j_nb9jEW`&5r{?znEVs@R2iFSE12%wDw<8S47_vb4o>JgUS|d zgbJK)e)xDpVeKQc`MQ)cZ$~{$(XJH<Je?l;EenK>oKElC*mYnP&ELwA+J_$xU_L@` zXsK4z$_j|(wpP|}{UM|(Z`RiV$s>{zWXS@;ukOE{BHe-OPmX#pnR6-wVE7u$jH)Rn z2Ck*%W&B#VWgoqXTo!+F5wxnZ#4F-|>K*4^AQgfP&fYWfbT~lT^_YZDv?%5;4y1OE zz22r*@$KzVIOut~;A@&0;7<NDVT{wDLRZ2d)QMBA&wqEi%i9azXb27XCb0NAi!{=G z__KO(sZDX0t8KVAt-;ygmR)PSNG*Exm@2sExI0<Ub`0Z=Mg8V(Y!z9(cF7SEz9p#o zBsTq{5~jz@*k8`Pf#QcG)tug7>sJ5+xtp?Vp{tmhQ{owSAa5roI3V}Pw{3~bA>!e5 z&raP9X8KY<+LG5vip40QKJ!PFJBb_&we#L<%5hZemzop@#jaP6V3ZA+j&*zVqh%dT z{RM2YgRhaNmwf;noV5yW2TRwvr&?vzpxC12WOwrhGO;Yxe-VB~Zowf&!c5JJ-Rtp{ zZbJs-^NFAIGLIVI5?^WUpCB%5SvU<bNj?iIjG9nUT;#Y~Zgc-ls+TqB>IJpE<=js( z1k)pB@YNW{{^hw5H2Fq^KW7qn)Srrmw=8**<rg13m&w225MC>Cy=l=m&D?{{iJrkJ zs9QS(?MdZD8avBBq-@FTZBd||+4$8c6@IW(b8Yq03vb$9B{--)OT9kJcA|GJoZX#4 zOu{`_LO%wkEaoX8Mn*yH(#3)n=NUY@jK997?vMvfAM=Hyw0fW4?##b<sjt_pN*q6x zxmIg;|Cv#<t98W~-t#Ei@#r)8A%B0p#}k5Oe>kIZ0yD`Wf^5U;bwhJ}c+FP7KCX94 z7h60I{k4EFyb<V9Ep=u;a%p%+xx)GLt7+k`>~~EgvO|yRsb}spG&$}@9%#%whq#YD z2M|tza)D(owwzjtGqqm7N(JBE<BoY<UL(jk>hm0QKl~z7S{syhaDuM)TldZ3=6CI; zRt3c47eCV(O(=cjxca#7q8F`VGA;pr{`$rKN+b_kG;0b<0&cABgUt_=h58MI<fv>= zRq%MI`XF^Zcf**oj$>PGfrBPB6)rOc%+H<l<_m0>6n>fT367w$&RXdp(TlJjzBY$@ z78Da<N}cfmZ~8gF3jX)lui=z<B)Iazp%~&fM>|?=uB0u!_GhZOrRq&Qp+2jlDXMh3 z5@sc>eh--|ysll}#zA3LoVDnG=-!Yym&B3@Q)v0U7$3fKz=pYxD@;WB2$6XbHTwjk z^p)4YHhBBZ4fUtF6B_tOD73Zuv8ec|s<KGTJ_!Jwa0s~P&oC{-1=*j+R?kQ2LA6<^ zRj1eG?|wN4q<cY$dCO1Ki|^9t$4;mI0W`dT_{#R>)36-KA(L<XhQ5R>uif!G#m03a zc*c6)1;Muc!$;SP?j$-%@koeVE^r%*)IYtng||bJ87RPslhq~u)9AIMi#@4(MGJtZ zeBM3y<%5wB-ePxsetc>@BqT<}cEhfAlO}zpL-*8UiN`{5^}se^m)haDSkLn3`;UF( zrRi24tzH64UX9I9SN&zPp;N3ow2c<;8QIgpz^f>e$U?H3);5yNlGSym86F-YwcG6w zqj96-gum=s*Jba?z>Cgw0dc`Ol4Xxfj9Rgn+L;pyWvDi7wkWqEGuRrj8FqYZOnjxU z^xzNZ1V9M<SH$(HM|XGi>RK@oy+ncjQu~T<7lF-FuMhRKv^pt9s6H89iZfIXD3QU= z4Fw>{7lQKk)zQ=|c3a@6;-BhAm;<|Yml#p}CPt&R?Z7w(9wbi*PE;ij4eNNK^7+F= z!ozY@W8YJ*o3~EkU{uc)V@Otq6mUA%yBn%*m{0!KIFW6lM>+>c<n+g?{rHtvS1lRQ zv3j6#4#*WwvHq5XNTVDu4%-+9ld>o*<bEIh;2>>AwFRzFd3z3GT)md12vtK7&p*~m zI%*Db^+`#d-+KQ}RVlJtp$CM9|1q!9R60D6%yQEgEXfH$)90acDfS9qvdg$u%hq}r z)`OWEWn1gR(n$}u)+#K}B>SEaBT9+c;SUauUd0}cQ>a=SqLO=g-W@?$ql7W=XE$Yn zk<zs^4`hMni>W#7zP#I%*#7}xjp67WQM|Z40^q@ml#8jRwR%ph0^6$AN2Jp*7E+f_ zG!5uP>F9BM*|`y14w?Nvtw=^q8}77Ry>ZXMX+(qtwxXFY+mGK~4eiJK>u9aFDD~g~ zNt+h{c3q4g*)SK(`A4hr#%=?E7dq{XX@lfS9$Oh1rs>F$>-R8P$4t85(HU!6@jFTT zq}2C*CT2NKKAR57ld&;P_1n6-huaCQ)-Q)jozWhg<%{g+zH6-v1MTGJ&g$PEW*VU- z#9Oz1JQ_JkpX;e=_({1IG@?Jddh#a)gb}akv);dIN_9L=v#*_MCs=R~6Gv2g2*-b# ztX&04&hGF1&$nnT#Hh86b2x|TQbF5j&wjzSIt%E`9b&yrT#+fBvinB4&R#I}xX{P` zL#G2*81Fb{?bS)LPOBaKhYU_%S)dJ$PESO;dR7vixSZag8+pT13{~L@lLeNp$%03T zdsFl2Mr)@h|NH~YmC*f`rmJy{Yu(<+eJUc$?NlV}(r^8WZu2!D1TIJc`TewXXKyz% z>JdZc8a|UAsdiWX-9LpQdP;2M!$g~am`NH7;xpz9wKN3*_9Wv%YbE3IC|=iJGzI9u zLj9<Dq_=J%WrEIAL`+$gCr?#&`Hs@6!s#A^p<7y}&RRA8?5iehKa@sklO?$IUe&b& zo4O?<V&a%p;>Qn)!4tT=L^pT?(rpV&V<dk9+ZMUX0IS?ya=FJnwyh(JMheIQcUQEJ zjh?a_e1?LLtL?FE$pQ`DY+r074Kp6{p;vW{T9U``2n;$A>{&r8ZG4qAlSCa3z|zJ) zrFYQNnaY)<)U+uaQRZ6~CQEN-1GjG{U0yR;ZD?lJt$<G);r^}PKS?X6`ojen(`G(S zg>`Mgc(UJaG|$(zZ+08`2*rlKNg(|hJA>9EvbxEx-r?SHyF`4O@Y97Xy$|A1JBQLN zjLUe|wtKDmn9YFFYd|rz5vFaY=@BoKg&=rk)-@AxH;`RtuV1{_v>~l+)3&*|P_GR} z3}f-y%dS|JE!)?bXMVQ68{^3_>|VEG96L56y{up~#wU{}!fzce=%UEC9Wjx>Y#(k- z=Y>McgZ$R^TW?wUdQf=bcAfS|<+j7VhcZ>N>VL&<MHmwG-TgB6^{P}gEyX<^FtVa< zcj`Rs_Cme6f1>&1n&uOJ@{fg8b;&NabHH@wv7nFur;VL84D9Z&b9ln*+&O*Mug3fv zA<1^Mn`aNtzfBwfm&dhPv5I+?<ZkrGYP7ih_oA{Zr>1sa2vD08_KI0-gdN_$+t?#7 z9ISgg`Ww)8tsWQ3O{DG6Q`@UoA3d7Lb_^)0PHWpokj77^53X`JCEYpWt`K?A4)UbG zorupUiXXV~_zT*L$FfgcGA;z}x>X$fpI3}uj-}0<o}QJBs?27vX{o5p--=0p({aCl z#q8ZemdXf7Jt?*xozFc)naX0_qa^fRt!A^yIg*yXmjG0LEU!|L{P4!+PX*h%<y8s@ z#)q(nQw^xLmSL<&>*0E^SDB{KC&I|k)iq9;DU^+6Yts0(GW^<lCSo!Ld<WE!=fdB! zs#3*;e$1G-rIm0&ZYkh*-!dFDcuBYVmKkf=P%Bq<w&1@8TZ^#JxDb6SiL9hNl^?j& zCi_SHY1Qi^wgdX&lf$SpW2{0C4yNZPd@}}lh36zD<_cEr-G4rM^syfT#r7~Y21d~! zG=EUKM5`Hp&UO)Q#u|iI&h>*?4a^Aj?JLR~<f&wO>kbcC%MeSp*RZ{-3|;y+t2uyb zGf)Nbng(aN?Zi9L0@ri;ZWV|&nt$obzVkXN?L;)}u8;f7a0pW8OsjXRWW!p}xzH9; zSGWEhVIVSFkko9uEEpux6e1>fh%&(ZdqI_$C`c1&s@hs~?R=nn^I_VXgl~6}1RjfO zvwcU3wd%gT_LxxieZs<LS-(wN7vs}9_RU5W3PXrqsPeyK)Tq())L_&ouKLZ<n=#O- zr7NK!#RF7$%jU1Wa)nquV_N=&-rsg9H&;1ZMkIWNd0Tu(xc*I~nCXuDtP&`*K-Nkk zgjVM5S~g+A35SU=HUpU@vfi2I_~=@NHN4X#xKGT<#RQzNd1eCe`T^YQY%+iQl>KdC zE}P-SHO)x5f?_obh$U!z91O>=I=O5Z2p4O)l|8jl<-zTp=J3t{tE&0*6xmiq>C^AU z;!>3V19Mex&EO^j;Rfv5-MgJL8?L_nrzm{IMhQy#V~(X+OAXVjxLxmNpq;*X;*5*G zm1A`>LpnF5vuIpeQan*c<Ea4Mqs2W<#;1*r243tpaas&f-;QRJM>nbn^JCkT8Ma+E z0{=gwD1MI=mUQX(fWz@nL|fc?&vUWrn1**%SPPr8ovFQ`MBRSeiunzxN>eHRxc(2} zC*j7bmp&EV<=RP#PIm1~^z{X;%sT^b|J!$r>#8&qu<|xB(v|kn73by~@ch=2q@Qb7 zIr6@?0GIP5ZGmIyBP;v8BvV7b?ef9j2GbMET-OIH_NTK|)tm=}^8{IQTM^)W11!%l zC&yQBzty{vhRs<%o=!Q1&Ol7=s%+`MQ^f2;YwOy-FJ?=}nm(ixddQIGRR&J)Ud|6p zI`qT2w`k?y;WBnS6WBwvut1Q9%LBi3>l-A^^&9EPim0zx`Oi^?ZxB0g^?hy*x~t*n z^(BdM`D~%=z1ip2<R3fQiVVeG0}?5dc!G%P0|FShHQ&FIXXTarCOxKLX-JUsw_Ru^ z<Zy~;AD7qR+r2LX+Wp=4u5HmtK-&TLVDRfF&ZB$g!vsJ$jK+3mOu*5rdViZ!k_{2W z;ygWaq-aOdQMnp;N5G{h7vqgArdagn{{dMa6LS`DgdeD^z}SdOlCbY+p?`AwpWjQH zaUuFG!X^=(;2gXFYLcdFbjJQ&a>^>n4|46V@^9U&PCc*)n8u7Bd^?D-eJTg%d$N05 zd$q+0{H0|bb$e0oJGnvNi>DA<)+MtFZ2Mc0J>BZNvg;5<%Th&O;e`4zYkW}?ykYR9 z#pzvC%4%elajc?&{I?W)m+qoefr^-_A;CUQ%Y7Y7nEj8MhK~^Kg-ljt^46_k@f^15 z*Mg}Wkw*>qKSB2wL~om?e(U4U6Q8$ZX7Vn)Wc7*9$kaE-vacT|;zhxs2(FMJNVyKO zstUwqbIk%RtWch`T*#>8U0QgXz|k)&#$IOP<3q@{8UJKI;Iy2Z^ZS$h_^{YY%t`(& zO-UT?4M)y<(*zGSi16<#7WN!Y*+G?&tIo-DRq2cS7t1xqjk9kV$V><Zz`+8ZsFnEi z{4d>(c@{9siKsf%Cwrl(;>{&6KhE5ECEdcWDP3O#hqcD_NA|I-{R4@C1k?L3FWN_Y z-+H9^oGY2QV);O-yy?-1@UK}JsZ(~V(Uf(ppMX*Ogt3uDv|Im>j-8Ev13qrn!2T;- zqjZr{DctzXbPbo4Xy7^wI!Z=l>d3M=ifG6+sk5knk9@9XmCj5W<k2BMDnm@%K)-wU zW|ls>UR6wZaU?9LJ!5uQF6vIOuVXsS9F{6C_kl4sK7Dp8^2lIx1-0?0EO<LO2z343 zqqCP{S4xM@f}@MI%<F}ljlX^S==)JeRsyfnX>$v#l4qgqfw&yCN%b(i)KOcsb)mI; z=KX%i_{xX+%}WL$zZ!qtxE}PUvJ~T!t+=M3qvRF<cEyfaRa=VST&<=i4us!T*q7>* zkHKUW`lbCQZFPa&`bwT@<lSb&3<X-AEHmUyy8PWjYw0gekyuM}S>Xz)3Wg`zTuQ9H zGdcexAC#JLR2r1;dukyv*Dy|~4fI^_pN?lTMH6?wz4BhMYD5<0&{%5v^Q1}p>#!bo zt|F}~)>-d&W1D8ujZoE?S-snQKiHQo93)vr;gMEH5FEU4e7EV-WA7X-W22TNSA;5X z+)x!hnjML1DOu2$JmG&I;bMapUore1wkv;`9UI7h&D-vIM3-=4Oj>psth~9lHeimD zL>3J^iM#zD5W5Ey1JyUg_Ycje24@EpL*#P6Kz~=E&wJRw?Je>5%KV?*o#S3KhJU`6 z^lL#XTLko`T0!<GTRFp`<NagOPZF!hXoW$sqFgJ6!&YKaw%oPCMqRyMVL+(Ue&=<| zZ4u@zuf}pV7t><Sjk|xmU2V5i-&B(f`}oebC||?W<+r%cBtq^TSGV(;VL~L?qP}!2 zxg8gFVpxu$U6;%PzW>cL8?Ocd6I0}8N+RRH7oe3tk4u*xE$$k5L#^_ePUT@L@3ENr z>|~p%OupmWC7d@ucD?tR)mX9??=tHcQYaSEjA?pjR9stTnB+aTn*_o0T6c>6is|z0 z;aXrJju;kuI?n1K3(S$P@yPYc*a7?dT=}cqzIlWZJJ1{{`H0Gsa}Iz_|HI$Cr>!tU zg(?jusJ&fv{s-;;ezQ&|?oRgUT?5L8O$%Sik%73}wz<hlJ5kom6Pyk9?zmP3ahyz! zhOg4~AFW>*G6rKBb#;Y_<X*jg2Bsj=!_Ue1(9<L$f3{s7@a{?Mz5sQNj7@U=*L-~- zQKW>3#jCl*WT5DdlhljNKO5$XJ)A>XQ@Os*IT8}Mm`!lG3r6n{GVs9zTKQcls7%&< z+VR$Y{$#u++gZL<9^ExpK_U<Kl{9YDhpXxwk~T=i<v7FcbHImKJzvDy30D=hO0_}9 z&Zxcb=xpY&5N_iyy`qC1*`}hti~LnA_9?BxG_7romu<zV{yRgnTrrS`5L;8x((gsS z^|4BBE1Uxq`j*ItWzk8XQ&<C>L}7qb(aX2~`7iX45(+h3{cT=UG`UU0*&V;<P{Y-K zdZG$uIrY*SpNrKH5Nybk%0e73z!laR*jKUf8}^Fbpi>(hWUJ|!j%S3!1-0T2y{9qE z!|{2fqwiQ(RX<zk4%3z_)r)UrUCF_o)s^C6sDeVbLKEie*Li2DPVwoaBMt*I+w?Jt z7}e13fl*LsxEv2dJ`8I2Yh=#4p%qBg_(CM!;s40lVCeahM~h|wt=mcZs;{8uFbiLy z4W4(9^cVu=Lf)!r0in(cYHRNkYDcB_+^2)vYK>g<>t2k9&mNW^`Ve`0$PrkzbHEAB zDv>n&TAj|Z@YZ>yhp=~$|7^t8u4hl+ufX+NXd5h<g=RJw6Ohq4TB39+AGK8#)&YXM z43`nF3||z`q>=qQQ`W&fb~XVg2TBy_Ztw6PwF%6FS9<;eh7^s*K{#lq^`6XU@gh5o z_0!X%vp8zcZ}VZ3#9{S#_C5xNI4LEjm7IrjiO5zI;($EY1N%HEQB*l^W06YpKK%c4 zpQ^n4#`#Y+bC@qK7w;~p>kbLoM(c5p_KYVJ%ngTif6s4~Dl3rB0jGaqGw5v!EqHSy zHTs+0yltEwxxd!^Re5&vDrJ*-<Ye@&PpB;geB$D);$e@9$t!ohUlEvjiC5%87$`nB zM_mmn5xf>D&#Q-@2P3xZN8sO9kj=T7mR0g~CqXA3K~8mlb&6)~8ImB|OS$NDL#uVz zRfM~>jruT_NB`xERe25pP~4eo6XCQQ5!{}Vz<PU0@Zx_>BfMh`1WdX?Th^QYqM}q> z@YXqi{?s`-Fxjq|$K{srmZ;WHOoI0a;W$*JK)6qWZ>W^;kg^IPQDmqsBdqAgNl(Fd z*NW3iz<K$-3`nHC!E%R`!B$l$_~ab$a%x-*QHbPMXJY2}Vm#u{T|Kdob-pB?lv=&z ze3CO!HsN*@fYw_(4s(Xu11o`Vmgu=0zbyOWU@#SnOFF)KwPRDQXn4meOq0b(*Qh=j zUqPHHrtp<~p0~sny71LpqOp=6l{D9Ay?e|+4h5As7Q3^AoC@r(X5h9~RZDq2RI;3> zQGy<Sfp(rmH>&Rvcc`YD=n4+~krUOq!*Rn@(n*YqY$V4XW;}NJ93brNs_HR%T^Z7> zt~@=GBkMnG<Qtdav6>rv!xhH%5ZerKU0u=QKWaXk8M19C&;K6IAlO77UwTR+Re2zF z+$q5vcvuA#MxureGni$)5?-9GCX>;f-HfEIh>39>@!TR^lUT&)yr*3nEW>Tf4_x*= zW|?KyK6@##k7uS^r1pyCjC<%7rlj>+cJY)Uk&0#+B5_(HogesI8D?aN7<miH3sXE; zeO;0UhyQcrA4koAP#ZL%O+idguQ_C8XXnZ?%S;r_PxB^iSZnHtD5E!M&IIc_F;4|z zfu3Q{K^Tmo+y!jN65jx%SMKxhjiXas+hpD=fw3Vlsp%(Q$Hw~bek=1-=ERfavv)4U zJD(8`sbl^kHxq>H_kk8~gccqNUaDyfm%rH&F=9E##_Koawc}RFmPU~Xi?1P<2To1t z+yCvY{hHD*5w{`^c;+;Gg+I>h1AvG1ZNgJ{O0;j)qZ7m${5g@uZ>MEwt+(FpPM`lQ zg+Pg?-mY^w4N1RSpFp_T(pbP5^s2w@U2^sv{tw9ak!QFzyV7>JvyR|#7!pZZ2?>zX z^%ro*mxWkwAW6r(B~go;SAeYg<-ISx7t&t^F9}$9FYIR5kcQpiSi#ZL8ED3GvjI^H zbwG}@qG@f9KY3FMCE441(k{fK!f%XO@aI}9sA_7MT7eN5(!RiW=$*cQGaYth_4=>b z+{TNC`TT?{*K?n8g-Zo?dU=8Wo0v#S`qrAKQ8%lb1$2img$-F!8Mx)c#fnnHCt!;~ z3<Fz{YkczfwO;_ZigT3kEHXOUeMI9JWKt+F4z!Io+!)kuV|PVzUUjQ2bXcbR@?!cV ze&wDs2RBESB7n(u9#6H+^sG9xxKo>2od(|~!)b>4Xw<?~qJIsiar1I+*h?;!;rT^; zxZ&We7yGW2QhGFE9D&1?v_hZRJj@&w1lrES$lT=E6iTk2Nb=c`)tb4ZI8%Xh>8dBa z@3jT`y=#$Tkr%iFv3>m;VQ0Y`G<DEBUr{|0ZDUSh(IZzny7SgSKj%kVYE}dc@~zdF zWz#bHgy74UQk+qeZ@p9dh9xv}(;L3xh|Vv)_Tz!Fo9Sf5y{In3Pv&>s`WrGM6ke9< zFvTQUfL?o0x%RZz2CgLql^Yz)i^rqw2G?P_#%rON+*W8+e7e8>Wd#9$*JlX<5wZP{ zRP(c*ILZF9lP|KJaB1*pg(^5KIKT$N6Z2?z^i9KPaF|^_H4<$5AFh${>9(4&`lqS6 zF;&0uvWU)s&FWUWdF09Ts<_Id{?{iSv^2WI(*8f_UDfh&Fs?dps>8H6ActyrN@l89 zG*{>fRQ0Y?qoz=*&>10Hr_}J$KHD`idNC0JT$ED=-(TYWrGA{ZzcJ*jh^*wVO!nLs zdWZc-v%VH${dN-QFH3Y4kd`R9Iqu9rkqRrk2}<6SS0n_v|1WwxP{#o36*{ay{`kR4 zNU@?}Y!mK@*%zE{tv`$T+9FJg8i>X>G8st5eT3zdSt$jPBWC=L!idM0)Q`28Ry~aE zk=xzsR%jQ(Hqr?N>hnW)P&EQ}HY88-Jz~OflH^$H^yVZ_eewZIl(3bS1&+!<I=ZPI z#Yit%Gvf2<fGl}@4j`4LG$qX&EKk57cB!7t=K$49hBul7k6zII@le=0*chpDA%IRZ z_GqORPWl%J{T+W*wL9H+uP>1`!zKfesw$;EvNx6Ydk?eopwbh2v~uDOo2U4x$HyOw zKs$Pe(FN{TL50+ZJA8lTV{!J6aZMJngrDr!f06r=ByEg~*1N_0kaLGr^a8Ks*WaNA ztrjAWnted}YUxw7TylNe>P9@7g|Aay3EUaa_*>K`@8I<{=XV6TY<oWTt=!ny&X2;9 zZR<whX7l-hViX9N)Nf{;lUgh!GlktKID_MQsWB=7KU$g{gx`C3n4kt$fBfQ)ciVLq z93+J*we?Jy6f8HpR&62<w*6ukKVQs=$5f9{8-#<3@s!Q+^|8IPg!aV`Ng>E{KpP|V z*|#<#@g2!kY_jD9D)LWrj%`-wCUX4U0qOT0DuPBt%H>DhfrsQu6VI!_;rEK%4Y^QV ztJ|e^p>ovfSLq$?IuE3NBr!56uV%9mHHa{RpZYuJ!m}-^W=JkOQ`qZXo{heHlt=#) z`+z@JO4%ISXr+W+n`x1I_IO&I7(aqUFBz{})}ORF*$&voFOw9v^g7E~SNOUEXUL69 z+`ChC{(tNB=lix+`b|r6%Y51ztl;{jeRCE2-@$wj)c6EBn<YR$&Xz-()W>Bfbz!my ztK#x8BK68|+e`!VF$}~V*vu;!h@G|0&|~Px&c5+$^~V8iOSm^PXHEg_Xm7)Vl8+n+ z&J7hvQrUuh@Pt?ILK?^Wez|2Je`2ooYGSTr9OcGXB+aQB;#0H!hab4z_8``TSC0K- z*qfNs9Ut{;ag;LM8ym%~>W0VO&0i0|w5-k|3gprL_tEtAV#??Carm1X_$;nWHzipN z+EhzA)Q%?h54KX;8ed%uUzWUondw>t`8kK+e%Yaqo%=quIh8|(1cXaXgx!0ZbS>jx zT7m3Kal@vI!QuN*tN6URwua5u5qA1LoVAaABYOnPF2+CYsmU*ytWI7(Btu!uoRV?N zZm=&;*iXKwhCR&<BCRF%j7M{Mf?`1!a{&<~0kcCzrJHnJ3BU4=6yuwmJCm=_e<}+) zgu)XZ=A2reZo6SO9xY1@s`khDo&zu&Jp>c|HNnD$X5!vCAd1s&3g%ffd*#ckE6dEy z-ort(`4kr9pO>xIGdoIUpEo}YMG!qR{xxufmb31M1Gs2LRM^KR;lA~8cS8(GsjSDj zxcWfpdlhcmLsj7(%XZkmBdTfP!$~~i?6lCCbqRPU!&NNno`(wb=Nwvh9Q#yrdx%6l z;W(2g&tv8(V0p31xZ#_1^8`;qTsG6NaV#7%Z<^MBiff2C1mUWvG<s~8ky!Q`)yAau zN3tW^`E==^8Z0<Z2r!A=svSKb8yKu=hOQ2LHh{%O#ZX(o)KnzG2F<&1AnhkGg`pXF zYfV#uQ2myt94<vO`=Nv$`WVQ<5(jCi^~J_h*TL%X4cZFs5XxB^%JFD;FR^M%kc%-d zL6J#|#sD{_#EW?L3@2kvQbd<&8!T#{TCX&utl#)HPh?v`p%VhJ&mLcm+P|;kYm2oz z2>U$$RbpYsGa}^q->j8Apr6?7Ba_CAM(ru=<&YXaE?zqr!uS0yPyeS?PGt=u(8A&f zYIC+nmaZ_*JkB{-tJ<oXw`mz!F*Kb5g;@R#1$W)Klnb;sn~;T+BvU{e8&NqX_najw zzF<UebaDOX1Em|TN$z%HTi#A_(>2n^mm+CB!}T<r8)A!6)qY~50_SfxI<k=C$(glx zSfOcfa4afh7`r~7o#c7OqNChT;8A!-C;z38ddZ?kvD?mj`82{-!zwvP@J@LgzJ8uc zcgX5Gn*SwI$@Fb&y`!T3eCC=QZVx;*K)v+!VO*%(>%%K=<leu+J^N&Kt!i)EBxWHZ zt!Ge5E-&ftH4nE1x2M1L$F1Dmtw*81_SEX`w>Jk8EJu>0%)PTYR}9P7x5+4AnV$Yn z_pjWGpB26>al9Yl3lFpTDEo@Rri&#eB1w^4{VLV6Z*QA=r#39><P^KQCRt{X{kB+0 zp%^Zx@jv!d=<rzo-{;qY{T%M!$%2J;)uig|OLe>aiR9-F2hb_nM_zrLjhEFtiq7&$ zCd6VPs^&Sj3-SbI*2lA`+>5u9>mjlghNo*jo6SXP#>Mqsy&-js+8_1YIK!qA`cGU1 z5~P8C{0{>hQaMdFK$bpu5#`oU^FtD*T<%A<ahZ^%ECf0*WCGfq5)#4xo|&2TRo%kZ zma;r&RTq8LHFOR5AQncrA(cV@eb(_y$6-~9yRO>08&jWP0n)$%Qzl)dKQwU|J5lB` zfhg`{s2ZCYXg!$dx@$Ip@#V8lPfg^o)ymNJ(Q9Mcz7(gqSd+1%cri&gP#58*Xpohf zE_IZd<c%3479-a^Mg5hGblF7HvZuc3tKP}1!~a7nZ7H{d&C~wwSqEJlI|;w%q&2H% z(;qj3T?Z%_TN4)RY!3FCYf8$Mq+*;Qf?=NEs?3d0(ZjP5HA}?Z$tB&uxWJCtSpFYr zTe`Y<6I#kiPVGOm<m1@wyZWQ`YHsmqQj#?W!%{P|gA9YgH@tagNLEO(tWmiJ_pm(7 zLO_dyfRO>uNUDfJ$tI?c6zaL^<i8u}<hnI=B_r{WSFAuFZ|MFL*RSl@r;hifd$|D8 zHY@|erXN2QO~qE*%uWsWAKJ)}kj~ePBeg72HPwLzo~h5U#aN<yYk=YNl8DZdp@Mmj zKEn5|bSXZD7(a=hA3pO#nPMJyYq1p!<OsFz%~WXW&mi1sP9^Ca@bE>A8%){k?YQmM zqgLMJ<c4pPn*o_&kzDG|ErAy}7#%ZLBw0WnsV0qe(%H}psB1BC*MtB3f+%(e;O8@S z_$TWjT;79%#!~r%t-nFKJ}cg?8`XWPlcyoEYknw^E;WrTn}ORM4^8&u2PJDP#OEca zc|AOs8LLqas=l4Z;8)*Lau7BL<UG$mrn`aBQt^n2yCK7~wPXDw;7LS<`MjQ=tk^+X zLrtPMu!!APMpMHshmEU`B}Fa7;lIix&1Lq!0nt2g3A<BiqiIal?Pa1v)j(YslB6<d zE4ab&iCZZlzBzxmbp;m6pL}GSPD_NYUK0HL<BrqOmRp(Npi1xP%*d-`&axLz*^@4G z*AAdpBy$V9(rjTn{hSTyB9s0Gc7*CEl&C$7Q#W2^vd~{d!?v$q$SpU|ZNTQY`&E(G zP7etA$^4@3*ZV#`VZJ1ft7Jq4gKqX(s|#^B`Lr7s>+iLhBVQT2qPOuONWETy*~Ucn zt@^(h>6XP{R}g{dMjW?m=}3MV_t(sa_V<>r-=5cBv`F~aecLZ~GK)UALc|Z>&CccG zND`)!G%?NJ?1m<T5zwykjA+<)(^GxH!D7z{M`d4SjaKokvUG6Ky^$=Qe?>+&_>G#f zj;d`O-pgH|?xvUTHN6$6S^+p=Q#969foI4%;WldV8_<1~)9>Y6yV-)msh%U-kezq~ zOG})dKUf#vA6vZUqAQF1zH?Ey%_`}lw&gR_yVtRez#g!1ltKZAqr``C<7NY?+E)4E zu~6D-HL*$V$5gM3l~UP61c#7P4QX5B-YfbN22n%lN7BlGL=}#H?TbEYD(GaNpnfk0 zubMu-?walS154oD*TQTM#zOXy0%^0z<koHC?F0P3_@u#&Dfm~vC0&|JtTb#OWO)`X z<}#LP+>#x-`e%`p#VK*q&bs;w#wt+$!4*&%1JbiT{=sa!Z0ex=e_FS;Z1!G1=Rdlv z{Pl&$VD;=YxjNT7I_B}KL$4!yp;Cp0B{u&@xKveHS9~$Vror4U^RJYOK=AiLQ+K^I zlQ<r;&|)4-MW2aChl!KCmJ?w?M&EWJp9*gNU_W_Yd+mEMvkx@Oyy-<H1iHdrvvg}m zODiPFF*6fij$C=B?ki+x<3PHXzxi&9PydnNoxX<?p)<cpYvSgW#J1IluOmXwv6T0y zqS;krqsn3<0c*>5Rcs(V<tEMkOiZ~H;<^kDcR5YynghSDp3s13+Z%&Vb+^G?FN@{) zg~DrgyxikCQ+0EBGg}pHC}m`e{e4^8=A3EK^&B^HWAH@zjIGR??y%9Al&i~MIILxR z411&!Wr6UxUd|{wc2YjA^U|k}HTmg^$NmHS)zY^L%KN_t!oaZu8_&(I=t}u`*Wqbq zv;SlWrk8S+A!{+k2L1J}E2O!xOhZja8Kvs!8I2P&e7yU{q@cy2C^|Z!Z@IkeV&Z-N zzV9FAP?l`-?w9Fn;0!mP`Av-1xe7dl`{9vbEWTm-uy)pla%!aO&z09RT+}RXQEoGr zzNbR}+ctE#WNNSH)|=jMsx7}iJI0!^_MqJM+S$H~FI<%iBzQ%kAEu?*sH9sE&>8FU zdeaY!m8%4J^!ahkD2UbJnqzr@%F1a_QA4Bre@dcPo1UdA8t0e1jk72yYPoDXv^kgJ zTm%sq@AE&HR<zeIYttBUEYv4$wQg4t)_r`tYhNIBX+J#{9_gRGmESF;CnSBOn%Zy7 z;~%urqQE)Y6Lpho<^Kmo*BzJC*TyX?(_dMZ<{qVHYFcXU)lyRvawj;-J;J?FDJxBL z<j$SB2apR~NM;V4DJlsnnR`!E5b5Rp`+h!`%RSG1&N<(8P&1X(4TxMo?*MhxAmxV! z5x<7YA?YE9+sk>YrSl7{5+Q%%I1u_aB~DkuQeq%KRTiI}{*!K7@Icoq8t&P!s&D!+ zBi9;DnW7&mbXpi$tVSKEW|Tq$>{X4ne6mU#bgM2Mseb&M8~Sm!usb;#RNB`t!?ANN zZtf1JO&>MoUg5Pz6&|!cQ1{Po(FDt1aD+GiIq^c9WQnlq!WG8Z0a!z5aK6ev7HF1r zKD%*<OptYBu`HzlQ*#A+s}$bAxVd92Y2(1B_1NsdX7QX_ql;^;nzRACy{uk&ZK$E9 z=TvSmQz2{kZN<Hb<84ClnY@rCBqlO79bU{dFL0!rhcGZEXTDkX@asA(D;OHKl8mEn zj+B)`Z9voPj1ETcKbD><3q&q)dfmEi&%rn5CyRgaKNb;2o4Hww54yBtw9dyw>qBDv zCttRe6X`NyGiUyvnU4#L9}+(ay>Q#7#|>Iz&_Hu}6IH_Yb?Di(H>t4UaQV?SA5*C8 z!F3f5=&AjlqtT^E@{CA7e&@1BU-+ed=IZ@n+6wFw^bYW+!}`bxo(iL^>=_@EKR_iH zjy?o-iP1615>V3t+LU%-;i7rk6aArQcY7RRU%EJgQH(5SqqIn{!=0l5ok%XgebWN9 zj-@g-fUYhaREQZsdXvT3O$jd4`q=Td+czEg1*JaSpDUPTiL%pP2>{tniyG5}C>5>t zGF$z0?A6n{Y&F0Xk-Pr>hHOG1!hV)R*s>SjC=!%pvgi>T(BsRj!Dh=PAHqCOYW_S0 z+TP+bZ{glR3|B5|jrhnEri9IRH`7@EvD7`QQiV#DBdJ;IZX;65pJMg=?>hC;k{LHY z4Cm0mTUWnQj-uwXL3Zr*jGFxeitf6(Nm>4M8u2*0MSj>m*#J485VtQi|B6i%$hgsX z@Uiw?rRQ{h8%jE#Etz7Q>>`>nxkj&&GM^3)UR!)rOw^6S7V-U(@V?--BQE+G6ldwl z-W7S!tXNz&5pr((7&feR!nZ^XI65{36ho#R0JL!G<q8L2_L+8(wCEcL^9AH>0RmBe zc<b@;MM(dl!~x}&@$Aa|>yE=?3@ty4g?_UAk4zD-b&r{TT2zd7_gnueKi;RbosKz8 zPXxi?XKZX5G;r79{m7e;l9^loSS)(@m!ZycS^?lkkU&C6oqE;F1!&27O~LdD!1FKO zEMeBs=kL}Q!^AU>8#&DDox|`D+AWt@Hx(uMwL8U_l8=9PE8x}WvM#sUE5%d4RtKlH zShdgx!J61BF@jEc&dFQHusB9&RYbmv$iW^{i(c6cUoXBz(>;>1^9cEy*@IIp*QC9O z(v~eSQXO$%ZVKO268Nm+ZL5x%`Z*??erEZ4(~bfuBRvV$7TQ5$U{*nP0+H(|ibfH~ zKNe5969UOZXLF#n)gdj0Emfg2P=~@kt=iYH<=y?ObMQ_$b4Lj|+`kd2YZc_9Al#&N znmoYJ3M?xj`rB!Q!|b}ZhqF~(8%DgwhST&hF6wWRSrL(u3RcyI4-bs(V+yU3P9jxy z)f_Ib@Ky`1zmDPW6+2{cDmOjxTp3$L9flA9Sq!Yw1rv6CE)P5HaF2xr@&GlYTO~XJ zBLDJ*y8WrO)`H*5upccM#!NI>6S+nk+jY_FftFDS4q5PjEO1V*$KNo`+2Xt43OPa< zn|V^nX|KYo_Hws6*7}hPky;F<B>bsN#hm)RG5gw+aH_}DA>?W&Uh$`16TjsuyH<v9 z@KTw+Mu5Ff0~)#k-Djk1nih$;xYKlUwNG?s8?<Fjwg=X$k2B7^HY7sN9`vA@fXu{r zBr)u8Y%@tft7VNeY(37<jfu7KnN=aG{^azd>tJI62LD*>nFU=>&F()xO_q&pH0ob; z@A*R^G0L%rVA4sBc6r({_D|k!=b-NUjgfBh=YK3mkGTWplaCj$NB_UdXm_NwZFt*& z(f44opG;;I8ee~KYVKeoynP*DQ4W=r4MAbU(!St{Gt3o%`Wp7XyS-eyr#i$ar&@F1 zPZwe!*dSUNGuR>E-Gr8$Oyy4}i6C+EnZT7{KWco_5CKDG;-&8@B=K8@*rUiGEw7(C z!flVFpO4>{xYVY$gyK{e3RqjS1_p19M_~#3Ndli5(;_#@msU<*g`&{K<j2p$Ud+=6 zSg*eJSMOO^)!ea5$$=WfH(+a9zkir6crgd(>X6Sm(#h&YY~t^=f^+&0_*v2t4j6V^ z8RHv1y@SiS;U^@R!}cYeF{k$X1LhTuYU;~=gty7VMLi&-<ldEr;<7BdE^?*73n4g< z{=|GiuansKaYJluXe|oOjNaConPzMUiG&Fs7p97$;Eb9G?I`XZPRBgaock7ByGt){ zxb8<8R>X6@7XutULFp4!{jfbo_V~N^s~u>9%kGIXeRxs-+MbU5(7I*$v6m(+D0j&A z<|#gxGv`<?HK|dnm+lTxkde&X66gup@8I)$#y}RpqTLpgyzF*hiNTs&1?<Ax1`JLY z3*|ZShXB(rrQbax@<2>PomQi{P?lzWj6^WuiA%{{`jp!>HLaqNGoGM4t6l-Mj>mRP z`_*g`?DeNuQPaF*&R4VG!wn{8+9{+`TJ7oC<Nrmz<WyVwnf;-S{-zxq%Uso)HxD5} z=we>kfMm+a&9H7beD$lrt6NioQ8vNyM%5AIJEs6ZQH41%f7#sWdNNoC3!^k6>*`zT zCJxc&NliQFY6L}_t^TXM3l6wr))(ck*u*B0KPmo2PR92mz>KOL9-@2@v5NC#Y+&JB z;r;gGk`CD;g1-Hl+pG#5&)$cyNqGoy<!$@QM8cJ2r<F-SX50i1ugkU6I<k+pd{9ns zb9n4h3Li@FRLr?ceg9ZO=U?P;`m#{tD?JJMCh|7&$xshOVLT({%9qXc%q(L>GDEOv zg{EI0aHIRH^Yq)HM~bP6o%~Z8il2-sdZI1{^p(6+$<Jsh4T;<;haHLN>1(yf(GIb_ znCihG<-CNOXXhm9qfhnCu_xp?1q0>Qh9BjF>Z}$<j~Sxd)4C5w7lR#^PGC=u(0@Cp zAD!7{PZu6_zLJaHXN8IF{+_i1;0p|EmLz$QU}QmcB`G%geXcdOEE%|~tE**LNp9S) z=FXi<diX`{8UF)`TCo?=)ZQPcne!KvY?Wo8+t1q4FvJo4=`A<dBRoLSw#pES@jh5N zi9o>0;G2o(79|zc7<UeUjiQCaw3DX-fE`a7b}b;IZ4^>RzQfSoDg*-I4&T#ePE=4? z;**HvZS3Md7UpYHOb<6fEeM7VJ5df84PW-N`m6WY!PCZi1igjDK$RSAZ2xZ3)Fz{F ziBd7?v#XjA)<T?d*zW!|3a3Ft$PS~K`B<)FUENLw`@=|?Q{x6wLaKAi3QRnVLY|TO zPqzFBmOm7=W%Sy4qsN}nImI+KFe8HcLh4CnC^Y3nNn&N<&pyL|#xW|&+uOb3NtM86 zct|pz4S94oU-5KL5+~4}N`n=GvRWyy&xlsZ1qc?o!j-SWxvHIfhC-W2BdYieZ*%6} zY5vFZiGsf&mBB}2{`hKMI%uSox-Jl=n?+~skCJo`-YT1BZ1^n*&9i<A`2MGm(F}ii zvvjSDNmL^X17yCnw9l-K&H&A+n*Ug$F`-enBD6gsz9DJySmyy>)$@r&Z`oax(e~*- z-mV;%Znnp=p4HMSnW^$!t3pGp4%#OO1N1}Pq<HJb=3?SuOH@vHpsum*pX>uvcycH5 zY~R-#@Y3h0dBUYmk$s#asT}!J7j{x?`CB|_xTwPX_LE_Q7zicYme_CS1DQq=uypm4 z|Bj4}-`{rZ89Z)W<@Vcnv*DmCZ4*K=rrMsI<BB&@!532<C>lNZubUqePGAp9IQq;W z5h{fK{d@CFwAkPzm+jDip_zPgI##v>j<#O_8*`~-vy1v(aQnm!OQvoNS~oCOnS!A| z9CsJmTd6#f`0L`5=QiJN&IzBubY}Kt;u<#@y4z=pohJ^JB=IkYr|g@SW1A0_)@W8J zyx%RNyefuv@M|#3`1Rba;)-P*>=I?mRI>t`<@0OEID=%c%baa*M&6u~7IPDuzs$Cf z04tyjsuolEn*ua9c6TWTaupuGX4Ai>44pgm{b1Puuvoh%`2KGO1L8nAiAd(z$;{?> zJb%8Mr_MLvXbz!U8f;o09~o%HL|1jc?|JoPnt)-$OXO{xOGjVDP{ye5%SVFxhQnG> zkuBEMMykekglPiSysz4s=KYVQe^ZBdhZExl@t;j%HVX4MjUT?Nt*ZZV_6_IQN(f5} zA?;Afy>kf*!f;5S*OuOYx?CXa*)0CvvrmqDw1*$iT<g-+3l8wKRUh`7IpOxSgJ5)K zp;F0Po3~$kOMLJ0)UolCdc=Z;!}G118nJe5*hi14k<(-C1Y{Qd>PzL^ptGPCYGQ5@ zd%xy{n@&8SDu=-g%p>4iCfY;~rmON1DM<E3)=lm|PRCPjDZj!CeAVGs>QD$W!QVF3 z7Dd`{h$`7x%Pf7PSe24I>mA#C{JkLbk5eJ&s}GrW{BiBCpk3$Hn*qapu+9~-R?<07 z?pGwt);#YXT}N*@!qDxL$<GK8%QrYa%0_Yzbu@Kxw~;2SI(c9KEMJ@OSA3OzA&+%6 zyx@z|j#`aXK_Q`6TvA(Q5(X0Kn4Pxjn%BE}^PJLmDYf1e$`V@wrN&d!vqcuG?La{n z;m=PZ&>sI^{~eqN{2feHM3lenW&H#+#Z&V{#`_k+>`8&xHK$+Yt}Q`Sn0;)3m*h9w zO;Lqajbl!2T>-z0rN}nq0vTvV+|?gbB&D8m*8M=?Q9LTFOfU9<X4~zfdcdVU9#YPl zp=zuJ;SAl;+{CXrAuV=tUWY=C6RjxZ!pWVUZB@}njm><P&j5b!ZG{2|XOaoqYc_qh zm6}pZXljnW7GYunZL-;0w4L9o@<cea*P&d^lo5(Bu&kbx3?i5V-L6gKFz3V&4P)RX z5Lo6`qM^`|yEf2U0iQ6Z9G#C3CjMj5DXWW5%)sMmn;v>);25bFJ-@6z<r6vyNV>wH zl@?J>l(KRXsFAPn<Lqyh<XQW-NsnMapKY}6=02JB=)GhgX7faoK3stHj<nQLK9-Fz z%AEeGv>L3UA@t%x8<vQkm`J_x21gcb+Io|>&5pdP`BO{BA+7>_poB*y+R_*oIwF0v z`|r}frMo4S4iA@viEp(sKVjL(;YD=k?q-aQgpHGuQpNA@ryU*P-&tb5AIh|Uam5y5 zu#Fj@)Ry|pR<ivxl40d`fDw3RlqY_xspH{D0w}>e*|-`+^eDpm1#mo<t8GmlD6pCF za=zk|bZg?er^M~&qW7pJPP#!+D;;VRUFNj1jIT>lvK==|&zC!sJR(4(3{2zRzVGKC zt*-HBl{lkxX|rl6Q8y`h?=XYR9e{wWPe{euO*zL8ao6KMiYom5FEe=|=;G^vbN5A6 z)wGjExjyT985vHiYfH7+Gm>b5I-P9iN0GeJ-DZX$h4ki}7B55`gBSnE3uyhpSVCsE z!Lv^G$|=Xm{~CGysMhsd`ONyb(XNOQ_?Djcs-y-VQcrM*wYyYPZkF#2fIcvuTCkI= zhG5o@>2w+xq5@uXU&z+!9&#As0J9fZ7%Z~rxWL*biB#RY-{I1K)W4Lf8A+4#5s-TT zdAYSM*i$cFqYP^Sv-cs~#Prm*)T8Ef$iUWo8rr@dk?UT1S&99V%y*1w^L15)myHia z@6PJD2EPitSsYu+)8DV-;$6Fd!LK1Eu66<Tat=ImLwqt#rpfNaiL6W<_|Z3f!&Tiu z$<8?5TLu;`d@e7VyU%OAeDM7TLNC0@R><>K*R-Tp_}0<k9vUekez{1*tv7ulQC4;h zlQlPUs0o&n>7JfE_(7LWERPF*DgI-_m3*Us)$N7rg8#XTP`-%U;y3e~!F4UDiOGK~ zKxRYy;2#}dZuZsGG^*QZBV>HC8f@ZF7VC2s^Ul;zY3eLVpn=m$+R}y8)Y(w>=gS!b zgWn;wFKiy@A9~c>_P_x=O$??X(rS!LCbvWPXj4mPA6?|(k$&hMH7aKSjND*@Hsn|V zgEL|Tr?oTHHpFjLndv1jgfX8XG{v}EtHzC^>N#S<#i=X6@;UntoxZDWpzsR4X3&-i zF?hLQgY>I&eDD^C$MfYFD3CfQkor!n;Q(O@%qW|lDs?`nlP?|Hs(bvn{yD?gEotIB zDKNg~O~+OLch$aI4VUgf@7|tLzT+Ll35eU(Qzlz9hO9Oc7Q^q|{>Ks|vxAsVuTmeY zzSa1j%@28yw9RJY%*3mDkBVu%fV)i@H&gYlgIp8hoX>*K^j^ZLOtAebIGwZju@c|` z$a5u)5ANBiwj;raX`tit=R*mS0Fwt&+Y+T-!62gC3X}OX$G|D@>Ry7vxx{!dHU7uN zciy3&Zp1u0C3rBOAl!Vhl~7e|ow+h;GpS?ImXUn*d@c9t*n62kl3B#KFhLP2B}>k( zrdwO@ilG%BUHC+->r71RHg*0_E3|iyWfynW5~PNE_Oyf<(DKp09psf|Jl#s#-a7FP zF??8ZQW`dMaaUF9()4g2aT+q{3NK!EFIn?*Q*0c1?Duu3QlKQIzW3QHm-Lio3E#hV zgY9D6XQM*eR?Q0A@*A>(7~lh~zLbOKy%pU|B6V|q`s+rdfQM=nYP9FxgpxKcX@*~` z!uirw$kZ2=zqZjVnI=O|UYrt47C!%%)>`S_>E4Q_RtGaz6XuhZaittW<5lJdjp<+i zmSoH~7<z4Xt#7$Bu0LzSFQk&3(*|~59vb+P7F|QAkMDMW7RuyM%0uw~*dVpJ+jFRz zP3wA8x6{C-$*Npd%AV?y>rU<s+w|J_y86Y;QLrka+W95eeGh#5<&Bom-^@kq3daLZ za%)<D80*dLl2b`eL-;`pcZ&pz8*t(E7L|1()gjW`-%%<Cesjr;(=<A{@g06K+B!b( z#YEl&#J@Tx3j~3WoeM+s*?xa$$i04}tNFg;_4p6-Y@88H)t2Nq$Wo3VB>ePI@RGlw ztZ{>x-8~X*qw{v85XZagd{B)n&u1RxIuP)ppI>CuL_ER8>K8<Q{b?qzRjO_IXa0z> zZ0^(kWzP?*)F6GPBwu0)KdW<~fm}5onj7gAIW0$}xJlYBrpxMtnEZ&STQqG%1GB7B zS5Y8})&XPE%106WF|dFX(2A2mO(dv9G!gHvFRS&+zusWEfTCNn8MZ@c-8j@iOK=Nz z-pTx`QKR|~tv==3n8|zd$ggQuw$)V2mI6!YU%`tai*|=fonjHUOUq8?BpB{_&Uc97 zWbXUrnFiUM8=K$x_R8&Ex-ORA8d~Wdn((&vCfex+-P_DD(afW42Pt?U-2f$bpm$tT z?T6D+`}T}9a7G6Juuxg?j`-t-v3tk3pkQ<ozAySo5xOpEWI()^6DO83m!q_#U-ryO zL9yXU@)ex@_=Qm!xXieVdpF^oB{R{sQh$Wdjw03mb=(ax|1YlSR=Gx1M16X>dbhvT zvqdA3jT&M?YUXH*+k<kt={9GXbEa^(=8u?jc6T<SydVuR=jn&v+In5lZ(Nd`ym#v# zov}VIU}(3_Xh{;kJ>Y@%^v`PyT=2j-Z1^|X*uXMUbv3(YL$hSkrAIr6TuW(P702op z36z7ViFb&+a)~W775jZVs<mqNOlT_UCmJI1Hpu;;w&uzJBt0%Z%zvsI#5cnCpieLx zJ)~0i1%hM|&0nH&Dz@MBx+vfoeK=NWo|^i8t8p~mXnKT}q*wUzZj+itmqiq@k1G+B zKA&&z{=<GRAic^4>lS6Tfr`EJm)FJ>Q#a7haUZlWqn|2~GX=>pJf9rsh57dG&qk+` z0uDK(WZP0EP_s<5t&+_ioW^Yh?~k{W<Pij216%-zN7}5?WF+6lqzPYst$cm{q~Gp% z$aJEQgzkeobq0BPX~um`gT_JTZwo!4S~^yIKdb)YOC<jLGuA*c`qsDj#k9=o60mXK z$(?`=?dnRSl4jc%bG)~3a+ZhfGnpY!Pu~Ku1|^Tff@jZN&~X`#)<08kf8fcyuM(D! z;LtCD?Qcse)|8+Mv=1#po}G{-$XIAc*?Q(gcy*%}m0Ix9gZuQTnrp_?xx_IgA)W5u zBo;w^m8?$RkaN$Tr`hdz7+rEMhBr=oG8~HX!<D`CpBc(ZxlTnn%vfV`Nf1-81?mC+ zOl}9uyFYXi*1sbKD3#UCHW2@lsp-z+@r+tqobHm-0l~nc!r3p~1pKp<)z#3~a{b5U z!eDJJnqWczMV4_sYzF|0Ekq;VHeB`pwj#<CAvbp^7F6OR9%gb6Wg1$o=c50j&?C~P z^P0*xbvuUL_?X|);0^4Tw%Y?z8}%1zEdUweoGpon1*=$Dz~-h_Lq52K`fAIG%G-0h z>KATrT(3J+Yl6=xLntTu$D(fre}|NmDD>(D@sT?*{eiH++K0tVU-b+&F{(9WjBf1z z{l2C%Qy??;I+8`${nUG2AwTAxIg#b@uO!2zJ(0H))!Dnd3|-A^fF>@?!zYVUboC+p zJMB<+qSC@c7OoAUu|Hf<*<i|m#iNGWu|@w_{#KaRdy|+q`OaP3m*w!O`gFp)H~r|u z!w5nuABOds+A`O_%*&s)q%|w(6#)?B9VMg4@K;jlpT*sm+BKdnl7Nj3*lc*Oh@`zj zUc%DeMw(TXL-`z2D>>w&-y8xypr3!r5kAL+eb>gpIoe1DO#DhZ$`pO}fp`<s({0O8 zmf@5?#8OrTg7sL-d(uAXI;_O^0cXO4#3##0!Sx%kJ&9`{xNmVNOu1%|{h;zg<by3b zSNG(79P6$q-9(nkkm!?FnPA?c^~SLVjH$ugvDiFL34SEmvMDr|41*n1EINjl70x`6 ztmD~u9oEZuN1OPRIf6Rzc3zoOjcmjIIgrhLzO%B=0+VT8<K3kX<N)=>8k6Y>6HId@ zDe6Z0)npm`4maq!7VJ8Mr^dNmQ0^WU>JF^)LNbh*`xk*Og`}{3QwERYL6p}&mQze9 z;33Ul)O7PcQxE#+Ad<|~`JXBED=p(xA9hF&7xj$FI_?d;krpzkN;_028!37f9S@y< zQveNI_i~TWI8=8#LzXMR=I;F(Nb5umcIfFe1B=$IkS%me!gNuh5jW8<oJz;QsySnS zOsxBh1CQtTbpf9FhW?~!Y?Q;%P17IvkC<FMnyx_~Bsp+^5K00RR=%wsr1;vzS4$}# zDEy!iYyOq*iQKE{aTL0cQq;^F`^T)<G0J{g16CNG?8RF(PFbM|TWt4f$_6oaF!NwL z0itgDPesl5Jr3W^4)W8OC6n~w7iJ&mBhPTu$?!f!;u8unHE3WCH14y}J9B^$4T30K zbTcl~=M4Vi=JCBph{m*Vk0KNo?HY-P=kc+6jwLyPM&-$Sg?l8Lr5C32clAnn7M)4& z2*N#Twan-r>2_Hokx70@+A^~{k%!DOv}QWVGiz?IQw)g{m}8QC?0}96{-wwZt|E2G zI6dtnb)qiP$8$aQ2SyjUHn#2Ock<WRSPGqqB2!KPst;;ohaI{6O9S59XD=ni{@+$( zwD9v7eh*oU1>$K2R(5qvg;e|T+A?(Uz1O8I-oCbU)&=1{2F!lSI@j9u*p7q+%lC|! zf;>?q8a??b9{$(T_Uk??U(a^(8htIpf-p;m{Sir!_K*vgLZ{(jOeH>1j=9sc-QVxQ zyvkinuA&cx$+|bRkhk<wxSiiLh9Tban}eI}rwQ~c!1|tz|1)m<lOd0<{Ct~msUL|^ z1c4Z^sB+z~3tHQnI}QI>8n+Az=V*Mo@kT_u12wqg%#HkW!AqM-J(OX>4K%29S6|7B z&`KKHNxn?#h*M?p?*a<3oQoVr?pHY=2X<Hgv2bnFSTb*PtvvcD{+4y9g<8KegMWW` zkC8#(o1QtS$B#0~|FgzS*PxhjNk#Jl-xDsRi(Q;kV^bG<ecxUKN<s8Nbsa|daFY&8 z<wXkuBhQjJxSD3eSP5ii5)lW!worNeAIpEVu!v!<9TRF2d&irmGu}A9@5kk2toX8@ z@y;4kLv|A7(lsr$R<`ulU}Is9AF}Ut3=NGyaSep@8o$ic?mObB;;0wR@|$a(elwVu zC8;Vbdd~+vTYtQX(!9$-nP6^T9g<@Ay#A1Nm|ZLaUB2jprY0G%T)i7{IP1$Da$PT? zi(R*-6jF+fG(F^jz4aae(Nj*iqXsqFTB4H6r6xaW+~D;MWy8H=QNX-$WWDlT9uW42 z@LNw3a0!lmG+Uc|xJ#%;F?AqJ!^gHx%NQLTRb*Ia@L&FyC&zK(3-YH=Hr0Q8A^nP; z<hivw=>y$IuLjspGecltR$6P8JCLI!TauKct<u69Gl001_<wtsffv+;+5Lh|e4uNj z^1><4LKUR3w$9etqv4=CJociWAKrcR!ez+6)Z!CIg2Ia@x1(OLURyD1@L>K`!W0wS z3Q+?mU!4(Ck9)Rs=A7p1m($&VQR`C=s1JH2DtPieJ!?RQdWSw+s9c8reok`RbQaYv zN+;%GPZCA*Zr>*ZvHn-4*o7hA*7O4P4sqdbmhVD!<+rNum4-mOH_4GqJV4l^n`zD7 zIPo}%;=i=xWEcDD;~9xNXL*tqS<9xPCk^;b210L_%k5d%8yh!5HiD3Ube-5e^T{qz z*n`6X3~$d#_>8it%Qb6H;nMVg1av@K1+Ft=9;KNz)Y7G`>ccpdSMgxASPkb{>VmZk z5)C?j;sxP)Jy}UL+U%e8e;6YbJQK<<9;~S9cJsYFm<-;487wTSnFIR4ba=U)$}v4z ze8=tQw6(3xwH3#BMO7i*el{GjYBYi>*PQgLO3;&MI%m*0TV-PU4wh+GL1N49QSC^( zjjeRX-jA)tRJSM|{n@6%wgE*}|DIHJ{#RM6=Z~k%O$>>&wN@CjA85V`T*g>ttS3{> zU>(_o0!4AvZrI)-)5eAA-*br1^>@1!hF~&fV^_SaHiCZVGO(4P>&>y=25VhUUHX>- zH0`QaoQfL~gv+IB8E$mgu*GDXQzTT$SdBKSpGYFq>MskwsmFQmPy9V9M#L(I8ebpY z-lIJ`yqhzl&GhNqbh1=;&vN1gjF{M;SbhKjrtbo^KhVaFrfSEv+d)_R?<~MV=%<Be z=5j{54CR9DbR6a{>QsIW{Dc+`)nWveY@nFZ{wu8}A>i=hcRTa;uKB(!^WOnc*}9`& zbK2VVteEj@VBIX>kt`x{iLO2&WoZW4+}PCD2W}#q`lW?p%vewRbE<q3%RrX&-??R^ ztxY%#q5J$}IlZ(bWE{lq1)pgTp$}IuizS@^m-;b$=HmRDa?(wGPNQtUf>_D$`O|mV zw1M)zaAXJ!Cv2-6Wb`gKVo2a0OZ?_0v3jNQ<kpcgdSyohxS1sssrI*>3C?1MM?K2> zg{S}Kx4IAEKBe@E7aGM@mKN^EFGU-a-sj3t(^b$4T%wz>O84gp&1nLk9*-ORWwz3v zZW;yH7zK**=!R>q(XyVj#aZ3YgKo07?&WVRx@a@>pYAO9LYK<-5MefOyM&Sc)oU9# zd+IQu7U9~Qi6CZ>XbiMgNcXjvClWeeXnXjTRj;xbgaRgG0&{@hHsHK@$=Z7t>ovn< zS%;&e<W}5q{zjrLKX(m$oQBKcP>Yhx9B6A86a5q6ad*fu*<{9>|Dw}&bYcakao=AJ z45FhW724)c>t0Q`Ah7i@yyX8p9b8u_)pQ}%noJ+~D9lpb^MP?+eMnuL@Ov)AoZ#&# z=`w&o)e$0fue$3=^%ZQvzOTU>ZUk>%PRMjr^A5k@_WBab+#7N!6L!o*wUWGYn}`=9 z_I<WU+sc3s!Jiyild;`le?%02GsOXw)z#{rC)&XZ=+7NrIA?)Htk~wEP;TaC^Pa_K z+G0KTGVALv(VEdfsb<`=rqh?XoB0&-gJa#T3z00a^RC*>q+ulNcnM)(D`e4UMY8^_ zow~Jhq`Out;QsEiipXcColxtF|C0l4jRY&dLu8mFGtF>E=Gh{eN=64JeKf&K>ObTD zvmsK<s{KSt7|6dAU*6BxkiSLs1X&+5whDR>N1k1sk4eCX>e}bU&$#ii5sK)tnb7GK zIDFbC>K}{WBr{iy?1C?4ewo7qhbNqqKklo1BeE<t(}$E+h|O-nGnrJSvMkF{(g~C4 z+lQ*T@bxke8F<Apm@ns#LW3j*m*u8<OLp)HAzL8qY?lM75cY__y2m64EF6<@A>Kgh zVnbon^TRpalkh=UXL5-(IO@ZGzP92ye>Fx%kF|k!ZZQbjH{($G3#@-vqp<VWKHV$x zD+DfT9@?L|+Hc8l*}ME*;=-vRD6<+i8=!~+M~}!EM~V9>4KG5(Y1T#`Bim1&x_SG^ z297foqOSwPBcx>Cj#V!G5(=aRSWCK-(5qeN@-k4z1w9>w+vbC=cA9@g-jqDNpJu;< zd3T|N4j0bMsw6LT23cmF?-iZ-uRwP0sLnse#;$9!k5dz-va~89@N(ArgReIPBr?k6 z$C`QeCJSGKwA;vTiO)|d^1Bd`Zx@AUoZd9QIU9EB{&#hCZ?A2`J(-A6e@vCC>*%5P ziSlvsy4F3%`FwS~O8x(`Qjb9+SYyVk$F9(($wP75d$>>f9YP}ZqoJB1)Grl6F&C2> z=PbQTa?SjJ28*raa>`<IX`<@-)Rp)Ib%6x4#3{^51j*20&~~5S5%%qY0MAeHD|gjg zSv{{_TaV*^J@uh_@4e@2PiId2ya)7N8pK9&!idSm@79rvP*?nDol7PbxrZ;gOZy>_ zOF=FWGT_6?nOi7@Gta70x+PNj*@ZvlCpe0wK4IYzI(_%D2=L?j3#Lv9+`0z_>#mvq zE;7UCS&TyZjP7_sh%4<?YdhCtty_4d*>cXdRBP5}aR3$`pHF}vkL0BqMHhRAF6A2` zHKX&?uZ%Qo`IsQf;{UOP{esIxtVmB_aubW|+OqN>cn15#^Y3^&br+AD5AXN>Mxt5e z#Hgp|E`%4H!VL!f`Z4|!?LIR>N!@H~pW`^{<1XTdT8z=;kQ35A*vzFb9)1cbR<|tt zS!G@iNVp9xiX(+Kajca>uI(Q$W*X}HYiqA<=C{~vAY$XJg#ix2R&&x)eBJc6O1e%p zk{s|Y`LV|w>dL@KE3XUJ4_;r*(^<=xH*~`+0gGoUh*vPW>n(K&W=WOk$$JO;=qS|9 zOt08d)v9-P2xPro7P#2<$o}a1f3NB%V+PC`wp$yr%}(nh7yJ6i@|+iPZQrq;E<Y9& zG>fRp`1*C7NN#V(Fo&ZI6_Pm`eUP!VArlce$J@^X3o-)hp(AfJShc!%!Ow*`8X}@_ zkTb5&C){n${=i)mc1fMNvXODSs_SiL!mInCrX_V+E|xsHZae^ag#|-hY3&dUVg}Xn zd$Dupn%#rGB$1M;V~Z+FOQcyUW;3k;@)gstRi}LWNmH${IMhqF+sZ-gX`SKi3sWYi zE?&LunU~@C`mCe#^TT^#K&dVn4V+0=Ndsv(a!}gs_Z@h^t&%h=Kjv^H!KXnh`@6xa z_cl&LqGxX-M(lDPrWN<rDk`<sHGF?!ajEGP$6JoqumAIFL)6@HH=(swldRDAK1OWA z9+5A}{Wx4+AwD5r_F*tlMn=#W7}i*|?4^<&3US`syf$8x-B%NDjKf45aO*fj-?&|W zCno+U%dbI5`p?q(e)am4@`B-vy%lVm_r(ua?tJ|WHm3UhN-DlIH+;rWw}G-d_WRqL z0y%=rD$A)->%iU%`Ufz%*X$i;JRRao77m{q@|*@XiB^PR6CJz3Du808r@t9Mu8)($ z=-Nb|$~dJp1XUJsnObL8rLsJJu*gjJuu(&)%6z+dG?lGY`62Ecx#c+H{mYjE1<X?> zK$HHhKFm;=YIOxbzD7fp_gI=~HLu&9Mm`;{N<9xZ%s$~!lL`A*)X)01dReNgUL23h zqbrJu3x6#ytiMTmzyS!A8C)~#x3EmlLv9&*xJ3$Jy}V%Joj+ZZAjCv9ce3n^;$p@| zWUw`%y@$&$$myjIG%`F{vc!DYjoS(}<Ce7`algB|tzQUll=gZVeZI(U@mM|e^7Oa< z)P}t9N#*h^Yp*r<$tB&ZIVenqK*8W{x4*Y>8hk7AHoWl!sI()MfM^(0JvLgsTKwot zfT0u5>VqKYTdovw_rt!C>jP%84w`yiXFg49MUw^$4`~h8`${=2Xc%imAz>z2-RV_H zhEWi6j*g!@Zj@UmC^yU1dmIx+aiW*$pp$a^?7(m&Vv_GMss{&#KWQ8)_qzAwX+4;j z`=F%D=R%xTs;BE;GB8>%&Ah%b5kC5A1z%O`VIJ=r-;fiDn!rJE({dA83P1mD@AXer zSwAydTu4w4o4qxon0&h#^YuN3mg4vESgZHw(qG<<!oT@f?HhOGGms=Z53}nk*ILZi ztX<h_{v^>Dg8SRYp)gey6}+8zM@4CzyA|=t`WL1ldTXN7d0gRnvPT%+s=W?BUOHk+ z9Wc23;@fAV&z=-%qnw1i()E%mM3i-q8BOQ8gYoKq{L|f!myTpY5;iv*!E0L=-;@%2 zq<(KH%kfi!AXbmA?@A;at0>;DF{xK22C08#=Gve_v!laDW}g_M)&dMMIac<`G<@YQ zey&YU1CY<5_C6-sHy~k2CT_JkEnHb*n&{DKP^}?YNJ<rrKL{R1gqnBKO!glLd*4G| zS$k&lG+_ob7_9u?H1~?^J?eWamG<{bZ|K$3ghy^^dA{#T*B6ZLrWbjE6qlk9o0?S7 z2c2yYLv{V2awBtKrlpW4-gDT-UST24*u#A$*Cr1e$56FfMNQ;n#V8v?BcG788zyj- zU^~624_Br-mR2XMHC)!6pnM4N*37_{ntIY6Hx#H1b*gN~Yt<f-E}LL1CZr5y%wTJd z`zvixD*bX{P&G{7w)R;;i^S+c0>q`b4s~2Sx5Z62Ac&7Un7uXMv3d`;>D}#jD)S)t z{npwh;+70A&g5SZ@ap3B?cJ3au|KK8aYg+~8of#hvjWEy;WPm6GIAkke$^#jJVOw2 zX*eK(%oXpQ9|3sz_UE2DAm{6hNU20YN}!8c^DBZ<f~`YmQ2DnAp_8UIzwI^40@!6E zG{|K!y+w{b@;g^ezCrv7ymO|5rwD)f@r%UKmlyNaKD=rB#2&EOVIuP_x?B>JZxrw@ z)#Hb;MZ0}$j~ep~3mye89{oVS%gC5+(~Kv(6Yuhh<*iQgnbO;>hSujNBKWA=p}IX2 zAeRl)7aoeS`V8=<LH(1zDMa4)o5C~GhvyF;X)#fqs=R^aW8t)2fK;!Cbr$Mfu768v ze7Z$YT|0q71}tr93ID_gV$#LtjPgU9ENY6)%;rZ1@1@3%_hi@)yB<b#lG85C4WumO z{55dg*}8s^NlYrad%ODmZMHsDks9D!Xd8D0p%P$azgLe!$QrMWlp-sS7kPOeaRKB4 zl>2#0Fu1bJ#2`}woSrZ?_SNIDzmbrgfrO03B}FG8r@pX9vd-Ou(f9lFv&CfV_nLNz z($jjf5SV5=cB02_c@SD#{|^5?W7I6fqZKYn4HHtSEN^ffoO2G24meX}A%E<<CG!7i zTgOmPRO!w%1^#vPZ98J9pJul|@@mVkV$47NFVW6g57vXtXi>_`+y#FuYs`6UkOaI9 z;h*YL^u5csarRqJ6|KOFneT65wDn|{=79vRh+NZAFw5h1&;*$6wS?bM^}$z8L~!k# z{A1}zPIS1?F7<n0XX;3_r=54l>L@!U&%LFq@wl7cpX8c!EnctVl3+{Sr{72dU1y+x zO|yU1JiKMQ)bv&9!-hFPgSHF6jJYP^IW8R5k();<%|?*f&+iSsT($l(+WJ01^I*R$ zD?FgAq#$W6sO2AvG4g^}PDmVG`)g?0lO|(~ti#Cupx4uuM6_ggVU<l6)J-F0+yz~r zD!OI8U;0ENAW!snTH^6!VXvC!+SP}Np&Oud88BMQ+yjm`nM5Q$pQ%vgV7Yaw=C`)e zeLKiltd=<lW0#V)Xb!naC`R=@4cS_;3_O|n2*;uC6)OL2ZU4t|mlb<2w>_WtFR!nU zF+45OZ1oo3;LR;ZOipkJ*`ZBZ;62Nu>-==x%BuLotV+crhaz@0e#G0;%`fv(m5wYL z`>0qJSygk2@~~7e`E&PtR8tRLca~mxmf-7nPVv&cxCFCyH1l`j&MJM5qcKFsew}$* z)Pir8R}E>tYLJw#4P;g_+<1C{fo{%CECh#eIpI2b`PP0HXzQ8uJ+lHFC;#UCWH`v4 z1iN7Eb?19fpj^s_XJ_P#C4zNJPkXK)R=cd<z1YcPM6Nvny03Uq)aRS+5C^Ld#m>yJ zk_coi%RPB-uxto614m_sNPCb#$cx?DOn_4+Zs;&6b2ITer<)J+<Sl`n$FG^fBd;$9 zbEU40ZlGvGUMn$9U$y;mXUKV}AXGHfC<^;PFQvTBZqm%cJc;d*+5WG%o-E@nD3w1= zX1+|b07|)0scDl9RmPD2xB~esw5glg$5uNL{omG8>q3B)y`Cd)g+9-11+DzDyt7N^ zG}>P9C@=P&pgL^oKzAZ@>Yu30U+FJ=VJI|LOADe|I}2Ek`%F>SpIR$sZaMV8)@ql+ zU8*|$gOM{)zU*v*t<VWe%m##xgB1>M{%(_9$WTERqj9j*mEQ-#?Dvy6)w}(MEjt() z^OlfTD7tr~9Pbdl1uMx!lt*4AS!(+Y&wkQ<Fz83oejag$etX4H{Q;<BnUFnn5S4gk z>5Qn+YWX&O@}sqhw*1p_*_@Dw2~<AA!Eg9hqpU1e^K!2sdX@>ftyPN?Xyiu%n>WQ$ zPGH1?(uMK>b$uc^gqr6Hzq-CcKNG0FwqKRd?6Z5fa+JtKqqRQ%w3@v5Ui&l6dl{yX z+=m7n-=iIB(Qw$vvV!SWO6_d;N%rljye!Em2Y~K{oaMLvk#LEy4Dm3-wW>(1tN>h4 zt9Y~#i?tXdBFaW24{B{2b&FOq6lEe5)H?35OIlbuEHJ5=OoZ=V{nRPJsaq&|;<>!$ zRb4L+He^c0%0e$C!s9`G9RQo>TyNHJ+F|snRFf_5;`Bg&Myu#BlFlu^wtk>mt3a$s zGkz2OTutoHYlSzTOmn~V#n1LM3Mh@Mjvg<g@Xad=o|HeRI?@t>!AF-kl6%n-`&0V9 z$=bo_+l33yv+q+a>N0!G(b}B8vfn#;a%y~nzLJKAYbi&#ThDxkh%3JspI~mo98d0f zN$a)6U-0ubi4EbJO>e!LIR$I`{%01T<lw-aCm!Mj`9Bc*{K(dPsaihHs|<~uCIR<! z(#P(xN7pqxeIMmw&FXH+^4`T1AFX<oLEu|5)H5QCk_i-A-e@@7$14z(6V~37yE-G< z)T!R++Wi0$JI|6|?7H!L=#)1LlMhJJbKQcqmKR|uup`}V;GKzm8=jcu-$FhvVoUtb z9<qeVihEy-r9QYA{m8-~Fuy^_vr$s8TDf{X_4gm2hG2PDcZTidl1;&6v9~zUJJY(i zUN&9*r0#!|-$)u}a4rE=TV1Lsd+M4SSKO|I1rPC6rFTET4gFye3`jjM(j&a4F6D}t zJ1l1e(?z|B(*9jGOz8Q{UwOKAsNsMAT`^Yq`=vmUKglK|{R+4Asn1-mi@;iq(v4eo zeJ2jUJ8MA2VwIY)n&~{mM60Iq=tOO-%G<yXvtPyT3~(bR9095<{D;>C???VQ`SU&K z)himZlg7YuR#@4lBs8Kn)}ZZ$uqh|wq5<Ba-S|`^f5Q&#b8L==MB`0~w7s)DiXVg9 z3*qawvJWugkj4ZE)*1#V^!uojs9AjJ`tOR{rLU<W7wUGObG_!PolUP=S}46$scnb3 zh-g_M9^930u=$*rB7ObA(8H8QoZ^+A7b+zmIdi?{Wlc-3T+JYXyh!Dg!*sOOc;O1N zLV-FgbeU}))}2P4_t0*K6|4W37UL7}(9~xp_*d7~E`8I0*P#oRZ!{eq=Z!HPwTT>I zKm}f{7|MMde6tsBG1Dt#?y**6w1U2=Ko%DnE0!88o9^CM&qX#dJ?pD1j7A`{k9@R0 zR5ejPPKmwwM~y9ENwlvb%cZr}^m9RR>FKoKL$eUCO~Qb;k|n>|%mnpqvZ6Kpzso^P z`2HmP#wdo4eU`v&-Z=e_Wl)IxarRC*;I6-;?x*4X;f2S}cw-X~d2Fc02XAbH#qR6o zF_*XP?+CE}v_O_mcGnTka)<FXFY{36R~2^m`!o2@?Ch&Q9kYCbLcv0il%j1dLqiQk zXiv5sXblW=h+`6;XOgitQG7?1PD_2~6qSZIOLG+OcRzG?@n;jh#FObemM%a77GSrR z``=$ly!As`k|QlCt3G0A!ww^e1?$98&i+xf|8e_I)CR0HVhUM>$|7%`0LO|NB8q6w z_it#t-IP`G&-?b`nr(sMjbtV^)y0gR*+8x^U`rNzUDq!wChQ;J7_r=^08eUD75xqA z%o8OW0RSKv0%3O_%2f1Kqlb$wJ<#yX&X;&0e_!hDn44&+n;A|y^63<W*(ZmK-az?Y zgnmB|VP;udIi;J$6K2)~sll6J4smew!#S@jk1o8}e!xl<Vl+1Lx@PIo!1N^Bhu)mK znS+6NlgvUwz~4*p!I$dhWmK>4?WVnkWz`BXl-Hgaku#ai)JjWcyFnhYnNOo1?CEe4 z_EBEVeu6xEe37G1mMVww$&4nXsbR?hMU80YW!LIeePR@>q29;XAPFC&&@Q;?A~X(b zBnVosCNf*G*$rX^7;`%IQRQ1bpRB{%zG_sk?m&=G5JjXB03zwP=BlAuh(yfoEQ<Gg z!f4(dg}Wk6>e||zp-gAb3Q?7*>yBBMG?Z0_Ss(g1DwGa9A^mr^J8Feh_}DF8C>6x4 z2#TOx_!UH!s^z;m-6V}ee!7y0ZjcHbHoV7aqv^h}cif|sb)Apvnv}TUlauE!B1213 zLG73ghQp|EZn$0J2y^;yx-n9UbGQkFWvOi(zMj+GhRJl!v#T=6A9K(Chq=Bd6C)`- zQlc^J!=fkQOm>kzm~Lib$E2a`+9QLO!`)&7!&oa6(1(5rLFz+K*wE$^broBZ@bQ*# zOn-F7Xgn5xEi0VpX<H^Lz5DQaxc_aE0*RaljbEyivkjaKrv)>z$@=Udnku%xk_`5s zcJr<!734=^FehH(Wrm=>E$>{Cxu@*KFPGb6Ny)=B0j4$$d35d~$pjOkp{?^fv56&+ zl@@$h>=<zZW1f|&>7_Omys@(GRnVA&w=Q1^Fp63W!2?>t7+CS*##j!G`MtO6Ky3|c zS-e4WGqi7*6<?;o)WBD8XC{v@bLt?5%WTUEQ#(m8&hZ*ZaXVJLFw-udS*J`gyINR3 z+xry1&^DVeAdKGXwCVu>T9)QxpgH)r?L%um+QQ7t5<2s(MwdRgU2x&Zj^jl)<HoqN zvnxmR<Ixg}h&-;>1E+>heHL15H;!NFL)fWxO*Rx@S{R}!w8EH)7~it3ehy_&6r{@m z*fT(X5I^3wR>1`_+$>IUl92x%u(zHjMz0XAYwl%%ivCn+2m`;9l<rS8tuvH0w3#d~ z%^<E0uhx`B%ybtYUN`c<?P)t^jHVI?_em|QR`sZuKIj`?=gfJWm(X>i&zV|AH(euy zT<GuZ4QS1(slk=hN%Mnn=+sCmU=0k0Y6tI49Rpxq0s$GNoS?+xsXA{JRNRUL3J-ae z{NzK$8yCNW56m0|6%kwCN)Fb0x%bnC{7Fu1A)8D;&}BBG-%+nr8@z~m<mq7BYKJhm z2(lDSSKFp|JZuF3c-zwPX6b459<t36nMo_MhYHSPXMd#giadLki~2Nj({=-w#*#kd z+#%-A-WA6EjYr{%2Q+Td2F`QrL8^{~6s-^j?(R!_0Exz#8-4Uan{{M8^oHOd^l9C$ zQws(qarV2ZpkeTA%*lslwU5yx9n(XgR6&jY=|mkPZ`HujrLCL$R_K|b3)gNoK53~< zD=QCf&Tkgm`iixY^=|Q~{N>TEHY)Tn6yf~rIMp~V1@dZE6ZKBX<hFBLe9gg%z|i`a zhLoy|;quId3>V!X|Bg~P8t5999Ro4qwUp!^dOxOa5mwN059PTv18vP6jR0)BzHvPy z(DJVQF6PZ#wLyVMRsN%fGGa;3@21v&7|-Q;BJkvmfiBosuIK?WqyRu@h1gL8Be8bC z!h)c<TtCQYo{y})#x2!i?~r3nhK_B}Kb8&r_D6kuR7aU-i%4xXP6CC>1Xh(MRQh%$ zw#j?TZ``m<DRh@v=FSLA`!Dn0WpqXH=F5`52cCJ2$5@NuLU^7j^5Z=G^Ru!qbCRY& zD~cK5a>Cc<dm(lHQ5(rBV=zc=!|3&#r4A)M_bdhQU_i+#F|v(ld!4|0SZn9W`{ag` zC~;sV2qM9CFF-6PkgdS4^4#C$ipJsz-(A9#CzDqU3z^Axu`<h3h$3I&NG4h&*ZZ1! z<N5;pf+N3_VC0<A@mQ~O1ZCqvQM1I&z+QUO<<(4DcP;{K=*OW6vLo70g8&cmpZcy| zQ;i|=xy3J9*Iu0*h^X4lvzRmO>e@FWEy7W`Tco1(S&)%V_oeLS$>Tx)>WU`B;~dZ7 z*-2SDk*+_N;<FBOV$v#eR}lOA`B#kJO8i&h{whtmPA{@nqA_%?>2*HN&8LFP!<X=B z3KUk`IZ!>>C3k}e7@~!>A_`NgD$PQQaWX;b<>&i6f58P&qaPc-P9L^TOl(GFg=+rv zf{U93DTTSrJr_QI8F!Gl^Al|}B16&~;Nkgh60_#{mCA9o>}#y@W^PiZ9Sz3hHDdC< zZ71Z}O6(gEOByn(XHsVf-p5L46HZO)2F2hTm*DhobW=fyY`|j0>z2n)UCKVo)ZNu1 zem{5oZoB_12R^_r9`b67<_^7AuWnvymhLrpd^3M#B)U=7-V}p3ZUs$EVz!-(edK=r zdi5!DcLO3WIb$WNkn%M8`sLoeV(F{h@qMwr=Fctr@Ib4!uV`v}OSnzsG`G^$%tM6) zZs9bzmBRvW)#}80U+wlrcUBN<Z@amEtv#2b_u~(7T#~Lf*Y1AVe3RgVQc(R&vQ6iE z)={HXa<buFsElShTI|aKN_U^rl(jQ*4vRut(S4)^59IshvDErt!)4u{=w}`W9}qe{ z-exNy24_-!3M^Xwhv8Cr-0nS=ktxZ(7{~us!h7bO8;(cHrL=Jm?Io(jXPH;BrID6_ z97ouxfJtBn2vk(F@u28z4KU;tGd1|@;o)6<n*}mNXi&*u(dg^>!NESyw9oUzwJUcr zoqiCCjQ|!tWr=9-%;~LNt*7P-a5MR8zrv=ev1YSHD<d3gx}^lMu^55fx%7Nu>&3V{ z<ud{ze`eyxDJLG%40w6Ftf+G4X=bf6Ffua4$-l)d&o$F-&3|OZ!1+2e4MBZ;w9a&X z+#69^f8+w43^qDkaVk@IpIUBqrFgxtv0Q3U1S&UrxWVC%y>0G+u)wDQcVKgrtq*k7 zO0uzpfK@Rv3>O=34!t1o{%2PBdqhT<lJ;O1<>YOviSN#oZ1#=V4g8k^V~rdhCxLh+ zk4M#bFy__q{=T)WLV15oP{pW!HI65?T*EBE;*Psfj_EtNnH+9UvJcT1F3R<2wvc~q z&RQU|=s>o$we(wJpv32|Hn#b2AFVI%qlx#TgYsXkZ^<j4QL!R$ofN&u8D90BL<ziu z01TJ2Fpw++SqCc-aZM_=UI=U~P|QELTmJCkgCAxs2~+u0WR#m=A5QNiH$dm^c6atH z>2sio4AK3!{;=PHw$8zvO~%s~;9MI>3^VW7b^G&zv)AXv%#FF!Gda^wEjRus7<2Jk z_+)5;_q}$1Q3vMkBw5~ixt+d(0|ATz7lsysJW7vol2Y^oZ{p2HwL#U6s9WQ54tB8s zu(r4%yGSMU-foZN;QaCL2azhZH4f?pPsFn&TI$f5nu7099{;20%Hx^-|F}}=qzg%? zTp^VER>~c6$FOq5Xy(3IU!~k~=Unb{mSg5#CFET0n3>!&_gtH8{XV}xnLYN|$NT;I zykF1P^LTG=_Y+iqC82XTUEE(N-2k%~@4O@(7+S*rqE%A4gg<9BSnfen<tTi8rmZ$@ z%~7mbOKd;B(y~IX_#aEg1#OhL9%0l|L-@$`XNJyXw{1kqH{LiUxxtWw*Vx+ZfD`ia z<F2u=27@{YHCj8m`qA0>hWI-Cdy2>JZxeBO20reAo@U-4H++hx;^>~L7h3kdhG+)Q zdx(Uls{qWZ-g|T=U0FAo1P=*V&sz_5__)LKN|B4HGRggH0?l*F4Wj~kCl7(4qw^h| zKP($5+I=0hogN`^zHtEwCtiOkB^-D7Hpud;AEc|FL&yEf+74HeFvj>{=mCD87T@|1 zdA_zRwrk`d(O4<agw51IUz987Aa>AT2J32M{<!c+^xJe-cTuGcc{&jhTJ|CGA4?eR z5+Skpuyo<dXa7(Mx0mmKscr2AjF0GMa3@^V`h-aZ$#t7$-u0^-HRyE+w3i$-Hfn4j zXlpcTU@oOC{Yjct`CLA3hSoRv(|2v9&D=YW)5yMYyg4)Y=EPNZevY;g#CKZ5HOOJL zq<@0y(`>D}@XVKqq2*uNKzdVGeHOnv72QYj7JIXah%97?;>#{R@q##vs}mGQ0CH_a z>A1|%9QjA%87aTqT=yp&XQ%W<a#Ko<(|`;=<2=#fGQT9p-x?1=_%*A>$y5SJRz17- zR(Ej5Y4Kj63R!*mvGS^8bT9~(@$uqrbvaf#Z&B{yn2T-H_>1qoO88lQWg7{5B2=<@ zznSBj#WzR6_ub0JJVO^!yi(JyPaD`O?RNQll01j^immnip_gXNo^JP^Z5rL=*3jv- ziLuCH<;Z^U>}6FIV4kroPxTK|H;@-KE^HVdN3Im&L*bo>`eBPI^D^)yGnq1>k|L8V zdH>4BJYEvjb!a&KuH%JIH<bH=o2M0%quw}wdeF@B=@H3p+bRPS(JqPKRzH6Wso!lR zhmaG=HkzI=ayXcD==k`VP;Wy3In*3*%ixwpM%zw^UjdvcRT{ZPeZDB4*YP0qFBWkJ zPD!flF-%x*<)jfMMmD$fiVx8f7*ZkTOQtzbkxh|VYcV)SDC$kdSs&%^$HkY=*BBh4 zntH{DqQca^P+ympL{xNDfcpkTE2v4Ae_L)JC50$1<rS3HdbkcBxKD&2P4+GWM_!9C zeRvG<tLr+YdWH~J#o+j1cEoK8{rkr*h}QzU{gdDGTxSQO^v~eCcXgJY@2@d@4cfe4 zsIiMkF^Oy+a!Xp$7->$X#MWGAVg>!0`K9}36y^Kfg>i2OYsWk@r8n2Cg0c-Wozqoz z;-Nv);<!S_)nEGppG!|9uW3GfbVj$F-o>J|-rACwUl{qOIkls`1}oXU2{xt1x=XI5 zN<e?!XVcPr$dos@)NZaL>l0`ciWxqnu1oz*EW&u3&5usuL6<~@(o*#$Z<0rmv@=UU z{92cWO~C7Hp_+}gJN|qWgqCJ^s*&gC%?w&dazoLV+s=XHBVSvcn+l^XQ-O_DI~Ph? z4afgPW$CJZWF4~<J}4;y3p??&w#)yHDrQp>6mWp&DZ*k@JMvmXK3OIIc233db&Csc z>AHr?-Mr)a{7YopLIq!UxVy67$fmuuC-5oCN*f*ryOXB*j=K@hj-5~|W}~3e__S;& zDR6e~b<$BZj!M!43?8Sax8O%`83B29-DS=0NWJ28jf1~$)peWqzgUBa#!K*q()E)M zw<f9c724>~2T-5J>^J7#Tn`4=#!#q<$_Ihtsyuy$DH~M>WbCU;KkXG!j6E#fl3h~K znK>Vvlh6{#(ePAPstw)%{8s75#w?k(cfEK$wN4Mx5)HqKIJye(u_63WPb9R#*;lva z_}4V;bk86z;v7TwdS_PPQytpOF8Ch{A8fmD-p4Ay{a|z~n%MbEU77WhjO@&{iR{S= zoS4EsdZQ7${gnH+=eq1#e~-WfDwWXDMreUCpU&d(H0n*O!|hz3Hk!;_M8~*V%K9M0 zSPhRv6jWRqb6yc-OKMYH$j(Dh^9%|@m6-5FJ8l*~Wn2YrA8_xRz%Ihh`H+e5qnqyt zg$o_N`Qi7lPBs>axp58{hQcI`;#b_3l%jV-$?lVky2&2NY++z@g6t8(6p<IH!H1yN zfR<P!bk!n5s-4D3qQKF%_gafbS6>0d?*KF!Fmsfa<yx?M|6xUfoW4&wYz_Aas*;cZ z8b{RcB&d;u$Sm#6K9+jRp%#fh^$8}>)x$H#{!UpFfvx5GsBW97Z!e)R5&?6-PCET) zGpzyDzS+Q2uHe)|w}V#b`^be#lREH!i;l{{DIFQ(M3hm$*k7nTUb=zZyh1Zn6NmZx zy~L)hFZCGcWjimhkJOO@wkVj=o+5}Xqv?egchq{&YB+hYsy^Iu9c%K9c1vxpFjHpI zlL?m|+gzt>y94tYjhuFd?50N~Nj)UL*cHl&)_uYeBN@&5@E;5D35uVYHa^jgzB47= z*4DCL<&@srvy=FbCC|^ioEqXu({xytGCut6J-Ly#;3crFq4}9<iPCHhm&OAM=&a^m zb<W8mc*XVnJMV7EIfvFVf(zxP_Um-j@Z)%g3C6YNbpLrhmfP1?eJTFrT;GjJx_dBE zWE_iXioyCj;LGquo8BR1F@oY==26Q1{5?Y3gl60`^MjOiAf{HPEflG?r-riIdCD3* z`<`#c*-2C3tojjOg5P5_Fu<E77IfMl*GL;}(ZYdHL#M8N94CJ36Ne;r?#a8PBTm2W zFeJ1k1VBUF=F*hY340wxfXXY?lkCAS784)UR+~~5*+&2KolRiiCON@s+9Pw1KCQfT zeIwwY5dr+AK=RTwF2>O%;`-@Xm5VF6euD23&q#QBbU@`cFu2iQz1_R|qOcy%0|p1n z&T>05N>%)=LhX=lBM{BG96GL2Aswu`A213hn|w3Ar06` B}OVtQfc3iE|OypT5x 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 z%0D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πXAdhYG}_ya3|2WzGhY2A_;7&&6Yc9N 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�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.F!@*@e{?xJyd%6By>Yb0-Kgvy1!-|Jd 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%0Ah7F+_qA>N8u{Jiq>+Vp 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%0Dwfz_#S&o&rGr6bpW9w{sM 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 CvUh#} diff --git a/.next/static/media/ronni-cantadore.0d04b7fe.jpg b/.next/static/media/ronni-cantadore.0d04b7fe.jpg deleted file mode 100644 index db7e83195bee585405a0a4c9e57cbb59115cfde4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536540 zcmbrlcQo5?95x)IwA#`^OU>3Qs%n(P*48dcYt)JsRW$Y{W~UOHmWZ}SjFM8sOsLi@ zX$3(L1VL(x8S&)zKJR(nbKbw6^E}^k@=tP~JKxVeKKJ#xuIoM?J)Q=fGchnW0I;yK zu!ymU0RYEDz+C{#|K;;vC;yjSu&^Ar0nVRfy~Xar#&RCOdY*;tJj?M<fG7aKa^ipX z4fuZ_7FIU)6C9i;PjQ`QHmExXU}a%rV`XPMae|$l*&53H9l(D6#D%MhdK?!mpKxCD z=T(YJ`+QRTPIWt<)!%gq<);Dhr?@U%<`=jkDJ6YfMposvsu~cae)pcffuWJH$-_t1 zHnw(;?Oom6pLsm@^a>0L4hanlk4Sj=>h+tq?-J89GPAOCK77pmQdm@6f-Eg7ulZhE zSC4LJZ2Hmh^H*nAcTevierR}vFgi9qGfSSEU!W{5EpKdYZPRvk_x2C|i;D%o_P>Vg ze+Ksdi;Fo3EUfJ8Z0wx>#l^xJ%KWgMXFqXOk>i4%CFc|Wi`SImPV(MK`&`|AN?h4$ zo$qPDU#?3MDl?KB|AqGdME1WISp5G{WdAF$|1Yj_z!^3c=H#)R2j~D8@22Y^pOWUz zZ0~Ar#fDQ-P+Hy{0roMG3>F&3q6~V?U2L1$soWWnKtjYE1=Tf=kNgpLU#)14E~$|b zO4=3xk>$E9953QF%aR}{Tgp+iD_v&>i`sL&Gx^O(E1b5o9HS61Us|A2VD4&XELnl> z$r(cV|MAc{dhuw}6g`XmjYnu519<k>9YX*y=5@7CzkE${o2c850f)7{(cJElrXLdS zTj$IgOY>|0C^nHjq&A$#iUSWsz22xrKCaz?w(7qAyqG6&{qANO?vCM{r#?D#$Jb3K zq?bsOFIi=i0R(C3+#RWssbBd{!gm)?59)t@Hg4~7+)DX<#QD%rj#AT_RWK)srC<2x z#d{2hWcM2rN5p7u4TRCD#^5hDN19kv>Xqk-07!#$sZQTWfl}Rp79hLyOka8-H3d&7 z(P4of2A7#1ps0VipRHGMM;D@;BcVDt-cb^bf_`{{yr1HDu#MwiTf+$(gsmzLJDJWz zEMaq^ON<*@!OfAojHc(;-}3{hB)kBb&Im3~_cqV(vua(L$1Vl9S#xSd1QMxKJUuB% z4jCi8bryoc9neh!?!Q%T@PH|u^hM4=71#d!H8?Tcttm1FWG5rP?T8e-;jKzddhBEC zd3Mo%?;KQlD1o7wt1Y+05C!YV>r|dMy|-38oHOBKx>bF{j|0TUeh@kkz~P^3>uUzW z3~oX(_c~WCO+%404BKe;2JtSCj_O2ATYx$@g^doHv6l}Z(HV!)EDG<z9S1S%XZ5WL zwe*BitjvKcZAVaLJ2Outw5jzNfcoiQL-Hl~F7Zjuzhx7LyT%*hHU0lYiul`nD%fj` z5e(gDyzVcp4B3=XXVo3h1x$-Xs%gKZpz!dK(C@XiStETtik|%=JNv;5wCoKxWxvR@ zp(Ou!|35d?g(8HGmaU~jpRf29&;tHjbT({w(9)3xZ84C9|3;Bo^OaY*DWfI4hCg6n z?-&p9${K`CN0Nc;tel+Uun4!{!UI~P7d1K?9T~pMs0B4QvxrFpMEv0{+c@D(bsnFi z;xT7pU*TwNRi1++iiZ5y4Ibn3YY<qCq<j;Kjd2Fzye#rei;q_5^{Z;$o{==Vs;qqW zNikQQw{oM~WUX+VkcZ~r`vu<`M&03Czq;a>+vCT8566HSQ4FWE1v`&VKEqj8V8C#2 z0=0S!xXxJHi=pBloV-I$H(()4kfqlt$a#{Abnx6Uz=FD<L#1~+Vr=E(5QbGD1ux=( z!s<tQTJnBJmc<Z(A3Flnq;*5*pIhD2ZXs;^Kg>Wn7JUp(x}tw3hR^31kU~2Ku>ZAw zBydALtF4`reYZ!5LK4k(8<(|!(zdUC_ypiiDDfwL6Uo<r>dRG(AFQgNzTEPWr!PoQ z;Pf$}jU?BGl{mQH$+<@+y*Je-si-PU-jz+H_tcIlnsyWcdv9R~aIGhI{u%9Z++IT< zKdn6|?u&#_rY2SYT(O8;aZ`m}t&S~jt?tz75(kJtIgGWE%hT{qF;<QcALmK%{%E1p zn`X}EF24ekSmN+HZ%@bSE-D%RzEUQ-@O_KX(mQXnRYyl5kyB457oP}V?&z^;a`QaZ z(%9+xGfbL?{OUVd(Hy9i%Rp~|sL9vMo}S|)djsw;!i2eb)+wB;h*#TKQ?*@g#M%LM z&i#Y4jP{eZc5$(2wzPDX>2q4|1jJ?3<cRJl$T6Us;Bgd0KmA@tG;AZ)9}d%Pp8()K z4+M59H+{J^(ua!y-?e?H?~dw&LP)KBrvv;>ikB|?6{4r6^T*ckTYR+-jTM|He|u<P zwG@zM+YHQ>!T21|{Q-+m903s3AtB`I-$g(=Uw?BOBIx^PtS(3C3^Zb+%{71QaFo9j z)YCS15k5;~E?cya)A07P?@8;n8``e%x>TYxaA|-?T$o4TtApimYYP_D?N;Umkgf_j z2-b8hF%;t2`A++?2?@3#d3+}xEKAXxR)_~%@|AC=lNb_YAf;LeMnMXPeOAHOFA;ku zqu#_&4;XnWl`GxiAacDCV5<{AO@RA%MsAn~SY&HKe45@Pr%fdU(EyOMf0uYFi}=t+ ztj6vyN$-m0&}~k442eK_3amZMd&hSb9pbtb5fIa24&bMt?z<w=tXi*x22`9ZTKSse z>tt;HFr);YpEqyn5H9ZMSwFJz5k-^JP;quv{pkE8_7*E_?r=R^EJz2GINMVGa`H;B zhfO)Q<8t3`RM_PB4i%j?e1_wunc7MGd)vIs*~ykK`HcH*EgJ>}$o?JZwV~zRsLZE& zZD8_wIks9qgMaZBU<>%qjhh;mgY^tvUYz&Q;YBPJ5lsz!TGjIoxm2>?&|1Pz)J=!g z+V@A`Mf)Lz)eD_+C|>XLiy;Gur(@$ar+Pg=<Bfhlq0>D*I<hp*o}W);&1Gh*`6ygD zwGWrkHkJ=)Rw1`{JoOHJC+{qEsubcZkyDogY+GqHnkx*2y{A8nZ){h1&OdMG*xY)N ztW+(gX($<=C6-*hE5N?c5>5zOEqiE5n9QrqODRSZoXis+6rbq3thy38WEnsj91n_E z!XP<kMK2s-td0TW2T2AtH&l)8J+A`D@}AR`$m*6&WKA1Td?hPt=R1y1HkzW>*i%O) zn}eYPr8X7D`aiyY)(F_TW2S9gS=AKmT`}^j0xZ}sVfNY48_k6}z2bS*q3pBu1NKsP z8?$1!#rck^dB8N;FvERyAk14*uFl-*6~Vz+qtkx1ZgiP3_50KQ)fBij-aKf=Axldr z7jBO@K!zN=h_;CSa}4;F(p9GE^fk(EPloKI^UHt{GUUFVyL4-D_rW{fuU|&AKwqoa zVRj#{jL*Ag-_5p}u^`P{Uw8ISD9(Pm^z>G6CJ3})?fSORX>l-<+F2=GiBGn!FSqp~ z={URvt}$VTVj=iu|2oY77~t_a!OpAp%gVrv1^41`iUP61ytZUsE+C*Qb0(UXF@{BR zwvjGBN1Pt2wctN0TdNFu+oDxz7(*78+BwwmK*xQ(`BOyVoAJ2*BX7B-!lbVOCnv%` zV_cQjV@}*1Cj(=IAIko!J0&xpB_8+6-Y*^Q@WafeXXDZ2d_V5>d$@xo+}@Blhf%Za zaySd0w)RpPDtwzQop<XM=ZQY4`OAjDAN{?5<B>MyRwmn&NFC<f#lJoVv|F{rgihzn zO`~4N)TpG0cwGsy3_E0;qY^94Pu|w3SvM}ZTdLl1P5;u!<4;cA_%)l{g-O?}rakZ1 z{se2~mM)&eFmMd<?rEB=^%FA<+<8$5aOi7gxJkkHFN9Wp@u;=L^}5dwc`{w9d1aqn zLK^VDyWym7QrqZQ+WANZclJt-83_6I<qLRDYfO*t+2`6KdptAm!Q-4{_CkjZ^F|ed z2<N)#@|oKfe9Jp(@(_uD&+nZ3I>xPkYlGiK>7BFt)2{O-Nbl&o3gL<x?%6)Zcb41# zVH{BZQHT2ndoM&d{7#}>RQ=1(E8^FO7ZMSwtuis+W^NDzU~=bs-k6R<RSnbKF(U3f z$qjX~`^nB8ne$$LS@xq9hbE6Q-39E6e6Q3klQPbll{JETd5hPPzhd5tDDQR6uH5Z( zRvR{B6i0}^o|@wSg~>1StpEG=hKkdb&TI19E7JGt>{ed9_+*{PkC#wE-AFm~J+)q9 z*4}7+BTuU1kc$_3Q0Jj$d-46xM=cdktE~%K9nL#L28xZ*GHQL%)_kHr_OMCHFy(&9 z+=byr<eDMR>k_!%p1N9#=Yu!;J4n@u<)MHw%f=q`e88mayy2Aa_s$4fSJYMlA)_C9 z?@46c2my=pr7omo?vxM6gK<>|XiWE4pVJ<pyWwjYG~uQodPDh6z~<pG0Ea5$HX*K6 zJN6oDHC;@3l30o-fN^Cv{Rh{q%T9gZ=n628xfb}#=gX(YXnf2Y)P%=MM!J&%mPQ$} z>e@42*&m#@ENC5ez?a`#CPeOB4g=zZ!<J)k;H|#{a@IZWbP{2oH6ua}j3ym~zg{;Y z|A9hrdn2;KQ&>V;aS!kGdW49DW5iKdVfIp|I!bG8ELs?l<@8R|Efv%TxJB_LCwau- z8opNIaUMrZ5Z<GE*hoPFS9#+jb~)ox>=DO+1(tyr-2N^j`d~>?<gfECG^al^J#?)& z?)6D+O4>gIDE7TJJ<u#*thCj>hW-L9=k5Id9`*re!hRqL$R41D!>GgO@RoIrm8;9S zn^SX}bv_WR`Ij@_1lWL!Mgjwhu@*pSX(9U5o3vwqN^sN25hmoeO-=ojdr|7Q^Tx5~ z-;19MlTUK1G9MA<pF88H+wV4+>lw6LIoQWwiRv%DTtn>ZJ;D~Lv&|b<?*gJ9>n^*3 z_$jbQH`PUwKnrDcQsZ^|LC1hgxsU_c>GaTaPh%B4RnURKvmj@nxAkb=Vc~&)!>#Eu zP#dHJu*<F#@8zmOe0ks<gTv&ay36z=iZ6|OE$=j$c}F_>oyZ6wV^iA_5ZYE<Nm)Rh zu=TNPB?>vYSE#$i!z7fGd}DFe>;ch1OQD(33?;u8NcHJS7c088-)B%1{qGEGR7*V1 zuHHkqOqrEs$b0AhF$f{#7+@psaXH$@Z9Br-`>}#V&P2hJ>Q(u<>R#pK1mMpEvGW6$ z{ifm5^MQZP2l%5^g7CJLyWcIgmoZOHW9)9P8CTiuc<RWjkib?GXU5X61^$7Mb)-&v z5CiCw+?;I1Pp<#EUI$gcRv{b&^-FssEAeJW2XaK*sz$*nFSQW$B00}c)%+mBr5t<c zobJaLb&=AC=2_u_Pe%Ex$nT1N%ykw!XbeQXAn+JqM80}iB}Y7bWdh7q-jkj2mOi5| z11TzNbQtJD#{IJCn3Z|-*>VtN;#c{)jDJf#Ece30&sL;Kxb<$+r1GJ_p74gf!g%10 z^`7y@56_=d8h?VQzHf9cUDdY3Tv<qv$bE68^`Ou<d3COyEvWkQt>r6TQo3fO^gYmr zzBk{iZmd@bS~tvnDF2A%GATkTKsp)|td}g2Ruuu|-<X?dF0Zz%UwIpR!H;+A1-E|J z2e0T}g#T-psH)|I_~N`LgqmMXnM*}wTZEVM=BnVPe5uMyu-RV8Y0BX*2Oz-3<BWx< zLJ5FN%|8v?guK3r_Vw-Y#!g4u3K|zr9s?Zm)(!bb-$=Ny`oqyxK%fAzT{INVEoU>F zwT;PEdo);ops{;&_FN+G`swpW{{Y6FdixePfNcYMTzZFPDy_r#hJ|rhevD`Vb$;kq zbE93H`wJf&dmITUGR?}lzAGx5J9yp<Yq}U<Ubs+Wik!_Upr7Ryd@%HF?5Tgok9tMK zksjdukcST$_DL`kI+PPbeVAKYRkdqsjys@Eb!mlG@Z6|hM*;`@d*fh5-=A1a4QQyY z7GBI%276MsZV6ht2b=<RN%$-lrRWW@s>XBwxg{ueCjT}>VZQtr5XX21pE#gnW`AG# zbRth0;1MChp$0j_9Ztans7?a_m8E!dg{I+^#k;wSwEfXmk*_~jpRunFOn0zDdQPVX zjJ89Hf~22|xf)CI*S26S?gD#peW>91V*udq6^!8x18#$`-Xt1DHY5(gd8P&7Ey>?A z<#cT&8g)R}P$%14+RN>LDbdWD$-!v6usPfX?jK8%nR6{`+Yi|oqEPLe6|uLsc|1YJ z&gPSR$AGh4%tOhMHURXAUKGpLh~G5l2ovt%6WW>g9ri@hzU});O>T#R35$;3zbQ3D zu@&U8EqFX^>#AuG_D{EPIhC7L)%;jvai`iOM<asRM{gEZv43JWlr?wr4?vi+*BERb z-8cg?a}66`S*ycN=l;mbwI~^<wGz66vKOvSuxf9B0NXAGe*z*=NXKKqMGao-tkv|; zkh&usa2u{6^V*TQu@48}=`D?njCdaK2caZ<B80fcl`PR1Y+)8fvl;DF!#HF=lMrga zfhc7F)-HHPXN2mkt_HBeehphdXAf*BsjRPn{4$+B9Msn3mq<M&f#5>C6w%mh0I^$_ zqRZ`L!0V*&UsgV5Rqu!kSPQBpO3}3w)S>*O$yI`OMo@q=A@x=ro?~!6x2AQ6fSk5U zw5VdPWK`OjzpotwxH*)@rek&4*b(8tX}65-{$LrEua#BU5mH%Zh6R{<z+4oKw!QPA zRh$BSLg^q0ie`Q#9H0hSY*ZQfmV??4X3y}1EFDC%zXaSVy=ufZ&*0<aWCI92i92jN zi@h^+V|IktjO|7WTRDvPtucWSI9WN#e@pHJMJ#C^rkqsGh6rmvbBir=I2Y3l8R8Wl z-q}RcD2rZtu#@{WY<?Ukdms(`heXU%#cuvyM1a=_^uOBJ)hT`Z=yXy~-P^gFJm%Uv z;XqDL5ROg$kDpA_JHsrW;W{d`Ue!M!DKdDe5FPWeZ#e+f-}oW!h#Z#zKjV>rU}--c zdx{L<UC3H1G@WzRFrYe<A~2MX-WTqb=ql60iD-G896>tU>XR#%10cE4`y*Ns5@V)9 z=v%wxsR72)m?P5;3Ul9oEAWVMf#+&0-JIj!T&j5hw=RdI6ye%;Z>PwZ`zDTqHRI!+ zOZeZ5wbXR3X*U`6bKHM>Y_wEiMd=oYbf4Q?+AI0HnE9fq_un-l<zjob{O<Y)zU55& z8<-TjY$OrVR-TkuXHPwfamW$YB4CaI;<mDFe9zd?_uVL{C$NveRlh^b1CBCaopjCq zN2+uUb|2h&0G;=4WcM=ai>hih<V3juT>2W^Snpm?PO>Re&<YkBsrVa>ElZN@LpYo< zR}=m;AM0)fl(kbzNIDmwC-z_sqP7K^E>QlL=cJ)suzrxT_2ZkgtolI)TF|1e4Fm$j zn)BuT4Ge)D$at+(7UcXM)3|sybi!@(WVe_MJ57S4!@t{|EVQoo-f8RwX{NgMh*(!+ zv1ZGt#dd$EsJvl^&mEi{b%e|OAj{Xzr32c3+4K}w96H+v?VlHrz6}*eRW--h@TT<$ zNBivCXtLx__{?oaoPYIjGq<#MmhkA~@bBVFIUfJbfYNPaqjwmm9)hTn2=~O<hPLi; z|G0^Q%tU|NB%3A;h60rPaUJ?mcvW%0K!3d6_~wPto(J6I_@a&cF~LT$d9)D3Vm3Nu z%TV6pz4`dTlKZZzzRTRjB(k57U%=0L;|I#GIKNaebEamQ-j<y62oXo9&kaYHK1_cf zif)BO-mV_DcYg?S`6(XEe|E?N@In)2SFpOyqajg60=J<p9n98-wT}S`TZhShnxl!a z9ao!^UM#^*x&E2?j!-(q{$S8G!_z7BuBG1!T<CoK*nXqW-R<cLzcwH7=Mx6z78BX| zO>{zbanL^3;!MFeS(1)rhfI%9lF&KRi?MBITvp{p>mpmNTNw9xP1J)|s7uS%orC05 z<v!t0e4Td{y8!^ccir1!tfvNLB#};0Sc!YcpzPdVU_xKt{BEjA-rJ|#dhC7y!g>;X z6Fe^Sx(4ln2Kekk9R(`kVE^NH-QUfarHPOv$PGQgi3^I|a&5-|w<G)(7r~Z@qO;C; zQzIuG`uDSbKR&ye`jeHXIvMknM}k9gUvrLCZ|;}r*yc+4eoQ;P`HCSq?Xb)9S+l{k z!JWeh?gAWo#@V-}*7!CaTj0#l#YgN6hhue`Yi`!%a_f>yh0Y@slbE=OwuO+g+|7#& z3Z*h>i9nksSk+_%y?2h6e~ADia~}Mem-sixz&z=f81(dMW^!%YBKb`WE$t8OW$DI6 zb!#ylwA%`wA1Il6r1}Br>O<Pz|0?$wPj<O~s7`Yzc7v!mO%FPQP2mCI;O<F4EVQv* zK=dwdk6{fdsoJ%dgShAtje$ZDAqTFd!jZYjdVCQ=qQw_N%yzEWhVTX$Xq@9Dl<?5D zzZQSNuT)^AF$FOn{mcSAt8$?WFHMX&g*Hf<ZX4}gtmS8m>IZQQQKuMIFN2BJaY)hj zCi*vajv^LBZ3A{ux-6)_f(%HPw|qwjrXR5Kya=Rq)vF%^v^55^rqU)=4kJ#i9b6P+ z6A%jR!f(-W$AHI^W6x29y1FguCnqqNI{0gJPKaAErE7yi!02@5ruz^poIDp5o!u>m zA`hcQ7_C~KOOiupPLK6G1F;7k_%R`ZabJ#k>+3p3!FH94`Ah?Oovsc~KdFOLQ5|f_ zan8qzDms??MYxKWK-GoF$h&Yip3g;uar@fZl_Q7#3&YzZ#6?4dA-k(4d?RkpFI*@C z*6Mf1vev!-OGrd?d}7^N-8Rv8`3J@KMSdZyW%|evD=u_FcBFTF1^bk+OjEA%F_LgQ zbH*(Kehz^1C!tLooJ>X{!%<rFguVkt9f(@C1=H;i3T218PHgM!ZLD-Y%=G!XwqtX! zjFwBMqnZf}PV&Uh?5B1xPD%<s0oD=#YOhGD{l0<>-NjOM{XCl?%db0s&(&L4S?~kq z5QyZhGaKD2zdXv}4~c7`;PtcOt3}6v>;ovZcU*^Bl?1-2qy_3^IR=O{9BFy`fW!L= zVJUOiZpv^UX7doOl7@~;Hw0;E)%YhJ1cAD&EN;I)ykw6?mrTOm2P#AwM&}2~btkNA z;T)$o)q}Jr+&t>kv<;<OQ9+pK{QE;r`(W?p+eguYeDe=DfjD-*Ft&{qm`(@lH;UPo z#P;}+Eh7J8quKW?B2Gumg#*eRq0o9a6ta7T<Uq7OifLE5c5;!&8Kk+XM<FG7h=nfl z09K!WsX}0pG@suE%(NQRrH5c)<O8YrR^b?w#ZL@2w2Xb@68kxIk0Hb-sCLW272HfZ zeij-L@q*{z@Gz!rAKrRY+6B1OBdoFeFZ!c)?6b0l=B|pr4Dj%e{>jQ5MC-u;zq4@{ zK!$yeTm^b@!O+})34Rn<`)M+3xM|;ePO`$(iLhOz{M?ako5CI$Bpf3WnV9cJ+;0wH zw3;I5t(VFUs7KGuzg5J&657BK;yIwzJz6}0sa5}SATd^jm#-Hwgz*kj#{eDe1d+c= zg1%ZCc=&dE*B@AZbRndfA&NgTowG4@63v;|Uin6Qlmq~-;5dN;7Ut&KNTGF^2)@OK zxgKX<bq<CJ1x)b#Ojmb>ozff%d_1<|t8v84z1L<67b3lw$)R1Y=&P}GMkh!bNZcfI z0=t9(U80d$YWOCL10qeu($x1qyrVSRiR?S0k%2GmW{c~lh_CP7&N>EEB!o0Ckpi~; z6nbFFlg85lMih2RsYC|4LCaDxYZ7s!xpL(5qT_|obukxKLCo508_qBCY+<REzI7U; z_&?IM>5|TOvWpQwBsR&7i9tmC+vheK;yR6sW{V{u_@&|_g97VKk~6cO|ELyWg)#V> zw62<v?vF4J#NEG`RNWP5?xRhvZ;}_qIUIza=fy{myrb2aDu(yU<!1&uFIU^x#7f2C z!4p8pr@3`M)j`h+tqkG=b6JZ>O#WqaQg|nLv1{!FKVX-bf#5JV2lW6!!kyQXR-~F1 z3ve{4!3;<hRvvW>;10-9EfKTj=V}152Wx4aTn0LB8g=pgt(+W0TTl;(Yv$%7<G5(- zNNdu|Mz<XA^oL^7;w8KgkkDNIr;BZrg(vpcon<Q5Q0Yn(TWBSQIq**Xa*x;BUXOEK z7hvO;769@u>Qdt9K>qRhvns6&@Z9;bstOCkc^?dRT|Ib5!*q2Sxtf+5VBDkg;}b=e zbLs^gQJ0iwvOF+OPiqO@jfhrPpd#mj|3<ZgdW6pS52(W7un*G|RBND?O>6L?CzHq^ zEI$9?$DzwVeI5bd<pdl}b8`els9w*g^=Wd5q5if&(iky>v})fMgK>4I7H^fC3uYkZ zT;e&O#;{om=*u<QA5PLX86O_6Jv+JxjfN(p@n<tHIDt*i)>^XucFzipOCB3PC0-^5 z*#U%ZRZu|DR{~#|R1Tb)ymQmW8;?7vMpu_My3KSKdxQ_1tBIKECt24*LjNkq5~8K{ z9(H_?y|B?{1r86!>C0UZCWf*M0VYx+_WlvxRcE=8U(FZmuZ8{UA15@|<&-yX-T#NY zldKJf2yRVw7DDvo6;>;7W@^>b49UG?KydhtZ+4D)-mFHW4(>;k-zT{iP1M)er(>A~ zjI@ULLN$MqjjWfo>?8mB=28-BhB8V`T9owG?}1!L_94ei4WskMiDUd%6cU3;=bXbW zJ@FIo^enX~`9hYBAj!G8v%Pm?EzYL%Q`lc$&U2`3NzY(vJTX$wHu$9WW&Q?4c$X*s zBl>&Z-1Rn`i{PY7MHs&9_$549H`St-XqX{&{kO~4N}nn<6TUaSc90y8Ngzj+)sD!r z88~EiwMn|kGCC&q?qooQe_-~3MxYd-DZdtj_MU$hMtVoLo`pQGC8)n@{nK!PKUKD0 zR*uuw+TC(4>ohKJvs5$nmZ7}y5hA>As_9`~Ist6a?2Nc~y<c_T6Y1lA)5$*6rYWRu zxN;tv_G8Ji{&V;h{+qkz9ja6JlkUgHwx68fdrz5r7ThIEEXXV!aA+SlKXCBD6cBJ> zwx1SqRKiz$J-+8OSJq(*x_4I;+Si>tKj#Wk)wcMqT|Uh<{aVCNO8*YgBx-b&!w4rX z{O#o}#-?S~goAMjfsC9zQn^-`Y<j5CVaEH}r&2>p&^aG{K3ez#GJV!8(k!{nQaa6F z&|KVRAgWNzSMg4Tn@JwbLPvRo<k%tIcXN4ZOuinogZAFO73O%qD0i-AvQoIRC4*?Y zFDT8p;B>8XBFy_|NV=x!jdT^_v*zH~*DrGR0gHd*xouykt~v&o*qMCKB<}be-0nwb zWs$ri7RQE)onL}7-rQ&`RO2r@T(<c5tGN|Q=*?(NH>;1fiY8&#A9$yndM>}-(V-j` zW4DJ`k}swtZdb@X_N8l`?QOYilWkkSUiV|F#%NvXbl=nXM;F@FJ~U$rr201MKI?cV z|2zgfLvpJ76t!j!?qWj<`}$66nDq}F1I|418RLKZAc>sx>xmyuwV1!-l&qb({YFBj zsOGZMFaqs`sHT{N*bp}5+7bMJqD8|TqyJ(>?Uxx^cXln`w_#2dJV+<~6ur=5{B*sU z_-p=O>tK{*NxzuL^$i2p7uAE?cW<J^ja|2*?&iDhA%Uniq4QR^Q0CbJl*YkgTtfG) z;30gOl~r`#`HzH>qILf3TRN{XlCm-eV5HxwVcd*kxn_9hZP{O4ALkzjrQ5;#_@w3y zl4T)f4j*M~DuGQwGL0aw8LonhQI>m!vnh!T`JpJ+*~6g*Z1c}cAvURo?uCo$_s$#x z#ttqel;~a}n*OcrF6geQM(f{mY_84dxlt3{^8>D!xehZkl<Ixn6f~V#VOu)1VfW9m zP}DcMbM^}5=hNzo=D}VA7DX;uz)nT_-Ne1`w`V6tsyy<n>n1+GY{&a9H!^YDs^ICf z;ZOK{JnJboQNyw(Rv8}IW&s+mjcX)MSokak!P`VjG+P-zO35s<QZ%kWSF8}biw0l! zfO>kUDI@ikUfQcIL=v)uRF+T{?cE%L20NfO`8^(R8&Q&;<;MSQMlOE^S+`gX9tF9X z-8AIys*ec77udJ@47ZY~j8g?_%@CDPEVy9GKnkaaC(u*23fga06z3N(zcSkqsX4!> zh}&l(cLtxVytj8B&O7E~Md>beeB7ZAHEU9HeYr!Ffsq;4Y;Fcq_SxME<wX#A*mOzm z78iyzl20jVZgpjo(b8}Iyke46^^Wo77?8@OpS8TTu_FuBQN45JqhhS)k)l2^=B-C% zn<P?<2Mu3;3{b3~#&lG>3m7bDy(Qzt+2ck-=&u6$W}{J*itA|({u+TW^@Qa>*aS?& z6?I!fK1P=pru9br7%<ETF!ScfGhVIVqTNoy@NGUteQqC69Cb<B)Y20>PbJ+h%J5NL zT-{+{^ob6;+uthCo*<V1QGifXxl%aJkp(e9Zk7Ix`Z7Px0Eg``LkAP~6B`0y2B$<? z6=MYpnh}!*W***B<gbus(s#UtVkM#c=yZY-8~(T6W<vJOa=+eya4pr%02XJYxQ4-% z!+|v?)M5}wYCPtGS;cNh9m%)b?(MU%0-qihija7!2`^hpR!V>TDJ#QoiSJi}%_N5( zH=C|HL|-+le4-`zeuOYzvm0#c13Qd3D_HoHMRSFpGhMZ&p}ku(5FdbmQuQO9ZT7X~ zcd=GYRm;Z!SjswSTk_-xCC~-(BCdT>=zX`CqEOk@O!&@|=J~IJRz5qPPR|j`NA!b# zBW1MHCO2g&q7;I^H$|!r505m_JB>b{u8L3`w>X>X_f<Kb#mbyBS`j8^gqFxN=?|Ec zZyDd-zC7+-9<uMtoTr#Oo>!EwnVq|O#yc(D&Nwz5)^TF9Er1ont@B#ENLW3m#cc&r zgs6tT_;<9LLsQvxBwxR2*CVg8_a!%{rxlT7Gq_Z!uOwi{%|9okX!TIT9Iy}g5g*3p z^Cw*F8Q$O9lvoqFuTgaj$W>)3c^)HNYAa0gpU*p3ClouKd<+nMg2zbjA$Ni{L_P~? z^X(me?(;8vm#GhN-QXDHmw(c5^XB=xc~mF$jcZ}gY@a`~oM%p{&eqyHe&coQ1;3bg zVP1j9fTU0rWSal!SH_aIueXfNvp~bf<D(`GFXyEYi3-_&&7#}ev&uZ^IzOW>zK1{B z7*#{e`DgkntelZ8sm{!7tlQaM>I|ALjBGz77S#Id-?-2ZxwW}apEdo_B=ufuBTWBA zmV3KdF^|}*-t<DzzsYw@_+)x|;pzFH7!`?(B$W4U$@03|QF>tdqy4h}!|i$XfTgbz zv-E>#j$EB=wSpOIc>+vNf}4VjhP%HuyENPyOxHne%H{U1EEUtX8Q7UlOi_{0H=y(y zE03-sexWx$Tv|G#%hb}>IR%B=QrhWhlvlC$-DgDF&C#4pH88<#jxMX5o`N+jz(rdh zPK$@N$<|q9XdTn+z?CI@0EX0}NlQapP^S8MqQ@Qhpb^9w`g^oJYGVRnOpFaMb4Y2J zuPO-6Sq`+AVfyU=;E$cSid$25-(39omHoFA_w6XJ+qywl>tmyz@@RgB*brkn;Pj2P zJpoSJN%7Qwh4H-g){kq9dZd%c5`c^Ij^~Q3=5l<0z8!*$EkP?|wxm+5tO4n)uunP< z5p(Gr+^a3A#{3W1f>g*<BzbAh7j(M<-GMBrmwNwzS+%NJb2%9ndiZzhN?Zt^JNq+Z z@O2hymquXl&nM*@E{@}w>}U7VR}ov{7WA&`=_IjbBahR`#5gvw*8_mLtYT@XJR~O= zNf%Xa%CDpleDO^*b-UrzRcSU(#O08Q3q}B#mO=Q+>ncyr$baa4A5Z48J|JPIz3k!N zfRo*wexnae16cMgCIRI1j#NMIn~#kr?fWMqB4WV)wL!+(Bm%8*-1Ge__UeD1&TMLY z7qJj>1qlQ8{T~l#kcxNEt|f^X-|G``xag*1K-yrZxC_UuADf7-P_zIikS+a`9?Z`` zbnqDPMq}pmGQ%M#!m|ot0Ns99-O}Q2#16Z~0U+W9e3a}`*|?SD>{Pc`b~CI9p_8gb zm0uW`2)Ipg02`=B%&$;rnwuh?KPs>sE+L|b=S^Q&Ud2{;`S&*;HZ7x~$HCQIj?UE? zrM(Ej5aV|0ZUl_~JZx+_f0v2DV;z`2teN)@Cg5iZ@`QLYUB%b<x|dBa#uo`);GUHw zs|iYagP}o7BqoiMUl=Od$<#~1c$KGFe=Y$h{FAD=IG-xFop`hH#MC|DXT{m_M}w+f zM|G2==!5X|42LLrFcVuakCdB_W<oiHji*n{mB$7czep{VW{-!OJ@S$<_NvONM9~`N zy){;t8pIh6$`j#r-F7nn4TErY*r@^kHa1O3-xYCz$F0@~0_mVe>VgG2JGYMXR6qaZ zjgwq(R_&*EFLo-05&MF0n(%40$75U15hDZ(`~rl3OL`JgE!H3rFUX~PHeSsK^kU7Y zg+rnsj}z1ZxwX8~=dmy{Rd8+iHpDm58~uB@?o3BW*aYCjTb!SAtm4r5p6;c=FV=Gy znb0MMk=LcrX1b2BDx=CYQ0g3@15iEfa_$j889^6Xz4>W+?xGb1=iwdWko&l(z>sOa z3I?6EpSuq2|8q-dg$?m2ux;)VISws0ojWLBx?H=o1q~gYFE3C!WSAb%H1q5*lJ6!P z_4Z-53qmgOwqh>@<FxWpIZi^x`-5rYQ%*sk<$)1zZ{j)uXBO20^U~-#+W;`s30l=r ze0ow$q&c9g@a#l>*Hf$pTEBcPrU2#B>F?Q3^o~gzvNOweMDWkvPr9j^5&I}5v)*tD z08<kDy0zsge>rQ7I`l8m(|h3<fTS#h)?YlwXL>Pfzg16wA#^deP<GV4?SWvNy<R=) z%QkVraopFe-bsgt8VD(Vk<!AUq;y$2-bnD#xrmFY0jC5wZ#QMlrH_*|;FT(qyU>@Z zA1^MnGsQIy_4Gz*38DE+Ke!K@rgeQfmUaZ4we+<{nG+S3KFYru;9;NUlkoe=*CP#w z3BqHI`S&Zd-RANq(+L(-`Wuf(2WHJpzaXP0{smFA3#oty-{{f_WnY`zlHxG=Su{_y zz>o(2ami10%tGIq|Ir=i^<hs+6*l1cGY!xs=OZN)e%B86?-ER%BG5;2!d#kvJ*Sow zmZo-zYeO)HUpDM+sRlDJUUI6QPq-`MBqtZgY4=0JF({7C^qu{9Fdvh+EiAm~-rhD4 z-kXrBq}wxK)B|uyOWRCUlft7z{;i<(k=w@r*37TD&{~ocQ)ZH4%=KI>Pk_B`qj&;% zpTJH5T+Z>5xh^MH)&Xy8R9X?OhaVpi#0xFTNgKe!(!Hk+ajAwZhLXzdJ^SYT^KmD_ zq&1o#m4`=@1K|>R&Uy5v#YENKwpS0)LcHTFT@ox=(qi!J>GO>^X-T!4-V*iL2jA<M zZ(FfbJ#K%~ud1B;PPSvJUFp7U=wzR=h^}k)1Kp>(+d0au^|GRu`;gtkZd{ksvcy<+ zjX+PsCJ{w0bJH@oCR@{-svT(U)~0))9NO346M7hpak!{2c)sVVouAUJuPv{DeP=(% zk;Ujg-R794Sf3^Zg*}Z#wfPX+sL5!HP0{NEljWhV0$f}bfJnC!mTfK;lepiZPvN3U z!}6+9j)U3Fbzhvp@x)D;`iuSDFIazTy?ybmdt5MNI>1%{;3H}7IkntpjvZ!ZjXOgZ zJgLEW^QnR|uH=qYMD)@#jRbCO9}c?<Z0-ii1c{71M23agARb4czx9Xo_B}fwwxWf^ zr(U`UcRgoFPqY9v*Y@>%xLG<4?9SYDUk&%g=H!$W*~%Z%hJAf<p@$#8-<wm_au`aO zSP__u`iTSq_djgPHWFGeYZ^={iqlNXArzWl$rLdcqBq*(FDFIwFDfY#U^+iq>ZBug znLN~(_h!53r=6uGdWErJ?$o`WKsk-IK&i!lAm-^2b7L-uniMLalYG}$%fYm8YHe%n zNC~91T5nG>>n48;ux^m%Bx09A!cfH_x28O_`Oe5OV9v7|BIKbJk;3=}T3SLNVf1+o z2U}M=Z}~{@lf%3{gP4!P%F8^{TEFgv+qV85Cps`}PB+R)?q0i`Q}AJ$n+M!ST3_p` z^!zMJ@uhC^8gIfy8bHj|N!wn-Ro<fCvtfrbdsR;(ED`7n-^wKW`{q$3W{gLUw@Kd$ z=XLH!aOa0naiSE~GCh?%U+evpkBf)V+O1>NEc`;#1zr40MA1RG)%zv_g#IogAk=-P zjqmU8uX%%vBBysl<e|8|IagXcz5FITui3$#Kro9Zpv?>24EVL_o9a;Iw66VrTXnOY z`V^-X=1E@3)XT0Wi#hA9C7siyAZ`JU0h*MWq{6R=<ci16q?}YNO6hA3=;5m29pJK# zRgC6?qLs+t8VnP8Bu8sMd$G!tA#R25?of}s8VjSd*C2*R(Nf~++$>r;JveRbQ4~xO zn<w!!DSk|=(^y!2ms)Ti2HL6oEHzS(H@m6y+cJKvODM1zM8zKjc4`?T`wDF%b{9nn zwA~D|bJv0GUBIp=HxGI)L_?y!9#!{};INEZJO(^W8RCoeaY#suSBGkGYBfh(vHEUd z8-}6=&k1WX&GX9H4QZK|q)S#C+SnSWUC32_>Ol+DgG?yTBi9TS&QBjLRjGq4;tk~b zq&9F<t0wTI1j11oNi!V)60-z#mZaJL^8G?6{z{^=g;jaimD{hmnv4+vyIpk7=fK5? z9q|N0gFwZ+iK6Ee80Ex(-k+EAB>1#qQOk?N$!~xH!0x34oJ9x9T=7rRu*~(U#~M0$ z+v5zIi2;Qy()`j<6lQbVqDvz3%(+uEDuUCwk&~aA<fSF<z4~t(U2yN{EZ)l2c7OFk z)3<HS1B9QBb2v>Cs+d7An94l{+%GMLhM2}I9|+VKwQc=@UmUK6`={SJwQSCzPQERk z*lbEzX99)aFI6q>dz5KuDR(iMU?7E`|Lg^)+XPe$bxY-%>?6oB^2_ub%c@aVba>J5 z?%{ucb5PFX2s%ej$XM1c-0Yf*ZrnCEQEjfDib0aTF~IBEGfv+#;!pN04R8XP%~M4F z%oPU{p6?^~bs8YIy(?)9Y*mTyc(yc~R)7(|_@~bBZcecSnt0`@&3$z1fsQoOZ=Hq0 zA!$dBz1e^Yl2{12dYei@ZuQ^3`Mj?u8a8j=4>rAh4B%W>8jJS*;CeR2xeLW~VZkCq zl<o4bXa(K)k`g`PPeOc@W>%mlK~ys)k2x*E6!_Q4ju$l8@OT}|j6ZPyR1FuAiwx}a z8(PUvp3_S1dL8HKjvKL@uFHW*LeVEwzf^65M_%a{(eTKu-jbonXwJ`+`iXQNX|}2e zI9CquB<%tu2#caI??8NgH~*c3Unm6U-zE;^1TvONCeh9-b-q~2sDclc5Cf)u+7r&z z{U8`Yqp(K=Zn>Q&0D=KF+~faMxwK8R++nqC6Uif{z+x}(Q(ZEQ#~K$%g?;D|J_rDI zHOIH)_!LQzp_lg^4!{dR_0K<ZMjL?I=s2465-b;al13elN#~#uP_(0%j@-1L1q#5k zN#u!Oz@|2`1S&HiQ|12G$$^<8&m-NK@6u5%^an83wc&we`z)O#GDc0}F<J0h@kNrW zzuGea9v2~IX=>`3Q-5qKMW9_vmkcAXx$2}WrQ1efEY=TyxqC>Kd)rnay!-7I6t+Lt zDwW4`-VX?kW-1%7f-D;X6pOOd_o6{=LqeG*g9;Jo*XKmC3!BF#6&@;)1g8L=H1Z2* zJcR5Qp`v%2!5{L!<ThjPjqEN(MwfSGE?>H!FYXchyX}Gi#t~u57KixFBH#?VjpwNJ zuGnepmz$h?yrXZ2d`^Vd4~7eKOa#W8+seJ_Y1ecU%Kh)g0;;W7d$)CX$$K&6O7Qyl z8!@(8m$_6u?V}Wa4L=r5*9A(Mr&Lbm3Z%&!zdkf2e49{TU!QwG$LZsLqMu_-lr==S zSbx4=wU|8Y>on)k_W9BvRA{c0WgO6XbERi2eEgukB||-TPbfI+E1~b89(|;K%35Wy zZ?e{(@4@fNYp)*mbb#78*FuTyE6yTnTJ3i>KFbXF+m0w?>Ew-hQmOUppKU^Fni)>{ zgTAfxG^VtoK7x^#O8fAFc5=lg>R#oU=O>@QE*YPCkpS;DygPiCYhTmc|2@2l3JmPr zNK#3W!@EcN4%g63{^opV&{P^n`VR*eT4`I~L+anW+{>G_Nc6Z-sd1;KWIlZ%7~y%o zXR3;CNdKx8#y+_?-1%{Q!6oy}z>L<pgXXf}$w_KuJ@b0Nu$ggB<3mbf;%<4vKw(y8 z(7(oqp%Ih2p_-<aBQzNg?x!z1l)oyON$sR1V*d2SbN>EyivQ~4IA=X6p>R~6293#O zS(v9_KbfdT$gA&rl6-#FKlI%2GCMo{K<{yJ*pR^~cD0XNJ{p-m6EGHy{q_^yC0Wwf zr6c8-x;_Cp3wo@9dgBzay|i0cG{TT=E&kdBetj+Snc|7VM}Jv2Yt&yqH(3!%b?EOc zyWz;H?4YmiX{-@!fd^Apm6Bt^o4lN&<y&gaw01{u&r;+PDG!^m-rvK+gVq&cPj~&z zxE#%ezISRrJ9!Mi_?;YUNG`-DoWFisa(JwAt%-TOh0dn=Sx|-gdnybzLj7BFcO!~} z^7H;G4cRAn=5$yN)AD{L5|s>v0!kB&92fN6)7%6nWPaQlHQu-W!vVT`Rsh0rs6rzV zwrqq=(vf}P#`>z`DRR+Uz6N;b6{4-#%`RWx4fMTMquK)Q{-X~&e+^zQ&$E`Cduo$t zmL{R+SSDet#!{bZ9k&eQ{$g8UG2w04f7$y*t{Ev3(u5hgY4;ND#O<UILJlb~)w=Y) ze|yo_!TbB9*}_Cv)9Dt2zjp&qbhL@*1~xhs^%lKh7w+A<!wOxnCfZ)_yu9lOw{6PB zOkSpy<aZ}l4HeWrOph?hGwxIl7%{6*S^HX8l6aKzXx$?=sL~p2mGHA(J!x~l8FgZF zQob<W=K0)%g%e2zFsJ;NE+F?AJ)dazw<g@${UoDa%_`rTCNom+G2pW=j}`pid_-M( zZbpvMcPnFi`C=5Z(8h29y)u0G;<+fB%B1NG@`uxXuPKFLW)WaDqWQUg1o$P4{qOZ0 zwj-BYP5QFGOBdW8SwDt;t&l8B`DtKQ9`;;P#wLjzgpXP`b#~(Q4Jksr3&Ec&OnBsF zU1wh>`TTE^BjkFOwN<6`4s_HZ3*(m8e4ie<?win}{3XoS>Zl0&yn?hM%rU#^KO@SS zY-PQn@JsXpN4oL0yp$bUJ0EHH`zn|}?6q51ltu}uLl|yr-@1^)?rd>xL&P_4VLM85 zT4E-*^v+}E{yjr=pU}zaHP#GKFgI!V_^Z)<loL4AW&35K(QkXXhw-jMQ!C3I<ShPE z1XRgCKQu(nng3g6K@HDV^^BBNdEVS;o#~F_yDl5_x!?Kwqt6~2zQ33Rn8=Mi>?{$> z7goL?>3i+0+P%L)v_tJTGci1)pWmCTuf6%FrZnbh55ZhZ4%oe{Ea2<=tP#`L*qB3G zy)bhI^)ev$vGZdS->Kk@hUFCt;g95U>f0{Y^3AD|Yb~_8AsIb`<m*4+;(U7){*4lk zPEfI9htSdME22$(HRDz}!vX(<f{+H8J{hHhR+SFfN+`?5-o9+bjgM9BFD?UD1_F-) z8UElWS1fmJ&^0UAi72;nuzux1Gvl)I)Ru;S2FzlK3d5#E?Q~)W>>t}td4rvP!->Y8 zNL1RX79RuUX5j<31J@*1O;In5Arf);IO2jXz8W|%)#i%Y<BIMHeR33IKba_%!#{2$ zY_uG)&dG)a7XKqprcb8(LW8!)z_@i@M{;_LsNPcd+y*1OENC9@n~HBTqtPTBDkqHu zXquEE1c#0?VgY8nLx0eB=aIC4=m(wN66!a`T1)=P2Lb-L{S^~qA0n7QKmTiNs^=h^ zJwYg?+eQ_#gen`&{ku}q=i7!*I?eMmuzQ;}_aMVJ2jxrsQ;WBC;GTl&cItKA(Z;^n zduaK-De_+}^(g!cxo@~`iAjZ+@x}(iVQ+->IFZYN+h4u(ek{q;LKj;So)OFo7AzJx zrX#j#{JWjX2<4@{p*tEqM_DmA`s>Qd$z0-Zuy2$<PSZuyVyU3glOum}a=U2}Jvt~H z4KDq(fi4LP@NZu<h+ZFn26h2Cd9?<!6B#Q_7}D_jO$OF-5ikIf%fQ1p)-CD-;p=*f zdS#`xlT>6nGb0W`t>1%W+h}4k0*k=*@d&q!*R++#rDG0Ig$k!gD5E5~R{>!;)l-3z zZ`mH)1&2{yisye7IJw0Z-E6B#N5=c{2ytZ(XS&hqYHcH;T6Ney7Zv}`^(1C5Px6fr zE2xXwzAfpBmJ2c<Hm+0q!ru%9QZE=y&$%YV-AYesnp+bD|0QiOsxI1-_VM2JIVsc_ zxp3HxO5PVrjtZI6WcJs08{AwHTCTHGxFS!;WoB6Uj96G#VFMsORoL@AWd>XmHHo#D z1%fZ3uE1Duq0T_|v|Nusu;aX~+uO>4fKUvNL@b99pNaQJ<ofkrUB&t1p~ryNRLqa` z_pj6-kBag(?JHW<(LSxJ_q;y5zEilGB};6&yl;1Xf*0NUDh1@+A@Bt(6keY-SkoLr z#G0-q#?QYb9?F}@Q;YI*?P++kgUWt>$uo({TSyzB*Ju2<&P2e2yM^HNPwtlXrnY^< zV<ZZ*9HW%sPfe+>4nZh|$4u7~%c1(-CUvHZxvgI^RMGyv(l528!d$Jw(O(TT<cOmy z3gn4Z@mn>oNa>|zjqha@BldL8DFqk!A$i@^u`Ar7U3b!r8=<bJ&8-*BjO98V|Cq>2 z9qQM)F7GMdV)V^Ai~g3rX&)9vI?c5Su?N2JKFGIQW(Yo7$f|W%tRn0<k@tR!s1Ex8 z?dpEv>86(e)?>2}RlL*qCy&!Y=uLg}o@Of&*|!+x3OChSrzU)t%?OsW>0W=d!K9Ol z-*#9gb4~QF*{VY(m)AnVC%j{s|4Bb&{W8N9o_+06VXd`nme5R}w^VL+ve55UYom#X zDv<aIU5O-_iO?8s1C~x>plC2J3YEn?Q131*M``EKF&?)|o%nlBd?U$p^7!eJ;Vx%X zX8{^HfDH#a%v0;yNdH>hN@KfMMBbBc#{gCC2y)8u&yrPcU^gY$)Kg+AC$kXk?Er~E zeattGoLa3SgyPLKMz>ZB_9w8vL*igzPY;c7^1GR5k^=k!CRi*%Hyxx2IG^UFGMp4~ zUxC2nd3g4uuZG?j7`Pi%@x%Sj>MBW@EwxY*7S=;-P7PW}Zo&AF<Ojg+lG1Wh%qvp# zCINE)GigZ+gZmzSeg3I>0DuNrKDNKs<MwTS)uV`GfGyKJsxN5TRDTepa@APkMshPq zH24E%Li&V}&^p}(0FYSewzGq|<$WI{>genR6pKKJ=$Rw0kSmaMa-f_dzl-|0nap~I zkr3-Sj{U~v2Cv>?PjC*VOow@Mjav2~-d>)#so{OvHx*C_NN*+GWNGJ2Z+|Bah-z?t z-sI4%+AMtQy(Q!rV1EqAnT341p?j8Te`#NeH&9|}11|f=hMlN5U8Z`7K7vk~rPnkK z*P@9Bhskme$~)54U09VgJUBss3(A{Y4Q}bzBX7^|Gr&rPg9oAY80-kr&^PEau<Hg= zb8h-f`lo^%N#;~)yz9E1@VAy(D^ii(a@rHk6_|I&08=Xxk>Nz_27#t8G_oxKeRKy_ zE%<Nf3XKF`dXJ>5buYdg$D^!?&IRjSp|(KV8>2V)(-3eEIs7~&kVBMd9Hazw=vTd4 zEU+CU4c95>S%fnQoq}oq9KzL)nV1NV*q>3K$eNIefKPm65C~K`BlnzSrgo(9p?<iM z<iHe@+CXCuUbo@If`Og?riB~D{kV)??C`U@ycoB~_R(8UrH`!C{SS`L!=J78{o_$e zhtg_2rAGBZ)uuIK>#!?Yvo+hIO2po3byrbhwFIpdJ1vqR2px!7f*>N)2qI#|4A1X; zfB!&oUgzBBT=(_4KA-n3PRAGYl*f)3+n(=|MWi;L@0cE!IG<VtVm~x3w;tLc?(e1C zx1{a^qbZ$>C7<m;*70!y>G`TyoH7^8KbPy9fozvxxJV)#U40l^YC}0Lk|2M$z;#UX zQT!La+<0j$FK<v}X@Pv}!4iq7QvOdmk?2Z3I__TfF&#+QOgeZAab5{9KGAOiUg3ji zSZUsXY2vr=mH&YdN)Jk+m9zKU_Q#BdyZnSIQi7ZLGk?_iaY_me1Tq_MRs{KxqMx<8 zTkqy=x#FXb@aMyZW<-_3Jo2lPJUDUlo%cYTTxscTQr0*oU|;!}(ZcX!kX+L7F;UJ- z(@poke|Q8xhREy>hjGEQ+T4d3XHrYPh0(07hYp~yaPt0Q=*?S$b^i0X%|8~EuTPm! zM07mACv8~W(-vjuImBxupoOEcS>({T@Y$dWd3mbEa+9)7RDN`|Yv(~<P4f#gnJ?DA zXo`)2BPY9rB@as{cAPK;EF^0mQ5)#T*i#y)!IRkh62lKm^M1g&13Ck`XBwA_l04Q< z_`MR)s$7bJ9mbk`_PWZ>ZEevi2oi~Kl73^Vqbc^Y91Nlf_1g%a3V&=W!8<I4-3S}p zIXKwSUK+aZJb|MV?KS~7{hwvE-#R}K%5o7W3FHB*vd4Mj;42PNHF3O@ofZbZhZtKr z*o<*YM)~754h9UrJsY`h<t!IJMj8Gtp8Ia<RT9R^IbQobjyS`l`ArB)hd-m29>z%@ zKJN?73wx_$`!V~)Nr~f<flNePz%lL>_k{a!$Li4n(v*?uv!NBdD$z1NT<j}^#Kj=E zBE-W*llXqEx_4cn#u?C88S}eR^=^_^y|)Dnjm{+ec{F#8AbM?pQ-Ze81*$uXW9$lK zYi44pZqkR5(62&GydqG(o6D#H1En}a+kXgM1RicUgpL{q*0_tKk_Ndj%paBCV$KY# z1H+J7v+>B|4_174B$5zUK;IUhSxQUojK`V!b?-0j%aHcjkf?>Vz0V5WjaRs5@`K@m z!6Ze5fJ%UfP){;Ea|a5D^+#U1hYNXADfE5DVN^$Uq>$2Yq3N?@T{4$7d&6c-j<?zk z^fvHvzH}hX(}Nm4Tk5Gu;8NOUG=a7~<wC%zbcE);Ul?KRv15nK48MDAp~z?Qixbd& z>|alv0}S)f&+ap~@pM3&K-JAN4V3~FCtzO<6(<3~bW%L4wFx_4ekRy}DevN4yLz<R zV*YpBVwFegZ1}MglcpSr?!f{&3=juf?sTV;St|h=g5HXI$LLOv&5A0aAzcjg&fpAZ zLFG$n@KZAl&c`O#f6BTwnX{1~>ug+jY3oxz!a+42AB$HW9(#2@J2facq2ZCgLhODL zNF`k0gb+c}t2YB4)-t-|4SelMdt!W|gE7t3z-J)4ry~A@{hq0N=3;fj^qc$1U-H_{ zf`qjC?k>x$D*83E3G*X*)f=wGPi?NW^^3ANk<PL|XyM(v&PbsSmA(g?*W|Sf=)lW; z-i~J^W^^1ye^N;{4aQ16Vh9C2$a=&fI{!WC802Id*BhVLE-v)aihUN5wWw*<ZBBxY z_AsgIGH<%H2$NsqJBSS!;u~S9D;;f-9h9E@mGSN>I~J^TWt7Zn!5^D7@~Lk^?*Nr3 zJGZf%578hz36>i_rJeL`iUTY}=$zVXx}52!p6=}*4jpI3=<bKGJLNRCM)&c*4T#ny z^NF&LE^xrLlPPWOG%3-*7skQyhCC+nY;9Eify_vpm96Y;t8~o7K6U^5LGbA_6~R;k z*UvS_3teLFzIVN!uN{9AP}L2PXvcJ1%)Z;r=iQoI+Ghjv`R7^td^#gqSDW0h^uzGe z!l$o}wzui2#01zz@62*-$zbGVl^jZ&Vu4*{-wE2~Pi*i2WKaJ;(4SH3%-Nd#OC~Xb zN6#9!z$|iqoKnl%p?8F9TYd)yY4(9p@`se?UE_jp_4fL$ka7Nwq>$SqwP$L+@OlIf zJonmQUsv6|Ck9jxx9n-KS2<%TCtEON;;0$0n%pe^SKM^Ke@${rZ7-|G0gXATx|B1z ziodxWJm4Id-{LLB^4s5PS+V#J^l}dn&z{{@5pNivCD};TeUF$$HdYJ~;_l+E{Nfz; zS}W`(wYJ<DSwTBeA*C_DJiK0Fv7%9-Vqg}l>~x%4Hg#917U2<fo(i~mwkxe}eum!- znvB1YkEa!U>5Ot18l^XA00XEZjoB3KZTbMpjmVZWJG^5^{{Dw!pcG8o?3`gZ{g%pS zphm8c0U@jU%!%Q6t9y{xmq<)(!=Y+IPd0K&?JXn-7$$oha>wPHT%NJS46Tf!zNzoy zvspWc>WzQ;4Lh}HgKxJ6E+<=f7Z);NI}T)r$xGhytg-o339g1|kNl_<L-}|E-gUs+ z+oHU8(g=%rU%3x0Pl0Xh>fyHAJ0XCMn$CXhB_<LybP($Hy1%SGBeNPgwT+#7_LHCU z3$ttBPxK=%P^>!f<W+>@u2XA{EATG${wTz@#7t2XpZqj-5R%$VnPtyP?gi#^H=;^& z%R^(`3Z^}G;!JB3zW>=`APxeoWF)+hT7aQcX%q*P%;rvUuR=Bh$hblCRdK2ORzEMl zTh^g1J?M*`kc_xmgre27#^v028YJYEmJ$uR@o@k-PZlaSx${qfL4McMX|v8)9=up= zK`Qr$V(gz5gGwOLb$XN$f897d77V^z@E_>Gs51j6)r?-b^bkiM3?~H}K5ppO=3sWp zVDt-+KGxo7isHRrArgVZ`*HvBi*6Vgn476rj3~ArNoyK*;-Aw{C^s9pl`AE(n8GN* zJB>+3tHHzBnrJlZ2-DN}ZY_{}y1h$A@2yOHyCFf^l(X!sj?6;UDfVa-u5yn-2l_>K zHGp6N?vK!G%GU`l@S~Ii$~0?F?6ehq<B|%PNt%4Yb9+lNp<M<Pasjyh-s6TR87UE~ zhFf$5f(9OF9g-6rs-=filTmx#3um%09cPpHVi&uFSAKaZs3O7_Idn%f1=oE~Y9jaI z9OGPV*E9w7_6CCZBAE%9ojk FCbi(5u>mD45;qrLYgk-ATAZoKZ-*-#0a1vC3q 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�t~Fv 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 )k?Cp=$GCnV~r=ASJXn`&7iQbb-?HfEb zuq3^^MO&T^p3YK%kQ3m)EID$IC+JC37+36P`7Ko-)4QLl3=-aSi>YXoe>n`=Yf_}L zT^rnzx#~LZvA`+_MUb*Hr!RvNgUspo1D@8t)~PTcVGF;cOl0xXf1tr|lciI2PWo=1 zJL$=r+uDzq%OCEMdoFL*&*;aR4n`MrssE4W>F;zZp5SO*tl~4y?Mub$O4lr0+^v*9 zjL&TsKf~L46il-Y#w{S{+csjghEpoRo+eXX1OG2i4afasUX5BF)cf}JycB(BZ}zX$ z#Jir?_X*;Eu#F@ZLULhzBm1Gd=&azc6NfG>Bt_vQxP?=pfw3wKiq1T%{(0-E$cjS~ zW#cp5b{{<sx1}=p>vgh0%7p*E<i6eAD|Fc7yaN|_W!ji#^^)IMD6#f)+nvY{t}ke) z7+IT6wI5j8vqow5j-CTWRnuh%Wm+YxW-8b`hL2rK^ej)pZZyXHL5Y)>O34Q*DQx8U z<KgX}71Lp{0eFphGmP^+`C{a|9_i0ndD!Qy+p30vDH&r=feC;KUCSBbuUX>z6q7SW zNd>#iH#HkhRHWupy#}t!u2a{c406)*O0OqEC-$L#C!|2qz}V>TJPS*YVmO<9B1kL- zL%J-Uq+0T+gC|6wnM(gw3n_xH^^5GaBL;g5gfli!mfKPdf|s51?d(2vYB{}Zqv$o> zK^@K;!_Chrw>Ufg!-8ZpBMNkjQP^6_n!;j{)4DG!Hu;7U0NaEGgOBwiiS@~5_~jJ{ zwR9I0zWlUp=iR8^oz@S5LLyr8wHYyYaA|R$OKW6a-^aa`pQSOp3%MKRj@HP;nvTy< zn{Ipw=lA0q;Ncm=C=Czf7_vA9sp2(*ME^b+?3mpyE$9_K=N~Pf0z47r7IkJ!6K!4$ z<GAw4`Kr;wF-_-YmP~eiQ$6U|MzG4kSxqWhr!T@|7+{TdIun@&Um78wKK<D>dVXWx z@=nj9W1{X<VaTKFr4PbY8f>l8T$A^4QrDI+n%EYpbd$^N46j%mA<+@yS%hQNQ2+!T zIBN9{#o5wo`sN897nI1vRt*uMstw#;^6%dzEVa|c3u2Y5>GmraN5-Lr50X&Go#3%` z^z}sa!DTHAr5(=wjYDx|JNC2h!|0o?*F-yMUhfZ*JQt4M6ce__awt?V7azb+J12VQ z^tZE@^OND^sMZ5ceu<u821zlW>jx{>6imQl4XNf{+xF#Tr^|*!j|(l**Dt#d=X4%Q pe`aJ{xR^_Ajqm56Gc$m1Wnh5lB4TR2%BMVs(W$@(m9PId{(oyYM_vE` diff --git a/.next/static/media/sasha_astiadi.ecd50daf.jpeg b/.next/static/media/sasha_astiadi.ecd50daf.jpeg deleted file mode 100644 index 4cb2bdc1ab3e2429857e72550d01e4b9de9f86a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52534 zcmb4qWmH^E(B|N7!QI2)?h<TpcZc8}ECdhkHn_VD1b0nvm%%-_y9NSedB5GWzxL1e z+;irhs@q+4Z`XOcOZwmPzbyc^f{eTj00ssCfO-D`{;dI|0C2Fd|6T75{{2EgMnHgv zM?ghFLPSPKMMp<NMMJ~D{D6&tiGzuThE0HtgNuickB^Q;NJM}~^Z^ea@4rD{;NJVd zBcLE4px|MkVc`9Lw|{*A9AsD>SRFVR8UQQ~3>*&3zX1T*yPgOz|Ec?b8w~8bj)+Le z?_5$C04&`9llyNKfDZT0#fHOvAK@tw&HTUqu+gwFIAqnzM@(5jKqVc33IGC;6am5F zX0Y#Egm)=;*lO5X0QE>z<o_t|4aZ<RvLFk2uUJdUD2|gXDFh_*>pwaGMh*X0;zLn# z1f69;K|Flme<TE%L3pq@j0|$Icm-@x9Y`kBjamXAOT~oRiwBP<i3%sn#{$CvkWg=y zR?}%i4CDd9SorWPw$md9{(A3Eh8j(!ZEpcq+s2pI`tVM`k)a6&sEHH71~cc=e^~ZO z<v&6$8n+b+D^jmns#7%&v7?0os*#WzBi|p6rmln#1V<GK763yKup{@(0UX#QNiti( zNlGw*fEth-S+rbnXgmS8EKSM#<H!X7D#Sq;R3RzruaT2!p<zk#sL|F^0HIhl9EKn9 z{PvuawBXU@wCao%5sa1vdO!DS@dm2*j)34uX*W;-gn)_<6;68uoeWyQtc*?d>m#Zl z75w@P5|a=&J{bVzT>>Y_7DpVx4o@d)w-ZfER?}zfQ31W8i5|8cH)iorS9v{5EI&Vm zrmmF%b@o`i-1zZ?aXi0dM_<jPQm2pjOQCquf8t>9v8kHt;T^T50dOEvaYX1ZafH;W zti4cmIPjQc5u`Hszqbd#1_LsH@|cR(IXa{i{_O4y(hagEuIY@Qze<>s(>?rkR7pqD zo!}74`)-0<qgC%j;(1~aS2woAxKvM?6`mI6G8+F%s8!IxC=UPMaL5JW@p7E_h=3q` z#5gzk5J}G9DW(bt08$0E-~<8S1K;fhF$|OiF#Aw;%5Lqi?D!+LG^@K%jIn_p4ZkRd z>B#tqadxWAw*F3JiMyk3Ap~<nRFpVvz!lS+$u$?kJV3CB$V;LKY#{KunCcxkvE6fe z7yE8Q;?aS~5|ywdOo9akl0{Pm@WW`tn6l_FRPRiQQjmNpjvfFrk6CN|Xy>c0=;t<u zsd;*pnwC^g>#xRynv-WYYp=X#*&Md_-gWtKA;%(VId68FwL{0(Rl2PRPZm*R*gd7` z_<9tjEQ#F-5D_+<7OyX3feOIrxWIS$0OTNi^HsrmbKsgdatebUrm_~T*`8J)Jm44E zEKnZ60YH$aIRu4>mAA+s#Hbs^W+a=GYv;=en=lk4XtN!5be^}2XhACK{Vqi}b`qup zE-m((ZElTf8sVyj3bpkE1hyMxJXV+mI~!*6a4j~Bt2hMNr+64NP~!?J{*(Wo28J-2 zwgr;#TQv^zzqILLq!HlNEy0qu?>u~%IVoP9AzHikN4s^)w9{$hhi;_UhrCbU+;tR* zniukV1%~$B<pvUICYQ>IxAr{*o7R5ah&4~xmk&3JatEGXRp{igcI^-sraIWCME+F2 zmT@07@MX4-`btw&5?RR?9s8dO?>2`lDUKXU;HpbA)H?zJAgkGlzt1%QumzI9bT2Fx zFX8mT)MaKdDGiA8*R6YsfVhZKg3RNRaEDfiNue;tBp3z<nB5pgC*`Rzvo=d#F#4ZO z1v?p1tUYte-6xkk?24)4?T~nJl9nN#1+(^AQY0)x;hBJIAo2g?!^_f1<3+(ijZ(-m zU=^zM>2a(B|D(Gx!IKlqlcd;+yX<w!O7bZOgtv$#6g|9@>-XLX6Wp?lb<Qp^pkbJY zRy$<W*JH2V=*AY*x}hG1Ox<T_2wX7FKh-3BnqYK-o_Vh#AFSmf$bQ&RWYQsKW{JVq z&@Kvu1<=G5{3i(z3QMN~(j<#c1OQ7TVcuylT5<rSqQ3dKYfX=aW|=JgZ0zP&LeWLD z6CcD&{@RhV%k|zy!nXEH`_n3BogGLneIq5|z=m%1!4m?jzNiC#WXDv~b|a({dc1en z-u!f!{Wm|)<IjsGi|(oSy@Y{$VG`SwTsf>L&&&)>5FWf54%y<b|1<&6s5{iDYl-Vq zp%lEUG3h1=ge@xDm#6mNtYU5$2ZNpGC+6ayCXI`GYZH@4c$Gi%PrWO+Pw!q$c}~4w zDS8u|`y!Yd!_0TLFIeq|$1k;p8fu#T`i=Yt^#2n1kR8+n_qn*freVxKu`wu4`cP6C zRc%6CSlcyDs#mMraH9ox7g8hlT*YZ%oA3a(7=iC9!8@ZKRMHg`$i3gg{EB`@yW;Q~ z`-QKbZ8f7iX>}LJYBR+;F&x4~`ij=!Rq@pqHYJ0z#WPDL-wk^j=}#>B56%reKi|6D zZD4*+Sv<*{-*#0xXM<LS-J`v#@>eID7K|U<wXf&KIx$arJOAdM@n+d<Ef}7z3LVeG zOedL2vpQP-<D@&6#y2wVU<<*9r2^0hR{y6NoR-3Bh2DR6F1)`I0jSY~>W1VbHr>&E zxUCxV@HNNk3&YUzg<Mb3JF4^ZC1<O(C2BV1j?^3Hb6)o*3(Np*xs@=sA6dWw<5mT- z+YbGzR+`skNG^K!gr4c7`zsP-nMhCBH><fF+nbGaa^+1BX>#|z_0054&GBb&+WZj2 z-^pQ(X_ZMFApU=J;+2FA;=oY@^o~>juu)-SIHBF(EY5@?=!6HoKz!V4_ZQJ)qkO5t z+184EkE_eGmi4EmJGaj)`b2;1PHHsUZs()dv}W&>741mPg_$c)2`rev$A`^v3Dr}3 zzrzN<`h~Av|E-Z~T^JXrIh<JCHhK~kvlpH}9~uUaTDinK-9?tnTdV-7N+khsMtn2x zGluv6c@P|e#N_}8AoK3p6mWtg*$0-)I~_l_B3(W`+p})wX@BPF=eP30-lK-mD`TrC zw`(6Vd*|JAb4P-Qv|43P6CL{%kKYR?Zics2Ap1!xPllj|uph@jNw1f(N7n38@WjRE zi{a9<9?jD=fj9r{fWfV2Zs|i(L5N#kaIUvSlA0MwLvsVKd~s9-^xQ>SD-aMWi_!GH zDbr~Oplibi0@N+x(v)imxRCIb>k2{jqj=Ry2iQMn{ISOU(LzrDUPMG4)o(yQ`ekvk zbJmBT+;r$)==uzF`Da4;0xVtHjs$8Y6uMUhpu)OtY31ZyS>B1+f>mBqM_hbQ8|%-h z0)j$s_WfjOTHCj%Jz<Kjsa7&mSRiF@0Q`(By+t@DSt!YWD<NWJF$jQ9_6t4?WZven ziUH<v13RF{RgUOe=kjxTmAWR$?T0PCVvULl6B;%iy*%2)9r?pfe>jr*F*TVgLZLfL z@cabv5ik-s-7GH#x*2OyL2?dicy(^wRP*f`m1)A7?N=Cxys*S?#3E>OIu&K>4>At1 zn{OArfjnGa4T6#y<kdBGIAD+qct{y(M9K8xr4x~nf#_<E0DK85{NNbQu>}pc=3^>= zU{yBA%OrI*WO@GThg3+{)@AvLLFUpQv4(^1>Z!_!cSg=R`zy9C?BNMI-*aqNFdrgd z@|pc%)AKahE^fU2zvXS-{;-*pWzeYhRLk3tao^<p?LGW`ob|-B#obYGqDqS1@!Zm3 z*I^7Z-2OTle7+V1z^(uc7ZVj*(})&HYrq1+fsClkk*KhtGjJ#*f9fS!)PDuH@{OH? zn@7!)kcg?sfxn^+^JktfN$+d;OYeTfp7-clWbX>+kf(F`u1!}@Xxsr3Fv@4vRY`m^ zqMbL!H>ShRT=PE+TW6>rdWszC1fcN}&UuYmnU(viH?6mPPR;Q3>g0w{Wg%FeYnmVy zgCpM|K%YeeXQTlKA3}vg0&5RU1P<z?p;qkW6`}xO+iMWipPF?o&uUhois(hrvudHB zhLF}By2^h5`(rP${Ar(4!4Bv`aqhCe;e&_bwA_!)TFISQ&*m?4%8H)3GCmIUuC1aj z*4nq5yWz)fZEcsIe(s-w+;aI%vPkha$j81VAGUDuo<XScko5)F&R87dT+Avm05~JD zarpGuh%*55N}YK;$)Zs}1I{s>9=u+~7DWu*zE-iOc|C>isZJ*h(N4pPOtA;|Sp}@t ziBEd0$8twcw?qEYwoja*^GcD{kJI%Wj_Q+f;7rn;WU0Xe$Wwdx8{MHb8X<f6r{GIL zQ6j(Rx3B*IviqN>7Yp;A9B13nh&@Y3rjZP3byl;{!F`^A8&MS{1&g9ot4sg@XR;I> ztUNG~Dn=`ez!p~CNQkBqC$VA+pKLayEC)?{+A{U}%+iyX7-TQpH#ssl(GjTCC|I8F zDbrf)RckYG?(<vrP?Qo2`nc*B4#fza3U^(sP0u7gc6*vn4$&Ee452=nMI}$)E$bfM zj8-q*<taB^%vM5oK%=GEZhU4A`*u@lAey8cAIDLm2bGqh)HvDZCIF%+G4{a}6<`6G zLsy=5m<pB)=2tv^iJF~B^g$(yWu55qJ@3MWu9ffCJ(U)dMZawceD-0sGVX&WUy*>~ zgpDQrJMWE*d&p8;F7>1`it$9VWvU{s7^=5rVjRh%-Kgc^v4o{aUxMPmqu=^{#+tjH zg|>pBx-9YBPlJI%vV~d|Hiu*r>*6RNcv6jIFA}O|&csV1*boWlq@~9TP7<gnu|_S3 zuAGG{;nnWPCo2&|j?=beKuE352Z3jn9KlL^PmLy|?l#8tKaKxpRkx2^8qJqhrCZkM zQ=Rtgl*>PSj4e#EL;}ckGvAR;`Q7N7k{;wi_cthP=!W^L2fs!y6`gCfl31$Oss6-| z<KaMKl4)-sicYG=IYu1NQUVag(<A>%jE*6s&Dw&2CRGZlYlGYfd|P$Xx{W8>1d`ho zD|V7wAlx|(PsBPHjM|yJ%}h7XDJ(kQupkw6w(5}VA8X?+z8Wi|?dhvy)w7MNk`UTM z30?gh1tgV<cv5YBlibBI&gHt}rOZ9C;c46HEzWzQ*BWw%#8m~BQ_WG$fEM0VTV+MX z>hU0au1(%aQUizp6$ULnQz8Ib<5*>e5zI{IP6==~DUln@3Mh5jtmXfr$#+?P!_T-L zzTS+l!QZQ>Q}U%a1|p{XGPyybe<w_6lR4Pqb#D9gMKQ)f0o~BUM^$95T(@|<&wh7p z=@Yk&Sd~v|lU;UR1Ad>}cHa{PUP0I5G4t}S>wP|O=d))@Nmpmi0~sricd5#2>%oDi zhkMG2dxt+|)eTWgP2;lH3t56VB*F&S<H^rtQ_3cUpa}-UzJv}CDxRtyE#GXgPb0Vf zK`=hXKcj;!o<SA;EhM6y4RpTV+3M=SG6DWQg*Ve(>8*BjU~{z6x87~IOITT+Z!B6F zdux(!J`^@hdhY%5wt8loaQdt?CGbiSUgmpk14Yob35_AgP1)B`BqVdE1?sGMxsO7r zKL50}<_!p{5vewrB<?kPPN$yfADTM(Zun={QTdyUQu}#*U(>f4j_Xc=`itA>fb`sv zvn%D_1G^8j@RL5g6S=l<DQ+@HqrVi`{S4A{3pnn`oRBo@tHiqg{C%#oa(45TJ31x! z>gK+i*X1Ff?+i4|E=@V%y*HW$8N85HSGirivg;NOJG|^3y;6dP@8^FP(vjTjqc>1V zp`U9&Ft&dTc8uu5->5{E=IP6zu;A9vXo0+{bv3HVqmPGik1)&gPTeULo{CrudWuJv zWwl#TM@FMK6JTgE>pk`|>s!kB73p=o^K1%l{jlUGc{QU};1Pc@r$n;MJyvwqPA17s zX6~npiO-yPV}^VaX4==_KJsjzoQj~>^emIU6<=PgzS~J{zu%lWxM!L8yK*Ztt@``0 zqc+|joQ%NVel4Jxx{f+rrR<wiN}^P$wyZnWlJr4tn1gJnp8ppw7hwxm>FAx9!_mt= zQ-WCT&C-c1Yg<v6CCR`uU3pSx$`3xmwuz%n3Ft6t-Zw@_)aV_r?d6vD#STom6rjek z-qzS8PJj2pEk~9m+No8e%EJd!wQM6CSXS#~K+ez5UWFtDBUZ!4BINz`j;Y_Q*u?zz zbd^li$z~^e!6U_&qkjOV=cdTJ-3OfhAf&2jIT7=sdUYA5dg(h9DhsuGd31VGBaFo5 z10LwqO<csODV1UBrH8lX(DUrXVP9$7j}mq-XnbmN$A*SNh?AXQY&QwN`*RMt5ZSb0 zMAkaC$fYBU+~)Y=$!&oj`&w?v*Fx)9&fg8h9d|VfLQSO+)(mH6o31Bcy(iz&VOb_8 z>aCgeWkD-T%-X(=&@9{we~UrU>;YfHvHKgb7RHZ6gKlHgR5+qrGAl#k3R_`x_AV`w zxIry6$l$Xm!!e%((PymbY+B>97wv3b$CWgpMqQn$Wg3mT<vk4z6j--PgtNcAU_z8y z@W>r$H_xBWcD?(8^z7vU9!!2!>WOr=xNkxfhpf=4Q(A?dRD<*IeJ<{w^yFxbt0=sd zaq9JH5voIX*@E4o%#Is<2ljTmmKV57{<?i@7_lv{*#n|qrhG6LKu`YwKk>wUtMrq6 zFh9_)5BN~gFsm)f#n#A;OoCNLgr1)BzAWy$wa>PmexjuVwN%ArF<MojH}66WSRA!< zf`@s{<>|0uFRV5lb#r_O!bDaNcE;Mj(pT(PY5fvv$6z_1V%MJOs8!@0_qyhvTbi7M zro~}Qtg>6je{HcJ#m{{?)SRsb&d!cCYj5=Av(A0(>J~F>-rp_)BmCG9AX%<z_y?$X z()FI+IOEpnyt%Bv&<WYM7`Seb2SkF1hSA{*W@KWBn``YkyBzAa15$5gG!1$Zg6hRo z_A@Pm4d#l3W*fS#qWSt{s_6Ai=Iy_Nk&UhGU%JTt{3XuW9F(VR&z7<RuL2`uqk^h5 z4*5OsSr$6fm)bSik~X-?tJy?4x!3FSiye8LX6vE*hF`sFiv=6{ldba&dp$ba{Z;s~ z`CQxanso_XN$z4-7TgSZS1z-<4rOmltBOWamqoP;p(8=ji>V1_S;%F3M5xiAlp2@p zD;KX8*PiAZLyW3sMw06#=!6BWeK$jp1%JJIX<E*&10f#WFpF}N*m`%@s2Ge*Rac&p z`f^sG+Hy3t*hybN*?a|VHVrDf2aGhdSF2<e<IYKiTt(_f*vfVwwU7af_J&EMr(d@p zN3FKcc6uR8VCmUwonO@nA0Fo^2vHD*8Ya{%8=&bHEDmEjB(?aY@`X<HFtodc;4q(q zZItY@%8~#X4#3$(V2}zE{i<9#$JYHhVFUF?a~4VC0hRls2>d_5d(4yr8vp|j1B(C$ z4+{r)50SomL+?RU9QY5^2-vtZoK##AcpTzth?4lU+;mcAJnw;2<oEC^3<B&+%&XnY zr~D>w(-YZ$0L<@X0baNN0KMAO9Wz}_APVt-x5Uo|*x@t5OLH0zjEKEKz1K8-grQ^$ zH?+*<;%`|$F%#o>A>gnQUI6TzErfn!YPQx@IOtT3jcwnGOF@ci!vXX&*)QRTJ7t)B z(Tu%AEBi*FErPuV{S&Iq7hm@hf|QMPMYY+_d=z9GpW^*=S9+wbmRbG$(A;2?i&<ro zV}ji8X@o<_c3fi&vikOCy|i!=B<ALXcq%a+GE3Lq@ZaK!X7HF6R<Y;_x<}94z_F?b z6~L{NPC|f3V|a6Mo3JN9&AwbFghbzfvQZ1{fayG)ptkVT`lp&eW+a+ok6*bc(kDrB zkk&~MM5wmCBep+B@X^6U0ZW-NUZQsd15qZ5lz5#HRx}<ADZj?52;flXSC|uT$C&#@ zJy5O_A;xt~Y<p1{yM*PK&TZ)|=7@PBL_(ETX4e+&j%#dwTw~qD?_8zP+NvDEFHc$P zz-KRJu;y77<^gc?6aW)S;rRVM+eahQVKyMd9&NM9y>KrnS!_O)#G6?%w36uEHAx|F zUvG*cTGQZGyMErvUY$YydRZA_kXgVmUf8IFDr8jL?-!KA^TQdx)72DDUynhtkdvF8 zyjlycFjc@~PSvw#W*0Ah9SKjlz;=0QUv7h~c9DO=so~IZ-nc|&O4j;kw@3Ai`8}o> zp>kVWN;q>KJQl2<KaK~o$Di$~k-<_@RLo7eJ64_iPNKI}Ht`E(0eFQ(hcE5AC%;Sx zQ_nHTW$osF*4(tk7Y_EZds3pZs=Jg-2syZ{=EjvwqPUwTI8F7>Hc*$m_+x^z0s~sW zb984HvrC2wHzd(<i_D6-&z0)Y(yOHD*-GydX>X!KL8xu!vIWHyHpuwZR0(XAb9a=- z*4LY2pXg_|tS4H3)#c{F)!-rD%zD;sGz!vfjcEIQvdStD-sD&lB2(h&lAuU-&e}V~ z#YWseg56unnPPyiF&kq?)Sq13GL2Y14m&x3>Scr%$iQE6Q+f%%x*&%)?6{^%z)R)% zs)%?|q?v19!TpU-RMlOvbeo8;z5stt$qLoL4iG8L%2yiSze-j<>=5orkKV<s*=Hd; zdga%4f{eFBqZx;-e*63#uHS$#8T*pKQ&`T%yf?-uhlwPfPh+kpx3AgPxUj=T6;%iO z@M$DQFCQ-`J+3-g+Jfy|427U7*;BkI{OIyIAwp>So<Zs}iJ_;FFjG2;dGCX4oAeFo z&4w}B#-_=*23LPr)QSTQvyl{`cTuVK$VCpLpDC4^DMj%!N%PJ5=(+kM!Q)8pmu)3_ zb6;AK+ONB5FK?DA?{bk?GSajNxazg)kLcVM<cD6-UkqOOy(;mF2p)4~#GsT8oJ;5l zEpQTH#%1kaafJP7SdE!^4h`JIC`s}}58~fDH(W!b$h*~P5AOy|CazIRkbIeCwk#0( z2SEgf8VxmzrM~R;^VPU!?Rdr#(~SZsXBxv0t6h6y77jTN(GuM<u7u-g;00U8)bd(K z{Q6MKM(BntMs92!(Ybt66bOk`;bE~Oc!OIqSq$592MlRjb9l)%${r-9_82=Gn`|p1 zsAooZuA+#XQK2jqd&Ix;G~|t20eB3Z3b@r*qK_PBf)m#RGm|Zq9W*Y``q-I_su{SW z?TC%cl{IWew&;E5CHDPALlT(DKgvk6_wGo#m#dA$IMasX#J0}PwaJ2CZjYWsHX0&v z*#;a+Vc4WJHQnjVL!#SQ9N!9JnAPGPloJ^QtyGS(MY?tO)4Q)-4n=x<gE(DA(xIF` zp3OQuONK1^|5&h-U)W`K+6=CwtnTZ?GY9U?^V_{r4);opE{~k(RkQgTSM<l5xYjK} z`?lH9!}qoU1jBSl6yFeHcq3H`X+~TnF%PzbjTXhZ1!C$gMt5hTREcLe+tQ7Cv+kB0 zKvfFNT%wK3aPfm7n%i*=prpwU6)*hbUHMSI@0$BPvgvWVo*BEOoj{B5Ygv(hfYf;2 z1d(<I%8!B>8-gg4$MWH)99#q7^E5bVoOH5?Sg#ebr|A$x#-FJ!J?S_jTg#49<2&nw zN9Efqf>)gpWSKaT<&Aa(;w`QOY?*p`{&uuqWLPf$0w+JJvpxD}y#$SK^XeRa3v!N~ z_2v=|yc%gJeUrsfjJ7nh{0E@Ja`ZDza3%Y86=juBO+Ya9i-3!S`6H_gy7Lq}XFh+( zL4V-yy&V3RG>7Xyt@uN|TU@(xn=nKIdQL&Iq;_Y8RHZ`cYXi7c&HVzt)Hc{=!FF_9 z-7+i~$-}hIl=%sXxH1cyeC~W-WDV=6v*7Zvo@9n!>=|nC`$+rurnfb1egG|pm8~<q zzO~X5gnEXH=uwNR;T(<pyk3o+w8!a@1w|WV4cs%0kSchNZ!CMs$XyqeeP_4MQQxXq zN}O9&e}!S*dAy1MW`Bt*A>c^wjc~w2o--Lc9m-_Rs}yIT8yWfsXhdsn%*MRkM!u(x zosGbZ`yLyGPP7~<dFQBKPpX7>N<Ck;sY28@|9H3Y();_569}|dRvr*qj`!PjW8!9k zFax%KusJH4F#{u!JA5cRbcihj)uufDz_(u5V80A%AD5OjKoni29A~=%g=mcff3$vk z%171dJ7|8&{4|koSL`-Onf~W(>UQEy??8dn?MwI{v$E~MjWEpRnTlfkxs@>x<1AL< z#hIzY47CU_S(^s`qfDeGV~b|DrJ&{CdYY5{U5jrDJEQN$B2@CF>4Nr_p`Jqac0EQ7 z<;aVaGq6L2VA6Teip8^HXrx|*@kRM#a_m<Yom?)A{ExvO)k&4FM=R%YO7$tY@TN4K zFK`oT0w`Y`M`Lm$Ez;vu?}?+vK5-@7{{xtwJ{8YEA;M<cjS4l3j%`%`04hvF*F<Z| zMH?mdqt2<BAKw!%ZR!uo<Sg5Dt{8(O8%c$%Wr=Fc8f==QEmDh$DPeML-=ArEccD9< zzf<pmE&9lR{G13*_8b2P5PBDI{{kILHDD0GshQI*`?Hn*=4W1?+w{et+5mhi=9KYk zKa}Sara{~dOSCuVvFdjPov!w{%wB$Kergol(o(QksYn%#BHJ~%(e)o7so~?^KLGuz zKBe%l;@ABBxQpz!@6Va%_e;C0q{R}rkSUWrKK{CgE4!Zy2|~k}AhA9VOI5JtBaa-d zI~Sa3R1V%srOC%3+(BY0%Y5BrJgw29(tBh6MmFf^d#sd;FH2FCuc?Oa75k;WC0Y#7 z^l-6}^85DNOYwt$$e%}vHAD<n-RXWWtyM19vQk8a2uALY>GOfPq7c&-BQ_vEa2(Tc z=YuPT<1@ovnTvN`n+=vVQ{4jdq856p0^P9MHHO^e=bQ4>ayOvsN+mt6=l9T!xwM`q z(S%jt>racrD<sY%>Q81_gh@HJ^{;|Oo@F4Kcu6=eIZEw~r6x*<kf?lylcq~Ai&qy8 zI5vQ6Wc9P7In*t6P+|Y$(e_#>s3LT4=u&W2V7=o8&t$1uSavU0qUSv2=WWc|DP^LX zDpLg(@b7plbMPLD*_Vv<^2B~h{WG=pLFpx`K6so|GR4(+DGQCmUz)eYt=GUTtDS2G zS5Nlp58>bV3{Wm4!iFH$;{}%Ti@8!;Vf!4;o*0je{PDC8U#==&KZzlY-jH;aXMaLN zqCIvqR6)N5hs_5q??|t2NB;xdp1!=qEAKS6^$yv@ea}de;M2^r%(j^@${9|*OCE9Y z!fX{IKwM0d>r)HyhpDuXia)T8!pB*Au0`}OA{87;eux(Z-!D}D)qX%K?Ku`9PY?4g zN42{i58l78-(`+apc~8+%f78QOvN7H6k?GD-!=SJ5y#Xl^dM#%p<(E@_#B_p5QpyB z2saV7M%yu4f=2<gRxa(5VmNV=yrBa6lD56Am|j19i?|?usJcQbDZFrL^1FF@`qr98 zAu*Ik47V1NJm;zFLl*|V7|PL7wu~rR68!`1QIB5~`^ZP|RY-{{8P6C*3P)7gE~j<l zH0*XK9xROf;I(p&@ZGL8_T8ym+{%1Z-Kf=eD=qbVdHFdkhLY_Rw>HSG!OvJUAH<o_ zAW0lsm^JUV9PeRkd8%%a{&84Qp+?0mNkQMeMubOVu1@5|P0TMHEnb!L5-%#>zV&ba zJmD`=20U+=&R3if^8n2E<~^~TU{hBkCI0*n58?7B;py31lSH=%+hvP=x_B!i$l zl|C^KN&oi|RY&27!A?mEi%o{VG}qS*9h8>YWq))ZRP*Kj_9x0FX9bt+o5WLQxqciT z!Gu{{Zk32iEVIC)0$QX@m}kQt&#;!frj#o4GTx-P5E7oX?fDcXG<6PY1Wd&~G#R;` z{XXXJVSf@S=m{A8+x+170UKqlfH^H!K_)yw7Il&%)~-KPwK)EuO=gwFxwnE7F>D*} z5?7(YO-gG8(MBSw5W55|nqP|&;~^DzX>XCNPO5kjvwX<{y!iBKn!y`Q0i$ipilxvb zjjy<G#~5kXGD=1yNQ%ZWD!yfPK4z|@R7~whP91K{%?75hIm+?4fYBG{Op=5MZ(H?0 zP45oY#@VuPKP&~#UpoH+v5^Bl3}w=;k8$b)tnI=-vke_|?GXQ{w5_1;SCP_#5{uJ@ zH7$fZl^JiPq@S!t>xt1FOBIrX!IrHpuA2x9ZhsQK-cq02wj)KgV31-Vol_3ce>bzu zXE}G2ZTW1slK`B0?VxsU-D!v+qTmsu#nf(L=>}S_2B<;YpllfpfO(RPdA-PzdnR9} z_A@9|IZ~d=O5#~&N5&kD)Mx%QufGxV`2K|xH0sX1i}7309wx(&DA{ti4ZHo<4^d4= z$*=-vJ_4&c5!7gjp|CTNN>*ij;0?Tewo~QSXi!fvTF$9K@??QstP@MR6LwktxAt>V z|NcMu2pp@d<wK`Pt8*$>)(KjE*F`6vFj-kK)X|htdU#fkYqDnESGuMG9BD=zr(85K zG~z^cAU=e@E2t}Q<R2hcf$#UG82G_Xw|JThKOzCyIpJgZ=gYgOwir@M$)Mb7^DrLj z5sap4Am(R0%{fB{h4ILv9n^OIucX=!$t8qN*QB;MreLG0Ia{7e<>;k3_F@^DJ_}X5 zf^#66(gwjtDSKos#}cB9RV8HuHHutj1;)c<q9#V#d4WyFU|H`utD?lKw|V)NP&#y_ zMB$rYM-`uhh)J4+;4=X&0Dr`<g*$M_tgXf_?}?sqe9;I3q53~Sv4=+b=Y8J!YT3=A zI4KebPYa#YtszZqR%Xe$iE?ijWpfMMH7V^HhQRf3%d6IbL#a~U$~&6E0go{ySW+KS zG+wskzyoa`tSxi%dps5ggP|haY@=wGrq?*6sJc5sgUGY(md~p3fyjo~U<)ga2zp3k z^Vj3A$)@(yc7-rw?FjPY3MH_%(g>+BGWvVw<6LsNp*zL|VNj29%CNvti6VR3XLd*$ z8Q%cB@80&e9zyQSJIY4CVG*y68dR88jbz`DK3cOX@37!=#?GkgAWPW!OPp5qG+iVC z*=S2gy`US_{=KkwFNZ=WW#X!6<fOuaUKRtmCSSqIluCt9v!IoKFynSYbE+Dlkwmi~ z#@BF0usl3lnX=c+LzdYA6X!X`=^&>vfW@`7nhswt#=!G#c|O#kV_WdbapInI@Jq9g zNRHv-+U4pRLs_9Ibe>W47G>x|GNNiOZL4>#hHTnGbY6afuqLpKFG9BD5h+{mi}(8b zMpimR4YgaEp#_TYjg{VxS>9M!We`CafOkPEzb+7#9_~O%WKlo03`ad<AbhF7(sbsl zu@wOkFi6L_PHtT$yUZq@XMsiJcdtxwX45<?5|+NFl~BRUUPVzQ=rN?HMf>P*{lHR6 za7s#hOxGV-Gzn_k=0ms>O6DM{ua_bOc`T-u3b>=Tl$NAIjS*%{l{(N$nplzRJsy0; z$w23*vIefra2}OS+P5{T4o23$975LxnngQQS5Xm>^=rl{<r4@=`$pk+cSr5{HEt+y zRuETNH9(D?YVxI1&SfgY!4uz3Jz&v)R$xo?PcQVR3%jJK>tPq7IxxN$k74Jax=1A( zblCDDR-;MI;+SbAFoVXKTuHfXPDI*(`c`oTJ6)BsnJP|&yX6iH5%#LTyxdpyzRZXc zC7x)AjYypISybr!kedoZha{~Q+|xO@bVN&8?8jdWCk<Sm3fZkFyT$|E8n*kV$0C&p zWOOXZQx?z;`~sQoj+^wFs0N5auu;MLwndRDAcbe*6;WA{%YErpr&;%8K~vhXwA{Nd z#cDaW@4z-GOsPo<8SE2Sc0#Ci`->y6DUvIPWfwO_SP>V6o2zg(GLN|T1+RlpQ{!6( zGW#zAC>kur9-nx@o_8R`&H&pS#!jMn>=phu4elfxb!w@?-9Dc0alsD6m_aP@Yp(r_ z$eYo#{+HR9&Kv#G%^xxhq{4x<{&rzz@~hij42ngG_-N^1P8RWO_h>hC9#2k1iK#|h z$cy0OqFb~5LY|54q<e`dQfie>HJ+!wCUQ2IueEE{LCdK?Woo_2aVLMjD{60E&LFM& zwt*F69_kP=3$0jE;cRc(%ERTO9!Df)S4O2+l0F42r>4b9#Oy!B9E+VtH5HLwrF*sx z3u!^%#fHOds}2uS;@4vKPZB$3NbB4fQp*MX;!WZDe4zm=8h7TY&l8*mv<f5EQKCfE z7vK>u3DM}znsl^u^8|-te;`G%8)M&GkbS3Tkeejz)zR-#DcwHfGQAgFp*?I$=cf+| zw7XGOceF{8k66^4c*bqO+Wd4k``O&ja%!SabNA$=KJn4ytT{6yHX5I#m1n1!Qp-Bs z_9T;*(7i1-d4lAe4PLhcO7}$-V!Y+IM=KeH|G1xceY2rj6=xD>+L!ZT&SW~Ll)kb3 zf-`=qpec#WKmvl3f|xH<YxTgO>6EBU-|~W@jUj)C_NVge+p#u!Rt!sD>Q^9_D^(iF zR=)L%8Mtdbh<QH}HrARPGfwnwfs>W1pU1UXb@FhO>gwr>qn(8$y2eTbXG;~@HA=LZ zv`5a`raV)2E6xa0#&zZQoqI6Hr;CnxcUJEZiwAD|r^u}B%!Y~1rbbW>)(6vZ>c`1b zMlotn{5snysd>({;QZO7tZW4(&zV1HnrKz8O2{Q*ui!KeyQ2;=hmY2f9ANL^tfi7l zI~k3MjIlPS3k0)tg|Jj6-u%jm?vA7V$skBRSfHshU@iA~I2^?)IbsVL(OFkX%#f<A zcpWy@!G$Mx{S?2@R@M65h4|a_@ar3UbJ<+*m4TCa7d}oiGpo}4>*y7EJ4w4mPi`;W zKY*NAcmxWz?oo3<$XF_aqrio8d7d~PpVG3R!S^p5g4wd;a%j&zTsI@Mv5J{w3f@uP z9kvoYH^X>niG0;ap=fd}C==SMXe8}?Sw?GIXF+<?r3t(@nb~qo3I<Lb?5J=*;r)TH zJ>hv;qNWrzv`L)ThlyRMWf6}unxvM?vK|I`*&P_#a@w695{A^;hWq<1^x%xc5G%jJ zwi>B%5a&=@lTm0>CfKfKo{m(oDZ)PR5q_qJp46B?*wGGG)nTYG1sKvj>r(E`*^&M0 z5K=!GZ^}DD{eV@tDe$J#P8MadfWoHEl@gx1I-i3|ULx#U7wz^`Z}zCnlIbo?G(;gu zTGq^ipgo3olJw|#H2aN8EhBXFhdrk1g(v?jQhTXG$upC9)=q)jkUu37n~=&^(nYjH ztF(vCFvT)I%~n<*^+eTyzqdQG`DjY_jS$$ski3<Gd=hZe14~*olf}q$)4i$LBGfGS zW3g#>hnt(VQQ#tDT*;g#$03c`bD7}}X?kF!_6R=2I96<btKOvOw)1tNOSLqC5$Ua7 z_!T@#kSbYxAx76Y-|y>_@d2rh>CPKOY5e>t(b_gzqlAutr>(w4Z-W(lJm{yU%=4q# zxD?L*9H$=5<r0o{@qB!R;w+K@)nV^~y#dd-eiaJw#ckIRspd87$lKhR$!?5krji^z zH(ljl?aSA&o}DIQGFZ~8nHpTaTM>}>q)hP!-p9i+!757$&mJu2vXaxBR|gcC&F-$z zf`PTn+aDlyWu5Dywe}Qe5Ol9|rwU>SREEj)zInQt_EC%dJypPt1Av8vfrCYaeg8vv z&lJ4p3jRwKV1J<IM8Kt@;gH}G$5TiAOv@vw<{I=rnS%Ff>`yTN0E4xg-^)V~(F0;k zO0R(#ihj==t|YH*Kh7S*oTYc;k_aXPqW_r3TG%vcIMxV&Vrs@c6+YFa$qkd%gL($+ z5)0<#b>1e>puviiwfK*n%%vk$ia|QyL9Q_!H2dDT#!kwS9{di_S2wV>0<y2=g`q0V z>YoJ1OLnjyry&h+PB*?dy%4#fl<UNcGgiqlee4aPNnugnU_ewI$KMa?<b>sz`^I}U z?3Kb+WCDG5`^fd|P2+$?I*{}#a0wgxk#X>0jdaSMu9@g8%yG~oeGdeo)s<bPfHFM0 zZZ_a4$X*{(OjNI6?s#*E^;d~n3NGklfSkbUiG{&O*7W1(MWteU>4YJ~Ql_QknfiyS zV$cn9#(6;xFw7&dN6E8vF1H(Xi5p{?_M`d7h8X*aE17&IK~`@|dA8zLcv(mMfm&7Y zanYcXIzs68b$N0u+n>-Rx<LvZlDt&T2ioQQV_Dl`d0n=WG<0y(@?S1FsWjwqmT0!4 zXkDYM;eP<!4@YbRe;p?*_6=oivp{E{a5-*<PoA?f=$4@_BUuqM%~LoJBr)C+(!V-! z&wIp_$RqDpkfGBYAn@ow{HCe;2jLv#U)H5N#GjHaJFqMjXWr;+Y#m!>3^!1X5_jmL zhCeD53*zJ;Tle^V4(^7s%LM3QIcE8abfWIRei%g`xyk+%f5Xb7`Vm-f(QxN*ekcZv z@b8I4|IV~Y-eR!^`Uc#!FD7`7Zj1Y_B=2AUnQ%GZ>9TP=#KNyM`O;e4;_?}LCErlf zq0*bFUf#+HZS`nckiwfed!vhFIBPkawQ$|C^DXR)b?gVdHF?O*Zvq(w#j?qq*hshD z_4yya&W4u_rP@ZnJ<a4%9JTrr6zT8C=u64K$FHq6#1PQ=quDx6_z6sxvKHNh(kRk$ zCaap_pgdE|%9QoAZ#)p1o0MPedW}bo!&0g*&{R_RB*r70T9=U{N@w0F?id#7>YDD2 zdc`r<y=YL%nb3ky7})BmD^tGH#N0e1M<Ju2%@65g+NP?0<ZyLkjfoaHI;8xtLQ-{o z9_3iFLKtpYV=On?4>@402~RI?&$2m`Wk6vo_2gZT%fucUJn9YBx)BKpj@nuM2Vi~^ zcqDH~Z%;Yh$4p{gSmOSK@#yV<*3OW(S9rk^j@%=8A+e7-sCmMwqeJ7xx?w~I#B8hA z9=sDIYcaeLB#S-&(Ie!OoAk`ye8TF<rSm!GhMBGt-+?7aH?sUGbp!1a&a;ge8eJpX z4_6i=1FMBY$REzH)G4FGDGKHL(~yD%0ejk4)W`fgnW2@D>0(-IfAR#fYpgx}J*kF| ze+s`^tZ;)dlqv(}RDZZ1vn$UYT=9Z`%}X(V<i=J1P*V%5XKt11pE4c>PQTNdFDNnV zjZ0c-6w4>R#@f*y5?#sZQOarOu1DT;70AHD5cRW2in@t^P>gl^-d%KKPctusR$mdW zQV&M4lr~5@Qe5@Y-t<hva(vO<ATc{+FE)mxH5^);=?yfPDUx#Gj4B%)7_y-uW;uyo zrujG)ga0a0n1MW4;uW_CQxze><R~DX?+N-@MxSbBl+KgI5-65#zYo{GyIgc2)Q=oy zTjF!N`@K_A**#F%Xj&VIE|%O)rLEYRB^n1b=Yz_wLJ_&zbsozrG=UAK-@p4>uE`B% z)eaw2oJR%6zcdIJ7IjJLTdiiE=n~=CE!cu{2*omJamV%q6cF55j1fWiED3b>)V*2y zujHW#n2lo#gD(NXRkt-a>6Vhf##In<8q`-;H<PV9T8nUpPtbBl?`8x{rWK*_{IULn z6z*7WRXH%k#nK>Y^~2XGZsv3#!`0~*10Q-W!4BsyXW2KS{1zX6LFa8HL0^UGW212( zX1SS1k)YQMv60C5#Wz~|^#r%g!Jpu=^Tso~PsiK;0JRY>K|iS~x@v8H+cXJt%l>IN z7#m#s@(%rM@6i8#q~|?T{C+0rf1kd2hkoq$G%*z?H3BY&1PzzCIwBso8a}P-=l?-| z*#C|E-U)YtTsE(mN-xB?uVamVR-z>oUWH=p4|+|RzfnBo_Y+T({H|}A_rCB;*?p*t z8*Shv6!^Ka8@d5ytVrdBt5`0Rgs7Bx75WiP55{8+qfFZ~ExO^?d1zJz<4#_Gy%8hY z6>hP&_eXKD0SUD+YHxUk%5M2xkFF$pfpnkTJc~uRavoidU)ZDfF2)ji`S*+rI6zya zy67>J%RSoh8eP#Ph3q>kU3TqgDhc**#gs+zy;(lLB^zn~3Yth)4pQ8iLU~a<6a=_r zVXNZ9NE(k)nIe-@WJMk{()Tp2<j--(xWj2F>r+oSH4>H~5~;x53Hg{JdSK~+w7o0^ zimp1dPV8H?a$+8hLU}t2ww@HNqr1_}uup8NBgLPS(IjuN$S#ydmefq8l$L?wH)*!v z6&U>+#Vw0QUfkZCPC=KrmOTe#D>`lKOzR@<Jxk$+7BOCHVQ#g50Gf{|v=j(fh{#>U zqe)7}DV<csi~%4LuVnj)1V7Wh`1oNPC+Y7r?1*l{j9$N>A;m8HNx+gu7K#bN>;}=7 z%BeZ*b4bJr(2&k1WY}77$jehEO}IqiEWu`BY2Z=}|8tMPN9oj$&!U;6%H=Hy&d6!M ztBx7Z_316;68tvO3B5NAHB}u(W4UsEOF6Fd+l}3Q?$P_OTIa9-0lSS&F{QIX>|BF% z5w-4D9>&pn+)>IU(cavj#HAn;W8?(W4~-qt3yGn(P9Tg^VA7f+sd7o=FarqbDe`#Z zjz$zKc<aYSH9dHfK&C9kG)WDYw83;_{{=ZBT+=)9ZzpzJZIUA9L|kL2PM$t^s~6l^ zW_P$tXq?c%%)V`kUfi~p{12eC^+=;qn*g6Duiv9ZA5IN!(qZ|rgeS}_87F@i`Rs4a zu9Uy_X}6A*hju$@w$HR=ex`3^v`B-LlHOipb!1){BXey<9`Y0E;dV%O;5<aJeB((j zR6~Z9P61VBm~e05b9Kc6yS+SV(dgVLlNY@sQA39pt=6ORdE;!8@ISy=x@1{;sLsrg zKR%CUIW$)P=4fu_k-}73BSA6%{??o2L-_Ua%YI(7EQ&IwY}?F<O(QYq)gBa@S5z6Q zz_Tlv6^y4us>x&rnQqd)yKKV;s^p&-;X~#g>4Q-~PLh@;n$(}F>P5I5+<2eA3VooL zH*=Bq;xJ$C5!huYI{MUFelgv`E+WjATuS_dTfHdOZ(vBkZo5GcyG;GNtWwCx*~s`& z75Ux%hlUmPfpzPr7IfD;f4Bwh-|VxYb#-Cm0?gAMb@q&BsmHQ@b>D9$Kc~>AiH#|p zB@rzWb>&qluFj7gV{H}6FXfG7vGRDNq+q9i)P}Us1KYc@It+{bSva4Nrx2d-UX;Kn zINnlCUEl!K6I8Ft5>8WsVM>V^N0XPoojYR-qN9#cco6X~?hLXwG!0iEr+AEZx{SP8 zEVk)h8J+wf^!pQE2;)BhC1trCMNLB#GLx&iQD&0919G_}&v!=rDrYZAKFc{-c3N{t zlcpvE8QyR32M~WaXdhq4DS5u|!p^dXZCYyfFOUE58Y%7Gmz2Y1FQyCsC=_BKYdx_x z7cV_5uUl85H<-ZE0gIma6>E%Suu|4vQ1*#Q)^U~d%C<rj<kgG9q^2&dv&}-hF9?*S zO|BTx?EPpNaV$lwTZF(iz!r6<d1j2;z?*-V{`T@|?$~#4%%Y(|Y}C`f6PQft`HrKa z@6|T2@CY!7@24Z*k@SD6ZE#?*sX0GTNvMB@qv7Cs-#Lqe3+v%=HF_n@-Jn-^wA%>y z+}CD-!T+c92JsW@KfsB<E-}(S09*r<6J$RkT?^h=dQ5xsw$jO6IH`=$t7NXxK9n5m z@wQ11{Tt>-@0A~1$=p$z;A#-I!j=y*6?B7GS*u23St&6<dCUUwljSEWx;}AqO62-1 zhYn^emxn+1<!zPSMz4s(AWNPPVzp}(-n(QO{IHQ;b*cVaOH%h;2UPJDwHlB9vlwh$ zI+9!(d(Jx3Q!&$;8{}R&K$kJUvE`#K!nwZTo+b=oha=l}@eQJ)nC7~4G-;RsTv8@4 zO}wEJ)0Do^MPmMpc0+}q^goNxXX2USmQR#%%p_gmd<%3w#<f~v+0P3kznKV()KE)b zC%<w))xq;u5pU`Cb*Y7a@m4D<y@nT%!zhn_S{-F1@OXTROx2p-iP}v#>f~eyroloW z`3aTmCpCOQDJG(M%g8kkX2Q97D&iQ#%_gZ?Qoy-0s*IJ&zsS*btuRj3!dmd3qaAbg zkgUz*O}5vetlVT>u&-JH<)#u(L!J7F3h4y~k?MiS9j4haiJK?Xp~gr2N>nzyPX169 zv}hg#5z%<mKJiN5fDwSy%R<7fR0GxDGDB&|*O-HB$?WkzdHXsq#V^!Ek^QI)VWyTl z34P&#E_uMpAMngrSJ@9=P9pJX`lUGmDsA8Iis5FPLBB8RlK5(3n%{hCrtNWWkx8Na z#~WM+e(a#J!*M<3iJbhbHxq5x=0_dL4+P_uS9N!We~Szoi^3EBR-)QJGlWN-9_bL( zWJ_7FZ}>1Md1O0geo9Rivs}%FVkJsTDbF!bR|LWK8pp5jsykJ9$S^ro4p3JVQ$MT! zWr$E@_GkXMIq1K{97X=}GgUnMd&3H0#B=h@tJ+yXAPjO%miCXZ^grq>lptlzz|}Cr zGU}4Q<r8nlWBm+8=s=!NARjyowa-PLK-yLfMTM0WDownyVW*Ydl5b-zhAF56qBB#Q zS_<@zKRuM^ps*KJ($8{lV^#7dPIuCq<W>b9>hQirI8dQ7*L@gV>gQ-r<60|pUUzMD zDrhEx1M`T@k0|ZRefJ`NRBPLw+lnu29&=9foD2o1O$(^pg;=Ym-p>jLKDD5xXkcRN zYr~h*{b{O*v+&S3+;FUpX1Yfs_NR-d^s|bendHevPu^f{og!9$hd1X?w!c-rKn2UO zbtZqeS!E&BxTT_IopFo(A`eq-&3^!(p7i}d1xFP%!;`{g-r3I^NdcL`rmu26H94R+ z$BY!u>>!4lU-38F?v{7LZKiWo8(O3F{<={{Tz^?_@^GrPEu0DC<^&&^>McB=QV}x^ zRI<joOHs&J*6g!(G;ug<tS?pn027g<E6(KP56GU{z>p6aIR=i}M<*ZdrT$i)QrW7N zTi>Z0+4q{qG&Z;~j*&Tcaw3#>P<;4ir6)UT9!v&Lf=3;z>y2mqra$Hoc3iQc@l$$1 ztQ5_+JgPgD25Cctt<8vaiAzYx;|Oi=S&Q>4ZOGMYn+)l|T1^SZ+cyKk>m4UiSnFuk ztD%6w&&L5Df0l7%Ltv0-X<`deE~WiyH}F&=)721O*4UObk(a68=8a{depfj2>AmkF z%kGPh9SBu$r>ft$D36~vIw^AGv(XLZSochnM682AGcO`UQU3s=3qlC9FZ??l<u|TP z>i1YAwa@9QH9{8U&=-D9$XqWx$3qB=S%ho_1yOMSYy#1mT4Dd&)+)`<%_Ge8&azDD zv3PwVKG|{D(9b*s(y3o6iNcwFu&!W-n+E;^v<8q3d_wu-C1h-FfVngYnm@YR3C66| z37lzwgAj=2MQG7>5WnN7>RhZ;_+DB74z@=}IM$JA{vVTAvwR|IsXt!^1E@Q&IRSTD zB);V8&NW15SE1KCF&WWkvDErsQq;#FNR<I<Mc>1S5>iqEZVyBG6XW3m6TV_SN4gAR z6o;RXxekxLY^H1FmF58*>p@Eq6$p8xzz%ZzGXqI0@QE2Bx7>mEwmSZS~-*f|GXr z0PE<U6QaU0^}R4W%l+?`qcf5*zdAXX=Ab@uP8}s#+Nfh=W5KG96Bu_&9ez21MIssR zIjz{}|Hy$%A4l!&uCUt%v7wIR#elj|tR$W>pj#m+)sulou5WmzjJR8@<um*YbV&id z5Q`q>Qzdeq+65)mg@QL8QN3?PaafG;q~=jEzdbcIRYbB*@25#A&eULJS_Wn2M|zLv z4pA-T(0kf95xH2YTjT=i>=b(R{83SclY~(T)`ss^3O=+rRfV)1D@XCF<MD9H$pMsQ z>jU-oG=l^Zd$DvYqH~UF+PQm@mZN#vQQZru*a-oIOespXwS1$5W$M&>wKaOS3951> z+#>wipXk@nb*)cvFvGUV)VX;KrXX991ANRDnXMTqOg&1o?i|<&=Alwrb7kT&P;{!l zsaAHW9hN&fnR=d+c->tIb8Rn;J7FU2jDe59_o9waF3%#XT@(5pN*)9H4i}U=wdqiG zA>hvXJ`<y_+!MnZ3+Hj=0I!6^yb@bB1Zz@q2GtpYj5Y-Og|M<zbiv%M;%7q%d?A|I zr-@L1+iQ%(VC<Rq;!bd=3F9+O@MEIMruvlXI72fA{r{rst)rsq->_dqKssjVuA#dd zfuTD@QfepxX{2$G8p#>Dr9qJHE@6faC8T9gRJz-j=l8C2&N_eZwf5Tiz4vwR&vo5U z@|);ocCUQH4>i0G6!f<g-=)IKsEcCB9w0=|KI&V^eG2sHWUnlq8-%=xQ^FfePD%Ph zJ=#e|<OnmA>Kyblk?2h5!zaZXhz9<M2KoY68H|Tp3Ea!T-{*OCw8+B@Pb85d;W}yy zsM~T_VEvy;^~O-8bk>((zb($R<Ga$y^vI`a*DN2Df?12;C!(vkMePQ|puZgLJLWwU zV;wI|{V+;DBmSl*vCBhtrx%&wC(bHdiv4d$<EQ}c8Kwu`=kig75D{`U<m6rY&t0bh zs%Wv_Yj#kSSxJqJ>u?VTx%M)Bj0!SGO^toIek4SOAw`h)l1hi0_)no+G_4M6)HI^k z05&zfmo@idJfylJc_*u64NDGIKE|$CAz$`FD{8p9dOEseqa7rLbTUvuG05OJh@va& z2%5-VzJPiDT?4e|3Ytjj6sV(U7(NWX@YC&76broa&3u=SkqgmJYsB{E9oxXsW=pjb zcp;ax%=N-?x80=E;pmt;R9e~!T^25of~Xm9qZ)ffv1t;;%SnO%2~k>L()eqOQI(+) zke^P88~p<NMK9<_V}+NpH%Cfr8c^%^ht9qM`*)3XdV&zkQp<FkPt_bze1<QK5MS(g zIVrEgNu%C+%4tp%N6LWnOn7EZO|G;B@tcoa5mjF(UOI8UV8R|81ft4)NmZhk8*kGj za9a@x67hr%RJ?=0Nac^iqzrn9e;99QPpTuJpIVjk7T9EX9gACJFYsDWc$VeUo!&vM zf4G8*<u$t1`R%YRH{CyH;vQs04YPr_dwl&)i~U1?hNZm-{=C}>$un!=r8j}dWO;Q) zk8l<9VKM<U`6Uk-|G*Mu^VG&NbY-|=8NQq>;}*q|dzn9%>5-~`ZwgkK5q{^sU@cG+ z_B4hLi>VCnjJIWefMnwbH7)TS@}YJsB?{s=2qUdSOlO=ldXSnt{gGv}Nn@(t8>&h_ zt6W^Lt+1=XatuzhSH#eq6}=?PKK+670W=omn_gx#e#=^PRfF;U{x4)uP-2$8z4d?& z9Ol@_upIkCZ+C3%^fzJ5DcX_7!o+f{=TNKdDpHG`*7b;!vht(FOE@s}=L;F$F<7dT zGwR8M-7z)x<S+2rI0ufZh>(gS<oXG4N2J_mJi1rw*JrHAcL%bc>AHp86V$DeWXnb4 zlF3c*)3{VA=CPdSXsTGTl8ar9R6yYG78>3<rK!s^p(H!;#J}>Il~bP-kQPuY7YT#? z!9PRW9D~+q)@>`0)`qm5pHnN}-|-o;o?AKnVwuDluEzS#KfJz7Cy##)zh&ueQzCbD zV-a!IjPqmLir{iJ7ER6e>X=$I$j2Py`^1xEC*j_rtY*nSV<^}eH6FElkca$K8K{VB zFY!c`Mm)HBZ2ptqsdS*J*-Pm#4t;;fB2p3J5_y*E#^IFOLy;d4YE@~!vH1^!k9N4W z-HPJ?zqqEd&#}2nSVQYWD#NadLAJS!=U3<)(xu(1L=Xb*^z_!x95`pv$Y!Ka$0xsa zc5g}L>LG*8rWQy259;S8eeBdfHf;WD*8JaY4aO5P7GWhrQaf*EC|szh;b>rX>-hQq zL-Q-L+;Anug~{De&4@zIM<4RegKmg4hRM!NWz>-|n^ree)hrQPN(=@M&C_a+9wZ$Z zB?j6XSN~&#IdCyN>enn*Q-r3!!)|QBv&Asm<Pyx^P{tTtIHx@A4egm*m0wbPjb9j} zeBf_+=H%Pm*YL=VtI0D{Tj;NO2Bw)fYm21#*<=;(In~1AVI@z(_u(2|L9H|M0Xfaw z%^jkOR9cp_7c8W<W;Z0?7^qVwgL7`kzO^67Iw<?r=AMfys>T_qXj$WHIq#&1Bv@3^ z&VOf64c|6s;ZRjuiA4dlx!gH9)Nl~`>v)J%jQ~`8sL+To^03c#@@E&G`nRN-xIc>} zVN6y21*Ij$=XJ%UQ|f~C6$U5bsp@R)#}`aaa(pR`>W7%z(L~bZn~fco($N%9IiQkL zCj3WDtPz^iWI6;nCOI{8MiD~C4G&;dDBds=VaX9uNa_Rt?s*xwU?Mjq^QnxnyVm4+ zykQe{t`t;B8?*0n_ivfd*|f)`5qyfL*9?ROxPWu_tguIbHcFyqXFTx%nJ4`xdlUS- zJv8y4m>2_O{cOsh^)og_=Cf8{VP)(e2eywrV7F?8$lb3u)IGwBINt)$dfc@H{T4AI zIZfUgp#V(-cwJU4iaa1iv+3jsSo?_MEgD)@5W}e1F2T-;*Uy!HG0ir!Ry&OP^t?Lq zK85S`(k#crP!qTcmNfJaV<udt7N-9>*rv)~8x0qZc;61X1U;jWb1@^P;)hsfQbjd2 zNU~%pFU8a6|HIgf;-RzYC+EmQ!n)`eN+03fL2F;x^b3Klf$CxJ2f$!z7VuN+rHx&V zTYJ;x(ny{mG;tR_>!X&vEYX!><4(gJ8UM+CZZT~#Iz-l<QxDtix1w5fvYzG*d-S)k zP^QQ@a~i1XT4VGb?l62*Hi8LmhOkMkE8Nv5s%Uvok`x&zE%=AgDXX5AP`&)-1&;$F z?e;lx^{lyldo@TVm3^x5zR!z2)qR-}@Svr4xW`NEq4}M9O){)3tZy)&c(6c!0JA_S zBciT<;k#MkYWnpQCwGDgw}uioo8ccyUIl_2M+HOA6LrtKQ7*kOHC9%zVClUy!M@<C zCYx(>T*qFk9ti{IJ`gTII-&YzT>U;SrDCv8E0AveDWjqxrq3aJUr`CC2Z7bpLiK@$ z?)N}L(^ctohGCaf&e!0hj;QM%zHF4wugLr4`k!NUev1fi(g3mEVFX`ybx6eARj$c` zv0yq|EbrO<Y`u#6oB)%ZrWmZ^<{m+smaf`{3HBriVSV8(BOKPh>9`E9cMVhPaYr`Z z)G1rPoO#tznscJroDRAajCSeVa(n7Xe(?wwX$p%??o^%LASZK`OG*Qfjn#AiFp89l zxXaTT*#lq69!cy<=Jc(mxX?w{s^l3hLfc5}fALcoZ15s17U}URppCq7;mporIS&9E z5RI<>a0FY-cY6sc%1PM3UG3$2GuEM&1T-R^Uhp!~hBqq6rVp82KxBKF&@#k4A}|Hc z{{_%!`v9MFkC_y;F%GX}3?q1456Bo>=EHNjJ{-LG+VB(|ESE@T^VE!HMaJ_^cmpQH z%1BYFqstL;7qHn=qp6+TcEf7JNw7B{tVjPjn{TC!$-6;$-RPxM*71qd9}&$;fzQ=m z4V&?0X2knap0|u9V=6mkihWJWnP{-_p;*iZO+fCuE6&mThc7Kg0*gDhMIUxeWXQ^> zoh$>4Cgx=dm<F(w0zxmS_pE$CPTDLj)$it30DSA~(cu?9W>gwXpToo|X3_~5n3HQE zzqNG(k3?Sw8E|Jg#c=XFvXpKW|9TbH`=x$%Jfg2)uno?IvJ3f#VSRsETH#rL3m#L1 zv!exG9i1b;J6c#+J$Uhsd>IQrgK<ydqRj^BB7=+$lxiEbEModz?%9_uzfe^4#4@pv zPL#jw0T_d#GS|M4cty6iDQql#n&;_dx_OzI_7Gu^xweG@YVsnFD1w%!vWG&ba-0>w zk_4~0Gc%Umq5!eDmQ%>2#~&T|XFMXduiDR*u#Os+4`2g)Y1tJ6yvmlKs4~j4E{!xj zwSwuP`x7<C3}b@kwD_p6dQ{;zTqdq*g&jna^Y_Y3l(~UNCFnX$k^K{XQO9-O0qKM> z?dw8hbz5NNAtGc?3f&r5HvhrMKHFTtd2D0ylJ$p<lu;qc<p~cf;<MpsODfW^Vc)Hu z;#o|Fv|5NyZsDSxP$fL_nnXB+a0_Hye31c0B7OYE6v5(Q7B_rq_cUk2H*9}dCIYR1 zT|KaR_Y!`70!!E{w^f}g%W;!Y&z=BsGf-KTmel<nkUi(L&feZ#p2a+Yh&OyFgDy8( zZBDf7Jkew@Hr}AH{Tp}9XymMJ>J(sqb5)1UIL@a1M2#RI7ggV@&E4LYysrB59|q&& zl0xSAVz9E`_zhZ?2k0@qdViNNITZKfia*q>tYZx2?mv1%SNG)80(K4CuvXT9NGkd@ z^}&sMgzi1|%BPzvI*9ULNQ!{w1du!j)%Nj3lB-r?GZOsEX2rqi!s{P~Wg)bL{b#dw zmCsH@@k{ddyQDkT_|gTu3JTme>xWR{#x52u_V^xTbxQ|6OiFZVYgp`8|JnEDYfgZ& zsgS;_dUwU@8~mA*?^`TI;uYT4>}@>=r_^N?59NHaK@c$_?>2WQ?*qN4<Zj`ersqs= z$#0;VJtJd!qEVM;WZsreN=QsDy1<B=yZM@o-Sn4R)I|hxp*E^6;X_t0HKijHA8{4w zI^CtLsAfb62r%1CsitPZVa#_IZ-;k5C$V<L;K^#RO<+#w-vUbI)*9Z7*-{R9P<GzT zQ};2vrBgBNTSF|xtEchfnpD*dL~^cbwIs4s$*IgbpvYNR#OTiolK(1H=|5n*wI?L_ z3j`n|1Ia!+26^8?_Hu&ec)*5Alb!ze1}M>vxRnJdlok-L=bAK2kVPnJ@9LIx{MSJ< zm++fbL>57`6s<&djTXx~+T_EWcDj>QAp2}9`4<s`hnFjx8-6GMFn;-rQRf<ZX?zGd zU41!1c$<hhDudRYnyA~<<?z6@V(BURE_5SSM;P)s*~7=ERs6k5gCBI6N%h85-_zoT zmy_)a1FB>*zj3dIqc&AduJoee7HvqY9+0L9(De6~nf4Y{WhbWE+uqdj_gOb8T&AR8 z*QJ;Ud=)XkrLn%jc9~y7Bku;@62O(SX(b61S*ZpNWV0dqbLA4I^K-xG88c}Qil})N z;>67!;HJsu2`?&NDmA^5WZm075*Lt@R}4dJ>Vca1f>eAVnqDJ?Pfbr}Syksk!r0Dg z<Nw?ycs`?l#x{o1|1Pq>y#b+k$-Yg-^jrFudF{flG(9b~HHj^&ha<4k2B%`*?`0K5 z=$ug@Bs4BCaGTVLm*(Xj-roLeY?$YuL&jrwvr4$xLQFd8KCUc?@$i6~yF8_&OaO>1 z-Kn(K;Q3lbovsid&N504&f~~ay&!IX-=Aydfw%knOO)96JuU6)-ydknlMrenEY7o7 zDmOyB3Jie4&oN3*ZKFSp=-frT-?Y+33<wYU{=)!we`8f!?T&D$u%I=HOV}txHUMcH z*ouU|YYH9#=7PRc9r{>=7{nOOtt=#THB58LazF|PL@V}o0AdwOFLiry_Jl`n69Q-A zqj!X<o{g!4ybk!yeYzjAF1)5{aXrfL%6sB64CVvm=MuxU>CEUQU!@!J*|fV=n~KkF z&H~T+Sf{J#ZU~C$#}E%&#nH3r_MbI<<$$s-^Ou|OHk1PL7JIL1G?m=ZQ^i$0h&io& z3sR~q`@HHEaRlyr&b$q0#rMGl%W!s!B>A|k4LG-s&V3y3ij!Fys9iuKtzEx;9w<4E zN&|Usz9NCdc@qqi2}G~}yiW9?ht<o;L?O-2tlIH~OuOY10dKSpST24ix>%+;Bkutm zV(f}Vm<8E44YOyaADuUYXeUVe?eRn@-u?bbBo!+39Fd2R`^mXkrcPcp4dvGD(m=<> z+}<aoCSy7st%c&K71{l|tWP)kJVu*ZdRFSYT52QHrAU^0r*UE;h^ZMd2RV0%TQJon znch$F;#ix#`}IBUfKfPmuR>u)eNBt%z~yTT#RNU8o*<jnYeMosIpI%#F0mW88ysoC z!P~#xwf~}_D+Dz|W!ehZrPnOwzt|C>|1btUAs{XGH-C?qPEUCBwgZd5yS~D6Vd1KJ z8&=OdYoaofJ}Hg-V39dyvkx~ez>ms#o3NDE6gEnrh)FQsU)}QdIyp)8D|_aaUZ_PJ zjkd7sz0zygh4$q>+@r;+?vgd*qsup#X-(cl(4kH!h;Y_nPb2**x$&qAQP(4Oe-E#% z{_=dGvXBk6t5`B;_;dY6)g{87{Vuk5P=!HJDV{O*j7s%vQ3o4J?Za1y>EQ06=5<X! zUK8HOiINPsa-#NkxMX!1L>kR&-xLdRlG;??H&Jp;n0;DF2f}sJ#$d_I45i;Zl!P{0 z6-O13<Jj5w9%Z;bc;aO$4ax@D!#gyFaxD~f8};1=`i|s%ReK^!mU5?TT?V7JF<A=A zPFV@R9pY#?R>m~gsp6zKj0<h=h6e%2tl7N=-?{`mA9j#ke!1@HsuBC=#!y!3Z*Vt` z1w+p_$<+h32$p+n8{J@29f^@}Bb8C?tdsD67+deX9qj|DYiZ>R%&mtfGTt)PVg<P5 z#T3VHO7v<~93sDd5`VJ;7Q~zoeA3j{|1Q|<D&(Ve%_wVq+2(lD+F-e{(RCt?!*+xM zr8<GgOWHTUxIB*1a6V;SjqmXwVS>J>S+=$d7NOXDg6#)=g#NqFq@35%u`hV{<j01k z0%Zr_PkxImD=jeD<7#$KHM6`*p2tymbkOv-%1qr6xtp@SgrQQkd1viPOIEu;qWd-| z)u{A3S%9e@9)e~2L2doHT4?p{ef&?rG`@v}LKM&7oM+47Mt`LTi8jMK{UCTl8Oi1) zZ-^-O$b<~}QYyj62zVDon<auNvYw)hSHT*8PE>N)F`@_caTHGR9sM;tKw0<oWeYOD z1#al@pnyf5CYUDf!?pQNN7UTGSz##UA4W=8v}S}8Pn|WB)G~R#p%UfD$MD2^_J~bo zv)!DewNEUrl&VtyFw|Tpr@o8=9EEta>>S;L>+-^J&c3T9suK-HI;Negwtmkw9iwKu ztt^ygC@5cjd5ZNWlOyl`CU|w7Rh4EX&r5hQ7V5eL{X(R$%KgyL9V->#$apTPU=qLq zvfHWTc2n_@Sm`Hip(i47n;hZ01Q+YFwnj$?HL!vk_U*O3vl&raVj5EMX9&kx-Mw`O z8jNEH$Bm+<{?`ic&joUC2p0ODwv!Ra7;)r%2m9uHa&ccZ5y#W<j$qB<p9XHmv#3Nw z$*Ce52GiMxMi%Qc<%1VqNhs#lAZ+Z8mnyAf!*{m~s1)lqEq+cK7_b~`sm4HF5_w6j z-jCHv0|=UGPq<p{!O-F&>8@$i$K|2XeKJkwPmnoHMY|BCX{Jj1+17TTlum*Ki?Ay$ zXHLgpE_t>1C7zMSdUTu05R^N08!KtKarbqMqE(p7ISVT^;nj@Y9f2^(N`L`{CyY#_ zM8;@((@wShg0~auc|xDFj=KP8V~xIwr^0ieW;s|zQROjz;dM>#a2<%Vkt3IuCA9mf zF^=zcKz4^C;nIF0Gp3GOwkP;Y7RQ<z`6DhItlgmN!pWbUYv7W};=qD!E+)O#MN?F{ zd$0esw~@nOPKllcEhk(eAn`)qb5G~PH?8^(NSZ{tg6I{KsL=}Pm!H_0@yVE^siWMp zev4^JQPH)-n#GN3sz<c6*$Gu(UynlMWs0$sp9;e*sRIsM09rfnmZrP~!5xx-f53RA z%#a-fNn;fF;rdBgX^`9p?&E8=<=1#R$HwXNA{~#6bt#5Z{hNQX+V(E!uQns~4mU%6 zy;W9>ar>yb_d}eaEbyf(M^k88oN4tQd(-iZ<}|#3>JA9>Nc1+;#MC=Q9%Xa`A{(9J z2MeLdrcrOUz*|Zq*yigvt_`k=gw0S6W@wQQRT$CFMvC!JTrbCfnJ57}i3$CsqYy@v zBVBpH;LaET37=&t#ywXoty}n<#ii>b)8=HEO>+vh!Ci7^&xxvyNNum(hWZ&ki?a3D zdo2Ju(I{8@EQpd;P1?@)((FkQJ(3<&ul3R*w-AwQ7hXl0X#uwIcuB>Z;%NdJ)o!Vk zYFPG(igv|4y!TAi^>ocDwQvYaoSchYL=F<QX#XsJzGpA_n$XGex#6>!3Qw<Dy0Ye; zlmhMm&iYPaB3`Np+T>d|UBybOmsDf46c{0K&T0%UOEEL~X>g(7LX+gf15vU~*O^hX z6VGLauR!H1KbUP#v#z*uhB!Hc+ymj^9aTkY%^sW=lpMm8;e_XqMuw5++NCpgb`}aX zkF6==8`^Vq6U}$$A3k&Fl*K}e_r0VA`S1#bQ`QH0yWy-rl?$$#TC;=lmjNt}@qkP= zS;oO9@f3*7Y%K=TU}cJ<Gw%MllWS(<R()WkPACVcms6j$w9D3BEiy}mIhAVt*%khg z<1eNkN3g?y6*(n9YEoLB82dbY?n?NQ_QMV5?+8_Y7y!XmOdvC`M4zUuVtgHs4}HdO zmmF?p0Yex2A)?yTMHuem=cZjB_4(INKKd~_Fzivp0xQSIs2sg6ilC4W<%?V%pE-qS z<A^nz8WOa7;-Xlo=Q4qlh{jxh<N+qSof80kb0jjIp+SkC7zGa~wM513y(A(sR*2m$ zpMagc{T56GPE6smo&ES4kSipmC&DFD$r>@+(<lbK1dXPm9i*p_Ag*YgGFG_N!-+UQ zocBm$Omng2b~e;92Um+XG|ApIlqmj{Sqq)^`X%L1RuDv$2Q1SM@9t2rj6dM{?8`=o zo_zBvws93Ur_acWO5r2^P)$z&Y;gS{6q9uUuR@!jTNJaE?1sarJSz)EBy1fxGy=)C zY~Y>t#)x+163u{O33<xC2!zB~R-QTgDry;X1RI+7xdPLq;^=v{g1M*@2PH|Q2``d` z4;Np9o*abhgL<d?4})#ai)O?1f-jItFC@`Yog*-^znqa~+1&4Sy!Duk3g;LjUc8xu zsh=dl^s1o{=r;H}Z5RBhHPejtH`0V+O5T}SwIuNGlWD(k=5NQC&8anSmvaYF7S1dB zn{^UAs0%R`HkN#zvCGMJ5XL66CHffcgopr@&8WE2bWSh$i^3+ERj}~e|6xFz&GbNA zCUeGXgc+I0Om3^aG#5ulAHAs$>J8845rGuaI*AiaU(-}zWJR_e>Y0B^Uo;IPzbYhu z>od6k7CpbFP<V(c!zrgt12`rPrT^Ykb`&jyp3X&6G`OvlT(bv~wF8VrZA(GCq_%oq z!mT+$16RU&Z_kiS_6UQXcg4Ew6Ag839%{KsCgFQ;Tyx)Z%Fp;ZE|Zs~y*JW~D1H2@ z`^jK_Fl=Tjy}}-QLV3jj80I@$>yAZh+Z)untPsrMF&bD*d@;M{v;8~gjJy$upMm)6 zF<F$X)JCU^Q-PNDruq6asFo7R1RP7%Gi?q;EO=u?CA^(u$qQmSSn$HJ4;hD)71Ny4 z7NKyh?yAKlgrI+fuqCkR*+)u-hc7V97K+^_sc?1LD1!rA^F2#5A#45`QW>A3l&|u5 z9`Cs=Xe;}_yo0qh6Q<|ikr?(b1OK`Nx##TOb2-M(6$A@ZLv0l{OB$-2fIG>`j#z&} z61gkvYPG;SWIV5Z6nKkg_=cl=u^cVLV}_q8gLXV`1hHQz*F+RgBEI#|nQ-Y3`fk{# z6!Ttupp%mL4%b{YL-!5<l{OIPC!9d>nGd=odWW10qFln8VdLFVspc_ab0y?_RN27e zRQ(7w^-t`sERcfOT|If+QE*w>YDsv^PgR_nnV%bQO$k3qkR$8FuVAWl$30b0AqZ<% z!?$E4r68FE{<U7GCo0<v04X=+sw$uXG7&iNdA_@LGE)}M)V3SLO%?&?2D1jpZoeUT zwVKVP98-qM(5XwQR-;aJGkT77-Kk1`$unX|F8<eJRh*>6aP~|^e0M{qhqn?6fPG?b z9nMRrG80os=w#rE2!H7_NSmy(4B*i$TDN-=4a=ZjGM{GqB0>T-BE3cr;Kr2Nva3Zm zDd~~8w`e#3=2-eW3FDog;Yc(Kc_g-W(}W^;vi+2<l`9x%7-N$X<pFZZyD7D=<+<@7 zB!ws^asCq|$kWLxBb$V~^Hnf1mh%?K3UG;x<l+2=SDKoU5cg_mX3wD#*K3(E;;A{} zlFEz$MA{+wrK*+3@It*o7%5f@Mts^-oBDxx(0meWBu#H=|6MY&iYt`R=$w7=J>KT) zV8vJR_q;gr27-cG;OCt>^df4@Z0=%+{+Nt<>DM|&rC`#sl5iO2zI9e{Qb@@V6@7OA z#RXXOHDM@j%oTZ(#!~wyqhbCFvNqw>7+Osl8`_!sY_S0%D5rI7I<Uy0jIMc@n=XgB zDziR4k!TarRSQl3cC&6%5?)#ccl+825-feLg`lnKZybHrAhfA3Z)+kso*EukF0V(1 zO&pM*HfC(@O7i-99PmC0fI5DK{X8nM#14~+ZFQ4(WySq<7nK1YUrNJGWM#FeVuMTn zW^qu)H{$4LKG&CV#>#}kEH_LQ%yrdgHTeU<%o^6fK2>{dxa*3}{4%e146Kqg#|ZYi z26}c?n&&5EI#wHVL~U%p(xi<{<V}5=!|W^6jz(o&P-FV=U7_ljssZ(B0x~u#=AfGL zq<E_SRrJts|Gxa5-f@7ow1S4G6fN0_G8U^j*|!@n)<XH0s<Yg?Jp{F#Al$g7a1ACq zSQ^&$K&qjm=G)Iv5~8z(8hpxQMigdAmCShZ<C?zve($b8O6JOHWkLpv-Xii74M|7Y zX?c;+DQCK;3>dx?NhwE#_~!20Wlk$JAmo`Bzgx-f(df5x2N5RKZy<cewCGtIa8f)r z-=}~C99VpMpy+arT!``&7`92uStSK=L^gLw&LR?b&~lXu{rU@`gfIJ}e*rBS+JB4J zF<>@RL0w_*@?+?AM(bZ|WW!~tly%hI_k0eBHi@`0NS8nAGf>YKokPzZp5NnI1!ord zhY=V!5sP2o<zo)X^#K~*?LIaf)V-I+|6=Q?5m9lmk(K<QhLn-dR5{S+H%7M1+I4_m zh%XrnJFH)b#tmSncuXRzR750FO7y+kb-qYwvg!m=-!!t#Af&WswE=%RU6P-t`DvIQ zN%BFc8l-aVyIMtF+z}A%mk4I6jQg~U$&1OblkuR9xJb*$gxR>V@rpP{@IqpBG`esn zSha0*)ibo{DxmwI>|%2|4zzv_rEU*kQ2QF^ch?+++%>5+5b+92Hb_DJ<!o);+>JPc z?{C!v(lfp@TNd?!Nm7@C!PHBMN)1EPBge_sb_h+y69l`;EJQVxg1Q=u(65M?A9qmf zc|Pgd^Db<ntQ1xdBGF5aFO&Qxn1K)LPPxH|*Q6Ej!A06htBYlBI+cSc*z!zK1^Kn; zOe>6_T!-?6^)ikgbP{K3iHkSx%zYx^^}ZIW_U$e86nUkM?MPaRZbS-VEanB{wk3ZL zLEwc5aq6y}wR{P<3YSA!hf$vNF;Y2x*A+lX3Y2B#7s;N!OBV@^70ps%g78z`63;tn zJyqTTE;Rf$My98LC5FcTMB@~lkI$S4|0?zpsAiyI_W>Pa#qn(6C1^v&$(Hh0^+c38 z!!QRBV1DUkR?TEzTqV(l-4`qhI9<Hx0LNZ~oftQL7yBw3e+QJf(h{nH?NLcv6Dt3} z#G!>gDkboQH?nF|StCws%DV_6zQbh`u;rlU@tb*p<@4RZQx_-AC(#@t4@#_2Qq3-= z8g?+Ntgw-onbn(VdB!m8UCyWOWej{2OTl`$1H`4vIh}`Y#o7!3S$pxA@Cnunv)_Dp z)M8wxs5sU_khiHpF+!d1i?3n-g*FqZvbNMc>mcc{k(X@Vb|i<a3VzCg2Hu2)lvuMY zK3@5^KFs>KAKeAyUDfdCAZ2#y{bI-QlE~#U<1wI45)DWE%vVK~zp<u8*6|Fi76f>* zI5R^jKas`0@1!(2i?Q*uX?dXxgU=pZTwdFu>!98|Gdxc;o~JAhl5zAw=Xk~XP!cYl zAAnFPy1eva`U3K>s8-+5m-Wi3YGOB}O+sv|@1xQ+tS?#W<2{zLOAy&F2xg1;RB@#_ z4WEig(6E=fYGY%De25xMs&TW1H3LqqVT>?B8my%^_kwc<WNfMRCNEe6R8*|hXN5Ek zyEEzV-b9)$3yRKgM$&oXFrC;BDpRmWB1+?gF+VBxmuFXaGYzQQUC_p)kw9gBvy?G< zo0S7VOWJ@J>8a0VhRA!P`Eh<!Mjf&Tf^D#H(}=tPlSQJ?kE5h#@{J(>S;pw8pf` zsM?SZHW+kbil?$K$I{SzBX<_m3mYx6P4#MYkbqR!k$MnnW-q{DR?q*8k=5|f-DVaS zPo~#mmy_vg#9{TIU1EfizYwlJK$5IAQt1=?P>~Q$<nscsR(~QvE?KM+-Uu7S(NF-Z zi)0+211~^jWhO(v%t+zGRmf6G3Edpysom|Ftx;*X#@Jt%fyS6FY4yXMx1v1vD)4^g z@H5GB?Sk0C7q}kwS&Uw+uZ352UgF`y;(h8@>t#%&t<vGX^@Hw#vTM}%WK@hNq|sNL z7PP*wyV6<0*C{Jxsyaem0+STYhwXJkTahwlH4{jU_oYiCv2SpS*rIT)QMiq4%9+Xz zyBniQTtyN~BN$;nqbed<Hggn+cXJ(FX-Jvp1ks*;pw<!cuU%YPc17&^3b3RaWyfp_ zbLz=NQuZ$?+y)SaXPh63bzC{!eT?8e2_;SV-;2ehrG;p@DvG2D4D|UdSl1kdMeLr` z2&Cb=Dh$5F(nyJ8=5Ji;O<DuIbq>evCK0)`HsTUjPQJuKj{I7J_wS`dPCfjEqE4k5 zy>#-QH7vz9zQ4aGQ%YWU1WHH}Dj6Zuyh?1a-53#JWJGEZo@Q7&oX0H*ZKpc$idD6v z8ta2MeH;p&$8#WSLM)t00Uu*@py}p5kPc5wF^fw@*va-cfc%P*Rn+h(Qx8CBUR#Zs zO6KlV`iAwWVy=%n4edjEI5B*_S&w$RZh$5kE>Z@JNnex;ReigfA*?X?_-C4f)f%=c ztc%4zEQ{B?*&c5u{A+HQV<ZmAtl0thQ2}?IXC9vUWK7a=_>t|+x1wO*$=$bP6InXx zOsoPpz^Aiequ@EMky5@8tUGo-QWXfI=x4ngOhnxrOXMLo)k!@SoJ)t-Dwgngy2$>t z300H}B$JY5h(Rj2{}&!?WyKPp=04pBQNTIlE}>Y)jOr$Xg#P#i_T_Y9YnL{rJpc?_ z>I9u>GplH_h=61^U0<pp-D?1}``XZ|@;n-=EiIx71zb(3Om7%!b|^-V4X$;~*v9iL zi>GDN?0iprRfyq=Juj8h$y$wBm6!m(pkZFQI9Qh`(bPOre@{uIMu1KC)3fbfGq}2Z zv=6yILyU)-L%r`Niw01c%ez78Evut2!MK$C++!}ae`J~R^+en@8M9}fNm<$Kq*h3h zQN_|0R5phO<dyxPbd5)C-o;4Fv_-ML>yt+ex!UxfC)>0C^BPFS6_DP>2HJ$I%~=S$ zjOPe%GHWXFHY_t}jpL~jo$14i+2es8gl}-Miy$vT-hc7y&%{^m@}g%DVTc#d@gR0d z_K%#B_>f&N6t#?VKhZ@9k`7xSB580=g6>^Wlrf;Ks6fBT;-6YNZYKL|6zL7CIKiDr zv-Jw)5Sjzjs!c-K*yWMi&~XQ$l;u1sP7aA!-vVqwBKRl{+-p)|xJs6hm9(;N51e1V zGEY&>i>#Pt%CeB7H9JUQZ^2{|T`Dpg_Fwww;=|Mv*Q%^oH1-USmWDk}O=&HIOZE!r zCI%JMV4+FJ`rIQ&UyIVCV<>eu<4=4cN7T}(mJ#KTb&?IIk^7MDCfJW=;fapQUe|qr z-1gdGot1H@ahc-~t1WOv*u#l5G*>`zW`l&;tlUv@WkbxcV%4;E$_Z;*S9~(W1MX|f z%qa1u`iwLlo3oUO85mG2fR%CvUC749VOOyh=asSY-Han$$n0Y!w2F)ULWsS8ZLlvq z?>%#ET+!wc=`5zzeFAhN5G9h4GeAeqf;{GrU^j~1lRtSO%Zc#dPb`6=GYs;3M5uEa z7TFxhj4U~kC|(YaX?KRkcNtTmADnD(3n4989J6qbt|Gw5u-2wLDG1h}sj=j!>Pi++ zMYQ%8J{8G^%Y-6v$%Pe5?H5Pute&FSGqxM~EeKROVRD3%#4j1OPcKA@hc}RJGgH#^ zbB}3nf14a$11%s4X`AV~<8O~6j*7$tJ{)n5yHwC8lfwA%b&I%!bVxD>qQYX6Wc>np z5fC4T`gvhs<4R&OkMA1ZBzrm$_g$uSLdPn}p6bM>?MS3CW?bu{H;{-Wvylnf=?xxR zqSzx4R!|jvZ3m}OMv}I*xrV?PneDE6Y2pm}utQD~PRZuBAp|I%w70Cqj!oXSx6I<q z-#NV`QX>rso>;u;-YZW7kpSTz-3p%VMqp~bkz%Pm>(2hkK^K73BAn!hx9H<U=(%Ce zr<WBe@f98ki~9utLgk{{e=?^B8AHniXOp7kP}p?{6B;H>m$&Y5S#)~r-X%sd$Q2VF zY7wVZ<esGb`_}c5tv+`EJ(*Ql%6=(wt^j*&%ncwOj#Zwysp$x_!xP_QS;~49Bq8M1 z(eFg0-^oyR!aC&14hOs`z;#8L0Zw!b5b+4v4}z+-gsxe9?rlLVWn#}|lCV3eN_o;* zE|gb*OPVD|fNs1|PH24>$FNvc|7|0o&J=SYVvLNZSL?)dFC-Zi$)ouaH$=t9r1?Io zNYX75pl1|Y2@$w)&tSJbP-ahH#fx4l7y{D5pr5c)ojE0NSJ}TDq0*g6<F)m^&a+5E z!0TpT%lWB^^{58$eK^+Kv-Y`S@I}75zZe#lMt&b>Kr$Kxv)Q3Ti%iv$mr4v~u_+tl zA6Ey{M!n6~Nw6Pxeq$L!mi4=6nqhszH<omE$Pp_63)<+V@Mk`esYC#1YLOD`4ahuz z^1H~a#%j4#`3i0}_z)5)Uz(oV9&>bDq-EdEk4{bAwQ~C1A}D?r@9M+O9so%*OBuTW zhkc01Ct;xdqJS-zJR$=oI56dl(N)@0w%!k79@2ASb5ULPMV#rpRWyPv#OV&cM9!?1 z@h5I}h#+E}v!H)+8KmwVqE5P!VjJjdyHaL}47*`vgAP7Bfr-NWpOK3@NtyQDAthq2 z#dB78Yl;OaC2;Z_09IiKoNSjgh#e6xS%o|+kvuTwl;QXhmdTo{NXxE<*%~z&P*=aQ zr_4FF?xmW0NWztlW2-erw%61!tGTkrPK-E_?tjZ7?Bz3(6Izmz>5@Zh@DW6e4R64? zqIU4pSk0VL{TWL_2u_Im$@rL;Y3$~61d<f-7|07r2YcSkDsMCh?e{FB47l^Y`Dn^O z2a@u5Y33Vw6uUT((;(>7uOlvyhZo1psVNUT$JvFpYqyuy!LZ|oHkQhOCj!S@z+g(B zL+=60;4XCl!NM}+BO1=6-OMgb?wB?DJgrrRb-xm^Q^%o6!#M%#a@z3D-5WQxD|j|m zWz5E$AY4KO(K=ZnBmG&R$y>mj@KR^7e-ocoK}1AYoTBC*Msb`gBHZwfoK}3!U8$&; zK)5Io33HRsS10At!&UbQy5MMf=V`wLpAV{GRn60Uy(u$RitM1@pt#2)i@<#i-<d?N zHZ7%<ei8cGx>?Z<&(+McbQpK^QfpGN;GrRy9E|xyCo56|(}o^{ysYf1y<>#=^!S(U zxgN2{|4oC#_|JevD*1>^V$|@?F+|8cpVRf7=-vkPZXe2>j+#q}@t^*;@xkjSb?BY3 z7E=?^(<+;gHFDo)5pvs`@z=3^j~nNNL=R39f`_KKF<oltp$K-N`B-fAu6Lt_B#-+| za5zkI|Andn0K)}Xxz>LS5egk!{Q$&=^xZ4oxw3V?pF<>lDB;nGPi}7x_ZlJ;w)FMn zCJ_8P+ShkFB_cvD<Q^+3QObm-b;b}HBBozG8o_)h9MnIQ%c)<CthNT=1jWbxT!?Ck z5*l(h-l%8qf8gxCY0wnE9?!ZcolS1CFs^jH)gcrbb$I<WQR?Az>ItFrU1T?Aj()@N z$cQTo{@d@5hZJ$u{}p@vQ<TuJ(_JR;jj1%L<3PV$FH+IAeu&VR&_b{`PiTlQQ2$ux zz5f13z<iV~M3JjtiBM>0TB>kqP=!z?$2b~SwO__!Umk=$%<^x$SSKJ9`iCL-4?~Dh zcr=r<!6f!KY%4f!(yzpT>88T&;`tCEMW=?)P~U8U<4=-=#dddYjO*M%&f$9HRn3n= zLl~q(gl+fpQHeSmo_x~Z)Q*hpi3N*n_F7k-5(+yI3SC~D%+ao7p&p+jt&y!i>R;$C z0N#rC7Z^jULPIO-3r3HcCQ>k0h{1*LssEbjNwQ2TXK0Pc5aB<Ju-eEO7chrX?@T1k zx>U<}!3J-KOZLn4r<C=Nv3E+LT`e9jI2dA+UW-y6JPF<InpBjY?>n1wU|N~yWaaps zP@ACDCt(&adan4{6Y}T?n&4!*j}rZd@uBn)1=}9W8>cj_H}-OUC*&fw9?>mC@pdU* ziz{{m$SilJZbJKx_8u!_3$yTQ&;Rl2+&J7bgy|C=E(Fz63R$mvv$fF%dhODelvF@B z?g4%0*ENEDy`*`b^h(XmfBYVjluv_3&V(UYZ4bwhA!O6Nt%l(-Y@|;UQCyWCHa_=S z-Y~6S*ChK1T*r8iAy#Xaz^OC);=tK+wW~+hp#Dd>k8i1n?luN*x)+{Qe#oY)e&vmo zuvwV@EJyWY2km(B1?Zvjl;RqG@$R84$LAjgVbEc;sexSiJBVJ5NquO@&Yi2k?`JQH zG5l7?wxspc&3a)!R%17%$+t=l6%~aB^<Q0+SS3lnX8Rn5Qkk1n`bwVyYqh9r+9)D^ z$5P-87_<B{Z|RV1yulRa_!M}*usm<)Svg*_X_`*n7Z!^*_ao+KM@RqGksT#WlZlYR zP0Y^zo{*!O&y3mLQ{y_{q!4OiWuWFfC9@BDr<cYaf5gwHpe*;3?uAp+hVhH|Mc32l zPW*miP-^0BvoE}Qhb8U&9!PGu_86k$<d`7Xc3B)UxES>{OuK)yT(oIJPO-&=?ychT zxQz2Jo(4QevI6gkmxGFOZ-QhdMPC4wdY4h%7}27xEQ?$**MD`ZwF1~4!_J{tq=ToM z;l87Tfs#y*v83{$T=v*VMq)_^e<bFk%afh#zaf<Wq1TTT_J3>4W2QRUqsdc=+0ahN z`*{O=VD^9H^?&Ioq<0y1^}h!%r_3LD+ovI|%Lfi;N8>&bSSQ1e&J}bM|Mni+=|z9y zt><=xwCl-gS6PO2VM*e)Lt$C>%}zFfPv8_Wb+c!q@lF#gP+)i>LLIyQIJr)ct^s|b zPlCVql$fXoeHi}y=>0p0H-}=$iTTht`hhxdHbKNu((Aplu6szHXf1X{fb%XozXi=a z9zh}_@+3rrJy_qLeR$g;gXWDUJm7C)!;N6WPAV4gDuQk@*{)Xu)9lOU93&|!-g7I$ z@Hj|*RKqJ=9f}6uj$hG^s%d)&DN`*o@iUY5%V-q|2tRZBJ8+}O=oA>C=;mqpmh@sR zn|}jojtuq)aga-3X!353$pw;JVaf<vDW)!M$@}Oi>s^g2KB<}Z(VW)4T7g}rUWf#5 z-PJE}&e48fjpA!crA(O<*EZDTT>fkOK(YWidZ6w(%`b?K`oemoAsl;fY#c&RL)o54 zyRaSdRXBF}jw!R2X=q?iws$(^&z>YpF8(i{r==J1Gi{?*w{~&FMPU{aUx7n}BFO_+ z5&F-%yUC`0mHn6um?B^T{d9sDk?9Jc{)m}3oh<RU8_arQN5*=it|A244xf%|=|z{A z>kIN7##wj1Wj<?rr4j4u#z*}fI43n7!fAY^=*iig?131lBrz(8cZQ7UfBP#1eWy#O zAM#QZbIF?_HX9GRPBMQbZ?-42bP3z{|0AU^cct$1y%Dt-_5AJY!KdeJz3U=E_AyMU z)uO2<#}|jIj4V~be=hmnsULG>><)oMI~b6^j7BgnrQI1aEZ_pKJ`1#36HJ`QbpOM^ zy(J6SLlwL#K~08(4f(ia-P!68Z>Su9T0E4sISKBoy!y3t5-dCywmr3N6m~BsagJJg z3rs4L+}=x4py|D^Cc9Yo_#?V%Mr_xAE)cLpE{xDj{c{?8=eB+26vUMM3KUgXHs@;l zQJ3yUL+!W32ErW4|2D$5f2CpWPX&p~&bvFg`y_>R!MyOAI3|VuZfe6hSv*M;6G1iq zOS5{5_)c}<jLh+Mp?&&_t*uSgm5?qGf=2&u8Gj6qZFPbhoLmD_()U(|169B`NTD9* zb#-!eK|w->ll6A!oLo#BWV<eau|UbZp?@P@_P_&kgL!snn{mP1O}<#lImYApRJ-Nd zYF__!Zr35uAF*-fQ9Ke4CO+RTP@{!E<QJ5o?S+3bF?EtUQ7+|p!04htO~AFo9ChBV z4nLCYkKT4dYWsy9u<|X@fwjKjp;c(s_I}Tb9Kn9FSt91&g?|`T3UE2Xr1|Pk2TF)P z#*Cly8>HCjT`&HkYg$nkiY{f;l-c#O2_e+Zy|{&ep1#Z>4b>a>I_JwGo;!iHdFQnC zRVN%uG*A3eI`dvE^A|dz7Hm)htJY-#LgB@O0WH8Tw!yz|y96D&>BF`*{XSs2o~`R% zgrgnU@&!8A7;~?RC4au9bPYxazhuy{-dxGl7Oie+x_#G+XftEb>Mgb!b>AGg%pe<l z^?YpR{$u>DHV<1!DUqO$LRD6_O>Hj!sFCX9^dY-xy92@lduJlMo~ZL}p7OSc6{2TO zHUvBGyR|-z;!ezG{CPzh*e%mHLo@I#xiM1hnfogz&s|TnfkgP@+d{zN`u^Sf&roA@ z#6<u{o$qL_x|heCDSFW<mJ{uzi|rqlDqD}9P4u=iJJLT~ezNu<R~xhMu@n!BN+@P; zv%ilFINFzzXM}keQPJT5JbjzZas1TOS32$!#+S1o;}k0y%Nfek5*eFOqeG%JfSY8F zuukiuDQ3IEpX;YPk@<{$=MFMGJ8=BHSjd6@GGS=OwAxW4ov(-PI+JETJ;Z2L_T4dY ztDziaKD<OQ4`<zf(93zb*D~<EqwyWdr2uX1cnR%nk9nqL1f6jez^i~P?7T1fq~T#) z*(X1DWOlk*iXfo$w(470?rmoE?Uu(*TqdEd<i;(ZwOaMs;!+=5m^<H_#qlMKW5=}; zfyI~3>=1RYu3WEqySOjJ6LAg0NoAbFQA{6KhJLP)IfqKwJQMtAIwI3W6vynj<u|+} z>hvAU-NMdnf<eFQ;CP@%Q0|o>tr9x><Plqa8KxMe&)I~0r}(CHW%U(s;JP2{%>`>) zEYoALVf}xL&0{(FpWEmED>mLjTTuA_O3i<9EToFO?nnPHMrGEO+z&MVMEsB#jVSln zx&!tr4BRbar-ZfrB1CAgqwf;J&3DiR1nVCM4VrNFgFH&yeGq2W_ghK&LlQ?18UnCs zMAo{<?NG)gO`Ffe9VCAud?j2nbqJMd`9x5lCQfRQF}Cr-acj$=wXcv;KXu^BIrBJ| zRAd+x=4IoUFHn@Jjc&ah*~uk-NS7;&-a$Y2+HCf|jQzMy^DTRpc$$B|BeCHMPwMaf z;uK8*BSC4tYTHoZK1~;3>n$Mptz+ayH|NskacrO>iS=k{7TRl?1j}_vG(9oX4D^F^ zkYq(BU!^NRT}^f~YvsbiE8NKX5AkW_xg5@jK(ZpiF9N$7XndV*eP>Ljo8#N`xaJu7 z@ov~Xfp0BMR+KEm0~6@;Wr|DD-^8sSQcDXOQn(?k9E!{hnK9!`F=jgY)zVFc<|9Yn z^+H<BP5Gq+fy?MSi6-GguQQupf&`Vh!zNx)f90-61E>bwZn9n@smJ%%8V|lk%_jp7 zng2#S+YTJHy_1tHcoh;#bKW1$?>!g1Fp&D>n4~7E$4PmHbIM#tX?inUvGVE3@%>s| ziZzYhhAEu5WE8XUBYyCrPC#ZCR%5n^8TNrSRq2T$W1k@A>6f-j%oEbn>UBr!bp_1s zgs{{L-9zXKFmZqQCUYDujQ-UW_z3ISP6e0;VAA6-tOa@nIsWwPYD?H#8-7k1=~Grm zw&+uU%7*{LAd}brT=*90(V6T^g+7;TJ%6UbP(nE@K@W(?-QxA{(J#G(1o^v#Y;MH{ z2GaS{-b`7f;x*f7TYiggs}emqUL|q)>ptF#d>^b1maO}NmeFjQZa{W-dDR*9{Mq2p zTZ=V~A%g`y7!8;1Jz0x6_Y=4{c9%g5-zCM8oN{=14KThc2d%4&yan8oPGu*X2Wrfl zd(U^hS;1*sFr2nqk8fIw^R#+D1&(J~%S^(QvXQzC+1x`qM6{iie~a`?Mq9{R#<Weu zhnuI8hZb519D@EF-^jmpCKTU_5WR~2A?DG#zI+dF*)0$o1)S-dh9!F{C>S{)(Lq<Y zDBrSFkw0epyFGtMieyHt6X6Cbpu>~-B3pssfQeUDaz$4*(hh^@w-OqVApzW5`a&n! z#y@k`e;8JdbIk3RC$_^1k#DTEotL)WUde#a3d4=(c}5Nc4rGn11xo`#e&-D*d&oa@ z0>X#pCwpw&q<?D}yLyk*^MW%|mP8(BuXSqVtLVD-j=b8*^g8lry^nSHMYgnz4q5SU z^5o=`LvQ{P^sNKOxCU@h#_9Vn*MxLU!ASHQNmhstYMKM<-r9I5Xw#FtSv&ci!bjGG z`B_9GNtg^Zoh9*mr)!&dh@H{q+q|D(_tWdD!k^mS?;H9@Ga{(m%2JYwqJ!+dMi4Bd zm&{EId=|SD>nZEjllSrpVh>o3p^1&$2*4Au=C@>-JsJJmcU5pTRPRW`ATa<b^jP6* zM6!^D{e5InLx=dgZ1tNH?4aiDY|(=l&`>GgS$!u~@3k8Fv%NOq1EJu&_M^#8O~~u1 z8um?VOu;+cE}1q#4-{L>q;R!f)^YuL0F$|0E8U|<hReUfTGKDG!|l6>0s?gG@IGKU zySG2C%~C?`>F<Y;S74#>z510^<UR!a^_G)ZOq2xqwn{9XQflv}+l=%TO17M|(Pq4L z=MeK6NGPv8GCJN?{q=EH*8W}UxBKY^08#>82~^PAJ9n~q<{mB9(&)3tR=O2I{_&k+ zsj%IMyF<req)2FdL^8zd3;GUu8o7SljT=r`vEOmO#I5rjQ}_>6+ovb)hgCe^P^WCd z7u3sr)$rDZzxxm7jgA)#`NVx_gH3t`ee0FBsb?;Af5m#6LUWznf45!p(pllCb=H$D ztgcjaRb%hnsb4;IR;PAfzq)m%6H-vn+qiB@XbR<!(*E4ns@<{D%5gjy82YkkK!lGC zJR{kx2m5;c?3g?As++iTTk2Mj$*bUy6jKYwpK$0j`cR<xU_*kzL5AN;Zf%K7GXL-U zIcq`Q$&0f!#Wl$(ye-(Ie&&Rr<jNvrd!Xh35N}hz?Y}z0P5M8%@)+=i`JZz6zoO+o z&!`=#H<TG(G|+G)^#AjWlKQtl-X-Wf-5YXJ%j&qsyz}2V<3fwmAFZAop2=j;+Ab4` zYKR}55fu^QtvuB~0`=FaPbe~>^@qD`W<X<~!N$UYH#~-XB?yjM=Y8=9o{qpzbsGFE z-n|Bf)V%)Kj&;vFUKEtm&KH)~;(st1ijN7bTok$sv-9TNB{&E4h~?<#6iPmTiizr< z&Y16h)UI+!9~$@e&`R=uAwcsL>muFxPTL4+3w6g}E?^ieI_2q+FQ^7T`Rh-PE<8(o zBF-zxvw$6(Zk~6QwB1oro2q%rJ0+)2)o9TmI$a?M?la_}4KHoqN>I+b;eoR3lQCI? za)R;nyXF!el^Nw&$?WI16f%{I^b`0{uL{G*AoMzL`_tJMT9eb*{fyzvPtLG!c(W|Y z=7}R7>F#rx^dQae__%2=GiL=zm^S^-Uz=wUCG_9kkak3N%VS=*KRE@UU^=ge#!bVU ze2uVGe7^Ypw)}Z7P-YHDCkmcnsm`|<#vAMHJ|^g%{Mahz?=$pvR)BzH=#=|I`yFDC zuHYu)iFI*JSaDN}?bo8ucwlQqJVXr2lwVThQCaHi$uj{my$t|Q*017r-Z*{z^oS10 z*ixSUR%z@_>Bz>%rOblbjPXsBJQJ=TtKdAw{DN3BRmcH?>CV>e@}}gil?+d9>a9w- zr9|%k4*+vOjK87Mr&eR_J^)75`$U4rIrk#8s4nrisBoHj;qF<xu^m0)p442C0r0*V zqyw>{PzslwA9+JS(pz!RPnLocv91U1WUGF05}JG>EJHc}00LY}hL{%>#Gri34MlB2 ziu6mGz2Z~r$|b-ITK@nAu~4eU;F)_n^xAE|rPR~v3xQGhsDRa9H&E`83jkxy%JS`1 z*6-q2t@2HL+`=9Ur?+ygXRrnKTxbre6rtd2m?Vm5U9WG7fCS$&uYABt+I=4WW~vVy zMTHgKpEAXvq<_~$aI0mCQi2x(gRH;u06Bl5gemTd;FJ~kw*wnj;x<xK{wK_^NUVp< zrS_e=mqlT?_?DSX5(*CEvMOBBuA->DPXPLHq;m!J20hOV04{eb<AInstGHtxhA|SA z3@eDXGp}z=A+Js*kjoIrZgf57KyAA{9^N9z!uNO!-*0(>y0@p`{ow?qIjJ8R{yt&0 z($c5<{YHQbYJ{(Zeqg}pKd@Xs7E9vc?VqsEkC|n#_Dme>=DsCu6ak{x!U#1NE6Ute z-r+VZjAktn@IsCw7rMPl7G5-fQD)?3ThXQAmL{3-;#9!b_}xvVJt<fS${%={8MM+^ zErC@*q2{0^>Nn2)QsJl2G~92+6K<wSo2V6jUqNIFWe5~{iy$uLTuNc41^NP@Tl<bC z%XUCWa^bitigZ*Fc_F7K&&0&Rpw#4BFWO&?fLeY_aS6&{s60QcR&*S{ggkLCLGF%S z99>`i)WuO_LD#>{?p$gHH|2)YZtXCxNbs7Xx;F}nanuHx$y{HvDkQYpF1&#kMOYJW z97Pg^3dg6<`j^b>w-1DcR(B>V&+?Up#uUC<?fptSK;M}fxo1qhgzwn`Ip2TdcR2Jn z9^*(hdODA{&=+4XU7?cYh=~m_Er14Lb)Cw%E9t#r8k`dq=xLjJW0`=(tRCFN+9rpm z3?u~}Tc|GJ3g$iGpou|w0BEL<i0YL#rGd(^p5ij#me-ZEb9mW?CZ&Zm0`ArzH{pmu zg4)&gZbz2FgQoc^kHjKq{vs6AZ7s2Fe6Mp)BB%;6eI@v|AXEm*R_L?}%Ywunl_WNf zu|xR8dJ(rm;ZzzpiU69#zUY?tY33_IyE8i-IjutH$*wvtZlX%lsQ4d);#~yctPU;i z1r?mad(<vMi(L4ZH2`}fgW5F@?=Zns>HaM}4KdXIs#mwq(BCsY$<xy7i}f`P5Jm{w zms0ZLG?nHR0^-eoi-;Ejy#nzSi{6z8;$6>o;u1z4d*b~60CT99(#R=zXbbV3cSWr) zq87npbz`MGv$GO_OI9s^BkUt?of7XiNDGeh4F`hZ70J!hSWT&grN-l05|>Jgnp?VV z<rWpx4g(n~@!~xT<2Cj<d_tL~K%tfg1Sxa6p;=?jmO@;lC<U#S3MxhnghX@!k9BVx z#iCKls`<bB1x!t-pOjGh-?V(!6>xFDe}qR{Xc56`yRJJt^yIuYq>2PIFKSq>S(zGE zX<KldQ}6CJKC;yKi21DOYkc|V<`nZw=#_rhp4Joh0F~dQa7){fbxr)n?3~U#e}ygu zM_#;oz9pnq%c;3|^;K|Jp}Fk1Z8Lr$fi#<Lp`6#x)Rr(3y`j0Z3m{jno?g507YfUS z@UZ*Fjt`di{3K>6YSC%_{{VTG@_|HMafGLsoR!K$<Xi6Xy~Q*FXH1oJo^i)aG?6KM zvAPT{3a<FlMAtWv&ck@Re69yOz!vp{<-^z7^tk7Qm8$ruRMCnBG^ww+9%e1V%;sFk z6B~6mx^M_mn*#7f<U$6ck!S$9Y;KK$?NvbCT}aW<8AF;D(!7N}(cf7U4E8Pj232aa zNvzf}lg(gvxTY1^;N31MExlJt;9scQfUMGY*Z#!-Eh&^`{a?hc7p>}-s4D<vz&XEg znTHB|FSep)1*h>oOJTHF6&o-eHyZx{9ard8A4|9{Awh)z^xPDB8ezx0sa~O+`emQ+ z3t&_9g}bQlh;!6|YQ<VwrSPjbkN28^hDghXO<7#ynVBLHpna2-;juPWL=j@b3T3cr zt=7fWk(V>hC2e30z2AtS0imd3y9Hkjc$NVrh3e{#@QWSkGNdj{YYWHB%Xd{<!KUnW zve{<^7BZR^%jLfnGc_egV>5MyQwO6JFR8Ur0#RF|QFwSQ(ohrt2LY*JQ0TP$KZxS{ z!L40U_oSypCDT?wTfV)nEpbt!T&SkZHh2RlLR<!=@(Pr!TXvf=`-1X;P8Yr&X@~)K zZ5-pTw%o?^YrYG`UvLK&s4fF({pMK4ww)gyVvGZa1eOLRhlp=9bKC(GlY|Qx6~uFz z{{R`>3yDxJI6+>6P6s}o5WhjFad%ajb9KDjF$L$)Jbhb7XVL|KeMf<Hk1sOyMuSI0 z1RxI}+MaV4jZ$0erunXSf;bYbgydkfuoZ<1=W@K(q*#;?#<KUuHk1J;3JzTYxlCVK zBO=$3T19cS=!f{YFcv~owOU@5vuvB;e<`(A%@;Jf+zH&0gO;eTyrKYML{6Hoh-1NE z%r2|qg=EU!5}*?nMVoM_t#-pua#d&uMzoZ-LZr+U?SoEOplVW6ZSq2g9#Ix#QLD&i z<?wkZv{2c?bGvm1tlJwF6Rb8kdV_6tLZMXB%g8iqD#1&QUEC|MX)&5{jb37`I4G`; z0L^N?3}Ty>tUw#Le7&tq)mO=c>TIWquC?ZK0`zG%WCDx#K4Fsc5VAd|QicP9Xk|dC zK3*UoEUZ6~8V&`T>MT@CgdE==Q>mw}Yw4?4l{3V+!i*k{rql@TRn<Xx_=O&RezSg# z{*(gxX4nL{mq553BHZtpyg7=Nl?keAaFxnN!Cc$pMk>#;yscpoS=9{!tl6rhakX?- zE{(h+gDW{JUWge&lOe#>2+bn}#jh@a#>&GD08!0Zj7ByBniAE;ni0R6;^N~1qLt&2 z7eeqaZV7F^fHzuRvuzr39_P=3q!i#H*Eu&$<`FHN8me+?%LGSTZl@EO!<>N|wNTf+ z=QuvlSylmk%hABbAP79Qq{f;CoEvHdLPn7r*>Z|yO0BSg+U?9^$ggeUnh{z7NDUQf zst%7gP%eX3DhsxC#VIev0Qy8UjS1jii~I92U}|8lh23Md_L=EK-v)TR{{Y*WLP1N0 z0=By6=A$gwaW5<gY2oh>P8?3T{rB@M2}>X5QWAhX;fP$3boiFm8b@s0)o47+DEOI_ za&P=j{)D+m&v;Pvq1?sdb+1CR>PwnLuSdi$m=`V7MLEo{Tpx*dHj7)Rf?gF3c`q?+ z*3u6bEJ1|4tzbRWK5h&ufvqD-<^r?TFcT=TfbFzFR=GgC$_Tg?uBL^>^(&rw8kq#R zmg_ZJNMyRYyi-EtBhk9M4m&dc045;Ru@w`=v&T8=AEtQNry^|>S6epBn;I^)SOO+7 z$5TRvs{^e8X~U4?s+K53IWx(G#TXlc#T6!faA+c;(f<HSh)9+P!l>Q6K_DlFK+45~ zqvMF(LOBIc%vIh5D`P=;h*=KnaJt)Q<PxVvm?Mx*I5OigkVQ`KlxeZA$5$`Ux)QLC zvAg4=aS3S-PukL0=YMz{peP*ndx}qZUo%TQ>^^PwNW}w2gH&$cIEmB>DWh(E)*BpF zbWiqN#H^yV<6pSRLjri$>L8{~gmzZ1o)XqgM7e?@e}hT1#5(j^mq?Vt`Smn*%dd<} zykZ5rsY6D4`px|za`>6Et*=B2h6Y(G00%KwNemQTq5ud1kR0RNKM^Zv#uhB5+^lD& zQi^kS9AC(*DG8v;s1yr;DhZ!AR)W^H>J{-*oVjn^jZJoHuk{HKP>mO1@JBaN-W3LH zqJ(d$whKsjRk&RPSi6l37HAz8(;AwK!1KW28h7XCiok9_7T@BZH4@^NVFr0Sl-(7g z<#hQLw_}*Xv0$L4c@$p4`m44;TI4?ZOx7K>vXZ6&Zu|yUwuaq3;RXg($zz4iGEiMn zR2eApNO7g@t(`mN9FW*-8Ksx5GVhQ$Hg{#P!gA7qSI9ie3Y!pJDaiBx0Aer*R*2So z>+>tY{DIi`mW%tFJAf#dsB&<`L=-b~EiUy>8N(QjuB-2#+(>m?2({HyKK}p@qXyzv z_-f)RnT|bD;e*$FF*C{k0Kp5-S%|^{bJRiZ2R<fZmzA}S30IPdZ`<zt%&0Q!q1|`? z0AK~?P@!CpH)U*#K-8{xiyZ8_!K=+iMPBd@GVy-Jc9>ulVYbDyU3<kvfMoM#z1R7O zg;K*-*6`oX@0*E0u4$u0q8e-v<7QF5>Yw{4?b0Z?#U1yPuQL1qR+Rzdb@3m<nh>kV zVc^6vt+w`e-x14_G_X%>82;QE(27|lDGj*&7@{3y$)tRi9NrxJxVcRhP)iZNI?NR! z<z|+Lo*cz6U0o>f^W&b5aayr$liK;Md~Q0Lq>HDA?_b^08k$PmuXWY@-!RH3)jx4c z2Hfv5!3YM}yvxUthFu^I^hrt_7AByo%{+#P6e#q|583LLO9BzF9%?GT;C1vGeuln8 zEp0t2;G^jafnQ0vv^NBSxB9?CQCNC7{l`|XxbO26DvMs`FXMj@$tx=KYyDTu0Vpj4 z9U1Abm4`&)1zclJ4E63ujucsSl(ZJ#0_GhM;Q3eC*MepNWmb-_@$NBI;Z(a<4?iS( z2-$oOx4awX5frm@j}L*ne63=pvrbf2s;|3PCMt_}$gldocPKIpwB!CUXq6}qU+N-g zo2ym-0N!JUlnQ2YKlj~ZWzmYUzZ`pWHI+(;VJ&mzy7K~>Ks6H}-^@)%n5VJvgW|p7 zrka7-SWLByx5>6B5VeVx+AlZbA8B2UdPd@`V2m`ue3{4P3P`&Iy@TOw`5*#<5unA7 z8~KJ24XYe?5fbfv9gq^hWq*6Asog2A`GD2YcK}Qw$C$ADKx*KYp{+w~ME?K^TuOsc zZfWSX4vf#ALtj8#3i{TdDuG`afb%JdY~2j)m#`M^!4sTF;nnf+jQF{DRJ^jCHhup9 z5o|J00^qjxWf#TsD#IcOPL<#*#fcVL{S{FJSaL098#9=$28C6}LiJU~E+}n6r)I2i z-^?PIRh_YUrqK6W<^&2^iU#tXGo3rttz9e3Xc#xfN0;JWt%<8{ykEpx5Sk5b=g0bt zhJz|8>!0RV!);VI0CMVXh6-E+3Uykut|PZ>!J|eptj1Dln-bE@qzIcU5L$C}wn1~p z!DCz+!qf#G3-JZfgH&vOSZ%YobNjuFHu-Wn!S4s4rD<ZkkC*ePVmNcu`Tqb<Ji!2t zLfh#rhX-JVA8v?4VmxsZIl@ZQEzd`C;VVQMyFaxp*iCQs9Y-UdX?B{uOBL!WdTRGA zc$qxLhQGt7)2kN_bo4h3eH(v(E(#sXqw<E9s>F~eEfjLZY0S2II+^xB>A_xYCS;Jx z=A?YmK&BO43n0AH0HBm)vBylR$8eTYU@fo0zVt;zje}clbl5&2BqM5zx4<d*@{7cR zkCwP29NHTkUxTZ-t6(WnpTUS6l?7JMu`a7)9T72YS}C%>P%AC1L!O`jgK^>xtaR}R zr51^@tBbgW3s;gQc&Gsig-$uZ<Cx*KmX+H8Blq`(iOPb?=QMucSOZ`;*m;zmHmBa{ zi{f0jPlS8^;vg(r2z6ODSnr%%tBf+7kHP1NwwkjG&$o!^8pTj5hhuS*%W%v#ne*aX zD4_kOV=$H+#2sQT=!)tME-oppB{(Vn01lp)UWTi8F)FL-g^(-j3xJ&?2VXL(aSW(f zD2kO@m)Ae2fr<oswAb+&<#094Hu$&ZBqiMi+VGC^Z;4gfP>3Et-bL#X4HzjvVDhfz zvH82ut!DS1d~F-xb5!ck@zdpD*;z&q>aC<N-r*TbVH7$mgva)#K`&}RQ<r;f!5d2Y zDL2Zej`Mc_jfRs(v-!A)4TCk0@A~34I0oxKc;rK)Pl-o#SaUzL{J|iHdrY1n(OL0u zbVE%H7_PrwaZ%t>b3pRr-l`}Hx8?cquZT!169MNO%Bt>51p}1hznJPz4Kiz;{{Rkd zGVV0y@^3iS-;P&;@6NnbDxlcn5oCCYs3AyE&m51FFlhs|HS&J*906;e4-;tJR9n%( z7b8=__ZW4}M|F>wfn2+N64|tWz!Kj;wi^Az!VF6gDD(?~U*QWQk^x37vx|llsw&x5 zRNHSFg2N??IN1G4Or!w1YKQKSuc&DYWoXZp_JSh?!Jt*4O1Fjv!X0Qr5#(YsfEFx_ z7J~3#_=YBOAt(T1&o>oDsZ<T#HaBg3;K0OE;_0omZz|>sOV~MrmZev-_Lu?2QeO?V zgIvPG=?kNM@7+80hD@QuhO^i48+Db=!$H3=OlVT8?l0<8D{8T2_6b7Fv;q6u)V-7y z*~k4qQvulXUwA`vtgr5BQqgNn%Pq&r2iS4q80yGls+^#-{Cqwly^XHc`<B8O*s?go zy2t+N6(x=^9!lc*&hIyJ@IqNcx20hA#cCHge)OGue&bVth$Yf|#`!brL8jn)wDy@8 zl~U?hCI{LD1lcOYB;))GPy(-%*$w&|f5s)lL`5|dchq4tQJ9W02~g8KafmB)j(f2y z^9fqW4$eQ-e8ptNS50u?!mH*Q1REg$3nUA%PY)FpC15Vi#{gdU;#F!e08@-%;H`bP z1z-+!ZPt^@{@4&jM6pA6xT~QXKm)LM?bTz5fGq5)MVEveD{01Sn`AE3XNTMxf2e~t z90(}q`}54ef;Ls#RDOPC8VUlp#&e&%aK+%b9x&sNm}^#r4zqn5yNWImOHJ*|0RSb_ zSHu!Vn9}@yz9A&jW`Jp*elOi%DD5!E!m)YL?Zk96-#{=6-hUA!IySp=i}|U1SUNhj z=Dg*EXfkYLm3d-`LZMmhdv^TF;{$gvIN|(pT8iG?vOMn3hszXI*P9QT#H45BMAaeh z%}QPv_l~A46nTidEAc4t=>j?5t=8o;+`*m3a}x6fKV4iffOAAO`+;I)^{Zf4))x$= z@f8rFlTiw9nMZxH5k@Wp-sRPnfIPqOgOv+2d938U>$;WL8dRZ2AyI0NEMS>x7Y`uL zJu?hVAQ7SAl|EyzBfAHWj2|!=hA5^iKFj>e=7nJS>F$PADjse^`NYpqZSY<T-g5Kv z7SSh3FF=MXlz6^iUqO(#z3KAtzV32FV61t~5n-cPJ)hsbz=<5x!G3>mXn}sf`1#k& zv<QwYo_)CZn4>NM$CXC+nHQ+$vSj1fxK+}cy^V$#-rZ%JX34$s>8HWLwbe_V(MjRk zk(T)=x|o&JM=Dmq`N$b9meSy<O(qKGG-~g~+{zG!&5D@D{K8n;@*<b_hBku%wPOrp zK@^w<8|3pV!HcMXXwNt3moKYv(JT#84Upj32Qydsnn15ouhAA$J;1N<a7(*Ni~j%^ zTndSBDkcQj2OGrXD(+RBwuYrFN>$~7cNx){LA)RGT)!ww3c<-kXxLk3{8`il(t>~r z3f^@uIix7cF9kL#{qeZHgHMs<zqB#~IY|KUHZv4TAp)V{tW$e24L)TbZi*!XXwsWA z?4Z_Zk-1$HT&meaO3EB!-=3-w$)LvTfc(Z~W-|VN*UTYRfez2!ck>%e_VmbND;c+G zMBxZp1Zbm02H2r$WwG4lK}O-)THaB#Yyy}T+`B65F?+5|+&l!*i$Kxsl^MOv%0({E z4cTK~-V1>2O;X#n)wio!<|m5EZ*rWpZ~p)#fhoXlaex{qI%VBNH6Xr~)+`41MLEwY zO{*GNA05XyN4yT87@_3P$B(pGvD??*>MEAF7xCy`-^(#NDlO$p&@1y3g7z!*9TfrB zbE{rpru+53RrFWPR{sEloG$S!H2MX=udFQ~tM~NTG)>5lhC%Gqe8DMhi>rZ3IV&f{ zM6;Tdc)C;O#6T^gs8H;qzMlgJFyyGEw2lm5_<N4vDuq;TjHFg-{Bq$CA{VS#z{$)M z%`zxjt9UhBY6CJY3QJ)O;_IGu87~#Af@pqU9o#s4+Yy|eP<M=FsLnP3HraV(nZ}o% zhb53LTekh&yvL+5ye}99+o^<5I4i~0=1{_rP_uU1=A-uo2ACYZ=DN*fm<s{WZo(F= zAm@fS9k-jeYp8J2{{XQH+eS?)%h`7txW&+W17<4P^BAkF0Zg?@uX`f#3r2w{frI7@ z1s7;j*vt8gKN>?rJLWn=a{HBZ_g@heBTMeXUx{gOmBY^wAcaeUZkBzaXa$XfrZh?k z?GaUqAUi6rQ7CdXG<$$<)g4Y5#^w}E@{ayy-n%CcXtYd*3|!mm3xl_yTuT1{0;X1P z(Jlo;hf=IvxL~9vQsZ#)?ggD^Z=6IqD5A^;Pzj(;n<gFx{v~FqjcXVNOm^XhKuiIp z7_F&7ydGgfHo5J{T~u(wxkL|g$RZnB88vom1>9h!Mo}x}o9o8qA=ac_a8~|d!O;z@ z^IJ#{mCh{Yv}c|7Z~!iwF0wWGfyEdV>&J~i3QPrCFSj`2AgR_08!vcx%lnlH4Jcb3 zKHXv~DKvw#Tlc@1iR0C3vaW*Dpfg3INfs7!0K+Rt0dq|S;lY2Z3O#dnVi?iDGeOSs z*mbyCk`l0QFl@$Gxf+2ndEY<pGO~+UrGF5_6$@cOpLu;lRF4msZI6r#3u_aA1yJlb zdGpk8al`Kh+oTSE^#s1|xjap^QlncO`$a~;r%;BCivsNQ+9k`)Lva<Fd4|^%Pp;|= zT@Wq>e}b+BLq9+g&10*SJEbr{rpma<1`YtLh@jf1jY0^505q(J`GDJ8pl<jso-^jF zm=?=oKK0RgSIzS)U^kxEZyG(LP;&#c<2)Q+h^E#ton-fys`lb7fuw^JkctMtnFYd- zHo&}uNDPd+w(cjWtd$@wtcYkD4QXnSO*eas0Bb(i_NQ3RDK5CgA`v!B%!OxfFYk9K zXcc2Dy2px?FvdpL&Bb{(K)Nw?;^V-bu6MC!K1*mDNlLkhA;`v3!iv1}W<U(vQNRIV z8@jeRA(8Xr4ON_~?MTUQRY3|7DI2We$0d$-<3`v7QI+)g++?#YDYFd-N+}otaj<u& z967XInM#9Gvke0t)rHIb)OHg~R}rPa$9Sine8$QU=L}5!JSH9>{%^#itJ=9Xy|qz` zh6Q`dQ6Yg*lzI04P>EXA)KUvXEUxB}E(J2`R^EwZ%I2~47(lN_e^^`!`gVs!gC(o; z8`z-Z!y8}&1(%qEXja_f>#1sh4C9(d@d+Ba(9l0%h7@FTGeGpTe84ISQD(Hi5dos` z&97Fq6<A%umuuc?SK-wSOVQNO<nW3DR0bN{yp=1QEx29U%I@=Xk02e-uosM71S<jt znCTNM5fQyI=DhG9Fq0Y=fbYb<VTBWy5{}6lZHEmO2pQt<im8e086<KHVy_!TfikgY z0*#k-!MjUb5Uq<+4*-_1<C%Mr7`k{Yw=1^Lr65NtO)O;BTE*fjrnc32S`Amt!64H` zkjBlr<|Klg4Og}eOXdhroa6rhBVkuTukK+U_ct<V)-y1r@?AkdbgV-Af4Qin#-gy- z2j;T$IR4bjkhVjB;%x!P11R5&-xA!70>mDVa8t_hbGPvl<x}+InQQU&3V8U2{{X_< z={F4HxoWZ%oS2a+L-|Ai(^7EpDIiCH5zEwL(_w&9N8R|#nQV$IwV_`0Oqnx*L4U~8 zeN;q7V>I9Nn6XDTS@YCU!XrU=9g9VInFe?Q5{F7{IDO%@(z=6rP&hN*wrWt#5E!n@ zg?Xqgvuf0Od9Ii**HN7}L9MHdQbTGE1=I@5DO6H>FbioHLzmySR>i&*KJw{Y&>I<@ zACXJl1&dugC6pqO(3uRm{KQf<Mk_0`7FzLKLwHIqfyLt9oJzrTAbtZmm0-&hcg^L= z_k&%LLZ<P4>f&PX5>W>I*_;V5XY}VpH2PNG<M#zjTXoc>Zw-B>M7Lvt;&34<**qf- zO^dJ(TL7X{y2-~RChj!+#OaqC+jR#Bx;_%<(+}zzv800BpD-=VMFmYhq`2NV`Z)A8 z^&5{k74+#I?J)#INJEwvvtwt(EREy?<$tI_wL;yOR9EVBsaGo)I`>(Si^Mn&Kc9(U z+>9DnCy{OO3}I^B28#Pv#2YBPP~0GC2Jn>+S8d9G5674BEyE2NFXM@tAT2MCh7M_9 zBQe#QY=PpTbji=gw<`q!gH_1a&+CYWZG#13G#(D+Fb)p}77X&VLX@1-kF-HnxB;ow zX6bnQ$Ci$p8^?%$*e^CS?o4{}itXi@$^j~iEE;BeOJ#sRy7+>DjO@%S7BP8#CZ}7Q z@gLPAq5_@P&SgfEfNj(n8o5%JbqK$Bg6Or>yeOL>p$zF@P9<6<7qmotO+KwYtv<7V zQMfJk%q*}FCLBZ*8@ZJVUCK_1Ju=~+?}(FD=6hJa_^+8&Du4`zPlcn}p`WOzY`<|y zd`@c|<-fc*SQ;4z8IQnLwHN(7M_6ru2Ri2o1hUm1>Vp*G!Gp0;e5q?>d%(9O!9Y5u zE42k^IZAbRjLL*2GGMNmz~_!7BA0iYj<OU1T|;X?6dcP)a5a}u%YoqjrA9pC1<q+g zs`c?JEf?K5+#41@k1*<qu_`AU_F`{PrMCV!nu}xP@dOsq<qfgPe)7RV!))&d5@2DX z?99CjHoPrIDk`y2Er1}Q<5A{Sk%+}ARU{P}H5K5CiKZgq@h>$t^mR1!y7VP_u09Ye z)!(huu(^4!pxg_TfypYKrin?!yrg)D2OXk~FlN`OXHpgq6bt%@27&_@nn&f8Fc2x& zzl_`Q1gwin2pa8$eqn(Yh3tR!;o!{9Ar!9#uRhQeXlsDU#y;@Lu$Uig`NYe%?Fslt zNWE6>3&n1HM--=x`IK~Hz}5c%e2@=}a1HnUqvkS#<*LzHGX;e-yFI4hAQ%{efxzn( z4#8o|2xEm^{{Xa9KVUxakVSM_Z}r4|aJPDV^9Z!G+4z4WGS%4T4MNINWiMfXV`1Un z;^2}c$Jg{_I>u@qWA02PL6(t$;RI+D>N+=C3WAkeYu=(|a1xmOh?g*bxoz+DA3-bV z+!XqkS>M(m#yI*-!3LIPTK>^8x1_vE3RkLzs)PAVj4uy}IyzeUs7)&3_8=Ijx+(lE zjApV96j$T%0YDtU0D>ENdV&B|RJ6ehKwD}hdqC?K`G!@3>}-7h0PJaOa;C4uM`lb~ zGXSnxcS<=Pq67nE3g)4VvcnD)D?9E8rYG2Yg7Dj(<6MXXWUis$HaBd)DQ_Tg8H~-s z6GY|bugo>!p~iFERtIaBR*M5fLAq97c!7hF2(&oDN&*U;@wr1Pui&l9$44+D?u$G? zA!6n-)fUg(&0`e?+jk8<^1zG-UY>f)9p3d39J!9CA3?Z@=r&)}m-Wr2?`Z02H#LER zP?Ba+Y?ag*g0qp`#X$UbiIM0ZbBFn_nYayGE?41dd_yrTH0^N)&^Z^+h{Vvnwf$}p zRol9(HJkW`_mhuoMwu0P+<c&(xWOEb2PU5|m^SZ%3WIGH$0W3&&r-9oyk#azw0LG& z2PW1Pjd=48)*Or)q&mg1P!{a%?J1mti?U-13aT8FVMmwy{QOEjR+Eb1<!ybUN(zja z;e*Jfyh~Zlz_K(&Ma$4A@7o#i0+c!egX3B~;NZa-FFgs8NVk=^1sUXr%2a4>?hs3# z`w(m}%9mSNf1LUYAg9qTCA>poB_B?nm00l>px@BdK9h3{)C-2Mh^-rzKhh$t11rQ3 zIP$xLzChoBik-}la3JZgEM!}tUdHS1P%YC#$#(n@QeP)|&*tM-`7Zwet-`p%wf)30 zg$GM-f2#PDQ3emegW^^JD=<|l2Ez~U=3(#-Ob0iEKM?cSXsZVpl_BmxfB=7qcnL=^ z;H<-1l~O$a0Ol(@a&ag!2F3{WA?Hw-LNiPEf^Q4m2Qh(Y;Qs(A<AJT;;ep&OV|#t5 z)EddwInHMTm4!G{#Hm0G+#1$xm$*f1nu<$2*&icqz4kbTb!7(Nbhs2@x?|9=3BP$! zp~hRi{>%&ERJq~m>O1tSj%#o@g1((S4Zlxb(bUt>+y>1`LC127zj#+f$YA?LQCByj zA!%)%(FZAk;h1AZW!ng;X0q4JpcJ9Ht=2C7V|PV>UU+4}cV?><RQ~`lHLBF)a(^>& zfP0WCDFfffm`pof6>&x6%rz7n%Ff@?AP`<3v-c_>7mLPz(I7;pJ;pSp`9alK2>6Am zuQ8C*YN<yPunYUk$kOc>@euS>)OqP~DoRiZ&41YasLluOWiw?W-fW93_0~)KOQ_&m z_#-QacPb~f{%g-N$SG7&--?TFL60#OimbsMX%&|?kI>6eEk^z3Qu)*ozG^x%Qq}eh zxS}POngFgMGX-ddguAmWyBLdX@6|3QsP{3X8pok1l7_Ca6000<>AH@gub?b|2d>aA zU?Y%SM(+5Sa`}O4AXaW1xK`b<TH74G#iii)FoB46pO|$J*t^c+RgEs3ny7_^gL>X3 zIKXmu&HPk#BC+5WODK({-l`SEzq}!+9O78G%vNjeKGS{cxBjr~(a5-c;$j~h!9-U} zr^ow2Xv%O0l2NGF1IknYP(?4zOeV!%)x8YYq3L1Qgzb5>r@t^PDAqZID-2pSS%-;G zq9WtDNVxE%I{yIFVWvLA=gbgF*;9WIDH|Yu{J?Dl=evzVAm&i%$ykO`CLO!|#X~!a zBbC462GN0TB3yP{;R{$^U<I|#DhQiQV8*bSE+8X3qcc_$LHvCQa`hZu-h$!7H2N{b zrF8l#*cJ2znf$;VMWQQsbjv-^r4`p#Elo;YD!`*Z>_Bi^*#=lUve(au(-oj(4>KSp z1g!1wbZ_EoO$V{M{$DXz{{R7V5n-wMscN%Mpe&T}nL%TJGUv_|PlvO_r5SjvJ?QEX z3l+xTki$#NVF30{Z>N<x_}m<@?lmJuYq^dGipd4C>l&F79Vs1L1vtRFuf$pk6uYnO zT)7hx%!~67P=fFC`+(i!NP$=#oJ21{&vR^H7x54aOurG#xNqIW8kGlSz(U`;RZ*k_ z?g`-;P_~8<X$-N%#A2<D!xMXBvI=<1F#&#*xnTD>F4YTncf@;ERT`Umzjzh&Ww<<g znt^O6L@1?Rpq0RBVS}GaxIm`bl~nd4Fv?@v3e~<iQr@_NRK-`z9SezW-};T4ihn2S zD{fJ(e|}}LT6TDSwJu4eUs0&Ec)66~@V&y6&Hn&GS{X-6#38aUEIsZLwyNt)_4xRL z`3BDSP%b1r+ki_Kc5@VKmrP+DFd|Grpv9?a(fgNF%G#lBe{iPN?#IMT3u4=&Np2;q z3+`2mK!sEaf$5eq9F(FMz)Y;I-j0xjM}3nx*C(~dN$myRuQG})wz`8Uke4VHFA%Kq zG3uLYVaP2p8CNi{fFhf$a|L_a`bMHHyvh^>%zHuq0FOX+O}?%lM+CZvrmcx^&&0_P z;V}egWpyskS_ha*<%Z<5sgYeU31Tsak?v5iBoZuiKG=!EQM9WsxvfX#6aGeuChiXq zCV;HUEEN5JhFHe!bQ+j1ix3{-By6QCxYr&K0In;k`B<Ac*fH=xq4r`v<v5{_FqY~& z1sq&=Vphd}c7SU16^8-lU0$x$0k723cV(;MQ;9@XO8CSO#zxtzz{7-&?(G&|3FZDS z3A-UjzNPA}O7p~2SYK(x&nRVT4a-R#OU-h_X0=~)h;x5v!x#mgA)%`a4MRsz1>3E} zXUN-2QQ>5O6x9H}Wdh4>z$JL9s6p~fG4zWnR5}PZOP5IamM%QKpbDX?i$omyY3f*5 zFc(wV^8&pnCe`yi^&SNq&$I&SkHo$|60T5hZORPbreLK7$|6x^?~uY8=s4{yjsutG z0(WUYh%$<}EhKh)!ntC}+4@y{K(_uEV2CNgY*l8e3l}vd(wRjh8)SS-*x9=<e$cMV zRZIIZ6<@wXk7gL~02rs)8hBHFK`%hNKGawe#q=yI;)$;5xkCj?iryx4JLH5aIaD<3 z#{Mc$0AsUDF?zL8A#>Ic2?aw$;a6Jb1&X&h?gNS{*Hs9~cP1$3_wy*xYUOD%a|+d} z(Jy$XK@j6=!t)tb(FlUAuYEI5xGOI4cK~3beUYpXwOwv9=)GAOB|l18tBB!jTB_8b z%M3z;iB@kAS02yR({(h~JD-=)_W6dQ@`+c2_crtkgJT+nLw6O^ygx8o8&I6!rfijv z;QU2&I0$31RsH39HfJ*R=QFB>($I9R!pta}IAuoq5}t=m%?z2dnOqAZYRQ5a0Blj8 zi9uRn(=d3*_#kalELvrcEGbzpdq1HQR)8A^Am|qSR2?sPl-Y)DrNmn>p|o71^1IAO zlwfQB0Auvibas#!fGU#jU#pE^+B0{LIQO}GBX0<1!ryp}XC`j0p`+N&{vv<&VZ->J zoUg|p#8o*NW|@DuFg!<|*Ak=K@jyKWm<@4%cx|3}lxdKtz&wlij>5G|t;$69g3QYi zzoiC};RQM5n?0p)brAD3`bOYarx|L@a?0Xa72r$Ky+Y8slvUp{#qOz9d&<pHvdjv? zpLt%=A;dw2ZR>KPmsbA(EOdqONh+(+)4zzAgXU;?9~hYd0BS2$>WH%RRjr3ss6G=e zgB9s3%Yu$x5C|KY<i&ob6bl3%^XD??G~L(j{=Ox~CeRE1T~~7Djj2Wae-RrE6JIj4 z%rrvjT2*+KYZ7bw^8rj@?zR&XmPqQ^Lx_$H5c8N;M&k3hZ1Os92+s3am?^U-yjeM_ zAUedq;#usTrg=@P8-@@&#)#WdUW>e{8x(@s2DxVQ1WNi+>lc}MUnz>Jfox!Pewuo1 zHiwl?HS-NeXQARyprPTP+xj+w+U^6bV-cKgrbXy;Fvf}im>(|U4RSK2T@Aug7zfeE z+tHR3gs^IxvT`O!l;<!IsrDhNp+_-L9wBT;YPoam9bw_S{6-67G#1Q8@WTB<hHiJu z3N6h9Ry*Vm#1QNn&C3B{%m8I}z^3zACPxQl&SOq%@f!wZ{1VWw4~Wz^C?HIvzaxZ{ zAC3{VJ95Qj*;L7^F8n}D3~?S7sDiZN5&;)gxXpt1HU|U^&t!74)rg?F`Zi3JeNF<W zvr_mj;<(e(N7UERlR<aHvJTp+fk(HfT+J|Ps9LPsxRgTatRQF#k6RiZp&yX#?s9hA zx@G{~MW(76?ab)t%tjuDaQ)&1aS!WIb>)W-KR>8@;ELx6(NS5uLnoN+>J(#ghSSF= zEfC@H;v)bq3O{oK49cK?5EF^*`$a%|fr=7TDf0;(v{mr{Hnz1Y#f}Pdej$J(Jf2UP zec^cam0)bdM)V-EXd^W3F}@X%0$8K${?rP=O@615fMD3f#HBRL_La+XJ&3g-!|@5U zSZ%~hSBFSks%wv#OOC#sCjHJL6<}NC`bEfEy#nA@t?P{AG1Od-wCA6f=;wqsh}HF& z+Iyb!C{WE@T@Wl#;I3jLbvd{jLcy&-0V)M&F-;URjNEoz`n6ftG1iV_j$#Q47IICq zn^oK~f)Ci2DmP+X;QiFDqpLpW?&eE08`qLJ04HhXl}e+`s9e4xvTpc<N>dw+A$&IL z%tBq4$^$`ZIaqjY-^KRIMMulE#=CQ8aLlt^Y7jD#rTN%Fs^sotaha`oC+#i^6m5GU z0wg~20Eoe+Hi|Q^yzxVC+8r(te*{Y20->@73%PAoQ7N6kCS?YrzoM=R_dOkv+#6n| zy>Z-3{0<@yz01XV4M4oXQ;$dt#O|kwbsX};ps_@IjpUY1o6IDI4O<Ix#*^ELPYn*l zaF4gI?m7XTd4r*PSMu=!0TyyY01?J~;$MP2mE-jYim<Rt$8xynHVeFQE}8{nL@aS< z^>An$)+Ldg3?c%8y`m`HT}x(@N>CFz*QuYBCY3^6L3ob0NEKK~TT!`YcsO{BLT3FI ziQ}dPsy0A*l(eDf>v(_}G7pm)mRZYK>WWxy5zMCxW}w4}^gi*?_kn{`ze=_W`YO^e zCwC|-7b>1T0wwwz_0fxz=Eb^(mmfbzaslr)hqcNx_Cud&XqhfzYdAbHSlmlpF_9=k zGO>JSR^2sQ=Zt&GWGelS_j6)ef!0}Tff>zrh!$8uIufKAydA-+#keB|SBroq-4)CS zKq+)jZ+e0e!^<}VV#l{W@YH1TuXH4!D)#<m&6bp1%#gDJ%i<HiJ3IM-w2m4*p+isn zmfc{3Nm=d@i!~DU@nb7x7Rg$ZCNl^nlr>SR(Dyi$SYfuNV@lVw=ma<I0CO)9ZalFl zxq26(1&c~I2_QLNF^`naCvmxbMu*o(@940>sOGnZ?})a(gB34{q+0YrMNEtO1+u90 zAT9I(Lm`U7(KUB&Vc9~T<&+@C{{VmcQv&GO=Qj@mtXp7XibKo2!6LOa^d$m|#7ac# zmSOb|-gSeBcf(qrk1@v$z;E1?ic!eyh%VBS6rixPQpy27`P`t$0!CkjT+|-jz96?= z$zKwgO!o~qwqdoCH4eqv+@eA-YG^ra6yoW(+6l>wk%nK2hQm6x;N;Sg(NUd@qtR9( zYjUwh%gsTA)<J$|AP&qHu9qJ@RI!E%ntFa0snqv++M1h~9CHSO)5j1~U3y^+#i$xC z9#`=wD!piT1%jBE_KKH3bC<tGPGZ{!5uI0Kx!q}CbKJECwq00+whWDaZUQD0`^(ri zqOMxO!7de#X|d>pn>vUkE(q*4mIwfZ#>LAFoHz+lLFR_+D}=wyexG@7*#WlS6n@yi zu-TXha$Y!u6<L8PQBg~?QrV}NMcUqF_3j8@Lx7fsz-CwS<?e<C3%G%0+ft<`RMJ+3 zOTcE29TKv<s`w`eEI8a3SZ&0zJYboA=?vxtnYKRBTsWIPtur+B7Z3&3WtQvb)YKy8 z3c}z~=rt0{AR!IG<JV|Ym~K-Z(Z(*|H}XRY(qLsk4lB-OB|2|Un5qS^tOaFPORIGs zp3|$;1}RNn9Dgws_JK#EroeL!6a#1;^Qlr|?~hHufd(kR#HnI61|20h3yNWgVa4tk zo;*W_P$iD)D6E31QG;QISsRd;NC_G_ULvqiGWReRX~e*G<<#de-<e}5!I*1MEqlT_ zD9g;i;lXhYS#6{WQFZ9G6Bjg;<54apO`~Oc^Hp|Kt9Ie4f`z31-=U~0X~~*%FNhZf zK9ze^FxSkWe9Vi5vg!mS%wC!L2o%J?IyYUxaY?SBFa&iK+zCshva&McK(vhcK(XTY z#%6NXJ>H;0e+c4MT9zz?1e6o0k*;ReNLp(WkOiqK@*v6gRD9byjakd7{{Sr5%n`@T zdF8)}L|6lBc$QsC7V181t}zhWu;<<|RD%$K7HH-LXJbUtBa}tTtYQki9wR;l5UtoF zmR@O>h<SrDKm&SeExF&OvDBkC>D<ye&#vI6C6dH94ZtaIDD^cwr&9qi2Hndpx%3Ny zhGm7K+lb6-I+vx(%&s-e11ZMim5r(la%!B*HiGFhFHUP+kpXW&$q8xV<?>7V21hSX zm{(Xhjm6w6SdouxCCeW@O6IBoWCTJH?gjCAmYS&7n}k$?!Cr1$xGy&Zw1Tx*l@&3m zBJ%Rf1@7Vs8G%P?q<NXD{zVjB)v%Ukg>x#zRC`CIvJ7f1{l#A6F<X8jo&zn*phDM4 zsysQC<#KV<yFDF8Ez~4JaqCLg)c~eDCCC+Cm2goFz|vcc2rnM$k5Cq=`%EC7lJm+8 zNHkZ=aZ-x;M2h;!1Z+6evOpRd^x??BvpA0I4L8Ef%q~I3lI+#k2H;u=W)PBs;Bs{? z+(q>~#l8lm;MU)?Bcl?W4A(K2bPy(AGT_~KmHEtNYWaanq2f2NanvpbppniCo*KNu zuqe9JvTMY>%ZX^C6KXgu1^h=I4#CM3)Ul3}3sZ#<F?k~b4b_IP%%Z*882iko^sC&j z2{(cmNKJ7aEn+EcO6G9l;tDFP>z_@^7`0cq%6i+`^xA6YnLK)2?klW)5YybRgEzC6 zUSUAVg6iP;%un`4mzKmE(v#gU74}WtqN5C;S+BehB_FhF1yyDx-0jqNK&=qKWW~yW zZ7%zpHLXzUc0JQf7NaQ&;N5uhD-e1&`HL-_G*3QZ@V3ROeV{-%6>}J{G0b4%0>xjv ztgd$%8p+H`E#Kl7C8<!wb1yTv+_J7P;HYi!1VWA})J%-aT;k?UjJv;ck9dxUi?Q~L z-NC8n5{9|gtMJC*r2u~Ac(cwE-sQMmw)G2+fT)#FD{Nj%ag0GhceZydrKKmDIF%mI zHx~o&sdFlPGb~@OMVk7iuxBvb0EaPI^lV&Uy@nVkOmec^QUwMe5f-cD$}rT(AeDSK zQvpUMBV0<Gsw%}d2n`s%W9Jmp+z`xgf|Xj-Dl{?HCQS-AhRJbBwb>6cg5!oY8mA+; zl{DyN65oZT&G9JN-XjA>^(kbiV+DHmjs!`OA?*UCeB7q_T;XM_tAO)(hlM06Fu$lm z@<4=T@sjpN#0$YKM(Er^ysc(5G|6%Hi9}UJjw)IXnmU|}ZTI35qzWKP-&1)IWCO@z zRa3#J78b$9LM)@1&WC(4bQ<*E(+b#WhS~i807pQir7uxXyP%3diIjnX5}x3s6kgyY zsK+P}-ONM>M5_n6G7K*e5#uosED)n?YBG~qU{=udkgo`arSdq0cuui_;XG*p{JvqM zvR!5<=n{(A+yxp+Ztm9(WzkA8)aY^hjIhbB-qEKHqU-)Z&yX20;ws}+a1$wtDTCS+ z(E(#a%t1mDm>wf&E8M_Q!^aTQc*bBwX?&3@qxUIJ6HnZB-8qg;?{bx;fQNoCvv#hM zs*=FW7+JF8n6-wW4lT7(wiNXkro2HT5iZ8>q7{o?BZq?wCrnxb3YTQxD7lA`?}${_ z+6<MGmL=jUaV*8a#lRvnDe>y+JWAVsim~Wyg<<Y0F$&bhcW$9$Tq(7QO0jKh@hmFE z;uRJ;ARox3<~j`w<^c%4IFu1oyQuV!7z^sxhGbEUr7S_YZGrdoWku#dhrmN23vuJP zBG`1ov5F5Zexi`9z8(Ifs}6RQg1ZQ+1MYJZ*=Ff2W;0G^9wcD@07-xbW5WZvO@v1T zpb3!2+8|c$UbM`EPv%s^_=t8z?{gWNFWhDAQ^XCoGK~ZZs(Zkw16MIvXNkwB@I(rg z_kh5&DiL=t1hEu7#t2pF13t-T0bzGUSD_t578QuMOXPyngrr;#fFjks-I3@OjQT2o z=34x!eWi(a>2)2#5ZZ7`&>@mtOw_sy$J!P_Yl2ZlFG;8xt-fM^Y<x>f4TOI1>0!Ki zk1V>r(zG*qk2-T2%Yy19fTI^K8%d%ijWo=-96QD(8kE8tW$T{|c170-&*I@aa4cx! z?Nb~@C+w*43Glm@dSKexpgveOKX8Q%-w=r(cpVa@hW;fgam@De*Ds2IL<!cIRTVn9 zW*K|hbpVuED=9Q{6-z194pg<&QKQdDMpgKLr)_AKn=|G(xNj9GS#`{>ZNBp}AzeU0 zMxJ6ws^z{T(lt1Wkz}?|#2_kNvzdU)hM~ym_JtZR+`#NYZkJO+3%cfVw;0(sE)!5x zA=7nHA=nn^_<M*IS{a6EabDh)X%-XJQJq9InyzQ;Fm)*&<(rLwFurjSON*{!6eaO8 z!tR~IrzJRtPVE&84d;DDG&Gm6P!~`=SrHXVa>NWWjT>TUt&N8v60JehGSxikHlQ~P z4$2tj6BaXN`{pGd78vNS#Hqartp&A+Db$ZV?rSv|F1MC-(#!a;*06urjDY!^;S1Ce z;O)$H-tjF{4yqBIn3<Gj8nB0PvXyrjYaY^tsvvX&xMKJ51#PpbTJX%6J=m_$vNaU@ zCoNnYui^|Kw4@xt=w3OQAbSjETrY6$E!@3tv?WZJHx<EtVVKL*LreIaF?ZAe+w8{! z%rH6jN}C6mi)`rtPO1Rx;M8hD7<i9hqfPogJqrjnM`YRQQ&O~fF&gDV%u*~2)J##K zar6Ogn3l#`Hyr^j7-%%iI{DY`QZ|m6VquN36%>0VGX>_NmS8C^Dz9?F(<Mv*5ujon zjfXO#V?9N}%ryp(94GMr+nl3sa<xoy6$-Am_LwD)63yj0VbYCwjBUX2%y9lH7KVi7 z9&VvgRnsip()gID6<lsMK>q+Uio?Wjj5jY6o4S<H$IV2zm;E;#U#P2{&Ky`ZhY?oc z2DcGfu6l;kvA~tBp<lW?TT*5tOQ~?6LF9-HVP42kp-`X{Vy-d+FEL%L!b>i&MXS4W zT|sbN>KzU485%r6yf3um4+C)gt&3$Q;+!yi;T^>dwd-+EFU0s`dYH3q`@{oI{Kb%) zI*3ICR%^afYazBL1-XYe8mdmrwxQCO5I|$Ks1XT>uqnEk1jM4_<UmM1(F$X=;Ef}P zd?TdW$B!^oWd|wzK)ebz1*eE*6a_E!GH9*{2hKQx-7_c{Si;a_sZe&zEE<787Q0P~ z6Vzkfmacv!7)vU)?g2&AVAfv{=<poCHiiEH9wRygQkiS>926}nBOJQK4qQP<u{OC1 zxM9m0d5bM{I0<stm6#?f8#;hVfZV;x*>wVkaPklc0^TDbfnhMP!43<rb`EXhh|FQK z@QA9BOt$jDH#(>^>8tR{pF<~@Mu#j^90eA+iDXI`jq&R7HYloTFl2x#dAVg^5{rNW zhYD;kWBx{k2RMeLr3E;HZLqcWjQSK@?s48^szabEn=E|XAhj<L$8i_p)~UtH0*Alq zP^c*Zl&&RdxN*c2XdIl(!l1x&31ya5#Sg0B=jL1zfawzkp!H!gs=j5~#rsPcZF+_n zanlo_mC`Mlr~>JBdnSs>)C<D|3su3Ssufjp28N)mD)AIGmx4N#eUA{b40wgWq;*3+ zP0Vg$Ia(rf8tjOS2QZe;#xICN7EGV^QjIR4-fa$G3rvbGY5-#qtgZwasJ>Dl&;U!2 zG#RNt8Vuq(HoJE_QaG6Z01v!s96=6r;$@X!4&$1kZ0%v29IZwXE@4X2_2N~HCC7L^ zu9>_kVxdr7+uQ*<DCQK!*zXebw~upWC0-ya0CCK`v}UNd+i}fHX(f*r5DFB!!T<); z+Ehgj<+QGd!$vvHrEOF`Fm%ijQ&^N3E!n8gZ<e2UL<8`I3PZ+(vJ}nK1eVcft0&tD z;ja;^dYPM)7M12=_B_H{9PE}3e$gvTtM{JCRjUa3EXkVri1YTuC@qNHR&`DWhTH+E zky&_zQA>H5F_WoPT{Wpltc5RBHumNyD{YB*qj+N!@4*>doU;vu!GdC@2P+XkYZ+y@ z=GmA~3Zmr&3{=Lks@V`oMTFdPGE;FOqj~OAB^W*BWQ6VMaO~mBq)N_!hn`c2sKTp_ z&2Pk{L+<sfHnkVpTQVZLOQ}b(5LN(crqd%3D{6a)2o6G0C@J|w_~M9hWXuaz5#}Kt zwQ+M5Bi&K*bkI}zmSIj>66BUv-NlJzIjl-h1uVMaVJLH!CdPAzI3g1#OajWIFtw^j zGN*7DS2fWr&6ceBKZq?UC~uf$5XYHJg2fA#dw^hTC%mH0*i}yD57ILsh#-Ucm#P$B zaI)B>ATd^@-#UW<RWv45+wBQmhu%z}sb(u>sF!gr=)W*6gAgc%ZN*pxIAt6hn3ios zGFmj$0;uZUN<b#a1ASgcRRxiKB}l1BRe5eSv72`Y7FD}o!xSA6RWv>f!L>NYcA>)f zgP~lR&Eh9MA%#oZ9k?6#h^vR$hUgA5#9;}7y^&MAHV;f}qmHZ6gUHOeXkB$ND70Pm z=1?jF12XC$$)eVCiBA(Rq%@nE0N$F6X90)`clA;&GgBu*y8Xly4P{^wVBnXwg^$QU zfY`Cwm-aWqF)-Tu$5fYBNeV7bF%(#9O>SouMW-;vr!<EMTx2is6AuO1$&7HLZx#>S ztWF5`=kW`O;iwkel>iJFmJ87+398~?<M%C_Of?${4&o{-zMvP4tcA)>GS7$$Ux<~b z;#%*=a?GdbiZgGibFcJ`My2&`;O^;+(Ss{1E{<GER>`c@Ktm$W{-walklb^CGkmel z6Dr~;9&|EYI3%(!mNPIhlZI7aNX(-_74IJg+*67?+)8LxWn%=EhZh^n4lX_t#V<pc z^@mqhpfCVIkxVYqgz+n{GXxxsvZB`5@eDr=%D0D8JV7sZFIpOn1>)efTsoJ|p)oRz zjCEE+@#a!0i))`T5uV0flEt3l>Hrp;>Ljr?bqE$CiskR(5{AXK#<_szaDSLaio7CG z0cy@K5n>eT?<d|{TT=}}ITf>a4dBSQ#_U&_geWSkpvYFUkvu|D=5h#_f4Heo2?*O^ zm&~QLm$_oK^Bevmt=d$y+lLbYqvV<knGINP5QtN>Ral9N-NJ!y8uKYM7tGshKWSBB z>Iz0*5MaN~Tq%Cha5X9_WsFqUViUd5F|MF_j5VL2K^mEHi&%jyb$a-M;96$B=}16^ zT}Ew@-QHtB&`x1k?JgpLq~|PT(X={a*bc1fHf5Xv3*Zd36JFz(H_L9h!ay$W_b<gM zSpHGotXE!Q1K=1{f|{CbtIP+%<g%SUAqX!eG)4|h5X-e?83paAG%qts#z=!F7ZFVf zn?Hz(GBk52p__clod<1sm=cE0<KVnbkg1C?EQw*FN0_QBDb^%tb{^+{sY_wCJV#P3 zU@dP929XK^_}9cKTq@ipDmBv=#$i}HVw3YMJ(}q<6;3?Fk#x<vE0~mfTeDxORO_Q> zP<M;}08LlKCZJ__tVC=~`77|nnuNHWJW4AqL3$hf!<JwwzbU9)+bD~p4%b{um;8}! zc$xBD`GT4!Nt)p&e$mDp!YZ7~R|=?E;x-LI0%(HqdAK3QJZq*UIthW^SXIeXJ7XHz zc{XEIcxX733UDd&94{lpR2WTO7V7j3OfZH}<L?{V8*V8m*xX4J!*7Xb8YNv^!3%0^ zsjCIr%V4Q^-dM$)2M<xyV#dEdCjEJ<%RfkJ0H<FbCPa&~Fe0s7u(B6h@s6Xg<?o0^ z2wBGuP-%{!p}<C9zDUJqE0m-StzIH10Lqxw(nTr15Zee`ek0NsKh`@6m|s!YCuMk< ziVzoQMYImoD_g)GPSV&Vcr<_NBOH~K#rw<k5h+FaM50R!0*c~chydO+L86C4o0(2b zCKG{dL4^V=UVuXoR%Fky@fekwqxSI_8eL_x?NEaT4vNUfErMa}&*WjX4mHd_9+_LJ zC8$o|msjEzn>nZ<AzXHc0lyGSC0%^X(KpN~Z)_Sh%(E)31}?s0195;qFa>mu)Vd?& zyDp-MYU$g8Ay3Pj%vJEs2d{V~N{lU-yUV^G!U(S?x`_aW>j&Oe!r7yVnDzrK`@{vb z5sxvm(56HJ6ddVs%lsLb7T<9VhZ#dIl<bX)G|XitlXk$gBJ@JdfV&IT#7j7(2(*(x z*UZ4O*>f@>Yche2Fw{nae|W7~F>#36sg9m%itNFd#<)2;f{CDHV#QG5;W&UQpxTX_ zZd-#*m?KzN)xo)EXDmr|LYzg?TL7@!P;g%c^W8vd_kc%a$lFe1MFvLN$J;SjsxWX| zF~qBNK+MyU02w3=cr<A;%Dkzg#m0*2EDe#8A;v?^`Gz$xSW>}=3N%(Asb29{mez~O z_^6q9QG><r<^~rs=zBpGR^~$5h4AC=0hIybSWWfZ$71HXm&!Cad_-GqzcV}^DSGoA zLmSNE72;SemMb^LCJK3(p<9$4N*u;Ytzq7e<$=hGrB%!EWx@;ZJ7O#Zt$@4104RVr z!SfFqOWxr`1aCb+Dv%o;H!rRMrD>=^l47|h09OJLE{vROa;KCt5OSvn$t+R}0?Ls{ z3)UDzVvc{(QCtqe{-N0Rw9!M)%mUKW(%s9ggAK(Pzidl`g=wqt1>~XIpnwz?0Q2TK zh;q)ZBiMC(Mz?o7x=sOx^DaD{MJVu>forhbKM3QJExVKk{w3urfgMWGcxQ;<L8pAh zv-rUYK|Hj_upqr2(S@TxTJGhp1W4JR;s^?Az^jzt2DrPFgFHh8EdC;<)F?1{{K^&9 zzWzMMx|&8S%jP-K_Fx!Dx-EkJxO#<y!=6W$sPQ+-m%GfO76V&w{{Rx3N=@j}x_X7r zK+qJm3!;X&h+y*J`1yziP;=s7amL|+YETMO7`c+V1298|{{WH!D(l@5)x6%3R~voi zB>{ICCz!(3`9QlGmrKL6?e8%1XENDap@_2zKe2W0>NY3PSgU`!_6Ve*Ahs{b7`mdo zAJ6(?LgKm0<aaFrlxb%jokc)JO&`h?Dx9zS@eIPOS^GiK0@A-SvsjS}sN%({`-?~> zL?$dE*w#o4O3th9fpt;V#G<K<f^OmhPN=&xEs<gJaR9MkbHr3S>~H2}?H~h>VmKM# zt;B6qDZECiGKCTwT!2>(G2M{ZgOwQJG&?H2qM;i2idn9@fPqe1Oq7y+{K3L%VHUhp zr+1}5GP9Lp?jV&;;ZQJpAqGeq&ab!zrkw}!i$P7*bi}8Ig;>Y5umq&Rj{g8@sBEv2 zQX&PzjHZ5JAT|rI2YKlDmD|XaW&k0;HsW!;gT)sumIaizwK9U6@71SuP}qdJxwm(J zF)guK?G9+&LeWr!Xswy7<ca}Rr@YFWMKhQ|R<AxGRs!=<iNDM{Og9SCL5a|5Ycd1I zy`V71!-&|c+$=U~F1Qh3b_Wv_FJ#5KH43f|h=T8O;meS8{*mf3#$FVZL=OmIzqGs2 zk$E|<5r_Cz;QidoZ?nwC*ygaZ5x}1tMz~pHbe&5ypuijBe-jx|frI_JivdF_PI=60 z5P@tE?Ymm0?zX`KZm?)&8bBvYxT9&^>*6vt3(A2oQJ_{I%)T~tV!X_*mS`1<wH>Ab ztOoI3V_7Nku$v);(gm;<9iGf!qBy3dZy2qnvDnl6r5UdB#Tz+Ca)e3`6313#sNr57 zB~hlO@M=6lgEG1I_M5<nm&CSJ+9+=lpri0;j)();_J@R#b`QA?q#Hb?X3!S9We|(9 z(VfB;<?i2jIVF-CMjHIeDbdw)nqSKuU~K5f{@{qUa+x?oIAk-gyxr-6hIG2~E~1>A z-3mX%9HB!2RtFy6ggVSnVY2@KG>shACn6;WnuBdHwIfoVd6;=~7ubLc=PbDmT}{P% zxsoe6xGJwOYX+cM-dOO6_|!`!dqpf1luH2jMThYa%u%pgtS+#!s7M$#1D3DJ_JSr> zp8S6h2rW8t<}g+UNJB!=a_R#`NO0E>p*6D5GiC4IA#@P4C(3OsyT{rP5v?SufRMZp zF0EqJ06==VP-b0+ML}S<9yoI=(u(SgnC@xd84SMi@P>l5D{c#0Tsu^9UzU6zs)tye Z4{L}D&qNksQzG@$L}T8fRS@QX|Jiok$x#3R diff --git a/.next/static/media/statickit.f39ab0e3.svg b/.next/static/media/statickit.f39ab0e3.svg deleted file mode 100644 index 1e2f627..0000000 --- a/.next/static/media/statickit.f39ab0e3.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="105" zoomAndPan="magnify" viewBox="0 0 78.75 36.000001" height="48" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><filter x="0%" y="0%" width="100%" height="100%" id="5b69b4fe1b"><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0" color-interpolation-filters="sRGB"/></filter><filter x="0%" y="0%" width="100%" height="100%" id="160b9cb990"><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.2126 0.7152 0.0722 0 0" color-interpolation-filters="sRGB"/></filter><clipPath id="fad146a667"><path d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " clip-rule="nonzero"/></clipPath><clipPath id="f533aef48a"><path d="M 0.941406 10.574219 L 25 10.574219 L 25 28.085938 L 0.941406 28.085938 Z M 0.941406 10.574219 " clip-rule="nonzero"/></clipPath><image x="0" y="0" width="600" xlink:href="data:image/png;base64,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X/oPR78V8G7gOZCqwhqDR6786VqkdIu2shY64LKy7tfO17xYjBEDvPHgzbcsgml07zs1WGYyCsnLNsqo3KTqJDp9Wft0fPXBdju0ArbyDeNRyiPssVw+88PV/96y05LazqTxrUz8HtVMTgVAMK610oM2zZiaST0yJxtoJBbzl7O/OfOoGZsZILmFBUFp2yy47Yb7AOtSPsKtrUXtbalJmdMhrV/6p8fuf2gRYBv35aQES7Hq0onlu+1+3MPpj4Doj7dbX75c6Xk5vcnyuHPsymQebffqoPdVLP335Dd+wpy0WRk+93LlP65vj/+qBsvjdqxs/iDvJ/weA55r+P0mq1ooPW7A0zGKh2atTmYT7Xl+gwezqBOz+sYb+96z757bbzm++vvlC5+eO/exYkasAI97m18LcTWzTs96+/pGLYMW+1e98erihQvXAjDiU4M9+kaon3rQ29T+d3hLyGEizwZKLcKYzTbbYsrEXltct3zpK68uVqQ2FYmgayEmq+c4PVim+uesNWnhpaVuvrI6oa/pOkitfe3bDHofae2iZFCNR670sE+txQzZnKaJmwmD65GppqIms7Fp5tmoLnrOpXuV+jBFS9f5edeGiIiIiIiIiIiIiIiIiIholP0/Xh998wAwRV4AAAAASUVORK5CYII=" id="a2d129c893" height="439" preserveAspectRatio="xMidYMid meet"/><mask id="c3c91b2a9a"><g filter="url(#5b69b4fe1b)"><g filter="url(#160b9cb990)" transform="matrix(0.0535135, 0, 0, 0.0531921, -6.684296, 9.833422)"><image x="0" y="0" width="600" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAG3CAAAAABN93TKAAAAAmJLR0QA/4ePzL8AAB3KSURBVHic7d19nBxFnQbw51fVs5s3kiUY3gIiAqfIWyAK8mqQEyNwnvJy6oki8nLiAQr4wgF3KIgHKoLKyQGCEU9QEfBQcoBAQA5CkJfIq1wQDgkkIZAcec9OV/3uj5memd2d6Z7Jbm3PDM/3j3w2u1PT1d3PVHdXV9cAREREREREREREREREREREI0RyXbjVPBff0VTbe9vlGiwaFjHwbZuuHIMluuVHigz2BvDrV694ffFrRQCw6vOuTl057ljrDr49v6V3Orfm1QVPznv4fwExLu/K1JFjsIyfMWe9yW/5HUxEShtu7fzZNz8F2PaLVq7BOvBuZ3gsbJWKAoDCQyzg51xxo4dptwMiW4yOI5CSyBp1sTnol/M/AW/zrtYgDFanEoEIjNU43uW6+6a7NtuV7VUbapEIYK2L93v4a23WaDFYHU4EsFGMc+/cxEV5V6YGg9XxRFQjLR706DvjNkoWg9UFRFQKxbc+uEcbJYvB6gqiWihOmrNT3DbnWQxWdxBooTjx9s1cu+zQdqkHDZNAC8WpN6JdOkoZrG4h0EJx34vRJgdDBqtrCDTypx/k2iNZDFb3EIjiB1F73JBmsLqIqC3u+KX2OBgyWF1FLb68qWuHESMMVjcRmOLkk9tip7ZDHWjkqMUJfe3QZDFYXUVg4s0/1g57tQ2qQCNIVPAptMGFIYPVbQz23qUNdmv+NaARFpsPtcHjogxWlxEIDm6DO4YMVtcR7Lap5t5kMVjdRsS/5Z35HwsZrO7jsTODRSH05V0BBqs75X/uzmB1pdwPhAwWBcJgURAMFgXBYFEQDBYFwWBREAwWBcFgURAMFgXBYFEQDBYFwWBREAwWBcFgURAMFgXBYFEQDBYFwWBREAwWBcFgURAMFgXBYFEQDBYFwWBREAwWBcFgURAMFgXBYFEQDBYFwWBREAwWBcFgURAMFgXBYFEQDBYFwWBREFGeC9d2mN63+3ho3lXIOVgWhTwX363aYrPmGqyVz63hoXjkub5FeVch7xnB22A+8q7UBodCIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIqKu1+Vz6hm/59Vvuuko3aSLZlmXcyVynYN0NPTtnHcNcrB13hV4EwTLofima7F6+vOuwpsgWAJjuvx4P4hqO3wtRBtUgboRg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQTBYFASDRUEwWBQEg0VBMFgUBINFQUR5VyA0hc+7CqPNRW2wyl0eLEGEQt6VGG0WvXlXoeuDpVh6/1rJuxajzE9cAM27EkRERERERERERERERERERERERERERERERERERERERERvErnOayBvtlkVRoly5gbqVnm2GbL9GH60AjBrnsu7CvkGqzD/Xf2cUXDE+Z75u+ddh5znx4pQ4FnWiNO2mPQs1zp4eLZYI87bNpgpMt9gCa8LuxZbDAqCwaIgGCwKgsGiIBgsCoLBoiAYLAqCwaIgGCwKgsGiIBgsCoLBoiAYLAqCwaIgGCwKgsGiIBgsCoLBoiAYLAqCwaIgGCwKgsGiIBgsCoLBoiAYLAqCwaIgGCwKgsGiIBgsCoLBoiAYLAqCwaIgGCwKgsGiIBgsCoLBoiAYLAqCweo2mvMXJJUxWF1oSRtEi8HqNqJ4tA12azt8OwaNIIVgXt6VAFusLmRXzkP+X3rCYHUbh3kvS/5f18dgdRcV4NftsFfboAo0kjRa9Z9tcCRksLqLisNvFpr8j4QMVpdRg8vzrgMABqu7qDhz533SBkdCBqu7qMEF7bFP26ISNDJUYnPjPcblXQ+AweomKr6w9it516KMweoaCjic+XzUDmdYDFY3kWJh9vclzrsaJQxWl1CVuPCXo9tgwEwJg9UdFBJHaw9bbtvjQMhgdQmFxJH70BNRW1wRAgxWd1CRYtR/8L1Rm5xggcHqBqrii4VFe9/dRrlisDqfCmJTuHvao+2UKwarw6kCsY/c2Qe9atspVxzz3skUAnUmwuyvPIX2uJNTwWB1KBUF1Ik1mHPhHbCuXfoZynINlkLbYEhaB1JAVY0Vg6W/vfp+iLRXc4Wcg2Vg2qWjuLOUt5oumHvrXcsgxrXf5zPXYPVjPS8eNoCL+1cu+ctzT85/rh+w6tuuuUK+j/nL9r3t90nrBP3rV60sAgAsfJtuQh6KOpUxqm12wl4r12AJY71BFGjTdoqIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiLJI3hWgbCLJblKo5lqVplWCZTckYt5Xfqwpry6jmDHVn+Ohf45Simpz27Z2CdncoDccXmmxrZSu2YR1GTP4FRaaUSYpWf25zlZuKD0JCmgz4R5miyUb8vnZoEIDZG3bVpcw8PV5lh7IwgHAlKlv2XjiGFtc+8byJS+vAACbna3hb+UURuDT3z8JlvniVv2thsyPv/vXJlnBU99WLq+FRZekNlnG/80HViefJv+9xYP3y+anN6xysbh6+eKFi5cAgG28ZsYffuCqplsdP/5n80zNfjJ+5iGrmy894aY5A0sfcMSaFpY9+7ZGCRDjgLHT9pu+09SJlUZw/RsvPDHvgafLf00xcC0ue6n5nH1hm4ZJ0Lh/zRtLXl78ahGAkYxsAQCihboBZlUOW/Jc9beLe9IXhStq3mIaBu4Fg92zlvr6oz85/p0AbKP9F+GnLa3GKQOOvhEuaan01weUtjinpdKXoP6RUywQzfzRC6VXuWKJK/3vsW/uATQoWFmL79YsZV80nXX5c2adVzx9yzkH9aXtgZrzmdenrm/pzAJAPHYFKpldtl25vO99PSvIq7C2vFyJhx79Y5fSzIuITJ68+6fjR371i5catVqKlZUlZIvHrkXt2yhWYV3T50nx2NUYWIk1LZR2Y1bV/4N1bspxn3kH4D1ERKwopHR+o4imTfun31/xyxi2caulWF2thxSbrRCA19+elgQRmI123PFvsOS/b569HAYNdlZl81tErQYLsDUn/0l5Tf8kAYBBofwaqXOSJymfAwCAV0W0117nXn/xs/U3rcAgajpYMqgWAoOohRPwwbWVFkpL/Y1l1E06/R83gVMjFqUTFimftwigXu0BB5xz4bWu8flA7VrU28qNRZlJUK8wmx1xxJIbrnyi0Ye79i2kNUNqW/51c9Jfm7pgYyKrLp5wwhMXT3CN92GzqzGs0g2KD6905PW4Z/5lk6IzkWDQy0REYCK4eMefPLif0/QMp61hVrEUxkbi43izk//4i90aVKH1VqoNCAATabFw+pPvdx25Bqls/LY7frRF0RcMtG4sRBQmcvFe910auaZb5hEkAoi1Ppa/m//Dya5eB0WH7hYRURS0uM1dX/Rd1scr4o54/AOxL4imtqdqo1i/8Mg74zySVeq0lUhjnPTU4U6Hxqj2N3XO/5PzUq3zRwTvA66z1OpCRRQFp5f8q6Ylq17Fm18NrbtRBhZPKZ298KHFRfVrv9qoGBlNTjUUquq9c86rVruHRTVCcdfHDotb6pBtQd3q13RPiygiLW5+47/BD6lDJe5uSA8yBlzQ1umRcwUfOlyDl6oCMUD5dFbVen/mmvNTLo6AzI56RVq4skqnb4Jmlj2AKK463mshiZVC4LxJDjbqYARaPptXFOIxvznxqvT1H44hb6ylkz5NLiQUBYfP7/rh5YPrUAnWxqjX+5S0BqJ1bnNEmBD2XqP4ujdXYjGlNROo8f68//lF4y0r9c9SalkUGq2GaOa5gq273UqlUecQkV5aFLOOiW25uVJAvIushb6xfHXcO2Hy+AjwzpZ3rKhGzl4ZXR4mWaJS/zDrVAwqVbBa3O+hAxcOqkNS0n11SnHQ1pV48tnjy8ny5onvjxncZunYh4dGeiQ5e+d142uXaidN2eYd2/ZCYytaWi/jcNXcv5hGXV8q8Wkv9qa2G37Mg41WQwVnPjUmo/SjjbpyVM035o5PvfeiPU8MKC36g2OKUWndoBDvIuMfuefhPy1a2++i3glb7/ze9+1gEJejJarWmx8u/3nUys3AZnmz5ILYDFh7O+ktW22/TV9NugWKQv/29+29uIV0j12qpa5eLepNdV9RyaI8onHppU7/VEh91wiXaNGrqqrX4i5Det53Ve+TpZ43tLjZ4bO3q8a+/Cqv/XrToPeI8O/anyxh3RbZKzrgIxXhgmr9dKfs0gNYnFEp7XT/1gpHOE2LXpOF+6LqS+fvPPA1hRk/XqMaJ6vvNVbde2h32MC12KuFnvdHkz0Z61N1X7HlwRc9rqpFX61Dv/5x7OCtWDb0klGKb6nmBj3oGfrZy7o1P2zj0Dvwc6DqFyy4Zvp5h8CXP0sauY8edFfDJgvSt6iQUc20e14TMZzSG6En43NcW9rGM76rptReKcRrtOyCK1cBFqVrDIEIivfcc95XPmfLbbZAbRzdsOuyAPecBXbskE54Vf/KK3ececCJH4ucGNVSu1no3/X6jwx4XaWci4eoGWyhUAx9QRw6V/CDl+o8xJpHDj0FxosCEIjijLQzaIfYpUvbJw4ZhVNL+1ZKi9toFrxJcuWM/fm7vrsqMnDOqwJQ9c7B2BdO2mt+5FVKlwYaFadeFeZkV2M/eJc7D7FW7/3ktF9bEwtK+0B7in/7Za09I+vAfix13prLDofRUrLU4oM7Z54mdwCDi7cp2kquLE78xJJIhnx6vTPRQ3tcYeGTK7NCfPinhl7wB6POwdgnP3rk61ExSRYsLtotrtkJnbk/nC/cfGr1KBKbj3bBUFjj9j/BR0kvlbNrZ1xlTVyvPfSx1c99RSRps2HwrT43qlvAO2Nv3PWhQpIsNbF8v/Y6pDODBRTND+62yUdWcHCjK7MO4vFN+NIdWBVv17//3kLDcR5OzLdPE03abFPc/J9Ge1d6F72yz++qyYriAz5Zcw3RqcGC4EKUTzIg2GmL1P73TmDx4f1cciBUwVEPFlIGu6i3l15cucBXi89vNbpNFoDYupkPFOJksYKzanocOjZYDnc9Xb4UFPEbv73jj4Uep1f6PcTJ134TpQ+i8vjSPVFcPhia4oSTRn9fOus/sihyyalu/K6PV5usjg0WrL+3cmNAsX2nB8vo3u9LrgjFRQ9+PesBCDU4bk3kkVzAfHqjUW+y4KKlx1YG16vgH6pnJJ0bLGA+qvfIp+ZbleETHA1fvv2kBqdnD5f00fPfQDK2Q+KtDslhZ8b29muNS5pN3X/3ytV5JwfrlZrab9zpLZYbdxhKXb4qTq6f28QNEofvvRiVmwgBjgo/3GQoxdfXJleycKhenXdusBRrKmuhGJNrXYbPYu+3Jq2PWlzSTEg0WnNZ0pmlBvtvksPQNG+f/w+4ytX5Byt3XTs3WAPv8HXI88EpDoQvr5GXe/4gzXSfOFy3Iir35onbdI88Wm3F1bDlq3ODXbZN6hBi+KEUnE3Z0VE8ImkWTIA3yc9rG7/QIkrZS1nPxtnUJ4ObebKuKR771rS/v0DGU4PlF5pX7jjSRwAgqtj3dzkEy2Pe/Gml8eGibuy0F8o1H/lgKeI1qd2VMdaMTAOzdc3bLGv4lvoGWnn4abAVwyrdLNG+HSrBivrvarK/VzD7yMqlMabl0m5b97tp1avz6TcHa7EEU86J0z46ZtX+I3MEfne13wcvNl7cR1/sbbibtPeJp9PHBRy6zdiU0s/Oz6xlU0S32hKla0L19pkFTUZEMTeu3ATCDkFGZWW7/8tSCfc7ko/EyAfL6JTzs14zEndM3ZgDYMorZPDnBrtCtHBZ6ttcdGbKUUcUF6WWvvr49Ks3m9prUDvwemtJnjdSPIHGo4AG8HjhpW0rw4S37Hst6IQNjerw1PreSri3DhcsFc364NjqkwIbLIoP3daZ0mdczeJGwVJRTbnbE/f0py1EBT619PqMWq5A6vtXCLau/Kh4pumtI+uf27Z8kgWMn5JHsBSvvDa1vJEEm41ZV/p1kGeHmnjT4eZKYpyTvIt4zF+WMtIvZVnZzwinlTYZpQWfO6DxwGY/9pFfVoMwBdUO7Jcy6lRTA7eo8mCCFiY3XW5ErV08tXxlqpg0dl1pnUKcYzURmmHnysYXTIuj5JYtbm34OET6ojLqIcOqqUD/PvUFt1aCJZhQ+a3B/7WwiGWVn1UCP9vSiFbqK+gdt7z0Yz5POw6XdfFJZ/lKn0a06j/bcdiMQtKGl7relTX/q31aZ10LC1nT4D1Gj+j66nmISerQecESMbHDN84GyoPDpVj41UvhHq3bcJLV/zyygz7z6yOut+QQwcpeQ2l29NTQ2Vi8qsfM89/tkQwO14L7duNerGGdzqoMc3c1f2iq7S3rbWEJY2uWNRo9bvX0VtfTJxcrIa4KM2e8tIImk7Vu6FXVhL/66yPfg+TBQkCKhe8/ndZgpR0kXVqn/AiUbpaiOk+WN30tlKuesAtW5dJqKSr1VelPboEEOHlXSX+uEKjcisl6K+x38riafRf1brTZVtttDXiNNHnoIC48e1bj3S+aOtesTb97LemTfVmMSyvdkqU1y9yq6VIeW1R7ieNl6S8OZezmlfkA8EZyVyVEi7VsVuqQM1lzyHTf1KxN1s+YUWcBTkzlGXRxUfzxdY0bLJX4nxf2NL7kH/OHtDZJBef/KaXDYMzjI3bRsLAyB4hgx6ZbHu3ZLjklUFm9NI8WS3TLKdX5S15NLjxGPljeLj4j4yWF6c3N6qRDpqIGYCSZugAKiSMcMT/1VoabtThjKal/vf6ZDS6ddVUYuZqXvlQ50Rfs0mxcRd/21mpP26LleQTLuB17yzcNRPFSctMgRD9WNPT52VrRunHN9ywPORJJ5R+FaLGAw2+xqed0svHitGeZs8Yn9KU+y5w6K7Ygdb69CBOr74OXFm1RGjYjBjtu9+fmrjmM26uQzGLkzYK4yTtBI2yfShct8Gy4YAEaZzx63+zqp/VuKkQdCi8flTnW0qHuw3lNctjg570Vcvljabewn660MCrLn6s8aBSPOfDPTQ2bgeLQmivPPzZ7i3FEORxcucoXPJqsUuf1Y5UoxMHiupOX53RLvxkq19+X8YrkB+Me2L8yZxQ+9qOmEiJ+04MrN+IF9+fRS2z89OlamdZ4/fykDp06glTEWzvvQ59cnn4czNtE9NjGBmz8OTCVgZh/Pa2pKQMsPr5xedSkqn39kVzO3XEsXPk0z+PJ55I6tHWwUiaoVG/uOvS9txlpwx73GulTitQ0MB4PvJxMRSUxvtjUWWjcc0rSYInHfy81ox8scVsfkzwEAsUdle6Ztg7WUMlT5YDi2dk25WtPOozalbPhK7OcHDM9ZZ7xRISTt680WMANedyCtvjnCZWh5hY3VxrNtg6W6OAJxr1B6cREjP/80aP/hGY4ip+ipsm6OPt8ycRbnVspotHi3+ZwihXFM05Qm0z7KHOrvYJtffLu7M++NbG6tVTMklNOKY3FVVH8YM7L+Vxfh+Bx3wP7lOZuEI3i9331orSpGwCI4qqJycghic1/vDH6N+JtPHEWyqNMVBRXVr8ppK2Dpfjfxwf96tT9S8OwRE3cd/XMbjkSArDukn0qkyxbXPjInenJsvH5M6sj0gprfzj6DZZ1uGmbSrZdtOC66mSubX0oBHrRY2oVcKxGpdMsjeIPfkHb+oPREodfPRQlZ1nicPNuxZR7rmLjE8+pPDogMa58Ie2RuyAih18fVKw8B624sL9jpjFSOF+rGM3/aulTIYDBd3YJNnv+6LM4G6LJJB/xhHv3LDZ8pNGq+/wV1RFpvvDaBaPdYBkbT57zt3F5RnqVOJp3DTp3GqMY376rNHmPqImjH4edD3xUOXPntSZ5cE6jeNJ9n3D1W2SJHL7zb9XpSuFx1tLRbbCM9e6Dj88oRijnSiOcUpumTgsWDI5bWTpiiEbF6Re291liSxSnLSokU7do5Hquu3JSjGhwq2Wsxjvff4b3lT73YjT7qlHs0BNj4d121942NS4ko5cQ49w/2E6eKtJHL54KXzpiaKRfnZF5MDRI6fy21lqT9hB9E6VHahuqXfZZiCbJst6f8NSJhVjFGlOOkLEW3m3+7cf2iaUyXMYVXjsuow/LZq1F/WJiJRr6UvUO777iyU95F1VGLxULd5w34OjReZ/32Mya+bFiQUvnuPaaXVanjwTQFS19h/tgK0dxwK+zt53zjfIXU4iq0XjqFV+6+obnSztMyl+Q9J5PH92HOEoelxRv8XdZXwuxQdMMKNy6etuub6cDD9sLqPlmFikWFhw18BZ45wULipP239JZFYja4raXHZs+EsAc/Hz6V55ACwufbPjHGRuPSz8r1ujVx1Jf0AInF7z9s0myoIi83+HCr8+9Z97zr67wimjjLd6x74zdgNhW2woPHD8n6078UTsP+cKaWuJvWVHnt+g7tlh7m0jUTtp0623/alNAnU2irZBiYfEHVgzMdicGK1p+4m9FoQJo5D7zX79M2ayihR9nv+VNR9T/xIsi/QF9AMCc94/gA8jHTTyyGFW+KUci73tnzMC611etLvZO2GiKAdSZmn3qjHz56owRaYpzsxb7rhVD+5qNbnlN3Rerk9oqaH/PyzNeHLQTOjBYiO2tl51cLKiKqAguv29R4w54ldSxeKX36200CZJK9kRFrmdNxitaoMYf9bO/r3yXCKBG1KuMSabCdCrGVgfWSRzhtEszBm+p1PvKwFqmv95GUtG637gt1TG8UIj3PY8etmjwh7sTgwWP0w/a0dlSn0Nx8o8OTd1smefWNu3MN3NwfvY3z7XCG//JRWcgjsrhEQAG1e/SMaiM7CuNoHVH/7yJ+1oZVWz4wEm935cP1NUqmGuPLw5pMzvuqhAA1BaPhS1fGRbiQ05t3AEvTXzvd+MFCbKLj/C6ecGXPrM+KvrKJPalr/c21lpjqktUhThfeG7Pn9usXGWuRcNy9V9dmSBOBTEKy485pjj0TKIjgwUXzTsXcfmrRg2+s1MXdcAr7E92f6BgismXMNV/lYgWrb1mt0ejnLqIFdAYkfx052vrjYrrzGAhxnn3l74TQdTEhWu6qAMecNEz+35xecEUFfW/dFoVcLEpPDnzuDW5jKBVqGrsTCSz9/n0K1G989AODRYMPruu2gG/5wWdebLYQGzwvR0vWVUw3ikGf6+0qkJjtdEL/7jb7Xa0R9CWv0A9dt5E0f/Neu+hc43UjXb6/nAoD59t5lH08pWHz/rqR8An3W5q6lyuaOUZn7jxUn30P6f/sDJ0MT7r1gcGHOY9WhgEOGgxWq1fM4ZsGq00n7qhY4U9oiWnX/oPR78V8G7gOZCqwhqDR6786VqkdIu2shY64LKy7tfO17xYjBEDvPHgzbcsgml07zs1WGYyCsnLNsqo3KTqJDp9Wft0fPXBdju0ArbyDeNRyiPssVw+88PV/96y05LazqTxrUz8HtVMTgVAMK610oM2zZiaST0yJxtoJBbzl7O/OfOoGZsZILmFBUFp2yy47Yb7AOtSPsKtrUXtbalJmdMhrV/6p8fuf2gRYBv35aQES7Hq0onlu+1+3MPpj4Doj7dbX75c6Xk5vcnyuHPsymQebffqoPdVLP335Dd+wpy0WRk+93LlP65vj/+qBsvjdqxs/iDvJ/weA55r+P0mq1ooPW7A0zGKh2atTmYT7Xl+gwezqBOz+sYb+96z757bbzm++vvlC5+eO/exYkasAI97m18LcTWzTs96+/pGLYMW+1e98erihQvXAjDiU4M9+kaon3rQ29T+d3hLyGEizwZKLcKYzTbbYsrEXltct3zpK68uVqQ2FYmgayEmq+c4PVim+uesNWnhpaVuvrI6oa/pOkitfe3bDHofae2iZFCNR670sE+txQzZnKaJmwmD65GppqIms7Fp5tmoLnrOpXuV+jBFS9f5edeGiIiIiIiIiIiIiIiIiIholP0/Xh998wAwRV4AAAAASUVORK5CYII=" height="439" preserveAspectRatio="xMidYMid meet"/></g></g></mask><image x="0" y="0" width="600" xlink:href="data:image/png;base64,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" id="5894646388" height="439" preserveAspectRatio="xMidYMid meet"/><clipPath id="4368b11014"><path d="M 23.5625 0 L 77.5625 0 L 77.5625 35.027344 L 23.5625 35.027344 Z M 23.5625 0 " clip-rule="nonzero"/></clipPath><image x="0" y="0" width="512" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAEgCAAAAADnV5SNAAAAAmJLR0QA/4ePzL8AABHHSURBVHic7d17lBxVnQfw7+93q2cyQ5JJSHiLkHVRdHmjRAyE8JLIooeD6wMDHo66Iq7KLhw1LAeSldVFXR/rCrp6FPF1FFGObljYA8hiHmIIIiEEQghkQV4SJMlkhmS67v3tH1XdXVVdPTPp7jxgv59/Ml1V99atqlv3VbcqABERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERHRy4B0IQptI5CFzndML2uuC3mPOtaFq3DkgR6AASZWi85a7iHZRJ5aHUNZCrwCCBZZG7Y+ePkUtFN30G5GsMhG/HYzs4ePZg7Y9aJuRCLbX5FY8K9b9KanxcbelHakLt2Dsp0A7RnZ/+puNEFeBkREVdq4TXaCLmSAdo5LBBbh7X8RdtJJEVHndkmFI6owsxDMDKqdHa+oug6jKOpKFdAOMbEp+z22k+oAS/olbmcPP6iZAdMGegewsbr5+QCIdJAES86WC907a7ssA0CsWP70fOuwbVK/WEnJkh6pwCas+eBW598zf0jN/MCt83NZR8MpX3hJDKF/5d8GABqOutbXw5sODW/+3zWrV8VQs3qQiy7clCSgtijZo1Y/tE5ge31n762Nm63ev/WTfnMpoOHsK7Zk1qb9X4P1Xrq03r3VEHDArNmHvXqvngqq8fPrVy65+wnLdX81nL1gUIEwadEVxZtBwwWf2KKGtO9skJcGN61btXqth6JbOXnXZQAAhaOw2TNG23jvnq2CGUclPzbk1wn2PTb5qy9dMuX4pghGHrzlJw/A+drv1x/ZYk+TIIbeU/vL18YABAcc0yLwvvXMogEnX3DGPumvnp6DDjrp4xv++/rbQiMXQnBgekRPNcUkeM3RJTvY9MAtNz6Sycmd2bUZoGAY1Zb1dKhsMQBbMeIA3zNcXO8x4oBQGUpPfxVxprI0ANJz9NGX3nD5k/UbcBu2lRy+aRwAwAb7y1Lje4YAADFGXGkyR2oFmIXjFpwJeKs1/8xMps+bd/uCZdlCYFt6REMlsVULKTQAOnDC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" id="8b94d14410" height="288" preserveAspectRatio="xMidYMid meet"/><mask id="9a00df636a"><g filter="url(#5b69b4fe1b)"><g filter="url(#160b9cb990)" transform="matrix(0.17103, 0, 0, 0.169764, 0.833837, -7.06282)"><image x="0" y="0" width="512" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAEgCAAAAADnV5SNAAAAAmJLR0QA/4ePzL8AABHHSURBVHic7d17lBxVnQfw7+93q2cyQ5JJSHiLkHVRdHmjRAyE8JLIooeD6wMDHo66Iq7KLhw1LAeSldVFXR/rCrp6FPF1FFGObljYA8hiHmIIIiEEQghkQV4SJMlkhmS67v3tH1XdXVVdPTPp7jxgv59/Ml1V99atqlv3VbcqABERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERHRy4B0IQptI5CFzndML2uuC3mPOtaFq3DkgR6AASZWi85a7iHZRJ5aHUNZCrwCCBZZG7Y+ePkUtFN30G5GsMhG/HYzs4ePZg7Y9aJuRCLbX5FY8K9b9KanxcbelHakLt2Dsp0A7RnZ/+puNEFeBkREVdq4TXaCLmSAdo5LBBbh7X8RdtJJEVHndkmFI6owsxDMDKqdHa+oug6jKOpKFdAOMbEp+z22k+oAS/olbmcPP6iZAdMGegewsbr5+QCIdJAES86WC907a7ssA0CsWP70fOuwbVK/WEnJkh6pwCas+eBW598zf0jN/MCt83NZR8MpX3hJDKF/5d8GABqOutbXw5sODW/+3zWrV8VQs3qQiy7clCSgtijZo1Y/tE5ge31n762Nm63ev/WTfnMpoOHsK7Zk1qb9X4P1Xrq03r3VEHDArNmHvXqvngqq8fPrVy65+wnLdX81nL1gUIEwadEVxZtBwwWf2KKGtO9skJcGN61btXqth6JbOXnXZQAAhaOw2TNG23jvnq2CGUclPzbk1wn2PTb5qy9dMuX4pghGHrzlJw/A+drv1x/ZYk+TIIbeU/vL18YABAcc0yLwvvXMogEnX3DGPumvnp6DDjrp4xv++/rbQiMXQnBgekRPNcUkeM3RJTvY9MAtNz6Sycmd2bUZoGAY1Zb1dKhsMQBbMeIA3zNcXO8x4oBQGUpPfxVxprI0ANJz9NGX3nD5k/UbcBu2lRy+aRwAwAb7y1Lje4YAADFGXGkyR2oFmIXjFpwJeKs1/8xMps+bd/uCZdlCYFt6REMlsVULKTQAOnDC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" height="288" preserveAspectRatio="xMidYMid meet"/></g></g></mask><image x="0" y="0" width="512" xlink:href="data:image/png;base64,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" id="7e68ed8050" height="288" preserveAspectRatio="xMidYMid meet"/></defs><g clip-path="url(#fad146a667)"><path fill="#ffffff" d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " fill-opacity="1" fill-rule="nonzero"/><path fill="#ffffff" d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " fill-opacity="1" fill-rule="nonzero"/></g><g clip-path="url(#f533aef48a)"><g mask="url(#c3c91b2a9a)"><g transform="matrix(0.0535135, 0, 0, 0.0531921, -6.684296, 9.833422)"><image x="0" y="0" width="600" xlink:href="data:image/png;base64,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" height="439" preserveAspectRatio="xMidYMid meet"/></g></g></g><g clip-path="url(#4368b11014)"><g mask="url(#9a00df636a)"><g transform="matrix(0.17103, 0, 0, 0.169764, 0.833837, -7.06282)"><image x="0" y="0" width="512" xlink:href="data:image/png;base64,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" height="288" preserveAspectRatio="xMidYMid meet"/></g></g></g></svg> \ No newline at end of file diff --git a/.next/static/media/steven-mchail.4e94472e.jpg b/.next/static/media/steven-mchail.4e94472e.jpg deleted file mode 100644 index abf335d084fe9a34e9019ef99d39cf4fe733095a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 427887 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:n3?ZGdex%>+K!DWEyl~Epuus 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� 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�~>% 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/SJa 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 PG06YLpu@iF-<Vxwibi|KSXF=1%Cd6#zR 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 diff --git a/.next/static/media/transistor.20c106ae.svg b/.next/static/media/transistor.20c106ae.svg deleted file mode 100644 index 2fa6fe3..0000000 --- a/.next/static/media/transistor.20c106ae.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="105" zoomAndPan="magnify" viewBox="0 0 78.75 36.000001" height="48" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><filter x="0%" y="0%" width="100%" height="100%" id="f6d3e73924"><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0" color-interpolation-filters="sRGB"/></filter><filter x="0%" y="0%" width="100%" height="100%" id="cdf5ea6334"><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.2126 0.7152 0.0722 0 0" color-interpolation-filters="sRGB"/></filter><clipPath id="c4e736de14"><path d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " clip-rule="nonzero"/></clipPath><clipPath id="ffdb723443"><path d="M 1 7 L 22.835938 7 L 22.835938 28.542969 L 1 28.542969 Z M 1 7 " clip-rule="nonzero"/></clipPath><image x="0" y="0" width="480" xlink:href="data:image/png;base64,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" id="c50636a5bc" height="195" preserveAspectRatio="xMidYMid meet"/><mask id="362ab0cac8"><g filter="url(#f6d3e73924)"><g filter="url(#cdf5ea6334)" transform="matrix(0.1125, 0, 0, 0.112266, 0.942566, 6.6524)"><image x="0" y="0" width="480" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADDCAAAAAB/8J1lAAAAAmJLR0QA/4ePzL8AACAASURBVHic7V15nB1Vlf7OubfqdXc6ISEhISFAWAwECPsuKoi4IhJQQJEB3HV0HB2IuI4LOsOYoLjMoA4IqKgsIzgqIwIqIkJIWJJAICEkgSQkJOlsvbxXde8580e9pV6/pV/363QwvO/Hj3RXV926VV+dc88959xzgRGHASZ84PblfbJlwffOAJhGvgst7EAYdFy5UQt4bBbAO7tLLQwjDI5brhrHXkRc7FR/ErYY3oVg8CavOa8ioiIqLtaHOlsM7zIwONZrrCKJghZRyel9O7tXLQwXCG1LNSrym1Cc0ythdnbPWhgWGHxZc2l+VUVF3YyWkt4lQBi3Xn0Zv6qikV7bEuFdAgb/oLGW86sqXteNRWs2vGMwwqrxjYBWUEky6YSWjt5BGNH36ungKpJK8DhsJLvxisLICk77pKqqmDBlRLvxSsLIEswBqg+24Yh245WEkSU47gG04igB20e0G68kjCzBuReq8KsKrBjRbrySMKIEGzwKpUqKDR6tQnwLf3dgnFrh51ARp4tas+BdBfPVlXs6RDTSf255snYNGLxDY+nni3a6vG1nd6yFYQLjJ2XRBhH1Xt/SEuBdBYRwnuakQLGIOq+zW/zuOmCMuV8l8iIqKuIj1StagYZdCQx8U1VdFMdR7FWfP7PF764FBo68aXN+DF72uc6Wft6h2BnSYzz2fPXhk8NtK+fNi2D8TujCKwcjTjAxwFIkNVCFykh34hWEESWYGHlm20eFBuqyPXHyByMtkncMmiOYqgWHap3LKgCmTD/44GmTxna2ByS53m1da59dsnRpNwDTEuQdgSETTASFokrooCqYPDDxpNNPPnC3ir/piwsfuPexHGCkFXJ4mYCNMczU6AdiCJjw3js2qar6OI6d817Ee+/iOI4Te/q7p3JyYgs7HSaw1jAzgRohxAA4+UcbVNXFzktFXrT4OBZVffyyKS2KXwbgMBNYawwTUQMSzAyceY8WFpz1T5pNkay64ZpXoTUv3rmgsC0ThoE1zMQ0sARb4M0PqErspV+cUCUNFR/3Od109dQWxTsTpqOjLZMJA2sMM/NABBvgkDtVXdxPMScMl9PtxWW3bIlXfCpoJUkPHwYpLGGmaFgRCDqAmWU9vviLGV7ZoJ+wV2TuEEhV1W3LvPG0Z58Ht+zp4cGgCKZRgQJEmrCa/FObYGJ/+F3vYWe48qxCGymoiHhBvHXi29sfEtNieFgwGIJ5jAWUCqwqUV0BZtWP3TElZoMKY7sgv2UkijjvvSDu6j7u6Cc2t2R4WDAIgu1upiSyhf9RTVeWEb7+8+yCSnqL8quFa1Wh4r3zXnzc15PbvMdrVj8/mMdooRYaJzgYy0SJA4ugSgok/1U3tKzf/Z63O5hKVYzCAjTVvAyrgiSKnfeK3PaebDa3OT7ZPd0KFA8DGiY4GM/gIsFAfgiuNRO2bv+/zowtawX9iXpWVRHkhVhV1eWcE/E+252NomzUlz06WNxiuHk0SrCdbJQ4r5gVKChrQtV4g3UzHtgrrlyJpKQqHmBiZsMs3gkAFRc75wQum83FsXPOx9umjXqqiQdrIYFt7DSeYh0rCRFYAQGpJqNo1RCQdQc9sHsclKtnBUg9LAyQ69qeE9O229g2ANmY1HkRLxpnc86L997Hua1HxXc2/XyveDRI8JT2HBlVBgRKTCpKIPXVszGM2/uPlfySilpG98L5C596cXtfLCbTMXafg4845oDRuj2Gqka9kXPeeZfLRVHsug/pvrf5J3yFo7FRbuIeUeJFFlERqKoXVRdXP5ul85GDy/lVgLxabL37V39Z3e90M+P1Zx7bvqVXfV9P5Jxzrq87F+eiXC5n/vZoo/HIFqqjIYI7pzmFd6IigIqqqBcX1Q7Q331Gf35JxOLpH9yyFoCBamEcJ1IBcPgFb9lta6Qul+3r85TtiXwul81ms3jwhRbDTaGhcN/BxgHe+QLBIur7opqn+zn/0o9fgrNY8o2fexhUBvWTZIDzZ43d6l1fz3YxuZ4ojnLZbC4XRfO2De3BWkjQiBW9z1hlpsRvlQ8R+p4a6hmw/p3f8iY1fVKQetvzuYufUKvVcjZUwdw9757O/bPdLtcXu1y2d1tv1Ncbq8eYtS0JbgYNELzbNMnTq0TEANhtrZnryn7KXe3KmubXM9/11ru0TtaVKpmtf3rmwM7uKBfFuVzv9sjn+rz6nOHNg3ykFtJogOAZ7YlTQzQvv5zbVE+qbj4itmX8OovL/3GrHSDhSolf+NPEqT0uzuaibJ9Q3OckyvWFvblGH6aFSgxM8F5TPRPAUGICASa7oTZVRi76jLOlsV1BcbD1rTcTD5zfrib7oNu/N5vLRdms1yjyEsexa9vSUtJDx4AEmxkGSe4VG4YCHK2r/cJJdruzE1zO7/OvXTCQ+ObPJjyzce++OM7lcs45UfFevKGeBh+mhUoM4OggnTomskpESqSqSuzW1clfZv+FPeNAU/y64LlTXrSusd4o6JFtb4jjKHKx995LFDnnO8KaFnsLA2EgCTZHtzGDwIa8AsRmdV/ts1kOvKksvE/Orn312kb5BQDauHVibxxHcS6XjVyuL4oiz9nGr2+hHPUlmHTquKwV9qwK64Vh1tYraUX4TOhKFpaS2N43rR4Mv1BaSodmXRTFcawaRV69mKDmpKyFAVCfYMU0AdhYcY5DH3vbvbbO6eRfdTFMSkErcOHiQbKjeKZjUk/kRCDeqyoUmRbBQ8UA+YvjJ6o11trAMhtrDfd3JPdr7KNBnPKNkeN/v8MOnpwnNvpcHDvv82nynltplkNFXVcl6TEzsxBVVZf1UE9rl9Y9ffen9xAqKWhvFhw7pF51HhzHkUC8iPeiXuKWmTVEFFU0k2hxCWAeyvuShYpXiIEq+/oC7M/dw6WsNjX46NDWd3evmRAlqdRJTry0UjuGijzBxgsQWB95lCghnTQ+IlgvCrakEqzqrdeW4KJUgpaSs997ZFAGVgnrAoqTQi0KUVFq1QEYIiyQlOQ+/czDp7RlX3zit/f6Uqbk3m2OYdkTkbIqvVCvKZZDTkbKCS12y5UYIi+6aZz3XlQFUEHVzL0WGoEFYDwu+OzhAICDT/vnRVf9LC/EiqkICUxW2cOrfWlLvaYIZxpni5mw5Pl764cowEBPByugIqpJht4Q23nFgwHjx97588O98yLinZ/509+M88lI2jmJAmutDcMwCMJMx9q6giR4CygtwNuvHaoAA+hOht/CCrWWO3qIsGA/5Y/THTEpACL18rZHTl3NAtKJu/eSggMWkCJwa+sVbCDd65jUrIs837qmiZEzm4FIMguukiMwwmCiqpHsHQpiDMOjM0nnPdMjY6CUBH1NEB1w72ghAHu12cAYNsayCcLOrd11W8KJo0t8qjJubKYItGa9FxFVqKjuVIaJxDuvI7wPrlHvvddml9Ja0h/MiEItqlZShNH0H11ACuwZhOoEQgoOKLNugIocJ6a3zBHz1ANoZuSMkK+wpMUVEDsHLDjsuDEvPbgKPIKWAPvOM2aYpfdsarIdK29+jy9LoCLVwJ9/0++Mx3i1Saa6CIjNi3VbEhyXGoJJcZc0NbcRR5qsbtm5Ctr4qd9/OwHZGz7dN3IMk1z0b3sB2PS1a5priHE5tHz9CYEUsyEIxwmZsK2jPQyCTMcot7n+EDxm/3SeHeOe5noGhYpiJ6tnsH/V/LPgYtf2kT91jpjDhXX2TXu5OHbjvz23uSkiH3ZaKjyQgNTgtUcoRo221iYGdFtbpr2v7tYohL2mlNwcqrxlQVMaGomNpTt7MwfhWyblYAKjueOvHanpOMspV6kz1hrvPn1uU+Mwn06uSq8dvR4YMyYThm0hcaajsyPI9Pn6j7dPSiOTYsmGJrlR2fn6GQYXHBlnAAChXHiEjFTU43I4m9wflzUx2QT46Cq7CRKAI4FRHWEmDANrA2stm7o2NAjTUr+p4qmma6nozlbPABRvKiyiJMHrR0aEScYdD6NERGpwxP7N3NVOrbHZ3FSgLeMZLCJQKLiuHxrAlHKJXTb0Tr2ssGfedCQFpoyUjt59TPFO0j6u4XqCVWCr7odBQBsQZmIL8vAQFQT1vY6EiWmCCavqnMxEST7AjhdRYlIaVKlTA6WUVix81wqgZ6QsAirkPZE2WU/UVrWcFOgGbBgQ4E1S4qiN635IijHla/3X1S7u4FPvm2mHOqpMsgCydqWJ/iiUOs7PiAiPnS1G88veH9shfdyhsCurPTopVgBkDEPYqnovnKm/gaSiPT2aE2quKTIep5w8OdrevfmltRvXO2AHVppl33H2CaPW/P7BRp0UxptZp43v+tP/uELA5RdfCoQVIGdX/r4pe2enwD784XSEIIECeATwbEiZmNR7b9o66jak6Ez/SjVfBfsz/v3owi+bX3xuwYIFa/0OqjTL8tb/2gfAl379/o0NMWz80TceBuCjSy5+xHgAYpZ++WsaG6gP8ans319Y2t7b21GtBEP2PiAHS8lybysSh7vVVXOaSndP1ptVP4/ln66BVwWBwOPGHXImtj92728XeHCT8+ZKGH/ubXAK8Fl/OWlLA5YK+yP/2haDFDP+evJ8FgAeV466wgAw8sE7Glie8XIDP/9ruH6PruTw6xUWfRJk2tszlm2QaWvP7FG3IYPVqQ9A0VV9GmzknGvUsbHWGGaId86Pfu1X5i/43H4iNLxFKsnveR1ia23AuYO/3Uh9RMF1bVFgjQ2i4LqiyH/2db9ctu7JHxx2/Uj6oocLjG8gkDKGlTTAN6DYRhlrA2sMGxO02YkDGCp/LtU3I8Gi9dUkhvyoa+Btsg6ViJiNZfVOj/76U7e+Tj0NpyOB8f7dokCJFKFefKQfsG2DC4+OQwVBQ3f42wsTeb7/gpkHHfGRJebvkF+wWfQVuHTlSCWNceUTxmOLthvipPA3h7TH7vUMdsHt6wJPSeRHFT+sKjGMd02NbSq2QQSADbxre+ef/vhGlWGsF604DSapJEAesweebnhcDi6WhjqlcFiYc9u8+TvUzwDY48u/CmOh/IxUlSQOf/1FeKB3SxvbIMhkMpkwCGnPyfUaUrPtMpAjqBKi4Hc/r2FlnQbqVzuLiAhs1cmpv7/72OYjoEUIJiBf70kN3n3UQCJs8J4jHBe9GuOLGkuECP7vUX4BBuHc/wk5VmjiGow5vHMWCCBZ18YmbGvvGNXR0RaYMTPrDmOef/YFts577yjz8AXV5cVj7+qeM1JYcv6MR/5zNz9cQszoKt3ADSzCHrMLU3klYEPxfDZQruwVG0LpMBljmABiYwY10BQvzP87KLBJ7lb4t/IEKOu5X/ABi/PeO6FA/vVsYQUYzwc2sEEYhplMYIw9tr6ZK/T1c5dZa63tu/o122vVEq3VBJHCstOPPnXOcAkx4V7kzQtSoxcMIMIG7znCFSJrSvhT8Q/iFdK/V8T5wwwAhtV7LwqoeC9olGM2KF7ovZdqH1LN5zMM8d4LkP+XK19cXh/NmD0rvxvKtjv+48nEZcXypmt6DBETQN5523X2AAVRWII3vnrq9sd//3wtv4LxP/ygM7VESUHqAvzwE9GQszHTIN3rqTH5lRZKzv7i3QNMYx870icEK3nzxJHFZg764PEd2+7/0Zr0Q5Hi1IsOMRvvu24zi/HAuCOPOGTv3QLEm1cufvzxPjSS8m9EgekzDz1gcmeAXNfzSxY9sRUw8Acuait8acrHza/2Nok9MPqwQw/Zd0Ib+76XVi1ZtDhby59ggEnn//vNd9x81fmTi0tKCfs9tmjRoieffvrpp59ZsnjhYyveONBUo/AB1fwKDWZpXFn8vVT4XdQ5XXxwowXaBurOVRppYSdb0aPq9d/g3RoXtr3VWN+TfxrCP3pVVe0+P51TCPwo6fKLJwJoP/+29ennWHX9G1Kvo+YdgeOuejyXvnDdry4aB+BVfYWC+OL12GrdNsDoC365puztrbzprEyNu6ZWd6V+NL95duGTS5Y9u2zp0mXLnln84vcGnksaY0xdJUOLNKrPsETae9awVPUnTNmqvsTZL+q/8kcL28+LOn2i8ED4kGrknMupvrV0PeHH6iLn4pxu3TP87Aot7BfkXJzsIbPgwvoMkwHO/bOqaly60Kvq+rn7Y1q2PsEG2PPK1aoqpWtjVdVls8fUWFFIxjBxGTmMr7341NJnn3tu+fIVK1etXL7ymeqxxcGAcZJqrrgRR3WKY9VPNLZjzwAw+I8yET669ndjcIHGxVNjvTBhh7B3jzoVEY10eaZ09ls0lvzheYuTLWXy362IiI+d6kMn1Vm9aYDTHlKVyBXfQ7IzSaya/cpx3XUJNrCf31K+j02yc41TXfvRhgtUGrzlpeWrVq1auWLV6rVr16xesfWy5jdEMXh7Lvlo43z/KjbrEHWiXx4Ohgl7bSsX4TqKoVyAqdDdK5JPRERjfUfR94Fbks9BRJ1q1G/DIBERF6t+raYQW2T+UzV2/XeRkmTT7JfqSTARTlpcedPixQ8c3CBNhPEL1z6/+oXVq9euW79+/fq1658Y23zE2+BVt/YUO+UqnlFVRb3Tq4YjuG7wzcZE2OD8shH4vfl3xLi9cFxi/WrxzdnF+Q8nsRoqxxxRjUV/X2N7ZItDl6iPq+kwEfVxaU+aSoIZuEw18tUGOhH1kebe26B0MP5r66o1a9dt2Lhh44aNXRvX9M0eBuvHAPu+/cMf+/SV1929NNJkS6X+n6KK068MwzjcX4R/WfvbXpAW4IXFKTD+oC5/faxzio/f9lyp2epjTWJNLBxf7Y4Gb+3TqMpWQ4UWS5tMVRDMwH+rxlpjjzFRjVWvbLBIJd66dc269Ru6ujZt2tS1ZfPGrhf2GYa3XjLj2g5413eeVNW4vwyIitNPDcMOWQZzGhHhMgGWkgCDcbc6rSQ4s1x9NXLKH0JzumT3aibSu7XuZCLdSD+CGbhT46riW6TYO722wUSQtgVbX9qwafPmrq6uzVu2buuSm4bHvDUla9uc/K21WtFlUS96bvP6gjB1e7kI1+h/SYDF6aLiy2mGYBXRnD4S9H/VFu9SrabWGyCYgDs1qm6elu4qsX6/QRH+vG7csmXr1i1btmzd3t29fbM/b3imqIX+GgNgzEeWqPbbHE3UaXT4cBh15SJ8TPVJ5XnqUiPwRcX7Do7g/jajiOb0F/1etcHrtPA11bqwDsHXV/BbcbGoxPqVRt4dYZ8Nfd3d27Zt3769J9vX070t++I+w721IBvAfmyd+rKPWkRjfaajaUuLsPd2lQFFeH56BF6U8go0SnB+jhPHsUu9bxGJ9SNlb4wxdVNaPyezqtKkoi7BBpel+RVREVe4a6pNFa/nNyKKBv+p23t7enp7e7NxlO3r69a/0rBvLUgWGPtfqlHZhoaikf60+XsZzB1IhA3eVRJgifUfSow0SrCoOFf4JTXeiHrt7me43F/sT95mLj50lT0eywg2OEXFa4pHFxfPjF2KefXacwCqbDnXDyzTF4RJTiEnKTWu7eYLm8nTrQHr8KYfT44tpevUwtuLftqsW5p076c6Ux7pW8+r4tl95NiCFxpinjy8dALL3Wfkl8Ort3MvK/Qm89T+qVUO+Yr26x97tivY65AjLZxFMWoRBz+9qOSXNn72VcVy6UkpbWD5Uyu2mAkHzJyE1JX5pst80cHCg4uF5hQkatC7aOmavrYpBx3eAcdcajgO7n1DAzwZfEd7oiiKYifee+99Tr/VZKpuVZDF+D9o2cxQ1OumiU3fy+Dq+iJs8M6yEfjilEptSIITb8ffzh+X/O2gr20pPYiUO8EZ+/WqL2oL9V63fufEfHL62LfdVmmLpCTY4Msl4U/mQ/M/vE++5b0/8mjaNO//ILVAmPySy8ax8yLeOeeci/SbAxZQGwoscK26coYj/UnTQz5hn+70KHxLZecfSY/AT5bPOgcmWESdRh9BEpU1AKb8jxZnsqKxXl8Kw+DHqa9NneoPpxQuJADH3JfWweUEE6ZuK30cKrGuvRDI+/8B4H1dJYZFnT5XdVVDPxh8SnuTndm9d9477yL9QcPuzsGAgSvLGBYRr6c1zbDBt+qJcJkAS7/vviGC1enGY0AFPz5b4Ovqil5ir5v3zOshxoyiKSmisXa/A7CF7pAxwOdV0wynCC5zy6nEetc4wBYTDiyw10OlSI5orB9r7N09pLmEYOe9d158pL/frdTy8IEIXylnWJ0+1Hyz2Kc7PRe+tb8IP5KeAy/u5xcckGBRr31HIkhfRZhbFrq4NP+my741dbpxZr/3aAgXqaZfQZFgwrj1BQEW0Vhv6i9mAeie1G1LIbG6MDhWfF6CvXjvRSXSlafsiJ3YifCdsmiiSKznDbsIl7mGDM4tG4Ev6TepGZhgcXpJGb8AAX8pzXVTw0LnC6VPzWvumH7XAbD4x2J/ygg2uKTEnsb6m0oGDIJHUwx7Pa2x1/NZzeWrChaifJHqNwIMcx4zAAL+NzWJUFGnzS8I6j8K9xPheWUjcPkzNaKind5TJaB3jGpJRz/Xnj96Zmo0cHppJb+AwY1FktIEM36tcUn4V42uYggZHNBTlHKN9bsNvqE/pF+6ShLQe/ps1MndGCIYncvTbh4Rp7OGQYS/nfqwpdx1cE7ZCHxp+c0akWCnb67socEdBTpU1M0AI5mTxIVjsd5VI7V4/EupAb5AMGH8hqL0i9NzqppBAT5detL+400tMCasScIXBQlOIiX6pzcDGESWWCOwOFnLlIXT+4bBnbVvT1qEb0u/2YfTI/BT/ZhqgGCvy6rK4bsKYSgVp2/N33F+MTYloifUiiVeUYx8lAg2OL1oQqvTP9d6KeGzpc9A44Maej8GJ/p+3tMkDKoPf2giALA1zDQ8haQsvq5F94xUjplDgsE1ZaPwcaWp5ayyEfh9GKyKllhvqkIUYd9SVobTD8EAhMmbim+/9oebzjRKE/xpjUoC/O4aas3ic8XXJ07PaejNefvQu8HF5PikE2rY++N/8Mxtl04ncUlp2IazRevdDF9+xhakgxTk8Q9Ni7Dg6t6g0Hvy+EzpblcU3DZK3i65cdALREnxZJXDihdXF3OEFbsDAGHq7sV62orbany3ymvvq0wvVswobWZjNt5dIwFZcKcvFQzFjMYIceaWTxDKiggRKQx7N/bc6xcuuvkL7zl15oGHHdjhpWm7S038eeT5BUDKOHtUs6tG1Ky6Dr6UI33ucZK3TGcd77mYoYo5ftD9V2BjtQ+QovTa+hAACHuX1ncZPFBrsRfh/mqH9y3chgTzN9VwQwqeeib1YU1r0F/hzfc6rhLhsoppUDBEkDn0UAAQltX/N2dZ00vwPN1+/2sjU1y2TH7v1/0unWScX6E2qEXjgqvfX1wnS85ecW5yL3wGRc+62KdvGsIKb0INb7mUnQQAqTIXymteqEWw4onKT0YwoahrgCdhatyV5elD8u0SYWKjKtXzf/wLsy8vhUBEIGPUu9grGLzPhxZf0nylIcY3i7ULSQmKd6T+mqwh8N7LYIxrNSuvL6yTJTV6znHCgMHZJxQEWEkxxw3/3L4Mo0sdQledwnLrqzybSTsea34cIDxfvAdhTMMeR+Grt/63cVbLywEQADDlq0mqD38sNzW7DN7jN/OPjQyQhFvAOLUYUiLy2O/EwyZx19PzFvpBVI8UzH1/e38RTgmwkrfPDH4EHiTS5nZUMyiniHOZiqOmtCKEUK/kUfFvBASNu5TFXLfm9o7YUmX5dSqaKYGz196/sk6UipiSCmf1YPxNx4pBvvIJCNMPfzSh0nh9wydPT7wG+sh/3th4OUw1K6/7uLf5tYNGzzl+HpN/x4nFERiKOW5Hl2hIN29rC6HaKgVRREr6HfXCCMVrFXCD0Kfe/t9RTwYitSvWEKmN2/+59qSGjHrnvA4wdRb8akumYGWBEOOk5BMyftwtfzizPYlq0fE3PDyzcaNIcHWfTRnSVyT/K36t3j5zww6vsVIqJkcYO7r25GACVaoml96FdXLNaxVTivdQdA9mwHR26bE3Go5BtctbqcGbba3XZNRPPvdTn3zbuPySvJqN8Oq/kC/yC+BEKADjD3rsXd6pNcYYqz4+fsFZDTOsZkXZKDzreI+zTkyPwHN39AicXpJK2GuvWiQRDqucBDG6CpYJAQfVXKYpmI6iTsKGQVlEzmQvuXBToJ5qVTAjEKbU6rjxE3609Larv/2bpd8I65tihLsgyS1UtfDA7Kc9sG/ENqldrjBBHNz5loYZFlydDcpEuHwOvHSHC7DihdKrcfaE2hL8mmoHi4aVMo4bVYNgwrRDUir0+cGZvJ745kNuZuOkloFAQFCjoJbxhz3xgU4fx37CZx+aWJdhxQN9Ju90UgVh7ykgCN8+IQqRLxBApBo43DJt4Nob+UbNc9en58KzDjrtpLIRON7RAqxYs51LA9ysGmMd+d1PR4VbkPB0MZmHZO9TaswhGG/scCU18fQg5zQq9qULz1hgjffVK8GqYlv1vVnIT7pnSk7ZWpbcUb+tW9FEsHRF4LWwHQe58VNABl84OgrT9T2gNu78bsNF7ARzs6VRWPBvX0yPwDtegKF4flVRtRq87eDqX7nB+Xv0r3wEAAvB+VGLBB+scQ+P9xeET2Hw5KAnrY74nmMvXmKNuirVfpUUT22oKt2EOZOiDEAEykTHXlF/bWVuMbmSsa2YBvaT/hm2zIQnqPVnnlp/QE91zjz345QIy6zTxKRG4B0uwIDBvJIUOntFVXOUXNvlSTXPMgge21booRo994SqY5PFO48vqjTF8mcG75VQMbhp5nsfYsve9SsoqoDg+urdlgPOR5JNSFCLD3bUkxfGUhQJVij2hsEF42IuH7YIpPhAw55qwdxcyU/LIlwo++Ttsh0vwABwd0EoSI1c/CZXNQ515X6usgKG0tr5RfEnwTWoUr+b3ag5pTojgr/khuJ28jD+ZyedemOXTWpcFUhWJeSCP/+k6pti/QjcgAAAEj1JREFUvCZw+QkzgWTfI+qHiJ7zEEky/bx3mAjBWel91fIPqozTdhugUnkRapaXRmGACCV7c2604wUYgvs2lQYJxQ2T4wpHROBm/Yv2L8IPAIw7C5XISI07YW7lOM2CG/Z1XKoz8qshxuE8DP58yUHvuXUtW8sksffOe5FYMsvOq9XmgaVipQTFgfUET7E2SdMV751zHuMQj5tR7QqSKdMbFmFNiTCBintVeLvsxyMhwGo2/G+qLozb857x/WSYTfz6WypLtAOA4Pbukv4x/tOz+9eFsYLvvjO1+ZxZcfeQA60ebDb+/LxD3vDl362OTWCtNcaYwNx2wkvV3YeE9vIDAwjMplwcxd4lsVpgFDBpQpVVrwTFtMZ1tFleHIVLUFJcPRICDCh+gKL2VesOmXdYnEq7Yyv+wrutr9BUAKBmzS0l/UOsV10Fn4rPGuP4xo97k1dLSh4/zpqhZ78KiHXrvfeifdoB0/aZPH5MyN2P3Vqnbm8/19wAFXt6e2MNAhZOll9kgLaghrk8ZjCdnntppj+/EPvs9SNTKFj4od+c6QoOU7Vu/0c/920HMgoAXmTPb1wKb6o/qOJbl1hF/mJSmX3iJxYWJcV7vPb7hzmTD8IpJNh0LaRRgqsZxupBxL5vyZLSMa4VxFPsVi6AdaunK3xOBKxJZUEPAlytufcgNo9W8+wNH/a2X8DE89XRiBUK/vKZpkiSWh988/3f/9WafCzlsIs+NFZgamy2KmbxDz/i8p85KcG99rGf/GBevuOZ13xsVnrhCzn+5gbjm8xfVxWAKW8/M9WO0QrGlxcM31qvXVLyTsgYVSXAqwe2bB5X/cnXDKLQvmLOpWG/071dPkICDIhZ8J1/igMtMGxEDv7uvz3y+IotZo/pxxxJKIpgtYvxxXP3yC+iAilZZy+++KmHF6/Nduw986T9oVKcRiq5YNEc+AYXKAwUG+j/QxUolXkwWQZQ0VYi8k6ImYm85MCrXxhX+egK0/PsIAgW8+wNHyoTYSXF3NyICbDgM2+eXjCESJWs187TCvnLjvvHY9NQs/Hjv0Re/kEKq94cckihZTGmxK9YfNgb34iRRVQnuNAoCGP3SW8Pji1b6tMy2sfi4iibi2LnnHTD4o/QCvsIgsefH8xiR8WcyGr6dxlBAQbUZC9UW8hvIyI1SYgtH2bTeuVTvLnl+yYuhPOIFBbeOe+9c0K24MWFkgpm/836xhaRpScUQwXhwPFlbWzaWJ/g8VB1fX25XJTLxT7aBOBmVE7/SfCzQU0FxCy7ocyQJsHVuRExoRN4O/8SpPLbCIAxhtkYAxqgOo7g438Mo2LAlih/bVIAtZjPR4jtT75JDg2uEiSiZit1E45KpS6pYk1U71EIe0Ik6uvLRXGUi1x2HTzP+1925cpEyQcrbxjcVgCKuWUiLPa5ERRgAM7cdAUjlaNKlK+PPrAUKePtT6QYTqSv38VKGoV3/0PyywBROxARVJOazs3hNamhnBRL6t5aMbG7L4rjOPbeuyjXuxYKXB4HZU4rJVXM7qsxq6gBMUtvLImwkuDq7I4RYK3xs+ervsTkG9/qJwUxPa9fFEZ1QvKqpC689215dVdfMIvfVtMi7NtPSSlYBRbWPV0wsas3F/tkcIqyfS8AYp75INgXH02V1Nnv3jrYSuyKOXFBhBVin7uurgATqhFBqHq45pVl4iH8tU+SiWvZNsm+yTVa96br1feHvmZejYK8Bre+weX9EfVoo8Rbm8h/cwQzTppWTPmGwuCJeu+HMGH37dnunKhGvTlx0rUeCs83XkYmn1CiSnAIfvpPg96rpUyESfCtbN2pRF/q59KM22WLz0LIVn+W9JXlSXLC3zlrexBXZUmV4Ijz9qRWZOV6s/1119kaeTWqhNjw188r+psGVNHQvJ5vatEC4V3pvHmlFxfXJ3i/sDfbkxWVqDfnY7z4EhQQnvvu7oCSIgcSq6WvXjQE6y8vwpoI8Ir/rpXXnPRkYd55rAQ8Weg0u2XJYQVYn672LIwn86eUXZlAzP/OvC/gWEnLaVIlOLF9myjfQaUNq8uv9YwPXLw1gOtPsSbfRrDmbV9AMadrIAlORm8iAjXhEyE/7py0CSyYV7MkfIIZKuLjvr6+XJzr7dPnEpNM+BeH3hQFhpnZBHzvyf86lHowYp65EXFiWzjMrTsCK34JK6Sq5O2muwrqgnAzVEkV5OhvT1TTIopfgvOn2FV/7HeKN6tO/8j6gJ1P7YGtUIiDNX8+7EulDv7fxn5GhhDfdOjPyFIspWitKgBxZOV7h/7OpBdQ1AZRahAGNVHuxsr7znOlWC4Jf39ePYI1nNXGTCreiap3bb95IjldzZY7frFaNO7ZsPjmy/9t9eDsqxLmv68zIkDjzPwP1h1LldcHr/VCgDP0qQcKeSiKJ084KAaAOMT5q6s9i/LKaUfHAKmz9NHH+/dUWRf8d8/0sUzqFcivtFPDTPd+4vObF71zUo4AdeHWd1X6/NRu/Z/f7z7dMvmEY1VVATP33XzRjWVem7pzFU5mVkQEENtsrs7J9WEWzSglICjIz1xSJ2eddOaHfVsQGmPIMBPaL1tQOJ1IgHA36u7N/zyk7vhTfpuEKJae8fyAyfPf+UTy7xevLKkL0tF3Ju4n9+7bqrvBSO0ts5IfL5tb7SbGo/Ps804ZV3bw6d/9fD7IxjP+sBcA4KV3PFS1oD8JZlxw1swyAY0eveOXK/sV9a87gtlklkRMCmaDrUOUF+s+8CNXcg+qmAdfXe980kuOyoVtbYFlMkwIuz6U2p067/GmmnGNBmD81Mtfv7uu//WcnoH4JcVbP35opnf+NX9NDwcs+Oil+9vNf/z3pbVaIMWlH56e2TbvqgerDyTEHtjj2GMO229ce4Coe/3Tjz+8yIPYg2X85W+ZwBt+N2djDS8qQ4CDTzxixpTRGfbZ7S889fgjz1bu81mfYC7oaCVi5r6B9oiu9aCjntw3bUN7e9ncOs5f0kmfZKK29sCokmHa/f4r+72hIc0h02ABxstmNLL4hRSdo7b19TuVFNizbX1fnc03SIG9OjZ11blJno9wlEW0XVJHWIDxvKFeB5mSO49qMz5PTeWWHHUtJ2XND8BMRIT23JA8PsZ9aV+Xdh7Z3tvqT25ODHKMyKjxjozh6OH+tlTTvnEh9psA08jW0Wq0uxv9985UGL8OMLV24cyfsgYVV6bhQQzVKAIAYmh+++JGOpgE8lR6eoD8RsyVfalLsLd5D1Ze+MyYzfVOrwHjjp+Nko2h5OxvV9UdgSfM2MrGSuQIxCrh+gXNM9of6kGoQ04aHqgWCG2gBQ+qH2RDvgUCoGWNNdTBwi7W0Fp3qT/3EZuPMyS+LBoldaO4VUE++DF8KotMGdfWv+Rk6jMhkaoGoZBvn981/MUxMTg1UMttNFw3qe7SauzauufVJ9jb/DSJmaHGmvFRX90LqoD0R4fEQcnCIm8evK+O+Us6bd9txvs4CCHKxpD/yw6ofvpKwQASLAERE7FhhpqAeerKeJA3cLMvduUBWHwTdfzHGhzdw5aIM4CSIbQ9v2jYt45+5WAA/2NMxHkJNtawsW37DS7yYt17r1JTimUpefPgHXW9+0ePysW5KHZxLhbxLqa/NLr6qIVKDECXmpBAbNgwG2YbcmZsV+2cksrm/Xk3Q8uyQIne91xtBxRhv+mekiVJgBKr6bolbinoIWMg2cgpmYRcY6wxJjDjjsw0yjCTv/SX8ClHnpLj2+6praBJ9zgo55K93rzEuWxfj/9zT0uAh46BFK6ijQ2bfF6ItSagzslbsgNclcB6fOnbEFNKM1IS23POlpomE+mYmQSIQgEmcSLcdadrCfDQMeCI6toyzGyYiZmJ2Vrt2D+3ZeAoHRk/5mcfE02VXlKQM7P/r2YFAKDzYBYRTW6mCta2+1Y3m0vyisbAJpPrNGwMExMbwzZgNu37dm5w9SkmK/qmu05yzOk0QYqDe/+xjkncuZ8RFSFmIlJR0mDtHwbxNC1UYGCCRUfBWGONDYLABkEQhoYmT/cbUCXJMQ9mkSnXzN3NldXkUfJ225u21Y4TjptqEu8oVBTeiVe9u7slwM2ggUlPFHRQYNlaGwQmCMKM5dCMnrFfX5dWXwlsoDrh8p+eKGI1nQtNCjp/Xk0FTRP3UDBATBBR9V58uOiZlo+jKTSSprFx1CgkGtoYa5mMNUbdvgeue/TJPoAIWsrTJXj1OOTiSyYitmXTI4W64Kt31qrAh3Bce9Yoq1diFS9irQYbdoAX+pWFhvRfcGCIhF1rjTFBaG0YBOHotm1LFy7f3v/sV5026/UhYsOKsl2QKA5+9t5a8sijOpiYgwyLzQQWQjYMA753c0uAm0NjA1zHgYatMWRDa4y1QRgGQRjaoGO02fbiypXrNm1zAKh9jymvOu6YmZ3wznJ5RTwFReF9p9dwKlPYZmEsw4ZMNrCGiE1g2x+tVzSvhUbQoAXTeVDAlhKCjQ0ybYEJM0FgbTBq3BibzcVZz5mxY8eMHwVEnmySJFAmv1H48GujqlFCttYw2AQMEySTbsPGmI7nnhqmp3wFo8FUye7lhwVkyQYMIhME1tggDIIgCDmrYduE9jCwxhDlXEDGFpZBpO2rOHz49GqLcInZECkIKmCoQMUba4kyL7T4bR6Nhg6y2ya3UWgtk7VhGAaBDTNBEARhJrDWWJvULIMJLBeXyqT5dcG9Z/RV8ktsOB9uBhExU5IiSERhV0O7/rRQH426eWnLI93GAxxkOtoCY20mQBJINJzkfJAJMqE1nJR+oZJ+ViWvwU/fULEGl4goSfxOtlWVZG9zBaCOup5oDb/DgEYJVup+aENGwUHYFiaWNDMbNtYUKGZjrWGmwkafxeVdFBv+14uqxICL5ZfyNQvzG7qowlPX4lYMeDjQeHSX/JpwsqHQWmOCIExG4LbABjYIg8CG1ljLSfQ4nzAPAAoSF2w570dUaQ8TUusm8+vbKMkvMltXtOR3WDCo8P36LZN3YxsYGwRBaK21YSawNgyCwAahYZPIr6ZGYCU4a+5+44LqpSkL43TCMCcr1FXBm9c2/WQtABgkwbRtRcfUNlhjrDUENkEY2CC01hhrqEBwPpE6WRnnyXZ/+p+21/BPFkrNKRVEXhUwtLGr+SdrAcBgN5gkt/KlPSYastYYJmODwAZhYA0ba5isYUPJmjUlBQgelm6edQ/VifDnixsWlqirwrgNQ0uwb6EKBru2nTYv7N1zkhWTUMvGWmZmtpaNNSYxsfLDryfDf7rk6m22zh4NVFhlXvwNfV1NbureQgqDjsWRInPiyXtZMZkwtEGmLbSBNTaTYbbWmOJJHha4b85ddfP6SwQnqX1ExvcOMm2zhboYQrCVFPboVx86Fp4y7ZlMEFhrbRAwG2MtAQoVWGDLnT/4G+po50JjXKoTwYgbywZqoVEMKZrOAkw7/oT9OwND1oYJxYmihiobAL1/vf3OdQPSCyQhRgKBmOFa+ZPDjSGmS7AAdMDhxx681+h2JoCtZbZBshu9Xz7v7vtXVa5krNWD/LhN0squG34MOR8mWXw9et+DXrX/3uNHtY9qM1DJ9q5fuWzxEytyAPFA218Ve0BgAI2s82th0Ggm4alYBqhzt86OgCXq3daV1KExaJBdFEzuFrs7CM1mtBH345J5wJ3rWvg7A5cm07bZD6aFYcYwEGI8Jp0yc3K4bcUj8+I6BQ1a+LsEA0f9ZHN+x+6ln+sctG+shZc1GDRHVV0Ux1HsVZ8/cziUQgsvFzDGPKASeREVFfGR6hUthncdEDLzNCcqktRaE3VeZ7e09C4Dxk81V6A3Ydh7fXOL4V0EBmdrLCV+VVU01mfbWlp6V8ECdZrmV1U00k+2RHiXAOM09VLOr4o4fXxn96yFIpqr8n1Wusp34SDrEUc11W4Lw4hmiBAchcptuggex7QG4ZcLmiFY28bX+MsBLYJfLmiCYEJ7e5UNXwHF6KG32sLwoqmx0rkaW84MvTR8C8OMJghWbN9ao8DC2lbhhZcLmpFgxrOV20VCQfU3RWphJNHcNOnuaipazfr5LYJ3BRB2f6nC0yEa6bUtT9auAYOvlMUaVFXUa3xQy8+xa4DQtlTjNMMimtOvtgR4V4HBcT7FsIhKTu/Z2b1qYfhg8GavOa+SVF8QF+uDo1oKeheCwXHLVePYi4iLnepNQYvfXQoGHVduLI7Bj76jSedYCy87GGDCB25/ts9vnv/dMwBuhRleVvh/kIasq3zP6HsAAAAASUVORK5CYII=" height="195" preserveAspectRatio="xMidYMid meet"/></g></g></mask><image x="0" y="0" width="480" xlink:href="data:image/png;base64,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" id="b4c11b67c6" height="195" preserveAspectRatio="xMidYMid meet"/><clipPath id="7b1e851441"><path d="M 31.128906 4 L 69.804688 4 L 69.804688 31 L 31.128906 31 Z M 31.128906 4 " clip-rule="nonzero"/></clipPath><image x="0" y="0" width="720" xlink:href="data:image/png;base64,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" id="5bf80d1d20" height="292" preserveAspectRatio="xMidYMid meet"/><mask id="9a6a9741ec"><g filter="url(#f6d3e73924)"><g filter="url(#cdf5ea6334)" transform="matrix(0.0962838, 0, 0, 0.0949648, 0.250984, 3.502705)"><image x="0" y="0" width="720" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAEkCAAAAAAj11nSAAAAAmJLR0QA/4ePzL8AACAASURBVHic7F13nCRVtf7Ovbd6ZvPCAssGlpyWKDlIBh+oGFEfUSQoYngk3xMxIk8E5OFTQZ4gCKhkFMRAEFFBlCXvLptzYtPszk7suvee8/6o7pnp7uruqp6wM0t/P37s7kz1rdtVX3117rknEIYSiBhbn3jsgbtsk8muXfDa355vhmbZ3LOqo47aoIH33LVWurH69v0AvbmnVUcdNUFh0v0iYq3zzOyddSJy17Z1RtcxFEHA2W3CoWdmFhFmZh+yNH0URJt7cnXUkRIE/EAkZGHusjiYhUORb27uudVRRw24U6zvSeccpZ2Tm6E29+TqqCMVNG6UkKWQziIiLGzla3U7uo4hBY0zxcXxWYTFezm1zug6hhAI228SH8tnERYnK0ehvjCsY8hA4x4Jy/BZhCWU/6lLdB1DBgr7Sc5ZF0toZunYsS7RdQBDwz1AuBSOyjKWQLbx4rpE1zFEQBi9Unw5fRYRYS9z6nyuY4hA44PiyhockdHh5cih8bapo38xNEjwXkhFE5mIcfQQ+S519CuGAgkE+1c/BAegHkdax5AgNGNSVRcGYQp4QGZTx6DGUCA0GscmCKjbuq7QdQwRQmtT7QgiBAMxkzoGO4YEoX1Y7QgRZAdiJnUMdgwJQnduhFS1J9bXtwrrGBqEVlhW1T4WLBkS36WOfsZQIAHhjWqEJuD1gZlMHYMbQ4HQwN+gKlJaROOFupejjqGCxsVVYjmczNjcc6xjUGBIKLTufASeyguwEOP+erRdHUMFhF1CqRQP7WXDtnUnRx1DBhr/WyVj5Zt1ga5j6IAwaqW4sjmFVmZX3Uuso45BBI1ThOOzZFm8yGF1ga5jSEHjSnEldWZEmMV7uRB1ha5jaEHhu8IupnKSFbmqrs91DDkQLo+pbedDkQuHhvOxjjoKoHDCUpHQ5zjNLOxCkblH1PW5jiEJjeE3tYl4a53zzlnLIs3fDur2cx1DFBqY/J3ZPUzoWd8aX6/gX0dPDK3tNVIe+vCjD5wyNpPdsOT1F14RaL+5J1VHHbWDIvuCdPQk6qH1QNbR7xhahCAQkSJhFlIa0UbL5p5UHYMJQ4bQpEjirQtSJPXebnVE6FdCE9AnUfekEHF55LbbTdh267EjhhnjXEfrxqY1q9asawMAaNRJXUc/EjpH5gpRzAmhlAOAnaYesM8eE7dpKP5159oVc95+8+1lAGC4Xmvm3Y7+IbQCIAKS3hI6YvMuxx176K6NAAAWkfycBUQq+kf7/Jf/9sIiAFrqnH5Xox8ITUSACIkQpDeEJsUCOuoDJx2YAeAlGhmUK9yYe1pEBKQBZN945ncv5z5VRx19BNLGaKWVUkQoX6Q8yUAADvn+TBERax1zmRr+0S+ctSIiM647EHVnXh19BjKB0VrriNBUO6GVBra6+AUR8aHj+P5XhVHRzC5kEX7uvFGArocr1dEHMJlMYIzJE7pmhVYa2PUH60Q4dFwaBF2G08zsslZk6XVT6ipdR++hGxoaMkEk0UopRaitCzdpYL/7QhGbnM15mfYu2yGy4fY965Suo3dQDY0NmUwmE0Q2NEUeiBpIZYC97hGRMCZBpTqhvbedrZ2y4Uc71cOW6ugFguHDGhu6JFoppRSpGkwODWz9Yxax6cS5i9DMLuxsa9roV31r5BApO1JHH6KPRIwaA+QcdgQQCEQgIQilszqMx5cePZ4c6cr2Srw/kAASiAh8iznpQxtniK678N5d6Bs7UzeQQACBQCT6g6KwoVR7K9rjPT89HNZQ5SZBACT29yIAM3vv2IcNmae+Ph+qvtPybkKfKHRDI4R66jMhFxmXzoo2Hv/9y8mWTPXVZPkdGwELs7BQ2LrHR+yrdZF+V6EvCD2iQYCIg0V8BlIQmpSf+sdPiQ+q0llIQGXCnnIbLSzC7DfJCfu9sknVGf3uQe8JTaMzQkSSczpH1nP0KwFA8bZBzExYLvndJKt0VWsDJGV93MLM7KPlpM2GYfNOp6xaOHSCZOvoLXpNaDXG5CgbEbmLabnAi6QSbTz94hrlqsszuuyNuNj+Hnxmm+2w0qZPbHgFdZF+t6C3hNZjdZ6/XeylnDmQ4zmSODqMm/L8qQ4J5Dlvb5CUBlsze5+zOLwLs9nQWd/Zut/ur3XWGf0uQS8JbbZSUIjkOGdw5HWTSAQScbsqoY074oWdrFFSnft5e0Okh9Eh0Qm985FAQ1zYmQ1Da0Mbbpx86IzmOqPfHegdofU4BaK8cSE5a6Hrn1GoZ4IQJe0/8VSjDRKZJ132Ri6GNPdTAcDOeu+FBSK2syMMnbVhGLr2MUcvWFNn9LsCvSK03lYL9TQoKGJ1zrtBXTss1cbxn/8FvKlubkQngYBESKJY6AgCgXjnPXO0Ax5mrfPeee+9R1YftGpVndHvBvSG0GpCwATq2l7uZjZFdkZuVVgtr1Dxlf8rnMR8Ro7FzCyMaE8wdwYR751nZs+Adza0LmKzZ8/cGe7btLLu63gXoDeEntgoJIVOiciW7WF4UPWWmZqv+T5DVzafIzODPYhIKR1BkXdeQIBAmD17ZvYi4sLQWu+9Y+89e+9cGE5trjP6XYBe1IWbMMISKQGIuzaio0Vh9zowQdaq9ldex1CV3NUCgjAMKQBta1s2tmVdkBkxetQ2IxoAzjooQq4JCwszO+uc896LdxGsd52nhdN7n7JbxyBH7YTeZmxIQkogICgmCEAKIiI5vxp8gjJdxl3yg8p8FpA4GAVZ/Ob0txauam7P/2bEmAk77b3vfjuNQmcWFJ0Z4mzoPPvIgeets84557zLvq9zXp3RWzpqfguPnOLZ5+zYfPBmZOCKsIgAzidgj3Eff0SkPJ8FJMwBsPbFP70wP9egPjJO8rZMw+6Hn3jUjtTSAWFmz9mOThdtGDqf7cxa5yJOW+bHV9YZvYWjVkIHuyiWKNUPuf8L5wjNLICzSahj3GH/JK/L8VlAwmLQ+uSjzzQDUNTDsYHIXBcGsNVxHzlhu/YWL+zZZkPnvfOOmbPZrPXeOuusdVY6n9xUZ/SWjVoJvctwl3c3CLq1OfczSDZRUVDtJ705zpkKfPbQePvOB1cCisqV3Ih+M+Ejn9q7fSMTs/PWWhuGArGdWe+9sxFC2vBnV+MXrmNooEZCb799CAaJ916QqyzXZXqwhNlkJxdMO8QGZfgsIGaDl/7nMa5a6IuUMPSpZ++fbVMQtmGY7chCwXaGnr2zNgxtaF1WrXw17VetY0ihNrfdiJ2ZiHJ53dF/eW+0CEmHTXhyufODNoj3PwsIzqg3Lv3K22KqF2MUIe3nPTpnyg5hJ1trnQ1Dz96GNgw7w9CGYdY5z9mRaErxPesYcqiN0LtnRFEeQNdfAIBsW8Ia5MZf+G1n4t8SAmIx679y0WxKWt1LoGXRY017jW4NnfNhGDJ7F7qwozPrbJgNnQiL3WpTe90dvQWjJkJP3NYrIkWUD+bv4jVAna0Jl13K7/YHDRXPZyJr1C9P/yt0isJeAs0znxqzS7aTvQ2tZ2+t7ezssM6H2ZBFWNiNWlOv+b8FoxZCD9sdKp9dJZLnc7Q9qFrakg4j+P2OLtbBISBxwfqzr283KevUCXTb3xftM6KdrXM+WhxmQ4E451jYO28pUzc6tmDUQujdRwtRLqFbuvUZAGhjYj4b/ua58QtCATHMUye+ppE+wVVILfnbDju0Ofbe2dDZMLQCcqEVYeesDxvCjtSj1jFUUAOhx+3ilQIARSQiXaY0AaopMZ+V3+chUnEGtIC8pv++oN3UZhuIbv+b2jNr2YWhsz4MrRCcdczsnXPeDWuuJ4JvsaiB0FMbcsU2ov+p7qAitb418SiCR3d0Op7PzuCsH5Gq1dYVwsw1e9iOaM/bWivM1nuIROksSrfUOHIdgx7pCT1+B0d5fx1AKl9zHKKbNiUexfDFX4w1OATkTNtJf0hrPRdCLVu4m+/03jlrrWN23kdbPiws3NgZ9mLsOgYzUhOa9glEUT5TMOfrEACiNyZfbRGPfmxkXOi/gJzZ8N5Xgt7t6Ilav2AnCsVZZ53z3uXqGkQSLZnmXo1ex+BFSkITJu/EOlf6mRSRANHykEzbquTjGP7uv9mYLe+Iz0e+HSTcmikLUS2Ld0Wntc46xy4KuvPOWuc8O8XJtjLrGHJIvclw7GgHYRZmAOKdB0RYhMJ5yW1ekp3nxO4QCnndfsT0XvMZgOLt3ucdOIod9c5DxFkbWR2ytr4u3DKRTqEJE/aKBBr5FphR8QJFaklnirPKDYfZmBWhEGucNK0v+AyhtrUTrfPOeeectc6xt9Z6z549SV+coo7Bh7Q29AEjPQCiqFiu5OvXiXlnffJBFO95h4rZIhQAdM6TfcJnANTSMSn01lrnvO+yoaM0AJOth5FukUiZsTJmO5tLIxQWz6SI2QtEt69MMQrhKmODEkYJyAbf+5XpK/EUWjxqp05nnReWXNZhVCJVhBrquytbJFIRmmTHwOeCN4QZAgXlRYRpWZph/OSzEBcETTZ45hr0XcSyYHrjyNBZhggkXyIMAogEdUJvkUhV4l7MjhQYY4zWSmmtSIGItFaZ9Wm2KjQ+N9zGLQg5aDq3j4vuT+8UlihX1rPnKLFGhD2CPj1PHYMEaehDmLg1ZYIgMFqRUlopIkBpY/zyNOd0Iy5AXFCSCC5ebfrU/UCd84mRS/72PXpcsK83YNkikc6G3tE4ymmckCjFURXdYHmYqkz/hyc6U2pBkw3uf0z3bYqUYO3oMY69y0tzTqBFmOql/bdEFBE6n3gSG1MvDZNZQYgUewBCSgsEojpXVCuO1BOMz8R0lBBwsPGyGsLrqmHprshtfBe0FxLoOqG3QPQkNCmWrs0RjeJ9EpKJYzoUg1RUQIaUihZbwUKbQqAV73NSnLeQvPrWGtP3Oax29TjL3dZGVEoMUu+QtWWim9CkvMfEqbtuP9xvWDp7Tiegiyk9xShAlCJRAoFSJALRNpVAK/4YlfrshLyZ8aM+9HB0Y+Mw5SW3IJRcu3sBpN5OaEtEF6GN8xM+8YkDR+b+ueTP9z/riXreclETWUOJUrkUbAcPgQQrOtMUu3D4SFyhJBFcW/oI9QWkeasuInP0Z65PVz+crI7NjHxmK/H4a84flStGJ6QJeO36R9DDBCDZ9pM+ylCBtZ6UeOshgP7LuhQnVPye1yQmhsTraYf18ruUxXbac65NRa7yXq6CSH+dsI7NhsiQVMIXz/nSKOuFtNY60GDnD3r46Z1cTxt7YgPpyAutjTHGaGNMYBqb0/AZCqfBlRQaFRH8T7+1Mm6NiJzzcHQ77/rpdHVsRigA0Gwe/NkYK4HqSnglo7w7ZeaHXA+S7WCMUlE5WxO1qDdBJjNsVaqQPY9T4lr4iJn7cMkytK/QYZGrWob8/3L/rGNLgwKg/MgXP2k5QHeJZiKBNnb445/r2oAQNVEZrRSRUiYIAq21MUFmGC1PsyQkmXhIqX9ByOMu34vSvpUhHV1OO3RXeKrb0FsiDEAcPHdoGBQ1FCQIAq9uD+/O29FjtxHDnMuKVSKsobRqWLUhzfmUP2qk06VLwqDj/n4TaKAzkLzVASAn1FS+G+1QQHHhysEORWW2N/r4NADw0KFhpnTRTxDNuOuYyOogbDuccmEcUT4hKW20zqxMmSRwTFxWgccfl/ZjC2MOOWq+0l0itVwn2qEB0mDvWdRQcaZrsPeeUaplfQwD4y77iM3EpY+QiHbm11NbIiUbH2hELUxyrQIVQStKFcYBjyNKm8sKgIdr/gpJEAaSF+ZccZwh3V1Wez9i6iS1dvba/vF09jUUe3PQXmNb573W1t8TNuR2vB46PheLICacfMOlUUGB8aRIeURvOmEoEFSQXZfOhB6/Z1zmlWl6th92vbvhIyWLmgtU7WI02KH8rl/50AQAG/9y84sY/IaT9pkrLtoVAFY98L11/ctopfDtRluhgn4gn9/XK0CwtRCRNkGQaQiMNsZkMg1B48bkpTgAEPYcw6XdgRj/WNe/Xdekx7bKoCdAFRBfOutzE9g5HvvRF340+DeItN9/+vW7snOOJ1w++9T+jXNUfvezY4PtIxDI4QoQADOGCaRMEGQygYl8dg1BQ1Oqd7fC/vFK/FQ/mwDcoyJ7v56o/6Hku7cGlklrEue/9LvB/r7R/uCX9wiZtNbE4bg/fqxfGa1wThATbN8FEo2PbesJGD4SWpEyJghMYEwQRMxel4qJgqlx1o3GC/18W/Lu5/z/hy40X/h1x0G0MDcq+8GfDu4wK/JjnmiwmaiQC2UcHtrT9+OEFT5WuaUalBtzGhRh9MggMMaYQBOpIJNpaAiM1rQ+FRMZe5XafCK0bE6/mtDIdYCJ6qgPaZAffwsoaopOJJTxl5zAg5nRCtdODHM1KwhirL6lX083dZ/KDzgJcAoAjBxpMkabIDCKlMlkGhoyRgecvPoXAEgwOYZRjLc6+vueRI2NqrcBHexQuGSU7cr3ISHBlZt3RpVBfrtPo6vrNUEMn3ZQPz6B6kByVUSL8B54wsiGIJJorUhrEwSB0WSy7amcHBg3vtTkIMH0fhdO6eqs3M8n6md4fKjnK5VE49jtefC+dhROGuO6naQE8vhgPxpJas+qq2TCxO1AGGG0NkFgjNZaaZWrb25TJU8TthkdV14GM9KMUhtkC5BngDB+l6IryKP2GsR2FOE9BXYeCeHAfrQvzcTSfY7iGWH01msIw7SBYlI5WkQbFSqbsojG9ohRE40FQ104Bw6jhxe0VycRbD2ICS3Ypmh2hG378W6bEdWPEd0IoFFrUpEPmSTXQRY6HZ8J24BLnTaUXVUndFJ4X5KRObh7LxanrfaqwXz1syUikgDIGE1KQALSUbNNEc6kkwbC1jEWjtC6NAFONNjt4L7biyQqNZOaWob1vIQChXcG+QUZyBeISVApmcJ2AMZoFa2sFAtYmEVUkG6qgrExFo5gU2vSW6KR6yBORFG/+lQT6H+QYgFQe/+BLijyIsUjCW18ezvpeQ1FrZk92Ak9gDBVo5lFqHkdBNBKQyBCuX6xLCxB2vpD8RZOCycLSNDeA2MDzoY2z2RSAxGUmBjae2y9tazf6HsbhaM9ginbZFes9QXZvMo/ejx3ByYKOfXUpiERoTQwMLOgqvg5BEs3IMr2BgAo5Lt8MweNKc83Ivb905oswkZ7nHLGwVMafFtHR9vG1SuXL168YpNHpT7gAwztR130samjpXn6Q3dne0MzEr/3F/9tSoDmN++7i3uMxLjrq5O8zjkOhNjg5rpAd8O8nm2oJtGYBi2wSilB1IWii9BmWMrzbRX700RsJPgTbzqocBRZvXj6q6/OagOQtOFsf0L5j/x0ewDY5oQT/vNzz9TOaBJ855sAhMYce+zl577WPZLo9i/8lryOIrqJXebaN+sC3Q21+NXKdBIQngKAUCmltNJR6lUQZDJBkDGjU7rIM6XrpaSbHSLf/fNB3nkWZvbeOes8bX/ExbdPm/P4F/eFZ5jNvAWs+KrfbG89i7C3Oz99Ue1ROIKHvgnLAhFvp776vh4jef34FUrnKqpalbn3W/2Y6jP0oPAgKhuwolc9CwbaldImyASB0aSUNibIZDJqeEqJjutjKEjSw4fwk697p4wiUkpFyelK2Dsnkz704+nTbzgCjtXmLMGo+cyb2AeKiEgFDnf8W62M1rjlEyEHUe/HwOLJnvE8Xt1y5sZAkwipAN/69CB2Qm8GKNy/IeDyEinkcU+rFqCVSEXCrFUu4TuTUaNHpbmehFkxpxLMr74XquWyL1hluhN5iUBEpLQGO4d9//OlGdfuyR5mc91f8tveBomsW4IYhzuG1aad2r/3Mh8oiXqpS2CD23teNtYP7HHdHK8Ult+577VDIMB/IKH02tvhy3JAwEHrj8AAWjmI6nFopUjlihioUfFGcRkwXoUqorSA8HJVo0P5PW6GJilODoi62Got3vI+35jxxzOUk81EaYUvjw11boZEYuwOX6ptD0FwLbpccwQx/vgTpMcj7/Xab0ydeuLJ++9x8UxdXxEWQDG+tzLwZZ5yATlct8oIBJt8g4neplHTIIEyRjVsn0ahGS8u0lJwCwRi1j5XdVlI+Loqm1hDRFABeWtOffjtL4920p9bUWXh6eMFZa9F47JRroaHS/NJJ/jukQjE+GTBZfakee5f/jy9Q/fe3b2FQYluvTRKey2FgGzmXzfAAYINttHoiM6KIAIiY3SwU6rTGfszFN1jcrinuVrGN/kJH62QWBO1aVaBOLfn/869ZpTrtyJM5aGw++49LSeCshMurWUijK8VeFJJFA4uXPmJBymt4De/Z2eQQcHrx2/UNo7RAnJBy6dyd6mtuVErpZTWURUwrbQ2hnZJ9cpz+J+FGUdd+3si5DJr/7uqQCscM7JaxAIRYLS346+be1XgN0OC/wTDKOBhbRKt5aQTfWGHA8L4huLDhOtsjoECPP7rVxknVLyLLCBr5NQlUZMI4rWZyLuRyWQaGhsaGjKB1gF2z6Sy4XR4NozLF8WIGtWftzFBSY6DkCAkgAAVsN3+prc/wTzgdkdJqQ9lt69BohlXx9SDr1vKyaAAEM75RQBXGAgjQgiDjuP+kSucRFgeRFXtgkxDQ0NDpiETaGVkyg7pStvpf34UJpR8ympocP6fkmwM7JRsfCKhgO1uDz2zz4DbHWukcIVGonHZ6LQSreXEk4oEGoK1YemR1QeubKL1PfpxNZ50aAVACJ+5moxldKm0CMFSZuaBf88XAiMsyrl/tYlSZAOtlcbY/dOlH3j922OWZZR33nvnVWbdafck2uhKfBIiocC7k9/6JvqvWl4MGPMX9YVES5EFDQgxXikaRmtAUMntrnJHFK1YlNYKuWI7ub/3GqR0lPEhAEibPiyPRNoUDl1twgoAhOj7R7waaHGcL2XoHQV84wFzuwpEC+ZnA2NMZEYrHeVikaKjUvqNvH5hr+tWmcAYE5h1P9gjkT4DKRrVEkQbp77z5nscDaAlrcPfoNBdRKJx+Zh0Eq35pFKBVnio4Cor8h4jRin25R4XUuwxYpRhL91HKE3C3jOC4aNHj9DR34spnxZaQ9h7FgwbOXpkAPHOC3QfkJq0hnjnWWjYyFHDTfSPKhPO/844nHvFgch1T9EAOh68YXaPiDGSrX6zlVcgUC79SrxncMPaD8Xt/lWC9hhx4uF7j2yfPe3PzcmC0rS/5Kcupjl4OQhIXICrbkY/dG0pA5IdZzcWZpUL2eDr/51qCoqfPckV+HOEvP7H0T2P0R6n/PshW1Hb7Cfu74htrKE9Dj/rqPHUufQvv14Ybb2QdgC22W/fvXccPyYIxHc2r1w4883ZrYCiWp1/0Scn7rXPHpMnjB5mlA9b1y6bP3PmAsl36dH+3nMLqozD638emWAzKPr4Dnvvs8fk8aMbDDjbtm754llvz8t2xehW+Txw3I/fbIn0eeUfvrhDSSPw++a8/tb06dNnvj1r1qxZs2fPnvnWG2+8/trC41OnPFL3wAkfZIUDelYqTwBmsSJ/HNuv6RGF0PixhAXNtoS9rB6TxrTUOFFc4RdldvLBnvdCY+c/53+59ONxo2ts/VD+CHsdQCADYP+rn28qvk4rHr14CtL3fI9OQ8DwU26etql40PDtOz+5HQBD0LhXbMEvnbxU/YpoAGNOv/XNtpIbu+ihS3aJhk4yBiYdefqnzjh5n5EAiswVjauXvDF9+owZb8+eE2H2rJkzpr+x4oZaroY2SqkUxhbhRbGSktEcyrJDB25pSNipQ4rIKKF8Lc0zpfBM0fdkcfJiTwZoHL5JrHXeexuKfKNUTzR2Wy4+dN57F4o8Ahhgmy++LCLibfRR772zoWURaX/sg6iB0hrA4bctExFxNrQuGtU5a52IyIYHT9eAqYnQGsCJv1hTOnRoRUSyz14wJhGlVYG5VfxLnLrkrRkzZr49e+78efPmzp07d968uXNmvb3w1a0GIDxG48MSSiqNFhYJRc7vpxV9DEy8RI9Nfn0SCLTC7m2SFWFmZnFOPlvMRcLYJZJlYRZm8Z3yA2DyjetF2DoffSx3fZjZWysi08+PCjgnh1LAGX8TERc67jkoCzM7a0VkzuWjQOkJrQFz4Wsi4mzB0D0n/M71k5PlJkZRGnE2BGH7N+a8PWv2nLnzFy6YP3/+ggULFy1aMG/e3KYzB0IEFR6VzrSMZrEi3x6wloRlJPrrySU6gUAD/5Bs/iwsXrI7F/FD4Z7uS8XCLKdd1SESOi69fswsbJ3IW6enSl41wIdfFfHWxwwqzMLeOpGVVzSmJrQBzp8r4soNzcLWirTeMBa9W/MTfr1izrz5CxYuXLRw4YJFi5csXbZ0yaJFC9c80ZtRk599xBzpjPuKlRntndw9YIyOt6LXJJZojRPFVxZojY/3fFWxhPLTQkFR2FcKZU1EJPTlLh2zsLMij26fWJgUYY8/iti4R6TnqKHIwuPvTkVoDRz+zzJPX9fQLD4UWX1R7xLINb60Yf7iJUuWLFm8eNGiJctXrFy5csXyZUsXrz1mIAijsc1b4kOfewklJDYLh/LEQDGasFPxW4QllG8kve7xAv2Pnvdf4fGCQ9jLisJETY3vFDxVLCyuLJ3zDHFONp6R8DoZ4CuhWCeV70KOd81FS5+KhDbAjSLWVXEBRAskeXbH3hgHCgesXLJ02bJlS5cuXbp0+cp33lm9+p13Vq5YvOG+AeGLRnCbiLCz1oahtS7fZaIiWDgrz6gBYrTGrTESvTahRGucECfQpxfctRHLxXPPA1gOLfh2Ck+LLThCql6oHEF+kGhtaLDd0yI2gagwiys5dSVCG+z5mrCVBPeVxYfS9u+906pn1i5Ztnz58uUrVq56Z/WaNWvWrFm75p2Vy9YfMSB8UcB7fr6855eyuVVDxW8ukpW/DJBGE3buhUQrPF1NoAk7txeegJ18uIiGb4pLtdbIEcQ5+X1QndEaR6+uYMEUj1ryMJUnNCl8t9R1hQAAIABJREFUtDO3nE0wtkgocnPRM5jGBtH+6SPaokSRvA+ECJ644cpPDETsDJN6/cIRe+60NekR47bZYeKkcQaAg6K41rR5kCATHv+H9yeslNA7iF7080tdUBj8qfHln2xIspXgTziFS6I4cD16BD2TBKbkyxbVktClR1QHiWgJ3/+P49qr7HRpf/YvYYNkjQMo/1/CKXzlRrhMwoZ7JAhYrtjzo7bWJGGF/VatWLFy1TvvrF3f1LR+3fp165s2bGhau+ad9g8MkLe3IHhh3MHn3jqtXURs5dcfs4Ty8MDU7ykj0d9MohwJBBoKexSbNE7OKLz6eqa4BAoXJ3lZeX1E5VupcIWITeluKkA5hSbgf8S7NEOzcFZeGV0z+QhPbFq5evXqNeuaNjStX79+/fqmDRs3bGha2/bywAW25fLO867FKWf9eq1UWsRL7uX044ExOspY0QnqKSayoPuT0MIsWXmlodKFUvia+GTmRjmUITQBt4lNOTSLZGXm2FoZrXFOdtXatWvXrd+wcUNTU1NT04YNG5s3bWpel3wh34cgpTUAbPXJJ2xlSrOwlSsHZIplJPpb1U8eL9BFN79fCR0x+pkK7zKNK8X7VDu2JShL6B+JTbDKj5nxWyNqFCvC2HnN65uamjZs3Lhx44YNGzZubN7U0tra0ty8af/NkPUERCFZwO7fXysSVnBdCnv50IAwWuO2GIleV1WiNY6PE+gPFTuZ+5PQET9uL3srDS7oNZ/LEFrj2zXwOTfjF2u1JzWul6ZNmzY157Cppa29rbW1pWWDe2nztbIkrYCtvrq6kiuJxUnbrgPx0BF2ydYi0QpPVRfo/ia0MLOVC8vM1eBkkd7yOZ7QBufHePiSzViy8mCN5CPs1tze1tbWumnTppaWlpbW9s7OjrbW1tbWDfKDzSTRAABlgNHXdVbYQGCx8laKANTaUZtElxHoYo9cfxM62kzfI/YVrrBDs7je8jmW0BqH1fyocMrwgqIT3ystHe1tra2tbW1tbe2doc12tLe3t7e3yJnF7qMBBRlg50dEwjJOeWYJ5WebUaK/XfmSlxPoksN6R2hmYe9sGIbW+lgXPouVv5Z5+P5Z/KR2D8rO2jAME2x3xRCaMHJpfDBlbr5dE449RtjLybXdWoWDw/b2jo6O9vb29o6Ozqx1Ybazs7Mz22HbD9gMC8MeIAN8bFXZhTIzOzljIKYYL9Hrx1WS6IQC3UtC5yOR8v+0PmaLmSWUi2Kuk8H3YgMemcX3GFS4UoiHxBJa4ddxjwozc8HQZaJHWJysyIWdp30Fa//Ls9tMroo+ESnk68b4hhUHr968dTAV+bF3nIGuYrOFEGK1ceqq2AyPPgXJLrMypakr3/1mhdQVxU+9rzRR5V9HlB63x4yCfRsI6088UnDd9VtTY4vqCUi8ATbOmbe6LbPVLntOAZxSxRdLiNWqvTYV7wRpf8RLghLGCIjZAB0LFixv9o3jdtp1R0C8prIdIUszVrT/xEOutN+8gLwYoHnBgpWbfOPWO+6+S5mhhWxwz/k1kU9h/7CjMxuGYTYbvWB8Hp3yxvDNaUcDgAG+IOUCp1lC+e3AxFH9NEaimypItMZxcQL9kZLr2QuFjgIrOh/4yHa544Yddt3CON9QuZ2gV0qtglwMSNN9Z0zJH9V4wGV/E5Hy8RglCk0YuaLUNmcWb0VW3Pb+8fkDM/t+6a8iXLqtw8yuVqND42fSmg3DMIwyCdi7HHynvGg2N6OVwpGryzCaWax8agCMjjJW9LXlT63wpxgL+p9xB9ZK6Cj04badAVDXzlTm4uWlC2mOC3k1+FypVcAsTmTpldsAgNLG5ELp33OXlN8jKSG0wfdjh7YiMz8zIj90bivtoHvinFksTl6r4U4BIExcbzuzobUuSn/wLipJ4JzvkL83bF47GkCACW+VY7R4WZUqxa9GlJHo4gZnPY5PKNC1E5qFrcw8FD3zsZUBRtwhUrzdzBLKfxSOSRi+rHiK0TPC3xlWMCiUIWDfP5UOW4bQhB07S0x5Fg5l0xcQM/RBLwiXPCwsoXymNjU1+C9pi+SZWYS989457513vlNeGbtZfR3RBDPPl2V0KD/cfBL93XKnTizQNROaha08rEtqwhvgfCl537OTt4qPu7JERVk4lOn7x2T3KQNc4suEfBQTWuMncUM7eW5STPCcMsA1Mc8gO5ldq3Wg35JOm4tHlpxCR//5Tlm4+2bXaA38IZ7RzCyy7wCY0fGOjg3bxkt0GYEucXGgZkIzi5WfxQVXksFpJS5gZi9FWRuZhSVTFLbyiEZsJzSlcNDqeEYXEZowsaVUb9nLLWViQTXh/WGJOc9i5axarejjJLSuW6FzlrRnZs7KptN6merVe2jgT2UYLVZ+PwCELiPR/x1/i+J90P+KP7Q2QkfxhrFfPMAnxRe/8kO5pbBywlnFFGIWK3eUzwgIMHlJrG+5iNAGXyt59oWdXFM+hD3Akdnitwqzkxdq3gC/VTq98zlCe+eZvfeR29uKfL1/e4UmgAK9WE6jnZwwACvXeCt6Y6xEaxyb0IKuldAsTmYH5QhicH0JW528XRi1WpgFk9uourdS3kSAKWvjNhaLTQ71dlE+ArNYua5SFnqAE2LeKiwH1aZVhOHzJfSeo/Y4vst1xznX0DOTsBmq2faExqh5sfLAYuW5AVgWEnZNLNHxFnSsQNdKaGY5qqzKEPBG0SeKTDPCbsXWA4uVFyrnAQU4UmI2bgoJrWJ2lCSUByoXnwjwGXGlb5WaSsQA0DhGXG7jlHtCOHJMNl+YqA5IP8Jgl5bYuANmJ/82IBJ9e5xEb1f6MMUKtI0X6NoIzWLlrgpvTY2TS2Zg5cLuUTW+XPLIedk0ucp1DHBVjKoUElrjh0VZ4SxOFlYMygZg8POSy+tkRq2cM/i2ZKMrXzQXERaxIs/ELX4HEgYfKLUMczf32QGwolW8RH8vZt2eQqBrJDSL26ty2P5fij9ie0aRKvyx2OIQKxdWdWgRXixVlWKTY0aJxeHllGpGK2HUcvFF35LlwCoTqoCncjZqkUJL1xbPTyaUVBMbUBhcGxtKw+zl8AFxdMRK9PhiiU4l0DUS2soTFcVU49+LCevk710zJYxbV5BqHkPLMuMeVeK8LvykwtSiXRIWKw9Xf4UanF9i+Fv5j2ofKweFscuj8UoJLRyJdMv1EwHqw1rBqRFbDo/Fyq8GwOZQ2LV4WcoSyvXF2qPwxxiBfrnsqLURurJHi7DVmkLGspdFXS0oVYlbkdlJkjxSjceLDIoiQmucV7LaZDkgkeCUSLuVhxJ8LB4Gh1YIYM1t8bf99EAAajPptMJuWfGxb5DOHQdku/D/YiS6uUiiNY6Jc3F8tAxbarSh26t8YYUnSyzZ1on5zxhcWSrgbyS7BicV1+orJvRPioYWK79LwmeDS8UWF3SYXTPXnJl2ZrnmWQCRIGA7/JLXn79gAntGrsL7gILN/GvgqSeiMDWyDQNRjk9wkw1KSvqPvqzw1IKrwYWVC4j1tN/0Zb9jxoIllcvSK7xc0sZlRFc4h2Df4lA4wS+T+GY9npulK4U3MqaWBPvhF0nkxuORZlM4ZYUpE6t/sBwM/qtiEhizsGWRlscv2TP6BOkcBo7br4mLMYl6sRxOgzISXdDZMVagbVmBrk2hrTxeRfM0zix1BneVDyL8o/C3VVeZXTC4ScJCYhRa3w2LS2ydtcnK2Sr8pvit4uXY2q0Bp274sXHlNDpSaQPvRn7opzOn3/XZ907Qkg80Fep/fQQAja+ghzJ1/U35fU4YgGVhEomOFWjTtwINwdoqFBGsKI1G7uokJ43ji9zCjBmzq/bii0b5M1T5lwNh261Lhn55Q4VP9Pzssyh67zB26MWWnuDLIy6whsrWuSEACuJh9t33M2hZuWLFunUtw4a1LX1tvkf/x9kDXv/5sY+FJV+RIDjjuf7XaNbz7/5saRmlS3/4TpcKaH/MaSXFkgTXJ2vUkRACtFXVvI7SH+UfeZIx4wp/Q4LXkk2R8VbryAqElnGjpOgn+GeyBY5gWpEqkWBSbwhNcuGwMysxOuKOhrBAjdpzz/xP3Uu3PsgDkdwiuO5jXT0Qu2cpCu9v7ByI09/0mVKJHnX5f+nuVkxXgwssQSFvXulbgQbVNlz3BRs5spBjAsxMyrp3lu3NFV7IY8EFrBSFt5NNT7B4w1YFbzchbNObF68QzrovqGB1AAAREbTWJJxLBLDOHPPA8zvGZgn1MVi/fr92gHS91qKEMfI7HhtnpZIyWinVV43JWM//BVxJY6zPT8g3xlL83jIC3Ren7x6ydz4dwujizqiEKqvMLih+p+LQY0s+gGXJhhasK22NNrZXlqQonHd7wFzShLYIBCIiZYwxRutAi7PHvXnIQDBa8L9QIsgbW5Gjg4hxWunBWgs7H+UsSJ840AU3uTiJ7iZsnAX9ymN9K9C9R0lfZqApcTe/9RWPLBmaeEPSoYuPJKCxd2FxTPL59dfA64QFI5F7jxmEY/5y4IL+t6OZ/vXMKZ1dX1IAEgJE4YRi0mj2GHPQgbttN8w2LZn+6lLfBx3hWM+7++JSK/qSW1aRAFD83vf3uwXdF4hZhmQTf7jykaaEvRzTNLcMSo8MehnnKYSvL/mZtkFyRkeGdcaOvP+wAVgXKn/nKbm/Sr7qrhAU9ttrds/niZTHSeedms8fRee/fv3r1t4Tq5wV/Z85KzrWgh50Ah03n+R5SZWP9CXmkEo+dOk73vXWeSWi7/i31sAiVfVlggT20M8NwO6Gx+8XNzIA6nYOkRA5dUyBO1j8yS8+e952OTvf+sbj/m/OFb3vrcx63t1xVvRER5UEupdn7XOUKKEgeWuvyl7l0qHV6MRDjykdrvfeWG+e3veNwFc1pAtAEIUvJVciirY0a9iT0W2Pg5Hr+Bz9SEhE8N4eBxk/7N5njvKOSRuttTFKvJ1485sHud5yK96KHnlFRNo4C/rVQSfQgpbi969gckLWMSZUHLq59AMTkw1NGLt1ifOluQ+2F5xZcvDdRllKI9IExfscmXB3g7R4NsOHw/fsXJ0Mgt+ApIDPAIRwcHc/YOP2mn6ud8pQtH4FASpgu/+rF/peXiDW80odHQaXTHSk+OghItBoLep+TcDeyVZuhO0qU39jMQcEeySbFGFSUXQ5Cdb3xX6Z03zBWa2BTSfS8DgqGaG1+EmX/Xbm/Plv/vKcET7lFh/jpbkNPY31yPZQsstOXbE37rBXdg2VgXSZJUQkFDjc+TXu5RUS3Fgi0WRHXAFdRqAfHWwCDUFzkU9DCAcl2igEYe+xXJ7Qgqb2wt8ScGiyaREOpMJluxBWJvts1bE1pjxTsUBzKdjKbYnESGPkj9rzn1p1Wdomvhp3SHsYRn2z8sF33oVyWm4gjb3b4hIQmcU7+XJvBVPjjpKIDpbWScDRcVEcZ1Q+Xy2xHBzKLVUiiRQOLQp4Zi8ndmvHKyWxHG07JDIMDL4tYaVI6qKmXsJeFsV4CWOgcWdxDKCXk/smokG8WXrKxZsC8ZRGpUcneW0Zf/CsLw2zjpm9c9vf8vxWaR3Yz6DrG+f+BCDYL1fdzw///XAblG4+EESR/O8pvfSXl5XoeIF+ZNAJNKAxr7BHEMENf1+iV6XDBysf17a0yJdMvFOypmp+2CnFxym7qK9CdJyiO/e6X2nnKbHHHR0JHnLtjvrX5FACTUopbTg8btq4VIYtY1qzFgAiLMIi+cZMOSuQ8LOdwxg+A0SiGPeN9b3aYol1dBh8YfQhHxgiFjQIM4uCS4lwTpL7rHD4wVLpbmnMKhqHGOckEX+NU6f44su3YkWfxZyxmFVnHfuy0Y5JEqm0YGn1iSs/+U/aZiLzlkgok931d8nMt67TLJ6X6fFmyu9+Y3cwAM2nne1j+QyARNvx3+9lYF6co4NcwzVXDg0LGoDg1aJrIEqOPzzB8oJwKXzF/G1MKz6ZwqcmJNAQwed7LHoAAIyZnX0YROlI//3w82YZ7RjVDQ+BwrQkD/nto3roJ0EawiOvTiVjWmZQlDUBSH4PXAgThwsAj+9AyrfTEIPPTe2dq4P1vHtifNFXfQqmRKC/PxgFGow3W3XBvSLyuDqJHE09F8VxIAUQTEPh0EWxAeWg+bhTuGhoQUmB+F5CA3TRXBFXvW9uaY/qOCicWFR/gasUpo2b1JWyobWtrb2jM5vNtVT23knrJBA0TivJESqYpoTyf71kmcIepVUtSlqssjh5JclYm2FRSPh7Sfy/k1Or5qxoPFGa1lmUXptZWHxmlnD3qm9Fwj+KEsqZvRzdx2HuHlru3PvMl7QhF+1mlDtSyOEXbVWJQri4SD8Jym71qXTznu3Ec/dcRAQCPyLyYn66Yk9UEo2P9tqKnlsq0SSgISLQgMLTRfYRCLi1wVW+LoE/53SvKwdF6PD5kqFdcFu1d3cglx/pipcgakmxadR7eGj/wFEn/bLV6EqcFvKZ1TdUtYXJjzoeqnDaJIQPJF94AoJl7RQ9wj2z1B22A5Efd0rxCYrn4LYtWU2nRIyjg0CFds6gdXEAgOB3MFJkNNldfl75RWnsrv9XuQASAOC3RQYqiXEnXy0VIzqMPfjmYluGGE919kNCtofGc+fucflLbDR5z109K7ohQl7hgk0VrSsAIOy8fSnbFPZqSLEsFKxu1j2Y7L1nz+wxDlA4ZOvK8ksATkx+sljESHTsPAerQIPxxjQquuQSuLOvqRS6b9yI3w93ldUC8Pjz8hIeaPneR2wFRhu33RPkixRBCA+iokulVnhoveqHR+371X90GKPJu8hGynl+RIRgNV3yh+qxbIQdwDEO4vFlS4fHQNDSpKIyZSzC7Jk9M3uMAaIdr8pjEQ5M5VaJncKNvtjRUXQEefPaYBVoQOM+cKHRBGi+7jJfttKscY1/2dOaqlGYuu1h+FJ77LFTbFkLPXBj/zKx2OAA65nPobcbu2XgPWmadcPRe51332xrjFEk3lvPUYVSbyno+OT/JYrNHFb6I0pdkam9WZyz3nM0ARERAWEMINi96kuRMKlCVlwisJ57T9FdK8YgtqABMH61Pih8qkkIcst3hGN5R8Zt/69DS3KEYyC4g4vtMVGenv6Ei78eZOyOL0+1RSUMhBh3QPdb7rN4UZqW3nfePlP//ZZnF3cqYwKjdZTgFPj793o4WaxxHNkEoU0zF0KzWGtzBQ2iNwUBGA4ItivOHC75NGHsqN7WpRHc6E2F8wixee3hQSvQENN0V/ETSaLEf/OR0U6V8I6MuFOm7x+3/1oCVrMeK3nYRXs8dB18ccOBaOgPvLV78dACDtb8AtyfhZwZIAU/f/6DaJi4w05TJm679dhhGU3tC//+m7lJY+czsXRri8lRroR271REYyKFyMGQS9MflmDZ0tDrLhus59xzQWHqSiEigR60hIbHLZ8fyYV+GRIl7uNH/cfDgOFu+SYF78Ze9wW4JHwGgOvPKF7fiWjGNSd/4VUo4u7fkYJ347732ZihyakfNRvXK0JXDxcVD5ACZxct+lv0k0BTB6J8pyRnwJhYQmdtGjcHkPWeAYIigJWQgMDRC82jerKN731qjeDGT5d//wr5QS3QgJhVt3yjeB1AQsZNeOivN/zRAYpIABIWj20uumJbFpOMz6xf+9XZNih6VkSJPfyVe26aCZAiiX7GHuMu+so4RvHQQhws/yF85YLVfQPxXkBKG60IsJ0dUIZ8Mj4KtokRUEFH8ow2AATHPuo4ENX7ZWafl5QNCSbRmvKFEAPWcypa0YPaggYAj+uXBcVfgEQM++P+8ObVBwQcNUPzMu4DP597/baW4tufxkBwTWfAxTFKgsDJp2f8/pxJ4p333jvPo0/+2Zzvj3NU0iwU8Ph6m5EB6x1R4GjkFII3HnH7Hm2VF1jFJ4d2noSUimyO6KMMDxCWVtN6EaxNnuJcYRI3frqcFS3kzeuDWqAB0R2XPyKC4k0BUeJo//2/N3/6nBWbXOM2O0/dZxxgdYosUzZLvnGTL/4AiRhx5v3vb53xxrxVLTxs2132P2B7wClTMrSQC567hxxqJzRVW0v1CQQ7lq4LRdCULoUR2noCs2ciUioSfY7SkWeAKm4VAoK50vv8dNZz7v2ML+PFGuwWNAB49egD/17itiAIjHjRu+3WfaSoVEnTcPjBR49yxY97bmiMPKK7QbSXGDpDiE14ScSJWk2OCrvafQguk7q2OpXXQdAYulx/I+us9bk4/3ZAME0qP9MCwYt9YZmVd3QIsXn9ocEt0AAEn10elG4PEQHKgJ21zjnrPCtDUn2l3RMK52YNxw5ttHhnvffeWRc/tEAYX5xnOBoqPYiiNKY0D2FNIIybEkPdmMqClZFpDKMdQmdt1I/Oe/a8CWC8/Vq1XRODZ3q7sQIArGffW86KHvQWNACIbvkUYmgHEIGUDnL5xYoSOI4KwWbh+ZC4ElwEImWMUkrpQFPc0AKy5p47VJSOVZv0RMHJ/c1nEHbZKuapoaTFovKHDxvhIMI2m7U2V43Ms7cbABg8iLh7lIeA6aU3+4LQZSVayA8FgQa8+cfnwWVrgueEriZWOP3ADVHNtvIjl3lOBGQzr30m/9FaCC2IqqX1O6MJ+8XdZ8LCdOOMHeUBeJsNQ2edc1F2Ydt6CDzu3VS8wi48meDWvlHP8hI9JAQagNO331ipgnIv4OmrDwRhimynPARkg5WnieoFoQn5aLF+1+ij4n6oOWmlQAAAYbvACbO32dBa57yz1nnn29cBEL36NpQPTxLyZsav+kg9BTdyqUQLefPGUBBoAB7/dXe16pw148xnM+kZLSAXbDpxjcm/Q5MTukv2CQQSAlF/t0D2OKz0DSaC1cvT2QATuSNrI9M5l/btrOW2tRCA8d1S/2rXuSDAVX2lnuUkegAEuq8YSLjg/v5htCic+rdMmNJ9JSBrWo+d012GMAUlRUSEAIoC5mq2lxJDYe99YiYoWNiS7sRTOjqy1uVa3oowe2dDXtcMAUS3fzbaCS+FgKy+/ak+86fFSbSQN288ODQEGhDCWXelLZOVDKz8CU9lnKQZWkBh0HTkmz3KaqbRWOoWaRqIdSHhBOViJBrTU02bMbE1mw2t81HYqPfeexdi9SYAgNd/+qaKvY4CCjP/+nyfrAijmehZMRI9VCxoAIAQLrzBKFeDtVsNrPjUXwWSvGyACCHMzD94Rs8ysYmZQRKxWdBNZ/RvrxTB6fG/qJ56V4DR27e5sLMz9ICws6H1ws7S8tyX9/Td2wLPxdcxulxzT63UIiQtSiU6rUALvC+xIIo+7W3REYSwKklKlINiitUCEMJXPwdjE+RBA4AIuDDDQ4AyZYpZ4ZzvKJ20ppyAvGSePWhxQdnjxIQWiirEIbrV0cqwXwlNPOW4OOnSeDXdmnDyiA4XZjtDBgAfdlpm9o4Wdt/CL9xkVNEtEpD3mVeP3FixK1lKxEl0WoFev6mIH4S1BT9RWFf4CQJWVBlUsKGj4IkWkF8Te5kF+mdHLQs4iZKKEJwqMugEa8rYqkz07Y9sSlZTLkoTUTec0qILno/kCt3lDZRu0wOlobB9B40PDyt9lkVoSbIGTDkQ9oJ1Npu1joXZh6F17L0P5+VviBD+89NhwA75iiIiAFttfn5YU99uSAtuKJBoIW/eTGNBC22cWZjUJqqpsFYL4eUC17qIwitVyCdYvKDwogoWLyrzIW9e2vuXWttq5q4IwZFZE1LBNxa8Uo52IubxvZ8KisWlzNAIlr3vq1CFFy+VDZ2znqPKQ0To3+Amh/NQuu4kxsudaR4jxp5hlJfvwmyYtd47G4YWLQu67pdA3Tv1SW3I5duhsxUdzP/oRaz6drXGevZ9hdmFaQVa4UH0MI+EPP68Xhcq4GPQ0uMIVrNeqiYBGk/0fAqEPJ605ebldNu5H14UKCsVagqJEJwY/HDXN3uMLBCDJ8rPxpmVp164LqCKT4sIwbGhW/d+xhQPldzkyJMrX/IlUmnTb8tChaMPickQE+DpNMMQxk/uBADxYTZaG9psp7W0sud2I5sFp5/wpI02bkFKB2rG56f+VhVnhvYagut80HV/hZyZ9kAqF4fH3QuDrjWZkGj8oFBJWb3yhLJdRwAeN1d9Zhi3tvWcFwf2R+Vp50k/sde3NgaqXE0hEUAsGfXEAZe33gpG12zI0gMzK8R6OUV37fHDbKAsFwVpFgwNo586+IttuuQVnsIPLeiyNCjv4yCVSTxAShC+CI4JRDH2r+ksjn2HhcLMws5aa10upEPP6+w5tlPq+dP3vuzx+ZuEqGPFX793zH63W82VX9Q1gPX8byLnUxEhb/DllJtbOrwIJmK0CLFVN75cYuZ/qTVjCSIQIWQzT/286jMjeuVVyLV/EiH2uHphhaR88Tq8ds/r3jG6663W/TsRATtRgX/0yA+/ZeieF4IsUZQlTWGm6bKK9g+L2XD53j9pDjQcI3ZoVgH96aRTX9NU+rWSC6yKisvl9wmjP5VGS/+E3Snec2ZMiLiwfiVh/eA8LtvDZYxRWilFpEgRERFvfesvi3RCgQGz3ZiMb13bBvRfOOevz2SvCRDxGVySLFm4B7Q/916EWgEQH+CBM2OOOOYv2ioFQBjmteNaE/gNFN90Faym3LA/vbTaZ4zD6E+ddzQBzN1VRiLaagDzH75nDhRY8cRpEy0pAoQl6Dj+5WrfmJTH+LPOOQiAl8KhhQyA5Y/94vXofpV+tuoX7frCqntsitJtQJp0R/90sNT+zgtdSfiwkA2+dW2K9lQkUy53RhsTGK10ntAgNP7H9JIXHynh4r/1OUhw01X5f7Rc8uv0odban3LXZETRjnLtt2M217Tf/5f7AQwi4P4LOhOe40s3BxCGIsjXvl99z460A6Z+4H0HbZ3/Sdftyr793JMvWmhhANpPfvCo/G9fPm9OgieYlAcO+uBJB47Oj9zFVDfv+d/9tR0qRp2BNIQmLTkHtFCO0ET6+NqLAAAQwUlEQVRKKdnYHxKteO+ZFCPQAB3wVgoOKP7Y8a2B1kEm0FoRkVJEIDSsvig+jYso3nTrO5DgoEuOmzhCWhY/+ZN3akkd0H7E5z+552h0LHvq1jmxxNOePnv+/sOBtS/85LmkbahJdr3ygzsAWPHHm2cn2t4gxQJss89B++w2ccyIRg2EHS1rFr39+huL0CNzVnucdd4B4wJe//o9v0745iPtAEzY7z1Td91+zPAGDQnbW9csnvPGm/MEuScl9nNJBo8QdSDJOaAJQiBSRKqzrepH00P7Rz5eKtA1WByjrhwmpFREaAiUIiKFrZ7+/kB0G4+H9lCTRsmGd2q1a7QHJmxNrct8uQEUAztMGrZx8YZc49GEww7fYwKtmpeioZ2iiFtq7MhhRnG2fWN7NFZPyikGxmzXaFdvQIom70pFqadm7IhGQz7btinK7dSVVgQp3G6i8oSm/EYhEZE0dva9san9yR+PKfMnxPrBNCRQfMjodiOeSSmAxbNSipRWnHK3sU/hFfllQOLk99IBSPlVqwBoKTMAQ/OyZUAZS7PsvNrfeKPSsHEnAhGBuakp/yOlhAsHYGhpbgagKEUGPTNIkbBb17VTVDp0MVIQmnPpL11xSfkt8JElrbl6DU8/jC2TIEH7A2l8HNx4SAcYgPJOWHnPpJRSetja1wciJ7LstAAiSHLaFEN81QF8ZD2leg0xoAiS8jGL3gDRu1sgsUnQtcwGQPQFKw9diDQKLTk/dM6XRvn/GsPep/kXzcp9Zx9bWpZFyJnfL08n0GPajSJF7OGjrSAGhEe9ur5/gnoTo9d2epLd4RqGrdkOK63JWfT72r9wtaF7Is1On8sgn6YikfMO0Q/GhH1rdGh3+DcQn62EO9MMxCMPaRMhAy1eAKjI8CD4l1IG3tYxRJCG0Nwl0V12B4FIKbPN6r6cE/ngPsRZ0GA97ekU+2okRw7r1JHzXJQIdEAQIgSrXu+7oNA6BhNSxWL4jHRFc+T8uUJaKRrp1vfhnEju3j3G4ABI8OMUS0KSCXu1KCESdtpoidYvCuCGF1o2n4+jjv5EKkK7oCvQDkoRKQhIGUUyLmzpuym5K84uaRsFAGCzIE3gg+Bwy4aIPKmADRhESgtBhS9uziVhHf2IdNFyLtMVz6GUIiIR0loRaOLSvloYBvb0m0XHeMiFvLrJphHo/bdqC0QRURSkz9GkhYfNW1An9BaKdIExFiryQSMXbqe0VkTK6GCnPopSCuzBj6GobiuAKHR43p3JBZpk27074Z1zzrH3zrlcU2Tv8fwAFKmsY7Mg5Y21ivLBHBGho4gfbSizW9AXObOB3fs5U9JtIILgeynaFEtwEIv3zjrnPXtnPYsIe2/1klfrS8ItFSkD9MMGgx50zv+ptciwvWbbXrvCArvn30eXlO0DIoGe9os0ocPvGWYJTKRIaSGCJniCUhj2d19fEm6pSJtCJRmQUoqU6vq/UlprpWj4tk1V+tZVRWAPfHErV6ZQtqhzFlftm9WNvXewuisNkohU1PuSvV79cN/HOdcxSJDWlrSWShittVLaBBh5yOhe1W8kbd/3zzHxfBZy+v7nU2wS7jglmzOgvfPes7B3YRiGYVb+ausW9BaL1EmurjFHZK2iYLs8o5VGw+SOXnjvNMvnHjTl+Mxm04dakw+2/R5OUbRnmsu0IfYCCJs1Tw5IKeA6NgtSaxV3msjOoLy/g6K2UoqI9WH7pIpI7Qnjcfvt8PF8Bjy+sqpSH6lCbLtr1lsbhtZzLo3bOy8QZqa/9a7RcR2DGunLENjGDKmcG7p7bai0JiijJ229xtZCaQ2e+tQHHco05iAbPHtZ8ozVbXbONVOJpqcUAQyCIm5c/Hz62dUxZFBDXY1wJOWs6JzjjnRuXaiDDMbumN2YmtFkPP7jN5OsUbGl34XYtLxvU+ISRttO4ihFNHpxRJGW+afh9611gd6CUQOhmUcK/X97ZxcjZ1XG8f/zcWa2XbbdQj+3X0BRJBQNvajiBxeKiQFCFLjxwhBtNBovjDFGbvXGaAgaExONWKMGEg3RqL3wA79iSBukGKS1LRTS70IX+rFlu52Z9z2PF+e8M9N2dna6M7Nlds9vk26zfWffd7L/PX3Oc57n/1CR32ARFRZVEVUnYuVbVr558aokTer9nU9/gTPXOl4xwPMjO7XTHeGaFVa0IDAVrcJhhGxe3r0vldnNZ2bjfFR1Q1bsBFlERURUQx8qO+VVt5dPZR1bwpF6v+q7T2yoTjcHzECZe+LbnWY4dN2o52izEOVsMMu9ecv1zDNJzvOaWVl5TQ27EGMwSww2VEVFmUXVobTpNh7POvJDFzJ/wzd+ebflDtPtJ6nmdj/Q6bMtHhvKC6ffQtEwePMGg/zzXAo45jWz+/GWNgiFtB2zsDCxioiwsIiqCJeGzu7ZfQ7tGzSJkQObPr9tOarK1qJ+AwCMcpm440iHvcJLlwiYWYUAUWFhACIsJMy0+H/Pp4BjfjPL9WpkA+pJ6PpHDKdFVYWHhi+8/PzLHqCWXlFEZB4of/yR+4dQlWIA95UXGnnGPX/tzIqjvKRkzEyqCoM4EREzYxYVZSqf/WOS8zxntv8BL1/rKZ6vsHDwJWqOp1WkfB2N733x0BQAMFm0NyPUmyWXbr3v3nfBZ8JAazUDRuZl2/aO9CzDQ6FOm9QFQasIwxszq1MW+su5tEDPc2brHvpmaVUea+1gzcak4QiRiMUm3eqb7z/76sGDxycaGeQoqBW3bv3g1vXARRIFqMl05xKMLNdvbr/Sk+9KuDzEObEBBp8TgcxHb3ADzOemzyU9z3tmv0XasMKLMDOIVYWLFdo5ZRGnKqIi7IZGFuP8+PFTr59++0KWkSuNjK7euPHWjWsIvmISGrmmjzcscz/4SifObM4JYoG2EaswUQiEQu2JCC96ZU/S87yniz3/zSt92HSxqoTwQ1RdSYTFOREJmnblxYvKZWX2nqCutHiRKLz3BuZiptb08Ubmtm+buUFbVBjEBGJRAoSlUQsYdq606NRzs3+viUGhC8Py19zqXGJ9P1NcHiXuDoOaVVRKjmr5RXXqVEQYUxVidqoy4yQtI8vcL2bUM7NQ0wB6H4z3zBPMfKiigvny6WvplZSYK7px4D/A63JhYhYhIFTSq4ows2hYolVFGMTqSiUJh+UsxMKFB0IcBNACA3nvfvSl9nomakTxceJccN4D4OGJSUFm3k3uTjX9C4GuRkrsw40ZmCXY3sd8nbBwVHVYqaMfDXNIi8QikLoEpwl7DJSzPvb1tnqOc7nCptIIRvDgWNVvBCJjT55QqvynkgLohUB3M1L2Vd7tPRmMmFidFmcrIsXJc5EJQfCTN7CEeJvrOm6Z4jBQpvjq96d1dS1eYYUZtmcf72Nm5uv+e2YeXH3pQtLzgqDLoT+vXbydPBuIREolYRLmsEeMIytinWm02iMQiXIoObXGGJArNoVGqDn/8G/bnA9aFLUFIz/Ah0nNnqxuHxguzLm2vxMP+8Q8oEtB04kLW0ZyIgobQQIzs6jEajzhEHowcxB3KDiNtkuNAUSXRR0Gsswd+uSLbc9TokQL2aLQuJkFcXsGzLxp5eBU0vMCods5g3Tx+LLlnkRERJg4HhSGaiV1TkU0nIaHnIcEH/369CHgykSHgTKRHR872k7PRRQey5CsqYGGmn9DzLj6an+mZiTegXQ9OJPyo1ijpiJa5OvUiYoKBz3Xz8JVnMRexLoxXl3WDQyEzOHRL1dnqEdq/DrEb1M/sIweqQbATKYO17p9k4mBoReTYMdPrRqFaChREmk6N3QirKFGKNaZUr27tmkxbRa0gTKW/ff+mmb0ziALxqINLRduv03fTs4fS/m6BUQvBE2Tr7q1ZYTRaeFkJaQ3RCU0s4RuAJHCa4mpCBno0lPCED3T9x46qjN7Z8QovAjE63EMEOy1CSA+M96Dd5gYGHoyq5v8sZOrVxBi1i5OYw2nLKIasnmxU5xF4iQqIqNLqzgMhEzlhQd/6q/Ck7GR/6P6fIHYUCh2aqIXbzAxMPRo+Dyd31MZW2qIoQUxFaX+IbZmZoordKhoCq8CNUUcBkIm8taj245px8M4iukYVA84miIYqbzRenZbYt7SI0GD7MReNzYC0tABrqqqzCRxgmuQeJHDuyzRAdTlnP3w4X9cjad5DMQLO9SQt4v/QOdPp/B5odErQQNUPbivtH6J9xwD55CNVg7TW0NKr1nNxWw4xHxEJuJ/9uknpzqInhs3DX8S2eWVIUTZRK9nGSXe+fSyZZQMYx++c2nm1WnMOWvJqcZuQ1VX73Fpeg3BQJZDMfnk4wdwdQPjQ/wdw/FiyQ9/69PI5sQ7m572QBMMyz70/rWSkTphcUXRaIisRZlCFCL1jaABgDcFjmx/4nibkbfT35EaK3TROEOUTaVoY0HS46Z+gqH03rs3j1LN2JXi+lyXdBgeL6KNk2jzUKD655/vuHjVcgbCGh0FjbqgfaX3w20TA0HvXSrYA6u33PWeJchJXQw+4qFLIWghgAzmTRjIdj39h9cAzWdXbxFz2kHZIKa8luS8YOmH7QqbAevu2HL72DB7o1jBwaLC0RWPyEAkAPD6rj/99RWAabYibCQ6QthhWZLzAqY/PkJEHsB1t7xv8y1jo2U1bwaIatGmFWr8smMv7dq5ewIg7sZSv5EsIYKfeRp0Yj7TN2Os6C9THrtp06Z1a5YNDw8555hAgL8wefrE4QP79x+uAGDqbkBEUcgBoIPZ5ol5Tl+d3riYWC5LRpdcNzJcVuTVqfPnz50+F5TH7Lt30w9le6EOOrHQ6bt1IRGhxRJMjFZfns0Nwqck5gQwB4IubhP3bhaasZL8Ev1hzsxliYOjHbdcsBOJgUK4+RP3roIkkbiEOVmhJQfWf2TrrSuH7e039u969mTM6yUSAwgJ8MDvJq3OxG8+0csyv0RiLmHgnufNrFarZXme1Wo1M/vXXbMYkZhIXHsE+hOzWs177y0MD/S1zOyxtEgnBhDF2H8tq/kwOT64dHnztdyeXZoUnRg0BDedsEqznAtJV+zl5UnRicGCcf1hq1wm5yjpir1Ynrs0eCLRE/7WUs9R0b9KG8PEIKF4dBo9m3lvVftct2aRicTcQbhpyvLWejbzltv4shR0JAYGwY+tatPo2cxb1b6V9oWJQYGwdnKaeCMqOreTI2mJTvSSPu7KGA8trrWVK2Wr70v7wkQv6aOcPD4Fbj2AMEAAHuzf/ROJXkJYecbyNhGHmc/t0NC1fs7EvKJ/KzRh/Wi79TleszHFHIke0k9Bb4C13/IRPG9Mu8JED+nn8rhi5tZBjxv6+ACJhUc/BV3u2UWJRIf0U9DVnl2USHRIPwX91szhMeN0Hx8gsfDon6ANR2YStIHtSPLoSPSQfgr66MS0o+fr1xw/jNT/negdfRQ0ndw7k1g9dk+mNHSih/S1luP38O2GxhsBO1IaOjEgEDbVZqq2O7MiCToxKAiemqke+vFUD50YGBibvfl2HStvr00LdGJwEHynXU9hxb6WegoTAwW9YNXpu76fudaPl0hcFYwbz7ZUtPdWtcPXp9LRxGCh2HLBKtbSOWl8U9oRJgYNxebjVs2aFe29t6xmBzamADoxeCiW7TCrZnX3Ue99VjN7alFanxODiACfOWTmq7U8iLlmZvsfTG66iQGFCOUv/rs5ht75WQanBHSiD8zZjJU7P/qB29aO2MSxvTv/vid8KZHoOf8Hwu7prokOUFIAAAAASUVORK5CYII=" height="292" preserveAspectRatio="xMidYMid meet"/></g></g></mask><image x="0" y="0" width="720" xlink:href="data:image/png;base64,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" id="b23752c28e" height="292" preserveAspectRatio="xMidYMid meet"/></defs><g clip-path="url(#c4e736de14)"><path fill="#ffffff" d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " fill-opacity="1" fill-rule="nonzero"/><path fill="#ffffff" d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " fill-opacity="1" fill-rule="nonzero"/></g><g clip-path="url(#ffdb723443)"><g mask="url(#362ab0cac8)"><g transform="matrix(0.1125, 0, 0, 0.112266, 0.942566, 6.6524)"><image x="0" y="0" width="480" xlink:href="data:image/png;base64,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" height="195" preserveAspectRatio="xMidYMid meet"/></g></g></g><g clip-path="url(#7b1e851441)"><g mask="url(#9a6a9741ec)"><g transform="matrix(0.0962838, 0, 0, 0.0949648, 0.250984, 3.502705)"><image x="0" y="0" width="720" xlink:href="data:image/png;base64,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" height="292" preserveAspectRatio="xMidYMid meet"/></g></g></g></svg> \ No newline at end of file diff --git a/.next/static/media/tuple.7c6d6466.svg b/.next/static/media/tuple.7c6d6466.svg deleted file mode 100644 index d467a8d..0000000 --- a/.next/static/media/tuple.7c6d6466.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="105" zoomAndPan="magnify" viewBox="0 0 78.75 36.000001" height="48" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="3e417501c7"><path d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " clip-rule="nonzero"/></clipPath><clipPath id="24908a0fc1"><path d="M 8 20 L 13 20 L 13 26.996094 L 8 26.996094 Z M 8 20 " clip-rule="nonzero"/></clipPath><clipPath id="0137a2751b"><path d="M 11 23 L 17 23 L 17 26.996094 L 11 26.996094 Z M 11 23 " clip-rule="nonzero"/></clipPath><clipPath id="91aabe613d"><path d="M 16 16 L 19.914062 16 L 19.914062 23 L 16 23 Z M 16 16 " clip-rule="nonzero"/></clipPath><clipPath id="120ee1b9f9"><path d="M 3 23 L 10 23 L 10 26.996094 L 3 26.996094 Z M 3 23 " clip-rule="nonzero"/></clipPath><clipPath id="9108ff4a3f"><path d="M 7 8.023438 L 14 8.023438 L 14 12 L 7 12 Z M 7 8.023438 " clip-rule="nonzero"/></clipPath><clipPath id="33a47f5dbe"><path d="M 71 14 L 77.5625 14 L 77.5625 24 L 71 24 Z M 71 14 " clip-rule="nonzero"/></clipPath></defs><g clip-path="url(#3e417501c7)"><path fill="#ffffff" d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " fill-opacity="1" fill-rule="nonzero"/><path fill="#ffffff" d="M 0.941406 0 L 77.5625 0 L 77.5625 35.027344 L 0.941406 35.027344 Z M 0.941406 0 " fill-opacity="1" fill-rule="nonzero"/></g><path fill="#000000" d="M 9.734375 15.625 C 10.019531 16 10.253906 16.414062 10.433594 16.863281 C 10.609375 16.414062 10.847656 16 11.128906 15.625 C 11.238281 15.132812 11.269531 14.621094 11.210938 14.105469 C 11.125 13.332031 10.855469 12.605469 10.433594 11.984375 C 10.007812 12.605469 9.738281 13.332031 9.652344 14.105469 C 9.59375 14.621094 9.628906 15.132812 9.734375 15.625 Z M 9.734375 15.625 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 2.199219 15.785156 C 2.445312 16.761719 2.992188 17.628906 3.78125 18.265625 C 4.007812 18.449219 4.242188 18.601562 4.488281 18.734375 C 5.28125 17.804688 6.367188 17.207031 7.535156 17.015625 C 6.5625 16.332031 5.84375 15.3125 5.523438 14.125 C 5.246094 14.136719 4.96875 14.171875 4.6875 14.238281 C 3.675781 14.472656 2.824219 15.035156 2.199219 15.785156 Z M 2.199219 15.785156 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 10.179688 19.84375 C 10.082031 19.386719 10.046875 18.914062 10.078125 18.433594 C 9.726562 18.761719 9.335938 19.03125 8.921875 19.242188 C 8.148438 20.246094 7.800781 21.542969 7.992188 22.820312 C 9.101562 22.175781 9.886719 21.085938 10.179688 19.84375 Z M 10.179688 19.84375 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 14.828125 14.136719 C 13.550781 14.226562 12.378906 14.859375 11.585938 15.851562 C 11.476562 16.308594 11.304688 16.753906 11.066406 17.175781 C 11.523438 17.035156 11.988281 16.960938 12.449219 16.957031 C 13.582031 16.390625 14.453125 15.375 14.828125 14.136719 Z M 14.828125 14.136719 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 8.609375 18.832031 C 8.902344 18.46875 9.25 18.144531 9.640625 17.871094 C 9.167969 17.792969 8.714844 17.652344 8.292969 17.453125 C 7.035156 17.46875 5.816406 18.003906 4.953125 18.953125 C 6.140625 19.433594 7.46875 19.375 8.609375 18.832031 Z M 8.609375 18.832031 " fill-opacity="1" fill-rule="nonzero"/><g clip-path="url(#24908a0fc1)"><path fill="#000000" d="M 10.433594 26.246094 C 11.289062 25.796875 12.019531 25.078125 12.46875 24.132812 C 12.59375 23.871094 12.6875 23.601562 12.761719 23.328125 C 11.691406 22.75 10.875 21.8125 10.433594 20.699219 C 9.992188 21.8125 9.171875 22.75 8.101562 23.328125 C 8.175781 23.601562 8.269531 23.871094 8.394531 24.132812 C 8.84375 25.078125 9.574219 25.796875 10.433594 26.246094 Z M 10.433594 26.246094 " fill-opacity="1" fill-rule="nonzero"/></g><path fill="#000000" d="M 12.753906 19.566406 C 13.335938 20.609375 13.550781 21.84375 13.332031 23.050781 C 13.585938 23.164062 13.851562 23.253906 14.132812 23.320312 C 15.144531 23.554688 16.152344 23.425781 17.03125 23.023438 C 17.222656 22.0625 17.121094 21.039062 16.671875 20.089844 C 16.550781 19.828125 16.402344 19.585938 16.238281 19.363281 C 15.59375 19.644531 14.90625 19.785156 14.222656 19.785156 C 13.726562 19.785156 13.230469 19.710938 12.753906 19.566406 Z M 12.753906 19.566406 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 6.039062 14.136719 C 6.410156 15.375 7.285156 16.390625 8.414062 16.957031 C 8.875 16.960938 9.339844 17.035156 9.796875 17.175781 C 9.5625 16.753906 9.386719 16.308594 9.277344 15.851562 C 8.484375 14.859375 7.3125 14.226562 6.039062 14.136719 Z M 6.039062 14.136719 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 6.734375 23.320312 C 7.011719 23.253906 7.277344 23.164062 7.53125 23.050781 C 7.3125 21.84375 7.527344 20.609375 8.109375 19.566406 C 7.632812 19.710938 7.136719 19.785156 6.640625 19.785156 C 5.957031 19.785156 5.269531 19.644531 4.625 19.363281 C 4.460938 19.585938 4.316406 19.828125 4.191406 20.089844 C 3.742188 21.035156 3.644531 22.0625 3.832031 23.023438 C 4.714844 23.425781 5.722656 23.554688 6.734375 23.320312 Z M 6.734375 23.320312 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 10.746094 11.578125 C 11.464844 12.570312 11.800781 13.777344 11.722656 14.972656 C 12.59375 14.167969 13.734375 13.679688 14.945312 13.628906 C 14.996094 13.351562 15.027344 13.066406 15.027344 12.777344 C 15.027344 11.722656 14.675781 10.753906 14.089844 9.972656 C 13.097656 10 12.144531 10.34375 11.355469 10.984375 C 11.132812 11.164062 10.929688 11.363281 10.746094 11.578125 Z M 10.746094 11.578125 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 10.117188 11.578125 C 9.933594 11.363281 9.734375 11.164062 9.511719 10.984375 C 8.71875 10.34375 7.765625 10 6.773438 9.972656 C 6.1875 10.753906 5.839844 11.722656 5.839844 12.777344 C 5.839844 13.066406 5.867188 13.351562 5.917969 13.628906 C 7.128906 13.679688 8.269531 14.167969 9.144531 14.972656 C 9.066406 13.777344 9.398438 12.570312 10.117188 11.578125 Z M 10.117188 11.578125 " fill-opacity="1" fill-rule="nonzero"/><g clip-path="url(#0137a2751b)"><path fill="#000000" d="M 14.019531 23.8125 C 13.738281 23.746094 13.472656 23.652344 13.214844 23.546875 C 13.136719 23.816406 13.042969 24.085938 12.917969 24.351562 C 12.480469 25.269531 11.808594 26 11.003906 26.5 C 12.117188 26.898438 13.382812 26.867188 14.527344 26.308594 C 15.671875 25.746094 16.484375 24.765625 16.871094 23.632812 C 16.328125 23.832031 15.75 23.941406 15.152344 23.941406 C 14.78125 23.941406 14.402344 23.898438 14.019531 23.8125 Z M 14.019531 23.8125 " fill-opacity="1" fill-rule="nonzero"/></g><path fill="#000000" d="M 11.941406 19.242188 C 11.527344 19.03125 11.136719 18.761719 10.785156 18.433594 C 10.816406 18.914062 10.78125 19.386719 10.6875 19.84375 C 10.976562 21.085938 11.761719 22.175781 12.871094 22.820312 C 13.066406 21.542969 12.714844 20.246094 11.941406 19.242188 Z M 11.941406 19.242188 " fill-opacity="1" fill-rule="nonzero"/><g clip-path="url(#91aabe613d)"><path fill="#000000" d="M 17.390625 18.660156 C 17.167969 18.84375 16.933594 19 16.6875 19.136719 C 16.847656 19.367188 16.996094 19.609375 17.121094 19.871094 C 17.558594 20.792969 17.695312 21.78125 17.582031 22.730469 C 18.585938 22.097656 19.347656 21.074219 19.632812 19.816406 C 19.914062 18.558594 19.664062 17.304688 19.035156 16.292969 C 18.726562 17.21875 18.164062 18.039062 17.390625 18.660156 Z M 17.390625 18.660156 " fill-opacity="1" fill-rule="nonzero"/></g><path fill="#000000" d="M 3.746094 19.871094 C 3.867188 19.609375 4.015625 19.367188 4.175781 19.136719 C 3.933594 19 3.695312 18.84375 3.472656 18.660156 C 2.699219 18.039062 2.140625 17.21875 1.828125 16.292969 C 1.199219 17.304688 0.949219 18.558594 1.230469 19.816406 C 1.515625 21.074219 2.28125 22.097656 3.28125 22.730469 C 3.167969 21.78125 3.304688 20.792969 3.746094 19.871094 Z M 3.746094 19.871094 " fill-opacity="1" fill-rule="nonzero"/><g clip-path="url(#120ee1b9f9)"><path fill="#000000" d="M 7.945312 24.351562 C 7.820312 24.085938 7.726562 23.816406 7.648438 23.546875 C 7.390625 23.652344 7.125 23.746094 6.84375 23.8125 C 6.464844 23.898438 6.085938 23.941406 5.710938 23.941406 C 5.117188 23.941406 4.535156 23.832031 3.992188 23.632812 C 4.378906 24.765625 5.191406 25.746094 6.335938 26.308594 C 7.484375 26.867188 8.746094 26.898438 9.859375 26.5 C 9.058594 26 8.382812 25.269531 7.945312 24.351562 Z M 7.945312 24.351562 " fill-opacity="1" fill-rule="nonzero"/></g><path fill="#000000" d="M 18.664062 15.785156 C 18.042969 15.035156 17.1875 14.472656 16.175781 14.238281 C 15.898438 14.175781 15.617188 14.136719 15.339844 14.125 C 15.023438 15.3125 14.300781 16.332031 13.328125 17.015625 C 14.496094 17.207031 15.582031 17.804688 16.378906 18.734375 C 16.621094 18.601562 16.859375 18.449219 17.082031 18.265625 C 17.875 17.628906 18.417969 16.761719 18.664062 15.785156 Z M 18.664062 15.785156 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 15.449219 13.632812 C 15.726562 13.648438 16.007812 13.683594 16.285156 13.746094 C 17.273438 13.976562 18.121094 14.484375 18.78125 15.167969 C 18.78125 15.160156 18.785156 15.152344 18.785156 15.148438 C 18.921875 13.910156 18.574219 12.695312 17.808594 11.722656 C 17.046875 10.75 15.953125 10.136719 14.734375 9.996094 C 14.726562 9.996094 14.71875 9.996094 14.714844 9.996094 C 15.222656 10.800781 15.523438 11.753906 15.523438 12.777344 C 15.523438 13.070312 15.492188 13.355469 15.449219 13.632812 Z M 15.449219 13.632812 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 12.570312 17.453125 C 12.148438 17.652344 11.699219 17.792969 11.222656 17.871094 C 11.617188 18.144531 11.960938 18.46875 12.253906 18.832031 C 13.394531 19.375 14.722656 19.433594 15.910156 18.953125 C 15.046875 18.003906 13.828125 17.46875 12.570312 17.453125 Z M 12.570312 17.453125 " fill-opacity="1" fill-rule="nonzero"/><path fill="#000000" d="M 2.082031 15.167969 C 2.742188 14.484375 3.59375 13.976562 4.578125 13.746094 C 4.859375 13.683594 5.140625 13.648438 5.417969 13.632812 C 5.371094 13.355469 5.339844 13.070312 5.339844 12.777344 C 5.339844 11.753906 5.640625 10.800781 6.152344 9.996094 C 6.144531 9.996094 6.136719 9.996094 6.132812 9.996094 C 4.914062 10.136719 3.820312 10.75 3.054688 11.722656 C 2.289062 12.695312 1.945312 13.910156 2.082031 15.148438 C 2.082031 15.152344 2.082031 15.160156 2.082031 15.167969 Z M 2.082031 15.167969 " fill-opacity="1" fill-rule="nonzero"/><g clip-path="url(#9108ff4a3f)"><path fill="#000000" d="M 9.820312 10.589844 C 10.046875 10.773438 10.246094 10.972656 10.433594 11.183594 C 10.617188 10.972656 10.820312 10.773438 11.042969 10.589844 C 11.832031 9.953125 12.753906 9.597656 13.691406 9.5 C 12.859375 8.648438 11.707031 8.121094 10.433594 8.121094 C 9.160156 8.121094 8.007812 8.648438 7.171875 9.5 C 8.109375 9.597656 9.03125 9.953125 9.820312 10.589844 Z M 9.820312 10.589844 " fill-opacity="1" fill-rule="nonzero"/></g><g fill="#000000" fill-opacity="1"><g transform="translate(29.425621, 22.966935)"><g><path d="M 4.546875 0.21875 C 3.765625 0.21875 3.066406 0.0546875 2.453125 -0.265625 C 1.847656 -0.597656 1.375 -1.09375 1.03125 -1.75 C 0.6875 -2.414062 0.515625 -3.226562 0.515625 -4.1875 C 0.515625 -5.132812 0.6875 -5.9375 1.03125 -6.59375 C 1.375 -7.257812 1.847656 -7.757812 2.453125 -8.09375 C 3.054688 -8.4375 3.753906 -8.609375 4.546875 -8.609375 C 5.328125 -8.609375 6.019531 -8.4375 6.625 -8.09375 C 7.238281 -7.75 7.710938 -7.242188 8.046875 -6.578125 C 8.390625 -5.921875 8.5625 -5.125 8.5625 -4.1875 C 8.5625 -3.238281 8.390625 -2.429688 8.046875 -1.765625 C 7.703125 -1.097656 7.222656 -0.597656 6.609375 -0.265625 C 6.003906 0.0546875 5.316406 0.21875 4.546875 0.21875 Z M 6.8125 -4.1875 C 6.8125 -5.125 6.601562 -5.847656 6.1875 -6.359375 C 5.769531 -6.867188 5.21875 -7.125 4.53125 -7.125 C 3.851562 -7.125 3.304688 -6.867188 2.890625 -6.359375 C 2.472656 -5.847656 2.265625 -5.125 2.265625 -4.1875 C 2.265625 -3.257812 2.46875 -2.539062 2.875 -2.03125 C 3.289062 -1.519531 3.847656 -1.265625 4.546875 -1.265625 C 5.234375 -1.265625 5.78125 -1.519531 6.1875 -2.03125 C 6.601562 -2.539062 6.8125 -3.257812 6.8125 -4.1875 Z M 6.8125 -4.1875 "/></g></g></g><g fill="#000000" fill-opacity="1"><g transform="translate(37.732037, 22.966935)"><g><path d="M 3.46875 -1.21875 C 3.84375 -1.21875 4.144531 -1.34375 4.375 -1.59375 C 4.613281 -1.84375 4.734375 -2.175781 4.734375 -2.59375 L 4.734375 -6.203125 L 6.359375 -6.203125 L 6.359375 0 L 4.796875 0 L 4.796875 -0.875 L 4.78125 -0.875 C 4.375 -0.1875 3.742188 0.15625 2.890625 0.15625 C 2.210938 0.15625 1.6875 -0.0390625 1.3125 -0.4375 C 0.945312 -0.832031 0.765625 -1.378906 0.765625 -2.078125 L 0.765625 -6.203125 L 2.40625 -6.203125 L 2.40625 -2.328125 C 2.40625 -1.960938 2.492188 -1.6875 2.671875 -1.5 C 2.847656 -1.3125 3.113281 -1.21875 3.46875 -1.21875 Z M 3.46875 -1.21875 "/></g></g></g><g fill="#000000" fill-opacity="1"><g transform="translate(44.09015, 22.966935)"><g><path d="M 4.359375 -6.34375 L 4.359375 -4.6875 C 4.234375 -4.707031 4.082031 -4.71875 3.90625 -4.71875 C 2.882812 -4.71875 2.375 -4.234375 2.375 -3.265625 L 2.375 0 L 0.75 0 L 0.75 -6.203125 L 2.3125 -6.203125 L 2.3125 -5.140625 L 2.328125 -5.140625 C 2.566406 -5.597656 2.816406 -5.914062 3.078125 -6.09375 C 3.347656 -6.28125 3.664062 -6.375 4.03125 -6.375 C 4.070312 -6.375 4.179688 -6.363281 4.359375 -6.34375 Z M 4.359375 -6.34375 "/></g></g></g><g fill="#000000" fill-opacity="1"><g transform="translate(47.858306, 22.966935)"><g><path d="M 3.390625 -2.25 L 3.40625 -2.25 C 3.664062 -3.71875 4.054688 -5.757812 4.578125 -8.375 L 6.4375 -8.375 L 7.265625 -4.40625 C 7.335938 -4.070312 7.398438 -3.753906 7.453125 -3.453125 C 7.515625 -3.160156 7.566406 -2.894531 7.609375 -2.65625 L 7.6875 -2.25 L 7.703125 -2.25 L 7.90625 -3.375 C 7.976562 -3.738281 8.269531 -5.003906 8.78125 -7.171875 L 9.0625 -8.375 L 10.84375 -8.375 L 8.484375 0 L 6.796875 0 C 6.179688 -2.863281 5.753906 -5.039062 5.515625 -6.53125 L 5.484375 -6.53125 C 5.328125 -5.53125 5.097656 -4.320312 4.796875 -2.90625 L 4.1875 0 L 2.5625 0 L 0.1875 -8.375 L 2.046875 -8.375 C 2.359375 -7.0625 2.644531 -5.816406 2.90625 -4.640625 C 3.164062 -3.472656 3.328125 -2.675781 3.390625 -2.25 Z M 3.390625 -2.25 "/></g></g></g><g fill="#000000" fill-opacity="1"><g transform="translate(58.101357, 22.966935)"><g><path d="M 6.75 -3.109375 C 6.75 -2.429688 6.613281 -1.847656 6.34375 -1.359375 C 6.082031 -0.867188 5.707031 -0.492188 5.21875 -0.234375 C 4.738281 0.0234375 4.191406 0.15625 3.578125 0.15625 C 2.953125 0.15625 2.394531 0.0234375 1.90625 -0.234375 C 1.425781 -0.492188 1.050781 -0.867188 0.78125 -1.359375 C 0.519531 -1.847656 0.390625 -2.429688 0.390625 -3.109375 C 0.390625 -3.773438 0.523438 -4.351562 0.796875 -4.84375 C 1.066406 -5.34375 1.441406 -5.722656 1.921875 -5.984375 C 2.410156 -6.242188 2.960938 -6.375 3.578125 -6.375 C 4.191406 -6.375 4.738281 -6.238281 5.21875 -5.96875 C 5.707031 -5.707031 6.082031 -5.332031 6.34375 -4.84375 C 6.613281 -4.351562 6.75 -3.773438 6.75 -3.109375 Z M 3.578125 -1.21875 C 4.066406 -1.21875 4.4375 -1.378906 4.6875 -1.703125 C 4.9375 -2.035156 5.0625 -2.503906 5.0625 -3.109375 C 5.0625 -3.703125 4.9375 -4.164062 4.6875 -4.5 C 4.4375 -4.832031 4.0625 -5 3.5625 -5 C 3.082031 -5 2.710938 -4.832031 2.453125 -4.5 C 2.203125 -4.175781 2.078125 -3.710938 2.078125 -3.109375 C 2.078125 -2.492188 2.203125 -2.023438 2.453125 -1.703125 C 2.710938 -1.378906 3.085938 -1.21875 3.578125 -1.21875 Z M 3.578125 -1.21875 "/></g></g></g><g fill="#000000" fill-opacity="1"><g transform="translate(64.459472, 22.966935)"><g><path d="M 4.359375 -6.34375 L 4.359375 -4.6875 C 4.234375 -4.707031 4.082031 -4.71875 3.90625 -4.71875 C 2.882812 -4.71875 2.375 -4.234375 2.375 -3.265625 L 2.375 0 L 0.75 0 L 0.75 -6.203125 L 2.3125 -6.203125 L 2.3125 -5.140625 L 2.328125 -5.140625 C 2.566406 -5.597656 2.816406 -5.914062 3.078125 -6.09375 C 3.347656 -6.28125 3.664062 -6.375 4.03125 -6.375 C 4.070312 -6.375 4.179688 -6.363281 4.359375 -6.34375 Z M 4.359375 -6.34375 "/></g></g></g><g fill="#000000" fill-opacity="1"><g transform="translate(68.227626, 22.966935)"><g><path d="M 0.8125 0 L 0.8125 -8.375 L 2.4375 -8.375 L 2.4375 0 Z M 0.8125 0 "/></g></g></g><g clip-path="url(#33a47f5dbe)"><g fill="#000000" fill-opacity="1"><g transform="translate(70.700802, 22.966935)"><g><path d="M 4.828125 0 L 4.828125 -0.78125 L 4.8125 -0.78125 C 4.613281 -0.457031 4.359375 -0.21875 4.046875 -0.0625 C 3.734375 0.0820312 3.390625 0.15625 3.015625 0.15625 C 2.472656 0.15625 2.003906 0.0195312 1.609375 -0.25 C 1.222656 -0.53125 0.921875 -0.921875 0.703125 -1.421875 C 0.492188 -1.929688 0.390625 -2.515625 0.390625 -3.171875 C 0.390625 -3.816406 0.5 -4.378906 0.71875 -4.859375 C 0.9375 -5.347656 1.242188 -5.722656 1.640625 -5.984375 C 2.035156 -6.242188 2.476562 -6.375 2.96875 -6.375 C 3.375 -6.375 3.726562 -6.289062 4.03125 -6.125 C 4.332031 -5.957031 4.582031 -5.71875 4.78125 -5.40625 L 4.796875 -5.40625 L 4.796875 -8.375 L 6.4375 -8.375 L 6.4375 0 Z M 4.859375 -2.96875 C 4.859375 -3.601562 4.738281 -4.09375 4.5 -4.4375 C 4.269531 -4.78125 3.921875 -4.953125 3.453125 -4.953125 C 3.015625 -4.953125 2.675781 -4.785156 2.4375 -4.453125 C 2.195312 -4.128906 2.078125 -3.664062 2.078125 -3.0625 C 2.078125 -2.507812 2.195312 -2.054688 2.4375 -1.703125 C 2.675781 -1.347656 3.003906 -1.171875 3.421875 -1.171875 C 3.859375 -1.171875 4.207031 -1.332031 4.46875 -1.65625 C 4.726562 -1.976562 4.859375 -2.414062 4.859375 -2.96875 Z M 4.859375 -2.96875 "/></g></g></g></g></svg> \ No newline at end of file diff --git a/.next/static/media/victor_muhagachi.46938b4a.jpeg b/.next/static/media/victor_muhagachi.46938b4a.jpeg deleted file mode 100644 index 165e751e7c6e65186f63cedbbd46e6ee5bc10a37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93925 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 C3t1xtd=IdjMA_G|v{5ROZ5k+TXC>uv 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�v|e6gP^&D4BVWIF>6UM?D1Ih7IzgWO8OtjhBU6swG>XBc{k zL07wh#cJW=Xam8<Q+O`54kMkR#4$C#3CMEv#Bc|cv{8-RQYR--)UQ_sd4{wAI!Sbm z7wk>uG`#a0-1KnH`bD9XZF!0gnuyikHd7y4OOlpTZ)EJY`133pd~+0`rRf`t_=U=G z4QlIRqsv?7GXcVG0rT@Jj_SAVDD>tPO71y+7SC}57)#@+bgtmqn`cqr*D!dEI+R%x ztAn^_%01$9#t|#F3eAJmaNpc1Ys7P6*NJHV0D!k*Rfhinir5s|<Ttrj0_8OgR;^Sn zz<tNQD*H$^1F5x8ZP-8xsa0HOxQ^#6^=!YyKIb~i@i%Cy_Nx8VutI_4fTN=iQQ*ts zJ5!%9Ey(vZ{-drzXj+T~SJYF=SZxj$S6d#!$M@<z2#jk6j$wf<tUNPu0$c>wDdJWO zubyQBj)1-+`&Q}>m2CF5pAx*xG-DSl*c?E(Lgwm^j}c2kwpO*AIUGfr4o^ETBCNkY z;mkqSj(d$Z2nb)2bFg>J#wKxc`gGv}{^L{{USMOu?@$ek=A|Qp`htj#fR)WGs6nLC zTZv$DOdwXfXGj&;QBy0<#Ph$HH+bfFu=nCA<!3%%?h7yBdHIMsxl#;YOOeO<i$|%< z^37x!%)~w}I<GL%uyar*%X3j)L()f{5_1t-Of=0Z2C<3T6V&)lz9W5c2h6*aO1V`H zT&5b+{1s4N#A~c(LN>LqRWiLdiPSllmlMwr7+mw_7_Q&|$x7Ku_W|=6eU%A0K`S(V zpeUG#IA2*Pj!;}wSD2-?KVD^^3%^j7s}`Kcparay0k3z#1q&3uB@`NPTpJO*piTCg z!{z1-VqVR;V5LH}KkAKorxZL)KspB&RCB}~An`Oxsy%ZIv^XEs78w*@9mP#cFHXK= zy4-^3AM+KE<RZAg<{*Foj~D$wvXoY_%-GI_Z!4w(i4x%Cx)*e!dG{^~RfRpnYPrOu zqit9OT999^eZi{?hin_|$h!gRRiYJF%(=ns_Y^|;$|Kg$rQy%SLd8F+OP)3jc6-m_ zR@E?DUPGLm<Ln+9KX5TLc9pB~k@WpVZenYmW-u*>m^mZb)>fC8wHm9JVb|RDnX{<t zGGbQqG}9NkK@)h1lBxNRsHx{BaZx@c5wMiJe}z;C8*t}{91DIS$`2O|fHBHc1f+C) z%WJ|uBXCVeIPolUC^8F~tYaFe5aIzv0A;xT!Ye8dr!dv3sE{_k-eIw=thl5+Uzu`) z<v7EIUztuR4FmBUG<rYWpr@f4je}|hC8M`od`db1Hbx;Utn7Tl6o>%w@6<O_!9!oE zoTI8*)f*6i9Tsx;@ddO3uvhR(k$0VeUX~l7DgI&<3_{x?y4N2X>S~35=k68oL0oQJ zGP3B$Zl!1lf;~i8DwNmt?leSjJiSC}K<37R+tLQj2A24gXiVB$VIhD%UlOu`-Q7ni zL+ruPa*GB6z<T0a5ukV==<A0c)VM@8ZFqfL8pDvI+#V9G;u0DKb~PRKy|6i)agBc4 z1PDQMppQsKVm5PR&3r@6OZBh;;Fq$#xsLabh_w_kDrk%~ESc2q#QaMhHf2z|a@SDv zgg!fo$;XJ91u=ZZ?rP*xv4*c|JC1zL4>{5`E%7Pp0vYbEYk=$fjnZT=0DfkLFNi!z zcL-6U4MQBot+Fm@5IoOrAkU<<+2LfU8U<_?533^AfDNk{aS+OY*>}<_!u-I*#pQq* zRuxLvvV~to#;V(00;Y0X#eo6QoL`7ECwBY(rNEZPy$Eth!n_{6)VoxsE}!=s+Do-p zuJR-5#^~W?KrtIVyufCn%X@uXs*;9|%PAU0tgjM+LE^2YsA*WZsrhF3wgQ;h)7%AF z;T|rGV&jgxxB#?FQ-|ETHn91ER3{)_ZaRS~(S?26rag4IRJJyl&*LFrqd`v*^+U=> z$>vzJm7`38=xdc@^Xhn*9sdA4%;S6Y8CnjwWr-5D?uc{{1uXq%xWyFTR6b$j0%*El znD&%{70tKx2vq}<uS{Mks#X~MY$E8bKI{0HZW!VzT+D5_19fqt*8V3BE<WS7OY>2- z9Cli&VBTSwQMX?))!VU^@2N#>nC5F<V@^AWsL|9w{{Vp3e^Z4df8dDUnQ#j#!0IAp z%~yyeQRj<-Aribo3M(oK7=2733k`wN1R|FzqLF$zxVOh~JS@yCtURmgdBs(AA2Op+ zV@tqN{E_Xtkl{IuylcElU1zz4RzNB(@Vd-$4swS*$EDo84m`vr9$wJ7YkQ(TQVUIe zz@ioDzs$Fvr$F~{Kw5RluYx4W-~f6Xck=}>3&lQP^#tn#17Pue{Xt(&4dVC3_Z=kI zQDrathe10EG}mzvo>jG9af3}aZL;AKb3w!#QJgrNTgDy_FyLi%(y#LrrrZ|=^%&Kb z0H8)wveIAe7VCqdZ&?;wDQg45`<Kh8bRo}(QkCH;-QO|N)M!ii+Jw-zXsi4{BrkMn z2-eYbDu|^5JeP4rD!oRf4{4|V!V@LYV9Ir8lX;V%7Czw#WdZJ81#z&hB~hWjx!fWA zMTbjm#B1Hc9wR$cK^3=lI(eV=P6$UVM@(6g>8hGGSTYe;8u1eP#sPa3^E8y_BC*M% zo@M0c<L(a-3{l@R?`5s5RhBPIt+AT9{sFSRK(OVxFscRx*lga{h(%em2gJ!wF<y7- z4OR8A-B$#BiElBfSAW#C)&Bql4j{GPGw_RjnH1BxbykwR@~^v&m81=Ta{Pe)WuSyY z?z)GHlZQl9Z4IEWxmiL|%5qZZA=G`inmk0c<so5RuhbkKg%vBAa*FP)PHi|jncp;r zk!iE+h!yw)uNDQ1L{w2Pe!WCJxZYvQX;t=j5+MSi<C`s0>LsKN00(r{KA0}7*G1nH zqH?AIL_Iymy1{B`=1@acRaZE4L0$l<SHt^^3BCvN7{NLeP#!WZ@CDWL?k`~9<aKj6 z+_ST&HmDfUcKZ2^cTB|!zXaSiQ*Cd`{{X0#Y$yl7YNK=;UH7OxgyB;A>IMacQP<*F z5Td!L-ORq*^2@N3)C#2@!>&O0Zp7bc89=Kz6W5q<HiJfd#38T*@EDd*<oG7tH&Mgt z9?h0(mLabUJC_SvW9m@Uq1(+xy9Wy?=|2cGXKZlnUSo0aMK4KJ#!Rk5DRnpvOSg%( z{-H%&^G;O9<l-an!QABY67Aeg!FwWP4M3@0C(<V0F+hU4x#kOtseMf)$6Uq&{-MRN z=BlL--#?jSog#4}Y6G@R{KnmHALhQLc)4k`DEtc?dluVc{{XB+HXsy*F8=aUed(Hl zQY;%weEmS&Thqk85IEamK&G6IA!UPYL*@v@Re)BZs?Jo0zLxiVo1ZMQOBTw~k&S%A zH#a&Bc02U1Fxj6tXyU^E0CgU*Rj!u;v|2it#{$*q=8IPW2@B8;wu~#{JFyDdFC3iu zAwsU`!|@b*m1|o0{-xP&!iDg?N4~3PQTHy31{T}a{)jHcxp!<*ROk&JrB*81h}Rc2 zI+e5vd7;R$ZNC2ixp|Frf9y_$UTdgm6`Hz?C?Q;%`;`Et+9;`tT9nm9(p??;l+{z7 zIg2q)?|TQrE?BlBlx!J)`2l-F6~%w3&tX+F{>a8v(5C9L8hHlbmn8)*hlBc@0-JiN zU1_g3v05QrL=_#H`hd+Qtx*2}xSRC`qGtuUZa*<g<08D*_;2bjnuT^Y2y2ce9wD}Z z>LJn0>+V_NROH7KtHBlRh<Kd8&3EQ^brp-TXmNB(zqrN%y+O6{)U|H}5#Hsio?xrY zv5iY!Elcgch$gir*ropfFx4>haqe=!ymn_QWZYw`G5r4k^#LU;BgVm?R)8neppZx! z^t1Yx`&tFvy?suO9mHZ3#?DwltPdIZhM2C@I2P}o4-%<nQDSKKt6V~b2EwmI!z%6? z<7fb(chJ0VB&|fDSn|CF`tcHk3k&#R`eg~W*|(KEeN<epYy&G&>@*LaVy66Z-?)Yg zNp)pLugtsv;_r!1Q*dp96xwJ^j2-ITr^KKF7e=q2n9#srDyj>WyE$<Zscc)4&;jin z1!~q4PU_2fm(Zrbz`^3_uY}k@(Cw4=7=d{;79w6@-~oJ%ex<^Q5L!REU{=hle^Dic z8Y_q(2~>Ka9kA0!IQ2LO4HYP<!q%yC%s>h$r@t_$eUsou$w`9R>M@g`GPJt+VJuE7 zCY;9V<)<h061j~VAa&zrpg4m#oFHw-v=Db+;jVjyr?@Cz6BhB@O3ih%46Z5}&d#iy z<WC+Yu$|N(Y1ppY=I$3e?h9_98%FZS3!7ZTu4T$2M5iFPICFCAe8KHu=H}pSR0nW8 z9}>@BGJ<lE_?Ik0cIoE5!Z8G}SAEBJga+s@WiU`5Cd;VlvX_EgE{0Sv1!+`ULFQgD zT{11O9vJmiWt2RrE}u~1gAtC&ctpP*Fkg;7q9Oq>9y34t8nabJ+vUz6!R}P^_W@BF ztJ*i}3=c+KRm7Ac^a1#n>eGyf6sbY2{Keethf{9+Lehy<E#k8w>Jo*iT<U)1iNMKc z&+)uOr3F+}uS{@=@I?5GwY%oPx3(@G80kq~0uq4oL4(t%!D-MXkJQ^60$um8$%O)v zj&G@=S3v>qAa5eFkK~o02QB;&G;Q;5<ts5fTHtG;;ysgtk_m@6Zf)pF=OQl3XfmNG z8j3q%rs}1=N|q*N=^Qw?f_e|B!?HJu@#25>FcY+A5q&`FJC_sYAbXAZi&I=N<xVjm zm`=F`F`PqtQI^Q8MXzxyC66(BZV3^;@kDR=iAZ05Vf&O%C+-!w7Q<LP>=emkO@@u` z4TtdzsIAAinyYJ^g}LGl@ex}qzcIw7J*)uy#`(H$H{N~5SPUYT8gL6GsqFkkRNyUA zm6ml8b&FYSZbGcSy~Lp+-p|Kya%(oNolquw(uz^=sYg&XV$xtvC4p6zjsE};#0W-k z@s-b9uwi46I|sxan%~471@Y!%S8&jajdXw^e~DO9mvnZ@k|DWIMLUjx&I_u5AW}3d z(!NP%76m=?^BtFY1qA;9*u@=I>G#b=VJ_FaY)}o=UAz$hv07ov?jtC{(|-}CwW~>p z18~1agIJZT9TzpBgQhLZ1Hh~x7sfY|?`4ICSyj>__LYC=7LT-ojb24{^#+<1iu}te z6Q9~RkENjS9>b{2Dpf5uKthCgjm3>F2i#~Yj_=|);Ih`|*Xko&t9InLmEXhwqPMw4 zGsyK2*QHq68~K$@AE5#x+~k$6W4ji22gI(~%b1>^`<yg$F1pB5s2@B215ZDg_k?k< zUOwR`8yft^U1UX6T<edyUZ6gz6@q=rLm;?HfZ6+ry2sq(nyE*s;-Gb0Pcb|an^~ur z4})d=L^dbC@$g(A(dty9#dp}(@L;Q{PDk2HI3^YM%y0srS?%>2IDk=r!~IMK*Qs{y z5aaS8aG_My_?8j^%hc<LR4S{ViBL$rd5S(m!Jbu*xR8L>hV*bgONrW7AQ#mYljRh* zepcmKHw6S<+rHdDVo>O1()Ynq?Cb?!)3Ga5)#U{Qr&JqWAQeNJa*wFcffZGp`G##F zh;j7^{hJpb2e^VHw|T>H+jf=2w#87x?7f1&nMLO)g=0&Dg;C{u{vnO_8D3~G`G=58 z$OY+ZY<oDMH~h;?h_m1hBB!gX<M9C&p*tb|qICXOlk*-tsQ&=$j(g-%K5{ap+LP3y zy(bO8XwcO;y@1k+FM!b&&}c1xapZ`F{4wqw?!XW=0#Yl<4nQBh`j^TF6ZnfMl~Eem z_Yk?w_D1t(okiIGXJv#N;#1}_n<vUNvzbtN`-7MY_@1ec5iyIvL*7kXVy@IYG9%X# z&ID16Zn)0p2T->sU9bsVvc<iE-XW*N<eZ_#Loa5w!FghD8T?fr<-e%N1{7U{vkxw8 zDAU<tI(^5SMT-@czUL$rK^O2i!XDzKwr<13Xr)|S7=_T;z6eXAnhyoM7-Uv-&k5*1 zEz02IRd0rit}S8B1^`06g8o$=;Z6#y=ghYP7~5cUl#k44b+uj*>;xLR_rUvu=T>y3 z0OaBUdQ+U1A;LOYait#a^ni~=HY)-0u3*JrF|>I@%Lv`qv$){4w1<e-27>hE`IkXT zGlC7{AP}>@KH@+^AO^j(H$qUl)rbca(Ng4%NZ+9S!U=;ysopLFaj^qOs(D-_XF_&r z0tJ^r8q#1T{{T|d5I4zWWRY`1qGDOz!gIMQ{$l_*URy@b^%1u5$FI27{j35B%Tl&r zX*pp^2npEVI<Mj;pWshK(<co<9FB3bDTv^lIg7Ra0ahCYvBLnFKxV&|EZ8Pi!Q%D` zRkDEF%uQ}L`;AvJV)KZl#1mgrgbL+B->E|klnOiQ2b+$oPnZvH<^us+^UR^-_<`t$ zOPmW27b|t@7k?0QVE6SasHN=E!DG6@zj4=f^}#Lz(RnKqR>nrIoY_ZAqKUKmMhx_Q zN4(Cj7Y_^3Q<&jcTNPq(^?FBPvbJsD2<EaVf&)&2<+eYrs^NLaKMzm@uxLE{uQJ^= zqL+VhjeV_|3x+JB?12i;4SW?b{tTDtc5%%^x&SHQ_4NkDwdi2VEe0*V;494V!$9pP zs7eyvFU(979(iLf!CoGqU_^O=4>Jj76mopW=n+)Ij!(FV6Gkdi@f}gEEKfgD&Jyhb zv(?0uG!C9VBXA9(#r|fI9*Ck*2Uw=6WTc-6kU*ST{{Zp=23@xZ(W>{<paE9#0DRU# zFt&m7u0EoJ%ktOzg6^FKLZLgj?XC|5WH2hK$ZK|Cl~T?o9p*ULC5M=+n40*FqFg=P zrJ;zI`h_{SC8Zlt^%WY*N!@oS+Ktu4Ymw5CskOw@h-OQ}au}-OdEHB66Z`<bsc(># z&T_=tu3%cjq6XCA{6P1!7|PF3Tz~uXE>+>kI0!Jkb48${%cq#BQ4M*PpyC!K%l@IB z<pF4Gk&d7uyQGbltG7`JW?nTJZUu_BxF5p$J|S-}xh45}O57SI0o}f0mZlZp^HlwL zj9;KtTytJW_b!0Yria7C(b|%>zN#91FmRsu`jx{aAOq~|jV>d0x!`})4|;fWp4BZ- zIkgVTReA0eL928*iKr=dp$Psulq|t_eL@I$TPR|#fZHGS8xbhDT`SwDB;f^wq`Pl8 zMWVspV6G9`6o8n`4OixBBD8HV_$|ga66dmt$h&ChcTs`9{DekmOt7fnn@5HWR*e@B z+*Ior*F*|2TMb0=6Ndi)m<X*coFE{PV_6sVV0AA5^E=0Y>=y%>&l5l#!<GADIVEv8 zs9%U);+`9hT~<of%GU^rzGYqY6wl2wcMzA%H^)-WZ85$|=!UEaTIMhF#31)RkV2{_ z8<$Qyh4US8mSEhgg%2%D{Y9+iQk&H8Aly$RO<M-El<0zA5l&h*0ei(BRafEtK@(P7 z8+_MLsk^6b&yMz>3kK*w+vX^00IxSvvd|r15rX#d@hpKUR|fRFg)j=Q`cA5GTS6Dt zI?Bw+Rs(zg08klL6;M<-bZhiR$&xw(wP8lDea-gUPWQF=JiigGX$>gyyuSqy93)Wy zwUl>~zak<5&rpFnEV!yQO4+|Lcow|+fT&#-uOASoQ;-~e!p0kPG@94E4G&Xo7lAn= zL2275L<KE`<p)bKA$s7nzjXzpe2hoL29(;Q)^r+#IX%iE0^PmJ<95}pVieu{OSns$ z?kUzt((~pp3X@jW3P5&jNCWC7g&d6KW|53>F6OHe3onNgW<^$)y91>YTkaP+plQRC z`GW~1OjjQ3UG*KN@hmP&8-_5cOht2X(rGT{C0mVeZd9;P)X8T*a3VY-O^92#S8yrf zcnM8!Fw{(oY$4YSDP{8vw@~wn-P{Wn^DW|GPGTJp)q@ji1N(>Yj_#gDS5P{pS;c>a zRg)Ly4tk3+E!?+{@Jwik;4J;4?o?xUW8UO4tC#~ULJSwgdj%v5uV36+c9OSkb1QLg zAZ)3&o-PgLF5fZhE5H~0$7o?L!}Z_Xx*O3&JXIgLb`*)g{9T{86;3q|sG`1O`(2uY z=CY%big0N^-Ncgsa4P;K6a+ms>NcNZ*929nTUxA#$qtq;Q<5sEOu{Ip)(;IE{Ny~5 zr^4vwAnhgD;alg%#`sgA*YN-j6m|aq*lTK5XA!XgxF$LZQv8on<f4ImXN#EXUf)wL z4kk<5fXCFUP$K4W00`cUH%*<{U59Vo%kb!~Ws29foDYewRqh-|L-xSgaQ<L|ojW3^ zHmJ{|6j0mmn*RXEDO*G>bLIy%EO<RZ%|P4$lvTa)^hS31*y2-=JVgf+{t#Cwd|_%S zFo>Li<}#<QMO$1%t;Iq<OvhPuoU=KOkzX)3Y7a58g}}f^@l`6hij9NrRdtYSnP$}K zsACE5Dm2J?Gu+l>7w$KF!1H+k!0`dU@IGP9LjGf625Oe@Tpv~U4&8x8d4N?If>cdt z92Zw-*I$`;-xQArA=bluqx>iZ6mM87M(DWeJPBC7*pRytDqmLvz6gM0<_DI_s-S== zQkpl8pzHSE@f%yAfy(^Ln4x63fuOzkgM*?2ZT|pKquZh$UO%{=wMsfc-;y1GSKZ(K zL0HMo9}=Ki1m%B!aFwmuTp#?4XBM?V@DRaRIoSRtz!?&1zS`f23ks;&k6w=eh5(uN zF~PmHwH1quRfH(A+E$0+Rz{ta?x1{JyE;m$r7L!&tQ0vMBx|V}wdN~?Z?ldd_B{$} zIiY;bh63+dIbAick`N2XHu;J|WgFB>$FotP4oWC){{SN@s;f^F$L8Uqh!s9D#Aq;G zVoXOoL!qy^c;><+D#9TA#qJ^MSmILf%E@)yJ%5CqhcFdnsniZ(@d#mrCHnsW0GR@h zGb15V{BaHOK9jzpiB1wFaAb3-j&eX4t4<@}`sQ2W7sujX)LZiv^8kWal%8P#)t`nB zi%-ma6$dYTK98tT%b{yLt-x?HwWs!EMZm_BjE!Wg;g$s1YRJJA0=*0&*eaC$%I$Yt zCqAJiJ_4upGv(ZiV_C9SzNHm#O!EkdrGv%#n1~u2!{`9Bsc&d$5Yf9B^3mV{nb{jR zEVkzV0M+#ux-<s=0OV#iQF}8d%F%_vRKTQIPYxogN7uL=kW+iaP4_v#`Ffj#EepyN zvh7vh{7S*$&kRvEndT&z&5`{0f_raQh`I-ZdiaFG+`!1x>FL^zwQVn$CI=3&F9XkT zosIVj*4Fth3ZvLG_=PXvCi#a(4|evKVR9B5?koET5Xb^*nzNr#ww56EvGrpD;Q^A5 zF~of(8{!4)2o{op$O~!*H4$hsTJd%67&bRNSg795L|+C=e04mL=DLU-i0Y?Lh<2=; ztK6ke6B~=A8o@3Qk=)mKiK+;Xz9lb);L|4bLbY)#&zNfi)XS9Mh;nBY_XOtQxv&d% zHrtCu-bH$1yzR=nujMJJLv=UkIDAHuj57Q_Zg1#&5X{yG9w0SX7pBIb3N~B;Y9g9> zoFK1N5lKT=R4?~CNrIJ&MHCfWOK6H(uk{qJ%Hb}bF-TE#a3e4Y$<sIaCus|$mv#n= zU#$M%S4(tC7{RD%@nKY#VHM-dCf4K1S4zO=9}vtIY^VOn?Z6!l;8dqOUxFv>4ma)Y zR-G-|+#s`SARsr5h(Ln#OtV*=b}|%uTZ}psaN5)3s9<}CKl=dRHlvAbcSavFrS6Y$ zn5v?Sg#xvTfl`1y^Kn6Kdwj+e05G@(4(_kG=+qTy?gdURy*<=R5)6!~5LSNWu9mwN z2G6hVTHvYo{u3fptIVOqcgrhGvii8t12S3SrH>pyUvW78WqF*Nk#EEU$?9IbMOT>7 z*tM*Cex<zq$2o~WUBfCRFX{kzKM^V*dHJY@CV7ETu>Sxt=X}KCSD9VMZY6iH&+wwE z*lWx#z=*)rd5av7SiBF+z6qe?Imu2HLq~~Vg7z&dIhIGB9%FN}K|_)P8|o6EfwYKV zAac|SIsiIKDktPG=BfxNwfnMOl)1q0_YqNSUNMp9e=8`9LmgW6522>K%WrDwu=tKX z_={i6I4<&e_X4Sw(hkIf6=0$1$RD_DG~a%rDk_Ath60ryV}cH~T(dw0q_mXph4`W% zqC=d!mkgYwq85_z@I^xtIqnV{UcO?HXyth$p&;;OFf0Jz<PD&5t3PldXXr{Yk<D`f zv<LtoZo!wfud9rxvu1kk0#ON@4Uhpmk8AmsR;&+6DTFtO2ZqU`9RC0)w53anwM0&s zbN*G2xPGcEYEr5=8sql~*h6O2@1z6n1=xJST6Z{pp!vpO8X`8P`KT#e#kktRu7|{- zETr`u<12|pLIpg3j*dF!En0&Yx$t7QI*Ufm7sS-2#oaOs=a?g(<GwTI6?@Dbl$^`L z1(0p(!(KEJ^abMnA`lM!7jNnz(!?Bvr{I4PqHQ+0LPDUZ_b6RChZho28tt>{;M@y# z+&0?{di2IP!Y<D;wHh4zfQ22Eb;u`Wu&?5xRPT;TfFRJ<IsX80)xTi!PxS`x9x9>r zDA=yNTXVQKa1gE^C%6*G+i-){T%Z>3W^D&K!a_13=<_Q@Uv~vt$D@hRJGACEbZw;z zE*P+0;W>oxW=d8%_bNkGv_+!byXrax{G(i;c_Zjn+ADO%jWo+^W7!IL8Rm=T$jHaO zt_^foBXD;PnHJ!-%!08tQQ^2DuruZ7_Aw|Sv|h$9f%9<^j2)C8?k*Y6_*lZ<_+54P z8aE<qBa3en#Tv4%VjZbNYH?7gub86LT3VN7u&$~j%pP7ioa|+<%;A5Sg3nN>qnJ1T zEnLf-ipMc$)O=l!+YI@fyA_ph)S;=yuI72>7I!~0?p=MurSU9f&2cQ59r*JpsD#ti zAr&}T4S3gfJAXMC>WW+eHsLH(aExFmP+KvLI8wqwH0#93p>Ipn1SW-5MX&=@+pjRW zJZ)EB#JEEFb72K492N(fnLMt=P3iR<s?%Eef7C><N&}+Z&7V@5JP=sB(9%bP9KC+i zZmFjLct7lwR1HyKWp^81@T3B^i}~P*aQI67qe0bGMLuF7)vQb)6T_2gJyL_AsF<lr zm%MWa8gg6P_=ae*<#l`W9}Npv=32D}t*LZdUoil?KZ$U7_RS@;!x)m<^Lj>h<9$j5 zr>l&#!Sq187wS7}{Y0@daU2UHwQClULrmJc{{V0hKe>5(z9Xn}Evu{$SSMx6uHuwU zY9Q`4XEUPZtDo^}c~Pt8HF1YfoF>GAu9>Kcx`<`}0E5lMoYfR@ZWV3Zy5x1X-?`Y5 zoC)^Ja$ecX5}W)+yDf1VI*gp#@eK79b;U#&a=_j@DSqXHvc4ugexjd<3$8*CxrN=r zk+JhTxNqQr@zLQ1*Zt;X?g4;6<V~r^;sZ@kK2v{i)*77nU;}(=O7v+SeRzVYwao++ zsuG0ciUZj1$J`{_L>0U4DGe&MYhGV*(Ws~;tK5DMfoi>bW{JB~f##qn6ysNqnDyw> z1^)oJIR@#mr<2S9as?FK3RvAkIA9}CX%%kFpz*N#iwKl-z6;O9CzQI`zA5MD%rXrL zbkom1I*pdV7z49Ax`7c$T0!3TQ)NDvw%a0A#jxL=Yt*g@bPk9DHmU50iVhlC%u)>C zY}>Cgm_^_-%|R+!7P>$39@<x);bGF@wo)IslGVdV-H*Z4P}uNC66dSoiBpcZU~5g& z9P251Ip3%o%6lkm{lH{!@3=QgGxrgy+u7<WjKKH88KAKFL;PRxXu8<@%<5gl){zpN zMM^<eVl6IZ$vLZ;w$8FzS2I>0c|;(5%Gb<5)y3hNu4hXcwaC2(_bb}mcq%fgGl_`) zexO#zr-Pa1IRk?tYwlPVF8ID8^>CqSHRfA>XSxl6FUx?Yxge7pzc3H6Iq1LYDtsC? z?%U`>3`TQw{J<8=%X^g`z&1uKD%W>W@oJsxm=F&IKn5k?H5yi{$nVsyMpS>H%MdOx zOuGL7xQlh9bWy#v+}j{)+W!E83<+YfU^#8Th8%9+wrfI^OB>Dj?o%@5;c^t$IIL$? zX+0rDWLmu3fU2ngxNo6HR$Bo@y#^=>GWZXen|(`Bi?qvK*On1U8i3v}fPQW-<8a=G z^Yam*N+@gk_?NY6B%`Aq{K5jDZpWC5(L$7`m={Lh8ZlKC2+<a_NV6aeIH)TvDAMif zTTw3uYhtK|s*WDvQmWEm*6+ALf;NibR`JH&%1A5OPDcx;>5A$#;?FTq6nT{Z3c7v5 z-~gF&qpD372r(c6g*|^zYV!95gw0WfYAi}3y5>~Y))k35-tikU{V;^&Zbs1-uc&sp zlN$HLeM5GguqP2-Xt>E^u}QL}`G~U}vOMlFA)(0WQ;B7QY?h1SQ1-IJ&c>~(%@ert z)0wiB0W_4pCxMY3FFnKLmu(W)u_a3lzli$Xg@4@gT`@|?9k}D%a83FA&ee}~a4oIi z`9X~rlhc^iuS$Aj1OQU>ZaHXGYl3u;)f=q85E-hx#Cdkc9RW!Fe&dU)=8*SxVAXqK zUeMkMJsm*079Y?ho|OlXb@9X*#iyG6o+Y(m23h%buX53uQ*_o26x-@o-Y7r?4N~m- zi--q2b58&`uZWD|&@@or1y>O(tm)*AP(+|=p?F>j*~h56dj+>nQ1kpt<t$jM{{S+# zQDrC&AP5T(Z6kIZ@}Yd(WdUcG-<SywUm<xz{K}%Dpe2wf<mgB_Y*;RbH|kNny|3yD z4ZYK~00Afj;o{1O>~4h9<*@Z&uNyp(5wr0#KrHLxShYFn3WAl-?qp{No+c|xa`}Z} zL8tR5qB;^3b7xU2jvGj|06C>n4FnVlfsH!H3hE~cO7YSsh``VAD}BpdVg`AYRWUip zl{C1yt%r6x;srO82ewj|xPv*5EG5hCD~gJ(mk1MY5Z|~cj-~He#_m4$MYnl~YME1* zivD8mHx@N=+h0=+<~8mq?p?WJ(Oh|pO_wNvR9rF)wQk3^m|TAm%vX*fu;opJ<XUvi zM8!;2IqCgMDB{L*e}J(1jZ^a&v;HF09B~LZphoN|ru@Q8M86%(6;Ur#uq{iu!4A@v zxBFoUC#@*{qlQtq{{YfhatENH{$GMRm<Y2StGFMyH8cxCns17;>L4>UlmJ>-YCxsM zVqt5xndj<USPcbD2EFIKm1R+}6~W+5b;{U!v>VLY7sqm%QC$P-yh`{-(6hyQmc^>l z_7SKc4+D4N5;(HMESF^-6^I&Fu93@lBVm(ob@`2I4i<lM!sQziJY?2D@G|362}jg^ zS~eI2WxFIcp1vhO*+L8&n5w+^mgrE^>Lo(cq=~|xFERC^xcIqjtb@Dt5nW<<OUUXP zIfM<NRKkNvM>X6lS1&*tU>8OK;35ayD{K@`T9l2D{{Z$gglD<$BaB7!3Dj;p*um?1 zkDaKw&k<LM$#5MygI_Q^+^WQno*{XS6-%<z><jByM8-66;w$Dn{voYBkr%`&@evbP z&uiQfE~i(ss%~+<BVxFhQFXCbZa9Z+Y-%%DWcEK&+BF67OOl@etByrwhoaA)Kg_G+ zX4i)BKg4!NHdAGFviO%_UF<=tii7|NxAg>40WE*167LOq4CT$1JD2|eeq|Dt8>_{9 zL;(O<NP@=)BU*4YX@%pIE9<Fe@G!AzHhhIMXzgACDePHtiQfGkASY<AJuwS<0FI3l z%ZVBVFBN|xH*xM%SU6L!QCsBNzt%#!69eKj_iHVK0pN_iug=S{LWtJ+AX*wLyoV}- z&r@K$&DU0_77Pb2xJOi4xza^o4V|uK2o$Stfq|wPzcH>53U__|M;nE&!vMCcvYf#M zx5+F`1OX9R3>pPgQKzr&Kc~gApDFGoqo;kbD380ks6!D|Co{X{uITUnqSM4%W5jie z2Nwe9m-eWRzj6EO2c3<$v|0WX?2FVzkCr99&H_435tfliRuy%g<ruv66<R=w<`(8P z#~x=gtvF^%*x6y5aZV=@#osw_aMq<{RRjxi4N>MItJF|a_cyN*Xyz8SN8Cfr<Se0@ z+`G*sA)_UMq9sfc1ziZ0&a506lm#0odZ|$Sqi)?h2Y4ZmwnmLBfOqpNLCyU_(9O6$ zB|rx|zcEk*n_d`-TT!`1mvZgPC>))>wpPVkXd|oVKM{K%DpDL7<3A8^u3KrnE~($C zPI|?$;*Q^mUrSk#KABb*wzVLqZ`;hh7aoqI=5fOFHMzWOO5ezcZM2l)z=1s4DmMnS zG*kwu4<gUhN2Dl9G@;F5HtnTXO4&?ZGl@-Kn5-MTL6v1$%w{{BTl_!`M!am!c2!vl z>;Ca9Lbx@3MO|IpSlvLhXa`)&7T!*);vSBL^9#HpIGk_Xta@~5L|?UEF&ps)%lQwc zT1#*Ye{4IL5W&3DpSedS0H6*7{4pQ7s;^K%V`b`B#B-d%OSyf;v}Adl5|LPy4BrtX zZ`@V!P&aN-^2(0vM^}WobsN9%z|-b62Qt_v1f+?gSrqAGe&9VHGLouVx6DI`d>D&z zu>3$m<Km}c=TR+_vQs!g@fzVs!_=T?>yl?u)9u!ybv~Q@OKm2?B5VuDH6rl~4@<|) zV498t=UmGGs_L(wexRTW2<#HUlJHtUo7^wDj$XV)EGbg>zy3stNxsC;@&5pj@~XPu z*UKLwz>$6j#X}eps}Gg;8uS87caol8?goMlst;fFLBnt@h5MKV4H;FqRNi`Ku9$Cw z`Gh0sGAV-SykFEZMx$Hhg4VZ^SwAo^Z&)=uDvMt+EE{kT{{T(<hY@^{w*;*L^?&&v zY`-2;``DTWt)_(E`{G!x7fx)+7*=-yK^<OvF&%_ms_!5mq6%Rpf~*=ij)91Fxv9@> zY22_GSbiZPSgcXZDn^c9U(6Ou1t130uO1;{QA1dsV%xDh<EW<>ElY@lSnRJ>Vx$n? z#9kxD*;g-!t{{BHc%E#b{{Y$9!55FhDct)dK3JRQ<_O(N*0wTxWpt2S4rQbv@fjs# zVrRsv6hx<*lujj`aR52CKTpgj5wZTG-Twe_5lPBdxPz*K!Yk?+pyCC8<VY9PAU#7) z8ie5-#xY%#xHq)*TlFXiw^H&&T&*~2o6CVTuEVV6IRh<8$WFY(%A-#Xi<au8ym1Ab zhY%VUom*DFzvc~E0g3`wi=_L6<E$0a?qBN~RDA^_DpY|LRqnqMl!c|+0?ZN_uW@PF z0YJQx&oxb(^$`JM(p|QF5SyZCnF$ed&pdvJAOh4cRw-Sx^#^_W03YrGiE&CSo82(d zAOdmJcojf=BY(jhr&9TcloV;^<8rVG+Z-j_M6N>d-_$R&%3t*>A53xHvI`QMRb9i8 zExm=L%4Okbcpy+i0?CVbO-8tN=Jw_V^}_*BsH@^sgP{hp_+>q?E7e8!A8d%0UP7z5 z;ox8beG$zts_qw0FzwjeNv>fECo=s)gObyTo}*SdH$2R5vNvunQLoQ2c_VL`d;66| zXNrZCaRZ8guecjtVMm>dxqvVRnK@?4Sfy?nV6@fLHAq85v4XdVSY#|;%+UGR4ZFyk z2qRbk;&%$Rwj<9hznDRa2=JZ3*KtDMV^7?^$%$INDs~Kj^^a|NYt%#T(&+^Sb=obH z!qKgMpg_CEw@HnZ7?<uBB7ww@DuJkS`GJW*9kg#R5c?qr@&m_>Am*ueUe$pL{Ej_B z%*KJ=gC8u;5eY=~5>B;BRX6d})={G%!OYYL3Ld|?gVq#08{eookn9hr(vx6v3Z6=M z_g5TIOec_!>|xS~9mDQ|hyV_#Pj`{KqL;zZpnLonxKwLLEz4JY9TD;A0zb*IN0dvm zSk$~CF>&%mt`sx~D*>aI63sgW(>F0VV9w7xkq&A&UTO#ktJ^3dTJWA_jF@wgAnC&= z8=>Vp_Xga6z3oxs8<viQUJi2@q_~shi8)|A@#bMf=7)D5w&P{QUq0pD96&1wQ>%)e z_8x8w3vda<E0HXbwb<D1A4?<mCna2fHBc?la0e2`m}d|R-w-Zca}df1*JOMmB{`_^ z_5LbWE-k`Rwooz?#}bLGLw&)wB1f2->%<T$i;aQYxIe(K21Hy9(}@%S_U5)a4O?7F z)KT$Zo@=><urwMkxFA4UIaA?=H5%b7sLoLU;YMe@fv#9qoQJB8;q$>}KSe>UDgl@8 zAYlRF?U&y{4JXAw#rld5+`Jg?O9P?chm}*@Vl3DaxegF9S)p$$hOe-pg@v*pQ{k|F zp{A_|h8RBLbgxKmUM>71XPuU-;K%MXAZQf6Jj2Kn&@bF%600w`#pnvxs7Mq8YZv69 z$nP$do+1=<bMC%l0|2(Wh{h8~#H}}YZnt6IDREqQml^=)W%}@O5!$%jfHuG=hYE2| ztCelQ367uB?o)=Kg9&+vv>Sw2w*}+w2bkMy8EI!JS(AoVz^J8U`AW-+8sg<DQ4fSi zh)zUQz<dxms0T=HpXLB_0QQ(m0pd{SiC|UCa~efHrPK~!`HQ={n;B)dxDik+uwfdB zWiP~4YW`paGW@8Qb&(z+JAFZ+OQ?dFS44ZzM%1hWApSU>grFTC%)yj_I9u<?!5hSA zq%sjn#}`lr8g?XYs8o;K5H1B2Az4)a08pY%6GHiZSN%nc?-mF@?goa*qLN;`wrDaa zdl_93P$-H$#sDBJhgVyZ@g7iW%~|GM(t}(~K;M{WE-NB2Z?&N6RjQ1%9{|+6J;I=J zQ|_e!X>Hi>6cd}RgR_&L^D6>U#g}jt0j#KmIq=H*i6j)hE;}nSjlcIA<U~@MuqXpf ze8fR$H)t?A1ae$T4J&B@=2W^4ScxIgcME)7FiwekPbbXM;|&bA-@h?#+*X@8M%deV zJ0pj<7G$b{yw7<PEsBjt)V*Z_*zJ^0DE|QU66JLpHv!^Mj@^KIi=6Cf+}Z<&B=?9V zB3XBN5OEUxF-p6NN-P;;%o-!s_=6?9GRKH0<B4-Bwk4}<i!-?5^Dg(-5igQi?kZWE z00V<@jw?3e)jmf505Lq3m%yEnHi^tzj7bwpxZ~ziO10E<nvgKJU(c8_PD&y^D*ehD z3<m}3{`ilLP`9;~Dbt$UjaA)R$YNE~jCU0$F#7i{$L1NS9u7<B(%MfEo7>^IOeb=O zh{X*&oXUb4LAT6jtqslcETd-+;Y0!x_&}7i-E|VoyolHeZ#dj-Qg7U-`U_zrj}U^d zfE<b32n!B8dXA+PDxD((_x!{F7L@sfTf}QCsdk@;7`hvI-}N7Xit`R`bB&6r!YvjN z@|9T^xuz<X_RGBg01ZT_-S;t&o)~SNl+H=l)B!S6grRmc;&4F-f*4)oYscaZ7ZUoG z$C#nqcEztz&zOq`b;ML+50(${7L%y2FkWE~GV+J@F4t8x>SDjRK}@{`#Jgxh{4me= z56#@c*vrQv{Qk!ML8TEtQG#?WoQyq(FMYmd!UI&{^B96tv$M=9<rQdE__#u})hc#E zZMP>W@f=wu(yOCMP_WQAi<Hq;n2-=QYivcK1{+6UXhA{`)=WaJu?mz7<~7jd7x_!b z%P8;l5&|Gsal}H`SVvPQIAS#c&vE#rLTT;>#F0TkU@W1$ZN9LKHA=2yGg6qW$ynwy znzjO01(B?vil+~s+_FcLYXB6wI)H^VGrEo_cS=P8ww*w_s<E%cyg@4m4&RE3-7$C> zd3kQ`Ip$xcaJ7fLvDM~O>VFAif*RlO=fr%cf>5`&J4lLFHggq`E(pe6S(GB_5u-DA zj%Sr0f^}aq?`{LkMMnHaoQMQR#!A{{FGxhQsQAm?O*-@b6<p*M<lt`OBA4><5aE>6 z*tNRiS8f;OjkscTy8&|r4-NAZawr-+{#W$`4#SA1(P$l3@7z#IplZgEXyF|eFeM%i z5Gb~6FFxQYYD1NW<ez<W90cwTzc7_h04k3yc0*dKuv_9QG#y=4a?8Ccxg5PQ;Gl~^ zM~1ug5%3y#cTpg=a$8-0P*`*vrSakqL86QrX`eA2j?F6WSpjS=AMi#?)E2A+&5bDm z+Do{|iZ0F_mQI^qug~f&N;knaAkl2r{6M_4bK(nIWAOpN04@2Lu2;VhZr$0$=(>dk zr15Zt<F<bW325LiS3V$)QGrE)aZcyXJQ?j1=2y8($C%zQgSoC_Or8^c)O(+}4rLPW z>Q}Z4#1o&HYs`4;M-rV#x2bP63iBS(Wdv59V{B!&%(2v>bKL2;UltA94lIaeekG4E zdqciYxl@*M<bq*lyvx)>nw7U5BPr)0wf+h*8ilY>hnMCxvgPZRH|ArK?iO7UiSpMc zLpY!qI$uBcnQ#=ZEP|*4MyNKwOt-UFPNShH6e20S0=XmA8V)s)+LaF4zX!ypgax&q zD1F3;w@J%z3th0}`aH&~Fp}8bU!%vE;S09)4N>>b`-`ZSX~l6~Z{{Oft&VMT$1w}B zKwMe{JYU2C7St9lkRGjBx-=KQit0T%APdUg;zWZ*Vm*77k_fIBe85ph1Atd>%&@+O za{H-jywC5*hTDP!-r_|OM#Ahm9}bC6HIpm2qA#IK?w30B_tfs3Ks3Q`hE($c>X za2*vDcP$xn%tf~>%ZfXNIh4D&>2rk)-!UFz)?M2AkG!{R$;A0owhws$)Wh6W?7aT~ z7Wj#+S$46x_c4KZoH)pn%HY?y^X6Sc!1L6#+m_Zx6!971nD3u+-Nd=uy+ESwxqtw5 z6yd~ZmpEe>&tzJKxMzk^@;2p^;tjhE?27~{`GASKA6W|1g|l>=!riVF5rnJT;xM;N zv&>5#MZD1}6?DS36?8Jotcg>~*SK#EbxupOTXbUc^B=PmMXs*g(c|1Wdxwy>7r=Yw zHVZ%+!PBn2OA(=olYzWrof7B~qvYNtQbY?xZMET;akj)SACdu!E1M#o>Wt}{k!_D< zQUzZ!;YT>e!p=Q@;<cIpA3F~7#Z!RskO&O`pAkYSf~bLqoER3TkKExdRy@m<bU*GQ ziG`eT)HHE@<SHdd@hwzUV8%6QDzfey<^y()U$}_E<awOVJjO)URhZ*GQGAenvFU$N z*EKQAv3_E3OMlE;+`RIMu5KvNsb%#w9$~%2xTn4)CvhvfmEvvs{{RQEHJr=foX8uj zFEY<4s9YC_%I}?)9L`>eVQeqSIx@~{6nD6uXE2SPY9w)ByFv5A8@78Q_00LkzT?*B ze&<QD)5wR}Q&oj{gLwWT)+l#zo)rZy8w<e<6${G^f+OGUD@tDOWwf1ZL=dR8t^WYX zrD|2-c!!M(RNzY~gL(>OkK9gY1_qz#V%RVO@E%uNiA6*00MxI)xG`NM0+rV<1Pu#_ z3ibKp^9ng(d=o0Xz+M3o$8RqMZ_LNo+Z0=J4+Gb5YsP|uT*~_CN^-zPhc~P3USQLT zpjRH{drJ1loC3f~G*`JntOA;kNzUCuSR@9-Thbvz?NCJmS6=1NEJJnG>^cff=K2f$ zk-srSTvaSy`itr#%N6qziKApK)>?Xs-!QTb^pjukyUb3A;#O1<JC(TrmOnAgN>6ZH zVHmC_;VtHQGft5^+MFs^mjbc4KFUuckRzKmLJE{|3NW7TT7U8tb%5bzx<N@&nb1X7 z%(CT(R1v%Ri>yqQu3}y_8pQm;RQ#g_SocS_@_r+2BJk*PLJe|1>RKH*YM3Zn%KJ;w zHq(lX00vOir>V}Rq63dGNWl<%IDn}ZG(6NM=w&(&k%)pTtN`u4A0FcM%|JBY6_+cC zKol;*uGXQHvK*s>in}+sZrL~mz_Y8USwW#eT3T|;B0pa&AUljtHx;Q^)px^PN12EZ z3(If0ZW2^hzxx+Ua9s=d@pD?{E@}9Vg_gRNC{V{BY(Z}?xZD;~PQ@Vc?p&|&)FMi4 z$OlEW?hpgU)H1%+=M13Hx7yn`=!1A-qPW=RDLq9+_+|L0sHcmHGMKd6whTDtTf-IN z;**N|g-v44cw?JoxDv_5M7|>LM&hoB2vtCdT)@6!?<P9pB}9LPuBW$ij!kwHIr@!9 zYA)<zud0Q4sJy6-ps$+9r*HKeY#N?1O)ypBUg4)nYvUl#QyfR}7VK%=MSG4ld``J_ ztBQ%=`2^C|wvAtqh|9dU&2|#>DScg4La}{r{6_!}<%S6Zr>HF0%AAt~EHr-MW%1k4 za|BX`hfD|sRIr(G6zeMKPA|bK#z!z16}W#gr=VKYcs@eBz9kCuDw2fO1zO*jL=JpO zq%CoGdkSF|nNBO>x`6CfBr994?j@Z9zs)>j8>=N$PRKmg=ZN;8O&5;WUr`ZkwB1*i zh9_CLS05*taOl9t+)8@Fm7PnV7pb6g3lI%Gw#Na_a8)=ja?dBsa;!_dWy>gCZWcdB zj^c8(T6g~dgj4?jvfUA0BIu@|*{tFCk6N7xjt|Tmve&FRDBlonlkRe`FT^P8V@tB* z!BIX4+2fgB0Ru>!ks(psAE=V&;wZF58Bw|F55!912B#2AI6<)SBXSH|?g{4Of8ZW& z4cKNur~S{!n;?r%65I6_kUNy*Y7X4XT9;f*cRUlMo=FjBFy>o)!{*}B3k`!~2#hsB z!}LFr4N(I}UgDY{yQ5_ktiSsZZN&4$bf8t_BMvzOZ^)K$DL@3}r&p5e)e<Ni)o|qS z!W#qwTD-oi+!feG5jk`(k?|F8(GH8%gLxbJ`~Xs+>AK#ayI@l3<#jbn*AXKMj0(q7 zi{ku2ShVv@)ro~KCmWF%!Q@Mla}H$MUCF~e^ER2SD;&SvrV`tSWmfI_fE3WWOHlEc z*$n!vM`~lB%cdUGR8D`}1OOBZ+RRT9h}aD+H*PtF3!_vzhgHdKybw{YcE)mo-#Zk= zxnxrdD~Vd06}A5W+19iV)2Xd>4_UT}U^J{yagnm*Ex^GWP9<xIj>wVH1`bS<9w9ZA z8eT*xe8ojucz_&FIY<vswt_09a{@Sytd^BfDmti-1Vk*>(IFL_Kp{Dw8SH<G<NSOv zb9U!H;O88dL>ruUxpmw%?tLNU)NRiZTtw8gt*J~4W`=kE2J&P%l^_i90_N*+@A{yA zVmF~QJs(qV-(4P}WL$Z;wbIQmsgLEThA=clCZsC7`t@?S3Zj<H4x8#ckxr9dxGPoS zP|oTO&<oKniB8ciO^7nAD0U(C3sq<y{*c%_qH?}UuXQ_)mk}#bvfI}~%E8F&fDM3p z0em?U_hz(ORVILPsDySQsYhj$VR`WhqX5{^VPVDd2QikzQj}ixuW>*e8nY~Y!J5fH zUV(j8Tp4KF#dIV%UIhZ9x|*gf!p_GK0j!RmV?YS7d=sCUKpV{1>La{!8Cjz}kY!a> zUBsknlZ5ACFSnCFb^DcKcZ0n@)aVzo)j0r2H&sC*mg*s?#5bs(r3kzd!*RB+s4A9? zvJmlb+E*|M0t6J5Qx}o9^9P0k^(o+ja;2+^jPW<Lf+;{idQ>{FyN`sJB}8Y!P&kX@ zBggp;%iEU2f4FpoxrevzC!3aClGhp4#^5HgH$T8CEA9or&HO@xn8D2Ose0Hb8WG1O z^n_J=NM2KzDrL|y@f0z&EJ{7a4VPv<&z}&EkceFeht@)(ptk^QDa*32n4UU;0InBx zxrN2=$&tV)azfxF!nzA|I^oXlIC?`-tYbk|`aH%1cw=&E0YRWfleM7ulv|YB9+${1 zo3X7O`IjQ7W%5WE8DvGE@EPD5ZmdZClD=B2Wq<N6vt+fD>gnd<tww;;cuJ?Q#3f$D zC?4C`^%yGTEL$EwaJL|jkyW0&+;+y1twUA%l;ER9l=brmX3g?d@9<2t)S}v4E>%s} zj(M3{iCN+t6@8&}HXn$T?G`J1`IQ<al)wAbRYb3~MgIU%SMFkEd_)bcL7*TU68ljX z@dvn<1(EV1UlsX=r2!DBPq^<8$jGIWo@#PPl>)li<SHQH^9SM>@e|@yQbRmJxMWAS zsYrmb_pmkr*g^}(Qpl;0<NUkGUti*r;w8fGm_fQhSIikuvsEr}F<CCxh+QI>o+VVJ zs)<}mNCC3!7b)RTPMp3pg%Bk_FjAti)9ETi6%|7oJ<j0^LS0^n<nNeyx)qUl^nGy? zq>9I7Sf5AYaF!6+)|@pGAtN`lc*^na7@(?RwkhQ);x*Da)q&HSE2&pWU?uNom=$9h z0C7AeB|($qRe<kY*fAo<Ueb=tmC9P#(<|cEUz0#unAy8(S`9!lh00$NsF7n>c@CeC z1O-YU0<`5{A5{yuiNQscee7%Z$4eAFSl{9mDWSsF%WGQz3?KM|MNlOzY-UkiDRmZ} zP4vPE<mRAgg}i|Ua1D9q{Y}Vu1@M3JUTa^Hss7j^vH<r1%pTlEJIL>XXvDh4!Ye8{ z+&(|SJip;m-A0{GHZ6aKx`BMmY!|YRQ_s1r+~+9xfVutzSGb_#=2g_S-Q=|HEG7K& zE#L81{sXugT)Wg?4Mp^V;%XfcDUqvv$7_eoUMJbaEz^iEgVaYM9ao5orN@bT;v#V> zeL#4Y{6tvhyOphku+U8(k^I4-zBF+grq6DCLEbzzuZ!*#Qgsmr1@M>sz}9hP0j)Eg z>LbNrvaM3QD?SL-m9-5szbB5FQsM?+*beQ9@hMhRYlCjeKN8473^B>3b9Dz@643{w ze)1}EupBts=#C5^+)CBMnSG>`fao9J+(9Y<IS#M!%&u%@h9Zl`QLbqieg-%>8u_RI zRMZXot2UryEIh@Z%n#T$g=;vlo~j<zRit1w0)u*sq%hLiM}}0^Uikb*HFtmWFfakA zK5cWpnV=tC9_0}isz#!+C@E(CqAwxk+y4NvQB9U>t8MqODM+R$d19}rOPqxF#Cf;4 zvMPUvf@8!@mfV%`AM{E*L2bmYf5lr6G6X&<7K!U424_<osnw}U-sgeGsp`3AR369! z7t8=`v6o<2i@_V7;)F((bqz})0Z2I;^B0jQ^#ExCxPSrUCqltYXLLtIOrMAwcLOp4 z_@4<_9;0|LtCCeKKzVgvWspT0NjR!<r#_Ii&;3%}&;{}Al;u^H_#FIP4pmSCR)u^y z=3I6Fs5@dR^0&;l(&<FpDdkztM!-TeDipC?g;%&D8*~C_O8mB5X2?TBV%WP-SFDy1 z16D4cGsL5OO4X;18vx&^f>jD}(DylALUe)_%+g`>2jo#)_>K&KywuzAOV9N+G<_Vo z<nGi3I?EXIl>J4f0GdTMo2QI`Wh*yrH~M*qsn}Vd@?rr2s#X3jYBz0bXqBahj-KHx z6;-iU14hd>iQy0KT&C95Sj1H{Gv;1}iCk<;6lvzwze&AZq~x1(9!<osW6O!I{z%x~ zq8{h+mZ%#O^$?A97Uh(zQP`YM9Dn(1Dj_cXL19$vAOTSHg;~rV%bhh5cTfTg-AcQn z4L}y)rwD3MQ31fi15oJH9w9u2N5puP<2F!yOHpudSld_ujAm~#latJ@;9%}iQvDL? ziXKcV>^ubl>`G!>027r841NMuyF4+Cn#dErYnW7)2DKZz#xP0I<hgBC<$t)Yi9{`0 zX_WGh2?AJBu-U7y?%eebpEPYNqqp1=LaG-O0M)c;^>E;p(z!T5<Qf;L@6U5A)<B*B zttB@MWETR^+s`d;sDc|pJQ<of6~L%8<?zaDm2$MZVFcDi(Xy-J7^pU2j_c+jZh*j! z+I>t~UExulG=1zcHHmLkDuD9hvD9f#k_b_s%yd?#ejpOl#pHI-y5MmDv8Js%heQPP z>Qjk%tO@8l78mtjq(eA}<-alOdXDCak8yV8j(8$!SGcE=58_qYfuNodcbR^|qdJxz zrn~xs?mlJQHy}qN&$wFpmaAo$qhqKBqeNS7VWpL)$tmTRZZ-LdulG1lD2i(sbP>e; zP$P4UaANapRPQ2Qc!`<e=2hR~Su1uO$QFD}340D;)V-)B?7rpE2osRHvKdq?O1uqu z(Ubro>D*jdVOE-gI53)~#UFpnI2&5i$-!PX$u^l$y8N%pDimOBGz;Ln&&*ZgOV(uo zQ7?CDq0*p(fErhV`#OZ`G{H+2c;(|@ff^=|7j^bL#O$;z;0g!?<P`1-4~=pe=E7*R zJ}`)!46PImzG#HkRR;s=0(p+bFH(%=0SDBo3S!%y&oSAJl$Nk`h_g;r+lIt$`-t5= z_b(tT{^k)I0?hXTpxoEQRY0-)%`No@uN}rNr8_$A0&5w-4L-$}a^z^coRh7J81*e! z<WsoN*eG8vW54lkQ5gC~?lpSFT!Lot{u-RXskFESe}fJp!9~Il9K~S7{C|eTWZkL3 zQz}<=I8{Wb1afx(aTpaBE@{C5?odX>T}H0uId>DK%JNXuOZNjVJiZ{AJ4N#^atMYz zL2)?M{-tjq+z${3VMqsbOyER5w0|*HTg-A$u=3sa4Wbm3r;CiENC6w7KZ4?Ahcvu{ zoxAE2UXTsez5sDAD9=2r3xXMu7Q-x5YZ1D)+&FOHt7v>L@fwFfQd1AWAd1T0VO-nr zK@~N_v!bO!=kp(9v$($of}A)$*jk7Ld!SdwLg==w#cM|pHz+W4tS#;|T23abRx4OQ z0H?Ur<S!xAAfkaW3wo$}8GJ&(W$dA<F7DZO-YfGK7)I<^JU~LxzHXud;;ps&?iUqq z=rDJLue+G%{7jmQTgX$W9Iy!6xGysD##@_WwX)=Hc$TS-V!!dv5IBW#MCXnp7Qhpk z;DU1=f5g=QYs3v+O7MkN^9@(bP}q5Fcj6^v7D5K)B@q+@9quPGm62|XGVBWGqx!`0 z8n!Cpw=5b{DLMQ901?kH9I~<eB|{m^np7<p+~}!;Epz#2h%eB=0a@u^5`y?0V9Zh) z`3kC9eX-$y4HP@@+teQ;8WxBlyW}t2%moQs%9T#X+23V+o?B{~ySt4JK|tmJ+R231 zX9}(ZzGWFe6i`R`l#AF6kDeh7CB5l>;Z|_8KyI<&<J5UyaSFQmsPSuO(Tuf1x*r6f z5f);rm)tto>9)WTsxGNH@%xleDLM$KcJNKQ1>vc3^WfrSYPPNtprd_UV20CDSJB{@ znmm;T;n2Y4N9MMM_Pm0BP)?Y2r%#i^D(xOfw(}ZIKj4*)a}mim%td1Rict2WRK5&X zHOKgOgZz9hR=`%^W&Z$<8crLCIrx{$+zOV$rK~N)Ul$kCldkq7+*IX(_Z5N?)}<Um zFlFYj@-m>dQ?u(5aKyW^E1gdy>qYG=3a&QdSX#@QSoMYBxq6|8b^ibjj2+d%<UHZ3 zsE1g0S%;vH^A^de>dE~=G_Oy@xR!?m!V74iD~^~JDBMmU&Wsy6{=Q<l8U<|iDOd9^ zsH(P?Vh2BQD~e8kwwnXV%o=Hcq3t&QV{y?*W%<m2g4m^%rE>z6Q-XmIIJ-FVfm<vt z1<>&7Mgc_%GxaF~tzhwR)`~CG5U>T;+YzhhzBBrl6g$h*YsG62MdKF=tv3VQ7euQ4 zPR|FZ0j4Y<w~pwB3u)@-O4cvWxL#Zud~vY3D=ZIc`p6=_Y)@qW01(CB`FAkboEli= z8fm&pm=LB1nW4woU!TOXFcz2!vpxuMw<iht#zV~%=J|#7-<D@I9ExQimbH`l#Dr{a zyhNvngsMNnj-f|;0C|iYYFo_X04T}f4=7bbEmpS|d7H<7)Wp%S^DD9qPKf1Fz+Kl< z*%8`or<{mzO^Wj|V%4l~t;=6I0R@S%433mV{6*)?FR5&XIhKXFf_sB|E6vUD&GRY< zJ;K#U-*nXcrT~(#Vu})-FFq#{g%u4S3E3M+66q`csEY}6s?L{vch@jp5vOnS+$x5d zQSFe_G%$BScD=_?8B$V@Tzi0pGYKvPPNjpKN<8S85FNL;-zs6!SOKE#{-9b3UlB;O zI54?ZZstb9R}LVe{{Rl)6giN)OTNNU@qKB;L8{j(<}eiXD>p7OOeoyqP}VIj{{UZz zLA0RPv`9h)sQte&V^S?(R}X)2CwxSxF-|YU<2otkk={E6K)(QZ?pyv<O7t8aE2!H- zA>q)U7b})(YA!u%PR9F|V$8gtf-<`A;$L2$W0)Wp0T2Ao4I)3NAq+g-p{+|!*;?P^ zoiDk7HTxp80I{u<+WIG#+`JNpM)G!lB%(mKF6lhcTK=R-{_->#{UT?NBGz4aW|oIe z=RqR3FNC5-+{&q(FzQs!VZ6%_Q@LoxgPC~ZxQcoI02SH)0OGCKhlyE4Qx1~4s2(8H z5d~s+jeg+AnEYHSXISRO&*d5Eu9&q=4mVG^wNYQumyi~=sy@ijh_j)m%ctfoEGBV) z{{Xp`#e$ijCECrU14rkG4DD4k(ZdSmVo}59wT(*F0>9iUm(9}mEDkLH0Jc(;Q<XaP z49+G|Q3xOlG8lr&yUdkSCp=>=T{r6>ic8&Mq64<-=M0@4s+CyZUgC!4bq=%$^>I+u zc+Ms8^X62rUq<7Lc0W)J-dWfhnO#7*RWSLtiA)71brBkX1*!L6`xfia4$1IE^>AWB z&{sfk1<)B#N7doUNFfF<YBqAho=)@XRlVFmzUzi$$((`RKIIiSxLfnkh}i>V=>v5X zx)&cz^!kL0KsU<2+)1QqDee-^3_(xgHM-tw<KhrtExV7@vk@_=_wV;GdW}v$>A6I$ z!AgD2Ig~mJ!f?cb%gm1_gV^+sl#mtbnS#0vsbCJVYOPfRxym?;jSJCb{P8ILVabQT zm=dTo6bx+JcAXRWjgW1Hu$fLxAg74@f1BYVQFHc}kLCUr>RRkuim`pg_x@l+Kj3c> zDkV-?yiO4x@DEeb4wIb_P>UUNCcLixrdr5P$pUPjg+|KSc>e%W)sFHwnNr`o{$<n+ zs>k|*k*qmoK1o%lk#0ou{)|nwk7#=4A;~rH9Oy;mD(tbSX6=G19bVjQp$lHnoE7ro zR|3$ibm_*u%5aVVJVs$W7l9hD6Mz<pXna*XM7S@(e^F?l3|iPloGu;IbOycG5W+R> zuKdegE1ZLL1AP&}XEj|xt|_bgfN4vcMVae~a2IS(BaR-R)?R+9H*Hg<TDAbMKza2V z?m!lvub98h7H&l(OSKo=7h}9VOwa?za`lRWpC_0)UyuOv8kM!eWo3VGia~Fg^A?|| zhX?T~(ys<k;1nt5S*q*5p`_=lf-WcsBHv9OVCc{RE=#DpmVy+rwiDiv77Y9m!)N|L zB^Epb8|0opKs43!#KcMmylyOf#|$BaKs!oD=H)l=2JgfPX-h!`MHUa0Kk|GI72$-a zfH)U2At;#^xX=0AIYP0(aQ@<<s5L7qpSWN*La(16m~OHO*)iN*b}X!@b2YK9rUY8b zpM(4qc#R0BBvX!}0;o|Nha0uLWPgPoL9Qh@2ZUk8Ly1;I9vA_)8h1Fz9-;wkF7z+; zBp0nxKzyVLs)kKnS3%p<wj5*^qv7UJswGpK{1Yv`X|WtHw&2njI&(Gqj=(*1b1$}& zuTiWKUMq@XQN!quq+-!m0F`y&PGxBstMjXre6@u(S-^A85xS>UR3qZaZDN#>5e^HQ zmNsFvXY~fv&GvB$nitT2ae#B_buGhTA$CUa8%xE0WmbT(t3T8tl=V&3{6XmFOWeKd z>FOqwZv&E{S{0u#s49tcpkJA4#`c(EQ^;H<05BZRWi6Z^xSI&A0L!EY9gR@3@jLuL z=3Ujd%KSywzEATTw6?TeUomTi@bQv@&WAnuh+T=veDw$*q<ho-%O3%*62IKR9QM8Z za|-WtXY&P(6yN*t4(U%Rd5DNo!^tf2d7`53Qmi@WSZ?FC@P4AzEirKCVI~(m98&QE z)L`Gk1**LOd?d@<ttsf{S@;}*Z<NSsy90pn%2Y}@MYRMLEqJtgVX+(x-esGQDr!|r zZ3-{dMYmGb!}Tw~gMOfw#nZ<kTE%+x)i7@Map%H8mqn;{pNVwy{zx8(D>+Ll+=#wr zHu4ZH$N>Du=z(irfZV$jt+0Fu22igYqW%?*E_4nznyR@^F>43xy<(N>SZw^ui{o5} zua2OGjFeSj-eE8HW3>FsViPI+Uqj|@G>I*@8%q66EQR7b@d=!GNc!_H{{V`(73Y`Y zQ63jb^DQDp-3M_9ivnwlJo#oTL=`V<a1yj?yawC|ORJO@zioc!4%nVM`INSdIarPi zAF4u*dVq2vP;T=70Ju+-DUV$K2n^NtEQxEVTOnNYu{;-O`uWdN-tFa80XQnh)z^{) z7R9#0ygYvqvb8~5jkV$&KrV}Q_=s;P>w;3CpoN{C!z9tLWygqb5`@h8mC3bbvbrv0 z8Zy-D)T#?O4iBhcZML11V8#A@LSh(mkg09P1I%$=U#pA?q0p9M_s16ktA?*4BccAF zP#1(GN-(}4EEkNpP)3H7@=CG{-;0mtJzKY~?&6RuhQgyjyg*OAg<u26s1$4IV{L#( z8UFyuoZ8+Wh-&3?x1Qm*uwN1GJiPdeayIc#P|)mMF69|pDXwKOfEJ0KA%&2NnvYl; zJtj~NRe8AB=OYTZSyI`Mjv(u+`-zKzoBTvVfi2*~)^@w;k!#QZ`)`JzE|jLiYClnF zx+V(8%A4hJlLTDbk4adk(Ft415KHIP$4fLCqy5Yz+$`+?>aY=3vEP|@kh|h-X*`{U zQ4-?AsQ4n(+oS=HS6ft4dbU#+FjH03TwqlCFb-ixFhCB~;Qrqd{VKL}*@k|hQ_ce4 zWG1tq#UA2d!Olm<(J|$27_Xl*UR=eoii=y1CyIj!Nob#Nw*ED|SRLz6?0$2^wsSfz z@81L@8gL7I)N08ETEpuiAYgA+KDovk&w>|j{LOuZGp>A#vL!9b+lKs~EMM%oM_*mc z88ojCP-R|F(BvQsZ>z(6!b@pkZsJ`^Lb@+-DHWiYO6t9G#qe<g4RC&;&4kVr#Um;U z9=nL!bOYJ*FseL+E~UIuGMJAsV_6Ox-sOr?-2yAOSmdf@xeL1>roem<X>I`E`}HgK zODNZ22$bb|zaPvR8oY(~&vJkOtKwJ9O4~H3IzmBdbhhJ&H=Z~rzy^WbE|B7@*D%|r zj?@DewGxHU^h*I*etDHI3L-F|{Omj-!mU(bzAOeO%xIftto-#8p|X;&$|6Gq=2kAN zi|foKp+!-;0*&v?b*Ec>%^T(5i;fNkFXmeaJa~8#q@xRX;g=vOvEY|!A=?%-%1T1% z;!!i;aJV><Tc!qQAWbkih(M0ZoAn8SN0V0<6(GW@_CF3L6<iHl$@c?`UQBn05K9fO zO+(-=2-mviRstcTgXRxp0lK8G>KNO;Rfmn(s8kKxJ)A)z$l|Kp3RJrkeZ?E#5PTYM z?lx+!8@HSt^(#357QI;U<%<$(#UCT$rk#|kDXeC(^?*s<#!F7i4!N320jkdo7*F9W z$+Fd#TtD14+!Y8L(fF6^V@TAhKx{l1xZ2K_!{RS(ASN9iQAE!Eg>?;g%o<{m=mj8V zs+(q_bD^q!3xOGI1Dk#Mj){O~yNa>B!t5hh=niaziz=utTv06de{tz};9fuG0D90a zufZ6Erd_P)_bU$LUFX~l3Wh2;M^zOR*nKmvJa)cO!S%59HDv%O9-=dJ=w#gMLZ~!x zUgN`8NcbV9mA-kHg&vrx3;``xAE?}0kZP6G^EudnY^5CiLR>Fl6>X)}c1Gk|N@3hv zW@-j0fsZM}vZ~he#4c<KC@>+hqV_+sQxl{X+PB0N4Xj*TzW}&^*n1Li0NV4h>~O;O z;)pb29!p;QLky#roAWRcXkd2<2_*txz7P9}d^TEQp?9_1q^<tbf9seE`OdJ7K|yrI z$P3d+!e^lJ*;pkkIDd0$jdrjl1w&VN{d$;%T}pg7s0PP-ztpov^F``bS(oMFa<tLJ zaFrfjU4V37e=$60UzDLmv`*f2gle=b3`~wnfp^)}%yEE=_>WcXxUne$lAbN~GAnlO zQ}fgtqTNx;>R*r+6d+XFRVRNjjHMN8+$;eXs<);YjVdi*D54w=p(O}t(1-H?C{?Rq z@$i;~SR<c^Ci4BBAO+nUO?F0=8Z1+-?okX4xLXTiwz0O#;m)=RlJve7aqpP8Aal_T zb;Z90!TOt4gn#T+VO7b0)EBT4djLGL$Yib1-_Oit(g7)M+I-v%e$zB~zF{N%+57Ur zdSjKNaKkm&Ji>PluNTx%yFfe_&%^<9P+)sJdWj8?x~tD~JRaXMP#^{4%qZmUn%Tht zcIe9T*vx+AMNUm()f;FRh_2IvKbV%eh-p_0g0>4|rM;06xoDU(f%=J<DvSQ1l}X~; z77S9aucjepstbe0`C~U-S_lFeX=)R0uO?o`HGvxjPy{_r;9njk5eoa};FhPBzi<ju z14j_}hT4}#u}fdVKC7vtqO!hXe-{b57<Z8J)<8=1x&vJMhbytI#rG(Y#-Hd&09qUx zA29}!Nnl_10T!cFUt@Rrj2Td|sv<Nn<y|ku$ALjmpYozus>Y8HG>DgDdFl>g01N$y zV4<}o%%&}6w0M6os0}DFtH}9MD8@Y0PBQUDs8lZn0akIBuy8_`7Mt3XLe#orw^4Ia zu_8Yb*t+P^_w_E*r-xql1Q0^=#lE4fss;pgm9IR-CDyo$sIl+VY8_p792$FotqgLx zxK*TGp?4nw*WmvEQJjfr<$X(lprGidQsAkjJ|*tTxN~{@kX<TUr&SSeWQy*kS$3#I z`{9~hAg{Nv@hA<(?R4WmQO4^W+<kkMqQP?beEmhJ1fpAjaSouM2XX%ZexueD15I;t zw%uUA_=@rxc?<p_S{JpS_v#j~tzl#DsA9Gpr}2D|muQuZ)5lSIYEX$*d6)Yx&JVt$ zg{g$KjBO7>-d%M7SITTP=C0!T5nd(w_XQj`MN`geH$Su!A%8WO&y=E!5_Y?&2r4`T z8;Grg`~1SqmG}z#jEipyXduzT9|Yg-Ln}IqJqyR6{{T>zsJOsTDN)4h<bVo?)64T0 zs}if2lEnkWM9E9PafGYQE5uYAYOCBjPQ?fX96DpDX>ZS~l#a;)*NQ4ADxMbgg?VUv z@JmUEQ&<)`E=y~@md!Qs5lcCw=k6*ed%}*OkSyWCP#aX;UobS%)sG)H1p+4)L2WGn zZPxGo=2f((d1-tfH!d!S4rN9(hNv>H{$~w_>s~(L#qAB#Nu~Rg=21!KHRX9f5Lvp4 z7~0|g0PHLsQmC-HZ10$1z6}d|<=j~Ul<_@v$qlN)$P2GtPs}{a4T3%|&X6VrN{Y3O z=GA=84zUBx*~zk??_9HOTJsP_)wCL|TdY1WVq&x@3R(m}<4M!JFuv7)?iDox%eVEt zMrlb$K~z27z>!`XU^`!!TY9qAs2o2M*=@D#aus(+ep>O|B~*#zw&$1yvXz#6#?S|B zHMinf79|+Hf6N6-Tc1*!LF)Yy(3N$K;Q)og(}Vv2lPd*XBE;|yPq=aPb>xl*i=gC# zTXc?1_Y?>X+klA5h0(m9F+c@;uHw0GVP|d&l>iF1HL%($nit3Wf>UMTqHrR#TNb|^ zLWJ^A@c5Pl4e&mH)P4XQp$Lqs4-19~Ixtt2`2PTLkX;)ACQ8n)FURd70M%ApuFdmM z%TB>t;#(T&rIpDFfY7oacVpCeGf;ckz(gxr3|HG+LCZk}fOHv^7&U@`zC95|rVXNw z>tH8fsMvdBVVDA8`<l<F29@lVQq;v%e4Iz);_Dv1Wn>BHzrvQpbqMjiLUTv}hz{$* zO5L^<s;j}=rlMLKekBo0E+eD1j8};89YCXN?}!qFJfFDKEFNOq+0J(o)pYB`dKKkF zWezu%V9kkS8?3ap`i={G9k1>L7QNwsGX4hKVJ&h8k|m(4y4iQ|Rt>Yh`ywj30*&z- z2|BChXVu{zLQrvZ-%9}wo`@+z3pKlz)ScO0Wxb13vXZ!&M3z~@=i&%*+XGyRdyJ?8 z6gyAnxc;F_#r+OdR4cT4FBx-sxDFWq05uzBQozw_m%kBKss=i$Z}B#b1(7DuL&{qV z#A?ATd3-_OC@B%;UU6l|C<>^C#s2_5q^KR209nnXu$1ZY2=C@sIfdRY9KG3n6h$6f zAD`5-sz|&og;(wswXjVVVe4b81;}XYf4HEDM=B}*09PpnSVE$bkM}K#s-W0Y+Ib+p zJjDY=;^7470ZpwZ%vJ^3#rN)C15P@~g%YU~f9!%uEx6@N34%T&I^8E6#v#NQ(!OFN zV#*)Y!W*Tlaeo9>i$TVLEA<wJJLmq`SR%m<A2&Nhv^-Z{r9i4Gme>9L#i2pkSVOGl zS%&zBOgPHl`~64ZkxIY#<^vHyUk|@9xE>k-`SBb8nwos|fA=xf6;3>4WYr!qzQ0nf zCy)j*+=ajqcg1|d7xX5Sr_(G+KvO9H0G0=JMTt|3+}f1)kd^>^lLK<OcbF|f^b1eS zSy=O-zuXwb1IR|eBu6%1ch4ID&Fr<w{{V4pA{-6AIsX9cb5S(Bmhe~Hy~TE10CV>n zcfO0{@Xj190<b-F$BjUky=0>(-`MWjkDM;W4}HDl6il|FD>knUk6^c2uMh-oipaq+ z)jzpo1Sv&x1u0e5oX4fQz6k429_Bzo_`H7*cB?}!qSzc=Jj+$*J|?)lQVa#M-&GpU zR&v??$TX_6mbhTHHGQ!?lro@E=GsDD9B@1YY9i6h)Dg}iq_iA9W(Fp?d`yI-(IcW- zr7`~is#72UbzG9Ywj5b2RoU{kA^|M+-GA8%06KifqYALsU<+@Ru*<cBRqhl9tc|=b zWK~iv2DlDl78`TI96>6Z-EfcJi)Eq+2ze8C-0aZuJcscW00P=Nv%j(fpa1|0B0u+; zYiQBzFY~bxNEAz2;=Qu18n70wx&Gs#@(M1k`_kpbqkso1SGqC64Pe(Jy926N6gu+& zJXMQKa<}FVBCRD+Uzvib0_Yw7rSK|>4P6Hve=!O>4TIB&y66A{?0z9-R6ud>>MF>g zS7n`KULcj=XAyox3t0<I31Z>(#GogBnFkmq6Mwc&^(?3JUorPyH;%vW;#5#PSMlmo z1#g!xhs1HEA)NYofV3c=FMrf}8spJ+>-zN)Ei_jUThyu`7581o7Kk;r_4h1ps1-oC zWPoV(DXPxk_f#7<L->l3Lywqs1uea)jY@zj!DXRz3$8ktneB&x)KGD_QAdx-7fUGe zE?@U9REF3K{{XH9CXKDBUPel_V)*-(MN3(3GQb&S<?&yC%(2=WqsN#2?o+trs?Rz9 z0BkNE1()|52EYzQyLs#L2-1QCGa3V7<6B(HMwC>I7o8sCL$=?4RV$1ohhP23%K!zF ziXSlzdI-DthY$+d6ctydN&r+ZFD?MvdCbvodcGylLzCUJ0l5LF`jobBQ6#<$&ftJq zv3Y$;EnmdUUlBuvuQG}=lGt~<cswvczm$|(;wk}2bbEtASDJP;s6AN=q88nvLoVO5 z+$;e!I+p{L=a@|a!;`k4DGxH$joRnT1EeTjzxB)EXyEe>!1Ue^nQh`M)0p%DYTLn_ zd*Tv`gTtDJunNxq0C2b{b~jG(^--Z#`qzj-=)1+c{`q0x8xAZ^59$rS4pF~|Y%d~i z+~QN<a5h_~GQbptwr<`sSt^J;Ah(bEj)Eab2aj*h5X)$AFi`I0nE^R32DdnuVWt;O z`11#}p;`*I;S6qt*mLJLQ%gf(Sbo@nsuuz}s>mAUstHa-`--##fFRqM{{T%m(^~Nb ztQQnlZT04&!ho%)dpD?7+E8lUzw7Z9SwamIdvESkn-Xy-=zxZHux<iSPZ3uHr-z<D z?{N?%0;`($G(oFb{{U=A9G0&tzxVMODt24Z0(j1HCu_>G$BUPdqpR7wRWEc3>$k_K zfD;0vmuC0=rNPON^Yir)i7z!xI%2CR2cMscjS^nB8r%0S)pP(A%mE6$-vq2lQ9{>k zLJkE<V}b(}A7SzQ%zigb2fMffz_FWit~KU7)1Vy^0=}s!D2)gzk{4@Vo$63PS{`2Z z{v#s;Tfy!k6jI{Wvp@pSf(n6ltKYrIu*0=xj@hehC4t~qz5Po-mlbOd`|%7&Bf`D< zoprZS#juvi<!=N30I<+R3NJnX0H`o%6pa4>xP<!7_4h6DLa-@#F8p)q5a^sLwl4v{ zuW`bfZjAL4!rF5Y9<0}E)FA7Xp?3pv(mV<Jm#Rx2T)`Ro>Me6`@hltrID{tk-R2q# zY`$R$%{c!6*ibEL$3)5tfAvP#KGnA=w_#V?DXN0142W5rcX6t%P^<S4;0+%T_-zB- ziCJYHn<Z>f&0a(mi$#Z+RAMEW$GKN1(dXc<=HXRu5Bi{Y3hUYO{7N_xmsNfI#+<ic zw%q(gqfmm{4^NoTjk=?Tb``2CPY+NK+zv0b{{ZAdni<&mfCO2paKDHwkPYMs#XvE% zwTF4Bl>?Y)vQa?M1+T323@$@eMM`OE@D4liu`v!8S5^Cp1Eqsoe8hz-n#UTh@-qXV zccy1t)J#hBA-ikL2I>mc?Rak)mm7=R8-Jge%@k3^dS5c=pvnxd{t?_TRS9-un=GJ( z9q(Vv7OGJ}7cTjXexOWi;sioeJrbTh{{XppYN|Em`G5_By_Xo29(!8l{7xAxz5|D! z`=V`vg_X@-Klhj)YU*8IsQQcRPXYe`Tu`H<Qa(Sayi{-!Us*x4IDDkh+XqPpXK>gU zyxcKh0%#9Ot)UA;L)1q^<Wh&+vRpWP_i&Vr;cq9`<_KQfc7@cvtff~#Ji&QVyG85b z3t#}!`r^KSsMSiRf$Co&3s)n8b9)W1u%f5eULpm_wDxwsEc`}SPIjh?U4U=m#u0h_ za}hxyp+rx?5h#YGaC!XP$~CL-I)Av`TDS$T3ke?E9!{Nki?FLfM~wcUIyh1Sxve7z z3f&hSh3{nm)h-}1rEY`$!L1*X{{X4MAfa8e!T5&U(;h2`kyC^hT=Da90BpK)JY*Yf z3wMojexMmZR{X}$Ho2E>#Y&YBg&P-zQ1J+>NY}V2Ks8+T%m8~l23*V8*vBhNw+eKn zAGq5!LR0kvTpmm6T#I3sTtr0;zb<D$jm1<>4BNkm;Wd1*tX*F9o?x{!pQ?(h6t|8s z8WgvOBpgA~hjWI!a*<vYIxjM}(V=2Q1ymcs)KbYcOUKj=X@ltIEwGrOWq6J#>bZ6J zfmTlgJ#*p#QX}LqiBtu9x0|bhSWc?hUVX$hR1Z1#G$}_;#eeLnb_Q<;9DGU|2v^Cj z{{S&@c+keJ?gb=nEwP`e--H5Nb^P%aB{a4o)cAp8S8RD_ONp3|Kh&azhV72qzo?w0 z&0f5IqEg2Ex51<WDy$4nf2dlCEYtr0k)vxsBJbZsX$px;ailK3KZ#Xp%7&Y6&*YkQ zYbx;T^ZSpK&W5X;{Xoa_fyd<djxZ`5tHV&yf^OE%&&13np+U*>FH}SXq+!4;!udS? ze^3hBh;VrQ+{J1*ZT|q*AG${wb-$>e>}lSI@fKPlsIB<EqvDl7oI0|B&~@c@)&0vr zRPud~Z~BLhjl5dmeAZm8#j)Ug{X}>Lf~@QL{lt(jQtJI&5|9>)X|8@?cSkBamuFZ0 z<t_Juv&^%(8Cs(Q@W$Xn4I2Lda2=u_pfqMiG14!2UU`~mfQncAsK~Wy4zC;DMo^$_ zZ(Y~!0F}E{$OHI^QwNbrMI}5FDJ8xnv+=L$G*^q^3&#;qri~QQ&G_OTNZHq#cyHX$ zAmvsm=#N0Mn%ivMmeomMd@{&J#@zVgXxCxsEdHQ;yZy(tu@47FADMo@-Uf=6qR@2l z5zl8XkNTpPhY=-uyZM!c+8()^9&Nv<rzyHu+yI8JoAWD0Khhwf04caGsCVRuykAhR z31^<=8e8M>5Lq5CnuvQT_YlPeZlWMGa7&6Z1vvYRHY}V2uNN*SE1sdKR|f<OjxE{d zJ*MyUd6y|Ev8Ls46dY$#=ngBcRx0q)ihKV6$Q2EmQ@DbG@;3_dRoYtdH;EV){C^UM zf`f{o@#U0g6fW1M75p5Q{{XlQQL<hMpi~Zb!o5Q>Di8-3-?*e3%U-0oI8dQT;J*I= zP>5R(A>k|j;#pf7L&`CYmdcE4kobTQ^K1aTMOdC+3i0<5QtqyRmJAT06xzS{8CkFd z{{Y{(h*^RhY5vFv>Na?C@9tPbMdHn>__Oy7<t>&W&tG4}vd{@d2IsB*;UuGjI9ETd zjnpiF%xB#v;E!-&Z+~C+h+cE%{yCJ*LrAwch!_eRwO~yk7p3{RYgEFuZ%20)Dok`b z-*6AnXf6K$)Pn3at*6Jt4A}>l%kQ{ZASpuadw7k9Tv$FS{KgW&YTMVSR9Y+I={5fV zzMxnrw5}cg{{Wd{m&m)U{{ZYvAhfbO;r{@7iv3mtNuw_;`GiVI)Gwt!&*CKK4Q~7} zC1+Fz77o|_)G%O$sCR$rAp`(XryOsa_Z<{=oNIvhpUg6etUr_IiiUtCtY;bdO8)>L zTPf^Uo+6>pIH5oJ{6P(3l;z`x<_btOw+;JX#G`cZLd#gtK3f+hg(i#S{Y4jQ4oK$w zk;#3viG7}OFqM}o6W8u(GMJxzKtwd9zWR%Tm1wIusHg~()U^1GST%Gd7w&5IM}<HA zlq(Cjv;JU^0cx#7GKEs%Ur@jn+(*;_Ek7gb9J{_dfHlIo)KCC*!wFZ#?MCoQe32%v zg0c>m+_(cz)D8o8<GFUyW^6VEzA97$glmsKnC1iAO07=^h^WvBeN|uIF*p}bULy)I z;KAkvkYUYo_YFCv<#>%ov<}xX3Zn|jmJJrmsI`xRASD{5xQ5gLYj+i~p%A-uC{UDW z7Y&twsvP#f0&!4psKG>lQh7ruWQ`$KJXE<(bF%3TnB)#gMMw0ERgcUki*_jIxJ41} z)ZQ_owibJD#H>(106ltmVur5+v*7rTWQCj!Rkiz;flbqUSzo9W>Q^gvdi)3C6Bo#8 z_2MFxtaKw>zczj)1--1wVMZ(sFFVK)hT7D;=g%L^L0BzyF4xEY!IcSPhPeKs3V{Ja zcSd;A>QGLeYqypYfG?3{ytmsesvA@)zdc0_1g975%;))rR}{Rv0<Q7n^%Vt1)Zfuj zGzA$_mNyUpX=j-DviJk${{T<}LYf#+nKw!*2}W_hH3I>_EAU6kXbaP);t_`H16NPx zrGybHn=f`RL>KXAFa6X6QpHtSU-#w#ND5Aa5&gw$3rhvY4dgT+jR93@&+qw#6+qau z4x&&E76%VV{C=lino(%4?W6S>r=aP4Munr58g|rRHvm-%-^!oNc$7z%A=y#nU@g8W z>x5-C(s&lSSKsO#pyX=T&+`z*q3|Pw=J7+|{Kg{E%S}hkzzU=aww`}?5kP0jbWfIA zbY&Fnf4G!lSZdH-U(7|rL(d+dWjRBpSKJjaMLto88Kp2Ej^?$Fm6f^smoan|&MG0a zhY9)WF{ZVZpNVwy$SJk`%3}jKf8Jx*AobqLMiv=&84bju2-{^>xRqCaJVUzO)s-q7 zsy-kc6u#b|*6`)VU0^tB@^r>H*<3f=U~SyEhcfgvM~IcCsf0yr0r_QH3RrUuqg<bR z3+f7Z@fvAnwH$!<ZDs!e5C>Vy+_6g@y!(lkSAvdVfB*rnH4@mh<&`PncWIS>%tWfA z&sB4CkfY%3in10|Z=RUtFzBuP_=#+s)b}ib8oqUhu(U&JydR&`O49Jp;-HH|YrYGO z%&MnOIs1;Tid7c;1w^w$leY0kiK>N!7G~Z+7*lA$c~9Yq)wJ@zNAW90yA#p>0FtWF zrQp?R`C-CU7FlDedl3A@2{a0La_{1Z*x}cMrxN4<7LGh?eZ<7Ks{MSBK`T^JJX`0O zb!sZhWjp=;psWMLyRcSQAQdUc@mn+v;9pC3_+@aWme)qO`?e`SP^U0o{rpDIG%KS# z!O5Uo!2EyQL%Qq%!qLx}TL21ck`_QMa;g5jLI@%Sp)X&YvUAq~TW$V4O~6YNMDHU= zyIj`!zuOgnA-Xl`iVFg5qhi-Rbr}Jz9*3@RVAG)xE<M@wOGp9GyjuSNQ6|#e5Z3&9 zdx!%_C|x(_%Tdv3VC0uo`M=EUK?4Je#PT1Qw0Dz{Pn%=5(!o^cABY(=7LIoOV=r3? zS1sAO!zh%cv#4@=Y(Fx}OA>&bAG7fVR@Bw*@%x6DM1jCNU(C1^RBpuq((bEz2>1^O z3oWm3#937>yW89NjYZ*FO$ljVf-Rzp0WXWs)XL#(K&9P)DkG;#`GbI=<gD(ur~npB zP9?G8y^jn_)Jkz<c6o*IKq@aEh{-G_m7#o}sHR~myvy2_tfKF%exg!=Hn;xR^#)<w zy~DOX;!iJrAtb79t}_J{u+rW#7Q`BK{{Y@%HC2Oo%W($!uA|kD+`(11Zp3teD`C`V zF+6-i(M6pX0hPIsY<9k3#({Xf#$mc*9$8UzdzERSQw|_H1$ERa1B!csiqaqbl+(!m z-~%X9!3YZt?MBB|oYBky8$rsf*^1JD7n3jfhq$el<@<~aT{ZCQ++L)mJ-L9zr58<t z(uDzn>uWEq3u8a~pTrA`Q_{TO)TM0zZ6|#FMR2$(-D2p1B3iPYJ|bdZ(=Us}+zRaY z;w&X$R9d_Fs2W^c74!LsrOV*w+qtEPTI%zP`d~7rA$~vA!JLPoiZ=fMF|ZX~1Ch&N zVdNYU{IN6&-r~PM75R>6+Iar}mPEP|sc*^kEo-8oLhkRA@{b_4!B3CW+)y=kx)a~F z7$i0Veq{t8+VFhJnAY^MURVZ$MTyhcWLnft)gFXxj>0O-d${pv4;B_v?3`8$Z_AzV z!yq2xT}!^47>7$1m3}>G30qVqIKuwmEVqCdmniiRv;of#*>PulUxA-Y9^}J(w(s={ zfm(r7&j`jLC@pR~e-G*-Kq`XwQK{C5;1pZy{WB2(ZjCjvBnyZxw(U<b)M!@>yY(8> zJ+PGX`dD<BYv6i6Z2Odr_U1!0P*MJG^#N7Z2vPq4YzMP;`M3SVwo?>S<|_u6D*LGV z9f9;quNf^Si(>L)zll<)E}j)yGxKuFMR&)V%6GVN*>>*}3R6^SE8-9r-hbawfu!;X z-@LP{4r)@*g}INj0eSp<M(V3{<>pt=9RMwOzqo=BbFB+03)L*{*I$?>*V)7W0DsIC zEi8NHT{4%h<pt`N)MX(>R~<{GqBd`G>btW40Q(Wgha(0GyM4j{@2Np+dB?bl09#jF z%fr|V(5_Bc&J}N7X5q)&wZhjgs3D2DQECX+5daACb>`qv2LTVp#N|f+022VV6cl|! zl9#+kW`wz_)DAYb9IwAo+B-TFoz2wI=7ZBTR@!%XfB>VTJk$qZyK+t~{7Q+41xy?N z0Lgn6){_H>&pJ{0CGbOo{iVFY0mTd39H&6PKIK-3P<eAV7yTAf&+cguBEjSz;t*~& z0krwzcXf@N*9CuYg}0z)AN5ANbOfr~y!^_j+X@NSUzu?V4I4Ij_#i`Ip!~m_ZU6wd zJdSXU3b={SzsbkA02oD-K+5{ciMZfcQlBv|Z~>;ZY*q`WqoY>Qf5fX%5}0%2;vj=7 z2Kk}}BIca&fBc1`19H_}_<%AN231z^=Hf*y*;G=fAiDu?_53l~?`RrO;<fnVCdvkj zynOx{P8E(sIQb4BHqM|AZXe<TlmW5qdSHMBu~p8M_<`9XTMcX-?4s%`*QTZ2QVk$H ze&Wh*t#$L@i-9zJKST^RG`KNneKD+8WgW-Hq7zrc?IYx-g#&$O+^iRUD_~m%WN5N` zulC0~NhuPVsI_9KF4Eum^%l%fxmT*{<&}|bkK6M^unGhgrknT2<|@jP^9B&w)fa=K z`G)zr91VmTssNw?ztn4@kgD#l{gOH=TOF#s{U36NASJCup-~Q#K}FsAqB5w|0PFe4 zyBfSvSJQEmq_pyu{{T?YF<k<s-k^a6iXM1K-h~UTj-g?oa#t~>V^0U;#Cwv39?#sn z_B<)u{{V9;IOb4#8R9#&vqkN)w*_BLKkSq@BlEr^I=5Vx7Xh`)d`&g|+$=;p<0H1Z zUT!NWPHtVLig5ys7IQLAN1{Ex{5;Ciux}AFy;^^96|I^_v!P6G4la<O=$n<W#dbk% zVO-x602)Hx?5KwIOKD&Az~kTwZz-6<b!hMZ03`z8T^+s4S(~K7`-p0(j**$vt%>8@ zAmPj3!~`t>5ol^xL21F|{{YEwpil+l%ngb#)l<jf1yLRWHoiN6f+ExN+zEF=oHo>< zRAF5%y7v_rTY5WU`kYEP%h?ffwAFRuDXl{6_@=*^b}hD9MR4EXfe=9+>+Yg0sX{yJ zHGYTyqjUueq~qKPp6EM6!`n>9M3u^|ebta;=t@Ha!}zoeq60eT`DRE^A$Ag#{6wGu z6e*Se0H@+{Kd+$i@3=KA74QMDuokZa<MmJ*1wsJb2Ycco+e>H*5e__iZTWrFuV<X> zr_UI{iwp(B!TYGz)*8LP{#;01ZW8D+-yA|h3mR=Tul4(v0>ThEqn}dg-9zK;maVrI zP?y8?2LV8hP}Y7%P&SpXf%4hrXSggW=vP(!!KbNelf!=zny3owd#@6~Vxeh+`!`WO zac&sA-(0X;Z7<1JaF7=CHfkgIQ0?9{%@@hEr`|+gHx2{MA5X*;S+k>jKKYj6oh-c) z@9`W|v<E)2UdK=icEqAEX{`=@$GEMq@#<>1Ww@pR-?)ebv>Z~|a&-d3oIbmW2uT6i zmskA61ZhL@`IV{#b;jHkfGGukyS$hhv^J1W<~0jz?svpx7O#Or^C?tAMI~$oQX633 zQDAb`rB&Y&_@tC0`20npN;z)6CChHVnNl{tl4|I9mb<*J=K{j`A|xuhPU3|ZxQ-Ri z54bj@yRNbLo`#HK8Wm^U<udD7n$zxF8ms2-h9cPDyuvCui-iN7$Z2Ebm?&Vp@f83( z@#a((x;V*piVYsn>76L<5QvR<xP}5#^8Wy;5vfoMbzjs~uNPlC2!+mJP8-=mmXi^5 zFp&n74>z#@r6~&UVvCaiaCv3m5VU|c-oZ<Q5Eabj{lGf|kC=iIoT1trK4o<P27(aM zpHC0_CakP4rJQ-YeP8h?tH}oe#A=*zDc4W}B8n%2^Y<HqQ_$kQey#=7Q3|8)&xyTD z{#b-jVc@<#;gNh1Ekl}tNlGWSujGDWC6iEE&lCsZQO=74Gw15!xfT`S{{XOrPy{Jc zt8co0P#jhkC@TJlG%baiU66&PkzQ)$p}Ht9)BM285N)C2{{ZZkB+dR$e@Es9gE2&K z>yMTYs-}*wEIYCRfT5z%E>s(O9kl)+(ELSQK0c~A-XdDH9l7-oH7Ks`@qT}ZeWB7G zuD^(~w-LIyws#B(j?(-}_Q8w7t$B<mVai%_SA26S65<3_s|ER%6hIg*_qXOW?{9?b z@=a>NVZ(27{ZhcS-n7d^MSxLyQ-7G1ych`sbHrkjfCHZY040!~oSI%9_w9mJt_6TS zC$WYC=rmJF)mPLfO$Dj7;QE4|2g_0xUgCrbt;vWmY`tL;#HOj_*s#rQHEV00dVpHM z4Ocl_buC{N?TZ%Zpy+Fvd^R|1)xQv4`)K7u)K;{!N1ki?hOxtxX0pLeb+8X}i&#q) zRn|bf+fLc;G`ecoEgYVsQAXVZN#^S=AStF|oU^#nBX9YOARY!X#X9A6C<uk!rN*jv zb*hL~@7~I-Ee>AgwmJ1r>JWjIRpxUdA;Zxr)u+7TV-Et+%|+l<o?`;7;qeUsyY3Wq z=g0FHH(I+mVXC`RZv9KOSfl(u)MZVTXf;&Zg~r73>(#pv0ZM2qo}esRwl@e6Mj&~r z@6>SB(bvq`r4q-SmB!K4@cNb_+Yl7-#A525EBThuMwnhK6zU!hg|E24Q&{ok_ZIPs zVlDgeFCekeUw-l?_4cvn{{XO%!i@#3{{ZAPxuszL0J)Xb0t=)7;r9xiGBuW)RUN?E zhp(uDfTblBXZ_1UiY0Xs&&9)QU~055{{WB7ymaE-F~a_te_IGs*k|MS5{@VbUDxq1 zssRWsRqxA4nCOSy3+Ijql~h#Q{{TB-Y;Qbh-t+Mpk67~_8Bl8WbFUu}5CY#Ly9OvH zQ+H4P{v#1+=nKq0B)LUhLZG_{^rDjr-whvQ5GaXZgN=bCaVJsC{6ZqH(xqEKXHtM> z(q1Fa)T-4h9d~1}F>!7{<bD`m@~L}O#U|{n?(|d7b=Smp6_!_cuv;!39!CEFUzoxc zIXF<Ud`jPkV`0+%<-!FEQm0OMj*Ec;$AMq>Fq(zPP&%{sC`BR`TqyDP8)zweMN;3~ zwZOSXl&*K={6j#^Gee*4hfvGTH1GL}69Ym*>lgJMnxJd5-+o|0y#?i0P-qIMI+=+E z%7mgV^@fBPhs9i{O&fV5oqfXZCWZ0-kyF6~!K0t<=E32<`RIWIz)nkM1c8130J2{< spU09EcXsH!W-3y^U$+n$X4MhPtB(?+mvs&T(0HoP+y*WMG@+mW*&|#yd;kCd diff --git a/.next/static/media/waylon-hyden.4c037cf5.jpg b/.next/static/media/waylon-hyden.4c037cf5.jpg deleted file mode 100644 index 0145e73607ceff4d2330966fe6f465df3cd05abe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329126 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%0DF2I_=90cat!`7oon>t%MlyKrn~u9;|BHG%vZ( z>>1L*Y54R}+U8xW*@|#GxEW2<n`l0h%uJi6lbUztF88VC=_L4>R+;&R<T}TH55vy2 zm3^jn)aM2K+3Ccd32{9r;@_=@e^Q!tx>j<D9W1V5W+`bbv)sPuJKc1s`j?TBWf$-4 zaeNOwW6}lsOsvULH}(4yBi9?L|G47WqX)|Grlc4&`i%KKN^wT+dRiJg#L~Rv@eV~R zB?KEQuWpy*8R)(3LWgPNLa_7XnQWh_=BaD<tbu8KEziy&IcTr$S{sYl@6!77KWBkU z4Cbn0R8qIISHJFhCt|xMp^qy|ocivref_?hJ3oi0>o_D@`KCt0<(MD1m+_(`*L9^8 z>?+o@8nNS2RZahbmCtYbF}N~Zxa^SzIWisWezwtFbiVocp=9Wbx{z<FNSIrj8S`kq z;jy2K;l6rP(G<`9ip4-4q(uNbhW<C|KI>BjgQMDU&5(~fuEMfaI$HuN6WY1gD)_D& z-@s808@?Z#nBmO3dU5^=cXI+Mm#Yvsw1e*e+M~|qF7-sip()yfPj)+=ks+DBy;gS> zSWX%K3U@vVQrd%mtr}M&wyRc}%*@Ym(m%lpuztLc5ln8oWBP_j^)%Kq6&*3?-V)Uo z(fvW-$u>?S4bIXut#|UCV_!qvTiRWEnns}R_sWmA#z+Exi9mI1e!pbZUY}^{&g5BC zpVgjm;tY0KJ{euv{&EHNz;d=JgDFcTkvapeBeY4OirjZ5CyGT{-ydzPYf)j?U{dtx z#0&17NatQ}o%pqWXp}RPqm=DqeA1C-PcOmY5RyK3aRS~K<Boh>BEwWOv)R~U2;zdX z4sLqkH5h80j0&cwTPM#djDg07VaHBMhaK`m@|c2nI~wO<Gc|ddZJ_%4gH5_gy)e~( z6n4K`BxN5v>M60XFg&M!mdku9#ovSW>~j}-u!&c_sgi37oo6KVt^)~);d%@X_a2Ov z?$>&D|CVtH+s6tUfw2T`glk~-ts5>Un|hk6Yl|o{U{MJB5#%+olzzRPs?`s&pngBK za?Y~gEUmKE!s_MIzMjS>#7HGDD9MSoyInrUytdE2y{R^Ts)h4n!pkBR?JRfrKGQwj zH9R%VrpL*C+b;9vkZ31R(o8GQyaP8oR&dEC-+=F15+SFVem2IR!bL>>qv)0{AH1F% zC!G21-aoDgg?E0i=M<mqQwjZFnjJ;7K4vCJ*``)7^Q@2F*S=XjgeoK=dMinW4@l{{ z(w?T1PK#M6W!Autxg_~k#{iwLic2LST+=Q~4O8M3!v=N&S5>baXRNV`zJOx&YF=^c z{WS_L{M($H0H9*;$%cEh-pwlPHDD_lDT*!K9M0TsS=A*T)w<W=pU(DAuU$A~tuXP# zE^og!+}&E<(qyO)=G^2Z8nPX~Ar*BiHhT9J4+yV6H|K)Sl$^h4VW6h;T)^tM{JzQm z?c_=K%@5B}H4j&7{8a?#N}e{vl;*<TJcE5|bGiI$Aw;s^_`X~>C+K}$<4}ab*9$LP zG3<Q*S>+t;$Wj%vaR0L4bGz29R2@1;-bQ1i0~=Linv<lVE6L1zLk9Ij+r=9qEXJ;) z>conL{dq}3a3v`(>&NoPa^7HXUu{K!3M-ckg|B}adi)ZFb|U3k#YJHwYRy{9A;&6f z$>>M9FR2o~DCzlVflFsy7c@~gfSo4h@ZpglqftPUATwcn=U>}JycLsQERomg+x$fV zg2l__ty;q4pEH>hBHlvO4}BMmM7Ua{zWd@A4Umex#`T{|*zF0QrU$*|t4_}HANl=9 zu@YMMYQZ7)$hy;57W+Bwsc-y!W&T8}?|kiZ*ZR{RQ#BfaK$Q)qn?;Lc`ZGp3+p<?< z>W-~eNQ>OXL)2J)45U8zP{-fNp<*O?c9^fhU+8Lg{M*c`k1uRZg8p)w*fqYw++sRl zeza<s`p+YTxo^YMaxCuHcLPwp^uHH6Ef{i7%E)qKkxJ{HozJ?~CpYjbOalBq5n$!X z@*O*G4TS?_KL3FN^FDq5B8yX#F~gIll|@D^F7;a@WKcs&_vnk{!5RzaftsI@&u!vO ze|y8nqS-{Lh!y0-$YoF>-R7k$GjQQ-^>cK0kcFVIS{=UQ!rX~NVnPzAnix4GrBSZr zI!$!nK{x;Glg)*k4<*$p*=epH)tB?{1)1h;Ed(pRbe4H)V;gf+^-(h__Oa*VI17ba zI@(#rbZ;W&<f_tr=GL=oI~k+g{;b1c{meXpG7Y&Bg1#9Yw)trR+y3Ane6+pE@WcGK zUHUKtNbvf!gXzNVbg;{o;y(LUJ|ogWK-P~sZq=-V-S8#*R8p5Ki(LM*m)HHq2laY; z<JY7)Q?TuyP}JGp;J~K_gmOcEqaV|awJEV0^M^WXff5Jb3`-nAnz^mj!<p|3wWS)W zTO1cekQS!90lZ(y+~kEPW@ae*kUx3sO*x(asu~oT9MenhFxibrS+Y%X#^1p*^*?Nr zv@wvDZm|JdidbSI-JrVDd$IAUkcEhMQky=A56}OgYD8S}@7eHvoGLG`^;xt6Mj<jk zeh18)Q+6Ti;TKFNJz>+%I{kS!_8a1osn6Brm_0$|l{FDbTb-<XA!PzBw$>|~@tuy( zVe_>Lff8e)v?{0Okp|qU+TvT<3|p5|{KW9!-NPo&?b>J5AF}<%IKQqE)cYFQCOhK{ zrW9<ecZ(3hBPW0VqgX2DV839te|%wi%2k5D7fUniA`aQnp+nvAUCU0A(=Q%uCJ>h) zd_GAZX5xD<N;#wk_x;M>feg)!bo44T@-hEPZloZeacS3ICh#3d1*%jT?N$bVC06#+ zN0D}^I~m2`EP?7h^cH+SWW{mXLd5`lDc(+l-ErF`=0A#SnwMEe=Y_6--qZblZ^L1L z;g*xigHG5(5%YHAPPPo)-0#BaqI2(*i7q3Wq4||%T_)9!Z!}sM)5M1-tX?x5&;B=i zoV4cL#_NC-*zyxuy(qdq1sY2iyJnW1?s+WKalOOa^ZPouZ`fB^cGCquL8iSd>AdQ< z@$~!Ne-wQ>QTO}SYI*8TE40wNxy5#8Ht2?!!}DVyTSeiS@o+n}xhhLGZPpb!iD@qW zzP^d3`UqM~k+ZO4T3V5}Q$yhPv3!mq^WOCP+d)FU83wM7`jusdb$?q8FJW4XJwpo_ z2bOowmB=WPeZscOk*t!lFWVZU@NB_juXNVc=GP)>3EZFQ7+LgQABg;PnWLT^inot+ zNlQ!Bcb*5!F6?gNy^i1DMwmqI9w)hHHMK6+X?<Eb_T8;ld?aVJck*sezVd-kag%8p z$?JFnwSBz8lQkwyAw^Y~ZuyuCMJ&4eEOy+#5=gZll^N)z<u;}u%>?D@n~quzn7Otm z;^K_VIu55vM-8YOm>om|{ryj3oBP<=*%`|*7gN4_D*~E!PCh=(DJt%5cJ2G4OgK*S z>#8s=jhb`u@{nCuf9^CJq?pSf4+dU}<q(O7^I9^-o*H-XJp3CBN2IhIMRhxKL%Q7^ zJTJ2Y-Kp-i8l>;P*>SZm-kdg#XiRjsv8$MiUjHIkG59Pic>cSRzzg0uJ%`<1r@<H( zmUj(L`${wt^B!855}gHHd7L`){R+=pQyLVUH2AXu%H89Oc3Z?}UDz)gja<#@Nbpnj zf*DIceU*eF53RfmSKr`#ev*^s%|N@b1>YOLu1!*INEjW2F)A`dXy+j5L9f@jTlC%H z(u}rfC2n5ALSiwxc=X6fg+^+<{LJ~Npx#Ed>+5=-U8LB&uy~s|dgxll=LfKMyVHZ| z@l^*9`^|w0SNB^zLM-GR4qp~URsEZ+x-fCV*ebhiOAe!!V`o4G{xo0y0XpK{;An-G zwCwD0I)V)P%b-Lb>ScAes+Z4udGpXjxXHS}S;*<B1UOSSgMpPZi$dSQDAj!~)TjZ@ zOm~mHEyc5V88zyllnK`VQS$Jw$2o9Qn<f>}ZW^@<hS=-r2JX%mXU}5BizdA^Gmp~L zH(oNAWU~}BqQ0?vy-0XgOP~Jo&c}Bu^HB=ctgk({RLqB+AU!T_ldUO>uBvS^zkV=X z8SIy%v-PIHf!So}0#B+GY@JRM254AVfpxR9@a36*Reg297g5pc7Z6Ygo5La*^h_ND z{kl5{@+Mqdb~eNDmrj=<VNQVFRo%1Bzvx@WzI5)3!*9;!Ckdq6M1(CRnT1hoyZ8Cg z@QNc#g*Ri?YpmI()CPayp<j;)r$?jrfu8aWqs(Eq5pD3p01i(SvV-20c=^%{p84+e z2t8VQ>&3QCsTk&Hn>m(8`Dspy=U~^hW^QQ5KDzLvYrR<T|J~sWOI&j|1@5$Tp{VlV zh{mT4q}}_#)2c2qrP9MDa$XgkM<IjgQqds$Dgn+G9kBE&B?jH3IFycPgZQ2MJ6#4G z@f;ZckjsnEX~HDqp`NPCXflX;i0#jpUi+MQ+z&a=#r&}>A74i@63zHO3+PC(ZyVF# zFHXj0=p4|~65Pu8Ppa1Rudplt-klxv(hSL8)7IqQVg2ljqd{1?;uAHZ+ghBwgJsS1 z^y@OJPfQ8_QBXV{reCl@g4yI{gT-`tE7Z?B(owGIYo?>s35zNxi^x|WnB9yw*od-Z zB$Qu?L~f5vn^Ul(T>Ob@(!o!BxeN~RwU9#~U-9Zar{PL*1EbJSk|03SPqc<K4ai2$ zSK*s9$8;4yCAT;X?x32>nqKs-KbT57dy%+6K@ZA<Lv=#nS?)QhctJ@FVGG>i<ucy@ ziP|#s`!c`Y8q|K&)wM<kZ5cSMjw9PElO%xBZ-7+9?J=BCjS5pW8md-D@#cL^B=VWK z+HKsk)I6~D5U^*D;@mv~BnZ=Qm{rXC@)59f|7z&2tX`_F*3Sc=yT!=wl=tKEU)2Si zG<Y?X9L%NuW2^1tj}cIT+|MCQ13JV}-1d_X%)4})&}=&TcW)PX*fo?vy*8bJ?m)49 z$;kF4rs(_v;B|;B4jw=Dc5VjIzgf+<g22lvc~}oxcs^~_Pml<<omM{p5$uaBRcLA$ zjb-!F;po%Sm8JRJyiOlrz;zRn*UkSZdHs+!A6A!osEFc%Pq!4__sPY^&XVTMbQD^> zZ!H#-6FQ=v(eP4vxKG~A6PpZSuIJ^|Ux@Q{klzVB{NrQ{kS-EnCS6aT_k$=z11M1( zrbFcoCT8~bF0-`X#npY1M$~cDhCjuAf!RXYwhYV<J5r1r|D%YQUVLtR*w7Z0&CTyY zdkCrl9CN~Ys>q*H1~6eCxmK*1DFF7Jy*!Ut=vftbE_8ZZY!GC_c5r$E(l25b7;}EI zXmR4?ySO1iM3Z(^pVg>P%vGxLe$vf5l_M&$Pvxwn2G#0VWVistvp<&EK!7L0Re?cN z2lc1I8i%IIu?@6upjAzt#|JK8A$hY~tq}l9<jdpEsX0k6sz_-rt}g-Jq=QWpB>v?) z8|&&7HwxSaKJOHzh=V%4dnIUTx@cEY|KK&XISyTbOFX^v59pHGVnf)$?YvLDFKDdq z)<yE>Ty+a*r1nFZR;UMOxW3>=zWHJdZALA}hj0uf4HyOEJ{c;&IW9wFkBjpGY}pGn zmEg<finZL9mf(59rSPP(18V?<bl0q^o-D~0qA_}W7HT-;4tx0X1=w}7A0r;Qs9Hm< zt`Lp^U((q00|5!z|4oam9#>|EgL0~6!Us18R^_|^dM3HOM-^zi$-Rf80M5|tVkqsN zJ^W&m<B{MQ;N@OolBNuM$O>}Da0evrk<%bnoWjMWFRmsOFt)s4!K2m*=n{3ocR$P0 zhkOWsJfz2h#eVU!$^QVhfC1%ia}2%|YMl0*I9`(Pugye98vJEQM8Q9gS6>1z7m#_7 zH)!-v%*xQVo&9V9e|R!fY%@7DCq&_}S}<f~q9#GbSLB~R)d6as;hN!2M?bL{8}o{j zuR+~f3h3iO>E>OEB?Y`)T%b#zpGvm)Lidttr=K&q3zWQxorq}YAzzVw-o*+e*sFjW zrP)o_CiewDiX<?8SEqqahcwsJ0{f4`r~m!nFF9NK^&CCm4Qr=6>}t}b*k-J<;7V0) zza*`J&fji7{9pOoUhjq{7p&_>vz56!O1^6=SiX%jSn*cK>w&lStSBn?t|eUAKQNAs z^!93HToM!Ai8TK7_(*a2g%!!JIL&%(>AZ3G1(naL^eS)7VQGGudf{@<o{9{>hmHnQ zW=UPUgnXNOT}+vx^BKp1V5;905GHc0$LQO<uOr>Pg!ETCxPA|)0zPj?kM+qG8NW}q zFyG0oVbO(GY%EnRDb6}P{5g+KaMR_R0e~DC5m)Qv1V?0gKjEf+c3brM_5M!!1Fo|N z3>wE<gah8cJ$1m|U!_`~+`68_h@}J*;;r|w;b#-;alTE6{8bXG2B>v**cRb?cH1OL z=mx?nLm-{~QXBlw{fk?$hiB;y;)oRTl{kdg6lx-T{Ey<r0jzeb9l`Pos9giopc{-D z17Zg)u^o_mNYN3-f@>u=3T&yty4wYe7&dAh_6AUuBU!KsSR%TXL&WpGVNVW04s&Zs zuv~m<YAOoSzfe)K(BT!3Xjb7o`OZeK(<Xy;x2H@Yb8Rg|E><|ubP=;A$W`4M!yWz5 z(Ro{j;#ca7dtz^Dk{?@&<FWH1=7l3+_=smVzTAH<V2Sa_>K_Fw`!^<O6KorhtWi9$ z-p<iSW&nbs$lU=})<a%a!hk$PLkP&`HQ|8$`z^Mhmns23`}c{3sdWK=>=Tv!(*Z%? zbws4bUC}iU<}^R&gK@b<`9X}(cEI@Tp(=jyzpt#j16#l_#46KNcJoPw5H)>G7frQD z-rOpJ>O4kIFTiS8i>B%#PUVis6ADURD(@{%)EiGU?`%W~#&-^QHTWNgNp<cyw~HuQ z)+o0{>A@iVqyIf4No?(AbBY@3sdi7!Z4qcV^xG=5d2myw2m*MpF-x&@Y7ehdSkiLG z?+yZxCz3(i=Eo`wTB~!#cy@ge)roxUo#=ixKm(=G)6vnML*s$fygsQnA&_km5OgVC zBPR2GjaXoRftz8^Pbvv?B$>G^PR05*W+}?YGF)-%TD|cK$Hf+y7mP%7@cKGA7fq4O zbnr)vIvHcL*gvo*7KJxGWT3Q`VA7O0;qsAk$-}dB!($s4H7;}+PjDTS9!xkLZ$d0d zW;YQ#en0z<!as^Cht3`v+C10~v0PZ&?NKXk{hX|#Uc`L?_qoo&1yG0CwW-x9?#SQ@ zE9c?gPurTD8!lSoTzzB|2&79IYz;Py;w*-R{gPH8O3voY2zqRp4%w4KRu_IBCkUQH ze$BNs^Y4P$fCEz^FI$U3ZlHHb+pauk`f*2Fypc`h&B+`(8)!~Wh!sv4M{HKVgcawZ zNQbrs079qVb^jtlc#|?im_M*XA;6r?ibB|f7S~BlV<`r0hL^uO@h2Uat^eHfDR>nw z&yu2!Lsa`KbWQ^O&lpIvM14zx=?-=etmWB#FRQYbzM(JGH89jQ;B%p1avdbSayK~a z;EU!}k#|G!JXKk)b-~En<iLk|WkWE8OSS``%bDi<ICU*F(Y{^eWG7J{yOnAI$C_vc zPo=2O46NC#%Nkf;V~6!WyGGk)6z?SKu)~mLag+{xuSd3^LY0PPlVw_sh~X!Q10!HX zs`zI_hcKT$IVKXFIs_rLT>4C5vR0CFJ6#T3F-0lh4-BbX1-90OFK&eu4fU>>1Us~7 zM}WKeKBdP<RHdSK<uzEV6><#Tn;QEVcVsutGh;gm#-**SlC#DUUd<SF^aPv2(1f*R zpjuLJ>74R<CTCK9y?EpkL*l7gbXskCJY|&(SVMfC-%<Q~Wqw_X)?YJ|VY8sa0KrNv z$C-BhV;Ee92yOI8Rp)W?_?P@E==Ef~ROzRH((Hiu?Gs0u{)cA;P3^I&ohCNPw6T2A z5f`WJKV}BnzS}wYoh6-0H;U1I?VdEWqtX8EHc@FOePH78+Y#`=EFH?5BW}j^VWMhE z6h2AtN#+>XOdZsxG^v*UBY*yn;<MtlQ{iRrjkXo(!-`yez4Td!`kh-lAL`<j<vR5( zEG*6XmIc%Gem)lLZjW*_!)lC422o#4=VG?#<~QKe`0nV<l<J;{Jnvu#5Kpbs>X79q z!Sucz{-<9ytaI1uZ{Ojn(5Dg}f=sH8N^XkjVB=ve`t0m96yb;I%@eaw(lZE_eT&qz zt$|J|+cAmk-0A!2>>FnGT6QTFGRrylqpJQnWPH!y`RV7!@mza-&P@&)I#&K|g4k(1 z!8HF`LhlC=za~9I4_|Q+M<ibr0~$c@4emku=T(m#_XRr^Ll5PjtiEd-w{Foy-RXZ; zV=72`a&Rk$q3hvXM9h_xrDm{f0oDG$b#uX}F}GpHZ&N=uTgL7dy)w@k5_LQ%dpdYN z>U_O#_@n!V`TK<Bi`PFhy&v#bL`d<UMz@w}c&$DuLu=ETNI0kuLfnh2ek1qZ3eVd2 z(~8Sv{MIslU6aIc+{q9-+;g|`X3ASs@k<A<fda`T3^#J$3-P_ATTUWFA7*M|#|jp5 z33{_0y>8`bg~Wx`PG6J{e)2m!MaR@V_*rBn+S@Ifb@Dtm?_ri!h1JZfoZP9YY+tMe zD(F<_TneAhC>}^3&GDdJb>$YX5{6T1y4Aab9Ar{4D@Dp4RWhE^n)(gv_~ZFl*~v-a zyTLupY&UE_4!n)yi2bcYpW2YI^vJLzI$ol3X(GR_@S#3jy<t}qHfCOKs$6uGqhJ>H zYpDz~vb3L>;HcqQFuPVV`VnSYr(LB{B^)55ALsmJ#}kcRvg+Zu0yNfyUeGL`yeBGG zZu$6_5@JnO=ia0^c~&_2J4084d%I|7S==6$luz;X<G-~l`!uMJX=FRKGwQZAspa#< zj&>xNCUq~n%^2-21FMU_rp_m15oV}^_-%VE>TMzL+c!z{?_9g?Z>}e&JO;L3t#5wl z=6$|&rRB|=cI!K;+#v{UNw}7v%cP!qn|C9@xa{C)e<ohTv6{c#7TaE;+jw5lgsIA_ zva%VFppRg1)YE)Y@+fV<w?4!3T82l8zlgvtCxcFwNRBlqN%qr51D|So?wQT3A}+A1 zvB?wX?(f1rN6gBdKZ859c{!Vyo_}hvm-b(xr`il%>S+J@@$H*(yLTflUmEY*6!(Va zEb)yQ#6LLXv#Fy~eKyGpmhvjPY1Tl1JGXMknu7U_U5X#MOlVIZx)RT!Hv;piK27BF zlc(r}-m2}*g%vMdwNIBTwqB)y4ABQMntXWf*RCpFzFYzx8`7=k87*muz3@_q;$5K= zypdM+XT(mcX}3Y9euo#6X_hg%IEfeZ&JOm}cCzN|jPKu2@&(1Qm$+DMXvR6eRGsA! zXrYZgoO``Rr8IasS938}izqkti>F$kzxzF%?Lg<61+Tw;Rix|Ru3>V>#M>X)Z7y?& zqjt$aIl~)Xp5S1Yc+BHo9-4Ugld1<vRYU7MY-V5Q3MF>y^WYhZ{W@_RbVu3Q4{v#V zn5Izwn3eWwm$%V*W7dz|YT-=un%&ddr0Ux45sl}FmSLhcJL;zw{)6a%esBMLFTV$j zwXf27)K|q|?)&^4_jEaC@+=4)eHzZ$D<||&v`n8~d}|zNUB|0<nK{aJ&N8m2IS+%C z&ug`1-}Ubs?_kf>Ew>pj-eKz18qa+8{CqaBJ+v&W)GScgt*Vi4+;!CHDj#{Wd9#ik z+;F$8jT^|Qu4=2Zz}N=W>U7U4KG#OF>hOwRTkL^p-Vke^jh?nq1c+yIUeF636>rgA zNt(|yR@_NESMC>D-iNPzcASVDMI{8iIQAG|xnm+ML>}fF7@IcgqFCh@DRwiLHg(K# zYk9qP{MBLEEF>9Pb!e=Gw|y_?%krK9Va(dg^ysFgM_Izxdrfs7C(KnCE&1Ce5C=j+ z)@7<GK14k0jP4D>+taS}^2cj@%7cADJtGQXy6r_i&XnTVQMV>~6?lWc9ot!pepYF| zmAhv8tmSmW`Ga97ICJ7y2mD)|XV_mQyQ~62JnEUX@<KeB&dLxE7BHB$d9WD0u(FKc zG;1@He{nBy`#u2MZ$l<v90CtvF3w)x?@fJXvuih5Ym;nLuvG9Ck+7t^Mqh4s>T}jv zMyp2})^kucES*T;Mz`D8>%v(-H5|L04zXH3Jl7Ge0=c+a3jCe;t)=lU#5F`LjsHN! zaKgz%T7|YkHCuTSJ77JVK5cgq@$!KRg>$)QEsr5_Il=$$gKG)K5tgGlqJIaU7XK(t z=>WpNh*O`+pgyS>UL((j(h^_p(kvkEJr5lIm)HxJ=T%M8)uz0p{JwzNe@V}ZUVrhG z`hAX&nFDyizmIXauslz29^#w5zkwMbT6!8S{z??W;HF6@ItLdz1>*AzWWUFm7lKuy zKND{;*Dk!m{<>0}z$5%c<04E{iZM+6#R9beWi(t`BUf#V_EUr2VzIX|J`jGId-{e5 z;|n3j&$>GVN|xZJ`uc2V5fSZTLDNlAj1Cxgi)(#=<_DL(Cwcn9mD3=F$Nz2egOuCE z(l??_ai%#0f^vxqwjS#PB>YfEL9uswmmkFx-BvZ?FInFQw-x7Ykt|Bq0*=F1D$ooa z>Gecqv6v4|>Rk1HQ$=suA6=~&h%L(uLM}W`QXBd~<e$*iOEpe7>^Mfc<{zQAJx)CX z5#E8b$LqC#XIh~XUgxJ{T06bFga*7NR(Q#==DeGQw^rXIz^+>(-%(Z8iYotXyOYCj zmjP<n`xf+?SG(bX_j?J4SH%V^hi1P^t5YnGw}wV#*>`x&Zt)n?OY8rrM$l^99yMEm zwhF>_oKf)*7vaBBI(t!(Yp3ITo8#>Y8I6s3Jmb!fy~4GeP-4R!v5&<l7VGC8e|*$2 zEcGpPgS2pclz$yu?r*4(QkF5T4fZwi$bG~75gqYV+eQ1GBeDmsZ94vAby!H<qkpA& zl{ZrHn!ZS^Zl7MPUo<)_-aYAZC2j8gFw1mti!F{R_Z{DX@Tb&_H9J&vDY{tfSpv%| z3cKX-7+%NnTG2W&S&HZ)Pmvo1dGtH(Kc;Xa(^=<3e9GRwwG)>*xS{&Fhb2zcPQ~d} z9Sl|;2N#Lci>JJZ9pNfJ$NoMU<7kPB1mCV()EN>dkqr-fE=%C*a+@E#U2o5Bd8#VT z?qsbjI91%VwVgct_e78-W%gl(Ys^X|{ASjx+<+T7?#X(Nl}rYXf|HJ5Y<6ao!`5_G z!}s&NJE;B4*Ck2}<)~{$>SJkh`9E9LwKF6$60u*+^ehANfj;ewp4kyopEjnuTUlC% zwhxD;m6VU2V!GS+)e}Ye^cGe$BZX?kU#o-mWMi&|Xbu|Rih=Pbr|~bQyZIV94Ii1! zn`v@XV5(F)t{WABC*g*?50ZT25*nsHV+>m{<+Z1ierBp@Yv`Cxt=46kaHg+2&+xmd zpOemOBgV9D$$!;=3)R;2L#-DhsVJ#T_Ni#4ZT&JH9_JObPD537z98yx2M<e=Jbd@x zI$Sb+vtb9`vDT!}dzm3VD171X{{Axk*4J5RuGpNCxQAdjDiChAaJKiVN$(YpAN9+> zSM<h4ENaowX|~@NJ0!lxw))QVemCuSmOZ(CEPA=U^Qjak5o|Ug_@lbY%tCw{wW-s^ zLEpe8tTeIx9#c5+tP=%FaTtH?BJ`}<{D)#^U`naPmvU8SCV@!m)sYl~w|V57!oB+N zo6`w0-jCrj8lq`uv)J50!FvfN<Tq!}LL_18LpRb&h6wkcq*$7lpZg-s{srGE+;p44 z7K;^U!T#Q6-yAe-G0}Yto3VIvkSWA0SH||XpHBNjG}EA>stPPcOEN1CHjfzJ%7Br~ z_Z)RH>+3Cy;RYTj95;`m;*8LhL7LYPk?l%87}M$mg>0Vr(adHTJ6VwZbWs&_bw_{5 z!M*{uqRt~pHc05K_4j_KU#21P{fBYc4lk>6OV`ktMh@b8R;xp4hF1U4*Bw@+g|DA; zoPDy+jg13K?411bu<+N7jomC$Z~4o=DjOKy?M+rGFDg(gQa<WlOZm$??zV=;wS`y& z-`0Q<&lG=W+yTqRfo#5bo*neRvFAvj4uK@$GNT^4>0F5h@8o}81>^F6{o$CJ73wW1 z+G$>cs<=`6v#iRORecLMyW0*$3WHHwV)1~<l+4tyrHKFVI!kQ4RwckXDfl)$h-?Wn zeg&B5Ee7>`*oJa&2;_1~0BPK-`}ddSz76->V(T2n)SU2~|0q&bFBFe1eSlnk@EYA) zIuXwO(D*%nR%w?0pIvM;j^cRo3s}8o*@L03pVZV8OUJwPKM2q?OMr<{D!-wJTzEeT z1+vPZ)sp*~DAMjdK$W{Az#w)K_>^poJHUw}>9<xN^UvRO$4C!cXa_5b{eBc852*k= zmkGpSdn(fY<#XCX$-L}DkN4M=AJ)E$Cvj*)gaSYp#qL?b*z>Q*<=E<pifc6MyioA3 zlcS3O!xDCbSyxgBWKUB=5^2~8$PAX<V%Nvieto_jCEH32w7q?(-ooqL3go!X|FjfO zXy`e#HH=r7E{3#)D21X}x>k9m@jK8(sFV0CGH>O+O*lp%ne4|jg{c0aSQW{@1^&q8 z{;$8&Lm@4tt(K~q4Dk%KvTA!}H0PnpFHiE>R5J1jW-lyv4mfnRpG(}hg?eKTUs2Sa zJLorc!Jw@HDKo?@Azk&_t4JH@kehtm6-;6kxR11HhXk6E7{!FX?qssY#wVsRP@pKo zz<9DmJ(I5nhH$CSm+Y>t4)^ssL|Q3o_nN2HTU*oR<Y$L|@tg~w*9aOKvtR^1Q66)v z_w5lD42Oi1S{;6K=9`nYP<l#C^)+FKd($h&HO>wKBuE$Qv4hOg6L}&%ARt%&tM(3b zI)QYNk&?_dFjj65h>q;H3CshyYXiwV=JCqo(I7Wj&pA+luAO)3(5wTnaKh1(H@*NZ ztXnjSlMrqG;9b|<V{(!s*v9QjDAggD<K<3Pfz|pVDWs^Fk|K-(r8K6<p`$Zas;6uE zvkj1jewCtsSQk-6KJ4?q5f~pLG5lbBBW}I6qZOHdK{1oropeL^Ej<7~4)2q{J|;GK z)Hmgl;%0eySUa@{8Bwf4zG^oyPiVK#x$}x$6+<j5^5#>~-aQvAnyQk2$xvIZ<Z=^w zL7`4s-9#-bJG#SO9~x^09^(;iXOLe90_`r^N6s_nMLzP0a*39TH(*K`287^qVV%=Q z?}KJ$u5hw~K=CzPP}v;vJNPaSp>Idl3O-C`QLF%v0&B00BnM&|p(UR2$uqv>G@Qo0 zaRHP6DAY{7$W8omw5c7f|HEgn^#_sm69YDC^?Z@Ss@1y-j{i~kITxC$+5GxM6p0T% z>bHD}V?We-+V*6&0sG1K?oG;isBAnPSz(F+ZS_(CSh&C&pwo(Uhq{UVp|fd{Zw8a5 z0o&ilj;XdyZ`>@vh|XUTDe7KzQ6qO2L-GThRg-^I`Bw#6Id3<dy`z@d?Jirp9fbe^ zxgWf?d#i?Mpkpe2BV+BzTBLDjCS+fFJxaHqlEV^^W=)7~CDX%%Mr7jAq@8o2`Y%cZ zJfyQ8OgzTCWf^1o@{*h6L)l?gJ}E8SnW$U`@nc@s+GbT-0*v_U&@=p`ks!qCxj?Je z!lF=sef%L9rG&x}G)Y)eGuh7nhLEAW%-RWicswb@3u5*zUuSIHSoBH+TWgc+FEmvK zKw~^*yRIntKSjBXgWM=E39JwN$ahrs&s#11RG}v?<^Awv-kK*cWT^mSpKj-8y41^Y z)DKP@nj9Qc8^lV)QClU1Fua4k*a&6ldmZR2^P@i`Cq8&rB;U$%5@Hs{s}gOKvt}PT zcjagRl;WOu2r%Fe$@u^-y`(51(}*$=RyP(b;~}$8@`a;G=TW$VF8=StA#MLb%KRSq z`o!054!7)OmjWp+P6~s({!Vwm_MGMb4_TZpByPz^zXfm<zc}wgXDGpBFGai)b*>L@ z9L=@CF8r_UK=;LktQmO;VXA1l-PHonJ$5)-#DiD@34+iy{B`E{3t-=HdT|5xaOmX^ z2xjS?U1<8ND=eHRtem9VEf;(YDnG`PF?0c|V6IX(|4Y6m_gypR0ylNn3~83F7n>N+ z`94bgtMqF}v0sB^E|ktdh!+j8R}W-ymV7}C&p|Bx4=<iRSj7Ereqv&xen$O{{l#i% zS04>)e*jzL;t>Q%`u8d&l$RiL%;vX)(w1GN$l0F`wX%R%;V+tmf1Sx@`k`J9&bp%k zD@Vob_ls&gV)-PbR6o`jR#g;&`2O=)gmB@9(o?(*D~&*h5b~X)>g@(NztG6B%ig{O zwE72)1h|u#6>9kB)a&^yr|&=o9r2Eewze9}AdVt*M`xp7+T-u+37RwxeTz!M7U}+3 zTJMYs1CzqH_?$*<>$ia3%%%l<zJ{TC=Xo+mdhu4L<*S;08fnhe#nk*BdHN2i@92Gz zRKQrwOn$Ax+uS8oaMiudG2VB}O<SQ8cF#kDq$s>e<}$Cb2nlpOAybE$c5@AW6QP`e z)13N)Ddko85zdF2LzjwGR~Ac=Wia{P^7XfkXyOl0^@}Y<kui}ogH0cdA<1iEy-%>B zvwUlDI#=~YNlfwpx3!0xC(!PI<AN5&>KbWPS<e2?Qk}_hgWQ@ToYU{KVPGke8k%?R z`GxiZ)!~3YgP74;>}F&fo!sk<xKlIeQK)oV?4NdU6kE*;hmoUcY;f<s#k%^xIgsbz zYCJ9!vvG)HD>Ge0ylt!V!2p>%=(CSh1I7U0_>hu?w|ckd%oY%+j}Wf9v&XI~4QH_4 zcWHN+4ZJOTHjdcnbxGc%@`A)|QUB6zik1@`7OqW;3(qn_9-T2X2DP>wJ%)NP-Ngvz ze4&>0p!S5S)08RHOI&*2Y!j5&Qua9bHvHtu+C>XZwOF%_^k!ae+hnKhq4Cky`8)BA z`33AFXZGc^bUn2`O>a(LF6j%kjjxprt<GdcG*yesbQS*K;?~po(}kD#_&h(>Uu<C3 z!GQtXbUr|&_j)kp7!BtxV|^IFm?E<uzOyUuU?SnV`R-wcvb!McvAHX&LRJ0UKOTO( zl;NZYu1zV^KnnR@O2b0gd<o!G(02`+;CnkCd4&d3Dv~^BpQU5?aq;K`c=jS~hsHK5 z`Lb!3+ld)8HAj64orl{~ZInJofsfIwl0Ntxo4i1KH1?oq{ghVKXn_ECebs8_LN`La zog%sCw`PmWxtj$M#*;cC_RcFzToJ2(ud~`XXAZ9VzPak*cOf!)F#BB#&b+A8_gmS_ z5@8V_+GDM9r4PJ%K{7P6!W4K^+Y4<?pCbp7GzzW(lpRG&X~M6~_=D-h^y1$td~Neq zkmf*V3OZu&e-tPU@mj(eRIqUu);UbTUB3GSVqm%SObOUuB<Ug!qr3yXx#So`J^ac3 zt6W^kYRvPyRn>W)lBrxHxNUv@1(0m>@(y=^MuZpHZLR2{-IqZzObm^b$*k8U&!Rlt zB;)N<RJB(kvpPDL+FK@S*Cz-hAeYPHa7XoXOy*aYHr_;Om4%ni120$o9@gczs}ppc zyjnZf1062?T^x3}VLMew<{BIc(KE_u(3U&V{f?8C`>K=byTn`|EcVbzIK9XdL@(?_ zp^gvlF}@O2zFT(a2=q1b{@tA1Duh<O+7Tx>l_?LyZ81l9n;t^QwM`=4y>wn8OS8lt zwmdB6LJgjLaepMpKbCln|AC~r_s!Mm<#y24fkpzWMOok<EjXk_!X-}WFFbGM(ftSd zx#EP8LfhQwrg0}HCl~lIvYvk1W;s9hL3|b_UVMg-G`rwXc2lkDJ$K}SE!vg4@j60r zX5HtTf90RzY;Hw`X%IL*>}{D0d8KsHMq9-B>C=jr6>amyh(Ld_CYszn;}VHti@A~! zY+IeHro*ECnfPhjxg=_-?=<w<W&KXo>HU?AW69DohUgXa`inpFZCAHP-Rim@eJFfY zy)<Tf1-yw#Gt|%)+K*qY9!2z{Ab*aTC3ID4-QB%YAftN=_>R2nPwlAd`-pBcLd+sZ z5aS-UC*#kj`?JU4pOWzb?X{ArHpdXUMf}8*l7|)B4bT7nj(H3;&A4QSOY>bJ<xsm3 z<FlBZl(Oz*NNA`x@X5doTxl-G^<6F4s=R`B#kkAz?Zt|e&;O62^A2b0?ZdcMOSMX? z1GU<sR&8oVs%nIy)Sj(TtM;C$Dq4GM30f;wq(#IIRl8;oJBS^dATfULdH+6FlH+pD zbIx;r@B4Ghr!y^OSAX&;>Fq&&h4<Vg8v!lxzgO_ptAEy8xX)a7!5@7~-p8~CWd7Up zx#E_>!PkzEK0?_ndu3NX=sT5e`5;~=$g<5!I)O_hF!PjJrE1&Q{L}$>2|z-?-w4{> zVlhRMl~obQ<yQEqiIQQCDitu)wRVt~T&jjLcI02UWrF=$gingGnxj9_zhhR|f`ff( z6I|YAXxrcWogzCjHO{A26(jZX_8%lmg81*<>E9>Y=JDxQ@5vs#(J@2t`MahX0WVAn zTuqDn-HYzB+HZ!{M#h3#&@QeOn;{FKdt9$Zwsxe2ruR6S>ylSprsEGFje;+#`xICU zh0_w`ir(8WyHLj*3E)h!Vid<$QmR5l4)up!i%U+<aC}Dw&b<h5q|AdupaRklQcJ2L zO|9Nn;#Vo1M3A<NxFUV(4ee`xCo@^!n(315Zz`tK`++*u?cVGBs+g@=6Mu(^vHJ6$ zcN_gLM#_!$%^+o(knIZWbisC*OwQ=PT_(f8^ao7-5k8Bn{Eb_IRyQYG5a!-7;}^WD z_YNP3#4eO)6Z_J&zL4CR*kUIO(cijN|C#v|J$}{U?x|?cqsm{_{WB04IHZlF1(peV zRBL63L(H}OH}I9wgzx`RaoALCs*kO|D;q2MQCwuCV=%U~Ju2!)zDM#yt9;zU#3O4O zcQ#{1?>Wjx6^VRnD4I*9js9#j6=vu2Y-9!^=F@ncJBRSPn`z}flMqw+T189xRc0Ez zLE3Ca4$|IjaC?+o!TjKT-~jhMoy@VE4`9J`QJXEDHx@&f7K&_hMm#7eFdhe(JW*#d zB^wRMXxB<Yb$Z2)NKM+`PRB(^tn}ybl$TQ*gG>Lm+S6W8O?M<7)zowA6vP$Qr<qlG z8k>RcQ_S#z6#SLff8V2=v^YMeCW5O=)-1hxhr@=ujC-?B-i*20M(iSLQ9PXo?J`@z zZskW2c5!nykIU(7O|+Iho~uXNl0A&Hi*)eW$Y)E-3PRG%uBkwV)t}%^F{Vu)F46=W zr&-+3aH`!z9MxuIUpzr}SWcm%HWgL8Kh#d;W|uz6@o0PSm=d~lha*ME_6gg>BYrW{ zEBjm4S(>C1Yi8bW#y_?fj3SnnCwpN9J4%D;sGkQR-kEB-y3v2tL!La5S{5)x>)!77 zg<FLh)@=Lc{l;&?8Mk=%s7!Qus$8=_6iZCRaM$o?YAy1o38eO3Z}GXXi(^ls9oSp3 zk8fWQZ=Wplb<)q^%#(PX^4S`di`FhZ5HdTi-UyBUJn3d>{V+pxq5}tyL(tpJ!s=6X z(%c<*?`i6J#MD@wp|$hM^Ed%rHFb`4*S)=2*JAhYO;3OLWDV~A0)5$@DjUE#*RTjd zw8*e|=q&7ufoXNcyYxzR3RBS%{_)LoWi#a@@@816;(hakB1MVzwzch|9X_~uIqycE z?QV3N5(5?mjtP6Pd+(3?h%}gOEr_OoUh)?;qzNZ1>?`ERr_y}IPr{<((wl~-54q%V zhYU2ueCO6hMosu}rJ}*X#<Ae|nkn~5)Q%;w624F4q)t;;eJ}Elnnc^v9_%M$Pp{bX zMPoDdsnUH!ij!;U;q-=RIew<Bi~Yc2wqN?M-%z0kIbl<?!}U7Zvy&zLEBDKI=4*}j zbmr)VH9caihE1*gk7W-0$t|lne@_&B_9RvcOoP=%**-V8U|qQ@5VlQNpYt29ZuKEH z@AN%JPyC1j^`u@2d`ClQq`q>qjd@45b7~{q%v(QR&RcV85|4F70q<_R_}fOZum{aL z??;Sd8gpu=wyaTy^=nGp*0%yw+U}f8Ym974O+%G#m^-?;YH!VWS&12@_vIIgT=V1q zymjfiMq4|B$<XH=R(Qi?4e5|nRevy9?D=heO;HohV61=ZGp|tJabku<##dD`&sJF0 z^k39}R8#7moOC0bd`)|e9p%=Ifo6}_guI{n=?gt<G>^nP+dg5LkNvP{5a?eabVDJl zG~?}tw46ZcpP8oWG@}H{BoS#`T1hL_UvAK@pH_<gn#W`OJJw8Szg}i)3U3vi9RNP6 zYr&CR@)$zYcbAm7Kb=`CW@<a*F0VZLYIjg``q4r62?z3SZ9=}3&i$8d)>;3m;?y{$ zh2A*}CLiUJ<VPU<+H(R@l~b8&BkpB07exzhysa;y?g%3zJkt38<kdzZf;=n+^wy?V zQkK1pEC-I<nR<S9aK$!JL!qGyj-RckIGLN6UP%!ZqT`=rYd3oFew@fBY$l#2-*pSA z>tnXgDpiwyKe}EfT`|61X<zN`YI(E~ilWylkTd+rKUN?oG`FEuQQ%6(+^Ak>ym>OR zYG5wsL;P~(LsA23u~1UTLHGeW!_u0bTC&tb`RcAvUpmO1+0AiQ;ltG2oSE<X=<(Y4 z(Qkb{ClHdd87ez9yOXHIL7b!6yE>#TYChyEB*&dzS;)++eWm!%%iyjg$qvuuhO1ws z)Fk$Lb-O3@OCK28inz!s?6}%i82_0|h0INv1_AtDUym`T{Z7r-PNkMYrnO_4s^>n? zJg!~c!Kg51-Nf97d(gied^%$Q3nDV;>2a2H?r+zt9bfj+2jC1jMb@b1DO3|q-Zw31 zb|tU=RYpUapYg7g|9wv_uC)+dnEVVViqf=9`%T^}Z9#@+cN^whcc403DsxrHiMOA* z;5Rw%+LBc1-p#<pQZ@LffMJfbY;n4SzEr7!8DPjCdr&=MlrqWTzZDL=WN^_d2Kt^V zhupeP@k=bTmJB#pxX9f#pO|iLXKupPn6t2`-;WIzJMg_J!E)pzV~^aV!)7f`YwpYX z%a`ll-9NLaU&$xDsK|ED{O*NKMP<iX=Fe63f^M(xCDQB1Il$gJwHWR!?$+3hL_!?* z#34m}Pg2Tt#H(EUc{%NzLgY?z92W76W{P(}$I&FAA9mPWduWxV7PX2%+lm~w#BET^ z%R9wfmtUkHQCUl);-2Y-cYjNb5%k=7(#d=ygN2BG4(ZzH&Skld4_w>D%WtkPjh3K` z1W*n}jKN6M6|x=DJ?P)EqLXb|UvQ`|yg(b?s0FqA7dK=UTUsD`H=+26kx9WpZRS-I zuWvUKQ{n>IB2}G)9|RZA<v~e96bkBYW=%dpKUxrGZalmJTsDag-Xw(!y3={gtqsf_ zgwL#`=E#m&XNPpNe&`#oKO-}J?>u&U6jVID*=p2yqv&3mFB&9~wPpI_1sQKA{#e*i zlWE==CRv*Ko54}TgWqh%nQvIO7!K6ihPl*^_|?2|ot!%j;u=Ye-qK0Gil`y7^*j|P zqpvci*y;b#==82xl6c6sdW}_wf%#C-fPB|!U5H=F;r-DVSlbsYTP_mVt4$1LP9NCP z%`HzCFH0nSO;4g?q)V!xVSs=I*r~?w_R@}><EW`^6sq9~1+S9jwOl)O+ybm|p*L*S zeom+t&|0T$asBD-sNQakJJK7tvV5Z!IE=xNj;{+|0KDET^nx$iW{LTcj;3a-muBa` z90iGOs#UIU#Bd$s9GFqYxv50NicvG7(SPTlcFxl0DPlKy%s6h|i-qgm!KJe(7X{Wv zxZ9wm7Ls4DJz@4MVBJs;Q>vj3as!Iwtg(;H$F6vX&)8BN0I|!khX?7Z^!yNo%Ol}m zczf5q)8LEfvdu&4QS>1IS%dlIEuP=i3QA{72Llkrut4_1GQYGyMA^vP^UclX<@d8$ zXG=L4{oY#OV=x$X0w(dGqU+}qpiqfxfkXKmv`2geX2e{uq$LHi4u*ZBFhI_<>A{HW zTPqR!3C-SvT;Uvvq@V63Q1kPpT|0IRABYXk6}?PJHnb0wrX~JZU%J^!#URg54KHau z+J@%41AvqNQ)r^~fOUm6b%h!W3&Di1pRFUVwnVyv{#CGxT14a)AeBk0sRK^U(&#g> zOt);N7JPFqxG{mQ%X+>03<z3T;|{yd-OtU>Vm60+*8E^06P@ac)Hv32P+3Zfi*~U1 zYzJUvUFZ~g969AB;h_#<lomPmAD)fyKX`BuDTMd)9=Jx`BIbSAUAAn|Gz*>oIxDmZ z{1-DbkuM-Nka-@Z5wXBFxAW@M1W6qcy<j2W*s5pOqVaHf7%<aYe!I>l`sm|8Xuwli zkeBQlNLRDIm=NsJs8-eR8Rpw??t6h2Z4sljI+u4~KRBUewf>EIVaPx?8<7b8kIGPg zR%Gj;8478LgF{b(zo&L@Ka1PLC7cZCdgHjxo!4U^rar_2nV2dx$wtAiQ@QN}lX@xD zF%eG=HUKh-np1~c1%P=~piRrt58d};A@FJ7PTYcyEN9-wv-P_2AW@8RFt01VGH>Zo zLvl~6US}XH-+q_oH?^t8xoOAiS(f%d?)*XZJ$mD)hbi7&v{<f6=yfz|uDiCD+tgal zJu}5ad^AB9y80#%l#jq?`>xx&H$B*@%yMzxXMWVy)58O^<wCqMHo7)9w~r<rJnnfN z_TdsSLHztGf5!{T`T0`?08(@{`I)7^5Y1|J2)rc#jBqeg+{0RBNxMM5g-!#98PvEF z*|K@R3|iH#4}iQ6D;Ct~EbGv&51;|&yJtNMsmrGY4}BEpVFV=9O8yYRzqu2PHyr6% zyB`|#f3;{v;q6m%|9|SQY$?~V>E3d_&TZ#z;zJDtUiCenC7-i%L1&d5kqrM)&O+x( zr8kk!gOi7#0jVjvNQAz&(1#=!{7{r?d|p{<?zPUqrMC$Md)&LkLE-mgUn4ABXn)7I zW$O4HaK9l}q-`g=<(9VRmsSr4;lvSC+=ph@g7tF?Y0GFS#|b<zEoxOEU`G?f!fIss z8qll9wEsR&mn`L_`4JPl4Ft9JS~Aa7w$Y2v+g^Q6+=h9N?j_94%B?m#=;zG1!gDa% zSJeJ(&;dM>8E7<C8ep6yAXTxJiWo5_88@vs5AUR~oO9=SMDRMIH9jpd$Mciy5<8dY zwA|Uj`hb2sY<U@;3s7`_yin%zB#tJ0=f<DKbo9?{^x-I@?^Zk}*;m8YPr?Vu6hrUY zJV|q>A_Rcqxp8kcVWgFQo^W=0fyxfsLe$OzhSs6$3$W6s6&}!bxb=9Ej0<M)f~pgo z(W~O%u>`%wSufW$nq_?Yr_**`hAQ_t8LEN@>#37(ySIMrp=NoQ8xPytP?IFT&z<re zA&xq^P~6;$<q7bI2ScaEC3=EYwaOf{wD{a6?*XMW=c{Xao*CQ^?Girj0W;XM1AVPf zI=19iT3Xq`^}K_V;d37#LGy|Iw%sckxB68y)B{R6#DJh+;^8Gjx=YXJZCU1hfmZ~E z!`3u%%(IjrcHj9#l`gCAs|YRtdlD4ddVg0gt=j9x<x7Ab7<WJp4pkivWc=+o{W%l5 zoB&JGMau%-Uz~~&2m174k@8pu-^xzqK?e|d7Y+wGHZGp;0EL6i>RZpRSv?<om*=ML zjSqh=`hNsia^@g)1mN;b_>XGowfF*iE<=zVJ%CXMEZqPX!dI{Ex@PVPh!IPxcn)%Q z(*k0(qNCNH>S$NES)Y2)*0C=gbpec>mc49ffalOb+tN`dKjXh9+vh)0F#d|Up&nof zQ1Iz%4%d_O3-k4#*Yrl&9Ue02=v?cR@Qw?mwRnA{WIBk^Ef05gx{`$5(6liXn*n}4 zfbjwy7J8A!fE)8&zj*Q0P;Iu=kBSqRRISbdEeYdO$-Ke-+U8gi*-^veWS#-~c{h-_ zesPzQ$<k=rOW9dIxv(!xe%{7o%RRlvLSpwl=f^x7m_b^D`+oNeTV=V{&bgh7p7?Sf zaJ1~a%6oGWx`7Oh7X&>-hRPU?twnhM7__(qOSwclMDYq0Q`h`*AZ#84av$xT+Hnmt zKi*j$ech=S-{sNzr`AKfTL~DSjFc+59M;a|MJ@O65PXAqa9S;BAOl1%p0e~-$TLYT zfZaPawTlB7#`@|=w4_vR-u$!GNF13BX#_Y=UsYsZ->|)Mzf%VkZI$zT-MD4z*4R`v z7VUc;+A)zIWpEQFLAsJUO<l_Qtut7!He+NeFw9nG8eEs98h&SohCAZZC9bF-UzRN* z#Ay;xF8`yF2;-fAFH6Pl{~~}pBJk|~>){djqMOggvbD_DTiU0WqSaYdeupbMC{&3B z-zE`;BD#woxWkcWOjr?o@?}`YAj@0ewB<U*@s*C2=V0V(w>}p#y+qA*1_+1F%$-4f zIU?R^iK17WKQ;+>D^y#bxyMSb?%C;)6^g(CS5vg&4eTLD&Q7Sp?KEhbTj!?TrH_&) z2N&MDz?G<)uQN_&emT^7SN>=3`8JzBh_P3k%z2iTNhFsuY~X@|k~QW$&j&8&J*R7x zWA|Gh3da7wjSp!}{9$T!4p~T2<!n!xrQ=Y?C`}ZO{jEeI&M?aTLbp?>EZEtX;;09a zw(C6vP@fRA6}sDs`QFG^l&8D#=j*)!-d#CXS|X0+T#j(pY*5#_wLCd&8*=xP#5L+G zZ%Io&t*l)by|%kjhvVb^p%gdGv1Z|x=DtV?F&@@I+d+;*INB<wQ8d$Yatep5n;89T zQthTl;JHJbxlsBOb)i+_NE$|s=J5I3<~7K3A$3;a9Ar{K@$rpWluKYr=5z$?NS1)) zipHQvfIAy%%oJmW_G`c#y!ZJPnben}#i>-^%{r(<i)B@0xPolXMO!@|N4Mla2+6E5 zzuD<Y>)1q3Sg^-UPy_Ki@INZ!2mY>pfG6IJ4zziHv!tid@0w7YZ9=H>&NQgm*{w45 z0thM~Zt&!epV8iz<k(wvvQArC^4$vG8VE9^Yvf7UKV*NDDkm~AAIAhww1NtXME#%p z!>&j96qa2DqEWCr1V=dn>%`Y*+bB!XbCa*;Z?EDRhf>44SZMQJ(H{dWtQs!+{xbZ( zriv61lkIi9-0}LL&WsNnZrPJQy=-h5*bsE%TQ|RlG7E>~ARNfDNY&sf=Tjj-za5GK z3h8~ST{e?;DJ?pgnF^>8{UUd9Afi4RJ{7N+>6W*v5RblhHrRJii;+xm<u%ju*y3%{ zz4Aoiv+QHNyT$7EkD}~lyc%HqOw@zUo&9h=tQNEl^F2QsQsgpgUP%o0Gs4-J&)y%@ z`(@Yko%JO{5>J#w8|(FV-)@q<4_Zbb3&HOzU&qa-5&Ag|3l4{o%6}@-YMOj4#<Ab6 zOUdG=x?z9k81}*v_gc0``fbLVybGr`#)GP+7pG4h+B29cn8d(}=%RP~_g~!WE7NFk z)Fgj+Z&W%^WMZA+{yn&~#MC*vc}M734GQf@`S8q1wuqLur+JKw>?_Cg&LZ5p_9FMp z&G!_+sGRZGh1l<yny0?i3nykA7j}@sHBZOPe}5jEQmZ@2=CQ1(z?i&En*_Re;H*Ld zf?jEe1~1+8V@v;apWr4wfx$1l`UifLKgHAj2?<O=PK{1rz8Q+kk;Cp*XT+)M$vnPn z%H_7X3v*+od7mJqx#j^8QV(&hYV)gNCVy3vi~k}R(gcjpNU%)7&-Q#evVq!9rsLO( zAY^~C_0L1O`!uqzPNhPA8}h}atQbMc5)6G3kjDDLBI`;G=h(#?8l>8sZIX#ApGnmE zdv8!hnfIq-0pFFoY+m<+?d;xs*5jl;voO=S7`czy%t9|F9}nC^IKI$!cQs!3UdBHN zxbu9}?ICs*x7noaH6ZfzQ2VOrlN$5S!nL7l8(?XD{#mbw+9Q&8edF)364v16$)(C2 z=Ki(Q)0St)(69Yw@y^N1r4XGgr#fk$t$aM9;jC7Hkv6Q`ihEBq9TAX*XKUkece%RU z4zY)~-c@%LUNZH&{1OVDvJj+Rt_Eia4YfN+=5OgZXM15JW?PPl`_SExr@GhezpX<E zyBp1$3s?JDUeGz+yRzl$U)lT&G;MaC%z2<U;yZW(A-QN9Lw?`V^^xjxIae}4<eIwv zNFOob&DfTdiUHW~@BAUhQ5w-B^8pzMS<QRP^e<9Z^wSskw~7|ew~!7qXU4H-%<Zcz zIP<4)YibcgZJit$v+UyOswG%u(R-3M@4bd*Tv|Zv(TA$>$bWmzl&grtdQ=wa(7Z%c z4^i;&cVy+?s_EXlYGD(5LK2<HpB7kyZ97;3YMaxR{-bKtGdpUmUT$t|9^Sj#bYq}O zaNDQ+Pm|zmPsLqZ!FW~v`hk0V{`c(a0k?l(04_%9y6S=`jqcC&sdxmzdJY02oz+%7 zw+9NUm0qYh)QNrZQ@=m7zo5)pTW^2xyMFeSy@}SOphuj6{t*K8p0vJaZ8&qD7%nSP zd)e2~hJA4cR0AjZvNXhZz1;E}tErxvatjcRXt@>ubLsIe9Q5bt{cyj$IA58*>OO1m zAWF{Yi|sp&#pL&F4EMff)NR<lU9a1(KPX4J^b*Vbje~`u^IR1}J%kr|f{oQWTP12+ z(*`@o!mdZAV;7@yH)7kku1f{(@S-y<af+%%Z2`3l8PX{VLZ{gU4`lj32ixJJ9@5zk zNC*wjXIj;ITN&ORlb3bs74vjD#eOzIm~A=dkY=5{7elm)w63<_ighyjODHKR+|Git zj;5Gd&szH78o>sb`6wt2w{FzMvy(oAa;@&2lSaLf5WbZy#wY0u-NHV^>F)2lOaiDc zD7LqKs4V_sIZkI($p3Zw7Svw}y%Lz1&pTz|t!G8@87;8{y<m{=5b(^Vm!M4gUwwC8 z#CyHIQm{qI%QIvk*0bP+NKen46qzv6Z#IQKT`e<JMNIb>%$QGGnaxdWx%#^Md{G+v z@YXKf=6N|=`Sv?l@qo@uoN?qeo%~2yekC`1X@yRGO$96pCylqtRBG`^xX)C%tS=Gg z&S`|;fGz{I#+Fw7&XtLa$ArN@!fZzt05vC8b$-%qIE2xC&%dojVx+Rt-v-yl$-j3q zw@A2YIsHcbm7cP-L0Kvbj)yb+){@Q_`1Xl!gp(jCtS?`5!5eB247R4skAVe(+@McA z-&-oe<D6}HS>6=H{nh`s#=l>pYE!tX_u{xJ(%LZvN^jxrg^Rhkc7prkZv)~Ks3?;E zyhjW|)Z#EBXVDpKjgAlV?(bRB<qIe@UM%}}2KY;px9C3*%qoO55kF>Z3fSP%O2(|u zwky)N{-e5b?%Z;N?rRZ)v%y9K44DhjolP@n#+CVN6VXUZ#>;11xt6czHaI1seBF76 zeFM*?*NS2+J06M$>eYSdsrz8}kf~Asu?sfAQ&7zLrovik2vX-r*X>w$Ebn%Xhsd2f zN*^$^MgWz?TgxozB)cK5A{|?Wc2R;)KOVeb!qYhCF(U1MCrs%+X46(1|6{uHX<IC1 z+VUGXgw^(2r>p^uXyc>4d#?xgZaaHN%G@2pNj7TE`W}puVSR0Z@8w)gnpEALj7H*x zlx1~9vm}>wM0&Lr-i(0~1;@d*)1r6QnE9oP%}*9yswK7=8)Mb4xfq(hda=xler;tK zT4C{&q3z4Qo!jJ|wscv0o&WiU%Rc6Ne@cLK4z_FFGN|X>ul?hxqPqnwZOF*6=Gk%F zzW5nXzINqwcQwkFW_-KSS6kOKt9Nn6!uj>2V}om!wX4jfr@7l&D|G>5!vBc!`9iKY z*qD=>X58<#-_zPye*?ddbyFPB%{X$?cd4wk4C1O<4&z$zqF_u)R=<|yFXoSYev^^v zobzmR3Tx_gARc0Q`pnVlj%xkxhof3FLN1E{VRq$>TrPN8ym+H-75qL%&FPMd)XSff zE3Nme{iBWV=@eyUDk2Kv({ph_jetlGwO!*)(Gd}W@#;V@e&cb-eBGi`1wWqMjChAD zep8{x5h3b~ld~T&*p(U$4@7j7ICRMZlQ9qi7_16e_<2$vH#MXiD%AJ(7mw{AG8&59 z%~9ms7B*@=mQHy-*CXw<#xO3)H9Vu^v#)`U?K*oQ9;l9%@lmNz%dIW1-rlN#Vg;$M z?UI4TV&N)zbAqtIfeLmwZZ^FFJC18P<;m$6S`ZR6WPa-B>Dp6N=Bc|7G>eemOuTkN zJ<qZ;*ui0|+oB~}8$coGzElsVADZAfR{a|x%JYa6j@mMa6H@5@!mwR-GL_O-m37a2 zr6~O8lbkJoom(e9HO*a6gTRvzc7er%>otTc%cjcGE!(beRCY$~B(gE@WMLQHc}%fi z$C|m+4O_`Xxb$wNiFe1av)X-)eJE#~*!LFB|MyMb@7wS%a6Tn1DV$bgxp{R1wz8n> zO^$`IndbJMXIhZ9^!u!hoLO8YFz1&JW8VPZ3cGctTswrqFc4p#n42_&?uSOLO(}o1 zuayaNe5EQJSG&)%@b6uI?8^LQO!@rpIt!iK=r5n`e(VhL2CuugAhv>$2VlDXsxu?D zTlHciah8zT7x!Z!jdQ(y?!wYw<q&Ry=rtF4qjLYEITM!#@0m$;L1k~Y&L`Kwo*v7` z`7;VnV;^7fh#9B~bR?524sOUc1T^>oF+#13;l@u5ImoGLUesXlBZPd7&;kdXMU5#@ za^=W#>UE+EWEPJNE}&cn*0m1-N}aAUf4P`c8vzc31qA-mmPv!x=$Zc=jiqklO7X-) z%aUhpR|KzJzv_^zhcY#o!=a{dExF}kn+uB%epxM<t?K*7tW8y&=BG>>+8%vUFv+j} z2bEO&ty!=5JJIEBYR{F+*KCK9JgvP-kq*8E&Km<gmVu;;ijcS>|4<}G|IkaV?zw-i zGCMt2F&+D9qNg#-WVzNh5oyr)-D~dHseCptbjQW*naSCJ(uybX#IsfI>|9_pQNsC% zJPGW8?VVho?b~j>N(w!w58zdv-%C)}Js3}O>Jj3zADIO++0%;DLZEr16|+>kk5wTR zkWJd<^%GA#Qu=<#tX1RLv4c{XQ4p~b*m$<t{IS#5`)Z>>oCqT9^$fzDvB_5F3MSap z>^ZCDi$T)*#BX-br6r&309x)}?9fPtbuV<7dutKbO2}-@q~BO-p^C@(Jo|Ex49n4a zMDCdAtY+U>QC$tD^|1O_A2V3ge1kepz*o_`dqDoJ52@{tfOwg`IkGjBSy_w9Nv|0@ zw)AQK+I>k)9GjqU+%t&Kz}%*?ojwE0tMFJSo%JVpCtxlrzZHvOfK4OBE}fNzYCtS- zm1{Ne$C^OxH**U4Ry221rvg(T*N$hNPUwLK7<pnNlYWT=ik9W0V3&u{MHsH``v|ut zil{Xa)kSMT9S-vzdV742I~2Lp^ao-(DiWqQtUM(l%gS9!?CI&@tA|&Phh@dO6K#II z{qbFLAC|<(4v1eLU}1MjuA)+rND>?mJgZGkU+R23>_S$0_ORZCm`+ptM}tViq%o)S zAbN}2NmO!6P>XX=spYXht$$0Sxq0YL+5XwzsgJhdB*hDd)C=$DCNAoCyyND5X;)g8 z4&}N~%zmiZMw$)WY2K2tf3j|GQR@119p#iOXw9M$=X_DNlA-%PwTf6d1?>CU_zdE< zykQCT8w!ABa__`8CevqbODX48Gg0<<<kXrnk@_$G7j>x{G?vzl<{H=cMZkfwLmbi( zb_d|$ertvvwl<quqHaN=R(XR5`3guwauUfCVs22`uz>+-u%?fFDv@hl^7xzh0w~9< zOw8+X%Otb$V5>2~JEMh-DoM-Xv>)X<1Bl7t(?!Os=g#JS#+rZvwZ3E`z&UVNGP$j1 zAng14R)V1AHmXY3S|W7av>0c6p}YOtFnM%!n-acGu`Mz#iqY3~0Gcr`8j=qHr#WSi zFcnp)_her8`PCcRm*U=q_pHXfJ>KefP{8<F1|qeaBB76;&HRS>%58Y#ew@jkJDHX! zIrzIZOPzI*FABJg_jjKgfj$xd02C+m!9yfXBcAjEP?zOi+ui^0_K;7G;zRgBKq`*k z%_oQk@}Kr^P@KCcskdSzuCX4ro_SADj13E1A6U#9zn-ZWmXv+Fid4*V4-2R`PfKkm z<=f~W2gPi+eVX4F&-F}b3@2^Hts>;=eHzeKi38^?dq?D33N_zfPhSJ7<^ccsND*WJ z|9+}vE)O@uckT>&Yxr7=Cd7fZ5=6xV3ku59#HI@yHbw$BqV?*@6)##|jfY-xYo1*| z59LUt!<sPQoCG9~0~TWX1|92?Pge*ucQo2n#DIZ7?MaMd(x3zr$ic5`%z!Vjg5v%q zb6S0Wu0i-eT0fb5y7;S9Pocw#VrFh`c$`St=af+Y7vbjRot(VhE!Qc#GX=B5Iu%b< zx#6E7DPhl_@6+1crTXEC12vp8elV0H!uu_$1_cHcFAW{7cj<sL4~ns=%~RUK@_=#n zw#LU>x*+fXNa#VCxU;dVRlkr@UO@MS5xZyHYFw`D5%{8^zph`%Tf_iuY1CpCC??p4 z$+yKlmF1`(P{*wAyxtkIQPX`PA(^P!DcQP8CjE561c&}dH9l{YrP0Pu!w42<VLv32 z?SkKzdB#9G4!|{N^!mA@P<qDGk6M?u1G@-$!0f?ctx_nY`Fd3vKH&!SI(8-*_GavY zE1FCLf6k!hof@7xdhw*$`UL!4InJl`jQ_F$eV4*7c_tm%!@-f%sx`hfbE64^l5SAT z-e9TX1^Zk2Q0JFArrB~9mqrt4Xypc|z^h7WpCN3U`WiPAKKc#>1w+9_;Qz~OQ7Wvw zeUewM_rWgJ(6j+u3~I1S7pUZ%+H1x<UHM8W%hE+)+dAyv@COq)FeAyW=e;85rA`Sj zARrM8P<Tu?6!$GK@7Wl@F&Ut331ScXmQUc3xXKpT(=)gc92C5Icjq0{di+ORA>|yJ zLpNhT(PQ|uorP-t^pJpA^i&q5oI#%_ICQ_2pb3RiV=-n=Kj9w_rD?v1qiK_qV{v=7 zL`b6X5})vrAB_c0SK;=DbbxT^R!>_(NC1)9kIr(lX>#+%mxnrE(U70Ft(J7Tdv4HP z(Pt(BLUBWil*025xgOpLd0#GCV6PQGTuay1WWh40>MYc-RWRHN#LooX{nIBhG)?oI zD}X&A_|imNSaS*6zJLmQwFdkB>D2H+H^zN%{LLcQ?F$=MUbmHo_#X`4=5xJ38f_dK z=9*iXg+`5GwcKD)8kJ80iU+`m498`ScqP38Sl%UbMBJ;!@lIhchiQnp^2eOBVCyhc zRcuu#+s?V4h!cNdW4V7VA|;c(^m^-F5?&(tgfI~Sup>a6v%cca>+o}5p08?N3{;)8 z$guit+JiF9J}q<i#)F%#xZdrhqVH97<h!<Y)IZj{i90jFZvX%~ap>Mw<<bq-f!V+F zyO-F*s9C{Q-f#N+Dvze{*$3Mbe8K-G>gm4QereKPyIt3%1M&(Lj|+xzQoH@B(w_ET zd6T}J`g1^oGyv(5jw_r47(}(x<a=X&EiD;P<h&`wiiau{^GUW#=f@J4#p?9T1MGKI zRhLTqCnhsfa>D7W&#PBpw&YxmrCfEZ_DV5oOlBViyUUkp9-590282F7rpzni3SSfn zlvSmf1Jcr%NMv$N)IA0Co!<E7@HNlDVhDTg#Adc0YUlq&7{nj26clAmnmZN1qpVWz zZVl2>hHAnr5m*X2hB93u=bhJdjb$fEJhvb(2t<>jQjqAW<e<nzw-ufn4IYX0$LVQK zSv2MI#sz90d=$Gx%<Db|<Je=sA{g8Z$bIRJKmUJJVhUeqcRX=e90<f{ttskGTt4@| z!9RO8`5-V};KS-P(kg;OJP&?1wJEEm533FSXSAXPm|gx2i?wtt&6mu=yk;C&S&0c3 z1w{%(VEiEj-|+*?_gxi&C8l5KFDd+z?DSBFze}i?RnosIbOy-mz<RhrFdl10TZOZ* zMQ!HRb+d4fdW2#0QdOpPiNK}%$+hu3c|<gOzW`{7;Crh60<<qnxvsM%?Y_^1pPiym z;=|*#tMqjwKdQf?kJ}q^0M&Oj^Opvi?_IR)r;b&2L?)XjEfEy`XluRK0ygD(;O>8Q z7mhKPtXFl!>&o_JS4#*bYhkce?ihLCgb?V9T25Gt(b-eOl$rEixjFF(QA{P|B1heV zLEN<#eLxQT6l*TDDULYndZQR9NMmuQ8%V-lYJC{yfZ}86v(9uwpF<ICXQJ7=7mb<P zOMb&G+yjFPfSH)X8>g5%`mDg^sEYW@WqZF_9$%YR^lx-rabK-HNkf5w_E)FuSpt;% zr9G>H5Hgcw6Yp5b+&eSBN}WL9dw9A>!3J5cXio>3^#!LtQLT6F{a5htQpALJr}DP= zM3|HlPgCtW5aXeKxigmfBSrX!_=MOs#obGCGl9fJ9SQznytby>RF&cEqbqOUu2SuL z;(?&Z1tFJFWYO=W(S?#ICiJe5oXxVT7?GFB+QmJUYHSqjUVMDk;Wy&BgR3ocqIrCa z>JN{0OmmoWD=T--5C1`qpw}d$ojN5eduYs5kh99u+sbTBgY=$dDR#-}de1o^w&CIU z1CX{-7U=%5U)45V_1sTD0D^MC+o9Z-@gzm$U+O<C0$5V$Gsas^IJxQ!IYh;_YcY&* zj@5%Hv@QGJ!v*h8V%{-??4MSWMVbitlyS+|rL3~WS+0dUzW!KU$x89R3(Go&Vq@>F z@{E?f@Q6!Y4^$Pf?jgD|F3T(+&+a5(|6owats4XkOD83J@`PZN*EakQ?-+Y=yC3RS zm-RV&-}rT1=yTI<xYJ8iCM&)H175TkcQe@U^*ag((lg{irxAQoiFOrRs0)YnvwN9> z7L$>tx>H8wvU=tnfArtD@&+Ghy2|*vS-O|bW0=o`Tz7*nu0Pr>o0)8<jSdq%(bD}D zx21~8w#w?V*p>2Awp0D2ZeF4&Ai3L(cUOLhZ{(1(u+8=;mZvK<?sK+z#8Lv6)+~}W zjys;jIHs-@Os;Pbh)_GvFuL*Bc=leFpwedUt)GSqMN5_GPfpQg8y5%7Cz5dI<0~`M zPVv_?Oj8D5{d!N!Q<}1(<!dt7+jVPN!%K~gO784Wv7nZYtIwp>e^emMoueR=Ag}lp z#Ivb`<&im;%ISh2(N9)%!%zE1e@{AL*~!K-PmPv~oL)b5ZdLZ7d-U>k!OJ@=r?N)* zx#F1k!j!6=V_(eRZ?85rmkgMw97Gi)T$zQ2_oJ|Hu1`@IsaQ=cTsV0~et!8{lkG~Y zhrjH4<ykH-sv(Q4x6fYiQ)8J=R$p*VLI=J*x_rZV#=>{UAB)xwhVA!S%9V`1j>t6c zv<#Y@9_dFaMZ*B^a1CRG@V7RRSVB27<i-vE-R<fRzke|pymz#TWDTFmwV`9<re2ZV zDlldmS^8<D)vLFR^%>jF#Z8A+1l<rSU@6>qy|S|dV%EWr$lX*S&<BxCLKJq19YH@E z`qbPvE1&ul+87#s$-NgJyZ@@ZQJ6j2Z+WUEQeZKoGR}5<#Ixa03tb7=?Y}QiTorZr z^0#BsYUpzg&alh{JANeB9ip&!)7`$a^vA?nvPQeSZ&??;txfzefcM^BN!ppi=|1J_ z<G*~dr!mg*wR3K`d~I3};_p`t{hs#A#8IG&@k+)}wpO-wWeU(rN?aWc@Lw=OSIqsH zV;kXQ3v>ur8GF&1)J}h@{Ju`CdPYiI@ayB)lnPrsBdnB9`_(|?b$6#xz`G{Q2kj9) zJxhShJC7y`!?=Bxg}hzzU4=!9V|E4&68i>E1fTs10Rio;G-vmA5A&uU;G%2#T>83Q zTT_Au9{{H9fEvWZ3W3Zl;b+2vKFTntGvq<pw{MuWkbBp^g_N_x2oDT}>U)_``M+uk znC)t+yme;HU!BQx$Pf3QL_ArjsFn0+7ZfWGGu0xRl=cypi8`P3gUbzLW`VuUYp!3` ze}t?fz?YQngotVd8UeXbrJE!3W7}zp;)4~vc`mr(zQ^ULm1-a<A;Oye?`Lmy)HGQ& z<dr8m;c-o#6mgMHCO-o<;$pS&4E$p^fG=aI?v=ENNjqJ1`$GEo#x20fS2N=B-6agC zwAjL@9R=AIUd`+MTx=jPaD!!1Gm@I`+H)!@wR`o0=oc{lw!*Z+G_;v2%9R6o>^^P# z4-pygcl}RAXl`b#wllWLz0o+>xnbr)89HAxcYkcNMeu}n@$gqjR>f4_C+QpAMvmiB zQ7RQDwp-T>D)pgTr)ud%|Ej7qeph&Pns3U|iW!vK{*vZ%cabqmSr<UFKtx8cZlxAy z@J{-0!?t<vSJG0s40*p0y=g_=X@%rG4LD-Q5xx{Ex_ht%=1{z}AR61ie&ml+;@RED zpG52Q(9a2l7yjByfjlUlm<tV>+c@f+Qk&(CBxPUI&0~+9_XJg0th79EISz>0GvIx4 zequQ8=dRTWmvC7gUv;?Fb?Wl)53X==&%}^k*g0evqM2!qcG1j^OEm-OPkv=?H_%#W z)H$U;4fz|R8f;3Hq!1nVrT1-0TT}k;sN~voCK~t0EG6UmN4}5lZv{8Em|0VX^9mNk zJmY0gHE$n3PRmIL#11sBxskgOD<#T&;x}m$U`i@i5mUSWpt+E_#fy45^3<?1^NP3Y zb(;776XwUgFcIId>Yl>&UKziv%*SDtVZ_iQ&;uzCLtcB`WPG7qE&kv@zO)4>0iNzn zATGfFe&KO^EnIUyY3|WfNq2IMOr|H__x;G3>(%$$^bQyWi$19MrHM|Snv<Zyx-VGh zpDM8`^UcBX*564XZ=IA|X4peNV{QRi(2U5RW5_1CVhv`YuT0Y>W3Fzj2DgQzjH-W9 z({bOov*6ycfaORLR*eL#Ys(L%a_`U+iZq^70Nzif288grkAh>!)x{fy=u>ce|5et> zvAn-l+~<Vv*9^dKv4`Y^OC~S59SzFqBkQlvZ2tC&UA9QePoF-5?Yq}zXhdebTV@DK zDOtv5d|Ik<$u#YGwiA3>Yt7wMyK9L^yW*mBtG3FiJ7L}Dq~rXD(0ww;2fmt^y)UYw z^}=q{Wmlc@L)R?=;w*KH2i=VSWyfV}gYG9<Hn?KmM%`iL`s8Wkujv74^qHF?gC&7B z6HBMOYZo`qR8A7vGm_f!1Kt>94EIQ=c$PYg$Fr&3QjB{N^`>;r>`7N3A^u*$Wzdg= z%|zO#IPvzkr9x#@DcR_D?LV5@=#c^3_V9s)USdJIz3e}GlMZ?3>scp(#mo2e^UMn` zwlfqPj~<@{L%B9_^B`{{bjMCS&UEkd-ki$aJjYnerf+K_9Xt^}t^mboJ>@PeWUq%! ztvkDIZ4qp*CHr^i2ev43sl9XB3dSr?dgG<-ugxjS(2!nb!70*$688wm96<0rsCK(q zd*m}?w(oDAXRr=s^a*`|?@!hJnw<VKL11eX`MoB(^Y+W>S}9e6L*j=3Msy%j5H_8% z25=Jwx3@9noRL9B#t@hHn+>3CAYb;x1A6O%<|GiS*;F;;Q;LYIGj>t+t!+xvmSBsr zPwE`uZ6IUi1Kp*km`;tJgEVZ20?<3@emcWeTIe@~y}AHR9lztzoZ2eg;NmRz{tLdP z&)}++=H1n!PkXx2O)_x&22c#9S`l<6X8Lm9RJClDs3*1d_KTuN@g!X79aLnBzoTw{ z@ue9h^LrOtc>72x-<G42b?}x-x@oCnPNwB4P%15$ODlmiix;edTfvI@bVMNi{m;^6 z%V&vvMTu*vM>i8z7i1!QEor-$fY$p`Vt<LrI^~0q=lx9P354)Jn?*UMtEQY(OCn+K z66mHHm+Ld`+~A|D*U_ZBNtDjX`@4lqu|ji-ev&-HX5Ut)`AMf_S3YV`Jgw!}r~ozE z0JbZN3X85nfA3e0Gj|$3{Vm^LD}YG2E0!hP8fi~Xk23aKe#%mU{MANqTwI%rBj;yp zOZV|l;elP{zmunU-hW<Zy-{F>wE?}A=%ymNa@2Oe<I!ot53=)WkA1F6x53+XZq_-1 zU_{GGr^kz^5P|L3>Xv;!$cL8ysJ;_a4=iO-!?Sp(5Kv&xltg2f{?!}JSNtsZvZ(!= zZi44>0%WnCV>%l%FC;sw-isrR<8jI%L+yeLj4uMV)+t8uS!!D@by)73AETBoE5yaw zkp}A*Gp5~u4M_J=qBLOMJL^d=<f8>K%F3;xm(MoRkIrup-7Z|LljWs;e7r%w*UhUI zn#lELs%QZ83Wk%|!nvf#<w{(8dWmZgln|(dAIVCy&nKs|{xJuI?IhLiL8KaEf3?az zHMw|ETwsK@1cQk?PYPn10^MeFkJjxS9EK)U1%EI>IC_W|T$-zr<}UE`oePy*?eZ=b zlHz$-8j$!6`z+o&;-yA4zqFLwEbvv~_@c!cXQLlVqqJj1o~MLameN-eCF}d%sd>ij zD^PDZH&6SnoL%mneX~DZ%H$ejiz!`$5PobhLUqE@jnZ)1Qdj$(d@TWVq`vw$_iIfF z^0w|Fu<&UjsYABCqQT|(ZpL7v5ec)fVPY@?z&`^!Y2`K~<b%0ZN79OREd4eG_*fy} zmC%rwlxY3ee0>RIp4DHn1g=DQ^OG^G`S$tCt^WH+pOml|09o)gd68Fh0m4d~ORE?J z%@s1d$NTRXy4x9>QV=|c3#}QNh!0nF6MN1_I~p`DfjXa!!x<dw3?7`nOuDQNms_n> zCxa0hV7=a$W`W3*i%MEY_5^{#V@ujmgc$v|SEpxxp-SXduHM=>B(ZU*W-9Dp76e6d zgQya8=R6oBQ@gvM(1XL`^OMtN&D>x3RXD+BFIPZGIfMOEF#RFVIe0LrUp>9jbsOPs zg$Ymlkkzs=?XP==Ck@#v_=)(-yz&wseC3(k>DetEq<Wy#0JZjXMeRuETPoBxxDS;} zm+G?>2XHIyB@zdMU&E|1$VMQ^n^v5gMFRF<$?PE-bZj46srTA8p@U{mVEI{F(2T{> zCy4hXjOC%S@8fC)F?A!Jw-IL#-@auy+lLUEZ=FbEp`z=lkZ0ru=P&pCFZ-7q@#VGN zIV(#u@WbG}U4hE#cW*o%t`04Q`99BWh9Z-#OQ=?V5zt_r@06fDNFy-wYh#Jq_=tX8 z2S}o}q|!HW^UFuRI{#560p9E+I>q67iMs!&9Jm%V??f2Ij`;+aABKfJ|Lmceq;w=k zM<kQ-eF!{<jccSCyZ72(6k7{zIn>=>2i?wV->oo6mqj{XU_D3hPf&-<NRk&{a>7sr zK#O2y=M3Z~#u@Y$_%i7XJDIN>GT<M7aJU4sV+hLomkP@}=<q2w6|viF#P5tc(hJI6 z3j4-2h+_Y0iI{+zKZ<1iMLzuw^18-_or=!KyaZ~cG01<BJn@siBjvz8?40nVpgZIs zPZMk@ofXg}ZiQUA_WdV0z^_e?nsvkblRA%|5~{f&GU~&1#_L@v3K#59QW;MTDwRCJ zH1ts;e$1o&p&f(x`bUMs4VS#{I(vGa(0}JEjizRlSR8uw<mLba4KpYhb~F!LRl11E zdXrXE5IJM+7gPken1y^MuBWKAd$Kzu(134wCj?R6cviWI8j$>O!8>)AX;j<M96<!Y zLrEM{twG9xjE(m%np&M42d#9KcW~?u#Q`MBD2fK#JU+{{aQ={Wf6M05l|$+{!YBza za%es*;6<h9<fIH+!>u0*LiRuDQX}QMiW%8StB7~}s9?U94C6!WA*&_pL6l|v!#JO= z%HSYqvL5nVXZP<E2sP*u5nCx9F^IcdDG_JB(hR8P6xzeylq4#XeaI$_7}yG4>%H?P z7*YqMeiuF;Vr?SIy~7Xk+;o3~ExZRn{5k^wmRq>L^)EYP7kuG_a%$83;%nv)xq;_{ zJpWP2-(pH94BehcO--m%$~k9r&OX0zq2Tv!+orSMTJmXQKNr97?lQA_aYpxY=a}tM zP<+$U@lq~S1U3wqO?Oq`|6s0@$+;S=haeAiU5nR`rQS8|VUgasfSY#^Fg;PuM9%}m z{k?DRN5uI&f{M_R5ASyQ*AfAg`-`gIvb>kpF9OcNn##z$Wpc)%+H0BL!b7Qf8<29X zlHs>cbYDXUN4^1yP4pMTFnhsJvAL#0&d;`YO|6wJN!%&6F#9iD7Cu|p^>xjoD}a7R zSu=?tI7i;-p}s=Eh7YZt#l;AFN|Q5wa!JZ?bMx#)<Z4j=I@4wZ)YVS_qm&$jeb>su zjZ<pDtWKqW!i^>uw%+U}2OY9gmb{+>F6B(pkBOD{ylV4Jb`Gq>lz>AH{s~v8C8pTa zHJZt8uZuPUMt>^^pzS>W|Bs))#Iv!p-^R-VD$tLv=1VsJ>}|;gB06f!RG$K_*hcIO zS~1q3!Wyq@9<jggeySrDc1*Pw_mR<pOJ^0dk=q=VkpX;Hta;Gm+Yh~Hc^ndG*8<Mv z!|sXnX(RU^HG-J4CxyZP>WUT1@|1D4V6LE|DxIxB%sMMtAh_RDDK{%ji(=Q_Yu%g_ zd>f0+of|zL10JoQ&)caZ7e+#TUbj9LfL{gs9TCT4j~+CdiR9E`DMQ{C_F|U?Bmz5u z8yPTwDn(Lmsy2_MBY&+GuMXwHM~`P9tDr$^1W$Xqx63x%6}XtLH!@Ait}(ADdJc#W zNI<$+I428?@jXy0JA|tb=4c0l#@BT(J^F6V`3?9xXs-}*9ktF7aFR`$k41U;!MZ;J zKcmANkNI+$;WGM4lAI!NpL|`{Rd*=P=G(uc?L)q1f90$-d?KQ2VIb5I)3<u@67E}u zPR}Eq+%A`un^BW(1DMK)_pt1i@**?_f9`nO6=B$7Nf*+3GCKg~PVCx6h~!iPRJ(^1 zr_f;6^Dv%2`t3LN!@Fp?67`64S%CT9dYAC@!}G?;uZq5`v#G5;+_bfU^PZc)x<u^0 zqia+C@9wP#xeeM%4-fCu2-vy!>!tDDi%%`J8L<Vmi`)wU%fxr}fJ@IXEU#pCD<9L_ zvFmE31R1<8JL4U(DN#r|<VH$a_Yx`OLnb3_bW3e0xU$GMU@=v8rn#OQxS)695^9{5 zSGwT9q$_8IE6LuxcB`&+kQU}c%^^=&Nyjh}FRlq2l}&9*{d(?y%Y@x^2IRR7=CVrr zKcJa-AnZbfiVnrchLU=$JOX!M^FA!g0UPqia6po!CGEe>&03Sr>lMU53)9!&Q-Cbl z<&|(obB<z=`%H)E4GV?B$tNDv_valRd9|j<U#6PhgE+xS(-eT8Aa6#HY1O#?oLuGM zp>(9N5Z?7JH%A?0nYV!3zBh|>4QA5vzFEiZKG6P<9fp=AfqyO*VZc0%@#y00sf(9> zXd1PrYlZ>b{zG1}OPo#qgDP>chSgTOI0}kF=QdVLbnz4J_b8)b_E3E50e-;bPC1L3 z%QU;-wXJ&nK$Xo4ax)iZD|g62tE(fQtGkEJ`MYBebiaPwdD0p(+<7Bz_XmCIfM<8x z22ibVmyd1TZflwRV@yai*t!k#Ek$Yhd4V$lCfe&2<iLKrCKyIQDV<xt^`8_zhT>M9 zSh8wZd{l_z3b}|-oVT4z8S@JTp8Dghhgv%BL@&oB1}!iZl#VB%35W!YcRVNp77FW+ zrgHAUpsgaLh+3AMAes04^1gh@dME9Z+(clk+(+5J(WrpH+-@tP%aC*Pf(QoZih+Ro z)wzs3EM`M?vj&~<_tP2`%VmviPkaJg(RXlBemI}F&--ldH#+YyF&jwdTeDyyTkbhG z{1}B+34cyj4-7FaFmcsv)Lb6@R33idMb-6G+*+Z7C8q8}!EGa0j+~Wvleum>CfLxy zfwB>L998d1kB=2&u}~Ft)z*1q05eF3w0XY}5e-J6at8mFyMK8W_Bf02!I{z?sypfX z<JxgW>GD^}1G~NYi)=*+FH$y>#4_gAS;Tp&-bPp_>vh=(7#Nlq<;W>0V6$UWhc|G4 z^BjWLp!T)_4uW0pia!1GY7&f16oeb!yf%<t6A=M)_$}r&BCX&<P?{$=#aAJ&$bcw{ zwu(_pV-y{d=XQsJ3PaxQ&vN0m+Fd@`CITKmA@AyqYH}Y}3N|~B<!tE4q%NZnE+83F zFs5tI!p}0Q=Rjay%=2~of=kJp$n+F_UEnbWj8wn_;1fajKf+$e3(S!%awl@^0oWt| zy@YfEf8|f~omrIy^RHWPOw(CeEeF!eRTl8KbiO-o`D}6NeXsq?!#z9yY9yBtD79Mr zushkpv4DG)obXssCkJ?1EiZu((v7KE##@Ug(dh=AOHz_?d=eeYEG0%^{W5Phs-2|+ zIr18H;8h6Mg5If(P|sa-$CN|IPP7%nN#uM-Z5G!9M?cPowVz~+(8Jtmmja7t$VxV| z&St!4{_@&~kT3n`MWgT93rfgtkNe90N6}gMHTkwt97RP1K~WT>lny}&k;VcE0cpvB zG;?&vCKgIJN~**pCpmf|F+!LyVAL2r#%LHZw*B7c{R`j&&wV}5eXeu9XW6=4;cQK@ zxMh596sFwB$b2eu$PNiwFa!_4SJm%+eK92e`np#BP_cwr<qc6-MTf*#+*%cVb#n@A zXl#|#nK>RY^CwF+`h9P6_o&I=XG{e(4`Y9I6({FDd2jN;HLv~fZMnWo(T|Po!Mh*n zVGws8(2=0)<6J4x;`zW_?-8WE&tQa4RZBAd2pWiN0(Xdc7f-%s)g7w7W|;abY2c#- zdRF`G<S9#;O#k)ZgFU^Hedt;^yg9O;3I;~ZH>3Aqg*W|)CUI69!SreIVOtE!Anf@p zvy=M5P|xfO?|kbiu$FplUA%X`?)!&*a!$*?#h41(F|Bo#I0LzOXHR__wE%wuTahLR zS7H06jaN`bb56{Cy<(-d?&AC`8zipk;P^(B`dJ0e<VRdhYA)LO63M48*YtK3Rrhc? zV^UM=TH>zV`pJdk8@a6CZxz0VwE|P?ab_vY{XT@)sJrZ$<BXh*nK3N%YIphl)~U7@ zZMW0CeJnZPra1598QldTbE%>TmdQ<(V?s1CwZYY<)hs?LuL@rm*_ORWfPF3c^~FZc zFM+5=FUB^5eX^k?NlB59<^|t5oY`SXpuESvrm4;Iiya&+^mDy*%b&mYACnvD0Pyab z;%*k>CMzI>qms;Xj>*TPHER|McU&)CD;`wAr20dqa%~QarPm9u6AacvCrjirL2tTV zxetc>9o{~Zlhf8@3J%lzSt+o2B8W*^f3j`R18T?uY{x!RY73(8kq)Phq81<qJvWd6 z(-_&WrAIX7f+xd@3v(SZhz}5#X9j-4aoY9uaRa>9l5h&^n~68>d{3Ek`SD%*ab23h z;R{Q!aXs+8AbvPQi+LaF%oRK2$7k@>Bp~nk)8&sVajk3p1_UG9$LWysb$K%u^@a#? z*1SW3&!xJ6^NSZpQZ7$Sp1xh{CvsW6{`dyB)o;f#D=%osyW;cX@u^mEkUGNt7PX*u zMRKIG%rEQy;$S~=Y8+}0GH(go-@0}$>3Q?Zw=0o7c0$#6g`(fKa_TZO-%2?Q5lla+ zmsSOT6?Ge9gpeWXw4@uXET)yx4NW!>*~|#914fHrJP7$<ectEfY2>XP<a;6P#-_T# z`82bCB^eJeTpKx{w)BQw<ypc0#?)IUad+aYxW$>1E+v(}>HbqME}@M1+Ar;3Ig<e} z*Z-C!I=`=cTozxtAlY9aQuo$d9SIHIokoIsKu2PSX#R*fpDupqgV3Wwuxy@ZDLLju zQ$z1kjR!-);^UyGWpnDpGk9qB_{h}A{GlH5McoLSM|I`mgK58O+qrsaBV8tSdwkdI zMoa?AO+Vz6>MM;Y6Q(E-9X;tfs7B`zo7H(@{VvT|exQ0p|Nc!nUiGu+<6?YWaG<+# zLxDQ)Z~-brlVy9hn!lll`&p?&*AH2-RAK3JSJo4pUj#qTe|796a!a*OJktfUB%KK~ zpQ-4W8v38$_rq5yr1n+%BD3pR{i55JayHf?D;1ktWy2z4)4SCg@J`+w1N(#Bj!5lJ z`RSg|Y;L|5SA9Ki8J1owkfSAUoe<<+$w$&zc|T={8(Hw%&o~#|m0m4yK`@>L6h@~P zh(slUKGN@x$+iVa&m6JZ-AF-9-ZoF(;yg~S>3`XLgOyLzMBstXeN$1O3O>1?eYwi! z%i7w^s9j)N(`X&8p%S!3cryIqrV;yyp{To3y%i9F=?qc=akM_Uld39K5aD(1^1vOV zK7q&ja!ZO=H&4Cb9R79Y)YZHZ9*dp(-v<Xa_cIH&Pr?~zw0@ddmP)F~tYl!LG=R}P z@Z{$RgKz4`*?gIX+O0%2+t4r5(`rQ7f2H|&BOz0f2$v-GqCgAwSkFFv&iDe^ojR-i z;la;c*mQG`K{c;scf_H^;mL^-sBznF8_oPkJ@r%k7i8n{4;QuStJl+_ir$@%U3gZP zGjMxBCrzmMV)~TltPH-V4;>X4QVXlZ2(*jmo36ZnRminfK6@}$mt}8JPrFZh3*0i| z^@4Wpc5AU{y&}Y13i4UN#B0ios2eU0zpmJrN1Y=%zsR?3A-|ZlQ<M2VO0x)n2tSog zdp0cg=~tVcJDvA~(}#Xv?pdKOguAjyp6Zpnsx>|T5q&j>V%_5F_4UQ>*P(i73+bKf z5AMvz3w!51fA0FZTrj*}vcDpI@rSv`tYKdre2^Efh%!(tU|-F@w!IQP@5A9~@^Up? zDZ{ncGjn=LZhFGA!DQm)^tVr1le1IjUumav?LF1bKbr{2IR3kHUyiHHqOwxIHqR#2 zXE9Gt#VEW@rD!^e<KMha#`z~4`cl_COyN55oORAd3HObz=*e7j=JGyJEtgT6ov<;! zc>Ub6OIGC5xFozpY}D^_ztx;?8(b>he)hNUWkWXDWo&DTZmd+1W7hsz^1e5T@$Bo- z0coFroSf`$x9=)&_E@6N{A)}c3bp4+Kl4;UuW1;|0-fvMKsNPHYk23i1=Z|NH-`&q zeJaV0gK=$%G#J<HMj#Zjw~b@wk~(XS;4hJ%SKd->;|x;HTQAi$>n^8`6@NM#`rW@n zKaE$DB;UOoVpRBH%VQEWSdXl1-<#|eHsXH2d<`zPA(k1Jp&@cGI~9dai*%z`$uO=Q z`4cU%iUoCEhgepK*oZYS1LR-z6F{oMb`=tj#H3%AG=15wj#?=;=25kJv69e`2~=eV zdeJv<rPLDp=#TOh9wX2x!)~K12{S(4)cd$f#A*m(+bC(;y+`mmREp!=Q4cq(*FSq+ zgA<RUj~W9vbsewhiPQ+`Jkrg6wkI+~;<_-=rY@YfAh~mvk6p<7Wu!~lV{*}qsOV<p zom@*qJMr^kK}@KWI(y^0OWYMkAk%cXN4HH*TKtb}oI_O9^+W7o&xMP~fr1=wV{T#o z9wti1Av&DiE)dsuxMveC*g0OiQB}Mf`%u;>;6J8QDn#0jjSboAFv*x)%9kebs)@;0 zAyL&G;WGk2L1(9cpneeWb*@);k3|Y<g7MV?5iP(69AuvXs_Q3Rvn&<CKhKQL=?e3$ zl$d0aP*0uAz77qye}=SRfp2S}-9FwB=3hfvT>=^^=wf$?-RZxB-Ici6m}_B;X1|%- zqp{+N##O4s*qrHJg8^6zmBJ~p@}b86;ZWF8_=({6?=2M8mRZbBwR(tGcl1nfs_H2$ z`5oFwAx*!t1v^OEW3(?lPpx?OeGx%S8X&xTxLGhjJ?6^82P_lM?DI#_jlDd@#_+8j zKH$lq;A!e~wVR}Tp|8p!k3bVqi&!b%QhRoK2uFtoKToeoEaE^263MzDw?p6kdZj?C zPNeu{WRG{00SLp70DBHwJM28wiBdk8;|ovZ7<F06Et<C68s5ASLNnDL1nQBFgKKWb zE{VjyNAfVGrQ|D{Y>+8%iH4?1_i2iBM*ZJIp9VxR0Rc)*ef~0Eg@mJExbj-QA}6XG z!*axVAMziIs~7BG?iYFam)kaONn3lIR1z>$>=GzJspL<ipdE03KVGOk`yUfWJAz2R zy~Mox?u{zDYVbE$$c#kKW1`?Z`Y86H<f$6Hjzi&;RSm|woe~5R8Vx1^NrLE&iOWR3 zVCnjFPSpaZi6o-MU~#241Ny_0I=ODz^a-hTw_kOa-B*iE@Edi!jv<(H|D7I~fLx@* zzCPv84blLtpakMxrDBwllqvxqYcD8^aG=Mf*xfTu=lq>`L0oV#afa>0ykE-3flxsC zsg$-1kw%b-M_0Q=Qs25b5Ywg;b>tEQaMOa%-Nxv+;$}^xT<UVF9-(EjQjoMN{Aq#r zi~GNLHnzpIEs_QApv{K$-GZf?{lg98W5HXvQN&WkNvsQHF_+`@SjmqjTUtbR_fJ_{ z#OTjqMVF7>F(m=h@a5_I2Dm3rjaqIBT^L}`rEA4#;ysndDiAX^1O`wQCSs}FbDoG3 ztN8x?GILrZU#@_zMl*$WV(DA*EgP?y2~7060}Q@mpIe^y*q><?m?Udu5$#4%pYQIV zMhyVNxWgGvzg0DchL%A6B;DHzNQ>G;_V4|6?HRe2s7Fp#6C`1dEbn_pXk!7%_DlBd z%YDB=S-F>idOa!|6y+dYFkx;9frBBz`@2}<ywBB+=(_7}%zUXvHw1`0bTG`l@A~Fu zX5S>Nli~W_G)6E?kHW|C+cG6Pm4x)O`}k@nUY0#nisKgFGL`uVT1W69Gq|6}^-Db{ zy+u*eQGJIlk>)zzQT1|_;ThHO56Q||C|=D+0YroG%B-K`ooBkL?Ih9A0uXUSoA$1% z7oq5$X|b4w!=@#+9#n|3K2R=RWo$$}_>bw9NBPP<;al(0R&|*u;-tPG_r0qYam4^Y z(NavdqES59FWxbnC{Er=GhS~2hai$K>z9i^-${f4h+*KTt$bkpvm4$*8ot{CCSZM~ z8oF0?#Ze+VYv+&s72d)gON)KyZYbP(R=9Pzc}9C$g@ri}KK=bb>q)_Qty!91xU@*6 zHytQf3YuJ(7lWWVlI7xw631u=L6U!0qt<GJ7out2vWp-yn7o9U9`*5%aNhvWwR`Tx z0qQ?jy)^&)_owzQ<J;&cBQKEE)c79h$os79lkHYEzr4-~M2Q+BFx7{_YZ|46K~mN% zv!L?#SZ?L!Cc-o$%#cx<_RW{1+c*DXg2Bk&e~GZ2yB2@q$WX_Xu9(QPhxH1eh(D=j zSMCi3e-swyVPWRix*YLtDsA&j-xaeCjNMKj4`#23Ft8$qy^|2H)HJ2M#GJ2Lp#SuZ zqoxT~c!i8+5#H1K^o=F&jbI+s`#g||MzBzd5db*YVE6PWFYXK%3%_r~93ya(wI8=9 zTlVW#CKL4(l_)+FSdz9cy#nY%P7W3hDwpz=dlvz}8>O^K<WkC=Nnt^y09-VB{y4(4 zQT+d?fKp8&F*@EQMCCuGiy=|(sB5RSH4AeCfj$F5^x%z0Ayw}?l7r7sI)sI>ik+|{ z7@5JB7O>HazC}#LYuZs?Txa~B2NNc8`*D^Vu@u8iWiQ&9N^AcE!%_BRK3_MFbY#1C zhPwEXG;u(j7@4pK)X1Z=uFl+xXB)-E0W|TN+8$Otz!*l}68MklyBE)sb1ci~TS0sr z2w;@eK<nO*HPaWW9ymJYx};%KRcKmp{r@8l?(UsQPK$Seg)Z_1F9q!@vS3VozPypc zmT3H6wfUy$Qp!HUZuIg$rW?;s!p-&U;eZJ=B}oa;S*8P#$AItp?O#DH$sW11nH@5k zUuuN!D%c^RB@pM+vhutl@lEw{v%A(J8DnFw-Z#Ewm~%|EW$?xS66X((PWi{YsR5jB zkJ0j<$eLE5Y;OKv@p;pSq-m6cF@<UtyApi<L6mFIfhFOtR^G?bDfVr@(LkE2--d-q zcI)ekdX&|2<4RL*unn0sy>${TtHZc=;qU-$ytl7XYQs9&Hj~k&v{kBbN{I8GUPs^D zp;o@1uI$1Fmg>-^bvm_MF74FzBVx&Uj31haUXi55W>n-MN)k^%-YDXl{cl0pExW`f zK@dDV&zph;xF~Y9EiG6izKXDYp~KEM>~JZ`1dE+2H%g-Yu>u<kK6(+aWGuM&RHsh= zWZG&bCHOAS(6ciEnD%?;q$>WObho^YY#Xcml^{99uG_zpui3cd0@WJHpa{g-$9XkO zv-4di7i8tD3izu~$mqwRAyxqQA)}%SQT6_g<D<-1A?{2ZEx6KNBAlDF^|U|=`2XV` zwIPvTnNmVrpG2`h@nOKTRxhP*3j&H%-xAaiDUio{oz8sKeM^Bu=LK31_j}l-s28Rr zJ-_Xi#eLcCEMdMHKgXO>M{Ho(@eTX!Oa;VHp-&3<cL8Hfd?&$uXyo#fjYH2vn8A)H z$QETRWa~KnP9N>&|KRGocmINV$<bKEt(9W2w049;0q*!iPB<#WPzxas{>JUI=)vdQ zK8*c;+P%OA?32-<MktQ;^b^CEtzDy-2ITHwg%MA1G*|r8piD?q;Hn1Kq$iWM>`RyU zWcYXDbXC{}r3}dJKdqun2H$qQ+T?9JbHe@(TOzS+11c$}QdlC&)nrj&p;z9-z4?Cb zk;VhQ#qYg5J<93<2Go=22KrcW^D!G|9n{hFtkrjN+B-7ZK}+zFQKz2Fhu9}VO3N2x zN;`-lL3}&;jMfNKFcIMK2C+ol!5ybQ6WD4RV1DEOERqW05jetlSsMHRZ9`wxqOx8^ zB_L&@Yg6UWJbh#=-xVZD2UCTDQ2_bgXzIMIkbS@J-_ZWkIx6Y{1)${~&q>sg1X#Oj zaV*QH;eyIy6Hx`jkNGKFFJxJ>G8wk1`>gK`htWO%@RZzK;u)929z)q;l&$9bQ`S$I z8)=Q`*+qeweJx^}C;XUmw6eWTTSC1-OK6wr)GxWz3r^8{fxp)kCPt7Es4iYyhBtK| zG?r9=^2EdxF1UBx6*$tnmXq-8ar^bw?W_xD64-KqcLvkMkQ^?a*uB8VR?C(p_x;A! z$%Ubev}V9OViOcxO_^cIZ5LdaNs{+$4y+!vaLYb&7ioZqG~<uU!SG$)6E)A-J4aDF zmcZV$J*uB%m7TE^LY3*%{YNjGoPHq5qukKcrN)!u|9c|^#FX@B`|3fulaY;)Tx)u^ zWo=Djn?=Qe)^PqkIGfJ7kDebR%jz#$2us*nnDX^+Qg>$uP`z~Wk(?_;<|9%wJ7zsg z&USW?hs?G9g4G)GY^N!$m#yg3;n!dwq#thX<T-|)eeZ&&u2tfK=^V@PD;C0ux#jq= zQd0&0;MS_yX2AY9|M7_U5Uc*Agbclb3nWK@9^n*EHaKjsZWc{7?bsj*k?OJan<6l& zm*TaV2H@(H<svvHCtSifr^_5+aOL7eczb{4h0-2ykg89%j86#9UDPJbI2vwzHM%sW zoOPt@v3c2_@V!4pVRo<A7nX9YKp%-q?&~`N2u4T2)p{RbRxTJW18<G9kyfR6z!h>a zGU%stO{a5^$n6Sm1n-qcG8J-_@XzbFFG8vc>j92yTieI#0F9_B*RS(O@VnnZ_`<I} z+3y$Gtu{EvU!*qIOV!esAGmynxh)5ewz4IORCZ>RzxeQSd_dg3|3+F`v9b2W{=QlB zQuO3#Qn#99ahaAQWY}k+y1n5Z2puSMvj=itDD!XUEsigude+YkF0<Dbo}anrbJu48 z#JxInNm5%Iz9mwT*52pc9%Vedx*)k*Z#422F1gp_DWjNWF;0SYsHz!XvK<H<vFi*i zcJXL1UNL|)KH+_9=66?YJ|ktc3zMlGfBl>Vueo07E`GP0>|RpY=1?Hp$J6S%kn5^% zShSy-pbe#Gw(W1~DMdqs@lP#1PlsW398JL7$+8RT-K;lVGL17%Cnt#foX3Ch3&@F$ zFRE{;S#HCQ!NKi>=)fJLD<5<gx0Jhk%uF+olVq^Nl+9GS+wgv#1`%Qisgf1>{l4{W z*zFIGCEPu~vZ@0$qgDRX=N2AWl$p;9dX!5KPMW^W$mK$Ai7l5;*KD%#n$|ha4`oC2 z8mAPzK<?U`m3gUq>Yd#T_3e;1ttv3UrD`>@&%y3-FoJggfp3(;N&k|EBFD1>U+n1@ zNi=9%yJo%i{R{wS;2dwd7IS@%q|7Qmm92k2GYu4))^DTDi^V;<?UAnjeoY^5-0d{x zN$SFO&XdThW5wLsA^Ha^!AH)#{q|g#PSj^XL3M55i8*~#>AC%6?!+FrPq3|1LO&e* zat=bac(}+JRuOubtU@91j6e-l`z{!Iw3IKkzdFJ?;lg&$%}fFL!aGxSugDRC5fid? zO&Q1OHr@e-4VynILV1j&Vz^Yl96c`bw^Q}uF!e-KnkQ_TzDP|#1g+2E8dLr4MuO>^ zM_Sv0zXh2X*F$0RA)SK){Axxc8!30ae{eUB-Df#PkuhS->*wSQkor7{>9xIfo58|d zXn<zkZJvv_snHwFv0O=;m9(FfL6QQ-I*s#-RGe;JbJ`sFR<yi6SJ1*+m)2gBW_g(7 zX<cA`WHd56^oKJ=N7JsfzvfNZxAXm(cITEZxA^lIT#Y@bIqG&G$%5}kcx>UUDnI=N zH>c|9;iZ))OC{jt4I8$_2NU>FnepB6&|JmuM^63aJ86lrtfzoRwugPUa;bxl4Kn>u z*}(>u4Yf8fOVV-=w5Q0GwYywty1AhRA;Y^nG9{=o>tSN!RTFkgL5IY*-EUwh65ymm ze09@sI=Ix;P3<L%ilcgS{+|zqF2!OMi#zxKju>Ny=os(1JTLX#TL1S&aDL%XvM5)L z7qtZX1lFMkb4p;ft1eiCbq>k|-sPQqS_>L1nLd_VWA%22$&+rIYkA7Q9eB`d>DY8j z?$VWR=bBtY_2BDv6G5h$IJWhLO@@rE7uk5Z#&384B=nMx<??*FqujmJ?vc1qJAG7L zN$R2GE?)9+pN$L|?h4EQkIC8RNP_Vmry9}$o3h+Lvh8U$cm`jcRUPww8ZO)B!)*Z8 zr9DyXfOh{pE%<kQB~#7dSIh?1X7-t|Lxgn<8+Pbk8b&#+d1j!1E2G$J->YtBRv>@Z z6mJUD2DlGiPuU5Tm8$Gic^?`OyY)WZweQVfS-YK>ILF|C@wCPGwPjxA{)(wsaAt9t zv|wZNORRYPuk4Wpyi?Q5s>-U0rC42o3p$ReQ}g_(PjfTmTK)S!*l6Uxg18=Cc#+4W zY9YK{uH85!Z>TS$;p`69dp%Y+Sx_>+qew>Qr<aby?}v`QZz@zKh1}r3xsLT3$C=e& z>n1dZ1#<#x@TY{nxTT)W)VuaUg-5FUT1C!#$Y-VG>KHcPK#l!HYZdEuy{WyZOjIhU zwBF9V(0C>eett^UVXp?&H9mO%M@xJ2fts2<`w*|(0Ze%LVHJs&MKAhpzjRG{$doN_ zyMx@j#^8~6aDK=@@QE#E<j|5ZvbqCa6f2YU)Wi4f?)k8Q#igz9SLS6j7fP+)(X@Lt zD|$%)zx?sQ)y;YN*rdFxmn>m?CqD7PujA}OQ+@rNxOM#I3CsZ`7vZVra9=d&;Hr%% zQhu*34~aD*@ItW!AR+X}crwXADZ2;35!)^XmIS-c5kB6$7WXqW&T_Q=`b))C#GSxB zzc6=*U*K?sZ{L;Hwh)Wzgr_7$=q$5%_rlyxYDp$%dQ+ZFf=+z8>@sivOrOoj@U%to zW*GPSe@qu*O8NM_{)Db=n3+pL4+6Iia;+@$eiTeCLqtNg*6}9_p~&Yrn!$+)&HG8j z$s?LUq8@vKzp2F$Z0<1B`_=Yqz0?M3`**frf3FeisEokIx%%PP3yBgzEbV&%@qgNE z6n|Y?8o&Ml22n0Y_$b4<17wrm+keYQ^)$8>abT71oR=Q!YP{>Cs@Zcj&9qco->WFs zW#24!<RHO%U^Z^Jb~UF_ST!4;RBz}h)vI1vd2OeDye}nNdBGy>(zUnt>%U_fAHS*d zP}j8yN>4kCTEZEN&;|3hs$v34H65%52Kjj{>wx{!#+W8L1T0)8gud>as30(ICd{FH zk5xFbL)WD3G5mH)-z?u<ICpnZYH$|5vONmJ*`^mzHx15^QEewt>@A7?sB4t+UW(oH zph~JWMMLw58#!=kn*d(n;wJEIFFoVT`0ImO4txw(Pfx{tHP{W_W3&jkYKLi->!6BG zNaWSmNARBJdN`2CJ^Y~f?&lhJ1J<#?<MOnVR#cG0#PH^)w@S=oDOOAuw;Zq&;{CHo zeYGa9N<<)4VXWWRyFoS=@2a0CDrtDPKIq3T(g78xd7oay;KbWS3fGL*E34zJDXh+l zHSi$^m&p0;p$=VTCSQ$fY<_+EiZjK<nV1r47@bI_Nq&MqQSgO(mOjRz%yDgP(@3KN zzcJuDPEL~>-?2l~LA}J^9;vKn{c3&Xt>lTY)K<?awXeD}T><1b&L4h8`NZDiYaK6C z%_u5tD>MqW@hk@~g$ro7rLTs%e=##%361#(H_E~0?R5`|&f<`>Fr&*nS5*3(a@q4# zIay%4U@HGfHP%3S5;+VBhUL<m9SET)u-mJuiv^~W{4q=tG!+dnx1~RnlGy@rjhbzF zcc((TXTg_=x)iZQTnl5=S9~ABh8Htnh`)d}g=yl^tzdpREORtn>fh$ePpQl*O9zKq z00MB#5U~Apeins-!4Mj%3bkSr-(w37!U!4>k}98L!w*0Ts->tf4Nlya%niAOpIuVB z_rhJ=S9LMO7o|w|AVi>R?|NRlY%2zoQAgK_D>*?axW@x`X0#RvwA0J4l(89`p`vXM zFcDx&TAoh%=U^baT`#urq@Cma%UcOh5S$qS4I^2d$-&jqPX+Cfqe4h4s*){8@f3_x z{C<b}0j&otpKIqcK6n>}I8H12t@QA>w^}}oWBaho1fnGx^)!FWr7{RgWdqmAJD<7i zm%AN?HbVc~OY|&*loL>tqni;b8s2R()WflTu@loPn59$V<ovVjIr@iOc{vPw1_+m8 z1je2^HqZZJm&&WrhvudR3yf(z<5scWlg+kug(89<mhJuWZM+kJ6ged2YuSa5Z`88_ z9V+zK=EQ+ebl{;O;77wJn15mlVShOH5%X)2he)I1)I#JOd>jsGu=4j#8J`?tO2X3! z*wfL7PC$Ns``nJX?n(;}b9^|gfKku9E3ET6Z}Xho1Y$W2GwK*&vZ^0GS<(i4vD-^~ zF6oa5Epa|!haupwDvw$zl7~soASS!w{2WsR`)_7!YQPat?gXja3XHluw|Gz=5*$8x z_ekI^Ym?ktO@}4+rj7Bsz%6e&$RDqw;;>Usojo|y_*mC5JRoga@CgMy|0F)^&w5K3 zoq(I;gjb#%Z!n-%6R|J<NxFKo0{~f;TZ_j**QPTTiS7B>$;J0YdE4U#tWc)BArlM~ zj&=Z-px9_42B_7Qy5d_w23yte<re<Axl{ix`)gnX+I*$I5Rv%6jbMsHGrc>a^u_J? zXu!M{@h(4f5#Da>HGWgpoiq(Z>2$ScNt0qN8>5w6Q#R<dkA31E%0AGU6dZRSt#t4Y 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 diff --git a/.next/static/webpack/00d6a2162f81ace9.webpack.hot-update.json b/.next/static/webpack/00d6a2162f81ace9.webpack.hot-update.json deleted file mode 100644 index 11deae0..0000000 --- a/.next/static/webpack/00d6a2162f81ace9.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/(main)/page","app/layout","app/events/versefest/page","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/0aafa31d5b32ce19.webpack.hot-update.json b/.next/static/webpack/0aafa31d5b32ce19.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/0aafa31d5b32ce19.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/13f8832333be1c5c.webpack.hot-update.json b/.next/static/webpack/13f8832333be1c5c.webpack.hot-update.json deleted file mode 100644 index 11deae0..0000000 --- a/.next/static/webpack/13f8832333be1c5c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/(main)/page","app/layout","app/events/versefest/page","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/1ce1b586ebe4ba58.webpack.hot-update.json b/.next/static/webpack/1ce1b586ebe4ba58.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/1ce1b586ebe4ba58.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/375fbe0afa497dcd.webpack.hot-update.json b/.next/static/webpack/375fbe0afa497dcd.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/375fbe0afa497dcd.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/4a615bd53cdc6281.webpack.hot-update.json b/.next/static/webpack/4a615bd53cdc6281.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/4a615bd53cdc6281.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/4bf6f61ea892f6db.webpack.hot-update.json b/.next/static/webpack/4bf6f61ea892f6db.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/4bf6f61ea892f6db.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/562f614aeb73eca8.webpack.hot-update.json b/.next/static/webpack/562f614aeb73eca8.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/562f614aeb73eca8.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/5a63a943dbca9613.webpack.hot-update.json b/.next/static/webpack/5a63a943dbca9613.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/5a63a943dbca9613.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/5a897722e76d5839.webpack.hot-update.json b/.next/static/webpack/5a897722e76d5839.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/5a897722e76d5839.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/62356f7b7b61cd07.webpack.hot-update.json b/.next/static/webpack/62356f7b7b61cd07.webpack.hot-update.json deleted file mode 100644 index 3823c4c..0000000 --- a/.next/static/webpack/62356f7b7b61cd07.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/633457081244afec._.hot-update.json b/.next/static/webpack/633457081244afec._.hot-update.json deleted file mode 100644 index 5a523f2..0000000 --- a/.next/static/webpack/633457081244afec._.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":[],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/6349ee7a488d1a94.webpack.hot-update.json b/.next/static/webpack/6349ee7a488d1a94.webpack.hot-update.json deleted file mode 100644 index 11deae0..0000000 --- a/.next/static/webpack/6349ee7a488d1a94.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/(main)/page","app/layout","app/events/versefest/page","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/6b7062144bb75fe3.webpack.hot-update.json b/.next/static/webpack/6b7062144bb75fe3.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/6b7062144bb75fe3.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/73571cd725d920c0.webpack.hot-update.json b/.next/static/webpack/73571cd725d920c0.webpack.hot-update.json deleted file mode 100644 index fb48cb2..0000000 --- a/.next/static/webpack/73571cd725d920c0.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","app/events/versefest/page","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/74fde7bae5463489.webpack.hot-update.json b/.next/static/webpack/74fde7bae5463489.webpack.hot-update.json deleted file mode 100644 index 3823c4c..0000000 --- a/.next/static/webpack/74fde7bae5463489.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/7bc6f6a4b87f5145.webpack.hot-update.json b/.next/static/webpack/7bc6f6a4b87f5145.webpack.hot-update.json deleted file mode 100644 index a6b7b6b..0000000 --- a/.next/static/webpack/7bc6f6a4b87f5145.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/(main)/page","app/layout","webpack"],"r":["/_error"],"m":["./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"]} \ No newline at end of file diff --git a/.next/static/webpack/7bd74036bd69b400.webpack.hot-update.json b/.next/static/webpack/7bd74036bd69b400.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/7bd74036bd69b400.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/86c226b773728459.webpack.hot-update.json b/.next/static/webpack/86c226b773728459.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/86c226b773728459.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/989caf06ac2ac5dd.webpack.hot-update.json b/.next/static/webpack/989caf06ac2ac5dd.webpack.hot-update.json deleted file mode 100644 index eb4e224..0000000 --- a/.next/static/webpack/989caf06ac2ac5dd.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","app/events/versefest/page","webpack"],"r":[],"m":["(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"]} \ No newline at end of file diff --git a/.next/static/webpack/a1290a840e77f88c.webpack.hot-update.json b/.next/static/webpack/a1290a840e77f88c.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/a1290a840e77f88c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/a54ef714109fc599.webpack.hot-update.json b/.next/static/webpack/a54ef714109fc599.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/a54ef714109fc599.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/a916fb8624ae19e3.webpack.hot-update.json b/.next/static/webpack/a916fb8624ae19e3.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/a916fb8624ae19e3.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ab4ccf8759f4ff09.webpack.hot-update.json b/.next/static/webpack/ab4ccf8759f4ff09.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/ab4ccf8759f4ff09.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ad57e2303a562e41.webpack.hot-update.json b/.next/static/webpack/ad57e2303a562e41.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/ad57e2303a562e41.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/app/(main)/page.00d6a2162f81ace9.hot-update.js b/.next/static/webpack/app/(main)/page.00d6a2162f81ace9.hot-update.js deleted file mode 100644 index 5d34829..0000000 --- a/.next/static/webpack/app/(main)/page.00d6a2162f81ace9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/(main)/page",{ - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, Product Owner at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9aLDRFQUFtQkE7WUFDNUI7WUFDQTtnQkFDRU8sTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFP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QUMsRUFBRW9DLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDOUUsa0RBQUtBO29FQUNKaUUsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXJDLEtBQUs7b0VBQ2xCeUMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTFDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2lDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdEMsSUFBSTs7Ozs7OzsrQ0E3QlB1Qzs7Ozs7dUNBTFBOLElBQUluQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JnQjs7UUFDTHZELHdDQUFLQTs7O01BREF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IGFkbmFuZmF0YXllcmppSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFByb2R1Y3QgT3duZXIgYXQgT3VyVmVyc2UnLFxuICAgICAgICBpbWFnZTogc2FzaGFhc3RpYWRpSW1hZ2VcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdWaWN0b3IgTXVoYWdhY2hpJyxcbiAgICAgICAgcm9sZTogJ0NvLWZvdW5kZXIgYXQgRHVuaWEgWWV0dScsXG4gICAgICAgIGltYWdlOiB2aWN0b3JtdWhhZ2FjaGlJbWFnZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdTcGVha2VycyAmIFdvcmtzaG9wcycsXG4gICAgZGF0ZTogJ09jdCAyNScsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA1JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICByb2xlOiAnU2VuaW9yIEVuZ2luZWVyIGF0IE9DUCcsXG4gICAgICAgIGltYWdlOiBkYW1hcmlzS2ltdXJhSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSWJyYWhpbSBGcmFzY2gnLFxuICAgICAgICByb2xlOiAnUHJvZ3JhbW1lciBhdCBVbWJyZWxsYSBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGlicmFoaW1GcmFzY2hJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgcm9sZTogJ0Zyb250ZW5kIERldmVsb3BlciBhdCBCdXkgbiBMYXJnZScsXG4gICAgICAgIGltYWdlOiBjYXRobGVuZUJ1cnJhZ2VJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaW5hbGRvIEJleW5vbicsXG4gICAgICAgIHJvbGU6ICdEYXRhIFNjaWVudGlzdCBhdCBSZWthbGwnLFxuICAgICAgICBpbWFnZTogcmluYWxkb0JleW5vbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1dheWxvbiBIeWRlbicsXG4gICAgICAgIHJvbGU6ICdEZXZPcHMgYXQgUkRBIENvcnBvcmF0aW9uJyxcbiAgICAgICAgaW1hZ2U6IHdheWxvbkh5ZGVuSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR2lvcmRhbm8gU2FndWNpbycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBTb3lsZW50IENvcnAnLFxuICAgICAgICBpbWFnZTogZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnSW50ZXJ2aWV3cycsXG4gICAgZGF0ZTogJ09jdCAyNicsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA2JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnQW5kcmV3IEdyZWVuZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgVWx0cmF0ZWNoJyxcbiAgICAgICAgaW1hZ2U6IGFuZHJld0dyZWVuZUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0hlYXRoZXIgVGVycnknLFxuICAgICAgICByb2xlOiAnQmFja2VuZCBEZXZlbG9wZXIgYXQgWGFuYXRvcyBFbnRlcnByaXNlcycsXG4gICAgICAgIGltYWdlOiBoZWF0aGVyVGVycnlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgcm9sZTogJ0Z1bGwgc3RhY2sgRGV2ZWxvcGVyIGF0IEJpZmZDbycsXG4gICAgICAgIGltYWdlOiBwaWVyc1dpbGtpbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgcm9sZTogJ01vYmlsZSBEZXZlbG9wZXIgYXQgQ29icmEgSW5kdXN0cmllcycsXG4gICAgICAgIGltYWdlOiBnb3Jkb25TYW5kZXJzb25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdLaW1iZXJseSBQYXJzb25zJyxcbiAgICAgICAgcm9sZTogJ0dhbWUgRGV2ZWxvcGVyIGF0IFR5cmVsbCBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiBraW1iZXJseVBhcnNvbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaWNoYXJkIEFzdGxleScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgUm9sbCBPdXQnLFxuICAgICAgICBpbWFnZTogcmljaGFyZEFzdGxleSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl1cblxuZnVuY3Rpb24gSW1hZ2VDbGlwUGF0aHMoeyBpZCwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgd2lkdGg9ezB9IGhlaWdodD17MH0gey4uLnByb3BzfT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0wYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0wLDAgaDAuNzI5IHYwLjEyOSBoMC4xMjEgbC0wLjAxNiwwLjAzMiBDMC44MTUsMC4xOTgsMC44NDMsMC4yNDMsMC44ODUsMC4yNDMgSDEgdjAuNzU3IEgwLjI3MSB2LTAuMDg2IGwtMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsLTAuMDI2LC0wLjA1NywtMC4wNTcsLTAuMDU3IEgwIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMWB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwxIEgwLjI3MSB2LTAuMTI5IEgwLjE1IGwwLjAxNiwtMC4wMzIgQzAuMTg1LDAuODAyLDAuMTU3LDAuNzU3LDAuMTE1LDAuNzU3IEgwIFYwIGgwLjcyOSB2MC4wODYgbDAuMTIxLC0wLjA1NyB2MC4yMTQgYzAsMC4wMzIsMC4wMjYsMC4wNTcsMC4wNTcsMC4wNTcgaDAuMDkzIHYwLjdcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0yYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0xLDAgSDAuMjcxIHYwLjEyOSBIMC4xNSBsMC4wMTYsMC4wMzIgQzAuMTg1LDAuMTk4LDAuMTU3LDAuMjQzLDAuMTE1LDAuMjQzIEgwIHYwLjc1NyBoMC43Mjkgdi0wLjA4NiBsMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsMC4wMjYsLTAuMDU3LDAuMDU3LC0wLjA1NyBoMC4wOTMgVjBcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTcGVha2VycygpIHtcbiAgbGV0IGlkID0gdXNlSWQoKVxuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgbGdNZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDEwMjRweCknKVxuXG4gICAgZnVuY3Rpb24gb25NZWRpYVF1ZXJ5Q2hhbmdlKHsgbWF0Y2hlcyB9KSB7XG4gICAgICBzZXRUYWJPcmllbnRhdGlvbihtYXRjaGVzID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJylcbiAgICB9XG5cbiAgICBvbk1lZGlhUXVlcnlDaGFuZ2UobGdNZWRpYVF1ZXJ5KVxuICAgIGxnTWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGdNZWRpYVF1ZXJ5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb25cbiAgICAgIGlkPVwic3BlYWtlcnNcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgY2xhc3NOYW1lPVwicHktMjAgbGc6cHktMTJcIlxuICAgID5cbiAgICAgIDxJbWFnZUNsaXBQYXRocyBpZD17aWR9IC8+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTBcIj5cbiAgICAgICAgICA8aDJcbiAgICAgICAgICAgIGlkPVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTcwMCBzbTp0ZXh0LTV4bFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgU3BlYWtlcnNcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICBHZXQgcmVhZHkgdG8gYmUgaW5zcGlyZWQgYnkgc29tZSBvZiB0aGUgaW5kdXN0cnkgbGVhZGVycyBhbmQgaW5ub3ZhdG9ycyB3aG8gYXJlIHNoYXBpbmcgdGhlIGZ1dHVyZSBvZiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIG1vcmUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFRhYkdyb3VwXG4gICAgICAgICAgY2xhc3NOYW1lPVwibXQtMTQgZ3JpZCBncmlkLWNvbHMtMSBpdGVtcy1zdGFydCBnYXAteC04IGdhcC15LTggc206bXQtMTYgc206Z2FwLXktMTYgbGc6bXQtMjQgbGc6Z3JpZC1jb2xzLTRcIlxuICAgICAgICAgIHZlcnRpY2FsPXt0YWJPcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgLW14LTQgZmxleCBvdmVyZmxvdy14LWF1dG8gcGItNCBzbTpteC0wIHNtOmJsb2NrIHNtOm92ZXJmbG93LXZpc2libGUgc206cGItMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAuNSB0b3AtMiBoaWRkZW4gdy1weCBiZy1zbGF0ZS0yMDAgbGc6YmxvY2tcIiAvPlxuICAgICAgICAgICAgPFRhYkxpc3QgY2xhc3NOYW1lPVwiZ3JpZCBhdXRvLWNvbHMtYXV0byBncmlkLWZsb3ctY29sIGp1c3RpZnktc3RhcnQgZ2FwLXgtOCBnYXAteS0xMCB3aGl0ZXNwYWNlLW5vd3JhcCBweC00IHNtOm14LWF1dG8gc206bWF4LXctMnhsIHNtOmdyaWQtY29scy0zIHNtOnB4LTAgc206dGV4dC1jZW50ZXIgbGc6Z3JpZC1mbG93LXJvdyBsZzpncmlkLWNvbHMtMSBsZzp0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7ZGF5cy5tYXAoKGRheSwgZGF5SW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2RheS5kYXRlVGltZX0gY2xhc3NOYW1lPVwicmVsYXRpdmUgbGc6cGwtOFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaWFtb25kSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgbGVmdC1bLTAuNXB4XSB0b3AtWzAuNTYyNXJlbV0gaGlkZGVuIGgtMS41IHctMS41IG92ZXJmbG93LXZpc2libGUgbGc6YmxvY2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2ZpbGwtYmx1ZS01MDAgc3Ryb2tlLWJsdWUtNTAwJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpbGwtdHJhbnNwYXJlbnQgc3Ryb2tlLXNsYXRlLTQwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtbW9ubyB0ZXh0LXNtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAndGV4dC1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtc2xhdGUtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYiBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF5Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVGltZT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0xLjUgYmxvY2sgdGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5kYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aW1lPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9UYWJMaXN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxUYWJQYW5lbHMgY2xhc3NOYW1lPVwibGc6Y29sLXNwYW4tM1wiPlxuICAgICAgICAgICAge2RheXMubWFwKChkYXkpID0+IChcbiAgICAgICAgICAgICAgPFRhYlBhbmVsXG4gICAgICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAteC04IGdhcC15LTEwIHVpLW5vdC1mb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBzbTpncmlkLWNvbHMtMiBzbTpnYXAteS0xNiBtZDpncmlkLWNvbHMtM1wiXG4gICAgICAgICAgICAgICAgdW5tb3VudD17ZmFsc2V9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGF5LnNwZWFrZXJzLm1hcCgoc3BlYWtlciwgc3BlYWtlckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGtleT17c3BlYWtlckluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBoLVsxNy41cmVtXSB0cmFuc2Zvcm0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtNHhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgYm90dG9tLTYgbGVmdC0wIHJpZ2h0LTQgdG9wLTAgcm91bmRlZC00eGwgYm9yZGVyIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTk1IHhsOnJpZ2h0LTYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ibHVlLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1pbmRpZ28tMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXNreS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdW3NwZWFrZXJJbmRleCAlIDNdLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctaW5kaWdvLTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNsaXBQYXRoOiBgdXJsKCMke2lkfS0ke3NwZWFrZXJJbmRleCAlIDN9KWAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS0xMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9e3NwZWFrZXIuaW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPVwiKG1pbi13aWR0aDogMTI4MHB4KSAxNy41cmVtLCAobWluLXdpZHRoOiAxMDI0cHgpIDI1dncsIChtaW4td2lkdGg6IDc2OHB4KSAzM3Z3LCAobWluLXdpZHRoOiA2NDBweCkgNTB2dywgMTAwdndcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJtdC04IGZvbnQtZGlzcGxheSB0ZXh0LXhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTEgdGV4dC1iYXNlIHRyYWNraW5nLXRpZ2h0IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3NwZWFrZXIucm9sZX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvVGFiUGFuZWw+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1RhYlBhbmVscz5cbiAgICAgICAgPC9UYWJHcm91cD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZUlkIiwidXNlU3RhdGUiLCJJbWFnZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkNvbnRhaW5lciIsIkRpYW1vbmRJY29uIiwiYW5kcmV3R3JlZW5lSW1hZ2UiLCJjYXRobGVuZUJ1cnJhZ2VJbWFnZSIsImRhbWFyaXNLaW11cmFJbWFnZSIsImRpYW5uZUd1aWxpYW5lbGxpSW1hZ2UiLCJlcmhhcnRDb2NrcmluSW1hZ2UiLCJnaW9yZGFub1NhZ3VjaW9JbWFnZSIsImdvcmRvblNhbmRlcnNvbkltYWdlIiwiaGVhdGhlclRlcnJ5SW1hZ2UiLCJpYnJhaGltRnJhc2NoSW1hZ2UiLCJqYXF1ZWxpbklzY2hJbWFnZSIsImtpbWJlcmx5UGFyc29uc0ltYWdlIiwicGFya2VySm9obnNvbkltYWdlIiwicGllcnNXaWxraW5zSW1hZ2UiLCJyaWNoYXJkQXN0bGV5IiwicmluYWxkb0JleW5vbkltYWdlIiwicm9ubmlDYW50YWRvcmVJbWFnZSIsInN0ZXZlbk1jaGFpbEltYWdlIiwid2F5bG9uSHlkZW5JbWFnZSIsImtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSIsImFkbmFuZmF0YXllcmppSW1hZ2UiLCJmbG9yaWFuZm91cm5pZXJJbWFnZSIsIm1hdHRoZXdzY2h1dHRlSW1hZ2UiLCJvbXJlaWFidW1hZGlJbWFnZSIsInZpY3Rvcm11aGFnYWNoaUltYWdlIiwic2FzaGFhc3RpYWRpSW1hZ2UiLCJkYXlzIiwibmFtZSIsImRhdGUiLCJkYXRlVGltZSIsInNwZWFrZXJzIiwicm9sZSIsImltYWdlIiwiSW1hZ2VDbGlwUGF0aHMiLCJpZCIsInByb3BzIiwic3ZnIiwiYXJpYS1oaWRkZW4iLCJ3aWR0aCIsImhlaWdodCIsImRlZnMiLCJjbGlwUGF0aCIsImNsaXBQYXRoVW5pdHMiLCJwYXRoIiwiZCIsIlNwZWFrZXJzIiwidGFiT3JpZW50YXRpb24iLCJzZXRUYWJPcmllbnRhdGlvbiIsImxnTWVkaWFRdWVyeSIsIndpbmRvdyIsIm1hdGNoTWVkaWEiLCJvbk1lZGlhUXVlcnlDaGFuZ2UiLCJtYXRjaGVzIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzZWN0aW9uIiwiYXJpYS1sYWJlbGxlZGJ5IiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJwIiwidmVydGljYWwiLCJzZWxlY3RlZEluZGV4IiwibWFwIiwiZGF5IiwiZGF5SW5kZXgiLCJzcGFuIiwidGltZSIsInVubW91bnQiLCJzcGVha2VyIiwic3BlYWtlckluZGV4Iiwic3R5bGUiLCJzcmMiLCJhbHQiLCJwcmlvcml0eSIsInNpemVzIiwiaDMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/(main)/page.13f8832333be1c5c.hot-update.js b/.next/static/webpack/app/(main)/page.13f8832333be1c5c.hot-update.js deleted file mode 100644 index 23307b1..0000000 --- a/.next/static/webpack/app/(main)/page.13f8832333be1c5c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/(main)/page",{ - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, PO at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9WLDZFQUFtQkE7WUFDNUI7WUFDQTtnQkFDRUssTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFP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QUMsRUFBRW9DLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDOUUsa0RBQUtBO29FQUNKaUUsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXJDLEtBQUs7b0VBQ2xCeUMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTFDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2lDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdEMsSUFBSTs7Ozs7OzsrQ0E3QlB1Qzs7Ozs7dUNBTFBOLElBQUluQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JnQjs7UUFDTHZELHdDQUFLQTs7O01BREF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IG1hdHRoZXdzY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFBPIGF0IE91clZlcnNlJyxcbiAgICAgICAgaW1hZ2U6IHNhc2hhYXN0aWFkaUltYWdlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnVmljdG9yIE11aGFnYWNoaScsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IER1bmlhIFlldHUnLFxuICAgICAgICBpbWFnZTogdmljdG9ybXVoYWdhY2hpSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnU3BlYWtlcnMgJiBXb3Jrc2hvcHMnLFxuICAgIGRhdGU6ICdPY3QgMjUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0RhbWFyaXMgS2ltdXJhJyxcbiAgICAgICAgcm9sZTogJ1NlbmlvciBFbmdpbmVlciBhdCBPQ1AnLFxuICAgICAgICBpbWFnZTogZGFtYXJpc0tpbXVyYUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgcm9sZTogJ1Byb2dyYW1tZXIgYXQgVW1icmVsbGEgQ29ycCcsXG4gICAgICAgIGltYWdlOiBpYnJhaGltRnJhc2NoSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnQ2F0aGxlbmUgQnVycmFnZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgQnV5IG4gTGFyZ2UnLFxuICAgICAgICBpbWFnZTogY2F0aGxlbmVCdXJyYWdlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmluYWxkbyBCZXlub24nLFxuICAgICAgICByb2xlOiAnRGF0YSBTY2llbnRpc3QgYXQgUmVrYWxsJyxcbiAgICAgICAgaW1hZ2U6IHJpbmFsZG9CZXlub25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICByb2xlOiAnRGV2T3BzIGF0IFJEQSBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiB3YXlsb25IeWRlbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICByb2xlOiAnR2FtZSBEZXZlbG9wZXIgYXQgU295bGVudCBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGdpb3JkYW5vU2FndWNpb0ltYWdlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0ludGVydmlld3MnLFxuICAgIGRhdGU6ICdPY3QgMjYnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNicsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0FuZHJldyBHcmVlbmUnLFxuICAgICAgICByb2xlOiAnRnJvbnRlbmQgRGV2ZWxvcGVyIGF0IFVsdHJhdGVjaCcsXG4gICAgICAgIGltYWdlOiBhbmRyZXdHcmVlbmVJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdIZWF0aGVyIFRlcnJ5JyxcbiAgICAgICAgcm9sZTogJ0JhY2tlbmQgRGV2ZWxvcGVyIGF0IFhhbmF0b3MgRW50ZXJwcmlzZXMnLFxuICAgICAgICBpbWFnZTogaGVhdGhlclRlcnJ5SW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUGllcnMgV2lsa2lucycsXG4gICAgICAgIHJvbGU6ICdGdWxsIHN0YWNrIERldmVsb3BlciBhdCBCaWZmQ28nLFxuICAgICAgICBpbWFnZTogcGllcnNXaWxraW5zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR29yZG9uIFNhbmRlcnNvbicsXG4gICAgICAgIHJvbGU6ICdNb2JpbGUgRGV2ZWxvcGVyIGF0IENvYnJhIEluZHVzdHJpZXMnLFxuICAgICAgICBpbWFnZTogZ29yZG9uU2FuZGVyc29uSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnS2ltYmVybHkgUGFyc29ucycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBUeXJlbGwgQ29ycG9yYXRpb24nLFxuICAgICAgICBpbWFnZToga2ltYmVybHlQYXJzb25zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IFJvbGwgT3V0JyxcbiAgICAgICAgaW1hZ2U6IHJpY2hhcmRBc3RsZXksXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIEltYWdlQ2xpcFBhdGhzKHsgaWQsIC4uLnByb3BzIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHdpZHRoPXswfSBoZWlnaHQ9ezB9IHsuLi5wcm9wc30+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMGB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMCwwIGgwLjcyOSB2MC4xMjkgaDAuMTIxIGwtMC4wMTYsMC4wMzIgQzAuODE1LDAuMTk4LDAuODQzLDAuMjQzLDAuODg1LDAuMjQzIEgxIHYwLjc1NyBIMC4yNzEgdi0wLjA4NiBsLTAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLC0wLjAyNiwtMC4wNTcsLTAuMDU3LC0wLjA1NyBIMCBWMFwiIC8+XG4gICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgIDxjbGlwUGF0aCBpZD17YCR7aWR9LTFgfSBjbGlwUGF0aFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTEsMSBIMC4yNzEgdi0wLjEyOSBIMC4xNSBsMC4wMTYsLTAuMDMyIEMwLjE4NSwwLjgwMiwwLjE1NywwLjc1NywwLjExNSwwLjc1NyBIMCBWMCBoMC43MjkgdjAuMDg2IGwwLjEyMSwtMC4wNTcgdjAuMjE0IGMwLDAuMDMyLDAuMDI2LDAuMDU3LDAuMDU3LDAuMDU3IGgwLjA5MyB2MC43XCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMmB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwwIEgwLjI3MSB2MC4xMjkgSDAuMTUgbDAuMDE2LDAuMDMyIEMwLjE4NSwwLjE5OCwwLjE1NywwLjI0MywwLjExNSwwLjI0MyBIMCB2MC43NTcgaDAuNzI5IHYtMC4wODYgbDAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLDAuMDI2LC0wLjA1NywwLjA1NywtMC4wNTcgaDAuMDkzIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3BlYWtlcnMoKSB7XG4gIGxldCBpZCA9IHVzZUlkKClcbiAgbGV0IFt0YWJPcmllbnRhdGlvbiwgc2V0VGFiT3JpZW50YXRpb25dID0gdXNlU3RhdGUoJ2hvcml6b250YWwnKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGxnTWVkaWFRdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcobWluLXdpZHRoOiAxMDI0cHgpJylcblxuICAgIGZ1bmN0aW9uIG9uTWVkaWFRdWVyeUNoYW5nZSh7IG1hdGNoZXMgfSkge1xuICAgICAgc2V0VGFiT3JpZW50YXRpb24obWF0Y2hlcyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcpXG4gICAgfVxuXG4gICAgb25NZWRpYVF1ZXJ5Q2hhbmdlKGxnTWVkaWFRdWVyeSlcbiAgICBsZ01lZGlhUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGxnTWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uXG4gICAgICBpZD1cInNwZWFrZXJzXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgIGNsYXNzTmFtZT1cInB5LTIwIGxnOnB5LTEyXCJcbiAgICA+XG4gICAgICA8SW1hZ2VDbGlwUGF0aHMgaWQ9e2lkfSAvPlxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBsZzpteC0wXCI+XG4gICAgICAgICAgPGgyXG4gICAgICAgICAgICBpZD1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgc206dGV4dC01eGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNwZWFrZXJzXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgR2V0IHJlYWR5IHRvIGJlIGluc3BpcmVkIGJ5IHNvbWUgb2YgdGhlIGluZHVzdHJ5IGxlYWRlcnMgYW5kIGlubm92YXRvcnMgd2hvIGFyZSBzaGFwaW5nIHRoZSBmdXR1cmUgb2YgdGhlIG1ldGF2ZXJzZSwgV2ViMywgQUksIGFuZCBtb3JlLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxUYWJHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTE0IGdyaWQgZ3JpZC1jb2xzLTEgaXRlbXMtc3RhcnQgZ2FwLXgtOCBnYXAteS04IHNtOm10LTE2IHNtOmdhcC15LTE2IGxnOm10LTI0IGxnOmdyaWQtY29scy00XCJcbiAgICAgICAgICB2ZXJ0aWNhbD17dGFiT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCd9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIC1teC00IGZsZXggb3ZlcmZsb3cteC1hdXRvIHBiLTQgc206bXgtMCBzbTpibG9jayBzbTpvdmVyZmxvdy12aXNpYmxlIHNtOnBiLTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wLjUgdG9wLTIgaGlkZGVuIHctcHggYmctc2xhdGUtMjAwIGxnOmJsb2NrXCIgLz5cbiAgICAgICAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cImdyaWQgYXV0by1jb2xzLWF1dG8gZ3JpZC1mbG93LWNvbCBqdXN0aWZ5LXN0YXJ0IGdhcC14LTggZ2FwLXktMTAgd2hpdGVzcGFjZS1ub3dyYXAgcHgtNCBzbTpteC1hdXRvIHNtOm1heC13LTJ4bCBzbTpncmlkLWNvbHMtMyBzbTpweC0wIHNtOnRleHQtY2VudGVyIGxnOmdyaWQtZmxvdy1yb3cgbGc6Z3JpZC1jb2xzLTEgbGc6dGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIHsoeyBzZWxlY3RlZEluZGV4IH0pID0+IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAge2RheXMubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtkYXkuZGF0ZVRpbWV9IGNsYXNzTmFtZT1cInJlbGF0aXZlIGxnOnBsLThcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8RGlhbW9uZEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGxlZnQtWy0wLjVweF0gdG9wLVswLjU2MjVyZW1dIGhpZGRlbiBoLTEuNSB3LTEuNSBvdmVyZmxvdy12aXNpYmxlIGxnOmJsb2NrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdmaWxsLWJsdWUtNTAwIHN0cm9rZS1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdmaWxsLXRyYW5zcGFyZW50IHN0cm9rZS1zbGF0ZS00MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LW1vbm8gdGV4dC1zbScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3RleHQtYmx1ZS01MDAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0ZXh0LXNsYXRlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVRpbWU9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtMS41IGJsb2NrIHRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGltZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVGFiTGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8VGFiUGFuZWxzIGNsYXNzTmFtZT1cImxnOmNvbC1zcGFuLTNcIj5cbiAgICAgICAgICAgIHtkYXlzLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAgICAgIGtleT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLXgtOCBnYXAteS0xMCB1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgc206Z3JpZC1jb2xzLTIgc206Z2FwLXktMTYgbWQ6Z3JpZC1jb2xzLTNcIlxuICAgICAgICAgICAgICAgIHVubW91bnQ9e2ZhbHNlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2RheS5zcGVha2Vycy5tYXAoKHNwZWFrZXIsIHNwZWFrZXJJbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e3NwZWFrZXJJbmRleH0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgaC1bMTcuNXJlbV0gdHJhbnNmb3JtIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLTR4bFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGJvdHRvbS02IGxlZnQtMCByaWdodC00IHRvcC0wIHJvdW5kZWQtNHhsIGJvcmRlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS05NSB4bDpyaWdodC02JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItYmx1ZS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItaW5kaWdvLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1za3ktMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVtzcGVha2VySW5kZXggJSAzXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWluZGlnby01MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjbGlwUGF0aDogYHVybCgjJHtpZH0tJHtzcGVha2VySW5kZXggJSAzfSlgIH19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtzcGVha2VyLmltYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz1cIihtaW4td2lkdGg6IDEyODBweCkgMTcuNXJlbSwgKG1pbi13aWR0aDogMTAyNHB4KSAyNXZ3LCAobWluLXdpZHRoOiA3NjhweCkgMzN2dywgKG1pbi13aWR0aDogNjQwcHgpIDUwdncsIDEwMHZ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwibXQtOCBmb250LWRpc3BsYXkgdGV4dC14bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1zbGF0ZS05MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7c3BlYWtlci5uYW1lfVxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLnJvbGV9XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1RhYlBhbmVsPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9UYWJQYW5lbHM+XG4gICAgICAgIDwvVGFiR3JvdXA+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZVN0YXRlIiwiSW1hZ2UiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsImNsc3giLCJDb250YWluZXIiLCJEaWFtb25kSWNvbiIsImFuZHJld0dyZWVuZUltYWdlIiwiY2F0aGxlbmVCdXJyYWdlSW1hZ2UiLCJkYW1hcmlzS2ltdXJhSW1hZ2UiLCJkaWFubmVHdWlsaWFuZWxsaUltYWdlIiwiZXJoYXJ0Q29ja3JpbkltYWdlIiwiZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UiLCJnb3Jkb25TYW5kZXJzb25JbWFnZSIsImhlYXRoZXJUZXJyeUltYWdlIiwiaWJyYWhpbUZyYXNjaEltYWdlIiwiamFxdWVsaW5Jc2NoSW1hZ2UiLCJraW1iZXJseVBhcnNvbnNJbWFnZSIsInBhcmtlckpvaG5zb25JbWFnZSIsInBpZXJzV2lsa2luc0ltYWdlIiwicmljaGFyZEFzdGxleSIsInJpbmFsZG9CZXlub25JbWFnZSIsInJvbm5pQ2FudGFkb3JlSW1hZ2UiLCJzdGV2ZW5NY2hhaWxJbWFnZSIsIndheWxvbkh5ZGVuSW1hZ2UiLCJrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UiLCJhZG5hbmZhdGF5ZXJqaUltYWdlIiwiZmxvcmlhbmZvdXJuaWVySW1hZ2UiLCJtYXR0aGV3c2NodXR0ZUltYWdlIiwib21yZWlhYnVtYWRpSW1hZ2UiLCJ2aWN0b3JtdWhhZ2FjaGlJbWFnZSIsInNhc2hhYXN0aWFkaUltYWdlIiwiZGF5cyIsIm5hbWUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzcGVha2VycyIsInJvbGUiLCJpbWFnZSIsIkltYWdlQ2xpcFBhdGhzIiwiaWQiLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwid2lkdGgiLCJoZWlnaHQiLCJkZWZzIiwiY2xpcFBhdGgiLCJjbGlwUGF0aFVuaXRzIiwicGF0aCIsImQiLCJTcGVha2VycyIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJsZ01lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VjdGlvbiIsImFyaWEtbGFiZWxsZWRieSIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInZlcnRpY2FsIiwic2VsZWN0ZWRJbmRleCIsIm1hcCIsImRheSIsImRheUluZGV4Iiwic3BhbiIsInRpbWUiLCJ1bm1vdW50Iiwic3BlYWtlciIsInNwZWFrZXJJbmRleCIsInN0eWxlIiwic3JjIiwiYWx0IiwicHJpb3JpdHkiLCJzaXplcyIsImgzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/(main)/page.6349ee7a488d1a94.hot-update.js b/.next/static/webpack/app/(main)/page.6349ee7a488d1a94.hot-update.js deleted file mode 100644 index 8290744..0000000 --- a/.next/static/webpack/app/(main)/page.6349ee7a488d1a94.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/(main)/page",{ - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, Product Owner at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9WLDZFQUFtQkE7WUFDNUI7WUFDQTtnQkFDRUssTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFP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QUMsRUFBRW9DLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDOUUsa0RBQUtBO29FQUNKaUUsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXJDLEtBQUs7b0VBQ2xCeUMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTFDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2lDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdEMsSUFBSTs7Ozs7OzsrQ0E3QlB1Qzs7Ozs7dUNBTFBOLElBQUluQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JnQjs7UUFDTHZELHdDQUFLQTs7O01BREF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IG1hdHRoZXdzY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFByb2R1Y3QgT3duZXIgYXQgT3VyVmVyc2UnLFxuICAgICAgICBpbWFnZTogc2FzaGFhc3RpYWRpSW1hZ2VcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdWaWN0b3IgTXVoYWdhY2hpJyxcbiAgICAgICAgcm9sZTogJ0NvLWZvdW5kZXIgYXQgRHVuaWEgWWV0dScsXG4gICAgICAgIGltYWdlOiB2aWN0b3JtdWhhZ2FjaGlJbWFnZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdTcGVha2VycyAmIFdvcmtzaG9wcycsXG4gICAgZGF0ZTogJ09jdCAyNScsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA1JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICByb2xlOiAnU2VuaW9yIEVuZ2luZWVyIGF0IE9DUCcsXG4gICAgICAgIGltYWdlOiBkYW1hcmlzS2ltdXJhSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSWJyYWhpbSBGcmFzY2gnLFxuICAgICAgICByb2xlOiAnUHJvZ3JhbW1lciBhdCBVbWJyZWxsYSBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGlicmFoaW1GcmFzY2hJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgcm9sZTogJ0Zyb250ZW5kIERldmVsb3BlciBhdCBCdXkgbiBMYXJnZScsXG4gICAgICAgIGltYWdlOiBjYXRobGVuZUJ1cnJhZ2VJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaW5hbGRvIEJleW5vbicsXG4gICAgICAgIHJvbGU6ICdEYXRhIFNjaWVudGlzdCBhdCBSZWthbGwnLFxuICAgICAgICBpbWFnZTogcmluYWxkb0JleW5vbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1dheWxvbiBIeWRlbicsXG4gICAgICAgIHJvbGU6ICdEZXZPcHMgYXQgUkRBIENvcnBvcmF0aW9uJyxcbiAgICAgICAgaW1hZ2U6IHdheWxvbkh5ZGVuSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR2lvcmRhbm8gU2FndWNpbycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBTb3lsZW50IENvcnAnLFxuICAgICAgICBpbWFnZTogZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnSW50ZXJ2aWV3cycsXG4gICAgZGF0ZTogJ09jdCAyNicsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA2JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnQW5kcmV3IEdyZWVuZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgVWx0cmF0ZWNoJyxcbiAgICAgICAgaW1hZ2U6IGFuZHJld0dyZWVuZUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0hlYXRoZXIgVGVycnknLFxuICAgICAgICByb2xlOiAnQmFja2VuZCBEZXZlbG9wZXIgYXQgWGFuYXRvcyBFbnRlcnByaXNlcycsXG4gICAgICAgIGltYWdlOiBoZWF0aGVyVGVycnlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgcm9sZTogJ0Z1bGwgc3RhY2sgRGV2ZWxvcGVyIGF0IEJpZmZDbycsXG4gICAgICAgIGltYWdlOiBwaWVyc1dpbGtpbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgcm9sZTogJ01vYmlsZSBEZXZlbG9wZXIgYXQgQ29icmEgSW5kdXN0cmllcycsXG4gICAgICAgIGltYWdlOiBnb3Jkb25TYW5kZXJzb25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdLaW1iZXJseSBQYXJzb25zJyxcbiAgICAgICAgcm9sZTogJ0dhbWUgRGV2ZWxvcGVyIGF0IFR5cmVsbCBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiBraW1iZXJseVBhcnNvbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaWNoYXJkIEFzdGxleScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgUm9sbCBPdXQnLFxuICAgICAgICBpbWFnZTogcmljaGFyZEFzdGxleSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl1cblxuZnVuY3Rpb24gSW1hZ2VDbGlwUGF0aHMoeyBpZCwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgd2lkdGg9ezB9IGhlaWdodD17MH0gey4uLnByb3BzfT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0wYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0wLDAgaDAuNzI5IHYwLjEyOSBoMC4xMjEgbC0wLjAxNiwwLjAzMiBDMC44MTUsMC4xOTgsMC44NDMsMC4yNDMsMC44ODUsMC4yNDMgSDEgdjAuNzU3IEgwLjI3MSB2LTAuMDg2IGwtMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsLTAuMDI2LC0wLjA1NywtMC4wNTcsLTAuMDU3IEgwIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMWB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwxIEgwLjI3MSB2LTAuMTI5IEgwLjE1IGwwLjAxNiwtMC4wMzIgQzAuMTg1LDAuODAyLDAuMTU3LDAuNzU3LDAuMTE1LDAuNzU3IEgwIFYwIGgwLjcyOSB2MC4wODYgbDAuMTIxLC0wLjA1NyB2MC4yMTQgYzAsMC4wMzIsMC4wMjYsMC4wNTcsMC4wNTcsMC4wNTcgaDAuMDkzIHYwLjdcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0yYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0xLDAgSDAuMjcxIHYwLjEyOSBIMC4xNSBsMC4wMTYsMC4wMzIgQzAuMTg1LDAuMTk4LDAuMTU3LDAuMjQzLDAuMTE1LDAuMjQzIEgwIHYwLjc1NyBoMC43Mjkgdi0wLjA4NiBsMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsMC4wMjYsLTAuMDU3LDAuMDU3LC0wLjA1NyBoMC4wOTMgVjBcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTcGVha2VycygpIHtcbiAgbGV0IGlkID0gdXNlSWQoKVxuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgbGdNZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDEwMjRweCknKVxuXG4gICAgZnVuY3Rpb24gb25NZWRpYVF1ZXJ5Q2hhbmdlKHsgbWF0Y2hlcyB9KSB7XG4gICAgICBzZXRUYWJPcmllbnRhdGlvbihtYXRjaGVzID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJylcbiAgICB9XG5cbiAgICBvbk1lZGlhUXVlcnlDaGFuZ2UobGdNZWRpYVF1ZXJ5KVxuICAgIGxnTWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGdNZWRpYVF1ZXJ5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb25cbiAgICAgIGlkPVwic3BlYWtlcnNcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgY2xhc3NOYW1lPVwicHktMjAgbGc6cHktMTJcIlxuICAgID5cbiAgICAgIDxJbWFnZUNsaXBQYXRocyBpZD17aWR9IC8+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTBcIj5cbiAgICAgICAgICA8aDJcbiAgICAgICAgICAgIGlkPVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTcwMCBzbTp0ZXh0LTV4bFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgU3BlYWtlcnNcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICBHZXQgcmVhZHkgdG8gYmUgaW5zcGlyZWQgYnkgc29tZSBvZiB0aGUgaW5kdXN0cnkgbGVhZGVycyBhbmQgaW5ub3ZhdG9ycyB3aG8gYXJlIHNoYXBpbmcgdGhlIGZ1dHVyZSBvZiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIG1vcmUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFRhYkdyb3VwXG4gICAgICAgICAgY2xhc3NOYW1lPVwibXQtMTQgZ3JpZCBncmlkLWNvbHMtMSBpdGVtcy1zdGFydCBnYXAteC04IGdhcC15LTggc206bXQtMTYgc206Z2FwLXktMTYgbGc6bXQtMjQgbGc6Z3JpZC1jb2xzLTRcIlxuICAgICAgICAgIHZlcnRpY2FsPXt0YWJPcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgLW14LTQgZmxleCBvdmVyZmxvdy14LWF1dG8gcGItNCBzbTpteC0wIHNtOmJsb2NrIHNtOm92ZXJmbG93LXZpc2libGUgc206cGItMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAuNSB0b3AtMiBoaWRkZW4gdy1weCBiZy1zbGF0ZS0yMDAgbGc6YmxvY2tcIiAvPlxuICAgICAgICAgICAgPFRhYkxpc3QgY2xhc3NOYW1lPVwiZ3JpZCBhdXRvLWNvbHMtYXV0byBncmlkLWZsb3ctY29sIGp1c3RpZnktc3RhcnQgZ2FwLXgtOCBnYXAteS0xMCB3aGl0ZXNwYWNlLW5vd3JhcCBweC00IHNtOm14LWF1dG8gc206bWF4LXctMnhsIHNtOmdyaWQtY29scy0zIHNtOnB4LTAgc206dGV4dC1jZW50ZXIgbGc6Z3JpZC1mbG93LXJvdyBsZzpncmlkLWNvbHMtMSBsZzp0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7ZGF5cy5tYXAoKGRheSwgZGF5SW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2RheS5kYXRlVGltZX0gY2xhc3NOYW1lPVwicmVsYXRpdmUgbGc6cGwtOFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaWFtb25kSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgbGVmdC1bLTAuNXB4XSB0b3AtWzAuNTYyNXJlbV0gaGlkZGVuIGgtMS41IHctMS41IG92ZXJmbG93LXZpc2libGUgbGc6YmxvY2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2ZpbGwtYmx1ZS01MDAgc3Ryb2tlLWJsdWUtNTAwJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpbGwtdHJhbnNwYXJlbnQgc3Ryb2tlLXNsYXRlLTQwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtbW9ubyB0ZXh0LXNtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAndGV4dC1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtc2xhdGUtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYiBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF5Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVGltZT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0xLjUgYmxvY2sgdGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5kYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aW1lPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9UYWJMaXN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxUYWJQYW5lbHMgY2xhc3NOYW1lPVwibGc6Y29sLXNwYW4tM1wiPlxuICAgICAgICAgICAge2RheXMubWFwKChkYXkpID0+IChcbiAgICAgICAgICAgICAgPFRhYlBhbmVsXG4gICAgICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAteC04IGdhcC15LTEwIHVpLW5vdC1mb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBzbTpncmlkLWNvbHMtMiBzbTpnYXAteS0xNiBtZDpncmlkLWNvbHMtM1wiXG4gICAgICAgICAgICAgICAgdW5tb3VudD17ZmFsc2V9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGF5LnNwZWFrZXJzLm1hcCgoc3BlYWtlciwgc3BlYWtlckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGtleT17c3BlYWtlckluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBoLVsxNy41cmVtXSB0cmFuc2Zvcm0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtNHhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgYm90dG9tLTYgbGVmdC0wIHJpZ2h0LTQgdG9wLTAgcm91bmRlZC00eGwgYm9yZGVyIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTk1IHhsOnJpZ2h0LTYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ibHVlLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1pbmRpZ28tMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXNreS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdW3NwZWFrZXJJbmRleCAlIDNdLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctaW5kaWdvLTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNsaXBQYXRoOiBgdXJsKCMke2lkfS0ke3NwZWFrZXJJbmRleCAlIDN9KWAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS0xMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9e3NwZWFrZXIuaW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPVwiKG1pbi13aWR0aDogMTI4MHB4KSAxNy41cmVtLCAobWluLXdpZHRoOiAxMDI0cHgpIDI1dncsIChtaW4td2lkdGg6IDc2OHB4KSAzM3Z3LCAobWluLXdpZHRoOiA2NDBweCkgNTB2dywgMTAwdndcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJtdC04IGZvbnQtZGlzcGxheSB0ZXh0LXhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTEgdGV4dC1iYXNlIHRyYWNraW5nLXRpZ2h0IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3NwZWFrZXIucm9sZX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvVGFiUGFuZWw+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1RhYlBhbmVscz5cbiAgICAgICAgPC9UYWJHcm91cD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZUlkIiwidXNlU3RhdGUiLCJJbWFnZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkNvbnRhaW5lciIsIkRpYW1vbmRJY29uIiwiYW5kcmV3R3JlZW5lSW1hZ2UiLCJjYXRobGVuZUJ1cnJhZ2VJbWFnZSIsImRhbWFyaXNLaW11cmFJbWFnZSIsImRpYW5uZUd1aWxpYW5lbGxpSW1hZ2UiLCJlcmhhcnRDb2NrcmluSW1hZ2UiLCJnaW9yZGFub1NhZ3VjaW9JbWFnZSIsImdvcmRvblNhbmRlcnNvbkltYWdlIiwiaGVhdGhlclRlcnJ5SW1hZ2UiLCJpYnJhaGltRnJhc2NoSW1hZ2UiLCJqYXF1ZWxpbklzY2hJbWFnZSIsImtpbWJlcmx5UGFyc29uc0ltYWdlIiwicGFya2VySm9obnNvbkltYWdlIiwicGllcnNXaWxraW5zSW1hZ2UiLCJyaWNoYXJkQXN0bGV5IiwicmluYWxkb0JleW5vbkltYWdlIiwicm9ubmlDYW50YWRvcmVJbWFnZSIsInN0ZXZlbk1jaGFpbEltYWdlIiwid2F5bG9uSHlkZW5JbWFnZSIsImtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSIsImFkbmFuZmF0YXllcmppSW1hZ2UiLCJmbG9yaWFuZm91cm5pZXJJbWFnZSIsIm1hdHRoZXdzY2h1dHRlSW1hZ2UiLCJvbXJlaWFidW1hZGlJbWFnZSIsInZpY3Rvcm11aGFnYWNoaUltYWdlIiwic2FzaGFhc3RpYWRpSW1hZ2UiLCJkYXlzIiwibmFtZSIsImRhdGUiLCJkYXRlVGltZSIsInNwZWFrZXJzIiwicm9sZSIsImltYWdlIiwiSW1hZ2VDbGlwUGF0aHMiLCJpZCIsInByb3BzIiwic3ZnIiwiYXJpYS1oaWRkZW4iLCJ3aWR0aCIsImhlaWdodCIsImRlZnMiLCJjbGlwUGF0aCIsImNsaXBQYXRoVW5pdHMiLCJwYXRoIiwiZCIsIlNwZWFrZXJzIiwidGFiT3JpZW50YXRpb24iLCJzZXRUYWJPcmllbnRhdGlvbiIsImxnTWVkaWFRdWVyeSIsIndpbmRvdyIsIm1hdGNoTWVkaWEiLCJvbk1lZGlhUXVlcnlDaGFuZ2UiLCJtYXRjaGVzIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzZWN0aW9uIiwiYXJpYS1sYWJlbGxlZGJ5IiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJwIiwidmVydGljYWwiLCJzZWxlY3RlZEluZGV4IiwibWFwIiwiZGF5IiwiZGF5SW5kZXgiLCJzcGFuIiwidGltZSIsInVubW91bnQiLCJzcGVha2VyIiwic3BlYWtlckluZGV4Iiwic3R5bGUiLCJzcmMiLCJhbHQiLCJwcmlvcml0eSIsInNpemVzIiwiaDMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/(main)/page.7bc6f6a4b87f5145.hot-update.js b/.next/static/webpack/app/(main)/page.7bc6f6a4b87f5145.hot-update.js deleted file mode 100644 index 3cc0acc..0000000 --- a/.next/static/webpack/app/(main)/page.7bc6f6a4b87f5145.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/(main)/page",{ - -/***/ "(app-pages-browser)/./src/components/Product.jsx": -/*!************************************!*\ - !*** ./src/components/Product.jsx ***! - \************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Product: function() { return /* binding */ Product; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(app-pages-browser)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* __next_internal_client_entry_do_not_use__ Product auto */ \n\n\n\n\n\nconst products = [\n {\n id: 1,\n name: \"Enhancing Education\",\n color: \"Transform traditional education with immersive distance learning opportunities\",\n href: \"#\",\n imageSrc: \"/images/education.jpg\",\n imageAlt: \"classroom\"\n },\n {\n id: 2,\n name: \"Environmental Awareness\",\n color: \"Advocate for environmental conservation through virtual eco-tours & initiatives.\",\n href: \"#\",\n imageSrc: \"/images/environment.jpg\",\n imageAlt: \"environment\"\n },\n {\n id: 3,\n name: \"Supporting Healthcare\",\n color: \"Innovate healthcare delivery by integrating virtual consultations & tools.\",\n href: \"#\",\n imageSrc: \"/images/healthcare.jpg\",\n imageAlt: \"clinic\"\n },\n {\n id: 4,\n name: \"Empowering Africa\",\n color: \"Foster cultural and economic growth across Africa through virtual solutions.\",\n href: \"#\",\n imageSrc: \"/images/africa.jpg\",\n imageAlt: \"africa\"\n }\n];\nfunction Product() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"schedule\",\n \"aria-label\": \"Schedule\",\n className: \"py-8 lg:py-24 mb-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative z-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0 lg:max-w-4xl lg:pr-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-base font-medium font-mono leading-7 text-blue-700\",\n children: \"Usecases\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 50,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"mt-2 font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Transforming Possibilities Across Industries Digitally\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Explore diverse scenarios where our platform empowers users to create, collaborate, and innovate in immersive virtual environments, unlocking new potentials across industries and communities.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 54,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 49,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 48,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:mt-14 mt-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__.BackgroundImage, {\n position: \"right\",\n className: \"-bottom-32 -top-40\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 61,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 grid grid-cols-1 gap-y-12 sm:grid-cols-2 sm:gap-x-6 lg:grid-cols-4 xl:gap-x-8\",\n children: products.map((product)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative h-full w-full overflow-hidden rounded-sm\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n alt: product.imageAlt,\n src: product.imageSrc,\n className: \"h-full w-full object-cover object-center\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 68,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 67,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"lg:text-base text-lg font-medium text-blue-700\",\n children: product.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 75,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 mb-2 lg:text-sm text-base text-blue-900\",\n children: product.color\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 76,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: product.href,\n className: \"lg:text-xs text-sm font-mono text-blue-700 hover:text-blue-900\",\n children: [\n \"Read Usecase \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n \"aria-hidden\": \"true\",\n children: \"→\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 78,\n columnNumber: 34\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 77,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 74,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 66,\n columnNumber: 15\n }, this)\n }, product.id, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 65,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 60,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx\",\n lineNumber: 47,\n columnNumber: 5\n }, this);\n}\n_c = Product;\nvar _c;\n$RefreshReg$(_c, \"Product\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1Byb2R1Y3QuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ29DO0FBQ3hEO0FBRXVDO0FBQ1o7QUFFbEQsTUFBTVUsV0FBVztJQUNmO1FBQ0VDLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO0lBQ1o7SUFDQTtRQUNFTCxJQUFJO1FBQ0pDLE1BQU07UUFDTkMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFVBQVU7UUFDVkMsVUFBVTtJQUNaO0lBQ0E7UUFDRUwsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLE9BQU87UUFDUEMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7SUFDWjtJQUNBO1FBQ0VMLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO0lBQ1o7Q0FDRDtBQUVNLFNBQVNDO0lBQ2QscUJBQ0UsOERBQUNDO1FBQVFQLElBQUc7UUFBV1EsY0FBVztRQUFXQyxXQUFVOzswQkFDckQsOERBQUNYLDREQUFTQTtnQkFBQ1csV0FBVTswQkFDbkIsNEVBQUNDO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ0U7NEJBQUdGLFdBQVU7c0NBQTBEOzs7Ozs7c0NBQ3hFLDhEQUFDRTs0QkFBR0YsV0FBVTtzQ0FBb0Y7Ozs7OztzQ0FHbEcsOERBQUNHOzRCQUFFSCxXQUFVO3NDQUEwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBTTNFLDhEQUFDQztnQkFBSUQsV0FBVTs7a0NBQ2IsOERBQUNaLHdFQUFlQTt3QkFBQ2dCLFVBQVM7d0JBQVFKLFdBQVU7Ozs7OztrQ0FDNUMsOERBQUNYLDREQUFTQTt3QkFBQ1csV0FBVTtrQ0FDckIsNEVBQUNDOzRCQUFJRCxXQUFVO3NDQUNaVixTQUFTZSxHQUFHLENBQUMsQ0FBQ0Msd0JBQ2IsOERBQUNMOzhDQUNDLDRFQUFDQTt3Q0FBSUQsV0FBVTs7MERBQ2IsOERBQUNDO2dEQUFJRCxXQUFVOzBEQUNiLDRFQUFDTztvREFDQ0MsS0FBS0YsUUFBUVYsUUFBUTtvREFDckJhLEtBQUtILFFBQVFYLFFBQVE7b0RBQ3JCSyxXQUFVOzs7Ozs7Ozs7OzswREFHZCw4REFBQ0M7Z0RBQUlELFdBQVU7O2tFQUNiLDhEQUFDVTt3REFBR1YsV0FBVTtrRUFBa0RNLFFBQVFkLElBQUk7Ozs7OztrRUFDNUUsOERBQUNXO3dEQUFFSCxXQUFVO2tFQUFnRE0sUUFBUWIsS0FBSzs7Ozs7O2tFQUMxRSw4REFBQ2tCO3dEQUFFakIsTUFBTVksUUFBUVosSUFBSTt3REFBRU0sV0FBVTs7NERBQWtFOzBFQUNwRiw4REFBQ1k7Z0VBQUtDLGVBQVk7MEVBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQ0FicENQLFFBQVFmLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCaEM7S0E1Q2dCTSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Qcm9kdWN0LmpzeD80YWM1Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUYWIsIFRhYkdyb3VwLCBUYWJMaXN0LCBUYWJQYW5lbCwgVGFiUGFuZWxzIH0gZnJvbSAnQGhlYWRsZXNzdWkvcmVhY3QnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5pbXBvcnQgeyBCYWNrZ3JvdW5kSW1hZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvQmFja2dyb3VuZEltYWdlJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcblxuY29uc3QgcHJvZHVjdHMgPSBbXG4gIHtcbiAgICBpZDogMSxcbiAgICBuYW1lOiAnRW5oYW5jaW5nIEVkdWNhdGlvbicsXG4gICAgY29sb3I6ICdUcmFuc2Zvcm0gdHJhZGl0aW9uYWwgZWR1Y2F0aW9uIHdpdGggaW1tZXJzaXZlIGRpc3RhbmNlIGxlYXJuaW5nIG9wcG9ydHVuaXRpZXMnLFxuICAgIGhyZWY6ICcjJyxcbiAgICBpbWFnZVNyYzogJy9pbWFnZXMvZWR1Y2F0aW9uLmpwZycsXG4gICAgaW1hZ2VBbHQ6ICdjbGFzc3Jvb20nLFxuICB9LFxuICB7XG4gICAgaWQ6IDIsXG4gICAgbmFtZTogJ0Vudmlyb25tZW50YWwgQXdhcmVuZXNzJyxcbiAgICBjb2xvcjogJ0Fkdm9jYXRlIGZvciBlbnZpcm9ubWVudGFsIGNvbnNlcnZhdGlvbiB0aHJvdWdoIHZpcnR1YWwgZWNvLXRvdXJzICYgaW5pdGlhdGl2ZXMuJyxcbiAgICBocmVmOiAnIycsXG4gICAgaW1hZ2VTcmM6ICcvaW1hZ2VzL2Vudmlyb25tZW50LmpwZycsXG4gICAgaW1hZ2VBbHQ6ICdlbnZpcm9ubWVudCcsXG4gIH0sXG4gIHtcbiAgICBpZDogMyxcbiAgICBuYW1lOiAnU3VwcG9ydGluZyBIZWFsdGhjYXJlJyxcbiAgICBjb2xvcjogJ0lubm92YXRlIGhlYWx0aGNhcmUgZGVsaXZlcnkgYnkgaW50ZWdyYXRpbmcgdmlydHVhbCBjb25zdWx0YXRpb25zICYgdG9vbHMuJyxcbiAgICBocmVmOiAnIycsXG4gICAgaW1hZ2VTcmM6ICcvaW1hZ2VzL2hlYWx0aGNhcmUuanBnJyxcbiAgICBpbWFnZUFsdDogJ2NsaW5pYycsXG4gIH0sXG4gIHtcbiAgICBpZDogNCxcbiAgICBuYW1lOiAnRW1wb3dlcmluZyBBZnJpY2EnLFxuICAgIGNvbG9yOiAnRm9zdGVyIGN1bHR1cmFsIGFuZCBlY29ub21pYyBncm93dGggYWNyb3NzIEFmcmljYSB0aHJvdWdoIHZpcnR1YWwgc29sdXRpb25zLicsXG4gICAgaHJlZjogJyMnLFxuICAgIGltYWdlU3JjOiAnL2ltYWdlcy9hZnJpY2EuanBnJyxcbiAgICBpbWFnZUFsdDogJ2FmcmljYScsXG4gIH0sXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9kdWN0KCkge1xuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGlkPVwic2NoZWR1bGVcIiBhcmlhLWxhYmVsPVwiU2NoZWR1bGVcIiBjbGFzc05hbWU9XCJweS04IGxnOnB5LTI0IG1iLTEyXCI+XG4gICAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotMTBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBsZzpteC0wIGxnOm1heC13LTR4bCBsZzpwci0yNFwiPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LWJhc2UgZm9udC1tZWRpdW0gZm9udC1tb25vIGxlYWRpbmctNyB0ZXh0LWJsdWUtNzAwXCI+VXNlY2FzZXM8L2gyPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJtdC0yIGZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS02MDAgc206dGV4dC01eGxcIj5cbiAgICAgICAgICBUcmFuc2Zvcm1pbmcgUG9zc2liaWxpdGllcyBBY3Jvc3MgSW5kdXN0cmllcyBEaWdpdGFsbHlcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICBFeHBsb3JlIGRpdmVyc2Ugc2NlbmFyaW9zIHdoZXJlIG91ciBwbGF0Zm9ybSBlbXBvd2VycyB1c2VycyB0byBjcmVhdGUsIGNvbGxhYm9yYXRlLCBcbiAgICAgICAgICBhbmQgaW5ub3ZhdGUgaW4gaW1tZXJzaXZlIHZpcnR1YWwgZW52aXJvbm1lbnRzLCB1bmxvY2tpbmcgbmV3IHBvdGVudGlhbHMgYWNyb3NzIGluZHVzdHJpZXMgYW5kIGNvbW11bml0aWVzLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgbGc6bXQtMTQgbXQtMTZcIj5cbiAgICAgICAgPEJhY2tncm91bmRJbWFnZSBwb3NpdGlvbj1cInJpZ2h0XCIgY2xhc3NOYW1lPVwiLWJvdHRvbS0zMiAtdG9wLTQwXCIgLz5cbiAgICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTQgZ3JpZCBncmlkLWNvbHMtMSBnYXAteS0xMiBzbTpncmlkLWNvbHMtMiBzbTpnYXAteC02IGxnOmdyaWQtY29scy00IHhsOmdhcC14LThcIj5cbiAgICAgICAgICB7cHJvZHVjdHMubWFwKChwcm9kdWN0KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17cHJvZHVjdC5pZH0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGgtZnVsbCB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtc21cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgYWx0PXtwcm9kdWN0LmltYWdlQWx0fVxuICAgICAgICAgICAgICAgICAgICBzcmM9e3Byb2R1Y3QuaW1hZ2VTcmN9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtZnVsbCB3LWZ1bGwgb2JqZWN0LWNvdmVyIG9iamVjdC1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIG10LTRcIj5cbiAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJsZzp0ZXh0LWJhc2UgdGV4dC1sZyBmb250LW1lZGl1bSB0ZXh0LWJsdWUtNzAwXCI+e3Byb2R1Y3QubmFtZX08L2gzPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMSBtYi0yIGxnOnRleHQtc20gdGV4dC1iYXNlIHRleHQtYmx1ZS05MDBcIj57cHJvZHVjdC5jb2xvcn08L3A+XG4gICAgICAgICAgICAgICAgICA8YSBocmVmPXtwcm9kdWN0LmhyZWZ9IGNsYXNzTmFtZT1cImxnOnRleHQteHMgdGV4dC1zbSBmb250LW1vbm8gdGV4dC1ibHVlLTcwMCAgaG92ZXI6dGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICBSZWFkIFVzZWNhc2UgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4oaSPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Db250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkJhY2tncm91bmRJbWFnZSIsIkNvbnRhaW5lciIsInByb2R1Y3RzIiwiaWQiLCJuYW1lIiwiY29sb3IiLCJocmVmIiwiaW1hZ2VTcmMiLCJpbWFnZUFsdCIsIlByb2R1Y3QiLCJzZWN0aW9uIiwiYXJpYS1sYWJlbCIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInBvc2l0aW9uIiwibWFwIiwicHJvZHVjdCIsImltZyIsImFsdCIsInNyYyIsImgzIiwiYSIsInNwYW4iLCJhcmlhLWhpZGRlbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Product.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/(main)/page.ca8e7f53136db4f9.hot-update.js b/.next/static/webpack/app/(main)/page.ca8e7f53136db4f9.hot-update.js deleted file mode 100644 index 5214695..0000000 --- a/.next/static/webpack/app/(main)/page.ca8e7f53136db4f9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/(main)/page",{ - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: MatthewSchutteImage\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, Product Owner at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9DO1lBQ1Q7WUFDQTtnQkFDRU4sTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPdkIsMkVBQWtCQTtZQUMzQjtZQUNBO2dCQUNFa0IsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBTzlCLDRFQUFvQkE7WUFDN0I7WUFDQTtnQkFDRXlCLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9qQiwyRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0VZLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9kLHlFQUFnQkE7WUFDekI7WUFDQTtnQkFDRVMsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBTzFCLDZFQUFvQkE7WUFDN0I7U0FDRDtJQUNIO0lBQ0E7UUFDRXFCLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBTy9CLHlFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRTBCLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU94QiwwRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VtQixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPbkIsMEVBQWlCQTtZQUMxQjtZQUNBO2dCQUNFYyxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPekIsNkVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFb0IsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT3JCLDZFQUFvQkE7WUFDN0I7WUFDQTtnQkFDRWdCLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9sQiwyRUFBYUE7WUFDdEI7U0FDRDtJQUNIO0NBQ0Q7QUFFRCxTQUFTb0IsZUFBZSxLQUFnQjtRQUFoQixFQUFFQyxFQUFFLEVBQUUsR0FBR0MsT0FBTyxHQUFoQjtJQUN0QixxQkFDRSw4REFBQ0M7UUFBSUMsZUFBWTtRQUFPQyxPQUFPO1FBQUdDLFFBQVE7UUFBSSxHQUFHSixLQUFLO2tCQUNwRCw0RUFBQ0s7OzhCQUNDLDhEQUFDQztvQkFBU1AsSUFBSSxDQUFDLEVBQUVBLEdBQUcsRUFBRSxDQUFDO29CQUFFUSxlQUFjOzhCQUNyQyw0RUFBQ0M7d0JBQUtDLEdBQUU7Ozs7Ozs7Ozs7OzhCQUVWLDhEQUFDSDtvQkFBU1AsSUFBSSxDQUFDLEVBQUVBLEdBQUcsRUFBRSxDQUFDO29CQUFFUSxlQUFjOzhCQUNyQyw0RUFBQ0M7d0JBQUtDLEdBQUU7Ozs7Ozs7Ozs7OzhCQUVWLDhEQUFDSDtvQkFBU1AsSUFBSSxDQUFDLEVBQUVBLEdBQUcsRUFBRSxDQUFDO29CQUFFUSxlQUFjOzhCQUNyQyw0RUFBQ0M7d0JBQUtDLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLbEI7S0FoQlNYO0FBa0JGLFNBQVNZOztJQUNkLElBQUlYLEtBQUs3Qyw0Q0FBS0E7SUFDZCxJQUFJLENBQUN5RCxnQkFBZ0JDLGtCQUFrQixHQUFHekQsK0NBQVFBLENBQUM7SUFFbkRGLGdEQUFTQSxDQUFDO1FBQ1IsSUFBSTRELGVBQWVDLE9BQU9DLFVBQVUsQ0FBQztRQUVyQyxTQUFTQyxtQkFBbUIsS0FBVztnQkFBWCxFQUFFQyxPQUFPLEVBQUUsR0FBWDtZQUMxQkwsa0JBQWtCSyxVQUFVLGFBQWE7UUFDM0M7UUFFQUQsbUJBQW1CSDtRQUNuQkEsYUFBYUssZ0JBQWdCLENBQUMsVUFBVUY7UUFFeEMsT0FBTztZQUNMSCxhQUFhTSxtQkFBbUIsQ0FBQyxVQUFVSDtRQUM3QztJQUNGLEdBQUcsRUFBRTtJQUVMLHFCQUNFLDhEQUFDSTtRQUNDckIsSUFBRztRQUNIc0IsbUJBQWdCO1FBQ2hCQyxXQUFVOzswQkFFViw4REFBQ3hCO2dCQUFlQyxJQUFJQTs7Ozs7OzBCQUNwQiw4REFBQ3BDLDREQUFTQTs7a0NBQ1IsOERBQUM0RDt3QkFBSUQsV0FBVTs7MENBQ2IsOERBQUNFO2dDQUNDekIsSUFBRztnQ0FDSHVCLFdBQVU7MENBQ1g7Ozs7OzswQ0FHRCw4REFBQ0c7Z0NBQUVILFdBQVU7MENBQTBEOzs7Ozs7Ozs7Ozs7a0NBSXpFLDhEQUFDaEUsc0hBQVFBO3dCQUNQZ0UsV0FBVTt3QkFDVkksVUFBVWYsbUJBQW1COzswQ0FFN0IsOERBQUNZO2dDQUFJRCxXQUFVOztrREFDYiw4REFBQ0M7d0NBQUlELFdBQVU7Ozs7OztrREFDZiw4REFBQy9ELHFIQUFPQTt3Q0FBQytELFdBQVU7a0RBQ2hCO2dEQUFDLEVBQUVLLGFBQWEsRUFBRTtpRUFDakI7MERBQ0dyQyxLQUFLc0MsR0FBRyxDQUFDLENBQUNDLEtBQUtDLHlCQUNkLDhEQUFDUDt3REFBdUJELFdBQVU7OzBFQUNoQyw4REFBQzFELGdFQUFXQTtnRUFDVjBELFdBQVc1RCxnREFBSUEsQ0FDYix1RkFDQW9FLGFBQWFILGdCQUNULGtDQUNBOzs7Ozs7MEVBR1IsOERBQUNKO2dFQUFJRCxXQUFVOztrRkFDYiw4REFBQ0M7d0VBQ0NELFdBQVc1RCxnREFBSUEsQ0FDYixxQkFDQW9FLGFBQWFILGdCQUNULGtCQUNBO2tGQUdOLDRFQUFDdEUsaUhBQUdBOzRFQUFDaUUsV0FBVTs7OEZBQ2IsOERBQUNTO29GQUFLVCxXQUFVOzs7Ozs7Z0ZBQ2ZPLElBQUl0QyxJQUFJOzs7Ozs7Ozs7Ozs7a0ZBR2IsOERBQUN5Qzt3RUFDQ3ZDLFVBQVVvQyxJQUFJcEMsUUFBUTt3RUFDdEI2QixXQUFVO2tGQUVUTyxJQUFJckMsSUFBSTs7Ozs7Ozs7Ozs7Ozt1REEzQkxxQyxJQUFJcEMsUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBDQW9DaEMsOERBQUNoQyx1SEFBU0E7Z0NBQUM2RCxXQUFVOzBDQUNsQmhDLEtBQUtzQyxHQUFHLENBQUMsQ0FBQ0Msb0JBQ1QsOERBQUNyRSxzSEFBUUE7d0NBRVA4RCxXQUFVO3dDQUNWVyxTQUFTO2tEQUVSSixJQUFJbkMsUUFBUSxDQUFDa0MsR0FBRyxDQUFDLENBQUNNLFNBQVNDLDZCQUMxQiw4REFBQ1o7O2tFQUNDLDhEQUFDQTt3REFBSUQsV0FBVTs7MEVBQ2IsOERBQUNDO2dFQUNDRCxXQUFXNUQsZ0RBQUlBLENBQ2IscUhBQ0E7b0VBQ0U7b0VBQ0E7b0VBQ0E7aUVBQ0QsQ0FBQ3lFLGVBQWUsRUFBRTs7Ozs7OzBFQUd2Qiw4REFBQ1o7Z0VBQ0NELFdBQVU7Z0VBQ1ZjLE9BQU87b0VBQUU5QixVQUFVLENBQUMsS0FBSyxFQUFFUCxHQUFHLENBQUMsRUFBRW9DLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDL0Usa0RBQUtBO29FQUNKa0UsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXRDLEtBQUs7b0VBQ2xCMEMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTNDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2tDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdkMsSUFBSTs7Ozs7OzsrQ0E3QlB3Qzs7Ozs7dUNBTFBOLElBQUlwQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JpQjs7UUFDTHhELHdDQUFLQTs7O01BREF3RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IE1hdHRoZXdTY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFByb2R1Y3QgT3duZXIgYXQgT3VyVmVyc2UnLFxuICAgICAgICBpbWFnZTogc2FzaGFhc3RpYWRpSW1hZ2VcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdWaWN0b3IgTXVoYWdhY2hpJyxcbiAgICAgICAgcm9sZTogJ0NvLWZvdW5kZXIgYXQgRHVuaWEgWWV0dScsXG4gICAgICAgIGltYWdlOiB2aWN0b3JtdWhhZ2FjaGlJbWFnZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdTcGVha2VycyAmIFdvcmtzaG9wcycsXG4gICAgZGF0ZTogJ09jdCAyNScsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA1JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICByb2xlOiAnU2VuaW9yIEVuZ2luZWVyIGF0IE9DUCcsXG4gICAgICAgIGltYWdlOiBkYW1hcmlzS2ltdXJhSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSWJyYWhpbSBGcmFzY2gnLFxuICAgICAgICByb2xlOiAnUHJvZ3JhbW1lciBhdCBVbWJyZWxsYSBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGlicmFoaW1GcmFzY2hJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgcm9sZTogJ0Zyb250ZW5kIERldmVsb3BlciBhdCBCdXkgbiBMYXJnZScsXG4gICAgICAgIGltYWdlOiBjYXRobGVuZUJ1cnJhZ2VJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaW5hbGRvIEJleW5vbicsXG4gICAgICAgIHJvbGU6ICdEYXRhIFNjaWVudGlzdCBhdCBSZWthbGwnLFxuICAgICAgICBpbWFnZTogcmluYWxkb0JleW5vbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1dheWxvbiBIeWRlbicsXG4gICAgICAgIHJvbGU6ICdEZXZPcHMgYXQgUkRBIENvcnBvcmF0aW9uJyxcbiAgICAgICAgaW1hZ2U6IHdheWxvbkh5ZGVuSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR2lvcmRhbm8gU2FndWNpbycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBTb3lsZW50IENvcnAnLFxuICAgICAgICBpbWFnZTogZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnSW50ZXJ2aWV3cycsXG4gICAgZGF0ZTogJ09jdCAyNicsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA2JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnQW5kcmV3IEdyZWVuZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgVWx0cmF0ZWNoJyxcbiAgICAgICAgaW1hZ2U6IGFuZHJld0dyZWVuZUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0hlYXRoZXIgVGVycnknLFxuICAgICAgICByb2xlOiAnQmFja2VuZCBEZXZlbG9wZXIgYXQgWGFuYXRvcyBFbnRlcnByaXNlcycsXG4gICAgICAgIGltYWdlOiBoZWF0aGVyVGVycnlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgcm9sZTogJ0Z1bGwgc3RhY2sgRGV2ZWxvcGVyIGF0IEJpZmZDbycsXG4gICAgICAgIGltYWdlOiBwaWVyc1dpbGtpbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgcm9sZTogJ01vYmlsZSBEZXZlbG9wZXIgYXQgQ29icmEgSW5kdXN0cmllcycsXG4gICAgICAgIGltYWdlOiBnb3Jkb25TYW5kZXJzb25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdLaW1iZXJseSBQYXJzb25zJyxcbiAgICAgICAgcm9sZTogJ0dhbWUgRGV2ZWxvcGVyIGF0IFR5cmVsbCBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiBraW1iZXJseVBhcnNvbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaWNoYXJkIEFzdGxleScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgUm9sbCBPdXQnLFxuICAgICAgICBpbWFnZTogcmljaGFyZEFzdGxleSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl1cblxuZnVuY3Rpb24gSW1hZ2VDbGlwUGF0aHMoeyBpZCwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgd2lkdGg9ezB9IGhlaWdodD17MH0gey4uLnByb3BzfT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0wYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0wLDAgaDAuNzI5IHYwLjEyOSBoMC4xMjEgbC0wLjAxNiwwLjAzMiBDMC44MTUsMC4xOTgsMC44NDMsMC4yNDMsMC44ODUsMC4yNDMgSDEgdjAuNzU3IEgwLjI3MSB2LTAuMDg2IGwtMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsLTAuMDI2LC0wLjA1NywtMC4wNTcsLTAuMDU3IEgwIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMWB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwxIEgwLjI3MSB2LTAuMTI5IEgwLjE1IGwwLjAxNiwtMC4wMzIgQzAuMTg1LDAuODAyLDAuMTU3LDAuNzU3LDAuMTE1LDAuNzU3IEgwIFYwIGgwLjcyOSB2MC4wODYgbDAuMTIxLC0wLjA1NyB2MC4yMTQgYzAsMC4wMzIsMC4wMjYsMC4wNTcsMC4wNTcsMC4wNTcgaDAuMDkzIHYwLjdcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0yYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0xLDAgSDAuMjcxIHYwLjEyOSBIMC4xNSBsMC4wMTYsMC4wMzIgQzAuMTg1LDAuMTk4LDAuMTU3LDAuMjQzLDAuMTE1LDAuMjQzIEgwIHYwLjc1NyBoMC43Mjkgdi0wLjA4NiBsMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsMC4wMjYsLTAuMDU3LDAuMDU3LC0wLjA1NyBoMC4wOTMgVjBcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTcGVha2VycygpIHtcbiAgbGV0IGlkID0gdXNlSWQoKVxuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgbGdNZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDEwMjRweCknKVxuXG4gICAgZnVuY3Rpb24gb25NZWRpYVF1ZXJ5Q2hhbmdlKHsgbWF0Y2hlcyB9KSB7XG4gICAgICBzZXRUYWJPcmllbnRhdGlvbihtYXRjaGVzID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJylcbiAgICB9XG5cbiAgICBvbk1lZGlhUXVlcnlDaGFuZ2UobGdNZWRpYVF1ZXJ5KVxuICAgIGxnTWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGdNZWRpYVF1ZXJ5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb25cbiAgICAgIGlkPVwic3BlYWtlcnNcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgY2xhc3NOYW1lPVwicHktMjAgbGc6cHktMTJcIlxuICAgID5cbiAgICAgIDxJbWFnZUNsaXBQYXRocyBpZD17aWR9IC8+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTBcIj5cbiAgICAgICAgICA8aDJcbiAgICAgICAgICAgIGlkPVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTcwMCBzbTp0ZXh0LTV4bFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgU3BlYWtlcnNcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICBHZXQgcmVhZHkgdG8gYmUgaW5zcGlyZWQgYnkgc29tZSBvZiB0aGUgaW5kdXN0cnkgbGVhZGVycyBhbmQgaW5ub3ZhdG9ycyB3aG8gYXJlIHNoYXBpbmcgdGhlIGZ1dHVyZSBvZiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIG1vcmUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFRhYkdyb3VwXG4gICAgICAgICAgY2xhc3NOYW1lPVwibXQtMTQgZ3JpZCBncmlkLWNvbHMtMSBpdGVtcy1zdGFydCBnYXAteC04IGdhcC15LTggc206bXQtMTYgc206Z2FwLXktMTYgbGc6bXQtMjQgbGc6Z3JpZC1jb2xzLTRcIlxuICAgICAgICAgIHZlcnRpY2FsPXt0YWJPcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgLW14LTQgZmxleCBvdmVyZmxvdy14LWF1dG8gcGItNCBzbTpteC0wIHNtOmJsb2NrIHNtOm92ZXJmbG93LXZpc2libGUgc206cGItMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAuNSB0b3AtMiBoaWRkZW4gdy1weCBiZy1zbGF0ZS0yMDAgbGc6YmxvY2tcIiAvPlxuICAgICAgICAgICAgPFRhYkxpc3QgY2xhc3NOYW1lPVwiZ3JpZCBhdXRvLWNvbHMtYXV0byBncmlkLWZsb3ctY29sIGp1c3RpZnktc3RhcnQgZ2FwLXgtOCBnYXAteS0xMCB3aGl0ZXNwYWNlLW5vd3JhcCBweC00IHNtOm14LWF1dG8gc206bWF4LXctMnhsIHNtOmdyaWQtY29scy0zIHNtOnB4LTAgc206dGV4dC1jZW50ZXIgbGc6Z3JpZC1mbG93LXJvdyBsZzpncmlkLWNvbHMtMSBsZzp0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7ZGF5cy5tYXAoKGRheSwgZGF5SW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2RheS5kYXRlVGltZX0gY2xhc3NOYW1lPVwicmVsYXRpdmUgbGc6cGwtOFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaWFtb25kSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgbGVmdC1bLTAuNXB4XSB0b3AtWzAuNTYyNXJlbV0gaGlkZGVuIGgtMS41IHctMS41IG92ZXJmbG93LXZpc2libGUgbGc6YmxvY2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2ZpbGwtYmx1ZS01MDAgc3Ryb2tlLWJsdWUtNTAwJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpbGwtdHJhbnNwYXJlbnQgc3Ryb2tlLXNsYXRlLTQwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtbW9ubyB0ZXh0LXNtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAndGV4dC1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtc2xhdGUtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYiBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF5Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVGltZT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0xLjUgYmxvY2sgdGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5kYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aW1lPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9UYWJMaXN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxUYWJQYW5lbHMgY2xhc3NOYW1lPVwibGc6Y29sLXNwYW4tM1wiPlxuICAgICAgICAgICAge2RheXMubWFwKChkYXkpID0+IChcbiAgICAgICAgICAgICAgPFRhYlBhbmVsXG4gICAgICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAteC04IGdhcC15LTEwIHVpLW5vdC1mb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBzbTpncmlkLWNvbHMtMiBzbTpnYXAteS0xNiBtZDpncmlkLWNvbHMtM1wiXG4gICAgICAgICAgICAgICAgdW5tb3VudD17ZmFsc2V9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGF5LnNwZWFrZXJzLm1hcCgoc3BlYWtlciwgc3BlYWtlckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGtleT17c3BlYWtlckluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBoLVsxNy41cmVtXSB0cmFuc2Zvcm0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtNHhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgYm90dG9tLTYgbGVmdC0wIHJpZ2h0LTQgdG9wLTAgcm91bmRlZC00eGwgYm9yZGVyIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTk1IHhsOnJpZ2h0LTYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ibHVlLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1pbmRpZ28tMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXNreS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdW3NwZWFrZXJJbmRleCAlIDNdLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctaW5kaWdvLTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNsaXBQYXRoOiBgdXJsKCMke2lkfS0ke3NwZWFrZXJJbmRleCAlIDN9KWAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS0xMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9e3NwZWFrZXIuaW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPVwiKG1pbi13aWR0aDogMTI4MHB4KSAxNy41cmVtLCAobWluLXdpZHRoOiAxMDI0cHgpIDI1dncsIChtaW4td2lkdGg6IDc2OHB4KSAzM3Z3LCAobWluLXdpZHRoOiA2NDBweCkgNTB2dywgMTAwdndcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJtdC04IGZvbnQtZGlzcGxheSB0ZXh0LXhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTEgdGV4dC1iYXNlIHRyYWNraW5nLXRpZ2h0IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3NwZWFrZXIucm9sZX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvVGFiUGFuZWw+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1RhYlBhbmVscz5cbiAgICAgICAgPC9UYWJHcm91cD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZUlkIiwidXNlU3RhdGUiLCJJbWFnZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkNvbnRhaW5lciIsIkRpYW1vbmRJY29uIiwiYW5kcmV3R3JlZW5lSW1hZ2UiLCJjYXRobGVuZUJ1cnJhZ2VJbWFnZSIsImRhbWFyaXNLaW11cmFJbWFnZSIsImRpYW5uZUd1aWxpYW5lbGxpSW1hZ2UiLCJlcmhhcnRDb2NrcmluSW1hZ2UiLCJnaW9yZGFub1NhZ3VjaW9JbWFnZSIsImdvcmRvblNhbmRlcnNvbkltYWdlIiwiaGVhdGhlclRlcnJ5SW1hZ2UiLCJpYnJhaGltRnJhc2NoSW1hZ2UiLCJqYXF1ZWxpbklzY2hJbWFnZSIsImtpbWJlcmx5UGFyc29uc0ltYWdlIiwicGFya2VySm9obnNvbkltYWdlIiwicGllcnNXaWxraW5zSW1hZ2UiLCJyaWNoYXJkQXN0bGV5IiwicmluYWxkb0JleW5vbkltYWdlIiwicm9ubmlDYW50YWRvcmVJbWFnZSIsInN0ZXZlbk1jaGFpbEltYWdlIiwid2F5bG9uSHlkZW5JbWFnZSIsImtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSIsImFkbmFuZmF0YXllcmppSW1hZ2UiLCJmbG9yaWFuZm91cm5pZXJJbWFnZSIsIm1hdHRoZXdzY2h1dHRlSW1hZ2UiLCJvbXJlaWFidW1hZGlJbWFnZSIsInZpY3Rvcm11aGFnYWNoaUltYWdlIiwic2FzaGFhc3RpYWRpSW1hZ2UiLCJkYXlzIiwibmFtZSIsImRhdGUiLCJkYXRlVGltZSIsInNwZWFrZXJzIiwicm9sZSIsImltYWdlIiwiTWF0dGhld1NjaHV0dGVJbWFnZSIsIkltYWdlQ2xpcFBhdGhzIiwiaWQiLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwid2lkdGgiLCJoZWlnaHQiLCJkZWZzIiwiY2xpcFBhdGgiLCJjbGlwUGF0aFVuaXRzIiwicGF0aCIsImQiLCJTcGVha2VycyIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJsZ01lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VjdGlvbiIsImFyaWEtbGFiZWxsZWRieSIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInZlcnRpY2FsIiwic2VsZWN0ZWRJbmRleCIsIm1hcCIsImRheSIsImRheUluZGV4Iiwic3BhbiIsInRpbWUiLCJ1bm1vdW50Iiwic3BlYWtlciIsInNwZWFrZXJJbmRleCIsInN0eWxlIiwic3JjIiwiYWx0IiwicHJpb3JpdHkiLCJzaXplcyIsImgzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/events/versefest/page.00d6a2162f81ace9.hot-update.js b/.next/static/webpack/app/events/versefest/page.00d6a2162f81ace9.hot-update.js deleted file mode 100644 index d80d959..0000000 --- a/.next/static/webpack/app/events/versefest/page.00d6a2162f81ace9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/events/versefest/page",{ - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, Product Owner at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9aLDRFQUFtQkE7WUFDNUI7WUFDQTtnQkFDRU8sTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFP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QUMsRUFBRW9DLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDOUUsa0RBQUtBO29FQUNKaUUsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXJDLEtBQUs7b0VBQ2xCeUMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTFDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2lDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdEMsSUFBSTs7Ozs7OzsrQ0E3QlB1Qzs7Ozs7dUNBTFBOLElBQUluQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JnQjs7UUFDTHZELHdDQUFLQTs7O01BREF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IGFkbmFuZmF0YXllcmppSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFByb2R1Y3QgT3duZXIgYXQgT3VyVmVyc2UnLFxuICAgICAgICBpbWFnZTogc2FzaGFhc3RpYWRpSW1hZ2VcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdWaWN0b3IgTXVoYWdhY2hpJyxcbiAgICAgICAgcm9sZTogJ0NvLWZvdW5kZXIgYXQgRHVuaWEgWWV0dScsXG4gICAgICAgIGltYWdlOiB2aWN0b3JtdWhhZ2FjaGlJbWFnZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdTcGVha2VycyAmIFdvcmtzaG9wcycsXG4gICAgZGF0ZTogJ09jdCAyNScsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA1JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICByb2xlOiAnU2VuaW9yIEVuZ2luZWVyIGF0IE9DUCcsXG4gICAgICAgIGltYWdlOiBkYW1hcmlzS2ltdXJhSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSWJyYWhpbSBGcmFzY2gnLFxuICAgICAgICByb2xlOiAnUHJvZ3JhbW1lciBhdCBVbWJyZWxsYSBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGlicmFoaW1GcmFzY2hJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgcm9sZTogJ0Zyb250ZW5kIERldmVsb3BlciBhdCBCdXkgbiBMYXJnZScsXG4gICAgICAgIGltYWdlOiBjYXRobGVuZUJ1cnJhZ2VJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaW5hbGRvIEJleW5vbicsXG4gICAgICAgIHJvbGU6ICdEYXRhIFNjaWVudGlzdCBhdCBSZWthbGwnLFxuICAgICAgICBpbWFnZTogcmluYWxkb0JleW5vbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1dheWxvbiBIeWRlbicsXG4gICAgICAgIHJvbGU6ICdEZXZPcHMgYXQgUkRBIENvcnBvcmF0aW9uJyxcbiAgICAgICAgaW1hZ2U6IHdheWxvbkh5ZGVuSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR2lvcmRhbm8gU2FndWNpbycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBTb3lsZW50IENvcnAnLFxuICAgICAgICBpbWFnZTogZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnSW50ZXJ2aWV3cycsXG4gICAgZGF0ZTogJ09jdCAyNicsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA2JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnQW5kcmV3IEdyZWVuZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgVWx0cmF0ZWNoJyxcbiAgICAgICAgaW1hZ2U6IGFuZHJld0dyZWVuZUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0hlYXRoZXIgVGVycnknLFxuICAgICAgICByb2xlOiAnQmFja2VuZCBEZXZlbG9wZXIgYXQgWGFuYXRvcyBFbnRlcnByaXNlcycsXG4gICAgICAgIGltYWdlOiBoZWF0aGVyVGVycnlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgcm9sZTogJ0Z1bGwgc3RhY2sgRGV2ZWxvcGVyIGF0IEJpZmZDbycsXG4gICAgICAgIGltYWdlOiBwaWVyc1dpbGtpbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgcm9sZTogJ01vYmlsZSBEZXZlbG9wZXIgYXQgQ29icmEgSW5kdXN0cmllcycsXG4gICAgICAgIGltYWdlOiBnb3Jkb25TYW5kZXJzb25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdLaW1iZXJseSBQYXJzb25zJyxcbiAgICAgICAgcm9sZTogJ0dhbWUgRGV2ZWxvcGVyIGF0IFR5cmVsbCBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiBraW1iZXJseVBhcnNvbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaWNoYXJkIEFzdGxleScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgUm9sbCBPdXQnLFxuICAgICAgICBpbWFnZTogcmljaGFyZEFzdGxleSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl1cblxuZnVuY3Rpb24gSW1hZ2VDbGlwUGF0aHMoeyBpZCwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgd2lkdGg9ezB9IGhlaWdodD17MH0gey4uLnByb3BzfT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0wYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0wLDAgaDAuNzI5IHYwLjEyOSBoMC4xMjEgbC0wLjAxNiwwLjAzMiBDMC44MTUsMC4xOTgsMC44NDMsMC4yNDMsMC44ODUsMC4yNDMgSDEgdjAuNzU3IEgwLjI3MSB2LTAuMDg2IGwtMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsLTAuMDI2LC0wLjA1NywtMC4wNTcsLTAuMDU3IEgwIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMWB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwxIEgwLjI3MSB2LTAuMTI5IEgwLjE1IGwwLjAxNiwtMC4wMzIgQzAuMTg1LDAuODAyLDAuMTU3LDAuNzU3LDAuMTE1LDAuNzU3IEgwIFYwIGgwLjcyOSB2MC4wODYgbDAuMTIxLC0wLjA1NyB2MC4yMTQgYzAsMC4wMzIsMC4wMjYsMC4wNTcsMC4wNTcsMC4wNTcgaDAuMDkzIHYwLjdcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0yYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0xLDAgSDAuMjcxIHYwLjEyOSBIMC4xNSBsMC4wMTYsMC4wMzIgQzAuMTg1LDAuMTk4LDAuMTU3LDAuMjQzLDAuMTE1LDAuMjQzIEgwIHYwLjc1NyBoMC43Mjkgdi0wLjA4NiBsMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsMC4wMjYsLTAuMDU3LDAuMDU3LC0wLjA1NyBoMC4wOTMgVjBcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTcGVha2VycygpIHtcbiAgbGV0IGlkID0gdXNlSWQoKVxuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgbGdNZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDEwMjRweCknKVxuXG4gICAgZnVuY3Rpb24gb25NZWRpYVF1ZXJ5Q2hhbmdlKHsgbWF0Y2hlcyB9KSB7XG4gICAgICBzZXRUYWJPcmllbnRhdGlvbihtYXRjaGVzID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJylcbiAgICB9XG5cbiAgICBvbk1lZGlhUXVlcnlDaGFuZ2UobGdNZWRpYVF1ZXJ5KVxuICAgIGxnTWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGdNZWRpYVF1ZXJ5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb25cbiAgICAgIGlkPVwic3BlYWtlcnNcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgY2xhc3NOYW1lPVwicHktMjAgbGc6cHktMTJcIlxuICAgID5cbiAgICAgIDxJbWFnZUNsaXBQYXRocyBpZD17aWR9IC8+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTBcIj5cbiAgICAgICAgICA8aDJcbiAgICAgICAgICAgIGlkPVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTcwMCBzbTp0ZXh0LTV4bFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgU3BlYWtlcnNcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICBHZXQgcmVhZHkgdG8gYmUgaW5zcGlyZWQgYnkgc29tZSBvZiB0aGUgaW5kdXN0cnkgbGVhZGVycyBhbmQgaW5ub3ZhdG9ycyB3aG8gYXJlIHNoYXBpbmcgdGhlIGZ1dHVyZSBvZiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIG1vcmUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFRhYkdyb3VwXG4gICAgICAgICAgY2xhc3NOYW1lPVwibXQtMTQgZ3JpZCBncmlkLWNvbHMtMSBpdGVtcy1zdGFydCBnYXAteC04IGdhcC15LTggc206bXQtMTYgc206Z2FwLXktMTYgbGc6bXQtMjQgbGc6Z3JpZC1jb2xzLTRcIlxuICAgICAgICAgIHZlcnRpY2FsPXt0YWJPcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgLW14LTQgZmxleCBvdmVyZmxvdy14LWF1dG8gcGItNCBzbTpteC0wIHNtOmJsb2NrIHNtOm92ZXJmbG93LXZpc2libGUgc206cGItMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAuNSB0b3AtMiBoaWRkZW4gdy1weCBiZy1zbGF0ZS0yMDAgbGc6YmxvY2tcIiAvPlxuICAgICAgICAgICAgPFRhYkxpc3QgY2xhc3NOYW1lPVwiZ3JpZCBhdXRvLWNvbHMtYXV0byBncmlkLWZsb3ctY29sIGp1c3RpZnktc3RhcnQgZ2FwLXgtOCBnYXAteS0xMCB3aGl0ZXNwYWNlLW5vd3JhcCBweC00IHNtOm14LWF1dG8gc206bWF4LXctMnhsIHNtOmdyaWQtY29scy0zIHNtOnB4LTAgc206dGV4dC1jZW50ZXIgbGc6Z3JpZC1mbG93LXJvdyBsZzpncmlkLWNvbHMtMSBsZzp0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7ZGF5cy5tYXAoKGRheSwgZGF5SW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2RheS5kYXRlVGltZX0gY2xhc3NOYW1lPVwicmVsYXRpdmUgbGc6cGwtOFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaWFtb25kSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgbGVmdC1bLTAuNXB4XSB0b3AtWzAuNTYyNXJlbV0gaGlkZGVuIGgtMS41IHctMS41IG92ZXJmbG93LXZpc2libGUgbGc6YmxvY2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2ZpbGwtYmx1ZS01MDAgc3Ryb2tlLWJsdWUtNTAwJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpbGwtdHJhbnNwYXJlbnQgc3Ryb2tlLXNsYXRlLTQwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtbW9ubyB0ZXh0LXNtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAndGV4dC1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtc2xhdGUtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYiBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF5Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVGltZT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0xLjUgYmxvY2sgdGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5kYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aW1lPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9UYWJMaXN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxUYWJQYW5lbHMgY2xhc3NOYW1lPVwibGc6Y29sLXNwYW4tM1wiPlxuICAgICAgICAgICAge2RheXMubWFwKChkYXkpID0+IChcbiAgICAgICAgICAgICAgPFRhYlBhbmVsXG4gICAgICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAteC04IGdhcC15LTEwIHVpLW5vdC1mb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBzbTpncmlkLWNvbHMtMiBzbTpnYXAteS0xNiBtZDpncmlkLWNvbHMtM1wiXG4gICAgICAgICAgICAgICAgdW5tb3VudD17ZmFsc2V9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGF5LnNwZWFrZXJzLm1hcCgoc3BlYWtlciwgc3BlYWtlckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGtleT17c3BlYWtlckluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBoLVsxNy41cmVtXSB0cmFuc2Zvcm0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtNHhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgYm90dG9tLTYgbGVmdC0wIHJpZ2h0LTQgdG9wLTAgcm91bmRlZC00eGwgYm9yZGVyIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTk1IHhsOnJpZ2h0LTYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ibHVlLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1pbmRpZ28tMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXNreS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdW3NwZWFrZXJJbmRleCAlIDNdLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctaW5kaWdvLTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNsaXBQYXRoOiBgdXJsKCMke2lkfS0ke3NwZWFrZXJJbmRleCAlIDN9KWAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS0xMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9e3NwZWFrZXIuaW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPVwiKG1pbi13aWR0aDogMTI4MHB4KSAxNy41cmVtLCAobWluLXdpZHRoOiAxMDI0cHgpIDI1dncsIChtaW4td2lkdGg6IDc2OHB4KSAzM3Z3LCAobWluLXdpZHRoOiA2NDBweCkgNTB2dywgMTAwdndcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJtdC04IGZvbnQtZGlzcGxheSB0ZXh0LXhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTEgdGV4dC1iYXNlIHRyYWNraW5nLXRpZ2h0IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3NwZWFrZXIucm9sZX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvVGFiUGFuZWw+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1RhYlBhbmVscz5cbiAgICAgICAgPC9UYWJHcm91cD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZUlkIiwidXNlU3RhdGUiLCJJbWFnZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkNvbnRhaW5lciIsIkRpYW1vbmRJY29uIiwiYW5kcmV3R3JlZW5lSW1hZ2UiLCJjYXRobGVuZUJ1cnJhZ2VJbWFnZSIsImRhbWFyaXNLaW11cmFJbWFnZSIsImRpYW5uZUd1aWxpYW5lbGxpSW1hZ2UiLCJlcmhhcnRDb2NrcmluSW1hZ2UiLCJnaW9yZGFub1NhZ3VjaW9JbWFnZSIsImdvcmRvblNhbmRlcnNvbkltYWdlIiwiaGVhdGhlclRlcnJ5SW1hZ2UiLCJpYnJhaGltRnJhc2NoSW1hZ2UiLCJqYXF1ZWxpbklzY2hJbWFnZSIsImtpbWJlcmx5UGFyc29uc0ltYWdlIiwicGFya2VySm9obnNvbkltYWdlIiwicGllcnNXaWxraW5zSW1hZ2UiLCJyaWNoYXJkQXN0bGV5IiwicmluYWxkb0JleW5vbkltYWdlIiwicm9ubmlDYW50YWRvcmVJbWFnZSIsInN0ZXZlbk1jaGFpbEltYWdlIiwid2F5bG9uSHlkZW5JbWFnZSIsImtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSIsImFkbmFuZmF0YXllcmppSW1hZ2UiLCJmbG9yaWFuZm91cm5pZXJJbWFnZSIsIm1hdHRoZXdzY2h1dHRlSW1hZ2UiLCJvbXJlaWFidW1hZGlJbWFnZSIsInZpY3Rvcm11aGFnYWNoaUltYWdlIiwic2FzaGFhc3RpYWRpSW1hZ2UiLCJkYXlzIiwibmFtZSIsImRhdGUiLCJkYXRlVGltZSIsInNwZWFrZXJzIiwicm9sZSIsImltYWdlIiwiSW1hZ2VDbGlwUGF0aHMiLCJpZCIsInByb3BzIiwic3ZnIiwiYXJpYS1oaWRkZW4iLCJ3aWR0aCIsImhlaWdodCIsImRlZnMiLCJjbGlwUGF0aCIsImNsaXBQYXRoVW5pdHMiLCJwYXRoIiwiZCIsIlNwZWFrZXJzIiwidGFiT3JpZW50YXRpb24iLCJzZXRUYWJPcmllbnRhdGlvbiIsImxnTWVkaWFRdWVyeSIsIndpbmRvdyIsIm1hdGNoTWVkaWEiLCJvbk1lZGlhUXVlcnlDaGFuZ2UiLCJtYXRjaGVzIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzZWN0aW9uIiwiYXJpYS1sYWJlbGxlZGJ5IiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJwIiwidmVydGljYWwiLCJzZWxlY3RlZEluZGV4IiwibWFwIiwiZGF5IiwiZGF5SW5kZXgiLCJzcGFuIiwidGltZSIsInVubW91bnQiLCJzcGVha2VyIiwic3BlYWtlckluZGV4Iiwic3R5bGUiLCJzcmMiLCJhbHQiLCJwcmlvcml0eSIsInNpemVzIiwiaDMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/events/versefest/page.13f8832333be1c5c.hot-update.js b/.next/static/webpack/app/events/versefest/page.13f8832333be1c5c.hot-update.js deleted file mode 100644 index 5d80357..0000000 --- a/.next/static/webpack/app/events/versefest/page.13f8832333be1c5c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/events/versefest/page",{ - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, PO at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9WLDZFQUFtQkE7WUFDNUI7WUFDQTtnQkFDRUssTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFP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QUMsRUFBRW9DLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDOUUsa0RBQUtBO29FQUNKaUUsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXJDLEtBQUs7b0VBQ2xCeUMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTFDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2lDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdEMsSUFBSTs7Ozs7OzsrQ0E3QlB1Qzs7Ozs7dUNBTFBOLElBQUluQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JnQjs7UUFDTHZELHdDQUFLQTs7O01BREF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IG1hdHRoZXdzY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFBPIGF0IE91clZlcnNlJyxcbiAgICAgICAgaW1hZ2U6IHNhc2hhYXN0aWFkaUltYWdlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnVmljdG9yIE11aGFnYWNoaScsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IER1bmlhIFlldHUnLFxuICAgICAgICBpbWFnZTogdmljdG9ybXVoYWdhY2hpSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnU3BlYWtlcnMgJiBXb3Jrc2hvcHMnLFxuICAgIGRhdGU6ICdPY3QgMjUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0RhbWFyaXMgS2ltdXJhJyxcbiAgICAgICAgcm9sZTogJ1NlbmlvciBFbmdpbmVlciBhdCBPQ1AnLFxuICAgICAgICBpbWFnZTogZGFtYXJpc0tpbXVyYUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgcm9sZTogJ1Byb2dyYW1tZXIgYXQgVW1icmVsbGEgQ29ycCcsXG4gICAgICAgIGltYWdlOiBpYnJhaGltRnJhc2NoSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnQ2F0aGxlbmUgQnVycmFnZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgQnV5IG4gTGFyZ2UnLFxuICAgICAgICBpbWFnZTogY2F0aGxlbmVCdXJyYWdlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmluYWxkbyBCZXlub24nLFxuICAgICAgICByb2xlOiAnRGF0YSBTY2llbnRpc3QgYXQgUmVrYWxsJyxcbiAgICAgICAgaW1hZ2U6IHJpbmFsZG9CZXlub25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICByb2xlOiAnRGV2T3BzIGF0IFJEQSBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiB3YXlsb25IeWRlbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICByb2xlOiAnR2FtZSBEZXZlbG9wZXIgYXQgU295bGVudCBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGdpb3JkYW5vU2FndWNpb0ltYWdlLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0ludGVydmlld3MnLFxuICAgIGRhdGU6ICdPY3QgMjYnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNicsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0FuZHJldyBHcmVlbmUnLFxuICAgICAgICByb2xlOiAnRnJvbnRlbmQgRGV2ZWxvcGVyIGF0IFVsdHJhdGVjaCcsXG4gICAgICAgIGltYWdlOiBhbmRyZXdHcmVlbmVJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdIZWF0aGVyIFRlcnJ5JyxcbiAgICAgICAgcm9sZTogJ0JhY2tlbmQgRGV2ZWxvcGVyIGF0IFhhbmF0b3MgRW50ZXJwcmlzZXMnLFxuICAgICAgICBpbWFnZTogaGVhdGhlclRlcnJ5SW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUGllcnMgV2lsa2lucycsXG4gICAgICAgIHJvbGU6ICdGdWxsIHN0YWNrIERldmVsb3BlciBhdCBCaWZmQ28nLFxuICAgICAgICBpbWFnZTogcGllcnNXaWxraW5zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR29yZG9uIFNhbmRlcnNvbicsXG4gICAgICAgIHJvbGU6ICdNb2JpbGUgRGV2ZWxvcGVyIGF0IENvYnJhIEluZHVzdHJpZXMnLFxuICAgICAgICBpbWFnZTogZ29yZG9uU2FuZGVyc29uSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnS2ltYmVybHkgUGFyc29ucycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBUeXJlbGwgQ29ycG9yYXRpb24nLFxuICAgICAgICBpbWFnZToga2ltYmVybHlQYXJzb25zSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IFJvbGwgT3V0JyxcbiAgICAgICAgaW1hZ2U6IHJpY2hhcmRBc3RsZXksXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIEltYWdlQ2xpcFBhdGhzKHsgaWQsIC4uLnByb3BzIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHdpZHRoPXswfSBoZWlnaHQ9ezB9IHsuLi5wcm9wc30+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMGB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMCwwIGgwLjcyOSB2MC4xMjkgaDAuMTIxIGwtMC4wMTYsMC4wMzIgQzAuODE1LDAuMTk4LDAuODQzLDAuMjQzLDAuODg1LDAuMjQzIEgxIHYwLjc1NyBIMC4yNzEgdi0wLjA4NiBsLTAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLC0wLjAyNiwtMC4wNTcsLTAuMDU3LC0wLjA1NyBIMCBWMFwiIC8+XG4gICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgIDxjbGlwUGF0aCBpZD17YCR7aWR9LTFgfSBjbGlwUGF0aFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTEsMSBIMC4yNzEgdi0wLjEyOSBIMC4xNSBsMC4wMTYsLTAuMDMyIEMwLjE4NSwwLjgwMiwwLjE1NywwLjc1NywwLjExNSwwLjc1NyBIMCBWMCBoMC43MjkgdjAuMDg2IGwwLjEyMSwtMC4wNTcgdjAuMjE0IGMwLDAuMDMyLDAuMDI2LDAuMDU3LDAuMDU3LDAuMDU3IGgwLjA5MyB2MC43XCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMmB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwwIEgwLjI3MSB2MC4xMjkgSDAuMTUgbDAuMDE2LDAuMDMyIEMwLjE4NSwwLjE5OCwwLjE1NywwLjI0MywwLjExNSwwLjI0MyBIMCB2MC43NTcgaDAuNzI5IHYtMC4wODYgbDAuMTIxLDAuMDU3IHYtMC4yMTQgYzAsLTAuMDMyLDAuMDI2LC0wLjA1NywwLjA1NywtMC4wNTcgaDAuMDkzIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3BlYWtlcnMoKSB7XG4gIGxldCBpZCA9IHVzZUlkKClcbiAgbGV0IFt0YWJPcmllbnRhdGlvbiwgc2V0VGFiT3JpZW50YXRpb25dID0gdXNlU3RhdGUoJ2hvcml6b250YWwnKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGxnTWVkaWFRdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcobWluLXdpZHRoOiAxMDI0cHgpJylcblxuICAgIGZ1bmN0aW9uIG9uTWVkaWFRdWVyeUNoYW5nZSh7IG1hdGNoZXMgfSkge1xuICAgICAgc2V0VGFiT3JpZW50YXRpb24obWF0Y2hlcyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcpXG4gICAgfVxuXG4gICAgb25NZWRpYVF1ZXJ5Q2hhbmdlKGxnTWVkaWFRdWVyeSlcbiAgICBsZ01lZGlhUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGxnTWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uXG4gICAgICBpZD1cInNwZWFrZXJzXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgIGNsYXNzTmFtZT1cInB5LTIwIGxnOnB5LTEyXCJcbiAgICA+XG4gICAgICA8SW1hZ2VDbGlwUGF0aHMgaWQ9e2lkfSAvPlxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBsZzpteC0wXCI+XG4gICAgICAgICAgPGgyXG4gICAgICAgICAgICBpZD1cInNwZWFrZXJzLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS03MDAgc206dGV4dC01eGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNwZWFrZXJzXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgR2V0IHJlYWR5IHRvIGJlIGluc3BpcmVkIGJ5IHNvbWUgb2YgdGhlIGluZHVzdHJ5IGxlYWRlcnMgYW5kIGlubm92YXRvcnMgd2hvIGFyZSBzaGFwaW5nIHRoZSBmdXR1cmUgb2YgdGhlIG1ldGF2ZXJzZSwgV2ViMywgQUksIGFuZCBtb3JlLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxUYWJHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTE0IGdyaWQgZ3JpZC1jb2xzLTEgaXRlbXMtc3RhcnQgZ2FwLXgtOCBnYXAteS04IHNtOm10LTE2IHNtOmdhcC15LTE2IGxnOm10LTI0IGxnOmdyaWQtY29scy00XCJcbiAgICAgICAgICB2ZXJ0aWNhbD17dGFiT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCd9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIC1teC00IGZsZXggb3ZlcmZsb3cteC1hdXRvIHBiLTQgc206bXgtMCBzbTpibG9jayBzbTpvdmVyZmxvdy12aXNpYmxlIHNtOnBiLTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wLjUgdG9wLTIgaGlkZGVuIHctcHggYmctc2xhdGUtMjAwIGxnOmJsb2NrXCIgLz5cbiAgICAgICAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cImdyaWQgYXV0by1jb2xzLWF1dG8gZ3JpZC1mbG93LWNvbCBqdXN0aWZ5LXN0YXJ0IGdhcC14LTggZ2FwLXktMTAgd2hpdGVzcGFjZS1ub3dyYXAgcHgtNCBzbTpteC1hdXRvIHNtOm1heC13LTJ4bCBzbTpncmlkLWNvbHMtMyBzbTpweC0wIHNtOnRleHQtY2VudGVyIGxnOmdyaWQtZmxvdy1yb3cgbGc6Z3JpZC1jb2xzLTEgbGc6dGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIHsoeyBzZWxlY3RlZEluZGV4IH0pID0+IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAge2RheXMubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtkYXkuZGF0ZVRpbWV9IGNsYXNzTmFtZT1cInJlbGF0aXZlIGxnOnBsLThcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8RGlhbW9uZEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGxlZnQtWy0wLjVweF0gdG9wLVswLjU2MjVyZW1dIGhpZGRlbiBoLTEuNSB3LTEuNSBvdmVyZmxvdy12aXNpYmxlIGxnOmJsb2NrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdmaWxsLWJsdWUtNTAwIHN0cm9rZS1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdmaWxsLXRyYW5zcGFyZW50IHN0cm9rZS1zbGF0ZS00MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LW1vbm8gdGV4dC1zbScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5SW5kZXggPT09IHNlbGVjdGVkSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3RleHQtYmx1ZS01MDAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0ZXh0LXNsYXRlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVRpbWU9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtMS41IGJsb2NrIHRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGltZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVGFiTGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8VGFiUGFuZWxzIGNsYXNzTmFtZT1cImxnOmNvbC1zcGFuLTNcIj5cbiAgICAgICAgICAgIHtkYXlzLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAgICAgIGtleT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLXgtOCBnYXAteS0xMCB1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgc206Z3JpZC1jb2xzLTIgc206Z2FwLXktMTYgbWQ6Z3JpZC1jb2xzLTNcIlxuICAgICAgICAgICAgICAgIHVubW91bnQ9e2ZhbHNlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2RheS5zcGVha2Vycy5tYXAoKHNwZWFrZXIsIHNwZWFrZXJJbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e3NwZWFrZXJJbmRleH0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgaC1bMTcuNXJlbV0gdHJhbnNmb3JtIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLTR4bFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlIGJvdHRvbS02IGxlZnQtMCByaWdodC00IHRvcC0wIHJvdW5kZWQtNHhsIGJvcmRlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS05NSB4bDpyaWdodC02JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItYmx1ZS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItaW5kaWdvLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1za3ktMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVtzcGVha2VySW5kZXggJSAzXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWluZGlnby01MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjbGlwUGF0aDogYHVybCgjJHtpZH0tJHtzcGVha2VySW5kZXggJSAzfSlgIH19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtzcGVha2VyLmltYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz1cIihtaW4td2lkdGg6IDEyODBweCkgMTcuNXJlbSwgKG1pbi13aWR0aDogMTAyNHB4KSAyNXZ3LCAobWluLXdpZHRoOiA3NjhweCkgMzN2dywgKG1pbi13aWR0aDogNjQwcHgpIDUwdncsIDEwMHZ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwibXQtOCBmb250LWRpc3BsYXkgdGV4dC14bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1zbGF0ZS05MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7c3BlYWtlci5uYW1lfVxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLnJvbGV9XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1RhYlBhbmVsPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9UYWJQYW5lbHM+XG4gICAgICAgIDwvVGFiR3JvdXA+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZVN0YXRlIiwiSW1hZ2UiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsImNsc3giLCJDb250YWluZXIiLCJEaWFtb25kSWNvbiIsImFuZHJld0dyZWVuZUltYWdlIiwiY2F0aGxlbmVCdXJyYWdlSW1hZ2UiLCJkYW1hcmlzS2ltdXJhSW1hZ2UiLCJkaWFubmVHdWlsaWFuZWxsaUltYWdlIiwiZXJoYXJ0Q29ja3JpbkltYWdlIiwiZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UiLCJnb3Jkb25TYW5kZXJzb25JbWFnZSIsImhlYXRoZXJUZXJyeUltYWdlIiwiaWJyYWhpbUZyYXNjaEltYWdlIiwiamFxdWVsaW5Jc2NoSW1hZ2UiLCJraW1iZXJseVBhcnNvbnNJbWFnZSIsInBhcmtlckpvaG5zb25JbWFnZSIsInBpZXJzV2lsa2luc0ltYWdlIiwicmljaGFyZEFzdGxleSIsInJpbmFsZG9CZXlub25JbWFnZSIsInJvbm5pQ2FudGFkb3JlSW1hZ2UiLCJzdGV2ZW5NY2hhaWxJbWFnZSIsIndheWxvbkh5ZGVuSW1hZ2UiLCJrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UiLCJhZG5hbmZhdGF5ZXJqaUltYWdlIiwiZmxvcmlhbmZvdXJuaWVySW1hZ2UiLCJtYXR0aGV3c2NodXR0ZUltYWdlIiwib21yZWlhYnVtYWRpSW1hZ2UiLCJ2aWN0b3JtdWhhZ2FjaGlJbWFnZSIsInNhc2hhYXN0aWFkaUltYWdlIiwiZGF5cyIsIm5hbWUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzcGVha2VycyIsInJvbGUiLCJpbWFnZSIsIkltYWdlQ2xpcFBhdGhzIiwiaWQiLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwid2lkdGgiLCJoZWlnaHQiLCJkZWZzIiwiY2xpcFBhdGgiLCJjbGlwUGF0aFVuaXRzIiwicGF0aCIsImQiLCJTcGVha2VycyIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJsZ01lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VjdGlvbiIsImFyaWEtbGFiZWxsZWRieSIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInZlcnRpY2FsIiwic2VsZWN0ZWRJbmRleCIsIm1hcCIsImRheSIsImRheUluZGV4Iiwic3BhbiIsInRpbWUiLCJ1bm1vdW50Iiwic3BlYWtlciIsInNwZWFrZXJJbmRleCIsInN0eWxlIiwic3JjIiwiYWx0IiwicHJpb3JpdHkiLCJzaXplcyIsImgzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/events/versefest/page.6349ee7a488d1a94.hot-update.js b/.next/static/webpack/app/events/versefest/page.6349ee7a488d1a94.hot-update.js deleted file mode 100644 index 1e04666..0000000 --- a/.next/static/webpack/app/events/versefest/page.6349ee7a488d1a94.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/events/versefest/page",{ - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, Product Owner at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9WLDZFQUFtQkE7WUFDNUI7WUFDQTtnQkFDRUssTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFP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QUMsRUFBRW9DLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDOUUsa0RBQUtBO29FQUNKaUUsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXJDLEtBQUs7b0VBQ2xCeUMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTFDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2lDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdEMsSUFBSTs7Ozs7OzsrQ0E3QlB1Qzs7Ozs7dUNBTFBOLElBQUluQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JnQjs7UUFDTHZELHdDQUFLQTs7O01BREF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IG1hdHRoZXdzY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFByb2R1Y3QgT3duZXIgYXQgT3VyVmVyc2UnLFxuICAgICAgICBpbWFnZTogc2FzaGFhc3RpYWRpSW1hZ2VcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdWaWN0b3IgTXVoYWdhY2hpJyxcbiAgICAgICAgcm9sZTogJ0NvLWZvdW5kZXIgYXQgRHVuaWEgWWV0dScsXG4gICAgICAgIGltYWdlOiB2aWN0b3JtdWhhZ2FjaGlJbWFnZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdTcGVha2VycyAmIFdvcmtzaG9wcycsXG4gICAgZGF0ZTogJ09jdCAyNScsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA1JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICByb2xlOiAnU2VuaW9yIEVuZ2luZWVyIGF0IE9DUCcsXG4gICAgICAgIGltYWdlOiBkYW1hcmlzS2ltdXJhSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSWJyYWhpbSBGcmFzY2gnLFxuICAgICAgICByb2xlOiAnUHJvZ3JhbW1lciBhdCBVbWJyZWxsYSBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGlicmFoaW1GcmFzY2hJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgcm9sZTogJ0Zyb250ZW5kIERldmVsb3BlciBhdCBCdXkgbiBMYXJnZScsXG4gICAgICAgIGltYWdlOiBjYXRobGVuZUJ1cnJhZ2VJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaW5hbGRvIEJleW5vbicsXG4gICAgICAgIHJvbGU6ICdEYXRhIFNjaWVudGlzdCBhdCBSZWthbGwnLFxuICAgICAgICBpbWFnZTogcmluYWxkb0JleW5vbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1dheWxvbiBIeWRlbicsXG4gICAgICAgIHJvbGU6ICdEZXZPcHMgYXQgUkRBIENvcnBvcmF0aW9uJyxcbiAgICAgICAgaW1hZ2U6IHdheWxvbkh5ZGVuSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR2lvcmRhbm8gU2FndWNpbycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBTb3lsZW50IENvcnAnLFxuICAgICAgICBpbWFnZTogZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnSW50ZXJ2aWV3cycsXG4gICAgZGF0ZTogJ09jdCAyNicsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA2JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnQW5kcmV3IEdyZWVuZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgVWx0cmF0ZWNoJyxcbiAgICAgICAgaW1hZ2U6IGFuZHJld0dyZWVuZUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0hlYXRoZXIgVGVycnknLFxuICAgICAgICByb2xlOiAnQmFja2VuZCBEZXZlbG9wZXIgYXQgWGFuYXRvcyBFbnRlcnByaXNlcycsXG4gICAgICAgIGltYWdlOiBoZWF0aGVyVGVycnlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgcm9sZTogJ0Z1bGwgc3RhY2sgRGV2ZWxvcGVyIGF0IEJpZmZDbycsXG4gICAgICAgIGltYWdlOiBwaWVyc1dpbGtpbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgcm9sZTogJ01vYmlsZSBEZXZlbG9wZXIgYXQgQ29icmEgSW5kdXN0cmllcycsXG4gICAgICAgIGltYWdlOiBnb3Jkb25TYW5kZXJzb25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdLaW1iZXJseSBQYXJzb25zJyxcbiAgICAgICAgcm9sZTogJ0dhbWUgRGV2ZWxvcGVyIGF0IFR5cmVsbCBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiBraW1iZXJseVBhcnNvbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaWNoYXJkIEFzdGxleScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgUm9sbCBPdXQnLFxuICAgICAgICBpbWFnZTogcmljaGFyZEFzdGxleSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl1cblxuZnVuY3Rpb24gSW1hZ2VDbGlwUGF0aHMoeyBpZCwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgd2lkdGg9ezB9IGhlaWdodD17MH0gey4uLnByb3BzfT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0wYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0wLDAgaDAuNzI5IHYwLjEyOSBoMC4xMjEgbC0wLjAxNiwwLjAzMiBDMC44MTUsMC4xOTgsMC44NDMsMC4yNDMsMC44ODUsMC4yNDMgSDEgdjAuNzU3IEgwLjI3MSB2LTAuMDg2IGwtMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsLTAuMDI2LC0wLjA1NywtMC4wNTcsLTAuMDU3IEgwIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMWB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwxIEgwLjI3MSB2LTAuMTI5IEgwLjE1IGwwLjAxNiwtMC4wMzIgQzAuMTg1LDAuODAyLDAuMTU3LDAuNzU3LDAuMTE1LDAuNzU3IEgwIFYwIGgwLjcyOSB2MC4wODYgbDAuMTIxLC0wLjA1NyB2MC4yMTQgYzAsMC4wMzIsMC4wMjYsMC4wNTcsMC4wNTcsMC4wNTcgaDAuMDkzIHYwLjdcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0yYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0xLDAgSDAuMjcxIHYwLjEyOSBIMC4xNSBsMC4wMTYsMC4wMzIgQzAuMTg1LDAuMTk4LDAuMTU3LDAuMjQzLDAuMTE1LDAuMjQzIEgwIHYwLjc1NyBoMC43Mjkgdi0wLjA4NiBsMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsMC4wMjYsLTAuMDU3LDAuMDU3LC0wLjA1NyBoMC4wOTMgVjBcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTcGVha2VycygpIHtcbiAgbGV0IGlkID0gdXNlSWQoKVxuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgbGdNZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDEwMjRweCknKVxuXG4gICAgZnVuY3Rpb24gb25NZWRpYVF1ZXJ5Q2hhbmdlKHsgbWF0Y2hlcyB9KSB7XG4gICAgICBzZXRUYWJPcmllbnRhdGlvbihtYXRjaGVzID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJylcbiAgICB9XG5cbiAgICBvbk1lZGlhUXVlcnlDaGFuZ2UobGdNZWRpYVF1ZXJ5KVxuICAgIGxnTWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGdNZWRpYVF1ZXJ5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb25cbiAgICAgIGlkPVwic3BlYWtlcnNcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgY2xhc3NOYW1lPVwicHktMjAgbGc6cHktMTJcIlxuICAgID5cbiAgICAgIDxJbWFnZUNsaXBQYXRocyBpZD17aWR9IC8+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTBcIj5cbiAgICAgICAgICA8aDJcbiAgICAgICAgICAgIGlkPVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTcwMCBzbTp0ZXh0LTV4bFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgU3BlYWtlcnNcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICBHZXQgcmVhZHkgdG8gYmUgaW5zcGlyZWQgYnkgc29tZSBvZiB0aGUgaW5kdXN0cnkgbGVhZGVycyBhbmQgaW5ub3ZhdG9ycyB3aG8gYXJlIHNoYXBpbmcgdGhlIGZ1dHVyZSBvZiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIG1vcmUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFRhYkdyb3VwXG4gICAgICAgICAgY2xhc3NOYW1lPVwibXQtMTQgZ3JpZCBncmlkLWNvbHMtMSBpdGVtcy1zdGFydCBnYXAteC04IGdhcC15LTggc206bXQtMTYgc206Z2FwLXktMTYgbGc6bXQtMjQgbGc6Z3JpZC1jb2xzLTRcIlxuICAgICAgICAgIHZlcnRpY2FsPXt0YWJPcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgLW14LTQgZmxleCBvdmVyZmxvdy14LWF1dG8gcGItNCBzbTpteC0wIHNtOmJsb2NrIHNtOm92ZXJmbG93LXZpc2libGUgc206cGItMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAuNSB0b3AtMiBoaWRkZW4gdy1weCBiZy1zbGF0ZS0yMDAgbGc6YmxvY2tcIiAvPlxuICAgICAgICAgICAgPFRhYkxpc3QgY2xhc3NOYW1lPVwiZ3JpZCBhdXRvLWNvbHMtYXV0byBncmlkLWZsb3ctY29sIGp1c3RpZnktc3RhcnQgZ2FwLXgtOCBnYXAteS0xMCB3aGl0ZXNwYWNlLW5vd3JhcCBweC00IHNtOm14LWF1dG8gc206bWF4LXctMnhsIHNtOmdyaWQtY29scy0zIHNtOnB4LTAgc206dGV4dC1jZW50ZXIgbGc6Z3JpZC1mbG93LXJvdyBsZzpncmlkLWNvbHMtMSBsZzp0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7ZGF5cy5tYXAoKGRheSwgZGF5SW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2RheS5kYXRlVGltZX0gY2xhc3NOYW1lPVwicmVsYXRpdmUgbGc6cGwtOFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaWFtb25kSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgbGVmdC1bLTAuNXB4XSB0b3AtWzAuNTYyNXJlbV0gaGlkZGVuIGgtMS41IHctMS41IG92ZXJmbG93LXZpc2libGUgbGc6YmxvY2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2ZpbGwtYmx1ZS01MDAgc3Ryb2tlLWJsdWUtNTAwJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpbGwtdHJhbnNwYXJlbnQgc3Ryb2tlLXNsYXRlLTQwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtbW9ubyB0ZXh0LXNtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAndGV4dC1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtc2xhdGUtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYiBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF5Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVGltZT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0xLjUgYmxvY2sgdGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5kYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aW1lPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9UYWJMaXN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxUYWJQYW5lbHMgY2xhc3NOYW1lPVwibGc6Y29sLXNwYW4tM1wiPlxuICAgICAgICAgICAge2RheXMubWFwKChkYXkpID0+IChcbiAgICAgICAgICAgICAgPFRhYlBhbmVsXG4gICAgICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAteC04IGdhcC15LTEwIHVpLW5vdC1mb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBzbTpncmlkLWNvbHMtMiBzbTpnYXAteS0xNiBtZDpncmlkLWNvbHMtM1wiXG4gICAgICAgICAgICAgICAgdW5tb3VudD17ZmFsc2V9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGF5LnNwZWFrZXJzLm1hcCgoc3BlYWtlciwgc3BlYWtlckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGtleT17c3BlYWtlckluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBoLVsxNy41cmVtXSB0cmFuc2Zvcm0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtNHhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgYm90dG9tLTYgbGVmdC0wIHJpZ2h0LTQgdG9wLTAgcm91bmRlZC00eGwgYm9yZGVyIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTk1IHhsOnJpZ2h0LTYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ibHVlLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1pbmRpZ28tMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXNreS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdW3NwZWFrZXJJbmRleCAlIDNdLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctaW5kaWdvLTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNsaXBQYXRoOiBgdXJsKCMke2lkfS0ke3NwZWFrZXJJbmRleCAlIDN9KWAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS0xMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9e3NwZWFrZXIuaW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPVwiKG1pbi13aWR0aDogMTI4MHB4KSAxNy41cmVtLCAobWluLXdpZHRoOiAxMDI0cHgpIDI1dncsIChtaW4td2lkdGg6IDc2OHB4KSAzM3Z3LCAobWluLXdpZHRoOiA2NDBweCkgNTB2dywgMTAwdndcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJtdC04IGZvbnQtZGlzcGxheSB0ZXh0LXhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTEgdGV4dC1iYXNlIHRyYWNraW5nLXRpZ2h0IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3NwZWFrZXIucm9sZX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvVGFiUGFuZWw+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1RhYlBhbmVscz5cbiAgICAgICAgPC9UYWJHcm91cD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZUlkIiwidXNlU3RhdGUiLCJJbWFnZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkNvbnRhaW5lciIsIkRpYW1vbmRJY29uIiwiYW5kcmV3R3JlZW5lSW1hZ2UiLCJjYXRobGVuZUJ1cnJhZ2VJbWFnZSIsImRhbWFyaXNLaW11cmFJbWFnZSIsImRpYW5uZUd1aWxpYW5lbGxpSW1hZ2UiLCJlcmhhcnRDb2NrcmluSW1hZ2UiLCJnaW9yZGFub1NhZ3VjaW9JbWFnZSIsImdvcmRvblNhbmRlcnNvbkltYWdlIiwiaGVhdGhlclRlcnJ5SW1hZ2UiLCJpYnJhaGltRnJhc2NoSW1hZ2UiLCJqYXF1ZWxpbklzY2hJbWFnZSIsImtpbWJlcmx5UGFyc29uc0ltYWdlIiwicGFya2VySm9obnNvbkltYWdlIiwicGllcnNXaWxraW5zSW1hZ2UiLCJyaWNoYXJkQXN0bGV5IiwicmluYWxkb0JleW5vbkltYWdlIiwicm9ubmlDYW50YWRvcmVJbWFnZSIsInN0ZXZlbk1jaGFpbEltYWdlIiwid2F5bG9uSHlkZW5JbWFnZSIsImtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSIsImFkbmFuZmF0YXllcmppSW1hZ2UiLCJmbG9yaWFuZm91cm5pZXJJbWFnZSIsIm1hdHRoZXdzY2h1dHRlSW1hZ2UiLCJvbXJlaWFidW1hZGlJbWFnZSIsInZpY3Rvcm11aGFnYWNoaUltYWdlIiwic2FzaGFhc3RpYWRpSW1hZ2UiLCJkYXlzIiwibmFtZSIsImRhdGUiLCJkYXRlVGltZSIsInNwZWFrZXJzIiwicm9sZSIsImltYWdlIiwiSW1hZ2VDbGlwUGF0aHMiLCJpZCIsInByb3BzIiwic3ZnIiwiYXJpYS1oaWRkZW4iLCJ3aWR0aCIsImhlaWdodCIsImRlZnMiLCJjbGlwUGF0aCIsImNsaXBQYXRoVW5pdHMiLCJwYXRoIiwiZCIsIlNwZWFrZXJzIiwidGFiT3JpZW50YXRpb24iLCJzZXRUYWJPcmllbnRhdGlvbiIsImxnTWVkaWFRdWVyeSIsIndpbmRvdyIsIm1hdGNoTWVkaWEiLCJvbk1lZGlhUXVlcnlDaGFuZ2UiLCJtYXRjaGVzIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzZWN0aW9uIiwiYXJpYS1sYWJlbGxlZGJ5IiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJwIiwidmVydGljYWwiLCJzZWxlY3RlZEluZGV4IiwibWFwIiwiZGF5IiwiZGF5SW5kZXgiLCJzcGFuIiwidGltZSIsInVubW91bnQiLCJzcGVha2VyIiwic3BlYWtlckluZGV4Iiwic3R5bGUiLCJzcmMiLCJhbHQiLCJwcmlvcml0eSIsInNpemVzIiwiaDMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/events/versefest/page.73571cd725d920c0.hot-update.js b/.next/static/webpack/app/events/versefest/page.73571cd725d920c0.hot-update.js deleted file mode 100644 index cd0492e..0000000 --- a/.next/static/webpack/app/events/versefest/page.73571cd725d920c0.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/events/versefest/page",{ - -/***/ "(app-pages-browser)/./src/components/Schedule.jsx": -/*!*************************************!*\ - !*** ./src/components/Schedule.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Schedule: function() { return /* binding */ Schedule; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(app-pages-browser)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* __next_internal_client_entry_do_not_use__ Schedule auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\nconst schedule = [\n {\n date: \"April 4\",\n dateTime: \"2022-04-04\",\n summary: \"The first day of the conference is focused on dark patterns for ecommerce.\",\n timeSlots: [\n {\n name: \"Steven McHail\",\n description: \"Not so one-time payments\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Jaquelin Isch\",\n description: \"The finer print\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Dianne Guilianelli\",\n description: \"Post-purchase blackmail\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Ronni Cantadore\",\n description: \"Buy or die\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Erhart Cockrin\",\n description: \"In-person cancellation\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Parker Johnson\",\n description: \"The pay/cancel switcheroo\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 5\",\n dateTime: \"2022-04-05\",\n summary: \"Next we spend the day talking about deceiving people with technology.\",\n timeSlots: [\n {\n name: \"Damaris Kimura\",\n description: \"The invisible card reader\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Ibrahim Frasch\",\n description: \"Stealing fingerprints\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Cathlene Burrage\",\n description: \"Voting machines\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Rinaldo Beynon\",\n description: \"Blackhat SEO that works\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Waylon Hyden\",\n description: \"Turning your audience into a botnet\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Giordano Sagucio\",\n description: \"Fly phishing\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 6\",\n dateTime: \"2022-04-06\",\n summary: \"We close out the event previewing new techniques that are still in development.\",\n timeSlots: [\n {\n name: \"Andrew Greene\",\n description: \"Neuralink dark patterns\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Heather Terry\",\n description: \"DALL-E for passports\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Piers Wilkins\",\n description: \"Quantum password cracking\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Gordon Sanderson\",\n description: \"SkyNet is coming\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Kimberly Parsons\",\n description: \"Dark patterns for the metaverse\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Richard Astley\",\n description: \"Knowing the game and playing it\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n }\n];\nfunction ScheduleTabbed() {\n _s();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let smMediaQuery = window.matchMedia(\"(min-width: 640px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(smMediaQuery);\n smMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n smMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabGroup, {\n className: \"mx-auto grid max-w-2xl grid-cols-1 gap-y-6 sm:grid-cols-2 lg:hidden\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabList, {\n className: \"-mx-4 flex gap-x-4 gap-y-10 overflow-x-auto pb-4 pl-4 sm:mx-0 sm:flex-col sm:pb-0 sm:pl-0 sm:pr-8\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: schedule.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"relative w-3/4 flex-none pr-4 sm:w-auto sm:pr-0\", dayIndex !== selectedIndex && \"opacity-70\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: {\n ...day,\n date: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 202,\n columnNumber: 25\n }, void 0),\n day.date\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 201,\n columnNumber: 23\n }, void 0)\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 197,\n columnNumber: 17\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 190,\n columnNumber: 15\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 186,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanels, {\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanel, {\n className: \"ui-not-focus-visible:outline-none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 219,\n columnNumber: 13\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 213,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 182,\n columnNumber: 5\n }, this);\n}\n_s(ScheduleTabbed, \"PA0UdhBatJoZrK3UQwLJY5ZxHuI=\");\n_c = ScheduleTabbed;\nfunction DaySummary(param) {\n let { day } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-semibold tracking-tight text-blue-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 230,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1.5 text-base tracking-tight text-blue-900\",\n children: day.summary\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 233,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\n_c1 = DaySummary;\nfunction TimeSlots(param) {\n let { day, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ol\", {\n role: \"list\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(className, \"space-y-8 bg-white/60 px-10 py-14 text-center shadow-xl shadow-blue-900/5 backdrop-blur\"),\n children: day.timeSlots.map((timeSlot, timeSlotIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n \"aria-label\": `${timeSlot.name} talking about ${timeSlot.description} at ${timeSlot.start} - ${timeSlot.end} PST`,\n children: [\n timeSlotIndex > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto mb-8 h-px w-48 bg-indigo-500/10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 255,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-lg font-semibold tracking-tight text-blue-900\",\n children: timeSlot.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this),\n timeSlot.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 tracking-tight text-blue-900\",\n children: timeSlot.description\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 261,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 font-mono text-sm text-slate-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.start}-08:00`,\n children: timeSlot.start\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 266,\n columnNumber: 13\n }, this),\n \" \",\n \"-\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.end}-08:00`,\n children: timeSlot.end\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 270,\n columnNumber: 13\n }, this),\n \" \",\n \"PST\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 265,\n columnNumber: 11\n }, this)\n ]\n }, timeSlot.start, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 242,\n columnNumber: 5\n }, this);\n}\n_c2 = TimeSlots;\nfunction ScheduleStatic() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:grid lg:grid-cols-3 lg:gap-x-8\",\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 286,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day,\n className: \"mt-10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 287,\n columnNumber: 11\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 283,\n columnNumber: 5\n }, this);\n}\n_c3 = ScheduleStatic;\nfunction Schedule() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"schedule\",\n \"aria-label\": \"Schedule\",\n className: \"py-12 mb-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative z-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0 lg:max-w-4xl lg:pr-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Our three-day schedule is jam-packed with insightful sessions from industry leaders.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 299,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Each day is designed to immerse you in the latest trends, innovations, and opportunities in the metaverse, Web3, AI, and beyond.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 302,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"From hands-on workshops to panel discussions and networking events, VerseFest 2024 offers something for everyone.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 306,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mt-14 sm:mt-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__.BackgroundImage, {\n position: \"right\",\n className: \"-bottom-32 -top-40\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleTabbed, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 314,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleStatic, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 315,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 313,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 296,\n columnNumber: 5\n }, this);\n}\n_c4 = Schedule;\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"ScheduleTabbed\");\n$RefreshReg$(_c1, \"DaySummary\");\n$RefreshReg$(_c2, \"TimeSlots\");\n$RefreshReg$(_c3, \"ScheduleStatic\");\n$RefreshReg$(_c4, \"Schedule\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ29DO0FBQ3hEO0FBRXVDO0FBQ1o7QUFFbEQsTUFBTVUsV0FBVztJQUNmO1FBQ0VDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1NBQ0Q7SUFDSDtJQUNBO1FBQ0VQLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VI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QUtBOzs7Ozs7a0NBQ2pCLDhEQUFDSzt3QkFBVUwsS0FBS0E7d0JBQUtKLFdBQVU7Ozs7Ozs7ZUFGbkJJLElBQUlyQixRQUFROzs7Ozs7Ozs7O0FBT2xDO01BWFNxQztBQWFGLFNBQVNFO0lBQ2QscUJBQ0UsOERBQUNEO1FBQVFFLElBQUc7UUFBV0wsY0FBVztRQUFXbEIsV0FBVTs7MEJBQ3JELDhEQUFDcEIsNERBQVNBO2dCQUFDb0IsV0FBVTswQkFDbkIsNEVBQUNNO29CQUFJTixXQUFVOztzQ0FDYiw4REFBQ3dCOzRCQUFHeEIsV0FBVTtzQ0FBK0U7Ozs7OztzQ0FHN0YsOERBQUNZOzRCQUFFWixXQUFVO3NDQUEwRDs7Ozs7O3NDQUl2RSw4REFBQ1k7NEJBQUVaLFdBQVU7c0NBQTBEOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLM0UsOERBQUNNO2dCQUFJTixXQUFVOztrQ0FDYiw4REFBQ3JCLHdFQUFlQTt3QkFBQzhDLFVBQVM7d0JBQVF6QixXQUFVOzs7Ozs7a0NBQzVDLDhEQUFDcEIsNERBQVNBO3dCQUFDb0IsV0FBVTs7MENBQ25CLDhEQUFDVjs7Ozs7MENBQ0QsOERBQUM4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLWDtNQTFCZ0JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeD82MWIzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUYWIsIFRhYkdyb3VwLCBUYWJMaXN0LCBUYWJQYW5lbCwgVGFiUGFuZWxzIH0gZnJvbSAnQGhlYWRsZXNzdWkvcmVhY3QnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5pbXBvcnQgeyBCYWNrZ3JvdW5kSW1hZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvQmFja2dyb3VuZEltYWdlJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcblxuY29uc3Qgc2NoZWR1bGUgPSBbXG4gIHtcbiAgICBkYXRlOiAnQXByaWwgNCcsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA0JyxcbiAgICBzdW1tYXJ5OlxuICAgICAgJ1RoZSBmaXJzdCBkYXkgb2YgdGhlIGNvbmZlcmVuY2UgaXMgZm9jdXNlZCBvbiBkYXJrIHBhdHRlcm5zIGZvciBlY29tbWVyY2UuJyxcbiAgICB0aW1lU2xvdHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1N0ZXZlbiBNY0hhaWwnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdCBzbyBvbmUtdGltZSBwYXltZW50cycsXG4gICAgICAgIHN0YXJ0OiAnOTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTA6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSmFxdWVsaW4gSXNjaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGZpbmVyIHByaW50JyxcbiAgICAgICAgc3RhcnQ6ICcxMDowMEFNJyxcbiAgICAgICAgZW5kOiAnMTE6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRGlhbm5lIEd1aWxpYW5lbGxpJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQb3N0LXB1cmNoYXNlIGJsYWNrbWFpbCcsXG4gICAgICAgIHN0YXJ0OiAnMTE6MDBBTScsXG4gICAgICAgIGVuZDogJzEyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0x1bmNoJyxcbiAgICAgICAgZGVzY3JpcHRpb246IG51bGwsXG4gICAgICAgIHN0YXJ0OiAnMTI6MDBQTScsXG4gICAgICAgIGVuZDogJzE6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUm9ubmkgQ2FudGFkb3JlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCdXkgb3IgZGllJyxcbiAgICAgICAgc3RhcnQ6ICcxOjAwUE0nLFxuICAgICAgICBlbmQ6ICcyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0VyaGFydCBDb2NrcmluJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdJbi1wZXJzb24gY2FuY2VsbGF0aW9uJyxcbiAgICAgICAgc3RhcnQ6ICcyOjAwUE0nLFxuICAgICAgICBlbmQ6ICczOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1BhcmtlciBKb2huc29uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgcGF5L2NhbmNlbCBzd2l0Y2hlcm9vJyxcbiAgICAgICAgc3RhcnQ6ICczOjAwUE0nLFxuICAgICAgICBlbmQ6ICc0OjAwUE0nLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgZGF0ZTogJ0FwcmlsIDUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3VtbWFyeTpcbiAgICAgICdOZXh0IHdlIHNwZW5kIHRoZSBkYXkgdGFsa2luZyBhYm91dCBkZWNlaXZpbmcgcGVvcGxlIHdpdGggdGVjaG5vbG9neS4nLFxuICAgIHRpbWVTbG90czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBpbnZpc2libGUgY2FyZCByZWFkZXInLFxuICAgICAgICBzdGFydDogJzk6MDBBTScsXG4gICAgICAgIGVuZDogJzEwOjAwQU0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTdGVhbGluZyBmaW5nZXJwcmludHMnLFxuICAgICAgICBzdGFydDogJzEwOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMTowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdWb3RpbmcgbWFjaGluZXMnLFxuICAgICAgICBzdGFydDogJzExOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMjowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdMdW5jaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgICBzdGFydDogJzEyOjAwUE0nLFxuICAgICAgICBlbmQ6ICcxOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1JpbmFsZG8gQmV5bm9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCbGFja2hhdCBTRU8gdGhhdCB3b3JrcycsXG4gICAgICAgIHN0YXJ0OiAnMTowMFBNJyxcbiAgICAgICAgZW5kOiAnMjowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1R1cm5pbmcgeW91ciBhdWRpZW5jZSBpbnRvIGEgYm90bmV0JyxcbiAgICAgICAgc3RhcnQ6ICcyOjAwUE0nLFxuICAgICAgICBlbmQ6ICczOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0ZseSBwaGlzaGluZycsXG4gICAgICAgIHN0YXJ0OiAnMzowMFBNJyxcbiAgICAgICAgZW5kOiAnNDowMFBNJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIGRhdGU6ICdBcHJpbCA2JyxcbiAgICBkYXRlVGltZTogJzIwMjItMDQtMDYnLFxuICAgIHN1bW1hcnk6XG4gICAgICAnV2UgY2xvc2Ugb3V0IHRoZSBldmVudCBwcmV2aWV3aW5nIG5ldyB0ZWNobmlxdWVzIHRoYXQgYXJlIHN0aWxsIGluIGRldmVsb3BtZW50LicsXG4gICAgdGltZVNsb3RzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBbmRyZXcgR3JlZW5lJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOZXVyYWxpbmsgZGFyayBwYXR0ZXJucycsXG4gICAgICAgIHN0YXJ0OiAnOTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTA6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSGVhdGhlciBUZXJyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnREFMTC1FIGZvciBwYXNzcG9ydHMnLFxuICAgICAgICBzdGFydDogJzEwOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMTowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdRdWFudHVtIHBhc3N3b3JkIGNyYWNraW5nJyxcbiAgICAgICAgc3RhcnQ6ICcxMTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTI6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnTHVuY2gnLFxuICAgICAgICBkZXNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgc3RhcnQ6ICcxMjowMFBNJyxcbiAgICAgICAgZW5kOiAnMTowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTa3lOZXQgaXMgY29taW5nJyxcbiAgICAgICAgc3RhcnQ6ICcxOjAwUE0nLFxuICAgICAgICBlbmQ6ICcyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tpbWJlcmx5IFBhcnNvbnMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0RhcmsgcGF0dGVybnMgZm9yIHRoZSBtZXRhdmVyc2UnLFxuICAgICAgICBzdGFydDogJzI6MDBQTScsXG4gICAgICAgIGVuZDogJzM6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0tub3dpbmcgdGhlIGdhbWUgYW5kIHBsYXlpbmcgaXQnLFxuICAgICAgICBzdGFydDogJzM6MDBQTScsXG4gICAgICAgIGVuZDogJzQ6MDBQTScsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIFNjaGVkdWxlVGFiYmVkKCkge1xuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgc21NZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDY0MHB4KScpXG5cbiAgICBmdW5jdGlvbiBvbk1lZGlhUXVlcnlDaGFuZ2UoeyBtYXRjaGVzIH0pIHtcbiAgICAgIHNldFRhYk9yaWVudGF0aW9uKG1hdGNoZXMgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnKVxuICAgIH1cblxuICAgIG9uTWVkaWFRdWVyeUNoYW5nZShzbU1lZGlhUXVlcnkpXG4gICAgc21NZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBzbU1lZGlhUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgcmV0dXJuIChcbiAgICA8VGFiR3JvdXBcbiAgICAgIGNsYXNzTmFtZT1cIm14LWF1dG8gZ3JpZCBtYXgtdy0yeGwgZ3JpZC1jb2xzLTEgZ2FwLXktNiBzbTpncmlkLWNvbHMtMiBsZzpoaWRkZW5cIlxuICAgICAgdmVydGljYWw9e3RhYk9yaWVudGF0aW9uID09PSAndmVydGljYWwnfVxuICAgID5cbiAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cIi1teC00IGZsZXggZ2FwLXgtNCBnYXAteS0xMCBvdmVyZmxvdy14LWF1dG8gcGItNCBwbC00IHNtOm14LTAgc206ZmxleC1jb2wgc206cGItMCBzbTpwbC0wIHNtOnByLThcIj5cbiAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7c2NoZWR1bGUubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBrZXk9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAncmVsYXRpdmUgdy0zLzQgZmxleC1ub25lIHByLTQgc206dy1hdXRvIHNtOnByLTAnLFxuICAgICAgICAgICAgICAgICAgZGF5SW5kZXggIT09IHNlbGVjdGVkSW5kZXggJiYgJ29wYWNpdHktNzAnLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RGF5U3VtbWFyeVxuICAgICAgICAgICAgICAgICAgZGF5PXt7XG4gICAgICAgICAgICAgICAgICAgIC4uLmRheSxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvVGFiTGlzdD5cbiAgICAgIDxUYWJQYW5lbHM+XG4gICAgICAgIHtzY2hlZHVsZS5tYXAoKGRheSkgPT4gKFxuICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUaW1lU2xvdHMgZGF5PXtkYXl9IC8+XG4gICAgICAgICAgPC9UYWJQYW5lbD5cbiAgICAgICAgKSl9XG4gICAgICA8L1RhYlBhbmVscz5cbiAgICA8L1RhYkdyb3VwPlxuICApXG59XG5cbmZ1bmN0aW9uIERheVN1bW1hcnkoeyBkYXkgfSkge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgIDx0aW1lIGRhdGVUaW1lPXtkYXkuZGF0ZVRpbWV9PntkYXkuZGF0ZX08L3RpbWU+XG4gICAgICA8L2gzPlxuICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMS41IHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgIHtkYXkuc3VtbWFyeX1cbiAgICAgIDwvcD5cbiAgICA8Lz5cbiAgKVxufVxuXG5mdW5jdGlvbiBUaW1lU2xvdHMoeyBkYXksIGNsYXNzTmFtZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPG9sXG4gICAgICByb2xlPVwibGlzdFwiXG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgJ3NwYWNlLXktOCBiZy13aGl0ZS82MCBweC0xMCBweS0xNCB0ZXh0LWNlbnRlciBzaGFkb3cteGwgc2hhZG93LWJsdWUtOTAwLzUgYmFja2Ryb3AtYmx1cicsXG4gICAgICApfVxuICAgID5cbiAgICAgIHtkYXkudGltZVNsb3RzLm1hcCgodGltZVNsb3QsIHRpbWVTbG90SW5kZXgpID0+IChcbiAgICAgICAgPGxpXG4gICAgICAgICAga2V5PXt0aW1lU2xvdC5zdGFydH1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHt0aW1lU2xvdC5uYW1lfSB0YWxraW5nIGFib3V0ICR7dGltZVNsb3QuZGVzY3JpcHRpb259IGF0ICR7dGltZVNsb3Quc3RhcnR9IC0gJHt0aW1lU2xvdC5lbmR9IFBTVGB9XG4gICAgICAgID5cbiAgICAgICAgICB7dGltZVNsb3RJbmRleCA+IDAgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1iLTggaC1weCB3LTQ4IGJnLWluZGlnby01MDAvMTBcIiAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGg0IGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICB7dGltZVNsb3QubmFtZX1cbiAgICAgICAgICA8L2g0PlxuICAgICAgICAgIHt0aW1lU2xvdC5kZXNjcmlwdGlvbiAmJiAoXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAge3RpbWVTbG90LmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMSBmb250LW1vbm8gdGV4dC1zbSB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgPHRpbWUgZGF0ZVRpbWU9e2Ake2RheS5kYXRlVGltZX1UJHt0aW1lU2xvdC5zdGFydH0tMDg6MDBgfT5cbiAgICAgICAgICAgICAge3RpbWVTbG90LnN0YXJ0fVxuICAgICAgICAgICAgPC90aW1lPnsnICd9XG4gICAgICAgICAgICAteycgJ31cbiAgICAgICAgICAgIDx0aW1lIGRhdGVUaW1lPXtgJHtkYXkuZGF0ZVRpbWV9VCR7dGltZVNsb3QuZW5kfS0wODowMGB9PlxuICAgICAgICAgICAgICB7dGltZVNsb3QuZW5kfVxuICAgICAgICAgICAgPC90aW1lPnsnICd9XG4gICAgICAgICAgICBQU1RcbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvbGk+XG4gICAgICApKX1cbiAgICA8L29sPlxuICApXG59XG5cbmZ1bmN0aW9uIFNjaGVkdWxlU3RhdGljKCkge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOmdyaWQgbGc6Z3JpZC1jb2xzLTMgbGc6Z2FwLXgtOFwiPlxuICAgICAge3NjaGVkdWxlLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgIDxzZWN0aW9uIGtleT17ZGF5LmRhdGVUaW1lfT5cbiAgICAgICAgICA8RGF5U3VtbWFyeSBkYXk9e2RheX0gLz5cbiAgICAgICAgICA8VGltZVNsb3RzIGRheT17ZGF5fSBjbGFzc05hbWU9XCJtdC0xMFwiIC8+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICkpfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTY2hlZHVsZSgpIHtcbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBpZD1cInNjaGVkdWxlXCIgYXJpYS1sYWJlbD1cIlNjaGVkdWxlXCIgY2xhc3NOYW1lPVwicHktMTIgbWItMjRcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTAgbGc6bWF4LXctNHhsIGxnOnByLTI0XCI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS02MDAgc206dGV4dC01eGxcIj5cbiAgICAgICAgICBPdXIgdGhyZWUtZGF5IHNjaGVkdWxlIGlzIGphbS1wYWNrZWQgd2l0aCBpbnNpZ2h0ZnVsIHNlc3Npb25zIGZyb20gaW5kdXN0cnkgbGVhZGVycy4gXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgRWFjaCBkYXkgaXMgZGVzaWduZWQgdG8gaW1tZXJzZSB5b3UgaW4gdGhlIGxhdGVzdCB0cmVuZHMsIFxuICAgICAgICAgIGlubm92YXRpb25zLCBhbmQgb3Bwb3J0dW5pdGllcyBpbiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIGJleW9uZC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNCBmb250LWRpc3BsYXkgdGV4dC0yeGwgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgIEZyb20gaGFuZHMtb24gd29ya3Nob3BzIHRvIHBhbmVsIGRpc2N1c3Npb25zIGFuZCBuZXR3b3JraW5nIGV2ZW50cywgVmVyc2VGZXN0IDIwMjQgb2ZmZXJzIHNvbWV0aGluZyBmb3IgZXZlcnlvbmUuIFxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgbXQtMTQgc206bXQtMjRcIj5cbiAgICAgICAgPEJhY2tncm91bmRJbWFnZSBwb3NpdGlvbj1cInJpZ2h0XCIgY2xhc3NOYW1lPVwiLWJvdHRvbS0zMiAtdG9wLTQwXCIgLz5cbiAgICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgIDxTY2hlZHVsZVRhYmJlZCAvPlxuICAgICAgICAgIDxTY2hlZHVsZVN0YXRpYyAvPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiLCJjbHN4IiwiQmFja2dyb3VuZEltYWdlIiwiQ29udGFpbmVyIiwic2NoZWR1bGUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzdW1tYXJ5IiwidGltZVNsb3RzIiwibmFtZSIsImRlc2NyaXB0aW9uIiwic3RhcnQiLCJlbmQiLCJTY2hlZHVsZVRhYmJlZCIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJzbU1lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY2xhc3NOYW1lIiwidmVydGljYWwiLCJzZWxlY3RlZEluZGV4IiwibWFwIiwiZGF5IiwiZGF5SW5kZXgiLCJkaXYiLCJEYXlTdW1tYXJ5Iiwic3BhbiIsIlRpbWVTbG90cyIsImgzIiwidGltZSIsInAiLCJvbCIsInJvbGUiLCJ0aW1lU2xvdCIsInRpbWVTbG90SW5kZXgiLCJsaSIsImFyaWEtbGFiZWwiLCJoNCIsIlNjaGVkdWxlU3RhdGljIiwic2VjdGlvbiIsIlNjaGVkdWxlIiwiaWQiLCJoMiIsInBvc2l0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Schedule.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/events/versefest/page.989caf06ac2ac5dd.hot-update.js b/.next/static/webpack/app/events/versefest/page.989caf06ac2ac5dd.hot-update.js deleted file mode 100644 index 6a878a1..0000000 --- a/.next/static/webpack/app/events/versefest/page.989caf06ac2ac5dd.hot-update.js +++ /dev/null @@ -1,109 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/events/versefest/page",{ - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!": -/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false! ***! - \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(app-pages-browser)/./src/components/Header.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Schedule.jsx */ \"(app-pages-browser)/./src/components/Schedule.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Speakers.jsx */ \"(app-pages-browser)/./src/components/Speakers.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-newsletter.jpg */ \"(app-pages-browser)/./src/images/background-newsletter.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background.jpg */ \"(app-pages-browser)/./src/images/background.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/mirage.svg */ \"(app-pages-browser)/./src/images/logos/mirage.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/statickit.svg */ \"(app-pages-browser)/./src/images/logos/statickit.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/transistor.svg */ \"(app-pages-browser)/./src/images/logos/transistor.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/tuple.svg */ \"(app-pages-browser)/./src/images/logos/tuple.svg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGJTQwaGVhZGxlc3N1aSUyRnJlYWN0JTJGZGlzdCUyRmNvbXBvbmVudHMlMkZkaXNjbG9zdXJlJTJGZGlzY2xvc3VyZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlMkMlMjJEaXNjbG9zdXJlQnV0dG9uJTIyJTJDJTIyRGlzY2xvc3VyZVBhbmVsJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGaW1hZ2UtY29tcG9uZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGbGluay5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGY29tcG9uZW50cyUyRkhlYWRlci5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJIZWFkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGY29tcG9uZW50cyUyRlNjaGVkdWxlLmpzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlNjaGVkdWxlJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmNvbXBvbmVudHMlMkZTcGVha2Vycy5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJTcGVha2VycyUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZiYWNrZ3JvdW5kLW5ld3NsZXR0ZXIuanBnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZiYWNrZ3JvdW5kLmpwZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZtaXJhZ2Uuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRnN0YXRpY2tpdC5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGdHJhbnNpc3Rvci5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGdHVwbGUuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZzZXJ2ZXI9ZmFsc2UhIiwibWFwcGluZ3MiOiJBQUFBLDRRQUFrSztBQUNsSztBQUNBLG9PQUEySTtBQUMzSTtBQUNBLDhNQUFnSTtBQUNoSTtBQUNBLGdMQUFnSjtBQUNoSjtBQUNBLG9MQUFvSjtBQUNwSjtBQUNBLG9MQUFvSjtBQUNwSjtBQUNBLHNNQUErSDtBQUMvSDtBQUNBLGdMQUFvSDtBQUNwSDtBQUNBLG9MQUFzSDtBQUN0SDtBQUNBLDBMQUF5SDtBQUN6SDtBQUNBLDRMQUEwSDtBQUMxSDtBQUNBLGtMQUFxSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvPzlkYzYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2Rpc2Nsb3N1cmUvZGlzY2xvc3VyZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaW1hZ2UtY29tcG9uZW50LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJIZWFkZXJcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJTY2hlZHVsZVwiXSAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiU3BlYWtlcnNcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvYmFja2dyb3VuZC1uZXdzbGV0dGVyLmpwZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLmpwZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2xvZ29zL3N0YXRpY2tpdC5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvbG9nb3MvdHVwbGUuc3ZnXCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Disclosure: function() { return /* binding */ We; },\n/* harmony export */ DisclosureButton: function() { return /* binding */ Ce; },\n/* harmony export */ DisclosurePanel: function() { return /* binding */ Ie; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @react-aria/focus */ \"(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../hooks/use-id.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../hooks/use-transition.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js\");\n/* harmony import */ var _internal_close_provider_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../internal/close-provider.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js\");\n/* harmony import */ var _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../internal/open-closed.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js\");\n/* harmony import */ var _utils_bugs_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/bugs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _utils_start_transition_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/start-transition.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/start-transition.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../keyboard.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js\");\n/* __next_internal_client_entry_do_not_use__ Disclosure,DisclosureButton,DisclosurePanel auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar de = ((r)=>(r[r.Open = 0] = \"Open\", r[r.Closed = 1] = \"Closed\", r))(de || {}), fe = ((t)=>(t[t.ToggleDisclosure = 0] = \"ToggleDisclosure\", t[t.CloseDisclosure = 1] = \"CloseDisclosure\", t[t.SetButtonId = 2] = \"SetButtonId\", t[t.SetPanelId = 3] = \"SetPanelId\", t[t.LinkPanel = 4] = \"LinkPanel\", t[t.UnlinkPanel = 5] = \"UnlinkPanel\", t))(fe || {});\nlet Te = {\n [0]: (e)=>({\n ...e,\n disclosureState: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(e.disclosureState, {\n [0]: 1,\n [1]: 0\n })\n }),\n [1]: (e)=>e.disclosureState === 1 ? e : {\n ...e,\n disclosureState: 1\n },\n [4] (e) {\n return e.linkedPanel === !0 ? e : {\n ...e,\n linkedPanel: !0\n };\n },\n [5] (e) {\n return e.linkedPanel === !1 ? e : {\n ...e,\n linkedPanel: !1\n };\n },\n [2] (e, n) {\n return e.buttonId === n.buttonId ? e : {\n ...e,\n buttonId: n.buttonId\n };\n },\n [3] (e, n) {\n return e.panelId === n.panelId ? e : {\n ...e,\n panelId: n.panelId\n };\n }\n}, M = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nM.displayName = \"DisclosureContext\";\nfunction F(e) {\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(M);\n if (n === null) {\n let r = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(r, F), r;\n }\n return n;\n}\n_c = F;\nlet k = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nk.displayName = \"DisclosureAPIContext\";\nfunction V(e) {\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(k);\n if (n === null) {\n let r = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(r, V), r;\n }\n return n;\n}\n_c1 = V;\nlet H = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nH.displayName = \"DisclosurePanelContext\";\nfunction De() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(H);\n}\n_c2 = De;\nfunction Pe(e, n) {\n return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(n.type, Te, e, n);\n}\n_c3 = Pe;\nlet ye = react__WEBPACK_IMPORTED_MODULE_0__.Fragment;\nfunction me(e, n) {\n let { defaultOpen: r = !1, ...c } = e, s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), d = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(n, (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.optionalRef)((u)=>{\n s.current = u;\n }, e.as === void 0 || e.as === react__WEBPACK_IMPORTED_MODULE_0__.Fragment)), t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(Pe, {\n disclosureState: r ? 0 : 1,\n linkedPanel: !1,\n buttonRef: o,\n panelRef: t,\n buttonId: null,\n panelId: null\n }), [{ disclosureState: f, buttonId: i }, T] = l, p = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((u)=>{\n T({\n type: 1\n });\n let P = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_4__.getOwnerDocument)(s);\n if (!P || !i) return;\n let y = (()=>u ? u instanceof HTMLElement ? u : u.current instanceof HTMLElement ? u.current : P.getElementById(i) : P.getElementById(i))();\n y == null || y.focus();\n }), E = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n close: p\n }), [\n p\n ]), D = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: f === 0,\n close: p\n }), [\n f,\n p\n ]), g = {\n ref: d\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(M.Provider, {\n value: l\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(k.Provider, {\n value: E\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_close_provider_js__WEBPACK_IMPORTED_MODULE_5__.CloseProvider, {\n value: p\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.OpenClosedProvider, {\n value: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(f, {\n [0]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Open,\n [1]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Closed\n })\n }, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.render)({\n ourProps: g,\n theirProps: c,\n slot: D,\n defaultTag: ye,\n name: \"Disclosure\"\n })))));\n}\nlet Ee = \"button\";\nfunction ge(e, n) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: c = `headlessui-disclosure-button-${r}`, disabled: s = !1, autoFocus: d = !1, ...t } = e, [o, l] = F(\"Disclosure.Button\"), f = De(), i = f === null ? !1 : f === o.panelId, T = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), p = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(T, n, i ? null : o.buttonRef), E = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useMergeRefsFn)();\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n if (!i) return l({\n type: 2,\n buttonId: c\n }), ()=>{\n l({\n type: 2,\n buttonId: null\n });\n };\n }, [\n c,\n l,\n i\n ]);\n let D = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((a)=>{\n var S;\n if (i) {\n if (o.disclosureState === 1) return;\n switch(a.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Space:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Enter:\n a.preventDefault(), a.stopPropagation(), l({\n type: 0\n }), (S = o.buttonRef.current) == null || S.focus();\n break;\n }\n } else switch(a.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Space:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Enter:\n a.preventDefault(), a.stopPropagation(), l({\n type: 0\n });\n break;\n }\n }), g = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((a)=>{\n switch(a.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_8__.Keys.Space:\n a.preventDefault();\n break;\n }\n }), u = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((a)=>{\n var S;\n (0,_utils_bugs_js__WEBPACK_IMPORTED_MODULE_9__.isDisabledReactIssue7711)(a.currentTarget) || s || (i ? (l({\n type: 0\n }), (S = o.buttonRef.current) == null || S.focus()) : l({\n type: 0\n }));\n }), { isFocusVisible: P, focusProps: y } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_10__.useFocusRing)({\n autoFocus: d\n }), { isHovered: U, hoverProps: h } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_11__.useHover)({\n isDisabled: s\n }), { pressed: N, pressProps: w } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_12__.useActivePress)({\n disabled: s\n }), q = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: o.disclosureState === 0,\n hover: U,\n active: N,\n disabled: s,\n focus: P,\n autofocus: d\n }), [\n o,\n U,\n N,\n P,\n s,\n d\n ]), G = (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_13__.useResolveButtonType)(e, T), z = i ? (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.mergeProps)({\n ref: p,\n type: G,\n disabled: s || void 0,\n autoFocus: d,\n onKeyDown: D,\n onClick: u\n }, y, h, w) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.mergeProps)({\n ref: p,\n id: c,\n type: G,\n \"aria-expanded\": o.disclosureState === 0,\n \"aria-controls\": o.linkedPanel ? o.panelId : void 0,\n disabled: s || void 0,\n autoFocus: d,\n onKeyDown: D,\n onKeyUp: g,\n onClick: u\n }, y, h, w);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.render)({\n mergeRefs: E,\n ourProps: z,\n theirProps: t,\n slot: q,\n defaultTag: Ee,\n name: \"Disclosure.Button\"\n });\n}\nlet Se = \"div\", be = _utils_render_js__WEBPACK_IMPORTED_MODULE_7__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_7__.RenderFeatures.Static;\nfunction Re(e, n) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: c = `headlessui-disclosure-panel-${r}`, transition: s = !1, ...d } = e, [t, o] = F(\"Disclosure.Panel\"), { close: l } = V(\"Disclosure.Panel\"), f = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useMergeRefsFn)(), i = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(n, t.panelRef, (u)=>{\n (0,_utils_start_transition_js__WEBPACK_IMPORTED_MODULE_14__.startTransition)(()=>o({\n type: u ? 4 : 5\n }));\n });\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>(o({\n type: 3,\n panelId: c\n }), ()=>{\n o({\n type: 3,\n panelId: null\n });\n }), [\n c,\n o\n ]);\n let T = (0,_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.useOpenClosed)(), [p, E] = (0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_15__.useTransition)(s, t.panelRef, T !== null ? (T & _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Open) === _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.State.Open : t.disclosureState === 0), D = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: t.disclosureState === 0,\n close: l\n }), [\n t.disclosureState,\n l\n ]), g = {\n ref: i,\n id: c,\n ...(0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_15__.transitionDataAttributes)(E)\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_6__.ResetOpenClosedProvider, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(H.Provider, {\n value: t.panelId\n }, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.render)({\n mergeRefs: f,\n ourProps: g,\n theirProps: d,\n slot: D,\n defaultTag: Se,\n features: be,\n visible: p,\n name: \"Disclosure.Panel\"\n })));\n}\n_c4 = Re;\nlet Ae = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(me), Ce = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(ge), Ie = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(Re), We = Object.assign(Ae, {\n Button: Ce,\n Panel: Ie\n});\n\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"F\");\n$RefreshReg$(_c1, \"V\");\n$RefreshReg$(_c2, \"De\");\n$RefreshReg$(_c3, \"Pe\");\n$RefreshReg$(_c4, \"Re\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvZGlzY2xvc3VyZS9kaXNjbG9zdXJlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUdBQThEO0FBQW9EO0FBQStIO0FBQWtFO0FBQW9EO0FBQThDO0FBQStFO0FBQTZFO0FBQThGO0FBQWtFO0FBQWlJO0FBQWdFO0FBQTZDO0FBQXlEO0FBQTZIO0FBQW1FO0FBQXNDO0FBQUEsSUFBSWlFLEtBQUcsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9ELENBQUMsQ0FBQ0EsRUFBRUUsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTRixDQUFBQSxDQUFDLEVBQUdELE1BQUksQ0FBQyxJQUFHSSxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsZ0JBQWdCLEdBQUMsRUFBRSxHQUFDLG9CQUFtQkQsQ0FBQyxDQUFDQSxFQUFFRSxlQUFlLEdBQUMsRUFBRSxHQUFDLG1CQUFrQkYsQ0FBQyxDQUFDQSxFQUFFRyxXQUFXLEdBQUMsRUFBRSxHQUFDLGVBQWNILENBQUMsQ0FBQ0EsRUFBRUksVUFBVSxHQUFDLEVBQUUsR0FBQyxjQUFhSixDQUFDLENBQUNBLEVBQUVLLFNBQVMsR0FBQyxFQUFFLEdBQUMsYUFBWUwsQ0FBQyxDQUFDQSxFQUFFTSxXQUFXLEdBQUMsRUFBRSxHQUFDLGVBQWNOLENBQUFBLENBQUMsRUFBR0QsTUFBSSxDQUFDO0FBQUcsSUFBSVEsS0FBRztJQUFDLENBQUMsRUFBRSxFQUFDQyxDQUFBQSxJQUFJO1lBQUMsR0FBR0EsQ0FBQztZQUFDQyxpQkFBZ0IvQixzREFBQ0EsQ0FBQzhCLEVBQUVDLGVBQWUsRUFBQztnQkFBQyxDQUFDLEVBQUUsRUFBQztnQkFBRSxDQUFDLEVBQUUsRUFBQztZQUFDO1FBQUU7SUFBRyxD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QUNBLENBQUM7UUFBQzBHLFdBQVV4RDtRQUFFa0IsVUFBU0w7UUFBRU0sWUFBVzNCO1FBQUU0QixNQUFLVDtRQUFFVSxZQUFXb0M7UUFBR00sVUFBU0w7UUFBR00sU0FBUTdEO1FBQUVtQixNQUFLO0lBQWtCO0FBQUk7TUFBcG5CdUM7QUFBcW5CLElBQUlJLEtBQUd2SCxrRUFBQ0EsQ0FBQzBDLEtBQUk4RSxLQUFHeEgsa0VBQUNBLENBQUM4RSxLQUFJMkMsS0FBR3pILGtFQUFDQSxDQUFDbUgsS0FBSU8sS0FBR0MsT0FBT0MsTUFBTSxDQUFDTCxJQUFHO0lBQUNNLFFBQU9MO0lBQUdNLE9BQU1MO0FBQUU7QUFBeUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvY29tcG9uZW50cy9kaXNjbG9zdXJlL2Rpc2Nsb3N1cmUuanM/MTdkZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtpbXBvcnR7dXNlRm9jdXNSaW5nIGFzIFF9ZnJvbVwiQHJlYWN0LWFyaWEvZm9jdXNcIjtpbXBvcnR7dXNlSG92ZXIgYXMgWX1mcm9tXCJAcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnNcIjtpbXBvcnQgbSx7RnJhZ21lbnQgYXMgSyxjcmVhdGVDb250ZXh0IGFzIHgsdXNlQ29udGV4dCBhcyBMLHVzZUVmZmVjdCBhcyBqLHVzZU1lbW8gYXMgUix1c2VSZWR1Y2VyIGFzIFosdXNlUmVmIGFzIEF9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlQWN0aXZlUHJlc3MgYXMgZWV9ZnJvbScuLi8uLi9ob29rcy91c2UtYWN0aXZlLXByZXNzLmpzJztpbXBvcnR7dXNlRXZlbnQgYXMgQ31mcm9tJy4uLy4uL2hvb2tzL3VzZS1ldmVudC5qcyc7aW1wb3J0e3VzZUlkIGFzIFd9ZnJvbScuLi8uLi9ob29rcy91c2UtaWQuanMnO2ltcG9ydHt1c2VSZXNvbHZlQnV0dG9uVHlwZSBhcyB0ZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzJztpbXBvcnR7b3B0aW9uYWxSZWYgYXMgbmUsdXNlU3luY1JlZnMgYXMgdn1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHt0cmFuc2l0aW9uRGF0YUF0dHJpYnV0ZXMgYXMgb2UsdXNlVHJhbnNpdGlvbiBhcyByZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS10cmFuc2l0aW9uLmpzJztpbXBvcnR7Q2xvc2VQcm92aWRlciBhcyBsZX1mcm9tJy4uLy4uL2ludGVybmFsL2Nsb3NlLXByb3ZpZGVyLmpzJztpbXBvcnR7T3BlbkNsb3NlZFByb3ZpZGVyIGFzIHNlLFJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyIGFzIGllLFN0YXRlIGFzIEksdXNlT3BlbkNsb3NlZCBhcyB1ZX1mcm9tJy4uLy4uL2ludGVybmFsL29wZW4tY2xvc2VkLmpzJztpbXBvcnR7aXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIGFzIGFlfWZyb20nLi4vLi4vdXRpbHMvYnVncy5qcyc7aW1wb3J0e21hdGNoIGFzIE99ZnJvbScuLi8uLi91dGlscy9tYXRjaC5qcyc7aW1wb3J0e2dldE93bmVyRG9jdW1lbnQgYXMgcGV9ZnJvbScuLi8uLi91dGlscy9vd25lci5qcyc7aW1wb3J0e1JlbmRlckZlYXR1cmVzIGFzICQsZm9yd2FyZFJlZldpdGhBcyBhcyBfLG1lcmdlUHJvcHMgYXMgSixyZW5kZXIgYXMgQix1c2VNZXJnZVJlZnNGbiBhcyBYfWZyb20nLi4vLi4vdXRpbHMvcmVuZGVyLmpzJztpbXBvcnR7c3RhcnRUcmFuc2l0aW9uIGFzIGNlfWZyb20nLi4vLi4vdXRpbHMvc3RhcnQtdHJhbnNpdGlvbi5qcyc7aW1wb3J0e0tleXMgYXMgYn1mcm9tJy4uL2tleWJvYXJkLmpzJzt2YXIgZGU9KHI9PihyW3IuT3Blbj0wXT1cIk9wZW5cIixyW3IuQ2xvc2VkPTFdPVwiQ2xvc2VkXCIscikpKGRlfHx7fSksZmU9KHQ9Pih0W3QuVG9nZ2xlRGlzY2xvc3VyZT0wXT1cIlRvZ2dsZURpc2Nsb3N1cmVcIix0W3QuQ2xvc2VEaXNjbG9zdXJlPTFdPVwiQ2xvc2VEaXNjbG9zdXJlXCIsdFt0LlNldEJ1dHRvbklkPTJdPVwiU2V0QnV0dG9uSWRcIix0W3QuU2V0UGFuZWxJZD0zXT1cIlNldFBhbmVsSWRcIix0W3QuTGlua1BhbmVsPTRdPVwiTGlua1BhbmVsXCIsdFt0LlVubGlua1BhbmVsPTVdPVwiVW5saW5rUGFuZWxcIix0KSkoZmV8fHt9KTtsZXQgVGU9e1swXTplPT4oey4uLmUsZGlzY2xvc3VyZVN0YXRlOk8oZS5kaXNjbG9zdXJlU3RhdGUse1swXToxLFsxXTowfSl9KSxbMV06ZT0+ZS5kaXNjbG9zdXJlU3RhdGU9PT0xP2U6ey4uLmUsZGlzY2xvc3VyZVN0YXRlOjF9LFs0XShlKXtyZXR1cm4gZS5saW5rZWRQYW5lbD09PSEwP2U6ey4uLmUsbGlua2VkUGFuZWw6ITB9fSxbNV0oZSl7cmV0dXJuIGUubGlua2VkUGFuZWw9PT0hMT9lOnsuLi5lLGxpbmtlZFBhbmVsOiExfX0sWzJdKGUsbil7cmV0dXJuIGUuYnV0dG9uSWQ9PT1uLmJ1dHRvbklkP2U6ey4uLmUsYnV0dG9uSWQ6bi5idXR0b25JZH19LFszXShlLG4pe3JldHVybiBlLnBhbmVsSWQ9PT1uLnBhbmVsSWQ/ZTp7Li4uZSxwYW5lbElkOm4ucGFuZWxJZH19fSxNPXgobnVsbCk7TS5kaXNwbGF5TmFtZT1cIkRpc2Nsb3N1cmVDb250ZXh0XCI7ZnVuY3Rpb24gRihlKXtsZXQgbj1MKE0pO2lmKG49PT1udWxsKXtsZXQgcj1uZXcgRXJyb3IoYDwke2V9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPERpc2Nsb3N1cmUgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShyLEYpLHJ9cmV0dXJuIG59bGV0IGs9eChudWxsKTtrLmRpc3BsYXlOYW1lPVwiRGlzY2xvc3VyZUFQSUNvbnRleHRcIjtmdW5jdGlvbiBWKGUpe2xldCBuPUwoayk7aWYobj09PW51bGwpe2xldCByPW5ldyBFcnJvcihgPCR7ZX0gLz4gaXMgbWlzc2luZyBhIHBhcmVudCA8RGlzY2xvc3VyZSAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHIsVikscn1yZXR1cm4gbn1sZXQgSD14KG51bGwpO0guZGlzcGxheU5hbWU9XCJEaXNjbG9zdXJlUGFuZWxDb250ZXh0XCI7ZnVuY3Rpb24gRGUoKXtyZXR1cm4gTChIKX1mdW5jdGlvbiBQZShlLG4pe3JldHVybiBPKG4udHlwZSxUZSxlLG4pfWxldCB5ZT1LO2Z1bmN0aW9uIG1lKGUsbil7bGV0e2RlZmF1bHRPcGVuOnI9ITEsLi4uY309ZSxzPUEobnVsbCksZD12KG4sbmUodT0+e3MuY3VycmVudD11fSxlLmFzPT09dm9pZCAwfHxlLmFzPT09SykpLHQ9QShudWxsKSxvPUEobnVsbCksbD1aKFBlLHtkaXNjbG9zdXJlU3RhdGU6cj8wOjEsbGlua2VkUGFuZWw6ITEsYnV0dG9uUmVmOm8scGFuZWxSZWY6dCxidXR0b25JZDpudWxsLHBhbmVsSWQ6bnVsbH0pLFt7ZGlzY2xvc3VyZVN0YXRlOmYsYnV0dG9uSWQ6aX0sVF09bCxwPUModT0+e1Qoe3R5cGU6MX0pO2xldCBQPXBlKHMpO2lmKCFQfHwhaSlyZXR1cm47bGV0IHk9KCgpPT51P3UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD91OnUuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P3UuY3VycmVudDpQLmdldEVsZW1lbnRCeUlkKGkpOlAuZ2V0RWxlbWVudEJ5SWQoaSkpKCk7eT09bnVsbHx8eS5mb2N1cygpfSksRT1SKCgpPT4oe2Nsb3NlOnB9KSxbcF0pLEQ9UigoKT0+KHtvcGVuOmY9PT0wLGNsb3NlOnB9KSxbZixwXSksZz17cmVmOmR9O3JldHVybiBtLmNyZWF0ZUVsZW1lbnQoTS5Qcm92aWRlcix7dmFsdWU6bH0sbS5jcmVhdGVFbGVtZW50KGsuUHJvdmlkZXIse3ZhbHVlOkV9LG0uY3JlYXRlRWxlbWVudChsZSx7dmFsdWU6cH0sbS5jcmVhdGVFbGVtZW50KHNlLHt2YWx1ZTpPKGYse1swXTpJLk9wZW4sWzFdOkkuQ2xvc2VkfSl9LEIoe291clByb3BzOmcsdGhlaXJQcm9wczpjLHNsb3Q6RCxkZWZhdWx0VGFnOnllLG5hbWU6XCJEaXNjbG9zdXJlXCJ9KSkpKSl9bGV0IEVlPVwiYnV0dG9uXCI7ZnVuY3Rpb24gZ2UoZSxuKXtsZXQgcj1XKCkse2lkOmM9YGhlYWRsZXNzdWktZGlzY2xvc3VyZS1idXR0b24tJHtyfWAsZGlzYWJsZWQ6cz0hMSxhdXRvRm9jdXM6ZD0hMSwuLi50fT1lLFtvLGxdPUYoXCJEaXNjbG9zdXJlLkJ1dHRvblwiKSxmPURlKCksaT1mPT09bnVsbD8hMTpmPT09by5wYW5lbElkLFQ9QShudWxsKSxwPXYoVCxuLGk/bnVsbDpvLmJ1dHRvblJlZiksRT1YKCk7aigoKT0+e2lmKCFpKXJldHVybiBsKHt0eXBlOjIsYnV0dG9uSWQ6Y30pLCgpPT57bCh7dHlwZToyLGJ1dHRvbklkOm51bGx9KX19LFtjLGwsaV0pO2xldCBEPUMoYT0+e3ZhciBTO2lmKGkpe2lmKG8uZGlzY2xvc3VyZVN0YXRlPT09MSlyZXR1cm47c3dpdGNoKGEua2V5KXtjYXNlIGIuU3BhY2U6Y2FzZSBiLkVudGVyOmEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpLGwoe3R5cGU6MH0pLChTPW8uYnV0dG9uUmVmLmN1cnJlbnQpPT1udWxsfHxTLmZvY3VzKCk7YnJlYWt9fWVsc2Ugc3dpdGNoKGEua2V5KXtjYXNlIGIuU3BhY2U6Y2FzZSBiLkVudGVyOmEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpLGwoe3R5cGU6MH0pO2JyZWFrfX0pLGc9QyhhPT57c3dpdGNoKGEua2V5KXtjYXNlIGIuU3BhY2U6YS5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrfX0pLHU9QyhhPT57dmFyIFM7YWUoYS5jdXJyZW50VGFyZ2V0KXx8c3x8KGk/KGwoe3R5cGU6MH0pLChTPW8uYnV0dG9uUmVmLmN1cnJlbnQpPT1udWxsfHxTLmZvY3VzKCkpOmwoe3R5cGU6MH0pKX0pLHtpc0ZvY3VzVmlzaWJsZTpQLGZvY3VzUHJvcHM6eX09USh7YXV0b0ZvY3VzOmR9KSx7aXNIb3ZlcmVkOlUsaG92ZXJQcm9wczpofT1ZKHtpc0Rpc2FibGVkOnN9KSx7cHJlc3NlZDpOLHByZXNzUHJvcHM6d309ZWUoe2Rpc2FibGVkOnN9KSxxPVIoKCk9Pih7b3BlbjpvLmRpc2Nsb3N1cmVTdGF0ZT09PTAsaG92ZXI6VSxhY3RpdmU6TixkaXNhYmxlZDpzLGZvY3VzOlAsYXV0b2ZvY3VzOmR9KSxbbyxVLE4sUCxzLGRdKSxHPXRlKGUsVCksej1pP0ooe3JlZjpwLHR5cGU6RyxkaXNhYmxlZDpzfHx2b2lkIDAsYXV0b0ZvY3VzOmQsb25LZXlEb3duOkQsb25DbGljazp1fSx5LGgsdyk6Sih7cmVmOnAsaWQ6Yyx0eXBlOkcsXCJhcmlhLWV4cGFuZGVkXCI6by5kaXNjbG9zdXJlU3RhdGU9PT0wLFwiYXJpYS1jb250cm9sc1wiOm8ubGlua2VkUGFuZWw/by5wYW5lbElkOnZvaWQgMCxkaXNhYmxlZDpzfHx2b2lkIDAsYXV0b0ZvY3VzOmQsb25LZXlEb3duOkQsb25LZXlVcDpnLG9uQ2xpY2s6dX0seSxoLHcpO3JldHVybiBCKHttZXJnZVJlZnM6RSxvdXJQcm9wczp6LHRoZWlyUHJvcHM6dCxzbG90OnEsZGVmYXVsdFRhZzpFZSxuYW1lOlwiRGlzY2xvc3VyZS5CdXR0b25cIn0pfWxldCBTZT1cImRpdlwiLGJlPSQuUmVuZGVyU3RyYXRlZ3l8JC5TdGF0aWM7ZnVuY3Rpb24gUmUoZSxuKXtsZXQgcj1XKCkse2lkOmM9YGhlYWRsZXNzdWktZGlzY2xvc3VyZS1wYW5lbC0ke3J9YCx0cmFuc2l0aW9uOnM9ITEsLi4uZH09ZSxbdCxvXT1GKFwiRGlzY2xvc3VyZS5QYW5lbFwiKSx7Y2xvc2U6bH09VihcIkRpc2Nsb3N1cmUuUGFuZWxcIiksZj1YKCksaT12KG4sdC5wYW5lbFJlZix1PT57Y2UoKCk9Pm8oe3R5cGU6dT80OjV9KSl9KTtqKCgpPT4obyh7dHlwZTozLHBhbmVsSWQ6Y30pLCgpPT57byh7dHlwZTozLHBhbmVsSWQ6bnVsbH0pfSksW2Msb10pO2xldCBUPXVlKCksW3AsRV09cmUocyx0LnBhbmVsUmVmLFQhPT1udWxsPyhUJkkuT3Blbik9PT1JLk9wZW46dC5kaXNjbG9zdXJlU3RhdGU9PT0wKSxEPVIoKCk9Pih7b3Blbjp0LmRpc2Nsb3N1cmVTdGF0ZT09PTAsY2xvc2U6bH0pLFt0LmRpc2Nsb3N1cmVTdGF0ZSxsXSksZz17cmVmOmksaWQ6YywuLi5vZShFKX07cmV0dXJuIG0uY3JlYXRlRWxlbWVudChpZSxudWxsLG0uY3JlYXRlRWxlbWVudChILlByb3ZpZGVyLHt2YWx1ZTp0LnBhbmVsSWR9LEIoe21lcmdlUmVmczpmLG91clByb3BzOmcsdGhlaXJQcm9wczpkLHNsb3Q6RCxkZWZhdWx0VGFnOlNlLGZlYXR1cmVzOmJlLHZpc2libGU6cCxuYW1lOlwiRGlzY2xvc3VyZS5QYW5lbFwifSkpKX1sZXQgQWU9XyhtZSksQ2U9XyhnZSksSWU9XyhSZSksV2U9T2JqZWN0LmFzc2lnbihBZSx7QnV0dG9uOkNlLFBhbmVsOkllfSk7ZXhwb3J0e1dlIGFzIERpc2Nsb3N1cmUsQ2UgYXMgRGlzY2xvc3VyZUJ1dHRvbixJZSBhcyBEaXNjbG9zdXJlUGFuZWx9O1xuIl0sIm5hbWVzIjpbInVzZUZvY3VzUmluZyIsIlEiLCJ1c2VIb3ZlciIsIlkiLCJtIiwiRnJhZ21lbnQiLCJLIiwiY3JlYXRlQ29udGV4dCIsIngiLCJ1c2VDb250ZXh0IiwiTCIsInVzZUVmZmVjdCIsImoiLCJ1c2VNZW1vIiwiUiIsInVzZVJlZHVjZXIiLCJaIiwidXNlUmVmIiwiQSIsInVzZUFjdGl2ZVByZXNzIiwiZWUiLCJ1c2VFdmVudCIsIkMiLCJ1c2VJZCIsIlciLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSIsInRlIiwib3B0aW9uYWxSZWYiLCJuZSIsInVzZVN5bmNSZWZzIiwidiIsInRyYW5zaXRpb25EYXRhQXR0cmlidXRlcyIsIm9lIiwidXNlVHJhbnNpdGlvbiIsInJlIiwiQ2xvc2VQcm92aWRlciIsImxlIiwiT3BlbkNsb3NlZFByb3ZpZGVyIiwic2UiLCJSZXNldE9wZW5DbG9zZWRQcm92aWRlciIsImllIiwiU3RhdGUiLCJJIiwidXNlT3BlbkNsb3NlZCIsInVlIiwiaXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIiwiYWUiLCJtYXRjaCIsIk8iLCJnZXRPd25lckRvY3VtZW50IiwicGUiLCJSZW5kZXJGZWF0dXJlcyIsIiQiLCJmb3J3YXJkUmVmV2l0aEFzIiwiXyIsIm1lcmdlUHJvcHMiLCJKIiwicmVuZGVyIiwiQiIsInVzZU1lcmdlUmVmc0ZuIiwiWCIsInN0YXJ0VHJhbnNpdGlvbiIsImNlIiwiS2V5cyIsImIiLCJkZSIsInIiLCJPcGVuIiwiQ2xvc2VkIiwiZmUiLCJ0IiwiVG9nZ2xlRGlzY2xvc3VyZSIsIkNsb3NlRGlzY2xvc3VyZSIsIlNldEJ1dHRvbklkIiwiU2V0UGFuZWxJZCIsIkxpbmtQYW5lbCIsIlVubGlua1BhbmVsIiwiVGUiLCJlIiwiZGlzY2xvc3VyZVN0YXRlIiwibGlua2VkUGFuZWwiLCJuIiwiYnV0dG9uSWQiLCJwYW5lbElkIiwiTSIsImRpc3BsYXlOYW1lIiwiRiIsIkVycm9yIiwiY2FwdHVyZVN0YWNrVHJhY2UiLCJrIiwiViIsIkgiLCJEZSIsIlBlIiwidHlwZSIsInllIiwibWUiLCJkZWZhdWx0T3BlbiIsImMiLCJzIiwiZCIsInUiLCJjdXJyZW50IiwiYXMiLCJvIiwibCIsImJ1dHRvblJlZiIsInBhbmVsUmVmIiwiZiIsImkiLCJUIiwicCIsIlAiLCJ5IiwiSFRNTEVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImZvY3VzIiwiRSIsImNsb3NlIiwiRCIsIm9wZW4iLCJnIiwicmVmIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJvdXJQcm9wcyIsInRoZWlyUHJvcHMiLCJzbG90IiwiZGVmYXVsdFRhZyIsIm5hbWUiLCJFZSIsImdlIiwiaWQiLCJkaXNhYmxlZCIsImF1dG9Gb2N1cyIsImEiLCJTIiwia2V5IiwiU3BhY2UiLCJFbnRlciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudFRhcmdldCIsImlzRm9jdXNWaXNpYmxlIiwiZm9jdXNQcm9wcyIsImlzSG92ZXJlZCIsIlUiLCJob3ZlclByb3BzIiwiaCIsImlzRGlzYWJsZWQiLCJwcmVzc2VkIiwiTiIsInByZXNzUHJvcHMiLCJ3IiwicSIsImhvdmVyIiwiYWN0aXZlIiwiYXV0b2ZvY3VzIiwiRyIsInoiLCJvbktleURvd24iLCJvbkNsaWNrIiwib25LZXlVcCIsIm1lcmdlUmVmcyIsIlNlIiwiYmUiLCJSZW5kZXJTdHJhdGVneSIsIlN0YXRpYyIsIlJlIiwidHJhbnNpdGlvbiIsImZlYXR1cmVzIiwidmlzaWJsZSIsIkFlIiwiQ2UiLCJJZSIsIldlIiwiT2JqZWN0IiwiYXNzaWduIiwiQnV0dG9uIiwiUGFuZWwiLCJEaXNjbG9zdXJlIiwiRGlzY2xvc3VyZUJ1dHRvbiIsIkRpc2Nsb3N1cmVQYW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js": -/*!****************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-flags.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFlags: function() { return /* binding */ c; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction c() {\n let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;\n let [t, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(u), g = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l(e), [\n t\n ]), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a | e), [\n t\n ]), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>(t & e) === e, [\n t\n ]), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a & ~e), [\n l\n ]), F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a ^ e), [\n l\n ]);\n return {\n flags: t,\n setFlag: g,\n addFlag: s,\n hasFlag: m,\n removeFlag: n,\n toggleFlag: F\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1mbGFncy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrRDtBQUFBLFNBQVNJO1FBQUVDLElBQUFBLGlFQUFFO0lBQUcsSUFBRyxDQUFDQyxHQUFFQyxFQUFFLEdBQUNKLCtDQUFDQSxDQUFDRSxJQUFHRyxJQUFFUCxrREFBQ0EsQ0FBQ1EsQ0FBQUEsSUFBR0YsRUFBRUUsSUFBRztRQUFDSDtLQUFFLEdBQUVJLElBQUVULGtEQUFDQSxDQUFDUSxDQUFBQSxJQUFHRixFQUFFSSxDQUFBQSxJQUFHQSxJQUFFRixJQUFHO1FBQUNIO0tBQUUsR0FBRU0sSUFBRVgsa0RBQUNBLENBQUNRLENBQUFBLElBQUcsQ0FBQ0gsSUFBRUcsQ0FBQUEsTUFBS0EsR0FBRTtRQUFDSDtLQUFFLEdBQUVPLElBQUVaLGtEQUFDQSxDQUFDUSxDQUFBQSxJQUFHRixFQUFFSSxDQUFBQSxJQUFHQSxJQUFFLENBQUNGLElBQUc7UUFBQ0Y7S0FBRSxHQUFFTyxJQUFFYixrREFBQ0EsQ0FBQ1EsQ0FBQUEsSUFBR0YsRUFBRUksQ0FBQUEsSUFBR0EsSUFBRUYsSUFBRztRQUFDRjtLQUFFO0lBQUUsT0FBTTtRQUFDUSxPQUFNVDtRQUFFVSxTQUFRUjtRQUFFUyxTQUFRUDtRQUFFUSxTQUFRTjtRQUFFTyxZQUFXTjtRQUFFTyxZQUFXTjtJQUFDO0FBQUM7QUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWZsYWdzLmpzPzgwZmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZUNhbGxiYWNrIGFzIHIsdXNlU3RhdGUgYXMgYn1mcm9tXCJyZWFjdFwiO2Z1bmN0aW9uIGModT0wKXtsZXRbdCxsXT1iKHUpLGc9cihlPT5sKGUpLFt0XSkscz1yKGU9PmwoYT0+YXxlKSxbdF0pLG09cihlPT4odCZlKT09PWUsW3RdKSxuPXIoZT0+bChhPT5hJn5lKSxbbF0pLEY9cihlPT5sKGE9PmFeZSksW2xdKTtyZXR1cm57ZmxhZ3M6dCxzZXRGbGFnOmcsYWRkRmxhZzpzLGhhc0ZsYWc6bSxyZW1vdmVGbGFnOm4sdG9nZ2xlRmxhZzpGfX1leHBvcnR7YyBhcyB1c2VGbGFnc307XG4iXSwibmFtZXMiOlsidXNlQ2FsbGJhY2siLCJyIiwidXNlU3RhdGUiLCJiIiwiYyIsInUiLCJ0IiwibCIsImciLCJlIiwicyIsImEiLCJtIiwibiIsIkYiLCJmbGFncyIsInNldEZsYWciLCJhZGRGbGFnIiwiaGFzRmxhZyIsInJlbW92ZUZsYWciLCJ0b2dnbGVGbGFnIiwidXNlRmxhZ3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/hooks/use-transition.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ transitionDataAttributes: function() { return /* binding */ A; },\n/* harmony export */ useTransition: function() { return /* binding */ V; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _utils_once_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/once.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js\");\n/* harmony import */ var _use_disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _use_flags_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-flags.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\n\n\n\n\nvar D = ((i)=>(i[i.None = 0] = \"None\", i[i.Closed = 1] = \"Closed\", i[i.Enter = 2] = \"Enter\", i[i.Leave = 4] = \"Leave\", i))(D || {});\nfunction A(e) {\n let a = {};\n for(let t in e)e[t] === !0 && (a[`data-${t}`] = \"\");\n return a;\n}\n_c = A;\nfunction V(e, a, t, r) {\n let [i, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(t), { hasFlag: d, addFlag: f, removeFlag: s } = (0,_use_flags_js__WEBPACK_IMPORTED_MODULE_1__.useFlags)(e && i ? 3 : 0), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), o = (0,_use_disposables_js__WEBPACK_IMPORTED_MODULE_2__.useDisposables)();\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__.useIsoMorphicEffect)(function p() {\n var T;\n if (!e) return;\n t && u(!0);\n let c = a.current;\n return c ? ((T = r == null ? void 0 : r.start) == null || T.call(r, t), M(c, {\n inFlight: l,\n prepare () {\n n.current ? n.current = !1 : n.current = l.current, l.current = !0, !n.current && (t ? (f(3), s(4)) : (f(4), s(2)));\n },\n run () {\n n.current ? t ? (s(3), f(4)) : (s(4), f(3)) : t ? s(1) : f(1);\n },\n done () {\n var m;\n n.current && typeof c.getAnimations == \"function\" && c.getAnimations().length > 0 || (l.current = !1, s(7), t || u(!1), (m = r == null ? void 0 : r.end) == null || m.call(r, t));\n }\n })) : t ? (f(3), o.nextFrame(()=>p())) : void 0;\n }, [\n e,\n t,\n a,\n o\n ]), e ? [\n i,\n {\n closed: d(1),\n enter: d(2),\n leave: d(4),\n transition: d(2) || d(4)\n }\n ] : [\n t,\n {\n closed: void 0,\n enter: void 0,\n leave: void 0,\n transition: void 0\n }\n ];\n}\n_c1 = V;\nfunction M(e, param) {\n let { prepare: a, run: t, done: r, inFlight: i } = param;\n let u = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n return R(e, {\n prepare: a,\n inFlight: i\n }), u.nextFrame(()=>{\n u.add(F(e, r)), t();\n }), u.dispose;\n}\n_c2 = M;\nfunction F(e, a) {\n let t = (0,_utils_once_js__WEBPACK_IMPORTED_MODULE_5__.once)(a), r = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n if (!e) return r.dispose;\n let { transitionDuration: i, transitionDelay: u } = getComputedStyle(e), [d, f] = [\n i,\n u\n ].map((l)=>{\n let [n = 0] = l.split(\",\").filter(Boolean).map((o)=>o.includes(\"ms\") ? parseFloat(o) : parseFloat(o) * 1e3).sort((o, p)=>p - o);\n return n;\n }), s = d + f;\n if (s !== 0) {\n let l = r.group((n)=>{\n let o = n.setTimeout(()=>{\n t(), n.dispose();\n }, s);\n n.addEventListener(e, \"transitionrun\", (p)=>{\n p.target === p.currentTarget && (o(), n.addEventListener(e, \"transitioncancel\", (c)=>{\n c.target === c.currentTarget && (t(), l());\n }));\n });\n });\n r.addEventListener(e, \"transitionend\", (n)=>{\n n.target === n.currentTarget && (t(), r.dispose());\n });\n } else t();\n return r.dispose;\n}\n_c3 = F;\nfunction R(e, param) {\n let { inFlight: a, prepare: t } = param;\n if (a != null && a.current) {\n t();\n return;\n }\n let r = e.style.transition;\n e.style.transition = \"none\", t(), e.offsetHeight, e.style.transition = r;\n}\n_c4 = R;\n\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"A\");\n$RefreshReg$(_c1, \"V\");\n$RefreshReg$(_c2, \"M\");\n$RefreshReg$(_c3, \"F\");\n$RefreshReg$(_c4, \"R\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS10cmFuc2l0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQTZDO0FBQXNEO0FBQXdDO0FBQXNEO0FBQTBDO0FBQWtFO0FBQUEsSUFBSWMsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxNQUFNLEdBQUMsRUFBRSxHQUFDLFVBQVNGLENBQUMsQ0FBQ0EsRUFBRUcsS0FBSyxHQUFDLEVBQUUsR0FBQyxTQUFRSCxDQUFDLENBQUNBLEVBQUVJLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUosQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTTSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRSxDQUFDO0lBQUUsSUFBSSxJQUFJQyxLQUFLRixFQUFFQSxDQUFDLENBQUNFLEVBQUUsS0FBRyxDQUFDLEtBQUlELENBQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRUMsRUFBRSxDQUFDLENBQUMsR0FBQyxFQUFDO0lBQUcsT0FBT0Q7QUFBQztLQUFwRUY7QUFBcUUsU0FBU0ksRUFBRUgsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0UsQ0FBQztJQUFFLElBQUcsQ0FBQ1YsR0FBRVcsRUFBRSxHQUFDdkIsK0NBQUNBLENBQUNvQixJQUFHLEVBQUNJLFNBQVFDLENBQUMsRUFBQ0MsU0FBUUMsQ0FBQyxFQUFDQyxZQUFXQyxDQUFDLEVBQUMsR0FBQ3JCLHVEQUFDQSxDQUFDVSxLQUFHTixJQUFFLElBQUUsSUFBR2tCLElBQUVoQyw2Q0FBQ0EsQ0FBQyxDQUFDLElBQUdpQyxJQUFFakMsNkNBQUNBLENBQUMsQ0FBQyxJQUFHa0MsSUFBRTFCLG1FQUFDQTtJQUFHLE9BQU9JLCtFQUFDQSxDQUFDLFNBQVN1QjtR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bEMsRUFBRXNELEtBQUssQ0FBQ3BCLFVBQVUsR0FBQyxRQUFPaEMsS0FBSUYsRUFBRXVELFlBQVksRUFBQ3ZELEVBQUVzRCxLQUFLLENBQUNwQixVQUFVLEdBQUM5QjtBQUFDO01BQXhKK0I7QUFBa04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXRyYW5zaXRpb24uanM/NmE3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlUmVmIGFzIGIsdXNlU3RhdGUgYXMgU31mcm9tXCJyZWFjdFwiO2ltcG9ydHtkaXNwb3NhYmxlcyBhcyBFfWZyb20nLi4vdXRpbHMvZGlzcG9zYWJsZXMuanMnO2ltcG9ydHtvbmNlIGFzIGd9ZnJvbScuLi91dGlscy9vbmNlLmpzJztpbXBvcnR7dXNlRGlzcG9zYWJsZXMgYXMgTH1mcm9tJy4vdXNlLWRpc3Bvc2FibGVzLmpzJztpbXBvcnR7dXNlRmxhZ3MgYXMgeX1mcm9tJy4vdXNlLWZsYWdzLmpzJztpbXBvcnR7dXNlSXNvTW9ycGhpY0VmZmVjdCBhcyBDfWZyb20nLi91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJzt2YXIgRD0oaT0+KGlbaS5Ob25lPTBdPVwiTm9uZVwiLGlbaS5DbG9zZWQ9MV09XCJDbG9zZWRcIixpW2kuRW50ZXI9Ml09XCJFbnRlclwiLGlbaS5MZWF2ZT00XT1cIkxlYXZlXCIsaSkpKER8fHt9KTtmdW5jdGlvbiBBKGUpe2xldCBhPXt9O2ZvcihsZXQgdCBpbiBlKWVbdF09PT0hMCYmKGFbYGRhdGEtJHt0fWBdPVwiXCIpO3JldHVybiBhfWZ1bmN0aW9uIFYoZSxhLHQscil7bGV0W2ksdV09Uyh0KSx7aGFzRmxhZzpkLGFkZEZsYWc6ZixyZW1vdmVGbGFnOnN9PXkoZSYmaT8zOjApLGw9YighMSksbj1iKCExKSxvPUwoKTtyZXR1cm4gQyhmdW5jdGlvbiBwKCl7dmFyIFQ7aWYoIWUpcmV0dXJuO3QmJnUoITApO2xldCBjPWEuY3VycmVudDtyZXR1cm4gYz8oKFQ9cj09bnVsbD92b2lkIDA6ci5zdGFydCk9PW51bGx8fFQuY2FsbChyLHQpLE0oYyx7aW5GbGlnaHQ6bCxwcmVwYXJlKCl7bi5jdXJyZW50P24uY3VycmVudD0hMTpuLmN1cnJlbnQ9bC5jdXJyZW50LGwuY3VycmVudD0hMCwhbi5jdXJyZW50JiYodD8oZigzKSxzKDQpKTooZig0KSxzKDIpKSl9LHJ1bigpe24uY3VycmVudD90PyhzKDMpLGYoNCkpOihzKDQpLGYoMykpOnQ/cygxKTpmKDEpfSxkb25lKCl7dmFyIG07bi5jdXJyZW50JiZ0eXBlb2YgYy5nZXRBbmltYXRpb25zPT1cImZ1bmN0aW9uXCImJmMuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aD4wfHwobC5jdXJyZW50PSExLHMoNyksdHx8dSghMSksKG09cj09bnVsbD92b2lkIDA6ci5lbmQpPT1udWxsfHxtLmNhbGwocix0KSl9fSkpOnQ/KGYoMyksby5uZXh0RnJhbWUoKCk9PnAoKSkpOnZvaWQgMH0sW2UsdCxhLG9dKSxlP1tpLHtjbG9zZWQ6ZCgxKSxlbnRlcjpkKDIpLGxlYXZlOmQoNCksdHJhbnNpdGlvbjpkKDIpfHxkKDQpfV06W3Qse2Nsb3NlZDp2b2lkIDAsZW50ZXI6dm9pZCAwLGxlYXZlOnZvaWQgMCx0cmFuc2l0aW9uOnZvaWQgMH1dfWZ1bmN0aW9uIE0oZSx7cHJlcGFyZTphLHJ1bjp0LGRvbmU6cixpbkZsaWdodDppfSl7bGV0IHU9RSgpO3JldHVybiBSKGUse3ByZXBhcmU6YSxpbkZsaWdodDppfSksdS5uZXh0RnJhbWUoKCk9Pnt1LmFkZChGKGUscikpLHQoKX0pLHUuZGlzcG9zZX1mdW5jdGlvbiBGKGUsYSl7bGV0IHQ9ZyhhKSxyPUUoKTtpZighZSlyZXR1cm4gci5kaXNwb3NlO2xldHt0cmFuc2l0aW9uRHVyYXRpb246aSx0cmFuc2l0aW9uRGVsYXk6dX09Z2V0Q29tcHV0ZWRTdHlsZShlKSxbZCxmXT1baSx1XS5tYXAobD0+e2xldFtuPTBdPWwuc3BsaXQoXCIsXCIpLmZpbHRlcihCb29sZWFuKS5tYXAobz0+by5pbmNsdWRlcyhcIm1zXCIpP3BhcnNlRmxvYXQobyk6cGFyc2VGbG9hdChvKSoxZTMpLnNvcnQoKG8scCk9PnAtbyk7cmV0dXJuIG59KSxzPWQrZjtpZihzIT09MCl7bGV0IGw9ci5ncm91cChuPT57bGV0IG89bi5zZXRUaW1lb3V0KCgpPT57dCgpLG4uZGlzcG9zZSgpfSxzKTtuLmFkZEV2ZW50TGlzdGVuZXIoZSxcInRyYW5zaXRpb25ydW5cIixwPT57cC50YXJnZXQ9PT1wLmN1cnJlbnRUYXJnZXQmJihvKCksbi5hZGRFdmVudExpc3RlbmVyKGUsXCJ0cmFuc2l0aW9uY2FuY2VsXCIsYz0+e2MudGFyZ2V0PT09Yy5jdXJyZW50VGFyZ2V0JiYodCgpLGwoKSl9KSl9KX0pO3IuYWRkRXZlbnRMaXN0ZW5lcihlLFwidHJhbnNpdGlvbmVuZFwiLG49PntuLnRhcmdldD09PW4uY3VycmVudFRhcmdldCYmKHQoKSxyLmRpc3Bvc2UoKSl9KX1lbHNlIHQoKTtyZXR1cm4gci5kaXNwb3NlfWZ1bmN0aW9uIFIoZSx7aW5GbGlnaHQ6YSxwcmVwYXJlOnR9KXtpZihhIT1udWxsJiZhLmN1cnJlbnQpe3QoKTtyZXR1cm59bGV0IHI9ZS5zdHlsZS50cmFuc2l0aW9uO2Uuc3R5bGUudHJhbnNpdGlvbj1cIm5vbmVcIix0KCksZS5vZmZzZXRIZWlnaHQsZS5zdHlsZS50cmFuc2l0aW9uPXJ9ZXhwb3J0e0EgYXMgdHJhbnNpdGlvbkRhdGFBdHRyaWJ1dGVzLFYgYXMgdXNlVHJhbnNpdGlvbn07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiYiIsInVzZVN0YXRlIiwiUyIsImRpc3Bvc2FibGVzIiwiRSIsIm9uY2UiLCJnIiwidXNlRGlzcG9zYWJsZXMiLCJMIiwidXNlRmxhZ3MiLCJ5IiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsIkMiLCJEIiwiaSIsIk5vbmUiLCJDbG9zZWQiLCJFbnRlciIsIkxlYXZlIiwiQSIsImUiLCJhIiwidCIsIlYiLCJyIiwidSIsImhhc0ZsYWciLCJkIiwiYWRkRmxhZyIsImYiLCJyZW1vdmVGbGFnIiwicyIsImwiLCJuIiwibyIsInAiLCJUIiwiYyIsImN1cnJlbnQiLCJzdGFydCIsImNhbGwiLCJNIiwiaW5GbGlnaHQiLCJwcmVwYXJlIiwicnVuIiwiZG9uZSIsIm0iLCJnZXRBbmltYXRpb25zIiwibGVuZ3RoIiwiZW5kIiwibmV4dEZyYW1lIiwiY2xvc2VkIiwiZW50ZXIiLCJsZWF2ZSIsInRyYW5zaXRpb24iLCJSIiwiYWRkIiwiRiIsImRpc3Bvc2UiLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJ0cmFuc2l0aW9uRGVsYXkiLCJnZXRDb21wdXRlZFN0eWxlIiwibWFwIiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwiaW5jbHVkZXMiLCJwYXJzZUZsb2F0Iiwic29ydCIsImdyb3VwIiwic2V0VGltZW91dCIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0YXJnZXQiLCJjdXJyZW50VGFyZ2V0Iiwic3R5bGUiLCJvZmZzZXRIZWlnaHQiLCJ0cmFuc2l0aW9uRGF0YUF0dHJpYnV0ZXMiLCJ1c2VUcmFuc2l0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js": -/*!************************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/close-provider.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CloseProvider: function() { return /* binding */ u; },\n/* harmony export */ useClose: function() { return /* binding */ l; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nlet e = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(()=>{});\nfunction l() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(e);\n}\nfunction u(param) {\n let { value: o, children: t } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(e.Provider, {\n value: o\n }, t);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2Nsb3NlLXByb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5RDtBQUFBLElBQUlLLGtCQUFFSCxvREFBQ0EsQ0FBQyxLQUFLO0FBQUcsU0FBU0k7SUFBSSxPQUFPRixpREFBQ0EsQ0FBQ0M7QUFBRTtBQUFDLFNBQVNFLEVBQUUsS0FBb0I7UUFBcEIsRUFBQ0MsT0FBTUMsQ0FBQyxFQUFDQyxVQUFTQyxDQUFDLEVBQUMsR0FBcEI7SUFBc0IscUJBQU9YLGdEQUFlLENBQUNLLEVBQUVRLFFBQVEsRUFBQztRQUFDTCxPQUFNQztJQUFDLEdBQUVFO0FBQUU7QUFBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvY2xvc2UtcHJvdmlkZXIuanM/N2E4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcix7Y3JlYXRlQ29udGV4dCBhcyBuLHVzZUNvbnRleHQgYXMgaX1mcm9tXCJyZWFjdFwiO2xldCBlPW4oKCk9Pnt9KTtmdW5jdGlvbiBsKCl7cmV0dXJuIGkoZSl9ZnVuY3Rpb24gdSh7dmFsdWU6byxjaGlsZHJlbjp0fSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChlLlByb3ZpZGVyLHt2YWx1ZTpvfSx0KX1leHBvcnR7dSBhcyBDbG9zZVByb3ZpZGVyLGwgYXMgdXNlQ2xvc2V9O1xuIl0sIm5hbWVzIjpbInIiLCJjcmVhdGVDb250ZXh0IiwibiIsInVzZUNvbnRleHQiLCJpIiwiZSIsImwiLCJ1IiwidmFsdWUiLCJvIiwiY2hpbGRyZW4iLCJ0IiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwiQ2xvc2VQcm92aWRlciIsInVzZUNsb3NlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/internal/open-closed.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpenClosedProvider: function() { return /* binding */ c; },\n/* harmony export */ ResetOpenClosedProvider: function() { return /* binding */ s; },\n/* harmony export */ State: function() { return /* binding */ i; },\n/* harmony export */ useOpenClosed: function() { return /* binding */ u; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nlet n = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nn.displayName = \"OpenClosedContext\";\nvar i = ((e)=>(e[e.Open = 1] = \"Open\", e[e.Closed = 2] = \"Closed\", e[e.Closing = 4] = \"Closing\", e[e.Opening = 8] = \"Opening\", e))(i || {});\nfunction u() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(n);\n}\nfunction c(param) {\n let { value: o, children: t } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(n.Provider, {\n value: o\n }, t);\n}\nfunction s(param) {\n let { children: o } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(n.Provider, {\n value: null\n }, o);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL29wZW4tY2xvc2VkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXlEO0FBQUEsSUFBSUssa0JBQUVILG9EQUFDQSxDQUFDO0FBQU1HLEVBQUVDLFdBQVcsR0FBQztBQUFvQixJQUFJQyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQyxDQUFDQSxFQUFFRyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVILENBQUMsQ0FBQ0EsRUFBRUksT0FBTyxHQUFDLEVBQUUsR0FBQyxXQUFVSixDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNNO0lBQUksT0FBT1QsaURBQUNBLENBQUNDO0FBQUU7QUFBQyxTQUFTUyxFQUFFLEtBQW9CO1FBQXBCLEVBQUNDLE9BQU1DLENBQUMsRUFBQ0MsVUFBU0MsQ0FBQyxFQUFDLEdBQXBCO0lBQXNCLHFCQUFPbEIsZ0RBQWUsQ0FBQ0ssRUFBRWUsUUFBUSxFQUFDO1FBQUNMLE9BQU1DO0lBQUMsR0FBRUU7QUFBRTtBQUFDLFNBQVNHLEVBQUUsS0FBWTtRQUFaLEVBQUNKLFVBQVNELENBQUMsRUFBQyxHQUFaO0lBQWMscUJBQU9oQixnREFBZSxDQUFDSyxFQUFFZSxRQUFRLEVBQUM7UUFBQ0wsT0FBTTtJQUFJLEdBQUVDO0FBQUU7QUFBNEYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvb3Blbi1jbG9zZWQuanM/ZGE5MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcix7Y3JlYXRlQ29udGV4dCBhcyBsLHVzZUNvbnRleHQgYXMgZH1mcm9tXCJyZWFjdFwiO2xldCBuPWwobnVsbCk7bi5kaXNwbGF5TmFtZT1cIk9wZW5DbG9zZWRDb250ZXh0XCI7dmFyIGk9KGU9PihlW2UuT3Blbj0xXT1cIk9wZW5cIixlW2UuQ2xvc2VkPTJdPVwiQ2xvc2VkXCIsZVtlLkNsb3Npbmc9NF09XCJDbG9zaW5nXCIsZVtlLk9wZW5pbmc9OF09XCJPcGVuaW5nXCIsZSkpKGl8fHt9KTtmdW5jdGlvbiB1KCl7cmV0dXJuIGQobil9ZnVuY3Rpb24gYyh7dmFsdWU6byxjaGlsZHJlbjp0fSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChuLlByb3ZpZGVyLHt2YWx1ZTpvfSx0KX1mdW5jdGlvbiBzKHtjaGlsZHJlbjpvfSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChuLlByb3ZpZGVyLHt2YWx1ZTpudWxsfSxvKX1leHBvcnR7YyBhcyBPcGVuQ2xvc2VkUHJvdmlkZXIscyBhcyBSZXNldE9wZW5DbG9zZWRQcm92aWRlcixpIGFzIFN0YXRlLHUgYXMgdXNlT3BlbkNsb3NlZH07XG4iXSwibmFtZXMiOlsiciIsImNyZWF0ZUNvbnRleHQiLCJsIiwidXNlQ29udGV4dCIsImQiLCJuIiwiZGlzcGxheU5hbWUiLCJpIiwiZSIsIk9wZW4iLCJDbG9zZWQiLCJDbG9zaW5nIiwiT3BlbmluZyIsInUiLCJjIiwidmFsdWUiLCJvIiwiY2hpbGRyZW4iLCJ0IiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwicyIsIk9wZW5DbG9zZWRQcm92aWRlciIsIlJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyIiwiU3RhdGUiLCJ1c2VPcGVuQ2xvc2VkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js": -/*!***********************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/bugs.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isDisabledReactIssue7711: function() { return /* binding */ r; }\n/* harmony export */ });\nfunction r(n) {\n let e = n.parentElement, l = null;\n for(; e && !(e instanceof HTMLFieldSetElement);)e instanceof HTMLLegendElement && (l = e), e = e.parentElement;\n let t = (e == null ? void 0 : e.getAttribute(\"disabled\")) === \"\";\n return t && i(l) ? !1 : t;\n}\nfunction i(n) {\n if (!n) return !1;\n let e = n.previousElementSibling;\n for(; e !== null;){\n if (e instanceof HTMLLegendElement) return !1;\n e = e.previousElementSibling;\n }\n return !0;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2J1Z3MuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFRCxFQUFFRSxhQUFhLEVBQUNDLElBQUU7SUFBSyxNQUFLRixLQUFHLENBQUVBLENBQUFBLGFBQWFHLG1CQUFrQixHQUFJSCxhQUFhSSxxQkFBb0JGLENBQUFBLElBQUVGLENBQUFBLEdBQUdBLElBQUVBLEVBQUVDLGFBQWE7SUFBQyxJQUFJSSxJQUFFLENBQUNMLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVNLFlBQVksQ0FBQyxXQUFVLE1BQUs7SUFBRyxPQUFPRCxLQUFHRSxFQUFFTCxLQUFHLENBQUMsSUFBRUc7QUFBQztBQUFDLFNBQVNFLEVBQUVSLENBQUM7SUFBRSxJQUFHLENBQUNBLEdBQUUsT0FBTSxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRVMsc0JBQXNCO0lBQUMsTUFBS1IsTUFBSSxNQUFNO1FBQUMsSUFBR0EsYUFBYUksbUJBQWtCLE9BQU0sQ0FBQztRQUFFSixJQUFFQSxFQUFFUSxzQkFBc0I7SUFBQTtJQUFDLE9BQU0sQ0FBQztBQUFDO0FBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2J1Z3MuanM/NzE1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiByKG4pe2xldCBlPW4ucGFyZW50RWxlbWVudCxsPW51bGw7Zm9yKDtlJiYhKGUgaW5zdGFuY2VvZiBIVE1MRmllbGRTZXRFbGVtZW50KTspZSBpbnN0YW5jZW9mIEhUTUxMZWdlbmRFbGVtZW50JiYobD1lKSxlPWUucGFyZW50RWxlbWVudDtsZXQgdD0oZT09bnVsbD92b2lkIDA6ZS5nZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKSk9PT1cIlwiO3JldHVybiB0JiZpKGwpPyExOnR9ZnVuY3Rpb24gaShuKXtpZighbilyZXR1cm4hMTtsZXQgZT1uLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7Zm9yKDtlIT09bnVsbDspe2lmKGUgaW5zdGFuY2VvZiBIVE1MTGVnZW5kRWxlbWVudClyZXR1cm4hMTtlPWUucHJldmlvdXNFbGVtZW50U2libGluZ31yZXR1cm4hMH1leHBvcnR7ciBhcyBpc0Rpc2FibGVkUmVhY3RJc3N1ZTc3MTF9O1xuIl0sIm5hbWVzIjpbInIiLCJuIiwiZSIsInBhcmVudEVsZW1lbnQiLCJsIiwiSFRNTEZpZWxkU2V0RWxlbWVudCIsIkhUTUxMZWdlbmRFbGVtZW50IiwidCIsImdldEF0dHJpYnV0ZSIsImkiLCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwiaXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js": -/*!***********************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/once.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ once: function() { return /* binding */ l; }\n/* harmony export */ });\nfunction l(r) {\n let e = {\n called: !1\n };\n return function() {\n for(var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++){\n t[_key] = arguments[_key];\n }\n if (!e.called) return e.called = !0, r(...t);\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL29uY2UuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFO1FBQUNDLFFBQU8sQ0FBQztJQUFDO0lBQUUsT0FBTTt5Q0FBSUM7WUFBQUE7O1FBQUssSUFBRyxDQUFDRixFQUFFQyxNQUFNLEVBQUMsT0FBT0QsRUFBRUMsTUFBTSxHQUFDLENBQUMsR0FBRUYsS0FBS0c7SUFBRTtBQUFDO0FBQW1CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL29uY2UuanM/NTY2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBsKHIpe2xldCBlPXtjYWxsZWQ6ITF9O3JldHVybiguLi50KT0+e2lmKCFlLmNhbGxlZClyZXR1cm4gZS5jYWxsZWQ9ITAsciguLi50KX19ZXhwb3J0e2wgYXMgb25jZX07XG4iXSwibmFtZXMiOlsibCIsInIiLCJlIiwiY2FsbGVkIiwidCIsIm9uY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js\n")); - -/***/ }), - -/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/start-transition.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@headlessui/react/dist/utils/start-transition.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ startTransition: function() { return /* binding */ a; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nvar t;\n\nlet a = (t = react__WEBPACK_IMPORTED_MODULE_0__.startTransition) != null ? t : function(i) {\n i();\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YXJ0LXRyYW5zaXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxJQUFJQTtBQUF1QjtBQUFBLElBQUlFLElBQUUsQ0FBQ0YsSUFBRUMsa0RBQWlCLEtBQUcsT0FBS0QsSUFBRSxTQUFTSSxDQUFDO0lBQUVBO0FBQUc7QUFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvc3RhcnQtdHJhbnNpdGlvbi5qcz83NDUzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB0O2ltcG9ydCByIGZyb21cInJlYWN0XCI7bGV0IGE9KHQ9ci5zdGFydFRyYW5zaXRpb24pIT1udWxsP3Q6ZnVuY3Rpb24oaSl7aSgpfTtleHBvcnR7YSBhcyBzdGFydFRyYW5zaXRpb259O1xuIl0sIm5hbWVzIjpbInQiLCJyIiwiYSIsInN0YXJ0VHJhbnNpdGlvbiIsImkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/start-transition.js\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/events/versefest/page.ca8e7f53136db4f9.hot-update.js b/.next/static/webpack/app/events/versefest/page.ca8e7f53136db4f9.hot-update.js deleted file mode 100644 index b67cfea..0000000 --- a/.next/static/webpack/app/events/versefest/page.ca8e7f53136db4f9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/events/versefest/page",{ - -/***/ "(app-pages-browser)/./src/components/Speakers.jsx": -/*!*************************************!*\ - !*** ./src/components/Speakers.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Speakers: function() { return /* binding */ Speakers; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/DiamondIcon */ \"(app-pages-browser)/./src/components/DiamondIcon.jsx\");\n/* harmony import */ var _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/avatars/andrew-greene.jpg */ \"(app-pages-browser)/./src/images/avatars/andrew-greene.jpg\");\n/* harmony import */ var _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/avatars/cathlene-burrage.jpg */ \"(app-pages-browser)/./src/images/avatars/cathlene-burrage.jpg\");\n/* harmony import */ var _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/avatars/damaris-kimura.jpg */ \"(app-pages-browser)/./src/images/avatars/damaris-kimura.jpg\");\n/* harmony import */ var _images_avatars_dianne_guilianelli_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/avatars/dianne-guilianelli.jpg */ \"(app-pages-browser)/./src/images/avatars/dianne-guilianelli.jpg\");\n/* harmony import */ var _images_avatars_erhart_cockrin_jpg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/images/avatars/erhart-cockrin.jpg */ \"(app-pages-browser)/./src/images/avatars/erhart-cockrin.jpg\");\n/* harmony import */ var _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/images/avatars/giordano-sagucio.jpg */ \"(app-pages-browser)/./src/images/avatars/giordano-sagucio.jpg\");\n/* harmony import */ var _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/images/avatars/gordon-sanderson.jpg */ \"(app-pages-browser)/./src/images/avatars/gordon-sanderson.jpg\");\n/* harmony import */ var _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/images/avatars/heather-terry.jpg */ \"(app-pages-browser)/./src/images/avatars/heather-terry.jpg\");\n/* harmony import */ var _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/images/avatars/ibrahim-frasch.jpg */ \"(app-pages-browser)/./src/images/avatars/ibrahim-frasch.jpg\");\n/* harmony import */ var _images_avatars_jaquelin_isch_jpg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/images/avatars/jaquelin-isch.jpg */ \"(app-pages-browser)/./src/images/avatars/jaquelin-isch.jpg\");\n/* harmony import */ var _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/images/avatars/kimberly-parsons.jpg */ \"(app-pages-browser)/./src/images/avatars/kimberly-parsons.jpg\");\n/* harmony import */ var _images_avatars_parker_johnson_jpg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/images/avatars/parker-johnson.jpg */ \"(app-pages-browser)/./src/images/avatars/parker-johnson.jpg\");\n/* harmony import */ var _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/images/avatars/piers-wilkins.jpg */ \"(app-pages-browser)/./src/images/avatars/piers-wilkins.jpg\");\n/* harmony import */ var _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/images/avatars/richard-astley.jpg */ \"(app-pages-browser)/./src/images/avatars/richard-astley.jpg\");\n/* harmony import */ var _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/images/avatars/rinaldo-beynon.jpg */ \"(app-pages-browser)/./src/images/avatars/rinaldo-beynon.jpg\");\n/* harmony import */ var _images_avatars_ronni_cantadore_jpg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/images/avatars/ronni-cantadore.jpg */ \"(app-pages-browser)/./src/images/avatars/ronni-cantadore.jpg\");\n/* harmony import */ var _images_avatars_steven_mchail_jpg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/images/avatars/steven-mchail.jpg */ \"(app-pages-browser)/./src/images/avatars/steven-mchail.jpg\");\n/* harmony import */ var _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/images/avatars/waylon-hyden.jpg */ \"(app-pages-browser)/./src/images/avatars/waylon-hyden.jpg\");\n/* harmony import */ var _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/images/avatars/kristof_de_spiegeleer.jpeg */ \"(app-pages-browser)/./src/images/avatars/kristof_de_spiegeleer.jpeg\");\n/* harmony import */ var _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/images/avatars/adnan_fatayerji.jpg */ \"(app-pages-browser)/./src/images/avatars/adnan_fatayerji.jpg\");\n/* harmony import */ var _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @/images/avatars/florian_fournier.jpeg */ \"(app-pages-browser)/./src/images/avatars/florian_fournier.jpeg\");\n/* harmony import */ var _images_avatars_matthew_schutte_jpeg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/images/avatars/matthew_schutte.jpeg */ \"(app-pages-browser)/./src/images/avatars/matthew_schutte.jpeg\");\n/* harmony import */ var _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @/images/avatars/omrei_abumadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/omrei_abumadi.jpeg\");\n/* harmony import */ var _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @/images/avatars/victor_muhagachi.jpeg */ \"(app-pages-browser)/./src/images/avatars/victor_muhagachi.jpeg\");\n/* harmony import */ var _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @/images/avatars/sasha_astiadi.jpeg */ \"(app-pages-browser)/./src/images/avatars/sasha_astiadi.jpeg\");\n/* __next_internal_client_entry_do_not_use__ Speakers auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst days = [\n {\n name: \"Opening Day\",\n date: \"Oct 24\",\n dateTime: \"2022-04-04\",\n speakers: [\n {\n name: \"Kristof de Spielegeer\",\n role: \"CEO at ThreeFold\",\n image: _images_avatars_kristof_de_spiegeleer_jpeg__WEBPACK_IMPORTED_MODULE_24__[\"default\"]\n },\n {\n name: \"Adnan Fatayerji\",\n role: \"CEO at Habari\",\n image: _images_avatars_adnan_fatayerji_jpg__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n name: \"Matthew Schutte\",\n role: \"CEO at Holochain\",\n image: MatthewSchutteImage\n },\n {\n name: \"Florian Fournier\",\n role: \"Co-founder at OurWorld\",\n image: _images_avatars_florian_fournier_jpeg__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n {\n name: \"Omrei Abumadi\",\n role: \"Founder at Vindo\",\n image: _images_avatars_omrei_abumadi_jpeg__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n {\n name: \"Sasha Astiadi\",\n role: \"Event Host, Product Owner at OurVerse\",\n image: _images_avatars_sasha_astiadi_jpeg__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n },\n {\n name: \"Victor Muhagachi\",\n role: \"Co-founder at Dunia Yetu\",\n image: _images_avatars_victor_muhagachi_jpeg__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n }\n ]\n },\n {\n name: \"Speakers & Workshops\",\n date: \"Oct 25\",\n dateTime: \"2022-04-05\",\n speakers: [\n {\n name: \"Damaris Kimura\",\n role: \"Senior Engineer at OCP\",\n image: _images_avatars_damaris_kimura_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n {\n name: \"Ibrahim Frasch\",\n role: \"Programmer at Umbrella Corp\",\n image: _images_avatars_ibrahim_frasch_jpg__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n name: \"Cathlene Burrage\",\n role: \"Frontend Developer at Buy n Large\",\n image: _images_avatars_cathlene_burrage_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n {\n name: \"Rinaldo Beynon\",\n role: \"Data Scientist at Rekall\",\n image: _images_avatars_rinaldo_beynon_jpg__WEBPACK_IMPORTED_MODULE_20__[\"default\"]\n },\n {\n name: \"Waylon Hyden\",\n role: \"DevOps at RDA Corporation\",\n image: _images_avatars_waylon_hyden_jpg__WEBPACK_IMPORTED_MODULE_23__[\"default\"]\n },\n {\n name: \"Giordano Sagucio\",\n role: \"Game Developer at Soylent Corp\",\n image: _images_avatars_giordano_sagucio_jpg__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n }\n ]\n },\n {\n name: \"Interviews\",\n date: \"Oct 26\",\n dateTime: \"2022-04-06\",\n speakers: [\n {\n name: \"Andrew Greene\",\n role: \"Frontend Developer at Ultratech\",\n image: _images_avatars_andrew_greene_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n {\n name: \"Heather Terry\",\n role: \"Backend Developer at Xanatos Enterprises\",\n image: _images_avatars_heather_terry_jpg__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n name: \"Piers Wilkins\",\n role: \"Full stack Developer at BiffCo\",\n image: _images_avatars_piers_wilkins_jpg__WEBPACK_IMPORTED_MODULE_18__[\"default\"]\n },\n {\n name: \"Gordon Sanderson\",\n role: \"Mobile Developer at Cobra Industries\",\n image: _images_avatars_gordon_sanderson_jpg__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n name: \"Kimberly Parsons\",\n role: \"Game Developer at Tyrell Corporation\",\n image: _images_avatars_kimberly_parsons_jpg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n {\n name: \"Richard Astley\",\n role: \"CEO at Roll Out\",\n image: _images_avatars_richard_astley_jpg__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n }\n ]\n }\n];\nfunction ImageClipPaths(param) {\n let { id, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n width: 0,\n height: 0,\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-0`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 h0.729 v0.129 h0.121 l-0.016,0.032 C0.815,0.198,0.843,0.243,0.885,0.243 H1 v0.757 H0.271 v-0.086 l-0.121,0.057 v-0.214 c0,-0.032,-0.026,-0.057,-0.057,-0.057 H0 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 160,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 159,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-1`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,1 H0.271 v-0.129 H0.15 l0.016,-0.032 C0.185,0.802,0.157,0.757,0.115,0.757 H0 V0 h0.729 v0.086 l0.121,-0.057 v0.214 c0,0.032,0.026,0.057,0.057,0.057 h0.093 v0.7\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 162,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: `${id}-2`,\n clipPathUnits: \"objectBoundingBox\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M1,0 H0.271 v0.129 H0.15 l0.016,0.032 C0.185,0.198,0.157,0.243,0.115,0.243 H0 v0.757 h0.729 v-0.086 l0.121,0.057 v-0.214 c0,-0.032,0.026,-0.057,0.057,-0.057 h0.093 V0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 166,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 165,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n_c = ImageClipPaths;\nfunction Speakers() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let lgMediaQuery = window.matchMedia(\"(min-width: 1024px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(lgMediaQuery);\n lgMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n lgMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"speakers\",\n \"aria-labelledby\": \"speakers-title\",\n className: \"py-20 lg:py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ImageClipPaths, {\n id: id\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 198,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n id: \"speakers-title\",\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-700 sm:text-5xl\",\n children: \"Speakers\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 201,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Get ready to be inspired by some of the industry leaders and innovators who are shaping the future of the metaverse, Web3, AI, and more.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 207,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 200,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabGroup, {\n className: \"mt-14 grid grid-cols-1 items-start gap-x-8 gap-y-8 sm:mt-16 sm:gap-y-16 lg:mt-24 lg:grid-cols-4\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative -mx-4 flex overflow-x-auto pb-4 sm:mx-0 sm:block sm:overflow-visible sm:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0.5 top-2 hidden w-px bg-slate-200 lg:block\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabList, {\n className: \"grid auto-cols-auto grid-flow-col justify-start gap-x-8 gap-y-10 whitespace-nowrap px-4 sm:mx-auto sm:max-w-2xl sm:grid-cols-3 sm:px-0 sm:text-center lg:grid-flow-row lg:grid-cols-1 lg:text-left\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: days.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative lg:pl-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DiamondIcon__WEBPACK_IMPORTED_MODULE_5__.DiamondIcon, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute left-[-0.5px] top-[0.5625rem] hidden h-1.5 w-1.5 overflow-visible lg:block\", dayIndex === selectedIndex ? \"fill-blue-500 stroke-blue-500\" : \"fill-transparent stroke-slate-400\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 222,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"font-mono text-sm\", dayIndex === selectedIndex ? \"text-blue-500\" : \"text-slate-500\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this),\n day.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 231,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n className: \"mt-1.5 block text-2xl font-semibold tracking-tight text-blue-900\",\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 244,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 230,\n columnNumber: 23\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 221,\n columnNumber: 21\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 217,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanels, {\n className: \"lg:col-span-3\",\n children: days.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_31__.TabPanel, {\n className: \"grid grid-cols-1 gap-x-8 gap-y-10 ui-not-focus-visible:outline-none sm:grid-cols-2 sm:gap-y-16 md:grid-cols-3\",\n unmount: false,\n children: day.speakers.map((speaker, speakerIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative h-[17.5rem] transform overflow-hidden rounded-4xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"absolute bottom-6 left-0 right-4 top-0 rounded-4xl border transition duration-300 group-hover:scale-95 xl:right-6\", [\n \"border-blue-300\",\n \"border-indigo-300\",\n \"border-sky-300\"\n ][speakerIndex % 3])\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 267,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-indigo-50\",\n style: {\n clipPath: `url(#${id}-${speakerIndex % 3})`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"absolute inset-0 h-full w-full object-cover transition duration-300 group-hover:scale-110\",\n src: speaker.image,\n alt: \"\",\n priority: true,\n sizes: \"(min-width: 1280px) 17.5rem, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 277,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 266,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"mt-8 font-display text-xl font-bold tracking-tight text-slate-900\",\n children: speaker.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-base tracking-tight text-slate-500\",\n children: speaker.role\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, speakerIndex, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 265,\n columnNumber: 19\n }, this))\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 259,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 211,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 199,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx\",\n lineNumber: 193,\n columnNumber: 5\n }, this);\n}\n_s(Speakers, \"OCcVhIjglsZ/ZIFidsj7kq1YKiI=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n});\n_c1 = Speakers;\nvar _c, _c1;\n$RefreshReg$(_c, \"ImageClipPaths\");\n$RefreshReg$(_c1, \"Speakers\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NwZWFrZXJzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFa0Q7QUFDcEI7QUFDaUQ7QUFDeEQ7QUFFMkI7QUFDSTtBQUNZO0FBQ007QUFDSjtBQUNRO0FBQ1I7QUFDSTtBQUNBO0FBQ047QUFDRTtBQUNGO0FBQ007QUFDSjtBQUNGO0FBQ0g7QUFDSztBQUNFO0FBQ0o7QUFDRjtBQUNrQjtBQUNaO0FBQ0c7QUFDRjtBQUNKO0FBQ007QUFDTjtBQUVuRSxNQUFNcUMsT0FBTztJQUNYO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxVQUFVO1FBQ1ZDLFVBQVU7WUFDUjtnQkFDRUgsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT2IsbUZBQXdCQTtZQUNqQztZQUNBO2dCQUNFUSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPWiw0RUFBbUJBO1lBQzVCO1lBQ0E7Z0JBQ0VPLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9DO1lBQ1Q7WUFDQTtnQkFDRU4sTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1gsOEVBQW9CQTtZQUM3QjtZQUNBO2dCQUNFTSxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPVCwyRUFBaUJBO1lBQzFCO1lBQ0E7Z0JBQ0VJLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU9QLDJFQUFpQkE7WUFDMUI7WUFDQTtnQkFDRUUsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsT0FBT1IsOEVBQW9CQTtZQUM3QjtTQUNEO0lBQ0g7SUFDQTtRQUNFRyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1lBQ1I7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLE9BQU83QiwwRUFBa0JBO1lBQzNCO1lBQ0E7Z0JBQ0V3QixNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxPQUFPdkIsMkVBQWtC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LGVBQWUsRUFBRSxDQUFDLENBQUM7Z0VBQUM7MEVBRXJELDRFQUFDL0Usa0RBQUtBO29FQUNKa0UsV0FBVTtvRUFDVmUsS0FBS0gsUUFBUXRDLEtBQUs7b0VBQ2xCMEMsS0FBSTtvRUFDSkMsUUFBUTtvRUFDUkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0VBSVosOERBQUNDO3dEQUFHbkIsV0FBVTtrRUFDWFksUUFBUTNDLElBQUk7Ozs7OztrRUFFZiw4REFBQ2tDO3dEQUFFSCxXQUFVO2tFQUNWWSxRQUFRdkMsSUFBSTs7Ozs7OzsrQ0E3QlB3Qzs7Ozs7dUNBTFBOLElBQUlwQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNqQztHQXBJZ0JpQjs7UUFDTHhELHdDQUFLQTs7O01BREF3RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9TcGVha2Vycy5qc3g/ZDA0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IERpYW1vbmRJY29uIH0gZnJvbSAnQC9jb21wb25lbnRzL0RpYW1vbmRJY29uJ1xuaW1wb3J0IGFuZHJld0dyZWVuZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYW5kcmV3LWdyZWVuZS5qcGcnXG5pbXBvcnQgY2F0aGxlbmVCdXJyYWdlSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9jYXRobGVuZS1idXJyYWdlLmpwZydcbmltcG9ydCBkYW1hcmlzS2ltdXJhSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9kYW1hcmlzLWtpbXVyYS5qcGcnXG5pbXBvcnQgZGlhbm5lR3VpbGlhbmVsbGlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2RpYW5uZS1ndWlsaWFuZWxsaS5qcGcnXG5pbXBvcnQgZXJoYXJ0Q29ja3JpbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZXJoYXJ0LWNvY2tyaW4uanBnJ1xuaW1wb3J0IGdpb3JkYW5vU2FndWNpb0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvZ2lvcmRhbm8tc2FndWNpby5qcGcnXG5pbXBvcnQgZ29yZG9uU2FuZGVyc29uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9nb3Jkb24tc2FuZGVyc29uLmpwZydcbmltcG9ydCBoZWF0aGVyVGVycnlJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2hlYXRoZXItdGVycnkuanBnJ1xuaW1wb3J0IGlicmFoaW1GcmFzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2licmFoaW0tZnJhc2NoLmpwZydcbmltcG9ydCBqYXF1ZWxpbklzY2hJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2phcXVlbGluLWlzY2guanBnJ1xuaW1wb3J0IGtpbWJlcmx5UGFyc29uc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMva2ltYmVybHktcGFyc29ucy5qcGcnXG5pbXBvcnQgcGFya2VySm9obnNvbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGFya2VyLWpvaG5zb24uanBnJ1xuaW1wb3J0IHBpZXJzV2lsa2luc0ltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvcGllcnMtd2lsa2lucy5qcGcnXG5pbXBvcnQgcmljaGFyZEFzdGxleSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3JpY2hhcmQtYXN0bGV5LmpwZydcbmltcG9ydCByaW5hbGRvQmV5bm9uSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9yaW5hbGRvLWJleW5vbi5qcGcnXG5pbXBvcnQgcm9ubmlDYW50YWRvcmVJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL3Jvbm5pLWNhbnRhZG9yZS5qcGcnXG5pbXBvcnQgc3RldmVuTWNoYWlsSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zdGV2ZW4tbWNoYWlsLmpwZydcbmltcG9ydCB3YXlsb25IeWRlbkltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvd2F5bG9uLWh5ZGVuLmpwZydcbmltcG9ydCBrcmlzdG9mZGVzcGllZ2VsZWVySW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9rcmlzdG9mX2RlX3NwaWVnZWxlZXIuanBlZydcbmltcG9ydCBhZG5hbmZhdGF5ZXJqaUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvYWRuYW5fZmF0YXllcmppLmpwZydcbmltcG9ydCBmbG9yaWFuZm91cm5pZXJJbWFnZSBmcm9tICdAL2ltYWdlcy9hdmF0YXJzL2Zsb3JpYW5fZm91cm5pZXIuanBlZydcbmltcG9ydCBtYXR0aGV3c2NodXR0ZUltYWdlIGZyb20gJ0AvaW1hZ2VzL2F2YXRhcnMvbWF0dGhld19zY2h1dHRlLmpwZWcnXG5pbXBvcnQgb21yZWlhYnVtYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9vbXJlaV9hYnVtYWRpLmpwZWcnXG5pbXBvcnQgdmljdG9ybXVoYWdhY2hpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy92aWN0b3JfbXVoYWdhY2hpLmpwZWcnXG5pbXBvcnQgc2FzaGFhc3RpYWRpSW1hZ2UgZnJvbSAnQC9pbWFnZXMvYXZhdGFycy9zYXNoYV9hc3RpYWRpLmpwZWcnXG5cbmNvbnN0IGRheXMgPSBbXG4gIHtcbiAgICBuYW1lOiAnT3BlbmluZyBEYXknLFxuICAgIGRhdGU6ICdPY3QgMjQnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNCcsXG4gICAgc3BlYWtlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tyaXN0b2YgZGUgU3BpZWxlZ2VlcicsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgVGhyZWVGb2xkJyxcbiAgICAgICAgaW1hZ2U6IGtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBZG5hbiBGYXRheWVyamknLFxuICAgICAgICByb2xlOiAnQ0VPIGF0IEhhYmFyaScsXG4gICAgICAgIGltYWdlOiBhZG5hbmZhdGF5ZXJqaUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ01hdHRoZXcgU2NodXR0ZScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgSG9sb2NoYWluJyxcbiAgICAgICAgaW1hZ2U6IE1hdHRoZXdTY2h1dHRlSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRmxvcmlhbiBGb3VybmllcicsXG4gICAgICAgIHJvbGU6ICdDby1mb3VuZGVyIGF0IE91cldvcmxkJyxcbiAgICAgICAgaW1hZ2U6IGZsb3JpYW5mb3VybmllckltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ09tcmVpIEFidW1hZGknLFxuICAgICAgICByb2xlOiAnRm91bmRlciBhdCBWaW5kbycsXG4gICAgICAgIGltYWdlOiBvbXJlaWFidW1hZGlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTYXNoYSBBc3RpYWRpJyxcbiAgICAgICAgcm9sZTogJ0V2ZW50IEhvc3QsIFByb2R1Y3QgT3duZXIgYXQgT3VyVmVyc2UnLFxuICAgICAgICBpbWFnZTogc2FzaGFhc3RpYWRpSW1hZ2VcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdWaWN0b3IgTXVoYWdhY2hpJyxcbiAgICAgICAgcm9sZTogJ0NvLWZvdW5kZXIgYXQgRHVuaWEgWWV0dScsXG4gICAgICAgIGltYWdlOiB2aWN0b3JtdWhhZ2FjaGlJbWFnZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdTcGVha2VycyAmIFdvcmtzaG9wcycsXG4gICAgZGF0ZTogJ09jdCAyNScsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA1JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICByb2xlOiAnU2VuaW9yIEVuZ2luZWVyIGF0IE9DUCcsXG4gICAgICAgIGltYWdlOiBkYW1hcmlzS2ltdXJhSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSWJyYWhpbSBGcmFzY2gnLFxuICAgICAgICByb2xlOiAnUHJvZ3JhbW1lciBhdCBVbWJyZWxsYSBDb3JwJyxcbiAgICAgICAgaW1hZ2U6IGlicmFoaW1GcmFzY2hJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgcm9sZTogJ0Zyb250ZW5kIERldmVsb3BlciBhdCBCdXkgbiBMYXJnZScsXG4gICAgICAgIGltYWdlOiBjYXRobGVuZUJ1cnJhZ2VJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaW5hbGRvIEJleW5vbicsXG4gICAgICAgIHJvbGU6ICdEYXRhIFNjaWVudGlzdCBhdCBSZWthbGwnLFxuICAgICAgICBpbWFnZTogcmluYWxkb0JleW5vbkltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1dheWxvbiBIeWRlbicsXG4gICAgICAgIHJvbGU6ICdEZXZPcHMgYXQgUkRBIENvcnBvcmF0aW9uJyxcbiAgICAgICAgaW1hZ2U6IHdheWxvbkh5ZGVuSW1hZ2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnR2lvcmRhbm8gU2FndWNpbycsXG4gICAgICAgIHJvbGU6ICdHYW1lIERldmVsb3BlciBhdCBTb3lsZW50IENvcnAnLFxuICAgICAgICBpbWFnZTogZ2lvcmRhbm9TYWd1Y2lvSW1hZ2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnSW50ZXJ2aWV3cycsXG4gICAgZGF0ZTogJ09jdCAyNicsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA2JyxcbiAgICBzcGVha2VyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnQW5kcmV3IEdyZWVuZScsXG4gICAgICAgIHJvbGU6ICdGcm9udGVuZCBEZXZlbG9wZXIgYXQgVWx0cmF0ZWNoJyxcbiAgICAgICAgaW1hZ2U6IGFuZHJld0dyZWVuZUltYWdlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0hlYXRoZXIgVGVycnknLFxuICAgICAgICByb2xlOiAnQmFja2VuZCBEZXZlbG9wZXIgYXQgWGFuYXRvcyBFbnRlcnByaXNlcycsXG4gICAgICAgIGltYWdlOiBoZWF0aGVyVGVycnlJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgcm9sZTogJ0Z1bGwgc3RhY2sgRGV2ZWxvcGVyIGF0IEJpZmZDbycsXG4gICAgICAgIGltYWdlOiBwaWVyc1dpbGtpbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgcm9sZTogJ01vYmlsZSBEZXZlbG9wZXIgYXQgQ29icmEgSW5kdXN0cmllcycsXG4gICAgICAgIGltYWdlOiBnb3Jkb25TYW5kZXJzb25JbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdLaW1iZXJseSBQYXJzb25zJyxcbiAgICAgICAgcm9sZTogJ0dhbWUgRGV2ZWxvcGVyIGF0IFR5cmVsbCBDb3Jwb3JhdGlvbicsXG4gICAgICAgIGltYWdlOiBraW1iZXJseVBhcnNvbnNJbWFnZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdSaWNoYXJkIEFzdGxleScsXG4gICAgICAgIHJvbGU6ICdDRU8gYXQgUm9sbCBPdXQnLFxuICAgICAgICBpbWFnZTogcmljaGFyZEFzdGxleSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl1cblxuZnVuY3Rpb24gSW1hZ2VDbGlwUGF0aHMoeyBpZCwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgd2lkdGg9ezB9IGhlaWdodD17MH0gey4uLnByb3BzfT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0wYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0wLDAgaDAuNzI5IHYwLjEyOSBoMC4xMjEgbC0wLjAxNiwwLjAzMiBDMC44MTUsMC4xOTgsMC44NDMsMC4yNDMsMC44ODUsMC4yNDMgSDEgdjAuNzU3IEgwLjI3MSB2LTAuMDg2IGwtMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsLTAuMDI2LC0wLjA1NywtMC4wNTcsLTAuMDU3IEgwIFYwXCIgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtpZH0tMWB9IGNsaXBQYXRoVW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMSwxIEgwLjI3MSB2LTAuMTI5IEgwLjE1IGwwLjAxNiwtMC4wMzIgQzAuMTg1LDAuODAyLDAuMTU3LDAuNzU3LDAuMTE1LDAuNzU3IEgwIFYwIGgwLjcyOSB2MC4wODYgbDAuMTIxLC0wLjA1NyB2MC4yMTQgYzAsMC4wMzIsMC4wMjYsMC4wNTcsMC4wNTcsMC4wNTcgaDAuMDkzIHYwLjdcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9e2Ake2lkfS0yYH0gY2xpcFBhdGhVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0xLDAgSDAuMjcxIHYwLjEyOSBIMC4xNSBsMC4wMTYsMC4wMzIgQzAuMTg1LDAuMTk4LDAuMTU3LDAuMjQzLDAuMTE1LDAuMjQzIEgwIHYwLjc1NyBoMC43Mjkgdi0wLjA4NiBsMC4xMjEsMC4wNTcgdi0wLjIxNCBjMCwtMC4wMzIsMC4wMjYsLTAuMDU3LDAuMDU3LC0wLjA1NyBoMC4wOTMgVjBcIiAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTcGVha2VycygpIHtcbiAgbGV0IGlkID0gdXNlSWQoKVxuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgbGdNZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDEwMjRweCknKVxuXG4gICAgZnVuY3Rpb24gb25NZWRpYVF1ZXJ5Q2hhbmdlKHsgbWF0Y2hlcyB9KSB7XG4gICAgICBzZXRUYWJPcmllbnRhdGlvbihtYXRjaGVzID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJylcbiAgICB9XG5cbiAgICBvbk1lZGlhUXVlcnlDaGFuZ2UobGdNZWRpYVF1ZXJ5KVxuICAgIGxnTWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbk1lZGlhUXVlcnlDaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGdNZWRpYVF1ZXJ5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb25cbiAgICAgIGlkPVwic3BlYWtlcnNcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgY2xhc3NOYW1lPVwicHktMjAgbGc6cHktMTJcIlxuICAgID5cbiAgICAgIDxJbWFnZUNsaXBQYXRocyBpZD17aWR9IC8+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTBcIj5cbiAgICAgICAgICA8aDJcbiAgICAgICAgICAgIGlkPVwic3BlYWtlcnMtdGl0bGVcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9udC1kaXNwbGF5IHRleHQtNHhsIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0ZXIgdGV4dC1ibHVlLTcwMCBzbTp0ZXh0LTV4bFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgU3BlYWtlcnNcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgZm9udC1kaXNwbGF5IHRleHQtMnhsIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICBHZXQgcmVhZHkgdG8gYmUgaW5zcGlyZWQgYnkgc29tZSBvZiB0aGUgaW5kdXN0cnkgbGVhZGVycyBhbmQgaW5ub3ZhdG9ycyB3aG8gYXJlIHNoYXBpbmcgdGhlIGZ1dHVyZSBvZiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIG1vcmUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFRhYkdyb3VwXG4gICAgICAgICAgY2xhc3NOYW1lPVwibXQtMTQgZ3JpZCBncmlkLWNvbHMtMSBpdGVtcy1zdGFydCBnYXAteC04IGdhcC15LTggc206bXQtMTYgc206Z2FwLXktMTYgbGc6bXQtMjQgbGc6Z3JpZC1jb2xzLTRcIlxuICAgICAgICAgIHZlcnRpY2FsPXt0YWJPcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgLW14LTQgZmxleCBvdmVyZmxvdy14LWF1dG8gcGItNCBzbTpteC0wIHNtOmJsb2NrIHNtOm92ZXJmbG93LXZpc2libGUgc206cGItMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAuNSB0b3AtMiBoaWRkZW4gdy1weCBiZy1zbGF0ZS0yMDAgbGc6YmxvY2tcIiAvPlxuICAgICAgICAgICAgPFRhYkxpc3QgY2xhc3NOYW1lPVwiZ3JpZCBhdXRvLWNvbHMtYXV0byBncmlkLWZsb3ctY29sIGp1c3RpZnktc3RhcnQgZ2FwLXgtOCBnYXAteS0xMCB3aGl0ZXNwYWNlLW5vd3JhcCBweC00IHNtOm14LWF1dG8gc206bWF4LXctMnhsIHNtOmdyaWQtY29scy0zIHNtOnB4LTAgc206dGV4dC1jZW50ZXIgbGc6Z3JpZC1mbG93LXJvdyBsZzpncmlkLWNvbHMtMSBsZzp0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7ZGF5cy5tYXAoKGRheSwgZGF5SW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2RheS5kYXRlVGltZX0gY2xhc3NOYW1lPVwicmVsYXRpdmUgbGc6cGwtOFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaWFtb25kSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgbGVmdC1bLTAuNXB4XSB0b3AtWzAuNTYyNXJlbV0gaGlkZGVuIGgtMS41IHctMS41IG92ZXJmbG93LXZpc2libGUgbGc6YmxvY2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2ZpbGwtYmx1ZS01MDAgc3Ryb2tlLWJsdWUtNTAwJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpbGwtdHJhbnNwYXJlbnQgc3Ryb2tlLXNsYXRlLTQwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtbW9ubyB0ZXh0LXNtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXlJbmRleCA9PT0gc2VsZWN0ZWRJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAndGV4dC1ibHVlLTUwMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtc2xhdGUtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYiBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF5Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVGltZT17ZGF5LmRhdGVUaW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0xLjUgYmxvY2sgdGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2RheS5kYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aW1lPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9UYWJMaXN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxUYWJQYW5lbHMgY2xhc3NOYW1lPVwibGc6Y29sLXNwYW4tM1wiPlxuICAgICAgICAgICAge2RheXMubWFwKChkYXkpID0+IChcbiAgICAgICAgICAgICAgPFRhYlBhbmVsXG4gICAgICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAteC04IGdhcC15LTEwIHVpLW5vdC1mb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBzbTpncmlkLWNvbHMtMiBzbTpnYXAteS0xNiBtZDpncmlkLWNvbHMtM1wiXG4gICAgICAgICAgICAgICAgdW5tb3VudD17ZmFsc2V9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGF5LnNwZWFrZXJzLm1hcCgoc3BlYWtlciwgc3BlYWtlckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGtleT17c3BlYWtlckluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBoLVsxNy41cmVtXSB0cmFuc2Zvcm0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtNHhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGUgYm90dG9tLTYgbGVmdC0wIHJpZ2h0LTQgdG9wLTAgcm91bmRlZC00eGwgYm9yZGVyIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTk1IHhsOnJpZ2h0LTYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ibHVlLTMwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1pbmRpZ28tMzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXNreS0zMDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdW3NwZWFrZXJJbmRleCAlIDNdLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctaW5kaWdvLTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNsaXBQYXRoOiBgdXJsKCMke2lkfS0ke3NwZWFrZXJJbmRleCAlIDN9KWAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS0xMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9e3NwZWFrZXIuaW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPVwiKG1pbi13aWR0aDogMTI4MHB4KSAxNy41cmVtLCAobWluLXdpZHRoOiAxMDI0cHgpIDI1dncsIChtaW4td2lkdGg6IDc2OHB4KSAzM3Z3LCAobWluLXdpZHRoOiA2NDBweCkgNTB2dywgMTAwdndcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJtdC04IGZvbnQtZGlzcGxheSB0ZXh0LXhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzcGVha2VyLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTEgdGV4dC1iYXNlIHRyYWNraW5nLXRpZ2h0IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3NwZWFrZXIucm9sZX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvVGFiUGFuZWw+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1RhYlBhbmVscz5cbiAgICAgICAgPC9UYWJHcm91cD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZUlkIiwidXNlU3RhdGUiLCJJbWFnZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkNvbnRhaW5lciIsIkRpYW1vbmRJY29uIiwiYW5kcmV3R3JlZW5lSW1hZ2UiLCJjYXRobGVuZUJ1cnJhZ2VJbWFnZSIsImRhbWFyaXNLaW11cmFJbWFnZSIsImRpYW5uZUd1aWxpYW5lbGxpSW1hZ2UiLCJlcmhhcnRDb2NrcmluSW1hZ2UiLCJnaW9yZGFub1NhZ3VjaW9JbWFnZSIsImdvcmRvblNhbmRlcnNvbkltYWdlIiwiaGVhdGhlclRlcnJ5SW1hZ2UiLCJpYnJhaGltRnJhc2NoSW1hZ2UiLCJqYXF1ZWxpbklzY2hJbWFnZSIsImtpbWJlcmx5UGFyc29uc0ltYWdlIiwicGFya2VySm9obnNvbkltYWdlIiwicGllcnNXaWxraW5zSW1hZ2UiLCJyaWNoYXJkQXN0bGV5IiwicmluYWxkb0JleW5vbkltYWdlIiwicm9ubmlDYW50YWRvcmVJbWFnZSIsInN0ZXZlbk1jaGFpbEltYWdlIiwid2F5bG9uSHlkZW5JbWFnZSIsImtyaXN0b2ZkZXNwaWVnZWxlZXJJbWFnZSIsImFkbmFuZmF0YXllcmppSW1hZ2UiLCJmbG9yaWFuZm91cm5pZXJJbWFnZSIsIm1hdHRoZXdzY2h1dHRlSW1hZ2UiLCJvbXJlaWFidW1hZGlJbWFnZSIsInZpY3Rvcm11aGFnYWNoaUltYWdlIiwic2FzaGFhc3RpYWRpSW1hZ2UiLCJkYXlzIiwibmFtZSIsImRhdGUiLCJkYXRlVGltZSIsInNwZWFrZXJzIiwicm9sZSIsImltYWdlIiwiTWF0dGhld1NjaHV0dGVJbWFnZSIsIkltYWdlQ2xpcFBhdGhzIiwiaWQiLCJwcm9wcyIsInN2ZyIsImFyaWEtaGlkZGVuIiwid2lkdGgiLCJoZWlnaHQiLCJkZWZzIiwiY2xpcFBhdGgiLCJjbGlwUGF0aFVuaXRzIiwicGF0aCIsImQiLCJTcGVha2VycyIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJsZ01lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2VjdGlvbiIsImFyaWEtbGFiZWxsZWRieSIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicCIsInZlcnRpY2FsIiwic2VsZWN0ZWRJbmRleCIsIm1hcCIsImRheSIsImRheUluZGV4Iiwic3BhbiIsInRpbWUiLCJ1bm1vdW50Iiwic3BlYWtlciIsInNwZWFrZXJJbmRleCIsInN0eWxlIiwic3JjIiwiYWx0IiwicHJpb3JpdHkiLCJzaXplcyIsImgzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/events/versefest/page.e427392d1c1f9097.hot-update.js b/.next/static/webpack/app/events/versefest/page.e427392d1c1f9097.hot-update.js deleted file mode 100644 index a6a7b99..0000000 --- a/.next/static/webpack/app/events/versefest/page.e427392d1c1f9097.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/events/versefest/page",{ - -/***/ "(app-pages-browser)/./src/components/Schedule.jsx": -/*!*************************************!*\ - !*** ./src/components/Schedule.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Schedule: function() { return /* binding */ Schedule; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(app-pages-browser)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* __next_internal_client_entry_do_not_use__ Schedule auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\nconst schedule = [\n {\n date: \"April 4\",\n dateTime: \"2022-04-04\",\n summary: \"The first day of the conference is focused on dark patterns for ecommerce.\",\n timeSlots: [\n {\n name: \"Steven McHail\",\n description: \"Not so one-time payments\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Jaquelin Isch\",\n description: \"The finer print\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Dianne Guilianelli\",\n description: \"Post-purchase blackmail\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Ronni Cantadore\",\n description: \"Buy or die\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Erhart Cockrin\",\n description: \"In-person cancellation\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Parker Johnson\",\n description: \"The pay/cancel switcheroo\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 5\",\n dateTime: \"2022-04-05\",\n summary: \"Next we spend the day talking about deceiving people with technology.\",\n timeSlots: [\n {\n name: \"Damaris Kimura\",\n description: \"The invisible card reader\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Ibrahim Frasch\",\n description: \"Stealing fingerprints\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Cathlene Burrage\",\n description: \"Voting machines\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Rinaldo Beynon\",\n description: \"Blackhat SEO that works\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Waylon Hyden\",\n description: \"Turning your audience into a botnet\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Giordano Sagucio\",\n description: \"Fly phishing\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 6\",\n dateTime: \"2022-04-06\",\n summary: \"We close out the event previewing new techniques that are still in development.\",\n timeSlots: [\n {\n name: \"Andrew Greene\",\n description: \"Neuralink dark patterns\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Heather Terry\",\n description: \"DALL-E for passports\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Piers Wilkins\",\n description: \"Quantum password cracking\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Gordon Sanderson\",\n description: \"SkyNet is coming\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Kimberly Parsons\",\n description: \"Dark patterns for the metaverse\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Richard Astley\",\n description: \"Knowing the game and playing it\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n }\n];\nfunction ScheduleTabbed() {\n _s();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let smMediaQuery = window.matchMedia(\"(min-width: 640px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(smMediaQuery);\n smMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n smMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabGroup, {\n className: \"mx-auto grid max-w-2xl grid-cols-1 gap-y-6 sm:grid-cols-2 lg:hidden\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabList, {\n className: \"-mx-4 flex gap-x-4 gap-y-10 overflow-x-auto pb-4 pl-4 sm:mx-0 sm:flex-col sm:pb-0 sm:pl-0 sm:pr-8\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: schedule.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"relative w-3/4 flex-none pr-4 sm:w-auto sm:pr-0\", dayIndex !== selectedIndex && \"opacity-70\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: {\n ...day,\n date: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 202,\n columnNumber: 25\n }, void 0),\n day.date\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 201,\n columnNumber: 23\n }, void 0)\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 197,\n columnNumber: 17\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 190,\n columnNumber: 15\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 186,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanels, {\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanel, {\n className: \"ui-not-focus-visible:outline-none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 219,\n columnNumber: 13\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 213,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 182,\n columnNumber: 5\n }, this);\n}\n_s(ScheduleTabbed, \"PA0UdhBatJoZrK3UQwLJY5ZxHuI=\");\n_c = ScheduleTabbed;\nfunction DaySummary(param) {\n let { day } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-semibold tracking-tight text-blue-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 230,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1.5 text-base tracking-tight text-blue-900\",\n children: day.summary\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 233,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\n_c1 = DaySummary;\nfunction TimeSlots(param) {\n let { day, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ol\", {\n role: \"list\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(className, \"space-y-8 bg-white/60 px-10 py-14 text-center shadow-xl shadow-blue-900/5 backdrop-blur\"),\n children: day.timeSlots.map((timeSlot, timeSlotIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n \"aria-label\": `${timeSlot.name} talking about ${timeSlot.description} at ${timeSlot.start} - ${timeSlot.end} PST`,\n children: [\n timeSlotIndex > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto mb-8 h-px w-48 bg-indigo-500/10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 255,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-lg font-semibold tracking-tight text-blue-900\",\n children: timeSlot.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this),\n timeSlot.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 tracking-tight text-blue-900\",\n children: timeSlot.description\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 261,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 font-mono text-sm text-slate-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.start}-08:00`,\n children: timeSlot.start\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 266,\n columnNumber: 13\n }, this),\n \" \",\n \"-\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.end}-08:00`,\n children: timeSlot.end\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 270,\n columnNumber: 13\n }, this),\n \" \",\n \"PST\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 265,\n columnNumber: 11\n }, this)\n ]\n }, timeSlot.start, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 242,\n columnNumber: 5\n }, this);\n}\n_c2 = TimeSlots;\nfunction ScheduleStatic() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:grid lg:grid-cols-3 lg:gap-x-8\",\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 286,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day,\n className: \"mt-10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 287,\n columnNumber: 11\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 283,\n columnNumber: 5\n }, this);\n}\n_c3 = ScheduleStatic;\nfunction Schedule() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"schedule\",\n \"aria-label\": \"Schedule\",\n className: \"py-12 mb-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative z-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0 lg:max-w-4xl lg:pr-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Our three-day schedule is jam-packed with insightful sessions from industry leaders.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 299,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Each day is designed to immerse you in the latest trends, innovations, and opportunities in the metaverse, Web3, AI, and beyond.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 302,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"From hands-on workshops to panel discussions and networking events, VerseFest 2024 offers something for everyone.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 306,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mt-14 sm:mt-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__.BackgroundImage, {\n position: \"right\",\n className: \"-bottom-32 -top-40\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleTabbed, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 314,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleStatic, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 315,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 313,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 296,\n columnNumber: 5\n }, this);\n}\n_c4 = Schedule;\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"ScheduleTabbed\");\n$RefreshReg$(_c1, \"DaySummary\");\n$RefreshReg$(_c2, \"TimeSlots\");\n$RefreshReg$(_c3, \"ScheduleStatic\");\n$RefreshReg$(_c4, \"Schedule\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ29DO0FBQ3hEO0FBRXVDO0FBQ1o7QUFFbEQsTUFBTVUsV0FBVztJQUNmO1FBQ0VDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1NBQ0Q7SUFDSDtJQUNBO1FBQ0VQLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VI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QUtBOzs7Ozs7a0NBQ2pCLDhEQUFDSzt3QkFBVUwsS0FBS0E7d0JBQUtKLFdBQVU7Ozs7Ozs7ZUFGbkJJLElBQUlyQixRQUFROzs7Ozs7Ozs7O0FBT2xDO01BWFNxQztBQWFGLFNBQVNFO0lBQ2QscUJBQ0UsOERBQUNEO1FBQVFFLElBQUc7UUFBV0wsY0FBVztRQUFXbEIsV0FBVTs7MEJBQ3JELDhEQUFDcEIsNERBQVNBO2dCQUFDb0IsV0FBVTswQkFDbkIsNEVBQUNNO29CQUFJTixXQUFVOztzQ0FDYiw4REFBQ3dCOzRCQUFHeEIsV0FBVTtzQ0FBK0U7Ozs7OztzQ0FHN0YsOERBQUNZOzRCQUFFWixXQUFVO3NDQUEwRDs7Ozs7O3NDQUl2RSw4REFBQ1k7NEJBQUVaLFdBQVU7c0NBQTBEOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLM0UsOERBQUNNO2dCQUFJTixXQUFVOztrQ0FDYiw4REFBQ3JCLHdFQUFlQTt3QkFBQzhDLFVBQVM7d0JBQVF6QixXQUFVOzs7Ozs7a0NBQzVDLDhEQUFDcEIsNERBQVNBO3dCQUFDb0IsV0FBVTs7MENBQ25CLDhEQUFDVjs7Ozs7MENBQ0QsOERBQUM4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLWDtNQTFCZ0JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeD82MWIzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUYWIsIFRhYkdyb3VwLCBUYWJMaXN0LCBUYWJQYW5lbCwgVGFiUGFuZWxzIH0gZnJvbSAnQGhlYWRsZXNzdWkvcmVhY3QnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5pbXBvcnQgeyBCYWNrZ3JvdW5kSW1hZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvQmFja2dyb3VuZEltYWdlJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcblxuY29uc3Qgc2NoZWR1bGUgPSBbXG4gIHtcbiAgICBkYXRlOiAnQXByaWwgNCcsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA0JyxcbiAgICBzdW1tYXJ5OlxuICAgICAgJ1RoZSBmaXJzdCBkYXkgb2YgdGhlIGNvbmZlcmVuY2UgaXMgZm9jdXNlZCBvbiBkYXJrIHBhdHRlcm5zIGZvciBlY29tbWVyY2UuJyxcbiAgICB0aW1lU2xvdHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1N0ZXZlbiBNY0hhaWwnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdCBzbyBvbmUtdGltZSBwYXltZW50cycsXG4gICAgICAgIHN0YXJ0OiAnOTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTA6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSmFxdWVsaW4gSXNjaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGZpbmVyIHByaW50JyxcbiAgICAgICAgc3RhcnQ6ICcxMDowMEFNJyxcbiAgICAgICAgZW5kOiAnMTE6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRGlhbm5lIEd1aWxpYW5lbGxpJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQb3N0LXB1cmNoYXNlIGJsYWNrbWFpbCcsXG4gICAgICAgIHN0YXJ0OiAnMTE6MDBBTScsXG4gICAgICAgIGVuZDogJzEyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0x1bmNoJyxcbiAgICAgICAgZGVzY3JpcHRpb246IG51bGwsXG4gICAgICAgIHN0YXJ0OiAnMTI6MDBQTScsXG4gICAgICAgIGVuZDogJzE6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUm9ubmkgQ2FudGFkb3JlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCdXkgb3IgZGllJyxcbiAgICAgICAgc3RhcnQ6ICcxOjAwUE0nLFxuICAgICAgICBlbmQ6ICcyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0VyaGFydCBDb2NrcmluJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdJbi1wZXJzb24gY2FuY2VsbGF0aW9uJyxcbiAgICAgICAgc3RhcnQ6ICcyOjAwUE0nLFxuICAgICAgICBlbmQ6ICczOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1BhcmtlciBKb2huc29uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgcGF5L2NhbmNlbCBzd2l0Y2hlcm9vJyxcbiAgICAgICAgc3RhcnQ6ICczOjAwUE0nLFxuICAgICAgICBlbmQ6ICc0OjAwUE0nLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgZGF0ZTogJ0FwcmlsIDUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3VtbWFyeTpcbiAgICAgICdOZXh0IHdlIHNwZW5kIHRoZSBkYXkgdGFsa2luZyBhYm91dCBkZWNlaXZpbmcgcGVvcGxlIHdpdGggdGVjaG5vbG9neS4nLFxuICAgIHRpbWVTbG90czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBpbnZpc2libGUgY2FyZCByZWFkZXInLFxuICAgICAgICBzdGFydDogJzk6MDBBTScsXG4gICAgICAgIGVuZDogJzEwOjAwQU0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTdGVhbGluZyBmaW5nZXJwcmludHMnLFxuICAgICAgICBzdGFydDogJzEwOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMTowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdWb3RpbmcgbWFjaGluZXMnLFxuICAgICAgICBzdGFydDogJzExOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMjowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdMdW5jaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgICBzdGFydDogJzEyOjAwUE0nLFxuICAgICAgICBlbmQ6ICcxOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1JpbmFsZG8gQmV5bm9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCbGFja2hhdCBTRU8gdGhhdCB3b3JrcycsXG4gICAgICAgIHN0YXJ0OiAnMTowMFBNJyxcbiAgICAgICAgZW5kOiAnMjowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1R1cm5pbmcgeW91ciBhdWRpZW5jZSBpbnRvIGEgYm90bmV0JyxcbiAgICAgICAgc3RhcnQ6ICcyOjAwUE0nLFxuICAgICAgICBlbmQ6ICczOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0ZseSBwaGlzaGluZycsXG4gICAgICAgIHN0YXJ0OiAnMzowMFBNJyxcbiAgICAgICAgZW5kOiAnNDowMFBNJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIGRhdGU6ICdBcHJpbCA2JyxcbiAgICBkYXRlVGltZTogJzIwMjItMDQtMDYnLFxuICAgIHN1bW1hcnk6XG4gICAgICAnV2UgY2xvc2Ugb3V0IHRoZSBldmVudCBwcmV2aWV3aW5nIG5ldyB0ZWNobmlxdWVzIHRoYXQgYXJlIHN0aWxsIGluIGRldmVsb3BtZW50LicsXG4gICAgdGltZVNsb3RzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBbmRyZXcgR3JlZW5lJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOZXVyYWxpbmsgZGFyayBwYXR0ZXJucycsXG4gICAgICAgIHN0YXJ0OiAnOTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTA6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSGVhdGhlciBUZXJyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnREFMTC1FIGZvciBwYXNzcG9ydHMnLFxuICAgICAgICBzdGFydDogJzEwOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMTowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdRdWFudHVtIHBhc3N3b3JkIGNyYWNraW5nJyxcbiAgICAgICAgc3RhcnQ6ICcxMTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTI6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnTHVuY2gnLFxuICAgICAgICBkZXNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgc3RhcnQ6ICcxMjowMFBNJyxcbiAgICAgICAgZW5kOiAnMTowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTa3lOZXQgaXMgY29taW5nJyxcbiAgICAgICAgc3RhcnQ6ICcxOjAwUE0nLFxuICAgICAgICBlbmQ6ICcyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tpbWJlcmx5IFBhcnNvbnMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0RhcmsgcGF0dGVybnMgZm9yIHRoZSBtZXRhdmVyc2UnLFxuICAgICAgICBzdGFydDogJzI6MDBQTScsXG4gICAgICAgIGVuZDogJzM6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0tub3dpbmcgdGhlIGdhbWUgYW5kIHBsYXlpbmcgaXQnLFxuICAgICAgICBzdGFydDogJzM6MDBQTScsXG4gICAgICAgIGVuZDogJzQ6MDBQTScsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIFNjaGVkdWxlVGFiYmVkKCkge1xuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgc21NZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDY0MHB4KScpXG5cbiAgICBmdW5jdGlvbiBvbk1lZGlhUXVlcnlDaGFuZ2UoeyBtYXRjaGVzIH0pIHtcbiAgICAgIHNldFRhYk9yaWVudGF0aW9uKG1hdGNoZXMgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnKVxuICAgIH1cblxuICAgIG9uTWVkaWFRdWVyeUNoYW5nZShzbU1lZGlhUXVlcnkpXG4gICAgc21NZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBzbU1lZGlhUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgcmV0dXJuIChcbiAgICA8VGFiR3JvdXBcbiAgICAgIGNsYXNzTmFtZT1cIm14LWF1dG8gZ3JpZCBtYXgtdy0yeGwgZ3JpZC1jb2xzLTEgZ2FwLXktNiBzbTpncmlkLWNvbHMtMiBsZzpoaWRkZW5cIlxuICAgICAgdmVydGljYWw9e3RhYk9yaWVudGF0aW9uID09PSAndmVydGljYWwnfVxuICAgID5cbiAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cIi1teC00IGZsZXggZ2FwLXgtNCBnYXAteS0xMCBvdmVyZmxvdy14LWF1dG8gcGItNCBwbC00IHNtOm14LTAgc206ZmxleC1jb2wgc206cGItMCBzbTpwbC0wIHNtOnByLThcIj5cbiAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7c2NoZWR1bGUubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBrZXk9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAncmVsYXRpdmUgdy0zLzQgZmxleC1ub25lIHByLTQgc206dy1hdXRvIHNtOnByLTAnLFxuICAgICAgICAgICAgICAgICAgZGF5SW5kZXggIT09IHNlbGVjdGVkSW5kZXggJiYgJ29wYWNpdHktNzAnLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RGF5U3VtbWFyeVxuICAgICAgICAgICAgICAgICAgZGF5PXt7XG4gICAgICAgICAgICAgICAgICAgIC4uLmRheSxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvVGFiTGlzdD5cbiAgICAgIDxUYWJQYW5lbHM+XG4gICAgICAgIHtzY2hlZHVsZS5tYXAoKGRheSkgPT4gKFxuICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUaW1lU2xvdHMgZGF5PXtkYXl9IC8+XG4gICAgICAgICAgPC9UYWJQYW5lbD5cbiAgICAgICAgKSl9XG4gICAgICA8L1RhYlBhbmVscz5cbiAgICA8L1RhYkdyb3VwPlxuICApXG59XG5cbmZ1bmN0aW9uIERheVN1bW1hcnkoeyBkYXkgfSkge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgIDx0aW1lIGRhdGVUaW1lPXtkYXkuZGF0ZVRpbWV9PntkYXkuZGF0ZX08L3RpbWU+XG4gICAgICA8L2gzPlxuICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMS41IHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgIHtkYXkuc3VtbWFyeX1cbiAgICAgIDwvcD5cbiAgICA8Lz5cbiAgKVxufVxuXG5mdW5jdGlvbiBUaW1lU2xvdHMoeyBkYXksIGNsYXNzTmFtZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPG9sXG4gICAgICByb2xlPVwibGlzdFwiXG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgJ3NwYWNlLXktOCBiZy13aGl0ZS82MCBweC0xMCBweS0xNCB0ZXh0LWNlbnRlciBzaGFkb3cteGwgc2hhZG93LWJsdWUtOTAwLzUgYmFja2Ryb3AtYmx1cicsXG4gICAgICApfVxuICAgID5cbiAgICAgIHtkYXkudGltZVNsb3RzLm1hcCgodGltZVNsb3QsIHRpbWVTbG90SW5kZXgpID0+IChcbiAgICAgICAgPGxpXG4gICAgICAgICAga2V5PXt0aW1lU2xvdC5zdGFydH1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHt0aW1lU2xvdC5uYW1lfSB0YWxraW5nIGFib3V0ICR7dGltZVNsb3QuZGVzY3JpcHRpb259IGF0ICR7dGltZVNsb3Quc3RhcnR9IC0gJHt0aW1lU2xvdC5lbmR9IFBTVGB9XG4gICAgICAgID5cbiAgICAgICAgICB7dGltZVNsb3RJbmRleCA+IDAgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1iLTggaC1weCB3LTQ4IGJnLWluZGlnby01MDAvMTBcIiAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGg0IGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICB7dGltZVNsb3QubmFtZX1cbiAgICAgICAgICA8L2g0PlxuICAgICAgICAgIHt0aW1lU2xvdC5kZXNjcmlwdGlvbiAmJiAoXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAge3RpbWVTbG90LmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMSBmb250LW1vbm8gdGV4dC1zbSB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgPHRpbWUgZGF0ZVRpbWU9e2Ake2RheS5kYXRlVGltZX1UJHt0aW1lU2xvdC5zdGFydH0tMDg6MDBgfT5cbiAgICAgICAgICAgICAge3RpbWVTbG90LnN0YXJ0fVxuICAgICAgICAgICAgPC90aW1lPnsnICd9XG4gICAgICAgICAgICAteycgJ31cbiAgICAgICAgICAgIDx0aW1lIGRhdGVUaW1lPXtgJHtkYXkuZGF0ZVRpbWV9VCR7dGltZVNsb3QuZW5kfS0wODowMGB9PlxuICAgICAgICAgICAgICB7dGltZVNsb3QuZW5kfVxuICAgICAgICAgICAgPC90aW1lPnsnICd9XG4gICAgICAgICAgICBQU1RcbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvbGk+XG4gICAgICApKX1cbiAgICA8L29sPlxuICApXG59XG5cbmZ1bmN0aW9uIFNjaGVkdWxlU3RhdGljKCkge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOmdyaWQgbGc6Z3JpZC1jb2xzLTMgbGc6Z2FwLXgtOFwiPlxuICAgICAge3NjaGVkdWxlLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgIDxzZWN0aW9uIGtleT17ZGF5LmRhdGVUaW1lfT5cbiAgICAgICAgICA8RGF5U3VtbWFyeSBkYXk9e2RheX0gLz5cbiAgICAgICAgICA8VGltZVNsb3RzIGRheT17ZGF5fSBjbGFzc05hbWU9XCJtdC0xMFwiIC8+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICkpfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTY2hlZHVsZSgpIHtcbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBpZD1cInNjaGVkdWxlXCIgYXJpYS1sYWJlbD1cIlNjaGVkdWxlXCIgY2xhc3NOYW1lPVwicHktMTIgbWItMTJcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTAgbGc6bWF4LXctNHhsIGxnOnByLTI0XCI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS02MDAgc206dGV4dC01eGxcIj5cbiAgICAgICAgICBPdXIgdGhyZWUtZGF5IHNjaGVkdWxlIGlzIGphbS1wYWNrZWQgd2l0aCBpbnNpZ2h0ZnVsIHNlc3Npb25zIGZyb20gaW5kdXN0cnkgbGVhZGVycy4gXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgRWFjaCBkYXkgaXMgZGVzaWduZWQgdG8gaW1tZXJzZSB5b3UgaW4gdGhlIGxhdGVzdCB0cmVuZHMsIFxuICAgICAgICAgIGlubm92YXRpb25zLCBhbmQgb3Bwb3J0dW5pdGllcyBpbiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIGJleW9uZC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNCBmb250LWRpc3BsYXkgdGV4dC0yeGwgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgIEZyb20gaGFuZHMtb24gd29ya3Nob3BzIHRvIHBhbmVsIGRpc2N1c3Npb25zIGFuZCBuZXR3b3JraW5nIGV2ZW50cywgVmVyc2VGZXN0IDIwMjQgb2ZmZXJzIHNvbWV0aGluZyBmb3IgZXZlcnlvbmUuIFxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgbXQtMTQgc206bXQtMjRcIj5cbiAgICAgICAgPEJhY2tncm91bmRJbWFnZSBwb3NpdGlvbj1cInJpZ2h0XCIgY2xhc3NOYW1lPVwiLWJvdHRvbS0zMiAtdG9wLTQwXCIgLz5cbiAgICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgIDxTY2hlZHVsZVRhYmJlZCAvPlxuICAgICAgICAgIDxTY2hlZHVsZVN0YXRpYyAvPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiLCJjbHN4IiwiQmFja2dyb3VuZEltYWdlIiwiQ29udGFpbmVyIiwic2NoZWR1bGUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzdW1tYXJ5IiwidGltZVNsb3RzIiwibmFtZSIsImRlc2NyaXB0aW9uIiwic3RhcnQiLCJlbmQiLCJTY2hlZHVsZVRhYmJlZCIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJzbU1lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY2xhc3NOYW1lIiwidmVydGljYWwiLCJzZWxlY3RlZEluZGV4IiwibWFwIiwiZGF5IiwiZGF5SW5kZXgiLCJkaXYiLCJEYXlTdW1tYXJ5Iiwic3BhbiIsIlRpbWVTbG90cyIsImgzIiwidGltZSIsInAiLCJvbCIsInJvbGUiLCJ0aW1lU2xvdCIsInRpbWVTbG90SW5kZXgiLCJsaSIsImFyaWEtbGFiZWwiLCJoNCIsIlNjaGVkdWxlU3RhdGljIiwic2VjdGlvbiIsIlNjaGVkdWxlIiwiaWQiLCJoMiIsInBvc2l0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Schedule.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/events/versefest/page.e88fc6fa46dd79a3.hot-update.js b/.next/static/webpack/app/events/versefest/page.e88fc6fa46dd79a3.hot-update.js deleted file mode 100644 index b045119..0000000 --- a/.next/static/webpack/app/events/versefest/page.e88fc6fa46dd79a3.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/events/versefest/page",{ - -/***/ "(app-pages-browser)/./src/components/Schedule.jsx": -/*!*************************************!*\ - !*** ./src/components/Schedule.jsx ***! - \*************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Schedule: function() { return /* binding */ Schedule; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/BackgroundImage */ \"(app-pages-browser)/./src/components/BackgroundImage.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* __next_internal_client_entry_do_not_use__ Schedule auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\nconst schedule = [\n {\n date: \"April 4\",\n dateTime: \"2022-04-04\",\n summary: \"The first day of the conference is focused on dark patterns for ecommerce.\",\n timeSlots: [\n {\n name: \"Steven McHail\",\n description: \"Not so one-time payments\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Jaquelin Isch\",\n description: \"The finer print\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Dianne Guilianelli\",\n description: \"Post-purchase blackmail\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Ronni Cantadore\",\n description: \"Buy or die\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Erhart Cockrin\",\n description: \"In-person cancellation\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Parker Johnson\",\n description: \"The pay/cancel switcheroo\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 5\",\n dateTime: \"2022-04-05\",\n summary: \"Next we spend the day talking about deceiving people with technology.\",\n timeSlots: [\n {\n name: \"Damaris Kimura\",\n description: \"The invisible card reader\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Ibrahim Frasch\",\n description: \"Stealing fingerprints\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Cathlene Burrage\",\n description: \"Voting machines\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Rinaldo Beynon\",\n description: \"Blackhat SEO that works\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Waylon Hyden\",\n description: \"Turning your audience into a botnet\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Giordano Sagucio\",\n description: \"Fly phishing\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n },\n {\n date: \"April 6\",\n dateTime: \"2022-04-06\",\n summary: \"We close out the event previewing new techniques that are still in development.\",\n timeSlots: [\n {\n name: \"Andrew Greene\",\n description: \"Neuralink dark patterns\",\n start: \"9:00AM\",\n end: \"10:00AM\"\n },\n {\n name: \"Heather Terry\",\n description: \"DALL-E for passports\",\n start: \"10:00AM\",\n end: \"11:00AM\"\n },\n {\n name: \"Piers Wilkins\",\n description: \"Quantum password cracking\",\n start: \"11:00AM\",\n end: \"12:00PM\"\n },\n {\n name: \"Lunch\",\n description: null,\n start: \"12:00PM\",\n end: \"1:00PM\"\n },\n {\n name: \"Gordon Sanderson\",\n description: \"SkyNet is coming\",\n start: \"1:00PM\",\n end: \"2:00PM\"\n },\n {\n name: \"Kimberly Parsons\",\n description: \"Dark patterns for the metaverse\",\n start: \"2:00PM\",\n end: \"3:00PM\"\n },\n {\n name: \"Richard Astley\",\n description: \"Knowing the game and playing it\",\n start: \"3:00PM\",\n end: \"4:00PM\"\n }\n ]\n }\n];\nfunction ScheduleTabbed() {\n _s();\n let [tabOrientation, setTabOrientation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"horizontal\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n let smMediaQuery = window.matchMedia(\"(min-width: 640px)\");\n function onMediaQueryChange(param) {\n let { matches } = param;\n setTabOrientation(matches ? \"vertical\" : \"horizontal\");\n }\n onMediaQueryChange(smMediaQuery);\n smMediaQuery.addEventListener(\"change\", onMediaQueryChange);\n return ()=>{\n smMediaQuery.removeEventListener(\"change\", onMediaQueryChange);\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabGroup, {\n className: \"mx-auto grid max-w-2xl grid-cols-1 gap-y-6 sm:grid-cols-2 lg:hidden\",\n vertical: tabOrientation === \"vertical\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabList, {\n className: \"-mx-4 flex gap-x-4 gap-y-10 overflow-x-auto pb-4 pl-4 sm:mx-0 sm:flex-col sm:pb-0 sm:pl-0 sm:pr-8\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: schedule.map((day, dayIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"relative w-3/4 flex-none pr-4 sm:w-auto sm:pr-0\", dayIndex !== selectedIndex && \"opacity-70\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: {\n ...day,\n date: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.Tab, {\n className: \"ui-not-focus-visible:outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute inset-0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 202,\n columnNumber: 25\n }, void 0),\n day.date\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 201,\n columnNumber: 23\n }, void 0)\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 197,\n columnNumber: 17\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 190,\n columnNumber: 15\n }, this))\n }, void 0, false);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 186,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanels, {\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanel, {\n className: \"ui-not-focus-visible:outline-none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 219,\n columnNumber: 13\n }, this)\n }, day.dateTime, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 213,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 182,\n columnNumber: 5\n }, this);\n}\n_s(ScheduleTabbed, \"PA0UdhBatJoZrK3UQwLJY5ZxHuI=\");\n_c = ScheduleTabbed;\nfunction DaySummary(param) {\n let { day } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-semibold tracking-tight text-blue-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: day.dateTime,\n children: day.date\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 230,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1.5 text-base tracking-tight text-blue-900\",\n children: day.summary\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 233,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\n_c1 = DaySummary;\nfunction TimeSlots(param) {\n let { day, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ol\", {\n role: \"list\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(className, \"space-y-8 bg-white/60 px-10 py-14 text-center shadow-xl shadow-blue-900/5 backdrop-blur\"),\n children: day.timeSlots.map((timeSlot, timeSlotIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n \"aria-label\": `${timeSlot.name} talking about ${timeSlot.description} at ${timeSlot.start} - ${timeSlot.end} PST`,\n children: [\n timeSlotIndex > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto mb-8 h-px w-48 bg-indigo-500/10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 255,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-lg font-semibold tracking-tight text-blue-900\",\n children: timeSlot.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this),\n timeSlot.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 tracking-tight text-blue-900\",\n children: timeSlot.description\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 261,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 font-mono text-sm text-slate-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.start}-08:00`,\n children: timeSlot.start\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 266,\n columnNumber: 13\n }, this),\n \" \",\n \"-\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"time\", {\n dateTime: `${day.dateTime}T${timeSlot.end}-08:00`,\n children: timeSlot.end\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 270,\n columnNumber: 13\n }, this),\n \" \",\n \"PST\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 265,\n columnNumber: 11\n }, this)\n ]\n }, timeSlot.start, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 250,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 242,\n columnNumber: 5\n }, this);\n}\n_c2 = TimeSlots;\nfunction ScheduleStatic() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden lg:grid lg:grid-cols-3 lg:gap-x-8\",\n children: schedule.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DaySummary, {\n day: day\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 286,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TimeSlots, {\n day: day,\n className: \"mt-10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 287,\n columnNumber: 11\n }, this)\n ]\n }, day.dateTime, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 285,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 283,\n columnNumber: 5\n }, this);\n}\n_c3 = ScheduleStatic;\nfunction Schedule() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"schedule\",\n \"aria-label\": \"Schedule\",\n className: \"py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative z-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0 lg:max-w-4xl lg:pr-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"font-display text-4xl font-medium tracking-tighter text-blue-600 sm:text-5xl\",\n children: \"Our three-day schedule is jam-packed with insightful sessions from industry leaders.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 299,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"Each day is designed to immerse you in the latest trends, innovations, and opportunities in the metaverse, Web3, AI, and beyond.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 302,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 font-display text-2xl tracking-tight text-blue-900\",\n children: \"From hands-on workshops to panel discussions and networking events, VerseFest 2024 offers something for everyone.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 306,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 297,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mt-14 sm:mt-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BackgroundImage__WEBPACK_IMPORTED_MODULE_3__.BackgroundImage, {\n position: \"right\",\n className: \"-bottom-32 -top-40\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 312,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleTabbed, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 314,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScheduleStatic, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 315,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 313,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 311,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx\",\n lineNumber: 296,\n columnNumber: 5\n }, this);\n}\n_c4 = Schedule;\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"ScheduleTabbed\");\n$RefreshReg$(_c1, \"DaySummary\");\n$RefreshReg$(_c2, \"TimeSlots\");\n$RefreshReg$(_c3, \"ScheduleStatic\");\n$RefreshReg$(_c4, \"Schedule\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ29DO0FBQ3hEO0FBRXVDO0FBQ1o7QUFFbEQsTUFBTVUsV0FBVztJQUNmO1FBQ0VDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1NBQ0Q7SUFDSDtJQUNBO1FBQ0VQLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1NBQ0Q7SUFDSDtJQUNBO1FBQ0VQLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxTQUNFO1FBQ0ZDLFdBQVc7WUFDVDtnQkFDRUMsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1lBQ0E7Z0JBQ0VILE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLE9BQU87Z0JBQ1BDLEtBQUs7WUFDUDtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxhQUFhO2dCQUNiQyxPQUFPO2dCQUNQQyxLQUFLO1lBQ1A7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsYUFBYTtnQkFDYkMsT0FBTztnQkFDUEMsS0FBSztZQUNQO1NBQ0Q7SUFDSDtDQUNEO0FBRUQsU0FBU0M7O0lBQ1AsSUFBSSxDQUFDQyxnQkFBZ0JDLGtCQUFrQixHQUFHcEIsK0NBQVFBLENBQUM7SUFFbkRELGdEQUFTQSxDQUFDO1FBQ1IsSUFBSXNCLGVBQWVDLE9BQU9DLFVBQVUsQ0FBQztRQUVyQyxTQUFTQyxtQkFBbUIsS0FBVztnQkFBWCxFQUFFQyxPQUFPLEVBQUUsR0FBWDtZQUMxQkwsa0JBQWtCSyxVQUFVLGFBQWE7UUFDM0M7UUFFQUQsbUJBQW1CSDtRQUNuQkEsYUFBYUssZ0JBQWdCLENBQUMsVUFBVUY7UUFFeEMsT0FBTztZQUNMSCxhQUFhTSxtQkFBbUIsQ0FBQyxVQUFVSDtRQUM3QztJQUNGLEdBQUcsRUFBRTtJQUVMLHFCQUNFLDhEQUFDdEIscUhBQVFBO1FBQ1AwQixXQUFVO1FBQ1ZDLFVBQVVWLG1CQUFtQjs7MEJBRTdCLDhEQUFDaEIsb0hBQU9BO2dCQUFDeUIsV0FBVTswQkFDaEI7d0JBQUMsRUFBRUUsYUFBYSxFQUFFO3lDQUNqQjtrQ0FDR3JCLFNBQVNzQixHQUFHLENBQUMsQ0FBQ0MsS0FBS0MseUJBQ2xCLDhEQUFDQztnQ0FFQ04sV0FBV3RCLGdEQUFJQSxDQUNiLG1EQUNBMkIsYUFBYUgsaUJBQWlCOzBDQUdoQyw0RUFBQ0s7b0NBQ0NILEtBQUs7d0NBQ0gsR0FBR0EsR0FBRzt3Q0FDTnRCLG9CQUNFLDhEQUFDVCxnSEFBR0E7NENBQUMyQixXQUFVOzs4REFDYiw4REFBQ1E7b0RBQUtSLFdBQVU7Ozs7OztnREFDZkksSUFBSXRCLElBQUk7Ozs7Ozs7b0NBR2Y7Ozs7OzsrQkFmR3NCLElBQUlyQixRQUFROzs7Ozs7Ozs7Ozs7MEJBc0IzQiw4REFBQ04sc0hBQVNBOzBCQUNQSSxTQUFTc0IsR0FBRyxDQUFDLENBQUNDLG9CQUNiLDhEQUFDNUIscUhBQVFBO3dCQUVQd0IsV0FBVTtrQ0FFViw0RUFBQ1M7NEJBQVVMLEtBQUtBOzs7Ozs7dUJBSFhBLElBQUlyQixRQUFROzs7Ozs7Ozs7Ozs7Ozs7O0FBUzdCO0dBOURTTztLQUFBQTtBQWdFVCxTQUFTaUIsV0FBVyxLQUFPO1FBQVAsRUFBRUgsR0FBRyxFQUFFLEdBQVA7SUFDbEIscUJBQ0U7OzBCQUNFLDhEQUFDTTtnQkFBR1YsV0FBVTswQkFDWiw0RUFBQ1c7b0JBQUs1QixVQUFVcUIsSUFBSXJCLFFBQVE7OEJBQUdxQixJQUFJdEIsSUFBSTs7Ozs7Ozs7Ozs7MEJBRXpDLDhEQUFDOEI7Z0JBQUVaLFdBQVU7MEJBQ1ZJLElBQUlwQixPQUFPOzs7Ozs7OztBQUlwQjtNQVhTdUI7QUFhVCxTQUFTRSxVQUFVLEtBQWtCO1FBQWxCLEVBQUVMLEdBQUcsRUFBRUosU0FBUyxFQUFFLEdBQWxCO0lBQ2pCLHFCQUNFLDhEQUFDYTtRQUNDQyxNQUFLO1FBQ0xkLFdBQVd0QixnREFBSUEsQ0FDYnNCLFdBQ0E7a0JBR0RJLElBQUluQixTQUFTLENBQUNrQixHQUFHLENBQUMsQ0FBQ1ksVUFBVUMsOEJBQzVCLDhEQUFDQztnQkFFQ0MsY0FBWSxDQUFDLEVBQUVILFNBQVM3QixJQUFJLENBQUMsZUFBZSxFQUFFNkIsU0FBUzVCLFdBQVcsQ0FBQyxJQUFJLEVBQUU0QixTQUFTM0IsS0FBSyxDQUFDLEdBQUcsRUFBRTJCLFNBQVMxQixHQUFHLENBQUMsSUFBSSxDQUFDOztvQkFFOUcyQixnQkFBZ0IsbUJBQ2YsOERBQUNWO3dCQUFJTixXQUFVOzs7Ozs7a0NBRWpCLDhEQUFDbUI7d0JBQUduQixXQUFVO2tDQUNYZSxTQUFTN0IsSUFBSTs7Ozs7O29CQUVmNkIsU0FBUzVCLFdBQVcsa0JBQ25CLDhEQUFDeUI7d0JBQUVaLFdBQVU7a0NBQ1ZlLFNBQVM1QixXQUFXOzs7Ozs7a0NBR3pCLDhEQUFDeUI7d0JBQUVaLFdBQVU7OzBDQUNYLDhEQUFDVztnQ0FBSzVCLFVBQVUsQ0FBQyxFQUFFcUIsSUFBSXJCLFFBQVEsQ0FBQyxDQUFDLEVBQUVnQyxTQUFTM0IsS0FBSyxDQUFDLE1BQU0sQ0FBQzswQ0FDdEQyQixTQUFTM0IsS0FBSzs7Ozs7OzRCQUNUOzRCQUFJOzRCQUNWOzBDQUNGLDhEQUFDdUI7Z0NBQUs1QixVQUFVLENBQUMsRUFBRXFCLElBQUlyQixRQUFRLENBQUMsQ0FBQyxFQUFFZ0MsU0FBUzFCLEdBQUcsQ0FBQyxNQUFNLENBQUM7MENBQ3BEMEIsU0FBUzFCLEdBQUc7Ozs7Ozs0QkFDUDs0QkFBSTs7Ozs7Ozs7ZUFyQlQwQixTQUFTM0IsS0FBSzs7Ozs7Ozs7OztBQTRCN0I7TUF2Q1NxQjtBQXlDVCxTQUFTVztJQUNQLHFCQUNFLDhEQUFDZDtRQUFJTixXQUFVO2tCQUNabkIsU0FBU3NCLEdBQUcsQ0FBQyxDQUFDQyxvQkFDYiw4REFBQ2lCOztrQ0FDQyw4REFBQ2Q7d0JBQVdILEtBQUtBOzs7Ozs7a0NBQ2pCLDhEQUFDSzt3QkFBVUwsS0FBS0E7d0JBQUtKLFdBQVU7Ozs7Ozs7ZUFGbkJJLElBQUlyQixRQUFROzs7Ozs7Ozs7O0FBT2xDO01BWFNxQztBQWFGLFNBQVNFO0lBQ2QscUJBQ0UsOERBQUNEO1FBQVFFLElBQUc7UUFBV0wsY0FBVztRQUFXbEIsV0FBVTs7MEJBQ3JELDhEQUFDcEIsNERBQVNBO2dCQUFDb0IsV0FBVTswQkFDbkIsNEVBQUNNO29CQUFJTixXQUFVOztzQ0FDYiw4REFBQ3dCOzRCQUFHeEIsV0FBVTtzQ0FBK0U7Ozs7OztzQ0FHN0YsOERBQUNZOzRCQUFFWixXQUFVO3NDQUEwRDs7Ozs7O3NDQUl2RSw4REFBQ1k7NEJBQUVaLFdBQVU7c0NBQTBEOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLM0UsOERBQUNNO2dCQUFJTixXQUFVOztrQ0FDYiw4REFBQ3JCLHdFQUFlQTt3QkFBQzhDLFVBQVM7d0JBQVF6QixXQUFVOzs7Ozs7a0NBQzVDLDhEQUFDcEIsNERBQVNBO3dCQUFDb0IsV0FBVTs7MENBQ25CLDhEQUFDVjs7Ozs7MENBQ0QsOERBQUM4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLWDtNQTFCZ0JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL1NjaGVkdWxlLmpzeD82MWIzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUYWIsIFRhYkdyb3VwLCBUYWJMaXN0LCBUYWJQYW5lbCwgVGFiUGFuZWxzIH0gZnJvbSAnQGhlYWRsZXNzdWkvcmVhY3QnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5pbXBvcnQgeyBCYWNrZ3JvdW5kSW1hZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvQmFja2dyb3VuZEltYWdlJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcblxuY29uc3Qgc2NoZWR1bGUgPSBbXG4gIHtcbiAgICBkYXRlOiAnQXByaWwgNCcsXG4gICAgZGF0ZVRpbWU6ICcyMDIyLTA0LTA0JyxcbiAgICBzdW1tYXJ5OlxuICAgICAgJ1RoZSBmaXJzdCBkYXkgb2YgdGhlIGNvbmZlcmVuY2UgaXMgZm9jdXNlZCBvbiBkYXJrIHBhdHRlcm5zIGZvciBlY29tbWVyY2UuJyxcbiAgICB0aW1lU2xvdHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1N0ZXZlbiBNY0hhaWwnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdCBzbyBvbmUtdGltZSBwYXltZW50cycsXG4gICAgICAgIHN0YXJ0OiAnOTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTA6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSmFxdWVsaW4gSXNjaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGZpbmVyIHByaW50JyxcbiAgICAgICAgc3RhcnQ6ICcxMDowMEFNJyxcbiAgICAgICAgZW5kOiAnMTE6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRGlhbm5lIEd1aWxpYW5lbGxpJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQb3N0LXB1cmNoYXNlIGJsYWNrbWFpbCcsXG4gICAgICAgIHN0YXJ0OiAnMTE6MDBBTScsXG4gICAgICAgIGVuZDogJzEyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0x1bmNoJyxcbiAgICAgICAgZGVzY3JpcHRpb246IG51bGwsXG4gICAgICAgIHN0YXJ0OiAnMTI6MDBQTScsXG4gICAgICAgIGVuZDogJzE6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUm9ubmkgQ2FudGFkb3JlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCdXkgb3IgZGllJyxcbiAgICAgICAgc3RhcnQ6ICcxOjAwUE0nLFxuICAgICAgICBlbmQ6ICcyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0VyaGFydCBDb2NrcmluJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdJbi1wZXJzb24gY2FuY2VsbGF0aW9uJyxcbiAgICAgICAgc3RhcnQ6ICcyOjAwUE0nLFxuICAgICAgICBlbmQ6ICczOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1BhcmtlciBKb2huc29uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgcGF5L2NhbmNlbCBzd2l0Y2hlcm9vJyxcbiAgICAgICAgc3RhcnQ6ICczOjAwUE0nLFxuICAgICAgICBlbmQ6ICc0OjAwUE0nLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgZGF0ZTogJ0FwcmlsIDUnLFxuICAgIGRhdGVUaW1lOiAnMjAyMi0wNC0wNScsXG4gICAgc3VtbWFyeTpcbiAgICAgICdOZXh0IHdlIHNwZW5kIHRoZSBkYXkgdGFsa2luZyBhYm91dCBkZWNlaXZpbmcgcGVvcGxlIHdpdGggdGVjaG5vbG9neS4nLFxuICAgIHRpbWVTbG90czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRGFtYXJpcyBLaW11cmEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBpbnZpc2libGUgY2FyZCByZWFkZXInLFxuICAgICAgICBzdGFydDogJzk6MDBBTScsXG4gICAgICAgIGVuZDogJzEwOjAwQU0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0licmFoaW0gRnJhc2NoJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTdGVhbGluZyBmaW5nZXJwcmludHMnLFxuICAgICAgICBzdGFydDogJzEwOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMTowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdDYXRobGVuZSBCdXJyYWdlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdWb3RpbmcgbWFjaGluZXMnLFxuICAgICAgICBzdGFydDogJzExOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMjowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdMdW5jaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgICBzdGFydDogJzEyOjAwUE0nLFxuICAgICAgICBlbmQ6ICcxOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1JpbmFsZG8gQmV5bm9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCbGFja2hhdCBTRU8gdGhhdCB3b3JrcycsXG4gICAgICAgIHN0YXJ0OiAnMTowMFBNJyxcbiAgICAgICAgZW5kOiAnMjowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXYXlsb24gSHlkZW4nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1R1cm5pbmcgeW91ciBhdWRpZW5jZSBpbnRvIGEgYm90bmV0JyxcbiAgICAgICAgc3RhcnQ6ICcyOjAwUE0nLFxuICAgICAgICBlbmQ6ICczOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0dpb3JkYW5vIFNhZ3VjaW8nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0ZseSBwaGlzaGluZycsXG4gICAgICAgIHN0YXJ0OiAnMzowMFBNJyxcbiAgICAgICAgZW5kOiAnNDowMFBNJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIGRhdGU6ICdBcHJpbCA2JyxcbiAgICBkYXRlVGltZTogJzIwMjItMDQtMDYnLFxuICAgIHN1bW1hcnk6XG4gICAgICAnV2UgY2xvc2Ugb3V0IHRoZSBldmVudCBwcmV2aWV3aW5nIG5ldyB0ZWNobmlxdWVzIHRoYXQgYXJlIHN0aWxsIGluIGRldmVsb3BtZW50LicsXG4gICAgdGltZVNsb3RzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdBbmRyZXcgR3JlZW5lJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOZXVyYWxpbmsgZGFyayBwYXR0ZXJucycsXG4gICAgICAgIHN0YXJ0OiAnOTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTA6MDBBTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSGVhdGhlciBUZXJyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnREFMTC1FIGZvciBwYXNzcG9ydHMnLFxuICAgICAgICBzdGFydDogJzEwOjAwQU0nLFxuICAgICAgICBlbmQ6ICcxMTowMEFNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdQaWVycyBXaWxraW5zJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdRdWFudHVtIHBhc3N3b3JkIGNyYWNraW5nJyxcbiAgICAgICAgc3RhcnQ6ICcxMTowMEFNJyxcbiAgICAgICAgZW5kOiAnMTI6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnTHVuY2gnLFxuICAgICAgICBkZXNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgc3RhcnQ6ICcxMjowMFBNJyxcbiAgICAgICAgZW5kOiAnMTowMFBNJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdHb3Jkb24gU2FuZGVyc29uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTa3lOZXQgaXMgY29taW5nJyxcbiAgICAgICAgc3RhcnQ6ICcxOjAwUE0nLFxuICAgICAgICBlbmQ6ICcyOjAwUE0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0tpbWJlcmx5IFBhcnNvbnMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0RhcmsgcGF0dGVybnMgZm9yIHRoZSBtZXRhdmVyc2UnLFxuICAgICAgICBzdGFydDogJzI6MDBQTScsXG4gICAgICAgIGVuZDogJzM6MDBQTScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUmljaGFyZCBBc3RsZXknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0tub3dpbmcgdGhlIGdhbWUgYW5kIHBsYXlpbmcgaXQnLFxuICAgICAgICBzdGFydDogJzM6MDBQTScsXG4gICAgICAgIGVuZDogJzQ6MDBQTScsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dXG5cbmZ1bmN0aW9uIFNjaGVkdWxlVGFiYmVkKCkge1xuICBsZXQgW3RhYk9yaWVudGF0aW9uLCBzZXRUYWJPcmllbnRhdGlvbl0gPSB1c2VTdGF0ZSgnaG9yaXpvbnRhbCcpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgc21NZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDY0MHB4KScpXG5cbiAgICBmdW5jdGlvbiBvbk1lZGlhUXVlcnlDaGFuZ2UoeyBtYXRjaGVzIH0pIHtcbiAgICAgIHNldFRhYk9yaWVudGF0aW9uKG1hdGNoZXMgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnKVxuICAgIH1cblxuICAgIG9uTWVkaWFRdWVyeUNoYW5nZShzbU1lZGlhUXVlcnkpXG4gICAgc21NZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uTWVkaWFRdWVyeUNoYW5nZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBzbU1lZGlhUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25NZWRpYVF1ZXJ5Q2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgcmV0dXJuIChcbiAgICA8VGFiR3JvdXBcbiAgICAgIGNsYXNzTmFtZT1cIm14LWF1dG8gZ3JpZCBtYXgtdy0yeGwgZ3JpZC1jb2xzLTEgZ2FwLXktNiBzbTpncmlkLWNvbHMtMiBsZzpoaWRkZW5cIlxuICAgICAgdmVydGljYWw9e3RhYk9yaWVudGF0aW9uID09PSAndmVydGljYWwnfVxuICAgID5cbiAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cIi1teC00IGZsZXggZ2FwLXgtNCBnYXAteS0xMCBvdmVyZmxvdy14LWF1dG8gcGItNCBwbC00IHNtOm14LTAgc206ZmxleC1jb2wgc206cGItMCBzbTpwbC0wIHNtOnByLThcIj5cbiAgICAgICAgeyh7IHNlbGVjdGVkSW5kZXggfSkgPT4gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7c2NoZWR1bGUubWFwKChkYXksIGRheUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBrZXk9e2RheS5kYXRlVGltZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAncmVsYXRpdmUgdy0zLzQgZmxleC1ub25lIHByLTQgc206dy1hdXRvIHNtOnByLTAnLFxuICAgICAgICAgICAgICAgICAgZGF5SW5kZXggIT09IHNlbGVjdGVkSW5kZXggJiYgJ29wYWNpdHktNzAnLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RGF5U3VtbWFyeVxuICAgICAgICAgICAgICAgICAgZGF5PXt7XG4gICAgICAgICAgICAgICAgICAgIC4uLmRheSxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICAgIDxUYWIgY2xhc3NOYW1lPVwidWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtkYXkuZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1RhYj5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvVGFiTGlzdD5cbiAgICAgIDxUYWJQYW5lbHM+XG4gICAgICAgIHtzY2hlZHVsZS5tYXAoKGRheSkgPT4gKFxuICAgICAgICAgIDxUYWJQYW5lbFxuICAgICAgICAgICAga2V5PXtkYXkuZGF0ZVRpbWV9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUaW1lU2xvdHMgZGF5PXtkYXl9IC8+XG4gICAgICAgICAgPC9UYWJQYW5lbD5cbiAgICAgICAgKSl9XG4gICAgICA8L1RhYlBhbmVscz5cbiAgICA8L1RhYkdyb3VwPlxuICApXG59XG5cbmZ1bmN0aW9uIERheVN1bW1hcnkoeyBkYXkgfSkge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgIDx0aW1lIGRhdGVUaW1lPXtkYXkuZGF0ZVRpbWV9PntkYXkuZGF0ZX08L3RpbWU+XG4gICAgICA8L2gzPlxuICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMS41IHRleHQtYmFzZSB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgIHtkYXkuc3VtbWFyeX1cbiAgICAgIDwvcD5cbiAgICA8Lz5cbiAgKVxufVxuXG5mdW5jdGlvbiBUaW1lU2xvdHMoeyBkYXksIGNsYXNzTmFtZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPG9sXG4gICAgICByb2xlPVwibGlzdFwiXG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgJ3NwYWNlLXktOCBiZy13aGl0ZS82MCBweC0xMCBweS0xNCB0ZXh0LWNlbnRlciBzaGFkb3cteGwgc2hhZG93LWJsdWUtOTAwLzUgYmFja2Ryb3AtYmx1cicsXG4gICAgICApfVxuICAgID5cbiAgICAgIHtkYXkudGltZVNsb3RzLm1hcCgodGltZVNsb3QsIHRpbWVTbG90SW5kZXgpID0+IChcbiAgICAgICAgPGxpXG4gICAgICAgICAga2V5PXt0aW1lU2xvdC5zdGFydH1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHt0aW1lU2xvdC5uYW1lfSB0YWxraW5nIGFib3V0ICR7dGltZVNsb3QuZGVzY3JpcHRpb259IGF0ICR7dGltZVNsb3Quc3RhcnR9IC0gJHt0aW1lU2xvdC5lbmR9IFBTVGB9XG4gICAgICAgID5cbiAgICAgICAgICB7dGltZVNsb3RJbmRleCA+IDAgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1iLTggaC1weCB3LTQ4IGJnLWluZGlnby01MDAvMTBcIiAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGg0IGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgICB7dGltZVNsb3QubmFtZX1cbiAgICAgICAgICA8L2g0PlxuICAgICAgICAgIHt0aW1lU2xvdC5kZXNjcmlwdGlvbiAmJiAoXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRyYWNraW5nLXRpZ2h0IHRleHQtYmx1ZS05MDBcIj5cbiAgICAgICAgICAgICAge3RpbWVTbG90LmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMSBmb250LW1vbm8gdGV4dC1zbSB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgPHRpbWUgZGF0ZVRpbWU9e2Ake2RheS5kYXRlVGltZX1UJHt0aW1lU2xvdC5zdGFydH0tMDg6MDBgfT5cbiAgICAgICAgICAgICAge3RpbWVTbG90LnN0YXJ0fVxuICAgICAgICAgICAgPC90aW1lPnsnICd9XG4gICAgICAgICAgICAteycgJ31cbiAgICAgICAgICAgIDx0aW1lIGRhdGVUaW1lPXtgJHtkYXkuZGF0ZVRpbWV9VCR7dGltZVNsb3QuZW5kfS0wODowMGB9PlxuICAgICAgICAgICAgICB7dGltZVNsb3QuZW5kfVxuICAgICAgICAgICAgPC90aW1lPnsnICd9XG4gICAgICAgICAgICBQU1RcbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvbGk+XG4gICAgICApKX1cbiAgICA8L29sPlxuICApXG59XG5cbmZ1bmN0aW9uIFNjaGVkdWxlU3RhdGljKCkge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOmdyaWQgbGc6Z3JpZC1jb2xzLTMgbGc6Z2FwLXgtOFwiPlxuICAgICAge3NjaGVkdWxlLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgIDxzZWN0aW9uIGtleT17ZGF5LmRhdGVUaW1lfT5cbiAgICAgICAgICA8RGF5U3VtbWFyeSBkYXk9e2RheX0gLz5cbiAgICAgICAgICA8VGltZVNsb3RzIGRheT17ZGF5fSBjbGFzc05hbWU9XCJtdC0xMFwiIC8+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICkpfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTY2hlZHVsZSgpIHtcbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBpZD1cInNjaGVkdWxlXCIgYXJpYS1sYWJlbD1cIlNjaGVkdWxlXCIgY2xhc3NOYW1lPVwicHktMTJcIj5cbiAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTAgbGc6bWF4LXctNHhsIGxnOnByLTI0XCI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cImZvbnQtZGlzcGxheSB0ZXh0LTR4bCBmb250LW1lZGl1bSB0cmFja2luZy10aWdodGVyIHRleHQtYmx1ZS02MDAgc206dGV4dC01eGxcIj5cbiAgICAgICAgICBPdXIgdGhyZWUtZGF5IHNjaGVkdWxlIGlzIGphbS1wYWNrZWQgd2l0aCBpbnNpZ2h0ZnVsIHNlc3Npb25zIGZyb20gaW5kdXN0cnkgbGVhZGVycy4gXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IGZvbnQtZGlzcGxheSB0ZXh0LTJ4bCB0cmFja2luZy10aWdodCB0ZXh0LWJsdWUtOTAwXCI+XG4gICAgICAgICAgRWFjaCBkYXkgaXMgZGVzaWduZWQgdG8gaW1tZXJzZSB5b3UgaW4gdGhlIGxhdGVzdCB0cmVuZHMsIFxuICAgICAgICAgIGlubm92YXRpb25zLCBhbmQgb3Bwb3J0dW5pdGllcyBpbiB0aGUgbWV0YXZlcnNlLCBXZWIzLCBBSSwgYW5kIGJleW9uZC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNCBmb250LWRpc3BsYXkgdGV4dC0yeGwgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTkwMFwiPlxuICAgICAgICAgIEZyb20gaGFuZHMtb24gd29ya3Nob3BzIHRvIHBhbmVsIGRpc2N1c3Npb25zIGFuZCBuZXR3b3JraW5nIGV2ZW50cywgVmVyc2VGZXN0IDIwMjQgb2ZmZXJzIHNvbWV0aGluZyBmb3IgZXZlcnlvbmUuIFxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgbXQtMTQgc206bXQtMjRcIj5cbiAgICAgICAgPEJhY2tncm91bmRJbWFnZSBwb3NpdGlvbj1cInJpZ2h0XCIgY2xhc3NOYW1lPVwiLWJvdHRvbS0zMiAtdG9wLTQwXCIgLz5cbiAgICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgIDxTY2hlZHVsZVRhYmJlZCAvPlxuICAgICAgICAgIDxTY2hlZHVsZVN0YXRpYyAvPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiLCJjbHN4IiwiQmFja2dyb3VuZEltYWdlIiwiQ29udGFpbmVyIiwic2NoZWR1bGUiLCJkYXRlIiwiZGF0ZVRpbWUiLCJzdW1tYXJ5IiwidGltZVNsb3RzIiwibmFtZSIsImRlc2NyaXB0aW9uIiwic3RhcnQiLCJlbmQiLCJTY2hlZHVsZVRhYmJlZCIsInRhYk9yaWVudGF0aW9uIiwic2V0VGFiT3JpZW50YXRpb24iLCJzbU1lZGlhUXVlcnkiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwib25NZWRpYVF1ZXJ5Q2hhbmdlIiwibWF0Y2hlcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY2xhc3NOYW1lIiwidmVydGljYWwiLCJzZWxlY3RlZEluZGV4IiwibWFwIiwiZGF5IiwiZGF5SW5kZXgiLCJkaXYiLCJEYXlTdW1tYXJ5Iiwic3BhbiIsIlRpbWVTbG90cyIsImgzIiwidGltZSIsInAiLCJvbCIsInJvbGUiLCJ0aW1lU2xvdCIsInRpbWVTbG90SW5kZXgiLCJsaSIsImFyaWEtbGFiZWwiLCJoNCIsIlNjaGVkdWxlU3RhdGljIiwic2VjdGlvbiIsIlNjaGVkdWxlIiwiaWQiLCJoMiIsInBvc2l0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Schedule.jsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/events/versefest/page.e8b0269410ae9914.hot-update.js b/.next/static/webpack/app/events/versefest/page.e8b0269410ae9914.hot-update.js deleted file mode 100644 index b8fbae9..0000000 --- a/.next/static/webpack/app/events/versefest/page.e8b0269410ae9914.hot-update.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/events/versefest/page",{ - -/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!": -/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false! ***! - \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(app-pages-browser)/./src/components/Header.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Schedule.jsx */ \"(app-pages-browser)/./src/components/Schedule.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Speakers.jsx */ \"(app-pages-browser)/./src/components/Speakers.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-newsletter.jpg */ \"(app-pages-browser)/./src/images/background-newsletter.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background.jpg */ \"(app-pages-browser)/./src/images/background.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/mirage.svg */ \"(app-pages-browser)/./src/images/logos/mirage.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/statickit.svg */ \"(app-pages-browser)/./src/images/logos/statickit.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/transistor.svg */ \"(app-pages-browser)/./src/images/logos/transistor.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/tuple.svg */ \"(app-pages-browser)/./src/images/logos/tuple.svg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZpbWFnZS1jb21wb25lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZsaW5rLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZjb21wb25lbnRzJTJGSGVhZGVyLmpzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkhlYWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZjb21wb25lbnRzJTJGU2NoZWR1bGUuanN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyU2NoZWR1bGUlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGY29tcG9uZW50cyUyRlNwZWFrZXJzLmpzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlNwZWFrZXJzJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmJhY2tncm91bmQtbmV3c2xldHRlci5qcGclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmJhY2tncm91bmQuanBnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZvdXJ2ZXJzZV9uZXclMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRm1pcmFnZS5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRm91cnZlcnNlX25ldyUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGc3RhdGlja2l0LnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZ0cmFuc2lzdG9yLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGb3VydmVyc2VfbmV3JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZ0dXBsZS5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJnNlcnZlcj1mYWxzZSEiLCJtYXBwaW5ncyI6IkFBQUEsb09BQTJJO0FBQzNJO0FBQ0EsOE1BQWdJO0FBQ2hJO0FBQ0EsZ0xBQWdKO0FBQ2hKO0FBQ0Esb0xBQW9KO0FBQ3BKO0FBQ0Esb0xBQW9KO0FBQ3BKO0FBQ0Esc01BQStIO0FBQy9IO0FBQ0EsZ0xBQW9IO0FBQ3BIO0FBQ0Esb0xBQXNIO0FBQ3RIO0FBQ0EsMExBQXlIO0FBQ3pIO0FBQ0EsNExBQTBIO0FBQzFIO0FBQ0Esa0xBQXFIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8/MzE2OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2ltYWdlLWNvbXBvbmVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbGluay5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiSGVhZGVyXCJdICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2NvbXBvbmVudHMvSGVhZGVyLmpzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiU2NoZWR1bGVcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvY29tcG9uZW50cy9TY2hlZHVsZS5qc3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIlNwZWFrZXJzXCJdICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2NvbXBvbmVudHMvU3BlYWtlcnMuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2JhY2tncm91bmQtbmV3c2xldHRlci5qcGdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvYmFja2dyb3VuZC5qcGdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvb3VydmVyc2VfbmV3L3NyYy9pbWFnZXMvbG9nb3MvbWlyYWdlLnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi9vdXJ2ZXJzZV9uZXcvc3JjL2ltYWdlcy9sb2dvcy9zdGF0aWNraXQuc3ZnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2xvZ29zL3RyYW5zaXN0b3Iuc3ZnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL291cnZlcnNlX25ldy9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Z1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.00d6a2162f81ace9.hot-update.js b/.next/static/webpack/app/layout.00d6a2162f81ace9.hot-update.js deleted file mode 100644 index 597d364..0000000 --- a/.next/static/webpack/app/layout.00d6a2162f81ace9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"b6f75ac1f06c\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiYjZmNzVhYzFmMDZjXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.0aafa31d5b32ce19.hot-update.js b/.next/static/webpack/app/layout.0aafa31d5b32ce19.hot-update.js deleted file mode 100644 index 14b9f11..0000000 --- a/.next/static/webpack/app/layout.0aafa31d5b32ce19.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"1fdbadc89738\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMWZkYmFkYzg5NzM4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.13f8832333be1c5c.hot-update.js b/.next/static/webpack/app/layout.13f8832333be1c5c.hot-update.js deleted file mode 100644 index 718ab24..0000000 --- a/.next/static/webpack/app/layout.13f8832333be1c5c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"2ed5f9322e04\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMmVkNWY5MzIyZTA0XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.1ce1b586ebe4ba58.hot-update.js b/.next/static/webpack/app/layout.1ce1b586ebe4ba58.hot-update.js deleted file mode 100644 index 885c8ca..0000000 --- a/.next/static/webpack/app/layout.1ce1b586ebe4ba58.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"9c55d14249d9\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOWM1NWQxNDI0OWQ5XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.375fbe0afa497dcd.hot-update.js b/.next/static/webpack/app/layout.375fbe0afa497dcd.hot-update.js deleted file mode 100644 index ae729be..0000000 --- a/.next/static/webpack/app/layout.375fbe0afa497dcd.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"44d50e9f6a3a\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNDRkNTBlOWY2YTNhXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.4a615bd53cdc6281.hot-update.js b/.next/static/webpack/app/layout.4a615bd53cdc6281.hot-update.js deleted file mode 100644 index 9b41c88..0000000 --- a/.next/static/webpack/app/layout.4a615bd53cdc6281.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"02e3a943b226\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMDJlM2E5NDNiMjI2XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.4bf6f61ea892f6db.hot-update.js b/.next/static/webpack/app/layout.4bf6f61ea892f6db.hot-update.js deleted file mode 100644 index 24c5116..0000000 --- a/.next/static/webpack/app/layout.4bf6f61ea892f6db.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"4f8e8b664f3b\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNGY4ZThiNjY0ZjNiXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.562f614aeb73eca8.hot-update.js b/.next/static/webpack/app/layout.562f614aeb73eca8.hot-update.js deleted file mode 100644 index 8fa7df5..0000000 --- a/.next/static/webpack/app/layout.562f614aeb73eca8.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"65f51414a93f\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNjVmNTE0MTRhOTNmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.5a63a943dbca9613.hot-update.js b/.next/static/webpack/app/layout.5a63a943dbca9613.hot-update.js deleted file mode 100644 index aeb410b..0000000 --- a/.next/static/webpack/app/layout.5a63a943dbca9613.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"859294598fd1\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiODU5Mjk0NTk4ZmQxXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.5a897722e76d5839.hot-update.js b/.next/static/webpack/app/layout.5a897722e76d5839.hot-update.js deleted file mode 100644 index 16a8a8f..0000000 --- a/.next/static/webpack/app/layout.5a897722e76d5839.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"ad46c131e04d\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiYWQ0NmMxMzFlMDRkXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.6349ee7a488d1a94.hot-update.js b/.next/static/webpack/app/layout.6349ee7a488d1a94.hot-update.js deleted file mode 100644 index af75238..0000000 --- a/.next/static/webpack/app/layout.6349ee7a488d1a94.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"8345d95501a6\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiODM0NWQ5NTUwMWE2XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.6b7062144bb75fe3.hot-update.js b/.next/static/webpack/app/layout.6b7062144bb75fe3.hot-update.js deleted file mode 100644 index 4cff6c5..0000000 --- a/.next/static/webpack/app/layout.6b7062144bb75fe3.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"7caca9b69c04\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiN2NhY2E5YjY5YzA0XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.73571cd725d920c0.hot-update.js b/.next/static/webpack/app/layout.73571cd725d920c0.hot-update.js deleted file mode 100644 index 0edca7f..0000000 --- a/.next/static/webpack/app/layout.73571cd725d920c0.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"1280b09a010b\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMTI4MGIwOWEwMTBiXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.7bc6f6a4b87f5145.hot-update.js b/.next/static/webpack/app/layout.7bc6f6a4b87f5145.hot-update.js deleted file mode 100644 index b031f14..0000000 --- a/.next/static/webpack/app/layout.7bc6f6a4b87f5145.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"50aaf4adebb3\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTBhYWY0YWRlYmIzXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.7bd74036bd69b400.hot-update.js b/.next/static/webpack/app/layout.7bd74036bd69b400.hot-update.js deleted file mode 100644 index 477b309..0000000 --- a/.next/static/webpack/app/layout.7bd74036bd69b400.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"bfb00b2ed1c5\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiYmZiMDBiMmVkMWM1XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.86c226b773728459.hot-update.js b/.next/static/webpack/app/layout.86c226b773728459.hot-update.js deleted file mode 100644 index cf6393a..0000000 --- a/.next/static/webpack/app/layout.86c226b773728459.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"676602d403e5\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNjc2NjAyZDQwM2U1XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.989caf06ac2ac5dd.hot-update.js b/.next/static/webpack/app/layout.989caf06ac2ac5dd.hot-update.js deleted file mode 100644 index e24f2a8..0000000 --- a/.next/static/webpack/app/layout.989caf06ac2ac5dd.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"ebe46f6f39c7\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiZWJlNDZmNmYzOWM3XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.a1290a840e77f88c.hot-update.js b/.next/static/webpack/app/layout.a1290a840e77f88c.hot-update.js deleted file mode 100644 index bff9662..0000000 --- a/.next/static/webpack/app/layout.a1290a840e77f88c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"04b5ec7b119b\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMDRiNWVjN2IxMTliXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.a54ef714109fc599.hot-update.js b/.next/static/webpack/app/layout.a54ef714109fc599.hot-update.js deleted file mode 100644 index 417c0a4..0000000 --- a/.next/static/webpack/app/layout.a54ef714109fc599.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"e3b8ee31dd79\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiZTNiOGVlMzFkZDc5XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.a916fb8624ae19e3.hot-update.js b/.next/static/webpack/app/layout.a916fb8624ae19e3.hot-update.js deleted file mode 100644 index 9d08580..0000000 --- a/.next/static/webpack/app/layout.a916fb8624ae19e3.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"c72b934f0e01\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiYzcyYjkzNGYwZTAxXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.ab4ccf8759f4ff09.hot-update.js b/.next/static/webpack/app/layout.ab4ccf8759f4ff09.hot-update.js deleted file mode 100644 index 22e4929..0000000 --- a/.next/static/webpack/app/layout.ab4ccf8759f4ff09.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"19ca4e6f45d9\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMTljYTRlNmY0NWQ5XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.ad57e2303a562e41.hot-update.js b/.next/static/webpack/app/layout.ad57e2303a562e41.hot-update.js deleted file mode 100644 index 2f8e57f..0000000 --- a/.next/static/webpack/app/layout.ad57e2303a562e41.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"32ef7c5dc7e0\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMzJlZjdjNWRjN2UwXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.b97518375796d425.hot-update.js b/.next/static/webpack/app/layout.b97518375796d425.hot-update.js deleted file mode 100644 index 8bd4194..0000000 --- a/.next/static/webpack/app/layout.b97518375796d425.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"aed9b9f1966a\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiYWVkOWI5ZjE5NjZhXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.ca8e7f53136db4f9.hot-update.js b/.next/static/webpack/app/layout.ca8e7f53136db4f9.hot-update.js deleted file mode 100644 index c8e0a8c..0000000 --- a/.next/static/webpack/app/layout.ca8e7f53136db4f9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"c87130ddf318\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiYzg3MTMwZGRmMzE4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.cb538f1c87f0fe88.hot-update.js b/.next/static/webpack/app/layout.cb538f1c87f0fe88.hot-update.js deleted file mode 100644 index a6fc99a..0000000 --- a/.next/static/webpack/app/layout.cb538f1c87f0fe88.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"4a58a241d9f6\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNGE1OGEyNDFkOWY2XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.d42101fc54b8398d.hot-update.js b/.next/static/webpack/app/layout.d42101fc54b8398d.hot-update.js deleted file mode 100644 index eb29070..0000000 --- a/.next/static/webpack/app/layout.d42101fc54b8398d.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"8959f21c1ba1\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiODk1OWYyMWMxYmExXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.e427392d1c1f9097.hot-update.js b/.next/static/webpack/app/layout.e427392d1c1f9097.hot-update.js deleted file mode 100644 index 1674c89..0000000 --- a/.next/static/webpack/app/layout.e427392d1c1f9097.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"1721a8496613\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMTcyMWE4NDk2NjEzXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.e88fc6fa46dd79a3.hot-update.js b/.next/static/webpack/app/layout.e88fc6fa46dd79a3.hot-update.js deleted file mode 100644 index b27d9c2..0000000 --- a/.next/static/webpack/app/layout.e88fc6fa46dd79a3.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"d47b8840ec48\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiZDQ3Yjg4NDBlYzQ4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.e8b0269410ae9914.hot-update.js b/.next/static/webpack/app/layout.e8b0269410ae9914.hot-update.js deleted file mode 100644 index d661238..0000000 --- a/.next/static/webpack/app/layout.e8b0269410ae9914.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"9dc3fa9332e6\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOWRjM2ZhOTMzMmU2XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/app/layout.fd4c4f821cbf2ac0.hot-update.js b/.next/static/webpack/app/layout.fd4c4f821cbf2ac0.hot-update.js deleted file mode 100644 index 802cb3f..0000000 --- a/.next/static/webpack/app/layout.fd4c4f821cbf2ac0.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("app/layout",{ - -/***/ "(app-pages-browser)/./src/styles/tailwind.css": -/*!*********************************!*\ - !*** ./src/styles/tailwind.css ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"d500572ea88a\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz9jNGM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiZDUwMDU3MmVhODhhXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/b97518375796d425.webpack.hot-update.json b/.next/static/webpack/b97518375796d425.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/b97518375796d425.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ca8e7f53136db4f9.webpack.hot-update.json b/.next/static/webpack/ca8e7f53136db4f9.webpack.hot-update.json deleted file mode 100644 index 11deae0..0000000 --- a/.next/static/webpack/ca8e7f53136db4f9.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/(main)/page","app/layout","app/events/versefest/page","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/cb538f1c87f0fe88.webpack.hot-update.json b/.next/static/webpack/cb538f1c87f0fe88.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/cb538f1c87f0fe88.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/d42101fc54b8398d.webpack.hot-update.json b/.next/static/webpack/d42101fc54b8398d.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/d42101fc54b8398d.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/e427392d1c1f9097.webpack.hot-update.json b/.next/static/webpack/e427392d1c1f9097.webpack.hot-update.json deleted file mode 100644 index fb48cb2..0000000 --- a/.next/static/webpack/e427392d1c1f9097.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","app/events/versefest/page","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/e88fc6fa46dd79a3.webpack.hot-update.json b/.next/static/webpack/e88fc6fa46dd79a3.webpack.hot-update.json deleted file mode 100644 index fb48cb2..0000000 --- a/.next/static/webpack/e88fc6fa46dd79a3.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","app/events/versefest/page","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/e8b0269410ae9914.webpack.hot-update.json b/.next/static/webpack/e8b0269410ae9914.webpack.hot-update.json deleted file mode 100644 index 34134b0..0000000 --- a/.next/static/webpack/e8b0269410ae9914.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","app/events/versefest/page","webpack"],"r":[],"m":["(app-pages-browser)/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js","(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js","(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js","(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js","(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js","(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js","(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/start-transition.js","(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"]} \ No newline at end of file diff --git a/.next/static/webpack/fd4c4f821cbf2ac0.webpack.hot-update.json b/.next/static/webpack/fd4c4f821cbf2ac0.webpack.hot-update.json deleted file mode 100644 index 5c82546..0000000 --- a/.next/static/webpack/fd4c4f821cbf2ac0.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["app/layout","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/webpack.00d6a2162f81ace9.hot-update.js b/.next/static/webpack/webpack.00d6a2162f81ace9.hot-update.js deleted file mode 100644 index d76a370..0000000 --- a/.next/static/webpack/webpack.00d6a2162f81ace9.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ca8e7f53136db4f9"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.0aafa31d5b32ce19.hot-update.js b/.next/static/webpack/webpack.0aafa31d5b32ce19.hot-update.js deleted file mode 100644 index 4ed5358..0000000 --- a/.next/static/webpack/webpack.0aafa31d5b32ce19.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "4a615bd53cdc6281"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.13f8832333be1c5c.hot-update.js b/.next/static/webpack/webpack.13f8832333be1c5c.hot-update.js deleted file mode 100644 index bd80eb3..0000000 --- a/.next/static/webpack/webpack.13f8832333be1c5c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "0aafa31d5b32ce19"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.1ce1b586ebe4ba58.hot-update.js b/.next/static/webpack/webpack.1ce1b586ebe4ba58.hot-update.js deleted file mode 100644 index 980e739..0000000 --- a/.next/static/webpack/webpack.1ce1b586ebe4ba58.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "e88fc6fa46dd79a3"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.375fbe0afa497dcd.hot-update.js b/.next/static/webpack/webpack.375fbe0afa497dcd.hot-update.js deleted file mode 100644 index 40eb383..0000000 --- a/.next/static/webpack/webpack.375fbe0afa497dcd.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "4bf6f61ea892f6db"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.4a615bd53cdc6281.hot-update.js b/.next/static/webpack/webpack.4a615bd53cdc6281.hot-update.js deleted file mode 100644 index 17f1f44..0000000 --- a/.next/static/webpack/webpack.4a615bd53cdc6281.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "a54ef714109fc599"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.4bf6f61ea892f6db.hot-update.js b/.next/static/webpack/webpack.4bf6f61ea892f6db.hot-update.js deleted file mode 100644 index 0781aa1..0000000 --- a/.next/static/webpack/webpack.4bf6f61ea892f6db.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "1ce1b586ebe4ba58"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.562f614aeb73eca8.hot-update.js b/.next/static/webpack/webpack.562f614aeb73eca8.hot-update.js deleted file mode 100644 index b98dc31..0000000 --- a/.next/static/webpack/webpack.562f614aeb73eca8.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "cb538f1c87f0fe88"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.5a63a943dbca9613.hot-update.js b/.next/static/webpack/webpack.5a63a943dbca9613.hot-update.js deleted file mode 100644 index 339c3d9..0000000 --- a/.next/static/webpack/webpack.5a63a943dbca9613.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "13f8832333be1c5c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.5a897722e76d5839.hot-update.js b/.next/static/webpack/webpack.5a897722e76d5839.hot-update.js deleted file mode 100644 index 2cda8c3..0000000 --- a/.next/static/webpack/webpack.5a897722e76d5839.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "86c226b773728459"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.62356f7b7b61cd07.hot-update.js b/.next/static/webpack/webpack.62356f7b7b61cd07.hot-update.js deleted file mode 100644 index 5a1e7bb..0000000 --- a/.next/static/webpack/webpack.62356f7b7b61cd07.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "00d6a2162f81ace9"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.6349ee7a488d1a94.hot-update.js b/.next/static/webpack/webpack.6349ee7a488d1a94.hot-update.js deleted file mode 100644 index 797c584..0000000 --- a/.next/static/webpack/webpack.6349ee7a488d1a94.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "a1290a840e77f88c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.6b7062144bb75fe3.hot-update.js b/.next/static/webpack/webpack.6b7062144bb75fe3.hot-update.js deleted file mode 100644 index 8d992d4..0000000 --- a/.next/static/webpack/webpack.6b7062144bb75fe3.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "58a6851920fe4d86"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.73571cd725d920c0.hot-update.js b/.next/static/webpack/webpack.73571cd725d920c0.hot-update.js deleted file mode 100644 index 316c0ea..0000000 --- a/.next/static/webpack/webpack.73571cd725d920c0.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "a916fb8624ae19e3"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.74fde7bae5463489.hot-update.js b/.next/static/webpack/webpack.74fde7bae5463489.hot-update.js deleted file mode 100644 index 2ee0da2..0000000 --- a/.next/static/webpack/webpack.74fde7bae5463489.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "7bd74036bd69b400"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.7bc6f6a4b87f5145.hot-update.js b/.next/static/webpack/webpack.7bc6f6a4b87f5145.hot-update.js deleted file mode 100644 index a1ab8b8..0000000 --- a/.next/static/webpack/webpack.7bc6f6a4b87f5145.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "6b7062144bb75fe3"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.7bd74036bd69b400.hot-update.js b/.next/static/webpack/webpack.7bd74036bd69b400.hot-update.js deleted file mode 100644 index 025bfdd..0000000 --- a/.next/static/webpack/webpack.7bd74036bd69b400.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "7bc6f6a4b87f5145"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.86c226b773728459.hot-update.js b/.next/static/webpack/webpack.86c226b773728459.hot-update.js deleted file mode 100644 index 9b9ef03..0000000 --- a/.next/static/webpack/webpack.86c226b773728459.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "562f614aeb73eca8"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.989caf06ac2ac5dd.hot-update.js b/.next/static/webpack/webpack.989caf06ac2ac5dd.hot-update.js deleted file mode 100644 index af14641..0000000 --- a/.next/static/webpack/webpack.989caf06ac2ac5dd.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "74fde7bae5463489"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.a1290a840e77f88c.hot-update.js b/.next/static/webpack/webpack.a1290a840e77f88c.hot-update.js deleted file mode 100644 index 456ad8f..0000000 --- a/.next/static/webpack/webpack.a1290a840e77f88c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "b97518375796d425"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.a54ef714109fc599.hot-update.js b/.next/static/webpack/webpack.a54ef714109fc599.hot-update.js deleted file mode 100644 index 9439c4d..0000000 --- a/.next/static/webpack/webpack.a54ef714109fc599.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "375fbe0afa497dcd"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.a916fb8624ae19e3.hot-update.js b/.next/static/webpack/webpack.a916fb8624ae19e3.hot-update.js deleted file mode 100644 index 8b30ff7..0000000 --- a/.next/static/webpack/webpack.a916fb8624ae19e3.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "e8b0269410ae9914"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ab4ccf8759f4ff09.hot-update.js b/.next/static/webpack/webpack.ab4ccf8759f4ff09.hot-update.js deleted file mode 100644 index c087f48..0000000 --- a/.next/static/webpack/webpack.ab4ccf8759f4ff09.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "d42101fc54b8398d"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ad57e2303a562e41.hot-update.js b/.next/static/webpack/webpack.ad57e2303a562e41.hot-update.js deleted file mode 100644 index ae0bd58..0000000 --- a/.next/static/webpack/webpack.ad57e2303a562e41.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "5a897722e76d5839"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.b97518375796d425.hot-update.js b/.next/static/webpack/webpack.b97518375796d425.hot-update.js deleted file mode 100644 index 97f5354..0000000 --- a/.next/static/webpack/webpack.b97518375796d425.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "fd4c4f821cbf2ac0"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ca8e7f53136db4f9.hot-update.js b/.next/static/webpack/webpack.ca8e7f53136db4f9.hot-update.js deleted file mode 100644 index b29d2a2..0000000 --- a/.next/static/webpack/webpack.ca8e7f53136db4f9.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "6349ee7a488d1a94"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.cb538f1c87f0fe88.hot-update.js b/.next/static/webpack/webpack.cb538f1c87f0fe88.hot-update.js deleted file mode 100644 index 0953c53..0000000 --- a/.next/static/webpack/webpack.cb538f1c87f0fe88.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ab4ccf8759f4ff09"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.d42101fc54b8398d.hot-update.js b/.next/static/webpack/webpack.d42101fc54b8398d.hot-update.js deleted file mode 100644 index 265889c..0000000 --- a/.next/static/webpack/webpack.d42101fc54b8398d.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "5a63a943dbca9613"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.e427392d1c1f9097.hot-update.js b/.next/static/webpack/webpack.e427392d1c1f9097.hot-update.js deleted file mode 100644 index 1c462e4..0000000 --- a/.next/static/webpack/webpack.e427392d1c1f9097.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "73571cd725d920c0"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.e88fc6fa46dd79a3.hot-update.js b/.next/static/webpack/webpack.e88fc6fa46dd79a3.hot-update.js deleted file mode 100644 index 83d3390..0000000 --- a/.next/static/webpack/webpack.e88fc6fa46dd79a3.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "e427392d1c1f9097"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.e8b0269410ae9914.hot-update.js b/.next/static/webpack/webpack.e8b0269410ae9914.hot-update.js deleted file mode 100644 index 04babe6..0000000 --- a/.next/static/webpack/webpack.e8b0269410ae9914.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "989caf06ac2ac5dd"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.fd4c4f821cbf2ac0.hot-update.js b/.next/static/webpack/webpack.fd4c4f821cbf2ac0.hot-update.js deleted file mode 100644 index 2094fef..0000000 --- a/.next/static/webpack/webpack.fd4c4f821cbf2ac0.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ad57e2303a562e41"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/trace b/.next/trace index 90c3c69..96db9a8 100644 --- a/.next/trace +++ b/.next/trace @@ -1,65 +1,2 @@ -[{"name":"hot-reloader","duration":56,"timestamp":8211559024982,"id":3,"tags":{"version":"14.2.3","isTurbopack":false},"startTime":1725023678649,"traceId":"c0436940a62f44fd"},{"name":"start","duration":1,"timestamp":8211559025898,"id":4,"parentId":3,"tags":{},"startTime":1725023678650,"traceId":"c0436940a62f44fd"},{"name":"get-version-info","duration":630498,"timestamp":8211559027225,"id":5,"parentId":4,"tags":{},"startTime":1725023678651,"traceId":"c0436940a62f44fd"},{"name":"clean","duration":21509,"timestamp":8211559657776,"id":6,"parentId":4,"tags":{},"startTime":1725023679282,"traceId":"c0436940a62f44fd"},{"name":"create-pages-mapping","duration":143,"timestamp":8211559680564,"id":8,"parentId":7,"tags":{},"startTime":1725023679304,"traceId":"c0436940a62f44fd"},{"name":"create-entrypoints","duration":61363,"timestamp":8211559680728,"id":9,"parentId":7,"tags":{},"startTime":1725023679305,"traceId":"c0436940a62f44fd"},{"name":"generate-webpack-config","duration":103856,"timestamp":8211559742136,"id":10,"parentId":7,"tags":{},"startTime":1725023679366,"traceId":"c0436940a62f44fd"},{"name":"get-webpack-config","duration":165515,"timestamp":8211559680494,"id":7,"parentId":4,"tags":{},"startTime":1725023679304,"traceId":"c0436940a62f44fd"},{"name":"make","duration":2029,"timestamp":8211559923259,"id":12,"parentId":11,"tags":{},"startTime":1725023679547,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":617,"timestamp":8211559927523,"id":14,"parentId":13,"tags":{},"startTime":1725023679551,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":26,"timestamp":8211559928246,"id":16,"parentId":13,"tags":{},"startTime":1725023679552,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":180,"timestamp":8211559928430,"id":17,"parentId":13,"tags":{},"startTime":1725023679552,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":94,"timestamp":8211559928667,"id":18,"parentId":13,"tags":{},"startTime":1725023679552,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":102,"timestamp":8211559928905,"id":19,"parentId":13,"tags":{},"startTime":1725023679553,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":999,"timestamp":8211559928205,"id":15,"parentId":13,"tags":{},"startTime":1725023679552,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":75,"timestamp":8211559929924,"id":20,"parentId":13,"tags":{},"startTime":1725023679554,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":208,"timestamp":8211559930047,"id":21,"parentId":13,"tags":{},"startTime":1725023679554,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":452,"timestamp":8211559930470,"id":22,"parentId":13,"tags":{},"startTime":1725023679554,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":103,"timestamp":8211559930920,"id":23,"parentId":13,"tags":{},"startTime":1725023679555,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":61,"timestamp":8211559931003,"id":24,"parentId":13,"tags":{},"startTime":1725023679555,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":170,"timestamp":8211559931071,"id":25,"parentId":13,"tags":{},"startTime":1725023679555,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":777,"timestamp":8211560061216,"id":27,"parentId":11,"tags":{},"startTime":1725023679685,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":1122,"timestamp":8211560060887,"id":26,"parentId":11,"tags":{},"startTime":1725023679685,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":135669,"timestamp":8211559927284,"id":13,"parentId":11,"tags":{},"startTime":1725023679551,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":146337,"timestamp":8211559916844,"id":11,"parentId":3,"tags":{"name":"client"},"startTime":1725023679541,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":11120,"timestamp":8211560063529,"id":28,"parentId":3,"tags":{},"startTime":1725023679687,"traceId":"c0436940a62f44fd"},{"name":"make","duration":1044,"timestamp":8211560082094,"id":30,"parentId":29,"tags":{},"startTime":1725023679706,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":22,"timestamp":8211560083589,"id":32,"parentId":31,"tags":{},"startTime":1725023679707,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":4,"timestamp":8211560083628,"id":34,"parentId":31,"tags":{},"startTime":1725023679707,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":645,"timestamp":8211560083681,"id":35,"parentId":31,"tags":{},"startTime":1725023679707,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":6,"timestamp":8211560084359,"id":36,"parentId":31,"tags":{},"startTime":1725023679708,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8211560084406,"id":37,"parentId":31,"tags":{},"startTime":1725023679708,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":840,"timestamp":8211560083623,"id":33,"parentId":31,"tags":{},"startTime":1725023679707,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":7,"timestamp":8211560084574,"id":38,"parentId":31,"tags":{},"startTime":1725023679708,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":6,"timestamp":8211560084589,"id":39,"parentId":31,"tags":{},"startTime":1725023679708,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":49,"timestamp":8211560084624,"id":40,"parentId":31,"tags":{},"startTime":1725023679708,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":33,"timestamp":8211560084674,"id":41,"parentId":31,"tags":{},"startTime":1725023679708,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":12,"timestamp":8211560084700,"id":42,"parentId":31,"tags":{},"startTime":1725023679708,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":11,"timestamp":8211560084717,"id":43,"parentId":31,"tags":{},"startTime":1725023679709,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":1825,"timestamp":8211560083558,"id":31,"parentId":29,"tags":{},"startTime":1725023679707,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":4232,"timestamp":8211560081271,"id":29,"parentId":3,"tags":{"name":"server"},"startTime":1725023679705,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":2996,"timestamp":8211560085555,"id":44,"parentId":3,"tags":{},"startTime":1725023679709,"traceId":"c0436940a62f44fd"},{"name":"make","duration":311,"timestamp":8211560093730,"id":46,"parentId":45,"tags":{},"startTime":1725023679718,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":41,"timestamp":8211560094648,"id":48,"parentId":47,"tags":{},"startTime":1725023679718,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":4,"timestamp":8211560094723,"id":50,"parentId":47,"tags":{},"startTime":1725023679719,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":23,"timestamp":8211560095138,"id":51,"parentId":47,"tags":{},"startTime":1725023679719,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":11,"timestamp":8211560095449,"id":52,"parentId":47,"tags":{},"startTime":1725023679719,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8211560095480,"id":53,"parentId":47,"tags":{},"startTime":1725023679719,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":792,"timestamp":8211560094716,"id":49,"parentId":47,"tags":{},"startTime":1725023679719,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":40,"timestamp":8211560095700,"id":54,"parentId":47,"tags":{},"startTime":1725023679719,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":14,"timestamp":8211560095814,"id":55,"parentId":47,"tags":{},"startTime":1725023679720,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":142,"timestamp":8211560095906,"id":56,"parentId":47,"tags":{},"startTime":1725023679720,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":20,"timestamp":8211560096048,"id":57,"parentId":47,"tags":{},"startTime":1725023679720,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":8,"timestamp":8211560096063,"id":58,"parentId":47,"tags":{},"startTime":1725023679720,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":13,"timestamp":8211560096076,"id":59,"parentId":47,"tags":{},"startTime":1725023679720,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":2274,"timestamp":8211560094612,"id":47,"parentId":45,"tags":{},"startTime":1725023679718,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":5147,"timestamp":8211560091791,"id":45,"parentId":3,"tags":{"name":"edge-server"},"startTime":1725023679716,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":2805,"timestamp":8211560096989,"id":60,"parentId":3,"tags":{},"startTime":1725023679721,"traceId":"c0436940a62f44fd"}] -[{"name":"make","duration":369,"timestamp":8211560324976,"id":65,"parentId":64,"tags":{},"startTime":1725023679949,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":23,"timestamp":8211560325554,"id":67,"parentId":66,"tags":{},"startTime":1725023679949,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":4,"timestamp":8211560325591,"id":69,"parentId":66,"tags":{},"startTime":1725023679949,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":8,"timestamp":8211560325608,"id":70,"parentId":66,"tags":{},"startTime":1725023679949,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":5,"timestamp":8211560325626,"id":71,"parentId":66,"tags":{},"startTime":1725023679949,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8211560325642,"id":72,"parentId":66,"tags":{},"startTime":1725023679949,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":85,"timestamp":8211560325586,"id":68,"parentId":66,"tags":{},"startTime":1725023679949,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":7,"timestamp":8211560325758,"id":73,"parentId":66,"tags":{},"startTime":1725023679950,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5,"timestamp":8211560325772,"id":74,"parentId":66,"tags":{},"startTime":1725023679950,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":52,"timestamp":8211560325802,"id":75,"parentId":66,"tags":{},"startTime":1725023679950,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":17,"timestamp":8211560325855,"id":76,"parentId":66,"tags":{},"startTime":1725023679950,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":7,"timestamp":8211560325867,"id":77,"parentId":66,"tags":{},"startTime":1725023679950,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":10,"timestamp":8211560325878,"id":78,"parentId":66,"tags":{},"startTime":1725023679950,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":255,"timestamp":8211560326253,"id":80,"parentId":64,"tags":{},"startTime":1725023679950,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":292,"timestamp":8211560326220,"id":79,"parentId":64,"tags":{},"startTime":1725023679950,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":1111,"timestamp":8211560325527,"id":66,"parentId":64,"tags":{},"startTime":1725023679949,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":2576,"timestamp":8211560324155,"id":64,"parentId":61,"tags":{"name":"client"},"startTime":1725023679948,"traceId":"c0436940a62f44fd"},{"name":"setup-dev-bundler","duration":1389989,"timestamp":8211559018749,"id":2,"parentId":1,"tags":{},"startTime":1725023678643,"traceId":"c0436940a62f44fd"},{"name":"run-instrumentation-hook","duration":50,"timestamp":8211560434157,"id":82,"parentId":1,"tags":{},"startTime":1725023680058,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":108001,"timestamp":8211560326756,"id":81,"parentId":61,"tags":{},"startTime":1725023679951,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":114828,"timestamp":8211560320858,"id":61,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725023679945,"traceId":"c0436940a62f44fd"},{"name":"make","duration":284,"timestamp":8211560437287,"id":84,"parentId":83,"tags":{},"startTime":1725023680061,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":27,"timestamp":8211560437908,"id":86,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":3,"timestamp":8211560437949,"id":88,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":37,"timestamp":8211560438001,"id":89,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":4,"timestamp":8211560438049,"id":90,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8211560438066,"id":91,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":145,"timestamp":8211560437943,"id":87,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":7,"timestamp":8211560438326,"id":92,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":6,"timestamp":8211560438340,"id":93,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":47,"timestamp":8211560438370,"id":94,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":14,"timestamp":8211560438417,"id":95,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":6,"timestamp":8211560438427,"id":96,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":13,"timestamp":8211560438438,"id":97,"parentId":85,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":810,"timestamp":8211560437882,"id":85,"parentId":83,"tags":{},"startTime":1725023680062,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":2001,"timestamp":8211560436721,"id":83,"parentId":62,"tags":{"name":"server"},"startTime":1725023680061,"traceId":"c0436940a62f44fd"},{"name":"start-dev-server","duration":1934888,"timestamp":8211558510537,"id":1,"tags":{"cpus":"8","platform":"darwin","memory.freeMem":"189136896","memory.totalMem":"8589934592","memory.heapSizeLimit":"4345298944","isTurbopack":false,"memory.rss":"192364544","memory.heapTotal":"97042432","memory.heapUsed":"66436856"},"startTime":1725023678134,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":8267,"timestamp":8211560438736,"id":98,"parentId":62,"tags":{},"startTime":1725023680063,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":126574,"timestamp":8211560320989,"id":62,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725023679945,"traceId":"c0436940a62f44fd"},{"name":"make","duration":231,"timestamp":8211560449412,"id":100,"parentId":99,"tags":{},"startTime":1725023680073,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":21,"timestamp":8211560449912,"id":102,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":4,"timestamp":8211560449950,"id":104,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":9,"timestamp":8211560449968,"id":105,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":5,"timestamp":8211560449988,"id":106,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8211560450006,"id":107,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":83,"timestamp":8211560449942,"id":103,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":7,"timestamp":8211560450104,"id":108,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5,"timestamp":8211560450118,"id":109,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":44,"timestamp":8211560450148,"id":110,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":14,"timestamp":8211560450192,"id":111,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":6,"timestamp":8211560450201,"id":112,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":12,"timestamp":8211560450212,"id":113,"parentId":101,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":634,"timestamp":8211560449885,"id":101,"parentId":99,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":1790,"timestamp":8211560448753,"id":99,"parentId":63,"tags":{"name":"edge-server"},"startTime":1725023680073,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":1016,"timestamp":8211560450557,"id":114,"parentId":63,"tags":{},"startTime":1725023680074,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-edge-server","duration":131286,"timestamp":8211560321016,"id":63,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725023679945,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module","duration":45666,"timestamp":8211572172007,"id":121,"parentId":120,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!","layer":"rsc"},"startTime":1725023691795,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1218,"timestamp":8211572296917,"id":123,"parentId":122,"tags":{},"startTime":1725023691920,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":66695,"timestamp":8211572234343,"id":122,"parentId":121,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/favicon.ico?__next_metadata__","layer":"rsc"},"startTime":1725023691858,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":55976,"timestamp":8211572310670,"id":138,"parentId":137,"tags":{},"startTime":1725023691934,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":56168,"timestamp":8211572310492,"id":137,"parentId":125,"tags":{},"startTime":1725023691934,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":62845,"timestamp":8211572307896,"id":125,"parentId":121,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/not-found.jsx","layer":"rsc"},"startTime":1725023691931,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":59928,"timestamp":8211572310857,"id":142,"parentId":141,"tags":{},"startTime":1725023691934,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":60016,"timestamp":8211572310775,"id":141,"parentId":127,"tags":{},"startTime":1725023691934,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":63584,"timestamp":8211572308247,"id":127,"parentId":121,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/layout.jsx","layer":"rsc"},"startTime":1725023691932,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":63710,"timestamp":8211572310448,"id":136,"parentId":135,"tags":{},"startTime":1725023691934,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":64435,"timestamp":8211572309727,"id":135,"parentId":124,"tags":{},"startTime":1725023691933,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":69778,"timestamp":8211572305821,"id":124,"parentId":121,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx","layer":"rsc"},"startTime":1725023691929,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":64934,"timestamp":8211572310772,"id":140,"parentId":139,"tags":{},"startTime":1725023691934,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":65033,"timestamp":8211572310675,"id":139,"parentId":126,"tags":{},"startTime":1725023691934,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":69066,"timestamp":8211572308101,"id":126,"parentId":121,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx","layer":"rsc"},"startTime":1725023691932,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":66286,"timestamp":8211572310928,"id":144,"parentId":143,"tags":{},"startTime":1725023691934,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":66357,"timestamp":8211572310859,"id":143,"parentId":131,"tags":{},"startTime":1725023691934,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":69539,"timestamp":8211572309480,"id":131,"parentId":121,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/error-boundary.js","layer":"rsc"},"startTime":1725023691933,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":72746,"timestamp":8211572309719,"id":134,"parentId":130,"tags":{},"startTime":1725023691933,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":130,"timestamp":8211572382512,"id":145,"parentId":130,"tags":{},"startTime":1725023692006,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":76141,"timestamp":8211572308881,"id":130,"parentId":121,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js","layer":"ssr"},"startTime":1725023691932,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":75436,"timestamp":8211572309689,"id":132,"parentId":128,"tags":{},"startTime":1725023691933,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":54,"timestamp":8211572385144,"id":146,"parentId":128,"tags":{},"startTime":1725023692009,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":78181,"timestamp":8211572308609,"id":128,"parentId":121,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-kind.js","layer":"rsc"},"startTime":1725023691932,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":77375,"timestamp":8211572309711,"id":133,"parentId":129,"tags":{},"startTime":1725023691933,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":74,"timestamp":8211572387102,"id":147,"parentId":129,"tags":{},"startTime":1725023692011,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":83854,"timestamp":8211572308757,"id":129,"parentId":121,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/app-render/entry-base.js","layer":"rsc"},"startTime":1725023691932,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":412,"timestamp":8211572398710,"id":148,"parentId":130,"tags":{"name":"next/dist/compiled/next-server/app-page.runtime.dev.js","layer":null},"startTime":1725023692022,"traceId":"c0436940a62f44fd"},{"name":"build-module-external","duration":27,"timestamp":8211572416852,"id":152,"parentId":129,"tags":{"name":"../../client/components/static-generation-async-storage.external","layer":null},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"build-module-external","duration":9,"timestamp":8211572416898,"id":153,"parentId":129,"tags":{"name":"../../client/components/request-async-storage.external","layer":null},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"build-module-external","duration":6,"timestamp":8211572416913,"id":154,"parentId":129,"tags":{"name":"../../client/components/action-async-storage.external","layer":null},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2946,"timestamp":8211572418006,"id":166,"parentId":165,"tags":{},"startTime":1725023692041,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3250,"timestamp":8211572417710,"id":165,"parentId":155,"tags":{},"startTime":1725023692041,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5017,"timestamp":8211572416924,"id":155,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/client-page.js","layer":"rsc"},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4599,"timestamp":8211572417482,"id":164,"parentId":163,"tags":{},"startTime":1725023692041,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4667,"timestamp":8211572417418,"id":163,"parentId":151,"tags":{},"startTime":1725023692041,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5890,"timestamp":8211572416797,"id":151,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/render-from-template-context.js","layer":"rsc"},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6082,"timestamp":8211572417413,"id":162,"parentId":161,"tags":{},"startTime":1725023692041,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6145,"timestamp":8211572417354,"id":161,"parentId":150,"tags":{},"startTime":1725023692041,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7119,"timestamp":8211572416726,"id":150,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/layout-router.js","layer":"rsc"},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6762,"timestamp":8211572417218,"id":160,"parentId":159,"tags":{},"startTime":1725023692041,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6850,"timestamp":8211572417133,"id":159,"parentId":149,"tags":{},"startTime":1725023692041,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7808,"timestamp":8211572416544,"id":149,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/app-router.js","layer":"rsc"},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9510,"timestamp":8211572418182,"id":172,"parentId":171,"tags":{},"startTime":1725023692042,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9539,"timestamp":8211572418160,"id":171,"parentId":158,"tags":{},"startTime":1725023692042,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11048,"timestamp":8211572417088,"id":158,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/not-found-boundary.js","layer":"rsc"},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10048,"timestamp":8211572418112,"id":168,"parentId":167,"tags":{},"startTime":1725023692042,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10147,"timestamp":8211572418015,"id":167,"parentId":156,"tags":{},"startTime":1725023692041,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13259,"timestamp":8211572416977,"id":156,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/search-params.js","layer":"rsc"},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12108,"timestamp":8211572418157,"id":170,"parentId":169,"tags":{},"startTime":1725023692042,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12149,"timestamp":8211572418118,"id":169,"parentId":157,"tags":{},"startTime":1725023692042,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14915,"timestamp":8211572417035,"id":157,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/hooks-server-context.js","layer":"rsc"},"startTime":1725023692040,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":20095,"timestamp":8211572423393,"id":177,"parentId":173,"tags":{},"startTime":1725023692047,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":113,"timestamp":8211572443508,"id":181,"parentId":173,"tags":{},"startTime":1725023692067,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":39459,"timestamp":8211572422847,"id":173,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/lib/patch-fetch.js","layer":"rsc"},"startTime":1725023692046,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":41684,"timestamp":8211572423422,"id":178,"parentId":174,"tags":{},"startTime":1725023692047,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":63,"timestamp":8211572465131,"id":182,"parentId":174,"tags":{},"startTime":1725023692089,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":43357,"timestamp":8211572423016,"id":174,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/app-render/rsc/preloads.js","layer":"rsc"},"startTime":1725023692046,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":43127,"timestamp":8211572423439,"id":180,"parentId":176,"tags":{},"startTime":1725023692047,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":59,"timestamp":8211572466580,"id":183,"parentId":176,"tags":{},"startTime":1725023692090,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":43977,"timestamp":8211572423224,"id":176,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/app-render/rsc/postpone.js","layer":"rsc"},"startTime":1725023692047,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":43998,"timestamp":8211572423430,"id":179,"parentId":175,"tags":{},"startTime":1725023692047,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":60,"timestamp":8211572467438,"id":184,"parentId":175,"tags":{},"startTime":1725023692091,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":46291,"timestamp":8211572423111,"id":175,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/app-render/rsc/taint.js","layer":"rsc"},"startTime":1725023692047,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8732,"timestamp":8211572470409,"id":186,"parentId":185,"tags":{},"startTime":1725023692094,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":81,"timestamp":8211572479165,"id":191,"parentId":185,"tags":{},"startTime":1725023692103,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12332,"timestamp":8211572470201,"id":185,"parentId":156,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/app-render/dynamic-rendering.js","layer":"rsc"},"startTime":1725023692094,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":21966,"timestamp":8211572477139,"id":189,"parentId":187,"tags":{},"startTime":1725023692101,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":175,"timestamp":8211572499134,"id":202,"parentId":187,"tags":{},"startTime":1725023692123,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24254,"timestamp":8211572476834,"id":187,"parentId":122,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/metadata/get-metadata-route.js","layer":"rsc"},"startTime":1725023692100,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":25523,"timestamp":8211572477169,"id":190,"parentId":188,"tags":{},"startTime":1725023692101,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":70,"timestamp":8211572502708,"id":205,"parentId":188,"tags":{},"startTime":1725023692126,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":28058,"timestamp":8211572477012,"id":188,"parentId":173,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/constants.js","layer":"rsc"},"startTime":1725023692100,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":22690,"timestamp":8211572483281,"id":193,"parentId":192,"tags":{},"startTime":1725023692107,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":53,"timestamp":8211572505983,"id":206,"parentId":192,"tags":{},"startTime":1725023692129,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23259,"timestamp":8211572483096,"id":192,"parentId":131,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js","layer":"rsc"},"startTime":1725023692107,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3374,"timestamp":8211572506993,"id":213,"parentId":212,"tags":{},"startTime":1725023692130,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3476,"timestamp":8211572506900,"id":212,"parentId":209,"tags":{},"startTime":1725023692130,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4735,"timestamp":8211572506803,"id":209,"parentId":185,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/static-generation-bailout.js","layer":"rsc"},"startTime":1725023692130,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":15890,"timestamp":8211572495807,"id":197,"parentId":194,"tags":{},"startTime":1725023692119,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":67,"timestamp":8211572511710,"id":214,"parentId":194,"tags":{},"startTime":1725023692135,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18589,"timestamp":8211572495337,"id":194,"parentId":173,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/lib/trace/constants.js","layer":"rsc"},"startTime":1725023692119,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":18088,"timestamp":8211572495851,"id":199,"parentId":196,"tags":{},"startTime":1725023692119,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":134,"timestamp":8211572513950,"id":215,"parentId":196,"tags":{},"startTime":1725023692137,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19775,"timestamp":8211572495706,"id":196,"parentId":173,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/output/log.js","layer":"rsc"},"startTime":1725023692119,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":19654,"timestamp":8211572495839,"id":198,"parentId":195,"tags":{},"startTime":1725023692119,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":57,"timestamp":8211572515503,"id":216,"parentId":195,"tags":{},"startTime":1725023692139,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23982,"timestamp":8211572495605,"id":195,"parentId":173,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/lib/trace/tracer.js","layer":"rsc"},"startTime":1725023692119,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":25853,"timestamp":8211572497468,"id":201,"parentId":200,"tags":{},"startTime":1725023692121,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":82,"timestamp":8211572523334,"id":219,"parentId":200,"tags":{},"startTime":1725023692147,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":26712,"timestamp":8211572497319,"id":200,"parentId":156,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js","layer":"rsc"},"startTime":1725023692121,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":22761,"timestamp":8211572502305,"id":204,"parentId":203,"tags":{},"startTime":1725023692126,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":23925,"timestamp":8211572501674,"id":203,"parentId":124,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"rsc"},"startTime":1725023692125,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":19714,"timestamp":8211572506875,"id":211,"parentId":208,"tags":{},"startTime":1725023692130,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":45,"timestamp":8211572526600,"id":226,"parentId":208,"tags":{},"startTime":1725023692150,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21078,"timestamp":8211572506724,"id":208,"parentId":185,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/url.js","layer":"rsc"},"startTime":1725023692130,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":20956,"timestamp":8211572506864,"id":210,"parentId":207,"tags":{},"startTime":1725023692130,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":52,"timestamp":8211572527827,"id":227,"parentId":207,"tags":{},"startTime":1725023692151,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21491,"timestamp":8211572506593,"id":207,"parentId":129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js","layer":"rsc"},"startTime":1725023692130,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":12208,"timestamp":8211572522534,"id":218,"parentId":217,"tags":{},"startTime":1725023692146,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":58,"timestamp":8211572534761,"id":240,"parentId":217,"tags":{},"startTime":1725023692158,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-mjs","duration":14714,"timestamp":8211572521613,"id":217,"parentId":124,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/clsx/dist/clsx.mjs","layer":"rsc"},"startTime":1725023692145,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":21869,"timestamp":8211572532836,"id":237,"parentId":236,"tags":{},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":21930,"timestamp":8211572532783,"id":236,"parentId":230,"tags":{},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":23086,"timestamp":8211572532350,"id":230,"parentId":125,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx","layer":"rsc"},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":22681,"timestamp":8211572532781,"id":235,"parentId":234,"tags":{},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":22743,"timestamp":8211572532721,"id":234,"parentId":229,"tags":{},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":23828,"timestamp":8211572532257,"id":229,"parentId":125,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx","layer":"rsc"},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":23232,"timestamp":8211572532894,"id":239,"parentId":238,"tags":{},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":23290,"timestamp":8211572532838,"id":238,"parentId":231,"tags":{},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":24126,"timestamp":8211572532430,"id":231,"parentId":125,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Layout.jsx","layer":"rsc"},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":23865,"timestamp":8211572532717,"id":233,"parentId":232,"tags":{},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":24020,"timestamp":8211572532564,"id":232,"parentId":228,"tags":{},"startTime":1725023692156,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":24949,"timestamp":8211572532079,"id":228,"parentId":125,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx","layer":"rsc"},"startTime":1725023692155,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6817,"timestamp":8211572554191,"id":253,"parentId":252,"tags":{},"startTime":1725023692178,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6877,"timestamp":8211572554138,"id":252,"parentId":247,"tags":{},"startTime":1725023692178,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":8434,"timestamp":8211572553818,"id":247,"parentId":126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Hero.jsx","layer":"rsc"},"startTime":1725023692177,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":36007,"timestamp":8211572526265,"id":225,"parentId":222,"tags":{},"startTime":1725023692150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":59,"timestamp":8211572562284,"id":277,"parentId":222,"tags":{},"startTime":1725023692186,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":37737,"timestamp":8211572526159,"id":222,"parentId":187,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/metadata/is-metadata-route.js","layer":"rsc"},"startTime":1725023692150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9815,"timestamp":8211572554134,"id":251,"parentId":250,"tags":{},"startTime":1725023692178,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9895,"timestamp":8211572554057,"id":250,"parentId":246,"tags":{},"startTime":1725023692177,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":11245,"timestamp":8211572553725,"id":246,"parentId":126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Homepage.jsx","layer":"rsc"},"startTime":1725023692177,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":38740,"timestamp":8211572526242,"id":223,"parentId":220,"tags":{},"startTime":1725023692150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":53,"timestamp":8211572564990,"id":278,"parentId":220,"tags":{},"startTime":1725023692188,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":39282,"timestamp":8211572525922,"id":220,"parentId":125,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js","layer":"rsc"},"startTime":1725023692149,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":38964,"timestamp":8211572526253,"id":224,"parentId":221,"tags":{},"startTime":1725023692150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":57,"timestamp":8211572565222,"id":279,"parentId":221,"tags":{},"startTime":1725023692189,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":42552,"timestamp":8211572526072,"id":221,"parentId":187,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/server-utils.js","layer":"rsc"},"startTime":1725023692149,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14418,"timestamp":8211572554244,"id":255,"parentId":254,"tags":{},"startTime":1725023692178,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14469,"timestamp":8211572554194,"id":254,"parentId":248,"tags":{},"startTime":1725023692178,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":15602,"timestamp":8211572553896,"id":248,"parentId":126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Communicate.jsx","layer":"rsc"},"startTime":1725023692177,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13565,"timestamp":8211572560099,"id":268,"parentId":267,"tags":{},"startTime":1725023692184,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13589,"timestamp":8211572560084,"id":267,"parentId":258,"tags":{},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14847,"timestamp":8211572559281,"id":258,"parentId":187,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js","layer":"rsc"},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14067,"timestamp":8211572560082,"id":266,"parentId":265,"tags":{},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14086,"timestamp":8211572560064,"id":265,"parentId":257,"tags":{},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15227,"timestamp":8211572559233,"id":257,"parentId":187,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/isomorphic/path.js","layer":"rsc"},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14416,"timestamp":8211572560061,"id":264,"parentId":263,"tags":{},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14458,"timestamp":8211572560021,"id":263,"parentId":256,"tags":{},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15963,"timestamp":8211572559119,"id":256,"parentId":187,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/hash.js","layer":"rsc"},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14971,"timestamp":8211572560131,"id":272,"parentId":271,"tags":{},"startTime":1725023692184,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14986,"timestamp":8211572560117,"id":271,"parentId":260,"tags":{},"startTime":1725023692184,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16506,"timestamp":8211572559363,"id":260,"parentId":187,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/app-paths.js","layer":"rsc"},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16770,"timestamp":8211572560116,"id":270,"parentId":269,"tags":{},"startTime":1725023692184,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16789,"timestamp":8211572560101,"id":269,"parentId":259,"tags":{},"startTime":1725023692184,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19809,"timestamp":8211572559326,"id":259,"parentId":187,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/route-regex.js","layer":"rsc"},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18937,"timestamp":8211572560232,"id":276,"parentId":275,"tags":{},"startTime":1725023692184,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18987,"timestamp":8211572560184,"id":275,"parentId":262,"tags":{},"startTime":1725023692184,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":20573,"timestamp":8211572559467,"id":262,"parentId":126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Collaborate.jsx","layer":"rsc"},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19893,"timestamp":8211572560183,"id":274,"parentId":273,"tags":{},"startTime":1725023692184,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19945,"timestamp":8211572560132,"id":273,"parentId":261,"tags":{},"startTime":1725023692184,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":21686,"timestamp":8211572559398,"id":261,"parentId":126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Build.jsx","layer":"rsc"},"startTime":1725023692183,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9487,"timestamp":8211572571902,"id":286,"parentId":285,"tags":{},"startTime":1725023692195,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9540,"timestamp":8211572571851,"id":285,"parentId":281,"tags":{},"startTime":1725023692195,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":10680,"timestamp":8211572571175,"id":281,"parentId":126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx","layer":"rsc"},"startTime":1725023692195,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9918,"timestamp":8211572571951,"id":288,"parentId":287,"tags":{},"startTime":1725023692195,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9967,"timestamp":8211572571904,"id":287,"parentId":282,"tags":{},"startTime":1725023692195,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":10961,"timestamp":8211572571256,"id":282,"parentId":126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"rsc"},"startTime":1725023692195,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":23165,"timestamp":8211572571847,"id":284,"parentId":283,"tags":{},"startTime":1725023692195,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":23244,"timestamp":8211572571776,"id":283,"parentId":280,"tags":{},"startTime":1725023692195,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":25189,"timestamp":8211572571034,"id":280,"parentId":126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Newsletter.jsx","layer":"rsc"},"startTime":1725023692194,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":42455,"timestamp":8211572553983,"id":249,"parentId":245,"tags":{},"startTime":1725023692177,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":57,"timestamp":8211572596449,"id":294,"parentId":245,"tags":{},"startTime":1725023692220,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":44411,"timestamp":8211572553614,"id":245,"parentId":196,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/picocolors.js","layer":"rsc"},"startTime":1725023692177,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":44530,"timestamp":8211572553509,"id":242,"parentId":241,"tags":{},"startTime":1725023692177,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":78997,"timestamp":8211572553605,"id":244,"parentId":243,"tags":{},"startTime":1725023692177,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":51874,"timestamp":8211572583125,"id":293,"parentId":292,"tags":{},"startTime":1725023692207,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":51951,"timestamp":8211572583053,"id":292,"parentId":290,"tags":{},"startTime":1725023692206,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":52950,"timestamp":8211572582781,"id":290,"parentId":126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Sponsors.jsx","layer":"rsc"},"startTime":1725023692206,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":64116,"timestamp":8211572582991,"id":291,"parentId":289,"tags":{},"startTime":1725023692206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":64,"timestamp":8211572647127,"id":311,"parentId":289,"tags":{},"startTime":1725023692271,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":64873,"timestamp":8211572582635,"id":289,"parentId":185,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js","layer":"rsc"},"startTime":1725023692206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3791,"timestamp":8211572643749,"id":310,"parentId":309,"tags":{},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3807,"timestamp":8211572643735,"id":309,"parentId":302,"tags":{},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4312,"timestamp":8211572643585,"id":302,"parentId":221,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js","layer":"rsc"},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4827,"timestamp":8211572643716,"id":306,"parentId":305,"tags":{},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4848,"timestamp":8211572643698,"id":305,"parentId":300,"tags":{},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5651,"timestamp":8211572643495,"id":300,"parentId":221,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/route-matcher.js","layer":"rsc"},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5472,"timestamp":8211572643695,"id":304,"parentId":303,"tags":{},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5517,"timestamp":8211572643651,"id":303,"parentId":299,"tags":{},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6310,"timestamp":8211572643382,"id":299,"parentId":221,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/path-match.js","layer":"rsc"},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10053,"timestamp":8211572643733,"id":308,"parentId":307,"tags":{},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10077,"timestamp":8211572643718,"id":307,"parentId":301,"tags":{},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13587,"timestamp":8211572643545,"id":301,"parentId":221,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js","layer":"rsc"},"startTime":1725023692267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6656,"timestamp":8211572652327,"id":320,"parentId":319,"tags":{},"startTime":1725023692276,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6677,"timestamp":8211572652312,"id":319,"parentId":314,"tags":{},"startTime":1725023692276,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7462,"timestamp":8211572651892,"id":314,"parentId":260,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","layer":"rsc"},"startTime":1725023692275,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7084,"timestamp":8211572652289,"id":316,"parentId":315,"tags":{},"startTime":1725023692276,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7127,"timestamp":8211572652247,"id":315,"parentId":312,"tags":{},"startTime":1725023692276,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8093,"timestamp":8211572651715,"id":312,"parentId":260,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/segment.js","layer":"rsc"},"startTime":1725023692275,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7515,"timestamp":8211572652310,"id":318,"parentId":317,"tags":{},"startTime":1725023692276,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7534,"timestamp":8211572652293,"id":317,"parentId":313,"tags":{},"startTime":1725023692276,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8392,"timestamp":8211572651845,"id":313,"parentId":259,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/escape-regexp.js","layer":"rsc"},"startTime":1725023692275,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3532,"timestamp":8211572658190,"id":323,"parentId":322,"tags":{},"startTime":1725023692282,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3576,"timestamp":8211572658150,"id":322,"parentId":321,"tags":{},"startTime":1725023692282,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4394,"timestamp":8211572657717,"id":321,"parentId":221,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","layer":"rsc"},"startTime":1725023692281,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5212,"timestamp":8211572661477,"id":325,"parentId":324,"tags":{},"startTime":1725023692285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":52,"timestamp":8211572666702,"id":339,"parentId":324,"tags":{},"startTime":1725023692290,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6790,"timestamp":8211572661334,"id":324,"parentId":259,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/helpers/interception-routes.js","layer":"rsc"},"startTime":1725023692285,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5812,"timestamp":8211572662816,"id":327,"parentId":326,"tags":{},"startTime":1725023692286,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":55,"timestamp":8211572668637,"id":340,"parentId":326,"tags":{},"startTime":1725023692292,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-js","duration":6320,"timestamp":8211572662699,"id":326,"parentId":174,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js","layer":"rsc"},"startTime":1725023692286,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4806,"timestamp":8211572664270,"id":330,"parentId":329,"tags":{},"startTime":1725023692288,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4848,"timestamp":8211572664229,"id":329,"parentId":328,"tags":{},"startTime":1725023692288,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6819,"timestamp":8211572664140,"id":328,"parentId":300,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils.js","layer":"rsc"},"startTime":1725023692288,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6270,"timestamp":8211572665716,"id":335,"parentId":334,"tags":{},"startTime":1725023692289,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6306,"timestamp":8211572665684,"id":334,"parentId":332,"tags":{},"startTime":1725023692289,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6993,"timestamp":8211572665607,"id":332,"parentId":301,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/app-router-headers.js","layer":"rsc"},"startTime":1725023692289,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5974,"timestamp":8211572666645,"id":338,"parentId":337,"tags":{},"startTime":1725023692290,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6006,"timestamp":8211572666615,"id":337,"parentId":336,"tags":{},"startTime":1725023692290,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6418,"timestamp":8211572666540,"id":336,"parentId":301,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/parse-url.js","layer":"rsc"},"startTime":1725023692290,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8493,"timestamp":8211572665658,"id":333,"parentId":331,"tags":{},"startTime":1725023692289,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":77,"timestamp":8211572674160,"id":343,"parentId":331,"tags":{},"startTime":1725023692298,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24777,"timestamp":8211572665500,"id":331,"parentId":195,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@opentelemetry/api/index.js","layer":"rsc"},"startTime":1725023692289,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":24125,"timestamp":8211572671287,"id":342,"parentId":341,"tags":{},"startTime":1725023692295,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":104,"timestamp":8211572695444,"id":344,"parentId":341,"tags":{},"startTime":1725023692319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":25308,"timestamp":8211572671147,"id":341,"parentId":301,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/api-utils/get-cookie-parser.js","layer":"rsc"},"startTime":1725023692295,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5696,"timestamp":8211572700394,"id":348,"parentId":347,"tags":{},"startTime":1725023692324,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5762,"timestamp":8211572700345,"id":347,"parentId":345,"tags":{},"startTime":1725023692324,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8052,"timestamp":8211572700042,"id":345,"parentId":336,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/querystring.js","layer":"rsc"},"startTime":1725023692323,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7729,"timestamp":8211572700420,"id":350,"parentId":349,"tags":{},"startTime":1725023692324,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7752,"timestamp":8211572700399,"id":349,"parentId":346,"tags":{},"startTime":1725023692324,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8607,"timestamp":8211572700185,"id":346,"parentId":336,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js","layer":"rsc"},"startTime":1725023692324,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9988,"timestamp":8211572705238,"id":356,"parentId":355,"tags":{},"startTime":1725023692329,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10058,"timestamp":8211572705177,"id":355,"parentId":352,"tags":{},"startTime":1725023692329,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":11213,"timestamp":8211572704809,"id":352,"parentId":231,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Footer.jsx","layer":"rsc"},"startTime":1725023692328,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10877,"timestamp":8211572705172,"id":354,"parentId":353,"tags":{},"startTime":1725023692329,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10968,"timestamp":8211572705083,"id":353,"parentId":351,"tags":{},"startTime":1725023692328,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":11860,"timestamp":8211572704628,"id":351,"parentId":246,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Gradient.jsx","layer":"rsc"},"startTime":1725023692328,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12332,"timestamp":8211572711841,"id":359,"parentId":358,"tags":{},"startTime":1725023692335,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12426,"timestamp":8211572711756,"id":358,"parentId":357,"tags":{},"startTime":1725023692335,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":13454,"timestamp":8211572711346,"id":357,"parentId":231,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx","layer":"rsc"},"startTime":1725023692335,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":45,"timestamp":8211572725272,"id":360,"parentId":221,"tags":{"name":"url","layer":null},"startTime":1725023692349,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":14,"timestamp":8211572725333,"id":361,"parentId":257,"tags":{"name":"path","layer":null},"startTime":1725023692349,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3797,"timestamp":8211572729579,"id":365,"parentId":364,"tags":{},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":154,"timestamp":8211572735667,"id":387,"parentId":386,"tags":{},"startTime":1725023692359,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":30,"timestamp":8211572736374,"id":388,"parentId":386,"tags":{},"startTime":1725023692360,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":2998,"timestamp":8211572733472,"id":386,"parentId":364,"tags":{},"startTime":1725023692357,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":7255,"timestamp":8211572729540,"id":364,"parentId":280,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/background-newsletter.jpg","layer":"rsc"},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7166,"timestamp":8211572729644,"id":369,"parentId":368,"tags":{},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":575,"timestamp":8211572737388,"id":390,"parentId":389,"tags":{},"startTime":1725023692361,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":6,"timestamp":8211572737973,"id":391,"parentId":389,"tags":{},"startTime":1725023692361,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":1172,"timestamp":8211572736817,"id":389,"parentId":368,"tags":{},"startTime":1725023692360,"traceId":"c0436940a62f44fd"},{"name":"build-module-svg","duration":8523,"timestamp":8211572729623,"id":368,"parentId":290,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/transistor.svg","layer":"rsc"},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8637,"timestamp":8211572729521,"id":363,"parentId":362,"tags":{},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":17,"timestamp":8211572738416,"id":393,"parentId":392,"tags":{},"startTime":1725023692362,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":5,"timestamp":8211572738500,"id":394,"parentId":392,"tags":{},"startTime":1725023692362,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":343,"timestamp":8211572738169,"id":392,"parentId":362,"tags":{},"startTime":1725023692362,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":10619,"timestamp":8211572728029,"id":362,"parentId":228,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/background.jpg","layer":"rsc"},"startTime":1725023692351,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8987,"timestamp":8211572729670,"id":371,"parentId":370,"tags":{},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":134,"timestamp":8211572738987,"id":396,"parentId":395,"tags":{},"startTime":1725023692362,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":5,"timestamp":8211572739129,"id":397,"parentId":395,"tags":{},"startTime":1725023692363,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":479,"timestamp":8211572738663,"id":395,"parentId":370,"tags":{},"startTime":1725023692362,"traceId":"c0436940a62f44fd"},{"name":"build-module-svg","duration":9619,"timestamp":8211572729651,"id":370,"parentId":290,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/mirage.svg","layer":"rsc"},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9679,"timestamp":8211572729614,"id":367,"parentId":366,"tags":{},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":60,"timestamp":8211572739496,"id":399,"parentId":398,"tags":{},"startTime":1725023692363,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":5,"timestamp":8211572739564,"id":400,"parentId":398,"tags":{},"startTime":1725023692363,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":277,"timestamp":8211572739299,"id":398,"parentId":366,"tags":{},"startTime":1725023692363,"traceId":"c0436940a62f44fd"},{"name":"build-module-svg","duration":10103,"timestamp":8211572729591,"id":366,"parentId":290,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/statickit.svg","layer":"rsc"},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":10006,"timestamp":8211572729698,"id":373,"parentId":372,"tags":{},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":30,"timestamp":8211572739773,"id":402,"parentId":401,"tags":{},"startTime":1725023692363,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":4,"timestamp":8211572739810,"id":403,"parentId":401,"tags":{},"startTime":1725023692363,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":110,"timestamp":8211572739710,"id":401,"parentId":372,"tags":{},"startTime":1725023692363,"traceId":"c0436940a62f44fd"},{"name":"build-module-svg","duration":10365,"timestamp":8211572729678,"id":372,"parentId":290,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/tuple.svg","layer":"rsc"},"startTime":1725023692353,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8764,"timestamp":8211572731617,"id":378,"parentId":374,"tags":{},"startTime":1725023692355,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9080,"timestamp":8211572731633,"id":379,"parentId":375,"tags":{},"startTime":1725023692355,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9117,"timestamp":8211572731638,"id":380,"parentId":376,"tags":{},"startTime":1725023692355,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9145,"timestamp":8211572731642,"id":381,"parentId":377,"tags":{},"startTime":1725023692355,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8995,"timestamp":8211572732095,"id":385,"parentId":383,"tags":{},"startTime":1725023692355,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":49,"timestamp":8211572741096,"id":406,"parentId":383,"tags":{},"startTime":1725023692364,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9413,"timestamp":8211572732013,"id":383,"parentId":228,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/api/image.js","layer":"rsc"},"startTime":1725023692355,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9519,"timestamp":8211572732089,"id":384,"parentId":382,"tags":{},"startTime":1725023692355,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":46,"timestamp":8211572741614,"id":407,"parentId":382,"tags":{},"startTime":1725023692365,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9905,"timestamp":8211572731922,"id":382,"parentId":229,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/api/link.js","layer":"rsc"},"startTime":1725023692355,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2242,"timestamp":8211572751028,"id":409,"parentId":408,"tags":{},"startTime":1725023692374,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2339,"timestamp":8211572750939,"id":408,"parentId":376,"tags":{},"startTime":1725023692374,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":22674,"timestamp":8211572731037,"id":376,"parentId":262,"tags":{"name":"__barrel_optimize__?names=CloudArrowUpIcon,LockClosedIcon,ServerIcon!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/index.js","layer":"rsc"},"startTime":1725023692354,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2219,"timestamp":8211572751518,"id":411,"parentId":410,"tags":{},"startTime":1725023692375,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2254,"timestamp":8211572751485,"id":410,"parentId":375,"tags":{},"startTime":1725023692375,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23002,"timestamp":8211572730981,"id":375,"parentId":248,"tags":{"name":"__barrel_optimize__?names=CloudArrowUpIcon,ComputerDesktopIcon,LockClosedIcon,MicrophoneIcon,ServerIcon,UserGroupIcon,VideoCameraIcon!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/index.js","layer":"rsc"},"startTime":1725023692354,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3310,"timestamp":8211572752028,"id":413,"parentId":412,"tags":{},"startTime":1725023692375,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3359,"timestamp":8211572751981,"id":412,"parentId":374,"tags":{},"startTime":1725023692375,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":25042,"timestamp":8211572730456,"id":374,"parentId":246,"tags":{"name":"__barrel_optimize__?names=ChevronRightIcon!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/index.js","layer":"rsc"},"startTime":1725023692354,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":15354,"timestamp":8211572740231,"id":405,"parentId":404,"tags":{},"startTime":1725023692364,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":72,"timestamp":8211572755594,"id":416,"parentId":404,"tags":{},"startTime":1725023692379,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18973,"timestamp":8211572740091,"id":404,"parentId":299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/path-to-regexp/index.js","layer":"rsc"},"startTime":1725023692363,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6143,"timestamp":8211572752954,"id":415,"parentId":414,"tags":{},"startTime":1725023692376,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6181,"timestamp":8211572752918,"id":414,"parentId":377,"tags":{},"startTime":1725023692376,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":28325,"timestamp":8211572731085,"id":377,"parentId":261,"tags":{"name":"__barrel_optimize__?names=ArrowPathIcon,CloudArrowUpIcon,Cog6ToothIcon,CpuChipIcon,CubeIcon,DocumentMagnifyingGlassIcon,FilmIcon,FingerPrintIcon,GlobeAltIcon,LockClosedIcon,RocketLaunchIcon,ServerIcon,ShieldCheckIcon!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/index.js","layer":"rsc"},"startTime":1725023692354,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2553,"timestamp":8211572770906,"id":431,"parentId":430,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2590,"timestamp":8211572770878,"id":430,"parentId":419,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3915,"timestamp":8211572770400,"id":419,"parentId":376,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/CloudArrowUpIcon.js","layer":"rsc"},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3420,"timestamp":8211572770930,"id":433,"parentId":432,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3444,"timestamp":8211572770908,"id":432,"parentId":420,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4303,"timestamp":8211572770453,"id":420,"parentId":376,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/LockClosedIcon.js","layer":"rsc"},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3933,"timestamp":8211572770855,"id":427,"parentId":426,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3994,"timestamp":8211572770796,"id":426,"parentId":417,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5238,"timestamp":8211572770241,"id":417,"parentId":383,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-external.js","layer":"rsc"},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4622,"timestamp":8211572770876,"id":429,"parentId":428,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4642,"timestamp":8211572770858,"id":428,"parentId":418,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5360,"timestamp":8211572770350,"id":418,"parentId":382,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/link.js","layer":"rsc"},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7182,"timestamp":8211572770994,"id":439,"parentId":438,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-loader","duration":7371,"timestamp":8211572770975,"id":438,"parentId":423,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8187,"timestamp":8211572770593,"id":423,"parentId":375,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/MicrophoneIcon.js","layer":"rsc"},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7856,"timestamp":8211572770952,"id":435,"parentId":434,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7878,"timestamp":8211572770931,"id":434,"parentId":421,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8617,"timestamp":8211572770500,"id":421,"parentId":376,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/ServerIcon.js","layer":"rsc"},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8364,"timestamp":8211572770973,"id":437,"parentId":436,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8386,"timestamp":8211572770953,"id":436,"parentId":422,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9128,"timestamp":8211572770548,"id":422,"parentId":375,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/ComputerDesktopIcon.js","layer":"rsc"},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8682,"timestamp":8211572771015,"id":441,"parentId":440,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8703,"timestamp":8211572770996,"id":440,"parentId":424,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10468,"timestamp":8211572770641,"id":424,"parentId":375,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/UserGroupIcon.js","layer":"rsc"},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8114,"timestamp":8211572773025,"id":455,"parentId":454,"tags":{},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8163,"timestamp":8211572772978,"id":454,"parentId":444,"tags":{},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9450,"timestamp":8211572772006,"id":444,"parentId":374,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/ChevronRightIcon.js","layer":"rsc"},"startTime":1725023692395,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10443,"timestamp":8211572771036,"id":443,"parentId":442,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10463,"timestamp":8211572771016,"id":442,"parentId":425,"tags":{},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11088,"timestamp":8211572770683,"id":425,"parentId":375,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/VideoCameraIcon.js","layer":"rsc"},"startTime":1725023692394,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8738,"timestamp":8211572773054,"id":457,"parentId":456,"tags":{},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8765,"timestamp":8211572773029,"id":456,"parentId":445,"tags":{},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9817,"timestamp":8211572772284,"id":445,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/ArrowPathIcon.js","layer":"rsc"},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9021,"timestamp":8211572773099,"id":461,"parentId":460,"tags":{},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9043,"timestamp":8211572773079,"id":460,"parentId":447,"tags":{},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9849,"timestamp":8211572772577,"id":447,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/CpuChipIcon.js","layer":"rsc"},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9322,"timestamp":8211572773121,"id":463,"parentId":462,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9343,"timestamp":8211572773101,"id":462,"parentId":448,"tags":{},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10069,"timestamp":8211572772636,"id":448,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/CubeIcon.js","layer":"rsc"},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9646,"timestamp":8211572773077,"id":459,"parentId":458,"tags":{},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9669,"timestamp":8211572773056,"id":458,"parentId":446,"tags":{},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10525,"timestamp":8211572772460,"id":446,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/Cog6ToothIcon.js","layer":"rsc"},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9858,"timestamp":8211572773144,"id":465,"parentId":464,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9881,"timestamp":8211572773122,"id":464,"parentId":449,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10568,"timestamp":8211572772688,"id":449,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/DocumentMagnifyingGlassIcon.js","layer":"rsc"},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10085,"timestamp":8211572773188,"id":469,"parentId":468,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10107,"timestamp":8211572773168,"id":468,"parentId":451,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10722,"timestamp":8211572772807,"id":451,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/FingerPrintIcon.js","layer":"rsc"},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10380,"timestamp":8211572773167,"id":467,"parentId":466,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10401,"timestamp":8211572773146,"id":466,"parentId":450,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11073,"timestamp":8211572772751,"id":450,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/FilmIcon.js","layer":"rsc"},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10611,"timestamp":8211572773230,"id":473,"parentId":472,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10632,"timestamp":8211572773210,"id":472,"parentId":453,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11220,"timestamp":8211572772907,"id":453,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/RocketLaunchIcon.js","layer":"rsc"},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10935,"timestamp":8211572773209,"id":471,"parentId":470,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10956,"timestamp":8211572773190,"id":470,"parentId":452,"tags":{},"startTime":1725023692397,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11528,"timestamp":8211572772858,"id":452,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/GlobeAltIcon.js","layer":"rsc"},"startTime":1725023692396,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7509,"timestamp":8211572777084,"id":476,"parentId":475,"tags":{},"startTime":1725023692400,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7560,"timestamp":8211572777035,"id":475,"parentId":474,"tags":{},"startTime":1725023692400,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8169,"timestamp":8211572776679,"id":474,"parentId":377,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/ShieldCheckIcon.js","layer":"rsc"},"startTime":1725023692400,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5610,"timestamp":8211572786738,"id":480,"parentId":479,"tags":{},"startTime":1725023692410,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5655,"timestamp":8211572786702,"id":479,"parentId":477,"tags":{},"startTime":1725023692410,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6168,"timestamp":8211572786548,"id":477,"parentId":417,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/image-component.js","layer":"rsc"},"startTime":1725023692410,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6064,"timestamp":8211572786756,"id":482,"parentId":481,"tags":{},"startTime":1725023692410,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6081,"timestamp":8211572786741,"id":481,"parentId":478,"tags":{},"startTime":1725023692410,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9512,"timestamp":8211572786653,"id":478,"parentId":417,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/get-img-props.js","layer":"rsc"},"startTime":1725023692410,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9020,"timestamp":8211572788115,"id":485,"parentId":484,"tags":{},"startTime":1725023692412,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":52,"timestamp":8211572797148,"id":488,"parentId":484,"tags":{},"startTime":1725023692421,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10234,"timestamp":8211572788029,"id":484,"parentId":341,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/cookie/index.js","layer":"rsc"},"startTime":1725023692411,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10445,"timestamp":8211572788192,"id":487,"parentId":486,"tags":{},"startTime":1725023692412,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10514,"timestamp":8211572788126,"id":486,"parentId":483,"tags":{},"startTime":1725023692412,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":19062,"timestamp":8211572787925,"id":483,"parentId":352,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx","layer":"rsc"},"startTime":1725023692411,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4977,"timestamp":8211572809220,"id":492,"parentId":491,"tags":{},"startTime":1725023692433,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5027,"timestamp":8211572809179,"id":491,"parentId":489,"tags":{},"startTime":1725023692433,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5817,"timestamp":8211572808997,"id":489,"parentId":478,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-blur-svg.js","layer":"rsc"},"startTime":1725023692432,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5021,"timestamp":8211572809835,"id":497,"parentId":496,"tags":{},"startTime":1725023692433,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5046,"timestamp":8211572809812,"id":496,"parentId":495,"tags":{},"startTime":1725023692433,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5906,"timestamp":8211572809740,"id":495,"parentId":417,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-loader.js","layer":"rsc"},"startTime":1725023692433,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5320,"timestamp":8211572810346,"id":500,"parentId":499,"tags":{},"startTime":1725023692434,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5402,"timestamp":8211572810265,"id":499,"parentId":498,"tags":{},"startTime":1725023692434,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5837,"timestamp":8211572810082,"id":498,"parentId":478,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils/warn-once.js","layer":"rsc"},"startTime":1725023692433,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6697,"timestamp":8211572809239,"id":494,"parentId":493,"tags":{},"startTime":1725023692433,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6714,"timestamp":8211572809223,"id":493,"parentId":490,"tags":{},"startTime":1725023692433,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7103,"timestamp":8211572809116,"id":490,"parentId":478,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-config.js","layer":"rsc"},"startTime":1725023692433,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2077,"timestamp":8211572826605,"id":503,"parentId":502,"tags":{},"startTime":1725023692450,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2122,"timestamp":8211572826567,"id":502,"parentId":501,"tags":{},"startTime":1725023692450,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2961,"timestamp":8211572826448,"id":501,"parentId":495,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/match-remote-pattern.js","layer":"rsc"},"startTime":1725023692450,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":574,"timestamp":8211572829693,"id":505,"parentId":504,"tags":{},"startTime":1725023692453,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":55,"timestamp":8211572830279,"id":506,"parentId":504,"tags":{},"startTime":1725023692454,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1143,"timestamp":8211572829490,"id":504,"parentId":417,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_interop_require_default.js","layer":"rsc"},"startTime":1725023692453,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":255,"timestamp":8211572831796,"id":508,"parentId":507,"tags":{},"startTime":1725023692455,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":69,"timestamp":8211572832060,"id":509,"parentId":507,"tags":{},"startTime":1725023692455,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11751,"timestamp":8211572831674,"id":507,"parentId":501,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/picomatch/index.js","layer":"rsc"},"startTime":1725023692455,"traceId":"c0436940a62f44fd"},{"name":"font-loader","duration":404136,"timestamp":8211572632680,"id":298,"parentId":297,"tags":{},"startTime":1725023692256,"traceId":"c0436940a62f44fd"},{"name":"postcss","duration":5059,"timestamp":8211573254933,"id":510,"parentId":297,"tags":{},"startTime":1725023692878,"traceId":"c0436940a62f44fd"},{"name":"next-font-loader","duration":627817,"timestamp":8211572632630,"id":297,"parentId":243,"tags":{},"startTime":1725023692256,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":28553,"timestamp":8211573260159,"id":511,"parentId":243,"tags":{"astUsed":"true"},"startTime":1725023692884,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":735586,"timestamp":8211572553544,"id":243,"parentId":124,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"DM_Sans\",\"arguments\":[{\"subsets\":[\"latin\"],\"weight\":[\"400\",\"500\",\"700\"],\"display\":\"swap\",\"variable\":\"--font-dm-sans\"}],\"variableName\":\"dmSans\"}","layer":"rsc"},"startTime":1725023692177,"traceId":"c0436940a62f44fd"},{"name":"font-loader","duration":664071,"timestamp":8211572627628,"id":296,"parentId":295,"tags":{},"startTime":1725023692251,"traceId":"c0436940a62f44fd"},{"name":"postcss","duration":942,"timestamp":8211573291971,"id":512,"parentId":295,"tags":{},"startTime":1725023692915,"traceId":"c0436940a62f44fd"},{"name":"next-font-loader","duration":694784,"timestamp":8211572598174,"id":295,"parentId":241,"tags":{},"startTime":1725023692222,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":2194,"timestamp":8211573292942,"id":513,"parentId":241,"tags":{"astUsed":"true"},"startTime":1725023692916,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":758819,"timestamp":8211572536666,"id":241,"parentId":124,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.jsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"display\":\"swap\",\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}","layer":"rsc"},"startTime":1725023692160,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":1152255,"timestamp":8211572143656,"id":120,"parentId":119,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023691767,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":6065,"timestamp":8211573319154,"id":520,"parentId":118,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!","layer":"ssr"},"startTime":1725023692943,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":630,"timestamp":8211573325253,"id":521,"parentId":118,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!","layer":"ssr"},"startTime":1725023692949,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":216,"timestamp":8211573325898,"id":522,"parentId":118,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=true!","layer":"ssr"},"startTime":1725023692949,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":1418,"timestamp":8211573326124,"id":523,"parentId":118,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!","layer":"ssr"},"startTime":1725023692950,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":2286,"timestamp":8211573327552,"id":524,"parentId":118,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!","layer":"ssr"},"startTime":1725023692951,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":139,"timestamp":8211573334540,"id":526,"parentId":525,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":252,"timestamp":8211573334590,"id":528,"parentId":527,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":442,"timestamp":8211573334615,"id":530,"parentId":529,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":546,"timestamp":8211573334636,"id":532,"parentId":531,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":625,"timestamp":8211573334656,"id":534,"parentId":533,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"}] -[{"name":"read-resource","duration":1010,"timestamp":8211573334674,"id":536,"parentId":535,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":1057,"timestamp":8211573334803,"id":538,"parentId":537,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":959,"timestamp":8211573334902,"id":540,"parentId":539,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":756,"timestamp":8211573335106,"id":542,"parentId":541,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":632,"timestamp":8211573335231,"id":544,"parentId":543,"tags":{},"startTime":1725023692959,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":353,"timestamp":8211573335511,"id":546,"parentId":545,"tags":{},"startTime":1725023692959,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":151,"timestamp":8211573335713,"id":548,"parentId":547,"tags":{},"startTime":1725023692959,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":14,"timestamp":8211573336241,"id":549,"parentId":537,"tags":{},"startTime":1725023692960,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":5,"timestamp":8211573336269,"id":550,"parentId":539,"tags":{},"startTime":1725023692960,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":4,"timestamp":8211573336280,"id":551,"parentId":541,"tags":{},"startTime":1725023692960,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":8,"timestamp":8211573336411,"id":552,"parentId":543,"tags":{},"startTime":1725023692960,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":3,"timestamp":8211573336436,"id":553,"parentId":545,"tags":{},"startTime":1725023692960,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":1,"timestamp":8211573336445,"id":554,"parentId":547,"tags":{},"startTime":1725023692960,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":1756,"timestamp":8211573334694,"id":537,"parentId":525,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":1603,"timestamp":8211573334848,"id":539,"parentId":527,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":1389,"timestamp":8211573335063,"id":541,"parentId":529,"tags":{},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":1264,"timestamp":8211573335188,"id":543,"parentId":531,"tags":{},"startTime":1725023692959,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":999,"timestamp":8211573335454,"id":545,"parentId":533,"tags":{},"startTime":1725023692959,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":762,"timestamp":8211573335691,"id":547,"parentId":535,"tags":{},"startTime":1725023692959,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":2245,"timestamp":8211573334486,"id":525,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/background-newsletter.jpg","layer":"ssr"},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":2308,"timestamp":8211573334563,"id":527,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/background.jpg","layer":"ssr"},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"build-module-svg","duration":2384,"timestamp":8211573334594,"id":529,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/mirage.svg","layer":"ssr"},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"build-module-svg","duration":2654,"timestamp":8211573334619,"id":531,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/statickit.svg","layer":"ssr"},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"build-module-svg","duration":2777,"timestamp":8211573334639,"id":533,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/transistor.svg","layer":"ssr"},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"build-module-svg","duration":2869,"timestamp":8211573334658,"id":535,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/logos/tuple.svg","layer":"ssr"},"startTime":1725023692958,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2204,"timestamp":8211573343059,"id":569,"parentId":568,"tags":{},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2273,"timestamp":8211573343000,"id":568,"parentId":556,"tags":{},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":5027,"timestamp":8211573342384,"id":556,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7058,"timestamp":8211573343112,"id":571,"parentId":570,"tags":{},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7116,"timestamp":8211573343061,"id":570,"parentId":557,"tags":{},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":9791,"timestamp":8211573342480,"id":557,"parentId":521,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Header.jsx","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9463,"timestamp":8211573342996,"id":567,"parentId":566,"tags":{},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9663,"timestamp":8211573342803,"id":566,"parentId":555,"tags":{},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":14225,"timestamp":8211573341284,"id":555,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"ssr"},"startTime":1725023692965,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12424,"timestamp":8211573343143,"id":573,"parentId":572,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12455,"timestamp":8211573343114,"id":572,"parentId":558,"tags":{},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14555,"timestamp":8211573342557,"id":558,"parentId":524,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/error-boundary.js","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13937,"timestamp":8211573343198,"id":581,"parentId":580,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13949,"timestamp":8211573343187,"id":580,"parentId":562,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14899,"timestamp":8211573342679,"id":562,"parentId":524,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/client-page.js","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14468,"timestamp":8211573343159,"id":575,"parentId":574,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14483,"timestamp":8211573343145,"id":574,"parentId":559,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17624,"timestamp":8211573342592,"id":559,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/image-component.js","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":27553,"timestamp":8211573343222,"id":585,"parentId":584,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":27571,"timestamp":8211573343211,"id":584,"parentId":564,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":29106,"timestamp":8211573342744,"id":564,"parentId":524,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/not-found-boundary.js","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":28638,"timestamp":8211573343234,"id":587,"parentId":586,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":28650,"timestamp":8211573343224,"id":586,"parentId":565,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":29477,"timestamp":8211573342772,"id":565,"parentId":524,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/render-from-template-context.js","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":29516,"timestamp":8211573343185,"id":579,"parentId":578,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":29530,"timestamp":8211573343174,"id":578,"parentId":561,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":33669,"timestamp":8211573342651,"id":561,"parentId":524,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/app-router.js","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":33246,"timestamp":8211573343172,"id":577,"parentId":576,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":33260,"timestamp":8211573343161,"id":576,"parentId":560,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":36623,"timestamp":8211573342622,"id":560,"parentId":520,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/link.js","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":36095,"timestamp":8211573343210,"id":583,"parentId":582,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":36108,"timestamp":8211573343199,"id":582,"parentId":563,"tags":{},"startTime":1725023692967,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":38771,"timestamp":8211573342706,"id":563,"parentId":524,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/layout-router.js","layer":"ssr"},"startTime":1725023692966,"traceId":"c0436940a62f44fd"},{"name":"build-module-external","duration":36,"timestamp":8211573397831,"id":591,"parentId":558,"tags":{"name":"./static-generation-async-storage.external","layer":null},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":450,"timestamp":8211573398012,"id":596,"parentId":588,"tags":{},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43,"timestamp":8211573398472,"id":609,"parentId":588,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":2002,"timestamp":8211573397152,"id":588,"parentId":556,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/clsx/dist/clsx.mjs","layer":"ssr"},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":526,"timestamp":8211573401167,"id":625,"parentId":613,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":576,"timestamp":8211573401172,"id":626,"parentId":614,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":84,"timestamp":8211573401704,"id":653,"parentId":613,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":38,"timestamp":8211573401751,"id":654,"parentId":614,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1412,"timestamp":8211573400687,"id":613,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_interop_require_default.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1554,"timestamp":8211573400751,"id":614,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/api/image.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4148,"timestamp":8211573398198,"id":598,"parentId":597,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4237,"timestamp":8211573398110,"id":597,"parentId":589,"tags":{},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":5044,"timestamp":8211573397671,"id":589,"parentId":556,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/BackgroundImage.jsx","layer":"ssr"},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4481,"timestamp":8211573398253,"id":600,"parentId":599,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4534,"timestamp":8211573398202,"id":599,"parentId":590,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":5167,"timestamp":8211573397760,"id":590,"parentId":556,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Container.jsx","layer":"ssr"},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4659,"timestamp":8211573398287,"id":604,"parentId":603,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4673,"timestamp":8211573398274,"id":603,"parentId":593,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5327,"timestamp":8211573397915,"id":593,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-config.js","layer":"ssr"},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7386,"timestamp":8211573398315,"id":608,"parentId":607,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7407,"timestamp":8211573398303,"id":607,"parentId":595,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8787,"timestamp":8211573397974,"id":595,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils/warn-once.js","layer":"ssr"},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8538,"timestamp":8211573398301,"id":606,"parentId":605,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8554,"timestamp":8211573398289,"id":605,"parentId":594,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10139,"timestamp":8211573397945,"id":594,"parentId":562,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/search-params.js","layer":"ssr"},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9383,"timestamp":8211573401274,"id":628,"parentId":627,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9460,"timestamp":8211573401204,"id":627,"parentId":610,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":10625,"timestamp":8211573400477,"id":610,"parentId":557,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Button.jsx","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9787,"timestamp":8211573401342,"id":632,"parentId":631,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9803,"timestamp":8211573401328,"id":631,"parentId":612,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11020,"timestamp":8211573400657,"id":612,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-loader.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13453,"timestamp":8211573398273,"id":602,"parentId":601,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13472,"timestamp":8211573398255,"id":601,"parentId":592,"tags":{},"startTime":1725023693022,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15876,"timestamp":8211573397880,"id":592,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/get-img-props.js","layer":"ssr"},"startTime":1725023693021,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12410,"timestamp":8211573401369,"id":636,"parentId":635,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12423,"timestamp":8211573401357,"id":635,"parentId":616,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13393,"timestamp":8211573400849,"id":616,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/app-router-headers.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12878,"timestamp":8211573401381,"id":638,"parentId":637,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12890,"timestamp":8211573401370,"id":637,"parentId":617,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13630,"timestamp":8211573400879,"id":617,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/segment.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13181,"timestamp":8211573401356,"id":634,"parentId":633,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13195,"timestamp":8211573401344,"id":633,"parentId":615,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14675,"timestamp":8211573400819,"id":615,"parentId":560,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-transform","duration":14274,"timestamp":8211573401419,"id":644,"parentId":643,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14287,"timestamp":8211573401408,"id":643,"parentId":620,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15044,"timestamp":8211573400963,"id":620,"parentId":558,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/is-next-router-error.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14645,"timestamp":8211573401394,"id":640,"parentId":639,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14658,"timestamp":8211573401383,"id":639,"parentId":618,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16194,"timestamp":8211573400908,"id":618,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/head.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15721,"timestamp":8211573401406,"id":642,"parentId":641,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15733,"timestamp":8211573401395,"id":641,"parentId":619,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17055,"timestamp":8211573400936,"id":619,"parentId":558,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/navigation.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16580,"timestamp":8211573401433,"id":646,"parentId":645,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16595,"timestamp":8211573401420,"id":645,"parentId":621,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17710,"timestamp":8211573400991,"id":621,"parentId":560,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/resolve-href.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17270,"timestamp":8211573401447,"id":648,"parentId":647,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17283,"timestamp":8211573401435,"id":647,"parentId":622,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18112,"timestamp":8211573401018,"id":622,"parentId":560,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/add-locale.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18678,"timestamp":8211573401472,"id":652,"parentId":651,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18691,"timestamp":8211573401461,"id":651,"parentId":624,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19431,"timestamp":8211573401131,"id":624,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/add-base-path.js","layer":"ssr"},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19132,"timestamp":8211573401460,"id":650,"parentId":649,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19145,"timestamp":8211573401448,"id":649,"parentId":623,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21458,"timestamp":8211573401102,"id":623,"parentId":560,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/use-intersection.js","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":25986,"timestamp":8211573401326,"id":630,"parentId":629,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":26041,"timestamp":8211573401277,"id":629,"parentId":611,"tags":{},"startTime":1725023693025,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":33173,"timestamp":8211573400589,"id":611,"parentId":557,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Logo.jsx","layer":"ssr"},"startTime":1725023693024,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2940,"timestamp":8211573438399,"id":663,"parentId":662,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2988,"timestamp":8211573438358,"id":662,"parentId":655,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4055,"timestamp":8211573438018,"id":655,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/remove-base-path.js","layer":"ssr"},"startTime":1725023693061,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3681,"timestamp":8211573438418,"id":665,"parentId":664,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3699,"timestamp":8211573438402,"id":664,"parentId":656,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4349,"timestamp":8211573438112,"id":656,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/has-base-path.js","layer":"ssr"},"startTime":1725023693061,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4048,"timestamp":8211573438432,"id":667,"parentId":666,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4062,"timestamp":8211573438420,"id":666,"parentId":657,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4687,"timestamp":8211573438154,"id":657,"parentId":564,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/not-found.js","layer":"ssr"},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4377,"timestamp":8211573438483,"id":675,"parentId":674,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4389,"timestamp":8211573438472,"id":674,"parentId":661,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4858,"timestamp":8211573438281,"id":661,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/unresolved-thenable.js","layer":"ssr"},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5067,"timestamp":8211573438446,"id":669,"parentId":668,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5081,"timestamp":8211573438434,"id":668,"parentId":658,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6185,"timestamp":8211573438187,"id":658,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/use-reducer-with-devtools.js","layer":"ssr"},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10619,"timestamp":8211573438458,"id":671,"parentId":670,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10639,"timestamp":8211573438447,"id":670,"parentId":659,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11699,"timestamp":8211573438218,"id":659,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/app-router-announcer.js","layer":"ssr"},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11807,"timestamp":8211573438471,"id":673,"parentId":672,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11821,"timestamp":8211573438460,"id":672,"parentId":660,"tags":{},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12693,"timestamp":8211573438253,"id":660,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/redirect-boundary.js","layer":"ssr"},"startTime":1725023693062,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9707,"timestamp":8211573441258,"id":678,"parentId":677,"tags":{},"startTime":1725023693065,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9747,"timestamp":8211573441220,"id":677,"parentId":676,"tags":{},"startTime":1725023693065,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10166,"timestamp":8211573441096,"id":676,"parentId":560,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-local-url.js","layer":"ssr"},"startTime":1725023693064,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4525,"timestamp":8211573447799,"id":686,"parentId":685,"tags":{},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4546,"timestamp":8211573447782,"id":685,"parentId":680,"tags":{},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5723,"timestamp":8211573447126,"id":680,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-bot.js","layer":"ssr"},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5270,"timestamp":8211573447829,"id":690,"parentId":689,"tags":{},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5285,"timestamp":8211573447817,"id":689,"parentId":682,"tags":{},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6146,"timestamp":8211573447396,"id":682,"parentId":563,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/match-segments.js","layer":"ssr"},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5746,"timestamp":8211573447815,"id":688,"parentId":687,"tags":{},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5761,"timestamp":8211573447801,"id":687,"parentId":681,"tags":{},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6628,"timestamp":8211573447341,"id":681,"parentId":560,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/get-domain-locale.js","layer":"ssr"},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6210,"timestamp":8211573447779,"id":684,"parentId":683,"tags":{},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6252,"timestamp":8211573447738,"id":683,"parentId":679,"tags":{},"startTime":1725023693071,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7703,"timestamp":8211573447014,"id":679,"parentId":560,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/format-url.js","layer":"ssr"},"startTime":1725023693070,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1212,"timestamp":8211573464212,"id":729,"parentId":711,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1280,"timestamp":8211573464218,"id":730,"parentId":712,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1327,"timestamp":8211573464220,"id":731,"parentId":716,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":147,"timestamp":8211573465438,"id":771,"parentId":711,"tags":{},"startTime":1725023693089,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":85,"timestamp":8211573465501,"id":772,"parentId":712,"tags":{},"startTime":1725023693089,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":37,"timestamp":8211573465550,"id":773,"parentId":716,"tags":{},"startTime":1725023693089,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4157,"timestamp":8211573463146,"id":711,"parentId":594,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/app-render/dynamic-rendering.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4508,"timestamp":8211573463213,"id":712,"parentId":594,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4575,"timestamp":8211573463371,"id":716,"parentId":610,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/api/link.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11550,"timestamp":8211573456669,"id":699,"parentId":698,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11579,"timestamp":8211573456653,"id":698,"parentId":692,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12898,"timestamp":8211573456126,"id":692,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js","layer":"ssr"},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12408,"timestamp":8211573456649,"id":697,"parentId":696,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12449,"timestamp":8211573456610,"id":696,"parentId":691,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13918,"timestamp":8211573456035,"id":691,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js","layer":"ssr"},"startTime":1725023693079,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14259,"timestamp":8211573456697,"id":703,"parentId":702,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14276,"timestamp":8211573456686,"id":702,"parentId":694,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15860,"timestamp":8211573456251,"id":694,"parentId":563,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js","layer":"ssr"},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15467,"timestamp":8211573456684,"id":701,"parentId":700,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15482,"timestamp":8211573456671,"id":700,"parentId":693,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16642,"timestamp":8211573456166,"id":693,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js","layer":"ssr"},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16155,"timestamp":8211573456712,"id":705,"parentId":704,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16172,"timestamp":8211573456700,"id":704,"parentId":695,"tags":{},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17215,"timestamp":8211573456282,"id":695,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js","layer":"ssr"},"startTime":1725023693080,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8653,"timestamp":8211573464883,"id":736,"parentId":735,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8671,"timestamp":8211573464867,"id":735,"parentId":707,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10890,"timestamp":8211573462982,"id":707,"parentId":563,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js","layer":"ssr"},"startTime":1725023693086,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9038,"timestamp":8211573464863,"id":734,"parentId":733,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9082,"timestamp":8211573464821,"id":733,"parentId":706,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11376,"timestamp":8211573462885,"id":706,"parentId":563,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js","layer":"ssr"},"startTime":1725023693086,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9383,"timestamp":8211573464897,"id":738,"parentId":737,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9397,"timestamp":8211573464884,"id":737,"parentId":708,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11616,"timestamp":8211573463023,"id":708,"parentId":563,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js","layer":"ssr"},"startTime":1725023693086,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9745,"timestamp":8211573464911,"id":740,"parentId":739,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9758,"timestamp":8211573464899,"id":739,"parentId":709,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11855,"timestamp":8211573463054,"id":709,"parentId":563,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js","layer":"ssr"},"startTime":1725023693086,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9994,"timestamp":8211573464937,"id":744,"parentId":743,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10007,"timestamp":8211573464926,"id":743,"parentId":713,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12019,"timestamp":8211573463283,"id":713,"parentId":612,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/match-remote-pattern.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10395,"timestamp":8211573464924,"id":742,"parentId":741,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10409,"timestamp":8211573464912,"id":741,"parentId":710,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-js","duration":12737,"timestamp":8211573463092,"id":710,"parentId":614,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-external.js","layer":"ssr"},"startTime":1725023693086,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10873,"timestamp":8211573464977,"id":748,"parentId":747,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10900,"timestamp":8211573464951,"id":747,"parentId":715,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12999,"timestamp":8211573463344,"id":715,"parentId":621,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/querystring.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11413,"timestamp":8211573464949,"id":746,"parentId":745,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11425,"timestamp":8211573464938,"id":745,"parentId":714,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13377,"timestamp":8211573463313,"id":714,"parentId":592,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-blur-svg.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19139,"timestamp":8211573465031,"id":756,"parentId":755,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19157,"timestamp":8211573465021,"id":755,"parentId":721,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20603,"timestamp":8211573463968,"id":721,"parentId":618,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/amp-mode.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19575,"timestamp":8211573465019,"id":754,"parentId":753,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19587,"timestamp":8211573465009,"id":753,"parentId":720,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21103,"timestamp":8211573463941,"id":720,"parentId":618,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/side-effect.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20058,"timestamp":8211573465007,"id":752,"parentId":751,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20071,"timestamp":8211573464996,"id":751,"parentId":719,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21993,"timestamp":8211573463911,"id":719,"parentId":620,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/redirect.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20866,"timestamp":8211573465055,"id":760,"parentId":759,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20878,"timestamp":8211573465045,"id":759,"parentId":723,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":22228,"timestamp":8211573464019,"id":723,"parentId":619,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/bailout-to-client-rendering.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":21221,"timestamp":8211573465043,"id":758,"parentId":757,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":21233,"timestamp":8211573465033,"id":757,"parentId":722,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":22690,"timestamp":8211573463994,"id":722,"parentId":619,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/navigation.react-server.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":21630,"timestamp":8211573465071,"id":762,"parentId":761,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":21645,"timestamp":8211573465057,"id":761,"parentId":724,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23362,"timestamp":8211573464050,"id":724,"parentId":621,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/normalize-trailing-slash.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":22333,"timestamp":8211573465098,"id":766,"parentId":765,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":22346,"timestamp":8211573465086,"id":765,"parentId":726,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23533,"timestamp":8211573464108,"id":726,"parentId":621,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/omit.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":22573,"timestamp":8211573465085,"id":764,"parentId":763,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":22586,"timestamp":8211573465073,"id":763,"parentId":725,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24011,"timestamp":8211573464081,"id":725,"parentId":623,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/request-idle-callback.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":23376,"timestamp":8211573465122,"id":770,"parentId":769,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":23389,"timestamp":8211573465111,"id":769,"parentId":728,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24609,"timestamp":8211573464171,"id":728,"parentId":624,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js","layer":"ssr"},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":23689,"timestamp":8211573465110,"id":768,"parentId":767,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":23701,"timestamp":8211573465099,"id":767,"parentId":727,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":25104,"timestamp":8211573464143,"id":727,"parentId":621,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js","layer":"ssr"},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":24301,"timestamp":8211573464994,"id":750,"parentId":749,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":24318,"timestamp":8211573464979,"id":749,"parentId":717,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":28513,"timestamp":8211573463433,"id":717,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4110,"timestamp":8211573494183,"id":805,"parentId":804,"tags":{},"startTime":1725023693118,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4176,"timestamp":8211573494140,"id":804,"parentId":802,"tags":{},"startTime":1725023693118,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5791,"timestamp":8211573492976,"id":802,"parentId":656,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js","layer":"ssr"},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4603,"timestamp":8211573494204,"id":807,"parentId":806,"tags":{},"startTime":1725023693118,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4622,"timestamp":8211573494188,"id":806,"parentId":803,"tags":{},"startTime":1725023693118,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6657,"timestamp":8211573493027,"id":803,"parentId":658,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/action-queue.js","layer":"ssr"},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":263,"timestamp":8211573500464,"id":820,"parentId":808,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":312,"timestamp":8211573500468,"id":821,"parentId":812,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":359,"timestamp":8211573500470,"id":822,"parentId":813,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1249,"timestamp":8211573500737,"id":829,"parentId":808,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1205,"timestamp":8211573500784,"id":830,"parentId":812,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1158,"timestamp":8211573500832,"id":831,"parentId":813,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2554,"timestamp":8211573499848,"id":808,"parentId":711,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/url.js","layer":"ssr"},"startTime":1725023693123,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3007,"timestamp":8211573500083,"id":812,"parentId":708,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/helpers/interception-routes.js","layer":"ssr"},"startTime":1725023693123,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16416,"timestamp":8211573500153,"id":813,"parentId":713,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/picomatch/index.js","layer":"ssr"},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":53216,"timestamp":8211573464231,"id":732,"parentId":718,"tags":{},"startTime":1725023693088,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18328,"timestamp":8211573500602,"id":828,"parentId":827,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18356,"timestamp":8211573500589,"id":827,"parentId":811,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19679,"timestamp":8211573500054,"id":811,"parentId":694,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/hash.js","layer":"ssr"},"startTime":1725023693123,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19183,"timestamp":8211573500587,"id":826,"parentId":825,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19205,"timestamp":8211573500571,"id":825,"parentId":810,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20210,"timestamp":8211573500020,"id":810,"parentId":711,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/static-generation-bailout.js","layer":"ssr"},"startTime":1725023693123,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19681,"timestamp":8211573500568,"id":824,"parentId":823,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19721,"timestamp":8211573500529,"id":823,"parentId":809,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20659,"timestamp":8211573499970,"id":809,"parentId":711,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/hooks-server-context.js","layer":"ssr"},"startTime":1725023693123,"traceId":"c0436940a62f44fd"},{"name":"build-module-external","duration":30,"timestamp":8211573520852,"id":832,"parentId":719,"tags":{"name":"./request-async-storage.external","layer":null},"startTime":1725023693144,"traceId":"c0436940a62f44fd"},{"name":"build-module-external","duration":14,"timestamp":8211573520888,"id":833,"parentId":719,"tags":{"name":"./action-async-storage.external","layer":null},"startTime":1725023693144,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":44118,"timestamp":8211573478954,"id":786,"parentId":778,"tags":{},"startTime":1725023693102,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":59,"timestamp":8211573523090,"id":851,"parentId":778,"tags":{},"startTime":1725023693146,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":45741,"timestamp":8211573477650,"id":778,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js","layer":"ssr"},"startTime":1725023693101,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":44468,"timestamp":8211573478938,"id":784,"parentId":776,"tags":{},"startTime":1725023693102,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573523413,"id":852,"parentId":776,"tags":{},"startTime":1725023693147,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":46086,"timestamp":8211573477489,"id":776,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js","layer":"ssr"},"startTime":1725023693101,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":44633,"timestamp":8211573478958,"id":787,"parentId":779,"tags":{},"startTime":1725023693102,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":46,"timestamp":8211573523597,"id":853,"parentId":779,"tags":{},"startTime":1725023693147,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":46012,"timestamp":8211573477723,"id":779,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js","layer":"ssr"},"startTime":1725023693101,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":44831,"timestamp":8211573478913,"id":782,"parentId":774,"tags":{},"startTime":1725023693102,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43,"timestamp":8211573523750,"id":854,"parentId":774,"tags":{},"startTime":1725023693147,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":46617,"timestamp":8211573477267,"id":774,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js","layer":"ssr"},"startTime":1725023693101,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":44928,"timestamp":8211573478966,"id":789,"parentId":781,"tags":{},"startTime":1725023693102,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":45,"timestamp":8211573523898,"id":855,"parentId":781,"tags":{},"startTime":1725023693147,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":46161,"timestamp":8211573477877,"id":781,"parentId":561,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js","layer":"ssr"},"startTime":1725023693101,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":45114,"timestamp":8211573478932,"id":783,"parentId":775,"tags":{},"startTime":1725023693102,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":44,"timestamp":8211573524050,"id":856,"parentId":775,"tags":{},"startTime":1725023693147,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":46762,"timestamp":8211573477409,"id":775,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js","layer":"ssr"},"startTime":1725023693101,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":45946,"timestamp":8211573478961,"id":788,"parentId":780,"tags":{},"startTime":1725023693102,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":54,"timestamp":8211573524914,"id":857,"parentId":780,"tags":{},"startTime":1725023693148,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":47298,"timestamp":8211573477795,"id":780,"parentId":560,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js","layer":"ssr"},"startTime":1725023693101,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":46287,"timestamp":8211573478944,"id":785,"parentId":777,"tags":{},"startTime":1725023693102,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573525237,"id":858,"parentId":777,"tags":{},"startTime":1725023693149,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":47811,"timestamp":8211573477573,"id":777,"parentId":556,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js","layer":"ssr"},"startTime":1725023693101,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7360,"timestamp":8211573521700,"id":846,"parentId":845,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7406,"timestamp":8211573521661,"id":845,"parentId":834,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8600,"timestamp":8211573521016,"id":834,"parentId":724,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js","layer":"ssr"},"startTime":1725023693144,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8123,"timestamp":8211573521720,"id":848,"parentId":847,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8142,"timestamp":8211573521705,"id":847,"parentId":835,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9175,"timestamp":8211573521105,"id":835,"parentId":727,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/route-matcher.js","layer":"ssr"},"startTime":1725023693144,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":37402,"timestamp":8211573492894,"id":795,"parentId":794,"tags":{},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":57,"timestamp":8211573530452,"id":885,"parentId":884,"tags":{},"startTime":1725023693154,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":3,"timestamp":8211573530604,"id":886,"parentId":884,"tags":{},"startTime":1725023693154,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":310,"timestamp":8211573530308,"id":884,"parentId":794,"tags":{},"startTime":1725023693154,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-jpg","duration":38166,"timestamp":8211573492874,"id":794,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/damaris-kimura.jpg","layer":"ssr"},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":38281,"timestamp":8211573492818,"id":791,"parentId":790,"tags":{},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":23,"timestamp":8211573531196,"id":888,"parentId":887,"tags":{},"startTime":1725023693155,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573531268,"id":889,"parentId":887,"tags":{},"startTime":1725023693155,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":169,"timestamp":8211573531109,"id":887,"parentId":790,"tags":{},"startTime":1725023693154,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":38641,"timestamp":8211573492743,"id":790,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/andrew-greene.jpg","layer":"ssr"},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":38528,"timestamp":8211573492865,"id":793,"parentId":792,"tags":{},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":11,"timestamp":8211573531489,"id":891,"parentId":890,"tags":{},"startTime":1725023693155,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573531647,"id":892,"parentId":890,"tags":{},"startTime":1725023693155,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":259,"timestamp":8211573531398,"id":890,"parentId":792,"tags":{},"startTime":1725023693155,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":38912,"timestamp":8211573492839,"id":792,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/cathlene-burrage.jpg","layer":"ssr"},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10188,"timestamp":8211573521735,"id":850,"parentId":849,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10203,"timestamp":8211573521722,"id":849,"parentId":836,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11856,"timestamp":8211573521143,"id":836,"parentId":727,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/route-regex.js","layer":"ssr"},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":40260,"timestamp":8211573492969,"id":801,"parentId":800,"tags":{},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":16,"timestamp":8211573533348,"id":894,"parentId":893,"tags":{},"startTime":1725023693157,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573533423,"id":895,"parentId":893,"tags":{},"startTime":1725023693157,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":195,"timestamp":8211573533237,"id":893,"parentId":800,"tags":{},"startTime":1725023693157,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":40595,"timestamp":8211573492952,"id":800,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/giordano-sagucio.jpg","layer":"ssr"},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":40636,"timestamp":8211573492920,"id":797,"parentId":796,"tags":{},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":13,"timestamp":8211573533653,"id":897,"parentId":896,"tags":{},"startTime":1725023693157,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573533713,"id":898,"parentId":896,"tags":{},"startTime":1725023693157,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":158,"timestamp":8211573533562,"id":896,"parentId":796,"tags":{},"startTime":1725023693157,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":40910,"timestamp":8211573492901,"id":796,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/dianne-guilianelli.jpg","layer":"ssr"},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7815,"timestamp":8211573526061,"id":860,"parentId":859,"tags":{},"startTime":1725023693149,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7917,"timestamp":8211573525960,"id":859,"parentId":718,"tags":{},"startTime":1725023693149,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":70572,"timestamp":8211573463464,"id":718,"parentId":557,"tags":{"name":"__barrel_optimize__?names=Bars3Icon,XMarkIcon!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/index.js","layer":"ssr"},"startTime":1725023693087,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6571,"timestamp":8211573527484,"id":875,"parentId":874,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6606,"timestamp":8211573527451,"id":874,"parentId":869,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7792,"timestamp":8211573526597,"id":869,"parentId":694,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/app-call-server.js","layer":"ssr"},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10657,"timestamp":8211573527503,"id":877,"parentId":876,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10680,"timestamp":8211573527488,"id":876,"parentId":870,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12568,"timestamp":8211573526645,"id":870,"parentId":693,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js","layer":"ssr"},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11940,"timestamp":8211573527531,"id":881,"parentId":880,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11954,"timestamp":8211573527519,"id":880,"parentId":872,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13914,"timestamp":8211573526705,"id":872,"parentId":693,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js","layer":"ssr"},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13101,"timestamp":8211573527543,"id":883,"parentId":882,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13115,"timestamp":8211573527532,"id":882,"parentId":873,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14541,"timestamp":8211573526733,"id":873,"parentId":693,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js","layer":"ssr"},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13784,"timestamp":8211573527517,"id":879,"parentId":878,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13799,"timestamp":8211573527505,"id":878,"parentId":871,"tags":{},"startTime":1725023693151,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15352,"timestamp":8211573526676,"id":871,"parentId":693,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js","layer":"ssr"},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":51439,"timestamp":8211573492945,"id":799,"parentId":798,"tags":{},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":39,"timestamp":8211573544547,"id":927,"parentId":926,"tags":{},"startTime":1725023693168,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":4,"timestamp":8211573544669,"id":928,"parentId":926,"tags":{},"startTime":1725023693168,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":283,"timestamp":8211573544401,"id":926,"parentId":798,"tags":{},"startTime":1725023693168,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":51954,"timestamp":8211573492928,"id":798,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/erhart-cockrin.jpg","layer":"ssr"},"startTime":1725023693116,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":44642,"timestamp":8211573500297,"id":819,"parentId":818,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":13,"timestamp":8211573545030,"id":930,"parentId":929,"tags":{},"startTime":1725023693168,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573545091,"id":931,"parentId":929,"tags":{},"startTime":1725023693168,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":154,"timestamp":8211573544946,"id":929,"parentId":818,"tags":{},"startTime":1725023693168,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":44931,"timestamp":8211573500280,"id":818,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/ibrahim-frasch.jpg","layer":"ssr"},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9269,"timestamp":8211573536054,"id":919,"parentId":918,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9286,"timestamp":8211573536038,"id":918,"parentId":909,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10677,"timestamp":8211573535040,"id":909,"parentId":719,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/redirect-status-code.js","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9705,"timestamp":8211573536034,"id":917,"parentId":916,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9747,"timestamp":8211573535993,"id":916,"parentId":899,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11886,"timestamp":8211573534619,"id":899,"parentId":812,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/app-paths.js","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10633,"timestamp":8211573536072,"id":921,"parentId":920,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10651,"timestamp":8211573536056,"id":920,"parentId":910,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11950,"timestamp":8211573535071,"id":910,"parentId":724,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/parse-path.js","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10961,"timestamp":8211573536086,"id":923,"parentId":922,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10975,"timestamp":8211573536073,"id":922,"parentId":911,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12587,"timestamp":8211573535102,"id":911,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/shared.js","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":256,"timestamp":8211573549150,"id":941,"parentId":932,"tags":{},"startTime":1725023693173,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1579,"timestamp":8211573549415,"id":946,"parentId":932,"tags":{},"startTime":1725023693173,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3291,"timestamp":8211573548092,"id":932,"parentId":778,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js","layer":"ssr"},"startTime":1725023693171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15549,"timestamp":8211573536099,"id":925,"parentId":924,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15564,"timestamp":8211573536087,"id":924,"parentId":912,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17295,"timestamp":8211573535129,"id":912,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js","layer":"ssr"},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":52344,"timestamp":8211573500242,"id":815,"parentId":814,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":24,"timestamp":8211573552752,"id":948,"parentId":947,"tags":{},"startTime":1725023693176,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":3,"timestamp":8211573552857,"id":949,"parentId":947,"tags":{},"startTime":1725023693176,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":274,"timestamp":8211573552596,"id":947,"parentId":814,"tags":{},"startTime":1725023693176,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":52794,"timestamp":8211573500217,"id":814,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/gordon-sanderson.jpg","layer":"ssr"},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":31484,"timestamp":8211573521538,"id":844,"parentId":843,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":52,"timestamp":8211573553028,"id":950,"parentId":843,"tags":{},"startTime":1725023693176,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":32085,"timestamp":8211573521271,"id":843,"parentId":682,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/app-render/get-segment-param.js","layer":"ssr"},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":32182,"timestamp":8211573521200,"id":838,"parentId":837,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":12,"timestamp":8211573553590,"id":952,"parentId":951,"tags":{},"startTime":1725023693177,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573553651,"id":953,"parentId":951,"tags":{},"startTime":1725023693177,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":270,"timestamp":8211573553389,"id":951,"parentId":837,"tags":{},"startTime":1725023693177,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":32597,"timestamp":8211573521175,"id":837,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/jaquelin-isch.jpg","layer":"ssr"},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":32546,"timestamp":8211573521237,"id":840,"parentId":839,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":9,"timestamp":8211573553882,"id":955,"parentId":954,"tags":{},"startTime":1725023693177,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":1,"timestamp":8211573553934,"id":956,"parentId":954,"tags":{},"startTime":1725023693177,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":153,"timestamp":8211573553788,"id":954,"parentId":839,"tags":{},"startTime":1725023693177,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":32808,"timestamp":8211573521218,"id":839,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/kimberly-parsons.jpg","layer":"ssr"},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5281,"timestamp":8211573549243,"id":943,"parentId":942,"tags":{},"startTime":1725023693173,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5325,"timestamp":8211573549202,"id":942,"parentId":939,"tags":{},"startTime":1725023693173,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6470,"timestamp":8211573548346,"id":939,"parentId":621,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/index.js","layer":"ssr"},"startTime":1725023693172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5572,"timestamp":8211573549265,"id":945,"parentId":944,"tags":{},"startTime":1725023693173,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5591,"timestamp":8211573549247,"id":944,"parentId":940,"tags":{},"startTime":1725023693173,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6877,"timestamp":8211573548390,"id":940,"parentId":803,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/router-reducer.js","layer":"ssr"},"startTime":1725023693172,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":39513,"timestamp":8211573521262,"id":842,"parentId":841,"tags":{},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":21,"timestamp":8211573560961,"id":974,"parentId":973,"tags":{},"startTime":1725023693184,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":4,"timestamp":8211573561052,"id":975,"parentId":973,"tags":{},"startTime":1725023693184,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":272,"timestamp":8211573560794,"id":973,"parentId":841,"tags":{},"startTime":1725023693184,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":40016,"timestamp":8211573521245,"id":841,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/parker-johnson.jpg","layer":"ssr"},"startTime":1725023693145,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":34771,"timestamp":8211573526500,"id":862,"parentId":861,"tags":{},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":10,"timestamp":8211573561363,"id":977,"parentId":976,"tags":{},"startTime":1725023693185,"traceId":"c0436940a62f44fd"}] -[{"name":"image-data-stringify","duration":2,"timestamp":8211573561576,"id":978,"parentId":976,"tags":{},"startTime":1725023693185,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":306,"timestamp":8211573561278,"id":976,"parentId":861,"tags":{},"startTime":1725023693185,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":35249,"timestamp":8211573526443,"id":861,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/piers-wilkins.jpg","layer":"ssr"},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":61428,"timestamp":8211573500272,"id":817,"parentId":816,"tags":{},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":9,"timestamp":8211573561953,"id":980,"parentId":979,"tags":{},"startTime":1725023693185,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":1,"timestamp":8211573562003,"id":981,"parentId":979,"tags":{},"startTime":1725023693185,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":303,"timestamp":8211573561707,"id":979,"parentId":816,"tags":{},"startTime":1725023693185,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":61848,"timestamp":8211573500254,"id":816,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/heather-terry.jpg","layer":"ssr"},"startTime":1725023693124,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":35559,"timestamp":8211573526565,"id":866,"parentId":865,"tags":{},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":8,"timestamp":8211573562227,"id":983,"parentId":982,"tags":{},"startTime":1725023693186,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":1,"timestamp":8211573562272,"id":984,"parentId":982,"tags":{},"startTime":1725023693186,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":149,"timestamp":8211573562130,"id":982,"parentId":865,"tags":{},"startTime":1725023693186,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":35818,"timestamp":8211573526546,"id":865,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/rinaldo-beynon.jpg","layer":"ssr"},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5609,"timestamp":8211573557302,"id":970,"parentId":969,"tags":{},"startTime":1725023693181,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5650,"timestamp":8211573557263,"id":969,"parentId":957,"tags":{},"startTime":1725023693181,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7353,"timestamp":8211573555894,"id":957,"parentId":836,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/escape-regexp.js","layer":"ssr"},"startTime":1725023693179,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5942,"timestamp":8211573557321,"id":972,"parentId":971,"tags":{},"startTime":1725023693181,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5959,"timestamp":8211573557305,"id":971,"parentId":966,"tags":{},"startTime":1725023693181,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7357,"timestamp":8211573556222,"id":966,"parentId":723,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","layer":"ssr"},"startTime":1725023693180,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":28538,"timestamp":8211573535901,"id":913,"parentId":906,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":54,"timestamp":8211573564448,"id":999,"parentId":906,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":29820,"timestamp":8211573534815,"id":906,"parentId":619,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":29838,"timestamp":8211573534807,"id":905,"parentId":904,"tags":{},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":150,"timestamp":8211573564729,"id":1001,"parentId":1000,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573564940,"id":1002,"parentId":1000,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":272,"timestamp":8211573564679,"id":1000,"parentId":904,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpeg","duration":30290,"timestamp":8211573534787,"id":904,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/kristof_de_spiegeleer.jpeg","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":29171,"timestamp":8211573535916,"id":915,"parentId":908,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":50,"timestamp":8211573565093,"id":1003,"parentId":908,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":30273,"timestamp":8211573534971,"id":908,"parentId":618,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":38715,"timestamp":8211573526538,"id":864,"parentId":863,"tags":{},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":10,"timestamp":8211573565376,"id":1005,"parentId":1004,"tags":{},"startTime":1725023693189,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":1,"timestamp":8211573565431,"id":1006,"parentId":1004,"tags":{},"startTime":1725023693189,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":179,"timestamp":8211573565259,"id":1004,"parentId":863,"tags":{},"startTime":1725023693189,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":39012,"timestamp":8211573526515,"id":863,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/richard-astley.jpg","layer":"ssr"},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":30794,"timestamp":8211573534741,"id":901,"parentId":900,"tags":{},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":8,"timestamp":8211573565668,"id":1008,"parentId":1007,"tags":{},"startTime":1725023693189,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573565736,"id":1009,"parentId":1007,"tags":{},"startTime":1725023693189,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":203,"timestamp":8211573565540,"id":1007,"parentId":900,"tags":{},"startTime":1725023693189,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":31118,"timestamp":8211573534712,"id":900,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/steven-mchail.jpg","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":31060,"timestamp":8211573534778,"id":903,"parentId":902,"tags":{},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":7,"timestamp":8211573565915,"id":1011,"parentId":1010,"tags":{},"startTime":1725023693189,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":1,"timestamp":8211573565960,"id":1012,"parentId":1010,"tags":{},"startTime":1725023693189,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":123,"timestamp":8211573565843,"id":1010,"parentId":902,"tags":{},"startTime":1725023693189,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":31283,"timestamp":8211573534759,"id":902,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/waylon-hyden.jpg","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":30458,"timestamp":8211573535911,"id":914,"parentId":907,"tags":{},"startTime":1725023693159,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573566376,"id":1013,"parentId":907,"tags":{},"startTime":1725023693190,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":31631,"timestamp":8211573534902,"id":907,"parentId":618,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js","layer":"ssr"},"startTime":1725023693158,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":39951,"timestamp":8211573526590,"id":868,"parentId":867,"tags":{},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":11,"timestamp":8211573566651,"id":1015,"parentId":1014,"tags":{},"startTime":1725023693190,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573566705,"id":1016,"parentId":1014,"tags":{},"startTime":1725023693190,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":165,"timestamp":8211573566546,"id":1014,"parentId":867,"tags":{},"startTime":1725023693190,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":40225,"timestamp":8211573526572,"id":867,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/ronni-cantadore.jpg","layer":"ssr"},"startTime":1725023693150,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4130,"timestamp":8211573564115,"id":992,"parentId":991,"tags":{},"startTime":1725023693187,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4170,"timestamp":8211573564079,"id":991,"parentId":985,"tags":{},"startTime":1725023693187,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4852,"timestamp":8211573563683,"id":985,"parentId":899,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","layer":"ssr"},"startTime":1725023693187,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4700,"timestamp":8211573564170,"id":994,"parentId":993,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4763,"timestamp":8211573564119,"id":993,"parentId":986,"tags":{},"startTime":1725023693187,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":5507,"timestamp":8211573563766,"id":986,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/DiamondIcon.jsx","layer":"ssr"},"startTime":1725023693187,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5108,"timestamp":8211573564198,"id":996,"parentId":995,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5137,"timestamp":8211573564171,"id":995,"parentId":987,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5779,"timestamp":8211573563845,"id":987,"parentId":718,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/Bars3Icon.js","layer":"ssr"},"startTime":1725023693187,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5425,"timestamp":8211573564222,"id":998,"parentId":997,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5449,"timestamp":8211573564199,"id":997,"parentId":988,"tags":{},"startTime":1725023693188,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6247,"timestamp":8211573563893,"id":988,"parentId":718,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js","layer":"ssr"},"startTime":1725023693187,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":21954,"timestamp":8211573548273,"id":934,"parentId":933,"tags":{},"startTime":1725023693172,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":25,"timestamp":8211573570382,"id":1038,"parentId":1037,"tags":{},"startTime":1725023693194,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":3,"timestamp":8211573570466,"id":1039,"parentId":1037,"tags":{},"startTime":1725023693194,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":212,"timestamp":8211573570265,"id":1037,"parentId":933,"tags":{},"startTime":1725023693194,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpg","duration":22360,"timestamp":8211573548241,"id":933,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/adnan_fatayerji.jpg","layer":"ssr"},"startTime":1725023693172,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":22306,"timestamp":8211573548308,"id":936,"parentId":935,"tags":{},"startTime":1725023693172,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":71,"timestamp":8211573570700,"id":1041,"parentId":1040,"tags":{},"startTime":1725023693194,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":7,"timestamp":8211573570885,"id":1042,"parentId":1040,"tags":{},"startTime":1725023693194,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":290,"timestamp":8211573570620,"id":1040,"parentId":935,"tags":{},"startTime":1725023693194,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpeg","duration":22831,"timestamp":8211573548288,"id":935,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/florian_fournier.jpeg","layer":"ssr"},"startTime":1725023693172,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":23219,"timestamp":8211573548336,"id":938,"parentId":937,"tags":{},"startTime":1725023693172,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":13,"timestamp":8211573571621,"id":1044,"parentId":1043,"tags":{},"startTime":1725023693195,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573571680,"id":1045,"parentId":1043,"tags":{},"startTime":1725023693195,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":125,"timestamp":8211573571564,"id":1043,"parentId":937,"tags":{},"startTime":1725023693195,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpeg","duration":23487,"timestamp":8211573548316,"id":937,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/matthew_schutte.jpeg","layer":"ssr"},"startTime":1725023693172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6196,"timestamp":8211573568053,"id":1032,"parentId":1031,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6212,"timestamp":8211573568041,"id":1031,"parentId":1021,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7180,"timestamp":8211573567435,"id":1021,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js","layer":"ssr"},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6611,"timestamp":8211573568025,"id":1028,"parentId":1027,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6627,"timestamp":8211573568010,"id":1027,"parentId":1019,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7752,"timestamp":8211573567376,"id":1019,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js","layer":"ssr"},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7155,"timestamp":8211573568040,"id":1030,"parentId":1029,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7169,"timestamp":8211573568027,"id":1029,"parentId":1020,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8281,"timestamp":8211573567406,"id":1020,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js","layer":"ssr"},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":18751,"timestamp":8211573557197,"id":967,"parentId":964,"tags":{},"startTime":1725023693181,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":50,"timestamp":8211573575957,"id":1052,"parentId":964,"tags":{},"startTime":1725023693199,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20132,"timestamp":8211573556081,"id":964,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/dev/hot-reloader-types.js","layer":"ssr"},"startTime":1725023693179,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":20150,"timestamp":8211573556072,"id":963,"parentId":962,"tags":{},"startTime":1725023693179,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":16,"timestamp":8211573576274,"id":1054,"parentId":1053,"tags":{},"startTime":1725023693200,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573576346,"id":1055,"parentId":1053,"tags":{},"startTime":1725023693200,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":127,"timestamp":8211573576228,"id":1053,"parentId":962,"tags":{},"startTime":1725023693200,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpeg","duration":20418,"timestamp":8211573556054,"id":962,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/sasha_astiadi.jpeg","layer":"ssr"},"startTime":1725023693179,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":20494,"timestamp":8211573556010,"id":959,"parentId":958,"tags":{},"startTime":1725023693179,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":10,"timestamp":8211573576543,"id":1057,"parentId":1056,"tags":{},"startTime":1725023693200,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":1,"timestamp":8211573576586,"id":1058,"parentId":1056,"tags":{},"startTime":1725023693200,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":83,"timestamp":8211573576510,"id":1056,"parentId":958,"tags":{},"startTime":1725023693200,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-jpeg","duration":20856,"timestamp":8211573555981,"id":958,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/omrei_abumadi.jpeg","layer":"ssr"},"startTime":1725023693179,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8868,"timestamp":8211573568007,"id":1026,"parentId":1025,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8908,"timestamp":8211573567969,"id":1025,"parentId":1018,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11172,"timestamp":8211573567337,"id":1018,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js","layer":"ssr"},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":22472,"timestamp":8211573556046,"id":961,"parentId":960,"tags":{},"startTime":1725023693179,"traceId":"c0436940a62f44fd"},{"name":"image-size-calculation","duration":10,"timestamp":8211573578569,"id":1060,"parentId":1059,"tags":{},"startTime":1725023693202,"traceId":"c0436940a62f44fd"},{"name":"image-data-stringify","duration":2,"timestamp":8211573578615,"id":1061,"parentId":1059,"tags":{},"startTime":1725023693202,"traceId":"c0436940a62f44fd"},{"name":"next-image-loader","duration":95,"timestamp":8211573578528,"id":1059,"parentId":960,"tags":{},"startTime":1725023693202,"traceId":"c0436940a62f44fd"},{"name":"build-module-jpeg","duration":22706,"timestamp":8211573556026,"id":960,"parentId":555,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/images/avatars/victor_muhagachi.jpeg","layer":"ssr"},"startTime":1725023693179,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10701,"timestamp":8211573568079,"id":1036,"parentId":1035,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10714,"timestamp":8211573568068,"id":1035,"parentId":1023,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11888,"timestamp":8211573567490,"id":1023,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js","layer":"ssr"},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":22181,"timestamp":8211573557206,"id":968,"parentId":965,"tags":{},"startTime":1725023693181,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":52,"timestamp":8211573579393,"id":1062,"parentId":965,"tags":{},"startTime":1725023693203,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23563,"timestamp":8211573556154,"id":965,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js","layer":"ssr"},"startTime":1725023693180,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11692,"timestamp":8211573568066,"id":1034,"parentId":1033,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11706,"timestamp":8211573568055,"id":1033,"parentId":1022,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12981,"timestamp":8211573567462,"id":1022,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js","layer":"ssr"},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13292,"timestamp":8211573573359,"id":1049,"parentId":1048,"tags":{},"startTime":1725023693197,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13336,"timestamp":8211573573323,"id":1048,"parentId":1046,"tags":{},"startTime":1725023693197,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14755,"timestamp":8211573572526,"id":1046,"parentId":873,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/apply-flight-data.js","layer":"ssr"},"startTime":1725023693196,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13925,"timestamp":8211573573378,"id":1051,"parentId":1050,"tags":{},"startTime":1725023693197,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13941,"timestamp":8211573573363,"id":1050,"parentId":1047,"tags":{},"startTime":1725023693197,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15103,"timestamp":8211573572600,"id":1047,"parentId":872,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js","layer":"ssr"},"startTime":1725023693196,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":24420,"timestamp":8211573563995,"id":990,"parentId":989,"tags":{},"startTime":1725023693187,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5733,"timestamp":8211573582848,"id":1076,"parentId":1075,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5748,"timestamp":8211573582835,"id":1075,"parentId":1065,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6874,"timestamp":8211573582225,"id":1065,"parentId":940,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js","layer":"ssr"},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6287,"timestamp":8211573582833,"id":1074,"parentId":1073,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6305,"timestamp":8211573582817,"id":1073,"parentId":1064,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7436,"timestamp":8211573582186,"id":1064,"parentId":940,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js","layer":"ssr"},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6783,"timestamp":8211573582861,"id":1078,"parentId":1077,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6796,"timestamp":8211573582849,"id":1077,"parentId":1066,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7978,"timestamp":8211573582257,"id":1066,"parentId":940,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js","layer":"ssr"},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10689,"timestamp":8211573582874,"id":1080,"parentId":1079,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10704,"timestamp":8211573582863,"id":1079,"parentId":1067,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11909,"timestamp":8211573582286,"id":1067,"parentId":940,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js","layer":"ssr"},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11341,"timestamp":8211573582887,"id":1082,"parentId":1081,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11354,"timestamp":8211573582876,"id":1081,"parentId":1068,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12963,"timestamp":8211573582315,"id":1068,"parentId":940,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js","layer":"ssr"},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12569,"timestamp":8211573582814,"id":1072,"parentId":1071,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12614,"timestamp":8211573582771,"id":1071,"parentId":1063,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14749,"timestamp":8211573582084,"id":1063,"parentId":940,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js","layer":"ssr"},"startTime":1725023693205,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14020,"timestamp":8211573582903,"id":1084,"parentId":1083,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14037,"timestamp":8211573582888,"id":1083,"parentId":1069,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15373,"timestamp":8211573582345,"id":1069,"parentId":939,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","layer":"ssr"},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14918,"timestamp":8211573582918,"id":1086,"parentId":1085,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14933,"timestamp":8211573582905,"id":1085,"parentId":1070,"tags":{},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15702,"timestamp":8211573582376,"id":1070,"parentId":939,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","layer":"ssr"},"startTime":1725023693206,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":30163,"timestamp":8211573567928,"id":1024,"parentId":1017,"tags":{},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":56,"timestamp":8211573598100,"id":1089,"parentId":1017,"tags":{},"startTime":1725023693221,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":31423,"timestamp":8211573567223,"id":1017,"parentId":559,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_interop_require_wildcard.js","layer":"ssr"},"startTime":1725023693191,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2401,"timestamp":8211573602930,"id":1100,"parentId":1099,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2425,"timestamp":8211573602914,"id":1099,"parentId":1091,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5069,"timestamp":8211573600868,"id":1091,"parentId":912,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js","layer":"ssr"},"startTime":1725023693224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3014,"timestamp":8211573602945,"id":1102,"parentId":1101,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3028,"timestamp":8211573602932,"id":1101,"parentId":1092,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5460,"timestamp":8211573600906,"id":1092,"parentId":912,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js","layer":"ssr"},"startTime":1725023693224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3476,"timestamp":8211573602911,"id":1098,"parentId":1097,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3520,"timestamp":8211573602868,"id":1097,"parentId":1090,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5951,"timestamp":8211573600790,"id":1090,"parentId":912,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js","layer":"ssr"},"startTime":1725023693224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9831,"timestamp":8211573602959,"id":1104,"parentId":1103,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9851,"timestamp":8211573602947,"id":1103,"parentId":1093,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12486,"timestamp":8211573600937,"id":1093,"parentId":912,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js","layer":"ssr"},"startTime":1725023693224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12491,"timestamp":8211573602986,"id":1108,"parentId":1107,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12506,"timestamp":8211573602974,"id":1107,"parentId":1095,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15012,"timestamp":8211573601001,"id":1095,"parentId":912,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js","layer":"ssr"},"startTime":1725023693224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13063,"timestamp":8211573602973,"id":1106,"parentId":1105,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13077,"timestamp":8211573602961,"id":1105,"parentId":1094,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15609,"timestamp":8211573600971,"id":1094,"parentId":912,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js","layer":"ssr"},"startTime":1725023693224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13624,"timestamp":8211573602999,"id":1110,"parentId":1109,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13637,"timestamp":8211573602987,"id":1109,"parentId":1096,"tags":{},"startTime":1725023693226,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16933,"timestamp":8211573601030,"id":1096,"parentId":912,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js","layer":"ssr"},"startTime":1725023693224,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":31673,"timestamp":8211573591539,"id":1088,"parentId":1087,"tags":{},"startTime":1725023693215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":61,"timestamp":8211573623232,"id":1111,"parentId":1087,"tags":{},"startTime":1725023693247,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":32862,"timestamp":8211573590653,"id":1087,"parentId":694,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js","layer":"ssr"},"startTime":1725023693214,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3767,"timestamp":8211573624840,"id":1123,"parentId":1122,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3819,"timestamp":8211573624797,"id":1122,"parentId":1112,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5053,"timestamp":8211573624203,"id":1112,"parentId":1020,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/is-hydration-error.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4404,"timestamp":8211573624875,"id":1127,"parentId":1126,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4419,"timestamp":8211573624862,"id":1126,"parentId":1114,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5363,"timestamp":8211573624343,"id":1114,"parentId":1022,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4866,"timestamp":8211573624860,"id":1125,"parentId":1124,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4885,"timestamp":8211573624843,"id":1124,"parentId":1113,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5876,"timestamp":8211573624299,"id":1113,"parentId":1020,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5301,"timestamp":8211573624894,"id":1129,"parentId":1128,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5320,"timestamp":8211573624876,"id":1128,"parentId":1115,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6288,"timestamp":8211573624379,"id":1115,"parentId":1046,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5737,"timestamp":8211573624946,"id":1137,"parentId":1136,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5750,"timestamp":8211573624935,"id":1136,"parentId":1119,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6484,"timestamp":8211573624502,"id":1119,"parentId":1064,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6102,"timestamp":8211573624908,"id":1131,"parentId":1130,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6116,"timestamp":8211573624896,"id":1130,"parentId":1116,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7218,"timestamp":8211573624415,"id":1116,"parentId":1047,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/promise-queue.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8534,"timestamp":8211573624933,"id":1135,"parentId":1134,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8550,"timestamp":8211573624922,"id":1134,"parentId":1118,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9772,"timestamp":8211573624474,"id":1118,"parentId":1064,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9420,"timestamp":8211573624970,"id":1141,"parentId":1140,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9434,"timestamp":8211573624959,"id":1140,"parentId":1121,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10159,"timestamp":8211573624557,"id":1121,"parentId":1064,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10547,"timestamp":8211573624958,"id":1139,"parentId":1138,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-loader","duration":10710,"timestamp":8211573624947,"id":1138,"parentId":1120,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11730,"timestamp":8211573624530,"id":1120,"parentId":1064,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/handle-mutable.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11426,"timestamp":8211573624921,"id":1133,"parentId":1132,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11439,"timestamp":8211573624909,"id":1132,"parentId":1117,"tags":{},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13809,"timestamp":8211573624445,"id":1117,"parentId":1065,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js","layer":"ssr"},"startTime":1725023693248,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6613,"timestamp":8211573632635,"id":1153,"parentId":1152,"tags":{},"startTime":1725023693256,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6628,"timestamp":8211573632623,"id":1152,"parentId":1145,"tags":{},"startTime":1725023693256,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7617,"timestamp":8211573632024,"id":1145,"parentId":1091,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js","layer":"ssr"},"startTime":1725023693255,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8471,"timestamp":8211573632587,"id":1147,"parentId":1146,"tags":{},"startTime":1725023693256,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8518,"timestamp":8211573632546,"id":1146,"parentId":1142,"tags":{},"startTime":1725023693256,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9809,"timestamp":8211573631856,"id":1142,"parentId":1063,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js","layer":"ssr"},"startTime":1725023693255,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9069,"timestamp":8211573632621,"id":1151,"parentId":1150,"tags":{},"startTime":1725023693256,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9084,"timestamp":8211573632609,"id":1150,"parentId":1144,"tags":{},"startTime":1725023693256,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10141,"timestamp":8211573631991,"id":1144,"parentId":1063,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js","layer":"ssr"},"startTime":1725023693255,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9542,"timestamp":8211573632607,"id":1149,"parentId":1148,"tags":{},"startTime":1725023693256,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9560,"timestamp":8211573632591,"id":1148,"parentId":1143,"tags":{},"startTime":1725023693256,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10488,"timestamp":8211573631951,"id":1143,"parentId":1063,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js","layer":"ssr"},"startTime":1725023693255,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3086,"timestamp":8211573644190,"id":1157,"parentId":1156,"tags":{},"startTime":1725023693268,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3137,"timestamp":8211573644149,"id":1156,"parentId":1154,"tags":{},"startTime":1725023693268,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4498,"timestamp":8211573643628,"id":1154,"parentId":1096,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/error-source.js","layer":"ssr"},"startTime":1725023693267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3969,"timestamp":8211573644211,"id":1159,"parentId":1158,"tags":{},"startTime":1725023693268,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3989,"timestamp":8211573644194,"id":1158,"parentId":1155,"tags":{},"startTime":1725023693268,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4985,"timestamp":8211573643775,"id":1155,"parentId":1096,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js","layer":"ssr"},"startTime":1725023693267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3778,"timestamp":8211573646207,"id":1165,"parentId":1164,"tags":{},"startTime":1725023693270,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3815,"timestamp":8211573646176,"id":1164,"parentId":1160,"tags":{},"startTime":1725023693270,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4525,"timestamp":8211573645978,"id":1160,"parentId":1092,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js","layer":"ssr"},"startTime":1725023693269,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4365,"timestamp":8211573646252,"id":1171,"parentId":1170,"tags":{},"startTime":1725023693270,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4379,"timestamp":8211573646240,"id":1170,"parentId":1163,"tags":{},"startTime":1725023693270,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4837,"timestamp":8211573646118,"id":1163,"parentId":1092,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js","layer":"ssr"},"startTime":1725023693269,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4814,"timestamp":8211573646239,"id":1169,"parentId":1168,"tags":{},"startTime":1725023693270,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4829,"timestamp":8211573646226,"id":1168,"parentId":1162,"tags":{},"startTime":1725023693270,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5276,"timestamp":8211573646087,"id":1162,"parentId":1092,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js","layer":"ssr"},"startTime":1725023693269,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5814,"timestamp":8211573646225,"id":1167,"parentId":1166,"tags":{},"startTime":1725023693270,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5834,"timestamp":8211573646210,"id":1166,"parentId":1161,"tags":{},"startTime":1725023693270,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6467,"timestamp":8211573646052,"id":1161,"parentId":1092,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js","layer":"ssr"},"startTime":1725023693269,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5777,"timestamp":8211573649335,"id":1175,"parentId":1174,"tags":{},"startTime":1725023693273,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5819,"timestamp":8211573649299,"id":1174,"parentId":1172,"tags":{},"startTime":1725023693273,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6616,"timestamp":8211573649047,"id":1172,"parentId":1096,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js","layer":"ssr"},"startTime":1725023693272,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7969,"timestamp":8211573649353,"id":1177,"parentId":1176,"tags":{},"startTime":1725023693273,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8021,"timestamp":8211573649338,"id":1176,"parentId":1173,"tags":{},"startTime":1725023693273,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9951,"timestamp":8211573649125,"id":1173,"parentId":1096,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js","layer":"ssr"},"startTime":1725023693272,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5922,"timestamp":8211573653318,"id":1182,"parentId":1181,"tags":{},"startTime":1725023693277,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5971,"timestamp":8211573653272,"id":1181,"parentId":1179,"tags":{},"startTime":1725023693277,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6722,"timestamp":8211573652924,"id":1179,"parentId":1115,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js","layer":"ssr"},"startTime":1725023693276,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1587,"timestamp":8211573668087,"id":1184,"parentId":1183,"tags":{},"startTime":1725023693291,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1672,"timestamp":8211573668023,"id":1183,"parentId":989,"tags":{},"startTime":1725023693291,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":106118,"timestamp":8211573563936,"id":989,"parentId":556,"tags":{"name":"__barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/headlessui.esm.js","layer":"ssr"},"startTime":1725023693187,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":17253,"timestamp":8211573653255,"id":1180,"parentId":1178,"tags":{},"startTime":1725023693277,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":56,"timestamp":8211573670520,"id":1191,"parentId":1178,"tags":{},"startTime":1725023693294,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18452,"timestamp":8211573652783,"id":1178,"parentId":1112,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/is-error.js","layer":"ssr"},"startTime":1725023693276,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4251,"timestamp":8211573668952,"id":1188,"parentId":1187,"tags":{},"startTime":1725023693292,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4307,"timestamp":8211573668924,"id":1187,"parentId":1185,"tags":{},"startTime":1725023693292,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5112,"timestamp":8211573668780,"id":1185,"parentId":717,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/strip-ansi/index.js","layer":"ssr"},"startTime":1725023693292,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4966,"timestamp":8211573668971,"id":1190,"parentId":1189,"tags":{},"startTime":1725023693292,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4984,"timestamp":8211573668955,"id":1189,"parentId":1186,"tags":{},"startTime":1725023693292,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6317,"timestamp":8211573668868,"id":1186,"parentId":1155,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js","layer":"ssr"},"startTime":1725023693292,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4961,"timestamp":8211573671700,"id":1194,"parentId":1193,"tags":{},"startTime":1725023693295,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5005,"timestamp":8211573671661,"id":1193,"parentId":1192,"tags":{},"startTime":1725023693295,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6420,"timestamp":8211573671382,"id":1192,"parentId":1092,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js","layer":"ssr"},"startTime":1725023693295,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4658,"timestamp":8211573675763,"id":1203,"parentId":1202,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4684,"timestamp":8211573675747,"id":1202,"parentId":1196,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5423,"timestamp":8211573675457,"id":1196,"parentId":1095,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js","layer":"ssr"},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5106,"timestamp":8211573675793,"id":1207,"parentId":1206,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5120,"timestamp":8211573675781,"id":1206,"parentId":1198,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5688,"timestamp":8211573675531,"id":1198,"parentId":1096,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js","layer":"ssr"},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5725,"timestamp":8211573675743,"id":1201,"parentId":1200,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5769,"timestamp":8211573675702,"id":1200,"parentId":1195,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6338,"timestamp":8211573675359,"id":1195,"parentId":1022,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/noop-turbopack-hmr.js","layer":"ssr"},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5959,"timestamp":8211573675779,"id":1205,"parentId":1204,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5974,"timestamp":8211573675766,"id":1204,"parentId":1197,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6455,"timestamp":8211573675498,"id":1197,"parentId":1094,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js","layer":"ssr"},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6165,"timestamp":8211573675807,"id":1209,"parentId":1208,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6179,"timestamp":8211573675795,"id":1208,"parentId":1199,"tags":{},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6656,"timestamp":8211573675615,"id":1199,"parentId":1173,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js","layer":"ssr"},"startTime":1725023693299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3597,"timestamp":8211573678772,"id":1214,"parentId":1213,"tags":{},"startTime":1725023693302,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3645,"timestamp":8211573678726,"id":1213,"parentId":1210,"tags":{},"startTime":1725023693302,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4662,"timestamp":8211573678010,"id":1210,"parentId":1092,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js","layer":"ssr"},"startTime":1725023693301,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3896,"timestamp":8211573678793,"id":1216,"parentId":1215,"tags":{},"startTime":1725023693302,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3914,"timestamp":8211573678776,"id":1215,"parentId":1211,"tags":{},"startTime":1725023693302,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4882,"timestamp":8211573678105,"id":1211,"parentId":1092,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js","layer":"ssr"},"startTime":1725023693301,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4195,"timestamp":8211573678808,"id":1218,"parentId":1217,"tags":{},"startTime":1725023693302,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4210,"timestamp":8211573678794,"id":1217,"parentId":1212,"tags":{},"startTime":1725023693302,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5101,"timestamp":8211573678145,"id":1212,"parentId":1092,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js","layer":"ssr"},"startTime":1725023693302,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2934,"timestamp":8211573684323,"id":1221,"parentId":1220,"tags":{},"startTime":1725023693308,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2986,"timestamp":8211573684279,"id":1220,"parentId":1219,"tags":{},"startTime":1725023693308,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4724,"timestamp":8211573683603,"id":1219,"parentId":1095,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js","layer":"ssr"},"startTime":1725023693307,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5265,"timestamp":8211573686992,"id":1224,"parentId":1223,"tags":{},"startTime":1725023693310,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5314,"timestamp":8211573686952,"id":1223,"parentId":1222,"tags":{},"startTime":1725023693310,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5907,"timestamp":8211573686838,"id":1222,"parentId":1178,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/is-plain-object.js","layer":"ssr"},"startTime":1725023693310,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2685,"timestamp":8211573690111,"id":1228,"parentId":1227,"tags":{},"startTime":1725023693313,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2732,"timestamp":8211573690066,"id":1227,"parentId":1225,"tags":{},"startTime":1725023693313,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3445,"timestamp":8211573689674,"id":1225,"parentId":1192,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js","layer":"ssr"},"startTime":1725023693313,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6438,"timestamp":8211573690132,"id":1230,"parentId":1229,"tags":{},"startTime":1725023693313,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6464,"timestamp":8211573690115,"id":1229,"parentId":1226,"tags":{},"startTime":1725023693313,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7935,"timestamp":8211573689778,"id":1226,"parentId":1192,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js","layer":"ssr"},"startTime":1725023693313,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4465,"timestamp":8211573695297,"id":1244,"parentId":1243,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4523,"timestamp":8211573695247,"id":1243,"parentId":1231,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5804,"timestamp":8211573694762,"id":1231,"parentId":1196,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5257,"timestamp":8211573695346,"id":1250,"parentId":1249,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5272,"timestamp":8211573695334,"id":1249,"parentId":1234,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6212,"timestamp":8211573694933,"id":1234,"parentId":1210,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-transform","duration":5954,"timestamp":8211573695359,"id":1252,"parentId":1251,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5968,"timestamp":8211573695347,"id":1251,"parentId":1235,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6635,"timestamp":8211573694962,"id":1235,"parentId":1210,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6240,"timestamp":8211573695372,"id":1254,"parentId":1253,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6253,"timestamp":8211573695361,"id":1253,"parentId":1236,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6874,"timestamp":8211573694993,"id":1236,"parentId":1210,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6578,"timestamp":8211573695317,"id":1246,"parentId":1245,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6596,"timestamp":8211573695300,"id":1245,"parentId":1232,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7650,"timestamp":8211573694863,"id":1232,"parentId":1198,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7257,"timestamp":8211573695331,"id":1248,"parentId":1247,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7272,"timestamp":8211573695318,"id":1247,"parentId":1233,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8422,"timestamp":8211573694900,"id":1233,"parentId":1197,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7951,"timestamp":8211573695385,"id":1256,"parentId":1255,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7964,"timestamp":8211573695374,"id":1255,"parentId":1237,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8565,"timestamp":8211573695020,"id":1237,"parentId":1210,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16813,"timestamp":8211573695411,"id":1260,"parentId":1259,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16830,"timestamp":8211573695399,"id":1259,"parentId":1239,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17544,"timestamp":8211573695085,"id":1239,"parentId":1211,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17248,"timestamp":8211573695398,"id":1258,"parentId":1257,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17260,"timestamp":8211573695387,"id":1257,"parentId":1238,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17874,"timestamp":8211573695053,"id":1238,"parentId":1210,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17850,"timestamp":8211573695429,"id":1262,"parentId":1261,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17869,"timestamp":8211573695412,"id":1261,"parentId":1240,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18547,"timestamp":8211573695118,"id":1240,"parentId":1211,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js","layer":"ssr"},"startTime":1725023693318,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18419,"timestamp":8211573695443,"id":1264,"parentId":1263,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18436,"timestamp":8211573695431,"id":1263,"parentId":1241,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19078,"timestamp":8211573695151,"id":1241,"parentId":1212,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js","layer":"ssr"},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18817,"timestamp":8211573695456,"id":1266,"parentId":1265,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18831,"timestamp":8211573695445,"id":1265,"parentId":1242,"tags":{},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19712,"timestamp":8211573695176,"id":1242,"parentId":1212,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js","layer":"ssr"},"startTime":1725023693319,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2225,"timestamp":8211573723900,"id":1271,"parentId":1270,"tags":{},"startTime":1725023693347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2279,"timestamp":8211573723854,"id":1270,"parentId":1268,"tags":{},"startTime":1725023693347,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3227,"timestamp":8211573723734,"id":1268,"parentId":1219,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/magic-identifier.js","layer":"ssr"},"startTime":1725023693347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2197,"timestamp":8211573725146,"id":1280,"parentId":1279,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2228,"timestamp":8211573725118,"id":1279,"parentId":1274,"tags":{},"startTime":1725023693348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3100,"timestamp":8211573724945,"id":1274,"parentId":1226,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js","layer":"ssr"},"startTime":1725023693348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3201,"timestamp":8211573725164,"id":1282,"parentId":1281,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3219,"timestamp":8211573725148,"id":1281,"parentId":1275,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3825,"timestamp":8211573724995,"id":1275,"parentId":1226,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js","layer":"ssr"},"startTime":1725023693348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4089,"timestamp":8211573725194,"id":1286,"parentId":1285,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4104,"timestamp":8211573725182,"id":1285,"parentId":1277,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4625,"timestamp":8211573725059,"id":1277,"parentId":1231,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js","layer":"ssr"},"startTime":1725023693348,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5904,"timestamp":8211573723790,"id":1269,"parentId":1267,"tags":{},"startTime":1725023693347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":54,"timestamp":8211573729703,"id":1295,"parentId":1267,"tags":{},"startTime":1725023693353,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7082,"timestamp":8211573723598,"id":1267,"parentId":1019,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","layer":"ssr"},"startTime":1725023693347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5839,"timestamp":8211573726019,"id":1292,"parentId":1291,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5865,"timestamp":8211573725996,"id":1291,"parentId":1289,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6208,"timestamp":8211573725921,"id":1289,"parentId":1192,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js","layer":"ssr"},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6113,"timestamp":8211573726034,"id":1294,"parentId":1293,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6128,"timestamp":8211573726021,"id":1293,"parentId":1290,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6521,"timestamp":8211573725965,"id":1290,"parentId":1234,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js","layer":"ssr"},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7301,"timestamp":8211573725208,"id":1288,"parentId":1287,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7315,"timestamp":8211573725195,"id":1287,"parentId":1278,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7838,"timestamp":8211573725088,"id":1278,"parentId":1233,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js","layer":"ssr"},"startTime":1725023693348,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8312,"timestamp":8211573724669,"id":1273,"parentId":1272,"tags":{},"startTime":1725023693348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":53,"timestamp":8211573732991,"id":1296,"parentId":1272,"tags":{},"startTime":1725023693356,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8737,"timestamp":8211573724574,"id":1272,"parentId":1091,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js","layer":"ssr"},"startTime":1725023693348,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2047,"timestamp":8211573734301,"id":1301,"parentId":1298,"tags":{},"startTime":1725023693358,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573736361,"id":1307,"parentId":1298,"tags":{},"startTime":1725023693360,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3281,"timestamp":8211573733657,"id":1298,"parentId":1116,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_class_private_field_loose_base.js","layer":"ssr"},"startTime":1725023693357,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2891,"timestamp":8211573734282,"id":1300,"parentId":1297,"tags":{},"startTime":1725023693358,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":51,"timestamp":8211573737182,"id":1311,"parentId":1297,"tags":{},"startTime":1725023693361,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3917,"timestamp":8211573733534,"id":1297,"parentId":1116,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_class_private_field_loose_key.js","layer":"ssr"},"startTime":1725023693357,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1386,"timestamp":8211573736130,"id":1306,"parentId":1305,"tags":{},"startTime":1725023693359,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1424,"timestamp":8211573736094,"id":1305,"parentId":1304,"tags":{},"startTime":1725023693359,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1989,"timestamp":8211573736022,"id":1304,"parentId":1275,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js","layer":"ssr"},"startTime":1725023693359,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2615,"timestamp":8211573737084,"id":1310,"parentId":1309,"tags":{},"startTime":1725023693360,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2653,"timestamp":8211573737051,"id":1309,"parentId":1308,"tags":{},"startTime":1725023693360,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3625,"timestamp":8211573736969,"id":1308,"parentId":1289,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js","layer":"ssr"},"startTime":1725023693360,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6322,"timestamp":8211573734362,"id":1303,"parentId":1302,"tags":{},"startTime":1725023693358,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6370,"timestamp":8211573734316,"id":1302,"parentId":1299,"tags":{},"startTime":1725023693358,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10127,"timestamp":8211573733734,"id":1299,"parentId":989,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/tabs/tabs.js","layer":"ssr"},"startTime":1725023693357,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":26674,"timestamp":8211573725180,"id":1284,"parentId":1283,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":26695,"timestamp":8211573725166,"id":1283,"parentId":1276,"tags":{},"startTime":1725023693349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":36112,"timestamp":8211573725028,"id":1276,"parentId":1231,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js","layer":"ssr"},"startTime":1725023693348,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":18794,"timestamp":8211573745159,"id":1313,"parentId":1312,"tags":{},"startTime":1725023693369,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":55,"timestamp":8211573763966,"id":1317,"parentId":1312,"tags":{},"startTime":1725023693387,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21775,"timestamp":8211573744257,"id":1312,"parentId":1233,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/anser/index.js","layer":"ssr"},"startTime":1725023693368,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3737,"timestamp":8211573762781,"id":1316,"parentId":1315,"tags":{},"startTime":1725023693386,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3786,"timestamp":8211573762736,"id":1315,"parentId":1314,"tags":{},"startTime":1725023693386,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4151,"timestamp":8211573762638,"id":1314,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/keyboard.js","layer":"ssr"},"startTime":1725023693386,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1169,"timestamp":8211573767522,"id":1336,"parentId":1335,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1198,"timestamp":8211573767500,"id":1335,"parentId":1319,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2182,"timestamp":8211573766958,"id":1319,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-event.js","layer":"ssr"},"startTime":1725023693390,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2628,"timestamp":8211573767561,"id":1340,"parentId":1339,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2650,"timestamp":8211573767543,"id":1339,"parentId":1321,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3509,"timestamp":8211573767041,"id":1321,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js","layer":"ssr"},"startTime":1725023693390,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3038,"timestamp":8211573767542,"id":1338,"parentId":1337,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3058,"timestamp":8211573767524,"id":1337,"parentId":1320,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3781,"timestamp":8211573767002,"id":1320,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-id.js","layer":"ssr"},"startTime":1725023693390,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3318,"timestamp":8211573767496,"id":1334,"parentId":1333,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3361,"timestamp":8211573767455,"id":1333,"parentId":1318,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4487,"timestamp":8211573766867,"id":1318,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-active-press.js","layer":"ssr"},"startTime":1725023693390,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3768,"timestamp":8211573767615,"id":1346,"parentId":1345,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3787,"timestamp":8211573767599,"id":1345,"parentId":1324,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4719,"timestamp":8211573767144,"id":1324,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js","layer":"ssr"},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4302,"timestamp":8211573767579,"id":1342,"parentId":1341,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4321,"timestamp":8211573767562,"id":1341,"parentId":1322,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4991,"timestamp":8211573767076,"id":1322,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-latest-value.js","layer":"ssr"},"startTime":1725023693390,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4487,"timestamp":8211573767598,"id":1344,"parentId":1343,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4505,"timestamp":8211573767581,"id":1343,"parentId":1323,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-js","duration":5383,"timestamp":8211573767111,"id":1323,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js","layer":"ssr"},"startTime":1725023693390,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7933,"timestamp":8211573767634,"id":1348,"parentId":1347,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7956,"timestamp":8211573767617,"id":1347,"parentId":1325,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8923,"timestamp":8211573767177,"id":1325,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/internal/focus-sentinel.js","layer":"ssr"},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8484,"timestamp":8211573767652,"id":1350,"parentId":1349,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8503,"timestamp":8211573767635,"id":1349,"parentId":1326,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9285,"timestamp":8211573767211,"id":1326,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/internal/hidden.js","layer":"ssr"},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8806,"timestamp":8211573767706,"id":1356,"parentId":1355,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8824,"timestamp":8211573767689,"id":1355,"parentId":1329,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9372,"timestamp":8211573767320,"id":1329,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/micro-task.js","layer":"ssr"},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9019,"timestamp":8211573767688,"id":1354,"parentId":1353,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9036,"timestamp":8211573767672,"id":1353,"parentId":1328,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9640,"timestamp":8211573767280,"id":1328,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/match.js","layer":"ssr"},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9210,"timestamp":8211573767724,"id":1358,"parentId":1357,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9227,"timestamp":8211573767708,"id":1357,"parentId":1330,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9758,"timestamp":8211573767352,"id":1330,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/owner.js","layer":"ssr"},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9615,"timestamp":8211573767670,"id":1352,"parentId":1351,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9634,"timestamp":8211573767654,"id":1351,"parentId":1327,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11420,"timestamp":8211573767247,"id":1327,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/focus-management.js","layer":"ssr"},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10932,"timestamp":8211573767758,"id":1362,"parentId":1361,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10950,"timestamp":8211573767742,"id":1361,"parentId":1332,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11697,"timestamp":8211573767417,"id":1332,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/stable-collection.js","layer":"ssr"},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11436,"timestamp":8211573767741,"id":1360,"parentId":1359,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11453,"timestamp":8211573767725,"id":1359,"parentId":1331,"tags":{},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13233,"timestamp":8211573767383,"id":1331,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/render.js","layer":"ssr"},"startTime":1725023693391,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1328,"timestamp":8211573784023,"id":1368,"parentId":1367,"tags":{},"startTime":1725023693407,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1359,"timestamp":8211573784001,"id":1367,"parentId":1364,"tags":{},"startTime":1725023693407,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1899,"timestamp":8211573783882,"id":1364,"parentId":1318,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-disposables.js","layer":"ssr"},"startTime":1725023693407,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2018,"timestamp":8211573784341,"id":1373,"parentId":1372,"tags":{},"startTime":1725023693408,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2044,"timestamp":8211573784318,"id":1372,"parentId":1369,"tags":{},"startTime":1725023693408,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2427,"timestamp":8211573784189,"id":1369,"parentId":1325,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js","layer":"ssr"},"startTime":1725023693408,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2408,"timestamp":8211573784361,"id":1375,"parentId":1374,"tags":{},"startTime":1725023693408,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2428,"timestamp":8211573784343,"id":1374,"parentId":1370,"tags":{},"startTime":1725023693408,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3002,"timestamp":8211573784236,"id":1370,"parentId":1327,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/disposables.js","layer":"ssr"},"startTime":1725023693408,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3266,"timestamp":8211573783997,"id":1366,"parentId":1365,"tags":{},"startTime":1725023693407,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3314,"timestamp":8211573783951,"id":1365,"parentId":1363,"tags":{},"startTime":1725023693407,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3949,"timestamp":8211573783791,"id":1363,"parentId":1321,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/env.js","layer":"ssr"},"startTime":1725023693407,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3378,"timestamp":8211573784380,"id":1377,"parentId":1376,"tags":{},"startTime":1725023693408,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3397,"timestamp":8211573784363,"id":1376,"parentId":1371,"tags":{},"startTime":1725023693408,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3641,"timestamp":8211573784280,"id":1371,"parentId":1331,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/class-names.js","layer":"ssr"},"startTime":1725023693408,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":362,"timestamp":8211573789968,"id":1379,"parentId":1378,"tags":{},"startTime":1725023693413,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":98,"timestamp":8211573790339,"id":1382,"parentId":1378,"tags":{},"startTime":1725023693414,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6368,"timestamp":8211573789849,"id":1378,"parentId":1276,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/platform/platform.js","layer":"ssr"},"startTime":1725023693413,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":6590,"timestamp":8211573790091,"id":1381,"parentId":1380,"tags":{},"startTime":1725023693413,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":54,"timestamp":8211573796693,"id":1383,"parentId":1380,"tags":{},"startTime":1725023693420,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7297,"timestamp":8211573790012,"id":1380,"parentId":1276,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/css.escape/css.escape.js","layer":"ssr"},"startTime":1725023693413,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":941,"timestamp":8211573797502,"id":1385,"parentId":1384,"tags":{},"startTime":1725023693421,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573798452,"id":1388,"parentId":1384,"tags":{},"startTime":1725023693422,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":1525,"timestamp":8211573797354,"id":1384,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/focus/dist/import.mjs","layer":"ssr"},"startTime":1725023693421,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1391,"timestamp":8211573798066,"id":1387,"parentId":1386,"tags":{},"startTime":1725023693421,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573799465,"id":1389,"parentId":1386,"tags":{},"startTime":1725023693423,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":2152,"timestamp":8211573797740,"id":1386,"parentId":1299,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/import.mjs","layer":"ssr"},"startTime":1725023693421,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1744,"timestamp":8211573804847,"id":1395,"parentId":1391,"tags":{},"startTime":1725023693428,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573806606,"id":1426,"parentId":1391,"tags":{},"startTime":1725023693430,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":2599,"timestamp":8211573804619,"id":1391,"parentId":1384,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/focus/dist/FocusRing.mjs","layer":"ssr"},"startTime":1725023693428,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2371,"timestamp":8211573804861,"id":1397,"parentId":1393,"tags":{},"startTime":1725023693428,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":46,"timestamp":8211573807238,"id":1427,"parentId":1393,"tags":{},"startTime":1725023693431,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":2903,"timestamp":8211573804756,"id":1393,"parentId":1384,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/focus/dist/useFocusRing.mjs","layer":"ssr"},"startTime":1725023693428,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2816,"timestamp":8211573804853,"id":1396,"parentId":1392,"tags":{},"startTime":1725023693428,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":45,"timestamp":8211573807674,"id":1428,"parentId":1392,"tags":{},"startTime":1725023693431,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":3503,"timestamp":8211573804691,"id":1392,"parentId":1384,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/focus/dist/useFocusable.mjs","layer":"ssr"},"startTime":1725023693428,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":4783,"timestamp":8211573804830,"id":1394,"parentId":1390,"tags":{},"startTime":1725023693428,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":81,"timestamp":8211573809620,"id":1429,"parentId":1390,"tags":{},"startTime":1725023693433,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":9610,"timestamp":8211573804496,"id":1390,"parentId":1384,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/focus/dist/FocusScope.mjs","layer":"ssr"},"startTime":1725023693428,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8242,"timestamp":8211573805886,"id":1412,"parentId":1399,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":53,"timestamp":8211573814136,"id":1430,"parentId":1399,"tags":{},"startTime":1725023693438,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":9434,"timestamp":8211573805137,"id":1399,"parentId":1384,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/focus/dist/useHasTabbableChild.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8704,"timestamp":8211573805877,"id":1411,"parentId":1398,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":44,"timestamp":8211573814587,"id":1431,"parentId":1398,"tags":{},"startTime":1725023693438,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":9806,"timestamp":8211573805063,"id":1398,"parentId":1384,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/focus/dist/focusSafely.mjs","layer":"ssr"},"startTime":1725023693428,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8975,"timestamp":8211573805904,"id":1415,"parentId":1402,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":44,"timestamp":8211573814885,"id":1432,"parentId":1402,"tags":{},"startTime":1725023693438,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":9937,"timestamp":8211573805326,"id":1402,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/useFocus.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9367,"timestamp":8211573805908,"id":1416,"parentId":1403,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":55,"timestamp":8211573815280,"id":1433,"parentId":1403,"tags":{},"startTime":1725023693439,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":11424,"timestamp":8211573805387,"id":1403,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/useFocusVisible.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":10909,"timestamp":8211573805912,"id":1417,"parentId":1404,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573816827,"id":1434,"parentId":1404,"tags":{},"startTime":1725023693440,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":11783,"timestamp":8211573805450,"id":1404,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/useFocusWithin.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":11345,"timestamp":8211573805897,"id":1414,"parentId":1401,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":46,"timestamp":8211573817248,"id":1435,"parentId":1401,"tags":{},"startTime":1725023693441,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":12496,"timestamp":8211573805264,"id":1401,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/PressResponder.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":11871,"timestamp":8211573805915,"id":1418,"parentId":1405,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":50,"timestamp":8211573817793,"id":1436,"parentId":1405,"tags":{},"startTime":1725023693441,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":13031,"timestamp":8211573805511,"id":1405,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/useHover.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":14748,"timestamp":8211573805919,"id":1419,"parentId":1406,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573820676,"id":1437,"parentId":1406,"tags":{},"startTime":1725023693444,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":15800,"timestamp":8211573805573,"id":1406,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/useInteractOutside.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":15460,"timestamp":8211573805925,"id":1421,"parentId":1408,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":57,"timestamp":8211573821391,"id":1438,"parentId":1408,"tags":{},"startTime":1725023693445,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":17170,"timestamp":8211573805699,"id":1408,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/useMove.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":16950,"timestamp":8211573805928,"id":1422,"parentId":1409,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":74,"timestamp":8211573822885,"id":1439,"parentId":1409,"tags":{},"startTime":1725023693446,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":26103,"timestamp":8211573805757,"id":1409,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/usePress.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":25857,"timestamp":8211573806037,"id":1425,"parentId":1424,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":66,"timestamp":8211573831907,"id":1440,"parentId":1424,"tags":{},"startTime":1725023693455,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":26627,"timestamp":8211573805973,"id":1424,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/useLongPress.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":26690,"timestamp":8211573805922,"id":1420,"parentId":1407,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573832619,"id":1441,"parentId":1407,"tags":{},"startTime":1725023693456,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":27211,"timestamp":8211573805637,"id":1407,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/useKeyboard.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":26926,"timestamp":8211573805931,"id":1423,"parentId":1410,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-loader","duration":45,"timestamp":8211573833003,"id":1442,"parentId":1410,"tags":{},"startTime":1725023693456,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":27462,"timestamp":8211573805816,"id":1410,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/useScrollWheel.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":27396,"timestamp":8211573805892,"id":1413,"parentId":1400,"tags":{},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":44,"timestamp":8211573833294,"id":1443,"parentId":1400,"tags":{},"startTime":1725023693457,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":28405,"timestamp":8211573805202,"id":1400,"parentId":1386,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/Pressable.mjs","layer":"ssr"},"startTime":1725023693429,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1310,"timestamp":8211573837547,"id":1449,"parentId":1446,"tags":{},"startTime":1725023693461,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":53,"timestamp":8211573838869,"id":1454,"parentId":1446,"tags":{},"startTime":1725023693462,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":1767,"timestamp":8211573837455,"id":1446,"parentId":1401,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/context.mjs","layer":"ssr"},"startTime":1725023693461,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1710,"timestamp":8211573837529,"id":1447,"parentId":1444,"tags":{},"startTime":1725023693461,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573839245,"id":1455,"parentId":1444,"tags":{},"startTime":1725023693463,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":2432,"timestamp":8211573837254,"id":1444,"parentId":1390,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/focus/dist/isElementVisible.mjs","layer":"ssr"},"startTime":1725023693461,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2522,"timestamp":8211573837542,"id":1448,"parentId":1445,"tags":{},"startTime":1725023693461,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573840071,"id":1456,"parentId":1445,"tags":{},"startTime":1725023693463,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":3418,"timestamp":8211573837382,"id":1445,"parentId":1402,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/utils.mjs","layer":"ssr"},"startTime":1725023693461,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2542,"timestamp":8211573838321,"id":1453,"parentId":1451,"tags":{},"startTime":1725023693462,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573840869,"id":1457,"parentId":1451,"tags":{},"startTime":1725023693464,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":2950,"timestamp":8211573838244,"id":1451,"parentId":1407,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/createEventHandler.mjs","layer":"ssr"},"startTime":1725023693462,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2938,"timestamp":8211573838313,"id":1452,"parentId":1450,"tags":{},"startTime":1725023693462,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573841257,"id":1458,"parentId":1450,"tags":{},"startTime":1725023693465,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":3532,"timestamp":8211573838167,"id":1450,"parentId":1408,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/interactions/dist/textSelection.mjs","layer":"ssr"},"startTime":1725023693462,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":976,"timestamp":8211573846823,"id":1462,"parentId":1460,"tags":{},"startTime":1725023693470,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":53,"timestamp":8211573847816,"id":1469,"parentId":1460,"tags":{},"startTime":1725023693471,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":1498,"timestamp":8211573846734,"id":1460,"parentId":1403,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/ssr/dist/import.mjs","layer":"ssr"},"startTime":1725023693470,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1624,"timestamp":8211573846811,"id":1461,"parentId":1459,"tags":{},"startTime":1725023693470,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":93,"timestamp":8211573848442,"id":1470,"parentId":1459,"tags":{},"startTime":1725023693472,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":2706,"timestamp":8211573846621,"id":1459,"parentId":1391,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/import.mjs","layer":"ssr"},"startTime":1725023693470,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":4147,"timestamp":8211573847494,"id":1464,"parentId":1463,"tags":{},"startTime":1725023693471,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":51,"timestamp":8211573851651,"id":1471,"parentId":1463,"tags":{},"startTime":1725023693475,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4606,"timestamp":8211573847415,"id":1463,"parentId":1409,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_class_private_field_get.js","layer":"ssr"},"startTime":1725023693471,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5070,"timestamp":8211573847677,"id":1467,"parentId":1465,"tags":{},"startTime":1725023693471,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":45,"timestamp":8211573852755,"id":1472,"parentId":1465,"tags":{},"startTime":1725023693476,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5468,"timestamp":8211573847542,"id":1465,"parentId":1409,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_class_private_field_set.js","layer":"ssr"},"startTime":1725023693471,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5334,"timestamp":8211573847686,"id":1468,"parentId":1466,"tags":{},"startTime":1725023693471,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":44,"timestamp":8211573853025,"id":1473,"parentId":1466,"tags":{},"startTime":1725023693476,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5610,"timestamp":8211573847611,"id":1466,"parentId":1409,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_class_private_field_init.js","layer":"ssr"},"startTime":1725023693471,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1980,"timestamp":8211573860227,"id":1511,"parentId":1479,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":54,"timestamp":8211573862222,"id":1546,"parentId":1479,"tags":{},"startTime":1725023693486,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":4146,"timestamp":8211573858571,"id":1479,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/mergeRefs.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2540,"timestamp":8211573860192,"id":1506,"parentId":1474,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":55,"timestamp":8211573862738,"id":1547,"parentId":1474,"tags":{},"startTime":1725023693486,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":5941,"timestamp":8211573858200,"id":1474,"parentId":1460,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/ssr/dist/SSRProvider.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3948,"timestamp":8211573860204,"id":1507,"parentId":1475,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573864159,"id":1548,"parentId":1475,"tags":{},"startTime":1725023693488,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":6403,"timestamp":8211573858315,"id":1475,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useId.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":4512,"timestamp":8211573860216,"id":1509,"parentId":1477,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43,"timestamp":8211573864734,"id":1549,"parentId":1477,"tags":{},"startTime":1725023693488,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":6521,"timestamp":8211573858446,"id":1477,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/domHelpers.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":4746,"timestamp":8211573860230,"id":1512,"parentId":1480,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":45,"timestamp":8211573864981,"id":1550,"parentId":1480,"tags":{},"startTime":1725023693488,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":6695,"timestamp":8211573858632,"id":1480,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/filterDOMProps.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5142,"timestamp":8211573860210,"id":1508,"parentId":1476,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":41,"timestamp":8211573865358,"id":1551,"parentId":1476,"tags":{},"startTime":1725023693489,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":7167,"timestamp":8211573858384,"id":1476,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/chain.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5320,"timestamp":8211573860238,"id":1514,"parentId":1482,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":41,"timestamp":8211573865563,"id":1552,"parentId":1482,"tags":{},"startTime":1725023693489,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":6978,"timestamp":8211573858761,"id":1482,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/getOffset.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5524,"timestamp":8211573860222,"id":1510,"parentId":1478,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":41,"timestamp":8211573865751,"id":1553,"parentId":1478,"tags":{},"startTime":1725023693489,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":7595,"timestamp":8211573858509,"id":1478,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/mergeProps.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5870,"timestamp":8211573860242,"id":1515,"parentId":1483,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573866117,"id":1554,"parentId":1483,"tags":{},"startTime":1725023693489,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":8118,"timestamp":8211573858820,"id":1483,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/openLink.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":6700,"timestamp":8211573860246,"id":1516,"parentId":1484,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":59,"timestamp":8211573866951,"id":1555,"parentId":1484,"tags":{},"startTime":1725023693490,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":8527,"timestamp":8211573858878,"id":1484,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/runAfterTransition.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7180,"timestamp":8211573860234,"id":1513,"parentId":1481,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573867419,"id":1556,"parentId":1481,"tags":{},"startTime":1725023693491,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":9206,"timestamp":8211573858698,"id":1481,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/focusWithoutScrolling.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7659,"timestamp":8211573860253,"id":1518,"parentId":1486,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":47,"timestamp":8211573867919,"id":1557,"parentId":1486,"tags":{},"startTime":1725023693491,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":9302,"timestamp":8211573859004,"id":1486,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useGlobalListeners.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8065,"timestamp":8211573860250,"id":1517,"parentId":1485,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":49,"timestamp":8211573868320,"id":1558,"parentId":1485,"tags":{},"startTime":1725023693492,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":10070,"timestamp":8211573858937,"id":1485,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useDrag1D.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8760,"timestamp":8211573860257,"id":1519,"parentId":1487,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":42,"timestamp":8211573869022,"id":1559,"parentId":1487,"tags":{},"startTime":1725023693492,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":10269,"timestamp":8211573859065,"id":1487,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useLabels.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9102,"timestamp":8211573860260,"id":1520,"parentId":1488,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":42,"timestamp":8211573869368,"id":1560,"parentId":1488,"tags":{},"startTime":1725023693493,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":10544,"timestamp":8211573859122,"id":1488,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useObjectRef.mjs","layer":"ssr"},"startTime":1725023693482,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9411,"timestamp":8211573860264,"id":1521,"parentId":1489,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":62,"timestamp":8211573869680,"id":1561,"parentId":1489,"tags":{},"startTime":1725023693493,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":10782,"timestamp":8211573859181,"id":1489,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useUpdateEffect.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9701,"timestamp":8211573860271,"id":1523,"parentId":1491,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":42,"timestamp":8211573869977,"id":1562,"parentId":1491,"tags":{},"startTime":1725023693493,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":10953,"timestamp":8211573859300,"id":1491,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useResizeObserver.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":9993,"timestamp":8211573860267,"id":1522,"parentId":1490,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":42,"timestamp":8211573870266,"id":1563,"parentId":1490,"tags":{},"startTime":1725023693494,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":11196,"timestamp":8211573859241,"id":1490,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useLayoutEffect.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":10167,"timestamp":8211573860277,"id":1525,"parentId":1493,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":42,"timestamp":8211573870449,"id":1564,"parentId":1493,"tags":{},"startTime":1725023693494,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":11243,"timestamp":8211573859416,"id":1493,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/getScrollParent.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":10386,"timestamp":8211573860280,"id":1526,"parentId":1494,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43,"timestamp":8211573870671,"id":1565,"parentId":1494,"tags":{},"startTime":1725023693494,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":11382,"timestamp":8211573859476,"id":1494,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/getScrollParents.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":10593,"timestamp":8211573860274,"id":1524,"parentId":1492,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":40,"timestamp":8211573870871,"id":1566,"parentId":1492,"tags":{},"startTime":1725023693494,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":11703,"timestamp":8211573859359,"id":1492,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useSyncRef.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":10785,"timestamp":8211573860284,"id":1527,"parentId":1495,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":40,"timestamp":8211573871074,"id":1567,"parentId":1495,"tags":{},"startTime":1725023693494,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":11764,"timestamp":8211573859535,"id":1495,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/isScrollable.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"}] -[{"name":"read-resource","duration":11133,"timestamp":8211573860290,"id":1529,"parentId":1497,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43,"timestamp":8211573871429,"id":1568,"parentId":1497,"tags":{},"startTime":1725023693495,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":12136,"timestamp":8211573859653,"id":1497,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useDescription.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":11498,"timestamp":8211573860300,"id":1532,"parentId":1500,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43,"timestamp":8211573871803,"id":1569,"parentId":1500,"tags":{},"startTime":1725023693495,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":12292,"timestamp":8211573859832,"id":1500,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useValueEffect.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":11844,"timestamp":8211573860287,"id":1528,"parentId":1496,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573872136,"id":1570,"parentId":1496,"tags":{},"startTime":1725023693495,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":12893,"timestamp":8211573859592,"id":1496,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useViewportSize.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":12200,"timestamp":8211573860294,"id":1530,"parentId":1498,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":44,"timestamp":8211573872499,"id":1571,"parentId":1498,"tags":{},"startTime":1725023693496,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":13242,"timestamp":8211573859712,"id":1498,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/platform.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":12666,"timestamp":8211573860297,"id":1531,"parentId":1499,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43,"timestamp":8211573872968,"id":1572,"parentId":1499,"tags":{},"startTime":1725023693496,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":13428,"timestamp":8211573859771,"id":1499,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useEvent.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":12902,"timestamp":8211573860310,"id":1535,"parentId":1503,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":42,"timestamp":8211573873217,"id":1573,"parentId":1503,"tags":{},"startTime":1725023693497,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":13425,"timestamp":8211573860009,"id":1503,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useEffectEvent.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":13135,"timestamp":8211573860307,"id":1534,"parentId":1502,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":44,"timestamp":8211573873448,"id":1574,"parentId":1502,"tags":{},"startTime":1725023693497,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":13733,"timestamp":8211573859950,"id":1502,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/isVirtualEvent.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":18075,"timestamp":8211573860303,"id":1533,"parentId":1501,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":60,"timestamp":8211573878389,"id":1575,"parentId":1501,"tags":{},"startTime":1725023693502,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":19229,"timestamp":8211573859891,"id":1501,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/scrollIntoView.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":19076,"timestamp":8211573860317,"id":1537,"parentId":1505,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43,"timestamp":8211573879400,"id":1576,"parentId":1505,"tags":{},"startTime":1725023693503,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":19596,"timestamp":8211573860123,"id":1505,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useFormReset.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":19417,"timestamp":8211573860314,"id":1536,"parentId":1504,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211573879737,"id":1577,"parentId":1504,"tags":{},"startTime":1725023693503,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":19899,"timestamp":8211573860067,"id":1504,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-aria/utils/dist/useDeepMemo.mjs","layer":"ssr"},"startTime":1725023693483,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":19063,"timestamp":8211573860912,"id":1539,"parentId":1538,"tags":{},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43,"timestamp":8211573879980,"id":1578,"parentId":1538,"tags":{},"startTime":1725023693503,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19321,"timestamp":8211573860837,"id":1538,"parentId":1463,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.js","layer":"ssr"},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":18893,"timestamp":8211573861273,"id":1545,"parentId":1542,"tags":{},"startTime":1725023693485,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":42,"timestamp":8211573880171,"id":1579,"parentId":1542,"tags":{},"startTime":1725023693504,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19169,"timestamp":8211573861197,"id":1542,"parentId":1466,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_check_private_redeclaration.js","layer":"ssr"},"startTime":1725023693485,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":19104,"timestamp":8211573861270,"id":1544,"parentId":1541,"tags":{},"startTime":1725023693485,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":42,"timestamp":8211573880378,"id":1580,"parentId":1541,"tags":{},"startTime":1725023693504,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19414,"timestamp":8211573861134,"id":1541,"parentId":1465,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.js","layer":"ssr"},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":19295,"timestamp":8211573861264,"id":1543,"parentId":1540,"tags":{},"startTime":1725023693485,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":41,"timestamp":8211573880564,"id":1581,"parentId":1540,"tags":{},"startTime":1725023693504,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19658,"timestamp":8211573861066,"id":1540,"parentId":1463,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.js","layer":"ssr"},"startTime":1725023693484,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":256,"timestamp":8211573884018,"id":1583,"parentId":1582,"tags":{},"startTime":1725023693507,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":46,"timestamp":8211573884287,"id":1584,"parentId":1582,"tags":{},"startTime":1725023693508,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":748,"timestamp":8211573883898,"id":1582,"parentId":1459,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-stately/utils/dist/import.mjs","layer":"ssr"},"startTime":1725023693507,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":258,"timestamp":8211573885438,"id":1588,"parentId":1587,"tags":{},"startTime":1725023693509,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":45,"timestamp":8211573885704,"id":1589,"parentId":1587,"tags":{},"startTime":1725023693509,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":890,"timestamp":8211573885366,"id":1587,"parentId":1582,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-stately/utils/dist/number.mjs","layer":"ssr"},"startTime":1725023693509,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":943,"timestamp":8211573885325,"id":1586,"parentId":1585,"tags":{},"startTime":1725023693509,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":49,"timestamp":8211573886274,"id":1590,"parentId":1585,"tags":{},"startTime":1725023693510,"traceId":"c0436940a62f44fd"},{"name":"build-module-mjs","duration":1540,"timestamp":8211573885232,"id":1585,"parentId":1582,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@react-stately/utils/dist/useControlledState.mjs","layer":"ssr"},"startTime":1725023693509,"traceId":"c0436940a62f44fd"},{"name":"make","duration":1748240,"timestamp":8211572139167,"id":119,"parentId":118,"tags":{},"startTime":1725023691763,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":6340,"timestamp":8211573906817,"id":1592,"parentId":1591,"tags":{},"startTime":1725023693530,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":7,"timestamp":8211573913192,"id":1594,"parentId":1591,"tags":{},"startTime":1725023693537,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":4952,"timestamp":8211573913218,"id":1595,"parentId":1591,"tags":{},"startTime":1725023693537,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":8,"timestamp":8211573918198,"id":1596,"parentId":1591,"tags":{},"startTime":1725023693542,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8211573918225,"id":1597,"parentId":1591,"tags":{},"startTime":1725023693542,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":6844,"timestamp":8211573913181,"id":1593,"parentId":1591,"tags":{},"startTime":1725023693537,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":10875,"timestamp":8211573924612,"id":1598,"parentId":1591,"tags":{},"startTime":1725023693548,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":32768,"timestamp":8211573935517,"id":1599,"parentId":1591,"tags":{},"startTime":1725023693559,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":5552,"timestamp":8211573972803,"id":1600,"parentId":1591,"tags":{},"startTime":1725023693596,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":1126,"timestamp":8211573978355,"id":1601,"parentId":1591,"tags":{},"startTime":1725023693602,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":540,"timestamp":8211573979460,"id":1602,"parentId":1591,"tags":{},"startTime":1725023693603,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":94512,"timestamp":8211573980007,"id":1603,"parentId":1591,"tags":{},"startTime":1725023693603,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":174088,"timestamp":8211573903650,"id":1591,"parentId":118,"tags":{},"startTime":1725023693527,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":1942052,"timestamp":8211572138096,"id":118,"parentId":116,"tags":{"name":"server"},"startTime":1725023691762,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":19902,"timestamp":8211574080265,"id":1604,"parentId":116,"tags":{},"startTime":1725023693704,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":1965973,"timestamp":8211572135021,"id":116,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725023691758,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":264392,"timestamp":8211574109845,"id":1607,"parentId":1606,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725023693733,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":407924,"timestamp":8211574110227,"id":1610,"parentId":1606,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725023693734,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":420916,"timestamp":8211574110264,"id":1612,"parentId":1606,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023693734,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":423463,"timestamp":8211574110043,"id":1608,"parentId":1606,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725023693733,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":423248,"timestamp":8211574110271,"id":1613,"parentId":1606,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023693734,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":425133,"timestamp":8211574110254,"id":1611,"parentId":1606,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023693734,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":454811,"timestamp":8211574110072,"id":1609,"parentId":1606,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023693733,"traceId":"c0436940a62f44fd"},{"name":"make","duration":461377,"timestamp":8211574103619,"id":1606,"parentId":1605,"tags":{},"startTime":1725023693727,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":4392,"timestamp":8211574573980,"id":1615,"parentId":1614,"tags":{},"startTime":1725023694197,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8211574578401,"id":1617,"parentId":1614,"tags":{},"startTime":1725023694202,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":65,"timestamp":8211574578470,"id":1618,"parentId":1614,"tags":{},"startTime":1725023694202,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":7,"timestamp":8211574578569,"id":1619,"parentId":1614,"tags":{},"startTime":1725023694202,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8211574578593,"id":1620,"parentId":1614,"tags":{},"startTime":1725023694202,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":1758,"timestamp":8211574578392,"id":1616,"parentId":1614,"tags":{},"startTime":1725023694202,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":6098,"timestamp":8211574583646,"id":1621,"parentId":1614,"tags":{},"startTime":1725023694207,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":7389,"timestamp":8211574589771,"id":1622,"parentId":1614,"tags":{},"startTime":1725023694213,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":10763,"timestamp":8211574601322,"id":1623,"parentId":1614,"tags":{},"startTime":1725023694225,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":217,"timestamp":8211574612083,"id":1624,"parentId":1614,"tags":{},"startTime":1725023694235,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":386,"timestamp":8211574612286,"id":1625,"parentId":1614,"tags":{},"startTime":1725023694236,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":11433,"timestamp":8211574612680,"id":1626,"parentId":1614,"tags":{},"startTime":1725023694236,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":575,"timestamp":8211574626513,"id":1628,"parentId":1605,"tags":{},"startTime":1725023694250,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":1175,"timestamp":8211574625924,"id":1627,"parentId":1605,"tags":{},"startTime":1725023694249,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":60045,"timestamp":8211574571836,"id":1614,"parentId":1605,"tags":{},"startTime":1725023694195,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":528688,"timestamp":8211574103270,"id":1605,"parentId":519,"tags":{"name":"client"},"startTime":1725023693727,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":16154,"timestamp":8211574632014,"id":1629,"parentId":519,"tags":{},"startTime":1725023694255,"traceId":"c0436940a62f44fd"},{"name":"compile-path","duration":2515479,"timestamp":8211572135105,"id":117,"tags":{"trigger":"/","isTurbopack":false},"startTime":1725023691759,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":1338613,"timestamp":8211573313433,"id":519,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725023692937,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":2750706,"timestamp":8211572124523,"id":115,"tags":{"url":"/","isTurbopack":false},"startTime":1725023691748,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8211574875447,"id":1630,"parentId":115,"tags":{"url":"/","memory.rss":"406421504","memory.heapUsed":"172141216","memory.heapTotal":"199573504"},"startTime":1725023694499,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":7,"timestamp":8211575488199,"id":1638,"parentId":3,"tags":{},"startTime":1725023695112,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23873,"timestamp":8211575486125,"id":1637,"parentId":1635,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023695109,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":3975,"timestamp":8211577094937,"id":1639,"parentId":1636,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!","layer":"rsc"},"startTime":1725023696718,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":2436,"timestamp":8211577105362,"id":1640,"parentId":1639,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js?page=%2Ffavicon.ico%2Froute&filePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp%2Ffavicon.ico&isDynamic=0!?__next_metadata_route__","layer":"app-metadata-route"},"startTime":1725023696729,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1990,"timestamp":8211577106119,"id":1642,"parentId":1641,"tags":{},"startTime":1725023696729,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":73,"timestamp":8211577108125,"id":1643,"parentId":1641,"tags":{},"startTime":1725023696731,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2883,"timestamp":8211577105830,"id":1641,"parentId":1639,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js","layer":"rsc"},"startTime":1725023696729,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":40,"timestamp":8211577109143,"id":1644,"parentId":1641,"tags":{"name":"next/dist/compiled/next-server/app-route.runtime.dev.js","layer":null},"startTime":1725023696732,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":552,"timestamp":8211577121457,"id":1646,"parentId":1645,"tags":{},"startTime":1725023696745,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":55,"timestamp":8211577122027,"id":1647,"parentId":1645,"tags":{},"startTime":1725023696745,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1344,"timestamp":8211577121290,"id":1645,"parentId":1640,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/api/server.js","layer":"app-metadata-route"},"startTime":1725023696745,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":523,"timestamp":8211577126333,"id":1649,"parentId":1648,"tags":{},"startTime":1725023696750,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":75,"timestamp":8211577126881,"id":1650,"parentId":1648,"tags":{},"startTime":1725023696750,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1742,"timestamp":8211577126037,"id":1648,"parentId":1645,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/exports/index.js","layer":"app-metadata-route"},"startTime":1725023696749,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":425,"timestamp":8211577131596,"id":1658,"parentId":1653,"tags":{},"startTime":1725023696755,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":64,"timestamp":8211577132037,"id":1661,"parentId":1653,"tags":{},"startTime":1725023696755,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2199,"timestamp":8211577131122,"id":1653,"parentId":1648,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/spec-extension/response.js","layer":"app-metadata-route"},"startTime":1725023696754,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2180,"timestamp":8211577131586,"id":1657,"parentId":1652,"tags":{},"startTime":1725023696755,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":59,"timestamp":8211577133777,"id":1662,"parentId":1652,"tags":{},"startTime":1725023696757,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3655,"timestamp":8211577130952,"id":1652,"parentId":1648,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/spec-extension/request.js","layer":"app-metadata-route"},"startTime":1725023696754,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3010,"timestamp":8211577131615,"id":1660,"parentId":1655,"tags":{},"startTime":1725023696755,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":52,"timestamp":8211577134632,"id":1663,"parentId":1655,"tags":{},"startTime":1725023696758,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3412,"timestamp":8211577131438,"id":1655,"parentId":1648,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/spec-extension/url-pattern.js","layer":"app-metadata-route"},"startTime":1725023696755,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3302,"timestamp":8211577131559,"id":1656,"parentId":1651,"tags":{},"startTime":1725023696755,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48,"timestamp":8211577134867,"id":1664,"parentId":1651,"tags":{},"startTime":1725023696758,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4702,"timestamp":8211577130482,"id":1651,"parentId":1648,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/spec-extension/image-response.js","layer":"app-metadata-route"},"startTime":1725023696754,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3984,"timestamp":8211577131608,"id":1659,"parentId":1654,"tags":{},"startTime":1725023696755,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":49,"timestamp":8211577135600,"id":1665,"parentId":1654,"tags":{},"startTime":1725023696759,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4907,"timestamp":8211577131324,"id":1654,"parentId":1648,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/spec-extension/user-agent.js","layer":"app-metadata-route"},"startTime":1725023696755,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2222,"timestamp":8211577138138,"id":1668,"parentId":1666,"tags":{},"startTime":1725023696761,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":68,"timestamp":8211577140378,"id":1674,"parentId":1666,"tags":{},"startTime":1725023696764,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4601,"timestamp":8211577137885,"id":1666,"parentId":1653,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/next-url.js","layer":"app-metadata-route"},"startTime":1725023696761,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":6210,"timestamp":8211577138158,"id":1669,"parentId":1667,"tags":{},"startTime":1725023696761,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":132,"timestamp":8211577144462,"id":1675,"parentId":1667,"tags":{},"startTime":1725023696768,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8247,"timestamp":8211577138021,"id":1667,"parentId":1653,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/utils.js","layer":"app-metadata-route"},"startTime":1725023696761,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7687,"timestamp":8211577138627,"id":1671,"parentId":1670,"tags":{},"startTime":1725023696762,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":71,"timestamp":8211577146329,"id":1676,"parentId":1670,"tags":{},"startTime":1725023696770,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8149,"timestamp":8211577138532,"id":1670,"parentId":1653,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/spec-extension/cookies.js","layer":"app-metadata-route"},"startTime":1725023696762,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8093,"timestamp":8211577138773,"id":1673,"parentId":1672,"tags":{},"startTime":1725023696762,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":53,"timestamp":8211577146874,"id":1677,"parentId":1672,"tags":{},"startTime":1725023696770,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8652,"timestamp":8211577138697,"id":1672,"parentId":1652,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/web/error.js","layer":"app-metadata-route"},"startTime":1725023696762,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3820,"timestamp":8211577150740,"id":1685,"parentId":1684,"tags":{},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3853,"timestamp":8211577150720,"id":1684,"parentId":1679,"tags":{},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4745,"timestamp":8211577150465,"id":1679,"parentId":1666,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js","layer":"app-metadata-route"},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4570,"timestamp":8211577150788,"id":1689,"parentId":1688,"tags":{},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4587,"timestamp":8211577150775,"id":1688,"parentId":1681,"tags":{},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5178,"timestamp":8211577150552,"id":1681,"parentId":1666,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js","layer":"app-metadata-route"},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5041,"timestamp":8211577150711,"id":1683,"parentId":1682,"tags":{},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5158,"timestamp":8211577150596,"id":1682,"parentId":1678,"tags":{},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5643,"timestamp":8211577150338,"id":1678,"parentId":1666,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/get-hostname.js","layer":"app-metadata-route"},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5300,"timestamp":8211577150758,"id":1687,"parentId":1686,"tags":{},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5316,"timestamp":8211577150744,"id":1686,"parentId":1680,"tags":{},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6290,"timestamp":8211577150513,"id":1680,"parentId":1666,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js","layer":"app-metadata-route"},"startTime":1725023696774,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1710,"timestamp":8211577158257,"id":1692,"parentId":1691,"tags":{},"startTime":1725023696782,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1754,"timestamp":8211577158216,"id":1691,"parentId":1690,"tags":{},"startTime":1725023696781,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2122,"timestamp":8211577158102,"id":1690,"parentId":1681,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js","layer":"app-metadata-route"},"startTime":1725023696781,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1049,"timestamp":8211577160664,"id":1699,"parentId":1698,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1102,"timestamp":8211577160635,"id":1698,"parentId":1693,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1872,"timestamp":8211577160326,"id":1693,"parentId":1680,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","layer":"app-metadata-route"},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1571,"timestamp":8211577160684,"id":1701,"parentId":1700,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1589,"timestamp":8211577160669,"id":1700,"parentId":1694,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2204,"timestamp":8211577160399,"id":1694,"parentId":1681,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js","layer":"app-metadata-route"},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1997,"timestamp":8211577160702,"id":1703,"parentId":1702,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2013,"timestamp":8211577160689,"id":1702,"parentId":1695,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2459,"timestamp":8211577160462,"id":1695,"parentId":1681,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js","layer":"app-metadata-route"},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2220,"timestamp":8211577160719,"id":1705,"parentId":1704,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2234,"timestamp":8211577160707,"id":1704,"parentId":1696,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2639,"timestamp":8211577160540,"id":1696,"parentId":1681,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-locale.js","layer":"app-metadata-route"},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2813,"timestamp":8211577160965,"id":1710,"parentId":1709,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2832,"timestamp":8211577160949,"id":1709,"parentId":1708,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3125,"timestamp":8211577160907,"id":1708,"parentId":1680,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js","layer":"app-metadata-route"},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3319,"timestamp":8211577160735,"id":1707,"parentId":1706,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3332,"timestamp":8211577160723,"id":1706,"parentId":1697,"tags":{},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3676,"timestamp":8211577160578,"id":1697,"parentId":1680,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js","layer":"app-metadata-route"},"startTime":1725023696784,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":943,"timestamp":8211577164989,"id":1712,"parentId":1711,"tags":{},"startTime":1725023696788,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":76,"timestamp":8211577165946,"id":1716,"parentId":1711,"tags":{},"startTime":1725023696789,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7958,"timestamp":8211577164844,"id":1711,"parentId":1654,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/ua-parser-js/ua-parser.js","layer":"app-metadata-route"},"startTime":1725023696788,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7436,"timestamp":8211577165618,"id":1715,"parentId":1714,"tags":{},"startTime":1725023696789,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7480,"timestamp":8211577165579,"id":1714,"parentId":1713,"tags":{},"startTime":1725023696789,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7969,"timestamp":8211577165507,"id":1713,"parentId":1694,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/parse-path.js","layer":"app-metadata-route"},"startTime":1725023696789,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":354,"timestamp":8211577174244,"id":1718,"parentId":1717,"tags":{},"startTime":1725023696798,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":74,"timestamp":8211577174613,"id":1719,"parentId":1717,"tags":{},"startTime":1725023696798,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4619,"timestamp":8211577174098,"id":1717,"parentId":1670,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js","layer":"app-metadata-route"},"startTime":1725023696797,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":1693066,"timestamp":8211575485859,"id":1636,"parentId":1635,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023695109,"traceId":"c0436940a62f44fd"},{"name":"make","duration":1725307,"timestamp":8211575467771,"id":1635,"parentId":1634,"tags":{},"startTime":1725023695091,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2792,"timestamp":8211577200353,"id":1726,"parentId":1725,"tags":{},"startTime":1725023696824,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8211577203179,"id":1728,"parentId":1725,"tags":{},"startTime":1725023696826,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2475,"timestamp":8211577203274,"id":1729,"parentId":1725,"tags":{},"startTime":1725023696827,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":10,"timestamp":8211577205783,"id":1730,"parentId":1725,"tags":{},"startTime":1725023696829,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8211577205814,"id":1731,"parentId":1725,"tags":{},"startTime":1725023696829,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":4865,"timestamp":8211577203167,"id":1727,"parentId":1725,"tags":{},"startTime":1725023696826,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":916,"timestamp":8211577210174,"id":1732,"parentId":1725,"tags":{},"startTime":1725023696833,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3817,"timestamp":8211577211104,"id":1733,"parentId":1725,"tags":{},"startTime":1725023696834,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3700,"timestamp":8211577219397,"id":1734,"parentId":1725,"tags":{},"startTime":1725023696843,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":437,"timestamp":8211577223080,"id":1735,"parentId":1725,"tags":{},"startTime":1725023696846,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":833,"timestamp":8211577223488,"id":1736,"parentId":1725,"tags":{},"startTime":1725023696847,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":9126,"timestamp":8211577224351,"id":1737,"parentId":1725,"tags":{},"startTime":1725023696848,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":38240,"timestamp":8211577197878,"id":1725,"parentId":1634,"tags":{},"startTime":1725023696821,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":1773064,"timestamp":8211575465365,"id":1634,"parentId":1632,"tags":{"name":"server"},"startTime":1725023695089,"traceId":"c0436940a62f44fd"}] -[{"name":"emit","duration":4652,"timestamp":8211577238746,"id":1738,"parentId":1632,"tags":{},"startTime":1725023696862,"traceId":"c0436940a62f44fd"},{"name":"compile-path","duration":1784823,"timestamp":8211575459459,"id":1633,"tags":{"trigger":"/favicon.ico","isTurbopack":false},"startTime":1725023695083,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":1785110,"timestamp":8211575459383,"id":1632,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725023695083,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":1876167,"timestamp":8211575451050,"id":1631,"tags":{"url":"/favicon.ico","isTurbopack":false},"startTime":1725023695074,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8211577327272,"id":1739,"parentId":1631,"tags":{"url":"/favicon.ico","memory.rss":"444645376","memory.heapUsed":"179089128","memory.heapTotal":"214138880"},"startTime":1725023696951,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21032,"timestamp":8211578201372,"id":1745,"parentId":1744,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023697825,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21714,"timestamp":8211578201457,"id":1747,"parentId":1744,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023697825,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":29512,"timestamp":8211578214717,"id":1748,"parentId":1746,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!","layer":"rsc"},"startTime":1725023697838,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1564,"timestamp":8211578249195,"id":1751,"parentId":1750,"tags":{},"startTime":1725023697872,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1668,"timestamp":8211578249102,"id":1750,"parentId":1749,"tags":{},"startTime":1725023697872,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":2591,"timestamp":8211578248936,"id":1749,"parentId":1748,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx","layer":"rsc"},"startTime":1725023697872,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1648,"timestamp":8211578272794,"id":1761,"parentId":1760,"tags":{},"startTime":1725023697896,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1722,"timestamp":8211578272741,"id":1760,"parentId":1758,"tags":{},"startTime":1725023697896,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":2936,"timestamp":8211578272549,"id":1758,"parentId":1749,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Venue.jsx","layer":"rsc"},"startTime":1725023697896,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3603,"timestamp":8211578272214,"id":1755,"parentId":1754,"tags":{},"startTime":1725023697895,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3684,"timestamp":8211578272137,"id":1754,"parentId":1752,"tags":{},"startTime":1725023697895,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":4398,"timestamp":8211578271866,"id":1752,"parentId":1749,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"rsc"},"startTime":1725023697895,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4049,"timestamp":8211578272270,"id":1757,"parentId":1756,"tags":{},"startTime":1725023697895,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4101,"timestamp":8211578272220,"id":1756,"parentId":1753,"tags":{},"startTime":1725023697895,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":4958,"timestamp":8211578272029,"id":1753,"parentId":1749,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx","layer":"rsc"},"startTime":1725023697895,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4172,"timestamp":8211578272843,"id":1763,"parentId":1762,"tags":{},"startTime":1725023697896,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4219,"timestamp":8211578272798,"id":1762,"parentId":1759,"tags":{},"startTime":1725023697896,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":5064,"timestamp":8211578272637,"id":1759,"parentId":1749,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx","layer":"rsc"},"startTime":1725023697896,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5440,"timestamp":8211578273063,"id":1766,"parentId":1765,"tags":{},"startTime":1725023697896,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5492,"timestamp":8211578273016,"id":1765,"parentId":1764,"tags":{},"startTime":1725023697896,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":6355,"timestamp":8211578272933,"id":1764,"parentId":1749,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx","layer":"rsc"},"startTime":1725023697896,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2748,"timestamp":8211578281920,"id":1768,"parentId":1767,"tags":{},"startTime":1725023697905,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":868,"timestamp":8211578284961,"id":1770,"parentId":1769,"tags":{},"startTime":1725023697908,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":924,"timestamp":8211578284909,"id":1769,"parentId":1767,"tags":{},"startTime":1725023697908,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4397,"timestamp":8211578281674,"id":1767,"parentId":1753,"tags":{"name":"__barrel_optimize__?names=RocketLaunchIcon!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/20/solid/esm/index.js","layer":"rsc"},"startTime":1725023697905,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":726,"timestamp":8211578285793,"id":1773,"parentId":1771,"tags":{},"startTime":1725023697909,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":761,"timestamp":8211578285809,"id":1774,"parentId":1772,"tags":{},"startTime":1725023697909,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":662,"timestamp":8211578286847,"id":1778,"parentId":1777,"tags":{},"startTime":1725023697910,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":694,"timestamp":8211578286820,"id":1777,"parentId":1772,"tags":{},"startTime":1725023697910,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1991,"timestamp":8211578285724,"id":1772,"parentId":1759,"tags":{"name":"__barrel_optimize__?names=MinusSmallIcon,PlusSmallIcon!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/index.js","layer":"rsc"},"startTime":1725023697909,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1004,"timestamp":8211578286733,"id":1776,"parentId":1775,"tags":{},"startTime":1725023697910,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1046,"timestamp":8211578286693,"id":1775,"parentId":1771,"tags":{},"startTime":1725023697910,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2254,"timestamp":8211578285618,"id":1771,"parentId":1753,"tags":{"name":"__barrel_optimize__?names=CalendarIcon,MapPinIcon,TicketIcon!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/index.js","layer":"rsc"},"startTime":1725023697909,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1373,"timestamp":8211578290063,"id":1788,"parentId":1787,"tags":{},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1410,"timestamp":8211578290036,"id":1787,"parentId":1782,"tags":{},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2345,"timestamp":8211578289827,"id":1782,"parentId":1772,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/PlusSmallIcon.js","layer":"rsc"},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2130,"timestamp":8211578290091,"id":1790,"parentId":1789,"tags":{},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2156,"timestamp":8211578290066,"id":1789,"parentId":1783,"tags":{},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2624,"timestamp":8211578289879,"id":1783,"parentId":1771,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/CalendarIcon.js","layer":"rsc"},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2604,"timestamp":8211578290118,"id":1792,"parentId":1791,"tags":{},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2629,"timestamp":8211578290095,"id":1791,"parentId":1784,"tags":{},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3069,"timestamp":8211578289926,"id":1784,"parentId":1771,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/MapPinIcon.js","layer":"rsc"},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3021,"timestamp":8211578290031,"id":1786,"parentId":1785,"tags":{},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3067,"timestamp":8211578289987,"id":1785,"parentId":1781,"tags":{},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3516,"timestamp":8211578289753,"id":1781,"parentId":1772,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/MinusSmallIcon.js","layer":"rsc"},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2851,"timestamp":8211578290437,"id":1795,"parentId":1794,"tags":{},"startTime":1725023697914,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2879,"timestamp":8211578290410,"id":1794,"parentId":1793,"tags":{},"startTime":1725023697914,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3144,"timestamp":8211578290355,"id":1793,"parentId":1771,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@heroicons/react/24/outline/esm/TicketIcon.js","layer":"rsc"},"startTime":1725023697914,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":4084,"timestamp":8211578289425,"id":1780,"parentId":1779,"tags":{},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":522,"timestamp":8211578293692,"id":1797,"parentId":1796,"tags":{},"startTime":1725023697917,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":575,"timestamp":8211578293645,"id":1796,"parentId":1779,"tags":{},"startTime":1725023697917,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5124,"timestamp":8211578289316,"id":1779,"parentId":1759,"tags":{"name":"__barrel_optimize__?names=Disclosure,DisclosureButton,DisclosurePanel!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/headlessui.esm.js","layer":"rsc"},"startTime":1725023697913,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1245,"timestamp":8211578297035,"id":1800,"parentId":1799,"tags":{},"startTime":1725023697920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1285,"timestamp":8211578296999,"id":1799,"parentId":1798,"tags":{},"startTime":1725023697920,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1772,"timestamp":8211578296900,"id":1798,"parentId":1779,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","layer":"rsc"},"startTime":1725023697920,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":98229,"timestamp":8211578201448,"id":1746,"parentId":1744,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023697825,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":4600,"timestamp":8211578305684,"id":1811,"parentId":1743,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!","layer":"ssr"},"startTime":1725023697929,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3959,"timestamp":8211578314780,"id":1814,"parentId":1813,"tags":{},"startTime":1725023697938,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4046,"timestamp":8211578314702,"id":1813,"parentId":1812,"tags":{},"startTime":1725023697938,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6818,"timestamp":8211578314495,"id":1812,"parentId":1811,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","layer":"ssr"},"startTime":1725023697938,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5505,"timestamp":8211578317278,"id":1817,"parentId":1816,"tags":{},"startTime":1725023697941,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5578,"timestamp":8211578317209,"id":1816,"parentId":1815,"tags":{},"startTime":1725023697940,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":7299,"timestamp":8211578317090,"id":1815,"parentId":1811,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"ssr"},"startTime":1725023697940,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1261,"timestamp":8211578327710,"id":1830,"parentId":1829,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1289,"timestamp":8211578327692,"id":1829,"parentId":1821,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2110,"timestamp":8211578327517,"id":1821,"parentId":1812,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/bugs.js","layer":"ssr"},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1996,"timestamp":8211578327689,"id":1828,"parentId":1827,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2018,"timestamp":8211578327670,"id":1827,"parentId":1820,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2584,"timestamp":8211578327478,"id":1820,"parentId":1812,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/internal/open-closed.js","layer":"ssr"},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2527,"timestamp":8211578327666,"id":1826,"parentId":1825,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2552,"timestamp":8211578327644,"id":1825,"parentId":1819,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2983,"timestamp":8211578327429,"id":1819,"parentId":1812,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/internal/close-provider.js","layer":"ssr"},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3112,"timestamp":8211578327731,"id":1832,"parentId":1831,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3133,"timestamp":8211578327713,"id":1831,"parentId":1822,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3487,"timestamp":8211578327554,"id":1822,"parentId":1812,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/start-transition.js","layer":"ssr"},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3516,"timestamp":8211578327639,"id":1824,"parentId":1823,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3562,"timestamp":8211578327595,"id":1823,"parentId":1818,"tags":{},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4925,"timestamp":8211578327331,"id":1818,"parentId":1812,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-transition.js","layer":"ssr"},"startTime":1725023697951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1404,"timestamp":8211578333763,"id":1835,"parentId":1834,"tags":{},"startTime":1725023697957,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1459,"timestamp":8211578333715,"id":1834,"parentId":1833,"tags":{},"startTime":1725023697957,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1870,"timestamp":8211578333603,"id":1833,"parentId":1818,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/utils/once.js","layer":"ssr"},"startTime":1725023697957,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1584,"timestamp":8211578333959,"id":1838,"parentId":1837,"tags":{},"startTime":1725023697957,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1613,"timestamp":8211578333932,"id":1837,"parentId":1836,"tags":{},"startTime":1725023697957,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2064,"timestamp":8211578333878,"id":1836,"parentId":1818,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@headlessui/react/dist/hooks/use-flags.js","layer":"ssr"},"startTime":1725023697957,"traceId":"c0436940a62f44fd"},{"name":"make","duration":137977,"timestamp":8211578198467,"id":1744,"parentId":1743,"tags":{},"startTime":1725023697822,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2605,"timestamp":8211578346387,"id":1840,"parentId":1839,"tags":{},"startTime":1725023697970,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":5,"timestamp":8211578349020,"id":1842,"parentId":1839,"tags":{},"startTime":1725023697972,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2609,"timestamp":8211578349110,"id":1843,"parentId":1839,"tags":{},"startTime":1725023697972,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":8,"timestamp":8211578351766,"id":1844,"parentId":1839,"tags":{},"startTime":1725023697975,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8211578351793,"id":1845,"parentId":1839,"tags":{},"startTime":1725023697975,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3923,"timestamp":8211578349011,"id":1841,"parentId":1839,"tags":{},"startTime":1725023697972,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":952,"timestamp":8211578354671,"id":1846,"parentId":1839,"tags":{},"startTime":1725023697978,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5023,"timestamp":8211578355636,"id":1847,"parentId":1839,"tags":{},"startTime":1725023697979,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1389,"timestamp":8211578362074,"id":1848,"parentId":1839,"tags":{},"startTime":1725023697985,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":78,"timestamp":8211578363463,"id":1849,"parentId":1839,"tags":{},"startTime":1725023697987,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":323,"timestamp":8211578363530,"id":1850,"parentId":1839,"tags":{},"startTime":1725023697987,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":9039,"timestamp":8211578363860,"id":1851,"parentId":1839,"tags":{},"startTime":1725023697987,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":31359,"timestamp":8211578343761,"id":1839,"parentId":1743,"tags":{},"startTime":1725023697967,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":180747,"timestamp":8211578197602,"id":1743,"parentId":1741,"tags":{"name":"server"},"startTime":1725023697821,"traceId":"c0436940a62f44fd"}] -[{"name":"emit","duration":4559,"timestamp":8211578378571,"id":1852,"parentId":1741,"tags":{},"startTime":1725023698002,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":190792,"timestamp":8211578192735,"id":1741,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725023697816,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":4645,"timestamp":8211578393601,"id":1860,"parentId":1854,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023698017,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12215,"timestamp":8211578393526,"id":1855,"parentId":1854,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725023698017,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":16650,"timestamp":8211578393596,"id":1859,"parentId":1854,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023698017,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":19124,"timestamp":8211578393593,"id":1858,"parentId":1854,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725023698017,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":57413,"timestamp":8211578393604,"id":1861,"parentId":1854,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023698017,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":58406,"timestamp":8211578393582,"id":1856,"parentId":1854,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725023698017,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":64086,"timestamp":8211578393589,"id":1857,"parentId":1854,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023698017,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":93480,"timestamp":8211578393608,"id":1862,"parentId":1854,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023698017,"traceId":"c0436940a62f44fd"},{"name":"make","duration":99789,"timestamp":8211578387365,"id":1854,"parentId":1853,"tags":{},"startTime":1725023698011,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3572,"timestamp":8211578495031,"id":1864,"parentId":1863,"tags":{},"startTime":1725023698118,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":12,"timestamp":8211578498666,"id":1866,"parentId":1863,"tags":{},"startTime":1725023698122,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":62,"timestamp":8211578498700,"id":1867,"parentId":1863,"tags":{},"startTime":1725023698122,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":9,"timestamp":8211578498815,"id":1868,"parentId":1863,"tags":{},"startTime":1725023698122,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8211578498864,"id":1869,"parentId":1863,"tags":{},"startTime":1725023698122,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2652,"timestamp":8211578498653,"id":1865,"parentId":1863,"tags":{},"startTime":1725023698122,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1052,"timestamp":8211578504221,"id":1870,"parentId":1863,"tags":{},"startTime":1725023698127,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3156,"timestamp":8211578505300,"id":1871,"parentId":1863,"tags":{},"startTime":1725023698129,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":6603,"timestamp":8211578511334,"id":1872,"parentId":1863,"tags":{},"startTime":1725023698135,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":172,"timestamp":8211578517936,"id":1873,"parentId":1863,"tags":{},"startTime":1725023698141,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":375,"timestamp":8211578518096,"id":1874,"parentId":1863,"tags":{},"startTime":1725023698141,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":39526,"timestamp":8211578518478,"id":1875,"parentId":1863,"tags":{},"startTime":1725023698142,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":101,"timestamp":8211578560559,"id":1877,"parentId":1853,"tags":{},"startTime":1725023698184,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":294,"timestamp":8211578560375,"id":1876,"parentId":1853,"tags":{},"startTime":1725023698184,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":73400,"timestamp":8211578491685,"id":1863,"parentId":1853,"tags":{},"startTime":1725023698115,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":178707,"timestamp":8211578386417,"id":1853,"parentId":1810,"tags":{"name":"client"},"startTime":1725023698010,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":6660,"timestamp":8211578565145,"id":1878,"parentId":1810,"tags":{},"startTime":1725023698188,"traceId":"c0436940a62f44fd"},{"name":"compile-path","duration":379826,"timestamp":8211578192786,"id":1742,"tags":{"trigger":"/events/versefest","isTurbopack":false},"startTime":1725023697816,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":270949,"timestamp":8211578303207,"id":1810,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725023697926,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":9,"timestamp":8211578588921,"id":1879,"parentId":3,"tags":{},"startTime":1725023698212,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":467000,"timestamp":8211578303331,"id":1880,"parentId":3,"tags":{"updatedModules":[],"page":"/","isPageHidden":false},"startTime":1725023698400,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":611516,"timestamp":8211578189792,"id":1740,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725023697813,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8211578801431,"id":1881,"parentId":1740,"tags":{"url":"/events/versefest","memory.rss":"434487296","memory.heapUsed":"194768280","memory.heapTotal":"232210432"},"startTime":1725023698425,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":4,"timestamp":8211579206388,"id":1882,"parentId":3,"tags":{},"startTime":1725023698830,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4960,"timestamp":8211613652505,"id":1892,"parentId":1891,"tags":{},"startTime":1725023733275,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5211,"timestamp":8211613652288,"id":1891,"parentId":1890,"tags":{},"startTime":1725023733274,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":10275,"timestamp":8211613651308,"id":1890,"parentId":1885,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"rsc"},"startTime":1725023733273,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":40510,"timestamp":8211613625029,"id":1888,"parentId":1886,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023733247,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":41332,"timestamp":8211613625035,"id":1889,"parentId":1886,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023733247,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":42568,"timestamp":8211613624809,"id":1887,"parentId":1886,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023733247,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6111,"timestamp":8211613676393,"id":1904,"parentId":1903,"tags":{},"startTime":1725023733299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6387,"timestamp":8211613676129,"id":1903,"parentId":1902,"tags":{},"startTime":1725023733298,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":19488,"timestamp":8211613675678,"id":1902,"parentId":1885,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"ssr"},"startTime":1725023733298,"traceId":"c0436940a62f44fd"},{"name":"make","duration":98798,"timestamp":8211613618022,"id":1886,"parentId":1885,"tags":{},"startTime":1725023733240,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3263,"timestamp":8211613731658,"id":1906,"parentId":1905,"tags":{},"startTime":1725023733354,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":14,"timestamp":8211613734958,"id":1908,"parentId":1905,"tags":{},"startTime":1725023733357,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":4983,"timestamp":8211613734990,"id":1909,"parentId":1905,"tags":{},"startTime":1725023733357,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":12,"timestamp":8211613740017,"id":1910,"parentId":1905,"tags":{},"startTime":1725023733362,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8211613740051,"id":1911,"parentId":1905,"tags":{},"startTime":1725023733362,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":8214,"timestamp":8211613734947,"id":1907,"parentId":1905,"tags":{},"startTime":1725023733357,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1019,"timestamp":8211613745459,"id":1912,"parentId":1905,"tags":{},"startTime":1725023733368,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":4763,"timestamp":8211613746496,"id":1913,"parentId":1905,"tags":{},"startTime":1725023733369,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2561,"timestamp":8211613753196,"id":1914,"parentId":1905,"tags":{},"startTime":1725023733375,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":122,"timestamp":8211613755756,"id":1915,"parentId":1905,"tags":{},"startTime":1725023733378,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":268,"timestamp":8211613755866,"id":1916,"parentId":1905,"tags":{},"startTime":1725023733378,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":4492,"timestamp":8211613756140,"id":1917,"parentId":1905,"tags":{},"startTime":1725023733378,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":36372,"timestamp":8211613727123,"id":1905,"parentId":1885,"tags":{},"startTime":1725023733349,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":149921,"timestamp":8211613617059,"id":1885,"parentId":1883,"tags":{"name":"server"},"startTime":1725023733239,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":5579,"timestamp":8211613767015,"id":1918,"parentId":1883,"tags":{},"startTime":1725023733389,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":180898,"timestamp":8211613592321,"id":1883,"parentId":3,"tags":{"trigger":"src/components/Speakers.jsx"},"startTime":1725023733214,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":4993,"timestamp":8211613785051,"id":1926,"parentId":1920,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023733407,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":24359,"timestamp":8211613784974,"id":1921,"parentId":1920,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725023733407,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14853,"timestamp":8211613800066,"id":1932,"parentId":1931,"tags":{},"startTime":1725023733422,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15019,"timestamp":8211613799913,"id":1931,"parentId":1929,"tags":{},"startTime":1725023733422,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":38560,"timestamp":8211613791238,"id":1929,"parentId":1919,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"app-pages-browser"},"startTime":1725023733413,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":53246,"timestamp":8211613785042,"id":1924,"parentId":1920,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725023733407,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":59667,"timestamp":8211613785055,"id":1927,"parentId":1920,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023733407,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":60372,"timestamp":8211613785026,"id":1922,"parentId":1920,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725023733407,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":63186,"timestamp":8211613785059,"id":1928,"parentId":1920,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023733407,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":63335,"timestamp":8211613785034,"id":1923,"parentId":1920,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023733407,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":766,"timestamp":8211613852647,"id":1934,"parentId":1933,"tags":{},"startTime":1725023733475,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":580138,"timestamp":8211613853857,"id":1936,"parentId":1935,"tags":{},"startTime":1725023733476,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":583085,"timestamp":8211613853600,"id":1935,"parentId":1933,"tags":{},"startTime":1725023733476,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":31085,"timestamp":8211614436778,"id":1937,"parentId":1933,"tags":{"astUsed":"true"},"startTime":1725023734059,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":627660,"timestamp":8211613849133,"id":1933,"parentId":1930,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725023733471,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":693081,"timestamp":8211613794589,"id":1930,"parentId":1919,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725023733417,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":182,"timestamp":8211614488145,"id":1938,"parentId":1930,"tags":{},"startTime":1725023734110,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":703327,"timestamp":8211613785046,"id":1925,"parentId":1920,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023733407,"traceId":"c0436940a62f44fd"},{"name":"make","duration":711513,"timestamp":8211613776919,"id":1920,"parentId":1919,"tags":{},"startTime":1725023733399,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":8002,"timestamp":8211614497688,"id":1940,"parentId":1939,"tags":{},"startTime":1725023734120,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":48,"timestamp":8211614505842,"id":1942,"parentId":1939,"tags":{},"startTime":1725023734128,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":222,"timestamp":8211614505926,"id":1943,"parentId":1939,"tags":{},"startTime":1725023734128,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":18,"timestamp":8211614506193,"id":1944,"parentId":1939,"tags":{},"startTime":1725023734128,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":12,"timestamp":8211614506250,"id":1945,"parentId":1939,"tags":{},"startTime":1725023734128,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3767,"timestamp":8211614505803,"id":1941,"parentId":1939,"tags":{},"startTime":1725023734128,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1639,"timestamp":8211614511238,"id":1946,"parentId":1939,"tags":{},"startTime":1725023734133,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":4254,"timestamp":8211614512904,"id":1947,"parentId":1939,"tags":{},"startTime":1725023734135,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":9453,"timestamp":8211614519209,"id":1948,"parentId":1939,"tags":{},"startTime":1725023734141,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":181,"timestamp":8211614528660,"id":1949,"parentId":1939,"tags":{},"startTime":1725023734151,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":362,"timestamp":8211614528823,"id":1950,"parentId":1939,"tags":{},"startTime":1725023734151,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":37359,"timestamp":8211614529195,"id":1951,"parentId":1939,"tags":{},"startTime":1725023734151,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":119,"timestamp":8211614568634,"id":1953,"parentId":1919,"tags":{},"startTime":1725023734191,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":246,"timestamp":8211614568516,"id":1952,"parentId":1919,"tags":{},"startTime":1725023734191,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":81574,"timestamp":8211614494422,"id":1939,"parentId":1919,"tags":{},"startTime":1725023734117,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":799511,"timestamp":8211613776555,"id":1919,"parentId":1884,"tags":{"name":"client"},"startTime":1725023733399,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":13837,"timestamp":8211614576103,"id":1954,"parentId":1884,"tags":{},"startTime":1725023734198,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":1000402,"timestamp":8211613593900,"id":1884,"parentId":3,"tags":{"trigger":"src/components/Speakers.jsx"},"startTime":1725023733216,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":17,"timestamp":8211614604798,"id":1955,"parentId":3,"tags":{},"startTime":1725023734227,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":140490,"timestamp":8211614613143,"id":1956,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725023734235,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8211614753710,"id":1957,"parentId":1956,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"299171840","memory.heapUsed":"198396208","memory.heapTotal":"237191168"},"startTime":1725023734376,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":1176000,"timestamp":8211613595781,"id":1958,"parentId":3,"tags":{"updatedModules":["[project]/src/components/Speakers.jsx"],"page":"/events/versefest","isPageHidden":true},"startTime":1725023734395,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2832,"timestamp":8211624724950,"id":1968,"parentId":1967,"tags":{},"startTime":1725023744347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3379,"timestamp":8211624724445,"id":1967,"parentId":1966,"tags":{},"startTime":1725023744346,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":6300,"timestamp":8211624723274,"id":1966,"parentId":1961,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"rsc"},"startTime":1725023744345,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":25326,"timestamp":8211624706666,"id":1964,"parentId":1962,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023744328,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26261,"timestamp":8211624706678,"id":1965,"parentId":1962,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023744328,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26715,"timestamp":8211624706432,"id":1963,"parentId":1962,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023744328,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5901,"timestamp":8211624739824,"id":1980,"parentId":1979,"tags":{},"startTime":1725023744362,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6035,"timestamp":8211624739701,"id":1979,"parentId":1978,"tags":{},"startTime":1725023744361,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":10375,"timestamp":8211624739450,"id":1978,"parentId":1961,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"ssr"},"startTime":1725023744361,"traceId":"c0436940a62f44fd"},{"name":"make","duration":73997,"timestamp":8211624701249,"id":1962,"parentId":1961,"tags":{},"startTime":1725023744323,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":9420,"timestamp":8211624790045,"id":1982,"parentId":1981,"tags":{},"startTime":1725023744412,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8211624799524,"id":1984,"parentId":1981,"tags":{},"startTime":1725023744421,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":3158,"timestamp":8211624799678,"id":1985,"parentId":1981,"tags":{},"startTime":1725023744421,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":15,"timestamp":8211624802879,"id":1986,"parentId":1981,"tags":{},"startTime":1725023744425,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":14,"timestamp":8211624802917,"id":1987,"parentId":1981,"tags":{},"startTime":1725023744425,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":6237,"timestamp":8211624799509,"id":1983,"parentId":1981,"tags":{},"startTime":1725023744421,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1117,"timestamp":8211624811839,"id":1988,"parentId":1981,"tags":{},"startTime":1725023744434,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3899,"timestamp":8211624812976,"id":1989,"parentId":1981,"tags":{},"startTime":1725023744435,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":5220,"timestamp":8211624828533,"id":1990,"parentId":1981,"tags":{},"startTime":1725023744450,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":524,"timestamp":8211624833752,"id":1991,"parentId":1981,"tags":{},"startTime":1725023744456,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":590,"timestamp":8211624834258,"id":1992,"parentId":1981,"tags":{},"startTime":1725023744456,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":9906,"timestamp":8211624834860,"id":1993,"parentId":1981,"tags":{},"startTime":1725023744457,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":67985,"timestamp":8211624784715,"id":1981,"parentId":1961,"tags":{},"startTime":1725023744406,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":157708,"timestamp":8211624700058,"id":1961,"parentId":1959,"tags":{"name":"server"},"startTime":1725023744322,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":4464,"timestamp":8211624857828,"id":1994,"parentId":1959,"tags":{},"startTime":1725023744480,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":187797,"timestamp":8211624674986,"id":1959,"parentId":3,"tags":{"trigger":"src/components/Speakers.jsx"},"startTime":1725023744297,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":5939,"timestamp":8211624871603,"id":2002,"parentId":1996,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023744493,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7511,"timestamp":8211624879297,"id":2008,"parentId":2007,"tags":{},"startTime":1725023744501,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7625,"timestamp":8211624879195,"id":2007,"parentId":2005,"tags":{},"startTime":1725023744501,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":13084,"timestamp":8211624878393,"id":2005,"parentId":1995,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"app-pages-browser"},"startTime":1725023744500,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":20098,"timestamp":8211624871534,"id":1997,"parentId":1996,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725023744493,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":29512,"timestamp":8211624871595,"id":2000,"parentId":1996,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725023744493,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":31065,"timestamp":8211624871606,"id":2003,"parentId":1996,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023744493,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5325,"timestamp":8211624897635,"id":2010,"parentId":2009,"tags":{},"startTime":1725023744519,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":37002,"timestamp":8211624871585,"id":1998,"parentId":1996,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725023744493,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":280950,"timestamp":8211624903044,"id":2012,"parentId":2011,"tags":{},"startTime":1725023744525,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":282216,"timestamp":8211624903004,"id":2011,"parentId":2009,"tags":{},"startTime":1725023744525,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":16624,"timestamp":8211625185270,"id":2013,"parentId":2009,"tags":{"astUsed":"true"},"startTime":1725023744807,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":306254,"timestamp":8211624897381,"id":2009,"parentId":2006,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725023744519,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":332998,"timestamp":8211624871591,"id":1999,"parentId":1996,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023744493,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":333020,"timestamp":8211624871610,"id":2004,"parentId":1996,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023744493,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":329468,"timestamp":8211624878792,"id":2006,"parentId":1995,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725023744501,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":44,"timestamp":8211625208482,"id":2014,"parentId":2006,"tags":{},"startTime":1725023744830,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":336957,"timestamp":8211624871599,"id":2001,"parentId":1996,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023744493,"traceId":"c0436940a62f44fd"},{"name":"make","duration":343168,"timestamp":8211624865412,"id":1996,"parentId":1995,"tags":{},"startTime":1725023744487,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1656,"timestamp":8211625213797,"id":2016,"parentId":2015,"tags":{},"startTime":1725023744836,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":7,"timestamp":8211625215481,"id":2018,"parentId":2015,"tags":{},"startTime":1725023744837,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":75,"timestamp":8211625215504,"id":2019,"parentId":2015,"tags":{},"startTime":1725023744837,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":11,"timestamp":8211625215599,"id":2020,"parentId":2015,"tags":{},"startTime":1725023744837,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8211625215629,"id":2021,"parentId":2015,"tags":{},"startTime":1725023744837,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2370,"timestamp":8211625215472,"id":2017,"parentId":2015,"tags":{},"startTime":1725023744837,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":588,"timestamp":8211625219481,"id":2022,"parentId":2015,"tags":{},"startTime":1725023744841,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5996,"timestamp":8211625220086,"id":2023,"parentId":2015,"tags":{},"startTime":1725023744842,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":5413,"timestamp":8211625227922,"id":2024,"parentId":2015,"tags":{},"startTime":1725023744850,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":176,"timestamp":8211625233334,"id":2025,"parentId":2015,"tags":{},"startTime":1725023744855,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":402,"timestamp":8211625233494,"id":2026,"parentId":2015,"tags":{},"startTime":1725023744855,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":6367,"timestamp":8211625233904,"id":2027,"parentId":2015,"tags":{},"startTime":1725023744856,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":93,"timestamp":8211625242493,"id":2029,"parentId":1995,"tags":{},"startTime":1725023744864,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":191,"timestamp":8211625242404,"id":2028,"parentId":1995,"tags":{},"startTime":1725023744864,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":34085,"timestamp":8211625211426,"id":2015,"parentId":1995,"tags":{},"startTime":1725023744833,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":380620,"timestamp":8211624865081,"id":1995,"parentId":1960,"tags":{"name":"client"},"startTime":1725023744487,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":22483,"timestamp":8211625245752,"id":2030,"parentId":1960,"tags":{},"startTime":1725023744867,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":592174,"timestamp":8211624680133,"id":1960,"parentId":3,"tags":{"trigger":"src/components/Speakers.jsx"},"startTime":1725023744302,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":41,"timestamp":8211625280146,"id":2031,"parentId":3,"tags":{},"startTime":1725023744902,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":135744,"timestamp":8211625282668,"id":2032,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725023744904,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":3,"timestamp":8211625418515,"id":2033,"parentId":2032,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"288735232","memory.heapUsed":"189846384","memory.heapTotal":"253444096"},"startTime":1725023745040,"traceId":"c0436940a62f44fd"},{"name":"client-full-reload","duration":6,"timestamp":8211625421649,"id":2034,"parentId":3,"tags":{"stackTrace":"ReferenceError: MatthewSchutteImage is not defined\n at eval (webpack-internal:///(app-pages-browser)/./src/components/Speakers.jsx:90:24)\n at (app-pages-browser)/./src/components/Speakers.jsx (http://localhost:3000/_next/static/webpack/app/events/versefest/page.ca8e7f53136db4f9.hot-update.js:18:1)\n at options.factory (http://localhost:3000/_next/static/chunks/webpack.js?v=1725023698268:715:31)\n at __webpack_require__ (http://localhost:3000/_next/static/chunks/webpack.js?v=1725023698268:37:33)"},"startTime":1725023745043,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":907144,"timestamp":8211625465771,"id":2035,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725023745088,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8211626373002,"id":2036,"parentId":2035,"tags":{"url":"/events/versefest","memory.rss":"265125888","memory.heapUsed":"180120736","memory.heapTotal":"242073600"},"startTime":1725023745995,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":8,"timestamp":8211626828812,"id":2037,"parentId":3,"tags":{},"startTime":1725023746451,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":61734,"timestamp":8211626953383,"id":2038,"tags":{"url":"/favicon.ico","isTurbopack":false},"startTime":1725023746575,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":15,"timestamp":8211627015257,"id":2039,"parentId":2038,"tags":{"url":"/favicon.ico","memory.rss":"282296320","memory.heapUsed":"195708344","memory.heapTotal":"256524288"},"startTime":1725023746637,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5380,"timestamp":8211637346879,"id":2049,"parentId":2048,"tags":{},"startTime":1725023756968,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5778,"timestamp":8211637346528,"id":2048,"parentId":2047,"tags":{},"startTime":1725023756968,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":13253,"timestamp":8211637345493,"id":2047,"parentId":2042,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"rsc"},"startTime":1725023756967,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":31954,"timestamp":8211637328734,"id":2044,"parentId":2043,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023756950,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":34024,"timestamp":8211637328953,"id":2046,"parentId":2043,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023756950,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":34046,"timestamp":8211637328946,"id":2045,"parentId":2043,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725023756950,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7204,"timestamp":8211637377310,"id":2061,"parentId":2060,"tags":{},"startTime":1725023756999,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7464,"timestamp":8211637377064,"id":2060,"parentId":2059,"tags":{},"startTime":1725023756998,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":11804,"timestamp":8211637376476,"id":2059,"parentId":2042,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"ssr"},"startTime":1725023756998,"traceId":"c0436940a62f44fd"},{"name":"make","duration":106778,"timestamp":8211637314627,"id":2043,"parentId":2042,"tags":{},"startTime":1725023756936,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3031,"timestamp":8211637435252,"id":2063,"parentId":2062,"tags":{},"startTime":1725023757057,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":9,"timestamp":8211637438322,"id":2065,"parentId":2062,"tags":{},"startTime":1725023757060,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2802,"timestamp":8211637438356,"id":2066,"parentId":2062,"tags":{},"startTime":1725023757060,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":14,"timestamp":8211637441190,"id":2067,"parentId":2062,"tags":{},"startTime":1725023757063,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":11,"timestamp":8211637441220,"id":2068,"parentId":2062,"tags":{},"startTime":1725023757063,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":5681,"timestamp":8211637438312,"id":2064,"parentId":2062,"tags":{},"startTime":1725023757060,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":4324,"timestamp":8211637446404,"id":2069,"parentId":2062,"tags":{},"startTime":1725023757068,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3893,"timestamp":8211637450797,"id":2070,"parentId":2062,"tags":{},"startTime":1725023757072,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2055,"timestamp":8211637456496,"id":2071,"parentId":2062,"tags":{},"startTime":1725023757078,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":109,"timestamp":8211637458551,"id":2072,"parentId":2062,"tags":{},"startTime":1725023757080,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":401,"timestamp":8211637458649,"id":2073,"parentId":2062,"tags":{},"startTime":1725023757080,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":3849,"timestamp":8211637459058,"id":2074,"parentId":2062,"tags":{},"startTime":1725023757080,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":33632,"timestamp":8211637431804,"id":2062,"parentId":2042,"tags":{},"startTime":1725023757053,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":159451,"timestamp":8211637313682,"id":2042,"parentId":2040,"tags":{"name":"server"},"startTime":1725023756935,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":6756,"timestamp":8211637473250,"id":2075,"parentId":2040,"tags":{},"startTime":1725023757095,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":180642,"timestamp":8211637300132,"id":2040,"parentId":3,"tags":{"trigger":"src/components/Speakers.jsx"},"startTime":1725023756922,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":7387,"timestamp":8211637492557,"id":2083,"parentId":2077,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023757114,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":11678,"timestamp":8211637492456,"id":2078,"parentId":2077,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725023757114,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7395,"timestamp":8211637501682,"id":2089,"parentId":2088,"tags":{},"startTime":1725023757123,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7552,"timestamp":8211637501538,"id":2088,"parentId":2086,"tags":{},"startTime":1725023757123,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":13450,"timestamp":8211637500753,"id":2086,"parentId":2076,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"app-pages-browser"},"startTime":1725023757122,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":33274,"timestamp":8211637492545,"id":2081,"parentId":2077,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725023757114,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":35057,"timestamp":8211637492563,"id":2084,"parentId":2077,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023757114,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":35563,"timestamp":8211637492526,"id":2079,"parentId":2077,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725023757114,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":19347,"timestamp":8211637508871,"id":2091,"parentId":2090,"tags":{},"startTime":1725023757130,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":80810,"timestamp":8211637492568,"id":2085,"parentId":2077,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023757114,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":189048,"timestamp":8211637528301,"id":2093,"parentId":2092,"tags":{},"startTime":1725023757150,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":189635,"timestamp":8211637528254,"id":2092,"parentId":2090,"tags":{},"startTime":1725023757150,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":30494,"timestamp":8211637717943,"id":2094,"parentId":2090,"tags":{"astUsed":"true"},"startTime":1725023757339,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":242137,"timestamp":8211637508604,"id":2090,"parentId":2087,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725023757130,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":258282,"timestamp":8211637492539,"id":2080,"parentId":2077,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725023757114,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":255275,"timestamp":8211637501173,"id":2087,"parentId":2076,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725023757123,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":84,"timestamp":8211637756846,"id":2095,"parentId":2087,"tags":{},"startTime":1725023757378,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":264532,"timestamp":8211637492550,"id":2082,"parentId":2077,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725023757114,"traceId":"c0436940a62f44fd"},{"name":"make","duration":273808,"timestamp":8211637483321,"id":2077,"parentId":2076,"tags":{},"startTime":1725023757105,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3056,"timestamp":8211637768293,"id":2097,"parentId":2096,"tags":{},"startTime":1725023757390,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":9,"timestamp":8211637771398,"id":2099,"parentId":2096,"tags":{},"startTime":1725023757393,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":121,"timestamp":8211637771463,"id":2100,"parentId":2096,"tags":{},"startTime":1725023757393,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":12,"timestamp":8211637771617,"id":2101,"parentId":2096,"tags":{},"startTime":1725023757393,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":9,"timestamp":8211637771661,"id":2102,"parentId":2096,"tags":{},"startTime":1725023757393,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3327,"timestamp":8211637771382,"id":2098,"parentId":2096,"tags":{},"startTime":1725023757393,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":982,"timestamp":8211637781060,"id":2103,"parentId":2096,"tags":{},"startTime":1725023757402,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":4097,"timestamp":8211637782067,"id":2104,"parentId":2096,"tags":{},"startTime":1725023757403,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":7517,"timestamp":8211637788325,"id":2105,"parentId":2096,"tags":{},"startTime":1725023757410,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":203,"timestamp":8211637795840,"id":2106,"parentId":2096,"tags":{},"startTime":1725023757417,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":417,"timestamp":8211637796023,"id":2107,"parentId":2096,"tags":{},"startTime":1725023757417,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":6823,"timestamp":8211637796451,"id":2108,"parentId":2096,"tags":{},"startTime":1725023757418,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":132,"timestamp":8211637805240,"id":2110,"parentId":2076,"tags":{},"startTime":1725023757427,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":719,"timestamp":8211637804662,"id":2109,"parentId":2076,"tags":{},"startTime":1725023757426,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":45100,"timestamp":8211637764505,"id":2096,"parentId":2076,"tags":{},"startTime":1725023757386,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":326698,"timestamp":8211637482966,"id":2076,"parentId":2041,"tags":{"name":"client"},"startTime":1725023757104,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":11311,"timestamp":8211637809700,"id":2111,"parentId":2041,"tags":{},"startTime":1725023757431,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":521707,"timestamp":8211637300758,"id":2041,"parentId":3,"tags":{"trigger":"src/components/Speakers.jsx"},"startTime":1725023756922,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":9,"timestamp":8211637825746,"id":2112,"parentId":3,"tags":{},"startTime":1725023757447,"traceId":"c0436940a62f44fd"},{"name":"client-full-reload","duration":8,"timestamp":8211638119012,"id":2114,"parentId":3,"tags":{"stackTrace":"TypeError: Failed to fetch\n at __webpack_require__.hmrM (http://localhost:3000/_next/static/chunks/webpack.js:1364:20)"},"startTime":1725023757740,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":435435,"timestamp":8211637845949,"id":2113,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725023757467,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":4,"timestamp":8211638281603,"id":2116,"parentId":2113,"tags":{"url":"/events/versefest","memory.rss":"284213248","memory.heapUsed":"183186984","memory.heapTotal":"249937920"},"startTime":1725023757903,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":316057,"timestamp":8211638180187,"id":2115,"tags":{"url":"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmatthew_schutte.b0043b24.jpeg&w=640&q=75","isTurbopack":false},"startTime":1725023757802,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8211638496330,"id":2117,"parentId":2115,"tags":{"url":"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmatthew_schutte.b0043b24.jpeg&w=640&q=75","memory.rss":"290193408","memory.heapUsed":"184179016","memory.heapTotal":"249937920"},"startTime":1725023758118,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":51595,"timestamp":8211639092553,"id":2118,"tags":{"url":"/favicon.ico","isTurbopack":false},"startTime":1725023758714,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":4,"timestamp":8211639145049,"id":2119,"parentId":2118,"tags":{"url":"/favicon.ico","memory.rss":"107347968","memory.heapUsed":"186009000","memory.heapTotal":"249937920"},"startTime":1725023758766,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":12,"timestamp":8211639211704,"id":2120,"parentId":3,"tags":{},"startTime":1725023758833,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":231047,"timestamp":8212500388456,"id":2121,"tags":{"url":"/","isTurbopack":false},"startTime":1725024620071,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8212500619816,"id":2122,"parentId":2121,"tags":{"url":"/","memory.rss":"112410624","memory.heapUsed":"209723176","memory.heapTotal":"243826688"},"startTime":1725024620302,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8212501408654,"id":2123,"parentId":3,"tags":{},"startTime":1725024621091,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":111038,"timestamp":8213435572655,"id":2124,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725025555242,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8213435684108,"id":2125,"parentId":2124,"tags":{"url":"/events/versefest","memory.rss":"104103936","memory.heapUsed":"197940416","memory.heapTotal":"211582976"},"startTime":1725025555353,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":9,"timestamp":8213436228721,"id":2126,"parentId":3,"tags":{},"startTime":1725025555898,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":37509,"timestamp":8213553363335,"id":2132,"parentId":2130,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025673017,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":86904,"timestamp":8213553388953,"id":2135,"parentId":2134,"tags":{},"startTime":1725025673043,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":87231,"timestamp":8213553388641,"id":2134,"parentId":2133,"tags":{},"startTime":1725025673043,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":104207,"timestamp":8213553387142,"id":2133,"parentId":2129,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx","layer":"rsc"},"startTime":1725025673041,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":131014,"timestamp":8213553363110,"id":2131,"parentId":2130,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025673017,"traceId":"c0436940a62f44fd"},{"name":"make","duration":209448,"timestamp":8213553348979,"id":2130,"parentId":2129,"tags":{},"startTime":1725025673003,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":4880,"timestamp":8213553656847,"id":2146,"parentId":2145,"tags":{},"startTime":1725025673311,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":16,"timestamp":8213553661785,"id":2148,"parentId":2145,"tags":{},"startTime":1725025673316,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":5042,"timestamp":8213553661826,"id":2149,"parentId":2145,"tags":{},"startTime":1725025673316,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":24,"timestamp":8213553666930,"id":2150,"parentId":2145,"tags":{},"startTime":1725025673321,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":12,"timestamp":8213553666987,"id":2151,"parentId":2145,"tags":{},"startTime":1725025673321,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":9583,"timestamp":8213553661767,"id":2147,"parentId":2145,"tags":{},"startTime":1725025673316,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1911,"timestamp":8213553709786,"id":2152,"parentId":2145,"tags":{},"startTime":1725025673364,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":6266,"timestamp":8213553711748,"id":2153,"parentId":2145,"tags":{},"startTime":1725025673366,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":9072,"timestamp":8213553724359,"id":2154,"parentId":2145,"tags":{},"startTime":1725025673378,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":294,"timestamp":8213553733428,"id":2155,"parentId":2145,"tags":{},"startTime":1725025673387,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":892,"timestamp":8213553733692,"id":2156,"parentId":2145,"tags":{},"startTime":1725025673388,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":19124,"timestamp":8213553734601,"id":2157,"parentId":2145,"tags":{},"startTime":1725025673389,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":109075,"timestamp":8213553652037,"id":2145,"parentId":2129,"tags":{},"startTime":1725025673306,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":420857,"timestamp":8213553347739,"id":2129,"parentId":2127,"tags":{"name":"server"},"startTime":1725025673002,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":21019,"timestamp":8213553768802,"id":2158,"parentId":2127,"tags":{},"startTime":1725025673423,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":491242,"timestamp":8213553300233,"id":2127,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025672954,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":6977,"timestamp":8213553813715,"id":2166,"parentId":2160,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025673468,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21166,"timestamp":8213553813243,"id":2161,"parentId":2160,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725025673467,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":29375,"timestamp":8213553813690,"id":2164,"parentId":2160,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725025673468,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":34539,"timestamp":8213553813678,"id":2163,"parentId":2160,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025673468,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":34515,"timestamp":8213553813724,"id":2167,"parentId":2160,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025673468,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":34787,"timestamp":8213553813646,"id":2162,"parentId":2160,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725025673468,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":36207,"timestamp":8213553813733,"id":2168,"parentId":2160,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025673468,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":10562,"timestamp":8213553840124,"id":2171,"parentId":2170,"tags":{},"startTime":1725025673494,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":165796,"timestamp":8213553851011,"id":2173,"parentId":2172,"tags":{},"startTime":1725025673505,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":167908,"timestamp":8213553850745,"id":2172,"parentId":2170,"tags":{},"startTime":1725025673505,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":30961,"timestamp":8213554018760,"id":2174,"parentId":2170,"tags":{"astUsed":"true"},"startTime":1725025673673,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":219107,"timestamp":8213553839677,"id":2170,"parentId":2169,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725025673494,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":245884,"timestamp":8213553822772,"id":2169,"parentId":2159,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725025673477,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":108,"timestamp":8213554068866,"id":2175,"parentId":2169,"tags":{},"startTime":1725025673723,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":255314,"timestamp":8213553813700,"id":2165,"parentId":2160,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025673468,"traceId":"c0436940a62f44fd"},{"name":"make","duration":270496,"timestamp":8213553798580,"id":2160,"parentId":2159,"tags":{},"startTime":1725025673453,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2456,"timestamp":8213554127005,"id":2177,"parentId":2176,"tags":{},"startTime":1725025673781,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":9,"timestamp":8213554129513,"id":2179,"parentId":2176,"tags":{},"startTime":1725025673784,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":127,"timestamp":8213554129623,"id":2180,"parentId":2176,"tags":{},"startTime":1725025673784,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":10,"timestamp":8213554129784,"id":2181,"parentId":2176,"tags":{},"startTime":1725025673784,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":8,"timestamp":8213554129821,"id":2182,"parentId":2176,"tags":{},"startTime":1725025673784,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2981,"timestamp":8213554129493,"id":2178,"parentId":2176,"tags":{},"startTime":1725025673784,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":740,"timestamp":8213554134695,"id":2183,"parentId":2176,"tags":{},"startTime":1725025673789,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3115,"timestamp":8213554135465,"id":2184,"parentId":2176,"tags":{},"startTime":1725025673790,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":54372,"timestamp":8213554142141,"id":2185,"parentId":2176,"tags":{},"startTime":1725025673796,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":303,"timestamp":8213554196510,"id":2186,"parentId":2176,"tags":{},"startTime":1725025673851,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":562,"timestamp":8213554196784,"id":2187,"parentId":2176,"tags":{},"startTime":1725025673851,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":6827,"timestamp":8213554197359,"id":2188,"parentId":2176,"tags":{},"startTime":1725025673851,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":973,"timestamp":8213554210267,"id":2190,"parentId":2159,"tags":{},"startTime":1725025673864,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":1652,"timestamp":8213554209631,"id":2189,"parentId":2159,"tags":{},"startTime":1725025673864,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":98427,"timestamp":8213554123658,"id":2176,"parentId":2159,"tags":{},"startTime":1725025673778,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":425977,"timestamp":8213553796274,"id":2159,"parentId":2128,"tags":{"name":"client"},"startTime":1725025673450,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":14376,"timestamp":8213554222367,"id":2191,"parentId":2128,"tags":{},"startTime":1725025673876,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":939052,"timestamp":8213553302100,"id":2128,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025672956,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":8,"timestamp":8213554259574,"id":2192,"parentId":3,"tags":{},"startTime":1725025673914,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":1249000,"timestamp":8213553306267,"id":2194,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725025674210,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":298530,"timestamp":8213554264028,"id":2193,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725025673918,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":3,"timestamp":8213554562655,"id":2195,"parentId":2193,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"303890432","memory.heapUsed":"205907688","memory.heapTotal":"249724928"},"startTime":1725025674217,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":29873,"timestamp":8213671885877,"id":2201,"parentId":2199,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025791538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":80773,"timestamp":8213671905535,"id":2204,"parentId":2203,"tags":{},"startTime":1725025791558,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":81044,"timestamp":8213671905282,"id":2203,"parentId":2202,"tags":{},"startTime":1725025791557,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":96821,"timestamp":8213671903968,"id":2202,"parentId":2198,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx","layer":"rsc"},"startTime":1725025791556,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":117711,"timestamp":8213671885629,"id":2200,"parentId":2199,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025791538,"traceId":"c0436940a62f44fd"},{"name":"make","duration":157383,"timestamp":8213671875080,"id":2199,"parentId":2198,"tags":{},"startTime":1725025791527,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":10407,"timestamp":8213672085318,"id":2215,"parentId":2214,"tags":{},"startTime":1725025791737,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":10,"timestamp":8213672095813,"id":2217,"parentId":2214,"tags":{},"startTime":1725025791748,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":4878,"timestamp":8213672095890,"id":2218,"parentId":2214,"tags":{},"startTime":1725025791748,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":15,"timestamp":8213672100838,"id":2219,"parentId":2214,"tags":{},"startTime":1725025791753,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":7,"timestamp":8213672100896,"id":2220,"parentId":2214,"tags":{},"startTime":1725025791753,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":7134,"timestamp":8213672095753,"id":2216,"parentId":2214,"tags":{},"startTime":1725025791748,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1535,"timestamp":8213672107104,"id":2221,"parentId":2214,"tags":{},"startTime":1725025791759,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2520,"timestamp":8213672108666,"id":2222,"parentId":2214,"tags":{},"startTime":1725025791761,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":4725,"timestamp":8213672113167,"id":2223,"parentId":2214,"tags":{},"startTime":1725025791765,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":174,"timestamp":8213672117891,"id":2224,"parentId":2214,"tags":{},"startTime":1725025791770,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":343,"timestamp":8213672118051,"id":2225,"parentId":2214,"tags":{},"startTime":1725025791770,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":2953,"timestamp":8213672118401,"id":2226,"parentId":2214,"tags":{},"startTime":1725025791770,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":47136,"timestamp":8213672079150,"id":2214,"parentId":2198,"tags":{},"startTime":1725025791731,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":254898,"timestamp":8213671873872,"id":2198,"parentId":2196,"tags":{"name":"server"},"startTime":1725025791526,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":6935,"timestamp":8213672128840,"id":2227,"parentId":2196,"tags":{},"startTime":1725025791781,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":308458,"timestamp":8213671828166,"id":2196,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025791480,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":11072,"timestamp":8213672153185,"id":2235,"parentId":2229,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025791805,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":17395,"timestamp":8213672153088,"id":2230,"parentId":2229,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725025791805,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":22596,"timestamp":8213672153172,"id":2233,"parentId":2229,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725025791805,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23283,"timestamp":8213672153165,"id":2232,"parentId":2229,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025791805,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23264,"timestamp":8213672153190,"id":2236,"parentId":2229,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025791805,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23433,"timestamp":8213672153157,"id":2231,"parentId":2229,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725025791805,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2693,"timestamp":8213672174305,"id":2240,"parentId":2239,"tags":{},"startTime":1725025791826,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":36220,"timestamp":8213672153195,"id":2237,"parentId":2229,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025791805,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":83843,"timestamp":8213672177104,"id":2242,"parentId":2241,"tags":{},"startTime":1725025791829,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":84922,"timestamp":8213672177022,"id":2241,"parentId":2239,"tags":{},"startTime":1725025791829,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":17011,"timestamp":8213672262022,"id":2243,"parentId":2239,"tags":{"astUsed":"true"},"startTime":1725025791914,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":112238,"timestamp":8213672174052,"id":2239,"parentId":2238,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725025791826,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":130974,"timestamp":8213672165535,"id":2238,"parentId":2228,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725025791818,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":83,"timestamp":8213672296773,"id":2244,"parentId":2238,"tags":{},"startTime":1725025791949,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":143710,"timestamp":8213672153177,"id":2234,"parentId":2229,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025791805,"traceId":"c0436940a62f44fd"},{"name":"make","duration":155319,"timestamp":8213672141616,"id":2229,"parentId":2228,"tags":{},"startTime":1725025791794,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":5387,"timestamp":8213672338705,"id":2246,"parentId":2245,"tags":{},"startTime":1725025791991,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8213672344136,"id":2248,"parentId":2245,"tags":{},"startTime":1725025791996,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":129,"timestamp":8213672344245,"id":2249,"parentId":2245,"tags":{},"startTime":1725025791996,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":8,"timestamp":8213672344432,"id":2250,"parentId":2245,"tags":{},"startTime":1725025791996,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8213672344488,"id":2251,"parentId":2245,"tags":{},"startTime":1725025791996,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2533,"timestamp":8213672344123,"id":2247,"parentId":2245,"tags":{},"startTime":1725025791996,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":833,"timestamp":8213672348044,"id":2252,"parentId":2245,"tags":{},"startTime":1725025792000,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2869,"timestamp":8213672349006,"id":2253,"parentId":2245,"tags":{},"startTime":1725025792001,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":16680,"timestamp":8213672354821,"id":2254,"parentId":2245,"tags":{},"startTime":1725025792007,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":282,"timestamp":8213672371499,"id":2255,"parentId":2245,"tags":{},"startTime":1725025792024,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":6249,"timestamp":8213672371756,"id":2256,"parentId":2245,"tags":{},"startTime":1725025792024,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":2812,"timestamp":8213672378046,"id":2257,"parentId":2245,"tags":{},"startTime":1725025792030,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":1260,"timestamp":8213672384115,"id":2259,"parentId":2228,"tags":{},"startTime":1725025792036,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":1527,"timestamp":8213672383867,"id":2258,"parentId":2228,"tags":{},"startTime":1725025792036,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":52043,"timestamp":8213672335934,"id":2245,"parentId":2228,"tags":{},"startTime":1725025791988,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":247521,"timestamp":8213672140512,"id":2228,"parentId":2197,"tags":{"name":"client"},"startTime":1725025791793,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":7270,"timestamp":8213672388092,"id":2260,"parentId":2197,"tags":{},"startTime":1725025792040,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":568426,"timestamp":8213671829292,"id":2197,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025791481,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":4,"timestamp":8213672401923,"id":2261,"parentId":3,"tags":{},"startTime":1725025792054,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":581000,"timestamp":8213671833622,"id":2263,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725025792165,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":110324,"timestamp":8213672406082,"id":2262,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725025792058,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8213672516438,"id":2264,"parentId":2262,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"285261824","memory.heapUsed":"208503376","memory.heapTotal":"253657088"},"startTime":1725025792168,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":37890,"timestamp":8213709793150,"id":2270,"parentId":2268,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025829445,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12108,"timestamp":8213709819715,"id":2273,"parentId":2272,"tags":{},"startTime":1725025829471,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12482,"timestamp":8213709819346,"id":2272,"parentId":2271,"tags":{},"startTime":1725025829471,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":23593,"timestamp":8213709818145,"id":2271,"parentId":2267,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx","layer":"rsc"},"startTime":1725025829470,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":57526,"timestamp":8213709792851,"id":2269,"parentId":2268,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025829444,"traceId":"c0436940a62f44fd"},{"name":"make","duration":81716,"timestamp":8213709787484,"id":2268,"parentId":2267,"tags":{},"startTime":1725025829439,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2442,"timestamp":8213709879835,"id":2284,"parentId":2283,"tags":{},"startTime":1725025829531,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":10,"timestamp":8213709882313,"id":2286,"parentId":2283,"tags":{},"startTime":1725025829534,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":3137,"timestamp":8213709882428,"id":2287,"parentId":2283,"tags":{},"startTime":1725025829534,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":21,"timestamp":8213709885624,"id":2288,"parentId":2283,"tags":{},"startTime":1725025829537,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8213709885663,"id":2289,"parentId":2283,"tags":{},"startTime":1725025829537,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":6918,"timestamp":8213709882301,"id":2285,"parentId":2283,"tags":{},"startTime":1725025829534,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1732,"timestamp":8213709890727,"id":2290,"parentId":2283,"tags":{},"startTime":1725025829542,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3028,"timestamp":8213709892479,"id":2291,"parentId":2283,"tags":{},"startTime":1725025829544,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1715,"timestamp":8213709898735,"id":2292,"parentId":2283,"tags":{},"startTime":1725025829550,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":117,"timestamp":8213709900450,"id":2293,"parentId":2283,"tags":{},"startTime":1725025829552,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":315,"timestamp":8213709900556,"id":2294,"parentId":2283,"tags":{},"startTime":1725025829552,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":1916,"timestamp":8213709900877,"id":2295,"parentId":2283,"tags":{},"startTime":1725025829552,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":30550,"timestamp":8213709875566,"id":2283,"parentId":2267,"tags":{},"startTime":1725025829527,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":125531,"timestamp":8213709784746,"id":2267,"parentId":2265,"tags":{"name":"server"},"startTime":1725025829436,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":6348,"timestamp":8213709910361,"id":2296,"parentId":2265,"tags":{},"startTime":1725025829562,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":164480,"timestamp":8213709752928,"id":2265,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025829404,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3260,"timestamp":8213709931215,"id":2304,"parentId":2298,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025829583,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":7147,"timestamp":8213709931125,"id":2299,"parentId":2298,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725025829582,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14744,"timestamp":8213709931200,"id":2302,"parentId":2298,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725025829583,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15567,"timestamp":8213709931193,"id":2301,"parentId":2298,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025829583,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15544,"timestamp":8213709931221,"id":2305,"parentId":2298,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025829583,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15710,"timestamp":8213709931183,"id":2300,"parentId":2298,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725025829583,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2887,"timestamp":8213709944080,"id":2309,"parentId":2308,"tags":{},"startTime":1725025829595,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":109231,"timestamp":8213709947061,"id":2311,"parentId":2310,"tags":{},"startTime":1725025829598,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":109737,"timestamp":8213709947006,"id":2310,"parentId":2308,"tags":{},"startTime":1725025829598,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":23427,"timestamp":8213710056793,"id":2312,"parentId":2308,"tags":{"astUsed":"true"},"startTime":1725025829708,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":138839,"timestamp":8213709943838,"id":2308,"parentId":2307,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725025829595,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":152186,"timestamp":8213709931227,"id":2306,"parentId":2298,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025829583,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":153270,"timestamp":8213709935262,"id":2307,"parentId":2297,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725025829587,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":82,"timestamp":8213710092938,"id":2313,"parentId":2307,"tags":{},"startTime":1725025829744,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":161875,"timestamp":8213709931206,"id":2303,"parentId":2298,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025829583,"traceId":"c0436940a62f44fd"},{"name":"make","duration":172611,"timestamp":8213709920506,"id":2298,"parentId":2297,"tags":{},"startTime":1725025829572,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2675,"timestamp":8213710103926,"id":2315,"parentId":2314,"tags":{},"startTime":1725025829755,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":11,"timestamp":8213710106656,"id":2317,"parentId":2314,"tags":{},"startTime":1725025829758,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":117,"timestamp":8213710106693,"id":2318,"parentId":2314,"tags":{},"startTime":1725025829758,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":10,"timestamp":8213710106842,"id":2319,"parentId":2314,"tags":{},"startTime":1725025829758,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":8,"timestamp":8213710106882,"id":2320,"parentId":2314,"tags":{},"startTime":1725025829758,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":1687,"timestamp":8213710106639,"id":2316,"parentId":2314,"tags":{},"startTime":1725025829758,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":823,"timestamp":8213710110324,"id":2321,"parentId":2314,"tags":{},"startTime":1725025829762,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3817,"timestamp":8213710111174,"id":2322,"parentId":2314,"tags":{},"startTime":1725025829763,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":7755,"timestamp":8213710118787,"id":2323,"parentId":2314,"tags":{},"startTime":1725025829770,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":236,"timestamp":8213710126540,"id":2324,"parentId":2314,"tags":{},"startTime":1725025829778,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":459,"timestamp":8213710126755,"id":2325,"parentId":2314,"tags":{},"startTime":1725025829778,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":12375,"timestamp":8213710127227,"id":2326,"parentId":2314,"tags":{},"startTime":1725025829779,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":107,"timestamp":8213710142200,"id":2328,"parentId":2297,"tags":{},"startTime":1725025829794,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":232,"timestamp":8213710142093,"id":2327,"parentId":2297,"tags":{},"startTime":1725025829793,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":47495,"timestamp":8213710098992,"id":2314,"parentId":2297,"tags":{},"startTime":1725025829750,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":226481,"timestamp":8213709920074,"id":2297,"parentId":2266,"tags":{"name":"client"},"startTime":1725025829571,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":10347,"timestamp":8213710146590,"id":2329,"parentId":2266,"tags":{},"startTime":1725025829798,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":405235,"timestamp":8213709754009,"id":2266,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025829405,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":6,"timestamp":8213710164575,"id":2330,"parentId":3,"tags":{},"startTime":1725025829816,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":431000,"timestamp":8213709757894,"id":2332,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725025829848,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":120127,"timestamp":8213710168427,"id":2331,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725025829820,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8213710288591,"id":2333,"parentId":2331,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"259244032","memory.heapUsed":"201369752","memory.heapTotal":"261521408"},"startTime":1725025829940,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":11041,"timestamp":8213744208697,"id":2343,"parentId":2337,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025863859,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":16475,"timestamp":8213744208345,"id":2338,"parentId":2337,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725025863859,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":22068,"timestamp":8213744208703,"id":2344,"parentId":2337,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025863859,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2151,"timestamp":8213744228747,"id":2348,"parentId":2347,"tags":{},"startTime":1725025863880,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":29397,"timestamp":8213744208664,"id":2339,"parentId":2337,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725025863859,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":30681,"timestamp":8213744208680,"id":2341,"parentId":2337,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725025863859,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":30693,"timestamp":8213744208674,"id":2340,"parentId":2337,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025863859,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":92700,"timestamp":8213744231086,"id":2350,"parentId":2349,"tags":{},"startTime":1725025863882,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":93205,"timestamp":8213744230965,"id":2349,"parentId":2347,"tags":{},"startTime":1725025863882,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":21646,"timestamp":8213744324233,"id":2351,"parentId":2347,"tags":{"astUsed":"true"},"startTime":1725025863975,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":119359,"timestamp":8213744228586,"id":2347,"parentId":2346,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725025863879,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":131205,"timestamp":8213744220780,"id":2346,"parentId":2336,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725025863872,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":42,"timestamp":8213744352452,"id":2352,"parentId":2346,"tags":{},"startTime":1725025864003,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":144134,"timestamp":8213744208684,"id":2342,"parentId":2337,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025863859,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":145935,"timestamp":8213744208707,"id":2345,"parentId":2337,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025863859,"traceId":"c0436940a62f44fd"},{"name":"make","duration":147629,"timestamp":8213744207038,"id":2337,"parentId":2336,"tags":{},"startTime":1725025863858,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1547,"timestamp":8213744359606,"id":2354,"parentId":2353,"tags":{},"startTime":1725025864010,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":7,"timestamp":8213744361174,"id":2356,"parentId":2353,"tags":{},"startTime":1725025864012,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":80,"timestamp":8213744361204,"id":2357,"parentId":2353,"tags":{},"startTime":1725025864012,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":7,"timestamp":8213744361427,"id":2358,"parentId":2353,"tags":{},"startTime":1725025864012,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":15,"timestamp":8213744362152,"id":2359,"parentId":2353,"tags":{},"startTime":1725025864013,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2750,"timestamp":8213744361168,"id":2355,"parentId":2353,"tags":{},"startTime":1725025864012,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":345,"timestamp":8213744364861,"id":2360,"parentId":2353,"tags":{},"startTime":1725025864016,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":1384,"timestamp":8213744365215,"id":2361,"parentId":2353,"tags":{},"startTime":1725025864016,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3327,"timestamp":8213744367880,"id":2362,"parentId":2353,"tags":{},"startTime":1725025864019,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":106,"timestamp":8213744371206,"id":2363,"parentId":2353,"tags":{},"startTime":1725025864022,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":285,"timestamp":8213744371305,"id":2364,"parentId":2353,"tags":{},"startTime":1725025864022,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":5470,"timestamp":8213744371596,"id":2365,"parentId":2353,"tags":{},"startTime":1725025864022,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":124,"timestamp":8213744378297,"id":2367,"parentId":2336,"tags":{},"startTime":1725025864029,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":208,"timestamp":8213744378221,"id":2366,"parentId":2336,"tags":{},"startTime":1725025864029,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":23553,"timestamp":8213744357511,"id":2353,"parentId":2336,"tags":{},"startTime":1725025864008,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":179273,"timestamp":8213744201837,"id":2336,"parentId":2334,"tags":{"name":"client"},"startTime":1725025863853,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":5898,"timestamp":8213744381136,"id":2368,"parentId":2334,"tags":{},"startTime":1725025864032,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":216601,"timestamp":8213744171137,"id":2334,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025863822,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":34,"timestamp":8213744405120,"id":2371,"parentId":3,"tags":{},"startTime":1725025864056,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":240000,"timestamp":8213744174204,"id":2374,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725025864067,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":24128,"timestamp":8213744410666,"id":2373,"parentId":2370,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025864061,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8905,"timestamp":8213744427491,"id":2377,"parentId":2376,"tags":{},"startTime":1725025864078,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9356,"timestamp":8213744427045,"id":2376,"parentId":2375,"tags":{},"startTime":1725025864078,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":12347,"timestamp":8213744426506,"id":2375,"parentId":2369,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx","layer":"rsc"},"startTime":1725025864077,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":29668,"timestamp":8213744410616,"id":2372,"parentId":2370,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025864061,"traceId":"c0436940a62f44fd"},{"name":"make","duration":61228,"timestamp":8213744392346,"id":2370,"parentId":2369,"tags":{},"startTime":1725025864043,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1468,"timestamp":8213744460114,"id":2388,"parentId":2387,"tags":{},"startTime":1725025864111,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":3,"timestamp":8213744461611,"id":2390,"parentId":2387,"tags":{},"startTime":1725025864112,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":1776,"timestamp":8213744461630,"id":2391,"parentId":2387,"tags":{},"startTime":1725025864112,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":5,"timestamp":8213744463434,"id":2392,"parentId":2387,"tags":{},"startTime":1725025864114,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":8,"timestamp":8213744463452,"id":2393,"parentId":2387,"tags":{},"startTime":1725025864114,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3831,"timestamp":8213744461602,"id":2389,"parentId":2387,"tags":{},"startTime":1725025864112,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":470,"timestamp":8213744466903,"id":2394,"parentId":2387,"tags":{},"startTime":1725025864118,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2162,"timestamp":8213744467385,"id":2395,"parentId":2387,"tags":{},"startTime":1725025864118,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1434,"timestamp":8213744470798,"id":2396,"parentId":2387,"tags":{},"startTime":1725025864122,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":81,"timestamp":8213744472231,"id":2397,"parentId":2387,"tags":{},"startTime":1725025864123,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":263,"timestamp":8213744472305,"id":2398,"parentId":2387,"tags":{},"startTime":1725025864123,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":4809,"timestamp":8213744472574,"id":2399,"parentId":2387,"tags":{},"startTime":1725025864123,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":22016,"timestamp":8213744457225,"id":2387,"parentId":2369,"tags":{},"startTime":1725025864108,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":91952,"timestamp":8213744389646,"id":2369,"parentId":2335,"tags":{"name":"server"},"startTime":1725025864040,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":5540,"timestamp":8213744481626,"id":2400,"parentId":2335,"tags":{},"startTime":1725025864132,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":313856,"timestamp":8213744174022,"id":2335,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025863825,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":69308,"timestamp":8213744495695,"id":2401,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725025864146,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8213744565042,"id":2402,"parentId":2401,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"233570304","memory.heapUsed":"223204672","memory.heapTotal":"256802816"},"startTime":1725025864216,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4658,"timestamp":8213845923162,"id":2411,"parentId":2410,"tags":{},"startTime":1725025965572,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4957,"timestamp":8213845922893,"id":2410,"parentId":2409,"tags":{},"startTime":1725025965572,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":14496,"timestamp":8213845922102,"id":2409,"parentId":2405,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx","layer":"rsc"},"startTime":1725025965571,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":40278,"timestamp":8213845900234,"id":2408,"parentId":2406,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025965549,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":42269,"timestamp":8213845899965,"id":2407,"parentId":2406,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025965549,"traceId":"c0436940a62f44fd"},{"name":"make","duration":68080,"timestamp":8213845893149,"id":2406,"parentId":2405,"tags":{},"startTime":1725025965542,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3840,"timestamp":8213846015684,"id":2422,"parentId":2421,"tags":{},"startTime":1725025965665,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":11,"timestamp":8213846019564,"id":2424,"parentId":2421,"tags":{},"startTime":1725025965669,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2675,"timestamp":8213846019602,"id":2425,"parentId":2421,"tags":{},"startTime":1725025965669,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":14,"timestamp":8213846022309,"id":2426,"parentId":2421,"tags":{},"startTime":1725025965671,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8213846022338,"id":2427,"parentId":2421,"tags":{},"startTime":1725025965671,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":4944,"timestamp":8213846019553,"id":2423,"parentId":2421,"tags":{},"startTime":1725025965669,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":784,"timestamp":8213846028853,"id":2428,"parentId":2421,"tags":{},"startTime":1725025965678,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3324,"timestamp":8213846029655,"id":2429,"parentId":2421,"tags":{},"startTime":1725025965679,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2916,"timestamp":8213846034957,"id":2430,"parentId":2421,"tags":{},"startTime":1725025965684,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":273,"timestamp":8213846037870,"id":2431,"parentId":2421,"tags":{},"startTime":1725025965687,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":741,"timestamp":8213846038119,"id":2432,"parentId":2421,"tags":{},"startTime":1725025965687,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":3433,"timestamp":8213846038875,"id":2433,"parentId":2421,"tags":{},"startTime":1725025965688,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":35452,"timestamp":8213846012472,"id":2421,"parentId":2405,"tags":{},"startTime":1725025965662,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":162189,"timestamp":8213845892129,"id":2405,"parentId":2403,"tags":{"name":"server"},"startTime":1725025965541,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":12626,"timestamp":8213846054591,"id":2434,"parentId":2403,"tags":{},"startTime":1725025965704,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":210461,"timestamp":8213845857724,"id":2403,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025965507,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":11578,"timestamp":8213846080651,"id":2442,"parentId":2436,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025965730,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14770,"timestamp":8213846080538,"id":2437,"parentId":2436,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725025965730,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":20397,"timestamp":8213846080634,"id":2440,"parentId":2436,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725025965730,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21538,"timestamp":8213846080624,"id":2439,"parentId":2436,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025965730,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21516,"timestamp":8213846080658,"id":2443,"parentId":2436,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025965730,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21738,"timestamp":8213846080610,"id":2438,"parentId":2436,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725025965730,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3919,"timestamp":8213846098555,"id":2447,"parentId":2446,"tags":{},"startTime":1725025965748,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":121378,"timestamp":8213846102563,"id":2449,"parentId":2448,"tags":{},"startTime":1725025965752,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":123403,"timestamp":8213846102518,"id":2448,"parentId":2446,"tags":{},"startTime":1725025965752,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":33270,"timestamp":8213846226027,"id":2450,"parentId":2446,"tags":{"astUsed":"true"},"startTime":1725025965875,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":181112,"timestamp":8213846098431,"id":2446,"parentId":2445,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725025965747,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":199720,"timestamp":8213846080666,"id":2444,"parentId":2436,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025965730,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":194298,"timestamp":8213846092923,"id":2445,"parentId":2435,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725025965742,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":70,"timestamp":8213846287500,"id":2451,"parentId":2445,"tags":{},"startTime":1725025965937,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":206972,"timestamp":8213846080642,"id":2441,"parentId":2436,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025965730,"traceId":"c0436940a62f44fd"},{"name":"make","duration":217191,"timestamp":8213846070462,"id":2436,"parentId":2435,"tags":{},"startTime":1725025965719,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3276,"timestamp":8213846347045,"id":2453,"parentId":2452,"tags":{},"startTime":1725025965996,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8213846350363,"id":2455,"parentId":2452,"tags":{},"startTime":1725025965999,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":192,"timestamp":8213846350399,"id":2456,"parentId":2452,"tags":{},"startTime":1725025965999,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":12,"timestamp":8213846350718,"id":2457,"parentId":2452,"tags":{},"startTime":1725025966000,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":7,"timestamp":8213846350773,"id":2458,"parentId":2452,"tags":{},"startTime":1725025966000,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":15331,"timestamp":8213846350350,"id":2454,"parentId":2452,"tags":{},"startTime":1725025965999,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":481,"timestamp":8213846367585,"id":2459,"parentId":2452,"tags":{},"startTime":1725025966017,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3180,"timestamp":8213846368086,"id":2460,"parentId":2452,"tags":{},"startTime":1725025966017,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":7475,"timestamp":8213846374000,"id":2461,"parentId":2452,"tags":{},"startTime":1725025966023,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":196,"timestamp":8213846381475,"id":2462,"parentId":2452,"tags":{},"startTime":1725025966030,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":287,"timestamp":8213846381661,"id":2463,"parentId":2452,"tags":{},"startTime":1725025966031,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":5278,"timestamp":8213846381956,"id":2464,"parentId":2452,"tags":{},"startTime":1725025966031,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":647,"timestamp":8213846389501,"id":2466,"parentId":2435,"tags":{},"startTime":1725025966039,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":846,"timestamp":8213846389314,"id":2465,"parentId":2435,"tags":{},"startTime":1725025966038,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":50269,"timestamp":8213846343172,"id":2452,"parentId":2435,"tags":{},"startTime":1725025965992,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":323485,"timestamp":8213846070038,"id":2435,"parentId":2404,"tags":{"name":"client"},"startTime":1725025965719,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":8915,"timestamp":8213846393610,"id":2467,"parentId":2404,"tags":{},"startTime":1725025966043,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":546520,"timestamp":8213845858612,"id":2404,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025965508,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":11,"timestamp":8213846410156,"id":2468,"parentId":3,"tags":{},"startTime":1725025966059,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":561000,"timestamp":8213845862036,"id":2470,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725025966148,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":106479,"timestamp":8213846412891,"id":2469,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725025966062,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8213846519406,"id":2471,"parentId":2469,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"283607040","memory.heapUsed":"213532536","memory.heapTotal":"252772352"},"startTime":1725025966168,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":17964,"timestamp":8213852146993,"id":2477,"parentId":2475,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025971796,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5159,"timestamp":8213852160544,"id":2480,"parentId":2479,"tags":{},"startTime":1725025971809,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5419,"timestamp":8213852160290,"id":2479,"parentId":2478,"tags":{},"startTime":1725025971809,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":11292,"timestamp":8213852159550,"id":2478,"parentId":2474,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx","layer":"rsc"},"startTime":1725025971808,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":25798,"timestamp":8213852146763,"id":2476,"parentId":2475,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725025971796,"traceId":"c0436940a62f44fd"},{"name":"make","duration":56521,"timestamp":8213852129675,"id":2475,"parentId":2474,"tags":{},"startTime":1725025971779,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3433,"timestamp":8213852202685,"id":2491,"parentId":2490,"tags":{},"startTime":1725025971852,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8213852206207,"id":2493,"parentId":2490,"tags":{},"startTime":1725025971855,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":6543,"timestamp":8213852206230,"id":2494,"parentId":2490,"tags":{},"startTime":1725025971855,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":20,"timestamp":8213852212839,"id":2495,"parentId":2490,"tags":{},"startTime":1725025971862,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":7,"timestamp":8213852212885,"id":2496,"parentId":2490,"tags":{},"startTime":1725025971862,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":9955,"timestamp":8213852206197,"id":2492,"parentId":2490,"tags":{},"startTime":1725025971855,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":575,"timestamp":8213852217738,"id":2497,"parentId":2490,"tags":{},"startTime":1725025971867,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2599,"timestamp":8213852218329,"id":2498,"parentId":2490,"tags":{},"startTime":1725025971867,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1505,"timestamp":8213852222324,"id":2499,"parentId":2490,"tags":{},"startTime":1725025971871,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":93,"timestamp":8213852223829,"id":2500,"parentId":2490,"tags":{},"startTime":1725025971873,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":200,"timestamp":8213852223911,"id":2501,"parentId":2490,"tags":{},"startTime":1725025971873,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":1699,"timestamp":8213852224119,"id":2502,"parentId":2490,"tags":{},"startTime":1725025971873,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":37470,"timestamp":8213852190703,"id":2490,"parentId":2474,"tags":{},"startTime":1725025971840,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":103598,"timestamp":8213852127238,"id":2474,"parentId":2472,"tags":{"name":"server"},"startTime":1725025971776,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":4270,"timestamp":8213852230865,"id":2503,"parentId":2472,"tags":{},"startTime":1725025971880,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":140248,"timestamp":8213852095346,"id":2472,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025971744,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3033,"timestamp":8213852246135,"id":2511,"parentId":2505,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025971895,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":6280,"timestamp":8213852246057,"id":2506,"parentId":2505,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725025971895,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":11521,"timestamp":8213852246123,"id":2509,"parentId":2505,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725025971895,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12241,"timestamp":8213852246118,"id":2508,"parentId":2505,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025971895,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12228,"timestamp":8213852246140,"id":2512,"parentId":2505,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025971895,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12390,"timestamp":8213852246109,"id":2507,"parentId":2505,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725025971895,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3053,"timestamp":8213852255521,"id":2516,"parentId":2515,"tags":{},"startTime":1725025971904,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":67014,"timestamp":8213852258665,"id":2518,"parentId":2517,"tags":{},"startTime":1725025971908,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":67359,"timestamp":8213852258617,"id":2517,"parentId":2515,"tags":{},"startTime":1725025971908,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":13810,"timestamp":8213852326021,"id":2519,"parentId":2515,"tags":{"astUsed":"true"},"startTime":1725025971975,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":85998,"timestamp":8213852255353,"id":2515,"parentId":2514,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725025971904,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":95648,"timestamp":8213852246145,"id":2513,"parentId":2505,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725025971895,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":95222,"timestamp":8213852249833,"id":2514,"parentId":2504,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725025971899,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":26,"timestamp":8213852345189,"id":2520,"parentId":2514,"tags":{},"startTime":1725025971994,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":99110,"timestamp":8213852246129,"id":2510,"parentId":2505,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725025971895,"traceId":"c0436940a62f44fd"},{"name":"make","duration":107771,"timestamp":8213852237488,"id":2505,"parentId":2504,"tags":{},"startTime":1725025971886,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1150,"timestamp":8213852353169,"id":2522,"parentId":2521,"tags":{},"startTime":1725025972002,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":4,"timestamp":8213852354343,"id":2524,"parentId":2521,"tags":{},"startTime":1725025972003,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":44,"timestamp":8213852354448,"id":2525,"parentId":2521,"tags":{},"startTime":1725025972003,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":5,"timestamp":8213852354512,"id":2526,"parentId":2521,"tags":{},"startTime":1725025972003,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":3,"timestamp":8213852354533,"id":2527,"parentId":2521,"tags":{},"startTime":1725025972003,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":1180,"timestamp":8213852354335,"id":2523,"parentId":2521,"tags":{},"startTime":1725025972003,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":277,"timestamp":8213852356361,"id":2528,"parentId":2521,"tags":{},"startTime":1725025972005,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":1371,"timestamp":8213852356646,"id":2529,"parentId":2521,"tags":{},"startTime":1725025972006,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3157,"timestamp":8213852359165,"id":2530,"parentId":2521,"tags":{},"startTime":1725025972008,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":106,"timestamp":8213852362321,"id":2531,"parentId":2521,"tags":{},"startTime":1725025972011,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":203,"timestamp":8213852362420,"id":2532,"parentId":2521,"tags":{},"startTime":1725025972011,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":1847,"timestamp":8213852362628,"id":2533,"parentId":2521,"tags":{},"startTime":1725025972012,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":76,"timestamp":8213852365305,"id":2535,"parentId":2504,"tags":{},"startTime":1725025972014,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":136,"timestamp":8213852365250,"id":2534,"parentId":2504,"tags":{},"startTime":1725025972014,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":19595,"timestamp":8213852347652,"id":2521,"parentId":2504,"tags":{},"startTime":1725025971997,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":130071,"timestamp":8213852237204,"id":2504,"parentId":2473,"tags":{"name":"client"},"startTime":1725025971886,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":4170,"timestamp":8213852367296,"id":2536,"parentId":2473,"tags":{},"startTime":1725025972016,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":274669,"timestamp":8213852097760,"id":2473,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725025971747,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":4,"timestamp":8213852376659,"id":2537,"parentId":3,"tags":{},"startTime":1725025972026,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":75626,"timestamp":8213852380236,"id":2538,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725025972029,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8213852455895,"id":2539,"parentId":2538,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"243924992","memory.heapUsed":"225133600","memory.heapTotal":"265617408"},"startTime":1725025972105,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":356000,"timestamp":8213852100271,"id":2540,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725025972105,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":217009,"timestamp":8213870062184,"id":2541,"tags":{"url":"/","isTurbopack":false},"startTime":1725025989711,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8213870279364,"id":2542,"parentId":2541,"tags":{"url":"/","memory.rss":"159154176","memory.heapUsed":"231487608","memory.heapTotal":"270532608"},"startTime":1725025989928,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":7,"timestamp":8213870903711,"id":2543,"parentId":3,"tags":{},"startTime":1725025990552,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":2,"timestamp":8213870904708,"id":2544,"parentId":3,"tags":{},"startTime":1725025990553,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":80604,"timestamp":8213874690329,"id":2545,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725025994339,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8213874771008,"id":2546,"parentId":2545,"tags":{"url":"/events/versefest","memory.rss":"171753472","memory.heapUsed":"238833240","memory.heapTotal":"272515072"},"startTime":1725025994420,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":6,"timestamp":8213875205595,"id":2547,"parentId":3,"tags":{},"startTime":1725025994854,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":6,"timestamp":8213875217843,"id":2548,"parentId":3,"tags":{},"startTime":1725025994866,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23512,"timestamp":8213928679618,"id":2554,"parentId":2552,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026048327,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":75740,"timestamp":8213928695074,"id":2557,"parentId":2556,"tags":{},"startTime":1725026048343,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":75921,"timestamp":8213928694905,"id":2556,"parentId":2555,"tags":{},"startTime":1725026048343,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":81337,"timestamp":8213928694480,"id":2555,"parentId":2551,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx","layer":"rsc"},"startTime":1725026048342,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":99337,"timestamp":8213928679504,"id":2553,"parentId":2552,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026048327,"traceId":"c0436940a62f44fd"},{"name":"make","duration":117183,"timestamp":8213928676471,"id":2552,"parentId":2551,"tags":{},"startTime":1725026048324,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3394,"timestamp":8213928832405,"id":2568,"parentId":2567,"tags":{},"startTime":1725026048480,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":11,"timestamp":8213928835840,"id":2570,"parentId":2567,"tags":{},"startTime":1725026048483,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":3072,"timestamp":8213928835878,"id":2571,"parentId":2567,"tags":{},"startTime":1725026048483,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":12,"timestamp":8213928838987,"id":2572,"parentId":2567,"tags":{},"startTime":1725026048487,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8213928839015,"id":2573,"parentId":2567,"tags":{},"startTime":1725026048487,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":5244,"timestamp":8213928835827,"id":2569,"parentId":2567,"tags":{},"startTime":1725026048483,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1580,"timestamp":8213928845934,"id":2574,"parentId":2567,"tags":{},"startTime":1725026048494,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5741,"timestamp":8213928847558,"id":2575,"parentId":2567,"tags":{},"startTime":1725026048495,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2756,"timestamp":8213928856604,"id":2576,"parentId":2567,"tags":{},"startTime":1725026048504,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":167,"timestamp":8213928859357,"id":2577,"parentId":2567,"tags":{},"startTime":1725026048507,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":277,"timestamp":8213928859513,"id":2578,"parentId":2567,"tags":{},"startTime":1725026048507,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":2916,"timestamp":8213928859797,"id":2579,"parentId":2567,"tags":{},"startTime":1725026048507,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":36719,"timestamp":8213928829371,"id":2567,"parentId":2551,"tags":{},"startTime":1725026048477,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":197131,"timestamp":8213928676044,"id":2551,"parentId":2549,"tags":{"name":"server"},"startTime":1725026048324,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":10151,"timestamp":8213928873282,"id":2580,"parentId":2549,"tags":{},"startTime":1725026048521,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":217357,"timestamp":8213928666645,"id":2549,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725026048314,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3104,"timestamp":8213928892445,"id":2588,"parentId":2582,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026048540,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":9050,"timestamp":8213928892319,"id":2583,"parentId":2582,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026048540,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":13968,"timestamp":8213928892432,"id":2586,"parentId":2582,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026048540,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15139,"timestamp":8213928892426,"id":2585,"parentId":2582,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026048540,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15122,"timestamp":8213928892450,"id":2589,"parentId":2582,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026048540,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15299,"timestamp":8213928892417,"id":2584,"parentId":2582,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026048540,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3656,"timestamp":8213928904144,"id":2593,"parentId":2592,"tags":{},"startTime":1725026048552,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":82062,"timestamp":8213928907997,"id":2595,"parentId":2594,"tags":{},"startTime":1725026048556,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":83081,"timestamp":8213928907825,"id":2594,"parentId":2592,"tags":{},"startTime":1725026048555,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":21046,"timestamp":8213928990955,"id":2596,"parentId":2592,"tags":{"astUsed":"true"},"startTime":1725026048639,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":113750,"timestamp":8213928904029,"id":2592,"parentId":2591,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026048552,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":125849,"timestamp":8213928892455,"id":2590,"parentId":2582,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026048540,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":126916,"timestamp":8213928896130,"id":2591,"parentId":2581,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026048544,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":37,"timestamp":8213929023430,"id":2597,"parentId":2591,"tags":{},"startTime":1725026048671,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":131061,"timestamp":8213928892438,"id":2587,"parentId":2582,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026048540,"traceId":"c0436940a62f44fd"},{"name":"make","duration":137833,"timestamp":8213928885688,"id":2582,"parentId":2581,"tags":{},"startTime":1725026048533,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2111,"timestamp":8213929077646,"id":2599,"parentId":2598,"tags":{},"startTime":1725026048725,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":5,"timestamp":8213929079792,"id":2601,"parentId":2598,"tags":{},"startTime":1725026048727,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":60,"timestamp":8213929079833,"id":2602,"parentId":2598,"tags":{},"startTime":1725026048727,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":11,"timestamp":8213929079920,"id":2603,"parentId":2598,"tags":{},"startTime":1725026048728,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8213929079958,"id":2604,"parentId":2598,"tags":{},"startTime":1725026048728,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2346,"timestamp":8213929079780,"id":2600,"parentId":2598,"tags":{},"startTime":1725026048727,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":618,"timestamp":8213929083426,"id":2605,"parentId":2598,"tags":{},"startTime":1725026048731,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":12730,"timestamp":8213929084056,"id":2606,"parentId":2598,"tags":{},"startTime":1725026048732,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":8723,"timestamp":8213929099210,"id":2607,"parentId":2598,"tags":{},"startTime":1725026048747,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":239,"timestamp":8213929107930,"id":2608,"parentId":2598,"tags":{},"startTime":1725026048756,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":295,"timestamp":8213929108149,"id":2609,"parentId":2598,"tags":{},"startTime":1725026048756,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":3227,"timestamp":8213929108453,"id":2610,"parentId":2598,"tags":{},"startTime":1725026048756,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":706,"timestamp":8213929114060,"id":2612,"parentId":2581,"tags":{},"startTime":1725026048762,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":920,"timestamp":8213929113859,"id":2611,"parentId":2581,"tags":{},"startTime":1725026048761,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":43160,"timestamp":8213929074961,"id":2598,"parentId":2581,"tags":{},"startTime":1725026048723,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":232811,"timestamp":8213928885392,"id":2581,"parentId":2550,"tags":{"name":"client"},"startTime":1725026048533,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":7497,"timestamp":8213929118292,"id":2613,"parentId":2550,"tags":{},"startTime":1725026048766,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":461577,"timestamp":8213928666905,"id":2550,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725026048315,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":5,"timestamp":8213929133396,"id":2614,"parentId":3,"tags":{},"startTime":1725026048781,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":2,"timestamp":8213929134468,"id":2615,"parentId":3,"tags":{},"startTime":1725026048782,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":481000,"timestamp":8213928668004,"id":2618,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026048798,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":485000,"timestamp":8213928668865,"id":2619,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026048913,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":130592,"timestamp":8213929139413,"id":2617,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026048787,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8213929270041,"id":2620,"parentId":2617,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"290865152","memory.heapUsed":"204497720","memory.heapTotal":"255950848"},"startTime":1725026048918,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":132425,"timestamp":8213929137875,"id":2616,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026048785,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8213929270311,"id":2621,"parentId":2616,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"290865152","memory.heapUsed":"204573152","memory.heapTotal":"255950848"},"startTime":1725026048918,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5358,"timestamp":8213945545566,"id":2630,"parentId":2629,"tags":{},"startTime":1725026065193,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5693,"timestamp":8213945545267,"id":2629,"parentId":2628,"tags":{},"startTime":1725026065193,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":13745,"timestamp":8213945544536,"id":2628,"parentId":2624,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Experiences.jsx","layer":"rsc"},"startTime":1725026065192,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":39105,"timestamp":8213945521016,"id":2627,"parentId":2625,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026065168,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":42590,"timestamp":8213945520783,"id":2626,"parentId":2625,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026065168,"traceId":"c0436940a62f44fd"},{"name":"make","duration":69364,"timestamp":8213945514510,"id":2625,"parentId":2624,"tags":{},"startTime":1725026065162,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2821,"timestamp":8213945595275,"id":2641,"parentId":2640,"tags":{},"startTime":1725026065243,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":10,"timestamp":8213945598140,"id":2643,"parentId":2640,"tags":{},"startTime":1725026065245,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":4627,"timestamp":8213945598174,"id":2644,"parentId":2640,"tags":{},"startTime":1725026065245,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":11,"timestamp":8213945602843,"id":2645,"parentId":2640,"tags":{},"startTime":1725026065250,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8213945602869,"id":2646,"parentId":2640,"tags":{},"startTime":1725026065250,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":16082,"timestamp":8213945598129,"id":2642,"parentId":2640,"tags":{},"startTime":1725026065245,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1179,"timestamp":8213945618093,"id":2647,"parentId":2640,"tags":{},"startTime":1725026065265,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":6043,"timestamp":8213945619308,"id":2648,"parentId":2640,"tags":{},"startTime":1725026065267,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2798,"timestamp":8213945629482,"id":2649,"parentId":2640,"tags":{},"startTime":1725026065277,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":139,"timestamp":8213945632279,"id":2650,"parentId":2640,"tags":{},"startTime":1725026065280,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":245,"timestamp":8213945632408,"id":2651,"parentId":2640,"tags":{},"startTime":1725026065280,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":1963,"timestamp":8213945632659,"id":2652,"parentId":2640,"tags":{},"startTime":1725026065280,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":46534,"timestamp":8213945590548,"id":2640,"parentId":2624,"tags":{},"startTime":1725026065238,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":127844,"timestamp":8213945513640,"id":2624,"parentId":2622,"tags":{"name":"server"},"startTime":1725026065161,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":11162,"timestamp":8213945641591,"id":2653,"parentId":2622,"tags":{},"startTime":1725026065289,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":173416,"timestamp":8213945480018,"id":2622,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725026065127,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":5528,"timestamp":8213945664047,"id":2661,"parentId":2655,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026065311,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":10318,"timestamp":8213945663965,"id":2656,"parentId":2655,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026065311,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":16546,"timestamp":8213945664036,"id":2659,"parentId":2655,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026065311,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":20954,"timestamp":8213945664031,"id":2658,"parentId":2655,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026065311,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":20946,"timestamp":8213945664052,"id":2662,"parentId":2655,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026065311,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21109,"timestamp":8213945664021,"id":2657,"parentId":2655,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026065311,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7477,"timestamp":8213945677766,"id":2666,"parentId":2665,"tags":{},"startTime":1725026065325,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":104481,"timestamp":8213945685402,"id":2668,"parentId":2667,"tags":{},"startTime":1725026065333,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":105412,"timestamp":8213945685289,"id":2667,"parentId":2665,"tags":{},"startTime":1725026065333,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":21449,"timestamp":8213945790761,"id":2669,"parentId":2665,"tags":{"astUsed":"true"},"startTime":1725026065438,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":143682,"timestamp":8213945677343,"id":2665,"parentId":2664,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026065325,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":159187,"timestamp":8213945664057,"id":2663,"parentId":2655,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026065311,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":156490,"timestamp":8213945670718,"id":2664,"parentId":2654,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026065318,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":36,"timestamp":8213945827398,"id":2670,"parentId":2664,"tags":{},"startTime":1725026065475,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":163415,"timestamp":8213945664041,"id":2660,"parentId":2655,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026065311,"traceId":"c0436940a62f44fd"},{"name":"make","duration":172026,"timestamp":8213945655452,"id":2655,"parentId":2654,"tags":{},"startTime":1725026065303,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":4497,"timestamp":8213945834865,"id":2672,"parentId":2671,"tags":{},"startTime":1725026065482,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":11,"timestamp":8213945839581,"id":2674,"parentId":2671,"tags":{},"startTime":1725026065487,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":264,"timestamp":8213945839763,"id":2675,"parentId":2671,"tags":{},"startTime":1725026065487,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":10,"timestamp":8213945840093,"id":2676,"parentId":2671,"tags":{},"startTime":1725026065487,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8213945840134,"id":2677,"parentId":2671,"tags":{},"startTime":1725026065487,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":4376,"timestamp":8213945839552,"id":2673,"parentId":2671,"tags":{},"startTime":1725026065487,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1408,"timestamp":8213945845980,"id":2678,"parentId":2671,"tags":{},"startTime":1725026065493,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5513,"timestamp":8213945847416,"id":2679,"parentId":2671,"tags":{},"startTime":1725026065495,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":5453,"timestamp":8213945855147,"id":2680,"parentId":2671,"tags":{},"startTime":1725026065502,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":218,"timestamp":8213945860598,"id":2681,"parentId":2671,"tags":{},"startTime":1725026065508,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":283,"timestamp":8213945860802,"id":2682,"parentId":2671,"tags":{},"startTime":1725026065508,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":10570,"timestamp":8213945861093,"id":2683,"parentId":2671,"tags":{},"startTime":1725026065508,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":188,"timestamp":8213945875171,"id":2685,"parentId":2654,"tags":{},"startTime":1725026065522,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":307,"timestamp":8213945875069,"id":2684,"parentId":2654,"tags":{},"startTime":1725026065522,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":48795,"timestamp":8213945830781,"id":2671,"parentId":2654,"tags":{},"startTime":1725026065478,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":224443,"timestamp":8213945655184,"id":2654,"parentId":2623,"tags":{"name":"client"},"startTime":1725026065303,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":13125,"timestamp":8213945879664,"id":2686,"parentId":2623,"tags":{},"startTime":1725026065527,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":412550,"timestamp":8213945481750,"id":2623,"parentId":3,"tags":{"trigger":"src/components/Experiences.jsx"},"startTime":1725026065129,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":8,"timestamp":8213945905196,"id":2687,"parentId":3,"tags":{},"startTime":1725026065553,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":2,"timestamp":8213945905352,"id":2688,"parentId":3,"tags":{},"startTime":1725026065553,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":452000,"timestamp":8213945485920,"id":2691,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026065588,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":457000,"timestamp":8213945488062,"id":2692,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026065592,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":131374,"timestamp":8213945909077,"id":2689,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026065556,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8213946040524,"id":2693,"parentId":2689,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"265158656","memory.heapUsed":"205644736","memory.heapTotal":"251297792"},"startTime":1725026065688,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":129041,"timestamp":8213945912621,"id":2690,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026065560,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8213946041705,"id":2694,"parentId":2690,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"265158656","memory.heapUsed":"205720224","memory.heapTotal":"251297792"},"startTime":1725026065689,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":10367,"timestamp":8213955632013,"id":2704,"parentId":2698,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026075279,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":18140,"timestamp":8213955631654,"id":2699,"parentId":2698,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026075279,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":24928,"timestamp":8213955632018,"id":2705,"parentId":2698,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026075279,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2624,"timestamp":8213955654428,"id":2709,"parentId":2708,"tags":{},"startTime":1725026075302,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":31322,"timestamp":8213955631979,"id":2700,"parentId":2698,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026075279,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":38714,"timestamp":8213955631996,"id":2702,"parentId":2698,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026075279,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":38734,"timestamp":8213955631990,"id":2701,"parentId":2698,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026075279,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":92568,"timestamp":8213955657198,"id":2711,"parentId":2710,"tags":{},"startTime":1725026075304,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":92975,"timestamp":8213955657118,"id":2710,"parentId":2708,"tags":{},"startTime":1725026075304,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":20436,"timestamp":8213955750172,"id":2712,"parentId":2708,"tags":{"astUsed":"true"},"startTime":1725026075397,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":118506,"timestamp":8213955654215,"id":2708,"parentId":2707,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026075301,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":132947,"timestamp":8213955643494,"id":2707,"parentId":2697,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026075291,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":50,"timestamp":8213955776628,"id":2713,"parentId":2707,"tags":{},"startTime":1725026075424,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":144702,"timestamp":8213955632007,"id":2703,"parentId":2698,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026075279,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":147882,"timestamp":8213955632030,"id":2706,"parentId":2698,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026075279,"traceId":"c0436940a62f44fd"},{"name":"make","duration":149685,"timestamp":8213955630265,"id":2698,"parentId":2697,"tags":{},"startTime":1725026075277,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1829,"timestamp":8213955784742,"id":2715,"parentId":2714,"tags":{},"startTime":1725026075432,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":24,"timestamp":8213955786617,"id":2717,"parentId":2714,"tags":{},"startTime":1725026075434,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":107,"timestamp":8213955786667,"id":2718,"parentId":2714,"tags":{},"startTime":1725026075434,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":11,"timestamp":8213955786805,"id":2719,"parentId":2714,"tags":{},"startTime":1725026075434,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":14,"timestamp":8213955786846,"id":2720,"parentId":2714,"tags":{},"startTime":1725026075434,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":4269,"timestamp":8213955786604,"id":2716,"parentId":2714,"tags":{},"startTime":1725026075434,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":324,"timestamp":8213955791882,"id":2721,"parentId":2714,"tags":{},"startTime":1725026075439,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":1741,"timestamp":8213955792216,"id":2722,"parentId":2714,"tags":{},"startTime":1725026075439,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3741,"timestamp":8213955795885,"id":2723,"parentId":2714,"tags":{},"startTime":1725026075443,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":154,"timestamp":8213955799625,"id":2724,"parentId":2714,"tags":{},"startTime":1725026075447,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":227,"timestamp":8213955799770,"id":2725,"parentId":2714,"tags":{},"startTime":1725026075447,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":7865,"timestamp":8213955800003,"id":2726,"parentId":2714,"tags":{},"startTime":1725026075447,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":74,"timestamp":8213955808882,"id":2728,"parentId":2697,"tags":{},"startTime":1725026075456,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":164,"timestamp":8213955808798,"id":2727,"parentId":2697,"tags":{},"startTime":1725026075456,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":27968,"timestamp":8213955782870,"id":2714,"parentId":2697,"tags":{},"startTime":1725026075430,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":181783,"timestamp":8213955629083,"id":2697,"parentId":2695,"tags":{"name":"client"},"startTime":1725026075276,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":9619,"timestamp":8213955810889,"id":2729,"parentId":2695,"tags":{},"startTime":1725026075458,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":212986,"timestamp":8213955608345,"id":2695,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026075255,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":3,"timestamp":8213955826435,"id":2732,"parentId":3,"tags":{},"startTime":1725026075474,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":0,"timestamp":8213955826486,"id":2733,"parentId":3,"tags":{},"startTime":1725026075474,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":226000,"timestamp":8213955610298,"id":2736,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026075483,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":230000,"timestamp":8213955610130,"id":2737,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026075490,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15499,"timestamp":8213955832302,"id":2735,"parentId":2731,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026075479,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3744,"timestamp":8213955844123,"id":2740,"parentId":2739,"tags":{},"startTime":1725026075491,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3888,"timestamp":8213955843982,"id":2739,"parentId":2738,"tags":{},"startTime":1725026075491,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":5484,"timestamp":8213955843664,"id":2738,"parentId":2730,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx","layer":"rsc"},"startTime":1725026075491,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":101219,"timestamp":8213955832257,"id":2734,"parentId":2731,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026075479,"traceId":"c0436940a62f44fd"},{"name":"make","duration":126789,"timestamp":8213955823940,"id":2731,"parentId":2730,"tags":{},"startTime":1725026075471,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3127,"timestamp":8213955959079,"id":2751,"parentId":2750,"tags":{},"startTime":1725026075606,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8213955962246,"id":2753,"parentId":2750,"tags":{},"startTime":1725026075609,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":3140,"timestamp":8213955962274,"id":2754,"parentId":2750,"tags":{},"startTime":1725026075609,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":10,"timestamp":8213955965524,"id":2755,"parentId":2750,"tags":{},"startTime":1725026075613,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8213955965566,"id":2756,"parentId":2750,"tags":{},"startTime":1725026075613,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":5405,"timestamp":8213955962235,"id":2752,"parentId":2750,"tags":{},"startTime":1725026075609,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1248,"timestamp":8213955969086,"id":2757,"parentId":2750,"tags":{},"startTime":1725026075616,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":10479,"timestamp":8213955970414,"id":2758,"parentId":2750,"tags":{},"startTime":1725026075618,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1389,"timestamp":8213955982393,"id":2759,"parentId":2750,"tags":{},"startTime":1725026075630,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":119,"timestamp":8213955983781,"id":2760,"parentId":2750,"tags":{},"startTime":1725026075631,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":281,"timestamp":8213955983890,"id":2761,"parentId":2750,"tags":{},"startTime":1725026075631,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":1367,"timestamp":8213955984187,"id":2762,"parentId":2750,"tags":{},"startTime":1725026075631,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":33111,"timestamp":8213955955559,"id":2750,"parentId":2730,"tags":{},"startTime":1725026075603,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":168398,"timestamp":8213955823675,"id":2730,"parentId":2696,"tags":{"name":"server"},"startTime":1725026075471,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":18195,"timestamp":8213955992127,"id":2763,"parentId":2696,"tags":{},"startTime":1725026075639,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":403185,"timestamp":8213955609462,"id":2696,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026075257,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":133951,"timestamp":8213956025583,"id":2765,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026075673,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":3,"timestamp":8213956159647,"id":2766,"parentId":2765,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"276496384","memory.heapUsed":"217896824","memory.heapTotal":"264929280"},"startTime":1725026075807,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":136459,"timestamp":8213956024514,"id":2764,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026075672,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":3,"timestamp":8213956161025,"id":2767,"parentId":2764,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"276496384","memory.heapUsed":"217975760","memory.heapTotal":"264929280"},"startTime":1725026075808,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3703,"timestamp":8213956957521,"id":2777,"parentId":2771,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026076605,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":6141,"timestamp":8213956957386,"id":2772,"parentId":2771,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026076605,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":9428,"timestamp":8213956957526,"id":2778,"parentId":2771,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026076605,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1260,"timestamp":8213956965762,"id":2782,"parentId":2781,"tags":{},"startTime":1725026076613,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14899,"timestamp":8213956957494,"id":2773,"parentId":2771,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026076605,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15311,"timestamp":8213956957509,"id":2775,"parentId":2771,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026076605,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15324,"timestamp":8213956957504,"id":2774,"parentId":2771,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026076605,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":86023,"timestamp":8213956967077,"id":2784,"parentId":2783,"tags":{},"startTime":1725026076614,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":86358,"timestamp":8213956967047,"id":2783,"parentId":2781,"tags":{},"startTime":1725026076614,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":16405,"timestamp":8213957053467,"id":2785,"parentId":2781,"tags":{"astUsed":"true"},"startTime":1725026076701,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":105971,"timestamp":8213956965652,"id":2781,"parentId":2780,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026076613,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":113274,"timestamp":8213956961704,"id":2780,"parentId":2770,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026076609,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":40,"timestamp":8213957075585,"id":2786,"parentId":2780,"tags":{},"startTime":1725026076723,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":118580,"timestamp":8213956957515,"id":2776,"parentId":2771,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026076605,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":122422,"timestamp":8213956957531,"id":2779,"parentId":2771,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026076605,"traceId":"c0436940a62f44fd"},{"name":"make","duration":123167,"timestamp":8213956956837,"id":2771,"parentId":2770,"tags":{},"startTime":1725026076604,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2105,"timestamp":8213957093010,"id":2788,"parentId":2787,"tags":{},"startTime":1725026076740,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":9,"timestamp":8213957095146,"id":2790,"parentId":2787,"tags":{},"startTime":1725026076742,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":60,"timestamp":8213957095175,"id":2791,"parentId":2787,"tags":{},"startTime":1725026076742,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":9,"timestamp":8213957095263,"id":2792,"parentId":2787,"tags":{},"startTime":1725026076742,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8213957095297,"id":2793,"parentId":2787,"tags":{},"startTime":1725026076742,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2625,"timestamp":8213957095137,"id":2789,"parentId":2787,"tags":{},"startTime":1725026076742,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":343,"timestamp":8213957099098,"id":2794,"parentId":2787,"tags":{},"startTime":1725026076746,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2050,"timestamp":8213957099454,"id":2795,"parentId":2787,"tags":{},"startTime":1725026076747,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":4718,"timestamp":8213957103747,"id":2796,"parentId":2787,"tags":{},"startTime":1725026076751,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":180,"timestamp":8213957108464,"id":2797,"parentId":2787,"tags":{},"startTime":1725026076756,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":269,"timestamp":8213957108634,"id":2798,"parentId":2787,"tags":{},"startTime":1725026076756,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":2919,"timestamp":8213957108911,"id":2799,"parentId":2787,"tags":{},"startTime":1725026076756,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":89,"timestamp":8213957112943,"id":2801,"parentId":2770,"tags":{},"startTime":1725026076760,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":181,"timestamp":8213957112860,"id":2800,"parentId":2770,"tags":{},"startTime":1725026076760,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":31215,"timestamp":8213957084422,"id":2787,"parentId":2770,"tags":{},"startTime":1725026076732,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":159719,"timestamp":8213956955958,"id":2770,"parentId":2768,"tags":{"name":"client"},"startTime":1725026076603,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":6249,"timestamp":8213957115706,"id":2802,"parentId":2768,"tags":{},"startTime":1725026076763,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":174859,"timestamp":8213956947948,"id":2768,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026076595,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8213957132075,"id":2805,"parentId":3,"tags":{},"startTime":1725026076779,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":1,"timestamp":8213957132156,"id":2806,"parentId":3,"tags":{},"startTime":1725026076779,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":194000,"timestamp":8213956947917,"id":2809,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026076791,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":198000,"timestamp":8213956947532,"id":2810,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026076794,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3158,"timestamp":8213957158080,"id":2813,"parentId":2812,"tags":{},"startTime":1725026076805,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3434,"timestamp":8213957157819,"id":2812,"parentId":2811,"tags":{},"startTime":1725026076805,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":5827,"timestamp":8213957157381,"id":2811,"parentId":2803,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx","layer":"rsc"},"startTime":1725026076805,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":25837,"timestamp":8213957139187,"id":2808,"parentId":2804,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026076786,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":70777,"timestamp":8213957139014,"id":2807,"parentId":2804,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026076786,"traceId":"c0436940a62f44fd"},{"name":"make","duration":123531,"timestamp":8213957126237,"id":2804,"parentId":2803,"tags":{},"startTime":1725026076773,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":5083,"timestamp":8213957280215,"id":2824,"parentId":2823,"tags":{},"startTime":1725026076927,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":8,"timestamp":8213957285360,"id":2826,"parentId":2823,"tags":{},"startTime":1725026076932,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":17515,"timestamp":8213957285391,"id":2827,"parentId":2823,"tags":{},"startTime":1725026076933,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":18,"timestamp":8213957302998,"id":2828,"parentId":2823,"tags":{},"startTime":1725026076950,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":8,"timestamp":8213957303049,"id":2829,"parentId":2823,"tags":{},"startTime":1725026076950,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":19767,"timestamp":8213957285340,"id":2825,"parentId":2823,"tags":{},"startTime":1725026076932,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":905,"timestamp":8213957307598,"id":2830,"parentId":2823,"tags":{},"startTime":1725026076955,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5744,"timestamp":8213957308531,"id":2831,"parentId":2823,"tags":{},"startTime":1725026076956,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2632,"timestamp":8213957317136,"id":2832,"parentId":2823,"tags":{},"startTime":1725026076964,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":405,"timestamp":8213957319765,"id":2833,"parentId":2823,"tags":{},"startTime":1725026076967,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":376,"timestamp":8213957320148,"id":2834,"parentId":2823,"tags":{},"startTime":1725026076967,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":2260,"timestamp":8213957320673,"id":2835,"parentId":2823,"tags":{},"startTime":1725026076968,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":51167,"timestamp":8213957275748,"id":2823,"parentId":2803,"tags":{},"startTime":1725026076923,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":206378,"timestamp":8213957125688,"id":2803,"parentId":2769,"tags":{"name":"server"},"startTime":1725026076773,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":6653,"timestamp":8213957332190,"id":2836,"parentId":2769,"tags":{},"startTime":1725026076979,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":392285,"timestamp":8213956948341,"id":2769,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026076595,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":133484,"timestamp":8213957361161,"id":2837,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026077008,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8213957494693,"id":2839,"parentId":2837,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"287883264","memory.heapUsed":"239332056","memory.heapTotal":"270696448"},"startTime":1725026077142,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":134906,"timestamp":8213957362556,"id":2838,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026077010,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8213957497524,"id":2840,"parentId":2838,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"287883264","memory.heapUsed":"239408128","memory.heapTotal":"270696448"},"startTime":1725026077145,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":27010,"timestamp":8213974791374,"id":2846,"parentId":2844,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026094438,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7596,"timestamp":8213974810947,"id":2849,"parentId":2848,"tags":{},"startTime":1725026094458,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7863,"timestamp":8213974810683,"id":2848,"parentId":2847,"tags":{},"startTime":1725026094458,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":12414,"timestamp":8213974809708,"id":2847,"parentId":2843,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Event1.jsx","layer":"rsc"},"startTime":1725026094457,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":299071,"timestamp":8213974791104,"id":2845,"parentId":2844,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026094438,"traceId":"c0436940a62f44fd"},{"name":"make","duration":330844,"timestamp":8213974785578,"id":2844,"parentId":2843,"tags":{},"startTime":1725026094432,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2476,"timestamp":8213975123452,"id":2860,"parentId":2859,"tags":{},"startTime":1725026094770,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":13,"timestamp":8213975125955,"id":2862,"parentId":2859,"tags":{},"startTime":1725026094773,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":3109,"timestamp":8213975125985,"id":2863,"parentId":2859,"tags":{},"startTime":1725026094773,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":22,"timestamp":8213975129148,"id":2864,"parentId":2859,"tags":{},"startTime":1725026094776,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":12,"timestamp":8213975129208,"id":2865,"parentId":2859,"tags":{},"startTime":1725026094776,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":6652,"timestamp":8213975125947,"id":2861,"parentId":2859,"tags":{},"startTime":1725026094773,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":589,"timestamp":8213975134982,"id":2866,"parentId":2859,"tags":{},"startTime":1725026094782,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3120,"timestamp":8213975135590,"id":2867,"parentId":2859,"tags":{},"startTime":1725026094782,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1115,"timestamp":8213975140141,"id":2868,"parentId":2859,"tags":{},"startTime":1725026094787,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":127,"timestamp":8213975141255,"id":2869,"parentId":2859,"tags":{},"startTime":1725026094788,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":240,"timestamp":8213975141371,"id":2870,"parentId":2859,"tags":{},"startTime":1725026094788,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":1444,"timestamp":8213975141620,"id":2871,"parentId":2859,"tags":{},"startTime":1725026094788,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":25060,"timestamp":8213975120536,"id":2859,"parentId":2843,"tags":{},"startTime":1725026094767,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":366232,"timestamp":8213974783942,"id":2843,"parentId":2841,"tags":{"name":"server"},"startTime":1725026094431,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":5478,"timestamp":8213975150240,"id":2872,"parentId":2841,"tags":{},"startTime":1725026094797,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":407696,"timestamp":8213974748602,"id":2841,"parentId":3,"tags":{"trigger":"src/components/Event1.jsx"},"startTime":1725026094395,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":4901,"timestamp":8213975165642,"id":2880,"parentId":2874,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026094812,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":9034,"timestamp":8213975165536,"id":2875,"parentId":2874,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026094812,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":16038,"timestamp":8213975165628,"id":2878,"parentId":2874,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026094812,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":16852,"timestamp":8213975165618,"id":2877,"parentId":2874,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026094812,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":16827,"timestamp":8213975165651,"id":2881,"parentId":2874,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026094812,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":17006,"timestamp":8213975165607,"id":2876,"parentId":2874,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026094812,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3273,"timestamp":8213975179425,"id":2885,"parentId":2884,"tags":{},"startTime":1725026094826,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":126844,"timestamp":8213975182776,"id":2887,"parentId":2886,"tags":{},"startTime":1725026094830,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":127569,"timestamp":8213975182733,"id":2886,"parentId":2884,"tags":{},"startTime":1725026094830,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":30451,"timestamp":8213975310517,"id":2888,"parentId":2884,"tags":{"astUsed":"true"},"startTime":1725026094957,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":165898,"timestamp":8213975179279,"id":2884,"parentId":2883,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026094826,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":180277,"timestamp":8213975165657,"id":2882,"parentId":2874,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026094812,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":179494,"timestamp":8213975171438,"id":2883,"parentId":2873,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026094818,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":75,"timestamp":8213975351169,"id":2889,"parentId":2883,"tags":{},"startTime":1725026094998,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":185650,"timestamp":8213975165634,"id":2879,"parentId":2874,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026094812,"traceId":"c0436940a62f44fd"},{"name":"make","duration":192942,"timestamp":8213975158374,"id":2874,"parentId":2873,"tags":{},"startTime":1725026094805,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":6021,"timestamp":8213975359569,"id":2891,"parentId":2890,"tags":{},"startTime":1725026095006,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":7,"timestamp":8213975365653,"id":2893,"parentId":2890,"tags":{},"startTime":1725026095012,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":115,"timestamp":8213975365687,"id":2894,"parentId":2890,"tags":{},"startTime":1725026095012,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":8,"timestamp":8213975365842,"id":2895,"parentId":2890,"tags":{},"startTime":1725026095013,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8213975365886,"id":2896,"parentId":2890,"tags":{},"startTime":1725026095013,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3178,"timestamp":8213975365634,"id":2892,"parentId":2890,"tags":{},"startTime":1725026095012,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":937,"timestamp":8213975370722,"id":2897,"parentId":2890,"tags":{},"startTime":1725026095018,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":4832,"timestamp":8213975371698,"id":2898,"parentId":2890,"tags":{},"startTime":1725026095019,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":9126,"timestamp":8213975379797,"id":2899,"parentId":2890,"tags":{},"startTime":1725026095027,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":225,"timestamp":8213975388920,"id":2900,"parentId":2890,"tags":{},"startTime":1725026095036,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":331,"timestamp":8213975389132,"id":2901,"parentId":2890,"tags":{},"startTime":1725026095036,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":9313,"timestamp":8213975389475,"id":2902,"parentId":2890,"tags":{},"startTime":1725026095036,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":188,"timestamp":8213975402013,"id":2904,"parentId":2873,"tags":{},"startTime":1725026095049,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":389,"timestamp":8213975401831,"id":2903,"parentId":2873,"tags":{},"startTime":1725026095049,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":58003,"timestamp":8213975356236,"id":2890,"parentId":2873,"tags":{},"startTime":1725026095003,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":256311,"timestamp":8213975157992,"id":2873,"parentId":2842,"tags":{"name":"client"},"startTime":1725026094805,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":51444,"timestamp":8213975414347,"id":2905,"parentId":2842,"tags":{},"startTime":1725026095061,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":721214,"timestamp":8213974750592,"id":2842,"parentId":3,"tags":{"trigger":"src/components/Event1.jsx"},"startTime":1725026094397,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":52,"timestamp":8213975482389,"id":2906,"parentId":3,"tags":{},"startTime":1725026095129,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":6,"timestamp":8213975501505,"id":2907,"parentId":3,"tags":{},"startTime":1725026095148,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":764000,"timestamp":8213974752960,"id":2910,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":false},"startTime":1725026095168,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":779000,"timestamp":8213974753339,"id":2911,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026095327,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":184934,"timestamp":8213975506591,"id":2909,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026095153,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8213975691569,"id":2912,"parentId":2909,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"299892736","memory.heapUsed":"237683776","memory.heapTotal":"278986752"},"startTime":1725026095338,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":187565,"timestamp":8213975505684,"id":2908,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026095152,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":3,"timestamp":8213975693332,"id":2913,"parentId":2908,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"299909120","memory.heapUsed":"237759320","memory.heapTotal":"278986752"},"startTime":1725026095340,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":31450,"timestamp":8214181701542,"id":2919,"parentId":2917,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026301345,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":74610,"timestamp":8214181722473,"id":2922,"parentId":2921,"tags":{},"startTime":1725026301366,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":74893,"timestamp":8214181722206,"id":2921,"parentId":2920,"tags":{},"startTime":1725026301365,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":80976,"timestamp":8214181720785,"id":2920,"parentId":2916,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"rsc"},"startTime":1725026301364,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":365194,"timestamp":8214181701281,"id":2918,"parentId":2917,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026301345,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17247,"timestamp":8214182081479,"id":2934,"parentId":2933,"tags":{},"startTime":1725026301725,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17660,"timestamp":8214182081082,"id":2933,"parentId":2932,"tags":{},"startTime":1725026301724,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":31378,"timestamp":8214182080480,"id":2932,"parentId":2916,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"ssr"},"startTime":1725026301724,"traceId":"c0436940a62f44fd"},{"name":"make","duration":432429,"timestamp":8214181688447,"id":2917,"parentId":2916,"tags":{},"startTime":1725026301332,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2643,"timestamp":8214182128982,"id":2936,"parentId":2935,"tags":{},"startTime":1725026301772,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":12,"timestamp":8214182131717,"id":2938,"parentId":2935,"tags":{},"startTime":1725026301775,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":3864,"timestamp":8214182131794,"id":2939,"parentId":2935,"tags":{},"startTime":1725026301775,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":10,"timestamp":8214182135725,"id":2940,"parentId":2935,"tags":{},"startTime":1725026301779,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":9,"timestamp":8214182135787,"id":2941,"parentId":2935,"tags":{},"startTime":1725026301779,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":6295,"timestamp":8214182131646,"id":2937,"parentId":2935,"tags":{},"startTime":1725026301775,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1366,"timestamp":8214182140930,"id":2942,"parentId":2935,"tags":{},"startTime":1725026301784,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":11263,"timestamp":8214182142326,"id":2943,"parentId":2935,"tags":{},"startTime":1725026301786,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2374,"timestamp":8214182157476,"id":2944,"parentId":2935,"tags":{},"startTime":1725026301801,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":219,"timestamp":8214182159849,"id":2945,"parentId":2935,"tags":{},"startTime":1725026301803,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":218,"timestamp":8214182160059,"id":2946,"parentId":2935,"tags":{},"startTime":1725026301803,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":8404,"timestamp":8214182160285,"id":2947,"parentId":2935,"tags":{},"startTime":1725026301804,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":48220,"timestamp":8214182126219,"id":2935,"parentId":2916,"tags":{},"startTime":1725026301769,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":492589,"timestamp":8214181687489,"id":2916,"parentId":2914,"tags":{"name":"server"},"startTime":1725026301331,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":7980,"timestamp":8214182180169,"id":2948,"parentId":2914,"tags":{},"startTime":1725026301823,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":533368,"timestamp":8214181655659,"id":2914,"parentId":3,"tags":{"trigger":"src/components/Speakers.jsx"},"startTime":1725026301299,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":10618,"timestamp":8214182198304,"id":2956,"parentId":2950,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026301842,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":19477,"timestamp":8214182198182,"id":2951,"parentId":2950,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026301841,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":32590,"timestamp":8214182198291,"id":2954,"parentId":2950,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026301842,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":33336,"timestamp":8214182198310,"id":2957,"parentId":2950,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026301842,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":33489,"timestamp":8214182198273,"id":2952,"parentId":2950,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026301842,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":10474,"timestamp":8214182221405,"id":2964,"parentId":2963,"tags":{},"startTime":1725026301865,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":29781,"timestamp":8214182213067,"id":2962,"parentId":2961,"tags":{},"startTime":1725026301856,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":29975,"timestamp":8214182212885,"id":2961,"parentId":2959,"tags":{},"startTime":1725026301856,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":40257,"timestamp":8214182210255,"id":2959,"parentId":2949,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Speakers.jsx","layer":"app-pages-browser"},"startTime":1725026301854,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":392717,"timestamp":8214182231991,"id":2966,"parentId":2965,"tags":{},"startTime":1725026301875,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":395538,"timestamp":8214182231921,"id":2965,"parentId":2963,"tags":{},"startTime":1725026301875,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":153761,"timestamp":8214182627616,"id":2967,"parentId":2963,"tags":{"astUsed":"true"},"startTime":1725026302271,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":574358,"timestamp":8214182221177,"id":2963,"parentId":2960,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026301864,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":598206,"timestamp":8214182198315,"id":2958,"parentId":2950,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026301842,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":595156,"timestamp":8214182211244,"id":2960,"parentId":2949,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026301855,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":67,"timestamp":8214182851660,"id":2968,"parentId":2960,"tags":{},"startTime":1725026302495,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":667467,"timestamp":8214182198297,"id":2955,"parentId":2950,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026301842,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":715343,"timestamp":8214182198285,"id":2953,"parentId":2950,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026301842,"traceId":"c0436940a62f44fd"},{"name":"make","duration":722398,"timestamp":8214182191293,"id":2950,"parentId":2949,"tags":{},"startTime":1725026301835,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":6205,"timestamp":8214182926471,"id":2970,"parentId":2969,"tags":{},"startTime":1725026302570,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":22,"timestamp":8214182932777,"id":2972,"parentId":2969,"tags":{},"startTime":1725026302576,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":245,"timestamp":8214182933086,"id":2973,"parentId":2969,"tags":{},"startTime":1725026302576,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":22,"timestamp":8214182933454,"id":2974,"parentId":2969,"tags":{},"startTime":1725026302577,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":10,"timestamp":8214182933580,"id":2975,"parentId":2969,"tags":{},"startTime":1725026302577,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3507,"timestamp":8214182932748,"id":2971,"parentId":2969,"tags":{},"startTime":1725026302576,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1292,"timestamp":8214182939621,"id":2976,"parentId":2969,"tags":{},"startTime":1725026302583,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":6665,"timestamp":8214182940955,"id":2977,"parentId":2969,"tags":{},"startTime":1725026302584,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":12637,"timestamp":8214182952155,"id":2978,"parentId":2969,"tags":{},"startTime":1725026302595,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":11203,"timestamp":8214182964787,"id":2979,"parentId":2969,"tags":{},"startTime":1725026302608,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":837,"timestamp":8214182975957,"id":2980,"parentId":2969,"tags":{},"startTime":1725026302619,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":15557,"timestamp":8214182976836,"id":2981,"parentId":2969,"tags":{},"startTime":1725026302620,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":679,"timestamp":8214182996229,"id":2983,"parentId":2949,"tags":{},"startTime":1725026302639,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":960,"timestamp":8214182995988,"id":2982,"parentId":2949,"tags":{},"startTime":1725026302639,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":80977,"timestamp":8214182922234,"id":2969,"parentId":2949,"tags":{},"startTime":1725026302565,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":812365,"timestamp":8214182190960,"id":2949,"parentId":2915,"tags":{"name":"client"},"startTime":1725026301834,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":17877,"timestamp":8214183003453,"id":2984,"parentId":2915,"tags":{},"startTime":1725026302647,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":1368712,"timestamp":8214181657524,"id":2915,"parentId":3,"tags":{"trigger":"src/components/Speakers.jsx"},"startTime":1725026301301,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":14,"timestamp":8214183032774,"id":2985,"parentId":3,"tags":{},"startTime":1725026302676,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8214183033450,"id":2986,"parentId":3,"tags":{},"startTime":1725026302677,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":1460000,"timestamp":8214181672876,"id":2989,"parentId":3,"tags":{"updatedModules":["[project]/src/components/Speakers.jsx"],"page":"/events/versefest","isPageHidden":false},"startTime":1725026303196,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":497540,"timestamp":8214183066265,"id":2988,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026302710,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8214183563921,"id":2990,"parentId":2988,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"222363648","memory.heapUsed":"219491144","memory.heapTotal":"260521984"},"startTime":1725026303207,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":500745,"timestamp":8214183063892,"id":2987,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026302707,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8214183565049,"id":2991,"parentId":2987,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"222478336","memory.heapUsed":"219567016","memory.heapTotal":"260521984"},"startTime":1725026303208,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":1903000,"timestamp":8214181673221,"id":2992,"parentId":3,"tags":{"updatedModules":["[project]/src/components/Speakers.jsx"],"page":"/events/versefest","isPageHidden":true},"startTime":1725026303226,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":247748,"timestamp":8214525396361,"id":2993,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725026645034,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8214525644225,"id":2994,"parentId":2993,"tags":{"url":"/events/versefest","memory.rss":"135118848","memory.heapUsed":"214146664","memory.heapTotal":"227459072"},"startTime":1725026645282,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":4,"timestamp":8214526333138,"id":3003,"parentId":3,"tags":{},"startTime":1725026645971,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8214526334602,"id":3004,"parentId":3,"tags":{},"startTime":1725026645972,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":154313,"timestamp":8214526259209,"id":3000,"parentId":2999,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026645897,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":154139,"timestamp":8214526259396,"id":3002,"parentId":2999,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026645897,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":302300,"timestamp":8214526259385,"id":3001,"parentId":2999,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026645897,"traceId":"c0436940a62f44fd"},{"name":"make","duration":328900,"timestamp":8214526255282,"id":2999,"parentId":2998,"tags":{},"startTime":1725026645893,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2715,"timestamp":8214526592132,"id":3015,"parentId":3014,"tags":{},"startTime":1725026646229,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":43,"timestamp":8214526594976,"id":3017,"parentId":3014,"tags":{},"startTime":1725026646232,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":4939,"timestamp":8214526595247,"id":3018,"parentId":3014,"tags":{},"startTime":1725026646233,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":12,"timestamp":8214526600239,"id":3019,"parentId":3014,"tags":{},"startTime":1725026646238,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8214526600275,"id":3020,"parentId":3014,"tags":{},"startTime":1725026646238,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":9051,"timestamp":8214526594962,"id":3016,"parentId":3014,"tags":{},"startTime":1725026646232,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1711,"timestamp":8214526610444,"id":3021,"parentId":3014,"tags":{},"startTime":1725026646248,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":4062,"timestamp":8214526612213,"id":3022,"parentId":3014,"tags":{},"startTime":1725026646250,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1363,"timestamp":8214526618838,"id":3023,"parentId":3014,"tags":{},"startTime":1725026646256,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":285,"timestamp":8214526620200,"id":3024,"parentId":3014,"tags":{},"startTime":1725026646258,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":221,"timestamp":8214526620477,"id":3025,"parentId":3014,"tags":{},"startTime":1725026646258,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":6665,"timestamp":8214526620705,"id":3026,"parentId":3014,"tags":{},"startTime":1725026646258,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":42696,"timestamp":8214526588514,"id":3014,"parentId":2998,"tags":{},"startTime":1725026646226,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":380559,"timestamp":8214526254806,"id":2998,"parentId":2996,"tags":{"name":"server"},"startTime":1725026645892,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":21938,"timestamp":8214526635437,"id":3027,"parentId":2996,"tags":{},"startTime":1725026646273,"traceId":"c0436940a62f44fd"},{"name":"compile-path","duration":409883,"timestamp":8214526248333,"id":2997,"tags":{"trigger":"/favicon.ico","isTurbopack":false},"startTime":1725026645886,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":410578,"timestamp":8214526247940,"id":2996,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725026645885,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":524582,"timestamp":8214526229010,"id":2995,"tags":{"url":"/favicon.ico","isTurbopack":false},"startTime":1725026645866,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214526753622,"id":3028,"parentId":2995,"tags":{"url":"/favicon.ico","memory.rss":"345358336","memory.heapUsed":"224215856","memory.heapTotal":"261095424"},"startTime":1725026646391,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":4765,"timestamp":8214526754295,"id":3029,"tags":{"url":"/favicon.ico","isTurbopack":false},"startTime":1725026646392,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8214526759113,"id":3030,"parentId":3029,"tags":{"url":"/favicon.ico","memory.rss":"345374720","memory.heapUsed":"226918056","memory.heapTotal":"261095424"},"startTime":1725026646396,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":64179,"timestamp":8214539469094,"id":3036,"parentId":3034,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026659106,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":65215,"timestamp":8214539469111,"id":3037,"parentId":3034,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026659106,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":85566,"timestamp":8214539516758,"id":3040,"parentId":3039,"tags":{},"startTime":1725026659154,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":87717,"timestamp":8214539514622,"id":3039,"parentId":3038,"tags":{},"startTime":1725026659152,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":101666,"timestamp":8214539505959,"id":3038,"parentId":3033,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx","layer":"rsc"},"startTime":1725026659143,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":141306,"timestamp":8214539468781,"id":3035,"parentId":3034,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026659106,"traceId":"c0436940a62f44fd"},{"name":"make","duration":173086,"timestamp":8214539452622,"id":3034,"parentId":3033,"tags":{},"startTime":1725026659090,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":6121,"timestamp":8214539633338,"id":3051,"parentId":3050,"tags":{},"startTime":1725026659270,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":3,"timestamp":8214539639495,"id":3053,"parentId":3050,"tags":{},"startTime":1725026659277,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2522,"timestamp":8214539639511,"id":3054,"parentId":3050,"tags":{},"startTime":1725026659277,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":6,"timestamp":8214539642065,"id":3055,"parentId":3050,"tags":{},"startTime":1725026659279,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":3,"timestamp":8214539642083,"id":3056,"parentId":3050,"tags":{},"startTime":1725026659279,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":4105,"timestamp":8214539639485,"id":3052,"parentId":3050,"tags":{},"startTime":1725026659277,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":986,"timestamp":8214539644997,"id":3057,"parentId":3050,"tags":{},"startTime":1725026659282,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3222,"timestamp":8214539646006,"id":3058,"parentId":3050,"tags":{},"startTime":1725026659283,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3426,"timestamp":8214539650509,"id":3059,"parentId":3050,"tags":{},"startTime":1725026659288,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":267,"timestamp":8214539653934,"id":3060,"parentId":3050,"tags":{},"startTime":1725026659291,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":1047,"timestamp":8214539654190,"id":3061,"parentId":3050,"tags":{},"startTime":1725026659291,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":9238,"timestamp":8214539655245,"id":3062,"parentId":3050,"tags":{},"startTime":1725026659292,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":36584,"timestamp":8214539630502,"id":3050,"parentId":3033,"tags":{},"startTime":1725026659268,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":220684,"timestamp":8214539451705,"id":3033,"parentId":3031,"tags":{"name":"server"},"startTime":1725026659089,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":12729,"timestamp":8214539672476,"id":3063,"parentId":3031,"tags":{},"startTime":1725026659310,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":255338,"timestamp":8214539430972,"id":3031,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725026659068,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":5071,"timestamp":8214539705461,"id":3071,"parentId":3065,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026659343,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":10809,"timestamp":8214539705355,"id":3066,"parentId":3065,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026659342,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":17071,"timestamp":8214539705444,"id":3069,"parentId":3065,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026659343,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":18056,"timestamp":8214539705436,"id":3068,"parentId":3065,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026659343,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":18034,"timestamp":8214539705473,"id":3072,"parentId":3065,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026659343,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":18226,"timestamp":8214539705424,"id":3067,"parentId":3065,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026659343,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3604,"timestamp":8214539720140,"id":3076,"parentId":3075,"tags":{},"startTime":1725026659357,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":108463,"timestamp":8214539723831,"id":3078,"parentId":3077,"tags":{},"startTime":1725026659361,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":108817,"timestamp":8214539723781,"id":3077,"parentId":3075,"tags":{},"startTime":1725026659361,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":14261,"timestamp":8214539832648,"id":3079,"parentId":3075,"tags":{"astUsed":"true"},"startTime":1725026659470,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":129542,"timestamp":8214539719716,"id":3075,"parentId":3074,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026659357,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":144872,"timestamp":8214539705482,"id":3073,"parentId":3065,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026659343,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":144356,"timestamp":8214539711299,"id":3074,"parentId":3064,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026659348,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":59,"timestamp":8214539856010,"id":3080,"parentId":3074,"tags":{},"startTime":1725026659493,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":150662,"timestamp":8214539705452,"id":3070,"parentId":3065,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026659343,"traceId":"c0436940a62f44fd"},{"name":"make","duration":166455,"timestamp":8214539689693,"id":3065,"parentId":3064,"tags":{},"startTime":1725026659327,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2763,"timestamp":8214539908414,"id":3082,"parentId":3081,"tags":{},"startTime":1725026659546,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":10,"timestamp":8214539911221,"id":3084,"parentId":3081,"tags":{},"startTime":1725026659548,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":61,"timestamp":8214539911339,"id":3085,"parentId":3081,"tags":{},"startTime":1725026659548,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":9,"timestamp":8214539911428,"id":3086,"parentId":3081,"tags":{},"startTime":1725026659549,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8214539911459,"id":3087,"parentId":3081,"tags":{},"startTime":1725026659549,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2990,"timestamp":8214539911207,"id":3083,"parentId":3081,"tags":{},"startTime":1725026659548,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":457,"timestamp":8214539915676,"id":3088,"parentId":3081,"tags":{},"startTime":1725026659553,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3059,"timestamp":8214539916148,"id":3089,"parentId":3081,"tags":{},"startTime":1725026659553,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":5588,"timestamp":8214539921244,"id":3090,"parentId":3081,"tags":{},"startTime":1725026659558,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":291,"timestamp":8214539926831,"id":3091,"parentId":3081,"tags":{},"startTime":1725026659564,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":336,"timestamp":8214539927020,"id":3092,"parentId":3081,"tags":{},"startTime":1725026659564,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":14789,"timestamp":8214539927363,"id":3093,"parentId":3081,"tags":{},"startTime":1725026659564,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":752,"timestamp":8214539946413,"id":3095,"parentId":3064,"tags":{},"startTime":1725026659584,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":1071,"timestamp":8214539946128,"id":3094,"parentId":3064,"tags":{},"startTime":1725026659583,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":51525,"timestamp":8214539905359,"id":3081,"parentId":3064,"tags":{},"startTime":1725026659542,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":267670,"timestamp":8214539689286,"id":3064,"parentId":3032,"tags":{"name":"client"},"startTime":1725026659326,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":10860,"timestamp":8214539957040,"id":3096,"parentId":3032,"tags":{},"startTime":1725026659594,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":539913,"timestamp":8214539434089,"id":3032,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725026659071,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":25,"timestamp":8214539977472,"id":3097,"parentId":3,"tags":{},"startTime":1725026659615,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":4,"timestamp":8214539978112,"id":3098,"parentId":3,"tags":{},"startTime":1725026659615,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":565000,"timestamp":8214539437310,"id":3101,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026659639,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":569000,"timestamp":8214539435758,"id":3102,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026659812,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":193173,"timestamp":8214539987128,"id":3099,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026659624,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":5,"timestamp":8214540180400,"id":3103,"parentId":3099,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"294469632","memory.heapUsed":"236051480","memory.heapTotal":"280887296"},"startTime":1725026659818,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":192765,"timestamp":8214539988069,"id":3100,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026659625,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8214540180866,"id":3104,"parentId":3100,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"294469632","memory.heapUsed":"236126968","memory.heapTotal":"280887296"},"startTime":1725026659818,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":195372,"timestamp":8214546722673,"id":3105,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725026666360,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":3,"timestamp":8214546918224,"id":3106,"parentId":3105,"tags":{"url":"/events/versefest","memory.rss":"167329792","memory.heapUsed":"231193640","memory.heapTotal":"281411584"},"startTime":1725026666555,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":30945,"timestamp":8214547406594,"id":3107,"tags":{"url":"/favicon.ico","isTurbopack":false},"startTime":1725026667044,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214547437594,"id":3108,"parentId":3107,"tags":{"url":"/favicon.ico","memory.rss":"178716672","memory.heapUsed":"240265744","memory.heapTotal":"281411584"},"startTime":1725026667075,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":6,"timestamp":8214547480476,"id":3109,"parentId":3,"tags":{},"startTime":1725026667117,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":6,"timestamp":8214547502423,"id":3110,"parentId":3,"tags":{},"startTime":1725026667139,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":31084,"timestamp":8214554301998,"id":3116,"parentId":3114,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026673939,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":31876,"timestamp":8214554302006,"id":3117,"parentId":3114,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026673939,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6012,"timestamp":8214554329632,"id":3120,"parentId":3119,"tags":{},"startTime":1725026673967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6220,"timestamp":8214554329430,"id":3119,"parentId":3118,"tags":{},"startTime":1725026673966,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":12570,"timestamp":8214554328706,"id":3118,"parentId":3113,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx","layer":"rsc"},"startTime":1725026673966,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":41871,"timestamp":8214554301771,"id":3115,"parentId":3114,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026673939,"traceId":"c0436940a62f44fd"},{"name":"make","duration":69394,"timestamp":8214554292301,"id":3114,"parentId":3113,"tags":{},"startTime":1725026673929,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":4107,"timestamp":8214554373245,"id":3131,"parentId":3130,"tags":{},"startTime":1725026674010,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":8,"timestamp":8214554377387,"id":3133,"parentId":3130,"tags":{},"startTime":1725026674014,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":5007,"timestamp":8214554377423,"id":3134,"parentId":3130,"tags":{},"startTime":1725026674014,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":14,"timestamp":8214554382475,"id":3135,"parentId":3130,"tags":{},"startTime":1725026674019,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8214554382503,"id":3136,"parentId":3130,"tags":{},"startTime":1725026674019,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":7666,"timestamp":8214554377377,"id":3132,"parentId":3130,"tags":{},"startTime":1725026674014,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":588,"timestamp":8214554386681,"id":3137,"parentId":3130,"tags":{},"startTime":1725026674024,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5530,"timestamp":8214554387292,"id":3138,"parentId":3130,"tags":{},"startTime":1725026674024,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":4229,"timestamp":8214554396303,"id":3139,"parentId":3130,"tags":{},"startTime":1725026674033,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":160,"timestamp":8214554400530,"id":3140,"parentId":3130,"tags":{},"startTime":1725026674037,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":426,"timestamp":8214554400675,"id":3141,"parentId":3130,"tags":{},"startTime":1725026674038,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":1835,"timestamp":8214554401109,"id":3142,"parentId":3130,"tags":{},"startTime":1725026674038,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":38072,"timestamp":8214554368630,"id":3130,"parentId":3113,"tags":{},"startTime":1725026674006,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":118654,"timestamp":8214554291272,"id":3113,"parentId":3111,"tags":{"name":"server"},"startTime":1725026673928,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":4219,"timestamp":8214554409993,"id":3143,"parentId":3111,"tags":{},"startTime":1725026674047,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":145181,"timestamp":8214554269537,"id":3111,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725026673906,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3052,"timestamp":8214554423575,"id":3151,"parentId":3145,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026674060,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":5907,"timestamp":8214554423487,"id":3146,"parentId":3145,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026674060,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12152,"timestamp":8214554423563,"id":3149,"parentId":3145,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026674060,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12859,"timestamp":8214554423558,"id":3148,"parentId":3145,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026674060,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12846,"timestamp":8214554423580,"id":3152,"parentId":3145,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026674060,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":13011,"timestamp":8214554423548,"id":3147,"parentId":3145,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026674060,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2484,"timestamp":8214554434157,"id":3156,"parentId":3155,"tags":{},"startTime":1725026674071,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":108735,"timestamp":8214554436722,"id":3158,"parentId":3157,"tags":{},"startTime":1725026674074,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":109707,"timestamp":8214554436672,"id":3157,"parentId":3155,"tags":{},"startTime":1725026674074,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":22051,"timestamp":8214554546431,"id":3159,"parentId":3155,"tags":{"astUsed":"true"},"startTime":1725026674183,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":139961,"timestamp":8214554433997,"id":3155,"parentId":3154,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026674071,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":152182,"timestamp":8214554423586,"id":3153,"parentId":3145,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026674060,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":152254,"timestamp":8214554427238,"id":3154,"parentId":3144,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026674064,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":53,"timestamp":8214554580129,"id":3160,"parentId":3154,"tags":{},"startTime":1725026674217,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":156653,"timestamp":8214554423569,"id":3150,"parentId":3145,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026674060,"traceId":"c0436940a62f44fd"},{"name":"make","duration":163802,"timestamp":8214554416478,"id":3145,"parentId":3144,"tags":{},"startTime":1725026674053,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2421,"timestamp":8214554589830,"id":3162,"parentId":3161,"tags":{},"startTime":1725026674227,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":5,"timestamp":8214554592291,"id":3164,"parentId":3161,"tags":{},"startTime":1725026674229,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":58,"timestamp":8214554592314,"id":3165,"parentId":3161,"tags":{},"startTime":1725026674229,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":5,"timestamp":8214554592412,"id":3166,"parentId":3161,"tags":{},"startTime":1725026674229,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":9,"timestamp":8214554592440,"id":3167,"parentId":3161,"tags":{},"startTime":1725026674229,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":1892,"timestamp":8214554592281,"id":3163,"parentId":3161,"tags":{},"startTime":1725026674229,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1257,"timestamp":8214554595294,"id":3168,"parentId":3161,"tags":{},"startTime":1725026674232,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":4079,"timestamp":8214554596569,"id":3169,"parentId":3161,"tags":{},"startTime":1725026674233,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":5816,"timestamp":8214554602788,"id":3170,"parentId":3161,"tags":{},"startTime":1725026674240,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":209,"timestamp":8214554608602,"id":3171,"parentId":3161,"tags":{},"startTime":1725026674245,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":268,"timestamp":8214554608801,"id":3172,"parentId":3161,"tags":{},"startTime":1725026674246,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":9115,"timestamp":8214554609078,"id":3173,"parentId":3161,"tags":{},"startTime":1725026674246,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":106,"timestamp":8214554619395,"id":3175,"parentId":3144,"tags":{},"startTime":1725026674256,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":181,"timestamp":8214554619327,"id":3174,"parentId":3144,"tags":{},"startTime":1725026674256,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":36236,"timestamp":8214554585603,"id":3161,"parentId":3144,"tags":{},"startTime":1725026674222,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":205692,"timestamp":8214554416183,"id":3144,"parentId":3112,"tags":{"name":"client"},"startTime":1725026674053,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":31538,"timestamp":8214554621908,"id":3176,"parentId":3112,"tags":{},"startTime":1725026674259,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":385635,"timestamp":8214554270257,"id":3112,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725026673907,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":10,"timestamp":8214554672440,"id":3177,"parentId":3,"tags":{},"startTime":1725026674309,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8214554673768,"id":3178,"parentId":3,"tags":{},"startTime":1725026674311,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":427000,"timestamp":8214554271538,"id":3181,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026674335,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":443000,"timestamp":8214554271025,"id":3182,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026674352,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":107843,"timestamp":8214554684733,"id":3180,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026674322,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214554792610,"id":3183,"parentId":3180,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"278085632","memory.heapUsed":"219540536","memory.heapTotal":"266960896"},"startTime":1725026674429,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":110366,"timestamp":8214554682400,"id":3179,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026674319,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214554792775,"id":3184,"parentId":3179,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"278085632","memory.heapUsed":"219616592","memory.heapTotal":"266960896"},"startTime":1725026674430,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":175056,"timestamp":8214557047913,"id":3185,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725026676685,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214557223082,"id":3186,"parentId":3185,"tags":{"url":"/events/versefest","memory.rss":"161529856","memory.heapUsed":"226358720","memory.heapTotal":"267370496"},"startTime":1725026676860,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":11924,"timestamp":8214557629797,"id":3187,"tags":{"url":"/favicon.ico","isTurbopack":false},"startTime":1725026677267,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214557641755,"id":3188,"parentId":3187,"tags":{"url":"/favicon.ico","memory.rss":"180928512","memory.heapUsed":"222933456","memory.heapTotal":"267223040"},"startTime":1725026677279,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":12,"timestamp":8214557675723,"id":3189,"parentId":3,"tags":{},"startTime":1725026677313,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8214557687882,"id":3190,"parentId":3,"tags":{},"startTime":1725026677325,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13841,"timestamp":8214564106359,"id":3200,"parentId":3199,"tags":{},"startTime":1725026683743,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14359,"timestamp":8214564105904,"id":3199,"parentId":3198,"tags":{},"startTime":1725026683743,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":18975,"timestamp":8214564105083,"id":3198,"parentId":3193,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx","layer":"rsc"},"startTime":1725026683742,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":39753,"timestamp":8214564087920,"id":3196,"parentId":3194,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026683725,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":42276,"timestamp":8214564087929,"id":3197,"parentId":3194,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026683725,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":42670,"timestamp":8214564087682,"id":3195,"parentId":3194,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026683724,"traceId":"c0436940a62f44fd"},{"name":"make","duration":64332,"timestamp":8214564082306,"id":3194,"parentId":3193,"tags":{},"startTime":1725026683719,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2559,"timestamp":8214564154031,"id":3211,"parentId":3210,"tags":{},"startTime":1725026683791,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":28,"timestamp":8214564156685,"id":3213,"parentId":3210,"tags":{},"startTime":1725026683793,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":4576,"timestamp":8214564156766,"id":3214,"parentId":3210,"tags":{},"startTime":1725026683793,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":26,"timestamp":8214564161406,"id":3215,"parentId":3210,"tags":{},"startTime":1725026683798,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":8,"timestamp":8214564161470,"id":3216,"parentId":3210,"tags":{},"startTime":1725026683798,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":8910,"timestamp":8214564156651,"id":3212,"parentId":3210,"tags":{},"startTime":1725026683793,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":633,"timestamp":8214564173308,"id":3217,"parentId":3210,"tags":{},"startTime":1725026683810,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2598,"timestamp":8214564173966,"id":3218,"parentId":3210,"tags":{},"startTime":1725026683811,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1526,"timestamp":8214564177984,"id":3219,"parentId":3210,"tags":{},"startTime":1725026683815,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":116,"timestamp":8214564179509,"id":3220,"parentId":3210,"tags":{},"startTime":1725026683816,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":224,"timestamp":8214564179617,"id":3221,"parentId":3210,"tags":{},"startTime":1725026683816,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":195,"timestamp":8214564179845,"id":3222,"parentId":3210,"tags":{},"startTime":1725026683817,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":31403,"timestamp":8214564151282,"id":3210,"parentId":3193,"tags":{},"startTime":1725026683788,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":104525,"timestamp":8214564081297,"id":3193,"parentId":3191,"tags":{"name":"server"},"startTime":1725026683718,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":3408,"timestamp":8214564185849,"id":3223,"parentId":3191,"tags":{},"startTime":1725026683823,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":125845,"timestamp":8214564063857,"id":3191,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725026683701,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":6021,"timestamp":8214564198277,"id":3231,"parentId":3225,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026683835,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":8753,"timestamp":8214564198191,"id":3226,"parentId":3225,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026683835,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":13836,"timestamp":8214564198265,"id":3229,"parentId":3225,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026683835,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14825,"timestamp":8214564198259,"id":3228,"parentId":3225,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026683835,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14809,"timestamp":8214564198282,"id":3232,"parentId":3225,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026683835,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14964,"timestamp":8214564198250,"id":3227,"parentId":3225,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026683835,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3607,"timestamp":8214564209695,"id":3236,"parentId":3235,"tags":{},"startTime":1725026683846,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":71385,"timestamp":8214564213397,"id":3238,"parentId":3237,"tags":{},"startTime":1725026683850,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":71696,"timestamp":8214564213344,"id":3237,"parentId":3235,"tags":{},"startTime":1725026683850,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":12421,"timestamp":8214564285080,"id":3239,"parentId":3235,"tags":{"astUsed":"true"},"startTime":1725026683922,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":89329,"timestamp":8214564209593,"id":3235,"parentId":3234,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026683846,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":101085,"timestamp":8214564198286,"id":3233,"parentId":3225,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026683835,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":98034,"timestamp":8214564204842,"id":3234,"parentId":3224,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026683842,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":306,"timestamp":8214564303028,"id":3240,"parentId":3234,"tags":{},"startTime":1725026683940,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":105094,"timestamp":8214564198270,"id":3230,"parentId":3225,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026683835,"traceId":"c0436940a62f44fd"},{"name":"make","duration":111854,"timestamp":8214564191531,"id":3225,"parentId":3224,"tags":{},"startTime":1725026683828,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1156,"timestamp":8214564307700,"id":3242,"parentId":3241,"tags":{},"startTime":1725026683944,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":3,"timestamp":8214564308874,"id":3244,"parentId":3241,"tags":{},"startTime":1725026683946,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":39,"timestamp":8214564308893,"id":3245,"parentId":3241,"tags":{},"startTime":1725026683946,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":4,"timestamp":8214564308952,"id":3246,"parentId":3241,"tags":{},"startTime":1725026683946,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":3,"timestamp":8214564308972,"id":3247,"parentId":3241,"tags":{},"startTime":1725026683946,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":1068,"timestamp":8214564308868,"id":3243,"parentId":3241,"tags":{},"startTime":1725026683946,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":307,"timestamp":8214564310754,"id":3248,"parentId":3241,"tags":{},"startTime":1725026683947,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":7401,"timestamp":8214564311068,"id":3249,"parentId":3241,"tags":{},"startTime":1725026683948,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3202,"timestamp":8214564319627,"id":3250,"parentId":3241,"tags":{},"startTime":1725026683956,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":118,"timestamp":8214564322829,"id":3251,"parentId":3241,"tags":{},"startTime":1725026683960,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":198,"timestamp":8214564322940,"id":3252,"parentId":3241,"tags":{},"startTime":1725026683960,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":1953,"timestamp":8214564323142,"id":3253,"parentId":3241,"tags":{},"startTime":1725026683960,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":73,"timestamp":8214564325950,"id":3255,"parentId":3224,"tags":{},"startTime":1725026683963,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":142,"timestamp":8214564325886,"id":3254,"parentId":3224,"tags":{},"startTime":1725026683963,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":22182,"timestamp":8214564305670,"id":3241,"parentId":3224,"tags":{},"startTime":1725026683942,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":136605,"timestamp":8214564191277,"id":3224,"parentId":3192,"tags":{"name":"client"},"startTime":1725026683828,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":4407,"timestamp":8214564327908,"id":3256,"parentId":3192,"tags":{},"startTime":1725026683965,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":268672,"timestamp":8214564064667,"id":3192,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725026683701,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":4,"timestamp":8214564334996,"id":3257,"parentId":3,"tags":{},"startTime":1725026683972,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":2,"timestamp":8214564338253,"id":3258,"parentId":3,"tags":{},"startTime":1725026683975,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":284000,"timestamp":8214564066520,"id":3261,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026683988,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":82162,"timestamp":8214564340525,"id":3259,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026683977,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214564422721,"id":3262,"parentId":3259,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"249856000","memory.heapUsed":"246490216","memory.heapTotal":"281640960"},"startTime":1725026684059,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":81346,"timestamp":8214564341525,"id":3260,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026683978,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214564422879,"id":3263,"parentId":3260,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"249872384","memory.heapUsed":"246565192","memory.heapTotal":"281640960"},"startTime":1725026684060,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":357000,"timestamp":8214564066742,"id":3264,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026684060,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":162549,"timestamp":8214566430367,"id":3265,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725026686067,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":4,"timestamp":8214566593019,"id":3266,"parentId":3265,"tags":{"url":"/events/versefest","memory.rss":"164134912","memory.heapUsed":"253227824","memory.heapTotal":"284672000"},"startTime":1725026686230,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":11521,"timestamp":8214567110910,"id":3267,"tags":{"url":"/favicon.ico","isTurbopack":false},"startTime":1725026686748,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214567122465,"id":3268,"parentId":3267,"tags":{"url":"/favicon.ico","memory.rss":"177651712","memory.heapUsed":"248217304","memory.heapTotal":"286097408"},"startTime":1725026686759,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8214567154662,"id":3269,"parentId":3,"tags":{},"startTime":1725026686791,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":7,"timestamp":8214567163301,"id":3270,"parentId":3,"tags":{},"startTime":1725026686800,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":9489,"timestamp":8214579373574,"id":3280,"parentId":3274,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026699010,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14949,"timestamp":8214579373233,"id":3275,"parentId":3274,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026699010,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":20654,"timestamp":8214579373579,"id":3281,"parentId":3274,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026699010,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2390,"timestamp":8214579391930,"id":3285,"parentId":3284,"tags":{},"startTime":1725026699028,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26261,"timestamp":8214579373532,"id":3276,"parentId":3274,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026699010,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26881,"timestamp":8214579373557,"id":3278,"parentId":3274,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026699010,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26895,"timestamp":8214579373548,"id":3277,"parentId":3274,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026699010,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":80822,"timestamp":8214579394485,"id":3287,"parentId":3286,"tags":{},"startTime":1725026699031,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":81285,"timestamp":8214579394381,"id":3286,"parentId":3284,"tags":{},"startTime":1725026699031,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":12503,"timestamp":8214579475728,"id":3288,"parentId":3284,"tags":{"astUsed":"true"},"startTime":1725026699112,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":98381,"timestamp":8214579391739,"id":3284,"parentId":3283,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026699028,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":112630,"timestamp":8214579383999,"id":3283,"parentId":3273,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026699020,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":35,"timestamp":8214579497180,"id":3289,"parentId":3283,"tags":{},"startTime":1725026699134,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":123952,"timestamp":8214579373562,"id":3279,"parentId":3274,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026699010,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":125634,"timestamp":8214579373587,"id":3282,"parentId":3274,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026699010,"traceId":"c0436940a62f44fd"},{"name":"make","duration":127383,"timestamp":8214579371873,"id":3274,"parentId":3273,"tags":{},"startTime":1725026699008,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1393,"timestamp":8214579504933,"id":3291,"parentId":3290,"tags":{},"startTime":1725026699141,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":3,"timestamp":8214579506344,"id":3293,"parentId":3290,"tags":{},"startTime":1725026699143,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":61,"timestamp":8214579506369,"id":3294,"parentId":3290,"tags":{},"startTime":1725026699143,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":4,"timestamp":8214579506454,"id":3295,"parentId":3290,"tags":{},"startTime":1725026699143,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":11,"timestamp":8214579506478,"id":3296,"parentId":3290,"tags":{},"startTime":1725026699143,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":1242,"timestamp":8214579506338,"id":3292,"parentId":3290,"tags":{},"startTime":1725026699143,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":337,"timestamp":8214579508552,"id":3297,"parentId":3290,"tags":{},"startTime":1725026699145,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":1692,"timestamp":8214579508895,"id":3298,"parentId":3290,"tags":{},"startTime":1725026699145,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3299,"timestamp":8214579511624,"id":3299,"parentId":3290,"tags":{},"startTime":1725026699148,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":128,"timestamp":8214579514923,"id":3300,"parentId":3290,"tags":{},"startTime":1725026699151,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":209,"timestamp":8214579515045,"id":3301,"parentId":3290,"tags":{},"startTime":1725026699151,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":2083,"timestamp":8214579515259,"id":3302,"parentId":3290,"tags":{},"startTime":1725026699152,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":81,"timestamp":8214579518133,"id":3304,"parentId":3273,"tags":{},"startTime":1725026699155,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":168,"timestamp":8214579518048,"id":3303,"parentId":3273,"tags":{},"startTime":1725026699154,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":17429,"timestamp":8214579502775,"id":3290,"parentId":3273,"tags":{},"startTime":1725026699139,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":149500,"timestamp":8214579370731,"id":3273,"parentId":3271,"tags":{"name":"client"},"startTime":1725026699007,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":7342,"timestamp":8214579520255,"id":3305,"parentId":3271,"tags":{},"startTime":1725026699157,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":170600,"timestamp":8214579357631,"id":3271,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026698994,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":7,"timestamp":8214579532102,"id":3308,"parentId":3,"tags":{},"startTime":1725026699169,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":0,"timestamp":8214579532160,"id":3309,"parentId":3,"tags":{},"startTime":1725026699169,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13632,"timestamp":8214579549488,"id":3315,"parentId":3314,"tags":{},"startTime":1725026699186,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13802,"timestamp":8214579549324,"id":3314,"parentId":3313,"tags":{},"startTime":1725026699186,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":16191,"timestamp":8214579548704,"id":3313,"parentId":3306,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx","layer":"rsc"},"startTime":1725026699185,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":198000,"timestamp":8214579360042,"id":3316,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026699201,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":29508,"timestamp":8214579536746,"id":3312,"parentId":3307,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026699173,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":35130,"timestamp":8214579536739,"id":3311,"parentId":3307,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026699173,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":214000,"timestamp":8214579359095,"id":3317,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026699212,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":66021,"timestamp":8214579536696,"id":3310,"parentId":3307,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026699173,"traceId":"c0436940a62f44fd"},{"name":"make","duration":86433,"timestamp":8214579530722,"id":3307,"parentId":3306,"tags":{},"startTime":1725026699167,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2022,"timestamp":8214579625486,"id":3328,"parentId":3327,"tags":{},"startTime":1725026699262,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":4,"timestamp":8214579627539,"id":3330,"parentId":3327,"tags":{},"startTime":1725026699264,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2067,"timestamp":8214579627557,"id":3331,"parentId":3327,"tags":{},"startTime":1725026699264,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":5,"timestamp":8214579629663,"id":3332,"parentId":3327,"tags":{},"startTime":1725026699266,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":3,"timestamp":8214579629683,"id":3333,"parentId":3327,"tags":{},"startTime":1725026699266,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3484,"timestamp":8214579627528,"id":3329,"parentId":3327,"tags":{},"startTime":1725026699264,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":971,"timestamp":8214579632467,"id":3334,"parentId":3327,"tags":{},"startTime":1725026699269,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2333,"timestamp":8214579633453,"id":3335,"parentId":3327,"tags":{},"startTime":1725026699270,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1657,"timestamp":8214579640418,"id":3336,"parentId":3327,"tags":{},"startTime":1725026699277,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":295,"timestamp":8214579642073,"id":3337,"parentId":3327,"tags":{},"startTime":1725026699279,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":1315,"timestamp":8214579642348,"id":3338,"parentId":3327,"tags":{},"startTime":1725026699279,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":408,"timestamp":8214579643674,"id":3339,"parentId":3327,"tags":{},"startTime":1725026699280,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":27368,"timestamp":8214579621165,"id":3327,"parentId":3306,"tags":{},"startTime":1725026699258,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":121541,"timestamp":8214579530451,"id":3306,"parentId":3272,"tags":{"name":"server"},"startTime":1725026699167,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":4372,"timestamp":8214579652063,"id":3340,"parentId":3272,"tags":{},"startTime":1725026699289,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":298440,"timestamp":8214579358785,"id":3272,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026698995,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":103370,"timestamp":8214579669335,"id":3342,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026699306,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214579772731,"id":3343,"parentId":3342,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"295714816","memory.heapUsed":"226044912","memory.heapTotal":"300154880"},"startTime":1725026699409,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":105605,"timestamp":8214579667354,"id":3341,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026699304,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214579772973,"id":3344,"parentId":3341,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"295714816","memory.heapUsed":"226127424","memory.heapTotal":"300154880"},"startTime":1725026699409,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":10541,"timestamp":8214585745872,"id":3354,"parentId":3348,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026705382,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":15934,"timestamp":8214585745562,"id":3349,"parentId":3348,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026705382,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":51267,"timestamp":8214585745882,"id":3355,"parentId":3348,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026705382,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":32072,"timestamp":8214585766561,"id":3359,"parentId":3358,"tags":{},"startTime":1725026705403,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":58876,"timestamp":8214585745833,"id":3350,"parentId":3348,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026705382,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":59116,"timestamp":8214585745849,"id":3351,"parentId":3348,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026705382,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":59399,"timestamp":8214585745855,"id":3352,"parentId":3348,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026705382,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":87015,"timestamp":8214585798925,"id":3361,"parentId":3360,"tags":{},"startTime":1725026705435,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":87660,"timestamp":8214585798724,"id":3360,"parentId":3358,"tags":{},"startTime":1725026705435,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":28376,"timestamp":8214585886460,"id":3362,"parentId":3358,"tags":{"astUsed":"true"},"startTime":1725026705523,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":151560,"timestamp":8214585766359,"id":3358,"parentId":3357,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026705403,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":166483,"timestamp":8214585757394,"id":3357,"parentId":3347,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026705394,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":39,"timestamp":8214585924524,"id":3363,"parentId":3357,"tags":{},"startTime":1725026705561,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":179370,"timestamp":8214585745863,"id":3353,"parentId":3348,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026705382,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":182484,"timestamp":8214585745891,"id":3356,"parentId":3348,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026705382,"traceId":"c0436940a62f44fd"},{"name":"make","duration":184098,"timestamp":8214585744354,"id":3348,"parentId":3347,"tags":{},"startTime":1725026705381,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2398,"timestamp":8214585946501,"id":3365,"parentId":3364,"tags":{},"startTime":1725026705583,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":9,"timestamp":8214585948924,"id":3367,"parentId":3364,"tags":{},"startTime":1725026705585,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":77,"timestamp":8214585948951,"id":3368,"parentId":3364,"tags":{},"startTime":1725026705585,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":9,"timestamp":8214585949062,"id":3369,"parentId":3364,"tags":{},"startTime":1725026705585,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":13,"timestamp":8214585949110,"id":3370,"parentId":3364,"tags":{},"startTime":1725026705585,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2797,"timestamp":8214585948915,"id":3366,"parentId":3364,"tags":{},"startTime":1725026705585,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":448,"timestamp":8214585953443,"id":3371,"parentId":3364,"tags":{},"startTime":1725026705590,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2539,"timestamp":8214585953901,"id":3372,"parentId":3364,"tags":{},"startTime":1725026705590,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":6555,"timestamp":8214585959102,"id":3373,"parentId":3364,"tags":{},"startTime":1725026705595,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":335,"timestamp":8214585965655,"id":3374,"parentId":3364,"tags":{},"startTime":1725026705602,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":413,"timestamp":8214585965972,"id":3375,"parentId":3364,"tags":{},"startTime":1725026705602,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":71124,"timestamp":8214585966392,"id":3376,"parentId":3364,"tags":{},"startTime":1725026705603,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":584,"timestamp":8214586045451,"id":3378,"parentId":3347,"tags":{},"startTime":1725026705682,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":1068,"timestamp":8214586044982,"id":3377,"parentId":3347,"tags":{},"startTime":1725026705681,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":119019,"timestamp":8214585943082,"id":3364,"parentId":3347,"tags":{},"startTime":1725026705579,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":318832,"timestamp":8214585743323,"id":3347,"parentId":3345,"tags":{"name":"client"},"startTime":1725026705380,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":18395,"timestamp":8214586062203,"id":3379,"parentId":3345,"tags":{},"startTime":1725026705699,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":352057,"timestamp":8214585730756,"id":3345,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026705367,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":12,"timestamp":8214586093267,"id":3382,"parentId":3,"tags":{},"startTime":1725026705730,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":1,"timestamp":8214586093377,"id":3383,"parentId":3,"tags":{},"startTime":1725026705730,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":388000,"timestamp":8214585731968,"id":3387,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026705757,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7278,"timestamp":8214586146775,"id":3390,"parentId":3389,"tags":{},"startTime":1725026705783,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7838,"timestamp":8214586146226,"id":3389,"parentId":3388,"tags":{},"startTime":1725026705783,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":11563,"timestamp":8214586145264,"id":3388,"parentId":3380,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx","layer":"rsc"},"startTime":1725026705782,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":421000,"timestamp":8214585733012,"id":3391,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026705795,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":45019,"timestamp":8214586114847,"id":3386,"parentId":3381,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026705751,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":45728,"timestamp":8214586114755,"id":3385,"parentId":3381,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026705751,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":82222,"timestamp":8214586113548,"id":3384,"parentId":3381,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026705750,"traceId":"c0436940a62f44fd"},{"name":"make","duration":131657,"timestamp":8214586088660,"id":3381,"parentId":3380,"tags":{},"startTime":1725026705725,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3611,"timestamp":8214586231458,"id":3402,"parentId":3401,"tags":{},"startTime":1725026705868,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":8,"timestamp":8214586235177,"id":3404,"parentId":3401,"tags":{},"startTime":1725026705872,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":4917,"timestamp":8214586235215,"id":3405,"parentId":3401,"tags":{},"startTime":1725026705872,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":9,"timestamp":8214586240182,"id":3406,"parentId":3401,"tags":{},"startTime":1725026705877,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8214586240215,"id":3407,"parentId":3401,"tags":{},"startTime":1725026705877,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":8316,"timestamp":8214586235158,"id":3403,"parentId":3401,"tags":{},"startTime":1725026705871,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1126,"timestamp":8214586245481,"id":3408,"parentId":3401,"tags":{},"startTime":1725026705882,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5955,"timestamp":8214586246638,"id":3409,"parentId":3401,"tags":{},"startTime":1725026705883,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2288,"timestamp":8214586254795,"id":3410,"parentId":3401,"tags":{},"startTime":1725026705891,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":154,"timestamp":8214586257081,"id":3411,"parentId":3401,"tags":{},"startTime":1725026705893,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":409,"timestamp":8214586257222,"id":3412,"parentId":3401,"tags":{},"startTime":1725026705894,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":5210,"timestamp":8214586257640,"id":3413,"parentId":3401,"tags":{},"startTime":1725026705894,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":39798,"timestamp":8214586227366,"id":3401,"parentId":3380,"tags":{},"startTime":1725026705864,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":184228,"timestamp":8214586087769,"id":3380,"parentId":3346,"tags":{"name":"server"},"startTime":1725026705724,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":7173,"timestamp":8214586272044,"id":3414,"parentId":3346,"tags":{},"startTime":1725026705908,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":548971,"timestamp":8214585731744,"id":3346,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026705368,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":100389,"timestamp":8214586291446,"id":3416,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026705928,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214586391882,"id":3417,"parentId":3416,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"277430272","memory.heapUsed":"246605136","memory.heapTotal":"303038464"},"startTime":1725026706028,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":101558,"timestamp":8214586290582,"id":3415,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026705927,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214586392162,"id":3418,"parentId":3415,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"277446656","memory.heapUsed":"246683384","memory.heapTotal":"303038464"},"startTime":1725026706028,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26169,"timestamp":8214589551489,"id":3428,"parentId":3422,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026709188,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":32776,"timestamp":8214589551167,"id":3423,"parentId":3422,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026709187,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":40735,"timestamp":8214589551499,"id":3429,"parentId":3422,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026709188,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":4276,"timestamp":8214589588051,"id":3433,"parentId":3432,"tags":{},"startTime":1725026709224,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":49820,"timestamp":8214589551448,"id":3424,"parentId":3422,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026709188,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":50594,"timestamp":8214589551473,"id":3426,"parentId":3422,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026709188,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":50614,"timestamp":8214589551458,"id":3425,"parentId":3422,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026709188,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":90852,"timestamp":8214589592511,"id":3435,"parentId":3434,"tags":{},"startTime":1725026709229,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":91447,"timestamp":8214589592394,"id":3434,"parentId":3432,"tags":{},"startTime":1725026709229,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":16478,"timestamp":8214589683906,"id":3436,"parentId":3432,"tags":{"astUsed":"true"},"startTime":1725026709320,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":114705,"timestamp":8214589587838,"id":3432,"parentId":3431,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026709224,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":127821,"timestamp":8214589578705,"id":3431,"parentId":3421,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026709215,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":28,"timestamp":8214589707096,"id":3437,"parentId":3431,"tags":{},"startTime":1725026709343,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":155951,"timestamp":8214589551483,"id":3427,"parentId":3422,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026709188,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":158880,"timestamp":8214589551508,"id":3430,"parentId":3422,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026709188,"traceId":"c0436940a62f44fd"},{"name":"make","duration":160615,"timestamp":8214589549801,"id":3422,"parentId":3421,"tags":{},"startTime":1725026709186,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2131,"timestamp":8214589716981,"id":3439,"parentId":3438,"tags":{},"startTime":1725026709353,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":11,"timestamp":8214589719130,"id":3441,"parentId":3438,"tags":{},"startTime":1725026709355,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":65,"timestamp":8214589719157,"id":3442,"parentId":3438,"tags":{},"startTime":1725026709355,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":7,"timestamp":8214589719255,"id":3443,"parentId":3438,"tags":{},"startTime":1725026709356,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":8,"timestamp":8214589719278,"id":3444,"parentId":3438,"tags":{},"startTime":1725026709356,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2168,"timestamp":8214589719124,"id":3440,"parentId":3438,"tags":{},"startTime":1725026709355,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":376,"timestamp":8214589722823,"id":3445,"parentId":3438,"tags":{},"startTime":1725026709359,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":17555,"timestamp":8214589723205,"id":3446,"parentId":3438,"tags":{},"startTime":1725026709359,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3196,"timestamp":8214589741918,"id":3447,"parentId":3438,"tags":{},"startTime":1725026709378,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":127,"timestamp":8214589745113,"id":3448,"parentId":3438,"tags":{},"startTime":1725026709381,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":208,"timestamp":8214589745233,"id":3449,"parentId":3438,"tags":{},"startTime":1725026709382,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":2419,"timestamp":8214589745446,"id":3450,"parentId":3438,"tags":{},"startTime":1725026709382,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":123,"timestamp":8214589748924,"id":3452,"parentId":3421,"tags":{},"startTime":1725026709385,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":217,"timestamp":8214589748833,"id":3451,"parentId":3421,"tags":{},"startTime":1725026709385,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":36719,"timestamp":8214589714469,"id":3438,"parentId":3421,"tags":{},"startTime":1725026709351,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":202497,"timestamp":8214589548725,"id":3421,"parentId":3419,"tags":{"name":"client"},"startTime":1725026709185,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":6788,"timestamp":8214589751242,"id":3453,"parentId":3419,"tags":{},"startTime":1725026709388,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":222711,"timestamp":8214589536827,"id":3419,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026709173,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":12,"timestamp":8214589763416,"id":3456,"parentId":3,"tags":{},"startTime":1725026709400,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":1,"timestamp":8214589763472,"id":3457,"parentId":3,"tags":{},"startTime":1725026709400,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":261000,"timestamp":8214589539018,"id":3464,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026709438,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6246,"timestamp":8214589796521,"id":3463,"parentId":3462,"tags":{},"startTime":1725026709433,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6733,"timestamp":8214589796037,"id":3462,"parentId":3461,"tags":{},"startTime":1725026709432,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":9650,"timestamp":8214589794586,"id":3461,"parentId":3454,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx","layer":"rsc"},"startTime":1725026709431,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":42622,"timestamp":8214589766177,"id":3460,"parentId":3455,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026709402,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":271000,"timestamp":8214589539376,"id":3465,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026709455,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":55669,"timestamp":8214589766169,"id":3459,"parentId":3455,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026709402,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":116848,"timestamp":8214589766122,"id":3458,"parentId":3455,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026709402,"traceId":"c0436940a62f44fd"},{"name":"make","duration":142980,"timestamp":8214589761511,"id":3455,"parentId":3454,"tags":{},"startTime":1725026709398,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2004,"timestamp":8214589911193,"id":3476,"parentId":3475,"tags":{},"startTime":1725026709547,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":17,"timestamp":8214589913236,"id":3478,"parentId":3475,"tags":{},"startTime":1725026709550,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":12699,"timestamp":8214589913276,"id":3479,"parentId":3475,"tags":{},"startTime":1725026709550,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":7,"timestamp":8214589926008,"id":3480,"parentId":3475,"tags":{},"startTime":1725026709562,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8214589926030,"id":3481,"parentId":3475,"tags":{},"startTime":1725026709562,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":19301,"timestamp":8214589913211,"id":3477,"parentId":3475,"tags":{},"startTime":1725026709549,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":503,"timestamp":8214589934150,"id":3482,"parentId":3475,"tags":{},"startTime":1725026709570,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2755,"timestamp":8214589934663,"id":3483,"parentId":3475,"tags":{},"startTime":1725026709571,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1062,"timestamp":8214589938456,"id":3484,"parentId":3475,"tags":{},"startTime":1725026709575,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":86,"timestamp":8214589939517,"id":3485,"parentId":3475,"tags":{},"startTime":1725026709576,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":205,"timestamp":8214589939596,"id":3486,"parentId":3475,"tags":{},"startTime":1725026709576,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":1179,"timestamp":8214589939805,"id":3487,"parentId":3475,"tags":{},"startTime":1725026709576,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":34984,"timestamp":8214589908769,"id":3475,"parentId":3454,"tags":{},"startTime":1725026709545,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":186991,"timestamp":8214589761156,"id":3454,"parentId":3420,"tags":{"name":"server"},"startTime":1725026709397,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":5221,"timestamp":8214589948235,"id":3488,"parentId":3420,"tags":{},"startTime":1725026709585,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":416510,"timestamp":8214589537959,"id":3420,"parentId":3,"tags":{"trigger":"src/app/events/versefest/page.jsx"},"startTime":1725026709174,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":92338,"timestamp":8214589968900,"id":3489,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026709605,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214590061280,"id":3491,"parentId":3489,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"252510208","memory.heapUsed":"243330496","memory.heapTotal":"287637504"},"startTime":1725026709698,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":91773,"timestamp":8214589969713,"id":3490,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026709606,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214590061505,"id":3492,"parentId":3490,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"252526592","memory.heapUsed":"243409288","memory.heapTotal":"287637504"},"startTime":1725026709698,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26761,"timestamp":8214602808101,"id":3498,"parentId":3496,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026722444,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":27440,"timestamp":8214602808194,"id":3499,"parentId":3496,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026722444,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7288,"timestamp":8214602830323,"id":3502,"parentId":3501,"tags":{},"startTime":1725026722466,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7504,"timestamp":8214602830113,"id":3501,"parentId":3500,"tags":{},"startTime":1725026722466,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":11850,"timestamp":8214602829064,"id":3500,"parentId":3495,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"rsc"},"startTime":1725026722465,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":47883,"timestamp":8214602807325,"id":3497,"parentId":3496,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026722443,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14226,"timestamp":8214602864103,"id":3514,"parentId":3513,"tags":{},"startTime":1725026722500,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14522,"timestamp":8214602863819,"id":3513,"parentId":3512,"tags":{},"startTime":1725026722500,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":26479,"timestamp":8214602863245,"id":3512,"parentId":3495,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"ssr"},"startTime":1725026722499,"traceId":"c0436940a62f44fd"},{"name":"make","duration":126253,"timestamp":8214602768732,"id":3496,"parentId":3495,"tags":{},"startTime":1725026722405,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1706,"timestamp":8214602901305,"id":3516,"parentId":3515,"tags":{},"startTime":1725026722537,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8214602903028,"id":3518,"parentId":3515,"tags":{},"startTime":1725026722539,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2218,"timestamp":8214602903051,"id":3519,"parentId":3515,"tags":{},"startTime":1725026722539,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":5,"timestamp":8214602905298,"id":3520,"parentId":3515,"tags":{},"startTime":1725026722541,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8214602905333,"id":3521,"parentId":3515,"tags":{},"startTime":1725026722541,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3344,"timestamp":8214602903021,"id":3517,"parentId":3515,"tags":{},"startTime":1725026722539,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":743,"timestamp":8214602907690,"id":3522,"parentId":3515,"tags":{},"startTime":1725026722544,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3743,"timestamp":8214602908445,"id":3523,"parentId":3515,"tags":{},"startTime":1725026722544,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1505,"timestamp":8214602913638,"id":3524,"parentId":3515,"tags":{},"startTime":1725026722550,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":147,"timestamp":8214602915142,"id":3525,"parentId":3515,"tags":{},"startTime":1725026722551,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":327,"timestamp":8214602915279,"id":3526,"parentId":3515,"tags":{},"startTime":1725026722551,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":4741,"timestamp":8214602915611,"id":3527,"parentId":3515,"tags":{},"startTime":1725026722552,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":30087,"timestamp":8214602898989,"id":3515,"parentId":3495,"tags":{},"startTime":1725026722535,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":166442,"timestamp":8214602767328,"id":3495,"parentId":3493,"tags":{"name":"server"},"startTime":1725026722403,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":4976,"timestamp":8214602933835,"id":3528,"parentId":3493,"tags":{},"startTime":1725026722570,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":186865,"timestamp":8214602752335,"id":3493,"parentId":3,"tags":{"trigger":"src/components/Schedule.jsx"},"startTime":1725026722388,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14756,"timestamp":8214602948005,"id":3536,"parentId":3530,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026722584,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":20201,"timestamp":8214602947912,"id":3531,"parentId":3530,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026722584,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":24936,"timestamp":8214602947986,"id":3534,"parentId":3530,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026722584,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26145,"timestamp":8214602947979,"id":3533,"parentId":3530,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026722584,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26084,"timestamp":8214602948058,"id":3537,"parentId":3530,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026722584,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26414,"timestamp":8214602947963,"id":3532,"parentId":3530,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026722584,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3656,"timestamp":8214602970912,"id":3544,"parentId":3543,"tags":{},"startTime":1725026722607,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":60749,"timestamp":8214602974838,"id":3546,"parentId":3545,"tags":{},"startTime":1725026722611,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":61265,"timestamp":8214602974626,"id":3545,"parentId":3543,"tags":{},"startTime":1725026722611,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":13217,"timestamp":8214603035933,"id":3547,"parentId":3543,"tags":{"astUsed":"true"},"startTime":1725026722672,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":82907,"timestamp":8214602970792,"id":3543,"parentId":3539,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026722607,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":89308,"timestamp":8214602964905,"id":3542,"parentId":3541,"tags":{},"startTime":1725026722601,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":89602,"timestamp":8214602964614,"id":3541,"parentId":3540,"tags":{},"startTime":1725026722601,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":97611,"timestamp":8214602964415,"id":3540,"parentId":3529,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"app-pages-browser"},"startTime":1725026722600,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":102363,"timestamp":8214602963609,"id":3539,"parentId":3529,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026722600,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":38,"timestamp":8214603067011,"id":3548,"parentId":3539,"tags":{},"startTime":1725026722703,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":128477,"timestamp":8214602947993,"id":3535,"parentId":3530,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026722584,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":146214,"timestamp":8214602948069,"id":3538,"parentId":3530,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026722584,"traceId":"c0436940a62f44fd"},{"name":"make","duration":152961,"timestamp":8214602941342,"id":3530,"parentId":3529,"tags":{},"startTime":1725026722577,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1947,"timestamp":8214603101930,"id":3550,"parentId":3549,"tags":{},"startTime":1725026722738,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":11,"timestamp":8214603103902,"id":3552,"parentId":3549,"tags":{},"startTime":1725026722740,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":52,"timestamp":8214603103927,"id":3553,"parentId":3549,"tags":{},"startTime":1725026722740,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":7,"timestamp":8214603104003,"id":3554,"parentId":3549,"tags":{},"startTime":1725026722740,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":3,"timestamp":8214603104028,"id":3555,"parentId":3549,"tags":{},"startTime":1725026722740,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2080,"timestamp":8214603103892,"id":3551,"parentId":3549,"tags":{},"startTime":1725026722740,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":532,"timestamp":8214603107617,"id":3556,"parentId":3549,"tags":{},"startTime":1725026722744,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3978,"timestamp":8214603108160,"id":3557,"parentId":3549,"tags":{},"startTime":1725026722744,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":4592,"timestamp":8214603114940,"id":3558,"parentId":3549,"tags":{},"startTime":1725026722751,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":183,"timestamp":8214603119531,"id":3559,"parentId":3549,"tags":{},"startTime":1725026722756,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":254,"timestamp":8214603119704,"id":3560,"parentId":3549,"tags":{},"startTime":1725026722756,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":6980,"timestamp":8214603119966,"id":3561,"parentId":3549,"tags":{},"startTime":1725026722756,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":204,"timestamp":8214603129279,"id":3563,"parentId":3529,"tags":{},"startTime":1725026722765,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":339,"timestamp":8214603129151,"id":3562,"parentId":3529,"tags":{},"startTime":1725026722765,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":35288,"timestamp":8214603097372,"id":3549,"parentId":3529,"tags":{},"startTime":1725026722733,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":191712,"timestamp":8214602940978,"id":3529,"parentId":3494,"tags":{"name":"client"},"startTime":1725026722577,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":30404,"timestamp":8214603132719,"id":3564,"parentId":3494,"tags":{},"startTime":1725026722769,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":412373,"timestamp":8214602753067,"id":3494,"parentId":3,"tags":{"trigger":"src/components/Schedule.jsx"},"startTime":1725026722389,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":35,"timestamp":8214603177843,"id":3565,"parentId":3,"tags":{},"startTime":1725026722814,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":2,"timestamp":8214603178086,"id":3566,"parentId":3,"tags":{},"startTime":1725026722814,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":456000,"timestamp":8214602754136,"id":3569,"parentId":3,"tags":{"updatedModules":["[project]/src/components/Schedule.jsx"],"page":"/events/versefest","isPageHidden":true},"startTime":1725026722919,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":104018,"timestamp":8214603183676,"id":3568,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026722820,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8214603287748,"id":3570,"parentId":3568,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"300974080","memory.heapUsed":"230340288","memory.heapTotal":"280821760"},"startTime":1725026722924,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":106843,"timestamp":8214603182136,"id":3567,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026722818,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214603289007,"id":3571,"parentId":3567,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"300974080","memory.heapUsed":"230418656","memory.heapTotal":"280821760"},"startTime":1725026722925,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":542000,"timestamp":8214602753825,"id":3572,"parentId":3,"tags":{"updatedModules":["[project]/src/components/Schedule.jsx"],"page":"/events/versefest","isPageHidden":true},"startTime":1725026722933,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":22097,"timestamp":8214611599162,"id":3578,"parentId":3576,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026731235,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4342,"timestamp":8214611617003,"id":3582,"parentId":3581,"tags":{},"startTime":1725026731253,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4588,"timestamp":8214611616759,"id":3581,"parentId":3580,"tags":{},"startTime":1725026731253,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":7790,"timestamp":8214611615371,"id":3580,"parentId":3575,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"rsc"},"startTime":1725026731251,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":25065,"timestamp":8214611599179,"id":3579,"parentId":3576,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026731235,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":25874,"timestamp":8214611598890,"id":3577,"parentId":3576,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026731235,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7358,"timestamp":8214611631564,"id":3594,"parentId":3593,"tags":{},"startTime":1725026731267,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7515,"timestamp":8214611631413,"id":3593,"parentId":3592,"tags":{},"startTime":1725026731267,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":12129,"timestamp":8214611631047,"id":3592,"parentId":3575,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"ssr"},"startTime":1725026731267,"traceId":"c0436940a62f44fd"},{"name":"make","duration":76316,"timestamp":8214611584294,"id":3576,"parentId":3575,"tags":{},"startTime":1725026731220,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2787,"timestamp":8214611668303,"id":3596,"parentId":3595,"tags":{},"startTime":1725026731304,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":4,"timestamp":8214611671118,"id":3598,"parentId":3595,"tags":{},"startTime":1725026731307,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2892,"timestamp":8214611671138,"id":3599,"parentId":3595,"tags":{},"startTime":1725026731307,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":6,"timestamp":8214611674058,"id":3600,"parentId":3595,"tags":{},"startTime":1725026731310,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8214611674081,"id":3601,"parentId":3595,"tags":{},"startTime":1725026731310,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":5758,"timestamp":8214611671106,"id":3597,"parentId":3595,"tags":{},"startTime":1725026731307,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":653,"timestamp":8214611678629,"id":3602,"parentId":3595,"tags":{},"startTime":1725026731315,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2967,"timestamp":8214611679299,"id":3603,"parentId":3595,"tags":{},"startTime":1725026731315,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3583,"timestamp":8214611683766,"id":3604,"parentId":3595,"tags":{},"startTime":1725026731320,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":149,"timestamp":8214611687347,"id":3605,"parentId":3595,"tags":{},"startTime":1725026731323,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":550,"timestamp":8214611687488,"id":3606,"parentId":3595,"tags":{},"startTime":1725026731323,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":7542,"timestamp":8214611688042,"id":3607,"parentId":3595,"tags":{},"startTime":1725026731324,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":40169,"timestamp":8214611665580,"id":3595,"parentId":3575,"tags":{},"startTime":1725026731301,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":125928,"timestamp":8214611583206,"id":3575,"parentId":3573,"tags":{"name":"server"},"startTime":1725026731219,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":4730,"timestamp":8214611709219,"id":3608,"parentId":3573,"tags":{},"startTime":1725026731345,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":150909,"timestamp":8214611563467,"id":3573,"parentId":3,"tags":{"trigger":"src/components/Schedule.jsx"},"startTime":1725026731199,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":2585,"timestamp":8214611722065,"id":3616,"parentId":3610,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026731358,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":5814,"timestamp":8214611721991,"id":3611,"parentId":3610,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026731358,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5499,"timestamp":8214611725739,"id":3622,"parentId":3621,"tags":{},"startTime":1725026731362,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5599,"timestamp":8214611725643,"id":3621,"parentId":3620,"tags":{},"startTime":1725026731362,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":9273,"timestamp":8214611725510,"id":3620,"parentId":3609,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"app-pages-browser"},"startTime":1725026731361,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":22510,"timestamp":8214611722054,"id":3614,"parentId":3610,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026731358,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23378,"timestamp":8214611722049,"id":3613,"parentId":3610,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026731358,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23360,"timestamp":8214611722071,"id":3617,"parentId":3610,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026731358,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23491,"timestamp":8214611722040,"id":3612,"parentId":3610,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026731358,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":14525,"timestamp":8214611731093,"id":3624,"parentId":3623,"tags":{},"startTime":1725026731367,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":79482,"timestamp":8214611745697,"id":3626,"parentId":3625,"tags":{},"startTime":1725026731382,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":80172,"timestamp":8214611745653,"id":3625,"parentId":3623,"tags":{},"startTime":1725026731382,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":17393,"timestamp":8214611825908,"id":3627,"parentId":3623,"tags":{"astUsed":"true"},"startTime":1725026731462,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":113542,"timestamp":8214611730928,"id":3623,"parentId":3619,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026731367,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":122899,"timestamp":8214611722076,"id":3618,"parentId":3610,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026731358,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":122135,"timestamp":8214611725171,"id":3619,"parentId":3609,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026731361,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":29,"timestamp":8214611847466,"id":3628,"parentId":3619,"tags":{},"startTime":1725026731483,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":125460,"timestamp":8214611722059,"id":3615,"parentId":3610,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026731358,"traceId":"c0436940a62f44fd"},{"name":"make","duration":130892,"timestamp":8214611716641,"id":3610,"parentId":3609,"tags":{},"startTime":1725026731353,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1314,"timestamp":8214611851889,"id":3630,"parentId":3629,"tags":{},"startTime":1725026731488,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":3,"timestamp":8214611853217,"id":3632,"parentId":3629,"tags":{},"startTime":1725026731489,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":39,"timestamp":8214611853231,"id":3633,"parentId":3629,"tags":{},"startTime":1725026731489,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":4,"timestamp":8214611853287,"id":3634,"parentId":3629,"tags":{},"startTime":1725026731489,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":3,"timestamp":8214611853306,"id":3635,"parentId":3629,"tags":{},"startTime":1725026731489,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":1071,"timestamp":8214611853212,"id":3631,"parentId":3629,"tags":{},"startTime":1725026731489,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":405,"timestamp":8214611856122,"id":3636,"parentId":3629,"tags":{},"startTime":1725026731492,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2998,"timestamp":8214611856537,"id":3637,"parentId":3629,"tags":{},"startTime":1725026731492,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":11697,"timestamp":8214611860982,"id":3638,"parentId":3629,"tags":{},"startTime":1725026731497,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":144,"timestamp":8214611872677,"id":3639,"parentId":3629,"tags":{},"startTime":1725026731509,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":215,"timestamp":8214611872812,"id":3640,"parentId":3629,"tags":{},"startTime":1725026731509,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":3440,"timestamp":8214611873032,"id":3641,"parentId":3629,"tags":{},"startTime":1725026731509,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":64,"timestamp":8214611877424,"id":3643,"parentId":3609,"tags":{},"startTime":1725026731513,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":138,"timestamp":8214611877353,"id":3642,"parentId":3609,"tags":{},"startTime":1725026731513,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":29321,"timestamp":8214611849930,"id":3629,"parentId":3609,"tags":{},"startTime":1725026731486,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":163219,"timestamp":8214611716058,"id":3609,"parentId":3574,"tags":{"name":"client"},"startTime":1725026731352,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":11922,"timestamp":8214611879305,"id":3644,"parentId":3574,"tags":{},"startTime":1725026731515,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":327973,"timestamp":8214611564295,"id":3574,"parentId":3,"tags":{"trigger":"src/components/Schedule.jsx"},"startTime":1725026731200,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":6,"timestamp":8214611898141,"id":3645,"parentId":3,"tags":{},"startTime":1725026731534,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8214611898509,"id":3646,"parentId":3,"tags":{},"startTime":1725026731534,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":368000,"timestamp":8214611566328,"id":3649,"parentId":3,"tags":{"updatedModules":["[project]/src/components/Schedule.jsx"],"page":"/events/versefest","isPageHidden":true},"startTime":1725026731647,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":376000,"timestamp":8214611565376,"id":3650,"parentId":3,"tags":{"updatedModules":["[project]/src/components/Schedule.jsx"],"page":"/events/versefest","isPageHidden":true},"startTime":1725026731647,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":112703,"timestamp":8214611902367,"id":3647,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026731538,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214612015099,"id":3651,"parentId":3647,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"304513024","memory.heapUsed":"227060776","memory.heapTotal":"284655616"},"startTime":1725026731651,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":112202,"timestamp":8214611903106,"id":3648,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026731539,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214612015317,"id":3652,"parentId":3648,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"304513024","memory.heapUsed":"227142472","memory.heapTotal":"284655616"},"startTime":1725026731651,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2862,"timestamp":8214617281238,"id":3662,"parentId":3661,"tags":{},"startTime":1725026736917,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3161,"timestamp":8214617280958,"id":3661,"parentId":3660,"tags":{},"startTime":1725026736917,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":6038,"timestamp":8214617280062,"id":3660,"parentId":3655,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"rsc"},"startTime":1725026736916,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":42867,"timestamp":8214617263939,"id":3658,"parentId":3656,"tags":{"request":"next-app-loader?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026736900,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":44439,"timestamp":8214617263947,"id":3659,"parentId":3656,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026736900,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":45116,"timestamp":8214617263713,"id":3657,"parentId":3656,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026736900,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6912,"timestamp":8214617318293,"id":3674,"parentId":3673,"tags":{},"startTime":1725026736954,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7074,"timestamp":8214617318138,"id":3673,"parentId":3672,"tags":{},"startTime":1725026736954,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":11271,"timestamp":8214617317799,"id":3672,"parentId":3655,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"ssr"},"startTime":1725026736954,"traceId":"c0436940a62f44fd"},{"name":"make","duration":79851,"timestamp":8214617259265,"id":3656,"parentId":3655,"tags":{},"startTime":1725026736895,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3495,"timestamp":8214617348257,"id":3676,"parentId":3675,"tags":{},"startTime":1725026736984,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":11,"timestamp":8214617351777,"id":3678,"parentId":3675,"tags":{},"startTime":1725026736988,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2851,"timestamp":8214617351813,"id":3679,"parentId":3675,"tags":{},"startTime":1725026736988,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":12,"timestamp":8214617354696,"id":3680,"parentId":3675,"tags":{},"startTime":1725026736990,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8214617354722,"id":3681,"parentId":3675,"tags":{},"startTime":1725026736991,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":7368,"timestamp":8214617351768,"id":3677,"parentId":3675,"tags":{},"startTime":1725026736988,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":741,"timestamp":8214617367532,"id":3682,"parentId":3675,"tags":{},"startTime":1725026737003,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3281,"timestamp":8214617368285,"id":3683,"parentId":3675,"tags":{},"startTime":1725026737004,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1355,"timestamp":8214617373074,"id":3684,"parentId":3675,"tags":{},"startTime":1725026737009,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":123,"timestamp":8214617374428,"id":3685,"parentId":3675,"tags":{},"startTime":1725026737010,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":229,"timestamp":8214617374543,"id":3686,"parentId":3675,"tags":{},"startTime":1725026737010,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":4594,"timestamp":8214617374776,"id":3687,"parentId":3675,"tags":{},"startTime":1725026737011,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":38924,"timestamp":8214617344797,"id":3675,"parentId":3655,"tags":{},"startTime":1725026736981,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":128762,"timestamp":8214617258380,"id":3655,"parentId":3653,"tags":{"name":"server"},"startTime":1725026736894,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":6755,"timestamp":8214617387177,"id":3688,"parentId":3653,"tags":{},"startTime":1725026737023,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":155732,"timestamp":8214617238728,"id":3653,"parentId":3,"tags":{"trigger":"src/components/Schedule.jsx"},"startTime":1725026736875,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":5615,"timestamp":8214617406186,"id":3696,"parentId":3690,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026737042,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":11188,"timestamp":8214617406083,"id":3691,"parentId":3690,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026737042,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9180,"timestamp":8214617413045,"id":3702,"parentId":3701,"tags":{},"startTime":1725026737049,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9299,"timestamp":8214617412933,"id":3701,"parentId":3700,"tags":{},"startTime":1725026737049,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":12825,"timestamp":8214617412774,"id":3700,"parentId":3689,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Schedule.jsx","layer":"app-pages-browser"},"startTime":1725026737049,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":22832,"timestamp":8214617406166,"id":3694,"parentId":3690,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026737042,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23841,"timestamp":8214617406160,"id":3693,"parentId":3690,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026737042,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23816,"timestamp":8214617406192,"id":3697,"parentId":3690,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026737042,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23983,"timestamp":8214617406149,"id":3692,"parentId":3690,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026737042,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8127,"timestamp":8214617422090,"id":3704,"parentId":3703,"tags":{},"startTime":1725026737058,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":94324,"timestamp":8214617430310,"id":3706,"parentId":3705,"tags":{},"startTime":1725026737066,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":94827,"timestamp":8214617430258,"id":3705,"parentId":3703,"tags":{},"startTime":1725026737066,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":25953,"timestamp":8214617525150,"id":3707,"parentId":3703,"tags":{"astUsed":"true"},"startTime":1725026737161,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":131288,"timestamp":8214617421948,"id":3703,"parentId":3699,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026737058,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":151472,"timestamp":8214617406202,"id":3698,"parentId":3690,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026737042,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":150338,"timestamp":8214617412368,"id":3699,"parentId":3689,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026737048,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":245,"timestamp":8214617563050,"id":3708,"parentId":3699,"tags":{},"startTime":1725026737199,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":157174,"timestamp":8214617406178,"id":3695,"parentId":3690,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026737042,"traceId":"c0436940a62f44fd"},{"name":"make","duration":166395,"timestamp":8214617396991,"id":3690,"parentId":3689,"tags":{},"startTime":1725026737033,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2929,"timestamp":8214617571484,"id":3710,"parentId":3709,"tags":{},"startTime":1725026737207,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8214617574438,"id":3712,"parentId":3709,"tags":{},"startTime":1725026737210,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":67,"timestamp":8214617574467,"id":3713,"parentId":3709,"tags":{},"startTime":1725026737210,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":6,"timestamp":8214617574561,"id":3714,"parentId":3709,"tags":{},"startTime":1725026737210,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8214617574595,"id":3715,"parentId":3709,"tags":{},"startTime":1725026737210,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3032,"timestamp":8214617574429,"id":3711,"parentId":3709,"tags":{},"startTime":1725026737210,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":628,"timestamp":8214617578934,"id":3716,"parentId":3709,"tags":{},"startTime":1725026737215,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":5082,"timestamp":8214617579695,"id":3717,"parentId":3709,"tags":{},"startTime":1725026737215,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":7574,"timestamp":8214617587516,"id":3718,"parentId":3709,"tags":{},"startTime":1725026737223,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":231,"timestamp":8214617595088,"id":3719,"parentId":3709,"tags":{},"startTime":1725026737231,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":313,"timestamp":8214617595307,"id":3720,"parentId":3709,"tags":{},"startTime":1725026737231,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":7918,"timestamp":8214617595626,"id":3721,"parentId":3709,"tags":{},"startTime":1725026737231,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":348,"timestamp":8214617605297,"id":3723,"parentId":3689,"tags":{},"startTime":1725026737241,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":469,"timestamp":8214617605184,"id":3722,"parentId":3689,"tags":{},"startTime":1725026737241,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":40761,"timestamp":8214617568277,"id":3709,"parentId":3689,"tags":{},"startTime":1725026737204,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":212820,"timestamp":8214617396257,"id":3689,"parentId":3654,"tags":{"name":"client"},"startTime":1725026737032,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":14754,"timestamp":8214617609113,"id":3724,"parentId":3654,"tags":{},"startTime":1725026737245,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":386243,"timestamp":8214617239419,"id":3654,"parentId":3,"tags":{"trigger":"src/components/Schedule.jsx"},"startTime":1725026736875,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":7,"timestamp":8214617631762,"id":3725,"parentId":3,"tags":{},"startTime":1725026737268,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":7,"timestamp":8214617640615,"id":3726,"parentId":3,"tags":{},"startTime":1725026737276,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":457000,"timestamp":8214617241551,"id":3729,"parentId":3,"tags":{"updatedModules":["[project]/src/components/Schedule.jsx"],"page":"/events/versefest","isPageHidden":true},"startTime":1725026737437,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":465000,"timestamp":8214617241614,"id":3730,"parentId":3,"tags":{"updatedModules":["[project]/src/components/Schedule.jsx"],"page":"/events/versefest","isPageHidden":true},"startTime":1725026737437,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":166928,"timestamp":8214617646145,"id":3727,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026737282,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8214617813134,"id":3731,"parentId":3727,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"286523392","memory.heapUsed":"248648288","memory.heapTotal":"291356672"},"startTime":1725026737449,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":168212,"timestamp":8214617648535,"id":3728,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026737284,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214617816798,"id":3732,"parentId":3728,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"286949376","memory.heapUsed":"248726536","memory.heapTotal":"291356672"},"startTime":1725026737453,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12104,"timestamp":8214758852550,"id":3742,"parentId":3736,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026878486,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":18115,"timestamp":8214758852257,"id":3737,"parentId":3736,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725026878486,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":30511,"timestamp":8214758852562,"id":3743,"parentId":3736,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026878486,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7461,"timestamp":8214758875773,"id":3747,"parentId":3746,"tags":{},"startTime":1725026878509,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":40206,"timestamp":8214758852509,"id":3738,"parentId":3736,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725026878486,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":40975,"timestamp":8214758852531,"id":3740,"parentId":3736,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725026878486,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":40990,"timestamp":8214758852520,"id":3739,"parentId":3736,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026878486,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":103074,"timestamp":8214758883411,"id":3749,"parentId":3748,"tags":{},"startTime":1725026878517,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":104084,"timestamp":8214758883300,"id":3748,"parentId":3746,"tags":{},"startTime":1725026878517,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":21899,"timestamp":8214758987457,"id":3750,"parentId":3746,"tags":{"astUsed":"true"},"startTime":1725026878621,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":142275,"timestamp":8214758875498,"id":3746,"parentId":3745,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725026878509,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":155768,"timestamp":8214758865923,"id":3745,"parentId":3735,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725026878499,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":28,"timestamp":8214759022204,"id":3751,"parentId":3745,"tags":{},"startTime":1725026878656,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":170422,"timestamp":8214758852540,"id":3741,"parentId":3736,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725026878486,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":172251,"timestamp":8214758852568,"id":3744,"parentId":3736,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725026878486,"traceId":"c0436940a62f44fd"},{"name":"make","duration":173690,"timestamp":8214758851152,"id":3736,"parentId":3735,"tags":{},"startTime":1725026878485,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2540,"timestamp":8214759073864,"id":3753,"parentId":3752,"tags":{},"startTime":1725026878707,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":10,"timestamp":8214759076439,"id":3755,"parentId":3752,"tags":{},"startTime":1725026878710,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":64,"timestamp":8214759076478,"id":3756,"parentId":3752,"tags":{},"startTime":1725026878710,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":9,"timestamp":8214759076576,"id":3757,"parentId":3752,"tags":{},"startTime":1725026878710,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8214759076605,"id":3758,"parentId":3752,"tags":{},"startTime":1725026878710,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2141,"timestamp":8214759076428,"id":3754,"parentId":3752,"tags":{},"startTime":1725026878710,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":435,"timestamp":8214759080088,"id":3759,"parentId":3752,"tags":{},"startTime":1725026878713,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3899,"timestamp":8214759080532,"id":3760,"parentId":3752,"tags":{},"startTime":1725026878714,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":5548,"timestamp":8214759089035,"id":3761,"parentId":3752,"tags":{},"startTime":1725026878722,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":288,"timestamp":8214759094581,"id":3762,"parentId":3752,"tags":{},"startTime":1725026878728,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":348,"timestamp":8214759094859,"id":3763,"parentId":3752,"tags":{},"startTime":1725026878728,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":11797,"timestamp":8214759095213,"id":3764,"parentId":3752,"tags":{},"startTime":1725026878729,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":191,"timestamp":8214759108669,"id":3766,"parentId":3735,"tags":{},"startTime":1725026878742,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":270,"timestamp":8214759108595,"id":3765,"parentId":3735,"tags":{},"startTime":1725026878742,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":40295,"timestamp":8214759071119,"id":3752,"parentId":3735,"tags":{},"startTime":1725026878704,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":261344,"timestamp":8214758850112,"id":3735,"parentId":3733,"tags":{"name":"client"},"startTime":1725026878483,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":8535,"timestamp":8214759111488,"id":3767,"parentId":3733,"tags":{},"startTime":1725026878745,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":302980,"timestamp":8214758818110,"id":3733,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725026878451,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":4,"timestamp":8214759125856,"id":3770,"parentId":3,"tags":{},"startTime":1725026878759,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":1,"timestamp":8214759125923,"id":3771,"parentId":3,"tags":{},"startTime":1725026878759,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":331000,"timestamp":8214758822974,"id":3777,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026878788,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":25773,"timestamp":8214759129450,"id":3773,"parentId":3769,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026878763,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4638,"timestamp":8214759150744,"id":3776,"parentId":3775,"tags":{},"startTime":1725026878784,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4828,"timestamp":8214759150556,"id":3775,"parentId":3774,"tags":{},"startTime":1725026878784,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":10141,"timestamp":8214759150148,"id":3774,"parentId":3768,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx","layer":"rsc"},"startTime":1725026878784,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":341000,"timestamp":8214758823072,"id":3778,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725026878802,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":324679,"timestamp":8214759129352,"id":3772,"parentId":3769,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725026878763,"traceId":"c0436940a62f44fd"},{"name":"make","duration":349408,"timestamp":8214759123318,"id":3769,"parentId":3768,"tags":{},"startTime":1725026878757,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3769,"timestamp":8214759481763,"id":3789,"parentId":3788,"tags":{},"startTime":1725026879115,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":11,"timestamp":8214759485561,"id":3791,"parentId":3788,"tags":{},"startTime":1725026879119,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2607,"timestamp":8214759485692,"id":3792,"parentId":3788,"tags":{},"startTime":1725026879119,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":12,"timestamp":8214759488333,"id":3793,"parentId":3788,"tags":{},"startTime":1725026879122,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8214759488369,"id":3794,"parentId":3788,"tags":{},"startTime":1725026879122,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":5006,"timestamp":8214759485551,"id":3790,"parentId":3788,"tags":{},"startTime":1725026879119,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":464,"timestamp":8214759491990,"id":3795,"parentId":3788,"tags":{},"startTime":1725026879125,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":12693,"timestamp":8214759492463,"id":3796,"parentId":3788,"tags":{},"startTime":1725026879126,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1569,"timestamp":8214759506939,"id":3797,"parentId":3788,"tags":{},"startTime":1725026879140,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":121,"timestamp":8214759508507,"id":3798,"parentId":3788,"tags":{},"startTime":1725026879142,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":288,"timestamp":8214759508618,"id":3799,"parentId":3788,"tags":{},"startTime":1725026879142,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":3194,"timestamp":8214759508914,"id":3800,"parentId":3788,"tags":{},"startTime":1725026879142,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":36288,"timestamp":8214759478606,"id":3788,"parentId":3768,"tags":{},"startTime":1725026879112,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":394652,"timestamp":8214759123002,"id":3768,"parentId":3734,"tags":{"name":"server"},"startTime":1725026878756,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":7179,"timestamp":8214759517699,"id":3801,"parentId":3734,"tags":{},"startTime":1725026879151,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":705645,"timestamp":8214758820906,"id":3734,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725026878454,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":321707,"timestamp":8214759537549,"id":3802,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026879171,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":3,"timestamp":8214759859812,"id":3804,"parentId":3802,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"318193664","memory.heapUsed":"232907624","memory.heapTotal":"267288576"},"startTime":1725026879493,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":326101,"timestamp":8214759538533,"id":3803,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725026879172,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214759864665,"id":3805,"parentId":3803,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"318226432","memory.heapUsed":"233156080","memory.heapTotal":"267288576"},"startTime":1725026879498,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":31177,"timestamp":8214898721010,"id":3811,"parentId":3809,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027018352,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":84621,"timestamp":8214898741367,"id":3814,"parentId":3813,"tags":{},"startTime":1725027018372,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":84905,"timestamp":8214898741098,"id":3813,"parentId":3812,"tags":{},"startTime":1725027018372,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":88934,"timestamp":8214898739815,"id":3812,"parentId":3808,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx","layer":"rsc"},"startTime":1725027018371,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":108071,"timestamp":8214898720779,"id":3810,"parentId":3809,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027018352,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":24210,"timestamp":8214898911417,"id":3824,"parentId":3808,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!","layer":"ssr"},"startTime":1725027018542,"traceId":"c0436940a62f44fd"},{"name":"make","duration":528582,"timestamp":8214898709358,"id":3809,"parentId":3808,"tags":{},"startTime":1725027018340,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":5517,"timestamp":8214899249429,"id":3826,"parentId":3825,"tags":{},"startTime":1725027018880,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":22,"timestamp":8214899255116,"id":3828,"parentId":3825,"tags":{},"startTime":1725027018886,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":3674,"timestamp":8214899255235,"id":3829,"parentId":3825,"tags":{},"startTime":1725027018886,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":19,"timestamp":8214899258951,"id":3830,"parentId":3825,"tags":{},"startTime":1725027018890,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":8,"timestamp":8214899259011,"id":3831,"parentId":3825,"tags":{},"startTime":1725027018890,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":6695,"timestamp":8214899254971,"id":3827,"parentId":3825,"tags":{},"startTime":1725027018886,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1238,"timestamp":8214899263677,"id":3832,"parentId":3825,"tags":{},"startTime":1725027018895,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":6294,"timestamp":8214899264932,"id":3833,"parentId":3825,"tags":{},"startTime":1725027018896,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2825,"timestamp":8214899273254,"id":3834,"parentId":3825,"tags":{},"startTime":1725027018904,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":171,"timestamp":8214899276077,"id":3835,"parentId":3825,"tags":{},"startTime":1725027018907,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":297,"timestamp":8214899276233,"id":3836,"parentId":3825,"tags":{},"startTime":1725027018907,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":6115,"timestamp":8214899276538,"id":3837,"parentId":3825,"tags":{},"startTime":1725027018908,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":51085,"timestamp":8214899245406,"id":3825,"parentId":3808,"tags":{},"startTime":1725027018876,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":594807,"timestamp":8214898708369,"id":3808,"parentId":3806,"tags":{"name":"server"},"startTime":1725027018339,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":627469,"timestamp":8214898683512,"id":3806,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725027018314,"traceId":"c0436940a62f44fd"},{"name":"client-error","duration":4,"timestamp":8214899330749,"id":3848,"parentId":3,"tags":{"errorCount":1},"startTime":1725027018962,"traceId":"c0436940a62f44fd"},{"name":"client-error","duration":1,"timestamp":8214899330872,"id":3849,"parentId":3,"tags":{"errorCount":1},"startTime":1725027018962,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26231,"timestamp":8214899329456,"id":3845,"parentId":3839,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027018960,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":56250,"timestamp":8214899329046,"id":3840,"parentId":3839,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027018960,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":68139,"timestamp":8214899329432,"id":3843,"parentId":3839,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725027018960,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":14896,"timestamp":8214899459525,"id":3853,"parentId":3847,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!","layer":"app-pages-browser"},"startTime":1725027019090,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":147064,"timestamp":8214899329467,"id":3846,"parentId":3839,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027018960,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":83745,"timestamp":8214899393919,"id":3852,"parentId":3851,"tags":{},"startTime":1725027019025,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":175816,"timestamp":8214899329391,"id":3841,"parentId":3839,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725027018960,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":189784,"timestamp":8214899477973,"id":3855,"parentId":3854,"tags":{},"startTime":1725027019109,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":190524,"timestamp":8214899477868,"id":3854,"parentId":3851,"tags":{},"startTime":1725027019109,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":32017,"timestamp":8214899668465,"id":3856,"parentId":3851,"tags":{"astUsed":"true"},"startTime":1725027019299,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":311671,"timestamp":8214899393463,"id":3851,"parentId":3850,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725027019024,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":377237,"timestamp":8214899329419,"id":3842,"parentId":3839,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027018960,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":375345,"timestamp":8214899356001,"id":3850,"parentId":3838,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725027018987,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":47,"timestamp":8214899732824,"id":3857,"parentId":3850,"tags":{},"startTime":1725027019364,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":403462,"timestamp":8214899329443,"id":3844,"parentId":3839,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027018960,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":655885,"timestamp":8214899329489,"id":3847,"parentId":3839,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027018960,"traceId":"c0436940a62f44fd"},{"name":"make","duration":670295,"timestamp":8214899315118,"id":3839,"parentId":3838,"tags":{},"startTime":1725027018946,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2091,"timestamp":8214899991527,"id":3859,"parentId":3858,"tags":{},"startTime":1725027019622,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":8,"timestamp":8214899993641,"id":3861,"parentId":3858,"tags":{},"startTime":1725027019625,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":58,"timestamp":8214899993768,"id":3862,"parentId":3858,"tags":{},"startTime":1725027019625,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":8,"timestamp":8214899993850,"id":3863,"parentId":3858,"tags":{},"startTime":1725027019625,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":11,"timestamp":8214899994112,"id":3864,"parentId":3858,"tags":{},"startTime":1725027019625,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2484,"timestamp":8214899993632,"id":3860,"parentId":3858,"tags":{},"startTime":1725027019625,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":361,"timestamp":8214899997682,"id":3865,"parentId":3858,"tags":{},"startTime":1725027019629,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3454,"timestamp":8214899998052,"id":3866,"parentId":3858,"tags":{},"startTime":1725027019629,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":7455,"timestamp":8214900005687,"id":3867,"parentId":3858,"tags":{},"startTime":1725027019637,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":615,"timestamp":8214900013140,"id":3868,"parentId":3858,"tags":{},"startTime":1725027019644,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":318,"timestamp":8214900013731,"id":3869,"parentId":3858,"tags":{},"startTime":1725027019645,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":9261,"timestamp":8214900014055,"id":3870,"parentId":3858,"tags":{},"startTime":1725027019645,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":215,"timestamp":8214900025092,"id":3872,"parentId":3838,"tags":{},"startTime":1725027019656,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":295,"timestamp":8214900025015,"id":3871,"parentId":3838,"tags":{},"startTime":1725027019656,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":40369,"timestamp":8214899988965,"id":3858,"parentId":3838,"tags":{},"startTime":1725027019620,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":714748,"timestamp":8214899314623,"id":3838,"parentId":3807,"tags":{"name":"client"},"startTime":1725027018946,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":12709,"timestamp":8214900029415,"id":3873,"parentId":3807,"tags":{},"startTime":1725027019660,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":1360864,"timestamp":8214898686208,"id":3807,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725027018317,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":11,"timestamp":8214901211110,"id":3894,"parentId":3,"tags":{},"startTime":1725027020842,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":1,"timestamp":8214901211176,"id":3895,"parentId":3,"tags":{},"startTime":1725027020842,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":38000,"timestamp":8214901210049,"id":3900,"parentId":3,"tags":{"updatedModules":["[project]/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","[project]/node_modules/@headlessui/react/dist/hooks/use-flags.js","[project]/node_modules/@headlessui/react/dist/hooks/use-transition.js","[project]/node_modules/@headlessui/react/dist/internal/close-provider.js","[project]/node_modules/@headlessui/react/dist/internal/open-closed.js","[project]/node_modules/@headlessui/react/dist/utils/bugs.js","[project]/node_modules/@headlessui/react/dist/utils/once.js","[project]/node_modules/@headlessui/react/dist/utils/start-transition.js","[project]/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!","[project]/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"],"page":"/events/versefest","isPageHidden":true},"startTime":1725027020881,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":46000,"timestamp":8214901209575,"id":3901,"parentId":3,"tags":{"updatedModules":["[project]/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","[project]/node_modules/@headlessui/react/dist/hooks/use-flags.js","[project]/node_modules/@headlessui/react/dist/hooks/use-transition.js","[project]/node_modules/@headlessui/react/dist/internal/close-provider.js","[project]/node_modules/@headlessui/react/dist/internal/open-closed.js","[project]/node_modules/@headlessui/react/dist/utils/bugs.js","[project]/node_modules/@headlessui/react/dist/utils/once.js","[project]/node_modules/@headlessui/react/dist/utils/start-transition.js","[project]/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!","[project]/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"],"page":"/events/versefest","isPageHidden":true},"startTime":1725027020889,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":51939,"timestamp":8214901235479,"id":3899,"parentId":3897,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027020866,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":52042,"timestamp":8214901276236,"id":3904,"parentId":3903,"tags":{},"startTime":1725027020907,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":52262,"timestamp":8214901276025,"id":3903,"parentId":3902,"tags":{},"startTime":1725027020907,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":57271,"timestamp":8214901275629,"id":3902,"parentId":3896,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx","layer":"rsc"},"startTime":1725027020907,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":107289,"timestamp":8214901235397,"id":3898,"parentId":3897,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027020866,"traceId":"c0436940a62f44fd"},{"name":"make","duration":159186,"timestamp":8214901217177,"id":3897,"parentId":3896,"tags":{},"startTime":1725027020848,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":9232,"timestamp":8214901388663,"id":3915,"parentId":3914,"tags":{},"startTime":1725027021020,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":23,"timestamp":8214901397952,"id":3917,"parentId":3914,"tags":{},"startTime":1725027021029,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":16776,"timestamp":8214901398006,"id":3918,"parentId":3914,"tags":{},"startTime":1725027021029,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":30,"timestamp":8214901414904,"id":3919,"parentId":3914,"tags":{},"startTime":1725027021046,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":9,"timestamp":8214901414977,"id":3920,"parentId":3914,"tags":{},"startTime":1725027021046,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":20983,"timestamp":8214901397930,"id":3916,"parentId":3914,"tags":{},"startTime":1725027021029,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":2392,"timestamp":8214901423115,"id":3921,"parentId":3914,"tags":{},"startTime":1725027021054,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":7068,"timestamp":8214901425564,"id":3922,"parentId":3914,"tags":{},"startTime":1725027021056,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1916,"timestamp":8214901435190,"id":3923,"parentId":3914,"tags":{},"startTime":1725027021066,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":260,"timestamp":8214901437103,"id":3924,"parentId":3914,"tags":{},"startTime":1725027021068,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":336,"timestamp":8214901437348,"id":3925,"parentId":3914,"tags":{},"startTime":1725027021068,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":4163,"timestamp":8214901437691,"id":3926,"parentId":3914,"tags":{},"startTime":1725027021069,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":64150,"timestamp":8214901384527,"id":3914,"parentId":3896,"tags":{},"startTime":1725027021015,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":235987,"timestamp":8214901216884,"id":3896,"parentId":3892,"tags":{"name":"server"},"startTime":1725027020848,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":19948,"timestamp":8214901452970,"id":3927,"parentId":3892,"tags":{},"startTime":1725027021084,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":264588,"timestamp":8214901208932,"id":3892,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725027020840,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":8540,"timestamp":8214901484993,"id":3935,"parentId":3929,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027021116,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14155,"timestamp":8214901484790,"id":3930,"parentId":3929,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027021116,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21808,"timestamp":8214901484974,"id":3933,"parentId":3929,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725027021116,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":24165,"timestamp":8214901484964,"id":3932,"parentId":3929,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027021116,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":24165,"timestamp":8214901485001,"id":3936,"parentId":3929,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027021116,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":25339,"timestamp":8214901484943,"id":3931,"parentId":3929,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725027021116,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":6849,"timestamp":8214901503628,"id":3940,"parentId":3939,"tags":{},"startTime":1725027021135,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":103385,"timestamp":8214901510589,"id":3942,"parentId":3941,"tags":{},"startTime":1725027021142,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":108448,"timestamp":8214901510529,"id":3941,"parentId":3939,"tags":{},"startTime":1725027021141,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":19085,"timestamp":8214901619049,"id":3943,"parentId":3939,"tags":{"astUsed":"true"},"startTime":1725027021250,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":136545,"timestamp":8214901503476,"id":3939,"parentId":3938,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725027021134,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":156394,"timestamp":8214901485009,"id":3937,"parentId":3929,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027021116,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":152289,"timestamp":8214901494327,"id":3938,"parentId":3928,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725027021125,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":31,"timestamp":8214901648211,"id":3944,"parentId":3938,"tags":{},"startTime":1725027021279,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":163781,"timestamp":8214901484984,"id":3934,"parentId":3929,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027021116,"traceId":"c0436940a62f44fd"},{"name":"make","duration":172841,"timestamp":8214901475943,"id":3929,"parentId":3928,"tags":{},"startTime":1725027021107,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1728,"timestamp":8214901654549,"id":3946,"parentId":3945,"tags":{},"startTime":1725027021285,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":4,"timestamp":8214901656298,"id":3948,"parentId":3945,"tags":{},"startTime":1725027021287,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":52,"timestamp":8214901656320,"id":3949,"parentId":3945,"tags":{},"startTime":1725027021287,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":188,"timestamp":8214901656398,"id":3950,"parentId":3945,"tags":{},"startTime":1725027021287,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8214901656615,"id":3951,"parentId":3945,"tags":{},"startTime":1725027021288,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":2382,"timestamp":8214901656290,"id":3947,"parentId":3945,"tags":{},"startTime":1725027021287,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":506,"timestamp":8214901659618,"id":3952,"parentId":3945,"tags":{},"startTime":1725027021291,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2059,"timestamp":8214901660131,"id":3953,"parentId":3945,"tags":{},"startTime":1725027021291,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":7304,"timestamp":8214901663454,"id":3954,"parentId":3945,"tags":{},"startTime":1725027021294,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":185,"timestamp":8214901670757,"id":3955,"parentId":3945,"tags":{},"startTime":1725027021302,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":251,"timestamp":8214901670930,"id":3956,"parentId":3945,"tags":{},"startTime":1725027021302,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":3018,"timestamp":8214901671186,"id":3957,"parentId":3945,"tags":{},"startTime":1725027021302,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":77,"timestamp":8214901675644,"id":3959,"parentId":3928,"tags":{},"startTime":1725027021307,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":148,"timestamp":8214901675577,"id":3958,"parentId":3928,"tags":{},"startTime":1725027021307,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":26232,"timestamp":8214901651956,"id":3945,"parentId":3928,"tags":{},"startTime":1725027021283,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":202688,"timestamp":8214901475535,"id":3928,"parentId":3893,"tags":{"name":"client"},"startTime":1725027021106,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":17565,"timestamp":8214901678253,"id":3960,"parentId":3893,"tags":{},"startTime":1725027021309,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":487876,"timestamp":8214901209718,"id":3893,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725027020841,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":5,"timestamp":8214901702494,"id":3961,"parentId":3,"tags":{},"startTime":1725027021333,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":4,"timestamp":8214901702733,"id":3962,"parentId":3,"tags":{},"startTime":1725027021334,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":529000,"timestamp":8214901210272,"id":3963,"parentId":3,"tags":{"updatedModules":["[project]/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!","[project]/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!","[project]/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","[project]/node_modules/@headlessui/react/dist/hooks/use-flags.js","[project]/node_modules/@headlessui/react/dist/hooks/use-transition.js","[project]/node_modules/@headlessui/react/dist/internal/close-provider.js","[project]/node_modules/@headlessui/react/dist/internal/open-closed.js","[project]/node_modules/@headlessui/react/dist/utils/bugs.js","[project]/node_modules/@headlessui/react/dist/utils/once.js","[project]/node_modules/@headlessui/react/dist/utils/start-transition.js"],"page":"/events/versefest","isPageHidden":true},"startTime":1725027021372,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":537000,"timestamp":8214901210030,"id":3964,"parentId":3,"tags":{"updatedModules":["[project]/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!","[project]/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!","[project]/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","[project]/node_modules/@headlessui/react/dist/hooks/use-flags.js","[project]/node_modules/@headlessui/react/dist/hooks/use-transition.js","[project]/node_modules/@headlessui/react/dist/internal/close-provider.js","[project]/node_modules/@headlessui/react/dist/internal/open-closed.js","[project]/node_modules/@headlessui/react/dist/utils/bugs.js","[project]/node_modules/@headlessui/react/dist/utils/once.js","[project]/node_modules/@headlessui/react/dist/utils/start-transition.js"],"page":"/events/versefest","isPageHidden":true},"startTime":1725027021380,"traceId":"c0436940a62f44fd"},{"name":"next-client-pages-loader","duration":480,"timestamp":8214902466874,"id":3966,"parentId":3965,"tags":{"absolutePagePath":"next/dist/pages/_app"},"startTime":1725027022098,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":4129,"timestamp":8214902464769,"id":3965,"parentId":3881,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!","layer":null},"startTime":1725027022096,"traceId":"c0436940a62f44fd"},{"name":"next-client-pages-loader","duration":30,"timestamp":8214902469015,"id":3968,"parentId":3967,"tags":{"absolutePagePath":"next/dist/pages/_error"},"startTime":1725027022100,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":449,"timestamp":8214902468958,"id":3967,"parentId":3883,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!","layer":null},"startTime":1725027022100,"traceId":"c0436940a62f44fd"},{"name":"next-client-pages-loader","duration":47,"timestamp":8214902472422,"id":3970,"parentId":3969,"tags":{"absolutePagePath":"next/dist/pages/_app"},"startTime":1725027022103,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":1167,"timestamp":8214902471891,"id":3969,"parentId":3889,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!","layer":null},"startTime":1725027022103,"traceId":"c0436940a62f44fd"},{"name":"next-client-pages-loader","duration":30,"timestamp":8214902473156,"id":3972,"parentId":3971,"tags":{"absolutePagePath":"next/dist/pages/_error"},"startTime":1725027022104,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":444,"timestamp":8214902473110,"id":3971,"parentId":3891,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!","layer":null},"startTime":1725027022104,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13023,"timestamp":8214902479428,"id":3990,"parentId":3989,"tags":{},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13077,"timestamp":8214902479385,"id":3989,"parentId":3986,"tags":{},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17702,"timestamp":8214902479181,"id":3986,"parentId":3888,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/next-dev.js","layer":null},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":21282,"timestamp":8214902478332,"id":3979,"parentId":3978,"tags":{},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":21419,"timestamp":8214902478204,"id":3978,"parentId":3975,"tags":{},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24504,"timestamp":8214902477932,"id":3975,"parentId":3880,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/next-dev.js","layer":null},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":24304,"timestamp":8214902478392,"id":3981,"parentId":3980,"tags":{},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":24345,"timestamp":8214902478361,"id":3980,"parentId":3976,"tags":{},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":30060,"timestamp":8214902478058,"id":3976,"parentId":3879,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/amp-dev.js","layer":null},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":29986,"timestamp":8214902478441,"id":3983,"parentId":3982,"tags":{},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":30012,"timestamp":8214902478418,"id":3982,"parentId":3977,"tags":{},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":34517,"timestamp":8214902478125,"id":3977,"parentId":3882,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/router.js","layer":null},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":33246,"timestamp":8214902479476,"id":3992,"parentId":3991,"tags":{},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":33271,"timestamp":8214902479454,"id":3991,"parentId":3987,"tags":{},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":35893,"timestamp":8214902479254,"id":3987,"parentId":3887,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/amp-dev.js","layer":null},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":35666,"timestamp":8214902479521,"id":3994,"parentId":3993,"tags":{},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":35688,"timestamp":8214902479500,"id":3993,"parentId":3988,"tags":{},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":39018,"timestamp":8214902479315,"id":3988,"parentId":3890,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/router.js","layer":null},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":48120,"timestamp":8214902477903,"id":3974,"parentId":3973,"tags":{},"startTime":1725027022109,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":49473,"timestamp":8214902477445,"id":3973,"parentId":3878,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js","layer":null},"startTime":1725027022108,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":47810,"timestamp":8214902479146,"id":3985,"parentId":3984,"tags":{},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":48697,"timestamp":8214902478806,"id":3984,"parentId":3886,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js","layer":null},"startTime":1725027022110,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8804,"timestamp":8214902534872,"id":4000,"parentId":3999,"tags":{},"startTime":1725027022166,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8843,"timestamp":8214902534845,"id":3999,"parentId":3996,"tags":{},"startTime":1725027022166,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12382,"timestamp":8214902534609,"id":3996,"parentId":3986,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/setup-hydration-warning.js","layer":null},"startTime":1725027022166,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12264,"timestamp":8214902534817,"id":3998,"parentId":3997,"tags":{},"startTime":1725027022166,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12335,"timestamp":8214902534749,"id":3997,"parentId":3995,"tags":{},"startTime":1725027022166,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16446,"timestamp":8214902534457,"id":3995,"parentId":3986,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/page-bootstrap.js","layer":null},"startTime":1725027022165,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14850,"timestamp":8214902539712,"id":4009,"parentId":4008,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14927,"timestamp":8214902539641,"id":4008,"parentId":4001,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21875,"timestamp":8214902535974,"id":4001,"parentId":3975,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/webpack.js","layer":null},"startTime":1725027022167,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18096,"timestamp":8214902539816,"id":4013,"parentId":4012,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18121,"timestamp":8214902539793,"id":4012,"parentId":4003,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21191,"timestamp":8214902539042,"id":4003,"parentId":3977,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/with-router.js","layer":null},"startTime":1725027022170,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20416,"timestamp":8214902539863,"id":4015,"parentId":4014,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20440,"timestamp":8214902539841,"id":4014,"parentId":4004,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23611,"timestamp":8214902539169,"id":4004,"parentId":3975,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/setup-hydration-warning.js","layer":null},"startTime":1725027022170,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":23105,"timestamp":8214902539768,"id":4011,"parentId":4010,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":23136,"timestamp":8214902539741,"id":4010,"parentId":4002,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":31959,"timestamp":8214902536073,"id":4002,"parentId":3975,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/page-bootstrap.js","layer":null},"startTime":1725027022167,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":28242,"timestamp":8214902539953,"id":4019,"parentId":4018,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":28272,"timestamp":8214902539932,"id":4018,"parentId":4006,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":32446,"timestamp":8214902539310,"id":4006,"parentId":3976,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/on-demand-entries-client.js","layer":null},"startTime":1725027022170,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":31033,"timestamp":8214902540897,"id":4029,"parentId":4028,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":31099,"timestamp":8214902540839,"id":4028,"parentId":4022,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":34561,"timestamp":8214902540393,"id":4022,"parentId":3986,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/hot-middleware-client.js","layer":null},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":35018,"timestamp":8214902539997,"id":4021,"parentId":4020,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":35041,"timestamp":8214902539977,"id":4020,"parentId":4007,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":37187,"timestamp":8214902539371,"id":4007,"parentId":3976,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/fouc.js","layer":null},"startTime":1725027022170,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":36691,"timestamp":8214902539907,"id":4017,"parentId":4016,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":36714,"timestamp":8214902539887,"id":4016,"parentId":4005,"tags":{},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":39245,"timestamp":8214902539245,"id":4005,"parentId":3975,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/hot-middleware-client.js","layer":null},"startTime":1725027022170,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":37566,"timestamp":8214902540953,"id":4031,"parentId":4030,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":37596,"timestamp":8214902540925,"id":4030,"parentId":4023,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":40052,"timestamp":8214902540484,"id":4023,"parentId":3986,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/webpack.js","layer":null},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":39550,"timestamp":8214902541049,"id":4035,"parentId":4034,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":39576,"timestamp":8214902541027,"id":4034,"parentId":4025,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":42090,"timestamp":8214902540604,"id":4025,"parentId":3988,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/with-router.js","layer":null},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":43019,"timestamp":8214902541194,"id":4039,"parentId":4038,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43045,"timestamp":8214902541173,"id":4038,"parentId":4027,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":45933,"timestamp":8214902540714,"id":4027,"parentId":3987,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/on-demand-entries-client.js","layer":null},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":45542,"timestamp":8214902541148,"id":4037,"parentId":4036,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":45570,"timestamp":8214902541123,"id":4036,"parentId":4026,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":47832,"timestamp":8214902540661,"id":4026,"parentId":3987,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/fouc.js","layer":null},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":52914,"timestamp":8214902541000,"id":4033,"parentId":4032,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":52943,"timestamp":8214902540977,"id":4032,"parentId":4024,"tags":{},"startTime":1725027022172,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":76683,"timestamp":8214902540547,"id":4024,"parentId":3986,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/index.js","layer":null},"startTime":1725027022171,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":66076,"timestamp":8214902551347,"id":4042,"parentId":4041,"tags":{},"startTime":1725027022182,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":66156,"timestamp":8214902551269,"id":4041,"parentId":4040,"tags":{},"startTime":1725027022182,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":83080,"timestamp":8214902551018,"id":4040,"parentId":3975,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/index.js","layer":null},"startTime":1725027022182,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12563,"timestamp":8214902643997,"id":4050,"parentId":4049,"tags":{},"startTime":1725027022275,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12654,"timestamp":8214902643913,"id":4049,"parentId":4047,"tags":{},"startTime":1725027022275,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14991,"timestamp":8214902643041,"id":4047,"parentId":3965,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/pages/_app.js","layer":null},"startTime":1725027022274,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14635,"timestamp":8214902644071,"id":4052,"parentId":4051,"tags":{},"startTime":1725027022275,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14673,"timestamp":8214902644036,"id":4051,"parentId":4048,"tags":{},"startTime":1725027022275,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17324,"timestamp":8214902643238,"id":4048,"parentId":3967,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/pages/_error.js","layer":null},"startTime":1725027022274,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7510,"timestamp":8214902666115,"id":4060,"parentId":4059,"tags":{},"startTime":1725027022297,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7590,"timestamp":8214902666042,"id":4059,"parentId":4053,"tags":{},"startTime":1725027022297,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9268,"timestamp":8214902665528,"id":4053,"parentId":3977,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router-context.shared-runtime.js","layer":null},"startTime":1725027022296,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7274,"timestamp":8214902667560,"id":4072,"parentId":4071,"tags":{},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7317,"timestamp":8214902667520,"id":4071,"parentId":4063,"tags":{},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8952,"timestamp":8214902667054,"id":4063,"parentId":3969,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/pages/_app.js","layer":null},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8434,"timestamp":8214902667617,"id":4074,"parentId":4073,"tags":{},"startTime":1725027022299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8463,"timestamp":8214902667590,"id":4073,"parentId":4064,"tags":{},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10353,"timestamp":8214902667151,"id":4064,"parentId":3971,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/pages/_error.js","layer":null},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10437,"timestamp":8214902667670,"id":4076,"parentId":4075,"tags":{},"startTime":1725027022299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10471,"timestamp":8214902667645,"id":4075,"parentId":4067,"tags":{},"startTime":1725027022299,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11846,"timestamp":8214902667279,"id":4067,"parentId":3988,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router-context.shared-runtime.js","layer":null},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":89908,"timestamp":8214902590422,"id":4044,"parentId":4043,"tags":{},"startTime":1725027022221,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-js","duration":91944,"timestamp":8214902590357,"id":4043,"parentId":3977,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/is-error.js","layer":null},"startTime":1725027022221,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":89227,"timestamp":8214902593115,"id":4046,"parentId":4045,"tags":{},"startTime":1725027022224,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":90583,"timestamp":8214902593068,"id":4045,"parentId":3988,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/is-error.js","layer":null},"startTime":1725027022224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":26491,"timestamp":8214902673469,"id":4081,"parentId":4080,"tags":{},"startTime":1725027022304,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":26563,"timestamp":8214902673408,"id":4080,"parentId":4079,"tags":{},"startTime":1725027022304,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":28791,"timestamp":8214902673206,"id":4079,"parentId":3995,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/dev-build-watcher.js","layer":null},"startTime":1725027022304,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8617,"timestamp":8214902694833,"id":4089,"parentId":4088,"tags":{},"startTime":1725027022326,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8694,"timestamp":8214902694761,"id":4088,"parentId":4082,"tags":{},"startTime":1725027022326,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11393,"timestamp":8214902694068,"id":4082,"parentId":3976,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js","layer":null},"startTime":1725027022325,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10626,"timestamp":8214902694898,"id":4091,"parentId":4090,"tags":{},"startTime":1725027022326,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10662,"timestamp":8214902694865,"id":4090,"parentId":4085,"tags":{},"startTime":1725027022326,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13154,"timestamp":8214902694315,"id":4085,"parentId":4002,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/dev/dev-build-watcher.js","layer":null},"startTime":1725027022325,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":24326,"timestamp":8214902694954,"id":4093,"parentId":4092,"tags":{},"startTime":1725027022326,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":24364,"timestamp":8214902694927,"id":4092,"parentId":4086,"tags":{},"startTime":1725027022326,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":27193,"timestamp":8214902694394,"id":4086,"parentId":4002,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/shared.js","layer":null},"startTime":1725027022325,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":56115,"timestamp":8214902666178,"id":4062,"parentId":4061,"tags":{},"startTime":1725027022297,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":56153,"timestamp":8214902666147,"id":4061,"parentId":4054,"tags":{},"startTime":1725027022297,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":81068,"timestamp":8214902665716,"id":4054,"parentId":3977,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/router.js","layer":null},"startTime":1725027022297,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":49329,"timestamp":8214902697534,"id":4102,"parentId":4101,"tags":{},"startTime":1725027022328,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":49385,"timestamp":8214902697482,"id":4101,"parentId":4096,"tags":{},"startTime":1725027022328,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":52080,"timestamp":8214902696768,"id":4096,"parentId":3987,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/websocket.js","layer":null},"startTime":1725027022328,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":53959,"timestamp":8214902695008,"id":4095,"parentId":4094,"tags":{},"startTime":1725027022326,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":53990,"timestamp":8214902694982,"id":4094,"parentId":4087,"tags":{},"startTime":1725027022326,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":64801,"timestamp":8214902694462,"id":4087,"parentId":4002,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js","layer":null},"startTime":1725027022325,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":96920,"timestamp":8214902665889,"id":4058,"parentId":4057,"tags":{},"startTime":1725027022297,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":98597,"timestamp":8214902665868,"id":4057,"parentId":3973,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js","layer":null},"startTime":1725027022297,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":98654,"timestamp":8214902665829,"id":4056,"parentId":4055,"tags":{},"startTime":1725027022297,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":99181,"timestamp":8214902665800,"id":4055,"parentId":3976,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/dev/hot-reloader-types.js","layer":null},"startTime":1725027022297,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":97559,"timestamp":8214902667436,"id":4070,"parentId":4069,"tags":{},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":98884,"timestamp":8214902667413,"id":4069,"parentId":3984,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js","layer":null},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":99064,"timestamp":8214902667257,"id":4066,"parentId":4065,"tags":{},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":99548,"timestamp":8214902667233,"id":4065,"parentId":3987,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/dev/hot-reloader-types.js","layer":null},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":69301,"timestamp":8214902697592,"id":4104,"parentId":4103,"tags":{},"startTime":1725027022328,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":69331,"timestamp":8214902697565,"id":4103,"parentId":4097,"tags":{},"startTime":1725027022328,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":77384,"timestamp":8214902696873,"id":4097,"parentId":3995,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/shared.js","layer":null},"startTime":1725027022328,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":106940,"timestamp":8214902667727,"id":4078,"parentId":4077,"tags":{},"startTime":1725027022299,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":106971,"timestamp":8214902667699,"id":4077,"parentId":4068,"tags":{},"startTime":1725027022299,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":122844,"timestamp":8214902667348,"id":4068,"parentId":3988,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/router.js","layer":null},"startTime":1725027022298,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":92645,"timestamp":8214902697645,"id":4106,"parentId":4105,"tags":{},"startTime":1725027022329,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":92673,"timestamp":8214902697620,"id":4105,"parentId":4098,"tags":{},"startTime":1725027022329,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":96465,"timestamp":8214902696942,"id":4098,"parentId":3995,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/hot-reloader-client.js","layer":null},"startTime":1725027022328,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":83708,"timestamp":8214902709754,"id":4129,"parentId":4128,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":83737,"timestamp":8214902709728,"id":4128,"parentId":4109,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":86184,"timestamp":8214902708425,"id":4109,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/route-announcer.js","layer":null},"startTime":1725027022339,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":84829,"timestamp":8214902709822,"id":4131,"parentId":4130,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":84858,"timestamp":8214902709795,"id":4130,"parentId":4110,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":87296,"timestamp":8214902708492,"id":4110,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/performance-relayer.js","layer":null},"startTime":1725027022339,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":86134,"timestamp":8214902709698,"id":4127,"parentId":4126,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":86167,"timestamp":8214902709668,"id":4126,"parentId":4108,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":89035,"timestamp":8214902708345,"id":4108,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/page-loader.js","layer":null},"startTime":1725027022339,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":87531,"timestamp":8214902709875,"id":4133,"parentId":4132,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":87558,"timestamp":8214902709850,"id":4132,"parentId":4111,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":89547,"timestamp":8214902708558,"id":4111,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/on-recoverable-error.js","layer":null},"startTime":1725027022339,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":88150,"timestamp":8214902709977,"id":4137,"parentId":4136,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":88175,"timestamp":8214902709954,"id":4136,"parentId":4113,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":90201,"timestamp":8214902708719,"id":4113,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/remove-base-path.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":88919,"timestamp":8214902710028,"id":4139,"parentId":4138,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":88945,"timestamp":8214902710005,"id":4138,"parentId":4114,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":90821,"timestamp":8214902708780,"id":4114,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/has-base-path.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":90030,"timestamp":8214902709636,"id":4125,"parentId":4124,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":90102,"timestamp":8214902709568,"id":4124,"parentId":4107,"tags":{},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":93295,"timestamp":8214902708191,"id":4107,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/head-manager.js","layer":null},"startTime":1725027022339,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":118427,"timestamp":8214902710080,"id":4141,"parentId":4140,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":118460,"timestamp":8214902710057,"id":4140,"parentId":4115,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":120486,"timestamp":8214902708841,"id":4115,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":119174,"timestamp":8214902710181,"id":4145,"parentId":4144,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":119199,"timestamp":8214902710158,"id":4144,"parentId":4117,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":120943,"timestamp":8214902708963,"id":4117,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/runtime-config.external.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":119801,"timestamp":8214902710131,"id":4143,"parentId":4142,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":119825,"timestamp":8214902710108,"id":4142,"parentId":4116,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":121621,"timestamp":8214902708903,"id":4116,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/mitt.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":118008,"timestamp":8214902712537,"id":4149,"parentId":4148,"tags":{},"startTime":1725027022343,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":118055,"timestamp":8214902712494,"id":4148,"parentId":4119,"tags":{},"startTime":1725027022343,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":121953,"timestamp":8214902709101,"id":4119,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":118478,"timestamp":8214902712596,"id":4151,"parentId":4150,"tags":{},"startTime":1725027022344,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":118508,"timestamp":8214902712568,"id":4150,"parentId":4120,"tags":{},"startTime":1725027022343,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":122508,"timestamp":8214902709161,"id":4120,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":119036,"timestamp":8214902712651,"id":4153,"parentId":4152,"tags":{},"startTime":1725027022344,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":119064,"timestamp":8214902712626,"id":4152,"parentId":4121,"tags":{},"startTime":1725027022344,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":122962,"timestamp":8214902709221,"id":4121,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":119779,"timestamp":8214902712439,"id":4147,"parentId":4146,"tags":{},"startTime":1725027022343,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":122011,"timestamp":8214902710208,"id":4146,"parentId":4118,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":124711,"timestamp":8214902709028,"id":4118,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":123863,"timestamp":8214902709926,"id":4135,"parentId":4134,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":123889,"timestamp":8214902709902,"id":4134,"parentId":4112,"tags":{},"startTime":1725027022341,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":127239,"timestamp":8214902708655,"id":4112,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/script.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":123228,"timestamp":8214902712704,"id":4155,"parentId":4154,"tags":{},"startTime":1725027022344,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":123255,"timestamp":8214902712679,"id":4154,"parentId":4122,"tags":{},"startTime":1725027022344,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":127691,"timestamp":8214902709281,"id":4122,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/adapters.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":120361,"timestamp":8214902716636,"id":4179,"parentId":4178,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":120434,"timestamp":8214902716565,"id":4178,"parentId":4158,"tags":{},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":125823,"timestamp":8214902714409,"id":4158,"parentId":3995,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/querystring.js","layer":null},"startTime":1725027022345,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":123430,"timestamp":8214902716868,"id":4183,"parentId":4182,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":123468,"timestamp":8214902716833,"id":4182,"parentId":4160,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":127051,"timestamp":8214902714705,"id":4160,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/page-loader.js","layer":null},"startTime":1725027022346,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":129046,"timestamp":8214902712757,"id":4157,"parentId":4156,"tags":{},"startTime":1725027022344,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":129074,"timestamp":8214902712732,"id":4156,"parentId":4123,"tags":{},"startTime":1725027022344,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":134012,"timestamp":8214902709346,"id":4123,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/client.js","layer":null},"startTime":1725027022340,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":126466,"timestamp":8214902716930,"id":4185,"parentId":4184,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":126498,"timestamp":8214902716901,"id":4184,"parentId":4161,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":129653,"timestamp":8214902714919,"id":4161,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/performance-relayer.js","layer":null},"startTime":1725027022346,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-transform","duration":128092,"timestamp":8214902716797,"id":4181,"parentId":4180,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":128161,"timestamp":8214902716732,"id":4180,"parentId":4159,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":132099,"timestamp":8214902714549,"id":4159,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/head-manager.js","layer":null},"startTime":1725027022345,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":129630,"timestamp":8214902717042,"id":4189,"parentId":4188,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":129658,"timestamp":8214902717017,"id":4188,"parentId":4163,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":132216,"timestamp":8214902715183,"id":4163,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/remove-base-path.js","layer":null},"startTime":1725027022346,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":130327,"timestamp":8214902717093,"id":4191,"parentId":4190,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":130353,"timestamp":8214902717069,"id":4190,"parentId":4164,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":132753,"timestamp":8214902715261,"id":4164,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/has-base-path.js","layer":null},"startTime":1725027022346,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":130789,"timestamp":8214902717244,"id":4197,"parentId":4196,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":130815,"timestamp":8214902717221,"id":4196,"parentId":4167,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":132820,"timestamp":8214902715691,"id":4167,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":131558,"timestamp":8214902716987,"id":4187,"parentId":4186,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":131586,"timestamp":8214902716961,"id":4186,"parentId":4162,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":134417,"timestamp":8214902715074,"id":4162,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/route-announcer.js","layer":null},"startTime":1725027022346,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":132380,"timestamp":8214902717144,"id":4193,"parentId":4192,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":132405,"timestamp":8214902717121,"id":4192,"parentId":4165,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":134621,"timestamp":8214902715459,"id":4165,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/on-recoverable-error.js","layer":null},"startTime":1725027022346,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":132753,"timestamp":8214902717346,"id":4201,"parentId":4200,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":132778,"timestamp":8214902717323,"id":4200,"parentId":4169,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":134785,"timestamp":8214902715845,"id":4169,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/runtime-config.external.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":133356,"timestamp":8214902717296,"id":4199,"parentId":4198,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":133381,"timestamp":8214902717273,"id":4198,"parentId":4168,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":135434,"timestamp":8214902715778,"id":4168,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/mitt.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":133743,"timestamp":8214902717488,"id":4205,"parentId":4204,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":133772,"timestamp":8214902717460,"id":4204,"parentId":4171,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":135703,"timestamp":8214902715972,"id":4171,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":134155,"timestamp":8214902717538,"id":4207,"parentId":4206,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":134180,"timestamp":8214902717515,"id":4206,"parentId":4172,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":136229,"timestamp":8214902716034,"id":4172,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":134602,"timestamp":8214902717677,"id":4209,"parentId":4208,"tags":{},"startTime":1725027022349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":134717,"timestamp":8214902717565,"id":4208,"parentId":4173,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":136686,"timestamp":8214902716096,"id":4173,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":135032,"timestamp":8214902717779,"id":4211,"parentId":4210,"tags":{},"startTime":1725027022349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":135080,"timestamp":8214902717733,"id":4210,"parentId":4174,"tags":{},"startTime":1725027022349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":137595,"timestamp":8214902716193,"id":4174,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/adapters.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":135918,"timestamp":8214902717888,"id":4213,"parentId":4212,"tags":{},"startTime":1725027022349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":135985,"timestamp":8214902717823,"id":4212,"parentId":4175,"tags":{},"startTime":1725027022349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":138047,"timestamp":8214902716268,"id":4175,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":136383,"timestamp":8214902717951,"id":4215,"parentId":4214,"tags":{},"startTime":1725027022349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":136414,"timestamp":8214902717922,"id":4214,"parentId":4176,"tags":{},"startTime":1725027022349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":138604,"timestamp":8214902716343,"id":4176,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":138193,"timestamp":8214902717194,"id":4195,"parentId":4194,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":138219,"timestamp":8214902717171,"id":4194,"parentId":4166,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":141707,"timestamp":8214902715580,"id":4166,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/script.js","layer":null},"startTime":1725027022346,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":139925,"timestamp":8214902717401,"id":4203,"parentId":4202,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":139955,"timestamp":8214902717373,"id":4202,"parentId":4170,"tags":{},"startTime":1725027022348,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":142894,"timestamp":8214902715908,"id":4170,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":140830,"timestamp":8214902718008,"id":4217,"parentId":4216,"tags":{},"startTime":1725027022349,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":140859,"timestamp":8214902717981,"id":4216,"parentId":4177,"tags":{},"startTime":1725027022349,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":143713,"timestamp":8214902716405,"id":4177,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/client.js","layer":null},"startTime":1725027022347,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":179402,"timestamp":8214902694285,"id":4084,"parentId":4083,"tags":{},"startTime":1725027022325,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":180962,"timestamp":8214902694244,"id":4083,"parentId":4001,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/deployment-id.js","layer":null},"startTime":1725027022325,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":182071,"timestamp":8214902697030,"id":4100,"parentId":4099,"tags":{},"startTime":1725027022328,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":182630,"timestamp":8214902697008,"id":4099,"parentId":4023,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/deployment-id.js","layer":null},"startTime":1725027022328,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6117,"timestamp":8214902891448,"id":4227,"parentId":4226,"tags":{},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6151,"timestamp":8214902891421,"id":4226,"parentId":4219,"tags":{},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10031,"timestamp":8214902890943,"id":4219,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js","layer":null},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9517,"timestamp":8214902891490,"id":4229,"parentId":4228,"tags":{},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9539,"timestamp":8214902891470,"id":4228,"parentId":4220,"tags":{},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11561,"timestamp":8214902891009,"id":4220,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","layer":null},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11323,"timestamp":8214902891397,"id":4225,"parentId":4224,"tags":{},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11380,"timestamp":8214902891342,"id":4224,"parentId":4218,"tags":{},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14405,"timestamp":8214902890795,"id":4218,"parentId":4002,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/querystring.js","layer":null},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":351,"timestamp":8214902905842,"id":4246,"parentId":4054,"tags":{"layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":309,"timestamp":8214902909657,"id":4320,"parentId":4068,"tags":{"layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20855,"timestamp":8214902893201,"id":4238,"parentId":4237,"tags":{},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20901,"timestamp":8214902893163,"id":4237,"parentId":4232,"tags":{},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":22758,"timestamp":8214902892740,"id":4232,"parentId":3995,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js","layer":null},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":22958,"timestamp":8214902893284,"id":4242,"parentId":4241,"tags":{},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":22980,"timestamp":8214902893265,"id":4241,"parentId":4236,"tags":{},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24700,"timestamp":8214902892914,"id":4236,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/tracing/report-to-socket.js","layer":null},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":24524,"timestamp":8214902893244,"id":4240,"parentId":4239,"tags":{},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":24547,"timestamp":8214902893224,"id":4239,"parentId":4235,"tags":{},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":26962,"timestamp":8214902892862,"id":4235,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/tracing/tracer.js","layer":null},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":28353,"timestamp":8214902891532,"id":4231,"parentId":4230,"tags":{},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":28376,"timestamp":8214902891512,"id":4230,"parentId":4221,"tags":{},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":32309,"timestamp":8214902891066,"id":4221,"parentId":4048,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/head.js","layer":null},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18997,"timestamp":8214902907591,"id":4277,"parentId":4276,"tags":{},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19026,"timestamp":8214902907571,"id":4276,"parentId":4245,"tags":{},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":22144,"timestamp":8214902905704,"id":4245,"parentId":4002,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20402,"timestamp":8214902907549,"id":4275,"parentId":4274,"tags":{},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20438,"timestamp":8214902907527,"id":4274,"parentId":4244,"tags":{},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24393,"timestamp":8214902905638,"id":4244,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/tracing/report-to-socket.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":22583,"timestamp":8214902907503,"id":4273,"parentId":4272,"tags":{},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":22637,"timestamp":8214902907452,"id":4272,"parentId":4243,"tags":{},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":26398,"timestamp":8214902905509,"id":4243,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/tracing/tracer.js","layer":null},"startTime":1725027022536,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":24307,"timestamp":8214902907630,"id":4279,"parentId":4278,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":24328,"timestamp":8214902907612,"id":4278,"parentId":4247,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":26748,"timestamp":8214902906203,"id":4247,"parentId":4043,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/is-plain-object.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":25260,"timestamp":8214902907713,"id":4283,"parentId":4282,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":25285,"timestamp":8214902907690,"id":4282,"parentId":4249,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":27838,"timestamp":8214902906322,"id":4249,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/detect-domain-locale.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":26438,"timestamp":8214902907755,"id":4285,"parentId":4284,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":26460,"timestamp":8214902907735,"id":4284,"parentId":4250,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":29009,"timestamp":8214902906375,"id":4250,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/remove-locale.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":27624,"timestamp":8214902907794,"id":4287,"parentId":4286,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":27645,"timestamp":8214902907776,"id":4286,"parentId":4253,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":31361,"timestamp":8214902906471,"id":4253,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/bloom-filter.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":30034,"timestamp":8214902907832,"id":4289,"parentId":4288,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":30054,"timestamp":8214902907815,"id":4288,"parentId":4254,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-js","duration":32784,"timestamp":8214902906523,"id":4254,"parentId":4108,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/add-base-path.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":31461,"timestamp":8214902907871,"id":4291,"parentId":4290,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":31482,"timestamp":8214902907853,"id":4290,"parentId":4255,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":33651,"timestamp":8214902906568,"id":4255,"parentId":4108,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/add-locale.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":32252,"timestamp":8214902907988,"id":4297,"parentId":4296,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":32272,"timestamp":8214902907970,"id":4296,"parentId":4258,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":34151,"timestamp":8214902906706,"id":4258,"parentId":4108,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":32928,"timestamp":8214902907949,"id":4295,"parentId":4294,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":32948,"timestamp":8214902907931,"id":4294,"parentId":4257,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":34867,"timestamp":8214902906660,"id":4257,"parentId":4108,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":33653,"timestamp":8214902907909,"id":4293,"parentId":4292,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":33673,"timestamp":8214902907891,"id":4292,"parentId":4256,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":35925,"timestamp":8214902906613,"id":4256,"parentId":4108,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":44611,"timestamp":8214902908028,"id":4299,"parentId":4298,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":44638,"timestamp":8214902908010,"id":4298,"parentId":4259,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":47964,"timestamp":8214902906752,"id":4259,"parentId":4108,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":46673,"timestamp":8214902908104,"id":4303,"parentId":4302,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":46693,"timestamp":8214902908087,"id":4302,"parentId":4261,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":49349,"timestamp":8214902906842,"id":4261,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/route-matcher.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":48604,"timestamp":8214902907669,"id":4281,"parentId":4280,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":48625,"timestamp":8214902907651,"id":4280,"parentId":4248,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":53470,"timestamp":8214902906269,"id":4248,"parentId":4108,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/route-loader.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":51710,"timestamp":8214902908066,"id":4301,"parentId":4300,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":51730,"timestamp":8214902908048,"id":4300,"parentId":4260,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":54327,"timestamp":8214902906797,"id":4260,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/resolve-href.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":52973,"timestamp":8214902908179,"id":4307,"parentId":4306,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":52992,"timestamp":8214902908162,"id":4306,"parentId":4263,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":55527,"timestamp":8214902906935,"id":4263,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/format-url.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":54283,"timestamp":8214902908216,"id":4309,"parentId":4308,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":54303,"timestamp":8214902908199,"id":4308,"parentId":4266,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":56130,"timestamp":8214902907013,"id":4266,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/parse-path.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":54915,"timestamp":8214902908254,"id":4311,"parentId":4310,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":54934,"timestamp":8214902908236,"id":4310,"parentId":4267,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":57107,"timestamp":8214902907061,"id":4267,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":55820,"timestamp":8214902908367,"id":4317,"parentId":4316,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":55839,"timestamp":8214902908350,"id":4316,"parentId":4270,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":58057,"timestamp":8214902907194,"id":4270,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-bot.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":56944,"timestamp":8214902908330,"id":4315,"parentId":4314,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":56963,"timestamp":8214902908313,"id":4314,"parentId":4269,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":58831,"timestamp":8214902907150,"id":4269,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/compare-states.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":57848,"timestamp":8214902908292,"id":4313,"parentId":4312,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":57867,"timestamp":8214902908275,"id":4312,"parentId":4268,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":59753,"timestamp":8214902907105,"id":4268,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":58780,"timestamp":8214902908142,"id":4305,"parentId":4304,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":58800,"timestamp":8214902908124,"id":4304,"parentId":4262,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":61982,"timestamp":8214902906888,"id":4262,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/route-regex.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":57183,"timestamp":8214902911710,"id":4349,"parentId":4348,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":57281,"timestamp":8214902911614,"id":4348,"parentId":4322,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":59427,"timestamp":8214902910127,"id":4322,"parentId":4045,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/is-plain-object.js","layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":61171,"timestamp":8214902908404,"id":4319,"parentId":4318,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":61190,"timestamp":8214902908387,"id":4318,"parentId":4271,"tags":{},"startTime":1725027022539,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":63201,"timestamp":8214902907238,"id":4271,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/omit.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":58619,"timestamp":8214902911886,"id":4353,"parentId":4352,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":58658,"timestamp":8214902911851,"id":4352,"parentId":4324,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":61424,"timestamp":8214902910324,"id":4324,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/detect-domain-locale.js","layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":59810,"timestamp":8214902911975,"id":4357,"parentId":4356,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":59835,"timestamp":8214902911953,"id":4356,"parentId":4326,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":62574,"timestamp":8214902910431,"id":4326,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/remove-locale.js","layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":61108,"timestamp":8214902911931,"id":4355,"parentId":4354,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":61134,"timestamp":8214902911909,"id":4354,"parentId":4325,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":63821,"timestamp":8214902910380,"id":4325,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/add-locale.js","layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":62726,"timestamp":8214902911534,"id":4347,"parentId":4346,"tags":{},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":62844,"timestamp":8214902911419,"id":4346,"parentId":4321,"tags":{},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":66306,"timestamp":8214902910007,"id":4321,"parentId":4064,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/head.js","layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":64338,"timestamp":8214902912017,"id":4359,"parentId":4358,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":64362,"timestamp":8214902911996,"id":4358,"parentId":4327,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":66714,"timestamp":8214902910483,"id":4327,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/add-base-path.js","layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":65085,"timestamp":8214902912137,"id":4365,"parentId":4364,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":65106,"timestamp":8214902912119,"id":4364,"parentId":4334,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":67095,"timestamp":8214902910711,"id":4334,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":65740,"timestamp":8214902912097,"id":4363,"parentId":4362,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":65760,"timestamp":8214902912079,"id":4362,"parentId":4331,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":68291,"timestamp":8214902910628,"id":4331,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/bloom-filter.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":66766,"timestamp":8214902912176,"id":4367,"parentId":4366,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":66786,"timestamp":8214902912158,"id":4366,"parentId":4335,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":68830,"timestamp":8214902910761,"id":4335,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":67831,"timestamp":8214902911814,"id":4351,"parentId":4350,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":67895,"timestamp":8214902911752,"id":4350,"parentId":4323,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":74018,"timestamp":8214902910261,"id":4323,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/route-loader.js","layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":72282,"timestamp":8214902912057,"id":4361,"parentId":4360,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":72304,"timestamp":8214902912039,"id":4360,"parentId":4328,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":74890,"timestamp":8214902910532,"id":4328,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/resolve-href.js","layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":73233,"timestamp":8214902912214,"id":4369,"parentId":4368,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":73254,"timestamp":8214902912196,"id":4368,"parentId":4336,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":75209,"timestamp":8214902910808,"id":4336,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/route-matcher.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":73712,"timestamp":8214902912329,"id":4375,"parentId":4374,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":73730,"timestamp":8214902912311,"id":4374,"parentId":4339,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":75560,"timestamp":8214902910948,"id":4339,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/parse-path.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":74122,"timestamp":8214902912404,"id":4379,"parentId":4378,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":74141,"timestamp":8214902912386,"id":4378,"parentId":4341,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":76001,"timestamp":8214902911040,"id":4341,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":74694,"timestamp":8214902912366,"id":4377,"parentId":4376,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":74713,"timestamp":8214902912349,"id":4376,"parentId":4340,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":76774,"timestamp":8214902910995,"id":4340,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":75507,"timestamp":8214902912291,"id":4373,"parentId":4372,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":75526,"timestamp":8214902912274,"id":4372,"parentId":4338,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":77768,"timestamp":8214902910901,"id":4338,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/format-url.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":76207,"timestamp":8214902912479,"id":4383,"parentId":4382,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":76227,"timestamp":8214902912461,"id":4382,"parentId":4343,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":78070,"timestamp":8214902911135,"id":4343,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-local-url.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":76781,"timestamp":8214902912441,"id":4381,"parentId":4380,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-loader","duration":76948,"timestamp":8214902912424,"id":4380,"parentId":4342,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":78805,"timestamp":8214902911087,"id":4342,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/compare-states.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":80298,"timestamp":8214902912593,"id":4387,"parentId":4386,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":80340,"timestamp":8214902912555,"id":4386,"parentId":4345,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":82199,"timestamp":8214902911225,"id":4345,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/omit.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":81667,"timestamp":8214902912517,"id":4385,"parentId":4384,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":81687,"timestamp":8214902912500,"id":4384,"parentId":4344,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":83826,"timestamp":8214902911180,"id":4344,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-bot.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":82795,"timestamp":8214902912253,"id":4371,"parentId":4370,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":82817,"timestamp":8214902912235,"id":4370,"parentId":4337,"tags":{},"startTime":1725027022543,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":85715,"timestamp":8214902910856,"id":4337,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/route-regex.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":60838,"timestamp":8214902950651,"id":4395,"parentId":4394,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":60906,"timestamp":8214902950591,"id":4394,"parentId":4388,"tags":{},"startTime":1725027022581,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":62509,"timestamp":8214902949929,"id":4388,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js","layer":null},"startTime":1725027022581,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":61702,"timestamp":8214902950759,"id":4399,"parentId":4398,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":61728,"timestamp":8214902950734,"id":4398,"parentId":4390,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":62893,"timestamp":8214902950232,"id":4390,"parentId":4166,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/request-idle-callback.js","layer":null},"startTime":1725027022581,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":62244,"timestamp":8214902950898,"id":4405,"parentId":4404,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":62267,"timestamp":8214902950877,"id":4404,"parentId":4393,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":63170,"timestamp":8214902950419,"id":4393,"parentId":4160,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js","layer":null},"startTime":1725027022581,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":62753,"timestamp":8214902950853,"id":4403,"parentId":4402,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":62775,"timestamp":8214902950832,"id":4402,"parentId":4392,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":63707,"timestamp":8214902950360,"id":4392,"parentId":4171,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-config.js","layer":null},"startTime":1725027022581,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":63384,"timestamp":8214902950710,"id":4397,"parentId":4396,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":63417,"timestamp":8214902950679,"id":4396,"parentId":4389,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":65631,"timestamp":8214902950071,"id":4389,"parentId":4098,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js","layer":null},"startTime":1725027022581,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":64926,"timestamp":8214902950806,"id":4401,"parentId":4400,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":64951,"timestamp":8214902950784,"id":4400,"parentId":4391,"tags":{},"startTime":1725027022582,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":66976,"timestamp":8214902950296,"id":4391,"parentId":4160,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/constants.js","layer":null},"startTime":1725027022581,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":129004,"timestamp":8214902891139,"id":4223,"parentId":4222,"tags":{},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":129619,"timestamp":8214902891120,"id":4222,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/polyfills/polyfill-module.js","layer":null},"startTime":1725027022522,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":127906,"timestamp":8214902892847,"id":4234,"parentId":4233,"tags":{},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":128320,"timestamp":8214902892820,"id":4233,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/polyfills/polyfill-module.js","layer":null},"startTime":1725027022524,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":22008,"timestamp":8214902999354,"id":4418,"parentId":4417,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":22037,"timestamp":8214902999327,"id":4417,"parentId":4407,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23334,"timestamp":8214902998553,"id":4407,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-local-url.js","layer":null},"startTime":1725027022629,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":22513,"timestamp":8214902999395,"id":4420,"parentId":4419,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":22535,"timestamp":8214902999375,"id":4419,"parentId":4408,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23893,"timestamp":8214902998620,"id":4408,"parentId":4112,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/request-idle-callback.js","layer":null},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":23055,"timestamp":8214902999476,"id":4424,"parentId":4423,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":23075,"timestamp":8214902999458,"id":4423,"parentId":4410,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24314,"timestamp":8214902998725,"id":4410,"parentId":4119,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/image-config.js","layer":null},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":23542,"timestamp":8214902999514,"id":4426,"parentId":4425,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":23561,"timestamp":8214902999496,"id":4425,"parentId":4411,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24666,"timestamp":8214902998783,"id":4411,"parentId":4114,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js","layer":null},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":24040,"timestamp":8214902999436,"id":4422,"parentId":4421,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":24061,"timestamp":8214902999417,"id":4421,"parentId":4409,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":26201,"timestamp":8214902998673,"id":4409,"parentId":4108,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/constants.js","layer":null},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":25337,"timestamp":8214902999551,"id":4428,"parentId":4427,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":25356,"timestamp":8214902999534,"id":4427,"parentId":4412,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":26451,"timestamp":8214902998830,"id":4412,"parentId":4122,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js","layer":null},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":26140,"timestamp":8214902999304,"id":4416,"parentId":4415,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":26197,"timestamp":8214902999250,"id":4415,"parentId":4406,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":28389,"timestamp":8214902998421,"id":4406,"parentId":4087,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js","layer":null},"startTime":1725027022629,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":27237,"timestamp":8214902999590,"id":4430,"parentId":4429,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":27258,"timestamp":8214902999571,"id":4429,"parentId":4413,"tags":{},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":28368,"timestamp":8214902998876,"id":4413,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js","layer":null},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":27631,"timestamp":8214902999628,"id":4432,"parentId":4431,"tags":{},"startTime":1725027022631,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":27651,"timestamp":8214902999611,"id":4431,"parentId":4414,"tags":{},"startTime":1725027022631,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":28769,"timestamp":8214902998924,"id":4414,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","layer":null},"startTime":1725027022630,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":133399,"timestamp":8214902906443,"id":4252,"parentId":4251,"tags":{},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":133766,"timestamp":8214902906424,"id":4251,"parentId":4054,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/is-api-route.js","layer":null},"startTime":1725027022537,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":133206,"timestamp":8214902906995,"id":4265,"parentId":4264,"tags":{},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":133555,"timestamp":8214902906981,"id":4264,"parentId":4087,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js","layer":null},"startTime":1725027022538,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12245,"timestamp":8214903029419,"id":4446,"parentId":4445,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12300,"timestamp":8214903029367,"id":4445,"parentId":4433,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13729,"timestamp":8214903028649,"id":4433,"parentId":4123,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12846,"timestamp":8214903029555,"id":4452,"parentId":4451,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12867,"timestamp":8214903029536,"id":4451,"parentId":4436,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14307,"timestamp":8214903028907,"id":4436,"parentId":4123,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13769,"timestamp":8214903029467,"id":4448,"parentId":4447,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13793,"timestamp":8214903029444,"id":4447,"parentId":4434,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15229,"timestamp":8214903028782,"id":4434,"parentId":4123,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14518,"timestamp":8214903029515,"id":4450,"parentId":4449,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14540,"timestamp":8214903029495,"id":4449,"parentId":4435,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16024,"timestamp":8214903028854,"id":4435,"parentId":4123,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15303,"timestamp":8214903029594,"id":4454,"parentId":4453,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15324,"timestamp":8214903029575,"id":4453,"parentId":4441,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16377,"timestamp":8214903029029,"id":4441,"parentId":4111,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15866,"timestamp":8214903029670,"id":4458,"parentId":4457,"tags":{},"startTime":1725027022661,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15886,"timestamp":8214903029653,"id":4457,"parentId":4443,"tags":{},"startTime":1725027022661,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17083,"timestamp":8214903029125,"id":4443,"parentId":4123,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16608,"timestamp":8214903029633,"id":4456,"parentId":4455,"tags":{},"startTime":1725027022661,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16629,"timestamp":8214903029615,"id":4455,"parentId":4442,"tags":{},"startTime":1725027022661,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18046,"timestamp":8214903029079,"id":4442,"parentId":4123,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17435,"timestamp":8214903029709,"id":4460,"parentId":4459,"tags":{},"startTime":1725027022661,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17456,"timestamp":8214903029690,"id":4459,"parentId":4444,"tags":{},"startTime":1725027022661,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18696,"timestamp":8214903029172,"id":4444,"parentId":4123,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14217,"timestamp":8214903033668,"id":4476,"parentId":4475,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14242,"timestamp":8214903033645,"id":4475,"parentId":4463,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15296,"timestamp":8214903033029,"id":4463,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js","layer":null},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14718,"timestamp":8214903033622,"id":4474,"parentId":4473,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14743,"timestamp":8214903033599,"id":4473,"parentId":4462,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15744,"timestamp":8214903032960,"id":4462,"parentId":4174,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js","layer":null},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15012,"timestamp":8214903033708,"id":4478,"parentId":4477,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15033,"timestamp":8214903033689,"id":4477,"parentId":4464,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16040,"timestamp":8214903033087,"id":4464,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","layer":null},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15567,"timestamp":8214903033576,"id":4472,"parentId":4471,"tags":{},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15625,"timestamp":8214903033520,"id":4471,"parentId":4461,"tags":{},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16700,"timestamp":8214903032816,"id":4461,"parentId":4164,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js","layer":null},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15786,"timestamp":8214903033748,"id":4480,"parentId":4479,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-loader","duration":16001,"timestamp":8214903033729,"id":4479,"parentId":4465,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17170,"timestamp":8214903033140,"id":4465,"parentId":4177,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/bus.js","layer":null},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16538,"timestamp":8214903033787,"id":4482,"parentId":4481,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16558,"timestamp":8214903033769,"id":4481,"parentId":4470,"tags":{},"startTime":1725027022665,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17545,"timestamp":8214903033279,"id":4470,"parentId":4165,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","layer":null},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":144745,"timestamp":8214902910605,"id":4330,"parentId":4329,"tags":{},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":145462,"timestamp":8214902910579,"id":4329,"parentId":4068,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/is-api-route.js","layer":null},"startTime":1725027022541,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":145381,"timestamp":8214902910698,"id":4333,"parentId":4332,"tags":{},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":146051,"timestamp":8214902910682,"id":4332,"parentId":4098,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js","layer":null},"startTime":1725027022542,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10333,"timestamp":8214903054227,"id":4496,"parentId":4495,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10365,"timestamp":8214903054204,"id":4495,"parentId":4486,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12374,"timestamp":8214903053764,"id":4486,"parentId":4177,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js","layer":null},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12034,"timestamp":8214903054180,"id":4494,"parentId":4493,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12089,"timestamp":8214903054129,"id":4493,"parentId":4485,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13620,"timestamp":8214903053663,"id":4485,"parentId":4177,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js","layer":null},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13017,"timestamp":8214903054309,"id":4500,"parentId":4499,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13038,"timestamp":8214903054290,"id":4499,"parentId":4488,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14172,"timestamp":8214903053870,"id":4488,"parentId":4177,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js","layer":null},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13937,"timestamp":8214903054347,"id":4502,"parentId":4501,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13957,"timestamp":8214903054329,"id":4501,"parentId":4489,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14942,"timestamp":8214903053918,"id":4489,"parentId":4177,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js","layer":null},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14614,"timestamp":8214903054269,"id":4498,"parentId":4497,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14636,"timestamp":8214903054249,"id":4497,"parentId":4487,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15825,"timestamp":8214903053821,"id":4487,"parentId":4177,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js","layer":null},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16588,"timestamp":8214903054385,"id":4504,"parentId":4503,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16608,"timestamp":8214903054367,"id":4503,"parentId":4490,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17713,"timestamp":8214903053964,"id":4490,"parentId":4177,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js","layer":null},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17595,"timestamp":8214903063702,"id":4516,"parentId":4515,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17625,"timestamp":8214903063682,"id":4515,"parentId":4507,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18733,"timestamp":8214903063266,"id":4507,"parentId":4221,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/amp-context.shared-runtime.js","layer":null},"startTime":1725027022694,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18412,"timestamp":8214903063611,"id":4512,"parentId":4511,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18467,"timestamp":8214903063558,"id":4511,"parentId":4505,"tags":{},"startTime":1725027022694,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19544,"timestamp":8214903063063,"id":4505,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/portal/index.js","layer":null},"startTime":1725027022694,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18966,"timestamp":8214903063660,"id":4514,"parentId":4513,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18995,"timestamp":8214903063634,"id":4513,"parentId":4506,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20283,"timestamp":8214903063199,"id":4506,"parentId":4254,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/normalize-trailing-slash.js","layer":null},"startTime":1725027022694,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19805,"timestamp":8214903063741,"id":4518,"parentId":4517,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19826,"timestamp":8214903063723,"id":4517,"parentId":4508,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20954,"timestamp":8214903063321,"id":4508,"parentId":4221,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/side-effect.js","layer":null},"startTime":1725027022694,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20476,"timestamp":8214903063816,"id":4522,"parentId":4521,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20495,"timestamp":8214903063799,"id":4521,"parentId":4510,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21295,"timestamp":8214903063430,"id":4510,"parentId":4254,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js","layer":null},"startTime":1725027022694,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20283,"timestamp":8214903064460,"id":4527,"parentId":4526,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20310,"timestamp":8214903064435,"id":4526,"parentId":4523,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21060,"timestamp":8214903064267,"id":4523,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/portal/index.js","layer":null},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":21565,"timestamp":8214903063779,"id":4520,"parentId":4519,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":21584,"timestamp":8214903063761,"id":4519,"parentId":4509,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":22343,"timestamp":8214903063381,"id":4509,"parentId":4221,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/amp-mode.js","layer":null},"startTime":1725027022694,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":57731,"timestamp":8214903028976,"id":4438,"parentId":4437,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":57939,"timestamp":8214903028957,"id":4437,"parentId":4003,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react/jsx-runtime.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":57892,"timestamp":8214903029014,"id":4440,"parentId":4439,"tags":{},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":58132,"timestamp":8214903028999,"id":4439,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react-dom/client.js","layer":null},"startTime":1725027022660,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":53871,"timestamp":8214903033268,"id":4469,"parentId":4468,"tags":{},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":54082,"timestamp":8214903033254,"id":4468,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react-dom/client.js","layer":null},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":54117,"timestamp":8214903033226,"id":4467,"parentId":4466,"tags":{},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":54248,"timestamp":8214903033195,"id":4466,"parentId":4025,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react/jsx-runtime.js","layer":null},"startTime":1725027022664,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14575,"timestamp":8214903073570,"id":4536,"parentId":4535,"tags":{},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14600,"timestamp":8214903073548,"id":4535,"parentId":4529,"tags":{},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15426,"timestamp":8214903073195,"id":4529,"parentId":4262,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/escape-regexp.js","layer":null},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15117,"timestamp":8214903073523,"id":4534,"parentId":4533,"tags":{},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15167,"timestamp":8214903073475,"id":4533,"parentId":4528,"tags":{},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18569,"timestamp":8214903073081,"id":4528,"parentId":4248,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/trusted-types.js","layer":null},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18035,"timestamp":8214903073649,"id":4540,"parentId":4539,"tags":{},"startTime":1725027022705,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18054,"timestamp":8214903073631,"id":4539,"parentId":4531,"tags":{},"startTime":1725027022705,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18903,"timestamp":8214903073302,"id":4531,"parentId":4268,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js","layer":null},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18612,"timestamp":8214903073611,"id":4538,"parentId":4537,"tags":{},"startTime":1725027022705,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18632,"timestamp":8214903073592,"id":4537,"parentId":4530,"tags":{},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19389,"timestamp":8214903073253,"id":4530,"parentId":4267,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js","layer":null},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18969,"timestamp":8214903073687,"id":4542,"parentId":4541,"tags":{},"startTime":1725027022705,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18987,"timestamp":8214903073670,"id":4541,"parentId":4532,"tags":{},"startTime":1725027022705,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19767,"timestamp":8214903073352,"id":4532,"parentId":4268,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-locale.js","layer":null},"startTime":1725027022704,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17036,"timestamp":8214903076097,"id":4559,"parentId":4558,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17056,"timestamp":8214903076079,"id":4558,"parentId":4546,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18116,"timestamp":8214903075416,"id":4546,"parentId":4321,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/amp-context.shared-runtime.js","layer":null},"startTime":1725027022706,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17532,"timestamp":8214903076016,"id":4555,"parentId":4554,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17560,"timestamp":8214903075990,"id":4554,"parentId":4544,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19018,"timestamp":8214903075294,"id":4544,"parentId":4325,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/normalize-trailing-slash.js","layer":null},"startTime":1725027022706,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18194,"timestamp":8214903076135,"id":4561,"parentId":4560,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18213,"timestamp":8214903076118,"id":4560,"parentId":4547,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19281,"timestamp":8214903075470,"id":4547,"parentId":4321,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/amp-mode.js","layer":null},"startTime":1725027022706,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18799,"timestamp":8214903075967,"id":4553,"parentId":4552,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18848,"timestamp":8214903075920,"id":4552,"parentId":4543,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20238,"timestamp":8214903075173,"id":4543,"parentId":4323,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/trusted-types.js","layer":null},"startTime":1725027022706,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19253,"timestamp":8214903076173,"id":4563,"parentId":4562,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19272,"timestamp":8214903076155,"id":4562,"parentId":4548,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20351,"timestamp":8214903075520,"id":4548,"parentId":4327,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js","layer":null},"startTime":1725027022706,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19834,"timestamp":8214903076057,"id":4557,"parentId":4556,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19855,"timestamp":8214903076037,"id":4556,"parentId":4545,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21248,"timestamp":8214903075362,"id":4545,"parentId":4321,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/side-effect.js","layer":null},"startTime":1725027022706,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":21864,"timestamp":8214903076210,"id":4565,"parentId":4564,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":21884,"timestamp":8214903076193,"id":4564,"parentId":4549,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":22983,"timestamp":8214903075568,"id":4549,"parentId":4341,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js","layer":null},"startTime":1725027022706,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":22320,"timestamp":8214903076247,"id":4567,"parentId":4566,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":22339,"timestamp":8214903076230,"id":4566,"parentId":4550,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23423,"timestamp":8214903075615,"id":4550,"parentId":4341,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/add-locale.js","layer":null},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":22769,"timestamp":8214903076284,"id":4569,"parentId":4568,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":22787,"timestamp":8214903076267,"id":4568,"parentId":4551,"tags":{},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23811,"timestamp":8214903075663,"id":4551,"parentId":4340,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js","layer":null},"startTime":1725027022707,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":55168,"timestamp":8214903052117,"id":4484,"parentId":4483,"tags":{},"startTime":1725027022683,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":55542,"timestamp":8214903052063,"id":4483,"parentId":3973,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/react-refresh/runtime.js","layer":null},"startTime":1725027022683,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":53682,"timestamp":8214903054031,"id":4492,"parentId":4491,"tags":{},"startTime":1725027022685,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-js","duration":54038,"timestamp":8214903054014,"id":4491,"parentId":3984,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/react-refresh/runtime.js","layer":null},"startTime":1725027022685,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7685,"timestamp":8214903101692,"id":4578,"parentId":4577,"tags":{},"startTime":1725027022733,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7713,"timestamp":8214903101668,"id":4577,"parentId":4572,"tags":{},"startTime":1725027022733,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8831,"timestamp":8214903101324,"id":4572,"parentId":4413,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js","layer":null},"startTime":1725027022732,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8530,"timestamp":8214903101647,"id":4576,"parentId":4575,"tags":{},"startTime":1725027022733,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8554,"timestamp":8214903101624,"id":4575,"parentId":4571,"tags":{},"startTime":1725027022733,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9329,"timestamp":8214903101254,"id":4571,"parentId":4409,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/modern-browserslist-target.js","layer":null},"startTime":1725027022732,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9002,"timestamp":8214903101599,"id":4574,"parentId":4573,"tags":{},"startTime":1725027022732,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9050,"timestamp":8214903101553,"id":4573,"parentId":4570,"tags":{},"startTime":1725027022732,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9898,"timestamp":8214903101140,"id":4570,"parentId":4221,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils/warn-once.js","layer":null},"startTime":1725027022732,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9120,"timestamp":8214903104307,"id":4582,"parentId":4581,"tags":{},"startTime":1725027022735,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9176,"timestamp":8214903104257,"id":4581,"parentId":4579,"tags":{},"startTime":1725027022735,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10914,"timestamp":8214903103885,"id":4579,"parentId":4391,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/modern-browserslist-target.js","layer":null},"startTime":1725027022735,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10487,"timestamp":8214903104354,"id":4584,"parentId":4583,"tags":{},"startTime":1725027022735,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10512,"timestamp":8214903104331,"id":4583,"parentId":4580,"tags":{},"startTime":1725027022735,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11550,"timestamp":8214903103998,"id":4580,"parentId":4337,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/escape-regexp.js","layer":null},"startTime":1725027022735,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8114,"timestamp":8214903113298,"id":4600,"parentId":4599,"tags":{},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8148,"timestamp":8214903113272,"id":4599,"parentId":4598,"tags":{},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9003,"timestamp":8214903113149,"id":4598,"parentId":4321,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils/warn-once.js","layer":null},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9552,"timestamp":8214903112624,"id":4591,"parentId":4590,"tags":{},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9604,"timestamp":8214903112573,"id":4590,"parentId":4587,"tags":{},"startTime":1725027022743,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10471,"timestamp":8214903112265,"id":4587,"parentId":4443,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/error-source.js","layer":null},"startTime":1725027022743,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":58403,"timestamp":8214903064349,"id":4525,"parentId":4524,"tags":{},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":59987,"timestamp":8214903064327,"id":4524,"parentId":4176,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/helpers/interception-routes.js","layer":null},"startTime":1725027022695,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12162,"timestamp":8214903112673,"id":4593,"parentId":4592,"tags":{},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12188,"timestamp":8214903112650,"id":4592,"parentId":4588,"tags":{},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13673,"timestamp":8214903112354,"id":4588,"parentId":4442,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js","layer":null},"startTime":1725027022743,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13345,"timestamp":8214903112717,"id":4595,"parentId":4594,"tags":{},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13368,"timestamp":8214903112696,"id":4594,"parentId":4589,"tags":{},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15999,"timestamp":8214903112412,"id":4589,"parentId":4443,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js","layer":null},"startTime":1725027022743,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9632,"timestamp":8214903121129,"id":4609,"parentId":4608,"tags":{},"startTime":1725027022752,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9666,"timestamp":8214903121099,"id":4608,"parentId":4606,"tags":{},"startTime":1725027022752,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10597,"timestamp":8214903120954,"id":4606,"parentId":4463,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js","layer":null},"startTime":1725027022752,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10400,"timestamp":8214903121172,"id":4611,"parentId":4610,"tags":{},"startTime":1725027022752,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10423,"timestamp":8214903121151,"id":4610,"parentId":4607,"tags":{},"startTime":1725027022752,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11679,"timestamp":8214903121020,"id":4607,"parentId":4174,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/index.js","layer":null},"startTime":1725027022752,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11970,"timestamp":8214903120752,"id":4605,"parentId":4604,"tags":{},"startTime":1725027022752,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12027,"timestamp":8214903120698,"id":4604,"parentId":4603,"tags":{},"startTime":1725027022752,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12896,"timestamp":8214903120544,"id":4603,"parentId":4122,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/index.js","layer":null},"startTime":1725027022751,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7881,"timestamp":8214903129571,"id":4625,"parentId":4624,"tags":{},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7907,"timestamp":8214903129552,"id":4624,"parentId":4615,"tags":{},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9749,"timestamp":8214903129220,"id":4615,"parentId":4442,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js","layer":null},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9515,"timestamp":8214903129490,"id":4621,"parentId":4620,"tags":{},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9540,"timestamp":8214903129467,"id":4620,"parentId":4613,"tags":{},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11617,"timestamp":8214903129110,"id":4613,"parentId":4442,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js","layer":null},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11222,"timestamp":8214903129532,"id":4623,"parentId":4622,"tags":{},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11244,"timestamp":8214903129512,"id":4622,"parentId":4614,"tags":{},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12819,"timestamp":8214903129168,"id":4614,"parentId":4442,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js","layer":null},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12401,"timestamp":8214903129609,"id":4627,"parentId":4626,"tags":{},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12421,"timestamp":8214903129591,"id":4626,"parentId":4616,"tags":{},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14467,"timestamp":8214903129270,"id":4616,"parentId":4442,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js","layer":null},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13490,"timestamp":8214903130270,"id":4634,"parentId":4633,"tags":{},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13516,"timestamp":8214903130246,"id":4633,"parentId":4630,"tags":{},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14496,"timestamp":8214903130033,"id":4630,"parentId":4489,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/error-source.js","layer":null},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14907,"timestamp":8214903129648,"id":4629,"parentId":4628,"tags":{},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14927,"timestamp":8214903129630,"id":4628,"parentId":4617,"tags":{},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16288,"timestamp":8214903129320,"id":4617,"parentId":4442,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js","layer":null},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16167,"timestamp":8214903130309,"id":4636,"parentId":4635,"tags":{},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16188,"timestamp":8214903130291,"id":4635,"parentId":4631,"tags":{},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17358,"timestamp":8214903130098,"id":4631,"parentId":4485,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js","layer":null},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18237,"timestamp":8214903129444,"id":4619,"parentId":4618,"tags":{},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18287,"timestamp":8214903129397,"id":4618,"parentId":4612,"tags":{},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21860,"timestamp":8214903128989,"id":4612,"parentId":4442,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js","layer":null},"startTime":1725027022760,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20572,"timestamp":8214903130370,"id":4638,"parentId":4637,"tags":{},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20594,"timestamp":8214903130351,"id":4637,"parentId":4632,"tags":{},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":22794,"timestamp":8214903130147,"id":4632,"parentId":4489,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js","layer":null},"startTime":1725027022761,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":40718,"timestamp":8214903112237,"id":4586,"parentId":4585,"tags":{},"startTime":1725027022743,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":40948,"timestamp":8214903112184,"id":4585,"parentId":3977,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react/index.js","layer":null},"startTime":1725027022743,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":55182,"timestamp":8214903113129,"id":4597,"parentId":4596,"tags":{},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":55567,"timestamp":8214903113102,"id":4596,"parentId":3988,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react/index.js","layer":null},"startTime":1725027022744,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":50082,"timestamp":8214903120513,"id":4602,"parentId":4601,"tags":{},"startTime":1725027022751,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":51213,"timestamp":8214903120451,"id":4601,"parentId":4220,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/helpers/interception-routes.js","layer":null},"startTime":1725027022751,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6538,"timestamp":8214903167688,"id":4648,"parentId":4647,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6607,"timestamp":8214903167625,"id":4647,"parentId":4639,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8294,"timestamp":8214903167061,"id":4639,"parentId":4485,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js","layer":null},"startTime":1725027022798,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7534,"timestamp":8214903167844,"id":4654,"parentId":4653,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7558,"timestamp":8214903167823,"id":4653,"parentId":4642,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8894,"timestamp":8214903167370,"id":4642,"parentId":4485,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js","layer":null},"startTime":1725027022798,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8495,"timestamp":8214903167798,"id":4652,"parentId":4651,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8522,"timestamp":8214903167774,"id":4651,"parentId":4641,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10353,"timestamp":8214903167303,"id":4641,"parentId":4485,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js","layer":null},"startTime":1725027022798,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11597,"timestamp":8214903167937,"id":4658,"parentId":4657,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11625,"timestamp":8214903167912,"id":4657,"parentId":4644,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12949,"timestamp":8214903167489,"id":4644,"parentId":4485,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js","layer":null},"startTime":1725027022798,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12570,"timestamp":8214903167889,"id":4656,"parentId":4655,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12593,"timestamp":8214903167868,"id":4655,"parentId":4643,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13923,"timestamp":8214903167432,"id":4643,"parentId":4485,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js","layer":null},"startTime":1725027022798,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18249,"timestamp":8214903167746,"id":4650,"parentId":4649,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18286,"timestamp":8214903167717,"id":4649,"parentId":4640,"tags":{},"startTime":1725027022799,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21975,"timestamp":8214903167229,"id":4640,"parentId":4485,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js","layer":null},"startTime":1725027022798,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":34798,"timestamp":8214903167568,"id":4646,"parentId":4645,"tags":{},"startTime":1725027022798,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":40394,"timestamp":8214903167546,"id":4645,"parentId":4466,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react/cjs/react-jsx-runtime.development.js","layer":null},"startTime":1725027022798,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16428,"timestamp":8214903201168,"id":4679,"parentId":4678,"tags":{},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16466,"timestamp":8214903201137,"id":4678,"parentId":4674,"tags":{},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17564,"timestamp":8214903200971,"id":4674,"parentId":4524,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/app-paths.js","layer":null},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17780,"timestamp":8214903200800,"id":4671,"parentId":4670,"tags":{},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17847,"timestamp":8214903200735,"id":4670,"parentId":4669,"tags":{},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19331,"timestamp":8214903200594,"id":4669,"parentId":4603,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","layer":null},"startTime":1725027022831,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18741,"timestamp":8214903201213,"id":4681,"parentId":4680,"tags":{},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18765,"timestamp":8214903201190,"id":4680,"parentId":4677,"tags":{},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20127,"timestamp":8214903201061,"id":4677,"parentId":4607,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","layer":null},"startTime":1725027022832,"traceId":"c0436940a62f44fd"}] -[{"name":"read-resource","duration":48591,"timestamp":8214903172783,"id":4660,"parentId":4659,"tags":{},"startTime":1725027022804,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":53211,"timestamp":8214903172720,"id":4659,"parentId":4437,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react/cjs/react-jsx-runtime.development.js","layer":null},"startTime":1725027022804,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17038,"timestamp":8214903213730,"id":4686,"parentId":4685,"tags":{},"startTime":1725027022845,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17100,"timestamp":8214903213675,"id":4685,"parentId":4682,"tags":{},"startTime":1725027022845,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18407,"timestamp":8214903213403,"id":4682,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js","layer":null},"startTime":1725027022844,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":41136,"timestamp":8214903191109,"id":4662,"parentId":4661,"tags":{},"startTime":1725027022822,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":43515,"timestamp":8214903191031,"id":4661,"parentId":4483,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js","layer":null},"startTime":1725027022822,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":41308,"timestamp":8214903193252,"id":4664,"parentId":4663,"tags":{},"startTime":1725027022824,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":43444,"timestamp":8214903193221,"id":4663,"parentId":4491,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js","layer":null},"startTime":1725027022824,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3019101,"timestamp":8214900218095,"id":3878,"parentId":3877,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027019849,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3006301,"timestamp":8214900232020,"id":3886,"parentId":3885,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027019863,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10659,"timestamp":8214903228040,"id":4691,"parentId":4690,"tags":{},"startTime":1725027022859,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10721,"timestamp":8214903227982,"id":4690,"parentId":4689,"tags":{},"startTime":1725027022859,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12067,"timestamp":8214903227750,"id":4689,"parentId":4601,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/app-paths.js","layer":null},"startTime":1725027022859,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":42092,"timestamp":8214903200542,"id":4666,"parentId":4665,"tags":{},"startTime":1725027022831,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":43958,"timestamp":8214903200497,"id":4665,"parentId":4439,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react-dom/index.js","layer":null},"startTime":1725027022831,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":43513,"timestamp":8214903200957,"id":4673,"parentId":4672,"tags":{},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":43828,"timestamp":8214903200936,"id":4672,"parentId":4468,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react-dom/index.js","layer":null},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":44195,"timestamp":8214903200580,"id":4668,"parentId":4667,"tags":{},"startTime":1725027022831,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":44329,"timestamp":8214903200560,"id":4667,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/react-is/index.js","layer":null},"startTime":1725027022831,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":43849,"timestamp":8214903201048,"id":4676,"parentId":4675,"tags":{},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":44004,"timestamp":8214903201033,"id":4675,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/react-is/index.js","layer":null},"startTime":1725027022832,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8385,"timestamp":8214903237734,"id":4699,"parentId":4698,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8439,"timestamp":8214903237682,"id":4698,"parentId":4692,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9554,"timestamp":8214903237247,"id":4692,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js","layer":null},"startTime":1725027022868,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9051,"timestamp":8214903237780,"id":4701,"parentId":4700,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9075,"timestamp":8214903237757,"id":4700,"parentId":4693,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10001,"timestamp":8214903237373,"id":4693,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js","layer":null},"startTime":1725027022868,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9525,"timestamp":8214903237865,"id":4705,"parentId":4704,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9545,"timestamp":8214903237846,"id":4704,"parentId":4695,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10421,"timestamp":8214903237486,"id":4695,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js","layer":null},"startTime":1725027022868,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14941,"timestamp":8214903237824,"id":4703,"parentId":4702,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14964,"timestamp":8214903237803,"id":4702,"parentId":4694,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15968,"timestamp":8214903237433,"id":4694,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js","layer":null},"startTime":1725027022868,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15340,"timestamp":8214903238432,"id":4712,"parentId":4711,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15366,"timestamp":8214903238408,"id":4711,"parentId":4710,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16062,"timestamp":8214903238340,"id":4710,"parentId":4642,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js","layer":null},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16519,"timestamp":8214903237904,"id":4707,"parentId":4706,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16540,"timestamp":8214903237885,"id":4706,"parentId":4696,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17492,"timestamp":8214903237537,"id":4696,"parentId":4612,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js","layer":null},"startTime":1725027022868,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18188,"timestamp":8214903237943,"id":4709,"parentId":4708,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18208,"timestamp":8214903237925,"id":4708,"parentId":4697,"tags":{},"startTime":1725027022869,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19984,"timestamp":8214903237594,"id":4697,"parentId":4612,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js","layer":null},"startTime":1725027022868,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":44024,"timestamp":8214903213569,"id":4684,"parentId":4683,"tags":{},"startTime":1725027022844,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":52745,"timestamp":8214903213546,"id":4683,"parentId":4585,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react/cjs/react.development.js","layer":null},"startTime":1725027022844,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":52355,"timestamp":8214903213966,"id":4688,"parentId":4687,"tags":{},"startTime":1725027022845,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":64327,"timestamp":8214903213943,"id":4687,"parentId":4596,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react/cjs/react.development.js","layer":null},"startTime":1725027022845,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8497,"timestamp":8214903285222,"id":4717,"parentId":4716,"tags":{},"startTime":1725027022916,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8585,"timestamp":8214903285142,"id":4716,"parentId":4713,"tags":{},"startTime":1725027022916,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10151,"timestamp":8214903284684,"id":4713,"parentId":4087,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/strip-ansi/index.js","layer":null},"startTime":1725027022916,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7641,"timestamp":8214903289462,"id":4730,"parentId":4729,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7666,"timestamp":8214903289442,"id":4729,"parentId":4720,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8895,"timestamp":8214903288939,"id":4720,"parentId":4643,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js","layer":null},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8432,"timestamp":8214903289422,"id":4728,"parentId":4727,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8457,"timestamp":8214903289397,"id":4727,"parentId":4719,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9479,"timestamp":8214903288879,"id":4719,"parentId":4643,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js","layer":null},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8871,"timestamp":8214903289502,"id":4732,"parentId":4731,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8892,"timestamp":8214903289483,"id":4731,"parentId":4721,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9849,"timestamp":8214903288993,"id":4721,"parentId":4643,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js","layer":null},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9490,"timestamp":8214903289374,"id":4726,"parentId":4725,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9536,"timestamp":8214903289330,"id":4725,"parentId":4718,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10689,"timestamp":8214903288778,"id":4718,"parentId":4098,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/strip-ansi/index.js","layer":null},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11281,"timestamp":8214903289544,"id":4734,"parentId":4733,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11305,"timestamp":8214903289523,"id":4733,"parentId":4722,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12296,"timestamp":8214903289044,"id":4722,"parentId":4643,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js","layer":null},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11985,"timestamp":8214903289584,"id":4736,"parentId":4735,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12007,"timestamp":8214903289564,"id":4735,"parentId":4723,"tags":{},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12996,"timestamp":8214903289093,"id":4723,"parentId":4640,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js","layer":null},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12498,"timestamp":8214903289623,"id":4738,"parentId":4737,"tags":{},"startTime":1725027022921,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12517,"timestamp":8214903289605,"id":4737,"parentId":4724,"tags":{},"startTime":1725027022921,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14158,"timestamp":8214903289142,"id":4724,"parentId":4640,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/component-stack-pseudo-html.js","layer":null},"startTime":1725027022920,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7921,"timestamp":8214903304632,"id":4754,"parentId":4753,"tags":{},"startTime":1725027022936,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7953,"timestamp":8214903304608,"id":4753,"parentId":4750,"tags":{},"startTime":1725027022936,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9061,"timestamp":8214903304309,"id":4750,"parentId":4674,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","layer":null},"startTime":1725027022935,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8807,"timestamp":8214903304584,"id":4752,"parentId":4751,"tags":{},"startTime":1725027022935,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8862,"timestamp":8214903304532,"id":4751,"parentId":4749,"tags":{},"startTime":1725027022935,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9697,"timestamp":8214903304201,"id":4749,"parentId":4674,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/segment.js","layer":null},"startTime":1725027022935,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":30390,"timestamp":8214903284847,"id":4715,"parentId":4714,"tags":{},"startTime":1725027022916,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":32850,"timestamp":8214903284824,"id":4714,"parentId":4110,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/web-vitals/web-vitals.js","layer":null},"startTime":1725027022916,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8638,"timestamp":8214903314394,"id":4760,"parentId":4759,"tags":{},"startTime":1725027022945,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8667,"timestamp":8214903314372,"id":4759,"parentId":4756,"tags":{},"startTime":1725027022945,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9507,"timestamp":8214903314165,"id":4756,"parentId":4689,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","layer":null},"startTime":1725027022945,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9343,"timestamp":8214903314348,"id":4758,"parentId":4757,"tags":{},"startTime":1725027022945,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9396,"timestamp":8214903314298,"id":4757,"parentId":4755,"tags":{},"startTime":1725027022945,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10095,"timestamp":8214903314042,"id":4755,"parentId":4689,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/segment.js","layer":null},"startTime":1725027022945,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":27566,"timestamp":8214903296582,"id":4740,"parentId":4739,"tags":{},"startTime":1725027022927,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":28460,"timestamp":8214903296185,"id":4739,"parentId":3975,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_interop_require_default.js","layer":null},"startTime":1725027022927,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":27638,"timestamp":8214903297022,"id":4748,"parentId":4747,"tags":{},"startTime":1725027022928,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":29720,"timestamp":8214903297008,"id":4747,"parentId":4161,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/web-vitals/web-vitals.js","layer":null},"startTime":1725027022928,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":29777,"timestamp":8214903296961,"id":4744,"parentId":4743,"tags":{},"startTime":1725027022928,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":30238,"timestamp":8214903296693,"id":4743,"parentId":3986,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_interop_require_default.js","layer":null},"startTime":1725027022928,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":30313,"timestamp":8214903296629,"id":4742,"parentId":4741,"tags":{},"startTime":1725027022928,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":30757,"timestamp":8214903296609,"id":4741,"parentId":4040,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_interop_require_wildcard.js","layer":null},"startTime":1725027022928,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":30382,"timestamp":8214903296994,"id":4746,"parentId":4745,"tags":{},"startTime":1725027022928,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":30747,"timestamp":8214903296978,"id":4745,"parentId":4024,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_interop_require_wildcard.js","layer":null},"startTime":1725027022928,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3109765,"timestamp":8214900218250,"id":3879,"parentId":3877,"tags":{"request":"./node_modules/next/dist/client/dev/amp-dev"},"startTime":1725027019849,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3109742,"timestamp":8214900218284,"id":3881,"parentId":3877,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"},"startTime":1725027019849,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3109652,"timestamp":8214900218420,"id":3883,"parentId":3877,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"},"startTime":1725027019849,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3096169,"timestamp":8214900232089,"id":3887,"parentId":3885,"tags":{"request":"./node_modules/next/dist/client/dev/amp-dev"},"startTime":1725027019863,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3096139,"timestamp":8214900232128,"id":3889,"parentId":3885,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"},"startTime":1725027019863,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3096146,"timestamp":8214900232152,"id":3891,"parentId":3885,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"},"startTime":1725027019863,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-transform","duration":8443,"timestamp":8214903320178,"id":4775,"parentId":4774,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8465,"timestamp":8214903320158,"id":4774,"parentId":4763,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9456,"timestamp":8214903319660,"id":4763,"parentId":4613,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js","layer":null},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8997,"timestamp":8214903320136,"id":4773,"parentId":4772,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9025,"timestamp":8214903320109,"id":4772,"parentId":4762,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9949,"timestamp":8214903319597,"id":4762,"parentId":4613,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js","layer":null},"startTime":1725027022950,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9596,"timestamp":8214903320218,"id":4777,"parentId":4776,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9618,"timestamp":8214903320199,"id":4776,"parentId":4764,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10512,"timestamp":8214903319774,"id":4764,"parentId":4612,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js","layer":null},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10140,"timestamp":8214903320257,"id":4779,"parentId":4778,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10161,"timestamp":8214903320238,"id":4778,"parentId":4769,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11052,"timestamp":8214903319902,"id":4769,"parentId":4697,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js","layer":null},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10952,"timestamp":8214903320032,"id":4771,"parentId":4770,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11009,"timestamp":8214903319976,"id":4770,"parentId":4761,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12572,"timestamp":8214903319451,"id":4761,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js","layer":null},"startTime":1725027022950,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5585,"timestamp":8214903333601,"id":4791,"parentId":4790,"tags":{},"startTime":1725027022964,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5616,"timestamp":8214903333578,"id":4790,"parentId":4785,"tags":{},"startTime":1725027022964,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6751,"timestamp":8214903333187,"id":4785,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js","layer":null},"startTime":1725027022964,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6404,"timestamp":8214903333554,"id":4789,"parentId":4788,"tags":{},"startTime":1725027022964,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6456,"timestamp":8214903333504,"id":4788,"parentId":4784,"tags":{},"startTime":1725027022964,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7378,"timestamp":8214903333062,"id":4784,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js","layer":null},"startTime":1725027022964,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6987,"timestamp":8214903333642,"id":4793,"parentId":4792,"tags":{},"startTime":1725027022965,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7009,"timestamp":8214903333623,"id":4792,"parentId":4786,"tags":{},"startTime":1725027022965,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7923,"timestamp":8214903333248,"id":4786,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js","layer":null},"startTime":1725027022964,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7515,"timestamp":8214903333683,"id":4795,"parentId":4794,"tags":{},"startTime":1725027022965,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7536,"timestamp":8214903333664,"id":4794,"parentId":4787,"tags":{},"startTime":1725027022965,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8685,"timestamp":8214903333304,"id":4787,"parentId":4612,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js","layer":null},"startTime":1725027022964,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9097,"timestamp":8214903337033,"id":4804,"parentId":4803,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9121,"timestamp":8214903337013,"id":4803,"parentId":4797,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10050,"timestamp":8214903336715,"id":4797,"parentId":4641,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js","layer":null},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9792,"timestamp":8214903336991,"id":4802,"parentId":4801,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9831,"timestamp":8214903336953,"id":4801,"parentId":4796,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10638,"timestamp":8214903336575,"id":4796,"parentId":4641,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js","layer":null},"startTime":1725027022967,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10276,"timestamp":8214903337134,"id":4808,"parentId":4807,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10300,"timestamp":8214903337113,"id":4807,"parentId":4799,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11070,"timestamp":8214903336827,"id":4799,"parentId":4640,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js","layer":null},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10746,"timestamp":8214903337173,"id":4810,"parentId":4809,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10765,"timestamp":8214903337154,"id":4809,"parentId":4800,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11552,"timestamp":8214903336878,"id":4800,"parentId":4724,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js","layer":null},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":28671,"timestamp":8214903319849,"id":4766,"parentId":4765,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":29488,"timestamp":8214903319830,"id":4765,"parentId":4667,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js","layer":null},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12280,"timestamp":8214903337072,"id":4806,"parentId":4805,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12300,"timestamp":8214903337053,"id":4805,"parentId":4798,"tags":{},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13643,"timestamp":8214903336776,"id":4798,"parentId":4643,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js","layer":null},"startTime":1725027022968,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":35170,"timestamp":8214903320580,"id":4783,"parentId":4782,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":36123,"timestamp":8214903320566,"id":4782,"parentId":4675,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js","layer":null},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":37299,"timestamp":8214903319889,"id":4768,"parentId":4767,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":158615,"timestamp":8214903319874,"id":4767,"parentId":4665,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react-dom/cjs/react-dom.development.js","layer":null},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":126480,"timestamp":8214903353338,"id":4822,"parentId":4821,"tags":{},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":126505,"timestamp":8214903353319,"id":4821,"parentId":4815,"tags":{},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":127596,"timestamp":8214903352951,"id":4815,"parentId":4643,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js","layer":null},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":127346,"timestamp":8214903353297,"id":4820,"parentId":4819,"tags":{},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":127374,"timestamp":8214903353272,"id":4819,"parentId":4814,"tags":{},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":128226,"timestamp":8214903352894,"id":4814,"parentId":4641,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js","layer":null},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":127994,"timestamp":8214903353248,"id":4818,"parentId":4817,"tags":{},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":128049,"timestamp":8214903353196,"id":4817,"parentId":4813,"tags":{},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":128942,"timestamp":8214903352796,"id":4813,"parentId":4641,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js","layer":null},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":128390,"timestamp":8214903353378,"id":4824,"parentId":4823,"tags":{},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":128410,"timestamp":8214903353359,"id":4823,"parentId":4816,"tags":{},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":129488,"timestamp":8214903353003,"id":4816,"parentId":4640,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js","layer":null},"startTime":1725027022984,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":165758,"timestamp":8214903320552,"id":4781,"parentId":4780,"tags":{},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":256941,"timestamp":8214903320531,"id":4780,"parentId":4672,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/react-dom/cjs/react-dom.development.js","layer":null},"startTime":1725027022951,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3717,"timestamp":8214903581437,"id":4835,"parentId":4834,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3749,"timestamp":8214903581412,"id":4834,"parentId":4828,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4838,"timestamp":8214903581082,"id":4828,"parentId":4761,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js","layer":null},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4493,"timestamp":8214903581475,"id":4837,"parentId":4836,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4514,"timestamp":8214903581457,"id":4836,"parentId":4829,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5679,"timestamp":8214903581134,"id":4829,"parentId":4762,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js","layer":null},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":235488,"timestamp":8214903351817,"id":4812,"parentId":4811,"tags":{},"startTime":1725027022983,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":236289,"timestamp":8214903351764,"id":4811,"parentId":4434,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","layer":null},"startTime":1725027022983,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":8427,"timestamp":8214903581391,"id":4833,"parentId":4832,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":8480,"timestamp":8214903581341,"id":4832,"parentId":4827,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9792,"timestamp":8214903580991,"id":4827,"parentId":4763,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js","layer":null},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9264,"timestamp":8214903581546,"id":4841,"parentId":4840,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9283,"timestamp":8214903581530,"id":4840,"parentId":4831,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":10150,"timestamp":8214903581227,"id":4831,"parentId":4761,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js","layer":null},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":9895,"timestamp":8214903581512,"id":4839,"parentId":4838,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":9915,"timestamp":8214903581494,"id":4838,"parentId":4830,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11082,"timestamp":8214903581182,"id":4830,"parentId":4764,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js","layer":null},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15534,"timestamp":8214903584260,"id":4859,"parentId":4858,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15558,"timestamp":8214903584242,"id":4858,"parentId":4845,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16717,"timestamp":8214903583741,"id":4845,"parentId":4784,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js","layer":null},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16293,"timestamp":8214903584183,"id":4855,"parentId":4854,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16317,"timestamp":8214903584162,"id":4854,"parentId":4843,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17255,"timestamp":8214903583632,"id":4843,"parentId":4785,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js","layer":null},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16609,"timestamp":8214903584295,"id":4861,"parentId":4860,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16627,"timestamp":8214903584279,"id":4860,"parentId":4846,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17580,"timestamp":8214903583787,"id":4846,"parentId":4784,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js","layer":null},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17259,"timestamp":8214903584140,"id":4853,"parentId":4852,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17305,"timestamp":8214903584095,"id":4852,"parentId":4842,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":18480,"timestamp":8214903583515,"id":4842,"parentId":4787,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/magic-identifier.js","layer":null},"startTime":1725027023214,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":17791,"timestamp":8214903584223,"id":4857,"parentId":4856,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":17811,"timestamp":8214903584204,"id":4856,"parentId":4844,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19013,"timestamp":8214903583690,"id":4844,"parentId":4785,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js","layer":null},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":18398,"timestamp":8214903584330,"id":4863,"parentId":4862,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":18416,"timestamp":8214903584314,"id":4862,"parentId":4847,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19519,"timestamp":8214903583833,"id":4847,"parentId":4786,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js","layer":null},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19002,"timestamp":8214903584364,"id":4865,"parentId":4864,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":19019,"timestamp":8214903584348,"id":4864,"parentId":4848,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":19862,"timestamp":8214903583880,"id":4848,"parentId":4786,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js","layer":null},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19432,"timestamp":8214903584398,"id":4867,"parentId":4866,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-loader","duration":19604,"timestamp":8214903584382,"id":4866,"parentId":4849,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20432,"timestamp":8214903583932,"id":4849,"parentId":4786,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js","layer":null},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":19994,"timestamp":8214903584468,"id":4871,"parentId":4870,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20013,"timestamp":8214903584451,"id":4870,"parentId":4851,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20830,"timestamp":8214903584018,"id":4851,"parentId":4786,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js","layer":null},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20428,"timestamp":8214903584432,"id":4869,"parentId":4868,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20446,"timestamp":8214903584416,"id":4868,"parentId":4850,"tags":{},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21266,"timestamp":8214903583974,"id":4850,"parentId":4786,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js","layer":null},"startTime":1725027023215,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11537,"timestamp":8214903593785,"id":4884,"parentId":4883,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":11556,"timestamp":8214903593769,"id":4883,"parentId":4875,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12385,"timestamp":8214903593467,"id":4875,"parentId":4796,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js","layer":null},"startTime":1725027023224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12195,"timestamp":8214903593674,"id":4878,"parentId":4877,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12242,"timestamp":8214903593629,"id":4877,"parentId":4872,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12992,"timestamp":8214903593244,"id":4872,"parentId":4798,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js","layer":null},"startTime":1725027023224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12742,"timestamp":8214903593715,"id":4880,"parentId":4879,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12764,"timestamp":8214903593695,"id":4879,"parentId":4873,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13869,"timestamp":8214903593358,"id":4873,"parentId":4797,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js","layer":null},"startTime":1725027023224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13502,"timestamp":8214903593750,"id":4882,"parentId":4881,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13521,"timestamp":8214903593733,"id":4881,"parentId":4874,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":14648,"timestamp":8214903593411,"id":4874,"parentId":4799,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js","layer":null},"startTime":1725027023224,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16414,"timestamp":8214903593819,"id":4886,"parentId":4885,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16433,"timestamp":8214903593803,"id":4885,"parentId":4876,"tags":{},"startTime":1725027023225,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17336,"timestamp":8214903593511,"id":4876,"parentId":4798,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js","layer":null},"startTime":1725027023224,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":46196,"timestamp":8214903580720,"id":4826,"parentId":4825,"tags":{},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":47075,"timestamp":8214903580667,"id":4825,"parentId":4486,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","layer":null},"startTime":1725027023212,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13902,"timestamp":8214903614038,"id":4904,"parentId":4903,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13922,"timestamp":8214903614021,"id":4903,"parentId":4890,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15098,"timestamp":8214903613357,"id":4890,"parentId":4814,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js","layer":null},"startTime":1725027023244,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14472,"timestamp":8214903614002,"id":4902,"parentId":4901,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14491,"timestamp":8214903613985,"id":4901,"parentId":4889,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15637,"timestamp":8214903613307,"id":4889,"parentId":4815,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js","layer":null},"startTime":1725027023244,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14993,"timestamp":8214903613966,"id":4900,"parentId":4899,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15017,"timestamp":8214903613944,"id":4899,"parentId":4888,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16091,"timestamp":8214903613251,"id":4888,"parentId":4815,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js","layer":null},"startTime":1725027023244,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15438,"timestamp":8214903613924,"id":4898,"parentId":4897,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15489,"timestamp":8214903613875,"id":4897,"parentId":4887,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16790,"timestamp":8214903613134,"id":4887,"parentId":4816,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/magic-identifier.js","layer":null},"startTime":1725027023244,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15798,"timestamp":8214903614140,"id":4910,"parentId":4909,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15816,"timestamp":8214903614124,"id":4909,"parentId":4893,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":16837,"timestamp":8214903613490,"id":4893,"parentId":4813,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js","layer":null},"startTime":1725027023244,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16166,"timestamp":8214903614175,"id":4912,"parentId":4911,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16184,"timestamp":8214903614159,"id":4911,"parentId":4894,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17183,"timestamp":8214903613531,"id":4894,"parentId":4813,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js","layer":null},"startTime":1725027023244,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":16485,"timestamp":8214903614242,"id":4916,"parentId":4915,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":16502,"timestamp":8214903614227,"id":4915,"parentId":4896,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17487,"timestamp":8214903613614,"id":4896,"parentId":4813,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js","layer":null},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":20579,"timestamp":8214903614105,"id":4908,"parentId":4907,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":20598,"timestamp":8214903614090,"id":4907,"parentId":4892,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":21979,"timestamp":8214903613445,"id":4892,"parentId":4813,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js","layer":null},"startTime":1725027023244,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":21231,"timestamp":8214903614209,"id":4914,"parentId":4913,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":21248,"timestamp":8214903614193,"id":4913,"parentId":4895,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":22267,"timestamp":8214903613574,"id":4895,"parentId":4813,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js","layer":null},"startTime":1725027023244,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":21788,"timestamp":8214903614072,"id":4906,"parentId":4905,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":21805,"timestamp":8214903614056,"id":4905,"parentId":4891,"tags":{},"startTime":1725027023245,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":23158,"timestamp":8214903613403,"id":4891,"parentId":4814,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js","layer":null},"startTime":1725027023244,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2845,"timestamp":8214903652965,"id":4931,"parentId":4930,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2875,"timestamp":8214903652948,"id":4930,"parentId":4922,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4012,"timestamp":8214903652687,"id":4922,"parentId":4827,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js","layer":null},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3901,"timestamp":8214903652849,"id":4925,"parentId":4924,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3953,"timestamp":8214903652800,"id":4924,"parentId":4919,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4997,"timestamp":8214903652462,"id":4919,"parentId":4831,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js","layer":null},"startTime":1725027023283,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6095,"timestamp":8214903652929,"id":4929,"parentId":4928,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6117,"timestamp":8214903652912,"id":4928,"parentId":4921,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7418,"timestamp":8214903652618,"id":4921,"parentId":4829,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js","layer":null},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7075,"timestamp":8214903653000,"id":4933,"parentId":4932,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7094,"timestamp":8214903652984,"id":4932,"parentId":4923,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8021,"timestamp":8214903652736,"id":4923,"parentId":4831,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js","layer":null},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":6403,"timestamp":8214903654382,"id":4942,"parentId":4941,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":6535,"timestamp":8214903654253,"id":4941,"parentId":4936,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7562,"timestamp":8214903653946,"id":4936,"parentId":4876,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/icons/FrameworkIcon.js","layer":null},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7024,"timestamp":8214903654528,"id":4946,"parentId":4945,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7049,"timestamp":8214903654505,"id":4945,"parentId":4938,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7990,"timestamp":8214903654081,"id":4938,"parentId":4875,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js","layer":null},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":7530,"timestamp":8214903654565,"id":4948,"parentId":4947,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":7550,"timestamp":8214903654547,"id":4947,"parentId":4939,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8476,"timestamp":8214903654146,"id":4939,"parentId":4873,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js","layer":null},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10923,"timestamp":8214903654601,"id":4950,"parentId":4949,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10947,"timestamp":8214903654584,"id":4949,"parentId":4940,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":12142,"timestamp":8214903654191,"id":4940,"parentId":4876,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js","layer":null},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10812,"timestamp":8214903655544,"id":4953,"parentId":4952,"tags":{},"startTime":1725027023286,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10868,"timestamp":8214903655490,"id":4952,"parentId":4951,"tags":{},"startTime":1725027023286,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11557,"timestamp":8214903655268,"id":4951,"parentId":4761,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js","layer":null},"startTime":1725027023286,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5434,"timestamp":8214903663333,"id":4956,"parentId":4955,"tags":{},"startTime":1725027023294,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5490,"timestamp":8214903663282,"id":4955,"parentId":4954,"tags":{},"startTime":1725027023294,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6227,"timestamp":8214903663093,"id":4954,"parentId":4847,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js","layer":null},"startTime":1725027023294,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":20283,"timestamp":8214903649196,"id":4918,"parentId":4917,"tags":{},"startTime":1725027023280,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":20554,"timestamp":8214903649142,"id":4917,"parentId":4615,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js","layer":null},"startTime":1725027023280,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":17201,"timestamp":8214903653928,"id":4935,"parentId":4934,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":17441,"timestamp":8214903653886,"id":4934,"parentId":4642,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js","layer":null},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2886,"timestamp":8214903670848,"id":4960,"parentId":4959,"tags":{},"startTime":1725027023302,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2937,"timestamp":8214903670804,"id":4959,"parentId":4957,"tags":{},"startTime":1725027023302,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3726,"timestamp":8214903670637,"id":4957,"parentId":4798,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js","layer":null},"startTime":1725027023302,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4132,"timestamp":8214903670889,"id":4962,"parentId":4961,"tags":{},"startTime":1725027023302,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4155,"timestamp":8214903670869,"id":4961,"parentId":4958,"tags":{},"startTime":1725027023302,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4800,"timestamp":8214903670745,"id":4958,"parentId":4892,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js","layer":null},"startTime":1725027023302,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2481,"timestamp":8214903675768,"id":4965,"parentId":4964,"tags":{},"startTime":1725027023307,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2532,"timestamp":8214903675721,"id":4964,"parentId":4963,"tags":{},"startTime":1725027023307,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3374,"timestamp":8214903675586,"id":4963,"parentId":4922,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js","layer":null},"startTime":1725027023306,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1578,"timestamp":8214903678162,"id":4971,"parentId":4970,"tags":{},"startTime":1725027023309,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1604,"timestamp":8214903678139,"id":4970,"parentId":4969,"tags":{},"startTime":1725027023309,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2268,"timestamp":8214903678078,"id":4969,"parentId":4939,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js","layer":null},"startTime":1725027023309,"traceId":"c0436940a62f44fd"}] -[{"name":"next-swc-transform","duration":29085,"timestamp":8214903652892,"id":4927,"parentId":4926,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":29109,"timestamp":8214903652871,"id":4926,"parentId":4920,"tags":{},"startTime":1725027023284,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":38092,"timestamp":8214903652564,"id":4920,"parentId":4829,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js","layer":null},"startTime":1725027023283,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":12750,"timestamp":8214903677991,"id":4968,"parentId":4967,"tags":{},"startTime":1725027023309,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12791,"timestamp":8214903677951,"id":4967,"parentId":4966,"tags":{},"startTime":1725027023309,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":13796,"timestamp":8214903677849,"id":4966,"parentId":4951,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js","layer":null},"startTime":1725027023309,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":43599,"timestamp":8214903654485,"id":4944,"parentId":4943,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43684,"timestamp":8214903654404,"id":4943,"parentId":4937,"tags":{},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":52714,"timestamp":8214903654024,"id":4937,"parentId":4875,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js","layer":null},"startTime":1725027023285,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3238,"timestamp":8214903708312,"id":4974,"parentId":4973,"tags":{},"startTime":1725027023339,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3305,"timestamp":8214903708251,"id":4973,"parentId":4972,"tags":{},"startTime":1725027023339,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4547,"timestamp":8214903708092,"id":4972,"parentId":4957,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js","layer":null},"startTime":1725027023339,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5505,"timestamp":8214903710749,"id":4976,"parentId":4975,"tags":{},"startTime":1725027023342,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5723,"timestamp":8214903710704,"id":4975,"parentId":4767,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/scheduler/index.js","layer":null},"startTime":1725027023342,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5522,"timestamp":8214903710948,"id":4978,"parentId":4977,"tags":{},"startTime":1725027023342,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5647,"timestamp":8214903710926,"id":4977,"parentId":4780,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/scheduler/index.js","layer":null},"startTime":1725027023342,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":904,"timestamp":8214903718870,"id":4980,"parentId":4979,"tags":{},"startTime":1725027023350,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3034,"timestamp":8214903718833,"id":4979,"parentId":4827,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/anser/index.js","layer":null},"startTime":1725027023350,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3026,"timestamp":8214903719040,"id":4982,"parentId":4981,"tags":{},"startTime":1725027023350,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4523,"timestamp":8214903719021,"id":4981,"parentId":4873,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/anser/index.js","layer":null},"startTime":1725027023350,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":4140,"timestamp":8214903719585,"id":4984,"parentId":4983,"tags":{},"startTime":1725027023350,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5792,"timestamp":8214903719568,"id":4983,"parentId":4977,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/scheduler/cjs/scheduler.development.js","layer":null},"startTime":1725027023350,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3493312,"timestamp":8214900232141,"id":3890,"parentId":3885,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/router.js"},"startTime":1725027019863,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5738,"timestamp":8214903719727,"id":4986,"parentId":4985,"tags":{},"startTime":1725027023351,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7211,"timestamp":8214903719712,"id":4985,"parentId":4975,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/scheduler/cjs/scheduler.development.js","layer":null},"startTime":1725027023351,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3508722,"timestamp":8214900218299,"id":3882,"parentId":3877,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/router.js"},"startTime":1725027019849,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":351,"timestamp":8214903729527,"id":4990,"parentId":4989,"tags":{},"startTime":1725027023360,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1102,"timestamp":8214903729509,"id":4989,"parentId":4920,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/css.escape/css.escape.js","layer":null},"startTime":1725027023360,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1043,"timestamp":8214903729616,"id":4992,"parentId":4991,"tags":{},"startTime":1725027023361,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1479,"timestamp":8214903729598,"id":4991,"parentId":4937,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/css.escape/css.escape.js","layer":null},"startTime":1725027023360,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":1641,"timestamp":8214903729490,"id":4988,"parentId":4987,"tags":{},"startTime":1725027023360,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":5656,"timestamp":8214903729445,"id":4987,"parentId":4920,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/platform/platform.js","layer":null},"startTime":1725027023360,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":5478,"timestamp":8214903729641,"id":4994,"parentId":4993,"tags":{},"startTime":1725027023361,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":9430,"timestamp":8214903729627,"id":4993,"parentId":4937,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/platform/platform.js","layer":null},"startTime":1725027023361,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3507069,"timestamp":8214900232103,"id":3888,"parentId":3885,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1725027019863,"traceId":"c0436940a62f44fd"},{"name":"make","duration":3507532,"timestamp":8214900231851,"id":3885,"parentId":3884,"tags":{},"startTime":1725027019863,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3889,"timestamp":8214903742677,"id":4996,"parentId":4995,"tags":{},"startTime":1725027023374,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":29,"timestamp":8214903746622,"id":4998,"parentId":4995,"tags":{},"startTime":1725027023378,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":122,"timestamp":8214903746700,"id":4999,"parentId":4995,"tags":{},"startTime":1725027023378,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":4,"timestamp":8214903746865,"id":5000,"parentId":4995,"tags":{},"startTime":1725027023378,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":9,"timestamp":8214903746897,"id":5001,"parentId":4995,"tags":{},"startTime":1725027023378,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":404,"timestamp":8214903746606,"id":4997,"parentId":4995,"tags":{},"startTime":1725027023377,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":3747,"timestamp":8214903751596,"id":5002,"parentId":4995,"tags":{},"startTime":1725027023382,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":9557,"timestamp":8214903755363,"id":5003,"parentId":4995,"tags":{},"startTime":1725027023386,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":5876,"timestamp":8214903766393,"id":5004,"parentId":4995,"tags":{},"startTime":1725027023397,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":408,"timestamp":8214903772268,"id":5005,"parentId":4995,"tags":{},"startTime":1725027023403,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":30,"timestamp":8214903772669,"id":5006,"parentId":4995,"tags":{},"startTime":1725027023404,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":95062,"timestamp":8214903772702,"id":5007,"parentId":4995,"tags":{},"startTime":1725027023404,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":3650020,"timestamp":8214900218270,"id":3880,"parentId":3877,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1725027019849,"traceId":"c0436940a62f44fd"},{"name":"make","duration":3650664,"timestamp":8214900217713,"id":3877,"parentId":3876,"tags":{},"startTime":1725027019849,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1305,"timestamp":8214903869457,"id":5009,"parentId":5008,"tags":{},"startTime":1725027023500,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":7,"timestamp":8214903870774,"id":5011,"parentId":5008,"tags":{},"startTime":1725027023502,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":20,"timestamp":8214903870794,"id":5012,"parentId":5008,"tags":{},"startTime":1725027023502,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":10,"timestamp":8214903870824,"id":5013,"parentId":5008,"tags":{},"startTime":1725027023502,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":3,"timestamp":8214903870852,"id":5014,"parentId":5008,"tags":{},"startTime":1725027023502,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":98,"timestamp":8214903870769,"id":5010,"parentId":5008,"tags":{},"startTime":1725027023502,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":5897,"timestamp":8214903871925,"id":5015,"parentId":5008,"tags":{},"startTime":1725027023503,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":7239,"timestamp":8214903877843,"id":5016,"parentId":5008,"tags":{},"startTime":1725027023509,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":4217,"timestamp":8214903886137,"id":5017,"parentId":5008,"tags":{},"startTime":1725027023517,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":360,"timestamp":8214903890353,"id":5018,"parentId":5008,"tags":{},"startTime":1725027023521,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":33,"timestamp":8214903890696,"id":5019,"parentId":5008,"tags":{},"startTime":1725027023522,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":87790,"timestamp":8214903890732,"id":5020,"parentId":5008,"tags":{},"startTime":1725027023522,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":132,"timestamp":8214903980140,"id":5021,"parentId":3884,"tags":{},"startTime":1725027023611,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":239515,"timestamp":8214903741295,"id":4995,"parentId":3884,"tags":{},"startTime":1725027023372,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":3749763,"timestamp":8214900231090,"id":3884,"parentId":3,"tags":{"name":"client"},"startTime":1725027019862,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":31,"timestamp":8214903981053,"id":5023,"parentId":3876,"tags":{},"startTime":1725027023612,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":112316,"timestamp":8214903869105,"id":5008,"parentId":3876,"tags":{},"startTime":1725027023500,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":3764747,"timestamp":8214900216706,"id":3876,"parentId":3,"tags":{"name":"client"},"startTime":1725027019848,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":48992,"timestamp":8214903980919,"id":5022,"parentId":3,"tags":{},"startTime":1725027023612,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":57089,"timestamp":8214903981509,"id":5024,"parentId":3,"tags":{},"startTime":1725027023612,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":7604,"timestamp":8214904041706,"id":5040,"parentId":5029,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":10629,"timestamp":8214904041661,"id":5032,"parentId":5029,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12693,"timestamp":8214904041701,"id":5039,"parentId":5029,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":18178,"timestamp":8214904041711,"id":5041,"parentId":5029,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":19881,"timestamp":8214904041668,"id":5033,"parentId":5029,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":20317,"timestamp":8214904041697,"id":5038,"parentId":5029,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":20326,"timestamp":8214904041692,"id":5037,"parentId":5029,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":24579,"timestamp":8214904041716,"id":5042,"parentId":5029,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":135302,"timestamp":8214904041600,"id":5030,"parentId":5029,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027023672,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":157979,"timestamp":8214904041674,"id":5034,"parentId":5029,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":157975,"timestamp":8214904041687,"id":5036,"parentId":5029,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":157942,"timestamp":8214904041721,"id":5043,"parentId":5029,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":185756,"timestamp":8214904041653,"id":5031,"parentId":5029,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":185736,"timestamp":8214904041682,"id":5035,"parentId":5029,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/router.js"},"startTime":1725027023673,"traceId":"c0436940a62f44fd"},{"name":"make","duration":190407,"timestamp":8214904037057,"id":5029,"parentId":5028,"tags":{},"startTime":1725027023668,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2118,"timestamp":8214904233479,"id":5045,"parentId":5044,"tags":{},"startTime":1725027023864,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":6,"timestamp":8214904235613,"id":5047,"parentId":5044,"tags":{},"startTime":1725027023866,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":37,"timestamp":8214904235632,"id":5048,"parentId":5044,"tags":{},"startTime":1725027023867,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":6,"timestamp":8214904235685,"id":5049,"parentId":5044,"tags":{},"startTime":1725027023867,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":3,"timestamp":8214904235702,"id":5050,"parentId":5044,"tags":{},"startTime":1725027023867,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":1941,"timestamp":8214904235608,"id":5046,"parentId":5044,"tags":{},"startTime":1725027023866,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1912,"timestamp":8214904239253,"id":5051,"parentId":5044,"tags":{},"startTime":1725027023870,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":3934,"timestamp":8214904241173,"id":5052,"parentId":5044,"tags":{},"startTime":1725027023872,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":4439,"timestamp":8214904247036,"id":5053,"parentId":5044,"tags":{},"startTime":1725027023878,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":188,"timestamp":8214904251474,"id":5054,"parentId":5044,"tags":{},"startTime":1725027023882,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":235,"timestamp":8214904251655,"id":5055,"parentId":5044,"tags":{},"startTime":1725027023883,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":4659,"timestamp":8214904251896,"id":5056,"parentId":5044,"tags":{},"startTime":1725027023883,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":221,"timestamp":8214904257439,"id":5058,"parentId":5028,"tags":{},"startTime":1725027023888,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":297,"timestamp":8214904257367,"id":5057,"parentId":5028,"tags":{},"startTime":1725027023888,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":28499,"timestamp":8214904231304,"id":5044,"parentId":5028,"tags":{},"startTime":1725027023862,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":223043,"timestamp":8214904036785,"id":5028,"parentId":5025,"tags":{"name":"client"},"startTime":1725027023668,"traceId":"c0436940a62f44fd"}] -[{"name":"emit","duration":26283,"timestamp":8214904260065,"id":5059,"parentId":5025,"tags":{},"startTime":1725027023891,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":251983,"timestamp":8214904035199,"id":5025,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725027023666,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":15,"timestamp":8214904291528,"id":5062,"parentId":3,"tags":{},"startTime":1725027023922,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":0,"timestamp":8214904291593,"id":5063,"parentId":3,"tags":{},"startTime":1725027023922,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":276000,"timestamp":8214904036368,"id":5070,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725027023944,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21593,"timestamp":8214904292966,"id":5069,"parentId":5061,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027023924,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21911,"timestamp":8214904292958,"id":5068,"parentId":5061,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027023924,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":280000,"timestamp":8214904036448,"id":5073,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725027023948,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":4042,"timestamp":8214904316060,"id":5071,"parentId":5065,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!","layer":null},"startTime":1725027023947,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":3582,"timestamp":8214904317211,"id":5072,"parentId":5067,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!","layer":null},"startTime":1725027023948,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4749,"timestamp":8214904318068,"id":5077,"parentId":5076,"tags":{},"startTime":1725027023949,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4878,"timestamp":8214904317943,"id":5076,"parentId":5074,"tags":{},"startTime":1725027023949,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6022,"timestamp":8214904317586,"id":5074,"parentId":5064,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/pages/_app.js","layer":null},"startTime":1725027023948,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":33,"timestamp":8214904327477,"id":5080,"parentId":5074,"tags":{"name":"react/jsx-runtime","layer":null},"startTime":1725027023958,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":6,"timestamp":8214904327529,"id":5081,"parentId":5074,"tags":{"name":"react","layer":null},"startTime":1725027023958,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1994,"timestamp":8214904327694,"id":5084,"parentId":5083,"tags":{},"startTime":1725027023959,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2049,"timestamp":8214904327646,"id":5083,"parentId":5082,"tags":{},"startTime":1725027023959,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2948,"timestamp":8214904327540,"id":5082,"parentId":5072,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/pages/_error.js","layer":null},"startTime":1725027023958,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2462,"timestamp":8214904329449,"id":5087,"parentId":5086,"tags":{},"startTime":1725027023960,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2503,"timestamp":8214904329411,"id":5086,"parentId":5085,"tags":{},"startTime":1725027023960,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3632,"timestamp":8214904329331,"id":5085,"parentId":5074,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils.js","layer":null},"startTime":1725027023960,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":15598,"timestamp":8214904318113,"id":5079,"parentId":5078,"tags":{},"startTime":1725027023949,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":15625,"timestamp":8214904318090,"id":5078,"parentId":5075,"tags":{},"startTime":1725027023949,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":24301,"timestamp":8214904317887,"id":5075,"parentId":5066,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/pages/_document.js","layer":null},"startTime":1725027023949,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":10140,"timestamp":8214904333183,"id":5090,"parentId":5089,"tags":{},"startTime":1725027023964,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":10187,"timestamp":8214904333139,"id":5089,"parentId":5088,"tags":{},"startTime":1725027023964,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":11819,"timestamp":8214904333039,"id":5088,"parentId":5082,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/head.js","layer":null},"startTime":1725027023964,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7922,"timestamp":8214904345422,"id":5092,"parentId":5091,"tags":{},"startTime":1725027023976,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8448,"timestamp":8214904345345,"id":5091,"parentId":5071,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/templates/helpers.js","layer":null},"startTime":1725027023976,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2579,"timestamp":8214904352233,"id":5108,"parentId":5107,"tags":{},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2604,"timestamp":8214904352212,"id":5107,"parentId":5102,"tags":{},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3045,"timestamp":8214904352022,"id":5102,"parentId":5075,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/encode-uri-path.js","layer":null},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1266,"timestamp":8214904354126,"id":5114,"parentId":5113,"tags":{},"startTime":1725027023985,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1289,"timestamp":8214904354107,"id":5113,"parentId":5110,"tags":{},"startTime":1725027023985,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1724,"timestamp":8214904353968,"id":5110,"parentId":5088,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/amp-mode.js","layer":null},"startTime":1725027023985,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1660,"timestamp":8214904354087,"id":5112,"parentId":5111,"tags":{},"startTime":1725027023985,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1700,"timestamp":8214904354049,"id":5111,"parentId":5109,"tags":{},"startTime":1725027023985,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2412,"timestamp":8214904353892,"id":5109,"parentId":5088,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/side-effect.js","layer":null},"startTime":1725027023985,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":6149,"timestamp":8214904350519,"id":5094,"parentId":5093,"tags":{},"startTime":1725027023981,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6424,"timestamp":8214904350468,"id":5093,"parentId":5071,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-kind.js","layer":null},"startTime":1725027023981,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":6342,"timestamp":8214904350570,"id":5096,"parentId":5095,"tags":{},"startTime":1725027023981,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6646,"timestamp":8214904350546,"id":5095,"parentId":5071,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/pages/module.compiled.js","layer":null},"startTime":1725027023981,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":5156,"timestamp":8214904352191,"id":5106,"parentId":5105,"tags":{},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":5206,"timestamp":8214904352143,"id":5105,"parentId":5101,"tags":{},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":6903,"timestamp":8214904351946,"id":5101,"parentId":5075,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/constants.js","layer":null},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7267,"timestamp":8214904351897,"id":5098,"parentId":5097,"tags":{},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7982,"timestamp":8214904351872,"id":5097,"parentId":5075,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/utils.js","layer":null},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7935,"timestamp":8214904351930,"id":5100,"parentId":5099,"tags":{},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8380,"timestamp":8214904351913,"id":5099,"parentId":5075,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/htmlescape.js","layer":null},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":8259,"timestamp":8214904352101,"id":5104,"parentId":5103,"tags":{},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":8512,"timestamp":8214904352087,"id":5103,"parentId":5075,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/get-page-files.js","layer":null},"startTime":1725027023983,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":4106,"timestamp":8214904356563,"id":5121,"parentId":5120,"tags":{},"startTime":1725027023987,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":4147,"timestamp":8214904356524,"id":5120,"parentId":5119,"tags":{},"startTime":1725027023987,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":4516,"timestamp":8214904356356,"id":5119,"parentId":5088,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/utils/warn-once.js","layer":null},"startTime":1725027023987,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":15,"timestamp":8214904361984,"id":5122,"parentId":5095,"tags":{"name":"next/dist/compiled/next-server/pages.runtime.dev.js","layer":null},"startTime":1725027023993,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":6848,"timestamp":8214904355167,"id":5116,"parentId":5115,"tags":{},"startTime":1725027023986,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7273,"timestamp":8214904355140,"id":5115,"parentId":5075,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/is-error.js","layer":null},"startTime":1725027023986,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":7327,"timestamp":8214904355192,"id":5118,"parentId":5117,"tags":{},"startTime":1725027023986,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":7807,"timestamp":8214904355179,"id":5117,"parentId":5075,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/lib/pretty-bytes.js","layer":null},"startTime":1725027023986,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1387,"timestamp":8214904363844,"id":5125,"parentId":5124,"tags":{},"startTime":1725027023995,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1435,"timestamp":8214904363800,"id":5124,"parentId":5123,"tags":{},"startTime":1725027023995,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1734,"timestamp":8214904363705,"id":5123,"parentId":5101,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/modern-browserslist-target.js","layer":null},"startTime":1725027023995,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":957,"timestamp":8214904365670,"id":5129,"parentId":5128,"tags":{},"startTime":1725027023997,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":997,"timestamp":8214904365633,"id":5128,"parentId":5126,"tags":{},"startTime":1725027023997,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1480,"timestamp":8214904365493,"id":5126,"parentId":5103,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js","layer":null},"startTime":1725027023996,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2549,"timestamp":8214904365711,"id":5131,"parentId":5130,"tags":{},"startTime":1725027023997,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2572,"timestamp":8214904365691,"id":5130,"parentId":5127,"tags":{},"startTime":1725027023997,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3152,"timestamp":8214904365571,"id":5127,"parentId":5103,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js","layer":null},"startTime":1725027023996,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2309,"timestamp":8214904366431,"id":5134,"parentId":5133,"tags":{},"startTime":1725027023997,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2340,"timestamp":8214904366401,"id":5133,"parentId":5132,"tags":{},"startTime":1725027023997,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2688,"timestamp":8214904366328,"id":5132,"parentId":5115,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/is-plain-object.js","layer":null},"startTime":1725027023997,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2833,"timestamp":8214904369312,"id":5136,"parentId":5135,"tags":{},"startTime":1725027024000,"traceId":"c0436940a62f44fd"},{"name":"build-module-cjs","duration":3428,"timestamp":8214904369276,"id":5135,"parentId":5074,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/cjs/_interop_require_default.cjs","layer":null},"startTime":1725027024000,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":80227,"timestamp":8214904292891,"id":5064,"parentId":5061,"tags":{"request":"next/dist/pages/_app"},"startTime":1725027023924,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1811,"timestamp":8214904371535,"id":5139,"parentId":5138,"tags":{},"startTime":1725027024002,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1856,"timestamp":8214904371492,"id":5138,"parentId":5137,"tags":{},"startTime":1725027024002,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2173,"timestamp":8214904371384,"id":5137,"parentId":5126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js","layer":null},"startTime":1725027024002,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":672,"timestamp":8214904373256,"id":5148,"parentId":5147,"tags":{},"startTime":1725027024004,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":709,"timestamp":8214904373223,"id":5147,"parentId":5146,"tags":{},"startTime":1725027024004,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1031,"timestamp":8214904373145,"id":5146,"parentId":5127,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","layer":null},"startTime":1725027024004,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2149,"timestamp":8214904372057,"id":5141,"parentId":5140,"tags":{},"startTime":1725027024003,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2300,"timestamp":8214904372033,"id":5140,"parentId":5075,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js","layer":null},"startTime":1725027024003,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3342,"timestamp":8214904372088,"id":5143,"parentId":5142,"tags":{},"startTime":1725027024003,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3461,"timestamp":8214904372072,"id":5142,"parentId":5088,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js","layer":null},"startTime":1725027024003,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3483,"timestamp":8214904372114,"id":5145,"parentId":5144,"tags":{},"startTime":1725027024003,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3572,"timestamp":8214904372101,"id":5144,"parentId":5088,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js","layer":null},"startTime":1725027024003,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":2622,"timestamp":8214904373673,"id":5150,"parentId":5149,"tags":{},"startTime":1725027024005,"traceId":"c0436940a62f44fd"},{"name":"build-module-cjs","duration":3196,"timestamp":8214904373651,"id":5149,"parentId":5088,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs","layer":null},"startTime":1725027024005,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1964,"timestamp":8214904379158,"id":5153,"parentId":5152,"tags":{},"startTime":1725027024010,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2019,"timestamp":8214904379109,"id":5152,"parentId":5151,"tags":{},"startTime":1725027024010,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":2566,"timestamp":8214904379004,"id":5151,"parentId":5126,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/index.js","layer":null},"startTime":1725027024010,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":857,"timestamp":8214904383151,"id":5159,"parentId":5158,"tags":{},"startTime":1725027024014,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":900,"timestamp":8214904383113,"id":5158,"parentId":5157,"tags":{},"startTime":1725027024014,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1414,"timestamp":8214904383021,"id":5157,"parentId":5151,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","layer":null},"startTime":1725027024014,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2594,"timestamp":8214904382906,"id":5156,"parentId":5155,"tags":{},"startTime":1725027024014,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2642,"timestamp":8214904382861,"id":5155,"parentId":5154,"tags":{},"startTime":1725027024014,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":3972,"timestamp":8214904382754,"id":5154,"parentId":5151,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","layer":null},"startTime":1725027024014,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":292,"timestamp":8214904386799,"id":5161,"parentId":5160,"tags":{},"startTime":1725027024018,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1159,"timestamp":8214904386751,"id":5160,"parentId":5157,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/server/future/helpers/interception-routes.js","layer":null},"startTime":1725027024018,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":1255,"timestamp":8214904388912,"id":5164,"parentId":5163,"tags":{},"startTime":1725027024020,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":1304,"timestamp":8214904388867,"id":5163,"parentId":5162,"tags":{},"startTime":1725027024020,"traceId":"c0436940a62f44fd"}] -[{"name":"build-module-js","duration":2151,"timestamp":8214904388779,"id":5162,"parentId":5160,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/router/utils/app-paths.js","layer":null},"startTime":1725027024020,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":837,"timestamp":8214904392210,"id":5167,"parentId":5166,"tags":{},"startTime":1725027024023,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":880,"timestamp":8214904392171,"id":5166,"parentId":5165,"tags":{},"startTime":1725027024023,"traceId":"c0436940a62f44fd"},{"name":"build-module-js","duration":1353,"timestamp":8214904392085,"id":5165,"parentId":5162,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/shared/lib/segment.js","layer":null},"startTime":1725027024023,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":100562,"timestamp":8214904292947,"id":5066,"parentId":5061,"tags":{"request":"next/dist/pages/_document"},"startTime":1725027023924,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":100574,"timestamp":8214904292939,"id":5065,"parentId":5061,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1725027023924,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":100563,"timestamp":8214904292952,"id":5067,"parentId":5061,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1725027023924,"traceId":"c0436940a62f44fd"},{"name":"make","duration":122044,"timestamp":8214904288831,"id":5061,"parentId":5060,"tags":{},"startTime":1725027023920,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1980,"timestamp":8214904420579,"id":5178,"parentId":5177,"tags":{},"startTime":1725027024051,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":3,"timestamp":8214904422582,"id":5180,"parentId":5177,"tags":{},"startTime":1725027024053,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2111,"timestamp":8214904422600,"id":5181,"parentId":5177,"tags":{},"startTime":1725027024053,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":5,"timestamp":8214904424770,"id":5182,"parentId":5177,"tags":{},"startTime":1725027024056,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":3,"timestamp":8214904424792,"id":5183,"parentId":5177,"tags":{},"startTime":1725027024056,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":4162,"timestamp":8214904422573,"id":5179,"parentId":5177,"tags":{},"startTime":1725027024053,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":802,"timestamp":8214904428486,"id":5184,"parentId":5177,"tags":{},"startTime":1725027024059,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":6293,"timestamp":8214904429342,"id":5185,"parentId":5177,"tags":{},"startTime":1725027024060,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1071,"timestamp":8214904436831,"id":5186,"parentId":5177,"tags":{},"startTime":1725027024068,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":98,"timestamp":8214904437902,"id":5187,"parentId":5177,"tags":{},"startTime":1725027024069,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":210,"timestamp":8214904437992,"id":5188,"parentId":5177,"tags":{},"startTime":1725027024069,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":15568,"timestamp":8214904438207,"id":5189,"parentId":5177,"tags":{},"startTime":1725027024069,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":41932,"timestamp":8214904414885,"id":5177,"parentId":5060,"tags":{},"startTime":1725027024046,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":173520,"timestamp":8214904288596,"id":5060,"parentId":5027,"tags":{"name":"server"},"startTime":1725027023919,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":7274,"timestamp":8214904462175,"id":5190,"parentId":5027,"tags":{},"startTime":1725027024093,"traceId":"c0436940a62f44fd"},{"name":"compile-path","duration":434796,"timestamp":8214904035260,"id":5026,"tags":{"trigger":"/_error","isTurbopack":false},"startTime":1725027023666,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":434799,"timestamp":8214904035394,"id":5027,"parentId":3,"tags":{"trigger":"manual"},"startTime":1725027023666,"traceId":"c0436940a62f44fd"}] -[{"name":"handle-request","duration":4539303,"timestamp":8214900059717,"id":3875,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027019691,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214904599053,"id":5191,"parentId":3875,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"562364416","memory.heapUsed":"335209160","memory.heapTotal":"397656064"},"startTime":1725027024230,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":4543182,"timestamp":8214900057085,"id":3874,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027019688,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214904600283,"id":5192,"parentId":3874,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"562364416","memory.heapUsed":"335860040","memory.heapTotal":"397656064"},"startTime":1725027024231,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":113410,"timestamp":8214904606922,"id":5193,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027024238,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214904720362,"id":5195,"parentId":5193,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"552124416","memory.heapUsed":"339275568","memory.heapTotal":"406536192"},"startTime":1725027024351,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":112397,"timestamp":8214904608121,"id":5194,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027024239,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214904720527,"id":5196,"parentId":5194,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"552124416","memory.heapUsed":"339386376","memory.heapTotal":"406536192"},"startTime":1725027024351,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":15901,"timestamp":8214904725703,"id":5198,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027024357,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214904741633,"id":5199,"parentId":5198,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"552206336","memory.heapUsed":"348751864","memory.heapTotal":"406536192"},"startTime":1725027024373,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":16826,"timestamp":8214904725222,"id":5197,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027024356,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214904742057,"id":5200,"parentId":5197,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"552206336","memory.heapUsed":"348863528","memory.heapTotal":"406536192"},"startTime":1725027024373,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":18637,"timestamp":8214904746240,"id":5201,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027024377,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214904764904,"id":5203,"parentId":5201,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"552370176","memory.heapUsed":"344144864","memory.heapTotal":"406536192"},"startTime":1725027024396,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":18899,"timestamp":8214904746735,"id":5202,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027024378,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214904765646,"id":5204,"parentId":5202,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"552370176","memory.heapUsed":"344254336","memory.heapTotal":"406536192"},"startTime":1725027024397,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":219577,"timestamp":8214904792839,"id":5205,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725027024424,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8214905012538,"id":5207,"parentId":5205,"tags":{"url":"/events/versefest","memory.rss":"515981312","memory.heapUsed":"356338048","memory.heapTotal":"407322624"},"startTime":1725027024643,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":221109,"timestamp":8214904793409,"id":5206,"tags":{"url":"/events/versefest","isTurbopack":false},"startTime":1725027024424,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214905014573,"id":5208,"parentId":5206,"tags":{"url":"/events/versefest","memory.rss":"515981312","memory.heapUsed":"356455824","memory.heapTotal":"407322624"},"startTime":1725027024645,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":15,"timestamp":8214905988148,"id":5209,"parentId":3,"tags":{},"startTime":1725027025619,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":4,"timestamp":8214906005416,"id":5210,"parentId":3,"tags":{},"startTime":1725027025636,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":1,"timestamp":8214906007220,"id":5211,"parentId":3,"tags":{},"startTime":1725027025638,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":18857,"timestamp":8214947640916,"id":5218,"parentId":5215,"tags":{"request":"next/dist/pages/_document"},"startTime":1725027067271,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":20021,"timestamp":8214947640656,"id":5216,"parentId":5215,"tags":{"request":"next/dist/pages/_app"},"startTime":1725027067271,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":43060,"timestamp":8214947640907,"id":5217,"parentId":5215,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1725027067271,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":43059,"timestamp":8214947640923,"id":5219,"parentId":5215,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1725027067271,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":44975,"timestamp":8214947640938,"id":5221,"parentId":5215,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027067271,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":42734,"timestamp":8214947674744,"id":5224,"parentId":5223,"tags":{},"startTime":1725027067305,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":43037,"timestamp":8214947674450,"id":5223,"parentId":5222,"tags":{},"startTime":1725027067305,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":50270,"timestamp":8214947673364,"id":5222,"parentId":5214,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/FAQ.jsx","layer":"rsc"},"startTime":1725027067304,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":86701,"timestamp":8214947640932,"id":5220,"parentId":5215,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027067271,"traceId":"c0436940a62f44fd"},{"name":"make","duration":157852,"timestamp":8214947626597,"id":5215,"parentId":5214,"tags":{},"startTime":1725027067257,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2949,"timestamp":8214947793717,"id":5235,"parentId":5234,"tags":{},"startTime":1725027067424,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":10,"timestamp":8214947796691,"id":5237,"parentId":5234,"tags":{},"startTime":1725027067427,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":5433,"timestamp":8214947796714,"id":5238,"parentId":5234,"tags":{},"startTime":1725027067427,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":15,"timestamp":8214947802183,"id":5239,"parentId":5234,"tags":{},"startTime":1725027067432,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":5,"timestamp":8214947802222,"id":5240,"parentId":5234,"tags":{},"startTime":1725027067432,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":8041,"timestamp":8214947796683,"id":5236,"parentId":5234,"tags":{},"startTime":1725027067427,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":1086,"timestamp":8214947806925,"id":5241,"parentId":5234,"tags":{},"startTime":1725027067437,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":4869,"timestamp":8214947808029,"id":5242,"parentId":5234,"tags":{},"startTime":1725027067438,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":2348,"timestamp":8214947814351,"id":5243,"parentId":5234,"tags":{},"startTime":1725027067444,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":145,"timestamp":8214947816696,"id":5244,"parentId":5234,"tags":{},"startTime":1725027067447,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":396,"timestamp":8214947816832,"id":5245,"parentId":5234,"tags":{},"startTime":1725027067447,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":2438,"timestamp":8214947817234,"id":5246,"parentId":5234,"tags":{},"startTime":1725027067447,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":35079,"timestamp":8214947789123,"id":5234,"parentId":5214,"tags":{},"startTime":1725027067419,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":211952,"timestamp":8214947618959,"id":5214,"parentId":5212,"tags":{"name":"server"},"startTime":1725027067249,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":5458,"timestamp":8214947830971,"id":5247,"parentId":5212,"tags":{},"startTime":1725027067461,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":252688,"timestamp":8214947584212,"id":5212,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725027067214,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":7663,"timestamp":8214947846852,"id":5260,"parentId":5249,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12685,"timestamp":8214947846733,"id":5250,"parentId":5249,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":12637,"timestamp":8214947846799,"id":5252,"parentId":5249,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":14686,"timestamp":8214947846811,"id":5254,"parentId":5249,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":16133,"timestamp":8214947846820,"id":5255,"parentId":5249,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/router.js"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":18160,"timestamp":8214947846829,"id":5256,"parentId":5249,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":18124,"timestamp":8214947846868,"id":5263,"parentId":5249,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":21876,"timestamp":8214947846841,"id":5258,"parentId":5249,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23019,"timestamp":8214947846834,"id":5257,"parentId":5249,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":22998,"timestamp":8214947846858,"id":5261,"parentId":5249,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":23388,"timestamp":8214947846806,"id":5253,"parentId":5249,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":6310,"timestamp":8214947863975,"id":5266,"parentId":5265,"tags":{},"startTime":1725027067494,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":75376,"timestamp":8214947870383,"id":5268,"parentId":5267,"tags":{},"startTime":1725027067501,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":76951,"timestamp":8214947870324,"id":5267,"parentId":5265,"tags":{},"startTime":1725027067500,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":15231,"timestamp":8214947947355,"id":5269,"parentId":5265,"tags":{"astUsed":"true"},"startTime":1725027067577,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":103644,"timestamp":8214947863830,"id":5265,"parentId":5264,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725027067494,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":122097,"timestamp":8214947846863,"id":5262,"parentId":5249,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":118419,"timestamp":8214947855266,"id":5264,"parentId":5248,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725027067485,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":127056,"timestamp":8214947846789,"id":5251,"parentId":5249,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":26,"timestamp":8214947973903,"id":5270,"parentId":5264,"tags":{},"startTime":1725027067604,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":127099,"timestamp":8214947846846,"id":5259,"parentId":5249,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027067477,"traceId":"c0436940a62f44fd"},{"name":"make","duration":135202,"timestamp":8214947838766,"id":5249,"parentId":5248,"tags":{},"startTime":1725027067469,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":3984,"timestamp":8214947982427,"id":5272,"parentId":5271,"tags":{},"startTime":1725027067613,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":9,"timestamp":8214947986466,"id":5274,"parentId":5271,"tags":{},"startTime":1725027067617,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":306,"timestamp":8214947986527,"id":5275,"parentId":5271,"tags":{},"startTime":1725027067617,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":7,"timestamp":8214947986870,"id":5276,"parentId":5271,"tags":{},"startTime":1725027067617,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":4,"timestamp":8214947986899,"id":5277,"parentId":5271,"tags":{},"startTime":1725027067617,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3071,"timestamp":8214947986447,"id":5273,"parentId":5271,"tags":{},"startTime":1725027067617,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":612,"timestamp":8214947991329,"id":5278,"parentId":5271,"tags":{},"startTime":1725027067621,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":4538,"timestamp":8214947991953,"id":5279,"parentId":5271,"tags":{},"startTime":1725027067622,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":12628,"timestamp":8214947998764,"id":5280,"parentId":5271,"tags":{},"startTime":1725027067629,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":257,"timestamp":8214948011390,"id":5281,"parentId":5271,"tags":{},"startTime":1725027067642,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":471,"timestamp":8214948011637,"id":5282,"parentId":5271,"tags":{},"startTime":1725027067642,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":3748,"timestamp":8214948012114,"id":5283,"parentId":5271,"tags":{},"startTime":1725027067642,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":88,"timestamp":8214948017128,"id":5285,"parentId":5248,"tags":{},"startTime":1725027067647,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":178,"timestamp":8214948017042,"id":5284,"parentId":5248,"tags":{},"startTime":1725027067647,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":44099,"timestamp":8214947978142,"id":5271,"parentId":5248,"tags":{},"startTime":1725027067608,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":183798,"timestamp":8214947838492,"id":5248,"parentId":5213,"tags":{"name":"client"},"startTime":1725027067469,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":7004,"timestamp":8214948022326,"id":5286,"parentId":5213,"tags":{},"startTime":1725027067652,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":444675,"timestamp":8214947585949,"id":5213,"parentId":3,"tags":{"trigger":"src/components/FAQ.jsx"},"startTime":1725027067216,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":6,"timestamp":8214948044215,"id":5287,"parentId":3,"tags":{},"startTime":1725027067674,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8214948044405,"id":5288,"parentId":3,"tags":{},"startTime":1725027067675,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":507000,"timestamp":8214947588007,"id":5291,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725027067727,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":511000,"timestamp":8214947588943,"id":5292,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725027067845,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":150122,"timestamp":8214948072137,"id":5290,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027067702,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8214948222288,"id":5293,"parentId":5290,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"353501184","memory.heapUsed":"319959072","memory.heapTotal":"366936064"},"startTime":1725027067852,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":153545,"timestamp":8214948069160,"id":5289,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027067699,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":0,"timestamp":8214948222721,"id":5294,"parentId":5289,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"353501184","memory.heapUsed":"320106256","memory.heapTotal":"366936064"},"startTime":1725027067853,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":249920,"timestamp":8214992044491,"id":5295,"tags":{"url":"/","isTurbopack":false},"startTime":1725027111674,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":2,"timestamp":8214992294676,"id":5296,"parentId":5295,"tags":{"url":"/","memory.rss":"177700864","memory.heapUsed":"320188240","memory.heapTotal":"343949312"},"startTime":1725027111924,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":18,"timestamp":8214992741349,"id":5297,"parentId":3,"tags":{},"startTime":1725027112371,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":2,"timestamp":8214992741544,"id":5298,"parentId":3,"tags":{},"startTime":1725027112371,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":40969,"timestamp":8215031775289,"id":5305,"parentId":5302,"tags":{"request":"next/dist/pages/_document"},"startTime":1725027151404,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":42331,"timestamp":8215031774902,"id":5303,"parentId":5302,"tags":{"request":"next/dist/pages/_app"},"startTime":1725027151404,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":79759,"timestamp":8215031775276,"id":5304,"parentId":5302,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1725027151404,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":82732,"timestamp":8215031775301,"id":5306,"parentId":5302,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027151404,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":50095,"timestamp":8215031842422,"id":5310,"parentId":5309,"tags":{},"startTime":1725027151471,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":50473,"timestamp":8215031842055,"id":5309,"parentId":5308,"tags":{},"startTime":1725027151471,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":55701,"timestamp":8215031840679,"id":5308,"parentId":5301,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx","layer":"rsc"},"startTime":1725027151469,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":199662,"timestamp":8215031775311,"id":5307,"parentId":5302,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027151404,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":11970,"timestamp":8215031984463,"id":5322,"parentId":5321,"tags":{},"startTime":1725027151613,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":12179,"timestamp":8215031984264,"id":5321,"parentId":5320,"tags":{},"startTime":1725027151613,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":18546,"timestamp":8215031983926,"id":5320,"parentId":5301,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx","layer":"ssr"},"startTime":1725027151613,"traceId":"c0436940a62f44fd"},{"name":"make","duration":474873,"timestamp":8215031765985,"id":5302,"parentId":5301,"tags":{},"startTime":1725027151395,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":5026,"timestamp":8215032255219,"id":5324,"parentId":5323,"tags":{},"startTime":1725027151884,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":13,"timestamp":8215032260283,"id":5326,"parentId":5323,"tags":{},"startTime":1725027151889,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":4761,"timestamp":8215032260319,"id":5327,"parentId":5323,"tags":{},"startTime":1725027151889,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":20,"timestamp":8215032265125,"id":5328,"parentId":5323,"tags":{},"startTime":1725027151894,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8215032265179,"id":5329,"parentId":5323,"tags":{},"startTime":1725027151894,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":7581,"timestamp":8215032260270,"id":5325,"parentId":5323,"tags":{},"startTime":1725027151889,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":2159,"timestamp":8215032284506,"id":5330,"parentId":5323,"tags":{},"startTime":1725027151913,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":6454,"timestamp":8215032286699,"id":5331,"parentId":5323,"tags":{},"startTime":1725027151915,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":3027,"timestamp":8215032295398,"id":5332,"parentId":5323,"tags":{},"startTime":1725027151924,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":238,"timestamp":8215032298424,"id":5333,"parentId":5323,"tags":{},"startTime":1725027151927,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":407,"timestamp":8215032298647,"id":5334,"parentId":5323,"tags":{},"startTime":1725027151927,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":3951,"timestamp":8215032299063,"id":5335,"parentId":5323,"tags":{},"startTime":1725027151928,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":59544,"timestamp":8215032250772,"id":5323,"parentId":5301,"tags":{},"startTime":1725027151879,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":553513,"timestamp":8215031764052,"id":5301,"parentId":5299,"tags":{"name":"server"},"startTime":1725027151393,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":8116,"timestamp":8215032317644,"id":5336,"parentId":5299,"tags":{},"startTime":1725027151946,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":582604,"timestamp":8215031743943,"id":5299,"parentId":3,"tags":{"trigger":"src/components/Product.jsx"},"startTime":1725027151373,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":6846,"timestamp":8215032347102,"id":5349,"parentId":5338,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":13989,"timestamp":8215032346812,"id":5339,"parentId":5338,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027151975,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":13897,"timestamp":8215032346922,"id":5341,"parentId":5338,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":17523,"timestamp":8215032346951,"id":5343,"parentId":5338,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":14055,"timestamp":8215032355983,"id":5355,"parentId":5354,"tags":{},"startTime":1725027151985,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":14364,"timestamp":8215032355690,"id":5354,"parentId":5352,"tags":{},"startTime":1725027151984,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":23380,"timestamp":8215032354807,"id":5352,"parentId":5337,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx","layer":"app-pages-browser"},"startTime":1725027151983,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":32730,"timestamp":8215032347049,"id":5345,"parentId":5338,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":36272,"timestamp":8215032347074,"id":5347,"parentId":5338,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":51237,"timestamp":8215032347115,"id":5350,"parentId":5338,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":52006,"timestamp":8215032346965,"id":5344,"parentId":5338,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/router.js"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":52206,"timestamp":8215032346937,"id":5342,"parentId":5338,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":29665,"timestamp":8215032369646,"id":5357,"parentId":5356,"tags":{},"startTime":1725027151998,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":206530,"timestamp":8215032399472,"id":5359,"parentId":5358,"tags":{},"startTime":1725027152028,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":207185,"timestamp":8215032399357,"id":5358,"parentId":5356,"tags":{},"startTime":1725027152028,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":27196,"timestamp":8215032606630,"id":5360,"parentId":5356,"tags":{"astUsed":"true"},"startTime":1725027152235,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":267459,"timestamp":8215032369382,"id":5356,"parentId":5353,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725027151998,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":290669,"timestamp":8215032347127,"id":5351,"parentId":5338,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":291124,"timestamp":8215032346904,"id":5340,"parentId":5338,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":288596,"timestamp":8215032355370,"id":5353,"parentId":5337,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725027151984,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":47,"timestamp":8215032647115,"id":5361,"parentId":5353,"tags":{},"startTime":1725027152276,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":300297,"timestamp":8215032347089,"id":5348,"parentId":5338,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":300363,"timestamp":8215032347062,"id":5346,"parentId":5338,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027151976,"traceId":"c0436940a62f44fd"},{"name":"make","duration":317978,"timestamp":8215032329463,"id":5338,"parentId":5337,"tags":{},"startTime":1725027151958,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":5436,"timestamp":8215032656901,"id":5363,"parentId":5362,"tags":{},"startTime":1725027152286,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":15,"timestamp":8215032662386,"id":5365,"parentId":5362,"tags":{},"startTime":1725027152291,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":147,"timestamp":8215032662585,"id":5366,"parentId":5362,"tags":{},"startTime":1725027152291,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":23,"timestamp":8215032662818,"id":5367,"parentId":5362,"tags":{},"startTime":1725027152291,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":8,"timestamp":8215032662882,"id":5368,"parentId":5362,"tags":{},"startTime":1725027152292,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":3935,"timestamp":8215032662370,"id":5364,"parentId":5362,"tags":{},"startTime":1725027152291,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":748,"timestamp":8215032670475,"id":5369,"parentId":5362,"tags":{},"startTime":1725027152299,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":15416,"timestamp":8215032671242,"id":5370,"parentId":5362,"tags":{},"startTime":1725027152300,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":11505,"timestamp":8215032690556,"id":5371,"parentId":5362,"tags":{},"startTime":1725027152319,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":452,"timestamp":8215032702057,"id":5372,"parentId":5362,"tags":{},"startTime":1725027152331,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":496,"timestamp":8215032702490,"id":5373,"parentId":5362,"tags":{},"startTime":1725027152331,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":20834,"timestamp":8215032702995,"id":5374,"parentId":5362,"tags":{},"startTime":1725027152332,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":398,"timestamp":8215032736793,"id":5376,"parentId":5337,"tags":{},"startTime":1725027152365,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":643,"timestamp":8215032736562,"id":5375,"parentId":5337,"tags":{},"startTime":1725027152365,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":92732,"timestamp":8215032653320,"id":5362,"parentId":5337,"tags":{},"startTime":1725027152282,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":417322,"timestamp":8215032328947,"id":5337,"parentId":5300,"tags":{"name":"client"},"startTime":1725027151958,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":19662,"timestamp":8215032746831,"id":5377,"parentId":5300,"tags":{},"startTime":1725027152376,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":1025565,"timestamp":8215031744787,"id":5300,"parentId":3,"tags":{"trigger":"src/components/Product.jsx"},"startTime":1725027151373,"traceId":"c0436940a62f44fd"}] -[{"name":"client-success","duration":7,"timestamp":8215032802639,"id":5378,"parentId":3,"tags":{},"startTime":1725027152431,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":5,"timestamp":8215032802853,"id":5379,"parentId":3,"tags":{},"startTime":1725027152432,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":1112000,"timestamp":8215031746316,"id":5382,"parentId":3,"tags":{"updatedModules":["[project]/node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!","[project]/src/components/Product.jsx"],"page":"/","isPageHidden":false},"startTime":1725027152489,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":1112000,"timestamp":8215031747630,"id":5383,"parentId":3,"tags":{"updatedModules":["[project]/node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"],"page":"/events/versefest","isPageHidden":true},"startTime":1725027152489,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":178388,"timestamp":8215032810185,"id":5381,"tags":{"url":"/events/versefest?_rsc=13ljy","isTurbopack":false},"startTime":1725027152439,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8215032988605,"id":5384,"parentId":5381,"tags":{"url":"/events/versefest?_rsc=13ljy","memory.rss":"391823360","memory.heapUsed":"314462312","memory.heapTotal":"356319232"},"startTime":1725027152617,"traceId":"c0436940a62f44fd"},{"name":"handle-request","duration":184631,"timestamp":8215032808205,"id":5380,"tags":{"url":"/?_rsc=ft0xn","isTurbopack":false},"startTime":1725027152437,"traceId":"c0436940a62f44fd"},{"name":"memory-usage","duration":1,"timestamp":8215032992883,"id":5385,"parentId":5380,"tags":{"url":"/?_rsc=ft0xn","memory.rss":"391823360","memory.heapUsed":"315229016","memory.heapTotal":"356319232"},"startTime":1725027152622,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":11777,"timestamp":8215037782391,"id":5400,"parentId":5389,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":13169,"timestamp":8215037797033,"id":5406,"parentId":5405,"tags":{},"startTime":1725027157426,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":13632,"timestamp":8215037796577,"id":5405,"parentId":5403,"tags":{},"startTime":1725027157425,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":20272,"timestamp":8215037795031,"id":5403,"parentId":5388,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx","layer":"app-pages-browser"},"startTime":1725027157424,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":33306,"timestamp":8215037782045,"id":5390,"parentId":5389,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":33058,"timestamp":8215037782304,"id":5392,"parentId":5389,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":36520,"timestamp":8215037782323,"id":5394,"parentId":5389,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":41653,"timestamp":8215037782342,"id":5396,"parentId":5389,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":43826,"timestamp":8215037782398,"id":5401,"parentId":5389,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"read-resource","duration":3779,"timestamp":8215037822520,"id":5408,"parentId":5407,"tags":{},"startTime":1725027157451,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":57668,"timestamp":8215037782331,"id":5395,"parentId":5389,"tags":{"request":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/client/router.js"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":59352,"timestamp":8215037782313,"id":5393,"parentId":5389,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":60014,"timestamp":8215037782348,"id":5397,"parentId":5389,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FProduct.jsx%22%2C%22ids%22%3A%5B%22Product%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"postcss-process","duration":82732,"timestamp":8215037826450,"id":5410,"parentId":5409,"tags":{},"startTime":1725027157455,"traceId":"c0436940a62f44fd"},{"name":"postcss-loader","duration":83165,"timestamp":8215037826358,"id":5409,"parentId":5407,"tags":{},"startTime":1725027157455,"traceId":"c0436940a62f44fd"},{"name":"css-loader","duration":15630,"timestamp":8215037909579,"id":5411,"parentId":5407,"tags":{"astUsed":"true"},"startTime":1725027157538,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":104245,"timestamp":8215037822346,"id":5407,"parentId":5404,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css.webpack[javascript/auto]!=!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":null},"startTime":1725027157451,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":144568,"timestamp":8215037782378,"id":5398,"parentId":5389,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"build-module-css","duration":134309,"timestamp":8215037795917,"id":5404,"parentId":5388,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/styles/tailwind.css","layer":"app-pages-browser"},"startTime":1725027157425,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":148042,"timestamp":8215037782288,"id":5391,"parentId":5389,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"build-module","duration":30,"timestamp":8215037930713,"id":5412,"parentId":5404,"tags":{},"startTime":1725027157559,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":148660,"timestamp":8215037782385,"id":5399,"parentId":5389,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.jsx%5C%22%2C%5C%22import%5C%22%3A%5C%22DM_Sans%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22weight%5C%22%3A%5B%5C%22400%5C%22%2C%5C%22500%5C%22%2C%5C%22700%5C%22%5D%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%2C%5C%22variable%5C%22%3A%5C%22--font-dm-sans%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22dmSans%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fstyles%2Ftailwind.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":153640,"timestamp":8215037782406,"id":5402,"parentId":5389,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Fdisclosure%2Fdisclosure.js%22%2C%22ids%22%3A%5B%22*%22%2C%22DisclosureButton%22%2C%22DisclosurePanel%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSchedule.jsx%22%2C%22ids%22%3A%5B%22Schedule%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fcomponents%2FSpeakers.jsx%22%2C%22ids%22%3A%5B%22Speakers%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground-newsletter.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Fbackground.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"},"startTime":1725027157411,"traceId":"c0436940a62f44fd"},{"name":"make","duration":155321,"timestamp":8215037780769,"id":5389,"parentId":5388,"tags":{},"startTime":1725027157409,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":2134,"timestamp":8215037942592,"id":5414,"parentId":5413,"tags":{},"startTime":1725027157571,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":3,"timestamp":8215037944745,"id":5416,"parentId":5413,"tags":{},"startTime":1725027157573,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":60,"timestamp":8215037944766,"id":5417,"parentId":5413,"tags":{},"startTime":1725027157573,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":4,"timestamp":8215037944847,"id":5418,"parentId":5413,"tags":{},"startTime":1725027157573,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":12,"timestamp":8215037944869,"id":5419,"parentId":5413,"tags":{},"startTime":1725027157573,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":1246,"timestamp":8215037944739,"id":5415,"parentId":5413,"tags":{},"startTime":1725027157573,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":551,"timestamp":8215037947591,"id":5420,"parentId":5413,"tags":{},"startTime":1725027157576,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2936,"timestamp":8215037948151,"id":5421,"parentId":5413,"tags":{},"startTime":1725027157577,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":8653,"timestamp":8215037953269,"id":5422,"parentId":5413,"tags":{},"startTime":1725027157582,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":310,"timestamp":8215037961920,"id":5423,"parentId":5413,"tags":{},"startTime":1725027157591,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":284,"timestamp":8215037962215,"id":5424,"parentId":5413,"tags":{},"startTime":1725027157591,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":2900,"timestamp":8215037962504,"id":5425,"parentId":5413,"tags":{},"startTime":1725027157591,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-generateClientManifest","duration":103,"timestamp":8215037973217,"id":5427,"parentId":5388,"tags":{},"startTime":1725027157602,"traceId":"c0436940a62f44fd"},{"name":"NextJsBuildManifest-createassets","duration":210,"timestamp":8215037973117,"id":5426,"parentId":5388,"tags":{},"startTime":1725027157602,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":35561,"timestamp":8215037940013,"id":5413,"parentId":5388,"tags":{},"startTime":1725027157569,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":195817,"timestamp":8215037779792,"id":5388,"parentId":5386,"tags":{"name":"client"},"startTime":1725027157408,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":4282,"timestamp":8215037975636,"id":5428,"parentId":5386,"tags":{},"startTime":1725027157604,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-client","duration":241974,"timestamp":8215037738481,"id":5386,"parentId":3,"tags":{"trigger":"src/components/Product.jsx"},"startTime":1725027157367,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":13,"timestamp":8215037984434,"id":5431,"parentId":3,"tags":{},"startTime":1725027157613,"traceId":"c0436940a62f44fd"},{"name":"client-success","duration":0,"timestamp":8215037984514,"id":5432,"parentId":3,"tags":{},"startTime":1725027157613,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":5942,"timestamp":8215037985719,"id":5433,"parentId":5430,"tags":{"request":"next/dist/pages/_app"},"startTime":1725027157614,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":6089,"timestamp":8215037985905,"id":5435,"parentId":5430,"tags":{"request":"next/dist/pages/_document"},"startTime":1725027157614,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":2053,"timestamp":8215038004467,"id":5440,"parentId":5439,"tags":{},"startTime":1725027157633,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":2175,"timestamp":8215038004353,"id":5439,"parentId":5438,"tags":{},"startTime":1725027157633,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":3545,"timestamp":8215038004054,"id":5438,"parentId":5429,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx","layer":"rsc"},"startTime":1725027157633,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":24697,"timestamp":8215037985813,"id":5434,"parentId":5430,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1725027157614,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":269000,"timestamp":8215037741297,"id":5441,"parentId":3,"tags":{"updatedModules":[],"page":"/","isPageHidden":true},"startTime":1725027157640,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":25914,"timestamp":8215037985929,"id":5437,"parentId":5430,"tags":{"request":"next-app-loader?name=app%2F(main)%2Fpage&page=%2F(main)%2Fpage&appPaths=%2F(main)%2Fpage&pagePath=private-next-app-dir%2F(main)%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027157615,"traceId":"c0436940a62f44fd"},{"name":"add-entry","duration":26063,"timestamp":8215037985920,"id":5436,"parentId":5430,"tags":{"request":"next-app-loader?name=app%2Fevents%2Fversefest%2Fpage&page=%2Fevents%2Fversefest%2Fpage&appPaths=%2Fevents%2Fversefest%2Fpage&pagePath=private-next-app-dir%2Fevents%2Fversefest%2Fpage.jsx&appDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fourverse_new&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1725027157615,"traceId":"c0436940a62f44fd"},{"name":"client-hmr-latency","duration":276000,"timestamp":8215037741424,"id":5454,"parentId":3,"tags":{"updatedModules":[],"page":"/events/versefest","isPageHidden":true},"startTime":1725027157648,"traceId":"c0436940a62f44fd"},{"name":"next-swc-transform","duration":3114,"timestamp":8215038017781,"id":5453,"parentId":5452,"tags":{},"startTime":1725027157646,"traceId":"c0436940a62f44fd"},{"name":"next-swc-loader","duration":3358,"timestamp":8215038017543,"id":5452,"parentId":5451,"tags":{},"startTime":1725027157646,"traceId":"c0436940a62f44fd"},{"name":"build-module-jsx","duration":5210,"timestamp":8215038017325,"id":5451,"parentId":5429,"tags":{"name":"/Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/components/Product.jsx","layer":"ssr"},"startTime":1725027157646,"traceId":"c0436940a62f44fd"},{"name":"make","duration":44533,"timestamp":8215037982579,"id":5430,"parentId":5429,"tags":{},"startTime":1725027157611,"traceId":"c0436940a62f44fd"},{"name":"chunk-graph","duration":1546,"timestamp":8215038039310,"id":5456,"parentId":5455,"tags":{},"startTime":1725027157668,"traceId":"c0436940a62f44fd"},{"name":"optimize-modules","duration":28,"timestamp":8215038040929,"id":5458,"parentId":5455,"tags":{},"startTime":1725027157670,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunks","duration":2855,"timestamp":8215038040978,"id":5459,"parentId":5455,"tags":{},"startTime":1725027157670,"traceId":"c0436940a62f44fd"},{"name":"optimize-tree","duration":9,"timestamp":8215038043889,"id":5460,"parentId":5455,"tags":{},"startTime":1725027157672,"traceId":"c0436940a62f44fd"},{"name":"optimize-chunk-modules","duration":6,"timestamp":8215038043926,"id":5461,"parentId":5455,"tags":{},"startTime":1725027157673,"traceId":"c0436940a62f44fd"},{"name":"optimize","duration":6256,"timestamp":8215038040869,"id":5457,"parentId":5455,"tags":{},"startTime":1725027157669,"traceId":"c0436940a62f44fd"},{"name":"module-hash","duration":424,"timestamp":8215038048713,"id":5462,"parentId":5455,"tags":{},"startTime":1725027157677,"traceId":"c0436940a62f44fd"},{"name":"code-generation","duration":2034,"timestamp":8215038049147,"id":5463,"parentId":5455,"tags":{},"startTime":1725027157678,"traceId":"c0436940a62f44fd"},{"name":"hash","duration":1301,"timestamp":8215038052096,"id":5464,"parentId":5455,"tags":{},"startTime":1725027157681,"traceId":"c0436940a62f44fd"},{"name":"code-generation-jobs","duration":106,"timestamp":8215038053396,"id":5465,"parentId":5455,"tags":{},"startTime":1725027157682,"traceId":"c0436940a62f44fd"},{"name":"module-assets","duration":227,"timestamp":8215038053492,"id":5466,"parentId":5455,"tags":{},"startTime":1725027157682,"traceId":"c0436940a62f44fd"},{"name":"create-chunk-assets","duration":212,"timestamp":8215038053726,"id":5467,"parentId":5455,"tags":{},"startTime":1725027157682,"traceId":"c0436940a62f44fd"},{"name":"seal","duration":20597,"timestamp":8215038036788,"id":5455,"parentId":5429,"tags":{},"startTime":1725027157665,"traceId":"c0436940a62f44fd"},{"name":"webpack-compilation","duration":83000,"timestamp":8215037982349,"id":5429,"parentId":5387,"tags":{"name":"server"},"startTime":1725027157611,"traceId":"c0436940a62f44fd"},{"name":"emit","duration":3481,"timestamp":8215038065425,"id":5468,"parentId":5387,"tags":{},"startTime":1725027157694,"traceId":"c0436940a62f44fd"},{"name":"webpack-invalidated-server","duration":328976,"timestamp":8215037741685,"id":5387,"parentId":3,"tags":{"trigger":"src/components/Product.jsx"},"startTime":1725027157370,"traceId":"c0436940a62f44fd"}] +[{"name":"hot-reloader","duration":42,"timestamp":271254787242,"id":3,"tags":{"version":"14.2.11","isTurbopack":false},"startTime":1726500435042,"traceId":"4bf64b26866748c9"},{"name":"start","duration":1,"timestamp":271254787919,"id":4,"parentId":3,"tags":{},"startTime":1726500435042,"traceId":"4bf64b26866748c9"},{"name":"get-version-info","duration":342990,"timestamp":271254788029,"id":5,"parentId":4,"tags":{},"startTime":1726500435043,"traceId":"4bf64b26866748c9"},{"name":"clean","duration":2354,"timestamp":271255131087,"id":6,"parentId":4,"tags":{},"startTime":1726500435386,"traceId":"4bf64b26866748c9"},{"name":"create-pages-mapping","duration":173,"timestamp":271255134712,"id":8,"parentId":7,"tags":{},"startTime":1726500435389,"traceId":"4bf64b26866748c9"},{"name":"create-entrypoints","duration":22381,"timestamp":271255134907,"id":9,"parentId":7,"tags":{},"startTime":1726500435389,"traceId":"4bf64b26866748c9"},{"name":"generate-webpack-config","duration":97737,"timestamp":271255157332,"id":10,"parentId":7,"tags":{},"startTime":1726500435412,"traceId":"4bf64b26866748c9"},{"name":"get-webpack-config","duration":120454,"timestamp":271255134632,"id":7,"parentId":4,"tags":{},"startTime":1726500435389,"traceId":"4bf64b26866748c9"},{"name":"make","duration":1038,"timestamp":271255322973,"id":12,"parentId":11,"tags":{},"startTime":1726500435577,"traceId":"4bf64b26866748c9"},{"name":"chunk-graph","duration":570,"timestamp":271255326221,"id":14,"parentId":13,"tags":{},"startTime":1726500435581,"traceId":"4bf64b26866748c9"},{"name":"optimize-modules","duration":17,"timestamp":271255326887,"id":16,"parentId":13,"tags":{},"startTime":1726500435581,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunks","duration":175,"timestamp":271255327069,"id":17,"parentId":13,"tags":{},"startTime":1726500435582,"traceId":"4bf64b26866748c9"},{"name":"optimize-tree","duration":90,"timestamp":271255327289,"id":18,"parentId":13,"tags":{},"startTime":1726500435582,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunk-modules","duration":105,"timestamp":271255327524,"id":19,"parentId":13,"tags":{},"startTime":1726500435582,"traceId":"4bf64b26866748c9"},{"name":"optimize","duration":891,"timestamp":271255326847,"id":15,"parentId":13,"tags":{},"startTime":1726500435581,"traceId":"4bf64b26866748c9"},{"name":"module-hash","duration":70,"timestamp":271255328381,"id":20,"parentId":13,"tags":{},"startTime":1726500435583,"traceId":"4bf64b26866748c9"},{"name":"code-generation","duration":177,"timestamp":271255328472,"id":21,"parentId":13,"tags":{},"startTime":1726500435583,"traceId":"4bf64b26866748c9"},{"name":"hash","duration":440,"timestamp":271255328860,"id":22,"parentId":13,"tags":{},"startTime":1726500435583,"traceId":"4bf64b26866748c9"},{"name":"code-generation-jobs","duration":112,"timestamp":271255329297,"id":23,"parentId":13,"tags":{},"startTime":1726500435584,"traceId":"4bf64b26866748c9"},{"name":"module-assets","duration":59,"timestamp":271255329390,"id":24,"parentId":13,"tags":{},"startTime":1726500435584,"traceId":"4bf64b26866748c9"},{"name":"create-chunk-assets","duration":165,"timestamp":271255329455,"id":25,"parentId":13,"tags":{},"startTime":1726500435584,"traceId":"4bf64b26866748c9"},{"name":"NextJsBuildManifest-generateClientManifest","duration":722,"timestamp":271255364300,"id":27,"parentId":11,"tags":{},"startTime":1726500435619,"traceId":"4bf64b26866748c9"},{"name":"NextJsBuildManifest-createassets","duration":1097,"timestamp":271255363940,"id":26,"parentId":11,"tags":{},"startTime":1726500435618,"traceId":"4bf64b26866748c9"},{"name":"seal","duration":40081,"timestamp":271255325984,"id":13,"parentId":11,"tags":{},"startTime":1726500435580,"traceId":"4bf64b26866748c9"},{"name":"webpack-compilation","duration":48802,"timestamp":271255317490,"id":11,"parentId":3,"tags":{"name":"client"},"startTime":1726500435572,"traceId":"4bf64b26866748c9"},{"name":"emit","duration":6779,"timestamp":271255366600,"id":28,"parentId":3,"tags":{},"startTime":1726500435621,"traceId":"4bf64b26866748c9"},{"name":"make","duration":1061,"timestamp":271255381893,"id":30,"parentId":29,"tags":{},"startTime":1726500435636,"traceId":"4bf64b26866748c9"},{"name":"chunk-graph","duration":20,"timestamp":271255383267,"id":32,"parentId":31,"tags":{},"startTime":1726500435638,"traceId":"4bf64b26866748c9"},{"name":"optimize-modules","duration":3,"timestamp":271255383304,"id":34,"parentId":31,"tags":{},"startTime":1726500435638,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunks","duration":640,"timestamp":271255383356,"id":35,"parentId":31,"tags":{},"startTime":1726500435638,"traceId":"4bf64b26866748c9"},{"name":"optimize-tree","duration":6,"timestamp":271255384028,"id":36,"parentId":31,"tags":{},"startTime":1726500435639,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunk-modules","duration":6,"timestamp":271255384080,"id":37,"parentId":31,"tags":{},"startTime":1726500435639,"traceId":"4bf64b26866748c9"},{"name":"optimize","duration":830,"timestamp":271255383299,"id":33,"parentId":31,"tags":{},"startTime":1726500435638,"traceId":"4bf64b26866748c9"},{"name":"module-hash","duration":7,"timestamp":271255384225,"id":38,"parentId":31,"tags":{},"startTime":1726500435639,"traceId":"4bf64b26866748c9"},{"name":"code-generation","duration":5,"timestamp":271255384239,"id":39,"parentId":31,"tags":{},"startTime":1726500435639,"traceId":"4bf64b26866748c9"},{"name":"hash","duration":46,"timestamp":271255384275,"id":40,"parentId":31,"tags":{},"startTime":1726500435639,"traceId":"4bf64b26866748c9"},{"name":"code-generation-jobs","duration":33,"timestamp":271255384321,"id":41,"parentId":31,"tags":{},"startTime":1726500435639,"traceId":"4bf64b26866748c9"},{"name":"module-assets","duration":12,"timestamp":271255384347,"id":42,"parentId":31,"tags":{},"startTime":1726500435639,"traceId":"4bf64b26866748c9"},{"name":"create-chunk-assets","duration":18,"timestamp":271255384365,"id":43,"parentId":31,"tags":{},"startTime":1726500435639,"traceId":"4bf64b26866748c9"},{"name":"seal","duration":1826,"timestamp":271255383239,"id":31,"parentId":29,"tags":{},"startTime":1726500435638,"traceId":"4bf64b26866748c9"},{"name":"webpack-compilation","duration":4166,"timestamp":271255381018,"id":29,"parentId":3,"tags":{"name":"server"},"startTime":1726500435636,"traceId":"4bf64b26866748c9"},{"name":"emit","duration":990,"timestamp":271255385234,"id":44,"parentId":3,"tags":{},"startTime":1726500435640,"traceId":"4bf64b26866748c9"},{"name":"make","duration":120,"timestamp":271255390292,"id":46,"parentId":45,"tags":{},"startTime":1726500435645,"traceId":"4bf64b26866748c9"},{"name":"chunk-graph","duration":19,"timestamp":271255390818,"id":48,"parentId":47,"tags":{},"startTime":1726500435645,"traceId":"4bf64b26866748c9"},{"name":"optimize-modules","duration":3,"timestamp":271255390851,"id":50,"parentId":47,"tags":{},"startTime":1726500435645,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunks","duration":8,"timestamp":271255390899,"id":51,"parentId":47,"tags":{},"startTime":1726500435645,"traceId":"4bf64b26866748c9"},{"name":"optimize-tree","duration":4,"timestamp":271255390917,"id":52,"parentId":47,"tags":{},"startTime":1726500435645,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunk-modules","duration":4,"timestamp":271255390934,"id":53,"parentId":47,"tags":{},"startTime":1726500435645,"traceId":"4bf64b26866748c9"},{"name":"optimize","duration":105,"timestamp":271255390846,"id":49,"parentId":47,"tags":{},"startTime":1726500435645,"traceId":"4bf64b26866748c9"},{"name":"module-hash","duration":7,"timestamp":271255391030,"id":54,"parentId":47,"tags":{},"startTime":1726500435646,"traceId":"4bf64b26866748c9"},{"name":"code-generation","duration":5,"timestamp":271255391044,"id":55,"parentId":47,"tags":{},"startTime":1726500435646,"traceId":"4bf64b26866748c9"},{"name":"hash","duration":54,"timestamp":271255391075,"id":56,"parentId":47,"tags":{},"startTime":1726500435646,"traceId":"4bf64b26866748c9"},{"name":"code-generation-jobs","duration":13,"timestamp":271255391129,"id":57,"parentId":47,"tags":{},"startTime":1726500435646,"traceId":"4bf64b26866748c9"},{"name":"module-assets","duration":6,"timestamp":271255391138,"id":58,"parentId":47,"tags":{},"startTime":1726500435646,"traceId":"4bf64b26866748c9"},{"name":"create-chunk-assets","duration":9,"timestamp":271255391149,"id":59,"parentId":47,"tags":{},"startTime":1726500435646,"traceId":"4bf64b26866748c9"},{"name":"seal","duration":806,"timestamp":271255390794,"id":47,"parentId":45,"tags":{},"startTime":1726500435645,"traceId":"4bf64b26866748c9"},{"name":"webpack-compilation","duration":2645,"timestamp":271255388985,"id":45,"parentId":3,"tags":{"name":"edge-server"},"startTime":1726500435643,"traceId":"4bf64b26866748c9"},{"name":"emit","duration":1078,"timestamp":271255391659,"id":60,"parentId":3,"tags":{},"startTime":1726500435646,"traceId":"4bf64b26866748c9"}] +[{"name":"make","duration":303,"timestamp":271255611558,"id":65,"parentId":64,"tags":{},"startTime":1726500435866,"traceId":"4bf64b26866748c9"},{"name":"chunk-graph","duration":20,"timestamp":271255611992,"id":67,"parentId":66,"tags":{},"startTime":1726500435866,"traceId":"4bf64b26866748c9"},{"name":"optimize-modules","duration":3,"timestamp":271255612025,"id":69,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunks","duration":7,"timestamp":271255612041,"id":70,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"optimize-tree","duration":5,"timestamp":271255612058,"id":71,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunk-modules","duration":4,"timestamp":271255612077,"id":72,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"optimize","duration":82,"timestamp":271255612021,"id":68,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"module-hash","duration":7,"timestamp":271255612179,"id":73,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"code-generation","duration":5,"timestamp":271255612192,"id":74,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"hash","duration":41,"timestamp":271255612224,"id":75,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"code-generation-jobs","duration":14,"timestamp":271255612265,"id":76,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"module-assets","duration":6,"timestamp":271255612275,"id":77,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"create-chunk-assets","duration":10,"timestamp":271255612285,"id":78,"parentId":66,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"NextJsBuildManifest-generateClientManifest","duration":244,"timestamp":271255612633,"id":80,"parentId":64,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"NextJsBuildManifest-createassets","duration":374,"timestamp":271255612507,"id":79,"parentId":64,"tags":{},"startTime":1726500435867,"traceId":"4bf64b26866748c9"},{"name":"seal","duration":1032,"timestamp":271255611966,"id":66,"parentId":64,"tags":{},"startTime":1726500435866,"traceId":"4bf64b26866748c9"},{"name":"webpack-compilation","duration":2213,"timestamp":271255610898,"id":64,"parentId":61,"tags":{"name":"client"},"startTime":1726500435865,"traceId":"4bf64b26866748c9"},{"name":"setup-dev-bundler","duration":871293,"timestamp":271254780846,"id":2,"parentId":1,"tags":{},"startTime":1726500435035,"traceId":"4bf64b26866748c9"},{"name":"emit","duration":39817,"timestamp":271255613130,"id":81,"parentId":61,"tags":{},"startTime":1726500435868,"traceId":"4bf64b26866748c9"},{"name":"webpack-invalidated-client","duration":46118,"timestamp":271255607650,"id":61,"parentId":3,"tags":{"trigger":"manual"},"startTime":1726500435862,"traceId":"4bf64b26866748c9"},{"name":"make","duration":255,"timestamp":271255655518,"id":83,"parentId":82,"tags":{},"startTime":1726500435910,"traceId":"4bf64b26866748c9"},{"name":"chunk-graph","duration":26,"timestamp":271255655897,"id":85,"parentId":84,"tags":{},"startTime":1726500435910,"traceId":"4bf64b26866748c9"},{"name":"optimize-modules","duration":4,"timestamp":271255655937,"id":87,"parentId":84,"tags":{},"startTime":1726500435910,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunks","duration":135,"timestamp":271255655998,"id":88,"parentId":84,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"optimize-tree","duration":4,"timestamp":271255656144,"id":89,"parentId":84,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunk-modules","duration":4,"timestamp":271255656166,"id":90,"parentId":84,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"optimize","duration":257,"timestamp":271255655932,"id":86,"parentId":84,"tags":{},"startTime":1726500435910,"traceId":"4bf64b26866748c9"},{"name":"module-hash","duration":7,"timestamp":271255656417,"id":91,"parentId":84,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"code-generation","duration":5,"timestamp":271255656431,"id":92,"parentId":84,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"hash","duration":55,"timestamp":271255656465,"id":93,"parentId":84,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"code-generation-jobs","duration":14,"timestamp":271255656520,"id":94,"parentId":84,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"module-assets","duration":6,"timestamp":271255656529,"id":95,"parentId":84,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"create-chunk-assets","duration":13,"timestamp":271255656539,"id":96,"parentId":84,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"seal","duration":1015,"timestamp":271255655873,"id":84,"parentId":82,"tags":{},"startTime":1726500435910,"traceId":"4bf64b26866748c9"},{"name":"webpack-compilation","duration":1981,"timestamp":271255654939,"id":82,"parentId":62,"tags":{"name":"server"},"startTime":1726500435909,"traceId":"4bf64b26866748c9"},{"name":"run-instrumentation-hook","duration":42,"timestamp":271255679592,"id":98,"parentId":1,"tags":{},"startTime":1726500435934,"traceId":"4bf64b26866748c9"},{"name":"start-dev-server","duration":1255943,"timestamp":271254430267,"id":1,"tags":{"cpus":"8","platform":"darwin","memory.freeMem":"201752576","memory.totalMem":"8589934592","memory.heapSizeLimit":"4345298944","isTurbopack":false,"memory.rss":"182173696","memory.heapTotal":"84525056","memory.heapUsed":"59323336"},"startTime":1726500434685,"traceId":"4bf64b26866748c9"},{"name":"emit","duration":30358,"timestamp":271255656938,"id":97,"parentId":62,"tags":{},"startTime":1726500435911,"traceId":"4bf64b26866748c9"},{"name":"webpack-invalidated-server","duration":80097,"timestamp":271255607789,"id":62,"parentId":3,"tags":{"trigger":"manual"},"startTime":1726500435862,"traceId":"4bf64b26866748c9"},{"name":"make","duration":224,"timestamp":271255689795,"id":100,"parentId":99,"tags":{},"startTime":1726500435944,"traceId":"4bf64b26866748c9"},{"name":"chunk-graph","duration":21,"timestamp":271255690249,"id":102,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"optimize-modules","duration":4,"timestamp":271255690286,"id":104,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunks","duration":10,"timestamp":271255690305,"id":105,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"optimize-tree","duration":6,"timestamp":271255690345,"id":106,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"optimize-chunk-modules","duration":6,"timestamp":271255690369,"id":107,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"optimize","duration":111,"timestamp":271255690279,"id":103,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"module-hash","duration":6,"timestamp":271255690468,"id":108,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"code-generation","duration":6,"timestamp":271255690481,"id":109,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"hash","duration":43,"timestamp":271255690511,"id":110,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"code-generation-jobs","duration":14,"timestamp":271255690554,"id":111,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"module-assets","duration":6,"timestamp":271255690564,"id":112,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"create-chunk-assets","duration":11,"timestamp":271255690574,"id":113,"parentId":101,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"seal","duration":657,"timestamp":271255690221,"id":101,"parentId":99,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"webpack-compilation","duration":1777,"timestamp":271255689126,"id":99,"parentId":63,"tags":{"name":"edge-server"},"startTime":1726500435944,"traceId":"4bf64b26866748c9"},{"name":"emit","duration":1981,"timestamp":271255690918,"id":114,"parentId":63,"tags":{},"startTime":1726500435945,"traceId":"4bf64b26866748c9"},{"name":"webpack-invalidated-edge-server","duration":85869,"timestamp":271255607816,"id":63,"parentId":3,"tags":{"trigger":"manual"},"startTime":1726500435862,"traceId":"4bf64b26866748c9"}] diff --git a/.next/types/app/(main)/layout.ts b/.next/types/app/(main)/layout.ts deleted file mode 100644 index 6dfc159..0000000 --- a/.next/types/app/(main)/layout.ts +++ /dev/null @@ -1,79 +0,0 @@ -// File: /Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/layout.jsx -import * as entry from '../../../../src/app/(main)/layout.js' -import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' - -type TEntry = typeof import('../../../../src/app/(main)/layout.js') - -// Check that the entry is a valid entry -checkFields<Diff<{ - default: Function - config?: {} - generateStaticParams?: Function - revalidate?: RevalidateRange<TEntry> | false - dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' - dynamicParams?: boolean - fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' - preferredRegion?: 'auto' | 'global' | 'home' | string | string[] - runtime?: 'nodejs' | 'experimental-edge' | 'edge' - maxDuration?: number - - metadata?: any - generateMetadata?: Function - viewport?: any - generateViewport?: Function - -}, TEntry, ''>>() - -// Check the prop type of the entry function -checkFields<Diff<LayoutProps, FirstArg<TEntry['default']>, 'default'>>() - -// Check the arguments and return type of the generateMetadata function -if ('generateMetadata' in entry) { - checkFields<Diff<LayoutProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>() - checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>() -} - -// Check the arguments and return type of the generateViewport function -if ('generateViewport' in entry) { - checkFields<Diff<LayoutProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>() - checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>() -} - -// Check the arguments and return type of the generateStaticParams function -if ('generateStaticParams' in entry) { - checkFields<Diff<{ params: PageParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>() - checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>() -} - -type PageParams = any -export interface PageProps { - params?: any - searchParams?: any -} -export interface LayoutProps { - children?: React.ReactNode - - params?: any -} - -// ============= -// Utility types -type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never - -// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>. -type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K> -type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message> - -type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never -type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never -type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never - - - -function checkFields<_ extends { [k in keyof any]: never }>() {} - -// https://github.com/sindresorhus/type-fest -type Numeric = number | bigint -type Zero = 0 | 0n -type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never -type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__' diff --git a/.next/types/app/(main)/page.ts b/.next/types/app/(main)/page.ts deleted file mode 100644 index de721db..0000000 --- a/.next/types/app/(main)/page.ts +++ /dev/null @@ -1,79 +0,0 @@ -// File: /Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/(main)/page.jsx -import * as entry from '../../../../src/app/(main)/page.js' -import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' - -type TEntry = typeof import('../../../../src/app/(main)/page.js') - -// Check that the entry is a valid entry -checkFields<Diff<{ - default: Function - config?: {} - generateStaticParams?: Function - revalidate?: RevalidateRange<TEntry> | false - dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' - dynamicParams?: boolean - fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' - preferredRegion?: 'auto' | 'global' | 'home' | string | string[] - runtime?: 'nodejs' | 'experimental-edge' | 'edge' - maxDuration?: number - - metadata?: any - generateMetadata?: Function - viewport?: any - generateViewport?: Function - -}, TEntry, ''>>() - -// Check the prop type of the entry function -checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>() - -// Check the arguments and return type of the generateMetadata function -if ('generateMetadata' in entry) { - checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>() - checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>() -} - -// Check the arguments and return type of the generateViewport function -if ('generateViewport' in entry) { - checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>() - checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>() -} - -// Check the arguments and return type of the generateStaticParams function -if ('generateStaticParams' in entry) { - checkFields<Diff<{ params: PageParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>() - checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>() -} - -type PageParams = any -export interface PageProps { - params?: any - searchParams?: any -} -export interface LayoutProps { - children?: React.ReactNode - - params?: any -} - -// ============= -// Utility types -type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never - -// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>. -type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K> -type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message> - -type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never -type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never -type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never - - - -function checkFields<_ extends { [k in keyof any]: never }>() {} - -// https://github.com/sindresorhus/type-fest -type Numeric = number | bigint -type Zero = 0 | 0n -type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never -type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__' diff --git a/.next/types/app/events/versefest/page.ts b/.next/types/app/events/versefest/page.ts deleted file mode 100644 index 5d51f90..0000000 --- a/.next/types/app/events/versefest/page.ts +++ /dev/null @@ -1,79 +0,0 @@ -// File: /Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/events/versefest/page.jsx -import * as entry from '../../../../../src/app/events/versefest/page.js' -import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' - -type TEntry = typeof import('../../../../../src/app/events/versefest/page.js') - -// Check that the entry is a valid entry -checkFields<Diff<{ - default: Function - config?: {} - generateStaticParams?: Function - revalidate?: RevalidateRange<TEntry> | false - dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' - dynamicParams?: boolean - fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' - preferredRegion?: 'auto' | 'global' | 'home' | string | string[] - runtime?: 'nodejs' | 'experimental-edge' | 'edge' - maxDuration?: number - - metadata?: any - generateMetadata?: Function - viewport?: any - generateViewport?: Function - -}, TEntry, ''>>() - -// Check the prop type of the entry function -checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>() - -// Check the arguments and return type of the generateMetadata function -if ('generateMetadata' in entry) { - checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>() - checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>() -} - -// Check the arguments and return type of the generateViewport function -if ('generateViewport' in entry) { - checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>() - checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>() -} - -// Check the arguments and return type of the generateStaticParams function -if ('generateStaticParams' in entry) { - checkFields<Diff<{ params: PageParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>() - checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>() -} - -type PageParams = any -export interface PageProps { - params?: any - searchParams?: any -} -export interface LayoutProps { - children?: React.ReactNode - - params?: any -} - -// ============= -// Utility types -type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never - -// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>. -type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K> -type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message> - -type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never -type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never -type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never - - - -function checkFields<_ extends { [k in keyof any]: never }>() {} - -// https://github.com/sindresorhus/type-fest -type Numeric = number | bigint -type Zero = 0 | 0n -type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never -type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__' diff --git a/.next/types/app/layout.ts b/.next/types/app/layout.ts deleted file mode 100644 index b42e312..0000000 --- a/.next/types/app/layout.ts +++ /dev/null @@ -1,79 +0,0 @@ -// File: /Users/sashaastiadi/code/git.ourworld.tf/ourverse_new/src/app/layout.jsx -import * as entry from '../../../src/app/layout.js' -import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' - -type TEntry = typeof import('../../../src/app/layout.js') - -// Check that the entry is a valid entry -checkFields<Diff<{ - default: Function - config?: {} - generateStaticParams?: Function - revalidate?: RevalidateRange<TEntry> | false - dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' - dynamicParams?: boolean - fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' - preferredRegion?: 'auto' | 'global' | 'home' | string | string[] - runtime?: 'nodejs' | 'experimental-edge' | 'edge' - maxDuration?: number - - metadata?: any - generateMetadata?: Function - viewport?: any - generateViewport?: Function - -}, TEntry, ''>>() - -// Check the prop type of the entry function -checkFields<Diff<LayoutProps, FirstArg<TEntry['default']>, 'default'>>() - -// Check the arguments and return type of the generateMetadata function -if ('generateMetadata' in entry) { - checkFields<Diff<LayoutProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>() - checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>() -} - -// Check the arguments and return type of the generateViewport function -if ('generateViewport' in entry) { - checkFields<Diff<LayoutProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>() - checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>() -} - -// Check the arguments and return type of the generateStaticParams function -if ('generateStaticParams' in entry) { - checkFields<Diff<{ params: PageParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>() - checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>() -} - -type PageParams = any -export interface PageProps { - params?: any - searchParams?: any -} -export interface LayoutProps { - children?: React.ReactNode - - params?: any -} - -// ============= -// Utility types -type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never - -// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>. -type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K> -type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message> - -type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never -type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never -type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never - - - -function checkFields<_ extends { [k in keyof any]: never }>() {} - -// https://github.com/sindresorhus/type-fest -type Numeric = number | bigint -type Zero = 0 | 0n -type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never -type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'